ZGlmZiAtLWdpdCBhL0FCSS1idWdzLnR4dCBiL0FCSS1idWdzLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFkYTlmMC4uMDAwMDAwMAotLS0gYS9BQkktYnVncy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1LTk9XTiBBQkkgQlVHUwotLS0tLS0tLS0tLS0tLS0KLQotICB0aW1lX3QgaXMgMzItYml0LiBodHRwOi8vYi81ODE5NzM3Ci0KLSAgb2ZmX3QgaXMgMzItYml0LiBUaGVyZSBpcyBvZmY2NF90LCBidXQgbm8gX0ZJTEVfT0ZGU0VUX0JJVFMgc3VwcG9ydC4KLQotICBzaWdzZXRfdCBpcyB0b28gc21hbGwgb24gQVJNIGFuZCB4ODYgKGJ1dCBjb3JyZWN0IG9uIE1JUFMpLCBzbyBzdXBwb3J0Ci0gIGZvciByZWFsLXRpbWUgc2lnbmFscyBpcyBicm9rZW4uIGh0dHA6Ly9iLzU4Mjg4OTkKLQotICBhdGV4aXQoMykgaGFuZGxlcnMgcmVnaXN0ZXJlZCBieSBhIHNoYXJlZCBsaWJyYXJ5IGFyZW4ndCBjYWxsZWQgb24KLSAgZGxjbG9zZSgzKTsgdGhpcyBvbmx5IGFmZmVjdHMgQVJNLiBodHRwOi8vYi80OTk4MzE1CmRpZmYgLS1naXQgYS9DUFBMSU5ULmNmZyBiL0NQUExJTlQuY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MGQ3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9DUFBMSU5ULmNmZwpAQCAtMCwwICsxLDIgQEAKK3NldCBub3BhcmVudAorZmlsdGVyPS1idWlsZC9oZWFkZXJfZ3VhcmQsLXJ1bnRpbWUvaW50LC1yZWFkYWJpbGl0eS9mdW5jdGlvbgpkaWZmIC0tZ2l0IGEvSEFDS0lORy50eHQgYi9IQUNLSU5HLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdlMTM2OC4uMDAwMDAwMAotLS0gYS9IQUNLSU5HLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2MiArMCwwIEBACi1Xb3JraW5nIG9uIGJpb25pYwotPT09PT09PT09PT09PT09PT0KLQotV2hhdCBhcmUgdGhlIGJpZyBwaWVjZXMgb2YgYmlvbmljPwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1saWJjLyAtLS0gbGliYy5zbywgbGliYy5hCi0gIFRoZSBDIGxpYnJhcnkuIFN0dWZmIGxpa2UgZm9wZW4oMykgYW5kIGtpbGwoMikuCi1saWJtLyAtLS0gbGlibS5zbywgbGlibS5hCi0gIFRoZSBtYXRoIGxpYnJhcnkuIFRyYWRpdGlvbmFsbHkgVW5peCBzeXN0ZW1zIGtlcHQgc3R1ZmYgbGlrZSBzaW4oMykgYW5kCi0gIGNvcygzKSBpbiBhIHNlcGFyYXRlIGxpYnJhcnkgdG8gc2F2ZSBzcGFjZSBpbiB0aGUgZGF5cyBiZWZvcmUgc2hhcmVkCi0gIGxpYnJhcmllcy4KLWxpYmRsLyAtLS0gbGliZGwuc28KLSAgVGhlIGR5bmFtaWMgbGlua2VyIGludGVyZmFjZSBsaWJyYXJ5LiBUaGlzIGlzIGFjdHVhbGx5IGp1c3QgYSBidW5jaCBvZgotICBzdHVicyB0aGF0IHRoZSBkeW5hbWljIGxpbmtlciByZXBsYWNlcyB3aXRoIHBvaW50ZXJzIHRvIGl0cyBvd24KLSAgaW1wbGVtZW50YXRpb24gYXQgcnVudGltZS4gVGhpcyBpcyB3aGVyZSBzdHVmZiBsaWtlIGRsb3BlbigzKSBsaXZlcy4KLWxpYnN0ZGMrKy8gLS0tIGxpYnN0ZGMrKy5zbwotICBUaGUgQysrIEFCSSBzdXBwb3J0IGZ1bmN0aW9ucy4gVGhlIEMrKyBjb21waWxlciBkb2Vzbid0IGtub3cgaG93IHRvCi0gIGltcGxlbWVudCB0aHJlYWQtc2FmZSBzdGF0aWMgaW5pdGlhbGl6YXRpb24gYW5kIHRoZSBsaWtlLCBzbyBpdCBqdXN0IGNhbGxzCi0gIGZ1bmN0aW9ucyB0aGF0IGFyZSBzdXBwbGllZCBieSB0aGUgc3lzdGVtLiBTdHVmZiBsaWtlIF9fY3hhX2d1YXJkX2FjcXVpcmUKLSAgYW5kIF9fY3hhX3B1cmVfdmlydHVhbCBsaXZlIGhlcmUuCi0KLWxpbmtlci8gLS0tIC9zeXN0ZW0vYmluL2xpbmtlciBhbmQgL3N5c3RlbS9iaW4vbGlua2VyNjQKLSAgVGhlIGR5bmFtaWMgbGlua2VyLiBXaGVuIHlvdSBydW4gYSBkeW5hbWljYWxseS1saW5rZWQgZXhlY3V0YWJsZSwgaXRzIEVMRgotICBmaWxlIGhhcyBhIERUX0lOVEVSUCBlbnRyeSB0aGF0IHNheXMgInVzZSB0aGUgZm9sbG93aW5nIHByb2dyYW0gdG8gc3RhcnQgbWUiLgotICBPbiBBbmRyb2lkLCB0aGF0J3MgZWl0aGVyIGxpbmtlciBvciBsaW5rZXI2NCAoZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQncyBhCi0gIDMyLWJpdCBvciA2NC1iaXQgZXhlY3V0YWJsZSkuIEl0J3MgcmVzcG9uc2libGUgZm9yIGxvYWRpbmcgdGhlIEVMRiBleGVjdXRhYmxlCi0gIGludG8gbWVtb3J5IGFuZCByZXNvbHZpbmcgcmVmZXJlbmNlcyB0byBzeW1ib2xzIChzbyB0aGF0IHdoZW4geW91ciBjb2RlIHRyaWVzCi0gIHRvIGp1bXAgdG8gZm9wZW4oMyksIHNheSwgaXQgbGFuZHMgaW4gdGhlIHJpZ2h0IHBsYWNlKS4KLQotdGVzdHMvIC0tLSB1bml0IHRlc3RzCi0gIFRoZSB0ZXN0cy8gZGlyZWN0b3J5IGNvbnRhaW5zIHVuaXQgdGVzdHMuIFJvdWdobHkgYXJyYW5nZWQgYXMgb25lIGZpbGUgcGVyCi0gIHB1YmxpY2x5LWV4cG9ydGVkIGhlYWRlciBmaWxlLgotYmVuY2htYXJrcy8gLS0tIGJlbmNobWFya3MKLSAgVGhlIGJlbmNobWFya3MvIGRpcmVjdG9yeSBjb250YWlucyBiZW5jaG1hcmtzLgotCi0KLVdoYXQncyBpbiBsaWJjLz8KLS0tLS0tLS0tLS0tLS0tLS0KLQotbGliYy8KLSAgYXJjaC1hcm0vCi0gIGFyY2gtYXJtNjQvCi0gIGFyY2gtY29tbW9uLwotICBhcmNoLW1pcHMvCi0gIGFyY2gtbWlwczY0LwotICBhcmNoLXg4Ni8KLSAgYXJjaC14ODZfNjQvCi0gICAgIyBFYWNoIGFyY2hpdGVjdHVyZSBoYXMgaXRzIG93biBzdWJkaXJlY3RvcnkgZm9yIHN0dWZmIHRoYXQgaXNuJ3Qgc2hhcmVkCi0gICAgIyBiZWNhdXNlIGl0J3MgYXJjaGl0ZWN0dXJlLXNwZWNpZmljLiBUaGVyZSB3aWxsIGJlIGEgLm1rIGZpbGUgaW4gaGVyZSB0aGF0Ci0gICAgIyBkcmFncyBpbiBhbGwgdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBmaWxlcy4KLSAgICBiaW9uaWMvCi0gICAgICAjIEV2ZXJ5IGFyY2hpdGVjdHVyZSBuZWVkcyBhIGhhbmRmdWwgb2YgbWFjaGluZS1zcGVjaWZpYyBhc3NlbWJsZXIgZmlsZXMuCi0gICAgICAjIFRoZXkgbGl2ZSBoZXJlLgotICAgIGluY2x1ZGUvCi0gICAgICBtYWNoaW5lLwotICAgICAgICAjIFRoZSBtYWpvcml0eSBvZiBoZWFkZXIgZmlsZXMgYXJlIGFjdHVhbGx5IGluIGxpYmMvaW5jbHVkZS8sIGJ1dCBtYW55Ci0gICAgICAgICMgb2YgdGhlbSBwdWxsIGluIGEgPG1hY2hpbmUvc29tZXRoaW5nLmg+IGZvciB0aGluZ3MgbGlrZSBsaW1pdHMsCi0gICAgICAgICMgZW5kaWFubmVzcywgYW5kIGhvdyBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSByZXByZXNlbnRlZC4gVGhvc2UKLSAgICAgICAgIyBoZWFkZXJzIGxpdmUgaGVyZS4KLSAgICBzdHJpbmcvCi0gICAgICAjIE1vc3QgYXJjaGl0ZWN0dXJlcyBoYXZlIGEgaGFuZGZ1bCBvZiBvcHRpb25hbCBhc3NlbWJsZXIgZmlsZXMKLSAgICAgICMgaW1wbGVtZW50aW5nIG9wdGltaXplZCB2ZXJzaW9ucyBvZiB2YXJpb3VzIHJvdXRpbmVzLiBUaGUgPHN0cmluZy5oPgotICAgICAgIyBmdW5jdGlvbnMgYXJlIHBhcnRpY3VsYXIgZmF2b3JpdGVzLgotICAgIHN5c2NhbGxzLwotICAgICAgIyBUaGUgc3lzY2FsbHMgZGlyZWN0b3JpZXMgY29udGFpbiBzY3JpcHQtZ2VuZXJhdGVkIGFzc2VtYmxlciBmaWxlcy4KLSAgICAgICMgU2VlICdBZGRpbmcgc3lzdGVtIGNhbGxzJyBsYXRlci4KLQotICBpbmNsdWRlLwotICAgICMgVGhlIHB1YmxpYyBoZWFkZXIgZmlsZXMgb24gZXZlcnlvbmUncyBpbmNsdWRlIHBhdGguIFRoZXNlIGFyZSBhIG1peHR1cmUgb2YKLSAgICAjIGZpbGVzIHdyaXR0ZW4gYnkgdXMgYW5kIGZpbGVzIHRha2VuIGZyb20gQlNELgotCi0gIGtlcm5lbC8KLSAgICAjIFRoZSBrZXJuZWwgdWFwaSBoZWFkZXIgZmlsZXMuIFRoZXNlIGFyZSBzY3J1YmJlZCBjb3BpZXMgb2YgdGhlIG9yaWdpbmFscwotICAgICMgaW4gZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvLiBUaGVzZSBmaWxlcyBtdXN0IG5vdCBiZSBlZGl0ZWQgZGlyZWN0bHkuIFRoZQotICAgICMgZ2VuZXJhdGVfdWFwaV9oZWFkZXJzLnNoIHNjcmlwdCBzaG91bGQgYmUgdXNlZCB0byBnbyBmcm9tIGEga2VybmVsIHRyZWUgdG8KLSAgICAjIGV4dGVybmFsL2tlcm5lbC1oZWFkZXJzLyAtLS0gdGhpcyB0YWtlcyBjYXJlIG9mIHRoZSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMKLSAgICAjIGRldGFpbHMuIFRoZSB1cGRhdGVfYWxsLnB5IHNjcmlwdCBzaG91bGQgYmUgdXNlZCB0byByZWdlbmVyYXRlIGJpb25pYydzCi0gICAgIyBzY3J1YmJlZCBoZWFkZXJzIGZyb20gZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvLgotCi0gIHByaXZhdGUvCi0gICAgIyBUaGVzZSBhcmUgcHJpdmF0ZSBoZWFkZXIgZmlsZXMgbWVhbnQgZm9yIHVzZSB3aXRoaW4gYmlvbmljIGl0c2VsZi4KLQotICBkbnMvCi0gICAgIyBDb250YWlucyB0aGUgRE5TIHJlc29sdmVyIChvcmlnaW5hdGVzIGZyb20gTmV0QlNEIGNvZGUpLgotCi0gIHVwc3RyZWFtLWRsbWFsbG9jLwotICB1cHN0cmVhbS1mcmVlYnNkLwotICB1cHN0cmVhbS1uZXRic2QvCi0gIHVwc3RyZWFtLW9wZW5ic2QvCi0gICAgIyBUaGVzZSBkaXJlY3RvcmllcyBjb250YWluIHVubW9sZXN0ZWQgdXBzdHJlYW0gc291cmNlLiBBbnkgdGltZSB3ZSBjYW4KLSAgICAjIGp1c3QgdXNlIGEgQlNEIGltcGxlbWVudGF0aW9uIG9mIHNvbWV0aGluZyB1bm1vZGlmaWVkLCB3ZSBzaG91bGQuCi0gICAgIyBUaGUgc3RydWN0dXJlIHVuZGVyIHRoZXNlIGRpcmVjdG9yaWVzIG1pbWljcyB0aGUgdXBzdHJlYW0gdHJlZSwKLSAgICAjIGJ1dCB0aGVyZSdzIGFsc28uLi4KLSAgICBhbmRyb2lkLwotICAgICAgaW5jbHVkZS8KLSAgICAgICAgIyBUaGlzIGlzIHdoZXJlIHdlIGtlZXAgdGhlIGhhY2tzIG5lY2Vzc2FyeSB0byBidWlsZCBCU0Qgc291cmNlCi0gICAgICAgICMgaW4gb3VyIHdvcmxkLiBUaGUgKi1jb21wYXQuaCBmaWxlcyBhcmUgYXV0b21hdGljYWxseSBpbmNsdWRlZAotICAgICAgICAjIHVzaW5nIC1pbmNsdWRlLCBidXQgd2UgYWxzbyBwcm92aWRlIGVxdWl2YWxlbnRzIGZvciBtaXNzaW5nCi0gICAgICAgICMgaGVhZGVyL3NvdXJjZSBmaWxlcyBuZWVkZWQgYnkgdGhlIEJTRCBpbXBsZW1lbnRhdGlvbi4KLQotICBiaW9uaWMvCi0gICAgIyBUaGlzIGlzIHRoZSBiaWdnZXN0IG1lc3MuIFRoZSBDKysgZmlsZXMgYXJlIGZpbGVzIHdlIG93biwgdHlwaWNhbGx5Ci0gICAgIyBiZWNhdXNlIHRoZSBMaW51eCBrZXJuZWwgaW50ZXJmYWNlIGlzIHN1ZmZpY2llbnRseSBkaWZmZXJlbnQgdGhhdCB3ZQotICAgICMgY2FuJ3QgdXNlIGFueSBvZiB0aGUgQlNEIGltcGxlbWVudGF0aW9ucy4gVGhlIEMgZmlsZXMgYXJlIHVzdWFsbHkKLSAgICAjIGxlZ2FjeSBtZXNzIHRoYXQgbmVlZHMgdG8gYmUgc29ydGVkIG91dCwgZWl0aGVyIGJ5IHJlcGxhY2luZyBpdCB3aXRoCi0gICAgIyBjdXJyZW50IHVwc3RyZWFtIHNvdXJjZSBpbiBvbmUgb2YgdGhlIHVwc3RyZWFtIGRpcmVjdG9yaWVzIG9yIGJ5Ci0gICAgIyBzd2l0Y2hpbmcgdGhlIGZpbGUgdG8gQysrIGFuZCBjbGVhbmluZyBpdCB1cC4KLQotICBzdGRpby8KLSAgICAjIFRoZXNlIGFyZSBsZWdhY3kgZmlsZXMgb2YgZHViaW91cyBwcm92ZW5hbmNlLiBXZSdyZSB3b3JraW5nIHRvIGNsZWFuCi0gICAgIyB0aGlzIG1lc3MgdXAsIGFuZCB0aGlzIGRpcmVjdG9yeSBzaG91bGQgZGlzYXBwZWFyLgotCi0gIHRvb2xzLwotICAgICMgVmFyaW91cyB0b29scyB1c2VkIHRvIG1haW50YWluIGJpb25pYy4KLQotICB0emNvZGUvCi0gICAgIyBBIG1vZGlmaWVkIHN1cGVyc2V0IG9mIHRoZSBJQU5BIHR6Y29kZS4gTW9zdCBvZiB0aGUgbW9kaWZpY2F0aW9ucyByZWxhdGUKLSAgICAjIHRvIEFuZHJvaWQncyB1c2Ugb2YgYSBzaW5nbGUgZmlsZSAod2l0aCBjb3JyZXNwb25kaW5nIGluZGV4KSB0byBjb250YWluCi0gICAgIyB0aW1lIHpvbmUgZGF0YS4KLSAgem9uZWluZm8vCi0gICAgIyBBbmRyb2lkLWZvcm1hdCB0aW1lIHpvbmUgZGF0YS4KLSAgICAjIFNlZSAnVXBkYXRpbmcgdHpkYXRhJyBsYXRlci4KLQotCi1BZGRpbmcgc3lzdGVtIGNhbGxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUFkZGluZyBhIHN5c3RlbSBjYWxsIHVzdWFsbHkgaW52b2x2ZXM6Ci0KLSAgMS4gQWRkIGVudHJpZXMgdG8gU1lTQ0FMTFMuVFhULgotICAgICBTZWUgU1lTQ0FMTFMuVFhUIGl0c2VsZiBmb3IgZG9jdW1lbnRhdGlvbiBvbiB0aGUgZm9ybWF0LgotICAyLiBSdW4gdGhlIGdlbnN5c2NhbGxzLnB5IHNjcmlwdC4KLSAgMy4gQWRkIGNvbnN0YW50cyAoYW5kIHBlcmhhcHMgdHlwZXMpIHRvIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXIgZmlsZS4KLSAgICAgTm90ZSB0aGF0IHlvdSBzaG91bGQgY2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhlIGNvbnN0YW50cyBhcmUgYWxyZWFkeSBpbgotICAgICBrZXJuZWwgdWFwaSBoZWFkZXIgZmlsZXMsIGluIHdoaWNoIGNhc2UgeW91IGp1c3QgbmVlZCB0byBtYWtlIHN1cmUgdGhhdAotICAgICB0aGUgYXBwcm9wcmlhdGUgUE9TSVggaGVhZGVyIGZpbGUgaW4gbGliYy9pbmNsdWRlLyBpbmNsdWRlcyB0aGUKLSAgICAgcmVsZXZhbnQgZmlsZSBvciBmaWxlcy4KLSAgNC4gQWRkIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyB0byB0aGUgYXBwcm9wcmlhdGUgaGVhZGVyIGZpbGUuCi0gIDUuIEFkZCBhdCBsZWFzdCBiYXNpYyB0ZXN0cy4gRXZlbiBhIHRlc3QgdGhhdCBkZWxpYmVyYXRlbHkgc3VwcGxpZXMKLSAgICAgYW4gaW52YWxpZCBhcmd1bWVudCBoZWxwcyBjaGVjayB0aGF0IHdlJ3JlIGdlbmVyYXRpbmcgdGhlIHJpZ2h0IHN5bWJvbAotICAgICBhbmQgaGF2ZSB0aGUgcmlnaHQgZGVjbGFyYXRpb24gaW4gdGhlIGhlYWRlciBmaWxlLiAoQW5kIHN0cmFjZSgxKSBjYW4KLSAgICAgY29uZmlybSB0aGF0IHRoZSBjb3JyZWN0IHN5c3RlbSBjYWxsIGlzIGJlaW5nIG1hZGUuKQotCi0KLVVwZGF0aW5nIGtlcm5lbCBoZWFkZXIgZmlsZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotQXMgbWVudGlvbmVkIGFib3ZlLCB0aGlzIGlzIGN1cnJlbnRseSBhIHR3by1zdGVwIHByb2Nlc3M6Ci0KLSAgMS4gVXNlIGdlbmVyYXRlX3VhcGlfaGVhZGVycy5zaCB0byBnbyBmcm9tIGEgTGludXggc291cmNlIHRyZWUgdG8gYXBwcm9wcmlhdGUKLSAgICAgY29udGVudHMgZm9yIGV4dGVybmFsL2tlcm5lbC1oZWFkZXJzLy4KLSAgMi4gUnVuIHVwZGF0ZV9hbGwucHkgdG8gc2NydWIgdGhvc2UgaGVhZGVycyBhbmQgaW1wb3J0IHRoZW0gaW50byBiaW9uaWMuCi0KLQotVXBkYXRpbmcgdHpkYXRhCi0tLS0tLS0tLS0tLS0tLS0KLQotVGhpcyBpcyBmdWxseSBhdXRvbWF0ZWQ6Ci0KLSAgMS4gUnVuIHVwZGF0ZS10emRhdGEucHkuCi0KZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWJiNzJhCi0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FLm1kCkBAIC0wLDAgKzEsMjczIEBACitXb3JraW5nIG9uIGJpb25pYworPT09PT09PT09PT09PT09PT0KKworV2hhdCBhcmUgdGhlIGJpZyBwaWVjZXMgb2YgYmlvbmljPworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIyMjIGxpYmMvIC0tLSBsaWJjLnNvLCBsaWJjLmEKKworVGhlIEMgbGlicmFyeS4gU3R1ZmYgbGlrZSBgZm9wZW4oMylgIGFuZCBga2lsbCgyKWAuCisKKyMjIyMgbGlibS8gLS0tIGxpYm0uc28sIGxpYm0uYQorCitUaGUgbWF0aCBsaWJyYXJ5LiBUcmFkaXRpb25hbGx5IFVuaXggc3lzdGVtcyBrZXB0IHN0dWZmIGxpa2UgYHNpbigzKWAgYW5kCitgY29zKDMpYCBpbiBhIHNlcGFyYXRlIGxpYnJhcnkgdG8gc2F2ZSBzcGFjZSBpbiB0aGUgZGF5cyBiZWZvcmUgc2hhcmVkCitsaWJyYXJpZXMuCisKKyMjIyMgbGliZGwvIC0tLSBsaWJkbC5zbworCitUaGUgZHluYW1pYyBsaW5rZXIgaW50ZXJmYWNlIGxpYnJhcnkuIFRoaXMgaXMgYWN0dWFsbHkganVzdCBhIGJ1bmNoIG9mIHN0dWJzCit0aGF0IHRoZSBkeW5hbWljIGxpbmtlciByZXBsYWNlcyB3aXRoIHBvaW50ZXJzIHRvIGl0cyBvd24gaW1wbGVtZW50YXRpb24gYXQKK3J1bnRpbWUuIFRoaXMgaXMgd2hlcmUgc3R1ZmYgbGlrZSBgZGxvcGVuKDMpYCBsaXZlcy4KKworIyMjIyBsaWJzdGRjKysvIC0tLSBsaWJzdGRjKysuc28KKworVGhlIEMrKyBBQkkgc3VwcG9ydCBmdW5jdGlvbnMuIFRoZSBDKysgY29tcGlsZXIgZG9lc24ndCBrbm93IGhvdyB0byBpbXBsZW1lbnQKK3RocmVhZC1zYWZlIHN0YXRpYyBpbml0aWFsaXphdGlvbiBhbmQgdGhlIGxpa2UsIHNvIGl0IGp1c3QgY2FsbHMgZnVuY3Rpb25zIHRoYXQKK2FyZSBzdXBwbGllZCBieSB0aGUgc3lzdGVtLiBTdHVmZiBsaWtlIGBfX2N4YV9ndWFyZF9hY3F1aXJlYCBhbmQKK2BfX2N4YV9wdXJlX3ZpcnR1YWxgIGxpdmUgaGVyZS4KKworIyMjIyBsaW5rZXIvIC0tLSAvc3lzdGVtL2Jpbi9saW5rZXIgYW5kIC9zeXN0ZW0vYmluL2xpbmtlcjY0CisKK1RoZSBkeW5hbWljIGxpbmtlci4gV2hlbiB5b3UgcnVuIGEgZHluYW1pY2FsbHktbGlua2VkIGV4ZWN1dGFibGUsIGl0cyBFTEYgZmlsZQoraGFzIGEgYERUX0lOVEVSUGAgZW50cnkgdGhhdCBzYXlzICJ1c2UgdGhlIGZvbGxvd2luZyBwcm9ncmFtIHRvIHN0YXJ0IG1lIi4gIE9uCitBbmRyb2lkLCB0aGF0J3MgZWl0aGVyIGBsaW5rZXJgIG9yIGBsaW5rZXI2NGAgKGRlcGVuZGluZyBvbiB3aGV0aGVyIGl0J3MgYQorMzItYml0IG9yIDY0LWJpdCBleGVjdXRhYmxlKS4gSXQncyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyB0aGUgRUxGIGV4ZWN1dGFibGUKK2ludG8gbWVtb3J5IGFuZCByZXNvbHZpbmcgcmVmZXJlbmNlcyB0byBzeW1ib2xzIChzbyB0aGF0IHdoZW4geW91ciBjb2RlIHRyaWVzIHRvCitqdW1wIHRvIGBmb3BlbigzKWAsIHNheSwgaXQgbGFuZHMgaW4gdGhlIHJpZ2h0IHBsYWNlKS4KKworIyMjIyB0ZXN0cy8gLS0tIHVuaXQgdGVzdHMKKworVGhlIGB0ZXN0cy9gIGRpcmVjdG9yeSBjb250YWlucyB1bml0IHRlc3RzLiBSb3VnaGx5IGFycmFuZ2VkIGFzIG9uZSBmaWxlIHBlcgorcHVibGljbHktZXhwb3J0ZWQgaGVhZGVyIGZpbGUuCisKKyMjIyMgYmVuY2htYXJrcy8gLS0tIGJlbmNobWFya3MKKworVGhlIGBiZW5jaG1hcmtzL2AgZGlyZWN0b3J5IGNvbnRhaW5zIGJlbmNobWFya3MuCisKKworV2hhdCdzIGluIGxpYmMvPworLS0tLS0tLS0tLS0tLS0tLQorCis8cHJlPgorbGliYy8KKyAgYXJjaC1hcm0vCisgIGFyY2gtYXJtNjQvCisgIGFyY2gtY29tbW9uLworICBhcmNoLW1pcHMvCisgIGFyY2gtbWlwczY0LworICBhcmNoLXg4Ni8KKyAgYXJjaC14ODZfNjQvCisgICAgIyBFYWNoIGFyY2hpdGVjdHVyZSBoYXMgaXRzIG93biBzdWJkaXJlY3RvcnkgZm9yIHN0dWZmIHRoYXQgaXNuJ3Qgc2hhcmVkCisgICAgIyBiZWNhdXNlIGl0J3MgYXJjaGl0ZWN0dXJlLXNwZWNpZmljLiBUaGVyZSB3aWxsIGJlIGEgLm1rIGZpbGUgaW4gaGVyZSB0aGF0CisgICAgIyBkcmFncyBpbiBhbGwgdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBmaWxlcy4KKyAgICBiaW9uaWMvCisgICAgICAjIEV2ZXJ5IGFyY2hpdGVjdHVyZSBuZWVkcyBhIGhhbmRmdWwgb2YgbWFjaGluZS1zcGVjaWZpYyBhc3NlbWJsZXIgZmlsZXMuCisgICAgICAjIFRoZXkgbGl2ZSBoZXJlLgorICAgIGluY2x1ZGUvCisgICAgICBtYWNoaW5lLworICAgICAgICAjIFRoZSBtYWpvcml0eSBvZiBoZWFkZXIgZmlsZXMgYXJlIGFjdHVhbGx5IGluIGxpYmMvaW5jbHVkZS8sIGJ1dCBtYW55CisgICAgICAgICMgb2YgdGhlbSBwdWxsIGluIGEgPG1hY2hpbmUvc29tZXRoaW5nLmg+IGZvciB0aGluZ3MgbGlrZSBsaW1pdHMsCisgICAgICAgICMgZW5kaWFubmVzcywgYW5kIGhvdyBmbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSByZXByZXNlbnRlZC4gVGhvc2UKKyAgICAgICAgIyBoZWFkZXJzIGxpdmUgaGVyZS4KKyAgICBzdHJpbmcvCisgICAgICAjIE1vc3QgYXJjaGl0ZWN0dXJlcyBoYXZlIGEgaGFuZGZ1bCBvZiBvcHRpb25hbCBhc3NlbWJsZXIgZmlsZXMKKyAgICAgICMgaW1wbGVtZW50aW5nIG9wdGltaXplZCB2ZXJzaW9ucyBvZiB2YXJpb3VzIHJvdXRpbmVzLiBUaGUgPHN0cmluZy5oPgorICAgICAgIyBmdW5jdGlvbnMgYXJlIHBhcnRpY3VsYXIgZmF2b3JpdGVzLgorICAgIHN5c2NhbGxzLworICAgICAgIyBUaGUgc3lzY2FsbHMgZGlyZWN0b3JpZXMgY29udGFpbiBzY3JpcHQtZ2VuZXJhdGVkIGFzc2VtYmxlciBmaWxlcy4KKyAgICAgICMgU2VlICdBZGRpbmcgc3lzdGVtIGNhbGxzJyBsYXRlci4KKworICBpbmNsdWRlLworICAgICMgVGhlIHB1YmxpYyBoZWFkZXIgZmlsZXMgb24gZXZlcnlvbmUncyBpbmNsdWRlIHBhdGguIFRoZXNlIGFyZSBhIG1peHR1cmUgb2YKKyAgICAjIGZpbGVzIHdyaXR0ZW4gYnkgdXMgYW5kIGZpbGVzIHRha2VuIGZyb20gQlNELgorCisgIGtlcm5lbC8KKyAgICAjIFRoZSBrZXJuZWwgdWFwaSBoZWFkZXIgZmlsZXMuIFRoZXNlIGFyZSBzY3J1YmJlZCBjb3BpZXMgb2YgdGhlIG9yaWdpbmFscworICAgICMgaW4gZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvLiBUaGVzZSBmaWxlcyBtdXN0IG5vdCBiZSBlZGl0ZWQgZGlyZWN0bHkuIFRoZQorICAgICMgZ2VuZXJhdGVfdWFwaV9oZWFkZXJzLnNoIHNjcmlwdCBzaG91bGQgYmUgdXNlZCB0byBnbyBmcm9tIGEga2VybmVsIHRyZWUgdG8KKyAgICAjIGV4dGVybmFsL2tlcm5lbC1oZWFkZXJzLyAtLS0gdGhpcyB0YWtlcyBjYXJlIG9mIHRoZSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMKKyAgICAjIGRldGFpbHMuIFRoZSB1cGRhdGVfYWxsLnB5IHNjcmlwdCBzaG91bGQgYmUgdXNlZCB0byByZWdlbmVyYXRlIGJpb25pYydzCisgICAgIyBzY3J1YmJlZCBoZWFkZXJzIGZyb20gZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvLgorCisgIHByaXZhdGUvCisgICAgIyBUaGVzZSBhcmUgcHJpdmF0ZSBoZWFkZXIgZmlsZXMgbWVhbnQgZm9yIHVzZSB3aXRoaW4gYmlvbmljIGl0c2VsZi4KKworICBkbnMvCisgICAgIyBDb250YWlucyB0aGUgRE5TIHJlc29sdmVyIChvcmlnaW5hdGVzIGZyb20gTmV0QlNEIGNvZGUpLgorCisgIHVwc3RyZWFtLWRsbWFsbG9jLworICB1cHN0cmVhbS1mcmVlYnNkLworICB1cHN0cmVhbS1uZXRic2QvCisgIHVwc3RyZWFtLW9wZW5ic2QvCisgICAgIyBUaGVzZSBkaXJlY3RvcmllcyBjb250YWluIHVubW9sZXN0ZWQgdXBzdHJlYW0gc291cmNlLiBBbnkgdGltZSB3ZSBjYW4KKyAgICAjIGp1c3QgdXNlIGEgQlNEIGltcGxlbWVudGF0aW9uIG9mIHNvbWV0aGluZyB1bm1vZGlmaWVkLCB3ZSBzaG91bGQuCisgICAgIyBUaGUgc3RydWN0dXJlIHVuZGVyIHRoZXNlIGRpcmVjdG9yaWVzIG1pbWljcyB0aGUgdXBzdHJlYW0gdHJlZSwKKyAgICAjIGJ1dCB0aGVyZSdzIGFsc28uLi4KKyAgICBhbmRyb2lkLworICAgICAgaW5jbHVkZS8KKyAgICAgICAgIyBUaGlzIGlzIHdoZXJlIHdlIGtlZXAgdGhlIGhhY2tzIG5lY2Vzc2FyeSB0byBidWlsZCBCU0Qgc291cmNlCisgICAgICAgICMgaW4gb3VyIHdvcmxkLiBUaGUgKi1jb21wYXQuaCBmaWxlcyBhcmUgYXV0b21hdGljYWxseSBpbmNsdWRlZAorICAgICAgICAjIHVzaW5nIC1pbmNsdWRlLCBidXQgd2UgYWxzbyBwcm92aWRlIGVxdWl2YWxlbnRzIGZvciBtaXNzaW5nCisgICAgICAgICMgaGVhZGVyL3NvdXJjZSBmaWxlcyBuZWVkZWQgYnkgdGhlIEJTRCBpbXBsZW1lbnRhdGlvbi4KKworICBiaW9uaWMvCisgICAgIyBUaGlzIGlzIHRoZSBiaWdnZXN0IG1lc3MuIFRoZSBDKysgZmlsZXMgYXJlIGZpbGVzIHdlIG93biwgdHlwaWNhbGx5CisgICAgIyBiZWNhdXNlIHRoZSBMaW51eCBrZXJuZWwgaW50ZXJmYWNlIGlzIHN1ZmZpY2llbnRseSBkaWZmZXJlbnQgdGhhdCB3ZQorICAgICMgY2FuJ3QgdXNlIGFueSBvZiB0aGUgQlNEIGltcGxlbWVudGF0aW9ucy4gVGhlIEMgZmlsZXMgYXJlIHVzdWFsbHkKKyAgICAjIGxlZ2FjeSBtZXNzIHRoYXQgbmVlZHMgdG8gYmUgc29ydGVkIG91dCwgZWl0aGVyIGJ5IHJlcGxhY2luZyBpdCB3aXRoCisgICAgIyBjdXJyZW50IHVwc3RyZWFtIHNvdXJjZSBpbiBvbmUgb2YgdGhlIHVwc3RyZWFtIGRpcmVjdG9yaWVzIG9yIGJ5CisgICAgIyBzd2l0Y2hpbmcgdGhlIGZpbGUgdG8gQysrIGFuZCBjbGVhbmluZyBpdCB1cC4KKworICBzdGRpby8KKyAgICAjIFRoZXNlIGFyZSBsZWdhY3kgZmlsZXMgb2YgZHViaW91cyBwcm92ZW5hbmNlLiBXZSdyZSB3b3JraW5nIHRvIGNsZWFuCisgICAgIyB0aGlzIG1lc3MgdXAsIGFuZCB0aGlzIGRpcmVjdG9yeSBzaG91bGQgZGlzYXBwZWFyLgorCisgIHRvb2xzLworICAgICMgVmFyaW91cyB0b29scyB1c2VkIHRvIG1haW50YWluIGJpb25pYy4KKworICB0emNvZGUvCisgICAgIyBBIG1vZGlmaWVkIHN1cGVyc2V0IG9mIHRoZSBJQU5BIHR6Y29kZS4gTW9zdCBvZiB0aGUgbW9kaWZpY2F0aW9ucyByZWxhdGUKKyAgICAjIHRvIEFuZHJvaWQncyB1c2Ugb2YgYSBzaW5nbGUgZmlsZSAod2l0aCBjb3JyZXNwb25kaW5nIGluZGV4KSB0byBjb250YWluCisgICAgIyB0aW1lIHpvbmUgZGF0YS4KKyAgem9uZWluZm8vCisgICAgIyBBbmRyb2lkLWZvcm1hdCB0aW1lIHpvbmUgZGF0YS4KKyAgICAjIFNlZSAnVXBkYXRpbmcgdHpkYXRhJyBsYXRlci4KKzwvcHJlPgorCisKK0FkZGluZyBzeXN0ZW0gY2FsbHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWRkaW5nIGEgc3lzdGVtIGNhbGwgdXN1YWxseSBpbnZvbHZlczoKKworICAxLiBBZGQgZW50cmllcyB0byBTWVNDQUxMUy5UWFQuCisgICAgIFNlZSBTWVNDQUxMUy5UWFQgaXRzZWxmIGZvciBkb2N1bWVudGF0aW9uIG9uIHRoZSBmb3JtYXQuCisgIDIuIFJ1biB0aGUgZ2Vuc3lzY2FsbHMucHkgc2NyaXB0LgorICAzLiBBZGQgY29uc3RhbnRzIChhbmQgcGVyaGFwcyB0eXBlcykgdG8gdGhlIGFwcHJvcHJpYXRlIGhlYWRlciBmaWxlLgorICAgICBOb3RlIHRoYXQgeW91IHNob3VsZCBjaGVjayB0byBzZWUgd2hldGhlciB0aGUgY29uc3RhbnRzIGFyZSBhbHJlYWR5IGluCisgICAgIGtlcm5lbCB1YXBpIGhlYWRlciBmaWxlcywgaW4gd2hpY2ggY2FzZSB5b3UganVzdCBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0CisgICAgIHRoZSBhcHByb3ByaWF0ZSBQT1NJWCBoZWFkZXIgZmlsZSBpbiBsaWJjL2luY2x1ZGUvIGluY2x1ZGVzIHRoZQorICAgICByZWxldmFudCBmaWxlIG9yIGZpbGVzLgorICA0LiBBZGQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIHRvIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXIgZmlsZS4KKyAgNS4gQWRkIGF0IGxlYXN0IGJhc2ljIHRlc3RzLiBFdmVuIGEgdGVzdCB0aGF0IGRlbGliZXJhdGVseSBzdXBwbGllcworICAgICBhbiBpbnZhbGlkIGFyZ3VtZW50IGhlbHBzIGNoZWNrIHRoYXQgd2UncmUgZ2VuZXJhdGluZyB0aGUgcmlnaHQgc3ltYm9sCisgICAgIGFuZCBoYXZlIHRoZSByaWdodCBkZWNsYXJhdGlvbiBpbiB0aGUgaGVhZGVyIGZpbGUuIChBbmQgc3RyYWNlKDEpIGNhbgorICAgICBjb25maXJtIHRoYXQgdGhlIGNvcnJlY3Qgc3lzdGVtIGNhbGwgaXMgYmVpbmcgbWFkZS4pCisKKworVXBkYXRpbmcga2VybmVsIGhlYWRlciBmaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBcyBtZW50aW9uZWQgYWJvdmUsIHRoaXMgaXMgY3VycmVudGx5IGEgdHdvLXN0ZXAgcHJvY2VzczoKKworICAxLiBVc2UgZ2VuZXJhdGVfdWFwaV9oZWFkZXJzLnNoIHRvIGdvIGZyb20gYSBMaW51eCBzb3VyY2UgdHJlZSB0byBhcHByb3ByaWF0ZQorICAgICBjb250ZW50cyBmb3IgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvLgorICAyLiBSdW4gdXBkYXRlX2FsbC5weSB0byBzY3J1YiB0aG9zZSBoZWFkZXJzIGFuZCBpbXBvcnQgdGhlbSBpbnRvIGJpb25pYy4KKworCitVcGRhdGluZyB0emRhdGEKKy0tLS0tLS0tLS0tLS0tLQorCitUaGlzIGlzIGZ1bGx5IGF1dG9tYXRlZDoKKworICAxLiBSdW4gdXBkYXRlLXR6ZGF0YS5weS4KKworCitWZXJpZnlpbmcgY2hhbmdlcworLS0tLS0tLS0tLS0tLS0tLS0KKworSWYgeW91IG1ha2UgYSBjaGFuZ2UgdGhhdCBpcyBsaWtlbHkgdG8gaGF2ZSBhIHdpZGUgZWZmZWN0IG9uIHRoZSB0cmVlIChzdWNoIGFzIGEKK2xpYmMgaGVhZGVyIGNoYW5nZSksIHlvdSBzaG91bGQgcnVuIGBtYWtlIGNoZWNrYnVpbGRgLiBBIHJlZ3VsYXIgYG1ha2VgIHdpbGwKK19ub3RfIGJ1aWxkIHRoZSBlbnRpcmUgdHJlZTsganVzdCB0aGUgbWluaW11bSBudW1iZXIgb2YgcHJvamVjdHMgdGhhdCBhcmUKK3JlcXVpcmVkIGZvciB0aGUgZGV2aWNlLiBUZXN0cywgYWRkaXRpb25hbCBkZXZlbG9wZXIgdG9vbHMsIGFuZCB2YXJpb3VzIG90aGVyCittb2R1bGVzIHdpbGwgbm90IGJlIGJ1aWx0LiBOb3RlIHRoYXQgYG1ha2UgY2hlY2tidWlsZGAgd2lsbCBub3QgYmUgY29tcGxldGUKK2VpdGhlciwgYXMgYG1ha2UgdGVzdHNgIGNvdmVycyBhIGZldyBhZGRpdGlvbmFsIG1vZHVsZXMsIGJ1dCBnZW5lcmFsbHkgc3BlYWtpbmcKK2BtYWtlIGNoZWNrYnVpbGRgIGlzIGVub3VnaC4KKworCitSdW5uaW5nIHRoZSB0ZXN0cworLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHRlc3RzIGFyZSBhbGwgYnVpbHQgZnJvbSB0aGUgdGVzdHMvIGRpcmVjdG9yeS4KKworIyMjIERldmljZSB0ZXN0cworCisgICAgJCBtbWEKKyAgICAkIGFkYiBzeW5jCisgICAgJCBhZGIgc2hlbGwgL2RhdGEvbmF0aXZldGVzdC9iaW9uaWMtdW5pdC10ZXN0cy9iaW9uaWMtdW5pdC10ZXN0czMyCisgICAgJCBhZGIgc2hlbGwgXAorICAgICAgICAvZGF0YS9uYXRpdmV0ZXN0L2Jpb25pYy11bml0LXRlc3RzLXN0YXRpYy9iaW9uaWMtdW5pdC10ZXN0cy1zdGF0aWMzMgorICAgICMgT25seSBmb3IgNjQtYml0IHRhcmdldHMKKyAgICAkIGFkYiBzaGVsbCAvZGF0YS9uYXRpdmV0ZXN0L2Jpb25pYy11bml0LXRlc3RzL2Jpb25pYy11bml0LXRlc3RzNjQKKyAgICAkIGFkYiBzaGVsbCBcCisgICAgICAgIC9kYXRhL25hdGl2ZXRlc3QvYmlvbmljLXVuaXQtdGVzdHMtc3RhdGljL2Jpb25pYy11bml0LXRlc3RzLXN0YXRpYzY0CisKKyMjIyBIb3N0IHRlc3RzCisKK1RoZSBob3N0IHRlc3RzIHJlcXVpcmUgdGhhdCB5b3UgaGF2ZSBgbHVuY2hgZWQgZWl0aGVyIGFuIHg4NiBvciB4ODZfNjQgdGFyZ2V0LgorCisgICAgJCBtbWEKKyAgICAkIG1tIGJpb25pYy11bml0LXRlc3RzLXJ1bi1vbi1ob3N0MzIKKyAgICAkIG1tIGJpb25pYy11bml0LXRlc3RzLXJ1bi1vbi1ob3N0NjQgICMgRm9yIDY0LWJpdCAqdGFyZ2V0cyogb25seS4KKworIyMjIEFnYWluc3QgZ2xpYmMKKworQXMgYSB3YXkgdG8gY2hlY2sgdGhhdCBvdXIgdGVzdHMgZG8gaW4gZmFjdCB0ZXN0IHRoZSBjb3JyZWN0IGJlaGF2aW9yIChhbmQgbm90CitqdXN0IHRoZSBiZWhhdmlvciB3ZSB0aGluayBpcyBjb3JyZWN0KSwgaXQgaXMgcG9zc2libGUgdG8gcnVuIHRoZSB0ZXN0cyBhZ2FpbnN0Cit0aGUgaG9zdCdzIGdsaWJjLiBUaGUgZXhlY3V0YWJsZXMgYXJlIGFscmVhZHkgaW4geW91ciBwYXRoLgorCisgICAgJCBtbWEKKyAgICAkIGJpb25pYy11bml0LXRlc3RzLWdsaWJjMzIKKyAgICAkIGJpb25pYy11bml0LXRlc3RzLWdsaWJjNjQKKworCitHYXRoZXJpbmcgdGVzdCBjb3ZlcmFnZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRm9yIGVpdGhlciBob3N0IG9yIHRhcmdldCBjb3ZlcmFnZSwgeW91IG11c3QgZmlyc3Q6CisKKyAqIGAkIGV4cG9ydCBOQVRJVkVfQ09WRVJBR0U9dHJ1ZWAKKyAgICAgKiBOb3RlIHRoYXQgdGhlIGJ1aWxkIHN5c3RlbSBpcyBpZ25vcmFudCB0byB0aGlzIGZsYWcgYmVpbmcgdG9nZ2xlZCwgaS5lLiBpZgorICAgICAgIHlvdSBjaGFuZ2UgdGhpcyBmbGFnLCB5b3Ugd2lsbCBoYXZlIHRvIG1hbnVhbGx5IHJlYnVpbGQgYmlvbmljLgorICogU2V0IGBiaW9uaWNfY292ZXJhZ2U9dHJ1ZWAgaW4gYGxpYmMvQW5kcm9pZC5ta2AgYW5kIGBsaWJtL0FuZHJvaWQubWtgLgorCisjIyMgQ292ZXJhZ2UgZnJvbSBkZXZpY2UgdGVzdHMKKworICAgICQgbW1hCisgICAgJCBhZGIgc3luYworICAgICQgYWRiIHNoZWxsIFwKKyAgICAgICAgR0NPVl9QUkVGSVg9L2RhdGEvbG9jYWwvdG1wL2djb3YgXAorICAgICAgICBHQ09WX1BSRUZJWF9TVFJJUD1gZWNobyAkQU5EUk9JRF9CVUlMRF9UT1AgfCBncmVwIC1vIC8gfCB3YyAtbGAgXAorICAgICAgICAvZGF0YS9uYXRpdmV0ZXN0L2Jpb25pYy11bml0LXRlc3RzL2Jpb25pYy11bml0LXRlc3RzMzIKKyAgICAkIGFjb3YKKworYGFjb3ZgIHdpbGwgcHVsbCBhbGwgY292ZXJhZ2UgaW5mb3JtYXRpb24gZnJvbSB0aGUgZGV2aWNlLCBwdXNoIGl0IHRvIHRoZSByaWdodAorZGlyZWN0b3JpZXMsIHJ1biBgbGNvdmAsIGFuZCBvcGVuIHRoZSBjb3ZlcmFnZSByZXBvcnQgaW4geW91ciBicm93c2VyLgorCisjIyMgQ292ZXJhZ2UgZnJvbSBob3N0IHRlc3RzCisKK0ZpcnN0LCBidWlsZCBhbmQgcnVuIHRoZSBob3N0IHRlc3RzIGFzIHVzdWFsIChzZWUgYWJvdmUpLgorCisgICAgJCBjcm9vdAorICAgICQgbGNvdiAtYyAtZCAkQU5EUk9JRF9QUk9EVUNUX09VVCAtbyBjb3ZlcmFnZS5pbmZvCisgICAgJCBnZW5odG1sIC1vIGNvdnJlcG9ydCBjb3ZlcmFnZS5pbmZvICMgb3IgbGNvdiAtLWxpc3QgY292ZXJhZ2UuaW5mbworCitUaGUgY292ZXJhZ2UgcmVwb3J0IGlzIG5vdyBhdmFpbGFibGUgYXQgYGNvdnJlcG9ydC9pbmRleC5odG1sYC4KKworCitMUDMyIEFCSSBidWdzCistLS0tLS0tLS0tLS0tCisKK1RoaXMgcHJvYmFibHkgYmVsb25ncyBpbiB0aGUgTkRLIGRvY3VtZW50YXRpb24gcmF0aGVyIHRoYW4gaGVyZSwgYnV0IHRoZXNlCithcmUgdGhlIGtub3duIEFCSSBidWdzIGluIExQMzI6CisKKyAqIGB0aW1lX3RgIGlzIDMyLWJpdC4gPGh0dHA6Ly9iLzU4MTk3Mzc+CisKKyAqIGBvZmZfdGAgaXMgMzItYml0LiBUaGVyZSBpcyBgb2ZmNjRfdGAsIGJ1dCBubyBgX0ZJTEVfT0ZGU0VUX0JJVFNgIHN1cHBvcnQuCisgICBNYW55IG9mIHRoZSBgb2ZmNjRfdGAgZnVuY3Rpb25zIGFyZSBtaXNzaW5nIGluIG9sZGVyIHJlbGVhc2VzLCBhbmQKKyAgIHN0ZGlvIHVzZXMgMzItYml0IG9mZnNldHMsIHNvIHRoZXJlJ3Mgbm8gd2F5IHRvIGZ1bGx5IGltcGxlbWVudAorICAgYF9GSUxFX09GRlNFVF9CSVRTYC4KKworICogYHNpZ3NldF90YCBpcyB0b28gc21hbGwgb24gQVJNIGFuZCB4ODYgKGJ1dCBjb3JyZWN0IG9uIE1JUFMpLCBzbyBzdXBwb3J0CisgICBmb3IgcmVhbC10aW1lIHNpZ25hbHMgaXMgYnJva2VuLiA8aHR0cDovL2IvNTgyODg5OT4KZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvQW5kcm9pZC5tayBiL2JlbmNobWFya3MvQW5kcm9pZC5tawppbmRleCA0ZDdhZDk2Li5lMTU4MGZlIDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL0FuZHJvaWQubWsKKysrIGIvYmVuY2htYXJrcy9BbmRyb2lkLm1rCkBAIC0xNCwyMyArMTQsNTYgQEAKICMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAjCiAKLWlmbmVxICgkKEJVSUxEX1RJTllfQU5EUk9JRCksIHRydWUpCi0KIExPQ0FMX1BBVEggOj0gJChjYWxsIG15LWRpcikKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBCZW5jaG1hcmtzIGxpYnJhcnksIHVzYWJsZSBieSBwcm9qZWN0cyBvdXRzaWRlIHRoaXMgZGlyZWN0b3J5LgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitiZW5jaG1hcmtfY2ZsYWdzIDo9IFwKKyAgICAtTzIgXAorICAgIC1mbm8tYnVpbHRpbiBcCisgICAgLVdhbGwgXAorICAgIC1XZXh0cmEgXAorICAgIC1XZXJyb3IgXAorICAgIC1XdW51c2VkIFwKKworYmVuY2htYXJrX2NwcGZsYWdzIDo9IFwKKyAgICAtc3RkPWdudSsrMTEgXAorCitiZW5jaG1hcmtsaWJfc3JjX2ZpbGVzIDo9IFwKKyAgICBCZW5jaG1hcmsuY3BwIFwKKyAgICB1dGlscy5jcHAgXAorICAgIG1haW4uY3BwIFwKKworaW5jbHVkZSAkKENMRUFSX1ZBUlMpCitMT0NBTF9NT0RVTEUgOj0gbGliYmVuY2htYXJrCitMT0NBTF9DRkxBR1MgOj0gJChiZW5jaG1hcmtfY2ZsYWdzKQorTE9DQUxfQ1BQRkxBR1MgOj0gJChiZW5jaG1hcmtfY3BwZmxhZ3MpCitMT0NBTF9TUkNfRklMRVMgOj0gJChiZW5jaG1hcmtsaWJfc3JjX2ZpbGVzKQorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGJlbmNobWFya19jX2luY2x1ZGVzKQorTE9DQUxfU1RBVElDX0xJQlJBUklFUyA6PSBsaWJiYXNlCitpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCisKKyMgT25seSBzdXBwb3J0ZWQgb24gbGludXggc3lzdGVtcy4KK2lmZXEgKCQoSE9TVF9PUyksbGludXgpCisKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorTE9DQUxfTU9EVUxFIDo9IGxpYmJlbmNobWFyaworTE9DQUxfQ0ZMQUdTIDo9ICQoYmVuY2htYXJrX2NmbGFncykKK0xPQ0FMX0NQUEZMQUdTIDo9ICQoYmVuY2htYXJrX2NwcGZsYWdzKQorTE9DQUxfU1JDX0ZJTEVTIDo9ICQoYmVuY2htYXJrbGliX3NyY19maWxlcykKK0xPQ0FMX0NfSU5DTFVERVMgOj0gJChiZW5jaG1hcmtfY19pbmNsdWRlcykKK0xPQ0FMX01VTFRJTElCIDo9IGJvdGgKK0xPQ0FMX1NUQVRJQ19MSUJSQVJJRVMgOj0gbGliYmFzZQoraW5jbHVkZSAkKEJVSUxEX0hPU1RfU1RBVElDX0xJQlJBUlkpCisKK2VuZGlmCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgQmVuY2htYXJrcy4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotYmVuY2htYXJrX2NfZmxhZ3MgPSBcCi0gICAgLU8yIFwKLSAgICAtV2FsbCAtV2V4dHJhIC1XdW51c2VkIFwKLSAgICAtV2Vycm9yIFwKLSAgICAtZm5vLWJ1aWx0aW4gXAotICAgIC1zdGQ9Z251KysxMSBcCi0KLWJlbmNobWFya19zcmNfZmlsZXMgPSBcCi0gICAgYmVuY2htYXJrX21haW4uY3BwIFwKK2JlbmNobWFya19zcmNfZmlsZXMgOj0gXAogICAgIG1hdGhfYmVuY2htYXJrLmNwcCBcCiAgICAgcHJvcGVydHlfYmVuY2htYXJrLmNwcCBcCiAgICAgcHRocmVhZF9iZW5jaG1hcmsuY3BwIFwKQEAgLTQxLDQwICs3NCw1OCBAQAogICAgIHVuaXN0ZF9iZW5jaG1hcmsuY3BwIFwKIAogIyBCdWlsZCBiZW5jaG1hcmtzIGZvciB0aGUgZGV2aWNlICh3aXRoIGJpb25pYydzIC5zbykuIFJ1biB3aXRoOgotIyAgIGFkYiBzaGVsbCBiaW9uaWMtYmVuY2htYXJrcworIyAgIGFkYiBzaGVsbCBiaW9uaWMtYmVuY2htYXJrczMyCisjICAgYWRiIHNoZWxsIGJpb25pYy1iZW5jaG1hcmtzNjQKIGluY2x1ZGUgJChDTEVBUl9WQVJTKQogTE9DQUxfTU9EVUxFIDo9IGJpb25pYy1iZW5jaG1hcmtzCiBMT0NBTF9NT0RVTEVfU1RFTV8zMiA6PSBiaW9uaWMtYmVuY2htYXJrczMyCiBMT0NBTF9NT0RVTEVfU1RFTV82NCA6PSBiaW9uaWMtYmVuY2htYXJrczY0CiBMT0NBTF9NVUxUSUxJQiA6PSBib3RoCi1MT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQubWsKLUxPQ0FMX0NGTEFHUyArPSAkKGJlbmNobWFya19jX2ZsYWdzKQotTE9DQUxfQ19JTkNMVURFUyArPSBleHRlcm5hbC9zdGxwb3J0L3N0bHBvcnQgYmlvbmljLyBiaW9uaWMvbGlic3RkYysrL2luY2x1ZGUKLUxPQ0FMX1NIQVJFRF9MSUJSQVJJRVMgKz0gbGlic3RscG9ydAorTE9DQUxfQ0ZMQUdTIDo9ICQoYmVuY2htYXJrX2NmbGFncykKK0xPQ0FMX0NQUEZMQUdTIDo9ICQoYmVuY2htYXJrX2NwcGZsYWdzKQogTE9DQUxfU1JDX0ZJTEVTIDo9ICQoYmVuY2htYXJrX3NyY19maWxlcykKK0xPQ0FMX1NUQVRJQ19MSUJSQVJJRVMgOj0gbGliYmVuY2htYXJrIGxpYmJhc2UKIGluY2x1ZGUgJChCVUlMRF9FWEVDVVRBQkxFKQogCi1pZmVxICgkKEhPU1RfT1MpLSQoSE9TVF9BUkNIKSwkKGZpbHRlciAkKEhPU1RfT1MpLSQoSE9TVF9BUkNIKSxsaW51eC14ODYgbGludXgteDg2XzY0KSkKLWlmZXEgKCQoVEFSR0VUX0FSQ0gpLHg4NikKLUxJTktFUiA9IGxpbmtlcgotTkFUSVZFX1NVRkZJWD0zMgotZWxzZQotTElOS0VSID0gbGlua2VyNjQKLU5BVElWRV9TVUZGSVg9NjQKKyMgV2UgZG9uJ3QgYnVpbGQgYSBzdGF0aWMgYmVuY2htYXJrIGV4ZWN1dGFibGUgYmVjYXVzZSBpdCdzIG5vdCB1c3VhbGx5CisjIHVzZWZ1bC4gSWYgeW91J3JlIHRyeWluZyB0byBydW4gdGhlIGN1cnJlbnQgYmVuY2htYXJrcyBvbiBhbiBvbGRlcgorIyByZWxlYXNlLCBpdCdzIChzbyBmYXIgYXQgbGVhc3QpIGFsd2F5cyBiZWNhdXNlIHlvdSB3YW50IHRvIG1lYXN1cmUgdGhlCisjIHBlcmZvcm1hbmNlIG9mIHRoZSBvbGQgcmVsZWFzZSdzIGxpYmMsIGFuZCBhIHN0YXRpYyBiZW5jaG1hcmsgaXNuJ3QKKyMgZ29pbmcgdG8gbGV0IHlvdSBkbyB0aGF0LgorCisjIE9ubHkgc3VwcG9ydGVkIG9uIGxpbnV4IHN5c3RlbXMuCitpZmVxICgkKEhPU1RfT1MpLGxpbnV4KQorCisjIEJ1aWxkIGJlbmNobWFya3MgZm9yIHRoZSBob3N0IChhZ2FpbnN0IGdsaWJjISkuIFJ1biB3aXRoOgoraW5jbHVkZSAkKENMRUFSX1ZBUlMpCitMT0NBTF9NT0RVTEUgOj0gYmlvbmljLWJlbmNobWFya3MtZ2xpYmMKK0xPQ0FMX01PRFVMRV9TVEVNXzMyIDo9IGJpb25pYy1iZW5jaG1hcmtzLWdsaWJjMzIKK0xPQ0FMX01PRFVMRV9TVEVNXzY0IDo9IGJpb25pYy1iZW5jaG1hcmtzLWdsaWJjNjQKK0xPQ0FMX01VTFRJTElCIDo9IGJvdGgKK0xPQ0FMX0NGTEFHUyA6PSAkKGJlbmNobWFya19jZmxhZ3MpCitMT0NBTF9DUFBGTEFHUyA6PSAkKGJlbmNobWFya19jcHBmbGFncykKK0xPQ0FMX0xERkxBR1MgOj0gLWxydAorTE9DQUxfU1JDX0ZJTEVTIDo9ICQoYmVuY2htYXJrX3NyY19maWxlcykKK0xPQ0FMX1NUQVRJQ19MSUJSQVJJRVMgOj0gbGliYmVuY2htYXJrIGxpYmJhc2UKK2luY2x1ZGUgJChCVUlMRF9IT1NUX0VYRUNVVEFCTEUpCisKIGVuZGlmCiAKLWJpb25pYy1iZW5jaG1hcmtzLXJ1bi1vbi1ob3N0OiBiaW9uaWMtYmVuY2htYXJrcyAkKFRBUkdFVF9PVVRfRVhFQ1VUQUJMRVMpLyQoTElOS0VSKSAkKFRBUkdFVF9PVVRfRVhFQ1VUQUJMRVMpL3NoCi0JaWYgWyAhIC1kIC9zeXN0ZW0gLW8gISAtZCAvc3lzdGVtL2JpbiBdOyB0aGVuIFwKLQkgIGVjaG8gIkF0dGVtcHRpbmcgdG8gY3JlYXRlIC9zeXN0ZW0vYmluIjsgXAotCSAgc3VkbyBta2RpciAtcCAtbSAwNzc3IC9zeXN0ZW0vYmluOyBcCi0JZmkKLQlta2RpciAtcCAkKFRBUkdFVF9PVVRfREFUQSkvbG9jYWwvdG1wCi0JY3AgJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS8kKExJTktFUikgL3N5c3RlbS9iaW4KLQljcCAkKFRBUkdFVF9PVVRfRVhFQ1VUQUJMRVMpL3NoIC9zeXN0ZW0vYmluCitpZmVxICgkKEhPU1RfT1MpLSQoSE9TVF9BUkNIKSwkKGZpbHRlciAkKEhPU1RfT1MpLSQoSE9TVF9BUkNIKSxsaW51eC14ODYgbGludXgteDg2XzY0KSkKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS8uLi9idWlsZC9ydW4tb24taG9zdC5taworCitpZmVxICgkKFRBUkdFVF9BUkNIKSwkKGZpbHRlciAkKFRBUkdFVF9BUkNIKSx4ODYgeDg2XzY0KSkKK2Jpb25pYy1iZW5jaG1hcmtzLXJ1bi1vbi1ob3N0MzI6IGJpb25pYy1iZW5jaG1hcmtzIGJpb25pYy1wcmVwYXJlLXJ1bi1vbi1ob3N0CiAJQU5EUk9JRF9EQVRBPSQoVEFSR0VUX09VVF9EQVRBKSBcCiAJQU5EUk9JRF9ST09UPSQoVEFSR0VUX09VVCkgXAotCUxEX0xJQlJBUllfUEFUSD0kKFRBUkdFVF9PVVRfU0hBUkVEX0xJQlJBUklFUykgXAotCQkkKFRBUkdFVF9PVVRfRVhFQ1VUQUJMRVMpL2Jpb25pYy1iZW5jaG1hcmtzJChOQVRJVkVfU1VGRklYKSAkKEJJT05JQ19CRU5DSE1BUktTX0ZMQUdTKQotZW5kaWYgIyBsaW51eC14ODYKKwkJJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS9iaW9uaWMtYmVuY2htYXJrczMyICQoQklPTklDX0JFTkNITUFSS1NfRkxBR1MpCitlbmRpZgogCi1lbmRpZiAjICFCVUlMRF9USU5ZX0FORFJPSUQKK2lmZXEgKCQoVEFSR0VUX0lTXzY0X0JJVCksdHJ1ZSkKK2Jpb25pYy1iZW5jaG1hcmtzLXJ1bi1vbi1ob3N0NjQ6IGJpb25pYy1iZW5jaG1hcmtzIGJpb25pYy1wcmVwYXJlLXJ1bi1vbi1ob3N0CisJQU5EUk9JRF9EQVRBPSQoVEFSR0VUX09VVF9EQVRBKSBcCisJQU5EUk9JRF9ST09UPSQoVEFSR0VUX09VVCkgXAorCQkkKFRBUkdFVF9PVVRfRVhFQ1VUQUJMRVMpL2Jpb25pYy1iZW5jaG1hcmtzNjQgJChCSU9OSUNfQkVOQ0hNQVJLU19GTEFHUykKK2VuZGlmCisKK2VuZGlmCmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL0JlbmNobWFyay5jcHAgYi9iZW5jaG1hcmtzL0JlbmNobWFyay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE2MDAwZgotLS0gL2Rldi9udWxsCisrKyBiL2JlbmNobWFya3MvQmVuY2htYXJrLmNwcApAQCAtMCwwICsxLDE1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHJlZ2V4Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNpbmNsdWRlIDxzdHJpbmc+CisjaW5jbHVkZSA8dmVjdG9yPgorCisjaW5jbHVkZSA8YmFzZS9zdHJpbmdwcmludGYuaD4KKworI2luY2x1ZGUgPGJlbmNobWFyay9CZW5jaG1hcmsuaD4KKworI2luY2x1ZGUgInV0aWxzLmgiCisKK25hbWVzcGFjZSB0ZXN0aW5nIHsKKworc3RhdGljIHVpbnQ2NF90IE5hbm9UaW1lKCkgeworICBzdHJ1Y3QgdGltZXNwZWMgdDsKKyAgdC50dl9zZWMgPSB0LnR2X25zZWMgPSAwOworICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnQpOworICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHQudHZfc2VjKSAqIDEwMDAwMDAwMDBMTCArIHQudHZfbnNlYzsKK30KKworYm9vbCBCZW5jaG1hcms6OmhlYWRlcl9wcmludGVkXzsKKworc3RkOjp2ZWN0b3I8QmVuY2htYXJrKj4mIEJlbmNobWFyazo6TGlzdCgpIHsKKyAgc3RhdGljIHN0ZDo6dmVjdG9yPEJlbmNobWFyayo+IGxpc3Q7CisgIHJldHVybiBsaXN0OworfQorCitpbnQgQmVuY2htYXJrOjpNYXhOYW1lQ29sdW1uV2lkdGgoKSB7CisgIHNpemVfdCBtYXggPSAyMDsKKyAgZm9yIChhdXRvJiBiZW5jaG1hcmsgOiBMaXN0KCkpIHsKKyAgICBtYXggPSBzdGQ6Om1heChtYXgsIGJlbmNobWFyay0+TmFtZUNvbHVtbldpZHRoKCkpOworICB9CisgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1heCk7Cit9CisKK3NpemVfdCBCZW5jaG1hcms6OlJ1bkFsbChzdGQ6OnZlY3RvcjxyZWdleF90Kj4mIHJlZ3MpIHsKKyAgc2l6ZV90IGJlbmNobWFya3NfcnVuID0gMDsKKyAgaGVhZGVyX3ByaW50ZWRfID0gZmFsc2U7CisgIGZvciAoYXV0byYgYmVuY2htYXJrIDogTGlzdCgpKSB7CisgICAgYmVuY2htYXJrc19ydW4gKz0gYmVuY2htYXJrLT5SdW5BbGxBcmdzKHJlZ3MpOworICB9CisgIHJldHVybiBiZW5jaG1hcmtzX3J1bjsKK30KKwordm9pZCBCZW5jaG1hcms6OlByaW50SGVhZGVyKCkgeworICBpZiAoIWhlYWRlcl9wcmludGVkXykgeworICAgIHByaW50ZigiJS0qcyAlMTBzICUxMHNcbiIsIE1heE5hbWVDb2x1bW5XaWR0aCgpLCAiIiwgIml0ZXJhdGlvbnMiLCAibnMvb3AiKTsKKyAgICBoZWFkZXJfcHJpbnRlZF8gPSB0cnVlOworICB9Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorYm9vbCBCZW5jaG1hcmtUPFQ+OjpTaG91bGRSdW4oc3RkOjp2ZWN0b3I8cmVnZXhfdCo+JiByZWdzLCBUIGFyZykgeworICBpZiAocmVncy5lbXB0eSgpKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBmb3IgKGNvbnN0IGF1dG8mIHJlIDogcmVncykgeworICAgIGlmIChyZWdleGVjKHJlLCBHZXROYW1lU3RyKGFyZykuY19zdHIoKSwgMCwgTlVMTCwgMCkgIT0gUkVHX05PTUFUQ0gpIHsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgfQorICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQmVuY2htYXJrOjpTdG9wQmVuY2htYXJrVGltaW5nKCkgeworICBpZiAoc3RhcnRfdGltZV9uc18gIT0gMCkgeworICAgIHRvdGFsX3RpbWVfbnNfICs9IE5hbm9UaW1lKCkgLSBzdGFydF90aW1lX25zXzsKKyAgfQorICBzdGFydF90aW1lX25zXyA9IDA7Cit9CisKK3ZvaWQgQmVuY2htYXJrOjpTdGFydEJlbmNobWFya1RpbWluZygpIHsKKyAgaWYgKHN0YXJ0X3RpbWVfbnNfID09IDApIHsKKyAgICBzdGFydF90aW1lX25zXyA9IE5hbm9UaW1lKCk7CisgIH0KK30KKworc3RkOjpzdHJpbmcgQmVuY2htYXJrV2l0aG91dEFyZzo6R2V0TmFtZVN0cih2b2lkKikgeworICByZXR1cm4gTmFtZSgpOworfQorCit0ZW1wbGF0ZSA8Pgorc3RkOjpzdHJpbmcgQmVuY2htYXJrV2l0aEFyZzxpbnQ+OjpHZXROYW1lU3RyKGludCBhcmcpIHsKKyAgcmV0dXJuIE5hbWUoKSArICIvIiArIFByZXR0eUludChhcmcsIDIpOworfQorCit0ZW1wbGF0ZSA8Pgorc3RkOjpzdHJpbmcgQmVuY2htYXJrV2l0aEFyZzxkb3VibGU+OjpHZXROYW1lU3RyKGRvdWJsZSBhcmcpIHsKKyAgcmV0dXJuIE5hbWUoKSArICIvIiArIGFuZHJvaWQ6OmJhc2U6OlN0cmluZ1ByaW50ZigiJTAuNmYiLCBhcmcpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgordm9pZCBCZW5jaG1hcmtUPFQ+OjpSdW5XaXRoQXJnKFQgYXJnKSB7CisgIGludCBuZXdfaXRlcmF0aW9ucyA9IDE7CisgIGludCBpdGVyYXRpb25zOworICB3aGlsZSAobmV3X2l0ZXJhdGlvbnMgPCAxZTgpIHsKKyAgICBieXRlc19wcm9jZXNzZWRfID0gMDsKKyAgICB0b3RhbF90aW1lX25zXyA9IDA7CisgICAgc3RhcnRfdGltZV9uc18gPSAwOworCisgICAgaXRlcmF0aW9ucyA9IG5ld19pdGVyYXRpb25zOworICAgIFJ1bkl0ZXJhdGlvbnMoaXRlcmF0aW9ucywgYXJnKTsKKyAgICBpZiAodG90YWxfdGltZV9uc18gPj0gMWU5KSB7CisgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAodG90YWxfdGltZV9uc18vaXRlcmF0aW9ucyA9PSAwKSB7CisgICAgICBuZXdfaXRlcmF0aW9ucyA9IDFlOTsKKyAgICB9IGVsc2UgeworICAgICAgbmV3X2l0ZXJhdGlvbnMgPSAxZTkvICh0b3RhbF90aW1lX25zXy9pdGVyYXRpb25zKTsKKyAgICB9CisgICAgbmV3X2l0ZXJhdGlvbnMgPSBzdGQ6Om1heChpdGVyYXRpb25zICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptaW4obmV3X2l0ZXJhdGlvbnMgKyBuZXdfaXRlcmF0aW9ucy8yLCAxMDAqaXRlcmF0aW9ucykpOworCisgICAgbmV3X2l0ZXJhdGlvbnMgPSBSb3VuZChuZXdfaXRlcmF0aW9ucyk7CisgIH0KKworICBwcmludGYoIiUtKnMgJTEwcyAlMTAiIFBSSWQ2NCwgTWF4TmFtZUNvbHVtbldpZHRoKCksIEdldE5hbWVTdHIoYXJnKS5jX3N0cigpLAorICAgICAgICAgUHJldHR5SW50KGl0ZXJhdGlvbnMsIDEwKS5jX3N0cigpLCB0b3RhbF90aW1lX25zXy9pdGVyYXRpb25zKTsKKworICBpZiAodG90YWxfdGltZV9uc18gPiAwICYmIGJ5dGVzX3Byb2Nlc3NlZF8gPiAwKSB7CisgICAgZG91YmxlIGdpYl9wcm9jZXNzZWQgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGJ5dGVzX3Byb2Nlc3NlZF8pLzFlOTsKKyAgICBkb3VibGUgc2Vjb25kcyA9IHN0YXRpY19jYXN0PGRvdWJsZT4odG90YWxfdGltZV9uc18pLzFlOTsKKyAgICBwcmludGYoIiAlOC4zZiBHaUIvcyIsIGdpYl9wcm9jZXNzZWQvc2Vjb25kcyk7CisgIH0KKyAgcHJpbnRmKCJcbiIpOworICBmZmx1c2goc3Rkb3V0KTsKK30KKwordGVtcGxhdGUgY2xhc3MgQmVuY2htYXJrVDxpbnQ+OwordGVtcGxhdGUgY2xhc3MgQmVuY2htYXJrVDxkb3VibGU+OwordGVtcGxhdGUgY2xhc3MgQmVuY2htYXJrVDx2b2lkKj47CisKK3RlbXBsYXRlIGNsYXNzIEJlbmNobWFya1dpdGhBcmc8aW50PjsKK3RlbXBsYXRlIGNsYXNzIEJlbmNobWFya1dpdGhBcmc8ZG91YmxlPjsKKworfSAgLy8gbmFtZXNwYWNlIHRlc3RpbmcKZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvYmVuY2htYXJrLmggYi9iZW5jaG1hcmtzL2JlbmNobWFyay5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkN2FmNTBmLi4wMDAwMDAwCi0tLSBhL2JlbmNobWFya3MvYmVuY2htYXJrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGludC5oPgotCi0jaW5jbHVkZSA8dmVjdG9yPgotCi1uYW1lc3BhY2UgdGVzdGluZyB7Ci0KLWNsYXNzIEJlbmNobWFyayB7Ci0gcHVibGljOgotICBCZW5jaG1hcmsoY29uc3QgY2hhciogbmFtZSwgdm9pZCAoKmZuKShpbnQpKSB7Ci0gICAgUmVnaXN0ZXIobmFtZSwgZm4sIE5VTEwpOwotICB9Ci0KLSAgQmVuY2htYXJrKGNvbnN0IGNoYXIqIG5hbWUsIHZvaWQgKCpmbl9yYW5nZSkoaW50LCBpbnQpKSB7Ci0gICAgUmVnaXN0ZXIobmFtZSwgTlVMTCwgZm5fcmFuZ2UpOwotICB9Ci0KLSAgQmVuY2htYXJrKiBBcmcoaW50IHgpOwotCi0gIGNvbnN0IGNoYXIqIE5hbWUoKTsKLQotICBib29sIFNob3VsZFJ1bihpbnQgYXJnYywgY2hhciogYXJndltdKTsKLSAgdm9pZCBSdW4oKTsKLQotIHByaXZhdGU6Ci0gIGNvbnN0IGNoYXIqIG5hbWVfOwotCi0gIHZvaWQgKCpmbl8pKGludCk7Ci0gIHZvaWQgKCpmbl9yYW5nZV8pKGludCwgaW50KTsKLQotICBzdGQ6OnZlY3RvcjxpbnQ+IGFyZ3NfOwotCi0gIHZvaWQgUmVnaXN0ZXIoY29uc3QgY2hhciogbmFtZSwgdm9pZCAoKmZuKShpbnQpLCB2b2lkICgqZm5fcmFuZ2UpKGludCwgaW50KSk7Ci0gIHZvaWQgUnVuUmVwZWF0ZWRseVdpdGhBcmcoaW50IGl0ZXJhdGlvbnMsIGludCBhcmcpOwotICB2b2lkIFJ1bldpdGhBcmcoaW50IGFyZyk7Ci19OwotCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotCi12b2lkIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKGludDY0X3QpOwotdm9pZCBTdG9wQmVuY2htYXJrVGltaW5nKCk7Ci12b2lkIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7Ci0KLSNkZWZpbmUgQkVOQ0hNQVJLKGYpIFwKLSAgICBzdGF0aWMgOjp0ZXN0aW5nOjpCZW5jaG1hcmsqIF9iZW5jaG1hcmtfIyNmIF9fYXR0cmlidXRlX18oKHVudXNlZCkpID0gXAotICAgICAgICAobmV3IDo6dGVzdGluZzo6QmVuY2htYXJrKCNmLCBmKSkKZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvYmVuY2htYXJrL0JlbmNobWFyay5oIGIvYmVuY2htYXJrcy9iZW5jaG1hcmsvQmVuY2htYXJrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU1YzFhMgotLS0gL2Rldi9udWxsCisrKyBiL2JlbmNobWFya3MvYmVuY2htYXJrL0JlbmNobWFyay5oCkBAIC0wLDAgKzEsMTY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBCRU5DSE1BUktTX0JFTkNITUFSS19IXworI2RlZmluZSBCRU5DSE1BUktTX0JFTkNITUFSS19IXworCisjaW5jbHVkZSA8cmVnZXguaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKK25hbWVzcGFjZSB0ZXN0aW5nIHsKKworY2xhc3MgQmVuY2htYXJrIHsKK3B1YmxpYzoKKyAgQmVuY2htYXJrKCkgeworICAgIExpc3QoKS5wdXNoX2JhY2sodGhpcyk7CisgIH0KKyAgdmlydHVhbCB+QmVuY2htYXJrKCkge30KKworICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIE5hbWUoKSA9IDA7CisKKyAgdmlydHVhbCBzaXplX3QgUnVuQWxsQXJncyhzdGQ6OnZlY3RvcjxyZWdleF90Kj4mKSA9IDA7CisKKyAgdm9pZCBTZXRCZW5jaG1hcmtCeXRlc1Byb2Nlc3NlZCh1aW50NjRfdCBieXRlcykgeyBieXRlc19wcm9jZXNzZWRfICs9IGJ5dGVzOyB9CisgIHZvaWQgU3RvcEJlbmNobWFya1RpbWluZygpOworICB2b2lkIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CisKKyAgLy8gUnVuIGFsbCBvZiB0aGUgYmVuY2htYXJrcyB0aGF0IGhhdmUgcmVnaXN0ZXJlZC4KKyAgc3RhdGljIHNpemVfdCBSdW5BbGwoc3RkOjp2ZWN0b3I8cmVnZXhfdCo+Jik7CisKKyAgc3RhdGljIHN0ZDo6dmVjdG9yPEJlbmNobWFyayo+JiBMaXN0KCk7CisKKyAgc3RhdGljIGludCBNYXhOYW1lQ29sdW1uV2lkdGgoKTsKKworcHJvdGVjdGVkOgorICB2aXJ0dWFsIHNpemVfdCBOYW1lQ29sdW1uV2lkdGgoKSA9IDA7CisKKyAgdWludDY0X3QgYnl0ZXNfcHJvY2Vzc2VkXzsKKyAgdWludDY0X3QgdG90YWxfdGltZV9uc187CisgIHVpbnQ2NF90IHN0YXJ0X3RpbWVfbnNfOworCisgIHN0YXRpYyBib29sIGhlYWRlcl9wcmludGVkXzsKKworICBzdGF0aWMgdm9pZCBQcmludEhlYWRlcigpOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitjbGFzcyBCZW5jaG1hcmtUIDogcHVibGljIEJlbmNobWFyayB7CitwdWJsaWM6CisgIEJlbmNobWFya1QoKSB7fQorICB2aXJ0dWFsIH5CZW5jaG1hcmtUKCkge30KKworcHJvdGVjdGVkOgorICBib29sIFNob3VsZFJ1bihzdGQ6OnZlY3RvcjxyZWdleF90Kj4mLCBUIGFyZyk7CisgIHZvaWQgUnVuV2l0aEFyZyhUIGFyZyk7CisgIHZpcnR1YWwgdm9pZCBSdW5JdGVyYXRpb25zKGludCwgVCkgPSAwOworICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIEdldE5hbWVTdHIoVCkgPSAwOworfTsKKworY2xhc3MgQmVuY2htYXJrV2l0aG91dEFyZyA6IHB1YmxpYyBCZW5jaG1hcmtUPHZvaWQqPiB7CitwdWJsaWM6CisgIEJlbmNobWFya1dpdGhvdXRBcmcoKSB7fQorICB2aXJ0dWFsIH5CZW5jaG1hcmtXaXRob3V0QXJnKCkge30KKworcHJvdGVjdGVkOgorICB2aXJ0dWFsIHNpemVfdCBSdW5BbGxBcmdzKHN0ZDo6dmVjdG9yPHJlZ2V4X3QqPiYgcmVncykgb3ZlcnJpZGUgeworICAgIHNpemVfdCBiZW5jaG1hcmtzX3J1biA9IDA7CisgICAgaWYgKEJlbmNobWFya1Q8dm9pZCo+OjpTaG91bGRSdW4ocmVncywgbnVsbHB0cikpIHsKKyAgICAgIFByaW50SGVhZGVyKCk7CisgICAgICBSdW5XaXRoQXJnKG51bGxwdHIpOworICAgICAgYmVuY2htYXJrc19ydW4rKzsKKyAgICB9CisgICAgcmV0dXJuIGJlbmNobWFya3NfcnVuOworICB9CisKKyAgdmlydHVhbCB2b2lkIFJ1bkl0ZXJhdGlvbnMoaW50IGl0ZXJzLCB2b2lkKikgb3ZlcnJpZGUgeworICAgIFJ1bihpdGVycyk7CisgIH0KKworICB2aXJ0dWFsIHZvaWQgUnVuKGludCkgPSAwOworCisgIHZpcnR1YWwgc2l6ZV90IE5hbWVDb2x1bW5XaWR0aCgpIG92ZXJyaWRlIHsKKyAgICByZXR1cm4gTmFtZSgpLnNpemUoKTsKKyAgfQorCisgIHZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0TmFtZVN0cih2b2lkICopIG92ZXJyaWRlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2NsYXNzIEJlbmNobWFya1dpdGhBcmcgOiBwdWJsaWMgQmVuY2htYXJrVDxUPiB7CitwdWJsaWM6CisgIEJlbmNobWFya1dpdGhBcmcoKSB7fQorICB2aXJ0dWFsIH5CZW5jaG1hcmtXaXRoQXJnKCkge30KKworICBCZW5jaG1hcmtXaXRoQXJnKiBBcmcoVCBhcmcpIHsKKyAgICBhcmdzXy5wdXNoX2JhY2soYXJnKTsKKyAgICByZXR1cm4gdGhpczsKKyAgfQorCitwcm90ZWN0ZWQ6CisgIHZpcnR1YWwgc2l6ZV90IE5hbWVDb2x1bW5XaWR0aCgpIG92ZXJyaWRlIHsKKyAgICBzaXplX3QgbWF4ID0gMDsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGFyZyA6IGFyZ3NfKSB7CisgICAgICBtYXggPSBzdGQ6Om1heChtYXgsIEdldE5hbWVTdHIoYXJnKS5zaXplKCkpOworICAgIH0KKyAgICByZXR1cm4gbWF4OworICB9CisKKyAgc3RkOjpzdHJpbmcgR2V0TmFtZVN0cihUIGFyZykgb3ZlcnJpZGU7CisKKyAgdmlydHVhbCBzaXplX3QgUnVuQWxsQXJncyhzdGQ6OnZlY3RvcjxyZWdleF90Kj4mIHJlZ3MpIG92ZXJyaWRlIHsKKyAgICBzaXplX3QgYmVuY2htYXJrc19ydW4gPSAwOworICAgIGZvciAoVCYgYXJnIDogYXJnc18pIHsKKyAgICAgIGlmIChCZW5jaG1hcmtUPFQ+OjpTaG91bGRSdW4ocmVncywgYXJnKSkgeworICAgICAgICBCZW5jaG1hcms6OlByaW50SGVhZGVyKCk7CisgICAgICAgIEJlbmNobWFya1Q8VD46OlJ1bldpdGhBcmcoYXJnKTsKKyAgICAgICAgYmVuY2htYXJrc19ydW4rKzsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGJlbmNobWFya3NfcnVuOworICB9CisKKyAgdmlydHVhbCB2b2lkIFJ1bkl0ZXJhdGlvbnMoaW50IGl0ZXJzLCBUIGFyZykgb3ZlcnJpZGUgeworICAgIFJ1bihpdGVycywgYXJnKTsKKyAgfQorCisgIHZpcnR1YWwgdm9pZCBSdW4oaW50IGl0ZXJzLCBUIGFyZykgPSAwOworCitwcml2YXRlOgorICBzdGQ6OnZlY3RvcjxUPiBhcmdzXzsKK307CisKK30gIC8vIG5hbWVzcGFjZSB0ZXN0aW5nCisKKyNkZWZpbmUgQkVOQ0hNQVJLX1NUQVJUKGYsIHN1cGVyX2NsYXNzKSBcCisgIGNsYXNzIGYgOiBwdWJsaWMgc3VwZXJfY2xhc3MgeyBcCisgIHB1YmxpYzogXAorICAgIGYoKSB7fSBcCisgICAgdmlydHVhbCB+ZigpIHt9IFwKKyAgICB2aXJ0dWFsIHN0ZDo6c3RyaW5nIE5hbWUoKSBvdmVycmlkZSB7IHJldHVybiAjZjsgfSBcCisKKyNkZWZpbmUgQkVOQ0hNQVJLX05PX0FSRyhmKSBcCisgIEJFTkNITUFSS19TVEFSVChmLCA6OnRlc3Rpbmc6OkJlbmNobWFya1dpdGhvdXRBcmcpIFwKKyAgICB2aXJ0dWFsIHZvaWQgUnVuKGludCkgb3ZlcnJpZGU7IFwKKyAgfTsgXAorICBzdGF0aWMgOjp0ZXN0aW5nOjpCZW5jaG1hcmsqIF9fYmVuY2htYXJrXyMjZiA9IG5ldyBmKCkKKworI2RlZmluZSBCRU5DSE1BUktfV0lUSF9BUkcoZiwgYXJnX3R5cGUpIFwKKyAgQkVOQ0hNQVJLX1NUQVJUKGYsIDo6dGVzdGluZzo6QmVuY2htYXJrV2l0aEFyZzxhcmdfdHlwZT4pIFwKKyAgICB2aXJ0dWFsIHZvaWQgUnVuKGludCwgYXJnX3R5cGUpIG92ZXJyaWRlOyBcCisgIH07IFwKKyAgc3RhdGljIDo6dGVzdGluZzo6QmVuY2htYXJrV2l0aEFyZzxhcmdfdHlwZT4qIF9fYmVuY2htYXJrXyMjZiA9IChuZXcgZigpKQorCisjZW5kaWYgIC8vIEJFTkNITUFSS1NfQkVOQ0hNQVJLX0hfCmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL2JlbmNobWFya19tYWluLmNwcCBiL2JlbmNobWFya3MvYmVuY2htYXJrX21haW4uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjA2NzBiLi4wMDAwMDAwCi0tLSBhL2JlbmNobWFya3MvYmVuY2htYXJrX21haW4uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjI2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSAiYmVuY2htYXJrLmgiCi0KLSNpbmNsdWRlIDxyZWdleC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0KLSNpbmNsdWRlIDxzdHJpbmc+Ci0jaW5jbHVkZSA8bWFwPgotCi0jaW5jbHVkZSA8aW50dHlwZXMuaD4KLQotc3RhdGljIGludDY0X3QgZ19ieXRlc19wcm9jZXNzZWQ7Ci1zdGF0aWMgaW50NjRfdCBnX2JlbmNobWFya190b3RhbF90aW1lX25zOwotc3RhdGljIGludDY0X3QgZ19iZW5jaG1hcmtfc3RhcnRfdGltZV9uczsKLQotdHlwZWRlZiBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgOjp0ZXN0aW5nOjpCZW5jaG1hcmsqPiBCZW5jaG1hcmtNYXA7Ci10eXBlZGVmIEJlbmNobWFya01hcDo6aXRlcmF0b3IgQmVuY2htYXJrTWFwSXQ7Ci1zdGF0aWMgQmVuY2htYXJrTWFwIGdfYmVuY2htYXJrczsKLXN0YXRpYyBpbnQgZ19uYW1lX2NvbHVtbl93aWR0aCA9IDIwOwotCi1zdGF0aWMgaW50IFJvdW5kKGludCBuKSB7Ci0gIGludCBiYXNlID0gMTsKLSAgd2hpbGUgKGJhc2UqMTAgPCBuKSB7Ci0gICAgYmFzZSAqPSAxMDsKLSAgfQotICBpZiAobiA8IDIqYmFzZSkgewotICAgIHJldHVybiAyKmJhc2U7Ci0gIH0KLSAgaWYgKG4gPCA1KmJhc2UpIHsKLSAgICByZXR1cm4gNSpiYXNlOwotICB9Ci0gIHJldHVybiAxMCpiYXNlOwotfQotCi1zdGF0aWMgaW50NjRfdCBOYW5vVGltZSgpIHsKLSAgc3RydWN0IHRpbWVzcGVjIHQ7Ci0gIHQudHZfc2VjID0gdC50dl9uc2VjID0gMDsKLSAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0KTsKLSAgcmV0dXJuIHN0YXRpY19jYXN0PGludDY0X3Q+KHQudHZfc2VjKSAqIDEwMDAwMDAwMDBMTCArIHQudHZfbnNlYzsKLX0KLQotbmFtZXNwYWNlIHRlc3RpbmcgewotCi1CZW5jaG1hcmsqIEJlbmNobWFyazo6QXJnKGludCBhcmcpIHsKLSAgYXJnc18ucHVzaF9iYWNrKGFyZyk7Ci0gIHJldHVybiB0aGlzOwotfQotCi1jb25zdCBjaGFyKiBCZW5jaG1hcms6Ok5hbWUoKSB7Ci0gIHJldHVybiBuYW1lXzsKLX0KLQotYm9vbCBCZW5jaG1hcms6OlNob3VsZFJ1bihpbnQgYXJnYywgY2hhciogYXJndltdKSB7Ci0gIGlmIChhcmdjID09IDEpIHsKLSAgICByZXR1cm4gdHJ1ZTsgIC8vIFdpdGggbm8gYXJndW1lbnRzLCB3ZSBydW4gYWxsIGJlbmNobWFya3MuCi0gIH0KLSAgLy8gT3RoZXJ3aXNlLCB3ZSBpbnRlcnByZXQgZWFjaCBhcmd1bWVudCBhcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKLSAgLy8gc2VlIGlmIGFueSBvZiBvdXIgYmVuY2htYXJrcyBtYXRjaC4KLSAgZm9yIChpbnQgaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKLSAgICByZWdleF90IHJlOwotICAgIGlmIChyZWdjb21wKCZyZSwgYXJndltpXSwgMCkgIT0gMCkgewotICAgICAgZnByaW50ZihzdGRlcnIsICJjb3VsZG4ndCBjb21waWxlIFwiJXNcIiBhcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiFcbiIsIGFyZ3ZbaV0pOwotICAgICAgZXhpdChFWElUX0ZBSUxVUkUpOwotICAgIH0KLSAgICBpbnQgbWF0Y2ggPSByZWdleGVjKCZyZSwgbmFtZV8sIDAsIE5VTEwsIDApOwotICAgIHJlZ2ZyZWUoJnJlKTsKLSAgICBpZiAobWF0Y2ggIT0gUkVHX05PTUFUQ0gpIHsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgfQotICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgQmVuY2htYXJrOjpSZWdpc3Rlcihjb25zdCBjaGFyKiBuYW1lLCB2b2lkICgqZm4pKGludCksIHZvaWQgKCpmbl9yYW5nZSkoaW50LCBpbnQpKSB7Ci0gIG5hbWVfID0gbmFtZTsKLSAgZm5fID0gZm47Ci0gIGZuX3JhbmdlXyA9IGZuX3JhbmdlOwotCi0gIGlmIChmbl8gPT0gTlVMTCAmJiBmbl9yYW5nZV8gPT0gTlVMTCkgewotICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IG1pc3NpbmcgZnVuY3Rpb25cbiIsIG5hbWVfKTsKLSAgICBleGl0KEVYSVRfRkFJTFVSRSk7Ci0gIH0KLQotICBnX2JlbmNobWFya3MuaW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKG5hbWUsIHRoaXMpKTsKLX0KLQotdm9pZCBCZW5jaG1hcms6OlJ1bigpIHsKLSAgaWYgKGZuXyAhPSBOVUxMKSB7Ci0gICAgUnVuV2l0aEFyZygwKTsKLSAgfSBlbHNlIHsKLSAgICBpZiAoYXJnc18uZW1wdHkoKSkgewotICAgICAgZnByaW50ZihzdGRlcnIsICIlczogbm8gYXJncyFcbiIsIG5hbWVfKTsKLSAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKLSAgICB9Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmdzXy5zaXplKCk7ICsraSkgewotICAgICAgUnVuV2l0aEFyZyhhcmdzX1tpXSk7Ci0gICAgfQotICB9Ci19Ci0KLXZvaWQgQmVuY2htYXJrOjpSdW5SZXBlYXRlZGx5V2l0aEFyZyhpbnQgaXRlcmF0aW9ucywgaW50IGFyZykgewotICBnX2J5dGVzX3Byb2Nlc3NlZCA9IDA7Ci0gIGdfYmVuY2htYXJrX3RvdGFsX3RpbWVfbnMgPSAwOwotICBnX2JlbmNobWFya19zdGFydF90aW1lX25zID0gTmFub1RpbWUoKTsKLSAgaWYgKGZuXyAhPSBOVUxMKSB7Ci0gICAgZm5fKGl0ZXJhdGlvbnMpOwotICB9IGVsc2UgewotICAgIGZuX3JhbmdlXyhpdGVyYXRpb25zLCBhcmcpOwotICB9Ci0gIGlmIChnX2JlbmNobWFya19zdGFydF90aW1lX25zICE9IDApIHsKLSAgICBnX2JlbmNobWFya190b3RhbF90aW1lX25zICs9IE5hbm9UaW1lKCkgLSBnX2JlbmNobWFya19zdGFydF90aW1lX25zOwotICB9Ci19Ci0KLXZvaWQgQmVuY2htYXJrOjpSdW5XaXRoQXJnKGludCBhcmcpIHsKLSAgLy8gcnVuIG9uY2UgaW4gY2FzZSBpdCdzIGV4cGVuc2l2ZQotICBpbnQgaXRlcmF0aW9ucyA9IDE7Ci0gIFJ1blJlcGVhdGVkbHlXaXRoQXJnKGl0ZXJhdGlvbnMsIGFyZyk7Ci0gIHdoaWxlIChnX2JlbmNobWFya190b3RhbF90aW1lX25zIDwgMWU5ICYmIGl0ZXJhdGlvbnMgPCAxZTkpIHsKLSAgICBpbnQgbGFzdCA9IGl0ZXJhdGlvbnM7Ci0gICAgaWYgKGdfYmVuY2htYXJrX3RvdGFsX3RpbWVfbnMvaXRlcmF0aW9ucyA9PSAwKSB7Ci0gICAgICBpdGVyYXRpb25zID0gMWU5OwotICAgIH0gZWxzZSB7Ci0gICAgICBpdGVyYXRpb25zID0gMWU5IC8gKGdfYmVuY2htYXJrX3RvdGFsX3RpbWVfbnMvaXRlcmF0aW9ucyk7Ci0gICAgfQotICAgIGl0ZXJhdGlvbnMgPSBzdGQ6Om1heChsYXN0ICsgMSwgc3RkOjptaW4oaXRlcmF0aW9ucyArIGl0ZXJhdGlvbnMvMiwgMTAwKmxhc3QpKTsKLSAgICBpdGVyYXRpb25zID0gUm91bmQoaXRlcmF0aW9ucyk7Ci0gICAgUnVuUmVwZWF0ZWRseVdpdGhBcmcoaXRlcmF0aW9ucywgYXJnKTsKLSAgfQotCi0gIGNoYXIgdGhyb3VnaHB1dFsxMDBdOwotICB0aHJvdWdocHV0WzBdID0gJ1wwJzsKLSAgaWYgKGdfYmVuY2htYXJrX3RvdGFsX3RpbWVfbnMgPiAwICYmIGdfYnl0ZXNfcHJvY2Vzc2VkID4gMCkgewotICAgIGRvdWJsZSBtaWJfcHJvY2Vzc2VkID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihnX2J5dGVzX3Byb2Nlc3NlZCkvMWU2OwotICAgIGRvdWJsZSBzZWNvbmRzID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihnX2JlbmNobWFya190b3RhbF90aW1lX25zKS8xZTk7Ci0gICAgc25wcmludGYodGhyb3VnaHB1dCwgc2l6ZW9mKHRocm91Z2hwdXQpLCAiICU4LjJmIE1pQi9zIiwgbWliX3Byb2Nlc3NlZC9zZWNvbmRzKTsKLSAgfQotCi0gIGNoYXIgZnVsbF9uYW1lWzEwMF07Ci0gIGlmIChmbl9yYW5nZV8gIT0gTlVMTCkgewotICAgIGlmIChhcmcgPj0gKDE8PDIwKSkgewotICAgICAgc25wcmludGYoZnVsbF9uYW1lLCBzaXplb2YoZnVsbF9uYW1lKSwgIiVzLyVkTSIsIG5hbWVfLCBhcmcvKDE8PDIwKSk7Ci0gICAgfSBlbHNlIGlmIChhcmcgPj0gKDE8PDEwKSkgewotICAgICAgc25wcmludGYoZnVsbF9uYW1lLCBzaXplb2YoZnVsbF9uYW1lKSwgIiVzLyVkSyIsIG5hbWVfLCBhcmcvKDE8PDEwKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHNucHJpbnRmKGZ1bGxfbmFtZSwgc2l6ZW9mKGZ1bGxfbmFtZSksICIlcy8lZCIsIG5hbWVfLCBhcmcpOwotICAgIH0KLSAgfSBlbHNlIHsKLSAgICBzbnByaW50ZihmdWxsX25hbWUsIHNpemVvZihmdWxsX25hbWUpLCAiJXMiLCBuYW1lXyk7Ci0gIH0KLQotICBwcmludGYoIiUtKnMgJTEwZCAlMTAiIFBSSWQ2NCAiJXNcbiIsIGdfbmFtZV9jb2x1bW5fd2lkdGgsIGZ1bGxfbmFtZSwKLSAgICAgICAgIGl0ZXJhdGlvbnMsIGdfYmVuY2htYXJrX3RvdGFsX3RpbWVfbnMvaXRlcmF0aW9ucywgdGhyb3VnaHB1dCk7Ci0gIGZmbHVzaChzdGRvdXQpOwotfQotCi19ICAvLyBuYW1lc3BhY2UgdGVzdGluZwotCi12b2lkIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKGludDY0X3QgeCkgewotICBnX2J5dGVzX3Byb2Nlc3NlZCA9IHg7Ci19Ci0KLXZvaWQgU3RvcEJlbmNobWFya1RpbWluZygpIHsKLSAgaWYgKGdfYmVuY2htYXJrX3N0YXJ0X3RpbWVfbnMgIT0gMCkgewotICAgIGdfYmVuY2htYXJrX3RvdGFsX3RpbWVfbnMgKz0gTmFub1RpbWUoKSAtIGdfYmVuY2htYXJrX3N0YXJ0X3RpbWVfbnM7Ci0gIH0KLSAgZ19iZW5jaG1hcmtfc3RhcnRfdGltZV9ucyA9IDA7Ci19Ci0KLXZvaWQgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKSB7Ci0gIGlmIChnX2JlbmNobWFya19zdGFydF90aW1lX25zID09IDApIHsKLSAgICBnX2JlbmNobWFya19zdGFydF90aW1lX25zID0gTmFub1RpbWUoKTsKLSAgfQotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7Ci0gIGlmIChnX2JlbmNobWFya3MuZW1wdHkoKSkgewotICAgIGZwcmludGYoc3RkZXJyLCAiTm8gYmVuY2htYXJrcyByZWdpc3RlcmVkIVxuIik7Ci0gICAgZXhpdChFWElUX0ZBSUxVUkUpOwotICB9Ci0KLSAgZm9yIChCZW5jaG1hcmtNYXBJdCBpdCA9IGdfYmVuY2htYXJrcy5iZWdpbigpOyBpdCAhPSBnX2JlbmNobWFya3MuZW5kKCk7ICsraXQpIHsKLSAgICBpbnQgbmFtZV93aWR0aCA9IHN0YXRpY19jYXN0PGludD4oc3RybGVuKGl0LT5zZWNvbmQtPk5hbWUoKSkpOwotICAgIGdfbmFtZV9jb2x1bW5fd2lkdGggPSBzdGQ6Om1heChnX25hbWVfY29sdW1uX3dpZHRoLCBuYW1lX3dpZHRoKTsKLSAgfQotCi0gIGJvb2wgbmVlZF9oZWFkZXIgPSB0cnVlOwotICBmb3IgKEJlbmNobWFya01hcEl0IGl0ID0gZ19iZW5jaG1hcmtzLmJlZ2luKCk7IGl0ICE9IGdfYmVuY2htYXJrcy5lbmQoKTsgKytpdCkgewotICAgIDo6dGVzdGluZzo6QmVuY2htYXJrKiBiID0gaXQtPnNlY29uZDsKLSAgICBpZiAoYi0+U2hvdWxkUnVuKGFyZ2MsIGFyZ3YpKSB7Ci0gICAgICBpZiAobmVlZF9oZWFkZXIpIHsKLSAgICAgICAgcHJpbnRmKCIlLSpzICUxMHMgJTEwc1xuIiwgZ19uYW1lX2NvbHVtbl93aWR0aCwgIiIsICJpdGVyYXRpb25zIiwgIm5zL29wIik7Ci0gICAgICAgIGZmbHVzaChzdGRvdXQpOwotICAgICAgICBuZWVkX2hlYWRlciA9IGZhbHNlOwotICAgICAgfQotICAgICAgYi0+UnVuKCk7Ci0gICAgfQotICB9Ci0KLSAgaWYgKG5lZWRfaGVhZGVyKSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJObyBtYXRjaGluZyBiZW5jaG1hcmtzIVxuIik7Ci0gICAgZnByaW50ZihzdGRlcnIsICJBdmFpbGFibGUgYmVuY2htYXJrczpcbiIpOwotICAgIGZvciAoQmVuY2htYXJrTWFwSXQgaXQgPSBnX2JlbmNobWFya3MuYmVnaW4oKTsgaXQgIT0gZ19iZW5jaG1hcmtzLmVuZCgpOyArK2l0KSB7Ci0gICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgJXNcbiIsIGl0LT5zZWNvbmQtPk5hbWUoKSk7Ci0gICAgfQotICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKLSAgfQotCi0gIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9tYWluLmNwcCBiL2JlbmNobWFya3MvbWFpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJjZTQ3OQotLS0gL2Rldi9udWxsCisrKyBiL2JlbmNobWFya3MvbWFpbi5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKworI2luY2x1ZGUgPHJlZ2V4Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2luY2x1ZGUgPHZlY3Rvcj4KKworI2luY2x1ZGUgPGJlbmNobWFyay9CZW5jaG1hcmsuaD4KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgeworICBpZiAoOjp0ZXN0aW5nOjpCZW5jaG1hcms6Okxpc3QoKS5lbXB0eSgpKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJObyBiZW5jaG1hcmtzIHJlZ2lzdGVyZWQhXG4iKTsKKyAgICBleGl0KEVYSVRfRkFJTFVSRSk7CisgIH0KKworICBzdGQ6OnZlY3RvcjxyZWdleF90Kj4gcmVnczsKKyAgZm9yIChpbnQgaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKyAgICByZWdleF90KiByZSA9IG5ldyByZWdleF90OworICAgIGludCBlcnJjb2RlID0gcmVnY29tcChyZSwgYXJndltpXSwgMCk7CisgICAgaWYgKGVycmNvZGUgIT0gMCkgeworICAgICAgc2l6ZV90IGVycmJ1Zl9zaXplID0gcmVnZXJyb3IoZXJyY29kZSwgcmUsIE5VTEwsIDApOworICAgICAgaWYgKGVycmJ1Zl9zaXplID4gMCkgeworICAgICAgICBjaGFyKiBlcnJidWYgPSBuZXcgY2hhcltlcnJidWZfc2l6ZV07CisgICAgICAgIHJlZ2Vycm9yKGVycmNvZGUsIHJlLCBlcnJidWYsIGVycmJ1Zl9zaXplKTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZG4ndCBjb21waWxlIFwiJXNcIiBhcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbjogJXNcbiIsCisgICAgICAgICAgICAgICAgYXJndltpXSwgZXJyYnVmKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5rbm93biBjb21waWxlIGVycm9yIGZvciBcIiVzXCIgYXMgYSByZWd1bGFyIGV4cHJlc3Npb24hXG4iLCBhcmd2W2ldKTsKKyAgICAgIH0KKyAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisgICAgcmVncy5wdXNoX2JhY2socmUpOworICB9CisKKyAgaWYgKDo6dGVzdGluZzo6QmVuY2htYXJrOjpSdW5BbGwocmVncykgPT0gMCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiTm8gbWF0Y2hpbmcgYmVuY2htYXJrcyFcbiIpOworICAgIGZwcmludGYoc3RkZXJyLCAiQXZhaWxhYmxlIGJlbmNobWFya3M6XG4iKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGJlbmNobWFyayA6IDo6dGVzdGluZzo6QmVuY2htYXJrOjpMaXN0KCkpIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAiICAlc1xuIiwgYmVuY2htYXJrLT5OYW1lKCkuY19zdHIoKSk7CisgICAgfQorICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKKyAgfQorCisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9tYXRoX2JlbmNobWFyay5jcHAgYi9iZW5jaG1hcmtzL21hdGhfYmVuY2htYXJrLmNwcAppbmRleCBhOTc0OGNkLi40ZGUyOGQxIDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL21hdGhfYmVuY2htYXJrLmNwcAorKysgYi9iZW5jaG1hcmtzL21hdGhfYmVuY2htYXJrLmNwcApAQCAtMTQsMTYgKzE0LDIwIEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwogCi0jaW5jbHVkZSAiYmVuY2htYXJrLmgiCi0KICNpbmNsdWRlIDxmZW52Lmg+CiAjaW5jbHVkZSA8bWF0aC5oPgogCi0vLyBBdm9pZCBvcHRpbWl6YXRpb24uCi1kb3VibGUgZDsKLWRvdWJsZSB2OworI2luY2x1ZGUgPGJlbmNobWFyay9CZW5jaG1hcmsuaD4KIAotc3RhdGljIHZvaWQgQk1fbWF0aF9zcXJ0KGludCBpdGVycykgeworI2RlZmluZSBBVF9DT01NT05fVkFMUyBcCisgICAgQXJnKDEyMzQuMCktPkFyZyhuYW4oIiIpKS0+QXJnKEhVR0VfVkFMKS0+QXJnKDAuMCkKKworLy8gQXZvaWQgb3B0aW1pemF0aW9uLgordm9sYXRpbGUgZG91YmxlIGQ7Cit2b2xhdGlsZSBkb3VibGUgdjsKKworQkVOQ0hNQVJLX05PX0FSRyhCTV9tYXRoX3NxcnQpOwordm9pZCBCTV9tYXRoX3NxcnQ6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBkID0gMC4wOwpAQCAtMzQsOSArMzgsOSBAQAogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV9tYXRoX3NxcnQpOwogCi1zdGF0aWMgdm9pZCBCTV9tYXRoX2xvZzEwKGludCBpdGVycykgeworQkVOQ0hNQVJLX05PX0FSRyhCTV9tYXRoX2xvZzEwKTsKK3ZvaWQgQk1fbWF0aF9sb2cxMDo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGQgPSAwLjA7CkBAIC00Nyw5ICs1MSw5IEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX21hdGhfbG9nMTApOwogCi1zdGF0aWMgdm9pZCBCTV9tYXRoX2xvZ2IoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX21hdGhfbG9nYik7Cit2b2lkIEJNX21hdGhfbG9nYjo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGQgPSAwLjA7CkBAIC02MCw2MSArNjQsMjIgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fbWF0aF9sb2diKTsKIAotc3RhdGljIHZvaWQgQk1fbWF0aF9pc2luZl9OT1JNQUwoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fbWF0aF9pc2luZiwgZG91YmxlKS0+QVRfQ09NTU9OX1ZBTFM7Cit2b2lkIEJNX21hdGhfaXNpbmY6OlJ1bihpbnQgaXRlcnMsIGRvdWJsZSB2YWx1ZSkgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGQgPSAwLjA7Ci0gIHYgPSAxMjM0LjA7IC8vIEZQX05PUk1BTAorICB2ID0gdmFsdWU7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewogICAgIGQgKz0gKGlzaW5mKSh2KTsKICAgfQogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV9tYXRoX2lzaW5mX05PUk1BTCk7CiAKLXN0YXRpYyB2b2lkIEJNX21hdGhfaXNpbmZfTkFOKGludCBpdGVycykgewotICBTdGFydEJlbmNobWFya1RpbWluZygpOwotCi0gIGQgPSAwLjA7Ci0gIHYgPSBuYW4oIiIpOyAvLyBGUF9OQU4KLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVyczsgKytpKSB7Ci0gICAgZCArPSAoaXNpbmYpKHYpOwotICB9Ci0KLSAgU3RvcEJlbmNobWFya1RpbWluZygpOwotfQotQkVOQ0hNQVJLKEJNX21hdGhfaXNpbmZfTkFOKTsKLQotc3RhdGljIHZvaWQgQk1fbWF0aF9pc2luZl9JTkZJTklURShpbnQgaXRlcnMpIHsKLSAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKLQotICBkID0gMC4wOwotICB2ID0gSFVHRV9WQUw7IC8vIEZQX0lORklOSVRFCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewotICAgIGQgKz0gKGlzaW5mKSh2KTsKLSAgfQotCi0gIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKLX0KLUJFTkNITUFSSyhCTV9tYXRoX2lzaW5mX0lORklOSVRFKTsKLQotc3RhdGljIHZvaWQgQk1fbWF0aF9pc2luZl9aRVJPKGludCBpdGVycykgewotICBTdGFydEJlbmNobWFya1RpbWluZygpOwotCi0gIGQgPSAwLjA7Ci0gIHYgPSAwLjA7IC8vIEZQX1pFUk8KLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVyczsgKytpKSB7Ci0gICAgZCArPSAoaXNpbmYpKHYpOwotICB9Ci0KLSAgU3RvcEJlbmNobWFya1RpbWluZygpOwotfQotQkVOQ0hNQVJLKEJNX21hdGhfaXNpbmZfWkVSTyk7Ci0KLXN0YXRpYyB2b2lkIEJNX21hdGhfc2luX2Zhc3QoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX21hdGhfc2luX2Zhc3QpOwordm9pZCBCTV9tYXRoX3Npbl9mYXN0OjpSdW4oaW50IGl0ZXJzKSB7CiAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CiAKICAgZCA9IDEuMDsKQEAgLTEyNCw5ICs4OSw5IEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX21hdGhfc2luX2Zhc3QpOwogCi1zdGF0aWMgdm9pZCBCTV9tYXRoX3Npbl9mZXVwZGF0ZWVudihpbnQgaXRlcnMpIHsKK0JFTkNITUFSS19OT19BUkcoQk1fbWF0aF9zaW5fZmV1cGRhdGVlbnYpOwordm9pZCBCTV9tYXRoX3Npbl9mZXVwZGF0ZWVudjo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGQgPSAxLjA7CkBAIC0xNDAsOSArMTA1LDkgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fbWF0aF9zaW5fZmV1cGRhdGVlbnYpOwogCi1zdGF0aWMgdm9pZCBCTV9tYXRoX3Npbl9mZXNldGVudihpbnQgaXRlcnMpIHsKK0JFTkNITUFSS19OT19BUkcoQk1fbWF0aF9zaW5fZmVzZXRlbnYpOwordm9pZCBCTV9tYXRoX3Npbl9mZXNldGVudjo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGQgPSAxLjA7CkBAIC0xNTYsNTYgKzEyMSwxNiBAQAogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV9tYXRoX3Npbl9mZXNldGVudik7CiAKLXN0YXRpYyB2b2lkIEJNX21hdGhfZnBjbGFzc2lmeV9OT1JNQUwoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fbWF0aF9mcGNsYXNzaWZ5LCBkb3VibGUpLT5BVF9DT01NT05fVkFMUzsKK3ZvaWQgQk1fbWF0aF9mcGNsYXNzaWZ5OjpSdW4oaW50IGl0ZXJzLCBkb3VibGUgdmFsdWUpIHsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBkID0gMC4wOwotICB2ID0gMTIzNC4wOyAvLyBGUF9OT1JNQUwKKyAgdiA9IHZhbHVlOwogICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKICAgICBkICs9IGZwY2xhc3NpZnkodik7CiAgIH0KIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fbWF0aF9mcGNsYXNzaWZ5X05PUk1BTCk7Ci0KLXN0YXRpYyB2b2lkIEJNX21hdGhfZnBjbGFzc2lmeV9OQU4oaW50IGl0ZXJzKSB7Ci0gIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7Ci0KLSAgZCA9IDAuMDsKLSAgdiA9IG5hbigiIik7IC8vIEZQX05BTgotICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKLSAgICBkICs9IGZwY2xhc3NpZnkodik7Ci0gIH0KLQotICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Ci19Ci1CRU5DSE1BUksoQk1fbWF0aF9mcGNsYXNzaWZ5X05BTik7Ci0KLXN0YXRpYyB2b2lkIEJNX21hdGhfZnBjbGFzc2lmeV9JTkZJTklURShpbnQgaXRlcnMpIHsKLSAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKLQotICBkID0gMC4wOwotICB2ID0gSFVHRV9WQUw7IC8vIEZQX0lORklOSVRFCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewotICAgIGQgKz0gZnBjbGFzc2lmeSh2KTsKLSAgfQotCi0gIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKLX0KLUJFTkNITUFSSyhCTV9tYXRoX2ZwY2xhc3NpZnlfSU5GSU5JVEUpOwotCi1zdGF0aWMgdm9pZCBCTV9tYXRoX2ZwY2xhc3NpZnlfWkVSTyhpbnQgaXRlcnMpIHsKLSAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKLQotICBkID0gMC4wOwotICB2ID0gMC4wOyAvLyBGUF9aRVJPCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewotICAgIGQgKz0gZnBjbGFzc2lmeSh2KTsKLSAgfQotCi0gIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKLX0KLUJFTkNITUFSSyhCTV9tYXRoX2ZwY2xhc3NpZnlfWkVSTyk7CmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL3Byb3BlcnR5X2JlbmNobWFyay5jcHAgYi9iZW5jaG1hcmtzL3Byb3BlcnR5X2JlbmNobWFyay5jcHAKaW5kZXggMDgwMmI0Yy4uOTQ0Y2Q2OCAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy9wcm9wZXJ0eV9iZW5jaG1hcmsuY3BwCisrKyBiL2JlbmNobWFya3MvcHJvcGVydHlfYmVuY2htYXJrLmNwcApAQCAtMTQsMTkgKzE0LDIxIEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwogCi0jaW5jbHVkZSAiYmVuY2htYXJrLmgiCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCisjaW5jbHVkZSA8c3RyaW5nPgorCisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorCiAjZGVmaW5lIF9SRUFMTFlfSU5DTFVERV9TWVNfX1NZU1RFTV9QUk9QRVJUSUVTX0hfCiAjaW5jbHVkZSA8c3lzL19zeXN0ZW1fcHJvcGVydGllcy5oPgogCi0jaW5jbHVkZSA8dmVjdG9yPgotI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDxiZW5jaG1hcmsvQmVuY2htYXJrLmg+CiAKLWV4dGVybiB2b2lkICpfX3N5c3RlbV9wcm9wZXJ0eV9hcmVhX187CitleHRlcm4gdm9pZCogX19zeXN0ZW1fcHJvcGVydHlfYXJlYV9fOwogCiAvLyBEbyBub3QgZXhjZWVkIDUxMiwgdGhhdCBpcyBhYm91dCB0aGUgbGFyZ2VzdCBudW1iZXIgb2YgcHJvcGVydGllcwogLy8gdGhhdCBjYW4gYmUgY3JlYXRlZCB3aXRoIHRoZSBjdXJyZW50IHByb3BlcnR5IGFyZWEgc2l6ZS4KQEAgLTM0LDIwMCArMzYsMTk4IEBACiAgICAgQXJnKDEpLT5BcmcoNCktPkFyZygxNiktPkFyZyg2NCktPkFyZygxMjgpLT5BcmcoMjU2KS0+QXJnKDUxMikKIAogc3RydWN0IExvY2FsUHJvcGVydHlUZXN0U3RhdGUgewotICAgIExvY2FsUHJvcGVydHlUZXN0U3RhdGUoaW50IG5wcm9wcykgOiBucHJvcHMobnByb3BzKSwgdmFsaWQoZmFsc2UpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgcHJvcF9uYW1lX2NoYXJzW10gPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fLiI7CisgIExvY2FsUHJvcGVydHlUZXN0U3RhdGUoaW50IG5wcm9wcykgOiBucHJvcHMobnByb3BzKSwgdmFsaWQoZmFsc2UpIHsKKyAgICBzdGF0aWMgY29uc3QgY2hhciBwcm9wX25hbWVfY2hhcnNbXSA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8uIjsKIAotICAgICAgICBjb25zdCBjaGFyKiBhbmRyb2lkX2RhdGEgPSBnZXRlbnYoIkFORFJPSURfREFUQSIpOwotICAgICAgICBpZiAoYW5kcm9pZF9kYXRhID09IE5VTEwpIHsKLSAgICAgICAgICBwcmludGYoIkFORFJPSURfREFUQSBlbnZpcm9ubWVudCB2YXJpYWJsZSBub3Qgc2V0XG4iKTsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgY2hhciBkaXJfdGVtcGxhdGVbUEFUSF9NQVhdOwotICAgICAgICBzbnByaW50ZihkaXJfdGVtcGxhdGUsIHNpemVvZihkaXJfdGVtcGxhdGUpLCAiJXMvbG9jYWwvdG1wL3Byb3AtWFhYWFhYIiwgYW5kcm9pZF9kYXRhKTsKLSAgICAgICAgY2hhciAqZGlybmFtZSA9IG1rZHRlbXAoZGlyX3RlbXBsYXRlKTsKLSAgICAgICAgaWYgKCFkaXJuYW1lKSB7Ci0gICAgICAgICAgICBwcmludGYoIm1ha2luZyB0ZW1wIGZpbGUgZm9yIHRlc3Qgc3RhdGUgZmFpbGVkIChpcyAlcy9sb2NhbC90bXAgd3JpdGFibGU/KTogJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgYW5kcm9pZF9kYXRhLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgb2xkX3BhID0gX19zeXN0ZW1fcHJvcGVydHlfYXJlYV9fOwotICAgICAgICBfX3N5c3RlbV9wcm9wZXJ0eV9hcmVhX18gPSBOVUxMOwotCi0gICAgICAgIHBhX2Rpcm5hbWUgPSBkaXJuYW1lOwotICAgICAgICBwYV9maWxlbmFtZSA9IHBhX2Rpcm5hbWUgKyAiL19fcHJvcGVydGllc19fIjsKLQotICAgICAgICBfX3N5c3RlbV9wcm9wZXJ0eV9zZXRfZmlsZW5hbWUocGFfZmlsZW5hbWUuY19zdHIoKSk7Ci0gICAgICAgIF9fc3lzdGVtX3Byb3BlcnR5X2FyZWFfaW5pdCgpOwotCi0gICAgICAgIG5hbWVzID0gbmV3IGNoYXIqIFtucHJvcHNdOwotICAgICAgICBuYW1lX2xlbnMgPSBuZXcgaW50W25wcm9wc107Ci0gICAgICAgIHZhbHVlcyA9IG5ldyBjaGFyKiBbbnByb3BzXTsKLSAgICAgICAgdmFsdWVfbGVucyA9IG5ldyBpbnRbbnByb3BzXTsKLQotICAgICAgICBzcmFuZG9tKG5wcm9wcyk7Ci0KLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBucHJvcHM7IGkrKykgewotICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBuYW1lIGhhcyBhdCBsZWFzdCAxMCBjaGFyYWN0ZXJzIHRvIG1ha2UKLSAgICAgICAgICAgIC8vIGl0IHZlcnkgdW5saWtlbHkgdG8gZ2VuZXJhdGUgdGhlIHNhbWUgcmFuZG9tIG5hbWUuCi0gICAgICAgICAgICBuYW1lX2xlbnNbaV0gPSAocmFuZG9tKCkgJSAoUFJPUF9OQU1FX01BWCAtIDEwKSkgKyAxMDsKLSAgICAgICAgICAgIG5hbWVzW2ldID0gbmV3IGNoYXJbUFJPUF9OQU1FX01BWCArIDFdOwotICAgICAgICAgICAgc2l6ZV90IHByb3BfbmFtZV9sZW4gPSBzaXplb2YocHJvcF9uYW1lX2NoYXJzKSAtIDE7Ci0gICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG5hbWVfbGVuc1tpXTsgaisrKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGogPT0gMCB8fCBuYW1lc1tpXVtqLTFdID09ICcuJyB8fCBqID09IG5hbWVfbGVuc1tpXSAtIDEpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gQ2VydGFpbiB2YWx1ZXMgYXJlIG5vdCBhbGxvd2VkOgotICAgICAgICAgICAgICAgICAgICAvLyAtIERvbid0IHN0YXJ0IG5hbWUgd2l0aCAnLicKLSAgICAgICAgICAgICAgICAgICAgLy8gLSBEb24ndCBhbGxvdyAnLicgdG8gYXBwZWFyIHR3aWNlIGluIGEgcm93Ci0gICAgICAgICAgICAgICAgICAgIC8vIC0gRG9uJ3QgYWxsb3cgdGhlIG5hbWUgdG8gZW5kIHdpdGggJy4nCi0gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgYXNzdW1lcyB0aGF0ICcuJyBpcyB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgIC8vIGFycmF5IHNvIHRoYXQgZGVjcmVtZW50aW5nIHRoZSBsZW5ndGggYnkgb25lIHJlbW92ZXMKLSAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHZhbHVlIGZyb20gdGhlIHBvc3NpYmxlIHZhbHVlcy4KLSAgICAgICAgICAgICAgICAgICAgcHJvcF9uYW1lX2xlbi0tOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBuYW1lc1tpXVtqXSA9IHByb3BfbmFtZV9jaGFyc1tyYW5kb20oKSAlIHByb3BfbmFtZV9sZW5dOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgbmFtZXNbaV1bbmFtZV9sZW5zW2ldXSA9IDA7Ci0KLSAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdmFsdWUgY29udGFpbnMgYXQgbGVhc3QgMSBjaGFyYWN0ZXIuCi0gICAgICAgICAgICB2YWx1ZV9sZW5zW2ldID0gKHJhbmRvbSgpICUgKFBST1BfVkFMVUVfTUFYIC0gMSkpICsgMTsKLSAgICAgICAgICAgIHZhbHVlc1tpXSA9IG5ldyBjaGFyW1BST1BfVkFMVUVfTUFYXTsKLSAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgdmFsdWVfbGVuc1tpXTsgaisrKSB7Ci0gICAgICAgICAgICAgICAgdmFsdWVzW2ldW2pdID0gcHJvcF9uYW1lX2NoYXJzW3JhbmRvbSgpICUgKHNpemVvZihwcm9wX25hbWVfY2hhcnMpIC0gMSldOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoX19zeXN0ZW1fcHJvcGVydHlfYWRkKG5hbWVzW2ldLCBuYW1lX2xlbnNbaV0sIHZhbHVlc1tpXSwgdmFsdWVfbGVuc1tpXSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCJGYWlsZWQgdG8gYWRkIGEgcHJvcGVydHksIHRlcm1pbmF0aW5nLi4uXG4iKTsKLSAgICAgICAgICAgICAgICBwcmludGYoIiVzID0gJS4qc1xuIiwgbmFtZXNbaV0sIHZhbHVlX2xlbnNbaV0sIHZhbHVlc1tpXSk7Ci0gICAgICAgICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHZhbGlkID0gdHJ1ZTsKKyAgICBjb25zdCBjaGFyKiBhbmRyb2lkX2RhdGEgPSBnZXRlbnYoIkFORFJPSURfREFUQSIpOworICAgIGlmIChhbmRyb2lkX2RhdGEgPT0gTlVMTCkgeworICAgICAgcHJpbnRmKCJBTkRST0lEX0RBVEEgZW52aXJvbm1lbnQgdmFyaWFibGUgbm90IHNldFxuIik7CisgICAgICByZXR1cm47CisgICAgfQorICAgIGNoYXIgZGlyX3RlbXBsYXRlW1BBVEhfTUFYXTsKKyAgICBzbnByaW50ZihkaXJfdGVtcGxhdGUsIHNpemVvZihkaXJfdGVtcGxhdGUpLCAiJXMvbG9jYWwvdG1wL3Byb3AtWFhYWFhYIiwgYW5kcm9pZF9kYXRhKTsKKyAgICBjaGFyKiBkaXJuYW1lID0gbWtkdGVtcChkaXJfdGVtcGxhdGUpOworICAgIGlmICghZGlybmFtZSkgeworICAgICAgcHJpbnRmKCJtYWtpbmcgdGVtcCBmaWxlIGZvciB0ZXN0IHN0YXRlIGZhaWxlZCAoaXMgJXMvbG9jYWwvdG1wIHdyaXRhYmxlPyk6ICVzXG4iLAorICAgICAgICAgICAgIGFuZHJvaWRfZGF0YSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB+TG9jYWxQcm9wZXJ0eVRlc3RTdGF0ZSgpIHsKLSAgICAgICAgaWYgKCF2YWxpZCkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBvbGRfcGEgPSBfX3N5c3RlbV9wcm9wZXJ0eV9hcmVhX187CisgICAgX19zeXN0ZW1fcHJvcGVydHlfYXJlYV9fID0gTlVMTDsKIAotICAgICAgICBfX3N5c3RlbV9wcm9wZXJ0eV9hcmVhX18gPSBvbGRfcGE7CisgICAgcGFfZGlybmFtZSA9IGRpcm5hbWU7CisgICAgcGFfZmlsZW5hbWUgPSBwYV9kaXJuYW1lICsgIi9fX3Byb3BlcnRpZXNfXyI7CiAKLSAgICAgICAgX19zeXN0ZW1fcHJvcGVydHlfc2V0X2ZpbGVuYW1lKFBST1BfRklMRU5BTUUpOwotICAgICAgICB1bmxpbmsocGFfZmlsZW5hbWUuY19zdHIoKSk7Ci0gICAgICAgIHJtZGlyKHBhX2Rpcm5hbWUuY19zdHIoKSk7CisgICAgX19zeXN0ZW1fcHJvcGVydHlfc2V0X2ZpbGVuYW1lKHBhX2ZpbGVuYW1lLmNfc3RyKCkpOworICAgIF9fc3lzdGVtX3Byb3BlcnR5X2FyZWFfaW5pdCgpOwogCi0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnByb3BzOyBpKyspIHsKLSAgICAgICAgICAgIGRlbGV0ZSBuYW1lc1tpXTsKLSAgICAgICAgICAgIGRlbGV0ZSB2YWx1ZXNbaV07CisgICAgbmFtZXMgPSBuZXcgY2hhciogW25wcm9wc107CisgICAgbmFtZV9sZW5zID0gbmV3IGludFtucHJvcHNdOworICAgIHZhbHVlcyA9IG5ldyBjaGFyKiBbbnByb3BzXTsKKyAgICB2YWx1ZV9sZW5zID0gbmV3IGludFtucHJvcHNdOworCisgICAgc3JhbmRvbShucHJvcHMpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBucHJvcHM7IGkrKykgeworICAgICAgLy8gTWFrZSBzdXJlIHRoZSBuYW1lIGhhcyBhdCBsZWFzdCAxMCBjaGFyYWN0ZXJzIHRvIG1ha2UKKyAgICAgIC8vIGl0IHZlcnkgdW5saWtlbHkgdG8gZ2VuZXJhdGUgdGhlIHNhbWUgcmFuZG9tIG5hbWUuCisgICAgICBuYW1lX2xlbnNbaV0gPSAocmFuZG9tKCkgJSAoUFJPUF9OQU1FX01BWCAtIDEwKSkgKyAxMDsKKyAgICAgIG5hbWVzW2ldID0gbmV3IGNoYXJbUFJPUF9OQU1FX01BWCArIDFdOworICAgICAgc2l6ZV90IHByb3BfbmFtZV9sZW4gPSBzaXplb2YocHJvcF9uYW1lX2NoYXJzKSAtIDE7CisgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG5hbWVfbGVuc1tpXTsgaisrKSB7CisgICAgICAgIGlmIChqID09IDAgfHwgbmFtZXNbaV1bai0xXSA9PSAnLicgfHwgaiA9PSBuYW1lX2xlbnNbaV0gLSAxKSB7CisgICAgICAgICAgLy8gQ2VydGFpbiB2YWx1ZXMgYXJlIG5vdCBhbGxvd2VkOgorICAgICAgICAgIC8vIC0gRG9uJ3Qgc3RhcnQgbmFtZSB3aXRoICcuJworICAgICAgICAgIC8vIC0gRG9uJ3QgYWxsb3cgJy4nIHRvIGFwcGVhciB0d2ljZSBpbiBhIHJvdworICAgICAgICAgIC8vIC0gRG9uJ3QgYWxsb3cgdGhlIG5hbWUgdG8gZW5kIHdpdGggJy4nCisgICAgICAgICAgLy8gVGhpcyBhc3N1bWVzIHRoYXQgJy4nIGlzIHRoZSBsYXN0IGNoYXJhY3RlciBpbiB0aGUKKyAgICAgICAgICAvLyBhcnJheSBzbyB0aGF0IGRlY3JlbWVudGluZyB0aGUgbGVuZ3RoIGJ5IG9uZSByZW1vdmVzCisgICAgICAgICAgLy8gdGhlIHZhbHVlIGZyb20gdGhlIHBvc3NpYmxlIHZhbHVlcy4KKyAgICAgICAgICBwcm9wX25hbWVfbGVuLS07CiAgICAgICAgIH0KLSAgICAgICAgZGVsZXRlW10gbmFtZXM7Ci0gICAgICAgIGRlbGV0ZVtdIG5hbWVfbGVuczsKLSAgICAgICAgZGVsZXRlW10gdmFsdWVzOwotICAgICAgICBkZWxldGVbXSB2YWx1ZV9sZW5zOworICAgICAgICBuYW1lc1tpXVtqXSA9IHByb3BfbmFtZV9jaGFyc1tyYW5kb20oKSAlIHByb3BfbmFtZV9sZW5dOworICAgICAgfQorICAgICAgbmFtZXNbaV1bbmFtZV9sZW5zW2ldXSA9IDA7CisKKyAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdmFsdWUgY29udGFpbnMgYXQgbGVhc3QgMSBjaGFyYWN0ZXIuCisgICAgICB2YWx1ZV9sZW5zW2ldID0gKHJhbmRvbSgpICUgKFBST1BfVkFMVUVfTUFYIC0gMSkpICsgMTsKKyAgICAgIHZhbHVlc1tpXSA9IG5ldyBjaGFyW1BST1BfVkFMVUVfTUFYXTsKKyAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgdmFsdWVfbGVuc1tpXTsgaisrKSB7CisgICAgICAgIHZhbHVlc1tpXVtqXSA9IHByb3BfbmFtZV9jaGFyc1tyYW5kb20oKSAlIChzaXplb2YocHJvcF9uYW1lX2NoYXJzKSAtIDEpXTsKKyAgICAgIH0KKworICAgICAgaWYgKF9fc3lzdGVtX3Byb3BlcnR5X2FkZChuYW1lc1tpXSwgbmFtZV9sZW5zW2ldLCB2YWx1ZXNbaV0sIHZhbHVlX2xlbnNbaV0pIDwgMCkgeworICAgICAgICBwcmludGYoIkZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSwgdGVybWluYXRpbmcuLi5cbiIpOworICAgICAgICBwcmludGYoIiVzID0gJS4qc1xuIiwgbmFtZXNbaV0sIHZhbHVlX2xlbnNbaV0sIHZhbHVlc1tpXSk7CisgICAgICAgIGV4aXQoMSk7CisgICAgICB9CiAgICAgfQorCisgICAgdmFsaWQgPSB0cnVlOworICB9CisKKyAgfkxvY2FsUHJvcGVydHlUZXN0U3RhdGUoKSB7CisgICAgaWYgKCF2YWxpZCkKKyAgICAgIHJldHVybjsKKworICAgIF9fc3lzdGVtX3Byb3BlcnR5X2FyZWFfXyA9IG9sZF9wYTsKKworICAgIF9fc3lzdGVtX3Byb3BlcnR5X3NldF9maWxlbmFtZShQUk9QX0ZJTEVOQU1FKTsKKyAgICB1bmxpbmsocGFfZmlsZW5hbWUuY19zdHIoKSk7CisgICAgcm1kaXIocGFfZGlybmFtZS5jX3N0cigpKTsKKworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnByb3BzOyBpKyspIHsKKyAgICAgIGRlbGV0ZSBuYW1lc1tpXTsKKyAgICAgIGRlbGV0ZSB2YWx1ZXNbaV07CisgICAgfQorICAgIGRlbGV0ZVtdIG5hbWVzOworICAgIGRlbGV0ZVtdIG5hbWVfbGVuczsKKyAgICBkZWxldGVbXSB2YWx1ZXM7CisgICAgZGVsZXRlW10gdmFsdWVfbGVuczsKKyAgfQogcHVibGljOgotICAgIGNvbnN0IGludCBucHJvcHM7Ci0gICAgY2hhciAqKm5hbWVzOwotICAgIGludCAqbmFtZV9sZW5zOwotICAgIGNoYXIgKip2YWx1ZXM7Ci0gICAgaW50ICp2YWx1ZV9sZW5zOwotICAgIGJvb2wgdmFsaWQ7CisgIGNvbnN0IGludCBucHJvcHM7CisgIGNoYXIqKiBuYW1lczsKKyAgaW50KiBuYW1lX2xlbnM7CisgIGNoYXIqKiB2YWx1ZXM7CisgIGludCogdmFsdWVfbGVuczsKKyAgYm9vbCB2YWxpZDsKIAogcHJpdmF0ZToKLSAgICBzdGQ6OnN0cmluZyBwYV9kaXJuYW1lOwotICAgIHN0ZDo6c3RyaW5nIHBhX2ZpbGVuYW1lOwotICAgIHZvaWQgKm9sZF9wYTsKKyAgc3RkOjpzdHJpbmcgcGFfZGlybmFtZTsKKyAgc3RkOjpzdHJpbmcgcGFfZmlsZW5hbWU7CisgIHZvaWQqIG9sZF9wYTsKIH07CiAKLXN0YXRpYyB2b2lkIEJNX3Byb3BlcnR5X2dldChpbnQgaXRlcnMsIGludCBucHJvcHMpCi17Ci0gICAgU3RvcEJlbmNobWFya1RpbWluZygpOworQkVOQ0hNQVJLX1dJVEhfQVJHKEJNX3Byb3BlcnR5X2dldCwgaW50KS0+VEVTVF9OVU1fUFJPUFM7Cit2b2lkIEJNX3Byb3BlcnR5X2dldDo6UnVuKGludCBpdGVycywgaW50IG5wcm9wcykgeworICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiAKLSAgICBMb2NhbFByb3BlcnR5VGVzdFN0YXRlIHBhKG5wcm9wcyk7Ci0gICAgY2hhciB2YWx1ZVtQUk9QX1ZBTFVFX01BWF07CisgIExvY2FsUHJvcGVydHlUZXN0U3RhdGUgcGEobnByb3BzKTsKKyAgY2hhciB2YWx1ZVtQUk9QX1ZBTFVFX01BWF07CiAKLSAgICBpZiAoIXBhLnZhbGlkKQotICAgICAgICByZXR1cm47CisgIGlmICghcGEudmFsaWQpCisgICAgcmV0dXJuOwogCi0gICAgc3JhbmRvbShpdGVycyAqIG5wcm9wcyk7CisgIHNyYW5kb20oaXRlcnMgKiBucHJvcHMpOwogCi0gICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykgewotICAgICAgICBfX3N5c3RlbV9wcm9wZXJ0eV9nZXQocGEubmFtZXNbcmFuZG9tKCkgJSBucHJvcHNdLCB2YWx1ZSk7Ci0gICAgfQotICAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVyczsgaSsrKSB7CisgICAgX19zeXN0ZW1fcHJvcGVydHlfZ2V0KHBhLm5hbWVzW3JhbmRvbSgpICUgbnByb3BzXSwgdmFsdWUpOworICB9CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV9wcm9wZXJ0eV9nZXQpLT5URVNUX05VTV9QUk9QUzsKIAotc3RhdGljIHZvaWQgQk1fcHJvcGVydHlfZmluZChpbnQgaXRlcnMsIGludCBucHJvcHMpCi17Ci0gICAgU3RvcEJlbmNobWFya1RpbWluZygpOworQkVOQ0hNQVJLX1dJVEhfQVJHKEJNX3Byb3BlcnR5X2ZpbmQsIGludCktPlRFU1RfTlVNX1BST1BTOwordm9pZCBCTV9wcm9wZXJ0eV9maW5kOjpSdW4oaW50IGl0ZXJzLCBpbnQgbnByb3BzKSB7CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIAotICAgIExvY2FsUHJvcGVydHlUZXN0U3RhdGUgcGEobnByb3BzKTsKKyAgTG9jYWxQcm9wZXJ0eVRlc3RTdGF0ZSBwYShucHJvcHMpOwogCi0gICAgaWYgKCFwYS52YWxpZCkKLSAgICAgICAgcmV0dXJuOworICBpZiAoIXBhLnZhbGlkKQorICAgIHJldHVybjsKIAotICAgIHNyYW5kb20oaXRlcnMgKiBucHJvcHMpOworICBzcmFuZG9tKGl0ZXJzICogbnByb3BzKTsKIAotICAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CisgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspIHsKLSAgICAgICAgX19zeXN0ZW1fcHJvcGVydHlfZmluZChwYS5uYW1lc1tyYW5kb20oKSAlIG5wcm9wc10pOwotICAgIH0KLSAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykgeworICAgIF9fc3lzdGVtX3Byb3BlcnR5X2ZpbmQocGEubmFtZXNbcmFuZG9tKCkgJSBucHJvcHNdKTsKKyAgfQorICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fcHJvcGVydHlfZmluZCktPlRFU1RfTlVNX1BST1BTOwogCi1zdGF0aWMgdm9pZCBCTV9wcm9wZXJ0eV9yZWFkKGludCBpdGVycywgaW50IG5wcm9wcykKLXsKLSAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fcHJvcGVydHlfcmVhZCwgaW50KS0+VEVTVF9OVU1fUFJPUFM7Cit2b2lkIEJNX3Byb3BlcnR5X3JlYWQ6OlJ1bihpbnQgaXRlcnMsIGludCBucHJvcHMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOwogCi0gICAgTG9jYWxQcm9wZXJ0eVRlc3RTdGF0ZSBwYShucHJvcHMpOworICBMb2NhbFByb3BlcnR5VGVzdFN0YXRlIHBhKG5wcm9wcyk7CiAKLSAgICBpZiAoIXBhLnZhbGlkKQotICAgICAgICByZXR1cm47CisgIGlmICghcGEudmFsaWQpCisgICAgcmV0dXJuOwogCi0gICAgc3JhbmRvbShpdGVycyAqIG5wcm9wcyk7Ci0gICAgY29uc3QgcHJvcF9pbmZvKiogcGluZm8gPSBuZXcgY29uc3QgcHJvcF9pbmZvKltpdGVyc107Ci0gICAgY2hhciBwcm9wdmFsdWVbUFJPUF9WQUxVRV9NQVhdOworICBzcmFuZG9tKGl0ZXJzICogbnByb3BzKTsKKyAgY29uc3QgcHJvcF9pbmZvKiogcGluZm8gPSBuZXcgY29uc3QgcHJvcF9pbmZvKltpdGVyc107CisgIGNoYXIgcHJvcHZhbHVlW1BST1BfVkFMVUVfTUFYXTsKIAotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykgewotICAgICAgICBwaW5mb1tpXSA9IF9fc3lzdGVtX3Byb3BlcnR5X2ZpbmQocGEubmFtZXNbcmFuZG9tKCkgJSBucHJvcHNdKTsKLSAgICB9CisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykgeworICAgIHBpbmZvW2ldID0gX19zeXN0ZW1fcHJvcGVydHlfZmluZChwYS5uYW1lc1tyYW5kb20oKSAlIG5wcm9wc10pOworICB9CiAKLSAgICBTdGFydEJlbmNobWFya1RpbWluZygpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykgewotICAgICAgICBfX3N5c3RlbV9wcm9wZXJ0eV9yZWFkKHBpbmZvW2ldLCAwLCBwcm9wdmFsdWUpOwotICAgIH0KLSAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykgeworICAgIF9fc3lzdGVtX3Byb3BlcnR5X3JlYWQocGluZm9baV0sIDAsIHByb3B2YWx1ZSk7CisgIH0KKyAgU3RvcEJlbmNobWFya1RpbWluZygpOwogCi0gICAgZGVsZXRlW10gcGluZm87CisgIGRlbGV0ZVtdIHBpbmZvOwogfQotQkVOQ0hNQVJLKEJNX3Byb3BlcnR5X3JlYWQpLT5URVNUX05VTV9QUk9QUzsKIAotc3RhdGljIHZvaWQgQk1fcHJvcGVydHlfc2VyaWFsKGludCBpdGVycywgaW50IG5wcm9wcykKLXsKLSAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fcHJvcGVydHlfc2VyaWFsLCBpbnQpLT5URVNUX05VTV9QUk9QUzsKK3ZvaWQgQk1fcHJvcGVydHlfc2VyaWFsOjpSdW4oaW50IGl0ZXJzLCBpbnQgbnByb3BzKSB7CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIAotICAgIExvY2FsUHJvcGVydHlUZXN0U3RhdGUgcGEobnByb3BzKTsKKyAgTG9jYWxQcm9wZXJ0eVRlc3RTdGF0ZSBwYShucHJvcHMpOwogCi0gICAgaWYgKCFwYS52YWxpZCkKLSAgICAgICAgcmV0dXJuOworICBpZiAoIXBhLnZhbGlkKQorICAgIHJldHVybjsKIAotICAgIHNyYW5kb20oaXRlcnMgKiBucHJvcHMpOwotICAgIGNvbnN0IHByb3BfaW5mbyoqIHBpbmZvID0gbmV3IGNvbnN0IHByb3BfaW5mbypbaXRlcnNdOworICBzcmFuZG9tKGl0ZXJzICogbnByb3BzKTsKKyAgY29uc3QgcHJvcF9pbmZvKiogcGluZm8gPSBuZXcgY29uc3QgcHJvcF9pbmZvKltpdGVyc107CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspIHsKLSAgICAgICAgcGluZm9baV0gPSBfX3N5c3RlbV9wcm9wZXJ0eV9maW5kKHBhLm5hbWVzW3JhbmRvbSgpICUgbnByb3BzXSk7Ci0gICAgfQorICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspIHsKKyAgICBwaW5mb1tpXSA9IF9fc3lzdGVtX3Byb3BlcnR5X2ZpbmQocGEubmFtZXNbcmFuZG9tKCkgJSBucHJvcHNdKTsKKyAgfQogCi0gICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspIHsKLSAgICAgICAgX19zeXN0ZW1fcHJvcGVydHlfc2VyaWFsKHBpbmZvW2ldKTsKLSAgICB9Ci0gICAgU3RvcEJlbmNobWFya1RpbWluZygpOworICBTdGFydEJlbmNobWFya1RpbWluZygpOworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspIHsKKyAgICBfX3N5c3RlbV9wcm9wZXJ0eV9zZXJpYWwocGluZm9baV0pOworICB9CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIAotICAgIGRlbGV0ZVtdIHBpbmZvOworICBkZWxldGVbXSBwaW5mbzsKIH0KLUJFTkNITUFSSyhCTV9wcm9wZXJ0eV9zZXJpYWwpLT5URVNUX05VTV9QUk9QUzsKKworI2VuZGlmICAvLyBfX0JJT05JQ19fCmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL3B0aHJlYWRfYmVuY2htYXJrLmNwcCBiL2JlbmNobWFya3MvcHRocmVhZF9iZW5jaG1hcmsuY3BwCmluZGV4IGMwMTBkZDIuLmFkMzFlN2UgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3MvcHRocmVhZF9iZW5jaG1hcmsuY3BwCisrKyBiL2JlbmNobWFya3MvcHRocmVhZF9iZW5jaG1hcmsuY3BwCkBAIC0xNCwxNCArMTQsMTUgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKLSNpbmNsdWRlICJiZW5jaG1hcmsuaCIKLQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KIAorI2luY2x1ZGUgPGJlbmNobWFyay9CZW5jaG1hcmsuaD4KKwogLy8gU3RvcCBHQ0Mgb3B0aW1pemluZyBvdXQgb3VyIHB1cmUgZnVuY3Rpb24uCiAvKiBNdXN0IG5vdCBiZSBzdGF0aWMhICovIHB0aHJlYWRfdCAoKnB0aHJlYWRfc2VsZl9mcCkoKSA9IHB0aHJlYWRfc2VsZjsKIAotc3RhdGljIHZvaWQgQk1fcHRocmVhZF9zZWxmKGludCBpdGVycykgeworQkVOQ0hNQVJLX05PX0FSRyhCTV9wdGhyZWFkX3NlbGYpOwordm9pZCBCTV9wdGhyZWFkX3NlbGY6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKQEAgLTMwLDkgKzMxLDkgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fcHRocmVhZF9zZWxmKTsKIAotc3RhdGljIHZvaWQgQk1fcHRocmVhZF9nZXRzcGVjaWZpYyhpbnQgaXRlcnMpIHsKK0JFTkNITUFSS19OT19BUkcoQk1fcHRocmVhZF9nZXRzcGVjaWZpYyk7Cit2b2lkIEJNX3B0aHJlYWRfZ2V0c3BlY2lmaWM6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogICBwdGhyZWFkX2tleV90IGtleTsKICAgcHRocmVhZF9rZXlfY3JlYXRlKCZrZXksIE5VTEwpOwpAQCAtNDUsMTIgKzQ2LDI3IEBACiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKICAgcHRocmVhZF9rZXlfZGVsZXRlKGtleSk7CiB9Ci1CRU5DSE1BUksoQk1fcHRocmVhZF9nZXRzcGVjaWZpYyk7CisKK0JFTkNITUFSS19OT19BUkcoQk1fcHRocmVhZF9zZXRzcGVjaWZpYyk7Cit2b2lkIEJNX3B0aHJlYWRfc2V0c3BlY2lmaWM6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworICBwdGhyZWFkX2tleV90IGtleTsKKyAgcHRocmVhZF9rZXlfY3JlYXRlKCZrZXksIE5VTEwpOworICBTdGFydEJlbmNobWFya1RpbWluZygpOworCisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgeworICAgIHB0aHJlYWRfc2V0c3BlY2lmaWMoa2V5LCBOVUxMKTsKKyAgfQorCisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKKyAgcHRocmVhZF9rZXlfZGVsZXRlKGtleSk7Cit9CiAKIHN0YXRpYyB2b2lkIER1bW15UHRocmVhZE9uY2VJbml0RnVuY3Rpb24oKSB7CiB9CiAKLXN0YXRpYyB2b2lkIEJNX3B0aHJlYWRfb25jZShpbnQgaXRlcnMpIHsKK0JFTkNITUFSS19OT19BUkcoQk1fcHRocmVhZF9vbmNlKTsKK3ZvaWQgQk1fcHRocmVhZF9vbmNlOjpSdW4oaW50IGl0ZXJzKSB7CiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKICAgcHRocmVhZF9vbmNlX3Qgb25jZSA9IFBUSFJFQURfT05DRV9JTklUOwogICBwdGhyZWFkX29uY2UoJm9uY2UsIER1bW15UHRocmVhZE9uY2VJbml0RnVuY3Rpb24pOwpAQCAtNjIsOSArNzgsOSBAQAogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV9wdGhyZWFkX29uY2UpOwogCi1zdGF0aWMgdm9pZCBCTV9wdGhyZWFkX211dGV4X2xvY2soaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX3B0aHJlYWRfbXV0ZXhfbG9jayk7Cit2b2lkIEJNX3B0aHJlYWRfbXV0ZXhfbG9jazo6UnVuKGludCBpdGVycykgewogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiAgIHB0aHJlYWRfbXV0ZXhfdCBtdXRleCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7CiAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CkBAIC03NiwxMSArOTIsMTEgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fcHRocmVhZF9tdXRleF9sb2NrKTsKIAotc3RhdGljIHZvaWQgQk1fcHRocmVhZF9tdXRleF9sb2NrX0VSUk9SQ0hFQ0soaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX3B0aHJlYWRfbXV0ZXhfbG9ja19FUlJPUkNIRUNLKTsKK3ZvaWQgQk1fcHRocmVhZF9tdXRleF9sb2NrX0VSUk9SQ0hFQ0s6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwotICBwdGhyZWFkX211dGV4X3QgbXV0ZXggPSBQVEhSRUFEX0VSUk9SQ0hFQ0tfTVVURVhfSU5JVElBTElaRVI7CisgIHB0aHJlYWRfbXV0ZXhfdCBtdXRleCA9IFBUSFJFQURfRVJST1JDSEVDS19NVVRFWF9JTklUSUFMSVpFUl9OUDsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKQEAgLTkwLDExICsxMDYsMTEgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fcHRocmVhZF9tdXRleF9sb2NrX0VSUk9SQ0hFQ0spOwogCi1zdGF0aWMgdm9pZCBCTV9wdGhyZWFkX211dGV4X2xvY2tfUkVDVVJTSVZFKGludCBpdGVycykgeworQkVOQ0hNQVJLX05PX0FSRyhCTV9wdGhyZWFkX211dGV4X2xvY2tfUkVDVVJTSVZFKTsKK3ZvaWQgQk1fcHRocmVhZF9tdXRleF9sb2NrX1JFQ1VSU0lWRTo6UnVuKGludCBpdGVycykgewogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Ci0gIHB0aHJlYWRfbXV0ZXhfdCBtdXRleCA9IFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSOworICBwdGhyZWFkX211dGV4X3QgbXV0ZXggPSBQVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWF9JTklUSUFMSVpFUl9OUDsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKQEAgLTEwNCw0ICsxMjAsMTE0IEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX3B0aHJlYWRfbXV0ZXhfbG9ja19SRUNVUlNJVkUpOworCitCRU5DSE1BUktfTk9fQVJHKEJNX3B0aHJlYWRfcndsb2NrX3JlYWQpOwordm9pZCBCTV9wdGhyZWFkX3J3bG9ja19yZWFkOjpSdW4oaW50IGl0ZXJzKSB7CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKKyAgcHRocmVhZF9yd2xvY2tfdCBsb2NrOworICBwdGhyZWFkX3J3bG9ja19pbml0KCZsb2NrLCBOVUxMKTsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBwdGhyZWFkX3J3bG9ja19yZGxvY2soJmxvY2spOworICAgIHB0aHJlYWRfcndsb2NrX3VubG9jaygmbG9jayk7CisgIH0KKworICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIHB0aHJlYWRfcndsb2NrX2Rlc3Ryb3koJmxvY2spOworfQorCitCRU5DSE1BUktfTk9fQVJHKEJNX3B0aHJlYWRfcndsb2NrX3dyaXRlKTsKK3ZvaWQgQk1fcHRocmVhZF9yd2xvY2tfd3JpdGU6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworICBwdGhyZWFkX3J3bG9ja190IGxvY2s7CisgIHB0aHJlYWRfcndsb2NrX2luaXQoJmxvY2ssIE5VTEwpOworICBTdGFydEJlbmNobWFya1RpbWluZygpOworCisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgeworICAgIHB0aHJlYWRfcndsb2NrX3dybG9jaygmbG9jayk7CisgICAgcHRocmVhZF9yd2xvY2tfdW5sb2NrKCZsb2NrKTsKKyAgfQorCisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKKyAgcHRocmVhZF9yd2xvY2tfZGVzdHJveSgmbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkKiBJZGxlVGhyZWFkKHZvaWQqKSB7CisgIHJldHVybiBOVUxMOworfQorCitCRU5DSE1BUktfTk9fQVJHKEJNX3B0aHJlYWRfY3JlYXRlKTsKK3ZvaWQgQk1fcHRocmVhZF9jcmVhdGU6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworICBwdGhyZWFkX3QgdGhyZWFkOworCisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgeworICAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CisgICAgcHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgSWRsZVRocmVhZCwgTlVMTCk7CisgICAgU3RvcEJlbmNobWFya1RpbWluZygpOworICAgIHB0aHJlYWRfam9pbih0aHJlYWQsIE5VTEwpOworICB9Cit9CisKK3N0YXRpYyB2b2lkKiBSdW5UaHJlYWQodm9pZCogYXJnKSB7CisgIDo6dGVzdGluZzo6QmVuY2htYXJrKiBiZW5jaG1hcmsgPSByZWludGVycHJldF9jYXN0PDo6dGVzdGluZzo6QmVuY2htYXJrKj4oYXJnKTsKKyAgYmVuY2htYXJrLT5TdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIHJldHVybiBOVUxMOworfQorCitCRU5DSE1BUktfTk9fQVJHKEJNX3B0aHJlYWRfY3JlYXRlX2FuZF9ydW4pOwordm9pZCBCTV9wdGhyZWFkX2NyZWF0ZV9hbmRfcnVuOjpSdW4oaW50IGl0ZXJzKSB7CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKKyAgcHRocmVhZF90IHRocmVhZDsKKworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBTdGFydEJlbmNobWFya1RpbWluZygpOworICAgIHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWQsIE5VTEwsIFJ1blRocmVhZCwgdGhpcyk7CisgICAgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7CisgIH0KK30KKworc3RhdGljIHZvaWQqIEV4aXRUaHJlYWQodm9pZCogYXJnKSB7CisgIDo6dGVzdGluZzo6QmVuY2htYXJrKiBiZW5jaG1hcmsgPSByZWludGVycHJldF9jYXN0PDo6dGVzdGluZzo6QmVuY2htYXJrKj4oYXJnKTsKKyAgYmVuY2htYXJrLT5TdGFydEJlbmNobWFya1RpbWluZygpOworICBwdGhyZWFkX2V4aXQoTlVMTCk7Cit9CisKK0JFTkNITUFSS19OT19BUkcoQk1fcHRocmVhZF9leGl0X2FuZF9qb2luKTsKK3ZvaWQgQk1fcHRocmVhZF9leGl0X2FuZF9qb2luOjpSdW4oaW50IGl0ZXJzKSB7CisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKKyAgcHRocmVhZF90IHRocmVhZDsKKworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCBFeGl0VGhyZWFkLCB0aGlzKTsKKyAgICBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKyAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIH0KK30KKworQkVOQ0hNQVJLX05PX0FSRyhCTV9wdGhyZWFkX2tleV9jcmVhdGUpOwordm9pZCBCTV9wdGhyZWFkX2tleV9jcmVhdGU6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworICBwdGhyZWFkX2tleV90IGtleTsKKworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBTdGFydEJlbmNobWFya1RpbWluZygpOworICAgIHB0aHJlYWRfa2V5X2NyZWF0ZSgma2V5LCBOVUxMKTsKKyAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CisgICAgcHRocmVhZF9rZXlfZGVsZXRlKGtleSk7CisgIH0KK30KKworQkVOQ0hNQVJLX05PX0FSRyhCTV9wdGhyZWFkX2tleV9kZWxldGUpOwordm9pZCBCTV9wdGhyZWFkX2tleV9kZWxldGU6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworICBwdGhyZWFkX2tleV90IGtleTsKKworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBwdGhyZWFkX2tleV9jcmVhdGUoJmtleSwgTlVMTCk7CisgICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKyAgICBwdGhyZWFkX2tleV9kZWxldGUoa2V5KTsKKyAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL2JlbmNobWFya3Mvc2VtYXBob3JlX2JlbmNobWFyay5jcHAgYi9iZW5jaG1hcmtzL3NlbWFwaG9yZV9iZW5jaG1hcmsuY3BwCmluZGV4IGExMWZjYzEuLjhkZDU2ODQgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3Mvc2VtYXBob3JlX2JlbmNobWFyay5jcHAKKysrIGIvYmVuY2htYXJrcy9zZW1hcGhvcmVfYmVuY2htYXJrLmNwcApAQCAtMTQsMTEgKzE0LDE1IEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwogCi0jaW5jbHVkZSAiYmVuY2htYXJrLmgiCi0KKyNpbmNsdWRlIDxwdGhyZWFkLmg+CiAjaW5jbHVkZSA8c2VtYXBob3JlLmg+CisjaW5jbHVkZSA8c3RkYXRvbWljLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KIAotc3RhdGljIHZvaWQgQk1fc2VtYXBob3JlX3NlbV9nZXR2YWx1ZShpbnQgaXRlcnMpIHsKKyNpbmNsdWRlIDxiZW5jaG1hcmsvQmVuY2htYXJrLmg+CisKK0JFTkNITUFSS19OT19BUkcoQk1fc2VtYXBob3JlX3NlbV9nZXR2YWx1ZSk7Cit2b2lkIEJNX3NlbWFwaG9yZV9zZW1fZ2V0dmFsdWU6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogICBzZW1fdCBzZW1hcGhvcmU7CiAgIHNlbV9pbml0KCZzZW1hcGhvcmUsIDEsIDEpOwpAQCAtMzEsOSArMzUsOSBAQAogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV9zZW1hcGhvcmVfc2VtX2dldHZhbHVlKTsKIAotc3RhdGljIHZvaWQgQk1fc2VtYXBob3JlX3NlbV93YWl0X3NlbV9wb3N0KGludCBpdGVycykgeworQkVOQ0hNQVJLX05PX0FSRyhCTV9zZW1hcGhvcmVfc2VtX3dhaXRfc2VtX3Bvc3QpOwordm9pZCBCTV9zZW1hcGhvcmVfc2VtX3dhaXRfc2VtX3Bvc3Q6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogICBzZW1fdCBzZW1hcGhvcmU7CiAgIHNlbV9pbml0KCZzZW1hcGhvcmUsIDEsIDEpOwpAQCAtNDYsNCArNTAsOTQgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fc2VtYXBob3JlX3NlbV93YWl0X3NlbV9wb3N0KTsKKworLyoKKyAqICAgIFRoaXMgdGVzdCByZXBvcnRzIHRoZSBvdmVyaGVhZCBvZiB0aGUgdW5kZXJseWluZyBmdXRleCB3YWtlIHN5c2NhbGwgb24KKyAqIHRoZSBwcm9kdWNlci4gSXQgZG9lcyBub3QgcmVwb3J0IHRoZSBvdmVyaGVhZCBmcm9tIGlzc3VpbmcgdGhlIHdha2UgdG8gdGhlCisgKiBwb2ludCB3aGVyZSB0aGUgcG9zdGVkIGNvbnN1bWVyIHRocmVhZCB3YWtlcyB1cC4gSXQgc3VmZmVycyBmcm9tCisgKiBjbG9ja19nZXR0aW1lIHN5c2NhbGwgb3ZlcmhlYWQuIExvY2sgdGhlIENQVSBzcGVlZCBmb3IgY29uc2lzdGVudCByZXN1bHRzCisgKiBhcyB3ZSBtYXkgbm90IHJlYWNoID41MCUgY3B1IHV0aWxpemF0aW9uLgorICoKKyAqICAgIFdlIHdpbGwgcnVuIGEgYmFja2dyb3VuZCB0aHJlYWQgdGhhdCBjYXRjaGVzIHRoZSBzZW1fcG9zdCB3YWtldXAgYW5kCisgKiBsb29wcyBpbW1lZGlhdGVseSByZXR1cm5pbmcgYmFjayB0byBzbGVlcCBpbiBzZW1fd2FpdCBmb3IgdGhlIG5leHQgb25lLiBUaGlzCisgKiB0aHJlYWQgaXMgcnVuIHdpdGggcG9saWN5IFNDSEVEX09USEVSIChub3JtYWwgcG9saWN5KSwgYSBtaWRkbGUgcG9saWN5LgorICoKKyAqICAgIFRoZSBwcmltYXJ5IHRocmVhZCB3aWxsIHJ1biBhdCBTQ0hFRF9JRExFIChsb3dlc3QgcHJpb3JpdHkgcG9saWN5KSB3aGVuCisgKiBtb25pdG9yaW5nIHRoZSBiYWNrZ3JvdW5kIHRocmVhZCB0byBkZXRlY3Qgd2hlbiBpdCBoaXRzIHNlbV93YWl0IHNsZWVwLiBJdAorICogd2lsbCBkbyBzbyB3aXRoIG5vIGNsb2NrIHJ1bm5pbmcuIE9uY2Ugd2UgYXJlIHJlYWR5LCB3ZSB3aWxsIHN3aXRjaCB0bworICogU0NIRURfRklGTyAoaGlnaGVzdCBwcmlvcml0eSBwb2xpY3kpIHRvIHRpbWUgdGhlIGFjdCBvZiBydW5uaW5nIHNlbV9wb3N0CisgKiB3aXRoIHRoZSBiZW5jaG1hcmsgY2xvY2sgcnVubmluZy4gVGhpcyBlbnN1cmVzIG5vdGhpbmcgZWxzZSBpbiB0aGUgc3lzdGVtCisgKiBjYW4gcHJlZW1wdCBvdXIgdGltZWQgYWN0aXZpdHksIGluY2x1ZGluZyB0aGUgYmFja2dyb3VuZCB0aHJlYWQuIFdlIGFyZQorICogYWxzbyBwcm90ZWN0ZWQgd2l0aCB0aGUgc2NoZWR1bGluZyBwb2xpY3kgb2YgbGV0dGluZyBhIHByb2Nlc3MgaGl0IGEKKyAqIHJlc291cmNlIGxpbWl0IHJhdGhlciB0aGFuIGdldCBoaXQgd2l0aCBhIGNvbnRleHQgc3dpdGNoLgorICoKKyAqICAgIFRoZSBiYWNrZ3JvdW5kIHRocmVhZCB3aWxsIHN0YXJ0IGV4ZWN1dGluZyBlaXRoZXIgb24gYW5vdGhlciBDUFUsIG9yCisgKiBhZnRlciB3ZSBiYWNrIGRvd24gZnJvbSBTQ0hFRF9GSUZPLCBidXQgY2VydGFpbmx5IG5vdCBpbiB0aGUgY29udGV4dCBvZgorICogdGhlIHRpbWluZyBvZiB0aGUgc2VtX3Bvc3QuCisgKi8KK3N0YXRpYyBhdG9taWNfaW50IEJNX3NlbWFwaG9yZV9zZW1fcG9zdF9ydW5uaW5nOworCitzdGF0aWMgdm9pZCAqQk1fc2VtYXBob3JlX3NlbV9wb3N0X3N0YXJ0X3RocmVhZCh2b2lkICpvYmopIHsKKyAgICBzZW1fdCAqc2VtYXBob3JlID0gcmVpbnRlcnByZXRfY2FzdDxzZW1fdCAqPihvYmopOworCisgICAgd2hpbGUgKChCTV9zZW1hcGhvcmVfc2VtX3Bvc3RfcnVubmluZyA+IDApICYmICFzZW1fd2FpdChzZW1hcGhvcmUpKSB7CisgICAgICAgIDsKKyAgICB9CisgICAgQk1fc2VtYXBob3JlX3NlbV9wb3N0X3J1bm5pbmcgPSAtMTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworQkVOQ0hNQVJLX05PX0FSRyhCTV9zZW1hcGhvcmVfc2VtX3Bvc3QpOwordm9pZCBCTV9zZW1hcGhvcmVfc2VtX3Bvc3Q6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworCisgIHNlbV90IHNlbWFwaG9yZTsKKyAgc2VtX2luaXQoJnNlbWFwaG9yZSwgMCwgMCk7CisKKyAgcHRocmVhZF9hdHRyX3QgYXR0cjsKKyAgcHRocmVhZF9hdHRyX2luaXQoJmF0dHIpOworICBCTV9zZW1hcGhvcmVfc2VtX3Bvc3RfcnVubmluZyA9IDE7CisgIHN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbSA9IHsgMCwgfTsKKyAgcHRocmVhZF9hdHRyX3NldHNjaGVkcGFyYW0oJmF0dHIsICZwYXJhbSk7CisgIHB0aHJlYWRfYXR0cl9zZXRzY2hlZHBvbGljeSgmYXR0ciwgU0NIRURfT1RIRVIpOworICBwdGhyZWFkX2F0dHJfc2V0ZGV0YWNoc3RhdGUoJmF0dHIsIFBUSFJFQURfQ1JFQVRFX0RFVEFDSEVEKTsKKyAgcHRocmVhZF90IHB0aHJlYWQ7CisgIHB0aHJlYWRfY3JlYXRlKCZwdGhyZWFkLCAmYXR0ciwgQk1fc2VtYXBob3JlX3NlbV9wb3N0X3N0YXJ0X3RocmVhZCwgJnNlbWFwaG9yZSk7CisgIHB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsKKworICBzY2hlZF9zZXRzY2hlZHVsZXIoKHBpZF90KTAsIFNDSEVEX0lETEUsICZwYXJhbSk7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgeworICAgIGludCB0cnlzID0gMywgZHVtbXkgPSAwOworICAgIGRvIHsKKyAgICAgIGlmIChCTV9zZW1hcGhvcmVfc2VtX3Bvc3RfcnVubmluZyA8IDApIHsKKyAgICAgICAgc2NoZWRfc2V0c2NoZWR1bGVyKChwaWRfdCkwLCBTQ0hFRF9PVEhFUiwgJnBhcmFtKTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJCTV9zZW1hcGhvcmVfc2VtX3Bvc3Q6IHN0YXJ0X3RocmVhZCBkaWVkIHVuZXhwZWN0ZWRseVxuIik7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIHNjaGVkX3lpZWxkKCk7CisgICAgICBzZW1fZ2V0dmFsdWUoJnNlbWFwaG9yZSwgJmR1bW15KTsKKyAgICAgIGlmIChkdW1teSA8IDApIHsgIC8vIFBPU0lYLjEtMjAwMSBwb3NzaWJpbGl0eSAxCisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgaWYgKGR1bW15ID09IDApIHsgLy8gUE9TSVguMS0yMDAxIHBvc3NpYmlsaXR5IDIKKyAgICAgICAgLS10cnlzOworICAgICAgfQorICAgIH0gd2hpbGUgKHRyeXMpOworICAgIHBhcmFtLnNjaGVkX3ByaW9yaXR5ID0gMTsKKyAgICBzY2hlZF9zZXRzY2hlZHVsZXIoKHBpZF90KTAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CisgICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKyAgICBzZW1fcG9zdCgmc2VtYXBob3JlKTsKKyAgICBTdG9wQmVuY2htYXJrVGltaW5nKCk7IC8vIFJlbWVtYmVyIHRvIHN1YnRyYWN0IGNsb2NrIHN5c2NhbGwgb3ZlcmhlYWQKKyAgICBwYXJhbS5zY2hlZF9wcmlvcml0eSA9IDA7CisgICAgc2NoZWRfc2V0c2NoZWR1bGVyKChwaWRfdCkwLCBTQ0hFRF9JRExFLCAmcGFyYW0pOworICB9CisgIHNjaGVkX3NldHNjaGVkdWxlcigocGlkX3QpMCwgU0NIRURfT1RIRVIsICZwYXJhbSk7CisKKyAgaWYgKEJNX3NlbWFwaG9yZV9zZW1fcG9zdF9ydW5uaW5nID4gMCkgeworICAgIEJNX3NlbWFwaG9yZV9zZW1fcG9zdF9ydW5uaW5nID0gMDsKKyAgfQorICBkbyB7CisgICAgc2VtX3Bvc3QoJnNlbWFwaG9yZSk7CisgICAgc2NoZWRfeWllbGQoKTsKKyAgfSB3aGlsZSAoIUJNX3NlbWFwaG9yZV9zZW1fcG9zdF9ydW5uaW5nKTsKK30KZGlmZiAtLWdpdCBhL2JlbmNobWFya3Mvc3RkaW9fYmVuY2htYXJrLmNwcCBiL2JlbmNobWFya3Mvc3RkaW9fYmVuY2htYXJrLmNwcAppbmRleCBlODk5ZGY3Li4zNDJlNTYxIDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL3N0ZGlvX2JlbmNobWFyay5jcHAKKysrIGIvYmVuY2htYXJrcy9zdGRpb19iZW5jaG1hcmsuY3BwCkBAIC0xNCw5ICsxNCwxMCBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgKi8KIAotI2luY2x1ZGUgImJlbmNobWFyay5oIgotCiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpb19leHQuaD4KKworI2luY2x1ZGUgPGJlbmNobWFyay9CZW5jaG1hcmsuaD4KIAogI2RlZmluZSBLQiAxMDI0CiAjZGVmaW5lIE1CIDEwMjQqS0IKQEAgLTI1LDM3ICsyNiw2OCBAQAogICAgIEFyZygxKS0+QXJnKDIpLT5BcmcoMyktPkFyZyg0KS0+QXJnKDgpLT5BcmcoMTYpLT5BcmcoMzIpLT5BcmcoNjQpLT5BcmcoNTEyKS0+IFwKICAgICBBcmcoMSpLQiktPkFyZyg0KktCKS0+QXJnKDgqS0IpLT5BcmcoMTYqS0IpLT5BcmcoNjQqS0IpCiAKLXN0YXRpYyB2b2lkIEJNX3N0ZGlvX2ZyZWFkKGludCBpdGVycywgaW50IGNodW5rX3NpemUpIHsKLSAgU3RvcEJlbmNobWFya1RpbWluZygpOwordGVtcGxhdGUgPHR5cGVuYW1lIEZuPgordm9pZCBSZWFkV3JpdGVUZXN0KDo6dGVzdGluZzo6QmVuY2htYXJrKiBiZW5jaG1hcmssIGludCBpdGVycywgaW50IGNodW5rX3NpemUsIEZuIGYsIGJvb2wgYnVmZmVyZWQpIHsKKyAgYmVuY2htYXJrLT5TdG9wQmVuY2htYXJrVGltaW5nKCk7CiAgIEZJTEUqIGZwID0gZm9wZW4oIi9kZXYvemVybyIsICJydyIpOworICBfX2ZzZXRsb2NraW5nKGZwLCBGU0VUTE9DS0lOR19CWUNBTExFUik7CiAgIGNoYXIqIGJ1ZiA9IG5ldyBjaGFyW2NodW5rX3NpemVdOwotICBTdGFydEJlbmNobWFya1RpbWluZygpOworICBiZW5jaG1hcmstPlN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CiAKLSAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVyczsgKytpKSB7Ci0gICAgZnJlYWQoYnVmLCBjaHVua19zaXplLCAxLCBmcCk7CisgIGlmICghYnVmZmVyZWQpIHsKKyAgICBzZXR2YnVmKGZwLCAwLCBfSU9OQkYsIDApOwogICB9CiAKLSAgU3RvcEJlbmNobWFya1RpbWluZygpOwotICBTZXRCZW5jaG1hcmtCeXRlc1Byb2Nlc3NlZChpbnQ2NF90KGl0ZXJzKSAqIGludDY0X3QoY2h1bmtfc2l6ZSkpOworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBmKGJ1ZiwgY2h1bmtfc2l6ZSwgMSwgZnApOworICB9CisKKyAgYmVuY2htYXJrLT5TdG9wQmVuY2htYXJrVGltaW5nKCk7CisgIGJlbmNobWFyay0+U2V0QmVuY2htYXJrQnl0ZXNQcm9jZXNzZWQoaW50NjRfdChpdGVycykgKiBpbnQ2NF90KGNodW5rX3NpemUpKTsKICAgZGVsZXRlW10gYnVmOwogICBmY2xvc2UoZnApOwogfQotQkVOQ0hNQVJLKEJNX3N0ZGlvX2ZyZWFkKS0+QVRfQ09NTU9OX1NJWkVTOwogCi0KLXN0YXRpYyB2b2lkIEJNX3N0ZGlvX2Z3cml0ZShpbnQgaXRlcnMsIGludCBjaHVua19zaXplKSB7Ci0gIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKLSAgRklMRSogZnAgPSBmb3BlbigiL2Rldi96ZXJvIiwgInJ3Iik7Ci0gIGNoYXIqIGJ1ZiA9IG5ldyBjaGFyW2NodW5rX3NpemVdOwotICBTdGFydEJlbmNobWFya1RpbWluZygpOwotCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewotICAgICAgZndyaXRlKGJ1ZiwgY2h1bmtfc2l6ZSwgMSwgZnApOwotICB9Ci0KLSAgU3RvcEJlbmNobWFya1RpbWluZygpOwotICBTZXRCZW5jaG1hcmtCeXRlc1Byb2Nlc3NlZChpbnQ2NF90KGl0ZXJzKSAqIGludDY0X3QoY2h1bmtfc2l6ZSkpOwotICBkZWxldGVbXSBidWY7Ci0gIGZjbG9zZShmcCk7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fc3RkaW9fZnJlYWQsIGludCktPkFUX0NPTU1PTl9TSVpFUzsKK3ZvaWQgQk1fc3RkaW9fZnJlYWQ6OlJ1bihpbnQgaXRlcnMsIGludCBjaHVua19zaXplKSB7CisgIFJlYWRXcml0ZVRlc3QodGhpcywgaXRlcnMsIGNodW5rX3NpemUsIGZyZWFkLCB0cnVlKTsKIH0KLUJFTkNITUFSSyhCTV9zdGRpb19md3JpdGUpLT5BVF9DT01NT05fU0laRVM7CisKK0JFTkNITUFSS19XSVRIX0FSRyhCTV9zdGRpb19md3JpdGUsIGludCktPkFUX0NPTU1PTl9TSVpFUzsKK3ZvaWQgQk1fc3RkaW9fZndyaXRlOjpSdW4oaW50IGl0ZXJzLCBpbnQgY2h1bmtfc2l6ZSkgeworICBSZWFkV3JpdGVUZXN0KHRoaXMsIGl0ZXJzLCBjaHVua19zaXplLCBmd3JpdGUsIHRydWUpOworfQorCitCRU5DSE1BUktfV0lUSF9BUkcoQk1fc3RkaW9fZnJlYWRfdW5idWZmZXJlZCwgaW50KS0+QVRfQ09NTU9OX1NJWkVTOwordm9pZCBCTV9zdGRpb19mcmVhZF91bmJ1ZmZlcmVkOjpSdW4oaW50IGl0ZXJzLCBpbnQgY2h1bmtfc2l6ZSkgeworICBSZWFkV3JpdGVUZXN0KHRoaXMsIGl0ZXJzLCBjaHVua19zaXplLCBmcmVhZCwgZmFsc2UpOworfQorCitCRU5DSE1BUktfV0lUSF9BUkcoQk1fc3RkaW9fZndyaXRlX3VuYnVmZmVyZWQsIGludCktPkFUX0NPTU1PTl9TSVpFUzsKK3ZvaWQgQk1fc3RkaW9fZndyaXRlX3VuYnVmZmVyZWQ6OlJ1bihpbnQgaXRlcnMsIGludCBjaHVua19zaXplKSB7CisgIFJlYWRXcml0ZVRlc3QodGhpcywgaXRlcnMsIGNodW5rX3NpemUsIGZ3cml0ZSwgZmFsc2UpOworfQorCitzdGF0aWMgdm9pZCBGb3BlbkZnZXRzRmNsb3NlKGludCBpdGVycywgYm9vbCBub19sb2NraW5nKSB7CisgIGNoYXIgYnVmWzEwMjRdOworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBGSUxFKiBmcCA9IGZvcGVuKCIvcHJvYy92ZXJzaW9uIiwgInJlIik7CisgICAgaWYgKG5vX2xvY2tpbmcpIF9fZnNldGxvY2tpbmcoZnAsIEZTRVRMT0NLSU5HX0JZQ0FMTEVSKTsKKyAgICBmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmcCk7CisgICAgZmNsb3NlKGZwKTsKKyAgfQorfQorCitCRU5DSE1BUktfTk9fQVJHKEJNX3N0ZGlvX2ZvcGVuX2ZnZXRzX2ZjbG9zZV9sb2NraW5nKTsKK3ZvaWQgQk1fc3RkaW9fZm9wZW5fZmdldHNfZmNsb3NlX2xvY2tpbmc6OlJ1bihpbnQgaXRlcnMpIHsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKyAgRm9wZW5GZ2V0c0ZjbG9zZShpdGVycywgZmFsc2UpOworICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Cit9CisKK0JFTkNITUFSS19OT19BUkcoQk1fc3RkaW9fZm9wZW5fZmdldHNfZmNsb3NlX25vX2xvY2tpbmcpOwordm9pZCBCTV9zdGRpb19mb3Blbl9mZ2V0c19mY2xvc2Vfbm9fbG9ja2luZzo6UnVuKGludCBpdGVycykgeworICBTdGFydEJlbmNobWFya1RpbWluZygpOworICBGb3BlbkZnZXRzRmNsb3NlKGl0ZXJzLCB0cnVlKTsKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworfQpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9zdHJpbmdfYmVuY2htYXJrLmNwcCBiL2JlbmNobWFya3Mvc3RyaW5nX2JlbmNobWFyay5jcHAKaW5kZXggNTM2ZTI1My4uODY2YWEwMCAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy9zdHJpbmdfYmVuY2htYXJrLmNwcAorKysgYi9iZW5jaG1hcmtzL3N0cmluZ19iZW5jaG1hcmsuY3BwCkBAIC0xNCwxMCArMTQsMTEgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKLSNpbmNsdWRlICJiZW5jaG1hcmsuaCIKLQorI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCisjaW5jbHVkZSA8YmVuY2htYXJrL0JlbmNobWFyay5oPgorCiAjZGVmaW5lIEtCIDEwMjQKICNkZWZpbmUgTUIgMTAyNCpLQgogCkBAIC0yNiw3ICsyNyw4IEBACiAKIC8vIFRPRE86IHRlc3QgdW5hbGlnbmVkIG9wZXJhdGlvbiB0b28/IChjdXJyZW50bHkgZXZlcnl0aGluZyB3aWxsIGJlIDgtYnl0ZSBhbGlnbmVkIGJ5IG1hbGxvYy4pCiAKLXN0YXRpYyB2b2lkIEJNX3N0cmluZ19tZW1jbXAoaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fc3RyaW5nX21lbWNtcCwgaW50KS0+QVRfQ09NTU9OX1NJWkVTOwordm9pZCBCTV9zdHJpbmdfbWVtY21wOjpSdW4oaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKICAgY2hhciogc3JjID0gbmV3IGNoYXJbbmJ5dGVzXTsgY2hhciogZHN0ID0gbmV3IGNoYXJbbmJ5dGVzXTsKICAgbWVtc2V0KHNyYywgJ3gnLCBuYnl0ZXMpOwpAQCAtMzksMTMgKzQxLDEzIEBACiAgIH0KIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Ci0gIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKGludDY0X3QoaXRlcnMpICogaW50NjRfdChuYnl0ZXMpKTsKKyAgU2V0QmVuY2htYXJrQnl0ZXNQcm9jZXNzZWQodWludDY0X3QoaXRlcnMpICogdWludDY0X3QobmJ5dGVzKSk7CiAgIGRlbGV0ZVtdIHNyYzsKICAgZGVsZXRlW10gZHN0OwogfQotQkVOQ0hNQVJLKEJNX3N0cmluZ19tZW1jbXApLT5BVF9DT01NT05fU0laRVM7CiAKLXN0YXRpYyB2b2lkIEJNX3N0cmluZ19tZW1jcHkoaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fc3RyaW5nX21lbWNweSwgaW50KS0+QVRfQ09NTU9OX1NJWkVTOwordm9pZCBCTV9zdHJpbmdfbWVtY3B5OjpSdW4oaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKICAgY2hhciogc3JjID0gbmV3IGNoYXJbbmJ5dGVzXTsgY2hhciogZHN0ID0gbmV3IGNoYXJbbmJ5dGVzXTsKICAgbWVtc2V0KHNyYywgJ3gnLCBuYnl0ZXMpOwpAQCAtNTYsMTMgKzU4LDEzIEBACiAgIH0KIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Ci0gIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKGludDY0X3QoaXRlcnMpICogaW50NjRfdChuYnl0ZXMpKTsKKyAgU2V0QmVuY2htYXJrQnl0ZXNQcm9jZXNzZWQodWludDY0X3QoaXRlcnMpICogdWludDY0X3QobmJ5dGVzKSk7CiAgIGRlbGV0ZVtdIHNyYzsKICAgZGVsZXRlW10gZHN0OwogfQotQkVOQ0hNQVJLKEJNX3N0cmluZ19tZW1jcHkpLT5BVF9DT01NT05fU0laRVM7CiAKLXN0YXRpYyB2b2lkIEJNX3N0cmluZ19tZW1tb3ZlKGludCBpdGVycywgaW50IG5ieXRlcykgeworQkVOQ0hNQVJLX1dJVEhfQVJHKEJNX3N0cmluZ19tZW1tb3ZlLCBpbnQpLT5BVF9DT01NT05fU0laRVM7Cit2b2lkIEJNX3N0cmluZ19tZW1tb3ZlOjpSdW4oaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKICAgY2hhciogYnVmID0gbmV3IGNoYXJbbmJ5dGVzICsgNjRdOwogICBtZW1zZXQoYnVmLCAneCcsIG5ieXRlcyArIDY0KTsKQEAgLTczLDEyICs3NSwxMiBAQAogICB9CiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwotICBTZXRCZW5jaG1hcmtCeXRlc1Byb2Nlc3NlZChpbnQ2NF90KGl0ZXJzKSAqIGludDY0X3QobmJ5dGVzKSk7CisgIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKHVpbnQ2NF90KGl0ZXJzKSAqIHVpbnQ2NF90KG5ieXRlcykpOwogICBkZWxldGVbXSBidWY7CiB9Ci1CRU5DSE1BUksoQk1fc3RyaW5nX21lbW1vdmUpLT5BVF9DT01NT05fU0laRVM7CiAKLXN0YXRpYyB2b2lkIEJNX3N0cmluZ19tZW1zZXQoaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CitCRU5DSE1BUktfV0lUSF9BUkcoQk1fc3RyaW5nX21lbXNldCwgaW50KS0+QVRfQ09NTU9OX1NJWkVTOwordm9pZCBCTV9zdHJpbmdfbWVtc2V0OjpSdW4oaW50IGl0ZXJzLCBpbnQgbmJ5dGVzKSB7CiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKICAgY2hhciogZHN0ID0gbmV3IGNoYXJbbmJ5dGVzXTsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKQEAgLTg4LDEyICs5MCwxMiBAQAogICB9CiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwotICBTZXRCZW5jaG1hcmtCeXRlc1Byb2Nlc3NlZChpbnQ2NF90KGl0ZXJzKSAqIGludDY0X3QobmJ5dGVzKSk7CisgIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKHVpbnQ2NF90KGl0ZXJzKSAqIHVpbnQ2NF90KG5ieXRlcykpOwogICBkZWxldGVbXSBkc3Q7CiB9Ci1CRU5DSE1BUksoQk1fc3RyaW5nX21lbXNldCktPkFUX0NPTU1PTl9TSVpFUzsKIAotc3RhdGljIHZvaWQgQk1fc3RyaW5nX3N0cmxlbihpbnQgaXRlcnMsIGludCBuYnl0ZXMpIHsKK0JFTkNITUFSS19XSVRIX0FSRyhCTV9zdHJpbmdfc3RybGVuLCBpbnQpLT5BVF9DT01NT05fU0laRVM7Cit2b2lkIEJNX3N0cmluZ19zdHJsZW46OlJ1bihpbnQgaXRlcnMsIGludCBuYnl0ZXMpIHsKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogICBjaGFyKiBzID0gbmV3IGNoYXJbbmJ5dGVzXTsKICAgbWVtc2V0KHMsICd4JywgbmJ5dGVzKTsKQEAgLTEwNiw3ICsxMDgsNiBAQAogICB9CiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwotICBTZXRCZW5jaG1hcmtCeXRlc1Byb2Nlc3NlZChpbnQ2NF90KGl0ZXJzKSAqIGludDY0X3QobmJ5dGVzKSk7CisgIFNldEJlbmNobWFya0J5dGVzUHJvY2Vzc2VkKHVpbnQ2NF90KGl0ZXJzKSAqIHVpbnQ2NF90KG5ieXRlcykpOwogICBkZWxldGVbXSBzOwogfQotQkVOQ0hNQVJLKEJNX3N0cmluZ19zdHJsZW4pLT5BVF9DT01NT05fU0laRVM7CmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL3RpbWVfYmVuY2htYXJrLmNwcCBiL2JlbmNobWFya3MvdGltZV9iZW5jaG1hcmsuY3BwCmluZGV4IDIyZjZlOGUuLjY2ODhiYmMgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3MvdGltZV9iZW5jaG1hcmsuY3BwCisrKyBiL2JlbmNobWFya3MvdGltZV9iZW5jaG1hcmsuY3BwCkBAIC0xNCwxMiArMTQsMTQgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKLSNpbmNsdWRlICJiZW5jaG1hcmsuaCIKLQogI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAKLXN0YXRpYyB2b2lkIEJNX3RpbWVfY2xvY2tfZ2V0dGltZShpbnQgaXRlcnMpIHsKKyNpbmNsdWRlIDxiZW5jaG1hcmsvQmVuY2htYXJrLmg+CisKK0JFTkNITUFSS19OT19BUkcoQk1fdGltZV9jbG9ja19nZXR0aW1lKTsKK3ZvaWQgQk1fdGltZV9jbG9ja19nZXR0aW1lOjpSdW4oaW50IGl0ZXJzKSB7CiAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CiAKICAgdGltZXNwZWMgdDsKQEAgLTI5LDkgKzMxLDkgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fdGltZV9jbG9ja19nZXR0aW1lKTsKIAotc3RhdGljIHZvaWQgQk1fdGltZV9jbG9ja19nZXR0aW1lX3N5c2NhbGwoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX3RpbWVfY2xvY2tfZ2V0dGltZV9zeXNjYWxsKTsKK3ZvaWQgQk1fdGltZV9jbG9ja19nZXR0aW1lX3N5c2NhbGw6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICB0aW1lc3BlYyB0OwpAQCAtNDEsOSArNDMsOSBAQAogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV90aW1lX2Nsb2NrX2dldHRpbWVfc3lzY2FsbCk7CiAKLXN0YXRpYyB2b2lkIEJNX3RpbWVfZ2V0dGltZW9mZGF5KGludCBpdGVycykgeworQkVOQ0hNQVJLX05PX0FSRyhCTV90aW1lX2dldHRpbWVvZmRheSk7Cit2b2lkIEJNX3RpbWVfZ2V0dGltZW9mZGF5OjpSdW4oaW50IGl0ZXJzKSB7CiAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CiAKICAgdGltZXZhbCB0djsKQEAgLTUzLDkgKzU1LDkgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fdGltZV9nZXR0aW1lb2ZkYXkpOwogCi1zdGF0aWMgdm9pZCBCTV90aW1lX2dldHRpbWVvZmRheV9zeXNjYWxsKGludCBpdGVycykgeworQkVOQ0hNQVJLX05PX0FSRyhCTV90aW1lX2dldHRpbWVvZmRheV9zeXNjYWxsKTsKK3ZvaWQgQk1fdGltZV9nZXR0aW1lb2ZkYXlfc3lzY2FsbDo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIHRpbWV2YWwgdHY7CkBAIC02NSw5ICs2Nyw5IEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX3RpbWVfZ2V0dGltZW9mZGF5X3N5c2NhbGwpOwogCi1zdGF0aWMgdm9pZCBCTV90aW1lX3RpbWUoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX3RpbWVfdGltZSk7Cit2b2lkIEJNX3RpbWVfdGltZTo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewpAQCAtNzYsNCArNzgsMyBAQAogCiAgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKIH0KLUJFTkNITUFSSyhCTV90aW1lX3RpbWUpOwpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy91bmlzdGRfYmVuY2htYXJrLmNwcCBiL2JlbmNobWFya3MvdW5pc3RkX2JlbmNobWFyay5jcHAKaW5kZXggN2UyYWMzMC4uMDljYTBlNiAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy91bmlzdGRfYmVuY2htYXJrLmNwcAorKysgYi9iZW5jaG1hcmtzL3VuaXN0ZF9iZW5jaG1hcmsuY3BwCkBAIC0xNCwxMiArMTQsMTMgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKLSNpbmNsdWRlICJiZW5jaG1hcmsuaCIKLQogI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKLXN0YXRpYyB2b2lkIEJNX3VuaXN0ZF9nZXRwaWQoaW50IGl0ZXJzKSB7CisjaW5jbHVkZSA8YmVuY2htYXJrL0JlbmNobWFyay5oPgorCitCRU5DSE1BUktfTk9fQVJHKEJNX3VuaXN0ZF9nZXRwaWQpOwordm9pZCBCTV91bmlzdGRfZ2V0cGlkOjpSdW4oaW50IGl0ZXJzKSB7CiAgIFN0YXJ0QmVuY2htYXJrVGltaW5nKCk7CiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVyczsgKytpKSB7CkBAIC0yOCw5ICsyOSw5IEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX3VuaXN0ZF9nZXRwaWQpOwogCi1zdGF0aWMgdm9pZCBCTV91bmlzdGRfZ2V0cGlkX3N5c2NhbGwoaW50IGl0ZXJzKSB7CitCRU5DSE1BUktfTk9fQVJHKEJNX3VuaXN0ZF9nZXRwaWRfc3lzY2FsbCk7Cit2b2lkIEJNX3VuaXN0ZF9nZXRwaWRfc3lzY2FsbDo6UnVuKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgewpAQCAtMzksMTIgKzQwLDE0IEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX3VuaXN0ZF9nZXRwaWRfc3lzY2FsbCk7CisKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCiAKIC8vIFN0b3AgR0NDIG9wdGltaXppbmcgb3V0IG91ciBwdXJlIGZ1bmN0aW9uLgogLyogTXVzdCBub3QgYmUgc3RhdGljISAqLyBwaWRfdCAoKmdldHRpZF9mcCkoKSA9IGdldHRpZDsKIAotc3RhdGljIHZvaWQgQk1fdW5pc3RkX2dldHRpZChpbnQgaXRlcnMpIHsKK0JFTkNITUFSS19OT19BUkcoQk1fdW5pc3RkX2dldHRpZCk7Cit2b2lkIEJNX3VuaXN0ZF9nZXR0aWQ6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKQEAgLTUzLDkgKzU2LDExIEBACiAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQotQkVOQ0hNQVJLKEJNX3VuaXN0ZF9nZXR0aWQpOwogCi1zdGF0aWMgdm9pZCBCTV91bmlzdGRfZ2V0dGlkX3N5c2NhbGwoaW50IGl0ZXJzKSB7CisjZW5kaWYKKworQkVOQ0hNQVJLX05PX0FSRyhCTV91bmlzdGRfZ2V0dGlkX3N5c2NhbGwpOwordm9pZCBCTV91bmlzdGRfZ2V0dGlkX3N5c2NhbGw6OlJ1bihpbnQgaXRlcnMpIHsKICAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAogICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKQEAgLTY0LDQgKzY5LDMgQEAKIAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9Ci1CRU5DSE1BUksoQk1fdW5pc3RkX2dldHRpZF9zeXNjYWxsKTsKZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvdXRpbHMuY3BwIGIvYmVuY2htYXJrcy91dGlscy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzYjlkYgotLS0gL2Rldi9udWxsCisrKyBiL2JlbmNobWFya3MvdXRpbHMuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisjaW5jbHVkZSA8c3RyaW5nPgorCisjaW5jbHVkZSAidXRpbHMuaCIKKworaW50IFJvdW5kKGludCBuKSB7CisgIGludCBiYXNlID0gMTsKKyAgd2hpbGUgKGJhc2UqMTAgPCBuKSB7CisgICAgYmFzZSAqPSAxMDsKKyAgfQorICBpZiAobiA8IDIqYmFzZSkgeworICAgIHJldHVybiAyKmJhc2U7CisgIH0KKyAgaWYgKG4gPCA1KmJhc2UpIHsKKyAgICByZXR1cm4gNSpiYXNlOworICB9CisgIHJldHVybiAxMCpiYXNlOworfQorCisvLyBTaW1pbGFyIHRvIHRoZSBjb2RlIGluIGFydCwgYnV0IHN1cHBvcnRpbmcgYm90aCBiaW5hcnkgYW5kIGRlY2ltYWwgcHJlZml4ZXMuCitzdGQ6OnN0cmluZyBQcmV0dHlJbnQobG9uZyB2YWx1ZSwgc2l6ZV90IGJhc2UpIHsKKyAgaWYgKGJhc2UgIT0gMiAmJiBiYXNlICE9IDEwKSBhYm9ydCgpOworCisgIHVpbnQ2NF90IGNvdW50ID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHZhbHVlKTsKKyAgYm9vbCBuZWdhdGl2ZV9udW1iZXIgPSBmYWxzZTsKKyAgaWYgKHZhbHVlIDwgMCkgeworICAgIG5lZ2F0aXZlX251bWJlciA9IHRydWU7CisgICAgY291bnQgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oLXZhbHVlKTsKKyAgfQorCisgIC8vIFRoZSBieXRlIHRocmVzaG9sZHMgYXQgd2hpY2ggd2UgZGlzcGxheSBhbW91bnRzLiBBIGNvdW50IGlzIGRpc3BsYXllZAorICAvLyBpbiB1bml0IFUgd2hlbiBrVW5pdFRocmVzaG9sZHNbVV0gPD0gYnl0ZXMgPCBrVW5pdFRocmVzaG9sZHNbVSsxXS4KKyAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGtVbml0VGhyZXNob2xkczJbXSA9IHsKKyAgICAxMDI0KjEwMjQqMTAyNCAvKiBHaSAqLywgMioxMDI0KjEwMjQgLyogTWkgKi8sIDMqMTAyNCAvKiBLaSAqLywgMCwKKyAgfTsKKyAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGtVbml0VGhyZXNob2xkczEwW10gPSB7CisgICAgMTAwMCoxMDAwKjEwMDAgLyogRyAqLywgMioxMDAwKjEwMDAgLyogTSAqLywgMyoxMDAwIC8qIGsgKi8sIDAsCisgIH07CisgIHN0YXRpYyBjb25zdCB1aW50NjRfdCBrQW1vdW50UGVyVW5pdDJbXSA9IHsgMTAyNCoxMDI0KjEwMjQsIDEwMjQqMTAyNCwgMTAyNCwgMSB9OworICBzdGF0aWMgY29uc3QgdWludDY0X3Qga0Ftb3VudFBlclVuaXQxMFtdID0geyAxMDAwKjEwMDAqMTAwMCwgMTAwMCoxMDAwLCAxMDAwLCAxIH07CisgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBrVW5pdFN0cmluZ3MyW10gPSB7ICJHaSIsICJNaSIsICJLaSIsICIiIH07CisgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBrVW5pdFN0cmluZ3MxMFtdID0geyAiRyIsICJNIiwgImsiLCAiIiB9OworCisgIC8vIFdoaWNoIHNldCBhcmUgd2UgdXNpbmc/CisgIGNvbnN0IHVpbnQ2NF90KiBrVW5pdFRocmVzaG9sZHMgPSAoKGJhc2UgPT0gMikgPyBrVW5pdFRocmVzaG9sZHMyIDoga1VuaXRUaHJlc2hvbGRzMTApOworICBjb25zdCB1aW50NjRfdCoga0Ftb3VudFBlclVuaXQgPSAoKGJhc2UgPT0gMikgPyBrQW1vdW50UGVyVW5pdDIgOiBrQW1vdW50UGVyVW5pdDEwKTsKKyAgY29uc3QgY2hhciogY29uc3QqIGtVbml0U3RyaW5ncyA9ICgoYmFzZSA9PSAyKSA/IGtVbml0U3RyaW5nczIgOiBrVW5pdFN0cmluZ3MxMCk7CisKKyAgc2l6ZV90IGkgPSAwOworICBmb3IgKDsga1VuaXRUaHJlc2hvbGRzW2ldICE9IDA7ICsraSkgeworICAgIGlmIChjb3VudCA+PSBrVW5pdFRocmVzaG9sZHNbaV0pIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICBjaGFyKiBzID0gTlVMTDsKKyAgYXNwcmludGYoJnMsICIlcyUiIFBSSWQ2NCAiJXMiLCAobmVnYXRpdmVfbnVtYmVyID8gIi0iIDogIiIpLAorICAgICAgICAgICBjb3VudCAvIGtBbW91bnRQZXJVbml0W2ldLCBrVW5pdFN0cmluZ3NbaV0pOworICBzdGQ6OnN0cmluZyByZXN1bHQocyk7CisgIGZyZWUocyk7CisgIHJldHVybiByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL3V0aWxzLmggYi9iZW5jaG1hcmtzL3V0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNjNjRiYQotLS0gL2Rldi9udWxsCisrKyBiL2JlbmNobWFya3MvdXRpbHMuaApAQCAtMCwwICsxLDI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBCRU5DSE1BUktTX1VUSUxTX0gKKyNkZWZpbmUgQkVOQ0hNQVJLU19VVElMU19ICisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdHJpbmc+CisKK2ludCBSb3VuZChpbnQgbik7CitzdGQ6OnN0cmluZyBQcmV0dHlJbnQobG9uZyB2YWx1ZSwgc2l6ZV90IGJhc2UpOworCisjZW5kaWYgIC8vIEJFTkNITUFSS1NfVVRJTFNfSApkaWZmIC0tZ2l0IGEvYnVpbGQvcnVuLW9uLWhvc3QubWsgYi9idWlsZC9ydW4tb24taG9zdC5tawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzdlNWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYnVpbGQvcnVuLW9uLWhvc3QubWsKQEAgLTAsMCArMSw0NCBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKKworIyBJbmNsdWRlIG9uY2UKK2lmbmVxICgkKGJpb25pY19ydW5fb25faG9zdF9ta19pbmNsdWRlZCksdHJ1ZSkKK2Jpb25pY19ydW5fb25faG9zdF9ta19pbmNsdWRlZDo9dHJ1ZQorCitpZm5lcSAoJChUQVJHRVRfQVJDSCksJChmaWx0ZXIgJChUQVJHRVRfQVJDSCksYXJtIG1pcHMgeDg2KSkKK0xJTktFUiA9IGxpbmtlcjY0CitlbHNlCitMSU5LRVIgPSBsaW5rZXIKK2VuZGlmCisKK2lmZXEgKCQoVEFSR0VUX0FSQ0gpLCQoZmlsdGVyICQoVEFSR0VUX0FSQ0gpLHg4NiB4ODZfNjQpKQorIyBndGVzdCBuZWVkcyBBTkRST0lEX0RBVEEvbG9jYWwvdG1wIGZvciBkZWF0aCB0ZXN0IG91dHB1dC4KKyMgTWFrZSBzdXJlIHRvIGNyZWF0ZSBBTkRST0lEX0RBVEEvbG9jYWwvdG1wIGlmIGRvZXNuJ3QgZXhpc3QuCisjIGJpb25pYyBpdHNlbGYgc2hvdWxkIGFsd2F5cyB3b3JrIHJlbGF0aXZlIHRvIEFORFJPSURfREFUQSBvciBBTkRST0lEX1JPT1QuCitiaW9uaWMtcHJlcGFyZS1ydW4tb24taG9zdDogJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS8kKExJTktFUikgJChUQVJHRVRfT1VUKS9ldGMvaG9zdHMgJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS9zaAorCWlmIFsgISAtZCAvc3lzdGVtIF07IHRoZW4gXAorCSAgZWNobyAiQXR0ZW1wdGluZyB0byBjcmVhdGUgL3N5c3RlbSI7IFwKKwkgIHN1ZG8gbWtkaXIgLXAgLW0gMDc3NyAvc3lzdGVtOyBcCisJZmkKKwlta2RpciAtcCAkKFRBUkdFVF9PVVRfREFUQSkvbG9jYWwvdG1wCisJbG4gLWZzIGByZWFscGF0aCAkKFRBUkdFVF9PVVQpL2JpbmAgL3N5c3RlbS8KKwlsbiAtZnMgYHJlYWxwYXRoICQoVEFSR0VUX09VVCkvZXRjYCAvc3lzdGVtLworCWxuIC1mcyBgcmVhbHBhdGggJChUQVJHRVRfT1VUKS9saWJgIC9zeXN0ZW0vCisJaWYgWyAtZCAiJChUQVJHRVRfT1VUKS9saWI2NCIgXTsgdGhlbiBcCisJICBsbiAtZnMgYHJlYWxwYXRoICQoVEFSR0VUX09VVCkvbGliNjRgIC9zeXN0ZW0vOyBcCisJZmkKK2VuZGlmCitlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9BbmRyb2lkLm1rIGIvbGliYy9BbmRyb2lkLm1rCmluZGV4IGNlZTcwMGQuLjIwODc0Y2IgMTAwNjQ0Ci0tLSBhL2xpYmMvQW5kcm9pZC5taworKysgYi9saWJjL0FuZHJvaWQubWsKQEAgLTEsNSArMSw3IEBACiBMT0NBTF9QQVRIIDo9ICQoY2FsbCBteS1kaXIpCiAKK2Jpb25pY19jb3ZlcmFnZSA6PSBmYWxzZQorCiAjIE1ha2UgZXZlcnl0aGluZyBkZXBlbmQgb24gYW55IGNoYW5nZXMgdG8gaW5jbHVkZWQgbWFrZWZpbGVzLgogbGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMgOj0gJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rCiAKQEAgLTM4LDEyICs0MCw5IEBACiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogbGliY19jb21tb25fc3JjX2ZpbGVzIDo9IFwKICAgICBiaW9uaWMvYmluZHJlc3Zwb3J0LmMgXAotICAgIGJpb25pYy9kYWVtb24uYyBcCi0gICAgYmlvbmljL2Vyci5jIFwKICAgICBiaW9uaWMvZXRoZXJfYXRvbi5jIFwKICAgICBiaW9uaWMvZXRoZXJfbnRvYS5jIFwKICAgICBiaW9uaWMvZnRzLmMgXAotICAgIGJpb25pYy9nZXRob3N0bmFtZS5jIFwKICAgICBiaW9uaWMvZ2V0cHJpb3JpdHkuYyBcCiAgICAgYmlvbmljL2lmX2luZGV4dG9uYW1lLmMgXAogICAgIGJpb25pYy9pZl9uYW1ldG9pbmRleC5jIFwKQEAgLTUxLDExICs1MCw5IEBACiAgICAgYmlvbmljL2lvY3RsLmMgXAogICAgIGJpb25pYy9pc2F0dHkuYyBcCiAgICAgYmlvbmljL21lbW1lbS5jIFwKLSAgICBiaW9uaWMvcGF0aGNvbmYuYyBcCiAgICAgYmlvbmljL3B1dHV0bGluZS5jIFwKICAgICBiaW9uaWMvc2NoZWRfY3B1YWxsb2MuYyBcCiAgICAgYmlvbmljL3NjaGVkX2NwdWNvdW50LmMgXAotICAgIGJpb25pYy9zZW1hcGhvcmUuYyBcCiAgICAgYmlvbmljL3NpZ2Jsb2NrLmMgXAogICAgIGJpb25pYy9zaWdpbnRlcnJ1cHQuYyBcCiAgICAgYmlvbmljL3NpZ3NldG1hc2suYyBcCkBAIC02NCwxMyArNjEsMjQgQEAKICAgICBzdGRpby9mcmVhZC5jIFwKICAgICBzdGRpby9zbnByaW50Zi5jXAogICAgIHN0ZGlvL3NwcmludGYuYyBcCisgICAgc3RkaW8vc3RkaW8uYyBcCisgICAgc3RkaW8vc3RkaW9fZXh0LmNwcCBcCisgICAgc3RkbGliL2F0ZXhpdC5jIFwKKyAgICBzdGRsaWIvZXhpdC5jIFwKIAogIyBGb3J0aWZ5IGltcGxlbWVudGF0aW9ucyBvZiBsaWJjIGZ1bmN0aW9ucy4KIGxpYmNfY29tbW9uX3NyY19maWxlcyArPSBcCiAgICAgYmlvbmljL19fRkRfY2hrLmNwcCBcCiAgICAgYmlvbmljL19fZmdldHNfY2hrLmNwcCBcCisgICAgYmlvbmljL19fbWVtY2hyX2Noay5jcHAgXAogICAgIGJpb25pYy9fX21lbW1vdmVfY2hrLmNwcCBcCisgICAgYmlvbmljL19fbWVtcmNocl9jaGsuY3BwIFwKKyAgICBiaW9uaWMvX19wb2xsX2Noay5jcHAgXAorICAgIGJpb25pYy9fX3ByZWFkNjRfY2hrLmNwcCBcCisgICAgYmlvbmljL19fcHJlYWRfY2hrLmNwcCBcCiAgICAgYmlvbmljL19fcmVhZF9jaGsuY3BwIFwKKyAgICBiaW9uaWMvX19yZWFkbGlua19jaGsuY3BwIFwKKyAgICBiaW9uaWMvX19yZWFkbGlua2F0X2Noay5jcHAgXAogICAgIGJpb25pYy9fX3JlY3Zmcm9tX2Noay5jcHAgXAogICAgIGJpb25pYy9fX3N0cGNweV9jaGsuY3BwIFwKICAgICBiaW9uaWMvX19zdHBuY3B5X2Noay5jcHAgXApAQCAtODUsMTMgKzkzLDE0IEBACiAgICAgYmlvbmljL19fdnNucHJpbnRmX2Noay5jcHAgXAogICAgIGJpb25pYy9fX3ZzcHJpbnRmX2Noay5jcHAgXAogCi1saWJjX2Jpb25pY19zcmNfZmlsZXMgOj0gXAorbGliY19iaW9uaWNfbmRrX3NyY19maWxlcyA6PSBcCiAgICAgYmlvbmljL2Fib3J0LmNwcCBcCiAgICAgYmlvbmljL2FjY2VwdC5jcHAgXAogICAgIGJpb25pYy9hY2NlcHQ0LmNwcCBcCiAgICAgYmlvbmljL2FjY2Vzcy5jcHAgXAogICAgIGJpb25pYy9hc3NlcnQuY3BwIFwKICAgICBiaW9uaWMvYXRvZi5jcHAgXAorICAgIGJpb25pYy9iaW9uaWNfc3lzdHJhY2UuY3BwIFwKICAgICBiaW9uaWMvYmlvbmljX3RpbWVfY29udmVyc2lvbnMuY3BwIFwKICAgICBiaW9uaWMvYnJrLmNwcCBcCiAgICAgYmlvbmljL2MxNnJ0b21iLmNwcCBcCkBAIC0xMDAsNyArMTA5LDEwIEBACiAgICAgYmlvbmljL2Nob3duLmNwcCBcCiAgICAgYmlvbmljL2NsZWFyZW52LmNwcCBcCiAgICAgYmlvbmljL2Nsb2NrLmNwcCBcCisgICAgYmlvbmljL2Nsb2NrX2dldGNwdWNsb2NraWQuY3BwIFwKKyAgICBiaW9uaWMvY2xvY2tfbmFub3NsZWVwLmNwcCBcCiAgICAgYmlvbmljL2Nsb25lLmNwcCBcCisgICAgYmlvbmljL2Nsb3NlLmNwcCBcCiAgICAgYmlvbmljL19fY21zZ19ueHRoZHIuY3BwIFwKICAgICBiaW9uaWMvY29ubmVjdC5jcHAgXAogICAgIGJpb25pYy9jdHlwZS5jcHAgXApAQCAtMTEwLDE5ICsxMjIsMjIgQEAKICAgICBiaW9uaWMvZXBvbGxfcHdhaXQuY3BwIFwKICAgICBiaW9uaWMvZXBvbGxfd2FpdC5jcHAgXAogICAgIGJpb25pYy9fX2Vycm5vLmNwcCBcCisgICAgYmlvbmljL2Vycm9yLmNwcCBcCiAgICAgYmlvbmljL2V2ZW50ZmRfcmVhZC5jcHAgXAogICAgIGJpb25pYy9ldmVudGZkX3dyaXRlLmNwcCBcCisgICAgYmlvbmljL2ZhY2Nlc3NhdC5jcHAgXAorICAgIGJpb25pYy9mY2htb2QuY3BwIFwKKyAgICBiaW9uaWMvZmNobW9kYXQuY3BwIFwKICAgICBiaW9uaWMvZmZzLmNwcCBcCiAgICAgYmlvbmljL2Zsb2NrZmlsZS5jcHAgXAotICAgIGJpb25pYy9mb3JrLmNwcCBcCiAgICAgYmlvbmljL2ZwY2xhc3NpZnkuY3BwIFwKICAgICBiaW9uaWMvZnV0aW1lbnMuY3BwIFwKLSAgICBiaW9uaWMvZ2V0YXV4dmFsLmNwcCBcCiAgICAgYmlvbmljL2dldGN3ZC5jcHAgXAotICAgIGJpb25pYy9nZXRlbnRyb3B5X2xpbnV4LmMgXAorICAgIGJpb25pYy9nZXRob3N0bmFtZS5jcHAgXAogICAgIGJpb25pYy9nZXRwZ3JwLmNwcCBcCiAgICAgYmlvbmljL2dldHBpZC5jcHAgXAogICAgIGJpb25pYy9nZXR0aWQuY3BwIFwKKyAgICBiaW9uaWMvX19nbnVfYmFzZW5hbWUuY3BwIFwKICAgICBiaW9uaWMvaW5vdGlmeV9pbml0LmNwcCBcCiAgICAgYmlvbmljL2xjaG93bi5jcHAgXAogICAgIGJpb25pYy9sZnM2NF9zdXBwb3J0LmNwcCBcCkBAIC0xMzQsNDIgKzE0OSwyNSBAQAogICAgIGJpb25pYy9saW5rLmNwcCBcCiAgICAgYmlvbmljL2xvY2FsZS5jcHAgXAogICAgIGJpb25pYy9sc3RhdC5jcHAgXAorICAgIGJpb25pYy9tYWxsb2NfaW5mby5jcHAgXAogICAgIGJpb25pYy9tYnJ0b2MxNi5jcHAgXAogICAgIGJpb25pYy9tYnJ0b2MzMi5jcHAgXAogICAgIGJpb25pYy9tYnN0YXRlLmNwcCBcCisgICAgYmlvbmljL21lbXBjcHkuY3BwIFwKICAgICBiaW9uaWMvbWtkaXIuY3BwIFwKICAgICBiaW9uaWMvbWtmaWZvLmNwcCBcCiAgICAgYmlvbmljL21rbm9kLmNwcCBcCiAgICAgYmlvbmljL21udGVudC5jcHAgXAogICAgIGJpb25pYy9OZXRkQ2xpZW50RGlzcGF0Y2guY3BwIFwKICAgICBiaW9uaWMvb3Blbi5jcHAgXAorICAgIGJpb25pYy9wYXRoY29uZi5jcHAgXAogICAgIGJpb25pYy9wYXVzZS5jcHAgXAogICAgIGJpb25pYy9waXBlLmNwcCBcCiAgICAgYmlvbmljL3BvbGwuY3BwIFwKICAgICBiaW9uaWMvcG9zaXhfZmFkdmlzZS5jcHAgXAogICAgIGJpb25pYy9wb3NpeF9mYWxsb2NhdGUuY3BwIFwKKyAgICBiaW9uaWMvcG9zaXhfbWFkdmlzZS5jcHAgXAogICAgIGJpb25pYy9wb3NpeF90aW1lcnMuY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9hdGZvcmsuY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9hdHRyLmNwcCBcCi0gICAgYmlvbmljL3B0aHJlYWRfY29uZC5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX2NyZWF0ZS5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX2RldGFjaC5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX2VxdWFsLmNwcCBcCi0gICAgYmlvbmljL3B0aHJlYWRfZXhpdC5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX2dldGNwdWNsb2NraWQuY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9nZXRzY2hlZHBhcmFtLmNwcCBcCi0gICAgYmlvbmljL3B0aHJlYWRfZ2V0dGlkX25wLmNwcCBcCi0gICAgYmlvbmljL3B0aHJlYWRfaW50ZXJuYWxzLmNwcCBcCi0gICAgYmlvbmljL3B0aHJlYWRfam9pbi5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX2tleS5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX2tpbGwuY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9tdXRleC5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX29uY2UuY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9yd2xvY2suY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9zZWxmLmNwcCBcCi0gICAgYmlvbmljL3B0aHJlYWRfc2V0bmFtZV9ucC5jcHAgXAotICAgIGJpb25pYy9wdGhyZWFkX3NldHNjaGVkcGFyYW0uY3BwIFwKLSAgICBiaW9uaWMvcHRocmVhZF9zaWdtYXNrLmNwcCBcCiAgICAgYmlvbmljL3B0cmFjZS5jcHAgXAogICAgIGJpb25pYy9wdHkuY3BwIFwKICAgICBiaW9uaWMvcmFpc2UuY3BwIFwKQEAgLTE4Miw2ICsxODAsNyBAQAogICAgIGJpb25pYy9zY2FuZGlyLmNwcCBcCiAgICAgYmlvbmljL3NjaGVkX2dldGFmZmluaXR5LmNwcCBcCiAgICAgYmlvbmljL3NjaGVkX2dldGNwdS5jcHAgXAorICAgIGJpb25pYy9zZW1hcGhvcmUuY3BwIFwKICAgICBiaW9uaWMvc2VuZC5jcHAgXAogICAgIGJpb25pYy9zZXRlZ2lkLmNwcCBcCiAgICAgYmlvbmljL19fc2V0X2Vycm5vLmNwcCBcCkBAIC0xOTcsMjQgKzE5NiwyMSBAQAogICAgIGJpb25pYy9zaWduYWxmZC5jcHAgXAogICAgIGJpb25pYy9zaWdwZW5kaW5nLmNwcCBcCiAgICAgYmlvbmljL3NpZ3Byb2NtYXNrLmNwcCBcCisgICAgYmlvbmljL3NpZ3F1ZXVlLmNwcCBcCiAgICAgYmlvbmljL3NpZ3N1c3BlbmQuY3BwIFwKKyAgICBiaW9uaWMvc2lndGltZWR3YWl0LmNwcCBcCiAgICAgYmlvbmljL3NpZ3dhaXQuY3BwIFwKKyAgICBiaW9uaWMvc2lnd2FpdGluZm8uY3BwIFwKICAgICBiaW9uaWMvc29ja2V0LmNwcCBcCiAgICAgYmlvbmljL3N0YXQuY3BwIFwKICAgICBiaW9uaWMvc3RhdHZmcy5jcHAgXAotICAgIGJpb25pYy9zdHJjb2xsX2wuY3BwIFwKICAgICBiaW9uaWMvc3RyZXJyb3IuY3BwIFwKICAgICBiaW9uaWMvc3RyZXJyb3Jfci5jcHAgXAotICAgIGJpb25pYy9zdHJmdGltZV9sLmNwcCBcCiAgICAgYmlvbmljL3N0cnNpZ25hbC5jcHAgXAogICAgIGJpb25pYy9zdHJ0b2xkLmNwcCBcCi0gICAgYmlvbmljL3N0cnRvbGRfbC5jcHAgXAotICAgIGJpb25pYy9zdHJ0b2xsX2wuY3BwIFwKLSAgICBiaW9uaWMvc3RydG91bGxfbC5jcHAgXAotICAgIGJpb25pYy9zdHJ4ZnJtX2wuY3BwIFwKICAgICBiaW9uaWMvc3R1YnMuY3BwIFwKICAgICBiaW9uaWMvc3ltbGluay5jcHAgXAotICAgIGJpb25pYy9zeXNjb25mLmNwcCBcCisgICAgYmlvbmljL3N5c2luZm8uY3BwIFwKICAgICBiaW9uaWMvc3lzbG9nLmNwcCBcCiAgICAgYmlvbmljL3N5c19zaWdsaXN0LmMgXAogICAgIGJpb25pYy9zeXNfc2lnbmFtZS5jIFwKQEAgLTIyNiwxMCArMjIyLDI3IEBACiAgICAgYmlvbmljL3Vtb3VudC5jcHAgXAogICAgIGJpb25pYy91bmxpbmsuY3BwIFwKICAgICBiaW9uaWMvdXRpbWVzLmNwcCBcCi0gICAgYmlvbmljL3Zkc28uY3BwIFwKICAgICBiaW9uaWMvd2FpdC5jcHAgXAogICAgIGJpb25pYy93Y2hhci5jcHAgXAogICAgIGJpb25pYy93Y3R5cGUuY3BwIFwKKyAgICBiaW9uaWMvd21lbXBjcHkuY3BwIFwKKworbGliY19iaW9uaWNfc3JjX2ZpbGVzIDo9CisKKyMgVGhlIGZvcmsgaW1wbGVtZW50YXRpb24gZGVwZW5kcyBvbiBwdGhyZWFkIGRhdGEsIHNvIHdlIGNhbid0IGluY2x1ZGUgaXQgaW4KKyMgbGliY19uZGsuYS4KK2xpYmNfYmlvbmljX3NyY19maWxlcyArPSBiaW9uaWMvZm9yay5jcHAKKworIyBUaGUgZGF0YSB0aGF0IGJhY2tzIGdldGF1eHZhbCBpcyBpbml0aWFsaXplZCBpbiB0aGUgbGliYyBpbml0IGZ1bmN0aW9ucyB3aGljaAorIyBhcmUgaW52b2tlZCBieSB0aGUgbGlua2VyLiBJZiB0aGlzIGZpbGUgaXMgaW5jbHVkZWQgaW4gbGliY19uZGsuYSwgb25seSBvbmUgb2YKKyMgdGhlIGNvcGllcyBvZiB0aGUgZ2xvYmFsIGRhdGEgd2lsbCBiZSBpbml0aWFsaXplZCwgcmVzdWx0aW5nIGluIG51bGxwdHIKKyMgZGVyZWZlcmVuY2VzLgorbGliY19iaW9uaWNfc3JjX2ZpbGVzICs9IGJpb25pYy9nZXRhdXh2YWwuY3BwCisKKyMgVGhlc2UgdGhyZWUgcmVxdWlyZSBnZXRhdXh2YWwsIHdoaWNoIGlzbid0IGF2YWlsYWJsZSBvbiBvbGRlciBwbGF0Zm9ybXMuCitsaWJjX2Jpb25pY19zcmNfZmlsZXMgKz0gYmlvbmljL2dldGVudHJvcHlfbGludXguYworbGliY19iaW9uaWNfc3JjX2ZpbGVzICs9IGJpb25pYy9zeXNjb25mLmNwcAorbGliY19iaW9uaWNfc3JjX2ZpbGVzICs9IGJpb25pYy92ZHNvLmNwcAogCiBsaWJjX2N4YV9zcmNfZmlsZXMgOj0gXAogICAgIGJpb25pYy9fX2N4YV9ndWFyZC5jcHAgXApAQCAtMjQwLDkgKzI1Myw2IEBACiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9nZW4vbGRleHAuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9nZW4vc2xlZXAuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9nZW4vdXNsZWVwLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RkaW8vZmxhZ3MuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRpby9mb3Blbi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGxpYi9hYnMuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRsaWIvZ2V0b3B0X2xvbmcuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRsaWIvaW1heGFicy5jIFwKQEAgLTI2Nyw3ICsyNzcsNiBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3djc3Nwbi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0cmluZy93Y3N0b2suYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdHJpbmcvd21lbWNoci5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0cmluZy93bWVtY3B5LmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1zZXQuYyBcCiAKIGxpYmNfdXBzdHJlYW1fbmV0YnNkX3NyY19maWxlcyA6PSBcCkBAIC0yODgsOCArMjk3LDggQEAKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RkbGliL2Rpdi5jIFwKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RkbGliL2RyYW5kNDguYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9lcmFuZDQ4LmMgXAotICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvaW5zcXVlLmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvanJhbmQ0OC5jIFwKKyAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RkbGliL2xjb25nNDguYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9sZGl2LmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvbGxkaXYuYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9scmFuZDQ4LmMgXApAQCAtMjk4LDE0ICszMDcsMTIgQEAKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RkbGliL19yYW5kNDguYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9yYW5kX3IuYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9yZWFsbG9jYXJyLmMgXAotICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvcmVtcXVlLmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvc2VlZDQ4LmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvc3JhbmQ0OC5jIFwKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RyaW5nL21lbWNjcHkuYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0cmluZy9zdHJjYXNlc3RyLmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdHJpbmcvc3RyY29sbC5jIFwKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RyaW5nL3N0cnhmcm0uYyBcCi0gICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3VuaXN0ZC9raWxscGcuYyBcCiAKIGxpYmNfdXBzdHJlYW1fb3BlbmJzZF9nZHRvYV9zcmNfZmlsZXMgOj0gXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvYW5kcm9pZC9nZHRvYV9zdXBwb3J0LmNwcCBcCkBAIC0zMzQsMTEgKzM0MSwxOCBAQAogICAgICQobGliY191cHN0cmVhbV9vcGVuYnNkX2dkdG9hX3NyY19maWxlcykgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2R0b2Evc3RydG9yUS5jIFwKIAorIyBUaGVzZSB0d28gZGVwZW5kIG9uIGdldGVudHJvcHlfbGludXguY3BwLCB3aGljaCBpc24ndCBpbiBsaWJjX25kay5hLgogbGliY191cHN0cmVhbV9vcGVuYnNkX3NyY19maWxlcyA6PSBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9jcnlwdC9hcmM0cmFuZG9tLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvY3J5cHQvYXJjNHJhbmRvbV91bmlmb3JtLmMgXAorCitsaWJjX3Vwc3RyZWFtX29wZW5ic2RfbmRrX3NyY19maWxlcyA6PSBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9jb21wYXQtNDMva2lsbHBnLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2FsYXJtLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2N0eXBlXy5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9kYWVtb24uYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vZXJyLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2VycnguYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vZXhlYy5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9mbm1hdGNoLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2Z0b2suYyBcCkBAIC0zNDgsNiArMzYyLDEyIEBACiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vdGltZS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi90b2xvd2VyXy5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi90b3VwcGVyXy5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi92ZXJyLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3ZlcnJ4LmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3Z3YXJuLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3Z3YXJueC5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi93YXJuLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3dhcm54LmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbG9jYWxlL2J0b3djLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbG9jYWxlL21icmxlbi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2xvY2FsZS9tYnN0b3djcy5jIFwKQEAgLTM4MSw2ICs0MDEsNyBAQAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vYXNwcmludGYuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9jbHJlcnIuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9kcHJpbnRmLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmRvcGVuLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmVvZi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZlcnJvci5jIFwKQEAgLTM5Miw2ICs0MTMsOSBAQAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmdldHdjLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmdldHdzLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmlsZW5vLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmxhZ3MuYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mbWVtb3Blbi5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZvcGVuLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZnByaW50Zi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZwdXJnZS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZwdXRjLmMgXApAQCAtNDE5LDYgKzQ0Myw4IEBACiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9nZXR3Y2hhci5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL21ha2VidWYuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9ta3RlbXAuYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9vcGVuX21lbXN0cmVhbS5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL29wZW5fd21lbXN0cmVhbS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3BlcnJvci5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3ByaW50Zi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3B1dGMuYyBcCkBAIC00MzUsNyArNDYxLDYgQEAKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3NldGJ1ZmZlci5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3NldHZidWYuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9zc2NhbmYuYyBcCi0gICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9zdGRpby5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3N3cHJpbnRmLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vc3dzY2FuZi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3RlbXBuYW0uYyBcCkBAIC00NjEsMTMgKzQ4NiwxNCBAQAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vd3ByaW50Zi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3dzY2FuZi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3dzZXR1cC5jIFwKLSAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9hdGV4aXQuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvYXRvaS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9hdG9sLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL2F0b2xsLmMgXAotICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL2V4aXQuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvZ2V0ZW52LmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL2luc3F1ZS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9sc2VhcmNoLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3JlYWxsb2NhcnJheS5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9yZW1xdWUuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvc2V0ZW52LmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvaW1heC5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2wuYyBcCkBAIC00ODcsMTMgKzUxMyw1NyBAQAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL3N0cnNwbi5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJzdHIuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RydG9rLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1jcHkuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvd2NzbGNweS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy93Y3NzdHIuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvd2Nzd2lkdGguYyBcCiAKK2xpYmNfcHRocmVhZF9zcmNfZmlsZXMgOj0gXAorICAgIGJpb25pYy9wdGhyZWFkX2F0Zm9yay5jcHAgXAorICAgIGJpb25pYy9wdGhyZWFkX2F0dHIuY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9jb25kLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfY3JlYXRlLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfZGV0YWNoLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfZXF1YWwuY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9leGl0LmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfZ2V0Y3B1Y2xvY2tpZC5jcHAgXAorICAgIGJpb25pYy9wdGhyZWFkX2dldHNjaGVkcGFyYW0uY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9nZXR0aWRfbnAuY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9pbnRlcm5hbC5jcHAgXAorICAgIGJpb25pYy9wdGhyZWFkX2pvaW4uY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9rZXkuY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9raWxsLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfbXV0ZXguY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9vbmNlLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfcndsb2NrLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfc2VsZi5jcHAgXAorICAgIGJpb25pYy9wdGhyZWFkX3NldG5hbWVfbnAuY3BwIFwKKyAgICBiaW9uaWMvcHRocmVhZF9zZXRzY2hlZHBhcmFtLmNwcCBcCisgICAgYmlvbmljL3B0aHJlYWRfc2lnbWFzay5jcHAgXAorCitsaWJjX3RocmVhZF9hdGV4aXRfaW1wbF9zcmNfZmlsZXMgOj0gXAorICAgIGJpb25pYy9fX2N4YV90aHJlYWRfYXRleGl0X2ltcGwuY3BwIFwKKwogbGliY19hcmNoX3N0YXRpY19zcmNfZmlsZXMgOj0gXAogICAgIGJpb25pYy9kbF9pdGVyYXRlX3BoZHJfc3RhdGljLmNwcCBcCiAKKyMgVmFyaW91cyBraW5kcyBvZiBMUDMyIGNydWZ0LgorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorbGliY19iaW9uaWNfc3JjX2ZpbGVzXzMyICs9IFwKKyAgICBiaW9uaWMvbW1hcC5jcHAgXAorCitsaWJjX2NvbW1vbl9zcmNfZmlsZXNfMzIgKz0gXAorICAgIGJpb25pYy9sZWdhY3lfMzJfYml0X3N1cHBvcnQuY3BwIFwKKyAgICBiaW9uaWMvbmRrX2NydWZ0LmNwcCBcCisgICAgYmlvbmljL3RpbWU2NC5jIFwKKworbGliY19uZXRic2Rfc3JjX2ZpbGVzXzMyICs9IFwKKyAgICB1cHN0cmVhbS1uZXRic2QvY29tbW9uL2xpYi9saWJjL2hhc2gvc2hhMS9zaGExLmMgXAorCitsaWJjX29wZW5ic2Rfc3JjX2ZpbGVzXzMyICs9IFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3B1dHcuYyBcCisKKwogIyBEZWZpbmUgc29tZSBjb21tb24gY2ZsYWdzCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBsaWJjX2NvbW1vbl9jZmxhZ3MgOj0gXApAQCAtNTM2LDEzICs2MDYsNiBAQAogICBsaWJjX2NvbW1vbl9jZmxhZ3MgKz0gLURNQUxMT0NfQUxJR05NRU5UPSQoQk9BUkRfTUFMTE9DX0FMSUdOTUVOVCkKIGVuZGlmCiAKLSMgRGVmaW5lIEFORFJPSURfU01QIGFwcHJvcHJpYXRlbHkuCi1pZmVxICgkKFRBUkdFVF9DUFVfU01QKSx0cnVlKQotICAgIGxpYmNfY29tbW9uX2NmbGFncyArPSAtREFORFJPSURfU01QPTEKLWVsc2UKLSAgICBsaWJjX2NvbW1vbl9jZmxhZ3MgKz0gLURBTkRST0lEX1NNUD0wCi1lbmRpZgotCiAjIERlZmluZSBzb21lIGNvbW1vbiBjb25seWZsYWdzCiBsaWJjX2NvbW1vbl9jb25seWZsYWdzIDo9IFwKICAgICAtc3RkPWdudTk5CkBAIC01NTcsMTIgKzYyMCwxMyBAQAogICAgICQoTE9DQUxfUEFUSCkvc3RkaW8gICBcCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSMgQWRkIGluIHRoZSBhcmNoLXNwZWNpZmljIGZsYWdzLgorIyBBZGQgaW4gdGhlIGFyY2ggb3IgMzItYml0IHNwZWNpZmljIGZsYWdzCiAjIE11c3QgYmUgY2FsbGVkIHdpdGggJChldmFsKS4KICMgJCgxKTogdGhlIExPQ0FMXyB2YXJpYWJsZSBuYW1lCiAjICQoMik6IHRoZSBiaW9uaWMgdmFyaWFibGUgbmFtZSB0byBwdWxsIGluCiBkZWZpbmUgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncwogJCgxKV8kKFRBUkdFVF9BUkNIKSArPSAkKCQoMilfJChUQVJHRVRfQVJDSCkpCiskKDEpXzMyICs9ICQoJCgyKV8zMikKIGlmZGVmIFRBUkdFVF8yTkRfQVJDSAogJCgxKV8kKFRBUkdFVF8yTkRfQVJDSCkgKz0gJCgkKDIpXyQoVEFSR0VUXzJORF9BUkNIKSkKIGVuZGlmCkBAIC01ODcsNyArNjUxLDEwIEBACiBMT0NBTF9NT0RVTEUgOj0gbGliY19zdGFja19wcm90ZWN0b3IKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiAKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKIGluY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKQEAgLTYyNSw3ICs2OTIsMTAgQEAKIExPQ0FMX01PRFVMRSA6PSBsaWJjX3R6Y29kZQogTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCiBMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIAogJChldmFsICQoY2FsbCBwYXRjaC11cC1hcmNoLXNwZWNpZmljLWZsYWdzLExPQ0FMX0NGTEFHUyxsaWJjX2NvbW1vbl9jZmxhZ3MpKQogaW5jbHVkZSAkKEJVSUxEX1NUQVRJQ19MSUJSQVJZKQpAQCAtNjQzLDI1ICs3MTMsMzUgQEAKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvaXNjL2V2X3RpbWVycy5jIFwKICAgICB1cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvcmVzb2x2L210Y3R4cmVzLmMgXAogCi1MT0NBTF9DRkxBR1MgOj0gXAorIyBXZSB1c2UgdGhlIE9wZW5CU0QgcmVzX3JhbmRvbS4KK0xPQ0FMX0NGTEFHUyArPSBcCisgICAgLURyZXNfcmFuZG9taWQ9X19yZXNfcmFuZG9taWQKK0xPQ0FMX1NSQ19GSUxFUyArPSBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvcmVzX3JhbmRvbS5jIFwKKworTE9DQUxfQ0ZMQUdTICs9IFwKICAgICAkKGxpYmNfY29tbW9uX2NmbGFncykgXAogICAgIC1EQU5EUk9JRF9DSEFOR0VTIFwKICAgICAtRElORVQ2IFwKICAgICAtZnZpc2liaWxpdHk9aGlkZGVuIFwKICAgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgXAotICAgIC1JJChMT0NBTF9QQVRIKS9kbnMvaW5jbHVkZSBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3ByaXZhdGUgXAotICAgIC1JJChMT0NBTF9QQVRIKS91cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvaW5jbHVkZSBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUgXAogICAgIC1pbmNsdWRlIG5ldGJzZC1jb21wYXQuaCBcCiAKIExPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQogTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykKLUxPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKQorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpIFwKKyAgICAkKExPQ0FMX1BBVEgpL2Rucy9pbmNsdWRlIFwKKyAgICAkKExPQ0FMX1BBVEgpL3ByaXZhdGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL2luY2x1ZGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZSBcCisKIExPQ0FMX01PRFVMRSA6PSBsaWJjX2RucwogTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCiBMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIAogJChldmFsICQoY2FsbCBwYXRjaC11cC1hcmNoLXNwZWNpZmljLWZsYWdzLExPQ0FMX0NGTEFHUyxsaWJjX2NvbW1vbl9jZmxhZ3MpKQogaW5jbHVkZSAkKEJVSUxEX1NUQVRJQ19MSUJSQVJZKQpAQCAtNjgwLDE3ICs3NjAsMjEgQEAKIExPQ0FMX0NGTEFHUyA6PSBcCiAgICAgJChsaWJjX2NvbW1vbl9jZmxhZ3MpIFwKICAgICAtV25vLXNpZ24tY29tcGFyZSAtV25vLXVuaW5pdGlhbGl6ZWQgXAotICAgIC1JJChMT0NBTF9QQVRIKS91cHN0cmVhbS1mcmVlYnNkL2FuZHJvaWQvaW5jbHVkZSBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvaW5jbHVkZSBcCiAgICAgLWluY2x1ZGUgZnJlZWJzZC1jb21wYXQuaCBcCiAKIExPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQogTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykKLUxPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKQorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpIFwKKyAgICAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLWZyZWVic2QvYW5kcm9pZC9pbmNsdWRlIFwKKyAgICAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvaW5jbHVkZSBcCisKIExPQ0FMX01PRFVMRSA6PSBsaWJjX2ZyZWVic2QKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiAKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19mcmVlYnNkX3NyY19maWxlcykpCkBAIC03MTEsMTcgKzc5NSwyMSBAQAogICAgICQobGliY19jb21tb25fY2ZsYWdzKSBcCiAgICAgLVduby1zaWduLWNvbXBhcmUgLVduby11bmluaXRpYWxpemVkIFwKICAgICAtRFBPU0lYX01JU1RBS0UgXAotICAgIC1JJChMT0NBTF9QQVRIKS91cHN0cmVhbS1uZXRic2QvYW5kcm9pZC9pbmNsdWRlIFwKLSAgICAtSSQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL2luY2x1ZGUgXAogICAgIC1pbmNsdWRlIG5ldGJzZC1jb21wYXQuaCBcCiAKIExPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQogTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykKLUxPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKQorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpIFwKKyAgICAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL2luY2x1ZGUgXAorCiBMT0NBTF9NT0RVTEUgOj0gbGliY19uZXRic2QKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiAKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19uZXRic2Rfc3JjX2ZpbGVzKSkKQEAgLTcyOSw2ICs4MTcsNDYgQEAKIAogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIGxpYmNfb3BlbmJzZF9uZGsuYSAtIHVwc3RyZWFtIE9wZW5CU0QgQyBsaWJyYXJ5IGNvZGUKKyMgdGhhdCBjYW4gYmUgc2FmZWx5IGluY2x1ZGVkIGluIHRoZSBsaWJjX25kay5hIChkb2Vzbid0CisjIGNvbnRhaW4gYW55IHRyb3VibGVzb21lIGdsb2JhbCBkYXRhIG9yIGNvbnN0cnVjdG9ycykuCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjCisjIFRoZXNlIGZpbGVzIGFyZSBidWlsdCB3aXRoIHRoZSBvcGVuYnNkLWNvbXBhdC5oIGhlYWRlciBmaWxlCisjIGF1dG9tYXRpY2FsbHkgaW5jbHVkZWQuCisKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorCitMT0NBTF9TUkNfRklMRVMgOj0gJChsaWJjX3Vwc3RyZWFtX29wZW5ic2RfbmRrX3NyY19maWxlcykKK0xPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQorCitMT0NBTF9DRkxBR1MgOj0gXAorICAgICQobGliY19jb21tb25fY2ZsYWdzKSBcCisgICAgLVduby1zaWduLWNvbXBhcmUgXAorICAgIC1Xbm8tdW5pbml0aWFsaXplZCBcCisgICAgLVduby11bnVzZWQtcGFyYW1ldGVyIFwKKyAgICAtaW5jbHVkZSBvcGVuYnNkLWNvbXBhdC5oIFwKKworTE9DQUxfQ09OTFlGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2Nvbmx5ZmxhZ3MpCitMT0NBTF9DUFBGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NwcGZsYWdzKQorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpIFwKKyAgICAkKExPQ0FMX1BBVEgpL3ByaXZhdGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tb3BlbmJzZC9hbmRyb2lkL2luY2x1ZGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9pbmNsdWRlIFwKKyAgICAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2R0b2EvIFwKKworTE9DQUxfTU9EVUxFIDo9IGxpYmNfb3BlbmJzZF9uZGsKK0xPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKK0xPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQorCiskKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfQ0ZMQUdTLGxpYmNfY29tbW9uX2NmbGFncykpCitpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCisKKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIyBsaWJjX29wZW5ic2QuYSAtIHVwc3RyZWFtIE9wZW5CU0QgQyBsaWJyYXJ5IGNvZGUKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICMKQEAgLTczOCwyOCArODY2LDI5IEBACiBpbmNsdWRlICQoQ0xFQVJfVkFSUykKIAogTE9DQUxfU1JDX0ZJTEVTIDo9ICQobGliY191cHN0cmVhbV9vcGVuYnNkX3NyY19maWxlcykKLWlmbmVxICgsJChmaWx0ZXIgJChUQVJHRVRfQVJDSCkseDg2IHg4Nl82NCkpCi0gICMgQ2xhbmcgaGFzIHdyb25nIGxvbmcgZG91YmxlIHNpemUgb3IgTERCTF9NQU5UX0RJRywgaHR0cDovL2IvMTcxNjM2NTEuCi0gIExPQ0FMX0NMQU5HIDo9IGZhbHNlCi1lbHNlCi0gIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQotZW5kaWYKK0xPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQogCiBMT0NBTF9DRkxBR1MgOj0gXAogICAgICQobGliY19jb21tb25fY2ZsYWdzKSBcCi0gICAgLVduby1zaWduLWNvbXBhcmUgLVduby11bmluaXRpYWxpemVkIC1Xbm8tdW51c2VkLXBhcmFtZXRlciBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3ByaXZhdGUgXAotICAgIC1JJChMT0NBTF9QQVRIKS91cHN0cmVhbS1vcGVuYnNkL2FuZHJvaWQvaW5jbHVkZSBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvaW5jbHVkZSBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2R0b2EvIFwKKyAgICAtV25vLXNpZ24tY29tcGFyZSBcCisgICAgLVduby11bmluaXRpYWxpemVkIFwKKyAgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgXAogICAgIC1pbmNsdWRlIG9wZW5ic2QtY29tcGF0LmggXAogCiBMT0NBTF9DT05MWUZMQUdTIDo9ICQobGliY19jb21tb25fY29ubHlmbGFncykKIExPQ0FMX0NQUEZMQUdTIDo9ICQobGliY19jb21tb25fY3BwZmxhZ3MpCi1MT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykKK0xPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKSBcCisgICAgJChMT0NBTF9QQVRIKS9wcml2YXRlIFwKKyAgICAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW9wZW5ic2QvYW5kcm9pZC9pbmNsdWRlIFwKKyAgICAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvaW5jbHVkZSBcCisgICAgJChMT0NBTF9QQVRIKS91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dkdG9hLyBcCisKIExPQ0FMX01PRFVMRSA6PSBsaWJjX29wZW5ic2QKIExPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQogCiAkKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfQ0ZMQUdTLGxpYmNfY29tbW9uX2NmbGFncykpCiAkKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfU1JDX0ZJTEVTLGxpYmNfb3BlbmJzZF9zcmNfZmlsZXMpKQpAQCAtNzc3LDI4ICs5MDYsMjcgQEAKIAogTE9DQUxfU1JDX0ZJTEVTXzMyIDo9ICQobGliY191cHN0cmVhbV9vcGVuYnNkX2dkdG9hX3NyY19maWxlc18zMikKIExPQ0FMX1NSQ19GSUxFU182NCA6PSAkKGxpYmNfdXBzdHJlYW1fb3BlbmJzZF9nZHRvYV9zcmNfZmlsZXNfNjQpCi1pZm5lcSAoLCQoZmlsdGVyICQoVEFSR0VUX0FSQ0gpLHg4NiB4ODZfNjQpKQotICAjIENsYW5nIGhhcyB3cm9uZyBsb25nIGRvdWJsZSBzaXplIG9yIExEQkxfTUFOVF9ESUcsIGh0dHA6Ly9iLzE3MTYzNjUxLgotICBMT0NBTF9DTEFORyA6PSBmYWxzZQotZWxzZQotICBMT0NBTF9DTEFORyA6PSAkKHVzZV9jbGFuZykKLWVuZGlmCitMT0NBTF9DTEFORyA6PSAkKHVzZV9jbGFuZykKIAogTE9DQUxfQ0ZMQUdTIDo9IFwKICAgICAkKGxpYmNfY29tbW9uX2NmbGFncykgXAogICAgIC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tdW5pbml0aWFsaXplZCBcCiAgICAgLWZ2aXNpYmlsaXR5PWhpZGRlbiBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3ByaXZhdGUgXAotICAgIC1JJChMT0NBTF9QQVRIKS91cHN0cmVhbS1vcGVuYnNkL2FuZHJvaWQvaW5jbHVkZSBcCi0gICAgLUkkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvaW5jbHVkZSBcCiAgICAgLWluY2x1ZGUgb3BlbmJzZC1jb21wYXQuaCBcCiAKIExPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQogTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykKLUxPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKQorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpIFwKKyAgICAkKExPQ0FMX1BBVEgpL3ByaXZhdGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tb3BlbmJzZC9hbmRyb2lkL2luY2x1ZGUgXAorICAgICQoTE9DQUxfUEFUSCkvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9pbmNsdWRlIFwKKwogTE9DQUxfTU9EVUxFIDo9IGxpYmNfZ2R0b2EKIExPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQogCiAkKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfQ0ZMQUdTLGxpYmNfY29tbW9uX2NmbGFncykpCiBpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCkBAIC04MTQsMjMgKzk0MiwxMTUgQEAKIExPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykgXAogICAgIC1XZnJhbWUtbGFyZ2VyLXRoYW49MjA0OCBcCiAKLWlmZXEgKCQoVEFSR0VUX0FSQ0gpLHg4Nl82NCkKLSAgIyBDbGFuZyBhc3NlbWJsZXIgaGFzIHByb2JsZW0gd2l0aCBzc3NlMy1zdHJjbXAtc2xtLlMsIGh0dHA6Ly9iLzE3MzAyOTkxCi0gIExPQ0FMX0NMQU5HX0FTRkxBR1MgKz0gLW5vLWludGVncmF0ZWQtYXMKLWVuZGlmCisjIHNzc2UzLXN0cmNtcC1zbG0uUyBkb2VzIG5vdCBjb21waWxlIHdpdGggQ2xhbmcuCitMT0NBTF9DTEFOR19BU0ZMQUdTX3g4Nl82NCArPSAtbm8taW50ZWdyYXRlZC1hcworCisjIG1lbWNweS5TLCBtZW1jaHIuUywgZXRjLiBkbyBub3QgY29tcGlsZSB3aXRoIENsYW5nLgorTE9DQUxfQ0xBTkdfQVNGTEFHU19hcm0gKz0gLW5vLWludGVncmF0ZWQtYXMKK0xPQ0FMX0NMQU5HX0FTRkxBR1NfYXJtNjQgKz0gLW5vLWludGVncmF0ZWQtYXMKIAogTE9DQUxfQ09OTFlGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2Nvbmx5ZmxhZ3MpCi1MT0NBTF9DUFBGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NwcGZsYWdzKQotTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpCitMT0NBTF9DUFBGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NwcGZsYWdzKSAtV29sZC1zdHlsZS1jYXN0CitMT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykgYmlvbmljL2xpYnN0ZGMrKy9pbmNsdWRlCiBMT0NBTF9NT0RVTEUgOj0gbGliY19iaW9uaWMKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCisKKyQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKK2luY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKKworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIGxpYmNfYmlvbmljX25kay5hIC0gVGhlIHBvcnRpb25zIG9mIGxpYmNfYmlvbmljIHRoYXQgY2FuCisjIGJlIHNhZmVseSB1c2VkIGluIGxpYmNfbmRrLmEgKG5vIHRyb3VibGVzb21lIGdsb2JhbCBkYXRhCisjIG9yIGNvbnN0cnVjdG9ycykuCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorCitMT0NBTF9TUkNfRklMRVMgOj0gJChsaWJjX2Jpb25pY19uZGtfc3JjX2ZpbGVzKQorTE9DQUxfQ0ZMQUdTIDo9ICQobGliY19jb21tb25fY2ZsYWdzKSBcCisgICAgLVdmcmFtZS1sYXJnZXItdGhhbj0yMDQ4IFwKKworIyBzc3NlMy1zdHJjbXAtc2xtLlMgZG9lcyBub3QgY29tcGlsZSB3aXRoIENsYW5nLgorTE9DQUxfQ0xBTkdfQVNGTEFHU194ODZfNjQgKz0gLW5vLWludGVncmF0ZWQtYXMKKworIyBtZW1jcHkuUywgbWVtY2hyLlMsIGV0Yy4gZG8gbm90IGNvbXBpbGUgd2l0aCBDbGFuZy4KK0xPQ0FMX0NMQU5HX0FTRkxBR1NfYXJtICs9IC1uby1pbnRlZ3JhdGVkLWFzCitMT0NBTF9DTEFOR19BU0ZMQUdTX2FybTY0ICs9IC1uby1pbnRlZ3JhdGVkLWFzCisKK0xPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQorTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykgLVdvbGQtc3R5bGUtY2FzdAorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpIGJpb25pYy9saWJzdGRjKysvaW5jbHVkZQorTE9DQUxfTU9EVUxFIDo9IGxpYmNfYmlvbmljX25kaworTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCitMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIAogJChldmFsICQoY2FsbCBwYXRjaC11cC1hcmNoLXNwZWNpZmljLWZsYWdzLExPQ0FMX0NGTEFHUyxsaWJjX2NvbW1vbl9jZmxhZ3MpKQogJChldmFsICQoY2FsbCBwYXRjaC11cC1hcmNoLXNwZWNpZmljLWZsYWdzLExPQ0FMX1NSQ19GSUxFUyxsaWJjX2Jpb25pY19zcmNfZmlsZXMpKQogaW5jbHVkZSAkKEJVSUxEX1NUQVRJQ19MSUJSQVJZKQogCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKK0xPQ0FMX1NSQ19GSUxFUyA6PSAkKGxpYmNfdGhyZWFkX2F0ZXhpdF9pbXBsX3NyY19maWxlcykKK0xPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykgLVdmcmFtZS1sYXJnZXItdGhhbj0yMDQ4CisKK0xPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQorTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykgLVdvbGQtc3R5bGUtY2FzdAorTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpCitMT0NBTF9NT0RVTEUgOj0gbGliY190aHJlYWRfYXRleGl0X2ltcGwKKyMgVE9ETzogQ2xhbmcgdHJpZXMgdG8gdXNlIF9fdGxzX2dldF9hZGRyIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisjIHJlbW92ZSBhZnRlciBpdCBpcyBpbXBsZW1lbnRlZC4KK0xPQ0FMX0NMQU5HIDo9IGZhbHNlCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCitMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKKworaW5jbHVkZSAkKEJVSUxEX1NUQVRJQ19MSUJSQVJZKQorCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIGxpYmNfcHRocmVhZC5hIC0gcHRocmVhZHMgcGFydHMgdGhhdCBwcmV2aW91c2x5IGxpdmVkIGluCisjIGxpYmNfYmlvbmljLmEuIFJlbG9jYXRlZCB0byB0aGVpciBvd24gbGlicmFyeSBiZWNhdXNlCisjIHRoZXkgY2FuJ3QgYmUgaW5jbHVkZWQgaW4gbGliY19uZGsuYSAoYXMgdGhleSBsYXlvdXQgb2YKKyMgcHRocmVhZF90IGhhcyBjaGFuZ2VkIG92ZXIgdGhlIHllYXJzIGFuZCBoYXMgQUJJCisjIGNvbXBhdGliaWxpdHkgaXNzdWVzKS4KKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworaW5jbHVkZSAkKENMRUFSX1ZBUlMpCisKK0xPQ0FMX1NSQ19GSUxFUyA6PSAkKGxpYmNfcHRocmVhZF9zcmNfZmlsZXMpCitMT0NBTF9DRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jZmxhZ3MpIFwKKyAgICAtV2ZyYW1lLWxhcmdlci10aGFuPTIwNDggXAorCisjIHNzc2UzLXN0cmNtcC1zbG0uUyBkb2VzIG5vdCBjb21waWxlIHdpdGggQ2xhbmcuCitMT0NBTF9DTEFOR19BU0ZMQUdTX3g4Nl82NCArPSAtbm8taW50ZWdyYXRlZC1hcworCisjIG1lbWNweS5TLCBtZW1jaHIuUywgZXRjLiBkbyBub3QgY29tcGlsZSB3aXRoIENsYW5nLgorTE9DQUxfQ0xBTkdfQVNGTEFHU19hcm0gKz0gLW5vLWludGVncmF0ZWQtYXMKK0xPQ0FMX0NMQU5HX0FTRkxBR1NfYXJtNjQgKz0gLW5vLWludGVncmF0ZWQtYXMKKworTE9DQUxfQ09OTFlGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2Nvbmx5ZmxhZ3MpCitMT0NBTF9DUFBGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NwcGZsYWdzKSAtV29sZC1zdHlsZS1jYXN0CitMT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykKK0xPQ0FMX01PRFVMRSA6PSBsaWJjX3B0aHJlYWQKK0xPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQorTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQorTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCisKK2luY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKKwogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAjIGxpYmNfY3hhLmEgLSBUaGluZ3MgdHJhZGl0aW9uYWxseSBpbiBsaWJzdGRjKysKQEAgLTg0NCwxMiArMTA2NCwyMSBAQAogCiBMT0NBTF9DT05MWUZMQUdTIDo9ICQobGliY19jb21tb25fY29ubHlmbGFncykKIExPQ0FMX0NQUEZMQUdTIDo9ICQobGliY19jb21tb25fY3BwZmxhZ3MpCi1MT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykKK0xPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKSBiaW9uaWMvbGlic3RkYysrL2luY2x1ZGUKIExPQ0FMX01PRFVMRSA6PSBsaWJjX2N4YQotIyBHQ0MgcmVmdXNlcyB0byBoaWRlIG5ldy9kZWxldGUKLUxPQ0FMX0NMQU5HIDo9IHRydWUKK0xPQ0FMX0NMQU5HIDo9IHRydWUgIyBHQ0MgcmVmdXNlcyB0byBoaWRlIG5ldy9kZWxldGUKIExPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorIyBiLzE3NTc0MDc4OiBOZWVkIHRvIGRpc2FibGUgY292ZXJhZ2UgdW50aWwgd2UgaGF2ZSBhIHByZWJ1aWx0IGxpYnByb2ZpbGVfcnQuCisjIFNpbmNlIHRoaXMgaXMgYSBzdGF0aWMgbGlicmFyeSBidWlsdCB3aXRoIGNsYW5nLCBpdCBuZWVkcyB0byBsaW5rCisjIGxpYnByb2ZpbGVfcnQgd2hlbiBpdCBpcyBsaW5rZWQgaW50byB0aGUgZmluYWwgYmluYXJ5LiBTaW5jZSB0aGUgZmluYWwgYmluYXJ5CisjIGlzIGJ1aWx0IHdpdGggR0NDLCBpdCB3b24ndCBsaW5rIGxpYnByb2ZpbGVfcnQuIFdlIGNhbid0IHZlcnkgZWFzaWx5IGp1c3QgYWRkCisjIGxpYnByb2ZpbGVfcnQgdG8gYWxsIGxpbmsgbGluZXMgdGhlIHdheSB3ZSd2ZSBkb25lIGZvciBsaWJnY292IGJlY2F1c2UKKyMgbGlicHJvZmlsZV9ydCBpc24ndCBwcmVidWlsdCwgYW5kIGl0IHdvdWxkIGJlIHRyaWNreSB0byB3cml0ZSBhIHJ1bGUgdGhhdAorIyB3b3VsZCBtYWtlIHN1cmUgbGlicHJvZmlsZV9ydCBpcyBidWlsdC4KK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSBmYWxzZQogCiBpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCiAKQEAgLTg2Nyw3ICsxMDk2LDEwIEBACiBMT0NBTF9NT0RVTEUgOj0gbGliY19zeXNjYWxscwogTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCiBMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIAogaW5jbHVkZSAkKEJVSUxEX1NUQVRJQ19MSUJSQVJZKQogCkBAIC04ODYsOCArMTExOCw3OCBAQAogTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCiBMT0NBTF9DRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jZmxhZ3MpIC1mbm8tYnVpbHRpbgogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQorTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCisKK2luY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBsaWJjX25kay5hCisjIENvbXBhdGliaWxpdHkgbGlicmFyeSBmb3IgdGhlIE5ESy4gVGhpcyBsaWJyYXJ5IGNvbnRhaW5zCisjIGFsbCB0aGUgcGFydHMgb2YgbGliYyB0aGF0IGFyZSBzYWZlIHRvIHN0YXRpY2FsbHkgbGluay4KKyMgV2UgY2FuJ3Qgc2FmZWx5IHN0YXRpY2FsbHkgbGluayB0aGluZ3MgdGhhdCBjYW4gb25seSBydW4KKyMgb24gYSBjZXJ0YWluIHZlcnNpb24gb2YgdGhlIE9TLiBFeGFtcGxlcyBpbmNsdWRlCisjIGFueXRoaW5nIHRoYXQgdGFsa3MgdG8gbmV0ZCAoYSBsYXJnZSBwb3J0aW9uIG9mIHRoZSBETlMKKyMgY29kZSkgYW5kIGFueXRoaW5nIHRoYXQgaXMgZGVwZW5kZW50IG9uIHRoZSBsYXlvdXQgb2YgYQorIyBkYXRhIHN0cnVjdHVyZSB0aGF0IGhhcyBjaGFuZ2VkIGFjcm9zcyByZWxlYXNlcyAoc3VjaCBhcworIyBwdGhyZWFkX3QpLgorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKKworTE9DQUxfTU9EVUxFIDo9IGxpYmNfbmRrCitMT0NBTF9DTEFORyA6PSAkKHVzZV9jbGFuZykKK0xPQ0FMX0FTRkxBR1MgOj0gJChMT0NBTF9DRkxBR1MpCitMT0NBTF9DT05MWUZMQUdTIDo9ICQobGliY19jb21tb25fY29ubHlmbGFncykKK0xPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtTzAKK0xPQ0FMX0NQUEZMQUdTIDo9ICQobGliY19jb21tb25fY3BwZmxhZ3MpCitMT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykKK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQogCitMT0NBTF9TUkNfRklMRVMgOj0gXAorICAgICQobGliY19jb21tb25fc3JjX2ZpbGVzKSBcCisgICAgJChsaWJjX2FyY2hfZHluYW1pY19zcmNfZmlsZXMpIFwKKyAgICAkKGxpYmNfbmRrX3N0dWJfc3JjX2ZpbGVzKSBcCisgICAgYmlvbmljL21hbGxvY19kZWJ1Z19jb21tb24uY3BwIFwKKworTE9DQUxfU1JDX0ZJTEVTX2FybSArPSBcCisgICAgYXJjaC1jb21tb24vYmlvbmljL2NydGJlZ2luX3NvLmMgXAorICAgIGFyY2gtYXJtL2Jpb25pYy9hdGV4aXRfbGVnYWN5LmMgXAorICAgIGFyY2gtY29tbW9uL2Jpb25pYy9jcnRlbmRfc28uUyBcCisKK0xPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykgXAorICAgIC1ETElCQ19TVEFUSUMgXAorCitMT0NBTF9XSE9MRV9TVEFUSUNfTElCUkFSSUVTIDo9IFwKKyAgICBsaWJjX2Jpb25pY19uZGsgXAorICAgIGxpYmNfY3hhIFwKKyAgICBsaWJjX2ZyZWVic2QgXAorICAgIGxpYmNfZ2R0b2EgXAorICAgIGxpYmNfbWFsbG9jIFwKKyAgICBsaWJjX25ldGJzZCBcCisgICAgbGliY19vcGVuYnNkX25kayBcCisgICAgbGliY19zdGFja19wcm90ZWN0b3IgXAorICAgIGxpYmNfc3lzY2FsbHMgXAorICAgIGxpYmNfdHpjb2RlIFwKKyAgICBsaWJtIFwKKworTE9DQUxfV0hPTEVfU1RBVElDX0xJQlJBUklFU19hcm0gOj0gbGliY19hZWFiaQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCisKK2lmbmVxICgkKE1BTExPQ19JTVBMKSxkbG1hbGxvYykKK0xPQ0FMX1dIT0xFX1NUQVRJQ19MSUJSQVJJRVMgKz0gbGliamVtYWxsb2MKK2VuZGlmCisKKyQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKKyQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19jb21tb25fc3JjX2ZpbGVzKSkKKyQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19hcmNoX2R5bmFtaWNfc3JjX2ZpbGVzKSkKKyQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9BU0ZMQUdTLExPQ0FMX0NGTEFHUykpCisKK0xPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCiBpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTkwNiw2ICsxMjA4LDcgQEAKIExPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCiBMT0NBTF9XSE9MRV9TVEFUSUNfTElCUkFSSUVTIDo9IFwKICAgICBsaWJjX2Jpb25pYyBcCisgICAgbGliY19iaW9uaWNfbmRrIFwKICAgICBsaWJjX2N4YSBcCiAgICAgbGliY19kbnMgXAogICAgIGxpYmNfZnJlZWJzZCBcCkBAIC05MTMsMjAgKzEyMTYsMjIgQEAKICAgICBsaWJjX21hbGxvYyBcCiAgICAgbGliY19uZXRic2QgXAogICAgIGxpYmNfb3BlbmJzZCBcCisgICAgbGliY19vcGVuYnNkX25kayBcCisgICAgbGliY19wdGhyZWFkIFwKICAgICBsaWJjX3N0YWNrX3Byb3RlY3RvciBcCiAgICAgbGliY19zeXNjYWxscyBcCisgICAgbGliY190aHJlYWRfYXRleGl0X2ltcGwgXAogICAgIGxpYmNfdHpjb2RlIFwKIAogTE9DQUxfV0hPTEVfU1RBVElDX0xJQlJBUklFU19hcm0gOj0gbGliY19hZWFiaQogCi1pZm5lcSAoJChNQUxMT0NfSU1QTCksZGxtYWxsb2MpCi1MT0NBTF9XSE9MRV9TVEFUSUNfTElCUkFSSUVTICs9IGxpYmplbWFsbG9jCi1lbmRpZgotCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CiAKICMgVE9ETzogc3BsaXQgb3V0IHRoZSBhc2ZsYWdzLgogTE9DQUxfQVNGTEFHUyA6PSAkKExPQ0FMX0NGTEFHUykKK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiAKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19jb21tb25fc3JjX2ZpbGVzKSkKQEAgLTk0OCw3ICsxMjUzLDYgQEAKIAogTE9DQUxfU1JDX0ZJTEVTIDo9IFwKICAgICAkKGxpYmNfYXJjaF9zdGF0aWNfc3JjX2ZpbGVzKSBcCi0gICAgJChsaWJjX3N0YXRpY19jb21tb25fc3JjX2ZpbGVzKSBcCiAgICAgYmlvbmljL2xpYmNfaW5pdF9zdGF0aWMuY3BwCiAKIExPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKQpAQCAtOTYyLDcgKzEyNjYsMTAgQEAKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKIExPQ0FMX1dIT0xFX1NUQVRJQ19MSUJSQVJJRVMgOj0gbGliY19jb21tb24KK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0KK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiAKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19hcmNoX3N0YXRpY19zcmNfZmlsZXMpKQpAQCAtOTgzLDYgKzEyOTAsOSBAQAogTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpCiBMT0NBTF9NT0RVTEUgOj0gbGliY19tYWxsb2MKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQorTE9DQUxfQ1hYX1NUTCA6PSBub25lCitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKIGluY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKIApAQCAtOTk0LDcgKzEzMDQsNiBAQAogCiBMT0NBTF9TUkNfRklMRVMgOj0gXAogICAgICQobGliY19hcmNoX3N0YXRpY19zcmNfZmlsZXMpIFwKLSAgICAkKGxpYmNfc3RhdGljX2NvbW1vbl9zcmNfZmlsZXMpIFwKICAgICBiaW9uaWMvbWFsbG9jX2RlYnVnX2NvbW1vbi5jcHAgXAogICAgIGJpb25pYy9saWJjX2luaXRfc3RhdGljLmNwcCBcCiAKQEAgLTEwMDgsNyArMTMxNywxNSBAQAogTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCiBMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQogTE9DQUxfV0hPTEVfU1RBVElDX0xJQlJBUklFUyA6PSBsaWJjX2NvbW1vbgorCitpZm5lcSAoJChNQUxMT0NfSU1QTCksZGxtYWxsb2MpCitMT0NBTF9XSE9MRV9TVEFUSUNfTElCUkFSSUVTICs9IGxpYmplbWFsbG9jCitlbmRpZgorCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQogCiAkKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfQ0ZMQUdTLGxpYmNfY29tbW9uX2NmbGFncykpCiAkKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfU1JDX0ZJTEVTLGxpYmNfYXJjaF9zdGF0aWNfc3JjX2ZpbGVzKSkKQEAgLTEwMjMsMTggKzEzNDAsMjMgQEAKIExPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykKIExPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQogTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykKKwogTE9DQUxfQ19JTkNMVURFUyA6PSAkKGxpYmNfY29tbW9uX2NfaW5jbHVkZXMpCiBMT0NBTF9TUkNfRklMRVMgOj0gXAorICAgIGFyY2gtY29tbW9uL2Jpb25pYy9jcnRiZWdpbl9zby5jIFwKKyAgICBhcmNoLWNvbW1vbi9iaW9uaWMvY3J0YnJhbmQuUyBcCiAgICAgJChsaWJjX2FyY2hfZHluYW1pY19zcmNfZmlsZXMpIFwKLSAgICAkKGxpYmNfc3RhdGljX2NvbW1vbl9zcmNfZmlsZXMpIFwKICAgICBiaW9uaWMvbWFsbG9jX2RlYnVnX2NvbW1vbi5jcHAgXAogICAgIGJpb25pYy9saWJjX2luaXRfZHluYW1pYy5jcHAgXAogICAgIGJpb25pYy9OZXRkQ2xpZW50LmNwcCBcCisgICAgYXJjaC1jb21tb24vYmlvbmljL2NydGVuZF9zby5TIFwKIAogTE9DQUxfTU9EVUxFIDo9IGxpYmMKIExPQ0FMX0NMQU5HIDo9ICQodXNlX2NsYW5nKQotTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykKIExPQ0FMX1JFUVVJUkVEX01PRFVMRVMgOj0gdHpkYXRhCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSBcCisgICAgJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykgXAorICAgICQoTE9DQUxfUEFUSCkvdmVyc2lvbl9zY3JpcHQudHh0IFwKIAogIyBMZWF2ZSB0aGUgc3ltYm9scyBpbiB0aGUgc2hhcmVkIGxpYnJhcnkgc28gdGhhdCBzdGFjayB1bndpbmRlcnMgY2FuIHByb2R1Y2UKICMgbWVhbmluZ2Z1bCBuYW1lIHJlc29sdXRpb24uCkBAIC0xMDUwLDI1ICsxMzcyLDM5IEBACiAKIExPQ0FMX1NIQVJFRF9MSUJSQVJJRVMgOj0gbGliZGwKIExPQ0FMX1dIT0xFX1NUQVRJQ19MSUJSQVJJRVMgOj0gbGliY19jb21tb24KKworaWZuZXEgKCQoTUFMTE9DX0lNUEwpLGRsbWFsbG9jKQorTE9DQUxfV0hPTEVfU1RBVElDX0xJQlJBUklFUyArPSBsaWJqZW1hbGxvYworZW5kaWYKKworTE9DQUxfQ1hYX1NUTCA6PSBub25lCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQogCisjIERvbid0IHJlLWV4cG9ydCBuZXcvZGVsZXRlIGFuZCBmcmllbmRzLCBldmVuIGlmIHRoZSBjb21waWxlciByZWFsbHkgd2FudHMgdG8uCitMT0NBTF9MREZMQUdTIDo9IC1XbCwtLXZlcnNpb24tc2NyaXB0LCQoTE9DQUxfUEFUSCkvdmVyc2lvbl9zY3JpcHQudHh0CisKICMgV2UnZCByZWFsbHkgbGlrZSB0byBkbyB0aGlzIGZvciBhbGwgYXJjaGl0ZWN0dXJlcywgYnV0IHNpbmNlIHRoaXMgd2Fzbid0IGRvbmUKICMgYmVmb3JlLCB0aGVzZSBzeW1ib2xzIG11c3QgY29udGludWUgdG8gYmUgZXhwb3J0ZWQgb24gTFAzMiBmb3IgYmluYXJ5CiAjIGNvbXBhdGliaWxpdHkuCi1MT0NBTF9MREZMQUdTX2FybTY0IDo9IC1XbCwtLWV4Y2x1ZGUtbGlicyxsaWJnY2MuYQotTE9DQUxfTERGTEFHU19taXBzNjQgOj0gLVdsLC0tZXhjbHVkZS1saWJzLGxpYmdjYy5hCi1MT0NBTF9MREZMQUdTX3g4Nl82NCA6PSAtV2wsLS1leGNsdWRlLWxpYnMsbGliZ2NjLmEKKyMgVE9ETzogZGlzYWJsZWQgZm9yIGh0dHA6Ly9iLzIwMDY1Nzc0LgorI0xPQ0FMX0xERkxBR1NfNjQgOj0gLVdsLC0tZXhjbHVkZS1saWJzLGxpYmdjYy5hCisKKyMgVE9ETzogVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBiLzE5MDU5ODg1LiBSZW1vdmUgYWZ0ZXIgcm9vdCBjYXVzZSBpcyBmaXhlZAorTE9DQUxfTERGTEFHU19hcm0gOj0gLVdsLC0taGFzaC1zdHlsZT1zeXN2CiAKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9DRkxBR1MsbGliY19jb21tb25fY2ZsYWdzKSkKICQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19hcmNoX2R5bmFtaWNfc3JjX2ZpbGVzKSkKLSQoZXZhbCAkKGNhbGwgcGF0Y2gtdXAtYXJjaC1zcGVjaWZpYy1mbGFncyxMT0NBTF9TUkNfRklMRVMsbGliY19zdGF0aWNfY29tbW9uX3NyY19maWxlcykpCisKK0xPQ0FMX05PX0NSVCA6PSB0cnVlCitMT0NBTF9BU0ZMQUdTICs9ICQobGliY19jcnRfdGFyZ2V0X2NmbGFncykKKwogIyBzcGVjaWFsIGZvciBhcm0KLUxPQ0FMX05PX0NSVF9hcm0gOj0gdHJ1ZQogTE9DQUxfQ0ZMQUdTX2FybSArPSAtRENSVF9MRUdBQ1lfV09SS0FST1VORAogTE9DQUxfU1JDX0ZJTEVTX2FybSArPSBcCi0gICAgYXJjaC1jb21tb24vYmlvbmljL2NydGJlZ2luX3NvLmMgXAotICAgIGFyY2gtYXJtL2Jpb25pYy9hdGV4aXRfbGVnYWN5LmMgXAotICAgIGFyY2gtY29tbW9uL2Jpb25pYy9jcnRlbmRfc28uUworICAgIGFyY2gtYXJtL2Jpb25pYy9hdGV4aXRfbGVnYWN5LmMKKworTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIAogaW5jbHVkZSAkKEJVSUxEX1NIQVJFRF9MSUJSQVJZKQogCkBAIC0xMDg2LDEwICsxNDIyLDcgQEAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIGluY2x1ZGUgJChDTEVBUl9WQVJTKQogCi1MT0NBTF9DRkxBR1MgOj0gXAotICAgICQobGliY19jb21tb25fY2ZsYWdzKSBcCi0gICAgLURNQUxMT0NfTEVBS19DSEVDSyBcCi0KK0xPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykKIExPQ0FMX0NPTkxZRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jb25seWZsYWdzKQogTE9DQUxfQ1BQRkxBR1MgOj0gJChsaWJjX2NvbW1vbl9jcHBmbGFncykKIApAQCAtMTEwNiwxNyArMTQzOSwyNiBAQAogCiBMT0NBTF9NT0RVTEUgOj0gbGliY19tYWxsb2NfZGVidWdfbGVhawogTE9DQUxfQ0xBTkcgOj0gJCh1c2VfY2xhbmcpCi1MT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKGxpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzKQorTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gXAorICAgICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpIFwKKyAgICAkKExPQ0FMX1BBVEgpL3ZlcnNpb25fc2NyaXB0LnR4dCBcCiAKIExPQ0FMX1NIQVJFRF9MSUJSQVJJRVMgOj0gbGliYyBsaWJkbAorTE9DQUxfQ1hYX1NUTCA6PSBub25lCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PQogIyBPbmx5IG5lZWQgdGhpcyBmb3IgYXJtIHNpbmNlIGxpYmMrKyB1c2VzIGl0cyBvd24gdW53aW5kIGNvZGUgdGhhdAogIyBkb2Vzbid0IG1peCB3aXRoIHRoZSBvdGhlciBkZWZhdWx0IHVud2luZCBjb2RlLgotTE9DQUxfU1RBVElDX0xJQlJBUklFU19hcm0gOj0gbGliYysrCitMT0NBTF9TVEFUSUNfTElCUkFSSUVTX2FybSA6PSBsaWJ1bndpbmRfbGx2bQorTE9DQUxfU1RBVElDX0xJQlJBUklFUyArPSBsaWJjKythYmkKIExPQ0FMX0FMTE9XX1VOREVGSU5FRF9TWU1CT0xTIDo9IHRydWUKIAorIyBEb24ndCByZS1leHBvcnQgbmV3L2RlbGV0ZSBhbmQgZnJpZW5kcywgZXZlbiBpZiB0aGUgY29tcGlsZXIgcmVhbGx5IHdhbnRzIHRvLgorTE9DQUxfTERGTEFHUyA6PSAtV2wsLS12ZXJzaW9uLXNjcmlwdCwkKExPQ0FMX1BBVEgpL3ZlcnNpb25fc2NyaXB0LnR4dAorCiAjIERvbid0IGluc3RhbGwgb24gcmVsZWFzZSBidWlsZAogTE9DQUxfTU9EVUxFX1RBR1MgOj0gZW5nIGRlYnVnCitMT0NBTF9BRERSRVNTX1NBTklUSVpFUiA6PSBmYWxzZQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQogCiAkKGV2YWwgJChjYWxsIHBhdGNoLXVwLWFyY2gtc3BlY2lmaWMtZmxhZ3MsTE9DQUxfQ0ZMQUdTLGxpYmNfY29tbW9uX2NmbGFncykpCiBpbmNsdWRlICQoQlVJTERfU0hBUkVEX0xJQlJBUlkpCkBAIC0xMTQyLDEzICsxNDg0LDIxIEBACiAKIExPQ0FMX01PRFVMRSA6PSBsaWJjX21hbGxvY19kZWJ1Z19xZW11CiBMT0NBTF9DTEFORyA6PSAkKHVzZV9jbGFuZykKLUxPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQobGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMpCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSBcCisgICAgJChsaWJjX2NvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcykgXAorICAgICQoTE9DQUxfUEFUSCkvdmVyc2lvbl9zY3JpcHQudHh0IFwKIAogTE9DQUxfU0hBUkVEX0xJQlJBUklFUyA6PSBsaWJjIGxpYmRsCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CiAKKyMgRG9uJ3QgcmUtZXhwb3J0IG5ldy9kZWxldGUgYW5kIGZyaWVuZHMsIGV2ZW4gaWYgdGhlIGNvbXBpbGVyIHJlYWxseSB3YW50cyB0by4KK0xPQ0FMX0xERkxBR1MgOj0gLVdsLC0tdmVyc2lvbi1zY3JpcHQsJChMT0NBTF9QQVRIKS92ZXJzaW9uX3NjcmlwdC50eHQKKwogIyBEb24ndCBpbnN0YWxsIG9uIHJlbGVhc2UgYnVpbGQKIExPQ0FMX01PRFVMRV9UQUdTIDo9IGVuZyBkZWJ1ZworTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIAogJChldmFsICQoY2FsbCBwYXRjaC11cC1hcmNoLXNwZWNpZmljLWZsYWdzLExPQ0FMX0NGTEFHUyxsaWJjX2NvbW1vbl9jZmxhZ3MpKQogaW5jbHVkZSAkKEJVSUxEX1NIQVJFRF9MSUJSQVJZKQpAQCAtMTE2NSwyNiArMTUxNSwzNiBAQAogICAgIGJpb25pYy9saWJjX2xvZ2dpbmcuY3BwIFwKIAogaW5jbHVkZSAkKENMRUFSX1ZBUlMpCi1MT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykKK0xPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKSBiaW9uaWMvbGlic3RkYysrL2luY2x1ZGUKIExPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykKIExPQ0FMX0NQUEZMQUdTIDo9ICQobGliY19jb21tb25fY3BwZmxhZ3MpCisKKyMgVE9ETzogVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBiLzE5MDU5ODg1LiBSZW1vdmUgYWZ0ZXIgcm9vdCBjYXVzZSBpcyBmaXhlZAorTE9DQUxfTERGTEFHU19hcm0gOj0gLVdsLC0taGFzaC1zdHlsZT1zeXN2CisKIExPQ0FMX1NSQ19GSUxFUyA6PSAkKGxpYnN0ZGN4eF9jb21tb25fc3JjX2ZpbGVzKQogTE9DQUxfTU9EVUxFOj0gbGlic3RkYysrCiBMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQubWsKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogTE9DQUxfU1lTVEVNX1NIQVJFRF9MSUJSQVJJRVMgOj0gbGliYworTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK0xPQ0FMX05BVElWRV9DT1ZFUkFHRSA6PSAkKGJpb25pY19jb3ZlcmFnZSkKIGluY2x1ZGUgJChCVUlMRF9TSEFSRURfTElCUkFSWSkKIAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIyBsaWJzdGRjKysuYQogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogaW5jbHVkZSAkKENMRUFSX1ZBUlMpCi1MT0NBTF9DX0lOQ0xVREVTIDo9ICQobGliY19jb21tb25fY19pbmNsdWRlcykKK0xPQ0FMX0NfSU5DTFVERVMgOj0gJChsaWJjX2NvbW1vbl9jX2luY2x1ZGVzKSBiaW9uaWMvbGlic3RkYysrL2luY2x1ZGUKIExPQ0FMX0NGTEFHUyA6PSAkKGxpYmNfY29tbW9uX2NmbGFncykKIExPQ0FMX0NQUEZMQUdTIDo9ICQobGliY19jb21tb25fY3BwZmxhZ3MpCiBMT0NBTF9TUkNfRklMRVMgOj0gJChsaWJzdGRjeHhfY29tbW9uX3NyY19maWxlcykKIExPQ0FMX01PRFVMRTo9IGxpYnN0ZGMrKwogTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rCitMT0NBTF9DWFhfU1RMIDo9IG5vbmUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9IGxpYmMKK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCitMT0NBTF9OQVRJVkVfQ09WRVJBR0UgOj0gJChiaW9uaWNfY292ZXJhZ2UpCiBpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCiAKIApkaWZmIC0tZ2l0IGEvbGliYy9OT1RJQ0UgYi9saWJjL05PVElDRQppbmRleCA4MGQ5YTI3Li4xZmEzMWMyIDEwMDY0NAotLS0gYS9saWJjL05PVElDRQorKysgYi9saWJjL05PVElDRQpAQCAtMTY3OSwzNSArMTY3OSw2IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAxOTkwIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KLUFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLVJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi1hcmUgbWV0OgotMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi1BTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi1BUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLUZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi1EQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi1IT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotU1VDSCBEQU1BR0UuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogQ29weXJpZ2h0IChjKSAxOTkwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCkBAIC0yNTExLDM1ICsyNDgyLDYgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogQ29weXJpZ2h0IChjKSAxOTkzCi0gICAgIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotCi1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotYXJlIG1ldDoKLTEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0yLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLTMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi1JTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi1GT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLU9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLUxJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLU9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLVNVQ0ggREFNQUdFLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUNvcHlyaWdodCAoYykgMTk5MwogICAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjU2OCwzMyArMjUxMCw2IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAxOTkzIENocmlzdG9waGVyIEcuIERlbWV0cmlvdQotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0xLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0zLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKLSAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCi1JTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCi1PRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgotSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCi1OT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi1EQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLVRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLShJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCiBDb3B5cmlnaHQgKGMpIDE5OTMgTWFydGluIEJpcmdtZWllcgogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIApAQCAtMjcxNCw2MyArMjYyOSw2IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAxOTk2LTIwMDQgUGVyIEZvZ2Vsc3Ryb20sIE9wc3ljb24gQUIKLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0xLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTCi1PUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi1BUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkKLURJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLU9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLUxJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLU9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLVNVQ0ggREFNQUdFLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUNvcHlyaWdodCAoYykgMTk5NyBNYXJrIEJyaW5pY29tYmUKLUFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLVJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi1hcmUgbWV0OgotMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCi0gICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6Ci0gICBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IE1hcmsgQnJpbmljb21iZQotNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLUFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLUFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi1GT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLU9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLUxJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLU9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLVNVQ0ggREFNQUdFLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KIENvcHlyaWdodCAoYykgMTk5NyBNYXJrIEJyaW5pY29tYmUKIENvcHlyaWdodCAoYykgMjAxMCBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QuCiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMzEzMSwzOCArMjk4OSw2IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAxOTk5IEt1bmdsaWdhIFRla25pc2thIEjDtmdza29sYW4KLShSb3lhbCBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSwgU3RvY2tob2xtLCBTd2VkZW4pLgotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0KLTEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0KLTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotCi0zLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEtUSCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlCi0gICB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0Ci0gICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgS1RIIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi1FWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi1QVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBLVEggT1IgSVRTIENPTlRSSUJVVE9SUyBCRQotTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLVNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgotQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCi1XSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUgotT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KIENvcHlyaWdodCAoYykgMjAwMCBCZW4gSGFycmlzLgogQ29weXJpZ2h0IChDKSAxOTk1LCAxOTk2LCAxOTk3LCBhbmQgMTk5OCBXSURFIFByb2plY3QuCiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMzQyNiwzNCArMzI1Miw2IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAyMDAyIE9wc3ljb24gQUIgICh3d3cub3BzeWNvbi5zZSAvIHd3dy5vcHN5Y29uLmNvbSkKLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0xLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0zLiBOZWl0aGVyIHRoZSBuYW1lIG9mIE9wc3ljb24gQUIgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUwotT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLVdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZCi1ESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLURBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi1PUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLUhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi1MSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi1PVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi1TVUNIIERBTUFHRS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCiBDb3B5cmlnaHQgKGMpIDIwMDIgVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCkBAIC00MDg2LDYgKzM4ODQsMjIgQEAKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitDb3B5cmlnaHQgKGMpIDIwMDggT3R0byBNb2VyYmVlayA8b3R0b0BkcmlqZi5uZXQ+CisKK1Blcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTCitXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GCitNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUgorQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUworV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCitBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBDb3B5cmlnaHQgKGMpIDIwMDggVG9kZCBDLiBNaWxsZXIgPG1pbGxlcnRAb3BlbmJzZC5vcmc+CiAKIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQpAQCAtNDQyMiw2ICs0MjM2LDM5IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorQ29weXJpZ2h0IChjKSAyMDExIE1hcnRpbiBQaWV1Y2hvdCA8bXBpQG9wZW5ic2Qub3JnPgorCitQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKK3B1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKK2NvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUworV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRgorTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IKK0FOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMKK1dIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgorQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKK09SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29weXJpZ2h0IChjKSAyMDExIE1hcnRpbiBQaWV1Y2hvdCA8bXBpQG9wZW5ic2Qub3JnPgorQ29weXJpZ2h0IChjKSAyMDA5IFRlZCBVbmFuZ3N0CisKK1Blcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTCitXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GCitNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUgorQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUworV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCitBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAogQ29weXJpZ2h0IChjKSAyMDA4IEFSTSBMdGQKIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC00NjM5LDM1ICs0NDg2LDMyIEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAyMDEzLCBMaW5hcm8gTGltaXRlZAotICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMjAxMyBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCiAKLSAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gICBhcmUgbWV0OgorVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBUaGUgTmV0QlNEIEZvdW5kYXRpb24KK2J5IENocmlzdG9zIFpvdWxhcy4KIAotICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKK2FyZSBtZXQ6CisxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAKLSAgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0KLSAgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBMaW5hcm8gTGltaXRlZCBub3IgdGhlIG5hbWVzIG9mIGl0cwotICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0KLSAgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAgICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gICBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAgIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gICBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gICBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gICBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAgIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICAgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICAgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gICBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElOQy4gQU5EIENPTlRSSUJVVE9SUworYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECitUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBGT1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKK1NVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KK0NPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCitBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNDg1Myw2ICs0Njk3LDQyIEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorQ29weXJpZ2h0IDE5OTcgTmllbHMgUHJvdm9zIDxwcm92b3NAcGh5c25ldC51bmktaGFtYnVyZy5kZT4KK0NvcHlyaWdodCAyMDA4IERhbWllbiBNaWxsZXIgPGRqbUBvcGVuYnNkLm9yZz4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1RoZW8gZGUgUmFhZHQgPGRlcmFhZHRAb3BlbmJzZC5vcmc+IGNhbWUgdXAgd2l0aCB0aGUgaWRlYSBvZiB1c2luZworc3VjaCBhIG1hdGhlbWF0aWNhbCBzeXN0ZW0gdG8gZ2VuZXJhdGUgbW9yZSByYW5kb20gKHlldCBub24tcmVwZWF0aW5nKQoraWRzIHRvIHNvbHZlIHRoZSByZXNvbHZlci9uYW1lZCBwcm9ibGVtLiAgQnV0IE5pZWxzIGRlc2lnbmVkIHRoZQorYWN0dWFsIHN5c3RlbSBiYXNlZCBvbiB0aGUgY29uc3RyYWludHMuCisKK0xhdGVyIG1vZGlmaWVkIGJ5IERhbWllbiBNaWxsZXIgdG8gd3JhcCB0aGUgTENHIG91dHB1dCBpbiBhIDE1LWJpdAorcGVybXV0YXRpb24gZ2VuZXJhdG9yIGJhc2VkIG9uIGEgTHVieS1SYWNrb2ZmIGJsb2NrIGNpcGhlci4gVGhpcworZW5zdXJlcyB0aGUgb3V0cHV0IGlzIG5vbi1yZXBlYXRpbmcgYW5kIHByZXNlcnZlcyB0aGUgTVNCIHR3aWRkbGUKK3RyaWNrLCBidXQgbWFrZXMgaXQgbW9yZSByZXNpc3RhbnQgdG8gTENHIHByZWRpY3Rpb24uCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCithcmUgbWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KK0lOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKK0lOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKK1RISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwogQ29weXJpZ2h0IDIwMDAgRGF2aWQgRS4gTydCcmllbiwgSm9obiBELiBQb2xzdHJhLgogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIApkaWZmIC0tZ2l0IGEvbGliYy9TWVNDQUxMUy5UWFQgYi9saWJjL1NZU0NBTExTLlRYVAppbmRleCBjM2I3YmFiLi4zM2UzMGViIDEwMDY0NAotLS0gYS9saWJjL1NZU0NBTExTLlRYVAorKysgYi9saWJjL1NZU0NBTExTLlRYVApAQCAtOTUsMTMgKzk1LDEzIEBACiBzc2l6ZV90ICAgICBwcmVhZDY0fHByZWFkKGludCwgdm9pZCosIHNpemVfdCwgb2ZmX3QpIGFybTY0LG1pcHM2NCx4ODZfNjQKIHNzaXplX3QgICAgIHB3cml0ZTY0KGludCwgdm9pZCosIHNpemVfdCwgb2ZmNjRfdCkgYXJtLG1pcHMseDg2CiBzc2l6ZV90ICAgICBwd3JpdGU2NHxwd3JpdGUoaW50LCB2b2lkKiwgc2l6ZV90LCBvZmZfdCkgYXJtNjQsbWlwczY0LHg4Nl82NAotaW50ICAgICAgICAgY2xvc2UoaW50KSAgICAgICAgICAgICAgICAgICAgICBhbGwKK2ludCAgICAgICAgIF9fX2Nsb3NlOmNsb3NlKGludCkgIGFsbAogcGlkX3QgICAgICAgX19nZXRwaWQ6Z2V0cGlkKCkgIGFsbAogaW50ICAgICAgICAgbXVubWFwKHZvaWQqLCBzaXplX3QpICBhbGwKIHZvaWQqICAgICAgIG1yZW1hcCh2b2lkKiwgc2l6ZV90LCBzaXplX3QsIHVuc2lnbmVkIGxvbmcpICBhbGwKIGludCAgICAgICAgIG1zeW5jKGNvbnN0IHZvaWQqLCBzaXplX3QsIGludCkgICAgYWxsCiBpbnQgICAgICAgICBtcHJvdGVjdChjb25zdCB2b2lkKiwgc2l6ZV90LCBpbnQpICBhbGwKLWludCAgICAgICAgIG1hZHZpc2UoY29uc3Qgdm9pZCosIHNpemVfdCwgaW50KSAgYWxsCitpbnQgICAgICAgICBtYWR2aXNlKHZvaWQqLCBzaXplX3QsIGludCkgIGFsbAogaW50ICAgICAgICAgbWxvY2soY29uc3Qgdm9pZCogYWRkciwgc2l6ZV90IGxlbikgICAgYWxsCiBpbnQgICAgICAgICBtdW5sb2NrKGNvbnN0IHZvaWQqIGFkZHIsIHNpemVfdCBsZW4pICAgYWxsCiBpbnQgICAgICAgICBtbG9ja2FsbChpbnQgZmxhZ3MpICAgYWxsCkBAIC0xMTMsNyArMTEzLDcgQEAKIGludCAgICAgICAgIF9fZmNudGw2NDpmY250bDY0KGludCwgaW50LCB2b2lkKikgIGFybSxtaXBzLHg4NgogaW50ICAgICAgICAgZmNudGwoaW50LCBpbnQsIHZvaWQqKSAgYXJtNjQsbWlwczY0LHg4Nl82NAogaW50ICAgICAgICAgZmxvY2soaW50LCBpbnQpICAgYWxsCi1pbnQgICAgICAgICBmY2htb2QoaW50LCBtb2RlX3QpICBhbGwKK2ludCAgICAgICAgIF9fX2ZjaG1vZDpmY2htb2QoaW50LCBtb2RlX3QpICBhbGwKIGludCAgICAgICAgIGR1cChpbnQpICBhbGwKIGludCAgICAgICAgIHBpcGUyKGludCosIGludCkgYWxsCiBpbnQgICAgICAgICBkdXAzKGludCwgaW50LCBpbnQpICAgYWxsCkBAIC0xMzAsMTEgKzEzMCwxMSBAQAogaW50IF9fZ2V0ZGVudHM2NDpnZXRkZW50czY0KHVuc2lnbmVkIGludCwgc3RydWN0IGRpcmVudCosIHVuc2lnbmVkIGludCkgICBhcm0sYXJtNjQsbWlwcyxtaXBzNjQseDg2LHg4Nl82NAogCiBpbnQgX19vcGVuYXQ6b3BlbmF0KGludCwgY29uc3QgY2hhciosIGludCwgbW9kZV90KSBhbGwKLWludCBmYWNjZXNzYXQoaW50LCBjb25zdCBjaGFyKiwgaW50LCBpbnQpICBhbGwKLWludCBmY2htb2RhdChpbnQsIGNvbnN0IGNoYXIqLCBtb2RlX3QsIGludCkgIGFsbAoraW50IF9fX2ZhY2Nlc3NhdDpmYWNjZXNzYXQoaW50LCBjb25zdCBjaGFyKiwgaW50KSAgYWxsCitpbnQgX19fZmNobW9kYXQ6ZmNobW9kYXQoaW50LCBjb25zdCBjaGFyKiwgbW9kZV90KSAgYWxsCiBpbnQgZmNob3duYXQoaW50LCBjb25zdCBjaGFyKiwgdWlkX3QsIGdpZF90LCBpbnQpICBhbGwKIGludCBmc3RhdGF0NjR8ZnN0YXRhdDpmc3RhdGF0NjQoaW50LCBjb25zdCBjaGFyKiwgc3RydWN0IHN0YXQqLCBpbnQpICAgYXJtLG1pcHMseDg2Ci1pbnQgZnN0YXRhdDY0fGZzdGF0YXQ6bmV3ZnN0YXRhdChpbnQsIGNvbnN0IGNoYXIqLCBzdHJ1Y3Qgc3RhdCosIGludCkgIGFybTY0LG1pcHM2NCx4ODZfNjQKK2ludCBmc3RhdGF0NjR8ZnN0YXRhdDpuZXdmc3RhdGF0KGludCwgY29uc3QgY2hhciosIHN0cnVjdCBzdGF0KiwgaW50KSAgYXJtNjQseDg2XzY0CiBpbnQgbGlua2F0KGludCwgY29uc3QgY2hhciosIGludCwgY29uc3QgY2hhciosIGludCkgIGFsbAogaW50IG1rZGlyYXQoaW50LCBjb25zdCBjaGFyKiwgbW9kZV90KSAgYWxsCiBpbnQgbWtub2RhdChpbnQsIGNvbnN0IGNoYXIqLCBtb2RlX3QsIGRldl90KSAgYWxsCkBAIC0xNzQsMTIgKzE3NCwxMiBAQAogaW50IF9fZmFkdmlzZTY0OmZhZHZpc2U2NChpbnQsIG9mZjY0X3QsIG9mZjY0X3QsIGludCkgYXJtNjQsbWlwcyxtaXBzNjQseDg2XzY0CiAKIGludCBfX2ZzdGF0ZnM2NDpmc3RhdGZzNjQoaW50LCBzaXplX3QsIHN0cnVjdCBzdGF0ZnMqKSAgYXJtLG1pcHMseDg2Ci1pbnQgZnN0YXRmczY0fGZzdGF0ZnM6ZnN0YXRmcyhpbnQsIHN0cnVjdCBzdGF0ZnMqKSAgYXJtNjQsbWlwczY0LHg4Nl82NAoraW50IF9fZnN0YXRmczpmc3RhdGZzKGludCwgc3RydWN0IHN0YXRmcyopICBhcm02NCxtaXBzNjQseDg2XzY0CiBpbnQgX19zdGF0ZnM2NDpzdGF0ZnM2NChjb25zdCBjaGFyKiwgc2l6ZV90LCBzdHJ1Y3Qgc3RhdGZzKikgIGFybSxtaXBzLHg4NgotaW50IHN0YXRmczY0fHN0YXRmczpzdGF0ZnMoY29uc3QgY2hhciosIHN0cnVjdCBzdGF0ZnMqKSAgYXJtNjQsbWlwczY0LHg4Nl82NAoraW50IF9fc3RhdGZzOnN0YXRmcyhjb25zdCBjaGFyKiwgc3RydWN0IHN0YXRmcyopICBhcm02NCxtaXBzNjQseDg2XzY0CiAKIGludCAgICAgZnN0YXQ2NHxmc3RhdDpmc3RhdDY0KGludCwgc3RydWN0IHN0YXQqKSAgICBhcm0sbWlwcyx4ODYKLWludCAgICAgZnN0YXQ2NHxmc3RhdDpmc3RhdChpbnQsIHN0cnVjdCBzdGF0KikgICAgYXJtNjQsbWlwczY0LHg4Nl82NAoraW50ICAgICBmc3RhdDY0fGZzdGF0OmZzdGF0KGludCwgc3RydWN0IHN0YXQqKSAgICBhcm02NCx4ODZfNjQKIAogIyBmaWxlIHN5c3RlbQogaW50ICAgICBjaGRpcihjb25zdCBjaGFyKikgICAgICAgICAgICAgIGFsbApAQCAtMjAyLDkgKzIwMiw5IEBACiBpbnQgICAgICAgICAgIHNldHRpbWVvZmRheShjb25zdCBzdHJ1Y3QgdGltZXZhbCosIGNvbnN0IHN0cnVjdCB0aW1lem9uZSopICAgYWxsCiBjbG9ja190ICAgICAgIHRpbWVzKHN0cnVjdCB0bXMqKSAgICAgICBhbGwKIGludCAgICAgICAgICAgbmFub3NsZWVwKGNvbnN0IHN0cnVjdCB0aW1lc3BlYyosIHN0cnVjdCB0aW1lc3BlYyopICAgYWxsCi1pbnQgICAgICAgICAgIGNsb2NrX3NldHRpbWUoY2xvY2tpZF90IGNsa19pZCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjKiB0cCkgIGFsbAotaW50ICAgICAgICAgICBjbG9ja19nZXRyZXMoY2xvY2tpZF90IGNsa19pZCwgc3RydWN0IHRpbWVzcGVjKiByZXMpICAgYWxsCi1pbnQgICAgICAgICAgIGNsb2NrX25hbm9zbGVlcChjbG9ja2lkX3QgY2xvY2tfaWQsIGludCBmbGFncywgY29uc3Qgc3RydWN0IHRpbWVzcGVjKiByZXEsIHN0cnVjdCB0aW1lc3BlYyogcmVtKSAgYWxsCitpbnQgICAgICAgICAgIGNsb2NrX3NldHRpbWUoY2xvY2tpZF90LCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMqKSAgYWxsCitpbnQgICAgICAgICAgIGNsb2NrX2dldHJlcyhjbG9ja2lkX3QsIHN0cnVjdCB0aW1lc3BlYyopICAgYWxsCitpbnQgICAgICAgICAgIF9fY2xvY2tfbmFub3NsZWVwOmNsb2NrX25hbm9zbGVlcChjbG9ja2lkX3QsIGludCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjKiwgc3RydWN0IHRpbWVzcGVjKikgIGFsbAogaW50ICAgICAgICAgICBnZXRpdGltZXIoaW50LCBjb25zdCBzdHJ1Y3QgaXRpbWVydmFsKikgICBhbGwKIGludCAgICAgICAgICAgc2V0aXRpbWVyKGludCwgY29uc3Qgc3RydWN0IGl0aW1lcnZhbCosIHN0cnVjdCBpdGltZXJ2YWwqKSAgYWxsCiBpbnQgICAgICAgICAgIF9fdGltZXJfY3JlYXRlOnRpbWVyX2NyZWF0ZShjbG9ja2lkX3QgY2xvY2tpZCwgc3RydWN0IHNpZ2V2ZW50KiBldnAsIF9fa2VybmVsX3RpbWVyX3QqIHRpbWVyaWQpICAgIGFsbApAQCAtMjIzLDYgKzIyMyw3IEBACiBpbnQgICAgIF9fcnRfc2lncHJvY21hc2s6cnRfc2lncHJvY21hc2soaW50LCBjb25zdCBzaWdzZXRfdCosIHNpZ3NldF90Kiwgc2l6ZV90KSAgYWxsCiBpbnQgICAgIF9fcnRfc2lnc3VzcGVuZDpydF9zaWdzdXNwZW5kKGNvbnN0IHNpZ3NldF90Kiwgc2l6ZV90KSAgYWxsCiBpbnQgICAgIF9fcnRfc2lndGltZWR3YWl0OnJ0X3NpZ3RpbWVkd2FpdChjb25zdCBzaWdzZXRfdCosIHN0cnVjdCBzaWdpbmZvX3QqLCBzdHJ1Y3QgdGltZXNwZWNfdCosIHNpemVfdCkgIGFsbAoraW50ICAgICBfX3J0X3NpZ3F1ZXVlaW5mbzpydF9zaWdxdWV1ZWluZm8ocGlkX3QsIGludCwgc2lnaW5mb190KikgIGFsbAogaW50ICAgICBfX3NpZ25hbGZkNDpzaWduYWxmZDQoaW50LCBjb25zdCBzaWdzZXRfdCosIHNpemVfdCwgaW50KSAgYWxsCiAKICMgc29ja2V0cwpAQCAtMzEzLDYgKzMxNCw4IEBACiBpbnQgc2V0ZnNnaWQoZ2lkX3QpICBhbGwKIGludCBzZXRmc3VpZCh1aWRfdCkgIGFsbAogCitpbnQgc2V0aG9zdG5hbWUoY29uc3QgY2hhciosIHNpemVfdCkgIGFsbAorCiBwaWRfdCB3YWl0NChwaWRfdCwgaW50KiwgaW50LCBzdHJ1Y3QgcnVzYWdlKikgIGFsbAogaW50IF9fd2FpdGlkOndhaXRpZChpbnQsIHBpZF90LCBzdHJ1Y3Qgc2lnaW5mb190KiwgaW50LCB2b2lkKikgIGFsbAogCkBAIC0zMjEsNyArMzI0LDcgQEAKIGludCAgICAgY2FjaGVmbHVzaDpfX0FSTV9OUl9jYWNoZWZsdXNoKGxvbmcgc3RhcnQsIGxvbmcgZW5kLCBsb25nIGZsYWdzKSAgYXJtCiAKICMgTUlQUy1zcGVjaWZpYwotaW50ICAgICBfZmx1c2hfY2FjaGU6Y2FjaGVmbHVzaChjaGFyKiBhZGRyLCBjb25zdCBpbnQgbmJ5dGVzLCBjb25zdCBpbnQgb3ApIG1pcHMsbWlwczY0CitpbnQgICAgIF9mbHVzaF9jYWNoZTpjYWNoZWZsdXNoKGNoYXIqIGFkZHIsIGNvbnN0IGludCBuYnl0ZXMsIGNvbnN0IGludCBvcCkgbWlwcwogaW50ICAgICBfX3NldF90bHM6c2V0X3RocmVhZF9hcmVhKHZvaWQqKSBtaXBzLG1pcHM2NAogCiAjIHg4Ni1zcGVjaWZpYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9hcm0ubWsgYi9saWJjL2FyY2gtYXJtL2FybS5tawppbmRleCBjY2E0ZWQwLi42ZWY4MWJiIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtL2FybS5taworKysgYi9saWJjL2FyY2gtYXJtL2FybS5tawpAQCAtMSwzMCArMSwxMCBAQAogIyAzMi1iaXQgYXJtLgogCiAjCi0jIFZhcmlvdXMga2luZHMgb2YgTFAzMiBjcnVmdC4KLSMKLQotbGliY19iaW9uaWNfc3JjX2ZpbGVzX2FybSArPSBcCi0gICAgYmlvbmljL21tYXAuY3BwIFwKLQotbGliY19jb21tb25fc3JjX2ZpbGVzX2FybSArPSBcCi0gICAgYmlvbmljL2xlZ2FjeV8zMl9iaXRfc3VwcG9ydC5jcHAgXAotICAgIGJpb25pYy9uZGtfY3J1ZnQuY3BwIFwKLSAgICBiaW9uaWMvdGltZTY0LmMgXAotCi1saWJjX25ldGJzZF9zcmNfZmlsZXNfYXJtICs9IFwKLSAgICB1cHN0cmVhbS1uZXRic2QvY29tbW9uL2xpYi9saWJjL2hhc2gvc2hhMS9zaGExLmMgXAotCi1saWJjX29wZW5ic2Rfc3JjX2ZpbGVzX2FybSArPSBcCi0gICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9wdXR3LmMgXAotCi0jCiAjIERlZmF1bHQgaW1wbGVtZW50YXRpb25zIG9mIGZ1bmN0aW9ucyB0aGF0IGFyZSBjb21tb25seSBvcHRpbWl6ZWQuCiAjCiAKIGxpYmNfYmlvbmljX3NyY19maWxlc19hcm0gKz0gXAotICAgIGJpb25pYy9tZW1jaHIuYyBcCi0gICAgYmlvbmljL21lbXJjaHIuYyBcCiAgICAgYmlvbmljL3N0cmNoci5jcHAgXAogICAgIGJpb25pYy9zdHJubGVuLmMgXAogICAgIGJpb25pYy9zdHJyY2hyLmNwcCBcCkBAIC00MCw3ICsyMCw4IEBACiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdHJpbmcvd21lbW1vdmUuYyBcCiAKIGxpYmNfb3BlbmJzZF9zcmNfZmlsZXNfYXJtICs9IFwKLSAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9iY29weS5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9tZW1jaHIuYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtcmNoci5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHBuY3B5LmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL3N0cmxjYXQuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGNweS5jIFwKQEAgLTU4LDExICszOSw5IEBACiAgICAgYXJjaC1hcm0vYmlvbmljL19fYmlvbmljX2Nsb25lLlMgXAogICAgIGFyY2gtYXJtL2Jpb25pYy9fZXhpdF93aXRoX3N0YWNrX3RlYXJkb3duLlMgXAogICAgIGFyY2gtYXJtL2Jpb25pYy9saWJnY2NfY29tcGF0LmMgXAotICAgIGFyY2gtYXJtL2Jpb25pYy9tZW1jbXAuUyBcCisgICAgYXJjaC1hcm0vYmlvbmljL2xpYmdjY19wcm90ZWN0X3Vud2luZC5jIFwKICAgICBhcmNoLWFybS9iaW9uaWMvX19yZXN0b3JlLlMgXAotICAgIGFyY2gtYXJtL2Jpb25pYy9fc2V0am1wLlMgXAogICAgIGFyY2gtYXJtL2Jpb25pYy9zZXRqbXAuUyBcCi0gICAgYXJjaC1hcm0vYmlvbmljL3NpZ3NldGptcC5TIFwKICAgICBhcmNoLWFybS9iaW9uaWMvc3lzY2FsbC5TIFwKIAogbGliY19hcmNoX3N0YXRpY19zcmNfZmlsZXNfYXJtIDo9IGFyY2gtYXJtL2Jpb25pYy9leGlkeF9zdGF0aWMuYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9iaW9uaWMvX19hZWFiaS5jIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvX19hZWFiaS5jCmluZGV4IDMyNTRmNjQuLjI1NGM3YTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL19fYWVhYmkuYworKysgYi9saWJjL2FyY2gtYXJtL2Jpb25pYy9fX2FlYWJpLmMKQEAgLTM5LDYgKzM5LDkgQEAKIAogZXh0ZXJuIGludCBfX2N4YV9hdGV4aXQodm9pZCAoKikodm9pZCopLCB2b2lkKiwgdm9pZCopOwogCisvLyBBbGwgb2YgdGhlc2UgYXJlIHdlYWsgc3ltYm9scyB0byBhdm9pZCBtdWx0aXBsZSBkZWZpbml0aW9uIGVycm9ycyB3aGVuCisvLyBsaW5raW5nIHdpdGggbGlic3RkYysrLXYzIG9yIGNvbXBpbGVyLXJ0LgorCiAvKiBUaGUgIkMrKyBBQkkgZm9yIEFSTSIgZG9jdW1lbnQgc3RhdGVzIHRoYXQgc3RhdGljIEMrKyBjb25zdHJ1Y3RvcnMsCiAgKiB3aGljaCBhcmUgY2FsbGVkIGZyb20gdGhlIC5pbml0X2FycmF5LCBzaG91bGQgbWFudWFsbHkgY2FsbAogICogX19hZWFiaV9hdGV4aXQoKSB0byByZWdpc3RlciBzdGF0aWMgZGVzdHJ1Y3RvcnMgZXhwbGljaXRseS4KQEAgLTQ3LDM1ICs1MCwzNSBAQAogICogdmFyaWFibGUgZnJvbSB0aGUgc2hhcmVkIG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBjb25zdHJ1Y3Rvci9kZXN0cnVjdG9yCiAgKi8KIAotLy8gTWFrZSB0aGlzIGEgd2VhayBzeW1ib2wgdG8gYXZvaWQgYSBtdWx0aXBsZSBkZWZpbml0aW9uIGVycm9yIHdoZW4gbGlua2luZyB3aXRoIGxpYnN0ZGMrKy12My4KIGludCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkKIF9fYWVhYmlfYXRleGl0KHZvaWQgKm9iamVjdCwgdm9pZCAoKmRlc3RydWN0b3IpICh2b2lkICopLCB2b2lkICpkc29faGFuZGxlKSB7CiAgICAgcmV0dXJuIF9fY3hhX2F0ZXhpdChkZXN0cnVjdG9yLCBvYmplY3QsIGRzb19oYW5kbGUpOwogfQogCiAKLXZvaWQgX19hZWFiaV9tZW1jcHk4KHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pIHsKK3ZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpCitfX2FlYWJpX21lbWNweTgodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikgewogICAgIG1lbWNweShkZXN0LCBzcmMsIG4pOwogfQogCi12b2lkIF9fYWVhYmlfbWVtY3B5NCh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKSB7Cit2b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBfX2FlYWJpX21lbWNweTQodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikgewogICAgIG1lbWNweShkZXN0LCBzcmMsIG4pOwogfQogCi12b2lkIF9fYWVhYmlfbWVtY3B5KHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pIHsKK3ZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9fYWVhYmlfbWVtY3B5KHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pIHsKICAgICBtZW1jcHkoZGVzdCwgc3JjLCBuKTsKIH0KIAogCi12b2lkIF9fYWVhYmlfbWVtbW92ZTgodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3Qgbikgewordm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19hZWFiaV9tZW1tb3ZlOCh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKSB7CiAgICAgbWVtbW92ZShkZXN0LCBzcmMsIG4pOwogfQogCi12b2lkIF9fYWVhYmlfbWVtbW92ZTQodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3Qgbikgewordm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19hZWFiaV9tZW1tb3ZlNCh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKSB7CiAgICAgbWVtbW92ZShkZXN0LCBzcmMsIG4pOwogfQogCi12b2lkIF9fYWVhYmlfbWVtbW92ZSh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKSB7Cit2b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBfX2FlYWJpX21lbW1vdmUodm9pZCAqZGVzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikgewogICAgIG1lbW1vdmUoZGVzdCwgc3JjLCBuKTsKIH0KIApAQCAtODQsMjcgKzg3LDI3IEBACiAgKiAgVGhpcyBhbGxvd3MgX19hZWFiaV9tZW1jbHIgdG8gdGFpbC1jYWxsIF9fYWVhYmlfbWVtc2V0CiAgKi8KIAotdm9pZCBfX2FlYWJpX21lbXNldDgodm9pZCAqZGVzdCwgc2l6ZV90IG4sIGludCBjKSB7Cit2b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBfX2FlYWJpX21lbXNldDgodm9pZCAqZGVzdCwgc2l6ZV90IG4sIGludCBjKSB7CiAgICAgbWVtc2V0KGRlc3QsIGMsIG4pOwogfQogCi12b2lkIF9fYWVhYmlfbWVtc2V0NCh2b2lkICpkZXN0LCBzaXplX3QgbiwgaW50IGMpIHsKK3ZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9fYWVhYmlfbWVtc2V0NCh2b2lkICpkZXN0LCBzaXplX3QgbiwgaW50IGMpIHsKICAgICBtZW1zZXQoZGVzdCwgYywgbik7CiB9CiAKLXZvaWQgX19hZWFiaV9tZW1zZXQodm9pZCAqZGVzdCwgc2l6ZV90IG4sIGludCBjKSB7Cit2b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBfX2FlYWJpX21lbXNldCh2b2lkICpkZXN0LCBzaXplX3QgbiwgaW50IGMpIHsKICAgICBtZW1zZXQoZGVzdCwgYywgbik7CiB9CiAKIAotdm9pZCBfX2FlYWJpX21lbWNscjgodm9pZCAqZGVzdCwgc2l6ZV90IG4pIHsKK3ZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9fYWVhYmlfbWVtY2xyOCh2b2lkICpkZXN0LCBzaXplX3QgbikgewogICAgIF9fYWVhYmlfbWVtc2V0OChkZXN0LCBuLCAwKTsKIH0KIAotdm9pZCBfX2FlYWJpX21lbWNscjQodm9pZCAqZGVzdCwgc2l6ZV90IG4pIHsKK3ZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9fYWVhYmlfbWVtY2xyNCh2b2lkICpkZXN0LCBzaXplX3QgbikgewogICAgIF9fYWVhYmlfbWVtc2V0NChkZXN0LCBuLCAwKTsKIH0KIAotdm9pZCBfX2FlYWJpX21lbWNscih2b2lkICpkZXN0LCBzaXplX3Qgbikgewordm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19hZWFiaV9tZW1jbHIodm9pZCAqZGVzdCwgc2l6ZV90IG4pIHsKICAgICBfX2FlYWJpX21lbXNldChkZXN0LCBuLCAwKTsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL19fYmlvbmljX2Nsb25lLlMgYi9saWJjL2FyY2gtYXJtL2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IGY1Y2Y5ZTAuLmEyNjhmOWQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL19fYmlvbmljX2Nsb25lLlMKKysrIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUwpAQCAtNDIsMTMgKzQyLDE0IEBACiAgICAgIyBsb2FkIGV4dHJhIHBhcmFtZXRlcnMKICAgICBsZG1mZCAgIGlwLCB7cjQsIHI1LCByNn0KIAotICAgICMgc3RvcmUgJ2ZuJyBhbmQgJ2FyZycgdG8gdGhlIGNoaWxkIHN0YWNrCi0gICAgc3RyICAgICByNSwgW3IxLCAjLTRdCi0gICAgc3RyICAgICByNiwgW3IxLCAjLThdCisgICAgIyBQdXNoICdmbicgYW5kICdhcmcnIG9udG8gdGhlIGNoaWxkIHN0YWNrLgorICAgIHN0bWRiICAgcjEhLCB7cjUsIHI2fQogCi0gICAgIyBTeXN0ZW0gY2FsbAorICAgICMgTWFrZSB0aGUgc3lzdGVtIGNhbGwuCiAgICAgbGRyICAgICByNywgPV9fTlJfY2xvbmUKICAgICBzd2kgICAgICMwCisKKyAgICAjIEFyZSB3ZSB0aGUgY2hpbGQ/CiAgICAgbW92cyAgICByMCwgcjAKICAgICBiZXEgICAgIDFmCiAKQEAgLTYyLDggKzYzLDggQEAKIDE6ICAjIFRoZSBjaGlsZC4KICAgICAjIFNldHRpbmcgbHIgdG8gMCB3aWxsIG1ha2UgdGhlIHVud2luZGVyIHN0b3AgYXQgX19zdGFydF90aHJlYWQKICAgICBtb3YgICAgbHIsICMwCi0gICAgbGRyICAgIHIwLCBbc3AsICMtNF0KLSAgICBsZHIgICAgcjEsIFtzcCwgIy04XQorICAgICMgQ2FsbCBfX3N0YXJ0X3RocmVhZCB3aXRoIHRoZSAnZm4nIGFuZCAnYXJnJyB3ZSBzdG9yZWQgb24gdGhlIGNoaWxkIHN0YWNrLgorICAgIHBvcCAgICB7cjAsIHIxfQogICAgIGIgICAgICBfX3N0YXJ0X3RocmVhZAogRU5EKF9fYmlvbmljX2Nsb25lKQogLmhpZGRlbiBfX2Jpb25pY19jbG9uZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9iaW9uaWMvX3NldGptcC5TIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvX3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGEwYTMxLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL19zZXRqbXAuUworKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi0vKgkkT3BlbkJTRDogX3NldGptcC5TLHYgMS4yIDIwMDQvMDIvMDEgMDU6NDA6NTIgZHJhaG4gRXhwICQJKi8KLS8qCSROZXRCU0Q6IF9zZXRqbXAuUyx2IDEuNSAyMDAzLzA0LzA1IDIzOjA4OjUxIGJqaDIxIEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTcgTWFyayBCcmluaWNvbWJlCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTAgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0LgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQotICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgotICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSBNYXJrIEJyaW5pY29tYmUKLSAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3NldGptcC5oPgotI2luY2x1ZGUgPG1hY2hpbmUvY3B1LWZlYXR1cmVzLmg+Ci0KLS8qCi0gKiBDIGxpYnJhcnkgLS0gX3NldGptcCwgX2xvbmdqbXAKLSAqCi0gKglfbG9uZ2ptcChhLHYpCi0gKiB3aWxsIGdlbmVyYXRlIGEgInJldHVybih2KSIgZnJvbSB0aGUgbGFzdCBjYWxsIHRvCi0gKglfc2V0am1wKGEpCi0gKiBieSByZXN0b3JpbmcgcmVnaXN0ZXJzIGZyb20gdGhlIHN0YWNrLgotICogVGhlIHByZXZpb3VzIHNpZ25hbCBzdGF0ZSBpcyBOT1QgcmVzdG9yZWQuCi0gKgotICogTm90ZTogcjAgaXMgdGhlIHJldHVybiB2YWx1ZQotICogICAgICAgcjEtcjMgYXJlIHNjcmF0Y2ggcmVnaXN0ZXJzIGluIGZ1bmN0aW9ucwotICovCi0KLUVOVFJZKF9zZXRqbXApCi0JbGRyCXIxLCAuTF9zZXRqbXBfbWFnaWMKLQlzdHIJcjEsIFtyMCwgIyhfSkJfTUFHSUMgKiA0KV0KLQotCS8qIFN0b3JlIGNvcmUgcmVnaXN0ZXJzICovCi0JYWRkICAgICByMSwgcjAsICMoX0pCX0NPUkVfQkFTRSAqIDQpCi0Jc3RtaWEgICByMSwge3I0LXIxNH0KLQotI2lmZGVmIF9fQVJNX0hBVkVfVkZQCi0JLyogU3RvcmUgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXJzICovCi0JYWRkICAgICByMSwgcjAsICMoX0pCX0ZMT0FUX0JBU0UgKiA0KQotCXZzdG1pYSAgcjEsIHtkOC1kMTV9Ci0JLyogU3RvcmUgZmxvYXRpbmctcG9pbnQgc3RhdGUgKi8KLQlmbXJ4ICAgIHIxLCBmcHNjcgotCXN0ciAgICAgcjEsIFtyMCwgIyhfSkJfRkxPQVRfU1RBVEUgKiA0KV0KLSNlbmRpZiAgLyogX19BUk1fSEFWRV9WRlAgKi8KLQotICAgICAgICBtb3YJcjAsICMweDAwMDAwMDAwCi0gICAgICAgIGJ4ICAgICAgbHIKLUVORChfc2V0am1wKQotCi0uTF9zZXRqbXBfbWFnaWM6Ci0JLndvcmQJX0pCX01BR0lDX19TRVRKTVAKLQotRU5UUlkoX2xvbmdqbXApCi0JbGRyCXIyLCAuTF9zZXRqbXBfbWFnaWMKLQlsZHIJcjMsIFtyMCwgIyhfSkJfTUFHSUMgKiA0KV0KLQl0ZXEJcjIsIHIzCi0JYm5lCWJvdGNoCi0KLSNpZmRlZiBfX0FSTV9IQVZFX1ZGUAotCS8qIFJlc3RvcmUgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXJzICovCi0JYWRkICAgICByMiwgcjAsICMoX0pCX0ZMT0FUX0JBU0UgKiA0KQotCXZsZG1pYSAgcjIsIHtkOC1kMTV9Ci0JLyogUmVzdG9yZSBmbG9hdGluZy1wb2ludCBzdGF0ZSAqLwotCWxkciAgICAgcjIsIFtyMCwgIyhfSkJfRkxPQVRfU1RBVEUgKiA0KV0KLQlmbXhyICAgIGZwc2NyLCByMgotI2VuZGlmIC8qIF9fQVJNX0hBVkVfVkZQICovCi0KLQkvKiBSZXN0b3JlIGNvcmUgcmVnaXN0ZXJzICovCi0JYWRkICAgICByMiwgcjAsICMoX0pCX0NPUkVfQkFTRSAqIDQpCi0JbGRtaWEgICByMiwge3I0LXIxNH0KLQotCS8qIFZhbGlkYXRlIHNwIGFuZCByMTQgKi8KLQl0ZXEJc3AsICMwCi0JdGVxbmUJcjE0LCAjMAotCWJlcQlib3RjaAotCi0JLyogU2V0IHJldHVybiB2YWx1ZSAqLwotCW1vdglyMCwgcjEKLQl0ZXEJcjAsICMweDAwMDAwMDAwCi0JbW92ZXEJcjAsICMweDAwMDAwMDAxCi0JYnggICAgICBscgotCi0JLyogdmFsaWRhdGlvbiBmYWlsZWQsIGRpZSBkaWUgZGllLiAqLwotYm90Y2g6Ci0JYmwJUElDX1NZTShsb25nam1wZXJyb3IsIFBMVCkKLQlibAlQSUNfU1lNKGFib3J0LCBQTFQpCi0JYgkuIC0gOAkJLyogQ2Fubm90IGdldCBoZXJlICovCi1FTkQoX2xvbmdqbXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2Jpb25pYy9hYm9ydF9hcm0uUyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL2Fib3J0X2FybS5TCmluZGV4IDZiMTgxZWYuLjEwMzk1MDIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL2Fib3J0X2FybS5TCisrKyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL2Fib3J0X2FybS5TCkBAIC00MCw1ICs0MCw1IEBACiAgICAgLmNmaV9kZWZfY2ZhX29mZnNldCA4CiAgICAgLmNmaV9yZWxfb2Zmc2V0IHIzLCAwCiAgICAgLmNmaV9yZWxfb2Zmc2V0IHIxNCwgNAotICAgIGJsICAgICAgUElDX1NZTShfX2xpYmNfYW5kcm9pZF9hYm9ydCwgUExUKQorICAgIGJsICAgICAgX19saWJjX2FuZHJvaWRfYWJvcnQKIEVORChhYm9ydCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL2xpYmdjY19wcm90ZWN0X3Vud2luZC5jIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvbGliZ2NjX3Byb3RlY3RfdW53aW5kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQ3NThmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL2xpYmdjY19wcm90ZWN0X3Vud2luZC5jCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisvLyBUT0RPOiBUaGlzIGZpbGUgc2hvdWxkIGdvIGF3YXkgb25jZSB1bndpbmRlciBtaWdyYXRpb24gdG8gbGliYysrLnNvIGlzIGNvbXBsZXRlLgorCitleHRlcm4gY2hhciBfVW53aW5kX0JhY2t0cmFjZSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fZ251X1Vud2luZF9GaW5kX2V4aWR4IF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19nbnVfVW53aW5kX1Jlc3RvcmVfVkZQX0QgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfX2dudV9VbndpbmRfUmVzdG9yZV9WRlAgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfX2dudV9VbndpbmRfUmVzdG9yZV9WRlBfRF8xNl90b18zMSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fZ251X1Vud2luZF9SZXN0b3JlX1dNTVhEIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19nbnVfVW53aW5kX1Jlc3RvcmVfV01NWEMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfVW53aW5kX0dldENGQSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fZ251X1Vud2luZF9SYWlzZUV4Y2VwdGlvbiBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fZ251X1Vud2luZF9Gb3JjZWRVbndpbmQgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfX2dudV9VbndpbmRfUmVzdW1lIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19nbnVfVW53aW5kX1Jlc3VtZV9vcl9SZXRocm93IF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9Db21wbGV0ZSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9VbndpbmRfRGVsZXRlRXhjZXB0aW9uIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9WUlNfR2V0IF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9WUlNfU2V0IF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19nbnVfVW53aW5kX0JhY2t0cmFjZSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9VbndpbmRfVlJTX1BvcCBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fZ251X1Vud2luZF9TYXZlX1ZGUF9EIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19nbnVfVW53aW5kX1NhdmVfVkZQIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19nbnVfVW53aW5kX1NhdmVfVkZQX0RfMTZfdG9fMzEgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfX2dudV9VbndpbmRfU2F2ZV9XTU1YRCBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fZ251X1Vud2luZF9TYXZlX1dNTVhDIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX19fVW53aW5kX1JhaXNlRXhjZXB0aW9uIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9SYWlzZUV4Y2VwdGlvbiBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fX1Vud2luZF9SZXN1bWUgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfVW53aW5kX1Jlc3VtZSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9fX1Vud2luZF9SZXN1bWVfb3JfUmV0aHJvdyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9VbndpbmRfUmVzdW1lX29yX1JldGhyb3cgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfX19VbndpbmRfRm9yY2VkVW53aW5kIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9Gb3JjZWRVbndpbmQgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfX19VbndpbmRfQmFja3RyYWNlIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9HZXRSZWdpb25TdGFydCBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKK2V4dGVybiBjaGFyIF9VbndpbmRfR2V0TGFuZ3VhZ2VTcGVjaWZpY0RhdGEgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoInByb3RlY3RlZCIpKSk7CitleHRlcm4gY2hhciBfVW53aW5kX0dldERhdGFSZWxCYXNlIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJwcm90ZWN0ZWQiKSkpOworZXh0ZXJuIGNoYXIgX1Vud2luZF9HZXRUZXh0UmVsQmFzZSBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKTsKKwordm9pZCogX19iaW9uaWNfbGliZ2NjX3Vud2luZF9zeW1ib2xzW10gPSB7CisgICAgJl9VbndpbmRfQmFja3RyYWNlLAorICAgICZfX2dudV9VbndpbmRfRmluZF9leGlkeCwKKyAgICAmX19nbnVfVW53aW5kX1Jlc3RvcmVfVkZQX0QsCisgICAgJl9fZ251X1Vud2luZF9SZXN0b3JlX1ZGUCwKKyAgICAmX19nbnVfVW53aW5kX1Jlc3RvcmVfVkZQX0RfMTZfdG9fMzEsCisgICAgJl9fZ251X1Vud2luZF9SZXN0b3JlX1dNTVhELAorICAgICZfX2dudV9VbndpbmRfUmVzdG9yZV9XTU1YQywKKyAgICAmX1Vud2luZF9HZXRDRkEsCisgICAgJl9fZ251X1Vud2luZF9SYWlzZUV4Y2VwdGlvbiwKKyAgICAmX19nbnVfVW53aW5kX0ZvcmNlZFVud2luZCwKKyAgICAmX19nbnVfVW53aW5kX1Jlc3VtZSwKKyAgICAmX19nbnVfVW53aW5kX1Jlc3VtZV9vcl9SZXRocm93LAorICAgICZfVW53aW5kX0NvbXBsZXRlLAorICAgICZfVW53aW5kX0RlbGV0ZUV4Y2VwdGlvbiwKKyAgICAmX1Vud2luZF9WUlNfR2V0LAorICAgICZfVW53aW5kX1ZSU19TZXQsCisgICAgJl9fZ251X1Vud2luZF9CYWNrdHJhY2UsCisgICAgJl9VbndpbmRfVlJTX1BvcCwKKyAgICAmX19nbnVfVW53aW5kX1NhdmVfVkZQX0QsCisgICAgJl9fZ251X1Vud2luZF9TYXZlX1ZGUCwKKyAgICAmX19nbnVfVW53aW5kX1NhdmVfVkZQX0RfMTZfdG9fMzEsCisgICAgJl9fZ251X1Vud2luZF9TYXZlX1dNTVhELAorICAgICZfX2dudV9VbndpbmRfU2F2ZV9XTU1YQywKKyAgICAmX19fVW53aW5kX1JhaXNlRXhjZXB0aW9uLAorICAgICZfVW53aW5kX1JhaXNlRXhjZXB0aW9uLAorICAgICZfX19VbndpbmRfUmVzdW1lLAorICAgICZfVW53aW5kX1Jlc3VtZSwKKyAgICAmX19fVW53aW5kX1Jlc3VtZV9vcl9SZXRocm93LAorICAgICZfVW53aW5kX1Jlc3VtZV9vcl9SZXRocm93LAorICAgICZfX19VbndpbmRfRm9yY2VkVW53aW5kLAorICAgICZfVW53aW5kX0ZvcmNlZFVud2luZCwKKyAgICAmX19fVW53aW5kX0JhY2t0cmFjZSwKKyAgICAmX1Vud2luZF9HZXRSZWdpb25TdGFydCwKKyAgICAmX1Vud2luZF9HZXRMYW5ndWFnZVNwZWNpZmljRGF0YSwKKyAgICAmX1Vud2luZF9HZXREYXRhUmVsQmFzZSwKKyAgICAmX1Vud2luZF9HZXRUZXh0UmVsQmFzZSwKK307CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2Jpb25pYy9tZW1jcHkuUyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYzliMTBjLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5TCisrKyAvZGV2L251bGwKQEAgLTEsNjg2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0gKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECi0gKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPG1hY2hpbmUvY3B1LWZlYXR1cmVzLmg+Ci0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLSNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgIWRlZmluZWQoQVJDSF9BUk1fVVNFX05PTl9ORU9OX01FTUNQWSkKLQotICAgICAgICAudGV4dAotICAgICAgICAuZnB1ICAgIG5lb24KLQotI2lmZGVmIEhBVkVfMzJfQllURV9DQUNIRV9MSU5FCi0vKiBhIHByZWZldGNoIGRpc3RhbmNlIG9mIDIgY2FjaGUtbGluZXMgKi8KLSNkZWZpbmUgQ0FDSEVfTElORV9TSVpFICAgICAzMgotI2Vsc2UKLS8qIGEgcHJlZmV0Y2ggZGlzdGFuY2Ugb2YgNCBjYWNoZS1saW5lcyB3b3JrcyBiZXN0IGV4cGVyaW1lbnRhbGx5ICovCi0jZGVmaW5lIENBQ0hFX0xJTkVfU0laRSAgICAgNjQKLSNlbmRpZgotCi1FTlRSWShtZW1jcHkpCi0gICAgICAgIC5zYXZlICAgICAgIHtyMCwgbHJ9Ci0gICAgICAgIC8qIHN0YXJ0IHByZWxvYWRpbmcgYXMgZWFybHkgYXMgcG9zc2libGUgKi8KLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSAqIDApXQotICAgICAgICBzdG1mZCAgICAgICBzcCEsIHtyMCwgbHJ9Ci0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUgKiAxKV0KLQotLyogSWYgTmVvbiBzdXBwb3J0cyB1bmFsaWduZWQgYWNjZXNzIHRoZW4gcmVtb3ZlIHRoZSBhbGlnbiBjb2RlLAotICogdW5sZXNzIGEgc2l6ZSBsaW1pdCBoYXMgYmVlbiBzcGVjaWZpZWQuCi0gKi8KLSNpZm5kZWYgTkVPTl9VTkFMSUdORURfQUNDRVNTCi0gICAgICAgIC8qIGRvIHdlIGhhdmUgYXQgbGVhc3QgMTYtYnl0ZXMgdG8gY29weSAobmVlZGVkIGZvciBhbGlnbm1lbnQgYmVsb3cpICovCi0gICAgICAgIGNtcCAgICAgICAgIHIyLCAjMTYKLSAgICAgICAgYmxvICAgICAgICAgNWYKLQotICAgICAgICAvKiBjaGVjayBpZiBidWZmZXJzIGFyZSBhbGlnbmVkLiBJZiBzbywgcnVuIGFybS1vbmx5IHZlcnNpb24gKi8KLSAgICAgICAgZW9yICAgICAgICAgcjMsIHIwLCByMQotICAgICAgICBhbmRzICAgICAgICByMywgcjMsICMweDMKLSAgICAgICAgYmVxICAgICAgICAgMTFmCi0KLSAgICAgICAgLyogYWxpZ24gZGVzdGluYXRpb24gdG8gY2FjaGUtbGluZSBmb3IgdGhlIHdyaXRlLWJ1ZmZlciAqLwotICAgICAgICByc2IgICAgICAgICByMywgcjAsICMwCi0gICAgICAgIGFuZHMgICAgICAgIHIzLCByMywgIzB4RgotICAgICAgICBiZXEgICAgICAgICAyZgotCi0gICAgICAgIC8qIGNvcHkgdXAgdG8gMTUtYnl0ZXMgKGNvdW50IGluIHIzKSAqLwotICAgICAgICBzdWIgICAgICAgICByMiwgcjIsIHIzCi0gICAgICAgIG1vdnMgICAgICAgIGlwLCByMywgbHNsICMzMQotICAgICAgICBsZHJtaWIgICAgICBsciwgW3IxXSwgIzEKLSAgICAgICAgc3RybWliICAgICAgbHIsIFtyMF0sICMxCi0gICAgICAgIGxkcmNzYiAgICAgIGlwLCBbcjFdLCAjMQotICAgICAgICBsZHJjc2IgICAgICBsciwgW3IxXSwgIzEKLSAgICAgICAgc3RyY3NiICAgICAgaXAsIFtyMF0sICMxCi0gICAgICAgIHN0cmNzYiAgICAgIGxyLCBbcjBdLCAjMQotICAgICAgICBtb3ZzICAgICAgICBpcCwgcjMsIGxzbCAjMjkKLSAgICAgICAgYmdlICAgICAgICAgMWYKLSAgICAgICAgLy8gY29waWVzIDQgYnl0ZXMsIGRlc3RpbmF0aW9uIDMyLWJpdHMgYWxpZ25lZAotICAgICAgICB2bGQ0LjggICAgICB7ZDBbMF0sIGQxWzBdLCBkMlswXSwgZDNbMF19LCBbcjFdIQotICAgICAgICB2c3Q0LjggICAgICB7ZDBbMF0sIGQxWzBdLCBkMlswXSwgZDNbMF19LCBbcjAsIDozMl0hCi0xOiAgICAgIGJjYyAgICAgICAgIDJmCi0gICAgICAgIC8vIGNvcGllcyA4IGJ5dGVzLCBkZXN0aW5hdGlvbiA2NC1iaXRzIGFsaWduZWQKLSAgICAgICAgdmxkMS44ICAgICAge2QwfSwgW3IxXSEKLSAgICAgICAgdnN0MS44ICAgICAge2QwfSwgW3IwLCA6NjRdIQotMjoKLSAgICAgICAgLyogcHJlbG9hZCBpbW1lZGlhdGVseSB0aGUgbmV4dCBjYWNoZSBsaW5lLCB3aGljaCB3ZSBtYXkgbmVlZCAqLwotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMCldCi0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUgKiAxKV0KLQotI2lmZGVmIEhBVkVfMzJfQllURV9DQUNIRV9MSU5FCi0gICAgICAgIC8qIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0IGxlYXN0IDMyIGJ5dGVzIHRvIGNvcHkgKi8KLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjMzIKLSAgICAgICAgYmxvICAgICAgICAgNGYKLQotICAgICAgICAvKiBwcmVsb2FkIGFsbCB0aGUgY2FjaGUgbGluZXMgd2UgbmVlZC4KLSAgICAgICAgICogTk9URTogdGhlIG51bWJlciBvZiBwbGQgYmVsb3cgZGVwZW5kcyBvbiBQUkVGRVRDSF9ESVNUQU5DRSwKLSAgICAgICAgICogaWRlYWxseSB3b3VsZCB3b3VsZCBpbmNyZWFzZSB0aGUgZGlzdGFuY2UgaW4gdGhlIG1haW4gbG9vcCB0bwotICAgICAgICAgKiBhdm9pZCB0aGUgZ29vZnkgY29kZSBiZWxvdy4gSW4gcHJhY3RpY2UgdGhpcyBkb2Vzbid0IHNlZW0gdG8gbWFrZQotICAgICAgICAgKiBhIGJpZyBkaWZmZXJlbmNlLgotICAgICAgICAgKi8KLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKFBSRUZFVENIX0RJU1RBTkNFKV0KLQotMTogICAgICAvKiBUaGUgbWFpbiBsb29wIGNvcGllcyAzMiBieXRlcyBhdCBhIHRpbWUgKi8KLSAgICAgICAgdmxkMS44ICAgICAge2QwICAtIGQzfSwgICBbcjFdIQotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoUFJFRkVUQ0hfRElTVEFOQ0UpXQotICAgICAgICBzdWJzICAgICAgICByMiwgcjIsICMzMgotICAgICAgICB2c3QxLjggICAgICB7ZDAgIC0gZDN9LCAgIFtyMCwgOjEyOF0hCi0gICAgICAgIGJocyAgICAgICAgIDFiCi0jZWxzZQotICAgICAgICAvKiBtYWtlIHN1cmUgd2UgaGF2ZSBhdCBsZWFzdCA2NCBieXRlcyB0byBjb3B5ICovCi0gICAgICAgIHN1YnMgICAgICAgIHIyLCByMiwgIzY0Ci0gICAgICAgIGJsbyAgICAgICAgIDJmCi0KLSAgICAgICAgLyogcHJlbG9hZCBhbGwgdGhlIGNhY2hlIGxpbmVzIHdlIG5lZWQuICovCi0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUgKiAyKV0KLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSAqIDMpXQotCi0xOiAgICAgIC8qIFRoZSBtYWluIGxvb3AgY29waWVzIDY0IGJ5dGVzIGF0IGEgdGltZSAqLwotICAgICAgICB2bGQxLjggICAgICB7ZDAgLSBkM30sIFtyMV0hCi0gICAgICAgIHZsZDEuOCAgICAgIHtkNCAtIGQ3fSwgW3IxXSEKLSNpZmRlZiAgSEFWRV8zMl9CWVRFX0NBQ0hFX0xJTkUKLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSAqIDIpXQotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMyldCi0jZWxzZQotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMyldCi0jZW5kaWYKLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjNjQKLSAgICAgICAgdnN0MS44ICAgICAge2QwIC0gZDN9LCBbcjAsIDoxMjhdIQotICAgICAgICB2c3QxLjggICAgICB7ZDQgLSBkN30sIFtyMCwgOjEyOF0hCi0gICAgICAgIGJocyAgICAgICAgIDFiCi0KLTI6ICAgICAgLyogZml4LXVwIHRoZSByZW1haW5pbmcgY291bnQgYW5kIG1ha2Ugc3VyZSB3ZSBoYXZlID49IDMyIGJ5dGVzIGxlZnQgKi8KLSAgICAgICAgYWRkICAgICAgICAgcjIsIHIyLCAjNjQKLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjMzIKLSAgICAgICAgYmxvICAgICAgICAgNGYKLQotMzogICAgICAvKiAzMiBieXRlcyBhdCBhIHRpbWUuIFRoZXNlIGNhY2hlIGxpbmVzIHdlcmUgYWxyZWFkeSBwcmVsb2FkZWQgKi8KLSAgICAgICAgdmxkMS44ICAgICAge2QwIC0gZDN9LCBbcjFdIQotICAgICAgICBzdWJzICAgICAgICByMiwgcjIsICMzMgotICAgICAgICB2c3QxLjggICAgICB7ZDAgLSBkM30sIFtyMCwgOjEyOF0hCi0gICAgICAgIGJocyAgICAgICAgIDNiCi0jZW5kaWYKLTQ6ICAgICAgLyogbGVzcyB0aGFuIDMyIGxlZnQgKi8KLSAgICAgICAgYWRkICAgICAgICAgcjIsIHIyLCAjMzIKLSAgICAgICAgdHN0ICAgICAgICAgcjIsICMweDEwCi0gICAgICAgIGJlcSAgICAgICAgIDVmCi0gICAgICAgIC8vIGNvcGllcyAxNiBieXRlcywgMTI4LWJpdHMgYWxpZ25lZAotICAgICAgICB2bGQxLjggICAgICB7ZDAsIGQxfSwgW3IxXSEKLSAgICAgICAgdnN0MS44ICAgICAge2QwLCBkMX0sIFtyMCwgOjEyOF0hCi01OiAgICAgIC8qIGNvcHkgdXAgdG8gMTUtYnl0ZXMgKGNvdW50IGluIHIyKSAqLwotICAgICAgICBtb3ZzICAgICAgICBpcCwgcjIsIGxzbCAjMjkKLSAgICAgICAgYmNjICAgICAgICAgMWYKLSAgICAgICAgdmxkMS44ICAgICAge2QwfSwgW3IxXSEKLSAgICAgICAgdnN0MS44ICAgICAge2QwfSwgW3IwXSEKLTE6ICAgICAgYmdlICAgICAgICAgMmYKLSAgICAgICAgdmxkNC44ICAgICAge2QwWzBdLCBkMVswXSwgZDJbMF0sIGQzWzBdfSwgW3IxXSEKLSAgICAgICAgdnN0NC44ICAgICAge2QwWzBdLCBkMVswXSwgZDJbMF0sIGQzWzBdfSwgW3IwXSEKLTI6ICAgICAgbW92cyAgICAgICAgaXAsIHIyLCBsc2wgIzMxCi0gICAgICAgIGxkcm1pYiAgICAgIHIzLCBbcjFdLCAjMQotICAgICAgICBsZHJjc2IgICAgICBpcCwgW3IxXSwgIzEKLSAgICAgICAgbGRyY3NiICAgICAgbHIsIFtyMV0sICMxCi0gICAgICAgIHN0cm1pYiAgICAgIHIzLCBbcjBdLCAjMQotICAgICAgICBzdHJjc2IgICAgICBpcCwgW3IwXSwgIzEKLSAgICAgICAgc3RyY3NiICAgICAgbHIsIFtyMF0sICMxCi0KLSAgICAgICAgbGRtZmQgICAgICAgc3AhLCB7cjAsIGxyfQotICAgICAgICBieCAgICAgICAgICBscgotCi0jZWxzZSAgIC8qIE5FT05fVU5BTElHTkVEX0FDQ0VTUyAqLwotCi0gICAgICAgIC8vIENoZWNrIHNvIGRpdmlkZXIgaXMgYXQgbGVhc3QgMTYgYnl0ZXMsIG5lZWRlZCBmb3IgYWxpZ25tZW50IGNvZGUuCi0gICAgICAgIGNtcCAgICAgICAgIHIyLCAjMTYKLSAgICAgICAgYmxvICAgICAgICAgNWYKLQotI2lmZGVmIE5FT05fTUVNQ1BZX0FMSUdOTUVOVF9ESVZJREVSCi0gICAgICAgIC8qIENoZWNrIHRoZSB1cHBlciBzaXplIGxpbWl0IGZvciBOZW9uIHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIGluIG1lbWNweSAqLwotI2lmIE5FT05fTUVNQ1BZX0FMSUdOTUVOVF9ESVZJREVSID49IDE2Ci0gICAgICAgIGNtcCAgICAgICAgIHIyLCAjTkVPTl9NRU1DUFlfQUxJR05NRU5UX0RJVklERVIKLSAgICAgICAgYmxvICAgICAgICAgM2YKLSNlbmRpZgotICAgICAgICAvKiBjaGVjayBpZiBidWZmZXJzIGFyZSBhbGlnbmVkLiBJZiBzbywgcnVuIGFybS1vbmx5IHZlcnNpb24gKi8KLSAgICAgICAgZW9yICAgICAgICAgcjMsIHIwLCByMQotICAgICAgICBhbmRzICAgICAgICByMywgcjMsICMweDMKLSAgICAgICAgYmVxICAgICAgICAgMTFmCi0KLSAgICAgICAgLyogYWxpZ24gZGVzdGluYXRpb24gdG8gMTYgYnl0ZXMgZm9yIHRoZSB3cml0ZS1idWZmZXIgKi8KLSAgICAgICAgcnNiICAgICAgICAgcjMsIHIwLCAjMAotICAgICAgICBhbmRzICAgICAgICByMywgcjMsICMweEYKLSAgICAgICAgYmVxICAgICAgICAgM2YKLQotICAgICAgICAvKiBjb3B5IHVwIHRvIDE1LWJ5dGVzIChjb3VudCBpbiByMykgKi8KLSAgICAgICAgc3ViICAgICAgICAgcjIsIHIyLCByMwotICAgICAgICBtb3ZzICAgICAgICBpcCwgcjMsIGxzbCAjMzEKLSAgICAgICAgbGRybWliICAgICAgbHIsIFtyMV0sICMxCi0gICAgICAgIHN0cm1pYiAgICAgIGxyLCBbcjBdLCAjMQotICAgICAgICBsZHJjc2IgICAgICBpcCwgW3IxXSwgIzEKLSAgICAgICAgbGRyY3NiICAgICAgbHIsIFtyMV0sICMxCi0gICAgICAgIHN0cmNzYiAgICAgIGlwLCBbcjBdLCAjMQotICAgICAgICBzdHJjc2IgICAgICBsciwgW3IwXSwgIzEKLSAgICAgICAgbW92cyAgICAgICAgaXAsIHIzLCBsc2wgIzI5Ci0gICAgICAgIGJnZSAgICAgICAgIDFmCi0gICAgICAgIC8vIGNvcGllcyA0IGJ5dGVzLCBkZXN0aW5hdGlvbiAzMi1iaXRzIGFsaWduZWQKLSAgICAgICAgdmxkMS4zMiAgICAge2QwWzBdfSwgW3IxXSEKLSAgICAgICAgdnN0MS4zMiAgICAge2QwWzBdfSwgW3IwLCA6MzJdIQotMTogICAgICBiY2MgICAgICAgICAyZgotICAgICAgICAvLyBjb3BpZXMgOCBieXRlcywgZGVzdGluYXRpb24gNjQtYml0cyBhbGlnbmVkCi0gICAgICAgIHZsZDEuOCAgICAgIHtkMH0sIFtyMV0hCi0gICAgICAgIHZzdDEuOCAgICAgIHtkMH0sIFtyMCwgOjY0XSEKLTI6Ci0gICAgICAgIC8qIHByZWxvYWQgaW1tZWRpYXRlbHkgdGhlIG5leHQgY2FjaGUgbGluZSwgd2hpY2ggd2UgbWF5IG5lZWQgKi8KLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSAqIDApXQotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMSldCi0zOgotI2VuZGlmCi0gICAgICAgIC8qIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0IGxlYXN0IDY0IGJ5dGVzIHRvIGNvcHkgKi8KLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjNjQKLSAgICAgICAgYmxvICAgICAgICAgMmYKLQotICAgICAgICAvKiBwcmVsb2FkIGFsbCB0aGUgY2FjaGUgbGluZXMgd2UgbmVlZCAqLwotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMildCi0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUgKiAzKV0KLQotMTogICAgICAvKiBUaGUgbWFpbiBsb29wIGNvcGllcyA2NCBieXRlcyBhdCBhIHRpbWUgKi8KLSAgICAgICAgdmxkMS44ICAgICAge2QwIC0gZDN9LCBbcjFdIQotICAgICAgICB2bGQxLjggICAgICB7ZDQgLSBkN30sIFtyMV0hCi0jaWZkZWYgIEhBVkVfMzJfQllURV9DQUNIRV9MSU5FCi0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUgKiAyKV0KLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSAqIDMpXQotI2Vsc2UKLSAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSAqIDMpXQotI2VuZGlmCi0gICAgICAgIHN1YnMgICAgICAgIHIyLCByMiwgIzY0Ci0gICAgICAgIHZzdDEuOCAgICAgIHtkMCAtIGQzfSwgW3IwXSEKLSAgICAgICAgdnN0MS44ICAgICAge2Q0IC0gZDd9LCBbcjBdIQotICAgICAgICBiaHMgICAgICAgICAxYgotCi0yOiAgICAgIC8qIGZpeC11cCB0aGUgcmVtYWluaW5nIGNvdW50IGFuZCBtYWtlIHN1cmUgd2UgaGF2ZSA+PSAzMiBieXRlcyBsZWZ0ICovCi0gICAgICAgIGFkZCAgICAgICAgIHIyLCByMiwgIzY0Ci0gICAgICAgIHN1YnMgICAgICAgIHIyLCByMiwgIzMyCi0gICAgICAgIGJsbyAgICAgICAgIDRmCi0KLTM6ICAgICAgLyogMzIgYnl0ZXMgYXQgYSB0aW1lLiBUaGVzZSBjYWNoZSBsaW5lcyB3ZXJlIGFscmVhZHkgcHJlbG9hZGVkICovCi0gICAgICAgIHZsZDEuOCAgICAgIHtkMCAtIGQzfSwgW3IxXSEKLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjMzIKLSAgICAgICAgdnN0MS44ICAgICAge2QwIC0gZDN9LCBbcjBdIQotICAgICAgICBiaHMgICAgICAgICAzYgotCi00OiAgICAgIC8qIGxlc3MgdGhhbiAzMiBsZWZ0ICovCi0gICAgICAgIGFkZCAgICAgICAgIHIyLCByMiwgIzMyCi0gICAgICAgIHRzdCAgICAgICAgIHIyLCAjMHgxMAotICAgICAgICBiZXEgICAgICAgICA1ZgotICAgICAgICAvLyBjb3BpZXMgMTYgYnl0ZXMsIDEyOC1iaXRzIGFsaWduZWQKLSAgICAgICAgdmxkMS44ICAgICAge2QwLCBkMX0sIFtyMV0hCi0gICAgICAgIHZzdDEuOCAgICAgIHtkMCwgZDF9LCBbcjBdIQotNTogICAgICAvKiBjb3B5IHVwIHRvIDE1LWJ5dGVzIChjb3VudCBpbiByMikgKi8KLSAgICAgICAgbW92cyAgICAgICAgaXAsIHIyLCBsc2wgIzI5Ci0gICAgICAgIGJjYyAgICAgICAgIDFmCi0gICAgICAgIHZsZDEuOCAgICAgIHtkMH0sIFtyMV0hCi0gICAgICAgIHZzdDEuOCAgICAgIHtkMH0sIFtyMF0hCi0xOiAgICAgIGJnZSAgICAgICAgIDJmCi0gICAgICAgIHZsZDEuMzIgICAgIHtkMFswXX0sIFtyMV0hCi0gICAgICAgIHZzdDEuMzIgICAgIHtkMFswXX0sIFtyMF0hCi0yOiAgICAgIG1vdnMgICAgICAgIGlwLCByMiwgbHNsICMzMQotICAgICAgICBsZHJtaWIgICAgICByMywgW3IxXSwgIzEKLSAgICAgICAgbGRyY3NiICAgICAgaXAsIFtyMV0sICMxCi0gICAgICAgIGxkcmNzYiAgICAgIGxyLCBbcjFdLCAjMQotICAgICAgICBzdHJtaWIgICAgICByMywgW3IwXSwgIzEKLSAgICAgICAgc3RyY3NiICAgICAgaXAsIFtyMF0sICMxCi0gICAgICAgIHN0cmNzYiAgICAgIGxyLCBbcjBdLCAjMQotCi0gICAgICAgIGxkbWZkICAgICAgIHNwISwge3IwLCBscn0KLSAgICAgICAgYnggICAgICAgICAgbHIKLSNlbmRpZiAgLyogTkVPTl9VTkFMSUdORURfQUNDRVNTICovCi0xMToKLSAgICAgICAgLyogU2ltcGxlIGFybS1vbmx5IGNvcHkgbG9vcCB0byBoYW5kbGUgYWxpZ25lZCBjb3B5IG9wZXJhdGlvbnMgKi8KLSAgICAgICAgc3RtZmQgICAgICAgc3AhLCB7cjQsIHI1LCByNiwgcjcsIHI4fQotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMildCi0KLSAgICAgICAgLyogQ2hlY2sgYWxpZ25tZW50ICovCi0gICAgICAgIHJzYiAgICAgICAgIHIzLCByMSwgIzAKLSAgICAgICAgYW5kcyAgICAgICAgcjMsICMzCi0gICAgICAgIGJlcSAgICAgICAgIDJmCi0KLSAgICAgICAgLyogYWxpZ24gc291cmNlIHRvIDMyIGJpdHMuIFdlIG5lZWQgdG8gaW5zZXJ0IDIgaW5zdHJ1Y3Rpb25zIGJldHdlZW4KLSAgICAgICAgICogYSBsZHJbYnxoXSBhbmQgc3RyW2J8aF0gYmVjYXVzZSBieXRlIGFuZCBoYWxmLXdvcmQgaW5zdHJ1Y3Rpb25zCi0gICAgICAgICAqIHN0YWxsIDIgY3ljbGVzLgotICAgICAgICAgKi8KLSAgICAgICAgbW92cyAgICAgICAgcjEyLCByMywgbHNsICMzMQotICAgICAgICBzdWIgICAgICAgICByMiwgcjIsIHIzICAgICAgLyogd2Uga25vdyB0aGF0IHIzIDw9IHIyIGJlY2F1c2UgcjIgPj0gNCAqLwotICAgICAgICBsZHJtaWIgICAgICByMywgW3IxXSwgIzEKLSAgICAgICAgbGRyY3NiICAgICAgcjQsIFtyMV0sICMxCi0gICAgICAgIGxkcmNzYiAgICAgIHI1LCBbcjFdLCAjMQotICAgICAgICBzdHJtaWIgICAgICByMywgW3IwXSwgIzEKLSAgICAgICAgc3RyY3NiICAgICAgcjQsIFtyMF0sICMxCi0gICAgICAgIHN0cmNzYiAgICAgIHI1LCBbcjBdLCAjMQotMjoKLSAgICAgICAgc3VicyAgICAgICAgcjIsICMzMgotICAgICAgICBibHQgICAgICAgICA1ZgotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogMyldCi0zOiAgICAgIC8qIE1haW4gY29weSBsb29wLCBjb3B5aW5nIDMyIGJ5dGVzIGF0IGEgdGltZSAqLwotICAgICAgICBwbGQgICAgICAgICBbcjEsICMoQ0FDSEVfTElORV9TSVpFICogNCldCi0gICAgICAgIGxkbWlhICAgICAgIHIxISwge3IzLCByNCwgcjUsIHI2LCByNywgcjgsIHIxMiwgbHJ9Ci0gICAgICAgIHN1YnMgICAgICAgIHIyLCByMiwgIzMyCi0gICAgICAgIHN0bWlhICAgICAgIHIwISwge3IzLCByNCwgcjUsIHI2LCByNywgcjgsIHIxMiwgbHJ9Ci0gICAgICAgIGJnZSAgICAgICAgIDNiCi01OiAgICAgIC8qIEhhbmRsZSBhbnkgcmVtYWluaW5nIGJ5dGVzICovCi0gICAgICAgIGFkZHMgICAgICAgIHIyLCAjMzIKLSAgICAgICAgYmVxICAgICAgICAgNmYKLQotICAgICAgICBtb3ZzICAgICAgICByMTIsIHIyLCBsc2wgIzI4Ci0gICAgICAgIGxkbWNzaWEgICAgIHIxISwge3IzLCByNCwgcjUsIHI2fSAgIC8qIDE2IGJ5dGVzICovCi0gICAgICAgIGxkbW1paWEgICAgIHIxISwge3I3LCByOH0gICAgICAgICAgIC8qICA4IGJ5dGVzICovCi0gICAgICAgIHN0bWNzaWEgICAgIHIwISwge3IzLCByNCwgcjUsIHI2fQotICAgICAgICBzdG1taWlhICAgICByMCEsIHtyNywgcjh9Ci0gICAgICAgIG1vdnMgICAgICAgIHIxMiwgcjIsIGxzbCAjMzAKLSAgICAgICAgbGRyY3MgICAgICAgcjMsIFtyMV0sICM0ICAgICAgICAgICAgLyogIDQgYnl0ZXMgKi8KLSAgICAgICAgbGRybWloICAgICAgcjQsIFtyMV0sICMyICAgICAgICAgICAgLyogIDIgYnl0ZXMgKi8KLSAgICAgICAgc3RyY3MgICAgICAgcjMsIFtyMF0sICM0Ci0gICAgICAgIHN0cm1paCAgICAgIHI0LCBbcjBdLCAjMgotICAgICAgICB0c3QgICAgICAgICByMiwgIzB4MQotICAgICAgICBsZHJuZWIgICAgICByMywgW3IxXSAgICAgICAgICAgICAgICAvKiAgbGFzdCBieXRlICAqLwotICAgICAgICBzdHJuZWIgICAgICByMywgW3IwXQotNjoKLSAgICAgICAgbGRtZmQgICAgICAgc3AhLCB7cjQsIHI1LCByNiwgcjcsIHI4fQotICAgICAgICBsZG1mZCAgICAgICBzcCEsIHtyMCwgcGN9Ci1FTkQobWVtY3B5KQotCi0KLSNlbHNlICAgLyogX19BUk1fQVJDSF9fIDwgNyAqLwotCi0KLQkJLyoKLQkJICogT3B0aW1pemVkIG1lbWNweSgpIGZvciBBUk0uCi0gICAgICAgICAqCi0JCSAqIG5vdGUgdGhhdCBtZW1jcHkoKSBhbHdheXMgcmV0dXJucyB0aGUgZGVzdGluYXRpb24gcG9pbnRlciwKLQkJICogc28gd2UgaGF2ZSB0byBwcmVzZXJ2ZSBSMC4KLQkJICovCi0KLUVOVFJZKG1lbWNweSkKLQkJLyogVGhlIHN0YWNrIG11c3QgYWx3YXlzIGJlIDY0LWJpdHMgYWxpZ25lZCB0byBiZSBjb21wbGlhbnQgd2l0aCB0aGUKLQkJICogQVJNIEFCSS4gU2luY2Ugd2UgaGF2ZSB0byBzYXZlIFIwLCB3ZSBtaWdodCBhcyB3ZWxsIHNhdmUgUjQKLQkJICogd2hpY2ggd2UgY2FuIHVzZSBmb3IgYmV0dGVyIHBpcGVsaW5pbmcgb2YgdGhlIHJlYWRzIGJlbG93Ci0JCSAqLwotICAgICAgICAuc2F2ZSAgICAgICB7cjAsIHI0LCBscn0KLSAgICAgICAgc3RtZmQgICAgICAgc3AhLCB7cjAsIHI0LCBscn0KLSAgICAgICAgLyogTWFraW5nIHJvb20gZm9yIHI1LXIxMSB3aGljaCB3aWxsIGJlIHNwaWxsZWQgbGF0ZXIgKi8KLSAgICAgICAgLnBhZCAgICAgICAgIzI4Ci0gICAgICAgIHN1YiAgICAgICAgIHNwLCBzcCwgIzI4Ci0KLSAgICAgICAgLy8gcHJlbG9hZCB0aGUgZGVzdGluYXRpb24gYmVjYXVzZSB3ZSdsbCBhbGlnbiBpdCB0byBhIGNhY2hlIGxpbmUKLSAgICAgICAgLy8gd2l0aCBzbWFsbCB3cml0ZXMuIEFsc28gc3RhcnQgdGhlIHNvdXJjZSAicHVtcCIuCi0gICAgICAgIHBsZCAgICAgICAgIFtyMCwgIzBdCi0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIzBdCi0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIzMyXQotCi0JCS8qIGl0IHNpbXBsaWZpZXMgdGhpbmdzIHRvIHRha2UgY2FyZSBvZiBsZW48NCBlYXJseSAqLwotCQljbXAJCQlyMiwgIzQKLQkJYmxvCQkJY29weV9sYXN0XzNfYW5kX3JldHVybgotCi0JCS8qIGNvbXB1dGUgdGhlIG9mZnNldCB0byBhbGlnbiB0aGUgc291cmNlCi0JCSAqIG9mZnNldCA9ICg0LShzcmMmMykpJjMgPSAtc3JjICYgMwotCQkgKi8KLQkJcnNiCQkJcjMsIHIxLCAjMAotCQlhbmRzCQlyMywgcjMsICMzCi0JCWJlcQkJCXNyY19hbGlnbmVkCi0KLQkJLyogYWxpZ24gc291cmNlIHRvIDMyIGJpdHMuIFdlIG5lZWQgdG8gaW5zZXJ0IDIgaW5zdHJ1Y3Rpb25zIGJldHdlZW4KLQkJICogYSBsZHJbYnxoXSBhbmQgc3RyW2J8aF0gYmVjYXVzZSBieXRlIGFuZCBoYWxmLXdvcmQgaW5zdHJ1Y3Rpb25zCi0JCSAqIHN0YWxsIDIgY3ljbGVzLgotCQkgKi8KLQkJbW92cwkJcjEyLCByMywgbHNsICMzMQotCQlzdWIJCQlyMiwgcjIsIHIzCQkvKiB3ZSBrbm93IHRoYXQgcjMgPD0gcjIgYmVjYXVzZSByMiA+PSA0ICovCi0JCWxkcm1pYgkJcjMsIFtyMV0sICMxCi0JCWxkcmNzYgkJcjQsIFtyMV0sICMxCi0JCWxkcmNzYgkJcjEyLFtyMV0sICMxCi0gICAgICAgIHN0cm1pYgkJcjMsIFtyMF0sICMxCi0JCXN0cmNzYgkJcjQsIFtyMF0sICMxCi0JCXN0cmNzYgkJcjEyLFtyMF0sICMxCi0KLXNyY19hbGlnbmVkOgotCi0JCS8qIHNlZSBpZiBzcmMgYW5kIGRzdCBhcmUgYWxpZ25lZCB0b2dldGhlciAoY29uZ3J1ZW50KSAqLwotCQllb3IJCQlyMTIsIHIwLCByMQotCQl0c3QJCQlyMTIsICMzCi0JCWJuZQkJCW5vbl9jb25ncnVlbnQKLQotICAgICAgICAvKiBVc2UgcG9zdC1pbmNyaW1lbnQgbW9kZSBmb3Igc3RtIHRvIHNwaWxsIHI1LXIxMSB0byByZXNlcnZlZCBzdGFjawotICAgICAgICAgKiBmcmFtZS4gRG9uJ3QgdXBkYXRlIHNwLgotICAgICAgICAgKi8KLSAgICAgICAgc3RtZWEJCXNwLCB7cjUtcjExfQotCi0JCS8qIGFsaWduIHRoZSBkZXN0aW5hdGlvbiB0byBhIGNhY2hlLWxpbmUgKi8KLQkJcnNiICAgICAgICAgcjMsIHIwLCAjMAotCQlhbmRzCQlyMywgcjMsICMweDFDCi0JCWJlcSAgICAgICAgIGNvbmdydWVudF9hbGlnbmVkMzIKLQkJY21wICAgICAgICAgcjMsIHIyCi0JCWFuZGhpCQlyMywgcjIsICMweDFDCi0KLQkJLyogY29uZGl0aW9ubmFseSBjb3BpZXMgMCB0byA3IHdvcmRzIChsZW5ndGggaW4gcjMpICovCi0JCW1vdnMJCXIxMiwgcjMsIGxzbCAjMjgKLQkJbGRtY3NpYQkJcjEhLCB7cjQsIHI1LCByNiwgcjd9CS8qIDE2IGJ5dGVzICovCi0JCWxkbW1paWEJCXIxISwge3I4LCByOX0JCQkvKiAgOCBieXRlcyAqLwotCQlzdG1jc2lhCQlyMCEsIHtyNCwgcjUsIHI2LCByN30KLQkJc3RtbWlpYQkJcjAhLCB7cjgsIHI5fQotCQl0c3QgICAgICAgICByMywgIzB4NAotCQlsZHJuZQkJcjEwLFtyMV0sICM0CQkJLyogIDQgYnl0ZXMgKi8KLQkJc3RybmUJCXIxMCxbcjBdLCAjNAotCQlzdWIgICAgICAgICByMiwgcjIsIHIzCi0KLWNvbmdydWVudF9hbGlnbmVkMzI6Ci0JCS8qCi0JCSAqIGhlcmUgc291cmNlIGlzIGFsaWduZWQgdG8gMzIgYnl0ZXMuCi0JCSAqLwotCi1jYWNoZWRfYWxpZ25lZDMyOgotICAgICAgICBzdWJzICAgICAgICByMiwgcjIsICMzMgotICAgICAgICBibG8gICAgICAgICBsZXNzX3RoYW5fMzJfbGVmdAotCi0gICAgICAgIC8qCi0gICAgICAgICAqIFdlIHByZWxvYWQgYSBjYWNoZS1saW5lIHVwIHRvIDY0IGJ5dGVzIGFoZWFkLiBPbiB0aGUgOTI2LCB0aGlzIHdpbGwKLSAgICAgICAgICogc3RhbGwgb25seSB1bnRpbCB0aGUgcmVxdWVzdGVkIHdvcmxkIGlzIGZldGNoZWQsIGJ1dCB0aGUgbGluZWZpbGwKLSAgICAgICAgICogY29udGludWVzIGluIHRoZSB0aGUgYmFja2dyb3VuZC4KLSAgICAgICAgICogV2hpbGUgdGhlIGxpbmVmaWxsIGlzIGdvaW5nLCB3ZSB3cml0ZSBvdXIgcHJldmlvdXMgY2FjaGUtbGluZQotICAgICAgICAgKiBpbnRvIHRoZSB3cml0ZS1idWZmZXIgKHdoaWNoIHNob3VsZCBoYXZlIHNvbWUgZnJlZSBzcGFjZSkuCi0gICAgICAgICAqIFdoZW4gdGhlIGxpbmVmaWxsIGlzIGRvbmUsIHRoZSB3cml0ZWJ1ZmZlciB3aWxsCi0gICAgICAgICAqIHN0YXJ0IGR1bXBpbmcgaXRzIGNvbnRlbnQgaW50byBtZW1vcnkKLSAgICAgICAgICoKLSAgICAgICAgICogV2hpbGUgYWxsIHRoaXMgaXMgZ29pbmcsIHdlIHRoZW4gbG9hZCBhIGZ1bGwgY2FjaGUgbGluZSBpbnRvCi0gICAgICAgICAqIDggcmVnaXN0ZXJzLCB0aGlzIGNhY2hlIGxpbmUgc2hvdWxkIGJlIGluIHRoZSBjYWNoZSBieSBub3cKLSAgICAgICAgICogKG9yIHBhcnRseSBpbiB0aGUgY2FjaGUpLgotICAgICAgICAgKgotICAgICAgICAgKiBUaGlzIGNvZGUgc2hvdWxkIHdvcmsgd2VsbCByZWdhcmRsZXNzIG9mIHRoZSBzb3VyY2UvZGVzdCBhbGlnbm1lbnQuCi0gICAgICAgICAqCi0gICAgICAgICAqLwotCi0gICAgICAgIC8vIEFsaWduIHRoZSBwcmVsb2FkIHJlZ2lzdGVyIHRvIGEgY2FjaGUtbGluZSBiZWNhdXNlIHRoZSBjcHUgZG9lcwotICAgICAgICAvLyAiY3JpdGljYWwgd29yZCBmaXJzdCIgKHRoZSBmaXJzdCB3b3JkIHJlcXVlc3RlZCBpcyBsb2FkZWQgZmlyc3QpLgotICAgICAgICBiaWMgICAgICAgICByMTIsIHIxLCAjMHgxRgotICAgICAgICBhZGQgICAgICAgICByMTIsIHIxMiwgIzY0Ci0KLTE6ICAgICAgbGRtaWEgICAgICAgcjEhLCB7IHI0LXIxMSB9Ci0gICAgICAgIHBsZCAgICAgICAgIFtyMTIsICM2NF0KLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjMzIKLQotICAgICAgICAvLyBOT1RFOiBpZiByMTIgaXMgbW9yZSB0aGFuIDY0IGFoZWFkIG9mIHIxLCB0aGUgZm9sbG93aW5nIGxkcmhpCi0gICAgICAgIC8vIGZvciBBUk05IHByZWxvYWQgd2lsbCBub3QgYmUgc2FmZWx5IGd1YXJkZWQgYnkgdGhlIHByZWNlZGluZyBzdWJzLgotICAgICAgICAvLyBXaGVuIGl0IGlzIHNhZmVseSBndWFyZGVkIHRoZSBvbmx5IHBvc3NpYmlsaXR5IHRvIGhhdmUgU0lHU0VHViBoZXJlCi0gICAgICAgIC8vIGlzIGJlY2F1c2UgdGhlIGNhbGxlciBvdmVyc3RhdGVzIHRoZSBsZW5ndGguCi0gICAgICAgIGxkcmhpICAgICAgIHIzLCBbcjEyXSwgIzMyICAgICAgLyogY2hlYXAgQVJNOSBwcmVsb2FkICovCi0gICAgICAgIHN0bWlhICAgICAgIHIwISwgeyByNC1yMTEgfQotCQliaHMgICAgICAgICAxYgotCi0gICAgICAgIGFkZCAgICAgICAgIHIyLCByMiwgIzMyCi0KLQotCi0KLWxlc3NfdGhhbl8zMl9sZWZ0OgotCQkvKgotCQkgKiBsZXNzIHRoYW4gMzIgYnl0ZXMgbGVmdCBhdCB0aGlzIHBvaW50IChsZW5ndGggaW4gcjIpCi0JCSAqLwotCi0JCS8qIHNraXAgYWxsIHRoaXMgaWYgdGhlcmUgaXMgbm90aGluZyB0byBkbywgd2hpY2ggc2hvdWxkCi0JCSAqIGJlIGEgY29tbW9uIGNhc2UgKGlmIG5vdCBleGVjdXRlZCB0aGUgY29kZSBiZWxvdyB0YWtlcwotCQkgKiBhYm91dCAxNiBjeWNsZXMpCi0JCSAqLwotCQl0c3QJCQlyMiwgIzB4MUYKLQkJYmVxCQkJMWYKLQotCQkvKiBjb25kaXRpb25uYWx5IGNvcGllcyAwIHRvIDMxIGJ5dGVzICovCi0JCW1vdnMJCXIxMiwgcjIsIGxzbCAjMjgKLQkJbGRtY3NpYQkJcjEhLCB7cjQsIHI1LCByNiwgcjd9CS8qIDE2IGJ5dGVzICovCi0JCWxkbW1paWEJCXIxISwge3I4LCByOX0JCQkvKiAgOCBieXRlcyAqLwotCQlzdG1jc2lhCQlyMCEsIHtyNCwgcjUsIHI2LCByN30KLQkJc3RtbWlpYQkJcjAhLCB7cjgsIHI5fQotCQltb3ZzCQlyMTIsIHIyLCBsc2wgIzMwCi0JCWxkcmNzCQlyMywgW3IxXSwgIzQJCQkvKiAgNCBieXRlcyAqLwotCQlsZHJtaWgJCXI0LCBbcjFdLCAjMgkJCS8qICAyIGJ5dGVzICovCi0JCXN0cmNzCQlyMywgW3IwXSwgIzQKLQkJc3RybWloCQlyNCwgW3IwXSwgIzIKLQkJdHN0ICAgICAgICAgcjIsICMweDEKLQkJbGRybmViCQlyMywgW3IxXQkJCQkvKiAgbGFzdCBieXRlICAqLwotCQlzdHJuZWIJCXIzLCBbcjBdCi0KLQkJLyogd2UncmUgZG9uZSEgcmVzdG9yZSBldmVyeXRoaW5nIGFuZCByZXR1cm4gKi8KLTE6CQlsZG1mZAkJc3AhLCB7cjUtcjExfQotCQlsZG1mZAkJc3AhLCB7cjAsIHI0LCBscn0KLQkJYngJCQlscgotCi0JCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotbm9uX2NvbmdydWVudDoKLQkJLyoKLQkJICogaGVyZSBzb3VyY2UgaXMgYWxpZ25lZCB0byA0IGJ5dGVzCi0JCSAqIGJ1dCBkZXN0aW5hdGlvbiBpcyBub3QuCi0JCSAqCi0JCSAqIGluIHRoZSBjb2RlIGJlbG93IHIyIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZAotCQkgKiAodGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIGlzIGFsd2F5cyBzbWFsbGVyLCBiZWNhdXNlIHdlIGhhdmUKLQkJICogcGFydGlhbCB3b3JkcyBpbiB0aGUgc2hpZnQgcXVldWUpCi0JCSAqLwotCQljbXAJCQlyMiwgIzQKLQkJYmxvCQkJY29weV9sYXN0XzNfYW5kX3JldHVybgotCi0gICAgICAgIC8qIFVzZSBwb3N0LWluY3JpbWVudCBtb2RlIGZvciBzdG0gdG8gc3BpbGwgcjUtcjExIHRvIHJlc2VydmVkIHN0YWNrCi0gICAgICAgICAqIGZyYW1lLiBEb24ndCB1cGRhdGUgc3AuCi0gICAgICAgICAqLwotICAgICAgICBzdG1lYQkJc3AsIHtyNS1yMTF9Ci0KLQkJLyogY29tcHV0ZSBzaGlmdHMgbmVlZGVkIHRvIGFsaWduIHNyYyB0byBkZXN0ICovCi0JCXJzYgkJCXI1LCByMCwgIzAKLQkJYW5kCQkJcjUsIHI1LCAjMwkJCS8qIHI1ID0gIyBieXRlcyBpbiBwYXJ0aWFsIHdvcmRzICovCi0JCW1vdgkJCXIxMiwgcjUsIGxzbCAjMwkJLyogcjEyID0gcmlnaHQgKi8KLQkJcnNiCQkJbHIsIHIxMiwgIzMyCQkvKiBsciA9IGxlZnQgICovCi0KLQkJLyogcmVhZCB0aGUgZmlyc3Qgd29yZCAqLwotCQlsZHIJCQlyMywgW3IxXSwgIzQKLQkJc3ViCQkJcjIsIHIyLCAjNAotCi0JCS8qIHdyaXRlIGEgcGFydGlhbCB3b3JkICgwIHRvIDMgYnl0ZXMpLCBzdWNoIHRoYXQgZGVzdGluYXRpb24KLQkJICogYmVjb21lcyBhbGlnbmVkIHRvIDMyIGJpdHMgKHI1ID0gbmIgb2Ygd29yZHMgdG8gY29weSBmb3IgYWxpZ25tZW50KQotCQkgKi8KLQkJbW92cwkJcjUsIHI1LCBsc2wgIzMxCi0JCXN0cm1pYgkJcjMsIFtyMF0sICMxCi0JCW1vdm1pCQlyMywgcjMsIGxzciAjOAotCQlzdHJjc2IJCXIzLCBbcjBdLCAjMQotCQltb3ZjcwkJcjMsIHIzLCBsc3IgIzgKLQkJc3RyY3NiCQlyMywgW3IwXSwgIzEKLQkJbW92Y3MJCXIzLCByMywgbHNyICM4Ci0KLQkJY21wCQkJcjIsICM0Ci0JCWJsbwkJCXBhcnRpYWxfd29yZF90YWlsCi0KLQkJLyogQWxpZ24gZGVzdGluYXRpb24gdG8gMzIgYnl0ZXMgKGNhY2hlIGxpbmUgYm91bmRhcnkpICovCi0xOgkJdHN0CQkJcjAsICMweDFjCi0JCWJlcQkJCTJmCi0JCWxkcgkJCXI1LCBbcjFdLCAjNAotCQlzdWIgICAgICAgICByMiwgcjIsICM0Ci0JCW9ycgkJCXI0LCByMywgcjUsCQlsc2wgbHIKLQkJbW92CQkJcjMsIHI1LAkJCWxzciByMTIKLQkJc3RyCQkJcjQsIFtyMF0sICM0Ci0gICAgICAgIGNtcCAgICAgICAgIHIyLCAjNAotCQliaHMJCQkxYgotCQlibG8JCQlwYXJ0aWFsX3dvcmRfdGFpbAotCi0JCS8qIGNvcHkgMzIgYnl0ZXMgYXQgYSB0aW1lICovCi0yOgkJc3VicwkJcjIsIHIyLCAjMzIKLQkJYmxvCQkJbGVzc190aGFuX3RoaXJ0eXR3bwotCi0JCS8qIFVzZSBpbW1lZGlhdGUgbW9kZSBmb3IgdGhlIHNoaWZ0cywgYmVjYXVzZSB0aGVyZSBpcyBhbiBleHRyYSBjeWNsZQotCQkgKiBmb3IgcmVnaXN0ZXIgc2hpZnRzLCB3aGljaCBjb3VsZCBhY2NvdW50IGZvciB1cCB0byA1MCUgb2YKLQkJICogcGVyZm9ybWFuY2UgaGl0LgotCQkgKi8KLQotICAgICAgICBjbXAJCQlyMTIsICMyNAotCQliZXEJCQlsb29wMjQKLQkJY21wCQkJcjEyLCAjOAotCQliZXEJCQlsb29wOAotCi1sb29wMTY6Ci0gICAgICAgIGxkciAgICAgICAgIHIxMiwgW3IxXSwgIzQKLTE6ICAgICAgbW92ICAgICAgICAgcjQsIHIxMgotCQlsZG1pYQkJcjEhLCB7ICAgcjUscjYscjcsICByOCxyOSxyMTAscjExfQotICAgICAgICBwbGQgICAgICAgICBbcjEsICM2NF0KLSAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjMzIKLSAgICAgICAgbGRyaHMgICAgICAgcjEyLCBbcjFdLCAjNAotCQlvcnIJCQlyMywgcjMsIHI0LAkJbHNsICMxNgotCQltb3YJCQlyNCwgcjQsCQkJbHNyICMxNgotCQlvcnIJCQlyNCwgcjQsIHI1LAkJbHNsICMxNgotCQltb3YJCQlyNSwgcjUsCQkJbHNyICMxNgotCQlvcnIJCQlyNSwgcjUsIHI2LAkJbHNsICMxNgotCQltb3YJCQlyNiwgcjYsCQkJbHNyICMxNgotCQlvcnIJCQlyNiwgcjYsIHI3LAkJbHNsICMxNgotCQltb3YJCQlyNywgcjcsCQkJbHNyICMxNgotCQlvcnIJCQlyNywgcjcsIHI4LAkJbHNsICMxNgotCQltb3YJCQlyOCwgcjgsCQkJbHNyICMxNgotCQlvcnIJCQlyOCwgcjgsIHI5LAkJbHNsICMxNgotCQltb3YJCQlyOSwgcjksCQkJbHNyICMxNgotCQlvcnIJCQlyOSwgcjksIHIxMCwJbHNsICMxNgotCQltb3YJCQlyMTAsIHIxMCwJCWxzciAjMTYKLQkJb3JyCQkJcjEwLCByMTAsIHIxMSwJbHNsICMxNgotCQlzdG1pYQkJcjAhLCB7cjMscjQscjUscjYsIHI3LHI4LHI5LHIxMH0KLQkJbW92CQkJcjMsIHIxMSwJCWxzciAjMTYKLQkJYmhzCQkJMWIKLQkJYgkJCWxlc3NfdGhhbl90aGlydHl0d28KLQotbG9vcDg6Ci0gICAgICAgIGxkciAgICAgICAgIHIxMiwgW3IxXSwgIzQKLTE6ICAgICAgbW92ICAgICAgICAgcjQsIHIxMgotCQlsZG1pYQkJcjEhLCB7ICAgcjUscjYscjcsICByOCxyOSxyMTAscjExfQotICAgICAgICBwbGQgICAgICAgICBbcjEsICM2NF0KLQkJc3VicwkJcjIsIHIyLCAjMzIKLSAgICAgICAgbGRyaHMgICAgICAgcjEyLCBbcjFdLCAjNAotCQlvcnIJCQlyMywgcjMsIHI0LAkJbHNsICMyNAotCQltb3YJCQlyNCwgcjQsCQkJbHNyICM4Ci0JCW9ycgkJCXI0LCByNCwgcjUsCQlsc2wgIzI0Ci0JCW1vdgkJCXI1LCByNSwJCQlsc3IgIzgKLQkJb3JyCQkJcjUsIHI1LCByNiwJCWxzbCAjMjQKLQkJbW92CQkJcjYsIHI2LAkJCWxzciAjOAotCQlvcnIJCQlyNiwgcjYsIHI3LAkJbHNsICMyNAotCQltb3YJCQlyNywgcjcsCQkJbHNyICM4Ci0JCW9ycgkJCXI3LCByNywgcjgsCQlsc2wgIzI0Ci0JCW1vdgkJCXI4LCByOCwJCQlsc3IgIzgKLQkJb3JyCQkJcjgsIHI4LCByOSwJCWxzbCAjMjQKLQkJbW92CQkJcjksIHI5LAkJCWxzciAjOAotCQlvcnIJCQlyOSwgcjksIHIxMCwJbHNsICMyNAotCQltb3YJCQlyMTAsIHIxMCwJCWxzciAjOAotCQlvcnIJCQlyMTAsIHIxMCwgcjExLAlsc2wgIzI0Ci0JCXN0bWlhCQlyMCEsIHtyMyxyNCxyNSxyNiwgcjcscjgscjkscjEwfQotCQltb3YJCQlyMywgcjExLAkJbHNyICM4Ci0JCWJocwkJCTFiCi0JCWIJCQlsZXNzX3RoYW5fdGhpcnR5dHdvCi0KLWxvb3AyNDoKLSAgICAgICAgbGRyICAgICAgICAgcjEyLCBbcjFdLCAjNAotMTogICAgICBtb3YgICAgICAgICByNCwgcjEyCi0JCWxkbWlhCQlyMSEsIHsgICByNSxyNixyNywgIHI4LHI5LHIxMCxyMTF9Ci0gICAgICAgIHBsZCAgICAgICAgIFtyMSwgIzY0XQotCQlzdWJzCQlyMiwgcjIsICMzMgotICAgICAgICBsZHJocyAgICAgICByMTIsIFtyMV0sICM0Ci0JCW9ycgkJCXIzLCByMywgcjQsCQlsc2wgIzgKLQkJbW92CQkJcjQsIHI0LAkJCWxzciAjMjQKLQkJb3JyCQkJcjQsIHI0LCByNSwJCWxzbCAjOAotCQltb3YJCQlyNSwgcjUsCQkJbHNyICMyNAotCQlvcnIJCQlyNSwgcjUsIHI2LAkJbHNsICM4Ci0JCW1vdgkJCXI2LCByNiwJCQlsc3IgIzI0Ci0JCW9ycgkJCXI2LCByNiwgcjcsCQlsc2wgIzgKLQkJbW92CQkJcjcsIHI3LAkJCWxzciAjMjQKLQkJb3JyCQkJcjcsIHI3LCByOCwJCWxzbCAjOAotCQltb3YJCQlyOCwgcjgsCQkJbHNyICMyNAotCQlvcnIJCQlyOCwgcjgsIHI5LAkJbHNsICM4Ci0JCW1vdgkJCXI5LCByOSwJCQlsc3IgIzI0Ci0JCW9ycgkJCXI5LCByOSwgcjEwLAlsc2wgIzgKLQkJbW92CQkJcjEwLCByMTAsCQlsc3IgIzI0Ci0JCW9ycgkJCXIxMCwgcjEwLCByMTEsCWxzbCAjOAotCQlzdG1pYQkJcjAhLCB7cjMscjQscjUscjYsIHI3LHI4LHI5LHIxMH0KLQkJbW92CQkJcjMsIHIxMSwJCWxzciAjMjQKLQkJYmhzCQkJMWIKLQotCi1sZXNzX3RoYW5fdGhpcnR5dHdvOgotCQkvKiBjb3B5IHRoZSBsYXN0IDAgdG8gMzEgYnl0ZXMgb2YgdGhlIHNvdXJjZSAqLwotCQlyc2IJCQlyMTIsIGxyLCAjMzIJCS8qIHdlIGNvcnJ1cHRlZCByMTIsIHJlY29tcHV0ZSBpdCAgKi8KLQkJYWRkCQkJcjIsIHIyLCAjMzIKLQkJY21wCQkJcjIsICM0Ci0JCWJsbwkJCXBhcnRpYWxfd29yZF90YWlsCi0KLTE6CQlsZHIJCQlyNSwgW3IxXSwgIzQKLQkJc3ViICAgICAgICAgcjIsIHIyLCAjNAotCQlvcnIJCQlyNCwgcjMsIHI1LAkJbHNsIGxyCi0JCW1vdgkJCXIzLAlyNSwJCQlsc3IgcjEyCi0JCXN0cgkJCXI0LCBbcjBdLCAjNAotICAgICAgICBjbXAgICAgICAgICByMiwgIzQKLQkJYmhzCQkJMWIKLQotcGFydGlhbF93b3JkX3RhaWw6Ci0JCS8qIHdlIGhhdmUgYSBwYXJ0aWFsIHdvcmQgaW4gdGhlIGlucHV0IGJ1ZmZlciAqLwotCQltb3ZzCQlyNSwgbHIsIGxzbCAjKDMxLTMpCi0JCXN0cm1pYgkJcjMsIFtyMF0sICMxCi0JCW1vdm1pCQlyMywgcjMsIGxzciAjOAotCQlzdHJjc2IJCXIzLCBbcjBdLCAjMQotCQltb3ZjcwkJcjMsIHIzLCBsc3IgIzgKLQkJc3RyY3NiCQlyMywgW3IwXSwgIzEKLQotCQkvKiBSZWZpbGwgc3BpbGxlZCByZWdpc3RlcnMgZnJvbSB0aGUgc3RhY2suIERvbid0IHVwZGF0ZSBzcC4gKi8KLQkJbGRtZmQJCXNwLCB7cjUtcjExfQotCi1jb3B5X2xhc3RfM19hbmRfcmV0dXJuOgotCQltb3ZzCQlyMiwgcjIsIGxzbCAjMzEJLyogY29weSByZW1haW5pbmcgMCwgMSwgMiBvciAzIGJ5dGVzICovCi0JCWxkcm1pYgkJcjIsIFtyMV0sICMxCi0JCWxkcmNzYgkJcjMsIFtyMV0sICMxCi0JCWxkcmNzYgkJcjEyLFtyMV0KLQkJc3RybWliCQlyMiwgW3IwXSwgIzEKLQkJc3RyY3NiCQlyMywgW3IwXSwgIzEKLQkJc3RyY3NiCQlyMTIsW3IwXQotCi0gICAgICAgIC8qIHdlJ3JlIGRvbmUhIHJlc3RvcmUgc3AgYW5kIHNwaWxsZWQgcmVnaXN0ZXJzIGFuZCByZXR1cm4gKi8KLSAgICAgICAgYWRkICAgICAgICAgc3AsICBzcCwgIzI4Ci0JCWxkbWZkCQlzcCEsIHtyMCwgcjQsIGxyfQotCQlieAkJCWxyCi1FTkQobWVtY3B5KQotCi0KLSNlbmRpZiAgICAvKiBfX0FSTV9BUkNIX18gPCA3ICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2Jpb25pYy9tZW1jcHkuYTkuUyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5hOS5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTk3MDFkLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5hOS5TCisrKyAvZGV2L251bGwKQEAgLTEsNjE0ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgMjAxMywgTGluYXJvIExpbWl0ZWQKLSAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLSAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gICBhcmUgbWV0OgotCi0gICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0KLSAgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0KLSAgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBMaW5hcm8gTGltaXRlZCBub3IgdGhlIG5hbWVzIG9mIGl0cwotICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0KLSAgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAgICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gICBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAgIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gICBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gICBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gICBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAgIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICAgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICAgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gICBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0gKi8KLQotLyoKLSAgIFRoaXMgbWVtY3B5IHJvdXRpbmUgaXMgb3B0aW1pc2VkIGZvciBDb3J0ZXgtQTE1IGNvcmVzIGFuZCB0YWtlcyBhZHZhbnRhZ2UKLSAgIG9mIFZGUCBvciBORU9OIHdoZW4gYnVpbHQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZmxhZ3MuCi0KLSAgIEFzc3VtcHRpb25zOgotCi0gICAgQVJNdjYgKEFSTXY3LWEgaWYgdXNpbmcgTmVvbikKLSAgICBBUk0gc3RhdGUKLSAgICBVbmFsaWduZWQgYWNjZXNzZXMKLSAgICBMRFJEL1NUUkQgc3VwcG9ydCB1bmFsaWduZWQgd29yZCBhY2Nlc3NlcwotCi0gKi8KLQotI2luY2x1ZGUgPG1hY2hpbmUvY3B1LWZlYXR1cmVzLmg+Ci0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLQkuc3ludGF4IHVuaWZpZWQKLQkvKiBUaGlzIGltcGxlbWVudGF0aW9uIHJlcXVpcmVzIEFSTSBzdGF0ZS4gICovCi0JLmFybQotCi0jaWZkZWYgX19BUk1fTkVPTl9fCi0KLQkuZnB1CW5lb24KLQkuYXJjaAlhcm12Ny1hCi0jIGRlZmluZSBGUkFNRV9TSVpFCTQKLSMgZGVmaW5lIFVTRV9WRlAKLSMgZGVmaW5lIFVTRV9ORU9OCi0KLSNlbGlmICFkZWZpbmVkIChfX1NPRlRGUF9fKQotCi0JLmFyY2gJYXJtdjYKLQkuZnB1CXZmcHYyCi0jIGRlZmluZSBGUkFNRV9TSVpFCTMyCi0jIGRlZmluZSBVU0VfVkZQCi0KLSNlbHNlCi0JLmFyY2gJYXJtdjYKLSMgZGVmaW5lIEZSQU1FX1NJWkUgICAgMzIKLQotI2VuZGlmCi0KLS8qIE9sZCB2ZXJzaW9ucyBvZiBHQVMgaW5jb3JyZWN0bHkgaW1wbGVtZW50IHRoZSBORU9OIGFsaWduIHNlbWFudGljcy4gICovCi0jaWZkZWYgQlJPS0VOX0FTTV9ORU9OX0FMSUdOCi0jZGVmaW5lIEFMSUdOKGFkZHIsIGFsaWduKSBhZGRyLDphbGlnbgotI2Vsc2UKLSNkZWZpbmUgQUxJR04oYWRkciwgYWxpZ24pIGFkZHI6YWxpZ24KLSNlbmRpZgotCi0jZGVmaW5lIFBDX09GRlNFVAk4CS8qIFBDIHBpcGVsaW5lIGNvbXBlbnNhdGlvbi4gICovCi0jZGVmaW5lIElOU05fU0laRQk0Ci0KLS8qIENhbGwgcGFyYW1ldGVycy4gICovCi0jZGVmaW5lIGRzdGluCXIwCi0jZGVmaW5lIHNyYwlyMQotI2RlZmluZSBjb3VudAlyMgotCi0vKiBMb2NhbHMuICAqLwotI2RlZmluZSB0bXAxCXIzCi0jZGVmaW5lIGRzdAlpcAotI2RlZmluZSB0bXAyCXIxMAotCi0jaWZuZGVmIFVTRV9ORU9OCi0vKiBGb3IgYnVsayBjb3BpZXMgdXNpbmcgR1AgcmVnaXN0ZXJzLiAgKi8KLSNkZWZpbmUJQV9sCXIyCQkvKiBDYWxsLWNsb2JiZXJlZC4gICovCi0jZGVmaW5lCUFfaAlyMwkJLyogQ2FsbC1jbG9iYmVyZWQuICAqLwotI2RlZmluZQlCX2wJcjQKLSNkZWZpbmUJQl9oCXI1Ci0jZGVmaW5lCUNfbAlyNgotI2RlZmluZQlDX2gJcjcKLSNkZWZpbmUJRF9sCXI4Ci0jZGVmaW5lCURfaAlyOQotI2VuZGlmCi0KLS8qIE51bWJlciBvZiBsaW5lcyBhaGVhZCB0byBwcmUtZmV0Y2ggZGF0YS4gIElmIHlvdSBjaGFuZ2UgdGhpcyB0aGUgY29kZQotICAgYmVsb3cgd2lsbCBuZWVkIGFkanVzdG1lbnQgdG8gY29tcGVuc2F0ZS4gICovCi0KLSNkZWZpbmUgcHJlZmV0Y2hfbGluZXMJNQotCi0jaWZkZWYgVVNFX1ZGUAotCS5tYWNybwljcHlfbGluZV92ZnAgdnJlZywgYmFzZQotCXZzdHIJXHZyZWcsIFtkc3QsICNcYmFzZV0KLQl2bGRyCVx2cmVnLCBbc3JjLCAjXGJhc2VdCi0JdnN0cglkMCwgW2RzdCwgI1xiYXNlICsgOF0KLQl2bGRyCWQwLCBbc3JjLCAjXGJhc2UgKyA4XQotCXZzdHIJZDEsIFtkc3QsICNcYmFzZSArIDE2XQotCXZsZHIJZDEsIFtzcmMsICNcYmFzZSArIDE2XQotCXZzdHIJZDIsIFtkc3QsICNcYmFzZSArIDI0XQotCXZsZHIJZDIsIFtzcmMsICNcYmFzZSArIDI0XQotCXZzdHIJXHZyZWcsIFtkc3QsICNcYmFzZSArIDMyXQotCXZsZHIJXHZyZWcsIFtzcmMsICNcYmFzZSArIHByZWZldGNoX2xpbmVzICogNjQgLSAzMl0KLQl2c3RyCWQwLCBbZHN0LCAjXGJhc2UgKyA0MF0KLQl2bGRyCWQwLCBbc3JjLCAjXGJhc2UgKyA0MF0KLQl2c3RyCWQxLCBbZHN0LCAjXGJhc2UgKyA0OF0KLQl2bGRyCWQxLCBbc3JjLCAjXGJhc2UgKyA0OF0KLQl2c3RyCWQyLCBbZHN0LCAjXGJhc2UgKyA1Nl0KLQl2bGRyCWQyLCBbc3JjLCAjXGJhc2UgKyA1Nl0KLQkuZW5kbQotCi0JLm1hY3JvCWNweV90YWlsX3ZmcCB2cmVnLCBiYXNlCi0JdnN0cglcdnJlZywgW2RzdCwgI1xiYXNlXQotCXZsZHIJXHZyZWcsIFtzcmMsICNcYmFzZV0KLQl2c3RyCWQwLCBbZHN0LCAjXGJhc2UgKyA4XQotCXZsZHIJZDAsIFtzcmMsICNcYmFzZSArIDhdCi0JdnN0cglkMSwgW2RzdCwgI1xiYXNlICsgMTZdCi0JdmxkcglkMSwgW3NyYywgI1xiYXNlICsgMTZdCi0JdnN0cglkMiwgW2RzdCwgI1xiYXNlICsgMjRdCi0JdmxkcglkMiwgW3NyYywgI1xiYXNlICsgMjRdCi0JdnN0cglcdnJlZywgW2RzdCwgI1xiYXNlICsgMzJdCi0JdnN0cglkMCwgW2RzdCwgI1xiYXNlICsgNDBdCi0JdmxkcglkMCwgW3NyYywgI1xiYXNlICsgNDBdCi0JdnN0cglkMSwgW2RzdCwgI1xiYXNlICsgNDhdCi0JdmxkcglkMSwgW3NyYywgI1xiYXNlICsgNDhdCi0JdnN0cglkMiwgW2RzdCwgI1xiYXNlICsgNTZdCi0JdmxkcglkMiwgW3NyYywgI1xiYXNlICsgNTZdCi0JLmVuZG0KLSNlbmRpZgotCi0JLnAyYWxpZ24gNgotRU5UUlkobWVtY3B5KQotCi0JbW92CWRzdCwgZHN0aW4JLyogUHJlc2VydmUgZHN0aW4sIHdlIG5lZWQgdG8gcmV0dXJuIGl0LiAgKi8KLQljbXAJY291bnQsICM2NAotCWJnZQkuTGNweV9ub3Rfc2hvcnQKLQkvKiBEZWFsIHdpdGggc21hbGwgY29waWVzIHF1aWNrbHkgYnkgZHJvcHBpbmcgc3RyYWlnaHQgaW50byB0aGUKLQkgICBleGl0IGJsb2NrLiAgKi8KLQotLkx0YWlsNjN1bmFsaWduZWQ6Ci0jaWZkZWYgVVNFX05FT04KLQlhbmQJdG1wMSwgY291bnQsICMweDM4Ci0JcnNiCXRtcDEsIHRtcDEsICMoNTYgLSBQQ19PRkZTRVQgKyBJTlNOX1NJWkUpCi0JYWRkCXBjLCBwYywgdG1wMQotCXZsZDEuOAl7ZDB9LCBbc3JjXSEJLyogMTQgd29yZHMgdG8gZ28uICAqLwotCXZzdDEuOAl7ZDB9LCBbZHN0XSEKLQl2bGQxLjgJe2QwfSwgW3NyY10hCS8qIDEyIHdvcmRzIHRvIGdvLiAgKi8KLQl2c3QxLjgJe2QwfSwgW2RzdF0hCi0JdmxkMS44CXtkMH0sIFtzcmNdIQkvKiAxMCB3b3JkcyB0byBnby4gICovCi0JdnN0MS44CXtkMH0sIFtkc3RdIQotCXZsZDEuOAl7ZDB9LCBbc3JjXSEJLyogOCB3b3JkcyB0byBnby4gICovCi0JdnN0MS44CXtkMH0sIFtkc3RdIQotCXZsZDEuOAl7ZDB9LCBbc3JjXSEJLyogNiB3b3JkcyB0byBnby4gICovCi0JdnN0MS44CXtkMH0sIFtkc3RdIQotCXZsZDEuOAl7ZDB9LCBbc3JjXSEJLyogNCB3b3JkcyB0byBnby4gICovCi0JdnN0MS44CXtkMH0sIFtkc3RdIQotCXZsZDEuOAl7ZDB9LCBbc3JjXSEJLyogMiB3b3JkcyB0byBnby4gICovCi0JdnN0MS44CXtkMH0sIFtkc3RdIQotCi0JdHN0CWNvdW50LCAjNAotCWxkcm5lCXRtcDEsIFtzcmNdLCAjNAotCXN0cm5lCXRtcDEsIFtkc3RdLCAjNAotI2Vsc2UKLQkvKiBDb3B5IHVwIHRvIDE1IGZ1bGwgd29yZHMgb2YgZGF0YS4gIE1heSBub3QgYmUgYWxpZ25lZC4gICovCi0JLyogQ2Fubm90IHVzZSBWRlAgZm9yIHVuYWxpZ25lZCBkYXRhLiAgKi8KLQlhbmQJdG1wMSwgY291bnQsICMweDNjCi0JYWRkCWRzdCwgZHN0LCB0bXAxCi0JYWRkCXNyYywgc3JjLCB0bXAxCi0JcnNiCXRtcDEsIHRtcDEsICMoNjAgLSBQQ19PRkZTRVQvMiArIElOU05fU0laRS8yKQotCS8qIEp1bXAgZGlyZWN0bHkgaW50byB0aGUgc2VxdWVuY2UgYmVsb3cgYXQgdGhlIGNvcnJlY3Qgb2Zmc2V0LiAgKi8KLQlhZGQJcGMsIHBjLCB0bXAxLCBsc2wgIzEKLQotCWxkcgl0bXAxLCBbc3JjLCAjLTYwXQkvKiAxNSB3b3JkcyB0byBnby4gICovCi0Jc3RyCXRtcDEsIFtkc3QsICMtNjBdCi0KLQlsZHIJdG1wMSwgW3NyYywgIy01Nl0JLyogMTQgd29yZHMgdG8gZ28uICAqLwotCXN0cgl0bXAxLCBbZHN0LCAjLTU2XQotCWxkcgl0bXAxLCBbc3JjLCAjLTUyXQotCXN0cgl0bXAxLCBbZHN0LCAjLTUyXQotCi0JbGRyCXRtcDEsIFtzcmMsICMtNDhdCS8qIDEyIHdvcmRzIHRvIGdvLiAgKi8KLQlzdHIJdG1wMSwgW2RzdCwgIy00OF0KLQlsZHIJdG1wMSwgW3NyYywgIy00NF0KLQlzdHIJdG1wMSwgW2RzdCwgIy00NF0KLQotCWxkcgl0bXAxLCBbc3JjLCAjLTQwXQkvKiAxMCB3b3JkcyB0byBnby4gICovCi0Jc3RyCXRtcDEsIFtkc3QsICMtNDBdCi0JbGRyCXRtcDEsIFtzcmMsICMtMzZdCi0Jc3RyCXRtcDEsIFtkc3QsICMtMzZdCi0KLQlsZHIJdG1wMSwgW3NyYywgIy0zMl0JLyogOCB3b3JkcyB0byBnby4gICovCi0Jc3RyCXRtcDEsIFtkc3QsICMtMzJdCi0JbGRyCXRtcDEsIFtzcmMsICMtMjhdCi0Jc3RyCXRtcDEsIFtkc3QsICMtMjhdCi0KLQlsZHIJdG1wMSwgW3NyYywgIy0yNF0JLyogNiB3b3JkcyB0byBnby4gICovCi0Jc3RyCXRtcDEsIFtkc3QsICMtMjRdCi0JbGRyCXRtcDEsIFtzcmMsICMtMjBdCi0Jc3RyCXRtcDEsIFtkc3QsICMtMjBdCi0KLQlsZHIJdG1wMSwgW3NyYywgIy0xNl0JLyogNCB3b3JkcyB0byBnby4gICovCi0Jc3RyCXRtcDEsIFtkc3QsICMtMTZdCi0JbGRyCXRtcDEsIFtzcmMsICMtMTJdCi0Jc3RyCXRtcDEsIFtkc3QsICMtMTJdCi0KLQlsZHIJdG1wMSwgW3NyYywgIy04XQkvKiAyIHdvcmRzIHRvIGdvLiAgKi8KLQlzdHIJdG1wMSwgW2RzdCwgIy04XQotCWxkcgl0bXAxLCBbc3JjLCAjLTRdCi0Jc3RyCXRtcDEsIFtkc3QsICMtNF0KLSNlbmRpZgotCi0JbHNscwljb3VudCwgY291bnQsICMzMQotCWxkcmhjcwl0bXAxLCBbc3JjXSwgIzIKLQlsZHJibmUJc3JjLCBbc3JjXQkJLyogU3JjIGlzIGRlYWQsIHVzZSBhcyBhIHNjcmF0Y2guICAqLwotCXN0cmhjcwl0bXAxLCBbZHN0XSwgIzIKLQlzdHJibmUJc3JjLCBbZHN0XQotCWJ4CWxyCi0KLS5MY3B5X25vdF9zaG9ydDoKLQkvKiBBdCBsZWFzdCA2NCBieXRlcyB0byBjb3B5LCBidXQgZG9uJ3Qga25vdyB0aGUgYWxpZ25tZW50IHlldC4gICovCi0Jc3RyCXRtcDIsIFtzcCwgIy1GUkFNRV9TSVpFXSEKLQlhbmQJdG1wMiwgc3JjLCAjNwotCWFuZAl0bXAxLCBkc3QsICM3Ci0JY21wCXRtcDEsIHRtcDIKLQlibmUJLkxjcHlfbm90YWxpZ25lZAotCi0jaWZkZWYgVVNFX1ZGUAotCS8qIE1hZ2ljIGR1c3QgYWxlcnQhICBGb3JjZSBWRlAgb24gQ29ydGV4LUE5LiAgRXhwZXJpbWVudHMgc2hvdwotCSAgIHRoYXQgdGhlIEZQIHBpcGVsaW5lIGlzIG11Y2ggYmV0dGVyIGF0IHN0cmVhbWluZyBsb2FkcyBhbmQKLQkgICBzdG9yZXMuICBUaGlzIGlzIG91dHNpZGUgdGhlIGNyaXRpY2FsIGxvb3AuICAqLwotCXZtb3YuZjMyCXMwLCBzMAotI2VuZGlmCi0KLQkvKiBTUkMgYW5kIERTVCBoYXZlIHRoZSBzYW1lIG11dHVhbCAzMi1iaXQgYWxpZ25tZW50LCBidXQgd2UgbWF5Ci0JICAgc3RpbGwgbmVlZCB0byBwcmUtY29weSBzb21lIGJ5dGVzIHRvIGdldCB0byBuYXR1cmFsIGFsaWdubWVudC4KLQkgICBXZSBicmluZyBEU1QgaW50byBmdWxsIDY0LWJpdCBhbGlnbm1lbnQuICAqLwotCWxzbHMJdG1wMiwgZHN0LCAjMjkKLQliZXEJMWYKLQlyc2JzCXRtcDIsIHRtcDIsICMwCi0Jc3ViCWNvdW50LCBjb3VudCwgdG1wMiwgbHNyICMyOQotCWxkcm1pCXRtcDEsIFtzcmNdLCAjNAotCXN0cm1pCXRtcDEsIFtkc3RdLCAjNAotCWxzbHMJdG1wMiwgdG1wMiwgIzIKLQlsZHJoY3MJdG1wMSwgW3NyY10sICMyCi0JbGRyYm5lCXRtcDIsIFtzcmNdLCAjMQotCXN0cmhjcwl0bXAxLCBbZHN0XSwgIzIKLQlzdHJibmUJdG1wMiwgW2RzdF0sICMxCi0KLTE6Ci0Jc3Vicwl0bXAyLCBjb3VudCwgIzY0CS8qIFVzZSB0bXAyIGZvciBjb3VudC4gICovCi0JYmx0CS5MdGFpbDYzYWxpZ25lZAotCi0JY21wCXRtcDIsICM1MTIKLQliZ2UJLkxjcHlfYm9keV9sb25nCi0KLS5MY3B5X2JvZHlfbWVkaXVtOgkJCS8qIENvdW50IGluIHRtcDIuICAqLwotI2lmZGVmIFVTRV9WRlAKLTE6Ci0JdmxkcglkMCwgW3NyYywgIzBdCi0Jc3Vicwl0bXAyLCB0bXAyLCAjNjQKLQl2bGRyCWQxLCBbc3JjLCAjOF0KLQl2c3RyCWQwLCBbZHN0LCAjMF0KLQl2bGRyCWQwLCBbc3JjLCAjMTZdCi0JdnN0cglkMSwgW2RzdCwgIzhdCi0JdmxkcglkMSwgW3NyYywgIzI0XQotCXZzdHIJZDAsIFtkc3QsICMxNl0KLQl2bGRyCWQwLCBbc3JjLCAjMzJdCi0JdnN0cglkMSwgW2RzdCwgIzI0XQotCXZsZHIJZDEsIFtzcmMsICM0MF0KLQl2c3RyCWQwLCBbZHN0LCAjMzJdCi0JdmxkcglkMCwgW3NyYywgIzQ4XQotCXZzdHIJZDEsIFtkc3QsICM0MF0KLQl2bGRyCWQxLCBbc3JjLCAjNTZdCi0JdnN0cglkMCwgW2RzdCwgIzQ4XQotCWFkZAlzcmMsIHNyYywgIzY0Ci0JdnN0cglkMSwgW2RzdCwgIzU2XQotCWFkZAlkc3QsIGRzdCwgIzY0Ci0JYmdlCTFiCi0JdHN0CXRtcDIsICMweDNmCi0JYmVxCS5MZG9uZQotCi0uTHRhaWw2M2FsaWduZWQ6CQkJLyogQ291bnQgaW4gdG1wMi4gICovCi0JYW5kCXRtcDEsIHRtcDIsICMweDM4Ci0JYWRkCWRzdCwgZHN0LCB0bXAxCi0JYWRkCXNyYywgc3JjLCB0bXAxCi0JcnNiCXRtcDEsIHRtcDEsICMoNTYgLSBQQ19PRkZTRVQgKyBJTlNOX1NJWkUpCi0JYWRkCXBjLCBwYywgdG1wMQotCi0JdmxkcglkMCwgW3NyYywgIy01Nl0JLyogMTQgd29yZHMgdG8gZ28uICAqLwotCXZzdHIJZDAsIFtkc3QsICMtNTZdCi0JdmxkcglkMCwgW3NyYywgIy00OF0JLyogMTIgd29yZHMgdG8gZ28uICAqLwotCXZzdHIJZDAsIFtkc3QsICMtNDhdCi0JdmxkcglkMCwgW3NyYywgIy00MF0JLyogMTAgd29yZHMgdG8gZ28uICAqLwotCXZzdHIJZDAsIFtkc3QsICMtNDBdCi0JdmxkcglkMCwgW3NyYywgIy0zMl0JLyogOCB3b3JkcyB0byBnby4gICovCi0JdnN0cglkMCwgW2RzdCwgIy0zMl0KLQl2bGRyCWQwLCBbc3JjLCAjLTI0XQkvKiA2IHdvcmRzIHRvIGdvLiAgKi8KLQl2c3RyCWQwLCBbZHN0LCAjLTI0XQotCXZsZHIJZDAsIFtzcmMsICMtMTZdCS8qIDQgd29yZHMgdG8gZ28uICAqLwotCXZzdHIJZDAsIFtkc3QsICMtMTZdCi0JdmxkcglkMCwgW3NyYywgIy04XQkvKiAyIHdvcmRzIHRvIGdvLiAgKi8KLQl2c3RyCWQwLCBbZHN0LCAjLThdCi0jZWxzZQotCXN1YglzcmMsIHNyYywgIzgKLQlzdWIJZHN0LCBkc3QsICM4Ci0xOgotCWxkcmQJQV9sLCBBX2gsIFtzcmMsICM4XQotCXN0cmQJQV9sLCBBX2gsIFtkc3QsICM4XQotCWxkcmQJQV9sLCBBX2gsIFtzcmMsICMxNl0KLQlzdHJkCUFfbCwgQV9oLCBbZHN0LCAjMTZdCi0JbGRyZAlBX2wsIEFfaCwgW3NyYywgIzI0XQotCXN0cmQJQV9sLCBBX2gsIFtkc3QsICMyNF0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjMzJdCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIzMyXQotCWxkcmQJQV9sLCBBX2gsIFtzcmMsICM0MF0KLQlzdHJkCUFfbCwgQV9oLCBbZHN0LCAjNDBdCi0JbGRyZAlBX2wsIEFfaCwgW3NyYywgIzQ4XQotCXN0cmQJQV9sLCBBX2gsIFtkc3QsICM0OF0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjNTZdCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIzU2XQotCWxkcmQJQV9sLCBBX2gsIFtzcmMsICM2NF0hCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIzY0XSEKLQlzdWJzCXRtcDIsIHRtcDIsICM2NAotCWJnZQkxYgotCXRzdAl0bXAyLCAjMHgzZgotCWJuZQkxZgotCWxkcgl0bXAyLFtzcF0sICNGUkFNRV9TSVpFCi0JYngJbHIKLTE6Ci0JYWRkCXNyYywgc3JjLCAjOAotCWFkZAlkc3QsIGRzdCwgIzgKLQotLkx0YWlsNjNhbGlnbmVkOgkJCS8qIENvdW50IGluIHRtcDIuICAqLwotCS8qIENvcHkgdXAgdG8gNyBkLXdvcmRzIG9mIGRhdGEuICBTaW1pbGFyIHRvIEx0YWlsNjN1bmFsaWduZWQsIGJ1dAotCSAgIHdlIGtub3cgdGhhdCB0aGUgc3JjIGFuZCBkZXN0IGFyZSAzMi1iaXQgYWxpZ25lZCBzbyB3ZSBjYW4gdXNlCi0JICAgTERSRC9TVFJEIHRvIGltcHJvdmUgZWZmaWNpZW5jeS4gICovCi0JLyogVE1QMiBpcyBub3cgbmVnYXRpdmUsIGJ1dCB3ZSBkb24ndCBjYXJlIGFib3V0IHRoYXQuICBUaGUgYm90dG9tCi0JICAgc2l4IGJpdHMgc3RpbGwgdGVsbCB1cyBob3cgbWFueSBieXRlcyBhcmUgbGVmdCB0byBjb3B5LiAgKi8KLQotCWFuZAl0bXAxLCB0bXAyLCAjMHgzOAotCWFkZAlkc3QsIGRzdCwgdG1wMQotCWFkZAlzcmMsIHNyYywgdG1wMQotCXJzYgl0bXAxLCB0bXAxLCAjKDU2IC0gUENfT0ZGU0VUICsgSU5TTl9TSVpFKQotCWFkZAlwYywgcGMsIHRtcDEKLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjLTU2XQkvKiAxNCB3b3JkcyB0byBnby4gICovCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIy01Nl0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjLTQ4XQkvKiAxMiB3b3JkcyB0byBnby4gICovCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIy00OF0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjLTQwXQkvKiAxMCB3b3JkcyB0byBnby4gICovCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIy00MF0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjLTMyXQkvKiA4IHdvcmRzIHRvIGdvLiAgKi8KLQlzdHJkCUFfbCwgQV9oLCBbZHN0LCAjLTMyXQotCWxkcmQJQV9sLCBBX2gsIFtzcmMsICMtMjRdCS8qIDYgd29yZHMgdG8gZ28uICAqLwotCXN0cmQJQV9sLCBBX2gsIFtkc3QsICMtMjRdCi0JbGRyZAlBX2wsIEFfaCwgW3NyYywgIy0xNl0JLyogNCB3b3JkcyB0byBnby4gICovCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIy0xNl0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjLThdCS8qIDIgd29yZHMgdG8gZ28uICAqLwotCXN0cmQJQV9sLCBBX2gsIFtkc3QsICMtOF0KLQotI2VuZGlmCi0JdHN0CXRtcDIsICM0Ci0JbGRybmUJdG1wMSwgW3NyY10sICM0Ci0Jc3RybmUJdG1wMSwgW2RzdF0sICM0Ci0JbHNscwl0bXAyLCB0bXAyLCAjMzEJCS8qIENvdW50ICh0bXAyKSBub3cgZGVhZC4gKi8KLQlsZHJoY3MJdG1wMSwgW3NyY10sICMyCi0JbGRyYm5lCXRtcDIsIFtzcmNdCi0Jc3RyaGNzCXRtcDEsIFtkc3RdLCAjMgotCXN0cmJuZQl0bXAyLCBbZHN0XQotCi0uTGRvbmU6Ci0JbGRyCXRtcDIsIFtzcF0sICNGUkFNRV9TSVpFCi0JYngJbHIKLQotLkxjcHlfYm9keV9sb25nOgkJCS8qIENvdW50IGluIHRtcDIuICAqLwotCi0JLyogTG9uZyBjb3B5LiAgV2Uga25vdyB0aGF0IHRoZXJlJ3MgYXQgbGVhc3QgKHByZWZldGNoX2xpbmVzICogNjQpCi0JICAgYnl0ZXMgdG8gZ28uICAqLwotI2lmZGVmIFVTRV9WRlAKLQkvKiBEb24ndCB1c2UgUExELiAgSW5zdGVhZCwgcmVhZCBzb21lIGRhdGEgaW4gYWR2YW5jZSBvZiB0aGUgY3VycmVudAotCSAgIGNvcHkgcG9zaXRpb24gaW50byBhIHJlZ2lzdGVyLiAgVGhpcyBzaG91bGQgYWN0IGxpa2UgYSBQTEQKLQkgICBvcGVyYXRpb24gYnV0IHdlIHdvbid0IGhhdmUgdG8gcmVwZWF0IHRoZSB0cmFuc2Zlci4gICovCi0KLQl2bGRyCWQzLCBbc3JjLCAjMF0KLQl2bGRyCWQ0LCBbc3JjLCAjNjRdCi0JdmxkcglkNSwgW3NyYywgIzEyOF0KLQl2bGRyCWQ2LCBbc3JjLCAjMTkyXQotCXZsZHIJZDcsIFtzcmMsICMyNTZdCi0KLQl2bGRyCWQwLCBbc3JjLCAjOF0KLQl2bGRyCWQxLCBbc3JjLCAjMTZdCi0JdmxkcglkMiwgW3NyYywgIzI0XQotCWFkZAlzcmMsIHNyYywgIzMyCi0KLQlzdWJzCXRtcDIsIHRtcDIsICNwcmVmZXRjaF9saW5lcyAqIDY0ICogMgotCWJsdAkyZgotMToKLQljcHlfbGluZV92ZnAJZDMsIDAKLQljcHlfbGluZV92ZnAJZDQsIDY0Ci0JY3B5X2xpbmVfdmZwCWQ1LCAxMjgKLQlhZGQJZHN0LCBkc3QsICMzICogNjQKLQlhZGQJc3JjLCBzcmMsICMzICogNjQKLQljcHlfbGluZV92ZnAJZDYsIDAKLQljcHlfbGluZV92ZnAJZDcsIDY0Ci0JYWRkCWRzdCwgZHN0LCAjMiAqIDY0Ci0JYWRkCXNyYywgc3JjLCAjMiAqIDY0Ci0Jc3Vicwl0bXAyLCB0bXAyLCAjcHJlZmV0Y2hfbGluZXMgKiA2NAotCWJnZQkxYgotCi0yOgotCWNweV90YWlsX3ZmcAlkMywgMAotCWNweV90YWlsX3ZmcAlkNCwgNjQKLQljcHlfdGFpbF92ZnAJZDUsIDEyOAotCWFkZAlzcmMsIHNyYywgIzMgKiA2NAotCWFkZAlkc3QsIGRzdCwgIzMgKiA2NAotCWNweV90YWlsX3ZmcAlkNiwgMAotCXZzdHIJZDcsIFtkc3QsICM2NF0KLQl2bGRyCWQ3LCBbc3JjLCAjNjRdCi0JdnN0cglkMCwgW2RzdCwgIzY0ICsgOF0KLQl2bGRyCWQwLCBbc3JjLCAjNjQgKyA4XQotCXZzdHIJZDEsIFtkc3QsICM2NCArIDE2XQotCXZsZHIJZDEsIFtzcmMsICM2NCArIDE2XQotCXZzdHIJZDIsIFtkc3QsICM2NCArIDI0XQotCXZsZHIJZDIsIFtzcmMsICM2NCArIDI0XQotCXZzdHIJZDcsIFtkc3QsICM2NCArIDMyXQotCWFkZAlzcmMsIHNyYywgIzk2Ci0JdnN0cglkMCwgW2RzdCwgIzY0ICsgNDBdCi0JdnN0cglkMSwgW2RzdCwgIzY0ICsgNDhdCi0JdnN0cglkMiwgW2RzdCwgIzY0ICsgNTZdCi0JYWRkCWRzdCwgZHN0LCAjMTI4Ci0JYWRkCXRtcDIsIHRtcDIsICNwcmVmZXRjaF9saW5lcyAqIDY0Ci0JYgkuTGNweV9ib2R5X21lZGl1bQotI2Vsc2UKLQkvKiBMb25nIGNvcHkuICBVc2UgYW4gU01TIHN0eWxlIGxvb3AgdG8gbWF4aW1pemUgdGhlIEkvTwotCSAgIGJhbmR3aWR0aCBvZiB0aGUgY29yZS4gIFdlIGRvbid0IGhhdmUgZW5vdWdoIHNwYXJlIHJlZ2lzdGVycwotCSAgIHRvIHN5bnRoZXNpc2UgcHJlZmV0Y2hpbmcsIHNvIHVzZSBQTEQgb3BlcmF0aW9ucy4gICovCi0JLyogUHJlLWJpYXMgc3JjIGFuZCBkc3QuICAqLwotCXN1YglzcmMsIHNyYywgIzgKLQlzdWIJZHN0LCBkc3QsICM4Ci0JcGxkCVtzcmMsICM4XQotCXBsZAlbc3JjLCAjNzJdCi0Jc3Vicwl0bXAyLCB0bXAyLCAjNjQKLQlwbGQJW3NyYywgIzEzNl0KLQlsZHJkCUFfbCwgQV9oLCBbc3JjLCAjOF0KLQlzdHJkCUJfbCwgQl9oLCBbc3AsICM4XQotCWxkcmQJQl9sLCBCX2gsIFtzcmMsICMxNl0KLQlzdHJkCUNfbCwgQ19oLCBbc3AsICMxNl0KLQlsZHJkCUNfbCwgQ19oLCBbc3JjLCAjMjRdCi0Jc3RyZAlEX2wsIERfaCwgW3NwLCAjMjRdCi0JcGxkCVtzcmMsICMyMDBdCi0JbGRyZAlEX2wsIERfaCwgW3NyYywgIzMyXSEKLQliCTFmCi0JLnAyYWxpZ24JNgotMjoKLQlwbGQJW3NyYywgIzIzMl0KLQlzdHJkCUFfbCwgQV9oLCBbZHN0LCAjNDBdCi0JbGRyZAlBX2wsIEFfaCwgW3NyYywgIzQwXQotCXN0cmQJQl9sLCBCX2gsIFtkc3QsICM0OF0KLQlsZHJkCUJfbCwgQl9oLCBbc3JjLCAjNDhdCi0Jc3RyZAlDX2wsIENfaCwgW2RzdCwgIzU2XQotCWxkcmQJQ19sLCBDX2gsIFtzcmMsICM1Nl0KLQlzdHJkCURfbCwgRF9oLCBbZHN0LCAjNjRdIQotCWxkcmQJRF9sLCBEX2gsIFtzcmMsICM2NF0hCi0Jc3Vicwl0bXAyLCB0bXAyLCAjNjQKLTE6Ci0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIzhdCi0JbGRyZAlBX2wsIEFfaCwgW3NyYywgIzhdCi0Jc3RyZAlCX2wsIEJfaCwgW2RzdCwgIzE2XQotCWxkcmQJQl9sLCBCX2gsIFtzcmMsICMxNl0KLQlzdHJkCUNfbCwgQ19oLCBbZHN0LCAjMjRdCi0JbGRyZAlDX2wsIENfaCwgW3NyYywgIzI0XQotCXN0cmQJRF9sLCBEX2gsIFtkc3QsICMzMl0KLQlsZHJkCURfbCwgRF9oLCBbc3JjLCAjMzJdCi0JYmNzCTJiCi0JLyogU2F2ZSB0aGUgcmVtYWluaW5nIGJ5dGVzIGFuZCByZXN0b3JlIHRoZSBjYWxsZWUtc2F2ZWQgcmVncy4gICovCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIzQwXQotCWFkZAlzcmMsIHNyYywgIzQwCi0Jc3RyZAlCX2wsIEJfaCwgW2RzdCwgIzQ4XQotCWxkcmQJQl9sLCBCX2gsIFtzcCwgIzhdCi0Jc3RyZAlDX2wsIENfaCwgW2RzdCwgIzU2XQotCWxkcmQJQ19sLCBDX2gsIFtzcCwgIzE2XQotCXN0cmQJRF9sLCBEX2gsIFtkc3QsICM2NF0KLQlsZHJkCURfbCwgRF9oLCBbc3AsICMyNF0KLQlhZGQJZHN0LCBkc3QsICM3MgotCXRzdAl0bXAyLCAjMHgzZgotCWJuZQkuTHRhaWw2M2FsaWduZWQKLQlsZHIJdG1wMiwgW3NwXSwgI0ZSQU1FX1NJWkUKLQlieAlscgotI2VuZGlmCi0KLS5MY3B5X25vdGFsaWduZWQ6Ci0JcGxkCVtzcmNdCi0JcGxkCVtzcmMsICM2NF0KLQkvKiBUaGVyZSdzIGF0IGxlYXN0IDY0IGJ5dGVzIHRvIGNvcHksIGJ1dCB0aGVyZSBpcyBubyBtdXR1YWwKLQkgICBhbGlnbm1lbnQuICAqLwotCS8qIEJyaW5nIERTVCB0byA2NC1iaXQgYWxpZ25tZW50LiAgKi8KLQlsc2xzCXRtcDIsIGRzdCwgIzI5Ci0JcGxkCVtzcmMsICMoMiAqIDY0KV0KLQliZXEJMWYKLQlyc2JzCXRtcDIsIHRtcDIsICMwCi0Jc3ViCWNvdW50LCBjb3VudCwgdG1wMiwgbHNyICMyOQotCWxkcm1pCXRtcDEsIFtzcmNdLCAjNAotCXN0cm1pCXRtcDEsIFtkc3RdLCAjNAotCWxzbHMJdG1wMiwgdG1wMiwgIzIKLQlsZHJibmUJdG1wMSwgW3NyY10sICMxCi0JbGRyaGNzCXRtcDIsIFtzcmNdLCAjMgotCXN0cmJuZQl0bXAxLCBbZHN0XSwgIzEKLQlzdHJoY3MJdG1wMiwgW2RzdF0sICMyCi0xOgotCXBsZAlbc3JjLCAjKDMgKiA2NCldCi0Jc3Vicwljb3VudCwgY291bnQsICM2NAotCWxkcm1pCXRtcDIsIFtzcF0sICNGUkFNRV9TSVpFCi0JYm1pCS5MdGFpbDYzdW5hbGlnbmVkCi0JcGxkCVtzcmMsICMoNCAqIDY0KV0KLQotI2lmZGVmIFVTRV9ORU9OCi0JdmxkMS44CXtkMC1kM30sIFtzcmNdIQotCXZsZDEuOAl7ZDQtZDd9LCBbc3JjXSEKLQlzdWJzCWNvdW50LCBjb3VudCwgIzY0Ci0JYm1pCTJmCi0xOgotCXBsZAlbc3JjLCAjKDQgKiA2NCldCi0JdnN0MS44CXtkMC1kM30sIFtBTElHTiAoZHN0LCA2NCldIQotCXZsZDEuOAl7ZDAtZDN9LCBbc3JjXSEKLQl2c3QxLjgJe2Q0LWQ3fSwgW0FMSUdOIChkc3QsIDY0KV0hCi0JdmxkMS44CXtkNC1kN30sIFtzcmNdIQotCXN1YnMJY291bnQsIGNvdW50LCAjNjQKLQlicGwJMWIKLTI6Ci0JdnN0MS44CXtkMC1kM30sIFtBTElHTiAoZHN0LCA2NCldIQotCXZzdDEuOAl7ZDQtZDd9LCBbQUxJR04gKGRzdCwgNjQpXSEKLQlhbmRzCWNvdW50LCBjb3VudCwgIzB4M2YKLSNlbHNlCi0JLyogVXNlIGFuIFNNUyBzdHlsZSBsb29wIHRvIG1heGltaXplIHRoZSBJL08gYmFuZHdpZHRoLiAgKi8KLQlzdWIJc3JjLCBzcmMsICM0Ci0Jc3ViCWRzdCwgZHN0LCAjOAotCXN1YnMJdG1wMiwgY291bnQsICM2NAkvKiBVc2UgdG1wMiBmb3IgY291bnQuICAqLwotCWxkcglBX2wsIFtzcmMsICM0XQotCWxkcglBX2gsIFtzcmMsICM4XQotCXN0cmQJQl9sLCBCX2gsIFtzcCwgIzhdCi0JbGRyCUJfbCwgW3NyYywgIzEyXQotCWxkcglCX2gsIFtzcmMsICMxNl0KLQlzdHJkCUNfbCwgQ19oLCBbc3AsICMxNl0KLQlsZHIJQ19sLCBbc3JjLCAjMjBdCi0JbGRyCUNfaCwgW3NyYywgIzI0XQotCXN0cmQJRF9sLCBEX2gsIFtzcCwgIzI0XQotCWxkcglEX2wsIFtzcmMsICMyOF0KLQlsZHIJRF9oLCBbc3JjLCAjMzJdIQotCWIJMWYKLQkucDJhbGlnbgk2Ci0yOgotCXBsZAlbc3JjLCAjKDUgKiA2NCkgLSAoMzIgLSA0KV0KLQlzdHJkCUFfbCwgQV9oLCBbZHN0LCAjNDBdCi0JbGRyCUFfbCwgW3NyYywgIzM2XQotCWxkcglBX2gsIFtzcmMsICM0MF0KLQlzdHJkCUJfbCwgQl9oLCBbZHN0LCAjNDhdCi0JbGRyCUJfbCwgW3NyYywgIzQ0XQotCWxkcglCX2gsIFtzcmMsICM0OF0KLQlzdHJkCUNfbCwgQ19oLCBbZHN0LCAjNTZdCi0JbGRyCUNfbCwgW3NyYywgIzUyXQotCWxkcglDX2gsIFtzcmMsICM1Nl0KLQlzdHJkCURfbCwgRF9oLCBbZHN0LCAjNjRdIQotCWxkcglEX2wsIFtzcmMsICM2MF0KLQlsZHIJRF9oLCBbc3JjLCAjNjRdIQotCXN1YnMJdG1wMiwgdG1wMiwgIzY0Ci0xOgotCXN0cmQJQV9sLCBBX2gsIFtkc3QsICM4XQotCWxkcglBX2wsIFtzcmMsICM0XQotCWxkcglBX2gsIFtzcmMsICM4XQotCXN0cmQJQl9sLCBCX2gsIFtkc3QsICMxNl0KLQlsZHIJQl9sLCBbc3JjLCAjMTJdCi0JbGRyCUJfaCwgW3NyYywgIzE2XQotCXN0cmQJQ19sLCBDX2gsIFtkc3QsICMyNF0KLQlsZHIJQ19sLCBbc3JjLCAjMjBdCi0JbGRyCUNfaCwgW3NyYywgIzI0XQotCXN0cmQJRF9sLCBEX2gsIFtkc3QsICMzMl0KLQlsZHIJRF9sLCBbc3JjLCAjMjhdCi0JbGRyCURfaCwgW3NyYywgIzMyXQotCWJjcwkyYgotCi0JLyogU2F2ZSB0aGUgcmVtYWluaW5nIGJ5dGVzIGFuZCByZXN0b3JlIHRoZSBjYWxsZWUtc2F2ZWQgcmVncy4gICovCi0Jc3RyZAlBX2wsIEFfaCwgW2RzdCwgIzQwXQotCWFkZAlzcmMsIHNyYywgIzM2Ci0Jc3RyZAlCX2wsIEJfaCwgW2RzdCwgIzQ4XQotCWxkcmQJQl9sLCBCX2gsIFtzcCwgIzhdCi0Jc3RyZAlDX2wsIENfaCwgW2RzdCwgIzU2XQotCWxkcmQJQ19sLCBDX2gsIFtzcCwgIzE2XQotCXN0cmQJRF9sLCBEX2gsIFtkc3QsICM2NF0KLQlsZHJkCURfbCwgRF9oLCBbc3AsICMyNF0KLQlhZGQJZHN0LCBkc3QsICM3MgotCWFuZHMJY291bnQsIHRtcDIsICMweDNmCi0jZW5kaWYKLQlsZHIJdG1wMiwgW3NwXSwgI0ZSQU1FX1NJWkUKLQlibmUJLkx0YWlsNjN1bmFsaWduZWQKLQlieAlscgotRU5EKG1lbWNweSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL3NldGptcC5TIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvc2V0am1wLlMKaW5kZXggZWQ1OWQwNy4uODIyMGMwOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9iaW9uaWMvc2V0am1wLlMKKysrIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvc2V0am1wLlMKQEAgLTEsNiArMSwzIEBACi0vKgkkT3BlbkJTRDogc2V0am1wLlMsdiAxLjIgMjAwNC8wMi8wMSAwNTo0MDo1MiBkcmFobiBFeHAgJAkqLwotLyoJJE5ldEJTRDogc2V0am1wLlMsdiAxLjUgMjAwMy8wNC8wNSAyMzowODo1MSBiamgyMSBFeHAgJAkqLwotCiAvKgogICogQ29weXJpZ2h0IChjKSAxOTk3IE1hcmsgQnJpbmljb21iZQogICogQ29weXJpZ2h0IChjKSAyMDEwIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdC4KQEAgLTM1LDExOSArMzIsMTQyIEBACiAgKi8KIAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvc2V0am1wLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9jcHUtZmVhdHVyZXMuaD4KIAotLyoKLSAqIEMgbGlicmFyeSAtLSBzZXRqbXAsIGxvbmdqbXAKLSAqCi0gKglsb25nam1wKGEsdikKLSAqIHdpbGwgZ2VuZXJhdGUgYSAicmV0dXJuKHYpIiBmcm9tIHRoZSBsYXN0IGNhbGwgdG8KLSAqCXNldGptcChhKQotICogYnkgcmVzdG9yaW5nIHJlZ2lzdGVycyBmcm9tIHRoZSBzdGFjay4KLSAqIFRoZSBwcmV2aW91cyBzaWduYWwgc3RhdGUgaXMgcmVzdG9yZWQuCi0gKi8KKy8vIEFjY29yZGluZyB0byB0aGUgQVJNIEFBUENTIGRvY3VtZW50LCB3ZSBvbmx5IG5lZWQgdG8gc2F2ZQorLy8gdGhlIGZvbGxvd2luZyByZWdpc3RlcnM6CisvLworLy8gIENvcmUgICByNC1yMTQKKy8vCisvLyAgVkZQICAgIGQ4LWQxNSAgKHNlZSBzZWN0aW9uIDUuMS4yLjEpCisvLworLy8gICAgICBSZWdpc3RlcnMgczE2LXMzMSAoZDgtZDE1LCBxNC1xNykgbXVzdCBiZSBwcmVzZXJ2ZWQgYWNyb3NzIHN1YnJvdXRpbmUKKy8vICAgICAgY2FsbHM7IHJlZ2lzdGVycyBzMC1zMTUgKGQwLWQ3LCBxMC1xMykgZG8gbm90IG5lZWQgdG8gYmUgcHJlc2VydmVkCisvLyAgICAgIChhbmQgY2FuIGJlIHVzZWQgZm9yIHBhc3NpbmcgYXJndW1lbnRzIG9yIHJldHVybmluZyByZXN1bHRzIGluIHN0YW5kYXJkCisvLyAgICAgIHByb2NlZHVyZS1jYWxsIHZhcmlhbnRzKS4gUmVnaXN0ZXJzIGQxNi1kMzEgKHE4LXExNSksIGlmIHByZXNlbnQsIGRvCisvLyAgICAgIG5vdCBuZWVkIHRvIGJlIHByZXNlcnZlZC4KKy8vCisvLyAgRlBTQ1IgIHNhdmVkIGJlY2F1c2UgZ2xpYmMgZG9lcy4KKworLy8gVGhlIGludGVybmFsIHN0cnVjdHVyZSBvZiBhIGptcF9idWYgaXMgdG90YWxseSBwcml2YXRlLgorLy8gQ3VycmVudCBsYXlvdXQgKG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSk6CisvLworLy8gd29yZCAgIG5hbWUgICAgICAgICBkZXNjcmlwdGlvbgorLy8gMCAgICAgIG1hZ2ljICAgICAgICBtYWdpYyBudW1iZXIKKy8vIDEgICAgICBzaWdtYXNrICAgICAgc2lnbmFsIG1hc2sgKG5vdCB1c2VkIHdpdGggX3NldGptcCAvIF9sb25nam1wKQorLy8gMiAgICAgIGZsb2F0X2Jhc2UgICBiYXNlIG9mIGZsb2F0IHJlZ2lzdGVycyAoZDggdG8gZDE1KQorLy8gMTggICAgIGZsb2F0X3N0YXRlICBmbG9hdGluZy1wb2ludCBzdGF0dXMgYW5kIGNvbnRyb2wgcmVnaXN0ZXIKKy8vIDE5ICAgICBjb3JlX2Jhc2UgICAgYmFzZSBvZiBjb3JlIHJlZ2lzdGVycyAocjQgdG8gcjE0KQorLy8gMzAgICAgIHJlc2VydmVkICAgICByZXNlcnZlZCBlbnRyaWVzIChyb29tIHRvIGdyb3cpCisvLyA2NAorLy8KKy8vIE5PVEU6IGZsb2F0X2Jhc2UgbXVzdCBiZSBhdCBhbiBldmVuIHdvcmQgaW5kZXgsIHNpbmNlIHRoZQorLy8gICAgICAgRlAgcmVnaXN0ZXJzIHdpbGwgYmUgbG9hZGVkL3N0b3JlZCB3aXRoIGluc3RydWN0aW9ucworLy8gICAgICAgdGhhdCBleHBlY3QgOC1ieXRlIGFsaWdubWVudC4KKworI2RlZmluZSBfSkJfU0lHRkxBRyAgICAgMAorI2RlZmluZSBfSkJfU0lHTUFTSyAgICAgKF9KQl9TSUdGTEFHKzEpCisjZGVmaW5lIF9KQl9GTE9BVF9CQVNFICAoX0pCX1NJR01BU0srMSkKKyNkZWZpbmUgX0pCX0ZMT0FUX1NUQVRFIChfSkJfRkxPQVRfQkFTRSArICgxNS04KzEpKjIpCisjZGVmaW5lIF9KQl9DT1JFX0JBU0UgICAoX0pCX0ZMT0FUX1NUQVRFKzEpCiAKIEVOVFJZKHNldGptcCkKLQkvKiBCbG9jayBhbGwgc2lnbmFscyBhbmQgcmV0cmlldmUgdGhlIG9sZCBzaWduYWwgbWFzayAqLwotCXN0bWZkCXNwISwge3IwLCByMTR9Ci0JLmNmaV9kZWZfY2ZhX29mZnNldCA4Ci0JLmNmaV9yZWxfb2Zmc2V0IHIwLCAwCi0JLmNmaV9yZWxfb2Zmc2V0IHIxNCwgNAotCW1vdglyMCwgIzB4MDAwMDAwMDAKLQotCWJsCVBJQ19TWU0oc2lnYmxvY2ssIFBMVCkKLQltb3YJcjEsIHIwCi0KLQlsZG1mZAlzcCEsIHtyMCwgcjE0fQotCS5jZmlfZGVmX2NmYV9vZmZzZXQgMAotCi0JLyogU3RvcmUgc2lnbmFsIG1hc2sgKi8KLQlzdHIJcjEsIFtyMCwgIyhfSkJfU0lHTUFTSyAqIDQpXQotCi0JbGRyCXIxLCAuTHNldGptcF9tYWdpYwotCXN0cglyMSwgW3IwLCAjKF9KQl9NQUdJQyAqIDQpXQotCi0JLyogU3RvcmUgY29yZSByZWdpc3RlcnMgKi8KLQlhZGQgICAgIHIxLCByMCwgIyhfSkJfQ09SRV9CQVNFICogNCkKLQlzdG1pYSAgIHIxLCB7cjQtcjE0fQotCi0jaWZkZWYgX19BUk1fSEFWRV9WRlAKLQkvKiBTdG9yZSBmbG9hdGluZy1wb2ludCByZWdpc3RlcnMgKi8KLQlhZGQgICAgIHIxLCByMCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQpCi0JdnN0bWlhICByMSwge2Q4LWQxNX0KLQkvKiBTdG9yZSBmbG9hdGluZy1wb2ludCBzdGF0ZSAqLwotCWZtcnggICAgcjEsIGZwc2NyCi0Jc3RyICAgICByMSwgW3IwLCAjKF9KQl9GTE9BVF9TVEFURSAqIDQpXQotI2VuZGlmICAvKiBfX0FSTV9IQVZFX1ZGUCAqLwotCi0JbW92CXIwLCAjMHgwMDAwMDAwMAotCWJ4ICAgICAgbHIKKyAgbW92IHIxLCAjMQorICBiIHNpZ3NldGptcAogRU5EKHNldGptcCkKIAotLkxzZXRqbXBfbWFnaWM6Ci0JLndvcmQJX0pCX01BR0lDX1NFVEpNUAorRU5UUlkoX3NldGptcCkKKyAgbW92IHIxLCAjMAorICBiIHNpZ3NldGptcAorRU5EKF9zZXRqbXApCiAKKy8vIGludCBzaWdzZXRqbXAoc2lnam1wX2J1ZiBlbnYsIGludCBzYXZlX3NpZ25hbF9tYXNrKTsKK0VOVFJZKHNpZ3NldGptcCkKKyAgLy8gUmVjb3JkIHdoZXRoZXIgb3Igbm90IHdlJ3JlIHNhdmluZyB0aGUgc2lnbmFsIG1hc2suCisgIHN0ciByMSwgW3IwLCAjKF9KQl9TSUdGTEFHICogNCldCiAKLUVOVFJZKGxvbmdqbXApCi0JbGRyCXIyLCAuTHNldGptcF9tYWdpYwotCWxkcglyMywgW3IwLCAjKF9KQl9NQUdJQyAqIDQpXQotCXRlcQlyMiwgcjMKLQlibmUJYm90Y2gKKyAgLy8gRG8gd2UgbmVlZCB0byBzYXZlIHRoZSBzaWduYWwgbWFzaz8KKyAgdGVxIHIxLCAjMAorICBiZXEgMWYKIAotCS8qIEZldGNoIHNpZ25hbCBtYXNrICovCi0JbGRyCXIyLCBbcjAsICMoX0pCX1NJR01BU0sgKiA0KV0KKyAgLy8gR2V0IGN1cnJlbnQgc2lnbmFsIG1hc2suCisgIHN0bWZkIHNwISwge3IwLCByMTR9CisgIC5jZmlfZGVmX2NmYV9vZmZzZXQgOAorICAuY2ZpX3JlbF9vZmZzZXQgcjAsIDAKKyAgLmNmaV9yZWxfb2Zmc2V0IHIxNCwgNAorICBtb3YgcjAsICMwCisgIGJsIHNpZ2Jsb2NrCisgIG1vdiByMSwgcjAKKyAgbGRtZmQgc3AhLCB7cjAsIHIxNH0KKyAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCiAKLQkvKiBTZXQgc2lnbmFsIG1hc2sgKi8KLQlzdG1mZAlzcCEsIHtyMCwgcjEsIHIxNH0KLQkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDEyCi0JLmNmaV9yZWxfb2Zmc2V0IHIwLCAwCi0JLmNmaV9yZWxfb2Zmc2V0IHIxLCA0Ci0JLmNmaV9yZWxfb2Zmc2V0IHIxNCwgOAotCXN1YglzcCwgc3AsICM0CS8qIGFsaWduIHRoZSBzdGFjayAqLwotCS5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAvLyBTYXZlIHRoZSBzaWduYWwgbWFzay4KKyAgc3RyIHIxLCBbcjAsICMoX0pCX1NJR01BU0sgKiA0KV0KIAotCW1vdglyMCwgcjIKLQlibAlQSUNfU1lNKHNpZ3NldG1hc2ssIFBMVCkKKzE6CisgIC8vIFNhdmUgY29yZSByZWdpc3RlcnMuCisgIGFkZCByMSwgcjAsICMoX0pCX0NPUkVfQkFTRSAqIDQpCisgIHN0bWlhIHIxLCB7cjQtcjE0fQogCi0JYWRkCXNwLCBzcCwgIzQJLyogdW5hbGlnbiB0aGUgc3RhY2sgKi8KLQkuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IC00Ci0JbGRtZmQJc3AhLCB7cjAsIHIxLCByMTR9Ci0JLmNmaV9kZWZfY2ZhX29mZnNldCAwCisgIC8vIFNhdmUgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXJzLgorICBhZGQgcjEsIHIwLCAjKF9KQl9GTE9BVF9CQVNFICogNCkKKyAgdnN0bWlhICByMSwge2Q4LWQxNX0KIAotI2lmZGVmIF9fQVJNX0hBVkVfVkZQCi0JLyogUmVzdG9yZSBmbG9hdGluZy1wb2ludCByZWdpc3RlcnMgKi8KLQlhZGQgICAgIHIyLCByMCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQpCi0JdmxkbWlhICByMiwge2Q4LWQxNX0KLQkvKiBSZXN0b3JlIGZsb2F0aW5nLXBvaW50IHN0YXRlICovCi0JbGRyICAgICByMiwgW3IwLCAjKF9KQl9GTE9BVF9TVEFURSAqIDQpXQotCWZteHIgICAgZnBzY3IsIHIyCi0jZW5kaWYgLyogX19BUk1fSEFWRV9WRlAgKi8KKyAgLy8gU2F2ZSBmbG9hdGluZy1wb2ludCBzdGF0ZS4KKyAgZm1yeCByMSwgZnBzY3IKKyAgc3RyIHIxLCBbcjAsICMoX0pCX0ZMT0FUX1NUQVRFICogNCldCiAKLQkvKiBSZXN0b3JlIGNvcmUgcmVnaXN0ZXJzICovCi0JYWRkICAgICByMiwgcjAsICMoX0pCX0NPUkVfQkFTRSAqIDQpCi0JbGRtaWEgICByMiwge3I0LXIxNH0KKyAgbW92IHIwLCAjMAorICBieCBscgorRU5EKHNpZ3NldGptcCkKIAotCS8qIFZhbGlkYXRlIHNwIGFuZCByMTQgKi8KLQl0ZXEJc3AsICMwCi0JdGVxbmUJcjE0LCAjMAotCWJlcQlib3RjaAorLy8gdm9pZCBzaWdsb25nam1wKHNpZ2ptcF9idWYgZW52LCBpbnQgdmFsdWUpOworRU5UUlkoc2lnbG9uZ2ptcCkKKyAgLy8gRG8gd2UgbmVlZCB0byByZXN0b3JlIHRoZSBzaWduYWwgbWFzaz8KKyAgbGRyIHIyLCBbcjAsICMoX0pCX1NJR0ZMQUcgKiA0KV0KKyAgdGVxIHIyLCAjMAorICBiZXEgMWYKIAotCS8qIFNldCByZXR1cm4gdmFsdWUgKi8KKyAgLy8gUmVzdG9yZSB0aGUgc2lnbmFsIG1hc2suCisgIHN0bWZkIHNwISwge3IwLCByMSwgcjE0fQorICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDEyCisgIC5jZmlfcmVsX29mZnNldCByMCwgMAorICAuY2ZpX3JlbF9vZmZzZXQgcjEsIDQKKyAgLmNmaV9yZWxfb2Zmc2V0IHIxNCwgOAorICBzdWIgc3AsIHNwLCAjNCAvLyBBbGlnbiB0aGUgc3RhY2suCisgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAogCi0JbW92CXIwLCByMQotCXRlcQlyMCwgIzB4MDAwMDAwMDAKLQltb3ZlcQlyMCwgIzB4MDAwMDAwMDEKLSAgICAgICAgYnggICAgICBscgotI2lmZGVmIF9fQVJNXzI2X18KLQltb3YJcjE1LCByMTQKLSNlbHNlCi0JbW92CXIxNSwgcjE0Ci0jZW5kaWYKKyAgbGRyIHIwLCBbcjAsICMoX0pCX1NJR01BU0sgKiA0KV0KKyAgYmwgc2lnc2V0bWFzawogCi0JLyogdmFsaWRhdGlvbiBmYWlsZWQsIGRpZSBkaWUgZGllLiAqLwotYm90Y2g6Ci0JYmwJUElDX1NZTShsb25nam1wZXJyb3IsIFBMVCkKLQlibAlQSUNfU1lNKGFib3J0LCBQTFQpCi0JYgkuIC0gOAkJLyogQ2Fubm90IGdldCBoZXJlICovCi1FTkQobG9uZ2ptcCkKKyAgYWRkIHNwLCBzcCwgIzQgLy8gVW5hbGlnbiB0aGUgc3RhY2suCisgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgLTQKKyAgbGRtZmQgc3AhLCB7cjAsIHIxLCByMTR9CisgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAorCisxOgorICAvLyBSZXN0b3JlIGZsb2F0aW5nLXBvaW50IHJlZ2lzdGVycy4KKyAgYWRkIHIyLCByMCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQpCisgIHZsZG1pYSByMiwge2Q4LWQxNX0KKworICAvLyBSZXN0b3JlIGZsb2F0aW5nLXBvaW50IHN0YXRlLgorICBsZHIgcjIsIFtyMCwgIyhfSkJfRkxPQVRfU1RBVEUgKiA0KV0KKyAgZm14ciBmcHNjciwgcjIKKworICAvLyBSZXN0b3JlIGNvcmUgcmVnaXN0ZXJzLgorICBhZGQgcjIsIHIwLCAjKF9KQl9DT1JFX0JBU0UgKiA0KQorICBsZG1pYSByMiwge3I0LXIxNH0KKworICAvLyBWYWxpZGF0ZSBzcCBhbmQgcjE0LgorICB0ZXEgc3AsICMwCisgIHRlcW5lIHIxNCwgIzAKKyAgYmxlcSBsb25nam1wZXJyb3IKKworICAvLyBTZXQgcmV0dXJuIHZhbHVlLgorICBtb3YgcjAsIHIxCisgIHRlcSByMCwgIzAKKyAgbW92ZXEgcjAsICMxCisgIGJ4IGxyCitFTkQoc2lnbG9uZ2ptcCkKKworQUxJQVNfU1lNQk9MKGxvbmdqbXAsIHNpZ2xvbmdqbXApCitBTElBU19TWU1CT0woX2xvbmdqbXAsIHNpZ2xvbmdqbXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2Jpb25pYy9zaWdzZXRqbXAuUyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL3NpZ3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDE2ZjUwLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL3NpZ3NldGptcC5TCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyoJJE9wZW5CU0Q6IHNpZ3NldGptcC5TLHYgMS4yIDIwMDQvMDIvMDEgMDU6NDA6NTIgZHJhaG4gRXhwICQJKi8KLS8qCSROZXRCU0Q6IHNpZ3NldGptcC5TLHYgMS4zIDIwMDIvMDgvMTcgMTk6NTQ6MzAgdGhvcnBlaiBFeHAgJAkqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAxOTk3IE1hcmsgQnJpbmljb21iZQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQotICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgotICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSBNYXJrIEJyaW5pY29tYmUKLSAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNkZWZpbmUgX0FMSUdOX1RFWFQgLmFsaWduIDAKLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvc2V0am1wLmg+Ci0KLS8qCi0gKiBDIGxpYnJhcnkgLS0gc2lnc2V0am1wLCBzaWdsb25nam1wCi0gKgotICoJbG9uZ2ptcChhLHYpCi0gKiB3aWxsIGdlbmVyYXRlIGEgInJldHVybih2KSIgZnJvbSB0aGUgbGFzdCBjYWxsIHRvCi0gKglzZXRqbXAoYSwgbSkKLSAqIGJ5IHJlc3RvcmluZyByZWdpc3RlcnMgZnJvbSB0aGUgc3RhY2suCi0gKiBUaGUgcHJldmlvdXMgc2lnbmFsIHN0YXRlIGlzIHJlc3RvcmVkLgotICovCi0KLUVOVFJZKHNpZ3NldGptcCkKLQl0ZXEJcjEsICMwCi0JYmVxCVBJQ19TWU0oX3NldGptcCwgUExUKQotCWIJUElDX1NZTShzZXRqbXAsIFBMVCkKLUVORChzaWdzZXRqbXApCi0KLS5MX3NldGptcF9tYWdpYzoKLQkud29yZAlfSkJfTUFHSUNfX1NFVEpNUAotCi1FTlRSWShzaWdsb25nam1wKQotCWxkcglyMiwgLkxfc2V0am1wX21hZ2ljCi0JbGRyCXIzLCBbcjBdCi0JdGVxCXIyLCByMwotCWJlcQlQSUNfU1lNKF9sb25nam1wLCBQTFQpCi0JYglQSUNfU1lNKGxvbmdqbXAsIFBMVCkKLUVORChzaWdsb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9iaW9uaWMvc3RyY21wLlMgYi9saWJjL2FyY2gtYXJtL2Jpb25pYy9zdHJjbXAuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRiYTk0Mi4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtYXJtL2Jpb25pYy9zdHJjbXAuUworKysgL2Rldi9udWxsCkBAIC0xLDMxNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIENvcHlyaWdodCAoYykgMjAwOCBBUk0gTHRkCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gVGhlIG5hbWUgb2YgdGhlIGNvbXBhbnkgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQotICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuCi0gKiAgICBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVJNIExURCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKLSAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCi0gKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgotICogSU4gTk8gRVZFTlQgU0hBTEwgQVJNIExURCBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECi0gKiBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCi0gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORwotICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8bWFjaGluZS9jcHUtZmVhdHVyZXMuaD4KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotCS50ZXh0Ci0KLSNpZmRlZiBfX0FSTUVCX18KLSNkZWZpbmUgU0hGVDJMU0IgbHNsCi0jZGVmaW5lIFNIRlQyTFNCRVEgbHNsZXEKLSNkZWZpbmUgU0hGVDJNU0IgbHNyCi0jZGVmaW5lIFNIRlQyTVNCRVEgbHNyZXEKLSNkZWZpbmUgTVNCIDB4MDAwMDAwZmYKLSNkZWZpbmUgTFNCIDB4ZmYwMDAwMDAKLSNlbHNlCi0jZGVmaW5lIFNIRlQyTFNCIGxzcgotI2RlZmluZSBTSEZUMkxTQkVRIGxzcmVxCi0jZGVmaW5lIFNIRlQyTVNCIGxzbAotI2RlZmluZSBTSEZUMk1TQkVRIGxzbGVxCi0jZGVmaW5lIE1TQiAweGZmMDAwMDAwCi0jZGVmaW5lIExTQiAweDAwMDAwMGZmCi0jZW5kaWYKLQotI2RlZmluZSBtYWdpYzEoUkVHKSBSRUcKLSNkZWZpbmUgbWFnaWMyKFJFRykgUkVHLCBsc2wgIzcKLQotRU5UUlkoc3RyY21wKQotCXBsZAlbcjAsICMwXQotCXBsZAlbcjEsICMwXQotCWVvcglyMiwgcjAsIHIxCi0JdHN0CXIyLCAjMwotCi0JLyogU3RyaW5ncyBub3QgYXQgc2FtZSBieXRlIG9mZnNldCBmcm9tIGEgd29yZCBib3VuZGFyeS4gICovCi0JYm5lCS5Mc3RyY21wX3VuYWxpZ25lZAotCWFuZHMJcjIsIHIwLCAjMwotCWJpYwlyMCwgcjAsICMzCi0JYmljCXIxLCByMSwgIzMKLQlsZHIJaXAsIFtyMF0sICM0Ci0JaXQJZXEKLQlsZHJlcQlyMywgW3IxXSwgIzQKLQliZXEJMWYKLQotCS8qIEFsdGhvdWdoIHMxIGFuZCBzMiBoYXZlIGlkZW50aWNhbCBpbml0aWFsIGFsaWdubWVudCwgdGhleSBhcmUKLQkgKiBub3QgY3VycmVudGx5IHdvcmQgYWxpZ25lZC4gIFJhdGhlciB0aGFuIGNvbXBhcmluZyBieXRlcywKLQkgKiBtYWtlIHN1cmUgdGhhdCBhbnkgYnl0ZXMgZmV0Y2hlZCBmcm9tIGJlZm9yZSB0aGUgYWRkcmVzc2VkCi0JICogYnl0ZXMgYXJlIGZvcmNlZCB0byAweGZmLiAgVGhlbiB0aGV5IHdpbGwgYWx3YXlzIGNvbXBhcmUKLQkgKiBlcXVhbC4KLQkgKi8KLQllb3IJcjIsIHIyLCAjMwotCWxzbAlyMiwgcjIsICMzCi0JbXZuCXIzLCAjTVNCCi0JU0hGVDJMU0IJcjIsIHIzLCByMgotCWxkcglyMywgW3IxXSwgIzQKLQlvcnIJaXAsIGlwLCByMgotCW9ycglyMywgcjMsIHIyCi0xOgotCS8qIExvYWQgdGhlICdtYWdpYycgY29uc3RhbnQgMHgwMTAxMDEwMS4gKi8KLQlzdHIJcjQsIFtzcCwgIy00XSEKLQltb3YJcjQsICMxCi0Jb3JyCXI0LCByNCwgcjQsIGxzbCAjOAotCW9ycglyNCwgcjQsIHI0LCBsc2wgIzE2Ci0JLnAyYWxpZ24JMgotNDoKLQlwbGQJW3IwLCAjOF0KLQlwbGQJW3IxLCAjOF0KLQlzdWIJcjIsIGlwLCBtYWdpYzEocjQpCi0JY21wCWlwLCByMwotCWl0dHR0CWVxCi0KLQkvKiBjaGVjayBmb3IgYW55IHplcm8gYnl0ZXMgaW4gZmlyc3Qgd29yZCAqLwotCWJpY2VxCXIyLCByMiwgaXAKLQl0c3RlcQlyMiwgbWFnaWMyKHI0KQotCWxkcmVxCWlwLCBbcjBdLCAjNAotCWxkcmVxCXIzLCBbcjFdLCAjNAotCWJlcQk0YgotMjoKLQkvKiBUaGVyZSdzIGEgemVybyBvciBhIGRpZmZlcmVudCBieXRlIGluIHRoZSB3b3JkICovCi0JU0hGVDJNU0IJcjAsIGlwLCAjMjQKLQlTSEZUMkxTQglpcCwgaXAsICM4Ci0JY21wCXIwLCAjMQotCWl0CWNzCi0JY21wY3MJcjAsIHIzLCBTSEZUMk1TQiAjMjQKLQlpdAllcQotCVNIRlQyTFNCRVEgcjMsIHIzLCAjOAotCWJlcQkyYgotCS8qIE9uIGEgYmlnLWVuZGlhbiBtYWNoaW5lLCByMCBjb250YWlucyB0aGUgZGVzaXJlZCBieXRlIGluIGJpdHMKLQkgKiAwLTc7IG9uIGEgbGl0dGxlLWVuZGlhbiBtYWNoaW5lIHRoZXkgYXJlIGluIGJpdHMgMjQtMzEuICBJbgotCSAqIGJvdGggY2FzZXMgdGhlIG90aGVyIGJpdHMgaW4gcjAgYXJlIGFsbCB6ZXJvLiAgRm9yIHIzIHRoZQotCSAqIGludGVyZXN0aW5nIGJ5dGUgaXMgYXQgdGhlIG90aGVyIGVuZCBvZiB0aGUgd29yZCwgYnV0IHRoZQotCSAqIG90aGVyIGJpdHMgYXJlIG5vdCBuZWNlc3NhcmlseSB6ZXJvLiAgV2UgbmVlZCBhIHNpZ25lZCByZXN1bHQKLQkgKiByZXByZXNlbnRpbmcgdGhlIGRpZmZlcm5lY2UgaW4gdGhlIHVuc2lnbmVkIGJ5dGVzLCBzbyBmb3IgdGhlCi0JICogbGl0dGxlLWVuZGlhbiBjYXNlIHdlIGNhbid0IGp1c3Qgc2hpZnQgdGhlIGludGVyZXN0aW5nIGJpdHMgdXAuCi0JICovCi0jaWZkZWYgX19BUk1FQl9fCi0Jc3ViCXIwLCByMCwgcjMsIGxzciAjMjQKLSNlbHNlCi0JYW5kCXIzLCByMywgIzI1NQotCS8qIE5vIFJTQiBpbnN0cnVjdGlvbiBpbiBUaHVtYjIgKi8KLSNpZmRlZiBfX3RodW1iMl9fCi0JbHNyCXIwLCByMCwgIzI0Ci0Jc3ViCXIwLCByMCwgcjMKLSNlbHNlCi0JcnNiCXIwLCByMywgcjAsIGxzciAjMjQKLSNlbmRpZgotI2VuZGlmCi0JbGRyCXI0LCBbc3BdLCAjNAotCWJ4CWxyCi0KLS5Mc3RyY21wX3VuYWxpZ25lZDoKLQl3cDEgLnJlcSByMAotCXdwMiAucmVxIHIxCi0JYjEgIC5yZXEgcjIKLQl3MSAgLnJlcSByNAotCXcyICAucmVxIHI1Ci0JdDEgIC5yZXEgaXAKLQlAIHIzIGlzIHNjcmF0Y2gKLQotCS8qIEZpcnN0IG9mIGFsbCwgY29tcGFyZSBieXRlcyB1bnRpbCB3cDEoc3AxKSBpcyB3b3JkLWFsaWduZWQuICovCi0xOgotCXRzdAl3cDEsICMzCi0JYmVxCTJmCi0JbGRyYglyMiwgW3dwMV0sICMxCi0JbGRyYglyMywgW3dwMl0sICMxCi0JY21wCXIyLCAjMQotCWl0CWNzCi0JY21wY3MJcjIsIHIzCi0JYmVxCTFiCi0Jc3ViCXIwLCByMiwgcjMKLQlieAlscgotCi0yOgotCXN0cglyNSwgW3NwLCAjLTRdIQotCXN0cglyNCwgW3NwLCAjLTRdIQotCW1vdgliMSwgIzEKLQlvcnIJYjEsIGIxLCBiMSwgbHNsICM4Ci0Jb3JyCWIxLCBiMSwgYjEsIGxzbCAjMTYKLQotCWFuZAl0MSwgd3AyLCAjMwotCWJpYwl3cDIsIHdwMiwgIzMKLQlsZHIJdzEsIFt3cDFdLCAjNAotCWxkcgl3MiwgW3dwMl0sICM0Ci0JY21wCXQxLCAjMgotCWJlcQkyZgotCWJoaQkzZgotCi0JLyogQ3JpdGljYWwgaW5uZXIgTG9vcDogQmxvY2sgd2l0aCAzIGJ5dGVzIGluaXRpYWwgb3ZlcmxhcCAqLwotCS5wMmFsaWduCTIKLTE6Ci0JYmljCXQxLCB3MSwgI01TQgotCWNtcAl0MSwgdzIsIFNIRlQyTFNCICM4Ci0Jc3ViCXIzLCB3MSwgYjEKLQliaWMJcjMsIHIzLCB3MQotCWJuZQk0ZgotCWFuZHMJcjMsIHIzLCBiMSwgbHNsICM3Ci0JaXQJZXEKLQlsZHJlcQl3MiwgW3dwMl0sICM0Ci0JYm5lCTVmCi0JZW9yCXQxLCB0MSwgdzEKLQljbXAJdDEsIHcyLCBTSEZUMk1TQiAjMjQKLQlibmUJNmYKLQlsZHIJdzEsIFt3cDFdLCAjNAotCWIJMWIKLTQ6Ci0JU0hGVDJMU0IJdzIsIHcyLCAjOAotCWIJOGYKLQotNToKLSNpZmRlZiBfX0FSTUVCX18KLQkvKiBUaGUgc3luZHJvbWUgdmFsdWUgbWF5IGNvbnRhaW4gZmFsc2Ugb25lcyBpZiB0aGUgc3RyaW5nIGVuZHMKLQkgKiB3aXRoIHRoZSBieXRlcyAweDAxIDB4MDAKLQkgKi8KLQl0c3QJdzEsICMweGZmMDAwMDAwCi0JaXR0CW5lCi0JdHN0bmUJdzEsICMweDAwZmYwMDAwCi0JdHN0bmUJdzEsICMweDAwMDBmZjAwCi0JYmVxCTdmCi0jZWxzZQotCWJpY3MJcjMsIHIzLCAjMHhmZjAwMDAwMAotCWJuZQk3ZgotI2VuZGlmCi0JbGRyYgl3MiwgW3dwMl0KLQlTSEZUMkxTQgl0MSwgdzEsICMyNAotI2lmZGVmIF9fQVJNRUJfXwotCWxzbAl3MiwgdzIsICMyNAotI2VuZGlmCi0JYgk4ZgotCi02OgotCVNIRlQyTFNCCXQxLCB3MSwgIzI0Ci0JYW5kCXcyLCB3MiwgI0xTQgotCWIJOGYKLQotCS8qIENyaXRpY2FsIGlubmVyIExvb3A6IEJsb2NrIHdpdGggMiBieXRlcyBpbml0aWFsIG92ZXJsYXAgKi8KLQkucDJhbGlnbgkyCi0yOgotCVNIRlQyTVNCCXQxLCB3MSwgIzE2Ci0Jc3ViCXIzLCB3MSwgYjEKLQlTSEZUMkxTQgl0MSwgdDEsICMxNgotCWJpYwlyMywgcjMsIHcxCi0JY21wCXQxLCB3MiwgU0hGVDJMU0IgIzE2Ci0JYm5lCTRmCi0JYW5kcwlyMywgcjMsIGIxLCBsc2wgIzcKLQlpdAllcQotCWxkcmVxCXcyLCBbd3AyXSwgIzQKLQlibmUJNWYKLQllb3IJdDEsIHQxLCB3MQotCWNtcAl0MSwgdzIsIFNIRlQyTVNCICMxNgotCWJuZQk2ZgotCWxkcgl3MSwgW3dwMV0sICM0Ci0JYgkyYgotCi01OgotI2lmZGVmIF9fQVJNRUJfXwotCS8qIFRoZSBzeW5kcm9tZSB2YWx1ZSBtYXkgY29udGFpbiBmYWxzZSBvbmVzIGlmIHRoZSBzdHJpbmcgZW5kcwotCSAqIHdpdGggdGhlIGJ5dGVzIDB4MDEgMHgwMAotCSAqLwotCXRzdAl3MSwgIzB4ZmYwMDAwMDAKLQlpdAluZQotCXRzdG5lCXcxLCAjMHgwMGZmMDAwMAotCWJlcQk3ZgotI2Vsc2UKLQlsc2xzCXIzLCByMywgIzE2Ci0JYm5lCTdmCi0jZW5kaWYKLQlsZHJoCXcyLCBbd3AyXQotCVNIRlQyTFNCCXQxLCB3MSwgIzE2Ci0jaWZkZWYgX19BUk1FQl9fCi0JbHNsCXcyLCB3MiwgIzE2Ci0jZW5kaWYKLQliCThmCi0KLTY6Ci0JU0hGVDJNU0IJdzIsIHcyLCAjMTYKLQlTSEZUMkxTQgl0MSwgdzEsICMxNgotNDoKLQlTSEZUMkxTQgl3MiwgdzIsICMxNgotCWIJOGYKLQotCS8qIENyaXRpY2FsIGlubmVyIExvb3A6IEJsb2NrIHdpdGggMSBieXRlIGluaXRpYWwgb3ZlcmxhcCAqLwotCS5wMmFsaWduCTIKLTM6Ci0JYW5kCXQxLCB3MSwgI0xTQgotCWNtcAl0MSwgdzIsIFNIRlQyTFNCICMyNAotCXN1YglyMywgdzEsIGIxCi0JYmljCXIzLCByMywgdzEKLQlibmUJNGYKLQlhbmRzCXIzLCByMywgYjEsIGxzbCAjNwotCWl0CWVxCi0JbGRyZXEJdzIsIFt3cDJdLCAjNAotCWJuZQk1ZgotCWVvcgl0MSwgdDEsIHcxCi0JY21wCXQxLCB3MiwgU0hGVDJNU0IgIzgKLQlibmUJNmYKLQlsZHIJdzEsIFt3cDFdLCAjNAotCWIJM2IKLTQ6Ci0JU0hGVDJMU0IJdzIsIHcyLCAjMjQKLQliCThmCi01OgotCS8qIFRoZSBzeW5kcm9tZSB2YWx1ZSBtYXkgY29udGFpbiBmYWxzZSBvbmVzIGlmIHRoZSBzdHJpbmcgZW5kcwotCSAqIHdpdGggdGhlIGJ5dGVzIDB4MDEgMHgwMAotCSAqLwotCXRzdAl3MSwgI0xTQgotCWJlcQk3ZgotCWxkcgl3MiwgW3dwMl0sICM0Ci02OgotCVNIRlQyTFNCCXQxLCB3MSwgIzgKLQliaWMJdzIsIHcyLCAjTVNCCi0JYgk4ZgotNzoKLQltb3YJcjAsICMwCi0JbGRyCXI0LCBbc3BdLCAjNAotCWxkcglyNSwgW3NwXSwgIzQKLQlieAlscgotCi04OgotCWFuZAlyMiwgdDEsICNMU0IKLQlhbmQJcjAsIHcyLCAjTFNCCi0JY21wCXIwLCAjMQotCWl0CWNzCi0JY21wY3MJcjAsIHIyCi0JaXR0CWVxCi0JU0hGVDJMU0JFUQl0MSwgdDEsICM4Ci0JU0hGVDJMU0JFUQl3MiwgdzIsICM4Ci0JYmVxCThiCi0Jc3ViCXIwLCByMiwgcjAKLQlsZHIJcjQsIFtzcF0sICM0Ci0JbGRyCXI1LCBbc3BdLCAjNAotCWJ4CWxyCi1FTkQoc3RyY21wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9jb3J0ZXgtYTE1L2NvcnRleC1hMTUubWsgYi9saWJjL2FyY2gtYXJtL2NvcnRleC1hMTUvY29ydGV4LWExNS5tawppbmRleCBmMWFiZTMyLi42ZmEzMjcwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtL2NvcnRleC1hMTUvY29ydGV4LWExNS5taworKysgYi9saWJjL2FyY2gtYXJtL2NvcnRleC1hMTUvY29ydGV4LWExNS5tawpAQCAtOCw0ICs4LDkgQEAKICAgICBhcmNoLWFybS9jb3J0ZXgtYTE1L2Jpb25pYy9zdHJjcHkuUyBcCiAgICAgYXJjaC1hcm0vY29ydGV4LWExNS9iaW9uaWMvX19zdHJjcHlfY2hrLlMgXAogICAgIGFyY2gtYXJtL2NvcnRleC1hMTUvYmlvbmljL3N0cmxlbi5TIFwKLSAgICBiaW9uaWMvbWVtbW92ZS5jIFwKKworbGliY19iaW9uaWNfc3JjX2ZpbGVzX2FybSArPSBcCisgICAgYXJjaC1hcm0vZ2VuZXJpYy9iaW9uaWMvbWVtY21wLlMgXAorCitsaWJjX2Jpb25pY19zcmNfZmlsZXNfYXJtICs9IFwKKyAgICBhcmNoLWFybS9kZW52ZXIvYmlvbmljL21lbW1vdmUuUyBcCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2NvcnRleC1hOS9jb3J0ZXgtYTkubWsgYi9saWJjL2FyY2gtYXJtL2NvcnRleC1hOS9jb3J0ZXgtYTkubWsKaW5kZXggYzgyZGIzYi4uN2IzOGRlMSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9jb3J0ZXgtYTkvY29ydGV4LWE5Lm1rCisrKyBiL2xpYmMvYXJjaC1hcm0vY29ydGV4LWE5L2NvcnRleC1hOS5tawpAQCAtOCw0ICs4LDkgQEAKICAgICBhcmNoLWFybS9jb3J0ZXgtYTkvYmlvbmljL3N0cmNweS5TIFwKICAgICBhcmNoLWFybS9jb3J0ZXgtYTkvYmlvbmljL19fc3RyY3B5X2Noay5TIFwKICAgICBhcmNoLWFybS9jb3J0ZXgtYTkvYmlvbmljL3N0cmxlbi5TIFwKLSAgICBiaW9uaWMvbWVtbW92ZS5jIFwKKworbGliY19iaW9uaWNfc3JjX2ZpbGVzX2FybSArPSBcCisgICAgYXJjaC1hcm0vZ2VuZXJpYy9iaW9uaWMvbWVtY21wLlMgXAorCitsaWJjX2Jpb25pY19zcmNfZmlsZXNfYXJtICs9IFwKKyAgICBhcmNoLWFybS9kZW52ZXIvYmlvbmljL21lbW1vdmUuUyBcCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2RlbnZlci9iaW9uaWMvbWVtc2V0LlMgYi9saWJjL2FyY2gtYXJtL2RlbnZlci9iaW9uaWMvbWVtc2V0LlMKaW5kZXggYmYzZDlhZC4uZDc3YzI0NCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9kZW52ZXIvYmlvbmljL21lbXNldC5TCisrKyBiL2xpYmMvYXJjaC1hcm0vZGVudmVyL2Jpb25pYy9tZW1zZXQuUwpAQCAtMzcsNiArMzcsNyBAQAogICAgICAgICAgKiBtZW1zZXQoKSByZXR1cm5zIGl0cyBmaXJzdCBhcmd1bWVudC4KICAgICAgICAgICovCiAKKyAgICAgICAgLmNwdSAgICAgICAgY29ydGV4LWExNQogICAgICAgICAuZnB1ICAgICAgICBuZW9uCiAgICAgICAgIC5zeW50YXggICAgIHVuaWZpZWQKIApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9kZW52ZXIvZGVudmVyLm1rIGIvbGliYy9hcmNoLWFybS9kZW52ZXIvZGVudmVyLm1rCmluZGV4IDBiYzUyYTIuLjVmZGRmOTUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vZGVudmVyL2RlbnZlci5taworKysgYi9saWJjL2FyY2gtYXJtL2RlbnZlci9kZW52ZXIubWsKQEAgLTEsNCArMSw1IEBACiBsaWJjX2Jpb25pY19zcmNfZmlsZXNfYXJtICs9IFwKKyAgICBhcmNoLWFybS9nZW5lcmljL2Jpb25pYy9tZW1jbXAuUyBcCiAgICAgYXJjaC1hcm0vZGVudmVyL2Jpb25pYy9tZW1jcHkuUyBcCiAgICAgYXJjaC1hcm0vZGVudmVyL2Jpb25pYy9tZW1tb3ZlLlMgXAogICAgIGFyY2gtYXJtL2RlbnZlci9iaW9uaWMvbWVtc2V0LlMgXApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9iaW9uaWMvbWVtY21wLlMgYi9saWJjL2FyY2gtYXJtL2dlbmVyaWMvYmlvbmljL21lbWNtcC5TCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBsaWJjL2FyY2gtYXJtL2Jpb25pYy9tZW1jbXAuUwpyZW5hbWUgdG8gbGliYy9hcmNoLWFybS9nZW5lcmljL2Jpb25pYy9tZW1jbXAuUwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9nZW5lcmljL2dlbmVyaWMubWsgYi9saWJjL2FyY2gtYXJtL2dlbmVyaWMvZ2VuZXJpYy5tawppbmRleCA5NWJlODY3Li5lNDlkNmQyIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtL2dlbmVyaWMvZ2VuZXJpYy5taworKysgYi9saWJjL2FyY2gtYXJtL2dlbmVyaWMvZ2VuZXJpYy5tawpAQCAtMSwxMSArMSwxNCBAQAogbGliY19iaW9uaWNfc3JjX2ZpbGVzX2FybSArPSBcCisgICAgYXJjaC1hcm0vZ2VuZXJpYy9iaW9uaWMvbWVtY21wLlMgXAogICAgIGFyY2gtYXJtL2dlbmVyaWMvYmlvbmljL21lbWNweS5TIFwKICAgICBhcmNoLWFybS9nZW5lcmljL2Jpb25pYy9tZW1zZXQuUyBcCiAgICAgYXJjaC1hcm0vZ2VuZXJpYy9iaW9uaWMvc3RyY21wLlMgXAogICAgIGFyY2gtYXJtL2dlbmVyaWMvYmlvbmljL3N0cmNweS5TIFwKICAgICBhcmNoLWFybS9nZW5lcmljL2Jpb25pYy9zdHJsZW4uYyBcCi0gICAgYmlvbmljL21lbW1vdmUuYyBcCiAgICAgYmlvbmljL19fc3RyY2F0X2Noay5jcHAgXAogICAgIGJpb25pYy9fX3N0cmNweV9jaGsuY3BwIFwKKworbGliY19vcGVuYnNkX3NyY19maWxlc19hcm0gKz0gXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbW1vdmUuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RwY3B5LmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL3N0cmNhdC5jIFwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL2FzbS5oIGIvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvYXNtLmgKaW5kZXggNzk1NGYwNS4uNzBkYmU2NyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvYXNtLmgKKysrIGIvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvYXNtLmgKQEAgLTM4LDkgKzM4LDcgQEAKICNpZm5kZWYgX0FSTTMyX0FTTV9IXwogI2RlZmluZSBfQVJNMzJfQVNNX0hfCiAKLSNpZm5kZWYgX0FMSUdOX1RFWFQKLSMgZGVmaW5lIF9BTElHTl9URVhUIC5hbGlnbiAwCi0jZW5kaWYKKyNkZWZpbmUgX19iaW9uaWNfYXNtX2FsaWduIDAKIAogI3VuZGVmIF9fYmlvbmljX2FzbV9jdXN0b21fZW50cnkKICN1bmRlZiBfX2Jpb25pY19hc21fY3VzdG9tX2VuZApAQCAtNTAsMTAgKzQ4LDQgQEAKICN1bmRlZiBfX2Jpb25pY19hc21fZnVuY3Rpb25fdHlwZQogI2RlZmluZSBfX2Jpb25pY19hc21fZnVuY3Rpb25fdHlwZSAjZnVuY3Rpb24KIAotI2lmIGRlZmluZWQoX19FTEZfXykgJiYgZGVmaW5lZChQSUMpCi0jZGVmaW5lIFBJQ19TWU0oeCx5KSB4ICMjICggIyMgeSAjIyApCi0jZWxzZQotI2RlZmluZSBQSUNfU1lNKHgseSkgeAotI2VuZGlmCi0KICNlbmRpZiAvKiAhX0FSTV9BU01fSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL2NwdS1mZWF0dXJlcy5oIGIvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvY3B1LWZlYXR1cmVzLmgKaW5kZXggZmM1YThmZC4uZmM4YzgwZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvY3B1LWZlYXR1cmVzLmgKKysrIGIvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvY3B1LWZlYXR1cmVzLmgKQEAgLTI4LDE0ICsyOCw2IEBACiAjaWZuZGVmIF9BUk1fTUFDSElORV9DUFVfRkVBVFVSRVNfSAogI2RlZmluZSBfQVJNX01BQ0hJTkVfQ1BVX0ZFQVRVUkVTX0gKIAotLyogVGhlIHB1cnBvc2Ugb2YgdGhpcyBmaWxlIGlzIHRvIGRlZmluZSBzZXZlcmFsIG1hY3JvcyBjb3JyZXNwb25kaW5nCi0gKiB0byBDUFUgZmVhdHVyZXMgdGhhdCBtYXkgb3IgbWF5IG5vdCBiZSBhdmFpbGFibGUgYXQgYnVpbGQgdGltZSBvbgotICogb24gdGhlIHRhcmdldCBDUFUuCi0gKgotICogVGhpcyBpcyBkb25lIHRvIGFic3RyYWN0IHVzIGZyb20gdGhlIHZhcmlvdXMgQVJNIEFyY2hpdGVjdHVyZQotICogcXVpcmtzIGFuZCBhbHBoYWJldCBzb3VwLgotICovCi0KIC8qIF9fQVJNX0FSQ0hfXyBpcyBhIG51bWJlciBjb3JyZXNwb25kaW5nIHRvIHRoZSBBUk0gcmV2aXNpb24KICAqIHdlJ3JlIGdvaW5nIHRvIHN1cHBvcnQuIE91ciB0b29sY2hhaW4gZG9lc24ndCBkZWZpbmUgX19BUk1fQVJDSF9fCiAgKiBzbyB0cnkgdG8gZ3Vlc3MgaXQuCkBAIC01MywzMSArNDUsNCBAQAogIyAgZW5kaWYKICNlbmRpZgogCi0vKiBkZWZpbmUgX19BUk1fSEFWRV9IQUxGV09SRF9NVUxUSVBMWSB3aGVuIGhhbGYtd29yZCBtdWx0aXBseSBpbnN0cnVjdGlvbnMKLSAqIHRoaXMgbWVhbnMgdmFyaWFudHMgb2Y6IHNtdWwsIHNtdWx3LCBzbWxhLCBzbWxhdywgc21sYWwKLSAqLwotI2RlZmluZSAgX19BUk1fSEFWRV9IQUxGV09SRF9NVUxUSVBMWSAgMQotCi0vKiBkZWZpbmUgX19BUk1fSEFWRV9MRFJFWEQgZm9yIEFSTXY3IGFyY2hpdGVjdHVyZQotICogKGFsc28gcHJlc2VudCBpbiBBUk12NkssIGJ1dCBub3QgaW1wbGVtZW50ZWQgaW4gQVJNdjctTSwgbmVpdGhlciBvZiB3aGljaAotICogd2UgY2FyZSBhYm91dCkKLSAqLwotI2lmIF9fQVJNX0FSQ0hfXyA+PSA3Ci0jICBkZWZpbmUgX19BUk1fSEFWRV9MRFJFWEQKLSNlbmRpZgotCi0vKiBkZWZpbmUgX0FSTV9IQVZFX1ZGUCBpZiB3ZSBoYXZlIFZGUHYzCi0gKi8KLSNpZiBfX0FSTV9BUkNIX18gPj0gNyAmJiBkZWZpbmVkIF9fVkZQX0ZQX18KLSMgIGRlZmluZSBfX0FSTV9IQVZFX1ZGUAotI2VuZGlmCi0KLS8qIGRlZmluZSBfQVJNX0hBVkVfTkVPTiBmb3IgQVJNdjcgYXJjaGl0ZWN0dXJlIGlmIHdlIHN1cHBvcnQgdGhlCi0gKiBOZW9uIFNJTUQgaW5zdHJ1Y3Rpb24gc2V0IGV4dGVuc2lvbnMuIFRoaXMgYWxzbyBpbXBsaWVzCi0gKiB0aGF0IFZGUHYzLUQzMiBpcyBzdXBwb3J0ZWQuCi0gKi8KLSNpZiBfX0FSTV9BUkNIX18gPj0gNyAmJiBkZWZpbmVkIF9fQVJNX05FT05fXwotIyAgZGVmaW5lIF9fQVJNX0hBVkVfTkVPTgotI2VuZGlmCi0KICNlbmRpZiAvKiBfQVJNX01BQ0hJTkVfQ1BVX0ZFQVRVUkVTX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL2VsZl9tYWNoZGVwLmggYi9saWJjL2FyY2gtYXJtL2luY2x1ZGUvbWFjaGluZS9lbGZfbWFjaGRlcC5oCmluZGV4IDk3ZDg0MzQuLjU0MmY2MzggMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL2VsZl9tYWNoZGVwLmgKKysrIGIvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvZWxmX21hY2hkZXAuaApAQCAtMTAyLDYgKzEwMiw4IEBACiAKIC8qIDExMi0xMjcgYXJlIHJlc2VydmVkIGZvciBwcml2YXRlIGV4cGVyaW1lbnRzLiAqLwogCisjZGVmaW5lIFJfQVJNX0lSRUxBVElWRSAgIDE2MAorCiAjZGVmaW5lIFJfQVJNX1JYUEMyNQkJMjQ5CiAjZGVmaW5lIFJfQVJNX1JTQlJFTDMyCQkyNTAKICNkZWZpbmUgUl9BUk1fVEhNX1JQQzIyCQkyNTEKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL2VuZGlhbi5oIGIvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkOTcyM2QuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vKgkkT3BlbkJTRDogZW5kaWFuLmgsdiAxLjMgMjAwNS8xMi8xMyAwMDozNToyMyBtaWxsZXJ0IEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0gKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECi0gKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBfQVJNX0VORElBTl9IXwotI2RlZmluZSBfQVJNX0VORElBTl9IXwotCi0jaWZkZWYgX19HTlVDX18KLQotLyogQWNjb3JkaW5nIHRvIFJlYWxWaWV3IEFzc2VtYmxlciBVc2VyJ3MgR3VpZGUsIFJFViBhbmQgUkVWMTYgYXJlIGF2YWlsYWJsZQotICogaW4gVGh1bWIgY29kZSBhbmQgMTYtYml0IGluc3RydWN0aW9ucyB3aGVuIHVzZWQgaW4gVGh1bWItMiBjb2RlLgotICoKLSAqIFJFViBSZCwgUm0KLSAqICAgUmQgYW5kIFJtIG11c3QgYm90aCBiZSBMbyByZWdpc3RlcnMuCi0gKgotICogUkVWMTYgUmQsIFJtCi0gKiAgIFJkIGFuZCBSbSBtdXN0IGJvdGggYmUgTG8gcmVnaXN0ZXJzLgotICoKLSAqIFRoZSArbCBjb25zdHJhaW50IHRha2VzIGNhcmUgb2YgdGhpcyB3aXRob3V0IGNvbnN0cmFpbmluZyB1cyBpbiBBUk0gbW9kZS4KLSAqLwotI2RlZmluZSBfX3N3YXAxNm1kKHgpICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICByZWdpc3RlciB1X2ludDE2X3QgX3ggPSAoeCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInJldjE2ICUwLCAlMCIgOiAiK2wiIChfeCkpOyAgICAgICAgICAgXAotICAgIF94OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLX0pCi0KLSNkZWZpbmUgX19zd2FwMzJtZCh4KSAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcmVnaXN0ZXIgdV9pbnQzMl90IF94ID0gKHgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJyZXYgJTAsICUwIiA6ICIrbCIgKF94KSk7ICAgICAgICAgICAgIFwKLSAgICBfeDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi19KQotCi0jZGVmaW5lIF9fc3dhcDY0bWQoeCkgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHVfaW50NjRfdCBfc3dhcDY0bWRfeCA9ICh4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAodV9pbnQ2NF90KSBfX3N3YXAzMm1kKF9zd2FwNjRtZF94ID4+IDMyKSB8ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICh1X2ludDY0X3QpIF9fc3dhcDMybWQoX3N3YXA2NG1kX3ggJiAweGZmZmZmZmZmKSA8PCAzMjsgXAotfSkKLQotLyogVGVsbCBzeXMvZW5kaWFuLmggd2UgaGF2ZSBNRCB2YXJpYW50cyBvZiB0aGUgc3dhcCBtYWNyb3MuICAqLwotI2RlZmluZSBNRF9TV0FQCi0KLSNlbmRpZiAgLyogX19HTlVDX18gKi8KLQotI2lmIGRlZmluZWQoX19BUk1FQl9fKQotI2RlZmluZSBfQllURV9PUkRFUiBfQklHX0VORElBTgotI2Vsc2UKLSNkZWZpbmUgX0JZVEVfT1JERVIgX0xJVFRMRV9FTkRJQU4KLSNlbmRpZgotI2RlZmluZSBfX1NUUklDVF9BTElHTk1FTlQKLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvZW5kaWFuLmg+Ci0KLSNlbmRpZiAgLyogIV9BUk1fRU5ESUFOX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2luY2x1ZGUvbWFjaGluZS9leGVjLmggYi9saWJjL2FyY2gtYXJtL2luY2x1ZGUvbWFjaGluZS9leGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyN2IyMDcuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybS9pbmNsdWRlL21hY2hpbmUvZXhlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoJJE9wZW5CU0Q6IGV4ZWMuaCx2IDEuOSAyMDAzLzA0LzE3IDAzOjQyOjE0IGRyYWhuIEV4cCAkCSovCi0vKgkkTmV0QlNEOiBleGVjLmgsdiAxLjYgMTk5NC8xMC8yNyAwNDoxNjowNSBjZ2QgRXhwICQJKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMTk5MyBDaHJpc3RvcGhlciBHLiBEZW1ldHJpb3UKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKLSAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKLSAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKLSAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCi0gKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKLSAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgX0FSTV9FWEVDX0hfCi0jZGVmaW5lIF9BUk1fRVhFQ19IXwotCi0jZGVmaW5lIF9fTERQR1NaCTQwOTYKLQotI2RlZmluZSBOQVRJVkVfRVhFQ19FTEYKLQotI2RlZmluZSBBUkNIX0VMRlNJWkUJCTMyCi0KLSNkZWZpbmUgRUxGX1RBUkdfQ0xBU1MJCUVMRkNMQVNTMzIKLSNkZWZpbmUgRUxGX1RBUkdfREFUQQkJRUxGREFUQTJMU0IKLSNkZWZpbmUgRUxGX1RBUkdfTUFDSAkJRU1fQVJNCi0KLSNkZWZpbmUgX05MSVNUX0RPX0FPVVQKLSNkZWZpbmUgX05MSVNUX0RPX0VMRgotCi0jZGVmaW5lIF9LRVJOX0RPX0FPVVQKLSNkZWZpbmUgX0tFUk5fRE9fRUxGCi0KLSNlbmRpZiAgLyogX0FSTV9FWEVDX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2luY2x1ZGUvbWFjaGluZS9zZXRqbXAuaCBiL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCmluZGV4IDA5NDEyMDIuLmNjOWMzNDcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCisrKyBiL2xpYmMvYXJjaC1hcm0vaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCkBAIC0yNiwxMCArMjYsNiBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAotLyoKLSAqIG1hY2hpbmUvc2V0am1wLmg6IG1hY2hpbmUgZGVwZW5kZW50IHNldGptcC1yZWxhdGVkIGluZm9ybWF0aW9uLgotICovCi0KIC8qIF9KQkxFTiBpcyB0aGUgc2l6ZSBvZiBhIGptcF9idWYgaW4gbG9uZ3MuCiAgKiBEbyBub3QgbW9kaWZ5IHRoaXMgdmFsdWUgb3IgeW91IHdpbGwgYnJlYWsgdGhlIEFCSSAhCiAgKgpAQCAtMzcsNDYgKzMzLDMgQEAKICAqIHRoYXQgd2FzIHJlcGxhY2VkIGJ5IHRoaXMgb25lLgogICovCiAjZGVmaW5lIF9KQkxFTiAgNjQKLQotLyogQWNjb3JkaW5nIHRvIHRoZSBBUk0gQUFQQ1MgZG9jdW1lbnQsIHdlIG9ubHkgbmVlZCB0byBzYXZlCi0gKiB0aGUgZm9sbG93aW5nIHJlZ2lzdGVyczoKLSAqCi0gKiAgQ29yZSAgIHI0LXIxNAotICoKLSAqICBWRlAgICAgZDgtZDE1ICAoc2VlIHNlY3Rpb24gNS4xLjIuMSkKLSAqCi0gKiAgICAgIFJlZ2lzdGVycyBzMTYtczMxIChkOC1kMTUsIHE0LXE3KSBtdXN0IGJlIHByZXNlcnZlZCBhY3Jvc3Mgc3Vicm91dGluZQotICogICAgICBjYWxsczsgcmVnaXN0ZXJzIHMwLXMxNSAoZDAtZDcsIHEwLXEzKSBkbyBub3QgbmVlZCB0byBiZSBwcmVzZXJ2ZWQKLSAqICAgICAgKGFuZCBjYW4gYmUgdXNlZCBmb3IgcGFzc2luZyBhcmd1bWVudHMgb3IgcmV0dXJuaW5nIHJlc3VsdHMgaW4gc3RhbmRhcmQKLSAqICAgICAgcHJvY2VkdXJlLWNhbGwgdmFyaWFudHMpLiBSZWdpc3RlcnMgZDE2LWQzMSAocTgtcTE1KSwgaWYgcHJlc2VudCwgZG8KLSAqICAgICAgbm90IG5lZWQgdG8gYmUgcHJlc2VydmVkLgotICoKLSAqICBGUFNDUiAgc2F2ZWQgYmVjYXVzZSBHTGliYyBkb2VzIHNhdmVzIGl0IHRvby4KLSAqCi0gKi8KLQotLyogVGhlIGludGVybmFsIHN0cnVjdHVyZSBvZiBhIGptcF9idWYgaXMgdG90YWxseSBwcml2YXRlLgotICogQ3VycmVudCBsYXlvdXQgKG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSk6Ci0gKgotICogd29yZCAgIG5hbWUgICAgICAgICBkZXNjcmlwdGlvbgotICogMCAgICAgIG1hZ2ljICAgICAgICBtYWdpYyBudW1iZXIKLSAqIDEgICAgICBzaWdtYXNrICAgICAgc2lnbmFsIG1hc2sgKG5vdCB1c2VkIHdpdGggX3NldGptcCAvIF9sb25nam1wKQotICogMiAgICAgIGZsb2F0X2Jhc2UgICBiYXNlIG9mIGZsb2F0IHJlZ2lzdGVycyAoZDggdG8gZDE1KQotICogMTggICAgIGZsb2F0X3N0YXRlICBmbG9hdGluZy1wb2ludCBzdGF0dXMgYW5kIGNvbnRyb2wgcmVnaXN0ZXIKLSAqIDE5ICAgICBjb3JlX2Jhc2UgICAgYmFzZSBvZiBjb3JlIHJlZ2lzdGVycyAocjQgdG8gcjE0KQotICogMzAgICAgIHJlc2VydmVkICAgICByZXNlcnZlZCBlbnRyaWVzIChyb29tIHRvIGdyb3cpCi0gKiA2NAotICoKLSAqIE5PVEU6IGZsb2F0X2Jhc2UgbXVzdCBiZSBhdCBhbiBldmVuIHdvcmQgaW5kZXgsIHNpbmNlIHRoZQotICogICAgICAgRlAgcmVnaXN0ZXJzIHdpbGwgYmUgbG9hZGVkL3N0b3JlZCB3aXRoIGluc3RydWN0aW9ucwotICogICAgICAgdGhhdCBleHBlY3QgOC1ieXRlIGFsaWdubWVudC4KLSAqLwotCi0jZGVmaW5lIF9KQl9NQUdJQyAgICAgICAwCi0jZGVmaW5lIF9KQl9TSUdNQVNLICAgICAoX0pCX01BR0lDKzEpCi0jZGVmaW5lIF9KQl9GTE9BVF9CQVNFICAoX0pCX1NJR01BU0srMSkKLSNkZWZpbmUgX0pCX0ZMT0FUX1NUQVRFIChfSkJfRkxPQVRfQkFTRSArICgxNS04KzEpKjIpCi0jZGVmaW5lIF9KQl9DT1JFX0JBU0UgICAoX0pCX0ZMT0FUX1NUQVRFKzEpCi0KLSNkZWZpbmUgX0pCX01BR0lDX19TRVRKTVAJMHg0Mjc4ZjUwMAotI2RlZmluZSBfSkJfTUFHSUNfU0VUSk1QCTB4NDI3OGY1MDEKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0va3JhaXQva3JhaXQubWsgYi9saWJjL2FyY2gtYXJtL2tyYWl0L2tyYWl0Lm1rCmluZGV4IDFiYjdiMGEuLjg4YjRkNjYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0va3JhaXQva3JhaXQubWsKKysrIGIvbGliYy9hcmNoLWFybS9rcmFpdC9rcmFpdC5tawpAQCAtMTEsNCArMTEsOSBAQAogICAgIGFyY2gtYXJtL2NvcnRleC1hMTUvYmlvbmljL3N0cmNhdC5TIFwKICAgICBhcmNoLWFybS9jb3J0ZXgtYTE1L2Jpb25pYy9zdHJjcHkuUyBcCiAgICAgYXJjaC1hcm0vY29ydGV4LWExNS9iaW9uaWMvc3RybGVuLlMgXAotICAgIGJpb25pYy9tZW1tb3ZlLmMgXAorCitsaWJjX2Jpb25pY19zcmNfZmlsZXNfYXJtICs9IFwKKyAgICBhcmNoLWFybS9nZW5lcmljL2Jpb25pYy9tZW1jbXAuUyBcCisKK2xpYmNfYmlvbmljX3NyY19maWxlc19hcm0gKz0gXAorICAgIGFyY2gtYXJtL2RlbnZlci9iaW9uaWMvbWVtbW92ZS5TIFwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX19fY2xvc2UuUyBiL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX19fY2xvc2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjhhMjMwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX19jbG9zZS5TCkBAIC0wLDAgKzEsMTUgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fY2xvc2UpCisgICAgbW92ICAgICBpcCwgcjcKKyAgICBsZHIgICAgIHI3LCA9X19OUl9jbG9zZQorICAgIHN3aSAgICAgIzAKKyAgICBtb3YgICAgIHI3LCBpcAorICAgIGNtbiAgICAgcjAsICMoTUFYX0VSUk5PICsgMSkKKyAgICBieGxzICAgIGxyCisgICAgbmVnICAgICByMCwgcjAKKyAgICBiICAgICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCitFTkQoX19fY2xvc2UpCisuaGlkZGVuIF9fX2Nsb3NlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX19mYWNjZXNzYXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDA5Y2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX19mYWNjZXNzYXQuUwpAQCAtMCwwICsxLDE1IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZhY2Nlc3NhdCkKKyAgICBtb3YgICAgIGlwLCByNworICAgIGxkciAgICAgcjcsID1fX05SX2ZhY2Nlc3NhdAorICAgIHN3aSAgICAgIzAKKyAgICBtb3YgICAgIHI3LCBpcAorICAgIGNtbiAgICAgcjAsICMoTUFYX0VSUk5PICsgMSkKKyAgICBieGxzICAgIGxyCisgICAgbmVnICAgICByMCwgcjAKKyAgICBiICAgICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCitFTkQoX19fZmFjY2Vzc2F0KQorLmhpZGRlbiBfX19mYWNjZXNzYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX19fZmNobW9kLlMgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fX2ZjaG1vZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2ZGE0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fX2ZjaG1vZC5TCkBAIC0wLDAgKzEsMTUgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fZmNobW9kKQorICAgIG1vdiAgICAgaXAsIHI3CisgICAgbGRyICAgICByNywgPV9fTlJfZmNobW9kCisgICAgc3dpICAgICAjMAorICAgIG1vdiAgICAgcjcsIGlwCisgICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGJ4bHMgICAgbHIKKyAgICBuZWcgICAgIHIwLCByMAorICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKK0VORChfX19mY2htb2QpCisuaGlkZGVuIF9fX2ZjaG1vZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX19mY2htb2RhdC5TIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX19mY2htb2RhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYmJkYTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fX2ZjaG1vZGF0LlMKQEAgLTAsMCArMSwxNSBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19mY2htb2RhdCkKKyAgICBtb3YgICAgIGlwLCByNworICAgIGxkciAgICAgcjcsID1fX05SX2ZjaG1vZGF0CisgICAgc3dpICAgICAjMAorICAgIG1vdiAgICAgcjcsIGlwCisgICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGJ4bHMgICAgbHIKKyAgICBuZWcgICAgIHIwLCByMAorICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKK0VORChfX19mY2htb2RhdCkKKy5oaWRkZW4gX19fZmNobW9kYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTdmZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX2Nsb2NrX25hbm9zbGVlcC5TCkBAIC0wLDAgKzEsMTQgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19jbG9ja19uYW5vc2xlZXApCisgICAgbW92ICAgICBpcCwgcjcKKyAgICBsZHIgICAgIHI3LCA9X19OUl9jbG9ja19uYW5vc2xlZXAKKyAgICBzd2kgICAgICMwCisgICAgbW92ICAgICByNywgaXAKKyAgICBjbW4gICAgIHIwLCAjKE1BWF9FUlJOTyArIDEpCisgICAgYnhscyAgICBscgorICAgIG5lZyAgICAgcjAsIHIwCisgICAgYiAgICAgICBfX3NldF9lcnJub19pbnRlcm5hbAorRU5EKF9fY2xvY2tfbmFub3NsZWVwKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MjNjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fcnRfc2lncXVldWVpbmZvLlMKQEAgLTAsMCArMSwxNCBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX3J0X3NpZ3F1ZXVlaW5mbykKKyAgICBtb3YgICAgIGlwLCByNworICAgIGxkciAgICAgcjcsID1fX05SX3J0X3NpZ3F1ZXVlaW5mbworICAgIHN3aSAgICAgIzAKKyAgICBtb3YgICAgIHI3LCBpcAorICAgIGNtbiAgICAgcjAsICMoTUFYX0VSUk5PICsgMSkKKyAgICBieGxzICAgIGxyCisgICAgbmVnICAgICByMCwgcjAKKyAgICBiICAgICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCitFTkQoX19ydF9zaWdxdWV1ZWluZm8pCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19leGl0LlMgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19leGl0LlMKaW5kZXggMzI4YTVjZS4uNzdkYTc0MyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9fZXhpdC5TCisrKyBiL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX2V4aXQuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKIEVORChfZXhpdCkKIAotICAgIC5nbG9ibCBfRXhpdAotICAgIC5lcXUgX0V4aXQsIF9leGl0CitBTElBU19TWU1CT0woX0V4aXQsIF9leGl0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwMjk1YmIuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoY2xvY2tfbmFub3NsZWVwKQotICAgIG1vdiAgICAgaXAsIHI3Ci0gICAgbGRyICAgICByNywgPV9fTlJfY2xvY2tfbmFub3NsZWVwCi0gICAgc3dpICAgICAjMAotICAgIG1vdiAgICAgcjcsIGlwCi0gICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGJ4bHMgICAgbHIKLSAgICBuZWcgICAgIHIwLCByMAotICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLUVORChjbG9ja19uYW5vc2xlZXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL2Nsb3NlLlMgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL2Nsb3NlLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjMDU0NDUuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9jbG9zZS5TCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShjbG9zZSkKLSAgICBtb3YgICAgIGlwLCByNwotICAgIGxkciAgICAgcjcsID1fX05SX2Nsb3NlCi0gICAgc3dpICAgICAjMAotICAgIG1vdiAgICAgcjcsIGlwCi0gICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGJ4bHMgICAgbHIKLSAgICBuZWcgICAgIHIwLCByMAotICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLUVORChjbG9zZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZmFjY2Vzc2F0LlMgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWRmNWMwLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZmFjY2Vzc2F0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZhY2Nlc3NhdCkKLSAgICBtb3YgICAgIGlwLCByNwotICAgIGxkciAgICAgcjcsID1fX05SX2ZhY2Nlc3NhdAotICAgIHN3aSAgICAgIzAKLSAgICBtb3YgICAgIHI3LCBpcAotICAgIGNtbiAgICAgcjAsICMoTUFYX0VSUk5PICsgMSkKLSAgICBieGxzICAgIGxyCi0gICAgbmVnICAgICByMCwgcjAKLSAgICBiICAgICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi1FTkQoZmFjY2Vzc2F0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mY2htb2QuUyBiL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZmNobW9kLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2NzVmMGEuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mY2htb2QuUworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZmNobW9kKQotICAgIG1vdiAgICAgaXAsIHI3Ci0gICAgbGRyICAgICByNywgPV9fTlJfZmNobW9kCi0gICAgc3dpICAgICAjMAotICAgIG1vdiAgICAgcjcsIGlwCi0gICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGJ4bHMgICAgbHIKLSAgICBuZWcgICAgIHIwLCByMAotICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLUVORChmY2htb2QpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL2ZjaG1vZGF0LlMgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL2ZjaG1vZGF0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmN2UwZWUuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mY2htb2RhdC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmY2htb2RhdCkKLSAgICBtb3YgICAgIGlwLCByNwotICAgIGxkciAgICAgcjcsID1fX05SX2ZjaG1vZGF0Ci0gICAgc3dpICAgICAjMAotICAgIG1vdiAgICAgcjcsIGlwCi0gICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGJ4bHMgICAgbHIKLSAgICBuZWcgICAgIHIwLCByMAotICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLUVORChmY2htb2RhdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZnN0YXQ2NC5TIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mc3RhdDY0LlMKaW5kZXggYzYwZTdlZS4uNzk4YmJhNyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mc3RhdDY0LlMKKysrIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mc3RhdDY0LlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICBiICAgICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCiBFTkQoZnN0YXQ2NCkKIAotICAgIC5nbG9ibCBmc3RhdAotICAgIC5lcXUgZnN0YXQsIGZzdGF0NjQKK0FMSUFTX1NZTUJPTChmc3RhdCwgZnN0YXQ2NCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZnN0YXRhdDY0LlMgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL2ZzdGF0YXQ2NC5TCmluZGV4IGNlNTZjMzYuLjAzZTAwNTIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZnN0YXRhdDY0LlMKKysrIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9mc3RhdGF0NjQuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKIEVORChmc3RhdGF0NjQpCiAKLSAgICAuZ2xvYmwgZnN0YXRhdAotICAgIC5lcXUgZnN0YXRhdCwgZnN0YXRhdDY0CitBTElBU19TWU1CT0woZnN0YXRhdCwgZnN0YXRhdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybS9zeXNjYWxscy9zZXRob3N0bmFtZS5TIGIvbGliYy9hcmNoLWFybS9zeXNjYWxscy9zZXRob3N0bmFtZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhOThmZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL3NldGhvc3RuYW1lLlMKQEAgLTAsMCArMSwxNCBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShzZXRob3N0bmFtZSkKKyAgICBtb3YgICAgIGlwLCByNworICAgIGxkciAgICAgcjcsID1fX05SX3NldGhvc3RuYW1lCisgICAgc3dpICAgICAjMAorICAgIG1vdiAgICAgcjcsIGlwCisgICAgY21uICAgICByMCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGJ4bHMgICAgbHIKKyAgICBuZWcgICAgIHIwLCByMAorICAgIGIgICAgICAgX19zZXRfZXJybm9faW50ZXJuYWwKK0VORChzZXRob3N0bmFtZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9hcm02NC5tayBiL2xpYmMvYXJjaC1hcm02NC9hcm02NC5tawppbmRleCBiYjZjYTYzLi42YTJmMzEzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvYXJtNjQubWsKKysrIGIvbGliYy9hcmNoLWFybTY0L2FybTY0Lm1rCkBAIC04LDcgKzgsNiBAQAogICAgIGJpb25pYy9fX21lbXNldF9jaGsuY3BwIFwKICAgICBiaW9uaWMvX19zdHJjcHlfY2hrLmNwcCBcCiAgICAgYmlvbmljL19fc3RyY2F0X2Noay5jcHAgXAotICAgIGJpb25pYy9tZW1yY2hyLmMgXAogICAgIGJpb25pYy9zdHJyY2hyLmNwcCBcCiAKIGxpYmNfZnJlZWJzZF9zcmNfZmlsZXNfYXJtNjQgKz0gXApAQCAtMjEsNiArMjAsNyBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1jbXAuYyBcCiAKIGxpYmNfb3BlbmJzZF9zcmNfZmlsZXNfYXJtNjQgKz0gXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbXJjaHIuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RwbmNweS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJjYXQuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGNhdC5jIFwKQEAgLTM1LDEzICszNSwxMyBAQAogbGliY19iaW9uaWNfc3JjX2ZpbGVzX2FybTY0ICs9IFwKICAgICBhcmNoLWFybTY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TIFwKICAgICBhcmNoLWFybTY0L2Jpb25pYy9fZXhpdF93aXRoX3N0YWNrX3RlYXJkb3duLlMgXAotICAgIGFyY2gtYXJtNjQvYmlvbmljL19zZXRqbXAuUyBcCiAgICAgYXJjaC1hcm02NC9iaW9uaWMvc2V0am1wLlMgXAogICAgIGFyY2gtYXJtNjQvYmlvbmljL19fc2V0X3Rscy5jIFwKLSAgICBhcmNoLWFybTY0L2Jpb25pYy9zaWdzZXRqbXAuUyBcCiAgICAgYXJjaC1hcm02NC9iaW9uaWMvc3lzY2FsbC5TIFwKICAgICBhcmNoLWFybTY0L2Jpb25pYy92Zm9yay5TIFwKIAorIyBXb3JrIGFyb3VuZCBmb3IgaHR0cDovL2IvMjAwNjU3NzQuCitsaWJjX2Jpb25pY19zcmNfZmlsZXNfYXJtNjQgKz0gYXJjaC1hcm02NC9iaW9uaWMvbGliZ2NjX2NvbXBhdC5jCiAKIGxpYmNfY3J0X3RhcmdldF9jZmxhZ3NfYXJtNjQgOj0gXAogICAgIC1JJChMT0NBTF9QQVRIKS9hcmNoLWFybTY0L2luY2x1ZGUKQEAgLTYxLDYgKzYxLDYgQEAKICQoZXJyb3IgIlRBUkdFVF9DUFVfVkFSSUFOVCBub3Qgc2V0IG9yIHNldCB0byBhbiB1bmtub3duIHZhbHVlLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGdlbmVyaWMsIGRlbnZlcjY0LiBVc2UgZ2VuZXJpYyBmb3IgZGV2aWNlcyB0aGF0IGRvIG5vdCBoYXZlIGEgQ1BVIHNpbWlsYXIgdG8gYW55IG9mIHRoZSBzdXBwb3J0ZWQgY3B1IHZhcmlhbnRzLiIpCiBlbmRpZgogaW5jbHVkZSAkKGNwdV92YXJpYW50X21rKQotbGliY19jb21tb25fYWRkaXRpb25hbF9kZXBlbmRlbmNpZXMgKz0gJChjcHVfdmFyaWFua19taykKK2xpYmNfY29tbW9uX2FkZGl0aW9uYWxfZGVwZW5kZW5jaWVzICs9ICQoY3B1X3ZhcmlhbnRfbWspCiAKIGNwdV92YXJpYW50X21rIDo9CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMKaW5kZXggNTZhYzBmNi4uMjdlNDRlNyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUwpAQCAtMzEsOCArMzEsOCBAQAogLy8gcGlkX3QgX19iaW9uaWNfY2xvbmUoaW50IGZsYWdzLCB2b2lkKiBjaGlsZF9zdGFjaywgcGlkX3QqIHBhcmVudF90aWQsIHZvaWQqIHRscywgcGlkX3QqIGNoaWxkX3RpZCwgaW50ICgqZm4pKHZvaWQqKSwgdm9pZCogYXJnKTsKIAogRU5UUlkoX19iaW9uaWNfY2xvbmUpCi0gICAgIyBDb3B5ICdmbicgYW5kICdhcmcnIG9udG8gdGhlIGNoaWxkIHN0YWNrLgotICAgIHN0cCAgICAgeDUsIHg2LCBbeDEsICMtMTZdCisgICAgIyBQdXNoICdmbicgYW5kICdhcmcnIG9udG8gdGhlIGNoaWxkIHN0YWNrLgorICAgIHN0cCAgICAgeDUsIHg2LCBbeDEsICMtMTZdIQogCiAgICAgIyBNYWtlIHRoZSBzeXN0ZW0gY2FsbC4KICAgICBtb3YgICAgIHg4LCBfX05SX2Nsb25lCkBAIC00OSwxMiArNDksMTIgQEAKICAgICByZXQKIAogLkxfYmNfY2hpbGQ6Ci0gICAgIyBXZSdyZSBpbiB0aGUgY2hpbGQgbm93LiBTZXQgdGhlIGVuZCBvZiB0aGUgZnJhbWUgcmVjb3JkIGNoYWluLi4uCi0gICAgbW92ICAgICB4MjksIHh6cgotICAgICMgU2V0dGluZyB4MzAgdG8gMCB3aWxsIG1ha2UgdGhlIHVud2luZGVyIHN0b3AgYXQgX19zdGFydF90aHJlYWQKLSAgICBtb3YgICAgIHgzMCwgeHpyCi0gICAgIyAuLi5hbmQgY2FsbCBfX3N0YXJ0X3RocmVhZCB3aXRoIHRoZSAnZm4nIGFuZCAnYXJnJyB3ZSBzdG9yZWQgb24gdGhlIGNoaWxkIHN0YWNrLgotICAgIGxkcCAgICAgeDAsIHgxLCBbc3AsICMtMTZdCisgICAgIyBXZSdyZSBpbiB0aGUgY2hpbGQgbm93LiBTZXQgdGhlIGVuZCBvZiB0aGUgZnJhbWUgcmVjb3JkIGNoYWluLgorICAgIG1vdiAgICAgeDI5LCAjMAorICAgICMgU2V0dGluZyB4MzAgdG8gMCB3aWxsIG1ha2UgdGhlIHVud2luZGVyIHN0b3AgYXQgX19zdGFydF90aHJlYWQuCisgICAgbW92ICAgICB4MzAsICMwCisgICAgIyBDYWxsIF9fc3RhcnRfdGhyZWFkIHdpdGggdGhlICdmbicgYW5kICdhcmcnIHdlIHN0b3JlZCBvbiB0aGUgY2hpbGQgc3RhY2suCisgICAgbGRwICAgICB4MCwgeDEsIFtzcF0sICMxNgogICAgIGIgICAgICAgX19zdGFydF90aHJlYWQKIEVORChfX2Jpb25pY19jbG9uZSkKIC5oaWRkZW4gX19iaW9uaWNfY2xvbmUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvX3NldGptcC5TIGIvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9fc2V0am1wLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4MzY4OTkuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9fc2V0am1wLlMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9zZXRqbXAuaD4KLQotLyoKLSAqIEMgbGlicmFyeSAtIF9zZXRqbXAsIF9sb25nam1wCi0gKgotICogX2xvbmdqbXAoam1wX2J1ZiBzdGF0ZSwgaW50IHZhbHVlKQotICogd2lsbCBnZW5lcmF0ZSBhICJyZXR1cm4odikiIGZyb20gdGhlIGxhc3QgY2FsbCB0byBfc2V0am1wKHN0YXRlKSBieSByZXN0b3JpbmcKLSAqIHJlZ2lzdGVycyBmcm9tIHRoZSBzdGFjay4gVGhlIHByZXZpb3VzIHNpZ25hbCBzdGF0ZSBpcyBOT1QgcmVzdG9yZWQuCi0gKgotICogTk9URTogeDAgcmV0dXJuIHZhbHVlCi0gKiAgICAgICB4OS14MTUgdGVtcG9yYXJ5IHJlZ2lzdGVycwotICovCi0KLUVOVFJZKF9zZXRqbXApCi0gICAgLyogc3RvcmUgbWFnaWMgbnVtYmVyICovCi0gICAgbGRyICAgICB3OSwgLkxfc2V0am1wX21hZ2ljCi0gICAgc3RyICAgICB3OSwgW3gwLCAjKF9KQl9NQUdJQyAqIDQpXQotCi0gICAgLyogc3RvcmUgY29yZSByZWdpc3RlcnMgKi8KLSAgICBtb3YgICAgIHgxMCwgc3AKLSAgICBzdHAgICAgIHgzMCwgeDEwLCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDApXQotICAgIHN0cCAgICAgeDI4LCB4MjksIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogMSldCi0gICAgc3RwICAgICB4MjYsIHgyNywgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiAyKV0KLSAgICBzdHAgICAgIHgyNCwgeDI1LCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDMpXQotICAgIHN0cCAgICAgeDIyLCB4MjMsIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogNCldCi0gICAgc3RwICAgICB4MjAsIHgyMSwgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiA1KV0KLSAgICBzdHIgICAgIHgxOSwgICAgICBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDYpXQotCi0gICAgLyogc3RvcmUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzICovCi0gICAgc3RwICAgICBkMTQsIGQxNSwgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMCldCi0gICAgc3RwICAgICBkMTIsIGQxMywgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMSldCi0gICAgc3RwICAgICBkMTAsIGQxMSwgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMildCi0gICAgc3RwICAgICBkOCwgIGQ5LCAgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMyldCi0KLSAgICBtb3YgICAgIHcwLCB3enIKLSAgICByZXQKLUVORChfc2V0am1wKQotCi0uTF9zZXRqbXBfbWFnaWM6Ci0gICAgLndvcmQgICBfSkJfTUFHSUNfX1NFVEpNUAotCi1FTlRSWShfbG9uZ2ptcCkKLSAgICAvKiBjaGVjayBtYWdpYyAqLwotICAgIGxkciAgICAgdzksIC5MX3NldGptcF9tYWdpYwotICAgIGxkciAgICAgdzEwLCBbeDAsICMoX0pCX01BR0lDICogNCldCi0gICAgY21wICAgICB3OSwgdzEwCi0gICAgYi5uZSAgICAuTF9mYWlsCi0KLSAgICAvKiByZXN0b3JlIGNvcmUgcmVnaXN0ZXJzICovCi0gICAgbGRwICAgICB4MzAsIHgxMCwgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiAwKV0KLSAgICBtb3YgICAgIHNwLCB4MTAKLSAgICBsZHAgICAgIHgyOCwgeDI5LCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDEpXQotICAgIGxkcCAgICAgeDI2LCB4MjcsIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogMildCi0gICAgbGRwICAgICB4MjQsIHgyNSwgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiAzKV0KLSAgICBsZHAgICAgIHgyMiwgeDIzLCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDQpXQotICAgIGxkcCAgICAgeDIwLCB4MjEsIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogNSldCi0gICAgbGRyICAgICB4MTksICAgICAgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiA2KV0KLQotICAgIC8qIHJlc3RvcmUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzICovCi0gICAgbGRwICAgICBkMTQsIGQxNSwgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMCldCi0gICAgbGRwICAgICBkMTIsIGQxMywgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMSldCi0gICAgbGRwICAgICBkMTAsIGQxMSwgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMildCi0gICAgbGRwICAgICBkOCwgIGQ5LCAgW3gwLCAjKF9KQl9GTE9BVF9CQVNFICogNCArIDE2ICogMyldCi0KLSAgICAvKiB2YWxpZGF0ZSBzcCAoc3AgbW9kIDE2ID0gMCkgYW5kIGxyIChsciBtb2QgNCA9IDApICovCi0gICAgdHN0ICAgICB4MzAsICMzCi0gICAgYi5uZSAgICAuTF9mYWlsCi0gICAgbW92ICAgICB4MTAsIHNwCi0gICAgdHN0ICAgICB4MTAsICMxNQotICAgIGIubmUgICAgLkxfZmFpbAotCi0gICAgLyogc2V0IHJldHVybiB2YWx1ZSAqLwotICAgIGNtcCAgICAgdzEsIHd6cgotICAgIGNzaW5jICAgdzAsIHcxLCB3enIsIG5lCi0gICAgcmV0Ci0KLSAgICAvKiB2YWxpZGF0aW9uIGZhaWxlZCwgZGllIGRpZSBkaWUgKi8KLS5MX2ZhaWw6Ci0gICAgYmwgICAgICBQSUNfU1lNKGxvbmdqbXBlcnJvciwgUExUKQotICAgIGJsICAgICAgUElDX1NZTShhYm9ydCwgUExUKQotICAgIGIgICAgICAgIC4gLSA4ICAgICAgIC8qIENhbm5vdCBnZXQgaGVyZSAqLwotRU5EKF9sb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9jcnRiZWdpbi5jIGIvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9jcnRiZWdpbi5jCmluZGV4IGZlYzBiMTEuLjdlMmM1ZDcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvY3J0YmVnaW4uYworKysgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL2NydGJlZ2luLmMKQEAgLTY3LDMgKzY3LDQgQEAKIAogI2luY2x1ZGUgIi4uLy4uL2FyY2gtY29tbW9uL2Jpb25pYy9fX2Rzb19oYW5kbGUuaCIKICNpbmNsdWRlICIuLi8uLi9hcmNoLWNvbW1vbi9iaW9uaWMvYXRleGl0LmgiCisjaW5jbHVkZSAiLi4vLi4vYXJjaC1jb21tb24vYmlvbmljL3B0aHJlYWRfYXRmb3JrLmgiCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvYmlvbmljL2xpYmdjY19jb21wYXQuYyBiL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvbGliZ2NjX2NvbXBhdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkYWUzZjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL2xpYmdjY19jb21wYXQuYwpAQCAtMCwwICsxLDE1IEBACisvKiBTVE9QU0hJUDogcmVtb3ZlIHRoaXMgb25jZSB0aGUgZmxvdW5kZXIgYmxvYnMgaGF2ZSBiZWVuIHJlYnVpbHQgKGh0dHA6Ly9iLzIwMDY1Nzc0KS4gKi8KKworI2lmICFkZWZpbmVkKF9fY2xhbmdfXykKKworZXh0ZXJuIHZvaWQgX19jbGVhcl9jYWNoZShjaGFyKiwgY2hhciopOworZXh0ZXJuIGNoYXIgX1Vud2luZF9CYWNrdHJhY2U7CitleHRlcm4gY2hhciBfVW53aW5kX0dldElQOworCit2b2lkKiBfX2Jpb25pY19saWJnY2NfY29tcGF0X3N5bWJvbHNbXSA9IHsKKyAgICAmX19jbGVhcl9jYWNoZSwKKyAgICAmX1Vud2luZF9CYWNrdHJhY2UsCisgICAgJl9VbndpbmRfR2V0SVAsCit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvc2V0am1wLlMgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL3NldGptcC5TCmluZGV4IGY5ZDIyNjYuLmJhMGEyMjYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvc2V0am1wLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9zZXRqbXAuUwpAQCAtMjcsOTcgKzI3LDEyNCBAQAogICovCiAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3NldGptcC5oPgogCi0vKgotICogQyBsaWJyYXJ5IC0gX3NldGptcCwgX2xvbmdqbXAKLSAqCi0gKiBfbG9uZ2ptcChqbXBfYnVmIHN0YXRlLCBpbnQgdmFsdWUpCi0gKiB3aWxsIGdlbmVyYXRlIGEgInJldHVybih2KSIgZnJvbSB0aGUgbGFzdCBjYWxsIHRvIF9zZXRqbXAoc3RhdGUpIGJ5IHJlc3RvcmluZwotICogcmVnaXN0ZXJzIGZyb20gdGhlIHN0YWNrLiBUaGUgcHJldmlvdXMgc2lnbmFsIHN0YXRlIGlzIE5PVCByZXN0b3JlZC4KLSAqCi0gKiBOT1RFOiB4MCByZXR1cm4gdmFsdWUKLSAqICAgICAgIHg5LXgxNSB0ZW1wb3JhcnkgcmVnaXN0ZXJzCi0gKi8KKy8vIEFjY29yZGluZyB0byBBQVJDSDY0IFBDUyBkb2N1bWVudCB3ZSBuZWVkIHRvIHNhdmUgdGhlIGZvbGxvd2luZworLy8gcmVnaXN0ZXJzOgorLy8KKy8vIENvcmUgICAgIHgxOSAtIHgzMCwgc3AgKHNlZSBzZWN0aW9uIDUuMS4xKQorLy8gVkZQICAgICAgZDggLSBkMTUgKHNlZSBzZWN0aW9uIDUuMS4yKQorLy8KKy8vIE5PVEU6IEFsbCB0aGUgcmVnaXN0ZXJzIHNhdmVkIGhlcmUgd2lsbCBoYXZlIDY0IGJpdCB2YWxlcy4KKy8vICAgICAgIEFBUENTIG1hbmRhdGVzIHRoYXQgdGhlIGhpZ2hlciBwYXJ0IG9mIHEgcmVnaXN0ZXJzIGRvIG5vdCBuZWVkIHRvCisvLyAgICAgICBiZSBzYXZlZCBieSB0aGUgY2FsbGVlLgorCisjZGVmaW5lIF9KQl9TSUdGTEFHICAgICAwCisjZGVmaW5lIF9KQl9TSUdNQVNLICAgICAoX0pCX1NJR0ZMQUcgKyAxKQorI2RlZmluZSBfSkJfWDMwX1NQICAgICAgKF9KQl9TSUdNQVNLICsgMSkKKyNkZWZpbmUgX0pCX1gyOF9YMjkgICAgIChfSkJfWDMwX1NQICArIDIpCisjZGVmaW5lIF9KQl9YMjZfWDI3ICAgICAoX0pCX1gyOF9YMjkgKyAyKQorI2RlZmluZSBfSkJfWDI0X1gyNSAgICAgKF9KQl9YMjZfWDI3ICsgMikKKyNkZWZpbmUgX0pCX1gyMl9YMjMgICAgIChfSkJfWDI0X1gyNSArIDIpCisjZGVmaW5lIF9KQl9YMjBfWDIxICAgICAoX0pCX1gyMl9YMjMgKyAyKQorI2RlZmluZSBfSkJfWDE5ICAgICAgICAgKF9KQl9YMjBfWDIxICsgMikKKyNkZWZpbmUgX0pCX0QxNF9EMTUgICAgIChfSkJfWDE5ICsgMSkKKyNkZWZpbmUgX0pCX0QxMl9EMTMgICAgIChfSkJfRDE0X0QxNSArIDIpCisjZGVmaW5lIF9KQl9EMTBfRDExICAgICAoX0pCX0QxMl9EMTMgKyAyKQorI2RlZmluZSBfSkJfRDhfRDkgICAgICAgKF9KQl9EMTBfRDExICsgMikKIAogRU5UUlkoc2V0am1wKQotICAgIC8qIGJsb2NrIGFsbCBzaWduYWxzIGFuIHJldHJpZXZlIHNpZ25hbCBtYXNrICovCi0gICAgc3RwICAgICB4MCwgeDMwLCBbc3AsICMtMTZdIQotCi0gICAgbW92ICAgICB4MCwgeHpyCi0gICAgYmwgICAgICBQSUNfU1lNKHNpZ2Jsb2NrLCBQTFQpCi0gICAgbW92ICAgICB3MSwgdzAKLQotICAgIGxkcCAgICAgeDAsIHgzMCwgW3NwXSwgIzE2Ci0KLSAgICAvKiBzdG9yZSBzaWduYWwgbWFzayAqLwotICAgIHN0ciAgICAgdzEsIFt4MCwgIyhfSkJfU0lHTUFTSyAqNCldCi0KLSAgICAvKiBzdG9yZSBtYWdpYyBudW1iZXIgKi8KLSAgICBsZHIgICAgIHc5LCAuTF9zZXRqbXBfbWFnaWMKLSAgICBzdHIgICAgIHc5LCBbeDAsICMoX0pCX01BR0lDICogNCldCi0KLSAgICAvKiBzdG9yZSBjb3JlIHJlZ2lzdGVycyAqLwotICAgIG1vdiAgICAgeDEwLCBzcAotICAgIHN0cCAgICAgeDMwLCB4MTAsIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogMCldCi0gICAgc3RwICAgICB4MjgsIHgyOSwgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiAxKV0KLSAgICBzdHAgICAgIHgyNiwgeDI3LCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDIpXQotICAgIHN0cCAgICAgeDI0LCB4MjUsIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogMyldCi0gICAgc3RwICAgICB4MjIsIHgyMywgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiA0KV0KLSAgICBzdHAgICAgIHgyMCwgeDIxLCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDUpXQotICAgIHN0ciAgICAgeDE5LCAgICAgIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogNildCi0KLSAgICAvKiBzdG9yZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgKi8KLSAgICBzdHAgICAgIGQxNCwgZDE1LCBbeDAsICMoX0pCX0ZMT0FUX0JBU0UgKiA0ICsgMTYgKiAwKV0KLSAgICBzdHAgICAgIGQxMiwgZDEzLCBbeDAsICMoX0pCX0ZMT0FUX0JBU0UgKiA0ICsgMTYgKiAxKV0KLSAgICBzdHAgICAgIGQxMCwgZDExLCBbeDAsICMoX0pCX0ZMT0FUX0JBU0UgKiA0ICsgMTYgKiAyKV0KLSAgICBzdHAgICAgIGQ4LCAgZDksICBbeDAsICMoX0pCX0ZMT0FUX0JBU0UgKiA0ICsgMTYgKiAzKV0KLQotICAgIG1vdiAgICAgdzAsIHd6cgotICAgIHJldAorICBtb3YgdzEsICMxCisgIGIgc2lnc2V0am1wCiBFTkQoc2V0am1wKQogCi0uTF9zZXRqbXBfbWFnaWM6Ci0gICAgLndvcmQgICBfSkJfTUFHSUNfX1NFVEpNUAorRU5UUlkoX3NldGptcCkKKyAgbW92IHcxLCAjMAorICBiIHNpZ3NldGptcAorRU5EKF9zZXRqbXApCiAKLUVOVFJZKGxvbmdqbXApCi0gICAgLyogY2hlY2sgbWFnaWMgKi8KLSAgICBsZHIgICAgIHc5LCAuTF9zZXRqbXBfbWFnaWMKLSAgICBsZHIgICAgIHcxMCwgW3gwLCAjKF9KQl9NQUdJQyAqIDQpXQotICAgIGNtcCAgICAgdzksIHcxMAotICAgIGIubmUgICAgLkxfZmFpbAorLy8gaW50IHNpZ3NldGptcChzaWdqbXBfYnVmIGVudiwgaW50IHNhdmVfc2lnbmFsX21hc2spOworRU5UUlkoc2lnc2V0am1wKQorICAvLyBSZWNvcmQgd2hldGhlciBvciBub3Qgd2UncmUgc2F2aW5nIHRoZSBzaWduYWwgbWFzay4KKyAgc3RyIHcxLCBbeDAsICMoX0pCX1NJR0ZMQUcgKiA4KV0KIAotICAgIC8qIHJlc3RvcmUgY29yZSByZWdpc3RlcnMgKi8KLSAgICBsZHAgICAgIHgzMCwgeDEwLCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDApXQotICAgIG1vdiAgICAgc3AsIHgxMAotICAgIGxkcCAgICAgeDI4LCB4MjksIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogMSldCi0gICAgbGRwICAgICB4MjYsIHgyNywgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiAyKV0KLSAgICBsZHAgICAgIHgyNCwgeDI1LCBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDMpXQotICAgIGxkcCAgICAgeDIyLCB4MjMsIFt4MCwgIyhfSkJfQ09SRV9CQVNFICogNCArIDE2ICogNCldCi0gICAgbGRwICAgICB4MjAsIHgyMSwgW3gwLCAjKF9KQl9DT1JFX0JBU0UgKiA0ICsgMTYgKiA1KV0KLSAgICBsZHIgICAgIHgxOSwgICAgICBbeDAsICMoX0pCX0NPUkVfQkFTRSAqIDQgKyAxNiAqIDYpXQorICAvLyBEbyB3ZSBuZWVkIHRvIHNhdmUgdGhlIHNpZ25hbCBtYXNrPworICBjYnogdzEsIDFmCiAKLSAgICAvKiByZXN0b3JlIGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycyAqLwotICAgIGxkcCAgICAgZDE0LCBkMTUsIFt4MCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQgKyAxNiAqIDApXQotICAgIGxkcCAgICAgZDEyLCBkMTMsIFt4MCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQgKyAxNiAqIDEpXQotICAgIGxkcCAgICAgZDEwLCBkMTEsIFt4MCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQgKyAxNiAqIDIpXQotICAgIGxkcCAgICAgZDgsICBkOSwgIFt4MCwgIyhfSkJfRkxPQVRfQkFTRSAqIDQgKyAxNiAqIDMpXQorICAvLyBTYXZlIGN1cnJlbnQgc2lnbmFsIG1hc2suCisgIHN0cCB4MCwgeDMwLCBbc3AsICMtMTZdIQorICAvLyBUaGUgJ2hvdycgYXJndW1lbnQgaXMgaWdub3JlZCBpZiBuZXdfbWFzayBpcyBOVUxMLgorICBtb3YgeDEsICMwIC8vIE5VTEwuCisgIGFkZCB4MiwgeDAsICMoX0pCX1NJR01BU0sgKiA4KSAvLyBvbGRfbWFzay4KKyAgYmwgc2lncHJvY21hc2sKKyAgbGRwIHgwLCB4MzAsIFtzcF0sICMxNgogCi0gICAgLyogdmFsaWRhdGUgc3AgKHNwIG1vZCAxNiA9IDApIGFuZCBsciAobHIgbW9kIDQgPSAwKSAqLwotICAgIHRzdCAgICAgeDMwLCAjMwotICAgIGIubmUgICAgLkxfZmFpbAotICAgIG1vdiAgICAgeDEwLCBzcAotICAgIHRzdCAgICAgeDEwLCAjMTUKLSAgICBiLm5lICAgIC5MX2ZhaWwKKzE6CisgIC8vIFNhdmUgY29yZSByZWdpc3RlcnMuCisgIG1vdiB4MTAsIHNwCisgIHN0cCB4MzAsIHgxMCwgW3gwLCAjKF9KQl9YMzBfU1AgICogOCldCisgIHN0cCB4MjgsIHgyOSwgW3gwLCAjKF9KQl9YMjhfWDI5ICogOCldCisgIHN0cCB4MjYsIHgyNywgW3gwLCAjKF9KQl9YMjZfWDI3ICogOCldCisgIHN0cCB4MjQsIHgyNSwgW3gwLCAjKF9KQl9YMjRfWDI1ICogOCldCisgIHN0cCB4MjIsIHgyMywgW3gwLCAjKF9KQl9YMjJfWDIzICogOCldCisgIHN0cCB4MjAsIHgyMSwgW3gwLCAjKF9KQl9YMjBfWDIxICogOCldCisgIHN0ciB4MTksICAgICAgW3gwLCAjKF9KQl9YMTkgICAgICogOCldCiAKLSAgICAvKiBzZXQgcmV0dXJuIHZhbHVlICovCi0gICAgY21wICAgICB3MSwgd3pyCi0gICAgY3NpbmMgICB3MCwgdzEsIHd6ciwgbmUKLSAgICByZXQKKyAgLy8gU2F2ZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMuCisgIHN0cCBkMTQsIGQxNSwgW3gwLCAjKF9KQl9EMTRfRDE1ICogOCldCisgIHN0cCBkMTIsIGQxMywgW3gwLCAjKF9KQl9EMTJfRDEzICogOCldCisgIHN0cCBkMTAsIGQxMSwgW3gwLCAjKF9KQl9EMTBfRDExICogOCldCisgIHN0cCBkOCwgIGQ5LCAgW3gwLCAjKF9KQl9EOF9EOSAgICogOCldCiAKLSAgICAvKiB2YWxpZGF0aW9uIGZhaWxlZCwgZGllIGRpZSBkaWUgKi8KLS5MX2ZhaWw6Ci0gICAgYmwgICAgICBQSUNfU1lNKGxvbmdqbXBlcnJvciwgUExUKQotICAgIGJsICAgICAgUElDX1NZTShhYm9ydCwgUExUKQotICAgIGIgICAgICAgLiAtIDggICAgICAgLyogQ2Fubm90IGdldCBoZXJlICovCi1FTkQobG9uZ2ptcCkKKyAgbW92IHcwLCAjMAorICByZXQKK0VORChzaWdzZXRqbXApCisKKy8vIHZvaWQgc2lnbG9uZ2ptcChzaWdqbXBfYnVmIGVudiwgaW50IHZhbHVlKTsKK0VOVFJZKHNpZ2xvbmdqbXApCisgIC8vIERvIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgc2lnbmFsIG1hc2s/CisgIGxkciB3OSwgW3gwLCAjKF9KQl9TSUdGTEFHICogOCldCisgIGNieiB3OSwgMWYKKworICAvLyBSZXN0b3JlIHNpZ25hbCBtYXNrLgorICBzdHAgeDAsIHgzMCwgW3NwLCAjLTE2XSEKKyAgbW92IHgxOSwgeDEgLy8gU2F2ZSAndmFsdWUnLgorICBtb3YgeDIsIHgwCisgIG1vdiB4MCwgIzIgLy8gU0lHX1NFVE1BU0sKKyAgYWRkIHgxLCB4MiwgIyhfSkJfU0lHTUFTSyAqIDgpIC8vIG5ld19tYXNrLgorICBtb3YgeDIsICMwIC8vIE5VTEwuCisgIGJsIHNpZ3Byb2NtYXNrCisgIG1vdiB4MSwgeDE5IC8vIFJlc3RvcmUgJ3ZhbHVlJy4KKyAgbGRwIHgwLCB4MzAsIFtzcF0sICMxNgorCisxOgorICAvLyBSZXN0b3JlIGNvcmUgcmVnaXN0ZXJzLgorICBsZHAgeDMwLCB4MTAsIFt4MCwgIyhfSkJfWDMwX1NQICAqIDgpXQorICBtb3Ygc3AsIHgxMAorICBsZHAgeDI4LCB4MjksIFt4MCwgIyhfSkJfWDI4X1gyOSAqIDgpXQorICBsZHAgeDI2LCB4MjcsIFt4MCwgIyhfSkJfWDI2X1gyNyAqIDgpXQorICBsZHAgeDI0LCB4MjUsIFt4MCwgIyhfSkJfWDI0X1gyNSAqIDgpXQorICBsZHAgeDIyLCB4MjMsIFt4MCwgIyhfSkJfWDIyX1gyMyAqIDgpXQorICBsZHAgeDIwLCB4MjEsIFt4MCwgIyhfSkJfWDIwX1gyMSAqIDgpXQorICBsZHIgeDE5LCAgICAgIFt4MCwgIyhfSkJfWDE5ICAgICAqIDgpXQorCisgIC8vIFJlc3RvcmUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzLgorICBsZHAgZDE0LCBkMTUsIFt4MCwgIyhfSkJfRDE0X0QxNSAqIDgpXQorICBsZHAgZDEyLCBkMTMsIFt4MCwgIyhfSkJfRDEyX0QxMyAqIDgpXQorICBsZHAgZDEwLCBkMTEsIFt4MCwgIyhfSkJfRDEwX0QxMSAqIDgpXQorICBsZHAgZDgsICBkOSwgIFt4MCwgIyhfSkJfRDhfRDkgICAqIDgpXQorCisgIC8vIFZhbGlkYXRlIHNwIChzcCBtb2QgMTYgPSAwKSBhbmQgbHIgKGxyIG1vZCA0ID0gMCkuCisgIHRzdCB4MzAsICMzCisgIGIubmUgbG9uZ2ptcGVycm9yCisgIG1vdiB4MTAsIHNwCisgIHRzdCB4MTAsICMxNQorICBiLm5lIGxvbmdqbXBlcnJvcgorCisgIC8vIFNldCByZXR1cm4gdmFsdWUuCisgIGNtcCB3MSwgd3pyCisgIGNzaW5jIHcwLCB3MSwgd3pyLCBuZQorICByZXQKK0VORChzaWdsb25nam1wKQorCitBTElBU19TWU1CT0wobG9uZ2ptcCwgc2lnbG9uZ2ptcCkKK0FMSUFTX1NZTUJPTChfbG9uZ2ptcCwgc2lnbG9uZ2ptcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvc2lnc2V0am1wLlMgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL3NpZ3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmRiMzY3Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvc2lnc2V0am1wLlMKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3NldGptcC5oPgotCi0vKgotICogaW50IHNpZ3NldGptcChzaWdqbXBfYnVmIGVudiwgaW50IHNhdmVzaWdzKTsKLSAqIHZvaWQgc2lnbG9uZ2ptcChzaWdqbXBfYnVmIGVudiwgaW50IHZhbCk7Ci0gKi8KLQotRU5UUlkoc2lnc2V0am1wKQotICAgIGNieiAgICAgdzEsIFBJQ19TWU0oX3NldGptcCwgUExUKQotICAgIGIgICAgICAgUElDX1NZTShzZXRqbXAsIFBMVCkKLUVORChzaWdzZXRqbXApCi0KLS5MX3NldGptcF9tYWdpYzoKLSAgICAud29yZCAgIF9KQl9NQUdJQ19fU0VUSk1QCi0KLUVOVFJZKHNpZ2xvbmdqbXApCi0gICAgbGRyICAgICB3MiwgLkxfc2V0am1wX21hZ2ljCi0gICAgbGRyICAgICB3MywgW3gwXQotICAgIGNtcCAgICAgdzIsIHczCi0gICAgYi5lcSAgICBQSUNfU1lNKF9sb25nam1wLCBQTFQpCi0gICAgYiAgICAgICBQSUNfU1lNKGxvbmdqbXAsIFBMVCkKLUVORChzaWdsb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L2luY2x1ZGUvbWFjaGluZS9hc20uaCBiL2xpYmMvYXJjaC1hcm02NC9pbmNsdWRlL21hY2hpbmUvYXNtLmgKaW5kZXggNGJmYWJhZi4uMmJlYTA0MyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L2luY2x1ZGUvbWFjaGluZS9hc20uaAorKysgYi9saWJjL2FyY2gtYXJtNjQvaW5jbHVkZS9tYWNoaW5lL2FzbS5oCkBAIC0zOCwxNyArMzgsOSBAQAogI2lmbmRlZiBfQUFSQ0g2NF9BU01fSF8KICNkZWZpbmUgX0FBUkNINjRfQVNNX0hfCiAKLSNpZm5kZWYgX0FMSUdOX1RFWFQKLSMgZGVmaW5lIF9BTElHTl9URVhUIC5hbGlnbiAwCi0jZW5kaWYKKyNkZWZpbmUgX19iaW9uaWNfYXNtX2FsaWduIDAKIAogI3VuZGVmIF9fYmlvbmljX2FzbV9mdW5jdGlvbl90eXBlCiAjZGVmaW5lIF9fYmlvbmljX2FzbV9mdW5jdGlvbl90eXBlICVmdW5jdGlvbgogCi0jaWYgZGVmaW5lZChfX0VMRl9fKSAmJiBkZWZpbmVkKFBJQykKLSNkZWZpbmUgUElDX1NZTSh4LHkpIHggIyMgKCAjIyB5ICMjICkKLSNlbHNlCi0jZGVmaW5lIFBJQ19TWU0oeCx5KSB4Ci0jZW5kaWYKLQogI2VuZGlmIC8qIF9BQVJDSDY0X0FTTV9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaCBiL2xpYmMvYXJjaC1hcm02NC9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3YTAzOGQuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybTY0L2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0gKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECi0gKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBfQUFSQ0g2NF9FTkRJQU5fSF8KLSNkZWZpbmUgX0FBUkNINjRfRU5ESUFOX0hfCi0KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvZW5kaWFuLmg+Ci0KLSNpZmRlZiBfX0dOVUNfXwotCi0jZGVmaW5lIF9fc3dhcDE2bWQoeCkgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHJlZ2lzdGVyIHVfaW50MTZfdCBfeCA9ICh4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfX2FzbSB2b2xhdGlsZSAoInJldjE2ICUwLCAlMCIgOiAiK3IiIChfeCkpOyAgICAgICAgICAgICAgICBcCi0gICAgX3g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfSkKLQotLyogVXNlIEdDQyBidWlsdGlucyAqLwotI2RlZmluZSBfX3N3YXAzMm1kKHgpIF9fYnVpbHRpbl9ic3dhcDMyKHgpCi0jZGVmaW5lIF9fc3dhcDY0bWQoeCkgX19idWlsdGluX2Jzd2FwNjQoeCkKLQotLyogVGVsbCBzeXMvZW5kaWFuLmggd2UgaGF2ZSBNRCB2YXJpYW50cyBvZiB0aGUgc3dhcCBtYWNyb3MuICAqLwotI2RlZmluZSBNRF9TV0FQCi0KLSNlbmRpZiAgLyogX19HTlVDX18gKi8KLQotI2lmIGRlZmluZWQoX19BQVJDSDY0RUJfXykKLSNkZWZpbmUgX0JZVEVfT1JERVIgX0JJR19FTkRJQU4KLSNlbHNlCi0jZGVmaW5lIF9CWVRFX09SREVSIF9MSVRUTEVfRU5ESUFOCi0jZW5kaWYKLQotI2VuZGlmIC8qIF9BQVJDSDY0X0VORElBTl9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L2luY2x1ZGUvbWFjaGluZS9leGVjLmggYi9saWJjL2FyY2gtYXJtNjQvaW5jbHVkZS9tYWNoaW5lL2V4ZWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQzNzYyNi4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtYXJtNjQvaW5jbHVkZS9tYWNoaW5lL2V4ZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCSRPcGVuQlNEOiBleGVjLmgsdiAxLjkgMjAwMy8wNC8xNyAwMzo0MjoxNCBkcmFobiBFeHAgJAkqLwotLyoJJE5ldEJTRDogZXhlYy5oLHYgMS42IDE5OTQvMTAvMjcgMDQ6MTY6MDUgY2dkIEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTMgQ2hyaXN0b3BoZXIgRy4gRGVtZXRyaW91Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCi0gKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCi0gKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgotICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCi0gKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIF9BQVJDSDY0X0VYRUNfSF8KLSNkZWZpbmUgX0FBUkNINjRfRVhFQ19IXwotCi0jZGVmaW5lCV9fTERQR1NaCQk0MDk2Ci0KLSNkZWZpbmUJTkFUSVZFX0VYRUNfRUxGCi0KLSNkZWZpbmUJQVJDSF9FTEZTSVpFCQk2NAotCi0jZGVmaW5lCUVMRl9UQVJHX0NMQVNTCQlFTEZDTEFTUzY0CQkvKiA2NC1iaXQgb2JqZWN0cyAqLwotI2RlZmluZQlFTEZfVEFSR19EQVRBCQlFTEZEQVRBMkxTQgotI2RlZmluZQlFTEZfVEFSR19NQUNICQlFTV9BQVJDSDY0Ci0KLSNkZWZpbmUJX05MSVNUX0RPX0FPVVQKLSNkZWZpbmUJX05MSVNUX0RPX0VMRgotCi0jZGVmaW5lCV9LRVJOX0RPX0FPVVQKLSNkZWZpbmUJX0tFUk5fRE9fRUxGNjQKLQotI2VuZGlmICAvKiBfQUFSQ0g2NF9FWEVDX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oIGIvbGliYy9hcmNoLWFybTY0L2luY2x1ZGUvbWFjaGluZS9zZXRqbXAuaAppbmRleCAxYzIzN2RhLi4yN2MyZmU1IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCisrKyBiL2xpYmMvYXJjaC1hcm02NC9pbmNsdWRlL21hY2hpbmUvc2V0am1wLmgKQEAgLTI2LDQ4ICsyNiw1IEBACiAgKiBTVUNIIERBTUFHRS4KICAqLwogCi0vKgotICogbWFjaGluZS9zZXRqbXAuaDogbWFjaGluZSBkZXBlbmRlbnQgc2V0am1wLXJlbGF0ZWQgaW5mb3JtYXRpb24uCi0gKi8KLQotLyogX0pCTEVOIGlzIHRoZSBzaXplIG9mIGEgam1wX2J1ZiBpbiBsb25ncyg2NGJpdCBvbiBBQXJjaDY0KSAqLworLyogX0pCTEVOIGlzIHRoZSBzaXplIG9mIGEgam1wX2J1ZiBpbiBsb25ncyAoNjRiaXQgb24gQUFyY2g2NCkgKi8KICNkZWZpbmUgX0pCTEVOIDMyCi0KLS8qIEFjY29yZGluZyB0byBBQVJDSDY0IFBDUyBkb2N1bWVudCB3ZSBuZWVkIHRvIHNhdmUgdGhlIGZvbGxvd2luZwotICogcmVnaXN0ZXJzOgotICoKLSAqIENvcmUgICAgIHgxOSAtIHgzMCwgc3AgKHNlZSBzZWN0aW9uIDUuMS4xKQotICogVkZQICAgICAgZDggLSBkMTUgKHNlZSBzZWN0aW9uIDUuMS4yKQotICoKLSAqIE5PVEU6IEFsbCB0aGUgcmVnaXN0ZXJzIHNhdmVkIGhlcmUgd2lsbCBoYXZlIDY0Yml0IHZhbGVzIChleGNlcHQgRlBTUikuCi0gKiAgICAgICBBQVBDUyBtYW5kYXRlcyB0aGF0IHRoZSBoaWdoZXIgcGFydCBvZiBxIHJlZ2lzdGVycyBkb2VzIG5vdCBuZWVkIHRvCi0gKiAgICAgICBiZSBzYXZldmVkIGJ5IHRoZSBjYWxsZWUuCi0gKi8KLQotLyogVGhlIHN0cnVjdHVyZSBvZiBqbXBfYnVmIGZvciBBQXJjaDY0OgotICoKLSAqIE5PVEU6IF9KQkxFTiBpcyB0aGUgc2l6ZSBvZiBqbXBfYnVmIGluIGxvbmdzKDY0Yml0IG9uIEFBcmNoNjQpISBUaGUgdGFibGUKLSAqICAgICAgYmVsb3cgY29tcHV0ZXMgdGhlIG9mZnNldHMgaW4gd29yZHMoMzJiaXQpLgotICoKLSAqICB3b3JkICAgICAgICBuYW1lICAgICAgICAgICAgZGVzY3JpcHRpb24KLSAqICAwICAgICAgIG1hZ2ljICAgICAgICAgICBtYWdpYyBudW1iZXIKLSAqICAxICAgICAgIHNpZ21hc2sgICAgICAgICBzaWduYWwgbWFzayAobm90IHVzZWQgd2l0aCBfc2V0am1wIC8gX2xvbmdqbXApCi0gKiAgMiAgICAgICBjb3JlX2Jhc2UgICAgICAgYmFzZSBvZiBjb3JlIHJlZ2lzdGVycyAoeDE5LXgzMCwgc3ApCi0gKiAgMjggICAgICBmbG9hdF9iYXNlICAgICAgYmFzZSBvZiBmbG9hdCByZWdpc3RlcnMgKGQ4LWQxNSkKLSAqICA0NCAgICAgIHJlc2VydmVkICAgICAgICByZXNlcnZlZCBlbnRyaWVzIChyb29tIHRvIGdyb3cpCi0gKiAgNjQKLSAqCi0gKgotICogIE5PVEU6IFRoZSBpbnN0cnVjdGlvbnMgdGhhdCBsb2FkL3N0b3JlIGNvcmUvdmZwIHJlZ2lzdGVycyBleHBlY3QgOC1ieXRlCi0gKiAgICAgICAgYWxpZ25tZW50LiBDb250cmFyeSB0byB0aGUgcHJldmlvdXMgc2V0am1wIGhlYWRlciBmb3IgQVJNIHdlIGRvIG5vdAotICogICAgICAgIG5lZWQgdG8gc2F2ZSBzdGF0dXMvY29udHJvbCByZWdpc3RlcnMgZm9yIFZGUCAoaXQgaXMgbm90IGEKLSAqICAgICAgICByZXF1aXJlbWVudCBmb3Igc2V0am1wKS4KLSAqLwotCi0jZGVmaW5lIF9KQl9NQUdJQyAgICAgICAwCi0jZGVmaW5lIF9KQl9TSUdNQVNLICAgICAoX0pCX01BR0lDKzEpCi0jZGVmaW5lIF9KQl9DT1JFX0JBU0UgICAoX0pCX1NJR01BU0srMSkKLSNkZWZpbmUgX0pCX0ZMT0FUX0JBU0UgIChfSkJfQ09SRV9CQVNFICsgKDMxLTE5KzEpKjIpCi0KLSNkZWZpbmUgX0pCX01BR0lDX19TRVRKTVAgICAweDUzNjU3MjAwCi0jZGVmaW5lIF9KQl9NQUdJQ19TRVRKTVAgICAgMHg1MzY1NzIwMQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fX2Nsb3NlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19fY2xvc2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmI4MzYxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fX2Nsb3NlLlMKQEAgLTAsMCArMSwxNSBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19jbG9zZSkKKyAgICBtb3YgICAgIHg4LCBfX05SX2Nsb3NlCisgICAgc3ZjICAgICAjMAorCisgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGNuZWcgICAgeDAsIHgwLCBoaQorICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKworICAgIHJldAorRU5EKF9fX2Nsb3NlKQorLmhpZGRlbiBfX19jbG9zZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNDFiNjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19fZmFjY2Vzc2F0LlMKQEAgLTAsMCArMSwxNSBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19mYWNjZXNzYXQpCisgICAgbW92ICAgICB4OCwgX19OUl9mYWNjZXNzYXQKKyAgICBzdmMgICAgICMwCisKKyAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCisgICAgY25lZyAgICB4MCwgeDAsIGhpCisgICAgYi5oaSAgICBfX3NldF9lcnJub19pbnRlcm5hbAorCisgICAgcmV0CitFTkQoX19fZmFjY2Vzc2F0KQorLmhpZGRlbiBfX19mYWNjZXNzYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX19mY2htb2QuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX19mY2htb2QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTQzYzY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fX2ZjaG1vZC5TCkBAIC0wLDAgKzEsMTUgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fZmNobW9kKQorICAgIG1vdiAgICAgeDgsIF9fTlJfZmNobW9kCisgICAgc3ZjICAgICAjMAorCisgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGNuZWcgICAgeDAsIHgwLCBoaQorICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKworICAgIHJldAorRU5EKF9fX2ZjaG1vZCkKKy5oaWRkZW4gX19fZmNobW9kCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19fZmNobW9kYXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX19mY2htb2RhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjM3MzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19fZmNobW9kYXQuUwpAQCAtMCwwICsxLDE1IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZjaG1vZGF0KQorICAgIG1vdiAgICAgeDgsIF9fTlJfZmNobW9kYXQKKyAgICBzdmMgICAgICMwCisKKyAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCisgICAgY25lZyAgICB4MCwgeDAsIGhpCisgICAgYi5oaSAgICBfX3NldF9lcnJub19pbnRlcm5hbAorCisgICAgcmV0CitFTkQoX19fZmNobW9kYXQpCisuaGlkZGVuIF9fX2ZjaG1vZGF0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Nsb2NrX25hbm9zbGVlcC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZjE1ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUwpAQCAtMCwwICsxLDE1IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fY2xvY2tfbmFub3NsZWVwKQorICAgIG1vdiAgICAgeDgsIF9fTlJfY2xvY2tfbmFub3NsZWVwCisgICAgc3ZjICAgICAjMAorCisgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGNuZWcgICAgeDAsIHgwLCBoaQorICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKworICAgIHJldAorRU5EKF9fY2xvY2tfbmFub3NsZWVwKQorLmhpZGRlbiBfX2Nsb2NrX25hbm9zbGVlcApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZnN0YXRmcy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZnN0YXRmcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMzUwZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19mc3RhdGZzLlMKQEAgLTAsMCArMSwxNSBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX2ZzdGF0ZnMpCisgICAgbW92ICAgICB4OCwgX19OUl9mc3RhdGZzCisgICAgc3ZjICAgICAjMAorCisgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGNuZWcgICAgeDAsIHgwLCBoaQorICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKworICAgIHJldAorRU5EKF9fZnN0YXRmcykKKy5oaWRkZW4gX19mc3RhdGZzCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdxdWV1ZWluZm8uUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMjNlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdxdWV1ZWluZm8uUwpAQCAtMCwwICsxLDE1IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fcnRfc2lncXVldWVpbmZvKQorICAgIG1vdiAgICAgeDgsIF9fTlJfcnRfc2lncXVldWVpbmZvCisgICAgc3ZjICAgICAjMAorCisgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQorICAgIGNuZWcgICAgeDAsIHgwLCBoaQorICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKworICAgIHJldAorRU5EKF9fcnRfc2lncXVldWVpbmZvKQorLmhpZGRlbiBfX3J0X3NpZ3F1ZXVlaW5mbwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc3RhdGZzLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19zdGF0ZnMuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjJjNTkwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc3RhdGZzLlMKQEAgLTAsMCArMSwxNSBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX3N0YXRmcykKKyAgICBtb3YgICAgIHg4LCBfX05SX3N0YXRmcworICAgIHN2YyAgICAgIzAKKworICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKKyAgICBjbmVnICAgIHgwLCB4MCwgaGkKKyAgICBiLmhpICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCisKKyAgICByZXQKK0VORChfX3N0YXRmcykKKy5oaWRkZW4gX19zdGF0ZnMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fZXhpdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19leGl0LlMKaW5kZXggZWRmNjc0NC4uZDUwZjM4ZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19leGl0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19leGl0LlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICByZXQKIEVORChfZXhpdCkKIAotICAgIC5nbG9ibCBfRXhpdAotICAgIC5lcXUgX0V4aXQsIF9leGl0CitBTElBU19TWU1CT0woX0V4aXQsIF9leGl0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDljNWNjLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoY2xvY2tfbmFub3NsZWVwKQotICAgIG1vdiAgICAgeDgsIF9fTlJfY2xvY2tfbmFub3NsZWVwCi0gICAgc3ZjICAgICAjMAotCi0gICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGNuZWcgICAgeDAsIHgwLCBoaQotICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLQotICAgIHJldAotRU5EKGNsb2NrX25hbm9zbGVlcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9zZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb3NlLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2MjQ1ODEuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb3NlLlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGNsb3NlKQotICAgIG1vdiAgICAgeDgsIF9fTlJfY2xvc2UKLSAgICBzdmMgICAgICMwCi0KLSAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCi0gICAgY25lZyAgICB4MCwgeDAsIGhpCi0gICAgYi5oaSAgICBfX3NldF9lcnJub19pbnRlcm5hbAotCi0gICAgcmV0Ci1FTkQoY2xvc2UpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFjY2Vzc2F0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFjY2Vzc2F0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjOTZjZmEuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmYWNjZXNzYXQpCi0gICAgbW92ICAgICB4OCwgX19OUl9mYWNjZXNzYXQKLSAgICBzdmMgICAgICMwCi0KLSAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCi0gICAgY25lZyAgICB4MCwgeDAsIGhpCi0gICAgYi5oaSAgICBfX3NldF9lcnJub19pbnRlcm5hbAotCi0gICAgcmV0Ci1FTkQoZmFjY2Vzc2F0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZhbGxvY2F0ZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZhbGxvY2F0ZS5TCmluZGV4IGVmM2Q0YTQuLmQ0MmEwYmEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mYWxsb2NhdGUuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFsbG9jYXRlLlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICByZXQKIEVORChmYWxsb2NhdGUpCiAKLSAgICAuZ2xvYmwgZmFsbG9jYXRlNjQKLSAgICAuZXF1IGZhbGxvY2F0ZTY0LCBmYWxsb2NhdGUKK0FMSUFTX1NZTUJPTChmYWxsb2NhdGU2NCwgZmFsbG9jYXRlKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaG1vZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaG1vZC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2E4MDYwLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2htb2QuUworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZmNobW9kKQotICAgIG1vdiAgICAgeDgsIF9fTlJfZmNobW9kCi0gICAgc3ZjICAgICAjMAotCi0gICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGNuZWcgICAgeDAsIHgwLCBoaQotICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLQotICAgIHJldAotRU5EKGZjaG1vZCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2htb2RhdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaG1vZGF0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjNWJiMGUuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaG1vZGF0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZjaG1vZGF0KQotICAgIG1vdiAgICAgeDgsIF9fTlJfZmNobW9kYXQKLSAgICBzdmMgICAgICMwCi0KLSAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCi0gICAgY25lZyAgICB4MCwgeDAsIGhpCi0gICAgYi5oaSAgICBfX3NldF9lcnJub19pbnRlcm5hbAotCi0gICAgcmV0Ci1FTkQoZmNobW9kYXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXQ2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0NjQuUwppbmRleCA4NWEwN2Y1Li5mN2M5ZjU0IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXQ2NC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdDY0LlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICByZXQKIEVORChmc3RhdDY0KQogCi0gICAgLmdsb2JsIGZzdGF0Ci0gICAgLmVxdSBmc3RhdCwgZnN0YXQ2NAorQUxJQVNfU1lNQk9MKGZzdGF0LCBmc3RhdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TCmluZGV4IGRhZmQ5ODIuLjlmOGYyYzUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdGF0NjQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXRhdDY0LlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICByZXQKIEVORChmc3RhdGF0NjQpCiAKLSAgICAuZ2xvYmwgZnN0YXRhdAotICAgIC5lcXUgZnN0YXRhdCwgZnN0YXRhdDY0CitBTElBU19TWU1CT0woZnN0YXRhdCwgZnN0YXRhdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0ZnM2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0ZnM2NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2EyZGNkLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdGZzNjQuUworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZnN0YXRmczY0KQotICAgIG1vdiAgICAgeDgsIF9fTlJfZnN0YXRmcwotICAgIHN2YyAgICAgIzAKLQotICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKLSAgICBjbmVnICAgIHgwLCB4MCwgaGkKLSAgICBiLmhpICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi0KLSAgICByZXQKLUVORChmc3RhdGZzNjQpCi0KLSAgICAuZ2xvYmwgZnN0YXRmcwotICAgIC5lcXUgZnN0YXRmcywgZnN0YXRmczY0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnRydW5jYXRlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnRydW5jYXRlLlMKaW5kZXggYzZlOTlmNS4uYzIxZTA5OCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Z0cnVuY2F0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mdHJ1bmNhdGUuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIHJldAogRU5EKGZ0cnVuY2F0ZSkKIAotICAgIC5nbG9ibCBmdHJ1bmNhdGU2NAotICAgIC5lcXUgZnRydW5jYXRlNjQsIGZ0cnVuY2F0ZQorQUxJQVNfU1lNQk9MKGZ0cnVuY2F0ZTY0LCBmdHJ1bmNhdGUpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMKaW5kZXggNTE4YWI3My4uMDNlZTlhOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHJsaW1pdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRybGltaXQuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIHJldAogRU5EKGdldHJsaW1pdCkKIAotICAgIC5nbG9ibCBnZXRybGltaXQ2NAotICAgIC5lcXUgZ2V0cmxpbWl0NjQsIGdldHJsaW1pdAorQUxJQVNfU1lNQk9MKGdldHJsaW1pdDY0LCBnZXRybGltaXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbHNlZWsuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sc2Vlay5TCmluZGV4IGRlOTZkZjAuLjkzYWZlYjcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sc2Vlay5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sc2Vlay5TCkBAIC0xMyw1ICsxMyw0IEBACiAgICAgcmV0CiBFTkQobHNlZWspCiAKLSAgICAuZ2xvYmwgbHNlZWs2NAotICAgIC5lcXUgbHNlZWs2NCwgbHNlZWsKK0FMSUFTX1NZTUJPTChsc2VlazY0LCBsc2VlaykKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tbWFwLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbW1hcC5TCmluZGV4IDY0Yjk1NWUuLjY1MzcxYmMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tbWFwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21tYXAuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIHJldAogRU5EKG1tYXApCiAKLSAgICAuZ2xvYmwgbW1hcDY0Ci0gICAgLmVxdSBtbWFwNjQsIG1tYXAKK0FMSUFTX1NZTUJPTChtbWFwNjQsIG1tYXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHJlYWQ2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3ByZWFkNjQuUwppbmRleCBlYWZjMDQ0Li42YzlmMGU5IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHJlYWQ2NC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmVhZDY0LlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICByZXQKIEVORChwcmVhZDY0KQogCi0gICAgLmdsb2JsIHByZWFkCi0gICAgLmVxdSBwcmVhZCwgcHJlYWQ2NAorQUxJQVNfU1lNQk9MKHByZWFkLCBwcmVhZDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BybGltaXQ2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BybGltaXQ2NC5TCmluZGV4IDJiZWNlOTkuLjljMDE4YmEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmxpbWl0NjQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHJsaW1pdDY0LlMKQEAgLTEzLDUgKzEzLDQgQEAKICAgICByZXQKIEVORChwcmxpbWl0NjQpCiAKLSAgICAuZ2xvYmwgcHJsaW1pdAotICAgIC5lcXUgcHJsaW1pdCwgcHJsaW1pdDY0CitBTElBU19TWU1CT0wocHJsaW1pdCwgcHJsaW1pdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3B3cml0ZTY0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHdyaXRlNjQuUwppbmRleCA2OTcwOTU0Li4xNTk5YzE0IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHdyaXRlNjQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHdyaXRlNjQuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIHJldAogRU5EKHB3cml0ZTY0KQogCi0gICAgLmdsb2JsIHB3cml0ZQotICAgIC5lcXUgcHdyaXRlLCBwd3JpdGU2NAorQUxJQVNfU1lNQk9MKHB3cml0ZSwgcHdyaXRlNjQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2VuZGZpbGUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kZmlsZS5TCmluZGV4IDE3YTBkNDYuLjUwYWMxMmQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kZmlsZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kZmlsZS5TCkBAIC0xMyw1ICsxMyw0IEBACiAgICAgcmV0CiBFTkQoc2VuZGZpbGUpCiAKLSAgICAuZ2xvYmwgc2VuZGZpbGU2NAotICAgIC5lcXUgc2VuZGZpbGU2NCwgc2VuZGZpbGUKK0FMSUFTX1NZTUJPTChzZW5kZmlsZTY0LCBzZW5kZmlsZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRob3N0bmFtZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldGhvc3RuYW1lLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRlYTQ1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRob3N0bmFtZS5TCkBAIC0wLDAgKzEsMTQgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoc2V0aG9zdG5hbWUpCisgICAgbW92ICAgICB4OCwgX19OUl9zZXRob3N0bmFtZQorICAgIHN2YyAgICAgIzAKKworICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKKyAgICBjbmVnICAgIHgwLCB4MCwgaGkKKyAgICBiLmhpICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCisKKyAgICByZXQKK0VORChzZXRob3N0bmFtZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRybGltaXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRybGltaXQuUwppbmRleCA2Y2I2Yjk4Li41MmM3NWExIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0cmxpbWl0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJsaW1pdC5TCkBAIC0xMyw1ICsxMyw0IEBACiAgICAgcmV0CiBFTkQoc2V0cmxpbWl0KQogCi0gICAgLmdsb2JsIHNldHJsaW1pdDY0Ci0gICAgLmVxdSBzZXRybGltaXQ2NCwgc2V0cmxpbWl0CitBTElBU19TWU1CT0woc2V0cmxpbWl0NjQsIHNldHJsaW1pdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zdGF0ZnM2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N0YXRmczY0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjOGM1ODguLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N0YXRmczY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKHN0YXRmczY0KQotICAgIG1vdiAgICAgeDgsIF9fTlJfc3RhdGZzCi0gICAgc3ZjICAgICAjMAotCi0gICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQotICAgIGNuZWcgICAgeDAsIHgwLCBoaQotICAgIGIuaGkgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLQotICAgIHJldAotRU5EKHN0YXRmczY0KQotCi0gICAgLmdsb2JsIHN0YXRmcwotICAgIC5lcXUgc3RhdGZzLCBzdGF0ZnM2NApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3RydW5jYXRlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdHJ1bmNhdGUuUwppbmRleCAwZTVhMzNlLi5lMDFjYzdkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdHJ1bmNhdGUuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdHJ1bmNhdGUuUwpAQCAtMTMsNSArMTMsNCBAQAogICAgIHJldAogRU5EKHRydW5jYXRlKQogCi0gICAgLmdsb2JsIHRydW5jYXRlNjQKLSAgICAuZXF1IHRydW5jYXRlNjQsIHRydW5jYXRlCitBTElBU19TWU1CT0wodHJ1bmNhdGU2NCwgdHJ1bmNhdGUpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtY29tbW9uL2Jpb25pYy9jcnRiZWdpbi5jIGIvbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvY3J0YmVnaW4uYwppbmRleCBmYTlmM2YzLi5jNDY0MDVjIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtY29tbW9uL2Jpb25pYy9jcnRiZWdpbi5jCisrKyBiL2xpYmMvYXJjaC1jb21tb24vYmlvbmljL2NydGJlZ2luLmMKQEAgLTU5LDYgKzU5LDcgQEAKIAogI2luY2x1ZGUgIl9fZHNvX2hhbmRsZS5oIgogI2luY2x1ZGUgImF0ZXhpdC5oIgorI2luY2x1ZGUgInB0aHJlYWRfYXRmb3JrLmgiCiAjaWZkZWYgX19pMzg2X18KICMgaW5jbHVkZSAiLi4vLi4vYXJjaC14ODYvYmlvbmljL19fc3RhY2tfY2hrX2ZhaWxfbG9jYWwuaCIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvY3J0YmVnaW5fc28uYyBiL2xpYmMvYXJjaC1jb21tb24vYmlvbmljL2NydGJlZ2luX3NvLmMKaW5kZXggNjQxZTQ1YS4uMzc1NDM2MyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvY3J0YmVnaW5fc28uYworKysgYi9saWJjL2FyY2gtY29tbW9uL2Jpb25pYy9jcnRiZWdpbl9zby5jCkBAIC01Niw2ICs1Niw3IEBACiAjIGluY2x1ZGUgIl9fZHNvX2hhbmRsZV9zby5oIgogIyBpbmNsdWRlICJhdGV4aXQuaCIKICNlbmRpZgorI2luY2x1ZGUgInB0aHJlYWRfYXRmb3JrLmgiCiAjaWZkZWYgX19pMzg2X18KICMgaW5jbHVkZSAiLi4vLi4vYXJjaC14ODYvYmlvbmljL19fc3RhY2tfY2hrX2ZhaWxfbG9jYWwuaCIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvY3J0YnJhbmQuUyBiL2xpYmMvYXJjaC1jb21tb24vYmlvbmljL2NydGJyYW5kLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFiYmZiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1jb21tb24vYmlvbmljL2NydGJyYW5kLlMKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisJLnNlY3Rpb24JLm5vdGUuYW5kcm9pZC5pZGVudCwiYSIsJW5vdGUKKwkuYWxpZ24JMgorCS50eXBlCWFiaXRhZywgJW9iamVjdAorYWJpdGFnOgorCS5sb25nCTJmLTFmCQkJLyogaW50MzJfdCBuYW1lc3ogKi8KKwkubG9uZwkzZi0yZgkJCS8qIGludDMyX3QgZGVzY3N6ICovCisJLmxvbmcJMQkJCS8qIGludDMyX3QgdHlwZSAqLworMToJLmFzY2lpCSJBbmRyb2lkXDAiCQkvKiBjaGFyIG5hbWVbXSAqLworMjoJLmxvbmcJUExBVEZPUk1fU0RLX1ZFUlNJT04JLyogaW50MzJfdCBhbmRyb2lkX2FwaSAqLworMzoKKwkuc2l6ZQlhYml0YWcsIC4tYWJpdGFnCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtY29tbW9uL2Jpb25pYy9wdGhyZWFkX2F0Zm9yay5oIGIvbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvcHRocmVhZF9hdGZvcmsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzQ4YTEyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvcHRocmVhZF9hdGZvcmsuaApAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuIHZvaWQqIF9fZHNvX2hhbmRsZTsKKworZXh0ZXJuIGludCBfX3JlZ2lzdGVyX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkodm9pZCksIHZvaWQgKCpwYXJlbnQpKHZvaWQpLCB2b2lkICgqY2hpbGQpKHZvaWQpLCB2b2lkKiBkc28pOworCisjaWZuZGVmIF9MSUJDCisvLyBMaWJjIHVzZWQgdG8gZXhwb3J0IHRoaXMgaW4gcHJldmlvdXMgdmVyc2lvbnMsIHRoZXJlZm9yZSBpdCBuZWVkcworLy8gdG8gcmVtYWluIGdsb2JhbCBmb3IgYmluYXJ5IGNvbXBhdGliaWxpdHkuCitfX2F0dHJpYnV0ZV9fICgodmlzaWJpbGl0eSAoImhpZGRlbiIpKSkKKyNlbmRpZgoraW50IHB0aHJlYWRfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSh2b2lkKSwgdm9pZCAoKnBhcmVudCkodm9pZCksIHZvaWQgKCpjaGlsZCkodm9pZCkpIHsKKyAgcmV0dXJuIF9fcmVnaXN0ZXJfYXRmb3JrKHByZXBhcmUsIHBhcmVudCwgY2hpbGQsICZfX2Rzb19oYW5kbGUpOworfQorCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvX3NldGptcC5TIGIvbGliYy9hcmNoLW1pcHMvYmlvbmljL19zZXRqbXAuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDIzN2U2ZC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvX3NldGptcC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTUwICswLDAgQEAKLS8qCSRPcGVuQlNEOiBfc2V0am1wLlMsdiAxLjQgMjAwNS8wOC8wNyAxNjo0MDoxNSBlc3BpZSBFeHAgJCAqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAyMDAyIE9wc3ljb24gQUIgICh3d3cub3BzeWNvbi5zZSAvIHd3dy5vcHN5Y29uLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgT3BzeWNvbiBBQiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MKLSAqIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKgotICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3JlZ251bS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvc2lnbmFsLmg+Ci0KLS8qCi0gKiBfc2V0am1wLCBfbG9uZ2ptcCAobm90IHJlc3RvcmluZyBzaWduYWwgc3RhdGUpCi0gKgotICogWFhYIEZQU0VUIHNob3VsZCBwcm9iYWJseSBiZSB0YWtlbiBmcm9tIFNSIHNldHRpbmcuIGhtbW0uLi4KLSAqICBHUE9GRiBhbmQgRlJBTUVTSVpFIG11c3QgYmUgdGhlIHNhbWUgZm9yIGJvdGggX3NldGptcCBhbmQgX2xvbmdqbXAhCi0gKgotICovCi0KLUZSQU1FU1o9IE1LRlNJWigwLDQpCi1HUE9GRj0gRlJBTUVTWi0yKlJFR1NaCi0KLUxFQUYoX3NldGptcCwgRlJBTUVTWikKLQlQVFJfU1VCVSBzcCwgRlJBTUVTWgotCVNFVFVQX0dQNjQoR1BPRkYsIF9zZXRqbXApCi0JU0FWRV9HUChHUE9GRikKLQkuc2V0CW5vcmVvcmRlcgotI2lmIGRlZmluZWQoX19taXBzNjQpCi0JZGxpCXYwLCAweEFDRURCQURFCQkJIyBzaWdjb250ZXh0IG1hZ2ljIG51bWJlcgotI2Vsc2UKLQlsaQl2MCwgMHhBQ0VEQkFERQkJCSMgc2lnY29udGV4dCBtYWdpYyBudW1iZXIKLSNlbmRpZgotCVJFR19TCXYwLCBTQ19SRUdTK1pFUk8qUkVHU1ooYTApCi0JUkVHX1MJczAsIFNDX1JFR1MrUzAqUkVHU1ooYTApCi0JUkVHX1MJczEsIFNDX1JFR1MrUzEqUkVHU1ooYTApCi0JUkVHX1MJczIsIFNDX1JFR1MrUzIqUkVHU1ooYTApCi0JUkVHX1MJczMsIFNDX1JFR1MrUzMqUkVHU1ooYTApCi0JUkVHX1MJczQsIFNDX1JFR1MrUzQqUkVHU1ooYTApCi0JUkVHX1MJczUsIFNDX1JFR1MrUzUqUkVHU1ooYTApCi0JUkVHX1MJczYsIFNDX1JFR1MrUzYqUkVHU1ooYTApCi0JUkVHX1MJczcsIFNDX1JFR1MrUzcqUkVHU1ooYTApCi0JUkVHX1MJczgsIFNDX1JFR1MrUzgqUkVHU1ooYTApCi0JUkVHX0wJdjAsIEdQT0ZGKHNwKQotCVJFR19TCXYwLCBTQ19SRUdTK0dQKlJFR1NaKGEwKQotCVBUUl9BRERVIHYwLCBzcCwgRlJBTUVTWgotCVJFR19TCXYwLCBTQ19SRUdTK1NQKlJFR1NaKGEwKQotCVJFR19TCXJhLCBTQ19QQyhhMCkKLQotI2lmICFkZWZpbmVkKFNPRlRGTE9BVCkKLQlsaQl2MCwgMQkJCQkjIGJlIG5pY2UgaWYgd2UgY291bGQgdGVsbAotCVJFR19TCXYwLCBTQ19GUFVTRUQoYTApCQkjIHNjX2ZwdXNlZCA9IDEKLQljZmMxCXYwLCAkMzEKLQlzLmQJJGYyMCwgU0NfRlBSRUdTKygoRjIwLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjIsIFNDX0ZQUkVHUysoKEYyMi1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI0LCBTQ19GUFJFR1MrKChGMjQtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyNiwgU0NfRlBSRUdTKygoRjI2LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjgsIFNDX0ZQUkVHUysoKEYyOC1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjMwLCBTQ19GUFJFR1MrKChGMzAtRjApKlJFR1NaX0ZQKShhMCkKLSNpZiBfTUlQU19GUFNFVCA9PSAzMgotCXMuZAkkZjIxLCBTQ19GUFJFR1MrKChGMjEtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyMywgU0NfRlBSRUdTKygoRjIzLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjUsIFNDX0ZQUkVHUysoKEYyNS1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI3LCBTQ19GUFJFR1MrKChGMjctRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyOSwgU0NfRlBSRUdTKygoRjI5LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMzEsIFNDX0ZQUkVHUysoKEYzMS1GMCkqUkVHU1pfRlApKGEwKQotI2VuZGlmCi0JUkVHX1MJdjAsIFNDX0ZQUkVHUysoKEZTUi1GMCkqUkVHU1opKGEwKQotI2VuZGlmIC8qICFTT0ZURkxPQVQgKi8KLQlSRVNUT1JFX0dQNjQKLQlQVFJfQUREVSBzcCwgRlJBTUVTWgotCWoJcmEKLQkgbW92ZQl2MCwgemVybwotRU5EKF9zZXRqbXApCi0KLUxFQUYoX2xvbmdqbXAsIEZSQU1FU1opCi0JUFRSX1NVQlUgc3AsIEZSQU1FU1oKLQlTRVRVUF9HUDY0KEdQT0ZGLCBfbG9uZ2ptcCkKLQlTQVZFX0dQKEdQT0ZGKQotCS5zZXQgICAgbm9yZW9yZGVyCi0JUkVHX0wJdjAsIFNDX1JFR1MrWkVSTypSRUdTWihhMCkKLQlibmUJdjAsIDB4QUNFREJBREUsIGJvdGNoCQkjIGp1bXAgaWYgZXJyb3IKLQlSRUdfTAlyYSwgU0NfUEMoYTApCi0JUkVHX0wJdjAsIFNDX0ZQUkVHUysoKEZTUi1GMCkqUkVHU1opKGEwKQotCVJFR19MCXMwLCBTQ19SRUdTK1MwKlJFR1NaKGEwKQotCVJFR19MCXMxLCBTQ19SRUdTK1MxKlJFR1NaKGEwKQotCVJFR19MCXMyLCBTQ19SRUdTK1MyKlJFR1NaKGEwKQotCVJFR19MCXMzLCBTQ19SRUdTK1MzKlJFR1NaKGEwKQotCVJFR19MCXM0LCBTQ19SRUdTK1M0KlJFR1NaKGEwKQotCVJFR19MCXM1LCBTQ19SRUdTK1M1KlJFR1NaKGEwKQotCVJFR19MCXM2LCBTQ19SRUdTK1M2KlJFR1NaKGEwKQotCVJFR19MCXM3LCBTQ19SRUdTK1M3KlJFR1NaKGEwKQotCVJFR19MCXM4LCBTQ19SRUdTK1M4KlJFR1NaKGEwKQotCVJFR19MCWdwLCBTQ19SRUdTK0dQKlJFR1NaKGEwKQotCVJFR19MCXNwLCBTQ19SRUdTK1NQKlJFR1NaKGEwKQotI2lmICFkZWZpbmVkKFNPRlRGTE9BVCkKLQljdGMxCXYwLCAkMzEKLQlsLmQJJGYyMCwgU0NfRlBSRUdTKygoRjIwLUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjIsIFNDX0ZQUkVHUysoKEYyMi1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI0LCBTQ19GUFJFR1MrKChGMjQtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyNiwgU0NfRlBSRUdTKygoRjI2LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjgsIFNDX0ZQUkVHUysoKEYyOC1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjMwLCBTQ19GUFJFR1MrKChGMzAtRjApKlJFR1NaX0ZQKShhMCkKLSNpZiBfTUlQU19GUFNFVCA9PSAzMgotCWwuZAkkZjIxLCBTQ19GUFJFR1MrKChGMjEtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyMywgU0NfRlBSRUdTKygoRjIzLUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjUsIFNDX0ZQUkVHUysoKEYyNS1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI3LCBTQ19GUFJFR1MrKChGMjctRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyOSwgU0NfRlBSRUdTKygoRjI5LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMzEsIFNDX0ZQUkVHUysoKEYzMS1GMCkqUkVHU1pfRlApKGEwKQotI2VuZGlmCi0jZW5kaWYgLyogIVNPRlRGTE9BVCAqLwotCWJuZQlhMSwgemVybywgMWYKLQkgbm9wCi0JbGkJYTEsIDEJCQkjIG5ldmVyIHJldHVybiAwIQotMToKLQlqCXJhCi0JIG1vdmUJdjAsIGExCi0KLWJvdGNoOgotCWphbAlsb25nam1wZXJyb3IKLQlub3AKLQlqYWwJYWJvcnQKLQlub3AKLQlSRVNUT1JFX0dQNjQKLQlQVFJfQUREVSBzcCwgRlJBTUVTWgotRU5EKF9sb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvYmlvbmljL2F0ZXhpdC5oIGIvbGliYy9hcmNoLW1pcHMvYmlvbmljL2F0ZXhpdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTkwMDhjLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9hdGV4aXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0gKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECi0gKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotZXh0ZXJuIHZvaWQgKl9fZHNvX2hhbmRsZTsKLWV4dGVybiBpbnQgX19jeGFfYXRleGl0KHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICphcmcsIHZvaWQgKmRzbyk7Ci0KLV9fYXR0cmlidXRlX18gKCh2aXNpYmlsaXR5ICgiaGlkZGVuIikpKQotaW50IGF0ZXhpdCh2b2lkICgqZnVuYykodm9pZCkpCi17Ci0gIHJldHVybiAoX19jeGFfYXRleGl0KCh2b2lkICgqKSh2b2lkICopKWZ1bmMsICh2b2lkICopMCwgJl9fZHNvX2hhbmRsZSkpOwotfQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvYmlvbmljL2NydGJlZ2luLmMgYi9saWJjL2FyY2gtbWlwcy9iaW9uaWMvY3J0YmVnaW4uYwppbmRleCAyOGU4ODE3Li5kNzJlYzdiIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvY3J0YmVnaW4uYworKysgYi9saWJjL2FyY2gtbWlwcy9iaW9uaWMvY3J0YmVnaW4uYwpAQCAtOTEsNCArOTEsNSBAQAogKTsKIAogI2luY2x1ZGUgIi4uLy4uL2FyY2gtY29tbW9uL2Jpb25pYy9fX2Rzb19oYW5kbGUuaCIKLSNpbmNsdWRlICJhdGV4aXQuaCIKKyNpbmNsdWRlICIuLi8uLi9hcmNoLWNvbW1vbi9iaW9uaWMvYXRleGl0LmgiCisjaW5jbHVkZSAiLi4vLi4vYXJjaC1jb21tb24vYmlvbmljL3B0aHJlYWRfYXRmb3JrLmgiCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvY3J0YmVnaW5fc28uYyBiL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9jcnRiZWdpbl9zby5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjY0Y2U2Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9jcnRiZWdpbl9zby5jCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi1leHRlcm4gdm9pZCBfX2N4YV9maW5hbGl6ZSh2b2lkICopOwotZXh0ZXJuIHZvaWQgKl9fZHNvX2hhbmRsZTsKLQotX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVuIiksZGVzdHJ1Y3RvcikpCi12b2lkIF9fb25fZGxjbG9zZSgpIHsKLSAgX19jeGFfZmluYWxpemUoJl9fZHNvX2hhbmRsZSk7Ci19Ci0KLSNpbmNsdWRlICIuLi8uLi9hcmNoLWNvbW1vbi9iaW9uaWMvX19kc29faGFuZGxlX3NvLmgiCi0jaW5jbHVkZSAiYXRleGl0LmgiCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvc2V0am1wLlMgYi9saWJjL2FyY2gtbWlwcy9iaW9uaWMvc2V0am1wLlMKaW5kZXggMzE3ODZiZS4uYmVkOTU2MiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHMvYmlvbmljL3NldGptcC5TCisrKyBiL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9zZXRqbXAuUwpAQCAtMSw1ICsxLDMwIEBACi0vKiAgICAgICRPcGVuQlNEOiBzZXRqbXAuUyx2IDEuNSAyMDA1LzA4LzA3IDE2OjQwOjE1IGVzcGllIEV4cCAkICovCi0KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLwogLyoKICAqIENvcHlyaWdodCAoYykgMjAwMS0yMDAyIE9wc3ljb24gQUIgICh3d3cub3BzeWNvbi5zZSAvIHd3dy5vcHN5Y29uLmNvbSkKICAqCkBAIC0yOCwxNCArNTMsMTIyIEBACiAgKiBTVUNIIERBTUFHRS4KICAqCiAgKi8KKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkzLCAxOTk1LAorICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogSGF2YXJkIEVpZG5lcy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTIsIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKKyAqIFJhbHBoIENhbXBiZWxsLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKglAKCMpc2lnbmFsLmgJOC4xIChCZXJrZWxleSkgNi8xMC85MworICovCiAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3JlZ251bS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvc2lnbmFsLmg+CisjaW5jbHVkZSA8bWFjaGluZS9zZXRqbXAuaD4KKworLyogam1wYnVmIGlzIGRlY2xhcmVkIHRvIHVzZXJzIGFzIGFuIGFycmF5IG9mIGxvbmdzLCB3aGljaCBpcyBvbmx5CisgKiA0LWJ5dGUgYWxpZ25lZCBpbiAzMi1iaXQgYnVpbGRzLiAgVGhlIE1pcHMgam1wYnVmIGJlZ2lucyB3aXRoIGEKKyAqIGR5bmFtaWNhbGx5LXNpemVkIDAtIG9yIDQtYnl0ZSB1bnVzZWQgZmlsbGVyIHNvIHRoYXQgZG91YmxlLXByZWMgRlAgcmVncworICogYXJlIHNhdmVkIHRvIDgtYnl0ZS1hbGlnbmVkIG1lbSBjZWxscy4KKyAqIEFsbCB0aGUgZm9sbG93aW5nIGptcGJ1ZiBvZmZzZXRzIGFyZSBmcm9tIHRoZSByb3VuZGVkLURPV04gYmFzZSBhZGRyLgorICovCisKKy8qIEZpZWxkcyBvZiBzYW1lIHNpemUgb24gYWxsIE1JUFMgYWJpczogKi8KKy8qICAgICAJZmllbGQ6CQlieXRlIG9mZnNldDoJc2l6ZToJCQkJCQkqLworLyogICAgIAlkeW5hbSBmaWxsZXIJKDAqNCkJCSAgIDAtNCBieXRlcyBvZiByb3VuZGRvd24gZmlsbGVyLCBET04nVCBUT1VDSCEhCisJCQkJCQlvZnRlbiBvdmVybGF5cyB1c2VyIHN0b3JhZ2UhIQkJKi8KKyNkZWZpbmUJU0NfTUFHSUNfT0ZGU0VUCSgxKjQpCQkvKiA0IGJ5dGVzLCBpZGVudGlmeSBqbXBidWYsIGZpcnN0IGFjdHVhbCBmaWVsZCAqLworI2RlZmluZQlTQ19GTEFHX09GRlNFVAkoMio0KQkJLyogNCBieXRlcywgc2F2ZXNpZ3MgZmxhZyAqLworI2RlZmluZQlTQ19GUFNSX09GRlNFVAkoMyo0KQkJLyogNCBieXRlcywgZmxvYXRpbmcgcG9pbnQgY29udHJvbC9zdGF0dXMgcmVnICovCisvKiBmb2xsb3dpbmcgZmllbGRzIGFyZSA4LWJ5dGUgYWxpZ25lZCAqLworI2RlZmluZQlTQ19NQVNLX09GRlNFVAkoNCo0KQkJLyogMTYgYnl0ZXMsIG1pcHMzMi9taXBzNjQgdmVyc2lvbiBvZiBzaWdzZXRfdCAqLworI2RlZmluZQlTQ19TUEFSRV9PRkZTRVQJKDgqNCkJCS8qIDggYnl0ZXMsIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlcyAqLworCisvKiBSZWdpc3RlcnMgdGhhdCBhcmUgNC1ieXRlIG9uIG1pcHMzMiBvMzIsIGFuZCA4LWJ5dGUgb24gbWlwczY0IG42NCBhYmkgKi8KKyNkZWZpbmUJU0NfUkVHU19PRkZTRVQJKDEwKjQpCQkvKiBTQ19SRUdTX0JZVEVTICovCisjZGVmaW5lCVNDX1JFR1NfU0FWRUQJMTIgLypyZWdzKi8JLyogcmEsczAtczgsZ3Asc3AgKi8KKyNkZWZpbmUJU0NfUkVHU19CWVRFUyAgIChTQ19SRUdTX1NBVkVEKlJFR1NaKQorI2RlZmluZQlTQ19SRUdTCQlTQ19SRUdTX09GRlNFVAorCisvKiBEb3VibGUgZmxvYXRpbmcgcHQgcmVnaXN0ZXJzIGFyZSA4LWJ5dGVzIG9uIGFsbCBhYmlzLAorICogYnV0IHRoZSBudW1iZXIgb2Ygc2F2ZWQgZnAgcmVncyB2YXJpZXMgZm9yIG8zMi9uMzIgdmVyc3VzIG42NCBhYmlzOgorICovCisKKyNpZmRlZiBfX0xQNjRfXworI2RlZmluZQlTQ19GUFJFR1NfU0FWRUQJOCAgLyogYWxsICBmcCByZWdzIGYyNCxmMjUsZjI2LGYyNyxmMjgsZjI5LGYzMCxmMzEgKi8KKyNlbHNlCisjZGVmaW5lCVNDX0ZQUkVHU19TQVZFRAk2ICAvKiBldmVuIGZwIHJlZ3MgZjIwLGYyMixmMjQsZjI2LGYyOCxmMzAgKi8KKyNlbmRpZgorCisjZGVmaW5lCVNDX0ZQUkVHU19PRkZTRVQgKFNDX1JFR1NfT0ZGU0VUICsgU0NfUkVHU19CWVRFUykgIC8qIFNDX0ZQUkVHU19CWVRFUyAqLworI2RlZmluZQlTQ19GUFJFR1NfQllURVMgKFNDX0ZQUkVHU19TQVZFRCpSRUdTWl9GUCkKKyNkZWZpbmUJU0NfRlBSRUdTCVNDX0ZQUkVHU19PRkZTRVQKKworI2RlZmluZQlTQ19UT1RBTF9CWVRFUwkoU0NfRlBSRUdTX09GRlNFVCArIFNDX0ZQUkVHU19CWVRFUykKKyNkZWZpbmUJU0NfVE9UQUxfTE9OR1MJKFNDX1RPVEFMX0JZVEVTL1JFR1NaKQorCisjaWYgU0NfVE9UQUxfTE9OR1MgPiBfSkJMRU4KKyNlcnJvciBfSkJMRU4gaXMgdG9vIHNtYWxsCisjZW5kaWYKIAogLyoKLSAqIHNldGptcCwgbG9uZ2ptcCBpbXBsZW1lbnRhdGlvbiBmb3IgbGliYy4gdGhpcyBjb2RlIGRlcGVuZHMKLSAqIG9uIHRoZSBsYXlvdXQgb2YgdGhlIHN0cnVjdCBzaWdjb250ZXh0IGluIG1hY2hpbmUvc2lnbmFsLmguCisgKgorICogIEdQT0ZGIGFuZCBGUkFNRVNJWkUgbXVzdCBiZSB0aGUgc2FtZSBmb3IgYWxsIHNldGptcC9sb25nam1wIHJvdXRpbmVzCiAgKgogICovCiAKQEAgLTQ1LDEzMCArMTc4LDE3OSBAQAogR1BPRkY9IEZSQU1FU1otMipSRUdTWgogUkFPRkY9IEZSQU1FU1otMSpSRUdTWgogCi1OT05fTEVBRihzZXRqbXAsIEZSQU1FU1osIHJhKQorTk9OX0xFQUYoc2lnc2V0am1wLCBGUkFNRVNaLCByYSkKIAkubWFzawkweDgwMDAwMDAwLCBSQU9GRgogCVBUUl9TVUJVIHNwLCBGUkFNRVNaCQkJIyBhbGxvY2F0ZSBzdGFjayBmcmFtZQotCVNFVFVQX0dQNjQoR1BPRkYsIHNldGptcCkKKwlTRVRVUF9HUDY0KEdQT0ZGLCBzaWdzZXRqbXApCiAJU0FWRV9HUChHUE9GRikKIAkuc2V0CXJlb3JkZXIKLQlSRUdfUwlyYSwgUkFPRkYoc3ApCQkJIyBzYXZlIHN0YXRlCisKK3NldGptcF9jb21tb246CisjaWZuZGVmIF9fTFA2NF9fCisJbGkJdDAsIH43CisJYW5kCWEwLCB0MAkJCQkjIHJvdW5kIGptcGJ1ZiBhZGRyIERPV04gdG8gOC1ieXRlIGJvdW5kYXJ5CisjZW5kaWYKKwlzdwlhMSwgU0NfRkxBR19PRkZTRVQoYTApCQkjIHNhdmUgc2F2ZXNpZ3MgZmxhZworCWJlcXoJYTEsIDFmCQkJCSMgZG8gc2F2aW5nIG9mIHNpZ25hbCBtYXNrPworCisJUkVHX1MJcmEsIFJBT0ZGKHNwKQkJCSMgc3BpbGwgc3RhdGUKIAlSRUdfUwlhMCwgQTBPRkYoc3ApCi0KLQltb3ZlCWEwLCB6ZXJvCQkJIyBnZXQgY3VycmVudCBzaWduYWwgbWFzawotCWphbAlzaWdibG9jawotCi0JUkVHX0wJdjEsIEEwT0ZGKHNwKQkJCSMgdjEgPSBqbXBidWYKLQlSRUdfUwl2MCwgU0NfTUFTSyh2MSkJCQkjIHNhdmUgc2NfbWFzayA9IHNpZ2Jsb2NrKDApCi0KLQlSRUdfTAlhMCwgQTBPRkYoc3ApCQkJIyByZXN0b3JlIGptcGJ1ZgorCSMgY2FsbCBzaWdwcm9jbWFzayhpbnQgaG93IGlnbm9yZWQsIHNpZ3NldF90KiBudWxsLCBzaWdzZXRfdCogU0NfTUFTSyhhMCkpOgorCUxBCWEyLCBTQ19NQVNLX09GRlNFVChhMCkJCSMgZ2V0cyBjdXJyZW50IHNpZ25hbCBtYXNrCisJbGkJYTAsIDAJCQkJIyBob3c7IGlnbm9yZWQgd2hlbiBuZXcgbWFzayBpcyBudWxsCisJbGkJYTEsIDAJCQkJIyBudWxsIG5ldyBtYXNrCisJamFsCXNpZ3Byb2NtYXNrCQkJIyBnZXQgY3VycmVudCBzaWduYWwgbWFzaworCVJFR19MCWEwLCBBME9GRihzcCkKIAlSRUdfTAlyYSwgUkFPRkYoc3ApCi0JUkVHX1MJcmEsIFNDX1BDKGEwKQkJCSMgc2NfcGMgPSByZXR1cm4gYWRkcmVzcwotI2lmIGRlZmluZWQoX19taXBzNjQpCi0JZGxpCXYwLCAweEFDRURCQURFCQkJIyBzaWdjb250ZXh0IG1hZ2ljIG51bWJlcgotI2Vsc2UKKzE6CiAJbGkJdjAsIDB4QUNFREJBREUJCQkjIHNpZ2NvbnRleHQgbWFnaWMgbnVtYmVyCi0jZW5kaWYKLQlSRUdfUwl2MCwgU0NfUkVHUytaRVJPKlJFR1NaKGEwKQotCVJFR19TCXMwLCBTQ19SRUdTK1MwKlJFR1NaKGEwKQotCVJFR19TCXMxLCBTQ19SRUdTK1MxKlJFR1NaKGEwKQotCVJFR19TCXMyLCBTQ19SRUdTK1MyKlJFR1NaKGEwKQotCVJFR19TCXMzLCBTQ19SRUdTK1MzKlJFR1NaKGEwKQotCVJFR19TCXM0LCBTQ19SRUdTK1M0KlJFR1NaKGEwKQotCVJFR19TCXM1LCBTQ19SRUdTK1M1KlJFR1NaKGEwKQotCVJFR19TCXM2LCBTQ19SRUdTK1M2KlJFR1NaKGEwKQotCVJFR19TCXM3LCBTQ19SRUdTK1M3KlJFR1NaKGEwKQotCVJFR19TCXM4LCBTQ19SRUdTK1M4KlJFR1NaKGEwKQorCXN3CXYwLCBTQ19NQUdJQ19PRkZTRVQoYTApCisJIyBjYWxsZWUtc2F2ZWQgbG9uZy1zaXplZCByZWdzOgorCVJFR19TCXJhLCBTQ19SRUdTKzAqUkVHU1ooYTApCisJUkVHX1MJczAsIFNDX1JFR1MrMSpSRUdTWihhMCkKKwlSRUdfUwlzMSwgU0NfUkVHUysyKlJFR1NaKGEwKQorCVJFR19TCXMyLCBTQ19SRUdTKzMqUkVHU1ooYTApCisJUkVHX1MJczMsIFNDX1JFR1MrNCpSRUdTWihhMCkKKwlSRUdfUwlzNCwgU0NfUkVHUys1KlJFR1NaKGEwKQorCVJFR19TCXM1LCBTQ19SRUdTKzYqUkVHU1ooYTApCisJUkVHX1MJczYsIFNDX1JFR1MrNypSRUdTWihhMCkKKwlSRUdfUwlzNywgU0NfUkVHUys4KlJFR1NaKGEwKQorCVJFR19TCXM4LCBTQ19SRUdTKzkqUkVHU1ooYTApCiAJUkVHX0wJdjAsIEdQT0ZGKHNwKQotCVJFR19TCXYwLCBTQ19SRUdTK0dQKlJFR1NaKGEwKQorCVJFR19TCXYwLCBTQ19SRUdTKzEwKlJFR1NaKGEwKQkjIHNhdmUgZ3AKIAlQVFJfQUREVSB2MCwgc3AsIEZSQU1FU1oKLQlSRUdfUwl2MCwgU0NfUkVHUytTUCpSRUdTWihhMCkKKwlSRUdfUwl2MCwgU0NfUkVHUysxMSpSRUdTWihhMCkJIyBzYXZlIG9yaWcgc3AKIAotI2lmICFkZWZpbmVkKFNPRlRGTE9BVCkKLQlsaQl2MCwgMQkJCQkjIGJlIG5pY2UgaWYgd2UgY291bGQgdGVsbAotCVJFR19TCXYwLCBTQ19GUFVTRUQoYTApCQkjIHNjX2ZwdXNlZCA9IDEKIAljZmMxCXYwLCAkMzEKLQlzLmQJJGYyMCwgU0NfRlBSRUdTKygoRjIwLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjIsIFNDX0ZQUkVHUysoKEYyMi1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI0LCBTQ19GUFJFR1MrKChGMjQtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyNiwgU0NfRlBSRUdTKygoRjI2LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjgsIFNDX0ZQUkVHUysoKEYyOC1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjMwLCBTQ19GUFJFR1MrKChGMzAtRjApKlJFR1NaX0ZQKShhMCkKLSNpZiBfTUlQU19GUFNFVCA9PSAzMgotCXMuZAkkZjIxLCBTQ19GUFJFR1MrKChGMjEtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyMywgU0NfRlBSRUdTKygoRjIzLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjUsIFNDX0ZQUkVHUysoKEYyNS1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI3LCBTQ19GUFJFR1MrKChGMjctRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyOSwgU0NfRlBSRUdTKygoRjI5LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMzEsIFNDX0ZQUkVHUysoKEYzMS1GMCkqUkVHU1pfRlApKGEwKQorCisjaWZkZWYgX19MUDY0X18KKwkjIGNhbGxlZS1zYXZlZCBmcCByZWdzIG9uIG1pcHMgbjY0IEFCSSBhcmUgJGYyNC4uJGYzMQorCXMuZAkkZjI0LCBTQ19GUFJFR1MrMCpSRUdTWl9GUChhMCkKKwlzLmQJJGYyNSwgU0NfRlBSRUdTKzEqUkVHU1pfRlAoYTApCisJcy5kCSRmMjYsIFNDX0ZQUkVHUysyKlJFR1NaX0ZQKGEwKQorCXMuZAkkZjI3LCBTQ19GUFJFR1MrMypSRUdTWl9GUChhMCkKKwlzLmQJJGYyOCwgU0NfRlBSRUdTKzQqUkVHU1pfRlAoYTApCisJcy5kCSRmMjksIFNDX0ZQUkVHUys1KlJFR1NaX0ZQKGEwKQorCXMuZAkkZjMwLCBTQ19GUFJFR1MrNipSRUdTWl9GUChhMCkKKwlzLmQJJGYzMSwgU0NfRlBSRUdTKzcqUkVHU1pfRlAoYTApCisjZWxzZQorCSMgY2FsbGVlLXNhdmVkIGZwIHJlZ3Mgb24gbWlwcyBvMzIgQUJJIGFyZQorCSMgICB0aGUgZXZlbi1udW1iZXJlZCBkb3VibGUgZnAgcmVncyAkZjIwLCRmMjIsLi4uJGYzMAorCXMuZAkkZjIwLCBTQ19GUFJFR1MrMCpSRUdTWl9GUChhMCkKKwlzLmQJJGYyMiwgU0NfRlBSRUdTKzEqUkVHU1pfRlAoYTApCisJcy5kCSRmMjQsIFNDX0ZQUkVHUysyKlJFR1NaX0ZQKGEwKQorCXMuZAkkZjI2LCBTQ19GUFJFR1MrMypSRUdTWl9GUChhMCkKKwlzLmQJJGYyOCwgU0NfRlBSRUdTKzQqUkVHU1pfRlAoYTApCisJcy5kCSRmMzAsIFNDX0ZQUkVHUys1KlJFR1NaX0ZQKGEwKQogI2VuZGlmCi0JUkVHX1MJdjAsIFNDX0ZQUkVHUysoKEZTUi1GMCkqUkVHU1opKGEwKQotI2VuZGlmIC8qICFTT0ZURkxPQVQgKi8KKwlzdwl2MCwgU0NfRlBTUl9PRkZTRVQoYTApCiAJbW92ZQl2MCwgemVybwogCVJFU1RPUkVfR1A2NAogCVBUUl9BRERVIHNwLCBGUkFNRVNaCiAJaglyYQorRU5EKHNpZ3NldGptcCkKIAotYm90Y2g6Ci0JamFsCWxvbmdqbXBlcnJvcgotCWphbAlhYm9ydAotCVJFU1RPUkVfR1A2NAotCVBUUl9BRERVIHNwLCBGUkFNRVNaCisKKyMgQWx0ZXJuYXRlIGVudHJ5IHBvaW50czoKKworTk9OX0xFQUYoc2V0am1wLCBGUkFNRVNaLCByYSkKKwkubWFzawkweDgwMDAwMDAwLCBSQU9GRgorCVBUUl9TVUJVIHNwLCBGUkFNRVNaCisJU0VUVVBfR1A2NChHUE9GRiwgc2V0am1wKQkJIyBjYW4ndCBzaGFyZSBzaWdzZXRqbXAncyBncCBjb2RlCisJU0FWRV9HUChHUE9GRikKKwkuc2V0CXJlb3JkZXIKKworCWxpCWExLCAxCQkJCSMgc2F2ZS9yZXN0b3JlIHNpZ25hbHMgc3RhdGUKKwliCXNldGptcF9jb21tb24JCQkjIHRhaWwgY2FsbAogRU5EKHNldGptcCkKIAogCi1MRUFGKGxvbmdqbXAsIEZSQU1FU1opCitOT05fTEVBRihfc2V0am1wLCBGUkFNRVNaLCByYSkKKwkubWFzawkweDgwMDAwMDAwLCBSQU9GRgogCVBUUl9TVUJVIHNwLCBGUkFNRVNaCi0JU0VUVVBfR1A2NChHUE9GRiwgbG9uZ2ptcCkKKwlTRVRVUF9HUDY0KEdQT0ZGLCBfc2V0am1wKQkJIyBjYW4ndCBzaGFyZSBzaWdzZXRqbXAncyBncCBjb2RlCiAJU0FWRV9HUChHUE9GRikKIAkuc2V0CXJlb3JkZXIKLQlzdwlhMSwgQTFPRkYoc3ApCi0Jc3cJYTAsIEEwT0ZGKHNwKQogCi0JbHcJYTAsIFNDX01BU0soYTApCi0JamFsCXNpZ3NldG1hc2sKKwlsaQlhMSwgMAkJCQkjIGRvbid0IHNhdmUvcmVzdG9yZSBzaWduYWxzCisJYglzZXRqbXBfY29tbW9uCQkJIyB0YWlsIGNhbGwKK0VORChfc2V0am1wKQogCi0JbHcJYTAsIEEwT0ZGKHNwKQotCWx3CWExLCBBMU9GRihzcCkKIAotCS5zZXQJbm9yZW9yZGVyCi0JUkVHX0wJdjAsIFNDX1JFR1MrWkVSTypSRUdTWihhMCkKLQlibmUJdjAsIDB4QUNFREJBREUsIGJvdGNoCQkjIGp1bXAgaWYgZXJyb3IKLQlSRUdfTAlyYSwgU0NfUEMoYTApCi0JUkVHX0wJczAsIFNDX1JFR1MrUzAqUkVHU1ooYTApCi0JUkVHX0wJczEsIFNDX1JFR1MrUzEqUkVHU1ooYTApCi0JUkVHX0wJczIsIFNDX1JFR1MrUzIqUkVHU1ooYTApCi0JUkVHX0wJczMsIFNDX1JFR1MrUzMqUkVHU1ooYTApCi0JUkVHX0wJczQsIFNDX1JFR1MrUzQqUkVHU1ooYTApCi0JUkVHX0wJczUsIFNDX1JFR1MrUzUqUkVHU1ooYTApCi0JUkVHX0wJczYsIFNDX1JFR1MrUzYqUkVHU1ooYTApCi0JUkVHX0wJczcsIFNDX1JFR1MrUzcqUkVHU1ooYTApCi0JUkVHX0wJczgsIFNDX1JFR1MrUzgqUkVHU1ooYTApCi0JUkVHX0wJZ3AsIFNDX1JFR1MrR1AqUkVHU1ooYTApCi0JUkVHX0wJc3AsIFNDX1JFR1MrU1AqUkVHU1ooYTApCitOT05fTEVBRihzaWdsb25nam1wLCBGUkFNRVNaLCByYSkKKwkubWFzawkweDgwMDAwMDAwLCBSQU9GRgorCVBUUl9TVUJVIHNwLCBGUkFNRVNaCisJU0VUVVBfR1A2NChHUE9GRiwgc2lnbG9uZ2ptcCkKKwlTQVZFX0dQKEdQT0ZGKQorCS5zZXQJcmVvcmRlcgogCi0jaWYgIWRlZmluZWQoU09GVEZMT0FUKQotCVJFR19MCXYwLCBTQ19GUFJFR1MrKChGU1ItRjApKlJFR1NaKShhMCkKLQljdGMxCXYwLCAkMzEKLQlsLmQJJGYyMCwgU0NfRlBSRUdTKygoRjIwLUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjIsIFNDX0ZQUkVHUysoKEYyMi1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI0LCBTQ19GUFJFR1MrKChGMjQtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyNiwgU0NfRlBSRUdTKygoRjI2LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjgsIFNDX0ZQUkVHUysoKEYyOC1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjMwLCBTQ19GUFJFR1MrKChGMzAtRjApKlJFR1NaX0ZQKShhMCkKLSNpZiBfTUlQU19GUFNFVCA9PSAzMgotCWwuZAkkZjIxLCBTQ19GUFJFR1MrKChGMjEtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyMywgU0NfRlBSRUdTKygoRjIzLUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjUsIFNDX0ZQUkVHUysoKEYyNS1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI3LCBTQ19GUFJFR1MrKChGMjctRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyOSwgU0NfRlBSRUdTKygoRjI5LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMzEsIFNDX0ZQUkVHUysoKEYzMS1GMCkqUkVHU1pfRlApKGEwKQorI2lmbmRlZiBfX0xQNjRfXworCWxpCXQwLCB+NworCWFuZAlhMCwgdDAJCQkJIyByb3VuZCBqbXBidWYgYWRkciBET1dOIHRvIDgtYnl0ZSBib3VuZGFyeQogI2VuZGlmCi0jZW5kaWYgLyogIVNPRlRGTE9BVCAqLworCWx3CXYwLCBTQ19NQUdJQ19PRkZTRVQoYTApCisJbGkJdDAsIDB4QUNFREJBREUKKwlibmUJdjAsIHQwLCBsb25nam1wX2JvdGNoCQkjIGp1bXAgaWYgZXJyb3IKKworCWx3CXQwLCBTQ19GTEFHX09GRlNFVChhMCkJCSMgZ2V0IHNhdmVzaWdzIGZsYWcKKwliZXF6CXQwLCAxZgkJCQkjIHJlc3RvcmUgc2lnbmFsIG1hc2s/CisKKwlSRUdfUwlhMSwgQTFPRkYoc3ApCQkJIyB0ZW1wIHNwaWxsCisJUkVHX1MJYTAsIEEwT0ZGKHNwKQorICAgICAgICAjIGNhbGwgc2lncHJvY21hc2soaW50IGhvdyBTSUdfU0VUTUFTSywgc2lnc2V0X3QqIFNDX01BU0soYTApLCBzaWdzZXRfdCogbnVsbCk6CisJTEEJYTEsIFNDX01BU0tfT0ZGU0VUKGEwKQkJIyBzaWduYWxzIGJlaW5nIHJlc3RvcmVkCisJbGkJYTAsIDMJCQkJIyBtaXBzIFNJR19TRVRNQVNLCisJbGkJYTIsIDAJCQkJIyBudWxsCisJamFsCXNpZ3Byb2NtYXNrCQkJIyByZXN0b3JlIHNpZ25hbCBtYXNrCisJUkVHX0wJYTAsIEEwT0ZGKHNwKQorCVJFR19MCWExLCBBMU9GRihzcCkKKzE6CisJIyBjYWxsZWUtc2F2ZWQgbG9uZy1zaXplZCByZWdzOgorCVJFR19MCXJhLCBTQ19SRUdTKzAqUkVHU1ooYTApCisJUkVHX0wJczAsIFNDX1JFR1MrMSpSRUdTWihhMCkKKwlSRUdfTAlzMSwgU0NfUkVHUysyKlJFR1NaKGEwKQorCVJFR19MCXMyLCBTQ19SRUdTKzMqUkVHU1ooYTApCisJUkVHX0wJczMsIFNDX1JFR1MrNCpSRUdTWihhMCkKKwlSRUdfTAlzNCwgU0NfUkVHUys1KlJFR1NaKGEwKQorCVJFR19MCXM1LCBTQ19SRUdTKzYqUkVHU1ooYTApCisJUkVHX0wJczYsIFNDX1JFR1MrNypSRUdTWihhMCkKKwlSRUdfTAlzNywgU0NfUkVHUys4KlJFR1NaKGEwKQorCVJFR19MCXM4LCBTQ19SRUdTKzkqUkVHU1ooYTApCisJUkVHX0wJZ3AsIFNDX1JFR1MrMTAqUkVHU1ooYTApCisJUkVHX0wJc3AsIFNDX1JFR1MrMTEqUkVHU1ooYTApCisKKwlsdwl2MCwgU0NfRlBTUl9PRkZTRVQoYTApCisJY3RjMQl2MCwgJDMxCQkJIyByZXN0b3JlIG9sZCBmciBtb2RlIGJlZm9yZSBmcCB2YWx1ZXMKKyNpZmRlZiBfX0xQNjRfXworCSMgY2FsbGVlLXNhdmVkIGZwIHJlZ3Mgb24gbWlwcyBuNjQgQUJJIGFyZSAkZjI0Li4kZjMxCisJbC5kCSRmMjQsIFNDX0ZQUkVHUyswKlJFR1NaX0ZQKGEwKQorCWwuZAkkZjI1LCBTQ19GUFJFR1MrMSpSRUdTWl9GUChhMCkKKwlsLmQJJGYyNiwgU0NfRlBSRUdTKzIqUkVHU1pfRlAoYTApCisJbC5kCSRmMjcsIFNDX0ZQUkVHUyszKlJFR1NaX0ZQKGEwKQorCWwuZAkkZjI4LCBTQ19GUFJFR1MrNCpSRUdTWl9GUChhMCkKKwlsLmQJJGYyOSwgU0NfRlBSRUdTKzUqUkVHU1pfRlAoYTApCisJbC5kCSRmMzAsIFNDX0ZQUkVHUys2KlJFR1NaX0ZQKGEwKQorCWwuZAkkZjMxLCBTQ19GUFJFR1MrNypSRUdTWl9GUChhMCkKKyNlbHNlCisJIyBjYWxsZWUtc2F2ZWQgZnAgcmVncyBvbiBtaXBzIG8zMiBBQkkgYXJlCisJIyAgIHRoZSBldmVuLW51bWJlcmVkIGRvdWJsZSBmcCByZWdzICRmMjAsJGYyMiwuLi4kZjMwCisJbC5kCSRmMjAsIFNDX0ZQUkVHUyswKlJFR1NaX0ZQKGEwKQorCWwuZAkkZjIyLCBTQ19GUFJFR1MrMSpSRUdTWl9GUChhMCkKKwlsLmQJJGYyNCwgU0NfRlBSRUdTKzIqUkVHU1pfRlAoYTApCisJbC5kCSRmMjYsIFNDX0ZQUkVHUyszKlJFR1NaX0ZQKGEwKQorCWwuZAkkZjI4LCBTQ19GUFJFR1MrNCpSRUdTWl9GUChhMCkKKwlsLmQJJGYzMCwgU0NfRlBSRUdTKzUqUkVHU1pfRlAoYTApCisjZW5kaWYKIAlibmUJYTEsIHplcm8sIDFmCi0JIG5vcAogCWxpCWExLCAxCQkJIyBuZXZlciByZXR1cm4gMCEKIDE6Ci0JaglyYQotCSBtb3ZlCXYwLCBhMQorCW1vdmUJdjAsIGExCisJaglyYQkJCSMgcmV0dXJuIHRvIHNldGptcCBjYWxsIHNpdGUKIAotRU5EKGxvbmdqbXApCitsb25nam1wX2JvdGNoOgorCWphbAlsb25nam1wZXJyb3IKKwlqYWwJYWJvcnQKK0VORChzaWdsb25nam1wKQorCitBTElBU19TWU1CT0wobG9uZ2ptcCwgc2lnbG9uZ2ptcCkKK0FMSUFTX1NZTUJPTChfbG9uZ2ptcCwgc2lnbG9uZ2ptcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9zaWdzZXRqbXAuUyBiL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9zaWdzZXRqbXAuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQyZTVlYS4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvc2lnc2V0am1wLlMKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0vKiAkT3BlbkJTRDogc2lnc2V0am1wLlMsdiAxLjUgMjAwNS8wOC8wNyAxNjo0MDoxNSBlc3BpZSBFeHAgJCAqLwotLyotCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTMsIDE5OTUsCi0gKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5Ci0gKiBIYXZhcmQgRWlkbmVzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9yZWdudW0uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3NldGptcC5oPgotCi0vKgotICogdHJhbXBvbGluZXMgZm9yIHNpZ3NldGptcCBhbmQgIHNpZ2xvbmdqbXAgc2F2ZSBhbmQgcmVzdG9yZSBtYXNrLgotICoKLSAqLwotRlJBTUVTWj0gTUtGU0laKDEsMSkKLUdQT0ZGPSBGUkFNRVNaLTIqUkVHU1oKLQotTEVBRihzaWdzZXRqbXAsIEZSQU1FU1opCi0JUFRSX1NVQlUgc3AsIEZSQU1FU1oKLQlTRVRVUF9HUDY0KEdQT0ZGLCBzaWdzZXRqbXApCi0JLnNldAlyZW9yZGVyCi0JUkVHX1MJYTEsIChfSkJMRU4qUkVHU1opKGEwKQkJIyBzYXZlICJzYXZlbWFzayIKLQlibmUJYTEsIDB4MCwgMWYJCQkjIGRvIHNhdmluZyBvZiBzaWduYWwgbWFzaz8KLQlMQQl0OSwgX3NldGptcAotCVJFU1RPUkVfR1A2NAotCVBUUl9BRERVIHNwLCBGUkFNRVNaCi0JanIgdDkKLQotMToJTEEJdDksIHNldGptcAotCVJFU1RPUkVfR1A2NAotCVBUUl9BRERVIHNwLCBGUkFNRVNaCi0JanIgdDkKLUVORChzaWdzZXRqbXApCi0KLUxFQUYoc2lnbG9uZ2ptcCwgRlJBTUVTWikKLQlQVFJfU1VCVSBzcCwgRlJBTUVTWgotCVNFVFVQX0dQNjQoR1BPRkYsIHNpZ2xvbmdqbXApCi0JLnNldAlyZW9yZGVyCi0JUkVHX0wJdDAsIChfSkJMRU4qUkVHU1opKGEwKQkJIyBnZXQgInNhdmVtYXNrIgotCWJuZQl0MCwgMHgwLCAxZgkJCSMgcmVzdG9yZSBzaWduYWwgbWFzaz8KLQlMQQl0OSwgX2xvbmdqbXAKLQlSRVNUT1JFX0dQNjQKLQlQVFJfQUREVSBzcCwgRlJBTUVTWgotCWpyCXQ5Ci0xOgotCUxBCXQ5LCBsb25nam1wCi0JUkVTVE9SRV9HUDY0Ci0JUFRSX0FERFUgc3AsIEZSQU1FU1oKLQlqcgl0OQotRU5EKHNpZ2xvbmdqbXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvYXNtLmggYi9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvYXNtLmgKaW5kZXggNWVhY2RlMy4uY2RjNzkxNCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHMvaW5jbHVkZS9tYWNoaW5lL2FzbS5oCisrKyBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9hc20uaApAQCAtMjgsOSArMjgsNyBAQAogI2lmbmRlZiBfTUlQUzY0X0FTTV9ICiAjZGVmaW5lIF9NSVBTNjRfQVNNX0gKIAotI2lmbmRlZiBfQUxJR05fVEVYVAotIyBkZWZpbmUgX0FMSUdOX1RFWFQgLmFsaWduIDQKLSNlbmRpZgorI2RlZmluZSBfX2Jpb25pY19hc21fYWxpZ24gNAogCiAjdW5kZWYgX19iaW9uaWNfYXNtX2N1c3RvbV9lbnRyeQogI3VuZGVmIF9fYmlvbmljX2FzbV9jdXN0b21fZW5kCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvZWxmX21hY2hkZXAuaCBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9lbGZfbWFjaGRlcC5oCmluZGV4IGQyN2Q0MzEuLjBhYWNlZGYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9lbGZfbWFjaGRlcC5oCisrKyBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9lbGZfbWFjaGRlcC5oCkBAIC0xMjEsNiArMTIxLDcgQEAKICNkZWZpbmUJRFRfTUlQU19HT1RTWU0JCTB4NzAwMDAwMTMJLyogZmlyc3QgZHluYW1pYyBzeW0gaW4gZ290ICovCiAjZGVmaW5lIERUX01JUFNfSElQQUdFTk8JMHg3MDAwMDAxNAogI2RlZmluZQlEVF9NSVBTX1JMRF9NQVAJCTB4NzAwMDAwMTYJLyogYWRkcmVzcyBvZiBsb2FkZXIgbWFwICovCisjZGVmaW5lIERUX01JUFNfUkxEX01BUDIJMHg3MDAwMDAzNQkvKiBvZmZzZXQgb2YgbG9hZGVyIG1hcCwgdXNlZCBmb3IgUElFICovCiAKIC8qCiAgKiBFTEYgRmxhZ3MKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaCBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDFhOTAwNC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKgkkT3BlbkJTRDogZW5kaWFuLmgsdiAxLjUgMjAwNi8wMi8yNyAyMzozNTo1OSBtaW9kIEV4cCAkICovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDEtMjAwMiBPcHN5Y29uIEFCICAod3d3Lm9wc3ljb24uc2UgLyB3d3cub3BzeWNvbi5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MKLSAqIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKgotICovCi0KLSNpZm5kZWYgX01JUFM2NF9FTkRJQU5fSF8KLSNkZWZpbmUgX01JUFM2NF9FTkRJQU5fSF8KLQotI2lmZGVmIF9fR05VQ19fCi0KLSNpZiBkZWZpbmVkKF9fbWlwc19pc2FfcmV2KSAmJiAoX19taXBzX2lzYV9yZXYgPj0gMikKLSNkZWZpbmUgX19zd2FwMTZtZCh4KSAoewkJCQkJXAotICAgIHJlZ2lzdGVyIHVpbnQxNl90IF94ID0gKHgpOwkJCQkJXAotICAgIHJlZ2lzdGVyIHVpbnQxNl90IF9yOwkJCQkJXAotICAgIF9fYXNtIHZvbGF0aWxlICgid3NiaCAlMCwgJTEiIDogIj1yIiAoX3IpIDogInIiIChfeCkpOwlcCi0gICAgX3I7CQkJCQkJCQlcCi19KQotCi0jZGVmaW5lIF9fc3dhcDMybWQoeCkgKHsJCQkJCVwKLSAgICByZWdpc3RlciB1aW50MzJfdCBfeCA9ICh4KTsJCQkJCVwKLSAgICByZWdpc3RlciB1aW50MzJfdCBfcjsJCQkJCVwKLSAgICBfX2FzbSB2b2xhdGlsZSAoIndzYmggJTAsICUxOyByb3RyICUwLCAlMCwgMTYiIDogIj1yIiAoX3IpIDogInIiIChfeCkpOyBcCi0gICAgX3I7CQkJCQkJCQlcCi19KQotCi0jZGVmaW5lIF9fc3dhcDY0bWQoeCkgKHsJCQkJCVwKLSAgICB1aW50NjRfdCBfc3dhcDY0bWRfeCA9ICh4KTsJCQkJCVwKLSAgICAodWludDY0X3QpIF9fc3dhcDMybWQoX3N3YXA2NG1kX3ggPj4gMzIpIHwJCQlcCi0gICAgICAgICh1aW50NjRfdCkgX19zd2FwMzJtZChfc3dhcDY0bWRfeCAmIDB4ZmZmZmZmZmYpIDw8IDMyOwlcCi19KQotCi0vKiBUZWxsIHN5cy9lbmRpYW4uaCB3ZSBoYXZlIE1EIHZhcmlhbnRzIG9mIHRoZSBzd2FwIG1hY3Jvcy4gICovCi0jZGVmaW5lIE1EX1NXQVAKLQotI2VuZGlmICAvKiBfX21pcHMzMnIyX18gKi8KLSNlbmRpZiAgLyogX19HTlVDX18gKi8KLQotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgX0JZVEVfT1JERVIgX0JJR19FTkRJQU4KLSNlbHNlCi0jZGVmaW5lIF9CWVRFX09SREVSIF9MSVRUTEVfRU5ESUFOCi0jZW5kaWYKLSNkZWZpbmUgX19TVFJJQ1RfQUxJR05NRU5UCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL2VuZGlhbi5oPgotCi0jZW5kaWYgLyogX01JUFM2NF9FTkRJQU5fSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9leGVjLmggYi9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvZXhlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzYzZjc0Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9leGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxODggKzAsMCBAQAotLyoJJE9wZW5CU0Q6IGV4ZWMuaCx2IDEuMSAyMDA0LzEwLzE4IDE5OjA1OjM2IGdyYW5nZSBFeHAgJAkqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAxOTk2LTIwMDQgUGVyIEZvZ2Vsc3Ryb20sIE9wc3ljb24gQUIKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUwotICogT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqCi0gKi8KLQotI2lmbmRlZiBfTUlQUzY0X0VYRUNfSF8KLSNkZWZpbmUgX01JUFM2NF9FWEVDX0hfCi0KLSNkZWZpbmUJX19MRFBHU1oJNDA5NgotCi0vKgotICogIERlZmluZSB3aGF0IGV4ZWMgImZvcm1hdHMiIHdlIHNob3VsZCBoYW5kbGUuCi0gKi8KLSNkZWZpbmUgTkFUSVZFX0VYRUNfRUxGCi0jZGVmaW5lIE5BVElWRV9FTEZTSVpFIDY0Ci0jZGVmaW5lCUVYRUNfU0NSSVBUCi0KLS8qCi0gKiAgSWYgaW5jbHVkZWQgZnJvbSBzeXMvZXhlYy5oIGRlZmluZSBrZXJuZWxzIEVMRiBmb3JtYXQuCi0gKi8KLSNpZmRlZiBfX0xQNjRfXwotI2RlZmluZQlBUkNIX0VMRlNJWkUgNjQKLSNkZWZpbmUgREJfRUxGU0laRSA2NAotI2RlZmluZSBFTEZfVEFSR19DTEFTUyAgRUxGQ0xBU1M2NAotI2Vsc2UKLSNkZWZpbmUJQVJDSF9FTEZTSVpFIDMyCi0jZGVmaW5lIERCX0VMRlNJWkUgMzIKLSNkZWZpbmUgRUxGX1RBUkdfQ0xBU1MgIEVMRkNMQVNTMzIKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChfX01JUFNFQl9fKQotI2RlZmluZSBFTEZfVEFSR19EQVRBCQlFTEZEQVRBMk1TQgotI2Vsc2UKLSNkZWZpbmUgRUxGX1RBUkdfREFUQQkJRUxGREFUQTJMU0IKLSNlbmRpZgotI2RlZmluZSBFTEZfVEFSR19NQUNICQlFTV9NSVBTCi0KLSNkZWZpbmUgX05MSVNUX0RPX0VMRgotCi0jaWYgZGVmaW5lZChfTFA2NCkKLSNkZWZpbmUgX0tFUk5fRE9fRUxGNjQKLSNpZiBkZWZpbmVkKENPTVBBVF9PMzIpCi0jZGVmaW5lIF9LRVJOX0RPX0VMRgotI2VuZGlmCi0jZWxzZQotI2RlZmluZSBfS0VSTl9ET19FTEYKLSNlbmRpZgotCi0vKiBJbmZvcm1hdGlvbiB0YWtlbiBmcm9tIE1JUFMgQUJJIHN1cHBsZW1lbnRhbCAqLwotCi0vKiBBcmNoaXRlY3R1cmUgZGVwZW5kZW50IFNlZ21lbnQgdHlwZXMgLSBwX3R5cGUgKi8KLSNkZWZpbmUgUFRfTUlQU19SRUdJTkZPIDB4NzAwMDAwMDAgICAgICAvKiBSZWdpc3RlciB1c2FnZSBpbmZvcm1hdGlvbiAqLwotCi0vKiBBcmNoaXRlY3R1cmUgZGVwZW5kZW50IGRfdGFnIGZpZWxkIGZvciBFbGYzMl9EeW4uICAqLwotI2RlZmluZSBEVF9NSVBTX1JMRF9WRVJTSU9OICAweDcwMDAwMDAxIC8qIFJ1bnRpbWUgTGlua2VyIEludGVyZmFjZSBJRCAqLwotI2RlZmluZSBEVF9NSVBTX1RJTUVfU1RBTVAgICAweDcwMDAwMDAyIC8qIFRpbWVzdGFtcCAqLwotI2RlZmluZSBEVF9NSVBTX0lDSEVDS1NVTSAgICAweDcwMDAwMDAzIC8qIENrc3VtIG9mIGV4dC4gc3RyLiBhbmQgY29tLiBzaXplcyAqLwotI2RlZmluZSBEVF9NSVBTX0lWRVJTSU9OICAgICAweDcwMDAwMDA0IC8qIFZlcnNpb24gc3RyaW5nIChzdHJpbmcgdGJsIGluZGV4KSAqLwotI2RlZmluZSBEVF9NSVBTX0ZMQUdTICAgICAgICAweDcwMDAwMDA1IC8qIEZsYWdzICovCi0jZGVmaW5lIERUX01JUFNfQkFTRV9BRERSRVNTIDB4NzAwMDAwMDYgLyogU2VnbWVudCBiYXNlIGFkZHJlc3MgKi8KLSNkZWZpbmUgRFRfTUlQU19DT05GTElDVCAgICAgMHg3MDAwMDAwOCAvKiBBZHIgb2YgLmNvbmZsaWN0IHNlY3Rpb24gKi8KLSNkZWZpbmUgRFRfTUlQU19MSUJMSVNUICAgICAgMHg3MDAwMDAwOSAvKiBBZGRyZXNzIG9mIC5saWJsaXN0IHNlY3Rpb24gKi8KLSNkZWZpbmUgRFRfTUlQU19MT0NBTF9HT1ROTyAgMHg3MDAwMDAwYSAvKiBOdW1iZXIgb2YgbG9jYWwgLkdPVCBlbnRyaWVzICovCi0jZGVmaW5lIERUX01JUFNfQ09ORkxJQ1ROTyAgIDB4NzAwMDAwMGIgLyogTnVtYmVyIG9mIC5jb25mbGljdCBlbnRyaWVzICovCi0jZGVmaW5lIERUX01JUFNfTElCTElTVE5PICAgIDB4NzAwMDAwMTAgLyogTnVtYmVyIG9mIC5saWJsaXN0IGVudHJpZXMgKi8KLSNkZWZpbmUgRFRfTUlQU19TWU1UQUJOTyAgICAgMHg3MDAwMDAxMSAvKiBOdW1iZXIgb2YgLmR5bnN5bSBlbnRyaWVzICovCi0jZGVmaW5lIERUX01JUFNfVU5SRUZFWFROTyAgIDB4NzAwMDAwMTIgLyogRmlyc3QgZXh0ZXJuYWwgRFlOU1lNICovCi0jZGVmaW5lIERUX01JUFNfR09UU1lNICAgICAgIDB4NzAwMDAwMTMgLyogRmlyc3QgR09UIGVudHJ5IGluIC5keW5zeW0gKi8KLSNkZWZpbmUgRFRfTUlQU19ISVBBR0VOTyAgICAgMHg3MDAwMDAxNCAvKiBOdW1iZXIgb2YgR09UIHBhZ2UgdGFibGUgZW50cmllcyAqLwotI2RlZmluZSBEVF9NSVBTX1JMRF9NQVAgICAgICAweDcwMDAwMDE2IC8qIEFkZHJlc3Mgb2YgZGVidWcgbWFwIHBvaW50ZXIgKi8KLQotI2RlZmluZSBEVF9QUk9DTlVNIChEVF9NSVBTX1JMRF9NQVAgLSBEVF9MT1BST0MgKyAxKQotCi0vKgotICogTGVnYWwgdmFsdWVzIGZvciBlX2ZsYWdzIGZpZWxkIG9mIEVsZjMyX0VoZHIuCi0gKi8KLSNkZWZpbmUgRUZfTUlQU19OT1JFT1JERVIJMHgwMDAwMDAwMQkvKiAubm9yZW9yZGVyIHdhcyB1c2VkICovCi0jZGVmaW5lIEVGX01JUFNfUElDCQkweDAwMDAwMDAyCS8qIENvbnRhaW5zIFBJQyBjb2RlICovCi0jZGVmaW5lIEVGX01JUFNfQ1BJQwkJMHgwMDAwMDAwNAkvKiBVc2VzIFBJQyBjYWxsaW5nIHNlcXVlbmNlICovCi0jZGVmaW5lCUVGX01JUFNfQUJJMgkJMHgwMDAwMDAyMAkvKiAtbjMyIG9uIElyaXggNiAqLwotI2RlZmluZQlFRl9NSVBTXzMyQklUTU9ERQkweDAwMDAwMTAwCS8qIDY0IGJpdCBpbiAzMiBiaXQgbW9kZS4uLiAqLwotI2RlZmluZSBFRl9NSVBTX0FSQ0gJCTB4ZjAwMDAwMDAJLyogTUlQUyBhcmNoaXRlY3R1cmUgbGV2ZWwgKi8KLSNkZWZpbmUJRV9NSVBTX0FSQ0hfMQkJMHgwMDAwMDAwMAotI2RlZmluZQlFX01JUFNfQVJDSF8yCQkweDEwMDAwMDAwCi0jZGVmaW5lCUVfTUlQU19BUkNIXzMJCTB4MjAwMDAwMDAKLSNkZWZpbmUJRV9NSVBTX0FSQ0hfNAkJMHgzMDAwMDAwMAotI2RlZmluZQlFRl9NSVBTX0FCSQkJMHgwMDAwZjAwMAkvKiBBQkkgbGV2ZWwgKi8KLSNkZWZpbmUJRV9NSVBTX0FCSV9OT05FCQkweDAwMDAwMDAwCS8qIEFCSSBsZXZlbCBub3Qgc2V0ICovCi0jZGVmaW5lCUVfTUlQU19BQklfTzMyCQkweDAwMDAxMDAwCi0jZGVmaW5lCUVfTUlQU19BQklfTzY0CQkweDAwMDAyMDAwCi0jZGVmaW5lCUVfTUlQU19BQklfRUFCSTMyCTB4MDAwMDQwMDAKLSNkZWZpbmUJRV9NSVBTX0FCSV9FQUJJNjQJMHgwMDAwNDAwMAotCi0vKgotICogTWlwcyBzcGVjaWFsIHNlY3Rpb25zLgotICovCi0jZGVmaW5lCVNITl9NSVBTX0FDT01NT04JMHhmZjAwCQkvKiBBbGxvY2F0ZWQgY29tbW9uIHN5bWJvbHMgKi8KLSNkZWZpbmUJU0hOX01JUFNfU0NPTU1PTgkweGZmMDMJCS8qIFNtYWxsIGNvbW1vbiBzeW1ib2xzICovCi0jZGVmaW5lCVNITl9NSVBTX1NVTkRFRklORUQJMHhmZjA0CQkvKiBTbWFsbCB1bmRlZmluZWQgc3ltYm9scyAqLwotCi0vKgotICogTGVnYWwgdmFsdWVzIGZvciBzaF90eXBlIGZpZWxkIG9mIEVsZjMyX1NoZHIuCi0gKi8KLSNkZWZpbmUJU0hUX01JUFNfTElCTElTVCAgMHg3MDAwMDAwMAkvKiBTaGFyZWQgb2JqZWN0cyB1c2VkIGluIGxpbmsgKi8KLSNkZWZpbmUJU0hUX01JUFNfQ09ORkxJQ1QgMHg3MDAwMDAwMgkvKiBDb25mbGljdGluZyBzeW1ib2xzICovCi0jZGVmaW5lCVNIVF9NSVBTX0dQVEFCICAgIDB4NzAwMDAwMDMJLyogR2xvYmFsIGRhdGEgYXJlYSBzaXplcyAqLwotI2RlZmluZQlTSFRfTUlQU19VQ09ERSAgICAweDcwMDAwMDA0CS8qIFJlc2VydmVkIGZvciBTR0kvTUlQUyBjb21waWxlcnMgKi8KLSNkZWZpbmUJU0hUX01JUFNfREVCVUcgICAgMHg3MDAwMDAwNQkvKiBNSVBTIEVDT0ZGIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiAqLwotI2RlZmluZQlTSFRfTUlQU19SRUdJTkZPICAweDcwMDAwMDA2CS8qIFJlZ2lzdGVyIHVzYWdlIGluZm9ybWF0aW9uICovCi0KLS8qCi0gKiBMZWdhbCB2YWx1ZXMgZm9yIHNoX2ZsYWdzIGZpZWxkIG9mIEVsZjMyX1NoZHIuCi0gKi8KLSNkZWZpbmUJU0hGX01JUFNfR1BSRUwJMHgxMDAwMDAwMAkvKiBNdXN0IGJlIHBhcnQgb2YgZ2xvYmFsIGRhdGEgYXJlYSAqLwotCi0jaWYgMAotLyoKLSAqIEVudHJpZXMgZm91bmQgaW4gc2VjdGlvbnMgb2YgdHlwZSBTSFRfTUlQU19HUFRBQi4KLSAqLwotdHlwZWRlZiB1bmlvbiB7Ci0Jc3RydWN0IHsKLQkJRWxmMzJfV29yZCBndF9jdXJyZW50X2dfdmFsdWU7CS8qIC1HIHZhbCB1c2VkIGluIGNvbXBpbGF0aW9uICovCi0JCUVsZjMyX1dvcmQgZ3RfdW51c2VkOwkvKiBOb3QgdXNlZCAqLwotCX0gZ3RfaGVhZGVyOwkJCS8qIEZpcnN0IGVudHJ5IGluIHNlY3Rpb24gKi8KLQlzdHJ1Y3QgewotCQlFbGYzMl9Xb3JkIGd0X2dfdmFsdWU7CS8qIElmIHRoaXMgdmFsIHdlcmUgdXNlZCBmb3IgLUcgKi8KLQkJRWxmMzJfV29yZCBndF9ieXRlczsJLyogVGhpcyBtYW55IGJ5dGVzIHdvdWxkIGJlIHVzZWQgKi8KLQl9IGd0X2VudHJ5OwkJCS8qIFN1YnNlcXVlbnQgZW50cmllcyBpbiBzZWN0aW9uICovCi19IEVsZjMyX2dwdGFiOwotCi0vKgotICogRW50cnkgZm91bmQgaW4gc2VjdGlvbnMgb2YgdHlwZSBTSFRfTUlQU19SRUdJTkZPLgotICovCi10eXBlZGVmIHN0cnVjdCB7Ci0JRWxmMzJfV29yZAlyaV9ncHJtYXNrOwkvKiBHZW5lcmFsIHJlZ2lzdGVycyB1c2VkICovCi0JRWxmMzJfV29yZAlyaV9jcHJtYXNrWzRdOwkvKiBDb3Byb2Nlc3NvciByZWdpc3RlcnMgdXNlZCAqLwotCUVsZjMyX1N3b3JkCXJpX2dwX3ZhbHVlOwkvKiAkZ3AgcmVnaXN0ZXIgdmFsdWUgKi8KLX0gRWxmMzJfUmVnSW5mbzsKLSNlbmRpZgotCi0KLS8qCi0gKiBNaXBzIHJlbG9jYXRpb25zLgotICovCi0KLSNkZWZpbmUJUl9NSVBTX05PTkUJMAkvKiBObyByZWxvYyAqLwotI2RlZmluZQlSX01JUFNfMTYJMQkvKiBEaXJlY3QgMTYgYml0ICovCi0jZGVmaW5lCVJfTUlQU18zMgkyCS8qIERpcmVjdCAzMiBiaXQgKi8KLSNkZWZpbmUJUl9NSVBTX1JFTDMyCTMJLyogUEMgcmVsYXRpdmUgMzIgYml0ICovCi0jZGVmaW5lCVJfTUlQU18yNgk0CS8qIERpcmVjdCAyNiBiaXQgc2hpZnRlZCAqLwotI2RlZmluZQlSX01JUFNfSEkxNgk1CS8qIEhpZ2ggMTYgYml0ICovCi0jZGVmaW5lCVJfTUlQU19MTzE2CTYJLyogTG93IDE2IGJpdCAqLwotI2RlZmluZQlSX01JUFNfR1BSRUwxNgk3CS8qIEdQIHJlbGF0aXZlIDE2IGJpdCAqLwotI2RlZmluZQlSX01JUFNfTElURVJBTAk4CS8qIDE2IGJpdCBsaXRlcmFsIGVudHJ5ICovCi0jZGVmaW5lCVJfTUlQU19HT1QxNgk5CS8qIDE2IGJpdCBHT1QgZW50cnkgKi8KLSNkZWZpbmUJUl9NSVBTX1BDMTYJMTAJLyogUEMgcmVsYXRpdmUgMTYgYml0ICovCi0jZGVmaW5lCVJfTUlQU19DQUxMMTYJMTEJLyogMTYgYml0IEdPVCBlbnRyeSBmb3IgZnVuY3Rpb24gKi8KLSNkZWZpbmUJUl9NSVBTX0dQUkVMMzIJMTIJLyogR1AgcmVsYXRpdmUgMzIgYml0ICovCi0KLSNkZWZpbmUJUl9NSVBTXzY0CTE4Ci0KLSNkZWZpbmUJUl9NSVBTX1JFTDMyXzY0CSgoUl9NSVBTXzY0IDw8IDgpIHwgUl9NSVBTX1JFTDMyKQotCi0KLSNlbmRpZgkvKiAhX01JUFM2NF9FWEVDX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvcmVnZGVmLmggYi9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvcmVnZGVmLmgKaW5kZXggYWUxODM5Mi4uM2E3Y2Q2OCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHMvaW5jbHVkZS9tYWNoaW5lL3JlZ2RlZi5oCisrKyBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9yZWdkZWYuaApAQCAtMzcsNiArMzcsMTMgQEAKICNpZm5kZWYgX01JUFNfUkVHREVGX0hfCiAjZGVmaW5lIF9NSVBTX1JFR0RFRl9IXwogCisjaWYgKF9NSVBTX1NJTSA9PSBfQUJJNjQpICYmICFkZWZpbmVkKF9fbWlwc19uNjQpCisjZGVmaW5lIF9fbWlwc19uNjQgMQorI2VuZGlmCisjaWYgKF9NSVBTX1NJTSA9PSBfQUJJTjMyKSAmJiAgIWRlZmluZWQoX19taXBzX24zMikKKyNkZWZpbmUgX19taXBzX24zMiAxCisjZW5kaWYKKwogI2RlZmluZSB6ZXJvCSQwCS8qIGFsd2F5cyB6ZXJvICovCiAjZGVmaW5lIEFUCSRhdAkvKiBhc3NlbWJsZXIgdGVtcCAqLwogI2RlZmluZSB2MAkkMgkvKiByZXR1cm4gdmFsdWUgKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9yZWdudW0uaCBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9yZWdudW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmZlMTI4MC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvcmVnbnVtLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotLyoJJE9wZW5CU0Q6IHJlZ251bS5oLHYgMS4zIDIwMDQvMDgvMTAgMjA6Mjg6MTMgZGVyYWFkdCBFeHAgJCAqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAyMDAxLTIwMDIgT3BzeWNvbiBBQiAgKHd3dy5vcHN5Y29uLnNlIC8gd3d3Lm9wc3ljb24uY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTCi0gKiBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqLwotCi0jaWZuZGVmIF9NSVBTNjRfUkVHTlVNX0hfCi0jZGVmaW5lIF9NSVBTNjRfUkVHTlVNX0hfCi0KLS8qCi0gKiBMb2NhdGlvbiBvZiB0aGUgc2F2ZWQgcmVnaXN0ZXJzIHJlbGF0aXZlIHRvIFpFUk8uCi0gKiBVc2FnZSBpcyBwLT5wX3JlZ3NbWFhdLgotICovCi0jZGVmaW5lIFpFUk8JMAotI2RlZmluZSBBU1QJMQotI2RlZmluZSBWMAkyCi0jZGVmaW5lIFYxCTMKLSNkZWZpbmUgQTAJNAotI2RlZmluZSBBMQk1Ci0jZGVmaW5lIEEyCTYKLSNkZWZpbmUgQTMJNwotI2RlZmluZSBUMAk4Ci0jZGVmaW5lIFQxCTkKLSNkZWZpbmUgVDIJMTAKLSNkZWZpbmUgVDMJMTEKLSNkZWZpbmUgVDQJMTIKLSNkZWZpbmUgVDUJMTMKLSNkZWZpbmUgVDYJMTQKLSNkZWZpbmUgVDcJMTUKLSNkZWZpbmUgUzAJMTYKLSNkZWZpbmUgUzEJMTcKLSNkZWZpbmUgUzIJMTgKLSNkZWZpbmUgUzMJMTkKLSNkZWZpbmUgUzQJMjAKLSNkZWZpbmUgUzUJMjEKLSNkZWZpbmUgUzYJMjIKLSNkZWZpbmUgUzcJMjMKLSNkZWZpbmUgVDgJMjQKLSNkZWZpbmUgVDkJMjUKLSNkZWZpbmUgSzAJMjYKLSNkZWZpbmUgSzEJMjcKLSNkZWZpbmUgR1AJMjgKLSNkZWZpbmUgU1AJMjkKLSNkZWZpbmUgUzgJMzAKLSNkZWZpbmUgUkEJMzEKLSNkZWZpbmUJU1IJMzIKLSNkZWZpbmUJUFMJU1IJLyogYWxpYXMgZm9yIFNSICovCi0jZGVmaW5lIE1VTExPCTMzCi0jZGVmaW5lIE1VTEhJCTM0Ci0jZGVmaW5lIEJBRFZBRERSIDM1Ci0jZGVmaW5lIENBVVNFCTM2Ci0jZGVmaW5lCVBDCTM3Ci0jZGVmaW5lCUlDCTM4Ci0jZGVmaW5lCUNQTAkzOQotCi0jZGVmaW5lCU5VTVNBVkVSRUdTIDQwCQkvKiBOdW1iZXIgb2YgcmVnaXN0ZXJzIHNhdmVkIGluIHRyYXAgKi8KLQotI2RlZmluZSBGUEJBU0UJTlVNU0FWRVJFR1MKLSNkZWZpbmUgRjAJKEZQQkFTRSswKQotI2RlZmluZSBGMQkoRlBCQVNFKzEpCi0jZGVmaW5lIEYyCShGUEJBU0UrMikKLSNkZWZpbmUgRjMJKEZQQkFTRSszKQotI2RlZmluZSBGNAkoRlBCQVNFKzQpCi0jZGVmaW5lIEY1CShGUEJBU0UrNSkKLSNkZWZpbmUgRjYJKEZQQkFTRSs2KQotI2RlZmluZSBGNwkoRlBCQVNFKzcpCi0jZGVmaW5lIEY4CShGUEJBU0UrOCkKLSNkZWZpbmUgRjkJKEZQQkFTRSs5KQotI2RlZmluZSBGMTAJKEZQQkFTRSsxMCkKLSNkZWZpbmUgRjExCShGUEJBU0UrMTEpCi0jZGVmaW5lIEYxMgkoRlBCQVNFKzEyKQotI2RlZmluZSBGMTMJKEZQQkFTRSsxMykKLSNkZWZpbmUgRjE0CShGUEJBU0UrMTQpCi0jZGVmaW5lIEYxNQkoRlBCQVNFKzE1KQotI2RlZmluZSBGMTYJKEZQQkFTRSsxNikKLSNkZWZpbmUgRjE3CShGUEJBU0UrMTcpCi0jZGVmaW5lIEYxOAkoRlBCQVNFKzE4KQotI2RlZmluZSBGMTkJKEZQQkFTRSsxOSkKLSNkZWZpbmUgRjIwCShGUEJBU0UrMjApCi0jZGVmaW5lIEYyMQkoRlBCQVNFKzIxKQotI2RlZmluZSBGMjIJKEZQQkFTRSsyMikKLSNkZWZpbmUgRjIzCShGUEJBU0UrMjMpCi0jZGVmaW5lIEYyNAkoRlBCQVNFKzI0KQotI2RlZmluZSBGMjUJKEZQQkFTRSsyNSkKLSNkZWZpbmUgRjI2CShGUEJBU0UrMjYpCi0jZGVmaW5lIEYyNwkoRlBCQVNFKzI3KQotI2RlZmluZSBGMjgJKEZQQkFTRSsyOCkKLSNkZWZpbmUgRjI5CShGUEJBU0UrMjkpCi0jZGVmaW5lIEYzMAkoRlBCQVNFKzMwKQotI2RlZmluZSBGMzEJKEZQQkFTRSszMSkKLSNkZWZpbmUJRlNSCShGUEJBU0UrMzIpCi0KLSNkZWZpbmUJTlVNRlBSRUdTIDMzCi0KLSNkZWZpbmUJTlJFR1MJKE5VTVNBVkVSRUdTICsgTlVNRlBSRUdTKQotCi0jZW5kaWYgLyogIV9NSVBTNjRfUkVHTlVNX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvc2V0am1wLmggYi9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvc2V0am1wLmgKaW5kZXggNTViYTdiZS4uNDA2N2Q1MSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHMvaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCisrKyBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9zZXRqbXAuaApAQCAtNSw2ICs1LDExIEBACiAjaWZuZGVmIF9NSVBTX1NFVEpNUF9IXwogI2RlZmluZSBfTUlQU19TRVRKTVBfSF8KIAotI2RlZmluZQlfSkJMRU4JMTU3CQkvKiBzaXplLCBpbiBsb25ncywgb2YgYSBqbXBfYnVmICovCisjaWZkZWYgX19MUDY0X18KKyNkZWZpbmUJX0pCTEVOCTI1CS8qIHNpemUsIGluIDgtYnl0ZSBsb25ncywgb2YgYSBtaXBzNjQgam1wX2J1Zi9zaWdqbXBfYnVmICovCisjZWxzZQorI2RlZmluZQlfSkJMRU4JMTU3CS8qIGhpc3RvcmljYWwgc2l6ZSwgaW4gNC1ieXRlIGxvbmdzLCBvZiBhIG1pcHMzMiBqbXBfYnVmICovCisJCQkvKiBhY3R1YWwgdXNlZCBzaXplIGlzIDM0ICovCisjZW5kaWYKIAogI2VuZGlmIC8qICFfTUlQU19TRVRKTVBfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9zaWduYWwuaCBiL2xpYmMvYXJjaC1taXBzL2luY2x1ZGUvbWFjaGluZS9zaWduYWwuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMxNzE1Yy4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL21hY2hpbmUvc2lnbmFsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKgkkT3BlbkJTRDogc2lnbmFsLmgsdiAxLjggMjAwNi8wMS8wOSAxODoxODozNyBtaWxsZXJ0IEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTIsIDE5OTMKLSAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKLSAqIFJhbHBoIENhbXBiZWxsLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqCi0gKglAKCMpc2lnbmFsLmgJOC4xIChCZXJrZWxleSkgNi8xMC85MwotICovCi0KLSNpZm5kZWYgX01JUFNfU0lHTkFMX0hfCi0jZGVmaW5lIF9NSVBTX1NJR05BTF9IXwotCi0jZGVmaW5lCVNDX1JFR01BU0sJKDAqUkVHU1opCi0jZGVmaW5lCVNDX1NUQVRVUwkoMSpSRUdTWikKLSNkZWZpbmUJU0NfUEMJCSgyKlJFR1NaKQotI2RlZmluZQlTQ19SRUdTCQkoU0NfUEMrOCkKLSNkZWZpbmUJU0NfRlBSRUdTCShTQ19SRUdTKzMyKjgpCi0jZGVmaW5lCVNDX0FDWAkJKFNDX0ZQUkVHUyszMipSRUdTWl9GUCkKLSNkZWZpbmUJU0NfVVNFRF9NQVRICShTQ19BQ1grMypSRUdTWikKLS8qIE9wZW5CU0QgY29tcGF0aWJpbGl0eSAqLwotI2RlZmluZQlTQ19NQVNLCQlTQ19SRUdNQVNLCi0jZGVmaW5lCVNDX0ZQVVNFRAlTQ19VU0VEX01BVEgKLQotI2VuZGlmCS8qICFfTUlQU19TSUdOQUxfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zZ2lkZWZzLmggYi9saWJjL2FyY2gtbWlwcy9pbmNsdWRlL3NnaWRlZnMuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbGliYy9pbmNsdWRlL3NnaWRlZnMuaApyZW5hbWUgdG8gbGliYy9hcmNoLW1pcHMvaW5jbHVkZS9zZ2lkZWZzLmgKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL21pcHMubWsgYi9saWJjL2FyY2gtbWlwcy9taXBzLm1rCmluZGV4IGFjNzVhNGIuLjMzZWNlYWIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzL21pcHMubWsKKysrIGIvbGliYy9hcmNoLW1pcHMvbWlwcy5tawpAQCAtMSwzNiArMSwxNSBAQAogIyAzMi1iaXQgbWlwcy4KIAogIwotIyBWYXJpb3VzIGtpbmRzIG9mIExQMzIgY3J1ZnQuCi0jCi0KLWxpYmNfYmlvbmljX3NyY19maWxlc19taXBzICs9IFwKLSAgICBiaW9uaWMvbW1hcC5jcHAgXAotCi1saWJjX2NvbW1vbl9zcmNfZmlsZXNfbWlwcyArPSBcCi0gICAgYmlvbmljL2xlZ2FjeV8zMl9iaXRfc3VwcG9ydC5jcHAgXAotICAgIGJpb25pYy9uZGtfY3J1ZnQuY3BwIFwKLSAgICBiaW9uaWMvdGltZTY0LmMgXAotCi1saWJjX25ldGJzZF9zcmNfZmlsZXNfbWlwcyArPSBcCi0gICAgdXBzdHJlYW0tbmV0YnNkL2NvbW1vbi9saWIvbGliYy9oYXNoL3NoYTEvc2hhMS5jIFwKLQotbGliY19vcGVuYnNkX3NyY19maWxlc19taXBzICs9IFwKLSAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3B1dHcuYyBcCi0KLSMKICMgRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgb2YgZnVuY3Rpb25zIHRoYXQgYXJlIGNvbW1vbmx5IG9wdGltaXplZC4KICMKIAogbGliY19iaW9uaWNfc3JjX2ZpbGVzX21pcHMgKz0gXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvbWVtY21wLmMgXAogICAgIGJpb25pYy9fX21lbWNweV9jaGsuY3BwIFwKICAgICBiaW9uaWMvX19tZW1zZXRfY2hrLmNwcCBcCiAgICAgYmlvbmljL19fc3RyY3B5X2Noay5jcHAgXAogICAgIGJpb25pYy9fX3N0cmNhdF9jaGsuY3BwIFwKLSAgICBiaW9uaWMvbWVtY2hyLmMgXAotICAgIGJpb25pYy9tZW1jbXAuYyBcCi0gICAgYmlvbmljL21lbW1vdmUuYyBcCi0gICAgYmlvbmljL21lbXJjaHIuYyBcCiAgICAgYmlvbmljL3N0cmNoci5jcHAgXAogICAgIGJpb25pYy9zdHJubGVuLmMgXAogICAgIGJpb25pYy9zdHJyY2hyLmNwcCBcCkBAIC00Niw3ICsyNSw5IEBACiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdHJpbmcvd21lbW1vdmUuYyBcCiAKIGxpYmNfb3BlbmJzZF9zcmNfZmlsZXNfbWlwcyArPSBcCi0gICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvYmNvcHkuYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtY2hyLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbW1vdmUuYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtcmNoci5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHBjcHkuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RwbmNweS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJjYXQuYyBcCkBAIC02Nyw5ICs0OCw3IEBACiAgICAgYXJjaC1taXBzL2Jpb25pYy9iemVyby5TIFwKICAgICBhcmNoLW1pcHMvYmlvbmljL2NhY2hlZmx1c2guY3BwIFwKICAgICBhcmNoLW1pcHMvYmlvbmljL19leGl0X3dpdGhfc3RhY2tfdGVhcmRvd24uUyBcCi0gICAgYXJjaC1taXBzL2Jpb25pYy9fc2V0am1wLlMgXAogICAgIGFyY2gtbWlwcy9iaW9uaWMvc2V0am1wLlMgXAotICAgIGFyY2gtbWlwcy9iaW9uaWMvc2lnc2V0am1wLlMgXAogICAgIGFyY2gtbWlwcy9iaW9uaWMvc3lzY2FsbC5TIFwKICAgICBhcmNoLW1pcHMvYmlvbmljL3Zmb3JrLlMgXAogCkBAIC04MSwxMSArNjAsOSBAQAogCiBlbHNlCiBsaWJjX2Jpb25pY19zcmNfZmlsZXNfbWlwcyArPSBcCi0gICAgYmlvbmljL21lbWNweS5jcHAgXAotICAgIGJpb25pYy9tZW1zZXQuYyBcCi0KLWxpYmNfb3BlbmJzZF9zcmNfZmlsZXNfbWlwcyArPSBcCi0gICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGVuLmMgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvbWVtY3B5LmMgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvbWVtc2V0LmMgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvc3RybGVuLmMgXAogCiBlbmRpZgogCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9tZW1jbXAuYyBiL2xpYmMvYXJjaC1taXBzL3N0cmluZy9tZW1jbXAuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbGliYy9iaW9uaWMvbWVtY21wLmMKcmVuYW1lIHRvIGxpYmMvYXJjaC1taXBzL3N0cmluZy9tZW1jbXAuYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3RyaW5nL21lbWNweS5jIGIvbGliYy9hcmNoLW1pcHMvc3RyaW5nL21lbWNweS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NTFhNmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zdHJpbmcvbWVtY3B5LmMKQEAgLTAsMCArMSw5MSBAQAorLyoJJE9wZW5CU0Q6IG1lbWNweS5jLHYgMS4xIDIwMTQvMTEvMzAgMTk6NDM6NTYgZGVyYWFkdCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogQ2hyaXMgVG9yZWsuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXNsb2cuaD4KKworLyoKKyAqIHNpemVvZih3b3JkKSBNVVNUIEJFIEEgUE9XRVIgT0YgVFdPCisgKiBTTyBUSEFUIHdtYXNrIEJFTE9XIElTIEFMTCBPTkVTCisgKi8KK3R5cGVkZWYJbG9uZyB3b3JkOwkJLyogIndvcmQiIHVzZWQgZm9yIG9wdGltYWwgY29weSBzcGVlZCAqLworCisjZGVmaW5lCXdzaXplCXNpemVvZih3b3JkKQorI2RlZmluZQl3bWFzawkod3NpemUgLSAxKQorCisvKgorICogQ29weSBhIGJsb2NrIG9mIG1lbW9yeSwgbm90IGhhbmRsaW5nIG92ZXJsYXAuCisgKi8KK3ZvaWQgKgorbWVtY3B5KHZvaWQgKmRzdDAsIGNvbnN0IHZvaWQgKnNyYzAsIHNpemVfdCBsZW5ndGgpCit7CisJY2hhciAqZHN0ID0gZHN0MDsKKwljb25zdCBjaGFyICpzcmMgPSBzcmMwOworCXNpemVfdCB0OworCisJaWYgKGxlbmd0aCA9PSAwIHx8IGRzdCA9PSBzcmMpCQkvKiBub3RoaW5nIHRvIGRvICovCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogTWFjcm9zOiBsb29wLXQtdGltZXM7IGFuZCBsb29wLXQtdGltZXMsIHQ+MAorCSAqLworI2RlZmluZQlUTE9PUChzKSBpZiAodCkgVExPT1AxKHMpCisjZGVmaW5lCVRMT09QMShzKSBkbyB7IHM7IH0gd2hpbGUgKC0tdCkKKworCS8qCisJICogQ29weSBmb3J3YXJkLgorCSAqLworCXQgPSAobG9uZylzcmM7CS8qIG9ubHkgbmVlZCBsb3cgYml0cyAqLworCWlmICgodCB8IChsb25nKWRzdCkgJiB3bWFzaykgeworCQkvKgorCQkgKiBUcnkgdG8gYWxpZ24gb3BlcmFuZHMuICBUaGlzIGNhbm5vdCBiZSBkb25lCisJCSAqIHVubGVzcyB0aGUgbG93IGJpdHMgbWF0Y2guCisJCSAqLworCQlpZiAoKHQgXiAobG9uZylkc3QpICYgd21hc2sgfHwgbGVuZ3RoIDwgd3NpemUpCisJCQl0ID0gbGVuZ3RoOworCQllbHNlCisJCQl0ID0gd3NpemUgLSAodCAmIHdtYXNrKTsKKwkJbGVuZ3RoIC09IHQ7CisJCVRMT09QMSgqZHN0KysgPSAqc3JjKyspOworCX0KKwkvKgorCSAqIENvcHkgd2hvbGUgd29yZHMsIHRoZW4gbW9wIHVwIGFueSB0cmFpbGluZyBieXRlcy4KKwkgKi8KKwl0ID0gbGVuZ3RoIC8gd3NpemU7CisJVExPT1AoKih3b3JkICopZHN0ID0gKih3b3JkICopc3JjOyBzcmMgKz0gd3NpemU7IGRzdCArPSB3c2l6ZSk7CisJdCA9IGxlbmd0aCAmIHdtYXNrOworCVRMT09QKCpkc3QrKyA9ICpzcmMrKyk7Citkb25lOgorCXJldHVybiAoZHN0MCk7Cit9CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zdHJpbmcvbWVtc2V0LlMgYi9saWJjL2FyY2gtbWlwcy9zdHJpbmcvbWVtc2V0LlMKaW5kZXggM2U2MzBjYS4uMDliNzU2YiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHMvc3RyaW5nL21lbXNldC5TCisrKyBiL2xpYmMvYXJjaC1taXBzL3N0cmluZy9tZW1zZXQuUwpAQCAtNjcsODYgKzY3LDYgQEAKICNkZWZpbmUgREJHCiAjZW5kaWYKIAotLyoKLSAqIHZvaWQgX21lbXNldDE2KHVpbnQxNl90KiBkc3QsIHVpbnQxNl90IHZhbHVlLCBzaXplX3Qgc2l6ZSk7Ci0gKi8KLQotTEVBRihfbWVtc2V0MTYsMCkKLQkuc2V0IG5vcmVvcmRlcgotREJHCS8qIENoZWNrIHBhcmFtZXRlcnMgKi8KLURCRwlhbmRpCXQwLGEwLDEJCQkjIGEwIG11c3QgYmUgaGFsZndvcmQgYWxpZ25lZAotREJHCXRuZQl0MCx6ZXJvCi1EQkcJYW5kaQl0MixhMiwxCQkJIyBhMiBtdXN0IGJlIGV2ZW4KLURCRwl0bmUJdDIsemVybwotCi0jaWZkZWYgRklYQVJHUwotCSMgZW5zdXJlIGNvdW50IGlzIGV2ZW4KLSNpZiAoX19taXBzPT0zMikgJiYgKF9fbWlwc19pc2FfcmV2Pj0yKQotCWlucwlhMix6ZXJvLDAsMQotI2Vsc2UKLQlvcmkJYTIsMQotCXhvcmkJYTIsMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIChfX21pcHM9PTMyKSAmJiAoX19taXBzX2lzYV9yZXY+PTIpCi0JaW5zCWExLGExLDE2LDE2Ci0jZWxzZQotCWFuZGkJYTEsMHhmZmZmCi0Jc2xsCXQzLGExLDE2Ci0Jb3IJYTEsdDMKLSNlbmRpZgotCi0JYmVxeglhMiwuTGRvbmUKLQkgYW5kaQl0MSxhMCwyCi0JYmVxegl0MSwuTGFsaWdub2sKLQkgYWRkdQl0MCxhMCxhMgkJIyB0MCBpcyB0aGUgInBhc3QgdGhlIGVuZCIgYWRkcmVzcwotCXNoCWExLDAoYTApCQkjIHN0b3JlIG9uZSBoYWxmd29yZCB0byBnZXQgYWxpZ25lZAotCWFkZHUJYTAsMgotCXN1YnUJYTIsMgotLkxhbGlnbm9rOgotCXNsdGkJdDEsYTIsNAkJCSMgLkxhbGlnbmVkIGZvciA0IG9yIG1vcmUgYnl0ZXMKLQliZXF6CXQxLC5MYWxpZ25lZAotCSBzbmUJdDEsYTIsMgkJCSMgb25lIG1vcmUgaGFsZndvcmQ/Ci0JYm5legl0MSwuTGRvbmUKLQkgbm9wCi0Jc2gJYTEsMChhMCkKLS5MZG9uZToKLQlqCXJhCi0JIG5vcAotCS5zZXQgcmVvcmRlcgotRU5EKF9tZW1zZXQxNikKLQotLyoKLSAqIHZvaWQgX21lbXNldDMyKHVpbnQzMl90KiBkc3QsIHVpbnQzMl90IHZhbHVlLCBzaXplX3Qgc2l6ZSk7Ci0gKi8KLQotTEVBRihfbWVtc2V0MzIsMCkKLQkuc2V0IG5vcmVvcmRlcgotREJHCS8qIENoZWNrIHBhcmFtZXRlcnMgKi8KLURCRwlhbmRpCXQwLGEwLDMJCQkjIGEwIG11c3QgYmUgd29yZCBhbGlnbmVkCi1EQkcJdG5lCXQwLHplcm8KLURCRwlhbmRpCXQyLGEyLDMJCQkjIGEyIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0IGJ5dGVzCi1EQkcJdG5lCXQyLHplcm8KLQotI2lmZGVmIEZJWEFSR1MKLQkjIGVuc3VyZSBjb3VudCBpcyBhIG11bHRpcGxlIG9mIDQKLSNpZiAoX19taXBzPT0zMikgJiYgKF9fbWlwc19pc2FfcmV2Pj0yKQotCWlucwkkYTIsJDAsMCwyCi0jZWxzZQotCW9yaQlhMiwzCi0JeG9yaQlhMiwzCi0jZW5kaWYKLSNlbmRpZgotCi0JYm5leglhMiwuTGFsaWduZWQJCSMgYW55IHdvcmsgdG8gZG8/Ci0JIGFkZHUJdDAsYTAsYTIJCSMgdDAgaXMgdGhlICJwYXN0IHRoZSBlbmQiIGFkZHJlc3MKLQotCWoJcmEKLQkgbm9wCi0JLnNldCByZW9yZGVyCi1FTkQoX21lbXNldDMyKQotCiBMRUFGKG1lbXNldCwwKQogCiAJLnNldAlub3Jlb3JkZXIKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL21lbXNldC5jIGIvbGliYy9hcmNoLW1pcHMvc3RyaW5nL21lbXNldC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBsaWJjL2Jpb25pYy9tZW1zZXQuYwpyZW5hbWUgdG8gbGliYy9hcmNoLW1pcHMvc3RyaW5nL21lbXNldC5jCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zdHJpbmcvbWlwc19zdHJsZW4uYyBiL2xpYmMvYXJjaC1taXBzL3N0cmluZy9taXBzX3N0cmxlbi5jCmluZGV4IDlmYjdlNmEuLjQ1ZmM0YjQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzL3N0cmluZy9taXBzX3N0cmxlbi5jCisrKyBiL2xpYmMvYXJjaC1taXBzL3N0cmluZy9taXBzX3N0cmxlbi5jCkBAIC0zMCw2ICszMCw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlICJtaXBzLXN0cmluZy1vcHMuaCIKIAogI2RlZmluZSBkb19zdHJsZW5fd29yZChfX2F2KSB7XApAQCAtNDcsOCArNDgsOCBAQAogI2RlZmluZSBzdHJsZW4gbXlfc3RybGVuCiAjZW5kaWYKIAotaW50Ci1zdHJsZW4gKGNvbnN0IHZvaWQgKl9hKQorc2l6ZV90CitzdHJsZW4gKGNvbnN0IGNoYXIgKl9hKQogewogICBpbnQgY250ID0gMDsKICAgdW5zaWduZWQgeDsKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGVuLmMgYi9saWJjL2FyY2gtbWlwcy9zdHJpbmcvc3RybGVuLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGxpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGVuLmMKcmVuYW1lIHRvIGxpYmMvYXJjaC1taXBzL3N0cmluZy9zdHJsZW4uYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19fY2xvc2UuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fX2Nsb3NlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU2Y2ZkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fX2Nsb3NlLlMKQEAgLTAsMCArMSwyMCBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19jbG9zZSkKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgdDkKKyAgICBsaSB2MCwgX19OUl9jbG9zZQorICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBsYSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAorICAgIGogdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKK0VORChfX19jbG9zZSkKKy5oaWRkZW4gX19fY2xvc2UKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19fZmFjY2Vzc2F0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxMWJhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TCkBAIC0wLDAgKzEsMjAgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fZmFjY2Vzc2F0KQorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCB0OQorICAgIGxpIHYwLCBfX05SX2ZhY2Nlc3NhdAorICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBsYSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAorICAgIGogdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKK0VORChfX19mYWNjZXNzYXQpCisuaGlkZGVuIF9fX2ZhY2Nlc3NhdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19fZmNobW9kLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX19mY2htb2QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzEwMmVjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19fZmNobW9kLlMKQEAgLTAsMCArMSwyMCBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19mY2htb2QpCisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkIHQ5CisgICAgbGkgdjAsIF9fTlJfZmNobW9kCisgICAgc3lzY2FsbAorICAgIGJuZXogYTMsIDFmCisgICAgbW92ZSBhMCwgdjAKKyAgICBqIHJhCisgICAgbm9wCisxOgorICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgaiB0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorRU5EKF9fX2ZjaG1vZCkKKy5oaWRkZW4gX19fZmNobW9kCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX19mY2htb2RhdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19fZmNobW9kYXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTgxZWZhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19fZmNobW9kYXQuUwpAQCAtMCwwICsxLDIwIEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZjaG1vZGF0KQorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCB0OQorICAgIGxpIHYwLCBfX05SX2ZjaG1vZGF0CisgICAgc3lzY2FsbAorICAgIGJuZXogYTMsIDFmCisgICAgbW92ZSBhMCwgdjAKKyAgICBqIHJhCisgICAgbm9wCisxOgorICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgaiB0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorRU5EKF9fX2ZjaG1vZGF0KQorLmhpZGRlbiBfX19mY2htb2RhdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fY2xvY2tfbmFub3NsZWVwLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdiZmEyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fY2xvY2tfbmFub3NsZWVwLlMKQEAgLTAsMCArMSwxOSBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX2Nsb2NrX25hbm9zbGVlcCkKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgdDkKKyAgICBsaSB2MCwgX19OUl9jbG9ja19uYW5vc2xlZXAKKyAgICBzeXNjYWxsCisgICAgYm5leiBhMywgMWYKKyAgICBtb3ZlIGEwLCB2MAorICAgIGogcmEKKyAgICBub3AKKzE6CisgICAgbGEgdDksX19zZXRfZXJybm9faW50ZXJuYWwKKyAgICBqIHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCitFTkQoX19jbG9ja19uYW5vc2xlZXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19ydF9zaWdxdWV1ZWluZm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTc4YmM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19ydF9zaWdxdWV1ZWluZm8uUwpAQCAtMCwwICsxLDE5IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fcnRfc2lncXVldWVpbmZvKQorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCB0OQorICAgIGxpIHYwLCBfX05SX3J0X3NpZ3F1ZXVlaW5mbworICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBsYSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAorICAgIGogdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKK0VORChfX3J0X3NpZ3F1ZXVlaW5mbykKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19leGl0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fZXhpdC5TCmluZGV4IDVhYzEzMjQuLjZlOTdhYWMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19leGl0LlMKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX2V4aXQuUwpAQCAtMTgsNSArMTgsNCBAQAogICAgIC5zZXQgcmVvcmRlcgogRU5EKF9leGl0KQogCi0gICAgLmdsb2JsIF9FeGl0Ci0gICAgLmVxdSBfRXhpdCwgX2V4aXQKK0FMSUFTX1NZTUJPTChfRXhpdCwgX2V4aXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDAyYWI0Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShjbG9ja19uYW5vc2xlZXApCi0gICAgLnNldCBub3Jlb3JkZXIKLSAgICAuY3Bsb2FkIHQ5Ci0gICAgbGkgdjAsIF9fTlJfY2xvY2tfbmFub3NsZWVwCi0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCi0gICAgaiB0OQotICAgIG5vcAotICAgIC5zZXQgcmVvcmRlcgotRU5EKGNsb2NrX25hbm9zbGVlcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb3NlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9zZS5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzFmNDk3Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb3NlLlMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGNsb3NlKQotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgLmNwbG9hZCB0OQotICAgIGxpIHYwLCBfX05SX2Nsb3NlCi0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCi0gICAgaiB0OQotICAgIG5vcAotICAgIC5zZXQgcmVvcmRlcgotRU5EKGNsb3NlKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmFjY2Vzc2F0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mYWNjZXNzYXQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTYxNjEwNi4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mYWNjZXNzYXQuUworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZmFjY2Vzc2F0KQotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgLmNwbG9hZCB0OQotICAgIGxpIHYwLCBfX05SX2ZhY2Nlc3NhdAotICAgIHN5c2NhbGwKLSAgICBibmV6IGEzLCAxZgotICAgIG1vdmUgYTAsIHYwCi0gICAgaiByYQotICAgIG5vcAotMToKLSAgICBsYSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIGogdDkKLSAgICBub3AKLSAgICAuc2V0IHJlb3JkZXIKLUVORChmYWNjZXNzYXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2htb2QuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaG1vZC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTk1Y2MzLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaG1vZC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmY2htb2QpCi0gICAgLnNldCBub3Jlb3JkZXIKLSAgICAuY3Bsb2FkIHQ5Ci0gICAgbGkgdjAsIF9fTlJfZmNobW9kCi0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCi0gICAgaiB0OQotICAgIG5vcAotICAgIC5zZXQgcmVvcmRlcgotRU5EKGZjaG1vZCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaG1vZGF0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2htb2RhdC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWRlMDM2Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaG1vZGF0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZjaG1vZGF0KQotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgLmNwbG9hZCB0OQotICAgIGxpIHYwLCBfX05SX2ZjaG1vZGF0Ci0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCi0gICAgaiB0OQotICAgIG5vcAotICAgIC5zZXQgcmVvcmRlcgotRU5EKGZjaG1vZGF0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnN0YXQ2NC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnN0YXQ2NC5TCmluZGV4IDUyNWMyM2MuLjE2ZTI3OTEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZzdGF0NjQuUworKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdDY0LlMKQEAgLTE4LDUgKzE4LDQgQEAKICAgICAuc2V0IHJlb3JkZXIKIEVORChmc3RhdDY0KQogCi0gICAgLmdsb2JsIGZzdGF0Ci0gICAgLmVxdSBmc3RhdCwgZnN0YXQ2NAorQUxJQVNfU1lNQk9MKGZzdGF0LCBmc3RhdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnN0YXRhdDY0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdGF0NjQuUwppbmRleCBmN2I4ZTFkLi5lYmNmNmIwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdGF0NjQuUworKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdGF0NjQuUwpAQCAtMTgsNSArMTgsNCBAQAogICAgIC5zZXQgcmVvcmRlcgogRU5EKGZzdGF0YXQ2NCkKIAotICAgIC5nbG9ibCBmc3RhdGF0Ci0gICAgLmVxdSBmc3RhdGF0LCBmc3RhdGF0NjQKK0FMSUFTX1NZTUJPTChmc3RhdGF0LCBmc3RhdGF0NjQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRob3N0bmFtZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0aG9zdG5hbWUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTg3YjUyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0aG9zdG5hbWUuUwpAQCAtMCwwICsxLDE5IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKHNldGhvc3RuYW1lKQorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCB0OQorICAgIGxpIHYwLCBfX05SX3NldGhvc3RuYW1lCisgICAgc3lzY2FsbAorICAgIGJuZXogYTMsIDFmCisgICAgbW92ZSBhMCwgdjAKKyAgICBqIHJhCisgICAgbm9wCisxOgorICAgIGxhIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgaiB0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorRU5EKHNldGhvc3RuYW1lKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvX3NldGptcC5TIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvX3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjM3ZTZkLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL19zZXRqbXAuUworKysgL2Rldi9udWxsCkBAIC0xLDE1MCArMCwwIEBACi0vKgkkT3BlbkJTRDogX3NldGptcC5TLHYgMS40IDIwMDUvMDgvMDcgMTY6NDA6MTUgZXNwaWUgRXhwICQgKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwMiBPcHN5Y29uIEFCICAod3d3Lm9wc3ljb24uc2UgLyB3d3cub3BzeWNvbi5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIE9wc3ljb24gQUIgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTCi0gKiBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9yZWdudW0uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3NpZ25hbC5oPgotCi0vKgotICogX3NldGptcCwgX2xvbmdqbXAgKG5vdCByZXN0b3Jpbmcgc2lnbmFsIHN0YXRlKQotICoKLSAqIFhYWCBGUFNFVCBzaG91bGQgcHJvYmFibHkgYmUgdGFrZW4gZnJvbSBTUiBzZXR0aW5nLiBobW1tLi4uCi0gKiAgR1BPRkYgYW5kIEZSQU1FU0laRSBtdXN0IGJlIHRoZSBzYW1lIGZvciBib3RoIF9zZXRqbXAgYW5kIF9sb25nam1wIQotICoKLSAqLwotCi1GUkFNRVNaPSBNS0ZTSVooMCw0KQotR1BPRkY9IEZSQU1FU1otMipSRUdTWgotCi1MRUFGKF9zZXRqbXAsIEZSQU1FU1opCi0JUFRSX1NVQlUgc3AsIEZSQU1FU1oKLQlTRVRVUF9HUDY0KEdQT0ZGLCBfc2V0am1wKQotCVNBVkVfR1AoR1BPRkYpCi0JLnNldAlub3Jlb3JkZXIKLSNpZiBkZWZpbmVkKF9fbWlwczY0KQotCWRsaQl2MCwgMHhBQ0VEQkFERQkJCSMgc2lnY29udGV4dCBtYWdpYyBudW1iZXIKLSNlbHNlCi0JbGkJdjAsIDB4QUNFREJBREUJCQkjIHNpZ2NvbnRleHQgbWFnaWMgbnVtYmVyCi0jZW5kaWYKLQlSRUdfUwl2MCwgU0NfUkVHUytaRVJPKlJFR1NaKGEwKQotCVJFR19TCXMwLCBTQ19SRUdTK1MwKlJFR1NaKGEwKQotCVJFR19TCXMxLCBTQ19SRUdTK1MxKlJFR1NaKGEwKQotCVJFR19TCXMyLCBTQ19SRUdTK1MyKlJFR1NaKGEwKQotCVJFR19TCXMzLCBTQ19SRUdTK1MzKlJFR1NaKGEwKQotCVJFR19TCXM0LCBTQ19SRUdTK1M0KlJFR1NaKGEwKQotCVJFR19TCXM1LCBTQ19SRUdTK1M1KlJFR1NaKGEwKQotCVJFR19TCXM2LCBTQ19SRUdTK1M2KlJFR1NaKGEwKQotCVJFR19TCXM3LCBTQ19SRUdTK1M3KlJFR1NaKGEwKQotCVJFR19TCXM4LCBTQ19SRUdTK1M4KlJFR1NaKGEwKQotCVJFR19MCXYwLCBHUE9GRihzcCkKLQlSRUdfUwl2MCwgU0NfUkVHUytHUCpSRUdTWihhMCkKLQlQVFJfQUREVSB2MCwgc3AsIEZSQU1FU1oKLQlSRUdfUwl2MCwgU0NfUkVHUytTUCpSRUdTWihhMCkKLQlSRUdfUwlyYSwgU0NfUEMoYTApCi0KLSNpZiAhZGVmaW5lZChTT0ZURkxPQVQpCi0JbGkJdjAsIDEJCQkJIyBiZSBuaWNlIGlmIHdlIGNvdWxkIHRlbGwKLQlSRUdfUwl2MCwgU0NfRlBVU0VEKGEwKQkJIyBzY19mcHVzZWQgPSAxCi0JY2ZjMQl2MCwgJDMxCi0Jcy5kCSRmMjAsIFNDX0ZQUkVHUysoKEYyMC1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjIyLCBTQ19GUFJFR1MrKChGMjItRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyNCwgU0NfRlBSRUdTKygoRjI0LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjYsIFNDX0ZQUkVHUysoKEYyNi1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI4LCBTQ19GUFJFR1MrKChGMjgtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYzMCwgU0NfRlBSRUdTKygoRjMwLUYwKSpSRUdTWl9GUCkoYTApCi0jaWYgX01JUFNfRlBTRVQgPT0gMzIKLQlzLmQJJGYyMSwgU0NfRlBSRUdTKygoRjIxLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjMsIFNDX0ZQUkVHUysoKEYyMy1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI1LCBTQ19GUFJFR1MrKChGMjUtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyNywgU0NfRlBSRUdTKygoRjI3LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjksIFNDX0ZQUkVHUysoKEYyOS1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjMxLCBTQ19GUFJFR1MrKChGMzEtRjApKlJFR1NaX0ZQKShhMCkKLSNlbmRpZgotCVJFR19TCXYwLCBTQ19GUFJFR1MrKChGU1ItRjApKlJFR1NaKShhMCkKLSNlbmRpZiAvKiAhU09GVEZMT0FUICovCi0JUkVTVE9SRV9HUDY0Ci0JUFRSX0FERFUgc3AsIEZSQU1FU1oKLQlqCXJhCi0JIG1vdmUJdjAsIHplcm8KLUVORChfc2V0am1wKQotCi1MRUFGKF9sb25nam1wLCBGUkFNRVNaKQotCVBUUl9TVUJVIHNwLCBGUkFNRVNaCi0JU0VUVVBfR1A2NChHUE9GRiwgX2xvbmdqbXApCi0JU0FWRV9HUChHUE9GRikKLQkuc2V0ICAgIG5vcmVvcmRlcgotCVJFR19MCXYwLCBTQ19SRUdTK1pFUk8qUkVHU1ooYTApCi0JYm5lCXYwLCAweEFDRURCQURFLCBib3RjaAkJIyBqdW1wIGlmIGVycm9yCi0JUkVHX0wJcmEsIFNDX1BDKGEwKQotCVJFR19MCXYwLCBTQ19GUFJFR1MrKChGU1ItRjApKlJFR1NaKShhMCkKLQlSRUdfTAlzMCwgU0NfUkVHUytTMCpSRUdTWihhMCkKLQlSRUdfTAlzMSwgU0NfUkVHUytTMSpSRUdTWihhMCkKLQlSRUdfTAlzMiwgU0NfUkVHUytTMipSRUdTWihhMCkKLQlSRUdfTAlzMywgU0NfUkVHUytTMypSRUdTWihhMCkKLQlSRUdfTAlzNCwgU0NfUkVHUytTNCpSRUdTWihhMCkKLQlSRUdfTAlzNSwgU0NfUkVHUytTNSpSRUdTWihhMCkKLQlSRUdfTAlzNiwgU0NfUkVHUytTNipSRUdTWihhMCkKLQlSRUdfTAlzNywgU0NfUkVHUytTNypSRUdTWihhMCkKLQlSRUdfTAlzOCwgU0NfUkVHUytTOCpSRUdTWihhMCkKLQlSRUdfTAlncCwgU0NfUkVHUytHUCpSRUdTWihhMCkKLQlSRUdfTAlzcCwgU0NfUkVHUytTUCpSRUdTWihhMCkKLSNpZiAhZGVmaW5lZChTT0ZURkxPQVQpCi0JY3RjMQl2MCwgJDMxCi0JbC5kCSRmMjAsIFNDX0ZQUkVHUysoKEYyMC1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjIyLCBTQ19GUFJFR1MrKChGMjItRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyNCwgU0NfRlBSRUdTKygoRjI0LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjYsIFNDX0ZQUkVHUysoKEYyNi1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI4LCBTQ19GUFJFR1MrKChGMjgtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYzMCwgU0NfRlBSRUdTKygoRjMwLUYwKSpSRUdTWl9GUCkoYTApCi0jaWYgX01JUFNfRlBTRVQgPT0gMzIKLQlsLmQJJGYyMSwgU0NfRlBSRUdTKygoRjIxLUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjMsIFNDX0ZQUkVHUysoKEYyMy1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI1LCBTQ19GUFJFR1MrKChGMjUtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyNywgU0NfRlBSRUdTKygoRjI3LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjksIFNDX0ZQUkVHUysoKEYyOS1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjMxLCBTQ19GUFJFR1MrKChGMzEtRjApKlJFR1NaX0ZQKShhMCkKLSNlbmRpZgotI2VuZGlmIC8qICFTT0ZURkxPQVQgKi8KLQlibmUJYTEsIHplcm8sIDFmCi0JIG5vcAotCWxpCWExLCAxCQkJIyBuZXZlciByZXR1cm4gMCEKLTE6Ci0JaglyYQotCSBtb3ZlCXYwLCBhMQotCi1ib3RjaDoKLQlqYWwJbG9uZ2ptcGVycm9yCi0Jbm9wCi0JamFsCWFib3J0Ci0Jbm9wCi0JUkVTVE9SRV9HUDY0Ci0JUFRSX0FERFUgc3AsIEZSQU1FU1oKLUVORChfbG9uZ2ptcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL2F0ZXhpdC5oIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvYXRleGl0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1OTAwOGMuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvYXRleGl0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLWV4dGVybiB2b2lkICpfX2Rzb19oYW5kbGU7Ci1leHRlcm4gaW50IF9fY3hhX2F0ZXhpdCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnLCB2b2lkICpkc28pOwotCi1fX2F0dHJpYnV0ZV9fICgodmlzaWJpbGl0eSAoImhpZGRlbiIpKSkKLWludCBhdGV4aXQodm9pZCAoKmZ1bmMpKHZvaWQpKQotewotICByZXR1cm4gKF9fY3hhX2F0ZXhpdCgodm9pZCAoKikodm9pZCAqKSlmdW5jLCAodm9pZCAqKTAsICZfX2Rzb19oYW5kbGUpKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL2NydGJlZ2luLmMgYi9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9jcnRiZWdpbi5jCmluZGV4IDJlYTMxYWQuLmJkZDQyM2IgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL2NydGJlZ2luLmMKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvY3J0YmVnaW4uYwpAQCAtOTEsNCArOTEsNSBAQAogKTsKIAogI2luY2x1ZGUgIi4uLy4uL2FyY2gtY29tbW9uL2Jpb25pYy9fX2Rzb19oYW5kbGUuaCIKLSNpbmNsdWRlICJhdGV4aXQuaCIKKyNpbmNsdWRlICIuLi8uLi9hcmNoLWNvbW1vbi9iaW9uaWMvYXRleGl0LmgiCisjaW5jbHVkZSAiLi4vLi4vYXJjaC1jb21tb24vYmlvbmljL3B0aHJlYWRfYXRmb3JrLmgiCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9jcnRiZWdpbl9zby5jIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvY3J0YmVnaW5fc28uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY2NGNlNi4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9jcnRiZWdpbl9zby5jCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi1leHRlcm4gdm9pZCBfX2N4YV9maW5hbGl6ZSh2b2lkICopOwotZXh0ZXJuIHZvaWQgKl9fZHNvX2hhbmRsZTsKLQotX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVuIiksZGVzdHJ1Y3RvcikpCi12b2lkIF9fb25fZGxjbG9zZSgpIHsKLSAgX19jeGFfZmluYWxpemUoJl9fZHNvX2hhbmRsZSk7Ci19Ci0KLSNpbmNsdWRlICIuLi8uLi9hcmNoLWNvbW1vbi9iaW9uaWMvX19kc29faGFuZGxlX3NvLmgiCi0jaW5jbHVkZSAiYXRleGl0LmgiCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9zZXRqbXAuUyBiL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTc4NmJlLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3NldGptcC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTc0ICswLDAgQEAKLS8qICAgICAgJE9wZW5CU0Q6IHNldGptcC5TLHYgMS41IDIwMDUvMDgvMDcgMTY6NDA6MTUgZXNwaWUgRXhwICQgKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwMS0yMDAyIE9wc3ljb24gQUIgICh3d3cub3BzeWNvbi5zZSAvIHd3dy5vcHN5Y29uLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgT3BzeWNvbiBBQiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MKLSAqIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKgotICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3JlZ251bS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvc2lnbmFsLmg+Ci0KLS8qCi0gKiBzZXRqbXAsIGxvbmdqbXAgaW1wbGVtZW50YXRpb24gZm9yIGxpYmMuIHRoaXMgY29kZSBkZXBlbmRzCi0gKiBvbiB0aGUgbGF5b3V0IG9mIHRoZSBzdHJ1Y3Qgc2lnY29udGV4dCBpbiBtYWNoaW5lL3NpZ25hbC5oLgotICoKLSAqLwotCi1GUkFNRVNaPSBNS0ZTSVooMiw2KQotQTFPRkY9IEZSQU1FU1otNCpSRUdTWgotQTBPRkY9IEZSQU1FU1otMypSRUdTWgotR1BPRkY9IEZSQU1FU1otMipSRUdTWgotUkFPRkY9IEZSQU1FU1otMSpSRUdTWgotCi1OT05fTEVBRihzZXRqbXAsIEZSQU1FU1osIHJhKQotCS5tYXNrCTB4ODAwMDAwMDAsIFJBT0ZGCi0JUFRSX1NVQlUgc3AsIEZSQU1FU1oJCQkjIGFsbG9jYXRlIHN0YWNrIGZyYW1lCi0JU0VUVVBfR1A2NChHUE9GRiwgc2V0am1wKQotCVNBVkVfR1AoR1BPRkYpCi0JLnNldAlyZW9yZGVyCi0JUkVHX1MJcmEsIFJBT0ZGKHNwKQkJCSMgc2F2ZSBzdGF0ZQotCVJFR19TCWEwLCBBME9GRihzcCkKLQotCW1vdmUJYTAsIHplcm8JCQkjIGdldCBjdXJyZW50IHNpZ25hbCBtYXNrCi0JamFsCXNpZ2Jsb2NrCi0KLQlSRUdfTAl2MSwgQTBPRkYoc3ApCQkJIyB2MSA9IGptcGJ1ZgotCVJFR19TCXYwLCBTQ19NQVNLKHYxKQkJCSMgc2F2ZSBzY19tYXNrID0gc2lnYmxvY2soMCkKLQotCVJFR19MCWEwLCBBME9GRihzcCkJCQkjIHJlc3RvcmUgam1wYnVmCi0JUkVHX0wJcmEsIFJBT0ZGKHNwKQotCVJFR19TCXJhLCBTQ19QQyhhMCkJCQkjIHNjX3BjID0gcmV0dXJuIGFkZHJlc3MKLSNpZiBkZWZpbmVkKF9fbWlwczY0KQotCWRsaQl2MCwgMHhBQ0VEQkFERQkJCSMgc2lnY29udGV4dCBtYWdpYyBudW1iZXIKLSNlbHNlCi0JbGkJdjAsIDB4QUNFREJBREUJCQkjIHNpZ2NvbnRleHQgbWFnaWMgbnVtYmVyCi0jZW5kaWYKLQlSRUdfUwl2MCwgU0NfUkVHUytaRVJPKlJFR1NaKGEwKQotCVJFR19TCXMwLCBTQ19SRUdTK1MwKlJFR1NaKGEwKQotCVJFR19TCXMxLCBTQ19SRUdTK1MxKlJFR1NaKGEwKQotCVJFR19TCXMyLCBTQ19SRUdTK1MyKlJFR1NaKGEwKQotCVJFR19TCXMzLCBTQ19SRUdTK1MzKlJFR1NaKGEwKQotCVJFR19TCXM0LCBTQ19SRUdTK1M0KlJFR1NaKGEwKQotCVJFR19TCXM1LCBTQ19SRUdTK1M1KlJFR1NaKGEwKQotCVJFR19TCXM2LCBTQ19SRUdTK1M2KlJFR1NaKGEwKQotCVJFR19TCXM3LCBTQ19SRUdTK1M3KlJFR1NaKGEwKQotCVJFR19TCXM4LCBTQ19SRUdTK1M4KlJFR1NaKGEwKQotCVJFR19MCXYwLCBHUE9GRihzcCkKLQlSRUdfUwl2MCwgU0NfUkVHUytHUCpSRUdTWihhMCkKLQlQVFJfQUREVSB2MCwgc3AsIEZSQU1FU1oKLQlSRUdfUwl2MCwgU0NfUkVHUytTUCpSRUdTWihhMCkKLQotI2lmICFkZWZpbmVkKFNPRlRGTE9BVCkKLQlsaQl2MCwgMQkJCQkjIGJlIG5pY2UgaWYgd2UgY291bGQgdGVsbAotCVJFR19TCXYwLCBTQ19GUFVTRUQoYTApCQkjIHNjX2ZwdXNlZCA9IDEKLQljZmMxCXYwLCAkMzEKLQlzLmQJJGYyMCwgU0NfRlBSRUdTKygoRjIwLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjIsIFNDX0ZQUkVHUysoKEYyMi1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI0LCBTQ19GUFJFR1MrKChGMjQtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyNiwgU0NfRlBSRUdTKygoRjI2LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjgsIFNDX0ZQUkVHUysoKEYyOC1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjMwLCBTQ19GUFJFR1MrKChGMzAtRjApKlJFR1NaX0ZQKShhMCkKLSNpZiBfTUlQU19GUFNFVCA9PSAzMgotCXMuZAkkZjIxLCBTQ19GUFJFR1MrKChGMjEtRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyMywgU0NfRlBSRUdTKygoRjIzLUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMjUsIFNDX0ZQUkVHUysoKEYyNS1GMCkqUkVHU1pfRlApKGEwKQotCXMuZAkkZjI3LCBTQ19GUFJFR1MrKChGMjctRjApKlJFR1NaX0ZQKShhMCkKLQlzLmQJJGYyOSwgU0NfRlBSRUdTKygoRjI5LUYwKSpSRUdTWl9GUCkoYTApCi0Jcy5kCSRmMzEsIFNDX0ZQUkVHUysoKEYzMS1GMCkqUkVHU1pfRlApKGEwKQotI2VuZGlmCi0JUkVHX1MJdjAsIFNDX0ZQUkVHUysoKEZTUi1GMCkqUkVHU1opKGEwKQotI2VuZGlmIC8qICFTT0ZURkxPQVQgKi8KLQltb3ZlCXYwLCB6ZXJvCi0JUkVTVE9SRV9HUDY0Ci0JUFRSX0FERFUgc3AsIEZSQU1FU1oKLQlqCXJhCi0KLWJvdGNoOgotCWphbAlsb25nam1wZXJyb3IKLQlqYWwJYWJvcnQKLQlSRVNUT1JFX0dQNjQKLQlQVFJfQUREVSBzcCwgRlJBTUVTWgotRU5EKHNldGptcCkKLQotCi1MRUFGKGxvbmdqbXAsIEZSQU1FU1opCi0JUFRSX1NVQlUgc3AsIEZSQU1FU1oKLQlTRVRVUF9HUDY0KEdQT0ZGLCBsb25nam1wKQotCVNBVkVfR1AoR1BPRkYpCi0JLnNldAlyZW9yZGVyCi0Jc3cJYTEsIEExT0ZGKHNwKQotCXN3CWEwLCBBME9GRihzcCkKLQotCWx3CWEwLCBTQ19NQVNLKGEwKQotCWphbAlzaWdzZXRtYXNrCi0KLQlsdwlhMCwgQTBPRkYoc3ApCi0JbHcJYTEsIEExT0ZGKHNwKQotCi0JLnNldAlub3Jlb3JkZXIKLQlSRUdfTAl2MCwgU0NfUkVHUytaRVJPKlJFR1NaKGEwKQotCWJuZQl2MCwgMHhBQ0VEQkFERSwgYm90Y2gJCSMganVtcCBpZiBlcnJvcgotCVJFR19MCXJhLCBTQ19QQyhhMCkKLQlSRUdfTAlzMCwgU0NfUkVHUytTMCpSRUdTWihhMCkKLQlSRUdfTAlzMSwgU0NfUkVHUytTMSpSRUdTWihhMCkKLQlSRUdfTAlzMiwgU0NfUkVHUytTMipSRUdTWihhMCkKLQlSRUdfTAlzMywgU0NfUkVHUytTMypSRUdTWihhMCkKLQlSRUdfTAlzNCwgU0NfUkVHUytTNCpSRUdTWihhMCkKLQlSRUdfTAlzNSwgU0NfUkVHUytTNSpSRUdTWihhMCkKLQlSRUdfTAlzNiwgU0NfUkVHUytTNipSRUdTWihhMCkKLQlSRUdfTAlzNywgU0NfUkVHUytTNypSRUdTWihhMCkKLQlSRUdfTAlzOCwgU0NfUkVHUytTOCpSRUdTWihhMCkKLQlSRUdfTAlncCwgU0NfUkVHUytHUCpSRUdTWihhMCkKLQlSRUdfTAlzcCwgU0NfUkVHUytTUCpSRUdTWihhMCkKLQotI2lmICFkZWZpbmVkKFNPRlRGTE9BVCkKLQlSRUdfTAl2MCwgU0NfRlBSRUdTKygoRlNSLUYwKSpSRUdTWikoYTApCi0JY3RjMQl2MCwgJDMxCi0JbC5kCSRmMjAsIFNDX0ZQUkVHUysoKEYyMC1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjIyLCBTQ19GUFJFR1MrKChGMjItRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyNCwgU0NfRlBSRUdTKygoRjI0LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjYsIFNDX0ZQUkVHUysoKEYyNi1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI4LCBTQ19GUFJFR1MrKChGMjgtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYzMCwgU0NfRlBSRUdTKygoRjMwLUYwKSpSRUdTWl9GUCkoYTApCi0jaWYgX01JUFNfRlBTRVQgPT0gMzIKLQlsLmQJJGYyMSwgU0NfRlBSRUdTKygoRjIxLUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjMsIFNDX0ZQUkVHUysoKEYyMy1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjI1LCBTQ19GUFJFR1MrKChGMjUtRjApKlJFR1NaX0ZQKShhMCkKLQlsLmQJJGYyNywgU0NfRlBSRUdTKygoRjI3LUYwKSpSRUdTWl9GUCkoYTApCi0JbC5kCSRmMjksIFNDX0ZQUkVHUysoKEYyOS1GMCkqUkVHU1pfRlApKGEwKQotCWwuZAkkZjMxLCBTQ19GUFJFR1MrKChGMzEtRjApKlJFR1NaX0ZQKShhMCkKLSNlbmRpZgotI2VuZGlmIC8qICFTT0ZURkxPQVQgKi8KLQlibmUJYTEsIHplcm8sIDFmCi0JIG5vcAotCWxpCWExLCAxCQkJIyBuZXZlciByZXR1cm4gMCEKLTE6Ci0JaglyYQotCSBtb3ZlCXYwLCBhMQotCi1FTkQobG9uZ2ptcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3NldGptcC5TIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvc2V0am1wLlMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMC4uYjExN2JiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3NldGptcC5TCkBAIC0wLDAgKzEgQEAKKy4uLy4uL2FyY2gtbWlwcy9iaW9uaWMvc2V0am1wLlMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9zaWdzZXRqbXAuUyBiL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3NpZ3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDJlNWVhLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3NpZ3NldGptcC5TCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotLyogJE9wZW5CU0Q6IHNpZ3NldGptcC5TLHYgMS41IDIwMDUvMDgvMDcgMTY6NDA6MTUgZXNwaWUgRXhwICQgKi8KLS8qLQotICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkzLCAxOTk1LAotICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQotICogSGF2YXJkIEVpZG5lcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvcmVnbnVtLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9zZXRqbXAuaD4KLQotLyoKLSAqIHRyYW1wb2xpbmVzIGZvciBzaWdzZXRqbXAgYW5kICBzaWdsb25nam1wIHNhdmUgYW5kIHJlc3RvcmUgbWFzay4KLSAqCi0gKi8KLUZSQU1FU1o9IE1LRlNJWigxLDEpCi1HUE9GRj0gRlJBTUVTWi0yKlJFR1NaCi0KLUxFQUYoc2lnc2V0am1wLCBGUkFNRVNaKQotCVBUUl9TVUJVIHNwLCBGUkFNRVNaCi0JU0VUVVBfR1A2NChHUE9GRiwgc2lnc2V0am1wKQotCS5zZXQJcmVvcmRlcgotCVJFR19TCWExLCAoX0pCTEVOKlJFR1NaKShhMCkJCSMgc2F2ZSAic2F2ZW1hc2siCi0JYm5lCWExLCAweDAsIDFmCQkJIyBkbyBzYXZpbmcgb2Ygc2lnbmFsIG1hc2s/Ci0JTEEJdDksIF9zZXRqbXAKLQlSRVNUT1JFX0dQNjQKLQlQVFJfQUREVSBzcCwgRlJBTUVTWgotCWpyIHQ5Ci0KLTE6CUxBCXQ5LCBzZXRqbXAKLQlSRVNUT1JFX0dQNjQKLQlQVFJfQUREVSBzcCwgRlJBTUVTWgotCWpyIHQ5Ci1FTkQoc2lnc2V0am1wKQotCi1MRUFGKHNpZ2xvbmdqbXAsIEZSQU1FU1opCi0JUFRSX1NVQlUgc3AsIEZSQU1FU1oKLQlTRVRVUF9HUDY0KEdQT0ZGLCBzaWdsb25nam1wKQotCS5zZXQJcmVvcmRlcgotCVJFR19MCXQwLCAoX0pCTEVOKlJFR1NaKShhMCkJCSMgZ2V0ICJzYXZlbWFzayIKLQlibmUJdDAsIDB4MCwgMWYJCQkjIHJlc3RvcmUgc2lnbmFsIG1hc2s/Ci0JTEEJdDksIF9sb25nam1wCi0JUkVTVE9SRV9HUDY0Ci0JUFRSX0FERFUgc3AsIEZSQU1FU1oKLQlqcgl0OQotMToKLQlMQQl0OSwgbG9uZ2ptcAotCVJFU1RPUkVfR1A2NAotCVBUUl9BRERVIHNwLCBGUkFNRVNaCi0JanIJdDkKLUVORChzaWdsb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvc3RhdC5jcHAgYi9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9zdGF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzY3ZmJkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvc3RhdC5jcHAKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworc3RydWN0IGtlcm5lbF9zdGF0IHsKKyB1bnNpZ25lZCBpbnQgc3RfZGV2OworIHVuc2lnbmVkIGludCBzdF9wYWQwWzNdOworIHVuc2lnbmVkIGxvbmcgc3RfaW5vOworIG1vZGVfdCBzdF9tb2RlOworIF9fdTMyIHN0X25saW5rOworIHVpZF90IHN0X3VpZDsKKyBnaWRfdCBzdF9naWQ7CisgdW5zaWduZWQgaW50IHN0X3JkZXY7CisgdW5zaWduZWQgaW50IHN0X3BhZDFbM107CisgX19rZXJuZWxfb2ZmX3Qgc3Rfc2l6ZTsKKyB1bnNpZ25lZCBpbnQgX3N0X2F0aW1lOworIHVuc2lnbmVkIGludCBzdF9hdGltZV9uc2VjOworIHVuc2lnbmVkIGludCBfc3RfbXRpbWU7CisgdW5zaWduZWQgaW50IHN0X210aW1lX25zZWM7CisgdW5zaWduZWQgaW50IF9zdF9jdGltZTsKKyB1bnNpZ25lZCBpbnQgc3RfY3RpbWVfbnNlYzsKKyB1bnNpZ25lZCBpbnQgc3RfYmxrc2l6ZTsKKyB1bnNpZ25lZCBpbnQgc3RfcGFkMjsKKyB1bnNpZ25lZCBsb25nIHN0X2Jsb2NrczsKK307CisKK3ZvaWQgY29weV9zdGF0KHN0cnVjdCBzdGF0ICpzdCwgc3RydWN0IGtlcm5lbF9zdGF0ICpzKQoreworICBzdC0+c3RfZGV2ID0gc3RhdGljX2Nhc3Q8ZGV2X3Q+KHMtPnN0X2Rldik7CisgIHN0LT5zdF9pbm8gPSBzdGF0aWNfY2FzdDxpbm9fdD4ocy0+c3RfaW5vKTsKKyAgc3QtPnN0X21vZGUgPSBzdGF0aWNfY2FzdDxtb2RlX3Q+KHMtPnN0X21vZGUpOworICBzdC0+c3RfbmxpbmsgPSBzdGF0aWNfY2FzdDxubGlua190PihzLT5zdF9ubGluayk7CisgIHN0LT5zdF91aWQgPSBzdGF0aWNfY2FzdDx1aWRfdD4ocy0+c3RfdWlkKTsKKyAgc3QtPnN0X2dpZCA9IHN0YXRpY19jYXN0PGdpZF90PihzLT5zdF9naWQpOworICBzdC0+c3RfcmRldiA9IHN0YXRpY19jYXN0PGRldl90PihzLT5zdF9yZGV2KTsKKyAgc3QtPnN0X3NpemUgPSBzdGF0aWNfY2FzdDxvZmZfdD4ocy0+c3Rfc2l6ZSk7CisgIHN0LT5zdF9ibGtzaXplID0gc3RhdGljX2Nhc3Q8aW50PihzLT5zdF9ibGtzaXplKTsKKyAgc3QtPnN0X2Jsb2NrcyA9IHN0YXRpY19jYXN0PGxvbmc+KHMtPnN0X2Jsb2Nrcyk7CisgIHN0LT5zdF9hdGltLnR2X3NlYyA9IHN0YXRpY19jYXN0PHRpbWVfdD4ocy0+X3N0X2F0aW1lKTsKKyAgc3QtPnN0X2F0aW0udHZfbnNlYyA9IHN0YXRpY19jYXN0PGxvbmc+KHMtPnN0X2F0aW1lX25zZWMpOworICBzdC0+c3RfbXRpbS50dl9zZWMgPSBzdGF0aWNfY2FzdDx0aW1lX3Q+KHMtPl9zdF9tdGltZSk7CisgIHN0LT5zdF9tdGltLnR2X25zZWMgPSBzdGF0aWNfY2FzdDxsb25nPihzLT5zdF9tdGltZV9uc2VjKTsKKyAgc3QtPnN0X2N0aW0udHZfc2VjID0gc3RhdGljX2Nhc3Q8dGltZV90PihzLT5fc3RfY3RpbWUpOworICBzdC0+c3RfY3RpbS50dl9uc2VjID0gc3RhdGljX2Nhc3Q8bG9uZz4ocy0+c3RfY3RpbWVfbnNlYyk7Cit9CisKK2ludCBmc3RhdChpbnQgZnAsIHN0cnVjdCBzdGF0ICpzdCkKK3sKKyAga2VybmVsX3N0YXQgczsKKyAgaW50IHJldDsKKyAgcmV0ID0gc3lzY2FsbCAoX19OUl9mc3RhdCwgZnAsICZzKTsKKyAgY29weV9zdGF0IChzdCwgJnMpOworICByZXR1cm4gcmV0OworfQorX19zdHJvbmdfYWxpYXMoZnN0YXQ2NCwgZnN0YXQpOworCitpbnQgbmV3ZnN0YXRhdChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBzdHJ1Y3Qgc3RhdCAqYnVmLCBpbnQgZmxhZ3MpCit7CisgICBrZXJuZWxfc3RhdCBzOworICAgaW50IHJldDsKKyAgIHJldCA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBkaXJmZCwgcGF0aG5hbWUsICZzLCBmbGFncyk7CisgICBjb3B5X3N0YXQoYnVmLCAmcyk7CisgICByZXR1cm4gcmV0OworfQorCitpbnQgZnN0YXRhdChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBzdHJ1Y3Qgc3RhdCAqYnVmLCBpbnQgZmxhZ3MpCit7CisgICBrZXJuZWxfc3RhdCBzOworICAgaW50IHJldDsKKyAgIHJldCA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBkaXJmZCwgcGF0aG5hbWUsICZzLCBmbGFncyk7CisgICBjb3B5X3N0YXQoYnVmLCAmcyk7CisgICByZXR1cm4gcmV0OworfQorX19zdHJvbmdfYWxpYXMoZnN0YXRhdDY0LCBmc3RhdGF0KTsKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3N5c2NhbGwuUyBiL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL3N5c2NhbGwuUwppbmRleCA5MjQ3NDFkLi40YzczOWZkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9zeXNjYWxsLlMKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvc3lzY2FsbC5TCkBAIC01Miw3ICs1Miw3IEBACiAjZWxzZQogCW1vdmUJYTMsIGE0CiAJbW92ZQlhNCwgYTUKLQlSRUdfTAlhNSwgRlJBTUVTWihzcCkKKwltb3ZlCWE1LCBhNgogI2VuZGlmCiAJc3lzY2FsbAogCW1vdmUJYTAsIHYwCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUgYi9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMC4uZmFiYmU4YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZQpAQCAtMCwwICsxIEBACisuLi9hcmNoLW1pcHMvaW5jbHVkZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL2FzbS5oIGIvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvYXNtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYWNkZTMuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvYXNtLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMDggKzAsMCBAQAotLyoJJE9wZW5CU0Q6IGFzbS5oLHYgMS43IDIwMDQvMTAvMjAgMTI6NDk6MTUgcGVmbyBFeHAgJCAqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAyMDAxLTIwMDIgT3BzeWNvbiBBQiAgKHd3dy5vcHN5Y29uLnNlIC8gd3d3Lm9wc3ljb24uY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTCi0gKiBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqLwotI2lmbmRlZiBfTUlQUzY0X0FTTV9ICi0jZGVmaW5lIF9NSVBTNjRfQVNNX0gKLQotI2lmbmRlZiBfQUxJR05fVEVYVAotIyBkZWZpbmUgX0FMSUdOX1RFWFQgLmFsaWduIDQKLSNlbmRpZgotCi0jdW5kZWYgX19iaW9uaWNfYXNtX2N1c3RvbV9lbnRyeQotI3VuZGVmIF9fYmlvbmljX2FzbV9jdXN0b21fZW5kCi0jZGVmaW5lIF9fYmlvbmljX2FzbV9jdXN0b21fZW50cnkoZikgLmVudCBmCi0jZGVmaW5lIF9fYmlvbmljX2FzbV9jdXN0b21fZW5kKGYpIC5lbmQgZgotCi0jaW5jbHVkZSA8bWFjaGluZS9yZWdkZWYuaD4KLQotI2RlZmluZQlfTUlQU19JU0FfTUlQUzEJMQkvKiBSMjAwMC9SMzAwMCAqLwotI2RlZmluZQlfTUlQU19JU0FfTUlQUzIJMgkvKiBSNDAwMC9SNjAwMCAqLwotI2RlZmluZQlfTUlQU19JU0FfTUlQUzMJMwkvKiBSNDAwMCAqLwotI2RlZmluZQlfTUlQU19JU0FfTUlQUzQJNAkvKiBURlAgKFIxeDAwMCkgKi8KLSNkZWZpbmUJX01JUFNfSVNBX01JUFM1IDUKLSNkZWZpbmUJX01JUFNfSVNBX01JUFMzMiA2Ci0jZGVmaW5lCV9NSVBTX0lTQV9NSVBTNjQgNwotCi0jaWYgIWRlZmluZWQoQUJJQ0FMTFMpICYmICFkZWZpbmVkKF9OT19BQklDQUxMUykKLSNkZWZpbmUJQUJJQ0FMTFMJLmFiaWNhbGxzCi0jZW5kaWYKLQotI2lmIGRlZmluZWQoQUJJQ0FMTFMpICYmICFkZWZpbmVkKF9LRVJORUwpCi0JQUJJQ0FMTFMKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoX19NSVBTRUxfXykgJiYgIWRlZmluZWQoX19NSVBTRUJfXykKLSNlcnJvciAiX19NSVBTRUxfXyBvciBfX01JUFNFQl9fIG11c3QgYmUgZGVmaW5lZCIKLSNlbmRpZgotLyoKLSAqIERlZmluZSBob3cgdG8gYWNjZXNzIHVuYWxpZ25lZCBkYXRhIHdvcmQKLSAqLwotI2lmIGRlZmluZWQoX19NSVBTRUxfXykKLSNkZWZpbmUgTFdMTyAgICBsd2wKLSNkZWZpbmUgTFdISSAgICBsd3IKLSNkZWZpbmUJU1dMTwlzd2wKLSNkZWZpbmUJU1dISQlzd3IKLSNkZWZpbmUgTERMTyAgICBsZGwKLSNkZWZpbmUgTERISSAgICBsZHIKLSNkZWZpbmUJU0RMTwlzZGwKLSNkZWZpbmUJU0RISQlzZHIKLSNlbmRpZgotI2lmIGRlZmluZWQoX19NSVBTRUJfXykKLSNkZWZpbmUgTFdMTyAgICBsd3IKLSNkZWZpbmUgTFdISSAgICBsd2wKLSNkZWZpbmUJU1dMTwlzd3IKLSNkZWZpbmUJU1dISQlzd2wKLSNkZWZpbmUgTERMTyAgICBsZHIKLSNkZWZpbmUgTERISSAgICBsZGwKLSNkZWZpbmUJU0RMTwlzZHIKLSNkZWZpbmUJU0RISQlzZGwKLSNlbmRpZgotCi0vKgotICogIERlZmluZSBwcm9ncmFtbWluZyBlbnZpcm9ubWVudCBmb3IgQUJJLgotICovCi0jaWYgZGVmaW5lZChBQklDQUxMUykgJiYgIWRlZmluZWQoX0tFUk5FTCkgJiYgIWRlZmluZWQoX1NUQU5EQUxPTkUpCi0KLSNpZiAoX01JUFNfU0lNID09IF9BQklPMzIpIHx8IChfTUlQU19TSU0gPT0gX0FCSTMyKQotI2RlZmluZSBOQVJHU0FWRQk0Ci0KLSNkZWZpbmUJU0VUVVBfR1AJCVwKLQkuc2V0CW5vcmVvcmRlcjsJXAotCS5jcGxvYWQJdDk7CQlcCi0JLnNldAlyZW9yZGVyOwotCi0jZGVmaW5lCVNBVkVfR1AoeCkJCVwKLQkuY3ByZXN0b3JlIHgKLQotI2RlZmluZQlTRVRVUF9HUDY0KGdwb2ZmLCBuYW1lKQotI2RlZmluZQlSRVNUT1JFX0dQNjQKLSNlbmRpZgotCi0jaWYgKF9NSVBTX1NJTSA9PSBfQUJJNjQpIHx8IChfTUlQU19TSU0gPT0gX0FCSU4zMikKLSNkZWZpbmUgTkFSR1NBVkUJMAotCi0jZGVmaW5lCVNFVFVQX0dQCi0jZGVmaW5lCVNBVkVfR1AoeCkKLSNkZWZpbmUJU0VUVVBfR1A2NChncG9mZiwgbmFtZSkJXAotCS5jcHNldHVwIHQ5LCBncG9mZiwgbmFtZQotI2RlZmluZQlSRVNUT1JFX0dQNjQJCVwKLQkuY3ByZXR1cm4KLSNlbmRpZgotCi0jZGVmaW5lCU1LRlNJWihuYXJnLGxvY2FscykgKCgobmFyZytsb2NhbHMpKlJFR1NaKzMxKSYofjMxKSkKLQotI2Vsc2UgLyogZGVmaW5lZChBQklDQUxMUykgJiYgIWRlZmluZWQoX0tFUk5FTCkgKi8KLQotI2RlZmluZQlOQVJHU0FWRQk0Ci0jZGVmaW5lCVNFVFVQX0dQCi0jZGVmaW5lCVNBVkVfR1AoeCkKLQotI2RlZmluZQlBTElHTlNaCQkxNgkvKiBTdGFjayBsYXlvdXQgYWxpZ25tZW50ICovCi0jZGVmaW5lCUZSQU1FU1ooc3opCSgoKHN6KSArIChBTElHTlNaLTEpKSAmIH4oQUxJR05TWi0xKSkKLQotI2VuZGlmCi0KLS8qCi0gKiAgQmFzaWMgcmVnaXN0ZXIgb3BlcmF0aW9ucyBiYXNlZCBvbiBzZWxlY3RlZCBJU0EKLSAqLwotI2lmIChfTUlQU19JU0EgPT0gX01JUFNfSVNBX01JUFMxIHx8IF9NSVBTX0lTQSA9PSBfTUlQU19JU0FfTUlQUzIgfHwgX01JUFNfSVNBID09IF9NSVBTX0lTQV9NSVBTMzIpCi0jZGVmaW5lIFJFR1NaCQk0CS8qIDMyIGJpdCBtb2RlIHJlZ2lzdGVyIHNpemUgKi8KLSNkZWZpbmUgTE9HUkVHU1oJMgkvKiBsb2cgcnNpemUgKi8KLSNkZWZpbmUJUkVHX1MJc3cKLSNkZWZpbmUJUkVHX0wJbHcKLSNkZWZpbmUJQ0ZfU1oJCTI0CS8qIENhbGwgZnJhbWUgc2l6ZSAqLwotI2RlZmluZQlDRl9BUkdTWgkxNgkvKiBDYWxsIGZyYW1lIGFyZyBzaXplICovCi0jZGVmaW5lCUNGX1JBX09GRlMJMjAJLyogQ2FsbCByYSBzYXZlIG9mZnNldCAqLwotI2VuZGlmCi0KLSNpZiAoX01JUFNfSVNBID09IF9NSVBTX0lTQV9NSVBTMyB8fCBfTUlQU19JU0EgPT0gX01JUFNfSVNBX01JUFM0IHx8IF9NSVBTX0lTQSA9PSBfTUlQU19JU0FfTUlQUzY0KQotI2RlZmluZSBSRUdTWgkJOAkvKiA2NCBiaXQgbW9kZSByZWdpc3RlciBzaXplICovCi0jZGVmaW5lIExPR1JFR1NaCTMJLyogbG9nIHJzaXplICovCi0jZGVmaW5lCVJFR19TCXNkCi0jZGVmaW5lCVJFR19MCWxkCi0jZGVmaW5lCUNGX1NaCQk0OAkvKiBDYWxsIGZyYW1lIHNpemUgKG11bHRpcGxlIG9mIEFMSUdOU1opICovCi0jZGVmaW5lCUNGX0FSR1NaCTMyCS8qIENhbGwgZnJhbWUgYXJnIHNpemUgKi8KLSNkZWZpbmUJQ0ZfUkFfT0ZGUwk0MAkvKiBDYWxsIHJhIHNhdmUgb2Zmc2V0ICovCi0jZW5kaWYKLQotI2RlZmluZSBSRUdTWl9GUAkgOAkvKiA2NCBiaXQgRlAgcmVnaXN0ZXIgc2l6ZSAqLwotCi0jaWZuZGVmIF9fTFA2NF9fCi0jZGVmaW5lCVBUUl9MCQlsdwotI2RlZmluZQlQVFJfUwkJc3cKLSNkZWZpbmUJUFRSX1NVQgkJc3ViCi0jZGVmaW5lCVBUUl9BREQJCWFkZAotI2RlZmluZQlQVFJfU1VCVQlzdWJ1Ci0jZGVmaW5lCVBUUl9BRERVCWFkZHUKLSNkZWZpbmUgTEkJCWxpCi0jZGVmaW5lCUxBCQlsYQotI2RlZmluZQlQVFJfU0xMCQlzbGwKLSNkZWZpbmUJUFRSX1NSTAkJc3JsCi0jZGVmaW5lCVBUUl9WQUwJCS53b3JkCi0jZWxzZQotI2RlZmluZQlQVFJfTAkJbGQKLSNkZWZpbmUJUFRSX1MJCXNkCi0jZGVmaW5lCVBUUl9BREQJCWRhZGQKLSNkZWZpbmUJUFRSX1NVQgkJZHN1YgotI2RlZmluZQlQVFJfU1VCVQlkc3VidQotI2RlZmluZQlQVFJfQUREVQlkYWRkdQotI2RlZmluZSBMSQkJZGxpCi0jZGVmaW5lIExBCQlkbGEKLSNkZWZpbmUJUFRSX1NMTAkJZHNsbAotI2RlZmluZQlQVFJfU1JMCQlkc3JsCi0jZGVmaW5lCVBUUl9WQUwJCS5kd29yZAotI2VuZGlmCi0KLS8qCi0gKiBMRUFGKHgsIGZzaXplKQotICoKLSAqCURlY2xhcmUgYSBsZWFmIHJvdXRpbmUuCi0gKi8KLSNkZWZpbmUgTEVBRih4LCBmc2l6ZSkJCVwKLQkuYWxpZ24JMzsJCVwKLQkuZ2xvYmwgeDsJCVwKLQkuZW50IHgsIDA7CQlcCi14OiA7CQkJCVwKLQkuY2ZpX3N0YXJ0cHJvYzsgXAotCS5mcmFtZSBzcCwgZnNpemUsIHJhOwlcCi0JU0VUVVBfR1AJCVwKLQotLyoKLSAqIE5PTl9MRUFGKHgpCi0gKgotICoJRGVjbGFyZSBhIG5vbi1sZWFmIHJvdXRpbmUgKGEgcm91dGluZSB0aGF0IG1ha2VzIG90aGVyIEMgY2FsbHMpLgotICovCi0jZGVmaW5lIE5PTl9MRUFGKHgsIGZzaXplLCByZXRwYykgXAotCS5hbGlnbgkzOwkJXAotCS5nbG9ibCB4OwkJXAotCS5lbnQgeCwgMDsJCVwKLXg6IDsJCQkJXAotCS5jZmlfc3RhcnRwcm9jOyBcCi0JLmZyYW1lIHNwLCBmc2l6ZSwgcmV0cGM7IFwKLQlTRVRVUF9HUAkJXAotCi0jZW5kaWYgLyogIV9NSVBTX0FTTV9IICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9lbGZfbWFjaGRlcC5oIGIvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvZWxmX21hY2hkZXAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI3ZDQzMS4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9lbGZfbWFjaGRlcC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTk2ICswLDAgQEAKLS8qCSROZXRCU0Q6IGVsZl9tYWNoZGVwLmgsdiAxLjE1IDIwMTEvMDMvMTUgMDc6Mzk6MjIgbWF0dCBFeHAgJAkqLwotCi0jaWZuZGVmIF9NSVBTX0VMRl9NQUNIREVQX0hfCi0jZGVmaW5lICBfTUlQU19FTEZfTUFDSERFUF9IXwotCi0jaWZkZWYgX0xQNjQKLSNkZWZpbmUgQVJDSF9FTEZTSVpFCQk2NAkvKiBNRCBuYXRpdmUgYmluYXJ5IHNpemUgKi8KLSNlbHNlCi0jZGVmaW5lIEFSQ0hfRUxGU0laRQkJMzIJLyogTUQgbmF0aXZlIGJpbmFyeSBzaXplICovCi0jZW5kaWYKLQotI2lmIEVMRlNJWkUgPT0gMzIKLSNkZWZpbmUJRUxGMzJfTUFDSERFUF9JRF9DQVNFUwkJCQkJCVwKLQkJY2FzZSBFTV9NSVBTOgkJCQkJCVwKLQkJCWJyZWFrOwotCi0jZGVmaW5lCUVMRjMyX01BQ0hERVBfSUQJRU1fTUlQUwotI2VsaWYgRUxGU0laRSA9PSA2NAotI2RlZmluZQlFTEY2NF9NQUNIREVQX0lEX0NBU0VTCQkJCQkJXAotCQljYXNlIEVNX01JUFM6CQkJCQkJXAotCQkJYnJlYWs7Ci0KLSNkZWZpbmUJRUxGNjRfTUFDSERFUF9JRAlFTV9NSVBTCi0jZW5kaWYKLQotLyogbWlwcyByZWxvY3MuICAqLwotCi0jZGVmaW5lIFJfTUlQU19OT05FCQkwCi0jZGVmaW5lIFJfTUlQU18xNgkJMQotI2RlZmluZSBSX01JUFNfMzIJCTIKLSNkZWZpbmUgUl9NSVBTX1JFTDMyCQkzCi0jZGVmaW5lIFJfTUlQU19SRUwJCVJfTUlQU19SRUwzMgotI2RlZmluZSBSX01JUFNfMjYJCTQKLSNkZWZpbmUgUl9NSVBTX0hJMTYJCTUJLyogaGlnaCAxNiBiaXRzIG9mIHN5bWJvbCB2YWx1ZSAqLwotI2RlZmluZSBSX01JUFNfTE8xNgkJNgkvKiBsb3cgMTYgYml0cyBvZiBzeW1ib2wgdmFsdWUgKi8KLSNkZWZpbmUgUl9NSVBTX0dQUkVMMTYJCTcgIAkvKiBHUC1yZWxhdGl2ZSByZWZlcmVuY2UgICovCi0jZGVmaW5lIFJfTUlQU19MSVRFUkFMCQk4IAkvKiBSZWZlcmVuY2UgdG8gbGl0ZXJhbCBzZWN0aW9uICAqLwotI2RlZmluZSBSX01JUFNfR09UMTYJCTkJLyogUmVmZXJlbmNlIHRvIGdsb2JhbCBvZmZzZXQgdGFibGUgKi8KLSNkZWZpbmUgUl9NSVBTX0dPVAkJUl9NSVBTX0dPVDE2Ci0jZGVmaW5lIFJfTUlQU19QQzE2CQkxMCAgCS8qIDE2IGJpdCBQQyByZWxhdGl2ZSByZWZlcmVuY2UgKi8KLSNkZWZpbmUgUl9NSVBTX0NBTEwxNiAJCTExICAJLyogMTYgYml0IGNhbGwgdGhydSBnbGJsIG9mZnNldCB0YmwgKi8KLSNkZWZpbmUgUl9NSVBTX0NBTEwJCVJfTUlQU19DQUxMMTYKLSNkZWZpbmUgUl9NSVBTX0dQUkVMMzIJCTEyCi0KLS8qIDEzLCAxNCwgMTUgYXJlIG5vdCBkZWZpbmVkIGF0IHRoaXMgcG9pbnQuICovCi0jZGVmaW5lIFJfTUlQU19VTlVTRUQxCQkxMwotI2RlZmluZSBSX01JUFNfVU5VU0VEMgkJMTQKLSNkZWZpbmUgUl9NSVBTX1VOVVNFRDMJCTE1Ci0KLS8qCi0gKiBUaGUgcmVtYWluaW5nIHJlbG9jcyBhcmUgYXBwYXJlbnRseSBwYXJ0IG9mIHRoZSA2NC1iaXQgSXJpeCBFTEYgQUJJLgotICovCi0jZGVmaW5lIFJfTUlQU19TSElGVDUJCTE2Ci0jZGVmaW5lIFJfTUlQU19TSElGVDYJCTE3Ci0KLSNkZWZpbmUgUl9NSVBTXzY0CQkxOAotI2RlZmluZSBSX01JUFNfR09UX0RJU1AJCTE5Ci0jZGVmaW5lIFJfTUlQU19HT1RfUEFHRQkJMjAKLSNkZWZpbmUgUl9NSVBTX0dPVF9PRlNUCQkyMQotI2RlZmluZSBSX01JUFNfR09UX0hJMTYJCTIyCi0jZGVmaW5lIFJfTUlQU19HT1RfTE8xNgkJMjMKLSNkZWZpbmUgUl9NSVBTX1NVQiAJCTI0Ci0jZGVmaW5lIFJfTUlQU19JTlNFUlRfQQkJMjUKLSNkZWZpbmUgUl9NSVBTX0lOU0VSVF9CCQkyNgotI2RlZmluZSBSX01JUFNfREVMRVRFCQkyNwotI2RlZmluZSBSX01JUFNfSElHSEVSCQkyOAotI2RlZmluZSBSX01JUFNfSElHSEVTVAkJMjkKLSNkZWZpbmUgUl9NSVBTX0NBTExfSEkxNgkzMAotI2RlZmluZSBSX01JUFNfQ0FMTF9MTzE2CTMxCi0jZGVmaW5lIFJfTUlQU19TQ05fRElTUAkJMzIKLSNkZWZpbmUgUl9NSVBTX1JFTDE2CQkzMwotI2RlZmluZSBSX01JUFNfQUREX0lNTUVESUFURQkzNAotI2RlZmluZSBSX01JUFNfUEpVTVAJCTM1Ci0jZGVmaW5lIFJfTUlQU19SRUxHT1QJCTM2Ci0jZGVmaW5lCVJfTUlQU19KQUxSCQkzNwotLyogVExTIHJlbG9jYXRpb25zICovCi0KLSNkZWZpbmUgUl9NSVBTX1RMU19EVFBNT0QzMgkzOAkvKiBNb2R1bGUgbnVtYmVyIDMyIGJpdCAqLwotI2RlZmluZSBSX01JUFNfVExTX0RUUFJFTDMyCTM5CS8qIE1vZHVsZS1yZWxhdGl2ZSBvZmZzZXQgMzIgYml0ICovCi0jZGVmaW5lIFJfTUlQU19UTFNfRFRQTU9ENjQJNDAJLyogTW9kdWxlIG51bWJlciA2NCBiaXQgKi8KLSNkZWZpbmUgUl9NSVBTX1RMU19EVFBSRUw2NAk0MQkvKiBNb2R1bGUtcmVsYXRpdmUgb2Zmc2V0IDY0IGJpdCAqLwotI2RlZmluZSBSX01JUFNfVExTX0dECQk0MgkvKiAxNiBiaXQgR09UIG9mZnNldCBmb3IgR0QgKi8KLSNkZWZpbmUgUl9NSVBTX1RMU19MRE0JCTQzCS8qIDE2IGJpdCBHT1Qgb2Zmc2V0IGZvciBMRE0gKi8KLSNkZWZpbmUgUl9NSVBTX1RMU19EVFBSRUxfSEkxNgk0NAkvKiBNb2R1bGUtcmVsYXRpdmUgb2Zmc2V0LCBoaWdoIDE2IGJpdHMgKi8KLSNkZWZpbmUgUl9NSVBTX1RMU19EVFBSRUxfTE8xNgk0NQkvKiBNb2R1bGUtcmVsYXRpdmUgb2Zmc2V0LCBsb3cgMTYgYml0cyAqLwotI2RlZmluZSBSX01JUFNfVExTX0dPVFRQUkVMCTQ2CS8qIDE2IGJpdCBHT1Qgb2Zmc2V0IGZvciBJRSAqLwotI2RlZmluZSBSX01JUFNfVExTX1RQUkVMMzIJNDcJLyogVFAtcmVsYXRpdmUgb2Zmc2V0LCAzMiBiaXQgKi8KLSNkZWZpbmUgUl9NSVBTX1RMU19UUFJFTDY0CTQ4CS8qIFRQLXJlbGF0aXZlIG9mZnNldCwgNjQgYml0ICovCi0jZGVmaW5lIFJfTUlQU19UTFNfVFBSRUxfSEkxNgk0OQkvKiBUUC1yZWxhdGl2ZSBvZmZzZXQsIGhpZ2ggMTYgYml0cyAqLwotI2RlZmluZSBSX01JUFNfVExTX1RQUkVMX0xPMTYJNTAJLyogVFAtcmVsYXRpdmUgb2Zmc2V0LCBsb3cgMTYgYml0cyAqLwotCi0jZGVmaW5lIFJfTUlQU19tYXgJCTUxCi0KLSNkZWZpbmUgUl9UWVBFKG5hbWUpCQlfX0NPTkNBVChSX01JUFNfLG5hbWUpCi0KLSNkZWZpbmUJUl9NSVBTMTZfbWluCQkxMDAKLSNkZWZpbmUJUl9NSVBTMTZfMjYJCTEwMAotI2RlZmluZQlSX01JUFMxNl9HUFJFTAkJMTAxCi0jZGVmaW5lCVJfTUlQUzE2X0dPVDE2CQkxMDIKLSNkZWZpbmUJUl9NSVBTMTZfQ0FMTDE2CQkxMDMKLSNkZWZpbmUJUl9NSVBTMTZfSEkxNgkJMTA0Ci0jZGVmaW5lCVJfTUlQUzE2X0xPMTYJCTEwNQotI2RlZmluZQlSX01JUFMxNl9tYXgJCTEwNgotCi0KLS8qIG1pcHMgZHluYW1pYyB0YWdzICovCi0KLSNkZWZpbmUgRFRfTUlQU19STERfVkVSU0lPTgkweDcwMDAwMDAxCi0jZGVmaW5lIERUX01JUFNfVElNRV9TVEFNUAkweDcwMDAwMDAyCi0jZGVmaW5lIERUX01JUFNfSUNIRUNLU1VNCTB4NzAwMDAwMDMKLSNkZWZpbmUgRFRfTUlQU19JVkVSU0lPTgkweDcwMDAwMDA0Ci0jZGVmaW5lIERUX01JUFNfRkxBR1MJCTB4NzAwMDAwMDUKLSNkZWZpbmUgRFRfTUlQU19CQVNFX0FERFJFU1MJMHg3MDAwMDAwNgotI2RlZmluZSBEVF9NSVBTX0NPTkZMSUNUCTB4NzAwMDAwMDgKLSNkZWZpbmUgRFRfTUlQU19MSUJMSVNUCQkweDcwMDAwMDA5Ci0jZGVmaW5lIERUX01JUFNfQ09ORkxJQ1ROTwkweDcwMDAwMDBiCi0jZGVmaW5lCURUX01JUFNfTE9DQUxfR09UTk8JMHg3MDAwMDAwYQkvKiBudW1iZXIgb2YgbG9jYWwgZ290IGVudHMgKi8KLSNkZWZpbmUgRFRfTUlQU19MSUJMSVNUTk8JMHg3MDAwMDAxMAotI2RlZmluZQlEVF9NSVBTX1NZTVRBQk5PCTB4NzAwMDAwMTEJLyogbnVtYmVyIG9mIC5keW5zeW0gZW50cmllcyAqLwotI2RlZmluZSBEVF9NSVBTX1VOUkVGRVhUTk8JMHg3MDAwMDAxMgotI2RlZmluZQlEVF9NSVBTX0dPVFNZTQkJMHg3MDAwMDAxMwkvKiBmaXJzdCBkeW5hbWljIHN5bSBpbiBnb3QgKi8KLSNkZWZpbmUgRFRfTUlQU19ISVBBR0VOTwkweDcwMDAwMDE0Ci0jZGVmaW5lCURUX01JUFNfUkxEX01BUAkJMHg3MDAwMDAxNgkvKiBhZGRyZXNzIG9mIGxvYWRlciBtYXAgKi8KLQotLyoKLSAqIEVMRiBGbGFncwotICovCi0jZGVmaW5lCUVGX01JUFNfUElDCQkweDAwMDAwMDAyCS8qIENvbnRhaW5zIFBJQyBjb2RlICovCi0jZGVmaW5lCUVGX01JUFNfQ1BJQwkJMHgwMDAwMDAwNAkvKiBTVEQgUElDIGNhbGxpbmcgc2VxdWVuY2UgKi8KLSNkZWZpbmUJRUZfTUlQU19BQkkyCQkweDAwMDAwMDIwCS8qIE4zMiAqLwotCi0jZGVmaW5lCUVGX01JUFNfQVJDSF9BU0UJMHgwZjAwMDAwMAkvKiBBcmNoaXRlY3R1cmFsIGV4dGVuc2lvbnMgKi8KLSNkZWZpbmUJRUZfTUlQU19BUkNIX01ETVgJMHgwODAwMDAwMAkvKiBNRE1YIG11bHRpbWVkaWEgZXh0ZW5zaW9uICovCi0jZGVmaW5lCUVGX01JUFNfQVJDSF9NMTYJMHgwNDAwMDAwMAkvKiBNSVBTLTE2IElTQSBleHRlbnNpb25zICovCi0KLSNkZWZpbmUJRUZfTUlQU19BUkNICQkweGYwMDAwMDAwCS8qIEFyY2hpdGVjdHVyZSBmaWVsZCAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfMQkJMHgwMDAwMDAwMAkvKiAtbWlwczEgY29kZSAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfMgkJMHgxMDAwMDAwMAkvKiAtbWlwczIgY29kZSAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfMwkJMHgyMDAwMDAwMAkvKiAtbWlwczMgY29kZSAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfNAkJMHgzMDAwMDAwMAkvKiAtbWlwczQgY29kZSAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfNQkJMHg0MDAwMDAwMAkvKiAtbWlwczUgY29kZSAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfMzIJCTB4NTAwMDAwMDAJLyogLW1pcHMzMiBjb2RlICovCi0jZGVmaW5lCUVGX01JUFNfQVJDSF82NAkJMHg2MDAwMDAwMAkvKiAtbWlwczY0IGNvZGUgKi8KLSNkZWZpbmUJRUZfTUlQU19BUkNIXzMyUjIJMHg3MDAwMDAwMAkvKiAtbWlwczMycjIgY29kZSAqLwotI2RlZmluZQlFRl9NSVBTX0FSQ0hfNjRSMgkweDgwMDAwMDAwCS8qIC1taXBzNjRyMiBjb2RlICovCi0KLSNkZWZpbmUJRUZfTUlQU19BQkkJCTB4MDAwMGYwMDAKLSNkZWZpbmUJRUZfTUlQU19BQklfTzMyCQkweDAwMDAxMDAwCi0jZGVmaW5lCUVGX01JUFNfQUJJX082NAkJMHgwMDAwMjAwMAotI2RlZmluZQlFRl9NSVBTX0FCSV9FQUJJMzIJMHgwMDAwMzAwMAotI2RlZmluZQlFRl9NSVBTX0FCSV9FQUJJNjQJMHgwMDAwNDAwMAotCi0jaWYgZGVmaW5lZChfX01JUFNFQl9fKQotI2RlZmluZQlFTEYzMl9NQUNIREVQX0VORElBTk5FU1MJRUxGREFUQTJNU0IKLSNkZWZpbmUJRUxGNjRfTUFDSERFUF9FTkRJQU5ORVNTCUVMRkRBVEEyTVNCCi0jZWxpZiBkZWZpbmVkKF9fTUlQU0VMX18pCi0jZGVmaW5lCUVMRjMyX01BQ0hERVBfRU5ESUFOTkVTUwlFTEZEQVRBMkxTQgotI2RlZmluZQlFTEY2NF9NQUNIREVQX0VORElBTk5FU1MJRUxGREFUQTJMU0IKLSNlbGlmICFkZWZpbmVkKEhBVkVfTkJUT09MX0NPTkZJR19IKQotI2Vycm9yIG5laXRoZXIgX19NSVBTRUxfXyBub3IgX19NSVBTRUJfXyBhcmUgZGVmaW5lZC4KLSNlbmRpZgotCi0jaWZkZWYgX0tFUk5FTAotI2lmZGVmIF9LRVJORUxfT1BUCi0jaW5jbHVkZSAib3B0X2NvbXBhdF9uZXRic2QuaCIKLSNlbmRpZgotI2lmZGVmIENPTVBBVF8xNgotLyoKLSAqIFVwIHRvIDEuNiwgdGhlIEVMRiBkeW5hbWljIGxvYWRlciAobGQuZWxmX3NvKSB3YXMgbm90IHJlbG9jYXRhYmxlLgotICogVGVsbCB0aGUga2VybmVsIEVMRiBleGVjIGNvZGUgbm90IHRvIHRyeSByZWxvY2F0aW5nIHRoZSBpbnRlcnByZXRlcgotICogZm9yIGR5bmFtaWNhbGx5LWxpbmtlZCBFTEYgYmluYXJpZXMuCi0gKi8KLSNkZWZpbmUgRUxGX0lOVEVSUF9OT05fUkVMT0NBVEFCTEUKLSNlbmRpZiAvKiBDT01QQVRfMTYgKi8KLQotLyoKLSAqIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBpbmNsdWRlIHRoZSBFTEYgaGVhZGVyIHNvIHdlIGNhbiBwaWNrIG91dCB0aGUKLSAqIEFCSSBiZWluZyB1c2VkLgotICovCi0jaWZkZWYgRUxGU0laRQotI2RlZmluZQlFTEZfTURfUFJPQkVfRlVOQwlFTEZOQU1FMihtaXBzX25ldGJzZCxwcm9iZSkKLSNkZWZpbmUJRUxGX01EX0NPUkVEVU1QX1NFVFVQCUVMRk5BTUUyKGNvcmVkdW1wLHNldHVwKQotI2VuZGlmCi0KLXN0cnVjdCBleGVjX3BhY2thZ2U7Ci0KLWludCBtaXBzX25ldGJzZF9lbGYzMl9wcm9iZShzdHJ1Y3QgbHdwICosIHN0cnVjdCBleGVjX3BhY2thZ2UgKiwgdm9pZCAqLCBjaGFyICosCi0JdmFkZHJfdCAqKTsKLXZvaWQgY29yZWR1bXBfZWxmMzJfc2V0dXAoc3RydWN0IGx3cCAqLCB2b2lkICopOwotCi1pbnQgbWlwc19uZXRic2RfZWxmNjRfcHJvYmUoc3RydWN0IGx3cCAqLCBzdHJ1Y3QgZXhlY19wYWNrYWdlICosIHZvaWQgKiwgY2hhciAqLAotCXZhZGRyX3QgKik7Ci12b2lkIGNvcmVkdW1wX2VsZjY0X3NldHVwKHN0cnVjdCBsd3AgKiwgdm9pZCAqKTsKLSNlbmRpZiAvKiBfS0VSTkVMICovCi0KLSNlbmRpZiAvKiBfTUlQU19FTEZfTUFDSERFUF9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmggYi9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDFhOTAwNC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLS8qCSRPcGVuQlNEOiBlbmRpYW4uaCx2IDEuNSAyMDA2LzAyLzI3IDIzOjM1OjU5IG1pb2QgRXhwICQgKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwMS0yMDAyIE9wc3ljb24gQUIgICh3d3cub3BzeWNvbi5zZSAvIHd3dy5vcHN5Y29uLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUwotICogT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqCi0gKi8KLQotI2lmbmRlZiBfTUlQUzY0X0VORElBTl9IXwotI2RlZmluZSBfTUlQUzY0X0VORElBTl9IXwotCi0jaWZkZWYgX19HTlVDX18KLQotI2lmIGRlZmluZWQoX19taXBzX2lzYV9yZXYpICYmIChfX21pcHNfaXNhX3JldiA+PSAyKQotI2RlZmluZSBfX3N3YXAxNm1kKHgpICh7CQkJCQlcCi0gICAgcmVnaXN0ZXIgdWludDE2X3QgX3ggPSAoeCk7CQkJCQlcCi0gICAgcmVnaXN0ZXIgdWludDE2X3QgX3I7CQkJCQlcCi0gICAgX19hc20gdm9sYXRpbGUgKCJ3c2JoICUwLCAlMSIgOiAiPXIiIChfcikgOiAiciIgKF94KSk7CVwKLSAgICBfcjsJCQkJCQkJCVwKLX0pCi0KLSNkZWZpbmUgX19zd2FwMzJtZCh4KSAoewkJCQkJXAotICAgIHJlZ2lzdGVyIHVpbnQzMl90IF94ID0gKHgpOwkJCQkJXAotICAgIHJlZ2lzdGVyIHVpbnQzMl90IF9yOwkJCQkJXAotICAgIF9fYXNtIHZvbGF0aWxlICgid3NiaCAlMCwgJTE7IHJvdHIgJTAsICUwLCAxNiIgOiAiPXIiIChfcikgOiAiciIgKF94KSk7IFwKLSAgICBfcjsJCQkJCQkJCVwKLX0pCi0KLSNkZWZpbmUgX19zd2FwNjRtZCh4KSAoewkJCQkJXAotICAgIHVpbnQ2NF90IF9zd2FwNjRtZF94ID0gKHgpOwkJCQkJXAotICAgICh1aW50NjRfdCkgX19zd2FwMzJtZChfc3dhcDY0bWRfeCA+PiAzMikgfAkJCVwKLSAgICAgICAgKHVpbnQ2NF90KSBfX3N3YXAzMm1kKF9zd2FwNjRtZF94ICYgMHhmZmZmZmZmZikgPDwgMzI7CVwKLX0pCi0KLS8qIFRlbGwgc3lzL2VuZGlhbi5oIHdlIGhhdmUgTUQgdmFyaWFudHMgb2YgdGhlIHN3YXAgbWFjcm9zLiAgKi8KLSNkZWZpbmUgTURfU1dBUAotCi0jZW5kaWYgIC8qIF9fbWlwczMycjJfXyAqLwotI2VuZGlmICAvKiBfX0dOVUNfXyAqLwotCi0jaWYgZGVmaW5lZChfX01JUFNFQl9fKQotI2RlZmluZSBfQllURV9PUkRFUiBfQklHX0VORElBTgotI2Vsc2UKLSNkZWZpbmUgX0JZVEVfT1JERVIgX0xJVFRMRV9FTkRJQU4KLSNlbmRpZgotI2RlZmluZSBfX1NUUklDVF9BTElHTk1FTlQKLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvZW5kaWFuLmg+Ci0KLSNlbmRpZiAvKiBfTUlQUzY0X0VORElBTl9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvZXhlYy5oIGIvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvZXhlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzYzZjc0Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL2V4ZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDE4OCArMCwwIEBACi0vKgkkT3BlbkJTRDogZXhlYy5oLHYgMS4xIDIwMDQvMTAvMTggMTk6MDU6MzYgZ3JhbmdlIEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTYtMjAwNCBQZXIgRm9nZWxzdHJvbSwgT3BzeWNvbiBBQgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTCi0gKiBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqLwotCi0jaWZuZGVmIF9NSVBTNjRfRVhFQ19IXwotI2RlZmluZSBfTUlQUzY0X0VYRUNfSF8KLQotI2RlZmluZQlfX0xEUEdTWgk0MDk2Ci0KLS8qCi0gKiAgRGVmaW5lIHdoYXQgZXhlYyAiZm9ybWF0cyIgd2Ugc2hvdWxkIGhhbmRsZS4KLSAqLwotI2RlZmluZSBOQVRJVkVfRVhFQ19FTEYKLSNkZWZpbmUgTkFUSVZFX0VMRlNJWkUgNjQKLSNkZWZpbmUJRVhFQ19TQ1JJUFQKLQotLyoKLSAqICBJZiBpbmNsdWRlZCBmcm9tIHN5cy9leGVjLmggZGVmaW5lIGtlcm5lbHMgRUxGIGZvcm1hdC4KLSAqLwotI2lmZGVmIF9fTFA2NF9fCi0jZGVmaW5lCUFSQ0hfRUxGU0laRSA2NAotI2RlZmluZSBEQl9FTEZTSVpFIDY0Ci0jZGVmaW5lIEVMRl9UQVJHX0NMQVNTICBFTEZDTEFTUzY0Ci0jZWxzZQotI2RlZmluZQlBUkNIX0VMRlNJWkUgMzIKLSNkZWZpbmUgREJfRUxGU0laRSAzMgotI2RlZmluZSBFTEZfVEFSR19DTEFTUyAgRUxGQ0xBU1MzMgotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pCi0jZGVmaW5lIEVMRl9UQVJHX0RBVEEJCUVMRkRBVEEyTVNCCi0jZWxzZQotI2RlZmluZSBFTEZfVEFSR19EQVRBCQlFTEZEQVRBMkxTQgotI2VuZGlmCi0jZGVmaW5lIEVMRl9UQVJHX01BQ0gJCUVNX01JUFMKLQotI2RlZmluZSBfTkxJU1RfRE9fRUxGCi0KLSNpZiBkZWZpbmVkKF9MUDY0KQotI2RlZmluZSBfS0VSTl9ET19FTEY2NAotI2lmIGRlZmluZWQoQ09NUEFUX08zMikKLSNkZWZpbmUgX0tFUk5fRE9fRUxGCi0jZW5kaWYKLSNlbHNlCi0jZGVmaW5lIF9LRVJOX0RPX0VMRgotI2VuZGlmCi0KLS8qIEluZm9ybWF0aW9uIHRha2VuIGZyb20gTUlQUyBBQkkgc3VwcGxlbWVudGFsICovCi0KLS8qIEFyY2hpdGVjdHVyZSBkZXBlbmRlbnQgU2VnbWVudCB0eXBlcyAtIHBfdHlwZSAqLwotI2RlZmluZSBQVF9NSVBTX1JFR0lORk8gMHg3MDAwMDAwMCAgICAgIC8qIFJlZ2lzdGVyIHVzYWdlIGluZm9ybWF0aW9uICovCi0KLS8qIEFyY2hpdGVjdHVyZSBkZXBlbmRlbnQgZF90YWcgZmllbGQgZm9yIEVsZjMyX0R5bi4gICovCi0jZGVmaW5lIERUX01JUFNfUkxEX1ZFUlNJT04gIDB4NzAwMDAwMDEgLyogUnVudGltZSBMaW5rZXIgSW50ZXJmYWNlIElEICovCi0jZGVmaW5lIERUX01JUFNfVElNRV9TVEFNUCAgIDB4NzAwMDAwMDIgLyogVGltZXN0YW1wICovCi0jZGVmaW5lIERUX01JUFNfSUNIRUNLU1VNICAgIDB4NzAwMDAwMDMgLyogQ2tzdW0gb2YgZXh0LiBzdHIuIGFuZCBjb20uIHNpemVzICovCi0jZGVmaW5lIERUX01JUFNfSVZFUlNJT04gICAgIDB4NzAwMDAwMDQgLyogVmVyc2lvbiBzdHJpbmcgKHN0cmluZyB0YmwgaW5kZXgpICovCi0jZGVmaW5lIERUX01JUFNfRkxBR1MgICAgICAgIDB4NzAwMDAwMDUgLyogRmxhZ3MgKi8KLSNkZWZpbmUgRFRfTUlQU19CQVNFX0FERFJFU1MgMHg3MDAwMDAwNiAvKiBTZWdtZW50IGJhc2UgYWRkcmVzcyAqLwotI2RlZmluZSBEVF9NSVBTX0NPTkZMSUNUICAgICAweDcwMDAwMDA4IC8qIEFkciBvZiAuY29uZmxpY3Qgc2VjdGlvbiAqLwotI2RlZmluZSBEVF9NSVBTX0xJQkxJU1QgICAgICAweDcwMDAwMDA5IC8qIEFkZHJlc3Mgb2YgLmxpYmxpc3Qgc2VjdGlvbiAqLwotI2RlZmluZSBEVF9NSVBTX0xPQ0FMX0dPVE5PICAweDcwMDAwMDBhIC8qIE51bWJlciBvZiBsb2NhbCAuR09UIGVudHJpZXMgKi8KLSNkZWZpbmUgRFRfTUlQU19DT05GTElDVE5PICAgMHg3MDAwMDAwYiAvKiBOdW1iZXIgb2YgLmNvbmZsaWN0IGVudHJpZXMgKi8KLSNkZWZpbmUgRFRfTUlQU19MSUJMSVNUTk8gICAgMHg3MDAwMDAxMCAvKiBOdW1iZXIgb2YgLmxpYmxpc3QgZW50cmllcyAqLwotI2RlZmluZSBEVF9NSVBTX1NZTVRBQk5PICAgICAweDcwMDAwMDExIC8qIE51bWJlciBvZiAuZHluc3ltIGVudHJpZXMgKi8KLSNkZWZpbmUgRFRfTUlQU19VTlJFRkVYVE5PICAgMHg3MDAwMDAxMiAvKiBGaXJzdCBleHRlcm5hbCBEWU5TWU0gKi8KLSNkZWZpbmUgRFRfTUlQU19HT1RTWU0gICAgICAgMHg3MDAwMDAxMyAvKiBGaXJzdCBHT1QgZW50cnkgaW4gLmR5bnN5bSAqLwotI2RlZmluZSBEVF9NSVBTX0hJUEFHRU5PICAgICAweDcwMDAwMDE0IC8qIE51bWJlciBvZiBHT1QgcGFnZSB0YWJsZSBlbnRyaWVzICovCi0jZGVmaW5lIERUX01JUFNfUkxEX01BUCAgICAgIDB4NzAwMDAwMTYgLyogQWRkcmVzcyBvZiBkZWJ1ZyBtYXAgcG9pbnRlciAqLwotCi0jZGVmaW5lIERUX1BST0NOVU0gKERUX01JUFNfUkxEX01BUCAtIERUX0xPUFJPQyArIDEpCi0KLS8qCi0gKiBMZWdhbCB2YWx1ZXMgZm9yIGVfZmxhZ3MgZmllbGQgb2YgRWxmMzJfRWhkci4KLSAqLwotI2RlZmluZSBFRl9NSVBTX05PUkVPUkRFUgkweDAwMDAwMDAxCS8qIC5ub3Jlb3JkZXIgd2FzIHVzZWQgKi8KLSNkZWZpbmUgRUZfTUlQU19QSUMJCTB4MDAwMDAwMDIJLyogQ29udGFpbnMgUElDIGNvZGUgKi8KLSNkZWZpbmUgRUZfTUlQU19DUElDCQkweDAwMDAwMDA0CS8qIFVzZXMgUElDIGNhbGxpbmcgc2VxdWVuY2UgKi8KLSNkZWZpbmUJRUZfTUlQU19BQkkyCQkweDAwMDAwMDIwCS8qIC1uMzIgb24gSXJpeCA2ICovCi0jZGVmaW5lCUVGX01JUFNfMzJCSVRNT0RFCTB4MDAwMDAxMDAJLyogNjQgYml0IGluIDMyIGJpdCBtb2RlLi4uICovCi0jZGVmaW5lIEVGX01JUFNfQVJDSAkJMHhmMDAwMDAwMAkvKiBNSVBTIGFyY2hpdGVjdHVyZSBsZXZlbCAqLwotI2RlZmluZQlFX01JUFNfQVJDSF8xCQkweDAwMDAwMDAwCi0jZGVmaW5lCUVfTUlQU19BUkNIXzIJCTB4MTAwMDAwMDAKLSNkZWZpbmUJRV9NSVBTX0FSQ0hfMwkJMHgyMDAwMDAwMAotI2RlZmluZQlFX01JUFNfQVJDSF80CQkweDMwMDAwMDAwCi0jZGVmaW5lCUVGX01JUFNfQUJJCQkweDAwMDBmMDAwCS8qIEFCSSBsZXZlbCAqLwotI2RlZmluZQlFX01JUFNfQUJJX05PTkUJCTB4MDAwMDAwMDAJLyogQUJJIGxldmVsIG5vdCBzZXQgKi8KLSNkZWZpbmUJRV9NSVBTX0FCSV9PMzIJCTB4MDAwMDEwMDAKLSNkZWZpbmUJRV9NSVBTX0FCSV9PNjQJCTB4MDAwMDIwMDAKLSNkZWZpbmUJRV9NSVBTX0FCSV9FQUJJMzIJMHgwMDAwNDAwMAotI2RlZmluZQlFX01JUFNfQUJJX0VBQkk2NAkweDAwMDA0MDAwCi0KLS8qCi0gKiBNaXBzIHNwZWNpYWwgc2VjdGlvbnMuCi0gKi8KLSNkZWZpbmUJU0hOX01JUFNfQUNPTU1PTgkweGZmMDAJCS8qIEFsbG9jYXRlZCBjb21tb24gc3ltYm9scyAqLwotI2RlZmluZQlTSE5fTUlQU19TQ09NTU9OCTB4ZmYwMwkJLyogU21hbGwgY29tbW9uIHN5bWJvbHMgKi8KLSNkZWZpbmUJU0hOX01JUFNfU1VOREVGSU5FRAkweGZmMDQJCS8qIFNtYWxsIHVuZGVmaW5lZCBzeW1ib2xzICovCi0KLS8qCi0gKiBMZWdhbCB2YWx1ZXMgZm9yIHNoX3R5cGUgZmllbGQgb2YgRWxmMzJfU2hkci4KLSAqLwotI2RlZmluZQlTSFRfTUlQU19MSUJMSVNUICAweDcwMDAwMDAwCS8qIFNoYXJlZCBvYmplY3RzIHVzZWQgaW4gbGluayAqLwotI2RlZmluZQlTSFRfTUlQU19DT05GTElDVCAweDcwMDAwMDAyCS8qIENvbmZsaWN0aW5nIHN5bWJvbHMgKi8KLSNkZWZpbmUJU0hUX01JUFNfR1BUQUIgICAgMHg3MDAwMDAwMwkvKiBHbG9iYWwgZGF0YSBhcmVhIHNpemVzICovCi0jZGVmaW5lCVNIVF9NSVBTX1VDT0RFICAgIDB4NzAwMDAwMDQJLyogUmVzZXJ2ZWQgZm9yIFNHSS9NSVBTIGNvbXBpbGVycyAqLwotI2RlZmluZQlTSFRfTUlQU19ERUJVRyAgICAweDcwMDAwMDA1CS8qIE1JUFMgRUNPRkYgZGVidWdnaW5nIGluZm9ybWF0aW9uICovCi0jZGVmaW5lCVNIVF9NSVBTX1JFR0lORk8gIDB4NzAwMDAwMDYJLyogUmVnaXN0ZXIgdXNhZ2UgaW5mb3JtYXRpb24gKi8KLQotLyoKLSAqIExlZ2FsIHZhbHVlcyBmb3Igc2hfZmxhZ3MgZmllbGQgb2YgRWxmMzJfU2hkci4KLSAqLwotI2RlZmluZQlTSEZfTUlQU19HUFJFTAkweDEwMDAwMDAwCS8qIE11c3QgYmUgcGFydCBvZiBnbG9iYWwgZGF0YSBhcmVhICovCi0KLSNpZiAwCi0vKgotICogRW50cmllcyBmb3VuZCBpbiBzZWN0aW9ucyBvZiB0eXBlIFNIVF9NSVBTX0dQVEFCLgotICovCi10eXBlZGVmIHVuaW9uIHsKLQlzdHJ1Y3QgewotCQlFbGYzMl9Xb3JkIGd0X2N1cnJlbnRfZ192YWx1ZTsJLyogLUcgdmFsIHVzZWQgaW4gY29tcGlsYXRpb24gKi8KLQkJRWxmMzJfV29yZCBndF91bnVzZWQ7CS8qIE5vdCB1c2VkICovCi0JfSBndF9oZWFkZXI7CQkJLyogRmlyc3QgZW50cnkgaW4gc2VjdGlvbiAqLwotCXN0cnVjdCB7Ci0JCUVsZjMyX1dvcmQgZ3RfZ192YWx1ZTsJLyogSWYgdGhpcyB2YWwgd2VyZSB1c2VkIGZvciAtRyAqLwotCQlFbGYzMl9Xb3JkIGd0X2J5dGVzOwkvKiBUaGlzIG1hbnkgYnl0ZXMgd291bGQgYmUgdXNlZCAqLwotCX0gZ3RfZW50cnk7CQkJLyogU3Vic2VxdWVudCBlbnRyaWVzIGluIHNlY3Rpb24gKi8KLX0gRWxmMzJfZ3B0YWI7Ci0KLS8qCi0gKiBFbnRyeSBmb3VuZCBpbiBzZWN0aW9ucyBvZiB0eXBlIFNIVF9NSVBTX1JFR0lORk8uCi0gKi8KLXR5cGVkZWYgc3RydWN0IHsKLQlFbGYzMl9Xb3JkCXJpX2dwcm1hc2s7CS8qIEdlbmVyYWwgcmVnaXN0ZXJzIHVzZWQgKi8KLQlFbGYzMl9Xb3JkCXJpX2Nwcm1hc2tbNF07CS8qIENvcHJvY2Vzc29yIHJlZ2lzdGVycyB1c2VkICovCi0JRWxmMzJfU3dvcmQJcmlfZ3BfdmFsdWU7CS8qICRncCByZWdpc3RlciB2YWx1ZSAqLwotfSBFbGYzMl9SZWdJbmZvOwotI2VuZGlmCi0KLQotLyoKLSAqIE1pcHMgcmVsb2NhdGlvbnMuCi0gKi8KLQotI2RlZmluZQlSX01JUFNfTk9ORQkwCS8qIE5vIHJlbG9jICovCi0jZGVmaW5lCVJfTUlQU18xNgkxCS8qIERpcmVjdCAxNiBiaXQgKi8KLSNkZWZpbmUJUl9NSVBTXzMyCTIJLyogRGlyZWN0IDMyIGJpdCAqLwotI2RlZmluZQlSX01JUFNfUkVMMzIJMwkvKiBQQyByZWxhdGl2ZSAzMiBiaXQgKi8KLSNkZWZpbmUJUl9NSVBTXzI2CTQJLyogRGlyZWN0IDI2IGJpdCBzaGlmdGVkICovCi0jZGVmaW5lCVJfTUlQU19ISTE2CTUJLyogSGlnaCAxNiBiaXQgKi8KLSNkZWZpbmUJUl9NSVBTX0xPMTYJNgkvKiBMb3cgMTYgYml0ICovCi0jZGVmaW5lCVJfTUlQU19HUFJFTDE2CTcJLyogR1AgcmVsYXRpdmUgMTYgYml0ICovCi0jZGVmaW5lCVJfTUlQU19MSVRFUkFMCTgJLyogMTYgYml0IGxpdGVyYWwgZW50cnkgKi8KLSNkZWZpbmUJUl9NSVBTX0dPVDE2CTkJLyogMTYgYml0IEdPVCBlbnRyeSAqLwotI2RlZmluZQlSX01JUFNfUEMxNgkxMAkvKiBQQyByZWxhdGl2ZSAxNiBiaXQgKi8KLSNkZWZpbmUJUl9NSVBTX0NBTEwxNgkxMQkvKiAxNiBiaXQgR09UIGVudHJ5IGZvciBmdW5jdGlvbiAqLwotI2RlZmluZQlSX01JUFNfR1BSRUwzMgkxMgkvKiBHUCByZWxhdGl2ZSAzMiBiaXQgKi8KLQotI2RlZmluZQlSX01JUFNfNjQJMTgKLQotI2RlZmluZQlSX01JUFNfUkVMMzJfNjQJKChSX01JUFNfNjQgPDwgOCkgfCBSX01JUFNfUkVMMzIpCi0KLQotI2VuZGlmCS8qICFfTUlQUzY0X0VYRUNfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL3JlZ2RlZi5oIGIvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvcmVnZGVmLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhN2NkNjguLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvcmVnZGVmLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0vKgkkT3BlbkJTRDogcmVnZGVmLmgsdiAxLjMgMjAwNS8wOC8wNyAwNzoyOTo0NCBtaW9kIEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTIsIDE5OTMKLSAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKLSAqIFJhbHBoIENhbXBiZWxsLiBUaGlzIGZpbGUgaXMgZGVyaXZlZCBmcm9tIHRoZSBNSVBTIFJJU0MKLSAqIEFyY2hpdGVjdHVyZSBib29rIGJ5IEdlcnJ5IEthbmUuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqCUAoIylyZWdkZWYuaAk4LjEgKEJlcmtlbGV5KSA2LzEwLzkzCi0gKi8KLSNpZm5kZWYgX01JUFNfUkVHREVGX0hfCi0jZGVmaW5lIF9NSVBTX1JFR0RFRl9IXwotCi0jaWYgKF9NSVBTX1NJTSA9PSBfQUJJNjQpICYmICFkZWZpbmVkKF9fbWlwc19uNjQpCi0jZGVmaW5lIF9fbWlwc19uNjQgMQotI2VuZGlmCi0jaWYgKF9NSVBTX1NJTSA9PSBfQUJJTjMyKSAmJiAgIWRlZmluZWQoX19taXBzX24zMikKLSNkZWZpbmUgX19taXBzX24zMiAxCi0jZW5kaWYKLQotI2RlZmluZSB6ZXJvCSQwCS8qIGFsd2F5cyB6ZXJvICovCi0jZGVmaW5lIEFUCSRhdAkvKiBhc3NlbWJsZXIgdGVtcCAqLwotI2RlZmluZSB2MAkkMgkvKiByZXR1cm4gdmFsdWUgKi8KLSNkZWZpbmUgdjEJJDMKLSNkZWZpbmUgYTAJJDQJLyogYXJndW1lbnQgcmVnaXN0ZXJzICovCi0jZGVmaW5lIGExCSQ1Ci0jZGVmaW5lIGEyCSQ2Ci0jZGVmaW5lIGEzCSQ3Ci0jaWYgZGVmaW5lZChfX21pcHNfbjMyKSB8fCBkZWZpbmVkKF9fbWlwc19uNjQpCi0jZGVmaW5lIGE0CSQ4CS8qIGV4cGFuZGVkIHJlZ2lzdGVyIGFyZ3VtZW50cyAqLwotI2RlZmluZSBhNQkkOQotI2RlZmluZSBhNgkkMTAKLSNkZWZpbmUgYTcJJDExCi0jZGVmaW5lIHRhMAkkOAkvKiBhbGlhcyAqLwotI2RlZmluZSB0YTEJJDkKLSNkZWZpbmUgdGEyCSQxMAotI2RlZmluZSB0YTMJJDExCi0jZGVmaW5lIHQwCSQxMgkvKiB0ZW1wIHJlZ2lzdGVycyAobm90IHNhdmVkIGFjcm9zcyBzdWJyb3V0aW5lIGNhbGxzKSAqLwotI2RlZmluZSB0MQkkMTMKLSNkZWZpbmUgdDIJJDE0Ci0jZGVmaW5lIHQzCSQxNQotI2Vsc2UKLSNkZWZpbmUgdDAJJDgJLyogdGVtcCByZWdpc3RlcnMgKG5vdCBzYXZlZCBhY3Jvc3Mgc3Vicm91dGluZSBjYWxscykgKi8KLSNkZWZpbmUgdDEJJDkKLSNkZWZpbmUgdDIJJDEwCi0jZGVmaW5lIHQzCSQxMQotI2RlZmluZSB0NAkkMTIKLSNkZWZpbmUgdDUJJDEzCi0jZGVmaW5lIHQ2CSQxNAotI2RlZmluZSB0NwkkMTUKLSNkZWZpbmUgdGEwCSQxMgkvKiBhbGlhcyAqLwotI2RlZmluZSB0YTEJJDEzCi0jZGVmaW5lIHRhMgkkMTQKLSNkZWZpbmUgdGEzCSQxNQotI2VuZGlmCi0jZGVmaW5lIHMwCSQxNgkvKiBzYXZlZCBhY3Jvc3Mgc3Vicm91dGluZSBjYWxscyAoY2FsbGVlIHNhdmVkKSAqLwotI2RlZmluZSBzMQkkMTcKLSNkZWZpbmUgczIJJDE4Ci0jZGVmaW5lIHMzCSQxOQotI2RlZmluZSBzNAkkMjAKLSNkZWZpbmUgczUJJDIxCi0jZGVmaW5lIHM2CSQyMgotI2RlZmluZSBzNwkkMjMKLSNkZWZpbmUgdDgJJDI0CS8qIHR3byBtb3JlIHRlbXAgcmVnaXN0ZXJzICovCi0jZGVmaW5lIHQ5CSQyNQotI2RlZmluZSBrMAkkMjYJLyoga2VybmVsIHRlbXBvcmFyeSAqLwotI2RlZmluZSBrMQkkMjcKLSNkZWZpbmUgZ3AJJDI4CS8qIGdsb2JhbCBwb2ludGVyICovCi0jZGVmaW5lIHNwCSQyOQkvKiBzdGFjayBwb2ludGVyICovCi0jZGVmaW5lIHM4CSQzMAkvKiBvbmUgbW9yZSBjYWxsZWUgc2F2ZWQgKi8KLSNkZWZpbmUgcmEJJDMxCS8qIHJldHVybiBhZGRyZXNzICovCi0KLSNlbmRpZiAvKiAhX01JUFNfUkVHREVGX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9yZWdudW0uaCBiL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL3JlZ251bS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZmUxMjgwLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL3JlZ251bS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLS8qCSRPcGVuQlNEOiByZWdudW0uaCx2IDEuMyAyMDA0LzA4LzEwIDIwOjI4OjEzIGRlcmFhZHQgRXhwICQgKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwMS0yMDAyIE9wc3ljb24gQUIgICh3d3cub3BzeWNvbi5zZSAvIHd3dy5vcHN5Y29uLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUwotICogT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqCi0gKi8KLQotI2lmbmRlZiBfTUlQUzY0X1JFR05VTV9IXwotI2RlZmluZSBfTUlQUzY0X1JFR05VTV9IXwotCi0vKgotICogTG9jYXRpb24gb2YgdGhlIHNhdmVkIHJlZ2lzdGVycyByZWxhdGl2ZSB0byBaRVJPLgotICogVXNhZ2UgaXMgcC0+cF9yZWdzW1hYXS4KLSAqLwotI2RlZmluZSBaRVJPCTAKLSNkZWZpbmUgQVNUCTEKLSNkZWZpbmUgVjAJMgotI2RlZmluZSBWMQkzCi0jZGVmaW5lIEEwCTQKLSNkZWZpbmUgQTEJNQotI2RlZmluZSBBMgk2Ci0jZGVmaW5lIEEzCTcKLSNkZWZpbmUgVDAJOAotI2RlZmluZSBUMQk5Ci0jZGVmaW5lIFQyCTEwCi0jZGVmaW5lIFQzCTExCi0jZGVmaW5lIFQ0CTEyCi0jZGVmaW5lIFQ1CTEzCi0jZGVmaW5lIFQ2CTE0Ci0jZGVmaW5lIFQ3CTE1Ci0jZGVmaW5lIFMwCTE2Ci0jZGVmaW5lIFMxCTE3Ci0jZGVmaW5lIFMyCTE4Ci0jZGVmaW5lIFMzCTE5Ci0jZGVmaW5lIFM0CTIwCi0jZGVmaW5lIFM1CTIxCi0jZGVmaW5lIFM2CTIyCi0jZGVmaW5lIFM3CTIzCi0jZGVmaW5lIFQ4CTI0Ci0jZGVmaW5lIFQ5CTI1Ci0jZGVmaW5lIEswCTI2Ci0jZGVmaW5lIEsxCTI3Ci0jZGVmaW5lIEdQCTI4Ci0jZGVmaW5lIFNQCTI5Ci0jZGVmaW5lIFM4CTMwCi0jZGVmaW5lIFJBCTMxCi0jZGVmaW5lCVNSCTMyCi0jZGVmaW5lCVBTCVNSCS8qIGFsaWFzIGZvciBTUiAqLwotI2RlZmluZSBNVUxMTwkzMwotI2RlZmluZSBNVUxISQkzNAotI2RlZmluZSBCQURWQUREUiAzNQotI2RlZmluZSBDQVVTRQkzNgotI2RlZmluZQlQQwkzNwotI2RlZmluZQlJQwkzOAotI2RlZmluZQlDUEwJMzkKLQotI2RlZmluZQlOVU1TQVZFUkVHUyA0MAkJLyogTnVtYmVyIG9mIHJlZ2lzdGVycyBzYXZlZCBpbiB0cmFwICovCi0KLSNkZWZpbmUgRlBCQVNFCU5VTVNBVkVSRUdTCi0jZGVmaW5lIEYwCShGUEJBU0UrMCkKLSNkZWZpbmUgRjEJKEZQQkFTRSsxKQotI2RlZmluZSBGMgkoRlBCQVNFKzIpCi0jZGVmaW5lIEYzCShGUEJBU0UrMykKLSNkZWZpbmUgRjQJKEZQQkFTRSs0KQotI2RlZmluZSBGNQkoRlBCQVNFKzUpCi0jZGVmaW5lIEY2CShGUEJBU0UrNikKLSNkZWZpbmUgRjcJKEZQQkFTRSs3KQotI2RlZmluZSBGOAkoRlBCQVNFKzgpCi0jZGVmaW5lIEY5CShGUEJBU0UrOSkKLSNkZWZpbmUgRjEwCShGUEJBU0UrMTApCi0jZGVmaW5lIEYxMQkoRlBCQVNFKzExKQotI2RlZmluZSBGMTIJKEZQQkFTRSsxMikKLSNkZWZpbmUgRjEzCShGUEJBU0UrMTMpCi0jZGVmaW5lIEYxNAkoRlBCQVNFKzE0KQotI2RlZmluZSBGMTUJKEZQQkFTRSsxNSkKLSNkZWZpbmUgRjE2CShGUEJBU0UrMTYpCi0jZGVmaW5lIEYxNwkoRlBCQVNFKzE3KQotI2RlZmluZSBGMTgJKEZQQkFTRSsxOCkKLSNkZWZpbmUgRjE5CShGUEJBU0UrMTkpCi0jZGVmaW5lIEYyMAkoRlBCQVNFKzIwKQotI2RlZmluZSBGMjEJKEZQQkFTRSsyMSkKLSNkZWZpbmUgRjIyCShGUEJBU0UrMjIpCi0jZGVmaW5lIEYyMwkoRlBCQVNFKzIzKQotI2RlZmluZSBGMjQJKEZQQkFTRSsyNCkKLSNkZWZpbmUgRjI1CShGUEJBU0UrMjUpCi0jZGVmaW5lIEYyNgkoRlBCQVNFKzI2KQotI2RlZmluZSBGMjcJKEZQQkFTRSsyNykKLSNkZWZpbmUgRjI4CShGUEJBU0UrMjgpCi0jZGVmaW5lIEYyOQkoRlBCQVNFKzI5KQotI2RlZmluZSBGMzAJKEZQQkFTRSszMCkKLSNkZWZpbmUgRjMxCShGUEJBU0UrMzEpCi0jZGVmaW5lCUZTUgkoRlBCQVNFKzMyKQotCi0jZGVmaW5lCU5VTUZQUkVHUyAzMwotCi0jZGVmaW5lCU5SRUdTCShOVU1TQVZFUkVHUyArIE5VTUZQUkVHUykKLQotI2VuZGlmIC8qICFfTUlQUzY0X1JFR05VTV9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9pbmNsdWRlL21hY2hpbmUvc2V0am1wLmggYi9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9zZXRqbXAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTViYTdiZS4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9zZXRqbXAuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS8qCSRPcGVuQlNEOiBzZXRqbXAuaCx2IDEuMiAyMDA0LzA4LzEwIDIxOjEwOjU2IHBlZm8gRXhwICQJKi8KLQotLyogUHVibGljIGRvbWFpbiAqLwotCi0jaWZuZGVmIF9NSVBTX1NFVEpNUF9IXwotI2RlZmluZSBfTUlQU19TRVRKTVBfSF8KLQotI2RlZmluZQlfSkJMRU4JMTU3CQkvKiBzaXplLCBpbiBsb25ncywgb2YgYSBqbXBfYnVmICovCi0KLSNlbmRpZiAvKiAhX01JUFNfU0VUSk1QX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L2luY2x1ZGUvbWFjaGluZS9zaWduYWwuaCBiL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL3NpZ25hbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzE3MTVjLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvaW5jbHVkZS9tYWNoaW5lL3NpZ25hbC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoJJE9wZW5CU0Q6IHNpZ25hbC5oLHYgMS44IDIwMDYvMDEvMDkgMTg6MTg6MzcgbWlsbGVydCBFeHAgJAkqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAxOTkyLCAxOTkzCi0gKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5Ci0gKiBSYWxwaCBDYW1wYmVsbC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKgotICoJQCgjKXNpZ25hbC5oCTguMSAoQmVya2VsZXkpIDYvMTAvOTMKLSAqLwotCi0jaWZuZGVmIF9NSVBTX1NJR05BTF9IXwotI2RlZmluZSBfTUlQU19TSUdOQUxfSF8KLQotI2RlZmluZQlTQ19SRUdNQVNLCSgwKlJFR1NaKQotI2RlZmluZQlTQ19TVEFUVVMJKDEqUkVHU1opCi0jZGVmaW5lCVNDX1BDCQkoMipSRUdTWikKLSNkZWZpbmUJU0NfUkVHUwkJKFNDX1BDKzgpCi0jZGVmaW5lCVNDX0ZQUkVHUwkoU0NfUkVHUyszMio4KQotI2RlZmluZQlTQ19BQ1gJCShTQ19GUFJFR1MrMzIqUkVHU1pfRlApCi0jZGVmaW5lCVNDX1VTRURfTUFUSAkoU0NfQUNYKzMqUkVHU1opCi0vKiBPcGVuQlNEIGNvbXBhdGliaWxpdHkgKi8KLSNkZWZpbmUJU0NfTUFTSwkJU0NfUkVHTUFTSwotI2RlZmluZQlTQ19GUFVTRUQJU0NfVVNFRF9NQVRICi0KLSNlbmRpZgkvKiAhX01JUFNfU0lHTkFMX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L21pcHM2NC5tayBiL2xpYmMvYXJjaC1taXBzNjQvbWlwczY0Lm1rCmluZGV4IDBkNGI3MjcuLjJiODFlNjMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvbWlwczY0Lm1rCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvbWlwczY0Lm1rCkBAIC05LDE1ICs5LDEzIEBACiAgICAgYmlvbmljL19fbWVtc2V0X2Noay5jcHAgXAogICAgIGJpb25pYy9fX3N0cmNweV9jaGsuY3BwIFwKICAgICBiaW9uaWMvX19zdHJjYXRfY2hrLmNwcCBcCi0gICAgYmlvbmljL21lbWNoci5jIFwKLSAgICBiaW9uaWMvbWVtY21wLmMgXAotICAgIGJpb25pYy9tZW1jcHkuY3BwIFwKLSAgICBiaW9uaWMvbWVtbW92ZS5jIFwKLSAgICBiaW9uaWMvbWVtcmNoci5jIFwKLSAgICBiaW9uaWMvbWVtc2V0LmMgXAogICAgIGJpb25pYy9zdHJjaHIuY3BwIFwKICAgICBiaW9uaWMvc3Rybmxlbi5jIFwKICAgICBiaW9uaWMvc3RycmNoci5jcHAgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvbWVtY21wLmMgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvbWVtY3B5LmMgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvbWVtc2V0LmMgXAorICAgIGFyY2gtbWlwcy9zdHJpbmcvc3RybGVuLmMgXAogCiBsaWJjX2ZyZWVic2Rfc3JjX2ZpbGVzX21pcHM2NCArPSBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdHJpbmcvd2NzY2F0LmMgXApAQCAtMzAsNiArMjgsOSBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1tb3ZlLmMgXAogCiBsaWJjX29wZW5ic2Rfc3JjX2ZpbGVzX21pcHM2NCArPSBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtY2hyLmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbW1vdmUuYyBcCisgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtcmNoci5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHBjcHkuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RwbmNweS5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJjYXQuYyBcCkBAIC0zNyw3ICszOCw2IEBACiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RyY3B5LmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL3N0cmxjYXQuYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGNweS5jIFwKLSAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJsZW4uYyBcCiAgICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybmNhdC5jIFwKICAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJuY21wLmMgXAogICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL3N0cm5jcHkuYyBcCkBAIC00OSwxMiArNDksMTAgQEAKIGxpYmNfYmlvbmljX3NyY19maWxlc19taXBzNjQgKz0gXAogICAgIGFyY2gtbWlwczY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TIFwKICAgICBhcmNoLW1pcHM2NC9iaW9uaWMvX2V4aXRfd2l0aF9zdGFja190ZWFyZG93bi5TIFwKLSAgICBhcmNoLW1pcHM2NC9iaW9uaWMvX19nZXRfc3AuUyBcCi0gICAgYXJjaC1taXBzNjQvYmlvbmljL19zZXRqbXAuUyBcCiAgICAgYXJjaC1taXBzNjQvYmlvbmljL3NldGptcC5TIFwKLSAgICBhcmNoLW1pcHM2NC9iaW9uaWMvc2lnc2V0am1wLlMgXAogICAgIGFyY2gtbWlwczY0L2Jpb25pYy9zeXNjYWxsLlMgXAogICAgIGFyY2gtbWlwczY0L2Jpb25pYy92Zm9yay5TIFwKKyAgICBhcmNoLW1pcHM2NC9iaW9uaWMvc3RhdC5jcHAgXAogCiBsaWJjX2NydF90YXJnZXRfY2ZsYWdzX21pcHM2NCA6PSBcCiAgICAgJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfR0xPQkFMX0NGTEFHUykgXApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zdHJpbmcvbWVtc2V0LlMgYi9saWJjL2FyY2gtbWlwczY0L3N0cmluZy9tZW1zZXQuUwppbmRleCAzZTYzMGNhLi4wOWI3NTZiIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N0cmluZy9tZW1zZXQuUworKysgYi9saWJjL2FyY2gtbWlwczY0L3N0cmluZy9tZW1zZXQuUwpAQCAtNjcsODYgKzY3LDYgQEAKICNkZWZpbmUgREJHCiAjZW5kaWYKIAotLyoKLSAqIHZvaWQgX21lbXNldDE2KHVpbnQxNl90KiBkc3QsIHVpbnQxNl90IHZhbHVlLCBzaXplX3Qgc2l6ZSk7Ci0gKi8KLQotTEVBRihfbWVtc2V0MTYsMCkKLQkuc2V0IG5vcmVvcmRlcgotREJHCS8qIENoZWNrIHBhcmFtZXRlcnMgKi8KLURCRwlhbmRpCXQwLGEwLDEJCQkjIGEwIG11c3QgYmUgaGFsZndvcmQgYWxpZ25lZAotREJHCXRuZQl0MCx6ZXJvCi1EQkcJYW5kaQl0MixhMiwxCQkJIyBhMiBtdXN0IGJlIGV2ZW4KLURCRwl0bmUJdDIsemVybwotCi0jaWZkZWYgRklYQVJHUwotCSMgZW5zdXJlIGNvdW50IGlzIGV2ZW4KLSNpZiAoX19taXBzPT0zMikgJiYgKF9fbWlwc19pc2FfcmV2Pj0yKQotCWlucwlhMix6ZXJvLDAsMQotI2Vsc2UKLQlvcmkJYTIsMQotCXhvcmkJYTIsMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmIChfX21pcHM9PTMyKSAmJiAoX19taXBzX2lzYV9yZXY+PTIpCi0JaW5zCWExLGExLDE2LDE2Ci0jZWxzZQotCWFuZGkJYTEsMHhmZmZmCi0Jc2xsCXQzLGExLDE2Ci0Jb3IJYTEsdDMKLSNlbmRpZgotCi0JYmVxeglhMiwuTGRvbmUKLQkgYW5kaQl0MSxhMCwyCi0JYmVxegl0MSwuTGFsaWdub2sKLQkgYWRkdQl0MCxhMCxhMgkJIyB0MCBpcyB0aGUgInBhc3QgdGhlIGVuZCIgYWRkcmVzcwotCXNoCWExLDAoYTApCQkjIHN0b3JlIG9uZSBoYWxmd29yZCB0byBnZXQgYWxpZ25lZAotCWFkZHUJYTAsMgotCXN1YnUJYTIsMgotLkxhbGlnbm9rOgotCXNsdGkJdDEsYTIsNAkJCSMgLkxhbGlnbmVkIGZvciA0IG9yIG1vcmUgYnl0ZXMKLQliZXF6CXQxLC5MYWxpZ25lZAotCSBzbmUJdDEsYTIsMgkJCSMgb25lIG1vcmUgaGFsZndvcmQ/Ci0JYm5legl0MSwuTGRvbmUKLQkgbm9wCi0Jc2gJYTEsMChhMCkKLS5MZG9uZToKLQlqCXJhCi0JIG5vcAotCS5zZXQgcmVvcmRlcgotRU5EKF9tZW1zZXQxNikKLQotLyoKLSAqIHZvaWQgX21lbXNldDMyKHVpbnQzMl90KiBkc3QsIHVpbnQzMl90IHZhbHVlLCBzaXplX3Qgc2l6ZSk7Ci0gKi8KLQotTEVBRihfbWVtc2V0MzIsMCkKLQkuc2V0IG5vcmVvcmRlcgotREJHCS8qIENoZWNrIHBhcmFtZXRlcnMgKi8KLURCRwlhbmRpCXQwLGEwLDMJCQkjIGEwIG11c3QgYmUgd29yZCBhbGlnbmVkCi1EQkcJdG5lCXQwLHplcm8KLURCRwlhbmRpCXQyLGEyLDMJCQkjIGEyIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0IGJ5dGVzCi1EQkcJdG5lCXQyLHplcm8KLQotI2lmZGVmIEZJWEFSR1MKLQkjIGVuc3VyZSBjb3VudCBpcyBhIG11bHRpcGxlIG9mIDQKLSNpZiAoX19taXBzPT0zMikgJiYgKF9fbWlwc19pc2FfcmV2Pj0yKQotCWlucwkkYTIsJDAsMCwyCi0jZWxzZQotCW9yaQlhMiwzCi0JeG9yaQlhMiwzCi0jZW5kaWYKLSNlbmRpZgotCi0JYm5leglhMiwuTGFsaWduZWQJCSMgYW55IHdvcmsgdG8gZG8/Ci0JIGFkZHUJdDAsYTAsYTIJCSMgdDAgaXMgdGhlICJwYXN0IHRoZSBlbmQiIGFkZHJlc3MKLQotCWoJcmEKLQkgbm9wCi0JLnNldCByZW9yZGVyCi1FTkQoX21lbXNldDMyKQotCiBMRUFGKG1lbXNldCwwKQogCiAJLnNldAlub3Jlb3JkZXIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19fY2xvc2UuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19fY2xvc2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWNlNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX19jbG9zZS5TCkBAIC0wLDAgKzEsMjYgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fY2xvc2UpCisgICAgLnNldCBwdXNoCisgICAgLnNldCBub3Jlb3JkZXIKKyAgICBsaSB2MCwgX19OUl9jbG9zZQorICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBtb3ZlIHQwLCByYQorICAgIGJhbCAgICAgMmYKKyAgICBub3AKKzI6CisgICAgLmNwc2V0dXAgcmEsIHQxLCAyYgorICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgLmNwcmV0dXJuCisgICAgaiB0OQorICAgIG1vdmUgcmEsIHQwCisgICAgLnNldCBwb3AKK0VORChfX19jbG9zZSkKKy5oaWRkZW4gX19fY2xvc2UKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19fZmFjY2Vzc2F0LlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MDYyNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TCkBAIC0wLDAgKzEsMjYgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fZmFjY2Vzc2F0KQorICAgIC5zZXQgcHVzaAorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgbGkgdjAsIF9fTlJfZmFjY2Vzc2F0CisgICAgc3lzY2FsbAorICAgIGJuZXogYTMsIDFmCisgICAgbW92ZSBhMCwgdjAKKyAgICBqIHJhCisgICAgbm9wCisxOgorICAgIG1vdmUgdDAsIHJhCisgICAgYmFsICAgICAyZgorICAgIG5vcAorMjoKKyAgICAuY3BzZXR1cCByYSwgdDEsIDJiCisgICAgTEEgdDksX19zZXRfZXJybm9faW50ZXJuYWwKKyAgICAuY3ByZXR1cm4KKyAgICBqIHQ5CisgICAgbW92ZSByYSwgdDAKKyAgICAuc2V0IHBvcAorRU5EKF9fX2ZhY2Nlc3NhdCkKKy5oaWRkZW4gX19fZmFjY2Vzc2F0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fX2ZjaG1vZC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX19mY2htb2QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzE2YzU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX19mY2htb2QuUwpAQCAtMCwwICsxLDI2IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZjaG1vZCkKKyAgICAuc2V0IHB1c2gKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIGxpIHYwLCBfX05SX2ZjaG1vZAorICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBtb3ZlIHQwLCByYQorICAgIGJhbCAgICAgMmYKKyAgICBub3AKKzI6CisgICAgLmNwc2V0dXAgcmEsIHQxLCAyYgorICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgLmNwcmV0dXJuCisgICAgaiB0OQorICAgIG1vdmUgcmEsIHQwCisgICAgLnNldCBwb3AKK0VORChfX19mY2htb2QpCisuaGlkZGVuIF9fX2ZjaG1vZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX19mY2htb2RhdC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX19mY2htb2RhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZjEwOGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fX2ZjaG1vZGF0LlMKQEAgLTAsMCArMSwyNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19mY2htb2RhdCkKKyAgICAuc2V0IHB1c2gKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIGxpIHYwLCBfX05SX2ZjaG1vZGF0CisgICAgc3lzY2FsbAorICAgIGJuZXogYTMsIDFmCisgICAgbW92ZSBhMCwgdjAKKyAgICBqIHJhCisgICAgbm9wCisxOgorICAgIG1vdmUgdDAsIHJhCisgICAgYmFsICAgICAyZgorICAgIG5vcAorMjoKKyAgICAuY3BzZXR1cCByYSwgdDEsIDJiCisgICAgTEEgdDksX19zZXRfZXJybm9faW50ZXJuYWwKKyAgICAuY3ByZXR1cm4KKyAgICBqIHQ5CisgICAgbW92ZSByYSwgdDAKKyAgICAuc2V0IHBvcAorRU5EKF9fX2ZjaG1vZGF0KQorLmhpZGRlbiBfX19mY2htb2RhdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX2Nsb2NrX25hbm9zbGVlcC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX2Nsb2NrX25hbm9zbGVlcC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNDY3NWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fY2xvY2tfbmFub3NsZWVwLlMKQEAgLTAsMCArMSwyNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX2Nsb2NrX25hbm9zbGVlcCkKKyAgICAuc2V0IHB1c2gKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIGxpIHYwLCBfX05SX2Nsb2NrX25hbm9zbGVlcAorICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBtb3ZlIHQwLCByYQorICAgIGJhbCAgICAgMmYKKyAgICBub3AKKzI6CisgICAgLmNwc2V0dXAgcmEsIHQxLCAyYgorICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgLmNwcmV0dXJuCisgICAgaiB0OQorICAgIG1vdmUgcmEsIHQwCisgICAgLnNldCBwb3AKK0VORChfX2Nsb2NrX25hbm9zbGVlcCkKKy5oaWRkZW4gX19jbG9ja19uYW5vc2xlZXAKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19mc3RhdGZzLlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fZnN0YXRmcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3NjZlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fZnN0YXRmcy5TCkBAIC0wLDAgKzEsMjYgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19mc3RhdGZzKQorICAgIC5zZXQgcHVzaAorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgbGkgdjAsIF9fTlJfZnN0YXRmcworICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBtb3ZlIHQwLCByYQorICAgIGJhbCAgICAgMmYKKyAgICBub3AKKzI6CisgICAgLmNwc2V0dXAgcmEsIHQxLCAyYgorICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgLmNwcmV0dXJuCisgICAgaiB0OQorICAgIG1vdmUgcmEsIHQwCisgICAgLnNldCBwb3AKK0VORChfX2ZzdGF0ZnMpCisuaGlkZGVuIF9fZnN0YXRmcwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5N2FlYmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fcnRfc2lncXVldWVpbmZvLlMKQEAgLTAsMCArMSwyNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX3J0X3NpZ3F1ZXVlaW5mbykKKyAgICAuc2V0IHB1c2gKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIGxpIHYwLCBfX05SX3J0X3NpZ3F1ZXVlaW5mbworICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBtb3ZlIHQwLCByYQorICAgIGJhbCAgICAgMmYKKyAgICBub3AKKzI6CisgICAgLmNwc2V0dXAgcmEsIHQxLCAyYgorICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgLmNwcmV0dXJuCisgICAgaiB0OQorICAgIG1vdmUgcmEsIHQwCisgICAgLnNldCBwb3AKK0VORChfX3J0X3NpZ3F1ZXVlaW5mbykKKy5oaWRkZW4gX19ydF9zaWdxdWV1ZWluZm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19zdGF0ZnMuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19zdGF0ZnMuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmRiNGUyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fX3N0YXRmcy5TCkBAIC0wLDAgKzEsMjYgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19zdGF0ZnMpCisgICAgLnNldCBwdXNoCisgICAgLnNldCBub3Jlb3JkZXIKKyAgICBsaSB2MCwgX19OUl9zdGF0ZnMKKyAgICBzeXNjYWxsCisgICAgYm5leiBhMywgMWYKKyAgICBtb3ZlIGEwLCB2MAorICAgIGogcmEKKyAgICBub3AKKzE6CisgICAgbW92ZSB0MCwgcmEKKyAgICBiYWwgICAgIDJmCisgICAgbm9wCisyOgorICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKKyAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAorICAgIC5jcHJldHVybgorICAgIGogdDkKKyAgICBtb3ZlIHJhLCB0MAorICAgIC5zZXQgcG9wCitFTkQoX19zdGF0ZnMpCisuaGlkZGVuIF9fc3RhdGZzCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19leGl0LlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19leGl0LlMKaW5kZXggZGE1YTJmNy4uMzdmODExOSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9fZXhpdC5TCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX2V4aXQuUwpAQCAtMjQsNSArMjQsNCBAQAogICAgIC5zZXQgcG9wCiBFTkQoX2V4aXQpCiAKLSAgICAuZ2xvYmwgX0V4aXQKLSAgICAuZXF1IF9FeGl0LCBfZXhpdAorQUxJQVNfU1lNQk9MKF9FeGl0LCBfZXhpdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX2ZsdXNoX2NhY2hlLlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19mbHVzaF9jYWNoZS5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWU0ODQyLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX2ZsdXNoX2NhY2hlLlMKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKF9mbHVzaF9jYWNoZSkKLSAgICAuc2V0IHB1c2gKLSAgICAuc2V0IG5vcmVvcmRlcgotICAgIGxpIHYwLCBfX05SX2NhY2hlZmx1c2gKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoX2ZsdXNoX2NhY2hlKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NThhMTAuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUworKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoY2xvY2tfbmFub3NsZWVwKQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfY2xvY2tfbmFub3NsZWVwCi0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIG1vdmUgdDAsIHJhCi0gICAgYmFsICAgICAyZgotICAgIG5vcAotMjoKLSAgICAuY3BzZXR1cCByYSwgdDEsIDJiCi0gICAgTEEgdDksX19zZXRfZXJybm9faW50ZXJuYWwKLSAgICAuY3ByZXR1cm4KLSAgICBqIHQ5Ci0gICAgbW92ZSByYSwgdDAKLSAgICAuc2V0IHBvcAotRU5EKGNsb2NrX25hbm9zbGVlcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvY2xvc2UuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvY2xvc2UuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUyMzdkZC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2Nsb3NlLlMKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGNsb3NlKQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfY2xvc2UKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoY2xvc2UpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mYWNjZXNzYXQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThiYjgwMC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmYWNjZXNzYXQpCi0gICAgLnNldCBwdXNoCi0gICAgLnNldCBub3Jlb3JkZXIKLSAgICBsaSB2MCwgX19OUl9mYWNjZXNzYXQKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoZmFjY2Vzc2F0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mYWxsb2NhdGUuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZmFsbG9jYXRlLlMKaW5kZXggYzFlZjBlZC4uMTRlMjVhMCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mYWxsb2NhdGUuUworKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2ZhbGxvY2F0ZS5TCkBAIC0yNCw1ICsyNCw0IEBACiAgICAgLnNldCBwb3AKIEVORChmYWxsb2NhdGUpCiAKLSAgICAuZ2xvYmwgZmFsbG9jYXRlNjQKLSAgICAuZXF1IGZhbGxvY2F0ZTY0LCBmYWxsb2NhdGUKK0FMSUFTX1NZTUJPTChmYWxsb2NhdGU2NCwgZmFsbG9jYXRlKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mY2htb2QuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZmNobW9kLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4NzdiNzguLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mY2htb2QuUworKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZmNobW9kKQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfZmNobW9kCi0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIG1vdmUgdDAsIHJhCi0gICAgYmFsICAgICAyZgotICAgIG5vcAotMjoKLSAgICAuY3BzZXR1cCByYSwgdDEsIDJiCi0gICAgTEEgdDksX19zZXRfZXJybm9faW50ZXJuYWwKLSAgICAuY3ByZXR1cm4KLSAgICBqIHQ5Ci0gICAgbW92ZSByYSwgdDAKLSAgICAuc2V0IHBvcAotRU5EKGZjaG1vZCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZmNobW9kYXQuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZmNobW9kYXQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUxNDkyYS4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2ZjaG1vZGF0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZjaG1vZGF0KQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfZmNobW9kYXQKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoZmNobW9kYXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2ZzdGF0NjQuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZnN0YXQ2NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTRkNTFjLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZnN0YXQ2NC5TCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmc3RhdDY0KQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfZnN0YXQKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoZnN0YXQ2NCkKLQotICAgIC5nbG9ibCBmc3RhdAotICAgIC5lcXUgZnN0YXQsIGZzdGF0NjQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZnN0YXRhdDY0LlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODg4YTQzLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZnN0YXRhdDY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZzdGF0YXQ2NCkKLSAgICAuc2V0IHB1c2gKLSAgICAuc2V0IG5vcmVvcmRlcgotICAgIGxpIHYwLCBfX05SX25ld2ZzdGF0YXQKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJub19pbnRlcm5hbAotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoZnN0YXRhdDY0KQotCi0gICAgLmdsb2JsIGZzdGF0YXQKLSAgICAuZXF1IGZzdGF0YXQsIGZzdGF0YXQ2NApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mc3RhdGZzNjQuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZnN0YXRmczY0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyZTg4NWMuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mc3RhdGZzNjQuUworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZnN0YXRmczY0KQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfZnN0YXRmcwotICAgIHN5c2NhbGwKLSAgICBibmV6IGEzLCAxZgotICAgIG1vdmUgYTAsIHYwCi0gICAgaiByYQotICAgIG5vcAotMToKLSAgICBtb3ZlIHQwLCByYQotICAgIGJhbCAgICAgMmYKLSAgICBub3AKLTI6Ci0gICAgLmNwc2V0dXAgcmEsIHQxLCAyYgotICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCi0gICAgLmNwcmV0dXJuCi0gICAgaiB0OQotICAgIG1vdmUgcmEsIHQwCi0gICAgLnNldCBwb3AKLUVORChmc3RhdGZzNjQpCi0KLSAgICAuZ2xvYmwgZnN0YXRmcwotICAgIC5lcXUgZnN0YXRmcywgZnN0YXRmczY0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2Z0cnVuY2F0ZS5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9mdHJ1bmNhdGUuUwppbmRleCA1OGI4NDdiLi4wNjNlOGYzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2Z0cnVuY2F0ZS5TCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZnRydW5jYXRlLlMKQEAgLTI0LDUgKzI0LDQgQEAKICAgICAuc2V0IHBvcAogRU5EKGZ0cnVuY2F0ZSkKIAotICAgIC5nbG9ibCBmdHJ1bmNhdGU2NAotICAgIC5lcXUgZnRydW5jYXRlNjQsIGZ0cnVuY2F0ZQorQUxJQVNfU1lNQk9MKGZ0cnVuY2F0ZTY0LCBmdHJ1bmNhdGUpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2dldHJsaW1pdC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9nZXRybGltaXQuUwppbmRleCA3NTc2YzE3Li41ZTJhODJhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2dldHJsaW1pdC5TCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMKQEAgLTI0LDUgKzI0LDQgQEAKICAgICAuc2V0IHBvcAogRU5EKGdldHJsaW1pdCkKIAotICAgIC5nbG9ibCBnZXRybGltaXQ2NAotICAgIC5lcXUgZ2V0cmxpbWl0NjQsIGdldHJsaW1pdAorQUxJQVNfU1lNQk9MKGdldHJsaW1pdDY0LCBnZXRybGltaXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2xzZWVrLlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL2xzZWVrLlMKaW5kZXggNWM5MmQ3MC4uM2JmYzI5ZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9sc2Vlay5TCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvbHNlZWsuUwpAQCAtMjQsNSArMjQsNCBAQAogICAgIC5zZXQgcG9wCiBFTkQobHNlZWspCiAKLSAgICAuZ2xvYmwgbHNlZWs2NAotICAgIC5lcXUgbHNlZWs2NCwgbHNlZWsKK0FMSUFTX1NZTUJPTChsc2VlazY0LCBsc2VlaykKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvbW1hcC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9tbWFwLlMKaW5kZXggMzkzMjcxYS4uY2M1M2ViMiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9tbWFwLlMKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9tbWFwLlMKQEAgLTI0LDUgKzI0LDQgQEAKICAgICAuc2V0IHBvcAogRU5EKG1tYXApCiAKLSAgICAuZ2xvYmwgbW1hcDY0Ci0gICAgLmVxdSBtbWFwNjQsIG1tYXAKK0FMSUFTX1NZTUJPTChtbWFwNjQsIG1tYXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3ByZWFkNjQuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvcHJlYWQ2NC5TCmluZGV4IDkwZTA2MTIuLjc5NjViYTkgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvcHJlYWQ2NC5TCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvcHJlYWQ2NC5TCkBAIC0yNCw1ICsyNCw0IEBACiAgICAgLnNldCBwb3AKIEVORChwcmVhZDY0KQogCi0gICAgLmdsb2JsIHByZWFkCi0gICAgLmVxdSBwcmVhZCwgcHJlYWQ2NAorQUxJQVNfU1lNQk9MKHByZWFkLCBwcmVhZDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9wcmxpbWl0NjQuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvcHJsaW1pdDY0LlMKaW5kZXggNWYwYmExZC4uZTA0YTViNiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9wcmxpbWl0NjQuUworKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3BybGltaXQ2NC5TCkBAIC0yNCw1ICsyNCw0IEBACiAgICAgLnNldCBwb3AKIEVORChwcmxpbWl0NjQpCiAKLSAgICAuZ2xvYmwgcHJsaW1pdAotICAgIC5lcXUgcHJsaW1pdCwgcHJsaW1pdDY0CitBTElBU19TWU1CT0wocHJsaW1pdCwgcHJsaW1pdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9wd3JpdGU2NC5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9wd3JpdGU2NC5TCmluZGV4IGUzNGY4ZGIuLjk3ZTAxODMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvcHdyaXRlNjQuUworKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3B3cml0ZTY0LlMKQEAgLTI0LDUgKzI0LDQgQEAKICAgICAuc2V0IHBvcAogRU5EKHB3cml0ZTY0KQogCi0gICAgLmdsb2JsIHB3cml0ZQotICAgIC5lcXUgcHdyaXRlLCBwd3JpdGU2NAorQUxJQVNfU1lNQk9MKHB3cml0ZSwgcHdyaXRlNjQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3NlbmRmaWxlLlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3NlbmRmaWxlLlMKaW5kZXggZjMzMDI0Mi4uYTUwNDU5ZSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9zZW5kZmlsZS5TCisrKyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc2VuZGZpbGUuUwpAQCAtMjQsNSArMjQsNCBAQAogICAgIC5zZXQgcG9wCiBFTkQoc2VuZGZpbGUpCiAKLSAgICAuZ2xvYmwgc2VuZGZpbGU2NAotICAgIC5lcXUgc2VuZGZpbGU2NCwgc2VuZGZpbGUKK0FMSUFTX1NZTUJPTChzZW5kZmlsZTY0LCBzZW5kZmlsZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc2V0aG9zdG5hbWUuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc2V0aG9zdG5hbWUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjEzMmEyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9zZXRob3N0bmFtZS5TCkBAIC0wLDAgKzEsMjUgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoc2V0aG9zdG5hbWUpCisgICAgLnNldCBwdXNoCisgICAgLnNldCBub3Jlb3JkZXIKKyAgICBsaSB2MCwgX19OUl9zZXRob3N0bmFtZQorICAgIHN5c2NhbGwKKyAgICBibmV6IGEzLCAxZgorICAgIG1vdmUgYTAsIHYwCisgICAgaiByYQorICAgIG5vcAorMToKKyAgICBtb3ZlIHQwLCByYQorICAgIGJhbCAgICAgMmYKKyAgICBub3AKKzI6CisgICAgLmNwc2V0dXAgcmEsIHQxLCAyYgorICAgIExBIHQ5LF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgLmNwcmV0dXJuCisgICAgaiB0OQorICAgIG1vdmUgcmEsIHQwCisgICAgLnNldCBwb3AKK0VORChzZXRob3N0bmFtZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc2V0cmxpbWl0LlMgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3NldHJsaW1pdC5TCmluZGV4IDBlNWU4MGUuLmJlNmZkYzMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc2V0cmxpbWl0LlMKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy9zZXRybGltaXQuUwpAQCAtMjQsNSArMjQsNCBAQAogICAgIC5zZXQgcG9wCiBFTkQoc2V0cmxpbWl0KQogCi0gICAgLmdsb2JsIHNldHJsaW1pdDY0Ci0gICAgLmVxdSBzZXRybGltaXQ2NCwgc2V0cmxpbWl0CitBTElBU19TWU1CT0woc2V0cmxpbWl0NjQsIHNldHJsaW1pdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc3RhdGZzNjQuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvc3RhdGZzNjQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQzNTFmNy4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3N0YXRmczY0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKHN0YXRmczY0KQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfc3RhdGZzCi0gICAgc3lzY2FsbAotICAgIGJuZXogYTMsIDFmCi0gICAgbW92ZSBhMCwgdjAKLSAgICBqIHJhCi0gICAgbm9wCi0xOgotICAgIG1vdmUgdDAsIHJhCi0gICAgYmFsICAgICAyZgotICAgIG5vcAotMjoKLSAgICAuY3BzZXR1cCByYSwgdDEsIDJiCi0gICAgTEEgdDksX19zZXRfZXJybm9faW50ZXJuYWwKLSAgICAuY3ByZXR1cm4KLSAgICBqIHQ5Ci0gICAgbW92ZSByYSwgdDAKLSAgICAuc2V0IHBvcAotRU5EKHN0YXRmczY0KQotCi0gICAgLmdsb2JsIHN0YXRmcwotICAgIC5lcXUgc3RhdGZzLCBzdGF0ZnM2NApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy90cnVuY2F0ZS5TIGIvbGliYy9hcmNoLW1pcHM2NC9zeXNjYWxscy90cnVuY2F0ZS5TCmluZGV4IGZiM2I3ZWIuLmI4MzI3OTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvdHJ1bmNhdGUuUworKysgYi9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL3RydW5jYXRlLlMKQEAgLTI0LDUgKzI0LDQgQEAKICAgICAuc2V0IHBvcAogRU5EKHRydW5jYXRlKQogCi0gICAgLmdsb2JsIHRydW5jYXRlNjQKLSAgICAuZXF1IHRydW5jYXRlNjQsIHRydW5jYXRlCitBTElBU19TWU1CT0wodHJ1bmNhdGU2NCwgdHJ1bmNhdGUpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L2F0b20vc3RyaW5nL3NzZTItd2NzbGVuLWF0b20uUyBiL2xpYmMvYXJjaC14ODYvYXRvbS9zdHJpbmcvc3NlMi13Y3NsZW4tYXRvbS5TCmluZGV4IDZhNmFkNTEuLjJmMTBkYjQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODYvYXRvbS9zdHJpbmcvc3NlMi13Y3NsZW4tYXRvbS5TCisrKyBiL2xpYmMvYXJjaC14ODYvYXRvbS9zdHJpbmcvc3NlMi13Y3NsZW4tYXRvbS5TCkBAIC02NSwyMSArNjUsMjEgQEAKIEVOVFJZICh3Y3NsZW4pCiAJbW92CVNUUiglZXNwKSwgJWVkeAogI2VuZGlmCi0JY21wCSQwLCAoJWVkeCkKKwljbXBsCSQwLCAoJWVkeCkKIAlqeglMKGV4aXRfdGFpbDApCi0JY21wCSQwLCA0KCVlZHgpCisJY21wbAkkMCwgNCglZWR4KQogCWp6CUwoZXhpdF90YWlsMSkKLQljbXAJJDAsIDgoJWVkeCkKKwljbXBsCSQwLCA4KCVlZHgpCiAJanoJTChleGl0X3RhaWwyKQotCWNtcAkkMCwgMTIoJWVkeCkKKwljbXBsCSQwLCAxMiglZWR4KQogCWp6CUwoZXhpdF90YWlsMykKLQljbXAJJDAsIDE2KCVlZHgpCisJY21wbAkkMCwgMTYoJWVkeCkKIAlqeglMKGV4aXRfdGFpbDQpCi0JY21wCSQwLCAyMCglZWR4KQorCWNtcGwJJDAsIDIwKCVlZHgpCiAJanoJTChleGl0X3RhaWw1KQotCWNtcAkkMCwgMjQoJWVkeCkKKwljbXBsCSQwLCAyNCglZWR4KQogCWp6CUwoZXhpdF90YWlsNikKLQljbXAJJDAsIDI4KCVlZHgpCisJY21wbAkkMCwgMjgoJWVkeCkKIAlqeglMKGV4aXRfdGFpbDcpCiAKIAlweG9yCSV4bW0wLCAleG1tMApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9hdG9tL3N0cmluZy9zc3NlMy13Y3NjYXQtYXRvbS5TIGIvbGliYy9hcmNoLXg4Ni9hdG9tL3N0cmluZy9zc3NlMy13Y3NjYXQtYXRvbS5TCmluZGV4IDE3YjA4NDMuLjhhMzg5YTMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODYvYXRvbS9zdHJpbmcvc3NzZTMtd2NzY2F0LWF0b20uUworKysgYi9saWJjL2FyY2gteDg2L2F0b20vc3RyaW5nL3Nzc2UzLXdjc2NhdC1hdG9tLlMKQEAgLTk4LDEzICs5OCwxMyBAQAogCW1vdglTVFIyKCVlc3ApLCAlZWN4CiAJbGVhCSglZWRpLCAlZWF4KSwgJWVkeAogCi0JY21wCSQwLCAoJWVjeCkKKwljbXBsCSQwLCAoJWVjeCkKIAlqeglMKEV4aXQ0KQotCWNtcAkkMCwgNCglZWN4KQorCWNtcGwJJDAsIDQoJWVjeCkKIAlqeglMKEV4aXQ4KQotCWNtcAkkMCwgOCglZWN4KQorCWNtcGwJJDAsIDgoJWVjeCkKIAlqeglMKEV4aXQxMikKLQljbXAJJDAsIDEyKCVlY3gpCisJY21wbAkkMCwgMTIoJWVjeCkKIAlqeglMKEV4aXQxNikKIAogI3VuZGVmIFJFVFVSTgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9hdG9tL3N0cmluZy9zc3NlMy13Y3NjcHktYXRvbS5TIGIvbGliYy9hcmNoLXg4Ni9hdG9tL3N0cmluZy9zc3NlMy13Y3NjcHktYXRvbS5TCmluZGV4IDhiYTg0YmMuLjI3Y2I2MWUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODYvYXRvbS9zdHJpbmcvc3NzZTMtd2NzY3B5LWF0b20uUworKysgYi9saWJjL2FyY2gteDg2L2F0b20vc3RyaW5nL3Nzc2UzLXdjc2NweS1hdG9tLlMKQEAgLTkyLDEzICs5MiwxMyBAQAogCW1vdglTVFIxKCVlc3ApLCAlZWR4CiAJbW92CVNUUjIoJWVzcCksICVlY3gKIAotCWNtcAkkMCwgKCVlY3gpCisJY21wbAkkMCwgKCVlY3gpCiAJanoJTChFeGl0VGFpbDQpCi0JY21wCSQwLCA0KCVlY3gpCisJY21wbAkkMCwgNCglZWN4KQogCWp6CUwoRXhpdFRhaWw4KQotCWNtcAkkMCwgOCglZWN4KQorCWNtcGwJJDAsIDgoJWVjeCkKIAlqeglMKEV4aXRUYWlsMTIpCi0JY21wCSQwLCAxMiglZWN4KQorCWNtcGwJJDAsIDEyKCVlY3gpCiAJanoJTChFeGl0VGFpbDE2KQogCiAJUFVTSAkoJWVkaSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvYmlvbmljL19fYmlvbmljX2Nsb25lLlMgYi9saWJjL2FyY2gteDg2L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IGVmNzhhZWUuLjFhNmY2NDIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODYvYmlvbmljL19fYmlvbmljX2Nsb25lLlMKKysrIGIvbGliYy9hcmNoLXg4Ni9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUwpAQCAtMyw4ICszLDE0IEBACiAvLyBwaWRfdCBfX2Jpb25pY19jbG9uZShpbnQgZmxhZ3MsIHZvaWQqIGNoaWxkX3N0YWNrLCBwaWRfdCogcGFyZW50X3RpZCwgdm9pZCogdGxzLCBwaWRfdCogY2hpbGRfdGlkLCBpbnQgKCpmbikodm9pZCopLCB2b2lkKiBhcmcpOwogRU5UUlkoX19iaW9uaWNfY2xvbmUpCiAgICAgICAgIHB1c2hsICAgJWVieAorICAgICAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKKyAgICAgICAgLmNmaV9yZWxfb2Zmc2V0IGVieCwgMAogICAgICAgICBwdXNobCAgICVlc2kKKyAgICAgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgICAgIC5jZmlfcmVsX29mZnNldCBlc2ksIDAKICAgICAgICAgcHVzaGwgICAlZWRpCisgICAgICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgICAgICAuY2ZpX3JlbF9vZmZzZXQgZWRpLCAwCiAKICAgICAgICAgIyBMb2FkIHN5c3RlbSBjYWxsIGFyZ3VtZW50cyBpbnRvIHJlZ2lzdGVycy4KICAgICAgICAgbW92bCAgICAxNiglZXNwKSwgJWVieCAgICMgZmxhZ3MKQEAgLTQ2LDggKzUyLDE0IEBACiAgICAgICAgICMgV2UncmUgdGhlIHBhcmVudDsgbm90aGluZyB0byBkby4KIC5MX2JjX3JldHVybjoKICAgICAgICAgcG9wbCAgICAlZWRpCisgICAgICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgLTQKKyAgICAgICAgLmNmaV9yZXN0b3JlIGVkaQogICAgICAgICBwb3BsICAgICVlc2kKKyAgICAgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCAtNAorICAgICAgICAuY2ZpX3Jlc3RvcmUgZXNpCiAgICAgICAgIHBvcGwgICAgJWVieAorICAgICAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IC00CisgICAgICAgIC5jZmlfcmVzdG9yZSBlYngKICAgICAgICAgcmV0CiBFTkQoX19iaW9uaWNfY2xvbmUpCiAuaGlkZGVuIF9fYmlvbmljX2Nsb25lCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L2Jpb25pYy9fc2V0am1wLlMgYi9saWJjL2FyY2gteDg2L2Jpb25pYy9fc2V0am1wLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiMjU2YTIuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvX3NldGptcC5TCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotLyogJE9wZW5CU0Q6IF9zZXRqbXAuUyx2IDEuNSAyMDA1LzA4LzA3IDExOjMwOjM4IGVzcGllIEV4cCAkICovCi0vKi0KLSAqIENvcHlyaWdodCAoYykgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5Ci0gKiBXaWxsaWFtIEpvbGl0ei4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi0vKgotICogQyBsaWJyYXJ5IC0tIF9zZXRqbXAsIF9sb25nam1wCi0gKgotICoJX2xvbmdqbXAoYSx2KQotICogd2lsbCBnZW5lcmF0ZSBhICJyZXR1cm4odikiIGZyb20gdGhlIGxhc3QgY2FsbCB0bwotICoJX3NldGptcChhKQotICogYnkgcmVzdG9yaW5nIHJlZ2lzdGVycyBmcm9tIHRoZSBzdGFjay4KLSAqIFRoZSBwcmV2aW91cyBzaWduYWwgc3RhdGUgaXMgTk9UIHJlc3RvcmVkLgotICovCi0KLUVOVFJZKF9zZXRqbXApCi0JbW92bAk0KCVlc3ApLCVlYXgKLQltb3ZsCTAoJWVzcCksJWVkeAotCW1vdmwJJWVkeCwgMCglZWF4KQkJLyogcnRhICovCi0JbW92bAklZWJ4LCA0KCVlYXgpCi0JbW92bAklZXNwLCA4KCVlYXgpCi0JbW92bAklZWJwLDEyKCVlYXgpCi0JbW92bAklZXNpLDE2KCVlYXgpCi0JbW92bAklZWRpLDIwKCVlYXgpCi0JeG9ybAklZWF4LCVlYXgKLQlyZXQKLUVORChfc2V0am1wKQotCi1FTlRSWShfbG9uZ2ptcCkKLQltb3ZsCTQoJWVzcCksJWVkeAotCW1vdmwJOCglZXNwKSwlZWF4Ci0JbW92bAkwKCVlZHgpLCVlY3gKLQltb3ZsCTQoJWVkeCksJWVieAotCW1vdmwJOCglZWR4KSwlZXNwCi0JbW92bAkxMiglZWR4KSwlZWJwCi0JbW92bAkxNiglZWR4KSwlZXNpCi0JbW92bAkyMCglZWR4KSwlZWRpCi0JdGVzdGwJJWVheCwlZWF4Ci0Jam56CTFmCi0JaW5jbAklZWF4Ci0xOgltb3ZsCSVlY3gsMCglZXNwKQotCXJldAotRU5EKF9sb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvc2V0am1wLlMgYi9saWJjL2FyY2gteDg2L2Jpb25pYy9zZXRqbXAuUwppbmRleCA4ZjlkNjdjLi4xOGFkODEwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L2Jpb25pYy9zZXRqbXAuUworKysgYi9saWJjL2FyY2gteDg2L2Jpb25pYy9zZXRqbXAuUwpAQCAtMSw0ICsxLDMgQEAKLS8qICRPcGVuQlNEOiBzZXRqbXAuUyx2IDEuOCAyMDA1LzA4LzA3IDExOjMwOjM4IGVzcGllIEV4cCAkICovCiAvKi0KICAqIENvcHlyaWdodCAoYykgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTMzLDU1ICszMiw5NiBAQAogCiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKLS8qCi0gKiBDIGxpYnJhcnkgLS0gc2V0am1wLCBsb25nam1wCi0gKgotICoJbG9uZ2ptcChhLHYpCi0gKiB3aWxsIGdlbmVyYXRlIGEgInJldHVybih2KSIgZnJvbSB0aGUgbGFzdCBjYWxsIHRvCi0gKglzZXRqbXAoYSkKLSAqIGJ5IHJlc3RvcmluZyByZWdpc3RlcnMgZnJvbSB0aGUgc3RhY2suCi0gKiBUaGUgcHJldmlvdXMgc2lnbmFsIHN0YXRlIGlzIHJlc3RvcmVkLgotICovCisjZGVmaW5lIF9KQl9FRFggMAorI2RlZmluZSBfSkJfRUJYIDEKKyNkZWZpbmUgX0pCX0VTUCAyCisjZGVmaW5lIF9KQl9FQlAgMworI2RlZmluZSBfSkJfRVNJIDQKKyNkZWZpbmUgX0pCX0VESSA1CisjZGVmaW5lIF9KQl9TSUdNQVNLIDYKKyNkZWZpbmUgX0pCX1NJR0ZMQUcgNwogCiBFTlRSWShzZXRqbXApCi0JUElDX1BST0xPR1VFCi0JcHVzaGwJJDAKLQljYWxsCVBJQ19QTFQoc2lnYmxvY2spCi0JYWRkbAkkNCwlZXNwCi0JUElDX0VQSUxPR1VFCi0KLQltb3ZsCTQoJWVzcCksJWVjeAotCW1vdmwJMCglZXNwKSwlZWR4Ci0JbW92bAklZWR4LCAwKCVlY3gpCi0JbW92bAklZWJ4LCA0KCVlY3gpCi0JbW92bAklZXNwLCA4KCVlY3gpCi0JbW92bAklZWJwLDEyKCVlY3gpCi0JbW92bAklZXNpLDE2KCVlY3gpCi0JbW92bAklZWRpLDIwKCVlY3gpCi0JbW92bAklZWF4LDI0KCVlY3gpCi0JeG9ybAklZWF4LCVlYXgKLQlyZXQKKyAgbW92bCA0KCVlc3ApLCVlY3gKKyAgbW92bCAkMSwoX0pCX1NJR0ZMQUcgKiA0KSglZWN4KQorICBqbXAgLkxfc2lnc2V0am1wX3NpZ25hbF9tYXNrCiBFTkQoc2V0am1wKQogCi1FTlRSWShsb25nam1wKQotCW1vdmwJNCglZXNwKSwlZWR4Ci0JUElDX1BST0xPR1VFCi0JcHVzaGwJMjQoJWVkeCkKLQljYWxsCVBJQ19QTFQoc2lnc2V0bWFzaykKLQlhZGRsCSQ0LCVlc3AKLQlQSUNfRVBJTE9HVUUKK0VOVFJZKF9zZXRqbXApCisgIG1vdmwgNCglZXNwKSwlZWN4CisgIG1vdmwgJDAsKF9KQl9TSUdGTEFHICogNCkoJWVjeCkKKyAgam1wIC5MX3NpZ3NldGptcF9ub19zaWduYWxfbWFzaworRU5EKF9zZXRqbXApCiAKLQltb3ZsCTQoJWVzcCksJWVkeAotCW1vdmwJOCglZXNwKSwlZWF4Ci0JbW92bAkwKCVlZHgpLCVlY3gKLQltb3ZsCTQoJWVkeCksJWVieAotCW1vdmwJOCglZWR4KSwlZXNwCi0JbW92bAkxMiglZWR4KSwlZWJwCi0JbW92bAkxNiglZWR4KSwlZXNpCi0JbW92bAkyMCglZWR4KSwlZWRpCi0JdGVzdGwJJWVheCwlZWF4Ci0Jam56CTFmCi0JaW5jbAklZWF4Ci0xOgltb3ZsCSVlY3gsMCglZXNwKQotCXJldAotRU5EKGxvbmdqbXApCitFTlRSWShzaWdzZXRqbXApCisgIG1vdmwgNCglZXNwKSwlZWN4CisgIG1vdmwgOCglZXNwKSwlZWF4CisKKyAgLy8gUmVjb3JkIHdoZXRoZXIgb3Igbm90IHRoZSBzaWduYWwgbWFzayBpcyB2YWxpZC4KKyAgbW92bCAlZWF4LChfSkJfU0lHRkxBRyAqIDQpKCVlY3gpCisKKyAgLy8gRG8gd2UgbmVlZCB0byBzYXZlIHRoZSBzaWduYWwgbWFzaz8KKyAgdGVzdGwgJWVheCwlZWF4CisgIGp6IDFmCisKKy5MX3NpZ3NldGptcF9zaWduYWxfbWFzazoKKyAgLy8gR2V0IHRoZSBjdXJyZW50IHNpZ25hbCBtYXNrLgorICBQSUNfUFJPTE9HVUUKKyAgcHVzaGwgJDAKKyAgY2FsbCBQSUNfUExUKHNpZ2Jsb2NrKQorICBhZGRsICQ0LCVlc3AKKyAgUElDX0VQSUxPR1VFCisKKyAgLy8gU2F2ZSB0aGUgc2lnbmFsIG1hc2suCisgIG1vdmwgNCglZXNwKSwlZWN4CisgIG1vdmwgJWVheCwoX0pCX1NJR01BU0sgKiA0KSglZWN4KQorCisuTF9zaWdzZXRqbXBfbm9fc2lnbmFsX21hc2s6CisxOgorICAvLyBTYXZlIHRoZSBjYWxsZWUtc2F2ZSByZWdpc3RlcnMuCisgIG1vdmwgMCglZXNwKSwlZWR4CisgIG1vdmwgJWVkeCwoX0pCX0VEWCAqIDQpKCVlY3gpCisgIG1vdmwgJWVieCwoX0pCX0VCWCAqIDQpKCVlY3gpCisgIG1vdmwgJWVzcCwoX0pCX0VTUCAqIDQpKCVlY3gpCisgIG1vdmwgJWVicCwoX0pCX0VCUCAqIDQpKCVlY3gpCisgIG1vdmwgJWVzaSwoX0pCX0VTSSAqIDQpKCVlY3gpCisgIG1vdmwgJWVkaSwoX0pCX0VESSAqIDQpKCVlY3gpCisKKyAgeG9ybCAlZWF4LCVlYXgKKyAgcmV0CitFTkQoc2lnc2V0am1wKQorCitFTlRSWShzaWdsb25nam1wKQorICAvLyBEbyB3ZSBoYXZlIGEgc2lnbmFsIG1hc2sgdG8gcmVzdG9yZT8KKyAgbW92bCA0KCVlc3ApLCVlZHgKKyAgY21wbCAkMCwoX0pCX1NJR0ZMQUcgKiA0KSglZWR4KQorICBqeiAxZgorCisgIC8vIFJlc3RvcmUgdGhlIHNpZ25hbCBtYXNrLgorICBQSUNfUFJPTE9HVUUKKyAgcHVzaGwgKF9KQl9TSUdNQVNLICogNCkoJWVkeCkKKyAgY2FsbCBQSUNfUExUKHNpZ3NldG1hc2spCisgIGFkZGwgJDQsJWVzcAorICBQSUNfRVBJTE9HVUUKKworMToKKyAgLy8gUmVzdG9yZSB0aGUgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLgorICBtb3ZsIDQoJWVzcCksJWVkeAorICBtb3ZsIDgoJWVzcCksJWVheAorICBtb3ZsIChfSkJfRURYICogNCkoJWVkeCksJWVjeAorICBtb3ZsIChfSkJfRUJYICogNCkoJWVkeCksJWVieAorICBtb3ZsIChfSkJfRVNQICogNCkoJWVkeCksJWVzcAorICBtb3ZsIChfSkJfRUJQICogNCkoJWVkeCksJWVicAorICBtb3ZsIChfSkJfRVNJICogNCkoJWVkeCksJWVzaQorICBtb3ZsIChfSkJfRURJICogNCkoJWVkeCksJWVkaQorCisgIHRlc3RsICVlYXgsJWVheAorICBqbnogMmYKKyAgaW5jbCAlZWF4CisyOgorICBtb3ZsICVlY3gsMCglZXNwKQorICByZXQKK0VORChzaWdsb25nam1wKQorCitBTElBU19TWU1CT0wobG9uZ2ptcCwgc2lnbG9uZ2ptcCkKK0FMSUFTX1NZTUJPTChfbG9uZ2ptcCwgc2lnbG9uZ2ptcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvYmlvbmljL3NpZ3NldGptcC5TIGIvbGliYy9hcmNoLXg4Ni9iaW9uaWMvc2lnc2V0am1wLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1MGM2MDYuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvc2lnc2V0am1wLlMKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi0vKiAkT3BlbkJTRDogc2lnc2V0am1wLlMsdiAxLjcgMjAwNS8wOC8wNyAxMTozMDozOCBlc3BpZSBFeHAgJCAqLwotLyotCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQotICogV2lsbGlhbSBKb2xpdHouCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoc2lnc2V0am1wKQotCW1vdmwJNCglZXNwKSwlZWN4Ci0JbW92bAk4KCVlc3ApLCVlYXgKLQltb3ZsCSVlYXgsMjgoJWVjeCkKLQl0ZXN0bAklZWF4LCVlYXgKLQlqegkxZgotCi0JUElDX1BST0xPR1VFCi0JcHVzaGwJJDAKLQljYWxsCVBJQ19QTFQoc2lnYmxvY2spCi0JYWRkbAkkNCwlZXNwCi0JUElDX0VQSUxPR1VFCi0KLQltb3ZsCTQoJWVzcCksJWVjeAotCW1vdmwJJWVheCwyNCglZWN4KQotMToJbW92bAkwKCVlc3ApLCVlZHgKLQltb3ZsCSVlZHgsIDAoJWVjeCkKLQltb3ZsCSVlYngsIDQoJWVjeCkKLQltb3ZsCSVlc3AsIDgoJWVjeCkKLQltb3ZsCSVlYnAsMTIoJWVjeCkKLQltb3ZsCSVlc2ksMTYoJWVjeCkKLQltb3ZsCSVlZGksMjAoJWVjeCkKLQl4b3JsCSVlYXgsJWVheAotCXJldAotRU5EKHNpZ3NldGptcCkKLQotRU5UUlkoc2lnbG9uZ2ptcCkKLQltb3ZsCTQoJWVzcCksJWVkeAotCWNtcGwJJDAsMjgoJWVkeCkKLQlqegkxZgotCi0JUElDX1BST0xPR1VFCi0JcHVzaGwJMjQoJWVkeCkKLQljYWxsCVBJQ19QTFQoc2lnc2V0bWFzaykKLQlhZGRsCSQ0LCVlc3AKLQlQSUNfRVBJTE9HVUUKLQotMToJbW92bAk0KCVlc3ApLCVlZHgKLQltb3ZsCTgoJWVzcCksJWVheAotCW1vdmwJMCglZWR4KSwlZWN4Ci0JbW92bAk0KCVlZHgpLCVlYngKLQltb3ZsCTgoJWVkeCksJWVzcAotCW1vdmwJMTIoJWVkeCksJWVicAotCW1vdmwJMTYoJWVkeCksJWVzaQotCW1vdmwJMjAoJWVkeCksJWVkaQotCXRlc3RsCSVlYXgsJWVheAotCWpuegkyZgotCWluY2wJJWVheAotMjoJbW92bAklZWN4LDAoJWVzcCkKLQlyZXQKLUVORChzaWdsb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvc3lzY2FsbC5TIGIvbGliYy9hcmNoLXg4Ni9iaW9uaWMvc3lzY2FsbC5TCmluZGV4IGY4NWVjMzkuLjJhMTUxMDIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODYvYmlvbmljL3N5c2NhbGwuUworKysgYi9saWJjL2FyY2gteDg2L2Jpb25pYy9zeXNjYWxsLlMKQEAgLTE1LDkgKzE1LDE3IEBACiBFTlRSWShzeXNjYWxsKQogICAgICMgUHVzaCB0aGUgY2FsbGVlIHNhdmUgcmVnaXN0ZXJzLgogICAgIHB1c2ggICAgJWVieAorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgIC5jZmlfcmVsX29mZnNldCBlYngsIDAKICAgICBwdXNoICAgICVlc2kKKyAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZXNpLCAwCiAgICAgcHVzaCAgICAlZWRpCisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVkaSwgMAogICAgIHB1c2ggICAgJWVicAorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgIC5jZmlfcmVsX29mZnNldCBlYnAsIDAKIAogICAgICMgTG9hZCBhbGwgdGhlIGFyZ3VtZW50cyBmcm9tIHRoZSBjYWxsaW5nIGZyYW1lLgogICAgICMgKE5vdCBhbGwgd2lsbCBiZSB2YWxpZCwgZGVwZW5kaW5nIG9uIHRoZSBzeXNjYWxsLikKQEAgLTQzLDggKzUxLDE2IEBACiAxOgogICAgICMgUmVzdG9yZSB0aGUgY2FsbGVlIHNhdmUgcmVnaXN0ZXJzLgogICAgIHBvcCAgICAlZWJwCisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCAtNAorICAgIC5jZmlfcmVzdG9yZSBlYnAKICAgICBwb3AgICAgJWVkaQorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgLTQKKyAgICAuY2ZpX3Jlc3RvcmUgZWRpCiAgICAgcG9wICAgICVlc2kKKyAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IC00CisgICAgLmNmaV9yZXN0b3JlIGVzaQogICAgIHBvcCAgICAlZWJ4CisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCAtNAorICAgIC5jZmlfcmVzdG9yZSBlYngKICAgICByZXQKIEVORChzeXNjYWxsKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvdmZvcmsuUyBiL2xpYmMvYXJjaC14ODYvYmlvbmljL3Zmb3JrLlMKaW5kZXggNmMwMjkxMC4uY2E3YWYwZiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvdmZvcmsuUworKysgYi9saWJjL2FyY2gteDg2L2Jpb25pYy92Zm9yay5TCkBAIC0zMiw2ICszMiw4IEBACiAKIEVOVFJZKHZmb3JrKQogICBwb3BsICAgICVlY3ggIC8vIEdyYWIgdGhlIHJldHVybiBhZGRyZXNzLgorICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKKyAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAogICBtb3ZsICAgICRfX05SX3Zmb3JrLCAlZWF4CiAgIGludCAgICAgJDB4ODAKICAgY21wbCAgICAkLU1BWF9FUlJOTywgJWVheApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9pbmNsdWRlL21hY2hpbmUvYXNtLmggYi9saWJjL2FyY2gteDg2L2luY2x1ZGUvbWFjaGluZS9hc20uaAppbmRleCA2NzI0OTNkLi45NDNmOWRkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L2luY2x1ZGUvbWFjaGluZS9hc20uaAorKysgYi9saWJjL2FyY2gteDg2L2luY2x1ZGUvbWFjaGluZS9hc20uaApAQCAtNDksMTUgKzQ5LDYgQEAKICNkZWZpbmUgUElDX0dPVCh4KQl4QEdPVCglZWJ4KQogI2RlZmluZSBQSUNfR09UT0ZGKHgpCXhAR09UT0ZGKCVlYngpCiAKLS8qIGxldCBrZXJuZWxzIGFuZCBvdGhlcnMgb3ZlcnJpZGUgZW50cnlwb2ludCBhbGlnbm1lbnQgKi8KLSNpZiAhZGVmaW5lZChfQUxJR05fVEVYVCkgJiYgIWRlZmluZWQoX0tFUk5FTCkKLSMgaWZkZWYgX1NUQU5EQUxPTkUKLSMgIGRlZmluZSBfQUxJR05fVEVYVCAuYWxpZ24gMQotIyBlbGlmIGRlZmluZWQgX19FTEZfXwotIyAgZGVmaW5lIF9BTElHTl9URVhUIC5hbGlnbiAxNgotIyBlbHNlCi0jICBkZWZpbmUgX0FMSUdOX1RFWFQgLmFsaWduIDQKLSMgZW5kaWYKLSNlbmRpZgorI2RlZmluZSBfX2Jpb25pY19hc21fYWxpZ24gMTYKIAogI2VuZGlmIC8qICFfSTM4Nl9BU01fSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvaW5jbHVkZS9tYWNoaW5lL2VuZGlhbi5oIGIvbGliYy9hcmNoLXg4Ni9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxNTA2YjEuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Ni9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0vKgkkT3BlbkJTRDogZW5kaWFuLmgsdiAxLjE3IDIwMTEvMDMvMTIgMDQ6MDM6MDQgZ3VlbnRoZXIgRXhwICQJKi8KLQotLyotCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTcgTmlrbGFzIEhhbGxxdmlzdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKLSAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKLSAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCi0gKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKLSAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgX01BQ0hJTkVfRU5ESUFOX0hfCi0jZGVmaW5lIF9NQUNISU5FX0VORElBTl9IXwotCi0jaWZkZWYgX19HTlVDX18KLQotI2RlZmluZQlfX3N3YXAzMm1kKHgpIF9fc3RhdGVtZW50KHsJCQkJCVwKLQl1aW50MzJfdCBfX3N3YXAzMm1kX3ggPSAoeCk7CQkJCQlcCi0JCQkJCQkJCQlcCi0JX19hc20gKCJic3dhcCAlMCIgOiAiK3IiIChfX3N3YXAzMm1kX3gpKTsJCQlcCi0JX19zd2FwMzJtZF94OwkJCQkJCQlcCi19KQotCi0jZGVmaW5lCV9fc3dhcDY0bWQoeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCXVpbnQ2NF90IF9fc3dhcDY0bWRfeCA9ICh4KTsJCQkJCVwKLQkJCQkJCQkJCVwKLQkodWludDY0X3QpX19zd2FwMzJtZChfX3N3YXA2NG1kX3ggPj4gMzIpIHwJCQlcCi0JICAgICh1aW50NjRfdClfX3N3YXAzMm1kKF9fc3dhcDY0bWRfeCAmIDB4ZmZmZmZmZmYpIDw8IDMyOwlcCi19KQotI2RlZmluZQlfX3N3YXAxNm1kKHgpIF9fc3RhdGVtZW50KHsJCQkJCVwKLQl1aW50MTZfdCBfX3N3YXAxNm1kX3ggPSAoeCk7CQkJCQlcCi0JCQkJCQkJCQlcCi0JX19hc20gKCJyb3J3ICQ4LCAldzAiIDogIityIiAoX19zd2FwMTZtZF94KSk7CQkJXAotCV9fc3dhcDE2bWRfeDsJCQkJCQkJXAotfSkKLQotLyogVGVsbCBzeXMvZW5kaWFuLmggd2UgaGF2ZSBNRCB2YXJpYW50cyBvZiB0aGUgc3dhcCBtYWNyb3MuICAqLwotI2RlZmluZSBNRF9TV0FQCi0KLSNlbmRpZgkvKiBfX0dOVUNfXyAqLwotCi0jZGVmaW5lIF9CWVRFX09SREVSIF9MSVRUTEVfRU5ESUFOCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL2VuZGlhbi5oPgotCi0jZW5kaWYgLyogX01BQ0hJTkVfRU5ESUFOX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L2luY2x1ZGUvbWFjaGluZS9leGVjLmggYi9saWJjL2FyY2gteDg2L2luY2x1ZGUvbWFjaGluZS9leGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwOTE3NDEuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Ni9pbmNsdWRlL21hY2hpbmUvZXhlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoJJE9wZW5CU0Q6IGV4ZWMuaCx2IDEuOSAyMDAzLzA0LzE3IDAzOjQyOjE0IGRyYWhuIEV4cCAkCSovCi0vKgkkTmV0QlNEOiBleGVjLmgsdiAxLjYgMTk5NC8xMC8yNyAwNDoxNjowNSBjZ2QgRXhwICQJKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMTk5MyBDaHJpc3RvcGhlciBHLiBEZW1ldHJpb3UKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKLSAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKLSAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKLSAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCi0gKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKLSAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgX0kzODZfRVhFQ19IXwotI2RlZmluZSBfSTM4Nl9FWEVDX0hfCi0KLSNkZWZpbmUgX19MRFBHU1oJNDA5NgotCi0jZGVmaW5lIE5BVElWRV9FWEVDX0VMRgotCi0jZGVmaW5lIEFSQ0hfRUxGU0laRQkJMzIKLQotI2RlZmluZSBFTEZfVEFSR19DTEFTUwkJRUxGQ0xBU1MzMgotI2RlZmluZSBFTEZfVEFSR19EQVRBCQlFTEZEQVRBMkxTQgotI2RlZmluZSBFTEZfVEFSR19NQUNICQlFTV8zODYgLyogWFhYIC0gRU1fNDg2IGlzIGN1cnJlbnRseSB1bnVzZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IGFsbCBPU3MvY29tcGlsZXJzL2xpbmtlcnMgKi8KLQotI2RlZmluZSBfTkxJU1RfRE9fQU9VVAotI2RlZmluZSBfTkxJU1RfRE9fRUxGCi0KLSNkZWZpbmUgX0tFUk5fRE9fQU9VVAotI2RlZmluZSBfS0VSTl9ET19FTEYKLQotI2VuZGlmICAvKiBfSTM4Nl9FWEVDX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fX2Nsb3NlLlMgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fX2Nsb3NlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk2OTQ0YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX19fY2xvc2UuUwpAQCAtMCwwICsxLDIyIEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2Nsb3NlKQorICAgIHB1c2hsICAgJWVieAorICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgOAorICAgIC5jZmlfcmVsX29mZnNldCBlYngsIDAKKyAgICBtb3YgICAgIDgoJWVzcCksICVlYngKKyAgICBtb3ZsICAgICRfX05SX2Nsb3NlLCAlZWF4CisgICAgaW50ICAgICAkMHg4MAorICAgIGNtcGwgICAgJC1NQVhfRVJSTk8sICVlYXgKKyAgICBqYiAgICAgIDFmCisgICAgbmVnbCAgICAlZWF4CisgICAgcHVzaGwgICAlZWF4CisgICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAorICAgIGFkZGwgICAgJDQsICVlc3AKKzE6CisgICAgcG9wbCAgICAlZWJ4CisgICAgcmV0CitFTkQoX19fY2xvc2UpCisuaGlkZGVuIF9fX2Nsb3NlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX19mYWNjZXNzYXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjFhNmVhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX19mYWNjZXNzYXQuUwpAQCAtMCwwICsxLDMyIEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZhY2Nlc3NhdCkKKyAgICBwdXNobCAgICVlYngKKyAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZWJ4LCAwCisgICAgcHVzaGwgICAlZWN4CisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAorICAgIHB1c2hsICAgJWVkeAorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgIC5jZmlfcmVsX29mZnNldCBlZHgsIDAKKyAgICBtb3YgICAgIDE2KCVlc3ApLCAlZWJ4CisgICAgbW92ICAgICAyMCglZXNwKSwgJWVjeAorICAgIG1vdiAgICAgMjQoJWVzcCksICVlZHgKKyAgICBtb3ZsICAgICRfX05SX2ZhY2Nlc3NhdCwgJWVheAorICAgIGludCAgICAgJDB4ODAKKyAgICBjbXBsICAgICQtTUFYX0VSUk5PLCAlZWF4CisgICAgamIgICAgICAxZgorICAgIG5lZ2wgICAgJWVheAorICAgIHB1c2hsICAgJWVheAorICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKyAgICBhZGRsICAgICQ0LCAlZXNwCisxOgorICAgIHBvcGwgICAgJWVkeAorICAgIHBvcGwgICAgJWVjeAorICAgIHBvcGwgICAgJWVieAorICAgIHJldAorRU5EKF9fX2ZhY2Nlc3NhdCkKKy5oaWRkZW4gX19fZmFjY2Vzc2F0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fX2ZjaG1vZC5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX19mY2htb2QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTlhNjk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX19mY2htb2QuUwpAQCAtMCwwICsxLDI3IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZjaG1vZCkKKyAgICBwdXNobCAgICVlYngKKyAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZWJ4LCAwCisgICAgcHVzaGwgICAlZWN4CisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAorICAgIG1vdiAgICAgMTIoJWVzcCksICVlYngKKyAgICBtb3YgICAgIDE2KCVlc3ApLCAlZWN4CisgICAgbW92bCAgICAkX19OUl9mY2htb2QsICVlYXgKKyAgICBpbnQgICAgICQweDgwCisgICAgY21wbCAgICAkLU1BWF9FUlJOTywgJWVheAorICAgIGpiICAgICAgMWYKKyAgICBuZWdsICAgICVlYXgKKyAgICBwdXNobCAgICVlYXgKKyAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgYWRkbCAgICAkNCwgJWVzcAorMToKKyAgICBwb3BsICAgICVlY3gKKyAgICBwb3BsICAgICVlYngKKyAgICByZXQKK0VORChfX19mY2htb2QpCisuaGlkZGVuIF9fX2ZjaG1vZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX19mY2htb2RhdC5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX19mY2htb2RhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNWJiNjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fX2ZjaG1vZGF0LlMKQEAgLTAsMCArMSwzMiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19mY2htb2RhdCkKKyAgICBwdXNobCAgICVlYngKKyAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZWJ4LCAwCisgICAgcHVzaGwgICAlZWN4CisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAorICAgIHB1c2hsICAgJWVkeAorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgIC5jZmlfcmVsX29mZnNldCBlZHgsIDAKKyAgICBtb3YgICAgIDE2KCVlc3ApLCAlZWJ4CisgICAgbW92ICAgICAyMCglZXNwKSwgJWVjeAorICAgIG1vdiAgICAgMjQoJWVzcCksICVlZHgKKyAgICBtb3ZsICAgICRfX05SX2ZjaG1vZGF0LCAlZWF4CisgICAgaW50ICAgICAkMHg4MAorICAgIGNtcGwgICAgJC1NQVhfRVJSTk8sICVlYXgKKyAgICBqYiAgICAgIDFmCisgICAgbmVnbCAgICAlZWF4CisgICAgcHVzaGwgICAlZWF4CisgICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAorICAgIGFkZGwgICAgJDQsICVlc3AKKzE6CisgICAgcG9wbCAgICAlZWR4CisgICAgcG9wbCAgICAlZWN4CisgICAgcG9wbCAgICAlZWJ4CisgICAgcmV0CitFTkQoX19fZmNobW9kYXQpCisuaGlkZGVuIF9fX2ZjaG1vZGF0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fY2xvY2tfbmFub3NsZWVwLlMgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19fY2xvY2tfbmFub3NsZWVwLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVhNTRkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUwpAQCAtMCwwICsxLDM2IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fY2xvY2tfbmFub3NsZWVwKQorICAgIHB1c2hsICAgJWVieAorICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgOAorICAgIC5jZmlfcmVsX29mZnNldCBlYngsIDAKKyAgICBwdXNobCAgICVlY3gKKyAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZWN4LCAwCisgICAgcHVzaGwgICAlZWR4CisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVkeCwgMAorICAgIHB1c2hsICAgJWVzaQorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgIC5jZmlfcmVsX29mZnNldCBlc2ksIDAKKyAgICBtb3YgICAgIDIwKCVlc3ApLCAlZWJ4CisgICAgbW92ICAgICAyNCglZXNwKSwgJWVjeAorICAgIG1vdiAgICAgMjgoJWVzcCksICVlZHgKKyAgICBtb3YgICAgIDMyKCVlc3ApLCAlZXNpCisgICAgbW92bCAgICAkX19OUl9jbG9ja19uYW5vc2xlZXAsICVlYXgKKyAgICBpbnQgICAgICQweDgwCisgICAgY21wbCAgICAkLU1BWF9FUlJOTywgJWVheAorICAgIGpiICAgICAgMWYKKyAgICBuZWdsICAgICVlYXgKKyAgICBwdXNobCAgICVlYXgKKyAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgYWRkbCAgICAkNCwgJWVzcAorMToKKyAgICBwb3BsICAgICVlc2kKKyAgICBwb3BsICAgICVlZHgKKyAgICBwb3BsICAgICVlY3gKKyAgICBwb3BsICAgICVlYngKKyAgICByZXQKK0VORChfX2Nsb2NrX25hbm9zbGVlcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX19ydF9zaWdxdWV1ZWluZm8uUyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX19ydF9zaWdxdWV1ZWluZm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTUyMTAwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TCkBAIC0wLDAgKzEsMzEgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19ydF9zaWdxdWV1ZWluZm8pCisgICAgcHVzaGwgICAlZWJ4CisgICAgLmNmaV9kZWZfY2ZhX29mZnNldCA4CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVieCwgMAorICAgIHB1c2hsICAgJWVjeAorICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAorICAgIC5jZmlfcmVsX29mZnNldCBlY3gsIDAKKyAgICBwdXNobCAgICVlZHgKKyAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZWR4LCAwCisgICAgbW92ICAgICAxNiglZXNwKSwgJWVieAorICAgIG1vdiAgICAgMjAoJWVzcCksICVlY3gKKyAgICBtb3YgICAgIDI0KCVlc3ApLCAlZWR4CisgICAgbW92bCAgICAkX19OUl9ydF9zaWdxdWV1ZWluZm8sICVlYXgKKyAgICBpbnQgICAgICQweDgwCisgICAgY21wbCAgICAkLU1BWF9FUlJOTywgJWVheAorICAgIGpiICAgICAgMWYKKyAgICBuZWdsICAgICVlYXgKKyAgICBwdXNobCAgICVlYXgKKyAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCisgICAgYWRkbCAgICAkNCwgJWVzcAorMToKKyAgICBwb3BsICAgICVlZHgKKyAgICBwb3BsICAgICVlY3gKKyAgICBwb3BsICAgICVlYngKKyAgICByZXQKK0VORChfX3J0X3NpZ3F1ZXVlaW5mbykKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX2V4aXQuUyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX2V4aXQuUwppbmRleCA4NTI4ZWU0Li45OTQ1YjM1IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL19leGl0LlMKKysrIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fZXhpdC5TCkBAIC0yMCw1ICsyMCw0IEBACiAgICAgcmV0CiBFTkQoX2V4aXQpCiAKLSAgICAuZ2xvYmwgX0V4aXQKLSAgICAuZXF1IF9FeGl0LCBfZXhpdAorQUxJQVNfU1lNQk9MKF9FeGl0LCBfZXhpdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTJjYzAzLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGNsb2NrX25hbm9zbGVlcCkKLSAgICBwdXNobCAgICVlYngKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKLSAgICAuY2ZpX3JlbF9vZmZzZXQgZWJ4LCAwCi0gICAgcHVzaGwgICAlZWN4Ci0gICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAotICAgIHB1c2hsICAgJWVkeAotICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAotICAgIC5jZmlfcmVsX29mZnNldCBlZHgsIDAKLSAgICBwdXNobCAgICVlc2kKLSAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKLSAgICAuY2ZpX3JlbF9vZmZzZXQgZXNpLCAwCi0gICAgbW92ICAgICAyMCglZXNwKSwgJWVieAotICAgIG1vdiAgICAgMjQoJWVzcCksICVlY3gKLSAgICBtb3YgICAgIDI4KCVlc3ApLCAlZWR4Ci0gICAgbW92ICAgICAzMiglZXNwKSwgJWVzaQotICAgIG1vdmwgICAgJF9fTlJfY2xvY2tfbmFub3NsZWVwLCAlZWF4Ci0gICAgaW50ICAgICAkMHg4MAotICAgIGNtcGwgICAgJC1NQVhfRVJSTk8sICVlYXgKLSAgICBqYiAgICAgIDFmCi0gICAgbmVnbCAgICAlZWF4Ci0gICAgcHVzaGwgICAlZWF4Ci0gICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAotICAgIGFkZGwgICAgJDQsICVlc3AKLTE6Ci0gICAgcG9wbCAgICAlZXNpCi0gICAgcG9wbCAgICAlZWR4Ci0gICAgcG9wbCAgICAlZWN4Ci0gICAgcG9wbCAgICAlZWJ4Ci0gICAgcmV0Ci1FTkQoY2xvY2tfbmFub3NsZWVwKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9jbG9zZS5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9jbG9zZS5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmNjZTYyLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvY2xvc2UuUworKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoY2xvc2UpCi0gICAgcHVzaGwgICAlZWJ4Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCA4Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IGVieCwgMAotICAgIG1vdiAgICAgOCglZXNwKSwgJWVieAotICAgIG1vdmwgICAgJF9fTlJfY2xvc2UsICVlYXgKLSAgICBpbnQgICAgICQweDgwCi0gICAgY21wbCAgICAkLU1BWF9FUlJOTywgJWVheAotICAgIGpiICAgICAgMWYKLSAgICBuZWdsICAgICVlYXgKLSAgICBwdXNobCAgICVlYXgKLSAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi0gICAgYWRkbCAgICAkNCwgJWVzcAotMToKLSAgICBwb3BsICAgICVlYngKLSAgICByZXQKLUVORChjbG9zZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvZmFjY2Vzc2F0LlMgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDUyMjMxLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvZmFjY2Vzc2F0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZhY2Nlc3NhdCkKLSAgICBwdXNobCAgICVlYngKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKLSAgICAuY2ZpX3JlbF9vZmZzZXQgZWJ4LCAwCi0gICAgcHVzaGwgICAlZWN4Ci0gICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAotICAgIHB1c2hsICAgJWVkeAotICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAotICAgIC5jZmlfcmVsX29mZnNldCBlZHgsIDAKLSAgICBwdXNobCAgICVlc2kKLSAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKLSAgICAuY2ZpX3JlbF9vZmZzZXQgZXNpLCAwCi0gICAgbW92ICAgICAyMCglZXNwKSwgJWVieAotICAgIG1vdiAgICAgMjQoJWVzcCksICVlY3gKLSAgICBtb3YgICAgIDI4KCVlc3ApLCAlZWR4Ci0gICAgbW92ICAgICAzMiglZXNwKSwgJWVzaQotICAgIG1vdmwgICAgJF9fTlJfZmFjY2Vzc2F0LCAlZWF4Ci0gICAgaW50ICAgICAkMHg4MAotICAgIGNtcGwgICAgJC1NQVhfRVJSTk8sICVlYXgKLSAgICBqYiAgICAgIDFmCi0gICAgbmVnbCAgICAlZWF4Ci0gICAgcHVzaGwgICAlZWF4Ci0gICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAotICAgIGFkZGwgICAgJDQsICVlc3AKLTE6Ci0gICAgcG9wbCAgICAlZXNpCi0gICAgcG9wbCAgICAlZWR4Ci0gICAgcG9wbCAgICAlZWN4Ci0gICAgcG9wbCAgICAlZWJ4Ci0gICAgcmV0Ci1FTkQoZmFjY2Vzc2F0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9mY2htb2QuUyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvZmNobW9kLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3ODUxZmYuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9mY2htb2QuUworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZmNobW9kKQotICAgIHB1c2hsICAgJWVieAotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgOAotICAgIC5jZmlfcmVsX29mZnNldCBlYngsIDAKLSAgICBwdXNobCAgICVlY3gKLSAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKLSAgICAuY2ZpX3JlbF9vZmZzZXQgZWN4LCAwCi0gICAgbW92ICAgICAxMiglZXNwKSwgJWVieAotICAgIG1vdiAgICAgMTYoJWVzcCksICVlY3gKLSAgICBtb3ZsICAgICRfX05SX2ZjaG1vZCwgJWVheAotICAgIGludCAgICAgJDB4ODAKLSAgICBjbXBsICAgICQtTUFYX0VSUk5PLCAlZWF4Ci0gICAgamIgICAgICAxZgotICAgIG5lZ2wgICAgJWVheAotICAgIHB1c2hsICAgJWVheAotICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLSAgICBhZGRsICAgICQ0LCAlZXNwCi0xOgotICAgIHBvcGwgICAgJWVjeAotICAgIHBvcGwgICAgJWVieAotICAgIHJldAotRU5EKGZjaG1vZCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvZmNobW9kYXQuUyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvZmNobW9kYXQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjUxNTUxMi4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZjaG1vZGF0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZjaG1vZGF0KQotICAgIHB1c2hsICAgJWVieAotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgOAotICAgIC5jZmlfcmVsX29mZnNldCBlYngsIDAKLSAgICBwdXNobCAgICVlY3gKLSAgICAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IDQKLSAgICAuY2ZpX3JlbF9vZmZzZXQgZWN4LCAwCi0gICAgcHVzaGwgICAlZWR4Ci0gICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IGVkeCwgMAotICAgIHB1c2hsICAgJWVzaQotICAgIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQgNAotICAgIC5jZmlfcmVsX29mZnNldCBlc2ksIDAKLSAgICBtb3YgICAgIDIwKCVlc3ApLCAlZWJ4Ci0gICAgbW92ICAgICAyNCglZXNwKSwgJWVjeAotICAgIG1vdiAgICAgMjgoJWVzcCksICVlZHgKLSAgICBtb3YgICAgIDMyKCVlc3ApLCAlZXNpCi0gICAgbW92bCAgICAkX19OUl9mY2htb2RhdCwgJWVheAotICAgIGludCAgICAgJDB4ODAKLSAgICBjbXBsICAgICQtTUFYX0VSUk5PLCAlZWF4Ci0gICAgamIgICAgICAxZgotICAgIG5lZ2wgICAgJWVheAotICAgIHB1c2hsICAgJWVheAotICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLSAgICBhZGRsICAgICQ0LCAlZXNwCi0xOgotICAgIHBvcGwgICAgJWVzaQotICAgIHBvcGwgICAgJWVkeAotICAgIHBvcGwgICAgJWVjeAotICAgIHBvcGwgICAgJWVieAotICAgIHJldAotRU5EKGZjaG1vZGF0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9mc3RhdDY0LlMgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZzdGF0NjQuUwppbmRleCBmYzE2MjMzLi5iYTM4NWE0IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZzdGF0NjQuUworKysgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZzdGF0NjQuUwpAQCAtMjUsNSArMjUsNCBAQAogICAgIHJldAogRU5EKGZzdGF0NjQpCiAKLSAgICAuZ2xvYmwgZnN0YXQKLSAgICAuZXF1IGZzdGF0LCBmc3RhdDY0CitBTElBU19TWU1CT0woZnN0YXQsIGZzdGF0NjQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9mc3RhdGF0NjQuUwppbmRleCBhMzY5N2U2Li45MGU4N2I2IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TCisrKyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvZnN0YXRhdDY0LlMKQEAgLTM1LDUgKzM1LDQgQEAKICAgICByZXQKIEVORChmc3RhdGF0NjQpCiAKLSAgICAuZ2xvYmwgZnN0YXRhdAotICAgIC5lcXUgZnN0YXRhdCwgZnN0YXRhdDY0CitBTElBU19TWU1CT0woZnN0YXRhdCwgZnN0YXRhdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9zZXRob3N0bmFtZS5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9zZXRob3N0bmFtZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmY2ZkNzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gteDg2L3N5c2NhbGxzL3NldGhvc3RuYW1lLlMKQEAgLTAsMCArMSwyNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShzZXRob3N0bmFtZSkKKyAgICBwdXNobCAgICVlYngKKyAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKKyAgICAuY2ZpX3JlbF9vZmZzZXQgZWJ4LCAwCisgICAgcHVzaGwgICAlZWN4CisgICAgLmNmaV9hZGp1c3RfY2ZhX29mZnNldCA0CisgICAgLmNmaV9yZWxfb2Zmc2V0IGVjeCwgMAorICAgIG1vdiAgICAgMTIoJWVzcCksICVlYngKKyAgICBtb3YgICAgIDE2KCVlc3ApLCAlZWN4CisgICAgbW92bCAgICAkX19OUl9zZXRob3N0bmFtZSwgJWVheAorICAgIGludCAgICAgJDB4ODAKKyAgICBjbXBsICAgICQtTUFYX0VSUk5PLCAlZWF4CisgICAgamIgICAgICAxZgorICAgIG5lZ2wgICAgJWVheAorICAgIHB1c2hsICAgJWVheAorICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKyAgICBhZGRsICAgICQ0LCAlZXNwCisxOgorICAgIHBvcGwgICAgJWVjeAorICAgIHBvcGwgICAgJWVieAorICAgIHJldAorRU5EKHNldGhvc3RuYW1lKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni94ODYubWsgYi9saWJjL2FyY2gteDg2L3g4Ni5tawppbmRleCAyYzkwMzE3Li5lNWQ3MGE5IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L3g4Ni5taworKysgYi9saWJjL2FyY2gteDg2L3g4Ni5tawpAQCAtMSwyNCArMSw2IEBACiAjIDMyLWJpdCB4ODYuCiAKICMKLSMgVmFyaW91cyBraW5kcyBvZiBMUDMyIGNydWZ0LgotIwotCi1saWJjX2Jpb25pY19zcmNfZmlsZXNfeDg2ICs9IFwKLSAgICBiaW9uaWMvbW1hcC5jcHAgXAotCi1saWJjX2NvbW1vbl9zcmNfZmlsZXNfeDg2ICs9IFwKLSAgICBiaW9uaWMvbGVnYWN5XzMyX2JpdF9zdXBwb3J0LmNwcCBcCi0gICAgYmlvbmljL25ka19jcnVmdC5jcHAgXAotICAgIGJpb25pYy90aW1lNjQuYyBcCi0KLWxpYmNfbmV0YnNkX3NyY19maWxlc194ODYgKz0gXAotICAgIHVwc3RyZWFtLW5ldGJzZC9jb21tb24vbGliL2xpYmMvaGFzaC9zaGExL3NoYTEuYyBcCi0KLWxpYmNfb3BlbmJzZF9zcmNfZmlsZXNfeDg2ICs9IFwKLSAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3B1dHcuYyBcCi0KLSMKICMgRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgb2YgZnVuY3Rpb25zIHRoYXQgYXJlIGNvbW1vbmx5IG9wdGltaXplZC4KICMKIApAQCAtNDAsMTAgKzIyLDggQEAKICAgICBhcmNoLXg4Ni9iaW9uaWMvX2V4aXRfd2l0aF9zdGFja190ZWFyZG93bi5TIFwKICAgICBhcmNoLXg4Ni9iaW9uaWMvbGliZ2NjX2NvbXBhdC5jIFwKICAgICBhcmNoLXg4Ni9iaW9uaWMvX19yZXN0b3JlLlMgXAotICAgIGFyY2gteDg2L2Jpb25pYy9fc2V0am1wLlMgXAogICAgIGFyY2gteDg2L2Jpb25pYy9zZXRqbXAuUyBcCiAgICAgYXJjaC14ODYvYmlvbmljL19fc2V0X3Rscy5jIFwKLSAgICBhcmNoLXg4Ni9iaW9uaWMvc2lnc2V0am1wLlMgXAogICAgIGFyY2gteDg2L2Jpb25pYy9zeXNjYWxsLlMgXAogICAgIGFyY2gteDg2L2Jpb25pYy92Zm9yay5TIFwKIApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9iaW9uaWMvX3NldGptcC5TIGIvbGliYy9hcmNoLXg4Nl82NC9iaW9uaWMvX3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjE3MDMwLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODZfNjQvYmlvbmljL19zZXRqbXAuUworKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLS8qCSRPcGVuQlNEOiBfc2V0am1wLlMsdiAxLjEgMjAwNC8wMS8yOCAwMTo0NDo0NSBtaWNrZXkgRXhwICQJKi8KLS8qCSROZXRCU0Q6IF9zZXRqbXAuUyx2IDEuMSAyMDAxLzA2LzE5IDAwOjI1OjAyIGZ2ZGwgRXhwICQJKi8KLQotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwMSBXYXNhYmkgU3lzdGVtcywgSW5jLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBXcml0dGVuIGJ5IEZyYW5rIHZhbiBkZXIgTGluZGVuIGZvciBXYXNhYmkgU3lzdGVtcywgSW5jLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCi0gKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6Ci0gKiAgICAgIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgZm9yIHRoZSBOZXRCU0QgUHJvamVjdCBieQotICogICAgICBXYXNhYmkgU3lzdGVtcywgSW5jLgotICogNC4gVGhlIG5hbWUgb2YgV2FzYWJpIFN5c3RlbXMsIEluYy4gbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2UKLSAqICAgIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgotICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgV0FTQUJJIFNZU1RFTVMsIElOQy4gYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAotICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBXQVNBQkkgU1lTVEVNUywgSU5DCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0gKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9zZXRqbXAuaD4KLQotLyoKLSAqIEMgbGlicmFyeSAtLSBfc2V0am1wLCBfbG9uZ2ptcAotICoKLSAqCV9sb25nam1wKGEsdikKLSAqIHdpbGwgZ2VuZXJhdGUgYSAicmV0dXJuKHYpIiBmcm9tIHRoZSBsYXN0IGNhbGwgdG8KLSAqCV9zZXRqbXAoYSkKLSAqIGJ5IHJlc3RvcmluZyByZWdpc3RlcnMgZnJvbSB0aGUgc3RhY2suCi0gKiBUaGUgcHJldmlvdXMgc2lnbmFsIHN0YXRlIGlzIE5PVCByZXN0b3JlZC4KLSAqLwotCi1FTlRSWShfc2V0am1wKQotCW1vdnEgICAgKCVyc3ApLCVyMTEKLQltb3ZxICAgICVyYngsKF9KQl9SQlggKiA4KSglcmRpKQotCW1vdnEgICAgJXJicCwoX0pCX1JCUCAqIDgpKCVyZGkpCi0JbW92cSAgICAlcjEyLChfSkJfUjEyICogOCkoJXJkaSkKLQltb3ZxICAgICVyMTMsKF9KQl9SMTMgKiA4KSglcmRpKQotCW1vdnEgICAgJXIxNCwoX0pCX1IxNCAqIDgpKCVyZGkpCi0JbW92cSAgICAlcjE1LChfSkJfUjE1ICogOCkoJXJkaSkKLQltb3ZxICAgICVyc3AsKF9KQl9SU1AgKiA4KSglcmRpKQotCW1vdnEgICAgJXIxMSwoX0pCX1BDICAqIDgpKCVyZGkpCi0KLQl4b3JsCSVlYXgsJWVheAotCXJldAotRU5EKF9zZXRqbXApCi0KLUVOVFJZKF9sb25nam1wKQotCW1vdnEgICAgKF9KQl9SQlggKiA4KSglcmRpKSwlcmJ4Ci0JbW92cSAgICAoX0pCX1JCUCAqIDgpKCVyZGkpLCVyYnAKLQltb3ZxICAgIChfSkJfUjEyICogOCkoJXJkaSksJXIxMgotCW1vdnEgICAgKF9KQl9SMTMgKiA4KSglcmRpKSwlcjEzCi0JbW92cSAgICAoX0pCX1IxNCAqIDgpKCVyZGkpLCVyMTQKLQltb3ZxICAgIChfSkJfUjE1ICogOCkoJXJkaSksJXIxNQotCW1vdnEgICAgKF9KQl9SU1AgKiA4KSglcmRpKSwlcnNwCi0JbW92cSAgICAoX0pCX1BDICAqIDgpKCVyZGkpLCVyMTEKLQotCW1vdmwJJWVzaSwlZWF4Ci0JdGVzdGwJJWVheCwlZWF4Ci0Jam56CTFmCi0JaW5jbAklZWF4Ci0xOgltb3ZxCSVyMTEsMCglcnNwKQotCXJldAotRU5EKF9sb25nam1wKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9iaW9uaWMvc2V0am1wLlMgYi9saWJjL2FyY2gteDg2XzY0L2Jpb25pYy9zZXRqbXAuUwppbmRleCBmMzU2ODc3Li41NTU5ZjU0IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L2Jpb25pYy9zZXRqbXAuUworKysgYi9saWJjL2FyY2gteDg2XzY0L2Jpb25pYy9zZXRqbXAuUwpAQCAtMSw2ICsxLDMgQEAKLS8qCSRPcGVuQlNEOiBzZXRqbXAuUyx2IDEuMyAyMDEyLzA4LzIyIDE3OjE5OjM0IHBhc2NhbCBFeHAgJAkqLwotLyoJJE5ldEJTRDogX19zZXRqbXAxNC5TLHYgMS4xIDIwMDEvMDYvMTkgMDA6MjU6MDIgZnZkbCBFeHAgJAkqLwotCiAvKgogICogQ29weXJpZ2h0IChjKSAyMDAxIFdhc2FiaSBTeXN0ZW1zLCBJbmMuCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMzcsNjAgKzM0LDEwMCBAQAogICovCiAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLSNpbmNsdWRlIDxtYWNoaW5lL3NldGptcC5oPgogCi0vKgotICogQyBsaWJyYXJ5IC0tIF9zZXRqbXAsIF9sb25nam1wCi0gKgotICoJbG9uZ2ptcChhLHYpCi0gKiB3aWxsIGdlbmVyYXRlIGEgInJldHVybih2KSIgZnJvbSB0aGUgbGFzdCBjYWxsIHRvCi0gKglzZXRqbXAoYSkKLSAqIGJ5IHJlc3RvcmluZyByZWdpc3RlcnMgZnJvbSB0aGUgc3RhY2suCi0gKiBUaGUgcHJldmlvdXMgc2lnbmFsIHN0YXRlIGlzIHJlc3RvcmVkLgotICovCisvLyBUaGVzZSBhcmUgb25seSB0aGUgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycy4gQ29kZSBjYWxsaW5nIHNldGptcAorLy8gd2lsbCBleHBlY3QgdGhlIHJlc3QgdG8gYmUgY2xvYmJlcmVkIGFueXdheS4KKworI2RlZmluZSBfSkJfUkJYIDAKKyNkZWZpbmUgX0pCX1JCUCAxCisjZGVmaW5lIF9KQl9SMTIgMgorI2RlZmluZSBfSkJfUjEzIDMKKyNkZWZpbmUgX0pCX1IxNCA0CisjZGVmaW5lIF9KQl9SMTUgNQorI2RlZmluZSBfSkJfUlNQIDYKKyNkZWZpbmUgX0pCX1BDIDcKKyNkZWZpbmUgX0pCX1NJR0ZMQUcgOAorI2RlZmluZSBfSkJfU0lHTUFTSyA5CisjZGVmaW5lIF9KQl9TSUdNQVNLX1JUIDEwIC8vIHNpZ3Byb2NtYXNrIHdpbGwgd3JpdGUgaGVyZSB0b28uCiAKIEVOVFJZKHNldGptcCkKLQlwdXNocQklcmRpCi0JeG9ycQklcmRpLCVyZGkKLQljYWxsCVBJQ19QTFQoc2lnYmxvY2spCi0JcG9wcQklcmRpCi0JbW92cQklcmF4LChfSkJfU0lHTUFTSyAqIDgpKCVyZGkpCi0KLQltb3ZxCSglcnNwKSwlcjExCi0JbW92cQklcmJ4LChfSkJfUkJYICogOCkoJXJkaSkKLQltb3ZxCSVyYnAsKF9KQl9SQlAgKiA4KSglcmRpKQotCW1vdnEJJXIxMiwoX0pCX1IxMiAqIDgpKCVyZGkpCi0JbW92cQklcjEzLChfSkJfUjEzICogOCkoJXJkaSkKLQltb3ZxCSVyMTQsKF9KQl9SMTQgKiA4KSglcmRpKQotCW1vdnEJJXIxNSwoX0pCX1IxNSAqIDgpKCVyZGkpCi0JbW92cQklcnNwLChfSkJfUlNQICogOCkoJXJkaSkKLQltb3ZxCSVyMTEsKF9KQl9QQyAgKiA4KSglcmRpKQotCi0yOgl4b3JsCSVlYXgsJWVheAotCXJldAorICBtb3ZsICQxLCVlc2kKKyAgam1wIFBJQ19QTFQoc2lnc2V0am1wKQogRU5EKHNldGptcCkKIAotRU5UUlkobG9uZ2ptcCkKLQltb3ZxCSVyZGksJXIxMgotCW1vdmwJJWVzaSwlcjhkCitFTlRSWShfc2V0am1wKQorICBtb3ZsICQwLCVlc2kKKyAgam1wIFBJQ19QTFQoc2lnc2V0am1wKQorRU5EKF9zZXRqbXApCiAKLQltb3ZxCShfSkJfU0lHTUFTSyAqIDgpKCVyZGkpLCVyZGkKLQlwdXNocQklcjgKLQljYWxsCVBJQ19QTFQoc2lnc2V0bWFzaykKLQlwb3BxCSVyOAotCW1vdnEJKF9KQl9SQlggKiA4KSglcjEyKSwlcmJ4Ci0JbW92cQkoX0pCX1JCUCAqIDgpKCVyMTIpLCVyYnAKLQltb3ZxCShfSkJfUjEzICogOCkoJXIxMiksJXIxMwotCW1vdnEJKF9KQl9SMTQgKiA4KSglcjEyKSwlcjE0Ci0JbW92cQkoX0pCX1IxNSAqIDgpKCVyMTIpLCVyMTUKLQltb3ZxCShfSkJfUlNQICogOCkoJXIxMiksJXJzcAotCW1vdnEJKF9KQl9QQyAgKiA4KSglcjEyKSwlcjExCi0JbW92cQkoX0pCX1IxMiAqIDgpKCVyMTIpLCVyMTIKKy8vIGludCBzaWdzZXRqbXAoc2lnam1wX2J1ZiBlbnYsIGludCBzYXZlX3NpZ25hbF9tYXNrKTsKK0VOVFJZKHNpZ3NldGptcCkKKyAgLy8gUmVjb3JkIHdoZXRoZXIgb3Igbm90IHdlJ3JlIHNhdmluZyB0aGUgc2lnbmFsIG1hc2suCisgIG1vdmwgJWVzaSwoX0pCX1NJR0ZMQUcgKiA4KSglcmRpKQogCi0JbW92bAklcjhkLCVlYXgKLQl0ZXN0bAklZWF4LCVlYXgKLQlqbnoJMWYKLQlpbmNsCSVlYXgKLTE6CW1vdnEJJXIxMSwwKCVyc3ApCi0JcmV0Ci1FTkQobG9uZ2ptcCkKKyAgLy8gRG8gd2UgbmVlZCB0byBzYXZlIHRoZSBzaWduYWwgbWFzaz8KKyAgdGVzdGwgJWVzaSwlZXNpCisgIGp6IDJmCisKKyAgLy8gU2F2ZSBjdXJyZW50IHNpZ25hbCBtYXNrLgorICBwdXNocSAlcmRpIC8vIFB1c2ggJ2VudicuCisgIC8vIFRoZSAnaG93JyBhcmd1bWVudCBpcyBpZ25vcmVkIGlmIG5ld19tYXNrIGlzIE5VTEwuCisgIHhvcnEgJXJzaSwlcnNpIC8vIE5VTEwuCisgIGxlYXEgKF9KQl9TSUdNQVNLICogOCkoJXJkaSksJXJkeCAvLyBvbGRfbWFzay4KKyAgY2FsbCBQSUNfUExUKHNpZ3Byb2NtYXNrKQorICBwb3BxICVyZGkgLy8gUG9wICdlbnYnLgorCisyOgorICAvLyBTYXZlIHRoZSBjYWxsZWUtc2F2ZSByZWdpc3RlcnMuCisgIG1vdnEgKCVyc3ApLCVyMTEKKyAgbW92cSAlcmJ4LChfSkJfUkJYICogOCkoJXJkaSkKKyAgbW92cSAlcmJwLChfSkJfUkJQICogOCkoJXJkaSkKKyAgbW92cSAlcjEyLChfSkJfUjEyICogOCkoJXJkaSkKKyAgbW92cSAlcjEzLChfSkJfUjEzICogOCkoJXJkaSkKKyAgbW92cSAlcjE0LChfSkJfUjE0ICogOCkoJXJkaSkKKyAgbW92cSAlcjE1LChfSkJfUjE1ICogOCkoJXJkaSkKKyAgbW92cSAlcnNwLChfSkJfUlNQICogOCkoJXJkaSkKKyAgbW92cSAlcjExLChfSkJfUEMgICogOCkoJXJkaSkKKworICB4b3JsICVlYXgsJWVheAorICByZXQKK0VORChzaWdzZXRqbXApCisKKy8vIHZvaWQgc2lnbG9uZ2ptcChzaWdqbXBfYnVmIGVudiwgaW50IHZhbHVlKTsKK0VOVFJZKHNpZ2xvbmdqbXApCisgIG1vdnEgJXJkaSwlcjEyCisgIHB1c2hxICVyc2kgLy8gUHVzaCAndmFsdWUnLgorCisgIC8vIERvIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgc2lnbmFsIG1hc2s/CisgIGNtcGwgJDAsKF9KQl9TSUdGTEFHICogOCkoJXJkaSkKKyAganogMmYKKworICAvLyBSZXN0b3JlIHRoZSBzaWduYWwgbWFzay4KKyAgbW92cSAkMiwlcmRpIC8vIFNJR19TRVRNQVNLLgorICBsZWFxIChfSkJfU0lHTUFTSyAqIDgpKCVyMTIpLCVyc2kgLy8gbmV3X21hc2suCisgIHhvcnEgJXJkeCwlcmR4IC8vIE5VTEwuCisgIGNhbGwgUElDX1BMVChzaWdwcm9jbWFzaykKKworMjoKKyAgcG9wcSAlcmF4IC8vIFBvcCAndmFsdWUnLgorCisgIC8vIFJlc3RvcmUgdGhlIGNhbGxlZS1zYXZlIHJlZ2lzdGVycy4KKyAgbW92cSAoX0pCX1JCWCAqIDgpKCVyMTIpLCVyYngKKyAgbW92cSAoX0pCX1JCUCAqIDgpKCVyMTIpLCVyYnAKKyAgbW92cSAoX0pCX1IxMyAqIDgpKCVyMTIpLCVyMTMKKyAgbW92cSAoX0pCX1IxNCAqIDgpKCVyMTIpLCVyMTQKKyAgbW92cSAoX0pCX1IxNSAqIDgpKCVyMTIpLCVyMTUKKyAgbW92cSAoX0pCX1JTUCAqIDgpKCVyMTIpLCVyc3AKKyAgbW92cSAoX0pCX1BDICAqIDgpKCVyMTIpLCVyMTEKKyAgbW92cSAoX0pCX1IxMiAqIDgpKCVyMTIpLCVyMTIKKworICB0ZXN0bCAlZWF4LCVlYXgKKyAgam56IDFmCisgIGluY2wgJWVheAorMToKKyAgbW92cSAlcjExLDAoJXJzcCkKKyAgcmV0CitFTkQoc2lnbG9uZ2ptcCkKKworQUxJQVNfU1lNQk9MKGxvbmdqbXAsIHNpZ2xvbmdqbXApCitBTElBU19TWU1CT0woX2xvbmdqbXAsIHNpZ2xvbmdqbXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L2Jpb25pYy9zaWdzZXRqbXAuUyBiL2xpYmMvYXJjaC14ODZfNjQvYmlvbmljL3NpZ3NldGptcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzFmZWEzLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODZfNjQvYmlvbmljL3NpZ3NldGptcC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLS8qCSRPcGVuQlNEOiBzaWdzZXRqbXAuUyx2IDEuMyAyMDEyLzA4LzIyIDE3OjE5OjM0IHBhc2NhbCBFeHAgJAkqLwotLyoJJE5ldEJTRDogX19zZXRqbXAxNC5TLHYgMS4xIDIwMDEvMDYvMTkgMDA6MjU6MDIgZnZkbCBFeHAgJAkqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAyMDAxIFdhc2FiaSBTeXN0ZW1zLCBJbmMuCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFdyaXR0ZW4gYnkgRnJhbmsgdmFuIGRlciBMaW5kZW4gZm9yIFdhc2FiaSBTeXN0ZW1zLCBJbmMuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKLSAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKLSAqICAgICAgVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBmb3IgdGhlIE5ldEJTRCBQcm9qZWN0IGJ5Ci0gKiAgICAgIFdhc2FiaSBTeXN0ZW1zLCBJbmMuCi0gKiA0LiBUaGUgbmFtZSBvZiBXYXNhYmkgU3lzdGVtcywgSW5jLiBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZQotICogICAgb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCi0gKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBXQVNBQkkgU1lTVEVNUywgSU5DLiBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVECi0gKiBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFdBU0FCSSBTWVNURU1TLCBJTkMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLSAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotI2luY2x1ZGUgPG1hY2hpbmUvc2V0am1wLmg+Ci0KLS8qCi0gKiBDIGxpYnJhcnkgLS0gX3NldGptcCwgX2xvbmdqbXAKLSAqCi0gKglsb25nam1wKGEsdikKLSAqIHdpbGwgZ2VuZXJhdGUgYSAicmV0dXJuKHYpIiBmcm9tIHRoZSBsYXN0IGNhbGwgdG8KLSAqCXNldGptcChhKQotICogYnkgcmVzdG9yaW5nIHJlZ2lzdGVycyBmcm9tIHRoZSBzdGFjay4KLSAqIFRoZSBwcmV2aW91cyBzaWduYWwgc3RhdGUgaXMgcmVzdG9yZWQuCi0gKi8KLQotRU5UUlkoc2lnc2V0am1wKQotCW1vdmwgICAgJWVzaSwoX0pCX1NJR0ZMQUcgICogOCkoJXJkaSkKLQl0ZXN0bCAgICVlc2ksJWVzaQotCWp6ICAgICAgMmYKLQotCXB1c2hxCSVyZGkKLQl4b3JxCSVyZGksJXJkaQotCWNhbGwJUElDX1BMVChzaWdibG9jaykKLQlwb3BxCSVyZGkKLQltb3ZxCSVyYXgsKF9KQl9TSUdNQVNLICogOCkoJXJkaSkKLQotMjoJbW92cQkoJXJzcCksJXIxMQotCW1vdnEJJXJieCwoX0pCX1JCWCAqIDgpKCVyZGkpCi0JbW92cQklcmJwLChfSkJfUkJQICogOCkoJXJkaSkKLQltb3ZxCSVyMTIsKF9KQl9SMTIgKiA4KSglcmRpKQotCW1vdnEJJXIxMywoX0pCX1IxMyAqIDgpKCVyZGkpCi0JbW92cQklcjE0LChfSkJfUjE0ICogOCkoJXJkaSkKLQltb3ZxCSVyMTUsKF9KQl9SMTUgKiA4KSglcmRpKQotCW1vdnEJJXJzcCwoX0pCX1JTUCAqIDgpKCVyZGkpCi0JbW92cQklcjExLChfSkJfUEMgICogOCkoJXJkaSkKLQotMjoJeG9ybAklZWF4LCVlYXgKLQlyZXQKLUVORChzaWdzZXRqbXApCi0KLUVOVFJZKHNpZ2xvbmdqbXApCi0JbW92cQklcmRpLCVyMTIKLQlwdXNocSAgICVyc2kKLQljbXBsICAgICQwLCAoX0pCX1NJR0ZMQUcgKiA4KSglcmRpKQotCWp6ICAgICAgMmYKLQotCW1vdnEJKF9KQl9TSUdNQVNLICogOCkoJXJkaSksJXJkaQotCWNhbGwJUElDX1BMVChzaWdzZXRtYXNrKQotMjoJcG9wcQklcmF4Ci0JbW92cQkoX0pCX1JCWCAqIDgpKCVyMTIpLCVyYngKLQltb3ZxCShfSkJfUkJQICogOCkoJXIxMiksJXJicAotCW1vdnEJKF9KQl9SMTMgKiA4KSglcjEyKSwlcjEzCi0JbW92cQkoX0pCX1IxNCAqIDgpKCVyMTIpLCVyMTQKLQltb3ZxCShfSkJfUjE1ICogOCkoJXIxMiksJXIxNQotCW1vdnEJKF9KQl9SU1AgKiA4KSglcjEyKSwlcnNwCi0JbW92cQkoX0pCX1BDICAqIDgpKCVyMTIpLCVyMTEKLQltb3ZxCShfSkJfUjEyICogOCkoJXIxMiksJXIxMgotCi0JdGVzdGwJJWVheCwlZWF4Ci0Jam56CTFmCi0JaW5jbAklZWF4Ci0xOgltb3ZxCSVyMTEsMCglcnNwKQotCXJldAotRU5EKHNpZ2xvbmdqbXApCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L2luY2x1ZGUvbWFjaGluZS9hc20uaCBiL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2FzbS5oCmluZGV4IDA2ZGEzOWEuLjI4Y2QwOGYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2FzbS5oCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2FzbS5oCkBAIC00MCwxMyArNDAsNiBAQAogI2RlZmluZSBQSUNfUExUKHgpCXhAUExUCiAjZGVmaW5lIFBJQ19HT1QoeCkJeEBHT1RQQ1JFTCglcmlwKQogCi0vKiBsZXQga2VybmVscyBhbmQgb3RoZXJzIG92ZXJyaWRlIGVudHJ5cG9pbnQgYWxpZ25tZW50ICovCi0jaWZuZGVmIF9BTElHTl9URVhUCi0jIGlmZGVmIF9TVEFOREFMT05FCi0jICBkZWZpbmUgX0FMSUdOX1RFWFQgLmFsaWduIDQKLSMgZWxzZQotIyAgZGVmaW5lIF9BTElHTl9URVhUIC5hbGlnbiAxNgotIyBlbmRpZgotI2VuZGlmCisjZGVmaW5lIF9fYmlvbmljX2FzbV9hbGlnbiAxNgogCiAjZW5kaWYgLyogIV9BTUQ2NF9BU01fSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2VuZGlhbi5oIGIvbGliYy9hcmNoLXg4Nl82NC9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4ODlhMzcuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0vKgkkT3BlbkJTRDogZW5kaWFuLmgsdiAxLjUgMjAxMS8wMy8xMiAyMjoyNzo0OCBndWVudGhlciBFeHAgJAkqLwotCi0vKi0KLSAqIENvcHlyaWdodCAoYykgMTk5NyBOaWtsYXMgSGFsbHF2aXN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgotICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwotICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KLSAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAotICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBfTUFDSElORV9FTkRJQU5fSF8KLSNkZWZpbmUgX01BQ0hJTkVfRU5ESUFOX0hfCi0KLSNpZmRlZiBfX0dOVUNfXwotCi0jZGVmaW5lCV9fc3dhcDMybWQoeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCXVfaW50MzJfdCBfX3N3YXAzMm1kX3ggPSAoeCk7CQkJCQlcCi0JCQkJCQkJCQlcCi0JX19hc20gKCJic3dhcCAlMCIgOiAiK3IiIChfX3N3YXAzMm1kX3gpKTsJCQlcCi0JX19zd2FwMzJtZF94OwkJCQkJCQlcCi19KQotCi0jZGVmaW5lCV9fc3dhcDY0bWQoeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCXVfaW50NjRfdCBfX3N3YXA2NG1kX3ggPSAoeCk7CQkJCQlcCi0JCQkJCQkJCQlcCi0JX19hc20gKCJic3dhcHEgJTAiIDogIityIiAoX19zd2FwNjRtZF94KSk7CQkJXAotCV9fc3dhcDY0bWRfeDsJCQkJCQkJXAotfSkKLQotI2RlZmluZQlfX3N3YXAxNm1kKHgpIF9fc3RhdGVtZW50KHsJCQkJCVwKLQl1X2ludDE2X3QgX19zd2FwMTZtZF94ID0gKHgpOwkJCQkJXAotCQkJCQkJCQkJXAotCV9fYXNtICgicm9ydyAkOCwgJXcwIiA6ICIrciIgKF9fc3dhcDE2bWRfeCkpOwkJCVwKLQlfX3N3YXAxNm1kX3g7CQkJCQkJCVwKLX0pCi0KLS8qIFRlbGwgc3lzL2VuZGlhbi5oIHdlIGhhdmUgTUQgdmFyaWFudHMgb2YgdGhlIHN3YXAgbWFjcm9zLiAgKi8KLSNkZWZpbmUgTURfU1dBUAotCi0jZW5kaWYJLyogX19HTlVDX18gKi8KLQotI2RlZmluZSBfQllURV9PUkRFUiBfTElUVExFX0VORElBTgotI2luY2x1ZGUgPHN5cy9lbmRpYW4uaD4KLQotI2VuZGlmIC8qIF9NQUNISU5FX0VORElBTl9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9pbmNsdWRlL21hY2hpbmUvZXhlYy5oIGIvbGliYy9hcmNoLXg4Nl82NC9pbmNsdWRlL21hY2hpbmUvZXhlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjkzNTFjLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2V4ZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8qCSRPcGVuQlNEOiBleGVjLmgsdiAxLjQgMjAxMi8wOS8xMSAxNTo0NDoxNyBkZXJhYWR0IEV4cCAkCSovCi0vKgotICogV3JpdHRlbiBieSBBcnR1ciBHcmFib3dza2kgPGFydEBvcGVuYnNkLm9yZz4gUHVibGljIERvbWFpbgotICovCi0KLSNpZm5kZWYgX01BQ0hJTkVfRVhFQ19IXwotI2RlZmluZSBfTUFDSElORV9FWEVDX0hfCi0KLSNkZWZpbmUgX19MRFBHU1ogNDA5NgotCi0jZGVmaW5lIEFSQ0hfRUxGU0laRSA2NAotCi0jZGVmaW5lIEVMRl9UQVJHX0NMQVNTCQlFTEZDTEFTUzY0Ci0jZGVmaW5lIEVMRl9UQVJHX0RBVEEJCUVMRkRBVEEyTFNCCi0jZGVmaW5lIEVMRl9UQVJHX01BQ0gJCUVNX1g4Nl82NAotCi0jZGVmaW5lIF9OTElTVF9ET19FTEYKLSNkZWZpbmUgX0tFUk5fRE9fRUxGNjQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L2luY2x1ZGUvbWFjaGluZS9zZXRqbXAuaCBiL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCmluZGV4IDAxZDYwNjYuLjQ2ZGRkNGIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL3NldGptcC5oCkBAIC0xLDIxICsxLDQgQEAKIC8qCSRPcGVuQlNEOiBzZXRqbXAuaCx2IDEuMSAyMDA0LzAxLzI4IDAxOjM5OjM5IG1pY2tleSBFeHAgJAkqLwogLyoJJE5ldEJTRDogc2V0am1wLmgsdiAxLjEgMjAwMy8wNC8yNiAxODozOTo0NyBmdmRsIEV4cCAkCSovCiAKLS8qCi0gKiBtYWNoaW5lL3NldGptcC5oOiBtYWNoaW5lIGRlcGVuZGVudCBzZXRqbXAtcmVsYXRlZCBpbmZvcm1hdGlvbi4KLSAqIFRoZXNlIGFyZSBvbmx5IHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzLCBjb2RlIGNhbGxpbmcgc2V0am1wCi0gKiB3aWxsIGV4cGVjdCB0aGUgcmVzdCB0byBiZSBjbG9iYmVyZWQgYW55d2F5LgotICovCi0KLSNkZWZpbmUgX0pCX1JCWAkJMAotI2RlZmluZSBfSkJfUkJQCQkxCi0jZGVmaW5lIF9KQl9SMTIJCTIKLSNkZWZpbmUgX0pCX1IxMwkJMwotI2RlZmluZSBfSkJfUjE0CQk0Ci0jZGVmaW5lIF9KQl9SMTUJCTUKLSNkZWZpbmUgX0pCX1JTUAkJNgotI2RlZmluZSBfSkJfUEMJCTcKLSNkZWZpbmUgX0pCX1NJR0ZMQUcJOAotI2RlZmluZSBfSkJfU0lHTUFTSwk5Ci0KICNkZWZpbmUJX0pCTEVOCTExCQkvKiBzaXplLCBpbiBsb25ncywgb2YgYSBqbXBfYnVmICovCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N0cmluZy9zc2UyLXN0cmxjYXQtc2xtLlMgYi9saWJjL2FyY2gteDg2XzY0L3N0cmluZy9zc2UyLXN0cmxjYXQtc2xtLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc5ZThjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3RyaW5nL3NzZTItc3RybGNhdC1zbG0uUwpAQCAtMCwwICsxLDM3IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjZGVmaW5lIFVTRV9BU19TVFJMQ0FUCisKKyNpZm5kZWYgU1RSTENQWQorIyBkZWZpbmUgU1RSTENQWQlzdHJsY2F0CisjZW5kaWYKKworI2luY2x1ZGUgInNzZTItc3RybGNweS1zbG0uUyIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3RyaW5nL3NzZTItc3RybGNweS1zbG0uUyBiL2xpYmMvYXJjaC14ODZfNjQvc3RyaW5nL3NzZTItc3RybGNweS1zbG0uUwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZDRiNTJmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zdHJpbmcvc3NlMi1zdHJsY3B5LXNsbS5TCkBAIC0wLDAgKzEsMTA2MiBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBMCisjIGRlZmluZSBMKGxhYmVsKQkuTCMjbGFiZWwKKyNlbmRpZgorCisjaWZuZGVmIGNmaV9zdGFydHByb2MKKyMgZGVmaW5lIGNmaV9zdGFydHByb2MJLmNmaV9zdGFydHByb2MKKyNlbmRpZgorCisjaWZuZGVmIGNmaV9lbmRwcm9jCisjIGRlZmluZSBjZmlfZW5kcHJvYwkuY2ZpX2VuZHByb2MKKyNlbmRpZgorCisjaWZuZGVmIEVOVFJZCisjIGRlZmluZSBFTlRSWShuYW1lKQlcCisJLnR5cGUgbmFtZSwgQGZ1bmN0aW9uOwlcCisJLmdsb2JsIG5hbWU7CVwKKwkucDJhbGlnbiA0OwlcCituYW1lOglcCisJY2ZpX3N0YXJ0cHJvYworI2VuZGlmCisKKyNpZm5kZWYgRU5ECisjIGRlZmluZSBFTkQobmFtZSkJXAorICAgICAgIGNmaV9lbmRwcm9jOwlcCisgICAgICAgLnNpemUgbmFtZSwgLi1uYW1lCisjZW5kaWYKKworCisjaWZuZGVmIFNUUkxDUFkKKyMgZGVmaW5lIFNUUkxDUFkJc3RybGNweQorI2VuZGlmCisKKyNkZWZpbmUgSk1QVEJMKEksIEIpCUkgLSBCCisjZGVmaW5lIEJSQU5DSF9UT19KTVBUQkxfRU5UUlkoVEFCTEUsIElOREVYLCBTQ0FMRSkJXAorCWxlYQlUQUJMRSglcmlwKSwgJXIxMTsJXAorCW1vdnNscQkoJXIxMSwgSU5ERVgsIFNDQUxFKSwgJXJjeDsJXAorCWxlYQkoJXIxMSwgJXJjeCksICVyY3g7CVwKKwlqbXAJKiVyY3gKKworI2RlZmluZSBSRVRVUk4JXAorCWFkZAklcjksICVyYXg7CVwKKwlyZXQKKworLnRleHQKK0VOVFJZIChTVFJMQ1BZKQorCXhvcgklcmF4LCAlcmF4CisJeG9yCSVyOSwgJXI5CisJbW92CSVyZHgsICVyOAorCWNtcAkkMCwgJXI4CisJanoJTChDYWxjdWxhdGVTcmNMZW4pCisKKyNpZmRlZiBVU0VfQVNfU1RSTENBVAorCXhvcgklcmN4LCAlcmN4CisJcHhvcgkleG1tMCwgJXhtbTAKKworCW1vdmRxdQkoJXJkaSksICV4bW0xCisJcGNtcGVxYiAleG1tMSwgJXhtbTAKKwlwbW92bXNrYiAleG1tMCwgJXJkeAorCisJY21wCSQxNywgJXI4CisJamIJTChTaXplRW5kQ2FzZTEpCisJdGVzdAklcmR4LCAlcmR4CisJam56CUwoU3RyaW5nRW5kQ2FzZTEpCisKKwlhZGQJJDE2LCAlcmF4CisJbW92ZHF1CTE2KCVyZGkpLCAleG1tMQorCXBjbXBlcWIgJXhtbTEsICV4bW0wCisJcG1vdm1za2IgJXhtbTAsICVyZHgKKworCWNtcAkkMzMsICVyOAorCWpiCUwoU2l6ZUVuZENhc2UxKQorCXRlc3QJJXJkeCwgJXJkeAorCWpueglMKFN0cmluZ0VuZENhc2UxKQorCisJbW92CSVyZGksICVyY3gKKwlhbmQJJDE1LCAlcmN4CisJYW5kCSQtMTYsICVyZGkKKworCWFkZAklcmN4LCAlcjgKKwlzdWIJJDE2LCAlcjgKKworTChEc3RMZW5Mb29wKToKKwltb3ZkcWEJKCVyZGksICVyYXgpLCAleG1tMQorCXBjbXBlcWIgJXhtbTEsICV4bW0wCisJcG1vdm1za2IgJXhtbTAsICVyZHgKKwlzdWIJJDE2LCAlcjgKKwlqYmUJTChTaXplRW5kQ2FzZTIpCisJdGVzdAklcmR4LCAlcmR4CisJam56CUwoU3RyaW5nRW5kQ2FzZTIpCisJYWRkCSQxNiwgJXJheAorCWptcAlMKERzdExlbkxvb3ApCisKK0woU3RyaW5nRW5kQ2FzZTIpOgorCWFkZAkkMTYsICVyOAorCWJzZgklcmR4LCAlcmR4CisJc3ViCSVyZHgsICVyOAorCWFkZAklcmR4LCAlcmF4CisJc3ViCSVyY3gsICVyOQorCWFkZAklcmF4LCAlcmRpCisJam1wCSBMKENvcHlTcmNTdHJpbmcpCisKK0woU2l6ZUVuZENhc2UxKToKKwl0ZXN0CSVyZHgsICVyZHgKKwlqeglMKFNpemVFbmQpCisJYnNmCSVyZHgsICVyZHgKKwlhZGQJJXJkeCwgJXJheAorCWNtcAklcjgsICVyYXgKKwlqYglMKFN0cmluZ0VuZCkKK0woU2l6ZUVuZCk6CisJbW92CSVyOCwgJXI5CisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuQ2FzZTEpCisKK0woU2l6ZUVuZENhc2UyKToKKwlhZGQJJDE2LCAlcjgKKwl0ZXN0CSVyZHgsICVyZHgKKwlqeglMKFN0cmluZ0VuZENhc2U0KQorCWJzZgklcmR4LCAlcmR4CisJY21wCSVyOCwgJXJkeAorCWpiCUwoU3RyaW5nRW5kQ2FzZTMpCitMKFN0cmluZ0VuZENhc2U0KToKKwlhZGQJJXI4LCAlcmF4CisJc3ViCSVyY3gsICVyYXgKKwltb3YJJXJheCwgJXI5CisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuQ2FzZTEpCisKK0woU3RyaW5nRW5kQ2FzZTMpOgorCWFkZAklcmR4LCAlcmF4CisJc3ViCSVyY3gsICVyOQorCWFkZAklcmF4LCAlcmRpCisJc3ViCSVyZHgsICVyOAorCWptcAlMKENvcHlTcmNTdHJpbmcpCisKK0woU3RyaW5nRW5kQ2FzZTEpOgorCWJzZgklcmR4LCAlcmR4CisJYWRkCSVyZHgsICVyYXgKKwlzdWIJJXJjeCwgJXJheAorTChTdHJpbmdFbmQpOgorCWFkZAklcmF4LCAlcmRpCisJc3ViCSVyYXgsICVyOAorI2VuZGlmCisKKwltb3YJJXJzaSwgJXJjeAorCWFuZAkkNjMsICVyY3gKKwljbXAJJDMyLCAlcmN4CisJamJlCUwoQ29weVNyY1N0cmluZykKKworCWFuZAkkLTE2LCAlcnNpCisJYW5kCSQxNSwgJXJjeAorCXB4b3IJJXhtbTAsICV4bW0wCisJcHhvcgkleG1tMSwgJXhtbTEKKworCXBjbXBlcWIJKCVyc2kpLCAleG1tMQorCXBtb3Ztc2tiICV4bW0xLCAlcmR4CisJc2hyCSVjbCwgJXJkeAorCW1vdgkkMTYsICVyMTAKKwlzdWIJJXJjeCwgJXIxMAorCWNtcAklcjEwLCAlcjgKKwlqYmUJTChDb3B5RnJvbTFUbzE2Qnl0ZXNUYWlsQ2FzZTJPckNhc2UzKQorCXRlc3QJJXJkeCwgJXJkeAorCWpueglMKENvcHlGcm9tMVRvMTZCeXRlc1RhaWwpCisKKwlwY21wZXFiCTE2KCVyc2kpLCAleG1tMAorCXBtb3Ztc2tiICV4bW0wLCAlcmR4CisJYWRkCSQxNiwgJXIxMAorCWNtcAklcjEwLCAlcjgKKwlqYmUJTChDb3B5RnJvbTFUbzMyQnl0ZXNDYXNlMk9yQ2FzZTMpCisJdGVzdAklcmR4LCAlcmR4CisJam56CUwoQ29weUZyb20xVG8zMkJ5dGVzKQorCisJbW92ZHF1CSglcnNpLCAlcmN4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTEsICglcmRpKQorI2lmZGVmIFVTRV9BU19TVFJMQ0FUCisJYWRkCSVyYXgsICVyOQorI2VuZGlmCisJam1wCUwoTG9vcFN0YXJ0KQorCisJLnAyYWxpZ24gNAorTChDb3B5U3JjU3RyaW5nKToKKyNpZmRlZiBVU0VfQVNfU1RSTENBVAorCWFkZAklcmF4LCAlcjkKKwl4b3IJJXJheCwgJXJheAorI2VuZGlmCisJcHhvcgkleG1tMCwgJXhtbTAKKwltb3ZkcXUJKCVyc2kpLCAleG1tMQorCXBjbXBlcWIJJXhtbTEsICV4bW0wCisJcG1vdm1za2IgJXhtbTAsICVyZHgKKworCWNtcAkkMTcsICVyOAorCWpiCUwoQ29weUZyb20xVG8xNkJ5dGVzVGFpbDFDYXNlMk9yQ2FzZTMpCisJdGVzdAklcmR4LCAlcmR4CisJam56CUwoQ29weUZyb20xVG8xNkJ5dGVzVGFpbDEpCisKKwltb3ZkcXUJMTYoJXJzaSksICV4bW0yCisJcGNtcGVxYgkleG1tMiwgJXhtbTAKKwltb3ZkcXUJJXhtbTEsICglcmRpKQorCXBtb3Ztc2tiICV4bW0wLCAlcmR4CisJYWRkCSQxNiwgJXJheAorCisJY21wCSQzMywgJXI4CisJamIJTChDb3B5RnJvbTFUbzMyQnl0ZXMxQ2FzZTJPckNhc2UzKQorCXRlc3QJJXJkeCwgJXJkeAorCWpueglMKENvcHlGcm9tMVRvMzJCeXRlczEpCisKKwltb3YJJXJzaSwgJXJjeAorCWFuZAkkMTUsICVyY3gKKwlhbmQJJC0xNiwgJXJzaQorCitMKExvb3BTdGFydCk6CisJc3ViCSVyY3gsICVyZGkKKwlhZGQJJXJjeCwgJXI4CisJc3ViCSQxNiwgJXI4CisJbW92CSQxNiwgJXJheAorCitMKDE2TG9vcCk6CisJbW92ZHFhCSglcnNpLCAlcmF4KSwgJXhtbTEKKwlwY21wZXFiCSV4bW0xLCAleG1tMAorCXBtb3Ztc2tiICV4bW0wLCAlcmR4CisJc3ViCSQxNiwgJXI4CisJamJlCUwoQ29weUZyb20xVG8xNkJ5dGVzQ2FzZTJPckNhc2UzKQorCXRlc3QJJXJkeCwgJXJkeAorCWpueglMKENvcHlGcm9tMVRvMTZCeXRlc1htbUV4aXQpCisJbW92ZHF1CSV4bW0xLCAoJXJkaSwgJXJheCkKKwlhZGQJJDE2LCAlcmF4CisJam1wCUwoMTZMb29wKQorCisvKi0tLS0tLUVuZCBvZiBtYWluIHBhcnQgd2l0aCBsb29wcy0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIENhc2UxICovCisJLnAyYWxpZ24gNAorTChDb3B5RnJvbTFUbzE2Qnl0ZXMpOgorCWFkZAklcmN4LCAlcmRpCisJYWRkCSVyY3gsICVyc2kKKwlic2YJJXJkeCwgJXJkeAorCWFkZAklcmR4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0U3RyaW5nVGFpbFRhYmxlKSwgJXJkeCwgNCkKKworCS5wMmFsaWduIDQKK0woQ29weUZyb20xVG8xNkJ5dGVzVGFpbCk6CisJYWRkCSVyY3gsICVyc2kKKwlic2YJJXJkeCwgJXJkeAorCWFkZAklcmR4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0U3RyaW5nVGFpbFRhYmxlKSwgJXJkeCwgNCkKKworCS5wMmFsaWduIDQKK0woQ29weUZyb20xVG8zMkJ5dGVzMSk6CisJYWRkCSQxNiwgJXJzaQorCWFkZAkkMTYsICVyZGkKKwlzdWIJJDE2LCAlcjgKK0woQ29weUZyb20xVG8xNkJ5dGVzVGFpbDEpOgorCWJzZgklcmR4LCAlcmR4CisJYWRkCSVyZHgsICVyYXgKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKEV4aXRTdHJpbmdUYWlsVGFibGUpLCAlcmR4LCA0KQorCisJLnAyYWxpZ24gNAorTChDb3B5RnJvbTFUbzMyQnl0ZXMpOgorCWJzZgklcmR4LCAlcmR4CisJYWRkCSVyY3gsICVyc2kKKwlhZGQJJDE2LCAlcmR4CisJc3ViCSVyY3gsICVyZHgKKwlhZGQJJXJkeCwgJXJheAorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkgKEwoRXhpdFN0cmluZ1RhaWxUYWJsZSksICVyZHgsIDQpCisKKwkucDJhbGlnbiA0CitMKENvcHlGcm9tMVRvMTZCeXRlc0V4aXQpOgorCWFkZAklcmR4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0U3RyaW5nVGFpbFRhYmxlKSwgJXJkeCwgNCkKKworLyogQ2FzZTIgKi8KKworCS5wMmFsaWduIDQKK0woQ29weUZyb20xVG8xNkJ5dGVzQ2FzZTIpOgorCWFkZAkkMTYsICVyOAorCWFkZAklcmF4LCAlcmRpCisJYWRkCSVyYXgsICVyc2kKKwlic2YJJXJkeCwgJXJkeAorCXN1YgklcmN4LCAlcmF4CisJY21wCSVyOCwgJXJkeAorCWpiCUwoQ29weUZyb20xVG8xNkJ5dGVzRXhpdCkKKwlhZGQJJXI4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0VGFibGUpLCAlcjgsIDQpCisKKwkucDJhbGlnbiA0CitMKENvcHlGcm9tMVRvMzJCeXRlc0Nhc2UyKToKKwlhZGQJJXJjeCwgJXJzaQorCWJzZgklcmR4LCAlcmR4CisJYWRkCSQxNiwgJXJkeAorCXN1YgklcmN4LCAlcmR4CisJY21wCSVyOCwgJXJkeAorCWpiCUwoQ29weUZyb20xVG8xNkJ5dGVzRXhpdCkKKwlhZGQJJXI4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0VGFibGUpLCAlcjgsIDQpCisKK0woQ29weUZyb20xVG8xNkJ5dGVzVGFpbENhc2UyKToKKwlhZGQJJXJjeCwgJXJzaQorCWJzZgklcmR4LCAlcmR4CisJY21wCSVyOCwgJXJkeAorCWpiCUwoQ29weUZyb20xVG8xNkJ5dGVzRXhpdCkKKwlhZGQJJXI4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0VGFibGUpLCAlcjgsIDQpCisKKwkucDJhbGlnbiA0CitMKENvcHlGcm9tMVRvMTZCeXRlc1RhaWwxQ2FzZTIpOgorCWJzZgklcmR4LCAlcmR4CisJY21wCSVyOCwgJXJkeAorCWpiCUwoQ29weUZyb20xVG8xNkJ5dGVzRXhpdCkKKwlhZGQJJXI4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0VGFibGUpLCAlcjgsIDQpCisKKy8qIENhc2UyIG9yIENhc2UzLCAgQ2FzZTMgKi8KKworCS5wMmFsaWduIDQKK0woQ29weUZyb20xVG8xNkJ5dGVzQ2FzZTJPckNhc2UzKToKKwl0ZXN0CSVyZHgsICVyZHgKKwlqbnoJTChDb3B5RnJvbTFUbzE2Qnl0ZXNDYXNlMikKKwlhZGQJJDE2LCAlcjgKKwlhZGQJJXJheCwgJXJkaQorCWFkZAklcmF4LCAlcnNpCisJYWRkCSVyOCwgJXJheAorCXN1YgklcmN4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0VGFibGUpLCAlcjgsIDQpCisKKwkucDJhbGlnbiA0CitMKENvcHlGcm9tMVRvMzJCeXRlc0Nhc2UyT3JDYXNlMyk6CisJdGVzdAklcmR4LCAlcmR4CisJam56CUwoQ29weUZyb20xVG8zMkJ5dGVzQ2FzZTIpCisJYWRkCSVyY3gsICVyc2kKKwlhZGQJJXI4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0VGFibGUpLCAlcjgsIDQpCisKKwkucDJhbGlnbiA0CitMKENvcHlGcm9tMVRvMTZCeXRlc1RhaWxDYXNlMk9yQ2FzZTMpOgorCXRlc3QJJXJkeCwgJXJkeAorCWpueglMKENvcHlGcm9tMVRvMTZCeXRlc1RhaWxDYXNlMikKKwlhZGQJJXJjeCwgJXJzaQorCWFkZAklcjgsICVyYXgKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKEV4aXRUYWJsZSksICVyOCwgNCkKKworCS5wMmFsaWduIDQKK0woQ29weUZyb20xVG8zMkJ5dGVzMUNhc2UyT3JDYXNlMyk6CisJYWRkCSQxNiwgJXJkaQorCWFkZAkkMTYsICVyc2kKKwlzdWIJJDE2LCAlcjgKK0woQ29weUZyb20xVG8xNkJ5dGVzVGFpbDFDYXNlMk9yQ2FzZTMpOgorCXRlc3QJJXJkeCwgJXJkeAorCWpueglMKENvcHlGcm9tMVRvMTZCeXRlc1RhaWwxQ2FzZTIpCisJYWRkCSVyOCwgJXJheAorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkgKEwoRXhpdFRhYmxlKSwgJXI4LCA0KQorCisJLnAyYWxpZ24gNAorTChDb3B5RnJvbTFUbzE2Qnl0ZXNYbW1FeGl0KToKKwlic2YJJXJkeCwgJXJkeAorCWFkZAklcmF4LCAlcmRpCisJYWRkCSVyYXgsICVyc2kKKwlhZGQJJXJkeCwgJXJheAorCXN1YgklcmN4LCAlcmF4CisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChFeGl0U3RyaW5nVGFpbFRhYmxlKSwgJXJkeCwgNCkKKworLyotLS0tLS0tLS0tLS1FbmQgbGFiZWxzIHJlZ2FyZGluZyB3aXRoIGNvcHlpbmcgMS0xNiBieXRlcy0tYW5kIDEtMzIgYnl0ZXMtLS0tKi8KKworCisJLnAyYWxpZ24gNAorTChFeGl0MCk6CisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKEV4aXQxKToKKwltb3ZiCSQwLCAoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyKToKKwltb3ZiCSglcnNpKSwgJWRoCisJbW92YgklZGgsICglcmRpKQorCW1vdmIJJDAsIDEoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQzKToKKwltb3Z3CSglcnNpKSwgJWR4CisJbW92dwklZHgsICglcmRpKQorCW1vdmIJJDAsIDIoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQ0KToKKwltb3Z3CSglcnNpKSwgJWN4CisJbW92YgkyKCVyc2kpLCAlZGgKKwltb3Z3CSVjeCwgKCVyZGkpCisJbW92YgklZGgsIDIoJXJkaSkKKwltb3ZiCSQwLCAzKCVyZGkpCisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuKQorCisJLnAyYWxpZ24gNAorTChFeGl0NSk6CisJbW92bAkoJXJzaSksICVlZHgKKwltb3ZsCSVlZHgsICglcmRpKQorCW1vdmIJJDAsIDQoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQ2KToKKwltb3ZsCSglcnNpKSwgJWVjeAorCW1vdmIJNCglcnNpKSwgJWRoCisJbW92bAklZWN4LCAoJXJkaSkKKwltb3ZiCSVkaCwgNCglcmRpKQorCW1vdmIJJDAsIDUoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQ3KToKKwltb3ZsCSglcnNpKSwgJWVjeAorCW1vdncJNCglcnNpKSwgJWR4CisJbW92bAklZWN4LCAoJXJkaSkKKwltb3Z3CSVkeCwgNCglcmRpKQorCW1vdmIJJDAsIDYoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQ4KToKKwltb3ZsCSglcnNpKSwgJWVjeAorCW1vdmwJMyglcnNpKSwgJWVkeAorCW1vdmwJJWVjeCwgKCVyZGkpCisJbW92bAklZWR4LCAzKCVyZGkpCisJbW92YgkkMCwgNyglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDkpOgorCW1vdnEJKCVyc2kpLCAlcmR4CisJbW92cQklcmR4LCAoJXJkaSkKKwltb3ZiCSQwLCA4KCVyZGkpCisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuKQorCisJLnAyYWxpZ24gNAorTChFeGl0MTApOgorCW1vdnEJKCVyc2kpLCAlcmN4CisJbW92Ygk4KCVyc2kpLCAlZGgKKwltb3ZxCSVyY3gsICglcmRpKQorCW1vdmIJJWRoLCA4KCVyZGkpCisJbW92YgkkMCwgOSglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDExKToKKwltb3ZxCSglcnNpKSwgJXJjeAorCW1vdncJOCglcnNpKSwgJWR4CisJbW92cQklcmN4LCAoJXJkaSkKKwltb3Z3CSVkeCwgOCglcmRpKQorCW1vdmIJJDAsIDEwKCVyZGkpCisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuKQorCisJLnAyYWxpZ24gNAorTChFeGl0MTIpOgorCW1vdnEJKCVyc2kpLCAlcmN4CisJbW92bAk3KCVyc2kpLCAlZWR4CisJbW92cQklcmN4LCAoJXJkaSkKKwltb3ZsCSVlZHgsIDcoJXJkaSkKKwltb3ZiCSQwLCAxMSglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDEzKToKKwltb3ZxCSglcnNpKSwgJXJjeAorCW1vdmwJOCglcnNpKSwgJWVkeAorCW1vdnEJJXJjeCwgKCVyZGkpCisJbW92bAklZWR4LCA4KCVyZGkpCisJbW92YgkkMCwgMTIoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQxNCk6CisJbW92cQkoJXJzaSksICVyY3gKKwltb3ZxCTUoJXJzaSksICVyZHgKKwltb3ZxCSVyY3gsICglcmRpKQorCW1vdnEJJXJkeCwgNSglcmRpKQorCW1vdmIJJDAsIDEzKCVyZGkpCisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuKQorCisJLnAyYWxpZ24gNAorTChFeGl0MTUpOgorCW1vdnEJKCVyc2kpLCAlcmN4CisJbW92cQk2KCVyc2kpLCAlcmR4CisJbW92cQklcmN4LCAoJXJkaSkKKwltb3ZxCSVyZHgsIDYoJXJkaSkKKwltb3ZiCSQwLCAxNCglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDE2KToKKwltb3ZxCSglcnNpKSwgJXJjeAorCW1vdnEJNyglcnNpKSwgJXJkeAorCW1vdnEJJXJjeCwgKCVyZGkpCisJbW92cQklcmR4LCA3KCVyZGkpCisJbW92YgkkMCwgMTUoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQxNyk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdmIJJDAsIDE2KCVyZGkpCisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuKQorCisJLnAyYWxpZ24gNAorTChFeGl0MTgpOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92YgkxNiglcnNpKSwgJWRoCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZiCSVkaCwgMTYoJXJkaSkKKwltb3ZiCSQwLCAxNyglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDE5KToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdncJMTYoJXJzaSksICVjeAorCW1vdmRxdQkleG1tMCwgKCVyZGkpCisJbW92dwklY3gsIDE2KCVyZGkpCisJbW92YgkkMCwgMTgoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyMCk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZsCTE1KCVyc2kpLCAlZWN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZsCSVlY3gsIDE1KCVyZGkpCisJbW92YgkkMCwgMTkoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyMSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZsCTE2KCVyc2kpLCAlZWN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZsCSVlY3gsIDE2KCVyZGkpCisJbW92YgkkMCwgMjAoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyMik6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZsCTE2KCVyc2kpLCAlZWN4CisJbW92YgkyMCglcnNpKSwgJWRoCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZsCSVlY3gsIDE2KCVyZGkpCisJbW92YgklZGgsIDIwKCVyZGkpCisJbW92YgkkMCwgMjEoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyMyk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZxCTE0KCVyc2kpLCAlcmN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZxCSVyY3gsIDE0KCVyZGkpCisJbW92YgkkMCwgMjIoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyNCk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZxCTE1KCVyc2kpLCAlcmN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZxCSVyY3gsIDE1KCVyZGkpCisJbW92YgkkMCwgMjMoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyNSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZxCTE2KCVyc2kpLCAlcmN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZxCSVyY3gsIDE2KCVyZGkpCisJbW92YgkkMCwgMjQoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQyNik6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZxCTE2KCVyc2kpLCAlcmN4CisJbW92YgkyNCglcnNpKSwgJWRoCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZxCSVyY3gsIDE2KCVyZGkpCisJbW92CSVkaCwgMjQoJXJkaSkKKwltb3ZiCSQwLCAyNSglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDI3KToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdnEJMTYoJXJzaSksICVyZHgKKwltb3Z3CTI0KCVyc2kpLCAlY3gKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdnEJJXJkeCwgMTYoJXJkaSkKKwltb3Z3CSVjeCwgMjQoJXJkaSkKKwltb3ZiCSQwLCAyNiglcmRpKQorCWptcAlMKENhbGN1bGF0ZVNyY0xlbikKKworCS5wMmFsaWduIDQKK0woRXhpdDI4KToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdnEJMTYoJXJzaSksICVyZHgKKwltb3ZsCTIzKCVyc2kpLCAlZWN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZxCSVyZHgsIDE2KCVyZGkpCisJbW92bAklZWN4LCAyMyglcmRpKQorCW1vdmIJJDAsIDI3KCVyZGkpCisJam1wCUwoQ2FsY3VsYXRlU3JjTGVuKQorCisJLnAyYWxpZ24gNAorTChFeGl0MjkpOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92cQkxNiglcnNpKSwgJXJkeAorCW1vdmwJMjQoJXJzaSksICVlY3gKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdnEJJXJkeCwgMTYoJXJkaSkKKwltb3ZsCSVlY3gsIDI0KCVyZGkpCisJbW92YgkkMCwgMjgoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQzMCk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTMoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDEzKCVyZGkpCisJbW92YgkkMCwgMjkoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQzMSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTQoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDE0KCVyZGkpCisJbW92YgkkMCwgMzAoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKEV4aXQzMik6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTUoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDE1KCVyZGkpCisJbW92YgkkMCwgMzEoJXJkaSkKKwlqbXAJTChDYWxjdWxhdGVTcmNMZW4pCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwwKToKKwltb3YJKCVyc2kpLCAlZGwKKwltb3YJJWRsLCAoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDEpOgorCW1vdgkoJXJzaSksICVkeAorCW1vdgklZHgsICglcmRpKQorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChTdHJpbmdUYWlsMik6CisJbW92CSglcnNpKSwgJWN4CisJbW92CTIoJXJzaSksICVkbAorCW1vdgklY3gsICglcmRpKQorCW1vdgklZGwsIDIoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDMpOgorCW1vdgkoJXJzaSksICVlZHgKKwltb3YJJWVkeCwgKCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWw0KToKKwltb3YJKCVyc2kpLCAlZWN4CisJbW92CTQoJXJzaSksICVkbAorCW1vdgklZWN4LCAoJXJkaSkKKwltb3YJJWRsLCA0KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWw1KToKKwltb3YJKCVyc2kpLCAlZWN4CisJbW92CTQoJXJzaSksICVkeAorCW1vdgklZWN4LCAoJXJkaSkKKwltb3YJJWR4LCA0KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWw2KToKKwltb3YJKCVyc2kpLCAlZWN4CisJbW92CTMoJXJzaSksICVlZHgKKwltb3YJJWVjeCwgKCVyZGkpCisJbW92CSVlZHgsIDMoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDcpOgorCW1vdgkoJXJzaSksICVyZHgKKwltb3YJJXJkeCwgKCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWw4KToKKwltb3YJKCVyc2kpLCAlcmN4CisJbW92CTgoJXJzaSksICVkbAorCW1vdgklcmN4LCAoJXJkaSkKKwltb3YJJWRsLCA4KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWw5KToKKwltb3YJKCVyc2kpLCAlcmN4CisJbW92CTgoJXJzaSksICVkeAorCW1vdgklcmN4LCAoJXJkaSkKKwltb3YJJWR4LCA4KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxMCk6CisJbW92CSglcnNpKSwgJXJjeAorCW1vdgk3KCVyc2kpLCAlZWR4CisJbW92CSVyY3gsICglcmRpKQorCW1vdgklZWR4LCA3KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxMSk6CisJbW92CSglcnNpKSwgJXJjeAorCW1vdgk4KCVyc2kpLCAlZWR4CisJbW92CSVyY3gsICglcmRpKQorCW1vdgklZWR4LCA4KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxMik6CisJbW92CSglcnNpKSwgJXJjeAorCW1vdgk1KCVyc2kpLCAlcmR4CisJbW92CSVyY3gsICglcmRpKQorCW1vdgklcmR4LCA1KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxMyk6CisJbW92CSglcnNpKSwgJXJjeAorCW1vdgk2KCVyc2kpLCAlcmR4CisJbW92CSVyY3gsICglcmRpKQorCW1vdgklcmR4LCA2KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxNCk6CisJbW92CSglcnNpKSwgJXJjeAorCW1vdgk3KCVyc2kpLCAlcmR4CisJbW92CSVyY3gsICglcmRpKQorCW1vdgklcmR4LCA3KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxNSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChTdHJpbmdUYWlsMTYpOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92CTE2KCVyc2kpLCAlY2wKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdgklY2wsIDE2KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxNyk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3YJMTYoJXJzaSksICVjeAorCW1vdmRxdQkleG1tMCwgKCVyZGkpCisJbW92CSVjeCwgMTYoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDE4KToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdgkxNSglcnNpKSwgJWVjeAorCW1vdmRxdQkleG1tMCwgKCVyZGkpCisJbW92CSVlY3gsIDE1KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwxOSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3YJMTYoJXJzaSksICVlY3gKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdgklZWN4LCAxNiglcmRpKQorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChTdHJpbmdUYWlsMjApOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92CTE2KCVyc2kpLCAlZWN4CisJbW92CTIwKCVyc2kpLCAlZGwKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdgklZWN4LCAxNiglcmRpKQorCW1vdgklZGwsIDIwKCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwyMSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3YJMTQoJXJzaSksICVyY3gKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdgklcmN4LCAxNCglcmRpKQorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChTdHJpbmdUYWlsMjIpOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92CTE1KCVyc2kpLCAlcmN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3YJJXJjeCwgMTUoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDIzKToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdgkxNiglcnNpKSwgJXJjeAorCW1vdmRxdQkleG1tMCwgKCVyZGkpCisJbW92CSVyY3gsIDE2KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwyNCk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3YJMTYoJXJzaSksICVyZHgKKwltb3YJMjQoJXJzaSksICVjbAorCW1vdmRxdQkleG1tMCwgKCVyZGkpCisJbW92CSVyZHgsIDE2KCVyZGkpCisJbW92CSVjbCwgMjQoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDI1KToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdgkxNiglcnNpKSwgJXJkeAorCW1vdgkyNCglcnNpKSwgJWN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3YJJXJkeCwgMTYoJXJkaSkKKwltb3YJJWN4LCAyNCglcmRpKQorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChTdHJpbmdUYWlsMjYpOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92CTE2KCVyc2kpLCAlcmR4CisJbW92CTIzKCVyc2kpLCAlZWN4CisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3YJJXJkeCwgMTYoJXJkaSkKKwltb3YJJWVjeCwgMjMoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woU3RyaW5nVGFpbDI3KToKKwltb3ZkcXUJKCVyc2kpLCAleG1tMAorCW1vdgkxNiglcnNpKSwgJXJkeAorCW1vdgkyNCglcnNpKSwgJWVjeAorCW1vdmRxdQkleG1tMCwgKCVyZGkpCisJbW92CSVyZHgsIDE2KCVyZGkpCisJbW92CSVlY3gsIDI0KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwyOCk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTMoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDEzKCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwyOSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTQoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDE0KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwzMCk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTUoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDE1KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwzMSk6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTYoJXJzaSksICV4bW0yCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDE2KCVyZGkpCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKFN0cmluZ1RhaWwzMik6CisJbW92ZHF1CSglcnNpKSwgJXhtbTAKKwltb3ZkcXUJMTYoJXJzaSksICV4bW0yCisJbW92CTMyKCVyc2kpLCAlY2wKKwltb3ZkcXUJJXhtbTAsICglcmRpKQorCW1vdmRxdQkleG1tMiwgMTYoJXJkaSkKKwltb3YJJWNsLCAzMiglcmRpKQorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChTdHJpbmdUYWlsMzMpOgorCW1vdmRxdQkoJXJzaSksICV4bW0wCisJbW92ZHF1CTE2KCVyc2kpLCAleG1tMgorCW1vdgkzMiglcnNpKSwgJWNsCisJbW92ZHF1CSV4bW0wLCAoJXJkaSkKKwltb3ZkcXUJJXhtbTIsIDE2KCVyZGkpCisJbW92CSVjbCwgMzIoJXJkaSkKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woQ2FsY3VsYXRlU3JjTGVuQ2FzZTEpOgorCXhvcgklcjgsICVyOAorCXhvcgklcmF4LCAlcmF4CitMKENhbGN1bGF0ZVNyY0xlbik6CisJcHhvcgkleG1tMCwgJXhtbTAKKwl4b3IJJXJjeCwgJXJjeAorCWFkZAklcjgsICVyc2kKKwltb3ZkcXUJKCVyc2kpLCAleG1tMQorCXBjbXBlcWIJJXhtbTEsICV4bW0wCisJcG1vdm1za2IgJXhtbTAsICVyZHgKKwl0ZXN0CSVyZHgsICVyZHgKKwlqbnoJTChTcmNMZW5Mb29wRW5kKQorCisJYWRkCSVyYXgsICVyOQorCW1vdgkkMTYsICVyYXgKKwltb3YJJXJzaSwgJXJjeAorCWFuZAkkMTUsICVyY3gKKwlhbmQJJC0xNiwgJXJzaQorTChTcmNMZW5Mb29wKToKKwltb3ZkcWEJKCVyc2ksICVyYXgpLCAleG1tMQorCXBjbXBlcWIJJXhtbTEsICV4bW0wCisJcG1vdm1za2IgJXhtbTAsICVyZHgKKwl0ZXN0CSVyZHgsICVyZHgKKwlqbnoJTChTcmNMZW5Mb29wRW5kKQorCWFkZAkkMTYsICVyYXgKKwlqbXAJTChTcmNMZW5Mb29wKQorCisJLnAyYWxpZ24gNAorTChTcmNMZW5Mb29wRW5kKToKKwlic2YJJXJkeCwgJXJkeAorCWFkZAklcmR4LCAlcmF4CisJc3ViCSVyY3gsICVyYXgKKwlSRVRVUk4KKworRU5EIChTVFJMQ1BZKQorCisJLnAyYWxpZ24gNAorCS5zZWN0aW9uIC5yb2RhdGEKK0woRXhpdFRhYmxlKToKKwkuaW50CUpNUFRCTChMKEV4aXQwKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDEpLCBMKEV4aXRUYWJsZSkpCisJLmludAlKTVBUQkwoTChFeGl0MiksIEwoRXhpdFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKEV4aXQzKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDQpLCBMKEV4aXRUYWJsZSkpCisJLmludAlKTVBUQkwoTChFeGl0NSksIEwoRXhpdFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKEV4aXQ2KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDcpLCBMKEV4aXRUYWJsZSkpCisJLmludAlKTVBUQkwoTChFeGl0OCksIEwoRXhpdFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKEV4aXQ5KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDEwKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDExKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDEyKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDEzKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDE0KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDE1KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDE2KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDE3KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDE4KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDE5KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDIwKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDIxKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDIyKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDIzKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDI0KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDI1KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDI2KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDI3KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDI4KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDI5KSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDMwKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDMxKSwgTChFeGl0VGFibGUpKQorCS5pbnQJSk1QVEJMKEwoRXhpdDMyKSwgTChFeGl0VGFibGUpKQorTChFeGl0U3RyaW5nVGFpbFRhYmxlKToKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwwKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwxKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwyKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwzKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWw0KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWw1KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWw2KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWw3KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWw4KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWw5KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwxMCksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMTEpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDEyKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwxMyksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMTQpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDE1KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwxNiksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMTcpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDE4KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwxOSksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMjApLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDIxKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwyMiksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMjMpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDI0KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwyNSksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMjYpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDI3KSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwyOCksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMjkpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDMwKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKKwkuaW50CUpNUFRCTChMKFN0cmluZ1RhaWwzMSksIEwoRXhpdFN0cmluZ1RhaWxUYWJsZSkpCisJLmludAlKTVBUQkwoTChTdHJpbmdUYWlsMzIpLCBMKEV4aXRTdHJpbmdUYWlsVGFibGUpKQorCS5pbnQJSk1QVEJMKEwoU3RyaW5nVGFpbDMzKSwgTChFeGl0U3RyaW5nVGFpbFRhYmxlKSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19fY2xvc2UuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19fY2xvc2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjA3ZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX19jbG9zZS5TCkBAIC0wLDAgKzEsMTYgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fY2xvc2UpCisgICAgbW92bCAgICAkX19OUl9jbG9zZSwgJWVheAorICAgIHN5c2NhbGwKKyAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4CisgICAgamIgICAgICAxZgorICAgIG5lZ2wgICAgJWVheAorICAgIG1vdmwgICAgJWVheCwgJWVkaQorICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKzE6CisgICAgcmV0CitFTkQoX19fY2xvc2UpCisuaGlkZGVuIF9fX2Nsb3NlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fX2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX19mYWNjZXNzYXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGZkM2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX19mYWNjZXNzYXQuUwpAQCAtMCwwICsxLDE2IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fX2ZhY2Nlc3NhdCkKKyAgICBtb3ZsICAgICRfX05SX2ZhY2Nlc3NhdCwgJWVheAorICAgIHN5c2NhbGwKKyAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4CisgICAgamIgICAgICAxZgorICAgIG5lZ2wgICAgJWVheAorICAgIG1vdmwgICAgJWVheCwgJWVkaQorICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKzE6CisgICAgcmV0CitFTkQoX19fZmFjY2Vzc2F0KQorLmhpZGRlbiBfX19mYWNjZXNzYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19fZmNobW9kLlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fX2ZjaG1vZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiY2NiZWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fX2ZjaG1vZC5TCkBAIC0wLDAgKzEsMTYgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19fZmNobW9kKQorICAgIG1vdmwgICAgJF9fTlJfZmNobW9kLCAlZWF4CisgICAgc3lzY2FsbAorICAgIGNtcHEgICAgJC1NQVhfRVJSTk8sICVyYXgKKyAgICBqYiAgICAgIDFmCisgICAgbmVnbCAgICAlZWF4CisgICAgbW92bCAgICAlZWF4LCAlZWRpCisgICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAorMToKKyAgICByZXQKK0VORChfX19mY2htb2QpCisuaGlkZGVuIF9fX2ZjaG1vZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX19mY2htb2RhdC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX19mY2htb2RhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4M2VjN2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fX2ZjaG1vZGF0LlMKQEAgLTAsMCArMSwxNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX19mY2htb2RhdCkKKyAgICBtb3ZsICAgICRfX05SX2ZjaG1vZGF0LCAlZWF4CisgICAgc3lzY2FsbAorICAgIGNtcHEgICAgJC1NQVhfRVJSTk8sICVyYXgKKyAgICBqYiAgICAgIDFmCisgICAgbmVnbCAgICAlZWF4CisgICAgbW92bCAgICAlZWF4LCAlZWRpCisgICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAorMToKKyAgICByZXQKK0VORChfX19mY2htb2RhdCkKKy5oaWRkZW4gX19fZmNobW9kYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19jbG9ja19uYW5vc2xlZXAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzcyNmMwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX2Nsb2NrX25hbm9zbGVlcC5TCkBAIC0wLDAgKzEsMTcgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoX19jbG9ja19uYW5vc2xlZXApCisgICAgbW92cSAgICAlcmN4LCAlcjEwCisgICAgbW92bCAgICAkX19OUl9jbG9ja19uYW5vc2xlZXAsICVlYXgKKyAgICBzeXNjYWxsCisgICAgY21wcSAgICAkLU1BWF9FUlJOTywgJXJheAorICAgIGpiICAgICAgMWYKKyAgICBuZWdsICAgICVlYXgKKyAgICBtb3ZsICAgICVlYXgsICVlZGkKKyAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCisxOgorICAgIHJldAorRU5EKF9fY2xvY2tfbmFub3NsZWVwKQorLmhpZGRlbiBfX2Nsb2NrX25hbm9zbGVlcApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX2ZzdGF0ZnMuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19mc3RhdGZzLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUwZTM1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19mc3RhdGZzLlMKQEAgLTAsMCArMSwxNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX2ZzdGF0ZnMpCisgICAgbW92bCAgICAkX19OUl9mc3RhdGZzLCAlZWF4CisgICAgc3lzY2FsbAorICAgIGNtcHEgICAgJC1NQVhfRVJSTk8sICVyYXgKKyAgICBqYiAgICAgIDFmCisgICAgbmVnbCAgICAlZWF4CisgICAgbW92bCAgICAlZWF4LCAlZWRpCisgICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAorMToKKyAgICByZXQKK0VORChfX2ZzdGF0ZnMpCisuaGlkZGVuIF9fZnN0YXRmcwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX3J0X3NpZ3F1ZXVlaW5mby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYjY4NjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fcnRfc2lncXVldWVpbmZvLlMKQEAgLTAsMCArMSwxNiBAQAorLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShfX3J0X3NpZ3F1ZXVlaW5mbykKKyAgICBtb3ZsICAgICRfX05SX3J0X3NpZ3F1ZXVlaW5mbywgJWVheAorICAgIHN5c2NhbGwKKyAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4CisgICAgamIgICAgICAxZgorICAgIG5lZ2wgICAgJWVheAorICAgIG1vdmwgICAgJWVheCwgJWVkaQorICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKzE6CisgICAgcmV0CitFTkQoX19ydF9zaWdxdWV1ZWluZm8pCisuaGlkZGVuIF9fcnRfc2lncXVldWVpbmZvCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fc3RhdGZzLlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19fc3RhdGZzLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA3YTgwOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19zdGF0ZnMuUwpAQCAtMCwwICsxLDE2IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fc3RhdGZzKQorICAgIG1vdmwgICAgJF9fTlJfc3RhdGZzLCAlZWF4CisgICAgc3lzY2FsbAorICAgIGNtcHEgICAgJC1NQVhfRVJSTk8sICVyYXgKKyAgICBqYiAgICAgIDFmCisgICAgbmVnbCAgICAlZWF4CisgICAgbW92bCAgICAlZWF4LCAlZWRpCisgICAgY2FsbCAgICBfX3NldF9lcnJub19pbnRlcm5hbAorMToKKyAgICByZXQKK0VORChfX3N0YXRmcykKKy5oaWRkZW4gX19zdGF0ZnMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX2V4aXQuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX2V4aXQuUwppbmRleCBjNzkwOTFkLi4xYWI0ZDRmIDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL19leGl0LlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fZXhpdC5TCkBAIC0xNCw1ICsxNCw0IEBACiAgICAgcmV0CiBFTkQoX2V4aXQpCiAKLSAgICAuZ2xvYmwgX0V4aXQKLSAgICAuZXF1IF9FeGl0LCBfZXhpdAorQUxJQVNfU1lNQk9MKF9FeGl0LCBfZXhpdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTc5YmRkLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGNsb2NrX25hbm9zbGVlcCkKLSAgICBtb3ZxICAgICVyY3gsICVyMTAKLSAgICBtb3ZsICAgICRfX05SX2Nsb2NrX25hbm9zbGVlcCwgJWVheAotICAgIHN5c2NhbGwKLSAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4Ci0gICAgamIgICAgICAxZgotICAgIG5lZ2wgICAgJWVheAotICAgIG1vdmwgICAgJWVheCwgJWVkaQotICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLTE6Ci0gICAgcmV0Ci1FTkQoY2xvY2tfbmFub3NsZWVwKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9jbG9zZS5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9jbG9zZS5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTdhZGExLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvY2xvc2UuUworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoY2xvc2UpCi0gICAgbW92bCAgICAkX19OUl9jbG9zZSwgJWVheAotICAgIHN5c2NhbGwKLSAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4Ci0gICAgamIgICAgICAxZgotICAgIG5lZ2wgICAgJWVheAotICAgIG1vdmwgICAgJWVheCwgJWVkaQotICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLTE6Ci0gICAgcmV0Ci1FTkQoY2xvc2UpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mYWNjZXNzYXQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDVhNmU3OC4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmYWNjZXNzYXQpCi0gICAgbW92cSAgICAlcmN4LCAlcjEwCi0gICAgbW92bCAgICAkX19OUl9mYWNjZXNzYXQsICVlYXgKLSAgICBzeXNjYWxsCi0gICAgY21wcSAgICAkLU1BWF9FUlJOTywgJXJheAotICAgIGpiICAgICAgMWYKLSAgICBuZWdsICAgICVlYXgKLSAgICBtb3ZsICAgICVlYXgsICVlZGkKLSAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi0xOgotICAgIHJldAotRU5EKGZhY2Nlc3NhdCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZmFsbG9jYXRlLlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZhbGxvY2F0ZS5TCmluZGV4IDgzMDdmN2UuLmY2Zjg5MWIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZmFsbG9jYXRlLlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mYWxsb2NhdGUuUwpAQCAtMTUsNSArMTUsNCBAQAogICAgIHJldAogRU5EKGZhbGxvY2F0ZSkKIAotICAgIC5nbG9ibCBmYWxsb2NhdGU2NAotICAgIC5lcXUgZmFsbG9jYXRlNjQsIGZhbGxvY2F0ZQorQUxJQVNfU1lNQk9MKGZhbGxvY2F0ZTY0LCBmYWxsb2NhdGUpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZjaG1vZC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mY2htb2QuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM1YmQyMS4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZjaG1vZC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShmY2htb2QpCi0gICAgbW92bCAgICAkX19OUl9mY2htb2QsICVlYXgKLSAgICBzeXNjYWxsCi0gICAgY21wcSAgICAkLU1BWF9FUlJOTywgJXJheAotICAgIGpiICAgICAgMWYKLSAgICBuZWdsICAgICVlYXgKLSAgICBtb3ZsICAgICVlYXgsICVlZGkKLSAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi0xOgotICAgIHJldAotRU5EKGZjaG1vZCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZmNobW9kYXQuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZmNobW9kYXQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ3OGQ4ZS4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZjaG1vZGF0LlMKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLwotCi0jaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+Ci0KLUVOVFJZKGZjaG1vZGF0KQotICAgIG1vdnEgICAgJXJjeCwgJXIxMAotICAgIG1vdmwgICAgJF9fTlJfZmNobW9kYXQsICVlYXgKLSAgICBzeXNjYWxsCi0gICAgY21wcSAgICAkLU1BWF9FUlJOTywgJXJheAotICAgIGpiICAgICAgMWYKLSAgICBuZWdsICAgICVlYXgKLSAgICBtb3ZsICAgICVlYXgsICVlZGkKLSAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi0xOgotICAgIHJldAotRU5EKGZjaG1vZGF0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mc3RhdDY0LlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZzdGF0NjQuUwppbmRleCBkZTU3NjY4Li5hMGQ0ZmExIDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZzdGF0NjQuUworKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZzdGF0NjQuUwpAQCAtMTQsNSArMTQsNCBAQAogICAgIHJldAogRU5EKGZzdGF0NjQpCiAKLSAgICAuZ2xvYmwgZnN0YXQKLSAgICAuZXF1IGZzdGF0LCBmc3RhdDY0CitBTElBU19TWU1CT0woZnN0YXQsIGZzdGF0NjQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mc3RhdGF0NjQuUwppbmRleCA0Nzc4NWJiLi4xOTg0ZDY4IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZnN0YXRhdDY0LlMKQEAgLTE1LDUgKzE1LDQgQEAKICAgICByZXQKIEVORChmc3RhdGF0NjQpCiAKLSAgICAuZ2xvYmwgZnN0YXRhdAotICAgIC5lcXUgZnN0YXRhdCwgZnN0YXRhdDY0CitBTElBU19TWU1CT0woZnN0YXRhdCwgZnN0YXRhdDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mc3RhdGZzNjQuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZnN0YXRmczY0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3MjczNTAuLjAwMDAwMDAKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mc3RhdGZzNjQuUworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoZnN0YXRmczY0KQotICAgIG1vdmwgICAgJF9fTlJfZnN0YXRmcywgJWVheAotICAgIHN5c2NhbGwKLSAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4Ci0gICAgamIgICAgICAxZgotICAgIG5lZ2wgICAgJWVheAotICAgIG1vdmwgICAgJWVheCwgJWVkaQotICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKLTE6Ci0gICAgcmV0Ci1FTkQoZnN0YXRmczY0KQotCi0gICAgLmdsb2JsIGZzdGF0ZnMKLSAgICAuZXF1IGZzdGF0ZnMsIGZzdGF0ZnM2NApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mdHJ1bmNhdGUuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZnRydW5jYXRlLlMKaW5kZXggMDM2NTM2OC4uNzkxNzQ2OCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9mdHJ1bmNhdGUuUworKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2Z0cnVuY2F0ZS5TCkBAIC0xNCw1ICsxNCw0IEBACiAgICAgcmV0CiBFTkQoZnRydW5jYXRlKQogCi0gICAgLmdsb2JsIGZ0cnVuY2F0ZTY0Ci0gICAgLmVxdSBmdHJ1bmNhdGU2NCwgZnRydW5jYXRlCitBTElBU19TWU1CT0woZnRydW5jYXRlNjQsIGZ0cnVuY2F0ZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2dldHJsaW1pdC5TCmluZGV4IDJkMjcyYTEuLjAwZWQwOGEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9nZXRybGltaXQuUwpAQCAtMTQsNSArMTQsNCBAQAogICAgIHJldAogRU5EKGdldHJsaW1pdCkKIAotICAgIC5nbG9ibCBnZXRybGltaXQ2NAotICAgIC5lcXUgZ2V0cmxpbWl0NjQsIGdldHJsaW1pdAorQUxJQVNfU1lNQk9MKGdldHJsaW1pdDY0LCBnZXRybGltaXQpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2xzZWVrLlMgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2xzZWVrLlMKaW5kZXggMTUzYjkzNS4uNjlkNjBjMiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9sc2Vlay5TCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvbHNlZWsuUwpAQCAtMTQsNSArMTQsNCBAQAogICAgIHJldAogRU5EKGxzZWVrKQogCi0gICAgLmdsb2JsIGxzZWVrNjQKLSAgICAuZXF1IGxzZWVrNjQsIGxzZWVrCitBTElBU19TWU1CT0wobHNlZWs2NCwgbHNlZWspCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL21tYXAuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvbW1hcC5TCmluZGV4IDhhYTQ3ODAuLjBjMjU0NzMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvbW1hcC5TCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvbW1hcC5TCkBAIC0xNSw1ICsxNSw0IEBACiAgICAgcmV0CiBFTkQobW1hcCkKIAotICAgIC5nbG9ibCBtbWFwNjQKLSAgICAuZXF1IG1tYXA2NCwgbW1hcAorQUxJQVNfU1lNQk9MKG1tYXA2NCwgbW1hcCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvcHJlYWQ2NC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9wcmVhZDY0LlMKaW5kZXggM2FhNTZlNS4uZWFhNDdiMSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9wcmVhZDY0LlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9wcmVhZDY0LlMKQEAgLTE1LDUgKzE1LDQgQEAKICAgICByZXQKIEVORChwcmVhZDY0KQogCi0gICAgLmdsb2JsIHByZWFkCi0gICAgLmVxdSBwcmVhZCwgcHJlYWQ2NAorQUxJQVNfU1lNQk9MKHByZWFkLCBwcmVhZDY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9wcmxpbWl0NjQuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvcHJsaW1pdDY0LlMKaW5kZXggNjNlYzQ5Mi4uNzM3Yjg2MyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9wcmxpbWl0NjQuUworKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL3BybGltaXQ2NC5TCkBAIC0xNSw1ICsxNSw0IEBACiAgICAgcmV0CiBFTkQocHJsaW1pdDY0KQogCi0gICAgLmdsb2JsIHBybGltaXQKLSAgICAuZXF1IHBybGltaXQsIHBybGltaXQ2NAorQUxJQVNfU1lNQk9MKHBybGltaXQsIHBybGltaXQ2NCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvcHdyaXRlNjQuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvcHdyaXRlNjQuUwppbmRleCAyNzc5ZmI0Li5lZGI2MGFmIDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL3B3cml0ZTY0LlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9wd3JpdGU2NC5TCkBAIC0xNSw1ICsxNSw0IEBACiAgICAgcmV0CiBFTkQocHdyaXRlNjQpCiAKLSAgICAuZ2xvYmwgcHdyaXRlCi0gICAgLmVxdSBwd3JpdGUsIHB3cml0ZTY0CitBTElBU19TWU1CT0wocHdyaXRlLCBwd3JpdGU2NCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvc2VuZGZpbGUuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvc2VuZGZpbGUuUwppbmRleCAxMTdiMGFhLi5jMGZhNGVlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL3NlbmRmaWxlLlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9zZW5kZmlsZS5TCkBAIC0xNSw1ICsxNSw0IEBACiAgICAgcmV0CiBFTkQoc2VuZGZpbGUpCiAKLSAgICAuZ2xvYmwgc2VuZGZpbGU2NAotICAgIC5lcXUgc2VuZGZpbGU2NCwgc2VuZGZpbGUKK0FMSUFTX1NZTUJPTChzZW5kZmlsZTY0LCBzZW5kZmlsZSkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvc2V0aG9zdG5hbWUuUyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvc2V0aG9zdG5hbWUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmNkMTJkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9zZXRob3N0bmFtZS5TCkBAIC0wLDAgKzEsMTUgQEAKKy8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoc2V0aG9zdG5hbWUpCisgICAgbW92bCAgICAkX19OUl9zZXRob3N0bmFtZSwgJWVheAorICAgIHN5c2NhbGwKKyAgICBjbXBxICAgICQtTUFYX0VSUk5PLCAlcmF4CisgICAgamIgICAgICAxZgorICAgIG5lZ2wgICAgJWVheAorICAgIG1vdmwgICAgJWVheCwgJWVkaQorICAgIGNhbGwgICAgX19zZXRfZXJybm9faW50ZXJuYWwKKzE6CisgICAgcmV0CitFTkQoc2V0aG9zdG5hbWUpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL3NldHJsaW1pdC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9zZXRybGltaXQuUwppbmRleCBlZjAzMDY4Li4zODQzZmY5IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL3NldHJsaW1pdC5TCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvc2V0cmxpbWl0LlMKQEAgLTE0LDUgKzE0LDQgQEAKICAgICByZXQKIEVORChzZXRybGltaXQpCiAKLSAgICAuZ2xvYmwgc2V0cmxpbWl0NjQKLSAgICAuZXF1IHNldHJsaW1pdDY0LCBzZXRybGltaXQKK0FMSUFTX1NZTUJPTChzZXRybGltaXQ2NCwgc2V0cmxpbWl0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9zdGF0ZnM2NC5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9zdGF0ZnM2NC5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmY2YmRkLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvc3RhdGZzNjQuUworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8qIEdlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weS4gRG8gbm90IGVkaXQuICovCi0KLSNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KLQotRU5UUlkoc3RhdGZzNjQpCi0gICAgbW92bCAgICAkX19OUl9zdGF0ZnMsICVlYXgKLSAgICBzeXNjYWxsCi0gICAgY21wcSAgICAkLU1BWF9FUlJOTywgJXJheAotICAgIGpiICAgICAgMWYKLSAgICBuZWdsICAgICVlYXgKLSAgICBtb3ZsICAgICVlYXgsICVlZGkKLSAgICBjYWxsICAgIF9fc2V0X2Vycm5vX2ludGVybmFsCi0xOgotICAgIHJldAotRU5EKHN0YXRmczY0KQotCi0gICAgLmdsb2JsIHN0YXRmcwotICAgIC5lcXUgc3RhdGZzLCBzdGF0ZnM2NApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy90cnVuY2F0ZS5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy90cnVuY2F0ZS5TCmluZGV4IDJlY2QwNWIuLjRiOTUzYTMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvdHJ1bmNhdGUuUworKysgYi9saWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL3RydW5jYXRlLlMKQEAgLTE0LDUgKzE0LDQgQEAKICAgICByZXQKIEVORCh0cnVuY2F0ZSkKIAotICAgIC5nbG9ibCB0cnVuY2F0ZTY0Ci0gICAgLmVxdSB0cnVuY2F0ZTY0LCB0cnVuY2F0ZQorQUxJQVNfU1lNQk9MKHRydW5jYXRlNjQsIHRydW5jYXRlKQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC94ODZfNjQubWsgYi9saWJjL2FyY2gteDg2XzY0L3g4Nl82NC5tawppbmRleCA4Njc1ZWY0Li4wNmQzMTg1IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2XzY0L3g4Nl82NC5taworKysgYi9saWJjL2FyY2gteDg2XzY0L3g4Nl82NC5tawpAQCAtOSw4ICs5LDYgQEAKICAgICBiaW9uaWMvX19tZW1zZXRfY2hrLmNwcCBcCiAgICAgYmlvbmljL19fc3RyY3B5X2Noay5jcHAgXAogICAgIGJpb25pYy9fX3N0cmNhdF9jaGsuY3BwIFwKLSAgICBiaW9uaWMvbWVtY2hyLmMgXAotICAgIGJpb25pYy9tZW1yY2hyLmMgXAogICAgIGJpb25pYy9zdHJjaHIuY3BwIFwKICAgICBiaW9uaWMvc3Rybmxlbi5jIFwKICAgICBiaW9uaWMvc3RycmNoci5jcHAgXApAQCAtMjYsOCArMjQsOCBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1tb3ZlLmMgXAogCiBsaWJjX29wZW5ic2Rfc3JjX2ZpbGVzX3g4Nl82NCArPSBcCi0gICAgdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvc3RybGNhdC5jIFwKLSAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9zdHJsY3B5LmMgXAorICAgIHVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbWNoci5jIFwKKyAgICB1cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9tZW1yY2hyLmMgXAogCiAjCiAjIEluaGVyZW50bHkgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGNvZGUuCkBAIC0zNywxMCArMzUsOCBAQAogICAgIGFyY2gteDg2XzY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TIFwKICAgICBhcmNoLXg4Nl82NC9iaW9uaWMvX2V4aXRfd2l0aF9zdGFja190ZWFyZG93bi5TIFwKICAgICBhcmNoLXg4Nl82NC9iaW9uaWMvX19yZXN0b3JlX3J0LlMgXAotICAgIGFyY2gteDg2XzY0L2Jpb25pYy9fc2V0am1wLlMgXAogICAgIGFyY2gteDg2XzY0L2Jpb25pYy9zZXRqbXAuUyBcCiAgICAgYXJjaC14ODZfNjQvYmlvbmljL19fc2V0X3Rscy5jIFwKLSAgICBhcmNoLXg4Nl82NC9iaW9uaWMvc2lnc2V0am1wLlMgXAogICAgIGFyY2gteDg2XzY0L2Jpb25pYy9zeXNjYWxsLlMgXAogICAgIGFyY2gteDg2XzY0L2Jpb25pYy92Zm9yay5TIFwKIApAQCAtNTYsNiArNTIsOCBAQAogICAgIGFyY2gteDg2XzY0L3N0cmluZy9zc2UyLXN0cG5jcHktc2xtLlMgXAogICAgIGFyY2gteDg2XzY0L3N0cmluZy9zc2UyLXN0cmNhdC1zbG0uUyBcCiAgICAgYXJjaC14ODZfNjQvc3RyaW5nL3NzZTItc3RyY3B5LXNsbS5TIFwKKyAgICBhcmNoLXg4Nl82NC9zdHJpbmcvc3NlMi1zdHJsY2F0LXNsbS5TIFwKKyAgICBhcmNoLXg4Nl82NC9zdHJpbmcvc3NlMi1zdHJsY3B5LXNsbS5TIFwKICAgICBhcmNoLXg4Nl82NC9zdHJpbmcvc3NlMi1zdHJsZW4tc2xtLlMgXAogICAgIGFyY2gteDg2XzY0L3N0cmluZy9zc2UyLXN0cm5jYXQtc2xtLlMgXAogICAgIGFyY2gteDg2XzY0L3N0cmluZy9zc2UyLXN0cm5jcHktc2xtLlMgXApkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvTmV0ZENsaWVudC5jcHAgYi9saWJjL2Jpb25pYy9OZXRkQ2xpZW50LmNwcAppbmRleCA1YjBmNGZkLi5iMTE3ZDcyIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9OZXRkQ2xpZW50LmNwcAorKysgYi9saWJjL2Jpb25pYy9OZXRkQ2xpZW50LmNwcApAQCAtMzQsNyArMzQsNyBAQAogfQogCiBzdGF0aWMgdm9pZCBuZXRkQ2xpZW50SW5pdEltcGwoKSB7Ci0gICAgdm9pZCogbmV0ZENsaWVudEhhbmRsZSA9IGRsb3BlbigibGlibmV0ZF9jbGllbnQuc28iLCBSVExEX0xBWlkpOworICAgIHZvaWQqIG5ldGRDbGllbnRIYW5kbGUgPSBkbG9wZW4oImxpYm5ldGRfY2xpZW50LnNvIiwgUlRMRF9OT1cpOwogICAgIGlmIChuZXRkQ2xpZW50SGFuZGxlID09IE5VTEwpIHsKICAgICAgICAgLy8gSWYgdGhlIGxpYnJhcnkgaXMgbm90IGF2YWlsYWJsZSwgaXQncyBub3QgYW4gZXJyb3IuIFdlJ2xsIGp1c3QgdXNlCiAgICAgICAgIC8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIG9mIGZ1bmN0aW9ucyB0aGF0IGl0IHdvdWxkJ3ZlIG92ZXJyaWRkZW4uCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9fX2N4YV9ndWFyZC5jcHAgYi9saWJjL2Jpb25pYy9fX2N4YV9ndWFyZC5jcHAKaW5kZXggNWIwZDU3ZC4uNWIzNGI1OCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvX19jeGFfZ3VhcmQuY3BwCisrKyBiL2xpYmMvYmlvbmljL19fY3hhX2d1YXJkLmNwcApAQCAtMTQsMTAgKzE0LDEzIEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwogCi0jaW5jbHVkZSA8c3RkZGVmLmg+CiAjaW5jbHVkZSA8ZW5kaWFuLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjdW5kZWYgX1VTSU5HX0xJQkNYWCAgLy8gUHJldmVudCB1c2luZyBvZiA8YXRvbWljPi4KKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KIAotI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2F0b21pY19pbmxpbmUuaCIKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKwogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2Z1dGV4LmgiCiAKIC8vIFRoaXMgZmlsZSBjb250YWlucyBDKysgQUJJIHN1cHBvcnQgZnVuY3Rpb25zIGZvciBvbmUgdGltZQpAQCAtNDksNjYgKzUyLDgyIEBACiAvLyB2YWx1ZXMuIFRoZSBMU0IgaXMgdGVzdGVkIGJ5IHRoZSBjb21waWxlci1nZW5lcmF0ZWQgY29kZSBiZWZvcmUgY2FsbGluZwogLy8gX19jeGFfZ3VhcmRfYWNxdWlyZS4KIHVuaW9uIF9ndWFyZF90IHsKLSAgICBpbnQgdm9sYXRpbGUgc3RhdGU7Ci0gICAgaW50MzJfdCBhbGlnbmVyOworICBhdG9taWNfaW50IHN0YXRlOworICBpbnQzMl90IGFsaWduZXI7CiB9OwogCi1jb25zdCBzdGF0aWMgaW50IHJlYWR5ID0gMHgxOwotY29uc3Qgc3RhdGljIGludCBwZW5kaW5nID0gMHgyOwotY29uc3Qgc3RhdGljIGludCB3YWl0aW5nID0gMHg2OwotCiAjZWxzZQogLy8gVGhlIEl0YW5pdW0veDg2IEMrKyBBQkkgKHVzZWQgYnkgYWxsIG90aGVyIGFyY2hpdGVjdHVyZXMpIG1hbmRhdGVzIHRoYXQKIC8vIGd1YXJkIHZhcmlhYmxlcyBhcmUgNjQtYml0IGFsaWduZWQsIDY0LWJpdCB2YWx1ZXMuIFRoZSBMU0IgaXMgdGVzdGVkIGJ5CiAvLyB0aGUgY29tcGlsZXItZ2VuZXJhdGVkIGNvZGUgYmVmb3JlIGNhbGxpbmcgX19jeGFfZ3VhcmRfYWNxdWlyZS4KIHVuaW9uIF9ndWFyZF90IHsKLSAgICBpbnQgdm9sYXRpbGUgc3RhdGU7Ci0gICAgaW50NjRfdCBhbGlnbmVyOworICBhdG9taWNfaW50IHN0YXRlOworICBpbnQ2NF90IGFsaWduZXI7CiB9OwogCi1jb25zdCBzdGF0aWMgaW50IHJlYWR5ICAgICA9IGxldG9oMzIoMHgxKTsKLWNvbnN0IHN0YXRpYyBpbnQgcGVuZGluZyAgID0gbGV0b2gzMigweDEwMCk7Ci1jb25zdCBzdGF0aWMgaW50IHdhaXRpbmcgICA9IGxldG9oMzIoMHgxMDAwMCk7CiAjZW5kaWYKIAorLy8gU2V0IGNvbnN0cnVjdGlvbiBzdGF0ZSB2YWx1ZXMgYWNjb3JkaW5nIHRvIHJlZmVyZW5jZSBkb2N1bWVudGF0aW9uLgorLy8gMCBpcyB0aGUgaW5pdGlhbGl6YXRpb24gdmFsdWUuCisvLyBBcm0gcmVxdWlyZXMgKCgqZ3YgJiAxKSA9PSAxKSBhZnRlciBfX2N4YV9ndWFyZF9yZWxlYXNlLCAoKCpndiAmIDMpID09IDApIGFmdGVyIF9fY3hhX2d1YXJkX2Fib3J0LgorLy8gWDg2IHJlcXVpcmVzIGZpcnN0IGJ5dGUgbm90IG1vZGlmaWVkIGJ5IF9fY3hhX2d1YXJkX2FjcXVpcmUsIGZpcnN0IGJ5dGUgaXMgbm9uLXplcm8gYWZ0ZXIKKy8vIF9fY3hhX2d1YXJkX3JlbGVhc2UuCisKKyNkZWZpbmUgQ09OU1RSVUNUSU9OX05PVF9ZRVRfU1RBUlRFRCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIENPTlNUUlVDVElPTl9DT01QTEVURSAgICAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBDT05TVFJVQ1RJT05fVU5ERVJXQVlfV0lUSE9VVF9XQUlURVIgICAgMHgxMDAKKyNkZWZpbmUgQ09OU1RSVUNUSU9OX1VOREVSV0FZX1dJVEhfV0FJVEVSICAgICAgIDB4MjAwCisKIGV4dGVybiAiQyIgaW50IF9fY3hhX2d1YXJkX2FjcXVpcmUoX2d1YXJkX3QqIGd2KSB7Ci0gICAgLy8gMCAtPiBwZW5kaW5nLCByZXR1cm4gMQotICAgIC8vIHBlbmRpbmcgLT4gd2FpdGluZywgd2FpdCBhbmQgcmV0dXJuIDAKLSAgICAvLyB3YWl0aW5nOiB1bnRvdWNoZWQsIHdhaXQgYW5kIHJldHVybiAwCi0gICAgLy8gcmVhZHk6IHVudG91Y2hlZCwgcmV0dXJuIDAKKyAgaW50IG9sZF92YWx1ZSA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZndi0+c3RhdGUsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKIAotcmV0cnk6Ci0gICAgaWYgKF9fYmlvbmljX2NtcHhjaGcoMCwgcGVuZGluZywgJmd2LT5zdGF0ZSkgPT0gMCkgewotICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLSAgICBfX2Jpb25pY19jbXB4Y2hnKHBlbmRpbmcsIHdhaXRpbmcsICZndi0+c3RhdGUpOyAvLyBJbmRpY2F0ZSB0aGVyZSBpcyBhIHdhaXRlcgotICAgIF9fZnV0ZXhfd2FpdCgmZ3YtPnN0YXRlLCB3YWl0aW5nLCBOVUxMKTsKLQotICAgIGlmIChndi0+c3RhdGUgIT0gcmVhZHkpIHsKLSAgICAgICAgLy8gX19jeGFfZ3VhcmRfYWJvcnQgd2FzIGNhbGxlZCwgbGV0IGV2ZXJ5IHRocmVhZCB0cnkgc2luY2UgdGhlcmUgaXMgbm8gcmV0dXJuIGNvZGUgZm9yIHRoaXMgY29uZGl0aW9uCi0gICAgICAgIGdvdG8gcmV0cnk7CisgIHdoaWxlICh0cnVlKSB7CisgICAgaWYgKG9sZF92YWx1ZSA9PSBDT05TVFJVQ1RJT05fQ09NUExFVEUpIHsKKyAgICAgIC8vIEEgbG9hZF9hY3F1aXJlIG9wZXJhdGlvbiBpcyBuZWVkIGJlZm9yZSBleGl0aW5nIHdpdGggQ09NUExFVEUgc3RhdGUsIGFzIHdlIGhhdmUgdG8gZW5zdXJlCisgICAgICAvLyB0aGF0IGFsbCB0aGUgc3RvcmVzIHBlcmZvcm1lZCBieSB0aGUgY29uc3RydWN0aW9uIGZ1bmN0aW9uIGFyZSBvYnNlcnZhYmxlIG9uIHRoaXMgQ1BVCisgICAgICAvLyBhZnRlciB3ZSBleGl0LgorICAgICAgYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcnlfb3JkZXJfYWNxdWlyZSk7CisgICAgICByZXR1cm4gMDsKKyAgICB9IGVsc2UgaWYgKG9sZF92YWx1ZSA9PSBDT05TVFJVQ1RJT05fTk9UX1lFVF9TVEFSVEVEKSB7CisgICAgICBpZiAoIWF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQoJmd2LT5zdGF0ZSwgJm9sZF92YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OU1RSVUNUSU9OX1VOREVSV0FZX1dJVEhPVVRfV0FJVEVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsYXhlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X29yZGVyX3JlbGF4ZWQpKSB7CisgICAgICAgIGNvbnRpbnVlOworICAgICAgfQorICAgICAgLy8gVGhlIGFjcXVpcmUgZmVuY2UgbWF5IG5vdCBiZSBuZWVkZWQuIEJ1dCBhcyBkZXNjcmliZWQgaW4gc2VjdGlvbiAzLjMuMiBvZgorICAgICAgLy8gdGhlIEl0YW5pdW0gQysrIEFCSSBzcGVjaWZpY2F0aW9uLCBpdCBwcm9iYWJseSBoYXMgdG8gYmVoYXZlIGxpa2UgdGhlCisgICAgICAvLyBhY3F1aXNpdGlvbiBvZiBhIG11dGV4LCB3aGljaCBuZWVkcyBhbiBhY3F1aXJlIGZlbmNlLgorICAgICAgYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcnlfb3JkZXJfYWNxdWlyZSk7CisgICAgICByZXR1cm4gMTsKKyAgICB9IGVsc2UgaWYgKG9sZF92YWx1ZSA9PSBDT05TVFJVQ1RJT05fVU5ERVJXQVlfV0lUSE9VVF9XQUlURVIpIHsKKyAgICAgIGlmICghYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgmZ3YtPnN0YXRlLCAmb2xkX3ZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlNUUlVDVElPTl9VTkRFUldBWV9XSVRIX1dBSVRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsYXhlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsYXhlZCkpIHsKKyAgICAgICAgY29udGludWU7CisgICAgICB9CiAgICAgfQogCi0gICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgIHJldHVybiAwOworICAgIF9fZnV0ZXhfd2FpdF9leCgmZ3YtPnN0YXRlLCBmYWxzZSwgQ09OU1RSVUNUSU9OX1VOREVSV0FZX1dJVEhfV0FJVEVSLCBOVUxMKTsKKyAgICBvbGRfdmFsdWUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmZ3YtPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgIH0KIH0KIAogZXh0ZXJuICJDIiB2b2lkIF9fY3hhX2d1YXJkX3JlbGVhc2UoX2d1YXJkX3QqIGd2KSB7Ci0gICAgLy8gcGVuZGluZyAtPiByZWFkeQotICAgIC8vIHdhaXRpbmcgLT4gcmVhZHksIGFuZCB3YWtlCi0KLSAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgaWYgKF9fYmlvbmljX2NtcHhjaGcocGVuZGluZywgcmVhZHksICZndi0+c3RhdGUpID09IDApIHsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGd2LT5zdGF0ZSA9IHJlYWR5OwotICAgIF9fZnV0ZXhfd2FrZSgmZ3YtPnN0YXRlLCAweDdmZmZmZmZmKTsKKyAgLy8gUmVsZWFzZSBmZW5jZSBpcyB1c2VkIHRvIG1ha2UgYWxsIHN0b3JlcyBwZXJmb3JtZWQgYnkgdGhlIGNvbnN0cnVjdGlvbiBmdW5jdGlvbgorICAvLyB2aXNpYmxlIGluIG90aGVyIHRocmVhZHMuCisgIGludCBvbGRfdmFsdWUgPSBhdG9taWNfZXhjaGFuZ2VfZXhwbGljaXQoJmd2LT5zdGF0ZSwgQ09OU1RSVUNUSU9OX0NPTVBMRVRFLCBtZW1vcnlfb3JkZXJfcmVsZWFzZSk7CisgIGlmIChvbGRfdmFsdWUgPT0gQ09OU1RSVUNUSU9OX1VOREVSV0FZX1dJVEhfV0FJVEVSKSB7CisgICAgX19mdXRleF93YWtlX2V4KCZndi0+c3RhdGUsIGZhbHNlLCBJTlRfTUFYKTsKKyAgfQogfQogCiBleHRlcm4gIkMiIHZvaWQgX19jeGFfZ3VhcmRfYWJvcnQoX2d1YXJkX3QqIGd2KSB7Ci0gICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgIGd2LT5zdGF0ZT0gMDsKLSAgICBfX2Z1dGV4X3dha2UoJmd2LT5zdGF0ZSwgMHg3ZmZmZmZmZik7CisgIC8vIFJlbGVhc2UgZmVuY2UgaXMgdXNlZCB0byBtYWtlIGFsbCBzdG9yZXMgcGVyZm9ybWVkIGJ5IHRoZSBjb25zdHJ1Y3Rpb24gZnVuY3Rpb24KKyAgLy8gdmlzaWJsZSBpbiBvdGhlciB0aHJlYWRzLgorICBpbnQgb2xkX3ZhbHVlID0gYXRvbWljX2V4Y2hhbmdlX2V4cGxpY2l0KCZndi0+c3RhdGUsIENPTlNUUlVDVElPTl9OT1RfWUVUX1NUQVJURUQsIG1lbW9yeV9vcmRlcl9yZWxlYXNlKTsKKyAgaWYgKG9sZF92YWx1ZSA9PSBDT05TVFJVQ1RJT05fVU5ERVJXQVlfV0lUSF9XQUlURVIpIHsKKyAgICBfX2Z1dGV4X3dha2VfZXgoJmd2LT5zdGF0ZSwgZmFsc2UsIElOVF9NQVgpOworICB9CiB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9fX2N4YV90aHJlYWRfYXRleGl0X2ltcGwuY3BwIGIvbGliYy9iaW9uaWMvX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTQyN2QzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKworc3RydWN0IHRocmVhZF9sb2NhbF9kdG9yIHsKKyAgdm9pZCAoKmZ1bmMpICh2b2lkICopOworICB2b2lkICphcmc7CisgIHZvaWQgKmRzb19oYW5kbGU7IC8vIHVudXNlZC4uLgorICB0aHJlYWRfbG9jYWxfZHRvciogbmV4dDsKK307CisKK3N0YXRpYyBfX3RocmVhZCB0aHJlYWRfbG9jYWxfZHRvciogdGhyZWFkX2xvY2FsX2R0b3JzID0gbnVsbHB0cjsKKworZXh0ZXJuICJDIiBpbnQgX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsKHZvaWQgKCpmdW5jKSAodm9pZCAqKSwgdm9pZCAqYXJnLCB2b2lkICpkc29faGFuZGxlKSB7CisgIHRocmVhZF9sb2NhbF9kdG9yKiBkdG9yID0gbmV3IHRocmVhZF9sb2NhbF9kdG9yKCk7CisKKyAgZHRvci0+ZnVuYyA9IGZ1bmM7CisgIGR0b3ItPmFyZyA9IGFyZzsKKyAgZHRvci0+ZHNvX2hhbmRsZSA9IGRzb19oYW5kbGU7CisgIGR0b3ItPm5leHQgPSB0aHJlYWRfbG9jYWxfZHRvcnM7CisKKyAgdGhyZWFkX2xvY2FsX2R0b3JzID0gZHRvcjsKKworICByZXR1cm4gMDsKK30KKworZXh0ZXJuICJDIiBfX0xJQkNfSElEREVOX18gdm9pZCBfX2N4YV90aHJlYWRfZmluYWxpemUoKSB7CisgIHdoaWxlICh0aHJlYWRfbG9jYWxfZHRvcnMgIT0gbnVsbHB0cikgeworICAgIHRocmVhZF9sb2NhbF9kdG9yKiBjdXJyZW50ID0gdGhyZWFkX2xvY2FsX2R0b3JzOworICAgIHRocmVhZF9sb2NhbF9kdG9ycyA9IGN1cnJlbnQtPm5leHQ7CisKKyAgICBjdXJyZW50LT5mdW5jKGN1cnJlbnQtPmFyZyk7CisgICAgZGVsZXRlIGN1cnJlbnQ7CisgIH0KK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL19fZ251X2Jhc2VuYW1lLmNwcCBiL2xpYmMvYmlvbmljL19fZ251X2Jhc2VuYW1lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWIzZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvX19nbnVfYmFzZW5hbWUuY3BwCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2RlZmluZSBfR05VX1NPVVJDRSAxCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKK2V4dGVybiAiQyIgY29uc3QgY2hhciogX19nbnVfYmFzZW5hbWUoY29uc3QgY2hhciogcGF0aCkgeworICBjb25zdCBjaGFyKiBsYXN0X3NsYXNoID0gc3RycmNocihwYXRoLCAnLycpOworICByZXR1cm4gKGxhc3Rfc2xhc2ggIT0gTlVMTCkgPyBsYXN0X3NsYXNoICsgMSA6IHBhdGg7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9fX21lbWNocl9jaGsuY3BwIGIvbGliYy9iaW9uaWMvX19tZW1jaHJfY2hrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTQxYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvX19tZW1jaHJfY2hrLmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyN1bmRlZiBfRk9SVElGWV9TT1VSQ0UKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgorCitleHRlcm4gIkMiIHZvaWQqIF9fbWVtY2hyX2Noayhjb25zdCB2b2lkKiBzLCBpbnQgYywgc2l6ZV90IG4sIHNpemVfdCBidWZfc2l6ZSkgeworICBpZiAoX19wcmVkaWN0X2ZhbHNlKG4gPiBidWZfc2l6ZSkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoIm1lbWNocjogcHJldmVudGVkIHJlYWQgcGFzdCBlbmQgb2YgYnVmZmVyIiwgMCk7CisgIH0KKworICByZXR1cm4gbWVtY2hyKHMsIGMsIG4pOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvX19tZW1yY2hyX2Noay5jcHAgYi9saWJjL2Jpb25pYy9fX21lbXJjaHJfY2hrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTI5ZGZjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvX19tZW1yY2hyX2Noay5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjdW5kZWYgX0ZPUlRJRllfU09VUkNFCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAicHJpdmF0ZS9saWJjX2xvZ2dpbmcuaCIKKworZXh0ZXJuICJDIiB2b2lkKiBfX21lbXJjaHJfY2hrKGNvbnN0IHZvaWQqIHMsIGludCBjLCBzaXplX3Qgbiwgc2l6ZV90IGJ1Zl9zaXplKSB7CisgIGlmIChfX3ByZWRpY3RfZmFsc2UobiA+IGJ1Zl9zaXplKSkgeworICAgIF9fZm9ydGlmeV9jaGtfZmFpbCgibWVtcmNocjogcHJldmVudGVkIHJlYWQgcGFzdCBlbmQgb2YgYnVmZmVyIiwgMCk7CisgIH0KKworICByZXR1cm4gbWVtcmNocihzLCBjLCBuKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL19fcG9sbF9jaGsuY3BwIGIvbGliYy9iaW9uaWMvX19wb2xsX2Noay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI0YWI4ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL19fcG9sbF9jaGsuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI3VuZGVmIF9GT1JUSUZZX1NPVVJDRQorI2luY2x1ZGUgPHBvbGwuaD4KKyNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgorCitleHRlcm4gIkMiIGludCBfX3BvbGxfY2hrKHN0cnVjdCBwb2xsZmQqIGZkcywgbmZkc190IGZkX2NvdW50LCBpbnQgdGltZW91dCwgc2l6ZV90IGZkc19zaXplKSB7CisgIGlmIChfX3ByZWRpY3RfZmFsc2UoZmRzX3NpemUgLyBzaXplb2YoKmZkcykgPCBmZF9jb3VudCkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoInBvbGw6IHBvbGxmZCBhcnJheSBzbWFsbGVyIHRoYW4gZmQgY291bnQiLCAwKTsKKyAgfQorICByZXR1cm4gcG9sbChmZHMsIGZkX2NvdW50LCB0aW1lb3V0KTsKK30KKworZXh0ZXJuICJDIiBpbnQgX19wcG9sbF9jaGsoc3RydWN0IHBvbGxmZCogZmRzLCBuZmRzX3QgZmRfY291bnQsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyogdGltZW91dCwgY29uc3Qgc2lnc2V0X3QqIG1hc2ssIHNpemVfdCBmZHNfc2l6ZSkgeworICBpZiAoX19wcmVkaWN0X2ZhbHNlKGZkc19zaXplIC8gc2l6ZW9mKCpmZHMpIDwgZmRfY291bnQpKSB7CisgICAgX19mb3J0aWZ5X2Noa19mYWlsKCJwcG9sbDogcG9sbGZkIGFycmF5IHNtYWxsZXIgdGhhbiBmZCBjb3VudCIsIDApOworICB9CisgIHJldHVybiBwcG9sbChmZHMsIGZkX2NvdW50LCB0aW1lb3V0LCBtYXNrKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL19fcHJlYWQ2NF9jaGsuY3BwIGIvbGliYy9iaW9uaWMvX19wcmVhZDY0X2Noay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ2YWQyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL19fcHJlYWQ2NF9jaGsuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI3VuZGVmIF9GT1JUSUZZX1NPVVJDRQorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCisKK2V4dGVybiAiQyIgc3NpemVfdCBfX3ByZWFkNjRfY2hrKGludCBmZCwgdm9pZCogYnVmLCBzaXplX3QgY291bnQsIG9mZjY0X3Qgb2Zmc2V0LCBzaXplX3QgYnVmX3NpemUpIHsKKyAgaWYgKF9fcHJlZGljdF9mYWxzZShjb3VudCA+IGJ1Zl9zaXplKSkgeworICAgIF9fZm9ydGlmeV9jaGtfZmFpbCgicHJlYWQ2NDogcHJldmVudGVkIHdyaXRlIHBhc3QgZW5kIG9mIGJ1ZmZlciIsIDApOworICB9CisKKyAgaWYgKF9fcHJlZGljdF9mYWxzZShjb3VudCA+IFNTSVpFX01BWCkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoInByZWFkNjQ6IGNvdW50ID4gU1NJWkVfTUFYIiwgMCk7CisgIH0KKworICByZXR1cm4gcHJlYWQ2NChmZCwgYnVmLCBjb3VudCwgb2Zmc2V0KTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL19fcHJlYWRfY2hrLmNwcCBiL2xpYmMvYmlvbmljL19fcHJlYWRfY2hrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTA5Y2U2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvX19wcmVhZF9jaGsuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI3VuZGVmIF9GT1JUSUZZX1NPVVJDRQorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCisKK2V4dGVybiAiQyIgc3NpemVfdCBfX3ByZWFkX2NoayhpbnQgZmQsIHZvaWQqIGJ1Ziwgc2l6ZV90IGNvdW50LCBvZmZfdCBvZmZzZXQsIHNpemVfdCBidWZfc2l6ZSkgeworICBpZiAoX19wcmVkaWN0X2ZhbHNlKGNvdW50ID4gYnVmX3NpemUpKSB7CisgICAgX19mb3J0aWZ5X2Noa19mYWlsKCJwcmVhZDogcHJldmVudGVkIHdyaXRlIHBhc3QgZW5kIG9mIGJ1ZmZlciIsIDApOworICB9CisKKyAgaWYgKF9fcHJlZGljdF9mYWxzZShjb3VudCA+IFNTSVpFX01BWCkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoInByZWFkOiBjb3VudCA+IFNTSVpFX01BWCIsIDApOworICB9CisKKyAgcmV0dXJuIHByZWFkKGZkLCBidWYsIGNvdW50LCBvZmZzZXQpOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvX19yZWFkbGlua19jaGsuY3BwIGIvbGliYy9iaW9uaWMvX19yZWFkbGlua19jaGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOWY5MTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Jpb25pYy9fX3JlYWRsaW5rX2Noay5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjdW5kZWYgX0ZPUlRJRllfU09VUkNFCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSAicHJpdmF0ZS9saWJjX2xvZ2dpbmcuaCIKKworZXh0ZXJuICJDIiBzc2l6ZV90IF9fcmVhZGxpbmtfY2hrKGNvbnN0IGNoYXIqIHBhdGgsIGNoYXIqIGJ1Ziwgc2l6ZV90IHNpemUsIHNpemVfdCBidWZfc2l6ZSkgeworICBpZiAoX19wcmVkaWN0X2ZhbHNlKHNpemUgPiBidWZfc2l6ZSkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoInJlYWRsaW5rOiBwcmV2ZW50ZWQgd3JpdGUgcGFzdCBlbmQgb2YgYnVmZmVyIiwgMCk7CisgIH0KKworICBpZiAoX19wcmVkaWN0X2ZhbHNlKHNpemUgPiBTU0laRV9NQVgpKSB7CisgICAgX19mb3J0aWZ5X2Noa19mYWlsKCJyZWFkbGluazogc2l6ZSA+IFNTSVpFX01BWCIsIDApOworICB9CisKKyAgcmV0dXJuIHJlYWRsaW5rKHBhdGgsIGJ1Ziwgc2l6ZSk7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9fX3JlYWRsaW5rYXRfY2hrLmNwcCBiL2xpYmMvYmlvbmljL19fcmVhZGxpbmthdF9jaGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMWRiOGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Jpb25pYy9fX3JlYWRsaW5rYXRfY2hrLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyN1bmRlZiBfRk9SVElGWV9TT1VSQ0UKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgorCitleHRlcm4gIkMiIHNzaXplX3QgX19yZWFkbGlua2F0X2NoayhpbnQgZGlyZmQsIGNvbnN0IGNoYXIqIHBhdGgsIGNoYXIqIGJ1Ziwgc2l6ZV90IHNpemUsIHNpemVfdCBidWZfc2l6ZSkgeworICBpZiAoX19wcmVkaWN0X2ZhbHNlKHNpemUgPiBidWZfc2l6ZSkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoInJlYWRsaW5rYXQ6IHByZXZlbnRlZCB3cml0ZSBwYXN0IGVuZCBvZiBidWZmZXIiLCAwKTsKKyAgfQorCisgIGlmIChfX3ByZWRpY3RfZmFsc2Uoc2l6ZSA+IFNTSVpFX01BWCkpIHsKKyAgICBfX2ZvcnRpZnlfY2hrX2ZhaWwoInJlYWRsaW5rYXQ6IHNpemUgPiBTU0laRV9NQVgiLCAwKTsKKyAgfQorCisgIHJldHVybiByZWFkbGlua2F0KGRpcmZkLCBwYXRoLCBidWYsIHNpemUpOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvYmlvbmljX3N5c3RyYWNlLmNwcCBiL2xpYmMvYmlvbmljL2Jpb25pY19zeXN0cmFjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA1MjFjZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL2Jpb25pY19zeXN0cmFjZS5jcHAKQEAgLTAsMCArMSwxMDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8Y3V0aWxzL3RyYWNlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19zeXN0cmFjZS5oIgorI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCisKKyNkZWZpbmUgX1JFQUxMWV9JTkNMVURFX1NZU19fU1lTVEVNX1BST1BFUlRJRVNfSF8KKyNpbmNsdWRlIDxzeXMvX3N5c3RlbV9wcm9wZXJ0aWVzLmg+CisKKyNkZWZpbmUgV1JJVEVfT0ZGU0VUICAgMzIKKworc3RhdGljIGNvbnN0IHByb3BfaW5mbyogZ19waW5mbyA9IE5VTEw7CitzdGF0aWMgdWludDMyX3QgZ19zZXJpYWwgPSAtMTsKK3N0YXRpYyB1aW50NjRfdCBnX3RhZ3MgPSAwOworc3RhdGljIGludCBnX3RyYWNlX21hcmtlcl9mZCA9IC0xOworCitzdGF0aWMgYm9vbCBzaG91bGRfdHJhY2UoKSB7CisgIC8vIElmIGdfcGluZm8gaXMgbnVsbCwgdGhpcyBtZWFucyB0aGF0IHN5c3RyYWNlIGhhc24ndCBiZWVuIHJ1biBhbmQgaXQncyBzYWZlIHRvCisgIC8vIGFzc3VtZSB0aGF0IG5vIHRyYWNlIHdyaXRpbmcgd2lsbCBuZWVkIHRvIHRha2UgcGxhY2UuICBIb3dldmVyLCB0byBhdm9pZCBydW5uaW5nCisgIC8vIHRoaXMgY29zdGx5IGZpbmQgY2hlY2sgZWFjaCB0aW1lLCB3ZSBzZXQgaXQgdG8gYSBub24tdHJhY2luZyB2YWx1ZSBzbyB0aGF0IG5leHQKKyAgLy8gdGltZSwgaXQgd2lsbCBqdXN0IGNoZWNrIHRoZSBzZXJpYWwgdG8gc2VlIGlmIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkLgorICAvLyB0aGlzIGZ1bmN0aW9uIGFsc28gZGVhbHMgd2l0aCB0aGUgYm9vdHVwIGNhc2UsIGR1cmluZyB3aGljaCB0aGUgY2FsbCB0byBwcm9wZXJ0eQorICAvLyBzZXQgd2lsbCBmYWlsIGlmIHRoZSBwcm9wZXJ0eSBzZXJ2ZXIgaGFzbid0IHlldCBzdGFydGVkLgorICBpZiAoZ19waW5mbyA9PSBOVUxMKSB7CisgICAgZ19waW5mbyA9IF9fc3lzdGVtX3Byb3BlcnR5X2ZpbmQoImRlYnVnLmF0cmFjZS50YWdzLmVuYWJsZWZsYWdzIik7CisgICAgaWYgKGdfcGluZm8gPT0gTlVMTCkgeworICAgICAgX19zeXN0ZW1fcHJvcGVydHlfc2V0KCJkZWJ1Zy5hdHJhY2UudGFncy5lbmFibGVmbGFncyIsICIwIik7CisgICAgICBnX3BpbmZvID0gX19zeXN0ZW1fcHJvcGVydHlfZmluZCgiZGVidWcuYXRyYWNlLnRhZ3MuZW5hYmxlZmxhZ3MiKTsKKyAgICAgIGlmIChnX3BpbmZvID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIEZpbmQgb3V0IHdoaWNoIHRhZ3MgaGF2ZSBiZWVuIGVuYWJsZWQgb24gdGhlIGNvbW1hbmQgbGluZSBhbmQgc2V0CisgIC8vIHRoZSB2YWx1ZSBvZiB0YWdzIGFjY29yZGluZ2x5LiAgSWYgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzLAorICAvLyB0aGUgc2VyaWFsIHdpbGwgYWxzbyBjaGFuZ2UsIHNvIHRoZSBjb3N0bHkgc3lzdGVtX3Byb3BlcnR5X3JlYWQgZnVuY3Rpb24KKyAgLy8gY2FuIGJlIGF2b2lkZWQgYnkgY2FsbGluZyB0aGUgbXVjaCBjaGVhcGVyIHN5c3RlbV9wcm9wZXJ0eV9zZXJpYWwKKyAgLy8gZmlyc3QuICBUaGUgdmFsdWVzIHdpdGhpbiBwaW5mbyBtYXkgY2hhbmdlLCBidXQgaXRzIGxvY2F0aW9uIGlzIGd1YXJhbnRlZWQKKyAgLy8gbm90IHRvIG1vdmUuCisgIGNvbnN0IHVpbnQzMl90IGN1cl9zZXJpYWwgPSBfX3N5c3RlbV9wcm9wZXJ0eV9zZXJpYWwoZ19waW5mbyk7CisgIGlmIChjdXJfc2VyaWFsICE9IGdfc2VyaWFsKSB7CisgICAgZ19zZXJpYWwgPSBjdXJfc2VyaWFsOworICAgIGNoYXIgdmFsdWVbUFJPUF9WQUxVRV9NQVhdOworICAgIF9fc3lzdGVtX3Byb3BlcnR5X3JlYWQoZ19waW5mbywgMCwgdmFsdWUpOworICAgIGdfdGFncyA9IHN0cnRvdWxsKHZhbHVlLCBOVUxMLCAwKTsKKyAgfQorCisgIC8vIEZpbmFsbHksIHZlcmlmeSB0aGF0IHRoaXMgdGFnIHZhbHVlIGVuYWJsZXMgYmlvbmljIHRyYWNpbmcuCisgIHJldHVybiAoKGdfdGFncyAmIEFUUkFDRV9UQUdfQklPTklDKSAhPSAwKTsKK30KKworU2NvcGVkVHJhY2U6OlNjb3BlZFRyYWNlKGNvbnN0IGNoYXIqIG1lc3NhZ2UpIHsKKyAgaWYgKCFzaG91bGRfdHJhY2UoKSkgeworICAgIHJldHVybjsKKyAgfQorCisgIGlmIChnX3RyYWNlX21hcmtlcl9mZCA9PSAtMSkgeworICAgIGdfdHJhY2VfbWFya2VyX2ZkID0gb3BlbigiL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy90cmFjZV9tYXJrZXIiLCBPX0NMT0VYRUMgfCBPX1dST05MWSk7CisgICAgaWYgKGdfdHJhY2VfbWFya2VyX2ZkID09IC0xKSB7CisgICAgICBfX2xpYmNfZmF0YWwoIkNvdWxkIG5vdCBvcGVuIGtlcm5lbCB0cmFjZSBmaWxlOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICB9CisgIH0KKworICAvLyBJZiBiaW9uaWMgdHJhY2luZyBoYXMgYmVlbiBlbmFibGVkLCB0aGVuIHdyaXRlIHRoZSBtZXNzYWdlIHRvIHRoZQorICAvLyBrZXJuZWwgdHJhY2VfbWFya2VyLgorICBpbnQgbGVuZ3RoID0gc3RybGVuKG1lc3NhZ2UpOworICBjaGFyIGJ1ZltsZW5ndGggKyBXUklURV9PRkZTRVRdOworICBzaXplX3QgbGVuID0gc25wcmludGYoYnVmLCBsZW5ndGggKyBXUklURV9PRkZTRVQsICJCfCVkfCVzIiwgZ2V0cGlkKCksIG1lc3NhZ2UpOworICBzc2l6ZV90IHdieXRlcyA9IFRFTVBfRkFJTFVSRV9SRVRSWSh3cml0ZShnX3RyYWNlX21hcmtlcl9mZCwgYnVmLCBsZW4pKTsKKworICAvLyBFcnJvciB3aGlsZSB3cml0aW5nCisgIGlmIChzdGF0aWNfY2FzdDxzaXplX3Q+KHdieXRlcykgIT0gbGVuKSB7CisgICAgX19saWJjX2ZhdGFsKCJDb3VsZCBub3Qgd3JpdGUgdG8ga2VybmVsIHRyYWNlIGZpbGU6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOworICB9Cit9CisKK1Njb3BlZFRyYWNlOjp+U2NvcGVkVHJhY2UoKSB7CisgIGlmICghc2hvdWxkX3RyYWNlKCkpIHsKKyAgICByZXR1cm47CisgIH0KKworICBzc2l6ZV90IHdieXRlcyA9IFRFTVBfRkFJTFVSRV9SRVRSWSh3cml0ZShnX3RyYWNlX21hcmtlcl9mZCwgIkUiLCAxKSk7CisKKyAgLy8gRXJyb3Igd2hpbGUgd3JpdGluZworICBpZiAoc3RhdGljX2Nhc3Q8c2l6ZV90Pih3Ynl0ZXMpICE9IDEpIHsKKyAgICBfX2xpYmNfZmF0YWwoIkNvdWxkIG5vdCB3cml0ZSB0byBrZXJuZWwgdHJhY2UgZmlsZTogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CisgIH0KK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmNwcCBiL2xpYmMvYmlvbmljL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmNwcAppbmRleCA3ZjNjMDI2Li43NWU4ZDQ5IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9iaW9uaWNfdGltZV9jb252ZXJzaW9ucy5jcHAKKysrIGIvbGliYy9iaW9uaWMvYmlvbmljX3RpbWVfY29udmVyc2lvbnMuY3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmgiCiAKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19jb25zdGFudHMuaCIKKwogYm9vbCB0aW1lc3BlY19mcm9tX3RpbWV2YWwodGltZXNwZWMmIHRzLCBjb25zdCB0aW1ldmFsJiB0dikgewogICAvLyBXaG9sZSBzZWNvbmRzIGNhbiBqdXN0IGJlIGNvcGllZC4KICAgdHMudHZfc2VjID0gdHYudHZfc2VjOwpAQCAtNDksMyArNTEsMTkgQEAKICAgdHYudHZfc2VjID0gdHMudHZfc2VjOwogICB0di50dl91c2VjID0gdHMudHZfbnNlYyAvIDEwMDA7CiB9CisKKy8vIEluaXRpYWxpemVzICd0cycgd2l0aCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuICdhYnNfdHMnIGFuZCB0aGUgY3VycmVudCB0aW1lCisvLyBhY2NvcmRpbmcgdG8gJ2Nsb2NrJy4gUmV0dXJucyBmYWxzZSBpZiBhYnN0aW1lIGFscmVhZHkgZXhwaXJlZCwgdHJ1ZSBvdGhlcndpc2UuCitib29sIHRpbWVzcGVjX2Zyb21fYWJzb2x1dGVfdGltZXNwZWModGltZXNwZWMmIHRzLCBjb25zdCB0aW1lc3BlYyYgYWJzX3RzLCBjbG9ja2lkX3QgY2xvY2spIHsKKyAgY2xvY2tfZ2V0dGltZShjbG9jaywgJnRzKTsKKyAgdHMudHZfc2VjID0gYWJzX3RzLnR2X3NlYyAtIHRzLnR2X3NlYzsKKyAgdHMudHZfbnNlYyA9IGFic190cy50dl9uc2VjIC0gdHMudHZfbnNlYzsKKyAgaWYgKHRzLnR2X25zZWMgPCAwKSB7CisgICAgdHMudHZfc2VjLS07CisgICAgdHMudHZfbnNlYyArPSBOU19QRVJfUzsKKyAgfQorICBpZiAodHMudHZfbnNlYyA8IDAgfHwgdHMudHZfc2VjIDwgMCkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2Nob3duLmNwcCBiL2xpYmMvYmlvbmljL2Nob3duLmNwcAppbmRleCBiYzJlNjA1Li5kY2UxNjczIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9jaG93bi5jcHAKKysrIGIvbGliYy9iaW9uaWMvY2hvd24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiBpbnQgY2hvd24oY29uc3QgY2hhciogcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKICAgcmV0dXJuIGZjaG93bmF0KEFUX0ZEQ1dELCBwYXRoLCB1aWQsIGdpZCwgMCk7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9jbG9jay5jcHAgYi9saWJjL2Jpb25pYy9jbG9jay5jcHAKaW5kZXggNWJkMzJmOS4uMDUzZTllNyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvY2xvY2suY3BwCisrKyBiL2xpYmMvYmlvbmljL2Nsb2NrLmNwcApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPHN5cy9zeXNjb25mLmg+CiAjaW5jbHVkZSA8c3lzL3RpbWVzLmg+CiAKLSNkZWZpbmUgTlNfUEVSX1MgMTAwMDAwMDAwMCAvLyBObyAicHJpdmF0ZS9iaW9uaWNfY29uc3RhbnRzLmgiIGluIGxtcC1kZXYuCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfY29uc3RhbnRzLmgiCiAKIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy9jbG9jay5odG1sCiBjbG9ja190IGNsb2NrKCkgewpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvY2xvY2tfZ2V0Y3B1Y2xvY2tpZC5jcHAgYi9saWJjL2Jpb25pYy9jbG9ja19nZXRjcHVjbG9ja2lkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTExZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvY2xvY2tfZ2V0Y3B1Y2xvY2tpZC5jcHAKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNpbmNsdWRlICJwcml2YXRlL0Vycm5vUmVzdG9yZXIuaCIKKworaW50IGNsb2NrX2dldGNwdWNsb2NraWQocGlkX3QgcGlkLCBjbG9ja2lkX3QqIGNsb2NraWQpIHsKKyAgRXJybm9SZXN0b3JlciBlcnJub19yZXN0b3JlcjsKKworICAvLyBUaGUgdGlkIGlzIHN0b3JlZCBpbiB0aGUgdG9wIGJpdHMsIGJ1dCBuZWdhdGVkLgorICBjbG9ja2lkX3QgcmVzdWx0ID0gfnN0YXRpY19jYXN0PGNsb2NraWRfdD4ocGlkKSA8PCAzOworICAvLyBCaXRzIDAgYW5kIDE6IGNsb2NrIHR5cGUgKDAgPSBDUFVDTE9DS19QUk9GLCAxID0gQ1BVQ0xPQ0tfVklSVCwgMiA9IENQVUNMT0NLX1NDSEVEKS4KKyAgcmVzdWx0IHw9IDI7CisgIC8vIEJpdCAyOiB0aHJlYWQgKHNldCkgb3IgcHJvY2VzcyAoY2xlYXIpLiBCaXQgMiBhbHJlYWR5IDAuCisKKyAgdGltZXNwZWMgdHM7CisgIGlmIChjbG9ja19nZXRyZXMocmVzdWx0LCAmdHMpID09IC0xKSB7CisgICAgcmV0dXJuIEVTUkNIOworICB9CisKKyAgKmNsb2NraWQgPSByZXN1bHQ7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvY2xvY2tfbmFub3NsZWVwLmNwcCBiL2xpYmMvYmlvbmljL2Nsb2NrX25hbm9zbGVlcC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTViOGZlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL2Nsb2NrX25hbm9zbGVlcC5jcHAKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAicHJpdmF0ZS9FcnJub1Jlc3RvcmVyLmgiCisKK2V4dGVybiAiQyIgaW50IF9fY2xvY2tfbmFub3NsZWVwKGNsb2NraWRfdCwgaW50LCBjb25zdCB0aW1lc3BlYyosIHRpbWVzcGVjKik7CisKK2ludCBjbG9ja19uYW5vc2xlZXAoY2xvY2tpZF90IGNsb2NrX2lkLCBpbnQgZmxhZ3MsIGNvbnN0IHRpbWVzcGVjKiBpbiwgdGltZXNwZWMqIG91dCkgeworICBFcnJub1Jlc3RvcmVyIGVycm5vX3Jlc3RvcmVyOworICByZXR1cm4gKF9fY2xvY2tfbmFub3NsZWVwKGNsb2NrX2lkLCBmbGFncywgaW4sIG91dCkgPT0gMCkgPyAwIDogZXJybm87Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9jbG9uZS5jcHAgYi9saWJjL2Jpb25pYy9jbG9uZS5jcHAKaW5kZXggMGEwZmRkNS4uOWI1YzllNyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvY2xvbmUuY3BwCisrKyBiL2xpYmMvYmlvbmljL2Nsb25lLmNwcApAQCAtMjYsNyArMjYsNyBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAotI2RlZmluZSBfX0dOVV9TT1VSQ0UgMQorI2RlZmluZSBfR05VX1NPVVJDRSAxCiAjaW5jbHVkZSA8c2NoZWQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2Nsb3NlLmNwcCBiL2xpYmMvYmlvbmljL2Nsb3NlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODIyNWYwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvY2xvc2UuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKK2V4dGVybiAiQyIgaW50IF9fX2Nsb3NlKGludCk7CisKK2ludCBjbG9zZShpbnQgZmQpIHsKKyAgaW50IHJjID0gX19fY2xvc2UoZmQpOworICBpZiAocmMgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpIHsKKyAgICAvLyBQT1NJWCBzYXlzIHRoYXQgaWYgY2xvc2UgcmV0dXJucyB3aXRoIEVJTlRSLCB0aGUgZmQgbXVzdCBub3QgYmUgY2xvc2VkLgorICAgIC8vIExpbnVzIGRpc2FncmVlczogaHR0cDovL2xrbWwuaW5kaWFuYS5lZHUvaHlwZXJtYWlsL2xpbnV4L2tlcm5lbC8wNTA5LjEvMDg3Ny5odG1sCisgICAgLy8gVGhlIGZ1dHVyZSBQT1NJWCBzb2x1dGlvbiBpcyBwb3NpeF9jbG9zZSAoaHR0cDovL2F1c3Rpbmdyb3VwYnVncy5uZXQvdmlldy5waHA/aWQ9NTI5KSwKKyAgICAvLyB3aXRoIHRoZSBzdGF0ZSBhZnRlciBFSU5UUiBiZWluZyB1bmRlZmluZWQsIGFuZCBFSU5QUk9HUkVTUyBmb3IgdGhlIGNhc2Ugd2hlcmUgY2xvc2UKKyAgICAvLyB3YXMgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwgYnV0IHRoZSBmaWxlIGRlc2NyaXB0b3Igd2FzIGFjdHVhbGx5IGNsb3NlZC4KKyAgICAvLyBNeSBjb25jZXJuIHdpdGggdGhhdCBmdXR1cmUgYmVoYXZpb3IgaXMgdGhhdCBpdCBicmVha3MgZXhpc3RpbmcgY29kZSB0aGF0IGFzc3VtZXMKKyAgICAvLyB0aGF0IGNsb3NlIG9ubHkgcmV0dXJucyAtMSBpZiBpdCBmYWlsZWQuIFVubGlrZSBvdGhlciBzeXN0ZW0gY2FsbHMsIEkgaGF2ZSByZWFsCisgICAgLy8gZGlmZmljdWx0eSBldmVuIGltYWdpbmluZyBhIGNhbGxlciB0aGF0IHdvdWxkIG5lZWQgdG8ga25vdyB0aGF0IGNsb3NlIHdhcyBpbnRlcnJ1cHRlZAorICAgIC8vIGJ1dCBzdWNjZWVkZWQuIFNvIHJldHVybmluZyBFSU5UUiBpcyB3cm9uZyAoYmVjYXVzZSBMaW51eCBhbHdheXMgY2xvc2VzKSBhbmQgRUlOUFJPR1JFU1MKKyAgICAvLyBpcyBoYXJtZnVsIGJlY2F1c2UgY2FsbGVycyBuZWVkIHRvIGJlIHJld3JpdHRlbiB0byB1bmRlcnN0YW5kIHRoYXQgRUlOUFJPR1JFU1MgaXNuJ3QKKyAgICAvLyBhY3R1YWxseSBhIGZhaWx1cmUsIGJ1dCB3aWxsIGJlIHJlcG9ydGVkIGFzIG9uZS4KKworICAgIC8vIFdlIGRvbid0IHJlc3RvcmUgZXJybm8gYmVjYXVzZSB0aGF0IHdvdWxkIGluY3VyIGEgY29zdCAodGhlIFRMUyByZWFkKSBmb3IgZXZlcnkgY2FsbGVyLgorICAgIC8vIFNpbmNlIGNhbGxlcnMgZG9uJ3Qga25vdyBhaGVhZCBvZiB0aW1lIHdoZXRoZXIgY2xvc2Ugd2lsbCBsZWdpdGltYXRlbHkgZmFpbCwgdGhleSBuZWVkCisgICAgLy8gdG8gaGF2ZSBzdGFzaGVkIHRoZSBvbGQgZXJybm8gdmFsdWUgYW55d2F5IGlmIHRoZXkgcGxhbiBvbiB1c2luZyBpdCBhZnRlcndhcmRzLCBzbworICAgIC8vIHVzIGNsb2JiZXJpbmcgZXJybm8gaGVyZSBkb2Vzbid0IGNoYW5nZSBhbnl0aGluZyBpbiB0aGF0IHJlc3BlY3QuCisgICAgcmV0dXJuIDA7CisgIH0KKyAgcmV0dXJuIHJjOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvY3J0YnJhbmQuYyBiL2xpYmMvYmlvbmljL2NydGJyYW5kLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZmNiYzcuLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvY3J0YnJhbmQuYworKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLS8qLQotICogQ29weXJpZ2h0IDIwMDAgRGF2aWQgRS4gTydCcmllbiwgSm9obiBELiBQb2xzdHJhLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgotICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwotICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KLSAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAotICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGludC5oPgotCi0jZGVmaW5lIEFCSV9WRU5ET1IJIkFuZHJvaWQiCi0jZGVmaW5lIEFCSV9TRUNUSU9OCSIubm90ZS5hbmRyb2lkLmlkZW50IgotI2RlZmluZSBBQklfTk9URVRZUEUJMQotI2RlZmluZSBBQklfQU5EUk9JRF9BUEkJUExBVEZPUk1fU0RLX1ZFUlNJT04KLQotLyoKLSAqIFNwZWNpYWwgIi5ub3RlIiBlbnRyeSB0byB0YWcgYW4gQW5kcm9pZCBiaW5hcnkgYW5kIHNwZWNpZnkgdGhlIEFCSSB2ZXJzaW9uLgotICoKLSAqIEZvciBhbGwgYXJjaGVzIGV4Y2VwdCBzcGFyYywgZ2NjIGVtaXRzIHRoZSBzZWN0aW9uIGRpcmVjdGl2ZSBmb3IgdGhlCi0gKiBmb2xsb3dpbmcgc3RydWN0IHdpdGggYSBQUk9HQklUUyB0eXBlLiAgSG93ZXZlciwgdGhlIHNlY3Rpb24gc2hvdWxkIGJlCi0gKiBvZiBOT1RFIHR5cGUsIGFjY29yZGluZyB0byB0aGUgR2VuZXJpYyBTeXNWIEFCSSBzcGVjLgotICoKLSAqIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIGNsZWFuIHdheSB0byB0ZWxsIGdjYyB0byB1c2UgYW5vdGhlciBzZWN0aW9uIHR5cGUsCi0gKiBzbyB0aGlzIEMgZmlsZSAob3IgdGhlIEMgZmlsZSB0aGF0IGluY2x1ZGVzIGl0KSBtdXN0IGJlIGNvbXBpbGVkIGluIG11bHRpcGxlCi0gKiBzdGVwczoKLSAqCi0gKiAtIENvbXBpbGUgdGhlIC5jIGZpbGUgdG8gYSAucyBmaWxlLgotICogLSBFZGl0IHRoZSAucyBmaWxlIHRvIGNoYW5nZSB0aGUgJ3Byb2diaXRzJyB0eXBlIHRvICdub3RlJywgZm9yIHRoZSBzZWN0aW9uCi0gKiAgIGRpcmVjdGl2ZSB0aGF0IGRlZmluZXMgdGhlIC5ub3RlLkFCSS10YWcgc2VjdGlvbi4KLSAqIC0gQ29tcGlsZSB0aGUgLnMgZmlsZSB0byBhbiBvYmplY3QgZmlsZS4KLSAqCi0gKiBUaGVzZSBzdGVwcyBhcmUgZG9uZSBpbiB0aGUgaW52aWRpZHVhbCBNYWtlZmlsZXMgZm9yIGVhY2ggYXBwbGljYWJsZSBhcmNoLgotICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IHsKLSAgICBpbnQzMl90CW5hbWVzejsKLSAgICBpbnQzMl90CWRlc2NzejsKLSAgICBpbnQzMl90CXR5cGU7Ci0gICAgY2hhcgluYW1lW3NpemVvZiBBQklfVkVORE9SXTsKLSAgICBpbnQzMl90CWFuZHJvaWRfYXBpOwotfSBhYml0YWcgX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKEFCSV9TRUNUSU9OKSwgYWxpZ25lZCg0KSwgdXNlZCkpID0gewotICAgIHNpemVvZiBBQklfVkVORE9SLAotICAgIHNpemVvZihpbnQzMl90KSwKLSAgICBBQklfTk9URVRZUEUsCi0gICAgQUJJX1ZFTkRPUiwKLSAgICBBQklfQU5EUk9JRF9BUEksCi19OwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvZGFlbW9uLmMgYi9saWJjL2Jpb25pYy9kYWVtb24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODE4MWQxNi4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9kYWVtb24uYworKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0gKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECi0gKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLSNpbmNsdWRlIDxmY250bC5oPgotCi1pbnQgIGRhZW1vbiggaW50ICBub2NoZGlyLCBpbnQgIG5vY2xvc2UgKQotewotICAgcGlkX3QgIHBpZDsKLQotICAgaWYgKCAhbm9jaGRpciAmJiBjaGRpcigiLyIpICE9IDAgKQotICAgICAgIHJldHVybiAtMTsKLSAgIAotICAgaWYgKCAhbm9jbG9zZSApCi0gICB7Ci0gICAgIGludCAgZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JEV1IpOwotCi0gICAgIGlmICggZmQgPCAwICkKLSAgICAgIHJldHVybiAtMTsKLQotICAgICBpZiAoIGR1cDIoIGZkLCAwICkgPCAwIHx8Ci0JICBkdXAyKCBmZCwgMSApIDwgMCB8fAotICAgICAgICAgIGR1cDIoIGZkLCAyICkgPCAwICkgCi0gICAgIHsKLSAgICAgICBjbG9zZShmZCk7Ci0gICAgICByZXR1cm4gLTE7Ci0gICAgIH0KLSAgICAgY2xvc2UoZmQpOwotICB9Ci0gIAotICAgcGlkID0gZm9yaygpOwotICAgaWYgKHBpZCA8IDApCi0gICAgcmV0dXJuIC0xOwotCi0gICBpZiAocGlkID4gMCkKLSAgICBfZXhpdCgwKTsKLQotICAgaWYgKCBzZXRzaWQoKSA8IDAgKQotICAgICByZXR1cm4gLTE7Ci0KLSAgIHJldHVybiAwOwotfQotCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9kZWJ1Z19tYXBpbmZvLmNwcCBiL2xpYmMvYmlvbmljL2RlYnVnX21hcGluZm8uY3BwCmluZGV4IGQ4Mzc5OWEuLjY5OGFiNmIgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2RlYnVnX21hcGluZm8uY3BwCisrKyBiL2xpYmMvYmlvbmljL2RlYnVnX21hcGluZm8uY3BwCkBAIC03MSw3ICs3MSw3IEBACiAgIHN0cnVjdCBtYXBpbmZvX3QqIG1pbGlzdCA9IE5VTEw7CiAgIGNoYXIgZGF0YVsxMDI0XTsgLy8gVXNlZCB0byByZWFkIGxpbmVzIGFzIHdlbGwgYXMgdG8gY29uc3RydWN0IHRoZSBmaWxlbmFtZS4KICAgc25wcmludGYoZGF0YSwgc2l6ZW9mKGRhdGEpLCAiL3Byb2MvJWQvbWFwcyIsIHBpZCk7Ci0gIEZJTEUqIGZwID0gZm9wZW4oZGF0YSwgInIiKTsKKyAgRklMRSogZnAgPSBmb3BlbihkYXRhLCAicmUiKTsKICAgaWYgKGZwICE9IE5VTEwpIHsKICAgICB3aGlsZSAoZmdldHMoZGF0YSwgc2l6ZW9mKGRhdGEpLCBmcCkgIT0gTlVMTCkgewogICAgICAgbWFwaW5mb190KiBtaSA9IHBhcnNlX21hcHNfbGluZShkYXRhKTsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2RlYnVnX3N0YWNrdHJhY2UuY3BwIGIvbGliYy9iaW9uaWMvZGVidWdfc3RhY2t0cmFjZS5jcHAKaW5kZXggYjg2ZTJhZi4uNzFlODc2YiAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvZGVidWdfc3RhY2t0cmFjZS5jcHAKKysrIGIvbGliYy9iaW9uaWMvZGVidWdfc3RhY2t0cmFjZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxtYWxsb2MuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx1bndpbmQuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KQEAgLTQ0LDQxICs0NSwyMiBAQAogI2RlZmluZSBQQURfUFRSICIwOCIgUFJJeFBUUgogI2VuZGlmCiAKLS8qIGRlcGVuZHMgaG93IHRoZSBzeXN0ZW0gaW5jbHVkZXMgZGVmaW5lIHRoaXMgKi8KLSNpZmRlZiBIQVZFX1VOV0lORF9DT05URVhUX1NUUlVDVAogdHlwZWRlZiBzdHJ1Y3QgX1Vud2luZF9Db250ZXh0IF9fdW53aW5kX2NvbnRleHQ7Ci0jZWxzZQotdHlwZWRlZiBfVW53aW5kX0NvbnRleHQgX191bndpbmRfY29udGV4dDsKLSNlbmRpZgorCitleHRlcm4gIkMiIGNoYXIqIF9fY3hhX2RlbWFuZ2xlKGNvbnN0IGNoYXIqLCBjaGFyKiwgc2l6ZV90KiwgaW50Kik7CiAKIHN0YXRpYyBtYXBpbmZvX3QqIGdfbWFwX2luZm8gPSBOVUxMOwotc3RhdGljIHZvaWQqIGdfZGVtYW5nbGVyOwotdHlwZWRlZiBjaGFyKiAoKkRlbWFuZ2xlckZuKShjb25zdCBjaGFyKiwgY2hhciosIHNpemVfdCosIGludCopOwotc3RhdGljIERlbWFuZ2xlckZuIGdfZGVtYW5nbGVyX2ZuID0gTlVMTDsKIAogX19MSUJDX0hJRERFTl9fIHZvaWQgYmFja3RyYWNlX3N0YXJ0dXAoKSB7CiAgIFNjb3BlZERpc2FibGVEZWJ1Z0NhbGxzIGRpc2FibGU7CiAKICAgZ19tYXBfaW5mbyA9IG1hcGluZm9fY3JlYXRlKGdldHBpZCgpKTsKLSAgZ19kZW1hbmdsZXIgPSBkbG9wZW4oImxpYmdjY2RlbWFuZ2xlLnNvIiwgUlRMRF9OT1cpOwotICBpZiAoZ19kZW1hbmdsZXIgIT0gTlVMTCkgewotICAgIHZvaWQqIHN5bSA9IGRsc3ltKGdfZGVtYW5nbGVyLCAiX19jeGFfZGVtYW5nbGUiKTsKLSAgICBnX2RlbWFuZ2xlcl9mbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8RGVtYW5nbGVyRm4+KHN5bSk7Ci0gIH0KIH0KIAogX19MSUJDX0hJRERFTl9fIHZvaWQgYmFja3RyYWNlX3NodXRkb3duKCkgewogICBTY29wZWREaXNhYmxlRGVidWdDYWxscyBkaXNhYmxlOwogCiAgIG1hcGluZm9fZGVzdHJveShnX21hcF9pbmZvKTsKLSAgZGxjbG9zZShnX2RlbWFuZ2xlcik7Ci19Ci0KLXN0YXRpYyBjaGFyKiBkZW1hbmdsZShjb25zdCBjaGFyKiBzeW1ib2wpIHsKLSAgaWYgKGdfZGVtYW5nbGVyX2ZuID09IE5VTEwpIHsKLSAgICByZXR1cm4gTlVMTDsKLSAgfQotICByZXR1cm4gKCpnX2RlbWFuZ2xlcl9mbikoc3ltYm9sLCBOVUxMLCBOVUxMLCBOVUxMKTsKIH0KIAogc3RydWN0IHN0YWNrX2NyYXdsX3N0YXRlX3QgewpAQCAtMTYyLDggKzE0NCw3IEBACiAgICAgICBzb25hbWUgPSAiPHVua25vd24+IjsKICAgICB9CiAgICAgaWYgKHN5bWJvbCAhPSBOVUxMKSB7Ci0gICAgICAvLyBUT0RPOiB3ZSBtaWdodCBuZWVkIGEgZmxhZyB0byBzYXkgd2hldGhlciBpdCdzIHNhZmUgdG8gYWxsb2NhdGUgKGRlbWFuZ2xpbmcgYWxsb2NhdGVzKS4KLSAgICAgIGNoYXIqIGRlbWFuZ2xlZF9zeW1ib2wgPSBkZW1hbmdsZShzeW1ib2wpOworICAgICAgY2hhciogZGVtYW5nbGVkX3N5bWJvbCA9IF9fY3hhX2RlbWFuZ2xlKHN5bWJvbCwgTlVMTCwgTlVMTCwgTlVMTCk7CiAgICAgICBjb25zdCBjaGFyKiBiZXN0X25hbWUgPSAoZGVtYW5nbGVkX3N5bWJvbCAhPSBOVUxMKSA/IGRlbWFuZ2xlZF9zeW1ib2wgOiBzeW1ib2w7CiAKICAgICAgIF9fbGliY19mb3JtYXRfbG9nKEFORFJPSURfTE9HX0VSUk9SLCAibGliYyIsCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9kaXJlbnQuY3BwIGIvbGliYy9iaW9uaWMvZGlyZW50LmNwcAppbmRleCA3YWJjN2YzLi5mYjQ1Mzk4IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9kaXJlbnQuY3BwCisrKyBiL2xpYmMvYmlvbmljL2RpcmVudC5jcHAKQEAgLTMwLDYgKzMwLDggQEAKIAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxtYWxsb2MuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgpAQCAtNDMsNiArNDUsNyBAQAogICBpbnQgZmRfOwogICBzaXplX3QgYXZhaWxhYmxlX2J5dGVzXzsKICAgZGlyZW50KiBuZXh0XzsKKyAgbG9uZyBjdXJyZW50X3Bvc187CiAgIHB0aHJlYWRfbXV0ZXhfdCBtdXRleF87CiAgIGRpcmVudCBidWZmX1sxNV07CiB9OwpAQCAtNTUsNiArNTgsNyBAQAogICBkLT5mZF8gPSBmZDsKICAgZC0+YXZhaWxhYmxlX2J5dGVzXyA9IDA7CiAgIGQtPm5leHRfID0gTlVMTDsKKyAgZC0+Y3VycmVudF9wb3NfID0gMEw7CiAgIHB0aHJlYWRfbXV0ZXhfaW5pdCgmZC0+bXV0ZXhfLCBOVUxMKTsKICAgcmV0dXJuIGQ7CiB9CkBAIC03OCw3ICs4Miw3IEBACiB9CiAKIERJUiogb3BlbmRpcihjb25zdCBjaGFyKiBwYXRoKSB7Ci0gIGludCBmZCA9IG9wZW4ocGF0aCwgT19SRE9OTFkgfCBPX0RJUkVDVE9SWSk7CisgIGludCBmZCA9IG9wZW4ocGF0aCwgT19DTE9FWEVDIHwgT19ESVJFQ1RPUlkgfCBPX1JET05MWSk7CiAgIHJldHVybiAoZmQgIT0gLTEpID8gX19hbGxvY2F0ZV9ESVIoZmQpIDogTlVMTDsKIH0KIApAQCAtMTAwLDYgKzEwNCw5IEBACiAgIGRpcmVudCogZW50cnkgPSBkLT5uZXh0XzsKICAgZC0+bmV4dF8gPSByZWludGVycHJldF9jYXN0PGRpcmVudCo+KHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGVudHJ5KSArIGVudHJ5LT5kX3JlY2xlbik7CiAgIGQtPmF2YWlsYWJsZV9ieXRlc18gLT0gZW50cnktPmRfcmVjbGVuOworICAvLyBUaGUgZGlyZWN0b3J5IGVudHJ5IG9mZnNldCB1c2VzIDAsIDEsIDIgaW5zdGVhZCBvZiByZWFsIGZpbGUgb2Zmc2V0LAorICAvLyBzbyB0aGUgdmFsdWUgcmFuZ2Ugb2YgbG9uZyB0eXBlIGlzIGVub3VnaC4KKyAgZC0+Y3VycmVudF9wb3NfID0gc3RhdGljX2Nhc3Q8bG9uZz4oZW50cnktPmRfb2ZmKTsKICAgcmV0dXJuIGVudHJ5OwogfQogCkBAIC0xNDYsNiArMTUzLDIwIEBACiAgIFNjb3BlZFB0aHJlYWRNdXRleExvY2tlciBsb2NrZXIoJmQtPm11dGV4Xyk7CiAgIGxzZWVrKGQtPmZkXywgMCwgU0VFS19TRVQpOwogICBkLT5hdmFpbGFibGVfYnl0ZXNfID0gMDsKKyAgZC0+Y3VycmVudF9wb3NfID0gMEw7Cit9CisKK3ZvaWQgc2Vla2RpcihESVIqIGQsIGxvbmcgb2Zmc2V0KSB7CisgIFNjb3BlZFB0aHJlYWRNdXRleExvY2tlciBsb2NrZXIoJmQtPm11dGV4Xyk7CisgIG9mZl90IHJldCA9IGxzZWVrKGQtPmZkXywgb2Zmc2V0LCBTRUVLX1NFVCk7CisgIGlmIChyZXQgIT0gLTFMKSB7CisgICAgZC0+YXZhaWxhYmxlX2J5dGVzXyA9IDA7CisgICAgZC0+Y3VycmVudF9wb3NfID0gcmV0OworICB9Cit9CisKK2xvbmcgdGVsbGRpcihESVIqIGQpIHsKKyAgcmV0dXJuIGQtPmN1cnJlbnRfcG9zXzsKIH0KIAogaW50IGFscGhhc29ydChjb25zdCBkaXJlbnQqKiBhLCBjb25zdCBkaXJlbnQqKiBiKSB7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9kbG1hbGxvYy5jIGIvbGliYy9iaW9uaWMvZGxtYWxsb2MuYwppbmRleCBlODljNWQxLi41ODUzZTdjIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9kbG1hbGxvYy5jCisrKyBiL2xpYmMvYmlvbmljL2RsbWFsbG9jLmMKQEAgLTE2LDYgKzE2LDcgQEAKIAogI2luY2x1ZGUgImRsbWFsbG9jLmgiCiAKKyNpbmNsdWRlICJtYWxsb2MuaCIKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19wcmN0bC5oIgogI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCiAKQEAgLTU0LDMgKzU1LDI1IEBACiAgIHByY3RsKFBSX1NFVF9WTUEsIFBSX1NFVF9WTUFfQU5PTl9OQU1FLCBtYXAsIGxlbmd0aCwgImxpYmNfbWFsbG9jIik7CiAgIHJldHVybiBtYXA7CiB9CisKKy8vIFNpbmNlIGRsbWFsbG9jIGlzbid0IHRoZSBkZWZhdWx0LCB3ZSdsbCBsZWF2ZSB0aGlzIHVuaW1wbGVtZW50ZWQgZm9yIG5vdy4gSWYKKy8vIHdlIGRlY2lkZSB3ZSBuZWVkIGl0IGxhdGVyLCB3ZSBjYW4gZmlsbCBpdCBpbi4KK3NpemVfdCBfX21hbGxpbmZvX25hcmVuYXMoKSB7CisgIHJldHVybiAwOworfQorCitzaXplX3QgX19tYWxsaW5mb19uYmlucygpIHsKKyAgcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBtYWxsaW5mbyBfX21hbGxpbmZvX2FyZW5hX2luZm8oc2l6ZV90IGFpZHggX191bnVzZWQpIHsKKyAgc3RydWN0IG1hbGxpbmZvIG1pOworICBtZW1zZXQoJm1pLCAwLCBzaXplb2YobWkpKTsKKyAgcmV0dXJuIG1pOworfQorCitzdHJ1Y3QgbWFsbGluZm8gX19tYWxsaW5mb19iaW5faW5mbyhzaXplX3QgYWlkeCBfX3VudXNlZCwgc2l6ZV90IGJpZHggX191bnVzZWQpIHsKKyAgc3RydWN0IG1hbGxpbmZvIG1pOworICBtZW1zZXQoJm1pLCAwLCBzaXplb2YobWkpKTsKKyAgcmV0dXJuIG1pOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvZHVwMi5jcHAgYi9saWJjL2Jpb25pYy9kdXAyLmNwcAppbmRleCAwYjg2MzJiLi45OGM1NjQ2IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9kdXAyLmNwcAorKysgYi9saWJjL2Jpb25pYy9kdXAyLmNwcApAQCAtMjYsOCArMjYsMTkgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiBpbnQgZHVwMihpbnQgb2xkX2ZkLCBpbnQgbmV3X2ZkKSB7CisgIC8vIElmIG9sZF9mZCBpcyBlcXVhbCB0byBuZXdfZmQgYW5kIGEgdmFsaWQgZmlsZSBkZXNjcmlwdG9yLCBkdXAyIHJldHVybnMKKyAgLy8gb2xkX2ZkIHdpdGhvdXQgY2xvc2luZyBpdC4gVGhpcyBpcyBub3QgdHJ1ZSBvZiBkdXAzLCBzbyB3ZSBoYXZlIHRvCisgIC8vIGhhbmRsZSB0aGlzIGNhc2Ugb3Vyc2VsdmVzLgorICBpZiAob2xkX2ZkID09IG5ld19mZCkgeworICAgIGlmIChmY250bChvbGRfZmQsIEZfR0VURkQpID09IC0xKSB7CisgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHJldHVybiBvbGRfZmQ7CisgIH0KKwogICByZXR1cm4gZHVwMyhvbGRfZmQsIG5ld19mZCwgMCk7CiB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9lcnIuYyBiL2xpYmMvYmlvbmljL2Vyci5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGEzZDg1Li4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL2Vyci5jCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLS8qLQotICogQ29weXJpZ2h0IChjKSAxOTkzCi0gKiAgICAgIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+Ci0jaW5jbHVkZSA8ZXJyLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotCi1leHRlcm4gY29uc3QgY2hhciogX19wcm9nbmFtZTsKLQotX19ub3JldHVybiB2b2lkCi1lcnIoaW50IGV2YWwsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotewotICAgICAgICB2YV9saXN0IGFwOwotCi0gICAgICAgIHZhX3N0YXJ0KGFwLCBmbXQpOwotICAgICAgICB2ZXJyKGV2YWwsIGZtdCwgYXApOwotICAgICAgICB2YV9lbmQoYXApOwotfQotCi1fX25vcmV0dXJuIHZvaWQKLWVycngoaW50IGV2YWwsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotewotICAgICAgICB2YV9saXN0IGFwOwotCi0gICAgICAgIHZhX3N0YXJ0KGFwLCBmbXQpOwotICAgICAgICB2ZXJyeChldmFsLCBmbXQsIGFwKTsKLSAgICAgICAgdmFfZW5kKGFwKTsKLX0KLQotX19ub3JldHVybiB2b2lkCi12ZXJyKGludCBldmFsLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCi17Ci0gICAgICAgIGludCBzdmVycm5vOwotCi0gICAgICAgIHN2ZXJybm8gPSBlcnJubzsKLSAgICAgICAgKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogIiwgX19wcm9nbmFtZSk7Ci0gICAgICAgIGlmIChmbXQgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgICh2b2lkKXZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcCk7Ci0gICAgICAgICAgICAgICAgKHZvaWQpZnByaW50ZihzdGRlcnIsICI6ICIpOwotICAgICAgICB9Ci0gICAgICAgICh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXNcbiIsIHN0cmVycm9yKHN2ZXJybm8pKTsKLSAgICAgICAgZXhpdChldmFsKTsKLX0KLQotCi1fX25vcmV0dXJuIHZvaWQKLXZlcnJ4KGludCBldmFsLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCi17Ci0gICAgICAgICh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6ICIsIF9fcHJvZ25hbWUpOwotICAgICAgICBpZiAoZm10ICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgKHZvaWQpdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKLSAgICAgICAgKHZvaWQpZnByaW50ZihzdGRlcnIsICJcbiIpOwotICAgICAgICBleGl0KGV2YWwpOwotfQotCi12b2lkCi13YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotewotCXZhX2xpc3QgYXA7Ci0KLQl2YV9zdGFydChhcCwgZm10KTsKLQl2d2FybihmbXQsIGFwKTsKLQl2YV9lbmQoYXApOwotfQotCi12b2lkCi13YXJueChjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQl2YV9saXN0IGFwOwotCi0JdmFfc3RhcnQoYXAsIGZtdCk7Ci0Jdndhcm54KGZtdCwgYXApOwotCXZhX2VuZChhcCk7Ci19Ci0KLXZvaWQKLXZ3YXJuKGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKLXsKLQlpbnQgc3ZlcnJubzsKLQotCXN2ZXJybm8gPSBlcnJubzsKLQkodm9pZClmcHJpbnRmKHN0ZGVyciwgIiVzOiAiLCBfX3Byb2duYW1lKTsKLQlpZiAoZm10ICE9IE5VTEwpIHsKLQkJKHZvaWQpdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICI6ICIpOwotCX0KLQkodm9pZClmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBzdHJlcnJvcihzdmVycm5vKSk7Ci19Ci0KLXZvaWQKLXZ3YXJueChjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCi17Ci0JKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogIiwgX19wcm9nbmFtZSk7Ci0JaWYgKGZtdCAhPSBOVUxMKQotCQkodm9pZCl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOwotCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiXG4iKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2Vycm9yLmNwcCBiL2xpYmMvYmlvbmljL2Vycm9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGRmMGUwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvZXJyb3IuY3BwCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGVycm9yLmg+CisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKK3Vuc2lnbmVkIGludCBlcnJvcl9tZXNzYWdlX2NvdW50ID0gMDsKK3ZvaWQgKCplcnJvcl9wcmludF9wcm9nbmFtZSkodm9pZCkgPSBOVUxMOworaW50IGVycm9yX29uZV9wZXJfbGluZSA9IDA7CisKK3N0YXRpYyB2b2lkIF9fZXJyb3JfaGVhZCgpIHsKKyAgKytlcnJvcl9tZXNzYWdlX2NvdW50OworCisgIGlmIChlcnJvcl9wcmludF9wcm9nbmFtZSAhPSBOVUxMKSB7CisgICAgZXJyb3JfcHJpbnRfcHJvZ25hbWUoKTsKKyAgfSBlbHNlIHsKKyAgICBmZmx1c2goc3Rkb3V0KTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiIsIGdldHByb2duYW1lKCkpOworICB9Cit9CisKK3N0YXRpYyB2b2lkIF9fZXJyb3JfdGFpbChpbnQgc3RhdHVzLCBpbnQgZXJyb3IpIHsKKyAgaWYgKGVycm9yICE9IDApIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIjogJXMiLCBzdHJlcnJvcihlcnJvcikpOworICB9CisKKyAgcHV0YygnXG4nLCBzdGRlcnIpOworICBmZmx1c2goc3RkZXJyKTsKKworICBpZiAoc3RhdHVzICE9IDApIHsKKyAgICBleGl0KHN0YXR1cyk7CisgIH0KK30KKwordm9pZCBlcnJvcihpbnQgc3RhdHVzLCBpbnQgZXJyb3IsIGNvbnN0IGNoYXIqIGZtdCwgLi4uKSB7CisgIF9fZXJyb3JfaGVhZCgpOworICBwdXRjKCcgJywgc3RkZXJyKTsKKworICB2YV9saXN0IGFwOworICB2YV9zdGFydChhcCwgZm10KTsKKyAgdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKyAgdmFfZW5kKGFwKTsKKworICBfX2Vycm9yX3RhaWwoc3RhdHVzLCBlcnJvcik7Cit9CisKK3ZvaWQgZXJyb3JfYXRfbGluZShpbnQgc3RhdHVzLCBpbnQgZXJyb3IsIGNvbnN0IGNoYXIqIGZpbGUsIHVuc2lnbmVkIGludCBsaW5lLCBjb25zdCBjaGFyKiBmbXQsIC4uLikgeworICBpZiAoZXJyb3Jfb25lX3Blcl9saW5lKSB7CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIGxhc3RfZmlsZTsKKyAgICBzdGF0aWMgdW5zaWduZWQgaW50IGxhc3RfbGluZTsKKyAgICBpZiAobGFzdF9saW5lID09IGxpbmUgJiYgbGFzdF9maWxlICE9IE5VTEwgJiYgc3RyY21wKGxhc3RfZmlsZSwgZmlsZSkgPT0gMCkgeworICAgICAgcmV0dXJuOworICAgIH0KKyAgICBsYXN0X2ZpbGUgPSBmaWxlOworICAgIGxhc3RfbGluZSA9IGxpbmU7CisgIH0KKworICBfX2Vycm9yX2hlYWQoKTsKKyAgZnByaW50ZihzdGRlcnIsICIlczolZDogIiwgZmlsZSwgbGluZSk7CisKKyAgdmFfbGlzdCBhcDsKKyAgdmFfc3RhcnQoYXAsIGZtdCk7CisgIHZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcCk7CisgIHZhX2VuZChhcCk7CisKKyAgX19lcnJvcl90YWlsKHN0YXR1cywgZXJyb3IpOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvZmFjY2Vzc2F0LmNwcCBiL2xpYmMvYmlvbmljL2ZhY2Nlc3NhdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYzNzVlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL2ZhY2Nlc3NhdC5jcHAKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCitleHRlcm4gIkMiIGludCBfX19mYWNjZXNzYXQoaW50LCBjb25zdCBjaGFyKiwgaW50KTsKKworaW50IGZhY2Nlc3NhdChpbnQgZGlyZmQsIGNvbnN0IGNoYXIqIHBhdGhuYW1lLCBpbnQgbW9kZSwgaW50IGZsYWdzKSB7CisgIC8vICJUaGUgbW9kZSBzcGVjaWZpZXMgdGhlIGFjY2Vzc2liaWxpdHkgY2hlY2socykgdG8gYmUgcGVyZm9ybWVkLAorICAvLyBhbmQgaXMgZWl0aGVyIHRoZSB2YWx1ZSBGX09LLCBvciBhIG1hc2sgY29uc2lzdGluZyBvZiB0aGUKKyAgLy8gYml0d2lzZSBPUiBvZiBvbmUgb3IgbW9yZSBvZiBSX09LLCBXX09LLCBhbmQgWF9PSy4iCisgIGlmICgobW9kZSAhPSBGX09LKSAmJiAoKG1vZGUgJiB+KFJfT0sgfCBXX09LIHwgWF9PSykpICE9IDApICYmCisgICAgICAoKG1vZGUgJiAoUl9PSyB8IFdfT0sgfCBYX09LKSkgPT0gMCkpIHsKKyAgICBlcnJubyA9IEVJTlZBTDsKKyAgICByZXR1cm4gLTE7CisgIH0KKworICBpZiAoZmxhZ3MgIT0gMCkgeworICAgIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCBzdXBwb3J0IEFUX1NZTUxJTktfTk9GT0xMT1csIGEgZ2xpYmMKKyAgICAvLyBvbmx5IGZlYXR1cmUgd2hpY2ggaXMgZXJyb3IgcHJvbmUgYW5kIGRhbmdlcm91cy4KKyAgICAvLworICAgIC8vIEFUX0VBQ0NFU1MgaXNuJ3Qgc3VwcG9ydGVkIGVpdGhlci4gQW5kcm9pZCBkb2Vzbid0IGhhdmUgc2V0dWlkCisgICAgLy8gcHJvZ3JhbXMsIGFuZCBuZXZlciBydW5zIGNvZGUgd2l0aCBldWlkIT11aWQuIEl0IGNvdWxkIGJlCisgICAgLy8gaW1wbGVtZW50ZWQgaW4gYW4gZXhwZW5zaXZlIHdheSwgZm9sbG93aW5nIHRoZSBtb2RlbCBhdAorICAgIC8vIGh0dHBzOi8vZ2l0bGFiLmNvbS9ibWlub3IvbXVzbC9jb21taXQvMGEwNWVhY2UxNjNjZWU5YjA4NTcxZDJmZjlkOTBmNWU4MmQ5YzIyOAorICAgIC8vIGJ1dCBub3Qgd29ydGggaXQuCisgICAgZXJybm8gPSBFSU5WQUw7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgcmV0dXJuIF9fX2ZhY2Nlc3NhdChkaXJmZCwgcGF0aG5hbWUsIG1vZGUpOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvZmNobW9kLmNwcCBiL2xpYmMvYmlvbmljL2ZjaG1vZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNlOGM2YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL2ZjaG1vZC5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworZXh0ZXJuICJDIiBpbnQgX19fZmNobW9kKGludCwgbW9kZV90KTsKKworaW50IGZjaG1vZChpbnQgZmQsIG1vZGVfdCBtb2RlKSB7CisgIGludCBzYXZlZF9lcnJubyA9IGVycm5vOworICBpbnQgcmVzdWx0ID0gX19fZmNobW9kKGZkLCBtb2RlKTsKKworICBpZiAoKHJlc3VsdCA9PSAwKSB8fCAoZXJybm8gIT0gRUJBREYpKSB7CisgICAgcmV0dXJuIHJlc3VsdDsKKyAgfQorCisgIC8vIGZkIGNvdWxkIGJlIGFuIE9fUEFUSCBmaWxlIGRlc2NyaXB0b3IsIGFuZCB0aGUga2VybmVsCisgIC8vIG1heSBub3QgZGlyZWN0bHkgc3VwcG9ydCBmY2htb2QoKSBvbiBzdWNoIGEgZmlsZSBkZXNjcmlwdG9yLgorICAvLyBVc2UgL3Byb2Mvc2VsZi9mZCBpbnN0ZWFkIHRvIGVtdWxhdGUgdGhpcyBzdXBwb3J0LgorICAvLyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDU3OAorICAvLworICAvLyBBcyBvZiBGZWJydWFyeSAyMDE1LCB0aGVyZSBhcmUgbm8ga2VybmVscyB3aGljaCBzdXBwb3J0IGZjaG1vZAorICAvLyBvbiBhbiBPX1BBVEggZmlsZSBkZXNjcmlwdG9yLCBhbmQgIm1hbiBvcGVuIiBkb2N1bWVudHMgZmNobW9kCisgIC8vIG9uIE9fUEFUSCBmaWxlIGRlc2NyaXB0b3JzIGFzIHJldHVybmluZyBFQkFERi4KKyAgaW50IGZkX2ZsYWcgPSBmY250bChmZCwgRl9HRVRGTCk7CisgIGlmICgoZmRfZmxhZyA9PSAtMSkgfHwgKChmZF9mbGFnICYgT19QQVRIKSA9PSAwKSkgeworICAgIGVycm5vID0gRUJBREY7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgY2hhciBidWZbNDBdOworICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiL3Byb2Mvc2VsZi9mZC8lZCIsIGZkKTsKKyAgZXJybm8gPSBzYXZlZF9lcnJubzsKKyAgcmVzdWx0ID0gY2htb2QoYnVmLCBtb2RlKTsKKyAgaWYgKChyZXN1bHQgPT0gLTEpICYmIChlcnJubyA9PSBFTE9PUCkpIHsKKyAgICAvLyBMaW51eCBkb2VzIG5vdCBzdXBwb3J0IGNoYW5naW5nIHRoZSBtb2RlIG9mIGEgc3ltbGluay4KKyAgICAvLyBGb3IgZmNobW9kYXQoQVRfU1lNTElOS19OT0ZPTExPVyksIFBPU0lYIHJlcXVpcmVzIGEgcmV0dXJuCisgICAgLy8gdmFsdWUgb2YgRU5PVFNVUC4gQXNzdW1lIHRoYXQncyB0cnVlIGhlcmUgdG9vLgorICAgIGVycm5vID0gRU5PVFNVUDsKKyAgfQorCisgIHJldHVybiByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9mY2htb2RhdC5jcHAgYi9saWJjL2Jpb25pYy9mY2htb2RhdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY4M2M0YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL2ZjaG1vZGF0LmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgInByaXZhdGUvRXJybm9SZXN0b3Jlci5oIgorCitleHRlcm4gIkMiIGludCBfX19mY2htb2RhdChpbnQsIGNvbnN0IGNoYXIqLCBtb2RlX3QpOworCitpbnQgZmNobW9kYXQoaW50IGRpcmZkLCBjb25zdCBjaGFyKiBwYXRobmFtZSwgbW9kZV90IG1vZGUsIGludCBmbGFncykgeworICBpZiAoKGZsYWdzICYgfkFUX1NZTUxJTktfTk9GT0xMT1cpICE9IDApIHsKKyAgICBlcnJubyA9IEVJTlZBTDsKKyAgICByZXR1cm4gLTE7CisgIH0KKworICBpZiAoZmxhZ3MgJiBBVF9TWU1MSU5LX05PRk9MTE9XKSB7CisgICAgLy8gRW11bGF0ZSBBVF9TWU1MSU5LX05PRk9MTE9XIHVzaW5nIHRoZSBtZWNoYW5pc20gZGVzY3JpYmVkCisgICAgLy8gYXQgaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTQ1NzgKKyAgICAvLyBjb21tZW50ICMxMAorCisgICAgaW50IGZkID0gb3BlbmF0KGRpcmZkLCBwYXRobmFtZSwgT19QQVRIIHwgT19OT0ZPTExPVyB8IE9fQ0xPRVhFQyk7CisgICAgaWYgKGZkID09IC0xKSB7CisgICAgICByZXR1cm4gLTE7IC8vIHJldHVybnMgZXJybm8gZnJvbSBvcGVuYXQKKyAgICB9CisKKyAgICAvLyBQT1NJWCByZXF1aXJlcyB0aGF0IEVOT1RTVVAgYmUgcmV0dXJuZWQgd2hlbiB0aGUgc3lzdGVtCisgICAgLy8gZG9lc24ndCBzdXBwb3J0IHNldHRpbmcgdGhlIG1vZGUgb2YgYSBzeW1ib2xpYyBsaW5rLgorICAgIC8vIFRoaXMgaXMgdHJ1ZSBmb3IgYWxsIExpbnV4IGtlcm5lbHMuCisgICAgLy8gV2UgcmVseSBvbiB0aGUgT19QQVRIIGNvbXBhdGliaWxpdHkgbGF5ZXIgYWRkZWQgaW4gdGhlCisgICAgLy8gZmNobW9kKCkgZnVuY3Rpb24gdG8gZ2V0IGVycm5vIGNvcnJlY3QuCisgICAgaW50IHJlc3VsdCA9IGZjaG1vZChmZCwgbW9kZSk7CisgICAgRXJybm9SZXN0b3JlciBlcnJub19yZXN0b3JlcjsgLy8gZG9uJ3QgbGV0IGNsb3NlKCkgY2xvYmJlciBlcnJubworICAgIGNsb3NlKGZkKTsKKyAgICByZXR1cm4gcmVzdWx0OworICB9CisKKyAgcmV0dXJuIF9fX2ZjaG1vZGF0KGRpcmZkLCBwYXRobmFtZSwgbW9kZSk7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9mdHMuYyBiL2xpYmMvYmlvbmljL2Z0cy5jCmluZGV4IGM0OTFiNmEuLjMxYTRiMmYgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2Z0cy5jCisrKyBiL2xpYmMvYmlvbmljL2Z0cy5jCkBAIC0xLDQgKzEsNCBAQAotLyoJJE9wZW5CU0Q6IGZ0cy5jLHYgMS40NiAyMDE0LzA1LzI1IDE3OjQ3OjA0IHRlZHUgRXhwICQJKi8KKy8qCSRPcGVuQlNEOiBmdHMuYyx2IDEuNDggMjAxNC8xMS8yMCAwNDoxNDoxNSBndWVudGhlciBFeHAgJAkqLwogCiAvKi0KICAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MywgMTk5NApAQCAtNDksMTEgKzQ5LDEyIEBACiBzdGF0aWMgdm9pZAkgZnRzX3BhZGp1c3QoRlRTICosIEZUU0VOVCAqKTsKIHN0YXRpYyBpbnQJIGZ0c19wYWxsb2MoRlRTICosIHNpemVfdCk7CiBzdGF0aWMgRlRTRU5UCSpmdHNfc29ydChGVFMgKiwgRlRTRU5UICosIGludCk7Ci1zdGF0aWMgdV9zaG9ydAkgZnRzX3N0YXQoRlRTICosIEZUU0VOVCAqLCBpbnQpOworc3RhdGljIHVfc2hvcnQJIGZ0c19zdGF0KEZUUyAqLCBGVFNFTlQgKiwgaW50LCBpbnQpOwogc3RhdGljIGludAkgZnRzX3NhZmVfY2hhbmdlZGlyKEZUUyAqLCBGVFNFTlQgKiwgaW50LCBjaGFyICopOwogCiAjZGVmaW5lIEFMSUdOQllURVMgKHNpemVvZih1aW50cHRyX3QpIC0gMSkKICNkZWZpbmUgQUxJR04ocCkgKCgodWludHB0cl90KShwKSArIEFMSUdOQllURVMpICZ+IEFMSUdOQllURVMpCit2b2lkKiByZWFsbG9jYXJyYXkodm9pZCosIHNpemVfdCwgc2l6ZV90KTsKIAogI2RlZmluZQlJU0RPVChhKQkoYVswXSA9PSAnLicgJiYgKCFhWzFdIHx8IChhWzFdID09ICcuJyAmJiAhYVsyXSkpKQogCkBAIC0xMTksNyArMTIwLDcgQEAKIAkJcC0+ZnRzX2xldmVsID0gRlRTX1JPT1RMRVZFTDsKIAkJcC0+ZnRzX3BhcmVudCA9IHBhcmVudDsKIAkJcC0+ZnRzX2FjY3BhdGggPSBwLT5mdHNfbmFtZTsKLQkJcC0+ZnRzX2luZm8gPSBmdHNfc3RhdChzcCwgcCwgSVNTRVQoRlRTX0NPTUZPTExPVykpOworCQlwLT5mdHNfaW5mbyA9IGZ0c19zdGF0KHNwLCBwLCBJU1NFVChGVFNfQ09NRk9MTE9XKSwgLTEpOwogCiAJCS8qIENvbW1hbmQtbGluZSAiLiIgYW5kICIuLiIgYXJlIHJlYWwgZGlyZWN0b3JpZXMuICovCiAJCWlmIChwLT5mdHNfaW5mbyA9PSBGVFNfRE9UKQpAQCAtMjczLDcgKzI3NCw3IEBACiAKIAkvKiBBbnkgdHlwZSBvZiBmaWxlIG1heSBiZSByZS12aXNpdGVkOyByZS1zdGF0IGFuZCByZS10dXJuLiAqLwogCWlmIChpbnN0ciA9PSBGVFNfQUdBSU4pIHsKLQkJcC0+ZnRzX2luZm8gPSBmdHNfc3RhdChzcCwgcCwgMCk7CisJCXAtPmZ0c19pbmZvID0gZnRzX3N0YXQoc3AsIHAsIDAsIC0xKTsKIAkJcmV0dXJuIChwKTsKIAl9CiAKQEAgLTI4NSw3ICsyODYsNyBAQAogCSAqLwogCWlmIChpbnN0ciA9PSBGVFNfRk9MTE9XICYmCiAJICAgIChwLT5mdHNfaW5mbyA9PSBGVFNfU0wgfHwgcC0+ZnRzX2luZm8gPT0gRlRTX1NMTk9ORSkpIHsKLQkJcC0+ZnRzX2luZm8gPSBmdHNfc3RhdChzcCwgcCwgMSk7CisJCXAtPmZ0c19pbmZvID0gZnRzX3N0YXQoc3AsIHAsIDEsIC0xKTsKIAkJaWYgKHAtPmZ0c19pbmZvID09IEZUU19EICYmICFJU1NFVChGVFNfTk9DSERJUikpIHsKIAkJCWlmICgocC0+ZnRzX3N5bWZkID0gb3BlbigiLiIsIE9fUkRPTkxZLCAwKSkgPCAwKSB7CiAJCQkJcC0+ZnRzX2Vycm5vID0gZXJybm87CkBAIC0zNzQsNyArMzc1LDcgQEAKIAkJaWYgKHAtPmZ0c19pbnN0ciA9PSBGVFNfU0tJUCkKIAkJCWdvdG8gbmV4dDsKIAkJaWYgKHAtPmZ0c19pbnN0ciA9PSBGVFNfRk9MTE9XKSB7Ci0JCQlwLT5mdHNfaW5mbyA9IGZ0c19zdGF0KHNwLCBwLCAxKTsKKwkJCXAtPmZ0c19pbmZvID0gZnRzX3N0YXQoc3AsIHAsIDEsIC0xKTsKIAkJCWlmIChwLT5mdHNfaW5mbyA9PSBGVFNfRCAmJiAhSVNTRVQoRlRTX05PQ0hESVIpKSB7CiAJCQkJaWYgKChwLT5mdHNfc3ltZmQgPQogCQkJCSAgICBvcGVuKCIuIiwgT19SRE9OTFksIDApKSA8IDApIHsKQEAgLTcxOSwxMCArNzIwLDExIEBACiAJCQlpZiAoSVNTRVQoRlRTX05PQ0hESVIpKSB7CiAJCQkJcC0+ZnRzX2FjY3BhdGggPSBwLT5mdHNfcGF0aDsKIAkJCQltZW1tb3ZlKGNwLCBwLT5mdHNfbmFtZSwgcC0+ZnRzX25hbWVsZW4gKyAxKTsKLQkJCX0gZWxzZQorCQkJCXAtPmZ0c19pbmZvID0gZnRzX3N0YXQoc3AsIHAsIDAsIGRpcmZkKGRpcnApKTsKKwkJCX0gZWxzZSB7CiAJCQkJcC0+ZnRzX2FjY3BhdGggPSBwLT5mdHNfbmFtZTsKLQkJCS8qIFN0YXQgaXQuICovCi0JCQlwLT5mdHNfaW5mbyA9IGZ0c19zdGF0KHNwLCBwLCAwKTsKKwkJCQlwLT5mdHNfaW5mbyA9IGZ0c19zdGF0KHNwLCBwLCAwLCAtMSk7CisJCQl9CiAKIAkJCS8qIERlY3JlbWVudCBsaW5rIGNvdW50IGlmIGFwcGxpY2FibGUuICovCiAJCQlpZiAobmxpbmtzID4gMCAmJiAocC0+ZnRzX2luZm8gPT0gRlRTX0QgfHwKQEAgLTc4OSwxMyArNzkxLDIwIEBACiB9CiAKIHN0YXRpYyB1X3Nob3J0Ci1mdHNfc3RhdChGVFMgKnNwLCBGVFNFTlQgKnAsIGludCBmb2xsb3cpCitmdHNfc3RhdChGVFMgKnNwLCBGVFNFTlQgKnAsIGludCBmb2xsb3csIGludCBkZmQpCiB7CiAJRlRTRU5UICp0OwogCWRldl90IGRldjsKIAlpbm9fdCBpbm87CiAJc3RydWN0IHN0YXQgKnNicCwgc2I7CiAJaW50IHNhdmVkX2Vycm5vOworCWNvbnN0IGNoYXIgKnBhdGg7CisKKwlpZiAoZGZkID09IC0xKSB7CisJCXBhdGggPSBwLT5mdHNfYWNjcGF0aDsKKwkJZGZkID0gQVRfRkRDV0Q7CisJfSBlbHNlCisJCXBhdGggPSBwLT5mdHNfbmFtZTsKIAogCS8qIElmIHVzZXIgbmVlZHMgc3RhdCBpbmZvLCBzdGF0IGJ1ZmZlciBhbHJlYWR5IGFsbG9jYXRlZC4gKi8KIAlzYnAgPSBJU1NFVChGVFNfTk9TVEFUKSA/ICZzYiA6IHAtPmZ0c19zdGF0cDsKQEAgLTgwNiwxNiArODE1LDE2IEBACiAJICogZmFpbCwgc2V0IHRoZSBlcnJubyBmcm9tIHRoZSBzdGF0IGNhbGwuCiAJICovCiAJaWYgKElTU0VUKEZUU19MT0dJQ0FMKSB8fCBmb2xsb3cpIHsKLQkJaWYgKHN0YXQocC0+ZnRzX2FjY3BhdGgsIHNicCkpIHsKKwkJaWYgKGZzdGF0YXQoZGZkLCBwYXRoLCBzYnAsIDApKSB7CiAJCQlzYXZlZF9lcnJubyA9IGVycm5vOwotCQkJaWYgKCFsc3RhdChwLT5mdHNfYWNjcGF0aCwgc2JwKSkgeworCQkJaWYgKCFmc3RhdGF0KGRmZCwgcGF0aCwgc2JwLCBBVF9TWU1MSU5LX05PRk9MTE9XKSkgewogCQkJCWVycm5vID0gMDsKIAkJCQlyZXR1cm4gKEZUU19TTE5PTkUpOwogCQkJfQogCQkJcC0+ZnRzX2Vycm5vID0gc2F2ZWRfZXJybm87CiAJCQlnb3RvIGVycjsKIAkJfQotCX0gZWxzZSBpZiAobHN0YXQocC0+ZnRzX2FjY3BhdGgsIHNicCkpIHsKKwl9IGVsc2UgaWYgKGZzdGF0YXQoZGZkLCBwYXRoLCBzYnAsIEFUX1NZTUxJTktfTk9GT0xMT1cpKSB7CiAJCXAtPmZ0c19lcnJubyA9IGVycm5vOwogZXJyOgkJbWVtc2V0KHNicCwgMCwgc2l6ZW9mKHN0cnVjdCBzdGF0KSk7CiAJCXJldHVybiAoRlRTX05TKTsKQEAgLTg3Myw4ICs4ODIsOCBAQAogCQlzdHJ1Y3QgX2Z0c2VudCAqKmE7CiAKIAkJc3AtPmZ0c19uaXRlbXMgPSBuaXRlbXMgKyA0MDsKLQkJaWYgKChhID0gcmVhbGxvYyhzcC0+ZnRzX2FycmF5LAotCQkgICAgc3AtPmZ0c19uaXRlbXMgKiBzaXplb2YoRlRTRU5UICopKSkgPT0gTlVMTCkgeworCQlpZiAoKGEgPSByZWFsbG9jYXJyYXkoc3AtPmZ0c19hcnJheSwKKwkJICAgIHNwLT5mdHNfbml0ZW1zLCBzaXplb2YoRlRTRU5UICopKSkgPT0gTlVMTCkgewogCQkJaWYgKHNwLT5mdHNfYXJyYXkpCiAJCQkJZnJlZShzcC0+ZnRzX2FycmF5KTsKIAkJCXNwLT5mdHNfYXJyYXkgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvZ2V0YXV4dmFsLmNwcCBiL2xpYmMvYmlvbmljL2dldGF1eHZhbC5jcHAKaW5kZXggYmM0MTgyNC4uMjI5MjJiOSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvZ2V0YXV4dmFsLmNwcAorKysgYi9saWJjL2Jpb25pYy9nZXRhdXh2YWwuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8c3lzL2F1eHYuaD4KICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hdXh2Lmg+CiAjaW5jbHVkZSA8ZWxmLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KIAogX19MSUJDX0hJRERFTl9fIEVsZlcoYXV4dl90KSogX19saWJjX2F1eHYgPSBOVUxMOwogCkBAIC00MCw1ICs0MSw2IEBACiAgICAgICByZXR1cm4gdi0+YV91bi5hX3ZhbDsKICAgICB9CiAgIH0KKyAgZXJybm8gPSBFTk9FTlQ7CiAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvZ2V0Y3dkLmNwcCBiL2xpYmMvYmlvbmljL2dldGN3ZC5jcHAKaW5kZXggNDdjODA3Zi4uYThiYmNmMyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvZ2V0Y3dkLmNwcAorKysgYi9saWJjL2Jpb25pYy9nZXRjd2QuY3BwCkBAIC0yNiw4ICsyNiwxMCBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAotI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8bWFsbG9jLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAKIGV4dGVybiAiQyIgaW50IF9fZ2V0Y3dkKGNoYXIqIGJ1Ziwgc2l6ZV90IHNpemUpOwogCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9nZXRob3N0bmFtZS5jIGIvbGliYy9iaW9uaWMvZ2V0aG9zdG5hbWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQzZDdkOS4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9nZXRob3N0bmFtZS5jCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KLQotaW50IGdldGhvc3RuYW1lKGNoYXIqICBidWZmLCBzaXplX3QgIGJ1ZmxlbikKLXsKLSAgICBzdHJ1Y3QgdXRzbmFtZSAgbmFtZTsKLSAgICBpbnQgICAgICAgICAgICAgcmVzdWx0ID0gMDsKLQotICAgIHJlc3VsdCA9IHVuYW1lKCZuYW1lKTsKLSAgICBpZiAocmVzdWx0ICE9IC0xKQotICAgIHsKLSAgICAgICAgaW50ICBuYW1lbGVuID0gc3RybGVuKG5hbWUubm9kZW5hbWUpOwotCi0gICAgICAgIGlmICgoaW50KWJ1ZmxlbiA8IG5hbWVsZW4rMSkgewotICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgICAgICByZXN1bHQgPSAtMTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1lbWNweSggYnVmZiwgbmFtZS5ub2RlbmFtZSwgbmFtZWxlbisxICk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2dldGhvc3RuYW1lLmNwcCBiL2xpYmMvYmlvbmljL2dldGhvc3RuYW1lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjJmZWExCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvZ2V0aG9zdG5hbWUuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworaW50IGdldGhvc3RuYW1lKGNoYXIqIGJ1Ziwgc2l6ZV90IG4pIHsKKyAgc3RydWN0IHV0c25hbWUgbmFtZTsKKyAgaWYgKHVuYW1lKCZuYW1lKSA9PSAtMSkgeworICAgIHJldHVybiAtMTsKKyAgfQorCisgIHNpemVfdCBuYW1lX2xlbmd0aCA9IHN0YXRpY19jYXN0PHNpemVfdD4oc3RybGVuKG5hbWUubm9kZW5hbWUpICsgMSk7CisgIGlmIChuYW1lX2xlbmd0aCA+IG4pIHsKKyAgICBlcnJubyA9IEVOQU1FVE9PTE9ORzsKKyAgICByZXR1cm4gLTE7CisgIH0KKworICBtZW1jcHkoYnVmLCBuYW1lLm5vZGVuYW1lLCBuYW1lX2xlbmd0aCk7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvaGFzaC5oIGIvbGliYy9iaW9uaWMvaGFzaC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjQ4M2YxLi4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL2hhc2guaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTkgS3VuZ2xpZ2EgVGVrbmlza2EgSPZnc2tvbGFuCi0gKiAoUm95YWwgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIFN0b2NraG9sbSwgU3dlZGVuKS4gCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgCi0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgCi0gKiBhcmUgbWV0OiAKLSAqCi0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCAKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0gKgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCi0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIAotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0gKgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBLVEggbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZQotICogICAgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dAotICogICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgS1RIIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBLVEggT1IgSVRTIENPTlRSSUJVVE9SUyBCRQotICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgotICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCi0gKiBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUgotICogT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgotICogQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuICovCi0KLS8qICRIZWltZGFsOiBoYXNoLmgsdiAxLjEgMTk5OS8wMy8yMiAxOToxNjoyNSBqb2RhIEV4cCAkCi0gICAkTmV0QlNEOiBoYXNoLmgsdiAxLjEuMS4zIDIwMDIvMDkvMTIgMTI6NDE6NDIgam9kYSBFeHAgJCAqLwotCi0vKiBzdHVmZiBpbiBjb21tb24gYmV0d2VlbiBtZDQsIG1kNSwgYW5kIHNoYTEgKi8KLQotI2lmbmRlZiBfX2hhc2hfaF9fCi0jZGVmaW5lIF9faGFzaF9oX18KLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaWZuZGVmIG1pbgotI2RlZmluZSBtaW4oYSxiKSAoKChhKT4oYikpPyhiKTooYSkpCi0jZW5kaWYKLQotLyogVmVjdG9yIENyYXlzIGRvZXNuJ3QgaGF2ZSBhIGdvb2QgMzItYml0IHR5cGUsIG9yIG1vcmUgcHJlY2lzZWx5LAotICAgaW50MzJfdCBhcyBkZWZpbmVkIGJ5IDxiaW5kL2JpdHlwZXMuaD4gaXNuJ3QgMzIgYml0cywgYW5kIHdlIGRvbid0Ci0gICB3YW50IHRvIGRlcGVuZCBpbiBiZWluZyBhYmxlIHRvIHJlZGVmaW5lIHRoaXMgdHlwZS4gIFRvIGNvcGUgd2l0aAotICAgdGhpcyB3ZSBoYXZlIHRvIGNsYW1wIHRoZSByZXN1bHQgaW4gc29tZSBwbGFjZXMgdG8gWzAsMl4zMik7IG5vCi0gICBuZWVkIHRvIGRvIHRoaXMgb24gb3RoZXIgbWFjaGluZXMuICBEaWQgSSBzYXkgdGhpcyB3YXMgYSBtZXNzPwotICAgKi8KLQotI2lmZGVmIF9DUkFZCi0jZGVmaW5lIENSQVlGSVgoWCkgKChYKSAmIDB4ZmZmZmZmZmYpCi0jZWxzZQotI2RlZmluZSBDUkFZRklYKFgpIChYKQotI2VuZGlmCi0KLXN0YXRpYyBpbmxpbmUgdV9pbnQzMl90Ci1jc2hpZnQgKHVfaW50MzJfdCB4LCB1bnNpZ25lZCBpbnQgbikKLXsKLSAgICB4ID0gQ1JBWUZJWCh4KTsKLSAgICByZXR1cm4gQ1JBWUZJWCgoeCA8PCBuKSB8ICh4ID4+ICgzMiAtIG4pKSk7Ci19Ci0KLSNlbmRpZiAvKiBfX2hhc2hfaF9fICovCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9qZW1hbGxvYy5oIGIvbGliYy9iaW9uaWMvamVtYWxsb2MuaAppbmRleCBmZWIxZjQzLi45OGVhMGVlIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9qZW1hbGxvYy5oCisrKyBiL2xpYmMvYmlvbmljL2plbWFsbG9jLmgKQEAgLTE4LDYgKzE4LDcgQEAKICNkZWZpbmUgTElCQ19CSU9OSUNfSkVNQUxMT0NfSF8KIAogI2luY2x1ZGUgPGplbWFsbG9jL2plbWFsbG9jLmg+CisjaW5jbHVkZSA8bWFsbG9jLmg+ICAvLyBGb3Igc3RydWN0IG1hbGxpbmZvLgogCiAvLyBOZWVkIHRvIHdyYXAgbWVtYWxpZ24gc2luY2UgamVfbWVtYWxpZ24gZmFpbHMgb24gbm9uLXBvd2VyIG9mIDIgYWxpZ25tZW50cy4KICNkZWZpbmUgamVfbWVtYWxpZ24gamVfbWVtYWxpZ25fcm91bmRfdXBfYm91bmRhcnkKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2xjaG93bi5jcHAgYi9saWJjL2Jpb25pYy9sY2hvd24uY3BwCmluZGV4IDk1MjUxZGIuLjI0NjExYTUgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2xjaG93bi5jcHAKKysrIGIvbGliYy9iaW9uaWMvbGNob3duLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KIAogaW50IGxjaG93bihjb25zdCBjaGFyKiBwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewogICByZXR1cm4gZmNob3duYXQoQVRfRkRDV0QsIHBhdGgsIHVpZCwgZ2lkLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2xlZ2FjeV8zMl9iaXRfc3VwcG9ydC5jcHAgYi9saWJjL2Jpb25pYy9sZWdhY3lfMzJfYml0X3N1cHBvcnQuY3BwCmluZGV4IDczZjc3YmUuLmExMDc2NjQgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2xlZ2FjeV8zMl9iaXRfc3VwcG9ydC5jcHAKKysrIGIvbGliYy9iaW9uaWMvbGVnYWN5XzMyX2JpdF9zdXBwb3J0LmNwcApAQCAtMjYsNiArMjYsOCBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAorI3VuZGVmIF9GT1JUSUZZX1NPVVJDRQorCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPHN0ZGFyZy5oPgpAQCAtNDAsOSArNDIsNyBAQAogCiAvLyBTeXN0ZW0gY2FsbHMgd2UgbmVlZC4KIGV4dGVybiAiQyIgaW50IF9fZmNudGw2NChpbnQsIGludCwgdm9pZCopOwotZXh0ZXJuICJDIiBpbnQgX19mc3RhdGZzNjQoaW50LCBzaXplX3QsIHN0cnVjdCBzdGF0ZnMqKTsKIGV4dGVybiAiQyIgaW50IF9fbGxzZWVrKGludCwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgb2ZmNjRfdCosIGludCk7Ci1leHRlcm4gIkMiIGludCBfX3N0YXRmczY0KGNvbnN0IGNoYXIqLCBzaXplX3QsIHN0cnVjdCBzdGF0ZnMqKTsKIAogLy8gRm9yIGZjbnRsIHdlIHVzZSB0aGUgZmNudGw2NCBzeXN0ZW0gY2FsbCB0byBzaWduYWwgdGhhdCB3ZSdyZSB1c2luZyBzdHJ1Y3QgZmxvY2s2NC4KIGludCBmY250bChpbnQgZmQsIGludCBjbWQsIC4uLikgewpAQCAtNTUsMTggKzU1LDYgQEAKICAgcmV0dXJuIF9fZmNudGw2NChmZCwgY21kLCBhcmcpOwogfQogCi0vLyBGb3IgZnN0YXRmcyB3ZSBuZWVkIHRvIGFkZCB0aGUgZXh0cmEgYXJndW1lbnQgZ2l2aW5nIHRoZSBrZXJuZWwgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlci4KLWludCBmc3RhdGZzKGludCBmZCwgc3RydWN0IHN0YXRmcyogc3RhdCkgewotICByZXR1cm4gX19mc3RhdGZzNjQoZmQsIHNpemVvZigqc3RhdCksIHN0YXQpOwotfQotX19zdHJvbmdfYWxpYXMoZnN0YXRmczY0LCBmc3RhdGZzKTsKLQotLy8gRm9yIHN0YXRmcyB3ZSBuZWVkIHRvIGFkZCB0aGUgZXh0cmEgYXJndW1lbnQgZ2l2aW5nIHRoZSBrZXJuZWwgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlci4KLWludCBzdGF0ZnMoY29uc3QgY2hhciogcGF0aCwgc3RydWN0IHN0YXRmcyogc3RhdCkgewotICByZXR1cm4gX19zdGF0ZnM2NChwYXRoLCBzaXplb2YoKnN0YXQpLCBzdGF0KTsKLX0KLV9fc3Ryb25nX2FsaWFzKHN0YXRmczY0LCBzdGF0ZnMpOwotCiAvLyBGb3IgbHNlZWs2NCB3ZSBuZWVkIHRvIHVzZSB0aGUgbGxzZWVrIHN5c3RlbSBjYWxsIHdoaWNoIHNwbGl0cyB0aGUgb2ZmNjRfdCBpbiB0d28gYW5kCiAvLyByZXR1cm5zIHRoZSBvZmY2NF90IHJlc3VsdCB2aWEgYSBwb2ludGVyIGJlY2F1c2UgMzItYml0IGtlcm5lbHMgY2FuJ3QgcmV0dXJuIDY0LWJpdCByZXN1bHRzLgogb2ZmNjRfdCBsc2VlazY0KGludCBmZCwgb2ZmNjRfdCBvZmYsIGludCB3aGVuY2UpIHsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2xmczY0X3N1cHBvcnQuY3BwIGIvbGliYy9iaW9uaWMvbGZzNjRfc3VwcG9ydC5jcHAKaW5kZXggYWI3OTVmNS4uNDVkNGY3ZiAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvbGZzNjRfc3VwcG9ydC5jcHAKKysrIGIvbGliYy9iaW9uaWMvbGZzNjRfc3VwcG9ydC5jcHAKQEAgLTE3LDExICsxNywyMCBAQAogI2luY2x1ZGUgPGZ0dy5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogCi1pbnQgbWtzdGVtcDY0KGNoYXIqIGZpbGVuYW1lKSB7Ci0gIC8vIERlbGVnYXRpb24gd2lsbCB3b3JrIGluIHRoaXMgY2FzZSBiZWNhdXNlIGFsbCB0aGUgdHJhbnNpdGl2ZSBkZXBlbmRlbmNpZXMKLSAgLy8gYXJlIGFscmVhZHkgNjQtYml0IHJlYWR5LiBJbiBwYXJ0aWN1bGFyLCB3ZSBkb24ndCBoYXZlIG5vbi1PX0xBUkdFRklMRQotICAvLyBvcGVuIChvdXIgb3BlbiBpcyBhY3R1YWxseSBvcGVuNjQpIGFuZCBzdGF0IGFuZCBzdGF0NjQgYXJlIHRoZSBzYW1lLgotICByZXR1cm4gbWtzdGVtcChmaWxlbmFtZSk7CisvLyBEZWxlZ2F0aW9uIHdpbGwgd29yayBpbiB0aGVzZSBjYXNlcyBiZWNhdXNlIGFsbCB0aGUgdHJhbnNpdGl2ZSBkZXBlbmRlbmNpZXMKKy8vIGFyZSBhbHJlYWR5IDY0LWJpdCByZWFkeS4gSW4gcGFydGljdWxhciwgd2UgZG9uJ3QgaGF2ZSBub24tT19MQVJHRUZJTEUKKy8vIG9wZW4gKG91ciBvcGVuIGlzIGFjdHVhbGx5IG9wZW42NCkgYW5kIHN0YXQgYW5kIHN0YXQ2NCBhcmUgdGhlIHNhbWUuCitpbnQgbWtzdGVtcDY0KGNoYXIqIHBhdGgpIHsKKyAgcmV0dXJuIG1rc3RlbXAocGF0aCk7Cit9CitpbnQgbWtvc3RlbXA2NChjaGFyKiBwYXRoLCBpbnQgZmxhZ3MpIHsKKyAgcmV0dXJuIG1rb3N0ZW1wKHBhdGgsIGZsYWdzKTsKK30KK2ludCBta3N0ZW1wczY0KGNoYXIqIHBhdGgsIGludCBzdWZmaXhfbGVuZ3RoKSB7CisgIHJldHVybiBta3N0ZW1wcyhwYXRoLCBzdWZmaXhfbGVuZ3RoKTsKK30KK2ludCBta29zdGVtcHM2NChjaGFyKiBwYXRoLCBpbnQgc3VmZml4X2xlbmd0aCwgaW50IGZsYWdzKSB7CisgIHJldHVybiBta29zdGVtcHMocGF0aCwgc3VmZml4X2xlbmd0aCwgZmxhZ3MpOwogfQogCiB0eXBlZGVmIGludCAoKmZ0d19mbikoY29uc3QgY2hhciosIGNvbnN0IHN0cnVjdCBzdGF0KiwgaW50KTsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2xpYmNfaW5pdF9jb21tb24uY3BwIGIvbGliYy9iaW9uaWMvbGliY19pbml0X2NvbW1vbi5jcHAKaW5kZXggOTUwMDczYS4uMzZkYzA4NSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvbGliY19pbml0X2NvbW1vbi5jcHAKKysrIGIvbGliYy9iaW9uaWMvbGliY19pbml0X2NvbW1vbi5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKIGV4dGVybiAiQyIgaW50IF9fc2V0X3Rscyh2b2lkKiBwdHIpOwogZXh0ZXJuICJDIiBpbnQgX19zZXRfdGlkX2FkZHJlc3MoaW50KiB0aWRfYWRkcmVzcyk7CiAKLXZvaWQgX19saWJjX2luaXRfdmRzbygpOworX19MSUJDX0hJRERFTl9fIHZvaWQgX19saWJjX2luaXRfdmRzbygpOwogCiAvLyBOb3QgcHVibGljLCBidXQgd2VsbC1rbm93biBpbiB0aGUgQlNEcy4KIGNvbnN0IGNoYXIqIF9fcHJvZ25hbWU7CkBAIC03NCw5ICs3NCw3IEBACiB2b2lkIF9fbGliY19pbml0X3RscyhLZXJuZWxBcmd1bWVudEJsb2NrJiBhcmdzKSB7CiAgIF9fbGliY19hdXh2ID0gYXJncy5hdXh2OwogCi0gIHN0YXRpYyB2b2lkKiB0bHNbQklPTklDX1RMU19TTE9UU107CiAgIHN0YXRpYyBwdGhyZWFkX2ludGVybmFsX3QgbWFpbl90aHJlYWQ7Ci0gIG1haW5fdGhyZWFkLnRscyA9IHRsczsKIAogICAvLyBUZWxsIHRoZSBrZXJuZWwgdG8gY2xlYXIgb3VyIHRpZCBmaWVsZCB3aGVuIHdlIGV4aXQsIHNvIHdlJ3JlIGxpa2UgYW55IG90aGVyIHB0aHJlYWQuCiAgIC8vIEFzIGEgc2lkZS1lZmZlY3QsIHRoaXMgdGVsbHMgdXMgb3VyIHBpZCAod2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIG1haW4gdGhyZWFkJ3MgdGlkKS4KQEAgLTg3LDE2ICs4NSwxNyBAQAogICAvLyBiZWNhdXNlIHRoaW5ncyBsaWtlIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoIGdsb2JhbCBzY29wZSBsaXZlIG9uIGl0LgogICAvLyBXZSBhbHNvIGNhbid0IGZyZWUgdGhlIHB0aHJlYWRfaW50ZXJuYWxfdCBpdHNlbGYsIHNpbmNlIHRoYXQgbGl2ZXMgb24gdGhlIG1haW4KICAgLy8gdGhyZWFkJ3Mgc3RhY2sgcmF0aGVyIHRoYW4gb24gdGhlIGhlYXAuCisgIC8vIFRoZSBtYWluIHRocmVhZCBoYXMgbm8gbW1hcCBhbGxvY2F0ZWQgc3BhY2UgZm9yIHN0YWNrIG9yIHB0aHJlYWRfaW50ZXJuYWxfdC4KKyAgbWFpbl90aHJlYWQubW1hcF9zaXplID0gMDsKICAgcHRocmVhZF9hdHRyX2luaXQoJm1haW5fdGhyZWFkLmF0dHIpOwotICBtYWluX3RocmVhZC5hdHRyLmZsYWdzID0gUFRIUkVBRF9BVFRSX0ZMQUdfVVNFUl9BTExPQ0FURURfU1RBQ0sgfCBQVEhSRUFEX0FUVFJfRkxBR19NQUlOX1RIUkVBRDsKICAgbWFpbl90aHJlYWQuYXR0ci5ndWFyZF9zaXplID0gMDsgLy8gVGhlIG1haW4gdGhyZWFkIGhhcyBubyBndWFyZCBwYWdlLgogICBtYWluX3RocmVhZC5hdHRyLnN0YWNrX3NpemUgPSAwOyAvLyBVc2VyIGNvZGUgc2hvdWxkIG5ldmVyIHNlZSB0aGlzOyB3ZSdsbCBjb21wdXRlIGl0IHdoZW4gYXNrZWQuCiAgIC8vIFRPRE86IHRoZSBtYWluIHRocmVhZCdzIHNjaGVkX3BvbGljeSBhbmQgc2NoZWRfcHJpb3JpdHkgbmVlZCB0byBiZSBxdWVyaWVkLgogCi0gIF9faW5pdF90aHJlYWQoJm1haW5fdGhyZWFkLCBmYWxzZSk7CisgIF9faW5pdF90aHJlYWQoJm1haW5fdGhyZWFkKTsKICAgX19pbml0X3RscygmbWFpbl90aHJlYWQpOwogICBfX3NldF90bHMobWFpbl90aHJlYWQudGxzKTsKLSAgdGxzW1RMU19TTE9UX0JJT05JQ19QUkVJTklUXSA9ICZhcmdzOworICBtYWluX3RocmVhZC50bHNbVExTX1NMT1RfQklPTklDX1BSRUlOSVRdID0gJmFyZ3M7CiAKICAgX19pbml0X2FsdGVybmF0ZV9zaWduYWxfc3RhY2soJm1haW5fdGhyZWFkKTsKIH0KQEAgLTExNCw3ICsxMTMsNyBAQAogCiAgIC8vIEdldCB0aGUgbWFpbiB0aHJlYWQgZnJvbSBUTFMgYW5kIGFkZCBpdCB0byB0aGUgdGhyZWFkIGxpc3QuCiAgIHB0aHJlYWRfaW50ZXJuYWxfdCogbWFpbl90aHJlYWQgPSBfX2dldF90aHJlYWQoKTsKLSAgX3B0aHJlYWRfaW50ZXJuYWxfYWRkKG1haW5fdGhyZWFkKTsKKyAgX19wdGhyZWFkX2ludGVybmFsX2FkZChtYWluX3RocmVhZCk7CiAKICAgX19zeXN0ZW1fcHJvcGVydGllc19pbml0KCk7IC8vIFJlcXVpcmVzICdlbnZpcm9uJy4KIApAQCAtMTI5LDMzICsxMjgsMzQgQEAKICAqIGVudHJ5IGluIHRoZSBsaXN0IGhhcyB2YWx1ZSAtMSwgdGhlIGxhc3Qgb25lIGhhcyB2YWx1ZSAwLgogICovCiB2b2lkIF9fbGliY19maW5pKHZvaWQqIGFycmF5KSB7Ci0gIHZvaWQqKiBmaW5pX2FycmF5ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGFycmF5KTsKLSAgY29uc3Qgc2l6ZV90IG1pbnVzMSA9IH4oc2l6ZV90KTA7IC8qIGVuc3VyZSBwcm9wZXIgc2lnbiBleHRlbnNpb24gKi8KKyAgdHlwZWRlZiB2b2lkICgqRHRvcikoKTsKKyAgRHRvciogZmluaV9hcnJheSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RHRvcio+KGFycmF5KTsKKyAgY29uc3QgRHRvciBtaW51czEgPSByZWludGVycHJldF9jYXN0PER0b3I+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oLTEpKTsKIAotICAvKiBTYW5pdHkgY2hlY2sgLSBmaXJzdCBlbnRyeSBtdXN0IGJlIC0xICovCi0gIGlmIChhcnJheSA9PSBOVUxMIHx8IChzaXplX3QpZmluaV9hcnJheVswXSAhPSBtaW51czEpIHsKKyAgLy8gU2FuaXR5IGNoZWNrIC0gZmlyc3QgZW50cnkgbXVzdCBiZSAtMS4KKyAgaWYgKGFycmF5ID09IE5VTEwgfHwgZmluaV9hcnJheVswXSAhPSBtaW51czEpIHsKICAgICByZXR1cm47CiAgIH0KIAotICAvKiBza2lwIG92ZXIgaXQgKi8KKyAgLy8gU2tpcCBvdmVyIGl0LgogICBmaW5pX2FycmF5ICs9IDE7CiAKLSAgLyogQ291bnQgdGhlIG51bWJlciBvZiBkZXN0cnVjdG9ycy4gKi8KKyAgLy8gQ291bnQgdGhlIG51bWJlciBvZiBkZXN0cnVjdG9ycy4KICAgaW50IGNvdW50ID0gMDsKICAgd2hpbGUgKGZpbmlfYXJyYXlbY291bnRdICE9IE5VTEwpIHsKICAgICArK2NvdW50OwogICB9CiAKLSAgLyogTm93IGNhbGwgZWFjaCBkZXN0cnVjdG9yIGluIHJldmVyc2Ugb3JkZXIuICovCisgIC8vIE5vdyBjYWxsIGVhY2ggZGVzdHJ1Y3RvciBpbiByZXZlcnNlIG9yZGVyLgogICB3aGlsZSAoY291bnQgPiAwKSB7Ci0gICAgdm9pZCAoKmZ1bmMpKCkgPSAodm9pZCAoKikoKSkgZmluaV9hcnJheVstLWNvdW50XTsKKyAgICBEdG9yIGR0b3IgPSBmaW5pX2FycmF5Wy0tY291bnRdOwogCi0gICAgLyogU2FuaXR5IGNoZWNrLCBhbnkgLTEgaW4gdGhlIGxpc3QgaXMgaWdub3JlZCAqLwotICAgIGlmICgoc2l6ZV90KWZ1bmMgPT0gbWludXMxKSB7CisgICAgLy8gU2FuaXR5IGNoZWNrLCBhbnkgLTEgaW4gdGhlIGxpc3QgaXMgaWdub3JlZC4KKyAgICBpZiAoZHRvciA9PSBtaW51czEpIHsKICAgICAgIGNvbnRpbnVlOwogICAgIH0KIAotICAgIGZ1bmMoKTsKKyAgICBkdG9yKCk7CiAgIH0KIAogI2lmbmRlZiBMSUJDX1NUQVRJQwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbGliY19sb2dnaW5nLmNwcCBiL2xpYmMvYmlvbmljL2xpYmNfbG9nZ2luZy5jcHAKaW5kZXggNTY1NTUyNi4uN2FkMjFjNCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvbGliY19sb2dnaW5nLmNwcAorKysgYi9saWJjL2Jpb25pYy9saWJjX2xvZ2dpbmcuY3BwCkBAIC03NSwxMCArNzUsMTIgQEAKICAgICAgIGxlbiA9IHN0cmxlbihkYXRhKTsKICAgICB9CiAKKyAgICB0b3RhbCArPSBsZW47CisKICAgICB3aGlsZSAobGVuID4gMCkgewogICAgICAgaW50IGF2YWlsID0gZW5kXyAtIHBvc187CiAgICAgICBpZiAoYXZhaWwgPT0gMCkgewotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuOwogICAgICAgfQogICAgICAgaWYgKGF2YWlsID4gbGVuKSB7CiAgICAgICAgIGF2YWlsID0gbGVuOwpAQCAtODcsMTEgKzg5LDEwIEBACiAgICAgICBwb3NfICs9IGF2YWlsOwogICAgICAgcG9zX1swXSA9ICdcMCc7CiAgICAgICBsZW4gLT0gYXZhaWw7Ci0gICAgICB0b3RhbCArPSBhdmFpbDsKICAgICB9CiAgIH0KIAotICBpbnQgdG90YWw7CisgIHNpemVfdCB0b3RhbDsKIAogIHByaXZhdGU6CiAgIGNoYXIqIGJ1ZmZlcl87CkBAIC0xMDksMTggKzExMCwxOSBAQAogICAgICAgbGVuID0gc3RybGVuKGRhdGEpOwogICAgIH0KIAorICAgIHRvdGFsICs9IGxlbjsKKwogICAgIHdoaWxlIChsZW4gPiAwKSB7CiAgICAgICBpbnQgcmMgPSBURU1QX0ZBSUxVUkVfUkVUUlkod3JpdGUoZmRfLCBkYXRhLCBsZW4pKTsKICAgICAgIGlmIChyYyA9PSAtMSkgewotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuOwogICAgICAgfQogICAgICAgZGF0YSArPSByYzsKICAgICAgIGxlbiAtPSByYzsKLSAgICAgIHRvdGFsICs9IHJjOwogICAgIH0KICAgfQogCi0gIGludCB0b3RhbDsKKyAgc2l6ZV90IHRvdGFsOwogCiAgcHJpdmF0ZToKICAgaW50IGZkXzsKQEAgLTQyNSw3ICs0MjcsNyBAQAogfQogCiBzdGF0aWMgaW50IF9fbGliY193cml0ZV9zdGRlcnIoY29uc3QgY2hhciogdGFnLCBjb25zdCBjaGFyKiBtc2cpIHsKLSAgaW50IGZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4oIi9kZXYvc3RkZXJyIiwgT19DTE9FWEVDIHwgT19XUk9OTFkpKTsKKyAgaW50IGZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4oIi9kZXYvc3RkZXJyIiwgT19DTE9FWEVDIHwgT19XUk9OTFkgfCBPX0FQUEVORCkpOwogICBpZiAoZmQgPT0gLTEpIHsKICAgICByZXR1cm4gLTE7CiAgIH0KQEAgLTQzNiw3ICs0MzgsNyBAQAogICB2ZWNbMV0uaW92X2Jhc2UgPSBjb25zdF9jYXN0PGNoYXIqPigiOiAiKTsKICAgdmVjWzFdLmlvdl9sZW4gPSAyOwogICB2ZWNbMl0uaW92X2Jhc2UgPSBjb25zdF9jYXN0PGNoYXIqPihtc2cpOwotICB2ZWNbMl0uaW92X2xlbiA9IHN0cmxlbihtc2cpICsgMTsKKyAgdmVjWzJdLmlvdl9sZW4gPSBzdHJsZW4obXNnKTsKICAgdmVjWzNdLmlvdl9iYXNlID0gY29uc3RfY2FzdDxjaGFyKj4oIlxuIik7CiAgIHZlY1szXS5pb3ZfbGVuID0gMTsKIApAQCAtNDQ2LDggKzQ0OCw3IEBACiB9CiAKICNpZmRlZiBUQVJHRVRfVVNFU19MT0dECi1zdGF0aWMgaW50IF9fbGliY19vcGVuX2xvZ19zb2NrZXQoKQoteworc3RhdGljIGludCBfX2xpYmNfb3Blbl9sb2dfc29ja2V0KCkgewogICAvLyBUb0RvOiBJZGVhbGx5IHdlIHdhbnQgdGhpcyB0byBmYWlsIGlmIHRoZSBnaWQgb2YgdGhlIGN1cnJlbnQKICAgLy8gcHJvY2VzcyBpcyBBSURfTE9HRCwgYnV0IHdpbGwgaGF2ZSB0byB3YWl0IHVudGlsIHdlIGhhdmUKICAgLy8gcmVnaXN0ZXJlZCB0aGlzIGluIHByaXZhdGUvYW5kcm9pZF9maWxlc3lzdGVtX2NvbmZpZy5oLiBXZSBoYXZlCkBAIC00ODksNyArNDkwLDYgQEAKIHN0YXRpYyBpbnQgX19saWJjX3dyaXRlX2xvZyhpbnQgcHJpb3JpdHksIGNvbnN0IGNoYXIqIHRhZywgY29uc3QgY2hhciogbXNnKSB7CiAjaWZkZWYgVEFSR0VUX1VTRVNfTE9HRAogICBpbnQgbWFpbl9sb2dfZmQgPSBfX2xpYmNfb3Blbl9sb2dfc29ja2V0KCk7Ci0KICAgaWYgKG1haW5fbG9nX2ZkID09IC0xKSB7CiAgICAgLy8gVHJ5IHN0ZGVyciBpbnN0ZWFkLgogICAgIHJldHVybiBfX2xpYmNfd3JpdGVfc3RkZXJyKHRhZywgbXNnKTsKQEAgLTYxMiw3ICs2MTIsNyBAQAogICBpZiAodGFnICE9IDApIHsKICAgICBfX2xpYmNfYW5kcm9pZF9sb2dfZXZlbnRfdWlkKHRhZyk7CiAgIH0KLSAgX19saWJjX2ZhdGFsKCJGT1JUSUZZX1NPVVJDRTogJXMuIENhbGxpbmcgYWJvcnQoKS4iLCBtc2cpOworICBfX2xpYmNfZmF0YWwoIkZPUlRJRlk6ICVzIiwgbXNnKTsKIH0KIAogc3RhdGljIHZvaWQgX19saWJjX2ZhdGFsKGNvbnN0IGNoYXIqIGZvcm1hdCwgdmFfbGlzdCBhcmdzKSB7CkBAIC02MjAsMTIgKzYyMCwxMiBAQAogICBCdWZmZXJPdXRwdXRTdHJlYW0gb3MobXNnLCBzaXplb2YobXNnKSk7CiAgIG91dF92Zm9ybWF0KG9zLCBmb3JtYXQsIGFyZ3MpOwogCi0gIC8vIGxvZyB0byBzdGRlcnIgZm9yIHRoZSBiZW5lZml0IG9mICJhZGIgc2hlbGwiIHVzZXJzLgorICAvLyBMb2cgdG8gc3RkZXJyIGZvciB0aGUgYmVuZWZpdCBvZiAiYWRiIHNoZWxsIiB1c2Vycy4KICAgc3RydWN0IGlvdmVjIGlvdlsyXSA9IHsKLSAgICB7bXNnLCBzdHJsZW4obXNnKX0sCi0gICAge2NvbnN0X2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPigiXG4iKSksIDF9LAorICAgIHsgbXNnLCBvcy50b3RhbCB9LAorICAgIHsgY29uc3RfY2FzdDxjaGFyKj4oIlxuIiksIDEgfSwKICAgfTsKLSAgd3JpdGV2KDIsIGlvdiwgMik7CisgIFRFTVBfRkFJTFVSRV9SRVRSWSh3cml0ZXYoMiwgaW92LCAyKSk7CiAKICAgLy8gTG9nIHRvIHRoZSBsb2cgZm9yIHRoZSBiZW5lZml0IG9mIHJlZ3VsYXIgYXBwIGRldmVsb3BlcnMgKHdob3NlIHN0ZG91dCBhbmQgc3RkZXJyIGFyZSBjbG9zZWQpLgogICBfX2xpYmNfd3JpdGVfbG9nKEFORFJPSURfTE9HX0ZBVEFMLCAibGliYyIsIG1zZyk7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9saWJnZW4uY3BwIGIvbGliYy9iaW9uaWMvbGliZ2VuLmNwcAppbmRleCBiOThmNTA0Li4yZjI5ZDdiIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9saWJnZW4uY3BwCisrKyBiL2xpYmMvYmlvbmljL2xpYmdlbi5jcHAKQEAgLTM2LDYgKzM2LDkgQEAKIAogI2luY2x1ZGUgInByaXZhdGUvVGhyZWFkTG9jYWxCdWZmZXIuaCIKIAorc3RhdGljIFRocmVhZExvY2FsQnVmZmVyPGNoYXIsIE1BWFBBVEhMRU4+IGdfYmFzZW5hbWVfdGxzX2J1ZmZlcjsKK3N0YXRpYyBUaHJlYWRMb2NhbEJ1ZmZlcjxjaGFyLCBNQVhQQVRITEVOPiBnX2Rpcm5hbWVfdGxzX2J1ZmZlcjsKKwogX19MSUJDNjRfSElEREVOX18gaW50IGJhc2VuYW1lX3IoY29uc3QgY2hhciogcGF0aCwgY2hhciogYnVmZmVyLCBzaXplX3QgYnVmZmVyX3NpemUpIHsKICAgY29uc3QgY2hhciogc3RhcnRwID0gTlVMTDsKICAgY29uc3QgY2hhciogZW5kcCA9IE5VTEw7CkBAIC0xNDcsMTcgKzE1MCwxNCBAQAogICByZXR1cm4gcmVzdWx0OwogfQogCi1HTE9CQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSKGJhc2VuYW1lKTsKLUdMT0JBTF9JTklUX1RIUkVBRF9MT0NBTF9CVUZGRVIoZGlybmFtZSk7Ci0KIGNoYXIqIGJhc2VuYW1lKGNvbnN0IGNoYXIqIHBhdGgpIHsKLSAgTE9DQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSKGNoYXIqLCBiYXNlbmFtZSwgTUFYUEFUSExFTik7Ci0gIGludCByYyA9IGJhc2VuYW1lX3IocGF0aCwgYmFzZW5hbWVfdGxzX2J1ZmZlciwgYmFzZW5hbWVfdGxzX2J1ZmZlcl9zaXplKTsKLSAgcmV0dXJuIChyYyA8IDApID8gTlVMTCA6IGJhc2VuYW1lX3Rsc19idWZmZXI7CisgIGNoYXIqIGJ1ZiA9IGdfYmFzZW5hbWVfdGxzX2J1ZmZlci5nZXQoKTsKKyAgaW50IHJjID0gYmFzZW5hbWVfcihwYXRoLCBidWYsIGdfYmFzZW5hbWVfdGxzX2J1ZmZlci5zaXplKCkpOworICByZXR1cm4gKHJjIDwgMCkgPyBOVUxMIDogYnVmOwogfQogCiBjaGFyKiBkaXJuYW1lKGNvbnN0IGNoYXIqIHBhdGgpIHsKLSAgTE9DQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSKGNoYXIqLCBkaXJuYW1lLCBNQVhQQVRITEVOKTsKLSAgaW50IHJjID0gZGlybmFtZV9yKHBhdGgsIGRpcm5hbWVfdGxzX2J1ZmZlciwgZGlybmFtZV90bHNfYnVmZmVyX3NpemUpOwotICByZXR1cm4gKHJjIDwgMCkgPyBOVUxMIDogZGlybmFtZV90bHNfYnVmZmVyOworICBjaGFyKiBidWYgPSBnX2Rpcm5hbWVfdGxzX2J1ZmZlci5nZXQoKTsKKyAgaW50IHJjID0gZGlybmFtZV9yKHBhdGgsIGJ1ZiwgZ19kaXJuYW1lX3Rsc19idWZmZXIuc2l6ZSgpKTsKKyAgcmV0dXJuIChyYyA8IDApID8gTlVMTCA6IGJ1ZjsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2xvY2FsZS5jcHAgYi9saWJjL2Jpb25pYy9sb2NhbGUuY3BwCmluZGV4IGRkYjQ5Y2UuLmI0MmI0NDAgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2xvY2FsZS5jcHAKKysrIGIvbGliYy9iaW9uaWMvbG9jYWxlLmNwcApAQCAtMjYsOSArMjYsMTQgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGxvY2FsZS5oPgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdHJpbmdzLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHdjaGFyLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19tYWNyb3MuaCIKIApAQCAtNTMsMTUgKzU4LDE4IEBACiAgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihfX2xvY2FsZV90KTsKIH07CiAKK3NpemVfdCBfX2N0eXBlX2dldF9tYl9jdXJfbWF4KCkgeworICBsb2NhbGVfdCBsID0gdXNlbG9jYWxlKE5VTEwpOworICBpZiAobCA9PSBMQ19HTE9CQUxfTE9DQUxFKSB7CisgICAgcmV0dXJuIF9fYmlvbmljX2N1cnJlbnRfbG9jYWxlX2lzX3V0ZjggPyA0IDogMTsKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gbC0+bWJfY3VyX21heDsKKyAgfQorfQorCiBzdGF0aWMgcHRocmVhZF9vbmNlX3QgZ19sb2NhbGVfb25jZSA9IFBUSFJFQURfT05DRV9JTklUOwogc3RhdGljIGxjb252IGdfbG9jYWxlOwogCi0vLyBXZSBkb24ndCB1c2UgcHRocmVhZF9vbmNlIGZvciB0aGlzIHNvIHRoYXQgd2Uga25vdyB3aGVuIHRoZSByZXNvdXJjZSAoYSBUTFMgc2xvdCkgd2lsbCBiZSB0YWtlbi4KLXN0YXRpYyBwdGhyZWFkX2tleV90IGdfdXNlbG9jYWxlX2tleTsKLV9fYXR0cmlidXRlX18oKGNvbnN0cnVjdG9yKSkgc3RhdGljIHZvaWQgX19iaW9uaWNfdGxzX3VzZWxvY2FsZV9rZXlfaW5pdCgpIHsKLSAgcHRocmVhZF9rZXlfY3JlYXRlKCZnX3VzZWxvY2FsZV9rZXksIE5VTEwpOwotfQotCiBzdGF0aWMgdm9pZCBfX2xvY2FsZV9pbml0KCkgewogICBnX2xvY2FsZS5kZWNpbWFsX3BvaW50ID0gY29uc3RfY2FzdDxjaGFyKj4oIi4iKTsKIApAQCAtOTIsMTUgKzEwMCw2IEBACiAgIGdfbG9jYWxlLmludF9uX3NpZ25fcG9zbiA9IENIQVJfTUFYOwogfQogCi1zaXplX3QgX19jdHlwZV9nZXRfbWJfY3VyX21heCgpIHsKLSAgbG9jYWxlX3QgbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8bG9jYWxlX3Q+KHB0aHJlYWRfZ2V0c3BlY2lmaWMoZ191c2Vsb2NhbGVfa2V5KSk7Ci0gIGlmIChsID09IG51bGxwdHIgfHwgbCA9PSBMQ19HTE9CQUxfTE9DQUxFKSB7Ci0gICAgcmV0dXJuIF9fYmlvbmljX2N1cnJlbnRfbG9jYWxlX2lzX3V0ZjggPyA0IDogMTsKLSAgfSBlbHNlIHsKLSAgICByZXR1cm4gbC0+bWJfY3VyX21heDsKLSAgfQotfQotCiBzdGF0aWMgYm9vbCBfX2lzX3N1cHBvcnRlZF9sb2NhbGUoY29uc3QgY2hhciogbG9jYWxlKSB7CiAgIHJldHVybiAoc3RyY21wKGxvY2FsZSwgIiIpID09IDAgfHwKICAgICAgICAgICBzdHJjbXAobG9jYWxlLCAiQyIpID09IDAgfHwKQEAgLTEyMyw4ICsxMjIsOCBAQAogfQogCiBsb2NhbGVfdCBuZXdsb2NhbGUoaW50IGNhdGVnb3J5X21hc2ssIGNvbnN0IGNoYXIqIGxvY2FsZV9uYW1lLCBsb2NhbGVfdCAvKmJhc2UqLykgewotICAvLyBJcyAnY2F0ZWdvcnlfbWFzaycgdmFsaWQ/Ci0gIGlmICgoY2F0ZWdvcnlfbWFzayAmIH5MQ19BTExfTUFTSykgIT0gMCkgeworICAvLyBBcmUgJ2NhdGVnb3J5X21hc2snIGFuZCAnbG9jYWxlX25hbWUnIHZhbGlkPworICBpZiAoKGNhdGVnb3J5X21hc2sgJiB+TENfQUxMX01BU0spICE9IDAgfHwgbG9jYWxlX25hbWUgPT0gTlVMTCkgewogICAgIGVycm5vID0gRUlOVkFMOwogICAgIHJldHVybiBOVUxMOwogICB9CkBAIC0xNTcsNyArMTU2LDE2IEBACiAgIHJldHVybiBjb25zdF9jYXN0PGNoYXIqPihfX2Jpb25pY19jdXJyZW50X2xvY2FsZV9pc191dGY4ID8gIkMuVVRGLTgiIDogIkMiKTsKIH0KIAorLy8gV2UgY2FuJ3QgdXNlIGEgY29uc3RydWN0b3IgdG8gY3JlYXRlIGdfdXNlbG9jYWxfa2V5LCBiZWNhdXNlIGl0IG1heSBiZSB1c2VkIGluIGNvbnN0cnVjdG9ycy4KK3N0YXRpYyBwdGhyZWFkX29uY2VfdCBnX3VzZWxvY2FsZV9vbmNlID0gUFRIUkVBRF9PTkNFX0lOSVQ7CitzdGF0aWMgcHRocmVhZF9rZXlfdCBnX3VzZWxvY2FsZV9rZXk7CisKK3N0YXRpYyB2b2lkIGdfdXNlbG9jYWxlX2tleV9pbml0KCkgeworICBwdGhyZWFkX2tleV9jcmVhdGUoJmdfdXNlbG9jYWxlX2tleSwgTlVMTCk7Cit9CisKIGxvY2FsZV90IHVzZWxvY2FsZShsb2NhbGVfdCBuZXdfbG9jYWxlKSB7CisgIHB0aHJlYWRfb25jZSgmZ191c2Vsb2NhbGVfb25jZSwgZ191c2Vsb2NhbGVfa2V5X2luaXQpOwogICBsb2NhbGVfdCBvbGRfbG9jYWxlID0gc3RhdGljX2Nhc3Q8bG9jYWxlX3Q+KHB0aHJlYWRfZ2V0c3BlY2lmaWMoZ191c2Vsb2NhbGVfa2V5KSk7CiAKICAgLy8gSWYgdGhpcyBpcyB0aGUgZmlyc3QgY2FsbCB0byB1c2Vsb2NhbGUoMykgb24gdGhpcyB0aHJlYWQsIHdlIHJldHVybiBMQ19HTE9CQUxfTE9DQUxFLgpAQCAtMTcxLDMgKzE3OSw0NyBAQAogCiAgIHJldHVybiBvbGRfbG9jYWxlOwogfQorCitpbnQgc3RyY2FzZWNtcF9sKGNvbnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMiwgbG9jYWxlX3QpIHsKKyAgcmV0dXJuIHN0cmNhc2VjbXAoczEsIHMyKTsKK30KKworaW50IHN0cmNvbGxfbChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIsIGxvY2FsZV90KSB7CisgIHJldHVybiBzdHJjb2xsKHMxLCBzMik7Cit9CisKK2NoYXIqIHN0cmVycm9yX2woaW50IGVycm9yLCBsb2NhbGVfdCkgeworICByZXR1cm4gc3RyZXJyb3IoZXJyb3IpOworfQorCitzaXplX3Qgc3RyZnRpbWVfbChjaGFyKiBzLCBzaXplX3QgbWF4LCBjb25zdCBjaGFyKiBmb3JtYXQsIGNvbnN0IHN0cnVjdCB0bSogdG0sIGxvY2FsZV90KSB7CisgIHJldHVybiBzdHJmdGltZShzLCBtYXgsIGZvcm1hdCwgdG0pOworfQorCitpbnQgc3RybmNhc2VjbXBfbChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIsIHNpemVfdCBuLCBsb2NhbGVfdCkgeworICByZXR1cm4gc3RybmNhc2VjbXAoczEsIHMyLCBuKTsKK30KKworbG9uZyBkb3VibGUgc3RydG9sZF9sKGNvbnN0IGNoYXIqIHMsIGNoYXIqKiBlbmRfcHRyLCBsb2NhbGVfdCkgeworICByZXR1cm4gc3RydG9sZChzLCBlbmRfcHRyKTsKK30KKworbG9uZyBsb25nIHN0cnRvbGxfbChjb25zdCBjaGFyKiBzLCBjaGFyKiogZW5kX3B0ciwgaW50IGJhc2UsIGxvY2FsZV90KSB7CisgIHJldHVybiBzdHJ0b2xsKHMsIGVuZF9wdHIsIGJhc2UpOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgc3RydG91bGxfbChjb25zdCBjaGFyKiBzLCBjaGFyKiogZW5kX3B0ciwgaW50IGJhc2UsIGxvY2FsZV90KSB7CisgIHJldHVybiBzdHJ0b3VsbChzLCBlbmRfcHRyLCBiYXNlKTsKK30KKworc2l6ZV90IHN0cnhmcm1fbChjaGFyKiBkc3QsIGNvbnN0IGNoYXIqIHNyYywgc2l6ZV90IG4sIGxvY2FsZV90KSB7CisgIHJldHVybiBzdHJ4ZnJtKGRzdCwgc3JjLCBuKTsKK30KKworaW50IHdjc2Nhc2VjbXBfbChjb25zdCB3Y2hhcl90KiB3czEsIGNvbnN0IHdjaGFyX3QqIHdzMiwgbG9jYWxlX3QpIHsKKyAgcmV0dXJuIHdjc2Nhc2VjbXAod3MxLCB3czIpOworfQorCitpbnQgd2NzbmNhc2VjbXBfbChjb25zdCB3Y2hhcl90KiB3czEsIGNvbnN0IHdjaGFyX3QqIHdzMiwgc2l6ZV90IG4sIGxvY2FsZV90KSB7CisgIHJldHVybiB3Y3NuY2FzZWNtcCh3czEsIHdzMiwgbik7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9tYWxsb2NfZGVidWdfY29tbW9uLmNwcCBiL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19jb21tb24uY3BwCmluZGV4IDBiNmExNDIuLmVlNzk2YzYgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19jb21tb24uY3BwCisrKyBiL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19jb21tb24uY3BwCkBAIC0yOSwxOSArMjksMTkgQEAKIC8vIENvbnRhaW5zIGRlZmluaXRpb24gb2Ygc3RydWN0dXJlcywgZ2xvYmFsIHZhcmlhYmxlcywgYW5kIGltcGxlbWVudGF0aW9uIG9mCiAvLyByb3V0aW5lcyB0aGF0IGFyZSB1c2VkIGJ5IG1hbGxvYyBsZWFrIGRldGVjdGlvbiBjb2RlIGFuZCBvdGhlciBjb21wb25lbnRzIGluCiAvLyB0aGUgc3lzdGVtLiBUaGUgdHJpY2sgaXMgdGhhdCBzb21lIGNvbXBvbmVudHMgZXhwZWN0IHRoZXNlIGRhdGEgYW5kCi0vLyByb3V0aW5lcyB0byBiZSBkZWZpbmVkIC8gaW1wbGVtZW50ZWQgaW4gbGliYy5zbyBsaWJyYXJ5LCByZWdhcmRsZXNzCi0vLyB3aGV0aGVyIG9yIG5vdCBNQUxMT0NfTEVBS19DSEVDSyBtYWNybyBpcyBkZWZpbmVkLiBUbyBtYWtlIHRoaW5ncyBldmVuCi0vLyBtb3JlIHRyaWNreSwgbWFsbG9jIGxlYWsgZGV0ZWN0aW9uIGNvZGUsIGltcGxlbWVudGVkIGluCi0vLyBsaWJjX21hbGxvY19kZWJ1Zy5zbyBhbHNvIHJlcXVpcmVzIGFjY2VzcyB0byB0aGVzZSB2YXJpYWJsZXMgYW5kIHJvdXRpbmVzCi0vLyAodG8gZmlsbCBhbGxvY2F0aW9uIGVudHJ5IGhhc2ggdGFibGUsIGZvciBleGFtcGxlKS4gU28sIGFsbCByZWxldmFudAotLy8gdmFyaWFibGVzIGFuZCByb3V0aW5lcyBhcmUgZGVmaW5lZCAvIGltcGxlbWVudGVkIGhlcmUgYW5kIGV4cG9ydGVkCi0vLyB0byBhbGwsIGxlYWsgZGV0ZWN0aW9uIGNvZGUgYW5kIG90aGVyIGNvbXBvbmVudHMgdmlhIGR5bmFtaWMgKGxpYmMuc28pLAotLy8gb3Igc3RhdGljIChsaWJjLmEpIGxpbmtpbmcuCisvLyByb3V0aW5lcyB0byBiZSBkZWZpbmVkIC8gaW1wbGVtZW50ZWQgaW4gbGliYy5zbywgcmVnYXJkbGVzcyB3aGV0aGVyIG9yIG5vdAorLy8gbWFsbG9jIGxlYWsgZGV0ZWN0aW9uIGNvZGUgaXMgZ29pbmcgdG8gcnVuLiBUbyBtYWtlIHRoaW5ncyBldmVuIG1vcmUgdHJpY2t5LAorLy8gbWFsbG9jIGxlYWsgZGV0ZWN0aW9uIGNvZGUsIGltcGxlbWVudGVkIGluIGxpYmNfbWFsbG9jX2RlYnVnLnNvIGFsc28KKy8vIHJlcXVpcmVzIGFjY2VzcyB0byB0aGVzZSB2YXJpYWJsZXMgYW5kIHJvdXRpbmVzICh0byBmaWxsIGFsbG9jYXRpb24gZW50cnkKKy8vIGhhc2ggdGFibGUsIGZvciBleGFtcGxlKS4gU28sIGFsbCByZWxldmFudCB2YXJpYWJsZXMgYW5kIHJvdXRpbmVzIGFyZQorLy8gZGVmaW5lZCAvIGltcGxlbWVudGVkIGhlcmUgYW5kIGV4cG9ydGVkIHRvIGFsbCwgbGVhayBkZXRlY3Rpb24gY29kZSBhbmQKKy8vIG90aGVyIGNvbXBvbmVudHMgdmlhIGR5bmFtaWMgKGxpYmMuc28pLCBvciBzdGF0aWMgKGxpYmMuYSkgbGlua2luZy4KIAogI2luY2x1ZGUgIm1hbGxvY19kZWJ1Z19jb21tb24uaCIKIAogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAogI2luY2x1ZGUgInByaXZhdGUvU2NvcGVkUHRocmVhZE11dGV4TG9ja2VyLmgiCkBAIC00MDIsNyArNDAyLDcgQEAKICAgfQogCiAgIC8vIExvYWQgLnNvIHRoYXQgaW1wbGVtZW50cyB0aGUgcmVxdWlyZWQgbWFsbG9jIGRlYnVnZ2luZyBmdW5jdGlvbmFsaXR5LgotICB2b2lkKiBtYWxsb2NfaW1wbF9oYW5kbGUgPSBkbG9wZW4oc29fbmFtZSwgUlRMRF9MQVpZKTsKKyAgdm9pZCogbWFsbG9jX2ltcGxfaGFuZGxlID0gZGxvcGVuKHNvX25hbWUsIFJUTERfTk9XKTsKICAgaWYgKG1hbGxvY19pbXBsX2hhbmRsZSA9PSBOVUxMKSB7CiAgICAgZXJyb3JfbG9nKCIlczogTWlzc2luZyBtb2R1bGUgJXMgcmVxdWlyZWQgZm9yIG1hbGxvYyBkZWJ1ZyBsZXZlbCAlZDogJXMiLAogICAgICAgICAgICAgICBnZXRwcm9nbmFtZSgpLCBzb19uYW1lLCBnX21hbGxvY19kZWJ1Z19sZXZlbCwgZGxlcnJvcigpKTsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19sZWFrLmNwcCBiL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19sZWFrLmNwcAppbmRleCBkZjBmOTk3Li42NGYyMTEyIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9tYWxsb2NfZGVidWdfbGVhay5jcHAKKysrIGIvbGliYy9iaW9uaWMvbWFsbG9jX2RlYnVnX2xlYWsuY3BwCkBAIC01NSwxMyArNTUsNiBAQAogI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCiAjaW5jbHVkZSAicHJpdmF0ZS9TY29wZWRQdGhyZWFkTXV0ZXhMb2NrZXIuaCIKIAotLy8gVGhpcyBmaWxlIHNob3VsZCBiZSBpbmNsdWRlZCBpbnRvIHRoZSBidWlsZCBvbmx5IHdoZW4KLS8vIE1BTExPQ19MRUFLX0NIRUNLLCBvciBNQUxMT0NfUUVNVV9JTlNUUlVNRU5ULCBvciBib3RoCi0vLyBtYWNyb3MgYXJlIGRlZmluZWQuCi0jaWZuZGVmIE1BTExPQ19MRUFLX0NIRUNLCi0jZXJyb3IgTUFMTE9DX0xFQUtfQ0hFQ0sgaXMgbm90IGRlZmluZWQuCi0jZW5kaWYgIC8vICFNQUxMT0NfTEVBS19DSEVDSwotCiBleHRlcm4gaW50IGdNYWxsb2NMZWFrWnlnb3RlQ2hpbGQ7CiBleHRlcm4gSGFzaFRhYmxlKiBnX2hhc2hfdGFibGU7CiBleHRlcm4gY29uc3QgTWFsbG9jRGVidWcqIGdfbWFsbG9jX2Rpc3BhdGNoOwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbWFsbG9jX2RlYnVnX3FlbXUuY3BwIGIvbGliYy9iaW9uaWMvbWFsbG9jX2RlYnVnX3FlbXUuY3BwCmluZGV4IGIzYjYwNGQuLmZhNDBiMzUgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19xZW11LmNwcAorKysgYi9saWJjL2Jpb25pYy9tYWxsb2NfZGVidWdfcWVtdS5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdGRkZWYuaD4KICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KQEAgLTYwNiw3ICs2MDcsNyBAQAogICAgICAqIHRoZSBtZW1vcnkgbWFwcGVkIHNwYWNlcyBpbnRvIHdyaXRlcyB0byBhbiBJL08gcG9ydCB0aGF0IGVtdWxhdG9yCiAgICAgICogImxpc3RlbnMgdG8iIG9uIHRoZSBvdGhlciBlbmQuIE5vdGUgdGhhdCB1bnRpbCB3ZSBvcGVuIGFuZCBtYXAgdGhhdAogICAgICAqIGRldmljZSwgbG9nZ2luZyB0byBlbXVsYXRvcidzIHN0ZG91dCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuICovCi0gICAgaW50IGZkID0gb3BlbigiL2Rldi9xZW11X3RyYWNlIiwgT19SRFdSKTsKKyAgICBpbnQgZmQgPSBvcGVuKCIvZGV2L3FlbXVfdHJhY2UiLCBPX0NMT0VYRUMgfCBPX1JEV1IpOwogICAgIGlmIChmZCA8IDApIHsKICAgICAgICAgZXJyb3JfbG9nKCJVbmFibGUgdG8gb3BlbiAvZGV2L3FlbXVfdHJhY2UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbWFsbG9jX2luZm8uY3BwIGIvbGliYy9iaW9uaWMvbWFsbG9jX2luZm8uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5Y2FlZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Jpb25pYy9tYWxsb2NfaW5mby5jcHAKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlICJtYWxsb2NfaW5mby5oIgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19tYWNyb3MuaCIKKworY2xhc3MgX19MSUJDX0hJRERFTl9fIEVsZW0geworcHVibGljOgorICAvLyBuYW1lIG11c3QgYmUgdmFsaWQgdGhyb3VnaG91dCBsaWZldGltZSBvZiB0aGUgb2JqZWN0LgorICBleHBsaWNpdCBFbGVtKEZJTEUqIGZwLCBjb25zdCBjaGFyKiBuYW1lLAorICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGF0dHJfZm10ID0gbnVsbHB0ciwgLi4uKSB7CisgICAgdGhpcy0+ZnAgPSBmcDsKKyAgICB0aGlzLT5uYW1lID0gbmFtZTsKKworICAgIGZwcmludGYoZnAsICI8JXMiLCBuYW1lKTsKKyAgICBpZiAoYXR0cl9mbXQgIT0gbnVsbHB0cikgeworICAgICAgdmFfbGlzdCBhcmdzOworICAgICAgdmFfc3RhcnQoYXJncywgYXR0cl9mbXQpOworICAgICAgZnB1dGMoJyAnLCBmcCk7CisgICAgICB2ZnByaW50ZihmcCwgYXR0cl9mbXQsIGFyZ3MpOworICAgICAgdmFfZW5kKGFyZ3MpOworICAgIH0KKyAgICBmcHV0YygnPicsIGZwKTsKKyAgfQorCisgIH5FbGVtKCkgbm9leGNlcHQgeworICAgIGZwcmludGYoZnAsICI8LyVzPiIsIG5hbWUpOworICB9CisKKyAgdm9pZCBjb250ZW50cyhjb25zdCBjaGFyKiBmbXQsIC4uLikgeworICAgICAgdmFfbGlzdCBhcmdzOworICAgICAgdmFfc3RhcnQoYXJncywgZm10KTsKKyAgICAgIHZmcHJpbnRmKGZwLCBmbXQsIGFyZ3MpOworICAgICAgdmFfZW5kKGFyZ3MpOworICB9CisKK3ByaXZhdGU6CisgIEZJTEUqIGZwOworICBjb25zdCBjaGFyKiBuYW1lOworCisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihFbGVtKTsKK307CisKK2ludCBtYWxsb2NfaW5mbyhpbnQgb3B0aW9ucywgRklMRSogZnApIHsKKyAgaWYgKG9wdGlvbnMgIT0gMCkgeworICAgIGVycm5vID0gRUlOVkFMOworICAgIHJldHVybiAtMTsKKyAgfQorCisgIEVsZW0gcm9vdChmcCwgIm1hbGxvYyIsICJ2ZXJzaW9uPVwiamVtYWxsb2MtMVwiIik7CisKKyAgLy8gRHVtcCBhbGwgb2YgdGhlIGxhcmdlIGFsbG9jYXRpb25zIGluIHRoZSBhcmVuYXMuCisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgX19tYWxsaW5mb19uYXJlbmFzKCk7IGkrKykgeworICAgIHN0cnVjdCBtYWxsaW5mbyBtaSA9IF9fbWFsbGluZm9fYXJlbmFfaW5mbyhpKTsKKyAgICBpZiAobWkuaGJsa2hkICE9IDApIHsKKyAgICAgIEVsZW0gYXJlbmFfZWxlbShmcCwgImhlYXAiLCAibnI9XCIlZFwiIiwgaSk7CisgICAgICB7CisgICAgICAgIEVsZW0oZnAsICJhbGxvY2F0ZWQtbGFyZ2UiKS5jb250ZW50cygiJXp1IiwgbWkub3JkYmxrcyk7CisgICAgICAgIEVsZW0oZnAsICJhbGxvY2F0ZWQtaHVnZSIpLmNvbnRlbnRzKCIlenUiLCBtaS51b3JkYmxrcyk7CisgICAgICAgIEVsZW0oZnAsICJhbGxvY2F0ZWQtYmlucyIpLmNvbnRlbnRzKCIlenUiLCBtaS5mc21ibGtzKTsKKworICAgICAgICBzaXplX3QgdG90YWwgPSAwOworICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IF9fbWFsbGluZm9fbmJpbnMoKTsgaisrKSB7CisgICAgICAgICAgc3RydWN0IG1hbGxpbmZvIG1pID0gX19tYWxsaW5mb19iaW5faW5mbyhpLCBqKTsKKyAgICAgICAgICBpZiAobWkub3JkYmxrcyAhPSAwKSB7CisgICAgICAgICAgICBFbGVtIGJpbl9lbGVtKGZwLCAiYmluIiwgIm5yPVwiJWRcIiIsIGopOworICAgICAgICAgICAgRWxlbShmcCwgImFsbG9jYXRlZCIpLmNvbnRlbnRzKCIlenUiLCBtaS5vcmRibGtzKTsKKyAgICAgICAgICAgIEVsZW0oZnAsICJubWFsbG9jIikuY29udGVudHMoIiV6dSIsIG1pLnVvcmRibGtzKTsKKyAgICAgICAgICAgIEVsZW0oZnAsICJuZGFsbG9jIikuY29udGVudHMoIiV6dSIsIG1pLmZvcmRibGtzKTsKKyAgICAgICAgICAgIHRvdGFsICs9IG1pLm9yZGJsa3M7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEVsZW0oZnAsICJiaW5zLXRvdGFsIikuY29udGVudHMoIiV6dSIsIHRvdGFsKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL21hbGxvY19pbmZvLmggYi9saWJjL2Jpb25pYy9tYWxsb2NfaW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZmZhZTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Jpb25pYy9tYWxsb2NfaW5mby5oCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIExJQkNfQklPTklDX01BTExPQ19JTkZPX0hfCisjZGVmaW5lIExJQkNfQklPTklDX01BTExPQ19JTkZPX0hfCisKKyNpbmNsdWRlIDxtYWxsb2MuaD4KKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKworX19CRUdJTl9ERUNMUworCitfX0xJQkNfSElEREVOX18gc2l6ZV90IF9fbWFsbGluZm9fbmFyZW5hcygpOworX19MSUJDX0hJRERFTl9fIHNpemVfdCBfX21hbGxpbmZvX25iaW5zKCk7CitfX0xJQkNfSElEREVOX18gc3RydWN0IG1hbGxpbmZvIF9fbWFsbGluZm9fYXJlbmFfaW5mbyhzaXplX3QpOworX19MSUJDX0hJRERFTl9fIHN0cnVjdCBtYWxsaW5mbyBfX21hbGxpbmZvX2Jpbl9pbmZvKHNpemVfdCwgc2l6ZV90KTsKKworX19FTkRfREVDTFMKKworI2VuZGlmIC8vIExJQkNfQklPTklDX01BTExPQ19JTkZPX0hfCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9tZW1jaHIuYyBiL2xpYmMvYmlvbmljL21lbWNoci5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTQxNjdhLi4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL21lbWNoci5jCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotI2luY2x1ZGUgPHN0ZGRlZi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi12b2lkICptZW1jaHIoY29uc3Qgdm9pZCAqcywgaW50IGMsIHNpemVfdCBuKQotewotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqICBwICAgPSBzOwotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqICBlbmQgPSBwICsgbjsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgaWYgKHAgPj0gZW5kIHx8IHBbMF0gPT0gYykgYnJlYWs7IHArKzsKLSAgICAgICAgaWYgKHAgPj0gZW5kIHx8IHBbMF0gPT0gYykgYnJlYWs7IHArKzsKLSAgICAgICAgaWYgKHAgPj0gZW5kIHx8IHBbMF0gPT0gYykgYnJlYWs7IHArKzsKLSAgICAgICAgaWYgKHAgPj0gZW5kIHx8IHBbMF0gPT0gYykgYnJlYWs7IHArKzsKLSAgICB9Ci0gICAgaWYgKHAgPj0gZW5kKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiAodm9pZCopIHA7Ci19CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9tZW1jcHkuY3BwIGIvbGliYy9iaW9uaWMvbWVtY3B5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDUyN2U4NS4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9tZW1jcHkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jdW5kZWYgX0ZPUlRJRllfU09VUkNFCi0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8c3RyaW5ncy5oPgotCi0vLyBPdXIgdW5vcHRpbWl6ZWQgbWVtY3B5IGp1c3QgY2FsbHMgdGhlIGJlc3QgYmNvcHkgYXZhaWxhYmxlLgotLy8gKEl0J3MgdGhpcyB3YXkgcm91bmQgcmF0aGVyIHRoYW4gdGhlIG9wcG9zaXRlIGJlY2F1c2Ugd2UncmUgYmFzZWQgb24gQlNEIHNvdXJjZS4pCi12b2lkKiBtZW1jcHkodm9pZCogZHN0LCBjb25zdCB2b2lkKiBzcmMsIHNpemVfdCBuKSB7Ci0gIGJjb3B5KHNyYywgZHN0LCBuKTsKLSAgcmV0dXJuIGRzdDsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL21lbW1vdmUuYyBiL2xpYmMvYmlvbmljL21lbW1vdmUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzljNzY2ZS4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9tZW1tb3ZlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNkZWZpbmUgTUVNTU9WRQotI2luY2x1ZGUgInVwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL2Jjb3B5LmMiCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9tZW1wY3B5LmNwcCBiL2xpYmMvYmlvbmljL21lbXBjcHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YjcyZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Jpb25pYy9tZW1wY3B5LmNwcApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKwordm9pZCogbWVtcGNweSh2b2lkKiBkc3QsIGNvbnN0IHZvaWQqIHNyYywgc2l6ZV90IG4pIHsKKyAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1lbWNweShkc3QsIHNyYywgbikpICsgbjsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL21lbXJjaHIuYyBiL2xpYmMvYmlvbmljL21lbXJjaHIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWViNTY0My4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9tZW1yY2hyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0jaW5jbHVkZSA8c3RkZGVmLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0KLXZvaWQgKm1lbXJjaHIoY29uc3Qgdm9pZCAqcywgaW50IGMsIHNpemVfdCBuKQotewotICAgIGlmIChuID4gMCkgewotICAgICAgICBjb25zdCBjaGFyKiAgcCA9IChjb25zdCBjaGFyKikgczsKLSAgICAgICAgY29uc3QgY2hhciogIHEgPSBwICsgbjsKLQotICAgICAgICB3aGlsZSAoMSkgewotICAgICAgICAgICAgcS0tOyBpZiAocSA8IHAgfHwgcVswXSA9PSAoY2hhcikgYykgYnJlYWs7Ci0gICAgICAgICAgICBxLS07IGlmIChxIDwgcCB8fCBxWzBdID09IChjaGFyKSBjKSBicmVhazsKLSAgICAgICAgICAgIHEtLTsgaWYgKHEgPCBwIHx8IHFbMF0gPT0gKGNoYXIpIGMpIGJyZWFrOwotICAgICAgICAgICAgcS0tOyBpZiAocSA8IHAgfHwgcVswXSA9PSAoY2hhcikgYykgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHEgPj0gcCkKLSAgICAgICAgICAgIHJldHVybiAodm9pZCopcTsKLSAgICB9Ci0gICAgcmV0dXJuIE5VTEw7Ci19CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9ta2ZpZm8uY3BwIGIvbGliYy9iaW9uaWMvbWtmaWZvLmNwcAppbmRleCAwOGZmYWQxLi5hOThiMzUwIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9ta2ZpZm8uY3BwCisrKyBiL2xpYmMvYmlvbmljL21rZmlmby5jcHAKQEAgLTI4LDYgKzI4LDEyIEBACiAKICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogCisjaW5jbHVkZSA8ZmNudGwuaD4KKwogaW50IG1rZmlmbyhjb25zdCBjaGFyKiBwYXRoLCBtb2RlX3QgbW9kZSkgewotICByZXR1cm4gbWtub2QocGF0aCwgKG1vZGUgJiB+U19JRk1UKSB8IFNfSUZJRk8sIDApOworICByZXR1cm4gbWtmaWZvYXQoQVRfRkRDV0QsIHBhdGgsIG1vZGUpOworfQorCitpbnQgbWtmaWZvYXQoaW50IGZkLCBjb25zdCBjaGFyKiBwYXRoLCBtb2RlX3QgbW9kZSkgeworICByZXR1cm4gbWtub2RhdChmZCwgcGF0aCwgKG1vZGUgJiB+U19JRk1UKSB8IFNfSUZJRk8sIDApOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbW50ZW50LmNwcCBiL2xpYmMvYmlvbmljL21udGVudC5jcHAKaW5kZXggOTNiNjkxNS4uZDE2OWUyOSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvbW50ZW50LmNwcAorKysgYi9saWJjL2Jpb25pYy9tbnRlbnQuY3BwCkBAIC0yNywxMiArMjcsNDMgQEAKICAqLwogCiAjaW5jbHVkZSA8bW50ZW50Lmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKLW1udGVudCogZ2V0bW50ZW50KEZJTEUqKSB7Ci0gIHJldHVybiBOVUxMOworI2luY2x1ZGUgInByaXZhdGUvVGhyZWFkTG9jYWxCdWZmZXIuaCIKKworc3RhdGljIFRocmVhZExvY2FsQnVmZmVyPG1udGVudD4gZ19nZXRtbnRlbnRfbW50ZW50X3Rsc19idWZmZXI7CitzdGF0aWMgVGhyZWFkTG9jYWxCdWZmZXI8Y2hhciwgQlVGU0laPiBnX2dldG1udGVudF9zdHJpbmdzX3Rsc19idWZmZXI7CisKK21udGVudCogZ2V0bW50ZW50KEZJTEUqIGZwKSB7CisgIHJldHVybiBnZXRtbnRlbnRfcihmcCwgZ19nZXRtbnRlbnRfbW50ZW50X3Rsc19idWZmZXIuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICBnX2dldG1udGVudF9zdHJpbmdzX3Rsc19idWZmZXIuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICBnX2dldG1udGVudF9zdHJpbmdzX3Rsc19idWZmZXIuc2l6ZSgpKTsKIH0KIAotbW50ZW50KiBnZXRtbnRlbnRfcihGSUxFKiwgc3RydWN0IG1udGVudCosIGNoYXIqLCBpbnQpIHsKK21udGVudCogZ2V0bW50ZW50X3IoRklMRSogZnAsIHN0cnVjdCBtbnRlbnQqIGUsIGNoYXIqIGJ1ZiwgaW50IGJ1Zl9sZW4pIHsKKyAgbWVtc2V0KGUsIDAsIHNpemVvZigqZSkpOworICB3aGlsZSAoZmdldHMoYnVmLCBidWZfbGVuLCBmcCkgIT0gTlVMTCkgeworICAgIC8vIEVudHJpZXMgbG9vayBsaWtlICJwcm9jIC9wcm9jIHByb2Mgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAwIDAiLgorICAgIC8vIFRoYXQgaXM6IG1udF9mc25hbWUgbW50X2RpciBtbnRfdHlwZSBtbnRfb3B0cyAwIDAuCisgICAgaW50IGZzbmFtZTAsIGZzbmFtZTEsIGRpcjAsIGRpcjEsIHR5cGUwLCB0eXBlMSwgb3B0czAsIG9wdHMxOworICAgIGlmIChzc2NhbmYoYnVmLCAiICVuJSpzJW4gJW4lKnMlbiAlbiUqcyVuICVuJSpzJW4gJWQgJWQiLAorICAgICAgICAgICAgICAgJmZzbmFtZTAsICZmc25hbWUxLCAmZGlyMCwgJmRpcjEsICZ0eXBlMCwgJnR5cGUxLCAmb3B0czAsICZvcHRzMSwKKyAgICAgICAgICAgICAgICZlLT5tbnRfZnJlcSwgJmUtPm1udF9wYXNzbm8pID09IDIpIHsKKyAgICAgIGUtPm1udF9mc25hbWUgPSAmYnVmW2ZzbmFtZTBdOworICAgICAgYnVmW2ZzbmFtZTFdID0gJ1wwJzsKKworICAgICAgZS0+bW50X2RpciA9ICZidWZbZGlyMF07CisgICAgICBidWZbZGlyMV0gPSAnXDAnOworCisgICAgICBlLT5tbnRfdHlwZSA9ICZidWZbdHlwZTBdOworICAgICAgYnVmW3R5cGUxXSA9ICdcMCc7CisKKyAgICAgIGUtPm1udF9vcHRzID0gJmJ1ZltvcHRzMF07CisgICAgICBidWZbb3B0czFdID0gJ1wwJzsKKworICAgICAgcmV0dXJuIGU7CisgICAgfQorICB9CiAgIHJldHVybiBOVUxMOwogfQogCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9uZGtfY3J1ZnQuY3BwIGIvbGliYy9iaW9uaWMvbmRrX2NydWZ0LmNwcAppbmRleCA3NjAwODE3Li44YjM0NDk1IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9uZGtfY3J1ZnQuY3BwCisrKyBiL2xpYmMvYmlvbmljL25ka19jcnVmdC5jcHAKQEAgLTI2LDExICsyNiwxMSBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAotLy8gVGhpcyBmaWxlIHBlcnBldHVhdGVzIHRoZSBtaXN0YWtlcyBvZiB0aGUgcGFzdCwgYnV0IG9ubHkgZm9yIDMyLWJpdCB0YXJnZXRzLgotI2lmICFkZWZpbmVkKF9fTFA2NF9fKQorLy8gVGhpcyBmaWxlIHBlcnBldHVhdGVzIHRoZSBtaXN0YWtlcyBvZiB0aGUgcGFzdC4KIAogI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxpbnR0eXBlcy5oPgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KQEAgLTQ1LDYgKzQ1LDExIEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d2NoYXIuaD4KIAorI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCisKKy8vIFRoZSBwYXJ0IGlzIG9ubHkgZm9yIDMyLWJpdCB0YXJnZXRzLgorI2lmICFkZWZpbmVkKF9fTFA2NF9fKQorCiAvLyBUaGVzZSB3ZXJlIGFjY2lkZW50YWxseSBkZWNsYXJlZCBpbiA8dW5pc3RkLmg+IGJlY2F1c2Ugd2Ugc3R1cGlkbHkgdXNlZCB0byBpbmxpbmUKIC8vIGdldHBhZ2VzaXplKCkgYW5kIF9fZ2V0cGFnZXNoaWZ0KCkuIE5lZWRlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgTkRLIGFwcHMuCiBleHRlcm4gIkMiIHsKQEAgLTIzNSw2ICsyNDAsMTYgQEAKICAgcmV0dXJuIHNpZ25hbChzaWdudW0sIGhhbmRsZXIpOwogfQogCisjaWYgIWRlZmluZWQoX19pMzg2X18pCisvLyBUaGlzIHdhcyByZW1vdmVkIGZyb20gUE9TSVggMjAwOC4KKyN1bmRlZiBiY29weQorZXh0ZXJuICJDIiB2b2lkIGJjb3B5KGNvbnN0IHZvaWQqIHNyYywgdm9pZCogZHN0LCBzaXplX3QgbikgeworICBtZW1jcHkoZHN0LCBzcmMsIG4pOworfQorI2Vsc2UKKy8vIHg4NiBoYXMgYW4gYXNzZW1ibGVyIGltcGxlbWVudGF0aW9uLgorI2VuZGlmCisKIC8vIHN5c3Zfc2lnbmFsKCkgd2FzIG5ldmVyIGluIFBPU0lYLgogZXh0ZXJuIHNpZ2hhbmRsZXJfdCBfc2lnbmFsKGludCBzaWdudW0sIHNpZ2hhbmRsZXJfdCBoYW5kbGVyLCBpbnQgZmxhZ3MpOwogZXh0ZXJuICJDIiBzaWdoYW5kbGVyX3Qgc3lzdl9zaWduYWwoaW50IHNpZ251bSwgc2lnaGFuZGxlcl90IGhhbmRsZXIpIHsKQEAgLTMyMCwxMCArMzM1LDM3IEBACiAgIHJldHVybiBtYWxsb2NfdXNhYmxlX3NpemUocHRyKTsKIH0KIAorLy8gSW4gTCB3ZSBhZGRlZCBhIHB1YmxpYyBwdGhyZWFkX2dldHRpZF9ucCwgYnV0IHNvbWUgYXBwcyB3ZXJlIHVzaW5nIHRoZSBwcml2YXRlIEFQSS4KK2V4dGVybiAiQyIgcGlkX3QgX19wdGhyZWFkX2dldHRpZChwdGhyZWFkX3QgdCkgeworICByZXR1cm4gcHRocmVhZF9nZXR0aWRfbnAodCk7Cit9CisKIC8vIE9sZGVyIHZlcnNpb25zIG9mIGFwcHBvcnRhYmxlIHVzZWQgZGxtYWxsb2MgZGlyZWN0bHkgaW5zdGVhZCBvZiBtYWxsb2MsCiAvLyBzbyBleHBvcnQgdGhpcyBjb21wYXRpYmlsaXR5IHNoaW0gdGhhdCBzaW1wbHkgY2FsbHMgbWFsbG9jLgogZXh0ZXJuICJDIiB2b2lkKiBkbG1hbGxvYyhzaXplX3Qgc2l6ZSkgewogICByZXR1cm4gbWFsbG9jKHNpemUpOwogfQogCi0jZW5kaWYKKyNkZWZpbmUgX19nZXRfdGhyZWFkIF9fcmVhbF9nZXRfdGhyZWFkCisjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgorI3VuZGVmIF9fZ2V0X3RocmVhZAorLy8gVmFyaW91cyB0aGlyZC1wYXJ0eSBhcHBzIGNvbnRhaW4gYSBiYWNrcG9ydCBvZiBvdXIgcHRocmVhZF9yd2xvY2sgaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIHRoaXMuCitleHRlcm4gIkMiIHB0aHJlYWRfaW50ZXJuYWxfdCogX19nZXRfdGhyZWFkKCkgeworICByZXR1cm4gX19yZWFsX2dldF90aHJlYWQoKTsKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKF9fTFA2NF9fKQorCisvLyBUaGlzIGlzIG5ldmVyIGltcGxlbWVudGVkIGluIGJpb25pYywgb25seSBuZWVkZWQgZm9yIEFCSSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIE5ESy4KK2V4dGVybiAiQyIgY2hhciogZ2V0dXNlcnNoZWxsKCkgeworICByZXR1cm4gTlVMTDsKK30KKworLy8gVGhpcyBpcyBuZXZlciBpbXBsZW1lbnRlZCBpbiBiaW9uaWMsIG9ubHkgbmVlZGVkIGZvciBBQkkgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBOREsuCitleHRlcm4gIkMiIHZvaWQgc2V0dXNlcnNoZWxsKCkgeyB9CisKKy8vIFRoaXMgaXMgbmV2ZXIgaW1wbGVtZW50ZWQgaW4gYmlvbmljLCBvbmx5IG5lZWRlZCBmb3IgQUJJIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgTkRLLgorZXh0ZXJuICJDIiB2b2lkIGVuZHVzZXJzaGVsbCgpIHsgfQorCisvLyBUaGlzIGlzIG5ldmVyIGltcGxlbWVudGVkIGluIGJpb25pYywgb25seSBuZWVkZWQgZm9yIEFCSSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIE5ESy4KK2V4dGVybiAiQyIgdm9pZCBlbmRwd2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbmV3LmNwcCBiL2xpYmMvYmlvbmljL25ldy5jcHAKaW5kZXggZmNmZDFiZC4uY2Q4NGMyZSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvbmV3LmNwcAorKysgYi9saWJjL2Jpb25pYy9uZXcuY3BwCkBAIC0zOCwxMSArMzgsMTEgQEAKICAgICByZXR1cm4gcDsKIH0KIAotdm9pZCAgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHB0cikgewordm9pZCAgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHB0cikgdGhyb3coKSB7CiAgICAgZnJlZShwdHIpOwogfQogCi12b2lkICBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwdHIpIHsKK3ZvaWQgIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHB0cikgdGhyb3coKSB7CiAgICAgZnJlZShwdHIpOwogfQogCkBAIC01NCwxMCArNTQsMTAgQEAKICAgICByZXR1cm4gbWFsbG9jKHNpemUpOwogfQogCi12b2lkICBvcGVyYXRvciBkZWxldGUodm9pZCogcHRyLCBjb25zdCBzdGQ6Om5vdGhyb3dfdCYpIHsKK3ZvaWQgIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwdHIsIGNvbnN0IHN0ZDo6bm90aHJvd190JikgdGhyb3coKSB7CiAgICAgZnJlZShwdHIpOwogfQogCi12b2lkICBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwdHIsIGNvbnN0IHN0ZDo6bm90aHJvd190Jikgewordm9pZCAgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcHRyLCBjb25zdCBzdGQ6Om5vdGhyb3dfdCYpIHRocm93KCkgewogICAgIGZyZWUocHRyKTsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL29wZW4uY3BwIGIvbGliYy9iaW9uaWMvb3Blbi5jcHAKaW5kZXggYmQ4MzJjMC4uYTZkODA4NiAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvb3Blbi5jcHAKKysrIGIvbGliYy9iaW9uaWMvb3Blbi5jcHAKQEAgLTU0LDcgKzU0LDcgQEAKICAgaWYgKChmbGFncyAmIE9fQ1JFQVQpICE9IDApIHsKICAgICB2YV9saXN0IGFyZ3M7CiAgICAgdmFfc3RhcnQoYXJncywgZmxhZ3MpOwotICAgIG1vZGUgPSAobW9kZV90KSB2YV9hcmcoYXJncywgaW50KTsKKyAgICBtb2RlID0gc3RhdGljX2Nhc3Q8bW9kZV90Pih2YV9hcmcoYXJncywgaW50KSk7CiAgICAgdmFfZW5kKGFyZ3MpOwogICB9CiAKQEAgLTc2LDcgKzc2LDcgQEAKICAgaWYgKChmbGFncyAmIE9fQ1JFQVQpICE9IDApIHsKICAgICB2YV9saXN0IGFyZ3M7CiAgICAgdmFfc3RhcnQoYXJncywgZmxhZ3MpOwotICAgIG1vZGUgPSAobW9kZV90KSB2YV9hcmcoYXJncywgaW50KTsKKyAgICBtb2RlID0gc3RhdGljX2Nhc3Q8bW9kZV90Pih2YV9hcmcoYXJncywgaW50KSk7CiAgICAgdmFfZW5kKGFyZ3MpOwogICB9CiAKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3BhdGhjb25mLmMgYi9saWJjL2Jpb25pYy9wYXRoY29uZi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZjgxMjcyLi4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL3BhdGhjb25mLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyNjcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8cGF0aGNvbmYuaD4KLSNpbmNsdWRlIDxzeXMvdmZzLmg+Ci0jaW5jbHVkZSA8c3lzL2xpbWl0cy5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0KLS8qIHRoZXNlIG1heSBub3QgYmUgZGVmaW5lZCB5ZXQgYnkgb3VyIGhlYWRlcnMgKi8KLSNpZm5kZWYgX1BPU0lYX1ZESVNBQkxFCi0jZGVmaW5lIF9QT1NJWF9WRElTQUJMRSAgLTEKLSNlbmRpZgotCi0jaWZuZGVmIF9QT1NJWF9TWU5DX0lPCi0jZGVmaW5lIF9QT1NJWF9TWU5DX0lPICAtMQotI2VuZGlmCi0KLSNpZm5kZWYgX1BPU0lYX1BSSU9fSU8KLSNkZWZpbmUgX1BPU0lYX1BSSU9fSU8gIC0xCi0jZW5kaWYKLQotI2lmbmRlZiBfUE9TSVhfQVNZTkNfSU8KLSNkZWZpbmUgX1BPU0lYX0FTWU5DX0lPICAtMQotI2VuZGlmCi0KLQotc3RhdGljIGxvbmcKLV9fZmlsZXNpemViaXRzKCBzdHJ1Y3Qgc3RhdGZzKiAgcyApCi17Ci0jZGVmaW5lICAgRU9MX01BR0lDICAgMHgwMDAwVQotCi0gICAgLyogbGlzdCBvZiBrbm93biA2NC1iaXQgYXdhcmUgZmlsZXN5c3RlbXMgKi8KLSAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgIGtub3duNjRbXSA9IHsKLSAgICAgICAgRVhUMl9TVVBFUl9NQUdJQywKLSAgICAgICAgVUZTX01BR0lDLAotICAgICAgICBSRUlTRVJGU19TVVBFUl9NQUdJQywKLSAgICAgICAgWEZTX1NVUEVSX01BR0lDLAotICAgICAgICBTTUJfU1VQRVJfTUFHSUMsCi0gICAgICAgIFVERl9TVVBFUl9NQUdJQywKLSAgICAgICAgSkZTX1NVUEVSX01BR0lDLAotICAgICAgICBOVEZTX1NCX01BR0lDLAotICAgICAgICBWWEZTX1NVUEVSX01BR0lDLAotICAgICAgICBFT0xfTUFHSUMKLSAgICB9OwotICAgIGludCAgbm4gPSAwOwotCi0gICAgZm9yICg7IGtub3duNjRbbm5dICE9IEVPTF9NQUdJQzsgKytubikgewotICAgICAgICBpZiAoa25vd242NFtubl0gPT0gcy0+Zl90eXBlKSB7Ci0gICAgICAgICAgICByZXR1cm4gNjQ7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIDMyOwotfQotCi0KLXN0YXRpYyBsb25nCi1fX2xpbmtfbWF4KCBzdHJ1Y3Qgc3RhdGZzKiAgcyApCi17Ci0gICAgLy8gVGhlc2UgY29uc3RhbnQgdmFsdWVzIHdlcmUgdGFrZW4gZnJvbSBrZXJuZWwgaGVhZGVycy4KLSAgICAvLyBUaGV5J3JlIG5vdCBhdmFpbGFibGUgaW4gdWFwaSBoZWFkZXJzLgotICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeyB1aW50MzJfdCAgdHlwZTsgaW50ICBtYXg7IH0gIGtub3duTWF4W10gPQotICAgIHsKLSAgICAgICAgeyBFWFQyX1NVUEVSX01BR0lDLCAzMjAwMCB9LAotICAgICAgICB7IEVYVDNfU1VQRVJfTUFHSUMsIDMyMDAwIH0sCi0gICAgICAgIHsgTUlOSVhfU1VQRVJfTUFHSUMsIDI1MCB9LAotICAgICAgICB7IE1JTklYMl9TVVBFUl9NQUdJQywgNjU1MzAgfSwKLSAgICAgICAgeyBSRUlTRVJGU19TVVBFUl9NQUdJQywgMHhmZmZmIC0gMTAwMCB9LAotICAgICAgICB7IFVGU19NQUdJQywgMzIwMDAgfSwKLSAgICAgICAgeyBFT0xfTUFHSUMsIDAgfQotICAgIH07Ci0gICAgaW50ICAgbm4gPSAwOwotCi0gICAgZm9yICg7IGtub3duTWF4W25uXS50eXBlICE9IEVPTF9NQUdJQzsgKytubikgewotICAgICAgICBpZiAoa25vd25NYXhbbm5dLnR5cGUgPT0gcy0+Zl90eXBlKSB7Ci0gICAgICAgICAgICByZXR1cm4ga25vd25NYXhbbm5dLm1heDsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gTElOS19NQVg7Ci19Ci0KLXN0YXRpYyBsb25nCi1fXzJfc3ltbGlua3MoIHN0cnVjdCBzdGF0ZnMqICBzICkKLXsKLSAgICAvKiBsaXN0IG9mIGtub3cgZmlsZXN5c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IHN5bWxpbmtzICovCi0gICAgc3RhdGljIGNvbnN0IHVpbnQzMl90ICBrbm93bk5vU3ltbGlua3NbXSA9IHsKLSAgICAgICAgQURGU19TVVBFUl9NQUdJQywgQkZTX01BR0lDLCBDUkFNRlNfTUFHSUMsCi0gICAgICAgIEVGU19TVVBFUl9NQUdJQywgTVNET1NfU1VQRVJfTUFHSUMsIE5URlNfU0JfTUFHSUMsCi0gICAgICAgIFFOWDRfU1VQRVJfTUFHSUMsCi0gICAgICAgIEVPTF9NQUdJQwotICAgIH07Ci0gICAgaW50ICBubiA9IDA7Ci0KLSAgICBmb3IgKDsga25vd25Ob1N5bWxpbmtzW25uXSAhPSBFT0xfTUFHSUM7ICsrbm4pIHsKLSAgICAgICAgaWYgKGtub3duTm9TeW1saW5rc1tubl0gPT0gcy0+Zl90eXBlKSB7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gMTsKLX0KLQotc3RhdGljIGxvbmcKLV9fbmFtZV9tYXgoIHN0cnVjdCBzdGF0ZnMqICBzICkKLXsKLSAgICByZXR1cm4gcy0+Zl9uYW1lbGVuOwotfQotCi1sb25nCi1wYXRoY29uZihjb25zdCBjaGFyICpwYXRoLCBpbnQgbmFtZSkKLXsKLSAgICBzdHJ1Y3Qgc3RhdGZzICBidWY7Ci0gICAgaW50ICAgICAgICAgICAgcmV0ID0gc3RhdGZzKCBwYXRoLCAmYnVmICk7Ci0KLSAgICBpZiAocmV0IDwgMCkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgc3dpdGNoIChuYW1lKSB7Ci0gICAgY2FzZSBfUENfRklMRVNJWkVCSVRTOgotICAgICAgICByZXR1cm4gX19maWxlc2l6ZWJpdHMoJmJ1Zik7Ci0KLSAgICBjYXNlIF9QQ19MSU5LX01BWDoKLSAgICAgICAgcmV0dXJuIF9fbGlua19tYXgoJmJ1Zik7Ci0KLSAgICBjYXNlIF9QQ19NQVhfQ0FOT046Ci0gICAgICAgIHJldHVybiBNQVhfQ0FOT047Ci0KLSAgICBjYXNlIF9QQ19NQVhfSU5QVVQ6Ci0gICAgICAgIHJldHVybiBNQVhfSU5QVVQ7Ci0KLSAgICBjYXNlIF9QQ19OQU1FX01BWDoKLSAgICAgICAgcmV0dXJuIF9fbmFtZV9tYXgoJmJ1Zik7Ci0KLSAgICBjYXNlIF9QQ19QQVRIX01BWDoKLSAgICAgICAgcmV0dXJuIFBBVEhfTUFYOwotCi0gICAgY2FzZSBfUENfUElQRV9CVUY6Ci0gICAgICAgIHJldHVybiBQSVBFX0JVRjsKLQotICAgIGNhc2UgX1BDXzJfU1lNTElOS1M6Ci0gICAgICAgIHJldHVybiBfXzJfc3ltbGlua3MoJmJ1Zik7Ci0KLSNpZiAwICAvKiBkb24ndCBrbm93IHdoYXQgdG8gZG8gdGhlcmUsIHRoZSBzcGVjcyBhcmUgcmVhbGx5IHdlaXJkICovCi0gICAgY2FzZSBfUENfQUxMT0NfU0laRV9NSU46Ci0gICAgY2FzZSBfUENfUkVDX0lOQ1JfWEZFUl9TSVpFOgotICAgIGNhc2UgX1BDX1JFQ19NQVhfWEZFUl9TSVpFOgotICAgIGNhc2UgX1BDX1JFQ19NSU5fWEZFUl9TSVpFOgotICAgIGNhc2UgX1BDX1JFQ19YRkVSX0FMSUdOOgotI2VuZGlmCi0KLSAgICBjYXNlIF9QQ19TWU1MSU5LX01BWDoKLSAgICAgICAgcmV0dXJuIC0xOyAgLyogbm8gbGltaXQgKi8KLQotICAgIGNhc2UgX1BDX0NIT1dOX1JFU1RSSUNURUQ6Ci0gICAgICAgIHJldHVybiBfUE9TSVhfQ0hPV05fUkVTVFJJQ1RFRDsKLQotICAgIGNhc2UgX1BDX05PX1RSVU5DOgotICAgICAgICByZXR1cm4gX1BPU0lYX05PX1RSVU5DOwotCi0gICAgY2FzZSBfUENfVkRJU0FCTEU6Ci0gICAgICAgIHJldHVybiBfUE9TSVhfVkRJU0FCTEU7Ci0KLSAgICBjYXNlIF9QQ19BU1lOQ19JTzoKLSAgICAgICAgcmV0dXJuIF9QT1NJWF9BU1lOQ19JTzsKLQotICAgIGNhc2UgX1BDX1BSSU9fSU86Ci0gICAgICAgIHJldHVybiBfUE9TSVhfUFJJT19JTzsKLQotICAgIGNhc2UgX1BDX1NZTkNfSU86Ci0gICAgICAgIHJldHVybiBfUE9TSVhfU1lOQ19JTzsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGVycm5vID0gRUlOVkFMOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotfQotCi1sb25nIGZwYXRoY29uZihpbnQgZmlsZGVzLCBpbnQgbmFtZSkKLXsKLSAgICBzdHJ1Y3Qgc3RhdGZzICBidWY7Ci0gICAgaW50ICAgICAgICAgICAgcmV0ID0gZnN0YXRmcyhmaWxkZXMsICZidWYpOwotCi0gICAgaWYgKHJldCA8IDApCi0gICAgICAgIHJldHVybiAtMTsKLQotICAgIHN3aXRjaCAobmFtZSkgewotICAgIGNhc2UgX1BDX0ZJTEVTSVpFQklUUzoKLSAgICAgICAgcmV0dXJuIF9fZmlsZXNpemViaXRzKCZidWYpOwotCi0gICAgY2FzZSBfUENfTElOS19NQVg6Ci0gICAgICAgIHJldHVybiBfX2xpbmtfbWF4KCZidWYpOwotCi0gICAgY2FzZSBfUENfTUFYX0NBTk9OOgotICAgICAgICByZXR1cm4gTUFYX0NBTk9OOwotCi0gICAgY2FzZSBfUENfTUFYX0lOUFVUOgotICAgICAgICByZXR1cm4gTUFYX0lOUFVUOwotCi0gICAgY2FzZSBfUENfTkFNRV9NQVg6Ci0gICAgICAgIHJldHVybiBfX25hbWVfbWF4KCZidWYpOwotCi0gICAgY2FzZSBfUENfUEFUSF9NQVg6Ci0gICAgICAgIHJldHVybiBQQVRIX01BWDsKLQotICAgIGNhc2UgX1BDX1BJUEVfQlVGOgotICAgICAgICByZXR1cm4gUElQRV9CVUY7Ci0KLSAgICBjYXNlIF9QQ18yX1NZTUxJTktTOgotICAgICAgICByZXR1cm4gX18yX3N5bWxpbmtzKCZidWYpOwotCi0jaWYgMCAgLyogZG9uJ3Qga25vdyB3aGF0IHRvIGRvIHRoZXJlLCB0aGUgc3BlY3MgYXJlIHJlYWxseSB3ZWlyZCAqLwotICAgIGNhc2UgX1BDX0FMTE9DX1NJWkVfTUlOOgotICAgIGNhc2UgX1BDX1JFQ19JTkNSX1hGRVJfU0laRToKLSAgICBjYXNlIF9QQ19SRUNfTUFYX1hGRVJfU0laRToKLSAgICBjYXNlIF9QQ19SRUNfTUlOX1hGRVJfU0laRToKLSAgICBjYXNlIF9QQ19SRUNfWEZFUl9BTElHTjoKLSNlbmRpZgotCi0gICAgY2FzZSBfUENfU1lNTElOS19NQVg6Ci0gICAgICAgIHJldHVybiAtMTsgIC8qIG5vIGxpbWl0ICovCi0KLSAgICBjYXNlIF9QQ19DSE9XTl9SRVNUUklDVEVEOgotICAgICAgICByZXR1cm4gX1BPU0lYX0NIT1dOX1JFU1RSSUNURUQ7Ci0KLSAgICBjYXNlIF9QQ19OT19UUlVOQzoKLSAgICAgICAgcmV0dXJuIF9QT1NJWF9OT19UUlVOQzsKLQotICAgIGNhc2UgX1BDX1ZESVNBQkxFOgotICAgICAgICByZXR1cm4gX1BPU0lYX1ZESVNBQkxFOwotCi0gICAgY2FzZSBfUENfQVNZTkNfSU86Ci0gICAgICAgIHJldHVybiBfUE9TSVhfQVNZTkNfSU87Ci0KLSAgICBjYXNlIF9QQ19QUklPX0lPOgotICAgICAgICByZXR1cm4gX1BPU0lYX1BSSU9fSU87Ci0KLSAgICBjYXNlIF9QQ19TWU5DX0lPOgotICAgICAgICByZXR1cm4gX1BPU0lYX1NZTkNfSU87Ci0KLSAgICBkZWZhdWx0OgotICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3BhdGhjb25mLmNwcCBiL2xpYmMvYmlvbmljL3BhdGhjb25mLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmY1NzQyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvcGF0aGNvbmYuY3BwCkBAIC0wLDAgKzEsMTU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL2xpbWl0cy5oPgorI2luY2x1ZGUgPHN5cy92ZnMuaD4KKworc3RhdGljIGxvbmcgX19maWxlc2l6ZWJpdHMoY29uc3Qgc3RydWN0IHN0YXRmcyYgcykgeworICBzd2l0Y2ggKHMuZl90eXBlKSB7CisgICAgY2FzZSBKRkZTMl9TVVBFUl9NQUdJQzoKKyAgICBjYXNlIE1TRE9TX1NVUEVSX01BR0lDOgorICAgIGNhc2UgTkNQX1NVUEVSX01BR0lDOgorICAgICAgcmV0dXJuIDMyOworICB9CisgIC8vIFRoZXJlIHdvbid0IGJlIGFueSBuZXcgMzItYml0IGZpbGUgc3lzdGVtcy4KKyAgcmV0dXJuIDY0OworfQorCitzdGF0aWMgbG9uZyBfX2xpbmtfbWF4KGNvbnN0IHN0cnVjdCBzdGF0ZnMmIHMpIHsKKyAgLy8gVGhlc2UgY29uc3RhbnQgdmFsdWVzIHdlcmUgdGFrZW4gZnJvbSBrZXJuZWwgaGVhZGVycy4KKyAgLy8gVGhleSdyZSBub3QgYXZhaWxhYmxlIGluIHVhcGkgaGVhZGVycy4KKyAgc3dpdGNoIChzLmZfdHlwZSkgeworICAgIGNhc2UgRVhUMl9TVVBFUl9NQUdJQzoKKyAgICAgIHJldHVybiAzMjAwMDsKKyAgICBjYXNlIE1JTklYX1NVUEVSX01BR0lDOgorICAgICAgcmV0dXJuIDI1MDsKKyAgICBjYXNlIE1JTklYMl9TVVBFUl9NQUdJQzoKKyAgICAgIHJldHVybiA2NTUzMDsKKyAgICBjYXNlIFJFSVNFUkZTX1NVUEVSX01BR0lDOgorICAgICAgcmV0dXJuIDB4ZmZmZiAtIDEwMDA7CisgICAgY2FzZSBVRlNfTUFHSUM6CisgICAgICByZXR1cm4gMzIwMDA7CisgIH0KKyAgcmV0dXJuIExJTktfTUFYOworfQorCitzdGF0aWMgbG9uZyBfXzJfc3ltbGlua3MoY29uc3Qgc3RydWN0IHN0YXRmcyYgcykgeworICBzd2l0Y2ggKHMuZl90eXBlKSB7CisgICAgY2FzZSBBREZTX1NVUEVSX01BR0lDOgorICAgIGNhc2UgQkZTX01BR0lDOgorICAgIGNhc2UgQ1JBTUZTX01BR0lDOgorICAgIGNhc2UgRUZTX1NVUEVSX01BR0lDOgorICAgIGNhc2UgTVNET1NfU1VQRVJfTUFHSUM6CisgICAgY2FzZSBRTlg0X1NVUEVSX01BR0lDOgorICAgICAgcmV0dXJuIDA7CisgIH0KKyAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBsb25nIF9fcGF0aGNvbmYoY29uc3Qgc3RydWN0IHN0YXRmcyYgcywgaW50IG5hbWUpIHsKKyAgc3dpdGNoIChuYW1lKSB7CisgICAgY2FzZSBfUENfRklMRVNJWkVCSVRTOgorICAgICAgcmV0dXJuIF9fZmlsZXNpemViaXRzKHMpOworCisgICAgY2FzZSBfUENfTElOS19NQVg6CisgICAgICByZXR1cm4gX19saW5rX21heChzKTsKKworICAgIGNhc2UgX1BDX01BWF9DQU5PTjoKKyAgICAgIHJldHVybiBNQVhfQ0FOT047CisKKyAgICBjYXNlIF9QQ19NQVhfSU5QVVQ6CisgICAgICByZXR1cm4gTUFYX0lOUFVUOworCisgICAgY2FzZSBfUENfTkFNRV9NQVg6CisgICAgICByZXR1cm4gcy5mX25hbWVsZW47CisKKyAgICBjYXNlIF9QQ19QQVRIX01BWDoKKyAgICAgIHJldHVybiBQQVRIX01BWDsKKworICAgIGNhc2UgX1BDX1BJUEVfQlVGOgorICAgICAgcmV0dXJuIFBJUEVfQlVGOworCisgICAgY2FzZSBfUENfMl9TWU1MSU5LUzoKKyAgICAgIHJldHVybiBfXzJfc3ltbGlua3Mocyk7CisKKyAgICBjYXNlIF9QQ19BTExPQ19TSVpFX01JTjogIC8qIGZhbGwgdGhyb3VnaCAqLworICAgIGNhc2UgX1BDX1JFQ19YRkVSX0FMSUdOOgorICAgICAgcmV0dXJuIHMuZl9mcnNpemU7CisKKyAgICBjYXNlIF9QQ19SRUNfTUlOX1hGRVJfU0laRToKKyAgICAgIHJldHVybiBzLmZfYnNpemU7CisKKyNpZiAwCisgICAgY2FzZSBfUENfUkVDX0lOQ1JfWEZFUl9TSVpFOgorICAgIGNhc2UgX1BDX1JFQ19NQVhfWEZFUl9TSVpFOgorI2VuZGlmCisKKyAgICBjYXNlIF9QQ19TWU1MSU5LX01BWDoKKyAgICAgIHJldHVybiAtMTsgLyogbm8gbGltaXQgKi8KKworICAgIGNhc2UgX1BDX0NIT1dOX1JFU1RSSUNURUQ6CisgICAgICByZXR1cm4gX1BPU0lYX0NIT1dOX1JFU1RSSUNURUQ7CisKKyAgICBjYXNlIF9QQ19OT19UUlVOQzoKKyAgICAgIHJldHVybiBfUE9TSVhfTk9fVFJVTkM7CisKKyAgICBjYXNlIF9QQ19WRElTQUJMRToKKyAgICAgIHJldHVybiBfUE9TSVhfVkRJU0FCTEU7CisKKyAgICBjYXNlIF9QQ19BU1lOQ19JTzoKKyAgICAgIHJldHVybiAtMTsKKworICAgIGNhc2UgX1BDX1BSSU9fSU86CisgICAgICByZXR1cm4gLTE7CisKKyAgICBjYXNlIF9QQ19TWU5DX0lPOgorICAgICAgcmV0dXJuIC0xOworCisgICAgZGVmYXVsdDoKKyAgICAgIGVycm5vID0gRUlOVkFMOworICAgICAgcmV0dXJuIC0xOworICB9Cit9CisKK2xvbmcgcGF0aGNvbmYoY29uc3QgY2hhciogcGF0aCwgaW50IG5hbWUpIHsKKyAgc3RydWN0IHN0YXRmcyBzYjsKKyAgaWYgKHN0YXRmcyhwYXRoLCAmc2IpID09IC0xKSB7CisgICAgcmV0dXJuIC0xOworICB9CisgIHJldHVybiBfX3BhdGhjb25mKHNiLCBuYW1lKTsKK30KKworbG9uZyBmcGF0aGNvbmYoaW50IGZkLCBpbnQgbmFtZSkgeworICBzdHJ1Y3Qgc3RhdGZzIHNiOworICBpZiAoZnN0YXRmcyhmZCwgJnNiKSA9PSAtMSkgeworICAgIHJldHVybiAtMTsKKyAgfQorICByZXR1cm4gX19wYXRoY29uZihzYiwgbmFtZSk7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wb2xsLmNwcCBiL2xpYmMvYmlvbmljL3BvbGwuY3BwCmluZGV4IGViYjMxOGQuLjIzZWY5MGEgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3BvbGwuY3BwCisrKyBiL2xpYmMvYmlvbmljL3BvbGwuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAgKiBTVUNIIERBTUFHRS4KICAqLwogCisjdW5kZWYgX0ZPUlRJRllfU09VUkNFCisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzeXMvcG9sbC5oPgogI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KIApkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcG9zaXhfbWFkdmlzZS5jcHAgYi9saWJjL2Jpb25pYy9wb3NpeF9tYWR2aXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzdiZTAxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvcG9zaXhfbWFkdmlzZS5jcHAKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorCisjaW5jbHVkZSAicHJpdmF0ZS9FcnJub1Jlc3RvcmVyLmgiCisKK2ludCBwb3NpeF9tYWR2aXNlKHZvaWQqIGFkZHIsIHNpemVfdCBsZW4sIGludCBhZHZpY2UpIHsKKyAgRXJybm9SZXN0b3JlciBlcnJub19yZXN0b3JlcjsKKworICAvLyBEb24ndCBjYWxsIG1hZHZpc2UoKSBvbiBQT1NJWF9NQURWX0RPTlRORUVELCBpdCB3aWxsIG1ha2UgdGhlIHNwYWNlIG5vdCBhdmFpbGFibGUuCisgIGlmIChhZHZpY2UgPT0gUE9TSVhfTUFEVl9ET05UTkVFRCkgeworICAgIHJldHVybiAwOworICB9CisgIHJldHVybiAobWFkdmlzZShhZGRyLCBsZW4sIGFkdmljZSkgPT0gMCA/IDAgOiBlcnJubyk7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wb3NpeF90aW1lcnMuY3BwIGIvbGliYy9iaW9uaWMvcG9zaXhfdGltZXJzLmNwcAppbmRleCAzYzY2NGQ5Li5jOGY3MWM4IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wb3NpeF90aW1lcnMuY3BwCisrKyBiL2xpYmMvYmlvbmljL3Bvc2l4X3RpbWVycy5jcHAKQEAgLTI2LDEzICsyNiwxNSBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAotI2luY2x1ZGUgInB0aHJlYWRfaW50ZXJuYWwuaCIKLSNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19mdXRleC5oIgogI2luY2x1ZGUgInByaXZhdGUva2VybmVsX3NpZ3NldF90LmgiCiAKICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPG1hbGxvYy5oPgorI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KIAogLy8gU3lzdGVtIGNhbGxzLgogZXh0ZXJuICJDIiBpbnQgX19ydF9zaWd0aW1lZHdhaXQoY29uc3Qgc2lnc2V0X3QqLCBzaWdpbmZvX3QqLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMqLCBzaXplX3QpOwpAQCAtNTgsMTEgKzYwLDExIEBACiAKICAgaW50IHNpZ2V2X25vdGlmeTsKIAotICAvLyBUaGVzZSBmaWVsZHMgYXJlIG9ubHkgbmVlZGVkIGZvciBhIFNJR0VWX1RIUkVBRCB0aW1lci4KKyAgLy8gVGhlIGZpZWxkcyBiZWxvdyBhcmUgb25seSBuZWVkZWQgZm9yIGEgU0lHRVZfVEhSRUFEIHRpbWVyLgogICBwdGhyZWFkX3QgY2FsbGJhY2tfdGhyZWFkOwogICB2b2lkICgqY2FsbGJhY2spKHNpZ3ZhbF90KTsKICAgc2lndmFsX3QgY2FsbGJhY2tfYXJndW1lbnQ7Ci0gIHZvbGF0aWxlIGJvb2wgYXJtZWQ7CisgIGF0b21pY19ib29sIGRlbGV0ZWQ7ICAvLyBTZXQgd2hlbiB0aGUgdGltZXIgaXMgZGVsZXRlZCwgdG8gcHJldmVudCBmdXJ0aGVyIGNhbGxpbmcgb2YgY2FsbGJhY2suCiB9OwogCiBzdGF0aWMgX19rZXJuZWxfdGltZXJfdCB0b19rZXJuZWxfdGltZXJfaWQodGltZXJfdCB0aW1lcikgewpAQCAtODQsOCArODYsMTMgQEAKICAgICAgIGNvbnRpbnVlOwogICAgIH0KIAotICAgIGlmIChzaS5zaV9jb2RlID09IFNJX1RJTUVSICYmIHRpbWVyLT5hcm1lZCkgeworICAgIGlmIChzaS5zaV9jb2RlID09IFNJX1RJTUVSKSB7CiAgICAgICAvLyBUaGlzIHNpZ25hbCB3YXMgc2VudCBiZWNhdXNlIGEgdGltZXIgZmlyZWQsIHNvIGNhbGwgdGhlIGNhbGxiYWNrLgorCisgICAgICAvLyBBbGwgZXZlbnRzIHRvIHRoZSBjYWxsYmFjayB3aWxsIGJlIGlnbm9yZWQgd2hlbiB0aGUgdGltZXIgaXMgZGVsZXRlZC4KKyAgICAgIGlmIChhdG9taWNfbG9hZCgmdGltZXItPmRlbGV0ZWQpID09IHRydWUpIHsKKyAgICAgICAgY29udGludWU7CisgICAgICB9CiAgICAgICB0aW1lci0+Y2FsbGJhY2sodGltZXItPmNhbGxiYWNrX2FyZ3VtZW50KTsKICAgICB9IGVsc2UgaWYgKHNpLnNpX2NvZGUgPT0gU0lfVEtJTEwpIHsKICAgICAgIC8vIFRoaXMgc2lnbmFsIHdhcyBzZW50IGJlY2F1c2Ugc29tZW9uZSB3YW50cyB1cyB0byBleGl0LgpAQCAtOTYsOSArMTAzLDcgQEAKIH0KIAogc3RhdGljIHZvaWQgX190aW1lcl90aHJlYWRfc3RvcChQb3NpeFRpbWVyKiB0aW1lcikgewotICAvLyBJbW1lZGlhdGVseSBtYXJrIHRoZSB0aW1lciBhcyBkaXNhcm1lZCBzbyBldmVuIGlmIHNvbWUgZXZlbnRzCi0gIC8vIGNvbnRpbnVlIHRvIGhhcHBlbiwgdGhlIGNhbGxiYWNrIHdvbid0IGJlIGNhbGxlZC4KLSAgdGltZXItPmFybWVkID0gZmFsc2U7CisgIGF0b21pY19zdG9yZSgmdGltZXItPmRlbGV0ZWQsIHRydWUpOwogICBwdGhyZWFkX2tpbGwodGltZXItPmNhbGxiYWNrX3RocmVhZCwgVElNRVJfU0lHTkFMKTsKIH0KIApAQCAtMTI1LDcgKzEzMCw3IEBACiAgIC8vIE90aGVyd2lzZSwgdGhpcyBtdXN0IGJlIFNJR0VWX1RIUkVBRCB0aW1lci4uLgogICB0aW1lci0+Y2FsbGJhY2sgPSBldnAtPnNpZ2V2X25vdGlmeV9mdW5jdGlvbjsKICAgdGltZXItPmNhbGxiYWNrX2FyZ3VtZW50ID0gZXZwLT5zaWdldl92YWx1ZTsKLSAgdGltZXItPmFybWVkID0gZmFsc2U7CisgIGF0b21pY19pbml0KCZ0aW1lci0+ZGVsZXRlZCwgZmFsc2UpOwogCiAgIC8vIENoZWNrIGFyZ3VtZW50cyB0aGF0IHRoZSBrZXJuZWwgZG9lc24ndCBjYXJlIGFib3V0IGJ1dCB3ZSBkby4KICAgaWYgKHRpbWVyLT5jYWxsYmFjayA9PSBOVUxMKSB7CkBAIC0xNjksMTAgKzE3NCwxMCBAQAogICAgIHJldHVybiAtMTsKICAgfQogCi0gIC8vIEdpdmUgdGhlIHRocmVhZCBhIG1lYW5pbmdmdWwgbmFtZS4KKyAgLy8gR2l2ZSB0aGUgdGhyZWFkIGEgc3BlY2lmaWMgbWVhbmluZ2Z1bCBuYW1lLgogICAvLyBJdCBjYW4ndCBkbyB0aGlzIGl0c2VsZiBiZWNhdXNlIHRoZSBrZXJuZWwgdGltZXIgaXNuJ3QgY3JlYXRlZCB1bnRpbCBhZnRlciBpdCdzIHJ1bm5pbmcuCi0gIGNoYXIgbmFtZVszMl07Ci0gIHNucHJpbnRmKG5hbWUsIHNpemVvZihuYW1lKSwgIlBPU0lYIGludGVydmFsIHRpbWVyICVkIiwgdG9fa2VybmVsX3RpbWVyX2lkKHRpbWVyKSk7CisgIGNoYXIgbmFtZVsxNl07IC8vIDE2IGlzIHRoZSBrZXJuZWwtaW1wb3NlZCBsaW1pdC4KKyAgc25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAiUE9TSVggdGltZXIgJWQiLCB0b19rZXJuZWxfdGltZXJfaWQodGltZXIpKTsKICAgcHRocmVhZF9zZXRuYW1lX25wKHRpbWVyLT5jYWxsYmFja190aHJlYWQsIG5hbWUpOwogCiAgICp0aW1lcl9pZCA9IHRpbWVyOwpAQCAtMTk4LDI1ICsyMDMsMTkgQEAKICAgcmV0dXJuIDA7CiB9CiAKLS8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy90aW1lcl9nZXRvdmVycnVuLmh0bWwKKy8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy90aW1lcl9nZXR0aW1lLmh0bWwKIGludCB0aW1lcl9nZXR0aW1lKHRpbWVyX3QgaWQsIGl0aW1lcnNwZWMqIHRzKSB7CiAgIHJldHVybiBfX3RpbWVyX2dldHRpbWUodG9fa2VybmVsX3RpbWVyX2lkKGlkKSwgdHMpOwogfQogCi0vLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9mdW5jdGlvbnMvdGltZXJfZ2V0b3ZlcnJ1bi5odG1sCisvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9mdW5jdGlvbnMvdGltZXJfc2V0dGltZS5odG1sCisvLyBXaGVuIHVzaW5nIHRpbWVyX3NldHRpbWUgdG8gZGlzYXJtIGEgcmVwZWF0YWJsZSBTSUdFVl9USFJFQUQgdGltZXIgd2l0aCBhIHZlcnkgc21hbGwKKy8vIHBlcmlvZCAobGlrZSBiZWxvdyAxbXMpLCB0aGUga2VybmVsIG1heSBjb250aW51ZSB0byBzZW5kIGV2ZW50cyB0byB0aGUgY2FsbGJhY2sgdGhyZWFkCisvLyBmb3IgYSBmZXcgZXh0cmEgdGltZXMuIFRoaXMgYmVoYXZpb3IgaXMgZmluZSBiZWNhdXNlIGluIFBPU0lYIHN0YW5kYXJkOiBUaGUgZWZmZWN0IG9mCisvLyBkaXNhcm1pbmcgb3IgcmVzZXR0aW5nIGEgdGltZXIgd2l0aCBwZW5kaW5nIGV4cGlyYXRpb24gbm90aWZpY2F0aW9ucyBpcyB1bnNwZWNpZmllZC4KIGludCB0aW1lcl9zZXR0aW1lKHRpbWVyX3QgaWQsIGludCBmbGFncywgY29uc3QgaXRpbWVyc3BlYyogdHMsIGl0aW1lcnNwZWMqIG90cykgewogICBQb3NpeFRpbWVyKiB0aW1lcj0gcmVpbnRlcnByZXRfY2FzdDxQb3NpeFRpbWVyKj4oaWQpOwotICBpbnQgcmMgPSBfX3RpbWVyX3NldHRpbWUodGltZXItPmtlcm5lbF90aW1lcl9pZCwgZmxhZ3MsIHRzLCBvdHMpOwotICBpZiAocmMgPT0gMCkgewotICAgIC8vIE1hcmsgdGhlIHRpbWVyIGFzIGVpdGhlciBiZWluZyBhcm1lZCBvciBkaXNhcm1lZC4gVGhpcyBhdm9pZHMgdGhlCi0gICAgLy8gY2FsbGJhY2sgYmVpbmcgY2FsbGVkIGFmdGVyIHRoZSBkaXNhcm0gZm9yIFNJR0VWX1RIUkVBRCB0aW1lcnMgb25seS4KLSAgICBpZiAodHMtPml0X3ZhbHVlLnR2X3NlYyAhPSAwIHx8IHRzLT5pdF92YWx1ZS50dl9uc2VjICE9IDApIHsKLSAgICAgIHRpbWVyLT5hcm1lZCA9IHRydWU7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRpbWVyLT5hcm1lZCA9IGZhbHNlOwotICAgIH0KLSAgfQotICByZXR1cm4gcmM7CisgIHJldHVybiBfX3RpbWVyX3NldHRpbWUodGltZXItPmtlcm5lbF90aW1lcl9pZCwgZmxhZ3MsIHRzLCBvdHMpOwogfQogCiAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9mdW5jdGlvbnMvdGltZXJfZ2V0b3ZlcnJ1bi5odG1sCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX2FjY2Vzc29yLmggYi9saWJjL2Jpb25pYy9wdGhyZWFkX2FjY2Vzc29yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmNGE1YTIuLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZF9hY2Nlc3Nvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICoKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICovCi0KLSNpZm5kZWYgUFRIUkVBRF9BQ0NFU1NPUl9ICi0jZGVmaW5lIFBUSFJFQURfQUNDRVNTT1JfSAotCi0jaW5jbHVkZSA8cHRocmVhZC5oPgotCi0jaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfbWFjcm9zLmgiCi0jaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgotCi1jbGFzcyBwdGhyZWFkX2FjY2Vzc29yIHsKLSBwdWJsaWM6Ci0gIGV4cGxpY2l0IHB0aHJlYWRfYWNjZXNzb3IocHRocmVhZF90IGRlc2lyZWRfdGhyZWFkKSB7Ci0gICAgTG9jaygpOwotICAgIGZvciAodGhyZWFkXyA9IGdfdGhyZWFkX2xpc3Q7IHRocmVhZF8gIT0gTlVMTDsgdGhyZWFkXyA9IHRocmVhZF8tPm5leHQpIHsKLSAgICAgIGlmICh0aHJlYWRfID09IHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9pbnRlcm5hbF90Kj4oZGVzaXJlZF90aHJlYWQpKSB7Ci0gICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIH5wdGhyZWFkX2FjY2Vzc29yKCkgewotICAgIFVubG9jaygpOwotICB9Ci0KLSAgdm9pZCBVbmxvY2soKSB7Ci0gICAgaWYgKGlzX2xvY2tlZF8pIHsKLSAgICAgIGlzX2xvY2tlZF8gPSBmYWxzZTsKLSAgICAgIHRocmVhZF8gPSBOVUxMOwotICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmdfdGhyZWFkX2xpc3RfbG9jayk7Ci0gICAgfQotICB9Ci0KLSAgcHRocmVhZF9pbnRlcm5hbF90JiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiAqdGhyZWFkXzsgfQotICBwdGhyZWFkX2ludGVybmFsX3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiB0aHJlYWRfOyB9Ci0gIHB0aHJlYWRfaW50ZXJuYWxfdCogZ2V0KCkgY29uc3QgeyByZXR1cm4gdGhyZWFkXzsgfQotCi0gcHJpdmF0ZToKLSAgcHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWRfOwotICBib29sIGlzX2xvY2tlZF87Ci0KLSAgdm9pZCBMb2NrKCkgewotICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmZ190aHJlYWRfbGlzdF9sb2NrKTsKLSAgICBpc19sb2NrZWRfID0gdHJ1ZTsKLSAgfQotCi0gIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihwdGhyZWFkX2FjY2Vzc29yKTsKLX07Ci0KLSNlbmRpZiAvLyBQVEhSRUFEX0FDQ0VTU09SX0gKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfYXRmb3JrLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfYXRmb3JrLmNwcAppbmRleCBiODQ1ZjdkLi4wOTNmZmQyIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX2F0Zm9yay5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9hdGZvcmsuY3BwCkBAIC0yOCw2ICsyOCw5IEBACiAKICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX21hY3Jvcy5oIgogCiBzdHJ1Y3QgYXRmb3JrX3QgewogICBhdGZvcmtfdCogbmV4dDsKQEAgLTM2LDc5ICszOSwxNDMgQEAKICAgdm9pZCAoKnByZXBhcmUpKHZvaWQpOwogICB2b2lkICgqY2hpbGQpKHZvaWQpOwogICB2b2lkICgqcGFyZW50KSh2b2lkKTsKKworICB2b2lkKiBkc29faGFuZGxlOwogfTsKIAotc3RydWN0IGF0Zm9ya19saXN0X3QgewotICBhdGZvcmtfdCogZmlyc3Q7Ci0gIGF0Zm9ya190KiBsYXN0OworY2xhc3MgYXRmb3JrX2xpc3RfdCB7CisgcHVibGljOgorICBhdGZvcmtfbGlzdF90KCkgOiBmaXJzdF8obnVsbHB0ciksIGxhc3RfKG51bGxwdHIpIHt9CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgRj4KKyAgdm9pZCB3YWxrX2ZvcndhcmQoRiBmKSB7CisgICAgZm9yIChhdGZvcmtfdCogaXQgPSBmaXJzdF87IGl0ICE9IG51bGxwdHI7IGl0ID0gaXQtPm5leHQpIHsKKyAgICAgIGYoaXQpOworICAgIH0KKyAgfQorCisgIHRlbXBsYXRlPHR5cGVuYW1lIEY+CisgIHZvaWQgd2Fsa19iYWNrd2FyZHMoRiBmKSB7CisgICAgZm9yIChhdGZvcmtfdCogaXQgPSBsYXN0XzsgaXQgIT0gbnVsbHB0cjsgaXQgPSBpdC0+cHJldikgeworICAgICAgZihpdCk7CisgICAgfQorICB9CisKKyAgdm9pZCBwdXNoX2JhY2soYXRmb3JrX3QqIGVudHJ5KSB7CisgICAgZW50cnktPm5leHQgPSBudWxscHRyOworICAgIGVudHJ5LT5wcmV2ID0gbGFzdF87CisgICAgaWYgKGVudHJ5LT5wcmV2ICE9IG51bGxwdHIpIHsKKyAgICAgIGVudHJ5LT5wcmV2LT5uZXh0ID0gZW50cnk7CisgICAgfQorICAgIGlmIChmaXJzdF8gPT0gbnVsbHB0cikgeworICAgICAgZmlyc3RfID0gZW50cnk7CisgICAgfQorICAgIGxhc3RfID0gZW50cnk7CisgIH0KKworICB0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorICB2b2lkIHJlbW92ZV9pZihGIHByZWRpY2F0ZSkgeworICAgIGF0Zm9ya190KiBpdCA9IGZpcnN0XzsKKyAgICB3aGlsZSAoaXQgIT0gbnVsbHB0cikgeworICAgICAgaWYgKHByZWRpY2F0ZShpdCkpIHsKKyAgICAgICAgYXRmb3JrX3QqIGVudHJ5ID0gaXQ7CisgICAgICAgIGl0ID0gaXQtPm5leHQ7CisgICAgICAgIHJlbW92ZShlbnRyeSk7CisgICAgICB9IGVsc2UgeworICAgICAgICBpdCA9IGl0LT5uZXh0OworICAgICAgfQorICAgIH0KKyAgfQorCisgcHJpdmF0ZToKKyAgdm9pZCByZW1vdmUoYXRmb3JrX3QqIGVudHJ5KSB7CisgICAgaWYgKGVudHJ5LT5wcmV2ICE9IG51bGxwdHIpIHsKKyAgICAgIGVudHJ5LT5wcmV2LT5uZXh0ID0gZW50cnktPm5leHQ7CisgICAgfSBlbHNlIHsKKyAgICAgIGZpcnN0XyA9IGVudHJ5LT5uZXh0OworICAgIH0KKworICAgIGlmIChlbnRyeS0+bmV4dCAhPSBudWxscHRyKSB7CisgICAgICBlbnRyeS0+bmV4dC0+cHJldiA9IGVudHJ5LT5wcmV2OworICAgIH0gZWxzZSB7CisgICAgICBsYXN0XyA9IGVudHJ5LT5wcmV2OworICAgIH0KKworICAgIGZyZWUoZW50cnkpOworICB9CisKKyAgYXRmb3JrX3QqIGZpcnN0XzsKKyAgYXRmb3JrX3QqIGxhc3RfOworCisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihhdGZvcmtfbGlzdF90KTsKIH07CiAKLXN0YXRpYyBwdGhyZWFkX211dGV4X3QgZ19hdGZvcmtfbGlzdF9tdXRleCA9IFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSOwotc3RhdGljIGF0Zm9ya19saXN0X3QgZ19hdGZvcmtfbGlzdCA9IHsgTlVMTCwgTlVMTCB9Oworc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBnX2F0Zm9ya19saXN0X211dGV4ID0gUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfSU5JVElBTElaRVJfTlA7CitzdGF0aWMgYXRmb3JrX2xpc3RfdCBnX2F0Zm9ya19saXN0OwogCiB2b2lkIF9fYmlvbmljX2F0Zm9ya19ydW5fcHJlcGFyZSgpIHsKICAgLy8gV2UgbG9jayB0aGUgYXRmb3JrIGxpc3QgaGVyZSwgdW5sb2NrIGl0IGluIHRoZSBwYXJlbnQsIGFuZCByZXNldCBpdCBpbiB0aGUgY2hpbGQuCiAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IG5vYm9keSBjYW4gbW9kaWZ5IHRoZSBoYW5kbGVyIGFycmF5IGJldHdlZW4gdGhlIGNhbGxzCiAgIC8vIHRvIHRoZSBwcmVwYXJlIGFuZCBwYXJlbnQvY2hpbGQgaGFuZGxlcnMuCi0gIC8vCi0gIC8vIFRPRE86IElmIGEgaGFuZGxlciB0cmllcyB0byBtdXRhdGUgdGhlIGxpc3QsIHRoZXknbGwgYmxvY2suIFdlIHNob3VsZCBwcm9iYWJseSBjb3B5Ci0gIC8vIHRoZSBsaXN0IGJlZm9yZSBmb3JraW5nLCBhbmQgaGF2ZSBwcmVwYXJlLCBwYXJlbnQsIGFuZCBjaGlsZCBhbGwgd29yayBvbiB0aGUgY29uc2lzdGVudCBjb3B5LgogICBwdGhyZWFkX211dGV4X2xvY2soJmdfYXRmb3JrX2xpc3RfbXV0ZXgpOwogCiAgIC8vIENhbGwgcHRocmVhZF9hdGZvcmsoKSBwcmVwYXJlIGhhbmRsZXJzLiBQT1NJWCBzdGF0ZXMgdGhhdCB0aGUgcHJlcGFyZQogICAvLyBoYW5kbGVycyBzaG91bGQgYmUgY2FsbGVkIGluIHRoZSByZXZlcnNlIG9yZGVyIG9mIHRoZSBwYXJlbnQvY2hpbGQKICAgLy8gaGFuZGxlcnMsIHNvIHdlIGl0ZXJhdGUgYmFja3dhcmRzLgotICBmb3IgKGF0Zm9ya190KiBpdCA9IGdfYXRmb3JrX2xpc3QubGFzdDsgaXQgIT0gTlVMTDsgaXQgPSBpdC0+cHJldikgewotICAgIGlmIChpdC0+cHJlcGFyZSAhPSBOVUxMKSB7CisgIGdfYXRmb3JrX2xpc3Qud2Fsa19iYWNrd2FyZHMoW10oYXRmb3JrX3QqIGl0KSB7CisgICAgaWYgKGl0LT5wcmVwYXJlICE9IG51bGxwdHIpIHsKICAgICAgIGl0LT5wcmVwYXJlKCk7CiAgICAgfQotICB9CisgIH0pOwogfQogCiB2b2lkIF9fYmlvbmljX2F0Zm9ya19ydW5fY2hpbGQoKSB7Ci0gIGZvciAoYXRmb3JrX3QqIGl0ID0gZ19hdGZvcmtfbGlzdC5maXJzdDsgaXQgIT0gTlVMTDsgaXQgPSBpdC0+bmV4dCkgewotICAgIGlmIChpdC0+Y2hpbGQgIT0gTlVMTCkgeworICBnX2F0Zm9ya19saXN0LndhbGtfZm9yd2FyZChbXShhdGZvcmtfdCogaXQpIHsKKyAgICBpZiAoaXQtPmNoaWxkICE9IG51bGxwdHIpIHsKICAgICAgIGl0LT5jaGlsZCgpOwogICAgIH0KLSAgfQorICB9KTsKIAotICBnX2F0Zm9ya19saXN0X211dGV4ID0gUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfSU5JVElBTElaRVI7CisgIGdfYXRmb3JrX2xpc3RfbXV0ZXggPSBQVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWF9JTklUSUFMSVpFUl9OUDsKIH0KIAogdm9pZCBfX2Jpb25pY19hdGZvcmtfcnVuX3BhcmVudCgpIHsKLSAgZm9yIChhdGZvcmtfdCogaXQgPSBnX2F0Zm9ya19saXN0LmZpcnN0OyBpdCAhPSBOVUxMOyBpdCA9IGl0LT5uZXh0KSB7Ci0gICAgaWYgKGl0LT5wYXJlbnQgIT0gTlVMTCkgeworICBnX2F0Zm9ya19saXN0LndhbGtfZm9yd2FyZChbXShhdGZvcmtfdCogaXQpIHsKKyAgICBpZiAoaXQtPnBhcmVudCAhPSBudWxscHRyKSB7CiAgICAgICBpdC0+cGFyZW50KCk7CiAgICAgfQotICB9CisgIH0pOwogCiAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZnX2F0Zm9ya19saXN0X211dGV4KTsKIH0KIAotaW50IHB0aHJlYWRfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSh2b2lkKSwgdm9pZCAoKnBhcmVudCkodm9pZCksIHZvaWQoKmNoaWxkKSh2b2lkKSkgeworLy8gX19yZWdpc3Rlcl9hdGZvcmsgaXMgdGhlIG5hbWUgdXNlZCBieSBnbGliYworZXh0ZXJuICJDIiBpbnQgX19yZWdpc3Rlcl9hdGZvcmsodm9pZCAoKnByZXBhcmUpKHZvaWQpLCB2b2lkICgqcGFyZW50KSh2b2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQoKmNoaWxkKSh2b2lkKSwgdm9pZCogZHNvKSB7CiAgIGF0Zm9ya190KiBlbnRyeSA9IHJlaW50ZXJwcmV0X2Nhc3Q8YXRmb3JrX3QqPihtYWxsb2Moc2l6ZW9mKGF0Zm9ya190KSkpOwotICBpZiAoZW50cnkgPT0gTlVMTCkgeworICBpZiAoZW50cnkgPT0gbnVsbHB0cikgewogICAgIHJldHVybiBFTk9NRU07CiAgIH0KIAogICBlbnRyeS0+cHJlcGFyZSA9IHByZXBhcmU7CiAgIGVudHJ5LT5wYXJlbnQgPSBwYXJlbnQ7CiAgIGVudHJ5LT5jaGlsZCA9IGNoaWxkOworICBlbnRyeS0+ZHNvX2hhbmRsZSA9IGRzbzsKIAogICBwdGhyZWFkX211dGV4X2xvY2soJmdfYXRmb3JrX2xpc3RfbXV0ZXgpOwogCi0gIC8vIEFwcGVuZCAnZW50cnknIHRvIHRoZSBsaXN0LgotICBlbnRyeS0+bmV4dCA9IE5VTEw7Ci0gIGVudHJ5LT5wcmV2ID0gZ19hdGZvcmtfbGlzdC5sYXN0OwotICBpZiAoZW50cnktPnByZXYgIT0gTlVMTCkgewotICAgIGVudHJ5LT5wcmV2LT5uZXh0ID0gZW50cnk7Ci0gIH0KLSAgaWYgKGdfYXRmb3JrX2xpc3QuZmlyc3QgPT0gTlVMTCkgewotICAgIGdfYXRmb3JrX2xpc3QuZmlyc3QgPSBlbnRyeTsKLSAgfQotICBnX2F0Zm9ya19saXN0Lmxhc3QgPSBlbnRyeTsKKyAgZ19hdGZvcmtfbGlzdC5wdXNoX2JhY2soZW50cnkpOwogCiAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZnX2F0Zm9ya19saXN0X211dGV4KTsKIAogICByZXR1cm4gMDsKIH0KKworZXh0ZXJuICJDIiBfX0xJQkNfSElEREVOX18gdm9pZCBfX3VucmVnaXN0ZXJfYXRmb3JrKHZvaWQqIGRzbykgeworICBwdGhyZWFkX211dGV4X2xvY2soJmdfYXRmb3JrX2xpc3RfbXV0ZXgpOworICBnX2F0Zm9ya19saXN0LnJlbW92ZV9pZihbJl0oY29uc3QgYXRmb3JrX3QqIGVudHJ5KSB7CisgICAgcmV0dXJuIGVudHJ5LT5kc29faGFuZGxlID09IGRzbzsKKyAgfSk7CisgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZnX2F0Zm9ya19saXN0X211dGV4KTsKK30KKwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcHRocmVhZF9hdHRyLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfYXR0ci5jcHAKaW5kZXggYzY1Y2NjMS4uN2FkMzQzMSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZF9hdHRyLmNwcAorKysgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2F0dHIuY3BwCkBAIC0xNTIsOSArMTUyLDYgQEAKIH0KIAogaW50IHB0aHJlYWRfYXR0cl9nZXRzdGFjayhjb25zdCBwdGhyZWFkX2F0dHJfdCogYXR0ciwgdm9pZCoqIHN0YWNrX2Jhc2UsIHNpemVfdCogc3RhY2tfc2l6ZSkgewotICBpZiAoKGF0dHItPmZsYWdzICYgUFRIUkVBRF9BVFRSX0ZMQUdfTUFJTl9USFJFQUQpICE9IDApIHsKLSAgICByZXR1cm4gX19wdGhyZWFkX2F0dHJfZ2V0c3RhY2tfbWFpbl90aHJlYWQoc3RhY2tfYmFzZSwgc3RhY2tfc2l6ZSk7Ci0gIH0KICAgKnN0YWNrX2Jhc2UgPSBhdHRyLT5zdGFja19iYXNlOwogICAqc3RhY2tfc2l6ZSA9IGF0dHItPnN0YWNrX3NpemU7CiAgIHJldHVybiAwOwpAQCAtMTcxLDcgKzE2OCwxOCBAQAogfQogCiBpbnQgcHRocmVhZF9nZXRhdHRyX25wKHB0aHJlYWRfdCB0LCBwdGhyZWFkX2F0dHJfdCogYXR0cikgewotICAqYXR0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9pbnRlcm5hbF90Kj4odCktPmF0dHI7CisgIHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkID0gcmVpbnRlcnByZXRfY2FzdDxwdGhyZWFkX2ludGVybmFsX3QqPih0KTsKKyAgKmF0dHIgPSB0aHJlYWQtPmF0dHI7CisgIC8vIFdlIHByZWZlciByZWFkaW5nIGpvaW5fc3RhdGUgaGVyZSB0byBzZXR0aW5nIHRocmVhZC0+YXR0ci5mbGFncyBpbiBwdGhyZWFkX2RldGFjaC4KKyAgLy8gQmVjYXVzZSBkYXRhIHJhY2UgZXhpc3RzIGluIHRoZSBsYXR0ZXIgY2FzZS4KKyAgaWYgKGF0b21pY19sb2FkKCZ0aHJlYWQtPmpvaW5fc3RhdGUpID09IFRIUkVBRF9ERVRBQ0hFRCkgeworICAgIGF0dHItPmZsYWdzIHw9IFBUSFJFQURfQVRUUl9GTEFHX0RFVEFDSEVEOworICB9CisgIC8vIFRoZSBtYWluIHRocmVhZCdzIHN0YWNrIGluZm9ybWF0aW9uIGlzIG5vdCBzdG9yZWQgaW4gdGhyZWFkLT5hdHRyLCBhbmQgd2UgbmVlZCB0bworICAvLyBjb2xsZWN0IHRoYXQgYXQgcnVudGltZS4KKyAgaWYgKHRocmVhZC0+dGlkID09IGdldHBpZCgpKSB7CisgICAgcmV0dXJuIF9fcHRocmVhZF9hdHRyX2dldHN0YWNrX21haW5fdGhyZWFkKCZhdHRyLT5zdGFja19iYXNlLCAmYXR0ci0+c3RhY2tfc2l6ZSk7CisgIH0KICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfY29uZC5jcHAgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2NvbmQuY3BwCmluZGV4IGU2MjNiNjIuLjRhNjlkYTUgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfY29uZC5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9jb25kLmNwcApAQCAtMzAsMTcgKzMwLDI0IEBACiAKICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgogCi0jaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfYXRvbWljX2lubGluZS5oIgogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2Z1dGV4LmgiCiAjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfdGltZV9jb252ZXJzaW9ucy5oIgogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3Rscy5oIgogCisvLyBYWFggKnRlY2huaWNhbGx5KiB0aGVyZSBpcyBhIHJhY2UgY29uZGl0aW9uIHRoYXQgY291bGQgYWxsb3cKKy8vIFhYWCBhIHNpZ25hbCB0byBiZSBtaXNzZWQuICBJZiB0aHJlYWQgQSBpcyBwcmVlbXB0ZWQgaW4gX3dhaXQoKQorLy8gWFhYIGFmdGVyIHVubG9ja2luZyB0aGUgbXV0ZXggYW5kIGJlZm9yZSB3YWl0aW5nLCBhbmQgaWYgb3RoZXIKKy8vIFhYWCB0aHJlYWRzIGNhbGwgc2lnbmFsIG9yIGJyb2FkY2FzdCBVSU5UX01BWC8yIHRpbWVzIChleGFjdGx5KSwKKy8vIFhYWCBiZWZvcmUgdGhyZWFkIEEgaXMgc2NoZWR1bGVkIGFnYWluIGFuZCBjYWxscyBmdXRleF93YWl0KCksCisvLyBYWFggdGhlbiB0aGUgc2lnbmFsIHdpbGwgYmUgbG9zdC4KKwogLy8gV2UgdXNlIG9uZSBiaXQgaW4gcHRocmVhZF9jb25kYXR0cl90IChsb25nKSB2YWx1ZXMgYXMgdGhlICdzaGFyZWQnIGZsYWcKIC8vIGFuZCBvbmUgYml0IGZvciB0aGUgY2xvY2sgdHlwZSAoQ0xPQ0tfUkVBTFRJTUUgaXMgKChjbG9ja2lkX3QpIDEpLCBhbmQKIC8vIENMT0NLX01PTk9UT05JQyBpcyAoKGNsb2NraWRfdCkgMCkuKS4gVGhlIHJlc3Qgb2YgdGhlIGJpdHMgYXJlIGEgY291bnRlci4KQEAgLTU3LDcgKzY0LDYgQEAKICNkZWZpbmUgQ09ORF9HRVRfQ0xPQ0soYykgKCgoYykgJiBDT05EX0NMT0NLX01BU0spID4+IDEpCiAjZGVmaW5lIENPTkRfU0VUX0NMT0NLKGF0dHIsIGMpICgoYXR0cikgfCAoYyA8PCAxKSkKIAotCiBpbnQgcHRocmVhZF9jb25kYXR0cl9pbml0KHB0aHJlYWRfY29uZGF0dHJfdCogYXR0cikgewogICAqYXR0ciA9IDA7CiAgICphdHRyIHw9IFBUSFJFQURfUFJPQ0VTU19QUklWQVRFOwpAQCAtOTgsNjIgKzEwNCw3OCBAQAogICByZXR1cm4gMDsKIH0KIAorc3RydWN0IHB0aHJlYWRfY29uZF9pbnRlcm5hbF90IHsKKyAgYXRvbWljX3VpbnQgc3RhdGU7CiAKLS8vIFhYWCAqdGVjaG5pY2FsbHkqIHRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gdGhhdCBjb3VsZCBhbGxvdwotLy8gWFhYIGEgc2lnbmFsIHRvIGJlIG1pc3NlZC4gIElmIHRocmVhZCBBIGlzIHByZWVtcHRlZCBpbiBfd2FpdCgpCi0vLyBYWFggYWZ0ZXIgdW5sb2NraW5nIHRoZSBtdXRleCBhbmQgYmVmb3JlIHdhaXRpbmcsIGFuZCBpZiBvdGhlcgotLy8gWFhYIHRocmVhZHMgY2FsbCBzaWduYWwgb3IgYnJvYWRjYXN0IFVJTlRfTUFYLzIgdGltZXMgKGV4YWN0bHkpLAotLy8gWFhYIGJlZm9yZSB0aHJlYWQgQSBpcyBzY2hlZHVsZWQgYWdhaW4gYW5kIGNhbGxzIGZ1dGV4X3dhaXQoKSwKLS8vIFhYWCB0aGVuIHRoZSBzaWduYWwgd2lsbCBiZSBsb3N0LgotCi1pbnQgcHRocmVhZF9jb25kX2luaXQocHRocmVhZF9jb25kX3QqIGNvbmQsIGNvbnN0IHB0aHJlYWRfY29uZGF0dHJfdCogYXR0cikgewotICBpZiAoYXR0ciAhPSBOVUxMKSB7Ci0gICAgY29uZC0+dmFsdWUgPSAoKmF0dHIgJiBDT05EX0ZMQUdTX01BU0spOwotICB9IGVsc2UgewotICAgIGNvbmQtPnZhbHVlID0gMDsKKyAgYm9vbCBwcm9jZXNzX3NoYXJlZCgpIHsKKyAgICByZXR1cm4gQ09ORF9JU19TSEFSRUQoYXRvbWljX2xvYWRfZXhwbGljaXQoJnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkpOwogICB9CiAKKyAgaW50IGdldF9jbG9jaygpIHsKKyAgICByZXR1cm4gQ09ORF9HRVRfQ0xPQ0soYXRvbWljX2xvYWRfZXhwbGljaXQoJnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkpOworICB9CisKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorICBjaGFyIF9fcmVzZXJ2ZWRbNDRdOworI2VuZGlmCit9OworCitzdGF0aWNfYXNzZXJ0KHNpemVvZihwdGhyZWFkX2NvbmRfdCkgPT0gc2l6ZW9mKHB0aHJlYWRfY29uZF9pbnRlcm5hbF90KSwKKyAgICAgICAgICAgICAgInB0aHJlYWRfY29uZF90IHNob3VsZCBhY3R1YWxseSBiZSBwdGhyZWFkX2NvbmRfaW50ZXJuYWxfdCBpbiBpbXBsZW1lbnRhdGlvbi4iKTsKKworLy8gRm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5IHdpdGggb2xkIHZlcnNpb24gb2YgcHRocmVhZF9jb25kX3QsIHdlIGNhbid0IHVzZSBtb3JlIHN0cmljdCBhbGlnbm1lbnQKKy8vIHRoYW4gNC1ieXRlIGFsaWdubWVudC4KK3N0YXRpY19hc3NlcnQoYWxpZ25vZihwdGhyZWFkX2NvbmRfdCkgPT0gNCwKKyAgICAgICAgICAgICAgInB0aHJlYWRfY29uZF90IHNob3VsZCBmdWxmaWxsIHRoZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnQgb2YgcHRocmVhZF9jb25kX2ludGVybmFsX3QuIik7CisKK3N0YXRpYyBwdGhyZWFkX2NvbmRfaW50ZXJuYWxfdCogX19nZXRfaW50ZXJuYWxfY29uZChwdGhyZWFkX2NvbmRfdCogY29uZF9pbnRlcmZhY2UpIHsKKyAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9jb25kX2ludGVybmFsX3QqPihjb25kX2ludGVyZmFjZSk7Cit9CisKK2ludCBwdGhyZWFkX2NvbmRfaW5pdChwdGhyZWFkX2NvbmRfdCogY29uZF9pbnRlcmZhY2UsIGNvbnN0IHB0aHJlYWRfY29uZGF0dHJfdCogYXR0cikgeworICBwdGhyZWFkX2NvbmRfaW50ZXJuYWxfdCogY29uZCA9IF9fZ2V0X2ludGVybmFsX2NvbmQoY29uZF9pbnRlcmZhY2UpOworCisgIHVuc2lnbmVkIGludCBpbml0X3N0YXRlID0gMDsKKyAgaWYgKGF0dHIgIT0gTlVMTCkgeworICAgIGluaXRfc3RhdGUgPSAoKmF0dHIgJiBDT05EX0ZMQUdTX01BU0spOworICB9CisgIGF0b21pY19pbml0KCZjb25kLT5zdGF0ZSwgaW5pdF9zdGF0ZSk7CisKICAgcmV0dXJuIDA7CiB9CiAKLWludCBwdGhyZWFkX2NvbmRfZGVzdHJveShwdGhyZWFkX2NvbmRfdCogY29uZCkgewotICBjb25kLT52YWx1ZSA9IDB4ZGVhZGMwNGQ7CitpbnQgcHRocmVhZF9jb25kX2Rlc3Ryb3kocHRocmVhZF9jb25kX3QqIGNvbmRfaW50ZXJmYWNlKSB7CisgIHB0aHJlYWRfY29uZF9pbnRlcm5hbF90KiBjb25kID0gX19nZXRfaW50ZXJuYWxfY29uZChjb25kX2ludGVyZmFjZSk7CisgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmY29uZC0+c3RhdGUsIDB4ZGVhZGMwNGQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKICAgcmV0dXJuIDA7CiB9CiAKIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSBwdGhyZWFkX2NvbmRfYnJvYWRjYXN0IGFuZAogLy8gcHRocmVhZF9jb25kX3NpZ25hbCB0byBhdG9taWNhbGx5IGRlY3JlbWVudCB0aGUgY291bnRlcgotLy8gdGhlbiB3YWtlIHVwICdjb3VudGVyJyB0aHJlYWRzLgotc3RhdGljIGludCBfX3B0aHJlYWRfY29uZF9wdWxzZShwdGhyZWFkX2NvbmRfdCogY29uZCwgaW50IGNvdW50ZXIpIHsKLSAgaW50IGZsYWdzID0gKGNvbmQtPnZhbHVlICYgQ09ORF9GTEFHU19NQVNLKTsKLSAgd2hpbGUgKHRydWUpIHsKLSAgICBpbnQgb2xkX3ZhbHVlID0gY29uZC0+dmFsdWU7Ci0gICAgaW50IG5ld192YWx1ZSA9ICgob2xkX3ZhbHVlIC0gQ09ORF9DT1VOVEVSX1NURVApICYgQ09ORF9DT1VOVEVSX01BU0spIHwgZmxhZ3M7Ci0gICAgaWYgKF9fYmlvbmljX2NtcHhjaGcob2xkX3ZhbHVlLCBuZXdfdmFsdWUsICZjb25kLT52YWx1ZSkgPT0gMCkgewotICAgICAgYnJlYWs7Ci0gICAgfQotICB9CisvLyB0aGVuIHdha2UgdXAgdGhyZWFkX2NvdW50IHRocmVhZHMuCitzdGF0aWMgaW50IF9fcHRocmVhZF9jb25kX3B1bHNlKHB0aHJlYWRfY29uZF9pbnRlcm5hbF90KiBjb25kLCBpbnQgdGhyZWFkX2NvdW50KSB7CisgIC8vIFdlIGRvbid0IHVzZSBhIHJlbGVhc2Uvc2VxX2NzdCBmZW5jZSBoZXJlLiBCZWNhdXNlIHB0aHJlYWRfY29uZF93YWl0L3NpZ25hbCBjYW4ndCBiZQorICAvLyB1c2VkIGFzIGEgbWV0aG9kIGZvciBtZW1vcnkgc3luY2hyb25pemF0aW9uIGJ5IGl0c2VsZi4gSXQgc2hvdWxkIGFsd2F5cyBiZSB1c2VkIHdpdGgKKyAgLy8gcHRocmVhZCBtdXRleGVzLiBOb3RlIHRoYXQgU3B1cmlvdXMgd2FrZXVwcyBmcm9tIHB0aHJlYWRfY29uZF93YWl0L3RpbWVkd2FpdCBtYXkgb2NjdXIsCisgIC8vIHNvIHdoZW4gdXNpbmcgY29uZGl0aW9uIHZhcmlhYmxlcyB0aGVyZSBpcyBhbHdheXMgYSBib29sZWFuIHByZWRpY2F0ZSBpbnZvbHZpbmcgc2hhcmVkCisgIC8vIHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBjb25kaXRpb24gd2FpdCB0aGF0IGlzIHRydWUgaWYgdGhlIHRocmVhZCBzaG91bGQgcHJvY2VlZC4KKyAgLy8gSWYgdGhlIHByZWRpY2F0ZSBpcyBzZWVuIHRydWUgYmVmb3JlIGEgY29uZGl0aW9uIHdhaXQsIHB0aHJlYWRfY29uZF93YWl0L3RpbWVkd2FpdCB3aWxsCisgIC8vIG5vdCBiZSBjYWxsZWQuIFRoYXQncyB3aHkgcHRocmVhZF93YWl0L3NpZ25hbCBwYWlyIGNhbid0IGJlIHVzZWQgYXMgYSBtZXRob2QgZm9yIG1lbW9yeQorICAvLyBzeW5jaHJvbml6YXRpb24uIEFuZCBpdCBkb2Vzbid0IGhlbHAgZXZlbiBpZiB3ZSB1c2UgYW55IGZlbmNlIGhlcmUuCiAKLSAgLy8gRW5zdXJlIHRoYXQgYWxsIG1lbW9yeSBhY2Nlc3NlcyBwcmV2aW91c2x5IG1hZGUgYnkgdGhpcyB0aHJlYWQgYXJlCi0gIC8vIHZpc2libGUgdG8gdGhlIHdva2VuIHRocmVhZChzKS4gIE9uIHRoZSBvdGhlciBzaWRlLCB0aGUgIndhaXQiCi0gIC8vIGNvZGUgd2lsbCBpc3N1ZSBhbnkgbmVjZXNzYXJ5IGJhcnJpZXJzIHdoZW4gbG9ja2luZyB0aGUgbXV0ZXguCi0gIC8vCi0gIC8vIFRoaXMgbWF5IG5vdCBzdHJpY3RseSBiZSBuZWNlc3NhcnkgLS0gaWYgdGhlIGNhbGxlciBmb2xsb3dzCi0gIC8vIHJlY29tbWVuZGVkIHByYWN0aWNlIGFuZCBob2xkcyB0aGUgbXV0ZXggYmVmb3JlIHNpZ25hbGluZyB0aGUgY29uZAotICAvLyB2YXIsIHRoZSBtdXRleCBvcHMgd2lsbCBwcm92aWRlIGNvcnJlY3Qgc2VtYW50aWNzLiAgSWYgdGhleSBkb24ndAotICAvLyBob2xkIHRoZSBtdXRleCwgdGhleSdyZSBzdWJqZWN0IHRvIHJhY2UgY29uZGl0aW9ucyBhbnl3YXkuCi0gIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKKyAgLy8gVGhlIGluY3JlYXNlIG9mIHZhbHVlIHNob3VsZCBsZWF2ZSBmbGFncyBhbG9uZSwgZXZlbiBpZiB0aGUgdmFsdWUgY2FuIG92ZXJmbG93cy4KKyAgYXRvbWljX2ZldGNoX2FkZF9leHBsaWNpdCgmY29uZC0+c3RhdGUsIENPTkRfQ09VTlRFUl9TVEVQLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CiAKLSAgX19mdXRleF93YWtlX2V4KCZjb25kLT52YWx1ZSwgQ09ORF9JU19TSEFSRUQoY29uZC0+dmFsdWUpLCBjb3VudGVyKTsKKyAgX19mdXRleF93YWtlX2V4KCZjb25kLT5zdGF0ZSwgY29uZC0+cHJvY2Vzc19zaGFyZWQoKSwgdGhyZWFkX2NvdW50KTsKICAgcmV0dXJuIDA7CiB9CiAKLV9fTElCQ19ISURERU5fXwotaW50IF9fcHRocmVhZF9jb25kX3RpbWVkd2FpdF9yZWxhdGl2ZShwdGhyZWFkX2NvbmRfdCogY29uZCwgcHRocmVhZF9tdXRleF90KiBtdXRleCwgY29uc3QgdGltZXNwZWMqIHJlbHRpbWUpIHsKLSAgaW50IG9sZF92YWx1ZSA9IGNvbmQtPnZhbHVlOworc3RhdGljIGludCBfX3B0aHJlYWRfY29uZF90aW1lZHdhaXRfcmVsYXRpdmUocHRocmVhZF9jb25kX2ludGVybmFsX3QqIGNvbmQsIHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aW1lc3BlYyogcmVsX3RpbWVvdXRfb3JfbnVsbCkgeworICB1bnNpZ25lZCBpbnQgb2xkX3N0YXRlID0gYXRvbWljX2xvYWRfZXhwbGljaXQoJmNvbmQtPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CiAKICAgcHRocmVhZF9tdXRleF91bmxvY2sobXV0ZXgpOwotICBpbnQgc3RhdHVzID0gX19mdXRleF93YWl0X2V4KCZjb25kLT52YWx1ZSwgQ09ORF9JU19TSEFSRUQoY29uZC0+dmFsdWUpLCBvbGRfdmFsdWUsIHJlbHRpbWUpOworICBpbnQgc3RhdHVzID0gX19mdXRleF93YWl0X2V4KCZjb25kLT5zdGF0ZSwgY29uZC0+cHJvY2Vzc19zaGFyZWQoKSwgb2xkX3N0YXRlLCByZWxfdGltZW91dF9vcl9udWxsKTsKICAgcHRocmVhZF9tdXRleF9sb2NrKG11dGV4KTsKIAogICBpZiAoc3RhdHVzID09IC1FVElNRURPVVQpIHsKQEAgLTE2Miw1NiArMTg0LDY4IEBACiAgIHJldHVybiAwOwogfQogCi1fX0xJQkNfSElEREVOX18KLWludCBfX3B0aHJlYWRfY29uZF90aW1lZHdhaXQocHRocmVhZF9jb25kX3QqIGNvbmQsIHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgsIGNvbnN0IHRpbWVzcGVjKiBhYnN0aW1lLCBjbG9ja2lkX3QgY2xvY2spIHsKK3N0YXRpYyBpbnQgX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0KHB0aHJlYWRfY29uZF9pbnRlcm5hbF90KiBjb25kLCBwdGhyZWFkX211dGV4X3QqIG11dGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGltZXNwZWMqIGFic190aW1lb3V0X29yX251bGwsIGNsb2NraWRfdCBjbG9jaykgewogICB0aW1lc3BlYyB0czsKLSAgdGltZXNwZWMqIHRzcDsKKyAgdGltZXNwZWMqIHJlbF90aW1lb3V0ID0gTlVMTDsKIAotICBpZiAoYWJzdGltZSAhPSBOVUxMKSB7Ci0gICAgaWYgKF9fdGltZXNwZWNfZnJvbV9hYnNvbHV0ZSgmdHMsIGFic3RpbWUsIGNsb2NrKSA8IDApIHsKKyAgaWYgKGFic190aW1lb3V0X29yX251bGwgIT0gTlVMTCkgeworICAgIHJlbF90aW1lb3V0ID0gJnRzOworICAgIGlmICghdGltZXNwZWNfZnJvbV9hYnNvbHV0ZV90aW1lc3BlYygqcmVsX3RpbWVvdXQsICphYnNfdGltZW91dF9vcl9udWxsLCBjbG9jaykpIHsKICAgICAgIHJldHVybiBFVElNRURPVVQ7CiAgICAgfQotICAgIHRzcCA9ICZ0czsKLSAgfSBlbHNlIHsKLSAgICB0c3AgPSBOVUxMOwogICB9CiAKLSAgcmV0dXJuIF9fcHRocmVhZF9jb25kX3RpbWVkd2FpdF9yZWxhdGl2ZShjb25kLCBtdXRleCwgdHNwKTsKKyAgcmV0dXJuIF9fcHRocmVhZF9jb25kX3RpbWVkd2FpdF9yZWxhdGl2ZShjb25kLCBtdXRleCwgcmVsX3RpbWVvdXQpOwogfQogCi1pbnQgcHRocmVhZF9jb25kX2Jyb2FkY2FzdChwdGhyZWFkX2NvbmRfdCogY29uZCkgewotICByZXR1cm4gX19wdGhyZWFkX2NvbmRfcHVsc2UoY29uZCwgSU5UX01BWCk7CitpbnQgcHRocmVhZF9jb25kX2Jyb2FkY2FzdChwdGhyZWFkX2NvbmRfdCogY29uZF9pbnRlcmZhY2UpIHsKKyAgcmV0dXJuIF9fcHRocmVhZF9jb25kX3B1bHNlKF9fZ2V0X2ludGVybmFsX2NvbmQoY29uZF9pbnRlcmZhY2UpLCBJTlRfTUFYKTsKIH0KIAotaW50IHB0aHJlYWRfY29uZF9zaWduYWwocHRocmVhZF9jb25kX3QqIGNvbmQpIHsKLSAgcmV0dXJuIF9fcHRocmVhZF9jb25kX3B1bHNlKGNvbmQsIDEpOworaW50IHB0aHJlYWRfY29uZF9zaWduYWwocHRocmVhZF9jb25kX3QqIGNvbmRfaW50ZXJmYWNlKSB7CisgIHJldHVybiBfX3B0aHJlYWRfY29uZF9wdWxzZShfX2dldF9pbnRlcm5hbF9jb25kKGNvbmRfaW50ZXJmYWNlKSwgMSk7CiB9CiAKLWludCBwdGhyZWFkX2NvbmRfd2FpdChwdGhyZWFkX2NvbmRfdCogY29uZCwgcHRocmVhZF9tdXRleF90KiBtdXRleCkgewotICByZXR1cm4gX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0KGNvbmQsIG11dGV4LCBOVUxMLCBDT05EX0dFVF9DTE9DSyhjb25kLT52YWx1ZSkpOworaW50IHB0aHJlYWRfY29uZF93YWl0KHB0aHJlYWRfY29uZF90KiBjb25kX2ludGVyZmFjZSwgcHRocmVhZF9tdXRleF90KiBtdXRleCkgeworICBwdGhyZWFkX2NvbmRfaW50ZXJuYWxfdCogY29uZCA9IF9fZ2V0X2ludGVybmFsX2NvbmQoY29uZF9pbnRlcmZhY2UpOworICByZXR1cm4gX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0KGNvbmQsIG11dGV4LCBOVUxMLCBjb25kLT5nZXRfY2xvY2soKSk7CiB9CiAKLWludCBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KHB0aHJlYWRfY29uZF90ICpjb25kLCBwdGhyZWFkX211dGV4X3QgKiBtdXRleCwgY29uc3QgdGltZXNwZWMgKmFic3RpbWUpIHsKLSAgcmV0dXJuIF9fcHRocmVhZF9jb25kX3RpbWVkd2FpdChjb25kLCBtdXRleCwgYWJzdGltZSwgQ09ORF9HRVRfQ0xPQ0soY29uZC0+dmFsdWUpKTsKK2ludCBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KHB0aHJlYWRfY29uZF90ICpjb25kX2ludGVyZmFjZSwgcHRocmVhZF9tdXRleF90ICogbXV0ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aW1lc3BlYyAqYWJzdGltZSkgeworCisgIHB0aHJlYWRfY29uZF9pbnRlcm5hbF90KiBjb25kID0gX19nZXRfaW50ZXJuYWxfY29uZChjb25kX2ludGVyZmFjZSk7CisgIHJldHVybiBfX3B0aHJlYWRfY29uZF90aW1lZHdhaXQoY29uZCwgbXV0ZXgsIGFic3RpbWUsIGNvbmQtPmdldF9jbG9jaygpKTsKIH0KIAogI2lmICFkZWZpbmVkKF9fTFA2NF9fKQogLy8gVE9ETzogdGhpcyBleGlzdHMgb25seSBmb3IgYmFja3dhcmQgYmluYXJ5IGNvbXBhdGliaWxpdHkgb24gMzIgYml0IHBsYXRmb3Jtcy4KLWV4dGVybiAiQyIgaW50IHB0aHJlYWRfY29uZF90aW1lZHdhaXRfbW9ub3RvbmljKHB0aHJlYWRfY29uZF90KiBjb25kLCBwdGhyZWFkX211dGV4X3QqIG11dGV4LCBjb25zdCB0aW1lc3BlYyogYWJzdGltZSkgewotICByZXR1cm4gX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0KGNvbmQsIG11dGV4LCBhYnN0aW1lLCBDTE9DS19NT05PVE9OSUMpOworZXh0ZXJuICJDIiBpbnQgcHRocmVhZF9jb25kX3RpbWVkd2FpdF9tb25vdG9uaWMocHRocmVhZF9jb25kX3QqIGNvbmRfaW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRocmVhZF9tdXRleF90KiBtdXRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dCkgeworCisgIHJldHVybiBfX3B0aHJlYWRfY29uZF90aW1lZHdhaXQoX19nZXRfaW50ZXJuYWxfY29uZChjb25kX2ludGVyZmFjZSksIG11dGV4LCBhYnNfdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9DS19NT05PVE9OSUMpOwogfQogCi1leHRlcm4gIkMiIGludCBwdGhyZWFkX2NvbmRfdGltZWR3YWl0X21vbm90b25pY19ucChwdGhyZWFkX2NvbmRfdCogY29uZCwgcHRocmVhZF9tdXRleF90KiBtdXRleCwgY29uc3QgdGltZXNwZWMqIGFic3RpbWUpIHsKLSAgcmV0dXJuIF9fcHRocmVhZF9jb25kX3RpbWVkd2FpdChjb25kLCBtdXRleCwgYWJzdGltZSwgQ0xPQ0tfTU9OT1RPTklDKTsKK2V4dGVybiAiQyIgaW50IHB0aHJlYWRfY29uZF90aW1lZHdhaXRfbW9ub3RvbmljX25wKHB0aHJlYWRfY29uZF90KiBjb25kX2ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aW1lc3BlYyogYWJzX3RpbWVvdXQpIHsKKyAgcmV0dXJuIHB0aHJlYWRfY29uZF90aW1lZHdhaXRfbW9ub3RvbmljKGNvbmRfaW50ZXJmYWNlLCBtdXRleCwgYWJzX3RpbWVvdXQpOwogfQogCi1leHRlcm4gIkMiIGludCBwdGhyZWFkX2NvbmRfdGltZWR3YWl0X3JlbGF0aXZlX25wKHB0aHJlYWRfY29uZF90KiBjb25kLCBwdGhyZWFkX211dGV4X3QqIG11dGV4LCBjb25zdCB0aW1lc3BlYyogcmVsdGltZSkgewotICByZXR1cm4gX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0X3JlbGF0aXZlKGNvbmQsIG11dGV4LCByZWx0aW1lKTsKK2V4dGVybiAiQyIgaW50IHB0aHJlYWRfY29uZF90aW1lZHdhaXRfcmVsYXRpdmVfbnAocHRocmVhZF9jb25kX3QqIGNvbmRfaW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdGhyZWFkX211dGV4X3QqIG11dGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aW1lc3BlYyogcmVsX3RpbWVvdXQpIHsKKworICByZXR1cm4gX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0X3JlbGF0aXZlKF9fZ2V0X2ludGVybmFsX2NvbmQoY29uZF9pbnRlcmZhY2UpLCBtdXRleCwgcmVsX3RpbWVvdXQpOwogfQogCi1leHRlcm4gIkMiIGludCBwdGhyZWFkX2NvbmRfdGltZW91dF9ucChwdGhyZWFkX2NvbmRfdCogY29uZCwgcHRocmVhZF9tdXRleF90KiBtdXRleCwgdW5zaWduZWQgbXMpIHsKK2V4dGVybiAiQyIgaW50IHB0aHJlYWRfY29uZF90aW1lb3V0X25wKHB0aHJlYWRfY29uZF90KiBjb25kX2ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgsIHVuc2lnbmVkIG1zKSB7CiAgIHRpbWVzcGVjIHRzOwogICB0aW1lc3BlY19mcm9tX21zKHRzLCBtcyk7Ci0gIHJldHVybiBfX3B0aHJlYWRfY29uZF90aW1lZHdhaXRfcmVsYXRpdmUoY29uZCwgbXV0ZXgsICZ0cyk7CisgIHJldHVybiBwdGhyZWFkX2NvbmRfdGltZWR3YWl0X3JlbGF0aXZlX25wKGNvbmRfaW50ZXJmYWNlLCBtdXRleCwgJnRzKTsKIH0KICNlbmRpZiAvLyAhZGVmaW5lZChfX0xQNjRfXykKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfY3JlYXRlLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfY3JlYXRlLmNwcAppbmRleCBmYzhhZmEyLi5kYmRiMTgwIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX2NyZWF0ZS5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9jcmVhdGUuY3BwCkBAIC0yOSwxMiArMjksMTQgQEAKICNpbmNsdWRlIDxwdGhyZWFkLmg+CiAKICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKICNpbmNsdWRlICJwdGhyZWFkX2ludGVybmFsLmgiCiAKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19tYWNyb3MuaCIKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19wcmN0bC5oIgogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3NzcC5oIgogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3Rscy5oIgogI2luY2x1ZGUgInByaXZhdGUvbGliY19sb2dnaW5nLmgiCkBAIC01MSwzMyArNTMsNTIgQEAKIAogLy8gVGhpcyBjb2RlIGlzIHVzZWQgYm90aCBieSBlYWNoIG5ldyBwdGhyZWFkIGFuZCB0aGUgY29kZSB0aGF0IGluaXRpYWxpemVzIHRoZSBtYWluIHRocmVhZC4KIHZvaWQgX19pbml0X3RscyhwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkgewotICBpZiAodGhyZWFkLT51c2VyX2FsbG9jYXRlZF9zdGFjaygpKSB7Ci0gICAgLy8gV2UgZG9uJ3Qga25vdyB3aGVyZSB0aGUgdXNlciBnb3QgdGhlaXIgc3RhY2ssIHNvIGFzc3VtZSB0aGUgd29yc3QgYW5kIHplcm8gdGhlIFRMUyBhcmVhLgotICAgIG1lbXNldCgmdGhyZWFkLT50bHNbMF0sIDAsIEJJT05JQ19UTFNfU0xPVFMgKiBzaXplb2Yodm9pZCopKTsKKyAgaWYgKHRocmVhZC0+bW1hcF9zaXplID09IDApIHsKKyAgICAvLyBJZiB0aGUgVExTIGFyZWEgd2FzIG5vdCBhbGxvY2F0ZWQgYnkgbW1hcCgpLCBpdCBtYXkgbm90IGhhdmUgYmVlbiBjbGVhcmVkIHRvIHplcm8uCisgICAgLy8gU28gYXNzdW1lIHRoZSB3b3JzdCBhbmQgemVybyB0aGUgVExTIGFyZWEuCisgICAgbWVtc2V0KHRocmVhZC0+dGxzLCAwLCBzaXplb2YodGhyZWFkLT50bHMpKTsKKyAgICBtZW1zZXQodGhyZWFkLT5rZXlfZGF0YSwgMCwgc2l6ZW9mKHRocmVhZC0+a2V5X2RhdGEpKTsKICAgfQogCiAgIC8vIFNsb3QgMCBtdXN0IHBvaW50IHRvIGl0c2VsZi4gVGhlIHg4NiBMaW51eCBrZXJuZWwgcmVhZHMgdGhlIFRMUyBmcm9tICVmczowLgogICB0aHJlYWQtPnRsc1tUTFNfU0xPVF9TRUxGXSA9IHRocmVhZC0+dGxzOwogICB0aHJlYWQtPnRsc1tUTFNfU0xPVF9USFJFQURfSURdID0gdGhyZWFkOwogICAvLyBHQ0MgbG9va3MgaW4gdGhlIFRMUyBmb3IgdGhlIHN0YWNrIGd1YXJkIG9uIHg4Niwgc28gY29weSBpdCB0aGVyZSBmcm9tIG91ciBnbG9iYWwuCi0gIHRocmVhZC0+dGxzW1RMU19TTE9UX1NUQUNLX0dVQVJEXSA9ICh2b2lkKikgX19zdGFja19jaGtfZ3VhcmQ7CisgIHRocmVhZC0+dGxzW1RMU19TTE9UX1NUQUNLX0dVQVJEXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9fc3RhY2tfY2hrX2d1YXJkKTsKIH0KIAogdm9pZCBfX2luaXRfYWx0ZXJuYXRlX3NpZ25hbF9zdGFjayhwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkgewogICAvLyBDcmVhdGUgYW5kIHNldCBhbiBhbHRlcm5hdGUgc2lnbmFsIHN0YWNrLgotICBzdGFja190IHNzOwotICBzcy5zc19zcCA9IG1tYXAoTlVMTCwgU0lHU1RLU1osIFBST1RfUkVBRHxQUk9UX1dSSVRFLCBNQVBfUFJJVkFURXxNQVBfQU5PTllNT1VTLCAtMSwgMCk7Ci0gIGlmIChzcy5zc19zcCAhPSBNQVBfRkFJTEVEKSB7Ci0gICAgc3Muc3Nfc2l6ZSA9IFNJR1NUS1NaOworICB2b2lkKiBzdGFja19iYXNlID0gbW1hcChOVUxMLCBTSUdOQUxfU1RBQ0tfU0laRSwgUFJPVF9SRUFEfFBST1RfV1JJVEUsIE1BUF9QUklWQVRFfE1BUF9BTk9OWU1PVVMsIC0xLCAwKTsKKyAgaWYgKHN0YWNrX2Jhc2UgIT0gTUFQX0ZBSUxFRCkgeworCisgICAgLy8gQ3JlYXRlIGEgZ3VhcmQgcGFnZSB0byBjYXRjaCBzdGFjayBvdmVyZmxvd3MgaW4gc2lnbmFsIGhhbmRsZXJzLgorICAgIGlmIChtcHJvdGVjdChzdGFja19iYXNlLCBQQUdFX1NJWkUsIFBST1RfTk9ORSkgPT0gLTEpIHsKKyAgICAgIG11bm1hcChzdGFja19iYXNlLCBTSUdOQUxfU1RBQ0tfU0laRSk7CisgICAgICByZXR1cm47CisgICAgfQorICAgIHN0YWNrX3Qgc3M7CisgICAgc3Muc3Nfc3AgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihzdGFja19iYXNlKSArIFBBR0VfU0laRTsKKyAgICBzcy5zc19zaXplID0gU0lHTkFMX1NUQUNLX1NJWkUgLSBQQUdFX1NJWkU7CiAgICAgc3Muc3NfZmxhZ3MgPSAwOwogICAgIHNpZ2FsdHN0YWNrKCZzcywgTlVMTCk7Ci0gICAgdGhyZWFkLT5hbHRlcm5hdGVfc2lnbmFsX3N0YWNrID0gc3Muc3Nfc3A7CisgICAgdGhyZWFkLT5hbHRlcm5hdGVfc2lnbmFsX3N0YWNrID0gc3RhY2tfYmFzZTsKKworICAgIC8vIFdlIGNhbiBvbmx5IHVzZSBjb25zdCBzdGF0aWMgYWxsb2NhdGVkIHN0cmluZyBmb3IgbWFwcGVkIHJlZ2lvbiBuYW1lLCBhcyBBbmRyb2lkIGtlcm5lbAorICAgIC8vIHVzZXMgdGhlIHN0cmluZyBwb2ludGVyIGRpcmVjdGx5IHdoZW4gZHVtcGluZyAvcHJvYy9waWQvbWFwcy4KKyAgICBwcmN0bChQUl9TRVRfVk1BLCBQUl9TRVRfVk1BX0FOT05fTkFNRSwgc3Muc3Nfc3AsIHNzLnNzX3NpemUsICJ0aHJlYWQgc2lnbmFsIHN0YWNrIik7CiAgIH0KIH0KIAotaW50IF9faW5pdF90aHJlYWQocHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQsIGJvb2wgYWRkX3RvX3RocmVhZF9saXN0KSB7CitpbnQgX19pbml0X3RocmVhZChwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkgewogICBpbnQgZXJyb3IgPSAwOwogCisgIGlmIChfX3ByZWRpY3RfdHJ1ZSgodGhyZWFkLT5hdHRyLmZsYWdzICYgUFRIUkVBRF9BVFRSX0ZMQUdfREVUQUNIRUQpID09IDApKSB7CisgICAgYXRvbWljX2luaXQoJnRocmVhZC0+am9pbl9zdGF0ZSwgVEhSRUFEX05PVF9KT0lORUQpOworICB9IGVsc2UgeworICAgIGF0b21pY19pbml0KCZ0aHJlYWQtPmpvaW5fc3RhdGUsIFRIUkVBRF9ERVRBQ0hFRCk7CisgIH0KKwogICAvLyBTZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5L3ByaW9yaXR5IG9mIHRoZSB0aHJlYWQuCiAgIGlmICh0aHJlYWQtPmF0dHIuc2NoZWRfcG9saWN5ICE9IFNDSEVEX05PUk1BTCkgewogICAgIHNjaGVkX3BhcmFtIHBhcmFtOwpAQCAtOTQsMzYgKzExNSw3MyBAQAogCiAgIHRocmVhZC0+Y2xlYW51cF9zdGFjayA9IE5VTEw7CiAKLSAgaWYgKGFkZF90b190aHJlYWRfbGlzdCkgewotICAgIF9wdGhyZWFkX2ludGVybmFsX2FkZCh0aHJlYWQpOwotICB9Ci0KICAgcmV0dXJuIGVycm9yOwogfQogCi1zdGF0aWMgdm9pZCogX19jcmVhdGVfdGhyZWFkX3N0YWNrKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKSB7CitzdGF0aWMgdm9pZCogX19jcmVhdGVfdGhyZWFkX21hcHBlZF9zcGFjZShzaXplX3QgbW1hcF9zaXplLCBzaXplX3Qgc3RhY2tfZ3VhcmRfc2l6ZSkgewogICAvLyBDcmVhdGUgYSBuZXcgcHJpdmF0ZSBhbm9ueW1vdXMgbWFwLgogICBpbnQgcHJvdCA9IFBST1RfUkVBRCB8IFBST1RfV1JJVEU7CiAgIGludCBmbGFncyA9IE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUyB8IE1BUF9OT1JFU0VSVkU7Ci0gIHZvaWQqIHN0YWNrID0gbW1hcChOVUxMLCB0aHJlYWQtPmF0dHIuc3RhY2tfc2l6ZSwgcHJvdCwgZmxhZ3MsIC0xLCAwKTsKLSAgaWYgKHN0YWNrID09IE1BUF9GQUlMRUQpIHsKKyAgdm9pZCogc3BhY2UgPSBtbWFwKE5VTEwsIG1tYXBfc2l6ZSwgcHJvdCwgZmxhZ3MsIC0xLCAwKTsKKyAgaWYgKHNwYWNlID09IE1BUF9GQUlMRUQpIHsKICAgICBfX2xpYmNfZm9ybWF0X2xvZyhBTkRST0lEX0xPR19XQVJOLAogICAgICAgICAgICAgICAgICAgICAgICJsaWJjIiwKLSAgICAgICAgICAgICAgICAgICAgICAicHRocmVhZF9jcmVhdGUgZmFpbGVkOiBjb3VsZG4ndCBhbGxvY2F0ZSAlemQtYnl0ZSBzdGFjazogJXMiLAotICAgICAgICAgICAgICAgICAgICAgIHRocmVhZC0+YXR0ci5zdGFja19zaXplLCBzdHJlcnJvcihlcnJubykpOworICAgICAgICAgICAgICAgICAgICAgICJwdGhyZWFkX2NyZWF0ZSBmYWlsZWQ6IGNvdWxkbid0IGFsbG9jYXRlICV6dS1ieXRlcyBtYXBwZWQgc3BhY2U6ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICBtbWFwX3NpemUsIHN0cmVycm9yKGVycm5vKSk7CiAgICAgcmV0dXJuIE5VTEw7CiAgIH0KIAotICAvLyBTZXQgdGhlIGd1YXJkIHJlZ2lvbiBhdCB0aGUgZW5kIG9mIHRoZSBzdGFjayB0byBQUk9UX05PTkUuCi0gIGlmIChtcHJvdGVjdChzdGFjaywgdGhyZWFkLT5hdHRyLmd1YXJkX3NpemUsIFBST1RfTk9ORSkgPT0gLTEpIHsKKyAgLy8gU3RhY2sgaXMgYXQgdGhlIGxvd2VyIGVuZCBvZiBtYXBwZWQgc3BhY2UsIHN0YWNrIGd1YXJkIHJlZ2lvbiBpcyBhdCB0aGUgbG93ZXIgZW5kIG9mIHN0YWNrLgorICAvLyBTZXQgdGhlIHN0YWNrIGd1YXJkIHJlZ2lvbiB0byBQUk9UX05PTkUsIHNvIHdlIGNhbiBkZXRlY3QgdGhyZWFkIHN0YWNrIG92ZXJmbG93LgorICBpZiAobXByb3RlY3Qoc3BhY2UsIHN0YWNrX2d1YXJkX3NpemUsIFBST1RfTk9ORSkgPT0gLTEpIHsKICAgICBfX2xpYmNfZm9ybWF0X2xvZyhBTkRST0lEX0xPR19XQVJOLCAibGliYyIsCi0gICAgICAgICAgICAgICAgICAgICAgInB0aHJlYWRfY3JlYXRlIGZhaWxlZDogY291bGRuJ3QgbXByb3RlY3QgUFJPVF9OT05FICV6ZC1ieXRlIHN0YWNrIGd1YXJkIHJlZ2lvbjogJXMiLAotICAgICAgICAgICAgICAgICAgICAgIHRocmVhZC0+YXR0ci5ndWFyZF9zaXplLCBzdHJlcnJvcihlcnJubykpOwotICAgIG11bm1hcChzdGFjaywgdGhyZWFkLT5hdHRyLnN0YWNrX3NpemUpOworICAgICAgICAgICAgICAgICAgICAgICJwdGhyZWFkX2NyZWF0ZSBmYWlsZWQ6IGNvdWxkbid0IG1wcm90ZWN0IFBST1RfTk9ORSAlenUtYnl0ZSBzdGFjayBndWFyZCByZWdpb246ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICBzdGFja19ndWFyZF9zaXplLCBzdHJlcnJvcihlcnJubykpOworICAgIG11bm1hcChzcGFjZSwgbW1hcF9zaXplKTsKICAgICByZXR1cm4gTlVMTDsKICAgfQogCi0gIHJldHVybiBzdGFjazsKKyAgcmV0dXJuIHNwYWNlOworfQorCitzdGF0aWMgaW50IF9fYWxsb2NhdGVfdGhyZWFkKHB0aHJlYWRfYXR0cl90KiBhdHRyLCBwdGhyZWFkX2ludGVybmFsX3QqKiB0aHJlYWRwLCB2b2lkKiogY2hpbGRfc3RhY2spIHsKKyAgc2l6ZV90IG1tYXBfc2l6ZTsKKyAgdWludDhfdCogc3RhY2tfdG9wOworCisgIGlmIChhdHRyLT5zdGFja19iYXNlID09IE5VTEwpIHsKKyAgICAvLyBUaGUgY2FsbGVyIGRpZG4ndCBwcm92aWRlIGEgc3RhY2ssIHNvIGFsbG9jYXRlIG9uZS4KKyAgICAvLyBNYWtlIHN1cmUgdGhlIHN0YWNrIHNpemUgYW5kIGd1YXJkIHNpemUgYXJlIG11bHRpcGxlcyBvZiBQQUdFX1NJWkUuCisgICAgbW1hcF9zaXplID0gQklPTklDX0FMSUdOKGF0dHItPnN0YWNrX3NpemUgKyBzaXplb2YocHRocmVhZF9pbnRlcm5hbF90KSwgUEFHRV9TSVpFKTsKKyAgICBhdHRyLT5ndWFyZF9zaXplID0gQklPTklDX0FMSUdOKGF0dHItPmd1YXJkX3NpemUsIFBBR0VfU0laRSk7CisgICAgYXR0ci0+c3RhY2tfYmFzZSA9IF9fY3JlYXRlX3RocmVhZF9tYXBwZWRfc3BhY2UobW1hcF9zaXplLCBhdHRyLT5ndWFyZF9zaXplKTsKKyAgICBpZiAoYXR0ci0+c3RhY2tfYmFzZSA9PSBOVUxMKSB7CisgICAgICByZXR1cm4gRUFHQUlOOworICAgIH0KKyAgICBzdGFja190b3AgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihhdHRyLT5zdGFja19iYXNlKSArIG1tYXBfc2l6ZTsKKyAgfSBlbHNlIHsKKyAgICAvLyBSZW1lbWJlciB0aGUgbW1hcCBzaXplIGlzIHplcm8gYW5kIHdlIGRvbid0IG5lZWQgdG8gZnJlZSBpdC4KKyAgICBtbWFwX3NpemUgPSAwOworICAgIHN0YWNrX3RvcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGF0dHItPnN0YWNrX2Jhc2UpICsgYXR0ci0+c3RhY2tfc2l6ZTsKKyAgfQorCisgIC8vIE1hcHBlZCBzcGFjZShvciB1c2VyIGFsbG9jYXRlZCBzdGFjaykgaXMgdXNlZCBmb3I6CisgIC8vICAgcHRocmVhZF9pbnRlcm5hbF90CisgIC8vICAgdGhyZWFkIHN0YWNrIChpbmNsdWRpbmcgZ3VhcmQgcGFnZSkKKworICAvLyBUbyBzYWZlbHkgYWNjZXNzIHRoZSBwdGhyZWFkX2ludGVybmFsX3QgYW5kIHRocmVhZCBzdGFjaywgd2UgbmVlZCB0byBmaW5kIGEgMTYtYnl0ZSBhbGlnbmVkIGJvdW5kYXJ5LgorICBzdGFja190b3AgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPigKKyAgICAgICAgICAgICAgICAocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHN0YWNrX3RvcCkgLSBzaXplb2YocHRocmVhZF9pbnRlcm5hbF90KSkgJiB+MHhmKTsKKworICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9pbnRlcm5hbF90Kj4oc3RhY2tfdG9wKTsKKyAgYXR0ci0+c3RhY2tfc2l6ZSA9IHN0YWNrX3RvcCAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGF0dHItPnN0YWNrX2Jhc2UpOworCisgIHRocmVhZC0+bW1hcF9zaXplID0gbW1hcF9zaXplOworICB0aHJlYWQtPmF0dHIgPSAqYXR0cjsKKyAgX19pbml0X3Rscyh0aHJlYWQpOworCisgICp0aHJlYWRwID0gdGhyZWFkOworICAqY2hpbGRfc3RhY2sgPSBzdGFja190b3A7CisgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IF9fcHRocmVhZF9zdGFydCh2b2lkKiBhcmcpIHsKQEAgLTE1OCw0NCArMjE2LDIxIEBACiAgIC8vIEluZm9ybSB0aGUgcmVzdCBvZiB0aGUgQyBsaWJyYXJ5IHRoYXQgYXQgbGVhc3Qgb25lIHRocmVhZCB3YXMgY3JlYXRlZC4KICAgX19pc3RocmVhZGVkID0gMTsKIAotICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9pbnRlcm5hbF90Kj4oY2FsbG9jKHNpemVvZigqdGhyZWFkKSwgMSkpOwotICBpZiAodGhyZWFkID09IE5VTEwpIHsKLSAgICBfX2xpYmNfZm9ybWF0X2xvZyhBTkRST0lEX0xPR19XQVJOLCAibGliYyIsICJwdGhyZWFkX2NyZWF0ZSBmYWlsZWQ6IGNvdWxkbid0IGFsbG9jYXRlIHRocmVhZCIpOwotICAgIHJldHVybiBFQUdBSU47Ci0gIH0KLQorICBwdGhyZWFkX2F0dHJfdCB0aHJlYWRfYXR0cjsKICAgaWYgKGF0dHIgPT0gTlVMTCkgewotICAgIHB0aHJlYWRfYXR0cl9pbml0KCZ0aHJlYWQtPmF0dHIpOworICAgIHB0aHJlYWRfYXR0cl9pbml0KCZ0aHJlYWRfYXR0cik7CiAgIH0gZWxzZSB7Ci0gICAgdGhyZWFkLT5hdHRyID0gKmF0dHI7CisgICAgdGhyZWFkX2F0dHIgPSAqYXR0cjsKICAgICBhdHRyID0gTlVMTDsgLy8gUHJldmVudCBtaXN1c2UgYmVsb3cuCiAgIH0KIAotICAvLyBNYWtlIHN1cmUgdGhlIHN0YWNrIHNpemUgYW5kIGd1YXJkIHNpemUgYXJlIG11bHRpcGxlcyBvZiBQQUdFX1NJWkUuCi0gIHRocmVhZC0+YXR0ci5zdGFja19zaXplID0gQklPTklDX0FMSUdOKHRocmVhZC0+YXR0ci5zdGFja19zaXplLCBQQUdFX1NJWkUpOwotICB0aHJlYWQtPmF0dHIuZ3VhcmRfc2l6ZSA9IEJJT05JQ19BTElHTih0aHJlYWQtPmF0dHIuZ3VhcmRfc2l6ZSwgUEFHRV9TSVpFKTsKLQotICBpZiAodGhyZWFkLT5hdHRyLnN0YWNrX2Jhc2UgPT0gTlVMTCkgewotICAgIC8vIFRoZSBjYWxsZXIgZGlkbid0IHByb3ZpZGUgYSBzdGFjaywgc28gYWxsb2NhdGUgb25lLgotICAgIHRocmVhZC0+YXR0ci5zdGFja19iYXNlID0gX19jcmVhdGVfdGhyZWFkX3N0YWNrKHRocmVhZCk7Ci0gICAgaWYgKHRocmVhZC0+YXR0ci5zdGFja19iYXNlID09IE5VTEwpIHsKLSAgICAgIGZyZWUodGhyZWFkKTsKLSAgICAgIHJldHVybiBFQUdBSU47Ci0gICAgfQotICB9IGVsc2UgewotICAgIC8vIFRoZSBjYWxsZXIgZGlkIHByb3ZpZGUgYSBzdGFjaywgc28gcmVtZW1iZXIgd2UncmUgbm90IHN1cHBvc2VkIHRvIGZyZWUgaXQuCi0gICAgdGhyZWFkLT5hdHRyLmZsYWdzIHw9IFBUSFJFQURfQVRUUl9GTEFHX1VTRVJfQUxMT0NBVEVEX1NUQUNLOworICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IE5VTEw7CisgIHZvaWQqIGNoaWxkX3N0YWNrID0gTlVMTDsKKyAgaW50IHJlc3VsdCA9IF9fYWxsb2NhdGVfdGhyZWFkKCZ0aHJlYWRfYXR0ciwgJnRocmVhZCwgJmNoaWxkX3N0YWNrKTsKKyAgaWYgKHJlc3VsdCAhPSAwKSB7CisgICAgcmV0dXJuIHJlc3VsdDsKICAgfQogCi0gIC8vIE1ha2Ugcm9vbSBmb3IgdGhlIFRMUyBhcmVhLgotICAvLyBUaGUgY2hpbGQgc3RhY2sgaXMgdGhlIHNhbWUgYWRkcmVzcywganVzdCBncm93aW5nIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24uCi0gIC8vIEF0IG9mZnNldHMgPj0gMCwgd2UgaGF2ZSB0aGUgVExTIHNsb3RzLgotICAvLyBBdCBvZmZzZXRzIDwgMCwgd2UgaGF2ZSB0aGUgY2hpbGQgc3RhY2suCi0gIHRocmVhZC0+dGxzID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHRocmVhZC0+YXR0ci5zdGFja19iYXNlKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocmVhZC0+YXR0ci5zdGFja19zaXplIC0gQklPTklDX1RMU19TTE9UUyAqIHNpemVvZih2b2lkKikpOwotICB2b2lkKiBjaGlsZF9zdGFjayA9IHRocmVhZC0+dGxzOwotICBfX2luaXRfdGxzKHRocmVhZCk7Ci0KICAgLy8gQ3JlYXRlIGEgbXV0ZXggZm9yIHRoZSB0aHJlYWQgaW4gVExTIHRvIHdhaXQgb24gb25jZSBpdCBzdGFydHMgc28gd2UgY2FuIGtlZXAKICAgLy8gaXQgZnJvbSBkb2luZyBhbnl0aGluZyB1bnRpbCBhZnRlciB3ZSBub3RpZnkgdGhlIGRlYnVnZ2VyIGFib3V0IGl0CiAgIC8vCkBAIC0yMTIsNyArMjQ3LDcgQEAKIAogICBpbnQgZmxhZ3MgPSBDTE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfCBDTE9ORV9TSUdIQU5EIHwgQ0xPTkVfVEhSRUFEIHwgQ0xPTkVfU1lTVlNFTSB8CiAgICAgICBDTE9ORV9TRVRUTFMgfCBDTE9ORV9QQVJFTlRfU0VUVElEIHwgQ0xPTkVfQ0hJTERfQ0xFQVJUSUQ7Ci0gIHZvaWQqIHRscyA9IHRocmVhZC0+dGxzOworICB2b2lkKiB0bHMgPSByZWludGVycHJldF9jYXN0PHZvaWQqPih0aHJlYWQtPnRscyk7CiAjaWYgZGVmaW5lZChfX2kzODZfXykKICAgLy8gT24geDg2IChidXQgbm90IHg4Ni02NCksIENMT05FX1NFVFRMUyB0YWtlcyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgdXNlcl9kZXNjIHJhdGhlciB0aGFuCiAgIC8vIGEgcG9pbnRlciB0byB0aGUgVExTIGl0c2VsZi4KQEAgLTIyNywyNiArMjYyLDI2IEBACiAgICAgLy8gYmUgdW5ibG9ja2VkLCBidXQgd2UncmUgYWJvdXQgdG8gdW5tYXAgdGhlIG1lbW9yeSB0aGUgbXV0ZXggaXMgc3RvcmVkIGluLCBzbyB0aGlzIHNlcnZlcyBhcyBhCiAgICAgLy8gcmVtaW5kZXIgdGhhdCB5b3UgY2FuJ3QgcmV3cml0ZSB0aGlzIGZ1bmN0aW9uIHRvIHVzZSBhIFNjb3BlZFB0aHJlYWRNdXRleExvY2tlci4KICAgICBwdGhyZWFkX211dGV4X3VubG9jaygmdGhyZWFkLT5zdGFydHVwX2hhbmRzaGFrZV9tdXRleCk7Ci0gICAgaWYgKCF0aHJlYWQtPnVzZXJfYWxsb2NhdGVkX3N0YWNrKCkpIHsKLSAgICAgIG11bm1hcCh0aHJlYWQtPmF0dHIuc3RhY2tfYmFzZSwgdGhyZWFkLT5hdHRyLnN0YWNrX3NpemUpOworICAgIGlmICh0aHJlYWQtPm1tYXBfc2l6ZSAhPSAwKSB7CisgICAgICBtdW5tYXAodGhyZWFkLT5hdHRyLnN0YWNrX2Jhc2UsIHRocmVhZC0+bW1hcF9zaXplKTsKICAgICB9Ci0gICAgZnJlZSh0aHJlYWQpOwogICAgIF9fbGliY19mb3JtYXRfbG9nKEFORFJPSURfTE9HX1dBUk4sICJsaWJjIiwgInB0aHJlYWRfY3JlYXRlIGZhaWxlZDogY2xvbmUgZmFpbGVkOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7CiAgICAgcmV0dXJuIGNsb25lX2Vycm5vOwogICB9CiAKLSAgaW50IGluaXRfZXJybm8gPSBfX2luaXRfdGhyZWFkKHRocmVhZCwgdHJ1ZSk7CisgIGludCBpbml0X2Vycm5vID0gX19pbml0X3RocmVhZCh0aHJlYWQpOwogICBpZiAoaW5pdF9lcnJubyAhPSAwKSB7CiAgICAgLy8gTWFyayB0aGUgdGhyZWFkIGRldGFjaGVkIGFuZCByZXBsYWNlIGl0cyBzdGFydF9yb3V0aW5lIHdpdGggYSBuby1vcC4KICAgICAvLyBMZXR0aW5nIHRoZSB0aHJlYWQgcnVuIGlzIHRoZSBlYXNpZXN0IHdheSB0byBjbGVhbiB1cCBpdHMgcmVzb3VyY2VzLgotICAgIHRocmVhZC0+YXR0ci5mbGFncyB8PSBQVEhSRUFEX0FUVFJfRkxBR19ERVRBQ0hFRDsKKyAgICBhdG9taWNfc3RvcmUoJnRocmVhZC0+am9pbl9zdGF0ZSwgVEhSRUFEX0RFVEFDSEVEKTsKKyAgICBfX3B0aHJlYWRfaW50ZXJuYWxfYWRkKHRocmVhZCk7CiAgICAgdGhyZWFkLT5zdGFydF9yb3V0aW5lID0gX19kb19ub3RoaW5nOwogICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0aHJlYWQtPnN0YXJ0dXBfaGFuZHNoYWtlX211dGV4KTsKICAgICByZXR1cm4gaW5pdF9lcnJubzsKICAgfQogCiAgIC8vIFB1Ymxpc2ggdGhlIHB0aHJlYWRfdCBhbmQgdW5sb2NrIHRoZSBtdXRleCB0byBsZXQgdGhlIG5ldyB0aHJlYWQgc3RhcnQgcnVubmluZy4KLSAgKnRocmVhZF9vdXQgPSByZWludGVycHJldF9jYXN0PHB0aHJlYWRfdD4odGhyZWFkKTsKKyAgKnRocmVhZF9vdXQgPSBfX3B0aHJlYWRfaW50ZXJuYWxfYWRkKHRocmVhZCk7CiAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0aHJlYWQtPnN0YXJ0dXBfaGFuZHNoYWtlX211dGV4KTsKIAogICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfZGV0YWNoLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfZGV0YWNoLmNwcAppbmRleCBhODYwOGUzLi5mYjhlMGRkIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX2RldGFjaC5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9kZXRhY2guY3BwCkBAIC0yNywyOSArMjcsMjYgQEAKICAqLwogCiAjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxwdGhyZWFkLmg+CiAKLSNpbmNsdWRlICJwdGhyZWFkX2FjY2Vzc29yLmgiCisjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgogCiBpbnQgcHRocmVhZF9kZXRhY2gocHRocmVhZF90IHQpIHsKLSAgcHRocmVhZF9hY2Nlc3NvciB0aHJlYWQodCk7Ci0gIGlmICh0aHJlYWQuZ2V0KCkgPT0gTlVMTCkgewotICAgICAgcmV0dXJuIEVTUkNIOworICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IF9fcHRocmVhZF9pbnRlcm5hbF9maW5kKHQpOworICBpZiAodGhyZWFkID09IE5VTEwpIHsKKyAgICByZXR1cm4gRVNSQ0g7CiAgIH0KIAotICBpZiAodGhyZWFkLT5hdHRyLmZsYWdzICYgUFRIUkVBRF9BVFRSX0ZMQUdfREVUQUNIRUQpIHsKLSAgICByZXR1cm4gRUlOVkFMOyAvLyBBbHJlYWR5IGRldGFjaGVkLgorICBUaHJlYWRKb2luU3RhdGUgb2xkX3N0YXRlID0gVEhSRUFEX05PVF9KT0lORUQ7CisgIHdoaWxlIChvbGRfc3RhdGUgPT0gVEhSRUFEX05PVF9KT0lORUQgJiYKKyAgICAgICAgICFhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrKCZ0aHJlYWQtPmpvaW5fc3RhdGUsICZvbGRfc3RhdGUsIFRIUkVBRF9ERVRBQ0hFRCkpIHsKICAgfQogCi0gIGlmICh0aHJlYWQtPmF0dHIuZmxhZ3MgJiBQVEhSRUFEX0FUVFJfRkxBR19KT0lORUQpIHsKLSAgICByZXR1cm4gMDsgLy8gQWxyZWFkeSBiZWluZyBqb2luZWQ7IHNpbGVudGx5IGRvIG5vdGhpbmcsIGxpa2UgZ2xpYmMuCi0gIH0KLQotICBpZiAodGhyZWFkLT50aWQgPT0gMCkgewotICAgIC8vIEFscmVhZHkgZXhpdGVkOyBjbGVhbiB1cC4KLSAgICBfcHRocmVhZF9pbnRlcm5hbF9yZW1vdmVfbG9ja2VkKHRocmVhZC5nZXQoKSk7CisgIGlmIChvbGRfc3RhdGUgPT0gVEhSRUFEX05PVF9KT0lORUQpIHsKICAgICByZXR1cm4gMDsKKyAgfSBlbHNlIGlmIChvbGRfc3RhdGUgPT0gVEhSRUFEX0VYSVRFRF9OT1RfSk9JTkVEKSB7CisgICAgLy8gVXNlIHB0aHJlYWRfam9pbiB0byBjbGVhbiBpdCB1cC4KKyAgICByZXR1cm4gcHRocmVhZF9qb2luKHQsIE5VTEwpOwogICB9Ci0KLSAgdGhyZWFkLT5hdHRyLmZsYWdzIHw9IFBUSFJFQURfQVRUUl9GTEFHX0RFVEFDSEVEOwotICByZXR1cm4gMDsKKyAgcmV0dXJuIEVJTlZBTDsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfZXhpdC5jcHAgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2V4aXQuY3BwCmluZGV4IDZjZDUzMTEuLmNlZGE5MzEgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfZXhpdC5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9leGl0LmNwcApAQCAtMzcsNiArMzcsNyBAQAogZXh0ZXJuICJDIiBfX25vcmV0dXJuIHZvaWQgX2V4aXRfd2l0aF9zdGFja190ZWFyZG93bih2b2lkKiwgc2l6ZV90KTsKIGV4dGVybiAiQyIgX19ub3JldHVybiB2b2lkIF9fZXhpdChpbnQpOwogZXh0ZXJuICJDIiBpbnQgX19zZXRfdGlkX2FkZHJlc3MoaW50Kik7CitleHRlcm4gIkMiIHZvaWQgX19jeGFfdGhyZWFkX2ZpbmFsaXplKCk7CiAKIC8qIENBVkVBVDogb3VyIGltcGxlbWVudGF0aW9uIG9mIHB0aHJlYWRfY2xlYW51cF9wdXNoL3BvcCBkb2Vzbid0IHN1cHBvcnQgQysrIGV4Y2VwdGlvbnMKICAqICAgICAgICAgYW5kIHRocmVhZCBjYW5jZWxhdGlvbgpAQCAtNTksMTAgKzYwLDEzIEBACiB9CiAKIHZvaWQgcHRocmVhZF9leGl0KHZvaWQqIHJldHVybl92YWx1ZSkgeworICAvLyBDYWxsIGR0b3JzIGZvciB0aHJlYWRfbG9jYWwgb2JqZWN0cyBmaXJzdC4KKyAgX19jeGFfdGhyZWFkX2ZpbmFsaXplKCk7CisKICAgcHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQgPSBfX2dldF90aHJlYWQoKTsKICAgdGhyZWFkLT5yZXR1cm5fdmFsdWUgPSByZXR1cm5fdmFsdWU7CiAKLSAgLy8gQ2FsbCB0aGUgY2xlYW51cCBoYW5kbGVycyBmaXJzdC4KKyAgLy8gQ2FsbCB0aGUgY2xlYW51cCBoYW5kbGVycy4KICAgd2hpbGUgKHRocmVhZC0+Y2xlYW51cF9zdGFjaykgewogICAgIF9fcHRocmVhZF9jbGVhbnVwX3QqIGMgPSB0aHJlYWQtPmNsZWFudXBfc3RhY2s7CiAgICAgdGhyZWFkLT5jbGVhbnVwX3N0YWNrID0gYy0+X19jbGVhbnVwX3ByZXY7CkBAIC04Myw1NCArODcsNDAgQEAKICAgICBzaWdhbHRzdGFjaygmc3MsIE5VTEwpOwogCiAgICAgLy8gRnJlZSBpdC4KLSAgICBtdW5tYXAodGhyZWFkLT5hbHRlcm5hdGVfc2lnbmFsX3N0YWNrLCBTSUdTVEtTWik7CisgICAgbXVubWFwKHRocmVhZC0+YWx0ZXJuYXRlX3NpZ25hbF9zdGFjaywgU0lHTkFMX1NUQUNLX1NJWkUpOwogICAgIHRocmVhZC0+YWx0ZXJuYXRlX3NpZ25hbF9zdGFjayA9IE5VTEw7CiAgIH0KIAotICAvLyBLZWVwIHRyYWNrIG9mIHdoYXQgd2UgbmVlZCB0byBrbm93IGFib3V0IHRoZSBzdGFjayBiZWZvcmUgd2UgbG9zZSB0aGUgcHRocmVhZF9pbnRlcm5hbF90LgotICB2b2lkKiBzdGFja19iYXNlID0gdGhyZWFkLT5hdHRyLnN0YWNrX2Jhc2U7Ci0gIHNpemVfdCBzdGFja19zaXplID0gdGhyZWFkLT5hdHRyLnN0YWNrX3NpemU7Ci0gIGJvb2wgdXNlcl9hbGxvY2F0ZWRfc3RhY2sgPSB0aHJlYWQtPnVzZXJfYWxsb2NhdGVkX3N0YWNrKCk7CisgIFRocmVhZEpvaW5TdGF0ZSBvbGRfc3RhdGUgPSBUSFJFQURfTk9UX0pPSU5FRDsKKyAgd2hpbGUgKG9sZF9zdGF0ZSA9PSBUSFJFQURfTk9UX0pPSU5FRCAmJgorICAgICAgICAgIWF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWsoJnRocmVhZC0+am9pbl9zdGF0ZSwgJm9sZF9zdGF0ZSwgVEhSRUFEX0VYSVRFRF9OT1RfSk9JTkVEKSkgeworICB9CiAKLSAgcHRocmVhZF9tdXRleF9sb2NrKCZnX3RocmVhZF9saXN0X2xvY2spOwotICBpZiAoKHRocmVhZC0+YXR0ci5mbGFncyAmIFBUSFJFQURfQVRUUl9GTEFHX0RFVEFDSEVEKSAhPSAwKSB7Ci0gICAgLy8gVGhlIHRocmVhZCBpcyBkZXRhY2hlZCwgc28gd2UgY2FuIGZyZWUgdGhlIHB0aHJlYWRfaW50ZXJuYWxfdC4KKyAgaWYgKG9sZF9zdGF0ZSA9PSBUSFJFQURfREVUQUNIRUQpIHsKKyAgICAvLyBUaGUgdGhyZWFkIGlzIGRldGFjaGVkLCBubyBvbmUgd2lsbCB1c2UgcHRocmVhZF9pbnRlcm5hbF90IGFmdGVyIHB0aHJlYWRfZXhpdC4KKyAgICAvLyBTbyB3ZSBjYW4gZnJlZSBtYXBwZWQgc3BhY2UsIHdoaWNoIGluY2x1ZGVzIHB0aHJlYWRfaW50ZXJuYWxfdCBhbmQgdGhyZWFkIHN0YWNrLgogICAgIC8vIEZpcnN0IG1ha2Ugc3VyZSB0aGF0IHRoZSBrZXJuZWwgZG9lcyBub3QgdHJ5IHRvIGNsZWFyIHRoZSB0aWQgZmllbGQKICAgICAvLyBiZWNhdXNlIHdlJ2xsIGhhdmUgZnJlZWQgdGhlIG1lbW9yeSBiZWZvcmUgdGhlIHRocmVhZCBhY3R1YWxseSBleGl0cy4KICAgICBfX3NldF90aWRfYWRkcmVzcyhOVUxMKTsKLSAgICBfcHRocmVhZF9pbnRlcm5hbF9yZW1vdmVfbG9ja2VkKHRocmVhZCk7Ci0gIH0gZWxzZSB7Ci0gICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHB0aHJlYWRfaW50ZXJuYWxfdCBkb2Vzbid0IGhhdmUgc3RhbGUgcG9pbnRlcnMgdG8gYSBzdGFjayB0aGF0Ci0gICAgLy8gd2lsbCBiZSB1bm1hcHBlZCBhZnRlciB0aGUgZXhpdCBjYWxsIGJlbG93LgotICAgIGlmICghdXNlcl9hbGxvY2F0ZWRfc3RhY2spIHsKLSAgICAgIHRocmVhZC0+YXR0ci5zdGFja19iYXNlID0gTlVMTDsKLSAgICAgIHRocmVhZC0+YXR0ci5zdGFja19zaXplID0gMDsKLSAgICAgIHRocmVhZC0+dGxzID0gTlVMTDsKKworICAgIC8vIHB0aHJlYWRfaW50ZXJuYWxfdCBpcyBmcmVlZCBiZWxvdyB3aXRoIHN0YWNrLCBub3QgaGVyZS4KKyAgICBfX3B0aHJlYWRfaW50ZXJuYWxfcmVtb3ZlKHRocmVhZCk7CisKKyAgICBpZiAodGhyZWFkLT5tbWFwX3NpemUgIT0gMCkgeworICAgICAgLy8gV2UgbmVlZCB0byBmcmVlIG1hcHBlZCBzcGFjZSBmb3IgZGV0YWNoZWQgdGhyZWFkcyB3aGVuIHRoZXkgZXhpdC4KKyAgICAgIC8vIFRoYXQncyBub3Qgc29tZXRoaW5nIHdlIGNhbiBkbyBpbiBDLgorCisgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHRha2UgYSBzaWduYWwgYWZ0ZXIgd2UndmUgdW5tYXBwZWQgdGhlIHN0YWNrLgorICAgICAgLy8gVGhhdCdzIG9uZSBsYXN0IHRoaW5nIHdlIGNhbiBoYW5kbGUgaW4gQy4KKyAgICAgIHNpZ3NldF90IG1hc2s7CisgICAgICBzaWdmaWxsc2V0KCZtYXNrKTsKKyAgICAgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmbWFzaywgTlVMTCk7CisKKyAgICAgIF9leGl0X3dpdGhfc3RhY2tfdGVhcmRvd24odGhyZWFkLT5hdHRyLnN0YWNrX2Jhc2UsIHRocmVhZC0+bW1hcF9zaXplKTsKICAgICB9Ci0gICAgLy8gcHRocmVhZF9qb2luIGlzIHJlc3BvbnNpYmxlIGZvciBkZXN0cm95aW5nIHRoZSBwdGhyZWFkX2ludGVybmFsX3QgZm9yIG5vbi1kZXRhY2hlZCB0aHJlYWRzLgotICAgIC8vIFRoZSBrZXJuZWwgd2lsbCBmdXRleF93YWtlIG9uIHRoZSBwdGhyZWFkX2ludGVybmFsX3Q6OnRpZCBmaWVsZCB0byB3YWtlIHB0aHJlYWRfam9pbi4KICAgfQotICBwdGhyZWFkX211dGV4X3VubG9jaygmZ190aHJlYWRfbGlzdF9sb2NrKTsKIAotICAvLyBQZXJmb3JtIGEgc2Vjb25kIGtleSBjbGVhbnVwLiBXaGVuIHVzaW5nIGplbWFsbG9jLCBhIGNhbGwgdG8gZnJlZSBmcm9tCi0gIC8vIF9wdGhyZWFkX2ludGVybmFsX3JlbW92ZV9sb2NrZWQgY2F1c2VzIHRoZSBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIGEga2V5Ci0gIC8vIHRvIGJlIHJlYWxsb2NhdGVkLgotICAvLyBUT0RPOiBXaGVuIGIvMTY4NDcyODQgaXMgZml4ZWQgdGhpcyBjYWxsIGNhbiBiZSByZW1vdmVkLgotICBwdGhyZWFkX2tleV9jbGVhbl9hbGwoKTsKLQotICBpZiAodXNlcl9hbGxvY2F0ZWRfc3RhY2spIHsKLSAgICAvLyBDbGVhbmluZyB1cCB0aGlzIHRocmVhZCdzIHN0YWNrIGlzIHRoZSBjcmVhdG9yJ3MgcmVzcG9uc2liaWxpdHksIG5vdCBvdXJzLgotICAgIF9fZXhpdCgwKTsKLSAgfSBlbHNlIHsKLSAgICAvLyBXZSBuZWVkIHRvIG11bm1hcCB0aGUgc3RhY2sgd2UncmUgcnVubmluZyBvbiBiZWZvcmUgY2FsbGluZyBleGl0LgotICAgIC8vIFRoYXQncyBub3Qgc29tZXRoaW5nIHdlIGNhbiBkbyBpbiBDLgotCi0gICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0YWtlIGEgc2lnbmFsIGFmdGVyIHdlJ3ZlIHVubWFwcGVkIHRoZSBzdGFjay4KLSAgICAvLyBUaGF0J3Mgb25lIGxhc3QgdGhpbmcgd2UgY2FuIGhhbmRsZSBpbiBDLgotICAgIHNpZ3NldF90IG1hc2s7Ci0gICAgc2lnZmlsbHNldCgmbWFzayk7Ci0gICAgc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZtYXNrLCBOVUxMKTsKLQotICAgIF9leGl0X3dpdGhfc3RhY2tfdGVhcmRvd24oc3RhY2tfYmFzZSwgc3RhY2tfc2l6ZSk7Ci0gIH0KKyAgLy8gTm8gbmVlZCB0byBmcmVlIG1hcHBlZCBzcGFjZS4gRWl0aGVyIHRoZXJlIHdhcyBubyBzcGFjZSBtYXBwZWQsIG9yIGl0IGlzIGxlZnQgZm9yCisgIC8vIHRoZSBwdGhyZWFkX2pvaW4gY2FsbGVyIHRvIGNsZWFuIHVwLgorICBfX2V4aXQoMCk7CiB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX2dldGNwdWNsb2NraWQuY3BwIGIvbGliYy9iaW9uaWMvcHRocmVhZF9nZXRjcHVjbG9ja2lkLmNwcAppbmRleCBkMTFmNTZhLi4yYmYyMDA0IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX2dldGNwdWNsb2NraWQuY3BwCisrKyBiL2xpYmMvYmlvbmljL3B0aHJlYWRfZ2V0Y3B1Y2xvY2tpZC5jcHAKQEAgLTI4LDExICsyOCwxMSBAQAogCiAjaW5jbHVkZSA8ZXJybm8uaD4KIAotI2luY2x1ZGUgInB0aHJlYWRfYWNjZXNzb3IuaCIKKyNpbmNsdWRlICJwdGhyZWFkX2ludGVybmFsLmgiCiAKIGludCBwdGhyZWFkX2dldGNwdWNsb2NraWQocHRocmVhZF90IHQsIGNsb2NraWRfdCogY2xvY2tpZCkgewotICBwdGhyZWFkX2FjY2Vzc29yIHRocmVhZCh0KTsKLSAgaWYgKHRocmVhZC5nZXQoKSA9PSBOVUxMKSB7CisgIHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkID0gX19wdGhyZWFkX2ludGVybmFsX2ZpbmQodCk7CisgIGlmICh0aHJlYWQgPT0gTlVMTCkgewogICAgIHJldHVybiBFU1JDSDsKICAgfQogCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX2dldHNjaGVkcGFyYW0uY3BwIGIvbGliYy9iaW9uaWMvcHRocmVhZF9nZXRzY2hlZHBhcmFtLmNwcAppbmRleCAyY2RjMTFhLi4wNTJmYjA1IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX2dldHNjaGVkcGFyYW0uY3BwCisrKyBiL2xpYmMvYmlvbmljL3B0aHJlYWRfZ2V0c2NoZWRwYXJhbS5jcHAKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1ZGUgPGVycm5vLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL0Vycm5vUmVzdG9yZXIuaCIKLSNpbmNsdWRlICJwdGhyZWFkX2FjY2Vzc29yLmgiCisjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgogCiBpbnQgcHRocmVhZF9nZXRzY2hlZHBhcmFtKHB0aHJlYWRfdCB0LCBpbnQqIHBvbGljeSwgc2NoZWRfcGFyYW0qIHBhcmFtKSB7CiAgIEVycm5vUmVzdG9yZXIgZXJybm9fcmVzdG9yZXI7CiAKLSAgcHRocmVhZF9hY2Nlc3NvciB0aHJlYWQodCk7Ci0gIGlmICh0aHJlYWQuZ2V0KCkgPT0gTlVMTCkgeworICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IF9fcHRocmVhZF9pbnRlcm5hbF9maW5kKHQpOworICBpZiAodGhyZWFkID09IE5VTEwpIHsKICAgICByZXR1cm4gRVNSQ0g7CiAgIH0KIApkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcHRocmVhZF9nZXR0aWRfbnAuY3BwIGIvbGliYy9iaW9uaWMvcHRocmVhZF9nZXR0aWRfbnAuY3BwCmluZGV4IGY0NjYzYTcuLmM5OTZhMDUgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfZ2V0dGlkX25wLmNwcAorKysgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2dldHRpZF9ucC5jcHAKQEAgLTI3LDEzICsyNyw3IEBACiAgKi8KIAogI2luY2x1ZGUgInB0aHJlYWRfaW50ZXJuYWwuaCIKLSNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19wdGhyZWFkLmgiCiAKIHBpZF90IHB0aHJlYWRfZ2V0dGlkX25wKHB0aHJlYWRfdCB0KSB7CiAgIHJldHVybiByZWludGVycHJldF9jYXN0PHB0aHJlYWRfaW50ZXJuYWxfdCo+KHQpLT50aWQ7CiB9Ci0KLS8vIFRPRE86IG1vdmUgY2FsbGVycyBvdmVyIHRvIHB0aHJlYWRfZ2V0dGlkX25wIGFuZCByZW1vdmUgdGhpcy4KLXBpZF90IF9fcHRocmVhZF9nZXR0aWQocHRocmVhZF90IHQpIHsKLSAgcmV0dXJuIHB0aHJlYWRfZ2V0dGlkX25wKHQpOwotfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcHRocmVhZF9pbnRlcm5hbC5jcHAgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2ludGVybmFsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTY3Y2NmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9pbnRlcm5hbC5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfZnV0ZXguaCIKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190bHMuaCIKKyNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgorI2luY2x1ZGUgInByaXZhdGUvU2NvcGVkUHRocmVhZE11dGV4TG9ja2VyLmgiCisKK3N0YXRpYyBwdGhyZWFkX2ludGVybmFsX3QqIGdfdGhyZWFkX2xpc3QgPSBOVUxMOworc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBnX3RocmVhZF9saXN0X2xvY2sgPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOworCitwdGhyZWFkX3QgX19wdGhyZWFkX2ludGVybmFsX2FkZChwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkgeworICBTY29wZWRQdGhyZWFkTXV0ZXhMb2NrZXIgbG9ja2VyKCZnX3RocmVhZF9saXN0X2xvY2spOworCisgIC8vIFdlIGluc2VydCBhdCB0aGUgaGVhZC4KKyAgdGhyZWFkLT5uZXh0ID0gZ190aHJlYWRfbGlzdDsKKyAgdGhyZWFkLT5wcmV2ID0gTlVMTDsKKyAgaWYgKHRocmVhZC0+bmV4dCAhPSBOVUxMKSB7CisgICAgdGhyZWFkLT5uZXh0LT5wcmV2ID0gdGhyZWFkOworICB9CisgIGdfdGhyZWFkX2xpc3QgPSB0aHJlYWQ7CisgIHJldHVybiByZWludGVycHJldF9jYXN0PHB0aHJlYWRfdD4odGhyZWFkKTsKK30KKwordm9pZCBfX3B0aHJlYWRfaW50ZXJuYWxfcmVtb3ZlKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKSB7CisgIFNjb3BlZFB0aHJlYWRNdXRleExvY2tlciBsb2NrZXIoJmdfdGhyZWFkX2xpc3RfbG9jayk7CisKKyAgaWYgKHRocmVhZC0+bmV4dCAhPSBOVUxMKSB7CisgICAgdGhyZWFkLT5uZXh0LT5wcmV2ID0gdGhyZWFkLT5wcmV2OworICB9CisgIGlmICh0aHJlYWQtPnByZXYgIT0gTlVMTCkgeworICAgIHRocmVhZC0+cHJldi0+bmV4dCA9IHRocmVhZC0+bmV4dDsKKyAgfSBlbHNlIHsKKyAgICBnX3RocmVhZF9saXN0ID0gdGhyZWFkLT5uZXh0OworICB9Cit9CisKK3N0YXRpYyB2b2lkIF9fcHRocmVhZF9pbnRlcm5hbF9mcmVlKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKSB7CisgIGlmICh0aHJlYWQtPm1tYXBfc2l6ZSAhPSAwKSB7CisgICAgLy8gRnJlZSBtYXBwZWQgc3BhY2UsIGluY2x1ZGluZyB0aHJlYWQgc3RhY2sgYW5kIHB0aHJlYWRfaW50ZXJuYWxfdC4KKyAgICBtdW5tYXAodGhyZWFkLT5hdHRyLnN0YWNrX2Jhc2UsIHRocmVhZC0+bW1hcF9zaXplKTsKKyAgfQorfQorCit2b2lkIF9fcHRocmVhZF9pbnRlcm5hbF9yZW1vdmVfYW5kX2ZyZWUocHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQpIHsKKyAgX19wdGhyZWFkX2ludGVybmFsX3JlbW92ZSh0aHJlYWQpOworICBfX3B0aHJlYWRfaW50ZXJuYWxfZnJlZSh0aHJlYWQpOworfQorCitwdGhyZWFkX2ludGVybmFsX3QqIF9fcHRocmVhZF9pbnRlcm5hbF9maW5kKHB0aHJlYWRfdCB0aHJlYWRfaWQpIHsKKyAgcHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQgPSByZWludGVycHJldF9jYXN0PHB0aHJlYWRfaW50ZXJuYWxfdCo+KHRocmVhZF9pZCk7CisgIFNjb3BlZFB0aHJlYWRNdXRleExvY2tlciBsb2NrZXIoJmdfdGhyZWFkX2xpc3RfbG9jayk7CisKKyAgZm9yIChwdGhyZWFkX2ludGVybmFsX3QqIHQgPSBnX3RocmVhZF9saXN0OyB0ICE9IE5VTEw7IHQgPSB0LT5uZXh0KSB7CisgICAgaWYgKHQgPT0gdGhyZWFkKSB7CisgICAgICByZXR1cm4gdGhyZWFkOworICAgIH0KKyAgfQorICByZXR1cm4gTlVMTDsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfaW50ZXJuYWwuaCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfaW50ZXJuYWwuaAppbmRleCBhNWIzMDAyLi4zYjkxZTZhIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX2ludGVybmFsLmgKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9pbnRlcm5hbC5oCkBAIC0yOSwxOCArMjksMjcgQEAKICNkZWZpbmUgX1BUSFJFQURfSU5URVJOQUxfSF8KIAogI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKworI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3Rscy5oIgogCiAvKiBIYXMgdGhlIHRocmVhZCBiZWVuIGRldGFjaGVkIGJ5IGEgcHRocmVhZF9qb2luIG9yIHB0aHJlYWRfZGV0YWNoIGNhbGw/ICovCiAjZGVmaW5lIFBUSFJFQURfQVRUUl9GTEFHX0RFVEFDSEVEIDB4MDAwMDAwMDEKIAotLyogV2FzIHRoZSB0aHJlYWQncyBzdGFjayBhbGxvY2F0ZWQgYnkgdGhlIHVzZXIgcmF0aGVyIHRoYW4gYnkgdXM/ICovCi0jZGVmaW5lIFBUSFJFQURfQVRUUl9GTEFHX1VTRVJfQUxMT0NBVEVEX1NUQUNLIDB4MDAwMDAwMDIKLQogLyogSGFzIHRoZSB0aHJlYWQgYmVlbiBqb2luZWQgYnkgYW5vdGhlciB0aHJlYWQ/ICovCi0jZGVmaW5lIFBUSFJFQURfQVRUUl9GTEFHX0pPSU5FRCAweDAwMDAwMDA0CisjZGVmaW5lIFBUSFJFQURfQVRUUl9GTEFHX0pPSU5FRCAweDAwMDAwMDAyCiAKLS8qIElzIHRoaXMgdGhlIG1haW4gdGhyZWFkPyAqLwotI2RlZmluZSBQVEhSRUFEX0FUVFJfRkxBR19NQUlOX1RIUkVBRCAweDgwMDAwMDAwCitzdHJ1Y3QgcHRocmVhZF9rZXlfZGF0YV90IHsKKyAgdWludHB0cl90IHNlcTsgLy8gVXNlIHVpbnRwdHJfdCBqdXN0IGZvciBhbGlnbm1lbnQsIGFzIHdlIHVzZSBwb2ludGVyIGJlbG93LgorICB2b2lkKiBkYXRhOworfTsKKworZW51bSBUaHJlYWRKb2luU3RhdGUgeworICBUSFJFQURfTk9UX0pPSU5FRCwKKyAgVEhSRUFEX0VYSVRFRF9OT1RfSk9JTkVELAorICBUSFJFQURfSk9JTkVELAorICBUSFJFQURfREVUQUNIRUQKK307CiAKIHN0cnVjdCBwdGhyZWFkX2ludGVybmFsX3QgewogICBzdHJ1Y3QgcHRocmVhZF9pbnRlcm5hbF90KiBuZXh0OwpAQCAtNjgsMTQgKzc3LDEwIEBACiAgICAgcmV0dXJuICgqY2FjaGVkX3BpZCAhPSAwKTsKICAgfQogCi0gIGJvb2wgdXNlcl9hbGxvY2F0ZWRfc3RhY2soKSB7Ci0gICAgcmV0dXJuIChhdHRyLmZsYWdzICYgUFRIUkVBRF9BVFRSX0ZMQUdfVVNFUl9BTExPQ0FURURfU1RBQ0spICE9IDA7Ci0gIH0KLQotICB2b2lkKiogdGxzOwotCiAgIHB0aHJlYWRfYXR0cl90IGF0dHI7CiAKKyAgX0F0b21pYyhUaHJlYWRKb2luU3RhdGUpIGpvaW5fc3RhdGU7CisKICAgX19wdGhyZWFkX2NsZWFudXBfdCogY2xlYW51cF9zdGFjazsKIAogICB2b2lkKiAoKnN0YXJ0X3JvdXRpbmUpKHZvaWQqKTsKQEAgLTg2LDYgKzkxLDEyIEBACiAKICAgcHRocmVhZF9tdXRleF90IHN0YXJ0dXBfaGFuZHNoYWtlX211dGV4OwogCisgIHNpemVfdCBtbWFwX3NpemU7CisKKyAgdm9pZCogdGxzW0JJT05JQ19UTFNfU0xPVFNdOworCisgIHB0aHJlYWRfa2V5X2RhdGFfdCBrZXlfZGF0YVtCSU9OSUNfUFRIUkVBRF9LRVlfQ09VTlRdOworCiAgIC8qCiAgICAqIFRoZSBkeW5hbWljIGxpbmtlciBpbXBsZW1lbnRzIGRsZXJyb3IoMyksIHdoaWNoIG1ha2VzIGl0IGhhcmQgZm9yIHVzIHRvIGltcGxlbWVudCB0aGlzCiAgICAqIHBlci10aHJlYWQgYnVmZmVyIGJ5IHNpbXBseSB1c2luZyBtYWxsb2MoMykgYW5kIGZyZWUoMykuCkBAIC05NCwxNiArMTA1LDIxIEBACiAgIGNoYXIgZGxlcnJvcl9idWZmZXJbX19CSU9OSUNfRExFUlJPUl9CVUZGRVJfU0laRV07CiB9OwogCi1fX0xJQkNfSElEREVOX18gaW50IF9faW5pdF90aHJlYWQocHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQsIGJvb2wgYWRkX3RvX3RocmVhZF9saXN0KTsKK19fTElCQ19ISURERU5fXyBpbnQgX19pbml0X3RocmVhZChwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCk7CiBfX0xJQkNfSElEREVOX18gdm9pZCBfX2luaXRfdGxzKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKTsKIF9fTElCQ19ISURERU5fXyB2b2lkIF9faW5pdF9hbHRlcm5hdGVfc2lnbmFsX3N0YWNrKHB0aHJlYWRfaW50ZXJuYWxfdCopOwotX19MSUJDX0hJRERFTl9fIHZvaWQgX3B0aHJlYWRfaW50ZXJuYWxfYWRkKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKTsKIAotLyogVmFyaW91cyB0aGlyZC1wYXJ0eSBhcHBzIGNvbnRhaW4gYSBiYWNrcG9ydCBvZiBvdXIgcHRocmVhZF9yd2xvY2sgaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIHRoaXMuICovCi1leHRlcm4gIkMiIF9fTElCQzY0X0hJRERFTl9fIHB0aHJlYWRfaW50ZXJuYWxfdCogX19nZXRfdGhyZWFkKHZvaWQpOworX19MSUJDX0hJRERFTl9fIHB0aHJlYWRfdCAgICAgICAgICAgX19wdGhyZWFkX2ludGVybmFsX2FkZChwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCk7CitfX0xJQkNfSElEREVOX18gcHRocmVhZF9pbnRlcm5hbF90KiBfX3B0aHJlYWRfaW50ZXJuYWxfZmluZChwdGhyZWFkX3QgcHRocmVhZF9pZCk7CitfX0xJQkNfSElEREVOX18gdm9pZCAgICAgICAgICAgICAgICBfX3B0aHJlYWRfaW50ZXJuYWxfcmVtb3ZlKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKTsKK19fTElCQ19ISURERU5fXyB2b2lkICAgICAgICAgICAgICAgIF9fcHRocmVhZF9pbnRlcm5hbF9yZW1vdmVfYW5kX2ZyZWUocHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQpOworCisvLyBNYWtlIF9fZ2V0X3RocmVhZCgpIGlubGluZWQgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbi4gU2VlIGh0dHA6Ly9iLzE5ODI1NDM0Lgorc3RhdGljIGlubGluZSBfX2Fsd2F5c19pbmxpbmUgcHRocmVhZF9pbnRlcm5hbF90KiBfX2dldF90aHJlYWQoKSB7CisgIHJldHVybiByZWludGVycHJldF9jYXN0PHB0aHJlYWRfaW50ZXJuYWxfdCo+KF9fZ2V0X3RscygpW1RMU19TTE9UX1RIUkVBRF9JRF0pOworfQogCiBfX0xJQkNfSElEREVOX18gdm9pZCBwdGhyZWFkX2tleV9jbGVhbl9hbGwodm9pZCk7Ci1fX0xJQkNfSElEREVOX18gdm9pZCBfcHRocmVhZF9pbnRlcm5hbF9yZW1vdmVfbG9ja2VkKHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkKTsKIAogLyoKICAqIFRyYWRpdGlvbmFsbHkgd2UgZ2F2ZSB0aHJlYWRzIGEgMU1pQiBzdGFjay4gV2hlbiB3ZSBzdGFydGVkCkBAIC0xMTQsMTAgKzEzMCw4IEBACiAgKi8KICNkZWZpbmUgUFRIUkVBRF9TVEFDS19TSVpFX0RFRkFVTFQgKCgxICogMTAyNCAqIDEwMjQpIC0gU0lHU1RLU1opCiAKLV9fTElCQ19ISURERU5fXyBleHRlcm4gcHRocmVhZF9pbnRlcm5hbF90KiBnX3RocmVhZF9saXN0OwotX19MSUJDX0hJRERFTl9fIGV4dGVybiBwdGhyZWFkX211dGV4X3QgZ190aHJlYWRfbGlzdF9sb2NrOwotCi1fX0xJQkNfSElEREVOX18gaW50IF9fdGltZXNwZWNfZnJvbV9hYnNvbHV0ZSh0aW1lc3BlYyosIGNvbnN0IHRpbWVzcGVjKiwgY2xvY2tpZF90KTsKKy8qIExlYXZlIHJvb20gZm9yIGEgZ3VhcmQgcGFnZSBpbiB0aGUgaW50ZXJuYWxseSBjcmVhdGVkIHNpZ25hbCBzdGFja3MuICovCisjZGVmaW5lIFNJR05BTF9TVEFDS19TSVpFIChTSUdTVEtTWiArIFBBR0VfU0laRSkKIAogLyogTmVlZGVkIGJ5IGZvcmsuICovCiBfX0xJQkNfSElEREVOX18gZXh0ZXJuIHZvaWQgX19iaW9uaWNfYXRmb3JrX3J1bl9wcmVwYXJlKCk7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX2ludGVybmFscy5jcHAgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2ludGVybmFscy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjMDhiYTguLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZF9pbnRlcm5hbHMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgotCi0jaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfZnV0ZXguaCIKLSNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190bHMuaCIKLSNpbmNsdWRlICJwcml2YXRlL1Njb3BlZFB0aHJlYWRNdXRleExvY2tlci5oIgotCi1wdGhyZWFkX2ludGVybmFsX3QqIGdfdGhyZWFkX2xpc3QgPSBOVUxMOwotcHRocmVhZF9tdXRleF90IGdfdGhyZWFkX2xpc3RfbG9jayA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7Ci0KLXZvaWQgX3B0aHJlYWRfaW50ZXJuYWxfcmVtb3ZlX2xvY2tlZChwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkgewotICBpZiAodGhyZWFkLT5uZXh0ICE9IE5VTEwpIHsKLSAgICB0aHJlYWQtPm5leHQtPnByZXYgPSB0aHJlYWQtPnByZXY7Ci0gIH0KLSAgaWYgKHRocmVhZC0+cHJldiAhPSBOVUxMKSB7Ci0gICAgdGhyZWFkLT5wcmV2LT5uZXh0ID0gdGhyZWFkLT5uZXh0OwotICB9IGVsc2UgewotICAgIGdfdGhyZWFkX2xpc3QgPSB0aHJlYWQtPm5leHQ7Ci0gIH0KLQotICAvLyBUaGUgbWFpbiB0aHJlYWQgaXMgbm90IGhlYXAtYWxsb2NhdGVkLiBTZWUgX19saWJjX2luaXRfdGxzIGZvciB0aGUgZGVjbGFyYXRpb24sCi0gIC8vIGFuZCBfX2xpYmNfaW5pdF9jb21tb24gZm9yIHRoZSBwb2ludCB3aGVyZSBpdCdzIGFkZGVkIHRvIHRoZSB0aHJlYWQgbGlzdC4KLSAgaWYgKCh0aHJlYWQtPmF0dHIuZmxhZ3MgJiBQVEhSRUFEX0FUVFJfRkxBR19NQUlOX1RIUkVBRCkgPT0gMCkgewotICAgIGZyZWUodGhyZWFkKTsKLSAgfQotfQotCi12b2lkIF9wdGhyZWFkX2ludGVybmFsX2FkZChwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkgewotICBTY29wZWRQdGhyZWFkTXV0ZXhMb2NrZXIgbG9ja2VyKCZnX3RocmVhZF9saXN0X2xvY2spOwotCi0gIC8vIFdlIGluc2VydCBhdCB0aGUgaGVhZC4KLSAgdGhyZWFkLT5uZXh0ID0gZ190aHJlYWRfbGlzdDsKLSAgdGhyZWFkLT5wcmV2ID0gTlVMTDsKLSAgaWYgKHRocmVhZC0+bmV4dCAhPSBOVUxMKSB7Ci0gICAgdGhyZWFkLT5uZXh0LT5wcmV2ID0gdGhyZWFkOwotICB9Ci0gIGdfdGhyZWFkX2xpc3QgPSB0aHJlYWQ7Ci19Ci0KLXB0aHJlYWRfaW50ZXJuYWxfdCogX19nZXRfdGhyZWFkKHZvaWQpIHsKLSAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9pbnRlcm5hbF90Kj4oX19nZXRfdGxzKClbVExTX1NMT1RfVEhSRUFEX0lEXSk7Ci19Ci0KLS8vIEluaXRpYWxpemUgJ3RzJyB3aXRoIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gJ2Fic3RpbWUnIGFuZCB0aGUgY3VycmVudCB0aW1lCi0vLyBhY2NvcmRpbmcgdG8gJ2Nsb2NrJy4gUmV0dXJucyAtMSBpZiBhYnN0aW1lIGFscmVhZHkgZXhwaXJlZCwgb3IgMCBvdGhlcndpc2UuCi1pbnQgX190aW1lc3BlY19mcm9tX2Fic29sdXRlKHRpbWVzcGVjKiB0cywgY29uc3QgdGltZXNwZWMqIGFic3RpbWUsIGNsb2NraWRfdCBjbG9jaykgewotICBjbG9ja19nZXR0aW1lKGNsb2NrLCB0cyk7Ci0gIHRzLT50dl9zZWMgID0gYWJzdGltZS0+dHZfc2VjIC0gdHMtPnR2X3NlYzsKLSAgdHMtPnR2X25zZWMgPSBhYnN0aW1lLT50dl9uc2VjIC0gdHMtPnR2X25zZWM7Ci0gIGlmICh0cy0+dHZfbnNlYyA8IDApIHsKLSAgICB0cy0+dHZfc2VjLS07Ci0gICAgdHMtPnR2X25zZWMgKz0gMTAwMDAwMDAwMDsKLSAgfQotICBpZiAoKHRzLT50dl9uc2VjIDwgMCkgfHwgKHRzLT50dl9zZWMgPCAwKSkgewotICAgIHJldHVybiAtMTsKLSAgfQotICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfam9pbi5jcHAgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2pvaW4uY3BwCmluZGV4IDBjYmVkNjIuLjRkODUyY2IgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfam9pbi5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9qb2luLmNwcApAQCAtMjksMzYgKzI5LDMxIEBACiAjaW5jbHVkZSA8ZXJybm8uaD4KIAogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2Z1dGV4LmgiCi0jaW5jbHVkZSAicHRocmVhZF9hY2Nlc3Nvci5oIgorI2luY2x1ZGUgInB0aHJlYWRfaW50ZXJuYWwuaCIKIAogaW50IHB0aHJlYWRfam9pbihwdGhyZWFkX3QgdCwgdm9pZCoqIHJldHVybl92YWx1ZSkgewogICBpZiAodCA9PSBwdGhyZWFkX3NlbGYoKSkgewogICAgIHJldHVybiBFREVBRExLOwogICB9CiAKLSAgcGlkX3QgdGlkOwotICB2b2xhdGlsZSBpbnQqIHRpZF9wdHI7Ci0gIHsKLSAgICBwdGhyZWFkX2FjY2Vzc29yIHRocmVhZCh0KTsKLSAgICBpZiAodGhyZWFkLmdldCgpID09IE5VTEwpIHsKLSAgICAgIHJldHVybiBFU1JDSDsKLSAgICB9Ci0KLSAgICBpZiAoKHRocmVhZC0+YXR0ci5mbGFncyAmIFBUSFJFQURfQVRUUl9GTEFHX0RFVEFDSEVEKSAhPSAwKSB7Ci0gICAgICByZXR1cm4gRUlOVkFMOwotICAgIH0KLQotICAgIGlmICgodGhyZWFkLT5hdHRyLmZsYWdzICYgUFRIUkVBRF9BVFRSX0ZMQUdfSk9JTkVEKSAhPSAwKSB7Ci0gICAgICByZXR1cm4gRUlOVkFMOwotICAgIH0KLQotICAgIC8vIE9rYXksIGxvb2tzIGxpa2Ugd2UgY2FuIHNpZ25hbCBvdXIgaW50ZW50aW9uIHRvIGpvaW4uCi0gICAgdGhyZWFkLT5hdHRyLmZsYWdzIHw9IFBUSFJFQURfQVRUUl9GTEFHX0pPSU5FRDsKLSAgICB0aWQgPSB0aHJlYWQtPnRpZDsKLSAgICB0aWRfcHRyID0gJnRocmVhZC0+dGlkOworICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IF9fcHRocmVhZF9pbnRlcm5hbF9maW5kKHQpOworICBpZiAodGhyZWFkID09IE5VTEwpIHsKKyAgICByZXR1cm4gRVNSQ0g7CiAgIH0KIAotICAvLyBXZSBzZXQgdGhlIFBUSFJFQURfQVRUUl9GTEFHX0pPSU5FRCBmbGFnIHdpdGggdGhlIGxvY2sgaGVsZCwKKyAgVGhyZWFkSm9pblN0YXRlIG9sZF9zdGF0ZSA9IFRIUkVBRF9OT1RfSk9JTkVEOworICB3aGlsZSAoKG9sZF9zdGF0ZSA9PSBUSFJFQURfTk9UX0pPSU5FRCB8fCBvbGRfc3RhdGUgPT0gVEhSRUFEX0VYSVRFRF9OT1RfSk9JTkVEKSAmJgorICAgICAgICAgIWF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWsoJnRocmVhZC0+am9pbl9zdGF0ZSwgJm9sZF9zdGF0ZSwgVEhSRUFEX0pPSU5FRCkpIHsKKyAgfQorCisgIGlmIChvbGRfc3RhdGUgPT0gVEhSRUFEX0RFVEFDSEVEIHx8IG9sZF9zdGF0ZSA9PSBUSFJFQURfSk9JTkVEKSB7CisgICAgcmV0dXJuIEVJTlZBTDsKKyAgfQorCisgIHBpZF90IHRpZCA9IHRocmVhZC0+dGlkOworICB2b2xhdGlsZSBpbnQqIHRpZF9wdHIgPSAmdGhyZWFkLT50aWQ7CisKKyAgLy8gV2Ugc2V0IHRocmVhZC0+am9pbl9zdGF0ZSB0byBUSFJFQURfSk9JTkVEIHdpdGggYXRvbWljIG9wZXJhdGlvbiwKICAgLy8gc28gbm8gb25lIGlzIGdvaW5nIHRvIHJlbW92ZSB0aGlzIHRocmVhZCBleGNlcHQgdXMuCiAKICAgLy8gV2FpdCBmb3IgdGhlIHRocmVhZCB0byBhY3R1YWxseSBleGl0LCBpZiBpdCBoYXNuJ3QgYWxyZWFkeS4KQEAgLTY2LDE0ICs2MSwxMCBAQAogICAgIF9fZnV0ZXhfd2FpdCh0aWRfcHRyLCB0aWQsIE5VTEwpOwogICB9CiAKLSAgLy8gVGFrZSB0aGUgbG9jayBhZ2FpbiBzbyB3ZSBjYW4gcHVsbCB0aGUgdGhyZWFkJ3MgcmV0dXJuIHZhbHVlCi0gIC8vIGFuZCByZW1vdmUgdGhlIHRocmVhZCBmcm9tIHRoZSBsaXN0LgotICBwdGhyZWFkX2FjY2Vzc29yIHRocmVhZCh0KTsKLQogICBpZiAocmV0dXJuX3ZhbHVlKSB7CiAgICAgKnJldHVybl92YWx1ZSA9IHRocmVhZC0+cmV0dXJuX3ZhbHVlOwogICB9CiAKLSAgX3B0aHJlYWRfaW50ZXJuYWxfcmVtb3ZlX2xvY2tlZCh0aHJlYWQuZ2V0KCkpOworICBfX3B0aHJlYWRfaW50ZXJuYWxfcmVtb3ZlX2FuZF9mcmVlKHRocmVhZCk7CiAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcHRocmVhZF9rZXkuY3BwIGIvbGliYy9iaW9uaWMvcHRocmVhZF9rZXkuY3BwCmluZGV4IDI3ZWFiMjcuLjZkNzdhZmEgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfa2V5LmNwcAorKysgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2tleS5jcHAKQEAgLTI2LDE3NiArMjYsMTA3IEBACiAgKiBTVUNIIERBTUFHRS4KICAqLwogCisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+CisjaW5jbHVkZSA8c3RkYXRvbWljLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190bHMuaCIKICNpbmNsdWRlICJwdGhyZWFkX2ludGVybmFsLmgiCiAKLS8qIEEgdGVjaG5pY2FsIG5vdGUgcmVnYXJkaW5nIG91ciB0aHJlYWQtbG9jYWwtc3RvcmFnZSAoVExTKSBpbXBsZW1lbnRhdGlvbjoKLSAqCi0gKiBUaGVyZSBjYW4gYmUgdXAgdG8gQklPTklDX1RMU19TTE9UUyBpbmRlcGVuZGVudCBUTFMga2V5cyBpbiBhIGdpdmVuIHByb2Nlc3MsCi0gKiBUaGUga2V5cyBiZWxvdyBUTFNfU0xPVF9GSVJTVF9VU0VSX1NMT1QgYXJlIHJlc2VydmVkIGZvciBCaW9uaWMgdG8gaG9sZAotICogc3BlY2lhbCB0aHJlYWQtc3BlY2lmaWMgdmFyaWFibGVzIGxpa2UgZXJybm8gb3IgYSBwb2ludGVyIHRvCi0gKiB0aGUgY3VycmVudCB0aHJlYWQncyBkZXNjcmlwdG9yLiBUaGVzZSBlbnRyaWVzIGNhbm5vdCBiZSBhY2Nlc3NlZCB0aHJvdWdoCi0gKiBwdGhyZWFkX2dldHNwZWNpZmljKCkgLyBwdGhyZWFkX3NldHNwZWNpZmljKCkgb3IgcHRocmVhZF9rZXlfZGVsZXRlKCkKLSAqCi0gKiBUaGUgJ3Rsc19tYXBfdCcgdHlwZSBkZWZpbmVkIGJlbG93IGltcGxlbWVudHMgYSBzaGFyZWQgZ2xvYmFsIG1hcCBvZgotICogY3VycmVudGx5IGNyZWF0ZWQvYWxsb2NhdGVkIFRMUyBrZXlzIGFuZCB0aGUgZGVzdHJ1Y3RvcnMgYXNzb2NpYXRlZAotICogd2l0aCB0aGVtLgotICoKLSAqIFRoZSBnbG9iYWwgVExTIG1hcCBzaW1wbHkgY29udGFpbnMgYSBiaXRtYXAgb2YgYWxsb2NhdGVkIGtleXMsIGFuZAotICogYW4gYXJyYXkgb2YgZGVzdHJ1Y3RvcnMuCi0gKgotICogRWFjaCB0aHJlYWQgaGFzIGEgVExTIGFyZWEgdGhhdCBpcyBhIHNpbXBsZSBhcnJheSBvZiBCSU9OSUNfVExTX1NMT1RTIHZvaWQqCi0gKiBwb2ludGVycy4gdGhlIFRMUyBhcmVhIG9mIHRoZSBtYWluIHRocmVhZCBpcyBzdGFjay1hbGxvY2F0ZWQgaW4KLSAqIF9fbGliY19pbml0X2NvbW1vbiwgd2hpbGUgdGhlIFRMUyBhcmVhIG9mIG90aGVyIHRocmVhZHMgaXMgcGxhY2VkIGF0Ci0gKiB0aGUgdG9wIG9mIHRoZWlyIHN0YWNrIGluIHB0aHJlYWRfY3JlYXRlLgotICoKLSAqIFdoZW4gcHRocmVhZF9rZXlfZGVsZXRlKCkgaXMgY2FsbGVkIGl0IHdpbGwgZXJhc2UgdGhlIGtleSdzIGJpdG1hcCBiaXQKLSAqIGFuZCBpdHMgZGVzdHJ1Y3RvciwgYW5kIHdpbGwgYWxzbyBjbGVhciB0aGUga2V5IGRhdGEgaW4gdGhlIFRMUyBhcmVhIG9mCi0gKiBhbGwgY3JlYXRlZCB0aHJlYWRzLiBBcyBtYW5kYXRlZCBieSBQb3NpeCwgaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mCi0gKiB0aGUgY2FsbGVyIG9mIHB0aHJlYWRfa2V5X2RlbGV0ZSgpIHRvIHByb3Blcmx5IHJlY2xhaW0gdGhlIG9iamVjdHMgdGhhdAotICogd2VyZSBwb2ludGVkIHRvIGJ5IHRoZXNlIGRhdGEgZmllbGRzIChlaXRoZXIgYmVmb3JlIG9yIGFmdGVyIHRoZSBjYWxsKS4KLSAqLwotCi0jZGVmaW5lIFRMU01BUF9CSVRTICAgICAgIDMyCi0jZGVmaW5lIFRMU01BUF9XT1JEUyAgICAgICgoQklPTklDX1RMU19TTE9UUytUTFNNQVBfQklUUy0xKS9UTFNNQVBfQklUUykKLSNkZWZpbmUgVExTTUFQX1dPUkQobSxrKSAgKG0pLm1hcFsoaykvVExTTUFQX0JJVFNdCi0jZGVmaW5lIFRMU01BUF9NQVNLKGspICAgICgxVSA8PCAoKGspJihUTFNNQVBfQklUUy0xKSkpCi0KLXN0YXRpYyBpbmxpbmUgYm9vbCBJc1ZhbGlkVXNlcktleShwdGhyZWFkX2tleV90IGtleSkgewotICByZXR1cm4gKGtleSA+PSBUTFNfU0xPVF9GSVJTVF9VU0VSX1NMT1QgJiYga2V5IDwgQklPTklDX1RMU19TTE9UUyk7Ci19Ci0KIHR5cGVkZWYgdm9pZCAoKmtleV9kZXN0cnVjdG9yX3QpKHZvaWQqKTsKIAotc3RydWN0IHRsc19tYXBfdCB7Ci0gIGJvb2wgaXNfaW5pdGlhbGl6ZWQ7CisjZGVmaW5lIFNFUV9LRVlfSU5fVVNFX0JJVCAgICAgMAogCi0gIC8qIGJpdG1hcCBvZiBhbGxvY2F0ZWQga2V5cyAqLwotICB1aW50MzJfdCBtYXBbVExTTUFQX1dPUkRTXTsKKyNkZWZpbmUgU0VRX0lOQ1JFTUVOVF9TVEVQICAoMSA8PCBTRVFfS0VZX0lOX1VTRV9CSVQpCiAKLSAga2V5X2Rlc3RydWN0b3JfdCBrZXlfZGVzdHJ1Y3RvcnNbQklPTklDX1RMU19TTE9UU107CisvLyBwdGhyZWFkX2tleV9pbnRlcm5hbF90IHJlY29yZHMgdGhlIHVzZSBvZiBlYWNoIHB0aHJlYWQga2V5IHNsb3Q6CisvLyAgIHNlcSByZWNvcmRzIHRoZSBzdGF0ZSBvZiB0aGUgc2xvdC4KKy8vICAgICAgYml0IDAgaXMgMSB3aGVuIHRoZSBrZXkgaXMgaW4gdXNlLCAwIHdoZW4gaXQgaXMgdW51c2VkLiBFYWNoIHRpbWUgd2UgY3JlYXRlIG9yIGRlbGV0ZSB0aGUKKy8vICAgICAgcHRocmVhZCBrZXkgaW4gdGhlIHNsb3QsIHdlIGluY3Jlc2UgdGhlIHNlcSBieSAxICh3aGljaCBpbnZlcnRzIGJpdCAwKS4gVGhlIHJlYXNvbiB0byB1c2UKKy8vICAgICAgYSBzZXF1ZW5jZSBudW1iZXIgaW5zdGVhZCBvZiBhIGJvb2xlYW4gdmFsdWUgaGVyZSBpcyB0aGF0IHdoZW4gdGhlIGtleSBzbG90IGlzIGRlbGV0ZWQgYW5kCisvLyAgICAgIHJldXNlZCBmb3IgYSBuZXcga2V5LCBwdGhyZWFkX2dldHNwZWNpZmljIHdpbGwgbm90IHJldHVybiBzdGFsZSBkYXRhLgorLy8gICBrZXlfZGVzdHJ1Y3RvciByZWNvcmRzIHRoZSBkZXN0cnVjdG9yIGNhbGxlZCBhdCB0aHJlYWQgZXhpdC4KK3N0cnVjdCBwdGhyZWFkX2tleV9pbnRlcm5hbF90IHsKKyAgYXRvbWljX3VpbnRwdHJfdCBzZXE7CisgIGF0b21pY191aW50cHRyX3Qga2V5X2Rlc3RydWN0b3I7CiB9OwogCi1jbGFzcyBTY29wZWRUbHNNYXBBY2Nlc3MgewotIHB1YmxpYzoKLSAgU2NvcGVkVGxzTWFwQWNjZXNzKCkgewotICAgIExvY2soKTsKK3N0YXRpYyBwdGhyZWFkX2tleV9pbnRlcm5hbF90IGtleV9tYXBbQklPTklDX1BUSFJFQURfS0VZX0NPVU5UXTsKIAotICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgdGhlIFRMUyBtYXAgaGFzIGJlZW4gYWNjZXNzZWQsCi0gICAgLy8gbWFyayB0aGUgc2xvdHMgYmVsb25naW5nIHRvIHdlbGwta25vd24ga2V5cyBhcyBiZWluZyBpbiB1c2UuCi0gICAgLy8gVGhpcyBpc24ndCBjdXJyZW50bHkgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIHdlbGwta25vd24ga2V5cwotICAgIC8vIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGRpcmVjdGx5IGJ5IGJpb25pYyBpdHNlbGYsIGRvIG5vdCBoYXZlCi0gICAgLy8gZGVzdHJ1Y3RvcnMsIGFuZCBhbGwgdGhlIGZ1bmN0aW9ucyB0aGF0IHRvdWNoIHRoZSBUTFMgbWFwCi0gICAgLy8gc3RhcnQgYWZ0ZXIgdGhlIG1heGltdW0gd2VsbC1rbm93biBzbG90LgotICAgIGlmICghc190bHNfbWFwXy5pc19pbml0aWFsaXplZCkgewotICAgICAgZm9yIChwdGhyZWFkX2tleV90IGtleSA9IDA7IGtleSA8IFRMU19TTE9UX0ZJUlNUX1VTRVJfU0xPVDsgKytrZXkpIHsKLSAgICAgICAgU2V0SW5Vc2Uoa2V5LCBOVUxMKTsKLSAgICAgIH0KLSAgICAgIHNfdGxzX21hcF8uaXNfaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgIH0KLSAgfQorc3RhdGljIGlubGluZSBib29sIFNlcU9mS2V5SW5Vc2UodWludHB0cl90IHNlcSkgeworICByZXR1cm4gc2VxICYgKDEgPDwgU0VRX0tFWV9JTl9VU0VfQklUKTsKK30KIAotICB+U2NvcGVkVGxzTWFwQWNjZXNzKCkgewotICAgIFVubG9jaygpOwotICB9CisjZGVmaW5lIEtFWV9WQUxJRF9GTEFHICgxIDw8IDMxKQogCi0gIGludCBDcmVhdGVLZXkocHRocmVhZF9rZXlfdCogcmVzdWx0LCB2b2lkICgqa2V5X2Rlc3RydWN0b3IpKHZvaWQqKSkgewotICAgIC8vIFRha2UgdGhlIGZpcnN0IHVuYWxsb2NhdGVkIGtleS4KLSAgICBmb3IgKGludCBrZXkgPSAwOyBrZXkgPCBCSU9OSUNfVExTX1NMT1RTOyArK2tleSkgewotICAgICAgaWYgKCFJc0luVXNlKGtleSkpIHsKLSAgICAgICAgU2V0SW5Vc2Uoa2V5LCBrZXlfZGVzdHJ1Y3Rvcik7Ci0gICAgICAgICpyZXN1bHQgPSBrZXk7Ci0gICAgICAgIHJldHVybiAwOwotICAgICAgfQotICAgIH0KK3N0YXRpY19hc3NlcnQoc2l6ZW9mKHB0aHJlYWRfa2V5X3QpID09IHNpemVvZihpbnQpICYmIHN0YXRpY19jYXN0PHB0aHJlYWRfa2V5X3Q+KC0xKSA8IDAsCisgICAgICAgICAgICAgICJwdGhyZWFkX2tleV90IHNob3VsZCBiZSB0eXBlZGVmIHRvIGludCIpOwogCi0gICAgLy8gV2UgaGl0IFBUSFJFQURfS0VZU19NQVguIFBPU0lYIHNheXMgRUFHQUlOIGZvciB0aGlzIGNhc2UuCi0gICAgcmV0dXJuIEVBR0FJTjsKLSAgfQorc3RhdGljIGlubGluZSBib29sIEtleUluVmFsaWRSYW5nZShwdGhyZWFkX2tleV90IGtleSkgeworICAvLyBrZXkgPCAwIG1lYW5zIGJpdCAzMSBpcyBzZXQuCisgIC8vIFRoZW4ga2V5IDwgKDJeMzEgfCBCSU9OSUNfUFRIUkVBRF9LRVlfQ09VTlQpIG1lYW5zIHRoZSBpbmRleCBwYXJ0IG9mIGtleSA8IEJJT05JQ19QVEhSRUFEX0tFWV9DT1VOVC4KKyAgcmV0dXJuIChrZXkgPCAoS0VZX1ZBTElEX0ZMQUcgfCBCSU9OSUNfUFRIUkVBRF9LRVlfQ09VTlQpKTsKK30KIAotICB2b2lkIERlbGV0ZUtleShwdGhyZWFkX2tleV90IGtleSkgewotICAgIFRMU01BUF9XT1JEKHNfdGxzX21hcF8sIGtleSkgJj0gflRMU01BUF9NQVNLKGtleSk7Ci0gICAgc190bHNfbWFwXy5rZXlfZGVzdHJ1Y3RvcnNba2V5XSA9IE5VTEw7Ci0gIH0KLQotICBib29sIElzSW5Vc2UocHRocmVhZF9rZXlfdCBrZXkpIHsKLSAgICByZXR1cm4gKFRMU01BUF9XT1JEKHNfdGxzX21hcF8sIGtleSkgJiBUTFNNQVBfTUFTSyhrZXkpKSAhPSAwOwotICB9Ci0KLSAgdm9pZCBTZXRJblVzZShwdGhyZWFkX2tleV90IGtleSwgdm9pZCAoKmtleV9kZXN0cnVjdG9yKSh2b2lkKikpIHsKLSAgICBUTFNNQVBfV09SRChzX3Rsc19tYXBfLCBrZXkpIHw9IFRMU01BUF9NQVNLKGtleSk7Ci0gICAgc190bHNfbWFwXy5rZXlfZGVzdHJ1Y3RvcnNba2V5XSA9IGtleV9kZXN0cnVjdG9yOwotICB9Ci0KLSAgLy8gQ2FsbGVkIGZyb20gcHRocmVhZF9leGl0KCkgdG8gcmVtb3ZlIGFsbCBUTFMga2V5IGRhdGEKLSAgLy8gZnJvbSB0aGlzIHRocmVhZCdzIFRMUyBhcmVhLiBUaGlzIG11c3QgY2FsbCB0aGUgZGVzdHJ1Y3RvciBvZiBhbGwga2V5cwotICAvLyB0aGF0IGhhdmUgYSBub24tTlVMTCBkYXRhIHZhbHVlIGFuZCBhIG5vbi1OVUxMIGRlc3RydWN0b3IuCi0gIHZvaWQgQ2xlYW5BbGwoKSB7Ci0gICAgdm9pZCoqIHRscyA9IF9fZ2V0X3RscygpOwotCi0gICAgLy8gQmVjYXVzZSBkZXN0cnVjdG9ycyBjYW4gZG8gZnVua3kgdGhpbmdzIGxpa2UgZGVsZXRpbmcvY3JlYXRpbmcgb3RoZXIKLSAgICAvLyBrZXlzLCB3ZSBuZWVkIHRvIGltcGxlbWVudCB0aGlzIGluIGEgbG9vcC4KLSAgICBmb3IgKGludCByb3VuZHMgPSBQVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUzsgcm91bmRzID4gMDsgLS1yb3VuZHMpIHsKLSAgICAgIHNpemVfdCBjYWxsZWRfZGVzdHJ1Y3Rvcl9jb3VudCA9IDA7Ci0gICAgICBmb3IgKGludCBrZXkgPSAwOyBrZXkgPCBCSU9OSUNfVExTX1NMT1RTOyArK2tleSkgewotICAgICAgICBpZiAoSXNJblVzZShrZXkpKSB7Ci0gICAgICAgICAgdm9pZCogZGF0YSA9IHRsc1trZXldOwotICAgICAgICAgIHZvaWQgKCprZXlfZGVzdHJ1Y3Rvcikodm9pZCopID0gc190bHNfbWFwXy5rZXlfZGVzdHJ1Y3RvcnNba2V5XTsKLQotICAgICAgICAgIGlmIChkYXRhICE9IE5VTEwgJiYga2V5X2Rlc3RydWN0b3IgIT0gTlVMTCkgewotICAgICAgICAgICAgLy8gd2UgbmVlZCB0byBjbGVhciB0aGUga2V5IGRhdGEgbm93LCB0aGlzIHdpbGwgcHJldmVudCB0aGUKLSAgICAgICAgICAgIC8vIGRlc3RydWN0b3IgKG9yIGEgbGF0ZXIgb25lKSBmcm9tIHNlZWluZyB0aGUgb2xkIHZhbHVlIGlmCi0gICAgICAgICAgICAvLyBpdCBjYWxscyBwdGhyZWFkX2dldHNwZWNpZmljKCkgZm9yIHNvbWUgb2RkIHJlYXNvbgotCi0gICAgICAgICAgICAvLyB3ZSBkbyBub3QgZG8gdGhpcyBpZiAna2V5X2Rlc3RydWN0b3IgPT0gTlVMTCcganVzdCBpbiBjYXNlIGFub3RoZXIKLSAgICAgICAgICAgIC8vIGRlc3RydWN0b3IgZnVuY3Rpb24gbWlnaHQgYmUgcmVzcG9uc2libGUgZm9yIG1hbnVhbGx5Ci0gICAgICAgICAgICAvLyByZWxlYXNpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YS4KLSAgICAgICAgICAgIHRsc1trZXldID0gTlVMTDsKLQotICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGUgZGVzdHJ1Y3RvciBpcyBmcmVlIHRvIGNhbGwgcHRocmVhZF9rZXlfY3JlYXRlCi0gICAgICAgICAgICAvLyBhbmQvb3IgcHRocmVhZF9rZXlfZGVsZXRlLCB3ZSBuZWVkIHRvIHRlbXBvcmFyaWx5IHVubG9jawotICAgICAgICAgICAgLy8gdGhlIFRMUyBtYXAKLSAgICAgICAgICAgIFVubG9jaygpOwotICAgICAgICAgICAgKCprZXlfZGVzdHJ1Y3RvcikoZGF0YSk7Ci0gICAgICAgICAgICBMb2NrKCk7Ci0gICAgICAgICAgICArK2NhbGxlZF9kZXN0cnVjdG9yX2NvdW50OwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotCi0gICAgICAvLyBJZiB3ZSBkaWRuJ3QgY2FsbCBhbnkgZGVzdHJ1Y3RvcnMsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgdGhlIFRMUyBkYXRhIGFnYWluLgotICAgICAgaWYgKGNhbGxlZF9kZXN0cnVjdG9yX2NvdW50ID09IDApIHsKLSAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSBwcml2YXRlOgotICBzdGF0aWMgdGxzX21hcF90IHNfdGxzX21hcF87Ci0gIHN0YXRpYyBwdGhyZWFkX211dGV4X3Qgc190bHNfbWFwX2xvY2tfOwotCi0gIHZvaWQgTG9jaygpIHsKLSAgICBwdGhyZWFkX211dGV4X2xvY2soJnNfdGxzX21hcF9sb2NrXyk7Ci0gIH0KLQotICB2b2lkIFVubG9jaygpIHsKLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmc190bHNfbWFwX2xvY2tfKTsKLSAgfQotfTsKLQotX19MSUJDX0hJRERFTl9fIHRsc19tYXBfdCBTY29wZWRUbHNNYXBBY2Nlc3M6OnNfdGxzX21hcF87Ci1fX0xJQkNfSElEREVOX18gcHRocmVhZF9tdXRleF90IFNjb3BlZFRsc01hcEFjY2Vzczo6c190bHNfbWFwX2xvY2tfOwotCisvLyBDYWxsZWQgZnJvbSBwdGhyZWFkX2V4aXQoKSB0byByZW1vdmUgYWxsIHB0aHJlYWQga2V5cy4gVGhpcyBtdXN0IGNhbGwgdGhlIGRlc3RydWN0b3Igb2YKKy8vIGFsbCBrZXlzIHRoYXQgaGF2ZSBhIG5vbi1OVUxMIGRhdGEgdmFsdWUgYW5kIGEgbm9uLU5VTEwgZGVzdHJ1Y3Rvci4KIF9fTElCQ19ISURERU5fXyB2b2lkIHB0aHJlYWRfa2V5X2NsZWFuX2FsbCgpIHsKLSAgU2NvcGVkVGxzTWFwQWNjZXNzIHRsc19tYXA7Ci0gIHRsc19tYXAuQ2xlYW5BbGwoKTsKKyAgLy8gQmVjYXVzZSBkZXN0cnVjdG9ycyBjYW4gZG8gZnVua3kgdGhpbmdzIGxpa2UgZGVsZXRpbmcvY3JlYXRpbmcgb3RoZXIga2V5cywKKyAgLy8gd2UgbmVlZCB0byBpbXBsZW1lbnQgdGhpcyBpbiBhIGxvb3AuCisgIHB0aHJlYWRfa2V5X2RhdGFfdCoga2V5X2RhdGEgPSBfX2dldF90aHJlYWQoKS0+a2V5X2RhdGE7CisgIGZvciAoc2l6ZV90IHJvdW5kcyA9IFBUSFJFQURfREVTVFJVQ1RPUl9JVEVSQVRJT05TOyByb3VuZHMgPiAwOyAtLXJvdW5kcykgeworICAgIHNpemVfdCBjYWxsZWRfZGVzdHJ1Y3Rvcl9jb3VudCA9IDA7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBCSU9OSUNfUFRIUkVBRF9LRVlfQ09VTlQ7ICsraSkgeworICAgICAgdWludHB0cl90IHNlcSA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZrZXlfbWFwW2ldLnNlcSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICAgICAgaWYgKFNlcU9mS2V5SW5Vc2Uoc2VxKSAmJiBzZXEgPT0ga2V5X2RhdGFbaV0uc2VxICYmIGtleV9kYXRhW2ldLmRhdGEgIT0gTlVMTCkgeworICAgICAgICAvLyBPdGhlciB0aHJlYWRzIG1heSBiZSBjYWxsaW5nIHB0aHJlYWRfa2V5X2RlbGV0ZS9wdGhyZWFkX2tleV9jcmVhdGUgd2hpbGUgY3VycmVudCB0aHJlYWQKKyAgICAgICAgLy8gaXMgZXhpdGluZy4gU28gd2UgbmVlZCB0byBlbnN1cmUgd2UgcmVhZCB0aGUgcmlnaHQga2V5X2Rlc3RydWN0b3IuCisgICAgICAgIC8vIFdlIGNhbiByZWx5IG9uIGEgdXNlci1lc3RhYmxpc2hlZCBoYXBwZW5zLWJlZm9yZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgY3JlYXRpb24gYW5kCisgICAgICAgIC8vIHVzZSBvZiBwdGhyZWFkIGtleSB0byBlbnN1cmUgdGhhdCB3ZSdyZSBub3QgZ2V0dGluZyBhbiBlYXJsaWVyIGtleV9kZXN0cnVjdG9yLgorICAgICAgICAvLyBUbyBhdm9pZCB1c2luZyB0aGUga2V5X2Rlc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNyZWF0ZWQga2V5IGluIHRoZSBzYW1lIHNsb3QsIHdlIG5lZWQgdG8KKyAgICAgICAgLy8gcmVjaGVjayB0aGUgc2VxdWVuY2UgbnVtYmVyIGFmdGVyIHJlYWRpbmcga2V5X2Rlc3RydWN0b3IuIEFzIGEgcmVzdWx0LCB3ZSBlaXRoZXIgc2VlIHRoZQorICAgICAgICAvLyByaWdodCBrZXlfZGVzdHJ1Y3Rvciwgb3IgdGhlIHNlcXVlbmNlIG51bWJlciBtdXN0IGhhdmUgY2hhbmdlZCB3aGVuIHdlIHJlcmVhZCBpdCBiZWxvdy4KKyAgICAgICAga2V5X2Rlc3RydWN0b3JfdCBrZXlfZGVzdHJ1Y3RvciA9IHJlaW50ZXJwcmV0X2Nhc3Q8a2V5X2Rlc3RydWN0b3JfdD4oCisgICAgICAgICAgYXRvbWljX2xvYWRfZXhwbGljaXQoJmtleV9tYXBbaV0ua2V5X2Rlc3RydWN0b3IsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSk7CisgICAgICAgIGlmIChrZXlfZGVzdHJ1Y3RvciA9PSBOVUxMKSB7CisgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcnlfb3JkZXJfYWNxdWlyZSk7CisgICAgICAgIGlmIChhdG9taWNfbG9hZF9leHBsaWNpdCgma2V5X21hcFtpXS5zZXEsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSAhPSBzZXEpIHsKKyAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIHRoZSBrZXkgZGF0YSBub3csIHRoaXMgd2lsbCBwcmV2ZW50IHRoZSBkZXN0cnVjdG9yIChvciBhIGxhdGVyIG9uZSkKKyAgICAgICAgLy8gZnJvbSBzZWVpbmcgdGhlIG9sZCB2YWx1ZSBpZiBpdCBjYWxscyBwdGhyZWFkX2dldHNwZWNpZmljKCkuCisgICAgICAgIC8vIFdlIGRvbid0IGRvIHRoaXMgaWYgJ2tleV9kZXN0cnVjdG9yID09IE5VTEwnIGp1c3QgaW4gY2FzZSBhbm90aGVyIGRlc3RydWN0b3IKKyAgICAgICAgLy8gZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG1hbnVhbGx5IHJlbGVhc2luZyB0aGUgY29ycmVzcG9uZGluZyBkYXRhLgorICAgICAgICB2b2lkKiBkYXRhID0ga2V5X2RhdGFbaV0uZGF0YTsKKyAgICAgICAga2V5X2RhdGFbaV0uZGF0YSA9IE5VTEw7CisKKyAgICAgICAgKCprZXlfZGVzdHJ1Y3RvcikoZGF0YSk7CisgICAgICAgICsrY2FsbGVkX2Rlc3RydWN0b3JfY291bnQ7CisgICAgICB9CisgICAgfQorCisgICAgLy8gSWYgd2UgZGlkbid0IGNhbGwgYW55IGRlc3RydWN0b3JzLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIHRoZSBwdGhyZWFkIGtleXMgYWdhaW4uCisgICAgaWYgKGNhbGxlZF9kZXN0cnVjdG9yX2NvdW50ID09IDApIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQogfQogCiBpbnQgcHRocmVhZF9rZXlfY3JlYXRlKHB0aHJlYWRfa2V5X3QqIGtleSwgdm9pZCAoKmtleV9kZXN0cnVjdG9yKSh2b2lkKikpIHsKLSAgU2NvcGVkVGxzTWFwQWNjZXNzIHRsc19tYXA7Ci0gIHJldHVybiB0bHNfbWFwLkNyZWF0ZUtleShrZXksIGtleV9kZXN0cnVjdG9yKTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBCSU9OSUNfUFRIUkVBRF9LRVlfQ09VTlQ7ICsraSkgeworICAgIHVpbnRwdHJfdCBzZXEgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgma2V5X21hcFtpXS5zZXEsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICB3aGlsZSAoIVNlcU9mS2V5SW5Vc2Uoc2VxKSkgeworICAgICAgaWYgKGF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWsoJmtleV9tYXBbaV0uc2VxLCAmc2VxLCBzZXEgKyBTRVFfSU5DUkVNRU5UX1NURVApKSB7CisgICAgICAgIGF0b21pY19zdG9yZSgma2V5X21hcFtpXS5rZXlfZGVzdHJ1Y3RvciwgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGtleV9kZXN0cnVjdG9yKSk7CisgICAgICAgICprZXkgPSBpIHwgS0VZX1ZBTElEX0ZMQUc7CisgICAgICAgIHJldHVybiAwOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gRUFHQUlOOwogfQogCiAvLyBEZWxldGVzIGEgcHRocmVhZF9rZXlfdC4gbm90ZSB0aGF0IHRoZSBzdGFuZGFyZCBtYW5kYXRlcyB0aGF0IHRoaXMgZG9lcwpAQCAtMjAzLDUyICsxMzQsNDkgQEAKIC8vIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXIgdG8gcHJvcGVybHkgZGlzcG9zZSBvZiB0aGUgY29ycmVzcG9uZGluZyBkYXRhCiAvLyBhbmQgcmVzb3VyY2VzLCB1c2luZyBhbnkgbWVhbnMgaXQgZmluZHMgc3VpdGFibGUuCiBpbnQgcHRocmVhZF9rZXlfZGVsZXRlKHB0aHJlYWRfa2V5X3Qga2V5KSB7Ci0gIFNjb3BlZFRsc01hcEFjY2VzcyB0bHNfbWFwOwotCi0gIGlmICghSXNWYWxpZFVzZXJLZXkoa2V5KSB8fCAhdGxzX21hcC5Jc0luVXNlKGtleSkpIHsKKyAgaWYgKF9fcHJlZGljdF9mYWxzZSghS2V5SW5WYWxpZFJhbmdlKGtleSkpKSB7CiAgICAgcmV0dXJuIEVJTlZBTDsKICAgfQotCi0gIC8vIENsZWFyIHZhbHVlIGluIGFsbCB0aHJlYWRzLgotICBwdGhyZWFkX211dGV4X2xvY2soJmdfdGhyZWFkX2xpc3RfbG9jayk7Ci0gIGZvciAocHRocmVhZF9pbnRlcm5hbF90KiAgdCA9IGdfdGhyZWFkX2xpc3Q7IHQgIT0gTlVMTDsgdCA9IHQtPm5leHQpIHsKLSAgICAvLyBTa2lwIHpvbWJpZSB0aHJlYWRzLiBUaGV5IGRvbid0IGhhdmUgYSB2YWxpZCBUTFMgYXJlYSBhbnkgbW9yZS4KLSAgICAvLyBTaW1pbGFybHksIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgdC0+dGxzID09IE5VTEwgZm9yIHRocmVhZHMgdGhhdAotICAgIC8vIHdlcmUganVzdCByZWNlbnRseSBjcmVhdGVkIHRocm91Z2ggcHRocmVhZF9jcmVhdGUoKSBidXQgd2hvc2UKLSAgICAvLyBzdGFydHVwIHRyYW1wb2xpbmUgKF9fcHRocmVhZF9zdGFydCkgaGFzbid0IGJlZW4gcnVuIHlldCBieSB0aGUKLSAgICAvLyBzY2hlZHVsZXIuIHQtPnRscyB3aWxsIGFsc28gYmUgTlVMTCBhZnRlciBhIHRocmVhZCdzIHN0YWNrIGhhcyBiZWVuCi0gICAgLy8gdW5tYXBwZWQgYnV0IGJlZm9yZSB0aGUgb25nb2luZyBwdGhyZWFkX2pvaW4oKSBpcyBmaW5pc2hlZC4KLSAgICBpZiAodC0+dGlkID09IDAgfHwgdC0+dGxzID09IE5VTEwpIHsKLSAgICAgIGNvbnRpbnVlOworICBrZXkgJj0gfktFWV9WQUxJRF9GTEFHOworICAvLyBJbmNyZWFzZSBzZXEgdG8gaW52YWxpZGF0ZSB2YWx1ZXMgaW4gYWxsIHRocmVhZHMuCisgIHVpbnRwdHJfdCBzZXEgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgma2V5X21hcFtrZXldLnNlcSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICBpZiAoU2VxT2ZLZXlJblVzZShzZXEpKSB7CisgICAgaWYgKGF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZygma2V5X21hcFtrZXldLnNlcSwgJnNlcSwgc2VxICsgU0VRX0lOQ1JFTUVOVF9TVEVQKSkgeworICAgICAgcmV0dXJuIDA7CiAgICAgfQotCi0gICAgdC0+dGxzW2tleV0gPSBOVUxMOwogICB9Ci0gIHRsc19tYXAuRGVsZXRlS2V5KGtleSk7Ci0KLSAgcHRocmVhZF9tdXRleF91bmxvY2soJmdfdGhyZWFkX2xpc3RfbG9jayk7Ci0gIHJldHVybiAwOworICByZXR1cm4gRUlOVkFMOwogfQogCiB2b2lkKiBwdGhyZWFkX2dldHNwZWNpZmljKHB0aHJlYWRfa2V5X3Qga2V5KSB7Ci0gIGlmICghSXNWYWxpZFVzZXJLZXkoa2V5KSkgeworICBpZiAoX19wcmVkaWN0X2ZhbHNlKCFLZXlJblZhbGlkUmFuZ2Uoa2V5KSkpIHsKICAgICByZXR1cm4gTlVMTDsKICAgfQotCi0gIC8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB3ZSBkbyBub3QgbG9jay91bmxvY2sgdGhlIGdsb2JhbCBUTFMgbWFwCi0gIC8vIHRvIGNoZWNrIHRoYXQgdGhlIGtleSBpcyBwcm9wZXJseSBhbGxvY2F0ZWQuIElmIHRoZSBrZXkgd2FzIG5vdAotICAvLyBhbGxvY2F0ZWQsIHRoZSB2YWx1ZSByZWFkIGZyb20gdGhlIFRMUyBzaG91bGQgYWx3YXlzIGJlIE5VTEwKLSAgLy8gZHVlIHRvIHB0aHJlYWRfa2V5X2RlbGV0ZSgpIGNsZWFyaW5nIHRoZSB2YWx1ZXMgZm9yIGFsbCB0aHJlYWRzLgotICByZXR1cm4gX19nZXRfdGxzKClba2V5XTsKKyAga2V5ICY9IH5LRVlfVkFMSURfRkxBRzsKKyAgdWludHB0cl90IHNlcSA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZrZXlfbWFwW2tleV0uc2VxLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgIHB0aHJlYWRfa2V5X2RhdGFfdCogZGF0YSA9ICYoX19nZXRfdGhyZWFkKCktPmtleV9kYXRhW2tleV0pOworICAvLyBJdCBpcyB1c2VyJ3MgcmVzcG9uc2liaWxpdHkgdG8gc3luY2hvcm5pemUgYmV0d2VlbiB0aGUgY3JlYXRpb24gYW5kIHVzZSBvZiBwdGhyZWFkIGtleXMsCisgIC8vIHNvIHdlIHVzZSBtZW1vcnlfb3JkZXJfcmVsYXhlZCB3aGVuIGNoZWNraW5nIHRoZSBzZXF1ZW5jZSBudW1iZXIuCisgIGlmIChfX3ByZWRpY3RfdHJ1ZShTZXFPZktleUluVXNlKHNlcSkgJiYgZGF0YS0+c2VxID09IHNlcSkpIHsKKyAgICByZXR1cm4gZGF0YS0+ZGF0YTsKKyAgfQorICAvLyBXZSBhcnJpdmUgaGVyZSB3aGVuIGN1cnJlbnQgdGhyZWFkIGhvbGRzIHRoZSBzZXEgb2YgYW4gZGVsZXRlZCBwdGhyZWFkIGtleS4gU28gdGhlCisgIC8vIGRhdGEgaXMgZm9yIHRoZSBkZWxldGVkIHB0aHJlYWQga2V5LCBhbmQgc2hvdWxkIGJlIGNsZWFyZWQuCisgIGRhdGEtPmRhdGEgPSBOVUxMOworICByZXR1cm4gTlVMTDsKIH0KIAogaW50IHB0aHJlYWRfc2V0c3BlY2lmaWMocHRocmVhZF9rZXlfdCBrZXksIGNvbnN0IHZvaWQqIHB0cikgewotICBTY29wZWRUbHNNYXBBY2Nlc3MgdGxzX21hcDsKLQotICBpZiAoIUlzVmFsaWRVc2VyS2V5KGtleSkgfHwgIXRsc19tYXAuSXNJblVzZShrZXkpKSB7CisgIGlmIChfX3ByZWRpY3RfZmFsc2UoIUtleUluVmFsaWRSYW5nZShrZXkpKSkgewogICAgIHJldHVybiBFSU5WQUw7CiAgIH0KLQotICBfX2dldF90bHMoKVtrZXldID0gY29uc3RfY2FzdDx2b2lkKj4ocHRyKTsKLSAgcmV0dXJuIDA7CisgIGtleSAmPSB+S0VZX1ZBTElEX0ZMQUc7CisgIHVpbnRwdHJfdCBzZXEgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgma2V5X21hcFtrZXldLnNlcSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICBpZiAoX19wcmVkaWN0X3RydWUoU2VxT2ZLZXlJblVzZShzZXEpKSkgeworICAgIHB0aHJlYWRfa2V5X2RhdGFfdCogZGF0YSA9ICYoX19nZXRfdGhyZWFkKCktPmtleV9kYXRhW2tleV0pOworICAgIGRhdGEtPnNlcSA9IHNlcTsKKyAgICBkYXRhLT5kYXRhID0gY29uc3RfY2FzdDx2b2lkKj4ocHRyKTsKKyAgICByZXR1cm4gMDsKKyAgfQorICByZXR1cm4gRUlOVkFMOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcHRocmVhZF9raWxsLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfa2lsbC5jcHAKaW5kZXggMTYzMzE3ZS4uOTM1MTNmYSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZF9raWxsLmNwcAorKysgYi9saWJjL2Jpb25pYy9wdGhyZWFkX2tpbGwuY3BwCkBAIC0zMCwyNiArMzAsMTcgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KIAogI2luY2x1ZGUgInByaXZhdGUvRXJybm9SZXN0b3Jlci5oIgotI2luY2x1ZGUgInB0aHJlYWRfYWNjZXNzb3IuaCIKKyNpbmNsdWRlICJwdGhyZWFkX2ludGVybmFsLmgiCiAKIGV4dGVybiAiQyIgaW50IHRna2lsbChpbnQgdGdpZCwgaW50IHRpZCwgaW50IHNpZyk7CiAKIGludCBwdGhyZWFkX2tpbGwocHRocmVhZF90IHQsIGludCBzaWcpIHsKICAgRXJybm9SZXN0b3JlciBlcnJub19yZXN0b3JlcjsKIAotICBwdGhyZWFkX2FjY2Vzc29yIHRocmVhZCh0KTsKLSAgaWYgKHRocmVhZC5nZXQoKSA9PSBOVUxMKSB7CisgIHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkID0gX19wdGhyZWFkX2ludGVybmFsX2ZpbmQodCk7CisgIGlmICh0aHJlYWQgPT0gTlVMTCkgewogICAgIHJldHVybiBFU1JDSDsKICAgfQogCi0gIC8vIFRoZXJlJ3MgYSByYWNlIGhlcmUsIGJ1dCBpdCdzIG9uZSB3ZSBzaGFyZSB3aXRoIGFsbCBvdGhlciBDIGxpYnJhcmllcy4KLSAgcGlkX3QgdGlkID0gdGhyZWFkLT50aWQ7Ci0gIHRocmVhZC5VbmxvY2soKTsKLQotICBpbnQgcmMgPSB0Z2tpbGwoZ2V0cGlkKCksIHRpZCwgc2lnKTsKLSAgaWYgKHJjID09IC0xKSB7Ci0gICAgcmV0dXJuIGVycm5vOwotICB9Ci0KLSAgcmV0dXJuIDA7CisgIHJldHVybiAodGdraWxsKGdldHBpZCgpLCB0aHJlYWQtPnRpZCwgc2lnKSA9PSAtMSkgPyBlcnJubyA6IDA7CiB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX211dGV4LmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfbXV0ZXguY3BwCmluZGV4IGFlMjU1N2YuLjRmZWM3NTMgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfbXV0ZXguY3BwCisrKyBiL2xpYmMvYmlvbmljL3B0aHJlYWRfbXV0ZXguY3BwCkBAIC0zMCwxNjkgKzMwLDIwIEBACiAKICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKICNpbmNsdWRlICJwdGhyZWFkX2ludGVybmFsLmgiCiAKLSNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19hdG9taWNfaW5saW5lLmgiCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfY29uc3RhbnRzLmgiCiAjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfZnV0ZXguaCIKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19zeXN0cmFjZS5oIgorI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3RpbWVfY29udmVyc2lvbnMuaCIKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190bHMuaCIKIAotZXh0ZXJuIHZvaWQgcHRocmVhZF9kZWJ1Z19tdXRleF9sb2NrX2NoZWNrKHB0aHJlYWRfbXV0ZXhfdCAqbXV0ZXgpOwotZXh0ZXJuIHZvaWQgcHRocmVhZF9kZWJ1Z19tdXRleF91bmxvY2tfY2hlY2socHRocmVhZF9tdXRleF90ICptdXRleCk7Ci0KLS8qIGEgbXV0ZXggaXMgaW1wbGVtZW50ZWQgYXMgYSAzMi1iaXQgaW50ZWdlciBob2xkaW5nIHRoZSBmb2xsb3dpbmcgZmllbGRzCi0gKgotICogYml0czogICAgIG5hbWUgICAgIGRlc2NyaXB0aW9uCi0gKiAzMS0xNiAgICAgdGlkICAgICAgb3duZXIgdGhyZWFkJ3MgdGlkIChyZWN1cnNpdmUgYW5kIGVycm9yY2hlY2sgb25seSkKLSAqIDE1LTE0ICAgICB0eXBlICAgICBtdXRleCB0eXBlCi0gKiAxMyAgICAgICAgc2hhcmVkICAgcHJvY2Vzcy1zaGFyZWQgZmxhZwotICogMTItMiAgICAgIGNvdW50ZXIgIGNvdW50ZXIgb2YgcmVjdXJzaXZlIG11dGV4ZXMKLSAqIDEtMCAgICAgICBzdGF0ZSAgICBsb2NrIHN0YXRlICgwLCAxIG9yIDIpCi0gKi8KLQotLyogQ29udmVuaWVuY2UgbWFjcm8sIGNyZWF0ZXMgYSBtYXNrIG9mICdiaXRzJyBiaXRzIHRoYXQgc3RhcnRzIGZyb20KLSAqIHRoZSAnc2hpZnQnLXRoIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiBhIDMyLWJpdCB3b3JkLgotICoKLSAqIEV4YW1wbGVzOiBGSUVMRF9NQVNLKDAsNCkgIC0+IDB4ZgotICogICAgICAgICAgIEZJRUxEX01BU0soMTYsOSkgLT4gMHgxZmYwMDAwCi0gKi8KLSNkZWZpbmUgIEZJRUxEX01BU0soc2hpZnQsYml0cykgICAgICAgICAgICgoKDEgPDwgKGJpdHMpKS0xKSA8PCAoc2hpZnQpKQotCi0vKiBUaGlzIG9uZSBpcyB1c2VkIHRvIGNyZWF0ZSBhIGJpdCBwYXR0ZXJuIGZyb20gYSBnaXZlbiBmaWVsZCB2YWx1ZSAqLwotI2RlZmluZSAgRklFTERfVE9fQklUUyh2YWwsc2hpZnQsYml0cykgICAgKCgodmFsKSAmICgoMSA8PCAoYml0cykpLTEpKSA8PCAoc2hpZnQpKQotCi0vKiBBbmQgdGhpcyBvbmUgZG9lcyB0aGUgb3Bwb3NpdGUsIGkuZS4gZXh0cmFjdCBhIGZpZWxkJ3MgdmFsdWUgZnJvbSBhIGJpdCBwYXR0ZXJuICovCi0jZGVmaW5lICBGSUVMRF9GUk9NX0JJVFModmFsLHNoaWZ0LGJpdHMpICAoKCh2YWwpID4+IChzaGlmdCkpICYgKCgxIDw8IChiaXRzKSktMSkpCi0KLS8qIE11dGV4IHN0YXRlOgotICoKLSAqIDAgZm9yIHVubG9ja2VkCi0gKiAxIGZvciBsb2NrZWQsIG5vIHdhaXRlcnMKLSAqIDIgZm9yIGxvY2tlZCwgbWF5YmUgd2FpdGVycwotICovCi0jZGVmaW5lICBNVVRFWF9TVEFURV9TSElGVCAgICAgIDAKLSNkZWZpbmUgIE1VVEVYX1NUQVRFX0xFTiAgICAgICAgMgotCi0jZGVmaW5lICBNVVRFWF9TVEFURV9NQVNLICAgICAgICAgICBGSUVMRF9NQVNLKE1VVEVYX1NUQVRFX1NISUZULCBNVVRFWF9TVEFURV9MRU4pCi0jZGVmaW5lICBNVVRFWF9TVEFURV9GUk9NX0JJVFModikgICBGSUVMRF9GUk9NX0JJVFModiwgTVVURVhfU1RBVEVfU0hJRlQsIE1VVEVYX1NUQVRFX0xFTikKLSNkZWZpbmUgIE1VVEVYX1NUQVRFX1RPX0JJVFModikgICAgIEZJRUxEX1RPX0JJVFModiwgTVVURVhfU1RBVEVfU0hJRlQsIE1VVEVYX1NUQVRFX0xFTikKLQotI2RlZmluZSAgTVVURVhfU1RBVEVfVU5MT0NLRUQgICAgICAgICAgICAwICAgLyogbXVzdCBiZSAwIHRvIG1hdGNoIF9fUFRIUkVBRF9NVVRFWF9JTklUX1ZBTFVFICovCi0jZGVmaW5lICBNVVRFWF9TVEFURV9MT0NLRURfVU5DT05URU5ERUQgIDEgICAvKiBtdXN0IGJlIDEgZHVlIHRvIGF0b21pYyBkZWMgaW4gdW5sb2NrIG9wZXJhdGlvbiAqLwotI2RlZmluZSAgTVVURVhfU1RBVEVfTE9DS0VEX0NPTlRFTkRFRCAgICAyICAgLyogbXVzdCBiZSAxICsgTE9DS0VEX1VOQ09OVEVOREVEIGR1ZSB0byBhdG9taWMgZGVjICovCi0KLSNkZWZpbmUgIE1VVEVYX1NUQVRFX0ZST01fQklUUyh2KSAgICBGSUVMRF9GUk9NX0JJVFModiwgTVVURVhfU1RBVEVfU0hJRlQsIE1VVEVYX1NUQVRFX0xFTikKLSNkZWZpbmUgIE1VVEVYX1NUQVRFX1RPX0JJVFModikgICAgICBGSUVMRF9UT19CSVRTKHYsIE1VVEVYX1NUQVRFX1NISUZULCBNVVRFWF9TVEFURV9MRU4pCi0KLSNkZWZpbmUgIE1VVEVYX1NUQVRFX0JJVFNfVU5MT0NLRUQgICAgICAgICAgICBNVVRFWF9TVEFURV9UT19CSVRTKE1VVEVYX1NUQVRFX1VOTE9DS0VEKQotI2RlZmluZSAgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQgIE1VVEVYX1NUQVRFX1RPX0JJVFMoTVVURVhfU1RBVEVfTE9DS0VEX1VOQ09OVEVOREVEKQotI2RlZmluZSAgTVVURVhfU1RBVEVfQklUU19MT0NLRURfQ09OVEVOREVEICAgIE1VVEVYX1NUQVRFX1RPX0JJVFMoTVVURVhfU1RBVEVfTE9DS0VEX0NPTlRFTkRFRCkKLQotLyogcmV0dXJuIHRydWUgaWZmIHRoZSBtdXRleCBpZiBsb2NrZWQgd2l0aCBubyB3YWl0ZXJzICovCi0jZGVmaW5lICBNVVRFWF9TVEFURV9CSVRTX0lTX0xPQ0tFRF9VTkNPTlRFTkRFRCh2KSAgKCgodikgJiBNVVRFWF9TVEFURV9NQVNLKSA9PSBNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9VTkNPTlRFTkRFRCkKLQotLyogcmV0dXJuIHRydWUgaWZmIHRoZSBtdXRleCBpZiBsb2NrZWQgd2l0aCBtYXliZSB3YWl0ZXJzICovCi0jZGVmaW5lICBNVVRFWF9TVEFURV9CSVRTX0lTX0xPQ0tFRF9DT05URU5ERUQodikgICAoKCh2KSAmIE1VVEVYX1NUQVRFX01BU0spID09IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRCkKLQotLyogdXNlZCB0byBmbGlwIGZyb20gTE9DS0VEX1VOQ09OVEVOREVEIHRvIExPQ0tFRF9DT05URU5ERUQgKi8KLSNkZWZpbmUgIE1VVEVYX1NUQVRFX0JJVFNfRkxJUF9DT05URU5USU9OKHYpICAgICAgKCh2KSBeIChNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9DT05URU5ERUQgXiBNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9VTkNPTlRFTkRFRCkpCi0KLS8qIE11dGV4IGNvdW50ZXI6Ci0gKgotICogV2UgbmVlZCB0byBjaGVjayBmb3Igb3ZlcmZsb3cgYmVmb3JlIGluY3JlbWVudGluZywgYW5kIHdlIGFsc28gbmVlZCB0bwotICogZGV0ZWN0IHdoZW4gdGhlIGNvdW50ZXIgaXMgMAotICovCi0jZGVmaW5lICBNVVRFWF9DT1VOVEVSX1NISUZUICAgICAgICAgMgotI2RlZmluZSAgTVVURVhfQ09VTlRFUl9MRU4gICAgICAgICAgIDExCi0jZGVmaW5lICBNVVRFWF9DT1VOVEVSX01BU0sgICAgICAgICAgRklFTERfTUFTSyhNVVRFWF9DT1VOVEVSX1NISUZULCBNVVRFWF9DT1VOVEVSX0xFTikKLQotI2RlZmluZSAgTVVURVhfQ09VTlRFUl9CSVRTX1dJTExfT1ZFUkZMT1codikgICAgKCgodikgJiBNVVRFWF9DT1VOVEVSX01BU0spID09IE1VVEVYX0NPVU5URVJfTUFTSykKLSNkZWZpbmUgIE1VVEVYX0NPVU5URVJfQklUU19JU19aRVJPKHYpICAgICAgICAgICgoKHYpICYgTVVURVhfQ09VTlRFUl9NQVNLKSA9PSAwKQotCi0vKiBVc2VkIHRvIGluY3JlbWVudCB0aGUgY291bnRlciBkaXJlY3RseSBhZnRlciBvdmVyZmxvdyBoYXMgYmVlbiBjaGVja2VkICovCi0jZGVmaW5lICBNVVRFWF9DT1VOVEVSX0JJVFNfT05FICAgICAgRklFTERfVE9fQklUUygxLE1VVEVYX0NPVU5URVJfU0hJRlQsTVVURVhfQ09VTlRFUl9MRU4pCi0KLS8qIFJldHVybnMgdHJ1ZSBpZmYgdGhlIGNvdW50ZXIgaXMgMCAqLwotI2RlZmluZSAgTVVURVhfQ09VTlRFUl9CSVRTX0FSRV9aRVJPKHYpICAoKCh2KSAmIE1VVEVYX0NPVU5URVJfTUFTSykgPT0gMCkKLQotLyogTXV0ZXggc2hhcmVkIGJpdCBmbGFnCi0gKgotICogVGhpcyBmbGFnIGlzIHNldCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBtdXRleCBpcyBzaGFyZWQgYW1vbmcgcHJvY2Vzc2VzLgotICogVGhpcyBjaGFuZ2VzIHRoZSBmdXRleCBvcGNvZGUgd2UgdXNlIGZvciBmdXRleCB3YWl0L3dha2Ugb3BlcmF0aW9ucwotICogKG5vbi1zaGFyZWQgb3BlcmF0aW9ucyBhcmUgbXVjaCBmYXN0ZXIpLgotICovCi0jZGVmaW5lICBNVVRFWF9TSEFSRURfU0hJRlQgICAgMTMKLSNkZWZpbmUgIE1VVEVYX1NIQVJFRF9NQVNLICAgICBGSUVMRF9NQVNLKE1VVEVYX1NIQVJFRF9TSElGVCwxKQotCi0vKiBNdXRleCB0eXBlOgotICoKLSAqIFdlIHN1cHBvcnQgbm9ybWFsLCByZWN1cnNpdmUgYW5kIGVycm9yY2hlY2sgbXV0ZXhlcy4KLSAqCi0gKiBUaGUgY29uc3RhbnRzIGRlZmluZWQgaGVyZSAqY2Fubm90KiBiZSBjaGFuZ2VkIGJlY2F1c2UgdGhleSBtdXN0IG1hdGNoCi0gKiB0aGUgQyBsaWJyYXJ5IEFCSSB3aGljaCBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgaW5pdGlhbGl6YXRpb24gdmFsdWVzIGluCi0gKiA8cHRocmVhZC5oPjoKLSAqCi0gKiAgIF9fUFRIUkVBRF9NVVRFWF9JTklUX1ZBTFVFCi0gKiAgIF9fUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfVkFMVUUKLSAqICAgX19QVEhSRUFEX0VSUk9SQ0hFQ0tfTVVURVhfSU5JVF9WQUxVRQotICovCi0jZGVmaW5lICBNVVRFWF9UWVBFX1NISUZUICAgICAgMTQKLSNkZWZpbmUgIE1VVEVYX1RZUEVfTEVOICAgICAgICAyCi0jZGVmaW5lICBNVVRFWF9UWVBFX01BU0sgICAgICAgRklFTERfTUFTSyhNVVRFWF9UWVBFX1NISUZULE1VVEVYX1RZUEVfTEVOKQotCi0jZGVmaW5lICBNVVRFWF9UWVBFX05PUk1BTCAgICAgICAgICAwICAvKiBNdXN0IGJlIDAgdG8gbWF0Y2ggX19QVEhSRUFEX01VVEVYX0lOSVRfVkFMVUUgKi8KLSNkZWZpbmUgIE1VVEVYX1RZUEVfUkVDVVJTSVZFICAgICAgIDEKLSNkZWZpbmUgIE1VVEVYX1RZUEVfRVJST1JDSEVDSyAgICAgIDIKLQotI2RlZmluZSAgTVVURVhfVFlQRV9UT19CSVRTKHQpICAgICAgIEZJRUxEX1RPX0JJVFModCwgTVVURVhfVFlQRV9TSElGVCwgTVVURVhfVFlQRV9MRU4pCi0KLSNkZWZpbmUgIE1VVEVYX1RZUEVfQklUU19OT1JNQUwgICAgICBNVVRFWF9UWVBFX1RPX0JJVFMoTVVURVhfVFlQRV9OT1JNQUwpCi0jZGVmaW5lICBNVVRFWF9UWVBFX0JJVFNfUkVDVVJTSVZFICAgTVVURVhfVFlQRV9UT19CSVRTKE1VVEVYX1RZUEVfUkVDVVJTSVZFKQotI2RlZmluZSAgTVVURVhfVFlQRV9CSVRTX0VSUk9SQ0hFQ0sgIE1VVEVYX1RZUEVfVE9fQklUUyhNVVRFWF9UWVBFX0VSUk9SQ0hFQ0spCi0KLS8qIE11dGV4IG93bmVyIGZpZWxkOgotICoKLSAqIFRoaXMgaXMgb25seSB1c2VkIGZvciByZWN1cnNpdmUgYW5kIGVycm9yY2hlY2sgbXV0ZXhlcy4gSXQgaG9sZHMgdGhlCi0gKiB0aWQgb2YgdGhlIG93bmluZyB0aHJlYWQuIE5vdGUgdGhhdCB0aGlzIHdvcmtzIGJlY2F1c2UgdGhlIExpbnV4Ci0gKiBrZXJuZWwgX29ubHlfIHVzZXMgMTYtYml0IHZhbHVlcyBmb3IgdGlkcy4KLSAqCi0gKiBNb3JlIHNwZWNpZmljYWxseSwgaXQgd2lsbCB3cmFwIHRvIDEwMDAwIHdoZW4gaXQgcmVhY2hlcyBvdmVyIDMyNzY4IGZvcgotICogYXBwbGljYXRpb24gcHJvY2Vzc2VzLiBZb3UgY2FuIGNoZWNrIHRoaXMgYnkgcnVubmluZyB0aGUgZm9sbG93aW5nIGluc2lkZQotICogYW4gYWRiIHNoZWxsIHNlc3Npb246Ci0gKgotICAgIE9MRFBJRD0kJDsKLSAgICB3aGlsZSB0cnVlOyBkbwotICAgIE5FV1BJRD0kKHNoIC1jICdlY2hvICQkJykKLSAgICBpZiBbICIkTkVXUElEIiAtZ3QgMzI3NjggXTsgdGhlbgotICAgICAgICBlY2hvICJBQVJHSDogbmV3IFBJRCAkTkVXUElEIGlzIHRvbyBoaWdoISIKLSAgICAgICAgZXhpdCAxCi0gICAgZmkKLSAgICBpZiBbICIkTkVXUElEIiAtbHQgIiRPTERQSUQiIF07IHRoZW4KLSAgICAgICAgZWNobyAiKioqKioqIFdyYXBwaW5nIGZyb20gUElEICRPTERQSUQgdG8gJE5FV1BJRC4gKioqKioqKiIKLSAgICBlbHNlCi0gICAgICAgIGVjaG8gLW4gIiRORVdQSUQhIgotICAgIGZpCi0gICAgT0xEUElEPSRORVdQSUQKLSAgICBkb25lCi0KLSAqIE5vdGUgdGhhdCB5b3UgY2FuIHJ1biB0aGUgc2FtZSBleGFtcGxlIG9uIGEgZGVza3RvcCBMaW51eCBzeXN0ZW0sCi0gKiB0aGUgd3JhcHBpbmcgd2lsbCBhbHNvIGhhcHBlbiBhdCAzMjc2OCwgYnV0IHdpbGwgZ28gYmFjayB0byAzMDAgaW5zdGVhZC4KLSAqLwotI2RlZmluZSAgTVVURVhfT1dORVJfU0hJRlQgICAgIDE2Ci0jZGVmaW5lICBNVVRFWF9PV05FUl9MRU4gICAgICAgMTYKLQotI2RlZmluZSAgTVVURVhfT1dORVJfRlJPTV9CSVRTKHYpICAgIEZJRUxEX0ZST01fQklUUyh2LE1VVEVYX09XTkVSX1NISUZULE1VVEVYX09XTkVSX0xFTikKLSNkZWZpbmUgIE1VVEVYX09XTkVSX1RPX0JJVFModikgICAgICBGSUVMRF9UT19CSVRTKHYsTVVURVhfT1dORVJfU0hJRlQsTVVURVhfT1dORVJfTEVOKQotCi0vKiBDb252ZW5pZW5jZSBtYWNyb3MuCi0gKgotICogVGhlc2UgYXJlIHVzZWQgdG8gZm9ybSBvciBtb2RpZnkgdGhlIGJpdCBwYXR0ZXJuIG9mIGEgZ2l2ZW4gbXV0ZXggdmFsdWUKLSAqLwotCi0KLQogLyogYSBtdXRleCBhdHRyaWJ1dGUgaG9sZHMgdGhlIGZvbGxvd2luZyBmaWVsZHMKICAqCiAgKiBiaXRzOiAgICAgbmFtZSAgICAgICBkZXNjcmlwdGlvbgpAQCAtMjAyLDcgKzUzLDYgQEAKICNkZWZpbmUgIE1VVEVYQVRUUl9UWVBFX01BU0sgICAweDAwMGYKICNkZWZpbmUgIE1VVEVYQVRUUl9TSEFSRURfTUFTSyAweDAwMTAKIAotCiBpbnQgcHRocmVhZF9tdXRleGF0dHJfaW5pdChwdGhyZWFkX211dGV4YXR0cl90ICphdHRyKQogewogICAgICphdHRyID0gUFRIUkVBRF9NVVRFWF9ERUZBVUxUOwpAQCAtMjYzLDM4ICsxMTMsMTc3IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBwdGhyZWFkX211dGV4X2luaXQocHRocmVhZF9tdXRleF90KiBtdXRleCwgY29uc3QgcHRocmVhZF9tdXRleGF0dHJfdCogYXR0cikgeworLyogYSBtdXRleCBjb250YWlucyBhIHN0YXRlIHZhbHVlIGFuZCBhIG93bmVyX3RpZC4KKyAqIFRoZSB2YWx1ZSBpcyBpbXBsZW1lbnRlZCBhcyBhIDE2LWJpdCBpbnRlZ2VyIGhvbGRpbmcgdGhlIGZvbGxvd2luZyBmaWVsZHM6CisgKgorICogYml0czogICAgIG5hbWUgICAgIGRlc2NyaXB0aW9uCisgKiAxNS0xNCAgICAgdHlwZSAgICAgbXV0ZXggdHlwZQorICogMTMgICAgICAgIHNoYXJlZCAgIHByb2Nlc3Mtc2hhcmVkIGZsYWcKKyAqIDEyLTIgICAgICBjb3VudGVyICBjb3VudGVyIG9mIHJlY3Vyc2l2ZSBtdXRleGVzCisgKiAxLTAgICAgICAgc3RhdGUgICAgbG9jayBzdGF0ZSAoMCwgMSBvciAyKQorICoKKyAqIFRoZSBvd25lcl90aWQgaXMgdXNlZCBvbmx5IGluIHJlY3Vyc2l2ZSBhbmQgZXJyb3JjaGVjayBtdXRleCB0byBob2xkIHRoZSBtdXRleCBvd25lciB0aHJlYWQgdGlkLgorICovCisKKy8qIENvbnZlbmllbmNlIG1hY3JvLCBjcmVhdGVzIGEgbWFzayBvZiAnYml0cycgYml0cyB0aGF0IHN0YXJ0cyBmcm9tCisgKiB0aGUgJ3NoaWZ0Jy10aCBsZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gYSAzMi1iaXQgd29yZC4KKyAqCisgKiBFeGFtcGxlczogRklFTERfTUFTSygwLDQpICAtPiAweGYKKyAqICAgICAgICAgICBGSUVMRF9NQVNLKDE2LDkpIC0+IDB4MWZmMDAwMAorICovCisjZGVmaW5lICBGSUVMRF9NQVNLKHNoaWZ0LGJpdHMpICAgICAgICAgICAoKCgxIDw8IChiaXRzKSktMSkgPDwgKHNoaWZ0KSkKKworLyogVGhpcyBvbmUgaXMgdXNlZCB0byBjcmVhdGUgYSBiaXQgcGF0dGVybiBmcm9tIGEgZ2l2ZW4gZmllbGQgdmFsdWUgKi8KKyNkZWZpbmUgIEZJRUxEX1RPX0JJVFModmFsLHNoaWZ0LGJpdHMpICAgICgoKHZhbCkgJiAoKDEgPDwgKGJpdHMpKS0xKSkgPDwgKHNoaWZ0KSkKKworLyogQW5kIHRoaXMgb25lIGRvZXMgdGhlIG9wcG9zaXRlLCBpLmUuIGV4dHJhY3QgYSBmaWVsZCdzIHZhbHVlIGZyb20gYSBiaXQgcGF0dGVybiAqLworI2RlZmluZSAgRklFTERfRlJPTV9CSVRTKHZhbCxzaGlmdCxiaXRzKSAgKCgodmFsKSA+PiAoc2hpZnQpKSAmICgoMSA8PCAoYml0cykpLTEpKQorCisKKy8qIENvbnZlbmllbmNlIG1hY3Jvcy4KKyAqCisgKiBUaGVzZSBhcmUgdXNlZCB0byBmb3JtIG9yIG1vZGlmeSB0aGUgYml0IHBhdHRlcm4gb2YgYSBnaXZlbiBtdXRleCB2YWx1ZQorICovCisKKy8qIE11dGV4IHN0YXRlOgorICoKKyAqIDAgZm9yIHVubG9ja2VkCisgKiAxIGZvciBsb2NrZWQsIG5vIHdhaXRlcnMKKyAqIDIgZm9yIGxvY2tlZCwgbWF5YmUgd2FpdGVycworICovCisjZGVmaW5lICBNVVRFWF9TVEFURV9TSElGVCAgICAgIDAKKyNkZWZpbmUgIE1VVEVYX1NUQVRFX0xFTiAgICAgICAgMgorCisjZGVmaW5lICBNVVRFWF9TVEFURV9NQVNLICAgICAgICAgICBGSUVMRF9NQVNLKE1VVEVYX1NUQVRFX1NISUZULCBNVVRFWF9TVEFURV9MRU4pCisjZGVmaW5lICBNVVRFWF9TVEFURV9GUk9NX0JJVFModikgICBGSUVMRF9GUk9NX0JJVFModiwgTVVURVhfU1RBVEVfU0hJRlQsIE1VVEVYX1NUQVRFX0xFTikKKyNkZWZpbmUgIE1VVEVYX1NUQVRFX1RPX0JJVFModikgICAgIEZJRUxEX1RPX0JJVFModiwgTVVURVhfU1RBVEVfU0hJRlQsIE1VVEVYX1NUQVRFX0xFTikKKworI2RlZmluZSAgTVVURVhfU1RBVEVfVU5MT0NLRUQgICAgICAgICAgICAwICAgLyogbXVzdCBiZSAwIHRvIG1hdGNoIFBUSFJFQURfTVVURVhfSU5JVElBTElaRVIgKi8KKyNkZWZpbmUgIE1VVEVYX1NUQVRFX0xPQ0tFRF9VTkNPTlRFTkRFRCAgMSAgIC8qIG11c3QgYmUgMSBkdWUgdG8gYXRvbWljIGRlYyBpbiB1bmxvY2sgb3BlcmF0aW9uICovCisjZGVmaW5lICBNVVRFWF9TVEFURV9MT0NLRURfQ09OVEVOREVEICAgIDIgICAvKiBtdXN0IGJlIDEgKyBMT0NLRURfVU5DT05URU5ERUQgZHVlIHRvIGF0b21pYyBkZWMgKi8KKworI2RlZmluZSAgTVVURVhfU1RBVEVfQklUU19VTkxPQ0tFRCAgICAgICAgICAgIE1VVEVYX1NUQVRFX1RPX0JJVFMoTVVURVhfU1RBVEVfVU5MT0NLRUQpCisjZGVmaW5lICBNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9VTkNPTlRFTkRFRCAgTVVURVhfU1RBVEVfVE9fQklUUyhNVVRFWF9TVEFURV9MT0NLRURfVU5DT05URU5ERUQpCisjZGVmaW5lICBNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9DT05URU5ERUQgICAgTVVURVhfU1RBVEVfVE9fQklUUyhNVVRFWF9TVEFURV9MT0NLRURfQ09OVEVOREVEKQorCisvKiByZXR1cm4gdHJ1ZSBpZmYgdGhlIG11dGV4IGlmIGxvY2tlZCB3aXRoIG5vIHdhaXRlcnMgKi8KKyNkZWZpbmUgIE1VVEVYX1NUQVRFX0JJVFNfSVNfTE9DS0VEX1VOQ09OVEVOREVEKHYpICAoKCh2KSAmIE1VVEVYX1NUQVRFX01BU0spID09IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX1VOQ09OVEVOREVEKQorCisvKiByZXR1cm4gdHJ1ZSBpZmYgdGhlIG11dGV4IGlmIGxvY2tlZCB3aXRoIG1heWJlIHdhaXRlcnMgKi8KKyNkZWZpbmUgIE1VVEVYX1NUQVRFX0JJVFNfSVNfTE9DS0VEX0NPTlRFTkRFRCh2KSAgICgoKHYpICYgTVVURVhfU1RBVEVfTUFTSykgPT0gTVVURVhfU1RBVEVfQklUU19MT0NLRURfQ09OVEVOREVEKQorCisvKiB1c2VkIHRvIGZsaXAgZnJvbSBMT0NLRURfVU5DT05URU5ERUQgdG8gTE9DS0VEX0NPTlRFTkRFRCAqLworI2RlZmluZSAgTVVURVhfU1RBVEVfQklUU19GTElQX0NPTlRFTlRJT04odikgICAgICAoKHYpIF4gKE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRCBeIE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX1VOQ09OVEVOREVEKSkKKworLyogTXV0ZXggY291bnRlcjoKKyAqCisgKiBXZSBuZWVkIHRvIGNoZWNrIGZvciBvdmVyZmxvdyBiZWZvcmUgaW5jcmVtZW50aW5nLCBhbmQgd2UgYWxzbyBuZWVkIHRvCisgKiBkZXRlY3Qgd2hlbiB0aGUgY291bnRlciBpcyAwCisgKi8KKyNkZWZpbmUgIE1VVEVYX0NPVU5URVJfU0hJRlQgICAgICAgICAyCisjZGVmaW5lICBNVVRFWF9DT1VOVEVSX0xFTiAgICAgICAgICAgMTEKKyNkZWZpbmUgIE1VVEVYX0NPVU5URVJfTUFTSyAgICAgICAgICBGSUVMRF9NQVNLKE1VVEVYX0NPVU5URVJfU0hJRlQsIE1VVEVYX0NPVU5URVJfTEVOKQorCisjZGVmaW5lICBNVVRFWF9DT1VOVEVSX0JJVFNfV0lMTF9PVkVSRkxPVyh2KSAgICAoKCh2KSAmIE1VVEVYX0NPVU5URVJfTUFTSykgPT0gTVVURVhfQ09VTlRFUl9NQVNLKQorI2RlZmluZSAgTVVURVhfQ09VTlRFUl9CSVRTX0lTX1pFUk8odikgICAgICAgICAgKCgodikgJiBNVVRFWF9DT1VOVEVSX01BU0spID09IDApCisKKy8qIFVzZWQgdG8gaW5jcmVtZW50IHRoZSBjb3VudGVyIGRpcmVjdGx5IGFmdGVyIG92ZXJmbG93IGhhcyBiZWVuIGNoZWNrZWQgKi8KKyNkZWZpbmUgIE1VVEVYX0NPVU5URVJfQklUU19PTkUgICAgICBGSUVMRF9UT19CSVRTKDEsIE1VVEVYX0NPVU5URVJfU0hJRlQsTVVURVhfQ09VTlRFUl9MRU4pCisKKy8qIE11dGV4IHNoYXJlZCBiaXQgZmxhZworICoKKyAqIFRoaXMgZmxhZyBpcyBzZXQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgbXV0ZXggaXMgc2hhcmVkIGFtb25nIHByb2Nlc3Nlcy4KKyAqIFRoaXMgY2hhbmdlcyB0aGUgZnV0ZXggb3Bjb2RlIHdlIHVzZSBmb3IgZnV0ZXggd2FpdC93YWtlIG9wZXJhdGlvbnMKKyAqIChub24tc2hhcmVkIG9wZXJhdGlvbnMgYXJlIG11Y2ggZmFzdGVyKS4KKyAqLworI2RlZmluZSAgTVVURVhfU0hBUkVEX1NISUZUICAgIDEzCisjZGVmaW5lICBNVVRFWF9TSEFSRURfTUFTSyAgICAgRklFTERfTUFTSyhNVVRFWF9TSEFSRURfU0hJRlQsMSkKKworLyogTXV0ZXggdHlwZToKKyAqIFdlIHN1cHBvcnQgbm9ybWFsLCByZWN1cnNpdmUgYW5kIGVycm9yY2hlY2sgbXV0ZXhlcy4KKyAqLworI2RlZmluZSAgTVVURVhfVFlQRV9TSElGVCAgICAgIDE0CisjZGVmaW5lICBNVVRFWF9UWVBFX0xFTiAgICAgICAgMgorI2RlZmluZSAgTVVURVhfVFlQRV9NQVNLICAgICAgIEZJRUxEX01BU0soTVVURVhfVFlQRV9TSElGVCxNVVRFWF9UWVBFX0xFTikKKworI2RlZmluZSAgTVVURVhfVFlQRV9UT19CSVRTKHQpICAgICAgIEZJRUxEX1RPX0JJVFModCwgTVVURVhfVFlQRV9TSElGVCwgTVVURVhfVFlQRV9MRU4pCisKKyNkZWZpbmUgIE1VVEVYX1RZUEVfQklUU19OT1JNQUwgICAgICBNVVRFWF9UWVBFX1RPX0JJVFMoUFRIUkVBRF9NVVRFWF9OT1JNQUwpCisjZGVmaW5lICBNVVRFWF9UWVBFX0JJVFNfUkVDVVJTSVZFICAgTVVURVhfVFlQRV9UT19CSVRTKFBUSFJFQURfTVVURVhfUkVDVVJTSVZFKQorI2RlZmluZSAgTVVURVhfVFlQRV9CSVRTX0VSUk9SQ0hFQ0sgIE1VVEVYX1RZUEVfVE9fQklUUyhQVEhSRUFEX01VVEVYX0VSUk9SQ0hFQ0spCisKK3N0cnVjdCBwdGhyZWFkX211dGV4X2ludGVybmFsX3QgeworICBfQXRvbWljKHVpbnQxNl90KSBzdGF0ZTsKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorICB1aW50MTZfdCBfX3BhZDsKKyAgYXRvbWljX2ludCBvd25lcl90aWQ7CisgIGNoYXIgX19yZXNlcnZlZFszMl07CisjZWxzZQorICBfQXRvbWljKHVpbnQxNl90KSBvd25lcl90aWQ7CisjZW5kaWYKK30gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg0KSkpOworCitzdGF0aWNfYXNzZXJ0KHNpemVvZihwdGhyZWFkX211dGV4X3QpID09IHNpemVvZihwdGhyZWFkX211dGV4X2ludGVybmFsX3QpLAorICAgICAgICAgICAgICAicHRocmVhZF9tdXRleF90IHNob3VsZCBhY3R1YWxseSBiZSBwdGhyZWFkX211dGV4X2ludGVybmFsX3QgaW4gaW1wbGVtZW50YXRpb24uIik7CisKKy8vIEZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB2ZXJzaW9uIG9mIHB0aHJlYWRfbXV0ZXhfdCwgd2UgY2FuJ3QgdXNlIG1vcmUgc3RyaWN0IGFsaWdubWVudAorLy8gdGhhbiA0LWJ5dGUgYWxpZ25tZW50Lgorc3RhdGljX2Fzc2VydChhbGlnbm9mKHB0aHJlYWRfbXV0ZXhfdCkgPT0gNCwKKyAgICAgICAgICAgICAgInB0aHJlYWRfbXV0ZXhfdCBzaG91bGQgZnVsZmlsbCB0aGUgYWxpZ25tZW50IG9mIHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdC4iKTsKKworc3RhdGljIGlubGluZSBwdGhyZWFkX211dGV4X2ludGVybmFsX3QqIF9fZ2V0X2ludGVybmFsX211dGV4KHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXhfaW50ZXJmYWNlKSB7CisgIHJldHVybiByZWludGVycHJldF9jYXN0PHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCo+KG11dGV4X2ludGVyZmFjZSk7Cit9CisKK2ludCBwdGhyZWFkX211dGV4X2luaXQocHRocmVhZF9tdXRleF90KiBtdXRleF9pbnRlcmZhY2UsIGNvbnN0IHB0aHJlYWRfbXV0ZXhhdHRyX3QqIGF0dHIpIHsKKyAgICBwdGhyZWFkX211dGV4X2ludGVybmFsX3QqIG11dGV4ID0gX19nZXRfaW50ZXJuYWxfbXV0ZXgobXV0ZXhfaW50ZXJmYWNlKTsKKworICAgIG1lbXNldChtdXRleCwgMCwgc2l6ZW9mKHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCkpOworCiAgICAgaWYgKF9fcHJlZGljdF90cnVlKGF0dHIgPT0gTlVMTCkpIHsKLSAgICAgICAgbXV0ZXgtPnZhbHVlID0gTVVURVhfVFlQRV9CSVRTX05PUk1BTDsKKyAgICAgICAgYXRvbWljX2luaXQoJm11dGV4LT5zdGF0ZSwgTVVURVhfVFlQRV9CSVRTX05PUk1BTCk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGludCB2YWx1ZSA9IDA7CisgICAgdWludDE2X3Qgc3RhdGUgPSAwOwogICAgIGlmICgoKmF0dHIgJiBNVVRFWEFUVFJfU0hBUkVEX01BU0spICE9IDApIHsKLSAgICAgICAgdmFsdWUgfD0gTVVURVhfU0hBUkVEX01BU0s7CisgICAgICAgIHN0YXRlIHw9IE1VVEVYX1NIQVJFRF9NQVNLOwogICAgIH0KIAogICAgIHN3aXRjaCAoKmF0dHIgJiBNVVRFWEFUVFJfVFlQRV9NQVNLKSB7CiAgICAgY2FzZSBQVEhSRUFEX01VVEVYX05PUk1BTDoKLSAgICAgICAgdmFsdWUgfD0gTVVURVhfVFlQRV9CSVRTX05PUk1BTDsKLSAgICAgICAgYnJlYWs7CisgICAgICBzdGF0ZSB8PSBNVVRFWF9UWVBFX0JJVFNfTk9STUFMOworICAgICAgYnJlYWs7CiAgICAgY2FzZSBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRToKLSAgICAgICAgdmFsdWUgfD0gTVVURVhfVFlQRV9CSVRTX1JFQ1VSU0lWRTsKLSAgICAgICAgYnJlYWs7CisgICAgICBzdGF0ZSB8PSBNVVRFWF9UWVBFX0JJVFNfUkVDVVJTSVZFOworICAgICAgYnJlYWs7CiAgICAgY2FzZSBQVEhSRUFEX01VVEVYX0VSUk9SQ0hFQ0s6Ci0gICAgICAgIHZhbHVlIHw9IE1VVEVYX1RZUEVfQklUU19FUlJPUkNIRUNLOwotICAgICAgICBicmVhazsKKyAgICAgIHN0YXRlIHw9IE1VVEVYX1RZUEVfQklUU19FUlJPUkNIRUNLOworICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIEVJTlZBTDsKICAgICB9CiAKLSAgICBtdXRleC0+dmFsdWUgPSB2YWx1ZTsKKyAgICBhdG9taWNfaW5pdCgmbXV0ZXgtPnN0YXRlLCBzdGF0ZSk7CisgICAgYXRvbWljX2luaXQoJm11dGV4LT5vd25lcl90aWQsIDApOwogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBpbnQgX19wdGhyZWFkX25vcm1hbF9tdXRleF90cnlsb2NrKHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCogbXV0ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHNoYXJlZCkgeworICAgIGNvbnN0IHVpbnQxNl90IHVubG9ja2VkICAgICAgICAgICA9IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfVU5MT0NLRUQ7CisgICAgY29uc3QgdWludDE2X3QgbG9ja2VkX3VuY29udGVuZGVkID0gc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQ7CisKKyAgICB1aW50MTZfdCBvbGRfc3RhdGUgPSB1bmxvY2tlZDsKKyAgICBpZiAoX19wcmVkaWN0X3RydWUoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nX2V4cGxpY2l0KCZtdXRleC0+c3RhdGUsICZvbGRfc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja2VkX3VuY29udGVuZGVkLCBtZW1vcnlfb3JkZXJfYWNxdWlyZSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpKSkgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIEVCVVNZOworfQogCiAvKgotICogTG9jayBhIG5vbi1yZWN1cnNpdmUgbXV0ZXguCisgKiBMb2NrIGEgbXV0ZXggb2YgdHlwZSBOT1JNQUwuCiAgKgogICogQXMgbm90ZWQgYWJvdmUsIHRoZXJlIGFyZSB0aHJlZSBzdGF0ZXM6CiAgKiAgIDAgKHVubG9ja2VkLCBubyBjb250ZW50aW9uKQpAQCAtMzA1LDQ1MCArMjk0LDM0MSBAQAogICogInR5cGUiIHZhbHVlIGlzIHplcm8sIHNvIHRoZSBvbmx5IGJpdHMgdGhhdCB3aWxsIGJlIHNldCBhcmUgdGhlIG9uZXMgaW4KICAqIHRoZSBsb2NrIHN0YXRlIGZpZWxkLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX25vcm1hbF9sb2NrKHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgsIGludCBzaGFyZWQpIHsKLSAgICAvKiBjb252ZW5pZW5jZSBzaG9ydGN1dHMgKi8KLSAgICBjb25zdCBpbnQgdW5sb2NrZWQgICAgICAgICAgID0gc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19VTkxPQ0tFRDsKLSAgICBjb25zdCBpbnQgbG9ja2VkX3VuY29udGVuZGVkID0gc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQ7Ci0gICAgLyoKLSAgICAgKiBUaGUgY29tbW9uIGNhc2UgaXMgYW4gdW5sb2NrZWQgbXV0ZXgsIHNvIHdlIGJlZ2luIGJ5IHRyeWluZyB0bwotICAgICAqIGNoYW5nZSB0aGUgbG9jaydzIHN0YXRlIGZyb20gMCAoVU5MT0NLRUQpIHRvIDEgKExPQ0tFRCkuCi0gICAgICogX19iaW9uaWNfY21weGNoZygpIHJldHVybnMgMCBpZiBpdCBtYWRlIHRoZSBzd2FwIHN1Y2Nlc3NmdWxseS4KLSAgICAgKiBJZiB0aGUgcmVzdWx0IGlzIG5vbnplcm8sIHRoaXMgbG9jayBpcyBhbHJlYWR5IGhlbGQgYnkgYW5vdGhlciB0aHJlYWQuCi0gICAgICovCi0gICAgaWYgKF9fYmlvbmljX2NtcHhjaGcodW5sb2NrZWQsIGxvY2tlZF91bmNvbnRlbmRlZCwgJm11dGV4LT52YWx1ZSkgIT0gMCkgewotICAgICAgICBjb25zdCBpbnQgbG9ja2VkX2NvbnRlbmRlZCA9IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRDsKLSAgICAgICAgLyoKLSAgICAgICAgICogV2Ugd2FudCB0byBnbyB0byBzbGVlcCB1bnRpbCB0aGUgbXV0ZXggaXMgYXZhaWxhYmxlLCB3aGljaAotICAgICAgICAgKiByZXF1aXJlcyBwcm9tb3RpbmcgaXQgdG8gc3RhdGUgMiAoQ09OVEVOREVEKS4gV2UgbmVlZCB0bwotICAgICAgICAgKiBzd2FwIGluIHRoZSBuZXcgc3RhdGUgdmFsdWUgYW5kIHRoZW4gd2FpdCB1bnRpbCBzb21lYm9keSB3YWtlcyB1cyB1cC4KLSAgICAgICAgICoKLSAgICAgICAgICogX19iaW9uaWNfc3dhcCgpIHJldHVybnMgdGhlIHByZXZpb3VzIHZhbHVlLiAgV2Ugc3dhcCAyIGluIGFuZAotICAgICAgICAgKiBzZWUgaWYgd2UgZ290IHplcm8gYmFjazsgaWYgc28sIHdlIGhhdmUgYWNxdWlyZWQgdGhlIGxvY2suICBJZgotICAgICAgICAgKiBub3QsIGFub3RoZXIgdGhyZWFkIHN0aWxsIGhvbGRzIHRoZSBsb2NrIGFuZCB3ZSB3YWl0IGFnYWluLgotICAgICAgICAgKgotICAgICAgICAgKiBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIHRoZSBfX2Z1dGV4X3dhaXQoKSBjYWxsIGlzIGNvbXBhcmVkCi0gICAgICAgICAqIGFnYWluc3QgdGhlIGN1cnJlbnQgdmFsdWUuICBJZiBpdCBkb2Vzbid0IG1hdGNoLCBfX2Z1dGV4X3dhaXQoKQotICAgICAgICAgKiByZXR1cm5zIGltbWVkaWF0ZWx5IChvdGhlcndpc2UsIGl0IHNsZWVwcyBmb3IgYSB0aW1lIHNwZWNpZmllZAotICAgICAgICAgKiBieSB0aGUgdGhpcmQgYXJndW1lbnQ7IDAgbWVhbnMgc2xlZXAgZm9yZXZlcikuICBUaGlzIGVuc3VyZXMKLSAgICAgICAgICogdGhhdCB0aGUgbXV0ZXggaXMgaW4gc3RhdGUgMiB3aGVuIHdlIGdvIHRvIHNsZWVwIG9uIGl0LCB3aGljaAotICAgICAgICAgKiBndWFyYW50ZWVzIGEgd2FrZS11cCBjYWxsLgotICAgICAgICAgKi8KLSAgICAgICAgd2hpbGUgKF9fYmlvbmljX3N3YXAobG9ja2VkX2NvbnRlbmRlZCwgJm11dGV4LT52YWx1ZSkgIT0gdW5sb2NrZWQpIHsKLSAgICAgICAgICAgIF9fZnV0ZXhfd2FpdF9leCgmbXV0ZXgtPnZhbHVlLCBzaGFyZWQsIGxvY2tlZF9jb250ZW5kZWQsIE5VTEwpOworc3RhdGljIGlubGluZSBfX2Fsd2F5c19pbmxpbmUgaW50IF9fcHRocmVhZF9ub3JtYWxfbXV0ZXhfbG9jayhwdGhyZWFkX211dGV4X2ludGVybmFsX3QqIG11dGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBzaGFyZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dF9vcl9udWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9ja2lkX3QgY2xvY2spIHsKKyAgICBpZiAoX19wcmVkaWN0X3RydWUoX19wdGhyZWFkX25vcm1hbF9tdXRleF90cnlsb2NrKG11dGV4LCBzaGFyZWQpID09IDApKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIFNjb3BlZFRyYWNlIHRyYWNlKCJDb250ZW5kaW5nIGZvciBwdGhyZWFkIG11dGV4Iik7CisKKyAgICBjb25zdCB1aW50MTZfdCB1bmxvY2tlZCAgICAgICAgICAgPSBzaGFyZWQgfCBNVVRFWF9TVEFURV9CSVRTX1VOTE9DS0VEOworICAgIGNvbnN0IHVpbnQxNl90IGxvY2tlZF9jb250ZW5kZWQgPSBzaGFyZWQgfCBNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9DT05URU5ERUQ7CisKKyAgICAvLyBXZSB3YW50IHRvIGdvIHRvIHNsZWVwIHVudGlsIHRoZSBtdXRleCBpcyBhdmFpbGFibGUsIHdoaWNoIHJlcXVpcmVzCisgICAgLy8gcHJvbW90aW5nIGl0IHRvIGxvY2tlZF9jb250ZW5kZWQuIFdlIG5lZWQgdG8gc3dhcCBpbiB0aGUgbmV3IHN0YXRlCisgICAgLy8gYW5kIHRoZW4gd2FpdCB1bnRpbCBzb21lYm9keSB3YWtlcyB1cyB1cC4KKyAgICAvLyBBbiBhdG9taWNfZXhjaGFuZ2UgaXMgdXNlZCB0byBjb21wZXRlIHdpdGggb3RoZXIgdGhyZWFkcyBmb3IgdGhlIGxvY2suCisgICAgLy8gSWYgaXQgcmV0dXJucyB1bmxvY2tlZCwgd2UgaGF2ZSBhY3F1aXJlZCB0aGUgbG9jaywgb3RoZXJ3aXNlIGFub3RoZXIKKyAgICAvLyB0aHJlYWQgc3RpbGwgaG9sZHMgdGhlIGxvY2sgYW5kIHdlIHNob3VsZCB3YWl0IGFnYWluLgorICAgIC8vIElmIGxvY2sgaXMgYWNxdWlyZWQsIGFuIGFjcXVpcmUgZmVuY2UgaXMgbmVlZGVkIHRvIG1ha2UgYWxsIG1lbW9yeSBhY2Nlc3NlcworICAgIC8vIG1hZGUgYnkgb3RoZXIgdGhyZWFkcyB2aXNpYmxlIHRvIHRoZSBjdXJyZW50IENQVS4KKyAgICB3aGlsZSAoYXRvbWljX2V4Y2hhbmdlX2V4cGxpY2l0KCZtdXRleC0+c3RhdGUsIGxvY2tlZF9jb250ZW5kZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfYWNxdWlyZSkgIT0gdW5sb2NrZWQpIHsKKyAgICAgICAgdGltZXNwZWMgdHM7CisgICAgICAgIHRpbWVzcGVjKiByZWxfdGltZW91dCA9IE5VTEw7CisgICAgICAgIGlmIChhYnNfdGltZW91dF9vcl9udWxsICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJlbF90aW1lb3V0ID0gJnRzOworICAgICAgICAgICAgaWYgKCF0aW1lc3BlY19mcm9tX2Fic29sdXRlX3RpbWVzcGVjKCpyZWxfdGltZW91dCwgKmFic190aW1lb3V0X29yX251bGwsIGNsb2NrKSkgeworICAgICAgICAgICAgICAgIHJldHVybiBFVElNRURPVVQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKF9fZnV0ZXhfd2FpdF9leCgmbXV0ZXgtPnN0YXRlLCBzaGFyZWQsIGxvY2tlZF9jb250ZW5kZWQsIHJlbF90aW1lb3V0KSA9PSAtRVRJTUVET1VUKSB7CisgICAgICAgICAgICByZXR1cm4gRVRJTUVET1VUOwogICAgICAgICB9CiAgICAgfQotICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKKyAgICByZXR1cm4gMDsKIH0KIAogLyoKLSAqIFJlbGVhc2UgYSBub24tcmVjdXJzaXZlIG11dGV4LiAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcKKyAqIFJlbGVhc2UgYSBub3JtYWwgbXV0ZXguICBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZwogICogdGhhdCB3ZSBhcmUgaW4gZmFjdCB0aGUgb3duZXIgb2YgdGhpcyBsb2NrLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX25vcm1hbF91bmxvY2socHRocmVhZF9tdXRleF90KiBtdXRleCwgaW50IHNoYXJlZCkgewotICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKK3N0YXRpYyBpbmxpbmUgX19hbHdheXNfaW5saW5lIHZvaWQgX19wdGhyZWFkX25vcm1hbF9tdXRleF91bmxvY2socHRocmVhZF9tdXRleF9pbnRlcm5hbF90KiBtdXRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qgc2hhcmVkKSB7CisgICAgY29uc3QgdWludDE2X3QgdW5sb2NrZWQgICAgICAgICA9IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfVU5MT0NLRUQ7CisgICAgY29uc3QgdWludDE2X3QgbG9ja2VkX2NvbnRlbmRlZCA9IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRDsKIAotICAgIC8qCi0gICAgICogVGhlIG11dGV4IHN0YXRlIHdpbGwgYmUgMSBvciAocmFyZWx5KSAyLiAgV2UgdXNlIGFuIGF0b21pYyBkZWNyZW1lbnQKLSAgICAgKiB0byByZWxlYXNlIHRoZSBsb2NrLiAgX19iaW9uaWNfYXRvbWljX2RlYygpIHJldHVybnMgdGhlIHByZXZpb3VzIHZhbHVlOwotICAgICAqIGlmIGl0IHdhc24ndCAxIHdlIGhhdmUgdG8gZG8gc29tZSBhZGRpdGlvbmFsIHdvcmsuCi0gICAgICovCi0gICAgaWYgKF9fYmlvbmljX2F0b21pY19kZWMoJm11dGV4LT52YWx1ZSkgIT0gKHNoYXJlZHxNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9VTkNPTlRFTkRFRCkpIHsKLSAgICAgICAgLyoKLSAgICAgICAgICogU3RhcnQgYnkgcmVsZWFzaW5nIHRoZSBsb2NrLiAgVGhlIGRlY3JlbWVudCBjaGFuZ2VkIGl0IGZyb20KLSAgICAgICAgICogImNvbnRlbmRlZCBsb2NrIiB0byAidW5jb250ZW5kZWQgbG9jayIsIHdoaWNoIG1lYW5zIHdlIHN0aWxsCi0gICAgICAgICAqIGhvbGQgaXQsIGFuZCBhbnlib2R5IHdobyB0cmllcyB0byBzbmVhayBpbiB3aWxsIHB1c2ggaXQgYmFjawotICAgICAgICAgKiB0byBzdGF0ZSAyLgotICAgICAgICAgKgotICAgICAgICAgKiBPbmNlIHdlIHNldCBpdCB0byB6ZXJvIHRoZSBsb2NrIGlzIHVwIGZvciBncmFicy4gIFdlIGZvbGxvdwotICAgICAgICAgKiB0aGlzIHdpdGggYSBfX2Z1dGV4X3dha2UoKSB0byBlbnN1cmUgdGhhdCBvbmUgb2YgdGhlIHdhaXRpbmcKLSAgICAgICAgICogdGhyZWFkcyBoYXMgYSBjaGFuY2UgdG8gZ3JhYiBpdC4KLSAgICAgICAgICoKLSAgICAgICAgICogVGhpcyBkb2Vzbid0IGNhdXNlIGEgcmFjZSB3aXRoIHRoZSBzd2FwL3dhaXQgcGFpciBpbgotICAgICAgICAgKiBfbm9ybWFsX2xvY2soKSwgYmVjYXVzZSB0aGUgX19mdXRleF93YWl0KCkgY2FsbCB0aGVyZSB3aWxsCi0gICAgICAgICAqIHJldHVybiBpbW1lZGlhdGVseSBpZiB0aGUgbXV0ZXggdmFsdWUgaXNuJ3QgMi4KLSAgICAgICAgICovCi0gICAgICAgIG11dGV4LT52YWx1ZSA9IHNoYXJlZDsKLQotICAgICAgICAvKgotICAgICAgICAgKiBXYWtlIHVwIG9uZSB3YWl0aW5nIHRocmVhZC4gIFdlIGRvbid0IGtub3cgd2hpY2ggdGhyZWFkIHdpbGwgYmUKLSAgICAgICAgICogd29rZW4gb3Igd2hlbiBpdCdsbCBzdGFydCBleGVjdXRpbmcgLS0gZnV0ZXhlcyBtYWtlIG5vIGd1YXJhbnRlZXMKLSAgICAgICAgICogaGVyZS4gIFRoZXJlIG1heSBub3QgZXZlbiBiZSBhIHRocmVhZCB3YWl0aW5nLgotICAgICAgICAgKgotICAgICAgICAgKiBUaGUgbmV3bHktd29rZW4gdGhyZWFkIHdpbGwgcmVwbGFjZSB0aGUgMCB3ZSBqdXN0IHNldCBhYm92ZQotICAgICAgICAgKiB3aXRoIDIsIHdoaWNoIG1lYW5zIHRoYXQgd2hlbiBpdCBldmVudHVhbGx5IHJlbGVhc2VzIHRoZSBtdXRleAotICAgICAgICAgKiBpdCB3aWxsIGFsc28gY2FsbCBGVVRFWF9XQUtFLiAgVGhpcyByZXN1bHRzIGluIG9uZSBleHRyYSB3YWtlCi0gICAgICAgICAqIGNhbGwgd2hlbmV2ZXIgYSBsb2NrIGlzIGNvbnRlbmRlZCwgYnV0IGxldHMgdXMgYXZvaWQgZm9yZ2V0dGluZwotICAgICAgICAgKiBhbnlvbmUgd2l0aG91dCByZXF1aXJpbmcgdXMgdG8gdHJhY2sgdGhlIG51bWJlciBvZiBzbGVlcGVycy4KLSAgICAgICAgICoKLSAgICAgICAgICogSXQncyBwb3NzaWJsZSBmb3IgYW5vdGhlciB0aHJlYWQgdG8gc25lYWsgaW4gYW5kIGdyYWIgdGhlIGxvY2sKLSAgICAgICAgICogYmV0d2VlbiB0aGUgemVybyBhc3NpZ25tZW50IGFib3ZlIGFuZCB0aGUgd2FrZSBjYWxsIGJlbG93LiAgSWYKLSAgICAgICAgICogdGhlIG5ldyB0aHJlYWQgaXMgInNsb3ciIGFuZCBob2xkcyB0aGUgbG9jayBmb3IgYSB3aGlsZSwgd2UnbGwKLSAgICAgICAgICogd2FrZSB1cCBhIHNsZWVwZXIsIHdoaWNoIHdpbGwgc3dhcCBpbiBhIDIgYW5kIHRoZW4gZ28gYmFjayB0bwotICAgICAgICAgKiBzbGVlcCBzaW5jZSB0aGUgbG9jayBpcyBzdGlsbCBoZWxkLiAgSWYgdGhlIG5ldyB0aHJlYWQgaXMgImZhc3QiLAotICAgICAgICAgKiBydW5uaW5nIHRvIGNvbXBsZXRpb24gYmVmb3JlIHdlIGNhbGwgd2FrZSwgdGhlIHRocmVhZCB3ZQotICAgICAgICAgKiBldmVudHVhbGx5IHdha2Ugd2lsbCBmaW5kIGFuIHVubG9ja2VkIG11dGV4IGFuZCB3aWxsIGV4ZWN1dGUuCi0gICAgICAgICAqIEVpdGhlciB3YXkgd2UgaGF2ZSBjb3JyZWN0IGJlaGF2aW9yIGFuZCBub2JvZHkgaXMgb3JwaGFuZWQgb24KLSAgICAgICAgICogdGhlIHdhaXQgcXVldWUuCi0gICAgICAgICAqLwotICAgICAgICBfX2Z1dGV4X3dha2VfZXgoJm11dGV4LT52YWx1ZSwgc2hhcmVkLCAxKTsKKyAgICAvLyBXZSB1c2UgYW4gYXRvbWljX2V4Y2hhbmdlIHRvIHJlbGVhc2UgdGhlIGxvY2suIElmIGxvY2tlZF9jb250ZW5kZWQgc3RhdGUKKyAgICAvLyBpcyByZXR1cm5lZCwgc29tZSB0aHJlYWRzIGlzIHdhaXRpbmcgZm9yIHRoZSBsb2NrIGFuZCB3ZSBuZWVkIHRvIHdha2UgdXAKKyAgICAvLyBvbmUgb2YgdGhlbS4KKyAgICAvLyBBIHJlbGVhc2UgZmVuY2UgaXMgcmVxdWlyZWQgdG8gbWFrZSBwcmV2aW91cyBzdG9yZXMgdmlzaWJsZSB0byBuZXh0CisgICAgLy8gbG9jayBvd25lciB0aHJlYWRzLgorICAgIGlmIChhdG9taWNfZXhjaGFuZ2VfZXhwbGljaXQoJm11dGV4LT5zdGF0ZSwgdW5sb2NrZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsZWFzZSkgPT0gbG9ja2VkX2NvbnRlbmRlZCkgeworICAgICAgICAvLyBXYWtlIHVwIG9uZSB3YWl0aW5nIHRocmVhZC4gV2UgZG9uJ3Qga25vdyB3aGljaCB0aHJlYWQgd2lsbCBiZQorICAgICAgICAvLyB3b2tlbiBvciB3aGVuIGl0J2xsIHN0YXJ0IGV4ZWN1dGluZyAtLSBmdXRleGVzIG1ha2Ugbm8gZ3VhcmFudGVlcworICAgICAgICAvLyBoZXJlLiBUaGVyZSBtYXkgbm90IGV2ZW4gYmUgYSB0aHJlYWQgd2FpdGluZy4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gVGhlIG5ld2x5LXdva2VuIHRocmVhZCB3aWxsIHJlcGxhY2UgdGhlIHVubG9ja2VkIHN0YXRlIHdlIGp1c3Qgc2V0IGFib3ZlCisgICAgICAgIC8vIHdpdGggbG9ja2VkX2NvbnRlbmRlZCBzdGF0ZSwgd2hpY2ggbWVhbnMgdGhhdCB3aGVuIGl0IGV2ZW50dWFsbHkgcmVsZWFzZXMKKyAgICAgICAgLy8gdGhlIG11dGV4IGl0IHdpbGwgYWxzbyBjYWxsIEZVVEVYX1dBS0UuIFRoaXMgcmVzdWx0cyBpbiBvbmUgZXh0cmEgd2FrZQorICAgICAgICAvLyBjYWxsIHdoZW5ldmVyIGEgbG9jayBpcyBjb250ZW5kZWQsIGJ1dCBsZXQgdXMgYXZvaWQgZm9yZ2V0dGluZyBhbnlvbmUKKyAgICAgICAgLy8gd2l0aG91dCByZXF1aXJpbmcgdXMgdG8gdHJhY2sgdGhlIG51bWJlciBvZiBzbGVlcGVycy4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gSXQncyBwb3NzaWJsZSBmb3IgYW5vdGhlciB0aHJlYWQgdG8gc25lYWsgaW4gYW5kIGdyYWIgdGhlIGxvY2sgYmV0d2VlbgorICAgICAgICAvLyB0aGUgZXhjaGFuZ2UgYWJvdmUgYW5kIHRoZSB3YWtlIGNhbGwgYmVsb3cuIElmIHRoZSBuZXcgdGhyZWFkIGlzICJzbG93IgorICAgICAgICAvLyBhbmQgaG9sZHMgdGhlIGxvY2sgZm9yIGEgd2hpbGUsIHdlJ2xsIHdha2UgdXAgYSBzbGVlcGVyLCB3aGljaCB3aWxsIHN3YXAKKyAgICAgICAgLy8gaW4gbG9ja2VkX3VuY29udGVuZGVkIHN0YXRlIGFuZCB0aGVuIGdvIGJhY2sgdG8gc2xlZXAgc2luY2UgdGhlIGxvY2sgaXMKKyAgICAgICAgLy8gc3RpbGwgaGVsZC4gSWYgdGhlIG5ldyB0aHJlYWQgaXMgImZhc3QiLCBydW5uaW5nIHRvIGNvbXBsZXRpb24gYmVmb3JlCisgICAgICAgIC8vIHdlIGNhbGwgd2FrZSwgdGhlIHRocmVhZCB3ZSBldmVudHVhbGx5IHdha2Ugd2lsbCBmaW5kIGFuIHVubG9ja2VkIG11dGV4CisgICAgICAgIC8vIGFuZCB3aWxsIGV4ZWN1dGUuIEVpdGhlciB3YXkgd2UgaGF2ZSBjb3JyZWN0IGJlaGF2aW9yIGFuZCBub2JvZHkgaXMKKyAgICAgICAgLy8gb3JwaGFuZWQgb24gdGhlIHdhaXQgcXVldWUuCisgICAgICAgIF9fZnV0ZXhfd2FrZV9leCgmbXV0ZXgtPnN0YXRlLCBzaGFyZWQsIDEpOwogICAgIH0KIH0KIAotLyogVGhpcyBjb21tb24gaW5saW5lZCBmdW5jdGlvbiBpcyB1c2VkIHRvIGluY3JlbWVudCB0aGUgY291bnRlciBvZiBhbgotICogZXJyb3JjaGVjayBvciByZWN1cnNpdmUgbXV0ZXguCisvKiBUaGlzIGNvbW1vbiBpbmxpbmVkIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5jcmVtZW50IHRoZSBjb3VudGVyIG9mIGEgcmVjdXJzaXZlIG11dGV4LgogICoKLSAqIEZvciBlcnJvcmNoZWNrIG11dGV4ZXMsIGl0IHdpbGwgcmV0dXJuIEVERUFETEsKLSAqIElmIHRoZSBjb3VudGVyIG92ZXJmbG93cywgaXQgd2lsbCByZXR1cm4gRUFHQUlOCi0gKiBPdGhlcndpc2UsIGl0IGF0b21pY2FsbHkgaW5jcmVtZW50cyB0aGUgY291bnRlciBhbmQgcmV0dXJucyAwCi0gKiBhZnRlciBwcm92aWRpbmcgYW4gYWNxdWlyZSBiYXJyaWVyLgorICogSWYgdGhlIGNvdW50ZXIgb3ZlcmZsb3dzLCBpdCB3aWxsIHJldHVybiBFQUdBSU4uCisgKiBPdGhlcndpc2UsIGl0IGF0b21pY2FsbHkgaW5jcmVtZW50cyB0aGUgY291bnRlciBhbmQgcmV0dXJucyAwLgogICoKLSAqIG10eXBlIGlzIHRoZSBjdXJyZW50IG11dGV4IHR5cGUKLSAqIG12YWx1ZSBpcyB0aGUgY3VycmVudCBtdXRleCB2YWx1ZSAoYWxyZWFkeSBsb2FkZWQpCi0gKiBtdXRleCBwb2ludGVycyB0byB0aGUgbXV0ZXguCiAgKi8KLXN0YXRpYyBpbmxpbmUgX19hbHdheXNfaW5saW5lIGludCBfcmVjdXJzaXZlX2luY3JlbWVudChwdGhyZWFkX211dGV4X3QqIG11dGV4LCBpbnQgbXZhbHVlLCBpbnQgbXR5cGUpIHsKLSAgICBpZiAobXR5cGUgPT0gTVVURVhfVFlQRV9CSVRTX0VSUk9SQ0hFQ0spIHsKLSAgICAgICAgLyogdHJ5aW5nIHRvIHJlLWxvY2sgYSBtdXRleCB3ZSBhbHJlYWR5IGFjcXVpcmVkICovCi0gICAgICAgIHJldHVybiBFREVBRExLOwotICAgIH0KLQotICAgIC8qIERldGVjdCByZWN1cnNpdmUgbG9jayBvdmVyZmxvdyBhbmQgcmV0dXJuIEVBR0FJTi4KLSAgICAgKiBUaGlzIGlzIHNhZmUgYmVjYXVzZSBvbmx5IHRoZSBvd25lciB0aHJlYWQgY2FuIG1vZGlmeSB0aGUKLSAgICAgKiBjb3VudGVyIGJpdHMgaW4gdGhlIG11dGV4IHZhbHVlLgotICAgICAqLwotICAgIGlmIChNVVRFWF9DT1VOVEVSX0JJVFNfV0lMTF9PVkVSRkxPVyhtdmFsdWUpKSB7CitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBpbnQgX19yZWN1cnNpdmVfaW5jcmVtZW50KHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCogbXV0ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG9sZF9zdGF0ZSkgeworICAgIC8vIERldGVjdCByZWN1cnNpdmUgbG9jayBvdmVyZmxvdyBhbmQgcmV0dXJuIEVBR0FJTi4KKyAgICAvLyBUaGlzIGlzIHNhZmUgYmVjYXVzZSBvbmx5IHRoZSBvd25lciB0aHJlYWQgY2FuIG1vZGlmeSB0aGUKKyAgICAvLyBjb3VudGVyIGJpdHMgaW4gdGhlIG11dGV4IHZhbHVlLgorICAgIGlmIChNVVRFWF9DT1VOVEVSX0JJVFNfV0lMTF9PVkVSRkxPVyhvbGRfc3RhdGUpKSB7CiAgICAgICAgIHJldHVybiBFQUdBSU47CiAgICAgfQogCi0gICAgLyogV2Ugb3duIHRoZSBtdXRleCwgYnV0IG90aGVyIHRocmVhZHMgYXJlIGFibGUgdG8gY2hhbmdlCi0gICAgICogdGhlIGxvd2VyIGJpdHMgKGUuZy4gcHJvbW90aW5nIGl0IHRvICJjb250ZW5kZWQiKSwgc28gd2UKLSAgICAgKiBuZWVkIHRvIHVzZSBhbiBhdG9taWMgY21weGNoZyBsb29wIHRvIHVwZGF0ZSB0aGUgY291bnRlci4KLSAgICAgKi8KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIC8qIGluY3JlbWVudCBjb3VudGVyLCBvdmVyZmxvdyB3YXMgYWxyZWFkeSBjaGVja2VkICovCi0gICAgICAgIGludCBuZXd2YWwgPSBtdmFsdWUgKyBNVVRFWF9DT1VOVEVSX0JJVFNfT05FOwotICAgICAgICBpZiAoX19wcmVkaWN0X3RydWUoX19iaW9uaWNfY21weGNoZyhtdmFsdWUsIG5ld3ZhbCwgJm11dGV4LT52YWx1ZSkgPT0gMCkpIHsKLSAgICAgICAgICAgIC8qIG11dGV4IGlzIHN0aWxsIGxvY2tlZCwgbm90IG5lZWQgZm9yIGEgbWVtb3J5IGJhcnJpZXIgKi8KLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0gICAgICAgIC8qIHRoZSB2YWx1ZSB3YXMgY2hhbmdlZCwgdGhpcyBoYXBwZW5zIHdoZW4gYW5vdGhlciB0aHJlYWQgY2hhbmdlcwotICAgICAgICAgKiB0aGUgbG93ZXIgc3RhdGUgYml0cyBmcm9tIDEgdG8gMiB0byBpbmRpY2F0ZSBjb250ZW50aW9uLiBUaGlzCi0gICAgICAgICAqIGNhbm5vdCBjaGFuZ2UgdGhlIGNvdW50ZXIsIHNvIHNpbXBseSByZWxvYWQgYW5kIHRyeSBhZ2Fpbi4KLSAgICAgICAgICovCi0gICAgICAgIG12YWx1ZSA9IG11dGV4LT52YWx1ZTsKLSAgICB9Ci19Ci0KLWludCBwdGhyZWFkX211dGV4X2xvY2socHRocmVhZF9tdXRleF90KiBtdXRleCkgewotI2lmICFkZWZpbmVkKF9fTFA2NF9fKQotICAgIGlmIChtdXRleCA9PSBOVUxMKSB7Ci0gICAgICAgIHJldHVybiBFSU5WQUw7Ci0gICAgfQotI2VuZGlmCi0KLSAgICBpbnQgbXZhbHVlLCBtdHlwZSwgdGlkLCBzaGFyZWQ7Ci0KLSAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgbXR5cGUgPSAobXZhbHVlICYgTVVURVhfVFlQRV9NQVNLKTsKLSAgICBzaGFyZWQgPSAobXZhbHVlICYgTVVURVhfU0hBUkVEX01BU0spOwotCi0gICAgLyogSGFuZGxlIG5vbi1yZWN1cnNpdmUgY2FzZSBmaXJzdCAqLwotICAgIGlmICggX19wcmVkaWN0X3RydWUobXR5cGUgPT0gTVVURVhfVFlQRV9CSVRTX05PUk1BTCkgKSB7Ci0gICAgICAgIF9ub3JtYWxfbG9jayhtdXRleCwgc2hhcmVkKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgLyogRG8gd2UgYWxyZWFkeSBvd24gdGhpcyByZWN1cnNpdmUgb3IgZXJyb3ItY2hlY2sgbXV0ZXggPyAqLwotICAgIHRpZCA9IF9fZ2V0X3RocmVhZCgpLT50aWQ7Ci0gICAgaWYgKCB0aWQgPT0gTVVURVhfT1dORVJfRlJPTV9CSVRTKG12YWx1ZSkgKQotICAgICAgICByZXR1cm4gX3JlY3Vyc2l2ZV9pbmNyZW1lbnQobXV0ZXgsIG12YWx1ZSwgbXR5cGUpOwotCi0gICAgLyogQWRkIGluIHNoYXJlZCBzdGF0ZSB0byBhdm9pZCBleHRyYSAnb3InIG9wZXJhdGlvbnMgYmVsb3cgKi8KLSAgICBtdHlwZSB8PSBzaGFyZWQ7Ci0KLSAgICAvKiBGaXJzdCwgaWYgdGhlIG11dGV4IGlzIHVubG9ja2VkLCB0cnkgdG8gcXVpY2tseSBhY3F1aXJlIGl0LgotICAgICAqIEluIHRoZSBvcHRpbWlzdGljIGNhc2Ugd2hlcmUgdGhpcyB3b3Jrcywgc2V0IHRoZSBzdGF0ZSB0byAxIHRvCi0gICAgICogaW5kaWNhdGUgbG9ja2VkIHdpdGggbm8gY29udGVudGlvbiAqLwotICAgIGlmIChtdmFsdWUgPT0gbXR5cGUpIHsKLSAgICAgICAgaW50IG5ld3ZhbCA9IE1VVEVYX09XTkVSX1RPX0JJVFModGlkKSB8IG10eXBlIHwgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQ7Ci0gICAgICAgIGlmIChfX2Jpb25pY19jbXB4Y2hnKG12YWx1ZSwgbmV3dmFsLCAmbXV0ZXgtPnZhbHVlKSA9PSAwKSB7Ci0gICAgICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgICAvKiBhcmdoLCB0aGUgdmFsdWUgY2hhbmdlZCwgcmVsb2FkIGJlZm9yZSBlbnRlcmluZyB0aGUgbG9vcCAqLwotICAgICAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgfQotCi0gICAgZm9yICg7OykgewotICAgICAgICBpbnQgbmV3dmFsOwotCi0gICAgICAgIC8qIGlmIHRoZSBtdXRleCBpcyB1bmxvY2tlZCwgaXRzIHZhbHVlIHNob3VsZCBiZSAnbXR5cGUnIGFuZAotICAgICAgICAgKiB3ZSB0cnkgdG8gYWNxdWlyZSBpdCBieSBzZXR0aW5nIGl0cyBvd25lciBhbmQgc3RhdGUgYXRvbWljYWxseS4KLSAgICAgICAgICogTk9URTogV2UgcHV0IHRoZSBzdGF0ZSB0byAyIHNpbmNlIHdlIF9rbm93XyB0aGVyZSBpcyBjb250ZW50aW9uCi0gICAgICAgICAqIHdoZW4gd2UgYXJlIGluIHRoaXMgbG9vcC4gVGhpcyBlbnN1cmVzIGFsbCB3YWl0ZXJzIHdpbGwgYmUKLSAgICAgICAgICogdW5sb2NrZWQuCi0gICAgICAgICAqLwotICAgICAgICBpZiAobXZhbHVlID09IG10eXBlKSB7Ci0gICAgICAgICAgICBuZXd2YWwgPSBNVVRFWF9PV05FUl9UT19CSVRTKHRpZCkgfCBtdHlwZSB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRDsKLSAgICAgICAgICAgIC8qIFRPRE86IENoYW5nZSB0aGlzIHRvIF9fYmlvbmljX2NtcHhjaGdfYWNxdWlyZSB3aGVuIHdlCi0gICAgICAgICAgICAgKiAgICAgICAgaW1wbGVtZW50IGl0IHRvIGdldCByaWQgb2YgdGhlIGV4cGxpY2l0IG1lbW9yeQotICAgICAgICAgICAgICogICAgICAgIGJhcnJpZXIgYmVsb3cuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIGlmIChfX3ByZWRpY3RfZmFsc2UoX19iaW9uaWNfY21weGNoZyhtdmFsdWUsIG5ld3ZhbCwgJm11dGV4LT52YWx1ZSkgIT0gMCkpIHsKLSAgICAgICAgICAgICAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIHRoZSBtdXRleCBpcyBhbHJlYWR5IGxvY2tlZCBieSBhbm90aGVyIHRocmVhZCwgaWYgaXRzIHN0YXRlIGlzIDEKLSAgICAgICAgICogd2Ugd2lsbCBjaGFuZ2UgaXQgdG8gMiB0byBpbmRpY2F0ZSBjb250ZW50aW9uLiAqLwotICAgICAgICBpZiAoTVVURVhfU1RBVEVfQklUU19JU19MT0NLRURfVU5DT05URU5ERUQobXZhbHVlKSkgewotICAgICAgICAgICAgbmV3dmFsID0gTVVURVhfU1RBVEVfQklUU19GTElQX0NPTlRFTlRJT04obXZhbHVlKTsgLyogbG9ja2VkIHN0YXRlIDEgPT4gc3RhdGUgMiAqLwotICAgICAgICAgICAgaWYgKF9fcHJlZGljdF9mYWxzZShfX2Jpb25pY19jbXB4Y2hnKG12YWx1ZSwgbmV3dmFsLCAmbXV0ZXgtPnZhbHVlKSAhPSAwKSkgewotICAgICAgICAgICAgICAgIG12YWx1ZSA9IG11dGV4LT52YWx1ZTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG12YWx1ZSA9IG5ld3ZhbDsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIHdhaXQgdW50aWwgdGhlIG11dGV4IGlzIHVubG9ja2VkICovCi0gICAgICAgIF9fZnV0ZXhfd2FpdF9leCgmbXV0ZXgtPnZhbHVlLCBzaGFyZWQsIG12YWx1ZSwgTlVMTCk7Ci0KLSAgICAgICAgbXZhbHVlID0gbXV0ZXgtPnZhbHVlOwotICAgIH0KLSAgICAvKiBOT1RSRUFDSEVEICovCi19Ci0KLWludCBwdGhyZWFkX211dGV4X3VubG9jayhwdGhyZWFkX211dGV4X3QqIG11dGV4KSB7Ci0jaWYgIWRlZmluZWQoX19MUDY0X18pCi0gICAgaWYgKG11dGV4ID09IE5VTEwpIHsKLSAgICAgICAgcmV0dXJuIEVJTlZBTDsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGludCBtdmFsdWUsIG10eXBlLCB0aWQsIHNoYXJlZDsKLQotICAgIG12YWx1ZSA9IG11dGV4LT52YWx1ZTsKLSAgICBtdHlwZSAgPSAobXZhbHVlICYgTVVURVhfVFlQRV9NQVNLKTsKLSAgICBzaGFyZWQgPSAobXZhbHVlICYgTVVURVhfU0hBUkVEX01BU0spOwotCi0gICAgLyogSGFuZGxlIGNvbW1vbiBjYXNlIGZpcnN0ICovCi0gICAgaWYgKF9fcHJlZGljdF90cnVlKG10eXBlID09IE1VVEVYX1RZUEVfQklUU19OT1JNQUwpKSB7Ci0gICAgICAgIF9ub3JtYWxfdW5sb2NrKG11dGV4LCBzaGFyZWQpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvKiBEbyB3ZSBhbHJlYWR5IG93biB0aGlzIHJlY3Vyc2l2ZSBvciBlcnJvci1jaGVjayBtdXRleCA/ICovCi0gICAgdGlkID0gX19nZXRfdGhyZWFkKCktPnRpZDsKLSAgICBpZiAoIHRpZCAhPSBNVVRFWF9PV05FUl9GUk9NX0JJVFMobXZhbHVlKSApCi0gICAgICAgIHJldHVybiBFUEVSTTsKLQotICAgIC8qIElmIHRoZSBjb3VudGVyIGlzID4gMCwgd2UgY2FuIHNpbXBseSBkZWNyZW1lbnQgaXQgYXRvbWljYWxseS4KLSAgICAgKiBTaW5jZSBvdGhlciB0aHJlYWRzIGNhbiBtdXRhdGUgdGhlIGxvd2VyIHN0YXRlIGJpdHMgKGFuZCBvbmx5IHRoZQotICAgICAqIGxvd2VyIHN0YXRlIGJpdHMpLCB1c2UgYSBjbXB4Y2hnIHRvIGRvIGl0LgotICAgICAqLwotICAgIGlmICghTVVURVhfQ09VTlRFUl9CSVRTX0lTX1pFUk8obXZhbHVlKSkgewotICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICBpbnQgbmV3dmFsID0gbXZhbHVlIC0gTVVURVhfQ09VTlRFUl9CSVRTX09ORTsKLSAgICAgICAgICAgIGlmIChfX3ByZWRpY3RfdHJ1ZShfX2Jpb25pY19jbXB4Y2hnKG12YWx1ZSwgbmV3dmFsLCAmbXV0ZXgtPnZhbHVlKSA9PSAwKSkgewotICAgICAgICAgICAgICAgIC8qIHN1Y2Nlc3M6IHdlIHN0aWxsIG93biB0aGUgbXV0ZXgsIHNvIG5vIG1lbW9yeSBiYXJyaWVyICovCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiB0aGUgdmFsdWUgY2hhbmdlZCwgc28gcmVsb2FkIGFuZCBsb29wICovCi0gICAgICAgICAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiB0aGUgY291bnRlciBpcyAwLCBzbyB3ZSdyZSBnb2luZyB0byB1bmxvY2sgdGhlIG11dGV4IGJ5IHJlc2V0dGluZwotICAgICAqIGl0cyB2YWx1ZSB0byAndW5sb2NrZWQnLiBXZSBuZWVkIHRvIHBlcmZvcm0gYSBzd2FwIGluIG9yZGVyCi0gICAgICogdG8gcmVhZCB0aGUgY3VycmVudCBzdGF0ZSwgd2hpY2ggd2lsbCBiZSAyIGlmIHRoZXJlIGFyZSB3YWl0ZXJzCi0gICAgICogdG8gYXdha2UuCi0gICAgICoKLSAgICAgKiBUT0RPOiBDaGFuZ2UgdGhpcyB0byBfX2Jpb25pY19zd2FwX3JlbGVhc2Ugd2hlbiB3ZSBpbXBsZW1lbnQgaXQKLSAgICAgKiAgICAgICAgdG8gZ2V0IHJpZCBvZiB0aGUgZXhwbGljaXQgbWVtb3J5IGJhcnJpZXIgYmVsb3cuCi0gICAgICovCi0gICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOyAgLyogUkVMRUFTRSBCQVJSSUVSICovCi0gICAgbXZhbHVlID0gX19iaW9uaWNfc3dhcChtdHlwZSB8IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfVU5MT0NLRUQsICZtdXRleC0+dmFsdWUpOwotCi0gICAgLyogV2FrZSBvbmUgd2FpdGluZyB0aHJlYWQsIGlmIGFueSAqLwotICAgIGlmIChNVVRFWF9TVEFURV9CSVRTX0lTX0xPQ0tFRF9DT05URU5ERUQobXZhbHVlKSkgewotICAgICAgICBfX2Z1dGV4X3dha2VfZXgoJm11dGV4LT52YWx1ZSwgc2hhcmVkLCAxKTsKLSAgICB9CisgICAgLy8gT3RoZXIgdGhyZWFkcyBhcmUgYWJsZSB0byBjaGFuZ2UgdGhlIGxvd2VyIGJpdHMgKGUuZy4gcHJvbW90aW5nIGl0IHRvICJjb250ZW5kZWQiKSwKKyAgICAvLyBidXQgdGhlIG11dGV4IGNvdW50ZXIgd2lsbCBub3Qgb3ZlcmZsb3cuIFNvIHdlIHVzZSBhdG9taWNfZmV0Y2hfYWRkIG9wZXJhdGlvbiBoZXJlLgorICAgIC8vIFRoZSBtdXRleCBpcyBzdGlsbCBsb2NrZWQgYnkgY3VycmVudCB0aHJlYWQsIHNvIHdlIGRvbid0IG5lZWQgYSByZWxlYXNlIGZlbmNlLgorICAgIGF0b21pY19mZXRjaF9hZGRfZXhwbGljaXQoJm11dGV4LT5zdGF0ZSwgTVVURVhfQ09VTlRFUl9CSVRTX09ORSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOwogICAgIHJldHVybiAwOwogfQogCi1pbnQgcHRocmVhZF9tdXRleF90cnlsb2NrKHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgpIHsKLSAgICBpbnQgbXZhbHVlLCBtdHlwZSwgdGlkLCBzaGFyZWQ7CitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBpbnQgX19yZWN1cnNpdmVfb3JfZXJyb3JjaGVja19tdXRleF93YWl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRocmVhZF9tdXRleF9pbnRlcm5hbF90KiBtdXRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHNoYXJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG9sZF9zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzcGVjKiByZWxfdGltZW91dCkgeworLy8gX19mdXRleF93YWl0IGFsd2F5cyB3YWl0cyBvbiBhIDMyLWJpdCB2YWx1ZS4gQnV0IHN0YXRlIGlzIDE2LWJpdC4gRm9yIGEgbm9ybWFsIG11dGV4LCB0aGUgb3duZXJfdGlkCisvLyBmaWVsZCBpbiBtdXRleCBpcyBub3QgdXNlZC4gT24gNjQtYml0IGRldmljZXMsIHRoZSBfX3BhZCBmaWVsZCBpbiBtdXRleCBpcyBub3QgdXNlZC4KKy8vIEJ1dCB3aGVuIGEgcmVjdXJzaXZlIG9yIGVycm9yY2hlY2sgbXV0ZXggaXMgdXNlZCBvbiAzMi1iaXQgZGV2aWNlcywgd2UgbmVlZCB0byBhZGQgdGhlCisvLyBvd25lcl90aWQgdmFsdWUgaW4gdGhlIHZhbHVlIGFyZ3VtZW50IGZvciBfX2Z1dGV4X3dhaXQsIG90aGVyd2lzZSB3ZSBtYXkgYWx3YXlzIGdldCBFQUdBSU4gZXJyb3IuCiAKLSAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgbXR5cGUgID0gKG12YWx1ZSAmIE1VVEVYX1RZUEVfTUFTSyk7Ci0gICAgc2hhcmVkID0gKG12YWx1ZSAmIE1VVEVYX1NIQVJFRF9NQVNLKTsKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorICByZXR1cm4gX19mdXRleF93YWl0X2V4KCZtdXRleC0+c3RhdGUsIHNoYXJlZCwgb2xkX3N0YXRlLCByZWxfdGltZW91dCk7CiAKLSAgICAvKiBIYW5kbGUgY29tbW9uIGNhc2UgZmlyc3QgKi8KLSAgICBpZiAoIF9fcHJlZGljdF90cnVlKG10eXBlID09IE1VVEVYX1RZUEVfQklUU19OT1JNQUwpICkKLSAgICB7Ci0gICAgICAgIGlmIChfX2Jpb25pY19jbXB4Y2hnKHNoYXJlZHxNVVRFWF9TVEFURV9CSVRTX1VOTE9DS0VELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWR8TVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtdXRleC0+dmFsdWUpID09IDApIHsKLSAgICAgICAgICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9CisjZWxzZQorICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIHdvcmtzIG9ubHkgd2hlbiB0aGUgbGF5b3V0IG9mIHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCBtYXRjaGVzIGJlbG93IGV4cGVjdGF0aW9uLgorICAvLyBBbmQgaXQgaXMgYmFzZWQgb24gdGhlIGFzc3VtcHRpb24gdGhhdCBBbmRyb2lkIGlzIGFsd2F5cyBpbiBsaXR0bGUtZW5kaWFuIGRldmljZXMuCisgIHN0YXRpY19hc3NlcnQob2Zmc2V0b2YocHRocmVhZF9tdXRleF9pbnRlcm5hbF90LCBzdGF0ZSkgPT0gMCwgIiIpOworICBzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCwgb3duZXJfdGlkKSA9PSAyLCAiIik7CiAKLSAgICAgICAgcmV0dXJuIEVCVVNZOworICB1aW50MzJfdCBvd25lcl90aWQgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmbXV0ZXgtPm93bmVyX3RpZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICByZXR1cm4gX19mdXRleF93YWl0X2V4KCZtdXRleC0+c3RhdGUsIHNoYXJlZCwgKG93bmVyX3RpZCA8PCAxNikgfCBvbGRfc3RhdGUsIHJlbF90aW1lb3V0KTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50IF9fcHRocmVhZF9tdXRleF9sb2NrX3dpdGhfdGltZW91dChwdGhyZWFkX211dGV4X2ludGVybmFsX3QqIG11dGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dF9vcl9udWxsLCBjbG9ja2lkX3QgY2xvY2spIHsKKyAgICB1aW50MTZfdCBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmbXV0ZXgtPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgdWludDE2X3QgbXR5cGUgPSAob2xkX3N0YXRlICYgTVVURVhfVFlQRV9NQVNLKTsKKyAgICB1aW50MTZfdCBzaGFyZWQgPSAob2xkX3N0YXRlICYgTVVURVhfU0hBUkVEX01BU0spOworCisgICAgLy8gSGFuZGxlIGNvbW1vbiBjYXNlIGZpcnN0LgorICAgIGlmICggX19wcmVkaWN0X3RydWUobXR5cGUgPT0gTVVURVhfVFlQRV9CSVRTX05PUk1BTCkgKSB7CisgICAgICAgIHJldHVybiBfX3B0aHJlYWRfbm9ybWFsX211dGV4X2xvY2sobXV0ZXgsIHNoYXJlZCwgYWJzX3RpbWVvdXRfb3JfbnVsbCwgY2xvY2spOwogICAgIH0KIAotICAgIC8qIERvIHdlIGFscmVhZHkgb3duIHRoaXMgcmVjdXJzaXZlIG9yIGVycm9yLWNoZWNrIG11dGV4ID8gKi8KLSAgICB0aWQgPSBfX2dldF90aHJlYWQoKS0+dGlkOwotICAgIGlmICggdGlkID09IE1VVEVYX09XTkVSX0ZST01fQklUUyhtdmFsdWUpICkKLSAgICAgICAgcmV0dXJuIF9yZWN1cnNpdmVfaW5jcmVtZW50KG11dGV4LCBtdmFsdWUsIG10eXBlKTsKKyAgICAvLyBEbyB3ZSBhbHJlYWR5IG93biB0aGlzIHJlY3Vyc2l2ZSBvciBlcnJvci1jaGVjayBtdXRleD8KKyAgICBwaWRfdCB0aWQgPSBfX2dldF90aHJlYWQoKS0+dGlkOworICAgIGlmICh0aWQgPT0gYXRvbWljX2xvYWRfZXhwbGljaXQoJm11dGV4LT5vd25lcl90aWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSkgeworICAgICAgICBpZiAobXR5cGUgPT0gTVVURVhfVFlQRV9CSVRTX0VSUk9SQ0hFQ0spIHsKKyAgICAgICAgICAgIHJldHVybiBFREVBRExLOworICAgICAgICB9CisgICAgICAgIHJldHVybiBfX3JlY3Vyc2l2ZV9pbmNyZW1lbnQobXV0ZXgsIG9sZF9zdGF0ZSk7CisgICAgfQogCi0gICAgLyogU2FtZSBhcyBwdGhyZWFkX211dGV4X2xvY2ssIGV4Y2VwdCB0aGF0IHdlIGRvbid0IHdhbnQgdG8gd2FpdCwgYW5kCi0gICAgICogdGhlIG9ubHkgb3BlcmF0aW9uIHRoYXQgY2FuIHN1Y2NlZWQgaXMgYSBzaW5nbGUgY21weGNoZyB0byBhY3F1aXJlIHRoZQotICAgICAqIGxvY2sgaWYgaXQgaXMgcmVsZWFzZWQgLyBub3Qgb3duZWQgYnkgYW55b25lLiBObyBuZWVkIGZvciBhIGNvbXBsZXggbG9vcC4KLSAgICAgKi8KLSAgICBtdHlwZSB8PSBzaGFyZWQgfCBNVVRFWF9TVEFURV9CSVRTX1VOTE9DS0VEOwotICAgIG12YWx1ZSA9IE1VVEVYX09XTkVSX1RPX0JJVFModGlkKSB8IG10eXBlIHwgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQ7CisgICAgY29uc3QgdWludDE2X3QgdW5sb2NrZWQgICAgICAgICAgID0gbXR5cGUgfCBzaGFyZWQgfCBNVVRFWF9TVEFURV9CSVRTX1VOTE9DS0VEOworICAgIGNvbnN0IHVpbnQxNl90IGxvY2tlZF91bmNvbnRlbmRlZCA9IG10eXBlIHwgc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQ7CisgICAgY29uc3QgdWludDE2X3QgbG9ja2VkX2NvbnRlbmRlZCAgID0gbXR5cGUgfCBzaGFyZWQgfCBNVVRFWF9TVEFURV9CSVRTX0xPQ0tFRF9DT05URU5ERUQ7CiAKLSAgICBpZiAoX19wcmVkaWN0X3RydWUoX19iaW9uaWNfY21weGNoZyhtdHlwZSwgbXZhbHVlLCAmbXV0ZXgtPnZhbHVlKSA9PSAwKSkgewotICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7CisgICAgLy8gRmlyc3QsIGlmIHRoZSBtdXRleCBpcyB1bmxvY2tlZCwgdHJ5IHRvIHF1aWNrbHkgYWNxdWlyZSBpdC4KKyAgICAvLyBJbiB0aGUgb3B0aW1pc3RpYyBjYXNlIHdoZXJlIHRoaXMgd29ya3MsIHNldCB0aGUgc3RhdGUgdG8gbG9ja2VkX3VuY29udGVuZGVkLgorICAgIGlmIChvbGRfc3RhdGUgPT0gdW5sb2NrZWQpIHsKKyAgICAgICAgLy8gSWYgZXhjaGFuZ2VkIHN1Y2Nlc3NmdWxseSwgYW4gYWNxdWlyZSBmZW5jZSBpcyByZXF1aXJlZCB0byBtYWtlCisgICAgICAgIC8vIGFsbCBtZW1vcnkgYWNjZXNzZXMgbWFkZSBieSBvdGhlciB0aHJlYWRzIHZpc2libGUgdG8gdGhlIGN1cnJlbnQgQ1BVLgorICAgICAgICBpZiAoX19wcmVkaWN0X3RydWUoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nX2V4cGxpY2l0KCZtdXRleC0+c3RhdGUsICZvbGRfc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2tlZF91bmNvbnRlbmRlZCwgbWVtb3J5X29yZGVyX2FjcXVpcmUsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSkpIHsKKyAgICAgICAgICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmbXV0ZXgtPm93bmVyX3RpZCwgdGlkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgIH0KKworICAgIFNjb3BlZFRyYWNlIHRyYWNlKCJDb250ZW5kaW5nIGZvciBwdGhyZWFkIG11dGV4Iik7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBpZiAob2xkX3N0YXRlID09IHVubG9ja2VkKSB7CisgICAgICAgICAgICAvLyBOT1RFOiBXZSBwdXQgdGhlIHN0YXRlIHRvIGxvY2tlZF9jb250ZW5kZWQgc2luY2Ugd2UgX2tub3dfIHRoZXJlCisgICAgICAgICAgICAvLyBpcyBjb250ZW50aW9uIHdoZW4gd2UgYXJlIGluIHRoaXMgbG9vcC4gVGhpcyBlbnN1cmVzIGFsbCB3YWl0ZXJzCisgICAgICAgICAgICAvLyB3aWxsIGJlIHVubG9ja2VkLgorCisgICAgICAgICAgICAvLyBJZiBleGNoYW5nZWQgc3VjY2Vzc2Z1bGx5LCBhbiBhY3F1aXJlIGZlbmNlIGlzIHJlcXVpcmVkIHRvIG1ha2UKKyAgICAgICAgICAgIC8vIGFsbCBtZW1vcnkgYWNjZXNzZXMgbWFkZSBieSBvdGhlciB0aHJlYWRzIHZpc2libGUgdG8gdGhlIGN1cnJlbnQgQ1BVLgorICAgICAgICAgICAgaWYgKF9fcHJlZGljdF90cnVlKGF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQoJm11dGV4LT5zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvbGRfc3RhdGUsIGxvY2tlZF9jb250ZW5kZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfYWNxdWlyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxheGVkKSkpIHsKKyAgICAgICAgICAgICAgICBhdG9taWNfc3RvcmVfZXhwbGljaXQoJm11dGV4LT5vd25lcl90aWQsIHRpZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0gZWxzZSBpZiAoTVVURVhfU1RBVEVfQklUU19JU19MT0NLRURfVU5DT05URU5ERUQob2xkX3N0YXRlKSkgeworICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIHNldCBpdCB0byBsb2NrZWRfY29udGVuZGVkIGJlZm9yaW5nIGdvaW5nIHRvIHNsZWVwLiBUaGlzIGNhbiBtYWtlCisgICAgICAgICAgICAvLyBzdXJlIHdhaXRlcnMgd2lsbCBiZSB3b2tlbiB1cCBldmVudHVhbGx5LgorCisgICAgICAgICAgICBpbnQgbmV3X3N0YXRlID0gTVVURVhfU1RBVEVfQklUU19GTElQX0NPTlRFTlRJT04ob2xkX3N0YXRlKTsKKyAgICAgICAgICAgIGlmIChfX3ByZWRpY3RfZmFsc2UoIWF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQoJm11dGV4LT5zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9sZF9zdGF0ZSwgbmV3X3N0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsYXhlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X29yZGVyX3JlbGF4ZWQpKSkgeworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgb2xkX3N0YXRlID0gbmV3X3N0YXRlOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2UgYXJlIGluIGxvY2tlZF9jb250ZW5kZWQgc3RhdGUsIHNsZWVwIHVudGlsIHNvbWVvbmUgd2FrZXMgdXMgdXAuCisgICAgICAgIHRpbWVzcGVjIHRzOworICAgICAgICB0aW1lc3BlYyogcmVsX3RpbWVvdXQgPSBOVUxMOworICAgICAgICBpZiAoYWJzX3RpbWVvdXRfb3JfbnVsbCAhPSBOVUxMKSB7CisgICAgICAgICAgICByZWxfdGltZW91dCA9ICZ0czsKKyAgICAgICAgICAgIGlmICghdGltZXNwZWNfZnJvbV9hYnNvbHV0ZV90aW1lc3BlYygqcmVsX3RpbWVvdXQsICphYnNfdGltZW91dF9vcl9udWxsLCBjbG9jaykpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gRVRJTUVET1VUOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChfX3JlY3Vyc2l2ZV9vcl9lcnJvcmNoZWNrX211dGV4X3dhaXQobXV0ZXgsIHNoYXJlZCwgb2xkX3N0YXRlLCByZWxfdGltZW91dCkgPT0gLUVUSU1FRE9VVCkgeworICAgICAgICAgICAgcmV0dXJuIEVUSU1FRE9VVDsKKyAgICAgICAgfQorICAgICAgICBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmbXV0ZXgtPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgfQorfQorCitpbnQgcHRocmVhZF9tdXRleF9sb2NrKHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXhfaW50ZXJmYWNlKSB7CisgICAgcHRocmVhZF9tdXRleF9pbnRlcm5hbF90KiBtdXRleCA9IF9fZ2V0X2ludGVybmFsX211dGV4KG11dGV4X2ludGVyZmFjZSk7CisKKyAgICB1aW50MTZfdCBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmbXV0ZXgtPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgdWludDE2X3QgbXR5cGUgPSAob2xkX3N0YXRlICYgTVVURVhfVFlQRV9NQVNLKTsKKyAgICB1aW50MTZfdCBzaGFyZWQgPSAob2xkX3N0YXRlICYgTVVURVhfU0hBUkVEX01BU0spOworICAgIC8vIEF2b2lkIHNsb3dpbmcgZG93biBmYXN0IHBhdGggb2Ygbm9ybWFsIG11dGV4IGxvY2sgb3BlcmF0aW9uLgorICAgIGlmIChfX3ByZWRpY3RfdHJ1ZShtdHlwZSA9PSBNVVRFWF9UWVBFX0JJVFNfTk9STUFMKSkgeworICAgICAgaWYgKF9fcHJlZGljdF90cnVlKF9fcHRocmVhZF9ub3JtYWxfbXV0ZXhfdHJ5bG9jayhtdXRleCwgc2hhcmVkKSA9PSAwKSkgeworICAgICAgICByZXR1cm4gMDsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIF9fcHRocmVhZF9tdXRleF9sb2NrX3dpdGhfdGltZW91dChtdXRleCwgTlVMTCwgMCk7Cit9CisKK2ludCBwdGhyZWFkX211dGV4X3VubG9jayhwdGhyZWFkX211dGV4X3QqIG11dGV4X2ludGVyZmFjZSkgeworICAgIHB0aHJlYWRfbXV0ZXhfaW50ZXJuYWxfdCogbXV0ZXggPSBfX2dldF9pbnRlcm5hbF9tdXRleChtdXRleF9pbnRlcmZhY2UpOworCisgICAgdWludDE2X3Qgb2xkX3N0YXRlID0gYXRvbWljX2xvYWRfZXhwbGljaXQoJm11dGV4LT5zdGF0ZSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICAgIHVpbnQxNl90IG10eXBlICA9IChvbGRfc3RhdGUgJiBNVVRFWF9UWVBFX01BU0spOworICAgIHVpbnQxNl90IHNoYXJlZCA9IChvbGRfc3RhdGUgJiBNVVRFWF9TSEFSRURfTUFTSyk7CisKKyAgICAvLyBIYW5kbGUgY29tbW9uIGNhc2UgZmlyc3QuCisgICAgaWYgKF9fcHJlZGljdF90cnVlKG10eXBlID09IE1VVEVYX1RZUEVfQklUU19OT1JNQUwpKSB7CisgICAgICAgIF9fcHRocmVhZF9ub3JtYWxfbXV0ZXhfdW5sb2NrKG11dGV4LCBzaGFyZWQpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAgICAvLyBEbyB3ZSBhbHJlYWR5IG93biB0aGlzIHJlY3Vyc2l2ZSBvciBlcnJvci1jaGVjayBtdXRleD8KKyAgICBwaWRfdCB0aWQgPSBfX2dldF90aHJlYWQoKS0+dGlkOworICAgIGlmICggdGlkICE9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZtdXRleC0+b3duZXJfdGlkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkgKSB7CisgICAgICAgIHJldHVybiBFUEVSTTsKKyAgICB9CisKKyAgICAvLyBJZiB0aGUgY291bnRlciBpcyA+IDAsIHdlIGNhbiBzaW1wbHkgZGVjcmVtZW50IGl0IGF0b21pY2FsbHkuCisgICAgLy8gU2luY2Ugb3RoZXIgdGhyZWFkcyBjYW4gbXV0YXRlIHRoZSBsb3dlciBzdGF0ZSBiaXRzIChhbmQgb25seSB0aGUKKyAgICAvLyBsb3dlciBzdGF0ZSBiaXRzKSwgdXNlIGEgY29tcGFyZV9leGNoYW5nZSBsb29wIHRvIGRvIGl0LgorICAgIGlmICghTVVURVhfQ09VTlRFUl9CSVRTX0lTX1pFUk8ob2xkX3N0YXRlKSkgeworICAgICAgICAvLyBXZSBzdGlsbCBvd24gdGhlIG11dGV4LCBzbyBhIHJlbGVhc2UgZmVuY2UgaXMgbm90IG5lZWRlZC4KKyAgICAgICAgYXRvbWljX2ZldGNoX3N1Yl9leHBsaWNpdCgmbXV0ZXgtPnN0YXRlLCBNVVRFWF9DT1VOVEVSX0JJVFNfT05FLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8vIFRoZSBjb3VudGVyIGlzIDAsIHNvIHdlJ2FyZSBnb2luZyB0byB1bmxvY2sgdGhlIG11dGV4IGJ5IHJlc2V0dGluZyBpdHMKKyAgICAvLyBzdGF0ZSB0byB1bmxvY2tlZCwgd2UgbmVlZCB0byBwZXJmb3JtIGEgYXRvbWljX2V4Y2hhbmdlIGlub3JkZXIgdG8gcmVhZAorICAgIC8vIHRoZSBjdXJyZW50IHN0YXRlLCB3aGljaCB3aWxsIGJlIGxvY2tlZF9jb250ZW5kZWQgaWYgdGhlcmUgbWF5IGhhdmUgd2FpdGVycworICAgIC8vIHRvIGF3YWtlLgorICAgIC8vIEEgcmVsZWFzZSBmZW5jZSBpcyByZXF1aXJlZCB0byBtYWtlIHByZXZpb3VzIHN0b3JlcyB2aXNpYmxlIHRvIG5leHQKKyAgICAvLyBsb2NrIG93bmVyIHRocmVhZHMuCisgICAgYXRvbWljX3N0b3JlX2V4cGxpY2l0KCZtdXRleC0+b3duZXJfdGlkLCAwLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgY29uc3QgdWludDE2X3QgdW5sb2NrZWQgPSBtdHlwZSB8IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfVU5MT0NLRUQ7CisgICAgb2xkX3N0YXRlID0gYXRvbWljX2V4Y2hhbmdlX2V4cGxpY2l0KCZtdXRleC0+c3RhdGUsIHVubG9ja2VkLCBtZW1vcnlfb3JkZXJfcmVsZWFzZSk7CisgICAgaWYgKE1VVEVYX1NUQVRFX0JJVFNfSVNfTE9DS0VEX0NPTlRFTkRFRChvbGRfc3RhdGUpKSB7CisgICAgICAgIF9fZnV0ZXhfd2FrZV9leCgmbXV0ZXgtPnN0YXRlLCBzaGFyZWQsIDEpOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitpbnQgcHRocmVhZF9tdXRleF90cnlsb2NrKHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXhfaW50ZXJmYWNlKSB7CisgICAgcHRocmVhZF9tdXRleF9pbnRlcm5hbF90KiBtdXRleCA9IF9fZ2V0X2ludGVybmFsX211dGV4KG11dGV4X2ludGVyZmFjZSk7CisKKyAgICB1aW50MTZfdCBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmbXV0ZXgtPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgdWludDE2X3QgbXR5cGUgID0gKG9sZF9zdGF0ZSAmIE1VVEVYX1RZUEVfTUFTSyk7CisgICAgdWludDE2X3Qgc2hhcmVkID0gKG9sZF9zdGF0ZSAmIE1VVEVYX1NIQVJFRF9NQVNLKTsKKworICAgIGNvbnN0IHVpbnQxNl90IHVubG9ja2VkICAgICAgICAgICA9IG10eXBlIHwgc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19VTkxPQ0tFRDsKKyAgICBjb25zdCB1aW50MTZfdCBsb2NrZWRfdW5jb250ZW5kZWQgPSBtdHlwZSB8IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX1VOQ09OVEVOREVEOworCisgICAgLy8gSGFuZGxlIGNvbW1vbiBjYXNlIGZpcnN0LgorICAgIGlmIChfX3ByZWRpY3RfdHJ1ZShtdHlwZSA9PSBNVVRFWF9UWVBFX0JJVFNfTk9STUFMKSkgeworICAgICAgICByZXR1cm4gX19wdGhyZWFkX25vcm1hbF9tdXRleF90cnlsb2NrKG11dGV4LCBzaGFyZWQpOworICAgIH0KKworICAgIC8vIERvIHdlIGFscmVhZHkgb3duIHRoaXMgcmVjdXJzaXZlIG9yIGVycm9yLWNoZWNrIG11dGV4PworICAgIHBpZF90IHRpZCA9IF9fZ2V0X3RocmVhZCgpLT50aWQ7CisgICAgaWYgKHRpZCA9PSBhdG9taWNfbG9hZF9leHBsaWNpdCgmbXV0ZXgtPm93bmVyX3RpZCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpKSB7CisgICAgICAgIGlmIChtdHlwZSA9PSBNVVRFWF9UWVBFX0JJVFNfRVJST1JDSEVDSykgeworICAgICAgICAgICAgcmV0dXJuIEVCVVNZOworICAgICAgICB9CisgICAgICAgIHJldHVybiBfX3JlY3Vyc2l2ZV9pbmNyZW1lbnQobXV0ZXgsIG9sZF9zdGF0ZSk7CisgICAgfQorCisgICAgLy8gU2FtZSBhcyBwdGhyZWFkX211dGV4X2xvY2ssIGV4Y2VwdCB0aGF0IHdlIGRvbid0IHdhbnQgdG8gd2FpdCwgYW5kCisgICAgLy8gdGhlIG9ubHkgb3BlcmF0aW9uIHRoYXQgY2FuIHN1Y2NlZWQgaXMgYSBzaW5nbGUgY29tcGFyZV9leGNoYW5nZSB0byBhY3F1aXJlIHRoZQorICAgIC8vIGxvY2sgaWYgaXQgaXMgcmVsZWFzZWQgLyBub3Qgb3duZWQgYnkgYW55b25lLiBObyBuZWVkIGZvciBhIGNvbXBsZXggbG9vcC4KKyAgICAvLyBJZiBleGNoYW5nZWQgc3VjY2Vzc2Z1bGx5LCBhbiBhY3F1aXJlIGZlbmNlIGlzIHJlcXVpcmVkIHRvIG1ha2UKKyAgICAvLyBhbGwgbWVtb3J5IGFjY2Vzc2VzIG1hZGUgYnkgb3RoZXIgdGhyZWFkcyB2aXNpYmxlIHRvIHRoZSBjdXJyZW50IENQVS4KKyAgICBvbGRfc3RhdGUgPSB1bmxvY2tlZDsKKyAgICBpZiAoX19wcmVkaWN0X3RydWUoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nX2V4cGxpY2l0KCZtdXRleC0+c3RhdGUsICZvbGRfc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrZWRfdW5jb250ZW5kZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfYWNxdWlyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxheGVkKSkpIHsKKyAgICAgICAgYXRvbWljX3N0b3JlX2V4cGxpY2l0KCZtdXRleC0+b3duZXJfdGlkLCB0aWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIHJldHVybiBFQlVTWTsKIH0KIAotc3RhdGljIGludCBfX3B0aHJlYWRfbXV0ZXhfdGltZWRsb2NrKHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXgsIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dCwgY2xvY2tpZF90IGNsb2NrKSB7Ci0gIHRpbWVzcGVjIHRzOwotCi0gIGludCBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gIGludCBtdHlwZSAgPSAobXZhbHVlICYgTVVURVhfVFlQRV9NQVNLKTsKLSAgaW50IHNoYXJlZCA9IChtdmFsdWUgJiBNVVRFWF9TSEFSRURfTUFTSyk7Ci0KLSAgLy8gSGFuZGxlIGNvbW1vbiBjYXNlIGZpcnN0LgotICBpZiAoX19wcmVkaWN0X3RydWUobXR5cGUgPT0gTVVURVhfVFlQRV9CSVRTX05PUk1BTCkpIHsKLSAgICBjb25zdCBpbnQgdW5sb2NrZWQgICAgICAgICAgID0gc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19VTkxPQ0tFRDsKLSAgICBjb25zdCBpbnQgbG9ja2VkX3VuY29udGVuZGVkID0gc2hhcmVkIHwgTVVURVhfU1RBVEVfQklUU19MT0NLRURfVU5DT05URU5ERUQ7Ci0gICAgY29uc3QgaW50IGxvY2tlZF9jb250ZW5kZWQgICA9IHNoYXJlZCB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRDsKLQotICAgIC8vIEZhc3QgcGF0aCBmb3IgdW5jb250ZW5kZWQgbG9jay4gTm90ZTogTVVURVhfVFlQRV9CSVRTX05PUk1BTCBpcyAwLgotICAgIGlmIChfX2Jpb25pY19jbXB4Y2hnKHVubG9ja2VkLCBsb2NrZWRfdW5jb250ZW5kZWQsICZtdXRleC0+dmFsdWUpID09IDApIHsKLSAgICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKLSAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIC8vIExvb3Agd2hpbGUgbmVlZGVkLgotICAgIHdoaWxlIChfX2Jpb25pY19zd2FwKGxvY2tlZF9jb250ZW5kZWQsICZtdXRleC0+dmFsdWUpICE9IHVubG9ja2VkKSB7Ci0gICAgICBpZiAoX190aW1lc3BlY19mcm9tX2Fic29sdXRlKCZ0cywgYWJzX3RpbWVvdXQsIGNsb2NrKSA8IDApIHsKLSAgICAgICAgcmV0dXJuIEVUSU1FRE9VVDsKLSAgICAgIH0KLSAgICAgIF9fZnV0ZXhfd2FpdF9leCgmbXV0ZXgtPnZhbHVlLCBzaGFyZWQsIGxvY2tlZF9jb250ZW5kZWQsICZ0cyk7Ci0gICAgfQotICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKLSAgICByZXR1cm4gMDsKLSAgfQotCi0gIC8vIERvIHdlIGFscmVhZHkgb3duIHRoaXMgcmVjdXJzaXZlIG9yIGVycm9yLWNoZWNrIG11dGV4PwotICBwaWRfdCB0aWQgPSBfX2dldF90aHJlYWQoKS0+dGlkOwotICBpZiAodGlkID09IE1VVEVYX09XTkVSX0ZST01fQklUUyhtdmFsdWUpKSB7Ci0gICAgcmV0dXJuIF9yZWN1cnNpdmVfaW5jcmVtZW50KG11dGV4LCBtdmFsdWUsIG10eXBlKTsKLSAgfQotCi0gIC8vIFRoZSBmb2xsb3dpbmcgaW1wbGVtZW50cyB0aGUgc2FtZSBsb29wIGFzIHB0aHJlYWRfbXV0ZXhfbG9ja19pbXBsCi0gIC8vIGJ1dCBhZGRzIGNoZWNrcyB0byBlbnN1cmUgdGhhdCB0aGUgb3BlcmF0aW9uIG5ldmVyIGV4Y2VlZHMgdGhlCi0gIC8vIGFic29sdXRlIGV4cGlyYXRpb24gdGltZS4KLSAgbXR5cGUgfD0gc2hhcmVkOwotCi0gIC8vIEZpcnN0IHRyeSBhIHF1aWNrIGxvY2suCi0gIGlmIChtdmFsdWUgPT0gbXR5cGUpIHsKLSAgICBtdmFsdWUgPSBNVVRFWF9PV05FUl9UT19CSVRTKHRpZCkgfCBtdHlwZSB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX1VOQ09OVEVOREVEOwotICAgIGlmIChfX3ByZWRpY3RfdHJ1ZShfX2Jpb25pY19jbXB4Y2hnKG10eXBlLCBtdmFsdWUsICZtdXRleC0+dmFsdWUpID09IDApKSB7Ci0gICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgbXZhbHVlID0gbXV0ZXgtPnZhbHVlOwotICB9Ci0KLSAgd2hpbGUgKHRydWUpIHsKLSAgICAvLyBJZiB0aGUgdmFsdWUgaXMgJ3VubG9ja2VkJywgdHJ5IHRvIGFjcXVpcmUgaXQgZGlyZWN0bHkuCi0gICAgLy8gTk9URTogcHV0IHN0YXRlIHRvIDIgc2luY2Ugd2Uga25vdyB0aGVyZSBpcyBjb250ZW50aW9uLgotICAgIGlmIChtdmFsdWUgPT0gbXR5cGUpIHsgLy8gVW5sb2NrZWQuCi0gICAgICBtdmFsdWUgPSBNVVRFWF9PV05FUl9UT19CSVRTKHRpZCkgfCBtdHlwZSB8IE1VVEVYX1NUQVRFX0JJVFNfTE9DS0VEX0NPTlRFTkRFRDsKLSAgICAgIGlmIChfX2Jpb25pY19jbXB4Y2hnKG10eXBlLCBtdmFsdWUsICZtdXRleC0+dmFsdWUpID09IDApIHsKLSAgICAgICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgICAgICByZXR1cm4gMDsKLSAgICAgIH0KLSAgICAgIC8vIFRoZSB2YWx1ZSBjaGFuZ2VkIGJlZm9yZSB3ZSBjb3VsZCBsb2NrIGl0LiBXZSBuZWVkIHRvIGNoZWNrCi0gICAgICAvLyB0aGUgdGltZSB0byBhdm9pZCBsaXZlbG9ja3MsIHJlbG9hZCB0aGUgdmFsdWUsIHRoZW4gbG9vcCBhZ2Fpbi4KLSAgICAgIGlmIChfX3RpbWVzcGVjX2Zyb21fYWJzb2x1dGUoJnRzLCBhYnNfdGltZW91dCwgY2xvY2spIDwgMCkgewotICAgICAgICByZXR1cm4gRVRJTUVET1VUOwotICAgICAgfQotCi0gICAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAgICAvLyBUaGUgdmFsdWUgaXMgbG9ja2VkLiBJZiAndW5jb250ZW5kZWQnLCB0cnkgdG8gc3dpdGNoIGl0cyBzdGF0ZQotICAgIC8vIHRvICdjb250ZW50ZWQnIHRvIGVuc3VyZSB3ZSBnZXQgd29rZW4gdXAgbGF0ZXIuCi0gICAgaWYgKE1VVEVYX1NUQVRFX0JJVFNfSVNfTE9DS0VEX1VOQ09OVEVOREVEKG12YWx1ZSkpIHsKLSAgICAgIGludCBuZXd2YWwgPSBNVVRFWF9TVEFURV9CSVRTX0ZMSVBfQ09OVEVOVElPTihtdmFsdWUpOwotICAgICAgaWYgKF9fYmlvbmljX2NtcHhjaGcobXZhbHVlLCBuZXd2YWwsICZtdXRleC0+dmFsdWUpICE9IDApIHsKLSAgICAgICAgLy8gVGhpcyBmYWlsZWQgYmVjYXVzZSB0aGUgdmFsdWUgY2hhbmdlZCwgcmVsb2FkIGl0LgotICAgICAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgICB9IGVsc2UgewotICAgICAgICAvLyBUaGlzIHN1Y2NlZWRlZCwgdXBkYXRlIG12YWx1ZS4KLSAgICAgICAgbXZhbHVlID0gbmV3dmFsOwotICAgICAgfQotICAgIH0KLQotICAgIC8vIENoZWNrIHRpbWUgYW5kIHVwZGF0ZSAndHMnLgotICAgIGlmIChfX3RpbWVzcGVjX2Zyb21fYWJzb2x1dGUoJnRzLCBhYnNfdGltZW91dCwgY2xvY2spIDwgMCkgewotICAgICAgcmV0dXJuIEVUSU1FRE9VVDsKLSAgICB9Ci0KLSAgICAvLyBPbmx5IHdhaXQgdG8gYmUgd29rZW4gdXAgaWYgdGhlIHN0YXRlIGlzICcyJywgb3RoZXJ3aXNlIHdlJ2xsCi0gICAgLy8gc2ltcGx5IGxvb3AgcmlnaHQgbm93LiBUaGlzIGNhbiBoYXBwZW4gd2hlbiB0aGUgc2Vjb25kIGNtcHhjaGcKLSAgICAvLyBpbiBvdXIgbG9vcCBmYWlsZWQgYmVjYXVzZSB0aGUgbXV0ZXggd2FzIHVubG9ja2VkIGJ5IGFub3RoZXIgdGhyZWFkLgotICAgIGlmIChNVVRFWF9TVEFURV9CSVRTX0lTX0xPQ0tFRF9DT05URU5ERUQobXZhbHVlKSkgewotICAgICAgaWYgKF9fZnV0ZXhfd2FpdF9leCgmbXV0ZXgtPnZhbHVlLCBzaGFyZWQsIG12YWx1ZSwgJnRzKSA9PSAtRVRJTUVET1VUKSB7Ci0gICAgICAgIHJldHVybiBFVElNRURPVVQ7Ci0gICAgICB9Ci0gICAgICBtdmFsdWUgPSBtdXRleC0+dmFsdWU7Ci0gICAgfQotICB9Ci0gIC8qIE5PVFJFQUNIRUQgKi8KLX0KLQogI2lmICFkZWZpbmVkKF9fTFA2NF9fKQotZXh0ZXJuICJDIiBpbnQgcHRocmVhZF9tdXRleF9sb2NrX3RpbWVvdXRfbnAocHRocmVhZF9tdXRleF90KiBtdXRleCwgdW5zaWduZWQgbXMpIHsKLSAgdGltZXNwZWMgYWJzX3RpbWVvdXQ7Ci0gIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmYWJzX3RpbWVvdXQpOwotICBhYnNfdGltZW91dC50dl9zZWMgICs9IG1zIC8gMTAwMDsKLSAgYWJzX3RpbWVvdXQudHZfbnNlYyArPSAobXMgJSAxMDAwKSAqIDEwMDAwMDA7Ci0gIGlmIChhYnNfdGltZW91dC50dl9uc2VjID49IDEwMDAwMDAwMDApIHsKLSAgICBhYnNfdGltZW91dC50dl9zZWMrKzsKLSAgICBhYnNfdGltZW91dC50dl9uc2VjIC09IDEwMDAwMDAwMDA7Ci0gIH0KK2V4dGVybiAiQyIgaW50IHB0aHJlYWRfbXV0ZXhfbG9ja190aW1lb3V0X25wKHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXhfaW50ZXJmYWNlLCB1bnNpZ25lZCBtcykgeworICAgIHRpbWVzcGVjIGFic190aW1lb3V0OworICAgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmYWJzX3RpbWVvdXQpOworICAgIGFic190aW1lb3V0LnR2X3NlYyAgKz0gbXMgLyAxMDAwOworICAgIGFic190aW1lb3V0LnR2X25zZWMgKz0gKG1zICUgMTAwMCkgKiAxMDAwMDAwOworICAgIGlmIChhYnNfdGltZW91dC50dl9uc2VjID49IE5TX1BFUl9TKSB7CisgICAgICAgIGFic190aW1lb3V0LnR2X3NlYysrOworICAgICAgICBhYnNfdGltZW91dC50dl9uc2VjIC09IE5TX1BFUl9TOworICAgIH0KIAotICBpbnQgZXJyb3IgPSBfX3B0aHJlYWRfbXV0ZXhfdGltZWRsb2NrKG11dGV4LCAmYWJzX3RpbWVvdXQsIENMT0NLX01PTk9UT05JQyk7Ci0gIGlmIChlcnJvciA9PSBFVElNRURPVVQpIHsKLSAgICBlcnJvciA9IEVCVVNZOwotICB9Ci0gIHJldHVybiBlcnJvcjsKKyAgICBpbnQgZXJyb3IgPSBfX3B0aHJlYWRfbXV0ZXhfbG9ja193aXRoX3RpbWVvdXQoX19nZXRfaW50ZXJuYWxfbXV0ZXgobXV0ZXhfaW50ZXJmYWNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFic190aW1lb3V0LCBDTE9DS19NT05PVE9OSUMpOworICAgIGlmIChlcnJvciA9PSBFVElNRURPVVQpIHsKKyAgICAgICAgZXJyb3IgPSBFQlVTWTsKKyAgICB9CisgICAgcmV0dXJuIGVycm9yOwogfQogI2VuZGlmCiAKLWludCBwdGhyZWFkX211dGV4X3RpbWVkbG9jayhwdGhyZWFkX211dGV4X3QqIG11dGV4LCBjb25zdCB0aW1lc3BlYyogYWJzX3RpbWVvdXQpIHsKLSAgcmV0dXJuIF9fcHRocmVhZF9tdXRleF90aW1lZGxvY2sobXV0ZXgsIGFic190aW1lb3V0LCBDTE9DS19SRUFMVElNRSk7CitpbnQgcHRocmVhZF9tdXRleF90aW1lZGxvY2socHRocmVhZF9tdXRleF90KiBtdXRleF9pbnRlcmZhY2UsIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dCkgeworICAgIHJldHVybiBfX3B0aHJlYWRfbXV0ZXhfbG9ja193aXRoX3RpbWVvdXQoX19nZXRfaW50ZXJuYWxfbXV0ZXgobXV0ZXhfaW50ZXJmYWNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFic190aW1lb3V0LCBDTE9DS19SRUFMVElNRSk7CiB9CiAKLWludCBwdGhyZWFkX211dGV4X2Rlc3Ryb3kocHRocmVhZF9tdXRleF90KiBtdXRleCkgewotICAvLyBVc2UgdHJ5bG9jayB0byBlbnN1cmUgdGhhdCB0aGUgbXV0ZXggaXMgdmFsaWQgYW5kIG5vdCBhbHJlYWR5IGxvY2tlZC4KLSAgaW50IGVycm9yID0gcHRocmVhZF9tdXRleF90cnlsb2NrKG11dGV4KTsKLSAgaWYgKGVycm9yICE9IDApIHsKLSAgICByZXR1cm4gZXJyb3I7Ci0gIH0KLSAgbXV0ZXgtPnZhbHVlID0gMHhkZWFkMTBjYzsKLSAgcmV0dXJuIDA7CitpbnQgcHRocmVhZF9tdXRleF9kZXN0cm95KHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXhfaW50ZXJmYWNlKSB7CisgICAgLy8gVXNlIHRyeWxvY2sgdG8gZW5zdXJlIHRoYXQgdGhlIG11dGV4IGlzIHZhbGlkIGFuZCBub3QgYWxyZWFkeSBsb2NrZWQuCisgICAgaW50IGVycm9yID0gcHRocmVhZF9tdXRleF90cnlsb2NrKG11dGV4X2ludGVyZmFjZSk7CisgICAgaWYgKGVycm9yICE9IDApIHsKKyAgICAgICAgcmV0dXJuIGVycm9yOworICAgIH0KKyAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfb25jZS5jcHAgYi9saWJjL2Jpb25pYy9wdGhyZWFkX29uY2UuY3BwCmluZGV4IDZkOWQ3ZDEuLjc2ODhhMjMgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B0aHJlYWRfb25jZS5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9vbmNlLmNwcApAQCAtMjcsNzQgKzI3LDU5IEBACiAgKi8KIAogI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KIAotI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2F0b21pY19pbmxpbmUuaCIKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19mdXRleC5oIgogCi0jZGVmaW5lIE9OQ0VfSU5JVElBTElaSU5HICAgICAgICAgICAoMSA8PCAwKQotI2RlZmluZSBPTkNFX0NPTVBMRVRFRCAgICAgICAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgT05DRV9JTklUSUFMSVpBVElPTl9OT1RfWUVUX1NUQVJURUQgICAwCisjZGVmaW5lIE9OQ0VfSU5JVElBTElaQVRJT05fVU5ERVJXQVkgICAgICAgICAgMQorI2RlZmluZSBPTkNFX0lOSVRJQUxJWkFUSU9OX0NPTVBMRVRFICAgICAgICAgIDIKIAogLyogTk9URTogdGhpcyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQgYSBpbml0IGZ1bmN0aW9uIHRoYXQgdGhyb3dzIGEgQysrIGV4Y2VwdGlvbgogICogICAgICAgb3IgY2FsbHMgZm9yaygpCiAgKi8KIGludCBwdGhyZWFkX29uY2UocHRocmVhZF9vbmNlX3QqIG9uY2VfY29udHJvbCwgdm9pZCAoKmluaXRfcm91dGluZSkodm9pZCkpIHsKLSAgdm9sYXRpbGUgcHRocmVhZF9vbmNlX3QqIG9uY2VfY29udHJvbF9wdHIgPSBvbmNlX2NvbnRyb2w7CisgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGF0b21pY19pbnQpID09IHNpemVvZihwdGhyZWFkX29uY2VfdCksCisgICAgICAgICAgICAgICAgInB0aHJlYWRfb25jZV90IHNob3VsZCBhY3R1YWxseSBiZSBhdG9taWNfaW50IGluIGltcGxlbWVudGF0aW9uLiIpOwogCi0gIC8vIFBUSFJFQURfT05DRV9JTklUIGlzIDAsIHdlIHVzZSB0aGUgZm9sbG93aW5nIGJpdCBmbGFncwotICAvLyAgIGJpdCAwIHNldCAgLT4gaW5pdGlhbGl6YXRpb24gaXMgdW5kZXIgd2F5Ci0gIC8vICAgYml0IDEgc2V0ICAtPiBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZQorICAvLyBXZSBwcmVmZXIgY2FzdGluZyB0byBhdG9taWNfaW50IGluc3RlYWQgb2YgZGVjbGFyaW5nIHB0aHJlYWRfb25jZV90IHRvIGJlIGF0b21pY19pbnQgZGlyZWN0bHkuCisgIC8vIEJlY2F1c2UgdXNpbmcgdGhlIHNlY29uZCBtZXRob2QgcG9sbHV0ZXMgcHRocmVhZC5oLCBhbmQgY2F1c2VzIGFuIGVycm9yIHdoZW4gY29tcGlsaW5nIGxpYmN4eC4KKyAgYXRvbWljX2ludCogb25jZV9jb250cm9sX3B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8YXRvbWljX2ludCo+KG9uY2VfY29udHJvbCk7CiAKICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhlIG9uY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4gVGhpcyB3aWxsIGJlIHRoZSBjb21tb24KICAgLy8gY2FzZSBhbmQgd2Ugd2FudCB0byBtYWtlIHRoaXMgYXMgZmFzdCBhcyBwb3NzaWJsZS4gTm90ZSB0aGF0IHRoaXMgc3RpbGwKICAgLy8gcmVxdWlyZXMgYSBsb2FkX2FjcXVpcmUgb3BlcmF0aW9uIGhlcmUgdG8gZW5zdXJlIHRoYXQgYWxsIHRoZQogICAvLyBzdG9yZXMgcGVyZm9ybWVkIGJ5IHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBhcmUgb2JzZXJ2YWJsZSBvbgogICAvLyB0aGlzIENQVSBhZnRlciB3ZSBleGl0LgotICBpZiAoX19wcmVkaWN0X3RydWUoKCpvbmNlX2NvbnRyb2xfcHRyICYgT05DRV9DT01QTEVURUQpICE9IDApKSB7Ci0gICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgIHJldHVybiAwOwotICB9CisgIGludCBvbGRfdmFsdWUgPSBhdG9taWNfbG9hZF9leHBsaWNpdChvbmNlX2NvbnRyb2xfcHRyLCBtZW1vcnlfb3JkZXJfYWNxdWlyZSk7CiAKICAgd2hpbGUgKHRydWUpIHsKLSAgICAvLyBUcnkgdG8gYXRvbWljYWxseSBzZXQgdGhlIElOSVRJQUxJWklORyBmbGFnLgotICAgIC8vIFRoaXMgcmVxdWlyZXMgYSBjbXB4Y2hnIGxvb3AsIGFuZCB3ZSBtYXkgbmVlZAotICAgIC8vIHRvIGV4aXQgcHJlbWF0dXJlbHkgaWYgd2UgZGV0ZWN0IHRoYXQKLSAgICAvLyBDT01QTEVURUQgaXMgbm93IHNldC4KLSAgICBpbnQzMl90ICBvbGRfdmFsdWUsIG5ld192YWx1ZTsKLQotICAgIGRvIHsKLSAgICAgIG9sZF92YWx1ZSA9ICpvbmNlX2NvbnRyb2xfcHRyOwotICAgICAgaWYgKChvbGRfdmFsdWUgJiBPTkNFX0NPTVBMRVRFRCkgIT0gMCkgewotICAgICAgICBicmVhazsKLSAgICAgIH0KLQotICAgICAgbmV3X3ZhbHVlID0gb2xkX3ZhbHVlIHwgT05DRV9JTklUSUFMSVpJTkc7Ci0gICAgfSB3aGlsZSAoX19iaW9uaWNfY21weGNoZyhvbGRfdmFsdWUsIG5ld192YWx1ZSwgb25jZV9jb250cm9sX3B0cikgIT0gMCk7Ci0KLSAgICBpZiAoKG9sZF92YWx1ZSAmIE9OQ0VfQ09NUExFVEVEKSAhPSAwKSB7Ci0gICAgICAvLyBXZSBkZXRlY3RlZCB0aGF0IENPTVBMRVRFRCB3YXMgc2V0IHdoaWxlIGluIG91ciBsb29wLgotICAgICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOworICAgIGlmIChfX3ByZWRpY3RfdHJ1ZShvbGRfdmFsdWUgPT0gT05DRV9JTklUSUFMSVpBVElPTl9DT01QTEVURSkpIHsKICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmICgob2xkX3ZhbHVlICYgT05DRV9JTklUSUFMSVpJTkcpID09IDApIHsKLSAgICAgIC8vIFdlIGdvdCB0aGVyZSBmaXJzdCwgd2UgY2FuIGp1bXAgb3V0IG9mIHRoZSBsb29wIHRvIGhhbmRsZSB0aGUgaW5pdGlhbGl6YXRpb24uCi0gICAgICBicmVhazsKKyAgICAvLyBUcnkgdG8gYXRvbWljYWxseSBzZXQgdGhlIGluaXRpYWxpemF0aW9uIHVuZGVyd2F5IGZsYWcuIFRoaXMgcmVxdWlyZXMgYSBjb21wYXJlIGV4Y2hhbmdlCisgICAgLy8gaW4gYSBsb29wLCBhbmQgd2UgbWF5IG5lZWQgdG8gZXhpdCBwcmVtYXR1cmVseSBpZiB0aGUgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuCisgICAgaWYgKCFhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KG9uY2VfY29udHJvbF9wdHIsICZvbGRfdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9OQ0VfSU5JVElBTElaQVRJT05fVU5ERVJXQVksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9vcmRlcl9hY3F1aXJlLCBtZW1vcnlfb3JkZXJfYWNxdWlyZSkpIHsKKyAgICAgIGNvbnRpbnVlOwogICAgIH0KIAotICAgIC8vIEFub3RoZXIgdGhyZWFkIGlzIHJ1bm5pbmcgdGhlIGluaXRpYWxpemF0aW9uIGFuZCBoYXNuJ3QgY29tcGxldGVkCi0gICAgLy8geWV0LCBzbyB3YWl0IGZvciBpdCwgdGhlbiB0cnkgYWdhaW4uCisgICAgaWYgKG9sZF92YWx1ZSA9PSBPTkNFX0lOSVRJQUxJWkFUSU9OX05PVF9ZRVRfU1RBUlRFRCkgeworICAgICAgLy8gV2UgZ290IGhlcmUgZmlyc3QsIHdlIGNhbiBoYW5kbGUgdGhlIGluaXRpYWxpemF0aW9uLgorICAgICAgKCppbml0X3JvdXRpbmUpKCk7CisKKyAgICAgIC8vIERvIGEgc3RvcmVfcmVsZWFzZSBpbmRpY2F0aW5nIHRoYXQgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuCisgICAgICBhdG9taWNfc3RvcmVfZXhwbGljaXQob25jZV9jb250cm9sX3B0ciwgT05DRV9JTklUSUFMSVpBVElPTl9DT01QTEVURSwgbWVtb3J5X29yZGVyX3JlbGVhc2UpOworCisgICAgICAvLyBXYWtlIHVwIGFueSB3YWl0ZXJzLCBpZiBhbnkuCisgICAgICBfX2Z1dGV4X3dha2VfZXgob25jZV9jb250cm9sX3B0ciwgMCwgSU5UX01BWCk7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvLyBUaGUgaW5pdGlhbGl6YXRpb24gaXMgdW5kZXJ3YXksIHdhaXQgZm9yIGl0cyBmaW5pc2guCiAgICAgX19mdXRleF93YWl0X2V4KG9uY2VfY29udHJvbF9wdHIsIDAsIG9sZF92YWx1ZSwgTlVMTCk7CisgICAgb2xkX3ZhbHVlID0gYXRvbWljX2xvYWRfZXhwbGljaXQob25jZV9jb250cm9sX3B0ciwgbWVtb3J5X29yZGVyX2FjcXVpcmUpOwogICB9Ci0KLSAgLy8gQ2FsbCB0aGUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uCi0gICgqaW5pdF9yb3V0aW5lKSgpOwotCi0gIC8vIERvIGEgc3RvcmVfcmVsZWFzZSBpbmRpY2F0aW5nIHRoYXQgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuCi0gIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKLSAgKm9uY2VfY29udHJvbF9wdHIgPSBPTkNFX0NPTVBMRVRFRDsKLQotICAvLyBXYWtlIHVwIGFueSB3YWl0ZXJzLCBpZiBhbnkuCi0gIF9fZnV0ZXhfd2FrZV9leChvbmNlX2NvbnRyb2xfcHRyLCAwLCBJTlRfTUFYKTsKLQotICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3B0aHJlYWRfcndsb2NrLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfcndsb2NrLmNwcAppbmRleCAwNjMxMzdiLi45MzQyMTBlIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX3J3bG9jay5jcHAKKysrIGIvbGliYy9iaW9uaWMvcHRocmVhZF9yd2xvY2suY3BwCkBAIC0yNyw5ICsyNywxMyBAQAogICovCiAKICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2Z1dGV4LmgiCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfbG9jay5oIgorI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3RpbWVfY29udmVyc2lvbnMuaCIKIAogLyogVGVjaG5pY2FsIG5vdGU6CiAgKgpAQCAtNTEsMzUgKzU1LDM5IEBACiAgKiAgLSBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgcmV0dXJuIEVERUFETEsgaW4gIndyaXRlIGFmdGVyIHdyaXRlIiBhbmQgInJlYWQgYWZ0ZXIKICAqICAgIHdyaXRlIiBjYXNlcyBhbmQgd2lsbCBkZWFkbG9jayBpbiB3cml0ZSBhZnRlciByZWFkIGNhc2UuCiAgKgotICogVE9ETzogVkVSWSBDQVJFRlVMTFkgY29udmVydCB0aGlzIHRvIHVzZSBDKysxMSBhdG9taWNzIHdoZW4gcG9zc2libGUuIEFsbCB2b2xhdGlsZQotICogbWVtYmVycyBvZiBwdGhyZWFkX3J3bG9ja190IHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYXRvbWljczw+IGFuZCBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwCi0gKiBzaG91bGQgYmUgY2hhbmdlZCB0byBjb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyBhY2NvbXBhbmllZCBieSB0aGUgcHJvcGVyIG9yZGVyaW5nCi0gKiBjb25zdHJhaW50cyAoY29tbWVudHMgaGF2ZSBiZWVuIGFkZGVkIHdpdGggdGhlIGludGVuZGluZyBvcmRlcmluZyBhY3Jvc3MgdGhlIGNvZGUpLgotICoKLSAqIFRPRE86IEFzIGl0IHN0YW5kcyBub3csIHBlbmRpbmdfcmVhZGVycyBhbmQgcGVuZGluZ193cml0ZXJzIGNvdWxkIGJlIG1lcmdlZCBpbnRvIGEKLSAqIGEgc2luZ2xlIHdhaXRlcnMgdmFyaWFibGUuICBLZWVwaW5nIHRoZW0gc2VwYXJhdGUgYWRkcyBhIGJpdCBvZiBjbGFyaXR5IGFuZCBrZWVwcwotICogdGhlIGRvb3Igb3BlbiBmb3IgYSB3cml0ZXItYmlhc2VkIGltcGxlbWVudGF0aW9uLgotICoKICAqLwogCi0jZGVmaW5lIFJXTE9DS0FUVFJfREVGQVVMVCAgICAgMAotI2RlZmluZSBSV0xPQ0tBVFRSX1NIQVJFRF9NQVNLIDB4MDAxMAorLy8gQSByd2xvY2thdHRyIGlzIGltcGxlbWVudGVkIGFzIGEgMzItYml0IGludGVnZXIgd2hpY2ggaGFzIGZvbGxvd2luZyBmaWVsZHM6CisvLyAgYml0cyAgICBuYW1lICAgICAgICAgICAgICBkZXNjcmlwdGlvbgorLy8gICAxICAgICByd2xvY2tfa2luZCAgICAgICBoYXZlIHJ3bG9jayBwcmVmZXJlbmNlIGxpa2UgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1JFQURFUl9OUC4KKy8vICAgMCAgICAgIHByb2Nlc3Nfc2hhcmVkICAgIHNldCB0byAxIGlmIHRoZSByd2xvY2sgaXMgc2hhcmVkIGJldHdlZW4gcHJvY2Vzc2VzLgogCi1zdGF0aWMgaW5saW5lIGJvb2wgcndsb2NrX2lzX3NoYXJlZChjb25zdCBwdGhyZWFkX3J3bG9ja190KiByd2xvY2spIHsKLSAgcmV0dXJuIHJ3bG9jay0+YXR0ciA9PSBQVEhSRUFEX1BST0NFU1NfU0hBUkVEOworI2RlZmluZSBSV0xPQ0tBVFRSX1BTSEFSRURfU0hJRlQgMAorI2RlZmluZSBSV0xPQ0tBVFRSX0tJTkRfU0hJRlQgICAgMQorCisjZGVmaW5lIFJXTE9DS0FUVFJfUFNIQVJFRF9NQVNLICAxCisjZGVmaW5lIFJXTE9DS0FUVFJfS0lORF9NQVNLICAgICAyCisjZGVmaW5lIFJXTE9DS0FUVFJfUkVTRVJWRURfTUFTSyAofjMpCisKK3N0YXRpYyBpbmxpbmUgX19hbHdheXNfaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fcndsb2NrYXR0cl9nZXRwc2hhcmVkKGNvbnN0IHB0aHJlYWRfcndsb2NrYXR0cl90KiBhdHRyKSB7CisgIHJldHVybiAoKmF0dHIgJiBSV0xPQ0tBVFRSX1BTSEFSRURfTUFTSykgPj4gUldMT0NLQVRUUl9QU0hBUkVEX1NISUZUOwogfQogCi1zdGF0aWMgYm9vbCB0aW1lc3BlY19mcm9tX2Fic29sdXRlKHRpbWVzcGVjKiByZWxfdGltZW91dCwgY29uc3QgdGltZXNwZWMqIGFic190aW1lb3V0KSB7Ci0gIGlmIChhYnNfdGltZW91dCAhPSBOVUxMKSB7Ci0gICAgaWYgKF9fdGltZXNwZWNfZnJvbV9hYnNvbHV0ZShyZWxfdGltZW91dCwgYWJzX3RpbWVvdXQsIENMT0NLX1JFQUxUSU1FKSA8IDApIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gIH0KLSAgcmV0dXJuIHRydWU7CitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBfX2Fsd2F5c19pbmxpbmUgdm9pZCBfX3J3bG9ja2F0dHJfc2V0cHNoYXJlZChwdGhyZWFkX3J3bG9ja2F0dHJfdCogYXR0ciwgaW50IHBzaGFyZWQpIHsKKyAgKmF0dHIgPSAoKmF0dHIgJiB+UldMT0NLQVRUUl9QU0hBUkVEX01BU0spIHwgKHBzaGFyZWQgPDwgUldMT0NLQVRUUl9QU0hBUkVEX1NISUZUKTsKIH0KIAorc3RhdGljIGlubGluZSBfX2Fsd2F5c19pbmxpbmUgaW50IF9fcndsb2NrYXR0cl9nZXRraW5kKGNvbnN0IHB0aHJlYWRfcndsb2NrYXR0cl90KiBhdHRyKSB7CisgIHJldHVybiAoKmF0dHIgJiBSV0xPQ0tBVFRSX0tJTkRfTUFTSykgPj4gUldMT0NLQVRUUl9LSU5EX1NISUZUOworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSB2b2lkIF9fcndsb2NrYXR0cl9zZXRraW5kKHB0aHJlYWRfcndsb2NrYXR0cl90KiBhdHRyLCBpbnQga2luZCkgeworICAqYXR0ciA9ICgqYXR0ciAmIH5SV0xPQ0tBVFRSX0tJTkRfTUFTSykgfCAoa2luZCA8PCBSV0xPQ0tBVFRSX0tJTkRfU0hJRlQpOworfQorCisKIGludCBwdGhyZWFkX3J3bG9ja2F0dHJfaW5pdChwdGhyZWFkX3J3bG9ja2F0dHJfdCogYXR0cikgewotICAqYXR0ciA9IFBUSFJFQURfUFJPQ0VTU19QUklWQVRFOworICAqYXR0ciA9IDA7CiAgIHJldHVybiAwOwogfQogCkBAIC04OCwxOTMgKzk2LDQxMiBAQAogICByZXR1cm4gMDsKIH0KIAoraW50IHB0aHJlYWRfcndsb2NrYXR0cl9nZXRwc2hhcmVkKGNvbnN0IHB0aHJlYWRfcndsb2NrYXR0cl90KiBhdHRyLCBpbnQqIHBzaGFyZWQpIHsKKyAgaWYgKF9fcndsb2NrYXR0cl9nZXRwc2hhcmVkKGF0dHIpKSB7CisgICAgKnBzaGFyZWQgPSBQVEhSRUFEX1BST0NFU1NfU0hBUkVEOworICB9IGVsc2UgeworICAgICpwc2hhcmVkID0gUFRIUkVBRF9QUk9DRVNTX1BSSVZBVEU7CisgIH0KKyAgcmV0dXJuIDA7Cit9CisKIGludCBwdGhyZWFkX3J3bG9ja2F0dHJfc2V0cHNoYXJlZChwdGhyZWFkX3J3bG9ja2F0dHJfdCogYXR0ciwgaW50IHBzaGFyZWQpIHsKICAgc3dpdGNoIChwc2hhcmVkKSB7CiAgICAgY2FzZSBQVEhSRUFEX1BST0NFU1NfUFJJVkFURToKKyAgICAgIF9fcndsb2NrYXR0cl9zZXRwc2hhcmVkKGF0dHIsIDApOworICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBQVEhSRUFEX1BST0NFU1NfU0hBUkVEOgotICAgICAgKmF0dHIgPSBwc2hhcmVkOworICAgICAgX19yd2xvY2thdHRyX3NldHBzaGFyZWQoYXR0ciwgMSk7CiAgICAgICByZXR1cm4gMDsKICAgICBkZWZhdWx0OgogICAgICAgcmV0dXJuIEVJTlZBTDsKICAgfQogfQogCi1pbnQgcHRocmVhZF9yd2xvY2thdHRyX2dldHBzaGFyZWQoY29uc3QgcHRocmVhZF9yd2xvY2thdHRyX3QqIGF0dHIsIGludCogcHNoYXJlZCkgewotICAqcHNoYXJlZCA9ICphdHRyOworaW50IHB0aHJlYWRfcndsb2NrYXR0cl9nZXRraW5kX25wKGNvbnN0IHB0aHJlYWRfcndsb2NrYXR0cl90KiBhdHRyLCBpbnQqIHByZWYpIHsKKyAgKnByZWYgPSBfX3J3bG9ja2F0dHJfZ2V0a2luZChhdHRyKTsKICAgcmV0dXJuIDA7CiB9CiAKLWludCBwdGhyZWFkX3J3bG9ja19pbml0KHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9jaywgY29uc3QgcHRocmVhZF9yd2xvY2thdHRyX3QqIGF0dHIpIHsKLSAgaWYgKGF0dHIgIT0gTlVMTCkgewotICAgIHN3aXRjaCAoKmF0dHIpIHsKLSAgICAgIGNhc2UgUFRIUkVBRF9QUk9DRVNTX1NIQVJFRDoKLSAgICAgIGNhc2UgUFRIUkVBRF9QUk9DRVNTX1BSSVZBVEU6Ci0gICAgICAgIHJ3bG9jay0+YXR0cj0gKmF0dHI7CitpbnQgcHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRfbnAocHRocmVhZF9yd2xvY2thdHRyX3QqIGF0dHIsIGludCBwcmVmKSB7CisgIHN3aXRjaCAocHJlZikgeworICAgIGNhc2UgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1JFQURFUl9OUDogICAvLyBGYWxsIHRocm91Z2guCisgICAgY2FzZSBQVEhSRUFEX1JXTE9DS19QUkVGRVJfV1JJVEVSX05PTlJFQ1VSU0lWRV9OUDoKKyAgICAgIF9fcndsb2NrYXR0cl9zZXRraW5kKGF0dHIsIHByZWYpOworICAgICAgcmV0dXJuIDA7CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiBFSU5WQUw7CisgIH0KK30KKworLy8gQSByd2xvY2sgc3RhdGUgaXMgaW1wbGVtZW50ZWQgYXMgYSAzMi1iaXQgaW50ZWdlciB3aGljaCBoYXMgZm9sbG93aW5nIHJ1bGVzOgorLy8gIGJpdHMgICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24KKy8vICAgMzEgICAgICBvd25lZF9ieV93cml0ZXJfZmxhZyAgICAgICAgICAgICAgc2V0IHRvIDEgaWYgdGhlIGxvY2sgaXMgb3duZWQgYnkgYSB3cml0ZXIgbm93LgorLy8gIDMwLTIgICAgIHJlYWRlcl9jb3VudCAgICAgICAgICAgICAgICAgICAgICB0aGUgY291bnQgb2YgcmVhZGVycyBob2xkaW5nIHRoZSBsb2NrLgorLy8gICAxICAgICAgIGhhdmVfcGVuZGluZ193cml0ZXJzICAgICAgICAgICAgICBzZXQgdG8gMSBpZiBoYXZpbmcgcGVuZGluZyB3cml0ZXJzLgorLy8gICAwICAgICAgIGhhdmVfcGVuZGluZ19yZWFkZXJzICAgICAgICAgICAgICBzZXQgdG8gMSBpZiBoYXZpbmcgcGVuZGluZyByZWFkZXJzLgorCisjZGVmaW5lIFNUQVRFX0hBVkVfUEVORElOR19SRUFERVJTX1NISUZUICAgIDAKKyNkZWZpbmUgU1RBVEVfSEFWRV9QRU5ESU5HX1dSSVRFUlNfU0hJRlQgICAgMQorI2RlZmluZSBTVEFURV9SRUFERVJfQ09VTlRfU0hJRlQgICAgICAgICAgICAyCisjZGVmaW5lIFNUQVRFX09XTkVEX0JZX1dSSVRFUl9TSElGVCAgICAgICAgMzEKKworI2RlZmluZSBTVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19GTEFHICAgICAoMSA8PCBTVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19TSElGVCkKKyNkZWZpbmUgU1RBVEVfSEFWRV9QRU5ESU5HX1dSSVRFUlNfRkxBRyAgICAgKDEgPDwgU1RBVEVfSEFWRV9QRU5ESU5HX1dSSVRFUlNfU0hJRlQpCisjZGVmaW5lIFNUQVRFX1JFQURFUl9DT1VOVF9DSEFOR0VfU1RFUCAgKDEgPDwgU1RBVEVfUkVBREVSX0NPVU5UX1NISUZUKQorI2RlZmluZSBTVEFURV9PV05FRF9CWV9XUklURVJfRkxBRyAgICAgICgxIDw8IFNUQVRFX09XTkVEX0JZX1dSSVRFUl9TSElGVCkKKworI2RlZmluZSBTVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19PUl9XUklURVJTX0ZMQUcgXAorICAgICAgICAgIChTVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19GTEFHIHwgU1RBVEVfSEFWRV9QRU5ESU5HX1dSSVRFUlNfRkxBRykKKworc3RydWN0IHB0aHJlYWRfcndsb2NrX2ludGVybmFsX3QgeworICBhdG9taWNfaW50IHN0YXRlOworICBhdG9taWNfaW50IHdyaXRlcl90aWQ7CisKKyAgYm9vbCBwc2hhcmVkOworICBib29sIHdyaXRlcl9ub25yZWN1cnNpdmVfcHJlZmVycmVkOworICB1aW50MTZfdCBfX3BhZDsKKworLy8gV2hlbiBhIHJlYWRlciB0aHJlYWQgcGxhbnMgdG8gc3VzcGVuZCBvbiB0aGUgcndsb2NrLCBpdCB3aWxsIGFkZCBTVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19GTEFHCisvLyBpbiBzdGF0ZSwgaW5jcmVhc2UgcGVuZGluZ19yZWFkZXJfY291bnQsIGFuZCB3YWl0IG9uIHBlbmRpbmdfcmVhZGVyX3dha2V1cF9zZXJpYWwuIEFmdGVyIHdva2VuCisvLyB1cCwgdGhlIHJlYWRlciB0aHJlYWQgZGVjcmVhc2VzIHBlbmRpbmdfcmVhZGVyX2NvdW50LCBhbmQgdGhlIGxhc3QgcGVuZGluZyByZWFkZXIgdGhyZWFkIHNob3VsZAorLy8gcmVtb3ZlIFNUQVRFX0hBVkVfUEVORElOR19SRUFERVJTX0ZMQUcgaW4gc3RhdGUuIEEgcGVuZGluZyB3cml0ZXIgdGhyZWFkIHdvcmtzIGluIGEgc2ltaWxhciB3YXksCisvLyBleGNlcHQgdGhhdCBpdCB1c2VzIGZsYWcgYW5kIG1lbWJlcnMgZm9yIHdyaXRlciB0aHJlYWRzLgorCisgIExvY2sgcGVuZGluZ19sb2NrOyAgLy8gQWxsIHBlbmRpbmcgbWVtYmVycyBiZWxvdyBhcmUgcHJvdGVjdGVkIGJ5IHBlbmRpbmdfbG9jay4KKyAgdWludDMyX3QgcGVuZGluZ19yZWFkZXJfY291bnQ7ICAvLyBDb3VudCBvZiBwZW5kaW5nIHJlYWRlciB0aHJlYWRzLgorICB1aW50MzJfdCBwZW5kaW5nX3dyaXRlcl9jb3VudDsgIC8vIENvdW50IG9mIHBlbmRpbmcgd3JpdGVyIHRocmVhZHMuCisgIHVpbnQzMl90IHBlbmRpbmdfcmVhZGVyX3dha2V1cF9zZXJpYWw7ICAvLyBQZW5kaW5nIHJlYWRlciB0aHJlYWRzIHdhaXQgb24gdGhpcyBhZGRyZXNzIGJ5IGZ1dGV4X3dhaXQuCisgIHVpbnQzMl90IHBlbmRpbmdfd3JpdGVyX3dha2V1cF9zZXJpYWw7ICAvLyBQZW5kaW5nIHdyaXRlciB0aHJlYWRzIHdhaXQgb24gdGhpcyBhZGRyZXNzIGJ5IGZ1dGV4X3dhaXQuCisKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorICBjaGFyIF9fcmVzZXJ2ZWRbMjBdOworI2Vsc2UKKyAgY2hhciBfX3Jlc2VydmVkWzRdOworI2VuZGlmCit9OworCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fc3RhdGVfb3duZWRfYnlfd3JpdGVyKGludCBzdGF0ZSkgeworICByZXR1cm4gc3RhdGUgPCAwOworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fc3RhdGVfb3duZWRfYnlfcmVhZGVycyhpbnQgc3RhdGUpIHsKKyAgLy8gSWYgc3RhdGUgPj0gMCwgdGhlIG93bmVkX2J5X3dyaXRlcl9mbGFnIGlzIG5vdCBzZXQuCisgIC8vIEFuZCBpZiBzdGF0ZSA+PSBTVEFURV9SRUFERVJfQ09VTlRfQ0hBTkdFX1NURVAsIHRoZSByZWFkZXJfY291bnQgZmllbGQgaXMgbm90IGVtcHR5LgorICByZXR1cm4gc3RhdGUgPj0gU1RBVEVfUkVBREVSX0NPVU5UX0NIQU5HRV9TVEVQOworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fc3RhdGVfb3duZWRfYnlfcmVhZGVyc19vcl93cml0ZXIoaW50IHN0YXRlKSB7CisgIHJldHVybiBzdGF0ZSA8IDAgfHwgc3RhdGUgPj0gU1RBVEVfUkVBREVSX0NPVU5UX0NIQU5HRV9TVEVQOworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBpbnQgX19zdGF0ZV9hZGRfd3JpdGVyX2ZsYWcoaW50IHN0YXRlKSB7CisgIHJldHVybiBzdGF0ZSB8IFNUQVRFX09XTkVEX0JZX1dSSVRFUl9GTEFHOworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fc3RhdGVfaXNfbGFzdF9yZWFkZXIoaW50IHN0YXRlKSB7CisgIHJldHVybiAoc3RhdGUgPj4gU1RBVEVfUkVBREVSX0NPVU5UX1NISUZUKSA9PSAxOworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fc3RhdGVfaGF2ZV9wZW5kaW5nX3dyaXRlcnMoaW50IHN0YXRlKSB7CisgIHJldHVybiBzdGF0ZSAmIFNUQVRFX0hBVkVfUEVORElOR19XUklURVJTX0ZMQUc7Cit9CisKK3N0YXRpYyBpbmxpbmUgX19hbHdheXNfaW5saW5lIGJvb2wgX19zdGF0ZV9oYXZlX3BlbmRpbmdfcmVhZGVyc19vcl93cml0ZXJzKGludCBzdGF0ZSkgeworICByZXR1cm4gc3RhdGUgJiBTVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19PUl9XUklURVJTX0ZMQUc7Cit9CisKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKHB0aHJlYWRfcndsb2NrX3QpID09IHNpemVvZihwdGhyZWFkX3J3bG9ja19pbnRlcm5hbF90KSwKKyAgICAgICAgICAgICAgInB0aHJlYWRfcndsb2NrX3Qgc2hvdWxkIGFjdHVhbGx5IGJlIHB0aHJlYWRfcndsb2NrX2ludGVybmFsX3QgaW4gaW1wbGVtZW50YXRpb24uIik7CisKKy8vIEZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB2ZXJzaW9uIG9mIHB0aHJlYWRfcndsb2NrX3QsIHdlIGNhbid0IHVzZSBtb3JlIHN0cmljdAorLy8gYWxpZ25tZW50IHRoYW4gNC1ieXRlIGFsaWdubWVudC4KK3N0YXRpY19hc3NlcnQoYWxpZ25vZihwdGhyZWFkX3J3bG9ja190KSA9PSA0LAorICAgICAgICAgICAgICJwdGhyZWFkX3J3bG9ja190IHNob3VsZCBmdWxmaWxsIHRoZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnQgb2YgcHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdC4iKTsKKworc3RhdGljIGlubGluZSBfX2Fsd2F5c19pbmxpbmUgcHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogX19nZXRfaW50ZXJuYWxfcndsb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9ja19pbnRlcmZhY2UpIHsKKyAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8cHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCo+KHJ3bG9ja19pbnRlcmZhY2UpOworfQorCitpbnQgcHRocmVhZF9yd2xvY2tfaW5pdChwdGhyZWFkX3J3bG9ja190KiByd2xvY2tfaW50ZXJmYWNlLCBjb25zdCBwdGhyZWFkX3J3bG9ja2F0dHJfdCogYXR0cikgeworICBwdGhyZWFkX3J3bG9ja19pbnRlcm5hbF90KiByd2xvY2sgPSBfX2dldF9pbnRlcm5hbF9yd2xvY2socndsb2NrX2ludGVyZmFjZSk7CisKKyAgbWVtc2V0KHJ3bG9jaywgMCwgc2l6ZW9mKHB0aHJlYWRfcndsb2NrX2ludGVybmFsX3QpKTsKKworICBpZiAoX19wcmVkaWN0X2ZhbHNlKGF0dHIgIT0gTlVMTCkpIHsKKyAgICByd2xvY2stPnBzaGFyZWQgPSBfX3J3bG9ja2F0dHJfZ2V0cHNoYXJlZChhdHRyKTsKKyAgICBpbnQga2luZCA9IF9fcndsb2NrYXR0cl9nZXRraW5kKGF0dHIpOworICAgIHN3aXRjaCAoa2luZCkgeworICAgICAgY2FzZSBQVEhSRUFEX1JXTE9DS19QUkVGRVJfUkVBREVSX05QOgorICAgICAgICByd2xvY2stPndyaXRlcl9ub25yZWN1cnNpdmVfcHJlZmVycmVkID0gZmFsc2U7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBQVEhSRUFEX1JXTE9DS19QUkVGRVJfV1JJVEVSX05PTlJFQ1VSU0lWRV9OUDoKKyAgICAgICAgcndsb2NrLT53cml0ZXJfbm9ucmVjdXJzaXZlX3ByZWZlcnJlZCA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIEVJTlZBTDsKICAgICB9CisgICAgaWYgKCgqYXR0ciAmIFJXTE9DS0FUVFJfUkVTRVJWRURfTUFTSykgIT0gMCkgeworICAgICAgcmV0dXJuIEVJTlZBTDsKKyAgICB9CiAgIH0KIAotICByd2xvY2stPnN0YXRlID0gMDsKLSAgcndsb2NrLT5wZW5kaW5nX3JlYWRlcnMgPSAwOwotICByd2xvY2stPnBlbmRpbmdfd3JpdGVycyA9IDA7Ci0gIHJ3bG9jay0+d3JpdGVyX3RocmVhZF9pZCA9IDA7Ci0KKyAgYXRvbWljX2luaXQoJnJ3bG9jay0+c3RhdGUsIDApOworICByd2xvY2stPnBlbmRpbmdfbG9jay5pbml0KHJ3bG9jay0+cHNoYXJlZCk7CiAgIHJldHVybiAwOwogfQogCi1pbnQgcHRocmVhZF9yd2xvY2tfZGVzdHJveShwdGhyZWFkX3J3bG9ja190KiByd2xvY2spIHsKLSAgaWYgKHJ3bG9jay0+c3RhdGUgIT0gMCkgeworaW50IHB0aHJlYWRfcndsb2NrX2Rlc3Ryb3kocHRocmVhZF9yd2xvY2tfdCogcndsb2NrX2ludGVyZmFjZSkgeworICBwdGhyZWFkX3J3bG9ja19pbnRlcm5hbF90KiByd2xvY2sgPSBfX2dldF9pbnRlcm5hbF9yd2xvY2socndsb2NrX2ludGVyZmFjZSk7CisKKyAgaWYgKGF0b21pY19sb2FkX2V4cGxpY2l0KCZyd2xvY2stPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkgIT0gMCkgewogICAgIHJldHVybiBFQlVTWTsKICAgfQogICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBfX3B0aHJlYWRfcndsb2NrX3RpbWVkcmRsb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9jaywgY29uc3QgdGltZXNwZWMqIGFic190aW1lb3V0KSB7Ci0gIGlmIChfX3ByZWRpY3RfZmFsc2UoX19nZXRfdGhyZWFkKCktPnRpZCA9PSByd2xvY2stPndyaXRlcl90aHJlYWRfaWQpKSB7CitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBib29sIF9fY2FuX2FjcXVpcmVfcmVhZF9sb2NrKGludCBvbGRfc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB3cml0ZXJfbm9ucmVjdXJzaXZlX3ByZWZlcnJlZCkgeworICAvLyBJZiB3cml0ZXIgaXMgcHJlZmVycmVkIHdpdGggbm9ucmVjdXJzaXZlIHJlYWRlciwgd2UgcHJldmVudCBmdXJ0aGVyIHJlYWRlcnMgZnJvbSBhY3F1aXJpbmcKKyAgLy8gdGhlIGxvY2sgd2hlbiB0aGVyZSBhcmUgd3JpdGVycyB3YWl0aW5nIGZvciB0aGUgbG9jay4KKyAgYm9vbCBjYW5ub3RfYXBwbHkgPSBfX3N0YXRlX293bmVkX2J5X3dyaXRlcihvbGRfc3RhdGUpIHx8CisgICAgICAgICAgICAgICAgICAgICAgKHdyaXRlcl9ub25yZWN1cnNpdmVfcHJlZmVycmVkICYmIF9fc3RhdGVfaGF2ZV9wZW5kaW5nX3dyaXRlcnMob2xkX3N0YXRlKSk7CisgIHJldHVybiAhY2Fubm90X2FwcGx5OworfQorCitzdGF0aWMgaW5saW5lIF9fYWx3YXlzX2lubGluZSBpbnQgX19wdGhyZWFkX3J3bG9ja190cnlyZGxvY2socHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogcndsb2NrKSB7CisgIGludCBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmcndsb2NrLT5zdGF0ZSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworCisgIHdoaWxlIChfX3ByZWRpY3RfdHJ1ZShfX2Nhbl9hY3F1aXJlX3JlYWRfbG9jayhvbGRfc3RhdGUsIHJ3bG9jay0+d3JpdGVyX25vbnJlY3Vyc2l2ZV9wcmVmZXJyZWQpKSkgeworCisgICAgaW50IG5ld19zdGF0ZSA9IG9sZF9zdGF0ZSArIFNUQVRFX1JFQURFUl9DT1VOVF9DSEFOR0VfU1RFUDsKKyAgICBpZiAoX19wcmVkaWN0X2ZhbHNlKCFfX3N0YXRlX293bmVkX2J5X3JlYWRlcnMobmV3X3N0YXRlKSkpIHsgLy8gSGFwcGVucyB3aGVuIHJlYWRlciBjb3VudCBvdmVyZmxvd3MuCisgICAgICByZXR1cm4gRUFHQUlOOworICAgIH0KKyAgICBpZiAoX19wcmVkaWN0X3RydWUoYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdCgmcndsb2NrLT5zdGF0ZSwgJm9sZF9zdGF0ZSwgbmV3X3N0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9vcmRlcl9hY3F1aXJlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkpKSB7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisgIH0KKyAgcmV0dXJuIEVCVVNZOworfQorCitzdGF0aWMgaW50IF9fcHRocmVhZF9yd2xvY2tfdGltZWRyZGxvY2socHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogcndsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dF9vcl9udWxsKSB7CisKKyAgaWYgKGF0b21pY19sb2FkX2V4cGxpY2l0KCZyd2xvY2stPndyaXRlcl90aWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSA9PSBfX2dldF90aHJlYWQoKS0+dGlkKSB7CiAgICAgcmV0dXJuIEVERUFETEs7CiAgIH0KIAotICB0aW1lc3BlYyB0czsKLSAgdGltZXNwZWMqIHJlbF90aW1lb3V0ID0gKGFic190aW1lb3V0ID09IE5VTEwpID8gTlVMTCA6ICZ0czsKLSAgYm9vbCBkb25lID0gZmFsc2U7Ci0gIGRvIHsKLSAgICAvLyBUaGlzIGlzIGFjdHVhbGx5IGEgcmFjZSByZWFkIGFzIHRoZXJlJ3Mgbm90aGluZyB0aGF0IGd1YXJhbnRlZXMgdGhlIGF0b21pY2l0eSBvZiBpbnRlZ2VyCi0gICAgLy8gcmVhZHMgLyB3cml0ZXMuIEhvd2V2ZXIsIGluIHByYWN0aWNlIHRoaXMgIm5ldmVyIiBoYXBwZW5zIHNvIHVudGlsIHdlIHN3aXRjaCB0byBDKysxMSB0aGlzCi0gICAgLy8gc2hvdWxkIHdvcmsgZmluZS4gVGhlIHNhbWUgYXBwbGllcyBpbiB0aGUgb3RoZXIgcGxhY2VzIHRoaXMgaWRpb20gaXMgdXNlZC4KLSAgICBpbnQzMl90IGN1cl9zdGF0ZSA9IHJ3bG9jay0+c3RhdGU7ICAvLyBDKysxMSByZWxheGVkIGF0b21pYyByZWFkCi0gICAgaWYgKF9fcHJlZGljdF90cnVlKGN1cl9zdGF0ZSA+PSAwKSkgewotICAgICAgLy8gQWRkIGFzIGFuIGV4dHJhIHJlYWRlci4KLSAgICAgIGRvbmUgPSBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwKCZyd2xvY2stPnN0YXRlLCBjdXJfc3RhdGUsIGN1cl9zdGF0ZSArIDEpOyAgLy8gQysrMTEgbWVtb3J5X29yZGVyX2FxdWlyZQotICAgIH0gZWxzZSB7Ci0gICAgICBpZiAoIXRpbWVzcGVjX2Zyb21fYWJzb2x1dGUocmVsX3RpbWVvdXQsIGFic190aW1lb3V0KSkgewotICAgICAgICByZXR1cm4gRVRJTUVET1VUOwotICAgICAgfQotICAgICAgLy8gT3duZXIgaG9sZHMgaXQgaW4gd3JpdGUgbW9kZSwgaGFuZyB1cC4KLSAgICAgIC8vIFRvIGF2b2lkIGxvc2luZyB3YWtlIHVwcyB0aGUgcGVuZGluZ19yZWFkZXJzIHVwZGF0ZSBhbmQgdGhlIHN0YXRlIHJlYWQgc2hvdWxkIGJlCi0gICAgICAvLyBzZXF1ZW50aWFsbHkgY29uc2lzdGVudC4gKGN1cnJlbnRseSBlbmZvcmNlZCBieSBfX3N5bmNfZmV0Y2hfYW5kX2FkZCB3aGljaCBjcmVhdGVzIGEgZnVsbCBiYXJyaWVyKQotICAgICAgX19zeW5jX2ZldGNoX2FuZF9hZGQoJnJ3bG9jay0+cGVuZGluZ19yZWFkZXJzLCAxKTsgIC8vIEMrKzExIG1lbW9yeV9vcmRlcl9yZWxheGVkIChpZiB0aGUgZnV0ZXhfd2FpdCBlbnN1cmVzIHRoZSBvcmRlcmluZykKLSAgICAgIGludCByZXQgPSBfX2Z1dGV4X3dhaXRfZXgoJnJ3bG9jay0+c3RhdGUsIHJ3bG9ja19pc19zaGFyZWQocndsb2NrKSwgY3VyX3N0YXRlLCByZWxfdGltZW91dCk7Ci0gICAgICBfX3N5bmNfZmV0Y2hfYW5kX3N1Yigmcndsb2NrLT5wZW5kaW5nX3JlYWRlcnMsIDEpOyAgLy8gQysrMTEgbWVtb3J5X29yZGVyX3JlbGF4ZWQKLSAgICAgIGlmIChyZXQgPT0gLUVUSU1FRE9VVCkgeworICB3aGlsZSAodHJ1ZSkgeworICAgIGludCByZXQgPSBfX3B0aHJlYWRfcndsb2NrX3RyeXJkbG9jayhyd2xvY2spOworICAgIGlmIChyZXQgPT0gMCB8fCByZXQgPT0gRUFHQUlOKSB7CisgICAgICByZXR1cm4gcmV0OworICAgIH0KKworICAgIGludCBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmcndsb2NrLT5zdGF0ZSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICAgIGlmIChfX2Nhbl9hY3F1aXJlX3JlYWRfbG9jayhvbGRfc3RhdGUsIHJ3bG9jay0+d3JpdGVyX25vbnJlY3Vyc2l2ZV9wcmVmZXJyZWQpKSB7CisgICAgICBjb250aW51ZTsKKyAgICB9CisKKyAgICB0aW1lc3BlYyB0czsKKyAgICB0aW1lc3BlYyogcmVsX3RpbWVvdXQgPSBOVUxMOworCisgICAgaWYgKGFic190aW1lb3V0X29yX251bGwgIT0gTlVMTCkgeworICAgICAgcmVsX3RpbWVvdXQgPSAmdHM7CisgICAgICBpZiAoIXRpbWVzcGVjX2Zyb21fYWJzb2x1dGVfdGltZXNwZWMoKnJlbF90aW1lb3V0LCAqYWJzX3RpbWVvdXRfb3JfbnVsbCwgQ0xPQ0tfUkVBTFRJTUUpKSB7CiAgICAgICAgIHJldHVybiBFVElNRURPVVQ7CiAgICAgICB9CiAgICAgfQotICB9IHdoaWxlICghZG9uZSk7CiAKLSAgcmV0dXJuIDA7CisgICAgcndsb2NrLT5wZW5kaW5nX2xvY2subG9jaygpOworICAgIHJ3bG9jay0+cGVuZGluZ19yZWFkZXJfY291bnQrKzsKKworICAgIC8vIFdlIHJlbHkgb24gdGhlIGZhY3QgdGhhdCBhbGwgYXRvbWljIGV4Y2hhbmdlIG9wZXJhdGlvbnMgb24gdGhlIHNhbWUgb2JqZWN0IChoZXJlIGl0IGlzCisgICAgLy8gcndsb2NrLT5zdGF0ZSkgYWx3YXlzIGFwcGVhciB0byBvY2N1ciBpbiBhIHNpbmdsZSB0b3RhbCBvcmRlci4gSWYgdGhlIHBlbmRpbmcgZmxhZyBpcyBhZGRlZAorICAgIC8vIGJlZm9yZSB1bmxvY2tpbmcsIHRoZSB1bmxvY2tpbmcgdGhyZWFkIHdpbGwgd2FrZXVwIHRoZSB3YWl0ZXIuIE90aGVyd2lzZSwgd2Ugd2lsbCBzZWUgdGhlCisgICAgLy8gc3RhdGUgaXMgdW5sb2NrZWQgYW5kIHdpbGwgbm90IHdhaXQgYW55bW9yZS4KKyAgICBvbGRfc3RhdGUgPSBhdG9taWNfZmV0Y2hfb3JfZXhwbGljaXQoJnJ3bG9jay0+c3RhdGUsIFNUQVRFX0hBVkVfUEVORElOR19SRUFERVJTX0ZMQUcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKworICAgIGludCBvbGRfc2VyaWFsID0gcndsb2NrLT5wZW5kaW5nX3JlYWRlcl93YWtldXBfc2VyaWFsOworICAgIHJ3bG9jay0+cGVuZGluZ19sb2NrLnVubG9jaygpOworCisgICAgaW50IGZ1dGV4X3JldCA9IDA7CisgICAgaWYgKCFfX2Nhbl9hY3F1aXJlX3JlYWRfbG9jayhvbGRfc3RhdGUsIHJ3bG9jay0+d3JpdGVyX25vbnJlY3Vyc2l2ZV9wcmVmZXJyZWQpKSB7CisgICAgICBmdXRleF9yZXQgPSBfX2Z1dGV4X3dhaXRfZXgoJnJ3bG9jay0+cGVuZGluZ19yZWFkZXJfd2FrZXVwX3NlcmlhbCwgcndsb2NrLT5wc2hhcmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9zZXJpYWwsIHJlbF90aW1lb3V0KTsKKyAgICB9CisKKyAgICByd2xvY2stPnBlbmRpbmdfbG9jay5sb2NrKCk7CisgICAgcndsb2NrLT5wZW5kaW5nX3JlYWRlcl9jb3VudC0tOworICAgIGlmIChyd2xvY2stPnBlbmRpbmdfcmVhZGVyX2NvdW50ID09IDApIHsKKyAgICAgIGF0b21pY19mZXRjaF9hbmRfZXhwbGljaXQoJnJ3bG9jay0+c3RhdGUsIH5TVEFURV9IQVZFX1BFTkRJTkdfUkVBREVSU19GTEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgfQorICAgIHJ3bG9jay0+cGVuZGluZ19sb2NrLnVubG9jaygpOworCisgICAgaWYgKGZ1dGV4X3JldCA9PSAtRVRJTUVET1VUKSB7CisgICAgICByZXR1cm4gRVRJTUVET1VUOworICAgIH0KKyAgfQogfQogCi1zdGF0aWMgaW50IF9fcHRocmVhZF9yd2xvY2tfdGltZWR3cmxvY2socHRocmVhZF9yd2xvY2tfdCogcndsb2NrLCBjb25zdCB0aW1lc3BlYyogYWJzX3RpbWVvdXQpIHsKLSAgaW50IHRpZCA9IF9fZ2V0X3RocmVhZCgpLT50aWQ7Ci0gIGlmIChfX3ByZWRpY3RfZmFsc2UodGlkID09IHJ3bG9jay0+d3JpdGVyX3RocmVhZF9pZCkpIHsKK3N0YXRpYyBpbmxpbmUgX19hbHdheXNfaW5saW5lIGJvb2wgX19jYW5fYWNxdWlyZV93cml0ZV9sb2NrKGludCBvbGRfc3RhdGUpIHsKKyAgcmV0dXJuICFfX3N0YXRlX293bmVkX2J5X3JlYWRlcnNfb3Jfd3JpdGVyKG9sZF9zdGF0ZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgX19hbHdheXNfaW5saW5lIGludCBfX3B0aHJlYWRfcndsb2NrX3RyeXdybG9jayhwdGhyZWFkX3J3bG9ja19pbnRlcm5hbF90KiByd2xvY2spIHsKKyAgaW50IG9sZF9zdGF0ZSA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZyd2xvY2stPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisKKyAgd2hpbGUgKF9fcHJlZGljdF90cnVlKF9fY2FuX2FjcXVpcmVfd3JpdGVfbG9jayhvbGRfc3RhdGUpKSkgeworICAgIGlmIChfX3ByZWRpY3RfdHJ1ZShhdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KCZyd2xvY2stPnN0YXRlLCAmb2xkX3N0YXRlLAorICAgICAgICAgIF9fc3RhdGVfYWRkX3dyaXRlcl9mbGFnKG9sZF9zdGF0ZSksIG1lbW9yeV9vcmRlcl9hY3F1aXJlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkpKSB7CisKKyAgICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmcndsb2NrLT53cml0ZXJfdGlkLCBfX2dldF90aHJlYWQoKS0+dGlkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisgIH0KKyAgcmV0dXJuIEVCVVNZOworfQorCitzdGF0aWMgaW50IF9fcHRocmVhZF9yd2xvY2tfdGltZWR3cmxvY2socHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogcndsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dF9vcl9udWxsKSB7CisKKyAgaWYgKGF0b21pY19sb2FkX2V4cGxpY2l0KCZyd2xvY2stPndyaXRlcl90aWQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSA9PSBfX2dldF90aHJlYWQoKS0+dGlkKSB7CiAgICAgcmV0dXJuIEVERUFETEs7CiAgIH0KKyAgd2hpbGUgKHRydWUpIHsKKyAgICBpbnQgcmV0ID0gX19wdGhyZWFkX3J3bG9ja190cnl3cmxvY2socndsb2NrKTsKKyAgICBpZiAocmV0ID09IDApIHsKKyAgICAgIHJldHVybiByZXQ7CisgICAgfQogCi0gIHRpbWVzcGVjIHRzOwotICB0aW1lc3BlYyogcmVsX3RpbWVvdXQgPSAoYWJzX3RpbWVvdXQgPT0gTlVMTCkgPyBOVUxMIDogJnRzOwotICBib29sIGRvbmUgPSBmYWxzZTsKLSAgZG8gewotICAgIGludDMyX3QgY3VyX3N0YXRlID0gcndsb2NrLT5zdGF0ZTsKLSAgICBpZiAoX19wcmVkaWN0X3RydWUoY3VyX3N0YXRlID09IDApKSB7Ci0gICAgICAvLyBDaGFuZ2Ugc3RhdGUgZnJvbSAwIHRvIC0xLgotICAgICAgZG9uZSA9ICBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwKCZyd2xvY2stPnN0YXRlLCAwIC8qIGN1ciBzdGF0ZSAqLywgLTEgLyogbmV3IHN0YXRlICovKTsgIC8vIEMrKzExIG1lbW9yeV9vcmRlcl9hcXVpcmUKLSAgICB9IGVsc2UgewotICAgICAgaWYgKCF0aW1lc3BlY19mcm9tX2Fic29sdXRlKHJlbF90aW1lb3V0LCBhYnNfdGltZW91dCkpIHsKLSAgICAgICAgcmV0dXJuIEVUSU1FRE9VVDsKLSAgICAgIH0KLSAgICAgIC8vIEZhaWxlZCB0byBhY3F1aXJlLCBoYW5nIHVwLgotICAgICAgLy8gVG8gYXZvaWQgbG9zaW5nIHdha2UgdXBzIHRoZSBwZW5kaW5nX3dyaXRlcnMgdXBkYXRlIGFuZCB0aGUgc3RhdGUgcmVhZCBzaG91bGQgYmUKLSAgICAgIC8vIHNlcXVlbnRpYWxseSBjb25zaXN0ZW50LiAoY3VycmVudGx5IGVuZm9yY2VkIGJ5IF9fc3luY19mZXRjaF9hbmRfYWRkIHdoaWNoIGNyZWF0ZXMgYSBmdWxsIGJhcnJpZXIpCi0gICAgICBfX3N5bmNfZmV0Y2hfYW5kX2FkZCgmcndsb2NrLT5wZW5kaW5nX3dyaXRlcnMsIDEpOyAgLy8gQysrMTEgbWVtb3J5X29yZGVyX3JlbGF4ZWQgKGlmIHRoZSBmdXRleF93YWl0IGVuc3VyZXMgdGhlIG9yZGVyaW5nKQotICAgICAgaW50IHJldCA9IF9fZnV0ZXhfd2FpdF9leCgmcndsb2NrLT5zdGF0ZSwgcndsb2NrX2lzX3NoYXJlZChyd2xvY2spLCBjdXJfc3RhdGUsIHJlbF90aW1lb3V0KTsKLSAgICAgIF9fc3luY19mZXRjaF9hbmRfc3ViKCZyd2xvY2stPnBlbmRpbmdfd3JpdGVycywgMSk7ICAvLyBDKysxMSBtZW1vcnlfb3JkZXJfcmVsYXhlZAotICAgICAgaWYgKHJldCA9PSAtRVRJTUVET1VUKSB7CisgICAgaW50IG9sZF9zdGF0ZSA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZyd2xvY2stPnN0YXRlLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgaWYgKF9fY2FuX2FjcXVpcmVfd3JpdGVfbG9jayhvbGRfc3RhdGUpKSB7CisgICAgICBjb250aW51ZTsKKyAgICB9CisKKyAgICB0aW1lc3BlYyB0czsKKyAgICB0aW1lc3BlYyogcmVsX3RpbWVvdXQgPSBOVUxMOworCisgICAgaWYgKGFic190aW1lb3V0X29yX251bGwgIT0gTlVMTCkgeworICAgICAgcmVsX3RpbWVvdXQgPSAmdHM7CisgICAgICBpZiAoIXRpbWVzcGVjX2Zyb21fYWJzb2x1dGVfdGltZXNwZWMoKnJlbF90aW1lb3V0LCAqYWJzX3RpbWVvdXRfb3JfbnVsbCwgQ0xPQ0tfUkVBTFRJTUUpKSB7CiAgICAgICAgIHJldHVybiBFVElNRURPVVQ7CiAgICAgICB9CiAgICAgfQotICB9IHdoaWxlICghZG9uZSk7CiAKLSAgcndsb2NrLT53cml0ZXJfdGhyZWFkX2lkID0gdGlkOwotICByZXR1cm4gMDsKKyAgICByd2xvY2stPnBlbmRpbmdfbG9jay5sb2NrKCk7CisgICAgcndsb2NrLT5wZW5kaW5nX3dyaXRlcl9jb3VudCsrOworCisgICAgb2xkX3N0YXRlID0gYXRvbWljX2ZldGNoX29yX2V4cGxpY2l0KCZyd2xvY2stPnN0YXRlLCBTVEFURV9IQVZFX1BFTkRJTkdfV1JJVEVSU19GTEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisKKyAgICBpbnQgb2xkX3NlcmlhbCA9IHJ3bG9jay0+cGVuZGluZ193cml0ZXJfd2FrZXVwX3NlcmlhbDsKKyAgICByd2xvY2stPnBlbmRpbmdfbG9jay51bmxvY2soKTsKKworICAgIGludCBmdXRleF9yZXQgPSAwOworICAgIGlmICghX19jYW5fYWNxdWlyZV93cml0ZV9sb2NrKG9sZF9zdGF0ZSkpIHsKKyAgICAgIGZ1dGV4X3JldCA9IF9fZnV0ZXhfd2FpdF9leCgmcndsb2NrLT5wZW5kaW5nX3dyaXRlcl93YWtldXBfc2VyaWFsLCByd2xvY2stPnBzaGFyZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX3NlcmlhbCwgcmVsX3RpbWVvdXQpOworICAgIH0KKworICAgIHJ3bG9jay0+cGVuZGluZ19sb2NrLmxvY2soKTsKKyAgICByd2xvY2stPnBlbmRpbmdfd3JpdGVyX2NvdW50LS07CisgICAgaWYgKHJ3bG9jay0+cGVuZGluZ193cml0ZXJfY291bnQgPT0gMCkgeworICAgICAgYXRvbWljX2ZldGNoX2FuZF9leHBsaWNpdCgmcndsb2NrLT5zdGF0ZSwgflNUQVRFX0hBVkVfUEVORElOR19XUklURVJTX0ZMQUcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICB9CisgICAgcndsb2NrLT5wZW5kaW5nX2xvY2sudW5sb2NrKCk7CisKKyAgICBpZiAoZnV0ZXhfcmV0ID09IC1FVElNRURPVVQpIHsKKyAgICAgIHJldHVybiBFVElNRURPVVQ7CisgICAgfQorICB9CiB9CiAKLWludCBwdGhyZWFkX3J3bG9ja19yZGxvY2socHRocmVhZF9yd2xvY2tfdCogcndsb2NrKSB7CitpbnQgcHRocmVhZF9yd2xvY2tfcmRsb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9ja19pbnRlcmZhY2UpIHsKKyAgcHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogcndsb2NrID0gX19nZXRfaW50ZXJuYWxfcndsb2NrKHJ3bG9ja19pbnRlcmZhY2UpOworICAvLyBBdm9pZCBzbG93aW5nIGRvd24gZmFzdCBwYXRoIG9mIHJkbG9jay4KKyAgaWYgKF9fcHJlZGljdF90cnVlKF9fcHRocmVhZF9yd2xvY2tfdHJ5cmRsb2NrKHJ3bG9jaykgPT0gMCkpIHsKKyAgICByZXR1cm4gMDsKKyAgfQogICByZXR1cm4gX19wdGhyZWFkX3J3bG9ja190aW1lZHJkbG9jayhyd2xvY2ssIE5VTEwpOwogfQogCi1pbnQgcHRocmVhZF9yd2xvY2tfdGltZWRyZGxvY2socHRocmVhZF9yd2xvY2tfdCogcndsb2NrLCBjb25zdCB0aW1lc3BlYyogYWJzX3RpbWVvdXQpIHsKK2ludCBwdGhyZWFkX3J3bG9ja190aW1lZHJkbG9jayhwdGhyZWFkX3J3bG9ja190KiByd2xvY2tfaW50ZXJmYWNlLCBjb25zdCB0aW1lc3BlYyogYWJzX3RpbWVvdXQpIHsKKyAgcHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogcndsb2NrID0gX19nZXRfaW50ZXJuYWxfcndsb2NrKHJ3bG9ja19pbnRlcmZhY2UpOworCiAgIHJldHVybiBfX3B0aHJlYWRfcndsb2NrX3RpbWVkcmRsb2NrKHJ3bG9jaywgYWJzX3RpbWVvdXQpOwogfQogCi1pbnQgcHRocmVhZF9yd2xvY2tfdHJ5cmRsb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9jaykgewotICBpbnQzMl90IGN1cl9zdGF0ZSA9IHJ3bG9jay0+c3RhdGU7Ci0gIGlmICgoY3VyX3N0YXRlID49IDApICYmCi0gICAgICBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwKCZyd2xvY2stPnN0YXRlLCBjdXJfc3RhdGUsIGN1cl9zdGF0ZSArIDEpKSB7ICAvLyBDKysxMSBtZW1vcnlfb3JkZXJfYWNxdWlyZQotICAgIHJldHVybiAwOwotICB9Ci0gIHJldHVybiBFQlVTWTsKK2ludCBwdGhyZWFkX3J3bG9ja190cnlyZGxvY2socHRocmVhZF9yd2xvY2tfdCogcndsb2NrX2ludGVyZmFjZSkgeworICByZXR1cm4gX19wdGhyZWFkX3J3bG9ja190cnlyZGxvY2soX19nZXRfaW50ZXJuYWxfcndsb2NrKHJ3bG9ja19pbnRlcmZhY2UpKTsKIH0KIAotaW50IHB0aHJlYWRfcndsb2NrX3dybG9jayhwdGhyZWFkX3J3bG9ja190KiByd2xvY2spIHsKK2ludCBwdGhyZWFkX3J3bG9ja193cmxvY2socHRocmVhZF9yd2xvY2tfdCogcndsb2NrX2ludGVyZmFjZSkgeworICBwdGhyZWFkX3J3bG9ja19pbnRlcm5hbF90KiByd2xvY2sgPSBfX2dldF9pbnRlcm5hbF9yd2xvY2socndsb2NrX2ludGVyZmFjZSk7CisgIC8vIEF2b2lkIHNsb3dpbmcgZG93biBmYXN0IHBhdGggb2Ygd3Jsb2NrLgorICBpZiAoX19wcmVkaWN0X3RydWUoX19wdGhyZWFkX3J3bG9ja190cnl3cmxvY2socndsb2NrKSA9PSAwKSkgeworICAgIHJldHVybiAwOworICB9CiAgIHJldHVybiBfX3B0aHJlYWRfcndsb2NrX3RpbWVkd3Jsb2NrKHJ3bG9jaywgTlVMTCk7CiB9CiAKLWludCBwdGhyZWFkX3J3bG9ja190aW1lZHdybG9jayhwdGhyZWFkX3J3bG9ja190KiByd2xvY2ssIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dCkgeworaW50IHB0aHJlYWRfcndsb2NrX3RpbWVkd3Jsb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9ja19pbnRlcmZhY2UsIGNvbnN0IHRpbWVzcGVjKiBhYnNfdGltZW91dCkgeworICBwdGhyZWFkX3J3bG9ja19pbnRlcm5hbF90KiByd2xvY2sgPSBfX2dldF9pbnRlcm5hbF9yd2xvY2socndsb2NrX2ludGVyZmFjZSk7CisKICAgcmV0dXJuIF9fcHRocmVhZF9yd2xvY2tfdGltZWR3cmxvY2socndsb2NrLCBhYnNfdGltZW91dCk7CiB9CiAKLWludCBwdGhyZWFkX3J3bG9ja190cnl3cmxvY2socHRocmVhZF9yd2xvY2tfdCogcndsb2NrKSB7Ci0gIGludCB0aWQgPSBfX2dldF90aHJlYWQoKS0+dGlkOwotICBpbnQzMl90IGN1cl9zdGF0ZSA9IHJ3bG9jay0+c3RhdGU7Ci0gIGlmICgoY3VyX3N0YXRlID09IDApICYmCi0gICAgICBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwKCZyd2xvY2stPnN0YXRlLCAwIC8qIGN1ciBzdGF0ZSAqLywgLTEgLyogbmV3IHN0YXRlICovKSkgeyAgLy8gQysrMTEgbWVtb3J5X29yZGVyX2FjcXVpcmUKLSAgICByd2xvY2stPndyaXRlcl90aHJlYWRfaWQgPSB0aWQ7Ci0gICAgcmV0dXJuIDA7Ci0gIH0KLSAgcmV0dXJuIEVCVVNZOworaW50IHB0aHJlYWRfcndsb2NrX3RyeXdybG9jayhwdGhyZWFkX3J3bG9ja190KiByd2xvY2tfaW50ZXJmYWNlKSB7CisgIHJldHVybiBfX3B0aHJlYWRfcndsb2NrX3RyeXdybG9jayhfX2dldF9pbnRlcm5hbF9yd2xvY2socndsb2NrX2ludGVyZmFjZSkpOwogfQogCitpbnQgcHRocmVhZF9yd2xvY2tfdW5sb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9ja19pbnRlcmZhY2UpIHsKKyAgcHRocmVhZF9yd2xvY2tfaW50ZXJuYWxfdCogcndsb2NrID0gX19nZXRfaW50ZXJuYWxfcndsb2NrKHJ3bG9ja19pbnRlcmZhY2UpOwogCi1pbnQgcHRocmVhZF9yd2xvY2tfdW5sb2NrKHB0aHJlYWRfcndsb2NrX3QqIHJ3bG9jaykgewotICBpbnQgdGlkID0gX19nZXRfdGhyZWFkKCktPnRpZDsKLSAgYm9vbCBkb25lID0gZmFsc2U7Ci0gIGRvIHsKLSAgICBpbnQzMl90IGN1cl9zdGF0ZSA9IHJ3bG9jay0+c3RhdGU7Ci0gICAgaWYgKGN1cl9zdGF0ZSA9PSAwKSB7CisgIGludCBvbGRfc3RhdGUgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmcndsb2NrLT5zdGF0ZSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICBpZiAoX19zdGF0ZV9vd25lZF9ieV93cml0ZXIob2xkX3N0YXRlKSkgeworICAgIGlmIChhdG9taWNfbG9hZF9leHBsaWNpdCgmcndsb2NrLT53cml0ZXJfdGlkLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCkgIT0gX19nZXRfdGhyZWFkKCktPnRpZCkgewogICAgICAgcmV0dXJuIEVQRVJNOwogICAgIH0KLSAgICBpZiAoY3VyX3N0YXRlID09IC0xKSB7Ci0gICAgICBpZiAocndsb2NrLT53cml0ZXJfdGhyZWFkX2lkICE9IHRpZCkgewotICAgICAgICByZXR1cm4gRVBFUk07Ci0gICAgICB9Ci0gICAgICAvLyBXZSdyZSBubyBsb25nZXIgdGhlIG93bmVyLgotICAgICAgcndsb2NrLT53cml0ZXJfdGhyZWFkX2lkID0gMDsKLSAgICAgIC8vIENoYW5nZSBzdGF0ZSBmcm9tIC0xIHRvIDAuCi0gICAgICAvLyBXZSB1c2UgX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcCB0byBhY2hpZXZlIHNlcXVlbnRpYWwgY29uc2lzdGVuY3kgb2YgdGhlIHN0YXRlIHN0b3JlIGFuZAotICAgICAgLy8gdGhlIGZvbGxvd2luZyBwZW5kaW5nWCBsb2Fkcy4gQSBzaW1wbGUgc3RvcmUgd2l0aCBtZW1vcnlfb3JkZXJfcmVsZWFzZSBzZW1hbnRpY3MKLSAgICAgIC8vIGlzIG5vdCBlbm91Z2ggdG8gZ3VhcmFudGVlIHRoYXQgdGhlIHBlbmRpbmdYIGxvYWRzIGFyZSBub3QgcmVvcmRlcmVkIGJlZm9yZSB0aGUKLSAgICAgIC8vIHN0b3JlICh3aGljaCBtYXkgbGVhZCB0byBhIGxvc3Qgd2FrZXVwKS4KLSAgICAgIF9fc3luY19ib29sX2NvbXBhcmVfYW5kX3N3YXAoICZyd2xvY2stPnN0YXRlLCAtMSAvKiBjdXIgc3RhdGUqLywgMCAvKiBuZXcgc3RhdGUgKi8pOyAgLy8gQysrMTEgbWF5YmUgbWVtb3J5X29yZGVyX3NlcV9jc3Q/Ci0KLSAgICAgIC8vIFdha2UgYW55IHdhaXRlcnMuCi0gICAgICBpZiAoX19wcmVkaWN0X2ZhbHNlKHJ3bG9jay0+cGVuZGluZ19yZWFkZXJzID4gMCB8fCByd2xvY2stPnBlbmRpbmdfd3JpdGVycyA+IDApKSB7Ci0gICAgICAgIF9fZnV0ZXhfd2FrZV9leCgmcndsb2NrLT5zdGF0ZSwgcndsb2NrX2lzX3NoYXJlZChyd2xvY2spLCBJTlRfTUFYKTsKLSAgICAgIH0KLSAgICAgIGRvbmUgPSB0cnVlOwotICAgIH0gZWxzZSB7IC8vIGN1cl9zdGF0ZSA+IDAKLSAgICAgIC8vIFJlZHVjZSBzdGF0ZSBieSAxLgotICAgICAgLy8gU2VlIHRoZSBjb21tZW50IGFib3ZlIG9uIHdoeSB3ZSBuZWVkIF9fc3luY19ib29sX2NvbXBhcmVfYW5kX3N3YXAuCi0gICAgICBkb25lID0gX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcCgmcndsb2NrLT5zdGF0ZSwgY3VyX3N0YXRlLCBjdXJfc3RhdGUgLSAxKTsgIC8vIEMrKzExIG1heWJlIG1lbW9yeV9vcmRlcl9zZXFfY3N0PwotICAgICAgaWYgKGRvbmUgJiYgKGN1cl9zdGF0ZSAtIDEpID09IDApIHsKLSAgICAgICAgLy8gVGhlcmUgYXJlIG5vIG1vcmUgcmVhZGVycywgd2FrZSBhbnkgd2FpdGVycy4KLSAgICAgICAgaWYgKF9fcHJlZGljdF9mYWxzZShyd2xvY2stPnBlbmRpbmdfcmVhZGVycyA+IDAgfHwgcndsb2NrLT5wZW5kaW5nX3dyaXRlcnMgPiAwKSkgewotICAgICAgICAgIF9fZnV0ZXhfd2FrZV9leCgmcndsb2NrLT5zdGF0ZSwgcndsb2NrX2lzX3NoYXJlZChyd2xvY2spLCBJTlRfTUFYKTsKLSAgICAgICAgfQotICAgICAgfQorICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmcndsb2NrLT53cml0ZXJfdGlkLCAwLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgb2xkX3N0YXRlID0gYXRvbWljX2ZldGNoX2FuZF9leHBsaWNpdCgmcndsb2NrLT5zdGF0ZSwgflNUQVRFX09XTkVEX0JZX1dSSVRFUl9GTEFHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X29yZGVyX3JlbGVhc2UpOworICAgIGlmICghX19zdGF0ZV9oYXZlX3BlbmRpbmdfcmVhZGVyc19vcl93cml0ZXJzKG9sZF9zdGF0ZSkpIHsKKyAgICAgIHJldHVybiAwOwogICAgIH0KLSAgfSB3aGlsZSAoIWRvbmUpOwogCisgIH0gZWxzZSBpZiAoX19zdGF0ZV9vd25lZF9ieV9yZWFkZXJzKG9sZF9zdGF0ZSkpIHsKKyAgICBvbGRfc3RhdGUgPSBhdG9taWNfZmV0Y2hfc3ViX2V4cGxpY2l0KCZyd2xvY2stPnN0YXRlLCBTVEFURV9SRUFERVJfQ09VTlRfQ0hBTkdFX1NURVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXJfcmVsZWFzZSk7CisgICAgaWYgKCFfX3N0YXRlX2lzX2xhc3RfcmVhZGVyKG9sZF9zdGF0ZSkgfHwgIV9fc3RhdGVfaGF2ZV9wZW5kaW5nX3JlYWRlcnNfb3Jfd3JpdGVycyhvbGRfc3RhdGUpKSB7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gRVBFUk07CisgIH0KKworICAvLyBXYWtlIHVwIHBlbmRpbmcgcmVhZGVycyBvciB3cml0ZXJzLgorICByd2xvY2stPnBlbmRpbmdfbG9jay5sb2NrKCk7CisgIGlmIChyd2xvY2stPnBlbmRpbmdfd3JpdGVyX2NvdW50ICE9IDApIHsKKyAgICByd2xvY2stPnBlbmRpbmdfd3JpdGVyX3dha2V1cF9zZXJpYWwrKzsKKyAgICByd2xvY2stPnBlbmRpbmdfbG9jay51bmxvY2soKTsKKworICAgIF9fZnV0ZXhfd2FrZV9leCgmcndsb2NrLT5wZW5kaW5nX3dyaXRlcl93YWtldXBfc2VyaWFsLCByd2xvY2stPnBzaGFyZWQsIDEpOworCisgIH0gZWxzZSBpZiAocndsb2NrLT5wZW5kaW5nX3JlYWRlcl9jb3VudCAhPSAwKSB7CisgICAgcndsb2NrLT5wZW5kaW5nX3JlYWRlcl93YWtldXBfc2VyaWFsKys7CisgICAgcndsb2NrLT5wZW5kaW5nX2xvY2sudW5sb2NrKCk7CisKKyAgICBfX2Z1dGV4X3dha2VfZXgoJnJ3bG9jay0+cGVuZGluZ19yZWFkZXJfd2FrZXVwX3NlcmlhbCwgcndsb2NrLT5wc2hhcmVkLCBJTlRfTUFYKTsKKworICB9IGVsc2UgeworICAgIC8vIEl0IGhhcHBlbnMgd2hlbiB3YWl0ZXJzIGFyZSB3b2tlbiB1cCBieSB0aW1lb3V0LgorICAgIHJ3bG9jay0+cGVuZGluZ19sb2NrLnVubG9jaygpOworICB9CiAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvcHRocmVhZF9zZXRuYW1lX25wLmNwcCBiL2xpYmMvYmlvbmljL3B0aHJlYWRfc2V0bmFtZV9ucC5jcHAKaW5kZXggMWRkZjgxMC4uYmIxMTE0ZSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZF9zZXRuYW1lX25wLmNwcAorKysgYi9saWJjL2Jpb25pYy9wdGhyZWFkX3NldG5hbWVfbnAuY3BwCkBAIC0zMCwxNCArMzAsMTQgQEAKIAogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4gLy8gRm9yIHNucHJpbnRmLgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKLSNpbmNsdWRlICJwdGhyZWFkX2FjY2Vzc29yLmgiCi0jaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInByaXZhdGUvRXJybm9SZXN0b3Jlci5oIgorI2luY2x1ZGUgInB0aHJlYWRfaW50ZXJuYWwuaCIKIAogLy8gVGhpcyB2YWx1ZSBpcyBub3QgZXhwb3J0ZWQgYnkga2VybmVsIGhlYWRlcnMuCiAjZGVmaW5lIE1BWF9UQVNLX0NPTU1fTEVOIDE2CkBAIC01NywxNyArNTcsMTUgQEAKICAgfQogCiAgIC8vIFdlIGhhdmUgdG8gY2hhbmdlIGFub3RoZXIgdGhyZWFkJ3MgbmFtZS4KLSAgcGlkX3QgdGlkID0gMDsKLSAgewotICAgIHB0aHJlYWRfYWNjZXNzb3IgdGhyZWFkKHQpOwotICAgIGlmICh0aHJlYWQuZ2V0KCkgPT0gTlVMTCkgewotICAgICAgcmV0dXJuIEVTUkNIOwotICAgIH0KLSAgICB0aWQgPSB0aHJlYWQtPnRpZDsKKyAgcHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQgPSBfX3B0aHJlYWRfaW50ZXJuYWxfZmluZCh0KTsKKyAgaWYgKHRocmVhZCA9PSBOVUxMKSB7CisgICAgcmV0dXJuIEVOT0VOVDsKICAgfQorICBwaWRfdCB0aWQgPSB0aHJlYWQtPnRpZDsKKwogICBjaGFyIGNvbW1fbmFtZVtzaXplb2YoVEFTS19DT01NX0ZNVCkgKyA4XTsKICAgc25wcmludGYoY29tbV9uYW1lLCBzaXplb2YoY29tbV9uYW1lKSwgVEFTS19DT01NX0ZNVCwgdGlkKTsKLSAgaW50IGZkID0gb3Blbihjb21tX25hbWUsIE9fV1JPTkxZKTsKKyAgaW50IGZkID0gb3Blbihjb21tX25hbWUsIE9fQ0xPRVhFQyB8IE9fV1JPTkxZKTsKICAgaWYgKGZkID09IC0xKSB7CiAgICAgcmV0dXJuIGVycm5vOwogICB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX3NldHNjaGVkcGFyYW0uY3BwIGIvbGliYy9iaW9uaWMvcHRocmVhZF9zZXRzY2hlZHBhcmFtLmNwcAppbmRleCA0MTljYzZmLi4wYWQ2OGJiIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdGhyZWFkX3NldHNjaGVkcGFyYW0uY3BwCisrKyBiL2xpYmMvYmlvbmljL3B0aHJlYWRfc2V0c2NoZWRwYXJhbS5jcHAKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1ZGUgPGVycm5vLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL0Vycm5vUmVzdG9yZXIuaCIKLSNpbmNsdWRlICJwdGhyZWFkX2FjY2Vzc29yLmgiCisjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgogCiBpbnQgcHRocmVhZF9zZXRzY2hlZHBhcmFtKHB0aHJlYWRfdCB0LCBpbnQgcG9saWN5LCBjb25zdCBzY2hlZF9wYXJhbSogcGFyYW0pIHsKICAgRXJybm9SZXN0b3JlciBlcnJub19yZXN0b3JlcjsKIAotICBwdGhyZWFkX2FjY2Vzc29yIHRocmVhZCh0KTsKLSAgaWYgKHRocmVhZC5nZXQoKSA9PSBOVUxMKSB7CisgIHB0aHJlYWRfaW50ZXJuYWxfdCogdGhyZWFkID0gX19wdGhyZWFkX2ludGVybmFsX2ZpbmQodCk7CisgIGlmICh0aHJlYWQgPT0gTlVMTCkgewogICAgIHJldHVybiBFU1JDSDsKICAgfQogCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdHkuY3BwIGIvbGliYy9iaW9uaWMvcHR5LmNwcAppbmRleCA5OTVlMDA2Li4xYTM3ODQ3IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9wdHkuY3BwCisrKyBiL2xpYmMvYmlvbmljL3B0eS5jcHAKQEAgLTI4LDEzICsyOCwyMCBAQAogCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHB0eS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiAjaW5jbHVkZSA8dGVybWlvcy5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHV0bXAuaD4KIAotaW50IGdldHB0KHZvaWQpIHsKKyNpbmNsdWRlICJwcml2YXRlL1RocmVhZExvY2FsQnVmZmVyLmgiCisKK3N0YXRpYyBUaHJlYWRMb2NhbEJ1ZmZlcjxjaGFyLCAzMj4gZ19wdHNuYW1lX3Rsc19idWZmZXI7CitzdGF0aWMgVGhyZWFkTG9jYWxCdWZmZXI8Y2hhciwgNjQ+IGdfdHR5bmFtZV90bHNfYnVmZmVyOworCitpbnQgZ2V0cHQoKSB7CiAgIHJldHVybiBwb3NpeF9vcGVucHQoT19SRFdSfE9fTk9DVFRZKTsKIH0KIApAQCAtNDcsOCArNTQsOSBAQAogfQogCiBjaGFyKiBwdHNuYW1lKGludCBmZCkgewotICBzdGF0aWMgY2hhciBidWZbNjRdOwotICByZXR1cm4gcHRzbmFtZV9yKGZkLCBidWYsIHNpemVvZihidWYpKSA9PSAwID8gYnVmIDogTlVMTDsKKyAgY2hhciogYnVmID0gZ19wdHNuYW1lX3Rsc19idWZmZXIuZ2V0KCk7CisgIGludCBlcnJvciA9IHB0c25hbWVfcihmZCwgYnVmLCBnX3B0c25hbWVfdGxzX2J1ZmZlci5zaXplKCkpOworICByZXR1cm4gKGVycm9yID09IDApID8gYnVmIDogTlVMTDsKIH0KIAogaW50IHB0c25hbWVfcihpbnQgZmQsIGNoYXIqIGJ1Ziwgc2l6ZV90IGxlbikgewpAQCAtNzIsOCArODAsOSBAQAogfQogCiBjaGFyKiB0dHluYW1lKGludCBmZCkgewotICBzdGF0aWMgY2hhciBidWZbNjRdOwotICByZXR1cm4gdHR5bmFtZV9yKGZkLCBidWYsIHNpemVvZihidWYpKSA9PSAwID8gYnVmIDogTlVMTDsKKyAgY2hhciogYnVmID0gZ190dHluYW1lX3Rsc19idWZmZXIuZ2V0KCk7CisgIGludCBlcnJvciA9IHR0eW5hbWVfcihmZCwgYnVmLCBnX3R0eW5hbWVfdGxzX2J1ZmZlci5zaXplKCkpOworICByZXR1cm4gKGVycm9yID09IDApID8gYnVmIDogTlVMTDsKIH0KIAogaW50IHR0eW5hbWVfcihpbnQgZmQsIGNoYXIqIGJ1Ziwgc2l6ZV90IGxlbikgewpAQCAtMTA1LDMgKzExNCw4MyBAQAogICBpbnQgdW5sb2NrID0gMDsKICAgcmV0dXJuIGlvY3RsKGZkLCBUSU9DU1BUTENLLCAmdW5sb2NrKTsKIH0KKworaW50IG9wZW5wdHkoaW50KiBtYXN0ZXIsIGludCogc2xhdmUsIGNoYXIqIG5hbWUsIGNvbnN0IHRlcm1pb3MqIHQsIGNvbnN0IHdpbnNpemUqIHdzKSB7CisgICptYXN0ZXIgPSBnZXRwdCgpOworICBpZiAoKm1hc3RlciA9PSAtMSkgeworICAgIHJldHVybiAtMTsKKyAgfQorCisgIGlmIChncmFudHB0KCptYXN0ZXIpID09IC0xIHx8IHVubG9ja3B0KCptYXN0ZXIpID09IC0xKSB7CisgICAgY2xvc2UoKm1hc3Rlcik7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgY2hhciBidWZbMzJdOworICBpZiAobmFtZSA9PSBOVUxMKSB7CisgICAgbmFtZSA9IGJ1ZjsKKyAgfQorICBpZiAocHRzbmFtZV9yKCptYXN0ZXIsIG5hbWUsIHNpemVvZihidWYpKSAhPSAwKSB7CisgICAgY2xvc2UoKm1hc3Rlcik7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgKnNsYXZlID0gb3BlbihuYW1lLCBPX1JEV1J8T19OT0NUVFkpOworICBpZiAoKnNsYXZlID09IC0xKSB7CisgICAgY2xvc2UoKm1hc3Rlcik7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgaWYgKHQgIT0gTlVMTCkgeworICAgIHRjc2V0YXR0cigqc2xhdmUsIFRDU0FGTFVTSCwgdCk7CisgIH0KKyAgaWYgKHdzICE9IE5VTEwpIHsKKyAgICBpb2N0bCgqc2xhdmUsIFRJT0NTV0lOU1osIHdzKTsKKyAgfQorCisgIHJldHVybiAwOworfQorCitpbnQgZm9ya3B0eShpbnQqIG1hc3RlciwgY2hhciogbmFtZSwgY29uc3QgdGVybWlvcyogdCwgY29uc3Qgd2luc2l6ZSogd3MpIHsKKyAgaW50IHNsYXZlOworICBpZiAob3BlbnB0eShtYXN0ZXIsICZzbGF2ZSwgbmFtZSwgdCwgd3MpID09IC0xKSB7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgcGlkX3QgcGlkID0gZm9yaygpOworICBpZiAocGlkID09IC0xKSB7CisgICAgY2xvc2UoKm1hc3Rlcik7CisgICAgY2xvc2Uoc2xhdmUpOworICAgIHJldHVybiAtMTsKKyAgfQorCisgIGlmIChwaWQgPT0gMCkgeworICAgIC8vIENoaWxkLgorICAgIGNsb3NlKCptYXN0ZXIpOworICAgIGlmIChsb2dpbl90dHkoc2xhdmUpID09IC0xKSB7CisgICAgICBfZXhpdCgxKTsKKyAgICB9CisgICAgcmV0dXJuIDA7CisgIH0KKworICAvLyBQYXJlbnQuCisgIGNsb3NlKHNsYXZlKTsKKyAgcmV0dXJuIHBpZDsKK30KKworaW50IGxvZ2luX3R0eShpbnQgZmQpIHsKKyAgc2V0c2lkKCk7CisKKyAgaWYgKGlvY3RsKGZkLCBUSU9DU0NUVFksIE5VTEwpID09IC0xKSB7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgZHVwMihmZCwgU1RESU5fRklMRU5PKTsKKyAgZHVwMihmZCwgU1RET1VUX0ZJTEVOTyk7CisgIGR1cDIoZmQsIFNUREVSUl9GSUxFTk8pOworICBpZiAoZmQgPiBTVERFUlJfRklMRU5PKSB7CisgICAgY2xvc2UoZmQpOworICB9CisKKyAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdXR1dGxpbmUuYyBiL2xpYmMvYmlvbmljL3B1dHV0bGluZS5jCmluZGV4IGM4NDI3ZjcuLjhjYmY0NzAgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3B1dHV0bGluZS5jCisrKyBiL2xpYmMvYmlvbmljL3B1dHV0bGluZS5jCkBAIC0zNiw3ICszNiw3IEBACiAgICAgc3RydWN0IHV0bXAgdTsKICAgICBsb25nIGk7CiAKLSAgICBpZiAoIShmID0gZm9wZW4oX1BBVEhfVVRNUCwgIncrIikpKQorICAgIGlmICghKGYgPSBmb3BlbihfUEFUSF9VVE1QLCAidytlIikpKQogICAgICAgICByZXR1cm47CiAKICAgICB3aGlsZSAoZnJlYWQoJnUsIHNpemVvZihzdHJ1Y3QgdXRtcCksIDEsIGYpID09IDEpCkBAIC01NSw3ICs1NSw3IEBACiAKICAgICBmY2xvc2UoZik7CiAKLSAgICBpZiAoIShmID0gZm9wZW4oX1BBVEhfVVRNUCwgIncrIikpKQorICAgIGlmICghKGYgPSBmb3BlbihfUEFUSF9VVE1QLCAidytlIikpKQogICAgICAgICByZXR1cm47CiAgICAgZndyaXRlKHV0bXAsIHNpemVvZihzdHJ1Y3QgdXRtcCksIDEsIGYpOwogCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9yYWlzZS5jcHAgYi9saWJjL2Jpb25pYy9yYWlzZS5jcHAKaW5kZXggZjY5ZDkwYi4uYjEzNGI1YSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcmFpc2UuY3BwCisrKyBiL2xpYmMvYmlvbmljL3JhaXNlLmNwcApAQCAtMjYsNyArMjYsOSBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8cHRocmVhZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgogCiBpbnQgcmFpc2UoaW50IHNpZykgewogICBpbnQgcmMgPSBwdGhyZWFkX2tpbGwocHRocmVhZF9zZWxmKCksIHNpZyk7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9yZWFkbGluay5jcHAgYi9saWJjL2Jpb25pYy9yZWFkbGluay5jcHAKaW5kZXggYTJjNWU5MS4uYTUzZjkzMyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcmVhZGxpbmsuY3BwCisrKyBiL2xpYmMvYmlvbmljL3JlYWRsaW5rLmNwcApAQCAtMjYsOSArMjYsMTIgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyN1bmRlZiBfRk9SVElGWV9TT1VSQ0UKKwogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KIAogc3NpemVfdCByZWFkbGluayhjb25zdCBjaGFyKiBwYXRoLCBjaGFyKiBidWYsIHNpemVfdCBzaXplKSB7CiAgIHJldHVybiByZWFkbGlua2F0KEFUX0ZEQ1dELCBwYXRoLCBidWYsIHNpemUpOwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc2NhbmRpci5jcHAgYi9saWJjL2Jpb25pYy9zY2FuZGlyLmNwcAppbmRleCA5ZjczMWFiLi5lZTYyZmVlIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9zY2FuZGlyLmNwcAorKysgYi9saWJjL2Jpb25pYy9zY2FuZGlyLmNwcApAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX21hY3Jvcy5oIgogI2luY2x1ZGUgInByaXZhdGUvU2NvcGVkUmVhZGRpci5oIgpAQCAtNDksNyArNTAsOCBAQAogICBib29sIEFkZChkaXJlbnQqIGVudHJ5KSB7CiAgICAgaWYgKHNpemVfID49IGNhcGFjaXR5XykgewogICAgICAgc2l6ZV90IG5ld19jYXBhY2l0eSA9IGNhcGFjaXR5XyArIDMyOwotICAgICAgZGlyZW50KiogbmV3X25hbWVzID0gKGRpcmVudCoqKSByZWFsbG9jKG5hbWVzXywgbmV3X2NhcGFjaXR5ICogc2l6ZW9mKGRpcmVudCopKTsKKyAgICAgIGRpcmVudCoqIG5ld19uYW1lcyA9CisgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxkaXJlbnQqKj4ocmVhbGxvYyhuYW1lc18sIG5ld19jYXBhY2l0eSAqIHNpemVvZihkaXJlbnQqKSkpOwogICAgICAgaWYgKG5ld19uYW1lcyA9PSBOVUxMKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIH0KQEAgLTY4LDcgKzcwLDggQEAKICAgdm9pZCBTb3J0KGludCAoKmNvbXBhcmF0b3IpKGNvbnN0IGRpcmVudCoqLCBjb25zdCBkaXJlbnQqKikpIHsKICAgICAvLyBJZiB3ZSBoYXZlIGVudHJpZXMgYW5kIGEgY29tcGFyYXRvciwgc29ydCB0aGVtLgogICAgIGlmIChzaXplXyA+IDAgJiYgY29tcGFyYXRvciAhPSBOVUxMKSB7Ci0gICAgICBxc29ydChuYW1lc18sIHNpemVfLCBzaXplb2YoZGlyZW50KiksIChpbnQgKCopKGNvbnN0IHZvaWQqLCBjb25zdCB2b2lkKikpIGNvbXBhcmF0b3IpOworICAgICAgcXNvcnQobmFtZXNfLCBzaXplXywgc2l6ZW9mKGRpcmVudCopLAorICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxpbnQgKCopKGNvbnN0IHZvaWQqLCBjb25zdCB2b2lkKik+KGNvbXBhcmF0b3IpKTsKICAgICB9CiAgIH0KIApAQCAtODAsNyArODMsNyBAQAogICBzdGF0aWMgZGlyZW50KiBDb3B5RGlyZW50KGRpcmVudCogb3JpZ2luYWwpIHsKICAgICAvLyBBbGxvY2F0ZSB0aGUgbWluaW11bSBudW1iZXIgb2YgYnl0ZXMgbmVjZXNzYXJ5LCByb3VuZGVkIHVwIHRvIGEgNC1ieXRlIGJvdW5kYXJ5LgogICAgIHNpemVfdCBzaXplID0gKChvcmlnaW5hbC0+ZF9yZWNsZW4gKyAzKSAmIH4zKTsKLSAgICBkaXJlbnQqIGNvcHkgPSAoZGlyZW50KikgbWFsbG9jKHNpemUpOworICAgIGRpcmVudCogY29weSA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZGlyZW50Kj4obWFsbG9jKHNpemUpKTsKICAgICBtZW1jcHkoY29weSwgb3JpZ2luYWwsIG9yaWdpbmFsLT5kX3JlY2xlbik7CiAgICAgcmV0dXJuIGNvcHk7CiAgIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3NlbWFwaG9yZS5jIGIvbGliYy9iaW9uaWMvc2VtYXBob3JlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYTAxOWUuLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvc2VtYXBob3JlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzOTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotI2luY2x1ZGUgPHNlbWFwaG9yZS5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNpbmNsdWRlIDx0aW1lLmg+Ci0jaW5jbHVkZSA8bGltaXRzLmg+Ci0KLSNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19hdG9taWNfaW5saW5lLmgiCi0jaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfZnV0ZXguaCIKLQotLyogSW4gdGhpcyBpbXBsZW1lbnRhdGlvbiwgYSBzZW1hcGhvcmUgY29udGFpbnMgYQotICogMzEtYml0IHNpZ25lZCB2YWx1ZSBhbmQgYSAxLWJpdCAnc2hhcmVkJyBmbGFnCi0gKiAoZm9yIHByb2Nlc3Mtc2hhcmluZyBwdXJwb3NlKS4KLSAqCi0gKiBXZSB1c2UgdGhlIHZhbHVlIC0xIHRvIGluZGljYXRlIGNvbnRlbnRpb24gb24gdGhlCi0gKiBzZW1hcGhvcmUsIDAgb3IgbW9yZSB0byBpbmRpY2F0ZSB1bmNvbnRlbmRlZCBzdGF0ZSwKLSAqIGFueSB2YWx1ZSBsb3dlciB0aGFuIC0yIGlzIGludmFsaWQgYXQgcnVudGltZS4KLSAqCi0gKiBTdGF0ZSBkaWFncmFtOgotICoKLSAqIHBvc3QoMSkgID09PiAyCi0gKiBwb3N0KDApICA9PT4gMQotICogcG9zdCgtMSkgPT0+IDEsIHRoZW4gd2FrZSBhbGwgd2FpdGVycwotICoKLSAqIHdhaXQoMikgID09PiAxCi0gKiB3YWl0KDEpICA9PT4gMAotICogd2FpdCgwKSAgPT0+IC0xIHRoZW4gd2FpdCBmb3IgYSB3YWtlIHVwICsgbG9vcAotICogd2FpdCgtMSkgPT0+IC0xIHRoZW4gd2FpdCBmb3IgYSB3YWtlIHVwICsgbG9vcAotICoKLSAqLwotCi0vKiBVc2UgdGhlIHVwcGVyIDMxLWJpdHMgZm9yIHRoZSBjb3VudGVyLCBhbmQgdGhlIGxvd2VyIG9uZQotICogZm9yIHRoZSBzaGFyZWQgZmxhZy4KLSAqLwotI2RlZmluZSBTRU1DT1VOVF9TSEFSRURfTUFTSyAgICAgIDB4MDAwMDAwMDEKLSNkZWZpbmUgU0VNQ09VTlRfVkFMVUVfTUFTSyAgICAgICAweGZmZmZmZmZlCi0jZGVmaW5lIFNFTUNPVU5UX1ZBTFVFX1NISUZUICAgICAgMQotCi0vKiBNYXhpbXVtIHVuc2lnbmVkIHZhbHVlIHRoYXQgY2FuIGJlIHN0b3JlZCBpbiB0aGUgc2VtYXBob3JlLgotICogT25lIGJpdCBpcyB1c2VkIGZvciB0aGUgc2hhcmVkIGZsYWcsIGFub3RoZXIgb25lIGZvciB0aGUKLSAqIHNpZ24gYml0LCBsZWF2aW5nIHVzIHdpdGggb25seSAzMCBiaXRzLgotICovCi0jZGVmaW5lIFNFTV9NQVhfVkFMVUUgICAgICAgICAgICAgMHgzZmZmZmZmZgotCi0vKiBjb252ZXJ0IGEgdmFsdWUgaW50byB0aGUgY29ycmVzcG9uZGluZyBzZW0tPmNvdW50IGJpdCBwYXR0ZXJuICovCi0jZGVmaW5lIFNFTUNPVU5UX0ZST01fVkFMVUUodmFsKSAgICAoKCh2YWwpIDw8IFNFTUNPVU5UX1ZBTFVFX1NISUZUKSAmIFNFTUNPVU5UX1ZBTFVFX01BU0spCi0KLS8qIGNvbnZlcnQgYSBzZW0tPmNvdW50IGJpdCBwYXR0ZXJuIGludG8gdGhlIGNvcnJlc3BvbmRpbmcgc2lnbmVkIHZhbHVlICovCi0jZGVmaW5lIFNFTUNPVU5UX1RPX1ZBTFVFKHN2YWwpICAoKGludCkoc3ZhbCkgPj4gU0VNQ09VTlRfVkFMVUVfU0hJRlQpCi0KLS8qIHRoZSB2YWx1ZSArMSBhcyBhIHNlbS0+Y291bnQgYml0LXBhdHRlcm4uICovCi0jZGVmaW5lIFNFTUNPVU5UX09ORSAgICAgICAgICAgICAgU0VNQ09VTlRfRlJPTV9WQUxVRSgxKQotCi0vKiB0aGUgdmFsdWUgLTEgYXMgYSBzZW0tPmNvdW50IGJpdC1wYXR0ZXJuLiAqLwotI2RlZmluZSBTRU1DT1VOVF9NSU5VU19PTkUgICAgICAgIFNFTUNPVU5UX0ZST01fVkFMVUUoLTEpCi0KLSNkZWZpbmUgU0VNQ09VTlRfREVDUkVNRU5UKHN2YWwpICAgICgoKHN2YWwpIC0gKDFVIDw8IFNFTUNPVU5UX1ZBTFVFX1NISUZUKSkgJiBTRU1DT1VOVF9WQUxVRV9NQVNLKQotI2RlZmluZSBTRU1DT1VOVF9JTkNSRU1FTlQoc3ZhbCkgICAgKCgoc3ZhbCkgKyAoMVUgPDwgU0VNQ09VTlRfVkFMVUVfU0hJRlQpKSAmIFNFTUNPVU5UX1ZBTFVFX01BU0spCi0KLS8qIHJldHVybiB0aGUgc2hhcmVkIGJpdGZsYWcgZnJvbSBhIHNlbWFwaG9yZSAqLwotI2RlZmluZSBTRU1fR0VUX1NIQVJFRChzZW0pICAgICAgICgoc2VtKS0+Y291bnQgJiBTRU1DT1VOVF9TSEFSRURfTUFTSykKLQotCi1pbnQgc2VtX2luaXQoc2VtX3QgKnNlbSwgaW50IHBzaGFyZWQsIHVuc2lnbmVkIGludCB2YWx1ZSkKLXsKLSAgICBpZiAoc2VtID09IE5VTEwpIHsKLSAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgICAvKiBlbnN1cmUgdGhhdCAndmFsdWUnIGNhbiBiZSBzdG9yZWQgaW4gdGhlIHNlbWFwaG9yZSAqLwotICAgIGlmICh2YWx1ZSA+IFNFTV9NQVhfVkFMVUUpIHsKLSAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgICBzZW0tPmNvdW50ID0gU0VNQ09VTlRfRlJPTV9WQUxVRSh2YWx1ZSk7Ci0gICAgaWYgKHBzaGFyZWQgIT0gMCkKLSAgICAgICAgc2VtLT5jb3VudCB8PSBTRU1DT1VOVF9TSEFSRURfTUFTSzsKLQotICAgIHJldHVybiAwOwotfQotCi0KLWludCBzZW1fZGVzdHJveShzZW1fdCAqc2VtKQotewotICAgIGludCBjb3VudDsKLQotICAgIGlmIChzZW0gPT0gTlVMTCkgewotICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBjb3VudCA9IFNFTUNPVU5UX1RPX1ZBTFVFKHNlbS0+Y291bnQpOwotICAgIGlmIChjb3VudCA8IDApIHsKLSAgICAgICAgZXJybm8gPSBFQlVTWTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBzZW0tPmNvdW50ID0gMDsKLSAgICByZXR1cm4gMDsKLX0KLQotCi1zZW1fdCAqc2VtX29wZW4oY29uc3QgY2hhciAqbmFtZSBfX3VudXNlZCwgaW50IG9mbGFnIF9fdW51c2VkLCAuLi4pCi17Ci0gICAgZXJybm8gPSBFTk9TWVM7Ci0gICAgcmV0dXJuIFNFTV9GQUlMRUQ7Ci19Ci0KLQotaW50IHNlbV9jbG9zZShzZW1fdCAqc2VtKQotewotICAgIGlmIChzZW0gPT0gTlVMTCkgewotICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBlcnJubyA9IEVOT1NZUzsKLSAgICByZXR1cm4gLTE7Ci19Ci0KLQotaW50IHNlbV91bmxpbmsoY29uc3QgY2hhciogbmFtZSBfX3VudXNlZCkKLXsKLSAgICBlcnJubyA9IEVOT1NZUzsKLSAgICByZXR1cm4gLTE7Ci19Ci0KLQotLyogRGVjcmVtZW50IGEgc2VtYXBob3JlJ3MgdmFsdWUgYXRvbWljYWxseSwKLSAqIGFuZCByZXR1cm4gdGhlIG9sZCBvbmUuIEFzIGEgc3BlY2lhbCBjYXNlLAotICogdGhpcyByZXR1cm5zIGltbWVkaWF0ZWx5IGlmIHRoZSB2YWx1ZSBpcwotICogbmVnYXRpdmUgKGkuZS4gLTEpCi0gKi8KLXN0YXRpYyBpbnQKLV9fc2VtX2RlYyh2b2xhdGlsZSB1bnNpZ25lZCBpbnQgKnB2YWx1ZSkKLXsKLSAgICB1bnNpZ25lZCBpbnQgc2hhcmVkID0gKCpwdmFsdWUgJiBTRU1DT1VOVF9TSEFSRURfTUFTSyk7Ci0gICAgdW5zaWduZWQgaW50IG9sZCwgbmV3OwotICAgIGludCAgICAgICAgICByZXQ7Ci0KLSAgICBkbyB7Ci0gICAgICAgIG9sZCA9ICgqcHZhbHVlICYgU0VNQ09VTlRfVkFMVUVfTUFTSyk7Ci0gICAgICAgIHJldCA9IFNFTUNPVU5UX1RPX1ZBTFVFKG9sZCk7Ci0gICAgICAgIGlmIChyZXQgPCAwKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgbmV3ID0gU0VNQ09VTlRfREVDUkVNRU5UKG9sZCk7Ci0gICAgfQotICAgIHdoaWxlIChfX2Jpb25pY19jbXB4Y2hnKChpbnQpKG9sZHxzaGFyZWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpKG5ld3xzaGFyZWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2xhdGlsZSBpbnQgKilwdmFsdWUpICE9IDApOwotICAgIHJldHVybiByZXQ7Ci19Ci0KLS8qIFNhbWUgYXMgX19zZW1fZGVjLCBidXQgd2lsbCBub3QgdG91Y2ggYW55dGhpbmcgaWYgdGhlCi0gKiB2YWx1ZSBpcyBhbHJlYWR5IG5lZ2F0aXZlICpvciogMC4gUmV0dXJucyB0aGUgb2xkIHZhbHVlLgotICovCi1zdGF0aWMgaW50Ci1fX3NlbV90cnlkZWModm9sYXRpbGUgdW5zaWduZWQgaW50ICpwdmFsdWUpCi17Ci0gICAgdW5zaWduZWQgaW50IHNoYXJlZCA9ICgqcHZhbHVlICYgU0VNQ09VTlRfU0hBUkVEX01BU0spOwotICAgIHVuc2lnbmVkIGludCBvbGQsIG5ldzsKLSAgICBpbnQgICAgICAgICAgcmV0OwotCi0gICAgZG8gewotICAgICAgICBvbGQgPSAoKnB2YWx1ZSAmIFNFTUNPVU5UX1ZBTFVFX01BU0spOwotICAgICAgICByZXQgPSBTRU1DT1VOVF9UT19WQUxVRShvbGQpOwotICAgICAgICBpZiAocmV0IDw9IDApCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBuZXcgPSBTRU1DT1VOVF9ERUNSRU1FTlQob2xkKTsKLSAgICB9Ci0gICAgd2hpbGUgKF9fYmlvbmljX2NtcHhjaGcoKGludCkob2xkfHNoYXJlZCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCkobmV3fHNoYXJlZCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvbGF0aWxlIGludCAqKXB2YWx1ZSkgIT0gMCk7Ci0KLSAgICByZXR1cm4gcmV0OwotfQotCi0KLS8qICJJbmNyZW1lbnQiIHRoZSB2YWx1ZSBvZiBhIHNlbWFwaG9yZSBhdG9taWNhbGx5IGFuZAotICogcmV0dXJuIGl0cyBvbGQgdmFsdWUuIE5vdGUgdGhhdCB0aGlzIGltcGxlbWVudHMKLSAqIHRoZSBzcGVjaWFsIGNhc2Ugb2YgImluY3JlbWVudGluZyIgYW55IG5lZ2F0aXZlCi0gKiB2YWx1ZSB0byArMSBkaXJlY3RseS4KLSAqCi0gKiBOT1RFOiBUaGUgdmFsdWUgd2lsbCBfbm90XyB3cmFwIGFib3ZlIFNFTV9WQUxVRV9NQVgKLSAqLwotc3RhdGljIGludAotX19zZW1faW5jKHZvbGF0aWxlIHVuc2lnbmVkIGludCAqcHZhbHVlKQotewotICAgIHVuc2lnbmVkIGludCAgc2hhcmVkID0gKCpwdmFsdWUgJiBTRU1DT1VOVF9TSEFSRURfTUFTSyk7Ci0gICAgdW5zaWduZWQgaW50ICBvbGQsIG5ldzsKLSAgICBpbnQgICAgICAgICAgIHJldDsKLQotICAgIGRvIHsKLSAgICAgICAgb2xkID0gKCpwdmFsdWUgJiBTRU1DT1VOVF9WQUxVRV9NQVNLKTsKLSAgICAgICAgcmV0ID0gU0VNQ09VTlRfVE9fVkFMVUUob2xkKTsKLQotICAgICAgICAvKiBDYW4ndCBnbyBoaWdoZXIgdGhhbiBTRU1fTUFYX1ZBTFVFICovCi0gICAgICAgIGlmIChyZXQgPT0gU0VNX01BWF9WQUxVRSkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIC8qIElmIHRoZSBjb3VudGVyIGlzIG5lZ2F0aXZlLCBnbyBkaXJlY3RseSB0byArMSwKLSAgICAgICAgICogb3RoZXJ3aXNlIGp1c3QgaW5jcmVtZW50ICovCi0gICAgICAgIGlmIChyZXQgPCAwKQotICAgICAgICAgICAgbmV3ID0gU0VNQ09VTlRfT05FOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBuZXcgPSBTRU1DT1VOVF9JTkNSRU1FTlQob2xkKTsKLSAgICB9Ci0gICAgd2hpbGUgKCBfX2Jpb25pY19jbXB4Y2hnKChpbnQpKG9sZHxzaGFyZWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KShuZXd8c2hhcmVkKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvbGF0aWxlIGludCopcHZhbHVlKSAhPSAwKTsKLQotICAgIHJldHVybiByZXQ7Ci19Ci0KLS8qIGxvY2sgYSBzZW1hcGhvcmUgKi8KLWludCBzZW1fd2FpdChzZW1fdCAqc2VtKQotewotICAgIHVuc2lnbmVkIHNoYXJlZDsKLQotICAgIGlmIChzZW0gPT0gTlVMTCkgewotICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICAgIHNoYXJlZCA9IFNFTV9HRVRfU0hBUkVEKHNlbSk7Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmIChfX3NlbV9kZWMoJnNlbS0+Y291bnQpID4gMCkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIF9fZnV0ZXhfd2FpdF9leCgmc2VtLT5jb3VudCwgc2hhcmVkLCBzaGFyZWR8U0VNQ09VTlRfTUlOVVNfT05FLCBOVUxMKTsKLSAgICB9Ci0gICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgIHJldHVybiAwOwotfQotCi1pbnQgc2VtX3RpbWVkd2FpdChzZW1fdCAqc2VtLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKmFic190aW1lb3V0KQotewotICAgIHVuc2lnbmVkIGludCBzaGFyZWQ7Ci0KLSAgICBpZiAoc2VtID09IE5VTEwpIHsKLSAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgICAvKiBQT1NJWCBzYXlzIHdlIG5lZWQgdG8gdHJ5IHRvIGRlY3JlbWVudCB0aGUgc2VtYXBob3JlCi0gICAgICogYmVmb3JlIGNoZWNraW5nIHRoZSB0aW1lb3V0IHZhbHVlLiBOb3RlIHRoYXQgaWYgdGhlCi0gICAgICogdmFsdWUgaXMgY3VycmVudGx5IDAsIF9fc2VtX3RyeWRlYygpIGRvZXMgbm90aGluZy4KLSAgICAgKi8KLSAgICBpZiAoX19zZW1fdHJ5ZGVjKCZzZW0tPmNvdW50KSA+IDApIHsKLSAgICAgICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvKiBDaGVjayBpdCBhcyBwZXIgUG9zaXggKi8KLSAgICBpZiAoYWJzX3RpbWVvdXQgPT0gTlVMTCAgICB8fAotICAgICAgICBhYnNfdGltZW91dC0+dHZfc2VjIDwgMCB8fAotICAgICAgICBhYnNfdGltZW91dC0+dHZfbnNlYyA8IDAgfHwKLSAgICAgICAgYWJzX3RpbWVvdXQtPnR2X25zZWMgPj0gMTAwMDAwMDAwMCkKLSAgICB7Ci0gICAgICAgIGVycm5vID0gRUlOVkFMOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotCi0gICAgc2hhcmVkID0gU0VNX0dFVF9TSEFSRUQoc2VtKTsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgc3RydWN0IHRpbWVzcGVjIHRzOwotICAgICAgICBpbnQgICAgICAgICAgICAgcmV0OwotCi0gICAgICAgIC8qIFBvc2l4IG1hbmRhdGVzIENMT0NLX1JFQUxUSU1FIGhlcmUgKi8KLSAgICAgICAgY2xvY2tfZ2V0dGltZSggQ0xPQ0tfUkVBTFRJTUUsICZ0cyApOwotICAgICAgICB0cy50dl9zZWMgID0gYWJzX3RpbWVvdXQtPnR2X3NlYyAtIHRzLnR2X3NlYzsKLSAgICAgICAgdHMudHZfbnNlYyA9IGFic190aW1lb3V0LT50dl9uc2VjIC0gdHMudHZfbnNlYzsKLSAgICAgICAgaWYgKHRzLnR2X25zZWMgPCAwKSB7Ci0gICAgICAgICAgICB0cy50dl9uc2VjICs9IDEwMDAwMDAwMDA7Ci0gICAgICAgICAgICB0cy50dl9zZWMgIC09IDE7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodHMudHZfc2VjIDwgMCB8fCB0cy50dl9uc2VjIDwgMCkgewotICAgICAgICAgICAgZXJybm8gPSBFVElNRURPVVQ7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBUcnkgdG8gZ3JhYiB0aGUgc2VtYXBob3JlLiBJZiB0aGUgdmFsdWUgd2FzIDAsIHRoaXMKLSAgICAgICAgICogd2lsbCBhbHNvIGNoYW5nZSBpdCB0byAtMSAqLwotICAgICAgICBpZiAoX19zZW1fZGVjKCZzZW0tPmNvdW50KSA+IDApIHsKLSAgICAgICAgICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgLyogQ29udGVudGlvbiBkZXRlY3RlZC4gd2FpdCBmb3IgYSB3YWtldXAgZXZlbnQgKi8KLSAgICAgICAgcmV0ID0gX19mdXRleF93YWl0X2V4KCZzZW0tPmNvdW50LCBzaGFyZWQsIHNoYXJlZHxTRU1DT1VOVF9NSU5VU19PTkUsICZ0cyk7Ci0KLSAgICAgICAgLyogcmV0dXJuIGluIGNhc2Ugb2YgdGltZW91dCBvciBpbnRlcnJ1cHQgKi8KLSAgICAgICAgaWYgKHJldCA9PSAtRVRJTUVET1VUIHx8IHJldCA9PSAtRUlOVFIpIHsKLSAgICAgICAgICAgIGVycm5vID0gLXJldDsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLQotLyogVW5sb2NrIGEgc2VtYXBob3JlICovCi1pbnQgc2VtX3Bvc3Qoc2VtX3QgKnNlbSkKLXsKLSAgICB1bnNpZ25lZCBpbnQgc2hhcmVkOwotICAgIGludCAgICAgICAgICBvbGQ7Ci0KLSAgICBpZiAoc2VtID09IE5VTEwpCi0gICAgICAgIHJldHVybiBFSU5WQUw7Ci0KLSAgICBzaGFyZWQgPSBTRU1fR0VUX1NIQVJFRChzZW0pOwotCi0gICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwotICAgIG9sZCA9IF9fc2VtX2luYygmc2VtLT5jb3VudCk7Ci0gICAgaWYgKG9sZCA8IDApIHsKLSAgICAgICAgLyogY29udGVudGlvbiBvbiB0aGUgc2VtYXBob3JlLCB3YWtlIHVwIGFsbCB3YWl0ZXJzICovCi0gICAgICAgIF9fZnV0ZXhfd2FrZV9leCgmc2VtLT5jb3VudCwgc2hhcmVkLCBJTlRfTUFYKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAob2xkID09IFNFTV9NQVhfVkFMVUUpIHsKLSAgICAgICAgLyogb3ZlcmZsb3cgZGV0ZWN0ZWQgKi8KLSAgICAgICAgZXJybm8gPSBFT1ZFUkZMT1c7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotaW50ICBzZW1fdHJ5d2FpdChzZW1fdCAqc2VtKQotewotICAgIGlmIChzZW0gPT0gTlVMTCkgewotICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICAgIGlmIChfX3NlbV90cnlkZWMoJnNlbS0+Y291bnQpID4gMCkgewotICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGVycm5vID0gRUFHQUlOOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotfQotCi0vKiBOb3RlIHRoYXQgUG9zaXggcmVxdWlyZXMgdGhhdCBzZW1fZ2V0dmFsdWUoKSByZXR1cm5zLCBpbgotICogY2FzZSBvZiBjb250ZW50aW9uLCB0aGUgbmVnYXRpdmUgb2YgdGhlIG51bWJlciBvZiB3YWl0aW5nCi0gKiB0aHJlYWRzLgotICoKLSAqIEhvd2V2ZXIsIGNvZGUgdGhhdCBkZXBlbmRzIG9uIHRoaXMgbmVnYXRpdmUgdmFsdWUgdG8gYmUKLSAqIG1lYW5pbmdmdWwgaXMgbW9zdCBwcm9iYWJseSByYWN5LiBUaGUgR0xpYmMgc2VtX2dldHZhbHVlKCkKLSAqIG9ubHkgcmV0dXJucyB0aGUgc2VtYXBob3JlIHZhbHVlLCB3aGljaCBpcyAwLCBpbiBjYXNlIG9mCi0gKiBjb250ZW50aW9uLCBzbyB3ZSB3aWxsIG1pbWljayB0aGlzIGJlaGF2aW91ciBoZXJlIGluc3RlYWQKLSAqIGZvciBiZXR0ZXIgY29tcGF0aWJpbGl0eS4KLSAqLwotaW50ICBzZW1fZ2V0dmFsdWUoc2VtX3QgKnNlbSwgaW50ICpzdmFsKQotewotICAgIGludCAgdmFsOwotCi0gICAgaWYgKHNlbSA9PSBOVUxMIHx8IHN2YWwgPT0gTlVMTCkgewotICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICAgIHZhbCA9IFNFTUNPVU5UX1RPX1ZBTFVFKHNlbS0+Y291bnQpOwotICAgIGlmICh2YWwgPCAwKQotICAgICAgICB2YWwgPSAwOwotCi0gICAgKnN2YWwgPSB2YWw7Ci0gICAgcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9zZW1hcGhvcmUuY3BwIGIvbGliYy9iaW9uaWMvc2VtYXBob3JlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjA0NjUwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvc2VtYXBob3JlLmNwcApAQCAtMCwwICsxLDMxMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBNZW1vcnkgb3JkZXIgcmVxdWlyZW1lbnRzIGZvciBQT1NJWCBzZW1hcGhvcmVzIGFwcGVhciB1bmNsZWFyIGFuZCBhcmUKKy8vIGN1cnJlbnRseSBpbnRlcnByZXRlZCBpbmNvbnNpc3RlbnRseS4KKy8vIFdlIGNvbnNlcnZhdGl2ZWx5IHByZWZlciBzZXF1ZW50aWFsbHkgY29uc2lzdGVudCBvcGVyYXRpb25zIGZvciBub3cuCisvLyBDQVVUSU9OOiBUaGlzIGlzIG1vcmUgY29uc2VydmF0aXZlIHRoYW4gc29tZSBvdGhlciBtYWpvciBpbXBsZW1lbnRhdGlvbnMsCisvLyBhbmQgbWF5IGNoYW5nZSBpZiBhbmQgd2hlbiB0aGUgaXNzdWUgaXMgcmVzb2x2ZWQuCisKKyNpbmNsdWRlIDxzZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfY29uc3RhbnRzLmgiCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfZnV0ZXguaCIKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmgiCisKKy8vIEluIHRoaXMgaW1wbGVtZW50YXRpb24sIGEgc2VtYXBob3JlIGNvbnRhaW5zIGEKKy8vIDMxLWJpdCBzaWduZWQgdmFsdWUgYW5kIGEgMS1iaXQgJ3NoYXJlZCcgZmxhZworLy8gKGZvciBwcm9jZXNzLXNoYXJpbmcgcHVycG9zZSkuCisvLworLy8gV2UgdXNlIHRoZSB2YWx1ZSAtMSB0byBpbmRpY2F0ZSBjb250ZW50aW9uIG9uIHRoZQorLy8gc2VtYXBob3JlLCAwIG9yIG1vcmUgdG8gaW5kaWNhdGUgdW5jb250ZW5kZWQgc3RhdGUsCisvLyBhbnkgdmFsdWUgbG93ZXIgdGhhbiAtMiBpcyBpbnZhbGlkIGF0IHJ1bnRpbWUuCisvLworLy8gU3RhdGUgZGlhZ3JhbToKKy8vCisvLyBwb3N0KDEpICA9PT4gMgorLy8gcG9zdCgwKSAgPT0+IDEKKy8vIHBvc3QoLTEpID09PiAxLCB0aGVuIHdha2UgYWxsIHdhaXRlcnMKKy8vCisvLyB3YWl0KDIpICA9PT4gMQorLy8gd2FpdCgxKSAgPT0+IDAKKy8vIHdhaXQoMCkgID09PiAtMSB0aGVuIHdhaXQgZm9yIGEgd2FrZSB1cCArIGxvb3AKKy8vIHdhaXQoLTEpID09PiAtMSB0aGVuIHdhaXQgZm9yIGEgd2FrZSB1cCArIGxvb3AKKworLy8gVXNlIHRoZSB1cHBlciAzMS1iaXRzIGZvciB0aGUgY291bnRlciwgYW5kIHRoZSBsb3dlciBvbmUKKy8vIGZvciB0aGUgc2hhcmVkIGZsYWcuCisjZGVmaW5lIFNFTUNPVU5UX1NIQVJFRF9NQVNLICAgICAgMHgwMDAwMDAwMQorI2RlZmluZSBTRU1DT1VOVF9WQUxVRV9NQVNLICAgICAgIDB4ZmZmZmZmZmUKKyNkZWZpbmUgU0VNQ09VTlRfVkFMVUVfU0hJRlQgICAgICAxCisKKy8vIENvbnZlcnQgYSB2YWx1ZSBpbnRvIHRoZSBjb3JyZXNwb25kaW5nIHNlbS0+Y291bnQgYml0IHBhdHRlcm4uCisjZGVmaW5lIFNFTUNPVU5UX0ZST01fVkFMVUUodmFsKSAgICAoKCh2YWwpIDw8IFNFTUNPVU5UX1ZBTFVFX1NISUZUKSAmIFNFTUNPVU5UX1ZBTFVFX01BU0spCisKKy8vIENvbnZlcnQgYSBzZW0tPmNvdW50IGJpdCBwYXR0ZXJuIGludG8gdGhlIGNvcnJlc3BvbmRpbmcgc2lnbmVkIHZhbHVlLgorc3RhdGljIGlubGluZSBpbnQgU0VNQ09VTlRfVE9fVkFMVUUodW5zaWduZWQgaW50IHN2YWwpIHsKKyAgcmV0dXJuIChzdGF0aWNfY2FzdDxpbnQ+KHN2YWwpID4+IFNFTUNPVU5UX1ZBTFVFX1NISUZUKTsKK30KKworLy8gVGhlIHZhbHVlICsxIGFzIGEgc2VtLT5jb3VudCBiaXQtcGF0dGVybi4KKyNkZWZpbmUgU0VNQ09VTlRfT05FICAgICAgICAgICAgICBTRU1DT1VOVF9GUk9NX1ZBTFVFKDEpCisKKy8vIFRoZSB2YWx1ZSAtMSBhcyBhIHNlbS0+Y291bnQgYml0LXBhdHRlcm4uCisjZGVmaW5lIFNFTUNPVU5UX01JTlVTX09ORSAgICAgICAgU0VNQ09VTlRfRlJPTV9WQUxVRSgtMSkKKworI2RlZmluZSBTRU1DT1VOVF9ERUNSRU1FTlQoc3ZhbCkgICAgKCgoc3ZhbCkgLSAoMVUgPDwgU0VNQ09VTlRfVkFMVUVfU0hJRlQpKSAmIFNFTUNPVU5UX1ZBTFVFX01BU0spCisjZGVmaW5lIFNFTUNPVU5UX0lOQ1JFTUVOVChzdmFsKSAgICAoKChzdmFsKSArICgxVSA8PCBTRU1DT1VOVF9WQUxVRV9TSElGVCkpICYgU0VNQ09VTlRfVkFMVUVfTUFTSykKKworc3RhdGljIGlubGluZSBhdG9taWNfdWludCogU0VNX1RPX0FUT01JQ19QT0lOVEVSKHNlbV90KiBzZW0pIHsKKyAgc3RhdGljX2Fzc2VydChzaXplb2YoYXRvbWljX3VpbnQpID09IHNpemVvZihzZW0tPmNvdW50KSwKKyAgICAgICAgICAgICAgICAic2VtLT5jb3VudCBzaG91bGQgYWN0dWFsbHkgYmUgYXRvbWljX3VpbnQgaW4gaW1wbGVtZW50YXRpb24uIik7CisKKyAgLy8gV2UgcHJlZmVyIGNhc3RpbmcgdG8gYXRvbWljX3VpbnQgaW5zdGVhZCBvZiBkZWNsYXJpbmcgc2VtLT5jb3VudCB0byBiZSBhdG9taWNfdWludCBkaXJlY3RseS4KKyAgLy8gQmVjYXVzZSB1c2luZyB0aGUgc2Vjb25kIG1ldGhvZCBwb2xsdXRlcyBzZW1hcGhvcmUuaC4KKyAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8YXRvbWljX3VpbnQqPigmc2VtLT5jb3VudCk7Cit9CisKKy8vIFJldHVybiB0aGUgc2hhcmVkIGJpdGZsYWcgZnJvbSBhIHNlbWFwaG9yZSBjb3VudGVyLgorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgU0VNX0dFVF9TSEFSRUQoYXRvbWljX3VpbnQqIHNlbV9jb3VudF9wdHIpIHsKKyAgLy8gbWVtb3J5X29yZGVyX3JlbGF4ZWQgaXMgdXNlZCBhcyBTSEFSRUQgZmxhZyB3aWxsIG5vdCBiZSBjaGFuZ2VkIGFmdGVyIGluaXQuCisgIHJldHVybiAoYXRvbWljX2xvYWRfZXhwbGljaXQoc2VtX2NvdW50X3B0ciwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpICYgU0VNQ09VTlRfU0hBUkVEX01BU0spOworfQorCitpbnQgc2VtX2luaXQoc2VtX3QqIHNlbSwgaW50IHBzaGFyZWQsIHVuc2lnbmVkIGludCB2YWx1ZSkgeworICAvLyBFbnN1cmUgdGhhdCAndmFsdWUnIGNhbiBiZSBzdG9yZWQgaW4gdGhlIHNlbWFwaG9yZS4KKyAgaWYgKHZhbHVlID4gU0VNX1ZBTFVFX01BWCkgeworICAgIGVycm5vID0gRUlOVkFMOworICAgIHJldHVybiAtMTsKKyAgfQorCisgIHVuc2lnbmVkIGludCBjb3VudCA9IFNFTUNPVU5UX0ZST01fVkFMVUUodmFsdWUpOworICBpZiAocHNoYXJlZCAhPSAwKSB7CisgICAgY291bnQgfD0gU0VNQ09VTlRfU0hBUkVEX01BU0s7CisgIH0KKworICBhdG9taWNfdWludCogc2VtX2NvdW50X3B0ciA9IFNFTV9UT19BVE9NSUNfUE9JTlRFUihzZW0pOworICBhdG9taWNfaW5pdChzZW1fY291bnRfcHRyLCBjb3VudCk7CisgIHJldHVybiAwOworfQorCitpbnQgc2VtX2Rlc3Ryb3koc2VtX3QqKSB7CisgIHJldHVybiAwOworfQorCitzZW1fdCogc2VtX29wZW4oY29uc3QgY2hhciosIGludCwgLi4uKSB7CisgIGVycm5vID0gRU5PU1lTOworICByZXR1cm4gU0VNX0ZBSUxFRDsKK30KKworaW50IHNlbV9jbG9zZShzZW1fdCopIHsKKyAgZXJybm8gPSBFTk9TWVM7CisgIHJldHVybiAtMTsKK30KKworaW50IHNlbV91bmxpbmsoY29uc3QgY2hhciopIHsKKyAgZXJybm8gPSBFTk9TWVM7CisgIHJldHVybiAtMTsKK30KKworLy8gRGVjcmVtZW50IGEgc2VtYXBob3JlJ3MgdmFsdWUgYXRvbWljYWxseSwKKy8vIGFuZCByZXR1cm4gdGhlIG9sZCBvbmUuIEFzIGEgc3BlY2lhbCBjYXNlLAorLy8gdGhpcyByZXR1cm5zIGltbWVkaWF0ZWx5IGlmIHRoZSB2YWx1ZSBpcworLy8gbmVnYXRpdmUgKGkuZS4gLTEpCitzdGF0aWMgaW50IF9fc2VtX2RlYyhhdG9taWNfdWludCogc2VtX2NvdW50X3B0cikgeworICB1bnNpZ25lZCBpbnQgb2xkX3ZhbHVlID0gYXRvbWljX2xvYWRfZXhwbGljaXQoc2VtX2NvdW50X3B0ciwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICB1bnNpZ25lZCBpbnQgc2hhcmVkID0gb2xkX3ZhbHVlICYgU0VNQ09VTlRfU0hBUkVEX01BU0s7CisKKyAgLy8gVXNlIG1lbW9yeV9vcmRlcl9zZXFfY3N0IGluIGF0b21pY19jb21wYXJlX2V4Y2hhbmdlIG9wZXJhdGlvbiB0byBlbnN1cmUgYWxsCisgIC8vIG1lbW9yeSBhY2Nlc3MgbWFkZSBieSBvdGhlciB0aHJlYWRzIGNhbiBiZSBzZWVuIGluIGN1cnJlbnQgdGhyZWFkLgorICAvLyBBbiBhY3F1aXJlIGZlbmNlIG1heSBiZSBzdWZmaWNpZW50LCBidXQgaXQgaXMgc3RpbGwgaW4gZGlzY3Vzc2lvbiB3aGV0aGVyCisgIC8vIFBPU0lYIHNlbWFwaG9yZXMgc2hvdWxkIHByb3ZpZGUgc2VxdWVudGlhbCBjb25zaXN0ZW5jeS4KKyAgZG8geworICAgIGlmIChTRU1DT1VOVF9UT19WQUxVRShvbGRfdmFsdWUpIDwgMCkgeworICAgICAgYnJlYWs7CisgICAgfQorICB9IHdoaWxlICghYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2VhayhzZW1fY291bnRfcHRyLCAmb2xkX3ZhbHVlLAorICAgICAgICAgICBTRU1DT1VOVF9ERUNSRU1FTlQob2xkX3ZhbHVlKSB8IHNoYXJlZCkpOworCisgIHJldHVybiBTRU1DT1VOVF9UT19WQUxVRShvbGRfdmFsdWUpOworfQorCisvLyBTYW1lIGFzIF9fc2VtX2RlYywgYnV0IHdpbGwgbm90IHRvdWNoIGFueXRoaW5nIGlmIHRoZQorLy8gdmFsdWUgaXMgYWxyZWFkeSBuZWdhdGl2ZSAqb3IqIDAuIFJldHVybnMgdGhlIG9sZCB2YWx1ZS4KK3N0YXRpYyBpbnQgX19zZW1fdHJ5ZGVjKGF0b21pY191aW50KiBzZW1fY291bnRfcHRyKSB7CisgIHVuc2lnbmVkIGludCBvbGRfdmFsdWUgPSBhdG9taWNfbG9hZF9leHBsaWNpdChzZW1fY291bnRfcHRyLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgIHVuc2lnbmVkIGludCBzaGFyZWQgPSBvbGRfdmFsdWUgJiBTRU1DT1VOVF9TSEFSRURfTUFTSzsKKworICAvLyBVc2UgbWVtb3J5X29yZGVyX3NlcV9jc3QgaW4gYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Ugb3BlcmF0aW9uIHRvIGVuc3VyZSBhbGwKKyAgLy8gbWVtb3J5IGFjY2VzcyBtYWRlIGJ5IG90aGVyIHRocmVhZHMgY2FuIGJlIHNlZW4gaW4gY3VycmVudCB0aHJlYWQuCisgIC8vIEFuIGFjcXVpcmUgZmVuY2UgbWF5IGJlIHN1ZmZpY2llbnQsIGJ1dCBpdCBpcyBzdGlsbCBpbiBkaXNjdXNzaW9uIHdoZXRoZXIKKyAgLy8gUE9TSVggc2VtYXBob3JlcyBzaG91bGQgcHJvdmlkZSBzZXF1ZW50aWFsIGNvbnNpc3RlbmN5LgorICBkbyB7CisgICAgaWYgKFNFTUNPVU5UX1RPX1ZBTFVFKG9sZF92YWx1ZSkgPD0gMCkgeworICAgICAgYnJlYWs7CisgICAgfQorICB9IHdoaWxlICghYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2VhayhzZW1fY291bnRfcHRyLCAmb2xkX3ZhbHVlLAorICAgICAgICAgICBTRU1DT1VOVF9ERUNSRU1FTlQob2xkX3ZhbHVlKSB8IHNoYXJlZCkpOworCisgIHJldHVybiBTRU1DT1VOVF9UT19WQUxVRShvbGRfdmFsdWUpOworfQorCisvLyAiSW5jcmVtZW50IiB0aGUgdmFsdWUgb2YgYSBzZW1hcGhvcmUgYXRvbWljYWxseSBhbmQKKy8vIHJldHVybiBpdHMgb2xkIHZhbHVlLiBOb3RlIHRoYXQgdGhpcyBpbXBsZW1lbnRzCisvLyB0aGUgc3BlY2lhbCBjYXNlIG9mICJpbmNyZW1lbnRpbmciIGFueSBuZWdhdGl2ZQorLy8gdmFsdWUgdG8gKzEgZGlyZWN0bHkuCisvLworLy8gTk9URTogVGhlIHZhbHVlIHdpbGwgX25vdF8gd3JhcCBhYm92ZSBTRU1fVkFMVUVfTUFYCitzdGF0aWMgaW50IF9fc2VtX2luYyhhdG9taWNfdWludCogc2VtX2NvdW50X3B0cikgeworICB1bnNpZ25lZCBpbnQgb2xkX3ZhbHVlID0gYXRvbWljX2xvYWRfZXhwbGljaXQoc2VtX2NvdW50X3B0ciwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICB1bnNpZ25lZCBpbnQgc2hhcmVkID0gb2xkX3ZhbHVlICAmIFNFTUNPVU5UX1NIQVJFRF9NQVNLOworICB1bnNpZ25lZCBpbnQgbmV3X3ZhbHVlOworCisgIC8vIFVzZSBtZW1vcnlfb3JkZXJfc2VxX2NzdCBpbiBhdG9taWNfY29tcGFyZV9leGNoYW5nZSBvcGVyYXRpb24gdG8gZW5zdXJlIGFsbAorICAvLyBtZW1vcnkgYWNjZXNzIG1hZGUgYmVmb3JlIGNhbiBiZSBzZWVuIGluIG90aGVyIHRocmVhZHMuCisgIC8vIEEgcmVsZWFzZSBmZW5jZSBtYXkgYmUgc3VmZmljaWVudCwgYnV0IGl0IGlzIHN0aWxsIGluIGRpc2N1c3Npb24gd2hldGhlcgorICAvLyBQT1NJWCBzZW1hcGhvcmVzIHNob3VsZCBwcm92aWRlIHNlcXVlbnRpYWwgY29uc2lzdGVuY3kuCisgIGRvIHsKKyAgICAvLyBDYW4ndCBnbyBoaWdoZXIgdGhhbiBTRU1fVkFMVUVfTUFYLgorICAgIGlmIChTRU1DT1VOVF9UT19WQUxVRShvbGRfdmFsdWUpID09IFNFTV9WQUxVRV9NQVgpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKworICAgIC8vIElmIHRoZSBjb3VudGVyIGlzIG5lZ2F0aXZlLCBnbyBkaXJlY3RseSB0byBvbmUsIG90aGVyd2lzZSBqdXN0IGluY3JlbWVudC4KKyAgICBpZiAoU0VNQ09VTlRfVE9fVkFMVUUob2xkX3ZhbHVlKSA8IDApIHsKKyAgICAgIG5ld192YWx1ZSA9IFNFTUNPVU5UX09ORSB8IHNoYXJlZDsKKyAgICB9IGVsc2UgeworICAgICAgbmV3X3ZhbHVlID0gU0VNQ09VTlRfSU5DUkVNRU5UKG9sZF92YWx1ZSkgfCBzaGFyZWQ7CisgICAgfQorICB9IHdoaWxlICghYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2VhayhzZW1fY291bnRfcHRyLCAmb2xkX3ZhbHVlLAorICAgICAgICAgICBuZXdfdmFsdWUpKTsKKworICByZXR1cm4gU0VNQ09VTlRfVE9fVkFMVUUob2xkX3ZhbHVlKTsKK30KKworaW50IHNlbV93YWl0KHNlbV90KiBzZW0pIHsKKyAgYXRvbWljX3VpbnQqIHNlbV9jb3VudF9wdHIgPSBTRU1fVE9fQVRPTUlDX1BPSU5URVIoc2VtKTsKKyAgdW5zaWduZWQgaW50IHNoYXJlZCA9IFNFTV9HRVRfU0hBUkVEKHNlbV9jb3VudF9wdHIpOworCisgIHdoaWxlICh0cnVlKSB7CisgICAgaWYgKF9fc2VtX2RlYyhzZW1fY291bnRfcHRyKSA+IDApIHsKKyAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIF9fZnV0ZXhfd2FpdF9leChzZW1fY291bnRfcHRyLCBzaGFyZWQsIHNoYXJlZCB8IFNFTUNPVU5UX01JTlVTX09ORSwgTlVMTCk7CisgIH0KK30KKworaW50IHNlbV90aW1lZHdhaXQoc2VtX3QqIHNlbSwgY29uc3QgdGltZXNwZWMqIGFic190aW1lb3V0KSB7CisgIGF0b21pY191aW50KiBzZW1fY291bnRfcHRyID0gU0VNX1RPX0FUT01JQ19QT0lOVEVSKHNlbSk7CisKKyAgLy8gUE9TSVggc2F5cyB3ZSBuZWVkIHRvIHRyeSB0byBkZWNyZW1lbnQgdGhlIHNlbWFwaG9yZQorICAvLyBiZWZvcmUgY2hlY2tpbmcgdGhlIHRpbWVvdXQgdmFsdWUuIE5vdGUgdGhhdCBpZiB0aGUKKyAgLy8gdmFsdWUgaXMgY3VycmVudGx5IDAsIF9fc2VtX3RyeWRlYygpIGRvZXMgbm90aGluZy4KKyAgaWYgKF9fc2VtX3RyeWRlYyhzZW1fY291bnRfcHRyKSA+IDApIHsKKyAgICByZXR1cm4gMDsKKyAgfQorCisgIC8vIENoZWNrIGl0IGFzIHBlciBQT1NJWC4KKyAgaWYgKGFic190aW1lb3V0ID09IE5VTEwgfHwgYWJzX3RpbWVvdXQtPnR2X3NlYyA8IDAgfHwgYWJzX3RpbWVvdXQtPnR2X25zZWMgPCAwIHx8IGFic190aW1lb3V0LT50dl9uc2VjID49IE5TX1BFUl9TKSB7CisgICAgZXJybm8gPSBFSU5WQUw7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgdW5zaWduZWQgaW50IHNoYXJlZCA9IFNFTV9HRVRfU0hBUkVEKHNlbV9jb3VudF9wdHIpOworCisgIHdoaWxlICh0cnVlKSB7CisgICAgLy8gUE9TSVggbWFuZGF0ZXMgQ0xPQ0tfUkVBTFRJTUUgaGVyZS4KKyAgICB0aW1lc3BlYyB0czsKKyAgICBpZiAoIXRpbWVzcGVjX2Zyb21fYWJzb2x1dGVfdGltZXNwZWModHMsICphYnNfdGltZW91dCwgQ0xPQ0tfUkVBTFRJTUUpKSB7CisgICAgICBlcnJubyA9IEVUSU1FRE9VVDsKKyAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvLyBUcnkgdG8gZ3JhYiB0aGUgc2VtYXBob3JlLiBJZiB0aGUgdmFsdWUgd2FzIDAsIHRoaXMgd2lsbCBhbHNvIGNoYW5nZSBpdCB0byAtMS4KKyAgICBpZiAoX19zZW1fZGVjKHNlbV9jb3VudF9wdHIpID4gMCkgeworICAgICAgYnJlYWs7CisgICAgfQorCisgICAgLy8gQ29udGVudGlvbiBkZXRlY3RlZC4gV2FpdCBmb3IgYSB3YWtldXAgZXZlbnQuCisgICAgaW50IHJldCA9IF9fZnV0ZXhfd2FpdF9leChzZW1fY291bnRfcHRyLCBzaGFyZWQsIHNoYXJlZCB8IFNFTUNPVU5UX01JTlVTX09ORSwgJnRzKTsKKworICAgIC8vIFJldHVybiBpbiBjYXNlIG9mIHRpbWVvdXQgb3IgaW50ZXJydXB0LgorICAgIGlmIChyZXQgPT0gLUVUSU1FRE9VVCB8fCByZXQgPT0gLUVJTlRSKSB7CisgICAgICBlcnJubyA9IC1yZXQ7CisgICAgICByZXR1cm4gLTE7CisgICAgfQorICB9CisgIHJldHVybiAwOworfQorCitpbnQgc2VtX3Bvc3Qoc2VtX3QqIHNlbSkgeworICBhdG9taWNfdWludCogc2VtX2NvdW50X3B0ciA9IFNFTV9UT19BVE9NSUNfUE9JTlRFUihzZW0pOworICB1bnNpZ25lZCBpbnQgc2hhcmVkID0gU0VNX0dFVF9TSEFSRUQoc2VtX2NvdW50X3B0cik7CisKKyAgaW50IG9sZF92YWx1ZSA9IF9fc2VtX2luYyhzZW1fY291bnRfcHRyKTsKKyAgaWYgKG9sZF92YWx1ZSA8IDApIHsKKyAgICAvLyBDb250ZW50aW9uIG9uIHRoZSBzZW1hcGhvcmUuIFdha2UgdXAgYWxsIHdhaXRlcnMuCisgICAgX19mdXRleF93YWtlX2V4KHNlbV9jb3VudF9wdHIsIHNoYXJlZCwgSU5UX01BWCk7CisgIH0gZWxzZSBpZiAob2xkX3ZhbHVlID09IFNFTV9WQUxVRV9NQVgpIHsKKyAgICAvLyBPdmVyZmxvdyBkZXRlY3RlZC4KKyAgICBlcnJubyA9IEVPVkVSRkxPVzsKKyAgICByZXR1cm4gLTE7CisgIH0KKworICByZXR1cm4gMDsKK30KKworaW50IHNlbV90cnl3YWl0KHNlbV90KiBzZW0pIHsKKyAgYXRvbWljX3VpbnQqIHNlbV9jb3VudF9wdHIgPSBTRU1fVE9fQVRPTUlDX1BPSU5URVIoc2VtKTsKKyAgaWYgKF9fc2VtX3RyeWRlYyhzZW1fY291bnRfcHRyKSA+IDApIHsKKyAgICByZXR1cm4gMDsKKyAgfSBlbHNlIHsKKyAgICBlcnJubyA9IEVBR0FJTjsKKyAgICByZXR1cm4gLTE7CisgIH0KK30KKworaW50IHNlbV9nZXR2YWx1ZShzZW1fdCogc2VtLCBpbnQqIHN2YWwpIHsKKyAgYXRvbWljX3VpbnQqIHNlbV9jb3VudF9wdHIgPSBTRU1fVE9fQVRPTUlDX1BPSU5URVIoc2VtKTsKKworICAvLyBVc2UgbWVtb3J5X29yZGVyX3NlcV9jc3QgaW4gYXRvbWljX2xvYWQgb3BlcmF0aW9uLgorICAvLyBtZW1vcnlfb3JkZXJfcmVsYXhlZCBtYXkgYmUgZmluZSBoZXJlLCBidXQgaXQgaXMgc3RpbGwgaW4gZGlzY3Vzc2lvbgorICAvLyB3aGV0aGVyIFBPU0lYIHNlbWFwaG9yZXMgc2hvdWxkIHByb3ZpZGUgc2VxdWVudGlhbCBjb25zaXN0ZW5jeS4KKyAgaW50IHZhbCA9IFNFTUNPVU5UX1RPX1ZBTFVFKGF0b21pY19sb2FkKHNlbV9jb3VudF9wdHIpKTsKKyAgaWYgKHZhbCA8IDApIHsKKyAgICB2YWwgPSAwOworICB9CisKKyAgKnN2YWwgPSB2YWw7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc2lnYWRkc2V0LmNwcCBiL2xpYmMvYmlvbmljL3NpZ2FkZHNldC5jcHAKaW5kZXggMzNlYzZmOC4uY2E2Yjk4MiAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc2lnYWRkc2V0LmNwcAorKysgYi9saWJjL2Jpb25pYy9zaWdhZGRzZXQuY3BwCkBAIC0yNiwxMiArMjYsMTMgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogCiBpbnQgc2lnYWRkc2V0KHNpZ3NldF90KiBzZXQsIGludCBzaWdudW0pIHsKICAgaW50IGJpdCA9IHNpZ251bSAtIDE7IC8vIFNpZ25hbCBudW1iZXJzIHN0YXJ0IGF0IDEsIGJ1dCBiaXQgcG9zaXRpb25zIHN0YXJ0IGF0IDAuCi0gIHVuc2lnbmVkIGxvbmcqIGxvY2FsX3NldCA9ICh1bnNpZ25lZCBsb25nKikgc2V0OwotICBpZiAoc2V0ID09IE5VTEwgfHwgYml0IDwgMCB8fCBiaXQgPj0gKGludCkgKDgqc2l6ZW9mKHNpZ3NldF90KSkpIHsKKyAgdW5zaWduZWQgbG9uZyogbG9jYWxfc2V0ID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBsb25nKj4oc2V0KTsKKyAgaWYgKHNldCA9PSBOVUxMIHx8IGJpdCA8IDAgfHwgYml0ID49IHN0YXRpY19jYXN0PGludD4oOCpzaXplb2Yoc2lnc2V0X3QpKSkgewogICAgIGVycm5vID0gRUlOVkFMOwogICAgIHJldHVybiAtMTsKICAgfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc2lnZGVsc2V0LmNwcCBiL2xpYmMvYmlvbmljL3NpZ2RlbHNldC5jcHAKaW5kZXggOWVlYTI1MC4uNDgzNjNkMyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc2lnZGVsc2V0LmNwcAorKysgYi9saWJjL2Jpb25pYy9zaWdkZWxzZXQuY3BwCkBAIC0yNiwxMiArMjYsMTMgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogCiBpbnQgc2lnZGVsc2V0KHNpZ3NldF90KiBzZXQsIGludCBzaWdudW0pIHsKICAgaW50IGJpdCA9IHNpZ251bSAtIDE7IC8vIFNpZ25hbCBudW1iZXJzIHN0YXJ0IGF0IDEsIGJ1dCBiaXQgcG9zaXRpb25zIHN0YXJ0IGF0IDAuCi0gIHVuc2lnbmVkIGxvbmcqIGxvY2FsX3NldCA9ICh1bnNpZ25lZCBsb25nKikgc2V0OwotICBpZiAoc2V0ID09IE5VTEwgfHwgYml0IDwgMCB8fCBiaXQgPj0gKGludCkgKDgqc2l6ZW9mKHNpZ3NldF90KSkpIHsKKyAgdW5zaWduZWQgbG9uZyogbG9jYWxfc2V0ID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBsb25nKj4oc2V0KTsKKyAgaWYgKHNldCA9PSBOVUxMIHx8IGJpdCA8IDAgfHwgYml0ID49IHN0YXRpY19jYXN0PGludD4oOCpzaXplb2Yoc2lnc2V0X3QpKSkgewogICAgIGVycm5vID0gRUlOVkFMOwogICAgIHJldHVybiAtMTsKICAgfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc2lnZW1wdHlzZXQuY3BwIGIvbGliYy9iaW9uaWMvc2lnZW1wdHlzZXQuY3BwCmluZGV4IDI5OTMxNjkuLjU4MTY2YTEgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3NpZ2VtcHR5c2V0LmNwcAorKysgYi9saWJjL2Jpb25pYy9zaWdlbXB0eXNldC5jcHAKQEAgLTI2LDcgKzI2LDkgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiBpbnQgc2lnZW1wdHlzZXQoc2lnc2V0X3QqIHNldCkgewogICBpZiAoc2V0ID09IE5VTEwpIHsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3NpZ2ZpbGxzZXQuY3BwIGIvbGliYy9iaW9uaWMvc2lnZmlsbHNldC5jcHAKaW5kZXggN2I3Y2JiOC4uY2I2NzM5NCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc2lnZmlsbHNldC5jcHAKKysrIGIvbGliYy9iaW9uaWMvc2lnZmlsbHNldC5jcHAKQEAgLTI2LDcgKzI2LDkgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiBpbnQgc2lnZmlsbHNldChzaWdzZXRfdCogc2V0KSB7CiAgIGlmIChzZXQgPT0gTlVMTCkgewpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc2lnaXNtZW1iZXIuY3BwIGIvbGliYy9iaW9uaWMvc2lnaXNtZW1iZXIuY3BwCmluZGV4IDBkYzczYWMuLjlkMWZjM2MgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3NpZ2lzbWVtYmVyLmNwcAorKysgYi9saWJjL2Jpb25pYy9zaWdpc21lbWJlci5jcHAKQEAgLTI2LDE0ICsyNiwxNSBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAKIGludCBzaWdpc21lbWJlcihjb25zdCBzaWdzZXRfdCogc2V0LCBpbnQgc2lnbnVtKSB7CiAgIGludCBiaXQgPSBzaWdudW0gLSAxOyAvLyBTaWduYWwgbnVtYmVycyBzdGFydCBhdCAxLCBidXQgYml0IHBvc2l0aW9ucyBzdGFydCBhdCAwLgotICBjb25zdCB1bnNpZ25lZCBsb25nKiBsb2NhbF9zZXQgPSAoY29uc3QgdW5zaWduZWQgbG9uZyopIHNldDsKLSAgaWYgKHNldCA9PSBOVUxMIHx8IGJpdCA8IDAgfHwgYml0ID49IChpbnQpICg4KnNpemVvZihzaWdzZXRfdCkpKSB7CisgIGNvbnN0IHVuc2lnbmVkIGxvbmcqIGxvY2FsX3NldCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgbG9uZyo+KHNldCk7CisgIGlmIChzZXQgPT0gTlVMTCB8fCBiaXQgPCAwIHx8IGJpdCA+PSBzdGF0aWNfY2FzdDxpbnQ+KDgqc2l6ZW9mKHNpZ3NldF90KSkpIHsKICAgICBlcnJubyA9IEVJTlZBTDsKICAgICByZXR1cm4gLTE7CiAgIH0KLSAgcmV0dXJuIChpbnQpICgobG9jYWxfc2V0W2JpdCAvIExPTkdfQklUXSA+PiAoYml0ICUgTE9OR19CSVQpKSAmIDEpOworICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PigobG9jYWxfc2V0W2JpdCAvIExPTkdfQklUXSA+PiAoYml0ICUgTE9OR19CSVQpKSAmIDEpOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc2lnbmFsLmNwcCBiL2xpYmMvYmlvbmljL3NpZ25hbC5jcHAKaW5kZXggNjZkNzViZC4uNzRhMmY2NSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc2lnbmFsLmNwcAorKysgYi9saWJjL2Jpb25pYy9zaWduYWwuY3BwCkBAIC00Myw3ICs0Myw3IEBACiAgICAgcmV0dXJuIFNJR19FUlI7CiAgIH0KIAotICByZXR1cm4gKHNpZ2hhbmRsZXJfdCkgc2Euc2FfaGFuZGxlcjsKKyAgcmV0dXJuIHNhLnNhX2hhbmRsZXI7CiB9CiAKIHNpZ2hhbmRsZXJfdCBzaWduYWwoaW50IHNpZ251bSwgc2lnaGFuZGxlcl90IGhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3NpZ3F1ZXVlLmNwcCBiL2xpYmMvYmlvbmljL3NpZ3F1ZXVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWM4Nzk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvc2lncXVldWUuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCitleHRlcm4gIkMiIGludCBfX3J0X3NpZ3F1ZXVlaW5mbyhwaWRfdCwgaW50LCBzaWdpbmZvX3QqKTsKKworaW50IHNpZ3F1ZXVlKHBpZF90IHBpZCwgaW50IHNpZ25vLCBjb25zdCBzaWd2YWwgdmFsdWUpIHsKKyAgc2lnaW5mb190IGluZm87CisgIG1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHNpZ2luZm9fdCkpOworICBpbmZvLnNpX3NpZ25vID0gc2lnbm87CisgIGluZm8uc2lfY29kZSA9IFNJX1FVRVVFOworICBpbmZvLnNpX3BpZCA9IGdldHBpZCgpOworICBpbmZvLnNpX3VpZCA9IGdldHVpZCgpOworICBpbmZvLnNpX3ZhbHVlID0gdmFsdWU7CisKKyAgcmV0dXJuIF9fcnRfc2lncXVldWVpbmZvKHBpZCwgc2lnbm8sICZpbmZvKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3NpZ3RpbWVkd2FpdC5jcHAgYi9saWJjL2Jpb25pYy9zaWd0aW1lZHdhaXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyOWY4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Jpb25pYy9zaWd0aW1lZHdhaXQuY3BwCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHNpZ25hbC5oPgorCisjaW5jbHVkZSAicHJpdmF0ZS9rZXJuZWxfc2lnc2V0X3QuaCIKKworZXh0ZXJuICJDIiBpbnQgX19ydF9zaWd0aW1lZHdhaXQoY29uc3Qgc2lnc2V0X3QqLCBzaWdpbmZvX3QqLCBjb25zdCB0aW1lc3BlYyosIHNpemVfdCk7CisKK2ludCBzaWd0aW1lZHdhaXQoY29uc3Qgc2lnc2V0X3QqIHNldCwgc2lnaW5mb190KiBpbmZvLCBjb25zdCB0aW1lc3BlYyogdGltZW91dCkgeworICBrZXJuZWxfc2lnc2V0X3Qgc2lnc2V0KHNldCk7CisgIHJldHVybiBfX3J0X3NpZ3RpbWVkd2FpdChzaWdzZXQuZ2V0KCksIGluZm8sIHRpbWVvdXQsIHNpemVvZihzaWdzZXQpKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3NpZ3dhaXRpbmZvLmNwcCBiL2xpYmMvYmlvbmljL3NpZ3dhaXRpbmZvLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2UyMzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvc2lnd2FpdGluZm8uY3BwCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHNpZ25hbC5oPgorCitpbnQgc2lnd2FpdGluZm8oY29uc3Qgc2lnc2V0X3QqIHNldCwgc2lnaW5mb190KiBpbmZvKSB7CisgIHJldHVybiBzaWd0aW1lZHdhaXQoc2V0LCBpbmZvLCBOVUxMKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0YXR2ZnMuY3BwIGIvbGliYy9iaW9uaWMvc3RhdHZmcy5jcHAKaW5kZXggZjFlMjgzMy4uMzlmZmI2NCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc3RhdHZmcy5jcHAKKysrIGIvbGliYy9iaW9uaWMvc3RhdHZmcy5jcHAKQEAgLTIxLDEzICsyMSwxNyBAQAogLy8gUGFwZXIgb3ZlciB0aGUgZmFjdCB0aGF0IDMyLWJpdCBrZXJuZWxzIHVzZSBmc3RhdGZzNjQvc3RhdGZzNjQgd2l0aCBhbiBleHRyYSBhcmd1bWVudCwKIC8vIGJ1dCA2NC1iaXQga2VybmVscyBkb24ndCBoYXZlIHRoZSAiNjQiIGJpdCBzdWZmaXggb3IgdGhlIGV4dHJhIHNpemVfdCBhcmd1bWVudC4KICNpZiBfX0xQNjRfXwotIyAgZGVmaW5lIF9fZnN0YXRmczY0KGZkLHNpemUsYnVmKSBmc3RhdGZzKGZkLGJ1ZikKLSMgIGRlZmluZSBfX3N0YXRmczY0KHBhdGgsc2l6ZSxidWYpIHN0YXRmcyhwYXRoLGJ1ZikKK2V4dGVybiAiQyIgaW50IF9fZnN0YXRmcyhpbnQsIHN0cnVjdCBzdGF0ZnMqKTsKK2V4dGVybiAiQyIgaW50IF9fc3RhdGZzKGNvbnN0IGNoYXIqLCBzdHJ1Y3Qgc3RhdGZzKik7CisjICBkZWZpbmUgX19mc3RhdGZzNjQoZmQsc2l6ZSxidWYpIF9fZnN0YXRmcyhmZCxidWYpCisjICBkZWZpbmUgX19zdGF0ZnM2NChwYXRoLHNpemUsYnVmKSBfX3N0YXRmcyhwYXRoLGJ1ZikKICNlbHNlCiBleHRlcm4gIkMiIGludCBfX2ZzdGF0ZnM2NChpbnQsIHNpemVfdCwgc3RydWN0IHN0YXRmcyopOwogZXh0ZXJuICJDIiBpbnQgX19zdGF0ZnM2NChjb25zdCBjaGFyKiwgc2l6ZV90LCBzdHJ1Y3Qgc3RhdGZzKik7CiAjZW5kaWYKIAorLy8gVGhlIGtlcm5lbCBzZXRzIGEgcHJpdmF0ZSBTVF9WQUxJRCBmbGFnIHRvIHNpZ25hbCB0byB0aGUgQyBsaWJyYXJ5IHdoZXRoZXIgdGhlCisvLyBmX2ZsYWdzIGZpZWxkIGlzIHZhbGlkLiBUaGlzIGZsYWcgc2hvdWxkIG5vdCBiZSBleHBvc2VkIHRvIHVzZXJzIG9mIHRoZSBDIGxpYnJhcnkuCiAjZGVmaW5lIFNUX1ZBTElEIDB4MDAyMAogCiBzdGF0aWMgdm9pZCBfX3N0YXRmc190b19zdGF0dmZzKGNvbnN0IHN0cnVjdCBzdGF0ZnMmIGluLCBzdHJ1Y3Qgc3RhdHZmcyogb3V0KSB7CkBAIC00MCwxMyArNDQsMzMgQEAKICAgb3V0LT5mX2ZmcmVlID0gaW4uZl9mZnJlZTsKICAgb3V0LT5mX2ZhdmFpbCA9IGluLmZfZmZyZWU7CiAgIG91dC0+Zl9mc2lkID0gaW4uZl9mc2lkLl9fdmFsWzBdIHwgKHN0YXRpY19jYXN0PHVpbnQ2NF90Pihpbi5mX2ZzaWQuX192YWxbMV0pIDw8IDMyKTsKLSAgb3V0LT5mX2ZsYWcgPSBpbi5mX2ZsYWdzICYgflNUX1ZBTElEOworICBvdXQtPmZfZmxhZyA9IGluLmZfZmxhZ3M7CiAgIG91dC0+Zl9uYW1lbWF4ID0gaW4uZl9uYW1lbGVuOwogfQogCitpbnQgZnN0YXRmcyhpbnQgZmQsIHN0cnVjdCBzdGF0ZnMqIHJlc3VsdCkgeworICBpbnQgcmMgPSBfX2ZzdGF0ZnM2NChmZCwgc2l6ZW9mKCpyZXN1bHQpLCByZXN1bHQpOworICBpZiAocmMgIT0gMCkgeworICAgIHJldHVybiByYzsKKyAgfQorICByZXN1bHQtPmZfZmxhZ3MgJj0gflNUX1ZBTElEOworICByZXR1cm4gMDsKK30KK19fc3Ryb25nX2FsaWFzKGZzdGF0ZnM2NCwgZnN0YXRmcyk7CisKK2ludCBzdGF0ZnMoY29uc3QgY2hhciogcGF0aCwgc3RydWN0IHN0YXRmcyogcmVzdWx0KSB7CisgIGludCByYyA9IF9fc3RhdGZzNjQocGF0aCwgc2l6ZW9mKCpyZXN1bHQpLCByZXN1bHQpOworICBpZiAocmMgIT0gMCkgeworICAgIHJldHVybiByYzsKKyAgfQorICByZXN1bHQtPmZfZmxhZ3MgJj0gflNUX1ZBTElEOworICByZXR1cm4gMDsKK30KK19fc3Ryb25nX2FsaWFzKHN0YXRmczY0LCBzdGF0ZnMpOworCiBpbnQgc3RhdHZmcyhjb25zdCBjaGFyKiBwYXRoLCBzdHJ1Y3Qgc3RhdHZmcyogcmVzdWx0KSB7CiAgIHN0cnVjdCBzdGF0ZnMgdG1wOwotICBpbnQgcmMgPSBfX3N0YXRmczY0KHBhdGgsIHNpemVvZih0bXApLCAmdG1wKTsKKyAgaW50IHJjID0gc3RhdGZzKHBhdGgsICZ0bXApOwogICBpZiAocmMgIT0gMCkgewogICAgIHJldHVybiByYzsKICAgfQpAQCAtNTcsNyArODEsNyBAQAogCiBpbnQgZnN0YXR2ZnMoaW50IGZkLCBzdHJ1Y3Qgc3RhdHZmcyogcmVzdWx0KSB7CiAgIHN0cnVjdCBzdGF0ZnMgdG1wOwotICBpbnQgcmMgPSBfX2ZzdGF0ZnM2NChmZCwgc2l6ZW9mKHRtcCksICZ0bXApOworICBpbnQgcmMgPSBmc3RhdGZzKGZkLCAmdG1wKTsKICAgaWYgKHJjICE9IDApIHsKICAgICByZXR1cm4gcmM7CiAgIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0cmNvbGxfbC5jcHAgYi9saWJjL2Jpb25pYy9zdHJjb2xsX2wuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDdjMjhiLi4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL3N0cmNvbGxfbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotaW50IHN0cmNvbGxfbChjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIsIGxvY2FsZV90KSB7Ci0gIHJldHVybiBzdHJjb2xsKHMxLCBzMik7Ci19CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9zdHJlcnJvci5jcHAgYi9saWJjL2Jpb25pYy9zdHJlcnJvci5jcHAKaW5kZXggZDE1MThmZi4uZjc0MTk0ZiAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc3RyZXJyb3IuY3BwCisrKyBiL2xpYmMvYmlvbmljL3N0cmVycm9yLmNwcApAQCAtMzEsMTYgKzMxLDE2IEBACiAKIGV4dGVybiAiQyIgY29uc3QgY2hhciogX19zdHJlcnJvcl9sb29rdXAoaW50KTsKIAotR0xPQkFMX0lOSVRfVEhSRUFEX0xPQ0FMX0JVRkZFUihzdHJlcnJvcik7CitzdGF0aWMgVGhyZWFkTG9jYWxCdWZmZXI8Y2hhciwgTkxfVEVYVE1BWD4gZ19zdHJlcnJvcl90bHNfYnVmZmVyOwogCiBjaGFyKiBzdHJlcnJvcihpbnQgZXJyb3JfbnVtYmVyKSB7CiAgIC8vIEp1c3QgcmV0dXJuIHRoZSBvcmlnaW5hbCBjb25zdGFudCBpbiB0aGUgZWFzeSBjYXNlcy4KICAgY2hhciogcmVzdWx0ID0gY29uc3RfY2FzdDxjaGFyKj4oX19zdHJlcnJvcl9sb29rdXAoZXJyb3JfbnVtYmVyKSk7Ci0gIGlmIChyZXN1bHQgIT0gTlVMTCkgeworICBpZiAocmVzdWx0ICE9IG51bGxwdHIpIHsKICAgICByZXR1cm4gcmVzdWx0OwogICB9CiAKLSAgTE9DQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSKGNoYXIqLCBzdHJlcnJvciwgTkxfVEVYVE1BWCk7Ci0gIHN0cmVycm9yX3IoZXJyb3JfbnVtYmVyLCBzdHJlcnJvcl90bHNfYnVmZmVyLCBzdHJlcnJvcl90bHNfYnVmZmVyX3NpemUpOwotICByZXR1cm4gc3RyZXJyb3JfdGxzX2J1ZmZlcjsKKyAgcmVzdWx0ID0gZ19zdHJlcnJvcl90bHNfYnVmZmVyLmdldCgpOworICBzdHJlcnJvcl9yKGVycm9yX251bWJlciwgcmVzdWx0LCBnX3N0cmVycm9yX3Rsc19idWZmZXIuc2l6ZSgpKTsKKyAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0cmVycm9yX3IuY3BwIGIvbGliYy9iaW9uaWMvc3RyZXJyb3Jfci5jcHAKaW5kZXggMWU1N2NjMC4uZDQxOWZiMSAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc3RyZXJyb3Jfci5jcHAKKysrIGIvbGliYy9iaW9uaWMvc3RyZXJyb3Jfci5jcHAKQEAgLTEsMTEgKzEsMTYgQEAKIC8qICRPcGVuQlNEOiBzdHJlcnJvcl9yLmMsdiAxLjYgMjAwNS8wOC8wOCAwODowNTozNyBlc3BpZSBFeHAgJCAqLwogLyogUHVibGljIERvbWFpbiA8bWFyY0BzbmFmdS5vcmc+ICovCiAKKy8vIEcrKyBhdXRvbWF0aWNhbGx5IGRlZmluZXMgX0dOVV9TT1VSQ0UsIHdoaWNoIHRoZW4gbWVhbnMgdGhhdCA8c3RyaW5nLmg+CisvLyBnaXZlcyB1cyB0aGUgR05VIHZhcmlhbnQuCisjdW5kZWYgX0dOVV9TT1VSQ0UKKworI2luY2x1ZGUgPHN0cmluZy5oPgorCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaW5jbHVkZSAicHJpdmF0ZS9FcnJub1Jlc3RvcmVyLmgiCiAjaW5jbHVkZSAicHJpdmF0ZS9saWJjX2xvZ2dpbmcuaCIKQEAgLTYyLDYgKzY3LDEyIEBACiAgIHJldHVybiAwOwogfQogCitleHRlcm4gIkMiIGNoYXIqIF9fZ251X3N0cmVycm9yX3IoaW50IGVycm9yX251bWJlciwgY2hhciogYnVmLCBzaXplX3QgYnVmX2xlbikgeworICBFcnJub1Jlc3RvcmVyIGVycm5vX3Jlc3RvcmVyOyAvLyBUaGUgZ2xpYmMgc3RyZXJyb3JfciBkb2Vzbid0IHNldCBlcnJubyBpZiBpdCB0cnVuY2F0ZXMuLi4KKyAgc3RyZXJyb3JfcihlcnJvcl9udW1iZXIsIGJ1ZiwgYnVmX2xlbik7CisgIHJldHVybiBidWY7IC8vIC4uLmFuZCBqdXN0IHJldHVybnMgd2hhdGV2ZXIgZml0LgorfQorCiBleHRlcm4gIkMiIF9fTElCQ19ISURERU5fXyBjb25zdCBjaGFyKiBfX3N0cnNpZ25hbChpbnQgc2lnbmFsX251bWJlciwgY2hhciogYnVmLCBzaXplX3QgYnVmX2xlbikgewogICBjb25zdCBjaGFyKiBzaWduYWxfbmFtZSA9IF9fc3Ryc2lnbmFsX2xvb2t1cChzaWduYWxfbnVtYmVyKTsKICAgaWYgKHNpZ25hbF9uYW1lICE9IE5VTEwpIHsKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0cmZ0aW1lX2wuY3BwIGIvbGliYy9iaW9uaWMvc3RyZnRpbWVfbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiMDFkYTUuLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvc3RyZnRpbWVfbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDx0aW1lLmg+Ci0KLXNpemVfdCBzdHJmdGltZV9sKGNoYXIgKnMsIHNpemVfdCBtYXgsIGNvbnN0IGNoYXIgKmZvcm1hdCwgY29uc3Qgc3RydWN0IHRtICp0bSwKLSAgICAgICAgICAgICAgICAgIGxvY2FsZV90KSB7Ci0gIHJldHVybiBzdHJmdGltZShzLCBtYXgsIGZvcm1hdCwgdG0pOwotfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc3Ryc2lnbmFsLmNwcCBiL2xpYmMvYmlvbmljL3N0cnNpZ25hbC5jcHAKaW5kZXggOWYwMTkzYS4uYzM4OWRkZCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc3Ryc2lnbmFsLmNwcAorKysgYi9saWJjL2Jpb25pYy9zdHJzaWduYWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiBleHRlcm4gIkMiIGNvbnN0IGNoYXIqIF9fc3Ryc2lnbmFsX2xvb2t1cChpbnQpOwogZXh0ZXJuICJDIiBjb25zdCBjaGFyKiBfX3N0cnNpZ25hbChpbnQsIGNoYXIqLCBzaXplX3QpOwogCi1HTE9CQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSKHN0cnNpZ25hbCk7CitzdGF0aWMgVGhyZWFkTG9jYWxCdWZmZXI8Y2hhciwgTkxfVEVYVE1BWD4gZ19zdHJzaWduYWxfdGxzX2J1ZmZlcjsKIAogY2hhciogc3Ryc2lnbmFsKGludCBzaWduYWxfbnVtYmVyKSB7CiAgIC8vIEp1c3QgcmV0dXJuIHRoZSBvcmlnaW5hbCBjb25zdGFudCBpbiB0aGUgZWFzeSBjYXNlcy4KQEAgLTQxLDYgKzQxLDYgQEAKICAgICByZXR1cm4gcmVzdWx0OwogICB9CiAKLSAgTE9DQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSKGNoYXIqLCBzdHJzaWduYWwsIE5MX1RFWFRNQVgpOwotICByZXR1cm4gY29uc3RfY2FzdDxjaGFyKj4oX19zdHJzaWduYWwoc2lnbmFsX251bWJlciwgc3Ryc2lnbmFsX3Rsc19idWZmZXIsIHN0cnNpZ25hbF90bHNfYnVmZmVyX3NpemUpKTsKKyAgcmV0dXJuIGNvbnN0X2Nhc3Q8Y2hhcio+KF9fc3Ryc2lnbmFsKHNpZ25hbF9udW1iZXIsIGdfc3Ryc2lnbmFsX3Rsc19idWZmZXIuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3N0cnNpZ25hbF90bHNfYnVmZmVyLnNpemUoKSkpOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc3RydG9sZF9sLmNwcCBiL2xpYmMvYmlvbmljL3N0cnRvbGRfbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiMjMwYjkuLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvc3RydG9sZF9sLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0gKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECi0gKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotCi1sb25nIGRvdWJsZSBzdHJ0b2xkX2woY29uc3QgY2hhciAqbnB0ciwgY2hhciAqKmVuZHB0ciwgbG9jYWxlX3QpIHsKLSAgcmV0dXJuIHN0cnRvbGQobnB0ciwgZW5kcHRyKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0cnRvbGxfbC5jcHAgYi9saWJjL2Jpb25pYy9zdHJ0b2xsX2wuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0N2IxMjZlLi4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL3N0cnRvbGxfbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotbG9uZyBsb25nIHN0cnRvbGxfbChjb25zdCBjaGFyICpucHRyLCBjaGFyICoqZW5kcHRyLCBpbnQgYmFzZSwgbG9jYWxlX3QpIHsKLSAgcmV0dXJuIHN0cnRvbGwobnB0ciwgZW5kcHRyLCBiYXNlKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0cnRvdWxsX2wuY3BwIGIvbGliYy9iaW9uaWMvc3RydG91bGxfbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5OGJhMGUuLjAwMDAwMDAKLS0tIGEvbGliYy9iaW9uaWMvc3RydG91bGxfbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotdW5zaWduZWQgbG9uZyBsb25nIHN0cnRvdWxsX2woY29uc3QgY2hhciAqbnB0ciwgY2hhciAqKmVuZHB0ciwgaW50IGJhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVfdCkgewotICByZXR1cm4gc3RydG91bGwobnB0ciwgZW5kcHRyLCBiYXNlKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N0cnhmcm1fbC5jcHAgYi9saWJjL2Jpb25pYy9zdHJ4ZnJtX2wuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZmUzYjk2Li4wMDAwMDAwCi0tLSBhL2xpYmMvYmlvbmljL3N0cnhmcm1fbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotc2l6ZV90IHN0cnhmcm1fbChjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBuLCBsb2NhbGVfdCkgewotICByZXR1cm4gc3RyeGZybShkZXN0LCBzcmMsIG4pOwotfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc3R1YnMuY3BwIGIvbGliYy9iaW9uaWMvc3R1YnMuY3BwCmluZGV4IGIxZTM4YmUuLmI1N2FlZGEgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3N0dWJzLmNwcAorKysgYi9saWJjL2Jpb25pYy9zdHVicy5jcHAKQEAgLTM1LDI1ICszNSw0NiBAQAogI2luY2x1ZGUgPHB3ZC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL2FuZHJvaWRfZmlsZXN5c3RlbV9jb25maWcuaCIKICNpbmNsdWRlICJwcml2YXRlL0Vycm5vUmVzdG9yZXIuaCIKICNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgorI2luY2x1ZGUgInByaXZhdGUvVGhyZWFkTG9jYWxCdWZmZXIuaCIKIAotLy8gVGhyZWFkLXNwZWNpZmljIHN0YXRlIGZvciB0aGUgbm9uLXJlZW50cmFudCBmdW5jdGlvbnMuCi1zdGF0aWMgcHRocmVhZF9vbmNlX3Qgc3R1YnNfb25jZSA9IFBUSFJFQURfT05DRV9JTklUOwotc3RhdGljIHB0aHJlYWRfa2V5X3Qgc3R1YnNfa2V5Owotc3RydWN0IHN0dWJzX3N0YXRlX3QgewotICBwYXNzd2QgcGFzc3dkXzsKKy8vIFBPU0lYIHNlZW1zIHRvIGVudmlzYWdlIGFuIGltcGxlbWVudGF0aW9uIHdoZXJlIHRoZSA8cHdkLmg+IGZ1bmN0aW9ucyBhcmUKKy8vIGltcGxlbWVudGVkIGJ5IGJydXRlLWZvcmNlIHNlYXJjaGluZyB3aXRoIGdldHB3ZW50KDMpLCBhbmQgdGhlIDxncnAuaD4KKy8vIGZ1bmN0aW9ucyBhcmUgaW1wbGVtZW50ZWQgc2ltaWxhcmx5IHdpdGggZ2V0Z3JlbnQoMykuIFRoaXMgbWVhbnMgdGhhdCBpdCdzCisvLyBva2F5IGZvciBhbGwgdGhlIDxncnAuaD4gZnVuY3Rpb25zIHRvIHNoYXJlIHN0YXRlLCBhbmQgYWxsIHRoZSA8cGFzc3dkLmg+CisvLyBmdW5jdGlvbnMgdG8gc2hhcmUgc3RhdGUsIGJ1dCA8Z3JwLmg+IGZ1bmN0aW9ucyBjYW4ndCBjbG9iYmVyIDxwYXNzd2QuaD4KKy8vIGZ1bmN0aW9ucycgc3RhdGUgYW5kIHZpY2UgdmVyc2EuCisKK3N0cnVjdCBncm91cF9zdGF0ZV90IHsKICAgZ3JvdXAgZ3JvdXBfOwogICBjaGFyKiBncm91cF9tZW1iZXJzX1syXTsKLSAgY2hhciBhcHBfbmFtZV9idWZmZXJfWzMyXTsKICAgY2hhciBncm91cF9uYW1lX2J1ZmZlcl9bMzJdOworfTsKKworc3RydWN0IHBhc3N3ZF9zdGF0ZV90IHsKKyAgcGFzc3dkIHBhc3N3ZF87CisgIGNoYXIgbmFtZV9idWZmZXJfWzMyXTsKICAgY2hhciBkaXJfYnVmZmVyX1szMl07CiAgIGNoYXIgc2hfYnVmZmVyX1szMl07CiB9OwogCitzdGF0aWMgVGhyZWFkTG9jYWxCdWZmZXI8Z3JvdXBfc3RhdGVfdD4gZ19ncm91cF90bHNfYnVmZmVyOworc3RhdGljIFRocmVhZExvY2FsQnVmZmVyPHBhc3N3ZF9zdGF0ZV90PiBnX3Bhc3N3ZF90bHNfYnVmZmVyOworCitzdGF0aWMgZ3JvdXBfc3RhdGVfdCogX19ncm91cF9zdGF0ZSgpIHsKKyAgZ3JvdXBfc3RhdGVfdCogcmVzdWx0ID0gZ19ncm91cF90bHNfYnVmZmVyLmdldCgpOworICBpZiAocmVzdWx0ICE9IG51bGxwdHIpIHsKKyAgICBtZW1zZXQocmVzdWx0LCAwLCBzaXplb2YoZ3JvdXBfc3RhdGVfdCkpOworICAgIHJlc3VsdC0+Z3JvdXBfLmdyX21lbSA9IHJlc3VsdC0+Z3JvdXBfbWVtYmVyc187CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIGludCBkb19nZXRwd19yKGludCBieV9uYW1lLCBjb25zdCBjaGFyKiBuYW1lLCB1aWRfdCB1aWQsCiAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dkKiBkc3QsIGNoYXIqIGJ1Ziwgc2l6ZV90IGJ5dGVfY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dkKiogcmVzdWx0KSB7CkBAIC05MSw3ICsxMTIsNyBAQAogCiAgIC8vIHB3X3Bhc3N3ZCBhbmQgcHdfZ2Vjb3MgYXJlIG5vbi1QT1NJWCBhbmQgdW51c2VkIChhbHdheXMgTlVMTCkgaW4gYmlvbmljLgogICBkc3QtPnB3X3Bhc3N3ZCA9IE5VTEw7Ci0jaWZkZWYgX19MUDY0X18KKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQogICBkc3QtPnB3X2dlY29zID0gTlVMTDsKICNlbmRpZgogCkBAIC0xMTMsNDggKzEzNCwxNCBAQAogICByZXR1cm4gZG9fZ2V0cHdfcigwLCBOVUxMLCB1aWQsIHB3ZCwgYnVmLCBieXRlX2NvdW50LCByZXN1bHQpOwogfQogCi1zdGF0aWMgc3R1YnNfc3RhdGVfdCogc3R1YnNfc3RhdGVfYWxsb2MoKSB7Ci0gIHN0dWJzX3N0YXRlX3QqICBzID0gc3RhdGljX2Nhc3Q8c3R1YnNfc3RhdGVfdCo+KGNhbGxvYygxLCBzaXplb2YoKnMpKSk7Ci0gIGlmIChzICE9IE5VTEwpIHsKLSAgICBzLT5ncm91cF8uZ3JfbWVtID0gcy0+Z3JvdXBfbWVtYmVyc187Ci0gIH0KLSAgcmV0dXJuIHM7Ci19Ci0KLXN0YXRpYyB2b2lkIHN0dWJzX3N0YXRlX2ZyZWUodm9pZCogcHRyKSB7Ci0gIHN0dWJzX3N0YXRlX3QqIHN0YXRlID0gc3RhdGljX2Nhc3Q8c3R1YnNfc3RhdGVfdCo+KHB0cik7Ci0gIGZyZWUoc3RhdGUpOwotfQotCi1zdGF0aWMgdm9pZCBfX3N0dWJzX2tleV9pbml0KCkgewotICBwdGhyZWFkX2tleV9jcmVhdGUoJnN0dWJzX2tleSwgc3R1YnNfc3RhdGVfZnJlZSk7Ci19Ci0KLXN0YXRpYyBzdHVic19zdGF0ZV90KiBfX3N0dWJzX3N0YXRlKCkgewotICBwdGhyZWFkX29uY2UoJnN0dWJzX29uY2UsIF9fc3R1YnNfa2V5X2luaXQpOwotICBzdHVic19zdGF0ZV90KiBzID0gc3RhdGljX2Nhc3Q8c3R1YnNfc3RhdGVfdCo+KHB0aHJlYWRfZ2V0c3BlY2lmaWMoc3R1YnNfa2V5KSk7Ci0gIGlmIChzID09IE5VTEwpIHsKLSAgICBzID0gc3R1YnNfc3RhdGVfYWxsb2MoKTsKLSAgICBpZiAocyA9PSBOVUxMKSB7Ci0gICAgICBlcnJubyA9IEVOT01FTTsgIC8vIEp1c3QgaW4gY2FzZS4KLSAgICB9IGVsc2UgewotICAgICAgaWYgKHB0aHJlYWRfc2V0c3BlY2lmaWMoc3R1YnNfa2V5LCBzKSAhPSAwKSB7Ci0gICAgICAgIHN0dWJzX3N0YXRlX2ZyZWUocyk7Ci0gICAgICAgIGVycm5vID0gRU5PTUVNOwotICAgICAgICBzID0gTlVMTDsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLSAgcmV0dXJuIHM7Ci19Ci0KLXN0YXRpYyBwYXNzd2QqIGFuZHJvaWRfaWluZm9fdG9fcGFzc3dkKHN0dWJzX3N0YXRlX3QqIHN0YXRlLAorc3RhdGljIHBhc3N3ZCogYW5kcm9pZF9paW5mb190b19wYXNzd2QocGFzc3dkX3N0YXRlX3QqIHN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYW5kcm9pZF9pZF9pbmZvKiBpaW5mbykgeworICBzbnByaW50ZihzdGF0ZS0+bmFtZV9idWZmZXJfLCBzaXplb2Yoc3RhdGUtPm5hbWVfYnVmZmVyXyksICIlcyIsIGlpbmZvLT5uYW1lKTsKICAgc25wcmludGYoc3RhdGUtPmRpcl9idWZmZXJfLCBzaXplb2Yoc3RhdGUtPmRpcl9idWZmZXJfKSwgIi8iKTsKICAgc25wcmludGYoc3RhdGUtPnNoX2J1ZmZlcl8sIHNpemVvZihzdGF0ZS0+c2hfYnVmZmVyXyksICIvc3lzdGVtL2Jpbi9zaCIpOwogCiAgIHBhc3N3ZCogcHcgPSAmc3RhdGUtPnBhc3N3ZF87Ci0gIHB3LT5wd19uYW1lICA9IChjaGFyKikgaWluZm8tPm5hbWU7CisgIHB3LT5wd19uYW1lICA9IHN0YXRlLT5uYW1lX2J1ZmZlcl87CiAgIHB3LT5wd191aWQgICA9IGlpbmZvLT5haWQ7CiAgIHB3LT5wd19naWQgICA9IGlpbmZvLT5haWQ7CiAgIHB3LT5wd19kaXIgICA9IHN0YXRlLT5kaXJfYnVmZmVyXzsKQEAgLTE2MiwxNiArMTQ5LDE4IEBACiAgIHJldHVybiBwdzsKIH0KIAotc3RhdGljIGdyb3VwKiBhbmRyb2lkX2lpbmZvX3RvX2dyb3VwKGdyb3VwKiBnciwKK3N0YXRpYyBncm91cCogYW5kcm9pZF9paW5mb190b19ncm91cChncm91cF9zdGF0ZV90KiBzdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmRyb2lkX2lkX2luZm8qIGlpbmZvKSB7Ci0gIGdyLT5ncl9uYW1lICAgPSAoY2hhciopIGlpbmZvLT5uYW1lOworICBzbnByaW50ZihzdGF0ZS0+Z3JvdXBfbmFtZV9idWZmZXJfLCBzaXplb2Yoc3RhdGUtPmdyb3VwX25hbWVfYnVmZmVyXyksICIlcyIsIGlpbmZvLT5uYW1lKTsKKworICBncm91cCogZ3IgPSAmc3RhdGUtPmdyb3VwXzsKKyAgZ3ItPmdyX25hbWUgICA9IHN0YXRlLT5ncm91cF9uYW1lX2J1ZmZlcl87CiAgIGdyLT5ncl9naWQgICAgPSBpaW5mby0+YWlkOwogICBnci0+Z3JfbWVtWzBdID0gZ3ItPmdyX25hbWU7Ci0gIGdyLT5ncl9tZW1bMV0gPSBOVUxMOwogICByZXR1cm4gZ3I7CiB9CiAKLXN0YXRpYyBwYXNzd2QqIGFuZHJvaWRfaWRfdG9fcGFzc3dkKHN0dWJzX3N0YXRlX3QqIHN0YXRlLCB1bnNpZ25lZCBpZCkgeworc3RhdGljIHBhc3N3ZCogYW5kcm9pZF9pZF90b19wYXNzd2QocGFzc3dkX3N0YXRlX3QqIHN0YXRlLCB1bnNpZ25lZCBpZCkgewogICBmb3IgKHNpemVfdCBuID0gMDsgbiA8IGFuZHJvaWRfaWRfY291bnQ7ICsrbikgewogICAgIGlmIChhbmRyb2lkX2lkc1tuXS5haWQgPT0gaWQpIHsKICAgICAgIHJldHVybiBhbmRyb2lkX2lpbmZvX3RvX3Bhc3N3ZChzdGF0ZSwgYW5kcm9pZF9pZHMgKyBuKTsKQEAgLTE4MCw3ICsxNjksNyBAQAogICByZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIHBhc3N3ZCogYW5kcm9pZF9uYW1lX3RvX3Bhc3N3ZChzdHVic19zdGF0ZV90KiBzdGF0ZSwgY29uc3QgY2hhciogbmFtZSkgeworc3RhdGljIHBhc3N3ZCogYW5kcm9pZF9uYW1lX3RvX3Bhc3N3ZChwYXNzd2Rfc3RhdGVfdCogc3RhdGUsIGNvbnN0IGNoYXIqIG5hbWUpIHsKICAgZm9yIChzaXplX3QgbiA9IDA7IG4gPCBhbmRyb2lkX2lkX2NvdW50OyArK24pIHsKICAgICBpZiAoIXN0cmNtcChhbmRyb2lkX2lkc1tuXS5uYW1lLCBuYW1lKSkgewogICAgICAgcmV0dXJuIGFuZHJvaWRfaWluZm9fdG9fcGFzc3dkKHN0YXRlLCBhbmRyb2lkX2lkcyArIG4pOwpAQCAtMTg5LDM3ICsxNzgsNDYgQEAKICAgcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBncm91cCogYW5kcm9pZF9pZF90b19ncm91cChncm91cCogZ3IsIHVuc2lnbmVkIGlkKSB7CitzdGF0aWMgZ3JvdXAqIGFuZHJvaWRfaWRfdG9fZ3JvdXAoZ3JvdXBfc3RhdGVfdCogc3RhdGUsIHVuc2lnbmVkIGlkKSB7CiAgIGZvciAoc2l6ZV90IG4gPSAwOyBuIDwgYW5kcm9pZF9pZF9jb3VudDsgKytuKSB7CiAgICAgaWYgKGFuZHJvaWRfaWRzW25dLmFpZCA9PSBpZCkgewotICAgICAgcmV0dXJuIGFuZHJvaWRfaWluZm9fdG9fZ3JvdXAoZ3IsIGFuZHJvaWRfaWRzICsgbik7CisgICAgICByZXR1cm4gYW5kcm9pZF9paW5mb190b19ncm91cChzdGF0ZSwgYW5kcm9pZF9pZHMgKyBuKTsKICAgICB9CiAgIH0KICAgcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBncm91cCogYW5kcm9pZF9uYW1lX3RvX2dyb3VwKGdyb3VwKiBnciwgY29uc3QgY2hhciogbmFtZSkgeworc3RhdGljIGdyb3VwKiBhbmRyb2lkX25hbWVfdG9fZ3JvdXAoZ3JvdXBfc3RhdGVfdCogc3RhdGUsIGNvbnN0IGNoYXIqIG5hbWUpIHsKICAgZm9yIChzaXplX3QgbiA9IDA7IG4gPCBhbmRyb2lkX2lkX2NvdW50OyArK24pIHsKICAgICBpZiAoIXN0cmNtcChhbmRyb2lkX2lkc1tuXS5uYW1lLCBuYW1lKSkgewotICAgICAgcmV0dXJuIGFuZHJvaWRfaWluZm9fdG9fZ3JvdXAoZ3IsIGFuZHJvaWRfaWRzICsgbik7CisgICAgICByZXR1cm4gYW5kcm9pZF9paW5mb190b19ncm91cChzdGF0ZSwgYW5kcm9pZF9pZHMgKyBuKTsKICAgICB9CiAgIH0KICAgcmV0dXJuIE5VTEw7CiB9CiAKIC8vIFRyYW5zbGF0ZSBhIHVzZXIvZ3JvdXAgbmFtZSB0byB0aGUgY29ycmVzcG9uZGluZyB1c2VyL2dyb3VwIGlkLgorLy8gYWxsX2ExMjM0IC0+IDAgKiBBSURfVVNFUiArIEFJRF9TSEFSRURfR0lEX1NUQVJUICsgMTIzNCAoZ3JvdXAgbmFtZSBvbmx5KQogLy8gdTBfYTEyMzQgLT4gMCAqIEFJRF9VU0VSICsgQUlEX0FQUCArIDEyMzQKIC8vIHUyX2kxMDAwIC0+IDIgKiBBSURfVVNFUiArIEFJRF9JU09MQVRFRF9TVEFSVCArIDEwMDAKIC8vIHUxX3N5c3RlbSAtPiAxICogQUlEX1VTRVIgKyBhbmRyb2lkX2lkc1snc3lzdGVtJ10KIC8vIHJldHVybnMgMCBhbmQgc2V0cyBlcnJubyB0byBFTk9FTlQgaW4gY2FzZSBvZiBlcnJvcgotc3RhdGljIHVuc2lnbmVkIGFwcF9pZF9mcm9tX25hbWUoY29uc3QgY2hhciogbmFtZSkgewotICBpZiAobmFtZVswXSAhPSAndScgfHwgIWlzZGlnaXQobmFtZVsxXSkpIHsKK3N0YXRpYyBpZF90IGFwcF9pZF9mcm9tX25hbWUoY29uc3QgY2hhciogbmFtZSwgYm9vbCBpc19ncm91cCkgeworICBjaGFyKiBlbmQ7CisgIHVuc2lnbmVkIGxvbmcgdXNlcmlkOworICBib29sIGlzX3NoYXJlZF9naWQgPSBmYWxzZTsKKworICBpZiAoaXNfZ3JvdXAgJiYgbmFtZVswXSA9PSAnYScgJiYgbmFtZVsxXSA9PSAnbCcgJiYgbmFtZVsyXSA9PSAnbCcpIHsKKyAgICBlbmQgPSBjb25zdF9jYXN0PGNoYXIqPihuYW1lKzMpOworICAgIHVzZXJpZCA9IDA7CisgICAgaXNfc2hhcmVkX2dpZCA9IHRydWU7CisgIH0gZWxzZSBpZiAobmFtZVswXSA9PSAndScgJiYgaXNkaWdpdChuYW1lWzFdKSkgeworICAgIHVzZXJpZCA9IHN0cnRvdWwobmFtZSsxLCAmZW5kLCAxMCk7CisgIH0gZWxzZSB7CiAgICAgZXJybm8gPSBFTk9FTlQ7CiAgICAgcmV0dXJuIDA7CiAgIH0KIAotICBjaGFyKiBlbmQ7Ci0gIHVuc2lnbmVkIGxvbmcgdXNlcmlkID0gc3RydG91bChuYW1lKzEsICZlbmQsIDEwKTsKICAgaWYgKGVuZFswXSAhPSAnXycgfHwgZW5kWzFdID09IDApIHsKICAgICBlcnJubyA9IEVOT0VOVDsKICAgICByZXR1cm4gMDsKQEAgLTIyNyw4ICsyMjUsMTcgQEAKIAogICB1bnNpZ25lZCBsb25nIGFwcGlkID0gMDsKICAgaWYgKGVuZFsxXSA9PSAnYScgJiYgaXNkaWdpdChlbmRbMl0pKSB7Ci0gICAgLy8gZW5kIHdpbGwgcG9pbnQgdG8gXDAgaWYgdGhlIHN0cnRvdWwgYmVsb3cgc3VjY2VlZHMuCi0gICAgYXBwaWQgPSBzdHJ0b3VsKGVuZCsyLCAmZW5kLCAxMCkgKyBBSURfQVBQOworICAgIGlmIChpc19zaGFyZWRfZ2lkKSB7CisgICAgICAvLyBlbmQgd2lsbCBwb2ludCB0byBcMCBpZiB0aGUgc3RydG91bCBiZWxvdyBzdWNjZWVkcy4KKyAgICAgIGFwcGlkID0gc3RydG91bChlbmQrMiwgJmVuZCwgMTApICsgQUlEX1NIQVJFRF9HSURfU1RBUlQ7CisgICAgICBpZiAoYXBwaWQgPiBBSURfU0hBUkVEX0dJRF9FTkQpIHsKKyAgICAgICAgZXJybm8gPSBFTk9FTlQ7CisgICAgICAgIHJldHVybiAwOworICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAvLyBlbmQgd2lsbCBwb2ludCB0byBcMCBpZiB0aGUgc3RydG91bCBiZWxvdyBzdWNjZWVkcy4KKyAgICAgIGFwcGlkID0gc3RydG91bChlbmQrMiwgJmVuZCwgMTApICsgQUlEX0FQUDsKKyAgICB9CiAgIH0gZWxzZSBpZiAoZW5kWzFdID09ICdpJyAmJiBpc2RpZ2l0KGVuZFsyXSkpIHsKICAgICAvLyBlbmQgd2lsbCBwb2ludCB0byBcMCBpZiB0aGUgc3RydG91bCBiZWxvdyBzdWNjZWVkcy4KICAgICBhcHBpZCA9IHN0cnRvdWwoZW5kKzIsICZlbmQsIDEwKSArIEFJRF9JU09MQVRFRF9TVEFSVDsKQEAgLTIzOCw2ICsyNDUsNyBAQAogICAgICAgICBhcHBpZCA9IGFuZHJvaWRfaWRzW25dLmFpZDsKICAgICAgICAgLy8gTW92ZSB0aGUgZW5kIHBvaW50ZXIgdG8gdGhlIG51bGwgdGVybWluYXRvci4KICAgICAgICAgZW5kICs9IHN0cmxlbihhbmRyb2lkX2lkc1tuXS5uYW1lKSArIDE7CisgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtMjYwLDE0ICsyNjgsMzIgQEAKICAgICByZXR1cm4gMDsKICAgfQogCi0gIHJldHVybiAodW5zaWduZWQpKGFwcGlkICsgdXNlcmlkKkFJRF9VU0VSKTsKKyAgcmV0dXJuIChhcHBpZCArIHVzZXJpZCpBSURfVVNFUik7CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X2FwcF9uYW1lX2Zyb21fYXBwaWRfdXNlcmlkKGNvbnN0IHVpZF90IGFwcGlkLAotICAgIGNvbnN0IHVpZF90IHVzZXJpZCwgY2hhciogYnVmZmVyLCBjb25zdCBpbnQgYnVmZmVybGVuKSB7CitzdGF0aWMgdm9pZCBwcmludF9hcHBfbmFtZV9mcm9tX3VpZChjb25zdCB1aWRfdCB1aWQsIGNoYXIqIGJ1ZmZlciwgY29uc3QgaW50IGJ1ZmZlcmxlbikgeworICBjb25zdCB1aWRfdCBhcHBpZCA9IHVpZCAlIEFJRF9VU0VSOworICBjb25zdCB1aWRfdCB1c2VyaWQgPSB1aWQgLyBBSURfVVNFUjsKICAgaWYgKGFwcGlkID49IEFJRF9JU09MQVRFRF9TVEFSVCkgewogICAgIHNucHJpbnRmKGJ1ZmZlciwgYnVmZmVybGVuLCAidSV1X2kldSIsIHVzZXJpZCwgYXBwaWQgLSBBSURfSVNPTEFURURfU1RBUlQpOwotICB9IGVsc2UgaWYgKHVzZXJpZCA9PSAwICYmIGFwcGlkID49IEFJRF9TSEFSRURfR0lEX1NUQVJUKSB7CisgIH0gZWxzZSBpZiAoYXBwaWQgPCBBSURfQVBQKSB7CisgICAgZm9yIChzaXplX3QgbiA9IDA7IG4gPCBhbmRyb2lkX2lkX2NvdW50OyBuKyspIHsKKyAgICAgIGlmIChhbmRyb2lkX2lkc1tuXS5haWQgPT0gYXBwaWQpIHsKKyAgICAgICAgc25wcmludGYoYnVmZmVyLCBidWZmZXJsZW4sICJ1JXVfJXMiLCB1c2VyaWQsIGFuZHJvaWRfaWRzW25dLm5hbWUpOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgfQorICB9IGVsc2UgeworICAgIHNucHJpbnRmKGJ1ZmZlciwgYnVmZmVybGVuLCAidSV1X2EldSIsIHVzZXJpZCwgYXBwaWQgLSBBSURfQVBQKTsKKyAgfQorfQorCitzdGF0aWMgdm9pZCBwcmludF9hcHBfbmFtZV9mcm9tX2dpZChjb25zdCBnaWRfdCBnaWQsIGNoYXIqIGJ1ZmZlciwgY29uc3QgaW50IGJ1ZmZlcmxlbikgeworICBjb25zdCB1aWRfdCBhcHBpZCA9IGdpZCAlIEFJRF9VU0VSOworICBjb25zdCB1aWRfdCB1c2VyaWQgPSBnaWQgLyBBSURfVVNFUjsKKyAgaWYgKGFwcGlkID49IEFJRF9JU09MQVRFRF9TVEFSVCkgeworICAgIHNucHJpbnRmKGJ1ZmZlciwgYnVmZmVybGVuLCAidSV1X2kldSIsIHVzZXJpZCwgYXBwaWQgLSBBSURfSVNPTEFURURfU1RBUlQpOworICB9IGVsc2UgaWYgKHVzZXJpZCA9PSAwICYmIGFwcGlkID49IEFJRF9TSEFSRURfR0lEX1NUQVJUICYmIGFwcGlkIDw9IEFJRF9TSEFSRURfR0lEX0VORCkgewogICAgIHNucHJpbnRmKGJ1ZmZlciwgYnVmZmVybGVuLCAiYWxsX2EldSIsIGFwcGlkIC0gQUlEX1NIQVJFRF9HSURfU1RBUlQpOwogICB9IGVsc2UgaWYgKGFwcGlkIDwgQUlEX0FQUCkgewogICAgIGZvciAoc2l6ZV90IG4gPSAwOyBuIDwgYW5kcm9pZF9pZF9jb3VudDsgbisrKSB7CkBAIC0yODEsMzIgKzMwNywyMSBAQAogICB9CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X2FwcF9uYW1lX2Zyb21fdWlkKGNvbnN0IHVpZF90IHVpZCwgY2hhciogYnVmZmVyLCBjb25zdCBpbnQgYnVmZmVybGVuKSB7Ci0gIGNvbnN0IHVpZF90IGFwcGlkID0gdWlkICUgQUlEX1VTRVI7Ci0gIGNvbnN0IHVpZF90IHVzZXJpZCA9IHVpZCAvIEFJRF9VU0VSOwotICByZXR1cm4gcHJpbnRfYXBwX25hbWVfZnJvbV9hcHBpZF91c2VyaWQoYXBwaWQsIHVzZXJpZCwgYnVmZmVyLCBidWZmZXJsZW4pOwotfQotCiAvLyBUcmFuc2xhdGUgYSB1aWQgaW50byB0aGUgY29ycmVzcG9uZGluZyBuYW1lLgogLy8gMCB0byBBSURfQVBQLTEgICAgICAgICAgICAgICAgICAgLT4gInN5c3RlbSIsICJyYWRpbyIsIGV0Yy4KIC8vIEFJRF9BUFAgdG8gQUlEX0lTT0xBVEVEX1NUQVJULTEgIC0+IHUwX2ExMjM0CiAvLyBBSURfSVNPTEFURURfU1RBUlQgdG8gQUlEX1VTRVItMSAtPiB1MF9pMTIzNAogLy8gQUlEX1VTRVIrICAgICAgICAgICAgICAgICAgICAgICAgLT4gdTFfcmFkaW8sIHUxX2ExMjM0LCB1Ml9pMTIzNCwgZXRjLgogLy8gcmV0dXJucyBhIHBhc3N3ZCBzdHJ1Y3R1cmUgKHNldHMgZXJybm8gdG8gRU5PRU5UIG9uIGZhaWx1cmUpLgotc3RhdGljIHBhc3N3ZCogYXBwX2lkX3RvX3Bhc3N3ZCh1aWRfdCB1aWQsIHN0dWJzX3N0YXRlX3QqIHN0YXRlKSB7Ci0gIHBhc3N3ZCogcHcgPSAmc3RhdGUtPnBhc3N3ZF87Ci0KK3N0YXRpYyBwYXNzd2QqIGFwcF9pZF90b19wYXNzd2QodWlkX3QgdWlkLCBwYXNzd2Rfc3RhdGVfdCogc3RhdGUpIHsKICAgaWYgKHVpZCA8IEFJRF9BUFApIHsKICAgICBlcnJubyA9IEVOT0VOVDsKICAgICByZXR1cm4gTlVMTDsKICAgfQogCisgIHByaW50X2FwcF9uYW1lX2Zyb21fdWlkKHVpZCwgc3RhdGUtPm5hbWVfYnVmZmVyXywgc2l6ZW9mKHN0YXRlLT5uYW1lX2J1ZmZlcl8pKTsKKwogICBjb25zdCB1aWRfdCBhcHBpZCA9IHVpZCAlIEFJRF9VU0VSOwotICBjb25zdCB1aWRfdCB1c2VyaWQgPSB1aWQgLyBBSURfVVNFUjsKLQotICBwcmludF9hcHBfbmFtZV9mcm9tX2FwcGlkX3VzZXJpZChhcHBpZCwgdXNlcmlkLCBzdGF0ZS0+YXBwX25hbWVfYnVmZmVyXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0YXRlLT5hcHBfbmFtZV9idWZmZXJfKSk7Ci0KICAgaWYgKGFwcGlkIDwgQUlEX0FQUCkgewogICAgICAgc25wcmludGYoc3RhdGUtPmRpcl9idWZmZXJfLCBzaXplb2Yoc3RhdGUtPmRpcl9idWZmZXJfKSwgIi8iKTsKICAgfSBlbHNlIHsKQEAgLTMxNSwzNyArMzMwLDM0IEBACiAKICAgc25wcmludGYoc3RhdGUtPnNoX2J1ZmZlcl8sIHNpemVvZihzdGF0ZS0+c2hfYnVmZmVyXyksICIvc3lzdGVtL2Jpbi9zaCIpOwogCi0gIHB3LT5wd19uYW1lICA9IHN0YXRlLT5hcHBfbmFtZV9idWZmZXJfOworICBwYXNzd2QqIHB3ID0gJnN0YXRlLT5wYXNzd2RfOworICBwdy0+cHdfbmFtZSAgPSBzdGF0ZS0+bmFtZV9idWZmZXJfOwogICBwdy0+cHdfZGlyICAgPSBzdGF0ZS0+ZGlyX2J1ZmZlcl87CiAgIHB3LT5wd19zaGVsbCA9IHN0YXRlLT5zaF9idWZmZXJfOwogICBwdy0+cHdfdWlkICAgPSB1aWQ7CiAgIHB3LT5wd19naWQgICA9IHVpZDsKLQogICByZXR1cm4gcHc7CiB9CiAKIC8vIFRyYW5zbGF0ZSBhIGdpZCBpbnRvIHRoZSBjb3JyZXNwb25kaW5nIGFwcF88Z2lkPgogLy8gZ3JvdXAgc3RydWN0dXJlIChzZXRzIGVycm5vIHRvIEVOT0VOVCBvbiBmYWlsdXJlKS4KLXN0YXRpYyBncm91cCogYXBwX2lkX3RvX2dyb3VwKGdpZF90IGdpZCwgc3R1YnNfc3RhdGVfdCogc3RhdGUpIHsKK3N0YXRpYyBncm91cCogYXBwX2lkX3RvX2dyb3VwKGdpZF90IGdpZCwgZ3JvdXBfc3RhdGVfdCogc3RhdGUpIHsKICAgaWYgKGdpZCA8IEFJRF9BUFApIHsKICAgICBlcnJubyA9IEVOT0VOVDsKICAgICByZXR1cm4gTlVMTDsKICAgfQogCi0gIHByaW50X2FwcF9uYW1lX2Zyb21fdWlkKGdpZCwgc3RhdGUtPmdyb3VwX25hbWVfYnVmZmVyXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0YXRlLT5ncm91cF9uYW1lX2J1ZmZlcl8pKTsKKyAgcHJpbnRfYXBwX25hbWVfZnJvbV9naWQoZ2lkLCBzdGF0ZS0+Z3JvdXBfbmFtZV9idWZmZXJfLCBzaXplb2Yoc3RhdGUtPmdyb3VwX25hbWVfYnVmZmVyXykpOwogCiAgIGdyb3VwKiBnciA9ICZzdGF0ZS0+Z3JvdXBfOwogICBnci0+Z3JfbmFtZSAgID0gc3RhdGUtPmdyb3VwX25hbWVfYnVmZmVyXzsKICAgZ3ItPmdyX2dpZCAgICA9IGdpZDsKICAgZ3ItPmdyX21lbVswXSA9IGdyLT5ncl9uYW1lOwotICBnci0+Z3JfbWVtWzFdID0gTlVMTDsKICAgcmV0dXJuIGdyOwogfQogCi0KIHBhc3N3ZCogZ2V0cHd1aWQodWlkX3QgdWlkKSB7IC8vIE5PTElOVDogaW1wbGVtZW50aW5nIGJhZCBmdW5jdGlvbi4KLSAgc3R1YnNfc3RhdGVfdCogc3RhdGUgPSBfX3N0dWJzX3N0YXRlKCk7CisgIHBhc3N3ZF9zdGF0ZV90KiBzdGF0ZSA9IGdfcGFzc3dkX3Rsc19idWZmZXIuZ2V0KCk7CiAgIGlmIChzdGF0ZSA9PSBOVUxMKSB7CiAgICAgcmV0dXJuIE5VTEw7CiAgIH0KQEAgLTM1OCw3ICszNzAsNyBAQAogfQogCiBwYXNzd2QqIGdldHB3bmFtKGNvbnN0IGNoYXIqIGxvZ2luKSB7IC8vIE5PTElOVDogaW1wbGVtZW50aW5nIGJhZCBmdW5jdGlvbi4KLSAgc3R1YnNfc3RhdGVfdCogc3RhdGUgPSBfX3N0dWJzX3N0YXRlKCk7CisgIHBhc3N3ZF9zdGF0ZV90KiBzdGF0ZSA9IGdfcGFzc3dkX3Rsc19idWZmZXIuZ2V0KCk7CiAgIGlmIChzdGF0ZSA9PSBOVUxMKSB7CiAgICAgcmV0dXJuIE5VTEw7CiAgIH0KQEAgLTM2NywxNyArMzc5LDE3IEBACiAgIGlmIChwdyAhPSBOVUxMKSB7CiAgICAgcmV0dXJuIHB3OwogICB9Ci0gIHJldHVybiBhcHBfaWRfdG9fcGFzc3dkKGFwcF9pZF9mcm9tX25hbWUobG9naW4pLCBzdGF0ZSk7CisgIHJldHVybiBhcHBfaWRfdG9fcGFzc3dkKGFwcF9pZF9mcm9tX25hbWUobG9naW4sIGZhbHNlKSwgc3RhdGUpOwogfQogCiAvLyBBbGwgdXNlcnMgYXJlIGluIGp1c3Qgb25lIGdyb3VwLCB0aGUgb25lIHBhc3NlZCBpbi4KIGludCBnZXRncm91cGxpc3QoY29uc3QgY2hhciogLyp1c2VyKi8sIGdpZF90IGdyb3VwLCBnaWRfdCogZ3JvdXBzLCBpbnQqIG5ncm91cHMpIHsKLSAgICBpZiAoKm5ncm91cHMgPCAxKSB7Ci0gICAgICAgICpuZ3JvdXBzID0gMTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBncm91cHNbMF0gPSBncm91cDsKLSAgICByZXR1cm4gKCpuZ3JvdXBzID0gMSk7CisgIGlmICgqbmdyb3VwcyA8IDEpIHsKKyAgICAqbmdyb3VwcyA9IDE7CisgICAgcmV0dXJuIC0xOworICB9CisgIGdyb3Vwc1swXSA9IGdyb3VwOworICByZXR1cm4gKCpuZ3JvdXBzID0gMSk7CiB9CiAKIGNoYXIqIGdldGxvZ2luKCkgeyAvLyBOT0xJTlQ6IGltcGxlbWVudGluZyBiYWQgZnVuY3Rpb24uCkBAIC0zODYsMzAgKzM5OCwyOCBAQAogfQogCiBncm91cCogZ2V0Z3JnaWQoZ2lkX3QgZ2lkKSB7IC8vIE5PTElOVDogaW1wbGVtZW50aW5nIGJhZCBmdW5jdGlvbi4KLSAgc3R1YnNfc3RhdGVfdCogc3RhdGUgPSBfX3N0dWJzX3N0YXRlKCk7CisgIGdyb3VwX3N0YXRlX3QqIHN0YXRlID0gX19ncm91cF9zdGF0ZSgpOwogICBpZiAoc3RhdGUgPT0gTlVMTCkgewogICAgIHJldHVybiBOVUxMOwogICB9CiAKLSAgZ3JvdXAqIGdyID0gYW5kcm9pZF9pZF90b19ncm91cCgmc3RhdGUtPmdyb3VwXywgZ2lkKTsKKyAgZ3JvdXAqIGdyID0gYW5kcm9pZF9pZF90b19ncm91cChzdGF0ZSwgZ2lkKTsKICAgaWYgKGdyICE9IE5VTEwpIHsKICAgICByZXR1cm4gZ3I7CiAgIH0KLQogICByZXR1cm4gYXBwX2lkX3RvX2dyb3VwKGdpZCwgc3RhdGUpOwogfQogCiBncm91cCogZ2V0Z3JuYW0oY29uc3QgY2hhciogbmFtZSkgeyAvLyBOT0xJTlQ6IGltcGxlbWVudGluZyBiYWQgZnVuY3Rpb24uCi0gIHN0dWJzX3N0YXRlX3QqIHN0YXRlID0gX19zdHVic19zdGF0ZSgpOworICBncm91cF9zdGF0ZV90KiBzdGF0ZSA9IF9fZ3JvdXBfc3RhdGUoKTsKICAgaWYgKHN0YXRlID09IE5VTEwpIHsKICAgICByZXR1cm4gTlVMTDsKICAgfQogCi0gIGlmIChhbmRyb2lkX25hbWVfdG9fZ3JvdXAoJnN0YXRlLT5ncm91cF8sIG5hbWUpICE9IDApIHsKKyAgaWYgKGFuZHJvaWRfbmFtZV90b19ncm91cChzdGF0ZSwgbmFtZSkgIT0gMCkgewogICAgIHJldHVybiAmc3RhdGUtPmdyb3VwXzsKICAgfQotCi0gIHJldHVybiBhcHBfaWRfdG9fZ3JvdXAoYXBwX2lkX2Zyb21fbmFtZShuYW1lKSwgc3RhdGUpOworICByZXR1cm4gYXBwX2lkX3RvX2dyb3VwKGFwcF9pZF9mcm9tX25hbWUobmFtZSwgdHJ1ZSksIHN0YXRlKTsKIH0KIAogLy8gV2UgZG9uJ3QgaGF2ZSBhbiAvZXRjL25ldHdvcmtzLCBzbyBhbGwgaW5wdXRzIHJldHVybiBOVUxMLgpAQCAtNDMyLDMxICs0NDIsNiBAQAogICByZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIHZvaWQgdW5pbXBsZW1lbnRlZF9zdHViKGNvbnN0IGNoYXIqIGZ1bmN0aW9uKSB7Ci0gIGNvbnN0IGNoYXIqIGZtdCA9ICIlcygzKSBpcyBub3QgaW1wbGVtZW50ZWQgb24gQW5kcm9pZFxuIjsKLSAgX19saWJjX2Zvcm1hdF9sb2coQU5EUk9JRF9MT0dfV0FSTiwgImxpYmMiLCBmbXQsIGZ1bmN0aW9uKTsKLSAgZnByaW50ZihzdGRlcnIsIGZtdCwgZnVuY3Rpb24pOwotfQotCi0jZGVmaW5lIFVOSU1QTEVNRU5URUQgdW5pbXBsZW1lbnRlZF9zdHViKF9fUFJFVFRZX0ZVTkNUSU9OX18pCi0KLXZvaWQgZW5kcHdlbnQoKSB7Ci0gIFVOSU1QTEVNRU5URUQ7Ci19Ci0KLWNoYXIqIGdldHVzZXJzaGVsbCgpIHsKLSAgVU5JTVBMRU1FTlRFRDsKLSAgcmV0dXJuIE5VTEw7Ci19Ci0KLXZvaWQgc2V0dXNlcnNoZWxsKCkgewotICBVTklNUExFTUVOVEVEOwotfQotCi12b2lkIGVuZHVzZXJzaGVsbCgpIHsKLSAgVU5JTVBMRU1FTlRFRDsKLX0KLQogLy8gUG9ydGFibGUgY29kZSBzaG91bGQgdXNlIHN5c2NvbmYoX1NDX1BBR0VfU0laRSkgZGlyZWN0bHkgaW5zdGVhZC4KIGludCBnZXRwYWdlc2l6ZSgpIHsKICAgLy8gV2UgZG9udCB1c2Ugc3lzY29uZigzKSBoZXJlIGJlY2F1c2UgdGhhdCBkcmFncyBpbiBzdGRpbywgd2hpY2ggbWFrZXMgc3RhdGljIGJpbmFyaWVzIGZhdC4KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N5c2NvbmYuY3BwIGIvbGliYy9iaW9uaWMvc3lzY29uZi5jcHAKaW5kZXggNzczNGU0MC4uYzMwMWIyNyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvc3lzY29uZi5jcHAKKysrIGIvbGliYy9iaW9uaWMvc3lzY29uZi5jcHAKQEAgLTI2LDEyMyArMjYsMjAgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlIDxjdHlwZS5oPgotI2luY2x1ZGUgPGRpcmVudC5oPgogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxsaW51eC91aW8uaD4gIC8vIEZvciBVSU9fTUFYSU9WLgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRpby5oPiAgLy8gRm9yIEZPUEVOX01BWC4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvYXV4di5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgogI2luY2x1ZGUgPHN5cy9zeXNjb25mLmg+CisjaW5jbHVkZSA8c3lzL3N5c2luZm8uaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY190bHMuaCIKLSNpbmNsdWRlICJwcml2YXRlL1Njb3BlZFJlYWRkaXIuaCIKLQotLyogc2VlbXMgdG8gYmUgdGhlIGRlZmF1bHQgb24gTGludXgsIHBlciB0aGUgR0xpYmMgc291cmNlcyBhbmQgbXkgb3duIGRpZ2dpbmcgKi8KLQotI2RlZmluZSAgU1lTVEVNX0NMS19UQ0sgICAgICAgICAxMDAKLSNkZWZpbmUgIFNZU1RFTV9JT1ZfTUFYICAgICAgICAgMTAyNAotI2RlZmluZSAgU1lTVEVNX0RFTEFZVElNRVJfTUFYICAyMTQ3NDgzNjQ3Ci0jZGVmaW5lICBTWVNURU1fTVFfT1BFTl9NQVggICAgIDgKLSNkZWZpbmUgIFNZU1RFTV9NUV9QUklPX01BWCAgICAgMzI3NjgKLSNkZWZpbmUgIFNZU1RFTV9TRU1fTlNFTVNfTUFYICAgMjU2Ci0jZGVmaW5lICBTWVNURU1fU0VNX1ZBTFVFX01BWCAgIDB4M2ZmZmZmZmYgIC8qIHNlZSBiaW9uaWMvc2VtYXBob3JlLmMgKi8KLSNkZWZpbmUgIFNZU1RFTV9TSUdRVUVVRV9NQVggICAgMzIKLSNkZWZpbmUgIFNZU1RFTV9USU1FUl9NQVggICAgICAgMzIKLSNkZWZpbmUgIFNZU1RFTV9MT0dJTl9OQU1FX01BWCAgMjU2Ci0jZGVmaW5lICBTWVNURU1fVFRZX05BTUVfTUFYICAgIDMyCi0KLS8qIHRoZSBmb2xsb3dpbmcgZGVwZW5kcyBvbiBvdXIgaW1wbGVtZW50YXRpb24gKi8KLSNkZWZpbmUgIFNZU1RFTV9BVEVYSVRfTUFYICAgICAgICAgIDY1NTM2ICAgIC8qIG91ciBpbXBsZW1lbnRhdGlvbiBpcyB1bmxpbWl0ZWQgKi8KLSNkZWZpbmUgIFNZU1RFTV9USFJFQURfVEhSRUFEU19NQVggIDIwNDggICAgIC8qIHJlYWxseSB1bmxpbWl0ZWQgKi8KLQotI2RlZmluZSAgU1lTVEVNXzJfQ19CSU5EICAgICBfUE9TSVhfVkVSU0lPTiAgLyogUG9zaXggQyBiaW5kaW5nIHZlcnNpb24gKi8KLSNkZWZpbmUgIFNZU1RFTV8yX0NfVkVSICAgICAgX1BPU0lYMl9DX1ZFUlNJT04KLSNkZWZpbmUgIFNZU1RFTV8yX0NfREVWICAgICAgLTEgICAgICAgLyogUG9zaXggQyBkZXZlbG9wbWVudCB0b29scyB1bnN1cHBvcnRlZCBvbiB0aGUgZGV2aWNlICovCi0jZGVmaW5lICBTWVNURU1fMl9GT1JUX0RFViAgIC0xICAgICAgIC8qIEZvcnRyYW4gZGV2ZWxvcG1lbnQgdW5zdXBwb3J0ZWQgKi8KLSNkZWZpbmUgIFNZU1RFTV8yX0ZPUlRfUlVOICAgLTEgICAgICAgLyogRm9ydHJhbiBydW50aW1lIHVuc3VwcG9ydGVkICovCi0jZGVmaW5lICBTWVNURU1fMl9TV19ERVYgICAgIC0xICAgICAgIC8qIHBvc2l4IHNvZnR3YXJlIGRldiB1dGlsaXRpZXMgdW5zdXBwb3J0ZWQgKi8KLSNkZWZpbmUgIFNZU1RFTV8yX0xPQ0FMRURFRiAgLTEgICAgICAgLyogbG9jYWxlZGVmKCkgdW5pbXBsZW1lbnRlZCAqLwotI2RlZmluZSAgU1lTVEVNXzJfVVBFICAgICAgICAtMSAgICAgICAvKiBObyBVUEUgZm9yIHlvdSAhIChVc2VyIFBvcnRhYmlsaXR5IFV0aWxpdGllcykgKi8KLSNkZWZpbmUgIFNZU1RFTV8yX1ZFUlNJT04gICAgLTEgICAgICAgLyogTm8gcG9zaXggY29tbWFuZC1saW5lIHRvb2xzICovCi0KLXN0YXRpYyBib29sIF9fbWF0Y2hlc19jcHVOKGNvbnN0IGNoYXIqIHMpIHsKLSAgLy8gVGhlICVjIHRyaWNrIGlzIHRvIGVuc3VyZSB0aGF0IHdlIGhhdmUgdGhlIGFuY2hvcmVkIG1hdGNoICJeY3B1WzAtOV0rJCIuCi0gIHVuc2lnbmVkIGNwdTsKLSAgY2hhciBkdW1teTsKLSAgcmV0dXJuIChzc2NhbmYocywgImNwdSV1JWMiLCAmY3B1LCAmZHVtbXkpID09IDEpOwotfQotCi1zdGF0aWMgaW50IF9fc3lzY29uZl9ucHJvY2Vzc29yc19jb25mKCkgewotICAvLyBPbiB4ODYga2VybmVscyB5b3UgY2FuIHVzZSAvcHJvYy9jcHVpbmZvIGZvciB0aGlzLCBidXQgb24gQVJNIGtlcm5lbHMgb2ZmbGluZSBDUFVzIGRpc2FwcGVhcgotICAvLyBmcm9tIHRoZXJlLiBUaGlzIG1ldGhvZCB3b3JrcyBvbiBib3RoLgotICBTY29wZWRSZWFkZGlyIHJlYWRlcigiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUiKTsKLSAgaWYgKHJlYWRlci5Jc0JhZCgpKSB7Ci0gICAgcmV0dXJuIDE7Ci0gIH0KLQotICBpbnQgcmVzdWx0ID0gMDsKLSAgZGlyZW50KiBlbnRyeTsKLSAgd2hpbGUgKChlbnRyeSA9IHJlYWRlci5SZWFkRW50cnkoKSkgIT0gTlVMTCkgewotICAgIGlmIChlbnRyeS0+ZF90eXBlID09IERUX0RJUiAmJiBfX21hdGNoZXNfY3B1TihlbnRyeS0+ZF9uYW1lKSkgewotICAgICAgKytyZXN1bHQ7Ci0gICAgfQotICB9Ci0gIHJldHVybiByZXN1bHQ7Ci19Ci0KLXN0YXRpYyBpbnQgX19zeXNjb25mX25wcm9jZXNzb3JzX29ubG4oKSB7Ci0gIEZJTEUqIGZwID0gZm9wZW4oIi9wcm9jL3N0YXQiLCAiciIpOwotICBpZiAoZnAgPT0gTlVMTCkgewotICAgIHJldHVybiAxOwotICB9Ci0KLSAgaW50IHJlc3VsdCA9IDA7Ci0gIGNoYXIgYnVmWzI1Nl07Ci0gIHdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmcCkgIT0gTlVMTCkgewotICAgIC8vIEV4dHJhY3QganVzdCB0aGUgZmlyc3Qgd29yZCBmcm9tIHRoZSBsaW5lLgotICAgIC8vICdjcHUwIDc5NzY3NTEgMTM2NDM4OCAzMTE2ODQyIDQ2OTc3MDM4OCA4NjI5NDA1IDAgNDkwNDcgMCAwIDAnCi0gICAgY2hhciogcCA9IHN0cmNocihidWYsICcgJyk7Ci0gICAgaWYgKHAgIT0gTlVMTCkgewotICAgICAgKnAgPSAwOwotICAgIH0KLSAgICBpZiAoX19tYXRjaGVzX2NwdU4oYnVmKSkgewotICAgICAgKytyZXN1bHQ7Ci0gICAgfQotICB9Ci0gIGZjbG9zZShmcCk7Ci0gIHJldHVybiByZXN1bHQ7Ci19Ci0KLXN0YXRpYyBpbnQgX19nZXRfbWVtaW5mbyhjb25zdCBjaGFyKiBwYXR0ZXJuKSB7Ci0gIEZJTEUqIGZwID0gZm9wZW4oIi9wcm9jL21lbWluZm8iLCAiciIpOwotICBpZiAoZnAgPT0gTlVMTCkgewotICAgIHJldHVybiAtMTsKLSAgfQotCi0gIGludCByZXN1bHQgPSAtMTsKLSAgY2hhciBidWZbMjU2XTsKLSAgd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSAhPSBOVUxMKSB7Ci0gICAgbG9uZyB0b3RhbDsKLSAgICBpZiAoc3NjYW5mKGJ1ZiwgcGF0dGVybiwgJnRvdGFsKSA9PSAxKSB7Ci0gICAgICByZXN1bHQgPSAoaW50KSAodG90YWwgLyAoUEFHRV9TSVpFLzEwMjQpKTsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgfQotICBmY2xvc2UoZnApOwotICByZXR1cm4gcmVzdWx0OwotfQotCi1zdGF0aWMgaW50IF9fc3lzY29uZl9waHlzX3BhZ2VzKCkgewotICByZXR1cm4gX19nZXRfbWVtaW5mbygiTWVtVG90YWw6ICVsZCBrQiIpOwotfQotCi1zdGF0aWMgaW50IF9fc3lzY29uZl9hdnBoeXNfcGFnZXMoKSB7Ci0gIHJldHVybiBfX2dldF9tZW1pbmZvKCJNZW1GcmVlOiAlbGQga0IiKTsKLX0KIAogc3RhdGljIGludCBfX3N5c2NvbmZfbW9ub3RvbmljX2Nsb2NrKCkgewogICB0aW1lc3BlYyB0OwpAQCAtMTUwLDIwMCArNDcsMTc0IEBACiAgIHJldHVybiAocmMgPT0gLTEpID8gLTEgOiBfUE9TSVhfVkVSU0lPTjsKIH0KIAorc3RhdGljIGJvb2wgX19zeXNjb25mX2hhc19jbG9jayhjbG9ja2lkX3QgY2xvY2tfaWQpIHsKKyAgcmV0dXJuIGNsb2NrX2dldHJlcyhjbG9ja19pZCwgTlVMTCkgPT0gMDsKK30KKworc3RhdGljIGxvbmcgX19zeXNjb25mX3JsaW1pdChpbnQgcmVzb3VyY2UpIHsKKyAgcmxpbWl0IHJsOworICBnZXRybGltaXQocmVzb3VyY2UsICZybCk7CisgIHJldHVybiBybC5ybGltX2N1cjsKK30KKwogbG9uZyBzeXNjb25mKGludCBuYW1lKSB7Ci0gICAgc3dpdGNoIChuYW1lKSB7Ci0jaWZkZWYgX1BPU0lYX0FSR19NQVgKLSAgICBjYXNlIF9TQ19BUkdfTUFYOiAgICAgICAgICAgcmV0dXJuIF9QT1NJWF9BUkdfTUFYOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYMl9CQ19CQVNFX01BWAotICAgIGNhc2UgX1NDX0JDX0JBU0VfTUFYOiAgICAgICByZXR1cm4gX1BPU0lYMl9CQ19CQVNFX01BWDsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWDJfQkNfRElNX01BWAotICAgIGNhc2UgX1NDX0JDX0RJTV9NQVg6ICAgICAgICByZXR1cm4gX1BPU0lYMl9CQ19ESU1fTUFYOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYMl9CQ19TQ0FMRV9NQVgKLSAgICBjYXNlIF9TQ19CQ19TQ0FMRV9NQVg6ICAgICAgcmV0dXJuIF9QT1NJWDJfQkNfU0NBTEVfTUFYOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYMl9CQ19TVFJJTkdfTUFYCi0gICAgY2FzZSBfU0NfQkNfU1RSSU5HX01BWDogICAgIHJldHVybiBfUE9TSVgyX0JDX1NUUklOR19NQVg7Ci0jZW5kaWYKLSAgICBjYXNlIF9TQ19DSElMRF9NQVg6ICAgICAgICAgcmV0dXJuIENISUxEX01BWDsKLSAgICBjYXNlIF9TQ19DTEtfVENLOiAgICAgICAgICAgcmV0dXJuIFNZU1RFTV9DTEtfVENLOwotI2lmZGVmIF9QT1NJWDJfQ09MTF9XRUlHSFRTX01BU0sKLSAgICBjYXNlIF9TQ19DT0xMX1dFSUdIVFNfTUFYOiAgcmV0dXJuIF9QT1NJWDJfQ09MTF9XRUlHSFRTX01BU0s7Ci0jZW5kaWYKLSNpZmRlZiBfUE9TSVgyX0VYUFJfTkVTVF9NQVgKLSAgICBjYXNlIF9TQ19FWFBSX05FU1RfTUFYOiAgICByZXR1cm4gX1BPU0lYMl9FWFBSX05FU1RfTUFYOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYMl9MSU5FX01BWAotICAgIGNhc2UgX1NDX0xJTkVfTUFYOiAgICAgICAgICByZXR1cm4gX1BPU0lYMl9MSU5FX01BWDsKLSNlbmRpZgorICBzd2l0Y2ggKG5hbWUpIHsKKyAgICBjYXNlIF9TQ19BUkdfTUFYOiAgICAgICAgICAgcmV0dXJuIEFSR19NQVg7CisgICAgY2FzZSBfU0NfQkNfQkFTRV9NQVg6ICAgICAgIHJldHVybiBfUE9TSVgyX0JDX0JBU0VfTUFYOyAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfQkNfRElNX01BWDogICAgICAgIHJldHVybiBfUE9TSVgyX0JDX0RJTV9NQVg7ICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfQkNfU0NBTEVfTUFYOiAgICAgIHJldHVybiBfUE9TSVgyX0JDX1NDQUxFX01BWDsgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfQkNfU1RSSU5HX01BWDogICAgIHJldHVybiBfUE9TSVgyX0JDX1NUUklOR19NQVg7IC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfQ0hJTERfTUFYOiAgICAgICAgIHJldHVybiBfX3N5c2NvbmZfcmxpbWl0KFJMSU1JVF9OUFJPQyk7CisgICAgY2FzZSBfU0NfQ0xLX1RDSzogICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxsb25nPihnZXRhdXh2YWwoQVRfQ0xLVENLKSk7CisgICAgY2FzZSBfU0NfQ09MTF9XRUlHSFRTX01BWDogIHJldHVybiBfUE9TSVgyX0NPTExfV0VJR0hUU19NQVg7ICAvLyBNaW5pbXVtIHJlcXVpcmVtZW50LgorICAgIGNhc2UgX1NDX0VYUFJfTkVTVF9NQVg6ICAgICByZXR1cm4gX1BPU0lYMl9FWFBSX05FU1RfTUFYOyAgICAgLy8gTWluaW11bSByZXF1aXJlbWVudC4KKyAgICBjYXNlIF9TQ19MSU5FX01BWDogICAgICAgICAgcmV0dXJuIF9QT1NJWDJfTElORV9NQVg7ICAgICAgICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCiAgICAgY2FzZSBfU0NfTkdST1VQU19NQVg6ICAgICAgIHJldHVybiBOR1JPVVBTX01BWDsKLSAgICBjYXNlIF9TQ19PUEVOX01BWDogICAgICAgICAgcmV0dXJuIE9QRU5fTUFYOwotICAgIC8vY2FzZSBfU0NfUEFTU19NQVg6ICAgICAgICAgIHJldHVybiBQQVNTX01BWDsKLSAgICBjYXNlIF9TQ18yX0NfQklORDogICAgICAgICAgcmV0dXJuIFNZU1RFTV8yX0NfQklORDsKLSAgICBjYXNlIF9TQ18yX0NfREVWOiAgICAgICAgICAgcmV0dXJuIFNZU1RFTV8yX0NfREVWOwotICAgIGNhc2UgX1NDXzJfQ19WRVJTSU9OOiAgICAgICByZXR1cm4gU1lTVEVNXzJfQ19WRVI7Ci0gICAgLy9jYXNlIF9TQ18yX0NIQVJfVEVSTTogICAgICAgICByZXR1cm4gOwotICAgIGNhc2UgX1NDXzJfRk9SVF9ERVY6ICAgICAgICByZXR1cm4gU1lTVEVNXzJfRk9SVF9ERVY7Ci0gICAgY2FzZSBfU0NfMl9GT1JUX1JVTjogICAgICAgIHJldHVybiBTWVNURU1fMl9GT1JUX1JVTjsKLSAgICBjYXNlIF9TQ18yX0xPQ0FMRURFRjogICAgICAgcmV0dXJuIFNZU1RFTV8yX0xPQ0FMRURFRjsKLSAgICBjYXNlIF9TQ18yX1NXX0RFVjogICAgICAgICAgcmV0dXJuIFNZU1RFTV8yX1NXX0RFVjsKLSAgICBjYXNlIF9TQ18yX1VQRTogICAgICAgICAgICAgcmV0dXJuIFNZU1RFTV8yX1VQRTsKLSAgICBjYXNlIF9TQ18yX1ZFUlNJT046ICAgICAgICAgcmV0dXJuIFNZU1RFTV8yX1ZFUlNJT047Ci0jaWZkZWYgX1BPU0lYX0pPQl9DT05UUk9MCisgICAgY2FzZSBfU0NfT1BFTl9NQVg6ICAgICAgICAgIHJldHVybiBfX3N5c2NvbmZfcmxpbWl0KFJMSU1JVF9OT0ZJTEUpOworICAgIGNhc2UgX1NDX1BBU1NfTUFYOiAgICAgICAgICByZXR1cm4gUEFTU19NQVg7CisgICAgY2FzZSBfU0NfMl9DX0JJTkQ6ICAgICAgICAgIHJldHVybiBfUE9TSVgyX0NfQklORDsKKyAgICBjYXNlIF9TQ18yX0NfREVWOiAgICAgICAgICAgcmV0dXJuIF9QT1NJWDJfQ19ERVY7CisgICAgY2FzZSBfU0NfMl9DSEFSX1RFUk06ICAgICAgIHJldHVybiBfUE9TSVgyX0NIQVJfVEVSTTsKKyAgICBjYXNlIF9TQ18yX0ZPUlRfREVWOiAgICAgICAgcmV0dXJuIC0xOworICAgIGNhc2UgX1NDXzJfRk9SVF9SVU46ICAgICAgICByZXR1cm4gLTE7CisgICAgY2FzZSBfU0NfMl9MT0NBTEVERUY6ICAgICAgIHJldHVybiBfUE9TSVgyX0xPQ0FMRURFRjsKKyAgICBjYXNlIF9TQ18yX1NXX0RFVjogICAgICAgICAgcmV0dXJuIF9QT1NJWDJfU1dfREVWOworICAgIGNhc2UgX1NDXzJfVVBFOiAgICAgICAgICAgICByZXR1cm4gX1BPU0lYMl9VUEU7CisgICAgY2FzZSBfU0NfMl9WRVJTSU9OOiAgICAgICAgIHJldHVybiBfUE9TSVgyX1ZFUlNJT047CiAgICAgY2FzZSBfU0NfSk9CX0NPTlRST0w6ICAgICAgIHJldHVybiBfUE9TSVhfSk9CX0NPTlRST0w7Ci0jZW5kaWYKLSNpZmRlZiBfUE9TSVhfU0FWRURfSURTCiAgICAgY2FzZSBfU0NfU0FWRURfSURTOiAgICAgICAgIHJldHVybiBfUE9TSVhfU0FWRURfSURTOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYX1ZFUlNJT04KICAgICBjYXNlIF9TQ19WRVJTSU9OOiAgICAgICAgICAgcmV0dXJuIF9QT1NJWF9WRVJTSU9OOwotI2VuZGlmCi0gICAgLy9jYXNlIF9TQ19SRV9EVVBfPEFYOiAgICAgICAgcmV0dXJuIDsKKyAgICBjYXNlIF9TQ19SRV9EVVBfTUFYOiAgICAgICAgcmV0dXJuIF9QT1NJWF9SRV9EVVBfTUFYOyAgICAgICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCiAgICAgY2FzZSBfU0NfU1RSRUFNX01BWDogICAgICAgIHJldHVybiBGT1BFTl9NQVg7Ci0gICAgLy9jYXNlIF9TQ19UWk5BTUVfTUFYOiAgICAgICAgcmV0dXJuIDsKLSNpZiBfWE9QRU5fQ1JZUFQKKyAgICBjYXNlIF9TQ19UWk5BTUVfTUFYOiAgICAgICAgcmV0dXJuIF9QT1NJWF9UWk5BTUVfTUFYOyAgICAgICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCiAgICAgY2FzZSBfU0NfWE9QRU5fQ1JZUFQ6ICAgICAgIHJldHVybiBfWE9QRU5fQ1JZUFQ7Ci0jZW5kaWYKLSNpZmRlZiBfWE9QRU5fRU5IX0kxOE4KICAgICBjYXNlIF9TQ19YT1BFTl9FTkhfSTE4TjogICAgcmV0dXJuIF9YT1BFTl9FTkhfSTE4TjsKLSNlbmRpZgotI2lmZGVmIF9YT1BFTl9TSE0KICAgICBjYXNlIF9TQ19YT1BFTl9TSE06ICAgICAgICAgcmV0dXJuIF9YT1BFTl9TSE07Ci0jZW5kaWYKLSNpZmRlZiBfWE9QRU5fVkVSU0lPTgogICAgIGNhc2UgX1NDX1hPUEVOX1ZFUlNJT046ICAgICByZXR1cm4gX1hPUEVOX1ZFUlNJT047Ci0jZW5kaWYKLSNpZmRlZiBfWE9QRU5fWENVX1ZFUlNJT04KLSAgICBjYXNlIF9TQ19YT1BFTl9YQ1VfVkVSU0lPTjogcmV0dXJuIF9YT1BFTl9YQ1VfVkVSU0lPTjsKLSNlbmRpZgotI2lmZGVmIF9YT1BFTl9SRUFMVElNRQogICAgIGNhc2UgX1NDX1hPUEVOX1JFQUxUSU1FOiAgICByZXR1cm4gX1hPUEVOX1JFQUxUSU1FOwotI2VuZGlmCi0jaWZkZWYgX1hPUEVOX1JFQUxUSU1FX1RIUkVBRFMKICAgICBjYXNlIF9TQ19YT1BFTl9SRUFMVElNRV9USFJFQURTOiByZXR1cm4gX1hPUEVOX1JFQUxUSU1FX1RIUkVBRFM7Ci0jZW5kaWYKLSNpZmRlZiBfWE9QRU5fTEVHQUNZCiAgICAgY2FzZSBfU0NfWE9QRU5fTEVHQUNZOiAgICAgIHJldHVybiBfWE9QRU5fTEVHQUNZOwotI2VuZGlmCi0gICAgY2FzZSBfU0NfQVRFWElUX01BWDogICAgICAgIHJldHVybiBTWVNURU1fQVRFWElUX01BWDsKLSAgICBjYXNlIF9TQ19JT1ZfTUFYOiAgICAgICAgICAgcmV0dXJuIFNZU1RFTV9JT1ZfTUFYOworICAgIGNhc2UgX1NDX0FURVhJVF9NQVg6ICAgICAgICByZXR1cm4gTE9OR19NQVg7ICAgIC8vIFVubGltaXRlZC4KKyAgICBjYXNlIF9TQ19JT1ZfTUFYOiAgICAgICAgICAgcmV0dXJuIFVJT19NQVhJT1Y7CiAKLSAgICBjYXNlIF9TQ19QQUdFU0laRToKLSAgICBjYXNlIF9TQ19QQUdFX1NJWkU6Ci0gICAgICAgIHJldHVybiBQQUdFX1NJWkU7Ci0KLSNpZmRlZiBfWE9QRU5fVU5JWAorICAgIGNhc2UgX1NDX1BBR0VTSVpFOiAgICAgICAgICAvLyBGYWxsIHRocm91Z2gsIFBBR0VTSVpFIGFuZCBQQUdFX1NJWkUgYWx3YXlzIGhvbGQgdGhlIHNhbWUgdmFsdWUuCisgICAgY2FzZSBfU0NfUEFHRV9TSVpFOiAgICAgICAgIHJldHVybiBQQUdFX1NJWkU7CiAgICAgY2FzZSBfU0NfWE9QRU5fVU5JWDogICAgICAgIHJldHVybiBfWE9QRU5fVU5JWDsKLSNlbmRpZgotCi0gICAgLy8gWFhYOiBUT0RPOiBYQlM1IG5vbnNlbnNlCi0KLSNpZmRlZiBBSU9fTElTVElPX01BWAotICAgIGNhc2UgX1NDX0FJT19MSVNUSU9fTUFYOiAgICAgICByZXR1cm4gQUlPX0xJU1RJT19NQVg7Ci0jZW5kaWYKLSNpZmRlZiBBSU9fTUFYCi0gICAgY2FzZSBfU0NfQUlPX01BWDogICAgICAgICAgICAgIHJldHVybiBBSU9fTUFYOwotI2VuZGlmCi0jaWZkZWYgQUlPX1BSSU9fREVMVEFfTUFYCi0gICAgY2FzZSBfU0NfQUlPX1BSSU9fREVMVEFfTUFYOiAgIHJldHVybiBBSU9fUFJJT19ERUxUQV9NQVg7Ci0jZW5kaWYKLSAgICBjYXNlIF9TQ19ERUxBWVRJTUVSX01BWDogICAgcmV0dXJuIFNZU1RFTV9ERUxBWVRJTUVSX01BWDsKLSAgICBjYXNlIF9TQ19NUV9PUEVOX01BWDogICAgICAgcmV0dXJuIFNZU1RFTV9NUV9PUEVOX01BWDsKLSAgICBjYXNlIF9TQ19NUV9QUklPX01BWDogICAgICAgcmV0dXJuIFNZU1RFTV9NUV9QUklPX01BWDsKKyAgICBjYXNlIF9TQ19BSU9fTElTVElPX01BWDogICAgcmV0dXJuIF9QT1NJWF9BSU9fTElTVElPX01BWDsgICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfQUlPX01BWDogICAgICAgICAgIHJldHVybiBfUE9TSVhfQUlPX01BWDsgICAgICAgICAgICAvLyBNaW5pbXVtIHJlcXVpcmVtZW50LgorICAgIGNhc2UgX1NDX0FJT19QUklPX0RFTFRBX01BWDpyZXR1cm4gMDsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWluaW11bSByZXF1aXJlbWVudC4KKyAgICBjYXNlIF9TQ19ERUxBWVRJTUVSX01BWDogICAgcmV0dXJuIElOVF9NQVg7CisgICAgY2FzZSBfU0NfTVFfT1BFTl9NQVg6ICAgICAgIHJldHVybiBfUE9TSVhfTVFfT1BFTl9NQVg7ICAgICAgICAvLyBNaW5pbXVtIHJlcXVpcmVtZW50LgorICAgIGNhc2UgX1NDX01RX1BSSU9fTUFYOiAgICAgICByZXR1cm4gX1BPU0lYX01RX1BSSU9fTUFYOyAgICAgICAgLy8gTWluaW11bSByZXF1aXJlbWVudC4KICAgICBjYXNlIF9TQ19SVFNJR19NQVg6ICAgICAgICAgcmV0dXJuIFJUU0lHX01BWDsKLSAgICBjYXNlIF9TQ19TRU1fTlNFTVNfTUFYOiAgICAgcmV0dXJuIFNZU1RFTV9TRU1fTlNFTVNfTUFYOwotICAgIGNhc2UgX1NDX1NFTV9WQUxVRV9NQVg6ICAgICByZXR1cm4gU1lTVEVNX1NFTV9WQUxVRV9NQVg7Ci0gICAgY2FzZSBfU0NfU0lHUVVFVUVfTUFYOiAgICAgIHJldHVybiBTWVNURU1fU0lHUVVFVUVfTUFYOwotICAgIGNhc2UgX1NDX1RJTUVSX01BWDogICAgICAgICByZXR1cm4gU1lTVEVNX1RJTUVSX01BWDsKLSNpZmRlZiBfUE9TSVhfQVNZTkNIUk9OT1VTX0lPCisgICAgY2FzZSBfU0NfU0VNX05TRU1TX01BWDogICAgIHJldHVybiBfUE9TSVhfU0VNX05TRU1TX01BWDsgICAgICAvLyBNaW5pbXVtIHJlcXVpcmVtZW50LgorICAgIGNhc2UgX1NDX1NFTV9WQUxVRV9NQVg6ICAgICByZXR1cm4gU0VNX1ZBTFVFX01BWDsKKyAgICBjYXNlIF9TQ19TSUdRVUVVRV9NQVg6ICAgICAgcmV0dXJuIF9QT1NJWF9TSUdRVUVVRV9NQVg7ICAgICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfVElNRVJfTUFYOiAgICAgICAgIHJldHVybiBfUE9TSVhfVElNRVJfTUFYOyAgICAgICAgICAvLyBNaW5pbXVtIHJlcXVpcmVtZW50LgogICAgIGNhc2UgX1NDX0FTWU5DSFJPTk9VU19JTzogICByZXR1cm4gX1BPU0lYX0FTWU5DSFJPTk9VU19JTzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9GU1lOQwogICAgIGNhc2UgX1NDX0ZTWU5DOiAgICAgICAgICAgICByZXR1cm4gX1BPU0lYX0ZTWU5DOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYX01BUFBFRF9GSUxFUwogICAgIGNhc2UgX1NDX01BUFBFRF9GSUxFUzogICAgICByZXR1cm4gX1BPU0lYX01BUFBFRF9GSUxFUzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9NRU1MT0NLCiAgICAgY2FzZSBfU0NfTUVNTE9DSzogICAgICAgICAgIHJldHVybiBfUE9TSVhfTUVNTE9DSzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9NRU1MT0NLX1JBTkdFCi0gICAgY2FzZSBfU0NfTUVNTE9DS19SQU5HRTogICAgIHJldHVybiBfUE9TSVhfTUVNTE9DS19SQU5HRQotI2VuZGlmCi0jaWZkZWYgX1BPU0lYX01FTU9SWV9QUk9URUNUSU9OCisgICAgY2FzZSBfU0NfTUVNTE9DS19SQU5HRTogICAgIHJldHVybiBfUE9TSVhfTUVNTE9DS19SQU5HRTsKICAgICBjYXNlIF9TQ19NRU1PUllfUFJPVEVDVElPTjogcmV0dXJuIF9QT1NJWF9NRU1PUllfUFJPVEVDVElPTjsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9NRVNTQUdFX1BBU1NJTkcKICAgICBjYXNlIF9TQ19NRVNTQUdFX1BBU1NJTkc6ICAgcmV0dXJuIF9QT1NJWF9NRVNTQUdFX1BBU1NJTkc7Ci0jZW5kaWYKLSNpZmRlZiBfUE9TSVhfUFJJT1JJVElaRURfSU8KICAgICBjYXNlIF9TQ19QUklPUklUSVpFRF9JTzogICAgcmV0dXJuIF9QT1NJWF9QUklPUklUSVpFRF9JTzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9QUklPUklUWV9TQ0hFRFVMSU5HCiAgICAgY2FzZSBfU0NfUFJJT1JJVFlfU0NIRURVTElORzogIHJldHVybiBfUE9TSVhfUFJJT1JJVFlfU0NIRURVTElORzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9SRUFMVElNRV9TSUdOQUxTCiAgICAgY2FzZSBfU0NfUkVBTFRJTUVfU0lHTkFMUzogIHJldHVybiBfUE9TSVhfUkVBTFRJTUVfU0lHTkFMUzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9TRU1BUEhPUkVTCiAgICAgY2FzZSBfU0NfU0VNQVBIT1JFUzogICAgICAgIHJldHVybiBfUE9TSVhfU0VNQVBIT1JFUzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9TSEFSRURfTUVNT1JZX09CSkVDVFMKICAgICBjYXNlIF9TQ19TSEFSRURfTUVNT1JZX09CSkVDVFM6ICByZXR1cm4gX1BPU0lYX1NIQVJFRF9NRU1PUllfT0JKRUNUUzsKLSNlbmRpZgotI2lmZGVmIF9QT1NJWF9TWU5DSFJPTklaRURfSU8KICAgICBjYXNlIF9TQ19TWU5DSFJPTklaRURfSU86ICAgcmV0dXJuIF9QT1NJWF9TWU5DSFJPTklaRURfSU87Ci0jZW5kaWYKLSNpZmRlZiBfUE9TSVhfVElNRVJTCiAgICAgY2FzZSBfU0NfVElNRVJTOiAgICAgICAgICAgIHJldHVybiBfUE9TSVhfVElNRVJTOwotI2VuZGlmCi0KLSAgICBjYXNlIF9TQ19HRVRHUl9SX1NJWkVfTUFYOiByZXR1cm4gMTAyNDsKLSAgICBjYXNlIF9TQ19HRVRQV19SX1NJWkVfTUFYOiByZXR1cm4gMTAyNDsKLQotICAgIGNhc2UgX1NDX0xPR0lOX05BTUVfTUFYOiAgICByZXR1cm4gU1lTVEVNX0xPR0lOX05BTUVfTUFYOwotCi0gICAgY2FzZSBfU0NfVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUzoKLSAgICAgIHJldHVybiBfUE9TSVhfVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUzsKLQotICAgIGNhc2UgX1NDX1RIUkVBRF9LRVlTX01BWDoKLSAgICAgIHJldHVybiAoQklPTklDX1RMU19TTE9UUyAtIFRMU19TTE9UX0ZJUlNUX1VTRVJfU0xPVCAtIEJJT05JQ19UTFNfUkVTRVJWRURfU0xPVFMpOwotCisgICAgY2FzZSBfU0NfR0VUR1JfUl9TSVpFX01BWDogIHJldHVybiAxMDI0OworICAgIGNhc2UgX1NDX0dFVFBXX1JfU0laRV9NQVg6ICByZXR1cm4gMTAyNDsKKyAgICBjYXNlIF9TQ19MT0dJTl9OQU1FX01BWDogICAgcmV0dXJuIDI1NjsgICAvLyBTZWVtcyBkZWZhdWx0IG9uIGxpbnV4LgorICAgIGNhc2UgX1NDX1RIUkVBRF9ERVNUUlVDVE9SX0lURVJBVElPTlM6IHJldHVybiBQVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUzsKKyAgICBjYXNlIF9TQ19USFJFQURfS0VZU19NQVg6ICAgcmV0dXJuIFBUSFJFQURfS0VZU19NQVg7CiAgICAgY2FzZSBfU0NfVEhSRUFEX1NUQUNLX01JTjogICAgcmV0dXJuIFBUSFJFQURfU1RBQ0tfTUlOOwotICAgIGNhc2UgX1NDX1RIUkVBRF9USFJFQURTX01BWDogIHJldHVybiBTWVNURU1fVEhSRUFEX1RIUkVBRFNfTUFYOwotICAgIGNhc2UgX1NDX1RUWV9OQU1FX01BWDogICAgICAgIHJldHVybiBTWVNURU1fVFRZX05BTUVfTUFYOwotI2lmZGVmIF9QT1NJWF9USFJFQURTCisgICAgY2FzZSBfU0NfVEhSRUFEX1RIUkVBRFNfTUFYOiAgcmV0dXJuIFBUSFJFQURfVEhSRUFEU19NQVg7CisgICAgY2FzZSBfU0NfVFRZX05BTUVfTUFYOiAgICAgICAgcmV0dXJuIDMyOyAgLy8gU2VlbXMgZGVmYXVsdCBvbiBsaW51eC4KICAgICBjYXNlIF9TQ19USFJFQURTOiAgICAgICAgICAgICByZXR1cm4gX1BPU0lYX1RIUkVBRFM7Ci0jZW5kaWYKLQotICAgIGNhc2UgX1NDX1RIUkVBRF9BVFRSX1NUQUNLQUREUjogICByZXR1cm4gLTE7IC8vIFJlbW92ZWQgaW4gUE9TSVggMjAwOAotICAgIGNhc2UgX1NDX1RIUkVBRF9BVFRSX1NUQUNLU0laRTogICByZXR1cm4gLTE7IC8vIFJlbW92ZWQgaW4gUE9TSVggMjAwOAotCi0jaWZkZWYgX1BPU0lYX1RIUkVBRF9QUklPUklUWV9TQ0hFRFVMSU5HCisgICAgY2FzZSBfU0NfVEhSRUFEX0FUVFJfU1RBQ0tBRERSOiAgIHJldHVybiBfUE9TSVhfVEhSRUFEX0FUVFJfU1RBQ0tBRERSOworICAgIGNhc2UgX1NDX1RIUkVBRF9BVFRSX1NUQUNLU0laRTogICByZXR1cm4gX1BPU0lYX1RIUkVBRF9BVFRSX1NUQUNLU0laRTsKICAgICBjYXNlIF9TQ19USFJFQURfUFJJT1JJVFlfU0NIRURVTElORzogIHJldHVybiBfUE9TSVhfVEhSRUFEX1BSSU9SSVRZX1NDSEVEVUxJTkc7Ci0jZW5kaWYKLSNpZmRlZiBfUE9TSVhfVEhSRUFEX1BSSU9fSU5IRVJJVAotICAgIGNhc2UgX1NDX1RIUkVBRF9QUklPX0lOSEVSSVQ6ICAgICAgICAgcmV0dXJuIF9QT1NJWF9USFJFQURfUFJJT19JTkhFUklUOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYX1RIUkVBRF9QUklPX1BST1RFQ1QKKyAgICBjYXNlIF9TQ19USFJFQURfUFJJT19JTkhFUklUOiByZXR1cm4gX1BPU0lYX1RIUkVBRF9QUklPX0lOSEVSSVQ7CiAgICAgY2FzZSBfU0NfVEhSRUFEX1BSSU9fUFJPVEVDVDogcmV0dXJuIF9QT1NJWF9USFJFQURfUFJJT19QUk9URUNUOwotI2VuZGlmCi0jaWZkZWYgX1BPU0lYX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUwotICAgIGNhc2UgX1NDX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUzogIHJldHVybiBfUE9TSVhfVEhSRUFEX1NBRkVfRlVOQ1RJT05TCi0jZW5kaWYKLQorICAgIGNhc2UgX1NDX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUzogIHJldHVybiBfUE9TSVhfVEhSRUFEX1NBRkVfRlVOQ1RJT05TOworICAgIGNhc2UgX1NDX05QUk9DRVNTT1JTX0NPTkY6ICByZXR1cm4gZ2V0X25wcm9jc19jb25mKCk7CisgICAgY2FzZSBfU0NfTlBST0NFU1NPUlNfT05MTjogIHJldHVybiBnZXRfbnByb2NzKCk7CisgICAgY2FzZSBfU0NfUEhZU19QQUdFUzogICAgICAgIHJldHVybiBnZXRfcGh5c19wYWdlcygpOworICAgIGNhc2UgX1NDX0FWUEhZU19QQUdFUzogICAgICByZXR1cm4gZ2V0X2F2cGh5c19wYWdlcygpOwogICAgIGNhc2UgX1NDX01PTk9UT05JQ19DTE9DSzogICByZXR1cm4gX19zeXNjb25mX21vbm90b25pY19jbG9jaygpOwotICAgIGNhc2UgX1NDX05QUk9DRVNTT1JTX0NPTkY6ICByZXR1cm4gX19zeXNjb25mX25wcm9jZXNzb3JzX2NvbmYoKTsKLSAgICBjYXNlIF9TQ19OUFJPQ0VTU09SU19PTkxOOiAgcmV0dXJuIF9fc3lzY29uZl9ucHJvY2Vzc29yc19vbmxuKCk7Ci0gICAgY2FzZSBfU0NfUEhZU19QQUdFUzogICAgICAgIHJldHVybiBfX3N5c2NvbmZfcGh5c19wYWdlcygpOwotICAgIGNhc2UgX1NDX0FWUEhZU19QQUdFUzogICAgICByZXR1cm4gX19zeXNjb25mX2F2cGh5c19wYWdlcygpOworCisgICAgY2FzZSBfU0NfMl9QQlM6ICAgICAgICAgICAgIHJldHVybiAtMTsgICAgIC8vIE9ic29sZXNjZW50IGluIFBPU0lYLjEtMjAwOC4KKyAgICBjYXNlIF9TQ18yX1BCU19BQ0NPVU5USU5HOiAgcmV0dXJuIC0xOyAgICAgLy8gT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LgorICAgIGNhc2UgX1NDXzJfUEJTX0NIRUNLUE9JTlQ6ICByZXR1cm4gLTE7ICAgICAvLyBPYnNvbGVzY2VudCBpbiBQT1NJWC4xLTIwMDguCisgICAgY2FzZSBfU0NfMl9QQlNfTE9DQVRFOiAgICAgIHJldHVybiAtMTsgICAgIC8vIE9ic29sZXNjZW50IGluIFBPU0lYLjEtMjAwOC4KKyAgICBjYXNlIF9TQ18yX1BCU19NRVNTQUdFOiAgICAgcmV0dXJuIC0xOyAgICAgLy8gT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LgorICAgIGNhc2UgX1NDXzJfUEJTX1RSQUNLOiAgICAgICByZXR1cm4gLTE7ICAgICAvLyBPYnNvbGVzY2VudCBpbiBQT1NJWC4xLTIwMDguCisgICAgY2FzZSBfU0NfQURWSVNPUllfSU5GTzogICAgIHJldHVybiBfUE9TSVhfQURWSVNPUllfSU5GTzsKKyAgICBjYXNlIF9TQ19CQVJSSUVSUzogICAgICAgICAgcmV0dXJuIF9QT1NJWF9CQVJSSUVSUzsKKyAgICBjYXNlIF9TQ19DTE9DS19TRUxFQ1RJT046ICAgcmV0dXJuIF9QT1NJWF9DTE9DS19TRUxFQ1RJT047CisgICAgY2FzZSBfU0NfQ1BVVElNRToKKyAgICAgIHJldHVybiBfX3N5c2NvbmZfaGFzX2Nsb2NrKENMT0NLX1BST0NFU1NfQ1BVVElNRV9JRCkgP19QT1NJWF9WRVJTSU9OIDogLTE7CisKKyAgICBjYXNlIF9TQ19IT1NUX05BTUVfTUFYOiAgICAgcmV0dXJuIF9QT1NJWF9IT1NUX05BTUVfTUFYOyAgICAvLyBNaW5pbXVtIHJlcXVpcmVtZW50LgorICAgIGNhc2UgX1NDX0lQVjY6ICAgICAgICAgICAgICByZXR1cm4gX1BPU0lYX0lQVjY7CisgICAgY2FzZSBfU0NfUkFXX1NPQ0tFVFM6ICAgICAgIHJldHVybiBfUE9TSVhfUkFXX1NPQ0tFVFM7CisgICAgY2FzZSBfU0NfUkVBREVSX1dSSVRFUl9MT0NLUzogcmV0dXJuIF9QT1NJWF9SRUFERVJfV1JJVEVSX0xPQ0tTOworICAgIGNhc2UgX1NDX1JFR0VYUDogICAgICAgICAgICByZXR1cm4gX1BPU0lYX1JFR0VYUDsKKyAgICBjYXNlIF9TQ19TSEVMTDogICAgICAgICAgICAgcmV0dXJuIF9QT1NJWF9TSEVMTDsKKyAgICBjYXNlIF9TQ19TUEFXTjogICAgICAgICAgICAgcmV0dXJuIF9QT1NJWF9TUEFXTjsKKyAgICBjYXNlIF9TQ19TUElOX0xPQ0tTOiAgICAgICAgcmV0dXJuIF9QT1NJWF9TUElOX0xPQ0tTOworICAgIGNhc2UgX1NDX1NQT1JBRElDX1NFUlZFUjogICByZXR1cm4gX1BPU0lYX1NQT1JBRElDX1NFUlZFUjsKKyAgICBjYXNlIF9TQ19TU19SRVBMX01BWDogICAgICAgcmV0dXJuIC0xOworICAgIGNhc2UgX1NDX1NZTUxPT1BfTUFYOiAgICAgICByZXR1cm4gX1BPU0lYX1NZTUxPT1BfTUFYOyAgICAgIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQuCisgICAgY2FzZSBfU0NfVEhSRUFEX0NQVVRJTUU6CisgICAgICByZXR1cm4gX19zeXNjb25mX2hhc19jbG9jayhDTE9DS19USFJFQURfQ1BVVElNRV9JRCkgPyBfUE9TSVhfVkVSU0lPTiA6IC0xOworCisgICAgY2FzZSBfU0NfVEhSRUFEX1BST0NFU1NfU0hBUkVEOiByZXR1cm4gX1BPU0lYX1RIUkVBRF9QUk9DRVNTX1NIQVJFRDsKKyAgICBjYXNlIF9TQ19USFJFQURfUk9CVVNUX1BSSU9fSU5IRVJJVDogIHJldHVybiBfUE9TSVhfVEhSRUFEX1JPQlVTVF9QUklPX0lOSEVSSVQ7CisgICAgY2FzZSBfU0NfVEhSRUFEX1JPQlVTVF9QUklPX1BST1RFQ1Q6ICByZXR1cm4gX1BPU0lYX1RIUkVBRF9ST0JVU1RfUFJJT19QUk9URUNUOworICAgIGNhc2UgX1NDX1RIUkVBRF9TUE9SQURJQ19TRVJWRVI6ICAgICAgcmV0dXJuIF9QT1NJWF9USFJFQURfU1BPUkFESUNfU0VSVkVSOworICAgIGNhc2UgX1NDX1RJTUVPVVRTOiAgICAgICAgICByZXR1cm4gX1BPU0lYX1RJTUVPVVRTOworICAgIGNhc2UgX1NDX1RSQUNFOiAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgICAgICAgIC8vIE9ic29sZXNjZW50IGluIFBPU0lYLjEtMjAwOC4KKyAgICBjYXNlIF9TQ19UUkFDRV9FVkVOVF9GSUxURVI6ICAgICAgcmV0dXJuIC0xOyAgICAgICAvLyBPYnNvbGVzY2VudCBpbiBQT1NJWC4xLTIwMDguCisgICAgY2FzZSBfU0NfVFJBQ0VfRVZFTlRfTkFNRV9NQVg6ICAgIHJldHVybiAtMTsKKyAgICBjYXNlIF9TQ19UUkFDRV9JTkhFUklUOiAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgICAvLyBPYnNvbGVzY2VudCBpbiBQT1NJWC4xLTIwMDguCisgICAgY2FzZSBfU0NfVFJBQ0VfTE9HOiAgICAgICAgIHJldHVybiAtMTsgICAgICAgICAgICAgLy8gT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LgorICAgIGNhc2UgX1NDX1RSQUNFX05BTUVfTUFYOiAgICByZXR1cm4gLTE7CisgICAgY2FzZSBfU0NfVFJBQ0VfU1lTX01BWDogICAgIHJldHVybiAtMTsKKyAgICBjYXNlIF9TQ19UUkFDRV9VU0VSX0VWRU5UX01BWDogICAgcmV0dXJuIC0xOworICAgIGNhc2UgX1NDX1RZUEVEX01FTU9SWV9PQkpFQ1RTOiAgICByZXR1cm4gX1BPU0lYX1RZUEVEX01FTU9SWV9PQkpFQ1RTOworICAgIGNhc2UgX1NDX1Y3X0lMUDMyX09GRjMyOiAgICByZXR1cm4gX1BPU0lYX1Y3X0lMUDMyX09GRjMyOworICAgIGNhc2UgX1NDX1Y3X0lMUDMyX09GRkJJRzogICByZXR1cm4gX1BPU0lYX1Y3X0lMUDMyX09GRkJJRzsKKyAgICBjYXNlIF9TQ19WN19MUDY0X09GRjY0OiAgICAgcmV0dXJuIF9QT1NJWF9WN19MUDY0X09GRjY0OworICAgIGNhc2UgX1NDX1Y3X0xQQklHX09GRkJJRzogICByZXR1cm4gX1BPU0lYX1Y3X0xQQklHX09GRkJJRzsKKyAgICBjYXNlIF9TQ19YT1BFTl9TVFJFQU1TOiAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgIC8vIE9ic29sZXNjZW50IGluIFBPU0lYLjEtMjAwOC4KKyAgICBjYXNlIF9TQ19YT1BFTl9VVUNQOiAgICAgICAgcmV0dXJuIC0xOworCisgICAgLy8gV2UgZG8gbm90IGhhdmUgYWN0dWFsIGltcGxlbWVudGF0aW9ucyBmb3IgY2FjaGUgcXVlcmllcy4KKyAgICAvLyBJdCdzIHZhbGlkIHRvIHJldHVybiAwIGFzIHRoZSByZXN1bHQgaXMgdW5rbm93bi4KKyAgICBjYXNlIF9TQ19MRVZFTDFfSUNBQ0hFX1NJWkU6ICAgICAgcmV0dXJuIDA7CisgICAgY2FzZSBfU0NfTEVWRUwxX0lDQUNIRV9BU1NPQzogICAgIHJldHVybiAwOworICAgIGNhc2UgX1NDX0xFVkVMMV9JQ0FDSEVfTElORVNJWkU6ICByZXR1cm4gMDsKKyAgICBjYXNlIF9TQ19MRVZFTDFfRENBQ0hFX1NJWkU6ICAgICAgcmV0dXJuIDA7CisgICAgY2FzZSBfU0NfTEVWRUwxX0RDQUNIRV9BU1NPQzogICAgIHJldHVybiAwOworICAgIGNhc2UgX1NDX0xFVkVMMV9EQ0FDSEVfTElORVNJWkU6ICByZXR1cm4gMDsKKyAgICBjYXNlIF9TQ19MRVZFTDJfQ0FDSEVfU0laRTogICAgICAgcmV0dXJuIDA7CisgICAgY2FzZSBfU0NfTEVWRUwyX0NBQ0hFX0FTU09DOiAgICAgIHJldHVybiAwOworICAgIGNhc2UgX1NDX0xFVkVMMl9DQUNIRV9MSU5FU0laRTogICByZXR1cm4gMDsKKyAgICBjYXNlIF9TQ19MRVZFTDNfQ0FDSEVfU0laRTogICAgICAgcmV0dXJuIDA7CisgICAgY2FzZSBfU0NfTEVWRUwzX0NBQ0hFX0FTU09DOiAgICAgIHJldHVybiAwOworICAgIGNhc2UgX1NDX0xFVkVMM19DQUNIRV9MSU5FU0laRTogICByZXR1cm4gMDsKKyAgICBjYXNlIF9TQ19MRVZFTDRfQ0FDSEVfU0laRTogICAgICAgcmV0dXJuIDA7CisgICAgY2FzZSBfU0NfTEVWRUw0X0NBQ0hFX0FTU09DOiAgICAgIHJldHVybiAwOworICAgIGNhc2UgX1NDX0xFVkVMNF9DQUNIRV9MSU5FU0laRTogICByZXR1cm4gMDsKIAogICAgIGRlZmF1bHQ6Ci0gICAgICAgLyogUG9zaXggc2F5cyBFSU5WQUwgaXMgdGhlIG9ubHkgZXJyb3IgdGhhdCBzaGFsbCBiZSByZXR1cm5lZCwKLSAgICAgICAgKiBidXQgR0xpYmMgdXNlcyBFTk9TWVMgKi8KLSAgICAgICAgZXJybm8gPSBFTk9TWVM7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9CisgICAgICAvLyBQb3NpeCBzYXlzIEVJTlZBTCBpcyB0aGUgb25seSBlcnJvciB0aGF0IHNoYWxsIGJlIHJldHVybmVkLAorICAgICAgLy8gYnV0IGdsaWJjIHVzZXMgRU5PU1lTLgorICAgICAgZXJybm8gPSBFTk9TWVM7CisgICAgICByZXR1cm4gLTE7CisgIH0KIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3N5c2luZm8uY3BwIGIvbGliYy9iaW9uaWMvc3lzaW5mby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJjYjc2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYmlvbmljL3N5c2luZm8uY3BwCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzeXMvc3lzaW5mby5oPgorCisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgInByaXZhdGUvU2NvcGVkUmVhZGRpci5oIgorCitzdGF0aWMgYm9vbCBfX21hdGNoZXNfY3B1Tihjb25zdCBjaGFyKiBzKSB7CisgIC8vIFRoZSAlYyB0cmljayBpcyB0byBlbnN1cmUgdGhhdCB3ZSBoYXZlIHRoZSBhbmNob3JlZCBtYXRjaCAiXmNwdVswLTldKyQiLgorICB1bnNpZ25lZCBjcHU7CisgIGNoYXIgZHVtbXk7CisgIHJldHVybiAoc3NjYW5mKHMsICJjcHUldSVjIiwgJmNwdSwgJmR1bW15KSA9PSAxKTsKK30KKworaW50IGdldF9ucHJvY3NfY29uZigpIHsKKyAgLy8gT24geDg2IGtlcm5lbHMgeW91IGNhbiB1c2UgL3Byb2MvY3B1aW5mbyBmb3IgdGhpcywgYnV0IG9uIEFSTSBrZXJuZWxzIG9mZmxpbmUgQ1BVcyBkaXNhcHBlYXIKKyAgLy8gZnJvbSB0aGVyZS4gVGhpcyBtZXRob2Qgd29ya3Mgb24gYm90aC4KKyAgU2NvcGVkUmVhZGRpciByZWFkZXIoIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1Iik7CisgIGlmIChyZWFkZXIuSXNCYWQoKSkgeworICAgIHJldHVybiAxOworICB9CisKKyAgaW50IHJlc3VsdCA9IDA7CisgIGRpcmVudCogZW50cnk7CisgIHdoaWxlICgoZW50cnkgPSByZWFkZXIuUmVhZEVudHJ5KCkpICE9IE5VTEwpIHsKKyAgICBpZiAoZW50cnktPmRfdHlwZSA9PSBEVF9ESVIgJiYgX19tYXRjaGVzX2NwdU4oZW50cnktPmRfbmFtZSkpIHsKKyAgICAgICsrcmVzdWx0OworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgZ2V0X25wcm9jcygpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2Mvc3RhdCIsICJyZSIpOworICBpZiAoZnAgPT0gTlVMTCkgeworICAgIHJldHVybiAxOworICB9CisKKyAgaW50IHJlc3VsdCA9IDA7CisgIGNoYXIgYnVmWzI1Nl07CisgIHdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmcCkgIT0gTlVMTCkgeworICAgIC8vIEV4dHJhY3QganVzdCB0aGUgZmlyc3Qgd29yZCBmcm9tIHRoZSBsaW5lLgorICAgIC8vICdjcHUwIDc5NzY3NTEgMTM2NDM4OCAzMTE2ODQyIDQ2OTc3MDM4OCA4NjI5NDA1IDAgNDkwNDcgMCAwIDAnCisgICAgY2hhciogcCA9IHN0cmNocihidWYsICcgJyk7CisgICAgaWYgKHAgIT0gTlVMTCkgeworICAgICAgKnAgPSAwOworICAgIH0KKyAgICBpZiAoX19tYXRjaGVzX2NwdU4oYnVmKSkgeworICAgICAgKytyZXN1bHQ7CisgICAgfQorICB9CisgIGZjbG9zZShmcCk7CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgX19nZXRfbWVtaW5mb19wYWdlX2NvdW50KGNvbnN0IGNoYXIqIHBhdHRlcm4pIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2MvbWVtaW5mbyIsICJyZSIpOworICBpZiAoZnAgPT0gTlVMTCkgeworICAgIHJldHVybiAtMTsKKyAgfQorCisgIGludCBwYWdlX2NvdW50ID0gLTE7CisgIGNoYXIgYnVmWzI1Nl07CisgIHdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmcCkgIT0gTlVMTCkgeworICAgIGxvbmcgdG90YWw7CisgICAgaWYgKHNzY2FuZihidWYsIHBhdHRlcm4sICZ0b3RhbCkgPT0gMSkgeworICAgICAgcGFnZV9jb3VudCA9IHN0YXRpY19jYXN0PGludD4odG90YWwgLyAoUEFHRV9TSVpFIC8gMTAyNCkpOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIGZjbG9zZShmcCk7CisgIHJldHVybiBwYWdlX2NvdW50OworfQorCitsb25nIGdldF9waHlzX3BhZ2VzKCkgeworICByZXR1cm4gX19nZXRfbWVtaW5mb19wYWdlX2NvdW50KCJNZW1Ub3RhbDogJWxkIGtCIik7Cit9CisKK2xvbmcgZ2V0X2F2cGh5c19wYWdlcygpIHsKKyAgcmV0dXJuIF9fZ2V0X21lbWluZm9fcGFnZV9jb3VudCgiTWVtRnJlZTogJWxkIGtCIik7Cit9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9zeXNsb2cuY3BwIGIvbGliYy9iaW9uaWMvc3lzbG9nLmNwcAppbmRleCBkOGI4YjE5Li44ZTNmMzRmIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9zeXNsb2cuY3BwCisrKyBiL2xpYmMvYmlvbmljL3N5c2xvZy5jcHAKQEAgLTE2LDYgKzE2LDcgQEAKIAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lzbG9nLmg+CiAKICNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvc3lzdGVtX3Byb3BlcnRpZXMuY3BwIGIvbGliYy9iaW9uaWMvc3lzdGVtX3Byb3BlcnRpZXMuY3BwCmluZGV4IDBlMTZiZjMuLmFhZTk5YjEgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3N5c3RlbV9wcm9wZXJ0aWVzLmNwcAorKysgYi9saWJjL2Jpb25pYy9zeXN0ZW1fcHJvcGVydGllcy5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAjaW5jbHVkZSA8bmV3PgorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CkBAIC00NSwxMyArNDYsMTEgQEAKICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KIAogI2RlZmluZSBfUkVBTExZX0lOQ0xVREVfU1lTX19TWVNURU1fUFJPUEVSVElFU19IXwogI2luY2x1ZGUgPHN5cy9fc3lzdGVtX3Byb3BlcnRpZXMuaD4KICNpbmNsdWRlIDxzeXMvc3lzdGVtX3Byb3BlcnRpZXMuaD4KIAotI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2F0b21pY19pbmxpbmUuaCIKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19mdXRleC5oIgogI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX21hY3Jvcy5oIgogCkBAIC04MCwxMiArNzksMjYgQEAKICAgICB1aW50OF90IG5hbWVsZW47CiAgICAgdWludDhfdCByZXNlcnZlZFszXTsKIAotICAgIHZvbGF0aWxlIHVpbnQzMl90IHByb3A7CisgICAgLy8gVGhlIHByb3BlcnR5IHRyaWUgaXMgdXBkYXRlZCBvbmx5IGJ5IHRoZSBpbml0IHByb2Nlc3MgKHNpbmdsZSB0aHJlYWRlZCkgd2hpY2ggcHJvdmlkZXMKKyAgICAvLyBwcm9wZXJ0eSBzZXJ2aWNlLiBBbmQgaXQgY2FuIGJlIHJlYWQgYnkgbXVsdGlwbGUgdGhyZWFkcyBhdCB0aGUgc2FtZSB0aW1lLgorICAgIC8vIEFzIHRoZSBwcm9wZXJ0eSB0cmllIGlzIG5vdCBwcm90ZWN0ZWQgYnkgbG9ja3MsIHdlIHVzZSBhdG9taWNfdWludF9sZWFzdDMyX3QgdHlwZXMgZm9yIHRoZQorICAgIC8vIGxlZnQsIHJpZ2h0LCBjaGlsZHJlbiAicG9pbnRlcnMiIGluIHRoZSB0cmllIG5vZGUuIFRvIG1ha2Ugc3VyZSByZWFkZXJzIHdobyBzZWUgdGhlCisgICAgLy8gY2hhbmdlIG9mICJwb2ludGVycyIgY2FuIGFsc28gbm90aWNlIHRoZSBjaGFuZ2Ugb2YgcHJvcF9idCBzdHJ1Y3R1cmUgY29udGVudHMgcG9pbnRlZCBieQorICAgIC8vIHRoZSAicG9pbnRlcnMiLCB3ZSBhbHdheXMgdXNlIHJlbGVhc2UtY29uc3VtZSBvcmRlcmluZyBwYWlyIHdoZW4gYWNjZXNzaW5nIHRoZXNlICJwb2ludGVycyIuCiAKLSAgICB2b2xhdGlsZSB1aW50MzJfdCBsZWZ0OwotICAgIHZvbGF0aWxlIHVpbnQzMl90IHJpZ2h0OworICAgIC8vIHByb3AgInBvaW50cyIgdG8gcHJvcF9pbmZvIHN0cnVjdHVyZSBpZiB0aGVyZSBpcyBhIHByb3BlcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSB0cmllIG5vZGUuCisgICAgLy8gSXRzIHNpdHVhdGlvbiBpcyBzaW1pbGFyIHRvIHRoZSBsZWZ0LCByaWdodCwgY2hpbGRyZW4gInBvaW50ZXJzIi4gU28gd2UgdXNlCisgICAgLy8gYXRvbWljX3VpbnRfbGVhc3QzMl90IGFuZCByZWxlYXNlLWNvbnN1bWUgb3JkZXJpbmcgdG8gcHJvdGVjdCBpdCBhcyB3ZWxsLgogCi0gICAgdm9sYXRpbGUgdWludDMyX3QgY2hpbGRyZW47CisgICAgLy8gV2Ugc2hvdWxkIGFsc28gYXZvaWQgcmVyZWFkaW5nIHRoZXNlIGZpZWxkcyByZWR1bmRhbnRseSwgc2luY2Ugbm90CisgICAgLy8gYWxsIHByb2Nlc3NvciBpbXBsZW1lbnRhdGlvbnMgZW5zdXJlIHRoYXQgbXVsdGlwbGUgbG9hZHMgZnJvbSB0aGUKKyAgICAvLyBzYW1lIGZpZWxkIGFyZSBjYXJyaWVkIG91dCBpbiB0aGUgcmlnaHQgb3JkZXIuCisgICAgYXRvbWljX3VpbnRfbGVhc3QzMl90IHByb3A7CisKKyAgICBhdG9taWNfdWludF9sZWFzdDMyX3QgbGVmdDsKKyAgICBhdG9taWNfdWludF9sZWFzdDMyX3QgcmlnaHQ7CisKKyAgICBhdG9taWNfdWludF9sZWFzdDMyX3QgY2hpbGRyZW47CiAKICAgICBjaGFyIG5hbWVbMF07CiAKQEAgLTkzLDcgKzEwNiw2IEBACiAgICAgICAgIHRoaXMtPm5hbWVsZW4gPSBuYW1lX2xlbmd0aDsKICAgICAgICAgbWVtY3B5KHRoaXMtPm5hbWUsIG5hbWUsIG5hbWVfbGVuZ3RoKTsKICAgICAgICAgdGhpcy0+bmFtZVtuYW1lX2xlbmd0aF0gPSAnXDAnOwotICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMTAyLDE0ICsxMTQsMTUgQEAKIAogc3RydWN0IHByb3BfYXJlYSB7CiAgICAgdWludDMyX3QgYnl0ZXNfdXNlZDsKLSAgICB2b2xhdGlsZSB1aW50MzJfdCBzZXJpYWw7CisgICAgYXRvbWljX3VpbnRfbGVhc3QzMl90IHNlcmlhbDsKICAgICB1aW50MzJfdCBtYWdpYzsKICAgICB1aW50MzJfdCB2ZXJzaW9uOwogICAgIHVpbnQzMl90IHJlc2VydmVkWzI4XTsKICAgICBjaGFyIGRhdGFbMF07CiAKICAgICBwcm9wX2FyZWEoY29uc3QgdWludDMyX3QgbWFnaWMsIGNvbnN0IHVpbnQzMl90IHZlcnNpb24pIDoKLSAgICAgICAgc2VyaWFsKDApLCBtYWdpYyhtYWdpYyksIHZlcnNpb24odmVyc2lvbikgeworICAgICAgICBtYWdpYyhtYWdpYyksIHZlcnNpb24odmVyc2lvbikgeworICAgICAgICBhdG9taWNfaW5pdCgmc2VyaWFsLCAwKTsKICAgICAgICAgbWVtc2V0KHJlc2VydmVkLCAwLCBzaXplb2YocmVzZXJ2ZWQpKTsKICAgICAgICAgLy8gQWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciB0aGUgcm9vdCBub2RlLgogICAgICAgICBieXRlc191c2VkID0gc2l6ZW9mKHByb3BfYnQpOwpAQCAtMTIwLDcgKzEzMyw3IEBACiB9OwogCiBzdHJ1Y3QgcHJvcF9pbmZvIHsKLSAgICB2b2xhdGlsZSB1aW50MzJfdCBzZXJpYWw7CisgICAgYXRvbWljX3VpbnRfbGVhc3QzMl90IHNlcmlhbDsKICAgICBjaGFyIHZhbHVlW1BST1BfVkFMVUVfTUFYXTsKICAgICBjaGFyIG5hbWVbMF07CiAKQEAgLTEyOCwxMCArMTQxLDkgQEAKICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCB2YWx1ZWxlbikgewogICAgICAgICBtZW1jcHkodGhpcy0+bmFtZSwgbmFtZSwgbmFtZWxlbik7CiAgICAgICAgIHRoaXMtPm5hbWVbbmFtZWxlbl0gPSAnXDAnOwotICAgICAgICB0aGlzLT5zZXJpYWwgPSAodmFsdWVsZW4gPDwgMjQpOworICAgICAgICBhdG9taWNfaW5pdCgmdGhpcy0+c2VyaWFsLCB2YWx1ZWxlbiA8PCAyNCk7CiAgICAgICAgIG1lbWNweSh0aGlzLT52YWx1ZSwgdmFsdWUsIHZhbHVlbGVuKTsKICAgICAgICAgdGhpcy0+dmFsdWVbdmFsdWVsZW5dID0gJ1wwJzsKLSAgICAgICAgQU5EUk9JRF9NRU1CQVJfRlVMTCgpOwogICAgIH0KIHByaXZhdGU6CiAgICAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKHByb3BfaW5mbyk7CkBAIC0xODgsMTQgKzIwMCw2IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICAvLyBUT0RPOiBJcyB0aGlzIHJlYWxseSByZXF1aXJlZCA/IERvZXMgYW5kcm9pZCBydW4gb24gYW55IGtlcm5lbHMgdGhhdAotICAgIC8vIGRvbid0IHN1cHBvcnQgT19DTE9FWEVDID8KLSAgICBjb25zdCBpbnQgcmV0ID0gZmNudGwoZmQsIEZfU0VURkQsIEZEX0NMT0VYRUMpOwotICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgIGNsb3NlKGZkKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQogICAgIGlmIChmdHJ1bmNhdGUoZmQsIFBBX1NJWkUpIDwgMCkgewogICAgICAgICBjbG9zZShmZCk7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTI1OCwxOCArMjYyLDkgQEAKIAogc3RhdGljIGludCBtYXBfcHJvcF9hcmVhKCkKIHsKLSAgICBpbnQgZmQob3Blbihwcm9wZXJ0eV9maWxlbmFtZSwgT19SRE9OTFkgfCBPX05PRk9MTE9XIHwgT19DTE9FWEVDKSk7Ci0gICAgaWYgKGZkID49IDApIHsKLSAgICAgICAgLyogRm9yIG9sZCBrZXJuZWxzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBPX0NMT0VYRUMgKi8KLSAgICAgICAgY29uc3QgaW50IHJldCA9IGZjbnRsKGZkLCBGX1NFVEZELCBGRF9DTE9FWEVDKTsKLSAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAgICAgIGNsb3NlKGZkKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgIH0KLQorICAgIGludCBmZCA9IG9wZW4ocHJvcGVydHlfZmlsZW5hbWUsIE9fQ0xPRVhFQyB8IE9fTk9GT0xMT1cgfCBPX1JET05MWSk7CiAgICAgYm9vbCBjbG9zZV9mZCA9IHRydWU7Ci0gICAgaWYgKChmZCA8IDApICYmIChlcnJubyA9PSBFTk9FTlQpKSB7CisgICAgaWYgKGZkID09IC0xICYmIGVycm5vID09IEVOT0VOVCkgewogICAgICAgICAvKgogICAgICAgICAgKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGlmIHRoZSBmaWxlIGRvZXNuJ3QKICAgICAgICAgICogZXhpc3QsIHdlIHVzZSB0aGUgZW52aXJvbm1lbnQgdG8gZ2V0IHRoZSBmaWxlIGRlc2NyaXB0b3IuCkBAIC0yOTUsMTAgKzI5MCwxMCBAQAogICAgIHJldHVybiBtYXBfcmVzdWx0OwogfQogCi1zdGF0aWMgdm9pZCAqYWxsb2NhdGVfb2JqKGNvbnN0IHNpemVfdCBzaXplLCB1aW50MzJfdCAqY29uc3Qgb2ZmKQorc3RhdGljIHZvaWQgKmFsbG9jYXRlX29iaihjb25zdCBzaXplX3Qgc2l6ZSwgdWludF9sZWFzdDMyX3QgKmNvbnN0IG9mZikKIHsKICAgICBwcm9wX2FyZWEgKnBhID0gX19zeXN0ZW1fcHJvcGVydHlfYXJlYV9fOwotICAgIGNvbnN0IHNpemVfdCBhbGlnbmVkID0gQklPTklDX0FMSUdOKHNpemUsIHNpemVvZih1aW50MzJfdCkpOworICAgIGNvbnN0IHNpemVfdCBhbGlnbmVkID0gQklPTklDX0FMSUdOKHNpemUsIHNpemVvZih1aW50X2xlYXN0MzJfdCkpOwogICAgIGlmIChwYS0+Ynl0ZXNfdXNlZCArIGFsaWduZWQgPiBwYV9kYXRhX3NpemUpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMzA4LDEyICszMDMsMTIgQEAKICAgICByZXR1cm4gcGEtPmRhdGEgKyAqb2ZmOwogfQogCi1zdGF0aWMgcHJvcF9idCAqbmV3X3Byb3BfYnQoY29uc3QgY2hhciAqbmFtZSwgdWludDhfdCBuYW1lbGVuLCB1aW50MzJfdCAqY29uc3Qgb2ZmKQorc3RhdGljIHByb3BfYnQgKm5ld19wcm9wX2J0KGNvbnN0IGNoYXIgKm5hbWUsIHVpbnQ4X3QgbmFtZWxlbiwgdWludF9sZWFzdDMyX3QgKmNvbnN0IG9mZikKIHsKLSAgICB1aW50MzJfdCBuZXdfb2Zmc2V0OwotICAgIHZvaWQgKmNvbnN0IG9mZnNldCA9IGFsbG9jYXRlX29iaihzaXplb2YocHJvcF9idCkgKyBuYW1lbGVuICsgMSwgJm5ld19vZmZzZXQpOwotICAgIGlmIChvZmZzZXQpIHsKLSAgICAgICAgcHJvcF9idCogYnQgPSBuZXcob2Zmc2V0KSBwcm9wX2J0KG5hbWUsIG5hbWVsZW4pOworICAgIHVpbnRfbGVhc3QzMl90IG5ld19vZmZzZXQ7CisgICAgdm9pZCAqY29uc3QgcCA9IGFsbG9jYXRlX29iaihzaXplb2YocHJvcF9idCkgKyBuYW1lbGVuICsgMSwgJm5ld19vZmZzZXQpOworICAgIGlmIChwICE9IE5VTEwpIHsKKyAgICAgICAgcHJvcF9idCogYnQgPSBuZXcocCkgcHJvcF9idChuYW1lLCBuYW1lbGVuKTsKICAgICAgICAgKm9mZiA9IG5ld19vZmZzZXQ7CiAgICAgICAgIHJldHVybiBidDsKICAgICB9CkBAIC0zMjIsMjAgKzMxNywyMCBAQAogfQogCiBzdGF0aWMgcHJvcF9pbmZvICpuZXdfcHJvcF9pbmZvKGNvbnN0IGNoYXIgKm5hbWUsIHVpbnQ4X3QgbmFtZWxlbiwKLSAgICAgICAgY29uc3QgY2hhciAqdmFsdWUsIHVpbnQ4X3QgdmFsdWVsZW4sIHVpbnQzMl90ICpjb25zdCBvZmYpCisgICAgICAgIGNvbnN0IGNoYXIgKnZhbHVlLCB1aW50OF90IHZhbHVlbGVuLCB1aW50X2xlYXN0MzJfdCAqY29uc3Qgb2ZmKQogewotICAgIHVpbnQzMl90IG9mZl90bXA7Ci0gICAgdm9pZCogY29uc3Qgb2Zmc2V0ID0gYWxsb2NhdGVfb2JqKHNpemVvZihwcm9wX2luZm8pICsgbmFtZWxlbiArIDEsICZvZmZfdG1wKTsKLSAgICBpZiAob2Zmc2V0KSB7Ci0gICAgICAgIHByb3BfaW5mbyogaW5mbyA9IG5ldyhvZmZzZXQpIHByb3BfaW5mbyhuYW1lLCBuYW1lbGVuLCB2YWx1ZSwgdmFsdWVsZW4pOwotICAgICAgICAqb2ZmID0gb2ZmX3RtcDsKKyAgICB1aW50X2xlYXN0MzJfdCBuZXdfb2Zmc2V0OworICAgIHZvaWQqIGNvbnN0IHAgPSBhbGxvY2F0ZV9vYmooc2l6ZW9mKHByb3BfaW5mbykgKyBuYW1lbGVuICsgMSwgJm5ld19vZmZzZXQpOworICAgIGlmIChwICE9IE5VTEwpIHsKKyAgICAgICAgcHJvcF9pbmZvKiBpbmZvID0gbmV3KHApIHByb3BfaW5mbyhuYW1lLCBuYW1lbGVuLCB2YWx1ZSwgdmFsdWVsZW4pOworICAgICAgICAqb2ZmID0gbmV3X29mZnNldDsKICAgICAgICAgcmV0dXJuIGluZm87CiAgICAgfQogCiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyB2b2lkICp0b19wcm9wX29iaihjb25zdCB1aW50MzJfdCBvZmYpCitzdGF0aWMgdm9pZCAqdG9fcHJvcF9vYmoodWludF9sZWFzdDMyX3Qgb2ZmKQogewogICAgIGlmIChvZmYgPiBwYV9kYXRhX3NpemUpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMzQ1LDcgKzM0MCwxNyBAQAogICAgIHJldHVybiAoX19zeXN0ZW1fcHJvcGVydHlfYXJlYV9fLT5kYXRhICsgb2ZmKTsKIH0KIAotc3RhdGljIHByb3BfYnQgKnJvb3Rfbm9kZSgpCitzdGF0aWMgaW5saW5lIHByb3BfYnQgKnRvX3Byb3BfYnQoYXRvbWljX3VpbnRfbGVhc3QzMl90KiBvZmZfcCkgeworICB1aW50X2xlYXN0MzJfdCBvZmYgPSBhdG9taWNfbG9hZF9leHBsaWNpdChvZmZfcCwgbWVtb3J5X29yZGVyX2NvbnN1bWUpOworICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxwcm9wX2J0Kj4odG9fcHJvcF9vYmoob2ZmKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgcHJvcF9pbmZvICp0b19wcm9wX2luZm8oYXRvbWljX3VpbnRfbGVhc3QzMl90KiBvZmZfcCkgeworICB1aW50X2xlYXN0MzJfdCBvZmYgPSBhdG9taWNfbG9hZF9leHBsaWNpdChvZmZfcCwgbWVtb3J5X29yZGVyX2NvbnN1bWUpOworICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxwcm9wX2luZm8qPih0b19wcm9wX29iaihvZmYpKTsKK30KKworc3RhdGljIGlubGluZSBwcm9wX2J0ICpyb290X25vZGUoKQogewogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHByb3BfYnQqPih0b19wcm9wX29iaigwKSk7CiB9CkBAIC0zNzcsMzYgKzM4MiwzNCBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50LT5sZWZ0KSB7Ci0gICAgICAgICAgICAgICAgY3VycmVudCA9IHJlaW50ZXJwcmV0X2Nhc3Q8cHJvcF9idCo+KHRvX3Byb3Bfb2JqKGN1cnJlbnQtPmxlZnQpKTsKKyAgICAgICAgICAgIHVpbnRfbGVhc3QzMl90IGxlZnRfb2Zmc2V0ID0gYXRvbWljX2xvYWRfZXhwbGljaXQoJmN1cnJlbnQtPmxlZnQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICAgICAgICAgIGlmIChsZWZ0X29mZnNldCAhPSAwKSB7CisgICAgICAgICAgICAgICAgY3VycmVudCA9IHRvX3Byb3BfYnQoJmN1cnJlbnQtPmxlZnQpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWFsbG9jX2lmX25lZWRlZCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGVyZSBpc24ndCBhIHJhY2UgY29uZGl0aW9uIGhlcmUuICJjbGllbnRzIiBuZXZlcgotICAgICAgICAgICAgICAgIC8vIHJlYWNoIHRoaXMgY29kZS1wYXRoIHNpbmNlIEl0J3Mgb25seSB0aGUgKHNpbmdsZSB0aHJlYWRlZCkgc2VydmVyCi0gICAgICAgICAgICAgICAgLy8gdGhhdCBhbGxvY2F0ZXMgbmV3IG5vZGVzLiBUaG91Z2ggImJ0LT5sZWZ0IiBpcyB2b2xhdGlsZSwgaXQgY2FuJ3QKLSAgICAgICAgICAgICAgICAvLyBoYXZlIGNoYW5nZWQgc2luY2UgdGhlIGxhc3QgdmFsdWUgd2FzIGxhc3QgcmVhZC4KLSAgICAgICAgICAgICAgICB1aW50MzJfdCBuZXdfb2Zmc2V0ID0gMDsKKyAgICAgICAgICAgICAgICB1aW50X2xlYXN0MzJfdCBuZXdfb2Zmc2V0OwogICAgICAgICAgICAgICAgIHByb3BfYnQqIG5ld19idCA9IG5ld19wcm9wX2J0KG5hbWUsIG5hbWVsZW4sICZuZXdfb2Zmc2V0KTsKICAgICAgICAgICAgICAgICBpZiAobmV3X2J0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPmxlZnQgPSBuZXdfb2Zmc2V0OworICAgICAgICAgICAgICAgICAgICBhdG9taWNfc3RvcmVfZXhwbGljaXQoJmN1cnJlbnQtPmxlZnQsIG5ld19vZmZzZXQsIG1lbW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld19idDsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50LT5yaWdodCkgewotICAgICAgICAgICAgICAgIGN1cnJlbnQgPSByZWludGVycHJldF9jYXN0PHByb3BfYnQqPih0b19wcm9wX29iaihjdXJyZW50LT5yaWdodCkpOworICAgICAgICAgICAgdWludF9sZWFzdDMyX3QgcmlnaHRfb2Zmc2V0ID0gYXRvbWljX2xvYWRfZXhwbGljaXQoJmN1cnJlbnQtPnJpZ2h0LCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgICAgICAgICBpZiAocmlnaHRfb2Zmc2V0ICE9IDApIHsKKyAgICAgICAgICAgICAgICBjdXJyZW50ID0gdG9fcHJvcF9idCgmY3VycmVudC0+cmlnaHQpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWFsbG9jX2lmX25lZWRlZCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIHVpbnQzMl90IG5ld19vZmZzZXQ7CisgICAgICAgICAgICAgICAgdWludF9sZWFzdDMyX3QgbmV3X29mZnNldDsKICAgICAgICAgICAgICAgICBwcm9wX2J0KiBuZXdfYnQgPSBuZXdfcHJvcF9idChuYW1lLCBuYW1lbGVuLCAmbmV3X29mZnNldCk7CiAgICAgICAgICAgICAgICAgaWYgKG5ld19idCkgewotICAgICAgICAgICAgICAgICAgICBjdXJyZW50LT5yaWdodCA9IG5ld19vZmZzZXQ7CisgICAgICAgICAgICAgICAgICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmY3VycmVudC0+cmlnaHQsIG5ld19vZmZzZXQsIG1lbW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld19idDsKICAgICAgICAgICAgIH0KQEAgLTQzMywxMyArNDM2LDE0IEBACiAgICAgICAgIH0KIAogICAgICAgICBwcm9wX2J0KiByb290ID0gTlVMTDsKLSAgICAgICAgaWYgKGN1cnJlbnQtPmNoaWxkcmVuKSB7Ci0gICAgICAgICAgICByb290ID0gcmVpbnRlcnByZXRfY2FzdDxwcm9wX2J0Kj4odG9fcHJvcF9vYmooY3VycmVudC0+Y2hpbGRyZW4pKTsKKyAgICAgICAgdWludF9sZWFzdDMyX3QgY2hpbGRyZW5fb2Zmc2V0ID0gYXRvbWljX2xvYWRfZXhwbGljaXQoJmN1cnJlbnQtPmNoaWxkcmVuLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgICAgIGlmIChjaGlsZHJlbl9vZmZzZXQgIT0gMCkgeworICAgICAgICAgICAgcm9vdCA9IHRvX3Byb3BfYnQoJmN1cnJlbnQtPmNoaWxkcmVuKTsKICAgICAgICAgfSBlbHNlIGlmIChhbGxvY19pZl9uZWVkZWQpIHsKLSAgICAgICAgICAgIHVpbnQzMl90IG5ld19idF9vZmZzZXQ7Ci0gICAgICAgICAgICByb290ID0gbmV3X3Byb3BfYnQocmVtYWluaW5nX25hbWUsIHN1YnN0cl9zaXplLCAmbmV3X2J0X29mZnNldCk7CisgICAgICAgICAgICB1aW50X2xlYXN0MzJfdCBuZXdfb2Zmc2V0OworICAgICAgICAgICAgcm9vdCA9IG5ld19wcm9wX2J0KHJlbWFpbmluZ19uYW1lLCBzdWJzdHJfc2l6ZSwgJm5ld19vZmZzZXQpOwogICAgICAgICAgICAgaWYgKHJvb3QpIHsKLSAgICAgICAgICAgICAgICBjdXJyZW50LT5jaGlsZHJlbiA9IG5ld19idF9vZmZzZXQ7CisgICAgICAgICAgICAgICAgYXRvbWljX3N0b3JlX2V4cGxpY2l0KCZjdXJyZW50LT5jaGlsZHJlbiwgbmV3X29mZnNldCwgbWVtb3J5X29yZGVyX3JlbGVhc2UpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTQ1OCwxMyArNDYyLDE0IEBACiAgICAgICAgIHJlbWFpbmluZ19uYW1lID0gc2VwICsgMTsKICAgICB9CiAKLSAgICBpZiAoY3VycmVudC0+cHJvcCkgewotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxwcm9wX2luZm8qPih0b19wcm9wX29iaihjdXJyZW50LT5wcm9wKSk7CisgICAgdWludF9sZWFzdDMyX3QgcHJvcF9vZmZzZXQgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmY3VycmVudC0+cHJvcCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICAgIGlmIChwcm9wX29mZnNldCAhPSAwKSB7CisgICAgICAgIHJldHVybiB0b19wcm9wX2luZm8oJmN1cnJlbnQtPnByb3ApOwogICAgIH0gZWxzZSBpZiAoYWxsb2NfaWZfbmVlZGVkKSB7Ci0gICAgICAgIHVpbnQzMl90IG5ld19pbmZvX29mZnNldDsKLSAgICAgICAgcHJvcF9pbmZvKiBuZXdfaW5mbyA9IG5ld19wcm9wX2luZm8obmFtZSwgbmFtZWxlbiwgdmFsdWUsIHZhbHVlbGVuLCAmbmV3X2luZm9fb2Zmc2V0KTsKKyAgICAgICAgdWludF9sZWFzdDMyX3QgbmV3X29mZnNldDsKKyAgICAgICAgcHJvcF9pbmZvKiBuZXdfaW5mbyA9IG5ld19wcm9wX2luZm8obmFtZSwgbmFtZWxlbiwgdmFsdWUsIHZhbHVlbGVuLCAmbmV3X29mZnNldCk7CiAgICAgICAgIGlmIChuZXdfaW5mbykgewotICAgICAgICAgICAgY3VycmVudC0+cHJvcCA9IG5ld19pbmZvX29mZnNldDsKKyAgICAgICAgICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmY3VycmVudC0+cHJvcCwgbmV3X29mZnNldCwgbWVtb3J5X29yZGVyX3JlbGVhc2UpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIG5ld19pbmZvOwpAQCAtNTM4LDMxICs1NDMsMzQgQEAKICAgICBjb29raWUtPmNvdW50Kys7CiB9CiAKLXN0YXRpYyBpbnQgZm9yZWFjaF9wcm9wZXJ0eShjb25zdCB1aW50MzJfdCBvZmYsCitzdGF0aWMgaW50IGZvcmVhY2hfcHJvcGVydHkocHJvcF9idCAqY29uc3QgdHJpZSwKICAgICAgICAgdm9pZCAoKnByb3BmbikoY29uc3QgcHJvcF9pbmZvICpwaSwgdm9pZCAqY29va2llKSwgdm9pZCAqY29va2llKQogewotICAgIHByb3BfYnQgKnRyaWUgPSByZWludGVycHJldF9jYXN0PHByb3BfYnQqPih0b19wcm9wX29iaihvZmYpKTsKICAgICBpZiAoIXRyaWUpCiAgICAgICAgIHJldHVybiAtMTsKIAotICAgIGlmICh0cmllLT5sZWZ0KSB7Ci0gICAgICAgIGNvbnN0IGludCBlcnIgPSBmb3JlYWNoX3Byb3BlcnR5KHRyaWUtPmxlZnQsIHByb3BmbiwgY29va2llKTsKKyAgICB1aW50X2xlYXN0MzJfdCBsZWZ0X29mZnNldCA9IGF0b21pY19sb2FkX2V4cGxpY2l0KCZ0cmllLT5sZWZ0LCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgaWYgKGxlZnRfb2Zmc2V0ICE9IDApIHsKKyAgICAgICAgY29uc3QgaW50IGVyciA9IGZvcmVhY2hfcHJvcGVydHkodG9fcHJvcF9idCgmdHJpZS0+bGVmdCksIHByb3BmbiwgY29va2llKTsKICAgICAgICAgaWYgKGVyciA8IDApCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGlmICh0cmllLT5wcm9wKSB7Ci0gICAgICAgIHByb3BfaW5mbyAqaW5mbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8cHJvcF9pbmZvKj4odG9fcHJvcF9vYmoodHJpZS0+cHJvcCkpOworICAgIHVpbnRfbGVhc3QzMl90IHByb3Bfb2Zmc2V0ID0gYXRvbWljX2xvYWRfZXhwbGljaXQoJnRyaWUtPnByb3AsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICBpZiAocHJvcF9vZmZzZXQgIT0gMCkgeworICAgICAgICBwcm9wX2luZm8gKmluZm8gPSB0b19wcm9wX2luZm8oJnRyaWUtPnByb3ApOwogICAgICAgICBpZiAoIWluZm8pCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIHByb3BmbihpbmZvLCBjb29raWUpOwogICAgIH0KLSAgICBpZiAodHJpZS0+Y2hpbGRyZW4pIHsKLSAgICAgICAgY29uc3QgaW50IGVyciA9IGZvcmVhY2hfcHJvcGVydHkodHJpZS0+Y2hpbGRyZW4sIHByb3BmbiwgY29va2llKTsKKyAgICB1aW50X2xlYXN0MzJfdCBjaGlsZHJlbl9vZmZzZXQgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmdHJpZS0+Y2hpbGRyZW4sIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICBpZiAoY2hpbGRyZW5fb2Zmc2V0ICE9IDApIHsKKyAgICAgICAgY29uc3QgaW50IGVyciA9IGZvcmVhY2hfcHJvcGVydHkodG9fcHJvcF9idCgmdHJpZS0+Y2hpbGRyZW4pLCBwcm9wZm4sIGNvb2tpZSk7CiAgICAgICAgIGlmIChlcnIgPCAwKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBpZiAodHJpZS0+cmlnaHQpIHsKLSAgICAgICAgY29uc3QgaW50IGVyciA9IGZvcmVhY2hfcHJvcGVydHkodHJpZS0+cmlnaHQsIHByb3BmbiwgY29va2llKTsKKyAgICB1aW50X2xlYXN0MzJfdCByaWdodF9vZmZzZXQgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmdHJpZS0+cmlnaHQsIG1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICBpZiAocmlnaHRfb2Zmc2V0ICE9IDApIHsKKyAgICAgICAgY29uc3QgaW50IGVyciA9IGZvcmVhY2hfcHJvcGVydHkodG9fcHJvcF9idCgmdHJpZS0+cmlnaHQpLCBwcm9wZm4sIGNvb2tpZSk7CiAgICAgICAgIGlmIChlcnIgPCAwKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTU5OCw2ICs2MDYsMTQgQEAKICAgICByZXR1cm4gZmluZF9wcm9wZXJ0eShyb290X25vZGUoKSwgbmFtZSwgc3RybGVuKG5hbWUpLCBOVUxMLCAwLCBmYWxzZSk7CiB9CiAKKy8vIFRoZSBDMTEgc3RhbmRhcmQgZG9lc24ndCBhbGxvdyBhdG9taWMgbG9hZHMgZnJvbSBjb25zdCBmaWVsZHMsCisvLyB0aG91Z2ggQysrMTEgZG9lcy4gIEZ1ZGdlIGl0IHVudGlsIHN0YW5kYXJkcyBnZXQgc3RyYWlnaHRlbmVkIG91dC4KK3N0YXRpYyBpbmxpbmUgdWludF9sZWFzdDMyX3QgbG9hZF9jb25zdF9hdG9taWMoY29uc3QgYXRvbWljX3VpbnRfbGVhc3QzMl90KiBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnlfb3JkZXIgbW8pIHsKKyAgICBhdG9taWNfdWludF9sZWFzdDMyX3QqIG5vbl9jb25zdF9zID0gY29uc3RfY2FzdDxhdG9taWNfdWludF9sZWFzdDMyX3QqPihzKTsKKyAgICByZXR1cm4gYXRvbWljX2xvYWRfZXhwbGljaXQobm9uX2NvbnN0X3MsIG1vKTsKK30KKwogaW50IF9fc3lzdGVtX3Byb3BlcnR5X3JlYWQoY29uc3QgcHJvcF9pbmZvICpwaSwgY2hhciAqbmFtZSwgY2hhciAqdmFsdWUpCiB7CiAgICAgaWYgKF9fcHJlZGljdF9mYWxzZShjb21wYXRfbW9kZSkpIHsKQEAgLTYwNSwxMSArNjIxLDIwIEBACiAgICAgfQogCiAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgdWludDMyX3Qgc2VyaWFsID0gX19zeXN0ZW1fcHJvcGVydHlfc2VyaWFsKHBpKTsKKyAgICAgICAgdWludDMyX3Qgc2VyaWFsID0gX19zeXN0ZW1fcHJvcGVydHlfc2VyaWFsKHBpKTsgLy8gYWNxdWlyZSBzZW1hbnRpY3MKICAgICAgICAgc2l6ZV90IGxlbiA9IFNFUklBTF9WQUxVRV9MRU4oc2VyaWFsKTsKICAgICAgICAgbWVtY3B5KHZhbHVlLCBwaS0+dmFsdWUsIGxlbiArIDEpOwotICAgICAgICBBTkRST0lEX01FTUJBUl9GVUxMKCk7Ci0gICAgICAgIGlmIChzZXJpYWwgPT0gcGktPnNlcmlhbCkgeworICAgICAgICAvLyBUT0RPOiBGaXggdGhlIHN5bmNocm9uaXphdGlvbiBzY2hlbWUgaGVyZS4KKyAgICAgICAgLy8gVGhlcmUgaXMgbm8gZnVsbHkgc3VwcG9ydGVkIHdheSB0byBpbXBsZW1lbnQgdGhpcyBraW5kCisgICAgICAgIC8vIG9mIHN5bmNocm9uaXphdGlvbiBpbiBDKysxMSwgc2luY2UgdGhlIG1lbWNweSByYWNlcyB3aXRoCisgICAgICAgIC8vIHVwZGF0ZXMgdG8gcGksIGFuZCB0aGUgZGF0YSBiZWluZyBhY2Nlc3NlZCBpcyBub3QgYXRvbWljLgorICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGZlbmNlIGlzIHVuaW50dWl0aXZlLCBidXQgd291bGQgYmUgdGhlCisgICAgICAgIC8vIGNvcnJlY3Qgb25lIGlmIG1lbWNweSB1c2VkIG1lbW9yeV9vcmRlcl9yZWxheGVkIGF0b21pYyBhY2Nlc3Nlcy4KKyAgICAgICAgLy8gSW4gcHJhY3RpY2UgaXQgc2VlbXMgdW5saWtlbHkgdGhhdCB0aGUgZ2VuZXJhdGVkIGNvZGUgd291bGQKKyAgICAgICAgLy8gd291bGQgYmUgYW55IGRpZmZlcmVudCwgc28gdGhpcyBzaG91bGQgYmUgT0suCisgICAgICAgIGF0b21pY190aHJlYWRfZmVuY2UobWVtb3J5X29yZGVyX2FjcXVpcmUpOworICAgICAgICBpZiAoc2VyaWFsID09CisgICAgICAgICAgICAgICAgbG9hZF9jb25zdF9hdG9taWMoJihwaS0+c2VyaWFsKSwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpKSB7CiAgICAgICAgICAgICBpZiAobmFtZSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgc3RyY3B5KG5hbWUsIHBpLT5uYW1lKTsKICAgICAgICAgICAgIH0KQEAgLTY1OCwxNCArNjgzLDI0IEBACiAgICAgaWYgKGxlbiA+PSBQUk9QX1ZBTFVFX01BWCkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgcGktPnNlcmlhbCA9IHBpLT5zZXJpYWwgfCAxOwotICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKKyAgICB1aW50MzJfdCBzZXJpYWwgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmcGktPnNlcmlhbCwgbWVtb3J5X29yZGVyX3JlbGF4ZWQpOworICAgIHNlcmlhbCB8PSAxOworICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmcGktPnNlcmlhbCwgc2VyaWFsLCBtZW1vcnlfb3JkZXJfcmVsYXhlZCk7CisgICAgLy8gVGhlIG1lbWNweSBjYWxsIGhlcmUgYWxzbyByYWNlcy4gIEFnYWluIHByZXRlbmQgaXQKKyAgICAvLyB1c2VkIG1lbW9yeV9vcmRlcl9yZWxheGVkIGF0b21pY3MsIGFuZCB1c2UgdGhlIGFuYWxvZ291cworICAgIC8vIGNvdW50ZXJpbnR1aXRpdmUgZmVuY2UuCisgICAgYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcnlfb3JkZXJfcmVsZWFzZSk7CiAgICAgbWVtY3B5KHBpLT52YWx1ZSwgdmFsdWUsIGxlbiArIDEpOwotICAgIEFORFJPSURfTUVNQkFSX0ZVTEwoKTsKLSAgICBwaS0+c2VyaWFsID0gKGxlbiA8PCAyNCkgfCAoKHBpLT5zZXJpYWwgKyAxKSAmIDB4ZmZmZmZmKTsKKyAgICBhdG9taWNfc3RvcmVfZXhwbGljaXQoCisgICAgICAgICZwaS0+c2VyaWFsLAorICAgICAgICAobGVuIDw8IDI0KSB8ICgoc2VyaWFsICsgMSkgJiAweGZmZmZmZiksCisgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICBfX2Z1dGV4X3dha2UoJnBpLT5zZXJpYWwsIElOVDMyX01BWCk7CiAKLSAgICBwYS0+c2VyaWFsKys7CisgICAgYXRvbWljX3N0b3JlX2V4cGxpY2l0KAorICAgICAgICAmcGEtPnNlcmlhbCwKKyAgICAgICAgYXRvbWljX2xvYWRfZXhwbGljaXQoJnBhLT5zZXJpYWwsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSArIDEsCisgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICBfX2Z1dGV4X3dha2UoJnBhLT5zZXJpYWwsIElOVDMyX01BWCk7CiAKICAgICByZXR1cm4gMDsKQEAgLTY4OCwxNyArNzIzLDI1IEBACiAgICAgaWYgKCFwaSkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgcGEtPnNlcmlhbCsrOworICAgIC8vIFRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgbXV0YXRvciwgYnV0IHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQKKyAgICAvLyB1cGRhdGVzIGFyZSB2aXNpYmxlIHRvIGEgcmVhZGVyIHdhaXRpbmcgZm9yIHRoZSB1cGRhdGUuCisgICAgYXRvbWljX3N0b3JlX2V4cGxpY2l0KAorICAgICAgICAmcGEtPnNlcmlhbCwKKyAgICAgICAgYXRvbWljX2xvYWRfZXhwbGljaXQoJnBhLT5zZXJpYWwsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSArIDEsCisgICAgICAgIG1lbW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICBfX2Z1dGV4X3dha2UoJnBhLT5zZXJpYWwsIElOVDMyX01BWCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKKy8vIFdhaXQgZm9yIG5vbi1sb2NrZWQgc2VyaWFsLCBhbmQgcmV0cmlldmUgaXQgd2l0aCBhY3F1aXJlIHNlbWFudGljcy4KIHVuc2lnbmVkIGludCBfX3N5c3RlbV9wcm9wZXJ0eV9zZXJpYWwoY29uc3QgcHJvcF9pbmZvICpwaSkKIHsKLSAgICB1aW50MzJfdCBzZXJpYWwgPSBwaS0+c2VyaWFsOworICAgIHVpbnQzMl90IHNlcmlhbCA9IGxvYWRfY29uc3RfYXRvbWljKCZwaS0+c2VyaWFsLCBtZW1vcnlfb3JkZXJfYWNxdWlyZSk7CiAgICAgd2hpbGUgKFNFUklBTF9ESVJUWShzZXJpYWwpKSB7Ci0gICAgICAgIF9fZnV0ZXhfd2FpdChjb25zdF9jYXN0PHZvbGF0aWxlIHVpbnQzMl90Kj4oJnBpLT5zZXJpYWwpLCBzZXJpYWwsIE5VTEwpOwotICAgICAgICBzZXJpYWwgPSBwaS0+c2VyaWFsOworICAgICAgICBfX2Z1dGV4X3dhaXQoY29uc3RfY2FzdDx2b2xhdGlsZSB2b2lkICo+KAorICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkICo+KCZwaS0+c2VyaWFsKSksCisgICAgICAgICAgICAgICAgICAgICBzZXJpYWwsIE5VTEwpOworICAgICAgICBzZXJpYWwgPSBsb2FkX2NvbnN0X2F0b21pYygmcGktPnNlcmlhbCwgbWVtb3J5X29yZGVyX2FjcXVpcmUpOwogICAgIH0KICAgICByZXR1cm4gc2VyaWFsOwogfQpAQCAtNzA2LDEyICs3NDksMTQgQEAKIHVuc2lnbmVkIGludCBfX3N5c3RlbV9wcm9wZXJ0eV93YWl0X2FueSh1bnNpZ25lZCBpbnQgc2VyaWFsKQogewogICAgIHByb3BfYXJlYSAqcGEgPSBfX3N5c3RlbV9wcm9wZXJ0eV9hcmVhX187CisgICAgdWludDMyX3QgbXlfc2VyaWFsOwogCiAgICAgZG8gewogICAgICAgICBfX2Z1dGV4X3dhaXQoJnBhLT5zZXJpYWwsIHNlcmlhbCwgTlVMTCk7Ci0gICAgfSB3aGlsZSAocGEtPnNlcmlhbCA9PSBzZXJpYWwpOworICAgICAgICBteV9zZXJpYWwgPSBhdG9taWNfbG9hZF9leHBsaWNpdCgmcGEtPnNlcmlhbCwgbWVtb3J5X29yZGVyX2FjcXVpcmUpOworICAgIH0gd2hpbGUgKG15X3NlcmlhbCA9PSBzZXJpYWwpOwogCi0gICAgcmV0dXJuIHBhLT5zZXJpYWw7CisgICAgcmV0dXJuIG15X3NlcmlhbDsKIH0KIAogY29uc3QgcHJvcF9pbmZvICpfX3N5c3RlbV9wcm9wZXJ0eV9maW5kX250aCh1bnNpZ25lZCBuKQpAQCAtNzMzLDUgKzc3OCw1IEBACiAgICAgICAgIHJldHVybiBfX3N5c3RlbV9wcm9wZXJ0eV9mb3JlYWNoX2NvbXBhdChwcm9wZm4sIGNvb2tpZSk7CiAgICAgfQogCi0gICAgcmV0dXJuIGZvcmVhY2hfcHJvcGVydHkoMCwgcHJvcGZuLCBjb29raWUpOworICAgIHJldHVybiBmb3JlYWNoX3Byb3BlcnR5KHJvb3Rfbm9kZSgpLCBwcm9wZm4sIGNvb2tpZSk7CiB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy90ZGVzdHJveS5jcHAgYi9saWJjL2Jpb25pYy90ZGVzdHJveS5jcHAKaW5kZXggNDk2MTRiOC4uOTVjM2U2NCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvdGRlc3Ryb3kuY3BwCisrKyBiL2xpYmMvYmlvbmljL3RkZXN0cm95LmNwcApAQCAtMjEsNyArMjEsNyBAQAogLy8gRGVzdHJveSBhIHRyZWUgYW5kIGZyZWUgYWxsIGFsbG9jYXRlZCByZXNvdXJjZXMuCiAvLyBUaGlzIGlzIGEgR05VIGV4dGVuc2lvbiwgbm90IGF2YWlsYWJsZSBmcm9tIEJTRC4KIHZvaWQgdGRlc3Ryb3kodm9pZCogcm9vdCwgdm9pZCAoKmRlc3Ryb3lfZnVuYykodm9pZCopKSB7Ci0gIG5vZGVfdCogcm9vdF9ub2RlID0gKG5vZGVfdCopIHJvb3Q7CisgIG5vZGVfdCogcm9vdF9ub2RlID0gcmVpbnRlcnByZXRfY2FzdDxub2RlX3QqPihyb290KTsKICAgaWYgKHJvb3Rfbm9kZSA9PSBOVUxMKSB7CiAgICAgcmV0dXJuOwogICB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy90ZXJtaW9zLmNwcCBiL2xpYmMvYmlvbmljL3Rlcm1pb3MuY3BwCmluZGV4IDA4MmRjZGMuLjQ0YWU2NDMgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3Rlcm1pb3MuY3BwCisrKyBiL2xpYmMvYmlvbmljL3Rlcm1pb3MuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAgKiBTVUNIIERBTUFHRS4KICAqLwogCisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDx0ZXJtaW9zLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3RpbWU2NC5jIGIvbGliYy9iaW9uaWMvdGltZTY0LmMKaW5kZXggOTVkZmFiNS4uZGEzOGJmMyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvdGltZTY0LmMKKysrIGIvbGliYy9iaW9uaWMvdGltZTY0LmMKQEAgLTc0OCwxMCArNzQ4LDI0IEBACiBjaGFyICphc2N0aW1lNjRfciggY29uc3Qgc3RydWN0IFRNKiBkYXRlLCBjaGFyICpyZXN1bHQgKSB7CiAgICAgLyogSSBmaWd1cmUgZXZlcnl0aGluZyBlbHNlIGNhbiBiZSBkaXNwbGF5ZWQsIGV2ZW4gaG91ciAyNSwgYnV0IGlmCiAgICAgICAgdGhlc2UgYXJlIG91dCBvZiByYW5nZSB3ZSB3YWxrIG9mZiB0aGUgbmFtZSBhcnJheXMgKi8KLSAgICBpZiggIXZhbGlkX3RtX3dkYXkoZGF0ZSkgfHwgIXZhbGlkX3RtX21vbihkYXRlKSApCisgICAgaWYgKCF2YWxpZF90bV93ZGF5KGRhdGUpIHx8ICF2YWxpZF90bV9tb24oZGF0ZSkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogCi0gICAgc3ByaW50ZihyZXN1bHQsICIlLjNzICUuM3MlM2QgJS4yZDolLjJkOiUuMmQgJWRcbiIsCisgICAgLyogRG9jcyBzdGF0ZSB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHN1cHBvcnQgeWVhcnMgYmV5b25kIDk5OTkuICovCisgICAgaWYgKDE5MDAgKyBkYXRlLT50bV95ZWFyID4gOTk5OSkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFRoZSBJQk0gZG9jcyBmb3IgdGhpcyBmdW5jdGlvbiBzdGF0ZSB0aGF0IHRoZSByZXN1bHQgYnVmZmVyIGNhbiBiZQorICAgICAqIGFzc3VtZWQgdG8gYmUgYXQgbGVhc3QgMjYgYnl0ZXMgd2lkZS4gVGhlIGRvY3MgYWxzbyBzdGF0ZSB0aGF0IHRoaXMgaXMKKyAgICAgKiBvbmx5IHZhbGlkIGZvciB5ZWFycyA8PSA5OTk5LCBzbyB3ZSBrbm93IHRoaXMgZm9ybWF0IHN0cmluZyB3aWxsIG5vdAorICAgICAqIHByaW50IG1vcmUgdGhhbiB0aGF0IG1hbnkgY2hhcmFjdGVycy4KKyAgICAgKgorICAgICAqIGh0dHA6Ly93d3ctMDEuaWJtLmNvbS9zdXBwb3J0L2tub3dsZWRnZWNlbnRlci9TU0xUQldfMi4xLjAvY29tLmlibS56b3MudjJyMS5icHhiZDAwL2FzY3RpbWVyLmh0bQorICAgICAqLworICAgIHNucHJpbnRmKHJlc3VsdCwgMjYsICIlLjNzICUuM3MlM2QgJS4yZDolLjJkOiUuMmQgJWRcbiIsCiAgICAgICAgIHdkYXlfbmFtZVtkYXRlLT50bV93ZGF5XSwKICAgICAgICAgbW9uX25hbWVbZGF0ZS0+dG1fbW9uXSwKICAgICAgICAgZGF0ZS0+dG1fbWRheSwgZGF0ZS0+dG1faG91ciwKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3V0aW1lcy5jcHAgYi9saWJjL2Jpb25pYy91dGltZXMuY3BwCmluZGV4IDY1ZjJkMGIuLjBiNjZlNmMgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3V0aW1lcy5jcHAKKysrIGIvbGliYy9iaW9uaWMvdXRpbWVzLmNwcApAQCAtMjYsNiArMjYsNyBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHN5cy90aW1lLmg+CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy92ZHNvLmNwcCBiL2xpYmMvYmlvbmljL3Zkc28uY3BwCmluZGV4IDA4NzVlZTYuLmEyNDA2NjMgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL3Zkc28uY3BwCisrKyBiL2xpYmMvYmlvbmljL3Zkc28uY3BwCkBAIC0xNSw2ICsxNSw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbmsuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzeXMvYXV4di5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCkBAIC01MiwxMyArNTMsMTMgQEAKIAogaW50IGNsb2NrX2dldHRpbWUoaW50IGNsb2NrX2lkLCB0aW1lc3BlYyogdHApIHsKICAgc3RhdGljIGludCAoKnZkc29fY2xvY2tfZ2V0dGltZSkoaW50LCB0aW1lc3BlYyopID0KLSAgICAgIChpbnQgKCopKGludCwgdGltZXNwZWMqKSkgdmRzb19lbnRyaWVzW1ZEU09fQ0xPQ0tfR0VUVElNRV0uZm47CisgICAgICByZWludGVycHJldF9jYXN0PGludCAoKikoaW50LCB0aW1lc3BlYyopPih2ZHNvX2VudHJpZXNbVkRTT19DTE9DS19HRVRUSU1FXS5mbik7CiAgIHJldHVybiB2ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tfaWQsIHRwKTsKIH0KIAogaW50IGdldHRpbWVvZmRheSh0aW1ldmFsKiB0diwgc3RydWN0IHRpbWV6b25lKiB0eikgewogICBzdGF0aWMgaW50ICgqdmRzb19nZXR0aW1lb2ZkYXkpKHRpbWV2YWwqLCBzdHJ1Y3QgdGltZXpvbmUqKSA9Ci0gICAgICAoaW50ICgqKSh0aW1ldmFsKiwgc3RydWN0IHRpbWV6b25lKikpIHZkc29fZW50cmllc1tWRFNPX0dFVFRJTUVPRkRBWV0uZm47CisgICAgICByZWludGVycHJldF9jYXN0PGludCAoKikodGltZXZhbCosIHN0cnVjdCB0aW1lem9uZSopPih2ZHNvX2VudHJpZXNbVkRTT19HRVRUSU1FT0ZEQVldLmZuKTsKICAgcmV0dXJuIHZkc29fZ2V0dGltZW9mZGF5KHR2LCB0eik7CiB9CiAKZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL3dtZW1wY3B5LmNwcCBiL2xpYmMvYmlvbmljL3dtZW1wY3B5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGViZjg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9iaW9uaWMvd21lbXBjcHkuY3BwCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHdjaGFyLmg+CisKK3djaGFyX3QqIHdtZW1wY3B5KHdjaGFyX3QqIGRzdCwgY29uc3Qgd2NoYXJfdCogc3JjLCBzaXplX3QgbikgeworICByZXR1cm4gd21lbWNweShkc3QsIHNyYywgbikgKyBuOworfQpkaWZmIC0tZ2l0IGEvbGliYy9jcnQubWsgYi9saWJjL2NydC5tawppbmRleCBjM2JhNTRiLi42MzY1MzMyIDEwMDY0NAotLS0gYS9saWJjL2NydC5taworKysgYi9saWJjL2NydC5tawpAQCAtMzEsMzAgKzMxLDE5IEBACiAKIG15X2xpYmNfY3J0X3RhcmdldF9sZGZsYWdzIDo9ICQobGliY19jcnRfdGFyZ2V0X2xkZmxhZ3NfJChteV9hcmNoKSkKIAotCi0jIFNlZSB0aGUgY29tbWVudCBpbiBjcnRicmFuZC5jIGZvciB0aGUgcmVhc29uIHdoeSB3ZSBuZWVkIHRvIGdlbmVyYXRlCi0jIGNydGJyYW5kLnMgYmVmb3JlIGdlbmVyYXRpbmcgY3J0YnJhbmQuby4KLUdFTiA6PSAkKCQobXlfMm5kX2FyY2hfcHJlZml4KVRBUkdFVF9PVVRfSU5URVJNRURJQVRFX0xJQlJBUklFUykvY3J0YnJhbmQucwotJChHRU4pOiBQUklWQVRFX0NDIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX0NDKQotJChHRU4pOiBQUklWQVRFX0NGTEFHUyA6PSAkKG15X2xpYmNfY3J0X3RhcmdldF9zb19jZmxhZ3MpCi0kKEdFTik6ICQoTE9DQUxfUEFUSCkvYmlvbmljL2NydGJyYW5kLmMKLQlAbWtkaXIgLXAgJChkaXIgJEApCi0JJChoaWRlKSAkKFBSSVZBVEVfQ0MpICQoUFJJVkFURV9DRkxBR1MpIC1TIFwKLQkJLU1EIC1NRiAkKEA6JS5zPSUuZCkgLW8gJEAgJDwKLQkkKGhpZGUpIHNlZCAtaSAtZSAnL1wubm90ZVwuQUJJLXRhZy9zL3Byb2diaXRzL25vdGUvJyAkQAotCSQoY2FsbCB0cmFuc2Zvcm0tZC10by1wLWFyZ3MsJChAOiUucz0lLmQpLCQoQDolLnM9JS5QKSkKLS1pbmNsdWRlICQoR0VOOiUucz0lLlApCi0KLQorIyBjcnRicmFuZC5TIC0+IGNydGJyYW5kLm8KIEdFTiA6PSAkKCQobXlfMm5kX2FyY2hfcHJlZml4KVRBUkdFVF9PVVRfSU5URVJNRURJQVRFX0xJQlJBUklFUykvY3J0YnJhbmQubwogJChHRU4pOiBQUklWQVRFX0NDIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX0NDKQogJChHRU4pOiBQUklWQVRFX0NGTEFHUyA6PSAkKG15X2xpYmNfY3J0X3RhcmdldF9zb19jZmxhZ3MpCi0kKEdFTik6ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX09VVF9JTlRFUk1FRElBVEVfTElCUkFSSUVTKS9jcnRicmFuZC5zCiskKEdFTik6ICQoTE9DQUxfUEFUSCkvYXJjaC1jb21tb24vYmlvbmljL2NydGJyYW5kLlMKIAlAbWtkaXIgLXAgJChkaXIgJEApCi0JJChoaWRlKSAkKFBSSVZBVEVfQ0MpICQoUFJJVkFURV9DRkxBR1MpIC1vICRAIC1jICQ8CisJJChoaWRlKSAkKFBSSVZBVEVfQ0MpICQoUFJJVkFURV9DRkxBR1MpIFwKKwkJLU1EIC1NRiAkKEA6JS5vPSUuZCkgLW8gJEAgLWMgJDwKKwkkKHRyYW5zZm9ybS1kLXRvLXApCistaW5jbHVkZSAkKEdFTjolLm89JS5QKQogCi0KLUdFTiA6PSAkKCQobXlfMm5kX2FyY2hfcHJlZml4KVRBUkdFVF9PVVRfSU5URVJNRURJQVRFX0xJQlJBUklFUykvY3J0YmVnaW5fc28ubworIyBjcnRiZWdpbl9zby5jIC0+IGNydGJlZ2luX3NvMS5vCitHRU4gOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfT1VUX0lOVEVSTUVESUFURV9MSUJSQVJJRVMpL2NydGJlZ2luX3NvMS5vCiAkKEdFTik6IFBSSVZBVEVfQ0MgOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfQ0MpCiAkKEdFTik6IFBSSVZBVEVfQ0ZMQUdTIDo9ICQobXlfbGliY19jcnRfdGFyZ2V0X3NvX2NmbGFncykKICQoR0VOKTogJChteV9saWJjX2NydF90YXJnZXRfY3J0YmVnaW5fc29fZmlsZSkKQEAgLTY0LDcgKzUzLDE2IEBACiAJJCh0cmFuc2Zvcm0tZC10by1wKQogLWluY2x1ZGUgJChHRU46JS5vPSUuUCkKIAorIyBjcnRiZWdpbl9zbzEubyArIGNydGJyYW5kLm8gLT4gY3J0YmVnaW5fc28ubworR0VOIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX09VVF9JTlRFUk1FRElBVEVfTElCUkFSSUVTKS9jcnRiZWdpbl9zby5vCiskKEdFTik6IFBSSVZBVEVfTEQgOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfTEQpCiskKEdFTik6IFBSSVZBVEVfTERGTEFHUyA6PSAkKG15X2xpYmNfY3J0X3RhcmdldF9sZGZsYWdzKQorJChHRU4pOiAkKCQobXlfMm5kX2FyY2hfcHJlZml4KVRBUkdFVF9PVVRfSU5URVJNRURJQVRFX0xJQlJBUklFUykvY3J0YmVnaW5fc28xLm8gXAorICAgICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX09VVF9JTlRFUk1FRElBVEVfTElCUkFSSUVTKS9jcnRicmFuZC5vCisJQG1rZGlyIC1wICQoZGlyICRAKQorCSQoaGlkZSkgJChQUklWQVRFX0xEKSAkKFBSSVZBVEVfTERGTEFHUykgLXIgLW8gJEAgJF4KIAorIyBjcnRlbmRfc28uUyAtPiBjcnRlbmRfc28ubwogR0VOIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX09VVF9JTlRFUk1FRElBVEVfTElCUkFSSUVTKS9jcnRlbmRfc28ubwogJChHRU4pOiBQUklWQVRFX0NDIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX0NDKQogJChHRU4pOiBQUklWQVRFX0NGTEFHUyA6PSAkKG15X2xpYmNfY3J0X3RhcmdldF9zb19jZmxhZ3MpCkBAIC03NSw4ICs3Myw3IEBACiAJJCh0cmFuc2Zvcm0tZC10by1wKQogLWluY2x1ZGUgJChHRU46JS5vPSUuUCkKIAotCi0jIFRoZSBmb2xsb3dpbmcgdHdvIGFyZSBpbnN0YWxsZWQgdG8gZGV2aWNlCisjIGNydGJlZ2luX3NvLm8gYW5kIGNydGVuZF9zby5vIGFyZSBpbnN0YWxsZWQgdG8gZGV2aWNlCiBHRU4gOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfT1VUX1NIQVJFRF9MSUJSQVJJRVMpL2NydGJlZ2luX3NvLm8KICQoR0VOKTogJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfT1VUX0lOVEVSTUVESUFURV9MSUJSQVJJRVMpL2NydGJlZ2luX3NvLm8KIAkkKGhpZGUpIG1rZGlyIC1wICQoZGlyICRAKSAmJiBjcCAtZiAkPCAkQApAQCAtODcsNyArODQsNyBAQAogCSQoaGlkZSkgbWtkaXIgLXAgJChkaXIgJEApICYmIGNwIC1mICQ8ICRACiBBTExfR0VORVJBVEVEX1NPVVJDRVMgKz0gJChHRU4pCiAKLQorIyBjcnRiZWdpbi5jIC0+IGNydGJlZ2luX3N0YXRpYzEubwogR0VOIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX09VVF9JTlRFUk1FRElBVEVfTElCUkFSSUVTKS9jcnRiZWdpbl9zdGF0aWMxLm8KICQoR0VOKTogUFJJVkFURV9DQyA6PSAkKCQobXlfMm5kX2FyY2hfcHJlZml4KVRBUkdFVF9DQykKICQoR0VOKTogUFJJVkFURV9DRkxBR1MgOj0gJChteV9saWJjX2NydF90YXJnZXRfY2ZsYWdzKQpAQCAtOTgsNyArOTUsNyBAQAogCSQodHJhbnNmb3JtLWQtdG8tcCkKIC1pbmNsdWRlICQoR0VOOiUubz0lLlApCiAKLQorIyBjcnRiZWdpbl9zdGF0aWMxLm8gKyBjcnRicmFuZC5vIC0+IGNydGJlZ2luX3N0YXRpYy5vCiBHRU4gOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfT1VUX0lOVEVSTUVESUFURV9MSUJSQVJJRVMpL2NydGJlZ2luX3N0YXRpYy5vCiAkKEdFTik6IFBSSVZBVEVfTEQgOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfTEQpCiAkKEdFTik6IFBSSVZBVEVfTERGTEFHUyA6PSAkKG15X2xpYmNfY3J0X3RhcmdldF9sZGZsYWdzKQpAQCAtMTA3LDcgKzEwNCw3IEBACiAJQG1rZGlyIC1wICQoZGlyICRAKQogCSQoaGlkZSkgJChQUklWQVRFX0xEKSAkKFBSSVZBVEVfTERGTEFHUykgLXIgLW8gJEAgJF4KIAotCisjIGNydGJlZ2luLmMgLT4gY3J0YmVnaW5fZHluYW1pYzEubwogR0VOIDo9ICQoJChteV8ybmRfYXJjaF9wcmVmaXgpVEFSR0VUX09VVF9JTlRFUk1FRElBVEVfTElCUkFSSUVTKS9jcnRiZWdpbl9keW5hbWljMS5vCiAkKEdFTik6IFBSSVZBVEVfQ0MgOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfQ0MpCiAkKEdFTik6IFBSSVZBVEVfQ0ZMQUdTIDo9ICQobXlfbGliY19jcnRfdGFyZ2V0X2NmbGFncykKQEAgLTExOCw3ICsxMTUsNyBAQAogCSQodHJhbnNmb3JtLWQtdG8tcCkKIC1pbmNsdWRlICQoR0VOOiUubz0lLlApCiAKLQorIyBjcnRiZWdpbl9keW5hbWljMS5vICsgY3J0YnJhbmQubyAtPiBjcnRiZWdpbl9keW5hbWljLm8KIEdFTiA6PSAkKCQobXlfMm5kX2FyY2hfcHJlZml4KVRBUkdFVF9PVVRfSU5URVJNRURJQVRFX0xJQlJBUklFUykvY3J0YmVnaW5fZHluYW1pYy5vCiAkKEdFTik6IFBSSVZBVEVfTEQgOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfTEQpCiAkKEdFTik6IFBSSVZBVEVfTERGTEFHUyA6PSAkKG15X2xpYmNfY3J0X3RhcmdldF9sZGZsYWdzKQpAQCAtMTI3LDcgKzEyNCw3IEBACiAJQG1rZGlyIC1wICQoZGlyICRAKQogCSQoaGlkZSkgJChQUklWQVRFX0xEKSAkKFBSSVZBVEVfTERGTEFHUykgLXIgLW8gJEAgJF4KIAotCisjIGNydGVuZC5TIC0+IGNydGVuZF9hbmRyb2lkLm8KICMgV2UgcmVuYW1lIGNydGVuZC5vIHRvIGNydGVuZF9hbmRyb2lkLm8gdG8gYXZvaWQgYQogIyBuYW1lIGNsYXNoIGJldHdlZW4gZ2NjIGFuZCBiaW9uaWMuCiBHRU4gOj0gJCgkKG15XzJuZF9hcmNoX3ByZWZpeClUQVJHRVRfT1VUX0lOVEVSTUVESUFURV9MSUJSQVJJRVMpL2NydGVuZF9hbmRyb2lkLm8KZGlmZiAtLWdpdCBhL2xpYmMvZG5zL2dldGhuYW1hZGRyLmMgYi9saWJjL2Rucy9nZXRobmFtYWRkci5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDg0N2I4Li4wMDAwMDAwCi0tLSBhL2xpYmMvZG5zL2dldGhuYW1hZGRyLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDE2ICswLDAgQEAKLS8qCSROZXRCU0Q6IGdldGhuYW1hZGRyLmMsdiAxLjcwIDIwMDYvMDMvMjIgMDA6MDM6NTEgY2hyaXN0b3MgRXhwICQJKi8KLQotLyoKLSAqICsrQ29weXJpZ2h0KysgMTk4NSwgMTk4OCwgMTk5MwotICogLQotICogQ29weXJpZ2h0IChjKSAxOTg1LCAxOTg4LCAxOTkzCi0gKiAgICBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKiAtCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTMgYnkgRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRpb24uCi0gKgotICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55Ci0gKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLCBhbmQgdGhhdAotICogdGhlIG5hbWUgb2YgRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRpb24gbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3IKLSAqIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIGRpc3RyaWJ1dGlvbiBvZiB0aGUgZG9jdW1lbnQgb3Igc29mdHdhcmUgd2l0aG91dAotICogc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4KLSAqCi0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgRElHSVRBTCBFUVVJUE1FTlQgQ09SUC4gRElTQ0xBSU1TIEFMTAotICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUwotICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiAgIElOIE5PIEVWRU5UIFNIQUxMIERJR0lUQUwgRVFVSVBNRU5UCi0gKiBDT1JQT1JBVElPTiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IKLSAqIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTCi0gKiBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLgotICogLQotICogLS1Db3B5cmlnaHQtLQotICovCi0KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLQotI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgotI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSNpbmNsdWRlIDxzeXMvdW4uaD4KLSNpbmNsdWRlIDxuZXRpbmV0L2luLmg+Ci0jaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0jaW5jbHVkZSA8YXJwYS9uYW1lc2VyLmg+Ci0jaW5jbHVkZSAiTmV0ZENsaWVudERpc3BhdGNoLmgiCi0jaW5jbHVkZSAicmVzb2x2X25ldGlkLmgiCi0jaW5jbHVkZSAicmVzb2x2X3ByaXZhdGUuaCIKLSNpbmNsdWRlICJyZXNvbHZfY2FjaGUuaCIKLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxjdHlwZS5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8bmV0ZGIuaD4KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZ3MuaD4KLSNpbmNsdWRlIDxzeXNsb2cuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLQotI2RlZmluZSBBTElHTkJZVEVTIChzaXplb2YodWludHB0cl90KSAtIDEpCi0jZGVmaW5lIEFMSUdOKHApICgoKHVpbnRwdHJfdCkocCkgKyBBTElHTkJZVEVTKSAmfiBBTElHTkJZVEVTKQotCi0jaWZuZGVmIExPR19BVVRICi0jIGRlZmluZSBMT0dfQVVUSCAwCi0jZW5kaWYKLQotI2RlZmluZSBNVUxUSV9QVFJTX0FSRV9BTElBU0VTIDEJLyogWFhYIC0gZXhwZXJpbWVudGFsICovCi0KLSNpbmNsdWRlICJuc3N3aXRjaC5oIgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi0vLyBUaGlzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgdG8gUmVzcG9uc2VDb2RlLmgKLXN0YXRpYyBjb25zdCBpbnQgRG5zUHJveHlRdWVyeVJlc3VsdCA9IDIyMjsKLQotc3RhdGljIGNvbnN0IGNoYXIgQXNrZWRGb3JHb3RbXSA9Ci0JCQkgICJnZXRob3N0YnkqLmdldGFuc3dlcjogYXNrZWQgZm9yIFwiJXNcIiwgZ290IFwiJXNcIiI7Ci0KLSNkZWZpbmUJTUFYUEFDS0VUCSg2NCoxMDI0KQotCi10eXBlZGVmIHVuaW9uIHsKLSAgICBIRUFERVIgaGRyOwotICAgIHVfY2hhciBidWZbTUFYUEFDS0VUXTsKLX0gcXVlcnlidWY7Ci0KLXR5cGVkZWYgdW5pb24gewotICAgIGludDMyX3QgYWw7Ci0gICAgY2hhciBhYzsKLX0gYWxpZ247Ci0KLSNpZmRlZiBERUJVRwotc3RhdGljIHZvaWQgZHByaW50Zihjb25zdCBjaGFyICosIHJlc19zdGF0ZSwgLi4uKQotCV9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18oX19wcmludGZfXywgMSwgMykpKTsKLSNlbmRpZgotc3RhdGljIHN0cnVjdCBob3N0ZW50ICpnZXRhbnN3ZXIoY29uc3QgcXVlcnlidWYgKiwgaW50LCBjb25zdCBjaGFyICosIGludCwKLSAgICByZXNfc3RhdGUpOwotc3RhdGljIHZvaWQgbWFwX3Y0djZfYWRkcmVzcyhjb25zdCBjaGFyICosIGNoYXIgKik7Ci1zdGF0aWMgdm9pZCBtYXBfdjR2Nl9ob3N0ZW50KHN0cnVjdCBob3N0ZW50ICosIGNoYXIgKiosIGNoYXIgKik7Ci1zdGF0aWMgdm9pZCBhZGRyc29ydChjaGFyICoqLCBpbnQsIHJlc19zdGF0ZSk7Ci0KLXN0YXRpYyB2b2lkIF9zZXRodGVudChpbnQpOwotc3RhdGljIHZvaWQgX2VuZGh0ZW50KHZvaWQpOwotc3RhdGljIHN0cnVjdCBob3N0ZW50ICpfZ2V0aHRlbnQodm9pZCk7Ci12b2lkIGh0X3NldGhvc3RlbnQoaW50KTsKLXZvaWQgaHRfZW5kaG9zdGVudCh2b2lkKTsKLXN0cnVjdCBob3N0ZW50ICpodF9nZXRob3N0YnluYW1lKGNoYXIgKik7Ci1zdHJ1Y3QgaG9zdGVudCAqaHRfZ2V0aG9zdGJ5YWRkcihjb25zdCBjaGFyICosIGludCwgaW50KTsKLXZvaWQgZG5zX3NlcnZpY2Uodm9pZCk7Ci0jdW5kZWYgZG5fc2tpcG5hbWUKLWludCBkbl9za2lwbmFtZShjb25zdCB1X2NoYXIgKiwgY29uc3QgdV9jaGFyICopOwotc3RhdGljIGludCBfZ2V0aHRieWFkZHIodm9pZCAqLCB2b2lkICosIHZhX2xpc3QpOwotc3RhdGljIGludCBfZ2V0aHRieW5hbWUodm9pZCAqLCB2b2lkICosIHZhX2xpc3QpOwotc3RhdGljIHN0cnVjdCBob3N0ZW50ICpfZ2V0aHRieW5hbWUyKGNvbnN0IGNoYXIgKiwgaW50KTsKLXN0YXRpYyBpbnQgX2Ruc19nZXRodGJ5YWRkcih2b2lkICosIHZvaWQgKiwgdmFfbGlzdCk7Ci1zdGF0aWMgaW50IF9kbnNfZ2V0aHRieW5hbWUodm9pZCAqLCB2b2lkICosIHZhX2xpc3QpOwotCi1zdGF0aWMgc3RydWN0IGhvc3RlbnQgKmdldGhvc3RieW5hbWVfaW50ZXJuYWwoY29uc3QgY2hhciAqLCBpbnQsIHJlc19zdGF0ZSwgdW5zaWduZWQsIHVuc2lnbmVkKTsKLQotc3RhdGljIGNvbnN0IG5zX3NyYyBkZWZhdWx0X2Ruc19maWxlc1tdID0gewotCXsgTlNTUkNfRklMRVMsIAlOU19TVUNDRVNTIH0sCi0JeyBOU1NSQ19ETlMsIAlOU19TVUNDRVNTIH0sCi0JeyAwLCAwIH0KLX07Ci0KLQotI2lmZGVmIERFQlVHCi1zdGF0aWMgdm9pZAotZHByaW50Zihjb25zdCBjaGFyICptc2csIHJlc19zdGF0ZSByZXMsIC4uLikKLXsKLQlhc3NlcnQobXNnICE9IE5VTEwpOwotCi0JaWYgKHJlcy0+b3B0aW9ucyAmIFJFU19ERUJVRykgewotCQlpbnQgc2F2ZSA9IGVycm5vOwotCQl2YV9saXN0IGFwOwotCi0JCXZhX3N0YXJ0IChhcCwgcmVzKTsKLQkJdnByaW50Zihtc2csIGFwKTsKLQkJdmFfZW5kIChhcCk7Ci0KLQkJZXJybm8gPSBzYXZlOwotCX0KLX0KLSNlbHNlCi0jIGRlZmluZSBkcHJpbnRmKG1zZywgcmVzLCBudW0pICgodm9pZCkwKSAvKm5hZGEqLwotI2VuZGlmCi0KLSNkZWZpbmUgQk9VTkRFRF9JTkNSKHgpIFwKLQlkbyB7IFwKLQkJY3AgKz0gKHgpOyBcCi0JCWlmIChjcCA+IGVvbSkgeyBcCi0JCQloX2Vycm5vID0gTk9fUkVDT1ZFUlk7IFwKLQkJCXJldHVybiBOVUxMOyBcCi0JCX0gXAotCX0gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQotCi0jZGVmaW5lIEJPVU5EU19DSEVDSyhwdHIsIGNvdW50KSBcCi0JZG8geyBcCi0JCWlmICgocHRyKSArIChjb3VudCkgPiBlb20pIHsgXAotCQkJaF9lcnJubyA9IE5PX1JFQ09WRVJZOyBcCi0JCQlyZXR1cm4gTlVMTDsgXAotCQl9IFwKLQl9IHdoaWxlICgvKkNPTlNUQ09ORCovMCkKLQotc3RhdGljIHN0cnVjdCBob3N0ZW50ICoKLWdldGFuc3dlcihjb25zdCBxdWVyeWJ1ZiAqYW5zd2VyLCBpbnQgYW5zbGVuLCBjb25zdCBjaGFyICpxbmFtZSwgaW50IHF0eXBlLAotICAgIHJlc19zdGF0ZSByZXMpCi17Ci0JY29uc3QgSEVBREVSICpocDsKLQljb25zdCB1X2NoYXIgKmNwOwotCWludCBuOwotCWNvbnN0IHVfY2hhciAqZW9tLCAqZXJkYXRhOwotCWNoYXIgKmJwLCAqKmFwLCAqKmhhcCwgKmVwOwotCWludCB0eXBlLCBjbGFzcywgYW5jb3VudCwgcWRjb3VudDsKLQlpbnQgaGF2ZWFuc3dlciwgaGFkX2Vycm9yOwotCWludCB0b29iaWcgPSAwOwotCWNoYXIgdGJ1ZltNQVhETkFNRV07Ci0JY29uc3QgY2hhciAqdG5hbWU7Ci0JaW50ICgqbmFtZV9vaykoY29uc3QgY2hhciAqKTsKLQlyZXNfc3RhdGljICBycyA9IF9fcmVzX2dldF9zdGF0aWMoKTsKLQotCWFzc2VydChhbnN3ZXIgIT0gTlVMTCk7Ci0JYXNzZXJ0KHFuYW1lICE9IE5VTEwpOwotCi0JdG5hbWUgPSBxbmFtZTsKLQlycy0+aG9zdC5oX25hbWUgPSBOVUxMOwotCWVvbSA9IGFuc3dlci0+YnVmICsgYW5zbGVuOwotCXN3aXRjaCAocXR5cGUpIHsKLQljYXNlIFRfQToKLQljYXNlIFRfQUFBQToKLQkJbmFtZV9vayA9IHJlc19obm9rOwotCQlicmVhazsKLQljYXNlIFRfUFRSOgotCQluYW1lX29rID0gcmVzX2Rub2s7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXJldHVybiBOVUxMOwkvKiBYWFggc2hvdWxkIGJlIGFib3J0KCk7ICovCi0JfQotCS8qCi0JICogZmluZCBmaXJzdCBzYXRpc2ZhY3RvcnkgYW5zd2VyCi0JICovCi0JaHAgPSAmYW5zd2VyLT5oZHI7Ci0JYW5jb3VudCA9IG50b2hzKGhwLT5hbmNvdW50KTsKLQlxZGNvdW50ID0gbnRvaHMoaHAtPnFkY291bnQpOwotCWJwID0gcnMtPmhvc3RidWY7Ci0JZXAgPSBycy0+aG9zdGJ1ZiArIHNpemVvZiBycy0+aG9zdGJ1ZjsKLQljcCA9IGFuc3dlci0+YnVmOwotCUJPVU5ERURfSU5DUihIRklYRURTWik7Ci0JaWYgKHFkY291bnQgIT0gMSkgewotCQloX2Vycm5vID0gTk9fUkVDT1ZFUlk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQluID0gZG5fZXhwYW5kKGFuc3dlci0+YnVmLCBlb20sIGNwLCBicCwgZXAgLSBicCk7Ci0JaWYgKChuIDwgMCkgfHwgISgqbmFtZV9vaykoYnApKSB7Ci0JCWhfZXJybm8gPSBOT19SRUNPVkVSWTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCUJPVU5ERURfSU5DUihuICsgUUZJWEVEU1opOwotCWlmIChxdHlwZSA9PSBUX0EgfHwgcXR5cGUgPT0gVF9BQUFBKSB7Ci0JCS8qIHJlc19zZW5kKCkgaGFzIGFscmVhZHkgdmVyaWZpZWQgdGhhdCB0aGUgcXVlcnkgbmFtZSBpcyB0aGUKLQkJICogc2FtZSBhcyB0aGUgb25lIHdlIHNlbnQ7IHRoaXMganVzdCBnZXRzIHRoZSBleHBhbmRlZCBuYW1lCi0JCSAqIChpLmUuLCB3aXRoIHRoZSBzdWNjZWVkaW5nIHNlYXJjaC1kb21haW4gdGFja2VkIG9uKS4KLQkJICovCi0JCW4gPSBzdHJsZW4oYnApICsgMTsJCS8qIGZvciB0aGUgXDAgKi8KLQkJaWYgKG4gPj0gTUFYSE9TVE5BTUVMRU4pIHsKLQkJCWhfZXJybm8gPSBOT19SRUNPVkVSWTsKLQkJCXJldHVybiBOVUxMOwotCQl9Ci0JCXJzLT5ob3N0LmhfbmFtZSA9IGJwOwotCQlicCArPSBuOwotCQkvKiBUaGUgcW5hbWUgY2FuIGJlIGFiYnJldmlhdGVkLCBidXQgaF9uYW1lIGlzIG5vdyBhYnNvbHV0ZS4gKi8KLQkJcW5hbWUgPSBycy0+aG9zdC5oX25hbWU7Ci0JfQotCWFwID0gcnMtPmhvc3RfYWxpYXNlczsKLQkqYXAgPSBOVUxMOwotCXJzLT5ob3N0LmhfYWxpYXNlcyA9IHJzLT5ob3N0X2FsaWFzZXM7Ci0JaGFwID0gcnMtPmhfYWRkcl9wdHJzOwotCSpoYXAgPSBOVUxMOwotCXJzLT5ob3N0LmhfYWRkcl9saXN0ID0gcnMtPmhfYWRkcl9wdHJzOwotCWhhdmVhbnN3ZXIgPSAwOwotCWhhZF9lcnJvciA9IDA7Ci0Jd2hpbGUgKGFuY291bnQtLSA+IDAgJiYgY3AgPCBlb20gJiYgIWhhZF9lcnJvcikgewotCQluID0gZG5fZXhwYW5kKGFuc3dlci0+YnVmLCBlb20sIGNwLCBicCwgZXAgLSBicCk7Ci0JCWlmICgobiA8IDApIHx8ICEoKm5hbWVfb2spKGJwKSkgewotCQkJaGFkX2Vycm9yKys7Ci0JCQljb250aW51ZTsKLQkJfQotCQljcCArPSBuOwkJCS8qIG5hbWUgKi8KLQkJQk9VTkRTX0NIRUNLKGNwLCAzICogSU5UMTZTWiArIElOVDMyU1opOwotCQl0eXBlID0gX2dldHNob3J0KGNwKTsKLSAJCWNwICs9IElOVDE2U1o7CQkJLyogdHlwZSAqLwotCQljbGFzcyA9IF9nZXRzaG9ydChjcCk7Ci0gCQljcCArPSBJTlQxNlNaICsgSU5UMzJTWjsJLyogY2xhc3MsIFRUTCAqLwotCQluID0gX2dldHNob3J0KGNwKTsKLQkJY3AgKz0gSU5UMTZTWjsJCQkvKiBsZW4gKi8KLQkJQk9VTkRTX0NIRUNLKGNwLCBuKTsKLQkJZXJkYXRhID0gY3AgKyBuOwotCQlpZiAoY2xhc3MgIT0gQ19JTikgewotCQkJLyogWFhYIC0gZGVidWc/IHN5c2xvZz8gKi8KLQkJCWNwICs9IG47Ci0JCQljb250aW51ZTsJCS8qIFhYWCAtIGhhZF9lcnJvcisrID8gKi8KLQkJfQotCQlpZiAoKHF0eXBlID09IFRfQSB8fCBxdHlwZSA9PSBUX0FBQUEpICYmIHR5cGUgPT0gVF9DTkFNRSkgewotCQkJaWYgKGFwID49ICZycy0+aG9zdF9hbGlhc2VzW01BWEFMSUFTRVMtMV0pCi0JCQkJY29udGludWU7Ci0JCQluID0gZG5fZXhwYW5kKGFuc3dlci0+YnVmLCBlb20sIGNwLCB0YnVmLCBzaXplb2YgdGJ1Zik7Ci0JCQlpZiAoKG4gPCAwKSB8fCAhKCpuYW1lX29rKSh0YnVmKSkgewotCQkJCWhhZF9lcnJvcisrOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCQkJY3AgKz0gbjsKLQkJCWlmIChjcCAhPSBlcmRhdGEpIHsKLQkJCQloX2Vycm5vID0gTk9fUkVDT1ZFUlk7Ci0JCQkJcmV0dXJuIE5VTEw7Ci0JCQl9Ci0JCQkvKiBTdG9yZSBhbGlhcy4gKi8KLQkJCSphcCsrID0gYnA7Ci0JCQluID0gc3RybGVuKGJwKSArIDE7CS8qIGZvciB0aGUgXDAgKi8KLQkJCWlmIChuID49IE1BWEhPU1ROQU1FTEVOKSB7Ci0JCQkJaGFkX2Vycm9yKys7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQlicCArPSBuOwotCQkJLyogR2V0IGNhbm9uaWNhbCBuYW1lLiAqLwotCQkJbiA9IHN0cmxlbih0YnVmKSArIDE7CS8qIGZvciB0aGUgXDAgKi8KLQkJCWlmIChuID4gZXAgLSBicCB8fCBuID49IE1BWEhPU1ROQU1FTEVOKSB7Ci0JCQkJaGFkX2Vycm9yKys7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQlzdHJsY3B5KGJwLCB0YnVmLCAoc2l6ZV90KShlcCAtIGJwKSk7Ci0JCQlycy0+aG9zdC5oX25hbWUgPSBicDsKLQkJCWJwICs9IG47Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAocXR5cGUgPT0gVF9QVFIgJiYgdHlwZSA9PSBUX0NOQU1FKSB7Ci0JCQluID0gZG5fZXhwYW5kKGFuc3dlci0+YnVmLCBlb20sIGNwLCB0YnVmLCBzaXplb2YgdGJ1Zik7Ci0JCQlpZiAobiA8IDAgfHwgIXJlc19kbm9rKHRidWYpKSB7Ci0JCQkJaGFkX2Vycm9yKys7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQljcCArPSBuOwotCQkJaWYgKGNwICE9IGVyZGF0YSkgewotCQkJCWhfZXJybm8gPSBOT19SRUNPVkVSWTsKLQkJCQlyZXR1cm4gTlVMTDsKLQkJCX0KLQkJCS8qIEdldCBjYW5vbmljYWwgbmFtZS4gKi8KLQkJCW4gPSBzdHJsZW4odGJ1ZikgKyAxOwkvKiBmb3IgdGhlIFwwICovCi0JCQlpZiAobiA+IGVwIC0gYnAgfHwgbiA+PSBNQVhIT1NUTkFNRUxFTikgewotCQkJCWhhZF9lcnJvcisrOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCQkJc3RybGNweShicCwgdGJ1ZiwgKHNpemVfdCkoZXAgLSBicCkpOwotCQkJdG5hbWUgPSBicDsKLQkJCWJwICs9IG47Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAodHlwZSAhPSBxdHlwZSkgewotCQkJaWYgKHR5cGUgIT0gVF9LRVkgJiYgdHlwZSAhPSBUX1NJRykKLQkJCQlzeXNsb2coTE9HX05PVElDRXxMT0dfQVVUSCwKLQkgICAgICAgImdldGhvc3RieSouZ2V0YW5zd2VyOiBhc2tlZCBmb3IgXCIlcyAlcyAlc1wiLCBnb3QgdHlwZSBcIiVzXCIiLAotCQkJCSAgICAgICBxbmFtZSwgcF9jbGFzcyhDX0lOKSwgcF90eXBlKHF0eXBlKSwKLQkJCQkgICAgICAgcF90eXBlKHR5cGUpKTsKLQkJCWNwICs9IG47Ci0JCQljb250aW51ZTsJCS8qIFhYWCAtIGhhZF9lcnJvcisrID8gKi8KLQkJfQotCQlzd2l0Y2ggKHR5cGUpIHsKLQkJY2FzZSBUX1BUUjoKLQkJCWlmIChzdHJjYXNlY21wKHRuYW1lLCBicCkgIT0gMCkgewotCQkJCXN5c2xvZyhMT0dfTk9USUNFfExPR19BVVRILAotCQkJCSAgICAgICBBc2tlZEZvckdvdCwgcW5hbWUsIGJwKTsKLQkJCQljcCArPSBuOwotCQkJCWNvbnRpbnVlOwkvKiBYWFggLSBoYWRfZXJyb3IrKyA/ICovCi0JCQl9Ci0JCQluID0gZG5fZXhwYW5kKGFuc3dlci0+YnVmLCBlb20sIGNwLCBicCwgZXAgLSBicCk7Ci0JCQlpZiAoKG4gPCAwKSB8fCAhcmVzX2hub2soYnApKSB7Ci0JCQkJaGFkX2Vycm9yKys7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0jaWYgTVVMVElfUFRSU19BUkVfQUxJQVNFUwotCQkJY3AgKz0gbjsKLQkJCWlmIChjcCAhPSBlcmRhdGEpIHsKLQkJCQloX2Vycm5vID0gTk9fUkVDT1ZFUlk7Ci0JCQkJcmV0dXJuIE5VTEw7Ci0JCQl9Ci0JCQlpZiAoIWhhdmVhbnN3ZXIpCi0JCQkJcnMtPmhvc3QuaF9uYW1lID0gYnA7Ci0JCQllbHNlIGlmIChhcCA8ICZycy0+aG9zdF9hbGlhc2VzW01BWEFMSUFTRVMtMV0pCi0JCQkJKmFwKysgPSBicDsKLQkJCWVsc2UKLQkJCQluID0gLTE7Ci0JCQlpZiAobiAhPSAtMSkgewotCQkJCW4gPSBzdHJsZW4oYnApICsgMTsJLyogZm9yIHRoZSBcMCAqLwotCQkJCWlmIChuID49IE1BWEhPU1ROQU1FTEVOKSB7Ci0JCQkJCWhhZF9lcnJvcisrOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQkJYnAgKz0gbjsKLQkJCX0KLQkJCWJyZWFrOwotI2Vsc2UKLQkJCXJzLT5ob3N0LmhfbmFtZSA9IGJwOwotCQkJaWYgKHJlcy0+b3B0aW9ucyAmIFJFU19VU0VfSU5FVDYpIHsKLQkJCQluID0gc3RybGVuKGJwKSArIDE7CS8qIGZvciB0aGUgXDAgKi8KLQkJCQlpZiAobiA+PSBNQVhIT1NUTkFNRUxFTikgewotCQkJCQloYWRfZXJyb3IrKzsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWJwICs9IG47Ci0JCQkJbWFwX3Y0djZfaG9zdGVudCgmcnMtPmhvc3QsICZicCwgZXApOwotCQkJfQotCQkJaF9lcnJubyA9IE5FVERCX1NVQ0NFU1M7Ci0JCQlyZXR1cm4gJnJzLT5ob3N0OwotI2VuZGlmCi0JCWNhc2UgVF9BOgotCQljYXNlIFRfQUFBQToKLQkJCWlmIChzdHJjYXNlY21wKHJzLT5ob3N0LmhfbmFtZSwgYnApICE9IDApIHsKLQkJCQlzeXNsb2coTE9HX05PVElDRXxMT0dfQVVUSCwKLQkJCQkgICAgICAgQXNrZWRGb3JHb3QsIHJzLT5ob3N0LmhfbmFtZSwgYnApOwotCQkJCWNwICs9IG47Ci0JCQkJY29udGludWU7CS8qIFhYWCAtIGhhZF9lcnJvcisrID8gKi8KLQkJCX0KLQkJCWlmIChuICE9IHJzLT5ob3N0LmhfbGVuZ3RoKSB7Ci0JCQkJY3AgKz0gbjsKLQkJCQljb250aW51ZTsKLQkJCX0KLQkJCWlmICh0eXBlID09IFRfQUFBQSkgewotCQkJCXN0cnVjdCBpbjZfYWRkciBpbjY7Ci0JCQkJbWVtY3B5KCZpbjYsIGNwLCBJTjZBRERSU1opOwotCQkJCWlmIChJTjZfSVNfQUREUl9WNE1BUFBFRCgmaW42KSkgewotCQkJCQljcCArPSBuOwotCQkJCQljb250aW51ZTsKLQkJCQl9Ci0JCQl9Ci0JCQlpZiAoIWhhdmVhbnN3ZXIpIHsKLQkJCQlpbnQgbm47Ci0KLQkJCQlycy0+aG9zdC5oX25hbWUgPSBicDsKLQkJCQlubiA9IHN0cmxlbihicCkgKyAxOwkvKiBmb3IgdGhlIFwwICovCi0JCQkJYnAgKz0gbm47Ci0JCQl9Ci0KLQkJCWJwICs9IHNpemVvZihhbGlnbikgLQotCQkJICAgIChzaXplX3QpKCh1X2xvbmcpYnAgJSBzaXplb2YoYWxpZ24pKTsKLQotCQkJaWYgKGJwICsgbiA+PSAmcnMtPmhvc3RidWZbc2l6ZW9mIHJzLT5ob3N0YnVmXSkgewotCQkJCWRwcmludGYoInNpemUgKCVkKSB0b28gYmlnXG4iLCByZXMsIG4pOwotCQkJCWhhZF9lcnJvcisrOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCQkJaWYgKGhhcCA+PSAmcnMtPmhfYWRkcl9wdHJzW01BWEFERFJTLTFdKSB7Ci0JCQkJaWYgKCF0b29iaWcrKykKLQkJCQkJZHByaW50ZigiVG9vIG1hbnkgYWRkcmVzc2VzICglZClcbiIsCi0JCQkJCQlyZXMsIE1BWEFERFJTKTsKLQkJCQljcCArPSBuOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCQkJKHZvaWQpbWVtY3B5KCpoYXArKyA9IGJwLCBjcCwgKHNpemVfdCluKTsKLQkJCWJwICs9IG47Ci0JCQljcCArPSBuOwotCQkJaWYgKGNwICE9IGVyZGF0YSkgewotCQkJCWhfZXJybm8gPSBOT19SRUNPVkVSWTsKLQkJCQlyZXR1cm4gTlVMTDsKLQkJCX0KLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJYWJvcnQoKTsKLQkJfQotCQlpZiAoIWhhZF9lcnJvcikKLQkJCWhhdmVhbnN3ZXIrKzsKLQl9Ci0JaWYgKGhhdmVhbnN3ZXIpIHsKLQkJKmFwID0gTlVMTDsKLQkJKmhhcCA9IE5VTEw7Ci0JCS8qCi0JCSAqIE5vdGU6IHdlIHNvcnQgZXZlbiBpZiBob3N0IGNhbiB0YWtlIG9ubHkgb25lIGFkZHJlc3MKLQkJICogaW4gaXRzIHJldHVybiBzdHJ1Y3R1cmVzIC0gc2hvdWxkIGdpdmUgaXQgdGhlICJiZXN0IgotCQkgKiBhZGRyZXNzIGluIHRoYXQgY2FzZSwgbm90IHNvbWUgcmFuZG9tIG9uZQotCQkgKi8KLQkJaWYgKHJlcy0+bnNvcnQgJiYgaGF2ZWFuc3dlciA+IDEgJiYgcXR5cGUgPT0gVF9BKQotCQkJYWRkcnNvcnQocnMtPmhfYWRkcl9wdHJzLCBoYXZlYW5zd2VyLCByZXMpOwotCQlpZiAoIXJzLT5ob3N0LmhfbmFtZSkgewotCQkJbiA9IHN0cmxlbihxbmFtZSkgKyAxOwkvKiBmb3IgdGhlIFwwICovCi0JCQlpZiAobiA+IGVwIC0gYnAgfHwgbiA+PSBNQVhIT1NUTkFNRUxFTikKLQkJCQlnb3RvIG5vX3JlY292ZXJ5OwotCQkJc3RybGNweShicCwgcW5hbWUsIChzaXplX3QpKGVwIC0gYnApKTsKLQkJCXJzLT5ob3N0LmhfbmFtZSA9IGJwOwotCQkJYnAgKz0gbjsKLQkJfQotCQlpZiAocmVzLT5vcHRpb25zICYgUkVTX1VTRV9JTkVUNikKLQkJCW1hcF92NHY2X2hvc3RlbnQoJnJzLT5ob3N0LCAmYnAsIGVwKTsKLQkJaF9lcnJubyA9IE5FVERCX1NVQ0NFU1M7Ci0JCXJldHVybiAmcnMtPmhvc3Q7Ci0JfQotIG5vX3JlY292ZXJ5OgotCWhfZXJybm8gPSBOT19SRUNPVkVSWTsKLQlyZXR1cm4gTlVMTDsKLX0KLQotaW50Ci1nZXRob3N0YnluYW1lX3IoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGhvc3RlbnQgKmhwLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4sCi0gICAgc3RydWN0IGhvc3RlbnQqKnJlc3VsdCwgaW50ICplcnJvcnApCi17Ci0gICAgICAgIHN0cnVjdCBob3N0ZW50ICpyZXM7Ci0KLSAgICAgICAgcmVzID0gZ2V0aG9zdGJ5bmFtZShuYW1lKTsKLSAgICAgICAgKmVycm9ycCA9IGhfZXJybm87Ci0gICAgICAgIGlmIChyZXMgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgICpyZXN1bHQgPSBOVUxMOwotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgICBtZW1jcHkoaHAsIHJlcywgc2l6ZW9mICpocCk7Ci0gICAgICAgICpyZXN1bHQgPSBocDsKLSAgICAgICAgcmV0dXJuIDA7Ci19Ci0KLXN0cnVjdCBob3N0ZW50ICoKLWdldGhvc3RieW5hbWUoY29uc3QgY2hhciAqbmFtZSkKLXsKLQlzdHJ1Y3QgaG9zdGVudCAqaHA7Ci0JcmVzX3N0YXRlIHJlcyA9IF9fcmVzX2dldF9zdGF0ZSgpOwotCi0JaWYgKHJlcyA9PSBOVUxMKQotCQlyZXR1cm4gTlVMTDsKLQotCWFzc2VydChuYW1lICE9IE5VTEwpOwotCi0JLyogdHJ5IElQdjYgZmlyc3QgLSBpZiB0aGF0IGZhaWxzIGRvIElQdjQgKi8KLQlpZiAocmVzLT5vcHRpb25zICYgUkVTX1VTRV9JTkVUNikgewotCQlocCA9IGdldGhvc3RieW5hbWVfaW50ZXJuYWwobmFtZSwgQUZfSU5FVDYsIHJlcywgTkVUSURfVU5TRVQsIE1BUktfVU5TRVQpOwotCQlpZiAoaHApIHsKLQkJCV9fcmVzX3B1dF9zdGF0ZShyZXMpOwotCQkJcmV0dXJuIGhwOwotCQl9Ci0JfQotCWhwID0gZ2V0aG9zdGJ5bmFtZV9pbnRlcm5hbChuYW1lLCBBRl9JTkVULCByZXMsIE5FVElEX1VOU0VULCBNQVJLX1VOU0VUKTsKLQlfX3Jlc19wdXRfc3RhdGUocmVzKTsKLQlyZXR1cm4gaHA7Ci19Ci0KLXN0cnVjdCBob3N0ZW50ICoKLWdldGhvc3RieW5hbWUyKGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZikKLXsKLQlyZXR1cm4gYW5kcm9pZF9nZXRob3N0YnluYW1lZm9ybmV0KG5hbWUsIGFmLCBORVRJRF9VTlNFVCwgTUFSS19VTlNFVCk7Ci19Ci0KLXN0cnVjdCBob3N0ZW50ICoKLWFuZHJvaWRfZ2V0aG9zdGJ5bmFtZWZvcm5ldChjb25zdCBjaGFyICpuYW1lLCBpbnQgYWYsIHVuc2lnbmVkIG5ldGlkLCB1bnNpZ25lZCBtYXJrKQotewotCXN0cnVjdCBob3N0ZW50ICpocDsKLQlyZXNfc3RhdGUgcmVzID0gX19yZXNfZ2V0X3N0YXRlKCk7Ci0KLQlpZiAocmVzID09IE5VTEwpCi0JCXJldHVybiBOVUxMOwotCWhwID0gZ2V0aG9zdGJ5bmFtZV9pbnRlcm5hbChuYW1lLCBhZiwgcmVzLCBuZXRpZCwgbWFyayk7Ci0JX19yZXNfcHV0X3N0YXRlKHJlcyk7Ci0JcmV0dXJuIGhwOwotfQotCi0KLXN0YXRpYyBGSUxFKiBhbmRyb2lkX29wZW5fcHJveHkoKQotewotCWludCBzb2NrOwotCWNvbnN0IGludCBvbmUgPSAxOwotCXN0cnVjdCBzb2NrYWRkcl91biBwcm94eV9hZGRyOwotCi0Jc29jayA9IHNvY2tldChBRl9VTklYLCBTT0NLX1NUUkVBTSB8IFNPQ0tfQ0xPRVhFQywgMCk7Ci0JaWYgKHNvY2sgPCAwKSB7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXNldHNvY2tvcHQoc29jaywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAmb25lLCBzaXplb2Yob25lKSk7Ci0JbWVtc2V0KCZwcm94eV9hZGRyLCAwLCBzaXplb2YocHJveHlfYWRkcikpOwotCXByb3h5X2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7Ci0Jc3RybGNweShwcm94eV9hZGRyLnN1bl9wYXRoLCAiL2Rldi9zb2NrZXQvZG5zcHJveHlkIiwgc2l6ZW9mKHByb3h5X2FkZHIuc3VuX3BhdGgpKTsKLQlpZiAoVEVNUF9GQUlMVVJFX1JFVFJZKGNvbm5lY3Qoc29jaywKLQkJCShjb25zdCBzdHJ1Y3Qgc29ja2FkZHIqKSAmcHJveHlfYWRkciwKLQkJCXNpemVvZihwcm94eV9hZGRyKSkpICE9IDApIHsKLQkJY2xvc2Uoc29jayk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJldHVybiBmZG9wZW4oc29jaywgInIrIik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCi1hbmRyb2lkX3JlYWRfaG9zdGVudChGSUxFKiBwcm94eSkKLXsKLQl1aW50MzJfdCBzaXplOwotCWNoYXIgYnVmWzRdOwotCWlmIChmcmVhZChidWYsIDEsIHNpemVvZihidWYpLCBwcm94eSkgIT0gc2l6ZW9mKGJ1ZikpIHJldHVybiBOVUxMOwotCi0JLyogVGhpcyBpcyByZWFkaW5nIHNlcmlhbGl6ZWQgZGF0YSBmcm9tIHN5c3RlbS9uZXRkL3NlcnZlci9EbnNQcm94eUxpc3RlbmVyLmNwcAotCSAqIGFuZCBjaGFuZ2VzIGhlcmUgbmVlZCB0byBiZSBtYXRjaGVkIHRoZXJlICovCi0JaW50IHJlc3VsdF9jb2RlID0gc3RydG9sKGJ1ZiwgTlVMTCwgMTApOwotCWlmIChyZXN1bHRfY29kZSAhPSBEbnNQcm94eVF1ZXJ5UmVzdWx0KSB7Ci0JCWZyZWFkKCZzaXplLCAxLCBzaXplb2Yoc2l6ZSksIHByb3h5KTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JaWYgKGZyZWFkKCZzaXplLCAxLCBzaXplb2Yoc2l6ZSksIHByb3h5KSAhPSBzaXplb2Yoc2l6ZSkpIHJldHVybiBOVUxMOwotCXNpemUgPSBudG9obChzaXplKTsKLQlyZXNfc3RhdGljIHJzID0gX19yZXNfZ2V0X3N0YXRpYygpOwotCW1lbXNldCgmcnMtPmhvc3QsIDAsIHNpemVvZihycy0+aG9zdCkpOwotCWNoYXIgKnB0ciA9IHJzLT5ob3N0YnVmOwotCi0JaWYgKGZyZWFkKHB0ciwgMSwgc2l6ZSwgcHJveHkpICE9IHNpemUpIHJldHVybiBOVUxMOwotCXB0ciArPSBzaXplOwotCXJzLT5ob3N0LmhfbmFtZSA9IHJzLT5ob3N0YnVmOwotCi0JY2hhciAqKmFsaWFzZXMgPSBycy0+aG9zdF9hbGlhc2VzOwotCXJzLT5ob3N0LmhfYWxpYXNlcyA9IHJzLT5ob3N0X2FsaWFzZXM7Ci0Jd2hpbGUgKDEpIHsKLQkJaWYgKGZyZWFkKCZzaXplLCAxLCBzaXplb2Yoc2l6ZSksIHByb3h5KSAhPSBzaXplb2Yoc2l6ZSkpIHJldHVybiBOVUxMOwotCQlzaXplID0gbnRvaGwoc2l6ZSk7Ci0KLQkJaWYgKHNpemUgPT0gMCkgewotCQkJKmFsaWFzZXMgPSBOVUxMOwotCQkJYnJlYWs7Ci0JCX0KLQkJaWYgKGZyZWFkKHB0ciwgMSwgc2l6ZSwgcHJveHkpICE9IHNpemUpIHJldHVybiBOVUxMOwotCQkqYWxpYXNlcysrID0gcHRyOwotCQlwdHIgKz0gc2l6ZTsKLQl9Ci0KLQlpZiAoZnJlYWQoJnNpemUsIDEsIHNpemVvZihzaXplKSwgcHJveHkpICE9IHNpemVvZihzaXplKSkgcmV0dXJuIE5VTEw7Ci0JcnMtPmhvc3QuaF9hZGRydHlwZSA9IG50b2hsKHNpemUpOwotCi0JaWYgKGZyZWFkKCZzaXplLCAxLCBzaXplb2Yoc2l6ZSksIHByb3h5KSAhPSBzaXplb2Yoc2l6ZSkpIHJldHVybiBOVUxMOwotCXJzLT5ob3N0LmhfbGVuZ3RoID0gbnRvaGwoc2l6ZSk7Ci0KLQljaGFyICoqYWRkcnMgPSBycy0+aF9hZGRyX3B0cnM7Ci0JcnMtPmhvc3QuaF9hZGRyX2xpc3QgPSBycy0+aF9hZGRyX3B0cnM7Ci0Jd2hpbGUgKDEpIHsKLQkJaWYgKGZyZWFkKCZzaXplLCAxLCBzaXplb2Yoc2l6ZSksIHByb3h5KSAhPSBzaXplb2Yoc2l6ZSkpIHJldHVybiBOVUxMOwotCQlzaXplID0gbnRvaGwoc2l6ZSk7Ci0JCWlmIChzaXplID09IDApIHsKLQkJCSphZGRycyA9IE5VTEw7Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoZnJlYWQocHRyLCAxLCBzaXplLCBwcm94eSkgIT0gc2l6ZSkgcmV0dXJuIE5VTEw7Ci0JCSphZGRycysrID0gcHRyOwotCQlwdHIgKz0gc2l6ZTsKLQl9Ci0KLQlyZXR1cm4gJnJzLT5ob3N0OwotfQotCi0KLXN0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCi1nZXRob3N0YnluYW1lX2ludGVybmFsX3JlYWwoY29uc3QgY2hhciAqbmFtZSwgaW50IGFmLCByZXNfc3RhdGUgcmVzKQotewotCWNvbnN0IGNoYXIgKmNwOwotCWNoYXIgKmJwLCAqZXA7Ci0JaW50IHNpemU7Ci0Jc3RydWN0IGhvc3RlbnQgKmhwOwotCXJlc19zdGF0aWMgcnMgPSBfX3Jlc19nZXRfc3RhdGljKCk7Ci0KLQlzdGF0aWMgY29uc3QgbnNfZHRhYiBkdGFiW10gPSB7Ci0JCU5TX0ZJTEVTX0NCKF9nZXRodGJ5bmFtZSwgTlVMTCkKLQkJeyBOU1NSQ19ETlMsIF9kbnNfZ2V0aHRieW5hbWUsIE5VTEwgfSwJLyogZm9yY2UgLURIRVNJT0QgKi8KLQkJeyAwLCAwLCAwIH0KLQl9OwotCi0JYXNzZXJ0KG5hbWUgIT0gTlVMTCk7Ci0KLQlzd2l0Y2ggKGFmKSB7Ci0JY2FzZSBBRl9JTkVUOgotCQlzaXplID0gSU5BRERSU1o7Ci0JCWJyZWFrOwotCWNhc2UgQUZfSU5FVDY6Ci0JCXNpemUgPSBJTjZBRERSU1o7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWhfZXJybm8gPSBORVREQl9JTlRFUk5BTDsKLQkJZXJybm8gPSBFQUZOT1NVUFBPUlQ7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJzLT5ob3N0LmhfYWRkcnR5cGUgPSBhZjsKLQlycy0+aG9zdC5oX2xlbmd0aCA9IHNpemU7Ci0KLQkvKgotCSAqIGlmIHRoZXJlIGFyZW4ndCBhbnkgZG90cywgaXQgY291bGQgYmUgYSB1c2VyLWxldmVsIGFsaWFzLgotCSAqIHRoaXMgaXMgYWxzbyBkb25lIGluIHJlc19ucXVlcnkoKSBzaW5jZSB3ZSBhcmUgbm90IHRoZSBvbmx5Ci0JICogZnVuY3Rpb24gdGhhdCBsb29rcyB1cCBob3N0IG5hbWVzLgotCSAqLwotCWlmICghc3RyY2hyKG5hbWUsICcuJykgJiYgKGNwID0gX19ob3N0YWxpYXMobmFtZSkpKQotCQluYW1lID0gY3A7Ci0KLQkvKgotCSAqIGRpc2FsbG93IG5hbWVzIGNvbnNpc3Rpbmcgb25seSBvZiBkaWdpdHMvZG90cywgdW5sZXNzCi0JICogdGhleSBlbmQgaW4gYSBkb3QuCi0JICovCi0JaWYgKGlzZGlnaXQoKHVfY2hhcikgbmFtZVswXSkpCi0JCWZvciAoY3AgPSBuYW1lOzsgKytjcCkgewotCQkJaWYgKCEqY3ApIHsKLQkJCQlpZiAoKi0tY3AgPT0gJy4nKQotCQkJCQlicmVhazsKLQkJCQkvKgotCQkJCSAqIEFsbC1udW1lcmljLCBubyBkb3QgYXQgdGhlIGVuZC4KLQkJCQkgKiBGYWtlIHVwIGEgaG9zdGVudCBhcyBpZiB3ZSdkIGFjdHVhbGx5Ci0JCQkJICogZG9uZSBhIGxvb2t1cC4KLQkJCQkgKi8KLQkJCQlpZiAoaW5ldF9wdG9uKGFmLCBuYW1lLAotCQkJCSAgICAoY2hhciAqKSh2b2lkICopcnMtPmhvc3RfYWRkcikgPD0gMCkgewotCQkJCQloX2Vycm5vID0gSE9TVF9OT1RfRk9VTkQ7Ci0JCQkJCXJldHVybiBOVUxMOwotCQkJCX0KLQkJCQlzdHJuY3B5KHJzLT5ob3N0YnVmLCBuYW1lLCBNQVhETkFNRSk7Ci0JCQkJcnMtPmhvc3RidWZbTUFYRE5BTUVdID0gJ1wwJzsKLQkJCQlicCA9IHJzLT5ob3N0YnVmICsgTUFYRE5BTUU7Ci0JCQkJZXAgPSBycy0+aG9zdGJ1ZiArIHNpemVvZiBycy0+aG9zdGJ1ZjsKLQkJCQlycy0+aG9zdC5oX25hbWUgPSBycy0+aG9zdGJ1ZjsKLQkJCQlycy0+aG9zdC5oX2FsaWFzZXMgPSBycy0+aG9zdF9hbGlhc2VzOwotCQkJCXJzLT5ob3N0X2FsaWFzZXNbMF0gPSBOVUxMOwotCQkJCXJzLT5oX2FkZHJfcHRyc1swXSA9IChjaGFyICopKHZvaWQgKilycy0+aG9zdF9hZGRyOwotCQkJCXJzLT5oX2FkZHJfcHRyc1sxXSA9IE5VTEw7Ci0JCQkJcnMtPmhvc3QuaF9hZGRyX2xpc3QgPSBycy0+aF9hZGRyX3B0cnM7Ci0JCQkJaWYgKHJlcy0+b3B0aW9ucyAmIFJFU19VU0VfSU5FVDYpCi0JCQkJCW1hcF92NHY2X2hvc3RlbnQoJnJzLT5ob3N0LCAmYnAsIGVwKTsKLQkJCQloX2Vycm5vID0gTkVUREJfU1VDQ0VTUzsKLQkJCQlyZXR1cm4gJnJzLT5ob3N0OwotCQkJfQotCQkJaWYgKCFpc2RpZ2l0KCh1X2NoYXIpICpjcCkgJiYgKmNwICE9ICcuJykKLQkJCQlicmVhazsKLQkJfQotCWlmICgoaXN4ZGlnaXQoKHVfY2hhcikgbmFtZVswXSkgJiYgc3RyY2hyKG5hbWUsICc6JykgIT0gTlVMTCkgfHwKLQkgICAgbmFtZVswXSA9PSAnOicpCi0JCWZvciAoY3AgPSBuYW1lOzsgKytjcCkgewotCQkJaWYgKCEqY3ApIHsKLQkJCQlpZiAoKi0tY3AgPT0gJy4nKQotCQkJCQlicmVhazsKLQkJCQkvKgotCQkJCSAqIEFsbC1JUHY2LWxlZ2FsLCBubyBkb3QgYXQgdGhlIGVuZC4KLQkJCQkgKiBGYWtlIHVwIGEgaG9zdGVudCBhcyBpZiB3ZSdkIGFjdHVhbGx5Ci0JCQkJICogZG9uZSBhIGxvb2t1cC4KLQkJCQkgKi8KLQkJCQlpZiAoaW5ldF9wdG9uKGFmLCBuYW1lLAotCQkJCSAgICAoY2hhciAqKSh2b2lkICopcnMtPmhvc3RfYWRkcikgPD0gMCkgewotCQkJCQloX2Vycm5vID0gSE9TVF9OT1RfRk9VTkQ7Ci0JCQkJCXJldHVybiBOVUxMOwotCQkJCX0KLQkJCQlzdHJuY3B5KHJzLT5ob3N0YnVmLCBuYW1lLCBNQVhETkFNRSk7Ci0JCQkJcnMtPmhvc3RidWZbTUFYRE5BTUVdID0gJ1wwJzsKLQkJCQlicCA9IHJzLT5ob3N0YnVmICsgTUFYRE5BTUU7Ci0JCQkJZXAgPSBycy0+aG9zdGJ1ZiArIHNpemVvZiBycy0+aG9zdGJ1ZjsKLQkJCQlycy0+aG9zdC5oX25hbWUgPSBycy0+aG9zdGJ1ZjsKLQkJCQlycy0+aG9zdC5oX2FsaWFzZXMgPSBycy0+aG9zdF9hbGlhc2VzOwotCQkJCXJzLT5ob3N0X2FsaWFzZXNbMF0gPSBOVUxMOwotCQkJCXJzLT5oX2FkZHJfcHRyc1swXSA9IChjaGFyICopKHZvaWQgKilycy0+aG9zdF9hZGRyOwotCQkJCXJzLT5oX2FkZHJfcHRyc1sxXSA9IE5VTEw7Ci0JCQkJcnMtPmhvc3QuaF9hZGRyX2xpc3QgPSBycy0+aF9hZGRyX3B0cnM7Ci0JCQkJaF9lcnJubyA9IE5FVERCX1NVQ0NFU1M7Ci0JCQkJcmV0dXJuICZycy0+aG9zdDsKLQkJCX0KLQkJCWlmICghaXN4ZGlnaXQoKHVfY2hhcikgKmNwKSAmJiAqY3AgIT0gJzonICYmICpjcCAhPSAnLicpCi0JCQkJYnJlYWs7Ci0JCX0KLQotCWhwID0gTlVMTDsKLQloX2Vycm5vID0gTkVUREJfSU5URVJOQUw7Ci0JaWYgKG5zZGlzcGF0Y2goJmhwLCBkdGFiLCBOU0RCX0hPU1RTLCAiZ2V0aG9zdGJ5bmFtZSIsCi0JICAgIGRlZmF1bHRfZG5zX2ZpbGVzLCBuYW1lLCBzdHJsZW4obmFtZSksIGFmKSAhPSBOU19TVUNDRVNTKSB7Ci0JCXJldHVybiBOVUxMOwotCX0KLQloX2Vycm5vID0gTkVUREJfU1VDQ0VTUzsKLQlyZXR1cm4gaHA7Ci19Ci0KLQotLy8gdmVyeSBzaW1pbGFyIGluIHByb3h5LW5lc3MgdG8gYW5kcm9pZF9nZXRhZGRyaW5mb19wcm94eQotc3RhdGljIHN0cnVjdCBob3N0ZW50ICoKLWdldGhvc3RieW5hbWVfaW50ZXJuYWwoY29uc3QgY2hhciAqbmFtZSwgaW50IGFmLCByZXNfc3RhdGUgcmVzLCB1bnNpZ25lZCBuZXRpZCwgdW5zaWduZWQgbWFyaykKLXsKLQljb25zdCBjaGFyICpjYWNoZV9tb2RlID0gZ2V0ZW52KCJBTkRST0lEX0ROU19NT0RFIik7Ci0JRklMRSogcHJveHkgPSBOVUxMOwotCXN0cnVjdCBob3N0ZW50ICpyZXN1bHQgPSBOVUxMOwotCi0JaWYgKGNhY2hlX21vZGUgIT0gTlVMTCAmJiBzdHJjbXAoY2FjaGVfbW9kZSwgImxvY2FsIikgPT0gMCkgewotCQlyZXNfc2V0bmV0aWQocmVzLCBuZXRpZCk7Ci0JCXJlc19zZXRtYXJrKHJlcywgbWFyayk7Ci0JCXJldHVybiBnZXRob3N0YnluYW1lX2ludGVybmFsX3JlYWwobmFtZSwgYWYsIHJlcyk7Ci0JfQotCi0JcHJveHkgPSBhbmRyb2lkX29wZW5fcHJveHkoKTsKLQlpZiAocHJveHkgPT0gTlVMTCkgZ290byBleGl0OwotCi0JbmV0aWQgPSBfX25ldGRDbGllbnREaXNwYXRjaC5uZXRJZEZvclJlc29sdihuZXRpZCk7Ci0KLQkvKiBUaGlzIGlzIHdyaXRpbmcgdG8gc3lzdGVtL25ldGQvc2VydmVyL0Ruc1Byb3h5TGlzdGVuZXIuY3BwIGFuZCBjaGFuZ2VzCi0JICogaGVyZSBuZWVkIHRvIGJlIG1hdGNoZWQgdGhlcmUgKi8KLQlpZiAoZnByaW50Zihwcm94eSwgImdldGhvc3RieW5hbWUgJXUgJXMgJWQiLAotCQkJbmV0aWQsCi0JCQluYW1lID09IE5VTEwgPyAiXiIgOiBuYW1lLAotCQkJYWYpIDwgMCkgewotCQlnb3RvIGV4aXQ7Ci0JfQotCi0JaWYgKGZwdXRjKDAsIHByb3h5KSA9PSBFT0YgfHwgZmZsdXNoKHByb3h5KSAhPSAwKSB7Ci0JCWdvdG8gZXhpdDsKLQl9Ci0KLQlyZXN1bHQgPSBhbmRyb2lkX3JlYWRfaG9zdGVudChwcm94eSk7Ci0KLWV4aXQ6Ci0JaWYgKHByb3h5ICE9IE5VTEwpIHsKLQkJZmNsb3NlKHByb3h5KTsKLQl9Ci0JcmV0dXJuIHJlc3VsdDsKLX0KLQotCi1zdHJ1Y3QgaG9zdGVudCAqCi1hbmRyb2lkX2dldGhvc3RieWFkZHJmb3JuZXRfcHJveHkoY29uc3Qgdm9pZCAqYWRkciwKLSAgICBzb2NrbGVuX3QgbGVuLCBpbnQgYWYsIHVuc2lnbmVkIG5ldGlkKQotewotCXN0cnVjdCBob3N0ZW50ICpyZXN1bHQgPSBOVUxMOwotCUZJTEUqIHByb3h5ID0gYW5kcm9pZF9vcGVuX3Byb3h5KCk7Ci0KLQlpZiAocHJveHkgPT0gTlVMTCkgZ290byBleGl0OwotCi0JY2hhciBidWZbSU5FVDZfQUREUlNUUkxFTl07ICAvL2JpZyBlbm91Z2ggZm9yIElQdjQgYW5kIElQdjYKLQljb25zdCBjaGFyICogYWRkclN0ciA9IGluZXRfbnRvcChhZiwgYWRkciwgYnVmLCBzaXplb2YoYnVmKSk7Ci0JaWYgKGFkZHJTdHIgPT0gTlVMTCkgZ290byBleGl0OwotCi0JbmV0aWQgPSBfX25ldGRDbGllbnREaXNwYXRjaC5uZXRJZEZvclJlc29sdihuZXRpZCk7Ci0KLQlpZiAoZnByaW50Zihwcm94eSwgImdldGhvc3RieWFkZHIgJXMgJWQgJWQgJXUiLAotCQkJYWRkclN0ciwgbGVuLCBhZiwgbmV0aWQpIDwgMCkgewotCQlnb3RvIGV4aXQ7Ci0JfQotCi0JaWYgKGZwdXRjKDAsIHByb3h5KSA9PSBFT0YgfHwgZmZsdXNoKHByb3h5KSAhPSAwKSB7Ci0JCWdvdG8gZXhpdDsKLQl9Ci0KLQlyZXN1bHQgPSBhbmRyb2lkX3JlYWRfaG9zdGVudChwcm94eSk7Ci1leGl0OgotCWlmIChwcm94eSAhPSBOVUxMKSB7Ci0JCWZjbG9zZShwcm94eSk7Ci0JfQotCXJldHVybiByZXN1bHQ7Ci19Ci0KLXN0cnVjdCBob3N0ZW50ICoKLWFuZHJvaWRfZ2V0aG9zdGJ5YWRkcmZvcm5ldF9yZWFsKGNvbnN0IHZvaWQgKmFkZHIsCi0gICAgc29ja2xlbl90IGxlbiwgaW50IGFmLCB1bnNpZ25lZCBuZXRpZCwgdW5zaWduZWQgbWFyaykKLXsKLQljb25zdCB1X2NoYXIgKnVhZGRyID0gKGNvbnN0IHVfY2hhciAqKWFkZHI7Ci0Jc29ja2xlbl90IHNpemU7Ci0Jc3RydWN0IGhvc3RlbnQgKmhwOwotCXN0YXRpYyBjb25zdCBuc19kdGFiIGR0YWJbXSA9IHsKLQkJTlNfRklMRVNfQ0IoX2dldGh0YnlhZGRyLCBOVUxMKQotCQl7IE5TU1JDX0ROUywgX2Ruc19nZXRodGJ5YWRkciwgTlVMTCB9LAkvKiBmb3JjZSAtREhFU0lPRCAqLwotCQl7IDAsIDAsIDAgfQotCX07Ci0KLQlhc3NlcnQoYWRkciAhPSBOVUxMKTsKLQotCWlmIChhZiA9PSBBRl9JTkVUNiAmJiBsZW4gPT0gTlNfSU42QUREUlNaICYmCi0JICAgIChJTjZfSVNfQUREUl9MSU5LTE9DQUwoKGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqKWFkZHIpIHx8Ci0JICAgICBJTjZfSVNfQUREUl9TSVRFTE9DQUwoKGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqKWFkZHIpKSkgewotCQloX2Vycm5vID0gSE9TVF9OT1RfRk9VTkQ7Ci0JCXJldHVybiBOVUxMOwotCX0KLQlpZiAoYWYgPT0gQUZfSU5FVDYgJiYgbGVuID09IE5TX0lONkFERFJTWiAmJgotCSAgICAoSU42X0lTX0FERFJfVjRNQVBQRUQoKGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqKWFkZHIpIHx8Ci0JICAgICBJTjZfSVNfQUREUl9WNENPTVBBVCgoY29uc3Qgc3RydWN0IGluNl9hZGRyICopYWRkcikpKSB7Ci0JCS8qIFVubWFwLiAqLwotCQl1YWRkciArPSBOU19JTjZBRERSU1ogLSBOU19JTkFERFJTWjsKLQkJYWRkciA9IHVhZGRyOwotCQlhZiA9IEFGX0lORVQ7Ci0JCWxlbiA9IE5TX0lOQUREUlNaOwotCX0KLQlzd2l0Y2ggKGFmKSB7Ci0JY2FzZSBBRl9JTkVUOgotCQlzaXplID0gTlNfSU5BRERSU1o7Ci0JCWJyZWFrOwotCWNhc2UgQUZfSU5FVDY6Ci0JCXNpemUgPSBOU19JTjZBRERSU1o7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWVycm5vID0gRUFGTk9TVVBQT1JUOwotCQloX2Vycm5vID0gTkVUREJfSU5URVJOQUw7Ci0JCXJldHVybiBOVUxMOwotCX0KLQlpZiAoc2l6ZSAhPSBsZW4pIHsKLQkJZXJybm8gPSBFSU5WQUw7Ci0JCWhfZXJybm8gPSBORVREQl9JTlRFUk5BTDsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCWhwID0gTlVMTDsKLQloX2Vycm5vID0gTkVUREJfSU5URVJOQUw7Ci0JaWYgKG5zZGlzcGF0Y2goJmhwLCBkdGFiLCBOU0RCX0hPU1RTLCAiZ2V0aG9zdGJ5YWRkciIsCi0JCWRlZmF1bHRfZG5zX2ZpbGVzLCB1YWRkciwgbGVuLCBhZiwgbmV0aWQsIG1hcmspICE9IE5TX1NVQ0NFU1MpCi0JCXJldHVybiBOVUxMOwotCWhfZXJybm8gPSBORVREQl9TVUNDRVNTOwotCXJldHVybiBocDsKLX0KLQotc3RydWN0IGhvc3RlbnQgKgotYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0KGNvbnN0IHZvaWQgKmFkZHIsIHNvY2tsZW5fdCBsZW4sIGludCBhZiwgdW5zaWduZWQgbmV0aWQsIHVuc2lnbmVkIG1hcmspCi17Ci0JY29uc3QgY2hhciAqY2FjaGVfbW9kZSA9IGdldGVudigiQU5EUk9JRF9ETlNfTU9ERSIpOwotCi0JaWYgKGNhY2hlX21vZGUgPT0gTlVMTCB8fCBzdHJjbXAoY2FjaGVfbW9kZSwgImxvY2FsIikgIT0gMCkgewotCQlyZXR1cm4gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5KGFkZHIsIGxlbiwgYWYsIG5ldGlkKTsKLQl9IGVsc2UgewotCQlyZXR1cm4gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3JlYWwoYWRkcixsZW4sIGFmLCBuZXRpZCwgbWFyayk7Ci0JfQotfQotCi1zdHJ1Y3QgaG9zdGVudCAqCi1nZXRob3N0YnlhZGRyKGNvbnN0IHZvaWQgKmFkZHIsIHNvY2tsZW5fdCBsZW4sIGludCBhZikKLXsKLQlyZXR1cm4gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0KGFkZHIsIGxlbiwgYWYsIE5FVElEX1VOU0VULCBNQVJLX1VOU0VUKTsKLX0KLQotCi1zdGF0aWMgdm9pZAotX3NldGh0ZW50KGludCBmKQotewotICAgIHJlc19zdGF0aWMgIHJzID0gX19yZXNfZ2V0X3N0YXRpYygpOwotICAgIGlmIChycyA9PSBOVUxMKSByZXR1cm47Ci0JaWYgKCFycy0+aG9zdGYpCi0JCXJzLT5ob3N0ZiA9IGZvcGVuKF9QQVRIX0hPU1RTLCAiciIgKTsKLQllbHNlCi0JCXJld2luZChycy0+aG9zdGYpOwotCXJzLT5zdGF5b3BlbiA9IGY7Ci19Ci0KLXN0YXRpYyB2b2lkCi1fZW5kaHRlbnQodm9pZCkKLXsKLSAgICByZXNfc3RhdGljICBycyA9IF9fcmVzX2dldF9zdGF0aWMoKTsKLSAgICBpZiAocnMgPT0gTlVMTCkgcmV0dXJuOwotCi0JaWYgKHJzLT5ob3N0ZiAmJiAhcnMtPnN0YXlvcGVuKSB7Ci0JCSh2b2lkKSBmY2xvc2UocnMtPmhvc3RmKTsKLQkJcnMtPmhvc3RmID0gTlVMTDsKLQl9Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCi1fZ2V0aHRlbnQodm9pZCkKLXsKLQljaGFyICpwOwotCWNoYXIgKmNwLCAqKnE7Ci0JaW50IGFmLCBsZW47Ci0JcmVzX3N0YXRpYyAgcnMgPSBfX3Jlc19nZXRfc3RhdGljKCk7Ci0KLQlpZiAoIXJzLT5ob3N0ZiAmJiAhKHJzLT5ob3N0ZiA9IGZvcGVuKF9QQVRIX0hPU1RTLCAiciIgKSkpIHsKLQkJaF9lcnJubyA9IE5FVERCX0lOVEVSTkFMOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0gYWdhaW46Ci0JaWYgKCEocCA9IGZnZXRzKHJzLT5ob3N0YnVmLCBzaXplb2YgcnMtPmhvc3RidWYsIHJzLT5ob3N0ZikpKSB7Ci0JCWhfZXJybm8gPSBIT1NUX05PVF9GT1VORDsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCWlmICgqcCA9PSAnIycpCi0JCWdvdG8gYWdhaW47Ci0JaWYgKCEoY3AgPSBzdHJwYnJrKHAsICIjXG4iKSkpCi0JCWdvdG8gYWdhaW47Ci0JKmNwID0gJ1wwJzsKLQlpZiAoIShjcCA9IHN0cnBicmsocCwgIiBcdCIpKSkKLQkJZ290byBhZ2FpbjsKLQkqY3ArKyA9ICdcMCc7Ci0JaWYgKGluZXRfcHRvbihBRl9JTkVUNiwgcCwgKGNoYXIgKikodm9pZCAqKXJzLT5ob3N0X2FkZHIpID4gMCkgewotCQlhZiA9IEFGX0lORVQ2OwotCQlsZW4gPSBJTjZBRERSU1o7Ci0JfSBlbHNlIGlmIChpbmV0X3B0b24oQUZfSU5FVCwgcCwgKGNoYXIgKikodm9pZCAqKXJzLT5ob3N0X2FkZHIpID4gMCkgewotCQlyZXNfc3RhdGUgcmVzID0gX19yZXNfZ2V0X3N0YXRlKCk7Ci0JCWlmIChyZXMgPT0gTlVMTCkKLQkJCXJldHVybiBOVUxMOwotCQlpZiAocmVzLT5vcHRpb25zICYgUkVTX1VTRV9JTkVUNikgewotCQkJbWFwX3Y0djZfYWRkcmVzcygoY2hhciAqKSh2b2lkICopcnMtPmhvc3RfYWRkciwKLQkJCSAgICAoY2hhciAqKSh2b2lkICopcnMtPmhvc3RfYWRkcik7Ci0JCQlhZiA9IEFGX0lORVQ2OwotCQkJbGVuID0gSU42QUREUlNaOwotCQl9IGVsc2UgewotCQkJYWYgPSBBRl9JTkVUOwotCQkJbGVuID0gSU5BRERSU1o7Ci0JCX0KLQkJX19yZXNfcHV0X3N0YXRlKHJlcyk7Ci0JfSBlbHNlIHsKLQkJZ290byBhZ2FpbjsKLQl9Ci0JLyogaWYgdGhpcyBpcyBub3Qgc29tZXRoaW5nIHdlJ3JlIGxvb2tpbmcgZm9yLCBza2lwIGl0LiAqLwotCWlmIChycy0+aG9zdC5oX2FkZHJ0eXBlICE9IDAgJiYgcnMtPmhvc3QuaF9hZGRydHlwZSAhPSBhZikKLQkJZ290byBhZ2FpbjsKLQlpZiAocnMtPmhvc3QuaF9sZW5ndGggIT0gMCAmJiBycy0+aG9zdC5oX2xlbmd0aCAhPSBsZW4pCi0JCWdvdG8gYWdhaW47Ci0JcnMtPmhfYWRkcl9wdHJzWzBdID0gKGNoYXIgKikodm9pZCAqKXJzLT5ob3N0X2FkZHI7Ci0JcnMtPmhfYWRkcl9wdHJzWzFdID0gTlVMTDsKLQlycy0+aG9zdC5oX2FkZHJfbGlzdCA9IHJzLT5oX2FkZHJfcHRyczsKLQlycy0+aG9zdC5oX2xlbmd0aCA9IGxlbjsKLQlycy0+aG9zdC5oX2FkZHJ0eXBlID0gYWY7Ci0Jd2hpbGUgKCpjcCA9PSAnICcgfHwgKmNwID09ICdcdCcpCi0JCWNwKys7Ci0JcnMtPmhvc3QuaF9uYW1lID0gY3A7Ci0JcSA9IHJzLT5ob3N0LmhfYWxpYXNlcyA9IHJzLT5ob3N0X2FsaWFzZXM7Ci0JaWYgKChjcCA9IHN0cnBicmsoY3AsICIgXHQiKSkgIT0gTlVMTCkKLQkJKmNwKysgPSAnXDAnOwotCXdoaWxlIChjcCAmJiAqY3ApIHsKLQkJaWYgKCpjcCA9PSAnICcgfHwgKmNwID09ICdcdCcpIHsKLQkJCWNwKys7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAocSA8ICZycy0+aG9zdF9hbGlhc2VzW01BWEFMSUFTRVMgLSAxXSkKLQkJCSpxKysgPSBjcDsKLQkJaWYgKChjcCA9IHN0cnBicmsoY3AsICIgXHQiKSkgIT0gTlVMTCkKLQkJCSpjcCsrID0gJ1wwJzsKLQl9Ci0JKnEgPSBOVUxMOwotCWhfZXJybm8gPSBORVREQl9TVUNDRVNTOwotCXJldHVybiAmcnMtPmhvc3Q7Ci19Ci0KLS8qQVJHU1VTRUQqLwotaW50Ci1fZ2V0aHRieW5hbWUodm9pZCAqcnYsIHZvaWQgKmNiX2RhdGEsIHZhX2xpc3QgYXApCi17Ci0Jc3RydWN0IGhvc3RlbnQgKmhwOwotCWNvbnN0IGNoYXIgKm5hbWU7Ci0JaW50IGFmOwotCi0JYXNzZXJ0KHJ2ICE9IE5VTEwpOwotCi0JbmFtZSA9IHZhX2FyZyhhcCwgY2hhciAqKTsKLQkvKiBOT1NUUklDVCBza2lwIGxlbiAqLyh2b2lkKXZhX2FyZyhhcCwgaW50KTsKLQlhZiA9IHZhX2FyZyhhcCwgaW50KTsKLQotCWhwID0gTlVMTDsKLSNpZiAwCi0JewotCQlyZXNfc3RhdGUgcmVzID0gX19yZXNfZ2V0X3N0YXRlKCk7Ci0JCWlmIChyZXMgPT0gTlVMTCkKLQkJCXJldHVybiBOU19OT1RGT1VORDsKLQkJaWYgKHJlcy0+b3B0aW9ucyAmIFJFU19VU0VfSU5FVDYpCi0JCQlocCA9IF9nZXRodGJ5bmFtZTIobmFtZSwgQUZfSU5FVDYpOwotCQlpZiAoaHA9PU5VTEwpCi0JCQlocCA9IF9nZXRodGJ5bmFtZTIobmFtZSwgQUZfSU5FVCk7Ci0JCV9fcmVzX3B1dF9zdGF0ZShyZXMpOwotCX0KLSNlbHNlCi0JaHAgPSBfZ2V0aHRieW5hbWUyKG5hbWUsIGFmKTsKLSNlbmRpZgotCSooKHN0cnVjdCBob3N0ZW50ICoqKXJ2KSA9IGhwOwotCWlmIChocCA9PSBOVUxMKSB7Ci0JCWhfZXJybm8gPSBIT1NUX05PVF9GT1VORDsKLQkJcmV0dXJuIE5TX05PVEZPVU5EOwotCX0KLQlyZXR1cm4gTlNfU1VDQ0VTUzsKLX0KLQotc3RhdGljIHN0cnVjdCBob3N0ZW50ICoKLV9nZXRodGJ5bmFtZTIoY29uc3QgY2hhciAqbmFtZSwgaW50IGFmKQotewotCXN0cnVjdCBob3N0ZW50ICpwOwotCWNoYXIgKnRtcGJ1ZiwgKnB0ciwgKipjcDsKLQlpbnQgbnVtOwotCXNpemVfdCBsZW47Ci0JcmVzX3N0YXRpYyBycyA9IF9fcmVzX2dldF9zdGF0aWMoKTsKLQotCWFzc2VydChuYW1lICE9IE5VTEwpOwotCi0JX3NldGh0ZW50KHJzLT5zdGF5b3Blbik7Ci0JcHRyID0gdG1wYnVmID0gTlVMTDsKLQludW0gPSAwOwotCXdoaWxlICgocCA9IF9nZXRodGVudCgpKSAhPSBOVUxMICYmIG51bSA8IE1BWEFERFJTKSB7Ci0JCWlmIChwLT5oX2FkZHJ0eXBlICE9IGFmKQotCQkJY29udGludWU7Ci0JCWlmIChzdHJjYXNlY21wKHAtPmhfbmFtZSwgbmFtZSkgIT0gMCkgewotCQkJZm9yIChjcCA9IHAtPmhfYWxpYXNlczsgKmNwICE9IE5VTEw7IGNwKyspCi0JCQkJaWYgKHN0cmNhc2VjbXAoKmNwLCBuYW1lKSA9PSAwKQotCQkJCQlicmVhazsKLQkJCWlmICgqY3AgPT0gTlVMTCkgY29udGludWU7Ci0JCX0KLQotCQlpZiAobnVtID09IDApIHsKLQkJCXNpemVfdCBidWZzaXplOwotCQkJY2hhciAqc3JjOwotCi0JCQlidWZzaXplID0gc3RybGVuKHAtPmhfbmFtZSkgKyAyICsKLQkJCQkgIE1BWEFERFJTICogcC0+aF9sZW5ndGggKwotCQkJCSAgQUxJR05CWVRFUzsKLQkJCWZvciAoY3AgPSBwLT5oX2FsaWFzZXM7ICpjcCAhPSBOVUxMOyBjcCsrKQotCQkJCWJ1ZnNpemUgKz0gc3RybGVuKCpjcCkgKyAxOwotCi0JCQlpZiAoKHRtcGJ1ZiA9IG1hbGxvYyhidWZzaXplKSkgPT0gTlVMTCkgewotCQkJCWhfZXJybm8gPSBORVREQl9JTlRFUk5BTDsKLQkJCQlyZXR1cm4gTlVMTDsKLQkJCX0KLQotCQkJcHRyID0gdG1wYnVmOwotCQkJc3JjID0gcC0+aF9uYW1lOwotCQkJd2hpbGUgKCgqcHRyKysgPSAqc3JjKyspICE9ICdcMCcpOwotCQkJZm9yIChjcCA9IHAtPmhfYWxpYXNlczsgKmNwICE9IE5VTEw7IGNwKyspIHsKLQkJCQlzcmMgPSAqY3A7Ci0JCQkJd2hpbGUgKCgqcHRyKysgPSAqc3JjKyspICE9ICdcMCcpOwotCQkJfQotCQkJKnB0cisrID0gJ1wwJzsKLQotCQkJcHRyID0gKGNoYXIgKikodm9pZCAqKUFMSUdOKHB0cik7Ci0JCX0KLQotCQkodm9pZCltZW1jcHkocHRyLCBwLT5oX2FkZHJfbGlzdFswXSwgKHNpemVfdClwLT5oX2xlbmd0aCk7Ci0JCXB0ciArPSBwLT5oX2xlbmd0aDsKLQkJbnVtKys7Ci0JfQotCV9lbmRodGVudCgpOwotCWlmIChudW0gPT0gMCkgcmV0dXJuIE5VTEw7Ci0KLQlsZW4gPSBwdHIgLSB0bXBidWY7Ci0JaWYgKGxlbiA+IChzaXplb2YocnMtPmhvc3RidWYpIC0gQUxJR05CWVRFUykpIHsKLQkJZnJlZSh0bXBidWYpOwotCQllcnJubyA9IEVOT1NQQzsKLQkJaF9lcnJubyA9IE5FVERCX0lOVEVSTkFMOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JcHRyID0gbWVtY3B5KCh2b2lkICopQUxJR04ocnMtPmhvc3RidWYpLCB0bXBidWYsIGxlbik7Ci0JZnJlZSh0bXBidWYpOwotCi0JcnMtPmhvc3QuaF9uYW1lID0gcHRyOwotCXdoaWxlICgqcHRyKyspOwotCi0JY3AgPSBycy0+aG9zdF9hbGlhc2VzOwotCXdoaWxlICgqcHRyKSB7Ci0JCSpjcCsrID0gcHRyOwotCQl3aGlsZSAoKnB0cisrKTsKLQl9Ci0JcHRyKys7Ci0JKmNwID0gTlVMTDsKLQotCXB0ciA9IChjaGFyICopKHZvaWQgKilBTElHTihwdHIpOwotCWNwID0gcnMtPmhfYWRkcl9wdHJzOwotCXdoaWxlIChudW0tLSkgewotCQkqY3ArKyA9IHB0cjsKLQkJcHRyICs9IHJzLT5ob3N0LmhfbGVuZ3RoOwotCX0KLQkqY3AgPSBOVUxMOwotCi0JcmV0dXJuICZycy0+aG9zdDsKLX0KLQotLypBUkdTVVNFRCovCi1zdGF0aWMgaW50Ci1fZ2V0aHRieWFkZHIodm9pZCAqcnYsIHZvaWQgKmNiX2RhdGEsIHZhX2xpc3QgYXApCi17Ci0Jc3RydWN0IGhvc3RlbnQgKnA7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqYWRkcjsKLQlpbnQgbGVuLCBhZjsKLQlyZXNfc3RhdGljICBycyA9IF9fcmVzX2dldF9zdGF0aWMoKTsKLQotCWFzc2VydChydiAhPSBOVUxMKTsKLQotCWFkZHIgPSB2YV9hcmcoYXAsIHVuc2lnbmVkIGNoYXIgKik7Ci0JbGVuID0gdmFfYXJnKGFwLCBpbnQpOwotCWFmID0gdmFfYXJnKGFwLCBpbnQpOwotCi0JcnMtPmhvc3QuaF9sZW5ndGggPSBsZW47Ci0JcnMtPmhvc3QuaF9hZGRydHlwZSA9IGFmOwotCi0JX3NldGh0ZW50KHJzLT5zdGF5b3Blbik7Ci0Jd2hpbGUgKChwID0gX2dldGh0ZW50KCkpICE9IE5VTEwpCi0JCWlmIChwLT5oX2FkZHJ0eXBlID09IGFmICYmICFtZW1jbXAocC0+aF9hZGRyLCBhZGRyLAotCQkgICAgKHNpemVfdClsZW4pKQotCQkJYnJlYWs7Ci0JX2VuZGh0ZW50KCk7Ci0JKigoc3RydWN0IGhvc3RlbnQgKiopcnYpID0gcDsKLQlpZiAocD09TlVMTCkgewotCQloX2Vycm5vID0gSE9TVF9OT1RfRk9VTkQ7Ci0JCXJldHVybiBOU19OT1RGT1VORDsKLQl9Ci0JcmV0dXJuIE5TX1NVQ0NFU1M7Ci19Ci0KLXN0YXRpYyB2b2lkCi1tYXBfdjR2Nl9hZGRyZXNzKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZHN0KQotewotCXVfY2hhciAqcCA9ICh1X2NoYXIgKilkc3Q7Ci0JY2hhciB0bXBbSU5BRERSU1pdOwotCWludCBpOwotCi0JYXNzZXJ0KHNyYyAhPSBOVUxMKTsKLQlhc3NlcnQoZHN0ICE9IE5VTEwpOwotCi0JLyogU3Rhc2ggYSB0ZW1wb3JhcnkgY29weSBzbyBvdXIgY2FsbGVyIGNhbiB1cGRhdGUgaW4gcGxhY2UuICovCi0JKHZvaWQpbWVtY3B5KHRtcCwgc3JjLCBJTkFERFJTWik7Ci0JLyogTWFyayB0aGlzIGlwdjYgYWRkciBhcyBhIG1hcHBlZCBpcHY0LiAqLwotCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQotCQkqcCsrID0gMHgwMDsKLQkqcCsrID0gMHhmZjsKLQkqcCsrID0gMHhmZjsKLQkvKiBSZXRyaWV2ZSB0aGUgc2F2ZWQgY29weSBhbmQgd2UncmUgZG9uZS4gKi8KLQkodm9pZCltZW1jcHkoKHZvaWQgKilwLCB0bXAsIElOQUREUlNaKTsKLX0KLQotc3RhdGljIHZvaWQKLW1hcF92NHY2X2hvc3RlbnQoc3RydWN0IGhvc3RlbnQgKmhwLCBjaGFyICoqYnBwLCBjaGFyICplcCkKLXsKLQljaGFyICoqYXA7Ci0KLQlhc3NlcnQoaHAgIT0gTlVMTCk7Ci0JYXNzZXJ0KGJwcCAhPSBOVUxMKTsKLQlhc3NlcnQoZXAgIT0gTlVMTCk7Ci0KLQlpZiAoaHAtPmhfYWRkcnR5cGUgIT0gQUZfSU5FVCB8fCBocC0+aF9sZW5ndGggIT0gSU5BRERSU1opCi0JCXJldHVybjsKLQlocC0+aF9hZGRydHlwZSA9IEFGX0lORVQ2OwotCWhwLT5oX2xlbmd0aCA9IElONkFERFJTWjsKLQlmb3IgKGFwID0gaHAtPmhfYWRkcl9saXN0OyAqYXA7IGFwKyspIHsKLQkJaW50IGkgPSBzaXplb2YoYWxpZ24pIC0gKHNpemVfdCkoKHVfbG9uZykqYnBwICUgc2l6ZW9mKGFsaWduKSk7Ci0KLQkJaWYgKGVwIC0gKmJwcCA8IChpICsgSU42QUREUlNaKSkgewotCQkJLyogT3V0IG9mIG1lbW9yeS4gIFRydW5jYXRlIGFkZHJlc3MgbGlzdCBoZXJlLiAgWFhYICovCi0JCQkqYXAgPSBOVUxMOwotCQkJcmV0dXJuOwotCQl9Ci0JCSpicHAgKz0gaTsKLQkJbWFwX3Y0djZfYWRkcmVzcygqYXAsICpicHApOwotCQkqYXAgPSAqYnBwOwotCQkqYnBwICs9IElONkFERFJTWjsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkCi1hZGRyc29ydChjaGFyICoqYXAsIGludCBudW0sIHJlc19zdGF0ZSByZXMpCi17Ci0JaW50IGksIGo7Ci0JY2hhciAqKnA7Ci0Jc2hvcnQgYXZhbFtNQVhBRERSU107Ci0JaW50IG5lZWRzb3J0ID0gMDsKLQotCWFzc2VydChhcCAhPSBOVUxMKTsKLQotCXAgPSBhcDsKLQlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyssIHArKykgewotCSAgICBmb3IgKGogPSAwIDsgKHVuc2lnbmVkKWogPCByZXMtPm5zb3J0OyBqKyspCi0JCWlmIChyZXMtPnNvcnRfbGlzdFtqXS5hZGRyLnNfYWRkciA9PQotCQkgICAgKCgoc3RydWN0IGluX2FkZHIgKikodm9pZCAqKSgqcCkpLT5zX2FkZHIgJgotCQkgICAgcmVzLT5zb3J0X2xpc3Rbal0ubWFzaykpCi0JCQlicmVhazsKLQkgICAgYXZhbFtpXSA9IGo7Ci0JICAgIGlmIChuZWVkc29ydCA9PSAwICYmIGkgPiAwICYmIGogPCBhdmFsW2ktMV0pCi0JCW5lZWRzb3J0ID0gaTsKLQl9Ci0JaWYgKCFuZWVkc29ydCkKLQkgICAgcmV0dXJuOwotCi0Jd2hpbGUgKG5lZWRzb3J0IDwgbnVtKSB7Ci0JICAgIGZvciAoaiA9IG5lZWRzb3J0IC0gMTsgaiA+PSAwOyBqLS0pIHsKLQkJaWYgKGF2YWxbal0gPiBhdmFsW2orMV0pIHsKLQkJICAgIGNoYXIgKmhwOwotCi0JCSAgICBpID0gYXZhbFtqXTsKLQkJICAgIGF2YWxbal0gPSBhdmFsW2orMV07Ci0JCSAgICBhdmFsW2orMV0gPSBpOwotCi0JCSAgICBocCA9IGFwW2pdOwotCQkgICAgYXBbal0gPSBhcFtqKzFdOwotCQkgICAgYXBbaisxXSA9IGhwOwotCQl9IGVsc2UKLQkJICAgIGJyZWFrOwotCSAgICB9Ci0JICAgIG5lZWRzb3J0Kys7Ci0JfQotfQotCi1zdHJ1Y3QgaG9zdGVudCAqCi1nZXRob3N0ZW50KHZvaWQpCi17Ci0gICAgcmVzX3N0YXRpYyAgcnMgPSBfX3Jlc19nZXRfc3RhdGljKCk7Ci0JcnMtPmhvc3QuaF9hZGRydHlwZSA9IDA7Ci0JcnMtPmhvc3QuaF9sZW5ndGggPSAwOwotCXJldHVybiBfZ2V0aHRlbnQoKTsKLX0KLQotLypBUkdTVVNFRCovCi1zdGF0aWMgaW50Ci1fZG5zX2dldGh0YnluYW1lKHZvaWQgKnJ2LCB2b2lkICpjYl9kYXRhLCB2YV9saXN0IGFwKQotewotCXF1ZXJ5YnVmICpidWY7Ci0JaW50IG4sIHR5cGU7Ci0Jc3RydWN0IGhvc3RlbnQgKmhwOwotCWNvbnN0IGNoYXIgKm5hbWU7Ci0JaW50IGFmOwotCXJlc19zdGF0ZSByZXM7Ci0KLQlhc3NlcnQocnYgIT0gTlVMTCk7Ci0KLQluYW1lID0gdmFfYXJnKGFwLCBjaGFyICopOwotCS8qIE5PU1RSSUNUIHNraXAgbGVuICovKHZvaWQpdmFfYXJnKGFwLCBpbnQpOwotCWFmID0gdmFfYXJnKGFwLCBpbnQpOwotCi0Jc3dpdGNoIChhZikgewotCWNhc2UgQUZfSU5FVDoKLQkJdHlwZSA9IFRfQTsKLQkJYnJlYWs7Ci0JY2FzZSBBRl9JTkVUNjoKLQkJdHlwZSA9IFRfQUFBQTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIE5TX1VOQVZBSUw7Ci0JfQotCWJ1ZiA9IG1hbGxvYyhzaXplb2YoKmJ1ZikpOwotCWlmIChidWYgPT0gTlVMTCkgewotCQloX2Vycm5vID0gTkVUREJfSU5URVJOQUw7Ci0JCXJldHVybiBOU19OT1RGT1VORDsKLQl9Ci0JcmVzID0gX19yZXNfZ2V0X3N0YXRlKCk7Ci0JaWYgKHJlcyA9PSBOVUxMKSB7Ci0JCWZyZWUoYnVmKTsKLQkJcmV0dXJuIE5TX05PVEZPVU5EOwotCX0KLQluID0gcmVzX25zZWFyY2gocmVzLCBuYW1lLCBDX0lOLCB0eXBlLCBidWYtPmJ1Ziwgc2l6ZW9mKGJ1Zi0+YnVmKSk7Ci0JaWYgKG4gPCAwKSB7Ci0JCWZyZWUoYnVmKTsKLQkJZHByaW50ZigicmVzX25zZWFyY2ggZmFpbGVkICglZClcbiIsIHJlcywgbik7Ci0JCV9fcmVzX3B1dF9zdGF0ZShyZXMpOwotCQlyZXR1cm4gTlNfTk9URk9VTkQ7Ci0JfQotCWhwID0gZ2V0YW5zd2VyKGJ1ZiwgbiwgbmFtZSwgdHlwZSwgcmVzKTsKLQlmcmVlKGJ1Zik7Ci0JX19yZXNfcHV0X3N0YXRlKHJlcyk7Ci0JaWYgKGhwID09IE5VTEwpCi0JCXN3aXRjaCAoaF9lcnJubykgewotCQljYXNlIEhPU1RfTk9UX0ZPVU5EOgotCQkJcmV0dXJuIE5TX05PVEZPVU5EOwotCQljYXNlIFRSWV9BR0FJTjoKLQkJCXJldHVybiBOU19UUllBR0FJTjsKLQkJZGVmYXVsdDoKLQkJCXJldHVybiBOU19VTkFWQUlMOwotCQl9Ci0JKigoc3RydWN0IGhvc3RlbnQgKiopcnYpID0gaHA7Ci0JcmV0dXJuIE5TX1NVQ0NFU1M7Ci19Ci0KLS8qQVJHU1VTRUQqLwotc3RhdGljIGludAotX2Ruc19nZXRodGJ5YWRkcih2b2lkICpydiwgdm9pZAkqY2JfZGF0YSwgdmFfbGlzdCBhcCkKLXsKLQljaGFyIHFidWZbTUFYRE5BTUUgKyAxXSwgKnFwLCAqZXA7Ci0JaW50IG47Ci0JcXVlcnlidWYgKmJ1ZjsKLQlzdHJ1Y3QgaG9zdGVudCAqaHA7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqdWFkZHI7Ci0JaW50IGxlbiwgYWYsIGFkdmFuY2U7Ci0JcmVzX3N0YXRlIHJlczsKLQl1bnNpZ25lZCBuZXRpZCwgbWFyazsKLQlyZXNfc3RhdGljIHJzID0gX19yZXNfZ2V0X3N0YXRpYygpOwotCi0JYXNzZXJ0KHJ2ICE9IE5VTEwpOwotCi0JdWFkZHIgPSB2YV9hcmcoYXAsIHVuc2lnbmVkIGNoYXIgKik7Ci0JbGVuID0gdmFfYXJnKGFwLCBpbnQpOwotCWFmID0gdmFfYXJnKGFwLCBpbnQpOwotCW5ldGlkID0gdmFfYXJnKGFwLCB1bnNpZ25lZCk7Ci0JbWFyayA9IHZhX2FyZyhhcCwgdW5zaWduZWQpOwotCi0Jc3dpdGNoIChhZikgewotCWNhc2UgQUZfSU5FVDoKLQkJKHZvaWQpc25wcmludGYocWJ1Ziwgc2l6ZW9mKHFidWYpLCAiJXUuJXUuJXUuJXUuaW4tYWRkci5hcnBhIiwKLQkJICAgICh1YWRkclszXSAmIDB4ZmYpLCAodWFkZHJbMl0gJiAweGZmKSwKLQkJICAgICh1YWRkclsxXSAmIDB4ZmYpLCAodWFkZHJbMF0gJiAweGZmKSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBBRl9JTkVUNjoKLQkJcXAgPSBxYnVmOwotCQllcCA9IHFidWYgKyBzaXplb2YocWJ1ZikgLSAxOwotCQlmb3IgKG4gPSBJTjZBRERSU1ogLSAxOyBuID49IDA7IG4tLSkgewotCQkJYWR2YW5jZSA9IHNucHJpbnRmKHFwLCAoc2l6ZV90KShlcCAtIHFwKSwgIiV4LiV4LiIsCi0JCQkgICAgdWFkZHJbbl0gJiAweGYsCi0JCQkgICAgKCh1bnNpZ25lZCBpbnQpdWFkZHJbbl0gPj4gNCkgJiAweGYpOwotCQkJaWYgKGFkdmFuY2UgPiAwICYmIHFwICsgYWR2YW5jZSA8IGVwKQotCQkJCXFwICs9IGFkdmFuY2U7Ci0JCQllbHNlIHsKLQkJCQloX2Vycm5vID0gTkVUREJfSU5URVJOQUw7Ci0JCQkJcmV0dXJuIE5TX05PVEZPVU5EOwotCQkJfQotCQl9Ci0JCWlmIChzdHJsY2F0KHFidWYsICJpcDYuYXJwYSIsIHNpemVvZihxYnVmKSkgPj0gc2l6ZW9mKHFidWYpKSB7Ci0JCQloX2Vycm5vID0gTkVUREJfSU5URVJOQUw7Ci0JCQlyZXR1cm4gTlNfTk9URk9VTkQ7Ci0JCX0KLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJYWJvcnQoKTsKLQl9Ci0KLQlidWYgPSBtYWxsb2Moc2l6ZW9mKCpidWYpKTsKLQlpZiAoYnVmID09IE5VTEwpIHsKLQkJaF9lcnJubyA9IE5FVERCX0lOVEVSTkFMOwotCQlyZXR1cm4gTlNfTk9URk9VTkQ7Ci0JfQotCXJlcyA9IF9fcmVzX2dldF9zdGF0ZSgpOwotCWlmIChyZXMgPT0gTlVMTCkgewotCQlmcmVlKGJ1Zik7Ci0JCXJldHVybiBOU19OT1RGT1VORDsKLQl9Ci0JcmVzX3NldG5ldGlkKHJlcywgbmV0aWQpOwotCXJlc19zZXRtYXJrKHJlcywgbWFyayk7Ci0JbiA9IHJlc19ucXVlcnkocmVzLCBxYnVmLCBDX0lOLCBUX1BUUiwgYnVmLT5idWYsIHNpemVvZihidWYtPmJ1ZikpOwotCWlmIChuIDwgMCkgewotCQlmcmVlKGJ1Zik7Ci0JCWRwcmludGYoInJlc19ucXVlcnkgZmFpbGVkICglZClcbiIsIHJlcywgbik7Ci0JCV9fcmVzX3B1dF9zdGF0ZShyZXMpOwotCQlyZXR1cm4gTlNfTk9URk9VTkQ7Ci0JfQotCWhwID0gZ2V0YW5zd2VyKGJ1ZiwgbiwgcWJ1ZiwgVF9QVFIsIHJlcyk7Ci0JZnJlZShidWYpOwotCWlmIChocCA9PSBOVUxMKSB7Ci0JCV9fcmVzX3B1dF9zdGF0ZShyZXMpOwotCQlzd2l0Y2ggKGhfZXJybm8pIHsKLQkJY2FzZSBIT1NUX05PVF9GT1VORDoKLQkJCXJldHVybiBOU19OT1RGT1VORDsKLQkJY2FzZSBUUllfQUdBSU46Ci0JCQlyZXR1cm4gTlNfVFJZQUdBSU47Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gTlNfVU5BVkFJTDsKLQkJfQotCX0KLQlocC0+aF9hZGRydHlwZSA9IGFmOwotCWhwLT5oX2xlbmd0aCA9IGxlbjsKLQkodm9pZCltZW1jcHkocnMtPmhvc3RfYWRkciwgdWFkZHIsIChzaXplX3QpbGVuKTsKLQlycy0+aF9hZGRyX3B0cnNbMF0gPSAoY2hhciAqKSh2b2lkICopcnMtPmhvc3RfYWRkcjsKLQlycy0+aF9hZGRyX3B0cnNbMV0gPSBOVUxMOwotCWlmIChhZiA9PSBBRl9JTkVUICYmIChyZXMtPm9wdGlvbnMgJiBSRVNfVVNFX0lORVQ2KSkgewotCQltYXBfdjR2Nl9hZGRyZXNzKChjaGFyICopKHZvaWQgKilycy0+aG9zdF9hZGRyLAotCQkgICAgKGNoYXIgKikodm9pZCAqKXJzLT5ob3N0X2FkZHIpOwotCQlocC0+aF9hZGRydHlwZSA9IEFGX0lORVQ2OwotCQlocC0+aF9sZW5ndGggPSBJTjZBRERSU1o7Ci0JfQotCi0JX19yZXNfcHV0X3N0YXRlKHJlcyk7Ci0JKigoc3RydWN0IGhvc3RlbnQgKiopcnYpID0gaHA7Ci0JaF9lcnJubyA9IE5FVERCX1NVQ0NFU1M7Ci0JcmV0dXJuIE5TX1NVQ0NFU1M7Ci19CmRpZmYgLS1naXQgYS9saWJjL2Rucy9pbmNsdWRlL2hvc3RlbnQuaCBiL2xpYmMvZG5zL2luY2x1ZGUvaG9zdGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiOWE2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2Rucy9pbmNsdWRlL2hvc3RlbnQuaApAQCAtMCwwICsxLDkzIEBACisvKgkkTmV0QlNEOiBob3N0ZW50LmgsdiAxLjIgMjAxMy8wOC8yNyAwOTo1NjoxMiBjaHJpc3RvcyBFeHAgJAkqLworCisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAxMyBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBUaGUgTmV0QlNEIEZvdW5kYXRpb24KKyAqIGJ5IENocmlzdG9zIFpvdWxhcy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQgQ09OVFJJQlVUT1JTCisgKiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKKyAqIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5EQVRJT04gT1IgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2lmbmRlZiBfRE5TX05FVF9IT1NURU5UX0gKKyNkZWZpbmUgX0ROU19ORVRfSE9TVEVOVF9ICisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPG5ldGRiLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKy8qCisgKiBUaGVzZSBhcmUgbm90IGJlaW5nIGFkdmVydGlzZWQgYmVjYXVzZSB0aGUgaW50ZXJmYWNlcyBhcmUgbm9uLXN0YW5kYXJkLgorICogVGhlcmUgYXJlIHZlcnNpb25zIGJ5IGxpbnV4LCBhaXgsIHFueCwgc3VuLCBldGMuIE91ciB2ZXJzaW9ucyBhcmUgdXNlZAorICogaW50ZXJuYWxseSB0byBwcm92aWRlIHRocmVhZCBzYWZldHk7IHRoZXkgbW9zdGx5IHJlc2VtYmxlIHFueC4KKyAqLwordm9pZCBzZXRob3N0ZW50X3IoRklMRSAqKik7CitzdHJ1Y3QgaG9zdGVudAkqbmV0YnNkX2dldGhvc3RlbnRfcihGSUxFICosIHN0cnVjdCBob3N0ZW50ICosIGNoYXIgKiwgc2l6ZV90LCBpbnQgKik7Cit2b2lkIGVuZGhvc3RlbnRfcihGSUxFICoqKTsKKworLyoKKyAqIFRoZSBmb2xsb3dpbmcgYXJlIGludGVybmFsIEFQSSdzIGFuZCBhcmUgdXNlZCBvbmx5IGZvciB0ZXN0aW5nLgorICovCitzdHJ1Y3QgZ2V0bmFtYWRkciB7CisJc3RydWN0IGhvc3RlbnQgKmhwOworCWNoYXIgKmJ1ZjsKKwlzaXplX3QgYnVmbGVuOworCWludCAqaGU7Cit9OworCisvKiAvZXRjL2hvc3RzIGxvb2t1cCAqLworaW50IF9oZl9nZXRodGJ5YWRkcih2b2lkICosIHZvaWQgKiwgdmFfbGlzdCk7CitpbnQgX2hmX2dldGh0YnluYW1lKHZvaWQgKiwgdm9pZCAqLCB2YV9saXN0KTsKKworI2lmZGVmIFlQCisvKiBOSVMgbG9va3VwICovCitpbnQgX3lwX2dldGh0YnlhZGRyKHZvaWQgKiwgdm9pZCAqLCB2YV9saXN0KTsKK2ludCBfeXBfZ2V0aHRieW5hbWUodm9pZCAqLCB2b2lkICosIHZhX2xpc3QpOworI2VuZGlmCisKKyNkZWZpbmUgSEVOVF9BUlJBWShkc3QsIGFudW0sIHB0ciwgbGVuKSBcCisJZG8geyBcCisJCXNpemVfdCBfbGVuID0gKGFudW0gKyAxKSAqIHNpemVvZigqZHN0KTsgXAorCQlpZiAoX2xlbiA+IGxlbikgXAorCQkJZ290byBub3NwYzsgXAorCQlkc3QgPSAodm9pZCAqKXB0cjsgXAorCQlwdHIgKz0gX2xlbjsgXAorCQlsZW4gLT0gX2xlbjsgXAorCX0gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lIEhFTlRfQ09QWShkc3QsIHNyYywgc2xlbiwgcHRyLCBsZW4pIFwKKwlkbyB7IFwKKwkJaWYgKChzaXplX3Qpc2xlbiA+IGxlbikgXAorCQkJZ290byBub3NwYzsgXAorCQltZW1jcHkocHRyLCBzcmMsIChzaXplX3Qpc2xlbik7IFwKKwkJZHN0ID0gcHRyOyBcCisJCXB0ciArPSBzbGVuOyBcCisJCWxlbiAtPSBzbGVuOyBcCisJfSB3aGlsZSAoLyogQ09OU1RDT05EICovMCkKKworI2RlZmluZSBIRU5UX1NDT1BZKGRzdCwgc3JjLCBwdHIsIGxlbikgXAorCWRvIHsgXAorCQlzaXplX3QgX2xlbiA9IHN0cmxlbihzcmMpICsgMTsgXAorCQlIRU5UX0NPUFkoZHN0LCBzcmMsIF9sZW4sIHB0ciwgbGVuKTsgXAorCX0gd2hpbGUgKC8qIENPTlNUQ09ORCAqLzApCisKKyNlbmRpZiAvKiBfRE5TX05FVF9IT1NURU5UX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmMvZG5zL2luY2x1ZGUvcmVzb2x2X25ldGlkLmggYi9saWJjL2Rucy9pbmNsdWRlL3Jlc29sdl9uZXRpZC5oCmluZGV4IGU1NTIxYjguLjFkMGY4NjkgMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL2luY2x1ZGUvcmVzb2x2X25ldGlkLmgKKysrIGIvbGliYy9kbnMvaW5jbHVkZS9yZXNvbHZfbmV0aWQuaApAQCAtMzQsNiArMzQsNyBAQAogICovCiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CiAKIC8qCiAgKiBQYXNzaW5nIE5FVElEX1VOU0VUIGFzIHRoZSBuZXRJZCBjYXVzZXMgc3lzdGVtL25ldGQvc2VydmVyL0Ruc1Byb3h5TGlzdGVuZXIuY3BwIHRvCkBAIC02OCw5ICs2OSw5IEBACiBleHRlcm4gdm9pZCBfcmVzb2x2X2RlbGV0ZV9jYWNoZV9mb3JfbmV0KHVuc2lnbmVkIG5ldGlkKSBfX3VzZWRfaW5fbmV0ZDsKIAogLyogSW50ZXJuYWwgdXNlIG9ubHkuICovCi1zdHJ1Y3QgaG9zdGVudCAqYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5KGNvbnN0IHZvaWQgKiwgc29ja2xlbl90LCBpbnQgLCB1bnNpZ25lZCk7Ci1pbnQgYW5kcm9pZF9nZXRuYW1laW5mb2Zvcm5ldChjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90LCBjaGFyICosIHNpemVfdCwgY2hhciAqLCBzaXplX3QsCi0JCSBpbnQsIHVuc2lnbmVkLCB1bnNpZ25lZCk7CitzdHJ1Y3QgaG9zdGVudCAqYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5KGNvbnN0IHZvaWQgKiwgc29ja2xlbl90LCBpbnQgLCB1bnNpZ25lZCwgdW5zaWduZWQpIF9fTElCQ19ISURERU5fXzsKK2ludCBhbmRyb2lkX2dldG5hbWVpbmZvZm9ybmV0KGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QsIGNoYXIgKiwgc2l6ZV90LCBjaGFyICosIHNpemVfdCwgaW50LCB1bnNpZ25lZCwgdW5zaWduZWQpIF9fTElCQ19ISURERU5fXzsKK0ZJTEUqIGFuZHJvaWRfb3Blbl9wcm94eSh2b2lkKSBfX0xJQkNfSElEREVOX187CiAKIC8qIGRlbGV0ZSB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIGEgY2VydGFpbiBuZXR3b3JrICovCiBleHRlcm4gdm9pZCBfcmVzb2x2X2RlbGV0ZV9jYWNoZV9mb3JfbmV0KHVuc2lnbmVkIG5ldGlkKTsKZGlmZiAtLWdpdCBhL2xpYmMvZG5zL2luY2x1ZGUvcmVzb2x2X3ByaXZhdGUuaCBiL2xpYmMvZG5zL2luY2x1ZGUvcmVzb2x2X3ByaXZhdGUuaAppbmRleCBhOTFhNGI4Li4wZGFiM2Q4IDEwMDY0NAotLS0gYS9saWJjL2Rucy9pbmNsdWRlL3Jlc29sdl9wcml2YXRlLmgKKysrIGIvbGliYy9kbnMvaW5jbHVkZS9yZXNvbHZfcHJpdmF0ZS5oCkBAIC02Myw2ICs2MywxMyBAQAogLyogRGVzcGl0ZSB0aGlzIGZpbGUncyBuYW1lLCBpdCdzIHBhcnQgb2YgbGlicmVzb2x2LiBPbiBBbmRyb2lkLCB0aGF0IG1lYW5zIGl0J3MgcGFydCBvZiBsaWJjIDotKCAqLwogI3ByYWdtYSBHQ0MgdmlzaWJpbGl0eSBwdXNoKGRlZmF1bHQpCiAKKy8vIExpbnV4IGRlZmluZXMgTUFYSE9TVE5BTUVMRU4gYXMgNjQsIHdoaWxlIHRoZSBkb21haW4gbmFtZSBsaW1pdCBpbgorLy8gUkZDIDEwMzQgYW5kIFJGQyAxMDM1IGlzIDI1NSBvY3RldHMuCisjaWZkZWYgTUFYSE9TVE5BTUVMRU4KKyN1bmRlZiBNQVhIT1NUTkFNRUxFTgorI2VuZGlmCisjZGVmaW5lIE1BWEhPU1ROQU1FTEVOIDI1NgorCiAvKgogICogUmV2aXNpb24gaW5mb3JtYXRpb24uICBUaGlzIGlzIHRoZSByZWxlYXNlIGRhdGUgaW4gWVlZWU1NREQgZm9ybWF0LgogICogSXQgY2FuIGNoYW5nZSBldmVyeSBkYXkgc28gdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIHdpdGggaXQgaXMgdXNlIGl0CkBAIC00MjYsNyArNDMzLDcgQEAKIGludAkJYjY0X3B0b24oY2hhciBjb25zdCAqLCB1X2NoYXIgKiwgc2l6ZV90KTsKICNlbmRpZgogaW50CQlsb2NfYXRvbihjb25zdCBjaGFyICosIHVfY2hhciAqKTsKLWNvbnN0IGNoYXIgKglsb2NfbnRvYShjb25zdCB1X2NoYXIgKiwgY2hhciAqKTsKK2NvbnN0IGNoYXIgKglsb2NfbnRvYShjb25zdCB1X2NoYXIgKiwgY2hhciAqLCBzaXplX3QpOwogaW50CQlkbl9za2lwbmFtZShjb25zdCB1X2NoYXIgKiwgY29uc3QgdV9jaGFyICopOwogdm9pZAkJcHV0bG9uZyh1aW50MzJfdCwgdV9jaGFyICopOwogdm9pZAkJcHV0c2hvcnQodWludDE2X3QsIHVfY2hhciAqKTsKZGlmZiAtLWdpdCBhL2xpYmMvZG5zL25hbWVzZXIvbnNfbmFtZS5jIGIvbGliYy9kbnMvbmFtZXNlci9uc19uYW1lLmMKaW5kZXggZTM3NTlhYi4uM2EyMDJjMSAxMDA2NDQKLS0tIGEvbGliYy9kbnMvbmFtZXNlci9uc19uYW1lLmMKKysrIGIvbGliYy9kbnMvbmFtZXNlci9uc19uYW1lLmMKQEAgLTQzLDEyICs0Myw2IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAKLSNpZmRlZiBTUFJJTlRGX0NIQVIKLSMgZGVmaW5lIFNQUklOVEYoeCkgKChpbnQpc3RybGVuKHNwcmludGYvKioveCkpCi0jZWxzZQotIyBkZWZpbmUgU1BSSU5URih4KSAoc3ByaW50ZiB4KQotI2VuZGlmCi0KICNkZWZpbmUgTlNfVFlQRV9FTFQJCQkweDQwIC8qIEVETlMwIGV4dGVuZGVkIGxhYmVsIHR5cGUgKi8KICNkZWZpbmUgRE5TX0xBQkVMVFlQRV9CSVRTVFJJTkcJCTB4NDEKIApAQCAtMTAxMiwzMSArMTAwNiwzMSBAQAogCQlyZXR1cm4oLTEpOwogCiAJY3ArKzsKLQlpID0gU1BSSU5URigoZG4sICJcXFt4IikpOworCWkgPSBzbnByaW50ZihkbiwgZW9tIC0gZG4sICJcXFt4Iik7CiAJaWYgKGkgPCAwKQogCQlyZXR1cm4gKC0xKTsKIAlkbiArPSBpOwogCWZvciAoYiA9IGJsZW47IGIgPiA3OyBiIC09IDgsIGNwKyspIHsKLQkJaSA9IFNQUklOVEYoKGRuLCAiJTAyeCIsICpjcCAmIDB4ZmYpKTsKKwkJaSA9IHNucHJpbnRmKGRuLCBlb20gLSBkbiwgIiUwMngiLCAqY3AgJiAweGZmKTsKIAkJaWYgKGkgPCAwKQogCQkJcmV0dXJuICgtMSk7CiAJCWRuICs9IGk7CiAJfQogCWlmIChiID4gNCkgewogCQl0YyA9ICpjcCsrOwotCQlpID0gU1BSSU5URigoZG4sICIlMDJ4IiwgdGMgJiAoMHhmZiA8PCAoOCAtIGIpKSkpOworCQlpID0gc25wcmludGYoZG4sIGVvbSAtIGRuLCAiJTAyeCIsIHRjICYgKDB4ZmYgPDwgKDggLSBiKSkpOwogCQlpZiAoaSA8IDApCiAJCQlyZXR1cm4gKC0xKTsKIAkJZG4gKz0gaTsKIAl9IGVsc2UgaWYgKGIgPiAwKSB7CiAJCXRjID0gKmNwKys7Ci0JCWkgPSBTUFJJTlRGKChkbiwgIiUxeCIsCi0JCQkgICAgICAgKCgodV9pbnQzMl90KXRjID4+IDQpICYgMHgwZikgJiAoMHgwZiA8PCAoNCAtIGIpKSkpOworCQlpID0gc25wcmludGYoZG4sIGVvbSAtIGRuLCAiJTF4IiwKKwkJCSAgICAgICAoKCh1X2ludDMyX3QpdGMgPj4gNCkgJiAweDBmKSAmICgweDBmIDw8ICg0IC0gYikpKTsKIAkJaWYgKGkgPCAwKQogCQkJcmV0dXJuICgtMSk7CiAJCWRuICs9IGk7CiAJfQotCWkgPSBTUFJJTlRGKChkbiwgIi8lZF0iLCBibGVuKSk7CisJaSA9IHNucHJpbnRmKGRuLCBlb20gLSBkbiwgIi8lZF0iLCBibGVuKTsKIAlpZiAoaSA8IDApCiAJCXJldHVybiAoLTEpOwogCWRuICs9IGk7CmRpZmYgLS1naXQgYS9saWJjL2Rucy9uYW1lc2VyL25zX3ByaW50LmMgYi9saWJjL2Rucy9uYW1lc2VyL25zX3ByaW50LmMKaW5kZXggMGE2YTFkNi4uMzJjODcxNSAxMDA2NDQKLS0tIGEvbGliYy9kbnMvbmFtZXNlci9uc19wcmludC5jCisrKyBiL2xpYmMvZG5zL25hbWVzZXIvbnNfcHJpbnQuYwpAQCAtNDgsMTIgKzQ4LDYgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxjdHlwZS5oPgogCi0jaWZkZWYgU1BSSU5URl9DSEFSCi0jIGRlZmluZSBTUFJJTlRGKHgpICgoaW50KXN0cmxlbihzcHJpbnRmLyoqL3gpKQotI2Vsc2UKLSMgZGVmaW5lIFNQUklOVEYoeCkgKHNwcmludGYgeCkKLSNlbmRpZgotCiAjaWZuZGVmIE1JTgogI2RlZmluZQlNSU4oeCx5KQkoKHgpPCh5KT8oeCk6KHkpKQogI2VuZGlmCkBAIC0xNTUsNyArMTQ5LDcgQEAKIAkgKi8KIAlUKHggPSBuc19mb3JtYXRfdHRsKHR0bCwgYnVmLCBidWZsZW4pKTsKIAlhZGRsZW4oKHNpemVfdCl4LCAmYnVmLCAmYnVmbGVuKTsKLQlsZW4gPSBTUFJJTlRGKCh0bXAsICIgJXMgJXMiLCBwX2NsYXNzKGNsYXNzKSwgcF90eXBlKHR5cGUpKSk7CisJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiAlcyAlcyIsIHBfY2xhc3MoY2xhc3MpLCBwX3R5cGUodHlwZSkpOwogCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAlUKHNwYWNlZCA9IGFkZHRhYigoc2l6ZV90KSh4ICsgbGVuKSwgKHNpemVfdCkxNiwgc3BhY2VkLCAmYnVmLCAmYnVmbGVuKSk7CiAKQEAgLTIxOCw3ICsyMTIsNyBAQAogCQkvKiBTZXJpYWwgbnVtYmVyLiAqLwogCQl0ID0gbnNfZ2V0MzIocmRhdGEpOyAgcmRhdGEgKz0gTlNfSU5UMzJTWjsKIAkJVChhZGRzdHIoIlx0XHRcdFx0XHQiLCAoc2l6ZV90KTUsICZidWYsICZidWZsZW4pKTsKLQkJbGVuID0gU1BSSU5URigodG1wLCAiJWx1IiwgdCkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJWx1IiwgdCk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJVChzcGFjZWQgPSBhZGR0YWIoKHNpemVfdClsZW4sIChzaXplX3QpMTYsIHNwYWNlZCwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlUKGFkZHN0cigiOyBzZXJpYWxcbiIsIChzaXplX3QpOSwgJmJ1ZiwgJmJ1ZmxlbikpOwpAQCAtMjc1LDcgKzI2OSw3IEBACiAJCS8qIFByaW9yaXR5LiAqLwogCQl0ID0gbnNfZ2V0MTYocmRhdGEpOwogCQlyZGF0YSArPSBOU19JTlQxNlNaOwotCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIldSAiLCB0KSk7CisJCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIldSAiLCB0KTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCiAJCS8qIFRhcmdldC4gKi8KQEAgLTI5Myw3ICsyODcsNyBAQAogCQkvKiBQcmlvcml0eS4gKi8KIAkJdCA9IG5zX2dldDE2KHJkYXRhKTsKIAkJcmRhdGEgKz0gTlNfSU5UMTZTWjsKLQkJbGVuID0gU1BSSU5URigodG1wLCAiJXUgIiwgdCkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgdCk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAogCQkvKiBOYW1lMS4gKi8KQEAgLTM0NCw3ICszMzgsNyBAQAogCQljaGFyIHRbMjU1XTsKIAogCQkvKiBYWFggcHJvdG9jb2wgZm9ybWF0IGNoZWNraW5nPyAqLwotCQkodm9pZCkgbG9jX250b2EocmRhdGEsIHQpOworCQkodm9pZCkgbG9jX250b2EocmRhdGEsIHQsIHNpemVvZih0KSk7CiAJCVQoYWRkc3RyKHQsIHN0cmxlbih0KSwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlicmVhazsKIAkgICAgfQpAQCAtMzU5LDcgKzM1Myw3IEBACiAJCS8qIE9yZGVyLCBQcmVjZWRlbmNlLiAqLwogCQlvcmRlciA9IG5zX2dldDE2KHJkYXRhKTsJcmRhdGEgKz0gTlNfSU5UMTZTWjsKIAkJcHJlZmVyZW5jZSA9IG5zX2dldDE2KHJkYXRhKTsJcmRhdGEgKz0gTlNfSU5UMTZTWjsKLQkJbGVuID0gU1BSSU5URigodCwgIiV1ICV1ICIsIG9yZGVyLCBwcmVmZXJlbmNlKSk7CisJCWxlbiA9IHNucHJpbnRmKHQsIHNpemVvZih0KSwgIiV1ICV1ICIsIG9yZGVyLCBwcmVmZXJlbmNlKTsKIAkJVChhZGRzdHIodCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAogCQkvKiBGbGFncy4gKi8KQEAgLTQwMSw3ICszOTUsNyBAQAogCQlwcmlvcml0eSA9IG5zX2dldDE2KHJkYXRhKTsgIHJkYXRhICs9IE5TX0lOVDE2U1o7CiAJCXdlaWdodCAgID0gbnNfZ2V0MTYocmRhdGEpOyAgcmRhdGEgKz0gTlNfSU5UMTZTWjsKIAkJcG9ydCAgICAgPSBuc19nZXQxNihyZGF0YSk7ICByZGF0YSArPSBOU19JTlQxNlNaOwotCQlsZW4gPSBTUFJJTlRGKCh0LCAiJXUgJXUgJXUgIiwgcHJpb3JpdHksIHdlaWdodCwgcG9ydCkpOworCQlsZW4gPSBzbnByaW50Zih0LCBzaXplb2YodCksICIldSAldSAldSAiLCBwcmlvcml0eSwgd2VpZ2h0LCBwb3J0KTsKIAkJVChhZGRzdHIodCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAogCQkvKiBTZXJ2ZXIuICovCkBAIC00MzIsNyArNDI2LDcgQEAKIAkJcmRhdGEgKz0gTlNfSU5BRERSU1o7CiAKIAkJLyogUHJvdG9jb2wuICovCi0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiAldSAoICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiICV1ICggIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlyZGF0YSArPSBOU19JTlQ4U1o7CiAKQEAgLTQ0OSw3ICs0NDMsNyBAQAogCQkJCQkJbGNudCA9IDEwOwogCQkJCQkJc3BhY2VkID0gMDsKIAkJCQkJfQotCQkJCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIlZCAiLCBuKSk7CisJCQkJCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIlZCAiLCBuKTsKIAkJCQkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQkJCQlsY250LS07CiAJCQkJfQpAQCAtNDgwLDggKzQ3NCw4IEBACiAJCWtleWZsYWdzID0gbnNfZ2V0MTYocmRhdGEpOyAgcmRhdGEgKz0gTlNfSU5UMTZTWjsKIAkJcHJvdG9jb2wgPSAqcmRhdGErKzsKIAkJYWxnb3JpdGhtID0gKnJkYXRhKys7Ci0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIjB4JTA0eCAldSAldSIsCi0JCQkgICAgICAga2V5ZmxhZ3MsIHByb3RvY29sLCBhbGdvcml0aG0pKTsKKwkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIjB4JTA0eCAldSAldSIsCisJCQkgICAgICAga2V5ZmxhZ3MsIHByb3RvY29sLCBhbGdvcml0aG0pOwogCQlUKGFkZHN0cih0bXAsIChzaXplX3QpbGVuLCAmYnVmLCAmYnVmbGVuKSk7CiAKIAkJLyogUHVibGljIGtleSBkYXRhLiAqLwpAQCAtNTAyLDcgKzQ5Niw3IEBACiAJCX0KIAkJaWYgKGxlbiA+IDE1KQogCQkJVChhZGRzdHIoIiApIiwgKHNpemVfdCkyLCAmYnVmLCAmYnVmbGVuKSk7Ci0JCW4gPSBTUFJJTlRGKCh0bXAsICIgOyBrZXlfdGFnPSAldSIsIGtleV9pZCkpOworCQluID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiA7IGtleV90YWc9ICV1Iiwga2V5X2lkKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KW4sICZidWYsICZidWZsZW4pKTsKIAogCQlicmVhazsKQEAgLTUyNCwyNSArNTE4LDI1IEBACiAJCWFsZ29yaXRobSA9ICpyZGF0YSsrOwogCQlsYWJlbHMgPSAqcmRhdGErKzsKIAkJdCA9IG5zX2dldDMyKHJkYXRhKTsgIHJkYXRhICs9IE5TX0lOVDMyU1o7Ci0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiVzICVkICVkICVsdSAiLAotCQkJICAgICAgIHBfdHlwZSgoaW50KXR5cCksIGFsZ29yaXRobSwgbGFiZWxzLCB0KSk7CisJCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIlcyAlZCAlZCAlbHUgIiwKKwkJCSAgICAgICBwX3R5cGUoKGludCl0eXApLCBhbGdvcml0aG0sIGxhYmVscywgdCk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJaWYgKGxhYmVscyA+ICh1X2ludClkbl9jb3VudF9sYWJlbHMobmFtZSkpCiAJCQlnb3RvIGZvcm1lcnI7CiAKIAkJLyogU2lnbmF0dXJlIGV4cGlyeS4gKi8KIAkJdCA9IG5zX2dldDMyKHJkYXRhKTsgIHJkYXRhICs9IE5TX0lOVDMyU1o7Ci0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiVzICIsIHBfc2Vjc3RvZGF0ZSh0KSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXMgIiwgcF9zZWNzdG9kYXRlKHQpKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCiAJCS8qIFRpbWUgc2lnbmVkLiAqLwogCQl0ID0gbnNfZ2V0MzIocmRhdGEpOyAgcmRhdGEgKz0gTlNfSU5UMzJTWjsKLQkJbGVuID0gU1BSSU5URigodG1wLCAiJXMgIiwgcF9zZWNzdG9kYXRlKHQpKSk7CisJCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIlcyAiLCBwX3NlY3N0b2RhdGUodCkpOwogCQlUKGFkZHN0cih0bXAsIChzaXplX3QpbGVuLCAmYnVmLCAmYnVmbGVuKSk7CiAKIAkJLyogU2lnbmF0dXJlIEZvb3RwcmludC4gKi8KIAkJZm9vdHByaW50ID0gbnNfZ2V0MTYocmRhdGEpOyAgcmRhdGEgKz0gTlNfSU5UMTZTWjsKLQkJbGVuID0gU1BSSU5URigodG1wLCAiJXUgIiwgZm9vdHByaW50KSk7CisJCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIldSAiLCBmb290cHJpbnQpOwogCQlUKGFkZHN0cih0bXAsIChzaXplX3QpbGVuLCAmYnVmLCAmYnVmbGVuKSk7CiAKIAkJLyogU2lnbmVyJ3MgbmFtZS4gKi8KQEAgLTU3OSw3ICs1NzMsNyBAQAogCQluID0gZWRhdGEgLSByZGF0YTsKIAkJZm9yIChjID0gMDsgYyA8IG4qODsgYysrKQogCQkJaWYgKE5TX05YVF9CSVRfSVNTRVQoYywgcmRhdGEpKSB7Ci0JCQkJbGVuID0gU1BSSU5URigodG1wLCAiICVzIiwgcF90eXBlKChpbnQpYykpKTsKKwkJCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiICVzIiwgcF90eXBlKChpbnQpYykpOwogCQkJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJCX0KIAkJYnJlYWs7CkBAIC01OTYsNyArNTkwLDcgQEAKIAkJa2V5X3RhZyA9IG5zX2dldDE2KHJkYXRhKTsgcmRhdGEgKz0gTlNfSU5UMTZTWjsKIAkJYWxnID0gKHVfaW50KSAqcmRhdGErKzsKIAotCQlsZW4gPSBTUFJJTlRGKCh0bXAxLCAiJWQgJWQgJWQgIiwgY190eXBlLCBrZXlfdGFnLCBhbGcpKTsKKwkJbGVuID0gc25wcmludGYodG1wMSwgc2l6ZW9mKHRtcDEpLCAiJWQgJWQgJWQgIiwgY190eXBlLCBrZXlfdGFnLCBhbGcpOwogCQlUKGFkZHN0cih0bXAxLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlzaXogPSAoZWRhdGEtcmRhdGEpKjQvMyArIDQ7IC8qICIrNCIgYWNjb3VudHMgZm9yIHRyYWlsaW5nIFwwICovCiAJCWlmIChzaXogPiBzaXplb2YoYmFzZTY0X2NlcnQpICogMy80KSB7CkBAIC02NDAsMTIgKzYzNCwxMiBAQAogCiAJCS8qIEluY2VwdGlvbi4gKi8KIAkJdCA9IG5zX2dldDMyKHJkYXRhKTsgIHJkYXRhICs9IE5TX0lOVDMyU1o7Ci0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiVzICIsIHBfc2Vjc3RvZGF0ZSh0KSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXMgIiwgcF9zZWNzdG9kYXRlKHQpKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCiAJCS8qIEV4cGVyYXRpb24uICovCiAJCXQgPSBuc19nZXQzMihyZGF0YSk7ICByZGF0YSArPSBOU19JTlQzMlNaOwotCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIlcyAiLCBwX3NlY3N0b2RhdGUodCkpKTsKKwkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiVzICIsIHBfc2Vjc3RvZGF0ZSh0KSk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAogCQkvKiBNb2RlICwgRXJyb3IsIEtleSBTaXplLiAqLwpAQCAtNjUzLDcgKzY0Nyw3IEBACiAJCW1vZGUgPSBuc19nZXQxNihyZGF0YSk7ICByZGF0YSArPSBOU19JTlQxNlNaOwogCQllcnIgID0gbnNfZ2V0MTYocmRhdGEpOyAgcmRhdGEgKz0gTlNfSU5UMTZTWjsKIAkJa2V5c2l6ZSAgPSBuc19nZXQxNihyZGF0YSk7ICByZGF0YSArPSBOU19JTlQxNlNaOwotCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIldSAldSAldSAiLCBtb2RlLCBlcnIsIGtleXNpemUpKTsKKwkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiV1ICV1ICV1ICIsIG1vZGUsIGVyciwga2V5c2l6ZSk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAogCQkvKiBYWFggbmVlZCB0byBkdW1wIGtleSwgcHJpbnQgb3RoZXJkYXRhIGxlbmd0aCAmIG90aGVyIGRhdGEgKi8KQEAgLTY3MCw3ICs2NjQsNyBAQAogCQluID0gbnNfZ2V0MTYocmRhdGEpOyByZGF0YSArPSBJTlQxNlNaOwogCQlyZGF0YSArPSBuOyAvKiBzaWcgKi8KIAkJbiA9IG5zX2dldDE2KHJkYXRhKTsgcmRhdGEgKz0gSU5UMTZTWjsgLyogb3JpZ2luYWwgaWQgKi8KLQkJc3ByaW50ZihidWYsICIlZCIsIG5zX2dldDE2KHJkYXRhKSk7CisJCXNucHJpbnRmKGJ1ZiwgYnVmbGVuLCAiJWQiLCBuc19nZXQxNihyZGF0YSkpOwogCQlyZGF0YSArPSBJTlQxNlNaOwogCQlhZGRsZW4oc3RybGVuKGJ1ZiksICZidWYsICZidWZsZW4pOwogCQlicmVhazsKQEAgLTY4Miw3ICs2NzYsNyBAQAogCiAJCS8qIHByZWZpeCBsZW5ndGggKi8KIAkJaWYgKHJkbGVuID09IDBVKSBnb3RvIGZvcm1lcnI7Ci0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiVkICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJWQgIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlwYml0ID0gKnJkYXRhOwogCQlpZiAocGJpdCA+IDEyOCkgZ290byBmb3JtZXJyOwpAQCAtNzEwLDcgKzcwNCw3IEBACiAJICAgIH0KIAogCWNhc2UgbnNfdF9vcHQ6IHsKLQkJbGVuID0gU1BSSU5URigodG1wLCAiJXUgYnl0ZXMiLCBjbGFzcykpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgYnl0ZXMiLCBjbGFzcyk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJYnJlYWs7CiAJICAgIH0KQEAgLTcyNCwyMSArNzE4LDIxIEBACiAJCQlpZiAocmRsZW4gPCA0VSkgZ290byBmb3JtZXJyOwogCQkJdCA9IG5zX2dldDE2KHJkYXRhKTsKIAkJCXJkYXRhICs9IE5TX0lOVDE2U1o7Ci0JCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIldSAiLCB0KSk7CisJCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgdCk7CiAJCQlUKGFkZHN0cih0bXAsIChzaXplX3QpbGVuLCAmYnVmLCAmYnVmbGVuKSk7CiAJCX0gZWxzZQogCQkJaWYgKHJkbGVuIDwgMlUpIGdvdG8gZm9ybWVycjsKIAotCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIldSAiLCAqcmRhdGEpKTsKKwkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiV1ICIsICpyZGF0YSk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJcmRhdGErKzsKIAotCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIldSAiLCAqcmRhdGEpKTsKKwkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiV1ICIsICpyZGF0YSk7CiAJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJcmRhdGErKzsKIAogCQl3aGlsZSAocmRhdGEgPCBlZGF0YSkgewotCQkJbGVuID0gU1BSSU5URigodG1wLCAiJTAyWCIsICpyZGF0YSkpOworCQkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiUwMlgiLCAqcmRhdGEpOwogCQkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQkJcmRhdGErKzsKIAkJfQpAQCAtNzQ5LDE3ICs3NDMsMTcgQEAKIAljYXNlIG5zX3RfbnNlYzNwYXJhbTogewogCQl1X2ludCB0LCB3LCBsLCBqLCBrLCBjOwogCi0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiV1ICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlyZGF0YSsrOwogCi0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiV1ICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlyZGF0YSsrOwogCiAJCXQgPSBuc19nZXQxNihyZGF0YSk7CiAJCXJkYXRhICs9IE5TX0lOVDE2U1o7Ci0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiV1ICIsIHQpKTsKKwkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiV1ICIsIHQpOwogCQlUKGFkZHN0cih0bXAsIChzaXplX3QpbGVuLCAmYnVmLCAmYnVmbGVuKSk7CiAKIAkJdCA9ICpyZGF0YSsrOwpAQCAtNzY3LDcgKzc2MSw3IEBACiAJCQlUKGFkZHN0cigiLSIsIDEsICZidWYsICZidWZsZW4pKTsKIAkJfSBlbHNlIHsKIAkJCXdoaWxlICh0LS0gPiAwKSB7Ci0JCQkJbGVuID0gU1BSSU5URigodG1wLCAiJTAyWCIsICpyZGF0YSkpOworCQkJCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIlMDJYIiwgKnJkYXRhKTsKIAkJCQlUKGFkZHN0cih0bXAsIChzaXplX3QpbGVuLCAmYnVmLCAmYnVmbGVuKSk7CiAJCQkJcmRhdGErKzsKIAkJCX0KQEAgLTg1MSw3ICs4NDUsNyBAQAogCQkJCQlpZiAoKHJkYXRhW2pdICYgKDB4ODAgPj4gaykpID09IDApCiAJCQkJCQljb250aW51ZTsKIAkJCQkJYyA9IHcgKiAyNTYgKyBqICogOCArIGs7Ci0JCQkJCWxlbiA9IFNQUklOVEYoKHRtcCwgIiAlcyIsIHBfdHlwZSgobnNfdHlwZSljKSkpOworCQkJCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiICVzIiwgcF90eXBlKChuc190eXBlKWMpKTsKIAkJCQkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQkJCX0KIAkJCX0KQEAgLTg3NSw3ICs4NjksNyBAQAogCQkJCQlpZiAoKHJkYXRhW2pdICYgKDB4ODAgPj4gaykpID09IDApCiAJCQkJCQljb250aW51ZTsKIAkJCQkJYyA9IHcgKiAyNTYgKyBqICogOCArIGs7Ci0JCQkJCWxlbiA9IFNQUklOVEYoKHRtcCwgIiAlcyIsIHBfdHlwZSgobnNfdHlwZSljKSkpOworCQkJCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiICVzIiwgcF90eXBlKChuc190eXBlKWMpKTsKIAkJCQkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQkJCX0KIAkJCX0KQEAgLTk0OSwxNSArOTQzLDE1IEBACiAJCQlnb3RvIGhleGlmeTsKIAkJfQogCi0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiV1ICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlyZGF0YSsrOwogCi0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiV1ICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlyZGF0YSsrOwogCi0JCWxlbiA9IFNQUklOVEYoKHRtcCwgIiV1ICIsICpyZGF0YSkpOworCQlsZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJXUgIiwgKnJkYXRhKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlyZGF0YSsrOwogCkBAIC0xMDMwLDExICsxMDI0LDExIEBACiAJCQljb25zdCBjaGFyICpzdHIgPSAicmVjb3JkIHRvbyBsb25nIHRvIHByaW50IjsKIAkJCVQoYWRkc3RyKHN0ciwgc3RybGVuKHN0ciksICZidWYsICZidWZsZW4pKTsKIAkJfSBlbHNlIHsKLQkJCWxlbiA9IHNwcmludGYodG1wLCAiKCAldSAiLCBhbGdvcml0aG0pOworCQkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiggJXUgIiwgYWxnb3JpdGhtKTsKIAkJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAogCQkJZm9yIChpID0gMDsgaSA8IGhpcF9sZW47IGkrKykgewotCQkJCWxlbiA9IHNwcmludGYodG1wLCAiJTAyWCIsICpyZGF0YSk7CisJCQkJbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiUwMlgiLCAqcmRhdGEpOwogCQkJCVQoYWRkc3RyKHRtcCwgKHNpemVfdClsZW4sICZidWYsICZidWZsZW4pKTsKIAkJCQlyZGF0YSsrOwogCQkJfQpAQCAtMTA2OSwyMyArMTA2MywyMyBAQAogCWludCBuLCBtOwogCWNoYXIgKnA7CiAKLQlsZW4gPSBTUFJJTlRGKCh0bXAsICJcXCMgJXUlc1x0OyAlcyIsICh1bnNpZ25lZCkoZWRhdGEgLSByZGF0YSksCi0JCSAgICAgICByZGxlbiAhPSAwVSA/ICIgKCIgOiAiIiwgY29tbWVudCkpOworCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICJcXCMgJXUlc1x0OyAlcyIsICh1bnNpZ25lZCkoZWRhdGEgLSByZGF0YSksCisJCSAgICAgICByZGxlbiAhPSAwVSA/ICIgKCIgOiAiIiwgY29tbWVudCk7CiAJVChhZGRzdHIodG1wLCAoc2l6ZV90KWxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwogCXdoaWxlIChyZGF0YSA8IGVkYXRhKSB7CiAJCXAgPSB0bXA7Ci0JCXAgKz0gU1BSSU5URigocCwgIlxuXHQiKSk7CisJCXAgKz0gc25wcmludGYocCwgc2l6ZW9mKHRtcCksICJcblx0Iik7CiAJCXNwYWNlZCA9IDA7CiAJCW4gPSBNSU4oMTYsIChpbnQpKGVkYXRhIC0gcmRhdGEpKTsKIAkJZm9yIChtID0gMDsgbSA8IG47IG0rKykKLQkJCXAgKz0gU1BSSU5URigocCwgIiUwMnggIiwgcmRhdGFbbV0pKTsKKwkJCXAgKz0gc25wcmludGYocCwgc2l6ZW9mKHRtcCkgLSAocCAtIHRtcCksICIlMDJ4ICIsIHJkYXRhW21dKTsKIAkJVChhZGRzdHIodG1wLCAoc2l6ZV90KShwIC0gdG1wKSwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQlpZiAobiA8IDE2KSB7CiAJCQlUKGFkZHN0cigiKSIsIChzaXplX3QpMSwgJmJ1ZiwgJmJ1ZmxlbikpOwogCQkJVChhZGR0YWIoKHNpemVfdCkocCAtIHRtcCArIDEpLCAoc2l6ZV90KTQ4LCBzcGFjZWQsICZidWYsICZidWZsZW4pKTsKIAkJfQogCQlwID0gdG1wOwotCQlwICs9IFNQUklOVEYoKHAsICI7ICIpKTsKKwkJcCArPSBzbnByaW50ZihwLCBzaXplb2YodG1wKSwgIjsgIik7CiAJCWZvciAobSA9IDA7IG0gPCBuOyBtKyspCiAJCQkqcCsrID0gKGlzYXNjaWkocmRhdGFbbV0pICYmIGlzcHJpbnQocmRhdGFbbV0pKQogCQkJCT8gcmRhdGFbbV0KZGlmZiAtLWdpdCBhL2xpYmMvZG5zL25hbWVzZXIvbnNfdHRsLmMgYi9saWJjL2Rucy9uYW1lc2VyL25zX3R0bC5jCmluZGV4IDIzOTViOTkuLmRlMDczYjggMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL25hbWVzZXIvbnNfdHRsLmMKKysrIGIvbGliYy9kbnMvbmFtZXNlci9uc190dGwuYwpAQCAtMzYsMTIgKzM2LDYgQEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCi0jaWZkZWYgU1BSSU5URl9DSEFSCi0jIGRlZmluZSBTUFJJTlRGKHgpIHN0cmxlbihzcHJpbnRmLyoqL3gpCi0jZWxzZQotIyBkZWZpbmUgU1BSSU5URih4KSAoKHNpemVfdClzcHJpbnRmIHgpCi0jZW5kaWYKLQogLyogRm9yd2FyZC4gKi8KIAogc3RhdGljIGludAlmbXQxKGludCB0LCBjaGFyIHMsIGNoYXIgKipidWYsIHNpemVfdCAqYnVmbGVuKTsKQEAgLTE1Nyw4ICsxNTEsOCBAQAogCWNoYXIgdG1wWzUwXTsKIAlzaXplX3QgbGVuOwogCi0JbGVuID0gU1BSSU5URigodG1wLCAiJWQlYyIsIHQsIHMpKTsKLQlpZiAobGVuICsgMSA+ICpidWZsZW4pCisJbGVuID0gKHNpemVfdClzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJWQlYyIsIHQsIHMpOworCWlmICgoaW50KWxlbiA8IDAgfHwgbGVuICsgMSA+ICpidWZsZW4pCiAJCXJldHVybiAoLTEpOwogCXN0cmNweSgqYnVmLCB0bXApOwogCSpidWYgKz0gbGVuOwpkaWZmIC0tZ2l0IGEvbGliYy9kbnMvbmV0L2dldGFkZHJpbmZvLmMgYi9saWJjL2Rucy9uZXQvZ2V0YWRkcmluZm8uYwppbmRleCAyNjEyZDZhLi5jNzNjMDg1IDEwMDY0NAotLS0gYS9saWJjL2Rucy9uZXQvZ2V0YWRkcmluZm8uYworKysgYi9saWJjL2Rucy9uZXQvZ2V0YWRkcmluZm8uYwpAQCAtMzI0LDcgKzMyNCwxMSBAQAogewogCXN0cnVjdCBhZGRyaW5mbyAqbmV4dDsKIAotCWFzc2VydChhaSAhPSBOVUxMKTsKKyNpZiBfX0FORFJPSURfXworCWlmIChhaSA9PSBOVUxMKSByZXR1cm47CisjZWxzZQorCV9ESUFHQVNTRVJUKGFpICE9IE5VTEwpOworI2VuZGlmCiAKIAlkbyB7CiAJCW5leHQgPSBhaS0+YWlfbmV4dDsKQEAgLTQwOCwxNiArNDEyLDIxIEBACiAJcmV0dXJuIF90ZXN0X2Nvbm5lY3QoUEZfSU5FVCwgJmFkZHIuZ2VuZXJpYywgc2l6ZW9mKGFkZHIuaW4pLCBtYXJrKTsKIH0KIAorYm9vbCByZWFkQkUzMihGSUxFKiBmcCwgaW50MzJfdCogcmVzdWx0KSB7CisgIGludDMyX3QgdG1wOworICBpZiAoZnJlYWQoJnRtcCwgc2l6ZW9mKHRtcCksIDEsIGZwKSAhPSAxKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisgICpyZXN1bHQgPSBudG9obCh0bXApOworICByZXR1cm4gdHJ1ZTsKK30KKwogLy8gUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgcmV0dXJucyBvbiBlcnJvci4KIHN0YXRpYyBpbnQKIGFuZHJvaWRfZ2V0YWRkcmluZm9fcHJveHkoCiAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsIGNvbnN0IGNoYXIgKnNlcnZuYW1lLAogICAgIGNvbnN0IHN0cnVjdCBhZGRyaW5mbyAqaGludHMsIHN0cnVjdCBhZGRyaW5mbyAqKnJlcywgdW5zaWduZWQgbmV0aWQpCiB7Ci0JaW50IHNvY2s7Ci0JY29uc3QgaW50IG9uZSA9IDE7Ci0Jc3RydWN0IHNvY2thZGRyX3VuIHByb3h5X2FkZHI7Ci0JRklMRSogcHJveHkgPSBOVUxMOwogCWludCBzdWNjZXNzID0gMDsKIAogCS8vIENsZWFyIHRoaXMgYXQgc3RhcnQsIGFzIHdlIHVzZSBpdHMgbm9uLU5VTExuZXNzIGxhdGVyIChpbiB0aGUKQEAgLTQzMywyNyArNDQyLDE0IEBACiAJCXJldHVybiBFQUlfTk9EQVRBOwogCX0KIAotCXNvY2sgPSBzb2NrZXQoQUZfVU5JWCwgU09DS19TVFJFQU0gfCBTT0NLX0NMT0VYRUMsIDApOwotCWlmIChzb2NrIDwgMCkgewotCQlyZXR1cm4gRUFJX05PREFUQTsKLQl9Ci0KLQlzZXRzb2Nrb3B0KHNvY2ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgJm9uZSwgc2l6ZW9mKG9uZSkpOwotCW1lbXNldCgmcHJveHlfYWRkciwgMCwgc2l6ZW9mKHByb3h5X2FkZHIpKTsKLQlwcm94eV9hZGRyLnN1bl9mYW1pbHkgPSBBRl9VTklYOwotCXN0cmxjcHkocHJveHlfYWRkci5zdW5fcGF0aCwgIi9kZXYvc29ja2V0L2Ruc3Byb3h5ZCIsCi0JCXNpemVvZihwcm94eV9hZGRyLnN1bl9wYXRoKSk7Ci0JaWYgKFRFTVBfRkFJTFVSRV9SRVRSWShjb25uZWN0KHNvY2ssCi0JCQkJICAgICAgIChjb25zdCBzdHJ1Y3Qgc29ja2FkZHIqKSAmcHJveHlfYWRkciwKLQkJCQkgICAgICAgc2l6ZW9mKHByb3h5X2FkZHIpKSkgIT0gMCkgewotCQljbG9zZShzb2NrKTsKLQkJcmV0dXJuIEVBSV9OT0RBVEE7CisJRklMRSogcHJveHkgPSBhbmRyb2lkX29wZW5fcHJveHkoKTsKKwlpZiAocHJveHkgPT0gTlVMTCkgeworCQlyZXR1cm4gRUFJX1NZU1RFTTsKIAl9CiAKIAluZXRpZCA9IF9fbmV0ZENsaWVudERpc3BhdGNoLm5ldElkRm9yUmVzb2x2KG5ldGlkKTsKIAogCS8vIFNlbmQgdGhlIHJlcXVlc3QuCi0JcHJveHkgPSBmZG9wZW4oc29jaywgInIrIik7CiAJaWYgKGZwcmludGYocHJveHksICJnZXRhZGRyaW5mbyAlcyAlcyAlZCAlZCAlZCAlZCAldSIsCiAJCSAgICBob3N0bmFtZSA9PSBOVUxMID8gIl4iIDogaG9zdG5hbWUsCiAJCSAgICBzZXJ2bmFtZSA9PSBOVUxMID8gIl4iIDogc2Vydm5hbWUsCkBAIC00ODYsNjEgKzQ4Miw2MiBAQAogCXN0cnVjdCBhZGRyaW5mbyogYWkgPSBOVUxMOwogCXN0cnVjdCBhZGRyaW5mbyoqIG5leHRyZXMgPSByZXM7CiAJd2hpbGUgKDEpIHsKLQkJdWludDMyX3QgYWRkcmluZm9fbGVuOwotCQlpZiAoZnJlYWQoJmFkZHJpbmZvX2xlbiwgc2l6ZW9mKGFkZHJpbmZvX2xlbiksCi0JCQkgIDEsIHByb3h5KSAhPSAxKSB7CisJCWludDMyX3QgaGF2ZV9tb3JlOworCQlpZiAoIXJlYWRCRTMyKHByb3h5LCAmaGF2ZV9tb3JlKSkgewogCQkJYnJlYWs7CiAJCX0KLQkJYWRkcmluZm9fbGVuID0gbnRvaGwoYWRkcmluZm9fbGVuKTsKLQkJaWYgKGFkZHJpbmZvX2xlbiA9PSAwKSB7CisJCWlmIChoYXZlX21vcmUgPT0gMCkgewogCQkJc3VjY2VzcyA9IDE7CiAJCQlicmVhazsKIAkJfQogCi0JCWlmIChhZGRyaW5mb19sZW4gPCBzaXplb2Yoc3RydWN0IGFkZHJpbmZvKSkgewotCQkJYnJlYWs7Ci0JCX0KLQkJc3RydWN0IGFkZHJpbmZvKiBhaSA9IGNhbGxvYygxLCBhZGRyaW5mb19sZW4gKwotCQkJCQkgICAgIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSkpOworCQlzdHJ1Y3QgYWRkcmluZm8qIGFpID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYWRkcmluZm8pICsgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlKSk7CiAJCWlmIChhaSA9PSBOVUxMKSB7CiAJCQlicmVhazsKIAkJfQorCQlhaS0+YWlfYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHIqKShhaSArIDEpOwogCi0JCWlmIChmcmVhZChhaSwgYWRkcmluZm9fbGVuLCAxLCBwcm94eSkgIT0gMSkgewotCQkJLy8gRXJyb3I7IGZhbGwgdGhyb3VnaC4KKwkJLy8gc3RydWN0IGFkZHJpbmZvIHsKKwkJLy8JaW50CWFpX2ZsYWdzOwkvKiBBSV9QQVNTSVZFLCBBSV9DQU5PTk5BTUUsIEFJX05VTUVSSUNIT1NUICovCisJCS8vCWludAlhaV9mYW1pbHk7CS8qIFBGX3h4eCAqLworCQkvLwlpbnQJYWlfc29ja3R5cGU7CS8qIFNPQ0tfeHh4ICovCisJCS8vCWludAlhaV9wcm90b2NvbDsJLyogMCBvciBJUFBST1RPX3h4eCBmb3IgSVB2NCBhbmQgSVB2NiAqLworCQkvLwlzb2NrbGVuX3QgYWlfYWRkcmxlbjsJLyogbGVuZ3RoIG9mIGFpX2FkZHIgKi8KKwkJLy8JY2hhcgkqYWlfY2Fub25uYW1lOwkvKiBjYW5vbmljYWwgbmFtZSBmb3IgaG9zdG5hbWUgKi8KKwkJLy8Jc3RydWN0CXNvY2thZGRyICphaV9hZGRyOwkvKiBiaW5hcnkgYWRkcmVzcyAqLworCQkvLwlzdHJ1Y3QJYWRkcmluZm8gKmFpX25leHQ7CS8qIG5leHQgc3RydWN0dXJlIGluIGxpbmtlZCBsaXN0ICovCisJCS8vIH07CisKKwkJLy8gUmVhZCB0aGUgc3RydWN0IHBpZWNlIGJ5IHBpZWNlIGJlY2F1c2Ugd2UgbWlnaHQgYmUgYSAzMi1iaXQgcHJvY2VzcworCQkvLyB0YWxraW5nIHRvIGEgNjQtYml0IG5ldGQuCisJCWludDMyX3QgYWRkcl9sZW47CisJCWJvb2wgc3VjY2VzcyA9CisJCQkJcmVhZEJFMzIocHJveHksICZhaS0+YWlfZmxhZ3MpICYmCisJCQkJcmVhZEJFMzIocHJveHksICZhaS0+YWlfZmFtaWx5KSAmJgorCQkJCXJlYWRCRTMyKHByb3h5LCAmYWktPmFpX3NvY2t0eXBlKSAmJgorCQkJCXJlYWRCRTMyKHByb3h5LCAmYWktPmFpX3Byb3RvY29sKSAmJgorCQkJCXJlYWRCRTMyKHByb3h5LCAmYWRkcl9sZW4pOworCQlpZiAoIXN1Y2Nlc3MpIHsKIAkJCWJyZWFrOwogCQl9CiAKLQkJLy8gWmVybyBvdXQgdGhlIHBvaW50ZXIgZmllbGRzIHdlIGNvcGllZCB3aGljaCBhcmVuJ3QKLQkJLy8gdmFsaWQgaW4gdGhpcyBhZGRyZXNzIHNwYWNlLgotCQlhaS0+YWlfYWRkciA9IE5VTEw7Ci0JCWFpLT5haV9jYW5vbm5hbWUgPSBOVUxMOwotCQlhaS0+YWlfbmV4dCA9IE5VTEw7Ci0KLQkJLy8gc3RydWN0IHNvY2thZGRyCi0JCXVpbnQzMl90IGFkZHJfbGVuOwotCQlpZiAoZnJlYWQoJmFkZHJfbGVuLCBzaXplb2YoYWRkcl9sZW4pLCAxLCBwcm94eSkgIT0gMSkgewotCQkJYnJlYWs7Ci0JCX0KLQkJYWRkcl9sZW4gPSBudG9obChhZGRyX2xlbik7CisJCS8vIFNldCBhaV9hZGRybGVuIGFuZCByZWFkIHRoZSBhaV9hZGRyIGRhdGEuCisJCWFpLT5haV9hZGRybGVuID0gYWRkcl9sZW47CiAJCWlmIChhZGRyX2xlbiAhPSAwKSB7Ci0JCQlpZiAoYWRkcl9sZW4gPiBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UpKSB7CisJCQlpZiAoKHNpemVfdCkgYWRkcl9sZW4gPiBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UpKSB7CiAJCQkJLy8gQm9ndXM7IHRvbyBiaWcuCiAJCQkJYnJlYWs7CiAJCQl9Ci0JCQlzdHJ1Y3Qgc29ja2FkZHIqIGFkZHIgPSAoc3RydWN0IHNvY2thZGRyKikoYWkgKyAxKTsKLQkJCWlmIChmcmVhZChhZGRyLCBhZGRyX2xlbiwgMSwgcHJveHkpICE9IDEpIHsKKwkJCWlmIChmcmVhZChhaS0+YWlfYWRkciwgYWRkcl9sZW4sIDEsIHByb3h5KSAhPSAxKSB7CiAJCQkJYnJlYWs7CiAJCQl9Ci0JCQlhaS0+YWlfYWRkciA9IGFkZHI7CiAJCX0KIAotCQkvLyBjYW5ub25uYW1lCi0JCXVpbnQzMl90IG5hbWVfbGVuOwotCQlpZiAoZnJlYWQoJm5hbWVfbGVuLCBzaXplb2YobmFtZV9sZW4pLCAxLCBwcm94eSkgIT0gMSkgeworCQkvLyBUaGUgc3RyaW5nIGZvciBhaV9jYW5ub25uYW1lLgorCQlpbnQzMl90IG5hbWVfbGVuOworCQlpZiAoIXJlYWRCRTMyKHByb3h5LCAmbmFtZV9sZW4pKSB7CiAJCQlicmVhazsKIAkJfQotCQluYW1lX2xlbiA9IG50b2hsKG5hbWVfbGVuKTsKIAkJaWYgKG5hbWVfbGVuICE9IDApIHsKIAkJCWFpLT5haV9jYW5vbm5hbWUgPSAoY2hhciopIG1hbGxvYyhuYW1lX2xlbik7CiAJCQlpZiAoZnJlYWQoYWktPmFpX2Nhbm9ubmFtZSwgbmFtZV9sZW4sIDEsIHByb3h5KSAhPSAxKSB7CkBAIC01OTksNyArNTk2LDYgQEAKIAlzdHJ1Y3QgYWRkcmluZm8gYWkwOwogCXN0cnVjdCBhZGRyaW5mbyAqcGFpOwogCWNvbnN0IHN0cnVjdCBleHBsb3JlICpleDsKLQljb25zdCBjaGFyKiBjYWNoZV9tb2RlID0gZ2V0ZW52KCJBTkRST0lEX0ROU19NT0RFIik7CiAKIAkvKiBob3N0bmFtZSBpcyBhbGxvd2VkIHRvIGJlIE5VTEwgKi8KIAkvKiBzZXJ2bmFtZSBpcyBhbGxvd2VkIHRvIGJlIE5VTEwgKi8KQEAgLTczNCwxMyArNzMwLDEyIEBACiAJaWYgKHBhaS0+YWlfZmxhZ3MgJiBBSV9OVU1FUklDSE9TVCkKIAkJRVJSKEVBSV9OT05BTUUpOwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIEJFR0lOIEFORFJPSUQgQ0hBTkdFUzsgcHJveHlpbmcgdG8gdGhlIGNhY2hlCi0gICAgICAgICAqLwotCWlmIChjYWNoZV9tb2RlID09IE5VTEwgfHwgc3RyY21wKGNhY2hlX21vZGUsICJsb2NhbCIpICE9IDApIHsKLQkJLy8gd2UncmUgbm90IHRoZSBwcm94eSAtIHBhc3MgdGhlIHJlcXVlc3QgdG8gdGhlbQotCQlyZXR1cm4gYW5kcm9pZF9nZXRhZGRyaW5mb19wcm94eShob3N0bmFtZSwgc2Vydm5hbWUsIGhpbnRzLCByZXMsIG5ldGlkKTsKKyNpZiBkZWZpbmVkKF9fQU5EUk9JRF9fKQorCWludCBnYWlfZXJyb3IgPSBhbmRyb2lkX2dldGFkZHJpbmZvX3Byb3h5KGhvc3RuYW1lLCBzZXJ2bmFtZSwgaGludHMsIHJlcywgbmV0aWQpOworCWlmIChnYWlfZXJyb3IgIT0gRUFJX1NZU1RFTSkgeworCQlyZXR1cm4gZ2FpX2Vycm9yOwogCX0KKyNlbmRpZgogCiAJLyoKIAkgKiBob3N0bmFtZSBhcyBhbHBoYWJldGljYWwgbmFtZS4KQEAgLTIwMTcsNyArMjAxMiw3IEBACiB7CiAKIAlpZiAoISpob3N0ZikKLQkJKmhvc3RmID0gZm9wZW4oX1BBVEhfSE9TVFMsICJyIiApOworCQkqaG9zdGYgPSBmb3BlbihfUEFUSF9IT1NUUywgInJlIik7CiAJZWxzZQogCQlyZXdpbmQoKmhvc3RmKTsKIH0KQEAgLTIwNDYsNyArMjA0MSw3IEBACiAJYXNzZXJ0KG5hbWUgIT0gTlVMTCk7CiAJYXNzZXJ0KHBhaSAhPSBOVUxMKTsKIAotCWlmICghKmhvc3RmICYmICEoKmhvc3RmID0gZm9wZW4oX1BBVEhfSE9TVFMsICJyIiApKSkKKwlpZiAoISpob3N0ZiAmJiAhKCpob3N0ZiA9IGZvcGVuKF9QQVRIX0hPU1RTLCAicmUiKSkpCiAJCXJldHVybiAoTlVMTCk7CiAgYWdhaW46CiAJaWYgKCEocCA9IGZnZXRzKGhvc3RidWYsIHNpemVvZiBob3N0YnVmLCAqaG9zdGYpKSkKZGlmZiAtLWdpdCBhL2xpYmMvZG5zL25ldC9nZXRobmFtYWRkci5jIGIvbGliYy9kbnMvbmV0L2dldGhuYW1hZGRyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY1ODAwYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvZG5zL25ldC9nZXRobmFtYWRkci5jCkBAIC0wLDAgKzEsMTYzMSBAQAorLyoJJE5ldEJTRDogZ2V0aG5hbWFkZHIuYyx2IDEuOTEgMjAxNC8wNi8xOSAxNTowODoxOCBjaHJpc3RvcyBFeHAgJAkqLworCisvKgorICogKytDb3B5cmlnaHQrKyAxOTg1LCAxOTg4LCAxOTkzCisgKiAtCisgKiBDb3B5cmlnaHQgKGMpIDE5ODUsIDE5ODgsIDE5OTMKKyAqICAgIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqIC0KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5MyBieSBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlvbi4KKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMsIGFuZCB0aGF0CisgKiB0aGUgbmFtZSBvZiBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlvbiBub3QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvcgorICogcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBkb2N1bWVudCBvciBzb2Z0d2FyZSB3aXRob3V0CisgKiBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBESUdJVEFMIEVRVUlQTUVOVCBDT1JQLiBESVNDTEFJTVMgQUxMCisgKiBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuICAgSU4gTk8gRVZFTlQgU0hBTEwgRElHSVRBTCBFUVVJUE1FTlQKKyAqIENPUlBPUkFUSU9OIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUgorICogUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMKKyAqIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUworICogU09GVFdBUkUuCisgKiAtCisgKiAtLUNvcHlyaWdodC0tCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPHN5cy91bi5oPgorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KKyNpbmNsdWRlICJOZXRkQ2xpZW50RGlzcGF0Y2guaCIKKyNpbmNsdWRlICJyZXNvbHZfbmV0aWQuaCIKKyNpbmNsdWRlICJyZXNvbHZfcHJpdmF0ZS5oIgorI2luY2x1ZGUgInJlc29sdl9jYWNoZS5oIgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxuZXRkYi5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZ3MuaD4KKyNpbmNsdWRlIDxzeXNsb2cuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2RlZmluZSBBTElHTkJZVEVTIChzaXplb2YodWludHB0cl90KSAtIDEpCisjZGVmaW5lIEFMSUdOKHApICgoKHVpbnRwdHJfdCkocCkgKyBBTElHTkJZVEVTKSAmfiBBTElHTkJZVEVTKQorCisjaWZuZGVmIExPR19BVVRICisjIGRlZmluZSBMT0dfQVVUSCAwCisjZW5kaWYKKworI2RlZmluZSBNVUxUSV9QVFJTX0FSRV9BTElBU0VTIDEJLyogWFhYIC0gZXhwZXJpbWVudGFsICovCisKKyNpbmNsdWRlICJuc3N3aXRjaC5oIgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAiaG9zdGVudC5oIgorCisjZGVmaW5lIG1heWJlX29rKHJlcywgbm0sIG9rKSAoKChyZXMpLT5vcHRpb25zICYgUkVTX05PQ0hFQ0tOQU1FKSAhPSAwVSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rKShubSkgIT0gMCkKKyNkZWZpbmUgbWF5YmVfaG5vayhyZXMsIGhuKSBtYXliZV9vaygocmVzKSwgKGhuKSwgcmVzX2hub2spCisjZGVmaW5lIG1heWJlX2Rub2socmVzLCBkbikgbWF5YmVfb2soKHJlcyksIChkbiksIHJlc19kbm9rKQorCisjZGVmaW5lIGFkZGFsaWFzKGQsIHMsIGFyciwgc2l6KSBkbyB7CQkJXAorCWlmIChkID49ICZhcnJbc2l6XSkgewkJCQlcCisJCWNoYXIgKip4cHRyID0gcmVhbGxvYyhhcnIsIChzaXogKyAxMCkgKiBzaXplb2YoKmFycikpOyBcCisJCWlmICh4cHRyID09IE5VTEwpCQkJXAorCQkJZ290byBub3NwYzsJCQlcCisJCWQgPSB4cHRyICsgKGQgLSBhcnIpOwkJCVwKKwkJYXJyID0geHB0cjsJCQkJXAorCQlzaXogKz0gMTA7CQkJCVwKKwl9CQkJCQkJXAorCSpkKysgPSBzOwkJCQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUgc2V0dXAoYXJyLCBzaXopIGRvIHsJCQkJXAorCWFyciA9IG1hbGxvYygoc2l6ID0gMTApICogc2l6ZW9mKCphcnIpKTsgCVwKKwlpZiAoYXJyID09IE5VTEwpCQkJCVwKKwkJZ290byBub3NwYzsJCQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKy8vIFRoaXMgc2hvdWxkIGJlIHN5bmNocm9uaXplZCB0byBSZXNwb25zZUNvZGUuaAorc3RhdGljIGNvbnN0IGludCBEbnNQcm94eVF1ZXJ5UmVzdWx0ID0gMjIyOworCitzdGF0aWMgY29uc3QgY2hhciBBc2tlZEZvckdvdFtdID0KKwkJCSAgImdldGhvc3RieSouZ2V0YW5zd2VyOiBhc2tlZCBmb3IgXCIlc1wiLCBnb3QgXCIlc1wiIjsKKworI2RlZmluZQlNQVhQQUNLRVQJKDY0KjEwMjQpCisKK3R5cGVkZWYgdW5pb24geworICAgIEhFQURFUiBoZHI7CisgICAgdV9jaGFyIGJ1ZltNQVhQQUNLRVRdOworfSBxdWVyeWJ1ZjsKKwordHlwZWRlZiB1bmlvbiB7CisgICAgaW50MzJfdCBhbDsKKyAgICBjaGFyIGFjOworfSBhbGlnbjsKKworI2lmZGVmIERFQlVHCitzdGF0aWMgdm9pZCBkZWJ1Z3ByaW50Zihjb25zdCBjaGFyICosIHJlc19zdGF0ZSwgLi4uKQorCV9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18oX19wcmludGZfXywgMSwgMykpKTsKKyNlbmRpZgorc3RhdGljIHN0cnVjdCBob3N0ZW50ICpnZXRhbnN3ZXIoY29uc3QgcXVlcnlidWYgKiwgaW50LCBjb25zdCBjaGFyICosIGludCwKKyAgICByZXNfc3RhdGUsIHN0cnVjdCBob3N0ZW50ICosIGNoYXIgKiwgc2l6ZV90LCBpbnQgKik7CitzdGF0aWMgdm9pZCBtYXBfdjR2Nl9hZGRyZXNzKGNvbnN0IGNoYXIgKiwgY2hhciAqKTsKK3N0YXRpYyB2b2lkIG1hcF92NHY2X2hvc3RlbnQoc3RydWN0IGhvc3RlbnQgKiwgY2hhciAqKiwgY2hhciAqKTsKK3N0YXRpYyB2b2lkIGFkZHJzb3J0KGNoYXIgKiosIGludCwgcmVzX3N0YXRlKTsKKwordm9pZCBodF9zZXRob3N0ZW50KGludCk7Cit2b2lkIGh0X2VuZGhvc3RlbnQodm9pZCk7CitzdHJ1Y3QgaG9zdGVudCAqaHRfZ2V0aG9zdGJ5bmFtZShjaGFyICopOworc3RydWN0IGhvc3RlbnQgKmh0X2dldGhvc3RieWFkZHIoY29uc3QgY2hhciAqLCBpbnQsIGludCk7Cit2b2lkIGRuc19zZXJ2aWNlKHZvaWQpOworI3VuZGVmIGRuX3NraXBuYW1lCitpbnQgZG5fc2tpcG5hbWUoY29uc3QgdV9jaGFyICosIGNvbnN0IHVfY2hhciAqKTsKK3N0YXRpYyBpbnQgX2Ruc19nZXRodGJ5YWRkcih2b2lkICosIHZvaWQgKiwgdmFfbGlzdCk7CitzdGF0aWMgaW50IF9kbnNfZ2V0aHRieW5hbWUodm9pZCAqLCB2b2lkICosIHZhX2xpc3QpOworCitzdGF0aWMgc3RydWN0IGhvc3RlbnQgKmdldGhvc3RieW5hbWVfaW50ZXJuYWwoY29uc3QgY2hhciAqLCBpbnQsIHJlc19zdGF0ZSwKKyAgICBzdHJ1Y3QgaG9zdGVudCAqLCBjaGFyICosIHNpemVfdCwgaW50ICosIHVuc2lnbmVkLCB1bnNpZ25lZCk7CitzdGF0aWMgc3RydWN0IGhvc3RlbnQqIGFuZHJvaWRfZ2V0aG9zdGJ5YWRkcmZvcm5ldF9wcm94eV9pbnRlcm5hbChjb25zdCB2b2lkKiwgc29ja2xlbl90LAorICAgIGludCwgc3RydWN0IGhvc3RlbnQgKiwgY2hhciAqLCBzaXplX3QsIGludCAqLCB1bnNpZ25lZCwgdW5zaWduZWQpOworCitzdGF0aWMgY29uc3QgbnNfc3JjIGRlZmF1bHRfZG5zX2ZpbGVzW10gPSB7CisJeyBOU1NSQ19GSUxFUywgCU5TX1NVQ0NFU1MgfSwKKwl7IE5TU1JDX0ROUywgCU5TX1NVQ0NFU1MgfSwKKwl7IDAsIDAgfQorfTsKKworCisjaWZkZWYgREVCVUcKK3N0YXRpYyB2b2lkCitkZWJ1Z3ByaW50Zihjb25zdCBjaGFyICptc2csIHJlc19zdGF0ZSByZXMsIC4uLikKK3sKKwlfRElBR0FTU0VSVChtc2cgIT0gTlVMTCk7CisKKwlpZiAocmVzLT5vcHRpb25zICYgUkVTX0RFQlVHKSB7CisJCWludCBzYXZlID0gZXJybm87CisJCXZhX2xpc3QgYXA7CisKKwkJdmFfc3RhcnQgKGFwLCByZXMpOworCQl2cHJpbnRmKG1zZywgYXApOworCQl2YV9lbmQgKGFwKTsKKworCQllcnJubyA9IHNhdmU7CisJfQorfQorI2Vsc2UKKyMgZGVmaW5lIGRlYnVncHJpbnRmKG1zZywgcmVzLCBudW0pIC8qbmFkYSovCisjZW5kaWYKKworI2RlZmluZSBCT1VOREVEX0lOQ1IoeCkgXAorCWRvIHsgXAorCQljcCArPSAoeCk7IFwKKwkJaWYgKGNwID4gZW9tKSBcCisJCQlnb3RvIG5vX3JlY292ZXJ5OyBcCisJfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUgQk9VTkRTX0NIRUNLKHB0ciwgY291bnQpIFwKKwlkbyB7IFwKKwkJaWYgKChwdHIpICsgKGNvdW50KSA+IGVvbSkgXAorCQkJZ290byBub19yZWNvdmVyeTsgXAorCX0gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCitzdGF0aWMgc3RydWN0IGhvc3RlbnQgKgorZ2V0YW5zd2VyKGNvbnN0IHF1ZXJ5YnVmICphbnN3ZXIsIGludCBhbnNsZW4sIGNvbnN0IGNoYXIgKnFuYW1lLCBpbnQgcXR5cGUsCisgICAgcmVzX3N0YXRlIHJlcywgc3RydWN0IGhvc3RlbnQgKmhlbnQsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwgaW50ICpoZSkKK3sKKwljb25zdCBIRUFERVIgKmhwOworCWNvbnN0IHVfY2hhciAqY3A7CisJaW50IG47CisJc2l6ZV90IHFsZW47CisJY29uc3QgdV9jaGFyICplb20sICplcmRhdGE7CisJY2hhciAqYnAsICoqYXAsICoqaGFwLCAqZXA7CisJaW50IHR5cGUsIGNsYXNzLCBhbmNvdW50LCBxZGNvdW50OworCWludCBoYXZlYW5zd2VyLCBoYWRfZXJyb3I7CisJaW50IHRvb2JpZyA9IDA7CisJY2hhciB0YnVmW01BWEROQU1FXTsKKwljaGFyICoqYWxpYXNlczsKKwlzaXplX3QgbWF4YWxpYXNlczsKKwljaGFyICphZGRyX3B0cnNbTUFYQUREUlNdOworCWNvbnN0IGNoYXIgKnRuYW1lOworCWludCAoKm5hbWVfb2spKGNvbnN0IGNoYXIgKik7CisKKwlfRElBR0FTU0VSVChhbnN3ZXIgIT0gTlVMTCk7CisJX0RJQUdBU1NFUlQocW5hbWUgIT0gTlVMTCk7CisKKwl0bmFtZSA9IHFuYW1lOworCWhlbnQtPmhfbmFtZSA9IE5VTEw7CisJZW9tID0gYW5zd2VyLT5idWYgKyBhbnNsZW47CisJc3dpdGNoIChxdHlwZSkgeworCWNhc2UgVF9BOgorCWNhc2UgVF9BQUFBOgorCQluYW1lX29rID0gcmVzX2hub2s7CisJCWJyZWFrOworCWNhc2UgVF9QVFI6CisJCW5hbWVfb2sgPSByZXNfZG5vazsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkgICpoZSA9IE5PX1JFQ09WRVJZOworCQlyZXR1cm4gTlVMTDsJLyogWFhYIHNob3VsZCBiZSBhYm9ydCgpOyAqLworCX0KKworCXNldHVwKGFsaWFzZXMsIG1heGFsaWFzZXMpOworCS8qCisJICogZmluZCBmaXJzdCBzYXRpc2ZhY3RvcnkgYW5zd2VyCisJICovCisJaHAgPSAmYW5zd2VyLT5oZHI7CisJYW5jb3VudCA9IG50b2hzKGhwLT5hbmNvdW50KTsKKwlxZGNvdW50ID0gbnRvaHMoaHAtPnFkY291bnQpOworCWJwID0gYnVmOworCWVwID0gYnVmICsgYnVmbGVuOworCWNwID0gYW5zd2VyLT5idWY7CisJQk9VTkRFRF9JTkNSKEhGSVhFRFNaKTsKKwlpZiAocWRjb3VudCAhPSAxKQorCQlnb3RvIG5vX3JlY292ZXJ5OworCisJbiA9IGRuX2V4cGFuZChhbnN3ZXItPmJ1ZiwgZW9tLCBjcCwgYnAsIChpbnQpKGVwIC0gYnApKTsKKwlpZiAoKG4gPCAwKSB8fCAhbWF5YmVfb2socmVzLCBicCwgbmFtZV9vaykpCisJCWdvdG8gbm9fcmVjb3Zlcnk7CisKKwlCT1VOREVEX0lOQ1IobiArIFFGSVhFRFNaKTsKKwlpZiAocXR5cGUgPT0gVF9BIHx8IHF0eXBlID09IFRfQUFBQSkgeworCQkvKiByZXNfc2VuZCgpIGhhcyBhbHJlYWR5IHZlcmlmaWVkIHRoYXQgdGhlIHF1ZXJ5IG5hbWUgaXMgdGhlCisJCSAqIHNhbWUgYXMgdGhlIG9uZSB3ZSBzZW50OyB0aGlzIGp1c3QgZ2V0cyB0aGUgZXhwYW5kZWQgbmFtZQorCQkgKiAoaS5lLiwgd2l0aCB0aGUgc3VjY2VlZGluZyBzZWFyY2gtZG9tYWluIHRhY2tlZCBvbikuCisJCSAqLworCQluID0gKGludClzdHJsZW4oYnApICsgMTsJCS8qIGZvciB0aGUgXDAgKi8KKwkJaWYgKG4gPj0gTUFYSE9TVE5BTUVMRU4pCisJCQlnb3RvIG5vX3JlY292ZXJ5OworCQloZW50LT5oX25hbWUgPSBicDsKKwkJYnAgKz0gbjsKKwkJLyogVGhlIHFuYW1lIGNhbiBiZSBhYmJyZXZpYXRlZCwgYnV0IGhfbmFtZSBpcyBub3cgYWJzb2x1dGUuICovCisJCXFuYW1lID0gaGVudC0+aF9uYW1lOworCX0KKwloZW50LT5oX2FsaWFzZXMgPSBhcCA9IGFsaWFzZXM7CisJaGVudC0+aF9hZGRyX2xpc3QgPSBoYXAgPSBhZGRyX3B0cnM7CisJKmFwID0gTlVMTDsKKwkqaGFwID0gTlVMTDsKKwloYXZlYW5zd2VyID0gMDsKKwloYWRfZXJyb3IgPSAwOworCXdoaWxlIChhbmNvdW50LS0gPiAwICYmIGNwIDwgZW9tICYmICFoYWRfZXJyb3IpIHsKKwkJbiA9IGRuX2V4cGFuZChhbnN3ZXItPmJ1ZiwgZW9tLCBjcCwgYnAsIChpbnQpKGVwIC0gYnApKTsKKwkJaWYgKChuIDwgMCkgfHwgIW1heWJlX29rKHJlcywgYnAsIG5hbWVfb2spKSB7CisJCQloYWRfZXJyb3IrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWNwICs9IG47CQkJLyogbmFtZSAqLworCQlCT1VORFNfQ0hFQ0soY3AsIDMgKiBJTlQxNlNaICsgSU5UMzJTWik7CisJCXR5cGUgPSBfZ2V0c2hvcnQoY3ApOworIAkJY3AgKz0gSU5UMTZTWjsJCQkvKiB0eXBlICovCisJCWNsYXNzID0gX2dldHNob3J0KGNwKTsKKyAJCWNwICs9IElOVDE2U1ogKyBJTlQzMlNaOwkvKiBjbGFzcywgVFRMICovCisJCW4gPSBfZ2V0c2hvcnQoY3ApOworCQljcCArPSBJTlQxNlNaOwkJCS8qIGxlbiAqLworCQlCT1VORFNfQ0hFQ0soY3AsIG4pOworCQllcmRhdGEgPSBjcCArIG47CisJCWlmIChjbGFzcyAhPSBDX0lOKSB7CisJCQkvKiBYWFggLSBkZWJ1Zz8gc3lzbG9nPyAqLworCQkJY3AgKz0gbjsKKwkJCWNvbnRpbnVlOwkJLyogWFhYIC0gaGFkX2Vycm9yKysgPyAqLworCQl9CisJCWlmICgocXR5cGUgPT0gVF9BIHx8IHF0eXBlID09IFRfQUFBQSkgJiYgdHlwZSA9PSBUX0NOQU1FKSB7CisJCQluID0gZG5fZXhwYW5kKGFuc3dlci0+YnVmLCBlb20sIGNwLCB0YnVmLAorCQkJICAgIChpbnQpc2l6ZW9mIHRidWYpOworCQkJaWYgKChuIDwgMCkgfHwgIW1heWJlX29rKHJlcywgdGJ1ZiwgbmFtZV9vaykpIHsKKwkJCQloYWRfZXJyb3IrKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWNwICs9IG47CisJCQlpZiAoY3AgIT0gZXJkYXRhKQorCQkJCWdvdG8gbm9fcmVjb3Zlcnk7CisJCQkvKiBTdG9yZSBhbGlhcy4gKi8KKwkJCWFkZGFsaWFzKGFwLCBicCwgYWxpYXNlcywgbWF4YWxpYXNlcyk7CisJCQluID0gKGludClzdHJsZW4oYnApICsgMTsJLyogZm9yIHRoZSBcMCAqLworCQkJaWYgKG4gPj0gTUFYSE9TVE5BTUVMRU4pIHsKKwkJCQloYWRfZXJyb3IrKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWJwICs9IG47CisJCQkvKiBHZXQgY2Fub25pY2FsIG5hbWUuICovCisJCQluID0gKGludClzdHJsZW4odGJ1ZikgKyAxOwkvKiBmb3IgdGhlIFwwICovCisJCQlpZiAobiA+IGVwIC0gYnAgfHwgbiA+PSBNQVhIT1NUTkFNRUxFTikgeworCQkJCWhhZF9lcnJvcisrOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJc3RybGNweShicCwgdGJ1ZiwgKHNpemVfdCkoZXAgLSBicCkpOworCQkJaGVudC0+aF9uYW1lID0gYnA7CisJCQlicCArPSBuOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHF0eXBlID09IFRfUFRSICYmIHR5cGUgPT0gVF9DTkFNRSkgeworCQkJbiA9IGRuX2V4cGFuZChhbnN3ZXItPmJ1ZiwgZW9tLCBjcCwgdGJ1ZiwKKwkJCSAgICAoaW50KXNpemVvZiB0YnVmKTsKKwkJCWlmIChuIDwgMCB8fCAhbWF5YmVfZG5vayhyZXMsIHRidWYpKSB7CisJCQkJaGFkX2Vycm9yKys7CisJCQkJY29udGludWU7CisJCQl9CisJCQljcCArPSBuOworCQkJaWYgKGNwICE9IGVyZGF0YSkKKwkJCQlnb3RvIG5vX3JlY292ZXJ5OworCQkJLyogR2V0IGNhbm9uaWNhbCBuYW1lLiAqLworCQkJbiA9IChpbnQpc3RybGVuKHRidWYpICsgMTsJLyogZm9yIHRoZSBcMCAqLworCQkJaWYgKG4gPiBlcCAtIGJwIHx8IG4gPj0gTUFYSE9TVE5BTUVMRU4pIHsKKwkJCQloYWRfZXJyb3IrKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCXN0cmxjcHkoYnAsIHRidWYsIChzaXplX3QpKGVwIC0gYnApKTsKKwkJCXRuYW1lID0gYnA7CisJCQlicCArPSBuOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHR5cGUgIT0gcXR5cGUpIHsKKwkJCWlmICh0eXBlICE9IFRfS0VZICYmIHR5cGUgIT0gVF9TSUcpCisJCQkJc3lzbG9nKExPR19OT1RJQ0V8TE9HX0FVVEgsCisJICAgICAgICJnZXRob3N0YnkqLmdldGFuc3dlcjogYXNrZWQgZm9yIFwiJXMgJXMgJXNcIiwgZ290IHR5cGUgXCIlc1wiIiwKKwkJCQkgICAgICAgcW5hbWUsIHBfY2xhc3MoQ19JTiksIHBfdHlwZShxdHlwZSksCisJCQkJICAgICAgIHBfdHlwZSh0eXBlKSk7CisJCQljcCArPSBuOworCQkJY29udGludWU7CQkvKiBYWFggLSBoYWRfZXJyb3IrKyA/ICovCisJCX0KKwkJc3dpdGNoICh0eXBlKSB7CisJCWNhc2UgVF9QVFI6CisJCQlpZiAoc3RyY2FzZWNtcCh0bmFtZSwgYnApICE9IDApIHsKKwkJCQlzeXNsb2coTE9HX05PVElDRXxMT0dfQVVUSCwKKwkJCQkgICAgICAgQXNrZWRGb3JHb3QsIHFuYW1lLCBicCk7CisJCQkJY3AgKz0gbjsKKwkJCQljb250aW51ZTsJLyogWFhYIC0gaGFkX2Vycm9yKysgPyAqLworCQkJfQorCQkJbiA9IGRuX2V4cGFuZChhbnN3ZXItPmJ1ZiwgZW9tLCBjcCwgYnAsIChpbnQpKGVwIC0gYnApKTsKKwkJCWlmICgobiA8IDApIHx8ICFtYXliZV9obm9rKHJlcywgYnApKSB7CisJCQkJaGFkX2Vycm9yKys7CisJCQkJYnJlYWs7CisJCQl9CisjaWYgTVVMVElfUFRSU19BUkVfQUxJQVNFUworCQkJY3AgKz0gbjsKKwkJCWlmIChjcCAhPSBlcmRhdGEpCisJCQkJZ290byBub19yZWNvdmVyeTsKKwkJCWlmICghaGF2ZWFuc3dlcikKKwkJCQloZW50LT5oX25hbWUgPSBicDsKKwkJCWVsc2UKKwkJCQlhZGRhbGlhcyhhcCwgYnAsIGFsaWFzZXMsIG1heGFsaWFzZXMpOworCQkJaWYgKG4gIT0gLTEpIHsKKwkJCQluID0gKGludClzdHJsZW4oYnApICsgMTsJLyogZm9yIHRoZSBcMCAqLworCQkJCWlmIChuID49IE1BWEhPU1ROQU1FTEVOKSB7CisJCQkJCWhhZF9lcnJvcisrOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJYnAgKz0gbjsKKwkJCX0KKwkJCWJyZWFrOworI2Vsc2UKKwkJCWhlbnQtPmhfbmFtZSA9IGJwOworCQkJaWYgKHJlcy0+b3B0aW9ucyAmIFJFU19VU0VfSU5FVDYpIHsKKwkJCQluID0gc3RybGVuKGJwKSArIDE7CS8qIGZvciB0aGUgXDAgKi8KKwkJCQlpZiAobiA+PSBNQVhIT1NUTkFNRUxFTikgeworCQkJCQloYWRfZXJyb3IrKzsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCWJwICs9IG47CisJCQkJbWFwX3Y0djZfaG9zdGVudChoZW50LCAmYnAsIGVwKTsKKwkJCX0KKwkJCWdvdG8gc3VjY2VzczsKKyNlbmRpZgorCQljYXNlIFRfQToKKwkJY2FzZSBUX0FBQUE6CisJCQlpZiAoc3RyY2FzZWNtcChoZW50LT5oX25hbWUsIGJwKSAhPSAwKSB7CisJCQkJc3lzbG9nKExPR19OT1RJQ0V8TE9HX0FVVEgsCisJCQkJICAgICAgIEFza2VkRm9yR290LCBoZW50LT5oX25hbWUsIGJwKTsKKwkJCQljcCArPSBuOworCQkJCWNvbnRpbnVlOwkvKiBYWFggLSBoYWRfZXJyb3IrKyA/ICovCisJCQl9CisJCQlpZiAobiAhPSBoZW50LT5oX2xlbmd0aCkgeworCQkJCWNwICs9IG47CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAodHlwZSA9PSBUX0FBQUEpIHsKKwkJCQlzdHJ1Y3QgaW42X2FkZHIgaW42OworCQkJCW1lbWNweSgmaW42LCBjcCwgTlNfSU42QUREUlNaKTsKKwkJCQlpZiAoSU42X0lTX0FERFJfVjRNQVBQRUQoJmluNikpIHsKKwkJCQkJY3AgKz0gbjsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJfQorCQkJaWYgKCFoYXZlYW5zd2VyKSB7CisJCQkJaW50IG5uOworCisJCQkJaGVudC0+aF9uYW1lID0gYnA7CisJCQkJbm4gPSAoaW50KXN0cmxlbihicCkgKyAxOwkvKiBmb3IgdGhlIFwwICovCisJCQkJYnAgKz0gbm47CisJCQl9CisKKwkJCWJwICs9IHNpemVvZihhbGlnbikgLQorCQkJICAgIChzaXplX3QpKCh1X2xvbmcpYnAgJSBzaXplb2YoYWxpZ24pKTsKKworCQkJaWYgKGJwICsgbiA+PSBlcCkgeworCQkJCWRlYnVncHJpbnRmKCJzaXplICglZCkgdG9vIGJpZ1xuIiwgcmVzLCBuKTsKKwkJCQloYWRfZXJyb3IrKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChoYXAgPj0gJmFkZHJfcHRyc1tNQVhBRERSUyAtIDFdKSB7CisJCQkJaWYgKCF0b29iaWcrKykgeworCQkJCQlkZWJ1Z3ByaW50ZigiVG9vIG1hbnkgYWRkcmVzc2VzICglZClcbiIsCisJCQkJCQlyZXMsIE1BWEFERFJTKTsKKwkJCQl9CisJCQkJY3AgKz0gbjsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCSh2b2lkKW1lbWNweSgqaGFwKysgPSBicCwgY3AsIChzaXplX3Qpbik7CisJCQlicCArPSBuOworCQkJY3AgKz0gbjsKKwkJCWlmIChjcCAhPSBlcmRhdGEpCisJCQkJZ290byBub19yZWNvdmVyeTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYWJvcnQoKTsKKwkJfQorCQlpZiAoIWhhZF9lcnJvcikKKwkJCWhhdmVhbnN3ZXIrKzsKKwl9CisJaWYgKGhhdmVhbnN3ZXIpIHsKKwkJKmFwID0gTlVMTDsKKwkJKmhhcCA9IE5VTEw7CisJCS8qCisJCSAqIE5vdGU6IHdlIHNvcnQgZXZlbiBpZiBob3N0IGNhbiB0YWtlIG9ubHkgb25lIGFkZHJlc3MKKwkJICogaW4gaXRzIHJldHVybiBzdHJ1Y3R1cmVzIC0gc2hvdWxkIGdpdmUgaXQgdGhlICJiZXN0IgorCQkgKiBhZGRyZXNzIGluIHRoYXQgY2FzZSwgbm90IHNvbWUgcmFuZG9tIG9uZQorCQkgKi8KKwkJaWYgKHJlcy0+bnNvcnQgJiYgaGF2ZWFuc3dlciA+IDEgJiYgcXR5cGUgPT0gVF9BKQorCQkJYWRkcnNvcnQoYWRkcl9wdHJzLCBoYXZlYW5zd2VyLCByZXMpOworCQlpZiAoIWhlbnQtPmhfbmFtZSkgeworCQkJbiA9IChpbnQpc3RybGVuKHFuYW1lKSArIDE7CS8qIGZvciB0aGUgXDAgKi8KKwkJCWlmIChuID4gZXAgLSBicCB8fCBuID49IE1BWEhPU1ROQU1FTEVOKQorCQkJCWdvdG8gbm9fcmVjb3Zlcnk7CisJCQlzdHJsY3B5KGJwLCBxbmFtZSwgKHNpemVfdCkoZXAgLSBicCkpOworCQkJaGVudC0+aF9uYW1lID0gYnA7CisJCQlicCArPSBuOworCQl9CisJCWlmIChyZXMtPm9wdGlvbnMgJiBSRVNfVVNFX0lORVQ2KQorCQkJbWFwX3Y0djZfaG9zdGVudChoZW50LCAmYnAsIGVwKTsKKwkgIGdvdG8gc3VjY2VzczsKKwl9Citub19yZWNvdmVyeToKKwlmcmVlKGFsaWFzZXMpOworCSpoZSA9IE5PX1JFQ09WRVJZOworCXJldHVybiBOVUxMOworc3VjY2VzczoKKwlicCA9IChjaGFyICopQUxJR04oYnApOworCW4gPSAoaW50KShhcCAtIGFsaWFzZXMpOworCXFsZW4gPSAobiArIDEpICogc2l6ZW9mKCpoZW50LT5oX2FsaWFzZXMpOworCWlmICgoc2l6ZV90KShlcCAtIGJwKSA8IHFsZW4pCisJCWdvdG8gbm9zcGM7CisJaGVudC0+aF9hbGlhc2VzID0gKHZvaWQgKilicDsKKwltZW1jcHkoYnAsIGFsaWFzZXMsIHFsZW4pOworCWZyZWUoYWxpYXNlcyk7CisJYWxpYXNlcyA9IE5VTEw7CisKKwlicCArPSBxbGVuOworCW4gPSAoaW50KShoYXAgLSBhZGRyX3B0cnMpOworCXFsZW4gPSAobiArIDEpICogc2l6ZW9mKCpoZW50LT5oX2FkZHJfbGlzdCk7CisJaWYgKChzaXplX3QpKGVwIC0gYnApIDwgcWxlbikKKwkJZ290byBub3NwYzsKKwloZW50LT5oX2FkZHJfbGlzdCA9ICh2b2lkICopYnA7CisJbWVtY3B5KGJwLCBhZGRyX3B0cnMsIHFsZW4pOworCSpoZSA9IE5FVERCX1NVQ0NFU1M7CisJcmV0dXJuIGhlbnQ7Citub3NwYzoKKwlmcmVlKGFsaWFzZXMpOworCWVycm5vID0gRU5PU1BDOworCSpoZSA9IE5FVERCX0lOVEVSTkFMOworCXJldHVybiBOVUxMOworfQorCisvKiBUaGUgcHJvdG90eXBlIG9mIGdldGhvc3RieW5hbWVfciBpcyBmcm9tIGdsaWJjLCBub3QgdGhhdCBpbiBuZXRic2QuICovCitpbnQKK2dldGhvc3RieW5hbWVfcihjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgaG9zdGVudCAqaHAsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwKKyAgICBzdHJ1Y3QgaG9zdGVudCAqKnJlc3VsdCwgaW50ICplcnJvcnApCit7CisJcmVzX3N0YXRlIHJlcyA9IF9fcmVzX2dldF9zdGF0ZSgpOworCisJaWYgKHJlcyA9PSBOVUxMKSB7CisJICAqcmVzdWx0ID0gTlVMTDsKKwkJKmVycm9ycCA9IE5FVERCX0lOVEVSTkFMOworCQlyZXR1cm4gLTE7CisJfQorCisJX0RJQUdBU1NFUlQobmFtZSAhPSBOVUxMKTsKKworCWlmIChyZXMtPm9wdGlvbnMgJiBSRVNfVVNFX0lORVQ2KSB7CisJCSpyZXN1bHQgPSBnZXRob3N0YnluYW1lX2ludGVybmFsKG5hbWUsIEFGX0lORVQ2LCByZXMsIGhwLCBidWYsIGJ1ZmxlbiwgZXJyb3JwLCBORVRJRF9VTlNFVCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFSS19VTlNFVCk7CisJCWlmICgqcmVzdWx0KSB7CisJCQlfX3Jlc19wdXRfc3RhdGUocmVzKTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCSpyZXN1bHQgPSBnZXRob3N0YnluYW1lX2ludGVybmFsKG5hbWUsIEFGX0lORVQsIHJlcywgaHAsIGJ1ZiwgYnVmbGVuLCBlcnJvcnAsIE5FVElEX1VOU0VULAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BUktfVU5TRVQpOworCV9fcmVzX3B1dF9zdGF0ZShyZXMpOworCWlmICghKnJlc3VsdCAmJiBlcnJubyA9PSBFTk9TUEMpIHsKKwkgIGVycm5vID0gRVJBTkdFOworCSAgcmV0dXJuIEVSQU5HRTsgLyogUmV0dXJuIGVycm9yIGFzIGluIGxpbnV4IG1hbnVhbCBwYWdlLiAqLworCX0KKwlyZXR1cm4gKCpyZXN1bHQpID8gMCA6IC0xOworfQorCisvKiBUaGUgcHJvdG90eXBlIG9mIGdldGhvc3RieW5hbWUyX3IgaXMgZnJvbSBnbGliYywgbm90IHRoYXQgaW4gbmV0YnNkLiAqLworaW50CitnZXRob3N0YnluYW1lMl9yKGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZiwgc3RydWN0IGhvc3RlbnQgKmhwLCBjaGFyICpidWYsCisgICAgc2l6ZV90IGJ1Zmxlbiwgc3RydWN0IGhvc3RlbnQgKipyZXN1bHQsIGludCAqZXJyb3JwKQoreworCXJlc19zdGF0ZSByZXMgPSBfX3Jlc19nZXRfc3RhdGUoKTsKKworCWlmIChyZXMgPT0gTlVMTCkgeworCQkqcmVzdWx0ID0gTlVMTDsKKwkJKmVycm9ycCA9IE5FVERCX0lOVEVSTkFMOworCQlyZXR1cm4gLTE7CisJfQorCSpyZXN1bHQgPSBnZXRob3N0YnluYW1lX2ludGVybmFsKG5hbWUsIGFmLCByZXMsIGhwLCBidWYsIGJ1ZmxlbiwgZXJyb3JwLCBORVRJRF9VTlNFVCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVJLX1VOU0VUKTsKKwlfX3Jlc19wdXRfc3RhdGUocmVzKTsKKwlpZiAoISpyZXN1bHQgJiYgZXJybm8gPT0gRU5PU1BDKSB7CisJCWVycm5vID0gRVJBTkdFOworCQlyZXR1cm4gRVJBTkdFOworCX0KKwlyZXR1cm4gKCpyZXN1bHQpID8gMCA6IC0xOworfQorCitfX0xJQkNfSElEREVOX18gRklMRSogYW5kcm9pZF9vcGVuX3Byb3h5KCkgeworCWNvbnN0IGNoYXIqIGNhY2hlX21vZGUgPSBnZXRlbnYoIkFORFJPSURfRE5TX01PREUiKTsKKwlib29sIHVzZV9wcm94eSA9IChjYWNoZV9tb2RlID09IE5VTEwgfHwgc3RyY21wKGNhY2hlX21vZGUsICJsb2NhbCIpICE9IDApOworCWlmICghdXNlX3Byb3h5KSB7CisJCXJldHVybiBOVUxMOworCX0KKworCWludCBzID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNIHwgU09DS19DTE9FWEVDLCAwKTsKKwlpZiAocyA9PSAtMSkgeworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwljb25zdCBpbnQgb25lID0gMTsKKwlzZXRzb2Nrb3B0KHMsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgJm9uZSwgc2l6ZW9mKG9uZSkpOworCisJc3RydWN0IHNvY2thZGRyX3VuIHByb3h5X2FkZHI7CisJbWVtc2V0KCZwcm94eV9hZGRyLCAwLCBzaXplb2YocHJveHlfYWRkcikpOworCXByb3h5X2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7CisJc3RybGNweShwcm94eV9hZGRyLnN1bl9wYXRoLCAiL2Rldi9zb2NrZXQvZG5zcHJveHlkIiwgc2l6ZW9mKHByb3h5X2FkZHIuc3VuX3BhdGgpKTsKKworCWlmIChURU1QX0ZBSUxVUkVfUkVUUlkoY29ubmVjdChzLCAoY29uc3Qgc3RydWN0IHNvY2thZGRyKikgJnByb3h5X2FkZHIsIHNpemVvZihwcm94eV9hZGRyKSkpICE9IDApIHsKKwkJY2xvc2Uocyk7CisJCXJldHVybiBOVUxMOworCX0KKworCXJldHVybiBmZG9wZW4ocywgInIrIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCithbmRyb2lkX3JlYWRfaG9zdGVudChGSUxFKiBwcm94eSwgc3RydWN0IGhvc3RlbnQqIGhwLCBjaGFyKiBoYnVmLCBzaXplX3QgaGJ1ZmxlbiwgaW50ICpoZSkKK3sKKwl1aW50MzJfdCBzaXplOworCWNoYXIgYnVmWzRdOworCWlmIChmcmVhZChidWYsIDEsIHNpemVvZihidWYpLCBwcm94eSkgIT0gc2l6ZW9mKGJ1ZikpIHJldHVybiBOVUxMOworCisJLy8gVGhpcyBpcyByZWFkaW5nIHNlcmlhbGl6ZWQgZGF0YSBmcm9tIHN5c3RlbS9uZXRkL3NlcnZlci9EbnNQcm94eUxpc3RlbmVyLmNwcAorCS8vIGFuZCBjaGFuZ2VzIGhlcmUgbmVlZCB0byBiZSBtYXRjaGVkIHRoZXJlLgorCWludCByZXN1bHRfY29kZSA9IHN0cnRvbChidWYsIE5VTEwsIDEwKTsKKwlpZiAocmVzdWx0X2NvZGUgIT0gRG5zUHJveHlRdWVyeVJlc3VsdCkgeworCQlmcmVhZCgmc2l6ZSwgMSwgc2l6ZW9mKHNpemUpLCBwcm94eSk7CisJCSpoZSA9IEhPU1RfTk9UX0ZPVU5EOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAoZnJlYWQoJnNpemUsIDEsIHNpemVvZihzaXplKSwgcHJveHkpICE9IHNpemVvZihzaXplKSkgcmV0dXJuIE5VTEw7CisJc2l6ZSA9IG50b2hsKHNpemUpOworCisJbWVtc2V0KGhwLCAwLCBzaXplb2YoKmhwKSk7CisJY2hhciAqcHRyID0gaGJ1ZjsKKwljaGFyICpoYnVmX2VuZCA9IGhidWYgKyBoYnVmbGVuOworCisJaWYgKHB0ciArIHNpemUgPiBoYnVmX2VuZCkgeworCQlnb3RvIG5vc3BjOworCX0KKwlpZiAoZnJlYWQocHRyLCAxLCBzaXplLCBwcm94eSkgIT0gc2l6ZSkgcmV0dXJuIE5VTEw7CisJaHAtPmhfbmFtZSA9IHB0cjsKKwlwdHIgKz0gc2l6ZTsKKworCWNoYXIgKmFsaWFzZXNfcHRyc1tNQVhBTElBU0VTXTsKKwljaGFyICoqYWxpYXNlcyA9ICZhbGlhc2VzX3B0cnNbMF07CisKKwl3aGlsZSAoMSkgeworCQlpZiAoZnJlYWQoJnNpemUsIDEsIHNpemVvZihzaXplKSwgcHJveHkpICE9IHNpemVvZihzaXplKSkgcmV0dXJuIE5VTEw7CisJCXNpemUgPSBudG9obChzaXplKTsKKworCQlpZiAoc2l6ZSA9PSAwKSB7CisJCQkqYWxpYXNlcyA9IE5VTEw7CisJCQlicmVhazsKKwkJfQorCQlpZiAocHRyICsgc2l6ZSA+IGhidWZfZW5kKSB7CisJCSAgZ290byBub3NwYzsKKwkJfQorCQlpZiAoZnJlYWQocHRyLCAxLCBzaXplLCBwcm94eSkgIT0gc2l6ZSkgcmV0dXJuIE5VTEw7CisJCWlmIChhbGlhc2VzIDwgJmFsaWFzZXNfcHRyc1tNQVhBTElBU0VTIC0gMV0pIHsKKwkJICAqYWxpYXNlcysrID0gcHRyOworCQl9CisJCXB0ciArPSBzaXplOworCX0KKworCWludCBhbGlhc2VzX2xlbiA9ICgoaW50KShhbGlhc2VzIC0gYWxpYXNlc19wdHJzKSArIDEpICogc2l6ZW9mKCpocC0+aF9hbGlhc2VzKTsKKwlpZiAocHRyICsgYWxpYXNlc19sZW4gPiBoYnVmX2VuZCkgeworCQlnb3RvIG5vc3BjOworCX0KKwlocC0+aF9hbGlhc2VzID0gKHZvaWQqKXB0cjsKKwltZW1jcHkocHRyLCBhbGlhc2VzX3B0cnMsIGFsaWFzZXNfbGVuKTsKKwlwdHIgKz0gYWxpYXNlc19sZW47CisKKwlpZiAoZnJlYWQoJnNpemUsIDEsIHNpemVvZihzaXplKSwgcHJveHkpICE9IHNpemVvZihzaXplKSkgcmV0dXJuIE5VTEw7CisJaHAtPmhfYWRkcnR5cGUgPSBudG9obChzaXplKTsKKworCWlmIChmcmVhZCgmc2l6ZSwgMSwgc2l6ZW9mKHNpemUpLCBwcm94eSkgIT0gc2l6ZW9mKHNpemUpKSByZXR1cm4gTlVMTDsKKwlocC0+aF9sZW5ndGggPSBudG9obChzaXplKTsKKworCWNoYXIgKmFkZHJfcHRyc1tNQVhBRERSU107CisJY2hhciAqKmFkZHJfcCA9ICZhZGRyX3B0cnNbMF07CisKKwl3aGlsZSAoMSkgeworCQlpZiAoZnJlYWQoJnNpemUsIDEsIHNpemVvZihzaXplKSwgcHJveHkpICE9IHNpemVvZihzaXplKSkgcmV0dXJuIE5VTEw7CisJCXNpemUgPSBudG9obChzaXplKTsKKwkJaWYgKHNpemUgPT0gMCkgeworCQkJKmFkZHJfcCA9IE5VTEw7CisJCQlicmVhazsKKwkJfQorCQlpZiAocHRyICsgc2l6ZSA+IGhidWZfZW5kKSB7CisJCSAgZ290byBub3NwYzsKKwkJfQorCQlpZiAoZnJlYWQocHRyLCAxLCBzaXplLCBwcm94eSkgIT0gc2l6ZSkgcmV0dXJuIE5VTEw7CisJCWlmIChhZGRyX3AgPCAmYWRkcl9wdHJzW01BWEFERFJTIC0gMV0pIHsKKwkJICAqYWRkcl9wKysgPSBwdHI7CisJCX0KKwkJcHRyICs9IHNpemU7CisJfQorCisJaW50IGFkZHJzX2xlbiA9ICgoaW50KShhZGRyX3AgLSBhZGRyX3B0cnMpICsgMSkgKiBzaXplb2YoKmhwLT5oX2FkZHJfbGlzdCk7CisJaWYgKHB0ciArIGFkZHJzX2xlbiA+IGhidWZfZW5kKSB7CisJCWdvdG8gbm9zcGM7CisJfQorCWhwLT5oX2FkZHJfbGlzdCA9ICh2b2lkKilwdHI7CisJbWVtY3B5KHB0ciwgYWRkcl9wdHJzLCBhZGRyc19sZW4pOworCSpoZSA9IE5FVERCX1NVQ0NFU1M7CisJcmV0dXJuIGhwOworCitub3NwYzoKKwkqaGUgPSBORVREQl9JTlRFUk5BTDsKKwllcnJubyA9IEVOT1NQQzsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHN0cnVjdCBob3N0ZW50ICoKK2dldGhvc3RieW5hbWVfaW50ZXJuYWxfcmVhbChjb25zdCBjaGFyICpuYW1lLCBpbnQgYWYsIHJlc19zdGF0ZSByZXMsIHN0cnVjdCBob3N0ZW50ICpocCwgY2hhciAqYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBidWZsZW4sIGludCAqaGUpCit7CisJY29uc3QgY2hhciAqY3A7CisJc3RydWN0IGdldG5hbWFkZHIgaW5mbzsKKwljaGFyIGhidWZbTUFYSE9TVE5BTUVMRU5dOworCXNpemVfdCBzaXplOworCXN0YXRpYyBjb25zdCBuc19kdGFiIGR0YWJbXSA9IHsKKwkJTlNfRklMRVNfQ0IoX2hmX2dldGh0YnluYW1lLCBOVUxMKQorCQl7IE5TU1JDX0ROUywgX2Ruc19nZXRodGJ5bmFtZSwgTlVMTCB9LAkvKiBmb3JjZSAtREhFU0lPRCAqLworCQlOU19OSVNfQ0IoX3lwX2dldGh0YnluYW1lLCBOVUxMKQorCQlOU19OVUxMX0NCCisJfTsKKworCV9ESUFHQVNTRVJUKG5hbWUgIT0gTlVMTCk7CisKKwlzd2l0Y2ggKGFmKSB7CisJY2FzZSBBRl9JTkVUOgorCQlzaXplID0gTlNfSU5BRERSU1o7CisJCWJyZWFrOworCWNhc2UgQUZfSU5FVDY6CisJCXNpemUgPSBOU19JTjZBRERSU1o7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCSpoZSA9IE5FVERCX0lOVEVSTkFMOworCQllcnJubyA9IEVBRk5PU1VQUE9SVDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmIChidWZsZW4gPCBzaXplKQorCQlnb3RvIG5vc3BjOworCisJaHAtPmhfYWRkcnR5cGUgPSBhZjsKKwlocC0+aF9sZW5ndGggPSAoaW50KXNpemU7CisKKwkvKgorCSAqIGlmIHRoZXJlIGFyZW4ndCBhbnkgZG90cywgaXQgY291bGQgYmUgYSB1c2VyLWxldmVsIGFsaWFzLgorCSAqIHRoaXMgaXMgYWxzbyBkb25lIGluIHJlc19ucXVlcnkoKSBzaW5jZSB3ZSBhcmUgbm90IHRoZSBvbmx5CisJICogZnVuY3Rpb24gdGhhdCBsb29rcyB1cCBob3N0IG5hbWVzLgorCSAqLworCWlmICghc3RyY2hyKG5hbWUsICcuJykgJiYgKGNwID0gcmVzX2hvc3RhbGlhcyhyZXMsIG5hbWUsCisJICAgIGhidWYsIHNpemVvZihoYnVmKSkpKQorCQluYW1lID0gY3A7CisKKwkvKgorCSAqIGRpc2FsbG93IG5hbWVzIGNvbnNpc3Rpbmcgb25seSBvZiBkaWdpdHMvZG90cywgdW5sZXNzCisJICogdGhleSBlbmQgaW4gYSBkb3QuCisJICovCisJaWYgKGlzZGlnaXQoKHVfY2hhcikgbmFtZVswXSkpCisJCWZvciAoY3AgPSBuYW1lOzsgKytjcCkgeworCQkJaWYgKCEqY3ApIHsKKwkJCQlpZiAoKi0tY3AgPT0gJy4nKQorCQkJCQlicmVhazsKKwkJCQkvKgorCQkJCSAqIEFsbC1udW1lcmljLCBubyBkb3QgYXQgdGhlIGVuZC4KKwkJCQkgKiBGYWtlIHVwIGEgaG9zdGVudCBhcyBpZiB3ZSdkIGFjdHVhbGx5CisJCQkJICogZG9uZSBhIGxvb2t1cC4KKwkJCQkgKi8KKwkJCQlnb3RvIGZha2U7CisJCQl9CisJCQlpZiAoIWlzZGlnaXQoKHVfY2hhcikgKmNwKSAmJiAqY3AgIT0gJy4nKQorCQkJCWJyZWFrOworCQl9CisJaWYgKChpc3hkaWdpdCgodV9jaGFyKSBuYW1lWzBdKSAmJiBzdHJjaHIobmFtZSwgJzonKSAhPSBOVUxMKSB8fAorCSAgICBuYW1lWzBdID09ICc6JykKKwkJZm9yIChjcCA9IG5hbWU7OyArK2NwKSB7CisJCQlpZiAoISpjcCkgeworCQkJCWlmICgqLS1jcCA9PSAnLicpCisJCQkJCWJyZWFrOworCQkJCS8qCisJCQkJICogQWxsLUlQdjYtbGVnYWwsIG5vIGRvdCBhdCB0aGUgZW5kLgorCQkJCSAqIEZha2UgdXAgYSBob3N0ZW50IGFzIGlmIHdlJ2QgYWN0dWFsbHkKKwkJCQkgKiBkb25lIGEgbG9va3VwLgorCQkJCSAqLworCQkJCWdvdG8gZmFrZTsKKwkJCX0KKwkJCWlmICghaXN4ZGlnaXQoKHVfY2hhcikgKmNwKSAmJiAqY3AgIT0gJzonICYmICpjcCAhPSAnLicpCisJCQkJYnJlYWs7CisJCX0KKworCSpoZSA9IE5FVERCX0lOVEVSTkFMOworCWluZm8uaHAgPSBocDsKKwlpbmZvLmJ1ZiA9IGJ1ZjsKKwlpbmZvLmJ1ZmxlbiA9IGJ1ZmxlbjsKKwlpbmZvLmhlID0gaGU7CisJaWYgKG5zZGlzcGF0Y2goJmluZm8sIGR0YWIsIE5TREJfSE9TVFMsICJnZXRob3N0YnluYW1lIiwKKwkgICAgZGVmYXVsdF9kbnNfZmlsZXMsIG5hbWUsIHN0cmxlbihuYW1lKSwgYWYpICE9IE5TX1NVQ0NFU1MpCisJCXJldHVybiBOVUxMOworCSpoZSA9IE5FVERCX1NVQ0NFU1M7CisJcmV0dXJuIGhwOworbm9zcGM6CisJKmhlID0gTkVUREJfSU5URVJOQUw7CisJZXJybm8gPSBFTk9TUEM7CisJcmV0dXJuIE5VTEw7CitmYWtlOgorCUhFTlRfQVJSQVkoaHAtPmhfYWRkcl9saXN0LCAxLCBidWYsIGJ1Zmxlbik7CisJSEVOVF9BUlJBWShocC0+aF9hbGlhc2VzLCAwLCBidWYsIGJ1Zmxlbik7CisKKwlocC0+aF9hbGlhc2VzWzBdID0gTlVMTDsKKwlpZiAoc2l6ZSA+IGJ1ZmxlbikKKwkJZ290byBub3NwYzsKKworCWlmIChpbmV0X3B0b24oYWYsIG5hbWUsIGJ1ZikgPD0gMCkgeworCQkqaGUgPSBIT1NUX05PVF9GT1VORDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWhwLT5oX2FkZHJfbGlzdFswXSA9IGJ1ZjsKKwlocC0+aF9hZGRyX2xpc3RbMV0gPSBOVUxMOworCWJ1ZiArPSBzaXplOworCWJ1ZmxlbiAtPSBzaXplOworCUhFTlRfU0NPUFkoaHAtPmhfbmFtZSwgbmFtZSwgYnVmLCBidWZsZW4pOworCWlmIChyZXMtPm9wdGlvbnMgJiBSRVNfVVNFX0lORVQ2KQorCQltYXBfdjR2Nl9ob3N0ZW50KGhwLCAmYnVmLCBidWYgKyBidWZsZW4pOworCSpoZSA9IE5FVERCX1NVQ0NFU1M7CisJcmV0dXJuIGhwOworfQorCisvLyB2ZXJ5IHNpbWlsYXIgaW4gcHJveHktbmVzcyB0byBhbmRyb2lkX2dldGFkZHJpbmZvX3Byb3h5CitzdGF0aWMgc3RydWN0IGhvc3RlbnQgKgorZ2V0aG9zdGJ5bmFtZV9pbnRlcm5hbChjb25zdCBjaGFyICpuYW1lLCBpbnQgYWYsIHJlc19zdGF0ZSByZXMsIHN0cnVjdCBob3N0ZW50ICpocCwgY2hhciAqaGJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGhidWZsZW4sIGludCAqZXJyb3JwLCB1bnNpZ25lZCBuZXRpZCwgdW5zaWduZWQgbWFyaykKK3sKKwlGSUxFKiBwcm94eSA9IGFuZHJvaWRfb3Blbl9wcm94eSgpOworCWlmIChwcm94eSA9PSBOVUxMKSB7CisJCS8vIEVpdGhlciB3ZSdyZSBub3Qgc3VwcG9zZWQgdG8gYmUgdXNpbmcgdGhlIHByb3h5IG9yIHRoZSBwcm94eSBpcyB1bmF2YWlsYWJsZS4KKwkJcmVzX3NldG5ldGlkKHJlcywgbmV0aWQpOworCQlyZXNfc2V0bWFyayhyZXMsIG1hcmspOworCQlyZXR1cm4gZ2V0aG9zdGJ5bmFtZV9pbnRlcm5hbF9yZWFsKG5hbWUsIGFmLCByZXMsIGhwLCBoYnVmLCBoYnVmbGVuLCBlcnJvcnApOworCX0KKworCW5ldGlkID0gX19uZXRkQ2xpZW50RGlzcGF0Y2gubmV0SWRGb3JSZXNvbHYobmV0aWQpOworCisJLy8gVGhpcyBpcyB3cml0aW5nIHRvIHN5c3RlbS9uZXRkL3NlcnZlci9EbnNQcm94eUxpc3RlbmVyLmNwcCBhbmQgY2hhbmdlcworCS8vIGhlcmUgbmVlZCB0byBiZSBtYXRjaGVkIHRoZXJlLgorCWlmIChmcHJpbnRmKHByb3h5LCAiZ2V0aG9zdGJ5bmFtZSAldSAlcyAlZCIsCisJCQluZXRpZCwKKwkJCW5hbWUgPT0gTlVMTCA/ICJeIiA6IG5hbWUsCisJCQlhZikgPCAwKSB7CisJCWZjbG9zZShwcm94eSk7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmIChmcHV0YygwLCBwcm94eSkgPT0gRU9GIHx8IGZmbHVzaChwcm94eSkgIT0gMCkgeworCQlmY2xvc2UocHJveHkpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlzdHJ1Y3QgaG9zdGVudCogcmVzdWx0ID0gYW5kcm9pZF9yZWFkX2hvc3RlbnQocHJveHksIGhwLCBoYnVmLCBoYnVmbGVuLCBlcnJvcnApOworCWZjbG9zZShwcm94eSk7CisJcmV0dXJuIHJlc3VsdDsKK30KKworLyogVGhlIHByb3RvdHlwZSBvZiBnZXRob3N0YnlhZGRyX3IgaXMgZnJvbSBnbGliYywgbm90IHRoYXQgaW4gbmV0YnNkLiAqLworaW50IGdldGhvc3RieWFkZHJfcihjb25zdCB2b2lkICphZGRyLCBzb2NrbGVuX3QgbGVuLCBpbnQgYWYsIHN0cnVjdCBob3N0ZW50ICpocCwgY2hhciAqYnVmLAorICAgICAgICAgICAgICAgICAgICBzaXplX3QgYnVmbGVuLCBzdHJ1Y3QgaG9zdGVudCAqKnJlc3VsdCwgaW50ICpoX2Vycm5vcCkKK3sKKwkqcmVzdWx0ID0gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5X2ludGVybmFsKGFkZHIsIGxlbiwgYWYsIGhwLCBidWYsIGJ1ZmxlbiwgaF9lcnJub3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkVUSURfVU5TRVQsIE1BUktfVU5TRVQpOworCWlmICghKnJlc3VsdCAmJiBlcnJubyA9PSBFTk9TUEMpIHsKKwkJZXJybm8gPSBFUkFOR0U7CisJCXJldHVybiBFUkFOR0U7CisJfQorCXJldHVybiAoKnJlc3VsdCkgPyAwIDogLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCithbmRyb2lkX2dldGhvc3RieWFkZHJmb3JuZXRfcmVhbChjb25zdCB2b2lkICphZGRyLCBzb2NrbGVuX3QgbGVuLCBpbnQgYWYsIHN0cnVjdCBob3N0ZW50ICpocCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwgaW50ICpoZSwgdW5zaWduZWQgbmV0aWQsIHVuc2lnbmVkIG1hcmspCit7CisJY29uc3QgdV9jaGFyICp1YWRkciA9IChjb25zdCB1X2NoYXIgKilhZGRyOworCXNvY2tsZW5fdCBzaXplOworCXN0cnVjdCBnZXRuYW1hZGRyIGluZm87CisJc3RhdGljIGNvbnN0IG5zX2R0YWIgZHRhYltdID0geworCQlOU19GSUxFU19DQihfaGZfZ2V0aHRieWFkZHIsIE5VTEwpCisJCXsgTlNTUkNfRE5TLCBfZG5zX2dldGh0YnlhZGRyLCBOVUxMIH0sCS8qIGZvcmNlIC1ESEVTSU9EICovCisJCU5TX05JU19DQihfeXBfZ2V0aHRieWFkZHIsIE5VTEwpCisJCU5TX05VTExfQ0IKKwl9OworCisJX0RJQUdBU1NFUlQoYWRkciAhPSBOVUxMKTsKKworCWlmIChhZiA9PSBBRl9JTkVUNiAmJiBsZW4gPT0gTlNfSU42QUREUlNaICYmCisJICAgIChJTjZfSVNfQUREUl9MSU5LTE9DQUwoKGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqKWFkZHIpIHx8CisJICAgICBJTjZfSVNfQUREUl9TSVRFTE9DQUwoKGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqKWFkZHIpKSkgeworCQkqaGUgPSBIT1NUX05PVF9GT1VORDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmIChhZiA9PSBBRl9JTkVUNiAmJiBsZW4gPT0gTlNfSU42QUREUlNaICYmCisJICAgIChJTjZfSVNfQUREUl9WNE1BUFBFRCgoY29uc3Qgc3RydWN0IGluNl9hZGRyICopYWRkcikgfHwKKwkgICAgIElONl9JU19BRERSX1Y0Q09NUEFUKChjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKilhZGRyKSkpIHsKKwkJLyogVW5tYXAuICovCisJCXVhZGRyICs9IE5TX0lONkFERFJTWiAtIE5TX0lOQUREUlNaOworCQlhZGRyID0gdWFkZHI7CisJCWFmID0gQUZfSU5FVDsKKwkJbGVuID0gTlNfSU5BRERSU1o7CisJfQorCXN3aXRjaCAoYWYpIHsKKwljYXNlIEFGX0lORVQ6CisJCXNpemUgPSBOU19JTkFERFJTWjsKKwkJYnJlYWs7CisJY2FzZSBBRl9JTkVUNjoKKwkJc2l6ZSA9IE5TX0lONkFERFJTWjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJybm8gPSBFQUZOT1NVUFBPUlQ7CisJCSpoZSA9IE5FVERCX0lOVEVSTkFMOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKHNpemUgIT0gbGVuKSB7CisJCWVycm5vID0gRUlOVkFMOworCQkqaGUgPSBORVREQl9JTlRFUk5BTDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWluZm8uaHAgPSBocDsKKwlpbmZvLmJ1ZiA9IGJ1ZjsKKwlpbmZvLmJ1ZmxlbiA9IGJ1ZmxlbjsKKwlpbmZvLmhlID0gaGU7CisJKmhlID0gTkVUREJfSU5URVJOQUw7CisJaWYgKG5zZGlzcGF0Y2goJmluZm8sIGR0YWIsIE5TREJfSE9TVFMsICJnZXRob3N0YnlhZGRyIiwKKwkgICAgZGVmYXVsdF9kbnNfZmlsZXMsIHVhZGRyLCBsZW4sIGFmLCBuZXRpZCwgbWFyaykgIT0gTlNfU1VDQ0VTUykKKwkJcmV0dXJuIE5VTEw7CisJKmhlID0gTkVUREJfU1VDQ0VTUzsKKwlyZXR1cm4gaHA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaG9zdGVudCoKK2FuZHJvaWRfZ2V0aG9zdGJ5YWRkcmZvcm5ldF9wcm94eV9pbnRlcm5hbChjb25zdCB2b2lkKiBhZGRyLCBzb2NrbGVuX3QgbGVuLCBpbnQgYWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBob3N0ZW50ICpocCwgY2hhciAqaGJ1Ziwgc2l6ZV90IGhidWZsZW4sIGludCAqaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG5ldGlkLCB1bnNpZ25lZCBtYXJrKQoreworCUZJTEUqIHByb3h5ID0gYW5kcm9pZF9vcGVuX3Byb3h5KCk7CisJaWYgKHByb3h5ID09IE5VTEwpIHsKKwkJLy8gRWl0aGVyIHdlJ3JlIG5vdCBzdXBwb3NlZCB0byBiZSB1c2luZyB0aGUgcHJveHkgb3IgdGhlIHByb3h5IGlzIHVuYXZhaWxhYmxlLgorCQlyZXR1cm4gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3JlYWwoYWRkcixsZW4sIGFmLCBocCwgaGJ1ZiwgaGJ1ZmxlbiwgaGUsIG5ldGlkLCBtYXJrKTsKKwl9CisKKwljaGFyIGJ1ZltJTkVUNl9BRERSU1RSTEVOXTsgIC8vYmlnIGVub3VnaCBmb3IgSVB2NCBhbmQgSVB2NgorCWNvbnN0IGNoYXIgKiBhZGRyU3RyID0gaW5ldF9udG9wKGFmLCBhZGRyLCBidWYsIHNpemVvZihidWYpKTsKKwlpZiAoYWRkclN0ciA9PSBOVUxMKSB7CisJCWZjbG9zZShwcm94eSk7CisJCXJldHVybiBOVUxMOworCX0KKworCW5ldGlkID0gX19uZXRkQ2xpZW50RGlzcGF0Y2gubmV0SWRGb3JSZXNvbHYobmV0aWQpOworCisJaWYgKGZwcmludGYocHJveHksICJnZXRob3N0YnlhZGRyICVzICVkICVkICV1IiwKKwkJCWFkZHJTdHIsIGxlbiwgYWYsIG5ldGlkKSA8IDApIHsKKwkJZmNsb3NlKHByb3h5KTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaWYgKGZwdXRjKDAsIHByb3h5KSA9PSBFT0YgfHwgZmZsdXNoKHByb3h5KSAhPSAwKSB7CisJCWZjbG9zZShwcm94eSk7CisJCXJldHVybiBOVUxMOworCX0KKworCXN0cnVjdCBob3N0ZW50ICpyZXN1bHQgPSBhbmRyb2lkX3JlYWRfaG9zdGVudChwcm94eSwgaHAsIGhidWYsIGhidWZsZW4sIGhlKTsKKwlmY2xvc2UocHJveHkpOworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0cnVjdCBob3N0ZW50KgorbmV0YnNkX2dldGhvc3RlbnRfcihGSUxFICpoZiwgc3RydWN0IGhvc3RlbnQgKmhlbnQsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwgaW50ICpoZSkKK3sKKwljaGFyICpwLCAqbmFtZTsKKwljaGFyICpjcCwgKipxOworCWludCBhZiwgbGVuOworCXNpemVfdCBhbnVtOworCWNoYXIgKiphbGlhc2VzOworCXNpemVfdCBtYXhhbGlhc2VzOworCXN0cnVjdCBpbjZfYWRkciBob3N0X2FkZHI7CisKKwlpZiAoaGYgPT0gTlVMTCkgeworCQkqaGUgPSBORVREQl9JTlRFUk5BTDsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiBOVUxMOworCX0KKwlwID0gTlVMTDsKKwlzZXR1cChhbGlhc2VzLCBtYXhhbGlhc2VzKTsKKworCS8qIEFsbG9jYXRlIGEgbmV3IHNwYWNlIHRvIHJlYWQgZmlsZSBsaW5lcyBsaWtlIHVwc3RyZWFtIGRvZXMuCisJICogVG8ga2VlcCByZWVudHJhbmN5IHdlIGNhbm5vdCB1c2UgX19yZXNfZ2V0X3N0YXRpYygpLT5ob3N0YnVmIGhlcmUsCisJICogYXMgdGhlIGJ1ZmZlciBtYXkgYmUgdXNlZCB0byBzdG9yZSBjb250ZW50IGZvciBhIHByZXZpb3VzIGhvc3RlbnQKKwkgKiByZXR1cm5lZCBieSBub24tcmVlbnRyYW50IGZ1bmN0aW9ucyBsaWtlIGdldGhvc3RieW5hbWUoKS4KKwkgKi8KKwljb25zdCBzaXplX3QgbGluZV9idWZfc2l6ZSA9IHNpemVvZihfX3Jlc19nZXRfc3RhdGljKCktPmhvc3RidWYpOworCWlmICgocCA9IG1hbGxvYyhsaW5lX2J1Zl9zaXplKSkgPT0gTlVMTCkgeworCSAgZ290byBub3NwYzsKKwl9CisJZm9yICg7OykgeworCQlpZiAoIWZnZXRzKHAsIGxpbmVfYnVmX3NpemUsIGhmKSkgeworCQkJZnJlZShwKTsKKwkJCWZyZWUoYWxpYXNlcyk7CisJCQkqaGUgPSBIT1NUX05PVF9GT1VORDsKKwkJCXJldHVybiBOVUxMOworICAgIAkJfQorCQlpZiAoKnAgPT0gJyMnKSB7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIShjcCA9IHN0cnBicmsocCwgIiNcbiIpKSkgeworCQkJY29udGludWU7CisJCX0KKwkJKmNwID0gJ1wwJzsKKwkJaWYgKCEoY3AgPSBzdHJwYnJrKHAsICIgXHQiKSkpCisJCQljb250aW51ZTsKKwkJKmNwKysgPSAnXDAnOworCQlpZiAoaW5ldF9wdG9uKEFGX0lORVQ2LCBwLCAmaG9zdF9hZGRyKSA+IDApIHsKKwkJCWFmID0gQUZfSU5FVDY7CisJCQlsZW4gPSBOU19JTjZBRERSU1o7CisJCX0gZWxzZSB7CisJCQlpZiAoaW5ldF9wdG9uKEFGX0lORVQsIHAsICZob3N0X2FkZHIpIDw9IDApCisJCQkJY29udGludWU7CisKKwkJCXJlc19zdGF0ZSByZXMgPSBfX3Jlc19nZXRfc3RhdGUoKTsKKwkJCWlmIChyZXMgPT0gTlVMTCkKKwkJCQlnb3RvIG5vc3BjOworCQkJaWYgKHJlcy0+b3B0aW9ucyAmIFJFU19VU0VfSU5FVDYpIHsKKwkJCQltYXBfdjR2Nl9hZGRyZXNzKGJ1ZiwgYnVmKTsKKwkJCQlhZiA9IEFGX0lORVQ2OworCQkJCWxlbiA9IE5TX0lONkFERFJTWjsKKwkJCX0gZWxzZSB7CisJCQkJYWYgPSBBRl9JTkVUOworCQkJCWxlbiA9IE5TX0lOQUREUlNaOworCQkJfQorCQkJX19yZXNfcHV0X3N0YXRlKHJlcyk7CisJCX0KKworCQkvKiBpZiB0aGlzIGlzIG5vdCBzb21ldGhpbmcgd2UncmUgbG9va2luZyBmb3IsIHNraXAgaXQuICovCisJCWlmIChoZW50LT5oX2FkZHJ0eXBlICE9IDAgJiYgaGVudC0+aF9hZGRydHlwZSAhPSBhZikKKwkJCWNvbnRpbnVlOworCQlpZiAoaGVudC0+aF9sZW5ndGggIT0gMCAmJiBoZW50LT5oX2xlbmd0aCAhPSBsZW4pCisJCQljb250aW51ZTsKKworCQl3aGlsZSAoKmNwID09ICcgJyB8fCAqY3AgPT0gJ1x0JykKKwkJCWNwKys7CisJCWlmICgoY3AgPSBzdHJwYnJrKG5hbWUgPSBjcCwgIiBcdCIpKSAhPSBOVUxMKQorCQkJKmNwKysgPSAnXDAnOworCQlxID0gYWxpYXNlczsKKwkJd2hpbGUgKGNwICYmICpjcCkgeworCQkJaWYgKCpjcCA9PSAnICcgfHwgKmNwID09ICdcdCcpIHsKKwkJCQljcCsrOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJYWRkYWxpYXMocSwgY3AsIGFsaWFzZXMsIG1heGFsaWFzZXMpOworCQkJaWYgKChjcCA9IHN0cnBicmsoY3AsICIgXHQiKSkgIT0gTlVMTCkKKwkJCQkqY3ArKyA9ICdcMCc7CisJCX0KKwkJYnJlYWs7CisJfQorCWhlbnQtPmhfbGVuZ3RoID0gbGVuOworCWhlbnQtPmhfYWRkcnR5cGUgPSBhZjsKKwlIRU5UX0FSUkFZKGhlbnQtPmhfYWRkcl9saXN0LCAxLCBidWYsIGJ1Zmxlbik7CisJYW51bSA9IChzaXplX3QpKHEgLSBhbGlhc2VzKTsKKwlIRU5UX0FSUkFZKGhlbnQtPmhfYWxpYXNlcywgYW51bSwgYnVmLCBidWZsZW4pOworCUhFTlRfQ09QWShoZW50LT5oX2FkZHJfbGlzdFswXSwgJmhvc3RfYWRkciwgaGVudC0+aF9sZW5ndGgsIGJ1ZiwKKwkgICAgYnVmbGVuKTsKKwloZW50LT5oX2FkZHJfbGlzdFsxXSA9IE5VTEw7CisKKwlIRU5UX1NDT1BZKGhlbnQtPmhfbmFtZSwgbmFtZSwgYnVmLCBidWZsZW4pOworCWZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYW51bTsgaSsrKQorCQlIRU5UX1NDT1BZKGhlbnQtPmhfYWxpYXNlc1tpXSwgYWxpYXNlc1tpXSwgYnVmLCBidWZsZW4pOworCWhlbnQtPmhfYWxpYXNlc1thbnVtXSA9IE5VTEw7CisKKwkqaGUgPSBORVREQl9TVUNDRVNTOworCWZyZWUocCk7CisJZnJlZShhbGlhc2VzKTsKKwlyZXR1cm4gaGVudDsKK25vc3BjOgorCWZyZWUocCk7CisJZnJlZShhbGlhc2VzKTsKKwllcnJubyA9IEVOT1NQQzsKKwkqaGUgPSBORVREQl9JTlRFUk5BTDsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQKK21hcF92NHY2X2FkZHJlc3MoY29uc3QgY2hhciAqc3JjLCBjaGFyICpkc3QpCit7CisJdV9jaGFyICpwID0gKHVfY2hhciAqKWRzdDsKKwljaGFyIHRtcFtOU19JTkFERFJTWl07CisJaW50IGk7CisKKwlfRElBR0FTU0VSVChzcmMgIT0gTlVMTCk7CisJX0RJQUdBU1NFUlQoZHN0ICE9IE5VTEwpOworCisJLyogU3Rhc2ggYSB0ZW1wb3JhcnkgY29weSBzbyBvdXIgY2FsbGVyIGNhbiB1cGRhdGUgaW4gcGxhY2UuICovCisJKHZvaWQpbWVtY3B5KHRtcCwgc3JjLCBOU19JTkFERFJTWik7CisJLyogTWFyayB0aGlzIGlwdjYgYWRkciBhcyBhIG1hcHBlZCBpcHY0LiAqLworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorCQkqcCsrID0gMHgwMDsKKwkqcCsrID0gMHhmZjsKKwkqcCsrID0gMHhmZjsKKwkvKiBSZXRyaWV2ZSB0aGUgc2F2ZWQgY29weSBhbmQgd2UncmUgZG9uZS4gKi8KKwkodm9pZCltZW1jcHkocCwgdG1wLCBOU19JTkFERFJTWik7Cit9CisKK3N0YXRpYyB2b2lkCittYXBfdjR2Nl9ob3N0ZW50KHN0cnVjdCBob3N0ZW50ICpocCwgY2hhciAqKmJwcCwgY2hhciAqZXApCit7CisJY2hhciAqKmFwOworCisJX0RJQUdBU1NFUlQoaHAgIT0gTlVMTCk7CisJX0RJQUdBU1NFUlQoYnBwICE9IE5VTEwpOworCV9ESUFHQVNTRVJUKGVwICE9IE5VTEwpOworCisJaWYgKGhwLT5oX2FkZHJ0eXBlICE9IEFGX0lORVQgfHwgaHAtPmhfbGVuZ3RoICE9IE5TX0lOQUREUlNaKQorCQlyZXR1cm47CisJaHAtPmhfYWRkcnR5cGUgPSBBRl9JTkVUNjsKKwlocC0+aF9sZW5ndGggPSBOU19JTjZBRERSU1o7CisJZm9yIChhcCA9IGhwLT5oX2FkZHJfbGlzdDsgKmFwOyBhcCsrKSB7CisJCWludCBpID0gKGludCkoc2l6ZW9mKGFsaWduKSAtCisJCSAgICAoc2l6ZV90KSgodV9sb25nKSpicHAgJSBzaXplb2YoYWxpZ24pKSk7CisKKwkJaWYgKGVwIC0gKmJwcCA8IChpICsgTlNfSU42QUREUlNaKSkgeworCQkJLyogT3V0IG9mIG1lbW9yeS4gIFRydW5jYXRlIGFkZHJlc3MgbGlzdCBoZXJlLiAgWFhYICovCisJCQkqYXAgPSBOVUxMOworCQkJcmV0dXJuOworCQl9CisJCSpicHAgKz0gaTsKKwkJbWFwX3Y0djZfYWRkcmVzcygqYXAsICpicHApOworCQkqYXAgPSAqYnBwOworCQkqYnBwICs9IE5TX0lONkFERFJTWjsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCithZGRyc29ydChjaGFyICoqYXAsIGludCBudW0sIHJlc19zdGF0ZSByZXMpCit7CisJaW50IGksIGo7CisJY2hhciAqKnA7CisJc2hvcnQgYXZhbFtNQVhBRERSU107CisJaW50IG5lZWRzb3J0ID0gMDsKKworCV9ESUFHQVNTRVJUKGFwICE9IE5VTEwpOworCisJcCA9IGFwOworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKywgcCsrKSB7CisJICAgIGZvciAoaiA9IDAgOyAodW5zaWduZWQpaiA8IHJlcy0+bnNvcnQ7IGorKykKKwkJaWYgKHJlcy0+c29ydF9saXN0W2pdLmFkZHIuc19hZGRyID09CisJCSAgICAoKChzdHJ1Y3QgaW5fYWRkciAqKSh2b2lkICopKCpwKSktPnNfYWRkciAmCisJCSAgICByZXMtPnNvcnRfbGlzdFtqXS5tYXNrKSkKKwkJCWJyZWFrOworCSAgICBhdmFsW2ldID0gajsKKwkgICAgaWYgKG5lZWRzb3J0ID09IDAgJiYgaSA+IDAgJiYgaiA8IGF2YWxbaS0xXSkKKwkJbmVlZHNvcnQgPSBpOworCX0KKwlpZiAoIW5lZWRzb3J0KQorCSAgICByZXR1cm47CisKKwl3aGlsZSAobmVlZHNvcnQgPCBudW0pIHsKKwkgICAgZm9yIChqID0gbmVlZHNvcnQgLSAxOyBqID49IDA7IGotLSkgeworCQlpZiAoYXZhbFtqXSA+IGF2YWxbaisxXSkgeworCQkgICAgY2hhciAqaHA7CisKKwkJICAgIGkgPSBhdmFsW2pdOworCQkgICAgYXZhbFtqXSA9IGF2YWxbaisxXTsKKwkJICAgIGF2YWxbaisxXSA9IGk7CisKKwkJICAgIGhwID0gYXBbal07CisJCSAgICBhcFtqXSA9IGFwW2orMV07CisJCSAgICBhcFtqKzFdID0gaHA7CisJCX0gZWxzZQorCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgbmVlZHNvcnQrKzsKKwl9Cit9CisKKy8qQVJHU1VTRUQqLworc3RhdGljIGludAorX2Ruc19nZXRodGJ5bmFtZSh2b2lkICpydiwgdm9pZCAqY2JfZGF0YSwgdmFfbGlzdCBhcCkKK3sKKwlxdWVyeWJ1ZiAqYnVmOworCWludCBuLCB0eXBlOworCXN0cnVjdCBob3N0ZW50ICpocDsKKwljb25zdCBjaGFyICpuYW1lOworCXJlc19zdGF0ZSByZXM7CisJc3RydWN0IGdldG5hbWFkZHIgKmluZm8gPSBydjsKKworCV9ESUFHQVNTRVJUKHJ2ICE9IE5VTEwpOworCisJbmFtZSA9IHZhX2FyZyhhcCwgY2hhciAqKTsKKwkvKiBOT1NUUklDVCBza2lwIHN0cmluZyBsZW4gKi8odm9pZCl2YV9hcmcoYXAsIGludCk7CisJaW5mby0+aHAtPmhfYWRkcnR5cGUgPSB2YV9hcmcoYXAsIGludCk7CisKKwlzd2l0Y2ggKGluZm8tPmhwLT5oX2FkZHJ0eXBlKSB7CisJY2FzZSBBRl9JTkVUOgorCQlpbmZvLT5ocC0+aF9sZW5ndGggPSBOU19JTkFERFJTWjsKKwkJdHlwZSA9IFRfQTsKKwkJYnJlYWs7CisJY2FzZSBBRl9JTkVUNjoKKwkJaW5mby0+aHAtPmhfbGVuZ3RoID0gTlNfSU42QUREUlNaOworCQl0eXBlID0gVF9BQUFBOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gTlNfVU5BVkFJTDsKKwl9CisJYnVmID0gbWFsbG9jKHNpemVvZigqYnVmKSk7CisJaWYgKGJ1ZiA9PSBOVUxMKSB7CisJCSppbmZvLT5oZSA9IE5FVERCX0lOVEVSTkFMOworCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJfQorCXJlcyA9IF9fcmVzX2dldF9zdGF0ZSgpOworCWlmIChyZXMgPT0gTlVMTCkgeworCQlmcmVlKGJ1Zik7CisJCXJldHVybiBOU19OT1RGT1VORDsKKwl9CisJbiA9IHJlc19uc2VhcmNoKHJlcywgbmFtZSwgQ19JTiwgdHlwZSwgYnVmLT5idWYsIChpbnQpc2l6ZW9mKGJ1Zi0+YnVmKSk7CisJaWYgKG4gPCAwKSB7CisJCWZyZWUoYnVmKTsKKwkJZGVidWdwcmludGYoInJlc19uc2VhcmNoIGZhaWxlZCAoJWQpXG4iLCByZXMsIG4pOworCQlfX3Jlc19wdXRfc3RhdGUocmVzKTsKKwkJcmV0dXJuIE5TX05PVEZPVU5EOworCX0KKwlocCA9IGdldGFuc3dlcihidWYsIG4sIG5hbWUsIHR5cGUsIHJlcywgaW5mby0+aHAsIGluZm8tPmJ1ZiwKKwkgICAgaW5mby0+YnVmbGVuLCBpbmZvLT5oZSk7CisJZnJlZShidWYpOworCV9fcmVzX3B1dF9zdGF0ZShyZXMpOworCWlmIChocCA9PSBOVUxMKQorCQlzd2l0Y2ggKCppbmZvLT5oZSkgeworCQljYXNlIEhPU1RfTk9UX0ZPVU5EOgorCQkJcmV0dXJuIE5TX05PVEZPVU5EOworCQljYXNlIFRSWV9BR0FJTjoKKwkJCXJldHVybiBOU19UUllBR0FJTjsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBOU19VTkFWQUlMOworCQl9CisJcmV0dXJuIE5TX1NVQ0NFU1M7Cit9CisKKy8qQVJHU1VTRUQqLworc3RhdGljIGludAorX2Ruc19nZXRodGJ5YWRkcih2b2lkICpydiwgdm9pZAkqY2JfZGF0YSwgdmFfbGlzdCBhcCkKK3sKKwljaGFyIHFidWZbTUFYRE5BTUUgKyAxXSwgKnFwLCAqZXA7CisJaW50IG47CisJcXVlcnlidWYgKmJ1ZjsKKwlzdHJ1Y3QgaG9zdGVudCAqaHA7CisJY29uc3QgdW5zaWduZWQgY2hhciAqdWFkZHI7CisJaW50IGFkdmFuY2U7CisJcmVzX3N0YXRlIHJlczsKKwljaGFyICpiZjsKKwlzaXplX3QgYmxlbjsKKwlzdHJ1Y3QgZ2V0bmFtYWRkciAqaW5mbyA9IHJ2OworCXVuc2lnbmVkIG5ldGlkLCBtYXJrOworCisJX0RJQUdBU1NFUlQocnYgIT0gTlVMTCk7CisKKwl1YWRkciA9IHZhX2FyZyhhcCwgdW5zaWduZWQgY2hhciAqKTsKKwlpbmZvLT5ocC0+aF9sZW5ndGggPSB2YV9hcmcoYXAsIGludCk7CisJaW5mby0+aHAtPmhfYWRkcnR5cGUgPSB2YV9hcmcoYXAsIGludCk7CisJbmV0aWQgPSB2YV9hcmcoYXAsIHVuc2lnbmVkKTsKKwltYXJrID0gdmFfYXJnKGFwLCB1bnNpZ25lZCk7CisKKwlzd2l0Y2ggKGluZm8tPmhwLT5oX2FkZHJ0eXBlKSB7CisJY2FzZSBBRl9JTkVUOgorCQkodm9pZClzbnByaW50ZihxYnVmLCBzaXplb2YocWJ1ZiksICIldS4ldS4ldS4ldS5pbi1hZGRyLmFycGEiLAorCQkgICAgKHVhZGRyWzNdICYgMHhmZiksICh1YWRkclsyXSAmIDB4ZmYpLAorCQkgICAgKHVhZGRyWzFdICYgMHhmZiksICh1YWRkclswXSAmIDB4ZmYpKTsKKwkJYnJlYWs7CisKKwljYXNlIEFGX0lORVQ2OgorCQlxcCA9IHFidWY7CisJCWVwID0gcWJ1ZiArIHNpemVvZihxYnVmKSAtIDE7CisJCWZvciAobiA9IE5TX0lONkFERFJTWiAtIDE7IG4gPj0gMDsgbi0tKSB7CisJCQlhZHZhbmNlID0gc25wcmludGYocXAsIChzaXplX3QpKGVwIC0gcXApLCAiJXguJXguIiwKKwkJCSAgICB1YWRkcltuXSAmIDB4ZiwKKwkJCSAgICAoKHVuc2lnbmVkIGludCl1YWRkcltuXSA+PiA0KSAmIDB4Zik7CisJCQlpZiAoYWR2YW5jZSA+IDAgJiYgcXAgKyBhZHZhbmNlIDwgZXApCisJCQkJcXAgKz0gYWR2YW5jZTsKKwkJCWVsc2UgeworCQkJCSppbmZvLT5oZSA9IE5FVERCX0lOVEVSTkFMOworCQkJCXJldHVybiBOU19OT1RGT1VORDsKKwkJCX0KKwkJfQorCQlpZiAoc3RybGNhdChxYnVmLCAiaXA2LmFycGEiLCBzaXplb2YocWJ1ZikpID49IHNpemVvZihxYnVmKSkgeworCQkJKmluZm8tPmhlID0gTkVUREJfSU5URVJOQUw7CisJCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJCX0KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIE5TX1VOQVZBSUw7CisJfQorCisJYnVmID0gbWFsbG9jKHNpemVvZigqYnVmKSk7CisJaWYgKGJ1ZiA9PSBOVUxMKSB7CisJCSppbmZvLT5oZSA9IE5FVERCX0lOVEVSTkFMOworCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJfQorCXJlcyA9IF9fcmVzX2dldF9zdGF0ZSgpOworCWlmIChyZXMgPT0gTlVMTCkgeworCQlmcmVlKGJ1Zik7CisJCXJldHVybiBOU19OT1RGT1VORDsKKwl9CisJcmVzX3NldG5ldGlkKHJlcywgbmV0aWQpOworCXJlc19zZXRtYXJrKHJlcywgbWFyayk7CisJbiA9IHJlc19ucXVlcnkocmVzLCBxYnVmLCBDX0lOLCBUX1BUUiwgYnVmLT5idWYsIChpbnQpc2l6ZW9mKGJ1Zi0+YnVmKSk7CisJaWYgKG4gPCAwKSB7CisJCWZyZWUoYnVmKTsKKwkJZGVidWdwcmludGYoInJlc19ucXVlcnkgZmFpbGVkICglZClcbiIsIHJlcywgbik7CisJCV9fcmVzX3B1dF9zdGF0ZShyZXMpOworCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJfQorCWhwID0gZ2V0YW5zd2VyKGJ1ZiwgbiwgcWJ1ZiwgVF9QVFIsIHJlcywgaW5mby0+aHAsIGluZm8tPmJ1ZiwKKwkgICAgaW5mby0+YnVmbGVuLCBpbmZvLT5oZSk7CisJZnJlZShidWYpOworCWlmIChocCA9PSBOVUxMKSB7CisJCV9fcmVzX3B1dF9zdGF0ZShyZXMpOworCQlzd2l0Y2ggKCppbmZvLT5oZSkgeworCQljYXNlIEhPU1RfTk9UX0ZPVU5EOgorCQkJcmV0dXJuIE5TX05PVEZPVU5EOworCQljYXNlIFRSWV9BR0FJTjoKKwkJCXJldHVybiBOU19UUllBR0FJTjsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBOU19VTkFWQUlMOworCQl9CisJfQorCisJYmYgPSAodm9pZCAqKShocC0+aF9hZGRyX2xpc3QgKyAyKTsKKwlibGVuID0gKHNpemVfdCkoYmYgLSBpbmZvLT5idWYpOworCWlmIChibGVuICsgaW5mby0+aHAtPmhfbGVuZ3RoID4gaW5mby0+YnVmbGVuKQorCQlnb3RvIG5vc3BjOworCWhwLT5oX2FkZHJfbGlzdFswXSA9IGJmOworCWhwLT5oX2FkZHJfbGlzdFsxXSA9IE5VTEw7CisJKHZvaWQpbWVtY3B5KGJmLCB1YWRkciwgKHNpemVfdClpbmZvLT5ocC0+aF9sZW5ndGgpOworCWlmIChpbmZvLT5ocC0+aF9hZGRydHlwZSA9PSBBRl9JTkVUICYmIChyZXMtPm9wdGlvbnMgJiBSRVNfVVNFX0lORVQ2KSkgeworCQlpZiAoYmxlbiArIE5TX0lONkFERFJTWiA+IGluZm8tPmJ1ZmxlbikKKwkJCWdvdG8gbm9zcGM7CisJCW1hcF92NHY2X2FkZHJlc3MoYmYsIGJmKTsKKwkJaHAtPmhfYWRkcnR5cGUgPSBBRl9JTkVUNjsKKwkJaHAtPmhfbGVuZ3RoID0gTlNfSU42QUREUlNaOworCX0KKworCV9fcmVzX3B1dF9zdGF0ZShyZXMpOworCSppbmZvLT5oZSA9IE5FVERCX1NVQ0NFU1M7CisJcmV0dXJuIE5TX1NVQ0NFU1M7Citub3NwYzoKKwllcnJubyA9IEVOT1NQQzsKKwkqaW5mby0+aGUgPSBORVREQl9JTlRFUk5BTDsKKwlyZXR1cm4gTlNfVU5BVkFJTDsKK30KKworI2lmZGVmIFlQCisvKkFSR1NVU0VEKi8KK3N0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCitfeXBfaG9zdGVudChjaGFyICpsaW5lLCBpbnQgYWYsIHN0cnVjdCBnZXRuYW1hZGRyICppbmZvKQoreworCXN0cnVjdCBpbjZfYWRkciBob3N0X2FkZHJzW01BWEFERFJTXTsKKwljaGFyICoqYWxpYXNlczsKKwlzaXplX3QgbWF4YWxpYXNlczsKKwljaGFyICpwID0gbGluZTsKKwljaGFyICpjcCwgKipxLCAqcHRyOworCXNpemVfdCBsZW4sIGFudW0sIGk7CisJaW50IGFkZHJvazsKKwlpbnQgbW9yZTsKKwlzaXplX3QgbmFkZHJzOworCXN0cnVjdCBob3N0ZW50ICpocCA9IGluZm8tPmhwOworCisJX0RJQUdBU1NFUlQobGluZSAhPSBOVUxMKTsKKworCWhwLT5oX25hbWUgPSBOVUxMOworCWhwLT5oX2FkZHJ0eXBlID0gYWY7CisJc3dpdGNoIChhZikgeworCWNhc2UgQUZfSU5FVDoKKwkJaHAtPmhfbGVuZ3RoID0gTlNfSU5BRERSU1o7CisJCWJyZWFrOworCWNhc2UgQUZfSU5FVDY6CisJCWhwLT5oX2xlbmd0aCA9IE5TX0lONkFERFJTWjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIE5VTEw7CisJfQorCXNldHVwKGFsaWFzZXMsIG1heGFsaWFzZXMpOworCW5hZGRycyA9IDA7CisJcSA9IGFsaWFzZXM7CisKK25leHRsaW5lOgorCS8qIGNoZWNrIGZvciBob3N0X2FkZHJzIG92ZXJmbG93ICovCisJaWYgKG5hZGRycyA+PSBfX2FycmF5Y291bnQoaG9zdF9hZGRycykpCisJCWdvdG8gZG9uZTsKKworCW1vcmUgPSAwOworCWNwID0gc3RycGJyayhwLCAiIFx0Iik7CisJaWYgKGNwID09IE5VTEwpCisJCWdvdG8gZG9uZTsKKwkqY3ArKyA9ICdcMCc7CisKKwkvKiBwIGhhcyBzaG91bGQgaGF2ZSBhbiBhZGRyZXNzICovCisJYWRkcm9rID0gaW5ldF9wdG9uKGFmLCBwLCAmaG9zdF9hZGRyc1tuYWRkcnNdKTsKKwlpZiAoYWRkcm9rICE9IDEpIHsKKwkJLyogc2tpcCB0byB0aGUgbmV4dCBsaW5lICovCisJCXdoaWxlIChjcCAmJiAqY3ApIHsKKwkJCWlmICgqY3AgPT0gJ1xuJykgeworCQkJCWNwKys7CisJCQkJZ290byBuZXh0bGluZTsKKwkJCX0KKwkJCWNwKys7CisJCX0KKwkJZ290byBkb25lOworCX0KKwluYWRkcnMrKzsKKworCXdoaWxlICgqY3AgPT0gJyAnIHx8ICpjcCA9PSAnXHQnKQorCQljcCsrOworCXAgPSBjcDsKKwljcCA9IHN0cnBicmsocCwgIiBcdFxuIik7CisJaWYgKGNwICE9IE5VTEwpIHsKKwkJaWYgKCpjcCA9PSAnXG4nKQorCQkJbW9yZSA9IDE7CisJCSpjcCsrID0gJ1wwJzsKKwl9CisJaWYgKCFocC0+aF9uYW1lKQorCQlocC0+aF9uYW1lID0gcDsKKwllbHNlIGlmIChzdHJjbXAoaHAtPmhfbmFtZSwgcCkgPT0gMCkKKwkJOworCWVsc2UKKwkJYWRkYWxpYXMocSwgcCwgYWxpYXNlcywgbWF4YWxpYXNlcyk7CisJcCA9IGNwOworCWlmIChtb3JlKQorCQlnb3RvIG5leHRsaW5lOworCisJd2hpbGUgKGNwICYmICpjcCkgeworCQlpZiAoKmNwID09ICcgJyB8fCAqY3AgPT0gJ1x0JykgeworCQkJY3ArKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICgqY3AgPT0gJ1xuJykgeworCQkJY3ArKzsKKwkJCWdvdG8gbmV4dGxpbmU7CisJCX0KKwkJYWRkYWxpYXMocSwgY3AsIGFsaWFzZXMsIG1heGFsaWFzZXMpOworCQljcCA9IHN0cnBicmsoY3AsICIgXHQiKTsKKwkJaWYgKGNwICE9IE5VTEwpCisJCQkqY3ArKyA9ICdcMCc7CisJfQorCitkb25lOgorCWlmIChocC0+aF9uYW1lID09IE5VTEwpIHsKKwkJZnJlZShhbGlhc2VzKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcHRyID0gaW5mby0+YnVmOworCWxlbiA9IGluZm8tPmJ1ZmxlbjsKKworCWFudW0gPSAoc2l6ZV90KShxIC0gYWxpYXNlcyk7CisJSEVOVF9BUlJBWShocC0+aF9hZGRyX2xpc3QsIG5hZGRycywgcHRyLCBsZW4pOworCUhFTlRfQVJSQVkoaHAtPmhfYWxpYXNlcywgYW51bSwgcHRyLCBsZW4pOworCisJZm9yIChpID0gMDsgaSA8IG5hZGRyczsgaSsrKQorCQlIRU5UX0NPUFkoaHAtPmhfYWRkcl9saXN0W2ldLCAmaG9zdF9hZGRyc1tpXSwgaHAtPmhfbGVuZ3RoLAorCQkgICAgcHRyLCBsZW4pOworCWhwLT5oX2FkZHJfbGlzdFtuYWRkcnNdID0gTlVMTDsKKworCUhFTlRfU0NPUFkoaHAtPmhfbmFtZSwgaHAtPmhfbmFtZSwgcHRyLCBsZW4pOworCisJZm9yIChpID0gMDsgaSA8IGFudW07IGkrKykKKwkJSEVOVF9TQ09QWShocC0+aF9hbGlhc2VzW2ldLCBhbGlhc2VzW2ldLCBwdHIsIGxlbik7CisJaHAtPmhfYWxpYXNlc1thbnVtXSA9IE5VTEw7CisJZnJlZShhbGlhc2VzKTsKKworCXJldHVybiBocDsKK25vc3BjOgorCWZyZWUoYWxpYXNlcyk7CisJKmluZm8tPmhlID0gTkVUREJfSU5URVJOQUw7CisJZXJybm8gPSBFTk9TUEM7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qQVJHU1VTRUQqLworaW50CitfeXBfZ2V0aHRieWFkZHIodm9pZCAqcnYsIHZvaWQgKmNiX2RhdGEsIHZhX2xpc3QgYXApCit7CisJc3RydWN0IGhvc3RlbnQgKmhwID0gTlVMTDsKKwljaGFyICp5cGN1cnJlbnQ7CisJaW50IHlwY3VycmVudGxlbiwgcjsKKwljaGFyIG5hbWVbSU5FVDZfQUREUlNUUkxFTl07CS8qIFhYWCBlbm91Z2g/ICovCisJY29uc3QgdW5zaWduZWQgY2hhciAqdWFkZHI7CisJaW50IGFmOworCWNvbnN0IGNoYXIgKm1hcDsKKwlzdHJ1Y3QgZ2V0bmFtYWRkciAqaW5mbyA9IHJ2OworCisJX0RJQUdBU1NFUlQocnYgIT0gTlVMTCk7CisKKwl1YWRkciA9IHZhX2FyZyhhcCwgdW5zaWduZWQgY2hhciAqKTsKKwkvKiBOT1NUUklDVCBza2lwIGxlbiAqLyh2b2lkKXZhX2FyZyhhcCwgaW50KTsKKwlhZiA9IHZhX2FyZyhhcCwgaW50KTsKKworCWlmICghX195cGRvbWFpbikgeworCQlpZiAoX3lwX2NoZWNrKCZfX3lwZG9tYWluKSA9PSAwKQorCQkJcmV0dXJuIE5TX1VOQVZBSUw7CisJfQorCS8qCisJICogWFhYIHVuZm9ydHVuYXRlbHksIHdlIGNhbm5vdCBzdXBwb3J0IElQdjYgZXh0ZW5kZWQgc2NvcGVkIGFkZHJlc3MKKwkgKiBub3RhdGlvbiBoZXJlLiAgZ2V0aG9zdGJ5YWRkcigpIGlzIG5vdCBzY29wZS1hd2FyZS4gIHRvbyBiYWQuCisJICovCisJaWYgKGluZXRfbnRvcChhZiwgdWFkZHIsIG5hbWUsIChzb2NrbGVuX3Qpc2l6ZW9mKG5hbWUpKSA9PSBOVUxMKQorCQlyZXR1cm4gTlNfVU5BVkFJTDsKKwlzd2l0Y2ggKGFmKSB7CisJY2FzZSBBRl9JTkVUOgorCQltYXAgPSAiaG9zdHMuYnlhZGRyIjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJbWFwID0gImlwbm9kZXMuYnlhZGRyIjsKKwkJYnJlYWs7CisJfQorCXlwY3VycmVudCA9IE5VTEw7CisJciA9IHlwX21hdGNoKF9feXBkb21haW4sIG1hcCwgbmFtZSwKKwkJKGludClzdHJsZW4obmFtZSksICZ5cGN1cnJlbnQsICZ5cGN1cnJlbnRsZW4pOworCWlmIChyID09IDApCisJCWhwID0gX3lwX2hvc3RlbnQoeXBjdXJyZW50LCBhZiwgaW5mbyk7CisJZWxzZQorCQlocCA9IE5VTEw7CisJZnJlZSh5cGN1cnJlbnQpOworCWlmIChocCA9PSBOVUxMKSB7CisJCSppbmZvLT5oZSA9IEhPU1RfTk9UX0ZPVU5EOworCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJfQorCXJldHVybiBOU19TVUNDRVNTOworfQorCisvKkFSR1NVU0VEKi8KK2ludAorX3lwX2dldGh0YnluYW1lKHZvaWQgKnJ2LCB2b2lkICpjYl9kYXRhLCB2YV9saXN0IGFwKQoreworCXN0cnVjdCBob3N0ZW50ICpocDsKKwljaGFyICp5cGN1cnJlbnQ7CisJaW50IHlwY3VycmVudGxlbiwgcjsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBhZjsKKwljb25zdCBjaGFyICptYXA7CisJc3RydWN0IGdldG5hbWFkZHIgKmluZm8gPSBydjsKKworCV9ESUFHQVNTRVJUKHJ2ICE9IE5VTEwpOworCisJbmFtZSA9IHZhX2FyZyhhcCwgY2hhciAqKTsKKwkvKiBOT1NUUklDVCBza2lwIHN0cmluZyBsZW4gKi8odm9pZCl2YV9hcmcoYXAsIGludCk7CisJYWYgPSB2YV9hcmcoYXAsIGludCk7CisKKwlpZiAoIV9feXBkb21haW4pIHsKKwkJaWYgKF95cF9jaGVjaygmX195cGRvbWFpbikgPT0gMCkKKwkJCXJldHVybiBOU19VTkFWQUlMOworCX0KKwlzd2l0Y2ggKGFmKSB7CisJY2FzZSBBRl9JTkVUOgorCQltYXAgPSAiaG9zdHMuYnluYW1lIjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJbWFwID0gImlwbm9kZXMuYnluYW1lIjsKKwkJYnJlYWs7CisJfQorCXlwY3VycmVudCA9IE5VTEw7CisJciA9IHlwX21hdGNoKF9feXBkb21haW4sIG1hcCwgbmFtZSwKKwkJKGludClzdHJsZW4obmFtZSksICZ5cGN1cnJlbnQsICZ5cGN1cnJlbnRsZW4pOworCWlmIChyID09IDApCisJCWhwID0gX3lwX2hvc3RlbnQoeXBjdXJyZW50LCBhZiwgaW5mbyk7CisJZWxzZQorCQlocCA9IE5VTEw7CisJZnJlZSh5cGN1cnJlbnQpOworCWlmIChocCA9PSBOVUxMKSB7CisJCSppbmZvLT5oZSA9IEhPU1RfTk9UX0ZPVU5EOworCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJfQorCXJldHVybiBOU19TVUNDRVNTOworfQorI2VuZGlmCisKKy8qCisgKiBOb24tcmVlbnRyYW50IHZlcnNpb25zLgorICovCisKK3N0cnVjdCBob3N0ZW50ICoKK2dldGhvc3RieW5hbWUoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgaG9zdGVudCAqcmVzdWx0ID0gTlVMTDsKKwlyZXNfc3RhdGljIHJzID0gX19yZXNfZ2V0X3N0YXRpYygpOyAvKiBVc2UgcmVzX3N0YXRpYyB0byBwcm92aWRlIHRocmVhZC1zYWZldHkuICovCisKKwlnZXRob3N0YnluYW1lX3IobmFtZSwgJnJzLT5ob3N0LCBycy0+aG9zdGJ1Ziwgc2l6ZW9mKHJzLT5ob3N0YnVmKSwgJnJlc3VsdCwgJmhfZXJybm8pOworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0cnVjdCBob3N0ZW50ICoKK2dldGhvc3RieW5hbWUyKGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZikKK3sKKwlzdHJ1Y3QgaG9zdGVudCAqcmVzdWx0ID0gTlVMTDsKKwlyZXNfc3RhdGljIHJzID0gX19yZXNfZ2V0X3N0YXRpYygpOyAvKiBVc2UgcmVzX3N0YXRpYyB0byBwcm92aWRlIHRocmVhZC1zYWZldHkuICovCisKKwlnZXRob3N0YnluYW1lMl9yKG5hbWUsIGFmLCAmcnMtPmhvc3QsIHJzLT5ob3N0YnVmLCBzaXplb2YocnMtPmhvc3RidWYpLCAmcmVzdWx0LCAmaF9lcnJubyk7CisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RydWN0IGhvc3RlbnQgKgorYW5kcm9pZF9nZXRob3N0YnluYW1lZm9ybmV0KGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZiwgdW5zaWduZWQgbmV0aWQsIHVuc2lnbmVkIG1hcmspCit7CisJc3RydWN0IGhvc3RlbnQgKmhwOworCXJlc19zdGF0ZSByZXMgPSBfX3Jlc19nZXRfc3RhdGUoKTsKKwlpZiAocmVzID09IE5VTEwpCisJCXJldHVybiBOVUxMOworCXJlc19zdGF0aWMgcnMgPSBfX3Jlc19nZXRfc3RhdGljKCk7IC8qIFVzZSByZXNfc3RhdGljIHRvIHByb3ZpZGUgdGhyZWFkLXNhZmV0eS4gKi8KKwlocCA9IGdldGhvc3RieW5hbWVfaW50ZXJuYWwobmFtZSwgYWYsIHJlcywgJnJzLT5ob3N0LCBycy0+aG9zdGJ1Ziwgc2l6ZW9mKHJzLT5ob3N0YnVmKSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhfZXJybm8sIG5ldGlkLCBtYXJrKTsKKwlfX3Jlc19wdXRfc3RhdGUocmVzKTsKKwlyZXR1cm4gaHA7Cit9CisKK3N0cnVjdCBob3N0ZW50ICoKK2dldGhvc3RieWFkZHIoY29uc3Qgdm9pZCAqYWRkciwgc29ja2xlbl90IGxlbiwgaW50IGFmKQoreworCXJldHVybiBhbmRyb2lkX2dldGhvc3RieWFkZHJmb3JuZXRfcHJveHkoYWRkciwgbGVuLCBhZiwgTkVUSURfVU5TRVQsIE1BUktfVU5TRVQpOworfQorCitzdHJ1Y3QgaG9zdGVudCAqCithbmRyb2lkX2dldGhvc3RieWFkZHJmb3JuZXQoY29uc3Qgdm9pZCAqYWRkciwgc29ja2xlbl90IGxlbiwgaW50IGFmLCB1bnNpZ25lZCBuZXRpZCwgdW5zaWduZWQgbWFyaykKK3sKKwlyZXR1cm4gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5KGFkZHIsIGxlbiwgYWYsIG5ldGlkLCBtYXJrKTsKK30KKworX19MSUJDX0hJRERFTl9fIHN0cnVjdCBob3N0ZW50KgorYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5KGNvbnN0IHZvaWQqIGFkZHIsIHNvY2tsZW5fdCBsZW4sIGludCBhZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBuZXRpZCwgdW5zaWduZWQgbWFyaykKK3sKKwlyZXNfc3RhdGljIHJzID0gX19yZXNfZ2V0X3N0YXRpYygpOyAvKiBVc2UgcmVzX3N0YXRpYyB0byBwcm92aWRlIHRocmVhZC1zYWZldHkuICovCisJcmV0dXJuIGFuZHJvaWRfZ2V0aG9zdGJ5YWRkcmZvcm5ldF9wcm94eV9pbnRlcm5hbChhZGRyLCBsZW4sIGFmLCAmcnMtPmhvc3QsIHJzLT5ob3N0YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihycy0+aG9zdGJ1ZiksICZoX2Vycm5vLCBuZXRpZCwgbWFyayk7Cit9CisKK3N0cnVjdCBob3N0ZW50ICoKK2dldGhvc3RlbnQodm9pZCkKK3sKKyAgcmVzX3N0YXRpYyAgcnMgPSBfX3Jlc19nZXRfc3RhdGljKCk7CisJaWYgKCFycy0+aG9zdGYpIHsKKwkgIHNldGhvc3RlbnRfcigmcnMtPmhvc3RmKTsKKwkgIGlmICghcnMtPmhvc3RmKSB7CisJICAgIGhfZXJybm8gPSBORVREQl9JTlRFUk5BTDsKKwkgICAgcmV0dXJuIE5VTEw7CisJICB9CisJfQorCW1lbXNldCgmcnMtPmhvc3QsIDAsIHNpemVvZihycy0+aG9zdCkpOworCXJldHVybiBuZXRic2RfZ2V0aG9zdGVudF9yKHJzLT5ob3N0ZiwgJnJzLT5ob3N0LCBycy0+aG9zdGJ1Ziwgc2l6ZW9mKHJzLT5ob3N0YnVmKSwgJmhfZXJybm8pOworfQpkaWZmIC0tZ2l0IGEvbGliYy9kbnMvbmV0L2dldG5hbWVpbmZvLmMgYi9saWJjL2Rucy9uZXQvZ2V0bmFtZWluZm8uYwppbmRleCBiOWMwMjgwLi44OTNlOTgyIDEwMDY0NAotLS0gYS9saWJjL2Rucy9uZXQvZ2V0bmFtZWluZm8uYworKysgYi9saWJjL2Rucy9uZXQvZ2V0bmFtZWluZm8uYwpAQCAtMzAzLDcgKzMwMyw3IEBACiAJCQlicmVhazsKIAkJfQogCX0gZWxzZSB7Ci0JCWhwID0gYW5kcm9pZF9nZXRob3N0YnlhZGRyZm9ybmV0X3Byb3h5KGFkZHIsIGFmZC0+YV9hZGRybGVuLCBhZmQtPmFfYWYsIG5ldGlkKTsKKwkJaHAgPSBhbmRyb2lkX2dldGhvc3RieWFkZHJmb3JuZXRfcHJveHkoYWRkciwgYWZkLT5hX2FkZHJsZW4sIGFmZC0+YV9hZiwgbmV0aWQsIG1hcmspOwogCQlpZiAoaHApIHsKICNpZiAwCiAJCQkvKgpkaWZmIC0tZ2l0IGEvbGliYy9kbnMvbmV0L2dldHNlcnZieW5hbWUuYyBiL2xpYmMvZG5zL25ldC9nZXRzZXJ2YnluYW1lLmMKaW5kZXggYzk1YzliMC4uYzMyNDE2YyAxMDA2NDQKLS0tIGEvbGliYy9kbnMvbmV0L2dldHNlcnZieW5hbWUuYworKysgYi9saWJjL2Rucy9uZXQvZ2V0c2VydmJ5bmFtZS5jCkBAIC0yNSwyOSArMjUsMTkgQEAKICAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogICogU1VDSCBEQU1BR0UuCiAgKi8KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKwogI2luY2x1ZGUgPG5ldGRiLmg+CisKICNpbmNsdWRlICJzZXJ2ZW50LmgiCiAKLXN0cnVjdCBzZXJ2ZW50ICoKLWdldHNlcnZieW5hbWUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcHJvdG8pCi17Ci0gICAgcmVzX3N0YXRpYyAgICAgICBycyA9IF9fcmVzX2dldF9zdGF0aWMoKTsKLQotICAgIGlmIChycyA9PSBOVUxMIHx8IHByb3RvID09IE5VTEwgfHwgbmFtZSA9PSBOVUxMKSB7Ci0gICAgICAgIGVycm5vID0gRUlOVkFMOwotICAgICAgICByZXR1cm4gTlVMTDsKK3N0cnVjdCBzZXJ2ZW50KiBnZXRzZXJ2YnluYW1lKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIHByb3RvKSB7CisgIHJlc19zdGF0aWMgcnMgPSBfX3Jlc19nZXRfc3RhdGljKCk7CisgIHJzLT5zZXJ2ZW50X3B0ciA9IE5VTEw7CisgIHN0cnVjdCBzZXJ2ZW50KiBzOworICB3aGlsZSAoKHMgPSBnZXRzZXJ2ZW50X3IocnMpKSAhPSBOVUxMKSB7CisgICAgaWYgKHN0cmNtcChzLT5zX25hbWUsIG5hbWUpID09IDAgJiYgKHByb3RvID09IE5VTEwgfHwgc3RyY21wKHMtPnNfcHJvdG8sIHByb3RvKSA9PSAwKSkgeworICAgICAgcmV0dXJuIHM7CiAgICAgfQotCi0gICAgcnMtPnNlcnZlbnRfcHRyID0gTlVMTDsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBzdHJ1Y3Qgc2VydmVudCogIHMgPSBnZXRzZXJ2ZW50X3IocnMpOwotICAgICAgICBpZiAocyA9PSBOVUxMKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmICggIXN0cmNtcCggcy0+c19uYW1lLCBuYW1lICkgJiYgIXN0cmNtcCggcy0+c19wcm90bywgcHJvdG8gKSApCi0gICAgICAgICAgICByZXR1cm4gczsKLSAgICB9Ci0KLSAgICByZXR1cm4gTlVMTDsKKyAgfQorICByZXR1cm4gTlVMTDsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvZG5zL25ldC9nZXRzZXJ2ZW50LmMgYi9saWJjL2Rucy9uZXQvZ2V0c2VydmVudC5jCmluZGV4IDlmNmVjMzIuLjBhNzI3YzcgMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL25ldC9nZXRzZXJ2ZW50LmMKKysrIGIvbGliYy9kbnMvbmV0L2dldHNlcnZlbnQuYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPGVuZGlhbi5oPgorI2luY2x1ZGUgPG1hbGxvYy5oPgogI2luY2x1ZGUgPG5ldGRiLmg+CiAjaW5jbHVkZSAic2VydmVudC5oIgogI2luY2x1ZGUgInNlcnZpY2VzLmgiCmRpZmYgLS1naXQgYS9saWJjL2Rucy9uZXQvbnNkaXNwYXRjaC5jIGIvbGliYy9kbnMvbmV0L25zZGlzcGF0Y2guYwppbmRleCBmYjZkOGY2Li5kMDI1NTkyIDEwMDY0NAotLS0gYS9saWJjL2Rucy9uZXQvbnNkaXNwYXRjaC5jCisrKyBiL2xpYmMvZG5zL25ldC9uc2Rpc3BhdGNoLmMKQEAgLTcxLDYgKzcxLDcgQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIAogI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8bnNzd2l0Y2guaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRlIDxzdHJpbmdzLmg+CkBAIC0xMzMsNiArMTM0LDEwIEBACiAJCQkJY29udGludWU7CiAJCQlpZiAocmVzdWx0ICYgc3JjbGlzdFtpXS5mbGFncykKIAkJCQlicmVhazsKKwkJCS8qIFN0b3AgdHJ5aW5nIG5leHQgcmVzb2x2ZXIgd2hlbiB0aGVyZSBpcyBhIG1lbW9yeSBzcGFjZSBmYXRhbCBlcnJvci4gKi8KKwkJCWlmICgocmVzdWx0ICYgTlNfVU5BVkFJTCkgIT0gMCAmJiBlcnJubyA9PSBFTk9TUEMpIHsKKwkJCSAgYnJlYWs7CisJCQl9CiAJCX0KIAl9CiAJcmVzdWx0ICY9IE5TX1NUQVRVU01BU0s7CS8qIGNsZWFyIHByaXZhdGUgZmxhZ3MgaW4gcmVzdWx0ICovCmRpZmYgLS1naXQgYS9saWJjL2Rucy9uZXQvc2VydmljZXMuaCBiL2xpYmMvZG5zL25ldC9zZXJ2aWNlcy5oCmluZGV4IGZhMTk5ZDAuLjdmNzQ4ZjcgMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL25ldC9zZXJ2aWNlcy5oCisrKyBiL2xpYmMvZG5zL25ldC9zZXJ2aWNlcy5oCkBAIC0zMCw4ICszMCw4IEBACiBcNnRhY2Fjc1wwXDYxdVwwXAogXDEycmUtbWFpbC1ja1wwXDYydFwwXAogXDEycmUtbWFpbC1ja1wwXDYydVwwXAotXDZkb21haW5cMFw2NXRcMVwxMm5hbWVzZXJ2ZXJcCi1cNmRvbWFpblwwXDY1dVwxXDEybmFtZXNlcnZlclwKK1w2ZG9tYWluXDBcNjV0XDBcCitcNmRvbWFpblwwXDY1dVwwXAogXDNtdHBcMFw3MXRcMFwKIFwxMXRhY2Fjcy1kc1wwXDEwMXRcMFwKIFwxMXRhY2Fjcy1kc1wwXDEwMXVcMFwKQEAgLTQ0LDggKzQ0LDggQEAKIFw2Z29waGVyXDBcMTA2dVwwXAogXDNyamVcMFwxMTV0XDFcNm5ldHJqc1wKIFw2ZmluZ2VyXDBcMTE3dFwwXAotXDN3d3dcMFwxMjB0XDFcNGh0dHBcCi1cM3d3d1wwXDEyMHVcMFwKK1w0aHR0cFwwXDEyMHRcMVwzd3d3XAorXDRodHRwXDBcMTIwdVwwXAogXDRsaW5rXDBcMTI3dFwxXDd0dHlsaW5rXAogXDEwa2VyYmVyb3NcMFwxMzB0XDNcMTFrZXJiZXJvczVcNGtyYjVcMTRrZXJiZXJvcy1zZWNcCiBcMTBrZXJiZXJvc1wwXDEzMHVcM1wxMWtlcmJlcm9zNVw0a3JiNVwxNGtlcmJlcm9zLXNlY1wKQEAgLTEzOCwxMiArMTM4LDE2IEBACiBcNGxkYXBcMVwyMDV1XDBcCiBcNGltc3BcMVwyMjZ0XDBcCiBcNGltc3BcMVwyMjZ1XDBcCitcNnN2cmxvY1wxXDI1M3RcMFwKK1w2c3ZybG9jXDFcMjUzdVwwXAogXDVodHRwc1wxXDI3M3RcMFwKIFw1aHR0cHNcMVwyNzN1XDBcCiBcNHNucHBcMVwyNzR0XDBcCiBcNHNucHBcMVwyNzR1XDBcCiBcMTRtaWNyb3NvZnQtZHNcMVwyNzV0XDBcCiBcMTRtaWNyb3NvZnQtZHNcMVwyNzV1XDBcCitcN2twYXNzd2RcMVwzMjB0XDBcCitcN2twYXNzd2RcMVwzMjB1XDBcCiBcNHNhZnRcMVwzNDd0XDBcCiBcNHNhZnRcMVwzNDd1XDBcCiBcNmlzYWttcFwxXDM2NHRcMFwKQEAgLTE1OCw2ICsxNjIsOCBAQAogXDEwbnBtcC1ndWlcMlwxNDN1XDFcMTRkcXMzMTNfZXhlY2RcCiBcMTBobW1wLWluZFwyXDE0NHRcMVwyMGRxczMxM19pbnRlcmNlbGxcCiBcMTBobW1wLWluZFwyXDE0NHVcMVwyMGRxczMxM19pbnRlcmNlbGxcCitcNHFtcXBcMlwxNjR0XDBcCitcNHFtcXBcMlwxNjR1XDBcCiBcM2lwcFwyXDE2N3RcMFwKIFwzaXBwXDJcMTY3dVwwXAogXDRleGVjXDJcMHRcMFwKQEAgLTE4MSw4ICsxODcsMTQgQEAKIFw0dXVjcFwyXDM0dFwxXDV1dWNwZFwKIFw2a2xvZ2luXDJcMzd0XDBcCiBcNmtzaGVsbFwyXDQwdFwxXDVrcmNtZFwKK1wxNWRoY3B2Ni1jbGllbnRcMlw0MnRcMFwKK1wxNWRoY3B2Ni1jbGllbnRcMlw0MnVcMFwKK1wxNWRoY3B2Ni1zZXJ2ZXJcMlw0M3RcMFwKK1wxNWRoY3B2Ni1zZXJ2ZXJcMlw0M3VcMFwKIFwxMmFmcG92ZXJ0Y3BcMlw0NHRcMFwKIFwxMmFmcG92ZXJ0Y3BcMlw0NHVcMFwKK1w0aWRmcFwyXDQ1dFwwXAorXDRpZGZwXDJcNDV1XDBcCiBcMTByZW1vdGVmc1wyXDU0dFwyXDEycmZzX3NlcnZlclwzcmZzXAogXDVubnRwc1wyXDYzdFwxXDVzbm50cFwKIFw1bm50cHNcMlw2M3VcMVw1c25udHBcCkBAIC0yMzksMTkgKzI1MSwzMyBAQAogXDEzc2EtbXNnLXBvcnRcNlwxNTZ1XDFcMTNvbGQtcmFkYWNjdFwKIFw2a2VybWl0XDZcMTYxdFwwXAogXDZrZXJtaXRcNlwxNjF1XDBcCitcMTFncm91cHdpc2VcNlwyMTV0XDBcCitcMTFncm91cHdpc2VcNlwyMTV1XDBcCiBcM2wyZlw2XDI0NXRcMVw0bDJ0cFwKIFwzbDJmXDZcMjQ1dVwxXDRsMnRwXAogXDZyYWRpdXNcN1wyNHRcMFwKIFw2cmFkaXVzXDdcMjR1XDBcCiBcMTNyYWRpdXMtYWNjdFw3XDI1dFwxXDdyYWRhY2N0XAogXDEzcmFkaXVzLWFjY3RcN1wyNXVcMVw3cmFkYWNjdFwKK1w0bXNucFw3XDEwN3RcMFwKK1w0bXNucFw3XDEwN3VcMFwKIFwxM3VuaXgtc3RhdHVzXDdcMjQ1dFwwXAogXDEybG9nLXNlcnZlclw3XDI0NnRcMFwKIFwxMnJlbW90ZXBpbmdcN1wyNDd0XDBcCitcMTJjaXNjby1zY2NwXDdcMzIwdFwwXAorXDEyY2lzY28tc2NjcFw3XDMyMHVcMFwKK1w2c2VhcmNoXDdcMzMydFwxXDRuZHRwXAorXDEzcGlwZS1zZXJ2ZXJcN1wzMzJ0XDFcMTNwaXBlX3NlcnZlclwKIFwzbmZzXDEwXDF0XDBcCiBcM25mc1wxMFwxdVwwXAorXDZnbnVuZXRcMTBcNDZ0XDBcCitcNmdudW5ldFwxMFw0NnVcMFwKIFwxMnJ0Y20tc2MxMDRcMTBcNjV0XDBcCiBcMTJydGNtLXNjMTA0XDEwXDY1dVwwXAorXDE1Z3NpZ2F0ZWtlZXBlclwxMFwxMDd0XDBcCitcMTVnc2lnYXRla2VlcGVyXDEwXDEwN3VcMFwKK1w0Z3Jpc1wxMFwxMjd0XDBcCitcNGdyaXNcMTBcMTI3dVwwXAogXDEyY3ZzcHNlcnZlclwxMVwxNDF0XDBcCiBcMTJjdnNwc2VydmVyXDExXDE0MXVcMFwKIFw1dmVudXNcMTFcMTc2dFwwXApAQCAtMjY2LDEwICsyOTIsMTQgQEAKIFwzbW9uXDEyXDI3dVwwXAogXDRkaWN0XDEyXDEwNHRcMFwKIFw0ZGljdFwxMlwxMDR1XDBcCitcMTVmNS1nbG9iYWxzaXRlXDEyXDM1MHRcMFwKK1wxNWY1LWdsb2JhbHNpdGVcMTJcMzUwdVwwXAorXDZnc2lmdHBcMTJcMzczdFwwXAorXDZnc2lmdHBcMTJcMzczdVwwXAogXDRncHNkXDEzXDIwM3RcMFwKIFw0Z3BzZFwxM1wyMDN1XDBcCi1cNmdkc19kYlwxM1wzNTJ0XDBcCi1cNmdkc19kYlwxM1wzNTJ1XDBcCitcNmdkcy1kYlwxM1wzNTJ0XDFcNmdkc19kYlwKK1w2Z2RzLWRiXDEzXDM1MnVcMVw2Z2RzX2RiXAogXDVpY3B2MlwxNFw3MnRcMVwzaWNwXAogXDVpY3B2MlwxNFw3MnVcMVwzaWNwXAogXDVteXNxbFwxNFwzNTJ0XDBcCkBAIC0yODIsMjQgKzMxMiw0OSBAQAogXDRkYWFwXDE2XDE1MXVcMFwKIFwzc3ZuXDE2XDE1MnRcMVwxMnN1YnZlcnNpb25cCiBcM3N2blwxNlwxNTJ1XDFcMTJzdWJ2ZXJzaW9uXAorXDVzdXVjcFwxN1wyNzd0XDBcCitcNXN1dWNwXDE3XDI3N3VcMFwKK1w2c3lzcnFkXDE3XDM3NnRcMFwKK1w2c3lzcnFkXDE3XDM3NnVcMFwKK1w1c2lldmVcMjBcMTM2dFwwXAorXDRlcG1kXDIxXDIxdFwwXAorXDRlcG1kXDIxXDIxdVwwXAorXDZyZW1jdGxcMjFcMjV0XDBcCitcNnJlbWN0bFwyMVwyNXVcMFwKK1wxMWY1LWlxdWVyeVwyMVwxdFwwXAorXDExZjUtaXF1ZXJ5XDIxXDF1XDBcCiBcM2lheFwyMVwzMzF0XDBcCiBcM2lheFwyMVwzMzF1XDBcCitcM210blwyMlwxMjN0XDBcCitcM210blwyMlwxMjN1XDBcCiBcMTNyYWRtaW4tcG9ydFwyM1w0M3RcMFwKIFwxM3JhZG1pbi1wb3J0XDIzXDQzdVwwXAogXDNyZmVcMjNcMjEydVwwXAogXDNyZmVcMjNcMjEydFwwXAorXDRtbWNjXDIzXDI3MnRcMFwKK1w0bW1jY1wyM1wyNzJ1XDBcCiBcM3NpcFwyM1wzMDR0XDBcCiBcM3NpcFwyM1wzMDR1XDBcCiBcN3NpcC10bHNcMjNcMzA1dFwwXAogXDdzaXAtdGxzXDIzXDMwNXVcMFwKK1wzYW9sXDI0XDEwNnRcMFwKK1wzYW9sXDI0XDEwNnVcMFwKIFwxM3htcHAtY2xpZW50XDI0XDE0NnRcMVwxNWphYmJlci1jbGllbnRcCiBcMTN4bXBwLWNsaWVudFwyNFwxNDZ1XDFcMTVqYWJiZXItY2xpZW50XAogXDEzeG1wcC1zZXJ2ZXJcMjRcMjI1dFwxXDE1amFiYmVyLXNlcnZlclwKIFwxM3htcHAtc2VydmVyXDI0XDIyNXVcMVwxNWphYmJlci1zZXJ2ZXJcCiBcMTBjZmVuZ2luZVwyNFwyNzR0XDBcCiBcMTBjZmVuZ2luZVwyNFwyNzR1XDBcCitcNG1kbnNcMjRcMzUxdFwwXAorXDRtZG5zXDI0XDM1MXVcMFwKIFwxMnBvc3RncmVzcWxcMjVcNzB0XDFcMTBwb3N0Z3Jlc1wKIFwxMnBvc3RncmVzcWxcMjVcNzB1XDFcMTBwb3N0Z3Jlc1wKK1w3ZnJlZWNpdlwyNVwyNjR0XDFcNHJwdHBcCitcN2ZyZWVjaXZcMjVcMjY0dVwwXAorXDRhbXFwXDI2XDUwdFwwXAorXDRhbXFwXDI2XDUwdVwwXAorXDNnZ3pcMjZcNzB0XDBcCitcM2dnelwyNlw3MHVcMFwKIFwzeDExXDI3XDE2MHRcMVw1eDExLTBcCiBcM3gxMVwyN1wxNjB1XDFcNXgxMS0wXAogXDV4MTEtMVwyN1wxNjF0XDBcCkBAIC0zMjAsNiArMzc1LDEyIEBACiBcMTRnbnV0ZWxsYS1zdmNcMzBcMzEydVwwXAogXDE0Z251dGVsbGEtcnRyXDMwXDMxM3RcMFwKIFwxNGdudXRlbGxhLXJ0clwzMFwzMTN1XDBcCitcMTNzZ2UtcW1hc3RlclwzMVw1NHRcMVwxM3NnZV9xbWFzdGVyXAorXDEzc2dlLXFtYXN0ZXJcMzFcNTR1XDFcMTNzZ2VfcW1hc3RlclwKK1wxMXNnZS1leGVjZFwzMVw1NXRcMVwxMXNnZV9leGVjZFwKK1wxMXNnZS1leGVjZFwzMVw1NXVcMVwxMXNnZV9leGVjZFwKK1wxM215c3FsLXByb3h5XDMxXDU2dFwwXAorXDEzbXlzcWwtcHJveHlcMzFcNTZ1XDBcCiBcMTdhZnMzLWZpbGVzZXJ2ZXJcMzNcMTMwdFwxXDNiYnNcCiBcMTdhZnMzLWZpbGVzZXJ2ZXJcMzNcMTMwdVwxXDNiYnNcCiBcMTVhZnMzLWNhbGxiYWNrXDMzXDEzMXRcMFwKQEAgLTM0MiwxMiArNDAzLDIxIEBACiBcMTNhZnMzLXJtdHN5c1wzM1wxNDF1XDBcCiBcMTRmb250LXNlcnZpY2VcMzNcMjc0dFwxXDN4ZnNcCiBcMTRmb250LXNlcnZpY2VcMzNcMjc0dVwxXDN4ZnNcCitcMTBodHRwLWFsdFwzN1wyMjB0XDFcMTB3ZWJjYWNoZVwKK1wxMGh0dHAtYWx0XDM3XDIyMHVcMFwKIFwxMmJhY3VsYS1kaXJcNDNcMjE1dFwwXAogXDEyYmFjdWxhLWRpclw0M1wyMTV1XDBcCiBcMTFiYWN1bGEtZmRcNDNcMjE2dFwwXAogXDExYmFjdWxhLWZkXDQzXDIxNnVcMFwKIFwxMWJhY3VsYS1zZFw0M1wyMTd0XDBcCiBcMTFiYWN1bGEtc2RcNDNcMjE3dVwwXAorXDV4bW1zMlw0NVwzMDN0XDBcCitcNXhtbXMyXDQ1XDMwM3VcMFwKK1wzbmJkXDUyXDcxdFwwXAorXDE0emFiYml4LWFnZW50XDQ3XDEwMnRcMFwKK1wxNHphYmJpeC1hZ2VudFw0N1wxMDJ1XDBcCitcMTZ6YWJiaXgtdHJhcHBlclw0N1wxMDN0XDBcCitcMTZ6YWJiaXgtdHJhcHBlclw0N1wxMDN1XDBcCiBcNmFtYW5kYVw0N1wxNDB0XDBcCiBcNmFtYW5kYVw0N1wxNDB1XDBcCiBcM2hrcFw1NFwxNTN0XDBcCkBAIC0zNjQsMTYgKzQzNCwxNyBAQAogXDRicGNkXDY1XDMyNnVcMFwKIFw2dm9waWVkXDY1XDMyN3RcMFwKIFw2dm9waWVkXDY1XDMyN3VcMFwKK1w0ZGNhcFwxMjZcMTU1dFwwXAorXDdnc2lkY2FwXDEyNlwxNjB0XDBcCiBcNHdubjZcMTI3XDF0XDBcCiBcNHdubjZcMTI3XDF1XDBcCiBcMTFrZXJiZXJvczRcMlwzNTZ1XDJcMTNrZXJiZXJvcy1pdlwza2RjXAogXDExa2VyYmVyb3M0XDJcMzU2dFwyXDEza2VyYmVyb3MtaXZcM2tkY1wKLVwxN2tlcmJlcm9zX21hc3RlclwyXDM1N3VcMFwKLVwxN2tlcmJlcm9zX21hc3RlclwyXDM1N3RcMFwKLVwxNXBhc3N3ZF9zZXJ2ZXJcMlwzNjB1XDBcCi1cMTBrcmJfcHJvcFwyXDM2MnRcMlwxMWtyYjVfcHJvcFw1aHByb3BcCitcMTdrZXJiZXJvcy1tYXN0ZXJcMlwzNTd1XDFcMTdrZXJiZXJvc19tYXN0ZXJcCitcMTdrZXJiZXJvcy1tYXN0ZXJcMlwzNTd0XDBcCitcMTVwYXNzd2Qtc2VydmVyXDJcMzYwdVwxXDE1cGFzc3dkX3NlcnZlclwKK1wxMGtyYi1wcm9wXDJcMzYydFwzXDEwa3JiX3Byb3BcMTFrcmI1X3Byb3BcNWhwcm9wXAogXDExa3JidXBkYXRlXDJcMzcwdFwxXDRrcmVnXAotXDdrcGFzc3dkXDJcMzcxdFwxXDRrcHdkXAogXDRzd2F0XDNcMjA1dFwwXAogXDRrcG9wXDRcMTI1dFwwXAogXDVrbmV0ZFwxMFw1dFwwXApAQCAtMzg5LDkgKzQ2MCw5IEBACiBcMTBwb3BwYXNzZFwwXDE1MnRcMFwKIFwxMHBvcHBhc3NkXDBcMTUydVwwXAogXDVzc210cFwxXDMyMXRcMVw1c210cHNcCi1cMTBtb2lyYV9kYlwzXDd0XDBcCi1cMTRtb2lyYV91cGRhdGVcM1wxMXRcMFwKLVwxMm1vaXJhX3VyZWdcM1wxM3VcMFwKK1wxMG1vaXJhLWRiXDNcN3RcMVwxMG1vaXJhX2RiXAorXDE0bW9pcmEtdXBkYXRlXDNcMTF0XDFcMTRtb2lyYV91cGRhdGVcCitcMTJtb2lyYS11cmVnXDNcMTN1XDFcMTJtb2lyYV91cmVnXAogXDVzcGFtZFwzXDE3dFwwXAogXDVvbWlyclwzXDUwdFwxXDZvbWlycmRcCiBcNW9taXJyXDNcNTB1XDFcNm9taXJyZFwKQEAgLTQwNCw5ICs0NzUsNyBAQAogXDR4dGVsXDVcNDF0XDBcCiBcNXh0ZWx3XDVcNDJ0XDBcCiBcN3N1cHBvcnRcNVwzNzF0XDBcCi1cNXNpZXZlXDdcMzIwdFwwXAogXDdjZmluZ2VyXDdcMzIzdFwwXAotXDRuZHRwXDdcMzMydFwwXAogXDRmcm94XDEwXDExMXRcMFwKIFwxMG5pbnN0YWxsXDEwXDE0NnRcMFwKIFwxMG5pbnN0YWxsXDEwXDE0NnVcMFwKQEAgLTQzNiw5ICs1MDUsNyBAQAogXDdob3N0bW9uXDI0XDM1M3RcMFwKIFw3aG9zdG1vblwyNFwzNTN1XDBcCiBcNXJwbGF5XDI1XDI2M3VcMFwKLVw1cnBsYXlcMjVcMjYzdFwwXAotXDRycHRwXDI1XDI2NHVcMFwKLVw0cnB0cFwyNVwyNjR0XDBcCitcNG5ycGVcMjZcNDJ0XDBcCiBcNG5zY2FcMjZcNDN0XDBcCiBcNG1ydGRcMjZcNTJ0XDBcCiBcNmJncHNpbVwyNlw1M3RcMFwKQEAgLTQ0NiwxNCArNTEzLDE1IEBACiBcMTFzYW5lLXBvcnRcMzFcMjQ2dFwyXDRzYW5lXDVzYW5lZFwKIFw0aXJjZFwzMlwxM3RcMFwKIFwxMHpvcGUtZnRwXDM3XDEyNXRcMFwKLVwxMHdlYmNhY2hlXDM3XDIyMHRcMFwKIFw2dHByb3h5XDM3XDIyMXRcMFwKIFw3b21uaW9yYlwzN1wyMzB0XDBcCiBcN29tbmlvcmJcMzdcMjMwdVwwXAogXDIwY2xjLWJ1aWxkLWRhZW1vblw0M1wzNnRcMFwKIFw2eGluZXRkXDQzXDIxMnRcMFwKIFwxM21hbmRlbHNwYXduXDQ0XDIxN3VcMVwxMm1hbmRlbGJyb3RcCitcM2dpdFw0NFwzMTJ0XDBcCiBcNHpvcGVcNDVcMzExdFwwXAorXDZ3ZWJtaW5cNDdcMjB0XDBcCiBcN2thbWFuZGFcNDdcMTQxdFwwXAogXDdrYW1hbmRhXDQ3XDE0MXVcMFwKIFwxMWFtYW5kYWlkeFw0N1wxNDJ0XDBcCkBAIC00NzMsNiArNTQxLDcgQEAKIFw1Ymlua3BcMTM3XDM1MnRcMFwKIFwzYXNwXDE1MlwzNTZ0XDBcCiBcM2FzcFwxNTJcMzU2dVwwXAorXDZjc3luYzJcMTcwXDIyMXRcMFwKIFwxMWRpcmNwcm94eVwzMzZcMjUwdFwwXAogXDV0Zmlkb1wzNTNcMjF0XDBcCiBcNGZpZG9cMzUzXDIzdFwwXApkaWZmIC0tZ2l0IGEvbGliYy9kbnMvbmV0L3NldGhvc3RlbnQuYyBiL2xpYmMvZG5zL25ldC9zZXRob3N0ZW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE2NDIxZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvZG5zL25ldC9zZXRob3N0ZW50LmMKQEAgLTAsMCArMSwyNzUgQEAKKy8qCSROZXRCU0Q6IHNldGhvc3RlbnQuYyx2IDEuMjAgMjAxNC8wMy8xNyAxMzoyNDoyMyBjaHJpc3RvcyBFeHAgJAkqLworCisvKgorICogQ29weXJpZ2h0IChjKSAxOTg1LCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorI2lmIGRlZmluZWQoTElCQ19TQ0NTKSAmJiAhZGVmaW5lZChsaW50KQorI2lmIDAKK3N0YXRpYyBjaGFyIHNjY3NpZFtdID0gIkAoIylzZXRob3N0ZW50LmMJOC4xIChCZXJrZWxleSkgNi80LzkzIjsKK3N0YXRpYyBjaGFyIHJjc2lkW10gPSAiSWQ6IHNldGhvc3RlbnQuYyx2IDguNSAxOTk2LzA5LzI4IDA2OjUxOjA3IHZpeGllIEV4cCAiOworI2Vsc2UKK19fUkNTSUQoIiROZXRCU0Q6IHNldGhvc3RlbnQuYyx2IDEuMjAgMjAxNC8wMy8xNyAxMzoyNDoyMyBjaHJpc3RvcyBFeHAgJCIpOworI2VuZGlmCisjZW5kaWYgLyogTElCQ19TQ0NTIGFuZCBub3QgbGludCAqLworCisjaW5jbHVkZSAibmFtZXNwYWNlLmgiCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPGFycGEvbmFtZXNlci5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPG5zc3dpdGNoLmg+CisjaW5jbHVkZSA8bmV0ZGIuaD4KKyNpbmNsdWRlIDxyZXNvbHYuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisjaW5jbHVkZSAiaG9zdGVudC5oIgorI2luY2x1ZGUgInJlc29sdl9wcml2YXRlLmgiCisKKyNkZWZpbmUgQUxJR05CWVRFUyAoc2l6ZW9mKHVpbnRwdHJfdCkgLSAxKQorI2RlZmluZSBBTElHTihwKSAoKCh1aW50cHRyX3QpKHApICsgQUxJR05CWVRFUykgJn4gQUxJR05CWVRFUykKKworI2lmbmRlZiBfUkVFTlRSQU5UCit2b2lkCXJlc19jbG9zZSh2b2lkKTsKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IGhvc3RlbnQgKl9oZl9nZXRodGJ5bmFtZTIoY29uc3QgY2hhciAqLCBpbnQsIHN0cnVjdCBnZXRuYW1hZGRyICopOworCitzdGF0aWMgY29uc3QgY2hhciAqX2hfaG9zdHMgPSBfUEFUSF9IT1NUUzsKKwordm9pZAorc2V0aG9zdGVudF9yKEZJTEUgKipoZikKK3sKKwlpZiAoISpoZikKKwkJKmhmID0gZm9wZW4oX2hfaG9zdHMsICJyZSIpOworCWVsc2UKKwkJcmV3aW5kKCpoZik7Cit9CisKK3ZvaWQKK2VuZGhvc3RlbnRfcihGSUxFICoqaGYpCit7CisJaWYgKCpoZikgeworCQkodm9pZClmY2xvc2UoKmhmKTsKKwkJKmhmID0gTlVMTDsKKwl9Cit9CisKKy8qQVJHU1VTRUQqLworaW50CitfaGZfZ2V0aHRieW5hbWUodm9pZCAqcnYsIHZvaWQgKmNiX2RhdGEsIHZhX2xpc3QgYXApCit7CisJc3RydWN0IGhvc3RlbnQgKmhwOworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IGFmOworCXN0cnVjdCBnZXRuYW1hZGRyICppbmZvID0gcnY7CisKKwlfRElBR0FTU0VSVChydiAhPSBOVUxMKTsKKworCW5hbWUgPSB2YV9hcmcoYXAsIGNoYXIgKik7CisJLyogTk9TVFJJQ1Qgc2tpcCBzdHJpbmcgbGVuICovKHZvaWQpdmFfYXJnKGFwLCBpbnQpOworCWFmID0gdmFfYXJnKGFwLCBpbnQpOworCisjaWYgMAorCXsKKwkJcmVzX3N0YXRlIHJlcyA9IF9fcmVzX2dldF9zdGF0ZSgpOworCQlpZiAocmVzID09IE5VTEwpCisJCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJCWlmIChyZXMtPm9wdGlvbnMgJiBSRVNfVVNFX0lORVQ2KQorCQkJaHAgPSBfaGZfZ2V0aHRieW5hbWUyKG5hbWUsIEFGX0lORVQ2LCBpbmZvKTsKKwkJZWxzZQorCQkJaHAgPSBOVUxMOworCQlpZiAoaHAgPT0gTlVMTCkKKwkJCWhwID0gX2hmX2dldGh0YnluYW1lMihuYW1lLCBBRl9JTkVULCBpbmZvKTsKKwkJX19yZXNfcHV0X3N0YXRlKHJlcyk7CisJfQorI2Vsc2UKKwlocCA9IF9oZl9nZXRodGJ5bmFtZTIobmFtZSwgYWYsIGluZm8pOworI2VuZGlmCisJaWYgKGhwID09IE5VTEwpIHsKKwkJaWYgKCppbmZvLT5oZSA9PSBORVREQl9JTlRFUk5BTCAmJiBlcnJubyA9PSBFTk9TUEMpIHsKKwkJCXJldHVybiBOU19VTkFWQUlMOworCQl9CisJCXJldHVybiBOU19OT1RGT1VORDsKKwl9CisJcmV0dXJuIE5TX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaG9zdGVudCAqCitfaGZfZ2V0aHRieW5hbWUyKGNvbnN0IGNoYXIgKm5hbWUsIGludCBhZiwgc3RydWN0IGdldG5hbWFkZHIgKmluZm8pCit7CisJc3RydWN0IGhvc3RlbnQgKmhwLCBoZW50OworCWNoYXIgKmJ1ZiwgKnB0cjsKKwlzaXplX3QgbGVuLCBhbnVtLCBudW0sIGk7CisJRklMRSAqaGY7CisJY2hhciAqYWxpYXNlc1tNQVhBTElBU0VTXTsKKwljaGFyICphZGRyX3B0cnNbTUFYQUREUlNdOworCisJX0RJQUdBU1NFUlQobmFtZSAhPSBOVUxMKTsKKworCWhmID0gTlVMTDsKKwlzZXRob3N0ZW50X3IoJmhmKTsKKwlpZiAoaGYgPT0gTlVMTCkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJKmluZm8tPmhlID0gTkVUREJfSU5URVJOQUw7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmICgocHRyID0gYnVmID0gbWFsbG9jKGxlbiA9IGluZm8tPmJ1ZmxlbikpID09IE5VTEwpIHsKKwkJZW5kaG9zdGVudF9yKCZoZik7CisJCSppbmZvLT5oZSA9IE5FVERCX0lOVEVSTkFMOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlhbnVtID0gMDsJCS8qIFhYWDogZ2NjICovCisJaGVudC5oX25hbWUgPSBOVUxMOwkvKiBYWFg6IGdjYyAqLworCWhlbnQuaF9hZGRydHlwZSA9IDA7CS8qIFhYWDogZ2NjICovCisJaGVudC5oX2xlbmd0aCA9IDA7CS8qIFhYWDogZ2NjICovCisKKwlmb3IgKG51bSA9IDA7IG51bSA8IE1BWEFERFJTOykgeworCQlpbmZvLT5ocC0+aF9hZGRydHlwZSA9IGFmOworCQlpbmZvLT5ocC0+aF9sZW5ndGggPSAwOworCisJCWhwID0gbmV0YnNkX2dldGhvc3RlbnRfcihoZiwgaW5mby0+aHAsIGluZm8tPmJ1ZiwgaW5mby0+YnVmbGVuLAorCQkgICAgaW5mby0+aGUpOworCQlpZiAoaHAgPT0gTlVMTCkgeworCQkJaWYgKCppbmZvLT5oZSA9PSBORVREQl9JTlRFUk5BTCAmJiBlcnJubyA9PSBFTk9TUEMpIHsKKwkJCQlnb3RvIG5vc3BjOworCQkJfQorCQkJYnJlYWs7CisJCX0KKworCQlpZiAoc3RyY2FzZWNtcChocC0+aF9uYW1lLCBuYW1lKSAhPSAwKSB7CisJCQljaGFyICoqY3A7CisJCQlmb3IgKGNwID0gaHAtPmhfYWxpYXNlczsgKmNwICE9IE5VTEw7IGNwKyspCisJCQkJaWYgKHN0cmNhc2VjbXAoKmNwLCBuYW1lKSA9PSAwKQorCQkJCQlicmVhazsKKwkJCWlmICgqY3AgPT0gTlVMTCkgY29udGludWU7CisJCX0KKworCQlpZiAobnVtID09IDApIHsKKwkJCWhlbnQuaF9hZGRydHlwZSA9IGFmID0gaHAtPmhfYWRkcnR5cGU7CisJCQloZW50LmhfbGVuZ3RoID0gaHAtPmhfbGVuZ3RoOworCisJCQlIRU5UX1NDT1BZKGhlbnQuaF9uYW1lLCBocC0+aF9uYW1lLCBwdHIsIGxlbik7CisJCQlmb3IgKGFudW0gPSAwOyBocC0+aF9hbGlhc2VzW2FudW1dOyBhbnVtKyspIHsKKwkJCQlpZiAoYW51bSA+PSBNQVhBTElBU0VTKQorCQkJCQlnb3RvIG5vc3BjOworCQkJCUhFTlRfU0NPUFkoYWxpYXNlc1thbnVtXSwgaHAtPmhfYWxpYXNlc1thbnVtXSwKKwkJCQkgICAgcHRyLCBsZW4pOworCQkJfQorCQkJcHRyID0gKHZvaWQgKilBTElHTihwdHIpOworCQkJaWYgKChzaXplX3QpKHB0ciAtIGJ1ZikgPj0gaW5mby0+YnVmbGVuKQorCQkJCWdvdG8gbm9zcGM7CisJCX0KKworCQlpZiAobnVtID49IE1BWEFERFJTKQorCQkJZ290byBub3NwYzsKKwkJSEVOVF9DT1BZKGFkZHJfcHRyc1tudW1dLCBocC0+aF9hZGRyX2xpc3RbMF0sIGhwLT5oX2xlbmd0aCwgcHRyLAorCQkgICAgbGVuKTsKKwkJbnVtKys7CisJfQorCWVuZGhvc3RlbnRfcigmaGYpOworCisJaWYgKG51bSA9PSAwKSB7CisJCSppbmZvLT5oZSA9IEhPU1RfTk9UX0ZPVU5EOworCQlmcmVlKGJ1Zik7CisJCXJldHVybiBOVUxMOworCX0KKworCWhwID0gaW5mby0+aHA7CisJcHRyID0gaW5mby0+YnVmOworCWxlbiA9IGluZm8tPmJ1ZmxlbjsKKworCWhwLT5oX2FkZHJ0eXBlID0gaGVudC5oX2FkZHJ0eXBlOworCWhwLT5oX2xlbmd0aCA9IGhlbnQuaF9sZW5ndGg7CisKKwlIRU5UX0FSUkFZKGhwLT5oX2FsaWFzZXMsIGFudW0sIHB0ciwgbGVuKTsKKwlIRU5UX0FSUkFZKGhwLT5oX2FkZHJfbGlzdCwgbnVtLCBwdHIsIGxlbik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspCisJCUhFTlRfQ09QWShocC0+aF9hZGRyX2xpc3RbaV0sIGFkZHJfcHRyc1tpXSwgaHAtPmhfbGVuZ3RoLCBwdHIsCisJCSAgICBsZW4pOworCWhwLT5oX2FkZHJfbGlzdFtudW1dID0gTlVMTDsKKworCUhFTlRfU0NPUFkoaHAtPmhfbmFtZSwgaGVudC5oX25hbWUsIHB0ciwgbGVuKTsKKworCWZvciAoaSA9IDA7IGkgPCBhbnVtOyBpKyspCisJCUhFTlRfU0NPUFkoaHAtPmhfYWxpYXNlc1tpXSwgYWxpYXNlc1tpXSwgcHRyLCBsZW4pOworCWhwLT5oX2FsaWFzZXNbYW51bV0gPSBOVUxMOworCisJZnJlZShidWYpOworCXJldHVybiBocDsKK25vc3BjOgorCWVuZGhvc3RlbnRfcigmaGYpOworCSppbmZvLT5oZSA9IE5FVERCX0lOVEVSTkFMOworCWZyZWUoYnVmKTsKKwllcnJubyA9IEVOT1NQQzsKKwlyZXR1cm4gTlVMTDsKK30KKworLypBUkdTVVNFRCovCitpbnQKK19oZl9nZXRodGJ5YWRkcih2b2lkICpydiwgdm9pZCAqY2JfZGF0YSwgdmFfbGlzdCBhcCkKK3sKKwlzdHJ1Y3QgaG9zdGVudCAqaHA7CisJY29uc3QgdW5zaWduZWQgY2hhciAqYWRkcjsKKwlzdHJ1Y3QgZ2V0bmFtYWRkciAqaW5mbyA9IHJ2OworCUZJTEUgKmhmOworCisJX0RJQUdBU1NFUlQocnYgIT0gTlVMTCk7CisKKwlhZGRyID0gdmFfYXJnKGFwLCB1bnNpZ25lZCBjaGFyICopOworCWluZm8tPmhwLT5oX2xlbmd0aCA9IHZhX2FyZyhhcCwgaW50KTsKKwlpbmZvLT5ocC0+aF9hZGRydHlwZSA9IHZhX2FyZyhhcCwgaW50KTsKKworCWhmID0gTlVMTDsKKwlzZXRob3N0ZW50X3IoJmhmKTsKKwlpZiAoaGYgPT0gTlVMTCkgeworCQkqaW5mby0+aGUgPSBORVREQl9JTlRFUk5BTDsKKwkJcmV0dXJuIE5TX1VOQVZBSUw7CisJfQorCXdoaWxlICgoaHAgPSBuZXRic2RfZ2V0aG9zdGVudF9yKGhmLCBpbmZvLT5ocCwgaW5mby0+YnVmLCBpbmZvLT5idWZsZW4sCisJICAgIGluZm8tPmhlKSkgIT0gTlVMTCkKKwkJaWYgKCFtZW1jbXAoaHAtPmhfYWRkcl9saXN0WzBdLCBhZGRyLCAoc2l6ZV90KWhwLT5oX2xlbmd0aCkpCisJCQlicmVhazsKKwllbmRob3N0ZW50X3IoJmhmKTsKKworCWlmIChocCA9PSBOVUxMKSB7CisJCWlmIChlcnJubyA9PSBFTk9TUEMpIHsKKwkJCXJldHVybiBOU19VTkFWQUlMOworCQl9CisJCSppbmZvLT5oZSA9IEhPU1RfTk9UX0ZPVU5EOworCQlyZXR1cm4gTlNfTk9URk9VTkQ7CisJfQorCXJldHVybiBOU19TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGliYy9kbnMvcmVzb2x2L3Jlc19jYWNoZS5jIGIvbGliYy9kbnMvcmVzb2x2L3Jlc19jYWNoZS5jCmluZGV4IGQ2OGVjM2IuLjVhNzg0NTAgMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL3Jlc29sdi9yZXNfY2FjaGUuYworKysgYi9saWJjL2Rucy9yZXNvbHYvcmVzX2NhY2hlLmMKQEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgInJlc29sdl9jYWNoZS5oIgogI2luY2x1ZGUgPHJlc29sdi5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGltZS5oPgpAQCAtNDUsNiArNDcsOCBAQAogI2luY2x1ZGUgInJlc29sdl9uZXRpZC5oIgogI2luY2x1ZGUgInJlc19wcml2YXRlLmgiCiAKKyNpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgorCiAvKiBUaGlzIGNvZGUgaW1wbGVtZW50cyBhIHNtYWxsIGFuZCAqc2ltcGxlKiBETlMgcmVzb2x2ZXIgY2FjaGUuCiAgKgogICogSXQgaXMgb25seSB1c2VkIHRvIGNhY2hlIEROUyBhbnN3ZXJzIGZvciBhIHRpbWUgZGVmaW5lZCBieSB0aGUgc21hbGxlc3QgVFRMCkBAIC0xMDAsMTAgKzEwNCw2IEBACiAgKi8KICNkZWZpbmUgIENPTkZJR19FTlYgICJCSU9OSUNfRE5TQ0FDSEUiCiAKLS8qIGVudHJpZXMgb2xkZXIgdGhhbiBDT05GSUdfU0VDT05EUyBzZWNvbmRzIGFyZSBhbHdheXMgZGlzY2FyZGVkLgotICovCi0jZGVmaW5lICBDT05GSUdfU0VDT05EUyAgICAoNjAqMTApICAgIC8qIDEwIG1pbnV0ZXMgKi8KLQogLyogZGVmYXVsdCBudW1iZXIgb2YgZW50cmllcyBrZXB0IGluIHRoZSBjYWNoZS4gVGhpcyB2YWx1ZSBoYXMgYmVlbgogICogZGV0ZXJtaW5lZCBieSBicm93c2luZyB0aHJvdWdoIHZhcmlvdXMgc2l0ZXMgYW5kIGNvdW50aW5nIHRoZSBudW1iZXIKICAqIG9mIGNvcnJlc3BvbmRpbmcgcmVxdWVzdHMuIEtlZXAgaW4gbWluZCB0aGF0IG91ciBmcmFtZXdvcmsgaXMgY3VycmVudGx5CkBAIC0xNTIsMTMgKzE1MiwyMSBAQAogLyogc2V0IHRvIDEgdG8gZGVidWcgcXVlcnkgZGF0YSAqLwogI2RlZmluZSAgREVCVUdfREFUQSAgMAogCi0jdW5kZWYgWExPRwogI2lmIERFQlVHCi0jICBpbmNsdWRlICJwcml2YXRlL2xpYmNfbG9nZ2luZy5oIgotIyAgZGVmaW5lIFhMT0coLi4uKSAgX19saWJjX2Zvcm1hdF9sb2coQU5EUk9JRF9MT0dfREVCVUcsImxpYmMiLF9fVkFfQVJHU19fKQorI2RlZmluZSBfX0RFQlVHX18KKyNlbHNlCisjZGVmaW5lIF9fREVCVUdfXyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQorI2VuZGlmCiAKLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0ZGFyZy5oPgorI3VuZGVmIFhMT0cKKworI2RlZmluZSBYTE9HKC4uLikgKHsgXAorICAgIGlmIChERUJVRykgeyBcCisgICAgICAgIF9fbGliY19mb3JtYXRfbG9nKEFORFJPSURfTE9HX0RFQlVHLCJsaWJjIixfX1ZBX0FSR1NfXyk7IFwKKyAgICB9IGVsc2UgeyBcCisgICAgICAgICgodm9pZCkwKTsgXAorICAgIH0gXAorfSkKIAogLyoqIEJPVU5ERUQgQlVGRkVSIEZPUk1BVFRJTkcKICAqKi8KQEAgLTIwNSw3ICsyMTMsNyBAQAogICovCiAKIC8qIGFkZCBhIGNoYXIgdG8gYSBib3VuZGVkIGJ1ZmZlciAqLwotc3RhdGljIGNoYXIqCitjaGFyKgogX2JwcmludF9jKCBjaGFyKiAgcCwgY2hhciogIGVuZCwgaW50ICBjICkKIHsKICAgICBpZiAocCA8IGVuZCkgewpAQCAtMjIwLDcgKzIyOCw3IEBACiB9CiAKIC8qIGFkZCBhIHNlcXVlbmNlIG9mIGJ5dGVzIHRvIGEgYm91bmRlZCBidWZmZXIgKi8KLXN0YXRpYyBjaGFyKgorY2hhcioKIF9icHJpbnRfYiggY2hhciogIHAsIGNoYXIqICBlbmQsIGNvbnN0IGNoYXIqICBidWYsIGludCAgbGVuICkKIHsKICAgICBpbnQgIGF2YWlsID0gZW5kIC0gcDsKQEAgLTI0MywxNSArMjUxLDE1IEBACiB9CiAKIC8qIGFkZCBhIHN0cmluZyB0byBhIGJvdW5kZWQgYnVmZmVyICovCi1zdGF0aWMgY2hhcioKK2NoYXIqCiBfYnByaW50X3MoIGNoYXIqICBwLCBjaGFyKiAgZW5kLCBjb25zdCBjaGFyKiAgc3RyICkKIHsKICAgICByZXR1cm4gX2JwcmludF9iKHAsIGVuZCwgc3RyLCBzdHJsZW4oc3RyKSk7CiB9CiAKIC8qIGFkZCBhIGZvcm1hdHRlZCBzdHJpbmcgdG8gYSBib3VuZGVkIGJ1ZmZlciAqLwotc3RhdGljIGNoYXIqCi1fYnByaW50KCBjaGFyKiAgcCwgY2hhciogIGVuZCwgY29uc3QgY2hhciogIGZvcm1hdCwgLi4uICkKK2NoYXIqIF9icHJpbnQoIGNoYXIqICBwLCBjaGFyKiAgZW5kLCBjb25zdCBjaGFyKiAgZm9ybWF0LCAuLi4gKSBfX0RFQlVHX187CitjaGFyKiBfYnByaW50KCBjaGFyKiAgcCwgY2hhciogIGVuZCwgY29uc3QgY2hhciogIGZvcm1hdCwgLi4uICkKIHsKICAgICBpbnQgICAgICBhdmFpbCwgbjsKICAgICB2YV9saXN0ICBhcmdzOwpAQCAtMjc4LDcgKzI4Niw3IEBACiB9CiAKIC8qIGFkZCBhIGhleCB2YWx1ZSB0byBhIGJvdW5kZWQgYnVmZmVyLCB1cCB0byA4IGRpZ2l0cyAqLwotc3RhdGljIGNoYXIqCitjaGFyKgogX2JwcmludF9oZXgoIGNoYXIqICBwLCBjaGFyKiAgZW5kLCB1bnNpZ25lZCAgdmFsdWUsIGludCAgbnVtRGlnaXRzICkKIHsKICAgICBjaGFyICAgdGV4dFtzaXplb2YodW5zaWduZWQpKjJdOwpAQCAtMjkxLDcgKzI5OSw3IEBACiB9CiAKIC8qIGFkZCB0aGUgaGV4YWRlY2ltYWwgZHVtcCBvZiBzb21lIG1lbW9yeSBhcmVhIHRvIGEgYm91bmRlZCBidWZmZXIgKi8KLXN0YXRpYyBjaGFyKgorY2hhcioKIF9icHJpbnRfaGV4ZHVtcCggY2hhciogIHAsIGNoYXIqICBlbmQsIGNvbnN0IHVpbnQ4X3QqICBkYXRhLCBpbnQgIGRhdGFsZW4gKQogewogICAgIGludCAgIGxpbmVTaXplID0gMTY7CkBAIC0zMzAsMjAgKzMzOCwxNyBAQAogfQogCiAvKiBkdW1wIHRoZSBjb250ZW50IG9mIGEgcXVlcnkgb2YgcGFja2V0IHRvIHRoZSBsb2cgKi8KLXN0YXRpYyB2b2lkCi1YTE9HX0JZVEVTKCBjb25zdCB2b2lkKiAgYmFzZSwgaW50ICBsZW4gKQordm9pZCBYTE9HX0JZVEVTKCBjb25zdCB2b2lkKiAgYmFzZSwgaW50ICBsZW4gKSBfX0RFQlVHX187Cit2b2lkIFhMT0dfQllURVMoIGNvbnN0IHZvaWQqICBiYXNlLCBpbnQgIGxlbiApCiB7Ci0gICAgY2hhciAgYnVmZlsxMDI0XTsKLSAgICBjaGFyKiAgcCA9IGJ1ZmYsICplbmQgPSBwICsgc2l6ZW9mKGJ1ZmYpOworICAgIGlmIChERUJVR19EQVRBKSB7CisgICAgICAgIGNoYXIgIGJ1ZmZbMTAyNF07CisgICAgICAgIGNoYXIqICBwID0gYnVmZiwgKmVuZCA9IHAgKyBzaXplb2YoYnVmZik7CiAKLSAgICBwID0gX2JwcmludF9oZXhkdW1wKHAsIGVuZCwgYmFzZSwgbGVuKTsKLSAgICBYTE9HKCIlcyIsYnVmZik7Ci19Ci0KLSNlbHNlIC8qICFERUJVRyAqLwotIyAgZGVmaW5lICBYTE9HKC4uLikgICAgICAgICgodm9pZCkwKQotIyAgZGVmaW5lICBYTE9HX0JZVEVTKGEsYikgICgodm9pZCkwKQotI2VuZGlmCisgICAgICAgIHAgPSBfYnByaW50X2hleGR1bXAocCwgZW5kLCBiYXNlLCBsZW4pOworICAgICAgICBYTE9HKCIlcyIsYnVmZik7CisgICAgfQorfSBfX0RFQlVHX18KIAogc3RhdGljIHRpbWVfdAogX3RpbWVfbm93KCB2b2lkICkKQEAgLTEwOTAsNyArMTA5NSw3IEBACiAgICAgICAgIFhMT0coIm5zX3BhcnNlcnIgZmFpbGVkLiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICB9CiAKLSAgICBYTE9HKCJUVEwgPSAlZFxuIiwgcmVzdWx0KTsKKyAgICBYTE9HKCJUVEwgPSAlbHVcbiIsIHJlc3VsdCk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTQ1Myw3ICsxNDU4LDcgQEAKICAgICBjaGFyKiBidWY7CiAgICAgaW50IGZpbGVMZW47CiAKLSAgICBmcCA9IGZvcGVuKCIvZGF0YS9yZXNsb2cudHh0IiwgIncrIik7CisgICAgZnAgPSBmb3BlbigiL2RhdGEvcmVzbG9nLnR4dCIsICJ3K2UiKTsKICAgICBpZiAoZnAgIT0gTlVMTCkgewogICAgICAgICBzdGF0ZXAgPSBfX3Jlc19nZXRfc3RhdGUoKTsKIApAQCAtMTk0OSw3ICsxOTU0LDcgQEAKICAgICAgICAgaGludHMuYWlfZmFtaWx5ID0gUEZfVU5TUEVDOwogICAgICAgICBoaW50cy5haV9zb2NrdHlwZSA9IFNPQ0tfREdSQU07IC8qZHVtbXkqLwogICAgICAgICBoaW50cy5haV9mbGFncyA9IEFJX05VTUVSSUNIT1NUOwotICAgICAgICBzcHJpbnRmKHNidWYsICIldSIsIE5BTUVTRVJWRVJfUE9SVCk7CisgICAgICAgIHNucHJpbnRmKHNidWYsIHNpemVvZihzYnVmKSwgIiV1IiwgTkFNRVNFUlZFUl9QT1JUKTsKIAogICAgICAgICBpbmRleCA9IDA7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1zZXJ2ZXJzICYmIGkgPCBNQVhOUzsgaSsrKSB7CmRpZmYgLS1naXQgYS9saWJjL2Rucy9yZXNvbHYvcmVzX2RlYnVnLmMgYi9saWJjL2Rucy9yZXNvbHYvcmVzX2RlYnVnLmMKaW5kZXggN2EwNWE1Zi4uNWY4ODljYiAxMDA2NDQKLS0tIGEvbGliYy9kbnMvcmVzb2x2L3Jlc19kZWJ1Zy5jCisrKyBiL2xpYmMvZG5zL3Jlc29sdi9yZXNfZGVidWcuYwpAQCAtMTI2LDE0ICsxMjYsNiBAQAogI2luY2x1ZGUgPHN0cmluZ3MuaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAKLQotCi0jaWZkZWYgU1BSSU5URl9DSEFSCi0jIGRlZmluZSBTUFJJTlRGKHgpIHN0cmxlbihzcHJpbnRmLyoqL3gpCi0jZWxzZQotIyBkZWZpbmUgU1BSSU5URih4KSBzcHJpbnRmIHgKLSNlbmRpZgotCiBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IF9yZXNfb3Bjb2Rlc1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgKiBjb25zdCBfcmVzX3NlY3Rpb25jb2Rlc1tdOwogCkBAIC01ODgsNyArNTgwLDcgQEAKIAkJfQogCX0KIAotCXNwcmludGYodW5uYW1lLCAiJWQiLCBudW1iZXIpOwkJLyogWFhYIG5vbnJlZW50cmFudCAqLworCXNucHJpbnRmKHVubmFtZSwgc2l6ZW9mKHVubmFtZSksICIlZCIsIG51bWJlcik7CQkvKiBYWFggbm9ucmVlbnRyYW50ICovCiAJaWYgKHN1Y2Nlc3MpCiAJCSpzdWNjZXNzID0gMDsKIAlyZXR1cm4gKHVubmFtZSk7CkBAIC02MDUsNyArNTk3LDcgQEAKIAkJCXJldHVybiAoc3ltcy0+aHVtYW5uYW1lKTsKIAkJfQogCX0KLQlzcHJpbnRmKHVubmFtZSwgIiVkIiwgbnVtYmVyKTsJCS8qIFhYWCBub25yZWVudHJhbnQgKi8KKwlzbnByaW50Zih1bm5hbWUsIHNpemVvZih1bm5hbWUpLCAiJWQiLCBudW1iZXIpOwkJLyogWFhYIG5vbnJlZW50cmFudCAqLwogCWlmIChzdWNjZXNzKQogCQkqc3VjY2VzcyA9IDA7CiAJcmV0dXJuICh1bm5hbWUpOwpAQCAtNjI1LDcgKzYxNyw3IEBACiAJCXJldHVybiAocmVzdWx0KTsKIAlpZiAodHlwZSA8IDAgfHwgdHlwZSA+IDB4ZmZmZikKIAkJcmV0dXJuICgiQkFEVFlQRSIpOwotCXNwcmludGYodHlwZWJ1ZiwgIlRZUEUlZCIsIHR5cGUpOworCXNucHJpbnRmKHR5cGVidWYsIHNpemVvZih0eXBlYnVmKSwgIlRZUEUlZCIsIHR5cGUpOwogCXJldHVybiAodHlwZWJ1Zik7CiB9CiAKQEAgLTY2MSw3ICs2NTMsNyBAQAogCQlyZXR1cm4gKHJlc3VsdCk7CiAJaWYgKGNsYXNzIDwgMCB8fCBjbGFzcyA+IDB4ZmZmZikKIAkJcmV0dXJuICgiQkFEQ0xBU1MiKTsKLQlzcHJpbnRmKGNsYXNzYnVmLCAiQ0xBU1MlZCIsIGNsYXNzKTsKKwlzbnByaW50ZihjbGFzc2J1Ziwgc2l6ZW9mKGNsYXNzYnVmKSwgIkNMQVNTJWQiLCBjbGFzcyk7CiAJcmV0dXJuIChjbGFzc2J1Zik7CiB9CiAKQEAgLTcwMyw3ICs2OTUsNyBAQAogCWNhc2UgUkVTX05PX05JQkJMRTI6CXJldHVybiAibm8tbmliYmxlMiI7CiAjZW5kaWYKIAkJCQkvKiBYWFggbm9ucmVlbnRyYW50ICovCi0JZGVmYXVsdDoJCXNwcmludGYobmJ1ZiwgIj8weCVseD8iLCAodV9sb25nKW9wdGlvbik7CisJZGVmYXVsdDoJCXNucHJpbnRmKG5idWYsIHNpemVvZihuYnVmKSwgIj8weCVseD8iLCAodV9sb25nKW9wdGlvbik7CiAJCQkJcmV0dXJuIChuYnVmKTsKIAl9CiB9CkBAIC03MTYsNyArNzA4LDcgQEAKIAlzdGF0aWMgY2hhciBuYnVmWzQwXTsJCS8qIFhYWCBub25yZWVudHJhbnQgKi8KIAogCWlmIChuc19mb3JtYXRfdHRsKCh1X2xvbmcpdmFsdWUsIG5idWYsIHNpemVvZiBuYnVmKSA8IDApCi0JCXNwcmludGYobmJ1ZiwgIiV1IiwgdmFsdWUpOworCQlzbnByaW50ZihuYnVmLCBzaXplb2YobmJ1ZiksICIldSIsIHZhbHVlKTsKIAlyZXR1cm4gKG5idWYpOwogfQogCkBAIC03NDUsNyArNzM3LDcgQEAKIAkJYnJlYWs7CiAjZW5kaWYKIAlkZWZhdWx0OgotCQlzcHJpbnRmKHJldCwgIlthZiVkXSIsIHUuc2luLnNpbl9mYW1pbHkpOworCQlzbnByaW50ZihyZXQsIHNpemVvZihyZXQpLCAiW2FmJWRdIiwgdS5zaW4uc2luX2ZhbWlseSk7CiAJCWJyZWFrOwogCX0KIAlpZiAoc2l6ZSA+IDBVKSB7CkBAIC03NzcsNyArNzY5LDcgQEAKIAogCXZhbCA9IG1hbnRpc3NhICogcG93ZXJvZnRlbltleHBvbmVudF07CiAKLQkodm9pZCkgc3ByaW50ZihyZXRidWYsICIlbHUuJS4ybHUiLCB2YWwvMTAwLCB2YWwlMTAwKTsKKwkodm9pZCkgc25wcmludGYocmV0YnVmLCBzaXplb2YocmV0YnVmKSwgIiVsdS4lLjJsdSIsIHZhbC8xMDAsIHZhbCUxMDApOwogCXJldHVybiAocmV0YnVmKTsKIH0KIApAQCAtMTAyOCw3ICsxMDIwLDcgQEAKIAogLyogdGFrZXMgYW4gb24tdGhlLXdpcmUgTE9DIFJSIGFuZCBmb3JtYXRzIGl0IGluIGEgaHVtYW4gcmVhZGFibGUgZm9ybWF0LiAqLwogY29uc3QgY2hhciAqCi1sb2NfbnRvYShjb25zdCB1X2NoYXIgKmJpbmFyeSwgY2hhciAqYXNjaWkpCitsb2NfbnRvYShjb25zdCB1X2NoYXIgKmJpbmFyeSwgY2hhciAqYXNjaWksIHNpemVfdCBidWZzaXopCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgKmVycm9yID0gIj8iOwogCXN0YXRpYyBjaGFyIHRtcGJ1ZltzaXplb2YKQEAgLTEwNTUsNyArMTA0Nyw3IEBACiAJCWFzY2lpID0gdG1wYnVmOwogCiAJaWYgKHZlcnNpb252YWwpIHsKLQkJKHZvaWQpIHNwcmludGYoYXNjaWksICI7IGVycm9yOiB1bmtub3duIExPQyBSUiB2ZXJzaW9uIik7CisJCSh2b2lkKSBzbnByaW50Zihhc2NpaSwgYnVmc2l6LCAiOyBlcnJvcjogdW5rbm93biBMT0MgUlIgdmVyc2lvbiIpOwogCQlyZXR1cm4gKGFzY2lpKTsKIAl9CiAKQEAgLTExMTQsNyArMTEwNiw3IEBACiAJaHBzdHIgPSBzdHJkdXAocHJlY3NpemVfbnRvYSgodV9pbnQzMl90KWhwdmFsKSk7CiAJdnBzdHIgPSBzdHJkdXAocHJlY3NpemVfbnRvYSgodV9pbnQzMl90KXZwdmFsKSk7CiAKLQlzcHJpbnRmKGFzY2lpLAorCXNucHJpbnRmKGFzY2lpLCBidWZzaXosCiAJICAgICIlZCAlLjJkICUuMmQuJS4zZCAlYyAlZCAlLjJkICUuMmQuJS4zZCAlYyAlcyVkLiUuMmRtICVzbSAlc20gJXNtIiwKIAkJbGF0ZGVnLCBsYXRtaW4sIGxhdHNlYywgbGF0c2VjZnJhYywgbm9ydGhzb3V0aCwKIAkJbG9uZ2RlZywgbG9uZ21pbiwgbG9uZ3NlYywgbG9uZ3NlY2ZyYWMsIGVhc3R3ZXN0LApAQCAtMTE4MCw3ICsxMTcyLDcgQEAKICNlbmRpZgogCW15dGltZS0+dG1feWVhciArPSAxOTAwOwogCW15dGltZS0+dG1fbW9uICs9IDE7Ci0Jc3ByaW50ZihvdXRwdXQsICIlMDRkJTAyZCUwMmQlMDJkJTAyZCUwMmQiLAorCXNucHJpbnRmKG91dHB1dCwgc2l6ZW9mKG91dHB1dCksICIlMDRkJTAyZCUwMmQlMDJkJTAyZCUwMmQiLAogCQlteXRpbWUtPnRtX3llYXIsIG15dGltZS0+dG1fbW9uLCBteXRpbWUtPnRtX21kYXksCiAJCW15dGltZS0+dG1faG91ciwgbXl0aW1lLT50bV9taW4sIG15dGltZS0+dG1fc2VjKTsKIAlyZXR1cm4gKG91dHB1dCk7CmRpZmYgLS1naXQgYS9saWJjL2Rucy9yZXNvbHYvcmVzX2luaXQuYyBiL2xpYmMvZG5zL3Jlc29sdi9yZXNfaW5pdC5jCmluZGV4IGYxY2JlZDguLjcxM2I2ZTAgMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL3Jlc29sdi9yZXNfaW5pdC5jCisrKyBiL2xpYmMvZG5zL3Jlc29sdi9yZXNfaW5pdC5jCkBAIC0yODksNyArMjg5LDcgQEAKIAkgbGluZVtzaXplb2YobmFtZSkgLSAxXSA9PSAnXHQnKSkKIAogCW5zZXJ2ID0gMDsKLQlpZiAoKGZwID0gZm9wZW4oX1BBVEhfUkVTQ09ORiwgInIiKSkgIT0gTlVMTCkgeworCWlmICgoZnAgPSBmb3BlbihfUEFUSF9SRVNDT05GLCAicmUiKSkgIT0gTlVMTCkgewogCSAgICAvKiByZWFkIHRoZSBjb25maWcgZmlsZSAqLwogCSAgICB3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZnApICE9IE5VTEwpIHsKIAkJLyogc2tpcCBjb21tZW50cyAqLwpAQCAtNjE2LDQ3ICs2MTYsNiBAQAogfQogI2VuZGlmCiAKLSNpZmRlZiBBTkRST0lEX0NIQU5HRVMKLXN0YXRpYyBpbnQKLXJlYWxfcmFuZG9taWQodV9pbnQgKnJhbmRvbV92YWx1ZSkgewotCS8qIG9wZW4gdGhlIG5vbmJsb2NraW5nIHJhbmRvbSBkZXZpY2UsIHJldHVybmluZyAtMSBvbiBmYWlsdXJlICovCi0JaW50IHJhbmRvbV9kZXZpY2UgPSBvcGVuKCIvZGV2L3VyYW5kb20iLCBPX1JET05MWSB8IE9fQ0xPRVhFQyk7Ci0JaWYgKHJhbmRvbV9kZXZpY2UgPCAwKSB7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQkvKiByZWFkIGZyb20gdGhlIHJhbmRvbSBkZXZpY2UsIHJldHVybmluZyAtMSBvbiBmYWlsdXJlIChvciB0b28gbWFueSByZXRyaWVzKSovCi0JZm9yICh1X2ludCByZXRyeSA9IDU7IHJldHJ5ID4gMDsgcmV0cnktLSkgewotCQlpbnQgcmV0dmFsID0gcmVhZChyYW5kb21fZGV2aWNlLCByYW5kb21fdmFsdWUsIHNpemVvZih1X2ludCkpOwotCQlpZiAocmV0dmFsID09IHNpemVvZih1X2ludCkpIHsKLQkJCSpyYW5kb21fdmFsdWUgJj0gMHhmZmZmOwotCQkJY2xvc2UocmFuZG9tX2RldmljZSk7Ci0JCQlyZXR1cm4gMDsKLQkJfSBlbHNlIGlmICgocmV0dmFsIDwgMCkgJiYgKGVycm5vICE9IEVJTlRSKSkgewotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQljbG9zZShyYW5kb21fZGV2aWNlKTsKLQlyZXR1cm4gLTE7Ci19Ci0jZW5kaWYgLyogQU5EUk9JRF9DSEFOR0VTICovCi0KLXVfaW50Ci1yZXNfcmFuZG9taWQodm9pZCkgewotI2lmZGVmIEFORFJPSURfQ0hBTkdFUwotCWludCBzdGF0dXMgPSAwOwotCXVfaW50IG91dHB1dCA9IDA7Ci0Jc3RhdHVzID0gcmVhbF9yYW5kb21pZCgmb3V0cHV0KTsKLQlpZiAoc3RhdHVzICE9IC0xKSB7Ci0JCXJldHVybiBvdXRwdXQ7Ci0JfQotI2VuZGlmIC8qIEFORFJPSURfQ0hBTkdFUyAqLwotCXN0cnVjdCB0aW1ldmFsIG5vdzsKLQlnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7Ci0JcmV0dXJuICgweGZmZmYgJiAobm93LnR2X3NlYyBeIG5vdy50dl91c2VjIF4gZ2V0cGlkKCkpKTsKLX0KLQogLyolCiAgKiBUaGlzIHJvdXRpbmUgaXMgZm9yIGNsb3NpbmcgdGhlIHNvY2tldCBpZiBhIHZpcnR1YWwgY2lyY3VpdCBpcyB1c2VkIGFuZAogICogdGhlIHByb2dyYW0gd2FudHMgdG8gY2xvc2UgaXQuICBUaGlzIHByb3ZpZGVzIHN1cHBvcnQgZm9yIGVuZGhvc3RlbnQoKQpkaWZmIC0tZ2l0IGEvbGliYy9kbnMvcmVzb2x2L3Jlc19xdWVyeS5jIGIvbGliYy9kbnMvcmVzb2x2L3Jlc19xdWVyeS5jCmluZGV4IDZjZDliMTUuLjA5YmU4YjQgMTAwNjQ0Ci0tLSBhL2xpYmMvZG5zL3Jlc29sdi9yZXNfcXVlcnkuYworKysgYi9saWJjL2Rucy9yZXNvbHYvcmVzX3F1ZXJ5LmMKQEAgLTQxNCw3ICs0MTQsNyBAQAogCQkJUkVTX1NFVF9IX0VSUk5PKHN0YXRwLCBOT19SRUNPVkVSWSk7CiAJCQlyZXR1cm4gKC0xKTsKIAkJfQotCQlzcHJpbnRmKG5idWYsICIlcy4lcyIsIG5hbWUsIGRvbWFpbik7CisJCXNucHJpbnRmKG5idWYsIHNpemVvZihuYnVmKSwgIiVzLiVzIiwgbmFtZSwgZG9tYWluKTsKIAl9CiAJcmV0dXJuIChyZXNfbnF1ZXJ5KHN0YXRwLCBsb25nbmFtZSwgY2xhc3MsIHR5cGUsIGFuc3dlciwgYW5zbGVuKSk7CiB9CmRpZmYgLS1naXQgYS9saWJjL2Rucy9yZXNvbHYvcmVzX3N0YXRlLmMgYi9saWJjL2Rucy9yZXNvbHYvcmVzX3N0YXRlLmMKaW5kZXggNTc3OTFkMS4uYWZjY2Q5OSAxMDA2NDQKLS0tIGEvbGliYy9kbnMvcmVzb2x2L3Jlc19zdGF0ZS5jCisrKyBiL2xpYmMvZG5zL3Jlc29sdi9yZXNfc3RhdGUuYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgInJlc29sdl9jYWNoZS5oIgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2RlZmluZSBfUkVBTExZX0lOQ0xVREVfU1lTX19TWVNURU1fUFJPUEVSVElFU19IXwogI2luY2x1ZGUgPHN5cy9fc3lzdGVtX3Byb3BlcnRpZXMuaD4KQEAgLTQ5LDkgKzUwLDYgQEAKICMgIGRlZmluZSBEKC4uLikgIGRve313aGlsZSgwKQogI2VuZGlmCiAKLXN0YXRpYyBwdGhyZWFkX2tleV90ICAgX3Jlc19rZXk7Ci1zdGF0aWMgcHRocmVhZF9vbmNlX3QgIF9yZXNfb25jZSA9IFBUSFJFQURfT05DRV9JTklUOwotCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgX2hfZXJybm87CiAgICAgLy8gVE9ETzogSGF2ZSBvbmUgX19yZXNfc3RhdGUgcGVyIG5ldHdvcmsgc28gd2UgZG9uJ3QgaGF2ZSB0byByZXBvcHVsYXRlIGZyZXF1ZW50bHkuCkBAIC0xMDUsMTcgKzEwMywxNiBAQAogICAgIGZyZWUocnQpOwogfQogCi1zdGF0aWMgdm9pZAotX3Jlc19pbml0X2tleSggdm9pZCApCi17Ci0gICAgcHRocmVhZF9rZXlfY3JlYXRlKCAmX3Jlc19rZXksIF9yZXNfdGhyZWFkX2ZyZWUgKTsKK3N0YXRpYyBwdGhyZWFkX2tleV90IF9yZXNfa2V5OworCitfX2F0dHJpYnV0ZV9fKChjb25zdHJ1Y3RvcikpIHN0YXRpYyB2b2lkIF9fcmVzX2tleV9pbml0KCkgeworICAgIHB0aHJlYWRfa2V5X2NyZWF0ZSgmX3Jlc19rZXksIF9yZXNfdGhyZWFkX2ZyZWUpOwogfQogCiBzdGF0aWMgX3Jlc190aHJlYWQqCiBfcmVzX3RocmVhZF9nZXQodm9pZCkKIHsKICAgICBfcmVzX3RocmVhZCogIHJ0OwotICAgIHB0aHJlYWRfb25jZSggJl9yZXNfb25jZSwgX3Jlc19pbml0X2tleSApOwogICAgIHJ0ID0gcHRocmVhZF9nZXRzcGVjaWZpYyggX3Jlc19rZXkgKTsKIAogICAgIGlmIChydCAhPSBOVUxMKSB7CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvYW5kcm9pZC9kbGV4dC5oIGIvbGliYy9pbmNsdWRlL2FuZHJvaWQvZGxleHQuaAppbmRleCBmMjdlNGU1Li5mMTBhOGEyIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvYW5kcm9pZC9kbGV4dC5oCisrKyBiL2xpYmMvaW5jbHVkZS9hbmRyb2lkL2RsZXh0LmgKQEAgLTE4LDcgKzE4LDkgQEAKICNkZWZpbmUgX19BTkRST0lEX0RMRVhUX0hfXwogCiAjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ICAvKiBmb3Igb2ZmNjRfdCAqLwogCiBfX0JFR0lOX0RFQ0xTCiAKQEAgLTU3LDE2ICs1OSwyOCBAQAogICAvKiBJZiBvcGVuaW5nIGEgbGlicmFyeSB1c2luZyBsaWJyYXJ5X2ZkIHJlYWQgaXQgc3RhcnRpbmcgYXQgbGlicmFyeV9mZF9vZmZzZXQuCiAgICAqIFRoaXMgZmxhZyBpcyBvbmx5IHZhbGlkIHdoZW4gQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRCBpcyBzZXQuCiAgICAqLwotCiAgIEFORFJPSURfRExFWFRfVVNFX0xJQlJBUllfRkRfT0ZGU0VUICAgID0gMHgyMCwKIAorICAvKiBXaGVuIHNldCwgZG8gbm90IGNoZWNrIGlmIHRoZSBsaWJyYXJ5IGhhcyBhbHJlYWR5IGJlZW4gbG9hZGVkIGJ5IGZpbGUgc3RhdCgyKXMuCisgICAqCisgICAqIFRoaXMgZmxhZyBhbGxvd3MgZm9yY2VkIGxvYWRpbmcgb2YgdGhlIGxpYnJhcnkgaW4gdGhlIGNhc2Ugd2hlbiBmb3Igc29tZQorICAgKiByZWFzb24gbXVsdGlwbGUgRUxGIGZpbGVzIHNoYXJlIHRoZSBzYW1lIGZpbGVuYW1lIChiZWNhdXNlIHRoZSBhbHJlYWR5LWxvYWRlZAorICAgKiBsaWJyYXJ5IGhhcyBiZWVuIHJlbW92ZWQgYW5kIG92ZXJ3cml0dGVuLCBmb3IgZXhhbXBsZSkuCisgICAqCisgICAqIE5vdGUgdGhhdCBpZiB0aGUgbGlicmFyeSBoYXMgdGhlIHNhbWUgZHRfc29uYW1lIGFzIGFuIG9sZCBvbmUgYW5kIHNvbWUgb3RoZXIKKyAgICogbGlicmFyeSBoYXMgdGhlIHNvbmFtZSBpbiBEVF9ORUVERUQgbGlzdCwgdGhlIGZpcnN0IG9uZSB3aWxsIGJlIHVzZWQgdG8gcmVzb2x2ZSBhbnkKKyAgICogZGVwZW5kZW5jaWVzLgorICAgKi8KKyAgQU5EUk9JRF9ETEVYVF9GT1JDRV9MT0FEID0gMHg0MCwKKwogICAvKiBNYXNrIG9mIHZhbGlkIGJpdHMgKi8KICAgQU5EUk9JRF9ETEVYVF9WQUxJRF9GTEFHX0JJVFMgICAgICAgPSBBTkRST0lEX0RMRVhUX1JFU0VSVkVEX0FERFJFU1MgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFORFJPSURfRExFWFRfUkVTRVJWRURfQUREUkVTU19ISU5UIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkRST0lEX0RMRVhUX1dSSVRFX1JFTFJPIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkRST0lEX0RMRVhUX1VTRV9SRUxSTyB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRF9PRkZTRVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRF9PRkZTRVQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFORFJPSURfRExFWFRfRk9SQ0VfTE9BRCwKIH07CiAKIHR5cGVkZWYgc3RydWN0IHsKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9hbmRyb2lkL2xlZ2FjeV9lcnJub19pbmxpbmVzLmggYi9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfZXJybm9faW5saW5lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMDk2ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfZXJybm9faW5saW5lcy5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBfQU5EUk9JRF9MRUdBQ1lfRVJSTk9fSU5MSU5FU19ICisjZGVmaW5lIF9BTkRST0lEX0xFR0FDWV9FUlJOT19JTkxJTkVTX0gKKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorCitfX0JFR0lOX0RFQ0xTCisKK3N0YXRpYyBfX2lubGluZSBpbnQgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpIF9fc2V0X2Vycm5vKGludCBuKSB7CisgIGVycm5vID0gbjsKKyAgcmV0dXJuIC0xOworfQorCitfX0VORF9ERUNMUworCisjZW5kaWYgLyogX0FORFJPSURfTEVHQUNZX0VSUk5PX0lOTElORVNfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2FuZHJvaWQvbGVnYWN5X3NpZ25hbF9pbmxpbmVzLmggYi9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfc2lnbmFsX2lubGluZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjZlNjg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9pbmNsdWRlL2FuZHJvaWQvbGVnYWN5X3NpZ25hbF9pbmxpbmVzLmgKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9BTkRST0lEX0xFR0FDWV9TSUdOQUxfSU5MSU5FU19IXworI2RlZmluZSBfQU5EUk9JRF9MRUdBQ1lfU0lHTkFMX0lOTElORVNfSF8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorCitfX0JFR0lOX0RFQ0xTCisKK2V4dGVybiBzaWdoYW5kbGVyX3QgYnNkX3NpZ25hbChpbnQgc2lnbnVtLCBzaWdoYW5kbGVyX3QgaGFuZGxlcik7CisKK3N0YXRpYyBfX2lubGluZSBpbnQgc2lnaXNtZW1iZXIoc2lnc2V0X3QgKnNldCwgaW50IHNpZ251bSkgeworICAvKiBTaWduYWwgbnVtYmVycyBzdGFydCBhdCAxLCBidXQgYml0IHBvc2l0aW9ucyBzdGFydCBhdCAwLiAqLworICBpbnQgYml0ID0gc2lnbnVtIC0gMTsKKyAgY29uc3QgdW5zaWduZWQgbG9uZyAqbG9jYWxfc2V0ID0gKGNvbnN0IHVuc2lnbmVkIGxvbmcgKilzZXQ7CisgIGlmIChzZXQgPT0gTlVMTCB8fCBiaXQgPCAwIHx8IGJpdCA+PSAoaW50KSg4ICogc2l6ZW9mKHNpZ3NldF90KSkpIHsKKyAgICBlcnJubyA9IEVJTlZBTDsKKyAgICByZXR1cm4gLTE7CisgIH0KKyAgcmV0dXJuIChpbnQpKChsb2NhbF9zZXRbYml0IC8gTE9OR19CSVRdID4+IChiaXQgJSBMT05HX0JJVCkpICYgMSk7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQgc2lnYWRkc2V0KHNpZ3NldF90ICpzZXQsIGludCBzaWdudW0pIHsKKyAgLyogU2lnbmFsIG51bWJlcnMgc3RhcnQgYXQgMSwgYnV0IGJpdCBwb3NpdGlvbnMgc3RhcnQgYXQgMC4gKi8KKyAgaW50IGJpdCA9IHNpZ251bSAtIDE7CisgIHVuc2lnbmVkIGxvbmcgKmxvY2FsX3NldCA9ICh1bnNpZ25lZCBsb25nICopc2V0OworICBpZiAoc2V0ID09IE5VTEwgfHwgYml0IDwgMCB8fCBiaXQgPj0gKGludCkoOCAqIHNpemVvZihzaWdzZXRfdCkpKSB7CisgICAgZXJybm8gPSBFSU5WQUw7CisgICAgcmV0dXJuIC0xOworICB9CisgIGxvY2FsX3NldFtiaXQgLyBMT05HX0JJVF0gfD0gMVVMIDw8IChiaXQgJSBMT05HX0JJVCk7CisgIHJldHVybiAwOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50IHNpZ2RlbHNldChzaWdzZXRfdCAqc2V0LCBpbnQgc2lnbnVtKSB7CisgIC8qIFNpZ25hbCBudW1iZXJzIHN0YXJ0IGF0IDEsIGJ1dCBiaXQgcG9zaXRpb25zIHN0YXJ0IGF0IDAuICovCisgIGludCBiaXQgPSBzaWdudW0gLSAxOworICB1bnNpZ25lZCBsb25nICpsb2NhbF9zZXQgPSAodW5zaWduZWQgbG9uZyAqKXNldDsKKyAgaWYgKHNldCA9PSBOVUxMIHx8IGJpdCA8IDAgfHwgYml0ID49IChpbnQpKDggKiBzaXplb2Yoc2lnc2V0X3QpKSkgeworICAgIGVycm5vID0gRUlOVkFMOworICAgIHJldHVybiAtMTsKKyAgfQorICBsb2NhbF9zZXRbYml0IC8gTE9OR19CSVRdICY9IH4oMVVMIDw8IChiaXQgJSBMT05HX0JJVCkpOworICByZXR1cm4gMDsKK30KKworc3RhdGljIF9faW5saW5lIGludCBzaWdlbXB0eXNldChzaWdzZXRfdCAqc2V0KSB7CisgIGlmIChzZXQgPT0gTlVMTCkgeworICAgIGVycm5vID0gRUlOVkFMOworICAgIHJldHVybiAtMTsKKyAgfQorICBtZW1zZXQoc2V0LCAwLCBzaXplb2Yoc2lnc2V0X3QpKTsKKyAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQgc2lnZmlsbHNldChzaWdzZXRfdCAqc2V0KSB7CisgIGlmIChzZXQgPT0gTlVMTCkgeworICAgIGVycm5vID0gRUlOVkFMOworICAgIHJldHVybiAtMTsKKyAgfQorICBtZW1zZXQoc2V0LCB+MCwgc2l6ZW9mKHNpZ3NldF90KSk7CisgIHJldHVybiAwOworfQorCitzdGF0aWMgX19pbmxpbmUgc2lnaGFuZGxlcl90IHNpZ25hbChpbnQgcywgc2lnaGFuZGxlcl90IGYpIHsKKyAgcmV0dXJuIGJzZF9zaWduYWwocywgZik7Cit9CisKK19fRU5EX0RFQ0xTCisKKyNlbmRpZiAvKiBfQU5EUk9JRF9MRUdBQ1lfU0lHTkFMX0lOTElORVNfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9hbmRyb2lkL2xlZ2FjeV9zdGRsaWJfaW5saW5lcy5oIGIvbGliYy9pbmNsdWRlL2FuZHJvaWQvbGVnYWN5X3N0ZGxpYl9pbmxpbmVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThhMmE5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvaW5jbHVkZS9hbmRyb2lkL2xlZ2FjeV9zdGRsaWJfaW5saW5lcy5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBfQU5EUk9JRF9MRUdBQ1lfU1RETElCX0lOTElORVNfSF8KKyNkZWZpbmUgX0FORFJPSURfTEVHQUNZX1NURExJQl9JTkxJTkVTX0hfCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKworX19CRUdJTl9ERUNMUworCitzdGF0aWMgX19pbmxpbmUgZmxvYXQgc3RydG9mKGNvbnN0IGNoYXIgKm5wdHIsIGNoYXIgKiplbmRwdHIpIHsKKyAgcmV0dXJuIChmbG9hdClzdHJ0b2QobnB0ciwgZW5kcHRyKTsKK30KKworc3RhdGljIF9faW5saW5lIGRvdWJsZSBhdG9mKGNvbnN0IGNoYXIgKm5wdHIpIHsgcmV0dXJuIChzdHJ0b2QobnB0ciwgTlVMTCkpOyB9CisKK3N0YXRpYyBfX2lubGluZSBpbnQgYWJzKGludCBfX24pIHsgcmV0dXJuIChfX24gPCAwKSA/IC1fX24gOiBfX247IH0KKworc3RhdGljIF9faW5saW5lIGxvbmcgbGFicyhsb25nIF9fbikgeyByZXR1cm4gKF9fbiA8IDBMKSA/IC1fX24gOiBfX247IH0KKworc3RhdGljIF9faW5saW5lIGxvbmcgbG9uZyBsbGFicyhsb25nIGxvbmcgX19uKSB7CisgIHJldHVybiAoX19uIDwgMExMKSA/IC1fX24gOiBfX247Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQgcmFuZCh2b2lkKSB7IHJldHVybiAoaW50KWxyYW5kNDgoKTsgfQorCitzdGF0aWMgX19pbmxpbmUgdm9pZCBzcmFuZCh1bnNpZ25lZCBpbnQgX19zKSB7IHNyYW5kNDgoX19zKTsgfQorCitzdGF0aWMgX19pbmxpbmUgbG9uZyByYW5kb20odm9pZCkgeyByZXR1cm4gbHJhbmQ0OCgpOyB9CisKK3N0YXRpYyBfX2lubGluZSB2b2lkIHNyYW5kb20odW5zaWduZWQgaW50IF9fcykgeyBzcmFuZDQ4KF9fcyk7IH0KKworc3RhdGljIF9faW5saW5lIGludCBncmFudHB0KGludCBfX2ZkIF9fYXR0cmlidXRlKCh1bnVzZWQpKSkgeworICByZXR1cm4gMDsgLyogZGV2cHRzIGRvZXMgdGhpcyBhbGwgZm9yIHVzISAqLworfQorCitfX0VORF9ERUNMUworCisjZW5kaWYgLyogX0FORFJPSURfTEVHQUNZX1NURExJQl9JTkxJTkVTX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfc3lzX2F0b21pY3NfaW5saW5lcy5oIGIvbGliYy9pbmNsdWRlL2FuZHJvaWQvbGVnYWN5X3N5c19hdG9taWNzX2lubGluZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWNiYWRlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9pbmNsdWRlL2FuZHJvaWQvbGVnYWN5X3N5c19hdG9taWNzX2lubGluZXMuaApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX0FORFJPSURfTEVHQUNZX1NZU19BVE9NSUNTX0lOTElORVNfSF8KKyNkZWZpbmUgX0FORFJPSURfTEVHQUNZX1NZU19BVE9NSUNTX0lOTElORVNfSF8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorCitfX0JFR0lOX0RFQ0xTCisKKy8qIE5vdGU6IGF0b21pYyBvcGVyYXRpb25zIHRoYXQgd2VyZSBleHBvcnRlZCBieSB0aGUgQyBsaWJyYXJ5IGRpZG4ndAorICogICAgICAgcHJvdmlkZSBhbnkgbWVtb3J5IGJhcnJpZXJzLCB3aGljaCBjcmVhdGVkIHBvdGVudGlhbCBpc3N1ZXMgb24KKyAqICAgICAgIG11bHRpLWNvcmUgZGV2aWNlcy4gV2Ugbm93IGRlZmluZSB0aGVtIGFzIGlubGluZWQgY2FsbHMgdG8KKyAqICAgICAgIEdDQyBzeW5jIGJ1aWx0aW5zLCB3aGljaCBhbHdheXMgcHJvdmlkZSBhIGZ1bGwgYmFycmllci4KKyAqCisgKiAgICAgICBOT1RFOiBUaGUgQyBsaWJyYXJ5IHN0aWxsIGV4cG9ydHMgYXRvbWljIGZ1bmN0aW9ucyBieSB0aGUgc2FtZQorICogICAgICAgICAgICAgIG5hbWUgdG8gZW5zdXJlIEFCSSBzdGFiaWxpdHkgZm9yIGV4aXN0aW5nIE5ESyBtYWNoaW5lIGNvZGUuCisgKgorICogICAgICAgSWYgeW91IGFyZSBhbiBOREsgZGV2ZWxvcGVyLCB3ZSBlbmNvdXJhZ2UgeW91IHRvIHJlYnVpbGQgeW91cgorICogICAgICAgdW5tb2RpZmllZCBzb3VyY2VzIGFnYWluc3QgdGhpcyBoZWFkZXIgYXMgc29vbiBhcyBwb3NzaWJsZS4KKyAqLworI2RlZmluZSBfX0FUT01JQ19JTkxJTkVfXyBzdGF0aWMgX19pbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpCisKK19fQVRPTUlDX0lOTElORV9fIGludCBfX2F0b21pY19jbXB4Y2hnKGludCBvbGQsIGludCBfbmV3LCB2b2xhdGlsZSBpbnQgKnB0cikgeworICAvKiBXZSBtdXN0IHJldHVybiAwIG9uIHN1Y2Nlc3MgKi8KKyAgcmV0dXJuIF9fc3luY192YWxfY29tcGFyZV9hbmRfc3dhcChwdHIsIG9sZCwgX25ldykgIT0gb2xkOworfQorCitfX0FUT01JQ19JTkxJTkVfXyBpbnQgX19hdG9taWNfc3dhcChpbnQgX25ldywgdm9sYXRpbGUgaW50ICpwdHIpIHsKKyAgaW50IHByZXY7CisgIGRvIHsKKyAgICBwcmV2ID0gKnB0cjsKKyAgfSB3aGlsZSAoX19zeW5jX3ZhbF9jb21wYXJlX2FuZF9zd2FwKHB0ciwgcHJldiwgX25ldykgIT0gcHJldik7CisgIHJldHVybiBwcmV2OworfQorCitfX0FUT01JQ19JTkxJTkVfXyBpbnQgX19hdG9taWNfZGVjKHZvbGF0aWxlIGludCAqcHRyKSB7CisgIHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX3N1YihwdHIsIDEpOworfQorCitfX0FUT01JQ19JTkxJTkVfXyBpbnQgX19hdG9taWNfaW5jKHZvbGF0aWxlIGludCAqcHRyKSB7CisgIHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX2FkZChwdHIsIDEpOworfQorCitfX0VORF9ERUNMUworCisjZW5kaWYgLyogX0FORFJPSURfTEVHQUNZX1NZU19BVE9NSUNTX0lOTElORVNfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9hbmRyb2lkL2xlZ2FjeV9zeXNfc3RhdF9pbmxpbmVzLmggYi9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfc3lzX3N0YXRfaW5saW5lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZDNjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfc3lzX3N0YXRfaW5saW5lcy5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBfQU5EUk9JRF9MRUdBQ1lfU1lTX1NUQVRfSU5MSU5FU19IXworI2RlZmluZSBfQU5EUk9JRF9MRUdBQ1lfU1lTX1NUQVRfSU5MSU5FU19IXworCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisKK19fQkVHSU5fREVDTFMKKworc3RhdGljIF9faW5saW5lIGludCBta2ZpZm8oY29uc3QgY2hhciAqX19wLCBtb2RlX3QgX19tKSB7CisgIHJldHVybiBta25vZChfX3AsIChfX20gJiB+U19JRk1UKSB8IFNfSUZJRk8sIChkZXZfdCkwKTsKK30KKworX19FTkRfREVDTFMKKworI2VuZGlmIC8qIF9BTkRST0lEX0xFR0FDWV9TWVNfU1RBVF9JTkxJTkVTX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfdGVybWlvc19pbmxpbmVzLmggYi9saWJjL2luY2x1ZGUvYW5kcm9pZC9sZWdhY3lfdGVybWlvc19pbmxpbmVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI2MWYyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvaW5jbHVkZS9hbmRyb2lkL2xlZ2FjeV90ZXJtaW9zX2lubGluZXMuaApAQCAtMCwwICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX0FORFJPSURfTEVHQUNZX1RFUk1JT1NfSU5MSU5FU19IXworI2RlZmluZSBfQU5EUk9JRF9MRUdBQ1lfVEVSTUlPU19JTkxJTkVTX0hfCisKKyNpbmNsdWRlIDxsaW51eC90ZXJtaW9zLmg+CisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKK19fQkVHSU5fREVDTFMKKworc3RhdGljIF9faW5saW5lIGludCB0Y2dldGF0dHIoaW50IGZkLCBzdHJ1Y3QgdGVybWlvcyAqcykgeworICByZXR1cm4gaW9jdGwoZmQsIFRDR0VUUywgcyk7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQgdGNzZXRhdHRyKGludCBmZCwgaW50IF9fb3B0LCBjb25zdCBzdHJ1Y3QgdGVybWlvcyAqcykgeworICByZXR1cm4gaW9jdGwoZmQsIF9fb3B0LCAodm9pZCAqKXMpOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50IHRjZmxvdyhpbnQgZmQsIGludCBhY3Rpb24pIHsKKyAgcmV0dXJuIGlvY3RsKGZkLCBUQ1hPTkMsICh2b2lkICopKGludHB0cl90KWFjdGlvbik7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQgdGNmbHVzaChpbnQgZmQsIGludCBfX3F1ZXVlKSB7CisgIHJldHVybiBpb2N0bChmZCwgVENGTFNILCAodm9pZCAqKShpbnRwdHJfdClfX3F1ZXVlKTsKK30KKworc3RhdGljIF9faW5saW5lIHBpZF90IHRjZ2V0c2lkKGludCBmZCkgeworICBwaWRfdCBfcGlkOworICByZXR1cm4gaW9jdGwoZmQsIFRJT0NHU0lELCAmX3BpZCkgPyAocGlkX3QpLTEgOiBfcGlkOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50IHRjc2VuZGJyZWFrKGludCBmZCwgaW50IF9fZHVyYXRpb24pIHsKKyAgcmV0dXJuIGlvY3RsKGZkLCBUQ1NCUktQLCAodm9pZCAqKSh1aW50cHRyX3QpX19kdXJhdGlvbik7Cit9CisKK3N0YXRpYyBfX2lubGluZSBzcGVlZF90IGNmZ2V0b3NwZWVkKGNvbnN0IHN0cnVjdCB0ZXJtaW9zICpzKSB7CisgIHJldHVybiAoc3BlZWRfdCkocy0+Y19jZmxhZyAmIENCQVVEKTsKK30KKworc3RhdGljIF9faW5saW5lIGludCBjZnNldG9zcGVlZChzdHJ1Y3QgdGVybWlvcyAqcywgc3BlZWRfdCBzcGVlZCkgeworICBzLT5jX2NmbGFnID0gKHMtPmNfY2ZsYWcgJiB+Q0JBVUQpIHwgKHNwZWVkICYgQ0JBVUQpOworICByZXR1cm4gMDsKK30KKworc3RhdGljIF9faW5saW5lIHNwZWVkX3QgY2ZnZXRpc3BlZWQoY29uc3Qgc3RydWN0IHRlcm1pb3MgKnMpIHsKKyAgcmV0dXJuIChzcGVlZF90KShzLT5jX2NmbGFnICYgQ0JBVUQpOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50IGNmc2V0aXNwZWVkKHN0cnVjdCB0ZXJtaW9zICpzLCBzcGVlZF90IHNwZWVkKSB7CisgIHMtPmNfY2ZsYWcgPSAocy0+Y19jZmxhZyAmIH5DQkFVRCkgfCAoc3BlZWQgJiBDQkFVRCk7CisgIHJldHVybiAwOworfQorCitzdGF0aWMgX19pbmxpbmUgdm9pZCBjZm1ha2VyYXcoc3RydWN0IHRlcm1pb3MgKnMpIHsKKyAgcy0+Y19pZmxhZyAmPQorICAgICAgfihJR05CUksgfCBCUktJTlQgfCBQQVJNUksgfCBJU1RSSVAgfCBJTkxDUiB8IElHTkNSIHwgSUNSTkwgfCBJWE9OKTsKKyAgcy0+Y19vZmxhZyAmPSB+T1BPU1Q7CisgIHMtPmNfbGZsYWcgJj0gfihFQ0hPIHwgRUNIT05MIHwgSUNBTk9OIHwgSVNJRyB8IElFWFRFTik7CisgIHMtPmNfY2ZsYWcgJj0gfihDU0laRSB8IFBBUkVOQik7CisgIHMtPmNfY2ZsYWcgfD0gQ1M4OworfQorCitfX0VORF9ERUNMUworCisjZW5kaWYgLyogX0FORFJPSURfTEVHQUNZX1RFUk1JT1NfSU5MSU5FU19IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2FycGEvbmFtZXNlcl9jb21wYXQuaCBiL2xpYmMvaW5jbHVkZS9hcnBhL25hbWVzZXJfY29tcGF0LmgKaW5kZXggZTA2MGY2MC4uNTM5ODY0ZSAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL2FycGEvbmFtZXNlcl9jb21wYXQuaAorKysgYi9saWJjL2luY2x1ZGUvYXJwYS9uYW1lc2VyX2NvbXBhdC5oCkBAIC00NCw1MyArNDQsNiBAQAogCiAjaW5jbHVkZSA8ZW5kaWFuLmg+CiAKLSNpZm5kZWYgQllURV9PUkRFUgotI2lmIChCU0QgPj0gMTk5MTAzKQotIyBpbmNsdWRlIDxtYWNoaW5lL2VuZGlhbi5oPgotI2Vsc2UKLSNpZmRlZiBfX2xpbnV4X18KLSMgaW5jbHVkZSA8ZW5kaWFuLmg+Ci0jZWxzZQotI2RlZmluZQlMSVRUTEVfRU5ESUFOCTEyMzQJLyogbGVhc3Qtc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdCAodmF4LCBwYykgKi8KLSNkZWZpbmUJQklHX0VORElBTgk0MzIxCS8qIG1vc3Qtc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdCAoSUJNLCBuZXQpICovCi0jZGVmaW5lCVBEUF9FTkRJQU4JMzQxMgkvKiBMU0IgZmlyc3QgaW4gd29yZCwgTVNXIGZpcnN0IGluIGxvbmcgKHBkcCkqLwotCi0jaWYgZGVmaW5lZCh2YXgpIHx8IGRlZmluZWQobnMzMjAwMCkgfHwgZGVmaW5lZChzdW4zODYpIHx8IGRlZmluZWQoaTM4NikgfHwgXAotICAgIGRlZmluZWQoTUlQU0VMKSB8fCBkZWZpbmVkKF9NSVBTRUwpIHx8IGRlZmluZWQoQklUX1pFUk9fT05fUklHSFQpIHx8IFwKLSAgICBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX2FtZDY0X18pIHx8IFwKLSAgICBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoTUlQU0VMKSB8fCBkZWZpbmVkKF9NSVBTRUwpIHx8IFwKLSAgICBkZWZpbmVkKEJJVF9aRVJPX09OX1JJR0hUKSB8fCBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfX2FscGhhKSB8fCBcCi0gICAgKGRlZmluZWQoX19MeW54X18pICYmIGRlZmluZWQoX194ODZfXykpCi0jZGVmaW5lIEJZVEVfT1JERVIJTElUVExFX0VORElBTgotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKHNlbCkgfHwgZGVmaW5lZChweXIpIHx8IGRlZmluZWQobWM2ODAwMCkgfHwgZGVmaW5lZChzcGFyYykgfHwgXAotICAgIGRlZmluZWQoaXM2OGspIHx8IGRlZmluZWQodGFob2UpIHx8IGRlZmluZWQoaWJtMDMyKSB8fCBkZWZpbmVkKGlibTM3MCkgfHwgXAotICAgIGRlZmluZWQoTUlQU0VCKSB8fCBkZWZpbmVkKF9NSVBTRUIpIHx8IGRlZmluZWQoX0lCTVIyKSB8fCBkZWZpbmVkKERHVVgpIHx8XAotICAgIGRlZmluZWQoYXBvbGxvKSB8fCBkZWZpbmVkKF9fY29udmV4X18pIHx8IGRlZmluZWQoX0NSQVkpIHx8IFwKLSAgICBkZWZpbmVkKF9faHBwYSkgfHwgZGVmaW5lZChfX2hwOTAwMCkgfHwgXAotICAgIGRlZmluZWQoX19ocDkwMDBzMzAwKSB8fCBkZWZpbmVkKF9faHA5MDAwczcwMCkgfHwgXAotICAgIGRlZmluZWQoX19ocDMwMDBzOTAwKSB8fCBkZWZpbmVkKF9faHB1eCkgfHwgZGVmaW5lZChNUEUpIHx8IFwKLSAgICBkZWZpbmVkIChCSVRfWkVST19PTl9MRUZUKSB8fCBkZWZpbmVkKG02OGspIHx8IGRlZmluZWQoX19zcGFyYykgfHwgIFwKLSAgICAoZGVmaW5lZChfX0x5bnhfXykgJiYgXAotICAgICAoZGVmaW5lZChfXzY4a19fKSB8fCBkZWZpbmVkKF9fc3BhcmNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykpKQotI2RlZmluZSBCWVRFX09SREVSCUJJR19FTkRJQU4KLSNlbmRpZgotI2VuZGlmIC8qIF9fbGludXggKi8KLSNlbmRpZiAvKiBCU0QgKi8KLSNlbmRpZiAvKiBCWVRFX09SREVSICovCi0KLSNpZiAhZGVmaW5lZChCWVRFX09SREVSKSB8fCBcCi0gICAgKEJZVEVfT1JERVIgIT0gQklHX0VORElBTiAmJiBCWVRFX09SREVSICE9IExJVFRMRV9FTkRJQU4gJiYgXAotICAgIEJZVEVfT1JERVIgIT0gUERQX0VORElBTikKLQkvKiB5b3UgbXVzdCBkZXRlcm1pbmUgd2hhdCB0aGUgY29ycmVjdCBiaXQgb3JkZXIgaXMgZm9yCi0JICogeW91ciBjb21waWxlciAtIHRoZSBuZXh0IGxpbmUgaXMgYW4gaW50ZW50aW9uYWwgZXJyb3IKLQkgKiB3aGljaCB3aWxsIGZvcmNlIHlvdXIgY29tcGlsZXMgdG8gYm9tYiB1bnRpbCB5b3UgZml4Ci0JICogdGhlIGFib3ZlIG1hY3Jvcy4KLQkgKi8KLSAgI2Vycm9yICJVbmRlZmluZWQgb3IgaW52YWxpZCBCWVRFX09SREVSIjsKLSNlbmRpZgotCiAvKgogICogU3RydWN0dXJlIGZvciBxdWVyeSBoZWFkZXIuICBUaGUgb3JkZXIgb2YgdGhlIGZpZWxkcyBpcyBtYWNoaW5lLSBhbmQKICAqIGNvbXBpbGVyLWRlcGVuZGVudCwgZGVwZW5kaW5nIG9uIHRoZSBieXRlL2JpdCBvcmRlciBhbmQgdGhlIGxheW91dApkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2N0eXBlLmggYi9saWJjL2luY2x1ZGUvY3R5cGUuaAppbmRleCBkMDVhOTUyLi44M2I1YmE3IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvY3R5cGUuaAorKysgYi9saWJjL2luY2x1ZGUvY3R5cGUuaApAQCAtNDMsMzYgKzQzLDM3IEBACiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiAjaW5jbHVkZSA8eGxvY2FsZS5oPgogCi0jZGVmaW5lCV9DVFlQRV9VCTB4MDEKLSNkZWZpbmUJX0NUWVBFX0wJMHgwMgotI2RlZmluZQlfQ1RZUEVfRAkweDA0Ci0jZGVmaW5lCV9DVFlQRV9TCTB4MDgKLSNkZWZpbmUJX0NUWVBFX1AJMHgxMAotI2RlZmluZQlfQ1RZUEVfQwkweDIwCi0jZGVmaW5lCV9DVFlQRV9YCTB4NDAKLSNkZWZpbmUJX0NUWVBFX0IJMHg4MAotI2RlZmluZQlfQ1RZUEVfUgkoX0NUWVBFX1B8X0NUWVBFX1V8X0NUWVBFX0x8X0NUWVBFX0R8X0NUWVBFX0IpCi0jZGVmaW5lCV9DVFlQRV9BCShfQ1RZUEVfTHxfQ1RZUEVfVSkKKyNkZWZpbmUgX0NUWVBFX1UgMHgwMQorI2RlZmluZSBfQ1RZUEVfTCAweDAyCisjZGVmaW5lIF9DVFlQRV9EIDB4MDQKKyNkZWZpbmUgX0NUWVBFX1MgMHgwOAorI2RlZmluZSBfQ1RZUEVfUCAweDEwCisjZGVmaW5lIF9DVFlQRV9DIDB4MjAKKyNkZWZpbmUgX0NUWVBFX1ggMHg0MAorI2RlZmluZSBfQ1RZUEVfQiAweDgwCisjZGVmaW5lIF9DVFlQRV9SIChfQ1RZUEVfUHxfQ1RZUEVfVXxfQ1RZUEVfTHxfQ1RZUEVfRHxfQ1RZUEVfQikKKyNkZWZpbmUgX0NUWVBFX0EgKF9DVFlQRV9MfF9DVFlQRV9VKQogCiBfX0JFR0lOX0RFQ0xTCiAKIGV4dGVybiBjb25zdCBjaGFyCSpfY3R5cGVfOwogCiAjaWYgZGVmaW5lZChfX0dOVUNfXykgfHwgZGVmaW5lZChfQU5TSV9MSUJSQVJZKSB8fCBkZWZpbmVkKGxpbnQpCi1pbnQJaXNhbG51bShpbnQpOwotaW50CWlzYWxwaGEoaW50KTsKLWludAlpc2NudHJsKGludCk7Ci1pbnQJaXNkaWdpdChpbnQpOwotaW50CWlzZ3JhcGgoaW50KTsKLWludAlpc2xvd2VyKGludCk7Ci1pbnQJaXNwcmludChpbnQpOwotaW50CWlzcHVuY3QoaW50KTsKLWludAlpc3NwYWNlKGludCk7Ci1pbnQJaXN1cHBlcihpbnQpOwotaW50CWlzeGRpZ2l0KGludCk7Ci1pbnQJdG9sb3dlcihpbnQpOwotaW50CXRvdXBwZXIoaW50KTsKK2ludCBpc2FsbnVtKGludCk7CitpbnQgaXNhbHBoYShpbnQpOworaW50IGlzY250cmwoaW50KTsKK2ludCBpc2RpZ2l0KGludCk7CitpbnQgaXNncmFwaChpbnQpOworaW50IGlzbG93ZXIoaW50KTsKK2ludCBpc3ByaW50KGludCk7CitpbnQgaXNwdW5jdChpbnQpOworaW50IGlzc3BhY2UoaW50KTsKK2ludCBpc3VwcGVyKGludCk7CitpbnQgaXN4ZGlnaXQoaW50KTsKK2ludCB0b2xvd2VyKGludCk7CitpbnQgdG91cHBlcihpbnQpOwogCisjaWYgX19BTkRST0lEX0FQSV9fID49IDIxCiBpbnQgaXNhbG51bV9sKGludCwgbG9jYWxlX3QpOwogaW50IGlzYWxwaGFfbChpbnQsIGxvY2FsZV90KTsKIGludCBpc2JsYW5rX2woaW50LCBsb2NhbGVfdCk7CkBAIC04NywxNyArODgsMTggQEAKIGludCBpc3hkaWdpdF9sKGludCwgbG9jYWxlX3QpOwogaW50IHRvbG93ZXJfbChpbnQsIGxvY2FsZV90KTsKIGludCB0b3VwcGVyX2woaW50LCBsb2NhbGVfdCk7CisjZW5kaWYgLyogX19BTkRST0lEX0FQSV9fID49IDIxICovCiAKICNpZiBfX0JTRF9WSVNJQkxFIHx8IF9fSVNPX0NfVklTSUJMRSA+PSAxOTk5IHx8IF9fUE9TSVhfVklTSUJMRSA+IDIwMDExMiBcCiAgICAgfHwgX19YUEdfVklTSUJMRSA+IDYwMAotaW50CWlzYmxhbmsoaW50KTsKK2ludCBpc2JsYW5rKGludCk7CiAjZW5kaWYKIAogI2lmIF9fQlNEX1ZJU0lCTEUgfHwgX19YUEdfVklTSUJMRQotaW50CWlzYXNjaWkoaW50KTsKLWludAl0b2FzY2lpKGludCk7Ci1pbnQJX3RvbG93ZXIoaW50KTsKLWludAlfdG91cHBlcihpbnQpOworaW50IGlzYXNjaWkoaW50KTsKK2ludCB0b2FzY2lpKGludCk7CitpbnQgX3RvbG93ZXIoaW50KTsKK2ludCBfdG91cHBlcihpbnQpOwogI2VuZGlmIC8qIF9fQlNEX1ZJU0lCTEUgfHwgX19YUEdfVklTSUJMRSAqLwogCiAjZW5kaWYgLyogX19HTlVDX18gfHwgX0FOU0lfTElCUkFSWSB8fCBsaW50ICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvZGlyZW50LmggYi9saWJjL2luY2x1ZGUvZGlyZW50LmgKaW5kZXggYTg0OWE2MS4uNjM3MTZhNCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL2RpcmVudC5oCisrKyBiL2xpYmMvaW5jbHVkZS9kaXJlbnQuaApAQCAtNTgsNiArNTgsMTIgQEAKIAogI3VuZGVmIF9fRElSRU5UNjRfQk9EWQogCisvKiBnbGliYyBjb21wYXRpYmlsaXR5LiAqLworI3VuZGVmIF9ESVJFTlRfSEFWRV9EX05BTUxFTiAvKiBMaW51eCBkb2Vzbid0IGhhdmUgYSBkX25hbWxlbiBmaWVsZC4gKi8KKyNkZWZpbmUgX0RJUkVOVF9IQVZFX0RfUkVDTEVOCisjZGVmaW5lIF9ESVJFTlRfSEFWRV9EX09GRgorI2RlZmluZSBfRElSRU5UX0hBVkVfRF9UWVBFCisKICNkZWZpbmUgZF9maWxlbm8gZF9pbm8KIAogdHlwZWRlZiBzdHJ1Y3QgRElSIERJUjsKQEAgLTcwLDYgKzc2LDggQEAKIGV4dGVybiBpbnQgcmVhZGRpcjY0X3IoRElSKiwgc3RydWN0IGRpcmVudDY0Kiwgc3RydWN0IGRpcmVudDY0KiopOwogZXh0ZXJuIGludCBjbG9zZWRpcihESVIqKTsKIGV4dGVybiB2b2lkIHJld2luZGRpcihESVIqKTsKK2V4dGVybiB2b2lkIHNlZWtkaXIoRElSKiwgbG9uZyk7CitleHRlcm4gbG9uZyB0ZWxsZGlyKERJUiopOwogZXh0ZXJuIGludCBkaXJmZChESVIqKTsKIGV4dGVybiBpbnQgYWxwaGFzb3J0KGNvbnN0IHN0cnVjdCBkaXJlbnQqKiwgY29uc3Qgc3RydWN0IGRpcmVudCoqKTsKIGV4dGVybiBpbnQgYWxwaGFzb3J0NjQoY29uc3Qgc3RydWN0IGRpcmVudDY0KiosIGNvbnN0IHN0cnVjdCBkaXJlbnQ2NCoqKTsKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9kbGZjbi5oIGIvbGliYy9pbmNsdWRlL2RsZmNuLmgKaW5kZXggOGRkZTA4Yy4uYWZhNzY4NyAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL2RsZmNuLmgKKysrIGIvbGliYy9pbmNsdWRlL2RsZmNuLmgKQEAgLTY0LDYgKzY0LDcgQEAKICAgUlRMRF9HTE9CQUwgPSAyLAogI2VuZGlmCiAgIFJUTERfTk9MT0FEID0gNCwKKyAgUlRMRF9OT0RFTEVURSA9IDB4MDEwMDAsCiB9OwogCiAjaWYgZGVmaW5lZCAoX19MUDY0X18pCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvZWxmLmggYi9saWJjL2luY2x1ZGUvZWxmLmgKaW5kZXggN2RlNDY0ZS4uZGY3NjhiYSAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL2VsZi5oCisrKyBiL2xpYmMvaW5jbHVkZS9lbGYuaApAQCAtNDgsMzUgKzQ4LDEwMCBAQAogICB9IGFfdW47CiB9IEVsZjY0X2F1eHZfdDsKIAordHlwZWRlZiBFbGYzMl9IYWxmIEVsZjMyX1ZlcnN5bTsKK3R5cGVkZWYgRWxmNjRfSGFsZiBFbGY2NF9WZXJzeW07CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgRWxmMzJfSGFsZiB2ZF92ZXJzaW9uOworICBFbGYzMl9IYWxmIHZkX2ZsYWdzOworICBFbGYzMl9IYWxmIHZkX25keDsKKyAgRWxmMzJfSGFsZiB2ZF9jbnQ7CisgIEVsZjMyX1dvcmQgdmRfaGFzaDsKKyAgRWxmMzJfV29yZCB2ZF9hdXg7CisgIEVsZjMyX1dvcmQgdmRfbmV4dDsKK30gRWxmMzJfVmVyZGVmOworCit0eXBlZGVmIHN0cnVjdCB7CisgIEVsZjMyX1dvcmQgdmRhX25hbWU7CisgIEVsZjMyX1dvcmQgdmRhX25leHQ7Cit9IEVsZjMyX1ZlcmRhdXg7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgRWxmNjRfSGFsZiB2ZF92ZXJzaW9uOworICBFbGY2NF9IYWxmIHZkX2ZsYWdzOworICBFbGY2NF9IYWxmIHZkX25keDsKKyAgRWxmNjRfSGFsZiB2ZF9jbnQ7CisgIEVsZjY0X1dvcmQgdmRfaGFzaDsKKyAgRWxmNjRfV29yZCB2ZF9hdXg7CisgIEVsZjY0X1dvcmQgdmRfbmV4dDsKK30gRWxmNjRfVmVyZGVmOworCit0eXBlZGVmIHN0cnVjdCB7CisgIEVsZjY0X1dvcmQgdmRhX25hbWU7CisgIEVsZjY0X1dvcmQgdmRhX25leHQ7Cit9IEVsZjY0X1ZlcmRhdXg7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgRWxmMzJfSGFsZiB2bl92ZXJzaW9uOworICBFbGYzMl9IYWxmIHZuX2NudDsKKyAgRWxmMzJfV29yZCB2bl9maWxlOworICBFbGYzMl9Xb3JkIHZuX2F1eDsKKyAgRWxmMzJfV29yZCB2bl9uZXh0OworfSBFbGYzMl9WZXJuZWVkOworCit0eXBlZGVmIHN0cnVjdCB7CisgIEVsZjMyX1dvcmQgdm5hX2hhc2g7CisgIEVsZjMyX0hhbGYgdm5hX2ZsYWdzOworICBFbGYzMl9IYWxmIHZuYV9vdGhlcjsKKyAgRWxmMzJfV29yZCB2bmFfbmFtZTsKKyAgRWxmMzJfV29yZCB2bmFfbmV4dDsKK30gRWxmMzJfVmVybmF1eDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICBFbGY2NF9IYWxmIHZuX3ZlcnNpb247CisgIEVsZjY0X0hhbGYgdm5fY250OworICBFbGY2NF9Xb3JkIHZuX2ZpbGU7CisgIEVsZjY0X1dvcmQgdm5fYXV4OworICBFbGY2NF9Xb3JkIHZuX25leHQ7Cit9IEVsZjY0X1Zlcm5lZWQ7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgRWxmNjRfV29yZCB2bmFfaGFzaDsKKyAgRWxmNjRfSGFsZiB2bmFfZmxhZ3M7CisgIEVsZjY0X0hhbGYgdm5hX290aGVyOworICBFbGY2NF9Xb3JkIHZuYV9uYW1lOworICBFbGY2NF9Xb3JkIHZuYV9uZXh0OworfSBFbGY2NF9WZXJuYXV4OworCiAjZGVmaW5lIERGX09SSUdJTiAgICAgMHgwMDAwMDAwMQogI2RlZmluZSBERl9TWU1CT0xJQyAgIDB4MDAwMDAwMDIKICNkZWZpbmUgREZfVEVYVFJFTCAgICAweDAwMDAwMDA0CiAjZGVmaW5lIERGX0JJTkRfTk9XICAgMHgwMDAwMDAwOAogI2RlZmluZSBERl9TVEFUSUNfVExTIDB4MDAwMDAwMTAKIAotI2RlZmluZSBERl8xX05PVyAgICAgICAgMHgwMDAwMDAwMSAvLyBQZXJmb3JtIGNvbXBsZXRlIHJlbG9jYXRpb24gcHJvY2Vzc2luZy4KLSNkZWZpbmUgREZfMV9HTE9CQUwgICAgIDB4MDAwMDAwMDIgLy8gaW1wbGllcyBSVExEX0dMT0JBTAorI2RlZmluZSBERl8xX05PVyAgICAgICAgMHgwMDAwMDAwMSAvKiBQZXJmb3JtIGNvbXBsZXRlIHJlbG9jYXRpb24gcHJvY2Vzc2luZy4gKi8KKyNkZWZpbmUgREZfMV9HTE9CQUwgICAgIDB4MDAwMDAwMDIgLyogaW1wbGllcyBSVExEX0dMT0JBTCAqLwogI2RlZmluZSBERl8xX0dST1VQICAgICAgMHgwMDAwMDAwNAotI2RlZmluZSBERl8xX05PREVMRVRFICAgMHgwMDAwMDAwOCAvLyBpbXBsaWVzIFJUTERfTk9ERUxFVEUKKyNkZWZpbmUgREZfMV9OT0RFTEVURSAgIDB4MDAwMDAwMDggLyogaW1wbGllcyBSVExEX05PREVMRVRFICovCiAjZGVmaW5lIERGXzFfTE9BREZMVFIgICAweDAwMDAwMDEwCiAjZGVmaW5lIERGXzFfSU5JVEZJUlNUICAweDAwMDAwMDIwCi0jZGVmaW5lIERGXzFfTk9PUEVOICAgICAweDAwMDAwMDQwIC8vIE9iamVjdCBjYW4gbm90IGJlIHVzZWQgd2l0aCBkbG9wZW4oMykKKyNkZWZpbmUgREZfMV9OT09QRU4gICAgIDB4MDAwMDAwNDAgLyogT2JqZWN0IGNhbiBub3QgYmUgdXNlZCB3aXRoIGRsb3BlbigzKSAqLwogI2RlZmluZSBERl8xX09SSUdJTiAgICAgMHgwMDAwMDA4MAogI2RlZmluZSBERl8xX0RJUkVDVCAgICAgMHgwMDAwMDEwMAogI2RlZmluZSBERl8xX1RSQU5TICAgICAgMHgwMDAwMDIwMAogI2RlZmluZSBERl8xX0lOVEVSUE9TRSAgMHgwMDAwMDQwMAogI2RlZmluZSBERl8xX05PREVGTElCICAgMHgwMDAwMDgwMAotI2RlZmluZSBERl8xX05PRFVNUCAgICAgMHgwMDAwMTAwMCAvLyBPYmplY3QgY2Fubm90IGJlIGR1bXBlZCB3aXRoIGRsZHVtcCgzKQorI2RlZmluZSBERl8xX05PRFVNUCAgICAgMHgwMDAwMTAwMCAvKiBPYmplY3QgY2Fubm90IGJlIGR1bXBlZCB3aXRoIGRsZHVtcCgzKSAqLwogI2RlZmluZSBERl8xX0NPTkZBTFQgICAgMHgwMDAwMjAwMAogI2RlZmluZSBERl8xX0VOREZJTFRFRSAgMHgwMDAwNDAwMAogI2RlZmluZSBERl8xX0RJU1BSRUxETkUgMHgwMDAwODAwMAogI2RlZmluZSBERl8xX0RJU1BSRUxQTkQgMHgwMDAxMDAwMAogI2RlZmluZSBERl8xX05PRElSRUNUICAgMHgwMDAyMDAwMAotI2RlZmluZSBERl8xX0lHTk1VTERFRiAgMHgwMDA0MDAwMCAvLyBJbnRlcm5hbCB1c2UKLSNkZWZpbmUgREZfMV9OT0tTWU1TICAgIDB4MDAwODAwMDAgLy8gSW50ZXJuYWwgdXNlCi0jZGVmaW5lIERGXzFfTk9IRFIgICAgICAweDAwMTAwMDAwIC8vIEludGVybmFsIHVzZQorI2RlZmluZSBERl8xX0lHTk1VTERFRiAgMHgwMDA0MDAwMCAvKiBJbnRlcm5hbCB1c2UgKi8KKyNkZWZpbmUgREZfMV9OT0tTWU1TICAgIDB4MDAwODAwMDAgLyogSW50ZXJuYWwgdXNlICovCisjZGVmaW5lIERGXzFfTk9IRFIgICAgICAweDAwMTAwMDAwIC8qIEludGVybmFsIHVzZSAqLwogI2RlZmluZSBERl8xX0VESVRFRCAgICAgMHgwMDIwMDAwMAotI2RlZmluZSBERl8xX05PUkVMT0MgICAgMHgwMDQwMDAwMCAvLyBJbnRlcm5hbCB1c2UKKyNkZWZpbmUgREZfMV9OT1JFTE9DICAgIDB4MDA0MDAwMDAgLyogSW50ZXJuYWwgdXNlICovCiAjZGVmaW5lIERGXzFfU1lNSU5UUE9TRSAweDAwODAwMDAwCiAjZGVmaW5lIERGXzFfR0xPQkFVRElUICAweDAxMDAwMDAwCiAjZGVmaW5lIERGXzFfU0lOR0xFVE9OICAweDAyMDAwMDAwCkBAIC05NCw2ICsxNTksMTYgQEAKICNkZWZpbmUgRFRfUFJFSU5JVF9BUlJBWSAzMgogI2RlZmluZSBEVF9QUkVJTklUX0FSUkFZU1ogMzMKIAorLyogQW5kcm9pZCBjb21wcmVzc2VkIHJlbC9yZWxhIHNlY3Rpb25zICovCisjZGVmaW5lIERUX0FORFJPSURfUkVMIChEVF9MT09TICsgMikKKyNkZWZpbmUgRFRfQU5EUk9JRF9SRUxTWiAoRFRfTE9PUyArIDMpCisKKyNkZWZpbmUgRFRfQU5EUk9JRF9SRUxBIChEVF9MT09TICsgNCkKKyNkZWZpbmUgRFRfQU5EUk9JRF9SRUxBU1ogKERUX0xPT1MgKyA1KQorCisvKiBnbnUgaGFzaCBlbnRyeSAqLworI2RlZmluZSBEVF9HTlVfSEFTSCAweDZmZmZmZWY1CisKICNkZWZpbmUgRUxGT1NBQklfU1lTViAwIC8qIFN5bm9ueW0gZm9yIEVMRk9TQUJJX05PTkUgdXNlZCBieSB2YWxncmluZC4gKi8KIAogI2RlZmluZSBQVF9HTlVfUkVMUk8gMHg2NDc0ZTU1MgpAQCAtMTAzLDEwICsxNzgsMjYgQEAKICNkZWZpbmUgU1RCX0xPUFJPQyAgICAxMwogI2RlZmluZSBTVEJfSElQUk9DICAgIDE1CiAKKyNkZWZpbmUgU0hUX0xPT1MgICAgMHg2MDAwMDAwMAorI2RlZmluZSBTSFRfSElPUyAgICAweDZmZmZmZmZmCisKICNkZWZpbmUgU1RUX0dOVV9JRlVOQyAxMAogI2RlZmluZSBTVFRfTE9PUyAgICAgIDEwCiAjZGVmaW5lIFNUVF9ISU9TICAgICAgMTIKICNkZWZpbmUgU1RUX0xPUFJPQyAgICAxMwogI2RlZmluZSBTVFRfSElQUk9DICAgIDE1CiAKKy8qIFRoZSBrZXJuZWwgdXNlcyBOVF9QUkZQUkVHIGJ1dCBnbGliYyBhbHNvIG9mZmVycyBOVF9GUFJFR1NFVCAqLworI2RlZmluZSBOVF9GUFJFR1NFVCBOVF9QUkZQUkVHCisKKyNkZWZpbmUgRUxGX05PVEVfR05VICJHTlUiCisKKyNkZWZpbmUgTlRfR05VX0JVSUxEX0lEIDMKKworI2RlZmluZSBWRVJfRkxHX0JBU0UgMHgxCisjZGVmaW5lIFZFUl9GTEdfV0VBSyAweDIKKworI2RlZmluZSBWRVJfTkRYX0xPQ0FMICAwCisjZGVmaW5lIFZFUl9ORFhfR0xPQkFMIDEKKwogI2VuZGlmIC8qIF9FTEZfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2Vycm5vLmggYi9saWJjL2luY2x1ZGUvZXJybm8uaAppbmRleCAxYTM2YjdhLi44MmY0YjQyIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvZXJybm8uaAorKysgYi9saWJjL2luY2x1ZGUvZXJybm8uaApAQCAtNDYsNiArNDYsMTAgQEAKIC8qIGEgbWFjcm8gZXhwYW5kaW5nIHRvIHRoZSBlcnJubyBsLXZhbHVlICovCiAjZGVmaW5lICBlcnJubyAgICgqX19lcnJubygpKQogCisjaWYgX19BTkRST0lEX0FQSV9fIDwgMjEKKyNpbmNsdWRlIDxhbmRyb2lkL2xlZ2FjeV9lcnJub19pbmxpbmVzLmg+CisjZW5kaWYKKwogX19FTkRfREVDTFMKIAogI2VuZGlmIC8qIF9FUlJOT19IICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvZXJyb3IuaCBiL2xpYmMvaW5jbHVkZS9lcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMTI4ODQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2luY2x1ZGUvZXJyb3IuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX0VSUk9SX0gKKyNkZWZpbmUgX0VSUk9SX0ggMQorCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisKK19fQkVHSU5fREVDTFMKKwordm9pZCBlcnJvcihpbnQsIGludCwgY29uc3QgY2hhciosIC4uLikgX19wcmludGZsaWtlKDMsIDQpOwordm9pZCBlcnJvcl9hdF9saW5lKGludCwgaW50LCBjb25zdCBjaGFyKiwgdW5zaWduZWQgaW50LCBjb25zdCBjaGFyKiwgLi4uKSBfX3ByaW50Zmxpa2UoNSwgNik7CisKK2V4dGVybiB2b2lkICgqZXJyb3JfcHJpbnRfcHJvZ25hbWUpKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGludCBlcnJvcl9tZXNzYWdlX2NvdW50OworZXh0ZXJuIGludCBlcnJvcl9vbmVfcGVyX2xpbmU7CisKK19fRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2ZjbnRsLmggYi9saWJjL2luY2x1ZGUvZmNudGwuaAppbmRleCA3OTRlNjJjLi4wZjAxNmQ3IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvZmNudGwuaAorKysgYi9saWJjL2luY2x1ZGUvZmNudGwuaApAQCAtMzMsMjYgKzMzLDIwIEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZmFkdmlzZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CisjaW5jbHVkZSA8bGludXgvc3RhdC5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPiAgLyogdGhpcyBpcyBub3QgcmVxdWlyZWQsIGJ1dCBtYWtlcyBjbGllbnQgY29kZSBtdWNoIGhhcHBpZXIgKi8KIAogX19CRUdJTl9ERUNMUwogCiAjaWZkZWYgX19MUDY0X18KLS8qIExQNjQga2VybmVscyBkb24ndCBoYXZlIGZsb2NrNjQgYmVjYXVzZSB0aGVpciBmbG9jayBpcyA2NC1iaXQuICovCi1zdHJ1Y3QgZmxvY2s2NCB7Ci0gIHNob3J0IGxfdHlwZTsKLSAgc2hvcnQgbF93aGVuY2U7Ci0gIG9mZjY0X3QgbF9zdGFydDsKLSAgb2ZmNjRfdCBsX2xlbjsKLSAgcGlkX3QgbF9waWQ7Ci19OworLyogTFA2NCBrZXJuZWxzIGRvbid0IGhhdmUgRl8qNjQgZGVmaW5lcyBiZWNhdXNlIHRoZWlyIGZsb2NrIGlzIDY0LWJpdC4gKi8KICNkZWZpbmUgRl9HRVRMSzY0ICBGX0dFVExLCiAjZGVmaW5lIEZfU0VUTEs2NCAgRl9TRVRMSwogI2RlZmluZSBGX1NFVExLVzY0IEZfU0VUTEtXCiAjZW5kaWYKIAogI2RlZmluZSBPX0FTWU5DIEZBU1lOQworI2RlZmluZSBPX1JTWU5DIE9fU1lOQwogCiAjZGVmaW5lIFNQTElDRV9GX01PVkUgMQogI2RlZmluZSBTUExJQ0VfRl9OT05CTE9DSyAyCkBAIC02NSwyMiArNTksMjkgQEAKIAogZXh0ZXJuIGludCBjcmVhdChjb25zdCBjaGFyKiwgbW9kZV90KTsKIGV4dGVybiBpbnQgY3JlYXQ2NChjb25zdCBjaGFyKiwgbW9kZV90KTsKLWV4dGVybiBpbnQgZmFsbG9jYXRlNjQoaW50LCBpbnQsIG9mZjY0X3QsIG9mZjY0X3QpOwotZXh0ZXJuIGludCBmYWxsb2NhdGUoaW50LCBpbnQsIG9mZl90LCBvZmZfdCk7CiBleHRlcm4gaW50IGZjbnRsKGludCwgaW50LCAuLi4pOwogZXh0ZXJuIGludCBvcGVuYXQoaW50LCBjb25zdCBjaGFyKiwgaW50LCAuLi4pOwogZXh0ZXJuIGludCBvcGVuYXQ2NChpbnQsIGNvbnN0IGNoYXIqLCBpbnQsIC4uLik7CiBleHRlcm4gaW50IG9wZW4oY29uc3QgY2hhciosIGludCwgLi4uKTsKIGV4dGVybiBpbnQgb3BlbjY0KGNvbnN0IGNoYXIqLCBpbnQsIC4uLik7Ci1leHRlcm4gaW50IHBvc2l4X2ZhZHZpc2U2NChpbnQsIG9mZjY0X3QsIG9mZjY0X3QsIGludCk7Ci1leHRlcm4gaW50IHBvc2l4X2ZhZHZpc2UoaW50LCBvZmZfdCwgb2ZmX3QsIGludCk7Ci1leHRlcm4gaW50IHBvc2l4X2ZhbGxvY2F0ZTY0KGludCwgb2ZmNjRfdCwgb2ZmNjRfdCk7Ci1leHRlcm4gaW50IHBvc2l4X2ZhbGxvY2F0ZShpbnQsIG9mZl90LCBvZmZfdCk7CiBleHRlcm4gc3NpemVfdCBzcGxpY2UoaW50LCBvZmY2NF90KiwgaW50LCBvZmY2NF90Kiwgc2l6ZV90LCB1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIHNzaXplX3QgdGVlKGludCwgaW50LCBzaXplX3QsIHVuc2lnbmVkIGludCk7CiBleHRlcm4gaW50IHVubGlua2F0KGludCwgY29uc3QgY2hhciosIGludCk7CiBleHRlcm4gc3NpemVfdCB2bXNwbGljZShpbnQsIGNvbnN0IHN0cnVjdCBpb3ZlYyosIHNpemVfdCwgdW5zaWduZWQgaW50KTsKIAorI2lmIGRlZmluZWQoX19VU0VfRklMRV9PRkZTRVQ2NCkKK2V4dGVybiBpbnQgZmFsbG9jYXRlKGludCwgaW50LCBvZmZfdCwgb2ZmX3QpIF9fUkVOQU1FKGZhbGxvY2F0ZTY0KTsKK2V4dGVybiBpbnQgcG9zaXhfZmFkdmlzZShpbnQsIG9mZl90LCBvZmZfdCwgaW50KSBfX1JFTkFNRShwb3NpeF9mYWR2aXNlNjQpOworZXh0ZXJuIGludCBwb3NpeF9mYWxsb2NhdGUoaW50LCBvZmZfdCwgb2ZmX3QpIF9fUkVOQU1FKHBvc2l4X2ZhbGxvY2F0ZSk7CisjZWxzZQorZXh0ZXJuIGludCBmYWxsb2NhdGUoaW50LCBpbnQsIG9mZl90LCBvZmZfdCk7CitleHRlcm4gaW50IHBvc2l4X2ZhZHZpc2UoaW50LCBvZmZfdCwgb2ZmX3QsIGludCk7CitleHRlcm4gaW50IHBvc2l4X2ZhbGxvY2F0ZShpbnQsIG9mZl90LCBvZmZfdCk7CisjZW5kaWYKK2V4dGVybiBpbnQgZmFsbG9jYXRlNjQoaW50LCBpbnQsIG9mZjY0X3QsIG9mZjY0X3QpOworZXh0ZXJuIGludCBwb3NpeF9mYWR2aXNlNjQoaW50LCBvZmY2NF90LCBvZmY2NF90LCBpbnQpOworZXh0ZXJuIGludCBwb3NpeF9mYWxsb2NhdGU2NChpbnQsIG9mZjY0X3QsIG9mZjY0X3QpOworCiBleHRlcm4gaW50IF9fb3Blbl8yKGNvbnN0IGNoYXIqLCBpbnQpOwogZXh0ZXJuIGludCBfX29wZW5fcmVhbChjb25zdCBjaGFyKiwgaW50LCAuLi4pIF9fUkVOQU1FKG9wZW4pOwogZXh0ZXJuIGludCBfX29wZW5hdF8yKGludCwgY29uc3QgY2hhciosIGludCk7CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvZmVhdHVyZXMuaCBiL2xpYmMvaW5jbHVkZS9mZWF0dXJlcy5oCmluZGV4IDM0M2M4NGQuLmEyNzljN2YgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9mZWF0dXJlcy5oCisrKyBiL2xpYmMvaW5jbHVkZS9mZWF0dXJlcy5oCkBAIC0yNSwzNCArMjUsMTEgQEAKICAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogICogU1VDSCBEQU1BR0UuCiAgKi8KKwogI2lmbmRlZiBfRkVBVFVSRVNfSF8KICNkZWZpbmUgX0ZFQVRVUkVTX0hfCiAKLS8qIGNlcnRhaW4gTGludXgtc3BlY2lmaWMgcHJvZ3JhbXMgZXhwZWN0IGEgPGZlYXR1cmVzLmg+IGhlYWRlciBmaWxlCi0gKiB0aGF0IGRlZmluZXMgdmFyaW91cyBmZWF0dXJlcyBtYWNyb3MKLSAqLwotCi0vKiB3ZSBkbyBpbmNsdWRlIGEgbnVtYmVyIG9mIEJTRCBleHRlbnNpb25zICovCi0jZGVmaW5lICBfQlNEX1NPVVJDRSAgMQotCi0vKiB3ZSBkbyBpbmNsdWRlIGEgbnVtYmVyIG9mIEdOVSBleHRlbnNpb25zICovCi0jZGVmaW5lICBfR05VX1NPVVJDRSAgMQotCi0vKiBDOTUgc3VwcG9ydCAqLwotI3VuZGVmIF9fVVNFX0lTT0M5NQotI2lmIGRlZmluZWQgX19TVERDX1ZFUlNJT05fXyAmJiBfX1NURENfVkVSU0lPTl9fID49IDE5OTQwOUwKLSMgZGVmaW5lIF9fVVNFX0lTT0M5NSAgIDEKLSNlbmRpZgotCi0vKiBDOTkgc3VwcG9ydCAqLwotI3VuZGVmIF9fVVNFX0lTT0M5OQotI2lmIGRlZmluZWQgX19TVERDX1ZFUlNJT05fXyAmJiBfX1NURENfVkVSU0lPTl9fID49IDE5OTkwMUwKLSMgZGVmaW5lIF9fVVNFX0lTT0M5OSAgIDEKLSNlbmRpZgotCi0vKiBQb3NpeCBzdXBwb3J0ICovCi0jZGVmaW5lICBfX1VTRV9QT1NJWCAgIDEKLSNkZWZpbmUgIF9fVVNFX1BPU0lYMiAgMQotI2RlZmluZSAgX19VU0VfWFBHICAgICAxCisvKiBPdXIgPGZlYXR1cmVzLmg+IG1hY3JvIGZ1biBpcyBhbGwgaW4gPHN5cy9jZGVmcy5oPi4gKi8KKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIAogI2VuZGlmIC8qIF9GRUFUVVJFU19IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2Z0cy5oIGIvbGliYy9pbmNsdWRlL2Z0cy5oCmluZGV4IGRhMjZhODguLmNkZTAzNDkgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9mdHMuaAorKysgYi9saWJjL2luY2x1ZGUvZnRzLmgKQEAgLTM1LDYgKzM1LDggQEAKICNpZm5kZWYJX0ZUU19IXwogI2RlZmluZQlfRlRTX0hfCiAKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKwogdHlwZWRlZiBzdHJ1Y3QgewogCXN0cnVjdCBfZnRzZW50ICpmdHNfY3VyOwkvKiBjdXJyZW50IG5vZGUgKi8KIAlzdHJ1Y3QgX2Z0c2VudCAqZnRzX2NoaWxkOwkvKiBsaW5rZWQgbGlzdCBvZiBjaGlsZHJlbiAqLwpAQCAtMTExLDggKzExMyw2IEBACiAJY2hhciBmdHNfbmFtZVsxXTsJCS8qIGZpbGUgbmFtZSAqLwogfSBGVFNFTlQ7CiAKLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLQogX19CRUdJTl9ERUNMUwogRlRTRU5UCSpmdHNfY2hpbGRyZW4oRlRTICosIGludCk7CiBpbnQJIGZ0c19jbG9zZShGVFMgKik7CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvZ3JwLmggYi9saWJjL2luY2x1ZGUvZ3JwLmgKaW5kZXggZmM0ZDUyMC4uZGY3YTYxMyAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL2dycC5oCisrKyBiL2xpYmMvaW5jbHVkZS9ncnAuaApAQCAtNTQsOSArNTQsOSBAQAogc3RydWN0IGdyb3VwCSpnZXRncmdpZChnaWRfdCk7CiBzdHJ1Y3QgZ3JvdXAJKmdldGdybmFtKGNvbnN0IGNoYXIgKik7CiAjaWYgX19QT1NJWF9WSVNJQkxFID49IDIwMDExMiB8fCBfX1hQR19WSVNJQkxFCi1zdHJ1Y3QgZ3JvdXAJKmdldGdyZW50KHZvaWQpOwotdm9pZAkJIHNldGdyZW50KHZvaWQpOwotdm9pZAkJIGVuZGdyZW50KHZvaWQpOworc3RydWN0IGdyb3VwCSpnZXRncmVudCh2b2lkKSAgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCgiZ2V0Z3JlbnQgaXMgbWVhbmluZ2xlc3Mgb24gQW5kcm9pZCIpKSk7Cit2b2lkIHNldGdyZW50KHZvaWQpIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQoInNldGdyZW50IGlzIG1lYW5pbmdsZXNzIG9uIEFuZHJvaWQiKSkpOwordm9pZCBlbmRncmVudCh2b2lkKSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKCJlbmRncmVudCBpcyBtZWFuaW5nbGVzcyBvbiBBbmRyb2lkIikpKTsKIGludAkJIGdldGdyZ2lkX3IoZ2lkX3QsIHN0cnVjdCBncm91cCAqLCBjaGFyICosCiAJCSAgICBzaXplX3QsIHN0cnVjdCBncm91cCAqKik7CiBpbnQJCSBnZXRncm5hbV9yKGNvbnN0IGNoYXIgKiwgc3RydWN0IGdyb3VwICosIGNoYXIgKiwKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9saWJnZW4uaCBiL2xpYmMvaW5jbHVkZS9saWJnZW4uaAppbmRleCA5ZGNlYzc1Li5lODkzMjhlIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvbGliZ2VuLmgKKysrIGIvbGliYy9pbmNsdWRlL2xpYmdlbi5oCkBAIC0yNSw2ICsyNSw3IEBACiAgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKICAqIFNVQ0ggREFNQUdFLgogICovCisKICNpZm5kZWYgX0xJQkdFTl9ICiAjZGVmaW5lIF9MSUJHRU5fSAogCkBAIC0zMyw4ICszNCwxOCBAQAogCiBfX0JFR0lOX0RFQ0xTCiAKLS8qIE9uIEFuZHJvaWQgdGhlc2UgZG9uJ3QgbW9kaWZ5IHRoZWlyIGlucHV0LCBhbmQgdXNlIHRocmVhZC1sb2NhbCBzdG9yYWdlIGZvciB0aGVpciByZXN1bHRzLiAqLworI2lmICFkZWZpbmVkKF9fYmlvbmljX3VzaW5nX2dudV9iYXNlbmFtZSkKKy8qCisgKiA8c3RyaW5nLmg+IGdldHMgeW91IHRoZSBHTlUgYmFzZW5hbWUuCisgKiA8bGliZ2VuLmg+IHRoZSBQT1NJWCBvbmUuCisgKiBOb3RlIHRoYXQgb3VyICJQT1NJWCIgb25lIGhhcyB0aGUgd3JvbmcgYXJndW1lbnQgY3YtcXVhbGlmaWVycywgYnV0IGRvZXNuJ3QKKyAqIG1vZGlmeSBpdHMgaW5wdXQgYW5kIHVzZXMgdGhyZWFkLWxvY2FsIHN0b3JhZ2UgZm9yIHRoZSByZXN1bHQgaWYgbmVjZXNzYXJ5LgorICovCiBleHRlcm4gY2hhciogYmFzZW5hbWUoY29uc3QgY2hhciopOworI2RlZmluZSBfX2Jpb25pY191c2luZ19wb3NpeF9iYXNlbmFtZQorI2VuZGlmCisKKy8qIFRoaXMgaGFzIHRoZSB3cm9uZyBhcmd1bWVudCBjdi1xdWFsaWZpZXJzLCBidXQgZG9lc24ndCBtb2RpZnkgaXRzIGlucHV0IGFuZCB1c2VzIHRocmVhZC1sb2NhbCBzdG9yYWdlIGZvciB0aGUgcmVzdWx0IGlmIG5lY2Vzc2FyeS4gKi8KIGV4dGVybiBjaGFyKiBkaXJuYW1lKGNvbnN0IGNoYXIqKTsKIAogI2lmICFkZWZpbmVkKF9fTFA2NF9fKQpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2xpbWl0cy5oIGIvbGliYy9pbmNsdWRlL2xpbWl0cy5oCmluZGV4IGZiMDk2NTcuLjZhZTYyOWIgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9saW1pdHMuaAorKysgYi9saWJjL2luY2x1ZGUvbGltaXRzLmgKQEAgLTM3LDM5ICszNyw2IEBACiAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIAotI2lmIF9fUE9TSVhfVklTSUJMRQotI2RlZmluZQlfUE9TSVhfQVJHX01BWAkJNDA5NgotI2RlZmluZQlfUE9TSVhfQ0hJTERfTUFYCTI1Ci0jZGVmaW5lCV9QT1NJWF9MSU5LX01BWAkJOAotI2RlZmluZQlfUE9TSVhfTUFYX0NBTk9OCTI1NQotI2RlZmluZQlfUE9TSVhfTUFYX0lOUFVUCTI1NQotI2RlZmluZQlfUE9TSVhfTkFNRV9NQVgJCTE0Ci0jZGVmaW5lCV9QT1NJWF9OR1JPVVBTX01BWAkwCi0jZGVmaW5lCV9QT1NJWF9PUEVOX01BWAkJMTYKLSNkZWZpbmUJX1BPU0lYX1BBVEhfTUFYCQkyNTYKLSNkZWZpbmUgX1BPU0lYX1BJUEVfQlVGCQk1MTIKLSNkZWZpbmUJX1BPU0lYX1JFX0RVUF9NQVgJMjU1Ci0jZGVmaW5lIF9QT1NJWF9TU0laRV9NQVgJMzI3NjcKLSNkZWZpbmUgX1BPU0lYX1NUUkVBTV9NQVgJOAotI2RlZmluZSBfUE9TSVhfU1lNTElOS19NQVgJMjU1Ci0jZGVmaW5lIF9QT1NJWF9TWU1MT09QX01BWAk4Ci0jZGVmaW5lIF9QT1NJWF9UWk5BTUVfTUFYCTMKLQotI2RlZmluZQlfUE9TSVgyX0JDX0JBU0VfTUFYCTk5Ci0jZGVmaW5lCV9QT1NJWDJfQkNfRElNX01BWAkyMDQ4Ci0jZGVmaW5lCV9QT1NJWDJfQkNfU0NBTEVfTUFYCTk5Ci0jZGVmaW5lCV9QT1NJWDJfQkNfU1RSSU5HX01BWAkxMDAwCi0jZGVmaW5lCV9QT1NJWDJfQ09MTF9XRUlHSFRTX01BWAkyCi0jZGVmaW5lCV9QT1NJWDJfRVhQUl9ORVNUX01BWAkzMgotI2RlZmluZQlfUE9TSVgyX0xJTkVfTUFYCTIwNDgKLSNkZWZpbmUJX1BPU0lYMl9SRV9EVVBfTUFYCV9QT1NJWF9SRV9EVVBfTUFYCi0KLSNpZiBfX1BPU0lYX1ZJU0lCTEUgPj0gMjAwMTEyCi0jZGVmaW5lIF9QT1NJWF9UVFlfTkFNRV9NQVgJOQkvKiBpbmNsdWRlcyB0cmFpbGluZyBOVUwgKi8KLSNkZWZpbmUgX1BPU0lYX0xPR0lOX05BTUVfTUFYCTkJLyogaW5jbHVkZXMgdHJhaWxpbmcgTlVMICovCi0jZW5kaWYgLyogX19QT1NJWF9WSVNJQkxFID49IDIwMDExMiAqLwotI2VuZGlmIC8qIF9fUE9TSVhfVklTSUJMRSAqLwotCiAjaWYgX19YUEdfVklTSUJMRQogI2RlZmluZSBQQVNTX01BWAkJMTI4CS8qIF9QQVNTV09SRF9MRU4gZnJvbSA8cHdkLmg+ICovCiAKQEAgLTEyNSw0ICs5MiwxMCBAQAogLyogZ2xpYmMncyBQQUdFX01BU0sgaXMgdGhlIGJpdHdpc2UgbmVnYXRpb24gb2YgQlNEJ3MhIFRPRE86IHJlbW92ZT8gKi8KICNkZWZpbmUgUEFHRV9NQVNLICh+KFBBR0VfU0laRSAtIDEpKQogCisjZGVmaW5lIFNFTV9WQUxVRV9NQVggMHgzZmZmZmZmZgorCisvKiBQT1NJWCBzYXlzIHRoZXNlIGJlbG9uZyBpbiA8dW5pc3RkLmg+IGJ1dCBCU0QgaGFzIHNvbWUgaW4gPGxpbWl0cy5oPi4gKi8KKyNpbmNsdWRlIDxtYWNoaW5lL3Bvc2l4X2xpbWl0cy5oPgorCisjZGVmaW5lIEhPU1RfTkFNRV9NQVggX1BPU0lYX0hPU1RfTkFNRV9NQVgKICNlbmRpZiAvKiAhX0xJTUlUU19IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmggYi9saWJjL2luY2x1ZGUvbWFjaGluZS9lbmRpYW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzg5NTE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9NQUNISU5FX0VORElBTl9IXworI2RlZmluZSBfTUFDSElORV9FTkRJQU5fSF8KKworLyogVGhpcyBmaWxlIGlzIGZvciBCU0Qgc291cmNlIGNvbXBhdGliaWxpdHkgb25seS4gVXNlIDxlbmRpYW4uaD4gb3IgPHN5cy9lbmRpYW4uaD4gaW5zdGVhZC4gKi8KKyNpbmNsdWRlIDxzeXMvZW5kaWFuLmg+CisKKyNlbmRpZiAvKiBfTUFDSElORV9FTkRJQU5fSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9tYWNoaW5lL3Bvc2l4X2xpbWl0cy5oIGIvbGliYy9pbmNsdWRlL21hY2hpbmUvcG9zaXhfbGltaXRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg3YWY1YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvaW5jbHVkZS9tYWNoaW5lL3Bvc2l4X2xpbWl0cy5oCkBAIC0wLDAgKzEsMTU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX1BPU0lYX0xJTUlUU19IXworI2RlZmluZSBfUE9TSVhfTElNSVRTX0hfCisKKworLyogQW55IGNvbnN0YW50IHZhbHVlcyBoZXJlIG90aGVyIHRoYW4gLTEgb3IgMjAwODA5TCBhcmUgZXhwbGljaXRseSBzcGVjaWZpZWQgYnkgUE9TSVguMS0yMDA4LiAqLworLyogS2VlcCBpdCBzb3J0ZWQuICovCisjZGVmaW5lIF9QT1NJWF9BRFZJU09SWV9JTkZPICAgICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9BSU9fTElTVElPX01BWCAgICAgICAyCisjZGVmaW5lIF9QT1NJWF9BSU9fTUFYICAgICAgICAgICAgICAxCisjZGVmaW5lIF9QT1NJWF9BUkdfTUFYICAgICAgICAgICAgICA0MDk2CisjZGVmaW5lIF9QT1NJWF9BU1lOQ0hST05PVVNfSU8gICAgICAtMSAgLyogbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWF9CQVJSSUVSUyAgICAgICAgICAgICAtMSAgLyogbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWF9DSElMRF9NQVggICAgICAgICAgICAyNQorI2RlZmluZSBfUE9TSVhfQ0hPV05fUkVTVFJJQ1RFRCAgICAgMSAgLyogeWVzLCBjaG93biByZXF1aXJlcyBhcHByb3ByaWF0ZSBwcml2aWxlZ2VzICovCisjZGVmaW5lIF9QT1NJWF9DTE9DS19TRUxFQ1RJT04gICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9DUFVUSU1FICAgICAgICAgICAgICAwICAvKiBVc2Ugc3lzY29uZiB0byBkZXRlY3Qgc3VwcG9ydCBhdCBydW50aW1lLiAqLworI2RlZmluZSBfUE9TSVhfREVMQVlUSU1FUl9NQVggICAgICAgMzIKKyNkZWZpbmUgX1BPU0lYX0ZTWU5DICAgICAgICAgICAgICAgIDIwMDgwOUwgIC8qIGZkYXRhc3luYygpIHN1cHBvcnRlZCAqLworI2RlZmluZSBfUE9TSVhfSE9TVF9OQU1FX01BWCAgICAgICAgMjU1CisjZGVmaW5lIF9QT1NJWF9JUFY2ICAgICAgICAgICAgICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9KT0JfQ09OVFJPTCAgICAgICAgICAxICAvKiBqb2IgY29udHJvbCBpcyBhIExpbnV4IGZlYXR1cmUgKi8KKyNkZWZpbmUgX1BPU0lYX0xJTktfTUFYICAgICAgICAgICAgIDgKKyNkZWZpbmUgX1BPU0lYX0xPR0lOX05BTUVfTUFYICAgICAgIDkgIC8qIGluY2x1ZGVzIHRyYWlsaW5nIE5VTCAqLworI2RlZmluZSBfUE9TSVhfTUFQUEVEX0ZJTEVTICAgICAgICAgMjAwODA5TCAgLyogbW1hcC1lZCBmaWxlcyBzdXBwb3J0ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX01BWF9DQU5PTiAgICAgICAgICAgIDI1NQorI2RlZmluZSBfUE9TSVhfTUFYX0lOUFVUICAgICAgICAgICAgMjU1CisjZGVmaW5lIF9QT1NJWF9NRU1MT0NLICAgICAgICAgICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9NRU1MT0NLX1JBTkdFICAgICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9NRU1PUllfUFJPVEVDVElPTiAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9NRVNTQUdFX1BBU1NJTkcgICAgICAtMSAgLyogbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWF9NT05PVE9OSUNfQ0xPQ0sgICAgICAwICAvKiB0aGUgbW9ub3RvbmljIGNsb2NrIG1heSBiZSBhdmFpbGFibGU7IGFzayBzeXNjb25mICovCisjZGVmaW5lIF9QT1NJWF9NUV9PUEVOX01BWCAgICAgICAgICA4CisjZGVmaW5lIF9QT1NJWF9NUV9QUklPX01BWCAgICAgICAgICAzMgorI2RlZmluZSBfUE9TSVhfTkFNRV9NQVggICAgICAgICAgICAgMTQKKyNkZWZpbmUgX1BPU0lYX05HUk9VUFNfTUFYICAgICAgICAgIDgKKyNkZWZpbmUgX1BPU0lYX05PX1RSVU5DICAgICAgICAgICAgIDEgIC8qIHZlcnkgbG9uZyBwYXRobmFtZXMgZ2VuZXJhdGUgYW4gZXJyb3IgKi8KKyNkZWZpbmUgX1BPU0lYX09QRU5fTUFYICAgICAgICAgICAgIDIwCisjZGVmaW5lIF9QT1NJWF9QQVRIX01BWCAgICAgICAgICAgICAyNTYKKyNkZWZpbmUgX1BPU0lYX1BJUEVfQlVGICAgICAgICAgICAgIDUxMgorI2RlZmluZSBfUE9TSVhfUFJJT1JJVFlfU0NIRURVTElORyAgMjAwODA5TCAgLyogcHJpb3JpdHkgc2NoZWR1bGluZyBpcyBhIExpbnV4IGZlYXR1cmUgKi8KKyNkZWZpbmUgX1BPU0lYX1BSSU9SSVRJWkVEX0lPICAgICAgIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1JBV19TT0NLRVRTICAgICAgICAgIDIwMDgwOUwKKyNkZWZpbmUgX1BPU0lYX1JFQURFUl9XUklURVJfTE9DS1MgIDIwMDgwOUwKKyNkZWZpbmUgX1BPU0lYX1JFQUxUSU1FX1NJR05BTFMgICAgIDIwMDgwOUwKKyNkZWZpbmUgX1BPU0lYX1JFR0VYUCAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgX1BPU0lYX1JFX0RVUF9NQVggICAgICAgICAgIDI1NQorI2RlZmluZSBfUE9TSVhfU0FWRURfSURTICAgICAgICAgICAgMSAgLyogc2F2ZWQgdXNlciBpZHMgaXMgYSBMaW51eCBmZWF0dXJlICovCisjZGVmaW5lIF9QT1NJWF9TRU1BUEhPUkVTICAgICAgICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9TRU1fTlNFTVNfTUFYICAgICAgICAyNTYKKyNkZWZpbmUgX1BPU0lYX1NFTV9WQUxVRV9NQVggICAgICAgIDMyNzY3CisjZGVmaW5lIF9QT1NJWF9TSEFSRURfTUVNT1JZX09CSkVDVFMgIC0xICAvKiBzaG1fb3BlbigpL3NobV91bmxpbmsoKSBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1NIRUxMICAgICAgICAgICAgICAgIDEgICAvKiBzeXN0ZW0oKSBzdXBwb3J0ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1NJR1FVRVVFX01BWCAgICAgICAgIDMyCisjZGVmaW5lIF9QT1NJWF9TUEFXTiAgICAgICAgICAgICAgICAtMSAgLyogbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWF9TUElOX0xPQ0tTICAgICAgICAgICAtMSAgLyogbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWF9TUE9SQURJQ19TRVJWRVIgICAgICAtMSAgLyogbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWF9TU0laRV9NQVggICAgICAgICAgICAzMjc2NworI2RlZmluZSBfUE9TSVhfU1RSRUFNX01BWCAgICAgICAgICAgOAorI2RlZmluZSBfUE9TSVhfU1lNTElOS19NQVggICAgICAgICAgMjU1CisjZGVmaW5lIF9QT1NJWF9TWU1MT09QX01BWCAgICAgICAgICA4CisjZGVmaW5lIF9QT1NJWF9TWU5DSFJPTklaRURfSU8gICAgICAyMDA4MDlMICAvKiBzeW5jaHJvbml6ZWQgaS9vIHN1cHBvcnRlZCAqLworI2RlZmluZSBfUE9TSVhfVEhSRUFEUyAgICAgICAgICAgICAgMjAwODA5TCAgLyogd2Ugc3VwcG9ydCB0aHJlYWRzICovCisjZGVmaW5lIF9QT1NJWF9USFJFQURfQVRUUl9TVEFDS0FERFIgIDIwMDgwOUwKKyNkZWZpbmUgX1BPU0lYX1RIUkVBRF9BVFRSX1NUQUNLU0laRSAgMjAwODA5TAorI2RlZmluZSBfUE9TSVhfVEhSRUFEX0NQVVRJTUUgICAgICAgMCAgLyogVXNlIHN5c2NvbmYgdG8gZGV0ZWN0IHN1cHBvcnQgYXQgcnVudGltZS4gKi8KKyNkZWZpbmUgX1BPU0lYX1RIUkVBRF9ERVNUUlVDVE9SX0lURVJBVElPTlMgNAorI2RlZmluZSBfUE9TSVhfVEhSRUFEX0tFWVNfTUFYICAgICAgMTI4CisjZGVmaW5lIF9QT1NJWF9USFJFQURfUFJJT1JJVFlfU0NIRURVTElORyAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9USFJFQURfUFJJT19JTkhFUklUICAyMDA4MDlMICAvKiBsaW51eCBmZWF0dXJlICovCisjZGVmaW5lIF9QT1NJWF9USFJFQURfUFJJT19QUk9URUNUICAyMDA4MDlMICAvKiBsaW51eCBmZWF0dXJlICovCisjZGVmaW5lIF9QT1NJWF9USFJFQURfUFJPQ0VTU19TSEFSRUQgIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RIUkVBRF9ST0JVU1RfUFJJT19JTkhFUklUIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RIUkVBRF9ST0JVU1RfUFJJT19QUk9URUNUIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUyAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9USFJFQURfU1BPUkFESUNfU0VSVkVSIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RIUkVBRF9USFJFQURTX01BWCAgIDY0CisjZGVmaW5lIF9QT1NJWF9USU1FT1VUUyAgICAgICAgICAgICAyMDA4MDlMCisjZGVmaW5lIF9QT1NJWF9USU1FUlMgICAgICAgICAgICAgICAyMDA4MDlMICAvKiBQb3NpeCB0aW1lcnMgYXJlIHN1cHBvcnRlZCAqLworI2RlZmluZSBfUE9TSVhfVElNRVJfTUFYICAgICAgICAgICAgMzIKKyNkZWZpbmUgX1BPU0lYX1RSQUNFICAgICAgICAgICAgICAgIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RSQUNFX0VWRU5UX0ZJTFRFUiAgIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RSQUNFX0lOSEVSSVQgICAgICAgIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RSQUNFX0xPRyAgICAgICAgICAgIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RSQUNFX05BTUVfTUFYICAgICAgIDgKKyNkZWZpbmUgX1BPU0lYX1RSQUNFX1NZU19NQVggICAgICAgIDgKKyNkZWZpbmUgX1BPU0lYX1RSQUNFX1VTRVJfRVZFTlRfTUFYIDMyCisjZGVmaW5lIF9QT1NJWF9UVFlfTkFNRV9NQVggICAgICAgICA5ICAvKiBpbmNsdWRlcyB0cmFpbGluZyBOVUwgKi8KKyNkZWZpbmUgX1BPU0lYX1RZUEVEX01FTU9SWV9PQkpFQ1RTIC0xICAvKiBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYX1RaTkFNRV9NQVggICAgICAgICAgIDYKKyNkZWZpbmUgX1BPU0lYX1ZESVNBQkxFICAgICAgICAgICAgICdcMCcKKworI2lmIGRlZmluZWQoX19MUDY0X18pCisjZGVmaW5lIF9QT1NJWF9WN19JTFAzMl9PRkYzMiAgICAgICAtMQorI2RlZmluZSBfUE9TSVhfVjdfSUxQMzJfT0ZGQklHICAgICAgLTEKKyNkZWZpbmUgX1BPU0lYX1Y3X0xQNjRfT0ZGNjQgICAgICAgICAxCisjZGVmaW5lIF9QT1NJWF9WN19MUEJJR19PRkZCSUcgICAgICAgMQorI2Vsc2UKKyNkZWZpbmUgX1BPU0lYX1Y3X0lMUDMyX09GRjMyICAgICAgICAxCisjZGVmaW5lIF9QT1NJWF9WN19JTFAzMl9PRkZCSUcgICAgICAtMQorI2RlZmluZSBfUE9TSVhfVjdfTFA2NF9PRkY2NCAgICAgICAgLTEKKyNkZWZpbmUgX1BPU0lYX1Y3X0xQQklHX09GRkJJRyAgICAgIC0xCisjZW5kaWYKKworI2RlZmluZSBfUE9TSVgyX0JDX0JBU0VfTUFYICAgICAgICAgOTkKKyNkZWZpbmUgX1BPU0lYMl9CQ19ESU1fTUFYICAgICAgICAgIDIwNDgKKyNkZWZpbmUgX1BPU0lYMl9CQ19TQ0FMRV9NQVggICAgICAgIDk5CisjZGVmaW5lIF9QT1NJWDJfQkNfU1RSSU5HX01BWCAgICAgICAxMDAwCisjZGVmaW5lIF9QT1NJWDJfQ0hBUkNMQVNTX05BTUVfTUFYICAxNAorI2RlZmluZSBfUE9TSVgyX0NIQVJfVEVSTSAgICAgICAgICAgLTEgIC8qIG5vdCBpbXBsZW1lbnRlZCAqLworI2RlZmluZSBfUE9TSVgyX0NPTExfV0VJR0hUU19NQVggICAgMgorI2RlZmluZSBfUE9TSVgyX0NfQklORCAgICAgICAgICAgICAgX1BPU0lYX1ZFUlNJT04KKyNkZWZpbmUgX1BPU0lYMl9DX0RFViAgICAgICAgICAgICAgIC0xICAvKiBjIGRldiB1dGlsaXRpZXMgbm90IGltcGxlbWVudGVkICovCisjZGVmaW5lIF9QT1NJWDJfRVhQUl9ORVNUX01BWCAgICAgICAzMgorI2RlZmluZSBfUE9TSVgyX0xJTkVfTUFYICAgICAgICAgICAgMjA0OAorI2RlZmluZSBfUE9TSVgyX0xPQ0FMRURFRiAgICAgICAgICAgLTEgIC8qIGxvY2FsZWRlZiB1dGlsaXRpeSBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYMl9SRV9EVVBfTUFYICAgICAgICAgIF9QT1NJWF9SRV9EVVBfTUFYCisjZGVmaW5lIF9QT1NJWDJfU1dfREVWICAgICAgICAgICAgICAtMSAgLyogc29mdHdhcmUgZGV2IHV0aWxpdGllcyBub3QgaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUgX1BPU0lYMl9VUEUgICAgICAgICAgICAgICAgIC0xICAvKiB1c2VyIHBvcnRhYmlsaXR5IHV0aWxpdGllcyBub3QgaW1wbGVtZW50ZWQgKi8KKworI2RlZmluZSBfWE9QRU5fRU5IX0kxOE4gICAgICAgICAgICAgLTEgIC8qIHdlIGRvbid0IHN1cHBvcnQgaW50ZXJuYXRpb25hbGl6YXRpb24gaW4gdGhlIEMgbGlicmFyeSAqLworI2RlZmluZSBfWE9QRU5fQ1JZUFQgICAgICAgICAgICAgICAgLTEgIC8qIGRvbid0IHN1cHBvcnQgWC9PcGVuIEVuY3J5cHRpb24gKi8KKyNkZWZpbmUgX1hPUEVOX0lPVl9NQVggICAgICAgICAgICAgIDE2CisjZGVmaW5lIF9YT1BFTl9MRUdBQ1kgICAgICAgICAgICAgICAtMSAgLyogbm90IHN1cHBvcnQgYWxsICovCisjZGVmaW5lIF9YT1BFTl9SRUFMVElNRSAgICAgICAgICAgICAtMSAvKiB3ZSBkb24ndCBzdXBwb3J0IGFsbCB0aGVzZSBmdW5jdGlvbnMgKi8KKyNkZWZpbmUgX1hPUEVOX1JFQUxUSU1FX1RIUkVBRFMgICAgIC0xICAvKiBzYW1lIGhlcmUgKi8KKyNkZWZpbmUgX1hPUEVOX1NITSAgICAgICAgICAgICAgICAgIC0xCisjZGVmaW5lIF9YT1BFTl9VTklYICAgICAgICAgICAgICAgICAxCisKKyNlbmRpZiAvKiBfUE9TSVhfTElNSVRTX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvbWFjaGluZS9wdGhyZWFkX3R5cGVzLmggYi9saWJjL2luY2x1ZGUvbWFjaGluZS9wdGhyZWFkX3R5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAwNTQxYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvaW5jbHVkZS9tYWNoaW5lL3B0aHJlYWRfdHlwZXMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX01BQ0hJTkVfUFRIUkVBRF9UWVBFU19IXworI2RlZmluZSBfTUFDSElORV9QVEhSRUFEX1RZUEVTX0hfCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKwordHlwZWRlZiBsb25nIHB0aHJlYWRfdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICB1aW50MzJfdCBmbGFnczsKKyAgdm9pZCogc3RhY2tfYmFzZTsKKyAgc2l6ZV90IHN0YWNrX3NpemU7CisgIHNpemVfdCBndWFyZF9zaXplOworICBpbnQzMl90IHNjaGVkX3BvbGljeTsKKyAgaW50MzJfdCBzY2hlZF9wcmlvcml0eTsKKyNpZmRlZiBfX0xQNjRfXworICBjaGFyIF9fcmVzZXJ2ZWRbMTZdOworI2VuZGlmCit9IHB0aHJlYWRfYXR0cl90OworCisjZW5kaWYgLyogX01BQ0hJTkVfUFRIUkVBRF9UWVBFU19IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL21hY2hpbmUvdGltZXNwZWMuaCBiL2xpYmMvaW5jbHVkZS9tYWNoaW5lL3RpbWVzcGVjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3NzlhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvaW5jbHVkZS9tYWNoaW5lL3RpbWVzcGVjLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9NQUNISU5FX1RJTUVTUEVDX0hfCisjZGVmaW5lIF9NQUNISU5FX1RJTUVTUEVDX0hfCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworLyoKKyAqIFRoaXMgZmlsZSBpcyB1c2VkIHRvIGluY2x1ZGUgdGltZXNwZWMgZGVmaW5pdGlvbiB3aXRob3V0IGludHJvZHVjaW5nIHRoZSB3aG9sZQorICogPGxpbnV4L3RpbWUuaD4sIDxzeXMvdGltZS5oPiBvciA8dGltZS5oPi4KKyAqLworI2lmbmRlZiBfU1RSVUNUX1RJTUVTUEVDCisjZGVmaW5lIF9TVFJVQ1RfVElNRVNQRUMKK3N0cnVjdCB0aW1lc3BlYyB7CisgIHRpbWVfdCB0dl9zZWM7CisgIGxvbmcgdHZfbnNlYzsKK307CisjZW5kaWYKKworI2VuZGlmIC8qIF9NQUNISU5FX1RJTUVTUEVDX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvbWFsbG9jLmggYi9saWJjL2luY2x1ZGUvbWFsbG9jLmgKaW5kZXggZTZlYTI3Ni4uY2IxZGQzYiAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL21hbGxvYy5oCisrKyBiL2xpYmMvaW5jbHVkZS9tYWxsb2MuaApAQCAtMjQsNiArMjQsNyBAQAogICovCiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiAjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KIAogX19CRUdJTl9ERUNMUwogCkBAIC01Myw2ICs1NCwyNyBAQAogCiBleHRlcm4gc3RydWN0IG1hbGxpbmZvIG1hbGxpbmZvKHZvaWQpOwogCisvKgorICogWE1MIHN0cnVjdHVyZSBmb3IgbWFsbG9jX2luZm8oMykgaXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6CisgKgorICogPG1hbGxvYyB2ZXJzaW9uPSJqZW1hbGxvYy0xIj4KKyAqICAgPGhlYXAgbnI9IklOVCI+CisgKiAgICAgPGFsbG9jYXRlZC1sYXJnZT5JTlQ8L2FsbG9jYXRlZC1sYXJnZT4KKyAqICAgICA8YWxsb2NhdGVkLWh1Z2U+SU5UPC9hbGxvY2F0ZWQtaHVnZT4KKyAqICAgICA8YWxsb2NhdGVkLWJpbnM+SU5UPC9hbGxvY2F0ZWQtYmlucz4KKyAqICAgICA8Ymlucy10b3RhbD5JTlQ8L2JpbnMtdG90YWw+CisgKiAgICAgPGJpbiBucj0iSU5UIj4KKyAqICAgICAgIDxhbGxvY2F0ZWQ+SU5UPC9hbGxvY2F0ZWQ+CisgKiAgICAgICA8bm1hbGxvYz5JTlQ8L25tYWxsb2M+CisgKiAgICAgICA8bmRhbGxvYz5JTlQ8L25kYWxsb2M+CisgKiAgICAgPC9iaW4+CisgKiAgICAgPCEtLSBtb3JlIGJpbnMgLS0+CisgKiAgIDwvaGVhcD4KKyAqICAgPCEtLSBtb3JlIGhlYXBzIC0tPgorICogPC9tYWxsb2M+CisgKi8KK2V4dGVybiBpbnQgbWFsbG9jX2luZm8oaW50LCBGSUxFICopOworCiBfX0VORF9ERUNMUwogCiAjZW5kaWYgIC8qIExJQkNfSU5DTFVERV9NQUxMT0NfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9uZXQvZXRoZXJuZXQuaCBiL2xpYmMvaW5jbHVkZS9uZXQvZXRoZXJuZXQuaAppbmRleCBiMWI4OGRkLi40Nzg1OGIzIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvbmV0L2V0aGVybmV0LmgKKysrIGIvbGliYy9pbmNsdWRlL25ldC9ldGhlcm5ldC5oCkBAIC0yNSw4ICsyNSwxMSBAQAogICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgKiBTVUNIIERBTUFHRS4KICAqLworCiAjaWZuZGVmIF9ORVRfRVRIRVJORVRfSF8KLSNkZWZpbmUgX05FVF9JRl9FVEhFUk5FVF9IXworI2RlZmluZSBfTkVUX0VUSEVSTkVUX0hfCisKICNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgogI2luY2x1ZGUgPG5ldC9pZl9ldGhlci5oPgotI2VuZGlmIC8qICFfTkVUX0VUSEVSTkVUX0hfICovCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL25ldC9pZi5oIGIvbGliYy9pbmNsdWRlL25ldC9pZi5oCmluZGV4IGYzNmYzN2UuLjBlZmJmN2YgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9uZXQvaWYuaAorKysgYi9saWJjL2luY2x1ZGUvbmV0L2lmLmgKQEAgLTI2LDkgKzI2LDEzIEBACiAgKiBTVUNIIERBTUFHRS4KICAqLwogCisjaWZuZGVmIF9ORVRfSUZfSF8KKyNkZWZpbmUgX05FVF9JRl9IXworCiAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgogI2luY2x1ZGUgPGxpbnV4L2lmLmg+CiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisKICNpZm5kZWYgSUZfTkFNRVNJWkUKICNkZWZpbmUgSUZfTkFNRVNJWkUgSUZOQU1TSVoKICNlbmRpZgpAQCAtNDIsMyArNDYsNSBAQAogZXh0ZXJuIGNoYXIqICAgICAgICBpZl9pbmRleHRvbmFtZSh1bnNpZ25lZCBpZmluZGV4LCBjaGFyICppZm5hbWUpOwogCiBfX0VORF9ERUNMUworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9uZXQvaWZfdHlwZXMuaCBiL2xpYmMvaW5jbHVkZS9uZXQvaWZfdHlwZXMuaAppbmRleCBmMGEwNGY3Li5lZmY2ZDUzIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvbmV0L2lmX3R5cGVzLmgKKysrIGIvbGliYy9pbmNsdWRlL25ldC9pZl90eXBlcy5oCkBAIC0xLDQgKzEsNCBAQAotLyoJJE5ldEJTRDogaWZfdHlwZXMuaCx2IDEuMjQgMjAwNS8xMi8xMCAyMzoyMTozOCBlbGFkIEV4cCAkCSovCisvKgkkTmV0QlNEOiBpZl90eXBlcy5oLHYgMS4yNiAyMDEyLzA4LzA1IDIxOjIxOjQxIHdpeiBFeHAgJAkqLwogCiAvKgogICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkzLCAxOTk0CkBAIC0yNDksNyArMjQ5LDcgQEAKICNkZWZpbmUgSUZUX0RPQ1NDQUJMRVVQU1RSRUFNQ0hBTk5FTCAweGNkIC8qIENBVFYgVXBzdHJlYW0gQ2hhbm5lbCAqLwogI2RlZmluZSBJRlRfRUNPTkVUCQkgICAweGNlIC8qIEFjb3JuIEVjb25ldCAqLwogI2RlZmluZSBJRlRfUE9OMTU1CQkgICAweGNmIC8qIEZTQU4gMTU1TWIgU3ltZXRyaWNhbCBQT04gaW50ZXJmYWNlICovCi0jZGVmaW5lIElGVF9QT042MjIJCSAgIDB4ZDAgLyogRlNBTiA2MjJNYiBTeW1ldHJpY2FsIFBPTiBpbnRlcmZhY2UgKi8qLworI2RlZmluZSBJRlRfUE9ONjIyCQkgICAweGQwIC8qIEZTQU4gNjIyTWIgU3ltZXRyaWNhbCBQT04gaW50ZXJmYWNlICovCiAjZGVmaW5lIElGVF9CUklER0UJCSAgIDB4ZDEgLyogVHJhbnNwYXJlbnQgYnJpZGdlIGludGVyZmFjZSAqLwogI2RlZmluZSBJRlRfTElORUdST1VQCQkgICAweGQyIC8qIEludGVyZmFjZSBjb21tb24gdG8gbXVsdGlwbGUgbGluZXMgKi8KICNkZWZpbmUgSUZUX1ZPSUNFRU1GR0QJCSAgIDB4ZDMgLyogdm9pY2UgRSZNIEZlYXR1cmUgR3JvdXAgRCAqLwpAQCAtMjYzLDUgKzI2Myw2IEBACiAjZGVmaW5lIElGVF9GQUlUSAkweGYyCiAjZGVmaW5lIElGVF9QRkxPRwkweGY1CQkvKiBQYWNrZXQgZmlsdGVyIGxvZ2dpbmcgKi8KICNkZWZpbmUgSUZUX1BGU1lOQwkweGY2CQkvKiBQYWNrZXQgZmlsdGVyIHN0YXRlIHN5bmNpbmcgKi8KKyNkZWZpbmUgSUZUX0NBUlAJMHhmOAkJLyogQ29tbW9uIEFkZHJlc3MgUmVkdW5kYW5jeSBQcm90b2NvbCAqLwogCiAjZW5kaWYgLyogIV9ORVRfSUZfVFlQRVNfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9uZXQvcm91dGUuaCBiL2xpYmMvaW5jbHVkZS9uZXQvcm91dGUuaAppbmRleCBhNjBkZjI0Li4zMjZmYmU3IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvbmV0L3JvdXRlLmgKKysrIGIvbGliYy9pbmNsdWRlL25ldC9yb3V0ZS5oCkBAIC0xICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX05FVF9ST1VURV9IXworI2RlZmluZSBfTkVUX1JPVVRFX0hfCisKKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAjaW5jbHVkZSA8bGludXgvcm91dGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbjYuaD4KKyNpbmNsdWRlIDxsaW51eC9pcHY2X3JvdXRlLmg+CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL25ldGRiLmggYi9saWJjL2luY2x1ZGUvbmV0ZGIuaAppbmRleCA1MjdkNWMxLi4zYmI5NzNjIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvbmV0ZGIuaAorKysgYi9saWJjL2luY2x1ZGUvbmV0ZGIuaApAQCAtNzMsOSArNzMsNiBAQAogI2RlZmluZQlfUEFUSF9QUk9UT0NPTFMJIi9zeXN0ZW0vZXRjL3Byb3RvY29scyIKICNkZWZpbmUJX1BBVEhfU0VSVklDRVMJIi9zeXN0ZW0vZXRjL3NlcnZpY2VzIgogCi0jZGVmaW5lICBNQVhIT1NUTkFNRUxFTiAgMjU2Ci0KLQogLyoKICAqIFN0cnVjdHVyZXMgcmV0dXJuZWQgYnkgbmV0d29yayBkYXRhIGJhc2UgbGlicmFyeS4gIEFsbCBhZGRyZXNzZXMgYXJlCiAgKiBzdXBwbGllZCBpbiBob3N0IG9yZGVyLCBhbmQgcmV0dXJuZWQgaW4gbmV0d29yayBvcmRlciAoc3VpdGFibGUgZm9yCkBAIC0yMDksNyArMjA2LDcgQEAKIHZvaWQgZW5kc2VydmVudCh2b2lkKTsKIHZvaWQgZnJlZWhvc3RlbnQoc3RydWN0IGhvc3RlbnQgKik7CiBzdHJ1Y3QgaG9zdGVudAkqZ2V0aG9zdGJ5YWRkcihjb25zdCB2b2lkICosIHNvY2tsZW5fdCwgaW50KTsKLWludCBnZXRob3N0YnlhZGRyX3IoY29uc3Qgdm9pZCAqLCBpbnQsIGludCwgc3RydWN0IGhvc3RlbnQgKiwgY2hhciAqLCBzaXplX3QsIHN0cnVjdCBob3N0ZW50ICoqLCBpbnQgKik7CitpbnQgZ2V0aG9zdGJ5YWRkcl9yKGNvbnN0IHZvaWQgKiwgc29ja2xlbl90LCBpbnQsIHN0cnVjdCBob3N0ZW50ICosIGNoYXIgKiwgc2l6ZV90LCBzdHJ1Y3QgaG9zdGVudCAqKiwgaW50ICopOwogc3RydWN0IGhvc3RlbnQJKmdldGhvc3RieW5hbWUoY29uc3QgY2hhciAqKTsKIGludCBnZXRob3N0YnluYW1lX3IoY29uc3QgY2hhciAqLCBzdHJ1Y3QgaG9zdGVudCAqLCBjaGFyICosIHNpemVfdCwgc3RydWN0IGhvc3RlbnQgKiosIGludCAqKTsKIHN0cnVjdCBob3N0ZW50CSpnZXRob3N0YnluYW1lMihjb25zdCBjaGFyICosIGludCk7CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvcGF0aGNvbmYuaCBiL2xpYmMvaW5jbHVkZS9wYXRoY29uZi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGY5Nzg3Li4wMDAwMDAwCi0tLSBhL2xpYmMvaW5jbHVkZS9wYXRoY29uZi5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotI2lmbmRlZiBfUEFUSENPTkZfSF8KLSNkZWZpbmUgX1BBVEhDT05GX0hfCi0KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLQotX19CRUdJTl9ERUNMUwotCi0vKiBjb25zdGFudHMgdG8gYmUgdXNlZCBmb3IgdGhlICduYW1lJyBwYXJlbWV0ZXIgb2YgcGF0aGNvbmYvZnBhdGhjb25mICovCi0KLSNkZWZpbmUgIF9QQ19GSUxFU0laRUJJVFMgICAgICAgMHgwMDAwCi0jZGVmaW5lICBfUENfTElOS19NQVggICAgICAgICAgIDB4MDAwMQotI2RlZmluZSAgX1BDX01BWF9DQU5PTiAgICAgICAgICAweDAwMDIKLSNkZWZpbmUgIF9QQ19NQVhfSU5QVVQgICAgICAgICAgMHgwMDAzCi0jZGVmaW5lICBfUENfTkFNRV9NQVggICAgICAgICAgIDB4MDAwNAotI2RlZmluZSAgX1BDX1BBVEhfTUFYICAgICAgICAgICAweDAwMDUKLSNkZWZpbmUgIF9QQ19QSVBFX0JVRiAgICAgICAgICAgMHgwMDA2Ci0jZGVmaW5lICBfUENfMl9TWU1MSU5LUyAgICAgICAgIDB4MDAwNwotI2RlZmluZSAgX1BDX0FMTE9DX1NJWkVfTUlOICAgICAweDAwMDgKLSNkZWZpbmUgIF9QQ19SRUNfSU5DUl9YRkVSX1NJWkUgMHgwMDA5Ci0jZGVmaW5lICBfUENfUkVDX01BWF9YRkVSX1NJWkUgIDB4MDAwYQotI2RlZmluZSAgX1BDX1JFQ19NSU5fWEZFUl9TSVpFICAweDAwMGIKLSNkZWZpbmUgIF9QQ19SRUNfWEZFUl9BTElHTiAgICAgMHgwMDBjCi0jZGVmaW5lICBfUENfU1lNTElOS19NQVggICAgICAgIDB4MDAwZAotI2RlZmluZSAgX1BDX0NIT1dOX1JFU1RSSUNURUQgICAweDAwMGUKLSNkZWZpbmUgIF9QQ19OT19UUlVOQyAgICAgICAgICAgMHgwMDBmCi0jZGVmaW5lICBfUENfVkRJU0FCTEUgICAgICAgICAgIDB4MDAxMAotI2RlZmluZSAgX1BDX0FTWU5DX0lPICAgICAgICAgICAweDAwMTEKLSNkZWZpbmUgIF9QQ19QUklPX0lPICAgICAgICAgICAgMHgwMDEyCi0jZGVmaW5lICBfUENfU1lOQ19JTyAgICAgICAgICAgIDB4MDAxMwotCi1leHRlcm4gbG9uZyBmcGF0aGNvbmYoaW50IGZpbGRlcywgaW50IG5hbWUpOwotZXh0ZXJuIGxvbmcgcGF0aGNvbmYoY29uc3QgY2hhciAqcGF0aCwgaW50IG5hbWUpOwotCi1fX0VORF9ERUNMUwotCi0jZW5kaWYgLyogX1BBVEhDT05GX0hfICovCi0KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9wYXRocy5oIGIvbGliYy9pbmNsdWRlL3BhdGhzLmgKaW5kZXggYTcyMTYyZi4uODJjMjgwNCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3BhdGhzLmgKKysrIGIvbGliYy9pbmNsdWRlL3BhdGhzLmgKQEAgLTMyLDQzICszMiwxMyBAQAogI2lmbmRlZiBfUEFUSFNfSF8KICNkZWZpbmUJX1BBVEhTX0hfCiAKLS8qIERlZmF1bHQgc2VhcmNoIHBhdGguICovCi0jZGVmaW5lCV9QQVRIX0RFRlBBVEgJIi91c3IvYmluOi9iaW4iCi0vKiBBbGwgc3RhbmRhcmQgdXRpbGl0aWVzIHBhdGguICovCi0jZGVmaW5lCV9QQVRIX1NURFBBVEggXAotCSIvdXNyL2JpbjovYmluOi91c3Ivc2Jpbjovc2JpbiIKLQogI2RlZmluZQlfUEFUSF9CU0hFTEwJIi9zeXN0ZW0vYmluL3NoIgogI2RlZmluZQlfUEFUSF9DT05TT0xFCSIvZGV2L2NvbnNvbGUiCi0jZGVmaW5lCV9QQVRIX0NTSEVMTAkiL2Jpbi9jc2giCi0jZGVmaW5lCV9QQVRIX0RFVkRCCSIvdmFyL3J1bi9kZXYuZGIiCi0jZGVmaW5lCV9QQVRIX0RFVk5VTEwJIi9kZXYvbnVsbCIKLSNkZWZpbmUJX1BBVEhfRFJVTQkiL2Rldi9kcnVtIgotI2RlZmluZQlfUEFUSF9LTE9HCSIvcHJvYy9rbXNnIgotI2RlZmluZQlfUEFUSF9LTUVNCSIvZGV2L2ttZW0iCi0jZGVmaW5lCV9QQVRIX0xBU1RMT0cJIi92YXIvbG9nL2xhc3Rsb2ciCi0jZGVmaW5lCV9QQVRIX01BSUxESVIJIi92YXIvbWFpbCIKLSNkZWZpbmUJX1BBVEhfTUFOCSIvdXNyL3NoYXJlL21hbiIKLSNkZWZpbmUJX1BBVEhfTUVNCSIvZGV2L21lbSIKLSNkZWZpbmUJX1BBVEhfTU5UVEFCCSIvZXRjL2ZzdGFiIgotI2RlZmluZQlfUEFUSF9NT1VOVEVECSIvZXRjL210YWIiCi0jZGVmaW5lCV9QQVRIX05PTE9HSU4JIi9ldGMvbm9sb2dpbiIKLSNkZWZpbmUJX1BBVEhfUFJFU0VSVkUJIi92YXIvbGliIgotI2RlZmluZQlfUEFUSF9SV0hPRElSCSIvdmFyL3Nwb29sL3J3aG8iCi0jZGVmaW5lCV9QQVRIX1NFTkRNQUlMCSIvdXNyL3NiaW4vc2VuZG1haWwiCi0jZGVmaW5lCV9QQVRIX1NIQURPVwkiL2V0Yy9zaGFkb3ciCi0jZGVmaW5lCV9QQVRIX1NIRUxMUwkiL2V0Yy9zaGVsbHMiCi0jZGVmaW5lCV9QQVRIX1RUWQkiL2Rldi90dHkiCi0jZGVmaW5lCV9QQVRIX1VOSVgJIi9ib290L3ZtbGludXgiCi0jZGVmaW5lIF9QQVRIX1VUTVAJIi92YXIvcnVuL3V0bXAiCi0jZGVmaW5lCV9QQVRIX1ZJCSIvYmluL3ZpIgotI2RlZmluZSBfUEFUSF9XVE1QCSIvdmFyL2xvZy93dG1wIgotCi0vKiBQcm92aWRlIHRyYWlsaW5nIHNsYXNoLCBzaW5jZSBtb3N0bHkgdXNlZCBmb3IgYnVpbGRpbmcgcGF0aG5hbWVzLiAqLworI2RlZmluZQlfUEFUSF9ERUZQQVRICSIvc2JpbjovdmVuZG9yL2Jpbjovc3lzdGVtL3NiaW46L3N5c3RlbS9iaW46L3N5c3RlbS94YmluIgogI2RlZmluZQlfUEFUSF9ERVYJIi9kZXYvIgotI2RlZmluZQlfUEFUSF9UTVAJIi90bXAvIgotI2RlZmluZQlfUEFUSF9WQVJEQgkiL3Zhci9kYi8iCi0jZGVmaW5lCV9QQVRIX1ZBUlJVTgkiL3Zhci9ydW4vIgotI2RlZmluZQlfUEFUSF9WQVJUTVAJIi92YXIvdG1wLyIKKyNkZWZpbmUJX1BBVEhfREVWTlVMTAkiL2Rldi9udWxsIgorI2RlZmluZQlfUEFUSF9LTE9HCSIvcHJvYy9rbXNnIgorI2RlZmluZQlfUEFUSF9NT1VOVEVECSIvcHJvYy9tb3VudHMiCisjZGVmaW5lCV9QQVRIX1RUWQkiL2Rldi90dHkiCiAKICNlbmRpZiAvKiAhX1BBVEhTX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvcG9sbC5oIGIvbGliYy9pbmNsdWRlL3BvbGwuaAppbmRleCAwMTk5Y2FiLi43YzE2ZDgxIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvcG9sbC5oCisrKyBiL2xpYmMvaW5jbHVkZS9wb2xsLmgKQEAgLTM4LDggKzM4LDUyIEBACiAKIHR5cGVkZWYgdW5zaWduZWQgaW50IG5mZHNfdDsKIAotZXh0ZXJuIGludCBwb2xsKHN0cnVjdCBwb2xsZmQqLCBuZmRzX3QsIGludCk7Ci1leHRlcm4gaW50IHBwb2xsKHN0cnVjdCBwb2xsZmQqLCBuZmRzX3QsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyosIGNvbnN0IHNpZ3NldF90Kik7CitpbnQgcG9sbChzdHJ1Y3QgcG9sbGZkKiwgbmZkc190LCBpbnQpOworaW50IHBwb2xsKHN0cnVjdCBwb2xsZmQqLCBuZmRzX3QsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyosIGNvbnN0IHNpZ3NldF90Kik7CisKK2ludCBfX3BvbGxfY2hrKHN0cnVjdCBwb2xsZmQqLCBuZmRzX3QsIGludCwgc2l6ZV90KTsKK2ludCBfX3BvbGxfcmVhbChzdHJ1Y3QgcG9sbGZkKiwgbmZkc190LCBpbnQpIF9fUkVOQU1FKHBvbGwpOworX19lcnJvcmRlY2woX19wb2xsX3Rvb19zbWFsbF9lcnJvciwgInBvbGw6IHBvbGxmZCBhcnJheSBzbWFsbGVyIHRoYW4gZmQgY291bnQiKTsKKworaW50IF9fcHBvbGxfY2hrKHN0cnVjdCBwb2xsZmQqLCBuZmRzX3QsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyosIGNvbnN0IHNpZ3NldF90Kiwgc2l6ZV90KTsKK2ludCBfX3Bwb2xsX3JlYWwoc3RydWN0IHBvbGxmZCosIG5mZHNfdCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjKiwgY29uc3Qgc2lnc2V0X3QqKSBfX1JFTkFNRShwcG9sbCk7CitfX2Vycm9yZGVjbChfX3Bwb2xsX3Rvb19zbWFsbF9lcnJvciwgInBwb2xsOiBwb2xsZmQgYXJyYXkgc21hbGxlciB0aGFuIGZkIGNvdW50Iik7CisKKyNpZiBkZWZpbmVkKF9fQklPTklDX0ZPUlRJRlkpCisKK19fQklPTklDX0ZPUlRJRllfSU5MSU5FCitpbnQgcG9sbChzdHJ1Y3QgcG9sbGZkKiBmZHMsIG5mZHNfdCBmZF9jb3VudCwgaW50IHRpbWVvdXQpIHsKKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKyAgcmV0dXJuIF9fcG9sbF9jaGsoZmRzLCBmZF9jb3VudCwgdGltZW91dCwgX19ib3MoZmRzKSk7CisjZWxzZQorICBpZiAoX19ib3MoZmRzKSAhPSBfX0JJT05JQ19GT1JUSUZZX1VOS05PV05fU0laRSkgeworICAgIGlmICghX19idWlsdGluX2NvbnN0YW50X3AoZmRfY291bnQpKSB7CisgICAgICByZXR1cm4gX19wb2xsX2NoayhmZHMsIGZkX2NvdW50LCB0aW1lb3V0LCBfX2JvcyhmZHMpKTsKKyAgICB9IGVsc2UgaWYgKF9fYm9zKGZkcykgLyBzaXplb2YoKmZkcykgPCBmZF9jb3VudCkgeworICAgICAgX19wb2xsX3Rvb19zbWFsbF9lcnJvcigpOworICAgIH0KKyAgfQorICByZXR1cm4gX19wb2xsX3JlYWwoZmRzLCBmZF9jb3VudCwgdGltZW91dCk7CisjZW5kaWYKK30KKworX19CSU9OSUNfRk9SVElGWV9JTkxJTkUKK2ludCBwcG9sbChzdHJ1Y3QgcG9sbGZkKiBmZHMsIG5mZHNfdCBmZF9jb3VudCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjKiB0aW1lb3V0LCBjb25zdCBzaWdzZXRfdCogbWFzaykgeworI2lmIGRlZmluZWQoX19jbGFuZ19fKQorICByZXR1cm4gX19wcG9sbF9jaGsoZmRzLCBmZF9jb3VudCwgdGltZW91dCwgbWFzaywgX19ib3MoZmRzKSk7CisjZWxzZQorICBpZiAoX19ib3MoZmRzKSAhPSBfX0JJT05JQ19GT1JUSUZZX1VOS05PV05fU0laRSkgeworICAgIGlmICghX19idWlsdGluX2NvbnN0YW50X3AoZmRfY291bnQpKSB7CisgICAgICByZXR1cm4gX19wcG9sbF9jaGsoZmRzLCBmZF9jb3VudCwgdGltZW91dCwgbWFzaywgX19ib3MoZmRzKSk7CisgICAgfSBlbHNlIGlmIChfX2JvcyhmZHMpIC8gc2l6ZW9mKCpmZHMpIDwgZmRfY291bnQpIHsKKyAgICAgIF9fcHBvbGxfdG9vX3NtYWxsX2Vycm9yKCk7CisgICAgfQorICB9CisgIHJldHVybiBfX3Bwb2xsX3JlYWwoZmRzLCBmZF9jb3VudCwgdGltZW91dCwgbWFzayk7CisjZW5kaWYKK30KKworI2VuZGlmCiAKIF9fRU5EX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9wdGhyZWFkLmggYi9saWJjL2luY2x1ZGUvcHRocmVhZC5oCmluZGV4IGMzMjg5MGIuLmNmMDk0NDUgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9wdGhyZWFkLmgKKysrIGIvbGliYy9pbmNsdWRlL3B0aHJlYWQuaApAQCAtMjksMzIgKzI5LDI1IEBACiAjaWZuZGVmIF9QVEhSRUFEX0hfCiAjZGVmaW5lIF9QVEhSRUFEX0hfCiAKLSNpbmNsdWRlIDx0aW1lLmg+Ci0jaW5jbHVkZSA8c2lnbmFsLmg+Ci0jaW5jbHVkZSA8c2NoZWQuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxtYWNoaW5lL3B0aHJlYWRfdHlwZXMuaD4KKyNpbmNsdWRlIDxzY2hlZC5oPgorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotCi0jaWYgZGVmaW5lZChfX0xQNjRfXykKLSAgI2RlZmluZSBfX1JFU0VSVkVEX0lOSVRJQUxJWkVSICwgezB9Ci0jZWxzZQotICAjZGVmaW5lIF9fUkVTRVJWRURfSU5JVElBTElaRVIKLSNlbmRpZgorI2luY2x1ZGUgPHRpbWUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgewotICBpbnQgdm9sYXRpbGUgdmFsdWU7Ci0jaWZkZWYgX19MUDY0X18KLSAgY2hhciBfX3Jlc2VydmVkWzM2XTsKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorICBpbnQzMl90IF9fcHJpdmF0ZVsxMF07CisjZWxzZQorICBpbnQzMl90IF9fcHJpdmF0ZVsxXTsKICNlbmRpZgogfSBwdGhyZWFkX211dGV4X3Q7CiAKLSNkZWZpbmUgIF9fUFRIUkVBRF9NVVRFWF9JTklUX1ZBTFVFICAgICAgICAgICAgMAotI2RlZmluZSAgX19QVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWF9JTklUX1ZBTFVFICAweDQwMDAKLSNkZWZpbmUgIF9fUFRIUkVBRF9FUlJPUkNIRUNLX01VVEVYX0lOSVRfVkFMVUUgMHg4MDAwCit0eXBlZGVmIGxvbmcgcHRocmVhZF9tdXRleGF0dHJfdDsKIAotI2RlZmluZSAgUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUiAgICAgICAgICAgICB7X19QVEhSRUFEX01VVEVYX0lOSVRfVkFMVUUgX19SRVNFUlZFRF9JTklUSUFMSVpFUn0KLSNkZWZpbmUgIFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSICAge19fUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfSU5JVF9WQUxVRSBfX1JFU0VSVkVEX0lOSVRJQUxJWkVSfQotI2RlZmluZSAgUFRIUkVBRF9FUlJPUkNIRUNLX01VVEVYX0lOSVRJQUxJWkVSICB7X19QVEhSRUFEX0VSUk9SQ0hFQ0tfTVVURVhfSU5JVF9WQUxVRSBfX1JFU0VSVkVEX0lOSVRJQUxJWkVSfQorI2RlZmluZSAgUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfSU5JVElBTElaRVJfTlAgIFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSCisjZGVmaW5lICBQVEhSRUFEX0VSUk9SQ0hFQ0tfTVVURVhfSU5JVElBTElaRVJfTlAgUFRIUkVBRF9FUlJPUkNIRUNLX01VVEVYX0lOSVRJQUxJWkVSCiAKIGVudW0gewogICAgIFBUSFJFQURfTVVURVhfTk9STUFMID0gMCwKQEAgLTY3LDYwICs2MCw0MiBAQAogICAgIFBUSFJFQURfTVVURVhfREVGQVVMVCA9IFBUSFJFQURfTVVURVhfTk9STUFMCiB9OwogCisjZGVmaW5lIFBUSFJFQURfTVVURVhfSU5JVElBTElaRVIgeyB7ICgoUFRIUkVBRF9NVVRFWF9OT1JNQUwgJiAzKSA8PCAxNCkgfSB9CisjZGVmaW5lIFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSX05QIHsgeyAoKFBUSFJFQURfTVVURVhfUkVDVVJTSVZFICYgMykgPDwgMTQpIH0gfQorI2RlZmluZSBQVEhSRUFEX0VSUk9SQ0hFQ0tfTVVURVhfSU5JVElBTElaRVJfTlAgeyB7ICgoUFRIUkVBRF9NVVRFWF9FUlJPUkNIRUNLICYgMykgPDwgMTQpIH0gfQorCiB0eXBlZGVmIHN0cnVjdCB7Ci0gIGludCB2b2xhdGlsZSB2YWx1ZTsKLSNpZmRlZiBfX0xQNjRfXwotICBjaGFyIF9fcmVzZXJ2ZWRbNDRdOworI2lmIGRlZmluZWQoX19MUDY0X18pCisgIGludDMyX3QgX19wcml2YXRlWzEyXTsKKyNlbHNlCisgIGludDMyX3QgX19wcml2YXRlWzFdOwogI2VuZGlmCiB9IHB0aHJlYWRfY29uZF90OwogCi0jZGVmaW5lIFBUSFJFQURfQ09ORF9JTklUSUFMSVpFUiAgezAgX19SRVNFUlZFRF9JTklUSUFMSVpFUn0KK3R5cGVkZWYgbG9uZyBwdGhyZWFkX2NvbmRhdHRyX3Q7CisKKyNkZWZpbmUgUFRIUkVBRF9DT05EX0lOSVRJQUxJWkVSICB7IHsgMCB9IH0KIAogdHlwZWRlZiBzdHJ1Y3QgewotICB1aW50MzJfdCBmbGFnczsKLSAgdm9pZCogc3RhY2tfYmFzZTsKLSAgc2l6ZV90IHN0YWNrX3NpemU7Ci0gIHNpemVfdCBndWFyZF9zaXplOwotICBpbnQzMl90IHNjaGVkX3BvbGljeTsKLSAgaW50MzJfdCBzY2hlZF9wcmlvcml0eTsKLSNpZmRlZiBfX0xQNjRfXwotICBjaGFyIF9fcmVzZXJ2ZWRbMTZdOworI2lmIGRlZmluZWQoX19MUDY0X18pCisgIGludDMyX3QgX19wcml2YXRlWzE0XTsKKyNlbHNlCisgIGludDMyX3QgX19wcml2YXRlWzEwXTsKICNlbmRpZgotfSBwdGhyZWFkX2F0dHJfdDsKLQotdHlwZWRlZiBsb25nIHB0aHJlYWRfbXV0ZXhhdHRyX3Q7Ci10eXBlZGVmIGxvbmcgcHRocmVhZF9jb25kYXR0cl90OworfSBwdGhyZWFkX3J3bG9ja190OwogCiB0eXBlZGVmIGxvbmcgcHRocmVhZF9yd2xvY2thdHRyX3Q7CiAKLXR5cGVkZWYgc3RydWN0IHsKLSNpZiAhZGVmaW5lZChfX0xQNjRfXykKLSAgcHRocmVhZF9tdXRleF90IF9fdW51c2VkX2xvY2s7Ci0gIHB0aHJlYWRfY29uZF90IF9fdW51c2VkX2NvbmQ7Ci0jZW5kaWYKLSAgdm9sYXRpbGUgaW50MzJfdCBzdGF0ZTsgLy8gMD11bmxvY2ssIC0xPXdyaXRlciBsb2NrLCArbj1yZWFkZXIgbG9jawotICB2b2xhdGlsZSBpbnQzMl90IHdyaXRlcl90aHJlYWRfaWQ7Ci0gIHZvbGF0aWxlIGludDMyX3QgcGVuZGluZ19yZWFkZXJzOwotICB2b2xhdGlsZSBpbnQzMl90IHBlbmRpbmdfd3JpdGVyczsKLSAgaW50MzJfdCBhdHRyOwotI2lmZGVmIF9fTFA2NF9fCi0gIGNoYXIgX19yZXNlcnZlZFszNl07Ci0jZWxzZQotICBjaGFyIF9fcmVzZXJ2ZWRbMTJdOwotI2VuZGlmCisjZGVmaW5lIFBUSFJFQURfUldMT0NLX0lOSVRJQUxJWkVSICB7IHsgMCB9IH0KIAotfSBwdGhyZWFkX3J3bG9ja190OwotCi0jaWZkZWYgX19MUDY0X18KLSAgI2RlZmluZSBQVEhSRUFEX1JXTE9DS19JTklUSUFMSVpFUiAgeyAwLCAwLCAwLCAwLCAwLCB7IDAgfSB9Ci0jZWxzZQotICAjZGVmaW5lIFBUSFJFQURfUldMT0NLX0lOSVRJQUxJWkVSICB7IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVIsIFBUSFJFQURfQ09ORF9JTklUSUFMSVpFUiwgMCwgMCwgMCwgMCwgMCwgeyAwIH0gfQotI2VuZGlmCitlbnVtIHsKKyAgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1JFQURFUl9OUCA9IDAsCisgIFBUSFJFQURfUldMT0NLX1BSRUZFUl9XUklURVJfTk9OUkVDVVJTSVZFX05QID0gMSwKK307CiAKIHR5cGVkZWYgaW50IHB0aHJlYWRfa2V5X3Q7Ci10eXBlZGVmIGxvbmcgcHRocmVhZF90OwogCi10eXBlZGVmIHZvbGF0aWxlIGludCBwdGhyZWFkX29uY2VfdDsKK3R5cGVkZWYgaW50IHB0aHJlYWRfb25jZV90OwogCiAjZGVmaW5lIFBUSFJFQURfT05DRV9JTklUIDAKIApAQCAtMTk1LDggKzE3MCw2IEBACiBpbnQgcHRocmVhZF9rZXlfY3JlYXRlKHB0aHJlYWRfa2V5X3QqLCB2b2lkICgqKSh2b2lkKikpIF9fbm9ubnVsbCgoMSkpOwogaW50IHB0aHJlYWRfa2V5X2RlbGV0ZShwdGhyZWFkX2tleV90KTsKIAotaW50IHB0aHJlYWRfa2lsbChwdGhyZWFkX3QsIGludCk7Ci0KIGludCBwdGhyZWFkX211dGV4YXR0cl9kZXN0cm95KHB0aHJlYWRfbXV0ZXhhdHRyX3QqKSBfX25vbm51bGwoKDEpKTsKIGludCBwdGhyZWFkX211dGV4YXR0cl9nZXRwc2hhcmVkKGNvbnN0IHB0aHJlYWRfbXV0ZXhhdHRyX3QqLCBpbnQqKSBfX25vbm51bGwoKDEsIDIpKTsKIGludCBwdGhyZWFkX211dGV4YXR0cl9nZXR0eXBlKGNvbnN0IHB0aHJlYWRfbXV0ZXhhdHRyX3QqLCBpbnQqKSBfX25vbm51bGwoKDEsIDIpKTsKQEAgLTIwNiwxNyArMTc5LDE5IEBACiAKIGludCBwdGhyZWFkX211dGV4X2Rlc3Ryb3kocHRocmVhZF9tdXRleF90KikgX19ub25udWxsKCgxKSk7CiBpbnQgcHRocmVhZF9tdXRleF9pbml0KHB0aHJlYWRfbXV0ZXhfdCosIGNvbnN0IHB0aHJlYWRfbXV0ZXhhdHRyX3QqKSBfX25vbm51bGwoKDEpKTsKLWludCBwdGhyZWFkX211dGV4X2xvY2socHRocmVhZF9tdXRleF90KikgLyogX19ub25udWxsKCgxKSkgKi87CitpbnQgcHRocmVhZF9tdXRleF9sb2NrKHB0aHJlYWRfbXV0ZXhfdCopIF9fbm9ubnVsbCgoMSkpOwogaW50IHB0aHJlYWRfbXV0ZXhfdGltZWRsb2NrKHB0aHJlYWRfbXV0ZXhfdCosIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyopIF9fbm9ubnVsbCgoMSwgMikpOwogaW50IHB0aHJlYWRfbXV0ZXhfdHJ5bG9jayhwdGhyZWFkX211dGV4X3QqKSBfX25vbm51bGwoKDEpKTsKLWludCBwdGhyZWFkX211dGV4X3VubG9jayhwdGhyZWFkX211dGV4X3QqKSAvKiBfX25vbm51bGwoKDEpKSAqLzsKK2ludCBwdGhyZWFkX211dGV4X3VubG9jayhwdGhyZWFkX211dGV4X3QqKSBfX25vbm51bGwoKDEpKTsKIAogaW50IHB0aHJlYWRfb25jZShwdGhyZWFkX29uY2VfdCosIHZvaWQgKCopKHZvaWQpKSBfX25vbm51bGwoKDEsIDIpKTsKIAoraW50IHB0aHJlYWRfcndsb2NrYXR0cl9pbml0KHB0aHJlYWRfcndsb2NrYXR0cl90KikgX19ub25udWxsKCgxKSk7CiBpbnQgcHRocmVhZF9yd2xvY2thdHRyX2Rlc3Ryb3kocHRocmVhZF9yd2xvY2thdHRyX3QqKSBfX25vbm51bGwoKDEpKTsKIGludCBwdGhyZWFkX3J3bG9ja2F0dHJfZ2V0cHNoYXJlZChjb25zdCBwdGhyZWFkX3J3bG9ja2F0dHJfdCosIGludCopIF9fbm9ubnVsbCgoMSwgMikpOwotaW50IHB0aHJlYWRfcndsb2NrYXR0cl9pbml0KHB0aHJlYWRfcndsb2NrYXR0cl90KikgX19ub25udWxsKCgxKSk7CiBpbnQgcHRocmVhZF9yd2xvY2thdHRyX3NldHBzaGFyZWQocHRocmVhZF9yd2xvY2thdHRyX3QqLCBpbnQpIF9fbm9ubnVsbCgoMSkpOworaW50IHB0aHJlYWRfcndsb2NrYXR0cl9nZXRraW5kX25wKGNvbnN0IHB0aHJlYWRfcndsb2NrYXR0cl90KiwgaW50KikgX19ub25udWxsKCgxLCAyKSk7CitpbnQgcHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRfbnAocHRocmVhZF9yd2xvY2thdHRyX3QqLCBpbnQpIF9fbm9ubnVsbCgoMSkpOwogCiBpbnQgcHRocmVhZF9yd2xvY2tfZGVzdHJveShwdGhyZWFkX3J3bG9ja190KikgX19ub25udWxsKCgxKSk7CiBpbnQgcHRocmVhZF9yd2xvY2tfaW5pdChwdGhyZWFkX3J3bG9ja190KiwgY29uc3QgcHRocmVhZF9yd2xvY2thdHRyX3QqKSBfX25vbm51bGwoKDEpKTsKQEAgLTIzNiw4ICsyMTEsNiBAQAogCiBpbnQgcHRocmVhZF9zZXRzcGVjaWZpYyhwdGhyZWFkX2tleV90LCBjb25zdCB2b2lkKik7CiAKLWludCBwdGhyZWFkX3NpZ21hc2soaW50LCBjb25zdCBzaWdzZXRfdCosIHNpZ3NldF90Kik7Ci0KIHR5cGVkZWYgdm9pZCAoKl9fcHRocmVhZF9jbGVhbnVwX2Z1bmNfdCkodm9pZCopOwogCiB0eXBlZGVmIHN0cnVjdCBfX3B0aHJlYWRfY2xlYW51cF90IHsKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9wdHkuaCBiL2xpYmMvaW5jbHVkZS9wdHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2ExMTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9pbmNsdWRlL3B0eS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUworICogT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VECisgKiBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKKyAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBfUFRZX0gKKyNkZWZpbmUgX1BUWV9ICisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKworI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKworX19CRUdJTl9ERUNMUworCitpbnQgb3BlbnB0eShpbnQqLCBpbnQqLCBjaGFyKiwgY29uc3Qgc3RydWN0IHRlcm1pb3MqLCBjb25zdCBzdHJ1Y3Qgd2luc2l6ZSopOworaW50IGZvcmtwdHkoaW50KiwgY2hhciosIGNvbnN0IHN0cnVjdCB0ZXJtaW9zKiwgY29uc3Qgc3RydWN0IHdpbnNpemUqKTsKKworX19FTkRfREVDTFMKKworI2VuZGlmIC8qIF9QVFlfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3B3ZC5oIGIvbGliYy9pbmNsdWRlL3B3ZC5oCmluZGV4IDZkNDgzYzAuLjYwMTJiOTYgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9wd2QuaAorKysgYi9saWJjL2luY2x1ZGUvcHdkLmgKQEAgLTExOSwxMCArMTE5LDYgQEAKIGludCBnZXRwd25hbV9yKGNvbnN0IGNoYXIqLCBzdHJ1Y3QgcGFzc3dkKiwgY2hhciosIHNpemVfdCwgc3RydWN0IHBhc3N3ZCoqKTsKIGludCBnZXRwd3VpZF9yKHVpZF90LCBzdHJ1Y3QgcGFzc3dkKiwgY2hhciosIHNpemVfdCwgc3RydWN0IHBhc3N3ZCoqKTsKIAotdm9pZCBlbmRwd2VudCh2b2lkKTsKLXN0cnVjdCBwYXNzd2QqIGdldHB3ZW50KHZvaWQpOwotaW50IHNldHB3ZW50KHZvaWQpOwotCiBfX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zY2hlZC5oIGIvbGliYy9pbmNsdWRlL3NjaGVkLmgKaW5kZXggZTQzYjZjYy4uOTMwZGQ3YyAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3NjaGVkLmgKKysrIGIvbGliYy9pbmNsdWRlL3NjaGVkLmgKQEAgLTI4LDEwICsyOCw5IEBACiAjaWZuZGVmIF9TQ0hFRF9IXwogI2RlZmluZSBfU0NIRURfSF8KIAotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPG1hY2hpbmUvdGltZXNwZWMuaD4KKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIAogX19CRUdJTl9ERUNMUwogCkBAIC0zOSw5ICszOCw4IEBACiAjZGVmaW5lIFNDSEVEX09USEVSIFNDSEVEX05PUk1BTAogCiBzdHJ1Y3Qgc2NoZWRfcGFyYW0gewotICBpbnQgX19zY2hlZF9wcmlvcml0eTsKKyAgaW50IHNjaGVkX3ByaW9yaXR5OwogfTsKLSNkZWZpbmUgc2NoZWRfcHJpb3JpdHkgX19zY2hlZF9wcmlvcml0eQogCiBleHRlcm4gaW50IHNjaGVkX3NldHNjaGVkdWxlcihwaWRfdCwgaW50LCBjb25zdCBzdHJ1Y3Qgc2NoZWRfcGFyYW0qKTsKIGV4dGVybiBpbnQgc2NoZWRfZ2V0c2NoZWR1bGVyKHBpZF90KTsKQEAgLTUyLDcgKzUwLDcgQEAKIGV4dGVybiBpbnQgc2NoZWRfZ2V0cGFyYW0ocGlkX3QsIHN0cnVjdCBzY2hlZF9wYXJhbSopOwogZXh0ZXJuIGludCBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwocGlkX3QsIHN0cnVjdCB0aW1lc3BlYyopOwogCi0jaWZkZWYgX0dOVV9TT1VSQ0UKKyNpZiBkZWZpbmVkKF9fVVNFX0dOVSkKIAogZXh0ZXJuIGludCBjbG9uZShpbnQgKCopKHZvaWQqKSwgdm9pZCosIGludCwgdm9pZCosIC4uLik7CiBleHRlcm4gaW50IHVuc2hhcmUoaW50KTsKQEAgLTE0Niw3ICsxNDQsNyBAQAogCiBleHRlcm4gaW50IF9fc2NoZWRfY3B1Y291bnQoc2l6ZV90IHNldHNpemUsIGNwdV9zZXRfdCogc2V0KTsKIAotI2VuZGlmIC8qIF9HTlVfU09VUkNFICovCisjZW5kaWYgLyogX19VU0VfR05VICovCiAKIF9fRU5EX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zZW1hcGhvcmUuaCBiL2xpYmMvaW5jbHVkZS9zZW1hcGhvcmUuaAppbmRleCA3YWUzYzNhLi40ZWYxM2FmIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc2VtYXBob3JlLmgKKysrIGIvbGliYy9pbmNsdWRlL3NlbWFwaG9yZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKICAqIFNVQ0ggREFNQUdFLgogICovCisKICNpZm5kZWYgX1NFTUFQSE9SRV9ICiAjZGVmaW5lIF9TRU1BUEhPUkVfSAogCkBAIC0zMiw4ICszMywxMCBAQAogCiBfX0JFR0lOX0RFQ0xTCiAKK3N0cnVjdCB0aW1lc3BlYzsKKwogdHlwZWRlZiBzdHJ1Y3QgewotICB2b2xhdGlsZSB1bnNpZ25lZCBpbnQgY291bnQ7CisgIHVuc2lnbmVkIGludCBjb3VudDsKICNpZmRlZiBfX0xQNjRfXwogICBpbnQgX19yZXNlcnZlZFszXTsKICNlbmRpZgpAQCAtNDEsMjAgKzQ0LDE4IEBACiAKICNkZWZpbmUgU0VNX0ZBSUxFRCBOVUxMCiAKLWV4dGVybiBpbnQgc2VtX2luaXQoc2VtX3QgKnNlbSwgaW50IHBzaGFyZWQsIHVuc2lnbmVkIGludCB2YWx1ZSk7CitpbnQgc2VtX2Rlc3Ryb3koc2VtX3QqKTsKK2ludCBzZW1fZ2V0dmFsdWUoc2VtX3QqLCBpbnQqKTsKK2ludCBzZW1faW5pdChzZW1fdCosIGludCwgdW5zaWduZWQgaW50KTsKK2ludCBzZW1fcG9zdChzZW1fdCopOworaW50IHNlbV90aW1lZHdhaXQoc2VtX3QqLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMqKTsKK2ludCBzZW1fdHJ5d2FpdChzZW1fdCopOworaW50IHNlbV93YWl0KHNlbV90Kik7CiAKLWV4dGVybiBpbnQgICAgc2VtX2Nsb3NlKHNlbV90ICopOwotZXh0ZXJuIGludCAgICBzZW1fZGVzdHJveShzZW1fdCAqKTsKLWV4dGVybiBpbnQgICAgc2VtX2dldHZhbHVlKHNlbV90ICosIGludCAqKTsKLWV4dGVybiBpbnQgICAgc2VtX2luaXQoc2VtX3QgKiwgaW50LCB1bnNpZ25lZCBpbnQpOwotZXh0ZXJuIHNlbV90ICpzZW1fb3Blbihjb25zdCBjaGFyICosIGludCwgLi4uKTsKLWV4dGVybiBpbnQgICAgc2VtX3Bvc3Qoc2VtX3QgKik7Ci1leHRlcm4gaW50ICAgIHNlbV90cnl3YWl0KHNlbV90ICopOwotZXh0ZXJuIGludCAgICBzZW1fdW5saW5rKGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50ICAgIHNlbV93YWl0KHNlbV90ICopOwotCi1zdHJ1Y3QgdGltZXNwZWM7Ci1leHRlcm4gaW50ICAgIHNlbV90aW1lZHdhaXQoc2VtX3QgKnNlbSwgY29uc3Qgc3RydWN0IHRpbWVzcGVjICphYnNfdGltZW91dCk7CisvKiBUaGVzZSBhcmVuJ3QgYWN0dWFsbHkgaW1wbGVtZW50ZWQuICovCitzZW1fdCogc2VtX29wZW4oY29uc3QgY2hhciosIGludCwgLi4uKTsKK2ludCBzZW1fY2xvc2Uoc2VtX3QqKTsKK2ludCBzZW1fdW5saW5rKGNvbnN0IGNoYXIqKTsKIAogX19FTkRfREVDTFMKIApkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3NpZ25hbC5oIGIvbGliYy9pbmNsdWRlL3NpZ25hbC5oCmluZGV4IGUyM2U2NWIuLjU1NGUwYWMgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zaWduYWwuaAorKysgYi9saWJjL2luY2x1ZGUvc2lnbmFsLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2lmbmRlZiBfU0lHTkFMX0hfCiAjZGVmaW5lIF9TSUdOQUxfSF8KIAotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+Ci0jaW5jbHVkZSA8bGltaXRzLmg+CQkvKiBGb3IgTE9OR19CSVQgKi8KLSNpbmNsdWRlIDxzdHJpbmcuaD4JCS8qIEZvciBtZW1zZXQoKSAqLwotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zaWdjb250ZXh0Lmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8bWFjaGluZS9wdGhyZWFkX3R5cGVzLmg+CisjaW5jbHVkZSA8bWFjaGluZS90aW1lc3BlYy5oPgorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogCiAjaWYgZGVmaW5lZChfX0xQNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKIC8qIEZvciA2NC1iaXQgKGFuZCBtaXBzKSwgdGhlIGtlcm5lbCdzIHN0cnVjdCBzaWdhY3Rpb24gZG9lc24ndCBtYXRjaCB0aGUgUE9TSVggb25lLApAQCAtMTA1LDE1ICsxMDUsMTUgQEAKIAogZXh0ZXJuIGludCBzaWdhY3Rpb24oaW50LCBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uKiwgc3RydWN0IHNpZ2FjdGlvbiopOwogCi1leHRlcm4gc2lnaGFuZGxlcl90IHNpZ25hbChpbnQsIHNpZ2hhbmRsZXJfdCk7CitfQklPTklDX05PVF9CRUZPUkVfMjEoZXh0ZXJuIHNpZ2hhbmRsZXJfdCBzaWduYWwoaW50LCBzaWdoYW5kbGVyX3QpOykKIAogZXh0ZXJuIGludCBzaWdpbnRlcnJ1cHQoaW50LCBpbnQpOwogCi1leHRlcm4gaW50IHNpZ2FkZHNldChzaWdzZXRfdCosIGludCk7Ci1leHRlcm4gaW50IHNpZ2RlbHNldChzaWdzZXRfdCosIGludCk7Ci1leHRlcm4gaW50IHNpZ2VtcHR5c2V0KHNpZ3NldF90Kik7Ci1leHRlcm4gaW50IHNpZ2ZpbGxzZXQoc2lnc2V0X3QqKTsKLWV4dGVybiBpbnQgc2lnaXNtZW1iZXIoY29uc3Qgc2lnc2V0X3QqLCBpbnQpOworX0JJT05JQ19OT1RfQkVGT1JFXzIxKGV4dGVybiBpbnQgc2lnYWRkc2V0KHNpZ3NldF90KiwgaW50KTspCitfQklPTklDX05PVF9CRUZPUkVfMjEoZXh0ZXJuIGludCBzaWdkZWxzZXQoc2lnc2V0X3QqLCBpbnQpOykKK19CSU9OSUNfTk9UX0JFRk9SRV8yMShleHRlcm4gaW50IHNpZ2VtcHR5c2V0KHNpZ3NldF90Kik7KQorX0JJT05JQ19OT1RfQkVGT1JFXzIxKGV4dGVybiBpbnQgc2lnZmlsbHNldChzaWdzZXRfdCopOykKK19CSU9OSUNfTk9UX0JFRk9SRV8yMShleHRlcm4gaW50IHNpZ2lzbWVtYmVyKGNvbnN0IHNpZ3NldF90KiwgaW50KTspCiAKIGV4dGVybiBpbnQgc2lncGVuZGluZyhzaWdzZXRfdCopIF9fbm9ubnVsbCgoMSkpOwogZXh0ZXJuIGludCBzaWdwcm9jbWFzayhpbnQsIGNvbnN0IHNpZ3NldF90Kiwgc2lnc2V0X3QqKTsKQEAgLTEyOSw2ICsxMjksMTcgQEAKIGV4dGVybiB2b2lkIHBzaWdpbmZvKGNvbnN0IHNpZ2luZm9fdCosIGNvbnN0IGNoYXIqKTsKIGV4dGVybiB2b2lkIHBzaWduYWwoaW50LCBjb25zdCBjaGFyKik7CiAKK2V4dGVybiBpbnQgcHRocmVhZF9raWxsKHB0aHJlYWRfdCwgaW50KTsKK2V4dGVybiBpbnQgcHRocmVhZF9zaWdtYXNrKGludCwgY29uc3Qgc2lnc2V0X3QqLCBzaWdzZXRfdCopOworCitleHRlcm4gaW50IHNpZ3F1ZXVlKHBpZF90LCBpbnQsIGNvbnN0IHVuaW9uIHNpZ3ZhbCk7CitleHRlcm4gaW50IHNpZ3RpbWVkd2FpdChjb25zdCBzaWdzZXRfdCosIHNpZ2luZm9fdCosIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyopOworZXh0ZXJuIGludCBzaWd3YWl0aW5mbyhjb25zdCBzaWdzZXRfdCosIHNpZ2luZm9fdCopOworCisjaWYgX19BTkRST0lEX0FQSV9fIDwgMjEKKyNpbmNsdWRlIDxhbmRyb2lkL2xlZ2FjeV9zaWduYWxfaW5saW5lcy5oPgorI2VuZGlmCisKIF9fRU5EX0RFQ0xTCiAKICNlbmRpZiAvKiBfU0lHTkFMX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3RkYXRvbWljLmggYi9saWJjL2luY2x1ZGUvc3RkYXRvbWljLmgKaW5kZXggNThjYjFiYy4uMmM0ZjFjZSAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N0ZGF0b21pYy5oCisrKyBiL2xpYmMvaW5jbHVkZS9zdGRhdG9taWMuaApAQCAtMzIsNiArMzIsMTIgQEAKIAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogCisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgIWRlZmluZWQoX19HTlVDX1BSRVJFUSkKKy8qIER1cGxpY2F0ZSBkZWZpbml0aW9uIGhlcmUsIHNpbmNlIHRoZSBtaW5ndyBzeXMvY2RlZnMuaCBvbWl0cyB0aGUgICovCisvKiBkZWZpbml0aW9uLCBhbmQgdGhpcyBuZWVkcyB0byBiZSB1c2FibGUgdGhlcmUuICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZQlfX0dOVUNfUFJFUkVRKHgsIHkpICAgIFwKKwkoKF9fR05VQ19fID09ICh4KSAmJiBfX0dOVUNfTUlOT1JfXyA+PSAoeSkpIHx8IChfX0dOVUNfXyA+ICh4KSkpCisjZW5kaWYgLyogX19HTlVDX18gJiYgLi4uICovCiAKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKSAmJiBfX2NwbHVzcGx1cyA+PSAyMDExMDNMICYmIGRlZmluZWQoX1VTSU5HX0xJQkNYWCkKICMgaWZkZWYgX19jbGFuZ19fCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3RkaW8uaCBiL2xpYmMvaW5jbHVkZS9zdGRpby5oCmluZGV4IGEwMTYxZGUuLmY1ZWQ2NTIgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zdGRpby5oCisrKyBiL2xpYmMvaW5jbHVkZS9zdGRpby5oCkBAIC0zOCw2ICszOCwxNCBAQAogI2lmbmRlZglfU1RESU9fSF8KICNkZWZpbmUJX1NURElPX0hfCiAKKy8qCisgKiBUaGlzIGZpbGUgbXVzdCBjb250YWluIGEgcmVmZXJlbmNlIHRvIF9fZ251Y192YV9saXN0IHNvIHRoYXQgR0NDJ3MKKyAqIGZpeGluY2x1ZGVzIGtub3dzIHRoYXQgdGhhdCdzIHdoYXQncyBiZWluZyB1c2VkIGZvciB2YV9saXN0LCBhbmQgc28KKyAqIHRvIGxlYXZlIG91ciA8c3RkaW8uaD4gYWxvbmUuIChmaXhpbmNsdWRlcyBnZXRzIGluIHRoZSB3YXkgb2YgcG9pbnRpbmcKKyAqIG9uZSB0b29sY2hhaW4gYXQgdmFyaW91cyBkaWZmZXJlbnQgc2V0cyBvZiBwbGF0Zm9ybSBoZWFkZXJzLikKKyAqIElmIHlvdSBhbHRlciB0aGlzIGNvbW1lbnQsIGJlIHN1cmUgdG8ga2VlcCAiX19nbnVjX3ZhX2xpc3QiIGluIGl0IQorICovCisKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIApAQCAtNDksOCArNTcsNiBAQAogCiBfX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUJX0ZTVERJTwkJCS8qIERlZmluZSBmb3IgbmV3IHN0ZGlvIHdpdGggZnVuY3Rpb25zLiAqLwotCiB0eXBlZGVmIG9mZl90IGZwb3NfdDsJCS8qIHN0ZGlvIGZpbGUgcG9zaXRpb24gdHlwZSAqLwogCiAvKgpAQCAtMTM4LDcgKzE0NCwxNiBAQAogCWZwb3NfdAlfb2Zmc2V0OwkvKiBjdXJyZW50IGxzZWVrIG9mZnNldCAqLwogfSBGSUxFOwogCisvKiBMZWdhY3kgQlNEIGltcGxlbWVudGF0aW9uIG9mIHN0ZGluL3N0ZG91dC9zdGRlcnIuICovCiBleHRlcm4gRklMRSBfX3NGW107CisvKiBNb3JlIG9idmlvdXMgaW1wbGVtZW50YXRpb24uICovCitleHRlcm4gRklMRSogc3RkaW47CitleHRlcm4gRklMRSogc3Rkb3V0OworZXh0ZXJuIEZJTEUqIHN0ZGVycjsKKy8qIEM5OSBhbmQgZWFybGllciBwbHVzIGN1cnJlbnQgQysrIHN0YW5kYXJkcyBzYXkgdGhlc2UgbXVzdCBiZSBtYWNyb3MuICovCisjZGVmaW5lIHN0ZGluIHN0ZGluCisjZGVmaW5lIHN0ZG91dCBzdGRvdXQKKyNkZWZpbmUgc3RkZXJyIHN0ZGVycgogCiAjZGVmaW5lCV9fU0xCRgkweDAwMDEJCS8qIGxpbmUgYnVmZmVyZWQgKi8KICNkZWZpbmUJX19TTkJGCTB4MDAwMgkJLyogdW5idWZmZXJlZCAqLwpAQCAtMTkwLDIwICsyMDUsOSBAQAogI2RlZmluZQlMX3RtcG5hbQkxMDI0CS8qIFhYWCBtdXN0IGJlID09IFBBVEhfTUFYICovCiAjZGVmaW5lCVRNUF9NQVgJCTMwODkxNTc3NgogCi0vKiBBbHdheXMgZW5zdXJlIHRoYXQgdGhlc2UgYXJlIGNvbnNpc3RlbnQgd2l0aCA8ZmNudGwuaD4gYW5kIDx1bmlzdGQuaD4hICovCi0jaWZuZGVmIFNFRUtfU0VUCi0jZGVmaW5lCVNFRUtfU0VUCTAJLyogc2V0IGZpbGUgb2Zmc2V0IHRvIG9mZnNldCAqLwotI2VuZGlmCi0jaWZuZGVmIFNFRUtfQ1VSCi0jZGVmaW5lCVNFRUtfQ1VSCTEJLyogc2V0IGZpbGUgb2Zmc2V0IHRvIGN1cnJlbnQgcGx1cyBvZmZzZXQgKi8KLSNlbmRpZgotI2lmbmRlZiBTRUVLX0VORAotI2RlZmluZQlTRUVLX0VORAkyCS8qIHNldCBmaWxlIG9mZnNldCB0byBFT0YgcGx1cyBvZmZzZXQgKi8KLSNlbmRpZgotCi0jZGVmaW5lCXN0ZGluCSgmX19zRlswXSkKLSNkZWZpbmUJc3Rkb3V0CSgmX19zRlsxXSkKLSNkZWZpbmUJc3RkZXJyCSgmX19zRlsyXSkKKyNkZWZpbmUgU0VFS19TRVQgMAorI2RlZmluZSBTRUVLX0NVUiAxCisjZGVmaW5lIFNFRUtfRU5EIDIKIAogLyoKICAqIEZ1bmN0aW9ucyBkZWZpbmVkIGluIEFOU0kgQyBzdGFuZGFyZC4KQEAgLTI2MCwyNyArMjY0LDM4IEBACiAKICNpZm5kZWYgX19BVURJVF9fCiAjaWYgIWRlZmluZWQoX19TVERDX1ZFUlNJT05fXykgfHwgX19TVERDX1ZFUlNJT05fXyA8IDIwMTExMkwKLWNoYXIqIGdldHMoY2hhciopIF9fd2FybmF0dHIoImdldHMgaXMgdmVyeSB1bnNhZmU7IGNvbnNpZGVyIHVzaW5nIGZnZXRzIik7CitjaGFyKiBnZXRzKGNoYXIqKSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKCJnZXRzIGlzIHVuc2FmZSwgdXNlIGZnZXRzIGluc3RlYWQiKSkpOwogI2VuZGlmCiBpbnQgc3ByaW50ZihjaGFyKiBfX3Jlc3RyaWN0LCBjb25zdCBjaGFyKiBfX3Jlc3RyaWN0LCAuLi4pCiAgICAgX19wcmludGZsaWtlKDIsIDMpIF9fd2FybmF0dHIoInNwcmludGYgaXMgb2Z0ZW4gbWlzdXNlZDsgcGxlYXNlIHVzZSBzbnByaW50ZiIpOwotY2hhciogdG1wbmFtKGNoYXIqKSBfX3dhcm5hdHRyKCJ0bXBuYW0gcG9zc2libHkgdXNlZCB1bnNhZmVseTsgY29uc2lkZXIgdXNpbmcgbWtzdGVtcCIpOwogaW50IHZzcHJpbnRmKGNoYXIqIF9fcmVzdHJpY3QsIGNvbnN0IGNoYXIqIF9fcmVzdHJpY3QsIF9fdmFfbGlzdCkKICAgICBfX3ByaW50Zmxpa2UoMiwgMCkgX193YXJuYXR0cigidnNwcmludGYgaXMgb2Z0ZW4gbWlzdXNlZDsgcGxlYXNlIHVzZSB2c25wcmludGYiKTsKK2NoYXIqIHRtcG5hbShjaGFyKikgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCgidG1wbmFtIGlzIHVuc2FmZSwgdXNlIG1rc3RlbXAgb3IgdG1wZmlsZSBpbnN0ZWFkIikpKTsKICNpZiBfX1hQR19WSVNJQkxFCiBjaGFyKiB0ZW1wbmFtKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKikKLSAgICBfX3dhcm5hdHRyKCJ0ZW1wbmFtIHBvc3NpYmx5IHVzZWQgdW5zYWZlbHk7IGNvbnNpZGVyIHVzaW5nIG1rc3RlbXAiKTsKKyAgICBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKCJ0ZW1wbmFtIGlzIHVuc2FmZSwgdXNlIG1rc3RlbXAgb3IgdG1wZmlsZSBpbnN0ZWFkIikpKTsKICNlbmRpZgogI2VuZGlmCiAKIGV4dGVybiBpbnQgcmVuYW1lKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKik7CiBleHRlcm4gaW50IHJlbmFtZWF0KGludCwgY29uc3QgY2hhciosIGludCwgY29uc3QgY2hhciopOwogCisjaWYgZGVmaW5lZChfX1VTRV9GSUxFX09GRlNFVDY0KQorLyogTm90IHBvc3NpYmxlLiAqLworaW50CSBmZ2V0cG9zKEZJTEUgKiBfX3Jlc3RyaWN0LCBmcG9zX3QgKiBfX3Jlc3RyaWN0KQorCV9fYXR0cmlidXRlX18oKF9fZXJyb3JfXygibm90IGF2YWlsYWJsZSB3aXRoIF9GSUxFX09GRlNFVF9CSVRTPTY0IikpKTsKK2ludAkgZnNldHBvcyhGSUxFICosIGNvbnN0IGZwb3NfdCAqKQorCV9fYXR0cmlidXRlX18oKF9fZXJyb3JfXygibm90IGF2YWlsYWJsZSB3aXRoIF9GSUxFX09GRlNFVF9CSVRTPTY0IikpKTsKK2ludAkgZnNlZWtvKEZJTEUgKiwgb2ZmX3QsIGludCkKKwlfX2F0dHJpYnV0ZV9fKChfX2Vycm9yX18oIm5vdCBhdmFpbGFibGUgd2l0aCBfRklMRV9PRkZTRVRfQklUUz02NCIpKSk7CitvZmZfdAkgZnRlbGxvKEZJTEUgKikKKwlfX2F0dHJpYnV0ZV9fKChfX2Vycm9yX18oIm5vdCBhdmFpbGFibGUgd2l0aCBfRklMRV9PRkZTRVRfQklUUz02NCIpKSk7CisjZWxzZQogaW50CSBmZ2V0cG9zKEZJTEUgKiBfX3Jlc3RyaWN0LCBmcG9zX3QgKiBfX3Jlc3RyaWN0KTsKIGludAkgZnNldHBvcyhGSUxFICosIGNvbnN0IGZwb3NfdCAqKTsKLQogaW50CSBmc2Vla28oRklMRSAqLCBvZmZfdCwgaW50KTsKIG9mZl90CSBmdGVsbG8oRklMRSAqKTsKKyNlbmRpZgogCiAjaWYgX19JU09fQ19WSVNJQkxFID49IDE5OTkgfHwgX19CU0RfVklTSUJMRQogaW50CSBzbnByaW50ZihjaGFyICogX19yZXN0cmljdCwgc2l6ZV90LCBjb25zdCBjaGFyICogX19yZXN0cmljdCwgLi4uKQpAQCAtMzI0LDYgKzMzOSwxMSBAQAogaW50CSBwdXRjaGFyX3VubG9ja2VkKGludCk7CiAjZW5kaWYgLyogX19QT1NJWF9WSVNJQkxFID49IDE5OTUwNiAqLwogCisjaWYgX19QT1NJWF9WSVNJQkxFID49IDIwMDgwOQorRklMRSogZm1lbW9wZW4odm9pZCosIHNpemVfdCwgY29uc3QgY2hhciopOworRklMRSogb3Blbl9tZW1zdHJlYW0oY2hhcioqLCBzaXplX3QqKTsKKyNlbmRpZiAvKiBfX1BPU0lYX1ZJU0lCTEUgPj0gMjAwODA5ICovCisKICNlbmRpZiAvKiBfX0JTRF9WSVNJQkxFIHx8IF9fUE9TSVhfVklTSUJMRSB8fCBfX1hQR19WSVNJQkxFICovCiAKIC8qCkBAIC0zNDAsNiArMzYwLDEwIEBACiAgICAgX192YV9saXN0KQogCQlfX3ByaW50Zmxpa2UoMiwgMCk7CiAKK3ZvaWQgY2xlYXJlcnJfdW5sb2NrZWQoRklMRSopOworaW50IGZlb2ZfdW5sb2NrZWQoRklMRSopOworaW50IGZlcnJvcl91bmxvY2tlZChGSUxFKik7CisKIC8qCiAgKiBTdGRpbyBmdW5jdGlvbi1hY2Nlc3MgaW50ZXJmYWNlLgogICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3RkaW9fZXh0LmggYi9saWJjL2luY2x1ZGUvc3RkaW9fZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI5OWU1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvaW5jbHVkZS9zdGRpb19leHQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX1NURElPX0VYVF9ICisjZGVmaW5lIF9TVERJT19FWFRfSAorCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2RlZmluZSBGU0VUTE9DS0lOR19RVUVSWSAwCisjZGVmaW5lIEZTRVRMT0NLSU5HX0lOVEVSTkFMIDEKKyNkZWZpbmUgRlNFVExPQ0tJTkdfQllDQUxMRVIgMgorCitfX0JFR0lOX0RFQ0xTCisKK3NpemVfdCBfX2ZidWZzaXplKEZJTEUqKTsKK2ludCBfX2ZyZWFkaW5nKEZJTEUqKTsKK2ludCBfX2Z3cml0aW5nKEZJTEUqKTsKK2ludCBfX2ZyZWFkYWJsZShGSUxFKik7CitpbnQgX19md3JpdGFibGUoRklMRSopOworaW50IF9fZmxiZihGSUxFKik7Cit2b2lkIF9fZnB1cmdlKEZJTEUqKTsKK3NpemVfdCBfX2ZwZW5kaW5nKEZJTEUqKTsKK3ZvaWQgX2ZsdXNobGJmKHZvaWQpOworaW50IF9fZnNldGxvY2tpbmcoRklMRSosIGludCk7CisKK19fRU5EX0RFQ0xTCisKKyNlbmRpZiAvKiBfU1RESU9fRVhUX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zdGRsaWIuaCBiL2xpYmMvaW5jbHVkZS9zdGRsaWIuaAppbmRleCA1MmYzNzFiLi5lZmNhNTc3IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc3RkbGliLmgKKysrIGIvbGliYy9pbmNsdWRlL3N0ZGxpYi5oCkBAIC0yNSwxNiArMjUsMTYgQEAKICAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogICogU1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgX1NURExJQl9IXwotI2RlZmluZSBfU1RETElCX0hfCisKKyNpZm5kZWYgX1NURExJQl9ICisjZGVmaW5lIF9TVERMSUJfSAogCiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaW5jbHVkZSA8eGxvY2FsZS5oPgogCi0jaW5jbHVkZSA8c3RkZGVmLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8YWxsb2NhLmg+Ci0jaW5jbHVkZSA8c3RyaW5ncy5oPgotI2luY2x1ZGUgPG1lbW9yeS5oPgorI2luY2x1ZGUgPG1hbGxvYy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgogCiBfX0JFR0lOX0RFQ0xTCiAKQEAgLTU4LDkgKzU4LDE2IEBACiBleHRlcm4gaW50IGNsZWFyZW52KHZvaWQpOwogCiBleHRlcm4gY2hhciogbWtkdGVtcChjaGFyKik7Ci1leHRlcm4gY2hhciogbWt0ZW1wKGNoYXIqKSBfX3dhcm5hdHRyKCJta3RlbXAgcG9zc2libHkgdXNlZCB1bnNhZmVseTsgY29uc2lkZXIgdXNpbmcgbWtzdGVtcCIpOwotZXh0ZXJuIGludCBta3N0ZW1wKGNoYXIqKTsKK2V4dGVybiBjaGFyKiBta3RlbXAoY2hhciopIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQoIm1rdGVtcCBpcyB1bnNhZmUsIHVzZSBta3N0ZW1wIG9yIHRtcGZpbGUgaW5zdGVhZCIpKSk7CisKK2V4dGVybiBpbnQgbWtvc3RlbXA2NChjaGFyKiwgaW50KTsKK2V4dGVybiBpbnQgbWtvc3RlbXAoY2hhciosIGludCk7CitleHRlcm4gaW50IG1rb3N0ZW1wczY0KGNoYXIqLCBpbnQsIGludCk7CitleHRlcm4gaW50IG1rb3N0ZW1wcyhjaGFyKiwgaW50LCBpbnQpOwogZXh0ZXJuIGludCBta3N0ZW1wNjQoY2hhciopOworZXh0ZXJuIGludCBta3N0ZW1wKGNoYXIqKTsKK2V4dGVybiBpbnQgbWtzdGVtcHM2NChjaGFyKiwgaW50KTsKK2V4dGVybiBpbnQgbWtzdGVtcHMoY2hhciosIGludCk7CiAKIGV4dGVybiBsb25nIHN0cnRvbChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7CiBleHRlcm4gbG9uZyBsb25nIHN0cnRvbGwoY29uc3QgY2hhciAqLCBjaGFyICoqLCBpbnQpOwpAQCAtNjksMTAgKzc2LDEwIEBACiAKIGV4dGVybiBpbnQgcG9zaXhfbWVtYWxpZ24odm9pZCAqKm1lbXB0ciwgc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpOwogCi1leHRlcm4gZG91YmxlIGF0b2YoY29uc3QgY2hhciopOworX0JJT05JQ19OT1RfQkVGT1JFXzIxKGV4dGVybiBkb3VibGUgYXRvZihjb25zdCBjaGFyKik7KQogCiBleHRlcm4gZG91YmxlIHN0cnRvZChjb25zdCBjaGFyKiwgY2hhcioqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOwotZXh0ZXJuIGZsb2F0IHN0cnRvZihjb25zdCBjaGFyKiwgY2hhcioqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOworX0JJT05JQ19OT1RfQkVGT1JFXzIxKGV4dGVybiBmbG9hdCBzdHJ0b2YoY29uc3QgY2hhciosIGNoYXIqKikgX19MSUJDX0FCSV9QVUJMSUNfXzspCiBleHRlcm4gbG9uZyBkb3VibGUgc3RydG9sZChjb25zdCBjaGFyKiwgY2hhcioqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOwogCiBleHRlcm4gbG9uZyBkb3VibGUgc3RydG9sZF9sKGNvbnN0IGNoYXIgKiwgY2hhciAqKiwgbG9jYWxlX3QpIF9fTElCQ19BQklfUFVCTElDX187CkBAIC04MywxMiArOTAsMTIgQEAKIGV4dGVybiBsb25nIGF0b2woY29uc3QgY2hhciopIF9fcHVyZWZ1bmM7CiBleHRlcm4gbG9uZyBsb25nIGF0b2xsKGNvbnN0IGNoYXIqKSBfX3B1cmVmdW5jOwogCi1leHRlcm4gaW50IGFicyhpbnQpIF9fcHVyZTI7Ci1leHRlcm4gbG9uZyBsYWJzKGxvbmcpIF9fcHVyZTI7Ci1leHRlcm4gbG9uZyBsb25nIGxsYWJzKGxvbmcgbG9uZykgX19wdXJlMjsKK19CSU9OSUNfTk9UX0JFRk9SRV8yMShleHRlcm4gaW50IGFicyhpbnQpIF9fcHVyZTI7KQorX0JJT05JQ19OT1RfQkVGT1JFXzIxKGV4dGVybiBsb25nIGxhYnMobG9uZykgX19wdXJlMjspCitfQklPTklDX05PVF9CRUZPUkVfMjEoZXh0ZXJuIGxvbmcgbG9uZyBsbGFicyhsb25nIGxvbmcpIF9fcHVyZTI7KQogCiBleHRlcm4gY2hhciAqIHJlYWxwYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGNoYXIgKnJlc29sdmVkKTsKLWV4dGVybiBpbnQgc3lzdGVtKGNvbnN0IGNoYXIgKiBzdHJpbmcpOworZXh0ZXJuIGludCBzeXN0ZW0oY29uc3QgY2hhciAqc3RyaW5nKTsKIAogZXh0ZXJuIHZvaWQgKiBic2VhcmNoKGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqYmFzZTAsCiAJc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwKQEAgLTk2LDM0ICsxMDMsMzUgQEAKIAogZXh0ZXJuIHZvaWQgcXNvcnQodm9pZCAqLCBzaXplX3QsIHNpemVfdCwgaW50ICgqKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpOwogCi1leHRlcm4gbG9uZyBqcmFuZDQ4KHVuc2lnbmVkIHNob3J0ICopOwotZXh0ZXJuIGxvbmcgbXJhbmQ0OCh2b2lkKTsKLWV4dGVybiBsb25nIG5yYW5kNDgodW5zaWduZWQgc2hvcnQgKik7Ci1leHRlcm4gbG9uZyBscmFuZDQ4KHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIHNob3J0ICpzZWVkNDgodW5zaWduZWQgc2hvcnQqKTsKLWV4dGVybiBkb3VibGUgZXJhbmQ0OCh1bnNpZ25lZCBzaG9ydCB4c3ViaVszXSk7Ci1leHRlcm4gZG91YmxlIGRyYW5kNDgodm9pZCk7Ci1leHRlcm4gdm9pZCBzcmFuZDQ4KGxvbmcpOwotCi11bnNpZ25lZCBpbnQgYXJjNHJhbmRvbSh2b2lkKTsKLXVuc2lnbmVkIGludCBhcmM0cmFuZG9tX3VuaWZvcm0odW5zaWduZWQgaW50KTsKK3VpbnQzMl90IGFyYzRyYW5kb20odm9pZCk7Cit1aW50MzJfdCBhcmM0cmFuZG9tX3VuaWZvcm0odWludDMyX3QpOwogdm9pZCBhcmM0cmFuZG9tX2J1Zih2b2lkKiwgc2l6ZV90KTsKIAogI2RlZmluZSBSQU5EX01BWCAweDdmZmZmZmZmCiAKLWludCByYW5kKHZvaWQpOworX0JJT05JQ19OT1RfQkVGT1JFXzIxKGludCByYW5kKHZvaWQpOykKIGludCByYW5kX3IodW5zaWduZWQgaW50Kik7Ci12b2lkIHNyYW5kKHVuc2lnbmVkIGludCk7CitfQklPTklDX05PVF9CRUZPUkVfMjEodm9pZCBzcmFuZCh1bnNpZ25lZCBpbnQpOykKKworZG91YmxlIGRyYW5kNDgodm9pZCk7Citkb3VibGUgZXJhbmQ0OCh1bnNpZ25lZCBzaG9ydFszXSk7Citsb25nIGpyYW5kNDgodW5zaWduZWQgc2hvcnRbM10pOwordm9pZCBsY29uZzQ4KHVuc2lnbmVkIHNob3J0WzddKTsKK2xvbmcgbHJhbmQ0OCh2b2lkKTsKK2xvbmcgbXJhbmQ0OCh2b2lkKTsKK2xvbmcgbnJhbmQ0OCh1bnNpZ25lZCBzaG9ydFszXSk7Cit1bnNpZ25lZCBzaG9ydCogc2VlZDQ4KHVuc2lnbmVkIHNob3J0WzNdKTsKK3ZvaWQgc3JhbmQ0OChsb25nKTsKIAogY2hhciogaW5pdHN0YXRlKHVuc2lnbmVkIGludCwgY2hhciosIHNpemVfdCk7Ci1sb25nIHJhbmRvbSh2b2lkKTsKK19CSU9OSUNfTk9UX0JFRk9SRV8yMShsb25nIHJhbmRvbSh2b2lkKTspCiBjaGFyKiBzZXRzdGF0ZShjaGFyKik7Ci12b2lkIHNyYW5kb20odW5zaWduZWQgaW50KTsKK19CSU9OSUNfTk9UX0JFRk9SRV8yMSh2b2lkIHNyYW5kb20odW5zaWduZWQgaW50KTspCiAKIGludCBnZXRwdCh2b2lkKTsKLWludCBncmFudHB0KGludCk7CitfQklPTklDX05PVF9CRUZPUkVfMjEoaW50IGdyYW50cHQoaW50KTspCiBpbnQgcG9zaXhfb3BlbnB0KGludCk7Ci1jaGFyKiBwdHNuYW1lKGludCkgX193YXJuYXR0cigicHRzbmFtZSBpcyBub3QgdGhyZWFkLXNhZmU7IHVzZSBwdHNuYW1lX3IgaW5zdGVhZCIpOworY2hhciogcHRzbmFtZShpbnQpOwogaW50IHB0c25hbWVfcihpbnQsIGNoYXIqLCBzaXplX3QpOwogaW50IHVubG9ja3B0KGludCk7CiAKQEAgLTE2NCw2ICsxNzIsMzEgQEAKIGV4dGVybiBzaXplX3QgX19jdHlwZV9nZXRfbWJfY3VyX21heCh2b2lkKTsKICNkZWZpbmUgTUJfQ1VSX01BWCBfX2N0eXBlX2dldF9tYl9jdXJfbWF4KCkKIAorI2lmIF9fQU5EUk9JRF9BUElfXyA8IDIxCisjaW5jbHVkZSA8YW5kcm9pZC9sZWdhY3lfc3RkbGliX2lubGluZXMuaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0JJT05JQ19GT1JUSUZZKQorCitleHRlcm4gY2hhciogX19yZWFscGF0aF9yZWFsKGNvbnN0IGNoYXIqLCBjaGFyKikgX19SRU5BTUUocmVhbHBhdGgpOworX19lcnJvcmRlY2woX19yZWFscGF0aF9zaXplX2Vycm9yLCAicmVhbHBhdGggb3V0cHV0IHBhcmFtZXRlciBtdXN0IGJlIE5VTEwgb3IgYSA+PSBQQVRIX01BWCBieXRlcyBidWZmZXIiKTsKKworI2lmICFkZWZpbmVkKF9fY2xhbmdfXykKK19fQklPTklDX0ZPUlRJRllfSU5MSU5FCitjaGFyKiByZWFscGF0aChjb25zdCBjaGFyKiBwYXRoLCBjaGFyKiByZXNvbHZlZCkgeworICAgIHNpemVfdCBib3MgPSBfX2JvcyhyZXNvbHZlZCk7CisKKyAgICAvKiBQQVRIX01BWCBpcyB1bmF2YWlsYWJsZSB3aXRob3V0IHBvbGx1dGluZyB0aGUgbmFtZXNwYWNlLCBidXQgaXQncyBhbHdheXMgNDA5NiBvbiBMaW51eCAqLworICAgIGlmIChib3MgIT0gX19CSU9OSUNfRk9SVElGWV9VTktOT1dOX1NJWkUgJiYgYm9zIDwgNDA5NikgeworICAgICAgICBfX3JlYWxwYXRoX3NpemVfZXJyb3IoKTsKKyAgICB9CisKKyAgICByZXR1cm4gX19yZWFscGF0aF9yZWFsKHBhdGgsIHJlc29sdmVkKTsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogZGVmaW5lZChfX0JJT05JQ19GT1JUSUZZKSAqLworCiBfX0VORF9ERUNMUwogCi0jZW5kaWYgLyogX1NURExJQl9IXyAqLworI2VuZGlmIC8qIF9TVERMSUJfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N0cmluZy5oIGIvbGliYy9pbmNsdWRlL3N0cmluZy5oCmluZGV4IGYyZjZkZDIuLmQzMmMxNjQgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zdHJpbmcuaAorKysgYi9saWJjL2luY2x1ZGUvc3RyaW5nLmgKQEAgLTI1LDIxICsyNSwyOCBAQAogICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgKiBTVUNIIERBTUFHRS4KICAqLwotI2lmbmRlZiBfU1RSSU5HX0hfCi0jZGVmaW5lIF9TVFJJTkdfSF8KKworI2lmbmRlZiBfU1RSSU5HX0gKKyNkZWZpbmUgX1NUUklOR19ICiAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KICNpbmNsdWRlIDxzdGRkZWYuaD4KLSNpbmNsdWRlIDxtYWxsb2MuaD4KICNpbmNsdWRlIDx4bG9jYWxlLmg+CiAKIF9fQkVHSU5fREVDTFMKIAorI2lmIGRlZmluZWQoX19VU0VfQlNEKQorI2luY2x1ZGUgPHN0cmluZ3MuaD4KKyNlbmRpZgorCiBleHRlcm4gdm9pZCogIG1lbWNjcHkodm9pZCogX19yZXN0cmljdCwgY29uc3Qgdm9pZCogX19yZXN0cmljdCwgaW50LCBzaXplX3QpOwogZXh0ZXJuIHZvaWQqICBtZW1jaHIoY29uc3Qgdm9pZCAqLCBpbnQsIHNpemVfdCkgX19wdXJlZnVuYzsKIGV4dGVybiB2b2lkKiAgbWVtcmNocihjb25zdCB2b2lkICosIGludCwgc2l6ZV90KSBfX3B1cmVmdW5jOwogZXh0ZXJuIGludCAgICBtZW1jbXAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICosIHNpemVfdCkgX19wdXJlZnVuYzsKIGV4dGVybiB2b2lkKiAgbWVtY3B5KHZvaWQqIF9fcmVzdHJpY3QsIGNvbnN0IHZvaWQqIF9fcmVzdHJpY3QsIHNpemVfdCk7CisjaWYgZGVmaW5lZChfX1VTRV9HTlUpCitleHRlcm4gdm9pZCogIG1lbXBjcHkodm9pZCogX19yZXN0cmljdCwgY29uc3Qgdm9pZCogX19yZXN0cmljdCwgc2l6ZV90KTsKKyNlbmRpZgogZXh0ZXJuIHZvaWQqICBtZW1tb3ZlKHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QpOwogZXh0ZXJuIHZvaWQqICBtZW1zZXQodm9pZCAqLCBpbnQsIHNpemVfdCk7CiBleHRlcm4gdm9pZCogIG1lbW1lbShjb25zdCB2b2lkICosIHNpemVfdCwgY29uc3Qgdm9pZCAqLCBzaXplX3QpIF9fcHVyZWZ1bmM7CkBAIC01Nyw4ICs2NCwxMSBAQAogZXh0ZXJuIGNoYXIqICBzdHJjcHkoY2hhciogX19yZXN0cmljdCwgY29uc3QgY2hhciogX19yZXN0cmljdCk7CiBleHRlcm4gY2hhciogIHN0cmNhdChjaGFyKiBfX3Jlc3RyaWN0LCBjb25zdCBjaGFyKiBfX3Jlc3RyaWN0KTsKIAotZXh0ZXJuIGludCAgICBzdHJjYXNlY21wKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSBfX3B1cmVmdW5jOwotZXh0ZXJuIGludCAgICBzdHJuY2FzZWNtcChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KSBfX3B1cmVmdW5jOworaW50IHN0cmNhc2VjbXAoY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKSBfX3B1cmVmdW5jOworaW50IHN0cmNhc2VjbXBfbChjb25zdCBjaGFyKiwgY29uc3QgY2hhciosIGxvY2FsZV90KSBfX3B1cmVmdW5jOworaW50IHN0cm5jYXNlY21wKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKiwgc2l6ZV90KSBfX3B1cmVmdW5jOworaW50IHN0cm5jYXNlY21wX2woY29uc3QgY2hhciosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGxvY2FsZV90KSBfX3B1cmVmdW5jOworCiBleHRlcm4gY2hhciogIHN0cmR1cChjb25zdCBjaGFyICopOwogCiBleHRlcm4gY2hhciogIHN0cnN0cihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikgX19wdXJlZnVuYzsKQEAgLTY2LDggKzc2LDEzIEBACiBleHRlcm4gY2hhciogIHN0cnRvayhjaGFyKiBfX3Jlc3RyaWN0LCBjb25zdCBjaGFyKiBfX3Jlc3RyaWN0KTsKIGV4dGVybiBjaGFyKiAgc3RydG9rX3IoY2hhciogX19yZXN0cmljdCwgY29uc3QgY2hhciogX19yZXN0cmljdCwgY2hhcioqIF9fcmVzdHJpY3QpOwogCi1leHRlcm4gY2hhciogIHN0cmVycm9yKGludCk7Ci1leHRlcm4gaW50ICAgIHN0cmVycm9yX3IoaW50IGVycm51bSwgY2hhciAqYnVmLCBzaXplX3Qgbik7CitleHRlcm4gY2hhciogc3RyZXJyb3IoaW50KTsKK2V4dGVybiBjaGFyKiBzdHJlcnJvcl9sKGludCwgbG9jYWxlX3QpOworI2lmIGRlZmluZWQoX19VU0VfR05VKQorZXh0ZXJuIGNoYXIqIHN0cmVycm9yX3IoaW50LCBjaGFyKiwgc2l6ZV90KSBfX1JFTkFNRShfX2dudV9zdHJlcnJvcl9yKTsKKyNlbHNlIC8qIFBPU0lYICovCitleHRlcm4gaW50IHN0cmVycm9yX3IoaW50LCBjaGFyKiwgc2l6ZV90KTsKKyNlbmRpZgogCiBleHRlcm4gc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqLCBzaXplX3QpIF9fcHVyZWZ1bmM7CiBleHRlcm4gY2hhciogIHN0cm5jYXQoY2hhciogX19yZXN0cmljdCwgY29uc3QgY2hhciogX19yZXN0cmljdCwgc2l6ZV90KTsKQEAgLTkyLDYgKzEwNywyNyBAQAogZXh0ZXJuIGludCAgICBzdHJjb2xsX2woY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGxvY2FsZV90KSBfX3B1cmVmdW5jOwogZXh0ZXJuIHNpemVfdCBzdHJ4ZnJtX2woY2hhciogX19yZXN0cmljdCwgY29uc3QgY2hhciogX19yZXN0cmljdCwgc2l6ZV90LCBsb2NhbGVfdCk7CiAKKyNpZiBkZWZpbmVkKF9fVVNFX0dOVSkgJiYgIWRlZmluZWQoX19iaW9uaWNfdXNpbmdfcG9zaXhfYmFzZW5hbWUpCisvKgorICogZ2xpYmMgaGFzIGEgYmFzZW5hbWUgaW4gPHN0cmluZy5oPiB0aGF0J3MgZGlmZmVyZW50IHRvIHRoZSBQT1NJWCBvbmUgaW4gPGxpYmdlbi5oPi4KKyAqIEl0IGRvZXNuJ3QgbW9kaWZ5IGl0cyBhcmd1bWVudCwgYW5kIGluIEMrKyBpdCdzIGNvbnN0LWNvcnJlY3QuCisgKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorZXh0ZXJuICJDKysiIGNoYXIqIGJhc2VuYW1lKGNoYXIqKSBfX1JFTkFNRShfX2dudV9iYXNlbmFtZSkgX19ub25udWxsKCgxKSk7CitleHRlcm4gIkMrKyIgY29uc3QgY2hhciogYmFzZW5hbWUoY29uc3QgY2hhciopIF9fUkVOQU1FKF9fZ251X2Jhc2VuYW1lKSBfX25vbm51bGwoKDEpKTsKKyNlbHNlCitleHRlcm4gY2hhciogYmFzZW5hbWUoY29uc3QgY2hhciopIF9fUkVOQU1FKF9fZ251X2Jhc2VuYW1lKSBfX25vbm51bGwoKDEpKTsKKyNlbmRpZgorI2RlZmluZSBfX2Jpb25pY191c2luZ19nbnVfYmFzZW5hbWUKKyNlbmRpZgorCitleHRlcm4gdm9pZCogX19tZW1jaHJfY2hrKGNvbnN0IHZvaWQqLCBpbnQsIHNpemVfdCwgc2l6ZV90KTsKK19fZXJyb3JkZWNsKF9fbWVtY2hyX2J1Zl9zaXplX2Vycm9yLCAibWVtY2hyIGNhbGxlZCB3aXRoIHNpemUgYmlnZ2VyIHRoYW4gYnVmZmVyIik7CisKK2V4dGVybiB2b2lkKiBfX21lbXJjaHJfY2hrKGNvbnN0IHZvaWQqLCBpbnQsIHNpemVfdCwgc2l6ZV90KTsKK19fZXJyb3JkZWNsKF9fbWVtcmNocl9idWZfc2l6ZV9lcnJvciwgIm1lbXJjaHIgY2FsbGVkIHdpdGggc2l6ZSBiaWdnZXIgdGhhbiBidWZmZXIiKTsKK2V4dGVybiB2b2lkKiBfX21lbXJjaHJfcmVhbChjb25zdCB2b2lkKiwgaW50LCBzaXplX3QpIF9fUkVOQU1FKG1lbXJjaHIpOworCiBleHRlcm4gY2hhciogX19zdHBuY3B5X2NoazIoY2hhciogX19yZXN0cmljdCwgY29uc3QgY2hhciogX19yZXN0cmljdCwgc2l6ZV90LCBzaXplX3QsIHNpemVfdCk7CiBleHRlcm4gY2hhciogX19zdHJuY3B5X2NoazIoY2hhciogX19yZXN0cmljdCwgY29uc3QgY2hhciogX19yZXN0cmljdCwgc2l6ZV90LCBzaXplX3QsIHNpemVfdCk7CiBleHRlcm4gc2l6ZV90IF9fc3RybGNweV9yZWFsKGNoYXIqIF9fcmVzdHJpY3QsIGNvbnN0IGNoYXIqIF9fcmVzdHJpY3QsIHNpemVfdCkgX19SRU5BTUUoc3RybGNweSk7CkBAIC0xMDIsNiArMTM4LDQ4IEBACiAjaWYgZGVmaW5lZChfX0JJT05JQ19GT1JUSUZZKQogCiBfX0JJT05JQ19GT1JUSUZZX0lOTElORQordm9pZCogbWVtY2hyKGNvbnN0IHZvaWQgKnMsIGludCBjLCBzaXplX3QgbikgeworICAgIHNpemVfdCBib3MgPSBfX2JvcyhzKTsKKworI2lmICFkZWZpbmVkKF9fY2xhbmdfXykKKyAgICBpZiAoYm9zID09IF9fQklPTklDX0ZPUlRJRllfVU5LTk9XTl9TSVpFKSB7CisgICAgICAgIHJldHVybiBfX2J1aWx0aW5fbWVtY2hyKHMsIGMsIG4pOworICAgIH0KKworICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChuKSAmJiAobiA+IGJvcykpIHsKKyAgICAgICAgX19tZW1jaHJfYnVmX3NpemVfZXJyb3IoKTsKKyAgICB9CisKKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3AobikgJiYgKG4gPD0gYm9zKSkgeworICAgICAgICByZXR1cm4gX19idWlsdGluX21lbWNocihzLCBjLCBuKTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiBfX21lbWNocl9jaGsocywgYywgbiwgYm9zKTsKK30KKworX19CSU9OSUNfRk9SVElGWV9JTkxJTkUKK3ZvaWQqIG1lbXJjaHIoY29uc3Qgdm9pZCAqcywgaW50IGMsIHNpemVfdCBuKSB7CisgICAgc2l6ZV90IGJvcyA9IF9fYm9zKHMpOworCisjaWYgIWRlZmluZWQoX19jbGFuZ19fKQorICAgIGlmIChib3MgPT0gX19CSU9OSUNfRk9SVElGWV9VTktOT1dOX1NJWkUpIHsKKyAgICAgICAgcmV0dXJuIF9fbWVtcmNocl9yZWFsKHMsIGMsIG4pOworICAgIH0KKworICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChuKSAmJiAobiA+IGJvcykpIHsKKyAgICAgICAgX19tZW1yY2hyX2J1Zl9zaXplX2Vycm9yKCk7CisgICAgfQorCisgICAgaWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pICYmIChuIDw9IGJvcykpIHsKKyAgICAgICAgcmV0dXJuIF9fbWVtcmNocl9yZWFsKHMsIGMsIG4pOworICAgIH0KKyNlbmRpZgorCisgICAgcmV0dXJuIF9fbWVtcmNocl9jaGsocywgYywgbiwgYm9zKTsKK30KKworX19CSU9OSUNfRk9SVElGWV9JTkxJTkUKIHZvaWQqIG1lbWNweSh2b2lkKiBfX3Jlc3RyaWN0IGRlc3QsIGNvbnN0IHZvaWQqIF9fcmVzdHJpY3Qgc3JjLCBzaXplX3QgY29weV9hbW91bnQpIHsKICAgICByZXR1cm4gX19idWlsdGluX19fbWVtY3B5X2NoayhkZXN0LCBzcmMsIGNvcHlfYW1vdW50LCBfX2JvczAoZGVzdCkpOwogfQpAQCAtMjgxLDQgKzM1OSw0IEBACiAKIF9fRU5EX0RFQ0xTCiAKLSNlbmRpZiAvKiBfU1RSSU5HX0hfICovCisjZW5kaWYgLyogX1NUUklOR19IICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3RyaW5ncy5oIGIvbGliYy9pbmNsdWRlL3N0cmluZ3MuaAppbmRleCBhZTI2MWNmLi4xMjUzMDA2IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc3RyaW5ncy5oCisrKyBiL2xpYmMvaW5jbHVkZS9zdHJpbmdzLmgKQEAgLTQxLDIyICs0MSwyMyBAQAogCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaW5jbHVkZSA8eGxvY2FsZS5oPgogCiBfX0JFR0lOX0RFQ0xTCiAjaWYgZGVmaW5lZChfX0JJT05JQ19GT1JUSUZZKQotI2RlZmluZSBiY29weShiMSwgYjIsIGxlbikgXAotICAodm9pZCkoX19idWlsdGluX19fbWVtbW92ZV9jaGsoKGIyKSwgKGIxKSwgKGxlbiksIF9fYm9zMChiMikpKQotI2RlZmluZSBiemVybyhiLCBsZW4pIFwKLSAgKHZvaWQpKF9fYnVpbHRpbl9fX21lbXNldF9jaGsoKGIpLCAnXDAnLCAobGVuKSwgX19ib3MwKGIpKSkKKyNkZWZpbmUgYmNvcHkoYjEsIGIyLCBsZW4pICh2b2lkKShfX2J1aWx0aW5fX19tZW1tb3ZlX2NoaygoYjIpLCAoYjEpLCAobGVuKSwgX19ib3MwKGIyKSkpCisjZGVmaW5lIGJ6ZXJvKGIsIGxlbikgKHZvaWQpKF9fYnVpbHRpbl9fX21lbXNldF9jaGsoKGIpLCAnXDAnLCAobGVuKSwgX19ib3MwKGIpKSkKICNlbHNlCiAjZGVmaW5lIGJjb3B5KGIxLCBiMiwgbGVuKSAodm9pZCkoX19idWlsdGluX21lbW1vdmUoKGIyKSwgKGIxKSwgKGxlbikpKQogI2RlZmluZSBiemVybyhiLCBsZW4pICh2b2lkKShfX2J1aWx0aW5fbWVtc2V0KChiKSwgJ1wwJywgKGxlbikpKQogI2VuZGlmCiAKK2ludCBmZnMoaW50KTsKIAotaW50CSBmZnMoaW50KTsKLWludAkgc3RyY2FzZWNtcChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1pbnQJIHN0cm5jYXNlY21wKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOworaW50IHN0cmNhc2VjbXAoY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKSBfX3B1cmVmdW5jOworaW50IHN0cmNhc2VjbXBfbChjb25zdCBjaGFyKiwgY29uc3QgY2hhciosIGxvY2FsZV90KSBfX3B1cmVmdW5jOworaW50IHN0cm5jYXNlY21wKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKiwgc2l6ZV90KSBfX3B1cmVmdW5jOworaW50IHN0cm5jYXNlY21wX2woY29uc3QgY2hhciosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGxvY2FsZV90KSBfX3B1cmVmdW5jOwogCiBfX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL19lcnJkZWZzLmggYi9saWJjL2luY2x1ZGUvc3lzL19lcnJkZWZzLmgKaW5kZXggM2VlYWRmNC4uM2MzYzlkNyAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9fZXJyZGVmcy5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvX2VycmRlZnMuaApAQCAtNDUsNyArNDUsNyBAQAogX19CSU9OSUNfRVJSREVGKCBFTlhJTyAgICAgICAgICAsICAgNiwgIk5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MiICkKIF9fQklPTklDX0VSUkRFRiggRTJCSUcgICAgICAgICAgLCAgIDcsICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiApCiBfX0JJT05JQ19FUlJERUYoIEVOT0VYRUMgICAgICAgICwgICA4LCAiRXhlYyBmb3JtYXQgZXJyb3IiICkKLV9fQklPTklDX0VSUkRFRiggRUJBREYgICAgICAgICAgLCAgIDksICJCYWQgZmlsZSBudW1iZXIiICkKK19fQklPTklDX0VSUkRFRiggRUJBREYgICAgICAgICAgLCAgIDksICJCYWQgZmlsZSBkZXNjcmlwdG9yIiApCiBfX0JJT05JQ19FUlJERUYoIEVDSElMRCAgICAgICAgICwgIDEwLCAiTm8gY2hpbGQgcHJvY2Vzc2VzIiApCiBfX0JJT05JQ19FUlJERUYoIEVBR0FJTiAgICAgICAgICwgIDExLCAiVHJ5IGFnYWluIiApCiBfX0JJT05JQ19FUlJERUYoIEVOT01FTSAgICAgICAgICwgIDEyLCAiT3V0IG9mIG1lbW9yeSIgKQpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9fc3lzdGVtX3Byb3BlcnRpZXMuaCBiL2xpYmMvaW5jbHVkZS9zeXMvX3N5c3RlbV9wcm9wZXJ0aWVzLmgKaW5kZXggMDM0OWU0Yy4uN2ZmM2RlZCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9fc3lzdGVtX3Byb3BlcnRpZXMuaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL19zeXN0ZW1fcHJvcGVydGllcy5oCkBAIC01MCw3ICs1MCw3IEBACiAKIF9fQkVHSU5fREVDTFMKIAotc3RydWN0IHByb3BfbXNnIAorc3RydWN0IHByb3BfbXNnCiB7CiAgICAgdW5zaWduZWQgY21kOwogICAgIGNoYXIgbmFtZVtQUk9QX05BTUVfTUFYXTsKQEAgLTU4LDcgKzU4LDcgQEAKIH07CiAKICNkZWZpbmUgUFJPUF9NU0dfU0VUUFJPUCAxCi0gICAgCisKIC8qCiAqKiBSdWxlczoKICoqCkBAIC04MCw4ICs4MCw4IEBACiAKICNkZWZpbmUgUFJPUF9QQVRIX1JBTURJU0tfREVGQVVMVCAgIi9kZWZhdWx0LnByb3AiCiAjZGVmaW5lIFBST1BfUEFUSF9TWVNURU1fQlVJTEQgICAgICIvc3lzdGVtL2J1aWxkLnByb3AiCi0jZGVmaW5lIFBST1BfUEFUSF9TWVNURU1fREVGQVVMVCAgICIvc3lzdGVtL2RlZmF1bHQucHJvcCIKICNkZWZpbmUgUFJPUF9QQVRIX1ZFTkRPUl9CVUlMRCAgICAgIi92ZW5kb3IvYnVpbGQucHJvcCIKKyNkZWZpbmUgUFJPUF9QQVRIX0JPT1RJTUFHRV9CVUlMRCAgIi9idWlsZC5wcm9wIgogI2RlZmluZSBQUk9QX1BBVEhfTE9DQUxfT1ZFUlJJREUgICAiL2RhdGEvbG9jYWwucHJvcCIKICNkZWZpbmUgUFJPUF9QQVRIX0ZBQ1RPUlkgICAgICAgICAgIi9mYWN0b3J5L2ZhY3RvcnkucHJvcCIKIApkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9hdG9taWNzLmggYi9saWJjL2luY2x1ZGUvc3lzL2F0b21pY3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGFiMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9pbmNsdWRlL3N5cy9hdG9taWNzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9TWVNfQVRPTUlDU19IXworI2RlZmluZSBfU1lTX0FUT01JQ1NfSF8KKworLyoKKyAqIFRoZXNlIGdvdCBwcm9wZXIgb3V0IG9mIGxpbmUgZGVmaW5pdGlvbnMgaW4gTC4gUHV0dGluZyB0aGUgaW5saW5lIGRlZmluaXRpb25zCisgKiBiYWNrIGZvciBvbGQgdGFyZ2V0cyBicmluZ3MgdXMgY2xvc2VyIHRvIGJlaW5nIGFibGUgdG8gdXNlIG9uZSBzZXQgb2YgaGVhZGVycworICogZm9yIGFsbCBBUEkgbGV2ZWxzLgorICoKKyAqIFRoZSBvdGhlciBpbmxpbmVzIHdlIHB1dCBiYWNrIHdlbnQgaW4gdG8gdGhlaXIgYXBwcm9wcmlhdGUgaGVhZGVycywgYnV0IHRoZQorICogc3lzL2F0b21pY3MuaCBoZWFkZXIgd2FzIHJlbW92ZWQsIHNvIHdlJ2xsIGp1c3QgYWRkIHRoZXNlIHNvbWV3aGVyZSB3ZSBjYW4gYmUKKyAqIHN1cmUgdGhleSB3aWxsIGJlIGluY2x1ZGVkLgorICovCisjaWYgX19BTkRST0lEX0FQSV9fIDwgMjEKKyNpbmNsdWRlIDxhbmRyb2lkL2xlZ2FjeV9zeXNfYXRvbWljc19pbmxpbmVzLmg+CisjZW5kaWYKKworI2VuZGlmIC8qIF9TWVNfQVRPTUlDU19IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9jYWNoZWN0bC5oIGIvbGliYy9pbmNsdWRlL3N5cy9jYWNoZWN0bC5oCmluZGV4IDU3ZTZhZTcuLmEzMDJmZjggMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvY2FjaGVjdGwuaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL2NhY2hlY3RsLmgKQEAgLTMxLDYgKzMxLDUgQEAKICNpZmRlZiBfX21pcHNfXwogI2luY2x1ZGUgPGFzbS9jYWNoZWN0bC5oPgogZXh0ZXJuIGludCBfX2NhY2hlY3RsICh2b2lkICphZGRyLCBfX2NvbnN0IGludCBuYnl0ZXMsIF9fY29uc3QgaW50IG9wKTsKLWV4dGVybiBpbnQgX2ZsdXNoX2NhY2hlIChjaGFyICphZGRyLCBfX2NvbnN0IGludCBuYnl0ZXMsIF9fY29uc3QgaW50IG9wKTsKICNlbmRpZgogI2VuZGlmIC8qIHN5cy9jYWNoZWN0bC5oICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL2NkZWZzLmggYi9saWJjL2luY2x1ZGUvc3lzL2NkZWZzLmgKaW5kZXggNTA0ZTQzOS4uMDQ2MTNmNCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9jZGVmcy5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvY2RlZnMuaApAQCAtNzcsNyArNzcsOSBAQAogI2RlZmluZQlfX0dOVUNfUFJFUkVRKHgsIHkpCTAKICNlbmRpZgogCi0jaW5jbHVkZSA8c3lzL2NkZWZzX2VsZi5oPgorI2RlZmluZSBfX3N0cm9uZ19hbGlhcyhhbGlhcywgc3ltKSBcCisgICAgX19hc21fXygiLmdsb2JhbCAiICNhbGlhcyAiXG4iIFwKKyAgICAgICAgICAgICNhbGlhcyAiID0gIiAjc3ltKTsKIAogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiAjZGVmaW5lCV9fQkVHSU5fREVDTFMJCWV4dGVybiAiQyIgewpAQCAtMjYzLDEzICsyNjUsNiBAQAogI2VuZGlmCiAjZW5kaWYgLyogIShfX1NURENfVkVSU0lPTl9fID49IDE5OTkwMUwpICovCiAKLSNpZiBkZWZpbmVkKF9LRVJORUwpCi0jaWYgZGVmaW5lZChOT19LRVJORUxfUkNTSURTKQotI3VuZGVmIF9fS0VSTkVMX1JDU0lECi0jZGVmaW5lCV9fS0VSTkVMX1JDU0lEKF9uLCBfcykJCS8qIG5vdGhpbmcgKi8KLSNlbmRpZiAvKiBOT19LRVJORUxfUkNTSURTICovCi0jZW5kaWYgLyogX0tFUk5FTCAqLwotCiAvKgogICogQSBiYXJyaWVyIHRvIHN0b3AgdGhlIG9wdGltaXplciBmcm9tIG1vdmluZyBjb2RlIG9yIGFzc3VtZSBsaXZlCiAgKiByZWdpc3RlciB2YWx1ZXMuIFRoaXMgaXMgZ2NjIHNwZWNpZmljLCB0aGUgdmVyc2lvbiBpcyBtb3JlIG9yIGxlc3MKQEAgLTM0MCwxMyArMzM1LDE1IEBACiAjZW5kaWYKIAogI2lmIF9fR05VQ19QUkVSRVEoNCwgMykKLSNkZWZpbmUgX19lcnJvcmRlY2wobmFtZSwgbXNnKSBleHRlcm4gdm9pZCBuYW1lKHZvaWQpIF9fYXR0cmlidXRlX18oKF9fZXJyb3JfXyhtc2cpKSkKKyNkZWZpbmUgX19lcnJvcmF0dHIobXNnKSBfX2F0dHJpYnV0ZV9fKChfX2Vycm9yX18obXNnKSkpCiAjZGVmaW5lIF9fd2FybmF0dHIobXNnKSBfX2F0dHJpYnV0ZV9fKChfX3dhcm5pbmdfXyhtc2cpKSkKICNlbHNlCi0jZGVmaW5lIF9fZXJyb3JkZWNsKG5hbWUsIG1zZykgZXh0ZXJuIHZvaWQgbmFtZSh2b2lkKQorI2RlZmluZSBfX2Vycm9yYXR0cihtc2cpCiAjZGVmaW5lIF9fd2FybmF0dHIobXNnKQogI2VuZGlmCiAKKyNkZWZpbmUgX19lcnJvcmRlY2wobmFtZSwgbXNnKSBleHRlcm4gdm9pZCBuYW1lKHZvaWQpIF9fZXJyb3JhdHRyKG1zZykKKwogLyoKICAqIFNvbWUgQlNEIHNvdXJjZSBuZWVkcyB0aGVzZSBtYWNyb3MuCiAgKiBPcmlnaW5hbGx5IHRoZXkgZW1iZWRkZWQgdGhlIHJjcyB2ZXJzaW9ucyBvZiBlYWNoIHNvdXJjZSBmaWxlCkBAIC0zNTgsOSArMzU1LDQxIEBACiAjZGVmaW5lIF9fUkNTSUQoX3MpIC8qIG5vdGhpbmcgKi8KICNkZWZpbmUgX19TQ0NTSUQoX3MpIC8qIG5vdGhpbmcgKi8KIAorLyoKKyAqIF9CU0RfU09VUkNFIGFuZCBfR05VX1NPVVJDRSBhcmUgZXhwZWN0ZWQgdG8gYmUgZGVmaW5lZCBieSBjYWxsZXJzIGJlZm9yZQorICogYW55IHN0YW5kYXJkIGhlYWRlciBmaWxlIGlzIGluY2x1ZGVkLiBJbiB0aG9zZSBoZWFkZXIgZmlsZXMgd2UgdGVzdAorICogYWdhaW5zdCBfX1VTRV9CU0QgYW5kIF9fVVNFX0dOVS4gZ2xpYmMgZG9lcyB0aGlzIGluIDxmZWF0dXJlcy5oPiBidXQgd2UKKyAqIGRvIGl0IGluIDxzeXMvY2RlZnMuaD4gaW5zdGVhZCBiZWNhdXNlIHRoYXQncyB3aGVyZSBvdXIgZXhpc3RpbmcKKyAqIF9QT1NJWF9DX1NPVVJDRSB0ZXN0cyB3ZXJlLCBhbmQgd2UncmUgYWxyZWFkeSBjb25maWRlbnQgdGhhdCA8c3lzL2NkZWZzLmg+CisgKiBpcyBpbmNsdWRlZCBldmVyeXdoZXJlIGl0IHNob3VsZCBiZS4KKyAqCisgKiBUaGUgX0dOVV9TT1VSQ0UgdGVzdCBuZWVkcyB0byBjb21lIGJlZm9yZSBhbnkgX0JTRF9TT1VSQ0Ugb3IgX1BPU0lYKiB0ZXN0cworICogYmVjYXVzZSBfR05VX1NPVVJDRSBpbXBsaWVzIGV2ZXJ5dGhpbmcgZWxzZS4KKyAqLworI2lmIGRlZmluZWQoX0dOVV9TT1VSQ0UpCisjIGRlZmluZSBfX1VTRV9HTlUgMQorIyB1bmRlZiBfUE9TSVhfU09VUkNFCisjIGRlZmluZSBfUE9TSVhfU09VUkNFIDEKKyMgdW5kZWYgX1BPU0lYX0NfU09VUkNFCisjIGRlZmluZSBfUE9TSVhfQ19TT1VSQ0UgMjAwODA5TAorIyB1bmRlZiBfQlNEX1NPVVJDRQorIyBkZWZpbmUgX0JTRF9TT1VSQ0UgMQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9CU0RfU09VUkNFKQorIyBkZWZpbmUgX19VU0VfQlNEIDEKKyNlbmRpZgorCisvKgorICogX0ZJTEVfT0ZGU0VUX0JJVFMgNjQgc3VwcG9ydC4KKyAqLworI2lmICFkZWZpbmVkKF9fTFA2NF9fKSAmJiBkZWZpbmVkKF9GSUxFX09GRlNFVF9CSVRTKQorI2lmIF9GSUxFX09GRlNFVF9CSVRTID09IDY0CisjZGVmaW5lIF9fVVNFX0ZJTEVfT0ZGU0VUNjQgMQorI2VuZGlmCisjZW5kaWYKKwogLyotCi0gKiBUaGUgZm9sbG93aW5nIGRlZmluaXRpb25zIGFyZSBhbiBleHRlbnNpb24gb2YgdGhlIGJlaGF2aW9yIG9yaWdpbmFsbHkKLSAqIGltcGxlbWVudGVkIGluIDxzeXMvX3Bvc2l4Lmg+LCBidXQgd2l0aCBhIGRpZmZlcmVudCBsZXZlbCBvZiBncmFudWxhcml0eS4KICAqIFBPU0lYLjEgcmVxdWlyZXMgdGhhdCB0aGUgbWFjcm9zIHdlIHRlc3QgYmUgZGVmaW5lZCBiZWZvcmUgYW55IHN0YW5kYXJkCiAgKiBoZWFkZXIgZmlsZSBpcyBpbmNsdWRlZC4KICAqCkBAIC01MzgsNCArNTY3LDEwIEBACiAvKiBVc2VkIHRvIHJlbmFtZSBmdW5jdGlvbnMgc28gdGhhdCB0aGUgY29tcGlsZXIgZW1pdHMgYSBjYWxsIHRvICd4JyByYXRoZXIgdGhhbiB0aGUgZnVuY3Rpb24gdGhpcyB3YXMgYXBwbGllZCB0by4gKi8KICNkZWZpbmUgX19SRU5BTUUoeCkgX19hc21fXygjeCkKIAorI2lmIF9fQU5EUk9JRF9BUElfXyA+PSAyMQorI2RlZmluZSBfQklPTklDX05PVF9CRUZPUkVfMjEoeCkgeAorI2Vsc2UKKyNkZWZpbmUgX0JJT05JQ19OT1RfQkVGT1JFXzIxKHgpCisjZW5kaWYgLyogX19BTkRST0lEX0FQSV9fID49IDIxICovCisKICNlbmRpZiAvKiAhX1NZU19DREVGU19IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9jZGVmc19lbGYuaCBiL2xpYmMvaW5jbHVkZS9zeXMvY2RlZnNfZWxmLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiYjBhNTcuLjAwMDAwMDAKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9jZGVmc19lbGYuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLS8qCSROZXRCU0Q6IGNkZWZzX2VsZi5oLHYgMS4yMiAyMDA1LzAyLzI2IDIyOjI1OjM0IHBlcnJ5IEV4cCAkCSovCi0KLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTUsIDE5OTYgQ2FybmVnaWUtTWVsbG9uIFVuaXZlcnNpdHkuCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIEF1dGhvcjogQ2hyaXMgRy4gRGVtZXRyaW91Ci0gKgotICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGFuZAotICogaXRzIGRvY3VtZW50YXRpb24gaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgYm90aCB0aGUgY29weXJpZ2h0Ci0gKiBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgb2YgdGhlCi0gKiBzb2Z0d2FyZSwgZGVyaXZhdGl2ZSB3b3JrcyBvciBtb2RpZmllZCB2ZXJzaW9ucywgYW5kIGFueSBwb3J0aW9ucwotICogdGhlcmVvZiwgYW5kIHRoYXQgYm90aCBub3RpY2VzIGFwcGVhciBpbiBzdXBwb3J0aW5nIGRvY3VtZW50YXRpb24uCi0gKgotICogQ0FSTkVHSUUgTUVMTE9OIEFMTE9XUyBGUkVFIFVTRSBPRiBUSElTIFNPRlRXQVJFIElOIElUUyAiQVMgSVMiCi0gKiBDT05ESVRJT04uICBDQVJORUdJRSBNRUxMT04gRElTQ0xBSU1TIEFOWSBMSUFCSUxJVFkgT0YgQU5ZIEtJTkQKLSAqIEZPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRS4KLSAqCi0gKiBDYXJuZWdpZSBNZWxsb24gcmVxdWVzdHMgdXNlcnMgb2YgdGhpcyBzb2Z0d2FyZSB0byByZXR1cm4gdG8KLSAqCi0gKiAgU29mdHdhcmUgRGlzdHJpYnV0aW9uIENvb3JkaW5hdG9yICBvciAgU29mdHdhcmUuRGlzdHJpYnV0aW9uQENTLkNNVS5FRFUKLSAqICBTY2hvb2wgb2YgQ29tcHV0ZXIgU2NpZW5jZQotICogIENhcm5lZ2llIE1lbGxvbiBVbml2ZXJzaXR5Ci0gKiAgUGl0dHNidXJnaCBQQSAxNTIxMy0zODkwCi0gKgotICogYW55IGltcHJvdmVtZW50cyBvciBleHRlbnNpb25zIHRoYXQgdGhleSBtYWtlIGFuZCBncmFudCBDYXJuZWdpZSB0aGUKLSAqIHJpZ2h0cyB0byByZWRpc3RyaWJ1dGUgdGhlc2UgY2hhbmdlcy4KLSAqLwotCi0jaWZuZGVmIF9TWVNfQ0RFRlNfRUxGX0hfCi0jZGVmaW5lCV9TWVNfQ0RFRlNfRUxGX0hfCi0KLSNkZWZpbmUgX19zdHJvbmdfYWxpYXMoYWxpYXMsIHN5bSkgXAotICAgIF9fYXNtX18oIi5nbG9iYWwgIiAjYWxpYXMgIlxuIiBcCi0gICAgICAgICAgICAjYWxpYXMgIiA9ICIgI3N5bSk7Ci0KLSNkZWZpbmUgX193ZWFrX2FsaWFzKGFsaWFzLHN5bSkgXAotICAgIF9fYXNtX18oIi53ZWFrICIgI2FsaWFzICJcbiIgXAotICAgICAgICAgICAgI2FsaWFzICIgPSAiICNzeW0pOwotCi0vKiBXZSB1c2UgX193YXJuYXR0ciBpbnN0ZWFkIG9mIF9fd2Fybl9yZWZlcmVuY2VzLgotICogVE9ETzogcmVtb3ZlIHRoaXMgYW5kIHB1dCBhbiBlbXB0eSBkZWZpbml0aW9uIGluIG9uZSBvZiB0aGUgdXBzdHJlYW0tKiBjb21wYXRpYmlsaXR5IGhlYWRlcnMuCi0gKi8KLSNkZWZpbmUJX193YXJuX3JlZmVyZW5jZXMoc3ltLG1zZykJCQkJCVwKLSAgICAvKl9fYXNtX18oIi5zZWN0aW9uIC5nbnUud2FybmluZy4iICNzeW0gIlxuXHQuYXNjaWkgXCIiIG1zZyAiXCJcblx0LnRleHQiKTsqLwotCi0jZW5kaWYgLyogIV9TWVNfQ0RFRlNfRUxGX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL2VuZGlhbi5oIGIvbGliYy9pbmNsdWRlL3N5cy9lbmRpYW4uaAppbmRleCBiZTRjOTA1Li4yZmQ0ODBkIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc3lzL2VuZGlhbi5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvZW5kaWFuLmgKQEAgLTEsNSArMSwzIEBACi0vKgkkT3BlbkJTRDogZW5kaWFuLmgsdiAxLjE3IDIwMDYvMDEvMDYgMTg6NTM6MDUgbWlsbGVydCBFeHAgJAkqLwotCiAvKi0KICAqIENvcHlyaWdodCAoYykgMTk5NyBOaWtsYXMgSGFsbHF2aXN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0yNCwxNjkgKzIyLDMwIEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLS8qCi0gKiBHZW5lcmljIGRlZmluaXRpb25zIGZvciBsaXR0bGUtIGFuZCBiaWctZW5kaWFuIHN5c3RlbXMuICBPdGhlciBlbmRpYW5lc3NlcwotICogaGFzIHRvIGJlIGRlYWx0IHdpdGggaW4gdGhlIHNwZWNpZmljIG1hY2hpbmUvZW5kaWFuLmggZmlsZSBmb3IgdGhhdCBwb3J0LgotICoKLSAqIFRoaXMgZmlsZSBpcyBtZWFudCB0byBiZSBpbmNsdWRlZCBmcm9tIGEgbGl0dGxlLSBvciBiaWctZW5kaWFuIHBvcnQncwotICogbWFjaGluZS9lbmRpYW4uaCBhZnRlciBzZXR0aW5nIF9CWVRFX09SREVSIHRvIGVpdGhlciAxMjM0IGZvciBsaXR0bGUgZW5kaWFuCi0gKiBvciA0MzIxIGZvciBiaWcuLgotICovCi0KICNpZm5kZWYgX1NZU19FTkRJQU5fSF8KICNkZWZpbmUgX1NZU19FTkRJQU5fSF8KIAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CiAKICNpbmNsdWRlIDxzdGRpbnQuaD4KIAogI2RlZmluZSBfTElUVExFX0VORElBTgkxMjM0CiAjZGVmaW5lIF9CSUdfRU5ESUFOCTQzMjEKICNkZWZpbmUgX1BEUF9FTkRJQU4JMzQxMgorI2RlZmluZSBfQllURV9PUkRFUiBfTElUVExFX0VORElBTgorI2RlZmluZSBfX0xJVFRMRV9FTkRJQU5fQklURklFTEQKIAotI2lmIF9fQlNEX1ZJU0lCTEUKLSNkZWZpbmUgTElUVExFX0VORElBTglfTElUVExFX0VORElBTgotI2RlZmluZSBCSUdfRU5ESUFOCV9CSUdfRU5ESUFOCi0jZGVmaW5lIFBEUF9FTkRJQU4JX1BEUF9FTkRJQU4KLSNkZWZpbmUgQllURV9PUkRFUglfQllURV9PUkRFUgorI2lmbmRlZiBfX0xJVFRMRV9FTkRJQU4KKyNkZWZpbmUgX19MSVRUTEVfRU5ESUFOIF9MSVRUTEVfRU5ESUFOCiAjZW5kaWYKLQotI2lmZGVmIF9fR05VQ19fCi0KLSNkZWZpbmUgX19zd2FwMTZnZW4oeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCV9fdWludDE2X3QgX19zd2FwMTZnZW5feCA9ICh4KTsJCQkJCVwKLQkJCQkJCQkJCVwKLQkoX191aW50MTZfdCkoKF9fc3dhcDE2Z2VuX3ggJiAweGZmKSA8PCA4IHwJCQlcCi0JICAgIChfX3N3YXAxNmdlbl94ICYgMHhmZjAwKSA+PiA4KTsJCQkJXAotfSkKLQotI2RlZmluZSBfX3N3YXAzMmdlbih4KSBfX3N0YXRlbWVudCh7CQkJCQlcCi0JX191aW50MzJfdCBfX3N3YXAzMmdlbl94ID0gKHgpOwkJCQkJXAotCQkJCQkJCQkJXAotCShfX3VpbnQzMl90KSgoX19zd2FwMzJnZW5feCAmIDB4ZmYpIDw8IDI0IHwJCQlcCi0JICAgIChfX3N3YXAzMmdlbl94ICYgMHhmZjAwKSA8PCA4IHwJCQkJXAotCSAgICAoX19zd2FwMzJnZW5feCAmIDB4ZmYwMDAwKSA+PiA4IHwJCQkJXAotCSAgICAoX19zd2FwMzJnZW5feCAmIDB4ZmYwMDAwMDApID4+IDI0KTsJCQlcCi19KQotCi0jZGVmaW5lIF9fc3dhcDY0Z2VuKHgpIF9fc3RhdGVtZW50KHsJCQkJCVwKLQlfX3VpbnQ2NF90IF9fc3dhcDY0Z2VuX3ggPSAoeCk7CQkJCQlcCi0JCQkJCQkJCQlcCi0JKF9fdWludDY0X3QpKChfX3N3YXA2NGdlbl94ICYgMHhmZikgPDwgNTYgfAkJCVwKLQkgICAgKF9fc3dhcDY0Z2VuX3ggJiAweGZmMDBVTEwpIDw8IDQwIHwJCQkJXAotCSAgICAoX19zd2FwNjRnZW5feCAmIDB4ZmYwMDAwVUxMKSA8PCAyNCB8CQkJXAotCSAgICAoX19zd2FwNjRnZW5feCAmIDB4ZmYwMDAwMDBVTEwpIDw8IDggfAkJCVwKLQkgICAgKF9fc3dhcDY0Z2VuX3ggJiAweGZmMDAwMDAwMDBVTEwpID4+IDggfAkJCVwKLQkgICAgKF9fc3dhcDY0Z2VuX3ggJiAweGZmMDAwMDAwMDAwMFVMTCkgPj4gMjQgfAkJCVwKLQkgICAgKF9fc3dhcDY0Z2VuX3ggJiAweGZmMDAwMDAwMDAwMDAwVUxMKSA+PiA0MCB8CQlcCi0JICAgIChfX3N3YXA2NGdlbl94ICYgMHhmZjAwMDAwMDAwMDAwMDAwVUxMKSA+PiA1Nik7CQlcCi19KQotCi0jZWxzZSAvKiBfX0dOVUNfXyAqLwotCi0vKiBOb3RlIHRoYXQgdGhlc2UgbWFjcm9zIGV2YWx1YXRlIHRoZWlyIGFyZ3VtZW50cyBzZXZlcmFsIHRpbWVzLiAgKi8KLSNkZWZpbmUgX19zd2FwMTZnZW4oeCkJCQkJCQkJXAotICAgIChfX3VpbnQxNl90KSgoKF9fdWludDE2X3QpKHgpICYgMHhmZikgPDwgOCB8ICgoX191aW50MTZfdCkoeCkgJiAweGZmMDApID4+IDgpCi0KLSNkZWZpbmUgX19zd2FwMzJnZW4oeCkJCQkJCQkJXAotICAgIChfX3VpbnQzMl90KSgoKF9fdWludDMyX3QpKHgpICYgMHhmZikgPDwgMjQgfAkJCVwKLSAgICAoKF9fdWludDMyX3QpKHgpICYgMHhmZjAwKSA8PCA4IHwgKChfX3VpbnQzMl90KSh4KSAmIDB4ZmYwMDAwKSA+PiA4IHxcCi0gICAgKChfX3VpbnQzMl90KSh4KSAmIDB4ZmYwMDAwMDApID4+IDI0KQotCi0jZGVmaW5lIF9fc3dhcDY0Z2VuKHgpCQkJCQkJCVwKLQkoX191aW50NjRfdCkoKCgoX191aW50NjRfdCkoeCkgJiAweGZmKSA8PCA1NikgfAkJCVwKLQkgICAgKChfX3VpbnQ2NF90KSh4KSAmIDB4ZmYwMFVMTCkgPDwgNDAgfAkJCVwKLQkgICAgKChfX3VpbnQ2NF90KSh4KSAmIDB4ZmYwMDAwVUxMKSA8PCAyNCB8CQkJXAotCSAgICAoKF9fdWludDY0X3QpKHgpICYgMHhmZjAwMDAwMFVMTCkgPDwgOCB8CQkJXAotCSAgICAoKF9fdWludDY0X3QpKHgpICYgMHhmZjAwMDAwMDAwVUxMKSA+PiA4IHwJCQlcCi0JICAgICgoX191aW50NjRfdCkoeCkgJiAweGZmMDAwMDAwMDAwMFVMTCkgPj4gMjQgfAkJXAotCSAgICAoKF9fdWludDY0X3QpKHgpICYgMHhmZjAwMDAwMDAwMDAwMFVMTCkgPj4gNDAgfAkJXAotCSAgICAoKF9fdWludDY0X3QpKHgpICYgMHhmZjAwMDAwMDAwMDAwMDAwVUxMKSA+PiA1NikKLQotI2VuZGlmIC8qIF9fR05VQ19fICovCi0KLS8qCi0gKiBEZWZpbmUgTURfU1dBUCBpZiB5b3UgcHJvdmlkZSBzd2FwezE2LDMyfW1kIGZ1bmN0aW9ucy9tYWNyb3MgdGhhdCBhcmUKLSAqIG9wdGltaXplZCBmb3IgeW91ciBhcmNoaXRlY3R1cmUsICBUaGVzZSB3aWxsIGJlIHVzZWQgZm9yIHN3YXB7MTYsMzJ9Ci0gKiB1bmxlc3MgdGhlIGFyZ3VtZW50IGlzIGEgY29uc3RhbnQgYW5kIHdlIGFyZSB1c2luZyBHQ0MsIHdoZXJlIHdlIGNhbgotICogdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIENTRSBwaGFzZSBtdWNoIGJldHRlciBieSB1c2luZyB0aGUgZ2VuZXJpYyB2ZXJzaW9uLgotICovCi0jaWZkZWYgTURfU1dBUAotI2lmIF9fR05VQ19fCi0KLSNkZWZpbmUgX19zd2FwMTYoeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCV9fdWludDE2X3QgX19zd2FwMTZfeCA9ICh4KTsJCQkJCVwKLQkJCQkJCQkJCVwKLQlfX2J1aWx0aW5fY29uc3RhbnRfcCh4KSA/IF9fc3dhcDE2Z2VuKF9fc3dhcDE2X3gpIDoJCVwKLQkgICAgX19zd2FwMTZtZChfX3N3YXAxNl94KTsJCQkJCVwKLX0pCi0KLSNkZWZpbmUgX19zd2FwMzIoeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCV9fdWludDMyX3QgX19zd2FwMzJfeCA9ICh4KTsJCQkJCVwKLQkJCQkJCQkJCVwKLQlfX2J1aWx0aW5fY29uc3RhbnRfcCh4KSA/IF9fc3dhcDMyZ2VuKF9fc3dhcDMyX3gpIDoJCVwKLQkgICAgX19zd2FwMzJtZChfX3N3YXAzMl94KTsJCQkJCVwKLX0pCi0KLSNkZWZpbmUgX19zd2FwNjQoeCkgX19zdGF0ZW1lbnQoewkJCQkJXAotCV9fdWludDY0X3QgX19zd2FwNjRfeCA9ICh4KTsJCQkJCVwKLQkJCQkJCQkJCVwKLQlfX2J1aWx0aW5fY29uc3RhbnRfcCh4KSA/IF9fc3dhcDY0Z2VuKF9fc3dhcDY0X3gpIDoJCVwKLQkgICAgX19zd2FwNjRtZChfX3N3YXA2NF94KTsJCQkJCVwKLX0pCi0KLSNlbmRpZiAvKiBfX0dOVUNfXyAgKi8KLQotI2Vsc2UgLyogTURfU1dBUCAqLwotI2RlZmluZSBfX3N3YXAxNiBfX3N3YXAxNmdlbgotI2RlZmluZSBfX3N3YXAzMiBfX3N3YXAzMmdlbgotI2RlZmluZSBfX3N3YXA2NCBfX3N3YXA2NGdlbgotI2VuZGlmIC8qIE1EX1NXQVAgKi8KLQotI2RlZmluZSBfX3N3YXAxNl9tdWx0aSh2LCBuKSBkbyB7CQkJCQkJXAotCV9fc2l6ZV90IF9fc3dhcDE2X211bHRpX24gPSAobik7CQkJCVwKLQlfX3VpbnQxNl90ICpfX3N3YXAxNl9tdWx0aV92ID0gKHYpOwkJCQlcCi0JCQkJCQkJCQlcCi0Jd2hpbGUgKF9fc3dhcDE2X211bHRpX24pIHsJCQkJCVwKLQkJKl9fc3dhcDE2X211bHRpX3YgPSBzd2FwMTYoKl9fc3dhcDE2X211bHRpX3YpOwkJXAotCQlfX3N3YXAxNl9tdWx0aV92Kys7CQkJCQlcCi0JCV9fc3dhcDE2X211bHRpX24tLTsJCQkJCVwKLQl9CQkJCQkJCQlcCi19IHdoaWxlICgwKQotCi0jaWYgX19CU0RfVklTSUJMRQotI2RlZmluZSBzd2FwMTYgX19zd2FwMTYKLSNkZWZpbmUgc3dhcDMyIF9fc3dhcDMyCi0jZGVmaW5lIHN3YXA2NCBfX3N3YXA2NAotI2RlZmluZSBzd2FwMTZfbXVsdGkgX19zd2FwMTZfbXVsdGkKLSNlbmRpZiAvKiBfX0JTRF9WSVNJQkxFICovCi0KLSNpZiBfQllURV9PUkRFUiA9PSBfTElUVExFX0VORElBTgotCi0vKiBDYW4gYmUgb3ZlcnJpZGRlbiBieSBtYWNoaW5lL2VuZGlhbi5oIGJlZm9yZSBpbmNsdXNpb24gb2YgdGhpcyBmaWxlLiAgKi8KLSNpZm5kZWYgX1FVQURfSElHSFdPUkQKLSNkZWZpbmUgX1FVQURfSElHSFdPUkQgMQorI2lmbmRlZiBfX0JJR19FTkRJQU4KKyNkZWZpbmUgX19CSUdfRU5ESUFOIF9CSUdfRU5ESUFOCiAjZW5kaWYKLSNpZm5kZWYgX1FVQURfTE9XV09SRAotI2RlZmluZSBfUVVBRF9MT1dXT1JEIDAKLSNlbmRpZgorI2RlZmluZSBfX0JZVEVfT1JERVIgX0JZVEVfT1JERVIKIAotI2lmIF9fQlNEX1ZJU0lCTEUKLSNkZWZpbmUgaHRvYmUxNiBfX3N3YXAxNgotI2RlZmluZSBodG9iZTMyIF9fc3dhcDMyCi0jZGVmaW5lIGh0b2JlNjQgX19zd2FwNjQKLSNkZWZpbmUgYmV0b2gxNiBfX3N3YXAxNgotI2RlZmluZSBiZXRvaDMyIF9fc3dhcDMyCi0jZGVmaW5lIGJldG9oNjQgX19zd2FwNjQKLQotI2RlZmluZSBodG9sZTE2KHgpICh4KQotI2RlZmluZSBodG9sZTMyKHgpICh4KQotI2RlZmluZSBodG9sZTY0KHgpICh4KQotI2RlZmluZSBsZXRvaDE2KHgpICh4KQotI2RlZmluZSBsZXRvaDMyKHgpICh4KQotI2RlZmluZSBsZXRvaDY0KHgpICh4KQotI2VuZGlmIC8qIF9fQlNEX1ZJU0lCTEUgKi8KKyNkZWZpbmUgX19zd2FwMTYgX19idWlsdGluX2Jzd2FwMTYKKyNkZWZpbmUgX19zd2FwMzIgX19idWlsdGluX2Jzd2FwMzIKKyNkZWZpbmUgX19zd2FwNjQgX19idWlsdGluX2Jzd2FwNjQKIAogLyogZ2xpYmMgY29tcGF0aWJpbGl0eS4gKi8KIF9fQkVHSU5fREVDTFMKQEAgLTIwNSw2NyArNjQsMzUgQEAKICNkZWZpbmUgaHRvbnEoeCkgX19zd2FwNjQoeCkKICNkZWZpbmUgbnRvaHEoeCkgX19zd2FwNjQoeCkKIAotI2RlZmluZSBfX0xJVFRMRV9FTkRJQU5fQklURklFTEQKLQotI2VuZGlmIC8qIF9CWVRFX09SREVSICovCi0KLSNpZiBfQllURV9PUkRFUiA9PSBfQklHX0VORElBTgotCi0vKiBDYW4gYmUgb3ZlcnJpZGRlbiBieSBtYWNoaW5lL2VuZGlhbi5oIGJlZm9yZSBpbmNsdXNpb24gb2YgdGhpcyBmaWxlLiAgKi8KLSNpZm5kZWYgX1FVQURfSElHSFdPUkQKLSNkZWZpbmUgX1FVQURfSElHSFdPUkQgMAotI2VuZGlmCi0jaWZuZGVmIF9RVUFEX0xPV1dPUkQKLSNkZWZpbmUgX1FVQURfTE9XV09SRCAxCi0jZW5kaWYKLQogI2lmIF9fQlNEX1ZJU0lCTEUKLSNkZWZpbmUgaHRvbGUxNiBfX3N3YXAxNgotI2RlZmluZSBodG9sZTMyIF9fc3dhcDMyCi0jZGVmaW5lIGh0b2xlNjQgX19zd2FwNjQKLSNkZWZpbmUgbGV0b2gxNiBfX3N3YXAxNgotI2RlZmluZSBsZXRvaDMyIF9fc3dhcDMyCi0jZGVmaW5lIGxldG9oNjQgX19zd2FwNjQKKyNkZWZpbmUgTElUVExFX0VORElBTiBfTElUVExFX0VORElBTgorI2RlZmluZSBCSUdfRU5ESUFOIF9CSUdfRU5ESUFOCisjZGVmaW5lIFBEUF9FTkRJQU4gX1BEUF9FTkRJQU4KKyNkZWZpbmUgQllURV9PUkRFUiBfQllURV9PUkRFUgogCi0jZGVmaW5lIGh0b2JlMTYoeCkgKHgpCi0jZGVmaW5lIGh0b2JlMzIoeCkgKHgpCi0jZGVmaW5lIGh0b2JlNjQoeCkgKHgpCi0jZGVmaW5lIGJldG9oMTYoeCkgKHgpCi0jZGVmaW5lIGJldG9oMzIoeCkgKHgpCi0jZGVmaW5lIGJldG9oNjQoeCkgKHgpCi0jZW5kaWYgLyogX19CU0RfVklTSUJMRSAqLwotCi0jZGVmaW5lIGh0b25zKHgpICh4KQotI2RlZmluZSBodG9ubCh4KSAoeCkKLSNkZWZpbmUgbnRvaHMoeCkgKHgpCi0jZGVmaW5lIG50b2hsKHgpICh4KQotCi0vKiBCaW9uaWMgYWRkaXRpb25zICovCi0jZGVmaW5lIG50b2hxKHgpICh4KQotI2RlZmluZSBodG9ucSh4KSAoeCkKLQotI2RlZmluZSBfX0JJR19FTkRJQU5fQklURklFTEQKLQotI2VuZGlmIC8qIF9CWVRFX09SREVSICovCi0KLSNpZiBfX0JTRF9WSVNJQkxFCiAjZGVmaW5lCU5UT0hMKHgpICh4KSA9IG50b2hsKCh1X2ludDMyX3QpKHgpKQogI2RlZmluZQlOVE9IUyh4KSAoeCkgPSBudG9ocygodV9pbnQxNl90KSh4KSkKICNkZWZpbmUJSFRPTkwoeCkgKHgpID0gaHRvbmwoKHVfaW50MzJfdCkoeCkpCiAjZGVmaW5lCUhUT05TKHgpICh4KSA9IGh0b25zKCh1X2ludDE2X3QpKHgpKQotI2VuZGlmCiAKKyNkZWZpbmUgc3dhcDE2IF9fc3dhcDE2CisjZGVmaW5lIHN3YXAzMiBfX3N3YXAzMgorI2RlZmluZSBzd2FwNjQgX19zd2FwNjQKIAotI2RlZmluZSAgX19CWVRFX09SREVSICAgICAgIF9CWVRFX09SREVSCi0jaWZuZGVmICBfX0xJVFRMRV9FTkRJQU4KLSNkZWZpbmUgIF9fTElUVExFX0VORElBTiAgICBfTElUVExFX0VORElBTgotI2VuZGlmCi0jaWZuZGVmICBfX0JJR19FTkRJQU4KLSNkZWZpbmUgIF9fQklHX0VORElBTiAgICAgICBfQklHX0VORElBTgotI2VuZGlmCisjZGVmaW5lIGh0b2JlMTYgX19zd2FwMTYKKyNkZWZpbmUgaHRvYmUzMiBfX3N3YXAzMgorI2RlZmluZSBodG9iZTY0IF9fc3dhcDY0CisjZGVmaW5lIGJldG9oMTYgX19zd2FwMTYKKyNkZWZpbmUgYmV0b2gzMiBfX3N3YXAzMgorI2RlZmluZSBiZXRvaDY0IF9fc3dhcDY0CiAKKyNkZWZpbmUgaHRvbGUxNih4KSAoeCkKKyNkZWZpbmUgaHRvbGUzMih4KSAoeCkKKyNkZWZpbmUgaHRvbGU2NCh4KSAoeCkKKyNkZWZpbmUgbGV0b2gxNih4KSAoeCkKKyNkZWZpbmUgbGV0b2gzMih4KSAoeCkKKyNkZWZpbmUgbGV0b2g2NCh4KSAoeCkKIAotI2lmZGVmIF9fQlNEX1ZJU0lCTEUKIC8qCiAgKiBnbGliYy1jb21wYXRpYmxlIGJlWFh0b2gvbGVYWHRvaCBzeW5vbnltcyBmb3IgaHRvYmVYWC9odG9sZVhYLgogICogVGhlIEJTRHMgZXhwb3J0IGJvdGggc2V0cyBvZiBuYW1lcywgYmlvbmljIGhpc3RvcmljYWxseSBvbmx5CkBAIC0yNzgsNiArMTA1LDYgQEAKICNkZWZpbmUgbGUxNnRvaCh4KSBodG9sZTE2KHgpCiAjZGVmaW5lIGxlMzJ0b2goeCkgaHRvbGUzMih4KQogI2RlZmluZSBsZTY0dG9oKHgpIGh0b2xlNjQoeCkKLSNlbmRpZgorI2VuZGlmIC8qIF9fQlNEX1ZJU0lCTEUgKi8KIAogI2VuZGlmIC8qIF9TWVNfRU5ESUFOX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL2ZpbGUuaCBiL2xpYmMvaW5jbHVkZS9zeXMvZmlsZS5oCmluZGV4IGNmMmY0YjEuLmY0MTRkMzQgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvZmlsZS5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvZmlsZS5oCkBAIC0yNSwxNCArMjUsMTkgQEAKICAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogICogU1VDSCBEQU1BR0UuCiAgKi8KKwogI2lmbmRlZiBfU1lTX0ZJTEVfSF8KICNkZWZpbmUgX1NZU19GSUxFX0hfCiAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIAotLyogQU5EUk9JRDogbmVlZGVkIGZvciBmbG9jaygpICovCi0jaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KIAorX19CRUdJTl9ERUNMUworCitpbnQgZmxvY2soaW50LCBpbnQpOworCitfX0VORF9ERUNMUworCiAjZW5kaWYgLyogX1NZU19GSUxFX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL2dsaWJjLXN5c2NhbGxzLmggYi9saWJjL2luY2x1ZGUvc3lzL2dsaWJjLXN5c2NhbGxzLmgKaW5kZXggNDU5ZWU3OC4uOTI2MjA5YiAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9nbGliYy1zeXNjYWxscy5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvZ2xpYmMtc3lzY2FsbHMuaApAQCAtMTIsNiArMTIsNyBAQAogI2RlZmluZSBTWVNfYXJjaF9zcGVjaWZpY19zeXNjYWxsIF9fTlJfYXJjaF9zcGVjaWZpY19zeXNjYWxsCiAjZGVmaW5lIFNZU19iZGZsdXNoIF9fTlJfYmRmbHVzaAogI2RlZmluZSBTWVNfYmluZCBfX05SX2JpbmQKKyNkZWZpbmUgU1lTX2JwZiBfX05SX2JwZgogI2RlZmluZSBTWVNfYnJrIF9fTlJfYnJrCiAjZGVmaW5lIFNZU19jYXBnZXQgX19OUl9jYXBnZXQKICNkZWZpbmUgU1lTX2NhcHNldCBfX05SX2NhcHNldApAQCAtOTAsNiArOTEsNyBAQAogI2RlZmluZSBTWVNfZ2V0cGlkIF9fTlJfZ2V0cGlkCiAjZGVmaW5lIFNZU19nZXRwcGlkIF9fTlJfZ2V0cHBpZAogI2RlZmluZSBTWVNfZ2V0cHJpb3JpdHkgX19OUl9nZXRwcmlvcml0eQorI2RlZmluZSBTWVNfZ2V0cmFuZG9tIF9fTlJfZ2V0cmFuZG9tCiAjZGVmaW5lIFNZU19nZXRyZXNnaWQgX19OUl9nZXRyZXNnaWQKICNkZWZpbmUgU1lTX2dldHJlc3VpZCBfX05SX2dldHJlc3VpZAogI2RlZmluZSBTWVNfZ2V0cmxpbWl0IF9fTlJfZ2V0cmxpbWl0CkBAIC0xMzQsNiArMTM2LDcgQEAKICNkZWZpbmUgU1lTX2xzdGF0NjQgX19OUl9sc3RhdDY0CiAjZGVmaW5lIFNZU19tYWR2aXNlIF9fTlJfbWFkdmlzZQogI2RlZmluZSBTWVNfbWJpbmQgX19OUl9tYmluZAorI2RlZmluZSBTWVNfbWVtZmRfY3JlYXRlIF9fTlJfbWVtZmRfY3JlYXRlCiAjZGVmaW5lIFNZU19taWdyYXRlX3BhZ2VzIF9fTlJfbWlncmF0ZV9wYWdlcwogI2RlZmluZSBTWVNfbWluY29yZSBfX05SX21pbmNvcmUKICNkZWZpbmUgU1lTX21rZGlyIF9fTlJfbWtkaXIKQEAgLTIwMyw2ICsyMDYsNyBAQAogI2RlZmluZSBTWVNfcmVtb3ZleGF0dHIgX19OUl9yZW1vdmV4YXR0cgogI2RlZmluZSBTWVNfcmVuYW1lIF9fTlJfcmVuYW1lCiAjZGVmaW5lIFNZU19yZW5hbWVhdCBfX05SX3JlbmFtZWF0CisjZGVmaW5lIFNZU19yZW5hbWVhdDIgX19OUl9yZW5hbWVhdDIKICNkZWZpbmUgU1lTX3JlcXVlc3Rfa2V5IF9fTlJfcmVxdWVzdF9rZXkKICNkZWZpbmUgU1lTX3Jlc3RhcnRfc3lzY2FsbCBfX05SX3Jlc3RhcnRfc3lzY2FsbAogI2RlZmluZSBTWVNfcm1kaXIgX19OUl9ybWRpcgpAQCAtMjI2LDYgKzIzMCw3IEBACiAjZGVmaW5lIFNZU19zY2hlZF9zZXRwYXJhbSBfX05SX3NjaGVkX3NldHBhcmFtCiAjZGVmaW5lIFNZU19zY2hlZF9zZXRzY2hlZHVsZXIgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIKICNkZWZpbmUgU1lTX3NjaGVkX3lpZWxkIF9fTlJfc2NoZWRfeWllbGQKKyNkZWZpbmUgU1lTX3NlY2NvbXAgX19OUl9zZWNjb21wCiAjZGVmaW5lIFNZU19zZWxlY3QgX19OUl9zZWxlY3QKICNkZWZpbmUgU1lTX3NlbWN0bCBfX05SX3NlbWN0bAogI2RlZmluZSBTWVNfc2VtZ2V0IF9fTlJfc2VtZ2V0CkBAIC0zMzIsNiArMzM3LDcgQEAKICNkZWZpbmUgU1lTX2FybV9zeW5jX2ZpbGVfcmFuZ2UgX19OUl9hcm1fc3luY19maWxlX3JhbmdlCiAjZGVmaW5lIFNZU19iZGZsdXNoIF9fTlJfYmRmbHVzaAogI2RlZmluZSBTWVNfYmluZCBfX05SX2JpbmQKKyNkZWZpbmUgU1lTX2JwZiBfX05SX2JwZgogI2RlZmluZSBTWVNfYnJrIF9fTlJfYnJrCiAjZGVmaW5lIFNZU19jYXBnZXQgX19OUl9jYXBnZXQKICNkZWZpbmUgU1lTX2NhcHNldCBfX05SX2NhcHNldApAQCAtNDE0LDYgKzQyMCw3IEBACiAjZGVmaW5lIFNZU19nZXRwaWQgX19OUl9nZXRwaWQKICNkZWZpbmUgU1lTX2dldHBwaWQgX19OUl9nZXRwcGlkCiAjZGVmaW5lIFNZU19nZXRwcmlvcml0eSBfX05SX2dldHByaW9yaXR5CisjZGVmaW5lIFNZU19nZXRyYW5kb20gX19OUl9nZXRyYW5kb20KICNkZWZpbmUgU1lTX2dldHJlc2dpZCBfX05SX2dldHJlc2dpZAogI2RlZmluZSBTWVNfZ2V0cmVzZ2lkMzIgX19OUl9nZXRyZXNnaWQzMgogI2RlZmluZSBTWVNfZ2V0cmVzdWlkIF9fTlJfZ2V0cmVzdWlkCkBAIC00NjIsNiArNDY5LDcgQEAKICNkZWZpbmUgU1lTX2xzdGF0NjQgX19OUl9sc3RhdDY0CiAjZGVmaW5lIFNZU19tYWR2aXNlIF9fTlJfbWFkdmlzZQogI2RlZmluZSBTWVNfbWJpbmQgX19OUl9tYmluZAorI2RlZmluZSBTWVNfbWVtZmRfY3JlYXRlIF9fTlJfbWVtZmRfY3JlYXRlCiAjZGVmaW5lIFNZU19taW5jb3JlIF9fTlJfbWluY29yZQogI2RlZmluZSBTWVNfbWtkaXIgX19OUl9ta2RpcgogI2RlZmluZSBTWVNfbWtkaXJhdCBfX05SX21rZGlyYXQKQEAgLTUzMyw2ICs1NDEsNyBAQAogI2RlZmluZSBTWVNfcmVtb3ZleGF0dHIgX19OUl9yZW1vdmV4YXR0cgogI2RlZmluZSBTWVNfcmVuYW1lIF9fTlJfcmVuYW1lCiAjZGVmaW5lIFNZU19yZW5hbWVhdCBfX05SX3JlbmFtZWF0CisjZGVmaW5lIFNZU19yZW5hbWVhdDIgX19OUl9yZW5hbWVhdDIKICNkZWZpbmUgU1lTX3JlcXVlc3Rfa2V5IF9fTlJfcmVxdWVzdF9rZXkKICNkZWZpbmUgU1lTX3Jlc3RhcnRfc3lzY2FsbCBfX05SX3Jlc3RhcnRfc3lzY2FsbAogI2RlZmluZSBTWVNfcm1kaXIgX19OUl9ybWRpcgpAQCAtNTU2LDYgKzU2NSw3IEBACiAjZGVmaW5lIFNZU19zY2hlZF9zZXRwYXJhbSBfX05SX3NjaGVkX3NldHBhcmFtCiAjZGVmaW5lIFNZU19zY2hlZF9zZXRzY2hlZHVsZXIgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIKICNkZWZpbmUgU1lTX3NjaGVkX3lpZWxkIF9fTlJfc2NoZWRfeWllbGQKKyNkZWZpbmUgU1lTX3NlY2NvbXAgX19OUl9zZWNjb21wCiAjZGVmaW5lIFNZU19zZWxlY3QgX19OUl9zZWxlY3QKICNkZWZpbmUgU1lTX3NlbWN0bCBfX05SX3NlbWN0bAogI2RlZmluZSBTWVNfc2VtZ2V0IF9fTlJfc2VtZ2V0CkBAIC02NzksNiArNjg5LDcgQEAKICNkZWZpbmUgU1lTX2FsYXJtIF9fTlJfYWxhcm0KICNkZWZpbmUgU1lTX2JkZmx1c2ggX19OUl9iZGZsdXNoCiAjZGVmaW5lIFNZU19iaW5kIF9fTlJfYmluZAorI2RlZmluZSBTWVNfYnBmIF9fTlJfYnBmCiAjZGVmaW5lIFNZU19icmVhayBfX05SX2JyZWFrCiAjZGVmaW5lIFNZU19icmsgX19OUl9icmsKICNkZWZpbmUgU1lTX2NhY2hlY3RsIF9fTlJfY2FjaGVjdGwKQEAgLTc2Myw2ICs3NzQsNyBAQAogI2RlZmluZSBTWVNfZ2V0cG1zZyBfX05SX2dldHBtc2cKICNkZWZpbmUgU1lTX2dldHBwaWQgX19OUl9nZXRwcGlkCiAjZGVmaW5lIFNZU19nZXRwcmlvcml0eSBfX05SX2dldHByaW9yaXR5CisjZGVmaW5lIFNZU19nZXRyYW5kb20gX19OUl9nZXRyYW5kb20KICNkZWZpbmUgU1lTX2dldHJlc2dpZCBfX05SX2dldHJlc2dpZAogI2RlZmluZSBTWVNfZ2V0cmVzdWlkIF9fTlJfZ2V0cmVzdWlkCiAjZGVmaW5lIFNZU19nZXRybGltaXQgX19OUl9nZXRybGltaXQKQEAgLTgxMiw2ICs4MjQsNyBAQAogI2RlZmluZSBTWVNfbHN0YXQ2NCBfX05SX2xzdGF0NjQKICNkZWZpbmUgU1lTX21hZHZpc2UgX19OUl9tYWR2aXNlCiAjZGVmaW5lIFNZU19tYmluZCBfX05SX21iaW5kCisjZGVmaW5lIFNZU19tZW1mZF9jcmVhdGUgX19OUl9tZW1mZF9jcmVhdGUKICNkZWZpbmUgU1lTX21pZ3JhdGVfcGFnZXMgX19OUl9taWdyYXRlX3BhZ2VzCiAjZGVmaW5lIFNZU19taW5jb3JlIF9fTlJfbWluY29yZQogI2RlZmluZSBTWVNfbWtkaXIgX19OUl9ta2RpcgpAQCAtODg4LDYgKzkwMSw3IEBACiAjZGVmaW5lIFNZU19yZW1vdmV4YXR0ciBfX05SX3JlbW92ZXhhdHRyCiAjZGVmaW5lIFNZU19yZW5hbWUgX19OUl9yZW5hbWUKICNkZWZpbmUgU1lTX3JlbmFtZWF0IF9fTlJfcmVuYW1lYXQKKyNkZWZpbmUgU1lTX3JlbmFtZWF0MiBfX05SX3JlbmFtZWF0MgogI2RlZmluZSBTWVNfcmVxdWVzdF9rZXkgX19OUl9yZXF1ZXN0X2tleQogI2RlZmluZSBTWVNfcmVzZXJ2ZWQxNzcgX19OUl9yZXNlcnZlZDE3NwogI2RlZmluZSBTWVNfcmVzZXJ2ZWQxOTMgX19OUl9yZXNlcnZlZDE5MwpAQCAtOTE1LDYgKzkyOSw3IEBACiAjZGVmaW5lIFNZU19zY2hlZF9zZXRwYXJhbSBfX05SX3NjaGVkX3NldHBhcmFtCiAjZGVmaW5lIFNZU19zY2hlZF9zZXRzY2hlZHVsZXIgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIKICNkZWZpbmUgU1lTX3NjaGVkX3lpZWxkIF9fTlJfc2NoZWRfeWllbGQKKyNkZWZpbmUgU1lTX3NlY2NvbXAgX19OUl9zZWNjb21wCiAjZGVmaW5lIFNZU19zZW1jdGwgX19OUl9zZW1jdGwKICNkZWZpbmUgU1lTX3NlbWdldCBfX05SX3NlbWdldAogI2RlZmluZSBTWVNfc2Vtb3AgX19OUl9zZW1vcApAQCAtMTAzOSw2ICsxMDU0LDcgQEAKICNkZWZpbmUgU1lTX2Fmc19zeXNjYWxsIF9fTlJfYWZzX3N5c2NhbGwKICNkZWZpbmUgU1lTX2FsYXJtIF9fTlJfYWxhcm0KICNkZWZpbmUgU1lTX2JkZmx1c2ggX19OUl9iZGZsdXNoCisjZGVmaW5lIFNZU19icGYgX19OUl9icGYKICNkZWZpbmUgU1lTX2JyZWFrIF9fTlJfYnJlYWsKICNkZWZpbmUgU1lTX2JyayBfX05SX2JyawogI2RlZmluZSBTWVNfY2FwZ2V0IF9fTlJfY2FwZ2V0CkBAIC0xMTI3LDYgKzExNDMsNyBAQAogI2RlZmluZSBTWVNfZ2V0cG1zZyBfX05SX2dldHBtc2cKICNkZWZpbmUgU1lTX2dldHBwaWQgX19OUl9nZXRwcGlkCiAjZGVmaW5lIFNZU19nZXRwcmlvcml0eSBfX05SX2dldHByaW9yaXR5CisjZGVmaW5lIFNZU19nZXRyYW5kb20gX19OUl9nZXRyYW5kb20KICNkZWZpbmUgU1lTX2dldHJlc2dpZCBfX05SX2dldHJlc2dpZAogI2RlZmluZSBTWVNfZ2V0cmVzZ2lkMzIgX19OUl9nZXRyZXNnaWQzMgogI2RlZmluZSBTWVNfZ2V0cmVzdWlkIF9fTlJfZ2V0cmVzdWlkCkBAIC0xMTc3LDYgKzExOTQsNyBAQAogI2RlZmluZSBTWVNfbHN0YXQ2NCBfX05SX2xzdGF0NjQKICNkZWZpbmUgU1lTX21hZHZpc2UgX19OUl9tYWR2aXNlCiAjZGVmaW5lIFNZU19tYmluZCBfX05SX21iaW5kCisjZGVmaW5lIFNZU19tZW1mZF9jcmVhdGUgX19OUl9tZW1mZF9jcmVhdGUKICNkZWZpbmUgU1lTX21pZ3JhdGVfcGFnZXMgX19OUl9taWdyYXRlX3BhZ2VzCiAjZGVmaW5lIFNZU19taW5jb3JlIF9fTlJfbWluY29yZQogI2RlZmluZSBTWVNfbWtkaXIgX19OUl9ta2RpcgpAQCAtMTI1MCw2ICsxMjY4LDcgQEAKICNkZWZpbmUgU1lTX3JlbW92ZXhhdHRyIF9fTlJfcmVtb3ZleGF0dHIKICNkZWZpbmUgU1lTX3JlbmFtZSBfX05SX3JlbmFtZQogI2RlZmluZSBTWVNfcmVuYW1lYXQgX19OUl9yZW5hbWVhdAorI2RlZmluZSBTWVNfcmVuYW1lYXQyIF9fTlJfcmVuYW1lYXQyCiAjZGVmaW5lIFNZU19yZXF1ZXN0X2tleSBfX05SX3JlcXVlc3Rfa2V5CiAjZGVmaW5lIFNZU19yZXN0YXJ0X3N5c2NhbGwgX19OUl9yZXN0YXJ0X3N5c2NhbGwKICNkZWZpbmUgU1lTX3JtZGlyIF9fTlJfcm1kaXIKQEAgLTEyNzMsNiArMTI5Miw3IEBACiAjZGVmaW5lIFNZU19zY2hlZF9zZXRwYXJhbSBfX05SX3NjaGVkX3NldHBhcmFtCiAjZGVmaW5lIFNZU19zY2hlZF9zZXRzY2hlZHVsZXIgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIKICNkZWZpbmUgU1lTX3NjaGVkX3lpZWxkIF9fTlJfc2NoZWRfeWllbGQKKyNkZWZpbmUgU1lTX3NlY2NvbXAgX19OUl9zZWNjb21wCiAjZGVmaW5lIFNZU19zZWxlY3QgX19OUl9zZWxlY3QKICNkZWZpbmUgU1lTX3NlbmRmaWxlIF9fTlJfc2VuZGZpbGUKICNkZWZpbmUgU1lTX3NlbmRmaWxlNjQgX19OUl9zZW5kZmlsZTY0CkBAIC0xMzg5LDYgKzE0MDksNyBAQAogI2RlZmluZSBTWVNfYWxhcm0gX19OUl9hbGFybQogI2RlZmluZSBTWVNfYXJjaF9wcmN0bCBfX05SX2FyY2hfcHJjdGwKICNkZWZpbmUgU1lTX2JpbmQgX19OUl9iaW5kCisjZGVmaW5lIFNZU19icGYgX19OUl9icGYKICNkZWZpbmUgU1lTX2JyayBfX05SX2JyawogI2RlZmluZSBTWVNfY2FwZ2V0IF9fTlJfY2FwZ2V0CiAjZGVmaW5lIFNZU19jYXBzZXQgX19OUl9jYXBzZXQKQEAgLTE0NjcsNiArMTQ4OCw3IEBACiAjZGVmaW5lIFNZU19nZXRwbXNnIF9fTlJfZ2V0cG1zZwogI2RlZmluZSBTWVNfZ2V0cHBpZCBfX05SX2dldHBwaWQKICNkZWZpbmUgU1lTX2dldHByaW9yaXR5IF9fTlJfZ2V0cHJpb3JpdHkKKyNkZWZpbmUgU1lTX2dldHJhbmRvbSBfX05SX2dldHJhbmRvbQogI2RlZmluZSBTWVNfZ2V0cmVzZ2lkIF9fTlJfZ2V0cmVzZ2lkCiAjZGVmaW5lIFNZU19nZXRyZXN1aWQgX19OUl9nZXRyZXN1aWQKICNkZWZpbmUgU1lTX2dldHJsaW1pdCBfX05SX2dldHJsaW1pdApAQCAtMTQ5NCw2ICsxNTE2LDcgQEAKICNkZWZpbmUgU1lTX2lvcHJpb19nZXQgX19OUl9pb3ByaW9fZ2V0CiAjZGVmaW5lIFNZU19pb3ByaW9fc2V0IF9fTlJfaW9wcmlvX3NldAogI2RlZmluZSBTWVNfa2NtcCBfX05SX2tjbXAKKyNkZWZpbmUgU1lTX2tleGVjX2ZpbGVfbG9hZCBfX05SX2tleGVjX2ZpbGVfbG9hZAogI2RlZmluZSBTWVNfa2V4ZWNfbG9hZCBfX05SX2tleGVjX2xvYWQKICNkZWZpbmUgU1lTX2tleWN0bCBfX05SX2tleWN0bAogI2RlZmluZSBTWVNfa2lsbCBfX05SX2tpbGwKQEAgLTE1MTEsNiArMTUzNCw3IEBACiAjZGVmaW5lIFNZU19sc3RhdCBfX05SX2xzdGF0CiAjZGVmaW5lIFNZU19tYWR2aXNlIF9fTlJfbWFkdmlzZQogI2RlZmluZSBTWVNfbWJpbmQgX19OUl9tYmluZAorI2RlZmluZSBTWVNfbWVtZmRfY3JlYXRlIF9fTlJfbWVtZmRfY3JlYXRlCiAjZGVmaW5lIFNZU19taWdyYXRlX3BhZ2VzIF9fTlJfbWlncmF0ZV9wYWdlcwogI2RlZmluZSBTWVNfbWluY29yZSBfX05SX21pbmNvcmUKICNkZWZpbmUgU1lTX21rZGlyIF9fTlJfbWtkaXIKQEAgLTE1ODAsNiArMTYwNCw3IEBACiAjZGVmaW5lIFNZU19yZW1vdmV4YXR0ciBfX05SX3JlbW92ZXhhdHRyCiAjZGVmaW5lIFNZU19yZW5hbWUgX19OUl9yZW5hbWUKICNkZWZpbmUgU1lTX3JlbmFtZWF0IF9fTlJfcmVuYW1lYXQKKyNkZWZpbmUgU1lTX3JlbmFtZWF0MiBfX05SX3JlbmFtZWF0MgogI2RlZmluZSBTWVNfcmVxdWVzdF9rZXkgX19OUl9yZXF1ZXN0X2tleQogI2RlZmluZSBTWVNfcmVzdGFydF9zeXNjYWxsIF9fTlJfcmVzdGFydF9zeXNjYWxsCiAjZGVmaW5lIFNZU19ybWRpciBfX05SX3JtZGlyCkBAIC0xNjAzLDYgKzE2MjgsNyBAQAogI2RlZmluZSBTWVNfc2NoZWRfc2V0cGFyYW0gX19OUl9zY2hlZF9zZXRwYXJhbQogI2RlZmluZSBTWVNfc2NoZWRfc2V0c2NoZWR1bGVyIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyCiAjZGVmaW5lIFNZU19zY2hlZF95aWVsZCBfX05SX3NjaGVkX3lpZWxkCisjZGVmaW5lIFNZU19zZWNjb21wIF9fTlJfc2VjY29tcAogI2RlZmluZSBTWVNfc2VjdXJpdHkgX19OUl9zZWN1cml0eQogI2RlZmluZSBTWVNfc2VsZWN0IF9fTlJfc2VsZWN0CiAjZGVmaW5lIFNZU19zZW1jdGwgX19OUl9zZW1jdGwKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXMvbGltaXRzLmggYi9saWJjL2luY2x1ZGUvc3lzL2xpbWl0cy5oCmluZGV4IGM1MGViMTAuLmJlNzljZjMgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvbGltaXRzLmgKKysrIGIvbGliYy9pbmNsdWRlL3N5cy9saW1pdHMuaApAQCAtMTE1LDU3ICsxMTUsMTMgQEAKIAogLyogQmlvbmljLXNwZWNpZmljIGRlZmluaXRpb25zICovCiAKLSNkZWZpbmUgIF9QT1NJWF9WRVJTSU9OICAgICAgICAgICAgIDIwMDExMkwgICAvKiBQb3NpeCBDIGxhbmd1YWdlIGJpbmRpbmdzIHZlcnNpb24gKi8KKyNkZWZpbmUgIF9QT1NJWF9WRVJTSU9OICAgICAgICAgICAgIDIwMDgwOUwgICAvKiBQb3NpeCBDIGxhbmd1YWdlIGJpbmRpbmdzIHZlcnNpb24gKi8KICNkZWZpbmUgIF9QT1NJWDJfVkVSU0lPTiAgICAgICAgICAgIC0xICAgICAgICAvKiB3ZSBkb24ndCBzdXBwb3J0IFBvc2l4IGNvbW1hbmQtbGluZSB0b29scyAqLwotI2RlZmluZSAgX1BPU0lYMl9DX1ZFUlNJT04gICAgICAgICAgX1BPU0lYX1ZFUlNJT04KLSNkZWZpbmUgIF9YT1BFTl9WRVJTSU9OICAgICAgICAgICAgIDUwMCAgICAgICAvKiBieSBQb3NpeCBkZWZpbml0aW9uICovCi0jZGVmaW5lICBfWE9QRU5fWENVX1ZFUlNJT04gICAgICAgICAtMSAgICAgICAgLyogd2UgZG9uJ3Qgc3VwcG9ydCBjb21tYW5kLWxpbmUgdXRpbGl0aWVzICovCi0KLS8qIHRlbGwgd2hhdCB3ZSBpbXBsZW1lbnQgbGVnYWN5IHN0dWZmIHdoZW4gYXBwcm9wcmlhdGUgKi8KLSNpZiBfUE9TSVhfVkVSU0lPTiA+IDAKLSNkZWZpbmUgIF9YT1BFTl9YUEcyICAgICAgICAgICAgICAgIDEKLSNkZWZpbmUgIF9YT1BFTl9YUEczICAgICAgICAgICAgICAgIDEKLSNkZWZpbmUgIF9YT1BFTl9YUEc0ICAgICAgICAgICAgICAgIDEKLSNkZWZpbmUgIF9YT1BFTl9VTklYICAgICAgICAgICAgICAgIDEKLSNlbmRpZgotCi0jZGVmaW5lICBfWE9QRU5fRU5IX0kxOE4gICAgICAgICAgLTEgIC8qIHdlIGRvbid0IHN1cHBvcnQgaW50ZXJuYXRpb25hbGl6YXRpb24gaW4gdGhlIEMgbGlicmFyeSAqLwotI2RlZmluZSAgX1hPUEVOX0NSWVBUICAgICAgICAgICAgIC0xICAvKiBkb24ndCBzdXBwb3J0IFgvT3BlbiBFbmNyeXB0aW9uICovCi0jZGVmaW5lICBfWE9QRU5fTEVHQUNZICAgICAgICAgICAgLTEgIC8qIGRvbid0IGNsYWltIHdlIHN1cHBvcnQgdGhlc2UsIHdlIGhhdmUgc29tZSBvZiB0aGVtIGJ1dCBub3QgYWxsICovCi0jZGVmaW5lICBfWE9QRU5fUkVBTFRJTUUgICAgICAgICAgLTEgLyogd2UgZG9uJ3Qgc3VwcG9ydCBhbGwgdGhlc2UgZnVuY3Rpb25zICovCi0jZGVmaW5lICBfWE9QRU5fUkVBTFRJTUVfVEhSRUFEUyAgLTEgIC8qIHNhbWUgaGVyZSAqLwotCi0jZGVmaW5lICBfUE9TSVhfUkVBTFRJTUVfU0lHTkFMUyAgICAtMSAgLyogZm9yIG5vdywgdGhpcyBpcyBub3Qgc3VwcG9ydGVkICovCi0jZGVmaW5lICBfUE9TSVhfUFJJT1JJVFlfU0NIRURVTElORyAgMSAgLyogcHJpb3JpdHkgc2NoZWR1bGluZyBpcyBhIExpbnV4IGZlYXR1cmUgKi8KLSNkZWZpbmUgIF9QT1NJWF9USU1FUlMgICAgICAgICAgICAgICAxICAvKiBQb3NpeCB0aW1lcnMgYXJlIHN1cHBvcnRlZCAqLwotI3VuZGVmICAgX1BPU0lYX0FTWU5DSFJPTk9VU19JTyAgICAgICAgIC8qIGFpb18gZnVuY3Rpb25zIGFyZSBub3Qgc3VwcG9ydGVkICovCi0jZGVmaW5lICBfUE9TSVhfU1lOQ0hST05JWkVEX0lPICAgICAgMSAgLyogc3luY2hyb25pemVkIGkvbyBzdXBwb3J0ZWQgKi8KLSNkZWZpbmUgIF9QT1NJWF9GU1lOQyAgICAgICAgICAgICAgICAxICAvKiBmZGF0YXN5bmMoKSBzdXBwb3J0ZWQgKi8KLSNkZWZpbmUgIF9QT1NJWF9NQVBQRURfRklMRVMgICAgICAgICAxICAvKiBtbWFwLWVkIGZpbGVzIHN1cHBvcnRlZCAqLwotCi0vKiBYWFg6IFRPRE86IGNvbXBsZXRlIGFuZCBjaGVjayBsaXN0IGhlcmUgKi8KKyNkZWZpbmUgIF9YT1BFTl9WRVJTSU9OICAgICAgICAgICAgIDcwMCAgICAgICAvKiBieSBQb3NpeCBkZWZpbml0aW9uICovCiAKIAotI2RlZmluZSAgX1BPU0lYX1RIUkVBRFMgICAgICAgICAgICAgMSAgICAvKiB3ZSBzdXBwb3J0IHRocmVhZHMgKi8KLSNkZWZpbmUgIF9QT1NJWF9USFJFQURfU1RBQ0tBRERSICAgIDEgICAgLyogd2Ugc3VwcG9ydCB0aHJlYWQgc3RhY2sgYWRkcmVzcyAqLwotI2RlZmluZSAgX1BPU0lYX1RIUkVBRF9TVEFDS1NJWkUgICAgMSAgICAvKiB3ZSBzdXBwb3J0IHRocmVhZCBzdGFjayBzaXplICovCi0jZGVmaW5lICBfUE9TSVhfVEhSRUFEX1BSSU9fSU5IRVJJVCAyMDAxMTJMICAgLyogbGludXggZmVhdHVyZSAqLwotI2RlZmluZSAgX1BPU0lYX1RIUkVBRF9QUklPX1BST1RFQ1QgMjAwMTEyTCAgIC8qIGxpbnV4IGZlYXR1cmUgKi8KLQotI3VuZGVmICAgX1BPU0lYX1BST0NFU1NfU0hBUkVEICAgICAgICAgICAvKiB3ZSBkb24ndCBzdXBwb3J0IHByb2Nlc3Mtc2hhcmVkIHN5bmNocm9uaXphdGlvbiAqLwotI3VuZGVmICAgX1BPU0lYX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUyAgICAvKiBtb3N0IGZ1bmN0aW9ucyBhcmUsIGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQgKi8KLSNkZWZpbmUgIF9QT1NJWF9DSE9XTl9SRVNUUklDVEVEICAgIDEgICAgLyogeWVzLCBjaG93biByZXF1aXJlcyBhcHByb3ByaWF0ZSBwcml2aWxlZ2VzICovCi0jZGVmaW5lICBfUE9TSVhfTU9OT1RPTklDX0NMT0NLICAgICAwICAgIC8qIHRoZSBtb25vdG9uaWMgY2xvY2sgbWF5IGJlIGF2YWlsYWJsZTsgYXNrIHN5c2NvbmYgKi8KLSNkZWZpbmUgIF9QT1NJWF9OT19UUlVOQyAgICAgICAgICAgIDEgICAgLyogdmVyeSBsb25nIHBhdGhuYW1lcyBnZW5lcmF0ZSBhbiBlcnJvciAqLwotI2RlZmluZSAgX1BPU0lYX1NBVkVEX0lEUyAgICAgICAgICAgMSAgICAvKiBzYXZlZCB1c2VyIGlkcyBpcyBhIExpbnV4IGZlYXR1cmUgKi8KLSNkZWZpbmUgIF9QT1NJWF9KT0JfQ09OVFJPTCAgICAgICAgIDEgICAgLyogam9iIGNvbnRyb2wgaXMgYSBMaW51eCBmZWF0dXJlICovCi0KLSNkZWZpbmUgX1BPU0lYX1RIUkVBRF9ERVNUUlVDVE9SX0lURVJBVElPTlMgNCAvKiB0aGUgbWluaW11bSBtYW5kYXRlZCBieSBQT1NJWCAqLwotI2RlZmluZSBQVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUyBfUE9TSVhfVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUwotI2RlZmluZSBfUE9TSVhfVEhSRUFEX0tFWVNfTUFYIDEyOCAgICAgICAgICAgIC8qIHRoZSBtaW5pbXVtIG1hbmRhdGVkIGJ5IFBPU0lYICovCi0jZGVmaW5lIFBUSFJFQURfS0VZU19NQVggX1BPU0lYX1RIUkVBRF9LRVlTX01BWAotI2RlZmluZSBfUE9TSVhfVEhSRUFEX1RIUkVBRFNfTUFYIDY0ICAgICAgICAgIC8qIHRoZSBtaW5pbXVtIG1hbmRhdGVkIGJ5IFBPU0lYICovCi0jZGVmaW5lIFBUSFJFQURfVEhSRUFEU19NQVggICAgICAgICAgICAgICAgICAgLyogYmlvbmljIGhhcyBubyBzcGVjaWZpYyBsaW1pdCAqLwotCisjZGVmaW5lIFBUSFJFQURfREVTVFJVQ1RPUl9JVEVSQVRJT05TIDQgICAgIC8vID49IF9QT1NJWF9USFJFQURfREVTVFJVQ1RPUl9JVEVSQVRJT05TCisjZGVmaW5lIFBUSFJFQURfS0VZU19NQVggICAgICAgICAgICAgIDEyOCAgIC8vID49IF9QT1NJWF9USFJFQURfS0VZU19NQVgKKyNkZWZpbmUgUFRIUkVBRF9USFJFQURTX01BWCAgICAgICAgICAgMjA0OCAgLy8gYmlvbmljIGhhcyBubyBzcGVjaWZpYyBsaW1pdAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXMvbW1hbi5oIGIvbGliYy9pbmNsdWRlL3N5cy9tbWFuLmgKaW5kZXggNWE4Yzk4NS4uNjg1N2Y2MCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9tbWFuLmgKKysrIGIvbGliYy9pbmNsdWRlL3N5cy9tbWFuLmgKQEAgLTQzLDggKzQzLDE5IEBACiAjZGVmaW5lIE1SRU1BUF9NQVlNT1ZFICAxCiAjZGVmaW5lIE1SRU1BUF9GSVhFRCAgICAyCiAKKyNkZWZpbmUgUE9TSVhfTUFEVl9OT1JNQUwgICAgIE1BRFZfTk9STUFMCisjZGVmaW5lIFBPU0lYX01BRFZfUkFORE9NICAgICBNQURWX1JBTkRPTQorI2RlZmluZSBQT1NJWF9NQURWX1NFUVVFTlRJQUwgTUFEVl9TRVFVRU5USUFMCisjZGVmaW5lIFBPU0lYX01BRFZfV0lMTE5FRUQgICBNQURWX1dJTExORUVECisjZGVmaW5lIFBPU0lYX01BRFZfRE9OVE5FRUQgICBNQURWX0RPTlRORUVECisKKyNpZiBkZWZpbmVkKF9fVVNFX0ZJTEVfT0ZGU0VUNjQpCitleHRlcm4gdm9pZCogbW1hcCh2b2lkKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBvZmZfdCkgX19SRU5BTUUobW1hcDY0KTsKKyNlbHNlCiBleHRlcm4gdm9pZCogbW1hcCh2b2lkKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBvZmZfdCk7CisjZW5kaWYKIGV4dGVybiB2b2lkKiBtbWFwNjQodm9pZCosIHNpemVfdCwgaW50LCBpbnQsIGludCwgb2ZmNjRfdCk7CisKIGV4dGVybiBpbnQgbXVubWFwKHZvaWQqLCBzaXplX3QpOwogZXh0ZXJuIGludCBtc3luYyhjb25zdCB2b2lkKiwgc2l6ZV90LCBpbnQpOwogZXh0ZXJuIGludCBtcHJvdGVjdChjb25zdCB2b2lkKiwgc2l6ZV90LCBpbnQpOwpAQCAtNTQsMTMgKzY1LDE1IEBACiBleHRlcm4gaW50IG11bmxvY2thbGwodm9pZCk7CiBleHRlcm4gaW50IG1sb2NrKGNvbnN0IHZvaWQqLCBzaXplX3QpOwogZXh0ZXJuIGludCBtdW5sb2NrKGNvbnN0IHZvaWQqLCBzaXplX3QpOwotZXh0ZXJuIGludCBtYWR2aXNlKGNvbnN0IHZvaWQqLCBzaXplX3QsIGludCk7CitleHRlcm4gaW50IG1hZHZpc2Uodm9pZCosIHNpemVfdCwgaW50KTsKIAogZXh0ZXJuIGludCBtbG9jayhjb25zdCB2b2lkKiwgc2l6ZV90KTsKIGV4dGVybiBpbnQgbXVubG9jayhjb25zdCB2b2lkKiwgc2l6ZV90KTsKIAogZXh0ZXJuIGludCBtaW5jb3JlKHZvaWQqLCBzaXplX3QsIHVuc2lnbmVkIGNoYXIqKTsKIAorZXh0ZXJuIGludCBwb3NpeF9tYWR2aXNlKHZvaWQqLCBzaXplX3QsIGludCk7CisKIF9fRU5EX0RFQ0xTCiAKICNlbmRpZiAvKiBfU1lTX01NQU5fSF8gKi8KZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXMvbW91bnQuaCBiL2xpYmMvaW5jbHVkZS9zeXMvbW91bnQuaAppbmRleCAzYzM1ZDMxLi5mZDdjZjE3IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc3lzL21vdW50LmgKKysrIGIvbGliYy9pbmNsdWRlL3N5cy9tb3VudC5oCkBAIC0yNSw2ICsyNSw3IEBACiAgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKICAqIFNVQ0ggREFNQUdFLgogICovCisKICNpZm5kZWYgX1NZU19NT1VOVF9ICiAjZGVmaW5lIF9TWVNfTU9VTlRfSAogCkBAIC0zNSw5ICszNiwxMCBAQAogX19CRUdJTl9ERUNMUwogCiAvKiB1bW91bnQyIGZsYWdzLiAqLwotI2RlZmluZSBNTlRfRk9SQ0UJMQkvKiBGb3JjaWJseSB1bm1vdW50ICovCi0jZGVmaW5lIE1OVF9ERVRBQ0gJMgkvKiBEZXRhY2ggZnJvbSB0cmVlIG9ubHkgKi8KLSNkZWZpbmUgTU5UX0VYUElSRQk0CS8qIE1hcmsgZm9yIGV4cGlyeSAqLworI2RlZmluZSBNTlRfRk9SQ0UgMQorI2RlZmluZSBNTlRfREVUQUNIIDIKKyNkZWZpbmUgTU5UX0VYUElSRSA0CisjZGVmaW5lIFVNT1VOVF9OT0ZPTExPVyA4CiAKIGV4dGVybiBpbnQgbW91bnQoY29uc3QgY2hhciosIGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKiwgdW5zaWduZWQgbG9uZywgY29uc3Qgdm9pZCopOwogZXh0ZXJuIGludCB1bW91bnQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oIGIvbGliYy9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oCmluZGV4IGE5MWZhNTMuLjNmOGRkNDUgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvcmVzb3VyY2UuaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL3Jlc291cmNlLmgKQEAgLTM2LDYgKzM2LDEwIEBACiAKIF9fQkVHSU5fREVDTFMKIAorLyogVGhlIGtlcm5lbCBoZWFkZXIgZG9lc24ndCBoYXZlIHRoZXNlLCBidXQgUE9TSVggZG9lcy4gKi8KKyNkZWZpbmUgUkxJTV9TQVZFRF9DVVIgUkxJTV9JTkZJTklUWQorI2RlZmluZSBSTElNX1NBVkVEX01BWCBSTElNX0lORklOSVRZCisKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBybGltX3Q7CiAKIGV4dGVybiBpbnQgZ2V0cmxpbWl0KGludCwgc3RydWN0IHJsaW1pdCopOwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9zZWxlY3QuaCBiL2xpYmMvaW5jbHVkZS9zeXMvc2VsZWN0LmgKaW5kZXggMzJjMTIwNi4uMGM0YTgyMyAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9zZWxlY3QuaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL3NlbGVjdC5oCkBAIC0yOSwxMSArMjksMTAgQEAKICNpZm5kZWYgX1NZU19TRUxFQ1RfSF8KICNkZWZpbmUgX1NZU19TRUxFQ1RfSF8KIAotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogCiBfX0JFR0lOX0RFQ0xTCiAKQEAgLTQ5LDcgKzQ4LDE0IEBACiAjZGVmaW5lIF9fRkRNQVNLKGZkKSAoMVVMIDw8ICgoZmQpICUgTkZEQklUUykpCiAjZGVmaW5lIF9fRkRTX0JJVFMoc2V0KSAoKChmZF9zZXQqKShzZXQpKS0+ZmRzX2JpdHMpCiAKLSNkZWZpbmUgRkRfWkVSTyhzZXQpIChtZW1zZXQoc2V0LCAwLCBzaXplb2YoKihmZF9zZXQqKShzZXQpKSkpCisvKiBJbmxpbmUgbG9vcCBzbyB3ZSBkb24ndCBoYXZlIHRvIGRlY2xhcmUgbWVtc2V0LiAqLworI2RlZmluZSBGRF9aRVJPKHNldCkgXAorICBkbyB7IFwKKyAgICBzaXplX3QgX19pOyBcCisgICAgZm9yIChfX2kgPSAwOyBfX2kgPCBfX0ZEU0VUX0xPTkdTOyArK19faSkgeyBcCisgICAgICAoc2V0KS0+ZmRzX2JpdHNbX19pXSA9IDA7IFwKKyAgICB9IFwKKyAgfSB3aGlsZSAoMCkKIAogZXh0ZXJuIHZvaWQgX19GRF9DTFJfY2hrKGludCwgZmRfc2V0Kiwgc2l6ZV90KTsKIGV4dGVybiB2b2lkIF9fRkRfU0VUX2NoayhpbnQsIGZkX3NldCosIHNpemVfdCk7CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL3NlbmRmaWxlLmggYi9saWJjL2luY2x1ZGUvc3lzL3NlbmRmaWxlLmgKaW5kZXggODFhM2M0NC4uYzU4OGU2OCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9zZW5kZmlsZS5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvc2VuZGZpbGUuaApAQCAtMzQsNyArMzQsMTEgQEAKIAogX19CRUdJTl9ERUNMUwogCisjaWYgZGVmaW5lZChfX1VTRV9GSUxFX09GRlNFVDY0KQorZXh0ZXJuIHNzaXplX3Qgc2VuZGZpbGUoaW50IG91dF9mZCwgaW50IGluX2ZkLCBvZmZfdCogb2Zmc2V0LCBzaXplX3QgY291bnQpIF9fUkVOQU1FKHNlbmRmaWxlNjQpOworI2Vsc2UKIGV4dGVybiBzc2l6ZV90IHNlbmRmaWxlKGludCBvdXRfZmQsIGludCBpbl9mZCwgb2ZmX3QqIG9mZnNldCwgc2l6ZV90IGNvdW50KTsKKyNlbmRpZgogZXh0ZXJuIHNzaXplX3Qgc2VuZGZpbGU2NChpbnQgb3V0X2ZkLCBpbnQgaW5fZmQsIG9mZjY0X3QqIG9mZnNldCwgc2l6ZV90IGNvdW50KTsKIAogX19FTkRfREVDTFMKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXMvc3RhdC5oIGIvbGliYy9pbmNsdWRlL3N5cy9zdGF0LmgKaW5kZXggOWM3MzczYS4uYzIyNTE2ZiAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy9zdGF0LmgKKysrIGIvbGliYy9pbmNsdWRlL3N5cy9zdGF0LmgKQEAgLTI1LDkxICsyNSw4MSBAQAogICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgKiBTVUNIIERBTUFHRS4KICAqLworCiAjaWZuZGVmIF9TWVNfU1RBVF9IXwogI2RlZmluZSBfU1lTX1NUQVRfSF8KIAorI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KKyNpbmNsdWRlIDxtYWNoaW5lL3RpbWVzcGVjLmg+CiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+Ci0KLSNpbmNsdWRlIDxlbmRpYW4uaD4KIAogX19CRUdJTl9ERUNMUwogCi0jaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKyNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCAoZGVmaW5lZChfX21pcHNfXykgJiYgZGVmaW5lZChfX0xQNjRfXykpCiAjZGVmaW5lIF9fU1RBVDY0X0JPRFkgXAotICB1bnNpZ25lZCBsb25nIHN0X2RldjsgXAotICB1bnNpZ25lZCBsb25nIHN0X2lubzsgXAotICB1bnNpZ25lZCBpbnQgc3RfbW9kZTsgXAotICB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7IFwKKyAgZGV2X3Qgc3RfZGV2OyBcCisgIGlub190IHN0X2lubzsgXAorICBtb2RlX3Qgc3RfbW9kZTsgXAorICBubGlua190IHN0X25saW5rOyBcCiAgIHVpZF90IHN0X3VpZDsgXAogICBnaWRfdCBzdF9naWQ7IFwKLSAgdW5zaWduZWQgbG9uZyBzdF9yZGV2OyBcCisgIGRldl90IHN0X3JkZXY7IFwKICAgdW5zaWduZWQgbG9uZyBfX3BhZDE7IFwKLSAgbG9uZyBzdF9zaXplOyBcCisgIG9mZl90IHN0X3NpemU7IFwKICAgaW50IHN0X2Jsa3NpemU7IFwKICAgaW50IF9fcGFkMjsgXAogICBsb25nIHN0X2Jsb2NrczsgXAotICBsb25nIHN0X2F0aW1lOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlYzsgXAotICBsb25nIHN0X210aW1lOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlYzsgXAotICBsb25nIHN0X2N0aW1lOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlYzsgXAorICBzdHJ1Y3QgdGltZXNwZWMgc3RfYXRpbTsgXAorICBzdHJ1Y3QgdGltZXNwZWMgc3RfbXRpbTsgXAorICBzdHJ1Y3QgdGltZXNwZWMgc3RfY3RpbTsgXAogICB1bnNpZ25lZCBpbnQgX191bnVzZWQ0OyBcCiAgIHVuc2lnbmVkIGludCBfX3VudXNlZDU7IFwKIAotI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyNlbGlmIGRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fTFA2NF9fKQogI2RlZmluZSBfX1NUQVQ2NF9CT0RZIFwKICAgdW5zaWduZWQgaW50IHN0X2RldjsgXAogICB1bnNpZ25lZCBpbnQgX19wYWQwWzNdOyBcCiAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87IFwKLSAgdW5zaWduZWQgaW50IHN0X21vZGU7IFwKLSAgdW5zaWduZWQgaW50IHN0X25saW5rOyBcCisgIG1vZGVfdCBzdF9tb2RlOyBcCisgIG5saW5rX3Qgc3Rfbmxpbms7IFwKICAgdWlkX3Qgc3RfdWlkOyBcCiAgIGdpZF90IHN0X2dpZDsgXAogICB1bnNpZ25lZCBpbnQgc3RfcmRldjsgXAogICB1bnNpZ25lZCBpbnQgX19wYWQxWzNdOyBcCiAgIGxvbmcgbG9uZyBzdF9zaXplOyBcCi0gIHVuc2lnbmVkIGludCBzdF9hdGltZTsgXAotICB1bnNpZ25lZCBpbnQgc3RfYXRpbWVfbnNlYzsgXAotICB1bnNpZ25lZCBpbnQgc3RfbXRpbWU7IFwKLSAgdW5zaWduZWQgaW50IHN0X210aW1lX25zZWM7IFwKLSAgdW5zaWduZWQgaW50IHN0X2N0aW1lOyBcCi0gIHVuc2lnbmVkIGludCBzdF9jdGltZV9uc2VjOyBcCisgIHN0cnVjdCB0aW1lc3BlYyBzdF9hdGltOyBcCisgIHN0cnVjdCB0aW1lc3BlYyBzdF9tdGltOyBcCisgIHN0cnVjdCB0aW1lc3BlYyBzdF9jdGltOyBcCiAgIHVuc2lnbmVkIGludCBzdF9ibGtzaXplOyBcCiAgIHVuc2lnbmVkIGludCBfX3BhZDI7IFwKICAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2Jsb2NrczsgXAogCiAjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCiAjZGVmaW5lIF9fU1RBVDY0X0JPRFkgXAotICB1bnNpZ25lZCBsb25nIHN0X2RldjsgXAotICB1bnNpZ25lZCBsb25nIHN0X2lubzsgXAorICBkZXZfdCBzdF9kZXY7IFwKKyAgaW5vX3Qgc3RfaW5vOyBcCiAgIHVuc2lnbmVkIGxvbmcgc3Rfbmxpbms7IFwKLSAgdW5zaWduZWQgaW50IHN0X21vZGU7IFwKKyAgbW9kZV90IHN0X21vZGU7IFwKICAgdWlkX3Qgc3RfdWlkOyBcCiAgIGdpZF90IHN0X2dpZDsgXAogICB1bnNpZ25lZCBpbnQgX19wYWQwOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsgXAotICBsb25nIHN0X3NpemU7IFwKKyAgZGV2X3Qgc3RfcmRldjsgXAorICBvZmZfdCBzdF9zaXplOyBcCiAgIGxvbmcgc3RfYmxrc2l6ZTsgXAogICBsb25nIHN0X2Jsb2NrczsgXAotICB1bnNpZ25lZCBsb25nIHN0X2F0aW1lOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlYzsgXAotICB1bnNpZ25lZCBsb25nIHN0X210aW1lOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlYzsgXAotICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOyBcCi0gIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlYzsgXAorICBzdHJ1Y3QgdGltZXNwZWMgc3RfYXRpbTsgXAorICBzdHJ1Y3QgdGltZXNwZWMgc3RfbXRpbTsgXAorICBzdHJ1Y3QgdGltZXNwZWMgc3RfY3RpbTsgXAogICBsb25nIF9fcGFkM1szXTsgXAogCi0jZWxzZQorI2Vsc2UgLyogX19hcm1fXyB8fCBfX2kzODZfXyAqLwogI2RlZmluZSBfX1NUQVQ2NF9CT0RZIFwKICAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2RldjsgXAogICB1bnNpZ25lZCBjaGFyIF9fcGFkMFs0XTsgXAogICB1bnNpZ25lZCBsb25nIF9fc3RfaW5vOyBcCiAgIHVuc2lnbmVkIGludCBzdF9tb2RlOyBcCi0gIHVuc2lnbmVkIGludCBzdF9ubGluazsgXAorICBubGlua190IHN0X25saW5rOyBcCiAgIHVpZF90IHN0X3VpZDsgXAogICBnaWRfdCBzdF9naWQ7IFwKICAgdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7IFwKQEAgLTExNywxMiArMTA3LDkgQEAKICAgbG9uZyBsb25nIHN0X3NpemU7IFwKICAgdW5zaWduZWQgbG9uZyBzdF9ibGtzaXplOyBcCiAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7IFwKLSAgdW5zaWduZWQgbG9uZyBzdF9hdGltZTsgXAotICB1bnNpZ25lZCBsb25nIHN0X2F0aW1lX25zZWM7IFwKLSAgdW5zaWduZWQgbG9uZyBzdF9tdGltZTsgXAotICB1bnNpZ25lZCBsb25nIHN0X210aW1lX25zZWM7IFwKLSAgdW5zaWduZWQgbG9uZyBzdF9jdGltZTsgXAotICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7IFwKKyAgc3RydWN0IHRpbWVzcGVjIHN0X2F0aW07IFwKKyAgc3RydWN0IHRpbWVzcGVjIHN0X210aW07IFwKKyAgc3RydWN0IHRpbWVzcGVjIHN0X2N0aW07IFwKICAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2lubzsgXAogCiAjZW5kaWYKQEAgLTEzMiw5ICsxMTksMTQgQEAKIAogI3VuZGVmIF9fU1RBVDY0X0JPRFkKIAotI2RlZmluZSBzdF9hdGltZW5zZWMgc3RfYXRpbWVfbnNlYwotI2RlZmluZSBzdF9tdGltZW5zZWMgc3RfbXRpbWVfbnNlYwotI2RlZmluZSBzdF9jdGltZW5zZWMgc3RfY3RpbWVfbnNlYworLyogQ29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIFBPU0lYLiAqLworI2RlZmluZSBzdF9hdGltZSBzdF9hdGltLnR2X3NlYworI2RlZmluZSBzdF9tdGltZSBzdF9tdGltLnR2X3NlYworI2RlZmluZSBzdF9jdGltZSBzdF9jdGltLnR2X3NlYworLyogQ29tcGF0aWJpbGl0eSB3aXRoIGdsaWJjLiAqLworI2RlZmluZSBzdF9hdGltZW5zZWMgc3RfYXRpbS50dl9uc2VjCisjZGVmaW5lIHN0X210aW1lbnNlYyBzdF9tdGltLnR2X25zZWMKKyNkZWZpbmUgc3RfY3RpbWVuc2VjIHN0X2N0aW0udHZfbnNlYwogCiAjaWZkZWYgX19VU0VfQlNECiAvKiBQZXJtaXNzaW9uIG1hY3JvcyBwcm92aWRlZCBieSBnbGliYyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIEJTRHMuICovCkBAIC0xNzksNyArMTcxLDggQEAKIH0KICNlbmRpZiAvKiBkZWZpbmVkKF9fQklPTklDX0ZPUlRJRlkpICovCiAKLWV4dGVybiBpbnQgbWtmaWZvKGNvbnN0IGNoYXIqLCBtb2RlX3QpOworX0JJT05JQ19OT1RfQkVGT1JFXzIxKGV4dGVybiBpbnQgbWtmaWZvKGNvbnN0IGNoYXIqLCBtb2RlX3QpOykKK2V4dGVybiBpbnQgbWtmaWZvYXQoaW50LCBjb25zdCBjaGFyKiwgbW9kZV90KTsKIAogZXh0ZXJuIGludCBmY2htb2RhdChpbnQsIGNvbnN0IGNoYXIqLCBtb2RlX3QsIGludCk7CiBleHRlcm4gaW50IG1rZGlyYXQoaW50LCBjb25zdCBjaGFyKiwgbW9kZV90KTsKQEAgLTE5MCw2ICsxODMsMTAgQEAKIGV4dGVybiBpbnQgdXRpbWVuc2F0KGludCBmZCwgY29uc3QgY2hhciAqcGF0aCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjIHRpbWVzWzJdLCBpbnQgZmxhZ3MpOwogZXh0ZXJuIGludCBmdXRpbWVucyhpbnQgZmQsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyB0aW1lc1syXSk7CiAKKyNpZiBfX0FORFJPSURfQVBJX18gPCAyMQorI2luY2x1ZGUgPGFuZHJvaWQvbGVnYWN5X3N5c19zdGF0X2lubGluZXMuaD4KKyNlbmRpZgorCiBfX0VORF9ERUNMUwogCiAjZW5kaWYgLyogX1NZU19TVEFUX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL3N5c2NhbGwuaCBiL2xpYmMvaW5jbHVkZS9zeXMvc3lzY2FsbC5oCmluZGV4IDM0YTI5ZGYuLjIxZWFmMzMgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvc3lzY2FsbC5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvc3lzY2FsbC5oCkBAIC0yNSwyMCArMjUsMTMgQEAKICAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogICogU1VDSCBEQU1BR0UuCiAgKi8KKwogI2lmbmRlZiBfU1lTX1NZU0NBTExfSF8KICNkZWZpbmUgX1NZU19TWVNDQUxMX0hfCiAKLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxhc20vdW5pc3RkLmg+IC8qIExpbnV4IGtlcm5lbCBfX05SXyogbmFtZXMuICovCisjaW5jbHVkZSA8c3lzL2dsaWJjLXN5c2NhbGxzLmg+IC8qIGdsaWJjLWNvbXBhdGlibGUgU1lTXyogYWxpYXNlcy4gKi8KIAotI2luY2x1ZGUgPHN5cy9nbGliYy1zeXNjYWxscy5oPiAvKiBnbGliYy1jb21wYXRpYmxlIFNZU18qIGFsaWFzZXMgZm9yIG91ciBfX05SXyogbmFtZXMuICovCi0KLV9fQkVHSU5fREVDTFMKLQotbG9uZyBzeXNjYWxsKGxvbmcgbnVtYmVyLCAuLi4pOwotCi1fX0VORF9ERUNMUworLyogVGhlIHN5c2NhbGwgZnVuY3Rpb24gaXRzZWxmIGlzIGRlY2xhcmVkIGluIDx1bmlzdGQuaD4sIG5vdCBoZXJlLiAqLwogCiAjZW5kaWYgLyogX1NZU19TWVNDQUxMX0hfICovCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL3N5c2NvbmYuaCBiL2xpYmMvaW5jbHVkZS9zeXMvc3lzY29uZi5oCmluZGV4IDNkMDU4ZDcuLmNhMzIxMzIgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvc3lzY29uZi5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvc3lzY29uZi5oCkBAIC01MCw3ICs1MCw3IEBACiAjZGVmaW5lIF9TQ19QQVNTX01BWCAgICAgICAgICAgIDB4MDAwYwogI2RlZmluZSBfU0NfMl9DX0JJTkQgICAgICAgICAgICAweDAwMGQKICNkZWZpbmUgX1NDXzJfQ19ERVYgICAgICAgICAgICAgMHgwMDBlCi0jZGVmaW5lIF9TQ18yX0NfVkVSU0lPTiAgICAgICAgIDB4MDAwZgorI2RlZmluZSBfU0NfMl9DX1ZFUlNJT04gICAgICAgICAweDAwMGYgIC8qIE9ic29sZXNjZW50IGluIFBPU0lYLjEtMjAwOCwgVE9ETzogcmVtb3ZlIGl0LiAqLwogI2RlZmluZSBfU0NfMl9DSEFSX1RFUk0gICAgICAgICAweDAwMTAKICNkZWZpbmUgX1NDXzJfRk9SVF9ERVYgICAgICAgICAgMHgwMDExCiAjZGVmaW5lIF9TQ18yX0ZPUlRfUlVOICAgICAgICAgIDB4MDAxMgpAQCAtNjgsNyArNjgsNyBAQAogI2RlZmluZSBfU0NfWE9QRU5fRU5IX0kxOE4gICAgICAweDAwMWUKICNkZWZpbmUgX1NDX1hPUEVOX1NITSAgICAgICAgICAgMHgwMDFmCiAjZGVmaW5lIF9TQ19YT1BFTl9WRVJTSU9OICAgICAgIDB4MDAyMAotI2RlZmluZSBfU0NfWE9QRU5fWENVX1ZFUlNJT04gICAweDAwMjEKKyNkZWZpbmUgX1NDX1hPUEVOX1hDVV9WRVJTSU9OICAgMHgwMDIxICAvKiBPYnNvbGVzY2VudCBpbiBQT1NJWC4xLTIwMDgsIFRPRE86IHJlbW92ZSBpdC4gKi8KICNkZWZpbmUgX1NDX1hPUEVOX1JFQUxUSU1FICAgICAgMHgwMDIyCiAjZGVmaW5lIF9TQ19YT1BFTl9SRUFMVElNRV9USFJFQURTICAweDAwMjMKICNkZWZpbmUgX1NDX1hPUEVOX0xFR0FDWSAgICAgICAgMHgwMDI0CkBAIC03NywxMCArNzcsMTAgQEAKICNkZWZpbmUgX1NDX1BBR0VTSVpFICAgICAgICAgICAgMHgwMDI3CiAjZGVmaW5lIF9TQ19QQUdFX1NJWkUgICAgICAgICAgIDB4MDAyOAogI2RlZmluZSBfU0NfWE9QRU5fVU5JWCAgICAgICAgICAweDAwMjkKLSNkZWZpbmUgX1NDX1hCUzVfSUxQMzJfT0ZGMzIgICAgMHgwMDJhCi0jZGVmaW5lIF9TQ19YQlM1X0lMUDMyX09GRkJJRyAgIDB4MDAyYgotI2RlZmluZSBfU0NfWEJTNV9MUDY0X09GRjY0ICAgICAweDAwMmMKLSNkZWZpbmUgX1NDX1hCUzVfTFBCSUdfT0ZGQklHICAgMHgwMDJkCisjZGVmaW5lIF9TQ19YQlM1X0lMUDMyX09GRjMyICAgIDB4MDAyYSAgLyogT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LCBUT0RPOiByZW1vdmUgaXQuICovCisjZGVmaW5lIF9TQ19YQlM1X0lMUDMyX09GRkJJRyAgIDB4MDAyYiAgLyogT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LCBUT0RPOiByZW1vdmUgaXQuICovCisjZGVmaW5lIF9TQ19YQlM1X0xQNjRfT0ZGNjQgICAgIDB4MDAyYyAgLyogT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LCBUT0RPOiByZW1vdmUgaXQuICovCisjZGVmaW5lIF9TQ19YQlM1X0xQQklHX09GRkJJRyAgIDB4MDAyZCAgLyogT2Jzb2xlc2NlbnQgaW4gUE9TSVguMS0yMDA4LCBUT0RPOiByZW1vdmUgaXQuICovCiAjZGVmaW5lIF9TQ19BSU9fTElTVElPX01BWCAgICAgIDB4MDAyZQogI2RlZmluZSBfU0NfQUlPX01BWCAgICAgICAgICAgICAweDAwMmYKICNkZWZpbmUgX1NDX0FJT19QUklPX0RFTFRBX01BWCAgMHgwMDMwCkBAIC0xMjksNiArMTI5LDY1IEBACiAjZGVmaW5lIF9TQ19BVlBIWVNfUEFHRVMgICAgICAgICAgICAgICAgMHgwMDYzCiAjZGVmaW5lIF9TQ19NT05PVE9OSUNfQ0xPQ0sgICAgICAgICAgICAgMHgwMDY0CiAKKyNkZWZpbmUgX1NDXzJfUEJTICAgICAgICAgICAgICAgMHgwMDY1CisjZGVmaW5lIF9TQ18yX1BCU19BQ0NPVU5USU5HICAgIDB4MDA2NgorI2RlZmluZSBfU0NfMl9QQlNfQ0hFQ0tQT0lOVCAgICAweDAwNjcKKyNkZWZpbmUgX1NDXzJfUEJTX0xPQ0FURSAgICAgICAgMHgwMDY4CisjZGVmaW5lIF9TQ18yX1BCU19NRVNTQUdFICAgICAgIDB4MDA2OQorI2RlZmluZSBfU0NfMl9QQlNfVFJBQ0sgICAgICAgICAweDAwNmEKKyNkZWZpbmUgX1NDX0FEVklTT1JZX0lORk8gICAgICAgMHgwMDZiCisjZGVmaW5lIF9TQ19CQVJSSUVSUyAgICAgICAgICAgIDB4MDA2YworI2RlZmluZSBfU0NfQ0xPQ0tfU0VMRUNUSU9OICAgICAweDAwNmQKKyNkZWZpbmUgX1NDX0NQVVRJTUUgICAgICAgICAgICAgMHgwMDZlCisjZGVmaW5lIF9TQ19IT1NUX05BTUVfTUFYICAgICAgIDB4MDA2ZgorI2RlZmluZSBfU0NfSVBWNiAgICAgICAgICAgICAgICAweDAwNzAKKyNkZWZpbmUgX1NDX1JBV19TT0NLRVRTICAgICAgICAgMHgwMDcxCisjZGVmaW5lIF9TQ19SRUFERVJfV1JJVEVSX0xPQ0tTIDB4MDA3MgorI2RlZmluZSBfU0NfUkVHRVhQICAgICAgICAgICAgICAweDAwNzMKKyNkZWZpbmUgX1NDX1NIRUxMICAgICAgICAgICAgICAgMHgwMDc0CisjZGVmaW5lIF9TQ19TUEFXTiAgICAgICAgICAgICAgIDB4MDA3NQorI2RlZmluZSBfU0NfU1BJTl9MT0NLUyAgICAgICAgICAweDAwNzYKKyNkZWZpbmUgX1NDX1NQT1JBRElDX1NFUlZFUiAgICAgMHgwMDc3CisjZGVmaW5lIF9TQ19TU19SRVBMX01BWCAgICAgICAgIDB4MDA3OAorI2RlZmluZSBfU0NfU1lNTE9PUF9NQVggICAgICAgICAweDAwNzkKKyNkZWZpbmUgX1NDX1RIUkVBRF9DUFVUSU1FICAgICAgMHgwMDdhCisjZGVmaW5lIF9TQ19USFJFQURfUFJPQ0VTU19TSEFSRUQgICAgICAgMHgwMDdiCisjZGVmaW5lIF9TQ19USFJFQURfUk9CVVNUX1BSSU9fSU5IRVJJVCAgMHgwMDdjCisjZGVmaW5lIF9TQ19USFJFQURfUk9CVVNUX1BSSU9fUFJPVEVDVCAgMHgwMDdkCisjZGVmaW5lIF9TQ19USFJFQURfU1BPUkFESUNfU0VSVkVSICAgICAgMHgwMDdlCisjZGVmaW5lIF9TQ19USU1FT1VUUyAgICAgICAgICAgIDB4MDA3ZgorI2RlZmluZSBfU0NfVFJBQ0UgICAgICAgICAgICAgICAweDAwODAKKyNkZWZpbmUgX1NDX1RSQUNFX0VWRU5UX0ZJTFRFUiAgMHgwMDgxCisjZGVmaW5lIF9TQ19UUkFDRV9FVkVOVF9OQU1FX01BWCAgMHgwMDgyCisjZGVmaW5lIF9TQ19UUkFDRV9JTkhFUklUICAgICAgIDB4MDA4MworI2RlZmluZSBfU0NfVFJBQ0VfTE9HICAgICAgICAgICAweDAwODQKKyNkZWZpbmUgX1NDX1RSQUNFX05BTUVfTUFYICAgICAgMHgwMDg1CisjZGVmaW5lIF9TQ19UUkFDRV9TWVNfTUFYICAgICAgIDB4MDA4NgorI2RlZmluZSBfU0NfVFJBQ0VfVVNFUl9FVkVOVF9NQVggIDB4MDA4NworI2RlZmluZSBfU0NfVFlQRURfTUVNT1JZX09CSkVDVFMgIDB4MDA4OAorI2RlZmluZSBfU0NfVjdfSUxQMzJfT0ZGMzIgICAgICAweDAwODkKKyNkZWZpbmUgX1NDX1Y3X0lMUDMyX09GRkJJRyAgICAgMHgwMDhhCisjZGVmaW5lIF9TQ19WN19MUDY0X09GRjY0ICAgICAgIDB4MDA4YgorI2RlZmluZSBfU0NfVjdfTFBCSUdfT0ZGQklHICAgICAweDAwOGMKKyNkZWZpbmUgX1NDX1hPUEVOX1NUUkVBTVMgICAgICAgMHgwMDhkCisjZGVmaW5lIF9TQ19YT1BFTl9VVUNQICAgICAgICAgIDB4MDA4ZQorCisjZGVmaW5lIF9TQ19MRVZFTDFfSUNBQ0hFX1NJWkUgICAgICAweDAwOGYKKyNkZWZpbmUgX1NDX0xFVkVMMV9JQ0FDSEVfQVNTT0MgICAgIDB4MDA5MAorI2RlZmluZSBfU0NfTEVWRUwxX0lDQUNIRV9MSU5FU0laRSAgMHgwMDkxCisjZGVmaW5lIF9TQ19MRVZFTDFfRENBQ0hFX1NJWkUgICAgICAweDAwOTIKKyNkZWZpbmUgX1NDX0xFVkVMMV9EQ0FDSEVfQVNTT0MgICAgIDB4MDA5MworI2RlZmluZSBfU0NfTEVWRUwxX0RDQUNIRV9MSU5FU0laRSAgMHgwMDk0CisjZGVmaW5lIF9TQ19MRVZFTDJfQ0FDSEVfU0laRSAgICAgICAweDAwOTUKKyNkZWZpbmUgX1NDX0xFVkVMMl9DQUNIRV9BU1NPQyAgICAgIDB4MDA5NgorI2RlZmluZSBfU0NfTEVWRUwyX0NBQ0hFX0xJTkVTSVpFICAgMHgwMDk3CisjZGVmaW5lIF9TQ19MRVZFTDNfQ0FDSEVfU0laRSAgICAgICAweDAwOTgKKyNkZWZpbmUgX1NDX0xFVkVMM19DQUNIRV9BU1NPQyAgICAgIDB4MDA5OQorI2RlZmluZSBfU0NfTEVWRUwzX0NBQ0hFX0xJTkVTSVpFICAgMHgwMDlhCisjZGVmaW5lIF9TQ19MRVZFTDRfQ0FDSEVfU0laRSAgICAgICAweDAwOWIKKyNkZWZpbmUgX1NDX0xFVkVMNF9DQUNIRV9BU1NPQyAgICAgIDB4MDA5YworI2RlZmluZSBfU0NfTEVWRUw0X0NBQ0hFX0xJTkVTSVpFICAgMHgwMDlkCisKIGxvbmcgc3lzY29uZihpbnQpOwogCiBfX0VORF9ERUNMUwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9zeXNpbmZvLmggYi9saWJjL2luY2x1ZGUvc3lzL3N5c2luZm8uaAppbmRleCBjN2U0NmU2Li5iNjZiYzhlIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc3lzL3N5c2luZm8uaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL3N5c2luZm8uaApAQCAtMzMsNyArMzMsMTUgQEAKIAogX19CRUdJTl9ERUNMUwogCi1leHRlcm4gaW50IHN5c2luZm8gKHN0cnVjdCBzeXNpbmZvICppbmZvKTsKK2ludCBzeXNpbmZvKHN0cnVjdCBzeXNpbmZvKiBpbmZvKTsKKworaW50IGdldF9ucHJvY3NfY29uZih2b2lkKTsKKworaW50IGdldF9ucHJvY3Modm9pZCk7CisKK2xvbmcgZ2V0X3BoeXNfcGFnZXModm9pZCk7CisKK2xvbmcgZ2V0X2F2cGh5c19wYWdlcyh2b2lkKTsKIAogX19FTkRfREVDTFMKIApkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy90eXBlcy5oIGIvbGliYy9pbmNsdWRlL3N5cy90eXBlcy5oCmluZGV4IGE1ZmE2OTIuLmE2YjBmZDggMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvdHlwZXMuaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL3R5cGVzLmgKQEAgLTkwLDE2ICs5MCwxNCBAQAogdHlwZWRlZiBfX2tlcm5lbF90aW1lX3QgX190aW1lX3Q7CiB0eXBlZGVmIF9fdGltZV90IHRpbWVfdDsKIAotLyogVGhpcyBoaXN0b3JpY2FsIGFjY2lkZW50IG1lYW5zIHRoYXQgd2UgaGFkIGEgMzItYml0IG9mZl90IG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLiAqLwotI2lmICFkZWZpbmVkKF9fTFA2NF9fKQotdHlwZWRlZiBfX2tlcm5lbF9vZmZfdCBvZmZfdDsKLXR5cGVkZWYgX19rZXJuZWxfbG9mZl90IGxvZmZfdDsKKyNpZiBkZWZpbmVkKF9fVVNFX0ZJTEVfT0ZGU0VUNjQpIHx8IGRlZmluZWQoX19MUDY0X18pCit0eXBlZGVmIGludDY0X3Qgb2ZmX3Q7Cit0eXBlZGVmIG9mZl90IGxvZmZfdDsKIHR5cGVkZWYgbG9mZl90IG9mZjY0X3Q7CiAjZWxzZQotLyogV2UgY291bGQgcmUtdXNlIHRoZSBMUDMyIGRlZmluaXRpb25zLCBidXQgdGhhdCB3b3VsZCBtZWFuIHRoYXQgYWx0aG91Z2ggb2ZmX3QgYW5kIGxvZmZfdC9vZmY2NF90Ci0gKiB3b3VsZCBiZSB0aGUgc2FtZSBzaXplLCB0aGV5IHdvdWxkbid0IGFjdHVhbGx5IGJlIHRoZSBzYW1lIHR5cGUsIHdoaWNoIGNhbiBsZWFkIHRvIHdhcm5pbmdzLiAqLworLyogVGhpcyBoaXN0b3JpY2FsIGFjY2lkZW50IG1lYW5zIHRoYXQgd2UgaGFkIGEgMzItYml0IG9mZl90IG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLiAqLwogdHlwZWRlZiBfX2tlcm5lbF9vZmZfdCBvZmZfdDsKLXR5cGVkZWYgb2ZmX3QgbG9mZl90OwordHlwZWRlZiBfX2tlcm5lbF9sb2ZmX3QgbG9mZl90OwogdHlwZWRlZiBsb2ZmX3Qgb2ZmNjRfdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzL3Vjb250ZXh0LmggYi9saWJjL2luY2x1ZGUvc3lzL3Vjb250ZXh0LmgKaW5kZXggZGQyYTBiYi4uYjY4ZDcwNCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy91Y29udGV4dC5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXMvdWNvbnRleHQuaApAQCAtMTgwLDYgKzE4MCwyNSBAQAogICB9IGZwX3I7CiB9IGZwcmVnc2V0X3Q7CiAKKyNpZmRlZiBfX0xQNjRfXwordHlwZWRlZiBzdHJ1Y3QgeworICBncmVnc2V0X3QgZ3JlZ3M7CisgIGZwcmVnc2V0X3QgZnByZWdzOworICBncmVnX3QgbWRoaTsKKyAgZ3JlZ190IGhpMTsKKyAgZ3JlZ190IGhpMjsKKyAgZ3JlZ190IGhpMzsKKyAgZ3JlZ190IG1kbG87CisgIGdyZWdfdCBsbzE7CisgIGdyZWdfdCBsbzI7CisgIGdyZWdfdCBsbzM7CisgIGdyZWdfdCBwYzsKKyAgdWludDMyX3QgZnBjX2NzcjsKKyAgdWludDMyX3QgdXNlZF9tYXRoOworICB1aW50MzJfdCBkc3A7CisgIHVpbnQzMl90IHJlc2VydmVkOworfSBtY29udGV4dF90OworI2Vsc2UKIHR5cGVkZWYgc3RydWN0IHsKICAgdW5zaWduZWQgcmVnbWFzazsKICAgdW5zaWduZWQgc3RhdHVzOwpAQCAtMjAwLDYgKzIxOSw3IEBACiAgIHVuc2lnbmVkIGxvbmcgaGkzOwogICB1bnNpZ25lZCBsb25nIGxvMzsKIH0gbWNvbnRleHRfdDsKKyNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCB1Y29udGV4dCB7CiAgIHVuc2lnbmVkIGxvbmcgdWNfZmxhZ3M7CkBAIC0yMDksMTAgKzIyOSw2IEBACiAgIHNpZ3NldF90IHVjX3NpZ21hc2s7CiB9IHVjb250ZXh0X3Q7CiAKLSNlbGlmIGRlZmluZWQoX19taXBzNjRfXykKLQotI2Vycm9yIFRPRE8KLQogI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKQogCiBlbnVtIHsKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXMvdXNlci5oIGIvbGliYy9pbmNsdWRlL3N5cy91c2VyLmgKaW5kZXggMGUzNjgyNS4uYjM3MGFkZCAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5cy91c2VyLmgKKysrIGIvbGliYy9pbmNsdWRlL3N5cy91c2VyLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPiAvKiBGb3IgUEFHRV9TSVpFLiAqLworI2luY2x1ZGUgPHN0ZGRlZi5oPiAvKiBGb3Igc2l6ZV90LiAqLwogCiBfX0JFR0lOX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXMvdmZzLmggYi9saWJjL2luY2x1ZGUvc3lzL3Zmcy5oCmluZGV4IDUzNThmZmIuLjFmYmM4YmUgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvdmZzLmgKKysrIGIvbGliYy9pbmNsdWRlL3N5cy92ZnMuaApAQCAtMjUsNiArMjUsNyBAQAogICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgKiBTVUNIIERBTUFHRS4KICAqLworCiAjaWZuZGVmIF9TWVNfVkZTX0hfCiAjZGVmaW5lIF9TWVNfVkZTX0hfCiAKQEAgLTExNCw1MCArMTE1LDI3IEBACiAjZGVmaW5lIF9TVEFURlNfRl9GUlNJWkUKICNkZWZpbmUgX1NUQVRGU19GX0ZMQUdTCiAKLSNkZWZpbmUgIEFERlNfU1VQRVJfTUFHSUMgICAgICAweGFkZjUKLSNkZWZpbmUgIEFGRlNfU1VQRVJfTUFHSUMgICAgICAweEFERkYKLSNkZWZpbmUgIEJFRlNfU1VQRVJfTUFHSUMgICAgICAweDQyNDY1MzMxCi0jZGVmaW5lICBCRlNfTUFHSUMgICAgICAgICAgICAgMHgxQkFERkFDRQotI2RlZmluZSAgQ0lGU19NQUdJQ19OVU1CRVIgICAgIDB4RkY1MzRENDIKLSNkZWZpbmUgIENPREFfU1VQRVJfTUFHSUMgICAgICAweDczNzU3MjQ1Ci0jZGVmaW5lICBDT0hfU1VQRVJfTUFHSUMgICAgICAgMHgwMTJGRjdCNwotI2RlZmluZSAgQ1JBTUZTX01BR0lDICAgICAgICAgIDB4MjhjZDNkNDUKLSNkZWZpbmUgIERFVkZTX1NVUEVSX01BR0lDICAgICAweDEzNzMKLSNkZWZpbmUgIEVGU19TVVBFUl9NQUdJQyAgICAgICAweDAwNDE0QTUzCi0jZGVmaW5lICBFWFRfU1VQRVJfTUFHSUMgICAgICAgMHgxMzdECi0jZGVmaW5lICBFWFQyX09MRF9TVVBFUl9NQUdJQyAgMHhFRjUxCi0jZGVmaW5lICBFWFQyX1NVUEVSX01BR0lDICAgICAgMHhFRjUzCi0jZGVmaW5lICBFWFQzX1NVUEVSX01BR0lDICAgICAgMHhFRjUzCi0jZGVmaW5lICBIRlNfU1VQRVJfTUFHSUMgICAgICAgMHg0MjQ0Ci0jZGVmaW5lICBIUEZTX1NVUEVSX01BR0lDICAgICAgMHhGOTk1RTg0OQotI2RlZmluZSAgSFVHRVRMQkZTX01BR0lDICAgICAgIDB4OTU4NDU4ZjYKLSNkZWZpbmUgIElTT0ZTX1NVUEVSX01BR0lDICAgICAweDk2NjAKLSNkZWZpbmUgIEpGRlMyX1NVUEVSX01BR0lDICAgICAweDcyYjYKLSNkZWZpbmUgIEpGU19TVVBFUl9NQUdJQyAgICAgICAweDMxNTM0NjRhCi0jZGVmaW5lICBNSU5JWF9TVVBFUl9NQUdJQyAgICAgMHgxMzdGIC8qIG9yaWcuIG1pbml4ICovCi0jZGVmaW5lICBNSU5JWF9TVVBFUl9NQUdJQzIgICAgMHgxMzhGIC8qIDMwIGNoYXIgbWluaXggKi8KLSNkZWZpbmUgIE1JTklYMl9TVVBFUl9NQUdJQyAgICAweDI0NjggLyogbWluaXggVjIgKi8KLSNkZWZpbmUgIE1JTklYMl9TVVBFUl9NQUdJQzIgICAweDI0NzggLyogbWluaXggVjIsIDMwIGNoYXIgbmFtZXMgKi8KLSNkZWZpbmUgIE1TRE9TX1NVUEVSX01BR0lDICAgICAweDRkNDQKLSNkZWZpbmUgIE5DUF9TVVBFUl9NQUdJQyAgICAgICAweDU2NGMKLSNkZWZpbmUgIE5GU19TVVBFUl9NQUdJQyAgICAgICAweDY5NjkKLSNkZWZpbmUgIE5URlNfU0JfTUFHSUMgICAgICAgICAweDUzNDY1NDRlCi0jZGVmaW5lICBPUEVOUFJPTV9TVVBFUl9NQUdJQyAgMHg5ZmExCi0jZGVmaW5lICBQUk9DX1NVUEVSX01BR0lDICAgICAgMHg5ZmEwCi0jZGVmaW5lICBRTlg0X1NVUEVSX01BR0lDICAgICAgMHgwMDJmCi0jZGVmaW5lICBSRUlTRVJGU19TVVBFUl9NQUdJQyAgMHg1MjY1NDk3MwotI2RlZmluZSAgUk9NRlNfTUFHSUMgICAgICAgICAgIDB4NzI3NQotI2RlZmluZSAgU01CX1NVUEVSX01BR0lDICAgICAgIDB4NTE3QgotI2RlZmluZSAgU1lTVjJfU1VQRVJfTUFHSUMgICAgIDB4MDEyRkY3QjYKLSNkZWZpbmUgIFNZU1Y0X1NVUEVSX01BR0lDICAgICAweDAxMkZGN0I1Ci0jZGVmaW5lICBUTVBGU19NQUdJQyAgICAgICAgICAgMHgwMTAyMTk5NAotI2RlZmluZSAgVURGX1NVUEVSX01BR0lDICAgICAgIDB4MTUwMTMzNDYKLSNkZWZpbmUgIFVGU19NQUdJQyAgICAgICAgICAgICAweDAwMDExOTU0Ci0jZGVmaW5lICBVU0JERVZJQ0VfU1VQRVJfTUFHSUMgMHg5ZmEyCi0jZGVmaW5lICBWWEZTX1NVUEVSX01BR0lDICAgICAgMHhhNTAxRkNGNQotI2RlZmluZSAgWEVOSVhfU1VQRVJfTUFHSUMgICAgIDB4MDEyRkY3QjQKLSNkZWZpbmUgIFhGU19TVVBFUl9NQUdJQyAgICAgICAweDU4NDY1MzQyCi0jZGVmaW5lICBfWElBRlNfU1VQRVJfTUFHSUMgICAgMHgwMTJGRDE2RAorLyogUHVsbCBpbiB0aGUga2VybmVsIG1hZ2ljIG51bWJlcnMuICovCisjaW5jbHVkZSA8bGludXgvbWFnaWMuaD4KKy8qIEFkZCBpbiBvbmVzIHRoYXQgd2UgaGFkIGhpc3RvcmljYWxseSB0aGF0IGFyZW4ndCBpbiB0aGUgdWFwaSBoZWFkZXIuICovCisjZGVmaW5lIEJFRlNfU1VQRVJfTUFHSUMgICAgICAweDQyNDY1MzMxCisjZGVmaW5lIEJGU19NQUdJQyAgICAgICAgICAgICAweDFCQURGQUNFCisjZGVmaW5lIENJRlNfTUFHSUNfTlVNQkVSICAgICAweEZGNTM0RDQyCisjZGVmaW5lIENPSF9TVVBFUl9NQUdJQyAgICAgICAweDAxMkZGN0I3CisjZGVmaW5lIERFVkZTX1NVUEVSX01BR0lDICAgICAweDEzNzMKKyNkZWZpbmUgRVhUX1NVUEVSX01BR0lDICAgICAgIDB4MTM3RAorI2RlZmluZSBFWFQyX09MRF9TVVBFUl9NQUdJQyAgMHhFRjUxCisjZGVmaW5lIEhGU19TVVBFUl9NQUdJQyAgICAgICAweDQyNDQKKyNkZWZpbmUgSkZTX1NVUEVSX01BR0lDICAgICAgIDB4MzE1MzQ2NGEKKyNkZWZpbmUgTlRGU19TQl9NQUdJQyAgICAgICAgIDB4NTM0NjU0NGUKKyNkZWZpbmUgUk9NRlNfTUFHSUMgICAgICAgICAgIDB4NzI3NQorI2RlZmluZSBTWVNWMl9TVVBFUl9NQUdJQyAgICAgMHgwMTJGRjdCNgorI2RlZmluZSBTWVNWNF9TVVBFUl9NQUdJQyAgICAgMHgwMTJGRjdCNQorI2RlZmluZSBVREZfU1VQRVJfTUFHSUMgICAgICAgMHgxNTAxMzM0NgorI2RlZmluZSBVRlNfTUFHSUMgICAgICAgICAgICAgMHgwMDAxMTk1NAorI2RlZmluZSBWWEZTX1NVUEVSX01BR0lDICAgICAgMHhhNTAxRkNGNQorI2RlZmluZSBYRU5JWF9TVVBFUl9NQUdJQyAgICAgMHgwMTJGRjdCNAorI2RlZmluZSBYRlNfU1VQRVJfTUFHSUMgICAgICAgMHg1ODQ2NTM0MgogCiBleHRlcm4gaW50IHN0YXRmcyhjb25zdCBjaGFyKiwgc3RydWN0IHN0YXRmcyopIF9fbm9ubnVsbCgoMSwgMikpOwogZXh0ZXJuIGludCBzdGF0ZnM2NChjb25zdCBjaGFyKiwgc3RydWN0IHN0YXRmczY0KikgX19ub25udWxsKCgxLCAyKSk7CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvc3lzbG9nLmggYi9saWJjL2luY2x1ZGUvc3lzbG9nLmgKaW5kZXggY2JjZWFiMi4uODAwMGYwMyAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3N5c2xvZy5oCisrKyBiL2xpYmMvaW5jbHVkZS9zeXNsb2cuaApAQCAtNDcsNiArNDcsNyBAQAogCiAjZGVmaW5lIExPR19QUklNQVNLIDcKICNkZWZpbmUgTE9HX1BSSSh4KSAoKHgpICYgTE9HX1BSSU1BU0spCisjZGVmaW5lIExPR19NQUtFUFJJKGZhYywgcHJpKSAoKGZhYykgfCAocHJpKSkKIAogLyogRmFjaWxpdGllcyBhcmUgY3VycmVudGx5IGlnbm9yZWQgb24gQW5kcm9pZC4gKi8KICNkZWZpbmUgTE9HX0tFUk4gICAgIDAwMDAKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS90ZXJtaW9zLmggYi9saWJjL2luY2x1ZGUvdGVybWlvcy5oCmluZGV4IGI5Njg1Y2EuLjY4M2ZkZTIgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS90ZXJtaW9zLmgKKysrIGIvbGliYy9pbmNsdWRlL3Rlcm1pb3MuaApAQCAtMzUsNiArMzUsNyBAQAogCiBfX0JFR0lOX0RFQ0xTCiAKKyNpZiBfX0FORFJPSURfQVBJX18gPj0gMjEKIHNwZWVkX3QgY2ZnZXRpc3BlZWQoY29uc3Qgc3RydWN0IHRlcm1pb3MqKTsKIHNwZWVkX3QgY2ZnZXRvc3BlZWQoY29uc3Qgc3RydWN0IHRlcm1pb3MqKTsKIHZvaWQgY2ZtYWtlcmF3KHN0cnVjdCB0ZXJtaW9zKik7CkBAIC00OCw2ICs0OSw5IEBACiBwaWRfdCB0Y2dldHNpZChpbnQpOwogaW50IHRjc2VuZGJyZWFrKGludCwgaW50KTsKIGludCB0Y3NldGF0dHIoaW50LCBpbnQsIGNvbnN0IHN0cnVjdCB0ZXJtaW9zKik7CisjZWxzZQorI2luY2x1ZGUgPGFuZHJvaWQvbGVnYWN5X3Rlcm1pb3NfaW5saW5lcy5oPgorI2VuZGlmCiAKIF9fRU5EX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS90aW1lLmggYi9saWJjL2luY2x1ZGUvdGltZS5oCmluZGV4IDM0YTUzYjIuLjFiMGY2YTEgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS90aW1lLmgKKysrIGIvbGliYy9pbmNsdWRlL3RpbWUuaApAQCAtODUsOCArODUsMTIgQEAKIAogZXh0ZXJuIGNsb2NrX3QgY2xvY2sodm9pZCkgX19MSUJDX0FCSV9QVUJMSUNfXzsKIAotZXh0ZXJuIGludCBjbG9ja19nZXRyZXMoaW50LCBzdHJ1Y3QgdGltZXNwZWMqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOwotZXh0ZXJuIGludCBjbG9ja19nZXR0aW1lKGludCwgc3RydWN0IHRpbWVzcGVjKikgX19MSUJDX0FCSV9QVUJMSUNfXzsKK2V4dGVybiBpbnQgY2xvY2tfZ2V0Y3B1Y2xvY2tpZChwaWRfdCwgY2xvY2tpZF90KikgX19MSUJDX0FCSV9QVUJMSUNfXzsKKworZXh0ZXJuIGludCBjbG9ja19nZXRyZXMoY2xvY2tpZF90LCBzdHJ1Y3QgdGltZXNwZWMqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOworZXh0ZXJuIGludCBjbG9ja19nZXR0aW1lKGNsb2NraWRfdCwgc3RydWN0IHRpbWVzcGVjKikgX19MSUJDX0FCSV9QVUJMSUNfXzsKK2V4dGVybiBpbnQgY2xvY2tfbmFub3NsZWVwKGNsb2NraWRfdCwgaW50LCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMqLCBzdHJ1Y3QgdGltZXNwZWMqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOworZXh0ZXJuIGludCBjbG9ja19zZXR0aW1lKGNsb2NraWRfdCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjKikgX19MSUJDX0FCSV9QVUJMSUNfXzsKIAogZXh0ZXJuIGludCB0aW1lcl9jcmVhdGUoaW50LCBzdHJ1Y3Qgc2lnZXZlbnQqLCB0aW1lcl90KikgX19MSUJDX0FCSV9QVUJMSUNfXzsKIGV4dGVybiBpbnQgdGltZXJfZGVsZXRlKHRpbWVyX3QpIF9fTElCQ19BQklfUFVCTElDX187CmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvdW5pc3RkLmggYi9saWJjL2luY2x1ZGUvdW5pc3RkLmgKaW5kZXggMWJmZGIwZS4uZjBkZTI5ZSAxMDA2NDQKLS0tIGEvbGliYy9pbmNsdWRlL3VuaXN0ZC5oCisrKyBiL2xpYmMvaW5jbHVkZS91bmlzdGQuaApAQCAtMjUsNiArMjUsNyBAQAogICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgKiBTVUNIIERBTUFHRS4KICAqLworCiAjaWZuZGVmIF9VTklTVERfSF8KICNkZWZpbmUgX1VOSVNURF9IXwogCkBAIC0zMywyMCArMzQsNDUgQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CiAjaW5jbHVkZSA8c3lzL3N5c2NvbmYuaD4KLSNpbmNsdWRlIDxwYXRoY29uZi5oPgorCisjaW5jbHVkZSA8bWFjaGluZS9wb3NpeF9saW1pdHMuaD4KIAogX19CRUdJTl9ERUNMUwogCi0vKiBTdGFuZGFyZCBmaWxlIGRlc2NyaXB0b3IgbnVtYmVycy4gKi8KICNkZWZpbmUgU1RESU5fRklMRU5PCTAKICNkZWZpbmUgU1RET1VUX0ZJTEVOTwkxCiAjZGVmaW5lIFNUREVSUl9GSUxFTk8JMgogCi0vKiBWYWx1ZXMgZm9yIHdoZW5jZSBpbiBmc2VlayBhbmQgbHNlZWsgKi8KKyNkZWZpbmUgRl9PSyAwCisjZGVmaW5lIFhfT0sgMQorI2RlZmluZSBXX09LIDIKKyNkZWZpbmUgUl9PSyA0CisKICNkZWZpbmUgU0VFS19TRVQgMAogI2RlZmluZSBTRUVLX0NVUiAxCiAjZGVmaW5lIFNFRUtfRU5EIDIKIAorI2RlZmluZSBfUENfRklMRVNJWkVCSVRTIDAKKyNkZWZpbmUgX1BDX0xJTktfTUFYIDEKKyNkZWZpbmUgX1BDX01BWF9DQU5PTiAyCisjZGVmaW5lIF9QQ19NQVhfSU5QVVQgMworI2RlZmluZSBfUENfTkFNRV9NQVggNAorI2RlZmluZSBfUENfUEFUSF9NQVggNQorI2RlZmluZSBfUENfUElQRV9CVUYgNgorI2RlZmluZSBfUENfMl9TWU1MSU5LUyA3CisjZGVmaW5lIF9QQ19BTExPQ19TSVpFX01JTiA4CisjZGVmaW5lIF9QQ19SRUNfSU5DUl9YRkVSX1NJWkUgOQorI2RlZmluZSBfUENfUkVDX01BWF9YRkVSX1NJWkUgMTAKKyNkZWZpbmUgX1BDX1JFQ19NSU5fWEZFUl9TSVpFIDExCisjZGVmaW5lIF9QQ19SRUNfWEZFUl9BTElHTiAxMgorI2RlZmluZSBfUENfU1lNTElOS19NQVggMTMKKyNkZWZpbmUgX1BDX0NIT1dOX1JFU1RSSUNURUQgMTQKKyNkZWZpbmUgX1BDX05PX1RSVU5DIDE1CisjZGVmaW5lIF9QQ19WRElTQUJMRSAxNgorI2RlZmluZSBfUENfQVNZTkNfSU8gMTcKKyNkZWZpbmUgX1BDX1BSSU9fSU8gMTgKKyNkZWZpbmUgX1BDX1NZTkNfSU8gMTkKKwogZXh0ZXJuIGNoYXIqKiBlbnZpcm9uOwogCiBleHRlcm4gX19ub3JldHVybiB2b2lkIF9leGl0KGludCk7CkBAIC05MCwxNyArMTE2LDkgQEAKIGV4dGVybiBpbnQgZ2V0cmVzdWlkKHVpZF90ICpydWlkLCB1aWRfdCAqZXVpZCwgdWlkX3QgKnN1aWQpOwogZXh0ZXJuIGludCBnZXRyZXNnaWQoZ2lkX3QgKnJnaWQsIGdpZF90ICplZ2lkLCBnaWRfdCAqc2dpZCk7CiBleHRlcm4gY2hhciogZ2V0bG9naW4odm9pZCk7Ci1leHRlcm4gY2hhciogZ2V0dXNlcnNoZWxsKHZvaWQpOwotZXh0ZXJuIHZvaWQgc2V0dXNlcnNoZWxsKHZvaWQpOwotZXh0ZXJuIHZvaWQgZW5kdXNlcnNoZWxsKHZvaWQpOwogCi0KLQotLyogTWFjcm9zIGZvciBhY2Nlc3MoKSAqLwotI2RlZmluZSBSX09LICA0ICAvKiBSZWFkICovCi0jZGVmaW5lIFdfT0sgIDIgIC8qIFdyaXRlICovCi0jZGVmaW5lIFhfT0sgIDEgIC8qIEV4ZWN1dGUgKi8KLSNkZWZpbmUgRl9PSyAgMCAgLyogRXhpc3RlbmNlICovCitleHRlcm4gbG9uZyBmcGF0aGNvbmYoaW50LCBpbnQpOworZXh0ZXJuIGxvbmcgcGF0aGNvbmYoY29uc3QgY2hhciosIGludCk7CiAKIGV4dGVybiBpbnQgYWNjZXNzKGNvbnN0IGNoYXIqLCBpbnQpOwogZXh0ZXJuIGludCBmYWNjZXNzYXQoaW50LCBjb25zdCBjaGFyKiwgaW50LCBpbnQpOwpAQCAtMTEyLDcgKzEzMCw3IEBACiBleHRlcm4gaW50IGZjaGRpcihpbnQpOwogZXh0ZXJuIGludCBybWRpcihjb25zdCBjaGFyICopOwogZXh0ZXJuIGludCBwaXBlKGludCAqKTsKLSNpZmRlZiBfR05VX1NPVVJDRQorI2lmIGRlZmluZWQoX19VU0VfR05VKQogZXh0ZXJuIGludCBwaXBlMihpbnQgKiwgaW50KTsKICNlbmRpZgogZXh0ZXJuIGludCBjaHJvb3QoY29uc3QgY2hhciAqKTsKQEAgLTEyNCwzNCArMTQyLDQwIEBACiBleHRlcm4gaW50IGZjaG93bihpbnQsIHVpZF90LCBnaWRfdCk7CiBleHRlcm4gaW50IGZjaG93bmF0KGludCwgY29uc3QgY2hhciosIHVpZF90LCBnaWRfdCwgaW50KTsKIGV4dGVybiBpbnQgbGNob3duKGNvbnN0IGNoYXIgKiwgdWlkX3QsIGdpZF90KTsKLWV4dGVybiBpbnQgdHJ1bmNhdGUoY29uc3QgY2hhciAqLCBvZmZfdCk7Ci1leHRlcm4gaW50IHRydW5jYXRlNjQoY29uc3QgY2hhciAqLCBvZmY2NF90KTsKIGV4dGVybiBjaGFyICpnZXRjd2QoY2hhciAqLCBzaXplX3QpOwogCiBleHRlcm4gaW50IHN5bmModm9pZCk7CiAKIGV4dGVybiBpbnQgY2xvc2UoaW50KTsKLWV4dGVybiBvZmZfdCBsc2VlayhpbnQsIG9mZl90LCBpbnQpOwotZXh0ZXJuIG9mZjY0X3QgbHNlZWs2NChpbnQsIG9mZjY0X3QsIGludCk7CiAKIGV4dGVybiBzc2l6ZV90IHJlYWQoaW50LCB2b2lkICosIHNpemVfdCk7CiBleHRlcm4gc3NpemVfdCB3cml0ZShpbnQsIGNvbnN0IHZvaWQgKiwgc2l6ZV90KTsKLWV4dGVybiBzc2l6ZV90IHByZWFkKGludCwgdm9pZCAqLCBzaXplX3QsIG9mZl90KTsKLWV4dGVybiBzc2l6ZV90IHByZWFkNjQoaW50LCB2b2lkICosIHNpemVfdCwgb2ZmNjRfdCk7Ci1leHRlcm4gc3NpemVfdCBwd3JpdGUoaW50LCBjb25zdCB2b2lkICosIHNpemVfdCwgb2ZmX3QpOwotZXh0ZXJuIHNzaXplX3QgcHdyaXRlNjQoaW50LCBjb25zdCB2b2lkICosIHNpemVfdCwgb2ZmNjRfdCk7CiAKIGV4dGVybiBpbnQgZHVwKGludCk7CiBleHRlcm4gaW50IGR1cDIoaW50LCBpbnQpOwotI2lmZGVmIF9HTlVfU09VUkNFCiBleHRlcm4gaW50IGR1cDMoaW50LCBpbnQsIGludCk7Ci0jZW5kaWYKIGV4dGVybiBpbnQgZmNudGwoaW50LCBpbnQsIC4uLik7CiBleHRlcm4gaW50IGlvY3RsKGludCwgaW50LCAuLi4pOwotZXh0ZXJuIGludCBmbG9jayhpbnQsIGludCk7CiBleHRlcm4gaW50IGZzeW5jKGludCk7CiBleHRlcm4gaW50IGZkYXRhc3luYyhpbnQpOworCisjaWYgZGVmaW5lZChfX1VTRV9GSUxFX09GRlNFVDY0KQorZXh0ZXJuIGludCB0cnVuY2F0ZShjb25zdCBjaGFyICosIG9mZl90KSBfX1JFTkFNRSh0cnVuY2F0ZTY0KTsKK2V4dGVybiBvZmZfdCBsc2VlayhpbnQsIG9mZl90LCBpbnQpIF9fUkVOQU1FKGxzZWVrNjQpOworZXh0ZXJuIHNzaXplX3QgcHJlYWQoaW50LCB2b2lkICosIHNpemVfdCwgb2ZmX3QpIF9fUkVOQU1FKHByZWFkNjQpOworZXh0ZXJuIHNzaXplX3QgcHdyaXRlKGludCwgY29uc3Qgdm9pZCAqLCBzaXplX3QsIG9mZl90KSBfX1JFTkFNRShwd3JpdGU2NCk7CitleHRlcm4gaW50IGZ0cnVuY2F0ZShpbnQsIG9mZl90KSBfX1JFTkFNRShmdHJ1bmNhdGU2NCk7CisjZWxzZQorZXh0ZXJuIGludCB0cnVuY2F0ZShjb25zdCBjaGFyICosIG9mZl90KTsKK2V4dGVybiBvZmZfdCBsc2VlayhpbnQsIG9mZl90LCBpbnQpOworZXh0ZXJuIHNzaXplX3QgcHJlYWQoaW50LCB2b2lkICosIHNpemVfdCwgb2ZmX3QpOworZXh0ZXJuIHNzaXplX3QgcHdyaXRlKGludCwgY29uc3Qgdm9pZCAqLCBzaXplX3QsIG9mZl90KTsKIGV4dGVybiBpbnQgZnRydW5jYXRlKGludCwgb2ZmX3QpOworI2VuZGlmCitleHRlcm4gaW50IHRydW5jYXRlNjQoY29uc3QgY2hhciAqLCBvZmY2NF90KTsKK2V4dGVybiBvZmY2NF90IGxzZWVrNjQoaW50LCBvZmY2NF90LCBpbnQpOworZXh0ZXJuIHNzaXplX3QgcHJlYWQ2NChpbnQsIHZvaWQgKiwgc2l6ZV90LCBvZmY2NF90KTsKK2V4dGVybiBzc2l6ZV90IHB3cml0ZTY0KGludCwgY29uc3Qgdm9pZCAqLCBzaXplX3QsIG9mZjY0X3QpOwogZXh0ZXJuIGludCBmdHJ1bmNhdGU2NChpbnQsIG9mZjY0X3QpOwogCiBleHRlcm4gaW50IHBhdXNlKHZvaWQpOwpAQCAtMTU5LDcgKzE4Myw4IEBACiBleHRlcm4gdW5zaWduZWQgaW50IHNsZWVwKHVuc2lnbmVkIGludCk7CiBleHRlcm4gaW50IHVzbGVlcCh1c2Vjb25kc190KTsKIAotZXh0ZXJuIGludCBnZXRob3N0bmFtZShjaGFyICosIHNpemVfdCk7CitpbnQgZ2V0aG9zdG5hbWUoY2hhciosIHNpemVfdCk7CitpbnQgc2V0aG9zdG5hbWUoY29uc3QgY2hhciosIHNpemVfdCk7CiAKIGV4dGVybiB2b2lkICpfX2Jyayh2b2lkICopOwogZXh0ZXJuIGludCBicmsodm9pZCAqKTsKQEAgLTE3MCw3ICsxOTUsNyBAQAogZXh0ZXJuIGludCBvcHRpbmQsIG9wdGVyciwgb3B0b3B0OwogCiBleHRlcm4gaW50IGlzYXR0eShpbnQpOwotZXh0ZXJuIGNoYXIqIHR0eW5hbWUoaW50KSBfX3dhcm5hdHRyKCJ0dHluYW1lIGlzIG5vdCB0aHJlYWQtc2FmZTsgdXNlIHR0eW5hbWVfciBpbnN0ZWFkIik7CitleHRlcm4gY2hhciogdHR5bmFtZShpbnQpOwogZXh0ZXJuIGludCB0dHluYW1lX3IoaW50LCBjaGFyKiwgc2l6ZV90KTsKIAogZXh0ZXJuIGludCAgYWNjdChjb25zdCBjaGFyKiAgZmlsZXBhdGgpOwpAQCAtMTc5LDYgKzIwNCw4IEBACiAKIGxvbmcgc3lzY29uZihpbnQpOwogCitsb25nIHN5c2NhbGwobG9uZyBudW1iZXIsIC4uLik7CisKIGV4dGVybiBpbnQgZGFlbW9uKGludCwgaW50KTsKIAogI2lmIGRlZmluZWQoX19hcm1fXykgfHwgKGRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fTFA2NF9fKSkKQEAgLTE5NywxMyArMjI0LDg5IEBACiAgICAgfSB3aGlsZSAoX3JjID09IC0xICYmIGVycm5vID09IEVJTlRSKTsgXAogICAgIF9yYzsgfSkKIAorZXh0ZXJuIHNzaXplX3QgX19wcmVhZF9jaGsoaW50LCB2b2lkKiwgc2l6ZV90LCBvZmZfdCwgc2l6ZV90KTsKK19fZXJyb3JkZWNsKF9fcHJlYWRfZGVzdF9zaXplX2Vycm9yLCAicHJlYWQgY2FsbGVkIHdpdGggc2l6ZSBiaWdnZXIgdGhhbiBkZXN0aW5hdGlvbiIpOworX19lcnJvcmRlY2woX19wcmVhZF9jb3VudF90b29iaWdfZXJyb3IsICJwcmVhZCBjYWxsZWQgd2l0aCBjb3VudCA+IFNTSVpFX01BWCIpOworZXh0ZXJuIHNzaXplX3QgX19wcmVhZF9yZWFsKGludCwgdm9pZCosIHNpemVfdCwgb2ZmX3QpIF9fUkVOQU1FKHByZWFkKTsKKworZXh0ZXJuIHNzaXplX3QgX19wcmVhZDY0X2NoayhpbnQsIHZvaWQqLCBzaXplX3QsIG9mZjY0X3QsIHNpemVfdCk7CitfX2Vycm9yZGVjbChfX3ByZWFkNjRfZGVzdF9zaXplX2Vycm9yLCAicHJlYWQ2NCBjYWxsZWQgd2l0aCBzaXplIGJpZ2dlciB0aGFuIGRlc3RpbmF0aW9uIik7CitfX2Vycm9yZGVjbChfX3ByZWFkNjRfY291bnRfdG9vYmlnX2Vycm9yLCAicHJlYWQ2NCBjYWxsZWQgd2l0aCBjb3VudCA+IFNTSVpFX01BWCIpOworZXh0ZXJuIHNzaXplX3QgX19wcmVhZDY0X3JlYWwoaW50LCB2b2lkKiwgc2l6ZV90LCBvZmY2NF90KSBfX1JFTkFNRShwcmVhZDY0KTsKKwogZXh0ZXJuIHNzaXplX3QgX19yZWFkX2NoayhpbnQsIHZvaWQqLCBzaXplX3QsIHNpemVfdCk7CiBfX2Vycm9yZGVjbChfX3JlYWRfZGVzdF9zaXplX2Vycm9yLCAicmVhZCBjYWxsZWQgd2l0aCBzaXplIGJpZ2dlciB0aGFuIGRlc3RpbmF0aW9uIik7CiBfX2Vycm9yZGVjbChfX3JlYWRfY291bnRfdG9vYmlnX2Vycm9yLCAicmVhZCBjYWxsZWQgd2l0aCBjb3VudCA+IFNTSVpFX01BWCIpOwogZXh0ZXJuIHNzaXplX3QgX19yZWFkX3JlYWwoaW50LCB2b2lkKiwgc2l6ZV90KSBfX1JFTkFNRShyZWFkKTsKIAorZXh0ZXJuIHNzaXplX3QgX19yZWFkbGlua19jaGsoY29uc3QgY2hhciosIGNoYXIqLCBzaXplX3QsIHNpemVfdCk7CitfX2Vycm9yZGVjbChfX3JlYWRsaW5rX2Rlc3Rfc2l6ZV9lcnJvciwgInJlYWRsaW5rIGNhbGxlZCB3aXRoIHNpemUgYmlnZ2VyIHRoYW4gZGVzdGluYXRpb24iKTsKK19fZXJyb3JkZWNsKF9fcmVhZGxpbmtfc2l6ZV90b29iaWdfZXJyb3IsICJyZWFkbGluayBjYWxsZWQgd2l0aCBzaXplID4gU1NJWkVfTUFYIik7CitleHRlcm4gc3NpemVfdCBfX3JlYWRsaW5rX3JlYWwoY29uc3QgY2hhciosIGNoYXIqLCBzaXplX3QpIF9fUkVOQU1FKHJlYWRsaW5rKTsKKworZXh0ZXJuIHNzaXplX3QgX19yZWFkbGlua2F0X2NoayhpbnQgZGlyZmQsIGNvbnN0IGNoYXIqLCBjaGFyKiwgc2l6ZV90LCBzaXplX3QpOworX19lcnJvcmRlY2woX19yZWFkbGlua2F0X2Rlc3Rfc2l6ZV9lcnJvciwgInJlYWRsaW5rYXQgY2FsbGVkIHdpdGggc2l6ZSBiaWdnZXIgdGhhbiBkZXN0aW5hdGlvbiIpOworX19lcnJvcmRlY2woX19yZWFkbGlua2F0X3NpemVfdG9vYmlnX2Vycm9yLCAicmVhZGxpbmthdCBjYWxsZWQgd2l0aCBzaXplID4gU1NJWkVfTUFYIik7CitleHRlcm4gc3NpemVfdCBfX3JlYWRsaW5rYXRfcmVhbChpbnQgZGlyZmQsIGNvbnN0IGNoYXIqLCBjaGFyKiwgc2l6ZV90KSBfX1JFTkFNRShyZWFkbGlua2F0KTsKKwogI2lmIGRlZmluZWQoX19CSU9OSUNfRk9SVElGWSkKIAorI2lmIGRlZmluZWQoX19VU0VfRklMRV9PRkZTRVQ2NCkKKyNkZWZpbmUgX19QUkVBRF9QUkVGSVgoeCkgX19wcmVhZDY0XyAjIyB4CisjZWxzZQorI2RlZmluZSBfX1BSRUFEX1BSRUZJWCh4KSBfX3ByZWFkXyAjIyB4CisjZW5kaWYKKworX19CSU9OSUNfRk9SVElGWV9JTkxJTkUKK3NzaXplX3QgcHJlYWQoaW50IGZkLCB2b2lkKiBidWYsIHNpemVfdCBjb3VudCwgb2ZmX3Qgb2Zmc2V0KSB7CisgICAgc2l6ZV90IGJvcyA9IF9fYm9zMChidWYpOworCisjaWYgIWRlZmluZWQoX19jbGFuZ19fKQorICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkgJiYgKGNvdW50ID4gU1NJWkVfTUFYKSkgeworICAgICAgICBfX1BSRUFEX1BSRUZJWChjb3VudF90b29iaWdfZXJyb3IpKCk7CisgICAgfQorCisgICAgaWYgKGJvcyA9PSBfX0JJT05JQ19GT1JUSUZZX1VOS05PV05fU0laRSkgeworICAgICAgICByZXR1cm4gX19QUkVBRF9QUkVGSVgocmVhbCkoZmQsIGJ1ZiwgY291bnQsIG9mZnNldCk7CisgICAgfQorCisgICAgaWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KSAmJiAoY291bnQgPiBib3MpKSB7CisgICAgICAgIF9fUFJFQURfUFJFRklYKGRlc3Rfc2l6ZV9lcnJvcikoKTsKKyAgICB9CisKKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3AoY291bnQpICYmIChjb3VudCA8PSBib3MpKSB7CisgICAgICAgIHJldHVybiBfX1BSRUFEX1BSRUZJWChyZWFsKShmZCwgYnVmLCBjb3VudCwgb2Zmc2V0KTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiBfX1BSRUFEX1BSRUZJWChjaGspKGZkLCBidWYsIGNvdW50LCBvZmZzZXQsIGJvcyk7Cit9CisKK19fQklPTklDX0ZPUlRJRllfSU5MSU5FCitzc2l6ZV90IHByZWFkNjQoaW50IGZkLCB2b2lkKiBidWYsIHNpemVfdCBjb3VudCwgb2ZmNjRfdCBvZmZzZXQpIHsKKyAgICBzaXplX3QgYm9zID0gX19ib3MwKGJ1Zik7CisKKyNpZiAhZGVmaW5lZChfX2NsYW5nX18pCisgICAgaWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KSAmJiAoY291bnQgPiBTU0laRV9NQVgpKSB7CisgICAgICAgIF9fcHJlYWQ2NF9jb3VudF90b29iaWdfZXJyb3IoKTsKKyAgICB9CisKKyAgICBpZiAoYm9zID09IF9fQklPTklDX0ZPUlRJRllfVU5LTk9XTl9TSVpFKSB7CisgICAgICAgIHJldHVybiBfX3ByZWFkNjRfcmVhbChmZCwgYnVmLCBjb3VudCwgb2Zmc2V0KTsKKyAgICB9CisKKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3AoY291bnQpICYmIChjb3VudCA+IGJvcykpIHsKKyAgICAgICAgX19wcmVhZDY0X2Rlc3Rfc2l6ZV9lcnJvcigpOworICAgIH0KKworICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkgJiYgKGNvdW50IDw9IGJvcykpIHsKKyAgICAgICAgcmV0dXJuIF9fcHJlYWQ2NF9yZWFsKGZkLCBidWYsIGNvdW50LCBvZmZzZXQpOworICAgIH0KKyNlbmRpZgorCisgICAgcmV0dXJuIF9fcHJlYWQ2NF9jaGsoZmQsIGJ1ZiwgY291bnQsIG9mZnNldCwgYm9zKTsKK30KKwogX19CSU9OSUNfRk9SVElGWV9JTkxJTkUKIHNzaXplX3QgcmVhZChpbnQgZmQsIHZvaWQqIGJ1Ziwgc2l6ZV90IGNvdW50KSB7CiAgICAgc2l6ZV90IGJvcyA9IF9fYm9zMChidWYpOwpAQCAtMjI4LDYgKzMzMSw1NyBAQAogCiAgICAgcmV0dXJuIF9fcmVhZF9jaGsoZmQsIGJ1ZiwgY291bnQsIGJvcyk7CiB9CisKK19fQklPTklDX0ZPUlRJRllfSU5MSU5FCitzc2l6ZV90IHJlYWRsaW5rKGNvbnN0IGNoYXIqIHBhdGgsIGNoYXIqIGJ1Ziwgc2l6ZV90IHNpemUpIHsKKyAgICBzaXplX3QgYm9zID0gX19ib3MoYnVmKTsKKworI2lmICFkZWZpbmVkKF9fY2xhbmdfXykKKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3Aoc2l6ZSkgJiYgKHNpemUgPiBTU0laRV9NQVgpKSB7CisgICAgICAgIF9fcmVhZGxpbmtfc2l6ZV90b29iaWdfZXJyb3IoKTsKKyAgICB9CisKKyAgICBpZiAoYm9zID09IF9fQklPTklDX0ZPUlRJRllfVU5LTk9XTl9TSVpFKSB7CisgICAgICAgIHJldHVybiBfX3JlYWRsaW5rX3JlYWwocGF0aCwgYnVmLCBzaXplKTsKKyAgICB9CisKKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3Aoc2l6ZSkgJiYgKHNpemUgPiBib3MpKSB7CisgICAgICAgIF9fcmVhZGxpbmtfZGVzdF9zaXplX2Vycm9yKCk7CisgICAgfQorCisgICAgaWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUpICYmIChzaXplIDw9IGJvcykpIHsKKyAgICAgICAgcmV0dXJuIF9fcmVhZGxpbmtfcmVhbChwYXRoLCBidWYsIHNpemUpOworICAgIH0KKyNlbmRpZgorCisgICAgcmV0dXJuIF9fcmVhZGxpbmtfY2hrKHBhdGgsIGJ1Ziwgc2l6ZSwgYm9zKTsKK30KKworX19CSU9OSUNfRk9SVElGWV9JTkxJTkUKK3NzaXplX3QgcmVhZGxpbmthdChpbnQgZGlyZmQsIGNvbnN0IGNoYXIqIHBhdGgsIGNoYXIqIGJ1Ziwgc2l6ZV90IHNpemUpIHsKKyAgICBzaXplX3QgYm9zID0gX19ib3MoYnVmKTsKKworI2lmICFkZWZpbmVkKF9fY2xhbmdfXykKKyAgICBpZiAoX19idWlsdGluX2NvbnN0YW50X3Aoc2l6ZSkgJiYgKHNpemUgPiBTU0laRV9NQVgpKSB7CisgICAgICAgIF9fcmVhZGxpbmthdF9zaXplX3Rvb2JpZ19lcnJvcigpOworICAgIH0KKworICAgIGlmIChib3MgPT0gX19CSU9OSUNfRk9SVElGWV9VTktOT1dOX1NJWkUpIHsKKyAgICAgICAgcmV0dXJuIF9fcmVhZGxpbmthdF9yZWFsKGRpcmZkLCBwYXRoLCBidWYsIHNpemUpOworICAgIH0KKworICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChzaXplKSAmJiAoc2l6ZSA+IGJvcykpIHsKKyAgICAgICAgX19yZWFkbGlua2F0X2Rlc3Rfc2l6ZV9lcnJvcigpOworICAgIH0KKworICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcChzaXplKSAmJiAoc2l6ZSA8PSBib3MpKSB7CisgICAgICAgIHJldHVybiBfX3JlYWRsaW5rYXRfcmVhbChkaXJmZCwgcGF0aCwgYnVmLCBzaXplKTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiBfX3JlYWRsaW5rYXRfY2hrKGRpcmZkLCBwYXRoLCBidWYsIHNpemUsIGJvcyk7Cit9CisKICNlbmRpZiAvKiBkZWZpbmVkKF9fQklPTklDX0ZPUlRJRlkpICovCiAKIF9fRU5EX0RFQ0xTCmRpZmYgLS1naXQgYS9saWJjL2luY2x1ZGUvdXRtcC5oIGIvbGliYy9pbmNsdWRlL3V0bXAuaAppbmRleCBkNzY0MjI3Li5lYmYyMzcyIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvdXRtcC5oCisrKyBiL2xpYmMvaW5jbHVkZS91dG1wLmgKQEAgLTkxLDYgKzkxLDggQEAKIHZvaWQgc2V0dXRlbnQoKTsKIHN0cnVjdCB1dG1wKiBnZXR1dGVudCgpOwogCitpbnQgbG9naW5fdHR5KGludCk7CisKIF9fRU5EX0RFQ0xTCiAKICNlbmRpZiAvKiBfVVRNUF9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3djaGFyLmggYi9saWJjL2luY2x1ZGUvd2NoYXIuaAppbmRleCBlMGU1YzgyLi5lYTZhY2EwIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvd2NoYXIuaAorKysgYi9saWJjL2luY2x1ZGUvd2NoYXIuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgPHN0ZGRlZi5oPgogI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx4bG9jYWxlLmg+CiAKICNpbmNsdWRlIDxtYWNoaW5lL3djaGFyX2xpbWl0cy5oPgogCkBAIC0xMTAsOCArMTExLDExIEBACiBleHRlcm4gaW50IHZzd3NjYW5mKGNvbnN0IHdjaGFyX3QqLCBjb25zdCB3Y2hhcl90KiwgdmFfbGlzdCk7CiBleHRlcm4gaW50IHZ3cHJpbnRmKGNvbnN0IHdjaGFyX3QqLCB2YV9saXN0KTsKIGV4dGVybiBpbnQgdndzY2FuZihjb25zdCB3Y2hhcl90KiwgdmFfbGlzdCk7CitleHRlcm4gd2NoYXJfdCogd2NwY3B5ICh3Y2hhcl90KiwgY29uc3Qgd2NoYXJfdCAqKTsKK2V4dGVybiB3Y2hhcl90KiB3Y3BuY3B5ICh3Y2hhcl90KiwgY29uc3Qgd2NoYXJfdCAqLCBzaXplX3QpOwogZXh0ZXJuIHNpemVfdCAgICAgICAgICAgIHdjcnRvbWIoY2hhciAqLCB3Y2hhcl90LCBtYnN0YXRlX3QgKik7CiBleHRlcm4gaW50ICAgICAgICAgICAgICAgd2NzY2FzZWNtcChjb25zdCB3Y2hhcl90ICosIGNvbnN0IHdjaGFyX3QgKik7CitleHRlcm4gaW50ICAgICAgICAgICAgICAgd2NzY2FzZWNtcF9sKGNvbnN0IHdjaGFyX3QgKiwgY29uc3Qgd2NoYXJfdCAqLCBsb2NhbGVfdCk7CiBleHRlcm4gd2NoYXJfdCAgICAgICAgICAqd2NzY2F0KHdjaGFyX3QgKiwgY29uc3Qgd2NoYXJfdCAqKTsKIGV4dGVybiB3Y2hhcl90ICAgICAgICAgICp3Y3NjaHIoY29uc3Qgd2NoYXJfdCAqLCB3Y2hhcl90KTsKIGV4dGVybiBpbnQgICAgICAgICAgICAgICB3Y3NjbXAoY29uc3Qgd2NoYXJfdCAqLCBjb25zdCB3Y2hhcl90ICopOwpAQCAtMTIxLDYgKzEyNSw3IEBACiBleHRlcm4gc2l6ZV90ICAgICAgICAgICAgd2NzZnRpbWUod2NoYXJfdCAqLCBzaXplX3QsIGNvbnN0IHdjaGFyX3QgKiwgY29uc3Qgc3RydWN0IHRtICopIF9fTElCQ19BQklfUFVCTElDX187CiBleHRlcm4gc2l6ZV90ICAgICAgICAgICAgd2NzbGVuKGNvbnN0IHdjaGFyX3QgKik7CiBleHRlcm4gaW50ICAgICAgICAgICAgICAgd2NzbmNhc2VjbXAoY29uc3Qgd2NoYXJfdCAqLCBjb25zdCB3Y2hhcl90ICosIHNpemVfdCk7CitleHRlcm4gaW50ICAgICAgICAgICAgICAgd2NzbmNhc2VjbXBfbChjb25zdCB3Y2hhcl90ICosIGNvbnN0IHdjaGFyX3QgKiwgc2l6ZV90LCBsb2NhbGVfdCk7CiBleHRlcm4gd2NoYXJfdCAgICAgICAgICAqd2NzbmNhdCh3Y2hhcl90ICosIGNvbnN0IHdjaGFyX3QgKiwgc2l6ZV90KTsKIGV4dGVybiBpbnQgICAgICAgICAgICAgICB3Y3NuY21wKGNvbnN0IHdjaGFyX3QgKiwgY29uc3Qgd2NoYXJfdCAqLCBzaXplX3QpOwogZXh0ZXJuIHdjaGFyX3QgICAgICAgICAgKndjc25jcHkod2NoYXJfdCAqLCBjb25zdCB3Y2hhcl90ICosIHNpemVfdCk7CkBAIC0xNDYsNiArMTUxLDkgQEAKIGV4dGVybiB3Y2hhcl90ICAgICAgICAgICp3bWVtY2hyKGNvbnN0IHdjaGFyX3QgKiwgd2NoYXJfdCwgc2l6ZV90KTsKIGV4dGVybiBpbnQgICAgICAgICAgICAgICB3bWVtY21wKGNvbnN0IHdjaGFyX3QgKiwgY29uc3Qgd2NoYXJfdCAqLCBzaXplX3QpOwogZXh0ZXJuIHdjaGFyX3QgICAgICAgICAgKndtZW1jcHkod2NoYXJfdCAqLCBjb25zdCB3Y2hhcl90ICosIHNpemVfdCk7CisjaWYgZGVmaW5lZChfX1VTRV9HTlUpCitleHRlcm4gd2NoYXJfdCAgICAgICAgICAqd21lbXBjcHkod2NoYXJfdCAqLCBjb25zdCB3Y2hhcl90ICosIHNpemVfdCk7CisjZW5kaWYKIGV4dGVybiB3Y2hhcl90ICAgICAgICAgICp3bWVtbW92ZSh3Y2hhcl90ICosIGNvbnN0IHdjaGFyX3QgKiwgc2l6ZV90KTsKIGV4dGVybiB3Y2hhcl90ICAgICAgICAgICp3bWVtc2V0KHdjaGFyX3QgKiwgd2NoYXJfdCwgc2l6ZV90KTsKIGV4dGVybiBpbnQgICAgICAgICAgICAgICB3cHJpbnRmKGNvbnN0IHdjaGFyX3QgKiwgLi4uKTsKQEAgLTE2Niw2ICsxNzQsNyBAQAogZXh0ZXJuIHdjdHJhbnNfdCB3Y3RyYW5zKGNvbnN0IGNoYXIqKTsKIAogI2lmIF9fUE9TSVhfVklTSUJMRSA+PSAyMDA4MDkKK0ZJTEUqIG9wZW5fd21lbXN0cmVhbSh3Y2hhcl90KiosIHNpemVfdCopOwogd2NoYXJfdCogd2NzZHVwKGNvbnN0IHdjaGFyX3QqKTsKIHNpemVfdCB3Y3NubGVuKGNvbnN0IHdjaGFyX3QqLCBzaXplX3QpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC90b29scy9jbGVhbl9oZWFkZXIucHkgYi9saWJjL2tlcm5lbC90b29scy9jbGVhbl9oZWFkZXIucHkKaW5kZXggNjYwMTgxNy4uMGUwZWQ3NiAxMDA3NTUKLS0tIGEvbGliYy9rZXJuZWwvdG9vbHMvY2xlYW5faGVhZGVyLnB5CisrKyBiL2xpYmMva2VybmVsL3Rvb2xzL2NsZWFuX2hlYWRlci5weQpAQCAtNjAsMTIgKzYwLDcgQEAKICMgICB1c2luZyB0aGVtIGFueXdheS4KICMKICMKLSMgMy4gV2hpdGVzcGFjZSBjbGVhbnVwOgotIwotIyAgIFRoZSBmaW5hbCBwYXNzIHJlbW92ZXMgYW55IGNvbW1lbnRzIGFuZCBlbXB0eSBsaW5lcyBmcm9tIHRoZSBmaW5hbCBoZWFkZXJzLgotIwotIwotIyA0LiBBZGQgYSBzdGFuZGFyZCBkaXNjbGFpbWVyOgorIyAzLiBBZGQgYSBzdGFuZGFyZCBkaXNjbGFpbWVyOgogIwogIyAgIFRoZSBtZXNzYWdlOgogIwpAQCAtMTQxLDggKzEzNiw5IEBACiAKICAgICAjIG5vdywgbGV0J3MgcGFyc2UgdGhlIGZpbGUKICAgICAjCi0gICAgYmxvY2tzID0gY3BwLkJsb2NrUGFyc2VyKCkucGFyc2VGaWxlKHBhdGgpCi0gICAgaWYgbm90IGJsb2NrczoKKyAgICBwYXJzZXIgPSBjcHAuQmxvY2tQYXJzZXIoKQorICAgIGJsb2NrcyA9IHBhcnNlci5wYXJzZUZpbGUocGF0aCkKKyAgICBpZiBub3QgcGFyc2VyLnBhcnNlZDoKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiBjYW4ndCBwYXJzZSAnJXMnIiAlIHBhdGggKQogICAgICAgICBzeXMuZXhpdCgxKQogCkBAIC0xNTcsOSArMTUzLDcgQEAKICAgICBibG9ja3Mub3B0aW1pemVJZjAxKCkKICAgICBibG9ja3MucmVtb3ZlVmFyc0FuZEZ1bmNzKCBzdGF0aWNzICkKICAgICBibG9ja3MucmVwbGFjZVRva2Vucygga2VybmVsX3Rva2VuX3JlcGxhY2VtZW50cyApCi0gICAgYmxvY2tzLnJlbW92ZUNvbW1lbnRzKCkKICAgICBibG9ja3MucmVtb3ZlTWFjcm9EZWZpbmVzKCBrZXJuZWxfaWdub3JlZF9tYWNyb3MgKQotICAgIGJsb2Nrcy5yZW1vdmVXaGl0ZVNwYWNlKCkKIAogICAgIG91dCA9IFN0cmluZ091dHB1dCgpCiAgICAgb3V0LndyaXRlKCBrZXJuZWxfZGlzY2xhaW1lciApCkBAIC0xOTksOCArMTkzLDcgQEAKICAgICAgICAgaWYgb3B0ID09ICctdSc6CiAgICAgICAgICAgICBub1VwZGF0ZSA9IDAKICAgICAgICAgZWxpZiBvcHQgPT0gJy12JzoKLSAgICAgICAgICAgIHZlcmJvc2UgPSAxCi0gICAgICAgICAgICBEX3NldGxldmVsKDEpCisgICAgICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcpCiAgICAgICAgIGVsaWYgb3B0ID09ICctayc6CiAgICAgICAgICAgICBrZXJuZWxfb3JpZ2luYWxfcGF0aCA9IGFyZwogICAgICAgICBlbGlmIG9wdCA9PSAnLWQnOgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdG9vbHMvY3BwLnB5IGIvbGliYy9rZXJuZWwvdG9vbHMvY3BwLnB5CmluZGV4IDJiZTk1MzIuLjEwY2UyOTAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3Rvb2xzL2NwcC5weQorKysgYi9saWJjL2tlcm5lbC90b29scy9jcHAucHkKQEAgLTEsNTYwICsxLDQwMyBAQAotIyBhIGdsb3JpZmllZCBDIHByZS1wcm9jZXNzb3IgcGFyc2VyCisjIS91c3IvYmluL3B5dGhvbgorIiIiQSBnbG9yaWZpZWQgQyBwcmUtcHJvY2Vzc29yIHBhcnNlci4iIiIKIAotaW1wb3J0IHN5cywgcmUsIHN0cmluZwotZnJvbSB1dGlscyBpbXBvcnQgKgotZnJvbSBkZWZhdWx0cyBpbXBvcnQgKgoraW1wb3J0IGN0eXBlcworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc2l0ZQoraW1wb3J0IHV0aWxzCiAKLWRlYnVnVG9rZW5zICAgICAgICAgICAgID0gRmFsc2UKLWRlYnVnRGlyZWN0aXZlVG9rZW5pemVyID0gRmFsc2UKLWRlYnVnTGluZVBhcnNpbmcgICAgICAgID0gRmFsc2UKLWRlYnVnQ3BwRXhwciAgICAgICAgICAgID0gRmFsc2UKLWRlYnVnT3B0aW1JZjAxICAgICAgICAgID0gRmFsc2UKK3RvcCA9IG9zLmdldGVudignQU5EUk9JRF9CVUlMRF9UT1AnKQoraWYgdG9wIGlzIE5vbmU6CisgICAgdXRpbHMucGFuaWMoJ0FORFJPSURfQlVJTERfVE9QIG5vdCBzZXQuXG4nKQogCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCi0jIyMjIyAgICAgICAgICAgQyBQIFAgICBUIE8gSyBFIE4gUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCi0jIyMjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNldCB1cCB0aGUgZW52IHZhcnMgZm9yIGxpYmNsYW5nLgorc2l0ZS5hZGRzaXRlZGlyKG9zLnBhdGguam9pbih0b3AsICdleHRlcm5hbC9jbGFuZy9iaW5kaW5ncy9weXRob24nKSkKKworaW1wb3J0IGNsYW5nLmNpbmRleAorZnJvbSBjbGFuZy5jaW5kZXggaW1wb3J0IGNvbmYKK2Zyb20gY2xhbmcuY2luZGV4IGltcG9ydCBDdXJzb3IKK2Zyb20gY2xhbmcuY2luZGV4IGltcG9ydCBDdXJzb3JLaW5kCitmcm9tIGNsYW5nLmNpbmRleCBpbXBvcnQgU291cmNlTG9jYXRpb24KK2Zyb20gY2xhbmcuY2luZGV4IGltcG9ydCBTb3VyY2VSYW5nZQorZnJvbSBjbGFuZy5jaW5kZXggaW1wb3J0IFRva2VuR3JvdXAKK2Zyb20gY2xhbmcuY2luZGV4IGltcG9ydCBUb2tlbktpbmQKK2Zyb20gY2xhbmcuY2luZGV4IGltcG9ydCBUcmFuc2xhdGlvblVuaXQKKworIyBTZXQgdXAgTERfTElCUkFSWV9QQVRIIHRvIGluY2x1ZGUgbGliY2xhbmcuc28sIGxpYkxMVk0uc28sIGFuZCBldGMuCisjIE5vdGUgdGhhdCBzZXR0aW5nIExEX0xJQlJBUllfUEFUSCB3aXRoIG9zLnB1dGVudigpIHNvbWV0aW1lcyBkb2Vzbid0IGhlbHAuCitjbGFuZy5jaW5kZXguQ29uZmlnLnNldF9saWJyYXJ5X3BhdGgob3MucGF0aC5qb2luKHRvcCwgJ3ByZWJ1aWx0cy9zZGsvdG9vbHMvbGludXgvbGliNjQnKSkKKworZnJvbSBkZWZhdWx0cyBpbXBvcnQga0NwcFVuZGVmaW5lZE1hY3JvCitmcm9tIGRlZmF1bHRzIGltcG9ydCBrZXJuZWxfcmVtb3ZlX2NvbmZpZ19tYWNyb3MKK2Zyb20gZGVmYXVsdHMgaW1wb3J0IGtlcm5lbF90b2tlbl9yZXBsYWNlbWVudHMKKworCitkZWJ1Z0Jsb2NrUGFyc2VyID0gRmFsc2UKK2RlYnVnQ3BwRXhwciA9IEZhbHNlCitkZWJ1Z09wdGltSWYwMSA9IEZhbHNlCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjICAgICAgICAgICBDIFAgUCAgIFQgTyBLIEUgTiBTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAogIyB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgQy1wcmVwcm9jZXNzb3IgdG9rZW5zCiAjIHBsdXMgYSBjb3VwbGUgb2YgQyB0b2tlbnMgYXMgd2VsbAotdG9rRU9GICAgICAgID0gIlwwIgotdG9rTE4gICAgICAgID0gIlxuIgordG9rRU9GID0gIlwwIgordG9rTE4gPSAiXG4iCiB0b2tTVFJJTkdJRlkgPSAiIyIKLXRva0NPTkNBVCAgICA9ICIjIyIKLXRva0xPR0lDQU5EICA9ICImJiIKLXRva0xPR0lDT1IgICA9ICJ8fCIKLXRva1NITCAgICAgICA9ICI8PCIKLXRva1NIUiAgICAgICA9ICI+PiIKLXRva0VRVUFMICAgICA9ICI9PSIKLXRva05FUVVBTCAgICA9ICIhPSIKLXRva0xUICAgICAgICA9ICI8IgotdG9rTFRFICAgICAgID0gIjw9IgotdG9rR1QgICAgICAgID0gIj4iCi10b2tHVEUgICAgICAgPSAiPj0iCi10b2tFTExJUFNJUyAgPSAiLi4uIgotdG9rU1BBQ0UgICAgID0gIiAiCi10b2tERUZJTkVEICAgPSAiZGVmaW5lZCIKLXRva0xQQVJFTiAgICA9ICIoIgotdG9rUlBBUkVOICAgID0gIikiCi10b2tOT1QgICAgICAgPSAiISIKLXRva1BMVVMgICAgICA9ICIrIgotdG9rTUlOVVMgICAgID0gIi0iCi10b2tNVUxUSVBMWSAgPSAiKiIKLXRva0RJVklERSAgICA9ICIvIgotdG9rTU9EVUxVUyAgID0gIiUiCi10b2tCSU5BTkQgICAgPSAiJiIKLXRva0JJTk9SICAgICA9ICJ8IgotdG9rQklOWE9SICAgID0gIl4iCi10b2tDT01NQSAgICAgPSAiLCIKLXRva0xCUkFDRSAgICA9ICJ7IgotdG9rUkJSQUNFICAgID0gIn0iCi10b2tBUlJPVyAgICAgPSAiLT4iCit0b2tDT05DQVQgPSAiIyMiCit0b2tMT0dJQ0FORCA9ICImJiIKK3Rva0xPR0lDT1IgPSAifHwiCit0b2tTSEwgPSAiPDwiCit0b2tTSFIgPSAiPj4iCit0b2tFUVVBTCA9ICI9PSIKK3Rva05FUVVBTCA9ICIhPSIKK3Rva0xUID0gIjwiCit0b2tMVEUgPSAiPD0iCit0b2tHVCA9ICI+IgordG9rR1RFID0gIj49IgordG9rRUxMSVBTSVMgPSAiLi4uIgordG9rU1BBQ0UgPSAiICIKK3Rva0RFRklORUQgPSAiZGVmaW5lZCIKK3Rva0xQQVJFTiA9ICIoIgordG9rUlBBUkVOID0gIikiCit0b2tOT1QgPSAiISIKK3Rva1BMVVMgPSAiKyIKK3Rva01JTlVTID0gIi0iCit0b2tNVUxUSVBMWSA9ICIqIgordG9rRElWSURFID0gIi8iCit0b2tNT0RVTFVTID0gIiUiCit0b2tCSU5BTkQgPSAiJiIKK3Rva0JJTk9SID0gInwiCit0b2tCSU5YT1IgPSAiXiIKK3Rva0NPTU1BID0gIiwiCit0b2tMQlJBQ0UgPSAieyIKK3Rva1JCUkFDRSA9ICJ9IgordG9rQVJST1cgPSAiLT4iCiB0b2tJTkNSRU1FTlQgPSAiKysiCiB0b2tERUNSRU1FTlQgPSAiLS0iCi10b2tOVU1CRVIgICAgPSAiPG51bWJlcj4iCi10b2tJREVOVCAgICAgPSAiPGlkZW50PiIKLXRva1NUUklORyAgICA9ICI8c3RyaW5nPiIKK3Rva05VTUJFUiA9ICI8bnVtYmVyPiIKK3Rva0lERU5UID0gIjxpZGVudD4iCit0b2tTVFJJTkcgPSAiPHN0cmluZz4iCiAKLWNsYXNzIFRva2VuOgotICAgICIiImEgc2ltcGxlIGNsYXNzIHRvIGhvbGQgaW5mb3JtYXRpb24gYWJvdXQgYSBnaXZlbiB0b2tlbi4KLSAgICAgICBlYWNoIHRva2VuIGhhcyBhIHBvc2l0aW9uIGluIHRoZSBzb3VyY2UgY29kZSwgYXMgd2VsbCBhcwotICAgICAgIGFuICdpZCcgYW5kIGEgJ3ZhbHVlJy4gdGhlIGlkIGlzIGEgc3RyaW5nIHRoYXQgaWRlbnRpZmllcwotICAgICAgIHRoZSB0b2tlbidzIGNsYXNzLCB3aGlsZSB0aGUgdmFsdWUgaXMgdGhlIHN0cmluZyBvZiB0aGUKLSAgICAgICBvcmlnaW5hbCB0b2tlbiBpdHNlbGYuCiAKLSAgICAgICBmb3IgZXhhbXBsZSwgdGhlIHRva2VuaXplciBjb25jYXRlbmF0ZXMgYSBzZXJpZXMgb2Ygc3BhY2VzCi0gICAgICAgYW5kIHRhYnMgYXMgYSBzaW5nbGUgdG9rU1BBQ0UgaWQsIHdob3NlIHZhbHVlIGlmIHRoZSBvcmlnaW5hbAotICAgICAgIHNwYWNlcyt0YWJzIHNlcXVlbmNlLiIiIgorY2xhc3MgVG9rZW4oY2xhbmcuY2luZGV4LlRva2VuKToKKyAgICAiIiJBIGNsYXNzIHRoYXQgcmVwcmVzZW50cyBvbmUgdG9rZW4gYWZ0ZXIgcGFyc2luZy4KIAotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc2VsZi5pZCAgICAgPSBOb25lCi0gICAgICAgIHNlbGYudmFsdWUgID0gTm9uZQotICAgICAgICBzZWxmLmxpbmVubyA9IDAKLSAgICAgICAgc2VsZi5jb2xubyAgPSAwCisgICAgSXQgaW5oZXJpdHMgdGhlIGNsYXNzIGluIGxpYmNsYW5nLCB3aXRoIGFuIGV4dHJhIGlkIHByb3BlcnR5IHRvIGhvbGQgdGhlCisgICAgbmV3IHNwZWxsaW5nIG9mIHRoZSB0b2tlbi4gVGhlIHNwZWxsaW5nIHByb3BlcnR5IGluIHRoZSBiYXNlIGNsYXNzIGlzCisgICAgZGVmaW5lZCBhcyByZWFkLW9ubHkuIE5ldyBuYW1lcyBhZnRlciBtYWNybyBpbnN0YW50aWF0aW9uIGFyZSBzYXZlZCBpbgorICAgIHRoZWlyIGlkcyBub3cuIEl0IGFsc28gZmFjaWxpdGF0ZXMgdGhlIHJlbmFtaW5nIG9mIGRpcmVjdGl2ZSBvcHRpbWl6YXRpb25zCisgICAgbGlrZSByZXBsYWNpbmcgJ2lmbmRlZiBYJyB3aXRoICdpZiAhZGVmaW5lZChYKScuCiAKLSAgICBkZWYgc2V0KHNlbGYsaWQsdmFsPU5vbmUpOgotICAgICAgICBzZWxmLmlkID0gaWQKLSAgICAgICAgaWYgdmFsOgotICAgICAgICAgICAgc2VsZi52YWx1ZSA9IHZhbAorICAgIEl0IGFsc28gb3ZlcnJpZGVzIHRoZSBjdXJzb3IgcHJvcGVydHkgb2YgdGhlIGJhc2UgY2xhc3MuIEJlY2F1c2UgdGhlIG9uZQorICAgIGluIGxpYmNsYW5nIGFsd2F5cyBxdWVyaWVzIGJhc2VkIG9uIGEgc2luZ2xlIHRva2VuLCB3aGljaCB1c3VhbGx5IGRvZXNuJ3QKKyAgICBob2xkIHVzZWZ1bCBpbmZvcm1hdGlvbi4gVGhlIGN1cnNvciBpbiB0aGlzIGNsYXNzIGNhbiBiZSBzZXQgYnkgY2FsbGluZworICAgIENwcFRva2VuaXplci5nZXRUb2tlbnNXaXRoQ3Vyc29ycygpLiBPdGhlcndpc2UgaXQgcmV0dXJucyB0aGUgb25lIGluIHRoZQorICAgIGJhc2UgY2xhc3MuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdHU9Tm9uZSwgZ3JvdXA9Tm9uZSwgaW50X2RhdGE9Tm9uZSwgcHRyX2RhdGE9Tm9uZSwKKyAgICAgICAgICAgICAgICAgY3Vyc29yPU5vbmUpOgorICAgICAgICBjbGFuZy5jaW5kZXguVG9rZW4uX19pbml0X18oc2VsZikKKyAgICAgICAgc2VsZi5faWQgPSBOb25lCisgICAgICAgIHNlbGYuX3R1ID0gdHUKKyAgICAgICAgc2VsZi5fZ3JvdXAgPSBncm91cAorICAgICAgICBzZWxmLl9jdXJzb3IgPSBjdXJzb3IKKyAgICAgICAgIyBzZWxmLmludF9kYXRhIGFuZCBzZWxmLnB0cl9kYXRhIGFyZSBmcm9tIHRoZSBiYXNlIGNsYXNzLiBCdXQKKyAgICAgICAgIyBzZWxmLmludF9kYXRhIGRvZXNuJ3QgYWNjZXB0IGEgTm9uZSB2YWx1ZS4KKyAgICAgICAgaWYgaW50X2RhdGEgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmludF9kYXRhID0gaW50X2RhdGEKKyAgICAgICAgc2VsZi5wdHJfZGF0YSA9IHB0cl9kYXRhCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaWQoc2VsZik6CisgICAgICAgICIiIk5hbWUgb2YgdGhlIHRva2VuLiIiIgorICAgICAgICBpZiBzZWxmLl9pZCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuc3BlbGxpbmcKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYudmFsdWUgPSBpZAotICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2lkCiAKLSAgICBkZWYgY29weUZyb20oc2VsZixzcmMpOgotICAgICAgICBzZWxmLmlkICAgICA9IHNyYy5pZAotICAgICAgICBzZWxmLnZhbHVlICA9IHNyYy52YWx1ZQotICAgICAgICBzZWxmLmxpbmVubyA9IHNyYy5saW5lbm8KLSAgICAgICAgc2VsZi5jb2xubyAgPSBzcmMuY29sbm8KKyAgICBAaWQuc2V0dGVyCisgICAgZGVmIGlkKHNlbGYsIG5ld19pZCk6CisgICAgICAgICIiIlNldHRpbmcgbmFtZSBvZiB0aGUgdG9rZW4uIiIiCisgICAgICAgIHNlbGYuX2lkID0gbmV3X2lkCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgY3Vyc29yKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9jdXJzb3IgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2N1cnNvciA9IGNsYW5nLmNpbmRleC5Ub2tlbi5jdXJzb3IKKyAgICAgICAgcmV0dXJuIHNlbGYuX2N1cnNvcgorCisgICAgQGN1cnNvci5zZXR0ZXIKKyAgICBkZWYgY3Vyc29yKHNlbGYsIG5ld19jdXJzb3IpOgorICAgICAgICBzZWxmLl9jdXJzb3IgPSBuZXdfY3Vyc29yCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuaWQgPT0gdG9rSURFTlQ6Ci0gICAgICAgICAgICByZXR1cm4gIihpZGVudCAlcykiICUgc2VsZi52YWx1ZQotICAgICAgICBpZiBzZWxmLmlkID09IHRva05VTUJFUjoKLSAgICAgICAgICAgIHJldHVybiAiKG51bWJlciAlcykiICUgc2VsZi52YWx1ZQotICAgICAgICBpZiBzZWxmLmlkID09IHRva1NUUklORzoKLSAgICAgICAgICAgIHJldHVybiAiKHN0cmluZyAnJXMnKSIgJSBzZWxmLnZhbHVlCi0gICAgICAgIGlmIHNlbGYuaWQgPT0gdG9rTE46Ci0gICAgICAgICAgICByZXR1cm4gIjxMTj4iCi0gICAgICAgIGlmIHNlbGYuaWQgPT0gdG9rRU9GOgotICAgICAgICAgICAgcmV0dXJuICI8RU9GPiIKLSAgICAgICAgaWYgc2VsZi5pZCA9PSB0b2tTUEFDRSBhbmQgc2VsZi52YWx1ZSA9PSAiXFwiOgotICAgICAgICAgICAgIyB0aGlzIGNvcnJlc3BvbmRzIHRvIGEgdHJhaWxpbmcgXCB0aGF0IHdhcyB0cmFuc2Zvcm1lZCBpbnRvIGEgdG9rU1BBQ0UKLSAgICAgICAgICAgIHJldHVybiAiPFxcPiIKKyAgICAgICAgaWYgc2VsZi5pZCA9PSAnZGVmaW5lZCc6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5pZAorICAgICAgICBlbGlmIHNlbGYua2luZCA9PSBUb2tlbktpbmQuSURFTlRJRklFUjoKKyAgICAgICAgICAgIHJldHVybiAiKGlkZW50ICVzKSIgJSBzZWxmLmlkCiAKICAgICAgICAgcmV0dXJuIHNlbGYuaWQKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICBpZiBzZWxmLmlkID09IHRva0lERU5UOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLSAgICAgICAgaWYgc2VsZi5pZCA9PSB0b2tOVU1CRVI6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi52YWx1ZQotICAgICAgICBpZiBzZWxmLmlkID09IHRva1NUUklORzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCi0gICAgICAgIGlmIHNlbGYuaWQgPT0gdG9rRU9GOgotICAgICAgICAgICAgcmV0dXJuICI8RU9GPiIKLSAgICAgICAgaWYgc2VsZi5pZCA9PSB0b2tTUEFDRToKLSAgICAgICAgICAgIGlmIHNlbGYudmFsdWUgPT0gIlxcIjogICMgdHJhaWxpbmcgXAotICAgICAgICAgICAgICAgIHJldHVybiAiXFxcbiIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLQogICAgICAgICByZXR1cm4gc2VsZi5pZAogCisKIGNsYXNzIEJhZEV4cGVjdGVkVG9rZW4oRXhjZXB0aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZixtc2cpOgotICAgICAgICBwcmludCBtc2cKKyAgICAiIiJBbiBleGNlcHRpb24gdGhhdCB3aWxsIGJlIHJhaXNlZCBmb3IgdW5leHBlY3RlZCB0b2tlbnMuIiIiCisgICAgcGFzcwogCiAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKLSMjIyMjICAgICAgICAgICBDIFAgUCAgIFQgTyBLIEUgTiBJIFogRSBSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKLSMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGhlIF9fY29udGFpbnNfXyBmdW5jdGlvbiBpbiBsaWJjbGFuZyBTb3VyY2VSYW5nZSBjbGFzcyBjb250YWlucyBhIGJ1Zy4gSXQKKyMgZ2l2ZXMgd3JvbmcgcmVzdWx0IHdoZW4gZGVhbGluZyB3aXRoIHNpbmdsZSBsaW5lIHJhbmdlLgorIyBCdWcgZmlsZWQgd2l0aCB1cHN0cmVhbToKKyMgaHR0cDovL2xsdm0ub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTIyMjQzLCBodHRwOi8vcmV2aWV3cy5sbHZtLm9yZy9ENzI3NworZGVmIFNvdXJjZVJhbmdlX19jb250YWluc19fKHNlbGYsIG90aGVyKToKKyAgICAiIiJEZXRlcm1pbmUgaWYgYSBnaXZlbiBsb2NhdGlvbiBpcyBpbnNpZGUgdGhlIHJhbmdlLiIiIgorICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBTb3VyY2VMb2NhdGlvbik6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIGlmIG90aGVyLmZpbGUgaXMgTm9uZSBhbmQgc2VsZi5zdGFydC5maWxlIGlzIE5vbmU6CisgICAgICAgIHBhc3MKKyAgICBlbGlmIChzZWxmLnN0YXJ0LmZpbGUubmFtZSAhPSBvdGhlci5maWxlLm5hbWUgb3IKKyAgICAgICAgICBvdGhlci5maWxlLm5hbWUgIT0gc2VsZi5lbmQuZmlsZS5uYW1lKToKKyAgICAgICAgIyBzYW1lIGZpbGUgbmFtZQorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAjIHNhbWUgZmlsZSwgaW4gYmV0d2VlbiBsaW5lcworICAgIGlmIHNlbGYuc3RhcnQubGluZSA8IG90aGVyLmxpbmUgPCBzZWxmLmVuZC5saW5lOgorICAgICAgICByZXR1cm4gVHJ1ZQorICAgICMgc2FtZSBmaWxlLCBzYW1lIGxpbmUKKyAgICBlbGlmIHNlbGYuc3RhcnQubGluZSA9PSBvdGhlci5saW5lID09IHNlbGYuZW5kLmxpbmU6CisgICAgICAgIGlmIHNlbGYuc3RhcnQuY29sdW1uIDw9IG90aGVyLmNvbHVtbiA8PSBzZWxmLmVuZC5jb2x1bW46CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgIGVsaWYgc2VsZi5zdGFydC5saW5lID09IG90aGVyLmxpbmU6CisgICAgICAgICMgc2FtZSBmaWxlIGZpcnN0IGxpbmUKKyAgICAgICAgaWYgc2VsZi5zdGFydC5jb2x1bW4gPD0gb3RoZXIuY29sdW1uOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICBlbGlmIG90aGVyLmxpbmUgPT0gc2VsZi5lbmQubGluZToKKyAgICAgICAgIyBzYW1lIGZpbGUgbGFzdCBsaW5lCisgICAgICAgIGlmIG90aGVyLmNvbHVtbiA8PSBzZWxmLmVuZC5jb2x1bW46CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgIHJldHVybiBGYWxzZQogCi0jIGxpc3Qgb2YgbG9uZyBzeW1ib2xzLCBpLmUuIHRob3NlIHRoYXQgdGFrZSBtb3JlIHRoYW4gb25lIGNoYXJhY3RlcnMKLWNwcExvbmdTeW1ib2xzID0gWyB0b2tDT05DQVQsIHRva0xPR0lDQU5ELCB0b2tMT0dJQ09SLCB0b2tTSEwsIHRva1NIUiwgdG9rRUxMSVBTSVMsIHRva0VRVUFMLFwKLSAgICAgICAgICAgICAgICAgICB0b2tORVFVQUwsIHRva0xURSwgdG9rR1RFLCB0b2tBUlJPVywgdG9rSU5DUkVNRU5ULCB0b2tERUNSRU1FTlQgXQogCi1jbGFzcyBDcHBUb2tlbml6ZXI6Ci0gICAgIiIiYW4gYWJzdHJhY3QgY2xhc3MgdXNlZCB0byBjb252ZXJ0IHNvbWUgaW5wdXQgdGV4dCBpbnRvIGEgbGlzdAotICAgICAgIG9mIHRva2Vucy4gcmVhbCBpbXBsZW1lbnRhdGlvbnMgZm9sbG93IGFuZCBkaWZmZXIgaW4gdGhlIGZvcm1hdAotICAgICAgIG9mIHRoZSBpbnB1dCB0ZXh0IG9ubHkiIiIKK1NvdXJjZVJhbmdlLl9fY29udGFpbnNfXyA9IFNvdXJjZVJhbmdlX19jb250YWluc19fCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIworIyMjIyMgICAgICAgICAgIEMgUCBQICAgVCBPIEsgRSBOIEkgWiBFIFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCitjbGFzcyBDcHBUb2tlbml6ZXIob2JqZWN0KToKKyAgICAiIiJBIHRva2VuaXplciB0aGF0IGNvbnZlcnRzIHNvbWUgaW5wdXQgdGV4dCBpbnRvIGEgbGlzdCBvZiB0b2tlbnMuCisKKyAgICBJdCBjYWxscyBsaWJjbGFuZydzIHRva2VuaXplciB0byBnZXQgdGhlIHBhcnNlZCB0b2tlbnMuIEluIGFkZGl0aW9uLCBpdAorICAgIHVwZGF0ZXMgdGhlIGN1cnNvciBwcm9wZXJ0eSBpbiBlYWNoIHRva2VuIGFmdGVyIHBhcnNpbmcsIGJ5IGNhbGxpbmcKKyAgICBnZXRUb2tlbnNXaXRoQ3Vyc29ycygpLgorICAgICIiIgorCisgICAgY2xhbmdfZmxhZ3MgPSBbJy1FJywgJy14JywgJ2MnXQorICAgIG9wdGlvbnMgPSBUcmFuc2xhdGlvblVuaXQuUEFSU0VfREVUQUlMRURfUFJPQ0VTU0lOR19SRUNPUkQKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgIiIiaW5pdGlhbGl6ZSBhIG5ldyBDcHBUb2tlbml6ZXIgb2JqZWN0IiIiCi0gICAgICAgIHNlbGYuZW9mICA9IEZhbHNlICAjIGVuZCBvZiBmaWxlIHJlYWNoZWQgPwotICAgICAgICBzZWxmLnRleHQgPSBOb25lICAgIyBjb250ZW50IG9mIGN1cnJlbnQgbGluZSwgd2l0aCBmaW5hbCBcbiBzdHJpcHBlZAotICAgICAgICBzZWxmLmxpbmUgPSAwICAgICAgIyBudW1iZXIgb2YgY3VycmVudCBsaW5lCi0gICAgICAgIHNlbGYucG9zICA9IDAgICAgICAjIGN1cnJlbnQgY2hhcmFjdGVyIHBvc2l0aW9uIGluIGN1cnJlbnQgbGluZQotICAgICAgICBzZWxmLmxlbiAgPSAwICAgICAgIyBsZW5ndGggb2YgY3VycmVudCBsaW5lIHRleHQKLSAgICAgICAgc2VsZi5oZWxkID0gVG9rZW4oKQorICAgICAgICAiIiJJbml0aWFsaXplIGEgbmV3IENwcFRva2VuaXplciBvYmplY3QuIiIiCisgICAgICAgIHNlbGYuX2luZGV4ZXIgPSBjbGFuZy5jaW5kZXguSW5kZXguY3JlYXRlKCkKKyAgICAgICAgc2VsZi5fdHUgPSBOb25lCisgICAgICAgIHNlbGYuX2luZGV4ID0gMAorICAgICAgICBzZWxmLnRva2VucyA9IE5vbmUKIAotICAgIGRlZiBzZXRMaW5lVGV4dChzZWxmLGxpbmUpOgotICAgICAgICAiIiJzZXQgdGhlIGNvbnRlbnQgb2YgdGhlIChuZXh0KSBjdXJyZW50IGxpbmUuIHNob3VsZCBiZSBjYWxsZWQKLSAgICAgICAgICAgYnkgZmlsbExpbmVUZXh0KCkgaW4gZGVyaXZlZCBjbGFzc2VzIiIiCi0gICAgICAgIHNlbGYudGV4dCA9IGxpbmUKLSAgICAgICAgc2VsZi5sZW4gID0gbGVuKGxpbmUpCi0gICAgICAgIHNlbGYucG9zICA9IDAKKyAgICBkZWYgX2dldFRva2Vuc1dpdGhDdXJzb3JzKHNlbGYpOgorICAgICAgICAiIiJIZWxwZXIgbWV0aG9kIHRvIHJldHVybiBhbGwgdG9rZW5zIHdpdGggdGhlaXIgY3Vyc29ycy4KIAotICAgIGRlZiBmaWxsTGluZVRleHQoc2VsZik6Ci0gICAgICAgICIiInJlZnJlc2ggdGhlIGNvbnRlbnQgb2YgJ2xpbmUnIHdpdGggYSBuZXcgbGluZSBvZiBpbnB1dCIiIgotICAgICAgICAjIHRvIGJlIG92ZXJyaWRlbgotICAgICAgICBzZWxmLmVvZiA9IFRydWUKKyAgICAgICAgVGhlIGN1cnNvciBwcm9wZXJ0eSBpbiBhIGNsYW5nIFRva2VuIGRvZXNuJ3QgcHJvdmlkZSBlbm91Z2gKKyAgICAgICAgaW5mb3JtYXRpb24uIEJlY2F1c2UgaXQgaXMgcXVlcmllZCBiYXNlZCBvbiBzaW5nbGUgdG9rZW4gZWFjaCB0aW1lCisgICAgICAgIHdpdGhvdXQgYW55IGNvbnRleHQsIGkuZS4gdmlhIGNhbGxpbmcgY29uZi5saWIuY2xhbmdfYW5ub3RhdGVUb2tlbnMoKQorICAgICAgICB3aXRoIG9ubHkgb25lIHRva2VuIGdpdmVuLiBTbyB3ZSBvZnRlbiBzZWUgJ0lOVkFMSURfRklMRScgaW4gb25lCisgICAgICAgIHRva2VuJ3MgY3Vyc29yLiBJbiB0aGlzIGZ1bmN0aW9uIGl0IHBhc3NlcyBhbGwgdGhlIGF2YWlsYWJsZSB0b2tlbnMKKyAgICAgICAgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpdmUgY3Vyc29ycy4KKyAgICAgICAgIiIiCiAKLSAgICBkZWYgbWFya1BvcyhzZWxmLHRvayk6Ci0gICAgICAgICIiIm1hcmsgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHRva2VuIGluIHRoZSBzb3VyY2UgZmlsZSIiIgotICAgICAgICBpZiBzZWxmLmVvZiBvciBzZWxmLnBvcyA+IHNlbGYubGVuOgotICAgICAgICAgICAgdG9rLmxpbmVubyA9IHNlbGYubGluZSArIDEKLSAgICAgICAgICAgIHRvay5jb2xubyAgPSAwCisgICAgICAgIHRva2Vuc19tZW1vcnkgPSBjdHlwZXMuUE9JTlRFUihjbGFuZy5jaW5kZXguVG9rZW4pKCkKKyAgICAgICAgdG9rZW5zX2NvdW50ID0gY3R5cGVzLmNfdWludCgpCisKKyAgICAgICAgY29uZi5saWIuY2xhbmdfdG9rZW5pemUoc2VsZi5fdHUsIHNlbGYuX3R1LmN1cnNvci5leHRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eXBlcy5ieXJlZih0b2tlbnNfbWVtb3J5KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R5cGVzLmJ5cmVmKHRva2Vuc19jb3VudCkpCisKKyAgICAgICAgY291bnQgPSBpbnQodG9rZW5zX2NvdW50LnZhbHVlKQorCisgICAgICAgICMgSWYgd2UgZ2V0IG5vIHRva2Vucywgbm8gbWVtb3J5IHdhcyBhbGxvY2F0ZWQuIEJlIHN1cmUgbm90IHRvIHJldHVybgorICAgICAgICAjIGFueXRoaW5nIGFuZCBwb3RlbnRpYWxseSBjYWxsIGEgZGVzdHJ1Y3RvciBvbiBub3RoaW5nLgorICAgICAgICBpZiBjb3VudCA8IDE6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBjdXJzb3JzID0gKEN1cnNvciAqIGNvdW50KSgpCisgICAgICAgIGN1cnNvcnNfbWVtb3J5ID0gY3R5cGVzLmNhc3QoY3Vyc29ycywgY3R5cGVzLlBPSU5URVIoQ3Vyc29yKSkKKworICAgICAgICBjb25mLmxpYi5jbGFuZ19hbm5vdGF0ZVRva2VucyhzZWxmLl90dSwgdG9rZW5zX21lbW9yeSwgY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcnNfbWVtb3J5KQorCisgICAgICAgIHRva2Vuc19hcnJheSA9IGN0eXBlcy5jYXN0KAorICAgICAgICAgICAgdG9rZW5zX21lbW9yeSwKKyAgICAgICAgICAgIGN0eXBlcy5QT0lOVEVSKGNsYW5nLmNpbmRleC5Ub2tlbiAqIGNvdW50KSkuY29udGVudHMKKyAgICAgICAgdG9rZW5fZ3JvdXAgPSBUb2tlbkdyb3VwKHNlbGYuX3R1LCB0b2tlbnNfbWVtb3J5LCB0b2tlbnNfY291bnQpCisKKyAgICAgICAgdG9rZW5zID0gW10KKyAgICAgICAgZm9yIGkgaW4geHJhbmdlKDAsIGNvdW50KToKKyAgICAgICAgICAgIHRva2VuID0gVG9rZW4oc2VsZi5fdHUsIHRva2VuX2dyb3VwLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRfZGF0YT10b2tlbnNfYXJyYXlbaV0uaW50X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cl9kYXRhPXRva2Vuc19hcnJheVtpXS5wdHJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yPWN1cnNvcnNbaV0pCisgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCBub24tY29tbWVudCB0b2tlbnMuCisgICAgICAgICAgICBpZiB0b2tlbi5raW5kICE9IFRva2VuS2luZC5DT01NRU5UOgorICAgICAgICAgICAgICAgIHRva2Vucy5hcHBlbmQodG9rZW4pCisKKyAgICAgICAgcmV0dXJuIHRva2VucworCisgICAgZGVmIHBhcnNlU3RyaW5nKHNlbGYsIGxpbmVzKToKKyAgICAgICAgIiIiUGFyc2UgYSBsaXN0IG9mIHRleHQgbGluZXMgaW50byBhIEJsb2NrTGlzdCBvYmplY3QuIiIiCisgICAgICAgIGZpbGVfID0gJ2R1bW15LmMnCisgICAgICAgIHNlbGYuX3R1ID0gc2VsZi5faW5kZXhlci5wYXJzZShmaWxlXywgc2VsZi5jbGFuZ19mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2F2ZWRfZmlsZXM9WyhmaWxlXywgbGluZXMpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9c2VsZi5vcHRpb25zKQorICAgICAgICBzZWxmLnRva2VucyA9IHNlbGYuX2dldFRva2Vuc1dpdGhDdXJzb3JzKCkKKworICAgIGRlZiBwYXJzZUZpbGUoc2VsZiwgZmlsZV8pOgorICAgICAgICAiIiJQYXJzZSBhIGZpbGUgaW50byBhIEJsb2NrTGlzdCBvYmplY3QuIiIiCisgICAgICAgIHNlbGYuX3R1ID0gc2VsZi5faW5kZXhlci5wYXJzZShmaWxlXywgc2VsZi5jbGFuZ19mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9c2VsZi5vcHRpb25zKQorICAgICAgICBzZWxmLnRva2VucyA9IHNlbGYuX2dldFRva2Vuc1dpdGhDdXJzb3JzKCkKKworICAgIGRlZiBuZXh0VG9rZW4oc2VsZik6CisgICAgICAgICIiIlJldHVybiBuZXh0IHRva2VuIGZyb20gdGhlIGxpc3QuIiIiCisgICAgICAgIGlmIHNlbGYuX2luZGV4IDwgbGVuKHNlbGYudG9rZW5zKToKKyAgICAgICAgICAgIHQgPSBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0KKyAgICAgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKKyAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB0b2subGluZW5vID0gc2VsZi5saW5lCi0gICAgICAgICAgICB0b2suY29sbm8gID0gc2VsZi5wb3MKLQotICAgIGRlZiBwZWVrQ2hhcihzZWxmKToKLSAgICAgICAgIiIicmV0dXJuIHRoZSBjdXJyZW50IHRva2VuIHVuZGVyIHRoZSBjdXJzb3Igd2l0aG91dCBtb3ZpbmcgaXQiIiIKLSAgICAgICAgaWYgc2VsZi5lb2Y6Ci0gICAgICAgICAgICByZXR1cm4gdG9rRU9GCi0KLSAgICAgICAgaWYgc2VsZi5wb3MgPiBzZWxmLmxlbjoKLSAgICAgICAgICAgIHNlbGYucG9zICAgPSAwCi0gICAgICAgICAgICBzZWxmLmxpbmUgKz0gMQotICAgICAgICAgICAgc2VsZi5maWxsTGluZVRleHQoKQotICAgICAgICAgICAgaWYgc2VsZi5lb2Y6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRva0VPRgotCi0gICAgICAgIGlmIHNlbGYucG9zID09IHNlbGYubGVuOgotICAgICAgICAgICAgcmV0dXJuIHRva0xOCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi50ZXh0W3NlbGYucG9zXQotCi0gICAgZGVmIHBlZWtOQ2hhcihzZWxmLG4pOgotICAgICAgICAiIiJ0cnkgdG8gcGVlayB0aGUgbmV4dCBuIGNoYXJzIG9uIHRoZSBzYW1lIGxpbmUiIiIKLSAgICAgICAgaWYgc2VsZi5wb3MgKyBuID4gc2VsZi5sZW46CiAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICByZXR1cm4gc2VsZi50ZXh0W3NlbGYucG9zOnNlbGYucG9zK25dCiAKLSAgICBkZWYgc2tpcENoYXIoc2VsZik6Ci0gICAgICAgICIiImluY3JlbWVudCB0aGUgdG9rZW4gY3Vyc29yIHBvc2l0aW9uIiIiCi0gICAgICAgIGlmIG5vdCBzZWxmLmVvZjoKLSAgICAgICAgICAgIHNlbGYucG9zICs9IDEKIAotICAgIGRlZiBza2lwTkNoYXJzKHNlbGYsbik6Ci0gICAgICAgIGlmIHNlbGYucG9zICsgbiA8PSBzZWxmLmxlbjoKLSAgICAgICAgICAgIHNlbGYucG9zICs9IG4KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHdoaWxlIG4gPiAwOgotICAgICAgICAgICAgICAgIHNlbGYuc2tpcENoYXIoKQotICAgICAgICAgICAgICAgIG4gLT0gMQorY2xhc3MgQ3BwU3RyaW5nVG9rZW5pemVyKENwcFRva2VuaXplcik6CisgICAgIiIiQSBDcHBUb2tlbml6ZXIgZGVyaXZlZCBjbGFzcyB0aGF0IGFjY2VwdHMgYSBzdHJpbmcgb2YgdGV4dCBhcyBpbnB1dC4iIiIKIAotICAgIGRlZiBuZXh0Q2hhcihzZWxmKToKLSAgICAgICAgIiIicmV0cmlldmUgdGhlIHRva2VuIGF0IHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiwgdGhlbiBza2lwIGl0IiIiCi0gICAgICAgIHJlc3VsdCA9IHNlbGYucGVla0NoYXIoKQotICAgICAgICBzZWxmLnNraXBDaGFyKCkKLSAgICAgICAgcmV0dXJuICByZXN1bHQKLQotICAgIGRlZiBnZXRFc2NhcGUoc2VsZik6Ci0gICAgICAgICMgdHJ5IHRvIGdldCBhbGwgY2hhcmFjdGVycyBhZnRlciBhIGJhY2tzbGFzaCAoXCkKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5uZXh0Q2hhcigpCi0gICAgICAgIGlmIHJlc3VsdCA9PSAiMCI6Ci0gICAgICAgICAgICAjIG9jdGFsIG51bWJlciA/Ci0gICAgICAgICAgICBudW0gPSBzZWxmLnBlZWtOQ2hhcigzKQotICAgICAgICAgICAgaWYgbnVtICE9IE5vbmU6Ci0gICAgICAgICAgICAgICAgaXNPY3RhbCA9IFRydWUKLSAgICAgICAgICAgICAgICBmb3IgZCBpbiBudW06Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBkIGluICIwMTIzNDU2NyI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpc09jdGFsID0gRmFsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaWYgaXNPY3RhbDoKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IG51bQotICAgICAgICAgICAgICAgICAgICBzZWxmLnNraXBOQ2hhcnMoMykKLSAgICAgICAgZWxpZiByZXN1bHQgPT0gIngiIG9yIHJlc3VsdCA9PSAiWCI6Ci0gICAgICAgICAgICAjIGhleCBudW1iZXIgPwotICAgICAgICAgICAgbnVtID0gc2VsZi5wZWVrTkNoYXIoMikKLSAgICAgICAgICAgIGlmIG51bSAhPSBOb25lOgotICAgICAgICAgICAgICAgIGlzSGV4ID0gVHJ1ZQotICAgICAgICAgICAgICAgIGZvciBkIGluIG51bToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGQgaW4gIjAxMjM0NTY3OGFiY2RlZkFCQ0RFRiI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpc0hleCA9IEZhbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGlmIGlzSGV4OgotICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gbnVtCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuc2tpcE5DaGFycygyKQotICAgICAgICBlbGlmIHJlc3VsdCA9PSAidSIgb3IgcmVzdWx0ID09ICJVIjoKLSAgICAgICAgICAgICMgdW5pY29kZSBjaGFyID8KLSAgICAgICAgICAgIG51bSA9IHNlbGYucGVla05DaGFyKDQpCi0gICAgICAgICAgICBpZiBudW0gIT0gTm9uZToKLSAgICAgICAgICAgICAgICBpc0hleCA9IFRydWUKLSAgICAgICAgICAgICAgICBmb3IgZCBpbiBudW06Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBkIGluICIwMTIzNDU2NzhhYmNkZWZBQkNERUYiOgotICAgICAgICAgICAgICAgICAgICAgICAgaXNIZXggPSBGYWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBpZiBpc0hleDoKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IG51bQotICAgICAgICAgICAgICAgICAgICBzZWxmLnNraXBOQ2hhcnMoNCkKLQotICAgICAgICByZXR1cm4gcmVzdWx0Ci0KLSAgICBkZWYgbmV4dFJlYWxUb2tlbihzZWxmLHRvayk6Ci0gICAgICAgICIiInJldHVybiBuZXh0IENQUCB0b2tlbiwgdXNlZCBpbnRlcm5hbGx5IGJ5IG5leHRUb2tlbigpIiIiCi0gICAgICAgIGMgPSBzZWxmLm5leHRDaGFyKCkKLSAgICAgICAgaWYgYyA9PSB0b2tFT0Ygb3IgYyA9PSB0b2tMTjoKLSAgICAgICAgICAgIHJldHVybiB0b2suc2V0KGMpCi0KLSAgICAgICAgaWYgYyA9PSAnLyc6Ci0gICAgICAgICAgICBjID0gc2VsZi5wZWVrQ2hhcigpCi0gICAgICAgICAgICBpZiBjID09ICcvJzogICAjIEMrKyBjb21tZW50IGxpbmUKLSAgICAgICAgICAgICAgICBzZWxmLnNraXBDaGFyKCkKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICBjID0gc2VsZi5uZXh0Q2hhcigpCi0gICAgICAgICAgICAgICAgICAgIGlmIGMgPT0gdG9rRU9GIG9yIGMgPT0gdG9rTE46Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIHJldHVybiB0b2suc2V0KHRva0xOKQotICAgICAgICAgICAgaWYgYyA9PSAnKic6ICAgIyBDIGNvbW1lbnQgc3RhcnQKLSAgICAgICAgICAgICAgICBzZWxmLnNraXBDaGFyKCkKLSAgICAgICAgICAgICAgICB2YWx1ZSA9ICIvKiIKLSAgICAgICAgICAgICAgICBwcmV2X2MgPSBOb25lCi0gICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgYyA9IHNlbGYubmV4dENoYXIoKQotICAgICAgICAgICAgICAgICAgICBpZiBjID09IHRva0VPRjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2suc2V0KHRva0VPRix2YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgYyA9PSAnLycgYW5kIHByZXZfYyA9PSAnKic6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICBwcmV2X2MgPSBjCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlICs9IGMKLQotICAgICAgICAgICAgICAgIHZhbHVlICs9ICIvIgotICAgICAgICAgICAgICAgIHJldHVybiB0b2suc2V0KHRva1NQQUNFLHZhbHVlKQotICAgICAgICAgICAgYyA9ICcvJwotCi0gICAgICAgIGlmIGMuaXNzcGFjZSgpOgotICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICBjMiA9IHNlbGYucGVla0NoYXIoKQotICAgICAgICAgICAgICAgIGlmIGMyID09IHRva0xOIG9yIG5vdCBjMi5pc3NwYWNlKCk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgYyArPSBjMgotICAgICAgICAgICAgICAgIHNlbGYuc2tpcENoYXIoKQotICAgICAgICAgICAgcmV0dXJuIHRvay5zZXQodG9rU1BBQ0UsYykKLQotICAgICAgICBpZiBjID09ICdcXCc6Ci0gICAgICAgICAgICBpZiBkZWJ1Z1Rva2VuczoKLSAgICAgICAgICAgICAgICBwcmludCAibmV4dFJlYWxUb2tlbjogXFwgZm91bmQsIG5leHQgdG9rZW4gaXMgJyVzJyIgJSByZXByKHNlbGYucGVla0NoYXIoKSkKLSAgICAgICAgICAgIGlmIHNlbGYucGVla0NoYXIoKSA9PSB0b2tMTjogICAjIHRyYWlsaW5nIFwKLSAgICAgICAgICAgICAgICAjIGVhdCB0aGUgdG9rTE4KLSAgICAgICAgICAgICAgICBzZWxmLnNraXBDaGFyKCkKLSAgICAgICAgICAgICAgICAjIHdlIHJlcGxhY2UgYSB0cmFpbGluZyBcIGJ5IGEgdG9rU1BBQ0Ugd2hvc2UgdmFsdWUgaXMKLSAgICAgICAgICAgICAgICAjIHNpbXBseSAiXFwiLiB0aGlzIGFsbG93cyB1cyB0byBkZXRlY3QgdGhlbSBsYXRlciB3aGVuCi0gICAgICAgICAgICAgICAgIyBuZWVkZWQuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRvay5zZXQodG9rU1BBQ0UsIlxcIikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyB0cmVhdCBhcyBhIHNpbmdsZSB0b2tlbiBoZXJlID8KLSAgICAgICAgICAgICAgICBjICs9c2VsZi5nZXRFc2NhcGUoKQotICAgICAgICAgICAgICAgIHJldHVybiB0b2suc2V0KGMpCi0KLSAgICAgICAgaWYgYyA9PSAiJyI6ICAjIGNoYXJzCi0gICAgICAgICAgICBjMiA9IHNlbGYubmV4dENoYXIoKQotICAgICAgICAgICAgYyArPSBjMgotICAgICAgICAgICAgaWYgYzIgPT0gJ1xcJzoKLSAgICAgICAgICAgICAgICBjICs9IHNlbGYuZ2V0RXNjYXBlKCkKLQotICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICBjMiA9IHNlbGYubmV4dENoYXIoKQotICAgICAgICAgICAgICAgIGlmIGMyID09IHRva0VPRjoKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBjICs9IGMyCi0gICAgICAgICAgICAgICAgaWYgYzIgPT0gIiciOgotICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgICAgICAgICByZXR1cm4gdG9rLnNldCh0b2tTVFJJTkcsIGMpCi0KLSAgICAgICAgaWYgYyA9PSAnIic6ICAjIHN0cmluZ3MKLSAgICAgICAgICAgIHF1b3RlID0gMAotICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICBjMiAgPSBzZWxmLm5leHRDaGFyKCkKLSAgICAgICAgICAgICAgICBpZiBjMiA9PSB0b2tFT0Y6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2suc2V0KHRva1NUUklORyxjKQotCi0gICAgICAgICAgICAgICAgYyArPSBjMgotICAgICAgICAgICAgICAgIGlmIG5vdCBxdW90ZToKLSAgICAgICAgICAgICAgICAgICAgaWYgYzIgPT0gJyInOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvay5zZXQodG9rU1RSSU5HLGMpCi0gICAgICAgICAgICAgICAgICAgIGlmIGMyID09ICJcXCI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBxdW90ZSA9IDEKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBxdW90ZSA9IDAKLQotICAgICAgICBpZiBjID49ICIwIiBhbmQgYyA8PSAiOSI6ICAjIGludGVnZXJzID8KLSAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgYzIgPSBzZWxmLnBlZWtDaGFyKCkKLSAgICAgICAgICAgICAgICBpZiBjMiA9PSB0b2tMTiBvciAobm90IGMyLmlzYWxudW0oKSBhbmQgYzIgIT0gIl8iKToKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBjICs9IGMyCi0gICAgICAgICAgICAgICAgc2VsZi5za2lwQ2hhcigpCi0gICAgICAgICAgICByZXR1cm4gdG9rLnNldCh0b2tOVU1CRVIsYykKLQotICAgICAgICBpZiBjLmlzYWxudW0oKSBvciBjID09ICJfIjogICMgaWRlbnRpZmllcnMgPwotICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICBjMiA9IHNlbGYucGVla0NoYXIoKQotICAgICAgICAgICAgICAgIGlmIGMyID09IHRva0xOIG9yIChub3QgYzIuaXNhbG51bSgpIGFuZCBjMiAhPSAiXyIpOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGMgKz0gYzIKLSAgICAgICAgICAgICAgICBzZWxmLnNraXBDaGFyKCkKLSAgICAgICAgICAgIGlmIGMgPT0gdG9rREVGSU5FRDoKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9rLnNldCh0b2tERUZJTkVEKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9rLnNldCh0b2tJREVOVCxjKQotCi0gICAgICAgICMgY2hlY2sgc3BlY2lhbCBzeW1ib2xzCi0gICAgICAgIGZvciBzayBpbiBjcHBMb25nU3ltYm9sczoKLSAgICAgICAgICAgIGlmIGMgPT0gc2tbMF06Ci0gICAgICAgICAgICAgICAgc2tsZW4gPSBsZW4oc2tbMTpdKQotICAgICAgICAgICAgICAgIGlmIHNlbGYucG9zICsgc2tsZW4gPD0gc2VsZi5sZW4gYW5kIFwKLSAgICAgICAgICAgICAgICAgICBzZWxmLnRleHRbc2VsZi5wb3M6c2VsZi5wb3Mrc2tsZW5dID09IHNrWzE6XToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5wb3MgKz0gc2tsZW4KLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvay5zZXQoc2spCi0KLSAgICAgICAgcmV0dXJuIHRvay5zZXQoYykKLQotICAgIGRlZiBuZXh0VG9rZW4oc2VsZix0b2spOgotICAgICAgICAiIiJyZXR1cm4gdGhlIG5leHQgdG9rZW4gZnJvbSB0aGUgaW5wdXQgdGV4dC4gdGhpcyBmdW5jdGlvbgotICAgICAgICAgICByZWFsbHkgdXBkYXRlcyAndG9rJywgYW5kIGRvZXMgbm90IHJldHVybiBhIG5ldyBvbmUiIiIKLSAgICAgICAgc2VsZi5tYXJrUG9zKHRvaykKLSAgICAgICAgc2VsZi5uZXh0UmVhbFRva2VuKHRvaykKLQotICAgIGRlZiBnZXRUb2tlbihzZWxmKToKLSAgICAgICAgdG9rID0gVG9rZW4oKQotICAgICAgICBzZWxmLm5leHRUb2tlbih0b2spCi0gICAgICAgIGlmIGRlYnVnVG9rZW5zOgotICAgICAgICAgICAgcHJpbnQgImdldFRva2VuczogJXMiICUgcmVwcih0b2spCi0gICAgICAgIHJldHVybiB0b2sKLQotICAgIGRlZiB0b1Rva2VuTGlzdChzZWxmKToKLSAgICAgICAgIiIiY29udmVydCB0aGUgaW5wdXQgdGV4dCBvZiBhIENwcFRva2VuaXplciBpbnRvIGEgZGlyZWN0Ci0gICAgICAgICAgIGxpc3Qgb2YgdG9rZW4gb2JqZWN0cy4gdG9rRU9GIGlzIHN0cmlwcGVkIGZyb20gdGhlIHJlc3VsdCIiIgotICAgICAgICByZXN1bHQgPSBbXQotICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgdG9rID0gVG9rZW4oKQotICAgICAgICAgICAgc2VsZi5uZXh0VG9rZW4odG9rKQotICAgICAgICAgICAgaWYgdG9rLmlkID09IHRva0VPRjoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCh0b2spCi0gICAgICAgIHJldHVybiByZXN1bHQKLQotY2xhc3MgQ3BwTGluZVRva2VuaXplcihDcHBUb2tlbml6ZXIpOgotICAgICIiImEgQ3BwVG9rZW5pemVyIGRlcml2ZWQgY2xhc3MgdGhhdCBhY2NlcHRzIGEgc2luZ2xlIGxpbmUgb2YgdGV4dCBhcyBpbnB1dCIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLGxpbmUsbGluZW5vPTEpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsaW5lKToKICAgICAgICAgQ3BwVG9rZW5pemVyLl9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYubGluZSA9IGxpbmVubwotICAgICAgICBzZWxmLnNldExpbmVUZXh0KGxpbmUpCi0KLQotY2xhc3MgQ3BwTGluZXNUb2tlbml6ZXIoQ3BwVG9rZW5pemVyKToKLSAgICAiIiJhIENwcFRva2VuaXplciBkZXJpdmVkIGNsYXNzIHRoYXQgYWNjZXB0cyBhIGxpc3Qgb2YgdGV4ZHQgbGluZXMgYXMgaW5wdXQuCi0gICAgICAgdGhlIGxpbmVzIG11c3Qgbm90IGhhdmUgYSB0cmFpbGluZyBcbiIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLGxpbmVzPVtdLGxpbmVubz0xKToKLSAgICAgICAgIiIiaW5pdGlhbGl6ZSBhIENwcExpbmVzVG9rZW5pemVyLiB5b3UgY2FuIGxhdGVyIGFkZCBsaW5lcyB1c2luZyBhZGRMaW5lcygpIiIiCi0gICAgICAgIENwcFRva2VuaXplci5fX2luaXRfXyhzZWxmKQotICAgICAgICBzZWxmLmxpbmUgID0gbGluZW5vCi0gICAgICAgIHNlbGYubGluZXMgPSBsaW5lcwotICAgICAgICBzZWxmLmluZGV4ID0gMAotICAgICAgICBzZWxmLmNvdW50ID0gbGVuKGxpbmVzKQotCi0gICAgICAgIGlmIHNlbGYuY291bnQgPiAwOgotICAgICAgICAgICAgc2VsZi5maWxsTGluZVRleHQoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5lb2YgPSBUcnVlCi0KLSAgICBkZWYgYWRkTGluZShzZWxmLGxpbmUpOgotICAgICAgICAiIiJhZGQgYSBsaW5lIHRvIGEgQ3BwTGluZXNUb2tlbml6ZXIuIHRoaXMgY2FuIGJlIGRvbmUgYWZ0ZXIgdG9rZW5pemF0aW9uCi0gICAgICAgICAgIGhhcHBlbnMiIiIKLSAgICAgICAgaWYgc2VsZi5jb3VudCA9PSAwOgotICAgICAgICAgICAgc2VsZi5zZXRMaW5lVGV4dChsaW5lKQotICAgICAgICAgICAgc2VsZi5pbmRleCA9IDEKLSAgICAgICAgc2VsZi5saW5lcy5hcHBlbmQobGluZSkKLSAgICAgICAgc2VsZi5jb3VudCArPSAxCi0gICAgICAgIHNlbGYuZW9mICAgID0gRmFsc2UKLQotICAgIGRlZiBmaWxsTGluZVRleHQoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuaW5kZXggPCBzZWxmLmNvdW50OgotICAgICAgICAgICAgc2VsZi5zZXRMaW5lVGV4dChzZWxmLmxpbmVzW3NlbGYuaW5kZXhdKQotICAgICAgICAgICAgc2VsZi5pbmRleCArPSAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmVvZiA9IFRydWUKKyAgICAgICAgc2VsZi5wYXJzZVN0cmluZyhsaW5lKQogCiAKIGNsYXNzIENwcEZpbGVUb2tlbml6ZXIoQ3BwVG9rZW5pemVyKToKLSAgICBkZWYgX19pbml0X18oc2VsZixmaWxlLGxpbmVubz0xKToKLSAgICAgICAgQ3BwVG9rZW5pemVyLl9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuZmlsZSA9IGZpbGUKLSAgICAgICAgc2VsZi5saW5lID0gbGluZW5vCisgICAgIiIiQSBDcHBUb2tlbml6ZXIgZGVyaXZlZCBjbGFzcyB0aGF0IGFjY2VwdHMgYSBmaWxlIGFzIGlucHV0LiIiIgogCi0gICAgZGVmIGZpbGxMaW5lVGV4dChzZWxmKToKLSAgICAgICAgbGluZSA9IHNlbGYuZmlsZS5yZWFkbGluZSgpCi0gICAgICAgIGlmIGxlbihsaW5lKSA+IDA6Ci0gICAgICAgICAgICBpZiBsaW5lWy0xXSA9PSAnXG4nOgotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzotMV0KLSAgICAgICAgICAgIGlmIGxlbihsaW5lKSA+IDAgYW5kIGxpbmVbLTFdID09ICJcciI6Ci0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0xXQotICAgICAgICAgICAgc2VsZi5zZXRMaW5lVGV4dChsaW5lKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5lb2YgPSBUcnVlCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVfKToKKyAgICAgICAgQ3BwVG9rZW5pemVyLl9faW5pdF9fKHNlbGYpCisgICAgICAgIHNlbGYucGFyc2VGaWxlKGZpbGVfKQorCiAKICMgVW5pdCB0ZXN0aW5nCiAjCi1jbGFzcyBDcHBUb2tlbml6ZXJUZXN0ZXI6Ci0gICAgIiIiYSBjbGFzcyB1c2VkIHRvIHRlc3QgQ3BwVG9rZW5pemVyIGNsYXNzZXMiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZix0b2tlbml6ZXI9Tm9uZSk6Ci0gICAgICAgIHNlbGYudG9rZW5pemVyID0gdG9rZW5pemVyCi0gICAgICAgIHNlbGYudG9rZW4gICAgID0gVG9rZW4oKQorY2xhc3MgQ3BwVG9rZW5pemVyVGVzdGVyKG9iamVjdCk6CisgICAgIiIiQSBjbGFzcyB1c2VkIHRvIHRlc3QgQ3BwVG9rZW5pemVyIGNsYXNzZXMuIiIiCiAKLSAgICBkZWYgc2V0VG9rZW5pemVyKHNlbGYsdG9rZW5pemVyKToKLSAgICAgICAgc2VsZi50b2tlbml6ZXIgPSB0b2tlbml6ZXIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdG9rZW5pemVyPU5vbmUpOgorICAgICAgICBzZWxmLl90b2tlbml6ZXIgPSB0b2tlbml6ZXIKKyAgICAgICAgc2VsZi5fdG9rZW4gPSBOb25lCiAKLSAgICBkZWYgZXhwZWN0KHNlbGYsaWQpOgotICAgICAgICBzZWxmLnRva2VuaXplci5uZXh0VG9rZW4oc2VsZi50b2tlbikKLSAgICAgICAgdG9raWQgPSBzZWxmLnRva2VuLmlkCisgICAgZGVmIHNldFRva2VuaXplcihzZWxmLCB0b2tlbml6ZXIpOgorICAgICAgICBzZWxmLl90b2tlbml6ZXIgPSB0b2tlbml6ZXIKKworICAgIGRlZiBleHBlY3Qoc2VsZiwgaWQpOgorICAgICAgICBzZWxmLl90b2tlbiA9IHNlbGYuX3Rva2VuaXplci5uZXh0VG9rZW4oKQorICAgICAgICBpZiBzZWxmLl90b2tlbiBpcyBOb25lOgorICAgICAgICAgICAgdG9raWQgPSAnJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgdG9raWQgPSBzZWxmLl90b2tlbi5pZAogICAgICAgICBpZiB0b2tpZCA9PSBpZDoKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBpZiBzZWxmLnRva2VuLnZhbHVlID09IGlkIGFuZCAodG9raWQgPT0gdG9rSURFTlQgb3IgdG9raWQgPT0gdG9rTlVNQkVSKToKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICByYWlzZSBCYWRFeHBlY3RlZFRva2VuLCAiIyMjICBCQUQgVE9LRU46ICclcycgZXhwZWN0aW5nICclcyciICUgKHNlbGYudG9rZW4uaWQsaWQpCisgICAgICAgIHJhaXNlIEJhZEV4cGVjdGVkVG9rZW4oIiMjIyAgQkFEIFRPS0VOOiAnJXMnIGV4cGVjdGluZyAnJXMnIiAlICgKKyAgICAgICAgICAgIHRva2lkLCBpZCkpCiAKLSAgICBkZWYgZXhwZWN0VG9rZW4oc2VsZixpZCxsaW5lLGNvbCk6CisgICAgZGVmIGV4cGVjdFRva2VuKHNlbGYsIGlkLCBsaW5lLCBjb2wpOgogICAgICAgICBzZWxmLmV4cGVjdChpZCkKLSAgICAgICAgaWYgc2VsZi50b2tlbi5saW5lbm8gIT0gbGluZToKLSAgICAgICAgICAgIHJhaXNlIEJhZEV4cGVjdGVkVG9rZW4sICIjIyMgIEJBRCBMSU5FTk86IHRva2VuICclcycgZ290ICclZCcgZXhwZWN0aW5nICclZCciICUgKGlkLHNlbGYudG9rZW4ubGluZW5vLGxpbmUpCi0gICAgICAgIGlmIHNlbGYudG9rZW4uY29sbm8gIT0gY29sOgotICAgICAgICAgICAgcmFpc2UgQmFkRXhwZWN0ZWRUb2tlbiwgIiMjIyAgQkFEIENPTE5POiAnJWQnIGV4cGVjdGluZyAnJWQnIiAlIChzZWxmLnRva2VuLmNvbG5vLGNvbCkKKyAgICAgICAgaWYgc2VsZi5fdG9rZW4ubG9jYXRpb24ubGluZSAhPSBsaW5lOgorICAgICAgICAgICAgcmFpc2UgQmFkRXhwZWN0ZWRUb2tlbigKKyAgICAgICAgICAgICAgICAiIyMjICBCQUQgTElORU5POiB0b2tlbiAnJXMnIGdvdCAnJWQnIGV4cGVjdGluZyAnJWQnIiAlICgKKyAgICAgICAgICAgICAgICAgICAgaWQsIHNlbGYuX3Rva2VuLmxpbmVubywgbGluZSkpCisgICAgICAgIGlmIHNlbGYuX3Rva2VuLmxvY2F0aW9uLmNvbHVtbiAhPSBjb2w6CisgICAgICAgICAgICByYWlzZSBCYWRFeHBlY3RlZFRva2VuKCIjIyMgIEJBRCBDT0xOTzogJyVkJyBleHBlY3RpbmcgJyVkJyIgJSAoCisgICAgICAgICAgICAgICAgc2VsZi5fdG9rZW4uY29sbm8sIGNvbCkpCiAKLSAgICBkZWYgZXhwZWN0VG9rZW5WYWwoc2VsZixpZCx2YWx1ZSxsaW5lLGNvbCk6Ci0gICAgICAgIHNlbGYuZXhwZWN0VG9rZW4oaWQsbGluZSxjb2wpCi0gICAgICAgIGlmIHNlbGYudG9rZW4udmFsdWUgIT0gdmFsdWU6Ci0gICAgICAgICAgICByYWlzZSBCYWRFeHBlY3RlZFRva2VuLCAiIyMjICBCQUQgVkFMVUU6ICclcycgZXhwZWN0aW5nICclcyciICUgKHNlbGYudG9rZW4udmFsdWUsdmFsdWUpCisgICAgZGVmIGV4cGVjdFRva2VucyhzZWxmLCB0b2tlbnMpOgorICAgICAgICBmb3IgaWQsIGxpbmUsIGNvbCBpbiB0b2tlbnM6CisgICAgICAgICAgICBzZWxmLmV4cGVjdFRva2VuKGlkLCBsaW5lLCBjb2wpCiAKLSAgICBkZWYgZXhwZWN0TGlzdChzZWxmLGxpc3QpOgotICAgICAgICBmb3IgaXRlbSBpbiBsaXN0OgorICAgIGRlZiBleHBlY3RMaXN0KHNlbGYsIGxpc3RfKToKKyAgICAgICAgZm9yIGl0ZW0gaW4gbGlzdF86CiAgICAgICAgICAgICBzZWxmLmV4cGVjdChpdGVtKQogCisKIGRlZiB0ZXN0X0NwcFRva2VuaXplcigpOgogICAgIHRlc3RlciA9IENwcFRva2VuaXplclRlc3RlcigpCiAKLSAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKCBDcHBMaW5lVG9rZW5pemVyKCIjYW4vZXhhbXBsZSAgJiYgKDAxOTIzX3h5KSIpICkKLSAgICB0ZXN0ZXIuZXhwZWN0TGlzdCggWyIjIiwgImFuIiwgIi8iLCAiZXhhbXBsZSIsIHRva1NQQUNFLCB0b2tMT0dJQ0FORCwgdG9rU1BBQ0UsIHRva0xQQVJFTiwgIjAxOTIzX3h5IiwgXAotICAgICAgICAgICAgICAgICAgICAgICB0b2tSUEFSRU4sIHRva0xOLCB0b2tFT0ZdICkKKyAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKENwcFN0cmluZ1Rva2VuaXplcigiI2FuL2V4YW1wbGUgICYmICgwMTkyM194eSkiKSkKKyAgICB0ZXN0ZXIuZXhwZWN0TGlzdChbIiMiLCAiYW4iLCAiLyIsICJleGFtcGxlIiwgdG9rTE9HSUNBTkQsIHRva0xQQVJFTiwKKyAgICAgICAgICAgICAgICAgICAgICAgIjAxOTIzX3h5IiwgdG9rUlBBUkVOXSkKIAotICAgIHRlc3Rlci5zZXRUb2tlbml6ZXIoIENwcExpbmVUb2tlbml6ZXIoIkZPTyhCQVIpICYmIGRlZmluZWQoQkFaKSIpICkKLSAgICB0ZXN0ZXIuZXhwZWN0TGlzdCggWyJGT08iLCB0b2tMUEFSRU4sICJCQVIiLCB0b2tSUEFSRU4sIHRva1NQQUNFLCB0b2tMT0dJQ0FORCwgdG9rU1BBQ0UsCi0gICAgICAgICAgICAgICAgICAgICAgICB0b2tERUZJTkVELCB0b2tMUEFSRU4sICJCQVoiLCB0b2tSUEFSRU4sIHRva0xOLCB0b2tFT0ZdICkKKyAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKENwcFN0cmluZ1Rva2VuaXplcigiRk9PKEJBUikgJiYgZGVmaW5lZChCQVopIikpCisgICAgdGVzdGVyLmV4cGVjdExpc3QoWyJGT08iLCB0b2tMUEFSRU4sICJCQVIiLCB0b2tSUEFSRU4sIHRva0xPR0lDQU5ELAorICAgICAgICAgICAgICAgICAgICAgICAiZGVmaW5lZCIsIHRva0xQQVJFTiwgIkJBWiIsIHRva1JQQVJFTl0pCiAKLSAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKCBDcHBMaW5lc1Rva2VuaXplciggWyIvKiIsICIjIiwgIiovIl0gKSApCi0gICAgdGVzdGVyLmV4cGVjdExpc3QoIFsgdG9rU1BBQ0UsIHRva0xOLCB0b2tFT0YgXSApCisgICAgdGVzdGVyLnNldFRva2VuaXplcihDcHBTdHJpbmdUb2tlbml6ZXIoIi8qXG4jXG4qLyIpKQorICAgIHRlc3Rlci5leHBlY3RMaXN0KFtdKQogCi0gICAgdGVzdGVyLnNldFRva2VuaXplciggQ3BwTGluZXNUb2tlbml6ZXIoIFsiZmlyc3QiLCAic2Vjb25kIl0gKSApCi0gICAgdGVzdGVyLmV4cGVjdExpc3QoIFsgImZpcnN0IiwgdG9rTE4sICJzZWNvbmQiLCB0b2tMTiwgdG9rRU9GIF0gKQorICAgIHRlc3Rlci5zZXRUb2tlbml6ZXIoQ3BwU3RyaW5nVG9rZW5pemVyKCJmaXJzdFxuc2Vjb25kIikpCisgICAgdGVzdGVyLmV4cGVjdExpc3QoWyJmaXJzdCIsICJzZWNvbmQiXSkKIAotICAgIHRlc3Rlci5zZXRUb2tlbml6ZXIoIENwcExpbmVzVG9rZW5pemVyKCBbImZpcnN0IHNlY29uZCIsICIgIHRoaXJkIl0gKSApCi0gICAgdGVzdGVyLmV4cGVjdFRva2VuKCAiZmlyc3QiLCAxLCAwICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW4oIHRva1NQQUNFLCAxLCA1ICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW4oICJzZWNvbmQiLCAxLCA2ICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW4oIHRva0xOLCAxLCAxMiApCi0gICAgdGVzdGVyLmV4cGVjdFRva2VuKCB0b2tTUEFDRSwgMiwgMCApCi0gICAgdGVzdGVyLmV4cGVjdFRva2VuKCAidGhpcmQiLCAyLCAyICkKKyAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKENwcFN0cmluZ1Rva2VuaXplcigiZmlyc3Qgc2Vjb25kXG4gIHRoaXJkIikpCisgICAgdGVzdGVyLmV4cGVjdFRva2VucyhbKCJmaXJzdCIsIDEsIDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICgic2Vjb25kIiwgMSwgNyksCisgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0aGlyZCIsIDIsIDMpXSkKIAotICAgIHRlc3Rlci5zZXRUb2tlbml6ZXIoIENwcExpbmVzVG9rZW5pemVyKCBbICJib28gLyogd2hhdCB0aGUiLCAiaGVsbCAqLyIgXSApICkKLSAgICB0ZXN0ZXIuZXhwZWN0TGlzdCggWyAiYm9vIiwgdG9rU1BBQ0UgXSApCi0gICAgdGVzdGVyLmV4cGVjdFRva2VuVmFsKCB0b2tTUEFDRSwgIi8qIHdoYXQgdGhlXG5oZWxsICovIiwgMSwgNCApCi0gICAgdGVzdGVyLmV4cGVjdExpc3QoIFsgdG9rTE4sIHRva0VPRiBdICkKKyAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKENwcFN0cmluZ1Rva2VuaXplcigiYm9vIC8qIHdoYXQgdGhlXG5oZWxsICovIikpCisgICAgdGVzdGVyLmV4cGVjdFRva2VucyhbKCJib28iLCAxLCAxKV0pCiAKLSAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKCBDcHBMaW5lc1Rva2VuaXplciggWyAiYW4gXFwiLCAiIGV4YW1wbGUiIF0gKSApCi0gICAgdGVzdGVyLmV4cGVjdFRva2VuKCAiYW4iLCAxLCAwICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW4oIHRva1NQQUNFLCAxLCAyICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW5WYWwoIHRva1NQQUNFLCAiXFwiLCAxLCAzICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW4oIHRva1NQQUNFLCAyLCAwICkKLSAgICB0ZXN0ZXIuZXhwZWN0VG9rZW4oICJleGFtcGxlIiwgMiwgMSApCi0gICAgdGVzdGVyLmV4cGVjdFRva2VuKCB0b2tMTiwgMiwgOCApCi0KKyAgICB0ZXN0ZXIuc2V0VG9rZW5pemVyKENwcFN0cmluZ1Rva2VuaXplcigiYW4gXFxcbiBleGFtcGxlIikpCisgICAgdGVzdGVyLmV4cGVjdFRva2VucyhbKCJhbiIsIDEsIDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICgiZXhhbXBsZSIsIDIsIDIpXSkKICAgICByZXR1cm4gVHJ1ZQogCiAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKLSMjIyMjICAgICAgICAgICBDIFAgUCAgIEUgWCBQIFIgRSBTIFMgSSBPIE4gUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKLSMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjICAgICAgICAgICBDIFAgUCAgIEUgWCBQIFIgRSBTIFMgSSBPIE4gUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCisjIyMjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLWNsYXNzIENwcEV4cHI6Ci0gICAgIiIiYSBjbGFzcyB0aGF0IG1vZGVscyB0aGUgY29uZGl0aW9uIG9mICNpZiBkaXJlY3RpdmVzIGludG8KLSAgICAgICAgYW4gZXhwcmVzc2lvbiB0cmVlLiBlYWNoIG5vZGUgaW4gdGhlIHRyZWUgaXMgb2YgdGhlIGZvcm0gKG9wLGFyZykgb3IgKG9wLGFyZzEsYXJnMikKLSAgICAgICAgd2hlcmUgIm9wIiBpcyBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBvcGVyYXRpb24iIiIKIAotICAgIHVuYXJpZXMgID0gWyAiISIsICJ+IiBdCi0gICAgYmluYXJpZXMgPSBbICIrIiwgIi0iLCAiPCIsICI8PSIsICI+PSIsICI+IiwgIiYmIiwgInx8IiwgIioiLCAiLyIsICIlIiwgIiYiLCAifCIsICJeIiwgIjw8IiwgIj4+IiwgIj09IiwgIiE9IiwgIj8iLCAiOiIgXQorY2xhc3MgQ3BwRXhwcihvYmplY3QpOgorICAgICIiIkEgY2xhc3MgdGhhdCBtb2RlbHMgdGhlIGNvbmRpdGlvbiBvZiAjaWYgZGlyZWN0aXZlcyBpbnRvIGFuIGV4cHIgdHJlZS4KKworICAgIEVhY2ggbm9kZSBpbiB0aGUgdHJlZSBpcyBvZiB0aGUgZm9ybSAob3AsIGFyZykgb3IgKG9wLCBhcmcxLCBhcmcyKSB3aGVyZQorICAgICJvcCIgaXMgYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgb3BlcmF0aW9uCisgICAgIiIiCisKKyAgICB1bmFyaWVzID0gWyIhIiwgIn4iXQorICAgIGJpbmFyaWVzID0gWyIrIiwgIi0iLCAiPCIsICI8PSIsICI+PSIsICI+IiwgIiYmIiwgInx8IiwgIioiLCAiLyIsICIlIiwKKyAgICAgICAgICAgICAgICAiJiIsICJ8IiwgIl4iLCAiPDwiLCAiPj4iLCAiPT0iLCAiIT0iLCAiPyIsICI6Il0KICAgICBwcmVjZWRlbmNlcyA9IHsKICAgICAgICAgIj8iOiAxLCAiOiI6IDEsCiAgICAgICAgICJ8fCI6IDIsCkBAIC01NzAsMTk3ICs0MTMsMTkxIEBACiAgICAgICAgICIhIjogMTIsICJ+IjogMTIKICAgICB9CiAKLSAgICByZV9jcHBfY29uc3RhbnQgPSByZS5jb21waWxlKHIiKChcZHxcd3xfKSspIikKLQogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b2tlbnMpOgotICAgICAgICAiIiJpbml0aWFsaXplIGEgQ3BwRXhwci4gJ3Rva2VucycgbXVzdCBiZSBhIENwcFRva2VuIGxpc3QiIiIKLSAgICAgICAgc2VsZi50b2sgID0gdG9rZW5zCi0gICAgICAgIHNlbGYubiAgICA9IGxlbih0b2tlbnMpCi0gICAgICAgIHNlbGYuaSAgICA9IDAKKyAgICAgICAgIiIiSW5pdGlhbGl6ZSBhIENwcEV4cHIuICd0b2tlbnMnIG11c3QgYmUgYSBDcHBUb2tlbiBsaXN0LiIiIgorICAgICAgICBzZWxmLnRva2VucyA9IHRva2VucworICAgICAgICBzZWxmLl9udW1fdG9rZW5zID0gbGVuKHRva2VucykKKyAgICAgICAgc2VsZi5faW5kZXggPSAwCisKICAgICAgICAgaWYgZGVidWdDcHBFeHByOgogICAgICAgICAgICAgcHJpbnQgIkNwcEV4cHI6IHRyeWluZyB0byBwYXJzZSAlcyIgJSByZXByKHRva2VucykKICAgICAgICAgc2VsZi5leHByID0gc2VsZi5wYXJzZUV4cHJlc3Npb24oMCkKICAgICAgICAgaWYgZGVidWdDcHBFeHByOgogICAgICAgICAgICAgcHJpbnQgIkNwcEV4cHI6IGdvdCAiICsgcmVwcihzZWxmLmV4cHIpCi0gICAgICAgIGlmIHNlbGYuaSAhPSBzZWxmLm46Ci0gICAgICAgICAgICBwcmludCAnY3JhcCBhdCBlbmQgb2YgaW5wdXQgKCVkICE9ICVkKTogJXMnICUgKHNlbGYuaSwgc2VsZi5uLCByZXByKHRva2VucykpCi0gICAgICAgICAgICByYWlzZQotCisgICAgICAgIGlmIHNlbGYuX2luZGV4ICE9IHNlbGYuX251bV90b2tlbnM6CisgICAgICAgICAgICBzZWxmLnRocm93KEJhZEV4cGVjdGVkVG9rZW4sICJjcmFwIGF0IGVuZCBvZiBpbnB1dCAoJWQgIT0gJWQpOiAlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgJSAoc2VsZi5faW5kZXgsIHNlbGYuX251bV90b2tlbnMsIHJlcHIodG9rZW5zKSkpCiAKICAgICBkZWYgdGhyb3coc2VsZiwgZXhjZXB0aW9uLCBtc2cpOgotICAgICAgICBpZiBzZWxmLmkgPCBzZWxmLm46Ci0gICAgICAgICAgICB0b2sgPSBzZWxmLnRva1tzZWxmLmldCi0gICAgICAgICAgICBwcmludCAiJWQ6JWQ6ICVzIiAlICh0b2subGluZW5vLHRvay5jb2xubyxtc2cpCisgICAgICAgIGlmIHNlbGYuX2luZGV4IDwgc2VsZi5fbnVtX3Rva2VuczoKKyAgICAgICAgICAgIHRvayA9IHNlbGYudG9rZW5zW3NlbGYuX2luZGV4XQorICAgICAgICAgICAgcHJpbnQgIiVkOiVkOiAlcyIgJSAodG9rLmxvY2F0aW9uLmxpbmUsIHRvay5sb2NhdGlvbi5jb2x1bW4sIG1zZykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHByaW50ICJFT0Y6ICVzIiAlIG1zZwogICAgICAgICByYWlzZSBleGNlcHRpb24obXNnKQogCi0KLSAgICBkZWYgc2tpcF9zcGFjZXMoc2VsZik6Ci0gICAgICAgICIiInNraXAgc3BhY2VzIGluIGlucHV0IHRva2VuIGxpc3QiIiIKLSAgICAgICAgd2hpbGUgc2VsZi5pIDwgc2VsZi5uOgotICAgICAgICAgICAgdCA9IHNlbGYudG9rW3NlbGYuaV0KLSAgICAgICAgICAgIGlmIHQuaWQgIT0gdG9rU1BBQ0UgYW5kIHQuaWQgIT0gdG9rTE46Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHNlbGYuaSArPSAxCi0KLQogICAgIGRlZiBleHBlY3RJZChzZWxmLCBpZCk6Ci0gICAgICAgICIiImNoZWNrIHRoYXQgYSBnaXZlbiB0b2tlbiBpZCBpcyBhdCB0aGUgY3VycmVudCBwb3NpdGlvbiwgdGhlbiBza2lwIG92ZXIgaXQiIiIKLSAgICAgICAgc2VsZi5za2lwX3NwYWNlcygpCi0gICAgICAgIGlmIHNlbGYuaSA+PSBzZWxmLm4gb3Igc2VsZi50b2tbc2VsZi5pXS5pZCAhPSBpZDoKLSAgICAgICAgICAgIHNlbGYudGhyb3coQmFkRXhwZWN0ZWRUb2tlbixzZWxmLmksIiMjIyBleHBlY3RpbmcgJyVzJyBpbiBleHByZXNzaW9uLCBnb3QgJyVzJyIgJSAoaWQsIHNlbGYudG9rW3NlbGYuaV0uaWQpKQotICAgICAgICBzZWxmLmkgKz0gMQotCi0KLSAgICBkZWYgZXhwZWN0SWRlbnQoc2VsZik6Ci0gICAgICAgIHNlbGYuc2tpcF9zcGFjZXMoKQotICAgICAgICBpZiBzZWxmLmkgPj0gc2VsZi5uIG9yIHNlbGYudG9rW3NlbGYuaV0uaWQgIT0gdG9rSURFTlQ6Ci0gICAgICAgICAgICBzZWxmLnRocm93KEJhZEV4cGVjdGVkVG9rZW4sIHNlbGYuaSwiIyMjIGV4cGVjdGluZyBpZGVudGlmaWVyIGluIGV4cHJlc3Npb24sIGdvdCAnJXMnIiAlIChpZCwgc2VsZi50b2tbc2VsZi5pXS5pZCkpCi0gICAgICAgIHNlbGYuaSArPSAxCi0KKyAgICAgICAgIiIiQ2hlY2sgdGhhdCBhIGdpdmVuIHRva2VuIGlkIGlzIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLiIiIgorICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW5zW3NlbGYuX2luZGV4XQorICAgICAgICBpZiBzZWxmLl9pbmRleCA+PSBzZWxmLl9udW1fdG9rZW5zIG9yIHRva2VuLmlkICE9IGlkOgorICAgICAgICAgICAgc2VsZi50aHJvdyhCYWRFeHBlY3RlZFRva2VuLAorICAgICAgICAgICAgICAgICAgICAgICAiIyMjIGV4cGVjdGluZyAnJXMnIGluIGV4cHJlc3Npb24sIGdvdCAnJXMnIiAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkLCB0b2tlbi5pZCkpCisgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKIAogICAgIGRlZiBpc19kZWNpbWFsKHNlbGYpOgotICAgICAgICB2ID0gc2VsZi50b2tbc2VsZi5pXS52YWx1ZVs6XQotICAgICAgICB3aGlsZSBsZW4odikgPiAwIGFuZCB2Wy0xXSBpbiAiVUx1bCI6Ci0gICAgICAgICAgICB2ID0gdls6LTFdCi0gICAgICAgIGZvciBkaWdpdCBpbiB2OgotICAgICAgICAgICAgaWYgbm90IGRpZ2l0LmlzZGlnaXQoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgIHNlbGYuaSArPSAxCi0gICAgICAgIHJldHVybiAoImludCIsIHN0cmluZy5hdG9pKHYpKQotCi0KLSAgICBkZWYgaXNfaGV4YWRlY2ltYWwoc2VsZik6Ci0gICAgICAgIHYgPSBzZWxmLnRva1tzZWxmLmldLnZhbHVlWzpdCi0gICAgICAgIHdoaWxlIGxlbih2KSA+IDAgYW5kIHZbLTFdIGluICJVTHVsIjoKLSAgICAgICAgICAgIHYgPSB2WzotMV0KLSAgICAgICAgaWYgbGVuKHYpID4gMiBhbmQgKHZbMDoyXSA9PSAiMHgiIG9yIHZbMDoyXSA9PSAiMFgiKToKLSAgICAgICAgICAgIGZvciBkaWdpdCBpbiB2WzI6XToKLSAgICAgICAgICAgICAgICBpZiBub3QgZGlnaXQgaW4gIjAxMjM0NTY3ODlhYmNkZWZBQkNERUYiOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAjIGZvciBhIGhleCBleHByZXNzaW9uIHR1cGxlLCB0aGUgYXJndW1lbnQKLSAgICAgICAgICAgICMgaXMgdGhlIHZhbHVlIGFzIGFuIGludGVnZXIKLSAgICAgICAgICAgIHNlbGYuaSArPSAxCi0gICAgICAgICAgICByZXR1cm4gKCJoZXgiLCBpbnQodlsyOl0sIDE2KSkKLQotICAgICAgICByZXR1cm4gTm9uZQotCi0KLSAgICBkZWYgaXNfaW50ZWdlcihzZWxmKToKLSAgICAgICAgaWYgc2VsZi50b2tbc2VsZi5pXS5pZCAhPSB0b2tOVU1CRVI6CisgICAgICAgIHRva2VuID0gc2VsZi50b2tlbnNbc2VsZi5faW5kZXhdLmlkCisgICAgICAgIGlmIHRva2VuWy0xXSBpbiAiVUx1bCI6CisgICAgICAgICAgICB0b2tlbiA9IHRva2VuWzotMV0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdmFsID0gaW50KHRva2VuLCAxMCkKKyAgICAgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKKyAgICAgICAgICAgIHJldHVybiAoJ2ludCcsIHZhbCkKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgICAgIGMgPSBzZWxmLmlzX2RlY2ltYWwoKQotICAgICAgICBpZiBjOiByZXR1cm4gYworICAgIGRlZiBpc19vY3RhbChzZWxmKToKKyAgICAgICAgdG9rZW4gPSBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0uaWQKKyAgICAgICAgaWYgdG9rZW5bLTFdIGluICJVTHVsIjoKKyAgICAgICAgICAgIHRva2VuID0gdG9rZW5bOi0xXQorICAgICAgICBpZiBsZW4odG9rZW4pIDwgMiBvciB0b2tlblswXSAhPSAnMCc6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICB0cnk6CisgICAgICAgICAgICB2YWwgPSBpbnQodG9rZW4sIDgpCisgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCisgICAgICAgICAgICByZXR1cm4gKCdvY3QnLCB2YWwpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBpc19oZXhhZGVjaW1hbChzZWxmKToKKyAgICAgICAgdG9rZW4gPSBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0uaWQKKyAgICAgICAgaWYgdG9rZW5bLTFdIGluICJVTHVsIjoKKyAgICAgICAgICAgIHRva2VuID0gdG9rZW5bOi0xXQorICAgICAgICBpZiBsZW4odG9rZW4pIDwgMyBvciAodG9rZW5bOjJdICE9ICcweCcgYW5kIHRva2VuWzoyXSAhPSAnMFgnKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHZhbCA9IGludCh0b2tlbiwgMTYpCisgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCisgICAgICAgICAgICByZXR1cm4gKCdoZXgnLCB2YWwpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBpc19pbnRlZ2VyKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0ua2luZCAhPSBUb2tlbktpbmQuTElURVJBTDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAgICAgYyA9IHNlbGYuaXNfaGV4YWRlY2ltYWwoKQotICAgICAgICBpZiBjOiByZXR1cm4gYworICAgICAgICBpZiBjOgorICAgICAgICAgICAgcmV0dXJuIGMKKworICAgICAgICBjID0gc2VsZi5pc19vY3RhbCgpCisgICAgICAgIGlmIGM6CisgICAgICAgICAgICByZXR1cm4gYworCisgICAgICAgIGMgPSBzZWxmLmlzX2RlY2ltYWwoKQorICAgICAgICBpZiBjOgorICAgICAgICAgICAgcmV0dXJuIGMKIAogICAgICAgICByZXR1cm4gTm9uZQogCi0KICAgICBkZWYgaXNfbnVtYmVyKHNlbGYpOgotICAgICAgICB0ID0gc2VsZi50b2tbc2VsZi5pXQotICAgICAgICBpZiB0LmlkID09IHRva01JTlVTIGFuZCBzZWxmLmkrMSA8IHNlbGYubjoKLSAgICAgICAgICAgIHNlbGYuaSArPSAxCisgICAgICAgIHQgPSBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0KKyAgICAgICAgaWYgdC5pZCA9PSB0b2tNSU5VUyBhbmQgc2VsZi5faW5kZXggKyAxIDwgc2VsZi5fbnVtX3Rva2VuczoKKyAgICAgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKICAgICAgICAgICAgIGMgPSBzZWxmLmlzX2ludGVnZXIoKQogICAgICAgICAgICAgaWYgYzoKLSAgICAgICAgICAgICAgICBvcCwgdmFsICA9IGMKKyAgICAgICAgICAgICAgICBvcCwgdmFsID0gYwogICAgICAgICAgICAgICAgIHJldHVybiAob3AsIC12YWwpCi0gICAgICAgIGlmIHQuaWQgPT0gdG9rUExVUyBhbmQgc2VsZi5pKzEgPCBzZWxmLm46CisgICAgICAgIGlmIHQuaWQgPT0gdG9rUExVUyBhbmQgc2VsZi5faW5kZXggKyAxIDwgc2VsZi5fbnVtX3Rva2VuczoKKyAgICAgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKICAgICAgICAgICAgIGMgPSBzZWxmLmlzX2ludGVnZXIoKQotICAgICAgICAgICAgaWYgYzogcmV0dXJuIGMKKyAgICAgICAgICAgIGlmIGM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGMKIAogICAgICAgICByZXR1cm4gc2VsZi5pc19pbnRlZ2VyKCkKIAotCiAgICAgZGVmIGlzX2RlZmluZWQoc2VsZik6Ci0gICAgICAgIHQgPSBzZWxmLnRva1tzZWxmLmldCisgICAgICAgIHQgPSBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0KICAgICAgICAgaWYgdC5pZCAhPSB0b2tERUZJTkVEOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKIAotICAgICAgICAjIHdlIGhhdmUgdGhlIGRlZmluZWQga2V5d29yZCwgY2hlY2sgdGhlIHJlc3QKLSAgICAgICAgc2VsZi5pICs9IDEKLSAgICAgICAgc2VsZi5za2lwX3NwYWNlcygpCi0gICAgICAgIHVzZWRfcGFyZW5zID0gMAotICAgICAgICBpZiBzZWxmLmkgPCBzZWxmLm4gYW5kIHNlbGYudG9rW3NlbGYuaV0uaWQgPT0gdG9rTFBBUkVOOgotICAgICAgICAgICAgdXNlZF9wYXJlbnMgPSAxCi0gICAgICAgICAgICBzZWxmLmkgKz0gMQotICAgICAgICAgICAgc2VsZi5za2lwX3NwYWNlcygpCisgICAgICAgICMgV2UgaGF2ZSB0aGUgZGVmaW5lZCBrZXl3b3JkLCBjaGVjayB0aGUgcmVzdC4KKyAgICAgICAgc2VsZi5faW5kZXggKz0gMQorICAgICAgICB1c2VkX3BhcmVucyA9IEZhbHNlCisgICAgICAgIGlmIChzZWxmLl9pbmRleCA8IHNlbGYuX251bV90b2tlbnMgYW5kCisgICAgICAgICAgICBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0uaWQgPT0gdG9rTFBBUkVOKToKKyAgICAgICAgICAgIHVzZWRfcGFyZW5zID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5faW5kZXggKz0gMQogCi0gICAgICAgIGlmIHNlbGYuaSA+PSBzZWxmLm46Ci0gICAgICAgICAgICBzZWxmLnRocm93KENwcENvbnN0YW50RXhwZWN0ZWQsaSwiIyMjICdkZWZpbmVkJyBtdXN0IGJlIGZvbGxvd2VkICBieSBtYWNybyBuYW1lIG9yIGxlZnQgcGFyZW4iKQorICAgICAgICBpZiBzZWxmLl9pbmRleCA+PSBzZWxmLl9udW1fdG9rZW5zOgorICAgICAgICAgICAgc2VsZi50aHJvdyhCYWRFeHBlY3RlZFRva2VuLAorICAgICAgICAgICAgICAgICAgICAgICAiIyMjICdkZWZpbmVkJyBtdXN0IGJlIGZvbGxvd2VkIGJ5IG1hY3JvIG5hbWUgb3IgbGVmdCAiCisgICAgICAgICAgICAgICAgICAgICAgICJwYXJlbiIpCiAKLSAgICAgICAgdCA9IHNlbGYudG9rW3NlbGYuaV0KLSAgICAgICAgaWYgdC5pZCAhPSB0b2tJREVOVDoKLSAgICAgICAgICAgIHNlbGYudGhyb3coQ3BwQ29uc3RhbnRFeHBlY3RlZCxpLCIjIyMgJ2RlZmluZWQnIG11c3QgYmUgZm9sbG93ZWQgYnkgbWFjcm8gbmFtZSIpCisgICAgICAgIHQgPSBzZWxmLnRva2Vuc1tzZWxmLl9pbmRleF0KKyAgICAgICAgaWYgdC5raW5kICE9IFRva2VuS2luZC5JREVOVElGSUVSOgorICAgICAgICAgICAgc2VsZi50aHJvdyhCYWRFeHBlY3RlZFRva2VuLAorICAgICAgICAgICAgICAgICAgICAgICAiIyMjICdkZWZpbmVkJyBtdXN0IGJlIGZvbGxvd2VkIGJ5IG1hY3JvIG5hbWUiKQogCi0gICAgICAgIHNlbGYuaSArPSAxCisgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKICAgICAgICAgaWYgdXNlZF9wYXJlbnM6CiAgICAgICAgICAgICBzZWxmLmV4cGVjdElkKHRva1JQQVJFTikKIAotICAgICAgICByZXR1cm4gKCJkZWZpbmVkIiwgdC52YWx1ZSkKLQorICAgICAgICByZXR1cm4gKCJkZWZpbmVkIiwgdC5pZCkKIAogICAgIGRlZiBpc19jYWxsX29yX2lkZW50KHNlbGYpOgotICAgICAgICBzZWxmLnNraXBfc3BhY2VzKCkKLSAgICAgICAgaWYgc2VsZi5pID49IHNlbGYubjoKKyAgICAgICAgaWYgc2VsZi5faW5kZXggPj0gc2VsZi5fbnVtX3Rva2VuczoKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKLSAgICAgICAgdCA9IHNlbGYudG9rW3NlbGYuaV0KLSAgICAgICAgaWYgdC5pZCAhPSB0b2tJREVOVDoKKyAgICAgICAgdCA9IHNlbGYudG9rZW5zW3NlbGYuX2luZGV4XQorICAgICAgICBpZiB0LmtpbmQgIT0gVG9rZW5LaW5kLklERU5USUZJRVI6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgICAgIG5hbWUgPSB0LnZhbHVlCisgICAgICAgIG5hbWUgPSB0LmlkCiAKLSAgICAgICAgc2VsZi5pICs9IDEKLSAgICAgICAgc2VsZi5za2lwX3NwYWNlcygpCi0gICAgICAgIGlmIHNlbGYuaSA+PSBzZWxmLm4gb3Igc2VsZi50b2tbc2VsZi5pXS5pZCAhPSB0b2tMUEFSRU46CisgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKKyAgICAgICAgaWYgKHNlbGYuX2luZGV4ID49IHNlbGYuX251bV90b2tlbnMgb3IKKyAgICAgICAgICAgIHNlbGYudG9rZW5zW3NlbGYuX2luZGV4XS5pZCAhPSB0b2tMUEFSRU4pOgogICAgICAgICAgICAgcmV0dXJuICgiaWRlbnQiLCBuYW1lKQogCi0gICAgICAgIHBhcmFtcyAgICA9IFtdCi0gICAgICAgIGRlcHRoICAgICA9IDEKLSAgICAgICAgc2VsZi5pICs9IDEKLSAgICAgICAgaiAgPSBzZWxmLmkKLSAgICAgICAgd2hpbGUgc2VsZi5pIDwgc2VsZi5uOgotICAgICAgICAgICAgaWQgPSBzZWxmLnRva1tzZWxmLmldLmlkCisgICAgICAgIHBhcmFtcyA9IFtdCisgICAgICAgIGRlcHRoID0gMQorICAgICAgICBzZWxmLl9pbmRleCArPSAxCisgICAgICAgIGogPSBzZWxmLl9pbmRleAorICAgICAgICB3aGlsZSBzZWxmLl9pbmRleCA8IHNlbGYuX251bV90b2tlbnM6CisgICAgICAgICAgICBpZCA9IHNlbGYudG9rZW5zW3NlbGYuX2luZGV4XS5pZAogICAgICAgICAgICAgaWYgaWQgPT0gdG9rTFBBUkVOOgogICAgICAgICAgICAgICAgIGRlcHRoICs9IDEKICAgICAgICAgICAgIGVsaWYgZGVwdGggPT0gMSBhbmQgKGlkID09IHRva0NPTU1BIG9yIGlkID09IHRva1JQQVJFTik6Ci0gICAgICAgICAgICAgICAgd2hpbGUgaiA8IHNlbGYuaSBhbmQgc2VsZi50b2tbal0uaWQgPT0gdG9rU1BBQ0U6Ci0gICAgICAgICAgICAgICAgICAgIGogKz0gMQotICAgICAgICAgICAgICAgIGsgPSBzZWxmLmkKLSAgICAgICAgICAgICAgICB3aGlsZSBrID4gaiBhbmQgc2VsZi50b2tbay0xXS5pZCA9PSB0b2tTUEFDRToKLSAgICAgICAgICAgICAgICAgICAgayAtPSAxCi0gICAgICAgICAgICAgICAgcGFyYW0gPSBzZWxmLnRva1tqOmtdCisgICAgICAgICAgICAgICAgayA9IHNlbGYuX2luZGV4CisgICAgICAgICAgICAgICAgcGFyYW0gPSBzZWxmLnRva2Vuc1tqOmtdCiAgICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChwYXJhbSkKICAgICAgICAgICAgICAgICBpZiBpZCA9PSB0b2tSUEFSRU46CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaiA9IHNlbGYuaSsxCisgICAgICAgICAgICAgICAgaiA9IHNlbGYuX2luZGV4ICsgMQogICAgICAgICAgICAgZWxpZiBpZCA9PSB0b2tSUEFSRU46CiAgICAgICAgICAgICAgICAgZGVwdGggLT0gMQotICAgICAgICAgICAgc2VsZi5pICs9IDEKKyAgICAgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKIAotICAgICAgICBpZiBzZWxmLmkgPj0gc2VsZi5uOgorICAgICAgICBpZiBzZWxmLl9pbmRleCA+PSBzZWxmLl9udW1fdG9rZW5zOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKIAotICAgICAgICBzZWxmLmkgKz0gMQorICAgICAgICBzZWxmLl9pbmRleCArPSAxCiAgICAgICAgIHJldHVybiAoImNhbGwiLCAobmFtZSwgcGFyYW1zKSkKIAorICAgICMgSW1wbGVtZW50cyB0aGUgInByZWNlZGVuY2UgY2xpbWJpbmciIGFsZ29yaXRobSBmcm9tCisgICAgIyBodHRwOi8vd3d3LmVuZ3IubXVuLmNhL350aGVvL01pc2MvZXhwX3BhcnNpbmcuaHRtLgorICAgICMgVGhlICJjbGFzc2ljIiBhbGdvcml0aG0gd291bGQgYmUgZmluZSBpZiB3ZSB3ZXJlIHVzaW5nIGEgdG9vbCB0bworICAgICMgZ2VuZXJhdGUgdGhlIHBhcnNlciwgYnV0IHdlJ3JlIG5vdC4gRGlqa3N0cmEncyAic2h1bnRpbmcgeWFyZCIKKyAgICAjIGFsZ29yaXRobSBoYXNuJ3QgYmVlbiBuZWNlc3NhcnkgeWV0LgogCi0gICAgIyBJbXBsZW1lbnRzIHRoZSAicHJlY2VkZW5jZSBjbGltYmluZyIgYWxnb3JpdGhtIGZyb20gaHR0cDovL3d3dy5lbmdyLm11bi5jYS9+dGhlby9NaXNjL2V4cF9wYXJzaW5nLmh0bS4KLSAgICAjIFRoZSAiY2xhc3NpYyIgYWxnb3JpdGhtIHdvdWxkIGJlIGZpbmUgaWYgd2Ugd2VyZSB1c2luZyBhIHRvb2wgdG8gZ2VuZXJhdGUgdGhlIHBhcnNlciwgYnV0IHdlJ3JlIG5vdC4KLSAgICAjIERpamtzdHJhJ3MgInNodW50aW5nIHlhcmQiIGFsZ29yaXRobSBoYXNuJ3QgYmVlbiBuZWNlc3NhcnkgeWV0LgogICAgIGRlZiBwYXJzZUV4cHJlc3Npb24oc2VsZiwgbWluUHJlY2VkZW5jZSk6Ci0gICAgICAgIHNlbGYuc2tpcF9zcGFjZXMoKQotICAgICAgICBpZiBzZWxmLmkgPj0gc2VsZi5uOgorICAgICAgICBpZiBzZWxmLl9pbmRleCA+PSBzZWxmLl9udW1fdG9rZW5zOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgICAgICBub2RlID0gc2VsZi5wYXJzZVByaW1hcnkoKQotICAgICAgICB3aGlsZSBzZWxmLnRva2VuKCkgIT0gTm9uZSBhbmQgc2VsZi5pc0JpbmFyeShzZWxmLnRva2VuKCkpIGFuZCBzZWxmLnByZWNlZGVuY2Uoc2VsZi50b2tlbigpKSA+PSBtaW5QcmVjZWRlbmNlOgorICAgICAgICB3aGlsZSAoc2VsZi50b2tlbigpIGFuZCBzZWxmLmlzQmluYXJ5KHNlbGYudG9rZW4oKSkgYW5kCisgICAgICAgICAgICAgICBzZWxmLnByZWNlZGVuY2Uoc2VsZi50b2tlbigpKSA+PSBtaW5QcmVjZWRlbmNlKToKICAgICAgICAgICAgIG9wID0gc2VsZi50b2tlbigpCiAgICAgICAgICAgICBzZWxmLm5leHRUb2tlbigpCiAgICAgICAgICAgICByaHMgPSBzZWxmLnBhcnNlRXhwcmVzc2lvbihzZWxmLnByZWNlZGVuY2Uob3ApICsgMSkKQEAgLTc2OCw3ICs2MDUsNiBAQAogCiAgICAgICAgIHJldHVybiBub2RlCiAKLQogICAgIGRlZiBwYXJzZVByaW1hcnkoc2VsZik6CiAgICAgICAgIG9wID0gc2VsZi50b2tlbigpCiAgICAgICAgIGlmIHNlbGYuaXNVbmFyeShvcCk6CkBAIC03ODQsNTEgKzYyMCw0NyBAQAogICAgICAgICAgICAgc2VsZi5uZXh0VG9rZW4oKQogICAgICAgICAgICAgcHJpbWFyeSA9IHNlbGYucGFyc2VFeHByZXNzaW9uKDApCiAgICAgICAgICAgICBzZWxmLmV4cGVjdElkKCI6IikKLSAgICAgICAgZWxpZiBvcC5pZCA9PSB0b2tOVU1CRVI6CisgICAgICAgIGVsaWYgb3AuaWQgPT0gJysnIG9yIG9wLmlkID09ICctJyBvciBvcC5raW5kID09IFRva2VuS2luZC5MSVRFUkFMOgogICAgICAgICAgICAgcHJpbWFyeSA9IHNlbGYuaXNfbnVtYmVyKCkKLSAgICAgICAgZWxpZiBvcC5pZCA9PSB0b2tJREVOVDoKLSAgICAgICAgICAgIHByaW1hcnkgPSBzZWxmLmlzX2NhbGxfb3JfaWRlbnQoKQorICAgICAgICAjIENoZWNraW5nIGZvciAnZGVmaW5lZCcgbmVlZHMgdG8gY29tZSBmaXJzdCBub3cgYmVjYXVzZSAnZGVmaW5lZCcgaXMKKyAgICAgICAgIyByZWNvZ25pemVkIGFzIElERU5USUZJRVIuCiAgICAgICAgIGVsaWYgb3AuaWQgPT0gdG9rREVGSU5FRDoKICAgICAgICAgICAgIHByaW1hcnkgPSBzZWxmLmlzX2RlZmluZWQoKQorICAgICAgICBlbGlmIG9wLmtpbmQgPT0gVG9rZW5LaW5kLklERU5USUZJRVI6CisgICAgICAgICAgICBwcmltYXJ5ID0gc2VsZi5pc19jYWxsX29yX2lkZW50KCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYudGhyb3coQmFkRXhwZWN0ZWRUb2tlbiwgImRpZG4ndCBleHBlY3QgdG8gc2VlIGEgJXMgaW4gZmFjdG9yIiAlIChzZWxmLnRva1tzZWxmLmldLmlkKSkKLQotICAgICAgICBzZWxmLnNraXBfc3BhY2VzKCkKLQotICAgICAgICByZXR1cm4gcHJpbWFyeTsKLQorICAgICAgICAgICAgc2VsZi50aHJvdyhCYWRFeHBlY3RlZFRva2VuLAorICAgICAgICAgICAgICAgICAgICAgICAiZGlkbid0IGV4cGVjdCB0byBzZWUgYSAlcyBpbiBmYWN0b3IiICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50b2tlbnNbc2VsZi5faW5kZXhdLmlkKSkKKyAgICAgICAgcmV0dXJuIHByaW1hcnkKIAogICAgIGRlZiBpc0JpbmFyeShzZWxmLCB0b2tlbik6CiAgICAgICAgIHJldHVybiB0b2tlbi5pZCBpbiBzZWxmLmJpbmFyaWVzCiAKLQogICAgIGRlZiBpc1VuYXJ5KHNlbGYsIHRva2VuKToKICAgICAgICAgcmV0dXJuIHRva2VuLmlkIGluIHNlbGYudW5hcmllcwogCi0KICAgICBkZWYgcHJlY2VkZW5jZShzZWxmLCB0b2tlbik6CiAgICAgICAgIHJldHVybiBzZWxmLnByZWNlZGVuY2VzLmdldCh0b2tlbi5pZCkKIAotCiAgICAgZGVmIHRva2VuKHNlbGYpOgotICAgICAgICBpZiBzZWxmLmkgPj0gc2VsZi5uOgorICAgICAgICBpZiBzZWxmLl9pbmRleCA+PSBzZWxmLl9udW1fdG9rZW5zOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgcmV0dXJuIHNlbGYudG9rW3NlbGYuaV0KLQorICAgICAgICByZXR1cm4gc2VsZi50b2tlbnNbc2VsZi5faW5kZXhdCiAKICAgICBkZWYgbmV4dFRva2VuKHNlbGYpOgotICAgICAgICBzZWxmLmkgKz0gMQotICAgICAgICBzZWxmLnNraXBfc3BhY2VzKCkKLSAgICAgICAgaWYgc2VsZi5pID49IHNlbGYubjoKKyAgICAgICAgc2VsZi5faW5kZXggKz0gMQorICAgICAgICBpZiBzZWxmLl9pbmRleCA+PSBzZWxmLl9udW1fdG9rZW5zOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgcmV0dXJuIHNlbGYudG9rW3NlbGYuaV0KLQorICAgICAgICByZXR1cm4gc2VsZi50b2tlbnNbc2VsZi5faW5kZXhdCiAKICAgICBkZWYgZHVtcF9ub2RlKHNlbGYsIGUpOgogICAgICAgICBvcCA9IGVbMF0KICAgICAgICAgbGluZSA9ICIoIiArIG9wCiAgICAgICAgIGlmIG9wID09ICJpbnQiOgogICAgICAgICAgICAgbGluZSArPSAiICVkKSIgJSBlWzFdCisgICAgICAgIGVsaWYgb3AgPT0gIm9jdCI6CisgICAgICAgICAgICBsaW5lICs9ICIgMCVvKSIgJSBlWzFdCiAgICAgICAgIGVsaWYgb3AgPT0gImhleCI6CiAgICAgICAgICAgICBsaW5lICs9ICIgMHgleCkiICUgZVsxXQogICAgICAgICBlbGlmIG9wID09ICJpZGVudCI6CkBAIC04NjQsMzEgKzY5NiwzMyBAQAogICAgICAgICAgICAgcmV0dXJuICIlZCIgJSBlWzFdCiAgICAgICAgIGlmIG9wID09ICJoZXgiOgogICAgICAgICAgICAgcmV0dXJuICIweCV4IiAlIGVbMV0KKyAgICAgICAgaWYgb3AgPT0gIm9jdCI6CisgICAgICAgICAgICByZXR1cm4gIjAlbyIgJSBlWzFdCiAgICAgICAgIGlmIG9wID09ICJpZGVudCI6CiAgICAgICAgICAgICAjIFhYWDogc2hvdWxkIHRyeSB0byBleHBhbmQKICAgICAgICAgICAgIHJldHVybiBlWzFdCiAgICAgICAgIGlmIG9wID09ICJkZWZpbmVkIjoKICAgICAgICAgICAgIHJldHVybiAiZGVmaW5lZCglcykiICUgZVsxXQogCi0gICAgICAgIHByZWMgPSBDcHBFeHByLnByZWNlZGVuY2VzLmdldChvcCwxMDAwKQotICAgICAgICBhcmcgID0gZVsxXQorICAgICAgICBwcmVjID0gQ3BwRXhwci5wcmVjZWRlbmNlcy5nZXQob3AsIDEwMDApCisgICAgICAgIGFyZyA9IGVbMV0KICAgICAgICAgaWYgb3AgaW4gQ3BwRXhwci51bmFyaWVzOgogICAgICAgICAgICAgYXJnX3NyYyA9IHNlbGYuc291cmNlX25vZGUoYXJnKQotICAgICAgICAgICAgYXJnX29wICA9IGFyZ1swXQotICAgICAgICAgICAgYXJnX3ByZWMgPSBDcHBFeHByLnByZWNlZGVuY2VzLmdldChhcmdbMF0sMTAwMCkKKyAgICAgICAgICAgIGFyZ19vcCA9IGFyZ1swXQorICAgICAgICAgICAgYXJnX3ByZWMgPSBDcHBFeHByLnByZWNlZGVuY2VzLmdldChhcmdfb3AsIDEwMDApCiAgICAgICAgICAgICBpZiBhcmdfcHJlYyA8IHByZWM6CiAgICAgICAgICAgICAgICAgcmV0dXJuICIhKCIgKyBhcmdfc3JjICsgIikiCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiAiISIgKyBhcmdfc3JjCiAgICAgICAgIGlmIG9wIGluIENwcEV4cHIuYmluYXJpZXM6Ci0gICAgICAgICAgICBhcmcyICAgICA9IGVbMl0KLSAgICAgICAgICAgIGFyZzFfb3AgID0gYXJnWzBdCi0gICAgICAgICAgICBhcmcyX29wICA9IGFyZzJbMF0KKyAgICAgICAgICAgIGFyZzIgPSBlWzJdCisgICAgICAgICAgICBhcmcxX29wID0gYXJnWzBdCisgICAgICAgICAgICBhcmcyX29wID0gYXJnMlswXQogICAgICAgICAgICAgYXJnMV9zcmMgPSBzZWxmLnNvdXJjZV9ub2RlKGFyZykKICAgICAgICAgICAgIGFyZzJfc3JjID0gc2VsZi5zb3VyY2Vfbm9kZShhcmcyKQotICAgICAgICAgICAgaWYgQ3BwRXhwci5wcmVjZWRlbmNlcy5nZXQoYXJnMV9vcCwxMDAwKSA8IHByZWM6CisgICAgICAgICAgICBpZiBDcHBFeHByLnByZWNlZGVuY2VzLmdldChhcmcxX29wLCAxMDAwKSA8IHByZWM6CiAgICAgICAgICAgICAgICAgYXJnMV9zcmMgPSAiKCVzKSIgJSBhcmcxX3NyYwotICAgICAgICAgICAgaWYgQ3BwRXhwci5wcmVjZWRlbmNlcy5nZXQoYXJnMl9vcCwxMDAwKSA8IHByZWM6CisgICAgICAgICAgICBpZiBDcHBFeHByLnByZWNlZGVuY2VzLmdldChhcmcyX29wLCAxMDAwKSA8IHByZWM6CiAgICAgICAgICAgICAgICAgYXJnMl9zcmMgPSAiKCVzKSIgJSBhcmcyX3NyYwogCiAgICAgICAgICAgICByZXR1cm4gIiVzICVzICVzIiAlIChhcmcxX3NyYywgb3AsIGFyZzJfc3JjKQpAQCAtODk3LDE5ICs3MzEsMjEgQEAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuc291cmNlX25vZGUoc2VsZi5leHByKQogCi0gICAgZGVmIGludF9ub2RlKHNlbGYsZSk6Ci0gICAgICAgIGlmIGVbMF0gPT0gImludCI6CisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBpbnRfbm9kZShlKToKKyAgICAgICAgaWYgZVswXSBpbiBbImludCIsICJvY3QiLCAiaGV4Il06CiAgICAgICAgICAgICByZXR1cm4gZVsxXQotICAgICAgICBlbGlmIGVbMV0gPT0gImhleCI6Ci0gICAgICAgICAgICByZXR1cm4gaW50KGVbMV0sMTYpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHRvSW50KHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5pbnRfbm9kZShzZWxmLmV4cHIpCiAKLSAgICBkZWYgb3B0aW1pemVfbm9kZShzZWxmLCBlLCBtYWNyb3M9e30pOgorICAgIGRlZiBvcHRpbWl6ZV9ub2RlKHNlbGYsIGUsIG1hY3Jvcz1Ob25lKToKKyAgICAgICAgaWYgbWFjcm9zIGlzIE5vbmU6CisgICAgICAgICAgICBtYWNyb3MgPSB7fQogICAgICAgICBvcCA9IGVbMF0KKwogICAgICAgICBpZiBvcCA9PSAiZGVmaW5lZCI6CiAgICAgICAgICAgICBvcCwgbmFtZSA9IGUKICAgICAgICAgICAgIGlmIG1hY3Jvcy5oYXNfa2V5KG5hbWUpOgpAQCAtOTE5LDcgKzc1NSw3IEBACiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gaW50KG1hY3Jvc1tuYW1lXSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoImludCIsIHZhbHVlKQotICAgICAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgiZGVmaW5lZCIsIG1hY3Jvc1tuYW1lXSkKIAogICAgICAgICAgICAgaWYga2VybmVsX3JlbW92ZV9jb25maWdfbWFjcm9zIGFuZCBuYW1lLnN0YXJ0c3dpdGgoIkNPTkZJR18iKToKQEAgLTkzMyw3ICs3NjksNyBAQAogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBpbnQobWFjcm9zW25hbWVdKQogICAgICAgICAgICAgICAgICAgICBleHBhbmRlZCA9ICgiaW50IiwgdmFsdWUpCi0gICAgICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgICAgICBleHBhbmRlZCA9ICgiaWRlbnQiLCBtYWNyb3NbbmFtZV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYub3B0aW1pemVfbm9kZShleHBhbmRlZCwgbWFjcm9zKQogICAgICAgICAgICAgcmV0dXJuIGUKQEAgLTk1MCwxNiArNzg2LDE2IEBACiAKICAgICAgICAgZWxpZiBvcCA9PSAiJiYiOgogICAgICAgICAgICAgb3AsIGwsIHIgPSBlCi0gICAgICAgICAgICBsICA9IHNlbGYub3B0aW1pemVfbm9kZShsLCBtYWNyb3MpCi0gICAgICAgICAgICByICA9IHNlbGYub3B0aW1pemVfbm9kZShyLCBtYWNyb3MpCisgICAgICAgICAgICBsID0gc2VsZi5vcHRpbWl6ZV9ub2RlKGwsIG1hY3JvcykKKyAgICAgICAgICAgIHIgPSBzZWxmLm9wdGltaXplX25vZGUociwgbWFjcm9zKQogICAgICAgICAgICAgbGkgPSBzZWxmLmludF9ub2RlKGwpCiAgICAgICAgICAgICByaSA9IHNlbGYuaW50X25vZGUocikKLSAgICAgICAgICAgIGlmIGxpICE9IE5vbmU6CisgICAgICAgICAgICBpZiBsaSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBpZiBsaSA9PSAwOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gKCJpbnQiLCAwKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByCi0gICAgICAgICAgICBlbGlmIHJpICE9IE5vbmU6CisgICAgICAgICAgICBlbGlmIHJpIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGlmIHJpID09IDA6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoImludCIsIDApCiAgICAgICAgICAgICAgICAgZWxzZToKQEAgLTk2OCwxNiArODA0LDE2IEBACiAKICAgICAgICAgZWxpZiBvcCA9PSAifHwiOgogICAgICAgICAgICAgb3AsIGwsIHIgPSBlCi0gICAgICAgICAgICBsICA9IHNlbGYub3B0aW1pemVfbm9kZShsLCBtYWNyb3MpCi0gICAgICAgICAgICByICA9IHNlbGYub3B0aW1pemVfbm9kZShyLCBtYWNyb3MpCisgICAgICAgICAgICBsID0gc2VsZi5vcHRpbWl6ZV9ub2RlKGwsIG1hY3JvcykKKyAgICAgICAgICAgIHIgPSBzZWxmLm9wdGltaXplX25vZGUociwgbWFjcm9zKQogICAgICAgICAgICAgbGkgPSBzZWxmLmludF9ub2RlKGwpCiAgICAgICAgICAgICByaSA9IHNlbGYuaW50X25vZGUocikKLSAgICAgICAgICAgIGlmIGxpICE9IE5vbmU6CisgICAgICAgICAgICBpZiBsaSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBpZiBsaSA9PSAwOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcgogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoImludCIsIDEpCi0gICAgICAgICAgICBlbGlmIHJpICE9IE5vbmU6CisgICAgICAgICAgICBlbGlmIHJpIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGlmIHJpID09IDA6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsCiAgICAgICAgICAgICAgICAgZWxzZToKQEAgLTk4Nyw1MCArODIzLDU0IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gZQogCi0gICAgZGVmIG9wdGltaXplKHNlbGYsbWFjcm9zPXt9KToKKyAgICBkZWYgb3B0aW1pemUoc2VsZiwgbWFjcm9zPU5vbmUpOgorICAgICAgICBpZiBtYWNyb3MgaXMgTm9uZToKKyAgICAgICAgICAgIG1hY3JvcyA9IHt9CiAgICAgICAgIHNlbGYuZXhwciA9IHNlbGYub3B0aW1pemVfbm9kZShzZWxmLmV4cHIsIG1hY3JvcykKIAotICAgIGRlZiBpc19lcXVhbF9ub2RlKHNlbGYsZTEsZTIpOgotICAgICAgICBpZiBlMVswXSAhPSBlMlswXSBvciBsZW4oZTEpICE9IGxlbihlMik6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICBvcCA9IGUxWzBdCi0gICAgICAgIGlmIG9wID09ICJpbnQiIG9yIG9wID09ICJoZXgiIG9yIG9wID09ICIhIiBvciBvcCA9PSAiZGVmaW5lZCI6Ci0gICAgICAgICAgICByZXR1cm4gZTFbMF0gPT0gZTJbMF0KLQotICAgICAgICByZXR1cm4gc2VsZi5pc19lcXVhbF9ub2RlKGUxWzFdLGUyWzFdKSBhbmQgc2VsZi5pc19lcXVhbF9ub2RlKGUxWzJdLGUyWzJdKQotCi0gICAgZGVmIGlzX2VxdWFsKHNlbGYsb3RoZXIpOgotICAgICAgICByZXR1cm4gc2VsZi5pc19lcXVhbF9ub2RlKHNlbGYuZXhwcixvdGhlci5leHByKQogCiBkZWYgdGVzdF9jcHBfZXhwcihleHByLCBleHBlY3RlZCk6Ci0gICAgZSA9IENwcEV4cHIoIENwcExpbmVUb2tlbml6ZXIoIGV4cHIgKS50b1Rva2VuTGlzdCgpICkKKyAgICBlID0gQ3BwRXhwcihDcHBTdHJpbmdUb2tlbml6ZXIoZXhwcikudG9rZW5zKQogICAgIHMxID0gcmVwcihlKQogICAgIGlmIHMxICE9IGV4cGVjdGVkOgotICAgICAgICBwcmludCAiW0ZBSUxdOiBleHByZXNzaW9uICclcycgZ2VuZXJhdGVzICclcycsIHNob3VsZCBiZSAnJXMnIiAlIChleHByLCBzMSwgZXhwZWN0ZWQpCisgICAgICAgIHByaW50ICgiW0ZBSUxdOiBleHByZXNzaW9uICclcycgZ2VuZXJhdGVzICclcycsIHNob3VsZCBiZSAiCisgICAgICAgICAgICAgICAiJyVzJyIgJSAoZXhwciwgczEsIGV4cGVjdGVkKSkKICAgICAgICAgZ2xvYmFsIGZhaWx1cmVfY291bnQKICAgICAgICAgZmFpbHVyZV9jb3VudCArPSAxCiAKLWRlZiB0ZXN0X2NwcF9leHByX29wdGltKGV4cHIsIGV4cGVjdGVkLCBtYWNyb3M9e30pOgotICAgIGUgPSBDcHBFeHByKCBDcHBMaW5lVG9rZW5pemVyKCBleHByICkudG9Ub2tlbkxpc3QoKSApCisKK2RlZiB0ZXN0X2NwcF9leHByX29wdGltKGV4cHIsIGV4cGVjdGVkLCBtYWNyb3M9Tm9uZSk6CisgICAgaWYgbWFjcm9zIGlzIE5vbmU6CisgICAgICAgIG1hY3JvcyA9IHt9CisgICAgZSA9IENwcEV4cHIoQ3BwU3RyaW5nVG9rZW5pemVyKGV4cHIpLnRva2VucykKICAgICBlLm9wdGltaXplKG1hY3JvcykKICAgICBzMSA9IHJlcHIoZSkKICAgICBpZiBzMSAhPSBleHBlY3RlZDoKLSAgICAgICAgcHJpbnQgIltGQUlMXTogb3B0aW1pemVkIGV4cHJlc3Npb24gJyVzJyBnZW5lcmF0ZXMgJyVzJyB3aXRoIG1hY3JvcyAlcywgc2hvdWxkIGJlICclcyciICUgKGV4cHIsIHMxLCBtYWNyb3MsIGV4cGVjdGVkKQorICAgICAgICBwcmludCAoIltGQUlMXTogb3B0aW1pemVkIGV4cHJlc3Npb24gJyVzJyBnZW5lcmF0ZXMgJyVzJyB3aXRoICIKKyAgICAgICAgICAgICAgICJtYWNyb3MgJXMsIHNob3VsZCBiZSAnJXMnIiAlIChleHByLCBzMSwgbWFjcm9zLCBleHBlY3RlZCkpCiAgICAgICAgIGdsb2JhbCBmYWlsdXJlX2NvdW50CiAgICAgICAgIGZhaWx1cmVfY291bnQgKz0gMQogCisKIGRlZiB0ZXN0X2NwcF9leHByX3NvdXJjZShleHByLCBleHBlY3RlZCk6Ci0gICAgZSA9IENwcEV4cHIoIENwcExpbmVUb2tlbml6ZXIoIGV4cHIgKS50b1Rva2VuTGlzdCgpICkKKyAgICBlID0gQ3BwRXhwcihDcHBTdHJpbmdUb2tlbml6ZXIoZXhwcikudG9rZW5zKQogICAgIHMxID0gc3RyKGUpCiAgICAgaWYgczEgIT0gZXhwZWN0ZWQ6Ci0gICAgICAgIHByaW50ICJbRkFJTF06IHNvdXJjZSBleHByZXNzaW9uICclcycgZ2VuZXJhdGVzICclcycsIHNob3VsZCBiZSAnJXMnIiAlIChleHByLCBzMSwgZXhwZWN0ZWQpCisgICAgICAgIHByaW50ICgiW0ZBSUxdOiBzb3VyY2UgZXhwcmVzc2lvbiAnJXMnIGdlbmVyYXRlcyAnJXMnLCBzaG91bGQgIgorICAgICAgICAgICAgICAgImJlICclcyciICUgKGV4cHIsIHMxLCBleHBlY3RlZCkpCiAgICAgICAgIGdsb2JhbCBmYWlsdXJlX2NvdW50CiAgICAgICAgIGZhaWx1cmVfY291bnQgKz0gMQogCisKIGRlZiB0ZXN0X0NwcEV4cHIoKToKICAgICB0ZXN0X2NwcF9leHByKCIwIiwgIihpbnQgMCkiKQogICAgIHRlc3RfY3BwX2V4cHIoIjEiLCAiKGludCAxKSIpCisgICAgdGVzdF9jcHBfZXhwcigiLTUiLCAiKGludCAtNSkiKQorICAgIHRlc3RfY3BwX2V4cHIoIisxIiwgIihpbnQgMSkiKQorICAgIHRlc3RfY3BwX2V4cHIoIjBVIiwgIihpbnQgMCkiKQorICAgIHRlc3RfY3BwX2V4cHIoIjAxNSIsICIob2N0IDAxNSkiKQorICAgIHRlc3RfY3BwX2V4cHIoIjAxNWwiLCAiKG9jdCAwMTUpIikKKyAgICB0ZXN0X2NwcF9leHByKCIweDNlIiwgIihoZXggMHgzZSkiKQogICAgIHRlc3RfY3BwX2V4cHIoIigwKSIsICIoaW50IDApIikKICAgICB0ZXN0X2NwcF9leHByKCIxICYmIDEiLCAiKCYmIChpbnQgMSkgKGludCAxKSkiKQogICAgIHRlc3RfY3BwX2V4cHIoIjEgJiYgMCIsICIoJiYgKGludCAxKSAoaW50IDApKSIpCkBAIC0xMDM5LDEzICs4NzksMTcgQEAKICAgICB0ZXN0X2NwcF9leHByKCJkZWZpbmVkKEVYQU1QTEUpIiwgIihkZWZpbmVkIEVYQU1QTEUpIikKICAgICB0ZXN0X2NwcF9leHByKCJkZWZpbmVkICggRVhBTVBMRSApICIsICIoZGVmaW5lZCBFWEFNUExFKSIpCiAgICAgdGVzdF9jcHBfZXhwcigiIWRlZmluZWQoRVhBTVBMRSkiLCAiKCEgKGRlZmluZWQgRVhBTVBMRSkpIikKLSAgICB0ZXN0X2NwcF9leHByKCJkZWZpbmVkKEFCQykgfHwgZGVmaW5lZChCSU5HTykiLCAiKHx8IChkZWZpbmVkIEFCQykgKGRlZmluZWQgQklOR08pKSIpCi0gICAgdGVzdF9jcHBfZXhwcigiRk9PKEJBUikiLCAiKGNhbGwgRk9PIFtCQVJdKSIpCi0gICAgdGVzdF9jcHBfZXhwcigiQSA9PSAxIHx8IGRlZmluZWQoQikiLCAiKHx8ICg9PSAoaWRlbnQgQSkgKGludCAxKSkgKGRlZmluZWQgQikpIikKKyAgICB0ZXN0X2NwcF9leHByKCJkZWZpbmVkKEFCQykgfHwgZGVmaW5lZChCSU5HTykiLAorICAgICAgICAgICAgICAgICAgIih8fCAoZGVmaW5lZCBBQkMpIChkZWZpbmVkIEJJTkdPKSkiKQorICAgIHRlc3RfY3BwX2V4cHIoIkZPTyhCQVIsNSkiLCAiKGNhbGwgRk9PIFtCQVIsNV0pIikKKyAgICB0ZXN0X2NwcF9leHByKCJBID09IDEgfHwgZGVmaW5lZChCKSIsCisgICAgICAgICAgICAgICAgICAiKHx8ICg9PSAoaWRlbnQgQSkgKGludCAxKSkgKGRlZmluZWQgQikpIikKIAogICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIjAiLCAiKGludCAwKSIpCiAgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiMSIsICIoaW50IDEpIikKICAgICB0ZXN0X2NwcF9leHByX29wdGltKCIxICYmIDEiLCAiKGludCAxKSIpCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiMSAmJiArMSIsICIoaW50IDEpIikKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCIweDEgJiYgMDEiLCAiKG9jdCAwMSkiKQogICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIjEgJiYgMCIsICIoaW50IDApIikKICAgICB0ZXN0X2NwcF9leHByX29wdGltKCIwICYmIDEiLCAiKGludCAwKSIpCiAgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiMCAmJiAwIiwgIihpbnQgMCkiKQpAQCAtMTA1NCwzMiArODk4LDQ4IEBACiAgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiMCB8fCAxIiwgIihpbnQgMSkiKQogICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIjAgfHwgMCIsICIoaW50IDApIikKICAgICB0ZXN0X2NwcF9leHByX29wdGltKCJBIiwgIihpZGVudCBBKSIpCi0gICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiQSIsICIoaW50IDEpIiwgeyAiQSI6IDEgfSkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJBIHx8IEIiLCAiKGludCAxKSIsIHsgIkEiOiAxIH0pCi0gICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiQSB8fCBCIiwgIihpbnQgMSkiLCB7ICJCIjogMSB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkEgJiYgQiIsICIoaWRlbnQgQikiLCB7ICJBIjogMSB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkEgJiYgQiIsICIoaWRlbnQgQSkiLCB7ICJCIjogMSB9KQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkEiLCAiKGludCAxKSIsIHsiQSI6IDF9KQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkEgfHwgQiIsICIoaW50IDEpIiwgeyJBIjogMX0pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiQSB8fCBCIiwgIihpbnQgMSkiLCB7IkIiOiAxfSkKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCJBICYmIEIiLCAiKGlkZW50IEIpIiwgeyJBIjogMX0pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiQSAmJiBCIiwgIihpZGVudCBBKSIsIHsiQiI6IDF9KQogICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkEgJiYgQiIsICIoJiYgKGlkZW50IEEpIChpZGVudCBCKSkiKQogICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkVYQU1QTEUiLCAiKGlkZW50IEVYQU1QTEUpIikKICAgICB0ZXN0X2NwcF9leHByX29wdGltKCJFWEFNUExFIC0gMyIsICIoLSAoaWRlbnQgRVhBTVBMRSkgKGludCAzKSkiKQogICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoRVhBTVBMRSkiLCAiKGRlZmluZWQgRVhBTVBMRSkiKQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoRVhBTVBMRSkiLCAiKGRlZmluZWQgWE9XT0UpIiwgeyAiRVhBTVBMRSI6ICJYT1dPRSIgfSkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEVYQU1QTEUpIiwgIihpbnQgMCkiLCB7ICJFWEFNUExFIjoga0NwcFVuZGVmaW5lZE1hY3JvfSkKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEVYQU1QTEUpIiwgIihkZWZpbmVkIFhPV09FKSIsCisgICAgICAgICAgICAgICAgICAgICAgICB7IkVYQU1QTEUiOiAiWE9XT0UifSkKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEVYQU1QTEUpIiwgIihpbnQgMCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgeyJFWEFNUExFIjoga0NwcFVuZGVmaW5lZE1hY3JvfSkKICAgICB0ZXN0X2NwcF9leHByX29wdGltKCIhZGVmaW5lZChFWEFNUExFKSIsICIoISAoZGVmaW5lZCBFWEFNUExFKSkiKQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIiFkZWZpbmVkKEVYQU1QTEUpIiwgIighIChkZWZpbmVkIFhPV09FKSkiLCB7ICJFWEFNUExFIiA6ICJYT1dPRSIgfSkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCIhZGVmaW5lZChFWEFNUExFKSIsICIoaW50IDEpIiwgeyAiRVhBTVBMRSIgOiBrQ3BwVW5kZWZpbmVkTWFjcm8gfSkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEEpIHx8IGRlZmluZWQoQikiLCAiKHx8IChkZWZpbmVkIEEpIChkZWZpbmVkIEIpKSIpCi0gICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSB8fCBkZWZpbmVkKEIpIiwgIihpbnQgMSkiLCB7ICJBIiA6ICIxIiB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgfHwgZGVmaW5lZChCKSIsICIoaW50IDEpIiwgeyAiQiIgOiAiMSIgfSkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEEpIHx8IGRlZmluZWQoQikiLCAiKGRlZmluZWQgQSkiLCB7ICJCIiA6IGtDcHBVbmRlZmluZWRNYWNybyB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgfHwgZGVmaW5lZChCKSIsICIoaW50IDApIiwgeyAiQSIgOiBrQ3BwVW5kZWZpbmVkTWFjcm8sICJCIiA6IGtDcHBVbmRlZmluZWRNYWNybyB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgJiYgZGVmaW5lZChCKSIsICIoJiYgKGRlZmluZWQgQSkgKGRlZmluZWQgQikpIikKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEEpICYmIGRlZmluZWQoQikiLCAiKGRlZmluZWQgQikiLCB7ICJBIiA6ICIxIiB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgJiYgZGVmaW5lZChCKSIsICIoZGVmaW5lZCBBKSIsIHsgIkIiIDogIjEiIH0pCi0gICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSAmJiBkZWZpbmVkKEIpIiwgIihpbnQgMCkiLCB7ICJCIiA6IGtDcHBVbmRlZmluZWRNYWNybyB9KQotICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgJiYgZGVmaW5lZChCKSIsICIoaW50IDApIiwgeyAiQSIgOiBrQ3BwVW5kZWZpbmVkTWFjcm8gfSkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJBID09IDEgfHwgZGVmaW5lZChCKSIsICIofHwgKD09IChpZGVudCBBKSAoaW50IDEpKSAoZGVmaW5lZCBCKSkiICkKLSAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKF9fS0VSTkVMX18pIHx8ICFkZWZpbmVkKF9fR0xJQkNfXykgfHwgKF9fR0xJQkNfXyA8IDIpIiwgIih8fCAoISAoZGVmaW5lZCBfX0dMSUJDX18pKSAoPCAoaWRlbnQgX19HTElCQ19fKSAoaW50IDIpKSkiLCB7ICJfX0tFUk5FTF9fIjoga0NwcFVuZGVmaW5lZE1hY3JvIH0pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiIWRlZmluZWQoRVhBTVBMRSkiLCAiKCEgKGRlZmluZWQgWE9XT0UpKSIsCisgICAgICAgICAgICAgICAgICAgICAgICB7IkVYQU1QTEUiOiAiWE9XT0UifSkKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCIhZGVmaW5lZChFWEFNUExFKSIsICIoaW50IDEpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHsiRVhBTVBMRSI6IGtDcHBVbmRlZmluZWRNYWNyb30pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSB8fCBkZWZpbmVkKEIpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICIofHwgKGRlZmluZWQgQSkgKGRlZmluZWQgQikpIikKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEEpIHx8IGRlZmluZWQoQikiLCAiKGludCAxKSIsIHsiQSI6ICIxIn0pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSB8fCBkZWZpbmVkKEIpIiwgIihpbnQgMSkiLCB7IkIiOiAiMSJ9KQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgfHwgZGVmaW5lZChCKSIsICIoZGVmaW5lZCBBKSIsCisgICAgICAgICAgICAgICAgICAgICAgICB7IkIiOiBrQ3BwVW5kZWZpbmVkTWFjcm99KQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgfHwgZGVmaW5lZChCKSIsICIoaW50IDApIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHsiQSI6IGtDcHBVbmRlZmluZWRNYWNybywgIkIiOiBrQ3BwVW5kZWZpbmVkTWFjcm99KQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oImRlZmluZWQoQSkgJiYgZGVmaW5lZChCKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAiKCYmIChkZWZpbmVkIEEpIChkZWZpbmVkIEIpKSIpCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSAmJiBkZWZpbmVkKEIpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICIoZGVmaW5lZCBCKSIsIHsiQSI6ICIxIn0pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSAmJiBkZWZpbmVkKEIpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICIoZGVmaW5lZCBBKSIsIHsiQiI6ICIxIn0pCisgICAgdGVzdF9jcHBfZXhwcl9vcHRpbSgiZGVmaW5lZChBKSAmJiBkZWZpbmVkKEIpIiwgIihpbnQgMCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgeyJCIjoga0NwcFVuZGVmaW5lZE1hY3JvfSkKKyAgICB0ZXN0X2NwcF9leHByX29wdGltKCJkZWZpbmVkKEEpICYmIGRlZmluZWQoQikiLAorICAgICAgICAgICAgICAgICAgICAgICAgIihpbnQgMCkiLCB7IkEiOiBrQ3BwVW5kZWZpbmVkTWFjcm99KQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oIkEgPT0gMSB8fCBkZWZpbmVkKEIpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICIofHwgKD09IChpZGVudCBBKSAoaW50IDEpKSAoZGVmaW5lZCBCKSkiKQorICAgIHRlc3RfY3BwX2V4cHJfb3B0aW0oCisgICAgICAgICJkZWZpbmVkKF9fS0VSTkVMX18pIHx8ICFkZWZpbmVkKF9fR0xJQkNfXykgfHwgKF9fR0xJQkNfXyA8IDIpIiwKKyAgICAgICAgIih8fCAoISAoZGVmaW5lZCBfX0dMSUJDX18pKSAoPCAoaWRlbnQgX19HTElCQ19fKSAoaW50IDIpKSkiLAorICAgICAgICB7Il9fS0VSTkVMX18iOiBrQ3BwVW5kZWZpbmVkTWFjcm99KQogCiAgICAgdGVzdF9jcHBfZXhwcl9zb3VyY2UoIjAiLCAiMCIpCiAgICAgdGVzdF9jcHBfZXhwcl9zb3VyY2UoIjEiLCAiMSIpCkBAIC0xMDk4LDE3OSArOTU4LDE3NiBAQAogICAgIHRlc3RfY3BwX2V4cHJfc291cmNlKCJBID09IDEgfHwgZGVmaW5lZChCKSIsICJBID09IDEgfHwgZGVmaW5lZChCKSIpCiAKIAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIwotIyMjIyMgICAgICAgICAgQyBQIFAgICBCIEwgTyBDIEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIwotIyMjIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIworIyMjIyMgICAgICAgICAgQyBQIFAgICBCIEwgTyBDIEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotY2xhc3MgQmxvY2s6Ci0gICAgIiIiYSBjbGFzcyB1c2VkIHRvIG1vZGVsIGEgYmxvY2sgb2YgaW5wdXQgc291cmNlIHRleHQuIHRoZXJlIGFyZSB0d28gYmxvY2sgdHlwZXM6Ci0gICAgICAgIC0gZGlyZWN0aXZlIGJsb2NrczogY29udGFpbiB0aGUgdG9rZW5zIG9mIGEgc2luZ2xlIHByZS1wcm9jZXNzb3IgZGlyZWN0aXZlIChlLmcuICNpZikKLSAgICAgICAgLSB0ZXh0IGJsb2NrcywgY29udGFpbiB0aGUgdG9rZW5zIG9mIG5vbi1kaXJlY3RpdmUgYmxvY2tzCiAKLSAgICAgICB0aGUgY3BwIHBhcnNlciBjbGFzcyBiZWxvdyB3aWxsIHRyYW5zZm9ybSBhbiBpbnB1dCBzb3VyY2UgZmlsZSBpbnRvIGEgbGlzdCBvZiBCbG9jawotICAgICAgIG9iamVjdHMgKGdyb3VwZWQgaW4gYSBCbG9ja0xpc3Qgb2JqZWN0IGZvciBjb252ZW5pZW5jZSkiIiIKK2NsYXNzIEJsb2NrKG9iamVjdCk6CisgICAgIiIiQSBjbGFzcyB1c2VkIHRvIG1vZGVsIGEgYmxvY2sgb2YgaW5wdXQgc291cmNlIHRleHQuCiAKLSAgICBkZWYgX19pbml0X18oc2VsZix0b2tlbnMsZGlyZWN0aXZlPU5vbmUsbGluZW5vPTApOgotICAgICAgICAiIiJpbml0aWFsaXplIGEgbmV3IGJsb2NrLCBpZiAnZGlyZWN0aXZlJyBpcyBOb25lLCB0aGlzIGlzIGEgdGV4dCBibG9jawotICAgICAgICAgICBOT1RFOiB0aGlzIGF1dG9tYXRpY2FsbHkgY29udmVydHMgJyNpZmRlZiBNQUNSTycgaW50byAnI2lmIGRlZmluZWQoTUFDUk8pJwotICAgICAgICAgICAgICAgICBhbmQgJyNpZm5kZWYgTUFDUk8nIGludG8gJyNpZiAhZGVmaW5lZChNQUNSTyknIiIiCisgICAgVGhlcmUgYXJlIHR3byBibG9jayB0eXBlczoKKyAgICAgIC0gZGlyZWN0aXZlIGJsb2NrczogY29udGFpbiB0aGUgdG9rZW5zIG9mIGEgc2luZ2xlIHByZS1wcm9jZXNzb3IKKyAgICAgICAgZGlyZWN0aXZlIChlLmcuICNpZikKKyAgICAgIC0gdGV4dCBibG9ja3MsIGNvbnRhaW4gdGhlIHRva2VucyBvZiBub24tZGlyZWN0aXZlIGJsb2NrcworCisgICAgVGhlIGNwcCBwYXJzZXIgY2xhc3MgYmVsb3cgd2lsbCB0cmFuc2Zvcm0gYW4gaW5wdXQgc291cmNlIGZpbGUgaW50byBhIGxpc3QKKyAgICBvZiBCbG9jayBvYmplY3RzIChncm91cGVkIGluIGEgQmxvY2tMaXN0IG9iamVjdCBmb3IgY29udmVuaWVuY2UpCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdG9rZW5zLCBkaXJlY3RpdmU9Tm9uZSwgbGluZW5vPTAsIGlkZW50aWZpZXI9Tm9uZSk6CisgICAgICAgICIiIkluaXRpYWxpemUgYSBuZXcgYmxvY2ssIGlmICdkaXJlY3RpdmUnIGlzIE5vbmUsIGl0IGlzIGEgdGV4dCBibG9jay4KKworICAgICAgICBOT1RFOiBUaGlzIGF1dG9tYXRpY2FsbHkgY29udmVydHMgJyNpZmRlZiBNQUNSTycgaW50bworICAgICAgICAnI2lmIGRlZmluZWQoTUFDUk8pJyBhbmQgJyNpZm5kZWYgTUFDUk8nIGludG8gJyNpZiAhZGVmaW5lZChNQUNSTyknLgorICAgICAgICAiIiIKKwogICAgICAgICBpZiBkaXJlY3RpdmUgPT0gImlmZGVmIjoKICAgICAgICAgICAgIHRvayA9IFRva2VuKCkKLSAgICAgICAgICAgIHRvay5zZXQodG9rREVGSU5FRCkKLSAgICAgICAgICAgIHRva2VucyA9IFsgdG9rIF0gKyB0b2tlbnMKKyAgICAgICAgICAgIHRvay5pZCA9IHRva0RFRklORUQKKyAgICAgICAgICAgIHRva2VucyA9IFt0b2tdICsgdG9rZW5zCiAgICAgICAgICAgICBkaXJlY3RpdmUgPSAiaWYiCiAKICAgICAgICAgZWxpZiBkaXJlY3RpdmUgPT0gImlmbmRlZiI6CiAgICAgICAgICAgICB0b2sxID0gVG9rZW4oKQogICAgICAgICAgICAgdG9rMiA9IFRva2VuKCkKLSAgICAgICAgICAgIHRvazEuc2V0KHRva05PVCkKLSAgICAgICAgICAgIHRvazIuc2V0KHRva0RFRklORUQpCi0gICAgICAgICAgICB0b2tlbnMgPSBbIHRvazEsIHRvazIgXSArIHRva2VucworICAgICAgICAgICAgdG9rMS5pZCA9IHRva05PVAorICAgICAgICAgICAgdG9rMi5pZCA9IHRva0RFRklORUQKKyAgICAgICAgICAgIHRva2VucyA9IFt0b2sxLCB0b2syXSArIHRva2VucwogICAgICAgICAgICAgZGlyZWN0aXZlID0gImlmIgogCi0gICAgICAgIHNlbGYudG9rZW5zICAgID0gdG9rZW5zCisgICAgICAgIHNlbGYudG9rZW5zID0gdG9rZW5zCiAgICAgICAgIHNlbGYuZGlyZWN0aXZlID0gZGlyZWN0aXZlCisgICAgICAgIHNlbGYuZGVmaW5lX2lkID0gaWRlbnRpZmllcgogICAgICAgICBpZiBsaW5lbm8gPiAwOgogICAgICAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYubGluZW5vID0gc2VsZi50b2tlbnNbMF0ubGluZW5vCisgICAgICAgICAgICBzZWxmLmxpbmVubyA9IHNlbGYudG9rZW5zWzBdLmxvY2F0aW9uLmxpbmUKIAogICAgICAgICBpZiBzZWxmLmlzSWYoKToKLSAgICAgICAgICAgIHNlbGYuZXhwciA9IENwcEV4cHIoIHNlbGYudG9rZW5zICkKKyAgICAgICAgICAgIHNlbGYuZXhwciA9IENwcEV4cHIoc2VsZi50b2tlbnMpCiAKICAgICBkZWYgaXNEaXJlY3RpdmUoc2VsZik6Ci0gICAgICAgICIiInJldHVybnMgVHJ1ZSBpZmYgdGhpcyBpcyBhIGRpcmVjdGl2ZSBibG9jayIiIgotICAgICAgICByZXR1cm4gc2VsZi5kaXJlY3RpdmUgIT0gTm9uZQorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZmYgdGhpcyBpcyBhIGRpcmVjdGl2ZSBibG9jay4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuZGlyZWN0aXZlIGlzIG5vdCBOb25lCiAKICAgICBkZWYgaXNDb25kaXRpb25hbChzZWxmKToKLSAgICAgICAgIiIicmV0dXJucyBUcnVlIGlmZiB0aGlzIGlzIGEgY29uZGl0aW9uYWwgZGlyZWN0aXZlIGJsb2NrIiIiCi0gICAgICAgIHJldHVybiBzZWxmLmRpcmVjdGl2ZSBpbiBbImlmIiwiaWZkZWYiLCJpZm5kZWYiLCJlbHNlIiwiZWxpZiIsImVuZGlmIl0KKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWZmIHRoaXMgaXMgYSBjb25kaXRpb25hbCBkaXJlY3RpdmUgYmxvY2suIiIiCisgICAgICAgIHJldHVybiBzZWxmLmRpcmVjdGl2ZSBpbiBbImlmIiwgImlmZGVmIiwgImlmbmRlZiIsICJlbHNlIiwgImVsaWYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmRpZiJdCiAKICAgICBkZWYgaXNEZWZpbmUoc2VsZik6Ci0gICAgICAgICIiInJldHVybnMgdGhlIG1hY3JvIG5hbWUgaW4gYSAjZGVmaW5lIGRpcmVjdGl2ZSwgb3IgTm9uZSBvdGhlcndpc2UiIiIKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBtYWNybyBuYW1lIGluIGEgI2RlZmluZSBkaXJlY3RpdmUsIG9yIE5vbmUgb3RoZXJ3aXNlLiIiIgogICAgICAgICBpZiBzZWxmLmRpcmVjdGl2ZSAhPSAiZGVmaW5lIjoKICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgcmV0dXJuIHNlbGYudG9rZW5zWzBdLnZhbHVlCisgICAgICAgIHJldHVybiBzZWxmLmRlZmluZV9pZAogCiAgICAgZGVmIGlzSWYoc2VsZik6Ci0gICAgICAgICIiInJldHVybnMgVHJ1ZSBpZmYgdGhpcyBpcyBhbiAjaWYtbGlrZSBkaXJlY3RpdmUgYmxvY2siIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuZGlyZWN0aXZlIGluIFsiaWYiLCJpZmRlZiIsImlmbmRlZiIsImVsaWYiXQorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZmYgdGhpcyBpcyBhbiAjaWYtbGlrZSBkaXJlY3RpdmUgYmxvY2suIiIiCisgICAgICAgIHJldHVybiBzZWxmLmRpcmVjdGl2ZSBpbiBbImlmIiwgImlmZGVmIiwgImlmbmRlZiIsICJlbGlmIl0KKworICAgIGRlZiBpc0VuZGlmKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZmYgdGhpcyBpcyBhbiAjZW5kaWYgZGlyZWN0aXZlIGJsb2NrLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5kaXJlY3RpdmUgPT0gImVuZGlmIgogCiAgICAgZGVmIGlzSW5jbHVkZShzZWxmKToKLSAgICAgICAgIiIiY2hlY2tzIHdoZXRoZXIgdGhpcyBpcyBhICNpbmNsdWRlIGRpcmVjdGl2ZS4gaWYgdHJ1ZSwgdGhlbiByZXR1cm5zIHRoZQotICAgICAgICAgICBjb3JyZXNwb25kaW5nIGZpbGUgbmFtZSAod2l0aCBicmFja2V0cyBvciBkb3VibGUtcW91dGVzKS4gTm9uZSBvdGhlcndpc2UiIiIKKyAgICAgICAgIiIiQ2hlY2sgd2hldGhlciB0aGlzIGlzIGEgI2luY2x1ZGUgZGlyZWN0aXZlLgorCisgICAgICAgIElmIHRydWUsIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgZmlsZSBuYW1lICh3aXRoIGJyYWNrZXRzIG9yCisgICAgICAgIGRvdWJsZS1xb3V0ZXMpLiBOb25lIG90aGVyd2lzZS4KKyAgICAgICAgIiIiCisKICAgICAgICAgaWYgc2VsZi5kaXJlY3RpdmUgIT0gImluY2x1ZGUiOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuICcnLmpvaW4oW3N0cih4KSBmb3IgeCBpbiBzZWxmLnRva2Vuc10pCiAKLSAgICAgICAgaWYgc2VsZi50b2tlbnNbMF0uaWQgPT0gdG9rU1RSSU5HOgotICAgICAgICAgICAgIyBhIGRvdWJsZS1xdW90ZSBpbmNsdWRlLCB0aGF0J3MgZWFzeQotICAgICAgICAgICAgcmV0dXJuIHNlbGYudG9rZW5zWzBdLnZhbHVlCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBmb3JtYXRfYmxvY2tzKHRva2VucywgaW5kZW50PTApOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGZvcm1hdHRlZCBsaW5lcyBvZiBzdHJpbmdzIHdpdGggcHJvcGVyIGluZGVudGF0aW9uLiIiIgorICAgICAgICBuZXdsaW5lID0gVHJ1ZQorICAgICAgICByZXN1bHQgPSBbXQorICAgICAgICBidWYgPSAnJworICAgICAgICBpID0gMAorICAgICAgICB3aGlsZSBpIDwgbGVuKHRva2Vucyk6CisgICAgICAgICAgICB0ID0gdG9rZW5zW2ldCisgICAgICAgICAgICBpZiB0LmlkID09ICd7JzoKKyAgICAgICAgICAgICAgICBidWYgKz0gJyB7JworICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoc3RyaXBfc3BhY2UoYnVmKSkKKyAgICAgICAgICAgICAgICBpbmRlbnQgKz0gMgorICAgICAgICAgICAgICAgIGJ1ZiA9ICcnCisgICAgICAgICAgICAgICAgbmV3bGluZSA9IFRydWUKKyAgICAgICAgICAgIGVsaWYgdC5pZCA9PSAnfSc6CisgICAgICAgICAgICAgICAgaW5kZW50IC09IDIKKyAgICAgICAgICAgICAgICBpZiBub3QgbmV3bGluZToKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzdHJpcF9zcGFjZShidWYpKQorICAgICAgICAgICAgICAgICMgTG9vayBhaGVhZCB0byBkZXRlcm1pbmUgaWYgaXQncyB0aGUgZW5kIG9mIGxpbmUuCisgICAgICAgICAgICAgICAgaWYgKGkgKyAxIDwgbGVuKHRva2VucykgYW5kCisgICAgICAgICAgICAgICAgICAgICh0b2tlbnNbaSsxXS5pZCA9PSAnOycgb3IKKyAgICAgICAgICAgICAgICAgICAgIHRva2Vuc1tpKzFdLmlkIGluIFsnZWxzZScsICdfX2F0dHJpYnV0ZV9fJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19hdHRyaWJ1dGUnLCAnX19wYWNrZWQnXSBvcgorICAgICAgICAgICAgICAgICAgICAgdG9rZW5zW2krMV0ua2luZCA9PSBUb2tlbktpbmQuSURFTlRJRklFUikpOgorICAgICAgICAgICAgICAgICAgICBidWYgPSAnICcgKiBpbmRlbnQgKyAnfScKKyAgICAgICAgICAgICAgICAgICAgbmV3bGluZSA9IEZhbHNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnICcgKiBpbmRlbnQgKyAnfScpCisgICAgICAgICAgICAgICAgICAgIGJ1ZiA9ICcnCisgICAgICAgICAgICAgICAgICAgIG5ld2xpbmUgPSBUcnVlCisgICAgICAgICAgICBlbGlmIHQuaWQgPT0gJzsnOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoc3RyaXBfc3BhY2UoYnVmKSArICc7JykKKyAgICAgICAgICAgICAgICBidWYgPSAnJworICAgICAgICAgICAgICAgIG5ld2xpbmUgPSBUcnVlCisgICAgICAgICAgICAjIFdlIHByZWZlciBhIG5ldyBsaW5lIGZvciBlYWNoIGNvbnN0YW50IGluIGVudW0uCisgICAgICAgICAgICBlbGlmIHQuaWQgPT0gJywnIGFuZCB0LmN1cnNvci5raW5kID09IEN1cnNvcktpbmQuRU5VTV9ERUNMOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoc3RyaXBfc3BhY2UoYnVmKSArICcsJykKKyAgICAgICAgICAgICAgICBidWYgPSAnJworICAgICAgICAgICAgICAgIG5ld2xpbmUgPSBUcnVlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIG5ld2xpbmU6CisgICAgICAgICAgICAgICAgICAgIGJ1ZiArPSAnICcgKiBpbmRlbnQgKyBzdHIodCkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBidWYgKz0gJyAnICsgc3RyKHQpCisgICAgICAgICAgICAgICAgbmV3bGluZSA9IEZhbHNlCisgICAgICAgICAgICBpICs9IDEKIAotICAgICAgICAjIHdlIG9ubHkgd2FudCB0aGUgYnJhY2tldCBwYXJ0LCBub3QgYW55IGNvbW1lbnRzIG9yIGp1bmsgYWZ0ZXIgaXQKLSAgICAgICAgaWYgc2VsZi50b2tlbnNbMF0uaWQgPT0gIjwiOgotICAgICAgICAgICAgaSAgID0gMAotICAgICAgICAgICAgdG9rID0gc2VsZi50b2tlbnMKLSAgICAgICAgICAgIG4gICA9IGxlbih0b2spCi0gICAgICAgICAgICB3aGlsZSBpIDwgbiBhbmQgdG9rW2ldLmlkICE9ICI+IjoKLSAgICAgICAgICAgICAgICBpICs9IDEKKyAgICAgICAgaWYgYnVmOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzdHJpcF9zcGFjZShidWYpKQogCi0gICAgICAgICAgICBpZiBpID49IG46Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHJlc3VsdCwgaW5kZW50CiAKLSAgICAgICAgICAgIHJldHVybiBzdHJpbmcuam9pbihbIHN0cih4KSBmb3IgeCBpbiB0b2tbOmkrMV0gXSwiIikKLQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgIGRlZiByZW1vdmVXaGl0ZVNwYWNlKHNlbGYpOgotICAgICAgICAjIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFuZCBlbXB0eSBsaW5lcwotICAgICAgICAjIEFsbCB3aGl0ZXNwYWNlIGlzIGFsc28gY29udHJhY3RlZCB0byBhIHNpbmdsZSBzcGFjZQotICAgICAgICBpZiBzZWxmLmRpcmVjdGl2ZSAhPSBOb25lOgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgdG9rZW5zID0gW10KLSAgICAgICAgbGluZSAgID0gMCAgICAgIyBpbmRleCBvZiBsaW5lIHN0YXJ0Ci0gICAgICAgIHNwYWNlICA9IC0xICAgICMgaW5kZXggb2YgZmlyc3Qgc3BhY2UsIG9yIC0xCi0gICAgICAgIGlpID0gMAotICAgICAgICBubiA9IGxlbihzZWxmLnRva2VucykKLSAgICAgICAgd2hpbGUgaWkgPCBubjoKLSAgICAgICAgICAgIHRvayA9IHNlbGYudG9rZW5zW2lpXQotCi0gICAgICAgICAgICAjIElmIHdlIGZpbmQgYSBzcGFjZSwgcmVjb3JkIGl0cyBwb3NpdGlvbiBpZiB0aGlzIGlzIHRoZSBmaXJzdAotICAgICAgICAgICAgIyBvbmUgdGhlIGxpbmUgc3RhcnQgb3IgdGhlIHByZXZpb3VzIGNoYXJhY3Rlci4gRG9uJ3QgYXBwZW5kCi0gICAgICAgICAgICAjIGFueXRoaW5nIHRvIHRva2VucyBhcnJheSB5ZXQgdGhvdWdoLgotICAgICAgICAgICAgaWYgdG9rLmlkID09IHRva1NQQUNFOgotICAgICAgICAgICAgICAgIGlmIHNwYWNlIDwgMDoKLSAgICAgICAgICAgICAgICAgICAgc3BhY2UgPSBpaQotICAgICAgICAgICAgICAgIGlpICs9IDEKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAjIElmIHRoaXMgaXMgYSBsaW5lIHNwYWNlLCBpZ25vcmUgdGhlIHNwYWNlcyB3ZSBmb3VuZCBwcmV2aW91c2x5Ci0gICAgICAgICAgICAjIG9uIHRoZSBsaW5lLCBhbmQgcmVtb3ZlIGVtcHR5IGxpbmVzLgotICAgICAgICAgICAgaWYgdG9rLmlkID09IHRva0xOOgotICAgICAgICAgICAgICAgIG9sZF9saW5lICA9IGxpbmUKLSAgICAgICAgICAgICAgICBvbGRfc3BhY2UgPSBzcGFjZQotICAgICAgICAgICAgICAgIGlpICAgKz0gMQotICAgICAgICAgICAgICAgIGxpbmUgID0gaWkKLSAgICAgICAgICAgICAgICBzcGFjZSA9IC0xCi0gICAgICAgICAgICAgICAgaWYgb2xkX3NwYWNlID09IG9sZF9saW5lOiAgIyBsaW5lIG9ubHkgY29udGFpbnMgc3BhY2VzCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgaWktMSA9PSBvbGRfbGluZTogICMgbGluZSBpcyBlbXB0eQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIHRva2Vucy5hcHBlbmQodG9rKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICMgT3RoZXIgdG9rZW4sIGFwcGVuZCBhbnkgc3BhY2UgcmFuZ2UgaWYgYW55LCBjb252ZXJ0aW5nIGVhY2gKLSAgICAgICAgICAgICMgb25lIHRvIGEgc2luZ2xlIHNwYWNlIGNoYXJhY3RlciwgdGhlbiBhcHBlbmQgdGhlIHRva2VuLgotICAgICAgICAgICAgaWYgc3BhY2UgPj0gMDoKLSAgICAgICAgICAgICAgICBqaiA9IHNwYWNlCi0gICAgICAgICAgICAgICAgc3BhY2UgPSAtMQotICAgICAgICAgICAgICAgIHdoaWxlIGpqIDwgaWk6Ci0gICAgICAgICAgICAgICAgICAgIHRvazIgPSBzZWxmLnRva2Vuc1tqal0KLSAgICAgICAgICAgICAgICAgICAgdG9rMi52YWx1ZSA9ICIgIgotICAgICAgICAgICAgICAgICAgICB0b2tlbnMuYXBwZW5kKHRvazIpCi0gICAgICAgICAgICAgICAgICAgIGpqICs9IDEKLQotICAgICAgICAgICAgdG9rZW5zLmFwcGVuZCh0b2spCi0gICAgICAgICAgICBpaSArPSAxCi0KLSAgICAgICAgc2VsZi50b2tlbnMgPSB0b2tlbnMKLQotICAgIGRlZiB3cml0ZVdpdGhXYXJuaW5nKHNlbGYsb3V0LHdhcm5pbmcsbGVmdF9jb3VudCxyZXBlYXRfY291bnQpOgorICAgIGRlZiB3cml0ZVdpdGhXYXJuaW5nKHNlbGYsIG91dCwgd2FybmluZywgbGVmdF9jb3VudCwgcmVwZWF0X2NvdW50LCBpbmRlbnQpOgorICAgICAgICAiIiJEdW1wIHRoZSBjdXJyZW50IGJsb2NrIHdpdGggd2FybmluZ3MuIiIiCiAgICAgICAgICMgcmVtb3ZlV2hpdGVTcGFjZSgpIHdpbGwgc29tZXRpbWVzIGNyZWF0ZXMgbm9uLWRpcmVjdGl2ZSBibG9ja3MKICAgICAgICAgIyB3aXRob3V0IGFueSB0b2tlbnMuIFRoZXNlIGNvbWUgZnJvbSBibG9ja3MgdGhhdCBvbmx5IGNvbnRhaW5lZAogICAgICAgICAjIGVtcHR5IGxpbmVzIGFuZCBzcGFjZXMuIFRoZXkgc2hvdWxkIG5vdCBiZSBwcmludGVkIGluIHRoZSBmaW5hbAogICAgICAgICAjIG91dHB1dCwgYW5kIHRoZW4gc2hvdWxkIG5vdCBiZSBjb3VudGVkIGZvciB0aGlzIG9wZXJhdGlvbi4KICAgICAgICAgIwotICAgICAgICBpZiBub3Qgc2VsZi5kaXJlY3RpdmUgYW5kIHNlbGYudG9rZW5zID09IFtdOgotICAgICAgICAgICAgcmV0dXJuIGxlZnRfY291bnQKKyAgICAgICAgaWYgc2VsZi5kaXJlY3RpdmUgaXMgTm9uZSBhbmQgbm90IHNlbGYudG9rZW5zOgorICAgICAgICAgICAgcmV0dXJuIGxlZnRfY291bnQsIGluZGVudAogCiAgICAgICAgIGlmIHNlbGYuZGlyZWN0aXZlOgotICAgICAgICAgICAgb3V0LndyaXRlKHN0cihzZWxmKS5yc3RyaXAoKSArICJcbiIpCisgICAgICAgICAgICBvdXQud3JpdGUoc3RyKHNlbGYpICsgJ1xuJykKICAgICAgICAgICAgIGxlZnRfY291bnQgLT0gMQogICAgICAgICAgICAgaWYgbGVmdF9jb3VudCA9PSAwOgogICAgICAgICAgICAgICAgIG91dC53cml0ZSh3YXJuaW5nKQogICAgICAgICAgICAgICAgIGxlZnRfY291bnQgPSByZXBlYXRfY291bnQKIAogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZm9yIHRvayBpbiBzZWxmLnRva2VuczoKLSAgICAgICAgICAgICAgICBvdXQud3JpdGUoc3RyKHRvaykpCi0gICAgICAgICAgICAgICAgaWYgdG9rLmlkID09IHRva0xOOgotICAgICAgICAgICAgICAgICAgICBsZWZ0X2NvdW50IC09IDEKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVmdF9jb3VudCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgb3V0LndyaXRlKHdhcm5pbmcpCi0gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0X2NvdW50ID0gcmVwZWF0X2NvdW50CisgICAgICAgICAgICBsaW5lcywgaW5kZW50ID0gc2VsZi5mb3JtYXRfYmxvY2tzKHNlbGYudG9rZW5zLCBpbmRlbnQpCisgICAgICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKKyAgICAgICAgICAgICAgICBvdXQud3JpdGUobGluZSArICdcbicpCisgICAgICAgICAgICAgICAgbGVmdF9jb3VudCAtPSAxCisgICAgICAgICAgICAgICAgaWYgbGVmdF9jb3VudCA9PSAwOgorICAgICAgICAgICAgICAgICAgICBvdXQud3JpdGUod2FybmluZykKKyAgICAgICAgICAgICAgICAgICAgbGVmdF9jb3VudCA9IHJlcGVhdF9jb3VudAogCi0gICAgICAgIHJldHVybiBsZWZ0X2NvdW50Ci0KKyAgICAgICAgcmV0dXJuIGxlZnRfY291bnQsIGluZGVudAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICAiIiJnZW5lcmF0ZSB0aGUgcmVwcmVzZW50YXRpb24gb2YgYSBnaXZlbiBibG9jayIiIgorICAgICAgICAiIiJHZW5lcmF0ZSB0aGUgcmVwcmVzZW50YXRpb24gb2YgYSBnaXZlbiBibG9jay4iIiIKICAgICAgICAgaWYgc2VsZi5kaXJlY3RpdmU6CiAgICAgICAgICAgICByZXN1bHQgPSAiIyVzICIgJSBzZWxmLmRpcmVjdGl2ZQogICAgICAgICAgICAgaWYgc2VsZi5pc0lmKCk6CkBAIC0xMjg2LDggKzExNDMsOSBAQAogICAgICAgICByZXR1cm4gcmVzdWx0CiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgIiIiZ2VuZXJhdGUgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGdpdmVuIGJsb2NrIiIiCisgICAgICAgICIiIkdlbmVyYXRlIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBnaXZlbiBibG9jay4iIiIKICAgICAgICAgaWYgc2VsZi5kaXJlY3RpdmU6CisgICAgICAgICAgICAjICIjaWYiCiAgICAgICAgICAgICBpZiBzZWxmLmRpcmVjdGl2ZSA9PSAiaWYiOgogICAgICAgICAgICAgICAgICMgc21hbGwgb3B0aW1pemF0aW9uIHRvIHJlLWdlbmVyYXRlICNpZmRlZiBhbmQgI2lmbmRlZgogICAgICAgICAgICAgICAgIGUgPSBzZWxmLmV4cHIuZXhwcgpAQCAtMTI5OCwxMTQgKzExNTYsMTM4IEBACiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICIjaWZuZGVmICVzIiAlIGVbMV1bMV0KICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAiI2lmICIgKyBzdHIoc2VsZi5leHByKQorCisgICAgICAgICAgICAjICIjZGVmaW5lIgorICAgICAgICAgICAgZWxpZiBzZWxmLmlzRGVmaW5lKCk6CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gIiMlcyAlcyIgJSAoc2VsZi5kaXJlY3RpdmUsIHNlbGYuZGVmaW5lX2lkKQorICAgICAgICAgICAgICAgIGlmIHNlbGYudG9rZW5zOgorICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gIiAiCisgICAgICAgICAgICAgICAgZXhwciA9IHN0cmlwX3NwYWNlKCcgJy5qb2luKFt0b2suaWQgZm9yIHRvayBpbiBzZWxmLnRva2Vuc10pKQorICAgICAgICAgICAgICAgICMgcmVtb3ZlIHRoZSBzcGFjZSBiZXR3ZWVuIG5hbWUgYW5kICcoJyBpbiBmdW5jdGlvbiBjYWxsCisgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHJlLnN1YihyJyhcdyspIFwoJywgcidcMSgnLCBleHByKQorCisgICAgICAgICAgICAjICIjZXJyb3IiCisgICAgICAgICAgICAjIENvbmNhdGVuYXRpbmcgdG9rZW5zIHdpdGggYSBzcGFjZSBzZXBhcmF0b3IsIGJlY2F1c2UgdGhleSBtYXkKKyAgICAgICAgICAgICMgbm90IGJlIHF1b3RlZCBhbmQgYnJva2VuIGludG8gc2V2ZXJhbCB0b2tlbnMKKyAgICAgICAgICAgIGVsaWYgc2VsZi5kaXJlY3RpdmUgPT0gImVycm9yIjoKKyAgICAgICAgICAgICAgICByZXN1bHQgPSAiI2Vycm9yICVzIiAlICcgJy5qb2luKFt0b2suaWQgZm9yIHRvayBpbiBzZWxmLnRva2Vuc10pCisKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gIiMlcyIgJSBzZWxmLmRpcmVjdGl2ZQotICAgICAgICAgICAgICAgIGlmIGxlbihzZWxmLnRva2Vucyk6CisgICAgICAgICAgICAgICAgaWYgc2VsZi50b2tlbnM6CiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiICIKLSAgICAgICAgICAgICAgICBmb3IgdG9rIGluIHNlbGYudG9rZW5zOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gc3RyKHRvaykKKyAgICAgICAgICAgICAgICByZXN1bHQgKz0gJycuam9pbihbdG9rLmlkIGZvciB0b2sgaW4gc2VsZi50b2tlbnNdKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVzdWx0ID0gIiIKLSAgICAgICAgICAgIGZvciB0b2sgaW4gc2VsZi50b2tlbnM6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHN0cih0b2spCisgICAgICAgICAgICBsaW5lcywgXyA9IHNlbGYuZm9ybWF0X2Jsb2NrcyhzZWxmLnRva2VucykKKyAgICAgICAgICAgIHJlc3VsdCA9ICdcbicuam9pbihsaW5lcykKIAogICAgICAgICByZXR1cm4gcmVzdWx0CiAKLWNsYXNzIEJsb2NrTGlzdDoKLSAgICAiIiJhIGNvbnZlbmllbmNlIGNsYXNzIHVzZWQgdG8gaG9sZCBhbmQgcHJvY2VzcyBhIGxpc3Qgb2YgYmxvY2tzIHJldHVybmVkIGJ5Ci0gICAgICAgdGhlIGNwcCBwYXJzZXIiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZixibG9ja3MpOgorCitjbGFzcyBCbG9ja0xpc3Qob2JqZWN0KToKKyAgICAiIiJBIGNvbnZlbmllbmNlIGNsYXNzIHVzZWQgdG8gaG9sZCBhbmQgcHJvY2VzcyBhIGxpc3Qgb2YgYmxvY2tzLgorCisgICAgSXQgY2FsbHMgdGhlIGNwcCBwYXJzZXIgdG8gZ2V0IHRoZSBibG9ja3MuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYmxvY2tzKToKICAgICAgICAgc2VsZi5ibG9ja3MgPSBibG9ja3MKIAogICAgIGRlZiBfX2xlbl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gbGVuKHNlbGYuYmxvY2tzKQogCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsbik6CisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG4pOgogICAgICAgICByZXR1cm4gc2VsZi5ibG9ja3Nbbl0KIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHJlcHIoc2VsZi5ibG9ja3MpCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgcmVzdWx0ID0gIiIKLSAgICAgICAgZm9yIGIgaW4gc2VsZi5ibG9ja3M6Ci0gICAgICAgICAgICByZXN1bHQgKz0gc3RyKGIpCi0gICAgICAgICAgICBpZiBiLmlzRGlyZWN0aXZlKCk6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJzdHJpcCgpICsgJ1xuJworICAgICAgICByZXN1bHQgPSAnXG4nLmpvaW4oW3N0cihiKSBmb3IgYiBpbiBzZWxmLmJsb2Nrc10pCiAgICAgICAgIHJldHVybiByZXN1bHQKIAotICAgIGRlZiAgb3B0aW1pemVJZjAxKHNlbGYpOgotICAgICAgICAiIiJyZW1vdmUgdGhlIGNvZGUgYmV0d2VlbiAjaWYgMCAuLiAjZW5kaWYgaW4gYSBCbG9ja0xpc3QiIiIKKyAgICBkZWYgZHVtcChzZWxmKToKKyAgICAgICAgIiIiRHVtcCBhbGwgdGhlIGJsb2NrcyBpbiBjdXJyZW50IEJsb2NrTGlzdC4iIiIKKyAgICAgICAgcHJpbnQgJyMjIyMjIEJFR0lOICMjIyMjJworICAgICAgICBmb3IgaSwgYiBpbiBlbnVtZXJhdGUoc2VsZi5ibG9ja3MpOgorICAgICAgICAgICAgcHJpbnQgJyMjIyBCTE9DSyAlZCAjIyMnICUgaQorICAgICAgICAgICAgcHJpbnQgYgorICAgICAgICBwcmludCAnIyMjIyMgRU5EICMjIyMjJworCisgICAgZGVmIG9wdGltaXplSWYwMShzZWxmKToKKyAgICAgICAgIiIiUmVtb3ZlIHRoZSBjb2RlIGJldHdlZW4gI2lmIDAgLi4gI2VuZGlmIGluIGEgQmxvY2tMaXN0LiIiIgogICAgICAgICBzZWxmLmJsb2NrcyA9IG9wdGltaXplX2lmMDEoc2VsZi5ibG9ja3MpCiAKICAgICBkZWYgb3B0aW1pemVNYWNyb3Moc2VsZiwgbWFjcm9zKToKLSAgICAgICAgIiIicmVtb3ZlIGtub3duIGRlZmluZWQgYW5kIHVuZGVmaW5lZCBtYWNyb3MgZnJvbSBhIEJsb2NrTGlzdCIiIgorICAgICAgICAiIiJSZW1vdmUga25vd24gZGVmaW5lZCBhbmQgdW5kZWZpbmVkIG1hY3JvcyBmcm9tIGEgQmxvY2tMaXN0LiIiIgogICAgICAgICBmb3IgYiBpbiBzZWxmLmJsb2NrczoKICAgICAgICAgICAgIGlmIGIuaXNJZigpOgogICAgICAgICAgICAgICAgIGIuZXhwci5vcHRpbWl6ZShtYWNyb3MpCiAKLSAgICBkZWYgcmVtb3ZlTWFjcm9EZWZpbmVzKHNlbGYsbWFjcm9zKToKLSAgICAgICAgIiIicmVtb3ZlIGtub3duIG1hY3JvIGRlZmluaXRpb25zIGZyb20gYSBCbG9ja0xpc3QiIiIKLSAgICAgICAgc2VsZi5ibG9ja3MgPSByZW1vdmVfbWFjcm9fZGVmaW5lcyhzZWxmLmJsb2NrcyxtYWNyb3MpCisgICAgZGVmIHJlbW92ZU1hY3JvRGVmaW5lcyhzZWxmLCBtYWNyb3MpOgorICAgICAgICAiIiJSZW1vdmUga25vd24gbWFjcm8gZGVmaW5pdGlvbnMgZnJvbSBhIEJsb2NrTGlzdC4iIiIKKyAgICAgICAgc2VsZi5ibG9ja3MgPSByZW1vdmVfbWFjcm9fZGVmaW5lcyhzZWxmLmJsb2NrcywgbWFjcm9zKQogCi0gICAgZGVmIHJlbW92ZVdoaXRlU3BhY2Uoc2VsZik6Ci0gICAgICAgIGZvciBiIGluIHNlbGYuYmxvY2tzOgotICAgICAgICAgICAgYi5yZW1vdmVXaGl0ZVNwYWNlKCkKLQotICAgIGRlZiBvcHRpbWl6ZUFsbChzZWxmLG1hY3Jvcyk6CisgICAgZGVmIG9wdGltaXplQWxsKHNlbGYsIG1hY3Jvcyk6CiAgICAgICAgIHNlbGYub3B0aW1pemVNYWNyb3MobWFjcm9zKQogICAgICAgICBzZWxmLm9wdGltaXplSWYwMSgpCiAgICAgICAgIHJldHVybgogCiAgICAgZGVmIGZpbmRJbmNsdWRlcyhzZWxmKToKLSAgICAgICAgIiIicmV0dXJuIHRoZSBsaXN0IG9mIGluY2x1ZGVkIGZpbGVzIGluIGEgQmxvY2tMaXN0IiIiCisgICAgICAgICIiIlJldHVybiB0aGUgbGlzdCBvZiBpbmNsdWRlZCBmaWxlcyBpbiBhIEJsb2NrTGlzdC4iIiIKICAgICAgICAgcmVzdWx0ID0gW10KICAgICAgICAgZm9yIGIgaW4gc2VsZi5ibG9ja3M6CiAgICAgICAgICAgICBpID0gYi5pc0luY2x1ZGUoKQogICAgICAgICAgICAgaWYgaToKICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGkpCi0KICAgICAgICAgcmV0dXJuIHJlc3VsdAogCi0KLSAgICBkZWYgd3JpdGUoc2VsZixvdXQpOgorICAgIGRlZiB3cml0ZShzZWxmLCBvdXQpOgogICAgICAgICBvdXQud3JpdGUoc3RyKHNlbGYpKQogCi0gICAgZGVmIHdyaXRlV2l0aFdhcm5pbmcoc2VsZixvdXQsd2FybmluZyxyZXBlYXRfY291bnQpOgorICAgIGRlZiB3cml0ZVdpdGhXYXJuaW5nKHNlbGYsIG91dCwgd2FybmluZywgcmVwZWF0X2NvdW50KToKICAgICAgICAgbGVmdF9jb3VudCA9IHJlcGVhdF9jb3VudAorICAgICAgICBpbmRlbnQgPSAwCiAgICAgICAgIGZvciBiIGluIHNlbGYuYmxvY2tzOgotICAgICAgICAgICAgbGVmdF9jb3VudCA9IGIud3JpdGVXaXRoV2FybmluZyhvdXQsd2FybmluZyxsZWZ0X2NvdW50LHJlcGVhdF9jb3VudCkKKyAgICAgICAgICAgIGxlZnRfY291bnQsIGluZGVudCA9IGIud3JpdGVXaXRoV2FybmluZyhvdXQsIHdhcm5pbmcsIGxlZnRfY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0X2NvdW50LCBpbmRlbnQpCiAKLSAgICBkZWYgcmVtb3ZlQ29tbWVudHMoc2VsZik6Ci0gICAgICAgIGZvciBiIGluIHNlbGYuYmxvY2tzOgotICAgICAgICAgICAgZm9yIHRvayBpbiBiLnRva2VuczoKLSAgICAgICAgICAgICAgICBpZiB0b2suaWQgPT0gdG9rU1BBQ0U6Ci0gICAgICAgICAgICAgICAgICAgIHRvay52YWx1ZSA9ICIgIgorICAgIGRlZiByZW1vdmVWYXJzQW5kRnVuY3Moc2VsZiwga25vd25TdGF0aWNzPU5vbmUpOgorICAgICAgICAiIiJSZW1vdmUgdmFyaWFibGUgYW5kIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucy4KIAotICAgIGRlZiByZW1vdmVWYXJzQW5kRnVuY3Moc2VsZixrbm93blN0YXRpY3M9c2V0KCkpOgotICAgICAgICAiIiJyZW1vdmUgYWxsIGV4dGVybiBhbmQgc3RhdGljIGRlY2xhcmF0aW9ucyBjb3JyZXNwb25kaW5nCi0gICAgICAgICAgIHRvIHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuIHdlIG9ubHkgYWNjZXB0IHR5cGVkZWZzCi0gICAgICAgICAgIGFuZCBlbnVtL3N0cnVjdHMvdW5pb24gZGVjbGFyYXRpb25zLgorICAgICAgICBBbGwgZXh0ZXJuIGFuZCBzdGF0aWMgZGVjbGFyYXRpb25zIGNvcnJlc3BvbmRpbmcgdG8gdmFyaWFibGUgYW5kCisgICAgICAgIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgcmVtb3ZlZC4gV2Ugb25seSBhY2NlcHQgdHlwZWRlZnMgYW5kCisgICAgICAgIGVudW0vc3RydWN0cy91bmlvbiBkZWNsYXJhdGlvbnMuCiAKLSAgICAgICAgICAgaG93ZXZlciwgd2Uga2VlcCB0aGUgZGVmaW5pdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgc2V0Ci0gICAgICAgICAgIG9mIGtub3duIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIGluIHRoZSBzZXQgJ2tub3duU3RhdGljcycsCi0gICAgICAgICAgIHdoaWNoIGlzIHVzZWZ1bCBmb3Igb3B0aW1pemVkIGJ5dGVvcmRlciBzd2FwIGZ1bmN0aW9ucyBhbmQKLSAgICAgICAgICAgc3R1ZmYgbGlrZSB0aGF0LgotICAgICAgICAgICAiIiIKKyAgICAgICAgSG93ZXZlciwgd2Uga2VlcCB0aGUgZGVmaW5pdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgc2V0IG9mIGtub3duCisgICAgICAgIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIGluIHRoZSBzZXQgJ2tub3duU3RhdGljcycsIHdoaWNoIGlzIHVzZWZ1bAorICAgICAgICBmb3Igb3B0aW1pemVkIGJ5dGVvcmRlciBzd2FwIGZ1bmN0aW9ucyBhbmQgc3R1ZmYgbGlrZSB0aGF0LgorICAgICAgICAiIiIKKworICAgICAgICAjIE5PVEU6IEl0J3MgYWxzbyByZW1vdmluZyBmdW5jdGlvbi1saWtlIG1hY3Jvcywgc3VjaCBhcyBfX1NZU0NBTEwoLi4uKQorICAgICAgICAjIGluIHVhcGkvYXNtLWdlbmVyaWMvdW5pc3RkLmgsIG9yIEtFWV9GSUVMRCguLi4pIGluIGxpbnV4L2JjYWNoZS5oLgorICAgICAgICAjIEl0IGNvdWxkIGJlIHByb2JsZW1hdGljIHdoZW4gd2UgaGF2ZSBmdW5jdGlvbi1saWtlIG1hY3JvcyBidXQgd2l0aG91dAorICAgICAgICAjICd9JyBmb2xsb3dpbmcgdGhlbS4gSXQgd2lsbCBza2lwIGFsbCB0aGUgdG9rZW5zL2Jsb2NrcyB1bnRpbCBzZWVpbmcgYQorICAgICAgICAjICd9JyBhcyB0aGUgZnVuY3Rpb24gZW5kLiBGb3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIHN1Y2ggY2FzZXMgaW4gdGhlCisgICAgICAgICMgY3VycmVudCBrZXJuZWwgaGVhZGVycy4KKwogICAgICAgICAjIHN0YXRlID0gMCA9PiBub3JtYWwgKGkuZS4gTE4gKyBzcGFjZXMpCiAgICAgICAgICMgc3RhdGUgPSAxID0+IHR5cGVkZWYvc3RydWN0IGVuY291bnRlcmVkLCBlbmRzIHdpdGggIjsiCiAgICAgICAgICMgc3RhdGUgPSAyID0+IHZhciBkZWNsYXJhdGlvbiBlbmNvdW50ZXJlZCwgZW5kcyB3aXRoICI7IgogICAgICAgICAjIHN0YXRlID0gMyA9PiBmdW5jIGRlY2xhcmF0aW9uIGVuY291bnRlcmVkLCBlbmRzIHdpdGggIn0iCi0gICAgICAgIHN0YXRlICAgICAgPSAwCi0gICAgICAgIGRlcHRoICAgICAgPSAwCi0gICAgICAgIGJsb2NrczIgICAgPSBbXQorCisgICAgICAgIGlmIGtub3duU3RhdGljcyBpcyBOb25lOgorICAgICAgICAgICAga25vd25TdGF0aWNzID0gc2V0KCkKKyAgICAgICAgc3RhdGUgPSAwCisgICAgICAgIGRlcHRoID0gMAorICAgICAgICBibG9ja3MyID0gW10KICAgICAgICAgc2tpcFRva2VucyA9IEZhbHNlCiAgICAgICAgIGZvciBiIGluIHNlbGYuYmxvY2tzOgogICAgICAgICAgICAgaWYgYi5pc0RpcmVjdGl2ZSgpOgogICAgICAgICAgICAgICAgIGJsb2NrczIuYXBwZW5kKGIpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG4gICAgID0gbGVuKGIudG9rZW5zKQotICAgICAgICAgICAgICAgIGkgICAgID0gMAorICAgICAgICAgICAgICAgIG4gPSBsZW4oYi50b2tlbnMpCisgICAgICAgICAgICAgICAgaSA9IDAKICAgICAgICAgICAgICAgICBpZiBza2lwVG9rZW5zOgogICAgICAgICAgICAgICAgICAgICBmaXJzdCA9IG4KICAgICAgICAgICAgICAgICBlbHNlOgpAQCAtMTQzNCwyMSArMTMxNiwxNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNraXBUb2tlbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBUb2tlbnMgPSBGYWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCA9IGkrMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCA9IGkgKyAxCiAKLSAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBpKzEKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICAgICAgIyBXZSBhcmUgbG9va2luZyBmb3IgdGhlIHN0YXJ0IG9mIGEgbmV3IHR5cGUvZnVuYy92YXIKLSAgICAgICAgICAgICAgICAgICAgIyBpZ25vcmUgd2hpdGVzcGFjZQotICAgICAgICAgICAgICAgICAgICBpZiB0b2tpZCBpbiBbdG9rTE4sIHRva1NQQUNFXToKLSAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBpKzEKKyAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gMQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAgICAgICAgICAjIElzIGl0IGEgbmV3IHR5cGUgZGVmaW5pdGlvbiwgdGhlbiBzdGFydCByZWNvcmRpbmcgaXQKLSAgICAgICAgICAgICAgICAgICAgaWYgdG9rLnZhbHVlIGluIFsgJ3N0cnVjdCcsICd0eXBlZGVmJywgJ2VudW0nLCAndW5pb24nLCAnX19leHRlbnNpb25fXycgXToKKyAgICAgICAgICAgICAgICAgICAgaWYgdG9rLmlkIGluIFsnc3RydWN0JywgJ3R5cGVkZWYnLCAnZW51bScsICd1bmlvbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZXh0ZW5zaW9uX18nXToKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gMQotICAgICAgICAgICAgICAgICAgICAgICAgaSAgICAgPSBpKzEKKyAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gMQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAgICAgICAgICAjIElzIGl0IGEgdmFyaWFibGUgb3IgZnVuY3Rpb24gZGVmaW5pdGlvbi4gSWYgc28sIGZpcnN0CkBAIC0xNDY0LDE4ICsxMzQxLDE4IEBACiAgICAgICAgICAgICAgICAgICAgICMgV2UgYWxzbyBhc3N1bWUgdGhhdCB0aGUgdmFyL2Z1bmMgbmFtZSBpcyB0aGUgbGFzdAogICAgICAgICAgICAgICAgICAgICAjIGlkZW50aWZpZXIgYmVmb3JlIHRoZSB0ZXJtaW5hdG9yLgogICAgICAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgICAgIGogPSBpKzEKKyAgICAgICAgICAgICAgICAgICAgaiA9IGkgKyAxCiAgICAgICAgICAgICAgICAgICAgIGlkZW50ID0gIiIKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgaiA8IG46CiAgICAgICAgICAgICAgICAgICAgICAgICB0b2tpZCA9IGIudG9rZW5zW2pdLmlkCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0b2tpZCA9PSAnKCc6ICAjIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiB0b2tpZCA9PSAnOyc6ICMgYSB2YXJpYWJsZSBkZWNsYXJhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiB0b2tpZCA9PSAnOyc6ICAjIGEgdmFyaWFibGUgZGVjbGFyYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG9raWQgPT0gdG9rSURFTlQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnQgPSBiLnRva2Vuc1tqXS52YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgYi50b2tlbnNbal0ua2luZCA9PSBUb2tlbktpbmQuSURFTlRJRklFUjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudCA9IGIudG9rZW5zW2pdLmlkCiAgICAgICAgICAgICAgICAgICAgICAgICBqICs9IDEKIAogICAgICAgICAgICAgICAgICAgICBpZiBqID49IG46CkBAIC0xNDg4LDIyMSArMTM2NSwzMDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICMgd2l0aG91dCBtYWtpbmcgb3VyIHBhcnNlciBtdWNoIG1vcmUKICAgICAgICAgICAgICAgICAgICAgICAgICMgY29tcGxleC4KICAgICAgICAgICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAgICAgICAgICNwcmludCAiIyMjIHNraXAgdW50ZXJtaW5hdGVkIHN0YXRpYyAnJXMnIiAlIGlkZW50CisgICAgICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLmRlYnVnKCIjIyMgc2tpcCB1bnRlcm1pbmF0ZWQgc3RhdGljICclcyciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudCkKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAKICAgICAgICAgICAgICAgICAgICAgaWYgaWRlbnQgaW4ga25vd25TdGF0aWNzOgotICAgICAgICAgICAgICAgICAgICAgICAgI3ByaW50ICIjIyMga2VlcCB2YXIvZnVuYyAnJXMnOiAlcyIgJSAoaWRlbnQscmVwcihiLnRva2Vuc1tpOmpdKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dpbmcuZGVidWcoIiMjIyBrZWVwIHZhci9mdW5jICclcyc6ICVzIiwgaWRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoYi50b2tlbnNbaTpqXSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIFdlJ3JlIGdvaW5nIHRvIHNraXAgdGhlIHRva2VucyBmb3IgdGhpcyBkZWNsYXJhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgI3ByaW50ICIjIyMgc2tpcCB2YXJpYWJsZSAvZnVuYyclcyc6ICVzIiAlIChpZGVudCxyZXByKGIudG9rZW5zW2k6al0pKQorICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5kZWJ1ZygiIyMjIHNraXAgdmFyL2Z1bmMgJyVzJzogJXMiLCBpZGVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwcihiLnRva2Vuc1tpOmpdKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGkgPiBmaXJzdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja3MyLmFwcGVuZCggQmxvY2soYi50b2tlbnNbZmlyc3Q6aV0pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrczIuYXBwZW5kKEJsb2NrKGIudG9rZW5zW2ZpcnN0OmldKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBUb2tlbnMgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCAgICAgID0gbgorICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgPSBuCiAKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkrMQorICAgICAgICAgICAgICAgICAgICBpICs9IDEKIAogICAgICAgICAgICAgICAgIGlmIGkgPiBmaXJzdDoKLSAgICAgICAgICAgICAgICAgICAgI3ByaW50ICIjIyMgZmluYWwgJyVzJyIgJSByZXByKGIudG9rZW5zW2ZpcnN0OmldKQotICAgICAgICAgICAgICAgICAgICBibG9ja3MyLmFwcGVuZCggQmxvY2soYi50b2tlbnNbZmlyc3Q6aV0pICkKKyAgICAgICAgICAgICAgICAgICAgIyBwcmludCAiIyMjIGZpbmFsICclcyciICUgcmVwcihiLnRva2Vuc1tmaXJzdDppXSkKKyAgICAgICAgICAgICAgICAgICAgYmxvY2tzMi5hcHBlbmQoQmxvY2soYi50b2tlbnNbZmlyc3Q6aV0pKQogCiAgICAgICAgIHNlbGYuYmxvY2tzID0gYmxvY2tzMgogCi0gICAgZGVmIGluc2VydERpc2NsYWltZXIoc2VsZixkaXNjbGFpbWVyPSIvKiBhdXRvLWdlbmVyYXRlZCBmaWxlLCBETyBOT1QgRURJVCAqLyIpOgotICAgICAgICAiIiJpbnNlcnQgeW91ciBzdGFuZGFyZCBpc3N1ZSBkaXNjbGFpbWVyIHRoYXQgdGhpcyBpcyBhbgotICAgICAgICAgICBhdXRvLWdlbmVyYXRlZCBmaWxlLCBldGMuLiIiIgotICAgICAgICB0b2tlbnMgPSBDcHBMaW5lVG9rZW5pemVyKCBkaXNjbGFpbWVyICkudG9Ub2tlbkxpc3QoKQotICAgICAgICB0b2tlbnMgPSB0b2tlbnNbOi0xXSAgIyByZW1vdmUgdHJhaWxpbmcgdG9rTE4KLSAgICAgICAgc2VsZi5ibG9ja3MgPSBbIEJsb2NrKHRva2VucykgXSArIHNlbGYuYmxvY2tzCi0KLSAgICBkZWYgcmVwbGFjZVRva2VucyhzZWxmLHJlcGxhY2VtZW50cyk6Ci0gICAgICAgICIiInJlcGxhY2UgdG9rZW5zIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gZGljdCIiIgorICAgIGRlZiByZXBsYWNlVG9rZW5zKHNlbGYsIHJlcGxhY2VtZW50cyk6CisgICAgICAgICIiIlJlcGxhY2UgdG9rZW5zIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gZGljdC4iIiIKICAgICAgICAgZm9yIGIgaW4gc2VsZi5ibG9ja3M6CiAgICAgICAgICAgICBtYWRlX2NoYW5nZSA9IEZhbHNlCi0gICAgICAgICAgICBpZiBiLmlzSW5jbHVkZSgpID09IE5vbmU6CisgICAgICAgICAgICBpZiBiLmlzSW5jbHVkZSgpIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgZm9yIHRvayBpbiBiLnRva2VuczoKLSAgICAgICAgICAgICAgICAgICAgaWYgdG9rLmlkID09IHRva0lERU5UOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG9rLnZhbHVlIGluIHJlcGxhY2VtZW50czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2sudmFsdWUgPSByZXBsYWNlbWVudHNbdG9rLnZhbHVlXQorICAgICAgICAgICAgICAgICAgICBpZiB0b2sua2luZCA9PSBUb2tlbktpbmQuSURFTlRJRklFUjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRvay5pZCBpbiByZXBsYWNlbWVudHM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rLmlkID0gcmVwbGFjZW1lbnRzW3Rvay5pZF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWRlX2NoYW5nZSA9IFRydWUKIAorICAgICAgICAgICAgICAgIGlmIGIuaXNEZWZpbmUoKSBhbmQgYi5kZWZpbmVfaWQgaW4gcmVwbGFjZW1lbnRzOgorICAgICAgICAgICAgICAgICAgICBiLmRlZmluZV9pZCA9IHJlcGxhY2VtZW50c1tiLmRlZmluZV9pZF0KKyAgICAgICAgICAgICAgICAgICAgbWFkZV9jaGFuZ2UgPSBUcnVlCisKICAgICAgICAgICAgIGlmIG1hZGVfY2hhbmdlIGFuZCBiLmlzSWYoKToKICAgICAgICAgICAgICAgICAjIEtlZXAgJ2V4cHInIGluIHN5bmMgd2l0aCAndG9rZW5zJy4KICAgICAgICAgICAgICAgICBiLmV4cHIgPSBDcHBFeHByKGIudG9rZW5zKQogCi1jbGFzcyBCbG9ja1BhcnNlcjoKLSAgICAiIiJhIGNsYXNzIHVzZWQgdG8gY29udmVydCBhbiBpbnB1dCBzb3VyY2UgZmlsZSBpbnRvIGEgQmxvY2tMaXN0IG9iamVjdCIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsdG9remVyPU5vbmUpOgotICAgICAgICAiIiJpbml0aWFsaXplIGEgYmxvY2sgcGFyc2VyLiB0aGUgaW5wdXQgc291cmNlIGlzIHByb3ZpZGVkIHRocm91Z2ggYSBUb2tlbml6ZXIKLSAgICAgICAgICAgb2JqZWN0IiIiCi0gICAgICAgIHNlbGYucmVzZXQodG9remVyKQorZGVmIHN0cmlwX3NwYWNlKHMpOgorICAgICIiIlN0cmlwIG91dCByZWR1bmRhbnQgc3BhY2UgaW4gYSBnaXZlbiBzdHJpbmcuIiIiCiAKLSAgICBkZWYgcmVzZXQoc2VsZix0b2t6ZXIpOgotICAgICAgICBzZWxmLnN0YXRlICA9IDEKLSAgICAgICAgc2VsZi50b2t6ZXIgPSB0b2t6ZXIKKyAgICAjIE5PVEU6IEl0IG91Z2h0IHRvIGJlIG1vcmUgY2xldmVyIHRvIG5vdCBkZXN0cm95IHNwYWNlcyBpbiBzdHJpbmcgdG9rZW5zLgorICAgIHJlcGxhY2VtZW50cyA9IHsnIC4gJzogJy4nLAorICAgICAgICAgICAgICAgICAgICAnIFsnOiAnWycsCisgICAgICAgICAgICAgICAgICAgICdbICc6ICdbJywKKyAgICAgICAgICAgICAgICAgICAgJyBdJzogJ10nLAorICAgICAgICAgICAgICAgICAgICAnKCAnOiAnKCcsCisgICAgICAgICAgICAgICAgICAgICcgKSc6ICcpJywKKyAgICAgICAgICAgICAgICAgICAgJyAsJzogJywnLAorICAgICAgICAgICAgICAgICAgICAnIyAnOiAnIycsCisgICAgICAgICAgICAgICAgICAgICcgOyc6ICc7JywKKyAgICAgICAgICAgICAgICAgICAgJ34gJzogJ34nLAorICAgICAgICAgICAgICAgICAgICAnIC0+ICc6ICctPid9CisgICAgcmVzdWx0ID0gcworICAgIGZvciByIGluIHJlcGxhY2VtZW50czoKKyAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UociwgcmVwbGFjZW1lbnRzW3JdKQogCi0gICAgZGVmIGdldEJsb2NrcyhzZWxmLHRva3plcj1Ob25lKToKLSAgICAgICAgIiIidG9rZW5pemUgYW5kIHBhcnNlIHRoZSBpbnB1dCBzb3VyY2UsIHJldHVybiBhIEJsb2NrTGlzdCBvYmplY3QKLSAgICAgICAgICAgTk9URTogZW1wdHkgYW5kIGxpbmUtbnVtYmVyaW5nIGRpcmVjdGl2ZXMgYXJlIGlnbm9yZWQgYW5kIHJlbW92ZWQKLSAgICAgICAgICAgICAgICAgZnJvbSB0aGUgcmVzdWx0LiBhcyBhIGNvbnNlcXVlbmNlLCBpdCBpcyBwb3NzaWJsZSB0byBoYXZlCi0gICAgICAgICAgICAgICAgIHR3byBzdWNjZXNzaXZlIHRleHQgYmxvY2tzIGluIHRoZSByZXN1bHQiIiIKLSAgICAgICAgIyBzdGF0ZSAwID0+IGluIHNvdXJjZSBjb2RlCi0gICAgICAgICMgc3RhdGUgMSA9PiBpbiBzb3VyY2UgY29kZSwgYWZ0ZXIgYSBMTgotICAgICAgICAjIHN0YXRlIDIgPT4gaW4gc291cmNlIGNvZGUsIGFmdGVyIExOIHRoZW4gc29tZSBzcGFjZQotICAgICAgICBzdGF0ZSAgID0gMQotICAgICAgICBsYXN0TE4gID0gMAotICAgICAgICBjdXJyZW50ID0gW10KLSAgICAgICAgYmxvY2tzICA9IFtdCisgICAgIyBSZW1vdmUgdGhlIHNwYWNlIGJldHdlZW4gZnVuY3Rpb24gbmFtZSBhbmQgdGhlIHBhcmVudGhlc2lzLgorICAgIHJlc3VsdCA9IHJlLnN1YihyJyhcdyspIFwoJywgcidcMSgnLCByZXN1bHQpCisgICAgcmV0dXJuIHJlc3VsdAogCi0gICAgICAgIGlmIHRva3plciA9PSBOb25lOgotICAgICAgICAgICAgdG9remVyID0gc2VsZi50b2t6ZXIKIAotICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgdG9rID0gdG9remVyLmdldFRva2VuKCkKLSAgICAgICAgICAgIGlmIHRvay5pZCA9PSB0b2tFT0Y6Ci0gICAgICAgICAgICAgICAgYnJlYWsKK2NsYXNzIEJsb2NrUGFyc2VyKG9iamVjdCk6CisgICAgIiIiQSBjbGFzcyB0aGF0IGNvbnZlcnRzIGFuIGlucHV0IHNvdXJjZSBmaWxlIGludG8gYSBCbG9ja0xpc3Qgb2JqZWN0LiIiIgogCi0gICAgICAgICAgICBpZiB0b2suaWQgPT0gdG9rTE46Ci0gICAgICAgICAgICAgICAgc3RhdGUgICAgPSAxCi0gICAgICAgICAgICAgICAgY3VycmVudC5hcHBlbmQodG9rKQotICAgICAgICAgICAgICAgIGxhc3RMTiAgID0gbGVuKGN1cnJlbnQpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRva3plcj1Ob25lKToKKyAgICAgICAgIiIiSW5pdGlhbGl6ZSBhIGJsb2NrIHBhcnNlci4KIAotICAgICAgICAgICAgZWxpZiB0b2suaWQgPT0gdG9rU1BBQ0U6Ci0gICAgICAgICAgICAgICAgaWYgc3RhdGUgPT0gMToKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyCi0gICAgICAgICAgICAgICAgY3VycmVudC5hcHBlbmQodG9rKQorICAgICAgICBUaGUgaW5wdXQgc291cmNlIGlzIHByb3ZpZGVkIHRocm91Z2ggYSBUb2tlbml6ZXIgb2JqZWN0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fdG9remVyID0gdG9remVyCisgICAgICAgIHNlbGYuX3BhcnNlZCA9IEZhbHNlCiAKLSAgICAgICAgICAgIGVsaWYgdG9rLmlkID09ICIjIjoKLSAgICAgICAgICAgICAgICBpZiBzdGF0ZSA+IDA6Ci0gICAgICAgICAgICAgICAgICAgICMgdGhpcyBpcyB0aGUgc3RhcnQgb2YgYSBkaXJlY3RpdmUKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcGFyc2VkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VkCiAKLSAgICAgICAgICAgICAgICAgICAgaWYgbGFzdExOID4gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgICMgcmVjb3JkIHByZXZpb3VzIHRva2VucyBhcyB0ZXh0IGJsb2NrCi0gICAgICAgICAgICAgICAgICAgICAgICBibG9jayAgID0gQmxvY2soY3VycmVudFs6bGFzdExOXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoYmxvY2spCi0gICAgICAgICAgICAgICAgICAgICAgICBsYXN0TE4gID0gMAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX3Nob3J0X2V4dGVudChleHRlbnQpOgorICAgICAgICByZXR1cm4gJyVkOiVkIC0gJWQ6JWQnICUgKGV4dGVudC5zdGFydC5saW5lLCBleHRlbnQuc3RhcnQuY29sdW1uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVudC5lbmQubGluZSwgZXh0ZW50LmVuZC5jb2x1bW4pCiAKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IFtdCisgICAgZGVmIGdldEJsb2NrcyhzZWxmLCB0b2t6ZXI9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBhbGwgdGhlIGJsb2NrcyBwYXJzZWQuIiIiCiAKLSAgICAgICAgICAgICAgICAgICAgIyBza2lwIHNwYWNlcyBhZnRlciB0aGUgIwotICAgICAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgdG9rID0gdG9remVyLmdldFRva2VuKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRvay5pZCAhPSB0b2tTUEFDRToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBkZWYgY29uc3VtZV9leHRlbnQoaSwgdG9rZW5zLCBleHRlbnQ9Tm9uZSwgZGV0ZWN0X2NoYW5nZT1GYWxzZSk6CisgICAgICAgICAgICAiIiJSZXR1cm4gdG9rZW5zIHRoYXQgYmVsb25nIHRvIHRoZSBnaXZlbiBleHRlbnQuCiAKLSAgICAgICAgICAgICAgICAgICAgaWYgdG9rLmlkICE9IHRva0lERU5UOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBlbXB0eSBvciBsaW5lLW51bWJlcmluZywgaWdub3JlIGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiB0b2suaWQgIT0gdG9rTE4gYW5kIHRvay5pZCAhPSB0b2tFT0Y6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rID0gdG9remVyLmdldFRva2VuKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG9rLmlkID09IHRva0xOIG9yIHRvay5pZCA9PSB0b2tFT0Y6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIEl0IHBhcnNlcyBhbGwgdGhlIHRva2VucyB0aGF0IGZvbGxvdyB0b2tlbnNbaV0sIHVudGlsIGdldHRpbmcgb3V0CisgICAgICAgICAgICBvZiB0aGUgZXh0ZW50LiBXaGVuIGRldGVjdF9jaGFuZ2UgaXMgVHJ1ZSwgaXQgbWF5IHRlcm1pbmF0ZSBlYXJseQorICAgICAgICAgICAgd2hlbiBkZXRlY3RpbmcgcHJlcHJvY2Vzc2luZyBkaXJlY3RpdmVzIGluc2lkZSB0aGUgZXh0ZW50LgorICAgICAgICAgICAgIiIiCiAKLSAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlID0gdG9rLnZhbHVlCi0gICAgICAgICAgICAgICAgICAgIGxpbmVubyAgICA9IHRvay5saW5lbm8KKyAgICAgICAgICAgIHJlc3VsdCA9IFtdCisgICAgICAgICAgICBpZiBleHRlbnQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBleHRlbnQgPSB0b2tlbnNbaV0uY3Vyc29yLmV4dGVudAogCi0gICAgICAgICAgICAgICAgICAgICMgc2tpcCBzcGFjZXMKLSAgICAgICAgICAgICAgICAgICAgdG9rID0gdG9remVyLmdldFRva2VuKCkKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgdG9rLmlkID09IHRva1NQQUNFOgotICAgICAgICAgICAgICAgICAgICAgICAgdG9rID0gdG9remVyLmdldFRva2VuKCkKKyAgICAgICAgICAgIHdoaWxlIGkgPCBsZW4odG9rZW5zKSBhbmQgdG9rZW5zW2ldLmxvY2F0aW9uIGluIGV4dGVudDoKKyAgICAgICAgICAgICAgICB0ID0gdG9rZW5zW2ldCisgICAgICAgICAgICAgICAgaWYgZGVidWdCbG9ja1BhcnNlcjoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgJyAnICogMiwgdC5pZCwgdC5raW5kLCB0LmN1cnNvci5raW5kCisgICAgICAgICAgICAgICAgaWYgKGRldGVjdF9jaGFuZ2UgYW5kIHQuY3Vyc29yLmV4dGVudCAhPSBleHRlbnQgYW5kCisgICAgICAgICAgICAgICAgICAgIHQuY3Vyc29yLmtpbmQgPT0gQ3Vyc29yS2luZC5QUkVQUk9DRVNTSU5HX0RJUkVDVElWRSk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCh0KQorICAgICAgICAgICAgICAgIGkgKz0gMQorICAgICAgICAgICAgcmV0dXJuIChpLCByZXN1bHQpCiAKLSAgICAgICAgICAgICAgICAgICAgIyB0aGVuIHJlY29yZCB0b2tlbnMgdW50aWwgTE4KLSAgICAgICAgICAgICAgICAgICAgZGlydG9rZW5zID0gW10KLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgdG9rLmlkICE9IHRva0xOIGFuZCB0b2suaWQgIT0gdG9rRU9GOgotICAgICAgICAgICAgICAgICAgICAgICAgZGlydG9rZW5zLmFwcGVuZCh0b2spCi0gICAgICAgICAgICAgICAgICAgICAgICB0b2sgPSB0b2t6ZXIuZ2V0VG9rZW4oKQorICAgICAgICBkZWYgY29uc3VtZV9saW5lKGksIHRva2Vucyk6CisgICAgICAgICAgICAiIiJSZXR1cm4gdG9rZW5zIHRoYXQgZm9sbG93IHRva2Vuc1tpXSBpbiB0aGUgc2FtZSBsaW5lLiIiIgorICAgICAgICAgICAgcmVzdWx0ID0gW10KKyAgICAgICAgICAgIGxpbmUgPSB0b2tlbnNbaV0ubG9jYXRpb24ubGluZQorICAgICAgICAgICAgd2hpbGUgaSA8IGxlbih0b2tlbnMpIGFuZCB0b2tlbnNbaV0ubG9jYXRpb24ubGluZSA9PSBsaW5lOgorICAgICAgICAgICAgICAgIGlmIHRva2Vuc1tpXS5jdXJzb3Iua2luZCA9PSBDdXJzb3JLaW5kLlBSRVBST0NFU1NJTkdfRElSRUNUSVZFOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQodG9rZW5zW2ldKQorICAgICAgICAgICAgICAgIGkgKz0gMQorICAgICAgICAgICAgcmV0dXJuIChpLCByZXN1bHQpCiAKLSAgICAgICAgICAgICAgICAgICAgYmxvY2sgPSBCbG9jayhkaXJ0b2tlbnMsZGlyZWN0aXZlLGxpbmVubykKLSAgICAgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChibG9jaykKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgICA9IDEKKyAgICAgICAgaWYgdG9remVyIGlzIE5vbmU6CisgICAgICAgICAgICB0b2t6ZXIgPSBzZWxmLl90b2t6ZXIKKyAgICAgICAgdG9rZW5zID0gdG9remVyLnRva2VucworCisgICAgICAgIGJsb2NrcyA9IFtdCisgICAgICAgIGJ1ZiA9IFtdCisgICAgICAgIGkgPSAwCisKKyAgICAgICAgd2hpbGUgaSA8IGxlbih0b2tlbnMpOgorICAgICAgICAgICAgdCA9IHRva2Vuc1tpXQorICAgICAgICAgICAgY3Vyc29yID0gdC5jdXJzb3IKKworICAgICAgICAgICAgaWYgZGVidWdCbG9ja1BhcnNlcjoKKyAgICAgICAgICAgICAgICBwcmludCAoIiVkOiBQcm9jZXNzaW5nIFslc10sIGtpbmQ9WyVzXSwgY3Vyc29yPVslc10sICIKKyAgICAgICAgICAgICAgICAgICAgICAgImV4dGVudD1bJXNdIiAlICh0LmxvY2F0aW9uLmxpbmUsIHQuc3BlbGxpbmcsIHQua2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3Iua2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9zaG9ydF9leHRlbnQoY3Vyc29yLmV4dGVudCkpKQorCisgICAgICAgICAgICBpZiBjdXJzb3Iua2luZCA9PSBDdXJzb3JLaW5kLlBSRVBST0NFU1NJTkdfRElSRUNUSVZFOgorICAgICAgICAgICAgICAgIGlmIGJ1ZjoKKyAgICAgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChCbG9jayhidWYpKQorICAgICAgICAgICAgICAgICAgICBidWYgPSBbXQorCisgICAgICAgICAgICAgICAgaiA9IGkKKyAgICAgICAgICAgICAgICBpZiBqICsgMSA+PSBsZW4odG9rZW5zKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQmFkRXhwZWN0ZWRUb2tlbigiIyMjIEJBRCBUT0tFTiBhdCAlcyIgJSAodC5sb2NhdGlvbikpCisgICAgICAgICAgICAgICAgZGlyZWN0aXZlID0gdG9rZW5zW2orMV0uaWQKKworICAgICAgICAgICAgICAgIGlmIGRpcmVjdGl2ZSA9PSAnZGVmaW5lJzoKKyAgICAgICAgICAgICAgICAgICAgaWYgaSsyID49IGxlbih0b2tlbnMpOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgQmFkRXhwZWN0ZWRUb2tlbigiIyMjIEJBRCBUT0tFTiBhdCAlcyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodG9rZW5zW2ldLmxvY2F0aW9uKSkKKworICAgICAgICAgICAgICAgICAgICAjIFNraXAgJyMnIGFuZCAnZGVmaW5lJy4KKyAgICAgICAgICAgICAgICAgICAgZXh0ZW50ID0gdG9rZW5zW2ldLmN1cnNvci5leHRlbnQKKyAgICAgICAgICAgICAgICAgICAgaSArPSAyCisgICAgICAgICAgICAgICAgICAgIGlkID0gJycKKyAgICAgICAgICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHNlcGFyYXRlIHRoZSBpZCBmcm9tIHRoZSByZW1haW5pbmcgb2YKKyAgICAgICAgICAgICAgICAgICAgIyB0aGUgbGluZSwgZXNwZWNpYWxseSBmb3IgdGhlIGZ1bmN0aW9uLWxpa2UgbWFjcm8uCisgICAgICAgICAgICAgICAgICAgIGlmIChpICsgMSA8IGxlbih0b2tlbnMpIGFuZCB0b2tlbnNbaSsxXS5pZCA9PSAnKCcgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAodG9rZW5zW2ldLmxvY2F0aW9uLmNvbHVtbiArIGxlbih0b2tlbnNbaV0uc3BlbGxpbmcpID09CisgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5zW2krMV0ubG9jYXRpb24uY29sdW1uKSk6CisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBpIDwgbGVuKHRva2Vucyk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQgKz0gdG9rZW5zW2ldLmlkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG9rZW5zW2ldLnNwZWxsaW5nID09ICcpJzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAxCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBpZCArPSB0b2tlbnNbaV0uaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICMgQWR2YW5jZSB0byB0aGUgbmV4dCB0b2tlbiB0aGF0IGZvbGxvd3MgdGhlIG1hY3JvIGlkCisgICAgICAgICAgICAgICAgICAgICAgICBpICs9IDEKKworICAgICAgICAgICAgICAgICAgICAoaSwgcmV0KSA9IGNvbnN1bWVfZXh0ZW50KGksIHRva2VucywgZXh0ZW50PWV4dGVudCkKKyAgICAgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChCbG9jayhyZXQsIGRpcmVjdGl2ZT1kaXJlY3RpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZW5vPXQubG9jYXRpb24ubGluZSwgaWRlbnRpZmllcj1pZCkpCisKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAoaSwgcmV0KSA9IGNvbnN1bWVfZXh0ZW50KGksIHRva2VucykKKyAgICAgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChCbG9jayhyZXRbMjpdLCBkaXJlY3RpdmU9ZGlyZWN0aXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVubz10LmxvY2F0aW9uLmxpbmUpKQorCisgICAgICAgICAgICBlbGlmIGN1cnNvci5raW5kID09IEN1cnNvcktpbmQuSU5DTFVTSU9OX0RJUkVDVElWRToKKyAgICAgICAgICAgICAgICBpZiBidWY6CisgICAgICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoQmxvY2soYnVmKSkKKyAgICAgICAgICAgICAgICAgICAgYnVmID0gW10KKyAgICAgICAgICAgICAgICBkaXJlY3RpdmUgPSB0b2tlbnNbaSsxXS5pZAorICAgICAgICAgICAgICAgIChpLCByZXQpID0gY29uc3VtZV9leHRlbnQoaSwgdG9rZW5zKQorCisgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChCbG9jayhyZXRbMjpdLCBkaXJlY3RpdmU9ZGlyZWN0aXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZW5vPXQubG9jYXRpb24ubGluZSkpCisKKyAgICAgICAgICAgIGVsaWYgY3Vyc29yLmtpbmQgPT0gQ3Vyc29yS2luZC5WQVJfREVDTDoKKyAgICAgICAgICAgICAgICBpZiBidWY6CisgICAgICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoQmxvY2soYnVmKSkKKyAgICAgICAgICAgICAgICAgICAgYnVmID0gW10KKworICAgICAgICAgICAgICAgIChpLCByZXQpID0gY29uc3VtZV9leHRlbnQoaSwgdG9rZW5zLCBkZXRlY3RfY2hhbmdlPVRydWUpCisgICAgICAgICAgICAgICAgYnVmICs9IHJldAorCisgICAgICAgICAgICBlbGlmIGN1cnNvci5raW5kID09IEN1cnNvcktpbmQuRlVOQ1RJT05fREVDTDoKKyAgICAgICAgICAgICAgICBpZiBidWY6CisgICAgICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoQmxvY2soYnVmKSkKKyAgICAgICAgICAgICAgICAgICAgYnVmID0gW10KKworICAgICAgICAgICAgICAgIChpLCByZXQpID0gY29uc3VtZV9leHRlbnQoaSwgdG9rZW5zLCBkZXRlY3RfY2hhbmdlPVRydWUpCisgICAgICAgICAgICAgICAgYnVmICs9IHJldAogCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHN0YXRlID0gMAotICAgICAgICAgICAgICAgIGN1cnJlbnQuYXBwZW5kKHRvaykKKyAgICAgICAgICAgICAgICAoaSwgcmV0KSA9IGNvbnN1bWVfbGluZShpLCB0b2tlbnMpCisgICAgICAgICAgICAgICAgYnVmICs9IHJldAogCi0gICAgICAgIGlmIGxlbihjdXJyZW50KSA+IDA6Ci0gICAgICAgICAgICBibG9jayA9IEJsb2NrKGN1cnJlbnQpCi0gICAgICAgICAgICBibG9ja3MuYXBwZW5kKGJsb2NrKQorICAgICAgICBpZiBidWY6CisgICAgICAgICAgICBibG9ja3MuYXBwZW5kKEJsb2NrKGJ1ZikpCisKKyAgICAgICAgIyBfcGFyc2VkPVRydWUgaW5kaWNhdGVzIGEgc3VjY2Vzc2Z1bCBwYXJzaW5nLCBhbHRob3VnaCBtYXkgcmVzdWx0IGFuCisgICAgICAgICMgZW1wdHkgQmxvY2tMaXN0LgorICAgICAgICBzZWxmLl9wYXJzZWQgPSBUcnVlCiAKICAgICAgICAgcmV0dXJuIEJsb2NrTGlzdChibG9ja3MpCiAKLSAgICBkZWYgcGFyc2Uoc2VsZix0b2t6ZXIpOgotICAgICAgICByZXR1cm4gc2VsZi5nZXRCbG9ja3MoIHRva3plciApCisgICAgZGVmIHBhcnNlKHNlbGYsIHRva3plcik6CisgICAgICAgIHJldHVybiBzZWxmLmdldEJsb2Nrcyh0b2t6ZXIpCiAKLSAgICBkZWYgcGFyc2VMaW5lcyhzZWxmLGxpbmVzKToKLSAgICAgICAgIiIicGFyc2UgYSBsaXN0IG9mIHRleHQgbGluZXMgaW50byBhIEJsb2NrTGlzdCBvYmplY3QiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuZ2V0QmxvY2tzKCBDcHBMaW5lc1Rva2VuaXplcihsaW5lcykgKQotCi0gICAgZGVmIHBhcnNlRmlsZShzZWxmLHBhdGgpOgotICAgICAgICAiIiJwYXJzZSBhIGZpbGUgaW50byBhIEJsb2NrTGlzdCBvYmplY3QiIiIKLSAgICAgICAgZmlsZSA9IG9wZW4ocGF0aCwgInJ0IikKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5nZXRCbG9ja3MoIENwcEZpbGVUb2tlbml6ZXIoZmlsZSkgKQotICAgICAgICBmaWxlLmNsb3NlKCkKLSAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgIGRlZiBwYXJzZUZpbGUoc2VsZiwgcGF0aCk6CisgICAgICAgIHJldHVybiBzZWxmLmdldEJsb2NrcyhDcHBGaWxlVG9rZW5pemVyKHBhdGgpKQogCiAKLWRlZiB0ZXN0X2Jsb2NrX3BhcnNpbmcobGluZXMsZXhwZWN0ZWQpOgotICAgIGJsb2NrcyA9IEJsb2NrUGFyc2VyKCkucGFyc2UoIENwcExpbmVzVG9rZW5pemVyKGxpbmVzKSApCitkZWYgdGVzdF9ibG9ja19wYXJzaW5nKGxpbmVzLCBleHBlY3RlZCk6CisgICAgIiIiSGVscGVyIG1ldGhvZCB0byB0ZXN0IHRoZSBjb3JyZWN0bmVzcyBvZiBCbG9ja1BhcnNlci5wYXJzZS4iIiIKKyAgICBibG9ja3MgPSBCbG9ja1BhcnNlcigpLnBhcnNlKENwcFN0cmluZ1Rva2VuaXplcignXG4nLmpvaW4obGluZXMpKSkKICAgICBpZiBsZW4oYmxvY2tzKSAhPSBsZW4oZXhwZWN0ZWQpOgotICAgICAgICByYWlzZSBCYWRFeHBlY3RlZFRva2VuLCAicGFyc2VyLmJ1aWxkQmxvY2tzIHJldHVybmVkICclcycgZXhwZWN0aW5nICclcyciIFwKLSAgICAgICAgICAgICAgJSAoc3RyKGJsb2NrcyksIHJlcHIoZXhwZWN0ZWQpKQorICAgICAgICByYWlzZSBCYWRFeHBlY3RlZFRva2VuKCJCbG9ja1BhcnNlci5wYXJzZSgpIHJldHVybmVkICclcycgZXhwZWN0aW5nICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJyVzJyIgJSAoc3RyKGJsb2NrcyksIHJlcHIoZXhwZWN0ZWQpKSkKICAgICBmb3IgbiBpbiByYW5nZShsZW4oYmxvY2tzKSk6CiAgICAgICAgIGlmIHN0cihibG9ja3Nbbl0pICE9IGV4cGVjdGVkW25dOgotICAgICAgICAgICAgcmFpc2UgQmFkRXhwZWN0ZWRUb2tlbiwgInBhcnNlci5idWlsZEJsb2NrcygpWyVkXSBpcyAnJXMnLCBleHBlY3RpbmcgJyVzJyIgXAotICAgICAgICAgICAgICAgICAgJSAobiwgc3RyKGJsb2Nrc1tuXSksIGV4cGVjdGVkW25dKQotICAgICNmb3IgYmxvY2sgaW4gYmxvY2tzOgotICAgICMgICAgcHJpbnQgYmxvY2sKKyAgICAgICAgICAgIHJhaXNlIEJhZEV4cGVjdGVkVG9rZW4oIkJsb2NrUGFyc2VyLnBhcnNlKClbJWRdIGlzICclcycsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGluZyAnJXMnIiAlIChuLCBzdHIoYmxvY2tzW25dKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZFtuXSkpCisKIAogZGVmIHRlc3RfQmxvY2tQYXJzZXIoKToKLSAgICB0ZXN0X2Jsb2NrX3BhcnNpbmcoWyIjZXJyb3IgaGVsbG8iXSxbIiNlcnJvciBoZWxsbyJdKQotICAgIHRlc3RfYmxvY2tfcGFyc2luZyhbICJmb28iLCAiIiwgImJhciIgXSwgWyAiZm9vXG5cbmJhclxuIiBdKQotICAgIHRlc3RfYmxvY2tfcGFyc2luZyhbICJmb28iLCAiICAjICAiLCAiYmFyIiBdLCBbICJmb29cbiIsImJhclxuIiBdKQotICAgIHRlc3RfYmxvY2tfcGFyc2luZyhcCi0gICAgICAgIFsgImZvbyIsICIgICAjICAiLCAiICAjICAvKiBhaGFoICovIGlmIGRlZmluZWQoX19LRVJORUxfXykgIiwgImJhciIsICIjZW5kaWYiIF0sCi0gICAgICAgIFsgImZvb1xuIiwgIiNpZmRlZiBfX0tFUk5FTF9fIiwgImJhclxuIiwgIiNlbmRpZiIgXSApCisgICAgdGVzdF9ibG9ja19wYXJzaW5nKFsiI2Vycm9yIGhlbGxvIl0sIFsiI2Vycm9yIGhlbGxvIl0pCisgICAgdGVzdF9ibG9ja19wYXJzaW5nKFsiZm9vIiwgIiIsICJiYXIiXSwgWyJmb28gYmFyIl0pCisKKyAgICAjIFdlIGN1cnJlbnRseSBjYW5ub3QgaGFuZGxlIHRoZSBmb2xsb3dpbmcgY2FzZSB3aXRoIGxpYmNsYW5nIHByb3Blcmx5LgorICAgICMgRm9ydHVuYXRlbHkgaXQgZG9lc24ndCBhcHBlYXIgaW4gY3VycmVudCBoZWFkZXJzLgorICAgICMgdGVzdF9ibG9ja19wYXJzaW5nKFsiZm9vIiwgIiAgIyAgIiwgImJhciJdLCBbImZvbyIsICJiYXIiXSkKKworICAgIHRlc3RfYmxvY2tfcGFyc2luZyhbImZvbyIsCisgICAgICAgICAgICAgICAgICAgICAgICAiICAjICAvKiBhaGFoICovIGlmIGRlZmluZWQoX19LRVJORUxfXykgLyogbW9yZSAqLyIsCisgICAgICAgICAgICAgICAgICAgICAgICAiYmFyIiwgIiNlbmRpZiJdLAorICAgICAgICAgICAgICAgICAgICAgICBbImZvbyIsICIjaWZkZWYgX19LRVJORUxfXyIsICJiYXIiLCAiI2VuZGlmIl0pCiAKIAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIwotIyMjIyMgICAgICAgIEIgTCBPIEMgSyAgIEwgSSBTIFQgICBPIFAgVCBJIE0gSSBaIEEgVCBJIE8gTiAgICAgICAgICAgICAgICAgICAgICAjIyMjIwotIyMjIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIworIyMjIyMgICAgICAgIEIgTCBPIEMgSyAgIEwgSSBTIFQgICBPIFAgVCBJIE0gSSBaIEEgVCBJIE8gTiAgICAgICAgICAgICAgICAgIyMjIyMKKyMjIyMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotZGVmICByZW1vdmVfbWFjcm9fZGVmaW5lcyggYmxvY2tzLCBleGNsdWRlZE1hY3Jvcz1zZXQoKSApOgotICAgICIiInJlbW92ZSBtYWNybyBkZWZpbml0aW9ucyBsaWtlICNkZWZpbmUgPG1hY3JvTmFtZT4gIC4uLi4iIiIKKworZGVmIHJlbW92ZV9tYWNyb19kZWZpbmVzKGJsb2NrcywgZXhjbHVkZWRNYWNyb3M9Tm9uZSk6CisgICAgIiIiUmVtb3ZlIG1hY3JvIGRlZmluaXRpb25zIGxpa2UgI2RlZmluZSA8bWFjcm9OYW1lPiAgLi4uLiIiIgorICAgIGlmIGV4Y2x1ZGVkTWFjcm9zIGlzIE5vbmU6CisgICAgICAgIGV4Y2x1ZGVkTWFjcm9zID0gc2V0KCkKICAgICByZXN1bHQgPSBbXQogICAgIGZvciBiIGluIGJsb2NrczoKICAgICAgICAgbWFjcm9OYW1lID0gYi5pc0RlZmluZSgpCi0gICAgICAgIGlmIG1hY3JvTmFtZSA9PSBOb25lIG9yIG5vdCBtYWNyb05hbWUgaW4gZXhjbHVkZWRNYWNyb3M6CisgICAgICAgIGlmIG1hY3JvTmFtZSBpcyBOb25lIG9yIG1hY3JvTmFtZSBub3QgaW4gZXhjbHVkZWRNYWNyb3M6CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGIpCiAKICAgICByZXR1cm4gcmVzdWx0CiAKLWRlZiAgZmluZF9tYXRjaGluZ19lbmRpZiggYmxvY2tzLCBpICk6Ci0gICAgbiAgICAgPSBsZW4oYmxvY2tzKQorCitkZWYgZmluZF9tYXRjaGluZ19lbmRpZihibG9ja3MsIGkpOgorICAgICIiIlRyYXZlcnNlIHRoZSBibG9ja3MgdG8gZmluZCBvdXQgdGhlIG1hdGNoaW5nICNlbmRpZi4iIiIKKyAgICBuID0gbGVuKGJsb2NrcykKICAgICBkZXB0aCA9IDEKICAgICB3aGlsZSBpIDwgbjoKICAgICAgICAgaWYgYmxvY2tzW2ldLmlzRGlyZWN0aXZlKCk6Ci0gICAgICAgICAgICBkaXIgPSBibG9ja3NbaV0uZGlyZWN0aXZlCi0gICAgICAgICAgICBpZiBkaXIgaW4gWyAiaWYiLCAiaWZuZGVmIiwgImlmZGVmIiBdOgorICAgICAgICAgICAgZGlyXyA9IGJsb2Nrc1tpXS5kaXJlY3RpdmUKKyAgICAgICAgICAgIGlmIGRpcl8gaW4gWyJpZiIsICJpZm5kZWYiLCAiaWZkZWYiXToKICAgICAgICAgICAgICAgICBkZXB0aCArPSAxCi0gICAgICAgICAgICBlbGlmIGRlcHRoID09IDEgYW5kIGRpciBpbiBbICJlbHNlIiwgImVsaWYiIF06CisgICAgICAgICAgICBlbGlmIGRlcHRoID09IDEgYW5kIGRpcl8gaW4gWyJlbHNlIiwgImVsaWYiXToKICAgICAgICAgICAgICAgICByZXR1cm4gaQotICAgICAgICAgICAgZWxpZiBkaXIgPT0gImVuZGlmIjoKKyAgICAgICAgICAgIGVsaWYgZGlyXyA9PSAiZW5kaWYiOgogICAgICAgICAgICAgICAgIGRlcHRoIC09IDEKICAgICAgICAgICAgICAgICBpZiBkZXB0aCA9PSAwOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gaQogICAgICAgICBpICs9IDEKICAgICByZXR1cm4gaQogCi1kZWYgIG9wdGltaXplX2lmMDEoIGJsb2NrcyApOgotICAgICIiInJlbW92ZSB0aGUgY29kZSBiZXR3ZWVuICNpZiAwIC4uICNlbmRpZiBpbiBhIGxpc3Qgb2YgQ3BwQmxvY2tzIiIiCisKK2RlZiBvcHRpbWl6ZV9pZjAxKGJsb2Nrcyk6CisgICAgIiIiUmVtb3ZlIHRoZSBjb2RlIGJldHdlZW4gI2lmIDAgLi4gI2VuZGlmIGluIGEgbGlzdCBvZiBDcHBCbG9ja3MuIiIiCiAgICAgaSA9IDAKICAgICBuID0gbGVuKGJsb2NrcykKICAgICByZXN1bHQgPSBbXQpAQCAtMTcxMSw2OSArMTY3Niw3NiBAQAogICAgICAgICB3aGlsZSBqIDwgbiBhbmQgbm90IGJsb2Nrc1tqXS5pc0lmKCk6CiAgICAgICAgICAgICBqICs9IDEKICAgICAgICAgaWYgaiA+IGk6Ci0gICAgICAgICAgICBEMigiYXBwZW5kaW5nIGxpbmVzICVkIHRvICVkIiAlIChibG9ja3NbaV0ubGluZW5vLCBibG9ja3Nbai0xXS5saW5lbm8pKQorICAgICAgICAgICAgbG9nZ2luZy5kZWJ1ZygiYXBwZW5kaW5nIGxpbmVzICVkIHRvICVkIiwgYmxvY2tzW2ldLmxpbmVubywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tzW2otMV0ubGluZW5vKQogICAgICAgICAgICAgcmVzdWx0ICs9IGJsb2Nrc1tpOmpdCiAgICAgICAgIGlmIGogPj0gbjoKICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGV4cHIgPSBibG9ja3Nbal0uZXhwcgotICAgICAgICByICAgID0gZXhwci50b0ludCgpCi0gICAgICAgIGlmIHIgPT0gTm9uZToKKyAgICAgICAgciA9IGV4cHIudG9JbnQoKQorICAgICAgICBpZiByIGlzIE5vbmU6CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGJsb2Nrc1tqXSkKICAgICAgICAgICAgIGkgPSBqICsgMQogICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICBpZiByID09IDA6CiAgICAgICAgICAgICAjIGlmIDAgPT4gc2tpcCBldmVyeXRoaW5nIHVudGlsIHRoZSBjb3JyZXNwb25kaW5nICNlbmRpZgotICAgICAgICAgICAgaiA9IGZpbmRfbWF0Y2hpbmdfZW5kaWYoIGJsb2NrcywgaisxICkKKyAgICAgICAgICAgIGogPSBmaW5kX21hdGNoaW5nX2VuZGlmKGJsb2NrcywgaiArIDEpCiAgICAgICAgICAgICBpZiBqID49IG46CiAgICAgICAgICAgICAgICAgIyB1bnRlcm1pbmF0ZWQgI2lmIDAsIGZpbmlzaCBoZXJlCiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGRpciA9IGJsb2Nrc1tqXS5kaXJlY3RpdmUKLSAgICAgICAgICAgIGlmIGRpciA9PSAiZW5kaWYiOgotICAgICAgICAgICAgICAgIEQyKCJyZW1vdmUgJ2lmIDAnIC4uICdlbmRpZicgKGxpbmVzICVkIHRvICVkKSIgJSAoYmxvY2tzW2ldLmxpbmVubywgYmxvY2tzW2pdLmxpbmVubykpCisgICAgICAgICAgICBkaXJfID0gYmxvY2tzW2pdLmRpcmVjdGl2ZQorICAgICAgICAgICAgaWYgZGlyXyA9PSAiZW5kaWYiOgorICAgICAgICAgICAgICAgIGxvZ2dpbmcuZGVidWcoInJlbW92ZSAnaWYgMCcgLi4gJ2VuZGlmJyAobGluZXMgJWQgdG8gJWQpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2Nrc1tpXS5saW5lbm8sIGJsb2Nrc1tqXS5saW5lbm8pCiAgICAgICAgICAgICAgICAgaSA9IGogKyAxCi0gICAgICAgICAgICBlbGlmIGRpciA9PSAiZWxzZSI6CisgICAgICAgICAgICBlbGlmIGRpcl8gPT0gImVsc2UiOgogICAgICAgICAgICAgICAgICMgY29udmVydCAnZWxzZScgaW50byAnaWYgMScKLSAgICAgICAgICAgICAgICBEMigiY29udmVydCAnaWYgMCcgLi4gJ2Vsc2UnIGludG8gJ2lmIDEnIChsaW5lcyAlZCB0byAlZCkiICUgKGJsb2Nrc1tpXS5saW5lbm8sIGJsb2Nrc1tqLTFdLmxpbmVubykpCisgICAgICAgICAgICAgICAgbG9nZ2luZy5kZWJ1ZygiY29udmVydCAnaWYgMCcgLi4gJ2Vsc2UnIGludG8gJ2lmIDEnIChsaW5lcyAlZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG8gJWQpIiwgYmxvY2tzW2ldLmxpbmVubywgYmxvY2tzW2otMV0ubGluZW5vKQogICAgICAgICAgICAgICAgIGJsb2Nrc1tqXS5kaXJlY3RpdmUgPSAiaWYiCi0gICAgICAgICAgICAgICAgYmxvY2tzW2pdLmV4cHIgICAgICA9IENwcEV4cHIoIENwcExpbmVUb2tlbml6ZXIoIjEiKS50b1Rva2VuTGlzdCgpICkKKyAgICAgICAgICAgICAgICBibG9ja3Nbal0uZXhwciA9IENwcEV4cHIoQ3BwU3RyaW5nVG9rZW5pemVyKCIxIikudG9rZW5zKQogICAgICAgICAgICAgICAgIGkgPSBqCi0gICAgICAgICAgICBlbGlmIGRpciA9PSAiZWxpZiI6CisgICAgICAgICAgICBlbGlmIGRpcl8gPT0gImVsaWYiOgogICAgICAgICAgICAgICAgICMgY29udmVydCAnZWxpZicgaW50byAnaWYnCi0gICAgICAgICAgICAgICAgRDIoImNvbnZlcnQgJ2lmIDAnIC4uICdlbGlmJyBpbnRvICdpZiciKQorICAgICAgICAgICAgICAgIGxvZ2dpbmcuZGVidWcoImNvbnZlcnQgJ2lmIDAnIC4uICdlbGlmJyBpbnRvICdpZiciKQogICAgICAgICAgICAgICAgIGJsb2Nrc1tqXS5kaXJlY3RpdmUgPSAiaWYiCiAgICAgICAgICAgICAgICAgaSA9IGoKICAgICAgICAgICAgIGNvbnRpbnVlCiAKICAgICAgICAgIyBpZiAxID0+IGZpbmQgY29ycmVzcG9uZGluZyBlbmRpZiBhbmQgcmVtb3ZlL3RyYW5zZm9ybSB0aGVtCi0gICAgICAgIGsgPSBmaW5kX21hdGNoaW5nX2VuZGlmKCBibG9ja3MsIGorMSApCisgICAgICAgIGsgPSBmaW5kX21hdGNoaW5nX2VuZGlmKGJsb2NrcywgaiArIDEpCiAgICAgICAgIGlmIGsgPj0gbjoKICAgICAgICAgICAgICMgdW50ZXJtaW5hdGVkICNpZiAxLCBmaW5pc2ggaGVyZQotICAgICAgICAgICAgRDIoInVudGVybWluYXRlZCAnaWYgMSciKQorICAgICAgICAgICAgbG9nZ2luZy5kZWJ1ZygidW50ZXJtaW5hdGVkICdpZiAxJyIpCiAgICAgICAgICAgICByZXN1bHQgKz0gYmxvY2tzW2orMTprXQogICAgICAgICAgICAgYnJlYWsKIAotICAgICAgICBkaXIgPSBibG9ja3Nba10uZGlyZWN0aXZlCi0gICAgICAgIGlmIGRpciA9PSAiZW5kaWYiOgotICAgICAgICAgICAgRDIoImNvbnZlcnQgJ2lmIDEnIC4uICdlbmRpZicgKGxpbmVzICVkIHRvICVkKSIgICUgKGJsb2Nrc1tqXS5saW5lbm8sIGJsb2Nrc1trXS5saW5lbm8pKQorICAgICAgICBkaXJfID0gYmxvY2tzW2tdLmRpcmVjdGl2ZQorICAgICAgICBpZiBkaXJfID09ICJlbmRpZiI6CisgICAgICAgICAgICBsb2dnaW5nLmRlYnVnKCJjb252ZXJ0ICdpZiAxJyAuLiAnZW5kaWYnIChsaW5lcyAlZCB0byAlZCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja3Nbal0ubGluZW5vLCBibG9ja3Nba10ubGluZW5vKQogICAgICAgICAgICAgcmVzdWx0ICs9IG9wdGltaXplX2lmMDEoYmxvY2tzW2orMTprXSkKLSAgICAgICAgICAgIGkgICAgICAgPSBrKzEKLSAgICAgICAgZWxpZiBkaXIgPT0gImVsc2UiOgorICAgICAgICAgICAgaSA9IGsgKyAxCisgICAgICAgIGVsaWYgZGlyXyA9PSAiZWxzZSI6CiAgICAgICAgICAgICAjIGNvbnZlcnQgJ2Vsc2UnIGludG8gJ2lmIDAnCi0gICAgICAgICAgICBEMigiY29udmVydCAnaWYgMScgLi4gJ2Vsc2UnIChsaW5lcyAlZCB0byAlZCkiICAlIChibG9ja3Nbal0ubGluZW5vLCBibG9ja3Nba10ubGluZW5vKSkKKyAgICAgICAgICAgIGxvZ2dpbmcuZGVidWcoImNvbnZlcnQgJ2lmIDEnIC4uICdlbHNlJyAobGluZXMgJWQgdG8gJWQpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tzW2pdLmxpbmVubywgYmxvY2tzW2tdLmxpbmVubykKICAgICAgICAgICAgIHJlc3VsdCArPSBvcHRpbWl6ZV9pZjAxKGJsb2Nrc1tqKzE6a10pCiAgICAgICAgICAgICBibG9ja3Nba10uZGlyZWN0aXZlID0gImlmIgotICAgICAgICAgICAgYmxvY2tzW2tdLmV4cHIgICAgICA9IENwcEV4cHIoIENwcExpbmVUb2tlbml6ZXIoIjAiKS50b1Rva2VuTGlzdCgpICkKKyAgICAgICAgICAgIGJsb2Nrc1trXS5leHByID0gQ3BwRXhwcihDcHBTdHJpbmdUb2tlbml6ZXIoIjAiKS50b2tlbnMpCiAgICAgICAgICAgICBpID0gawotICAgICAgICBlbGlmIGRpciA9PSAiZWxpZiI6CisgICAgICAgIGVsaWYgZGlyXyA9PSAiZWxpZiI6CiAgICAgICAgICAgICAjIGNvbnZlcnQgJ2VsaWYnIGludG8gJ2lmIDAnCi0gICAgICAgICAgICBEMigiY29udmVydCAnaWYgMScgLi4gJ2VsaWYnIChsaW5lcyAlZCB0byAlZCkiICUgKGJsb2Nrc1tqXS5saW5lbm8sIGJsb2Nrc1trXS5saW5lbm8pKQorICAgICAgICAgICAgbG9nZ2luZy5kZWJ1ZygiY29udmVydCAnaWYgMScgLi4gJ2VsaWYnIChsaW5lcyAlZCB0byAlZCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja3Nbal0ubGluZW5vLCBibG9ja3Nba10ubGluZW5vKQogICAgICAgICAgICAgcmVzdWx0ICs9IG9wdGltaXplX2lmMDEoYmxvY2tzW2orMTprXSkKLSAgICAgICAgICAgIGJsb2Nrc1trXS5leHByICAgICAgPSBDcHBFeHByKCBDcHBMaW5lVG9rZW5pemVyKCIwIikudG9Ub2tlbkxpc3QoKSApCisgICAgICAgICAgICBibG9ja3Nba10uZXhwciA9IENwcEV4cHIoQ3BwU3RyaW5nVG9rZW5pemVyKCIwIikudG9rZW5zKQogICAgICAgICAgICAgaSA9IGsKICAgICByZXR1cm4gcmVzdWx0CiAKLWRlZiAgdGVzdF9vcHRpbWl6ZUFsbCgpOgorCitkZWYgdGVzdF9vcHRpbWl6ZUFsbCgpOgogICAgIHRleHQgPSAiIiJcCiAjaWYgMQogI2RlZmluZSAgR09PRF8xCkBAIC0xODE2LDUwICsxNzg4LDQxIEBACiAKICAgICBleHBlY3RlZCA9ICIiIlwKICNkZWZpbmUgR09PRF8xCi0KICNkZWZpbmUgR09PRF8yCi0KICNkZWZpbmUgR09PRF8zCi0KLQogI2lmICFkZWZpbmVkKF9fR0xJQkNfXykgfHwgX19HTElCQ19fIDwgMgogI2RlZmluZSBYCiAjZW5kaWYKLQogI2lmbmRlZiBfX1NJR1JUTUFYCiAjZGVmaW5lIF9fU0lHUlRNQVggMTIzCi0jZW5kaWYKLQorI2VuZGlmXAogIiIiCiAKLSAgICBvdXQgPSBTdHJpbmdPdXRwdXQoKQotICAgIGxpbmVzID0gc3RyaW5nLnNwbGl0KHRleHQsICdcbicpCi0gICAgbGlzdCA9IEJsb2NrUGFyc2VyKCkucGFyc2UoIENwcExpbmVzVG9rZW5pemVyKGxpbmVzKSApCi0gICAgI0Rfc2V0bGV2ZWwoMikKLSAgICBsaXN0LnJlcGxhY2VUb2tlbnMoIGtlcm5lbF90b2tlbl9yZXBsYWNlbWVudHMgKQotICAgIGxpc3Qub3B0aW1pemVBbGwoIHsiX19LRVJORUxfXyI6a0NwcFVuZGVmaW5lZE1hY3JvfSApCi0gICAgbGlzdC53cml0ZShvdXQpCisgICAgb3V0ID0gdXRpbHMuU3RyaW5nT3V0cHV0KCkKKyAgICBibG9ja3MgPSBCbG9ja1BhcnNlcigpLnBhcnNlKENwcFN0cmluZ1Rva2VuaXplcih0ZXh0KSkKKyAgICBibG9ja3MucmVwbGFjZVRva2VucyhrZXJuZWxfdG9rZW5fcmVwbGFjZW1lbnRzKQorICAgIGJsb2Nrcy5vcHRpbWl6ZUFsbCh7Il9fS0VSTkVMX18iOiBrQ3BwVW5kZWZpbmVkTWFjcm99KQorICAgIGJsb2Nrcy53cml0ZShvdXQpCiAgICAgaWYgb3V0LmdldCgpICE9IGV4cGVjdGVkOgogICAgICAgICBwcmludCAiW0ZBSUxdOiBtYWNybyBvcHRpbWl6YXRpb24gZmFpbGVkXG4iCiAgICAgICAgIHByaW50ICI8PDw8IGV4cGVjdGluZyAnIiwKICAgICAgICAgcHJpbnQgZXhwZWN0ZWQsCi0gICAgICAgIHByaW50ICInXG4+Pj4+IHJlc3VsdCAnIgorICAgICAgICBwcmludCAiJ1xuPj4+PiByZXN1bHQgJyIsCiAgICAgICAgIHByaW50IG91dC5nZXQoKSwKICAgICAgICAgcHJpbnQgIidcbi0tLS0iCiAgICAgICAgIGdsb2JhbCBmYWlsdXJlX2NvdW50CiAgICAgICAgIGZhaWx1cmVfY291bnQgKz0gMQogCiAKLSMgLS0gQWx3YXlzIHJ1biB0aGUgdW5pdCB0ZXN0cy4KLQogZGVmIHJ1blVuaXRUZXN0cygpOgotICAgICIiInJ1biBhbGwgdW5pdCB0ZXN0cyBmb3IgdGhpcyBwcm9ncmFtIiIiCisgICAgIiIiQWx3YXlzIHJ1biBhbGwgdW5pdCB0ZXN0cyBmb3IgdGhpcyBwcm9ncmFtLiIiIgogICAgIHRlc3RfQ3BwVG9rZW5pemVyKCkKICAgICB0ZXN0X0NwcEV4cHIoKQogICAgIHRlc3Rfb3B0aW1pemVBbGwoKQogICAgIHRlc3RfQmxvY2tQYXJzZXIoKQogCisKIGZhaWx1cmVfY291bnQgPSAwCiBydW5Vbml0VGVzdHMoKQogaWYgZmFpbHVyZV9jb3VudCAhPSAwOgotICAgIHN5cy5leGl0KDEpCisgICAgdXRpbHMucGFuaWMoIlVuaXQgdGVzdHMgZmFpbGVkIGluIGNwcC5weS5cbiIpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC90b29scy9kZWZhdWx0cy5weSBiL2xpYmMva2VybmVsL3Rvb2xzL2RlZmF1bHRzLnB5CmluZGV4IDJlZmQ0NTUuLjhhYmE5OTggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3Rvb2xzL2RlZmF1bHRzLnB5CisrKyBiL2xpYmMva2VybmVsL3Rvb2xzL2RlZmF1bHRzLnB5CkBAIC0xMTgsMTAgKzExOCw4IEBACiAjIHRoZSBnZW5lcmF0ZWQgZmlsZXMuCiAjCiBrZXJuZWxfaWdub3JlZF9tYWNyb3MgPSBzZXQoCi0gICAgICAgIFsgIk1BWEhPU1ROQU1FTEVOIiwgICMgZm9yIHNvbWUgcmVhc29uLCBMaW51eCBkZWZpbmVzIGl0IHRvIDY0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2hpbGUgbW9zdCBvZiB0aGUgQlNEIGNvZGUgZXhwZWN0cyB0aGlzIHRvIGJlIDI1NgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvIGlnbm9yZSB0aGUga2VybmVsLXByb3ZpZGVkIGRlZmluaXRpb24gYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZGVmaW5lIGl0IGluIHRoZSBCaW9uaWMgaGVhZGVycyBpbnN0ZWFkCisgICAgICAgIFsKKwogICAgICAgICBdCiAgICAgKQogCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC90b29scy9nZW5lcmF0ZV91YXBpX2hlYWRlcnMuc2ggYi9saWJjL2tlcm5lbC90b29scy9nZW5lcmF0ZV91YXBpX2hlYWRlcnMuc2gKaW5kZXggMzg2MTU5YS4uOTBiYTBlZCAxMDA3NTUKLS0tIGEvbGliYy9rZXJuZWwvdG9vbHMvZ2VuZXJhdGVfdWFwaV9oZWFkZXJzLnNoCisrKyBiL2xpYmMva2VybmVsL3Rvb2xzL2dlbmVyYXRlX3VhcGlfaGVhZGVycy5zaApAQCAtMTU5LDcgKzE1OSw3IEBACiAgIGNkICIke1RNUERJUn0iCiAgIGVjaG8gIkZldGNoaW5nIGFuZHJvaWQga2VybmVsIHNvdXJjZSAke0tFUk5FTF9WRVJTSU9OfSIKICAgZ2l0IGNsb25lIGh0dHBzOi8vYW5kcm9pZC5nb29nbGVzb3VyY2UuY29tL2tlcm5lbC9jb21tb24uZ2l0Ci0gIGNkICIke0NPTU1PTn0iCisgIGNkICIke3NyY19kaXJ9IgogICBnaXQgY2hlY2tvdXQgIiR7S0VSTkVMX1ZFUlNJT059IgogICBLRVJORUxfRElSPSIke1RNUERJUn0iCiBlbGlmIFtbICIke0tFUk5FTF9ESVJ9IiA9PSAiIiBdXTsgdGhlbgpAQCAtMTgwLDYgKzE4MCw4IEBACiAgIGRvbmUKIGZpCiAKK2NkICR7QU5EUk9JRF9CVUlMRF9UT1B9CisKICMgQ29weSBhbGwgb2YgdGhlIGluY2x1ZGUvdWFwaSBmaWxlcyB0byB0aGUga2VybmVsIGhlYWRlcnMgdWFwaSBkaXJlY3RvcnkuCiBjb3B5X2hkcnMgIiR7S0VSTkVMX0RJUn0vJHtzcmNfZGlyfS9pbmNsdWRlL3VhcGkiICIke0FORFJPSURfS0VSTkVMX0RJUn0vdWFwaSIKIApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdG9vbHMvdXBkYXRlX2FsbC5weSBiL2xpYmMva2VybmVsL3Rvb2xzL3VwZGF0ZV9hbGwucHkKaW5kZXggNzM4NjJkYS4uZjQ1ZDRlMCAxMDA3NTUKLS0tIGEvbGliYy9rZXJuZWwvdG9vbHMvdXBkYXRlX2FsbC5weQorKysgYi9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CkBAIC00MCwxMiArNDAsNyBAQAogICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKG9yaWdpbmFsX2Rpcik6CiAgICAgICAgIHBhbmljKCAiTWlzc2luZyBkaXJlY3RvcnksIHBsZWFzZSBzcGVjaWZ5IG9uZSB0aHJvdWdoIGNvbW1hbmQtbGluZTogJXNcbiIgJSBvcmlnaW5hbF9kaXIgKQogCi0jIEZpeG1lOiBUaGlzIHNob3VsZCBiZSByZW1vdmVkIGFmdGVyIG5leHQgcmVsZWFzZS4KLSMgRG8gbm90IHVwZGF0ZSBpb24uaCBpb25fdGVzdC5oIHVudGlsIGFmdGVyIG5leHQgcmVsZWFzZSBpbiBhb3NwLgotc291cmNlID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoJ2dpdCByZW1vdGUgc2hvdycsIHNoZWxsPVRydWUpLnN0cmlwKCkKIHNraXBfaW9uID0gRmFsc2UKLWlmIHNvdXJjZSA9PSAiYW9zcCI6Ci0gICAgc2tpcF9pb24gPSBUcnVlCiAKICMgZmluZCBhbGwgc291cmNlIGZpbGVzIGluICdvcmlnaW5hbCcKICMKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3Rvb2xzL3V0aWxzLnB5IGIvbGliYy9rZXJuZWwvdG9vbHMvdXRpbHMucHkKaW5kZXggMDQ3OGU5My4uZTVhMzEwZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdG9vbHMvdXRpbHMucHkKKysrIGIvbGliYy9rZXJuZWwvdG9vbHMvdXRpbHMucHkKQEAgLTEsNTkgKzEsMjkgQEAKICMgY29tbW9uIHB5dGhvbiB1dGlsaXR5IHJvdXRpbmVzIGZvciB0aGUgQmlvbmljIHRvb2wgc2NyaXB0cwogCi1pbXBvcnQgc3lzLCBvcywgY29tbWFuZHMsIHN0cmluZywgY29tbWFuZHMKK2ltcG9ydCBjb21tYW5kcworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHN0cmluZworaW1wb3J0IHN5cwogCi0jIGJhc2ljIGRlYnVnZ2luZyB0cmFjZSBzdXBwb3J0Ci0jIGNhbGwgRF9zZXRsZXZlbCB0byBzZXQgdGhlIHZlcmJvc2l0eSBsZXZlbAotIyBhbmQgRCgpLCBEMigpLCBEMygpLCBENCgpIHRvIGFkZCB0cmFjZXMKLSMKLXZlcmJvc2UgPSAwCiAKIGRlZiBwYW5pYyhtc2cpOgotICAgIHN5cy5zdGRlcnIud3JpdGUoIGZpbmRfcHJvZ3JhbV9uYW1lKCkgKyAiOiBlcnJvcjogIiApCi0gICAgc3lzLnN0ZGVyci53cml0ZSggbXNnICkKKyAgICBzeXMuc3RkZXJyLndyaXRlKG9zLnBhdGguYmFzZW5hbWUoc3lzLmFyZ3ZbMF0pICsgIjogZXJyb3I6ICIpCisgICAgc3lzLnN0ZGVyci53cml0ZShtc2cpCiAgICAgc3lzLmV4aXQoMSkKIAotZGVmIEQobXNnKToKLSAgICBnbG9iYWwgdmVyYm9zZQotICAgIGlmIHZlcmJvc2UgPiAwOgotICAgICAgICBwcmludCBtc2cKLQotZGVmIEQyKG1zZyk6Ci0gICAgZ2xvYmFsIHZlcmJvc2UKLSAgICBpZiB2ZXJib3NlID49IDI6Ci0gICAgICAgIHByaW50IG1zZwotCi1kZWYgRDMobXNnKToKLSAgICBnbG9iYWwgdmVyYm9zZQotICAgIGlmIHZlcmJvc2UgPj0gMzoKLSAgICAgICAgcHJpbnQgbXNnCi0KLWRlZiBENChtc2cpOgotICAgIGdsb2JhbCB2ZXJib3NlCi0gICAgaWYgdmVyYm9zZSA+PSA0OgotICAgICAgICBwcmludCBtc2cKLQotZGVmIERfc2V0bGV2ZWwobGV2ZWwpOgotICAgIGdsb2JhbCB2ZXJib3NlCi0gICAgdmVyYm9zZSA9IGxldmVsCi0KLQotIyAgb3RoZXIgc3R1ZmYKLSMKLSMKLWRlZiBmaW5kX3Byb2dyYW1fbmFtZSgpOgotICAgIHJldHVybiBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKQogCiBkZWYgZmluZF9wcm9ncmFtX2RpcigpOgogICAgIHJldHVybiBvcy5wYXRoLmRpcm5hbWUoc3lzLmFyZ3ZbMF0pCiAKKwogY2xhc3MgU3RyaW5nT3V0cHV0OgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi5saW5lID0gIiIKIAogICAgIGRlZiB3cml0ZShzZWxmLG1zZyk6CiAgICAgICAgIHNlbGYubGluZSArPSBtc2cKLSAgICAgICAgRDIoIndyaXRlICclcyciICUgbXNnKQorICAgICAgICBsb2dnaW5nLmRlYnVnKCJ3cml0ZSAnJXMnIiAlIG1zZykKIAogICAgIGRlZiBnZXQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLmxpbmUKQEAgLTc2LDQ3ICs0Niw2IEBACiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBvcy5ta2RpcihkaXIpCiAKLWRlZiB3YWxrX3NvdXJjZV9maWxlcyhwYXRocyxjYWxsYmFjayxhcmdzLGV4Y2x1ZGVzPVtdKToKLSAgICAiIiJyZWN1cnNpdmVseSB3YWxrIGEgbGlzdCBvZiBwYXRocyBhbmQgZmlsZXMsIG9ubHkga2VlcGluZyB0aGUgc291cmNlIGZpbGVzIGluIGRpcmVjdG9yaWVzIiIiCi0gICAgZm9yIHBhdGggaW4gcGF0aHM6Ci0gICAgICAgIGlmIGxlbihwYXRoKSA+IDAgYW5kIHBhdGhbMF0gPT0gJ0AnOgotICAgICAgICAgICAgIyB0aGlzIGlzIHRoZSBuYW1lIG9mIGFub3RoZXIgZmlsZSwgaW5jbHVkZSBpdCBhbmQgcGFyc2UgaXQKLSAgICAgICAgICAgIHBhdGggPSBwYXRoWzE6XQotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gb3BlbihwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKGxpbmUpID4gMCBhbmQgbGluZVstMV0gPT0gJ1xuJzoKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzotMV0KLSAgICAgICAgICAgICAgICAgICAgd2Fsa19zb3VyY2VfZmlsZXMoW2xpbmVdLGNhbGxiYWNrLGFyZ3MsZXhjbHVkZXMpCi0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihwYXRoKToKLSAgICAgICAgICAgIGNhbGxiYWNrKHBhdGgsYXJncykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgpOgotICAgICAgICAgICAgICAgICNwcmludCAidy0tICVzIChleDogJXMpIiAlIChyZXByKChyb290LGRpcnMpKSwgcmVwcihleGNsdWRlcykpCi0gICAgICAgICAgICAgICAgaWYgbGVuKGV4Y2x1ZGVzKToKLSAgICAgICAgICAgICAgICAgICAgZm9yIGQgaW4gZGlyc1s6XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguam9pbihyb290LGQpIGluIGV4Y2x1ZGVzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcnMucmVtb3ZlKGQpCi0gICAgICAgICAgICAgICAgZm9yIGYgaW4gZmlsZXM6Ci0gICAgICAgICAgICAgICAgICAgIHIsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQoZikKLSAgICAgICAgICAgICAgICAgICAgaWYgZXh0IGluIFsgIi5oIiwgIi5jIiwgIi5jcHAiLCAiLlMiIF06Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayggIiVzLyVzIiAlIChyb290LGYpLCBhcmdzICkKLQotZGVmIGNsZWFudXBfZGlyKHBhdGgpOgotICAgICIiImNyZWF0ZSBhIGRpcmVjdG9yeSBpZiBuZWVkZWQsIGFuZCBlbnN1cmUgdGhhdCBpdCBpcyB0b3RhbGx5IGVtcHR5Ci0gICAgICAgYnkgcmVtb3ZpbmcgYW55IGV4aXN0aW5nIGNvbnRlbnQgaW4gaXQiIiIKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0aCk6Ci0gICAgICAgIG9zLm1rZGlyKHBhdGgpCi0gICAgZWxzZToKLSAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aCwgdG9wZG93bj1GYWxzZSk6Ci0gICAgICAgICAgICBpZiByb290LmVuZHN3aXRoKCJrZXJuZWxfaGVhZGVycy8iKToKLSAgICAgICAgICAgICAgICAjIHNraXAgJ2tlcm5lbF9oZWFkZXJzJwotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKLSAgICAgICAgICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQotICAgICAgICAgICAgZm9yIG5hbWUgaW4gZGlyczoKLSAgICAgICAgICAgICAgICBvcy5ybWRpcihvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkpCi0KIAogY2xhc3MgQmF0Y2hGaWxlVXBkYXRlcjoKICAgICAiIiJhIGNsYXNzIHVzZWQgdG8gZWRpdCBzZXZlcmFsIGZpbGVzIGF0IG9uY2UiIiIKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vYS5vdXQuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vYS5vdXQuaAppbmRleCA1NGIzMGFjLi4zZDUxNTA2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL2Eub3V0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9hLm91dC5oCkBAIC0yMSwyOCArMjEsMjYgQEAKICNpbmNsdWRlIDxsaW51eC9wZXJzb25hbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotc3RydWN0IGV4ZWMKLXsKLSBfX3UzMiBhX2luZm87Ci0gX191MzIgYV90ZXh0Oworc3RydWN0IGV4ZWMgeworICBfX3UzMiBhX2luZm87CisgIF9fdTMyIGFfdGV4dDsKKyAgX191MzIgYV9kYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhX2RhdGE7Ci0gX191MzIgYV9ic3M7Ci0gX191MzIgYV9zeW1zOwotIF9fdTMyIGFfZW50cnk7CisgIF9fdTMyIGFfYnNzOworICBfX3UzMiBhX3N5bXM7CisgIF9fdTMyIGFfZW50cnk7CisgIF9fdTMyIGFfdHJzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhX3Ryc2l6ZTsKLSBfX3UzMiBhX2Ryc2l6ZTsKKyAgX191MzIgYV9kcnNpemU7CiB9OwogI2RlZmluZSBOX1RYVEFERFIoYSkgKDB4MDAwMDgwMDApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOX1RSU0laRShhKSAoKGEpLmFfdHJzaXplKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTl9EUlNJWkUoYSkgKChhKS5hX2Ryc2l6ZSkKICNkZWZpbmUgTl9TWU1TSVpFKGEpICgoYSkuYV9zeW1zKQogI2RlZmluZSBNX0FSTSAxMDMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZuZGVmIExJQlJBUllfU1RBUlRfVEVYVAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTElCUkFSWV9TVEFSVF9URVhUICgweDAwYzAwMDAwKQogI2VuZGlmCiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL2h3Y2FwLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL2h3Y2FwLmgKaW5kZXggZTcwZjNiOC4uMjVkYzkzMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9od2NhcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vaHdjYXAuaApAQCAtNDcsNCArNDcsMTAgQEAKICNkZWZpbmUgSFdDQVBfTFBBRSAoMSA8PCAyMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhXQ0FQX0VWVFNUUk0gKDEgPDwgMjEpCisjZGVmaW5lIEhXQ0FQMl9BRVMgKDEgPDwgMCkKKyNkZWZpbmUgSFdDQVAyX1BNVUxMICgxIDw8IDEpCisjZGVmaW5lIEhXQ0FQMl9TSEExICgxIDw8IDIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBIV0NBUDJfU0hBMiAoMSA8PCAzKQorI2RlZmluZSBIV0NBUDJfQ1JDMzIgKDEgPDwgNCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9rdm0uaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20va3ZtLmgKaW5kZXggMmI1YTE3ZS4uYzM3ZDgwOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9rdm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL2t2bS5oCkBAIC0xOSwxMzYgKzE5LDE0MSBAQAogI2lmbmRlZiBfX0FSTV9LVk1fSF9fCiAjZGVmaW5lIF9fQVJNX0tWTV9IX18KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wc2NpLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KICNkZWZpbmUgX19LVk1fSEFWRV9HVUVTVF9ERUJVRwogI2RlZmluZSBfX0tWTV9IQVZFX0lSUV9MSU5FCi0jZGVmaW5lIEtWTV9SRUdfU0laRShpZCkgICAoMVUgPDwgKCgoaWQpICYgS1ZNX1JFR19TSVpFX01BU0spID4+IEtWTV9SRUdfU0laRV9TSElGVCkpCi0jZGVmaW5lIEtWTV9BUk1fU1ZDX3NwIHN2Y19yZWdzWzBdCisjZGVmaW5lIF9fS1ZNX0hBVkVfUkVBRE9OTFlfTUVNCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fUkVHX1NJWkUoaWQpICgxVSA8PCAoKChpZCkgJiBLVk1fUkVHX1NJWkVfTUFTSykgPj4gS1ZNX1JFR19TSVpFX1NISUZUKSkKKyNkZWZpbmUgS1ZNX0FSTV9TVkNfc3Agc3ZjX3JlZ3NbMF0KICNkZWZpbmUgS1ZNX0FSTV9TVkNfbHIgc3ZjX3JlZ3NbMV0KICNkZWZpbmUgS1ZNX0FSTV9TVkNfc3BzciBzdmNfcmVnc1syXQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9BQlRfc3AgYWJ0X3JlZ3NbMF0KICNkZWZpbmUgS1ZNX0FSTV9BQlRfbHIgYWJ0X3JlZ3NbMV0KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9BUk1fQUJUX3Nwc3IgYWJ0X3JlZ3NbMl0KICNkZWZpbmUgS1ZNX0FSTV9VTkRfc3AgdW5kX3JlZ3NbMF0KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9BUk1fVU5EX2xyIHVuZF9yZWdzWzFdCiAjZGVmaW5lIEtWTV9BUk1fVU5EX3Nwc3IgdW5kX3JlZ3NbMl0KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9BUk1fSVJRX3NwIGlycV9yZWdzWzBdCiAjZGVmaW5lIEtWTV9BUk1fSVJRX2xyIGlycV9yZWdzWzFdCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQVJNX0lSUV9zcHNyIGlycV9yZWdzWzJdCiAjZGVmaW5lIEtWTV9BUk1fRklRX3I4IGZpcV9yZWdzWzBdCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQVJNX0ZJUV9yOSBmaXFfcmVnc1sxXQogI2RlZmluZSBLVk1fQVJNX0ZJUV9yMTAgZmlxX3JlZ3NbMl0KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9BUk1fRklRX2ZwIGZpcV9yZWdzWzNdCiAjZGVmaW5lIEtWTV9BUk1fRklRX2lwIGZpcV9yZWdzWzRdCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQVJNX0ZJUV9zcCBmaXFfcmVnc1s1XQogI2RlZmluZSBLVk1fQVJNX0ZJUV9sciBmaXFfcmVnc1s2XQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9GSVFfc3BzciBmaXFfcmVnc1s3XQogc3RydWN0IGt2bV9yZWdzIHsKKyAgc3RydWN0IHB0X3JlZ3MgdXNyX3JlZ3M7CisgIHVuc2lnbmVkIGxvbmcgc3ZjX3JlZ3NbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBwdF9yZWdzIHVzcl9yZWdzOwotIHVuc2lnbmVkIGxvbmcgc3ZjX3JlZ3NbM107Ci0gdW5zaWduZWQgbG9uZyBhYnRfcmVnc1szXTsKLSB1bnNpZ25lZCBsb25nIHVuZF9yZWdzWzNdOworICB1bnNpZ25lZCBsb25nIGFidF9yZWdzWzNdOworICB1bnNpZ25lZCBsb25nIHVuZF9yZWdzWzNdOworICB1bnNpZ25lZCBsb25nIGlycV9yZWdzWzNdOworICB1bnNpZ25lZCBsb25nIGZpcV9yZWdzWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGlycV9yZWdzWzNdOwotIHVuc2lnbmVkIGxvbmcgZmlxX3JlZ3NbOF07CiB9OwogI2RlZmluZSBLVk1fQVJNX1RBUkdFVF9DT1JURVhfQTE1IDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9BUk1fVEFSR0VUX0NPUlRFWF9BNyAxCiAjZGVmaW5lIEtWTV9BUk1fTlVNX1RBUkdFVFMgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9ERVZJQ0VfVFlQRV9TSElGVCAwCiAjZGVmaW5lIEtWTV9BUk1fREVWSUNFX1RZUEVfTUFTSyAoMHhmZmZmIDw8IEtWTV9BUk1fREVWSUNFX1RZUEVfU0hJRlQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQVJNX0RFVklDRV9JRF9TSElGVCAxNgogI2RlZmluZSBLVk1fQVJNX0RFVklDRV9JRF9NQVNLICgweGZmZmYgPDwgS1ZNX0FSTV9ERVZJQ0VfSURfU0hJRlQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQVJNX0RFVklDRV9WR0lDX1YyIDAKICNkZWZpbmUgS1ZNX1ZHSUNfVjJfQUREUl9UWVBFX0RJU1QgMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1ZHSUNfVjJfQUREUl9UWVBFX0NQVSAxCiAjZGVmaW5lIEtWTV9WR0lDX1YyX0RJU1RfU0laRSAweDEwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9WR0lDX1YyX0NQVV9TSVpFIDB4MjAwMAogI2RlZmluZSBLVk1fQVJNX1ZDUFVfUE9XRVJfT0ZGIDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9BUk1fVkNQVV9QU0NJXzBfMiAxCiBzdHJ1Y3Qga3ZtX3ZjcHVfaW5pdCB7Ci0gX191MzIgdGFyZ2V0OwotIF9fdTMyIGZlYXR1cmVzWzddOwotfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHRhcmdldDsKKyAgX191MzIgZmVhdHVyZXNbN107Cit9Owogc3RydWN0IGt2bV9zcmVncyB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBrdm1fZnB1IHsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9ndWVzdF9kZWJ1Z19hcmNoIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGt2bV9kZWJ1Z19leGl0X2FyY2ggewogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3N5bmNfcmVncyB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBrdm1fYXJjaF9tZW1vcnlfc2xvdCB7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1JFR19BUk1fQ09QUk9DX01BU0sgMHgwMDAwMDAwMDBGRkYwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fUkVHX0FSTV9DT1BST0NfU0hJRlQgMTYKICNkZWZpbmUgS1ZNX1JFR19BUk1fMzJfT1BDMl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwNwogI2RlZmluZSBLVk1fUkVHX0FSTV8zMl9PUEMyX1NISUZUIDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9SRUdfQVJNX09QQzFfTUFTSyAweDAwMDAwMDAwMDAwMDAwNzgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9SRUdfQVJNX09QQzFfU0hJRlQgMwogI2RlZmluZSBLVk1fUkVHX0FSTV9DUk1fTUFTSyAweDAwMDAwMDAwMDAwMDA3ODAKICNkZWZpbmUgS1ZNX1JFR19BUk1fQ1JNX1NISUZUIDcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9SRUdfQVJNXzMyX0NSTl9NQVNLIDB4MDAwMDAwMDAwMDAwNzgwMAotI2RlZmluZSBLVk1fUkVHX0FSTV8zMl9DUk5fU0hJRlQgMTEKLSNkZWZpbmUgQVJNX0NQMTVfUkVHX1NISUZUX01BU0soeCxuKSAgICgoKHgpIDw8IEtWTV9SRUdfQVJNXyAjIyBuICMjIF9TSElGVCkgJiBLVk1fUkVHX0FSTV8gIyMgbiAjIyBfTUFTSykKLSNkZWZpbmUgX19BUk1fQ1AxNV9SRUcob3AxLGNybixjcm0sb3AyKSAgIChLVk1fUkVHX0FSTSB8ICgxNSA8PCBLVk1fUkVHX0FSTV9DT1BST0NfU0hJRlQpIHwgICBBUk1fQ1AxNV9SRUdfU0hJRlRfTUFTSyhvcDEsIE9QQzEpIHwgICBBUk1fQ1AxNV9SRUdfU0hJRlRfTUFTSyhjcm4sIDMyX0NSTikgfCAgIEFSTV9DUDE1X1JFR19TSElGVF9NQVNLKGNybSwgQ1JNKSB8ICAgQVJNX0NQMTVfUkVHX1NISUZUX01BU0sob3AyLCAzMl9PUEMyKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9SRUdfQVJNXzMyX0NSTl9TSElGVCAxMQorI2RlZmluZSBBUk1fQ1AxNV9SRUdfU0hJRlRfTUFTSyh4LG4pICgoKHgpIDw8IEtWTV9SRUdfQVJNXyAjI24gIyNfU0hJRlQpICYgS1ZNX1JFR19BUk1fICMjbiAjI19NQVNLKQorI2RlZmluZSBfX0FSTV9DUDE1X1JFRyhvcDEsY3JuLGNybSxvcDIpIChLVk1fUkVHX0FSTSB8ICgxNSA8PCBLVk1fUkVHX0FSTV9DT1BST0NfU0hJRlQpIHwgQVJNX0NQMTVfUkVHX1NISUZUX01BU0sob3AxLCBPUEMxKSB8IEFSTV9DUDE1X1JFR19TSElGVF9NQVNLKGNybiwgMzJfQ1JOKSB8IEFSTV9DUDE1X1JFR19TSElGVF9NQVNLKGNybSwgQ1JNKSB8IEFSTV9DUDE1X1JFR19TSElGVF9NQVNLKG9wMiwgMzJfT1BDMikpCiAjZGVmaW5lIEFSTV9DUDE1X1JFRzMyKC4uLikgKF9fQVJNX0NQMTVfUkVHKF9fVkFfQVJHU19fKSB8IEtWTV9SRUdfU0laRV9VMzIpCi0jZGVmaW5lIF9fQVJNX0NQMTVfUkVHNjQob3AxLGNybSkgICAoX19BUk1fQ1AxNV9SRUcob3AxLCAwLCBjcm0sIDApIHwgS1ZNX1JFR19TSVpFX1U2NCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fQVJNX0NQMTVfUkVHNjQob3AxLGNybSkgKF9fQVJNX0NQMTVfUkVHKG9wMSwgMCwgY3JtLCAwKSB8IEtWTV9SRUdfU0laRV9VNjQpCiAjZGVmaW5lIEFSTV9DUDE1X1JFRzY0KC4uLikgX19BUk1fQ1AxNV9SRUc2NChfX1ZBX0FSR1NfXykKICNkZWZpbmUgS1ZNX1JFR19BUk1fVElNRVJfQ1RMIEFSTV9DUDE1X1JFRzMyKDAsIDE0LCAzLCAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1JFR19BUk1fVElNRVJfQ05UIEFSTV9DUDE1X1JFRzY0KDEsIDE0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1JFR19BUk1fVElNRVJfQ1ZBTCBBUk1fQ1AxNV9SRUc2NCgzLCAxNCkKICNkZWZpbmUgS1ZNX1JFR19BUk1fQ09SRSAoMHgwMDEwIDw8IEtWTV9SRUdfQVJNX0NPUFJPQ19TSElGVCkKICNkZWZpbmUgS1ZNX1JFR19BUk1fQ09SRV9SRUcobmFtZSkgKG9mZnNldG9mKHN0cnVjdCBrdm1fcmVncywgbmFtZSkgLyA0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1JFR19BUk1fREVNVVggKDB4MDAxMSA8PCBLVk1fUkVHX0FSTV9DT1BST0NfU0hJRlQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fUkVHX0FSTV9ERU1VWF9JRF9NQVNLIDB4MDAwMDAwMDAwMDAwRkYwMAogI2RlZmluZSBLVk1fUkVHX0FSTV9ERU1VWF9JRF9TSElGVCA4CiAjZGVmaW5lIEtWTV9SRUdfQVJNX0RFTVVYX0lEX0NDU0lEUiAoMHgwMCA8PCBLVk1fUkVHX0FSTV9ERU1VWF9JRF9TSElGVCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9SRUdfQVJNX0RFTVVYX1ZBTF9NQVNLIDB4MDAwMDAwMDAwMDAwMDBGRgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1JFR19BUk1fREVNVVhfVkFMX1NISUZUIDAKICNkZWZpbmUgS1ZNX1JFR19BUk1fVkZQICgweDAwMTIgPDwgS1ZNX1JFR19BUk1fQ09QUk9DX1NISUZUKQogI2RlZmluZSBLVk1fUkVHX0FSTV9WRlBfTUFTSyAweDAwMDAwMDAwMDAwMEZGRkYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9SRUdfQVJNX1ZGUF9CQVNFX1JFRyAweDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9SRUdfQVJNX1ZGUF9GUFNJRCAweDEwMDAKICNkZWZpbmUgS1ZNX1JFR19BUk1fVkZQX0ZQU0NSIDB4MTAwMQogI2RlZmluZSBLVk1fUkVHX0FSTV9WRlBfTVZGUjEgMHgxMDA2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fUkVHX0FSTV9WRlBfTVZGUjAgMHgxMDA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fUkVHX0FSTV9WRlBfRlBFWEMgMHgxMDA4CiAjZGVmaW5lIEtWTV9SRUdfQVJNX1ZGUF9GUElOU1QgMHgxMDA5CiAjZGVmaW5lIEtWTV9SRUdfQVJNX1ZGUF9GUElOU1QyIDB4MTAwQQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfQUREUiAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9ESVNUX1JFR1MgMQogI2RlZmluZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9DUFVfUkVHUyAyCiAjZGVmaW5lIEtWTV9ERVZfQVJNX1ZHSUNfQ1BVSURfU0hJRlQgMzIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9ERVZfQVJNX1ZHSUNfQ1BVSURfTUFTSyAoMHhmZlVMTCA8PCBLVk1fREVWX0FSTV9WR0lDX0NQVUlEX1NISUZUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19PRkZTRVRfU0hJRlQgMAogI2RlZmluZSBLVk1fREVWX0FSTV9WR0lDX09GRlNFVF9NQVNLICgweGZmZmZmZmZmVUxMIDw8IEtWTV9ERVZfQVJNX1ZHSUNfT0ZGU0VUX1NISUZUKQorI2RlZmluZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9OUl9JUlFTIDMKICNkZWZpbmUgS1ZNX0FSTV9JUlFfVFlQRV9TSElGVCAyNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9JUlFfVFlQRV9NQVNLIDB4ZmYKQEAgLTE3Miw5ICsxNzcsOSBAQAogI2RlZmluZSBLVk1fUFNDSV9GTl9DUFVfT04gS1ZNX1BTQ0lfRk4oMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9QU0NJX0ZOX01JR1JBVEUgS1ZNX1BTQ0lfRk4oMykKLSNkZWZpbmUgS1ZNX1BTQ0lfUkVUX1NVQ0NFU1MgMAotI2RlZmluZSBLVk1fUFNDSV9SRVRfTkkgKCh1bnNpZ25lZCBsb25nKS0xKQotI2RlZmluZSBLVk1fUFNDSV9SRVRfSU5WQUwgKCh1bnNpZ25lZCBsb25nKS0yKQorI2RlZmluZSBLVk1fUFNDSV9SRVRfU1VDQ0VTUyBQU0NJX1JFVF9TVUNDRVNTCisjZGVmaW5lIEtWTV9QU0NJX1JFVF9OSSBQU0NJX1JFVF9OT1RfU1VQUE9SVEVECisjZGVmaW5lIEtWTV9QU0NJX1JFVF9JTlZBTCBQU0NJX1JFVF9JTlZBTElEX1BBUkFNUwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS1ZNX1BTQ0lfUkVUX0RFTklFRCAoKHVuc2lnbmVkIGxvbmcpLTMpCisjZGVmaW5lIEtWTV9QU0NJX1JFVF9ERU5JRUQgUFNDSV9SRVRfREVOSUVECiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vbW1hbi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9tbWFuLmgKaW5kZXggNDBmMGU5Ny4uZWM5NDUzZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9tbWFuLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9tbWFuLmgKQEAgLTE3LDQgKzE3LDQgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbWFuLmg+Ci0jZGVmaW5lIGFyY2hfbW1hcF9jaGVjayhhZGRyLCBsZW4sIGZsYWdzKSAgICgoKGZsYWdzKSAmIE1BUF9GSVhFRCAmJiAoYWRkcikgPCBGSVJTVF9VU0VSX0FERFJFU1MpID8gLUVJTlZBTCA6IDApCisjZGVmaW5lIGFyY2hfbW1hcF9jaGVjayhhZGRyLGxlbixmbGFncykgKCgoZmxhZ3MpICYgTUFQX0ZJWEVEICYmIChhZGRyKSA8IEZJUlNUX1VTRVJfQUREUkVTUykgPyAtIEVJTlZBTCA6IDApCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3BlcmZfcmVncy5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9wZXJmX3JlZ3MuaAppbmRleCA3NDViY2YzLi41MzdlYjQ0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3BlcmZfcmVncy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vcGVyZl9yZWdzLmgKQEAgLTE5LDI3ICsxOSwyNyBAQAogI2lmbmRlZiBfQVNNX0FSTV9QRVJGX1JFR1NfSAogI2RlZmluZSBfQVNNX0FSTV9QRVJGX1JFR1NfSAogZW51bSBwZXJmX2V2ZW50X2FybV9yZWdzIHsKLSBQRVJGX1JFR19BUk1fUjAsCisgIFBFUkZfUkVHX0FSTV9SMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9SRUdfQVJNX1IxLAotIFBFUkZfUkVHX0FSTV9SMiwKLSBQRVJGX1JFR19BUk1fUjMsCi0gUEVSRl9SRUdfQVJNX1I0LAorICBQRVJGX1JFR19BUk1fUjEsCisgIFBFUkZfUkVHX0FSTV9SMiwKKyAgUEVSRl9SRUdfQVJNX1IzLAorICBQRVJGX1JFR19BUk1fUjQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfUkVHX0FSTV9SNSwKLSBQRVJGX1JFR19BUk1fUjYsCi0gUEVSRl9SRUdfQVJNX1I3LAotIFBFUkZfUkVHX0FSTV9SOCwKKyAgUEVSRl9SRUdfQVJNX1I1LAorICBQRVJGX1JFR19BUk1fUjYsCisgIFBFUkZfUkVHX0FSTV9SNywKKyAgUEVSRl9SRUdfQVJNX1I4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1JFR19BUk1fUjksCi0gUEVSRl9SRUdfQVJNX1IxMCwKLSBQRVJGX1JFR19BUk1fRlAsCi0gUEVSRl9SRUdfQVJNX0lQLAorICBQRVJGX1JFR19BUk1fUjksCisgIFBFUkZfUkVHX0FSTV9SMTAsCisgIFBFUkZfUkVHX0FSTV9GUCwKKyAgUEVSRl9SRUdfQVJNX0lQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1JFR19BUk1fU1AsCi0gUEVSRl9SRUdfQVJNX0xSLAotIFBFUkZfUkVHX0FSTV9QQywKLSBQRVJGX1JFR19BUk1fTUFYLAorICBQRVJGX1JFR19BUk1fU1AsCisgIFBFUkZfUkVHX0FSTV9MUiwKKyAgUEVSRl9SRUdfQVJNX1BDLAorICBQRVJGX1JFR19BUk1fTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vcHRyYWNlLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3B0cmFjZS5oCmluZGV4IDlkMzlkNDkuLjZhMDE1OTggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vcHRyYWNlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9wdHJhY2UuaApAQCAtODksNyArODksNyBAQAogI2RlZmluZSBQVF9URVhUX0VORF9BRERSIDB4MTAwMDgKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBzdHJ1Y3QgcHRfcmVncyB7Ci0gbG9uZyB1cmVnc1sxOF07CisgIGxvbmcgdXJlZ3NbMThdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEFSTV9jcHNyIHVyZWdzWzE2XQpAQCAtMTE0LDcgKzExNCw3IEBACiAjZGVmaW5lIEFSTV9yMSB1cmVnc1sxXQogI2RlZmluZSBBUk1fcjAgdXJlZ3NbMF0KICNkZWZpbmUgQVJNX09SSUdfcjAgdXJlZ3NbMTddCi0jZGVmaW5lIEFSTV9WRlBSRUdTX1NJWkUgKCAzMiAqIDggICArIDQgICApCisjZGVmaW5lIEFSTV9WRlBSRUdTX1NJWkUgKDMyICogOCArIDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc2V0dXAuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc2V0dXAuaAppbmRleCAwZjJhMThiLi41ZmQyZjIwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3NldHVwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zZXR1cC5oCkBAIC0yMywxMzMgKzIzLDEzMyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRBR19OT05FIDB4MDAwMDAwMDAKIHN0cnVjdCB0YWdfaGVhZGVyIHsKLSBfX3UzMiBzaXplOwotIF9fdTMyIHRhZzsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgdGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEFUQUdfQ09SRSAweDU0NDEwMDAxCiBzdHJ1Y3QgdGFnX2NvcmUgewotIF9fdTMyIGZsYWdzOworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGFnZXNpemU7Ci0gX191MzIgcm9vdGRldjsKKyAgX191MzIgcGFnZXNpemU7CisgIF9fdTMyIHJvb3RkZXY7CiB9OwogI2RlZmluZSBBVEFHX01FTSAweDU0NDEwMDAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRhZ19tZW0zMiB7Ci0gX191MzIgc2l6ZTsKLSBfX3UzMiBzdGFydDsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgc3RhcnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRBR19WSURFT1RFWFQgMHg1NDQxMDAwMwogc3RydWN0IHRhZ192aWRlb3RleHQgewotIF9fdTggeDsKLSBfX3U4IHk7CisgIF9fdTggeDsKKyAgX191OCB5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB2aWRlb19wYWdlOwotIF9fdTggdmlkZW9fbW9kZTsKLSBfX3U4IHZpZGVvX2NvbHM7Ci0gX191MTYgdmlkZW9fZWdhX2J4OworICBfX3UxNiB2aWRlb19wYWdlOworICBfX3U4IHZpZGVvX21vZGU7CisgIF9fdTggdmlkZW9fY29sczsKKyAgX191MTYgdmlkZW9fZWdhX2J4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHZpZGVvX2xpbmVzOwotIF9fdTggdmlkZW9faXN2Z2E7Ci0gX191MTYgdmlkZW9fcG9pbnRzOworICBfX3U4IHZpZGVvX2xpbmVzOworICBfX3U4IHZpZGVvX2lzdmdhOworICBfX3UxNiB2aWRlb19wb2ludHM7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRBR19SQU1ESVNLIDB4NTQ0MTAwMDQKIHN0cnVjdCB0YWdfcmFtZGlzayB7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgc2l6ZTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN0YXJ0OworICBfX3UzMiBzdGFydDsKIH07CiAjZGVmaW5lIEFUQUdfSU5JVFJEIDB4NTQ0MTAwMDUKICNkZWZpbmUgQVRBR19JTklUUkQyIDB4NTQ0MjAwMDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGFnX2luaXRyZCB7Ci0gX191MzIgc3RhcnQ7Ci0gX191MzIgc2l6ZTsKKyAgX191MzIgc3RhcnQ7CisgIF9fdTMyIHNpemU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRBR19TRVJJQUwgMHg1NDQxMDAwNgogc3RydWN0IHRhZ19zZXJpYWxuciB7Ci0gX191MzIgbG93OwotIF9fdTMyIGhpZ2g7CisgIF9fdTMyIGxvdzsKKyAgX191MzIgaGlnaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBBVEFHX1JFVklTSU9OIDB4NTQ0MTAwMDcKIHN0cnVjdCB0YWdfcmV2aXNpb24gewotIF9fdTMyIHJldjsKKyAgX191MzIgcmV2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEFUQUdfVklERU9MRkIgMHg1NDQxMDAwOAogc3RydWN0IHRhZ192aWRlb2xmYiB7Ci0gX191MTYgbGZiX3dpZHRoOworICBfX3UxNiBsZmJfd2lkdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGxmYl9oZWlnaHQ7Ci0gX191MTYgbGZiX2RlcHRoOwotIF9fdTE2IGxmYl9saW5lbGVuZ3RoOwotIF9fdTMyIGxmYl9iYXNlOworICBfX3UxNiBsZmJfaGVpZ2h0OworICBfX3UxNiBsZmJfZGVwdGg7CisgIF9fdTE2IGxmYl9saW5lbGVuZ3RoOworICBfX3UzMiBsZmJfYmFzZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGZiX3NpemU7Ci0gX191OCByZWRfc2l6ZTsKLSBfX3U4IHJlZF9wb3M7Ci0gX191OCBncmVlbl9zaXplOworICBfX3UzMiBsZmJfc2l6ZTsKKyAgX191OCByZWRfc2l6ZTsKKyAgX191OCByZWRfcG9zOworICBfX3U4IGdyZWVuX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZ3JlZW5fcG9zOwotIF9fdTggYmx1ZV9zaXplOwotIF9fdTggYmx1ZV9wb3M7Ci0gX191OCByc3ZkX3NpemU7CisgIF9fdTggZ3JlZW5fcG9zOworICBfX3U4IGJsdWVfc2l6ZTsKKyAgX191OCBibHVlX3BvczsKKyAgX191OCByc3ZkX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcnN2ZF9wb3M7CisgIF9fdTggcnN2ZF9wb3M7CiB9OwogI2RlZmluZSBBVEFHX0NNRExJTkUgMHg1NDQxMDAwOQogc3RydWN0IHRhZ19jbWRsaW5lIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBjbWRsaW5lWzFdOworICBjaGFyIGNtZGxpbmVbMV07CiB9OwogI2RlZmluZSBBVEFHX0FDT1JOIDB4NDEwMDAxMDEKIHN0cnVjdCB0YWdfYWNvcm4gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtZW1jX2NvbnRyb2xfcmVnOwotIF9fdTMyIHZyYW1fcGFnZXM7Ci0gX191OCBzb3VuZGRlZmF1bHQ7Ci0gX191OCBhZGZzZHJpdmVzOworICBfX3UzMiBtZW1jX2NvbnRyb2xfcmVnOworICBfX3UzMiB2cmFtX3BhZ2VzOworICBfX3U4IHNvdW5kZGVmYXVsdDsKKyAgX191OCBhZGZzZHJpdmVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEFUQUdfTUVNQ0xLIDB4NDEwMDA0MDIKIHN0cnVjdCB0YWdfbWVtY2xrIHsKLSBfX3UzMiBmbWVtY2xrOworICBfX3UzMiBmbWVtY2xrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdGFnIHsKLSBzdHJ1Y3QgdGFnX2hlYWRlciBoZHI7Ci0gdW5pb24geworICBzdHJ1Y3QgdGFnX2hlYWRlciBoZHI7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRhZ19jb3JlIGNvcmU7Ci0gc3RydWN0IHRhZ19tZW0zMiBtZW07Ci0gc3RydWN0IHRhZ192aWRlb3RleHQgdmlkZW90ZXh0OwotIHN0cnVjdCB0YWdfcmFtZGlzayByYW1kaXNrOworICAgIHN0cnVjdCB0YWdfY29yZSBjb3JlOworICAgIHN0cnVjdCB0YWdfbWVtMzIgbWVtOworICAgIHN0cnVjdCB0YWdfdmlkZW90ZXh0IHZpZGVvdGV4dDsKKyAgICBzdHJ1Y3QgdGFnX3JhbWRpc2sgcmFtZGlzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRhZ19pbml0cmQgaW5pdHJkOwotIHN0cnVjdCB0YWdfc2VyaWFsbnIgc2VyaWFsbnI7Ci0gc3RydWN0IHRhZ19yZXZpc2lvbiByZXZpc2lvbjsKLSBzdHJ1Y3QgdGFnX3ZpZGVvbGZiIHZpZGVvbGZiOworICAgIHN0cnVjdCB0YWdfaW5pdHJkIGluaXRyZDsKKyAgICBzdHJ1Y3QgdGFnX3NlcmlhbG5yIHNlcmlhbG5yOworICAgIHN0cnVjdCB0YWdfcmV2aXNpb24gcmV2aXNpb247CisgICAgc3RydWN0IHRhZ192aWRlb2xmYiB2aWRlb2xmYjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRhZ19jbWRsaW5lIGNtZGxpbmU7Ci0gc3RydWN0IHRhZ19hY29ybiBhY29ybjsKLSBzdHJ1Y3QgdGFnX21lbWNsayBtZW1jbGs7Ci0gfSB1OworICAgIHN0cnVjdCB0YWdfY21kbGluZSBjbWRsaW5lOworICAgIHN0cnVjdCB0YWdfYWNvcm4gYWNvcm47CisgICAgc3RydWN0IHRhZ19tZW1jbGsgbWVtY2xrOworICB9IHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB0YWd0YWJsZSB7Ci0gX191MzIgdGFnOwotIGludCAoKnBhcnNlKShjb25zdCBzdHJ1Y3QgdGFnICopOworICBfX3UzMiB0YWc7CisgIGludCgqIHBhcnNlKSAoY29uc3Qgc3RydWN0IHRhZyAqKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSB0YWdfbWVtYmVyX3ByZXNlbnQodGFnLG1lbWJlcikgICAoKHVuc2lnbmVkIGxvbmcpKCYoKHN0cnVjdCB0YWcgKikwTCktPm1lbWJlciArIDEpICAgPD0gKHRhZyktPmhkci5zaXplICogNCkKLSNkZWZpbmUgdGFnX25leHQodCkgKChzdHJ1Y3QgdGFnICopKChfX3UzMiAqKSh0KSArICh0KS0+aGRyLnNpemUpKQorI2RlZmluZSB0YWdfbWVtYmVyX3ByZXNlbnQodGFnLG1lbWJlcikgKCh1bnNpZ25lZCBsb25nKSAoJiAoKHN0cnVjdCB0YWcgKikgMEwpLT5tZW1iZXIgKyAxKSA8PSAodGFnKS0+aGRyLnNpemUgKiA0KQorI2RlZmluZSB0YWdfbmV4dCh0KSAoKHN0cnVjdCB0YWcgKikgKChfX3UzMiAqKSAodCkgKyAodCktPmhkci5zaXplKSkKICNkZWZpbmUgdGFnX3NpemUodHlwZSkgKChzaXplb2Yoc3RydWN0IHRhZ19oZWFkZXIpICsgc2l6ZW9mKHN0cnVjdCB0eXBlKSkgPj4gMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIGZvcl9lYWNoX3RhZyh0LGJhc2UpICAgZm9yICh0ID0gYmFzZTsgdC0+aGRyLnNpemU7IHQgPSB0YWdfbmV4dCh0KSkKKyNkZWZpbmUgZm9yX2VhY2hfdGFnKHQsYmFzZSkgZm9yKHQgPSBiYXNlOyB0LT5oZHIuc2l6ZTsgdCA9IHRhZ19uZXh0KHQpKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3NpZ2NvbnRleHQuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc2lnY29udGV4dC5oCmluZGV4IGJkYTIzMzkuLjczOWRlNGMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc2lnY29udGV4dC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc2lnY29udGV4dC5oCkBAIC0xOSwzMiArMTksMzIgQEAKICNpZm5kZWYgX0FTTUFSTV9TSUdDT05URVhUX0gKICNkZWZpbmUgX0FTTUFSTV9TSUdDT05URVhUX0gKIHN0cnVjdCBzaWdjb250ZXh0IHsKLSB1bnNpZ25lZCBsb25nIHRyYXBfbm87CisgIHVuc2lnbmVkIGxvbmcgdHJhcF9ubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBlcnJvcl9jb2RlOwotIHVuc2lnbmVkIGxvbmcgb2xkbWFzazsKLSB1bnNpZ25lZCBsb25nIGFybV9yMDsKLSB1bnNpZ25lZCBsb25nIGFybV9yMTsKKyAgdW5zaWduZWQgbG9uZyBlcnJvcl9jb2RlOworICB1bnNpZ25lZCBsb25nIG9sZG1hc2s7CisgIHVuc2lnbmVkIGxvbmcgYXJtX3IwOworICB1bnNpZ25lZCBsb25nIGFybV9yMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBhcm1fcjI7Ci0gdW5zaWduZWQgbG9uZyBhcm1fcjM7Ci0gdW5zaWduZWQgbG9uZyBhcm1fcjQ7Ci0gdW5zaWduZWQgbG9uZyBhcm1fcjU7CisgIHVuc2lnbmVkIGxvbmcgYXJtX3IyOworICB1bnNpZ25lZCBsb25nIGFybV9yMzsKKyAgdW5zaWduZWQgbG9uZyBhcm1fcjQ7CisgIHVuc2lnbmVkIGxvbmcgYXJtX3I1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGFybV9yNjsKLSB1bnNpZ25lZCBsb25nIGFybV9yNzsKLSB1bnNpZ25lZCBsb25nIGFybV9yODsKLSB1bnNpZ25lZCBsb25nIGFybV9yOTsKKyAgdW5zaWduZWQgbG9uZyBhcm1fcjY7CisgIHVuc2lnbmVkIGxvbmcgYXJtX3I3OworICB1bnNpZ25lZCBsb25nIGFybV9yODsKKyAgdW5zaWduZWQgbG9uZyBhcm1fcjk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgYXJtX3IxMDsKLSB1bnNpZ25lZCBsb25nIGFybV9mcDsKLSB1bnNpZ25lZCBsb25nIGFybV9pcDsKLSB1bnNpZ25lZCBsb25nIGFybV9zcDsKKyAgdW5zaWduZWQgbG9uZyBhcm1fcjEwOworICB1bnNpZ25lZCBsb25nIGFybV9mcDsKKyAgdW5zaWduZWQgbG9uZyBhcm1faXA7CisgIHVuc2lnbmVkIGxvbmcgYXJtX3NwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGFybV9scjsKLSB1bnNpZ25lZCBsb25nIGFybV9wYzsKLSB1bnNpZ25lZCBsb25nIGFybV9jcHNyOwotIHVuc2lnbmVkIGxvbmcgZmF1bHRfYWRkcmVzczsKKyAgdW5zaWduZWQgbG9uZyBhcm1fbHI7CisgIHVuc2lnbmVkIGxvbmcgYXJtX3BjOworICB1bnNpZ25lZCBsb25nIGFybV9jcHNyOworICB1bnNpZ25lZCBsb25nIGZhdWx0X2FkZHJlc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zaWduYWwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc2lnbmFsLmgKaW5kZXggZmQzOWFhYS4uNWVlMjcyYiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zaWduYWwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3NpZ25hbC5oCkBAIC04OCwyMyArODgsMjMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvc2lnbmFsLWRlZnMuaD4KIHN0cnVjdCBzaWdhY3Rpb24gewotIHVuaW9uIHsKLSBfX3NpZ2hhbmRsZXJfdCBfc2FfaGFuZGxlcjsKKyAgdW5pb24geworICAgIF9fc2lnaGFuZGxlcl90IF9zYV9oYW5kbGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2b2lkICgqX3NhX3NpZ2FjdGlvbikoaW50LCBzdHJ1Y3Qgc2lnaW5mbyAqLCB2b2lkICopOwotIH0gX3U7Ci0gc2lnc2V0X3Qgc2FfbWFzazsKLSB1bnNpZ25lZCBsb25nIHNhX2ZsYWdzOworICAgIHZvaWQoKiBfc2Ffc2lnYWN0aW9uKSAoaW50LCBzdHJ1Y3Qgc2lnaW5mbyAqLCB2b2lkICopOworICB9IF91OworICBzaWdzZXRfdCBzYV9tYXNrOworICB1bnNpZ25lZCBsb25nIHNhX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2b2lkICgqc2FfcmVzdG9yZXIpKHZvaWQpOworICB2b2lkKCogc2FfcmVzdG9yZXIpICh2b2lkKTsKIH07CiAjZGVmaW5lIHNhX2hhbmRsZXIgX3UuX3NhX2hhbmRsZXIKICNkZWZpbmUgc2Ffc2lnYWN0aW9uIF91Ll9zYV9zaWdhY3Rpb24KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBzaWdhbHRzdGFjayB7Ci0gdm9pZCBfX3VzZXIgKnNzX3NwOwotIGludCBzc19mbGFnczsKLSBzaXplX3Qgc3Nfc2l6ZTsKKyAgdm9pZCBfX3VzZXIgKiBzc19zcDsKKyAgaW50IHNzX2ZsYWdzOworICBzaXplX3Qgc3Nfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IHN0YWNrX3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc3RhdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zdGF0LmgKaW5kZXggYjM0MjVkZC4uNWE3OGMwMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zdGF0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zdGF0LmgKQEAgLTE5LDczICsxOSw3MyBAQAogI2lmbmRlZiBfQVNNQVJNX1NUQVRfSAogI2RlZmluZSBfQVNNQVJNX1NUQVRfSAogc3RydWN0IF9fb2xkX2tlcm5lbF9zdGF0IHsKLSB1bnNpZ25lZCBzaG9ydCBzdF9kZXY7CisgIHVuc2lnbmVkIHNob3J0IHN0X2RldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgc3RfaW5vOwotIHVuc2lnbmVkIHNob3J0IHN0X21vZGU7Ci0gdW5zaWduZWQgc2hvcnQgc3Rfbmxpbms7Ci0gdW5zaWduZWQgc2hvcnQgc3RfdWlkOworICB1bnNpZ25lZCBzaG9ydCBzdF9pbm87CisgIHVuc2lnbmVkIHNob3J0IHN0X21vZGU7CisgIHVuc2lnbmVkIHNob3J0IHN0X25saW5rOworICB1bnNpZ25lZCBzaG9ydCBzdF91aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHN0X2dpZDsKLSB1bnNpZ25lZCBzaG9ydCBzdF9yZGV2OwotIHVuc2lnbmVkIGxvbmcgc3Rfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIHN0X2F0aW1lOworICB1bnNpZ25lZCBzaG9ydCBzdF9naWQ7CisgIHVuc2lnbmVkIHNob3J0IHN0X3JkZXY7CisgIHVuc2lnbmVkIGxvbmcgc3Rfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBzdF9tdGltZTsKLSB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X210aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOwogfTsKICNkZWZpbmUgU1RBVF9IQVZFX05TRUMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc3RhdCB7Ci0gdW5zaWduZWQgbG9uZyBzdF9kZXY7Ci0gdW5zaWduZWQgbG9uZyBzdF9pbm87Ci0gdW5zaWduZWQgc2hvcnQgc3RfbW9kZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9kZXY7CisgIHVuc2lnbmVkIGxvbmcgc3RfaW5vOworICB1bnNpZ25lZCBzaG9ydCBzdF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzdF9ubGluazsKLSB1bnNpZ25lZCBzaG9ydCBzdF91aWQ7Ci0gdW5zaWduZWQgc2hvcnQgc3RfZ2lkOwotIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKKyAgdW5zaWduZWQgc2hvcnQgc3Rfbmxpbms7CisgIHVuc2lnbmVkIHNob3J0IHN0X3VpZDsKKyAgdW5zaWduZWQgc2hvcnQgc3RfZ2lkOworICB1bnNpZ25lZCBsb25nIHN0X3JkZXY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3Rfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIHN0X2Jsa3NpemU7Ci0gdW5zaWduZWQgbG9uZyBzdF9ibG9ja3M7Ci0gdW5zaWduZWQgbG9uZyBzdF9hdGltZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9zaXplOworICB1bnNpZ25lZCBsb25nIHN0X2Jsa3NpemU7CisgIHVuc2lnbmVkIGxvbmcgc3RfYmxvY2tzOworICB1bnNpZ25lZCBsb25nIHN0X2F0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0X2F0aW1lX25zZWM7Ci0gdW5zaWduZWQgbG9uZyBzdF9tdGltZTsKLSB1bnNpZ25lZCBsb25nIHN0X210aW1lX25zZWM7Ci0gdW5zaWduZWQgbG9uZyBzdF9jdGltZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZV9uc2VjOworICB1bnNpZ25lZCBsb25nIHN0X210aW1lOworICB1bnNpZ25lZCBsb25nIHN0X210aW1lX25zZWM7CisgIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlYzsKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkNDsKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkNTsKKyAgdW5zaWduZWQgbG9uZyBzdF9jdGltZV9uc2VjOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkNDsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzdGF0NjQgewotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7Ci0gdW5zaWduZWQgY2hhciBfX3BhZDBbNF07CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7CisgIHVuc2lnbmVkIGNoYXIgX19wYWQwWzRdOwogI2RlZmluZSBTVEFUNjRfSEFTX0JST0tFTl9TVF9JTk8gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIF9fc3RfaW5vOwotIHVuc2lnbmVkIGludCBzdF9tb2RlOwotIHVuc2lnbmVkIGludCBzdF9ubGluazsKLSB1bnNpZ25lZCBsb25nIHN0X3VpZDsKKyAgdW5zaWduZWQgbG9uZyBfX3N0X2lubzsKKyAgdW5zaWduZWQgaW50IHN0X21vZGU7CisgIHVuc2lnbmVkIGludCBzdF9ubGluazsKKyAgdW5zaWduZWQgbG9uZyBzdF91aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3RfZ2lkOwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9yZGV2OwotIHVuc2lnbmVkIGNoYXIgX19wYWQzWzRdOwotIGxvbmcgbG9uZyBzdF9zaXplOworICB1bnNpZ25lZCBsb25nIHN0X2dpZDsKKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7CisgIHVuc2lnbmVkIGNoYXIgX19wYWQzWzRdOworICBsb25nIGxvbmcgc3Rfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBzdF9ibGtzaXplOwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7Ci0gdW5zaWduZWQgbG9uZyBzdF9hdGltZTsKLSB1bnNpZ25lZCBsb25nIHN0X2F0aW1lX25zZWM7CisgIHVuc2lnbmVkIGxvbmcgc3RfYmxrc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2Jsb2NrczsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZV9uc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0X210aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlYzsKLSB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlYzsKKyAgdW5zaWduZWQgbG9uZyBzdF9tdGltZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9tdGltZV9uc2VjOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3N0YXRmcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS9zdGF0ZnMuaAppbmRleCBkMWYzYjgxLi42MGNjZDZiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3N0YXRmcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vc3RhdGZzLmgKQEAgLTE4LDcgKzE4LDcgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfQVNNQVJNX1NUQVRGU19ICiAjZGVmaW5lIF9BU01BUk1fU1RBVEZTX0gKLSNkZWZpbmUgQVJDSF9QQUNLX1NUQVRGUzY0IF9fYXR0cmlidXRlX18oKHBhY2tlZCxhbGlnbmVkKDQpKSkKKyNkZWZpbmUgQVJDSF9QQUNLX1NUQVRGUzY0IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvc3RhdGZzLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3VuaXN0ZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS91bmlzdGQuaAppbmRleCBiZTlmMzZmLi4zMmY2Njg4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm0vYXNtL3VuaXN0ZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybS9hc20vdW5pc3RkLmgKQEAgLTIxLDQ2NCArMjEsNDcwIEBACiAjZGVmaW5lIF9fTlJfT0FCSV9TWVNDQUxMX0JBU0UgMHg5MDAwMDAKICNkZWZpbmUgX19OUl9TWVNDQUxMX0JBU0UgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9yZXN0YXJ0X3N5c2NhbGwgKF9fTlJfU1lTQ0FMTF9CQVNFKyAwKQotI2RlZmluZSBfX05SX2V4aXQgKF9fTlJfU1lTQ0FMTF9CQVNFKyAxKQotI2RlZmluZSBfX05SX2ZvcmsgKF9fTlJfU1lTQ0FMTF9CQVNFKyAyKQotI2RlZmluZSBfX05SX3JlYWQgKF9fTlJfU1lTQ0FMTF9CQVNFKyAzKQorI2RlZmluZSBfX05SX3Jlc3RhcnRfc3lzY2FsbCAoX19OUl9TWVNDQUxMX0JBU0UgKyAwKQorI2RlZmluZSBfX05SX2V4aXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMSkKKyNkZWZpbmUgX19OUl9mb3JrIChfX05SX1NZU0NBTExfQkFTRSArIDIpCisjZGVmaW5lIF9fTlJfcmVhZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl93cml0ZSAoX19OUl9TWVNDQUxMX0JBU0UrIDQpCi0jZGVmaW5lIF9fTlJfb3BlbiAoX19OUl9TWVNDQUxMX0JBU0UrIDUpCi0jZGVmaW5lIF9fTlJfY2xvc2UgKF9fTlJfU1lTQ0FMTF9CQVNFKyA2KQotI2RlZmluZSBfX05SX2NyZWF0IChfX05SX1NZU0NBTExfQkFTRSsgOCkKKyNkZWZpbmUgX19OUl93cml0ZSAoX19OUl9TWVNDQUxMX0JBU0UgKyA0KQorI2RlZmluZSBfX05SX29wZW4gKF9fTlJfU1lTQ0FMTF9CQVNFICsgNSkKKyNkZWZpbmUgX19OUl9jbG9zZSAoX19OUl9TWVNDQUxMX0JBU0UgKyA2KQorI2RlZmluZSBfX05SX2NyZWF0IChfX05SX1NZU0NBTExfQkFTRSArIDgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2xpbmsgKF9fTlJfU1lTQ0FMTF9CQVNFKyA5KQotI2RlZmluZSBfX05SX3VubGluayAoX19OUl9TWVNDQUxMX0JBU0UrIDEwKQotI2RlZmluZSBfX05SX2V4ZWN2ZSAoX19OUl9TWVNDQUxMX0JBU0UrIDExKQotI2RlZmluZSBfX05SX2NoZGlyIChfX05SX1NZU0NBTExfQkFTRSsgMTIpCisjZGVmaW5lIF9fTlJfbGluayAoX19OUl9TWVNDQUxMX0JBU0UgKyA5KQorI2RlZmluZSBfX05SX3VubGluayAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMCkKKyNkZWZpbmUgX19OUl9leGVjdmUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTEpCisjZGVmaW5lIF9fTlJfY2hkaXIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3RpbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKyAxMykKLSNkZWZpbmUgX19OUl9ta25vZCAoX19OUl9TWVNDQUxMX0JBU0UrIDE0KQotI2RlZmluZSBfX05SX2NobW9kIChfX05SX1NZU0NBTExfQkFTRSsgMTUpCi0jZGVmaW5lIF9fTlJfbGNob3duIChfX05SX1NZU0NBTExfQkFTRSsgMTYpCisjZGVmaW5lIF9fTlJfdGltZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMykKKyNkZWZpbmUgX19OUl9ta25vZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNCkKKyNkZWZpbmUgX19OUl9jaG1vZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNSkKKyNkZWZpbmUgX19OUl9sY2hvd24gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2xzZWVrIChfX05SX1NZU0NBTExfQkFTRSsgMTkpCi0jZGVmaW5lIF9fTlJfZ2V0cGlkIChfX05SX1NZU0NBTExfQkFTRSsgMjApCi0jZGVmaW5lIF9fTlJfbW91bnQgKF9fTlJfU1lTQ0FMTF9CQVNFKyAyMSkKLSNkZWZpbmUgX19OUl91bW91bnQgKF9fTlJfU1lTQ0FMTF9CQVNFKyAyMikKKyNkZWZpbmUgX19OUl9sc2VlayAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOSkKKyNkZWZpbmUgX19OUl9nZXRwaWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjApCisjZGVmaW5lIF9fTlJfbW91bnQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjEpCisjZGVmaW5lIF9fTlJfdW1vdW50IChfX05SX1NZU0NBTExfQkFTRSArIDIyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9zZXR1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFKyAyMykKLSNkZWZpbmUgX19OUl9nZXR1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFKyAyNCkKLSNkZWZpbmUgX19OUl9zdGltZSAoX19OUl9TWVNDQUxMX0JBU0UrIDI1KQotI2RlZmluZSBfX05SX3B0cmFjZSAoX19OUl9TWVNDQUxMX0JBU0UrIDI2KQorI2RlZmluZSBfX05SX3NldHVpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMykKKyNkZWZpbmUgX19OUl9nZXR1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjQpCisjZGVmaW5lIF9fTlJfc3RpbWUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjUpCisjZGVmaW5lIF9fTlJfcHRyYWNlIChfX05SX1NZU0NBTExfQkFTRSArIDI2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9hbGFybSAoX19OUl9TWVNDQUxMX0JBU0UrIDI3KQotI2RlZmluZSBfX05SX3BhdXNlIChfX05SX1NZU0NBTExfQkFTRSsgMjkpCi0jZGVmaW5lIF9fTlJfdXRpbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKyAzMCkKLSNkZWZpbmUgX19OUl9hY2Nlc3MgKF9fTlJfU1lTQ0FMTF9CQVNFKyAzMykKKyNkZWZpbmUgX19OUl9hbGFybSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNykKKyNkZWZpbmUgX19OUl9wYXVzZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOSkKKyNkZWZpbmUgX19OUl91dGltZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMCkKKyNkZWZpbmUgX19OUl9hY2Nlc3MgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX25pY2UgKF9fTlJfU1lTQ0FMTF9CQVNFKyAzNCkKLSNkZWZpbmUgX19OUl9zeW5jIChfX05SX1NZU0NBTExfQkFTRSsgMzYpCi0jZGVmaW5lIF9fTlJfa2lsbCAoX19OUl9TWVNDQUxMX0JBU0UrIDM3KQotI2RlZmluZSBfX05SX3JlbmFtZSAoX19OUl9TWVNDQUxMX0JBU0UrIDM4KQorI2RlZmluZSBfX05SX25pY2UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzQpCisjZGVmaW5lIF9fTlJfc3luYyAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNikKKyNkZWZpbmUgX19OUl9raWxsIChfX05SX1NZU0NBTExfQkFTRSArIDM3KQorI2RlZmluZSBfX05SX3JlbmFtZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfbWtkaXIgKF9fTlJfU1lTQ0FMTF9CQVNFKyAzOSkKLSNkZWZpbmUgX19OUl9ybWRpciAoX19OUl9TWVNDQUxMX0JBU0UrIDQwKQotI2RlZmluZSBfX05SX2R1cCAoX19OUl9TWVNDQUxMX0JBU0UrIDQxKQotI2RlZmluZSBfX05SX3BpcGUgKF9fTlJfU1lTQ0FMTF9CQVNFKyA0MikKKyNkZWZpbmUgX19OUl9ta2RpciAoX19OUl9TWVNDQUxMX0JBU0UgKyAzOSkKKyNkZWZpbmUgX19OUl9ybWRpciAoX19OUl9TWVNDQUxMX0JBU0UgKyA0MCkKKyNkZWZpbmUgX19OUl9kdXAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDEpCisjZGVmaW5lIF9fTlJfcGlwZSAoX19OUl9TWVNDQUxMX0JBU0UgKyA0MikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfdGltZXMgKF9fTlJfU1lTQ0FMTF9CQVNFKyA0MykKLSNkZWZpbmUgX19OUl9icmsgKF9fTlJfU1lTQ0FMTF9CQVNFKyA0NSkKLSNkZWZpbmUgX19OUl9zZXRnaWQgKF9fTlJfU1lTQ0FMTF9CQVNFKyA0NikKLSNkZWZpbmUgX19OUl9nZXRnaWQgKF9fTlJfU1lTQ0FMTF9CQVNFKyA0NykKKyNkZWZpbmUgX19OUl90aW1lcyAoX19OUl9TWVNDQUxMX0JBU0UgKyA0MykKKyNkZWZpbmUgX19OUl9icmsgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDUpCisjZGVmaW5lIF9fTlJfc2V0Z2lkIChfX05SX1NZU0NBTExfQkFTRSArIDQ2KQorI2RlZmluZSBfX05SX2dldGdpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyA0NykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZ2V0ZXVpZCAoX19OUl9TWVNDQUxMX0JBU0UrIDQ5KQotI2RlZmluZSBfX05SX2dldGVnaWQgKF9fTlJfU1lTQ0FMTF9CQVNFKyA1MCkKLSNkZWZpbmUgX19OUl9hY2N0IChfX05SX1NZU0NBTExfQkFTRSsgNTEpCi0jZGVmaW5lIF9fTlJfdW1vdW50MiAoX19OUl9TWVNDQUxMX0JBU0UrIDUyKQorI2RlZmluZSBfX05SX2dldGV1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDkpCisjZGVmaW5lIF9fTlJfZ2V0ZWdpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyA1MCkKKyNkZWZpbmUgX19OUl9hY2N0IChfX05SX1NZU0NBTExfQkFTRSArIDUxKQorI2RlZmluZSBfX05SX3Vtb3VudDIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNTIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2lvY3RsIChfX05SX1NZU0NBTExfQkFTRSsgNTQpCi0jZGVmaW5lIF9fTlJfZmNudGwgKF9fTlJfU1lTQ0FMTF9CQVNFKyA1NSkKLSNkZWZpbmUgX19OUl9zZXRwZ2lkIChfX05SX1NZU0NBTExfQkFTRSsgNTcpCi0jZGVmaW5lIF9fTlJfdW1hc2sgKF9fTlJfU1lTQ0FMTF9CQVNFKyA2MCkKKyNkZWZpbmUgX19OUl9pb2N0bCAoX19OUl9TWVNDQUxMX0JBU0UgKyA1NCkKKyNkZWZpbmUgX19OUl9mY250bCAoX19OUl9TWVNDQUxMX0JBU0UgKyA1NSkKKyNkZWZpbmUgX19OUl9zZXRwZ2lkIChfX05SX1NZU0NBTExfQkFTRSArIDU3KQorI2RlZmluZSBfX05SX3VtYXNrIChfX05SX1NZU0NBTExfQkFTRSArIDYwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9jaHJvb3QgKF9fTlJfU1lTQ0FMTF9CQVNFKyA2MSkKLSNkZWZpbmUgX19OUl91c3RhdCAoX19OUl9TWVNDQUxMX0JBU0UrIDYyKQotI2RlZmluZSBfX05SX2R1cDIgKF9fTlJfU1lTQ0FMTF9CQVNFKyA2MykKLSNkZWZpbmUgX19OUl9nZXRwcGlkIChfX05SX1NZU0NBTExfQkFTRSsgNjQpCisjZGVmaW5lIF9fTlJfY2hyb290IChfX05SX1NZU0NBTExfQkFTRSArIDYxKQorI2RlZmluZSBfX05SX3VzdGF0IChfX05SX1NZU0NBTExfQkFTRSArIDYyKQorI2RlZmluZSBfX05SX2R1cDIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjMpCisjZGVmaW5lIF9fTlJfZ2V0cHBpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyA2NCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZ2V0cGdycCAoX19OUl9TWVNDQUxMX0JBU0UrIDY1KQotI2RlZmluZSBfX05SX3NldHNpZCAoX19OUl9TWVNDQUxMX0JBU0UrIDY2KQotI2RlZmluZSBfX05SX3NpZ2FjdGlvbiAoX19OUl9TWVNDQUxMX0JBU0UrIDY3KQotI2RlZmluZSBfX05SX3NldHJldWlkIChfX05SX1NZU0NBTExfQkFTRSsgNzApCisjZGVmaW5lIF9fTlJfZ2V0cGdycCAoX19OUl9TWVNDQUxMX0JBU0UgKyA2NSkKKyNkZWZpbmUgX19OUl9zZXRzaWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjYpCisjZGVmaW5lIF9fTlJfc2lnYWN0aW9uIChfX05SX1NZU0NBTExfQkFTRSArIDY3KQorI2RlZmluZSBfX05SX3NldHJldWlkIChfX05SX1NZU0NBTExfQkFTRSArIDcwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9zZXRyZWdpZCAoX19OUl9TWVNDQUxMX0JBU0UrIDcxKQotI2RlZmluZSBfX05SX3NpZ3N1c3BlbmQgKF9fTlJfU1lTQ0FMTF9CQVNFKyA3MikKLSNkZWZpbmUgX19OUl9zaWdwZW5kaW5nIChfX05SX1NZU0NBTExfQkFTRSsgNzMpCi0jZGVmaW5lIF9fTlJfc2V0aG9zdG5hbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKyA3NCkKKyNkZWZpbmUgX19OUl9zZXRyZWdpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyA3MSkKKyNkZWZpbmUgX19OUl9zaWdzdXNwZW5kIChfX05SX1NZU0NBTExfQkFTRSArIDcyKQorI2RlZmluZSBfX05SX3NpZ3BlbmRpbmcgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzMpCisjZGVmaW5lIF9fTlJfc2V0aG9zdG5hbWUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3NldHJsaW1pdCAoX19OUl9TWVNDQUxMX0JBU0UrIDc1KQotI2RlZmluZSBfX05SX2dldHJsaW1pdCAoX19OUl9TWVNDQUxMX0JBU0UrIDc2KQotI2RlZmluZSBfX05SX2dldHJ1c2FnZSAoX19OUl9TWVNDQUxMX0JBU0UrIDc3KQotI2RlZmluZSBfX05SX2dldHRpbWVvZmRheSAoX19OUl9TWVNDQUxMX0JBU0UrIDc4KQorI2RlZmluZSBfX05SX3NldHJsaW1pdCAoX19OUl9TWVNDQUxMX0JBU0UgKyA3NSkKKyNkZWZpbmUgX19OUl9nZXRybGltaXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzYpCisjZGVmaW5lIF9fTlJfZ2V0cnVzYWdlIChfX05SX1NZU0NBTExfQkFTRSArIDc3KQorI2RlZmluZSBfX05SX2dldHRpbWVvZmRheSAoX19OUl9TWVNDQUxMX0JBU0UgKyA3OCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc2V0dGltZW9mZGF5IChfX05SX1NZU0NBTExfQkFTRSsgNzkpCi0jZGVmaW5lIF9fTlJfZ2V0Z3JvdXBzIChfX05SX1NZU0NBTExfQkFTRSsgODApCi0jZGVmaW5lIF9fTlJfc2V0Z3JvdXBzIChfX05SX1NZU0NBTExfQkFTRSsgODEpCi0jZGVmaW5lIF9fTlJfc2VsZWN0IChfX05SX1NZU0NBTExfQkFTRSsgODIpCisjZGVmaW5lIF9fTlJfc2V0dGltZW9mZGF5IChfX05SX1NZU0NBTExfQkFTRSArIDc5KQorI2RlZmluZSBfX05SX2dldGdyb3VwcyAoX19OUl9TWVNDQUxMX0JBU0UgKyA4MCkKKyNkZWZpbmUgX19OUl9zZXRncm91cHMgKF9fTlJfU1lTQ0FMTF9CQVNFICsgODEpCisjZGVmaW5lIF9fTlJfc2VsZWN0IChfX05SX1NZU0NBTExfQkFTRSArIDgyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9zeW1saW5rIChfX05SX1NZU0NBTExfQkFTRSsgODMpCi0jZGVmaW5lIF9fTlJfcmVhZGxpbmsgKF9fTlJfU1lTQ0FMTF9CQVNFKyA4NSkKLSNkZWZpbmUgX19OUl91c2VsaWIgKF9fTlJfU1lTQ0FMTF9CQVNFKyA4NikKLSNkZWZpbmUgX19OUl9zd2Fwb24gKF9fTlJfU1lTQ0FMTF9CQVNFKyA4NykKKyNkZWZpbmUgX19OUl9zeW1saW5rIChfX05SX1NZU0NBTExfQkFTRSArIDgzKQorI2RlZmluZSBfX05SX3JlYWRsaW5rIChfX05SX1NZU0NBTExfQkFTRSArIDg1KQorI2RlZmluZSBfX05SX3VzZWxpYiAoX19OUl9TWVNDQUxMX0JBU0UgKyA4NikKKyNkZWZpbmUgX19OUl9zd2Fwb24gKF9fTlJfU1lTQ0FMTF9CQVNFICsgODcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3JlYm9vdCAoX19OUl9TWVNDQUxMX0JBU0UrIDg4KQotI2RlZmluZSBfX05SX3JlYWRkaXIgKF9fTlJfU1lTQ0FMTF9CQVNFKyA4OSkKLSNkZWZpbmUgX19OUl9tbWFwIChfX05SX1NZU0NBTExfQkFTRSsgOTApCi0jZGVmaW5lIF9fTlJfbXVubWFwIChfX05SX1NZU0NBTExfQkFTRSsgOTEpCisjZGVmaW5lIF9fTlJfcmVib290IChfX05SX1NZU0NBTExfQkFTRSArIDg4KQorI2RlZmluZSBfX05SX3JlYWRkaXIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgODkpCisjZGVmaW5lIF9fTlJfbW1hcCAoX19OUl9TWVNDQUxMX0JBU0UgKyA5MCkKKyNkZWZpbmUgX19OUl9tdW5tYXAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3RydW5jYXRlIChfX05SX1NZU0NBTExfQkFTRSsgOTIpCi0jZGVmaW5lIF9fTlJfZnRydW5jYXRlIChfX05SX1NZU0NBTExfQkFTRSsgOTMpCi0jZGVmaW5lIF9fTlJfZmNobW9kIChfX05SX1NZU0NBTExfQkFTRSsgOTQpCi0jZGVmaW5lIF9fTlJfZmNob3duIChfX05SX1NZU0NBTExfQkFTRSsgOTUpCisjZGVmaW5lIF9fTlJfdHJ1bmNhdGUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTIpCisjZGVmaW5lIF9fTlJfZnRydW5jYXRlIChfX05SX1NZU0NBTExfQkFTRSArIDkzKQorI2RlZmluZSBfX05SX2ZjaG1vZCAoX19OUl9TWVNDQUxMX0JBU0UgKyA5NCkKKyNkZWZpbmUgX19OUl9mY2hvd24gKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2dldHByaW9yaXR5IChfX05SX1NZU0NBTExfQkFTRSsgOTYpCi0jZGVmaW5lIF9fTlJfc2V0cHJpb3JpdHkgKF9fTlJfU1lTQ0FMTF9CQVNFKyA5NykKLSNkZWZpbmUgX19OUl9zdGF0ZnMgKF9fTlJfU1lTQ0FMTF9CQVNFKyA5OSkKLSNkZWZpbmUgX19OUl9mc3RhdGZzIChfX05SX1NZU0NBTExfQkFTRSsxMDApCisjZGVmaW5lIF9fTlJfZ2V0cHJpb3JpdHkgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTYpCisjZGVmaW5lIF9fTlJfc2V0cHJpb3JpdHkgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTcpCisjZGVmaW5lIF9fTlJfc3RhdGZzIChfX05SX1NZU0NBTExfQkFTRSArIDk5KQorI2RlZmluZSBfX05SX2ZzdGF0ZnMgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9zb2NrZXRjYWxsIChfX05SX1NZU0NBTExfQkFTRSsxMDIpCi0jZGVmaW5lIF9fTlJfc3lzbG9nIChfX05SX1NZU0NBTExfQkFTRSsxMDMpCi0jZGVmaW5lIF9fTlJfc2V0aXRpbWVyIChfX05SX1NZU0NBTExfQkFTRSsxMDQpCi0jZGVmaW5lIF9fTlJfZ2V0aXRpbWVyIChfX05SX1NZU0NBTExfQkFTRSsxMDUpCisjZGVmaW5lIF9fTlJfc29ja2V0Y2FsbCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDIpCisjZGVmaW5lIF9fTlJfc3lzbG9nIChfX05SX1NZU0NBTExfQkFTRSArIDEwMykKKyNkZWZpbmUgX19OUl9zZXRpdGltZXIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTA0KQorI2RlZmluZSBfX05SX2dldGl0aW1lciAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3N0YXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzEwNikKLSNkZWZpbmUgX19OUl9sc3RhdCAoX19OUl9TWVNDQUxMX0JBU0UrMTA3KQotI2RlZmluZSBfX05SX2ZzdGF0IChfX05SX1NZU0NBTExfQkFTRSsxMDgpCi0jZGVmaW5lIF9fTlJfdmhhbmd1cCAoX19OUl9TWVNDQUxMX0JBU0UrMTExKQorI2RlZmluZSBfX05SX3N0YXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTA2KQorI2RlZmluZSBfX05SX2xzdGF0IChfX05SX1NZU0NBTExfQkFTRSArIDEwNykKKyNkZWZpbmUgX19OUl9mc3RhdCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDgpCisjZGVmaW5lIF9fTlJfdmhhbmd1cCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3N5c2NhbGwgKF9fTlJfU1lTQ0FMTF9CQVNFKzExMykKLSNkZWZpbmUgX19OUl93YWl0NCAoX19OUl9TWVNDQUxMX0JBU0UrMTE0KQotI2RlZmluZSBfX05SX3N3YXBvZmYgKF9fTlJfU1lTQ0FMTF9CQVNFKzExNSkKLSNkZWZpbmUgX19OUl9zeXNpbmZvIChfX05SX1NZU0NBTExfQkFTRSsxMTYpCisjZGVmaW5lIF9fTlJfc3lzY2FsbCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTMpCisjZGVmaW5lIF9fTlJfd2FpdDQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTE0KQorI2RlZmluZSBfX05SX3N3YXBvZmYgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTE1KQorI2RlZmluZSBfX05SX3N5c2luZm8gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTE2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9pcGMgKF9fTlJfU1lTQ0FMTF9CQVNFKzExNykKLSNkZWZpbmUgX19OUl9mc3luYyAoX19OUl9TWVNDQUxMX0JBU0UrMTE4KQotI2RlZmluZSBfX05SX3NpZ3JldHVybiAoX19OUl9TWVNDQUxMX0JBU0UrMTE5KQotI2RlZmluZSBfX05SX2Nsb25lIChfX05SX1NZU0NBTExfQkFTRSsxMjApCisjZGVmaW5lIF9fTlJfaXBjIChfX05SX1NZU0NBTExfQkFTRSArIDExNykKKyNkZWZpbmUgX19OUl9mc3luYyAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTgpCisjZGVmaW5lIF9fTlJfc2lncmV0dXJuIChfX05SX1NZU0NBTExfQkFTRSArIDExOSkKKyNkZWZpbmUgX19OUl9jbG9uZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3NldGRvbWFpbm5hbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKzEyMSkKLSNkZWZpbmUgX19OUl91bmFtZSAoX19OUl9TWVNDQUxMX0JBU0UrMTIyKQotI2RlZmluZSBfX05SX2FkanRpbWV4IChfX05SX1NZU0NBTExfQkFTRSsxMjQpCi0jZGVmaW5lIF9fTlJfbXByb3RlY3QgKF9fTlJfU1lTQ0FMTF9CQVNFKzEyNSkKKyNkZWZpbmUgX19OUl9zZXRkb21haW5uYW1lIChfX05SX1NZU0NBTExfQkFTRSArIDEyMSkKKyNkZWZpbmUgX19OUl91bmFtZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjIpCisjZGVmaW5lIF9fTlJfYWRqdGltZXggKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTI0KQorI2RlZmluZSBfX05SX21wcm90ZWN0IChfX05SX1NZU0NBTExfQkFTRSArIDEyNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc2lncHJvY21hc2sgKF9fTlJfU1lTQ0FMTF9CQVNFKzEyNikKLSNkZWZpbmUgX19OUl9pbml0X21vZHVsZSAoX19OUl9TWVNDQUxMX0JBU0UrMTI4KQotI2RlZmluZSBfX05SX2RlbGV0ZV9tb2R1bGUgKF9fTlJfU1lTQ0FMTF9CQVNFKzEyOSkKLSNkZWZpbmUgX19OUl9xdW90YWN0bCAoX19OUl9TWVNDQUxMX0JBU0UrMTMxKQorI2RlZmluZSBfX05SX3NpZ3Byb2NtYXNrIChfX05SX1NZU0NBTExfQkFTRSArIDEyNikKKyNkZWZpbmUgX19OUl9pbml0X21vZHVsZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjgpCisjZGVmaW5lIF9fTlJfZGVsZXRlX21vZHVsZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjkpCisjZGVmaW5lIF9fTlJfcXVvdGFjdGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTMxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9nZXRwZ2lkIChfX05SX1NZU0NBTExfQkFTRSsxMzIpCi0jZGVmaW5lIF9fTlJfZmNoZGlyIChfX05SX1NZU0NBTExfQkFTRSsxMzMpCi0jZGVmaW5lIF9fTlJfYmRmbHVzaCAoX19OUl9TWVNDQUxMX0JBU0UrMTM0KQotI2RlZmluZSBfX05SX3N5c2ZzIChfX05SX1NZU0NBTExfQkFTRSsxMzUpCisjZGVmaW5lIF9fTlJfZ2V0cGdpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzIpCisjZGVmaW5lIF9fTlJfZmNoZGlyIChfX05SX1NZU0NBTExfQkFTRSArIDEzMykKKyNkZWZpbmUgX19OUl9iZGZsdXNoIChfX05SX1NZU0NBTExfQkFTRSArIDEzNCkKKyNkZWZpbmUgX19OUl9zeXNmcyAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3BlcnNvbmFsaXR5IChfX05SX1NZU0NBTExfQkFTRSsxMzYpCi0jZGVmaW5lIF9fTlJfc2V0ZnN1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFKzEzOCkKLSNkZWZpbmUgX19OUl9zZXRmc2dpZCAoX19OUl9TWVNDQUxMX0JBU0UrMTM5KQotI2RlZmluZSBfX05SX19sbHNlZWsgKF9fTlJfU1lTQ0FMTF9CQVNFKzE0MCkKKyNkZWZpbmUgX19OUl9wZXJzb25hbGl0eSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzYpCisjZGVmaW5lIF9fTlJfc2V0ZnN1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTM4KQorI2RlZmluZSBfX05SX3NldGZzZ2lkIChfX05SX1NZU0NBTExfQkFTRSArIDEzOSkKKyNkZWZpbmUgX19OUl9fbGxzZWVrIChfX05SX1NZU0NBTExfQkFTRSArIDE0MCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZ2V0ZGVudHMgKF9fTlJfU1lTQ0FMTF9CQVNFKzE0MSkKLSNkZWZpbmUgX19OUl9fbmV3c2VsZWN0IChfX05SX1NZU0NBTExfQkFTRSsxNDIpCi0jZGVmaW5lIF9fTlJfZmxvY2sgKF9fTlJfU1lTQ0FMTF9CQVNFKzE0MykKLSNkZWZpbmUgX19OUl9tc3luYyAoX19OUl9TWVNDQUxMX0JBU0UrMTQ0KQorI2RlZmluZSBfX05SX2dldGRlbnRzIChfX05SX1NZU0NBTExfQkFTRSArIDE0MSkKKyNkZWZpbmUgX19OUl9fbmV3c2VsZWN0IChfX05SX1NZU0NBTExfQkFTRSArIDE0MikKKyNkZWZpbmUgX19OUl9mbG9jayAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDMpCisjZGVmaW5lIF9fTlJfbXN5bmMgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTQ0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9yZWFkdiAoX19OUl9TWVNDQUxMX0JBU0UrMTQ1KQotI2RlZmluZSBfX05SX3dyaXRldiAoX19OUl9TWVNDQUxMX0JBU0UrMTQ2KQotI2RlZmluZSBfX05SX2dldHNpZCAoX19OUl9TWVNDQUxMX0JBU0UrMTQ3KQotI2RlZmluZSBfX05SX2ZkYXRhc3luYyAoX19OUl9TWVNDQUxMX0JBU0UrMTQ4KQorI2RlZmluZSBfX05SX3JlYWR2IChfX05SX1NZU0NBTExfQkFTRSArIDE0NSkKKyNkZWZpbmUgX19OUl93cml0ZXYgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTQ2KQorI2RlZmluZSBfX05SX2dldHNpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDcpCisjZGVmaW5lIF9fTlJfZmRhdGFzeW5jIChfX05SX1NZU0NBTExfQkFTRSArIDE0OCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfX3N5c2N0bCAoX19OUl9TWVNDQUxMX0JBU0UrMTQ5KQotI2RlZmluZSBfX05SX21sb2NrIChfX05SX1NZU0NBTExfQkFTRSsxNTApCi0jZGVmaW5lIF9fTlJfbXVubG9jayAoX19OUl9TWVNDQUxMX0JBU0UrMTUxKQotI2RlZmluZSBfX05SX21sb2NrYWxsIChfX05SX1NZU0NBTExfQkFTRSsxNTIpCisjZGVmaW5lIF9fTlJfX3N5c2N0bCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDkpCisjZGVmaW5lIF9fTlJfbWxvY2sgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTUwKQorI2RlZmluZSBfX05SX211bmxvY2sgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTUxKQorI2RlZmluZSBfX05SX21sb2NrYWxsIChfX05SX1NZU0NBTExfQkFTRSArIDE1MikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfbXVubG9ja2FsbCAoX19OUl9TWVNDQUxMX0JBU0UrMTUzKQotI2RlZmluZSBfX05SX3NjaGVkX3NldHBhcmFtIChfX05SX1NZU0NBTExfQkFTRSsxNTQpCi0jZGVmaW5lIF9fTlJfc2NoZWRfZ2V0cGFyYW0gKF9fTlJfU1lTQ0FMTF9CQVNFKzE1NSkKLSNkZWZpbmUgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIgKF9fTlJfU1lTQ0FMTF9CQVNFKzE1NikKKyNkZWZpbmUgX19OUl9tdW5sb2NrYWxsIChfX05SX1NZU0NBTExfQkFTRSArIDE1MykKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRwYXJhbSAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTQpCisjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0cGFyYW0gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU1KQorI2RlZmluZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlciAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlciAoX19OUl9TWVNDQUxMX0JBU0UrMTU3KQotI2RlZmluZSBfX05SX3NjaGVkX3lpZWxkIChfX05SX1NZU0NBTExfQkFTRSsxNTgpCi0jZGVmaW5lIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCAoX19OUl9TWVNDQUxMX0JBU0UrMTU5KQotI2RlZmluZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9taW4gKF9fTlJfU1lTQ0FMTF9CQVNFKzE2MCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU3KQorI2RlZmluZSBfX05SX3NjaGVkX3lpZWxkIChfX05SX1NZU0NBTExfQkFTRSArIDE1OCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4IChfX05SX1NZU0NBTExfQkFTRSArIDE1OSkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluIChfX05SX1NZU0NBTExfQkFTRSArIDE2MCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc2NoZWRfcnJfZ2V0X2ludGVydmFsIChfX05SX1NZU0NBTExfQkFTRSsxNjEpCi0jZGVmaW5lIF9fTlJfbmFub3NsZWVwIChfX05SX1NZU0NBTExfQkFTRSsxNjIpCi0jZGVmaW5lIF9fTlJfbXJlbWFwIChfX05SX1NZU0NBTExfQkFTRSsxNjMpCi0jZGVmaW5lIF9fTlJfc2V0cmVzdWlkIChfX05SX1NZU0NBTExfQkFTRSsxNjQpCisjZGVmaW5lIF9fTlJfc2NoZWRfcnJfZ2V0X2ludGVydmFsIChfX05SX1NZU0NBTExfQkFTRSArIDE2MSkKKyNkZWZpbmUgX19OUl9uYW5vc2xlZXAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYyKQorI2RlZmluZSBfX05SX21yZW1hcCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNjMpCisjZGVmaW5lIF9fTlJfc2V0cmVzdWlkIChfX05SX1NZU0NBTExfQkFTRSArIDE2NCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZ2V0cmVzdWlkIChfX05SX1NZU0NBTExfQkFTRSsxNjUpCi0jZGVmaW5lIF9fTlJfcG9sbCAoX19OUl9TWVNDQUxMX0JBU0UrMTY4KQotI2RlZmluZSBfX05SX25mc3NlcnZjdGwgKF9fTlJfU1lTQ0FMTF9CQVNFKzE2OSkKLSNkZWZpbmUgX19OUl9zZXRyZXNnaWQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE3MCkKKyNkZWZpbmUgX19OUl9nZXRyZXN1aWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTY1KQorI2RlZmluZSBfX05SX3BvbGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTY4KQorI2RlZmluZSBfX05SX25mc3NlcnZjdGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTY5KQorI2RlZmluZSBfX05SX3NldHJlc2dpZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNzApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2dldHJlc2dpZCAoX19OUl9TWVNDQUxMX0JBU0UrMTcxKQotI2RlZmluZSBfX05SX3ByY3RsIChfX05SX1NZU0NBTExfQkFTRSsxNzIpCi0jZGVmaW5lIF9fTlJfcnRfc2lncmV0dXJuIChfX05SX1NZU0NBTExfQkFTRSsxNzMpCi0jZGVmaW5lIF9fTlJfcnRfc2lnYWN0aW9uIChfX05SX1NZU0NBTExfQkFTRSsxNzQpCisjZGVmaW5lIF9fTlJfZ2V0cmVzZ2lkIChfX05SX1NZU0NBTExfQkFTRSArIDE3MSkKKyNkZWZpbmUgX19OUl9wcmN0bCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNzIpCisjZGVmaW5lIF9fTlJfcnRfc2lncmV0dXJuIChfX05SX1NZU0NBTExfQkFTRSArIDE3MykKKyNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTc0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAoX19OUl9TWVNDQUxMX0JBU0UrMTc1KQotI2RlZmluZSBfX05SX3J0X3NpZ3BlbmRpbmcgKF9fTlJfU1lTQ0FMTF9CQVNFKzE3NikKLSNkZWZpbmUgX19OUl9ydF9zaWd0aW1lZHdhaXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE3NykKLSNkZWZpbmUgX19OUl9ydF9zaWdxdWV1ZWluZm8gKF9fTlJfU1lTQ0FMTF9CQVNFKzE3OCkKKyNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNzUpCisjZGVmaW5lIF9fTlJfcnRfc2lncGVuZGluZyAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNzYpCisjZGVmaW5lIF9fTlJfcnRfc2lndGltZWR3YWl0IChfX05SX1NZU0NBTExfQkFTRSArIDE3NykKKyNkZWZpbmUgX19OUl9ydF9zaWdxdWV1ZWluZm8gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTc4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9ydF9zaWdzdXNwZW5kIChfX05SX1NZU0NBTExfQkFTRSsxNzkpCi0jZGVmaW5lIF9fTlJfcHJlYWQ2NCAoX19OUl9TWVNDQUxMX0JBU0UrMTgwKQotI2RlZmluZSBfX05SX3B3cml0ZTY0IChfX05SX1NZU0NBTExfQkFTRSsxODEpCi0jZGVmaW5lIF9fTlJfY2hvd24gKF9fTlJfU1lTQ0FMTF9CQVNFKzE4MikKKyNkZWZpbmUgX19OUl9ydF9zaWdzdXNwZW5kIChfX05SX1NZU0NBTExfQkFTRSArIDE3OSkKKyNkZWZpbmUgX19OUl9wcmVhZDY0IChfX05SX1NZU0NBTExfQkFTRSArIDE4MCkKKyNkZWZpbmUgX19OUl9wd3JpdGU2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxODEpCisjZGVmaW5lIF9fTlJfY2hvd24gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTgyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9nZXRjd2QgKF9fTlJfU1lTQ0FMTF9CQVNFKzE4MykKLSNkZWZpbmUgX19OUl9jYXBnZXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE4NCkKLSNkZWZpbmUgX19OUl9jYXBzZXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE4NSkKLSNkZWZpbmUgX19OUl9zaWdhbHRzdGFjayAoX19OUl9TWVNDQUxMX0JBU0UrMTg2KQorI2RlZmluZSBfX05SX2dldGN3ZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxODMpCisjZGVmaW5lIF9fTlJfY2FwZ2V0IChfX05SX1NZU0NBTExfQkFTRSArIDE4NCkKKyNkZWZpbmUgX19OUl9jYXBzZXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTg1KQorI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrIChfX05SX1NZU0NBTExfQkFTRSArIDE4NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc2VuZGZpbGUgKF9fTlJfU1lTQ0FMTF9CQVNFKzE4NykKLSNkZWZpbmUgX19OUl92Zm9yayAoX19OUl9TWVNDQUxMX0JBU0UrMTkwKQotI2RlZmluZSBfX05SX3VnZXRybGltaXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE5MSkKLSNkZWZpbmUgX19OUl9tbWFwMiAoX19OUl9TWVNDQUxMX0JBU0UrMTkyKQorI2RlZmluZSBfX05SX3NlbmRmaWxlIChfX05SX1NZU0NBTExfQkFTRSArIDE4NykKKyNkZWZpbmUgX19OUl92Zm9yayAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTApCisjZGVmaW5lIF9fTlJfdWdldHJsaW1pdCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTEpCisjZGVmaW5lIF9fTlJfbW1hcDIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTkyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl90cnVuY2F0ZTY0IChfX05SX1NZU0NBTExfQkFTRSsxOTMpCi0jZGVmaW5lIF9fTlJfZnRydW5jYXRlNjQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE5NCkKLSNkZWZpbmUgX19OUl9zdGF0NjQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE5NSkKLSNkZWZpbmUgX19OUl9sc3RhdDY0IChfX05SX1NZU0NBTExfQkFTRSsxOTYpCisjZGVmaW5lIF9fTlJfdHJ1bmNhdGU2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTMpCisjZGVmaW5lIF9fTlJfZnRydW5jYXRlNjQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTk0KQorI2RlZmluZSBfX05SX3N0YXQ2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTUpCisjZGVmaW5lIF9fTlJfbHN0YXQ2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2ZzdGF0NjQgKF9fTlJfU1lTQ0FMTF9CQVNFKzE5NykKLSNkZWZpbmUgX19OUl9sY2hvd24zMiAoX19OUl9TWVNDQUxMX0JBU0UrMTk4KQotI2RlZmluZSBfX05SX2dldHVpZDMyIChfX05SX1NZU0NBTExfQkFTRSsxOTkpCi0jZGVmaW5lIF9fTlJfZ2V0Z2lkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIwMCkKKyNkZWZpbmUgX19OUl9mc3RhdDY0IChfX05SX1NZU0NBTExfQkFTRSArIDE5NykKKyNkZWZpbmUgX19OUl9sY2hvd24zMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTgpCisjZGVmaW5lIF9fTlJfZ2V0dWlkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTk5KQorI2RlZmluZSBfX05SX2dldGdpZDMyIChfX05SX1NZU0NBTExfQkFTRSArIDIwMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZ2V0ZXVpZDMyIChfX05SX1NZU0NBTExfQkFTRSsyMDEpCi0jZGVmaW5lIF9fTlJfZ2V0ZWdpZDMyIChfX05SX1NZU0NBTExfQkFTRSsyMDIpCi0jZGVmaW5lIF9fTlJfc2V0cmV1aWQzMiAoX19OUl9TWVNDQUxMX0JBU0UrMjAzKQotI2RlZmluZSBfX05SX3NldHJlZ2lkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIwNCkKKyNkZWZpbmUgX19OUl9nZXRldWlkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjAxKQorI2RlZmluZSBfX05SX2dldGVnaWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDIpCisjZGVmaW5lIF9fTlJfc2V0cmV1aWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDMpCisjZGVmaW5lIF9fTlJfc2V0cmVnaWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2dldGdyb3VwczMyIChfX05SX1NZU0NBTExfQkFTRSsyMDUpCi0jZGVmaW5lIF9fTlJfc2V0Z3JvdXBzMzIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIwNikKLSNkZWZpbmUgX19OUl9mY2hvd24zMiAoX19OUl9TWVNDQUxMX0JBU0UrMjA3KQotI2RlZmluZSBfX05SX3NldHJlc3VpZDMyIChfX05SX1NZU0NBTExfQkFTRSsyMDgpCisjZGVmaW5lIF9fTlJfZ2V0Z3JvdXBzMzIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjA1KQorI2RlZmluZSBfX05SX3NldGdyb3VwczMyIChfX05SX1NZU0NBTExfQkFTRSArIDIwNikKKyNkZWZpbmUgX19OUl9mY2hvd24zMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDcpCisjZGVmaW5lIF9fTlJfc2V0cmVzdWlkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjA4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9nZXRyZXN1aWQzMiAoX19OUl9TWVNDQUxMX0JBU0UrMjA5KQotI2RlZmluZSBfX05SX3NldHJlc2dpZDMyIChfX05SX1NZU0NBTExfQkFTRSsyMTApCi0jZGVmaW5lIF9fTlJfZ2V0cmVzZ2lkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIxMSkKLSNkZWZpbmUgX19OUl9jaG93bjMyIChfX05SX1NZU0NBTExfQkFTRSsyMTIpCisjZGVmaW5lIF9fTlJfZ2V0cmVzdWlkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjA5KQorI2RlZmluZSBfX05SX3NldHJlc2dpZDMyIChfX05SX1NZU0NBTExfQkFTRSArIDIxMCkKKyNkZWZpbmUgX19OUl9nZXRyZXNnaWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTEpCisjZGVmaW5lIF9fTlJfY2hvd24zMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3NldHVpZDMyIChfX05SX1NZU0NBTExfQkFTRSsyMTMpCi0jZGVmaW5lIF9fTlJfc2V0Z2lkMzIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIxNCkKLSNkZWZpbmUgX19OUl9zZXRmc3VpZDMyIChfX05SX1NZU0NBTExfQkFTRSsyMTUpCi0jZGVmaW5lIF9fTlJfc2V0ZnNnaWQzMiAoX19OUl9TWVNDQUxMX0JBU0UrMjE2KQorI2RlZmluZSBfX05SX3NldHVpZDMyIChfX05SX1NZU0NBTExfQkFTRSArIDIxMykKKyNkZWZpbmUgX19OUl9zZXRnaWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTQpCisjZGVmaW5lIF9fTlJfc2V0ZnN1aWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTUpCisjZGVmaW5lIF9fTlJfc2V0ZnNnaWQzMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2dldGRlbnRzNjQgKF9fTlJfU1lTQ0FMTF9CQVNFKzIxNykKLSNkZWZpbmUgX19OUl9waXZvdF9yb290IChfX05SX1NZU0NBTExfQkFTRSsyMTgpCi0jZGVmaW5lIF9fTlJfbWluY29yZSAoX19OUl9TWVNDQUxMX0JBU0UrMjE5KQotI2RlZmluZSBfX05SX21hZHZpc2UgKF9fTlJfU1lTQ0FMTF9CQVNFKzIyMCkKKyNkZWZpbmUgX19OUl9nZXRkZW50czY0IChfX05SX1NZU0NBTExfQkFTRSArIDIxNykKKyNkZWZpbmUgX19OUl9waXZvdF9yb290IChfX05SX1NZU0NBTExfQkFTRSArIDIxOCkKKyNkZWZpbmUgX19OUl9taW5jb3JlIChfX05SX1NZU0NBTExfQkFTRSArIDIxOSkKKyNkZWZpbmUgX19OUl9tYWR2aXNlIChfX05SX1NZU0NBTExfQkFTRSArIDIyMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZmNudGw2NCAoX19OUl9TWVNDQUxMX0JBU0UrMjIxKQotI2RlZmluZSBfX05SX2dldHRpZCAoX19OUl9TWVNDQUxMX0JBU0UrMjI0KQotI2RlZmluZSBfX05SX3JlYWRhaGVhZCAoX19OUl9TWVNDQUxMX0JBU0UrMjI1KQotI2RlZmluZSBfX05SX3NldHhhdHRyIChfX05SX1NZU0NBTExfQkFTRSsyMjYpCisjZGVmaW5lIF9fTlJfZmNudGw2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMjEpCisjZGVmaW5lIF9fTlJfZ2V0dGlkIChfX05SX1NZU0NBTExfQkFTRSArIDIyNCkKKyNkZWZpbmUgX19OUl9yZWFkYWhlYWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjI1KQorI2RlZmluZSBfX05SX3NldHhhdHRyIChfX05SX1NZU0NBTExfQkFTRSArIDIyNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfbHNldHhhdHRyIChfX05SX1NZU0NBTExfQkFTRSsyMjcpCi0jZGVmaW5lIF9fTlJfZnNldHhhdHRyIChfX05SX1NZU0NBTExfQkFTRSsyMjgpCi0jZGVmaW5lIF9fTlJfZ2V0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIyOSkKLSNkZWZpbmUgX19OUl9sZ2V0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIzMCkKKyNkZWZpbmUgX19OUl9sc2V0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjI3KQorI2RlZmluZSBfX05SX2ZzZXR4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMjgpCisjZGVmaW5lIF9fTlJfZ2V0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjI5KQorI2RlZmluZSBfX05SX2xnZXR4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMzApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2ZnZXR4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UrMjMxKQotI2RlZmluZSBfX05SX2xpc3R4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UrMjMyKQotI2RlZmluZSBfX05SX2xsaXN0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFKzIzMykKLSNkZWZpbmUgX19OUl9mbGlzdHhhdHRyIChfX05SX1NZU0NBTExfQkFTRSsyMzQpCisjZGVmaW5lIF9fTlJfZmdldHhhdHRyIChfX05SX1NZU0NBTExfQkFTRSArIDIzMSkKKyNkZWZpbmUgX19OUl9saXN0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjMyKQorI2RlZmluZSBfX05SX2xsaXN0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjMzKQorI2RlZmluZSBfX05SX2ZsaXN0eGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjM0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9yZW1vdmV4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UrMjM1KQotI2RlZmluZSBfX05SX2xyZW1vdmV4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UrMjM2KQotI2RlZmluZSBfX05SX2ZyZW1vdmV4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UrMjM3KQotI2RlZmluZSBfX05SX3RraWxsIChfX05SX1NZU0NBTExfQkFTRSsyMzgpCisjZGVmaW5lIF9fTlJfcmVtb3ZleGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjM1KQorI2RlZmluZSBfX05SX2xyZW1vdmV4YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMzYpCisjZGVmaW5lIF9fTlJfZnJlbW92ZXhhdHRyIChfX05SX1NZU0NBTExfQkFTRSArIDIzNykKKyNkZWZpbmUgX19OUl90a2lsbCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMzgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3NlbmRmaWxlNjQgKF9fTlJfU1lTQ0FMTF9CQVNFKzIzOSkKLSNkZWZpbmUgX19OUl9mdXRleCAoX19OUl9TWVNDQUxMX0JBU0UrMjQwKQotI2RlZmluZSBfX05SX3NjaGVkX3NldGFmZmluaXR5IChfX05SX1NZU0NBTExfQkFTRSsyNDEpCi0jZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHkgKF9fTlJfU1lTQ0FMTF9CQVNFKzI0MikKKyNkZWZpbmUgX19OUl9zZW5kZmlsZTY0IChfX05SX1NZU0NBTExfQkFTRSArIDIzOSkKKyNkZWZpbmUgX19OUl9mdXRleCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDApCisjZGVmaW5lIF9fTlJfc2NoZWRfc2V0YWZmaW5pdHkgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjQxKQorI2RlZmluZSBfX05SX3NjaGVkX2dldGFmZmluaXR5IChfX05SX1NZU0NBTExfQkFTRSArIDI0MikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfaW9fc2V0dXAgKF9fTlJfU1lTQ0FMTF9CQVNFKzI0MykKLSNkZWZpbmUgX19OUl9pb19kZXN0cm95IChfX05SX1NZU0NBTExfQkFTRSsyNDQpCi0jZGVmaW5lIF9fTlJfaW9fZ2V0ZXZlbnRzIChfX05SX1NZU0NBTExfQkFTRSsyNDUpCi0jZGVmaW5lIF9fTlJfaW9fc3VibWl0IChfX05SX1NZU0NBTExfQkFTRSsyNDYpCisjZGVmaW5lIF9fTlJfaW9fc2V0dXAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjQzKQorI2RlZmluZSBfX05SX2lvX2Rlc3Ryb3kgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjQ0KQorI2RlZmluZSBfX05SX2lvX2dldGV2ZW50cyAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDUpCisjZGVmaW5lIF9fTlJfaW9fc3VibWl0IChfX05SX1NZU0NBTExfQkFTRSArIDI0NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfaW9fY2FuY2VsIChfX05SX1NZU0NBTExfQkFTRSsyNDcpCi0jZGVmaW5lIF9fTlJfZXhpdF9ncm91cCAoX19OUl9TWVNDQUxMX0JBU0UrMjQ4KQotI2RlZmluZSBfX05SX2xvb2t1cF9kY29va2llIChfX05SX1NZU0NBTExfQkFTRSsyNDkpCi0jZGVmaW5lIF9fTlJfZXBvbGxfY3JlYXRlIChfX05SX1NZU0NBTExfQkFTRSsyNTApCisjZGVmaW5lIF9fTlJfaW9fY2FuY2VsIChfX05SX1NZU0NBTExfQkFTRSArIDI0NykKKyNkZWZpbmUgX19OUl9leGl0X2dyb3VwIChfX05SX1NZU0NBTExfQkFTRSArIDI0OCkKKyNkZWZpbmUgX19OUl9sb29rdXBfZGNvb2tpZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDkpCisjZGVmaW5lIF9fTlJfZXBvbGxfY3JlYXRlIChfX05SX1NZU0NBTExfQkFTRSArIDI1MCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZXBvbGxfY3RsIChfX05SX1NZU0NBTExfQkFTRSsyNTEpCi0jZGVmaW5lIF9fTlJfZXBvbGxfd2FpdCAoX19OUl9TWVNDQUxMX0JBU0UrMjUyKQotI2RlZmluZSBfX05SX3JlbWFwX2ZpbGVfcGFnZXMgKF9fTlJfU1lTQ0FMTF9CQVNFKzI1MykKLSNkZWZpbmUgX19OUl9zZXRfdGlkX2FkZHJlc3MgKF9fTlJfU1lTQ0FMTF9CQVNFKzI1NikKKyNkZWZpbmUgX19OUl9lcG9sbF9jdGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjUxKQorI2RlZmluZSBfX05SX2Vwb2xsX3dhaXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjUyKQorI2RlZmluZSBfX05SX3JlbWFwX2ZpbGVfcGFnZXMgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjUzKQorI2RlZmluZSBfX05SX3NldF90aWRfYWRkcmVzcyAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3RpbWVyX2NyZWF0ZSAoX19OUl9TWVNDQUxMX0JBU0UrMjU3KQotI2RlZmluZSBfX05SX3RpbWVyX3NldHRpbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKzI1OCkKLSNkZWZpbmUgX19OUl90aW1lcl9nZXR0aW1lIChfX05SX1NZU0NBTExfQkFTRSsyNTkpCi0jZGVmaW5lIF9fTlJfdGltZXJfZ2V0b3ZlcnJ1biAoX19OUl9TWVNDQUxMX0JBU0UrMjYwKQorI2RlZmluZSBfX05SX3RpbWVyX2NyZWF0ZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTcpCisjZGVmaW5lIF9fTlJfdGltZXJfc2V0dGltZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTgpCisjZGVmaW5lIF9fTlJfdGltZXJfZ2V0dGltZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTkpCisjZGVmaW5lIF9fTlJfdGltZXJfZ2V0b3ZlcnJ1biAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNjApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3RpbWVyX2RlbGV0ZSAoX19OUl9TWVNDQUxMX0JBU0UrMjYxKQotI2RlZmluZSBfX05SX2Nsb2NrX3NldHRpbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKzI2MikKLSNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lIChfX05SX1NZU0NBTExfQkFTRSsyNjMpCi0jZGVmaW5lIF9fTlJfY2xvY2tfZ2V0cmVzIChfX05SX1NZU0NBTExfQkFTRSsyNjQpCisjZGVmaW5lIF9fTlJfdGltZXJfZGVsZXRlIChfX05SX1NZU0NBTExfQkFTRSArIDI2MSkKKyNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lIChfX05SX1NZU0NBTExfQkFTRSArIDI2MikKKyNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lIChfX05SX1NZU0NBTExfQkFTRSArIDI2MykKKyNkZWZpbmUgX19OUl9jbG9ja19nZXRyZXMgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjY0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgKF9fTlJfU1lTQ0FMTF9CQVNFKzI2NSkKLSNkZWZpbmUgX19OUl9zdGF0ZnM2NCAoX19OUl9TWVNDQUxMX0JBU0UrMjY2KQotI2RlZmluZSBfX05SX2ZzdGF0ZnM2NCAoX19OUl9TWVNDQUxMX0JBU0UrMjY3KQotI2RlZmluZSBfX05SX3Rna2lsbCAoX19OUl9TWVNDQUxMX0JBU0UrMjY4KQorI2RlZmluZSBfX05SX2Nsb2NrX25hbm9zbGVlcCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNjUpCisjZGVmaW5lIF9fTlJfc3RhdGZzNjQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjY2KQorI2RlZmluZSBfX05SX2ZzdGF0ZnM2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNjcpCisjZGVmaW5lIF9fTlJfdGdraWxsIChfX05SX1NZU0NBTExfQkFTRSArIDI2OCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfdXRpbWVzIChfX05SX1NZU0NBTExfQkFTRSsyNjkpCi0jZGVmaW5lIF9fTlJfYXJtX2ZhZHZpc2U2NF82NCAoX19OUl9TWVNDQUxMX0JBU0UrMjcwKQotI2RlZmluZSBfX05SX3BjaWNvbmZpZ19pb2Jhc2UgKF9fTlJfU1lTQ0FMTF9CQVNFKzI3MSkKLSNkZWZpbmUgX19OUl9wY2ljb25maWdfcmVhZCAoX19OUl9TWVNDQUxMX0JBU0UrMjcyKQorI2RlZmluZSBfX05SX3V0aW1lcyAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNjkpCisjZGVmaW5lIF9fTlJfYXJtX2ZhZHZpc2U2NF82NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNzApCisjZGVmaW5lIF9fTlJfcGNpY29uZmlnX2lvYmFzZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNzEpCisjZGVmaW5lIF9fTlJfcGNpY29uZmlnX3JlYWQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjcyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9wY2ljb25maWdfd3JpdGUgKF9fTlJfU1lTQ0FMTF9CQVNFKzI3MykKLSNkZWZpbmUgX19OUl9tcV9vcGVuIChfX05SX1NZU0NBTExfQkFTRSsyNzQpCi0jZGVmaW5lIF9fTlJfbXFfdW5saW5rIChfX05SX1NZU0NBTExfQkFTRSsyNzUpCi0jZGVmaW5lIF9fTlJfbXFfdGltZWRzZW5kIChfX05SX1NZU0NBTExfQkFTRSsyNzYpCisjZGVmaW5lIF9fTlJfcGNpY29uZmlnX3dyaXRlIChfX05SX1NZU0NBTExfQkFTRSArIDI3MykKKyNkZWZpbmUgX19OUl9tcV9vcGVuIChfX05SX1NZU0NBTExfQkFTRSArIDI3NCkKKyNkZWZpbmUgX19OUl9tcV91bmxpbmsgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjc1KQorI2RlZmluZSBfX05SX21xX3RpbWVkc2VuZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNzYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX21xX3RpbWVkcmVjZWl2ZSAoX19OUl9TWVNDQUxMX0JBU0UrMjc3KQotI2RlZmluZSBfX05SX21xX25vdGlmeSAoX19OUl9TWVNDQUxMX0JBU0UrMjc4KQotI2RlZmluZSBfX05SX21xX2dldHNldGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFKzI3OSkKLSNkZWZpbmUgX19OUl93YWl0aWQgKF9fTlJfU1lTQ0FMTF9CQVNFKzI4MCkKKyNkZWZpbmUgX19OUl9tcV90aW1lZHJlY2VpdmUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjc3KQorI2RlZmluZSBfX05SX21xX25vdGlmeSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNzgpCisjZGVmaW5lIF9fTlJfbXFfZ2V0c2V0YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNzkpCisjZGVmaW5lIF9fTlJfd2FpdGlkIChfX05SX1NZU0NBTExfQkFTRSArIDI4MCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc29ja2V0IChfX05SX1NZU0NBTExfQkFTRSsyODEpCi0jZGVmaW5lIF9fTlJfYmluZCAoX19OUl9TWVNDQUxMX0JBU0UrMjgyKQotI2RlZmluZSBfX05SX2Nvbm5lY3QgKF9fTlJfU1lTQ0FMTF9CQVNFKzI4MykKLSNkZWZpbmUgX19OUl9saXN0ZW4gKF9fTlJfU1lTQ0FMTF9CQVNFKzI4NCkKKyNkZWZpbmUgX19OUl9zb2NrZXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjgxKQorI2RlZmluZSBfX05SX2JpbmQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjgyKQorI2RlZmluZSBfX05SX2Nvbm5lY3QgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjgzKQorI2RlZmluZSBfX05SX2xpc3RlbiAoX19OUl9TWVNDQUxMX0JBU0UgKyAyODQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2FjY2VwdCAoX19OUl9TWVNDQUxMX0JBU0UrMjg1KQotI2RlZmluZSBfX05SX2dldHNvY2tuYW1lIChfX05SX1NZU0NBTExfQkFTRSsyODYpCi0jZGVmaW5lIF9fTlJfZ2V0cGVlcm5hbWUgKF9fTlJfU1lTQ0FMTF9CQVNFKzI4NykKLSNkZWZpbmUgX19OUl9zb2NrZXRwYWlyIChfX05SX1NZU0NBTExfQkFTRSsyODgpCisjZGVmaW5lIF9fTlJfYWNjZXB0IChfX05SX1NZU0NBTExfQkFTRSArIDI4NSkKKyNkZWZpbmUgX19OUl9nZXRzb2NrbmFtZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyODYpCisjZGVmaW5lIF9fTlJfZ2V0cGVlcm5hbWUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjg3KQorI2RlZmluZSBfX05SX3NvY2tldHBhaXIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjg4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9zZW5kIChfX05SX1NZU0NBTExfQkFTRSsyODkpCi0jZGVmaW5lIF9fTlJfc2VuZHRvIChfX05SX1NZU0NBTExfQkFTRSsyOTApCi0jZGVmaW5lIF9fTlJfcmVjdiAoX19OUl9TWVNDQUxMX0JBU0UrMjkxKQotI2RlZmluZSBfX05SX3JlY3Zmcm9tIChfX05SX1NZU0NBTExfQkFTRSsyOTIpCisjZGVmaW5lIF9fTlJfc2VuZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyODkpCisjZGVmaW5lIF9fTlJfc2VuZHRvIChfX05SX1NZU0NBTExfQkFTRSArIDI5MCkKKyNkZWZpbmUgX19OUl9yZWN2IChfX05SX1NZU0NBTExfQkFTRSArIDI5MSkKKyNkZWZpbmUgX19OUl9yZWN2ZnJvbSAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOTIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3NodXRkb3duIChfX05SX1NZU0NBTExfQkFTRSsyOTMpCi0jZGVmaW5lIF9fTlJfc2V0c29ja29wdCAoX19OUl9TWVNDQUxMX0JBU0UrMjk0KQotI2RlZmluZSBfX05SX2dldHNvY2tvcHQgKF9fTlJfU1lTQ0FMTF9CQVNFKzI5NSkKLSNkZWZpbmUgX19OUl9zZW5kbXNnIChfX05SX1NZU0NBTExfQkFTRSsyOTYpCisjZGVmaW5lIF9fTlJfc2h1dGRvd24gKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjkzKQorI2RlZmluZSBfX05SX3NldHNvY2tvcHQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjk0KQorI2RlZmluZSBfX05SX2dldHNvY2tvcHQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjk1KQorI2RlZmluZSBfX05SX3NlbmRtc2cgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjk2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9yZWN2bXNnIChfX05SX1NZU0NBTExfQkFTRSsyOTcpCi0jZGVmaW5lIF9fTlJfc2Vtb3AgKF9fTlJfU1lTQ0FMTF9CQVNFKzI5OCkKLSNkZWZpbmUgX19OUl9zZW1nZXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzI5OSkKLSNkZWZpbmUgX19OUl9zZW1jdGwgKF9fTlJfU1lTQ0FMTF9CQVNFKzMwMCkKKyNkZWZpbmUgX19OUl9yZWN2bXNnIChfX05SX1NZU0NBTExfQkFTRSArIDI5NykKKyNkZWZpbmUgX19OUl9zZW1vcCAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOTgpCisjZGVmaW5lIF9fTlJfc2VtZ2V0IChfX05SX1NZU0NBTExfQkFTRSArIDI5OSkKKyNkZWZpbmUgX19OUl9zZW1jdGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9tc2dzbmQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMwMSkKLSNkZWZpbmUgX19OUl9tc2dyY3YgKF9fTlJfU1lTQ0FMTF9CQVNFKzMwMikKLSNkZWZpbmUgX19OUl9tc2dnZXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMwMykKLSNkZWZpbmUgX19OUl9tc2djdGwgKF9fTlJfU1lTQ0FMTF9CQVNFKzMwNCkKKyNkZWZpbmUgX19OUl9tc2dzbmQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzAxKQorI2RlZmluZSBfX05SX21zZ3JjdiAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMDIpCisjZGVmaW5lIF9fTlJfbXNnZ2V0IChfX05SX1NZU0NBTExfQkFTRSArIDMwMykKKyNkZWZpbmUgX19OUl9tc2djdGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzA0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9zaG1hdCAoX19OUl9TWVNDQUxMX0JBU0UrMzA1KQotI2RlZmluZSBfX05SX3NobWR0IChfX05SX1NZU0NBTExfQkFTRSszMDYpCi0jZGVmaW5lIF9fTlJfc2htZ2V0IChfX05SX1NZU0NBTExfQkFTRSszMDcpCi0jZGVmaW5lIF9fTlJfc2htY3RsIChfX05SX1NZU0NBTExfQkFTRSszMDgpCisjZGVmaW5lIF9fTlJfc2htYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzA1KQorI2RlZmluZSBfX05SX3NobWR0IChfX05SX1NZU0NBTExfQkFTRSArIDMwNikKKyNkZWZpbmUgX19OUl9zaG1nZXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzA3KQorI2RlZmluZSBfX05SX3NobWN0bCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMDgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2FkZF9rZXkgKF9fTlJfU1lTQ0FMTF9CQVNFKzMwOSkKLSNkZWZpbmUgX19OUl9yZXF1ZXN0X2tleSAoX19OUl9TWVNDQUxMX0JBU0UrMzEwKQotI2RlZmluZSBfX05SX2tleWN0bCAoX19OUl9TWVNDQUxMX0JBU0UrMzExKQotI2RlZmluZSBfX05SX3NlbXRpbWVkb3AgKF9fTlJfU1lTQ0FMTF9CQVNFKzMxMikKKyNkZWZpbmUgX19OUl9hZGRfa2V5IChfX05SX1NZU0NBTExfQkFTRSArIDMwOSkKKyNkZWZpbmUgX19OUl9yZXF1ZXN0X2tleSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTApCisjZGVmaW5lIF9fTlJfa2V5Y3RsIChfX05SX1NZU0NBTExfQkFTRSArIDMxMSkKKyNkZWZpbmUgX19OUl9zZW10aW1lZG9wIChfX05SX1NZU0NBTExfQkFTRSArIDMxMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfdnNlcnZlciAoX19OUl9TWVNDQUxMX0JBU0UrMzEzKQotI2RlZmluZSBfX05SX2lvcHJpb19zZXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMxNCkKLSNkZWZpbmUgX19OUl9pb3ByaW9fZ2V0IChfX05SX1NZU0NBTExfQkFTRSszMTUpCi0jZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0IChfX05SX1NZU0NBTExfQkFTRSszMTYpCisjZGVmaW5lIF9fTlJfdnNlcnZlciAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTMpCisjZGVmaW5lIF9fTlJfaW9wcmlvX3NldCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTQpCisjZGVmaW5lIF9fTlJfaW9wcmlvX2dldCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTUpCisjZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0IChfX05SX1NZU0NBTExfQkFTRSArIDMxNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfaW5vdGlmeV9hZGRfd2F0Y2ggKF9fTlJfU1lTQ0FMTF9CQVNFKzMxNykKLSNkZWZpbmUgX19OUl9pbm90aWZ5X3JtX3dhdGNoIChfX05SX1NZU0NBTExfQkFTRSszMTgpCi0jZGVmaW5lIF9fTlJfbWJpbmQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMxOSkKLSNkZWZpbmUgX19OUl9nZXRfbWVtcG9saWN5IChfX05SX1NZU0NBTExfQkFTRSszMjApCisjZGVmaW5lIF9fTlJfaW5vdGlmeV9hZGRfd2F0Y2ggKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzE3KQorI2RlZmluZSBfX05SX2lub3RpZnlfcm1fd2F0Y2ggKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzE4KQorI2RlZmluZSBfX05SX21iaW5kIChfX05SX1NZU0NBTExfQkFTRSArIDMxOSkKKyNkZWZpbmUgX19OUl9nZXRfbWVtcG9saWN5IChfX05SX1NZU0NBTExfQkFTRSArIDMyMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc2V0X21lbXBvbGljeSAoX19OUl9TWVNDQUxMX0JBU0UrMzIxKQotI2RlZmluZSBfX05SX29wZW5hdCAoX19OUl9TWVNDQUxMX0JBU0UrMzIyKQotI2RlZmluZSBfX05SX21rZGlyYXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMyMykKLSNkZWZpbmUgX19OUl9ta25vZGF0IChfX05SX1NZU0NBTExfQkFTRSszMjQpCisjZGVmaW5lIF9fTlJfc2V0X21lbXBvbGljeSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMjEpCisjZGVmaW5lIF9fTlJfb3BlbmF0IChfX05SX1NZU0NBTExfQkFTRSArIDMyMikKKyNkZWZpbmUgX19OUl9ta2RpcmF0IChfX05SX1NZU0NBTExfQkFTRSArIDMyMykKKyNkZWZpbmUgX19OUl9ta25vZGF0IChfX05SX1NZU0NBTExfQkFTRSArIDMyNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfZmNob3duYXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMyNSkKLSNkZWZpbmUgX19OUl9mdXRpbWVzYXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMyNikKLSNkZWZpbmUgX19OUl9mc3RhdGF0NjQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMyNykKLSNkZWZpbmUgX19OUl91bmxpbmthdCAoX19OUl9TWVNDQUxMX0JBU0UrMzI4KQorI2RlZmluZSBfX05SX2ZjaG93bmF0IChfX05SX1NZU0NBTExfQkFTRSArIDMyNSkKKyNkZWZpbmUgX19OUl9mdXRpbWVzYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzI2KQorI2RlZmluZSBfX05SX2ZzdGF0YXQ2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMjcpCisjZGVmaW5lIF9fTlJfdW5saW5rYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzI4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9yZW5hbWVhdCAoX19OUl9TWVNDQUxMX0JBU0UrMzI5KQotI2RlZmluZSBfX05SX2xpbmthdCAoX19OUl9TWVNDQUxMX0JBU0UrMzMwKQotI2RlZmluZSBfX05SX3N5bWxpbmthdCAoX19OUl9TWVNDQUxMX0JBU0UrMzMxKQotI2RlZmluZSBfX05SX3JlYWRsaW5rYXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzMzMikKKyNkZWZpbmUgX19OUl9yZW5hbWVhdCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMjkpCisjZGVmaW5lIF9fTlJfbGlua2F0IChfX05SX1NZU0NBTExfQkFTRSArIDMzMCkKKyNkZWZpbmUgX19OUl9zeW1saW5rYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzMxKQorI2RlZmluZSBfX05SX3JlYWRsaW5rYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzMyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9mY2htb2RhdCAoX19OUl9TWVNDQUxMX0JBU0UrMzMzKQotI2RlZmluZSBfX05SX2ZhY2Nlc3NhdCAoX19OUl9TWVNDQUxMX0JBU0UrMzM0KQotI2RlZmluZSBfX05SX3BzZWxlY3Q2IChfX05SX1NZU0NBTExfQkFTRSszMzUpCi0jZGVmaW5lIF9fTlJfcHBvbGwgKF9fTlJfU1lTQ0FMTF9CQVNFKzMzNikKKyNkZWZpbmUgX19OUl9mY2htb2RhdCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMzMpCisjZGVmaW5lIF9fTlJfZmFjY2Vzc2F0IChfX05SX1NZU0NBTExfQkFTRSArIDMzNCkKKyNkZWZpbmUgX19OUl9wc2VsZWN0NiAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMzUpCisjZGVmaW5lIF9fTlJfcHBvbGwgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzM2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl91bnNoYXJlIChfX05SX1NZU0NBTExfQkFTRSszMzcpCi0jZGVmaW5lIF9fTlJfc2V0X3JvYnVzdF9saXN0IChfX05SX1NZU0NBTExfQkFTRSszMzgpCi0jZGVmaW5lIF9fTlJfZ2V0X3JvYnVzdF9saXN0IChfX05SX1NZU0NBTExfQkFTRSszMzkpCi0jZGVmaW5lIF9fTlJfc3BsaWNlIChfX05SX1NZU0NBTExfQkFTRSszNDApCisjZGVmaW5lIF9fTlJfdW5zaGFyZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMzcpCisjZGVmaW5lIF9fTlJfc2V0X3JvYnVzdF9saXN0IChfX05SX1NZU0NBTExfQkFTRSArIDMzOCkKKyNkZWZpbmUgX19OUl9nZXRfcm9idXN0X2xpc3QgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzM5KQorI2RlZmluZSBfX05SX3NwbGljZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2FybV9zeW5jX2ZpbGVfcmFuZ2UgKF9fTlJfU1lTQ0FMTF9CQVNFKzM0MSkKKyNkZWZpbmUgX19OUl9hcm1fc3luY19maWxlX3JhbmdlIChfX05SX1NZU0NBTExfQkFTRSArIDM0MSkKICNkZWZpbmUgX19OUl9zeW5jX2ZpbGVfcmFuZ2UyIF9fTlJfYXJtX3N5bmNfZmlsZV9yYW5nZQotI2RlZmluZSBfX05SX3RlZSAoX19OUl9TWVNDQUxMX0JBU0UrMzQyKQotI2RlZmluZSBfX05SX3Ztc3BsaWNlIChfX05SX1NZU0NBTExfQkFTRSszNDMpCisjZGVmaW5lIF9fTlJfdGVlIChfX05SX1NZU0NBTExfQkFTRSArIDM0MikKKyNkZWZpbmUgX19OUl92bXNwbGljZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX21vdmVfcGFnZXMgKF9fTlJfU1lTQ0FMTF9CQVNFKzM0NCkKLSNkZWZpbmUgX19OUl9nZXRjcHUgKF9fTlJfU1lTQ0FMTF9CQVNFKzM0NSkKLSNkZWZpbmUgX19OUl9lcG9sbF9wd2FpdCAoX19OUl9TWVNDQUxMX0JBU0UrMzQ2KQotI2RlZmluZSBfX05SX2tleGVjX2xvYWQgKF9fTlJfU1lTQ0FMTF9CQVNFKzM0NykKKyNkZWZpbmUgX19OUl9tb3ZlX3BhZ2VzIChfX05SX1NZU0NBTExfQkFTRSArIDM0NCkKKyNkZWZpbmUgX19OUl9nZXRjcHUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzQ1KQorI2RlZmluZSBfX05SX2Vwb2xsX3B3YWl0IChfX05SX1NZU0NBTExfQkFTRSArIDM0NikKKyNkZWZpbmUgX19OUl9rZXhlY19sb2FkIChfX05SX1NZU0NBTExfQkFTRSArIDM0NykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfdXRpbWVuc2F0IChfX05SX1NZU0NBTExfQkFTRSszNDgpCi0jZGVmaW5lIF9fTlJfc2lnbmFsZmQgKF9fTlJfU1lTQ0FMTF9CQVNFKzM0OSkKLSNkZWZpbmUgX19OUl90aW1lcmZkX2NyZWF0ZSAoX19OUl9TWVNDQUxMX0JBU0UrMzUwKQotI2RlZmluZSBfX05SX2V2ZW50ZmQgKF9fTlJfU1lTQ0FMTF9CQVNFKzM1MSkKKyNkZWZpbmUgX19OUl91dGltZW5zYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzQ4KQorI2RlZmluZSBfX05SX3NpZ25hbGZkIChfX05SX1NZU0NBTExfQkFTRSArIDM0OSkKKyNkZWZpbmUgX19OUl90aW1lcmZkX2NyZWF0ZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTApCisjZGVmaW5lIF9fTlJfZXZlbnRmZCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2ZhbGxvY2F0ZSAoX19OUl9TWVNDQUxMX0JBU0UrMzUyKQotI2RlZmluZSBfX05SX3RpbWVyZmRfc2V0dGltZSAoX19OUl9TWVNDQUxMX0JBU0UrMzUzKQotI2RlZmluZSBfX05SX3RpbWVyZmRfZ2V0dGltZSAoX19OUl9TWVNDQUxMX0JBU0UrMzU0KQotI2RlZmluZSBfX05SX3NpZ25hbGZkNCAoX19OUl9TWVNDQUxMX0JBU0UrMzU1KQorI2RlZmluZSBfX05SX2ZhbGxvY2F0ZSAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTIpCisjZGVmaW5lIF9fTlJfdGltZXJmZF9zZXR0aW1lIChfX05SX1NZU0NBTExfQkFTRSArIDM1MykKKyNkZWZpbmUgX19OUl90aW1lcmZkX2dldHRpbWUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzU0KQorI2RlZmluZSBfX05SX3NpZ25hbGZkNCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2V2ZW50ZmQyIChfX05SX1NZU0NBTExfQkFTRSszNTYpCi0jZGVmaW5lIF9fTlJfZXBvbGxfY3JlYXRlMSAoX19OUl9TWVNDQUxMX0JBU0UrMzU3KQotI2RlZmluZSBfX05SX2R1cDMgKF9fTlJfU1lTQ0FMTF9CQVNFKzM1OCkKLSNkZWZpbmUgX19OUl9waXBlMiAoX19OUl9TWVNDQUxMX0JBU0UrMzU5KQorI2RlZmluZSBfX05SX2V2ZW50ZmQyIChfX05SX1NZU0NBTExfQkFTRSArIDM1NikKKyNkZWZpbmUgX19OUl9lcG9sbF9jcmVhdGUxIChfX05SX1NZU0NBTExfQkFTRSArIDM1NykKKyNkZWZpbmUgX19OUl9kdXAzIChfX05SX1NZU0NBTExfQkFTRSArIDM1OCkKKyNkZWZpbmUgX19OUl9waXBlMiAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX2lub3RpZnlfaW5pdDEgKF9fTlJfU1lTQ0FMTF9CQVNFKzM2MCkKLSNkZWZpbmUgX19OUl9wcmVhZHYgKF9fTlJfU1lTQ0FMTF9CQVNFKzM2MSkKLSNkZWZpbmUgX19OUl9wd3JpdGV2IChfX05SX1NZU0NBTExfQkFTRSszNjIpCi0jZGVmaW5lIF9fTlJfcnRfdGdzaWdxdWV1ZWluZm8gKF9fTlJfU1lTQ0FMTF9CQVNFKzM2MykKKyNkZWZpbmUgX19OUl9pbm90aWZ5X2luaXQxIChfX05SX1NZU0NBTExfQkFTRSArIDM2MCkKKyNkZWZpbmUgX19OUl9wcmVhZHYgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzYxKQorI2RlZmluZSBfX05SX3B3cml0ZXYgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzYyKQorI2RlZmluZSBfX05SX3J0X3Rnc2lncXVldWVpbmZvIChfX05SX1NZU0NBTExfQkFTRSArIDM2MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfcGVyZl9ldmVudF9vcGVuIChfX05SX1NZU0NBTExfQkFTRSszNjQpCi0jZGVmaW5lIF9fTlJfcmVjdm1tc2cgKF9fTlJfU1lTQ0FMTF9CQVNFKzM2NSkKLSNkZWZpbmUgX19OUl9hY2NlcHQ0IChfX05SX1NZU0NBTExfQkFTRSszNjYpCi0jZGVmaW5lIF9fTlJfZmFub3RpZnlfaW5pdCAoX19OUl9TWVNDQUxMX0JBU0UrMzY3KQorI2RlZmluZSBfX05SX3BlcmZfZXZlbnRfb3BlbiAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNjQpCisjZGVmaW5lIF9fTlJfcmVjdm1tc2cgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzY1KQorI2RlZmluZSBfX05SX2FjY2VwdDQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzY2KQorI2RlZmluZSBfX05SX2Zhbm90aWZ5X2luaXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzY3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9mYW5vdGlmeV9tYXJrIChfX05SX1NZU0NBTExfQkFTRSszNjgpCi0jZGVmaW5lIF9fTlJfcHJsaW1pdDY0IChfX05SX1NZU0NBTExfQkFTRSszNjkpCi0jZGVmaW5lIF9fTlJfbmFtZV90b19oYW5kbGVfYXQgKF9fTlJfU1lTQ0FMTF9CQVNFKzM3MCkKLSNkZWZpbmUgX19OUl9vcGVuX2J5X2hhbmRsZV9hdCAoX19OUl9TWVNDQUxMX0JBU0UrMzcxKQorI2RlZmluZSBfX05SX2Zhbm90aWZ5X21hcmsgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzY4KQorI2RlZmluZSBfX05SX3BybGltaXQ2NCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNjkpCisjZGVmaW5lIF9fTlJfbmFtZV90b19oYW5kbGVfYXQgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzcwKQorI2RlZmluZSBfX05SX29wZW5fYnlfaGFuZGxlX2F0IChfX05SX1NZU0NBTExfQkFTRSArIDM3MSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfY2xvY2tfYWRqdGltZSAoX19OUl9TWVNDQUxMX0JBU0UrMzcyKQotI2RlZmluZSBfX05SX3N5bmNmcyAoX19OUl9TWVNDQUxMX0JBU0UrMzczKQotI2RlZmluZSBfX05SX3NlbmRtbXNnIChfX05SX1NZU0NBTExfQkFTRSszNzQpCi0jZGVmaW5lIF9fTlJfc2V0bnMgKF9fTlJfU1lTQ0FMTF9CQVNFKzM3NSkKKyNkZWZpbmUgX19OUl9jbG9ja19hZGp0aW1lIChfX05SX1NZU0NBTExfQkFTRSArIDM3MikKKyNkZWZpbmUgX19OUl9zeW5jZnMgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzczKQorI2RlZmluZSBfX05SX3NlbmRtbXNnIChfX05SX1NZU0NBTExfQkFTRSArIDM3NCkKKyNkZWZpbmUgX19OUl9zZXRucyAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3Byb2Nlc3Nfdm1fcmVhZHYgKF9fTlJfU1lTQ0FMTF9CQVNFKzM3NikKLSNkZWZpbmUgX19OUl9wcm9jZXNzX3ZtX3dyaXRldiAoX19OUl9TWVNDQUxMX0JBU0UrMzc3KQotI2RlZmluZSBfX05SX2tjbXAgKF9fTlJfU1lTQ0FMTF9CQVNFKzM3OCkKLSNkZWZpbmUgX19OUl9maW5pdF9tb2R1bGUgKF9fTlJfU1lTQ0FMTF9CQVNFKzM3OSkKKyNkZWZpbmUgX19OUl9wcm9jZXNzX3ZtX3JlYWR2IChfX05SX1NZU0NBTExfQkFTRSArIDM3NikKKyNkZWZpbmUgX19OUl9wcm9jZXNzX3ZtX3dyaXRldiAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNzcpCisjZGVmaW5lIF9fTlJfa2NtcCAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNzgpCisjZGVmaW5lIF9fTlJfZmluaXRfbW9kdWxlIChfX05SX1NZU0NBTExfQkFTRSArIDM3OSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fTlJfc2NoZWRfc2V0YXR0ciAoX19OUl9TWVNDQUxMX0JBU0UrMzgwKQotI2RlZmluZSBfX05SX3NjaGVkX2dldGF0dHIgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4MSkKLSNkZWZpbmUgX19BUk1fTlJfQkFTRSAoX19OUl9TWVNDQUxMX0JBU0UrMHgwZjAwMDApCi0jZGVmaW5lIF9fQVJNX05SX2JyZWFrcG9pbnQgKF9fQVJNX05SX0JBU0UrMSkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRhdHRyIChfX05SX1NZU0NBTExfQkFTRSArIDM4MCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRhdHRyIChfX05SX1NZU0NBTExfQkFTRSArIDM4MSkKKyNkZWZpbmUgX19OUl9yZW5hbWVhdDIgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzgyKQorI2RlZmluZSBfX05SX3NlY2NvbXAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzgzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19BUk1fTlJfY2FjaGVmbHVzaCAoX19BUk1fTlJfQkFTRSsyKQotI2RlZmluZSBfX0FSTV9OUl91c3IyNiAoX19BUk1fTlJfQkFTRSszKQotI2RlZmluZSBfX0FSTV9OUl91c3IzMiAoX19BUk1fTlJfQkFTRSs0KQotI2RlZmluZSBfX0FSTV9OUl9zZXRfdGxzIChfX0FSTV9OUl9CQVNFKzUpCisjZGVmaW5lIF9fTlJfZ2V0cmFuZG9tIChfX05SX1NZU0NBTExfQkFTRSArIDM4NCkKKyNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzg1KQorI2RlZmluZSBfX05SX2JwZiAoX19OUl9TWVNDQUxMX0JBU0UgKyAzODYpCisjZGVmaW5lIF9fQVJNX05SX0JBU0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHgwZjAwMDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX0FSTV9OUl9icmVha3BvaW50IChfX0FSTV9OUl9CQVNFICsgMSkKKyNkZWZpbmUgX19BUk1fTlJfY2FjaGVmbHVzaCAoX19BUk1fTlJfQkFTRSArIDIpCisjZGVmaW5lIF9fQVJNX05SX3VzcjI2IChfX0FSTV9OUl9CQVNFICsgMykKKyNkZWZpbmUgX19BUk1fTlJfdXNyMzIgKF9fQVJNX05SX0JBU0UgKyA0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19BUk1fTlJfc2V0X3RscyAoX19BUk1fTlJfQkFTRSArIDUpCiAjdW5kZWYgX19OUl90aW1lCiAjdW5kZWYgX19OUl91bW91bnQKICN1bmRlZiBfX05SX3N0aW1lCi0jdW5kZWYgX19OUl9hbGFybQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyN1bmRlZiBfX05SX2FsYXJtCiAjdW5kZWYgX19OUl91dGltZQogI3VuZGVmIF9fTlJfZ2V0cmxpbWl0CiAjdW5kZWYgX19OUl9zZWxlY3QKLSN1bmRlZiBfX05SX3JlYWRkaXIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjdW5kZWYgX19OUl9yZWFkZGlyCiAjdW5kZWYgX19OUl9tbWFwCiAjdW5kZWYgX19OUl9zb2NrZXRjYWxsCiAjdW5kZWYgX19OUl9zeXNjYWxsCi0jdW5kZWYgX19OUl9pcGMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjdW5kZWYgX19OUl9pcGMKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtNjQvYXNtL2t2bS5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtNjQvYXNtL2t2bS5oCmluZGV4IDkzYWJkNDMuLjg1NWUwODQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9rdm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20va3ZtLmgKQEAgLTI4LDQ1ICsyOCw1MCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX05SX1NQU1IgNQogI2lmbmRlZiBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDxsaW51eC9wc2NpLmg+CiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+Ci0jaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjZGVmaW5lIF9fS1ZNX0hBVkVfR1VFU1RfREVCVUcKICNkZWZpbmUgX19LVk1fSEFWRV9JUlFfTElORQotI2RlZmluZSBLVk1fUkVHX1NJWkUoaWQpICAgKDFVIDw8ICgoKGlkKSAmIEtWTV9SRUdfU0laRV9NQVNLKSA+PiBLVk1fUkVHX1NJWkVfU0hJRlQpKQorI2RlZmluZSBfX0tWTV9IQVZFX1JFQURPTkxZX01FTQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX1JFR19TSVpFKGlkKSAoMVUgPDwgKCgoaWQpICYgS1ZNX1JFR19TSVpFX01BU0spID4+IEtWTV9SRUdfU0laRV9TSElGVCkpCiBzdHJ1Y3Qga3ZtX3JlZ3MgeworICBzdHJ1Y3QgdXNlcl9wdF9yZWdzIHJlZ3M7CisgIF9fdTY0IHNwX2VsMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHVzZXJfcHRfcmVncyByZWdzOwotIF9fdTY0IHNwX2VsMTsKLSBfX3U2NCBlbHJfZWwxOwotIF9fdTY0IHNwc3JbS1ZNX05SX1NQU1JdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdXNlcl9mcHNpbWRfc3RhdGUgZnBfcmVnczsKKyAgX191NjQgZWxyX2VsMTsKKyAgX191NjQgc3BzcltLVk1fTlJfU1BTUl07CisgIHN0cnVjdCB1c2VyX2Zwc2ltZF9zdGF0ZSBmcF9yZWdzOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9BUk1fVEFSR0VUX0FFTV9WOCAwCiAjZGVmaW5lIEtWTV9BUk1fVEFSR0VUX0ZPVU5EQVRJT05fVjggMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9UQVJHRVRfQ09SVEVYX0E1NyAyCiAjZGVmaW5lIEtWTV9BUk1fVEFSR0VUX1hHRU5FX1BPVEVOWkEgMwotI2RlZmluZSBLVk1fQVJNX05VTV9UQVJHRVRTIDQKLSNkZWZpbmUgS1ZNX0FSTV9ERVZJQ0VfVFlQRV9TSElGVCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQVJNX1RBUkdFVF9DT1JURVhfQTUzIDQKKyNkZWZpbmUgS1ZNX0FSTV9OVU1fVEFSR0VUUyA1CisjZGVmaW5lIEtWTV9BUk1fREVWSUNFX1RZUEVfU0hJRlQgMAogI2RlZmluZSBLVk1fQVJNX0RFVklDRV9UWVBFX01BU0sgKDB4ZmZmZiA8PCBLVk1fQVJNX0RFVklDRV9UWVBFX1NISUZUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9ERVZJQ0VfSURfU0hJRlQgMTYKICNkZWZpbmUgS1ZNX0FSTV9ERVZJQ0VfSURfTUFTSyAoMHhmZmZmIDw8IEtWTV9BUk1fREVWSUNFX0lEX1NISUZUKQogI2RlZmluZSBLVk1fQVJNX0RFVklDRV9WR0lDX1YyIDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9WR0lDX1YyX0FERFJfVFlQRV9ESVNUIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9WR0lDX1YyX0FERFJfVFlQRV9DUFUgMQogI2RlZmluZSBLVk1fVkdJQ19WMl9ESVNUX1NJWkUgMHgxMDAwCiAjZGVmaW5lIEtWTV9WR0lDX1YyX0NQVV9TSVpFIDB4MjAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9WQ1BVX1BPV0VSX09GRiAwCi0jZGVmaW5lIEtWTV9BUk1fVkNQVV9FTDFfMzJCSVQgMQotc3RydWN0IGt2bV92Y3B1X2luaXQgewotIF9fdTMyIHRhcmdldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmVhdHVyZXNbN107CisjZGVmaW5lIEtWTV9BUk1fVkNQVV9FTDFfMzJCSVQgMQorI2RlZmluZSBLVk1fQVJNX1ZDUFVfUFNDSV8wXzIgMgorc3RydWN0IGt2bV92Y3B1X2luaXQgeworICBfX3UzMiB0YXJnZXQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBmZWF0dXJlc1s3XTsKIH07CiBzdHJ1Y3Qga3ZtX3NyZWdzIHsKIH07CkBAIC0xMDksOSArMTE0LDkgQEAKICNkZWZpbmUgS1ZNX1JFR19BUk02NF9TWVNSRUdfQ1JNX1NISUZUIDMKICNkZWZpbmUgS1ZNX1JFR19BUk02NF9TWVNSRUdfT1AyX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA3CiAjZGVmaW5lIEtWTV9SRUdfQVJNNjRfU1lTUkVHX09QMl9TSElGVCAwCi0jZGVmaW5lIEFSTTY0X1NZU19SRUdfU0hJRlRfTUFTSyh4LG4pICAgKCgoeCkgPDwgS1ZNX1JFR19BUk02NF9TWVNSRUdfICMjIG4gIyMgX1NISUZUKSAmICAgS1ZNX1JFR19BUk02NF9TWVNSRUdfICMjIG4gIyMgX01BU0spCisjZGVmaW5lIEFSTTY0X1NZU19SRUdfU0hJRlRfTUFTSyh4LG4pICgoKHgpIDw8IEtWTV9SRUdfQVJNNjRfU1lTUkVHXyAjI24gIyNfU0hJRlQpICYgS1ZNX1JFR19BUk02NF9TWVNSRUdfICMjbiAjI19NQVNLKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19BUk02NF9TWVNfUkVHKG9wMCxvcDEsY3JuLGNybSxvcDIpICAgKEtWTV9SRUdfQVJNNjQgfCBLVk1fUkVHX0FSTTY0X1NZU1JFRyB8ICAgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKG9wMCwgT1AwKSB8ICAgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKG9wMSwgT1AxKSB8ICAgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKGNybiwgQ1JOKSB8ICAgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKGNybSwgQ1JNKSB8ICAgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKG9wMiwgT1AyKSkKKyNkZWZpbmUgX19BUk02NF9TWVNfUkVHKG9wMCxvcDEsY3JuLGNybSxvcDIpIChLVk1fUkVHX0FSTTY0IHwgS1ZNX1JFR19BUk02NF9TWVNSRUcgfCBBUk02NF9TWVNfUkVHX1NISUZUX01BU0sob3AwLCBPUDApIHwgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKG9wMSwgT1AxKSB8IEFSTTY0X1NZU19SRUdfU0hJRlRfTUFTSyhjcm4sIENSTikgfCBBUk02NF9TWVNfUkVHX1NISUZUX01BU0soY3JtLCBDUk0pIHwgQVJNNjRfU1lTX1JFR19TSElGVF9NQVNLKG9wMiwgT1AyKSkKICNkZWZpbmUgQVJNNjRfU1lTX1JFRyguLi4pIChfX0FSTTY0X1NZU19SRUcoX19WQV9BUkdTX18pIHwgS1ZNX1JFR19TSVpFX1U2NCkKICNkZWZpbmUgS1ZNX1JFR19BUk1fVElNRVJfQ1RMIEFSTTY0X1NZU19SRUcoMywgMywgMTQsIDMsIDEpCiAjZGVmaW5lIEtWTV9SRUdfQVJNX1RJTUVSX0NOVCBBUk02NF9TWVNfUkVHKDMsIDMsIDE0LCAzLCAyKQpAQCAtMTI2LDMzICsxMzEsMzQgQEAKICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19PRkZTRVRfU0hJRlQgMAogI2RlZmluZSBLVk1fREVWX0FSTV9WR0lDX09GRlNFVF9NQVNLICgweGZmZmZmZmZmVUxMIDw8IEtWTV9ERVZfQVJNX1ZHSUNfT0ZGU0VUX1NISUZUKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTlJfSVJRUyAzCiAjZGVmaW5lIEtWTV9BUk1fSVJRX1RZUEVfU0hJRlQgMjQKICNkZWZpbmUgS1ZNX0FSTV9JUlFfVFlQRV9NQVNLIDB4ZmYKICNkZWZpbmUgS1ZNX0FSTV9JUlFfVkNQVV9TSElGVCAxNgotI2RlZmluZSBLVk1fQVJNX0lSUV9WQ1BVX01BU0sgMHhmZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0FSTV9JUlFfVkNQVV9NQVNLIDB4ZmYKICNkZWZpbmUgS1ZNX0FSTV9JUlFfTlVNX1NISUZUIDAKICNkZWZpbmUgS1ZNX0FSTV9JUlFfTlVNX01BU0sgMHhmZmZmCiAjZGVmaW5lIEtWTV9BUk1fSVJRX1RZUEVfQ1BVIDAKLSNkZWZpbmUgS1ZNX0FSTV9JUlFfVFlQRV9TUEkgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0FSTV9JUlFfVFlQRV9TUEkgMQogI2RlZmluZSBLVk1fQVJNX0lSUV9UWVBFX1BQSSAyCiAjZGVmaW5lIEtWTV9BUk1fSVJRX0NQVV9JUlEgMAogI2RlZmluZSBLVk1fQVJNX0lSUV9DUFVfRklRIDEKLSNkZWZpbmUgS1ZNX0FSTV9JUlFfR0lDX01BWCAxMjcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9BUk1fSVJRX0dJQ19NQVggMTI3CiAjZGVmaW5lIEtWTV9QU0NJX0ZOX0JBU0UgMHg5NWMxYmE1ZQogI2RlZmluZSBLVk1fUFNDSV9GTihuKSAoS1ZNX1BTQ0lfRk5fQkFTRSArIChuKSkKICNkZWZpbmUgS1ZNX1BTQ0lfRk5fQ1BVX1NVU1BFTkQgS1ZNX1BTQ0lfRk4oMCkKLSNkZWZpbmUgS1ZNX1BTQ0lfRk5fQ1BVX09GRiBLVk1fUFNDSV9GTigxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX1BTQ0lfRk5fQ1BVX09GRiBLVk1fUFNDSV9GTigxKQogI2RlZmluZSBLVk1fUFNDSV9GTl9DUFVfT04gS1ZNX1BTQ0lfRk4oMikKICNkZWZpbmUgS1ZNX1BTQ0lfRk5fTUlHUkFURSBLVk1fUFNDSV9GTigzKQotI2RlZmluZSBLVk1fUFNDSV9SRVRfU1VDQ0VTUyAwCi0jZGVmaW5lIEtWTV9QU0NJX1JFVF9OSSAoKHVuc2lnbmVkIGxvbmcpLTEpCisjZGVmaW5lIEtWTV9QU0NJX1JFVF9TVUNDRVNTIFBTQ0lfUkVUX1NVQ0NFU1MKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtWTV9QU0NJX1JFVF9JTlZBTCAoKHVuc2lnbmVkIGxvbmcpLTIpCi0jZGVmaW5lIEtWTV9QU0NJX1JFVF9ERU5JRUQgKCh1bnNpZ25lZCBsb25nKS0zKQotI2VuZGlmCisjZGVmaW5lIEtWTV9QU0NJX1JFVF9OSSBQU0NJX1JFVF9OT1RfU1VQUE9SVEVECisjZGVmaW5lIEtWTV9QU0NJX1JFVF9JTlZBTCBQU0NJX1JFVF9JTlZBTElEX1BBUkFNUworI2RlZmluZSBLVk1fUFNDSV9SRVRfREVOSUVEIFBTQ0lfUkVUX0RFTklFRAogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vcGVyZl9yZWdzLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vcGVyZl9yZWdzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQxYmM3NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9wZXJmX3JlZ3MuaApAQCAtMCwwICsxLDY2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9BU01fQVJNNjRfUEVSRl9SRUdTX0gKKyNkZWZpbmUgX0FTTV9BUk02NF9QRVJGX1JFR1NfSAorZW51bSBwZXJmX2V2ZW50X2FybV9yZWdzIHsKKyAgUEVSRl9SRUdfQVJNNjRfWDAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9YMSwKKyAgUEVSRl9SRUdfQVJNNjRfWDIsCisgIFBFUkZfUkVHX0FSTTY0X1gzLAorICBQRVJGX1JFR19BUk02NF9YNCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFBFUkZfUkVHX0FSTTY0X1g1LAorICBQRVJGX1JFR19BUk02NF9YNiwKKyAgUEVSRl9SRUdfQVJNNjRfWDcsCisgIFBFUkZfUkVHX0FSTTY0X1g4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgUEVSRl9SRUdfQVJNNjRfWDksCisgIFBFUkZfUkVHX0FSTTY0X1gxMCwKKyAgUEVSRl9SRUdfQVJNNjRfWDExLAorICBQRVJGX1JFR19BUk02NF9YMTIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9YMTMsCisgIFBFUkZfUkVHX0FSTTY0X1gxNCwKKyAgUEVSRl9SRUdfQVJNNjRfWDE1LAorICBQRVJGX1JFR19BUk02NF9YMTYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9YMTcsCisgIFBFUkZfUkVHX0FSTTY0X1gxOCwKKyAgUEVSRl9SRUdfQVJNNjRfWDE5LAorICBQRVJGX1JFR19BUk02NF9YMjAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9YMjEsCisgIFBFUkZfUkVHX0FSTTY0X1gyMiwKKyAgUEVSRl9SRUdfQVJNNjRfWDIzLAorICBQRVJGX1JFR19BUk02NF9YMjQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9YMjUsCisgIFBFUkZfUkVHX0FSTTY0X1gyNiwKKyAgUEVSRl9SRUdfQVJNNjRfWDI3LAorICBQRVJGX1JFR19BUk02NF9YMjgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9YMjksCisgIFBFUkZfUkVHX0FSTTY0X0xSLAorICBQRVJGX1JFR19BUk02NF9TUCwKKyAgUEVSRl9SRUdfQVJNNjRfUEMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQRVJGX1JFR19BUk02NF9NQVgsCit9OworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vcG9zaXhfdHlwZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9wb3NpeF90eXBlcy5oCmluZGV4IDFiODkyNTMuLjYyODliYmUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9wb3NpeF90eXBlcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9wb3NpeF90eXBlcy5oCkBAIC0xNiw0ICsxNiwxMSBAQAogICoqKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfX0FTTV9QT1NJWF9UWVBFU19ICisjZGVmaW5lIF9fQVNNX1BPU0lYX1RZUEVTX0gKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgX19rZXJuZWxfb2xkX3VpZF90OwordHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBfX2tlcm5lbF9vbGRfZ2lkX3Q7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX2tlcm5lbF9vbGRfdWlkX3QgX19rZXJuZWxfb2xkX3VpZF90CiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvcG9zaXhfdHlwZXMuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtNjQvYXNtL3B0cmFjZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtNjQvYXNtL3B0cmFjZS5oCmluZGV4IDU2NTBlMmQuLmVjNTMxZjkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9wdHJhY2UuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vcHRyYWNlLmgKQEAgLTUxLDI4ICs1MSwyOCBAQAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIHN0cnVjdCB1c2VyX3B0X3JlZ3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZWdzWzMxXTsKLSBfX3U2NCBzcDsKLSBfX3U2NCBwYzsKLSBfX3U2NCBwc3RhdGU7CisgIF9fdTY0IHJlZ3NbMzFdOworICBfX3U2NCBzcDsKKyAgX191NjQgcGM7CisgIF9fdTY0IHBzdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHVzZXJfZnBzaW1kX3N0YXRlIHsKLSBfX3VpbnQxMjhfdCB2cmVnc1szMl07Ci0gX191MzIgZnBzcjsKKyAgX191aW50MTI4X3QgdnJlZ3NbMzJdOworICBfX3UzMiBmcHNyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmcGNyOworICBfX3UzMiBmcGNyOwogfTsKIHN0cnVjdCB1c2VyX2h3ZGVidWdfc3RhdGUgewotIF9fdTMyIGRiZ19pbmZvOworICBfX3UzMiBkYmdfaW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGFkOwotIHN0cnVjdCB7Ci0gX191NjQgYWRkcjsKLSBfX3UzMiBjdHJsOworICBfX3UzMiBwYWQ7CisgIHN0cnVjdCB7CisgICAgX191NjQgYWRkcjsKKyAgICBfX3UzMiBjdHJsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYWQ7Ci0gfSBkYmdfcmVnc1sxNl07CisgICAgX191MzIgcGFkOworICB9IGRiZ19yZWdzWzE2XTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vc2lnY29udGV4dC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtNjQvYXNtL3NpZ2NvbnRleHQuaAppbmRleCBjNTlmOWMwLi4zOTNkZmQ0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vc2lnY29udGV4dC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9zaWdjb250ZXh0LmgKQEAgLTIxLDI2ICsyMSwzMyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3Qgc2lnY29udGV4dCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGZhdWx0X2FkZHJlc3M7Ci0gX191NjQgcmVnc1szMV07Ci0gX191NjQgc3A7Ci0gX191NjQgcGM7CisgIF9fdTY0IGZhdWx0X2FkZHJlc3M7CisgIF9fdTY0IHJlZ3NbMzFdOworICBfX3U2NCBzcDsKKyAgX191NjQgcGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHBzdGF0ZTsKLSBfX3U4IF9fcmVzZXJ2ZWRbNDA5Nl0gX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMTYpKSk7CisgIF9fdTY0IHBzdGF0ZTsKKyAgX191OCBfX3Jlc2VydmVkWzQwOTZdIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDE2KSkpOwogfTsKIHN0cnVjdCBfYWFyY2g2NF9jdHggewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYWdpYzsKLSBfX3UzMiBzaXplOworICBfX3UzMiBtYWdpYzsKKyAgX191MzIgc2l6ZTsKIH07CiAjZGVmaW5lIEZQU0lNRF9NQUdJQyAweDQ2NTA4MDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZwc2ltZF9jb250ZXh0IHsKLSBzdHJ1Y3QgX2FhcmNoNjRfY3R4IGhlYWQ7Ci0gX191MzIgZnBzcjsKLSBfX3UzMiBmcGNyOworICBzdHJ1Y3QgX2FhcmNoNjRfY3R4IGhlYWQ7CisgIF9fdTMyIGZwc3I7CisgIF9fdTMyIGZwY3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdWludDEyOF90IHZyZWdzWzMyXTsKKyAgX191aW50MTI4X3QgdnJlZ3NbMzJdOworfTsKKyNkZWZpbmUgRVNSX01BR0lDIDB4NDU1MzUyMDEKK3N0cnVjdCBlc3JfY29udGV4dCB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgX2FhcmNoNjRfY3R4IGhlYWQ7CisgIF9fdTY0IGVzcjsKIH07CiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vc3RhdGZzLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1hcm02NC9hc20vc3RhdGZzLmgKaW5kZXggOGYzODQxMi4uMzQ2OWI4YSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tYXJtNjQvYXNtL3N0YXRmcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWFybTY0L2FzbS9zdGF0ZnMuaApAQCAtMTgsNyArMTgsNyBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fQVNNX1NUQVRGU19ICiAjZGVmaW5lIF9fQVNNX1NUQVRGU19ICi0jZGVmaW5lIEFSQ0hfUEFDS19DT01QQVRfU1RBVEZTNjQgX19hdHRyaWJ1dGVfXygocGFja2VkLGFsaWduZWQoNCkpKQorI2RlZmluZSBBUkNIX1BBQ0tfQ09NUEFUX1NUQVRGUzY0IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvc3RhdGZzLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL2ZjbnRsLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL2ZjbnRsLmgKaW5kZXggYTE1ODc4Zi4uOTc1M2NmMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9mY250bC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvZmNudGwuaApAQCAtNzksNyArNzksNyBAQAogI2VuZGlmCiAjaWZuZGVmIE9fU1lOQwogI2RlZmluZSBfX09fU1lOQyAwNDAwMDAwMAotI2RlZmluZSBPX1NZTkMgKF9fT19TWU5DfE9fRFNZTkMpCisjZGVmaW5lIE9fU1lOQyAoX19PX1NZTkMgfCBPX0RTWU5DKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgogI2lmbmRlZiBPX1BBVEgKQEAgLTEzNiw3MSArMTM2LDczIEBACiAjZGVmaW5lIEZfR0VUT1dORVJfVUlEUyAxNwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGX09GRF9HRVRMSyAzNgorI2RlZmluZSBGX09GRF9TRVRMSyAzNworI2RlZmluZSBGX09GRF9TRVRMS1cgMzgKICNkZWZpbmUgRl9PV05FUl9USUQgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRl9PV05FUl9QSUQgMQogI2RlZmluZSBGX09XTkVSX1BHUlAgMgogc3RydWN0IGZfb3duZXJfZXggeworICBpbnQgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHR5cGU7Ci0gX19rZXJuZWxfcGlkX3QgcGlkOworICBfX2tlcm5lbF9waWRfdCBwaWQ7CiB9OwogI2RlZmluZSBGRF9DTE9FWEVDIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZuZGVmIEZfUkRMQ0sKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZfUkRMQ0sgMAogI2RlZmluZSBGX1dSTENLIDEKICNkZWZpbmUgRl9VTkxDSyAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmbmRlZiBGX0VYTENLCiAjZGVmaW5lIEZfRVhMQ0sgNAogI2RlZmluZSBGX1NITENLIDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExPQ0tfU0ggMQogI2RlZmluZSBMT0NLX0VYIDIKICNkZWZpbmUgTE9DS19OQiA0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMT0NLX1VOIDgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExPQ0tfTUFORCAzMgogI2RlZmluZSBMT0NLX1JFQUQgNjQKICNkZWZpbmUgTE9DS19XUklURSAxMjgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExPQ0tfUlcgMTkyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGX0xJTlVYX1NQRUNJRklDX0JBU0UgMTAyNAogI2lmbmRlZiBIQVZFX0FSQ0hfU1RSVUNUX0ZMT0NLCiAjaWZuZGVmIF9fQVJDSF9GTE9DS19QQUQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fQVJDSF9GTE9DS19QQUQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKIHN0cnVjdCBmbG9jayB7Ci0gc2hvcnQgbF90eXBlOworICBzaG9ydCBsX3R5cGU7CisgIHNob3J0IGxfd2hlbmNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaG9ydCBsX3doZW5jZTsKLSBfX2tlcm5lbF9vZmZfdCBsX3N0YXJ0OwotIF9fa2VybmVsX29mZl90IGxfbGVuOwotIF9fa2VybmVsX3BpZF90IGxfcGlkOworICBfX2tlcm5lbF9vZmZfdCBsX3N0YXJ0OworICBfX2tlcm5lbF9vZmZfdCBsX2xlbjsKKyAgX19rZXJuZWxfcGlkX3QgbF9waWQ7CisgIF9fQVJDSF9GTE9DS19QQUQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19BUkNIX0ZMT0NLX1BBRAogfTsKICNlbmRpZgotI2lmbmRlZiBfX0xQNjRfXwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZm5kZWYgSEFWRV9BUkNIX1NUUlVDVF9GTE9DSzY0CiAjaWZuZGVmIF9fQVJDSF9GTE9DSzY0X1BBRAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19BUkNIX0ZMT0NLNjRfUEFECiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmxvY2s2NCB7Ci0gc2hvcnQgbF90eXBlOwotIHNob3J0IGxfd2hlbmNlOwotIF9fa2VybmVsX2xvZmZfdCBsX3N0YXJ0OworICBzaG9ydCBsX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX2xvZmZfdCBsX2xlbjsKLSBfX2tlcm5lbF9waWRfdCBsX3BpZDsKLSBfX0FSQ0hfRkxPQ0s2NF9QQUQKKyAgc2hvcnQgbF93aGVuY2U7CisgIF9fa2VybmVsX2xvZmZfdCBsX3N0YXJ0OworICBfX2tlcm5lbF9sb2ZmX3QgbF9sZW47CisgIF9fa2VybmVsX3BpZF90IGxfcGlkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19BUkNIX0ZMT0NLNjRfUEFECiB9OworI2VuZGlmCisjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZW5kaWYKLSNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL2lvY3RsLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL2lvY3RsLmgKaW5kZXggNzllYzgzYy4uNDY4YzMwMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9pb2N0bC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvaW9jdGwuaApAQCAtMjgsMTYgKzI4LDE2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfSU9DX0RJUkJJVFMgMgogI2VuZGlmCi0jZGVmaW5lIF9JT0NfTlJNQVNLICgoMSA8PCBfSU9DX05SQklUUyktMSkKLSNkZWZpbmUgX0lPQ19UWVBFTUFTSyAoKDEgPDwgX0lPQ19UWVBFQklUUyktMSkKKyNkZWZpbmUgX0lPQ19OUk1BU0sgKCgxIDw8IF9JT0NfTlJCSVRTKSAtIDEpCisjZGVmaW5lIF9JT0NfVFlQRU1BU0sgKCgxIDw8IF9JT0NfVFlQRUJJVFMpIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9JT0NfU0laRU1BU0sgKCgxIDw8IF9JT0NfU0laRUJJVFMpLTEpCi0jZGVmaW5lIF9JT0NfRElSTUFTSyAoKDEgPDwgX0lPQ19ESVJCSVRTKS0xKQorI2RlZmluZSBfSU9DX1NJWkVNQVNLICgoMSA8PCBfSU9DX1NJWkVCSVRTKSAtIDEpCisjZGVmaW5lIF9JT0NfRElSTUFTSyAoKDEgPDwgX0lPQ19ESVJCSVRTKSAtIDEpCiAjZGVmaW5lIF9JT0NfTlJTSElGVCAwCi0jZGVmaW5lIF9JT0NfVFlQRVNISUZUIChfSU9DX05SU0hJRlQrX0lPQ19OUkJJVFMpCisjZGVmaW5lIF9JT0NfVFlQRVNISUZUIChfSU9DX05SU0hJRlQgKyBfSU9DX05SQklUUykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9JT0NfU0laRVNISUZUIChfSU9DX1RZUEVTSElGVCtfSU9DX1RZUEVCSVRTKQotI2RlZmluZSBfSU9DX0RJUlNISUZUIChfSU9DX1NJWkVTSElGVCtfSU9DX1NJWkVCSVRTKQorI2RlZmluZSBfSU9DX1NJWkVTSElGVCAoX0lPQ19UWVBFU0hJRlQgKyBfSU9DX1RZUEVCSVRTKQorI2RlZmluZSBfSU9DX0RJUlNISUZUIChfSU9DX1NJWkVTSElGVCArIF9JT0NfU0laRUJJVFMpCiAjaWZuZGVmIF9JT0NfTk9ORQogI2RlZmluZSBfSU9DX05PTkUgMFUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC00OSwxNyArNDksMTcgQEAKICNpZm5kZWYgX0lPQ19SRUFECiAjZGVmaW5lIF9JT0NfUkVBRCAyVQogI2VuZGlmCi0jZGVmaW5lIF9JT0MoZGlyLHR5cGUsbnIsc2l6ZSkgICAoKChkaXIpIDw8IF9JT0NfRElSU0hJRlQpIHwgICAoKHR5cGUpIDw8IF9JT0NfVFlQRVNISUZUKSB8ICAgKChucikgPDwgX0lPQ19OUlNISUZUKSB8ICAgKChzaXplKSA8PCBfSU9DX1NJWkVTSElGVCkpCisjZGVmaW5lIF9JT0MoZGlyLHR5cGUsbnIsc2l6ZSkgKCgoZGlyKSA8PCBfSU9DX0RJUlNISUZUKSB8ICgodHlwZSkgPDwgX0lPQ19UWVBFU0hJRlQpIHwgKChucikgPDwgX0lPQ19OUlNISUZUKSB8ICgoc2l6ZSkgPDwgX0lPQ19TSVpFU0hJRlQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX0lPQ19UWVBFQ0hFQ0sodCkgKHNpemVvZih0KSkKLSNkZWZpbmUgX0lPKHR5cGUsbnIpIF9JT0MoX0lPQ19OT05FLCh0eXBlKSwobnIpLDApCi0jZGVmaW5lIF9JT1IodHlwZSxucixzaXplKSBfSU9DKF9JT0NfUkVBRCwodHlwZSksKG5yKSwoX0lPQ19UWVBFQ0hFQ0soc2l6ZSkpKQotI2RlZmluZSBfSU9XKHR5cGUsbnIsc2l6ZSkgX0lPQyhfSU9DX1dSSVRFLCh0eXBlKSwobnIpLChfSU9DX1RZUEVDSEVDSyhzaXplKSkpCisjZGVmaW5lIF9JTyh0eXBlLG5yKSBfSU9DKF9JT0NfTk9ORSwgKHR5cGUpLCAobnIpLCAwKQorI2RlZmluZSBfSU9SKHR5cGUsbnIsc2l6ZSkgX0lPQyhfSU9DX1JFQUQsICh0eXBlKSwgKG5yKSwgKF9JT0NfVFlQRUNIRUNLKHNpemUpKSkKKyNkZWZpbmUgX0lPVyh0eXBlLG5yLHNpemUpIF9JT0MoX0lPQ19XUklURSwgKHR5cGUpLCAobnIpLCAoX0lPQ19UWVBFQ0hFQ0soc2l6ZSkpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX0lPV1IodHlwZSxucixzaXplKSBfSU9DKF9JT0NfUkVBRHxfSU9DX1dSSVRFLCh0eXBlKSwobnIpLChfSU9DX1RZUEVDSEVDSyhzaXplKSkpCi0jZGVmaW5lIF9JT1JfQkFEKHR5cGUsbnIsc2l6ZSkgX0lPQyhfSU9DX1JFQUQsKHR5cGUpLChuciksc2l6ZW9mKHNpemUpKQotI2RlZmluZSBfSU9XX0JBRCh0eXBlLG5yLHNpemUpIF9JT0MoX0lPQ19XUklURSwodHlwZSksKG5yKSxzaXplb2Yoc2l6ZSkpCi0jZGVmaW5lIF9JT1dSX0JBRCh0eXBlLG5yLHNpemUpIF9JT0MoX0lPQ19SRUFEfF9JT0NfV1JJVEUsKHR5cGUpLChuciksc2l6ZW9mKHNpemUpKQorI2RlZmluZSBfSU9XUih0eXBlLG5yLHNpemUpIF9JT0MoX0lPQ19SRUFEIHwgX0lPQ19XUklURSwgKHR5cGUpLCAobnIpLCAoX0lPQ19UWVBFQ0hFQ0soc2l6ZSkpKQorI2RlZmluZSBfSU9SX0JBRCh0eXBlLG5yLHNpemUpIF9JT0MoX0lPQ19SRUFELCAodHlwZSksIChuciksIHNpemVvZihzaXplKSkKKyNkZWZpbmUgX0lPV19CQUQodHlwZSxucixzaXplKSBfSU9DKF9JT0NfV1JJVEUsICh0eXBlKSwgKG5yKSwgc2l6ZW9mKHNpemUpKQorI2RlZmluZSBfSU9XUl9CQUQodHlwZSxucixzaXplKSBfSU9DKF9JT0NfUkVBRCB8IF9JT0NfV1JJVEUsICh0eXBlKSwgKG5yKSwgc2l6ZW9mKHNpemUpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX0lPQ19ESVIobnIpICgoKG5yKSA+PiBfSU9DX0RJUlNISUZUKSAmIF9JT0NfRElSTUFTSykKICNkZWZpbmUgX0lPQ19UWVBFKG5yKSAoKChucikgPj4gX0lPQ19UWVBFU0hJRlQpICYgX0lPQ19UWVBFTUFTSykKQEAgLTY4LDcgKzY4LDcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElPQ19JTiAoX0lPQ19XUklURSA8PCBfSU9DX0RJUlNISUZUKQogI2RlZmluZSBJT0NfT1VUIChfSU9DX1JFQUQgPDwgX0lPQ19ESVJTSElGVCkKLSNkZWZpbmUgSU9DX0lOT1VUICgoX0lPQ19XUklURXxfSU9DX1JFQUQpIDw8IF9JT0NfRElSU0hJRlQpCisjZGVmaW5lIElPQ19JTk9VVCAoKF9JT0NfV1JJVEUgfCBfSU9DX1JFQUQpIDw8IF9JT0NfRElSU0hJRlQpCiAjZGVmaW5lIElPQ1NJWkVfTUFTSyAoX0lPQ19TSVpFTUFTSyA8PCBfSU9DX1NJWkVTSElGVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElPQ1NJWkVfU0hJRlQgKF9JT0NfU0laRVNISUZUKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9pcGNidWYuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvaXBjYnVmLmgKaW5kZXggY2M3Mjc0ZS4uYjE2ZjcyOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9pcGNidWYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL2lwY2J1Zi5oCkBAIC0xOSwyMCArMTksMjAgQEAKICNpZm5kZWYgX19BU01fR0VORVJJQ19JUENCVUZfSAogI2RlZmluZSBfX0FTTV9HRU5FUklDX0lQQ0JVRl9ICiBzdHJ1Y3QgaXBjNjRfcGVybSB7Ci0gX19rZXJuZWxfa2V5X3Qga2V5OworICBfX2tlcm5lbF9rZXlfdCBrZXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3VpZDMyX3QgdWlkOwotIF9fa2VybmVsX2dpZDMyX3QgZ2lkOwotIF9fa2VybmVsX3VpZDMyX3QgY3VpZDsKLSBfX2tlcm5lbF9naWQzMl90IGNnaWQ7CisgIF9fa2VybmVsX3VpZDMyX3QgdWlkOworICBfX2tlcm5lbF9naWQzMl90IGdpZDsKKyAgX19rZXJuZWxfdWlkMzJfdCBjdWlkOworICBfX2tlcm5lbF9naWQzMl90IGNnaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX21vZGVfdCBtb2RlOwotIHVuc2lnbmVkIGNoYXIgX19wYWQxWzQgLSBzaXplb2YoX19rZXJuZWxfbW9kZV90KV07Ci0gdW5zaWduZWQgc2hvcnQgc2VxOwotIHVuc2lnbmVkIHNob3J0IF9fcGFkMjsKKyAgX19rZXJuZWxfbW9kZV90IG1vZGU7CisgIHVuc2lnbmVkIGNoYXIgX19wYWQxWzQgLSBzaXplb2YoX19rZXJuZWxfbW9kZV90KV07CisgIHVuc2lnbmVkIHNob3J0IHNlcTsKKyAgdW5zaWduZWQgc2hvcnQgX19wYWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkMTsKLSBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkMjsKKyAgX19rZXJuZWxfdWxvbmdfdCBfX3VudXNlZDE7CisgIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQyOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvbXNnYnVmLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL21zZ2J1Zi5oCmluZGV4IGIyNTAwZWYuLjg2NzY3MmUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvbXNnYnVmLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9tc2didWYuaApAQCAtMjEsMzAgKzIxLDMwIEBACiAjaW5jbHVkZSA8YXNtL2JpdHNwZXJsb25nLmg+CiBzdHJ1Y3QgbXNxaWQ2NF9kcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpcGM2NF9wZXJtIG1zZ19wZXJtOwotIF9fa2VybmVsX3RpbWVfdCBtc2dfc3RpbWU7CisgIHN0cnVjdCBpcGM2NF9wZXJtIG1zZ19wZXJtOworICBfX2tlcm5lbF90aW1lX3QgbXNnX3N0aW1lOwogI2lmIF9fQklUU19QRVJfTE9ORyAhPSA2NAotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQxOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSBfX2tlcm5lbF90aW1lX3QgbXNnX3J0aW1lOworICBfX2tlcm5lbF90aW1lX3QgbXNnX3J0aW1lOwogI2lmIF9fQklUU19QRVJfTE9ORyAhPSA2NAotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQyOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSBfX2tlcm5lbF90aW1lX3QgbXNnX2N0aW1lOworICBfX2tlcm5lbF90aW1lX3QgbXNnX2N0aW1lOwogI2lmIF9fQklUU19QRVJfTE9ORyAhPSA2NAotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQzOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkMzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSBfX2tlcm5lbF91bG9uZ190IG1zZ19jYnl0ZXM7Ci0gX19rZXJuZWxfdWxvbmdfdCBtc2dfcW51bTsKLSBfX2tlcm5lbF91bG9uZ190IG1zZ19xYnl0ZXM7CisgIF9fa2VybmVsX3Vsb25nX3QgbXNnX2NieXRlczsKKyAgX19rZXJuZWxfdWxvbmdfdCBtc2dfcW51bTsKKyAgX19rZXJuZWxfdWxvbmdfdCBtc2dfcWJ5dGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9waWRfdCBtc2dfbHNwaWQ7Ci0gX19rZXJuZWxfcGlkX3QgbXNnX2xycGlkOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ0OwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ1OworICBfX2tlcm5lbF9waWRfdCBtc2dfbHNwaWQ7CisgIF9fa2VybmVsX3BpZF90IG1zZ19scnBpZDsKKyAgX19rZXJuZWxfdWxvbmdfdCBfX3VudXNlZDQ7CisgIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcGFyYW0uaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcGFyYW0uaAppbmRleCA0MTZjNGZiLi42YmRlMTU0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3BhcmFtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9wYXJhbS5oCkBAIC0yNyw3ICsyNyw4IEBACiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZuZGVmIE5PR1JPVVAKLSNkZWZpbmUgTk9HUk9VUCAoLTEpCisjZGVmaW5lIE5PR1JPVVAgKC0gMSkKICNlbmRpZgotI2VuZGlmCisjZGVmaW5lIE1BWEhPU1ROQU1FTEVOIDY0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3BvbGwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcG9sbC5oCmluZGV4IDdmYWEwYjguLjQxMzdhYmIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcG9sbC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcG9sbC5oCkBAIC01MSw5ICs1MSw5IEBACiAjZGVmaW5lIFBPTExfQlVTWV9MT09QIDB4ODAwMAogc3RydWN0IHBvbGxmZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBmZDsKLSBzaG9ydCBldmVudHM7Ci0gc2hvcnQgcmV2ZW50czsKKyAgaW50IGZkOworICBzaG9ydCBldmVudHM7CisgIHNob3J0IHJldmVudHM7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9wb3NpeF90eXBlcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9wb3NpeF90eXBlcy5oCmluZGV4IDE1MTlhZmYuLmFhNjg0MTIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcG9zaXhfdHlwZXMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Bvc2l4X3R5cGVzLmgKQEAgLTgyLDcgKzgyLDcgQEAKICNpZm5kZWYgX19rZXJuZWxfZnNpZF90CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIGludCB2YWxbMl07CisgIGludCB2YWxbMl07CiB9IF9fa2VybmVsX2ZzaWRfdDsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcmVzb3VyY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvcmVzb3VyY2UuaAppbmRleCAyNDM4MTdhLi5hMmJiMTdmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Jlc291cmNlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9yZXNvdXJjZS5oCkBAIC01Niw4ICs1Niw0IEBACiAjZGVmaW5lIFJMSU1fSU5GSU5JVFkgKH4wVUwpCiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jaWZuZGVmIF9TVEtfTElNX01BWAotI2RlZmluZSBfU1RLX0xJTV9NQVggUkxJTV9JTkZJTklUWQogI2VuZGlmCi0jZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3NlbWJ1Zi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zZW1idWYuaAppbmRleCBiY2YxNzAyLi4xY2M0ZTMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3NlbWJ1Zi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2VtYnVmLmgKQEAgLTIxLDIwICsyMSwyMCBAQAogI2luY2x1ZGUgPGFzbS9iaXRzcGVybG9uZy5oPgogc3RydWN0IHNlbWlkNjRfZHMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaXBjNjRfcGVybSBzZW1fcGVybTsKLSBfX2tlcm5lbF90aW1lX3Qgc2VtX290aW1lOworICBzdHJ1Y3QgaXBjNjRfcGVybSBzZW1fcGVybTsKKyAgX19rZXJuZWxfdGltZV90IHNlbV9vdGltZTsKICNpZiBfX0JJVFNfUEVSX0xPTkcgIT0gNjQKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMTsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCi0gX19rZXJuZWxfdGltZV90IHNlbV9jdGltZTsKKyAgX19rZXJuZWxfdGltZV90IHNlbV9jdGltZTsKICNpZiBfX0JJVFNfUEVSX0xPTkcgIT0gNjQKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMjsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCi0gdW5zaWduZWQgbG9uZyBzZW1fbnNlbXM7Ci0gdW5zaWduZWQgbG9uZyBfX3VudXNlZDM7Ci0gdW5zaWduZWQgbG9uZyBfX3VudXNlZDQ7CisgIHVuc2lnbmVkIGxvbmcgc2VtX25zZW1zOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkMzsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zaG1idWYuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2htYnVmLmgKaW5kZXggNjhiODU5ZC4uNmViOGI2YSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zaG1idWYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3NobWJ1Zi5oCkBAIC0yMSw0MyArMjEsNDMgQEAKICNpbmNsdWRlIDxhc20vYml0c3BlcmxvbmcuaD4KIHN0cnVjdCBzaG1pZDY0X2RzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGlwYzY0X3Blcm0gc2htX3Blcm07Ci0gc2l6ZV90IHNobV9zZWdzejsKLSBfX2tlcm5lbF90aW1lX3Qgc2htX2F0aW1lOworICBzdHJ1Y3QgaXBjNjRfcGVybSBzaG1fcGVybTsKKyAgc2l6ZV90IHNobV9zZWdzejsKKyAgX19rZXJuZWxfdGltZV90IHNobV9hdGltZTsKICNpZiBfX0JJVFNfUEVSX0xPTkcgIT0gNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBfX3VudXNlZDE7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQxOwogI2VuZGlmCi0gX19rZXJuZWxfdGltZV90IHNobV9kdGltZTsKKyAgX19rZXJuZWxfdGltZV90IHNobV9kdGltZTsKICNpZiBfX0JJVFNfUEVSX0xPTkcgIT0gNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBfX3VudXNlZDI7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQyOwogI2VuZGlmCi0gX19rZXJuZWxfdGltZV90IHNobV9jdGltZTsKKyAgX19rZXJuZWxfdGltZV90IHNobV9jdGltZTsKICNpZiBfX0JJVFNfUEVSX0xPTkcgIT0gNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBfX3VudXNlZDM7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQzOwogI2VuZGlmCi0gX19rZXJuZWxfcGlkX3Qgc2htX2NwaWQ7Ci0gX19rZXJuZWxfcGlkX3Qgc2htX2xwaWQ7CisgIF9fa2VybmVsX3BpZF90IHNobV9jcGlkOworICBfX2tlcm5lbF9waWRfdCBzaG1fbHBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdWxvbmdfdCBzaG1fbmF0dGNoOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ0OwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ1OworICBfX2tlcm5lbF91bG9uZ190IHNobV9uYXR0Y2g7CisgIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ0OworICBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkNTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNobWluZm82NCB7Ci0gX19rZXJuZWxfdWxvbmdfdCBzaG1tYXg7Ci0gX19rZXJuZWxfdWxvbmdfdCBzaG1taW47Ci0gX19rZXJuZWxfdWxvbmdfdCBzaG1tbmk7CisgIF9fa2VybmVsX3Vsb25nX3Qgc2htbWF4OworICBfX2tlcm5lbF91bG9uZ190IHNobW1pbjsKKyAgX19rZXJuZWxfdWxvbmdfdCBzaG1tbmk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3Vsb25nX3Qgc2htc2VnOwotIF9fa2VybmVsX3Vsb25nX3Qgc2htYWxsOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQxOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQyOworICBfX2tlcm5lbF91bG9uZ190IHNobXNlZzsKKyAgX19rZXJuZWxfdWxvbmdfdCBzaG1hbGw7CisgIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQxOworICBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdWxvbmdfdCBfX3VudXNlZDM7Ci0gX19rZXJuZWxfdWxvbmdfdCBfX3VudXNlZDQ7CisgIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQzOworICBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkNDsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3NpZ2luZm8uaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2lnaW5mby5oCmluZGV4IDQyNzcwZWUuLjIwODNmYTEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2lnaW5mby5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2lnaW5mby5oCkBAIC0yMiw4ICsyMiw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHVuaW9uIHNpZ3ZhbCB7Ci0gaW50IHNpdmFsX2ludDsKLSB2b2lkIF9fdXNlciAqc2l2YWxfcHRyOworICBpbnQgc2l2YWxfaW50OworICB2b2lkIF9fdXNlciAqIHNpdmFsX3B0cjsKIH0gc2lndmFsX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmbmRlZiBfX0FSQ0hfU0lfUFJFQU1CTEVfU0laRQpAQCAtNTIsNjIgKzUyLDYyIEBACiAjaWZuZGVmIEhBVkVfQVJDSF9TSUdJTkZPX1QKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBzaWdpbmZvIHsKLSBpbnQgc2lfc2lnbm87Ci0gaW50IHNpX2Vycm5vOwotIGludCBzaV9jb2RlOworICBpbnQgc2lfc2lnbm87CisgIGludCBzaV9lcnJubzsKKyAgaW50IHNpX2NvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBpbnQgX3BhZFtTSV9QQURfU0laRV07Ci0gc3RydWN0IHsKLSBfX2tlcm5lbF9waWRfdCBfcGlkOworICB1bmlvbiB7CisgICAgaW50IF9wYWRbU0lfUEFEX1NJWkVdOworICAgIHN0cnVjdCB7CisgICAgICBfX2tlcm5lbF9waWRfdCBfcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0FSQ0hfU0lfVUlEX1QgX3VpZDsKLSB9IF9raWxsOwotIHN0cnVjdCB7Ci0gX19rZXJuZWxfdGltZXJfdCBfdGlkOworICAgICAgX19BUkNIX1NJX1VJRF9UIF91aWQ7CisgICAgfSBfa2lsbDsKKyAgICBzdHJ1Y3QgeworICAgICAgX19rZXJuZWxfdGltZXJfdCBfdGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgX292ZXJydW47Ci0gY2hhciBfcGFkW3NpemVvZiggX19BUkNIX1NJX1VJRF9UKSAtIHNpemVvZihpbnQpXTsKLSBzaWd2YWxfdCBfc2lndmFsOwotIGludCBfc3lzX3ByaXZhdGU7CisgICAgICBpbnQgX292ZXJydW47CisgICAgICBjaGFyIF9wYWRbc2l6ZW9mKF9fQVJDSF9TSV9VSURfVCkgLSBzaXplb2YoaW50KV07CisgICAgICBzaWd2YWxfdCBfc2lndmFsOworICAgICAgaW50IF9zeXNfcHJpdmF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBfdGltZXI7Ci0gc3RydWN0IHsKLSBfX2tlcm5lbF9waWRfdCBfcGlkOwotIF9fQVJDSF9TSV9VSURfVCBfdWlkOworICAgIH0gX3RpbWVyOworICAgIHN0cnVjdCB7CisgICAgICBfX2tlcm5lbF9waWRfdCBfcGlkOworICAgICAgX19BUkNIX1NJX1VJRF9UIF91aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpZ3ZhbF90IF9zaWd2YWw7Ci0gfSBfcnQ7Ci0gc3RydWN0IHsKLSBfX2tlcm5lbF9waWRfdCBfcGlkOworICAgICAgc2lndmFsX3QgX3NpZ3ZhbDsKKyAgICB9IF9ydDsKKyAgICBzdHJ1Y3QgeworICAgICAgX19rZXJuZWxfcGlkX3QgX3BpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19BUkNIX1NJX1VJRF9UIF91aWQ7Ci0gaW50IF9zdGF0dXM7Ci0gX19BUkNIX1NJX0NMT0NLX1QgX3V0aW1lOwotIF9fQVJDSF9TSV9DTE9DS19UIF9zdGltZTsKKyAgICAgIF9fQVJDSF9TSV9VSURfVCBfdWlkOworICAgICAgaW50IF9zdGF0dXM7CisgICAgICBfX0FSQ0hfU0lfQ0xPQ0tfVCBfdXRpbWU7CisgICAgICBfX0FSQ0hfU0lfQ0xPQ0tfVCBfc3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gX3NpZ2NobGQ7Ci0gc3RydWN0IHsKLSB2b2lkIF9fdXNlciAqX2FkZHI7CisgICAgfSBfc2lnY2hsZDsKKyAgICBzdHJ1Y3QgeworICAgICAgdm9pZCBfX3VzZXIgKiBfYWRkcjsKICNpZmRlZiBfX0FSQ0hfU0lfVFJBUE5PCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBfdHJhcG5vOworICAgICAgaW50IF90cmFwbm87CiAjZW5kaWYKLSBzaG9ydCBfYWRkcl9sc2I7Ci0gfSBfc2lnZmF1bHQ7CisgICAgICBzaG9ydCBfYWRkcl9sc2I7CisgICAgfSBfc2lnZmF1bHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX19BUkNIX1NJX0JBTkRfVCBfYmFuZDsKLSBpbnQgX2ZkOwotIH0gX3NpZ3BvbGw7CisgICAgc3RydWN0IHsKKyAgICAgIF9fQVJDSF9TSV9CQU5EX1QgX2JhbmQ7CisgICAgICBpbnQgX2ZkOworICAgIH0gX3NpZ3BvbGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdm9pZCBfX3VzZXIgKl9jYWxsX2FkZHI7Ci0gaW50IF9zeXNjYWxsOwotIHVuc2lnbmVkIGludCBfYXJjaDsKKyAgICBzdHJ1Y3QgeworICAgICAgdm9pZCBfX3VzZXIgKiBfY2FsbF9hZGRyOworICAgICAgaW50IF9zeXNjYWxsOworICAgICAgdW5zaWduZWQgaW50IF9hcmNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IF9zaWdzeXM7Ci0gfSBfc2lmaWVsZHM7CisgICAgfSBfc2lnc3lzOworICB9IF9zaWZpZWxkczsKIH0gX19BUkNIX1NJX0FUVFJJQlVURVMgc2lnaW5mb190OwogI2RlZmluZSBfX0FSQ0hfU0lHU1lTCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTU0LDc2ICsxNTQsNzYgQEAKICNkZWZpbmUgX19TSV9DT0RFKFQsTikgKE4pCiAjZGVmaW5lIFNJX1VTRVIgMAogI2RlZmluZSBTSV9LRVJORUwgMHg4MAotI2RlZmluZSBTSV9RVUVVRSAtMQorI2RlZmluZSBTSV9RVUVVRSAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNJX1RJTUVSIF9fU0lfQ09ERShfX1NJX1RJTUVSLC0yKQotI2RlZmluZSBTSV9NRVNHUSBfX1NJX0NPREUoX19TSV9NRVNHUSwtMykKLSNkZWZpbmUgU0lfQVNZTkNJTyAtNAotI2RlZmluZSBTSV9TSUdJTyAtNQorI2RlZmluZSBTSV9USU1FUiBfX1NJX0NPREUoX19TSV9USU1FUiwgLSAyKQorI2RlZmluZSBTSV9NRVNHUSBfX1NJX0NPREUoX19TSV9NRVNHUSwgLSAzKQorI2RlZmluZSBTSV9BU1lOQ0lPIC0gNAorI2RlZmluZSBTSV9TSUdJTyAtIDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNJX1RLSUxMIC02Ci0jZGVmaW5lIFNJX0RFVEhSRUFEIC03CisjZGVmaW5lIFNJX1RLSUxMIC0gNgorI2RlZmluZSBTSV9ERVRIUkVBRCAtIDcKICNkZWZpbmUgU0lfRlJPTVVTRVIoc2lwdHIpICgoc2lwdHIpLT5zaV9jb2RlIDw9IDApCiAjZGVmaW5lIFNJX0ZST01LRVJORUwoc2lwdHIpICgoc2lwdHIpLT5zaV9jb2RlID4gMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElMTF9JTExPUEMgKF9fU0lfRkFVTFR8MSkKLSNkZWZpbmUgSUxMX0lMTE9QTiAoX19TSV9GQVVMVHwyKQotI2RlZmluZSBJTExfSUxMQURSIChfX1NJX0ZBVUxUfDMpCi0jZGVmaW5lIElMTF9JTExUUlAgKF9fU0lfRkFVTFR8NCkKKyNkZWZpbmUgSUxMX0lMTE9QQyAoX19TSV9GQVVMVCB8IDEpCisjZGVmaW5lIElMTF9JTExPUE4gKF9fU0lfRkFVTFQgfCAyKQorI2RlZmluZSBJTExfSUxMQURSIChfX1NJX0ZBVUxUIHwgMykKKyNkZWZpbmUgSUxMX0lMTFRSUCAoX19TSV9GQVVMVCB8IDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJTExfUFJWT1BDIChfX1NJX0ZBVUxUfDUpCi0jZGVmaW5lIElMTF9QUlZSRUcgKF9fU0lfRkFVTFR8NikKLSNkZWZpbmUgSUxMX0NPUFJPQyAoX19TSV9GQVVMVHw3KQotI2RlZmluZSBJTExfQkFEU1RLIChfX1NJX0ZBVUxUfDgpCisjZGVmaW5lIElMTF9QUlZPUEMgKF9fU0lfRkFVTFQgfCA1KQorI2RlZmluZSBJTExfUFJWUkVHIChfX1NJX0ZBVUxUIHwgNikKKyNkZWZpbmUgSUxMX0NPUFJPQyAoX19TSV9GQVVMVCB8IDcpCisjZGVmaW5lIElMTF9CQURTVEsgKF9fU0lfRkFVTFQgfCA4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTlNJR0lMTCA4Ci0jZGVmaW5lIEZQRV9JTlRESVYgKF9fU0lfRkFVTFR8MSkKLSNkZWZpbmUgRlBFX0lOVE9WRiAoX19TSV9GQVVMVHwyKQotI2RlZmluZSBGUEVfRkxURElWIChfX1NJX0ZBVUxUfDMpCisjZGVmaW5lIEZQRV9JTlRESVYgKF9fU0lfRkFVTFQgfCAxKQorI2RlZmluZSBGUEVfSU5UT1ZGIChfX1NJX0ZBVUxUIHwgMikKKyNkZWZpbmUgRlBFX0ZMVERJViAoX19TSV9GQVVMVCB8IDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBGUEVfRkxUT1ZGIChfX1NJX0ZBVUxUfDQpCi0jZGVmaW5lIEZQRV9GTFRVTkQgKF9fU0lfRkFVTFR8NSkKLSNkZWZpbmUgRlBFX0ZMVFJFUyAoX19TSV9GQVVMVHw2KQotI2RlZmluZSBGUEVfRkxUSU5WIChfX1NJX0ZBVUxUfDcpCisjZGVmaW5lIEZQRV9GTFRPVkYgKF9fU0lfRkFVTFQgfCA0KQorI2RlZmluZSBGUEVfRkxUVU5EIChfX1NJX0ZBVUxUIHwgNSkKKyNkZWZpbmUgRlBFX0ZMVFJFUyAoX19TSV9GQVVMVCB8IDYpCisjZGVmaW5lIEZQRV9GTFRJTlYgKF9fU0lfRkFVTFQgfCA3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRlBFX0ZMVFNVQiAoX19TSV9GQVVMVHw4KQorI2RlZmluZSBGUEVfRkxUU1VCIChfX1NJX0ZBVUxUIHwgOCkKICNkZWZpbmUgTlNJR0ZQRSA4Ci0jZGVmaW5lIFNFR1ZfTUFQRVJSIChfX1NJX0ZBVUxUfDEpCi0jZGVmaW5lIFNFR1ZfQUNDRVJSIChfX1NJX0ZBVUxUfDIpCisjZGVmaW5lIFNFR1ZfTUFQRVJSIChfX1NJX0ZBVUxUIHwgMSkKKyNkZWZpbmUgU0VHVl9BQ0NFUlIgKF9fU0lfRkFVTFQgfCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTlNJR1NFR1YgMgotI2RlZmluZSBCVVNfQURSQUxOIChfX1NJX0ZBVUxUfDEpCi0jZGVmaW5lIEJVU19BRFJFUlIgKF9fU0lfRkFVTFR8MikKLSNkZWZpbmUgQlVTX09CSkVSUiAoX19TSV9GQVVMVHwzKQorI2RlZmluZSBCVVNfQURSQUxOIChfX1NJX0ZBVUxUIHwgMSkKKyNkZWZpbmUgQlVTX0FEUkVSUiAoX19TSV9GQVVMVCB8IDIpCisjZGVmaW5lIEJVU19PQkpFUlIgKF9fU0lfRkFVTFQgfCAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlVTX01DRUVSUl9BUiAoX19TSV9GQVVMVHw0KQotI2RlZmluZSBCVVNfTUNFRVJSX0FPIChfX1NJX0ZBVUxUfDUpCisjZGVmaW5lIEJVU19NQ0VFUlJfQVIgKF9fU0lfRkFVTFQgfCA0KQorI2RlZmluZSBCVVNfTUNFRVJSX0FPIChfX1NJX0ZBVUxUIHwgNSkKICNkZWZpbmUgTlNJR0JVUyA1Ci0jZGVmaW5lIFRSQVBfQlJLUFQgKF9fU0lfRkFVTFR8MSkKKyNkZWZpbmUgVFJBUF9CUktQVCAoX19TSV9GQVVMVCB8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBUUkFQX1RSQUNFIChfX1NJX0ZBVUxUfDIpCi0jZGVmaW5lIFRSQVBfQlJBTkNIIChfX1NJX0ZBVUxUfDMpCi0jZGVmaW5lIFRSQVBfSFdCS1BUIChfX1NJX0ZBVUxUfDQpCisjZGVmaW5lIFRSQVBfVFJBQ0UgKF9fU0lfRkFVTFQgfCAyKQorI2RlZmluZSBUUkFQX0JSQU5DSCAoX19TSV9GQVVMVCB8IDMpCisjZGVmaW5lIFRSQVBfSFdCS1BUIChfX1NJX0ZBVUxUIHwgNCkKICNkZWZpbmUgTlNJR1RSQVAgNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ0xEX0VYSVRFRCAoX19TSV9DSExEfDEpCi0jZGVmaW5lIENMRF9LSUxMRUQgKF9fU0lfQ0hMRHwyKQotI2RlZmluZSBDTERfRFVNUEVEIChfX1NJX0NITER8MykKLSNkZWZpbmUgQ0xEX1RSQVBQRUQgKF9fU0lfQ0hMRHw0KQorI2RlZmluZSBDTERfRVhJVEVEIChfX1NJX0NITEQgfCAxKQorI2RlZmluZSBDTERfS0lMTEVEIChfX1NJX0NITEQgfCAyKQorI2RlZmluZSBDTERfRFVNUEVEIChfX1NJX0NITEQgfCAzKQorI2RlZmluZSBDTERfVFJBUFBFRCAoX19TSV9DSExEIHwgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENMRF9TVE9QUEVEIChfX1NJX0NITER8NSkKLSNkZWZpbmUgQ0xEX0NPTlRJTlVFRCAoX19TSV9DSExEfDYpCisjZGVmaW5lIENMRF9TVE9QUEVEIChfX1NJX0NITEQgfCA1KQorI2RlZmluZSBDTERfQ09OVElOVUVEIChfX1NJX0NITEQgfCA2KQogI2RlZmluZSBOU0lHQ0hMRCA2Ci0jZGVmaW5lIFBPTExfSU4gKF9fU0lfUE9MTHwxKQorI2RlZmluZSBQT0xMX0lOIChfX1NJX1BPTEwgfCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUE9MTF9PVVQgKF9fU0lfUE9MTHwyKQotI2RlZmluZSBQT0xMX01TRyAoX19TSV9QT0xMfDMpCi0jZGVmaW5lIFBPTExfRVJSIChfX1NJX1BPTEx8NCkKLSNkZWZpbmUgUE9MTF9QUkkgKF9fU0lfUE9MTHw1KQorI2RlZmluZSBQT0xMX09VVCAoX19TSV9QT0xMIHwgMikKKyNkZWZpbmUgUE9MTF9NU0cgKF9fU0lfUE9MTCB8IDMpCisjZGVmaW5lIFBPTExfRVJSIChfX1NJX1BPTEwgfCA0KQorI2RlZmluZSBQT0xMX1BSSSAoX19TSV9QT0xMIHwgNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBPTExfSFVQIChfX1NJX1BPTEx8NikKKyNkZWZpbmUgUE9MTF9IVVAgKF9fU0lfUE9MTCB8IDYpCiAjZGVmaW5lIE5TSUdQT0xMIDYKLSNkZWZpbmUgU1lTX1NFQ0NPTVAgKF9fU0lfU1lTfDEpCisjZGVmaW5lIFNZU19TRUNDT01QIChfX1NJX1NZUyB8IDEpCiAjZGVmaW5lIE5TSUdTWVMgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0lHRVZfU0lHTkFMIDAKQEAgLTIzNiwyMiArMjM2LDIyIEBACiAjZW5kaWYKICNkZWZpbmUgU0lHRVZfTUFYX1NJWkUgNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNJR0VWX1BBRF9TSVpFICgoU0lHRVZfTUFYX1NJWkUgLSBfX0FSQ0hfU0lHRVZfUFJFQU1CTEVfU0laRSkgICAvIHNpemVvZihpbnQpKQorI2RlZmluZSBTSUdFVl9QQURfU0laRSAoKFNJR0VWX01BWF9TSVpFIC0gX19BUkNIX1NJR0VWX1BSRUFNQkxFX1NJWkUpIC8gc2l6ZW9mKGludCkpCiB0eXBlZGVmIHN0cnVjdCBzaWdldmVudCB7Ci0gc2lndmFsX3Qgc2lnZXZfdmFsdWU7Ci0gaW50IHNpZ2V2X3NpZ25vOworICBzaWd2YWxfdCBzaWdldl92YWx1ZTsKKyAgaW50IHNpZ2V2X3NpZ25vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc2lnZXZfbm90aWZ5OwotIHVuaW9uIHsKLSBpbnQgX3BhZFtTSUdFVl9QQURfU0laRV07Ci0gaW50IF90aWQ7CisgIGludCBzaWdldl9ub3RpZnk7CisgIHVuaW9uIHsKKyAgICBpbnQgX3BhZFtTSUdFVl9QQURfU0laRV07CisgICAgaW50IF90aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdm9pZCAoKl9mdW5jdGlvbikoc2lndmFsX3QpOwotIHZvaWQgKl9hdHRyaWJ1dGU7Ci0gfSBfc2lnZXZfdGhyZWFkOworICAgIHN0cnVjdCB7CisgICAgICB2b2lkKCogX2Z1bmN0aW9uKSAoc2lndmFsX3QpOworICAgICAgdm9pZCAqIF9hdHRyaWJ1dGU7CisgICAgfSBfc2lnZXZfdGhyZWFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IF9zaWdldl91bjsKKyAgfSBfc2lnZXZfdW47CiB9IHNpZ2V2ZW50X3Q7CiAjZGVmaW5lIHNpZ2V2X25vdGlmeV9mdW5jdGlvbiBfc2lnZXZfdW4uX3NpZ2V2X3RocmVhZC5fZnVuY3Rpb24KICNkZWZpbmUgc2lnZXZfbm90aWZ5X2F0dHJpYnV0ZXMgX3NpZ2V2X3VuLl9zaWdldl90aHJlYWQuX2F0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zaWduYWwtZGVmcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zaWduYWwtZGVmcy5oCmluZGV4IGY0N2NiZTcuLmFkNzdkNzcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2lnbmFsLWRlZnMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3NpZ25hbC1kZWZzLmgKQEAgLTMzLDEzICszMywxMyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZm5kZWYgX19BU1NFTUJMWV9fCiB0eXBlZGVmIHZvaWQgX19zaWduYWxmbl90KGludCk7Ci10eXBlZGVmIF9fc2lnbmFsZm5fdCBfX3VzZXIgKl9fc2lnaGFuZGxlcl90OwordHlwZWRlZiBfX3NpZ25hbGZuX3QgX191c2VyICogX19zaWdoYW5kbGVyX3Q7CiB0eXBlZGVmIHZvaWQgX19yZXN0b3JlZm5fdCh2b2lkKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi10eXBlZGVmIF9fcmVzdG9yZWZuX3QgX191c2VyICpfX3NpZ3Jlc3RvcmVfdDsKLSNkZWZpbmUgU0lHX0RGTCAoKF9fZm9yY2UgX19zaWdoYW5kbGVyX3QpMCkKLSNkZWZpbmUgU0lHX0lHTiAoKF9fZm9yY2UgX19zaWdoYW5kbGVyX3QpMSkKLSNkZWZpbmUgU0lHX0VSUiAoKF9fZm9yY2UgX19zaWdoYW5kbGVyX3QpLTEpCit0eXBlZGVmIF9fcmVzdG9yZWZuX3QgX191c2VyICogX19zaWdyZXN0b3JlX3Q7CisjZGVmaW5lIFNJR19ERkwgKChfX2ZvcmNlIF9fc2lnaGFuZGxlcl90KSAwKQorI2RlZmluZSBTSUdfSUdOICgoX19mb3JjZSBfX3NpZ2hhbmRsZXJfdCkgMSkKKyNkZWZpbmUgU0lHX0VSUiAoKF9fZm9yY2UgX19zaWdoYW5kbGVyX3QpIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zaWduYWwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc2lnbmFsLmgKaW5kZXggZTEwMzI0MC4uMzAxODhjYiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zaWduYWwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3NpZ25hbC5oCkBAIC04Nyw3ICs4Nyw3IEBACiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHsKLSB1bnNpZ25lZCBsb25nIHNpZ1tfTlNJR19XT1JEU107CisgIHVuc2lnbmVkIGxvbmcgc2lnW19OU0lHX1dPUkRTXTsKIH0gc2lnc2V0X3Q7CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgb2xkX3NpZ3NldF90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTk3LDE5ICs5NywxOSBAQAogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNpZ2FjdGlvbiB7Ci0gX19zaWdoYW5kbGVyX3Qgc2FfaGFuZGxlcjsKLSB1bnNpZ25lZCBsb25nIHNhX2ZsYWdzOworICBfX3NpZ2hhbmRsZXJfdCBzYV9oYW5kbGVyOworICB1bnNpZ25lZCBsb25nIHNhX2ZsYWdzOwogI2lmZGVmIFNBX1JFU1RPUkVSCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fc2lncmVzdG9yZV90IHNhX3Jlc3RvcmVyOworICBfX3NpZ3Jlc3RvcmVfdCBzYV9yZXN0b3JlcjsKICNlbmRpZgotIHNpZ3NldF90IHNhX21hc2s7CisgIHNpZ3NldF90IHNhX21hc2s7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHNpZ2FsdHN0YWNrIHsKLSB2b2lkIF9fdXNlciAqc3Nfc3A7Ci0gaW50IHNzX2ZsYWdzOwotIHNpemVfdCBzc19zaXplOworICB2b2lkIF9fdXNlciAqIHNzX3NwOworICBpbnQgc3NfZmxhZ3M7CisgIHNpemVfdCBzc19zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gc3RhY2tfdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zdGF0LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3N0YXQuaAppbmRleCBhOTRjNjlkLi40ZGJjMjA4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3N0YXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3N0YXQuaApAQCAtMjIsNTkgKzIyLDU5IEBACiAjZGVmaW5lIFNUQVRfSEFWRV9OU0VDIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc3RhdCB7Ci0gdW5zaWduZWQgbG9uZyBzdF9kZXY7Ci0gdW5zaWduZWQgbG9uZyBzdF9pbm87Ci0gdW5zaWduZWQgaW50IHN0X21vZGU7CisgIHVuc2lnbmVkIGxvbmcgc3RfZGV2OworICB1bnNpZ25lZCBsb25nIHN0X2lubzsKKyAgdW5zaWduZWQgaW50IHN0X21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBzdF9ubGluazsKLSB1bnNpZ25lZCBpbnQgc3RfdWlkOwotIHVuc2lnbmVkIGludCBzdF9naWQ7Ci0gdW5zaWduZWQgbG9uZyBzdF9yZGV2OworICB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7CisgIHVuc2lnbmVkIGludCBzdF91aWQ7CisgIHVuc2lnbmVkIGludCBzdF9naWQ7CisgIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBfX3BhZDE7Ci0gbG9uZyBzdF9zaXplOwotIGludCBzdF9ibGtzaXplOwotIGludCBfX3BhZDI7CisgIHVuc2lnbmVkIGxvbmcgX19wYWQxOworICBsb25nIHN0X3NpemU7CisgIGludCBzdF9ibGtzaXplOworICBpbnQgX19wYWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIHN0X2Jsb2NrczsKLSBsb25nIHN0X2F0aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlYzsKLSBsb25nIHN0X210aW1lOworICBsb25nIHN0X2Jsb2NrczsKKyAgbG9uZyBzdF9hdGltZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZV9uc2VjOworICBsb25nIHN0X210aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0X210aW1lX25zZWM7Ci0gbG9uZyBzdF9jdGltZTsKLSB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7Ci0gdW5zaWduZWQgaW50IF9fdW51c2VkNDsKKyAgdW5zaWduZWQgbG9uZyBzdF9tdGltZV9uc2VjOworICBsb25nIHN0X2N0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7CisgIHVuc2lnbmVkIGludCBfX3VudXNlZDQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBfX3VudXNlZDU7CisgIHVuc2lnbmVkIGludCBfX3VudXNlZDU7CiB9OwogI2lmIF9fQklUU19QRVJfTE9ORyAhPSA2NCB8fCBkZWZpbmVkKF9fQVJDSF9XQU5UX1NUQVQ2NCkKIHN0cnVjdCBzdGF0NjQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGxvbmcgc3RfZGV2OwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87Ci0gdW5zaWduZWQgaW50IHN0X21vZGU7Ci0gdW5zaWduZWQgaW50IHN0X25saW5rOworICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfZGV2OworICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfaW5vOworICB1bnNpZ25lZCBpbnQgc3RfbW9kZTsKKyAgdW5zaWduZWQgaW50IHN0X25saW5rOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3RfdWlkOwotIHVuc2lnbmVkIGludCBzdF9naWQ7Ci0gdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7Ci0gdW5zaWduZWQgbG9uZyBsb25nIF9fcGFkMTsKKyAgdW5zaWduZWQgaW50IHN0X3VpZDsKKyAgdW5zaWduZWQgaW50IHN0X2dpZDsKKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBfX3BhZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgbG9uZyBzdF9zaXplOwotIGludCBzdF9ibGtzaXplOwotIGludCBfX3BhZDI7Ci0gbG9uZyBsb25nIHN0X2Jsb2NrczsKKyAgbG9uZyBsb25nIHN0X3NpemU7CisgIGludCBzdF9ibGtzaXplOworICBpbnQgX19wYWQyOworICBsb25nIGxvbmcgc3RfYmxvY2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc3RfYXRpbWU7Ci0gdW5zaWduZWQgaW50IHN0X2F0aW1lX25zZWM7Ci0gaW50IHN0X210aW1lOwotIHVuc2lnbmVkIGludCBzdF9tdGltZV9uc2VjOworICBpbnQgc3RfYXRpbWU7CisgIHVuc2lnbmVkIGludCBzdF9hdGltZV9uc2VjOworICBpbnQgc3RfbXRpbWU7CisgIHVuc2lnbmVkIGludCBzdF9tdGltZV9uc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc3RfY3RpbWU7Ci0gdW5zaWduZWQgaW50IHN0X2N0aW1lX25zZWM7Ci0gdW5zaWduZWQgaW50IF9fdW51c2VkNDsKLSB1bnNpZ25lZCBpbnQgX191bnVzZWQ1OworICBpbnQgc3RfY3RpbWU7CisgIHVuc2lnbmVkIGludCBzdF9jdGltZV9uc2VjOworICB1bnNpZ25lZCBpbnQgX191bnVzZWQ0OworICB1bnNpZ25lZCBpbnQgX191bnVzZWQ1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc3RhdGZzLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3N0YXRmcy5oCmluZGV4IDFjOGM1ODkuLjBkMDNjZmYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvc3RhdGZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy9zdGF0ZnMuaApAQCAtMjksMjEgKzI5LDIxIEBACiAjZW5kaWYKICNlbmRpZgogc3RydWN0IHN0YXRmcyB7Ci0gX19zdGF0ZnNfd29yZCBmX3R5cGU7CisgIF9fc3RhdGZzX3dvcmQgZl90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3N0YXRmc193b3JkIGZfYnNpemU7Ci0gX19zdGF0ZnNfd29yZCBmX2Jsb2NrczsKLSBfX3N0YXRmc193b3JkIGZfYmZyZWU7Ci0gX19zdGF0ZnNfd29yZCBmX2JhdmFpbDsKKyAgX19zdGF0ZnNfd29yZCBmX2JzaXplOworICBfX3N0YXRmc193b3JkIGZfYmxvY2tzOworICBfX3N0YXRmc193b3JkIGZfYmZyZWU7CisgIF9fc3RhdGZzX3dvcmQgZl9iYXZhaWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fc3RhdGZzX3dvcmQgZl9maWxlczsKLSBfX3N0YXRmc193b3JkIGZfZmZyZWU7Ci0gX19rZXJuZWxfZnNpZF90IGZfZnNpZDsKLSBfX3N0YXRmc193b3JkIGZfbmFtZWxlbjsKKyAgX19zdGF0ZnNfd29yZCBmX2ZpbGVzOworICBfX3N0YXRmc193b3JkIGZfZmZyZWU7CisgIF9fa2VybmVsX2ZzaWRfdCBmX2ZzaWQ7CisgIF9fc3RhdGZzX3dvcmQgZl9uYW1lbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3N0YXRmc193b3JkIGZfZnJzaXplOwotIF9fc3RhdGZzX3dvcmQgZl9mbGFnczsKLSBfX3N0YXRmc193b3JkIGZfc3BhcmVbNF07CisgIF9fc3RhdGZzX3dvcmQgZl9mcnNpemU7CisgIF9fc3RhdGZzX3dvcmQgZl9mbGFnczsKKyAgX19zdGF0ZnNfd29yZCBmX3NwYXJlWzRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZuZGVmIEFSQ0hfUEFDS19TVEFURlM2NApAQCAtNTEsMjAgKzUxLDIwIEBACiAjZW5kaWYKIHN0cnVjdCBzdGF0ZnM2NCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fc3RhdGZzX3dvcmQgZl90eXBlOwotIF9fc3RhdGZzX3dvcmQgZl9ic2l6ZTsKLSBfX3U2NCBmX2Jsb2NrczsKLSBfX3U2NCBmX2JmcmVlOworICBfX3N0YXRmc193b3JkIGZfdHlwZTsKKyAgX19zdGF0ZnNfd29yZCBmX2JzaXplOworICBfX3U2NCBmX2Jsb2NrczsKKyAgX191NjQgZl9iZnJlZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZl9iYXZhaWw7Ci0gX191NjQgZl9maWxlczsKLSBfX3U2NCBmX2ZmcmVlOwotIF9fa2VybmVsX2ZzaWRfdCBmX2ZzaWQ7CisgIF9fdTY0IGZfYmF2YWlsOworICBfX3U2NCBmX2ZpbGVzOworICBfX3U2NCBmX2ZmcmVlOworICBfX2tlcm5lbF9mc2lkX3QgZl9mc2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3N0YXRmc193b3JkIGZfbmFtZWxlbjsKLSBfX3N0YXRmc193b3JkIGZfZnJzaXplOwotIF9fc3RhdGZzX3dvcmQgZl9mbGFnczsKLSBfX3N0YXRmc193b3JkIGZfc3BhcmVbNF07CisgIF9fc3RhdGZzX3dvcmQgZl9uYW1lbGVuOworICBfX3N0YXRmc193b3JkIGZfZnJzaXplOworICBfX3N0YXRmc193b3JkIGZfZmxhZ3M7CisgIF9fc3RhdGZzX3dvcmQgZl9zcGFyZVs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IEFSQ0hfUEFDS19TVEFURlM2NDsKICNpZm5kZWYgQVJDSF9QQUNLX0NPTVBBVF9TVEFURlM2NApAQCAtNzIsMjAgKzcyLDIwIEBACiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY29tcGF0X3N0YXRmczY0IHsKLSBfX3UzMiBmX3R5cGU7Ci0gX191MzIgZl9ic2l6ZTsKLSBfX3U2NCBmX2Jsb2NrczsKKyAgX191MzIgZl90eXBlOworICBfX3UzMiBmX2JzaXplOworICBfX3U2NCBmX2Jsb2NrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZl9iZnJlZTsKLSBfX3U2NCBmX2JhdmFpbDsKLSBfX3U2NCBmX2ZpbGVzOwotIF9fdTY0IGZfZmZyZWU7CisgIF9fdTY0IGZfYmZyZWU7CisgIF9fdTY0IGZfYmF2YWlsOworICBfX3U2NCBmX2ZpbGVzOworICBfX3U2NCBmX2ZmcmVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9mc2lkX3QgZl9mc2lkOwotIF9fdTMyIGZfbmFtZWxlbjsKLSBfX3UzMiBmX2Zyc2l6ZTsKLSBfX3UzMiBmX2ZsYWdzOworICBfX2tlcm5lbF9mc2lkX3QgZl9mc2lkOworICBfX3UzMiBmX25hbWVsZW47CisgIF9fdTMyIGZfZnJzaXplOworICBfX3UzMiBmX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmX3NwYXJlWzRdOworICBfX3UzMiBmX3NwYXJlWzRdOwogfSBBUkNIX1BBQ0tfQ09NUEFUX1NUQVRGUzY0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Rlcm1iaXRzLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Rlcm1iaXRzLmgKaW5kZXggNThhY2QzZC4uYzA4YmJiOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy90ZXJtYml0cy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvdGVybWJpdHMuaApAQCAtMjYsMzggKzI2LDM4IEBACiAjZGVmaW5lIE5DQ1MgMTkKIHN0cnVjdCB0ZXJtaW9zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdGNmbGFnX3QgY19pZmxhZzsKLSB0Y2ZsYWdfdCBjX29mbGFnOwotIHRjZmxhZ190IGNfY2ZsYWc7Ci0gdGNmbGFnX3QgY19sZmxhZzsKKyAgdGNmbGFnX3QgY19pZmxhZzsKKyAgdGNmbGFnX3QgY19vZmxhZzsKKyAgdGNmbGFnX3QgY19jZmxhZzsKKyAgdGNmbGFnX3QgY19sZmxhZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2NfdCBjX2xpbmU7Ci0gY2NfdCBjX2NjW05DQ1NdOworICBjY190IGNfbGluZTsKKyAgY2NfdCBjX2NjW05DQ1NdOwogfTsKIHN0cnVjdCB0ZXJtaW9zMiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHRjZmxhZ190IGNfaWZsYWc7Ci0gdGNmbGFnX3QgY19vZmxhZzsKLSB0Y2ZsYWdfdCBjX2NmbGFnOwotIHRjZmxhZ190IGNfbGZsYWc7CisgIHRjZmxhZ190IGNfaWZsYWc7CisgIHRjZmxhZ190IGNfb2ZsYWc7CisgIHRjZmxhZ190IGNfY2ZsYWc7CisgIHRjZmxhZ190IGNfbGZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNjX3QgY19saW5lOwotIGNjX3QgY19jY1tOQ0NTXTsKLSBzcGVlZF90IGNfaXNwZWVkOwotIHNwZWVkX3QgY19vc3BlZWQ7CisgIGNjX3QgY19saW5lOworICBjY190IGNfY2NbTkNDU107CisgIHNwZWVkX3QgY19pc3BlZWQ7CisgIHNwZWVkX3QgY19vc3BlZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBrdGVybWlvcyB7Ci0gdGNmbGFnX3QgY19pZmxhZzsKLSB0Y2ZsYWdfdCBjX29mbGFnOworICB0Y2ZsYWdfdCBjX2lmbGFnOworICB0Y2ZsYWdfdCBjX29mbGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB0Y2ZsYWdfdCBjX2NmbGFnOwotIHRjZmxhZ190IGNfbGZsYWc7Ci0gY2NfdCBjX2xpbmU7Ci0gY2NfdCBjX2NjW05DQ1NdOworICB0Y2ZsYWdfdCBjX2NmbGFnOworICB0Y2ZsYWdfdCBjX2xmbGFnOworICBjY190IGNfbGluZTsKKyAgY2NfdCBjX2NjW05DQ1NdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzcGVlZF90IGNfaXNwZWVkOwotIHNwZWVkX3QgY19vc3BlZWQ7CisgIHNwZWVkX3QgY19pc3BlZWQ7CisgIHNwZWVkX3QgY19vc3BlZWQ7CiB9OwogI2RlZmluZSBWSU5UUiAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy90ZXJtaW9zLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Rlcm1pb3MuaAppbmRleCAwYTVkZmQ2Li4xZTVmOWNlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Rlcm1pb3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Rlcm1pb3MuaApAQCAtMjIsMjIgKzIyLDIyIEBACiAjaW5jbHVkZSA8YXNtL2lvY3Rscy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB3aW5zaXplIHsKLSB1bnNpZ25lZCBzaG9ydCB3c19yb3c7Ci0gdW5zaWduZWQgc2hvcnQgd3NfY29sOwotIHVuc2lnbmVkIHNob3J0IHdzX3hwaXhlbDsKKyAgdW5zaWduZWQgc2hvcnQgd3Nfcm93OworICB1bnNpZ25lZCBzaG9ydCB3c19jb2w7CisgIHVuc2lnbmVkIHNob3J0IHdzX3hwaXhlbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgd3NfeXBpeGVsOworICB1bnNpZ25lZCBzaG9ydCB3c195cGl4ZWw7CiB9OwogI2RlZmluZSBOQ0MgOAogc3RydWN0IHRlcm1pbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGNfaWZsYWc7Ci0gdW5zaWduZWQgc2hvcnQgY19vZmxhZzsKLSB1bnNpZ25lZCBzaG9ydCBjX2NmbGFnOwotIHVuc2lnbmVkIHNob3J0IGNfbGZsYWc7CisgIHVuc2lnbmVkIHNob3J0IGNfaWZsYWc7CisgIHVuc2lnbmVkIHNob3J0IGNfb2ZsYWc7CisgIHVuc2lnbmVkIHNob3J0IGNfY2ZsYWc7CisgIHVuc2lnbmVkIHNob3J0IGNfbGZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgY19saW5lOwotIHVuc2lnbmVkIGNoYXIgY19jY1tOQ0NdOworICB1bnNpZ25lZCBjaGFyIGNfbGluZTsKKyAgdW5zaWduZWQgY2hhciBjX2NjW05DQ107CiB9OwogI2RlZmluZSBUSU9DTV9MRSAweDAwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvdWNvbnRleHQuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvdWNvbnRleHQuaAppbmRleCBmMjZkMWNjLi5jZmIxZDJiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3Vjb250ZXh0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy91Y29udGV4dC5oCkBAIC0xOSwxMiArMTksMTIgQEAKICNpZm5kZWYgX19BU01fR0VORVJJQ19VQ09OVEVYVF9ICiAjZGVmaW5lIF9fQVNNX0dFTkVSSUNfVUNPTlRFWFRfSAogc3RydWN0IHVjb250ZXh0IHsKLSB1bnNpZ25lZCBsb25nIHVjX2ZsYWdzOworICB1bnNpZ25lZCBsb25nIHVjX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdWNvbnRleHQgKnVjX2xpbms7Ci0gc3RhY2tfdCB1Y19zdGFjazsKLSBzdHJ1Y3Qgc2lnY29udGV4dCB1Y19tY29udGV4dDsKLSBzaWdzZXRfdCB1Y19zaWdtYXNrOworICBzdHJ1Y3QgdWNvbnRleHQgKiB1Y19saW5rOworICBzdGFja190IHVjX3N0YWNrOworICBzdHJ1Y3Qgc2lnY29udGV4dCB1Y19tY29udGV4dDsKKyAgc2lnc2V0X3QgdWNfc2lnbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3VuaXN0ZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy91bmlzdGQuaAppbmRleCBiZWNjODJkLi5kN2FjNmMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1nZW5lcmljL3VuaXN0ZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLWdlbmVyaWMvdW5pc3RkLmgKQEAgLTE4LDIyICsxOCwyMiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSA8YXNtL2JpdHNwZXJsb25nLmg+CiAjaWZuZGVmIF9fU1lTQ0FMTAotI2RlZmluZSBfX1NZU0NBTEwoeCwgeSkKKyNkZWZpbmUgX19TWVNDQUxMKHgseSkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZiBfX0JJVFNfUEVSX0xPTkcgPT0gMzIgfHwgZGVmaW5lZChfX1NZU0NBTExfQ09NUEFUKQotI2RlZmluZSBfX1NDXzMyNjQoX25yLCBfMzIsIF82NCkgX19TWVNDQUxMKF9uciwgXzMyKQorI2RlZmluZSBfX1NDXzMyNjQoX25yLF8zMixfNjQpIF9fU1lTQ0FMTChfbnIsIF8zMikKICNlbHNlCi0jZGVmaW5lIF9fU0NfMzI2NChfbnIsIF8zMiwgXzY0KSBfX1NZU0NBTEwoX25yLCBfNjQpCisjZGVmaW5lIF9fU0NfMzI2NChfbnIsXzMyLF82NCkgX19TWVNDQUxMKF9uciwgXzY0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgogI2lmZGVmIF9fU1lTQ0FMTF9DT01QQVQKLSNkZWZpbmUgX19TQ19DT01QKF9uciwgX3N5cywgX2NvbXApIF9fU1lTQ0FMTChfbnIsIF9jb21wKQotI2RlZmluZSBfX1NDX0NPTVBfMzI2NChfbnIsIF8zMiwgXzY0LCBfY29tcCkgX19TWVNDQUxMKF9uciwgX2NvbXApCisjZGVmaW5lIF9fU0NfQ09NUChfbnIsX3N5cyxfY29tcCkgX19TWVNDQUxMKF9uciwgX2NvbXApCisjZGVmaW5lIF9fU0NfQ09NUF8zMjY0KF9ucixfMzIsXzY0LF9jb21wKSBfX1NZU0NBTEwoX25yLCBfY29tcCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxzZQotI2RlZmluZSBfX1NDX0NPTVAoX25yLCBfc3lzLCBfY29tcCkgX19TWVNDQUxMKF9uciwgX3N5cykKLSNkZWZpbmUgX19TQ19DT01QXzMyNjQoX25yLCBfMzIsIF82NCwgX2NvbXApIF9fU0NfMzI2NChfbnIsIF8zMiwgXzY0KQorI2RlZmluZSBfX1NDX0NPTVAoX25yLF9zeXMsX2NvbXApIF9fU1lTQ0FMTChfbnIsIF9zeXMpCisjZGVmaW5lIF9fU0NfQ09NUF8zMjY0KF9ucixfMzIsXzY0LF9jb21wKSBfX1NDXzMyNjQoX25yLCBfMzIsIF82NCkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9pb19zZXR1cCAwCkBAIC0xMTMsNDA3ICsxMTMsNDE0IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3F1b3RhY3RsIDYwCiAjZGVmaW5lIF9fTlJfZ2V0ZGVudHM2NCA2MQorI2RlZmluZSBfX0FSQ0hfV0FOVF9DT01QQVRfU1lTX0dFVERFTlRTNjQKICNkZWZpbmUgX19OUjMyNjRfbHNlZWsgNjIKLSNkZWZpbmUgX19OUl9yZWFkIDYzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3JlYWQgNjMKICNkZWZpbmUgX19OUl93cml0ZSA2NAogI2RlZmluZSBfX05SX3JlYWR2IDY1CiAjZGVmaW5lIF9fTlJfd3JpdGV2IDY2Ci0jZGVmaW5lIF9fTlJfcHJlYWQ2NCA2NwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9wcmVhZDY0IDY3CiAjZGVmaW5lIF9fTlJfcHdyaXRlNjQgNjgKICNkZWZpbmUgX19OUl9wcmVhZHYgNjkKICNkZWZpbmUgX19OUl9wd3JpdGV2IDcwCi0jZGVmaW5lIF9fTlIzMjY0X3NlbmRmaWxlIDcxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SMzI2NF9zZW5kZmlsZSA3MQogI2RlZmluZSBfX05SX3BzZWxlY3Q2IDcyCiAjZGVmaW5lIF9fTlJfcHBvbGwgNzMKICNkZWZpbmUgX19OUl9zaWduYWxmZDQgNzQKLSNkZWZpbmUgX19OUl92bXNwbGljZSA3NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl92bXNwbGljZSA3NQogI2RlZmluZSBfX05SX3NwbGljZSA3NgogI2RlZmluZSBfX05SX3RlZSA3NwogI2RlZmluZSBfX05SX3JlYWRsaW5rYXQgNzgKLSNkZWZpbmUgX19OUjMyNjRfZnN0YXRhdCA3OQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUjMyNjRfZnN0YXRhdCA3OQogI2RlZmluZSBfX05SMzI2NF9mc3RhdCA4MAogI2RlZmluZSBfX05SX3N5bmMgODEKICNkZWZpbmUgX19OUl9mc3luYyA4MgotI2RlZmluZSBfX05SX2ZkYXRhc3luYyA4MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9mZGF0YXN5bmMgODMKICNpZmRlZiBfX0FSQ0hfV0FOVF9TWU5DX0ZJTEVfUkFOR0UyCiAjZGVmaW5lIF9fTlJfc3luY19maWxlX3JhbmdlMiA4NAogI2Vsc2UKLSNkZWZpbmUgX19OUl9zeW5jX2ZpbGVfcmFuZ2UgODQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc3luY19maWxlX3JhbmdlIDg0CiAjZW5kaWYKICNkZWZpbmUgX19OUl90aW1lcmZkX2NyZWF0ZSA4NQogI2RlZmluZSBfX05SX3RpbWVyZmRfc2V0dGltZSA4NgotI2RlZmluZSBfX05SX3RpbWVyZmRfZ2V0dGltZSA4NwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl90aW1lcmZkX2dldHRpbWUgODcKICNkZWZpbmUgX19OUl91dGltZW5zYXQgODgKICNkZWZpbmUgX19OUl9hY2N0IDg5CiAjZGVmaW5lIF9fTlJfY2FwZ2V0IDkwCi0jZGVmaW5lIF9fTlJfY2Fwc2V0IDkxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2NhcHNldCA5MQogI2RlZmluZSBfX05SX3BlcnNvbmFsaXR5IDkyCiAjZGVmaW5lIF9fTlJfZXhpdCA5MwogI2RlZmluZSBfX05SX2V4aXRfZ3JvdXAgOTQKLSNkZWZpbmUgX19OUl93YWl0aWQgOTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfd2FpdGlkIDk1CiAjZGVmaW5lIF9fTlJfc2V0X3RpZF9hZGRyZXNzIDk2CiAjZGVmaW5lIF9fTlJfdW5zaGFyZSA5NwogI2RlZmluZSBfX05SX2Z1dGV4IDk4Ci0jZGVmaW5lIF9fTlJfc2V0X3JvYnVzdF9saXN0IDk5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NldF9yb2J1c3RfbGlzdCA5OQogI2RlZmluZSBfX05SX2dldF9yb2J1c3RfbGlzdCAxMDAKICNkZWZpbmUgX19OUl9uYW5vc2xlZXAgMTAxCiAjZGVmaW5lIF9fTlJfZ2V0aXRpbWVyIDEwMgotI2RlZmluZSBfX05SX3NldGl0aW1lciAxMDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc2V0aXRpbWVyIDEwMwogI2RlZmluZSBfX05SX2tleGVjX2xvYWQgMTA0CiAjZGVmaW5lIF9fTlJfaW5pdF9tb2R1bGUgMTA1CiAjZGVmaW5lIF9fTlJfZGVsZXRlX21vZHVsZSAxMDYKLSNkZWZpbmUgX19OUl90aW1lcl9jcmVhdGUgMTA3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3RpbWVyX2NyZWF0ZSAxMDcKICNkZWZpbmUgX19OUl90aW1lcl9nZXR0aW1lIDEwOAogI2RlZmluZSBfX05SX3RpbWVyX2dldG92ZXJydW4gMTA5CiAjZGVmaW5lIF9fTlJfdGltZXJfc2V0dGltZSAxMTAKLSNkZWZpbmUgX19OUl90aW1lcl9kZWxldGUgMTExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3RpbWVyX2RlbGV0ZSAxMTEKICNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lIDExMgogI2RlZmluZSBfX05SX2Nsb2NrX2dldHRpbWUgMTEzCiAjZGVmaW5lIF9fTlJfY2xvY2tfZ2V0cmVzIDExNAotI2RlZmluZSBfX05SX2Nsb2NrX25hbm9zbGVlcCAxMTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfY2xvY2tfbmFub3NsZWVwIDExNQogI2RlZmluZSBfX05SX3N5c2xvZyAxMTYKICNkZWZpbmUgX19OUl9wdHJhY2UgMTE3CiAjZGVmaW5lIF9fTlJfc2NoZWRfc2V0cGFyYW0gMTE4Ci0jZGVmaW5lIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyIDExOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIgMTE5CiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyIDEyMAogI2RlZmluZSBfX05SX3NjaGVkX2dldHBhcmFtIDEyMQogI2RlZmluZSBfX05SX3NjaGVkX3NldGFmZmluaXR5IDEyMgotI2RlZmluZSBfX05SX3NjaGVkX2dldGFmZmluaXR5IDEyMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRhZmZpbml0eSAxMjMKICNkZWZpbmUgX19OUl9zY2hlZF95aWVsZCAxMjQKICNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4IDEyNQogI2RlZmluZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9taW4gMTI2Ci0jZGVmaW5lIF9fTlJfc2NoZWRfcnJfZ2V0X2ludGVydmFsIDEyNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwgMTI3CiAjZGVmaW5lIF9fTlJfcmVzdGFydF9zeXNjYWxsIDEyOAogI2RlZmluZSBfX05SX2tpbGwgMTI5CiAjZGVmaW5lIF9fTlJfdGtpbGwgMTMwCi0jZGVmaW5lIF9fTlJfdGdraWxsIDEzMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl90Z2tpbGwgMTMxCiAjZGVmaW5lIF9fTlJfc2lnYWx0c3RhY2sgMTMyCiAjZGVmaW5lIF9fTlJfcnRfc2lnc3VzcGVuZCAxMzMKICNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gMTM0Ci0jZGVmaW5lIF9fTlJfcnRfc2lncHJvY21hc2sgMTM1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3J0X3NpZ3Byb2NtYXNrIDEzNQogI2RlZmluZSBfX05SX3J0X3NpZ3BlbmRpbmcgMTM2CiAjZGVmaW5lIF9fTlJfcnRfc2lndGltZWR3YWl0IDEzNwogI2RlZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbyAxMzgKLSNkZWZpbmUgX19OUl9ydF9zaWdyZXR1cm4gMTM5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3J0X3NpZ3JldHVybiAxMzkKICNkZWZpbmUgX19OUl9zZXRwcmlvcml0eSAxNDAKICNkZWZpbmUgX19OUl9nZXRwcmlvcml0eSAxNDEKICNkZWZpbmUgX19OUl9yZWJvb3QgMTQyCi0jZGVmaW5lIF9fTlJfc2V0cmVnaWQgMTQzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NldHJlZ2lkIDE0MwogI2RlZmluZSBfX05SX3NldGdpZCAxNDQKICNkZWZpbmUgX19OUl9zZXRyZXVpZCAxNDUKICNkZWZpbmUgX19OUl9zZXR1aWQgMTQ2Ci0jZGVmaW5lIF9fTlJfc2V0cmVzdWlkIDE0NwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zZXRyZXN1aWQgMTQ3CiAjZGVmaW5lIF9fTlJfZ2V0cmVzdWlkIDE0OAogI2RlZmluZSBfX05SX3NldHJlc2dpZCAxNDkKICNkZWZpbmUgX19OUl9nZXRyZXNnaWQgMTUwCi0jZGVmaW5lIF9fTlJfc2V0ZnN1aWQgMTUxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NldGZzdWlkIDE1MQogI2RlZmluZSBfX05SX3NldGZzZ2lkIDE1MgogI2RlZmluZSBfX05SX3RpbWVzIDE1MwogI2RlZmluZSBfX05SX3NldHBnaWQgMTU0Ci0jZGVmaW5lIF9fTlJfZ2V0cGdpZCAxNTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0cGdpZCAxNTUKICNkZWZpbmUgX19OUl9nZXRzaWQgMTU2CiAjZGVmaW5lIF9fTlJfc2V0c2lkIDE1NwogI2RlZmluZSBfX05SX2dldGdyb3VwcyAxNTgKLSNkZWZpbmUgX19OUl9zZXRncm91cHMgMTU5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NldGdyb3VwcyAxNTkKICNkZWZpbmUgX19OUl91bmFtZSAxNjAKICNkZWZpbmUgX19OUl9zZXRob3N0bmFtZSAxNjEKICNkZWZpbmUgX19OUl9zZXRkb21haW5uYW1lIDE2MgotI2RlZmluZSBfX05SX2dldHJsaW1pdCAxNjMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0cmxpbWl0IDE2MwogI2RlZmluZSBfX05SX3NldHJsaW1pdCAxNjQKICNkZWZpbmUgX19OUl9nZXRydXNhZ2UgMTY1CiAjZGVmaW5lIF9fTlJfdW1hc2sgMTY2Ci0jZGVmaW5lIF9fTlJfcHJjdGwgMTY3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3ByY3RsIDE2NwogI2RlZmluZSBfX05SX2dldGNwdSAxNjgKICNkZWZpbmUgX19OUl9nZXR0aW1lb2ZkYXkgMTY5CiAjZGVmaW5lIF9fTlJfc2V0dGltZW9mZGF5IDE3MAotI2RlZmluZSBfX05SX2FkanRpbWV4IDE3MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9hZGp0aW1leCAxNzEKICNkZWZpbmUgX19OUl9nZXRwaWQgMTcyCiAjZGVmaW5lIF9fTlJfZ2V0cHBpZCAxNzMKICNkZWZpbmUgX19OUl9nZXR1aWQgMTc0Ci0jZGVmaW5lIF9fTlJfZ2V0ZXVpZCAxNzUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0ZXVpZCAxNzUKICNkZWZpbmUgX19OUl9nZXRnaWQgMTc2CiAjZGVmaW5lIF9fTlJfZ2V0ZWdpZCAxNzcKICNkZWZpbmUgX19OUl9nZXR0aWQgMTc4Ci0jZGVmaW5lIF9fTlJfc3lzaW5mbyAxNzkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc3lzaW5mbyAxNzkKICNkZWZpbmUgX19OUl9tcV9vcGVuIDE4MAogI2RlZmluZSBfX05SX21xX3VubGluayAxODEKICNkZWZpbmUgX19OUl9tcV90aW1lZHNlbmQgMTgyCi0jZGVmaW5lIF9fTlJfbXFfdGltZWRyZWNlaXZlIDE4MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9tcV90aW1lZHJlY2VpdmUgMTgzCiAjZGVmaW5lIF9fTlJfbXFfbm90aWZ5IDE4NAogI2RlZmluZSBfX05SX21xX2dldHNldGF0dHIgMTg1CiAjZGVmaW5lIF9fTlJfbXNnZ2V0IDE4NgotI2RlZmluZSBfX05SX21zZ2N0bCAxODcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbXNnY3RsIDE4NwogI2RlZmluZSBfX05SX21zZ3JjdiAxODgKICNkZWZpbmUgX19OUl9tc2dzbmQgMTg5CiAjZGVmaW5lIF9fTlJfc2VtZ2V0IDE5MAotI2RlZmluZSBfX05SX3NlbWN0bCAxOTEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc2VtY3RsIDE5MQogI2RlZmluZSBfX05SX3NlbXRpbWVkb3AgMTkyCiAjZGVmaW5lIF9fTlJfc2Vtb3AgMTkzCiAjZGVmaW5lIF9fTlJfc2htZ2V0IDE5NAotI2RlZmluZSBfX05SX3NobWN0bCAxOTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc2htY3RsIDE5NQogI2RlZmluZSBfX05SX3NobWF0IDE5NgogI2RlZmluZSBfX05SX3NobWR0IDE5NwogI2RlZmluZSBfX05SX3NvY2tldCAxOTgKLSNkZWZpbmUgX19OUl9zb2NrZXRwYWlyIDE5OQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zb2NrZXRwYWlyIDE5OQogI2RlZmluZSBfX05SX2JpbmQgMjAwCiAjZGVmaW5lIF9fTlJfbGlzdGVuIDIwMQogI2RlZmluZSBfX05SX2FjY2VwdCAyMDIKLSNkZWZpbmUgX19OUl9jb25uZWN0IDIwMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9jb25uZWN0IDIwMwogI2RlZmluZSBfX05SX2dldHNvY2tuYW1lIDIwNAogI2RlZmluZSBfX05SX2dldHBlZXJuYW1lIDIwNQogI2RlZmluZSBfX05SX3NlbmR0byAyMDYKLSNkZWZpbmUgX19OUl9yZWN2ZnJvbSAyMDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcmVjdmZyb20gMjA3CiAjZGVmaW5lIF9fTlJfc2V0c29ja29wdCAyMDgKICNkZWZpbmUgX19OUl9nZXRzb2Nrb3B0IDIwOQogI2RlZmluZSBfX05SX3NodXRkb3duIDIxMAotI2RlZmluZSBfX05SX3NlbmRtc2cgMjExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NlbmRtc2cgMjExCiAjZGVmaW5lIF9fTlJfcmVjdm1zZyAyMTIKICNkZWZpbmUgX19OUl9yZWFkYWhlYWQgMjEzCiAjZGVmaW5lIF9fTlJfYnJrIDIxNAotI2RlZmluZSBfX05SX211bm1hcCAyMTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbXVubWFwIDIxNQogI2RlZmluZSBfX05SX21yZW1hcCAyMTYKICNkZWZpbmUgX19OUl9hZGRfa2V5IDIxNwogI2RlZmluZSBfX05SX3JlcXVlc3Rfa2V5IDIxOAotI2RlZmluZSBfX05SX2tleWN0bCAyMTkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfa2V5Y3RsIDIxOQogI2RlZmluZSBfX05SX2Nsb25lIDIyMAogI2RlZmluZSBfX05SX2V4ZWN2ZSAyMjEKICNkZWZpbmUgX19OUjMyNjRfbW1hcCAyMjIKLSNkZWZpbmUgX19OUjMyNjRfZmFkdmlzZTY0IDIyMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUjMyNjRfZmFkdmlzZTY0IDIyMwogI2lmbmRlZiBfX0FSQ0hfTk9NTVUKICNkZWZpbmUgX19OUl9zd2Fwb24gMjI0CiAjZGVmaW5lIF9fTlJfc3dhcG9mZiAyMjUKLSNkZWZpbmUgX19OUl9tcHJvdGVjdCAyMjYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbXByb3RlY3QgMjI2CiAjZGVmaW5lIF9fTlJfbXN5bmMgMjI3CiAjZGVmaW5lIF9fTlJfbWxvY2sgMjI4CiAjZGVmaW5lIF9fTlJfbXVubG9jayAyMjkKLSNkZWZpbmUgX19OUl9tbG9ja2FsbCAyMzAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbWxvY2thbGwgMjMwCiAjZGVmaW5lIF9fTlJfbXVubG9ja2FsbCAyMzEKICNkZWZpbmUgX19OUl9taW5jb3JlIDIzMgogI2RlZmluZSBfX05SX21hZHZpc2UgMjMzCi0jZGVmaW5lIF9fTlJfcmVtYXBfZmlsZV9wYWdlcyAyMzQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcmVtYXBfZmlsZV9wYWdlcyAyMzQKICNkZWZpbmUgX19OUl9tYmluZCAyMzUKICNkZWZpbmUgX19OUl9nZXRfbWVtcG9saWN5IDIzNgogI2RlZmluZSBfX05SX3NldF9tZW1wb2xpY3kgMjM3Ci0jZGVmaW5lIF9fTlJfbWlncmF0ZV9wYWdlcyAyMzgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbWlncmF0ZV9wYWdlcyAyMzgKICNkZWZpbmUgX19OUl9tb3ZlX3BhZ2VzIDIzOQogI2VuZGlmCiAjZGVmaW5lIF9fTlJfcnRfdGdzaWdxdWV1ZWluZm8gMjQwCi0jZGVmaW5lIF9fTlJfcGVyZl9ldmVudF9vcGVuIDI0MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9wZXJmX2V2ZW50X29wZW4gMjQxCiAjZGVmaW5lIF9fTlJfYWNjZXB0NCAyNDIKICNkZWZpbmUgX19OUl9yZWN2bW1zZyAyNDMKICNkZWZpbmUgX19OUl9hcmNoX3NwZWNpZmljX3N5c2NhbGwgMjQ0Ci0jZGVmaW5lIF9fTlJfd2FpdDQgMjYwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3dhaXQ0IDI2MAogI2RlZmluZSBfX05SX3BybGltaXQ2NCAyNjEKICNkZWZpbmUgX19OUl9mYW5vdGlmeV9pbml0IDI2MgogI2RlZmluZSBfX05SX2Zhbm90aWZ5X21hcmsgMjYzCi0jZGVmaW5lIF9fTlJfbmFtZV90b19oYW5kbGVfYXQgMjY0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX25hbWVfdG9faGFuZGxlX2F0IDI2NAogI2RlZmluZSBfX05SX29wZW5fYnlfaGFuZGxlX2F0IDI2NQogI2RlZmluZSBfX05SX2Nsb2NrX2FkanRpbWUgMjY2CiAjZGVmaW5lIF9fTlJfc3luY2ZzIDI2NwotI2RlZmluZSBfX05SX3NldG5zIDI2OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zZXRucyAyNjgKICNkZWZpbmUgX19OUl9zZW5kbW1zZyAyNjkKICNkZWZpbmUgX19OUl9wcm9jZXNzX3ZtX3JlYWR2IDI3MAogI2RlZmluZSBfX05SX3Byb2Nlc3Nfdm1fd3JpdGV2IDI3MQotI2RlZmluZSBfX05SX2tjbXAgMjcyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2tjbXAgMjcyCiAjZGVmaW5lIF9fTlJfZmluaXRfbW9kdWxlIDI3MwogI2RlZmluZSBfX05SX3NjaGVkX3NldGF0dHIgMjc0CiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YXR0ciAyNzUKLSN1bmRlZiBfX05SX3N5c2NhbGxzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3N5c2NhbGxzIDI3NgorI2RlZmluZSBfX05SX3JlbmFtZWF0MiAyNzYKKyNkZWZpbmUgX19OUl9zZWNjb21wIDI3NworI2RlZmluZSBfX05SX2dldHJhbmRvbSAyNzgKKyNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgMjc5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2JwZiAyODAKKyN1bmRlZiBfX05SX3N5c2NhbGxzCisjZGVmaW5lIF9fTlJfc3lzY2FsbHMgMjgxCiAjaWZkZWYgX19BUkNIX1dBTlRfU1lTQ0FMTF9OT19BVAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9vcGVuIDEwMjQKICNkZWZpbmUgX19OUl9saW5rIDEwMjUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdW5saW5rIDEwMjYKICNkZWZpbmUgX19OUl9ta25vZCAxMDI3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2NobW9kIDEwMjgKICNkZWZpbmUgX19OUl9jaG93biAxMDI5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX21rZGlyIDEwMzAKICNkZWZpbmUgX19OUl9ybWRpciAxMDMxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2xjaG93biAxMDMyCiAjZGVmaW5lIF9fTlJfYWNjZXNzIDEwMzMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcmVuYW1lIDEwMzQKICNkZWZpbmUgX19OUl9yZWFkbGluayAxMDM1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N5bWxpbmsgMTAzNgogI2RlZmluZSBfX05SX3V0aW1lcyAxMDM3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SMzI2NF9zdGF0IDEwMzgKICNkZWZpbmUgX19OUjMyNjRfbHN0YXQgMTAzOQotI3VuZGVmIF9fTlJfc3lzY2FsbHMKLSNkZWZpbmUgX19OUl9zeXNjYWxscyAoX19OUjMyNjRfbHN0YXQrMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjdW5kZWYgX19OUl9zeXNjYWxscworI2RlZmluZSBfX05SX3N5c2NhbGxzIChfX05SMzI2NF9sc3RhdCArIDEpCiAjZW5kaWYKICNpZmRlZiBfX0FSQ0hfV0FOVF9TWVNDQUxMX05PX0ZMQUdTCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3BpcGUgMTA0MAogI2RlZmluZSBfX05SX2R1cDIgMTA0MQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9lcG9sbF9jcmVhdGUgMTA0MgogI2RlZmluZSBfX05SX2lub3RpZnlfaW5pdCAxMDQzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2V2ZW50ZmQgMTA0NAogI2RlZmluZSBfX05SX3NpZ25hbGZkIDEwNDUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjdW5kZWYgX19OUl9zeXNjYWxscwotI2RlZmluZSBfX05SX3N5c2NhbGxzIChfX05SX3NpZ25hbGZkKzEpCisjZGVmaW5lIF9fTlJfc3lzY2FsbHMgKF9fTlJfc2lnbmFsZmQgKyAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgogI2lmIChfX0JJVFNfUEVSX0xPTkcgPT0gMzIgfHwgZGVmaW5lZChfX1NZU0NBTExfQ09NUEFUKSkgJiYgZGVmaW5lZChfX0FSQ0hfV0FOVF9TWVNDQUxMX09GRl9UKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZW5kZmlsZSAxMDQ2CiAjZGVmaW5lIF9fTlJfZnRydW5jYXRlIDEwNDcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdHJ1bmNhdGUgMTA0OAogI2RlZmluZSBfX05SX3N0YXQgMTA0OQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9sc3RhdCAxMDUwCiAjZGVmaW5lIF9fTlJfZnN0YXQgMTA1MQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9mY250bCAxMDUyCiAjZGVmaW5lIF9fTlJfZmFkdmlzZTY0IDEwNTMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fQVJDSF9XQU5UX1NZU19GQURWSVNFNjQKICNkZWZpbmUgX19OUl9uZXdmc3RhdGF0IDEwNTQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fQVJDSF9XQU5UX1NZU19ORVdGU1RBVEFUCiAjZGVmaW5lIF9fTlJfZnN0YXRmcyAxMDU1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N0YXRmcyAxMDU2CiAjZGVmaW5lIF9fTlJfbHNlZWsgMTA1NworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tbWFwIDEwNTgKICN1bmRlZiBfX05SX3N5c2NhbGxzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX05SX3N5c2NhbGxzIChfX05SX21tYXArMSkKKyNkZWZpbmUgX19OUl9zeXNjYWxscyAoX19OUl9tbWFwICsgMSkKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBfX0FSQ0hfV0FOVF9TWVNDQUxMX0RFUFJFQ0FURUQKICNkZWZpbmUgX19OUl9hbGFybSAxMDU5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0FSQ0hfV0FOVF9TWVNfQUxBUk0KICNkZWZpbmUgX19OUl9nZXRwZ3JwIDEwNjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fQVJDSF9XQU5UX1NZU19HRVRQR1JQCiAjZGVmaW5lIF9fTlJfcGF1c2UgMTA2MQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19BUkNIX1dBTlRfU1lTX1BBVVNFCiAjZGVmaW5lIF9fTlJfdGltZSAxMDYyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0FSQ0hfV0FOVF9TWVNfVElNRQogI2RlZmluZSBfX0FSQ0hfV0FOVF9DT01QQVRfU1lTX1RJTUUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdXRpbWUgMTA2MwogI2RlZmluZSBfX0FSQ0hfV0FOVF9TWVNfVVRJTUUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfY3JlYXQgMTA2NAogI2RlZmluZSBfX05SX2dldGRlbnRzIDEwNjUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fQVJDSF9XQU5UX1NZU19HRVRERU5UUwogI2RlZmluZSBfX05SX2Z1dGltZXNhdCAxMDY2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NlbGVjdCAxMDY3CiAjZGVmaW5lIF9fQVJDSF9XQU5UX1NZU19TRUxFQ1QKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcG9sbCAxMDY4CiAjZGVmaW5lIF9fTlJfZXBvbGxfd2FpdCAxMDY5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3VzdGF0IDEwNzAKICNkZWZpbmUgX19OUl92Zm9yayAxMDcxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX29sZHdhaXQ0IDEwNzIKICNkZWZpbmUgX19OUl9yZWN2IDEwNzMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2VuZCAxMDc0CiAjZGVmaW5lIF9fTlJfYmRmbHVzaCAxMDc1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3Vtb3VudCAxMDc2CiAjZGVmaW5lIF9fQVJDSF9XQU5UX1NZU19PTERVTU9VTlQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdXNlbGliIDEwNzcKICNkZWZpbmUgX19OUl9fc3lzY3RsIDEwNzgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZm9yayAxMDc5CiAjdW5kZWYgX19OUl9zeXNjYWxscwotI2RlZmluZSBfX05SX3N5c2NhbGxzIChfX05SX2ZvcmsrMSkKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zeXNjYWxscyAoX19OUl9mb3JrICsgMSkKKyNlbmRpZgogI2lmIF9fQklUU19QRVJfTE9ORyA9PSA2NCAmJiAhZGVmaW5lZChfX1NZU0NBTExfQ09NUEFUKQogI2RlZmluZSBfX05SX2ZjbnRsIF9fTlIzMjY0X2ZjbnRsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N0YXRmcyBfX05SMzI2NF9zdGF0ZnMKICNkZWZpbmUgX19OUl9mc3RhdGZzIF9fTlIzMjY0X2ZzdGF0ZnMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdHJ1bmNhdGUgX19OUjMyNjRfdHJ1bmNhdGUKICNkZWZpbmUgX19OUl9mdHJ1bmNhdGUgX19OUjMyNjRfZnRydW5jYXRlCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2xzZWVrIF9fTlIzMjY0X2xzZWVrCiAjZGVmaW5lIF9fTlJfc2VuZGZpbGUgX19OUjMyNjRfc2VuZGZpbGUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbmV3ZnN0YXRhdCBfX05SMzI2NF9mc3RhdGF0CiAjZGVmaW5lIF9fTlJfZnN0YXQgX19OUjMyNjRfZnN0YXQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbW1hcCBfX05SMzI2NF9tbWFwCiAjZGVmaW5lIF9fTlJfZmFkdmlzZTY0IF9fTlIzMjY0X2ZhZHZpc2U2NAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBfX05SMzI2NF9zdGF0CiAjZGVmaW5lIF9fTlJfc3RhdCBfX05SMzI2NF9zdGF0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2xzdGF0IF9fTlIzMjY0X2xzdGF0CiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxzZQogI2RlZmluZSBfX05SX2ZjbnRsNjQgX19OUjMyNjRfZmNudGwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc3RhdGZzNjQgX19OUjMyNjRfc3RhdGZzCiAjZGVmaW5lIF9fTlJfZnN0YXRmczY0IF9fTlIzMjY0X2ZzdGF0ZnMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdHJ1bmNhdGU2NCBfX05SMzI2NF90cnVuY2F0ZQogI2RlZmluZSBfX05SX2Z0cnVuY2F0ZTY0IF9fTlIzMjY0X2Z0cnVuY2F0ZQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9sbHNlZWsgX19OUjMyNjRfbHNlZWsKICNkZWZpbmUgX19OUl9zZW5kZmlsZTY0IF9fTlIzMjY0X3NlbmRmaWxlCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2ZzdGF0YXQ2NCBfX05SMzI2NF9mc3RhdGF0CiAjZGVmaW5lIF9fTlJfZnN0YXQ2NCBfX05SMzI2NF9mc3RhdAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tbWFwMiBfX05SMzI2NF9tbWFwCiAjZGVmaW5lIF9fTlJfZmFkdmlzZTY0XzY0IF9fTlIzMjY0X2ZhZHZpc2U2NAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBfX05SMzI2NF9zdGF0CiAjZGVmaW5lIF9fTlJfc3RhdDY0IF9fTlIzMjY0X3N0YXQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbHN0YXQ2NCBfX05SMzI2NF9sc3RhdAogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9iaXRmaWVsZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vYml0ZmllbGQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmU1NmNjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vYml0ZmllbGQuaApAQCAtMCwwICsxLDIzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9fVUFQSV9BU01fQklURklFTERfSAorI2RlZmluZSBfX1VBUElfQVNNX0JJVEZJRUxEX0gKKyNkZWZpbmUgX19CSVRGSUVMRF9GSUVMRChmaWVsZCxtb3JlKSBtb3JlIGZpZWxkOworI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vY2FjaGVjdGwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2NhY2hlY3RsLmgKaW5kZXggNmNjNmYyOC4uODZjZjNlNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vY2FjaGVjdGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9jYWNoZWN0bC5oCkBAIC0xOCwxMCArMTgsMTAgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfQVNNX0NBQ0hFQ1RMCiAjZGVmaW5lIF9BU01fQ0FDSEVDVEwKLSNkZWZpbmUgSUNBQ0hFICgxPDwwKQotI2RlZmluZSBEQ0FDSEUgKDE8PDEpCisjZGVmaW5lIElDQUNIRSAoMSA8PCAwKQorI2RlZmluZSBEQ0FDSEUgKDEgPDwgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJDQUNIRSAoSUNBQ0hFfERDQUNIRSkKKyNkZWZpbmUgQkNBQ0hFIChJQ0FDSEUgfCBEQ0FDSEUpCiAjZGVmaW5lIENBQ0hFQUJMRSAwCiAjZGVmaW5lIFVOQ0FDSEVBQkxFIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vZmNudGwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2ZjbnRsLmgKaW5kZXggMDJlYTNhYy4uODZhZDk3MyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vZmNudGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9mY250bC5oCkBAIC0zMiw3ICszMiw3IEBACiAjZGVmaW5lIE9fTEFSR0VGSUxFIDB4MjAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19PX1NZTkMgMHg0MDAwCi0jZGVmaW5lIE9fU1lOQyAoX19PX1NZTkN8T19EU1lOQykKKyNkZWZpbmUgT19TWU5DIChfX09fU1lOQyB8IE9fRFNZTkMpCiAjZGVmaW5lIE9fRElSRUNUIDB4ODAwMAogI2RlZmluZSBGX0dFVExLIDE0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNTEsMTQgKzUxLDE0IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBmbG9jayB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IGxfdHlwZTsKLSBzaG9ydCBsX3doZW5jZTsKLSBfX2tlcm5lbF9vZmZfdCBsX3N0YXJ0OwotIF9fa2VybmVsX29mZl90IGxfbGVuOworICBzaG9ydCBsX3R5cGU7CisgIHNob3J0IGxfd2hlbmNlOworICBfX2tlcm5lbF9vZmZfdCBsX3N0YXJ0OworICBfX2tlcm5lbF9vZmZfdCBsX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyBsX3N5c2lkOwotIF9fa2VybmVsX3BpZF90IGxfcGlkOwotIGxvbmcgcGFkWzRdOworICBsb25nIGxfc3lzaWQ7CisgIF9fa2VybmVsX3BpZF90IGxfcGlkOworICBsb25nIHBhZFs0XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBIQVZFX0FSQ0hfU1RSVUNUX0ZMT0NLCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9pbnN0LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9pbnN0LmgKaW5kZXggYzQ2ZDA5Yi4uZTliODM3MiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vaW5zdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2luc3QuaApAQCAtMTgsODY3ICsxOCwxMDMzIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX1VBUElfQVNNX0lOU1RfSAogI2RlZmluZSBfVUFQSV9BU01fSU5TVF9ICisjaW5jbHVkZSA8YXNtL2JpdGZpZWxkLmg+CiBlbnVtIG1ham9yX29wIHsKLSBzcGVjX29wLCBiY29uZF9vcCwgal9vcCwgamFsX29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBiZXFfb3AsIGJuZV9vcCwgYmxlel9vcCwgYmd0el9vcCwKLSBhZGRpX29wLCBhZGRpdV9vcCwgc2x0aV9vcCwgc2x0aXVfb3AsCi0gYW5kaV9vcCwgb3JpX29wLCB4b3JpX29wLCBsdWlfb3AsCi0gY29wMF9vcCwgY29wMV9vcCwgY29wMl9vcCwgY29wMXhfb3AsCisgIHNwZWNfb3AsCisgIGJjb25kX29wLAorICBqX29wLAorICBqYWxfb3AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGJlcWxfb3AsIGJuZWxfb3AsIGJsZXpsX29wLCBiZ3R6bF9vcCwKLSBkYWRkaV9vcCwgZGFkZGl1X29wLCBsZGxfb3AsIGxkcl9vcCwKLSBzcGVjMl9vcCwgamFseF9vcCwgbWRteF9vcCwgc3BlYzNfb3AsCi0gbGJfb3AsIGxoX29wLCBsd2xfb3AsIGx3X29wLAorICBiZXFfb3AsCisgIGJuZV9vcCwKKyAgYmxlel9vcCwKKyAgYmd0el9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbGJ1X29wLCBsaHVfb3AsIGx3cl9vcCwgbHd1X29wLAotIHNiX29wLCBzaF9vcCwgc3dsX29wLCBzd19vcCwKLSBzZGxfb3AsIHNkcl9vcCwgc3dyX29wLCBjYWNoZV9vcCwKLSBsbF9vcCwgbHdjMV9vcCwgbHdjMl9vcCwgcHJlZl9vcCwKKyAgYWRkaV9vcCwKKyAgYWRkaXVfb3AsCisgIHNsdGlfb3AsCisgIHNsdGl1X29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsbGRfb3AsIGxkYzFfb3AsIGxkYzJfb3AsIGxkX29wLAotIHNjX29wLCBzd2MxX29wLCBzd2MyX29wLCBtYWpvcl8zYl9vcCwKLSBzY2Rfb3AsIHNkYzFfb3AsIHNkYzJfb3AsIHNkX29wCisgIGFuZGlfb3AsCisgIG9yaV9vcCwKKyAgeG9yaV9vcCwKKyAgbHVpX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgY29wMF9vcCwKKyAgY29wMV9vcCwKKyAgY29wMl9vcCwKKyAgY29wMXhfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBiZXFsX29wLAorICBibmVsX29wLAorICBibGV6bF9vcCwKKyAgYmd0emxfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBkYWRkaV9vcCwKKyAgZGFkZGl1X29wLAorICBsZGxfb3AsCisgIGxkcl9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHNwZWMyX29wLAorICBqYWx4X29wLAorICBtZG14X29wLAorICBzcGVjM19vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGxiX29wLAorICBsaF9vcCwKKyAgbHdsX29wLAorICBsd19vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGxidV9vcCwKKyAgbGh1X29wLAorICBsd3Jfb3AsCisgIGx3dV9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHNiX29wLAorICBzaF9vcCwKKyAgc3dsX29wLAorICBzd19vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHNkbF9vcCwKKyAgc2RyX29wLAorICBzd3Jfb3AsCisgIGNhY2hlX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbGxfb3AsCisgIGx3YzFfb3AsCisgIGx3YzJfb3AsCisgIHByZWZfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBsbGRfb3AsCisgIGxkYzFfb3AsCisgIGxkYzJfb3AsCisgIGxkX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc2Nfb3AsCisgIHN3YzFfb3AsCisgIHN3YzJfb3AsCisgIG1ham9yXzNiX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc2NkX29wLAorICBzZGMxX29wLAorICBzZGMyX29wLAorICBzZF9vcAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBzcGVjX29wIHsKLSBzbGxfb3AsIG1vdmNfb3AsIHNybF9vcCwgc3JhX29wLAotIHNsbHZfb3AsIHBtb25fb3AsIHNybHZfb3AsIHNyYXZfb3AsCi0ganJfb3AsIGphbHJfb3AsIG1vdnpfb3AsIG1vdm5fb3AsCisgIHNsbF9vcCwKKyAgbW92Y19vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3lzY2FsbF9vcCwgYnJlYWtfb3AsIHNwaW1fb3AsIHN5bmNfb3AsCi0gbWZoaV9vcCwgbXRoaV9vcCwgbWZsb19vcCwgbXRsb19vcCwKLSBkc2xsdl9vcCwgc3BlYzJfdW51c2VkX29wLCBkc3Jsdl9vcCwgZHNyYXZfb3AsCi0gbXVsdF9vcCwgbXVsdHVfb3AsIGRpdl9vcCwgZGl2dV9vcCwKKyAgc3JsX29wLAorICBzcmFfb3AsCisgIHNsbHZfb3AsCisgIHBtb25fb3AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRtdWx0X29wLCBkbXVsdHVfb3AsIGRkaXZfb3AsIGRkaXZ1X29wLAotIGFkZF9vcCwgYWRkdV9vcCwgc3ViX29wLCBzdWJ1X29wLAotIGFuZF9vcCwgb3Jfb3AsIHhvcl9vcCwgbm9yX29wLAotIHNwZWMzX3VudXNlZF9vcCwgc3BlYzRfdW51c2VkX29wLCBzbHRfb3AsIHNsdHVfb3AsCisgIHNybHZfb3AsCisgIHNyYXZfb3AsCisgIGpyX29wLAorICBqYWxyX29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkYWRkX29wLCBkYWRkdV9vcCwgZHN1Yl9vcCwgZHN1YnVfb3AsCi0gdGdlX29wLCB0Z2V1X29wLCB0bHRfb3AsIHRsdHVfb3AsCi0gdGVxX29wLCBzcGVjNV91bnVzZWRfb3AsIHRuZV9vcCwgc3BlYzZfdW51c2VkX29wLAotIGRzbGxfb3AsIHNwZWM3X3VudXNlZF9vcCwgZHNybF9vcCwgZHNyYV9vcCwKKyAgbW92el9vcCwKKyAgbW92bl9vcCwKKyAgc3lzY2FsbF9vcCwKKyAgYnJlYWtfb3AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRzbGwzMl9vcCwgc3BlYzhfdW51c2VkX29wLCBkc3JsMzJfb3AsIGRzcmEzMl9vcAorICBzcGltX29wLAorICBzeW5jX29wLAorICBtZmhpX29wLAorICBtdGhpX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbWZsb19vcCwKKyAgbXRsb19vcCwKKyAgZHNsbHZfb3AsCisgIHNwZWMyX3VudXNlZF9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGRzcmx2X29wLAorICBkc3Jhdl9vcCwKKyAgbXVsdF9vcCwKKyAgbXVsdHVfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBkaXZfb3AsCisgIGRpdnVfb3AsCisgIGRtdWx0X29wLAorICBkbXVsdHVfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBkZGl2X29wLAorICBkZGl2dV9vcCwKKyAgYWRkX29wLAorICBhZGR1X29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3ViX29wLAorICBzdWJ1X29wLAorICBhbmRfb3AsCisgIG9yX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgeG9yX29wLAorICBub3Jfb3AsCisgIHNwZWMzX3VudXNlZF9vcCwKKyAgc3BlYzRfdW51c2VkX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc2x0X29wLAorICBzbHR1X29wLAorICBkYWRkX29wLAorICBkYWRkdV9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGRzdWJfb3AsCisgIGRzdWJ1X29wLAorICB0Z2Vfb3AsCisgIHRnZXVfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB0bHRfb3AsCisgIHRsdHVfb3AsCisgIHRlcV9vcCwKKyAgc3BlYzVfdW51c2VkX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdG5lX29wLAorICBzcGVjNl91bnVzZWRfb3AsCisgIGRzbGxfb3AsCisgIHNwZWM3X3VudXNlZF9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGRzcmxfb3AsCisgIGRzcmFfb3AsCisgIGRzbGwzMl9vcCwKKyAgc3BlYzhfdW51c2VkX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZHNybDMyX29wLAorICBkc3JhMzJfb3AKIH07CiBlbnVtIHNwZWMyX29wIHsKLSBtYWRkX29wLCBtYWRkdV9vcCwgbXVsX29wLCBzcGVjMl8zX3VudXNlZF9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbXN1Yl9vcCwgbXN1YnVfb3AsCi0gY2x6X29wID0gMHgyMCwgY2xvX29wLAotIGRjbHpfb3AgPSAweDI0LCBkY2xvX29wLAotIHNkYnBwX29wID0gMHgzZgorICBtYWRkX29wLAorICBtYWRkdV9vcCwKKyAgbXVsX29wLAorICBzcGVjMl8zX3VudXNlZF9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1zdWJfb3AsCisgIG1zdWJ1X29wLAorICBjbHpfb3AgPSAweDIwLAorICBjbG9fb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBkY2x6X29wID0gMHgyNCwKKyAgZGNsb19vcCwKKyAgc2RicHBfb3AgPSAweDNmCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gc3BlYzNfb3AgewotIGV4dF9vcCwgZGV4dG1fb3AsIGRleHR1X29wLCBkZXh0X29wLAotIGluc19vcCwgZGluc21fb3AsIGRpbnN1X29wLCBkaW5zX29wLAorICBleHRfb3AsCisgIGRleHRtX29wLAorICBkZXh0dV9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbHhfb3AgPSAweDBhLAotIGJzaGZsX29wID0gMHgyMCwKLSBkYnNoZmxfb3AgPSAweDI0LAotIHJkaHdyX29wID0gMHgzYgorICBkZXh0X29wLAorICBpbnNfb3AsCisgIGRpbnNtX29wLAorICBkaW5zdV9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGRpbnNfb3AsCisgIHlpZWxkX29wID0gMHgwOSwKKyAgbHhfb3AgPSAweDBhLAorICBsd2xlX29wID0gMHgxOSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGx3cmVfb3AgPSAweDFhLAorICBjYWNoZWVfb3AgPSAweDFiLAorICBzYmVfb3AgPSAweDFjLAorICBzaGVfb3AgPSAweDFkLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc2NlX29wID0gMHgxZSwKKyAgc3dlX29wID0gMHgxZiwKKyAgYnNoZmxfb3AgPSAweDIwLAorICBzd2xlX29wID0gMHgyMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN3cmVfb3AgPSAweDIyLAorICBwcmVmZV9vcCA9IDB4MjMsCisgIGRic2hmbF9vcCA9IDB4MjQsCisgIGxidWVfb3AgPSAweDI4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbGh1ZV9vcCA9IDB4MjksCisgIGxiZV9vcCA9IDB4MmMsCisgIGxoZV9vcCA9IDB4MmQsCisgIGxsZV9vcCA9IDB4MmUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBsd2Vfb3AgPSAweDJmLAorICByZGh3cl9vcCA9IDB4M2IKIH07CiBlbnVtIHJ0X29wIHsKLSBibHR6X29wLCBiZ2V6X29wLCBibHR6bF9vcCwgYmdlemxfb3AsCi0gc3BpbWlfb3AsIHVudXNlZF9ydF9vcF8weDA1LCB1bnVzZWRfcnRfb3BfMHgwNiwgdW51c2VkX3J0X29wXzB4MDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHRnZWlfb3AsIHRnZWl1X29wLCB0bHRpX29wLCB0bHRpdV9vcCwKLSB0ZXFpX29wLCB1bnVzZWRfMHgwZF9ydF9vcCwgdG5laV9vcCwgdW51c2VkXzB4MGZfcnRfb3AsCi0gYmx0emFsX29wLCBiZ2V6YWxfb3AsIGJsdHphbGxfb3AsIGJnZXphbGxfb3AsCi0gcnRfb3BfMHgxNCwgcnRfb3BfMHgxNSwgcnRfb3BfMHgxNiwgcnRfb3BfMHgxNywKKyAgYmx0el9vcCwKKyAgYmdlel9vcCwKKyAgYmx0emxfb3AsCisgIGJnZXpsX29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBydF9vcF8weDE4LCBydF9vcF8weDE5LCBydF9vcF8weDFhLCBydF9vcF8weDFiLAotIGJwb3NnZTMyX29wLCBydF9vcF8weDFkLCBydF9vcF8weDFlLCBydF9vcF8weDFmCisgIHNwaW1pX29wLAorICB1bnVzZWRfcnRfb3BfMHgwNSwKKyAgdW51c2VkX3J0X29wXzB4MDYsCisgIHVudXNlZF9ydF9vcF8weDA3LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdGdlaV9vcCwKKyAgdGdlaXVfb3AsCisgIHRsdGlfb3AsCisgIHRsdGl1X29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdGVxaV9vcCwKKyAgdW51c2VkXzB4MGRfcnRfb3AsCisgIHRuZWlfb3AsCisgIHVudXNlZF8weDBmX3J0X29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgYmx0emFsX29wLAorICBiZ2V6YWxfb3AsCisgIGJsdHphbGxfb3AsCisgIGJnZXphbGxfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBydF9vcF8weDE0LAorICBydF9vcF8weDE1LAorICBydF9vcF8weDE2LAorICBydF9vcF8weDE3LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgcnRfb3BfMHgxOCwKKyAgcnRfb3BfMHgxOSwKKyAgcnRfb3BfMHgxYSwKKyAgcnRfb3BfMHgxYiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGJwb3NnZTMyX29wLAorICBydF9vcF8weDFkLAorICBydF9vcF8weDFlLAorICBydF9vcF8weDFmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gY29wX29wIHsKKyAgbWZjX29wID0gMHgwMCwKKyAgZG1mY19vcCA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1mY19vcCA9IDB4MDAsIGRtZmNfb3AgPSAweDAxLAotIGNmY19vcCA9IDB4MDIsIG1maGNfb3AgPSAweDAzLAotIG10Y19vcCA9IDB4MDQsIGRtdGNfb3AgPSAweDA1LAotIGN0Y19vcCA9IDB4MDYsIG10aGNfb3AgPSAweDA3LAorICBjZmNfb3AgPSAweDAyLAorICBtZmhjX29wID0gMHgwMywKKyAgbXRjX29wID0gMHgwNCwKKyAgZG10Y19vcCA9IDB4MDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGJjX29wID0gMHgwOCwgY29wX29wID0gMHgxMCwKLSBjb3BtX29wID0gMHgxOAorICBjdGNfb3AgPSAweDA2LAorICBtdGhjX29wID0gMHgwNywKKyAgYmNfb3AgPSAweDA4LAorICBjb3Bfb3AgPSAweDEwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgY29wbV9vcCA9IDB4MTgKIH07CiBlbnVtIGJjb3Bfb3AgeworICBiY2Zfb3AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGJjZl9vcCwgYmN0X29wLCBiY2ZsX29wLCBiY3RsX29wCisgIGJjdF9vcCwKKyAgYmNmbF9vcCwKKyAgYmN0bF9vcAogfTsKLWVudW0gY29wMF9jb2lfZnVuYyB7Ci0gdGxicl9vcCA9IDB4MDEsIHRsYndpX29wID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdGxid3Jfb3AgPSAweDA2LCB0bGJwX29wID0gMHgwOCwKLSByZmVfb3AgPSAweDEwLCBlcmV0X29wID0gMHgxOAorZW51bSBjb3AwX2NvaV9mdW5jIHsKKyAgdGxicl9vcCA9IDB4MDEsCisgIHRsYndpX29wID0gMHgwMiwKKyAgdGxid3Jfb3AgPSAweDA2LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdGxicF9vcCA9IDB4MDgsCisgIHJmZV9vcCA9IDB4MTAsCisgIGVyZXRfb3AgPSAweDE4LAorICB3YWl0X29wID0gMHgyMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBjb3AwX2NvbV9mdW5jIHsKKyAgdGxicjFfb3AgPSAweDAxLAorICB0bGJ3X29wID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdGxicjFfb3AgPSAweDAxLCB0bGJ3X29wID0gMHgwMiwKLSB0bGJwMV9vcCA9IDB4MDgsIGRjdHJfb3AgPSAweDA5LAotIGRjdHdfb3AgPSAweDBhCisgIHRsYnAxX29wID0gMHgwOCwKKyAgZGN0cl9vcCA9IDB4MDksCisgIGRjdHdfb3AgPSAweDBhCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gY29wMV9mbXQgewotIHNfZm10LCBkX2ZtdCwgZV9mbXQsIHFfZm10LAotIHdfZm10LCBsX2ZtdAorICBzX2ZtdCwKKyAgZF9mbXQsCisgIGVfZm10LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgcV9mbXQsCisgIHdfZm10LAorICBsX2ZtdAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGNvcDFfc2R3X2Z1bmMgewotIGZhZGRfb3AgPSAweDAwLCBmc3ViX29wID0gMHgwMSwKLSBmbXVsX29wID0gMHgwMiwgZmRpdl9vcCA9IDB4MDMsCi0gZnNxcnRfb3AgPSAweDA0LCBmYWJzX29wID0gMHgwNSwKKyAgZmFkZF9vcCA9IDB4MDAsCisgIGZzdWJfb3AgPSAweDAxLAorICBmbXVsX29wID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZm1vdl9vcCA9IDB4MDYsIGZuZWdfb3AgPSAweDA3LAotIGZyb3VuZGxfb3AgPSAweDA4LCBmdHJ1bmNsX29wID0gMHgwOSwKLSBmY2VpbGxfb3AgPSAweDBhLCBmZmxvb3JsX29wID0gMHgwYiwKLSBmcm91bmRfb3AgPSAweDBjLCBmdHJ1bmNfb3AgPSAweDBkLAorICBmZGl2X29wID0gMHgwMywKKyAgZnNxcnRfb3AgPSAweDA0LAorICBmYWJzX29wID0gMHgwNSwKKyAgZm1vdl9vcCA9IDB4MDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGZjZWlsX29wID0gMHgwZSwgZmZsb29yX29wID0gMHgwZiwKLSBmbW92Y19vcCA9IDB4MTEsIGZtb3Z6X29wID0gMHgxMiwKLSBmbW92bl9vcCA9IDB4MTMsIGZyZWNpcF9vcCA9IDB4MTUsCi0gZnJzcXJ0X29wID0gMHgxNiwgZmN2dHNfb3AgPSAweDIwLAorICBmbmVnX29wID0gMHgwNywKKyAgZnJvdW5kbF9vcCA9IDB4MDgsCisgIGZ0cnVuY2xfb3AgPSAweDA5LAorICBmY2VpbGxfb3AgPSAweDBhLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBmY3Z0ZF9vcCA9IDB4MjEsIGZjdnRlX29wID0gMHgyMiwKLSBmY3Z0d19vcCA9IDB4MjQsIGZjdnRsX29wID0gMHgyNSwKLSBmY21wX29wID0gMHgzMAorICBmZmxvb3JsX29wID0gMHgwYiwKKyAgZnJvdW5kX29wID0gMHgwYywKKyAgZnRydW5jX29wID0gMHgwZCwKKyAgZmNlaWxfb3AgPSAweDBlLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZmZsb29yX29wID0gMHgwZiwKKyAgZm1vdmNfb3AgPSAweDExLAorICBmbW92el9vcCA9IDB4MTIsCisgIGZtb3ZuX29wID0gMHgxMywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGZyZWNpcF9vcCA9IDB4MTUsCisgIGZyc3FydF9vcCA9IDB4MTYsCisgIGZjdnRzX29wID0gMHgyMCwKKyAgZmN2dGRfb3AgPSAweDIxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZmN2dGVfb3AgPSAweDIyLAorICBmY3Z0d19vcCA9IDB4MjQsCisgIGZjdnRsX29wID0gMHgyNSwKKyAgZmNtcF9vcCA9IDB4MzAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gY29wMXhfZnVuYyB7Ci0gbHd4YzFfb3AgPSAweDAwLCBsZHhjMV9vcCA9IDB4MDEsCi0gc3d4YzFfb3AgPSAweDA4LCBzZHhjMV9vcCA9IDB4MDksCi0gcGZldGNoX29wID0gMHgwZiwgbWFkZF9zX29wID0gMHgyMCwKKyAgbHd4YzFfb3AgPSAweDAwLAorICBsZHhjMV9vcCA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1hZGRfZF9vcCA9IDB4MjEsIG1hZGRfZV9vcCA9IDB4MjIsCi0gbXN1Yl9zX29wID0gMHgyOCwgbXN1Yl9kX29wID0gMHgyOSwKLSBtc3ViX2Vfb3AgPSAweDJhLCBubWFkZF9zX29wID0gMHgzMCwKLSBubWFkZF9kX29wID0gMHgzMSwgbm1hZGRfZV9vcCA9IDB4MzIsCisgIHN3eGMxX29wID0gMHgwOCwKKyAgc2R4YzFfb3AgPSAweDA5LAorICBwZmV0Y2hfb3AgPSAweDBmLAorICBtYWRkX3Nfb3AgPSAweDIwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBubXN1Yl9zX29wID0gMHgzOCwgbm1zdWJfZF9vcCA9IDB4MzksCi0gbm1zdWJfZV9vcCA9IDB4M2EKKyAgbWFkZF9kX29wID0gMHgyMSwKKyAgbWFkZF9lX29wID0gMHgyMiwKKyAgbXN1Yl9zX29wID0gMHgyOCwKKyAgbXN1Yl9kX29wID0gMHgyOSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1zdWJfZV9vcCA9IDB4MmEsCisgIG5tYWRkX3Nfb3AgPSAweDMwLAorICBubWFkZF9kX29wID0gMHgzMSwKKyAgbm1hZGRfZV9vcCA9IDB4MzIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBubXN1Yl9zX29wID0gMHgzOCwKKyAgbm1zdWJfZF9vcCA9IDB4MzksCisgIG5tc3ViX2Vfb3AgPSAweDNhCiB9OwotZW51bSBtYWRfZnVuYyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1hZGRfZnBfb3AgPSAweDA4LCBtc3ViX2ZwX29wID0gMHgwYSwKLSBubWFkZF9mcF9vcCA9IDB4MGMsIG5tc3ViX2ZwX29wID0gMHgwZQorZW51bSBtYWRfZnVuYyB7CisgIG1hZGRfZnBfb3AgPSAweDA4LAorICBtc3ViX2ZwX29wID0gMHgwYSwKKyAgbm1hZGRfZnBfb3AgPSAweDBjLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbm1zdWJfZnBfb3AgPSAweDBlCiB9OwogZW51bSBseF9mdW5jIHsKKyAgbHd4X29wID0gMHgwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbHd4X29wID0gMHgwMCwKLSBsaHhfb3AgPSAweDA0LAotIGxidXhfb3AgPSAweDA2LAotIGxkeF9vcCA9IDB4MDgsCisgIGxoeF9vcCA9IDB4MDQsCisgIGxidXhfb3AgPSAweDA2LAorICBsZHhfb3AgPSAweDA4LAorICBsd3V4X29wID0gMHgxMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbHd1eF9vcCA9IDB4MTAsCi0gbGh1eF9vcCA9IDB4MTQsCi0gbGJ4X29wID0gMHgxNiwKKyAgbGh1eF9vcCA9IDB4MTQsCisgIGxieF9vcCA9IDB4MTYsCiB9OworZW51bSBic2hmbF9mdW5jIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHdzYmhfb3AgPSAweDIsCisgIGRzaGRfb3AgPSAweDUsCisgIHNlYl9vcCA9IDB4MTAsCisgIHNlaF9vcCA9IDB4MTgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKIGVudW0gbW1fbWFqb3Jfb3AgewotIG1tX3Bvb2wzMmFfb3AsIG1tX3Bvb2wxNmFfb3AsIG1tX2xidTE2X29wLCBtbV9tb3ZlMTZfb3AsCi0gbW1fYWRkaTMyX29wLCBtbV9sYnUzMl9vcCwgbW1fc2IzMl9vcCwgbW1fbGIzMl9vcCwKLSBtbV9wb29sMzJiX29wLCBtbV9wb29sMTZiX29wLCBtbV9saHUxNl9vcCwgbW1fYW5kaTE2X29wLAorICBtbV9wb29sMzJhX29wLAorICBtbV9wb29sMTZhX29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9hZGRpdTMyX29wLCBtbV9saHUzMl9vcCwgbW1fc2gzMl9vcCwgbW1fbGgzMl9vcCwKLSBtbV9wb29sMzJpX29wLCBtbV9wb29sMTZjX29wLCBtbV9sd3NwMTZfb3AsIG1tX3Bvb2wxNmRfb3AsCi0gbW1fb3JpMzJfb3AsIG1tX3Bvb2wzMmZfb3AsIG1tX3Jlc2VydmVkMV9vcCwgbW1fcmVzZXJ2ZWQyX29wLAotIG1tX3Bvb2wzMmNfb3AsIG1tX2x3Z3AxNl9vcCwgbW1fbHcxNl9vcCwgbW1fcG9vbDE2ZV9vcCwKKyAgbW1fbGJ1MTZfb3AsCisgIG1tX21vdmUxNl9vcCwKKyAgbW1fYWRkaTMyX29wLAorICBtbV9sYnUzMl9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1feG9yaTMyX29wLCBtbV9qYWxzMzJfb3AsIG1tX2FkZGl1cGNfb3AsIG1tX3Jlc2VydmVkM19vcCwKLSBtbV9yZXNlcnZlZDRfb3AsIG1tX3Bvb2wxNmZfb3AsIG1tX3NiMTZfb3AsIG1tX2JlcXoxNl9vcCwKLSBtbV9zbHRpMzJfb3AsIG1tX2JlcTMyX29wLCBtbV9zd2MxMzJfb3AsIG1tX2x3YzEzMl9vcCwKLSBtbV9yZXNlcnZlZDVfb3AsIG1tX3Jlc2VydmVkNl9vcCwgbW1fc2gxNl9vcCwgbW1fYm5lejE2X29wLAorICBtbV9zYjMyX29wLAorICBtbV9sYjMyX29wLAorICBtbV9wb29sMzJiX29wLAorICBtbV9wb29sMTZiX29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9zbHRpdTMyX29wLCBtbV9ibmUzMl9vcCwgbW1fc2RjMTMyX29wLCBtbV9sZGMxMzJfb3AsCi0gbW1fcmVzZXJ2ZWQ3X29wLCBtbV9yZXNlcnZlZDhfb3AsIG1tX3N3c3AxNl9vcCwgbW1fYjE2X29wLAotIG1tX2FuZGkzMl9vcCwgbW1fajMyX29wLCBtbV9zZDMyX29wLCBtbV9sZDMyX29wLAotIG1tX3Jlc2VydmVkMTFfb3AsIG1tX3Jlc2VydmVkMTJfb3AsIG1tX3N3MTZfb3AsIG1tX2xpMTZfb3AsCisgIG1tX2xodTE2X29wLAorICBtbV9hbmRpMTZfb3AsCisgIG1tX2FkZGl1MzJfb3AsCisgIG1tX2xodTMyX29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9qYWx4MzJfb3AsIG1tX2phbDMyX29wLCBtbV9zdzMyX29wLCBtbV9sdzMyX29wLAorICBtbV9zaDMyX29wLAorICBtbV9saDMyX29wLAorICBtbV9wb29sMzJpX29wLAorICBtbV9wb29sMTZjX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fbHdzcDE2X29wLAorICBtbV9wb29sMTZkX29wLAorICBtbV9vcmkzMl9vcCwKKyAgbW1fcG9vbDMyZl9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX3Jlc2VydmVkMV9vcCwKKyAgbW1fcmVzZXJ2ZWQyX29wLAorICBtbV9wb29sMzJjX29wLAorICBtbV9sd2dwMTZfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBtbV9sdzE2X29wLAorICBtbV9wb29sMTZlX29wLAorICBtbV94b3JpMzJfb3AsCisgIG1tX2phbHMzMl9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX2FkZGl1cGNfb3AsCisgIG1tX3Jlc2VydmVkM19vcCwKKyAgbW1fcmVzZXJ2ZWQ0X29wLAorICBtbV9wb29sMTZmX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fc2IxNl9vcCwKKyAgbW1fYmVxejE2X29wLAorICBtbV9zbHRpMzJfb3AsCisgIG1tX2JlcTMyX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fc3djMTMyX29wLAorICBtbV9sd2MxMzJfb3AsCisgIG1tX3Jlc2VydmVkNV9vcCwKKyAgbW1fcmVzZXJ2ZWQ2X29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fc2gxNl9vcCwKKyAgbW1fYm5lejE2X29wLAorICBtbV9zbHRpdTMyX29wLAorICBtbV9ibmUzMl9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX3NkYzEzMl9vcCwKKyAgbW1fbGRjMTMyX29wLAorICBtbV9yZXNlcnZlZDdfb3AsCisgIG1tX3Jlc2VydmVkOF9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX3N3c3AxNl9vcCwKKyAgbW1fYjE2X29wLAorICBtbV9hbmRpMzJfb3AsCisgIG1tX2ozMl9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX3NkMzJfb3AsCisgIG1tX2xkMzJfb3AsCisgIG1tX3Jlc2VydmVkMTFfb3AsCisgIG1tX3Jlc2VydmVkMTJfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBtbV9zdzE2X29wLAorICBtbV9saTE2X29wLAorICBtbV9qYWx4MzJfb3AsCisgIG1tX2phbDMyX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fc3czMl9vcCwKKyAgbW1fbHczMl9vcCwKIH07CiBlbnVtIG1tXzMyaV9taW5vcl9vcCB7Ci0gbW1fYmx0el9vcCwgbW1fYmx0emFsX29wLCBtbV9iZ2V6X29wLCBtbV9iZ2V6YWxfb3AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2JsZXpfb3AsIG1tX2JuZXpjX29wLCBtbV9iZ3R6X29wLCBtbV9iZXF6Y19vcCwKLSBtbV90bHRpX29wLCBtbV90Z2VpX29wLCBtbV90bHRpdV9vcCwgbW1fdGdlaXVfb3AsCi0gbW1fdG5laV9vcCwgbW1fbHVpX29wLCBtbV90ZXFpX29wLCBtbV9yZXNlcnZlZDEzX29wLAotIG1tX3N5bmNpX29wLCBtbV9ibHR6YWxzX29wLCBtbV9yZXNlcnZlZDE0X29wLCBtbV9iZ2V6YWxzX29wLAorICBtbV9ibHR6X29wLAorICBtbV9ibHR6YWxfb3AsCisgIG1tX2JnZXpfb3AsCisgIG1tX2JnZXphbF9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fYmMyZl9vcCwgbW1fYmMydF9vcCwgbW1fcmVzZXJ2ZWQxNV9vcCwgbW1fcmVzZXJ2ZWQxNl9vcCwKLSBtbV9yZXNlcnZlZDE3X29wLCBtbV9yZXNlcnZlZDE4X29wLCBtbV9icG9zZ2U2NF9vcCwgbW1fYnBvc2dlMzJfb3AsCi0gbW1fYmMxZl9vcCwgbW1fYmMxdF9vcCwgbW1fcmVzZXJ2ZWQxOV9vcCwgbW1fcmVzZXJ2ZWQyMF9vcCwKLSBtbV9iYzFhbnkyZl9vcCwgbW1fYmMxYW55MnRfb3AsIG1tX2JjMWFueTRmX29wLCBtbV9iYzFhbnk0dF9vcCwKKyAgbW1fYmxlel9vcCwKKyAgbW1fYm5lemNfb3AsCisgIG1tX2JndHpfb3AsCisgIG1tX2JlcXpjX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fdGx0aV9vcCwKKyAgbW1fdGdlaV9vcCwKKyAgbW1fdGx0aXVfb3AsCisgIG1tX3RnZWl1X29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fdG5laV9vcCwKKyAgbW1fbHVpX29wLAorICBtbV90ZXFpX29wLAorICBtbV9yZXNlcnZlZDEzX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fc3luY2lfb3AsCisgIG1tX2JsdHphbHNfb3AsCisgIG1tX3Jlc2VydmVkMTRfb3AsCisgIG1tX2JnZXphbHNfb3AsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBtbV9iYzJmX29wLAorICBtbV9iYzJ0X29wLAorICBtbV9yZXNlcnZlZDE1X29wLAorICBtbV9yZXNlcnZlZDE2X29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fcmVzZXJ2ZWQxN19vcCwKKyAgbW1fcmVzZXJ2ZWQxOF9vcCwKKyAgbW1fYnBvc2dlNjRfb3AsCisgIG1tX2Jwb3NnZTMyX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fYmMxZl9vcCwKKyAgbW1fYmMxdF9vcCwKKyAgbW1fcmVzZXJ2ZWQxOV9vcCwKKyAgbW1fcmVzZXJ2ZWQyMF9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX2JjMWFueTJmX29wLAorICBtbV9iYzFhbnkydF9vcCwKKyAgbW1fYmMxYW55NGZfb3AsCisgIG1tX2JjMWFueTR0X29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG1tXzMyYV9taW5vcl9vcCB7Ci0gbW1fc2xsMzJfb3AgPSAweDAwMCwKLSBtbV9pbnNfb3AgPSAweDAwYywKKyAgbW1fc2xsMzJfb3AgPSAweDAwMCwKKyAgbW1faW5zX29wID0gMHgwMGMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2V4dF9vcCA9IDB4MDJjLAotIG1tX3Bvb2wzMmF4Zl9vcCA9IDB4MDNjLAotIG1tX3NybDMyX29wID0gMHgwNDAsCi0gbW1fc3JhX29wID0gMHgwODAsCisgIG1tX3NsbHYzMl9vcCA9IDB4MDEwLAorICBtbV9leHRfb3AgPSAweDAyYywKKyAgbW1fcG9vbDMyYXhmX29wID0gMHgwM2MsCisgIG1tX3NybDMyX29wID0gMHgwNDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX3JvdHJfb3AgPSAweDBjMCwKLSBtbV9sd3hzX29wID0gMHgxMTgsCi0gbW1fYWRkdTMyX29wID0gMHgxNTAsCi0gbW1fc3VidTMyX29wID0gMHgxZDAsCisgIG1tX3NyYV9vcCA9IDB4MDgwLAorICBtbV9zcmx2MzJfb3AgPSAweDA5MCwKKyAgbW1fcm90cl9vcCA9IDB4MGMwLAorICBtbV9sd3hzX29wID0gMHgxMTgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2FuZF9vcCA9IDB4MjUwLAotIG1tX29yMzJfb3AgPSAweDI5MCwKLSBtbV94b3IzMl9vcCA9IDB4MzEwLAorICBtbV9hZGR1MzJfb3AgPSAweDE1MCwKKyAgbW1fc3VidTMyX29wID0gMHgxZDAsCisgIG1tX3dzYmhfb3AgPSAweDFlYywKKyAgbW1fbXVsX29wID0gMHgyMTAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBtbV9hbmRfb3AgPSAweDI1MCwKKyAgbW1fb3IzMl9vcCA9IDB4MjkwLAorICBtbV94b3IzMl9vcCA9IDB4MzEwLAorICBtbV9zbHRfb3AgPSAweDM1MCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX3NsdHVfb3AgPSAweDM5MCwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBtbV8zMmJfZnVuYyB7Ci0gbW1fbHdjMl9mdW5jID0gMHgwLAotIG1tX2x3cF9mdW5jID0gMHgxLAotIG1tX2xkYzJfZnVuYyA9IDB4MiwKKyAgbW1fbHdjMl9mdW5jID0gMHgwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9sZHBfZnVuYyA9IDB4NCwKLSBtbV9sd20zMl9mdW5jID0gMHg1LAotIG1tX2NhY2hlX2Z1bmMgPSAweDYsCi0gbW1fbGRtX2Z1bmMgPSAweDcsCisgIG1tX2x3cF9mdW5jID0gMHgxLAorICBtbV9sZGMyX2Z1bmMgPSAweDIsCisgIG1tX2xkcF9mdW5jID0gMHg0LAorICBtbV9sd20zMl9mdW5jID0gMHg1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9zd2MyX2Z1bmMgPSAweDgsCi0gbW1fc3dwX2Z1bmMgPSAweDksCi0gbW1fc2RjMl9mdW5jID0gMHhhLAotIG1tX3NkcF9mdW5jID0gMHhjLAorICBtbV9jYWNoZV9mdW5jID0gMHg2LAorICBtbV9sZG1fZnVuYyA9IDB4NywKKyAgbW1fc3djMl9mdW5jID0gMHg4LAorICBtbV9zd3BfZnVuYyA9IDB4OSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fc3dtMzJfZnVuYyA9IDB4ZCwKLSBtbV9zZG1fZnVuYyA9IDB4ZiwKKyAgbW1fc2RjMl9mdW5jID0gMHhhLAorICBtbV9zZHBfZnVuYyA9IDB4YywKKyAgbW1fc3dtMzJfZnVuYyA9IDB4ZCwKKyAgbW1fc2RtX2Z1bmMgPSAweGYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gbW1fMzJjX2Z1bmMgeworICBtbV9wcmVmX2Z1bmMgPSAweDIsCisgIG1tX2xsX2Z1bmMgPSAweDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX3ByZWZfZnVuYyA9IDB4MiwKLSBtbV9sbF9mdW5jID0gMHgzLAotIG1tX3N3cl9mdW5jID0gMHg5LAotIG1tX3NjX2Z1bmMgPSAweGIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2x3dV9mdW5jID0gMHhlLAorICBtbV9zd3JfZnVuYyA9IDB4OSwKKyAgbW1fc2NfZnVuYyA9IDB4YiwKKyAgbW1fbHd1X2Z1bmMgPSAweGUsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbW1fMzJheGZfbWlub3Jfb3AgewotIG1tX21mYzBfb3AgPSAweDAwMywKKyAgbW1fbWZjMF9vcCA9IDB4MDAzLAorICBtbV9tdGMwX29wID0gMHgwMGIsCisgIG1tX3RsYnBfb3AgPSAweDAwZCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fbXRjMF9vcCA9IDB4MDBiLAotIG1tX3RsYnBfb3AgPSAweDAwZCwKLSBtbV9qYWxyX29wID0gMHgwM2MsCi0gbW1fdGxicl9vcCA9IDB4MDRkLAorICBtbV9tZmhpMzJfb3AgPSAweDAzNSwKKyAgbW1famFscl9vcCA9IDB4MDNjLAorICBtbV90bGJyX29wID0gMHgwNGQsCisgIG1tX21mbG8zMl9vcCA9IDB4MDc1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9qYWxyaGJfb3AgPSAweDA3YywKLSBtbV90bGJ3aV9vcCA9IDB4MDhkLAotIG1tX3RsYndyX29wID0gMHgwY2QsCi0gbW1famFscnNfb3AgPSAweDEzYywKKyAgbW1famFscmhiX29wID0gMHgwN2MsCisgIG1tX3RsYndpX29wID0gMHgwOGQsCisgIG1tX3RsYndyX29wID0gMHgwY2QsCisgIG1tX2phbHJzX29wID0gMHgxM2MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2phbHJzaGJfb3AgPSAweDE3YywKLSBtbV9zeXNjYWxsX29wID0gMHgyMmQsCi0gbW1fZXJldF9vcCA9IDB4M2NkLAorICBtbV9qYWxyc2hiX29wID0gMHgxN2MsCisgIG1tX3N5bmNfb3AgPSAweDFhZCwKKyAgbW1fc3lzY2FsbF9vcCA9IDB4MjJkLAorICBtbV93YWl0X29wID0gMHgyNGQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBtbV9lcmV0X29wID0gMHgzY2QsCisgIG1tX2RpdnVfb3AgPSAweDVkYywKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBtbV8zMmZfbWlub3Jfb3AgewotIG1tXzMyZl8wMF9vcCA9IDB4MDAsCi0gbW1fMzJmXzAxX29wID0gMHgwMSwKLSBtbV8zMmZfMDJfb3AgPSAweDAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV8zMmZfMTBfb3AgPSAweDA4LAotIG1tXzMyZl8xMV9vcCA9IDB4MDksCi0gbW1fMzJmXzEyX29wID0gMHgwYSwKLSBtbV8zMmZfMjBfb3AgPSAweDEwLAorICBtbV8zMmZfMDBfb3AgPSAweDAwLAorICBtbV8zMmZfMDFfb3AgPSAweDAxLAorICBtbV8zMmZfMDJfb3AgPSAweDAyLAorICBtbV8zMmZfMTBfb3AgPSAweDA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV8zMmZfMzBfb3AgPSAweDE4LAotIG1tXzMyZl80MF9vcCA9IDB4MjAsCi0gbW1fMzJmXzQxX29wID0gMHgyMSwKLSBtbV8zMmZfNDJfb3AgPSAweDIyLAorICBtbV8zMmZfMTFfb3AgPSAweDA5LAorICBtbV8zMmZfMTJfb3AgPSAweDBhLAorICBtbV8zMmZfMjBfb3AgPSAweDEwLAorICBtbV8zMmZfMzBfb3AgPSAweDE4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV8zMmZfNTBfb3AgPSAweDI4LAotIG1tXzMyZl81MV9vcCA9IDB4MjksCi0gbW1fMzJmXzUyX29wID0gMHgyYSwKLSBtbV8zMmZfNjBfb3AgPSAweDMwLAorICBtbV8zMmZfNDBfb3AgPSAweDIwLAorICBtbV8zMmZfNDFfb3AgPSAweDIxLAorICBtbV8zMmZfNDJfb3AgPSAweDIyLAorICBtbV8zMmZfNTBfb3AgPSAweDI4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV8zMmZfNzBfb3AgPSAweDM4LAotIG1tXzMyZl83M19vcCA9IDB4M2IsCi0gbW1fMzJmXzc0X29wID0gMHgzYywKKyAgbW1fMzJmXzUxX29wID0gMHgyOSwKKyAgbW1fMzJmXzUyX29wID0gMHgyYSwKKyAgbW1fMzJmXzYwX29wID0gMHgzMCwKKyAgbW1fMzJmXzcwX29wID0gMHgzOCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tXzMyZl83M19vcCA9IDB4M2IsCisgIG1tXzMyZl83NF9vcCA9IDB4M2MsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbW1fMzJmXzEwX21pbm9yX29wIHsKLSBtbV9sd3hjMV9vcCA9IDB4MSwKLSBtbV9zd3hjMV9vcCwKLSBtbV9sZHhjMV9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fc2R4YzFfb3AsCi0gbW1fbHV4YzFfb3AsCi0gbW1fc3V4YzFfb3AsCisgIG1tX2x3eGMxX29wID0gMHgxLAorICBtbV9zd3hjMV9vcCwKKyAgbW1fbGR4YzFfb3AsCisgIG1tX3NkeGMxX29wLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fbHV4YzFfb3AsCisgIG1tX3N1eGMxX29wLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG1tXzMyZl9mdW5jIHsKLSBtbV9sd3hjMV9mdW5jID0gMHgwNDgsCi0gbW1fc3d4YzFfZnVuYyA9IDB4MDg4LAotIG1tX2xkeGMxX2Z1bmMgPSAweDBjOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fc2R4YzFfZnVuYyA9IDB4MTA4LAorICBtbV9sd3hjMV9mdW5jID0gMHgwNDgsCisgIG1tX3N3eGMxX2Z1bmMgPSAweDA4OCwKKyAgbW1fbGR4YzFfZnVuYyA9IDB4MGM4LAorICBtbV9zZHhjMV9mdW5jID0gMHgxMDgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gbW1fMzJmXzQwX21pbm9yX29wIHsKLSBtbV9mbW92Zl9vcCwKKyAgbW1fZm1vdmZfb3AsCisgIG1tX2Ztb3Z0X29wLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9mbW92dF9vcCwKIH07CiBlbnVtIG1tXzMyZl82MF9taW5vcl9vcCB7Ci0gbW1fZmFkZF9vcCwKKyAgbW1fZmFkZF9vcCwKKyAgbW1fZnN1Yl9vcCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fZnN1Yl9vcCwKLSBtbV9mbXVsX29wLAotIG1tX2ZkaXZfb3AsCisgIG1tX2ZtdWxfb3AsCisgIG1tX2ZkaXZfb3AsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbW1fMzJmXzcwX21pbm9yX29wIHsKLSBtbV9mbW92bl9vcCwKLSBtbV9mbW92el9vcCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX2Ztb3ZuX29wLAorICBtbV9mbW92el9vcCwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBtbV8zMmZfNzNfbWlub3Jfb3AgewotIG1tX2Ztb3YwX29wID0gMHgwMSwKLSBtbV9mY3Z0bF9vcCA9IDB4MDQsCi0gbW1fbW92ZjBfb3AgPSAweDA1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9mcnNxcnRfb3AgPSAweDA4LAotIG1tX2ZmbG9vcmxfb3AgPSAweDBjLAotIG1tX2ZhYnMwX29wID0gMHgwZCwKLSBtbV9mY3Z0d19vcCA9IDB4MjQsCisgIG1tX2Ztb3YwX29wID0gMHgwMSwKKyAgbW1fZmN2dGxfb3AgPSAweDA0LAorICBtbV9tb3ZmMF9vcCA9IDB4MDUsCisgIG1tX2Zyc3FydF9vcCA9IDB4MDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX21vdnQwX29wID0gMHgyNSwKLSBtbV9mc3FydF9vcCA9IDB4MjgsCi0gbW1fZmZsb29yd19vcCA9IDB4MmMsCi0gbW1fZm5lZzBfb3AgPSAweDJkLAorICBtbV9mZmxvb3JsX29wID0gMHgwYywKKyAgbW1fZmFiczBfb3AgPSAweDBkLAorICBtbV9mY3Z0d19vcCA9IDB4MjQsCisgIG1tX21vdnQwX29wID0gMHgyNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1fY2ZjMV9vcCA9IDB4NDAsCi0gbW1fZnJlY2lwX29wID0gMHg0OCwKLSBtbV9mY2VpbGxfb3AgPSAweDRjLAotIG1tX2ZjdnRkMF9vcCA9IDB4NGQsCisgIG1tX2ZzcXJ0X29wID0gMHgyOCwKKyAgbW1fZmZsb29yd19vcCA9IDB4MmMsCisgIG1tX2ZuZWcwX29wID0gMHgyZCwKKyAgbW1fY2ZjMV9vcCA9IDB4NDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2N0YzFfb3AgPSAweDYwLAotIG1tX2ZjZWlsd19vcCA9IDB4NmMsCi0gbW1fZmN2dHMwX29wID0gMHg2ZCwKLSBtbV9tZmMxX29wID0gMHg4MCwKKyAgbW1fZnJlY2lwX29wID0gMHg0OCwKKyAgbW1fZmNlaWxsX29wID0gMHg0YywKKyAgbW1fZmN2dGQwX29wID0gMHg0ZCwKKyAgbW1fY3RjMV9vcCA9IDB4NjAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2Ztb3YxX29wID0gMHg4MSwKLSBtbV9tb3ZmMV9vcCA9IDB4ODUsCi0gbW1fZnRydW5jbF9vcCA9IDB4OGMsCi0gbW1fZmFiczFfb3AgPSAweDhkLAorICBtbV9mY2VpbHdfb3AgPSAweDZjLAorICBtbV9mY3Z0czBfb3AgPSAweDZkLAorICBtbV9tZmMxX29wID0gMHg4MCwKKyAgbW1fZm1vdjFfb3AgPSAweDgxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9tdGMxX29wID0gMHhhMCwKLSBtbV9tb3Z0MV9vcCA9IDB4YTUsCi0gbW1fZnRydW5jd19vcCA9IDB4YWMsCi0gbW1fZm5lZzFfb3AgPSAweGFkLAorICBtbV9tb3ZmMV9vcCA9IDB4ODUsCisgIG1tX2Z0cnVuY2xfb3AgPSAweDhjLAorICBtbV9mYWJzMV9vcCA9IDB4OGQsCisgIG1tX210YzFfb3AgPSAweGEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9tZmhjMV9vcCA9IDB4YzAsCi0gbW1fZnJvdW5kbF9vcCA9IDB4Y2MsCi0gbW1fZmN2dGQxX29wID0gMHhjZCwKLSBtbV9tdGhjMV9vcCA9IDB4ZTAsCisgIG1tX21vdnQxX29wID0gMHhhNSwKKyAgbW1fZnRydW5jd19vcCA9IDB4YWMsCisgIG1tX2ZuZWcxX29wID0gMHhhZCwKKyAgbW1fbWZoYzFfb3AgPSAweGMwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtbV9mcm91bmR3X29wID0gMHhlYywKLSBtbV9mY3Z0czFfb3AgPSAweGVkLAorICBtbV9mcm91bmRsX29wID0gMHhjYywKKyAgbW1fZmN2dGQxX29wID0gMHhjZCwKKyAgbW1fbXRoYzFfb3AgPSAweGUwLAorICBtbV9mcm91bmR3X29wID0gMHhlYywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIG1tX2ZjdnRzMV9vcCA9IDB4ZWQsCiB9OwogZW51bSBtbV8xNmNfbWlub3Jfb3AgeworICBtbV9sd20xNl9vcCA9IDB4MDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG1tX2x3bTE2X29wID0gMHgwNCwKLSBtbV9zd20xNl9vcCA9IDB4MDUsCi0gbW1fanIxNl9vcCA9IDB4MGMsCi0gbW1fanJjX29wID0gMHgwZCwKKyAgbW1fc3dtMTZfb3AgPSAweDA1LAorICBtbV9qcjE2X29wID0gMHgwYywKKyAgbW1fanJjX29wID0gMHgwZCwKKyAgbW1famFscjE2X29wID0gMHgwZSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbW1famFscjE2X29wID0gMHgwZSwKLSBtbV9qYWxyczE2X29wID0gMHgwZiwKLSBtbV9qcmFkZGl1c3Bfb3AgPSAweDE4LAorICBtbV9qYWxyczE2X29wID0gMHgwZiwKKyAgbW1fanJhZGRpdXNwX29wID0gMHgxOCwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBtbV8xNmRfbWlub3Jfb3AgewotIG1tX2FkZGl1czVfZnVuYywKLSBtbV9hZGRpdXNwX2Z1bmMsCi19OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgbW1fYWRkaXVzNV9mdW5jLAorICBtbV9hZGRpdXNwX2Z1bmMsCit9OwogZW51bSBNSVBTMTZlX29wcyB7Ci0gTUlQUzE2ZV9qYWxfb3AgPSAwMDMsCi0gTUlQUzE2ZV9sZF9vcCA9IDAwNywKLSBNSVBTMTZlX2k4X29wID0gMDE0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNSVBTMTZlX3NkX29wID0gMDE3LAotIE1JUFMxNmVfbGJfb3AgPSAwMjAsCi0gTUlQUzE2ZV9saF9vcCA9IDAyMSwKLSBNSVBTMTZlX2x3c3Bfb3AgPSAwMjIsCisgIE1JUFMxNmVfamFsX29wID0gMDAzLAorICBNSVBTMTZlX2xkX29wID0gMDA3LAorICBNSVBTMTZlX2k4X29wID0gMDE0LAorICBNSVBTMTZlX3NkX29wID0gMDE3LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNSVBTMTZlX2x3X29wID0gMDIzLAotIE1JUFMxNmVfbGJ1X29wID0gMDI0LAotIE1JUFMxNmVfbGh1X29wID0gMDI1LAotIE1JUFMxNmVfbHdwY19vcCA9IDAyNiwKKyAgTUlQUzE2ZV9sYl9vcCA9IDAyMCwKKyAgTUlQUzE2ZV9saF9vcCA9IDAyMSwKKyAgTUlQUzE2ZV9sd3NwX29wID0gMDIyLAorICBNSVBTMTZlX2x3X29wID0gMDIzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNSVBTMTZlX2x3dV9vcCA9IDAyNywKLSBNSVBTMTZlX3NiX29wID0gMDMwLAotIE1JUFMxNmVfc2hfb3AgPSAwMzEsCi0gTUlQUzE2ZV9zd3NwX29wID0gMDMyLAorICBNSVBTMTZlX2xidV9vcCA9IDAyNCwKKyAgTUlQUzE2ZV9saHVfb3AgPSAwMjUsCisgIE1JUFMxNmVfbHdwY19vcCA9IDAyNiwKKyAgTUlQUzE2ZV9sd3Vfb3AgPSAwMjcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1JUFMxNmVfc3dfb3AgPSAwMzMsCi0gTUlQUzE2ZV9ycl9vcCA9IDAzNSwKLSBNSVBTMTZlX2V4dGVuZF9vcCA9IDAzNiwKLSBNSVBTMTZlX2k2NF9vcCA9IDAzNywKKyAgTUlQUzE2ZV9zYl9vcCA9IDAzMCwKKyAgTUlQUzE2ZV9zaF9vcCA9IDAzMSwKKyAgTUlQUzE2ZV9zd3NwX29wID0gMDMyLAorICBNSVBTMTZlX3N3X29wID0gMDMzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTUlQUzE2ZV9ycl9vcCA9IDAzNSwKKyAgTUlQUzE2ZV9leHRlbmRfb3AgPSAwMzYsCisgIE1JUFMxNmVfaTY0X29wID0gMDM3LAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIE1JUFMxNmVfaTY0X2Z1bmMgewotIE1JUFMxNmVfbGRzcF9mdW5jLAotIE1JUFMxNmVfc2RzcF9mdW5jLAorICBNSVBTMTZlX2xkc3BfZnVuYywKKyAgTUlQUzE2ZV9zZHNwX2Z1bmMsCisgIE1JUFMxNmVfc2RyYXNwX2Z1bmMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1JUFMxNmVfc2RyYXNwX2Z1bmMsCi0gTUlQUzE2ZV9kYWRqc3BfZnVuYywKLSBNSVBTMTZlX2xkcGNfZnVuYywKKyAgTUlQUzE2ZV9kYWRqc3BfZnVuYywKKyAgTUlQUzE2ZV9sZHBjX2Z1bmMsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gTUlQUzE2ZV9ycl9mdW5jIHsKLSBNSVBTMTZlX2pyX2Z1bmMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBNSVBTMTZlX2pyX2Z1bmMsCiB9OwogZW51bSBNSVBTNmVfaThfZnVuYyB7CisgIE1JUFMxNmVfc3dyYXNwX2Z1bmMgPSAwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTUlQUzE2ZV9zd3Jhc3BfZnVuYyA9IDAyLAogfTsKICNkZWZpbmUgTU1fTk9QMTYgMHgwYzAwCi0jZGVmaW5lIEJJVEZJRUxEX0ZJRUxEKGZpZWxkLCBtb3JlKSAgIG1vcmUgICBmaWVsZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgal9mb3JtYXQgewotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCB0YXJnZXQgOiAyNiwKLSA7KSkKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgdGFyZ2V0IDogMjYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyApKQogfTsKIHN0cnVjdCBpX2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJzIDogNSwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsIF9fQklURklFTERfRklFTEQoc2lnbmVkIGludCBzaW1tZWRpYXRlIDogMTYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDE2LAotIDspKSkpCisgKSkpKQogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdV9mb3JtYXQgewotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBycyA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHVpbW1lZGlhdGUgOiAxNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCB1aW1tZWRpYXRlIDogMTYsCi0gOykpKSkKKyApKSkpCiB9Owogc3RydWN0IGNfZm9ybWF0IHsKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBjX29wIDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgY2FjaGUgOiAyLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBzaW1tZWRpYXRlIDogMTYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBjX29wIDogMywKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgY2FjaGUgOiAyLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDE2LAotIDspKSkpKQorICkpKSkpCiB9Owogc3RydWN0IHJfZm9ybWF0IHsKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmUgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBycyA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmQgOiA1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmUgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiwKLSA7KSkpKSkpCisgKSkpKSkpCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBwX2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJzIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBycyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCByZSA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmUgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiwKLSA7KSkpKSkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICkpKSkpKQogfTsKIHN0cnVjdCBmX2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMSwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgOiAxLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmbXQgOiA0LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmUgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmbXQgOiA0LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmUgOiA1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsCi0gOykpKSkpKSkKKyApKSkpKSkpCiB9Owogc3RydWN0IG1hX2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZyIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDQsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDIsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnIgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDQsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDIsCi0gOykpKSkpKSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgKSkpKSkpKQogfTsKIHN0cnVjdCBiX2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGNvZGUgOiAyMCwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgY29kZSA6IDIwLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiwKLSA7KSkpCisgKSkpCiB9Owogc3RydWN0IHBzX2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJzIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsCi0gOykpKSkpKQorICkpKSkpKQogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgdl9mb3JtYXQgewotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBzZWwgOiA0LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmbXQgOiAxLAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBzZWwgOiA0LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmbXQgOiAxLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCB2dCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHZzIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgdmQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCB2dCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHZzIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgdmQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiwKKyApKSkpKSkpCit9Oworc3RydWN0IHNwZWMzX2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJzIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDksIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA3LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gOykpKSkpKSkKKyApKSkpKQogfTsKIHN0cnVjdCBmYl9mb3JtYXQgewotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBiYyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGNjIDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZmxhZyA6IDIsIF9fQklURklFTERfRklFTEQoc2lnbmVkIGludCBzaW1tZWRpYXRlIDogMTYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmMgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBjYyA6IDMsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZsYWcgOiAyLAotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDE2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSA7KSkpKSkKKyApKSkpKQogfTsKIHN0cnVjdCBmcDBfZm9ybWF0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZm10IDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZm10IDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LAotIDspKSkpKSkKKyApKSkpKSkKIH07CiBzdHJ1Y3QgbW1fZnAwX2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ0IDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmZCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wIDogMiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDMsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wIDogMiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsCi0gOykpKSkpKSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgKSkpKSkpKQogfTsKIHN0cnVjdCBmcDFfZm9ybWF0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3AgOiA1LAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmZCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnMgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmZCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSA7KSkpKSkpCisgKSkpKSkpCiB9Owogc3RydWN0IG1tX2ZwMV9mb3JtYXQgewotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZm10IDogMiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3AgOiA4LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZm10IDogMiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3AgOiA4LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsCi0gOykpKSkpKQorICkpKSkpKQogfTsKIHN0cnVjdCBtbV9mcDJfZm9ybWF0IHsKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZmQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGNjIDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgemVybyA6IDIsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDIsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wIDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZmQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGNjIDogMywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHplcm8gOiAyLAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmbXQgOiAyLAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcCA6IDMsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSA7KSkpKSkpKSkKKyApKSkpKSkpKQogfTsKIHN0cnVjdCBtbV9mcDNfZm9ybWF0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wIDogNywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDMsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wIDogNywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LAotIDspKSkpKSkKKyApKSkpKSkKIH07CiBzdHJ1Y3QgbW1fZnA0X2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnMgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBjYyA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZtdCA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGNvbmQgOiA0LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgY2MgOiAzLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZm10IDogMywKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgY29uZCA6IDQsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LAotIDspKSkpKSkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICkpKSkpKSkKIH07CiBzdHJ1Y3QgbW1fZnA1X2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGluZGV4IDogNSwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgaW5kZXggOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBiYXNlIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZmQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA2LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGJhc2UgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmZCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIDspKSkpKSkKKyApKSkpKSkKIH07CiBzdHJ1Y3QgZnA2X2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZyIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnIgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZmQgOiA1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDYsCi0gOykpKSkpKQorICkpKSkpKQogfTsKIHN0cnVjdCBtbV9mcDZfZm9ybWF0IHsKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmcyA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnIgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdCA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZzIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZmQgOiA1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnIgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogNiwKLSA7KSkpKSkpCisgKSkpKSkpCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtbV9pX2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiA1LAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBydCA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJzIDogNSwgX19CSVRGSUVMRF9GSUVMRChzaWduZWQgaW50IHNpbW1lZGlhdGUgOiAxNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDE2LAotIDspKSkpCisgKSkpKQogfTsKIHN0cnVjdCBtbV9tX2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmFzZSA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA0LCBfX0JJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDEyLDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmFzZSA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA0LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRChzaWduZWQgaW50IHNpbW1lZGlhdGUgOiAxMiwKLSA7KSkpKSkKKyApKSkpKQogfTsKIHN0cnVjdCBtbV94X2Zvcm1hdCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGluZGV4IDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmFzZSA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDExLDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGluZGV4IDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmFzZSA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJkIDogNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiAxMSwKLSA7KSkpKSkKKyApKSkpKQogfTsKIHN0cnVjdCBtbV9iMF9mb3JtYXQgeworICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDEwLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCA6IDE2LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQoc2lnbmVkIGludCBzaW1tZWRpYXRlIDogMTAsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMTYsCi0gOykpKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyApKSkKIH07CiBzdHJ1Y3QgbW1fYjFfZm9ybWF0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnMgOiAzLAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA2LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBycyA6IDMsIF9fQklURklFTERfRklFTEQoc2lnbmVkIGludCBzaW1tZWRpYXRlIDogNywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgOiAxNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDcsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMTYsCi0gOykpKSkKKyApKSkpCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtbTE2X21fZm9ybWF0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDQsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJsaXN0IDogMiwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDQsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJsaXN0IDogMiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgaW1tIDogNCwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgOiAxNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBpbW0gOiA0LAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCA6IDE2LAotIDspKSkpKQorICkpKSkpCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtbTE2X3JiX2Zvcm1hdCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogMywKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmFzZSA6IDMsCisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgYmFzZSA6IDMsIF9fQklURklFTERfRklFTEQoc2lnbmVkIGludCBzaW1tZWRpYXRlIDogNCwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgOiAxNiw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDQsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMTYsCi0gOykpKSkpCisgKSkpKSkKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG1tMTZfcjNfZm9ybWF0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiAzLAotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDcsCisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDYsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ0IDogMywgX19CSVRGSUVMRF9GSUVMRChzaWduZWQgaW50IHNpbW1lZGlhdGUgOiA3LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCA6IDE2LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMTYsCi0gOykpKSkKKyApKSkpCiB9Owogc3RydWN0IG1tMTZfcjVfZm9ybWF0IHsKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMTYsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNiwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnQgOiA1LAotIEJJVEZJRUxEX0ZJRUxEKHNpZ25lZCBpbnQgc2ltbWVkaWF0ZSA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IDogMTYsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIDspKSkpCisgKSkpKQogfTsKIHN0cnVjdCBtMTZlX3JyIHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnggOiAzLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBuZCA6IDEsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGwgOiAxLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCByYSA6IDEsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiA1LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ4IDogMywKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgbmQgOiAxLAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBsIDogMSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcmEgOiAxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDUsCi0gOykpKSkpKQorICkpKSkpKQogfTsKIHN0cnVjdCBtMTZlX2phbCB7CisgIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDUsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHggOiAxLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBpbW0yMF8xNiA6IDUsIF9fQklURklFTERfRklFTEQoc2lnbmVkIGludCBpbW0yNV8yMSA6IDUsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgeCA6IDEsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGltbTIwXzE2IDogNSwKLSBCSVRGSUVMRF9GSUVMRChzaWduZWQgaW50IGltbTI1XzIxIDogNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gOykpKSkKKyApKSkpCiB9Owogc3RydWN0IG0xNmVfaTY0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGltbSA6IDgsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDMsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGltbSA6IDgsCi0gOykpKQorICkpKQogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbTE2ZV9yaTY0IHsKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDMsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ5IDogMywKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgZnVuYyA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ5IDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgaW1tIDogNSw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBpbW0gOiA1LAotIDspKSkpCisgKSkpKQogfTsKIHN0cnVjdCBtMTZlX3JpIHsKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnggOiAzLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBpbW0gOiA4LDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ4IDogMywKLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgaW1tIDogOCwKLSA7KSkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICkpKQogfTsKIHN0cnVjdCBtMTZlX3JyaSB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IHJ4IDogMywKKyAgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgb3Bjb2RlIDogNSwgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnggOiAzLCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCByeSA6IDMsIF9fQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGltbSA6IDUsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgcnkgOiAzLAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBpbW0gOiA1LAotIDspKSkpCisgKSkpKQogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbTE2ZV9pOCB7Ci0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IG9wY29kZSA6IDUsCi0gQklURklFTERfRklFTEQodW5zaWduZWQgaW50IGZ1bmMgOiAzLAotIEJJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBpbW0gOiA4LAorICBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBvcGNvZGUgOiA1LCBfX0JJVEZJRUxEX0ZJRUxEKHVuc2lnbmVkIGludCBmdW5jIDogMywgX19CSVRGSUVMRF9GSUVMRCh1bnNpZ25lZCBpbnQgaW1tIDogOCw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIDspKSkKKyApKSkKIH07CiB1bmlvbiBtaXBzX2luc3RydWN0aW9uIHsKLSB1bnNpZ25lZCBpbnQgd29yZDsKKyAgdW5zaWduZWQgaW50IHdvcmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGhhbGZ3b3JkWzJdOwotIHVuc2lnbmVkIGNoYXIgYnl0ZVs0XTsKLSBzdHJ1Y3Qgal9mb3JtYXQgal9mb3JtYXQ7Ci0gc3RydWN0IGlfZm9ybWF0IGlfZm9ybWF0OworICB1bnNpZ25lZCBzaG9ydCBoYWxmd29yZFsyXTsKKyAgdW5zaWduZWQgY2hhciBieXRlWzRdOworICBzdHJ1Y3Qgal9mb3JtYXQgal9mb3JtYXQ7CisgIHN0cnVjdCBpX2Zvcm1hdCBpX2Zvcm1hdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHVfZm9ybWF0IHVfZm9ybWF0OwotIHN0cnVjdCBjX2Zvcm1hdCBjX2Zvcm1hdDsKLSBzdHJ1Y3Qgcl9mb3JtYXQgcl9mb3JtYXQ7Ci0gc3RydWN0IHBfZm9ybWF0IHBfZm9ybWF0OworICBzdHJ1Y3QgdV9mb3JtYXQgdV9mb3JtYXQ7CisgIHN0cnVjdCBjX2Zvcm1hdCBjX2Zvcm1hdDsKKyAgc3RydWN0IHJfZm9ybWF0IHJfZm9ybWF0OworICBzdHJ1Y3QgcF9mb3JtYXQgcF9mb3JtYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmX2Zvcm1hdCBmX2Zvcm1hdDsKLSBzdHJ1Y3QgbWFfZm9ybWF0IG1hX2Zvcm1hdDsKLSBzdHJ1Y3QgYl9mb3JtYXQgYl9mb3JtYXQ7Ci0gc3RydWN0IHBzX2Zvcm1hdCBwc19mb3JtYXQ7CisgIHN0cnVjdCBmX2Zvcm1hdCBmX2Zvcm1hdDsKKyAgc3RydWN0IG1hX2Zvcm1hdCBtYV9mb3JtYXQ7CisgIHN0cnVjdCBiX2Zvcm1hdCBiX2Zvcm1hdDsKKyAgc3RydWN0IHBzX2Zvcm1hdCBwc19mb3JtYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2X2Zvcm1hdCB2X2Zvcm1hdDsKLSBzdHJ1Y3QgZmJfZm9ybWF0IGZiX2Zvcm1hdDsKLSBzdHJ1Y3QgZnAwX2Zvcm1hdCBmcDBfZm9ybWF0OwotIHN0cnVjdCBtbV9mcDBfZm9ybWF0IG1tX2ZwMF9mb3JtYXQ7CisgIHN0cnVjdCB2X2Zvcm1hdCB2X2Zvcm1hdDsKKyAgc3RydWN0IHNwZWMzX2Zvcm1hdCBzcGVjM19mb3JtYXQ7CisgIHN0cnVjdCBmYl9mb3JtYXQgZmJfZm9ybWF0OworICBzdHJ1Y3QgZnAwX2Zvcm1hdCBmcDBfZm9ybWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZnAxX2Zvcm1hdCBmcDFfZm9ybWF0OwotIHN0cnVjdCBtbV9mcDFfZm9ybWF0IG1tX2ZwMV9mb3JtYXQ7Ci0gc3RydWN0IG1tX2ZwMl9mb3JtYXQgbW1fZnAyX2Zvcm1hdDsKLSBzdHJ1Y3QgbW1fZnAzX2Zvcm1hdCBtbV9mcDNfZm9ybWF0OworICBzdHJ1Y3QgbW1fZnAwX2Zvcm1hdCBtbV9mcDBfZm9ybWF0OworICBzdHJ1Y3QgZnAxX2Zvcm1hdCBmcDFfZm9ybWF0OworICBzdHJ1Y3QgbW1fZnAxX2Zvcm1hdCBtbV9mcDFfZm9ybWF0OworICBzdHJ1Y3QgbW1fZnAyX2Zvcm1hdCBtbV9mcDJfZm9ybWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgbW1fZnA0X2Zvcm1hdCBtbV9mcDRfZm9ybWF0OwotIHN0cnVjdCBtbV9mcDVfZm9ybWF0IG1tX2ZwNV9mb3JtYXQ7Ci0gc3RydWN0IGZwNl9mb3JtYXQgZnA2X2Zvcm1hdDsKLSBzdHJ1Y3QgbW1fZnA2X2Zvcm1hdCBtbV9mcDZfZm9ybWF0OworICBzdHJ1Y3QgbW1fZnAzX2Zvcm1hdCBtbV9mcDNfZm9ybWF0OworICBzdHJ1Y3QgbW1fZnA0X2Zvcm1hdCBtbV9mcDRfZm9ybWF0OworICBzdHJ1Y3QgbW1fZnA1X2Zvcm1hdCBtbV9mcDVfZm9ybWF0OworICBzdHJ1Y3QgZnA2X2Zvcm1hdCBmcDZfZm9ybWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgbW1faV9mb3JtYXQgbW1faV9mb3JtYXQ7Ci0gc3RydWN0IG1tX21fZm9ybWF0IG1tX21fZm9ybWF0OwotIHN0cnVjdCBtbV94X2Zvcm1hdCBtbV94X2Zvcm1hdDsKLSBzdHJ1Y3QgbW1fYjBfZm9ybWF0IG1tX2IwX2Zvcm1hdDsKKyAgc3RydWN0IG1tX2ZwNl9mb3JtYXQgbW1fZnA2X2Zvcm1hdDsKKyAgc3RydWN0IG1tX2lfZm9ybWF0IG1tX2lfZm9ybWF0OworICBzdHJ1Y3QgbW1fbV9mb3JtYXQgbW1fbV9mb3JtYXQ7CisgIHN0cnVjdCBtbV94X2Zvcm1hdCBtbV94X2Zvcm1hdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IG1tX2IxX2Zvcm1hdCBtbV9iMV9mb3JtYXQ7Ci0gc3RydWN0IG1tMTZfbV9mb3JtYXQgbW0xNl9tX2Zvcm1hdCA7Ci0gc3RydWN0IG1tMTZfcmJfZm9ybWF0IG1tMTZfcmJfZm9ybWF0OwotIHN0cnVjdCBtbTE2X3IzX2Zvcm1hdCBtbTE2X3IzX2Zvcm1hdDsKKyAgc3RydWN0IG1tX2IwX2Zvcm1hdCBtbV9iMF9mb3JtYXQ7CisgIHN0cnVjdCBtbV9iMV9mb3JtYXQgbW1fYjFfZm9ybWF0OworICBzdHJ1Y3QgbW0xNl9tX2Zvcm1hdCBtbTE2X21fZm9ybWF0OworICBzdHJ1Y3QgbW0xNl9yYl9mb3JtYXQgbW0xNl9yYl9mb3JtYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBtbTE2X3I1X2Zvcm1hdCBtbTE2X3I1X2Zvcm1hdDsKKyAgc3RydWN0IG1tMTZfcjNfZm9ybWF0IG1tMTZfcjNfZm9ybWF0OworICBzdHJ1Y3QgbW0xNl9yNV9mb3JtYXQgbW0xNl9yNV9mb3JtYXQ7CiB9OwogdW5pb24gbWlwczE2ZV9pbnN0cnVjdGlvbiB7Ci0gdW5zaWduZWQgaW50IGZ1bGwgOiAxNjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IG0xNmVfcnIgcnI7Ci0gc3RydWN0IG0xNmVfamFsIGphbDsKLSBzdHJ1Y3QgbTE2ZV9pNjQgaTY0OwotIHN0cnVjdCBtMTZlX3JpNjQgcmk2NDsKKyAgdW5zaWduZWQgaW50IGZ1bGwgOiAxNjsKKyAgc3RydWN0IG0xNmVfcnIgcnI7CisgIHN0cnVjdCBtMTZlX2phbCBqYWw7CisgIHN0cnVjdCBtMTZlX2k2NCBpNjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBtMTZlX3JpIHJpOwotIHN0cnVjdCBtMTZlX3JyaSBycmk7Ci0gc3RydWN0IG0xNmVfaTggaTg7CisgIHN0cnVjdCBtMTZlX3JpNjQgcmk2NDsKKyAgc3RydWN0IG0xNmVfcmkgcmk7CisgIHN0cnVjdCBtMTZlX3JyaSBycmk7CisgIHN0cnVjdCBtMTZlX2k4IGk4OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9pb2N0bHMuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2lvY3Rscy5oCmluZGV4IDMyZTZlMzQuLjk3M2JjYzcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2lvY3Rscy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2lvY3Rscy5oCkBAIC04OCwzNyArODgsMzkgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDU0VUU1cyIF9JT1coJ1QnLCAweDJDLCBzdHJ1Y3QgdGVybWlvczIpCiAjZGVmaW5lIFRDU0VUU0YyIF9JT1coJ1QnLCAweDJELCBzdHJ1Y3QgdGVybWlvczIpCisjZGVmaW5lIFRJT0NHUlM0ODUgX0lPUignVCcsIDB4MkUsIHN0cnVjdCBzZXJpYWxfcnM0ODUpCisjZGVmaW5lIFRJT0NTUlM0ODUgX0lPV1IoJ1QnLCAweDJGLCBzdHJ1Y3Qgc2VyaWFsX3JzNDg1KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElPQ0dQVE4gX0lPUignVCcsIDB4MzAsIHVuc2lnbmVkIGludCkKICNkZWZpbmUgVElPQ1NQVExDSyBfSU9XKCdUJywgMHgzMSwgaW50KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElPQ0dERVYgX0lPUignVCcsIDB4MzIsIHVuc2lnbmVkIGludCkKICNkZWZpbmUgVElPQ1NJRyBfSU9XKCdUJywgMHgzNiwgaW50KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElPQ1ZIQU5HVVAgMHg1NDM3CiAjZGVmaW5lIFRJT0NHUEtUIF9JT1IoJ1QnLCAweDM4LCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSU9DR1BUTENLIF9JT1IoJ1QnLCAweDM5LCBpbnQpCiAjZGVmaW5lIFRJT0NHRVhDTCBfSU9SKCdUJywgMHg0MCwgaW50KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElPQ1NDVFRZIDB4NTQ4MAogI2RlZmluZSBUSU9DR1NPRlRDQVIgMHg1NDgxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSU9DU1NPRlRDQVIgMHg1NDgyCiAjZGVmaW5lIFRJT0NMSU5VWCAweDU0ODMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJT0NHU0VSSUFMIDB4NTQ4NAogI2RlZmluZSBUSU9DU1NFUklBTCAweDU0ODUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDU0JSS1AgMHg1NDg2CiAjZGVmaW5lIFRJT0NTRVJDT05GSUcgMHg1NDg4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSU9DU0VSR1dJTEQgMHg1NDg5CiAjZGVmaW5lIFRJT0NTRVJTV0lMRCAweDU0OGEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJT0NHTENLVFJNSU9TIDB4NTQ4YgogI2RlZmluZSBUSU9DU0xDS1RSTUlPUyAweDU0OGMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJT0NTRVJHU1RSVUNUIDB4NTQ4ZAogI2RlZmluZSBUSU9DU0VSR0VUTFNSIDB4NTQ4ZQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElPQ1NFUkdFVE1VTFRJIDB4NTQ4ZgogI2RlZmluZSBUSU9DU0VSU0VUTVVMVEkgMHg1NDkwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSU9DTUlXQUlUIDB4NTQ5MQogI2RlZmluZSBUSU9DR0lDT1VOVCAweDU0OTIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2t2bS5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20va3ZtLmgKaW5kZXggNjkwODRlZS4uMDIwNmQxNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20va3ZtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20va3ZtLmgKQEAgLTIxLDIyICsyMSwyMiBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3Qga3ZtX3JlZ3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBncHJbMzJdOwotIF9fdTY0IGhpOwotIF9fdTY0IGxvOwotIF9fdTY0IHBjOworICBfX3U2NCBncHJbMzJdOworICBfX3U2NCBoaTsKKyAgX191NjQgbG87CisgIF9fdTY0IHBjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qga3ZtX2ZwdSB7Ci0gX191NjQgZnByWzMyXTsKLSBfX3UzMiBmaXI7CisgIF9fdTY0IGZwclszMl07CisgIF9fdTMyIGZpcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmNjcjsKLSBfX3UzMiBmZXhyOwotIF9fdTMyIGZlbnI7Ci0gX191MzIgZmNzcjsKKyAgX191MzIgZmNjcjsKKyAgX191MzIgZmV4cjsKKyAgX191MzIgZmVucjsKKyAgX191MzIgZmNzcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGFkOworICBfX3UzMiBwYWQ7CiB9OwogI2RlZmluZSBLVk1fUkVHX01JUFNfUjAgKEtWTV9SRUdfTUlQUyB8IEtWTV9SRUdfU0laRV9VNjQgfCAwKQogI2RlZmluZSBLVk1fUkVHX01JUFNfUjEgKEtWTV9SRUdfTUlQUyB8IEtWTV9SRUdfU0laRV9VNjQgfCAxKQpAQCAtODIsOCArODIsMTMgQEAKICNkZWZpbmUgS1ZNX1JFR19NSVBTX0xPIChLVk1fUkVHX01JUFMgfCBLVk1fUkVHX1NJWkVfVTY0IHwgMzMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fUkVHX01JUFNfUEMgKEtWTV9SRUdfTUlQUyB8IEtWTV9SRUdfU0laRV9VNjQgfCAzNCkKKyNkZWZpbmUgS1ZNX1JFR19NSVBTX0NPVU5UX0NUTCAoS1ZNX1JFR19NSVBTIHwgS1ZNX1JFR19TSVpFX1U2NCB8IDB4MjAwMDAgfCAwKQorI2RlZmluZSBLVk1fUkVHX01JUFNfQ09VTlRfQ1RMX0RDIDB4MDAwMDAwMDEKKyNkZWZpbmUgS1ZNX1JFR19NSVBTX0NPVU5UX1JFU1VNRSAoS1ZNX1JFR19NSVBTIHwgS1ZNX1JFR19TSVpFX1U2NCB8IDB4MjAwMDAgfCAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX1JFR19NSVBTX0NPVU5UX0haIChLVk1fUkVHX01JUFMgfCBLVk1fUkVHX1NJWkVfVTY0IHwgMHgyMDAwMCB8IDIpCiBzdHJ1Y3Qga3ZtX2RlYnVnX2V4aXRfYXJjaCB7Ci0gX191NjQgZXBjOworICBfX3U2NCBlcGM7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fZ3Vlc3RfZGVidWdfYXJjaCB7CkBAIC05NCw4ICs5OSw4IEBACiBzdHJ1Y3Qga3ZtX3NyZWdzIHsKIH07CiBzdHJ1Y3Qga3ZtX21pcHNfaW50ZXJydXB0IHsKLSBfX3UzMiBjcHU7CisgIF9fdTMyIGNwdTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaXJxOworICBfX3UzMiBpcnE7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9rdm1fcGFyYS5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20va3ZtX3BhcmEuaAppbmRleCBlMTlmN2EwLi44MjVjMTJhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9rdm1fcGFyYS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL2t2bV9wYXJhLmgKQEAgLTE2LDQgKzE2LDYgQEAKICAqKioKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9rdm1fcGFyYS5oPgorI2lmbmRlZiBfVUFQSV9BU01fTUlQU19LVk1fUEFSQV9ICisjZGVmaW5lIF9VQVBJX0FTTV9NSVBTX0tWTV9QQVJBX0gKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vbXNnYnVmLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9tc2didWYuaAppbmRleCBlZmFlMTQ4Li4zZTcwMGIzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9tc2didWYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9tc2didWYuaApAQCAtMTksMzEgKzE5LDMxIEBACiAjaWZuZGVmIF9BU01fTVNHQlVGX0gKICNkZWZpbmUgX0FTTV9NU0dCVUZfSAogc3RydWN0IG1zcWlkNjRfZHMgewotIHN0cnVjdCBpcGM2NF9wZXJtIG1zZ19wZXJtOworICBzdHJ1Y3QgaXBjNjRfcGVybSBtc2dfcGVybTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdGltZV90IG1zZ19zdGltZTsKKyAgX19rZXJuZWxfdGltZV90IG1zZ19zdGltZTsKICNpZm5kZWYgX19taXBzNjQKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMTsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDE7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdGltZV90IG1zZ19ydGltZTsKKyAgX19rZXJuZWxfdGltZV90IG1zZ19ydGltZTsKICNpZm5kZWYgX19taXBzNjQKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMjsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDI7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdGltZV90IG1zZ19jdGltZTsKKyAgX19rZXJuZWxfdGltZV90IG1zZ19jdGltZTsKICNpZm5kZWYgX19taXBzNjQKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMzsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDM7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBtc2dfY2J5dGVzOwotIHVuc2lnbmVkIGxvbmcgbXNnX3FudW07Ci0gdW5zaWduZWQgbG9uZyBtc2dfcWJ5dGVzOwotIF9fa2VybmVsX3BpZF90IG1zZ19sc3BpZDsKKyAgdW5zaWduZWQgbG9uZyBtc2dfY2J5dGVzOworICB1bnNpZ25lZCBsb25nIG1zZ19xbnVtOworICB1bnNpZ25lZCBsb25nIG1zZ19xYnl0ZXM7CisgIF9fa2VybmVsX3BpZF90IG1zZ19sc3BpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfcGlkX3QgbXNnX2xycGlkOwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ0OwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ1OworICBfX2tlcm5lbF9waWRfdCBtc2dfbHJwaWQ7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ0OworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkNTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9wb3NpeF90eXBlcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vcG9zaXhfdHlwZXMuaAppbmRleCBlODU4MjFjLi4yNWE5ZTNjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9wb3NpeF90eXBlcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3Bvc2l4X3R5cGVzLmgKQEAgLTI0LDcgKzI0LDcgQEAKICNkZWZpbmUgX19rZXJuZWxfZGFkZHJfdCBfX2tlcm5lbF9kYWRkcl90CiAjaWYgX01JUFNfU1pMT05HID09IDMyCiB0eXBlZGVmIHN0cnVjdCB7Ci0gbG9uZyB2YWxbMl07CisgIGxvbmcgdmFsWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19rZXJuZWxfZnNpZF90OwogI2RlZmluZSBfX2tlcm5lbF9mc2lkX3QgX19rZXJuZWxfZnNpZF90CmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9wdHJhY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3B0cmFjZS5oCmluZGV4IDAyOTZjZjMuLjQ4MDEwZTUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3B0cmFjZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3B0cmFjZS5oCkBAIC0xOCw3NiArMTgsNzcgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfVUFQSV9BU01fUFRSQUNFX0gKICNkZWZpbmUgX1VBUElfQVNNX1BUUkFDRV9ICisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgRlBSX0JBU0UgMzIKLSNkZWZpbmUgUEMgNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDIDY0CiAjZGVmaW5lIENBVVNFIDY1CiAjZGVmaW5lIEJBRFZBRERSIDY2CiAjZGVmaW5lIE1NSEkgNjcKLSNkZWZpbmUgTU1MTyA2OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTU1MTyA2OAogI2RlZmluZSBGUENfQ1NSIDY5CiAjZGVmaW5lIEZQQ19FSVIgNzAKICNkZWZpbmUgRFNQX0JBU0UgNzEKLSNkZWZpbmUgRFNQX0NPTlRST0wgNzcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERTUF9DT05UUk9MIDc3CiAjZGVmaW5lIEFDWCA3OAogc3RydWN0IHB0X3JlZ3MgewotIHVuc2lnbmVkIGxvbmcgcmVnc1szMl07Ci0gdW5zaWduZWQgbG9uZyBjcDBfc3RhdHVzOworICBfX3U2NCByZWdzWzMyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBoaTsKLSB1bnNpZ25lZCBsb25nIGxvOwotIHVuc2lnbmVkIGxvbmcgY3AwX2JhZHZhZGRyOwotIHVuc2lnbmVkIGxvbmcgY3AwX2NhdXNlOworICBfX3U2NCBsbzsKKyAgX191NjQgaGk7CisgIF9fdTY0IGNwMF9lcGM7CisgIF9fdTY0IGNwMF9iYWR2YWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBjcDBfZXBjOwotfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoOCkpKTsKKyAgX191NjQgY3AwX3N0YXR1czsKKyAgX191NjQgY3AwX2NhdXNlOworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiAjZGVmaW5lIFBUUkFDRV9HRVRSRUdTIDEyCi0jZGVmaW5lIFBUUkFDRV9TRVRSRUdTIDEzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQVFJBQ0VfU0VUUkVHUyAxMwogI2RlZmluZSBQVFJBQ0VfR0VURlBSRUdTIDE0CiAjZGVmaW5lIFBUUkFDRV9TRVRGUFJFR1MgMTUKICNkZWZpbmUgUFRSQUNFX09MRFNFVE9QVElPTlMgMjEKLSNkZWZpbmUgUFRSQUNFX0dFVF9USFJFQURfQVJFQSAyNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFRSQUNFX0dFVF9USFJFQURfQVJFQSAyNQogI2RlZmluZSBQVFJBQ0VfU0VUX1RIUkVBRF9BUkVBIDI2CiAjZGVmaW5lIFBUUkFDRV9QRUVLVEVYVF8zMjY0IDB4YzAKICNkZWZpbmUgUFRSQUNFX1BFRUtEQVRBXzMyNjQgMHhjMQotI2RlZmluZSBQVFJBQ0VfUE9LRVRFWFRfMzI2NCAweGMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQVFJBQ0VfUE9LRVRFWFRfMzI2NCAweGMyCiAjZGVmaW5lIFBUUkFDRV9QT0tFREFUQV8zMjY0IDB4YzMKICNkZWZpbmUgUFRSQUNFX0dFVF9USFJFQURfQVJFQV8zMjY0IDB4YzQKIGVudW0gcHRfd2F0Y2hfc3R5bGUgewotIHB0X3dhdGNoX3N0eWxlX21pcHMzMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gcHRfd2F0Y2hfc3R5bGVfbWlwczY0CisgIHB0X3dhdGNoX3N0eWxlX21pcHMzMiwKKyAgcHRfd2F0Y2hfc3R5bGVfbWlwczY0CiB9Owogc3RydWN0IG1pcHMzMl93YXRjaF9yZWdzIHsKLSB1bnNpZ25lZCBpbnQgd2F0Y2hsb1s4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgd2F0Y2hoaVs4XTsKLSB1bnNpZ25lZCBzaG9ydCB3YXRjaF9tYXNrc1s4XTsKLSB1bnNpZ25lZCBpbnQgbnVtX3ZhbGlkOworICB1bnNpZ25lZCBpbnQgd2F0Y2hsb1s4XTsKKyAgdW5zaWduZWQgc2hvcnQgd2F0Y2hoaVs4XTsKKyAgdW5zaWduZWQgc2hvcnQgd2F0Y2hfbWFza3NbOF07CisgIHVuc2lnbmVkIGludCBudW1fdmFsaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG1pcHM2NF93YXRjaF9yZWdzIHsKLSB1bnNpZ25lZCBsb25nIGxvbmcgd2F0Y2hsb1s4XTsKLSB1bnNpZ25lZCBzaG9ydCB3YXRjaGhpWzhdOwotIHVuc2lnbmVkIHNob3J0IHdhdGNoX21hc2tzWzhdOworICB1bnNpZ25lZCBsb25nIGxvbmcgd2F0Y2hsb1s4XTsKKyAgdW5zaWduZWQgc2hvcnQgd2F0Y2hoaVs4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IG51bV92YWxpZDsKKyAgdW5zaWduZWQgc2hvcnQgd2F0Y2hfbWFza3NbOF07CisgIHVuc2lnbmVkIGludCBudW1fdmFsaWQ7CiB9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKIHN0cnVjdCBwdF93YXRjaF9yZWdzIHsKLSBlbnVtIHB0X3dhdGNoX3N0eWxlIHN0eWxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IG1pcHMzMl93YXRjaF9yZWdzIG1pcHMzMjsKLSBzdHJ1Y3QgbWlwczY0X3dhdGNoX3JlZ3MgbWlwczY0OwotIH07CisgIGVudW0gcHRfd2F0Y2hfc3R5bGUgc3R5bGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgbWlwczMyX3dhdGNoX3JlZ3MgbWlwczMyOworICAgIHN0cnVjdCBtaXBzNjRfd2F0Y2hfcmVncyBtaXBzNjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB9OwogfTsKICNkZWZpbmUgUFRSQUNFX0dFVF9XQVRDSF9SRUdTIDB4ZDAKICNkZWZpbmUgUFRSQUNFX1NFVF9XQVRDSF9SRUdTIDB4ZDEKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vcmVnLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9yZWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGYwMDNlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vcmVnLmgKQEAgLTAsMCArMSwyMjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKgorICoqKiAgIFRoaXMgaGVhZGVyIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGEgTGludXgga2VybmVsIGhlYWRlcgorICoqKiAgIG9mIHRoZSBzYW1lIG5hbWUsIHRvIG1ha2UgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IGZvciB1c2Vyc3BhY2UgdG8KKyAqKiogICBjYWxsIGludG8gdGhlIGtlcm5lbCBhdmFpbGFibGUgdG8gbGliYy4gIEl0IGNvbnRhaW5zIG9ubHkgY29uc3RhbnRzLAorICoqKiAgIHN0cnVjdHVyZXMsIGFuZCBtYWNyb3MgZ2VuZXJhdGVkIGZyb20gdGhlIG9yaWdpbmFsIGhlYWRlciwgYW5kIHRodXMsCisgKioqICAgY29udGFpbnMgbm8gY29weXJpZ2h0YWJsZSBpbmZvcm1hdGlvbi4KKyAqKioKKyAqKiogICBUbyBlZGl0IHRoZSBjb250ZW50IG9mIHRoaXMgaGVhZGVyLCBtb2RpZnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAqKiogICBzb3VyY2UgZmlsZSAoZS5nLiB1bmRlciBleHRlcm5hbC9rZXJuZWwtaGVhZGVycy9vcmlnaW5hbC8pIHRoZW4KKyAqKiogICBydW4gYmlvbmljL2xpYmMva2VybmVsL3Rvb2xzL3VwZGF0ZV9hbGwucHkKKyAqKioKKyAqKiogICBBbnkgbWFudWFsIGNoYW5nZSBoZXJlIHdpbGwgYmUgbG9zdCB0aGUgbmV4dCB0aW1lIHRoaXMgc2NyaXB0IHdpbGwKKyAqKiogICBiZSBydW4uIFlvdSd2ZSBiZWVuIHdhcm5lZCEKKyAqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX19VQVBJX0FTTV9NSVBTX1JFR19ICisjZGVmaW5lIF9fVUFQSV9BU01fTUlQU19SRUdfSAorI2RlZmluZSBNSVBTMzJfRUZfUjAgNgorI2RlZmluZSBNSVBTMzJfRUZfUjEgNworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzMyX0VGX1IyIDgKKyNkZWZpbmUgTUlQUzMyX0VGX1IzIDkKKyNkZWZpbmUgTUlQUzMyX0VGX1I0IDEwCisjZGVmaW5lIE1JUFMzMl9FRl9SNSAxMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzMyX0VGX1I2IDEyCisjZGVmaW5lIE1JUFMzMl9FRl9SNyAxMworI2RlZmluZSBNSVBTMzJfRUZfUjggMTQKKyNkZWZpbmUgTUlQUzMyX0VGX1I5IDE1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfUjEwIDE2CisjZGVmaW5lIE1JUFMzMl9FRl9SMTEgMTcKKyNkZWZpbmUgTUlQUzMyX0VGX1IxMiAxOAorI2RlZmluZSBNSVBTMzJfRUZfUjEzIDE5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfUjE0IDIwCisjZGVmaW5lIE1JUFMzMl9FRl9SMTUgMjEKKyNkZWZpbmUgTUlQUzMyX0VGX1IxNiAyMgorI2RlZmluZSBNSVBTMzJfRUZfUjE3IDIzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfUjE4IDI0CisjZGVmaW5lIE1JUFMzMl9FRl9SMTkgMjUKKyNkZWZpbmUgTUlQUzMyX0VGX1IyMCAyNgorI2RlZmluZSBNSVBTMzJfRUZfUjIxIDI3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfUjIyIDI4CisjZGVmaW5lIE1JUFMzMl9FRl9SMjMgMjkKKyNkZWZpbmUgTUlQUzMyX0VGX1IyNCAzMAorI2RlZmluZSBNSVBTMzJfRUZfUjI1IDMxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfUjI2IDMyCisjZGVmaW5lIE1JUFMzMl9FRl9SMjcgMzMKKyNkZWZpbmUgTUlQUzMyX0VGX1IyOCAzNAorI2RlZmluZSBNSVBTMzJfRUZfUjI5IDM1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfUjMwIDM2CisjZGVmaW5lIE1JUFMzMl9FRl9SMzEgMzcKKyNkZWZpbmUgTUlQUzMyX0VGX0xPIDM4CisjZGVmaW5lIE1JUFMzMl9FRl9ISSAzOQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzMyX0VGX0NQMF9FUEMgNDAKKyNkZWZpbmUgTUlQUzMyX0VGX0NQMF9CQURWQUREUiA0MQorI2RlZmluZSBNSVBTMzJfRUZfQ1AwX1NUQVRVUyA0MgorI2RlZmluZSBNSVBTMzJfRUZfQ1AwX0NBVVNFIDQzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTMzJfRUZfVU5VU0VEMCA0NAorI2RlZmluZSBNSVBTMzJfRUZfU0laRSAxODAKKyNkZWZpbmUgTUlQUzY0X0VGX1IwIDAKKyNkZWZpbmUgTUlQUzY0X0VGX1IxIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1JUFM2NF9FRl9SMiAyCisjZGVmaW5lIE1JUFM2NF9FRl9SMyAzCisjZGVmaW5lIE1JUFM2NF9FRl9SNCA0CisjZGVmaW5lIE1JUFM2NF9FRl9SNSA1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNSVBTNjRfRUZfUjYgNgorI2RlZmluZSBNSVBTNjRfRUZfUjcgNworI2RlZmluZSBNSVBTNjRfRUZfUjggOAorI2RlZmluZSBNSVBTNjRfRUZfUjkgOQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1IxMCAxMAorI2RlZmluZSBNSVBTNjRfRUZfUjExIDExCisjZGVmaW5lIE1JUFM2NF9FRl9SMTIgMTIKKyNkZWZpbmUgTUlQUzY0X0VGX1IxMyAxMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1IxNCAxNAorI2RlZmluZSBNSVBTNjRfRUZfUjE1IDE1CisjZGVmaW5lIE1JUFM2NF9FRl9SMTYgMTYKKyNkZWZpbmUgTUlQUzY0X0VGX1IxNyAxNworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1IxOCAxOAorI2RlZmluZSBNSVBTNjRfRUZfUjE5IDE5CisjZGVmaW5lIE1JUFM2NF9FRl9SMjAgMjAKKyNkZWZpbmUgTUlQUzY0X0VGX1IyMSAyMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1IyMiAyMgorI2RlZmluZSBNSVBTNjRfRUZfUjIzIDIzCisjZGVmaW5lIE1JUFM2NF9FRl9SMjQgMjQKKyNkZWZpbmUgTUlQUzY0X0VGX1IyNSAyNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1IyNiAyNgorI2RlZmluZSBNSVBTNjRfRUZfUjI3IDI3CisjZGVmaW5lIE1JUFM2NF9FRl9SMjggMjgKKyNkZWZpbmUgTUlQUzY0X0VGX1IyOSAyOQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1IzMCAzMAorI2RlZmluZSBNSVBTNjRfRUZfUjMxIDMxCisjZGVmaW5lIE1JUFM2NF9FRl9MTyAzMgorI2RlZmluZSBNSVBTNjRfRUZfSEkgMzMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1JUFM2NF9FRl9DUDBfRVBDIDM0CisjZGVmaW5lIE1JUFM2NF9FRl9DUDBfQkFEVkFERFIgMzUKKyNkZWZpbmUgTUlQUzY0X0VGX0NQMF9TVEFUVVMgMzYKKyNkZWZpbmUgTUlQUzY0X0VGX0NQMF9DQVVTRSAzNworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUlQUzY0X0VGX1NJWkUgMzA0CisjaWYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkkzMgorI2RlZmluZSBFRl9SMCBNSVBTMzJfRUZfUjAKKyNkZWZpbmUgRUZfUjEgTUlQUzMyX0VGX1IxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9SMiBNSVBTMzJfRUZfUjIKKyNkZWZpbmUgRUZfUjMgTUlQUzMyX0VGX1IzCisjZGVmaW5lIEVGX1I0IE1JUFMzMl9FRl9SNAorI2RlZmluZSBFRl9SNSBNSVBTMzJfRUZfUjUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1I2IE1JUFMzMl9FRl9SNgorI2RlZmluZSBFRl9SNyBNSVBTMzJfRUZfUjcKKyNkZWZpbmUgRUZfUjggTUlQUzMyX0VGX1I4CisjZGVmaW5lIEVGX1I5IE1JUFMzMl9FRl9SOQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRUZfUjEwIE1JUFMzMl9FRl9SMTAKKyNkZWZpbmUgRUZfUjExIE1JUFMzMl9FRl9SMTEKKyNkZWZpbmUgRUZfUjEyIE1JUFMzMl9FRl9SMTIKKyNkZWZpbmUgRUZfUjEzIE1JUFMzMl9FRl9SMTMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1IxNCBNSVBTMzJfRUZfUjE0CisjZGVmaW5lIEVGX1IxNSBNSVBTMzJfRUZfUjE1CisjZGVmaW5lIEVGX1IxNiBNSVBTMzJfRUZfUjE2CisjZGVmaW5lIEVGX1IxNyBNSVBTMzJfRUZfUjE3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9SMTggTUlQUzMyX0VGX1IxOAorI2RlZmluZSBFRl9SMTkgTUlQUzMyX0VGX1IxOQorI2RlZmluZSBFRl9SMjAgTUlQUzMyX0VGX1IyMAorI2RlZmluZSBFRl9SMjEgTUlQUzMyX0VGX1IyMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRUZfUjIyIE1JUFMzMl9FRl9SMjIKKyNkZWZpbmUgRUZfUjIzIE1JUFMzMl9FRl9SMjMKKyNkZWZpbmUgRUZfUjI0IE1JUFMzMl9FRl9SMjQKKyNkZWZpbmUgRUZfUjI1IE1JUFMzMl9FRl9SMjUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1IyNiBNSVBTMzJfRUZfUjI2CisjZGVmaW5lIEVGX1IyNyBNSVBTMzJfRUZfUjI3CisjZGVmaW5lIEVGX1IyOCBNSVBTMzJfRUZfUjI4CisjZGVmaW5lIEVGX1IyOSBNSVBTMzJfRUZfUjI5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9SMzAgTUlQUzMyX0VGX1IzMAorI2RlZmluZSBFRl9SMzEgTUlQUzMyX0VGX1IzMQorI2RlZmluZSBFRl9MTyBNSVBTMzJfRUZfTE8KKyNkZWZpbmUgRUZfSEkgTUlQUzMyX0VGX0hJCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9DUDBfRVBDIE1JUFMzMl9FRl9DUDBfRVBDCisjZGVmaW5lIEVGX0NQMF9CQURWQUREUiBNSVBTMzJfRUZfQ1AwX0JBRFZBRERSCisjZGVmaW5lIEVGX0NQMF9TVEFUVVMgTUlQUzMyX0VGX0NQMF9TVEFUVVMKKyNkZWZpbmUgRUZfQ1AwX0NBVVNFIE1JUFMzMl9FRl9DUDBfQ0FVU0UKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1VOVVNFRDAgTUlQUzMyX0VGX1VOVVNFRDAKKyNkZWZpbmUgRUZfU0laRSBNSVBTMzJfRUZfU0laRQorI2VsaWYgX01JUFNfU0lNPT1fTUlQU19TSU1fQUJJNjR8fF9NSVBTX1NJTT09X01JUFNfU0lNX05BQkkzMgorI2RlZmluZSBFRl9SMCBNSVBTNjRfRUZfUjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1IxIE1JUFM2NF9FRl9SMQorI2RlZmluZSBFRl9SMiBNSVBTNjRfRUZfUjIKKyNkZWZpbmUgRUZfUjMgTUlQUzY0X0VGX1IzCisjZGVmaW5lIEVGX1I0IE1JUFM2NF9FRl9SNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRUZfUjUgTUlQUzY0X0VGX1I1CisjZGVmaW5lIEVGX1I2IE1JUFM2NF9FRl9SNgorI2RlZmluZSBFRl9SNyBNSVBTNjRfRUZfUjcKKyNkZWZpbmUgRUZfUjggTUlQUzY0X0VGX1I4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9SOSBNSVBTNjRfRUZfUjkKKyNkZWZpbmUgRUZfUjEwIE1JUFM2NF9FRl9SMTAKKyNkZWZpbmUgRUZfUjExIE1JUFM2NF9FRl9SMTEKKyNkZWZpbmUgRUZfUjEyIE1JUFM2NF9FRl9SMTIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1IxMyBNSVBTNjRfRUZfUjEzCisjZGVmaW5lIEVGX1IxNCBNSVBTNjRfRUZfUjE0CisjZGVmaW5lIEVGX1IxNSBNSVBTNjRfRUZfUjE1CisjZGVmaW5lIEVGX1IxNiBNSVBTNjRfRUZfUjE2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9SMTcgTUlQUzY0X0VGX1IxNworI2RlZmluZSBFRl9SMTggTUlQUzY0X0VGX1IxOAorI2RlZmluZSBFRl9SMTkgTUlQUzY0X0VGX1IxOQorI2RlZmluZSBFRl9SMjAgTUlQUzY0X0VGX1IyMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRUZfUjIxIE1JUFM2NF9FRl9SMjEKKyNkZWZpbmUgRUZfUjIyIE1JUFM2NF9FRl9SMjIKKyNkZWZpbmUgRUZfUjIzIE1JUFM2NF9FRl9SMjMKKyNkZWZpbmUgRUZfUjI0IE1JUFM2NF9FRl9SMjQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX1IyNSBNSVBTNjRfRUZfUjI1CisjZGVmaW5lIEVGX1IyNiBNSVBTNjRfRUZfUjI2CisjZGVmaW5lIEVGX1IyNyBNSVBTNjRfRUZfUjI3CisjZGVmaW5lIEVGX1IyOCBNSVBTNjRfRUZfUjI4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFRl9SMjkgTUlQUzY0X0VGX1IyOQorI2RlZmluZSBFRl9SMzAgTUlQUzY0X0VGX1IzMAorI2RlZmluZSBFRl9SMzEgTUlQUzY0X0VGX1IzMQorI2RlZmluZSBFRl9MTyBNSVBTNjRfRUZfTE8KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX0hJIE1JUFM2NF9FRl9ISQorI2RlZmluZSBFRl9DUDBfRVBDIE1JUFM2NF9FRl9DUDBfRVBDCisjZGVmaW5lIEVGX0NQMF9CQURWQUREUiBNSVBTNjRfRUZfQ1AwX0JBRFZBRERSCisjZGVmaW5lIEVGX0NQMF9TVEFUVVMgTUlQUzY0X0VGX0NQMF9TVEFUVVMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVGX0NQMF9DQVVTRSBNSVBTNjRfRUZfQ1AwX0NBVVNFCisjZGVmaW5lIEVGX1NJWkUgTUlQUzY0X0VGX1NJWkUKKyNlbmRpZgorI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2VtYnVmLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zZW1idWYuaAppbmRleCBiNTI0ZjY4Li4wYThkNGQ5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zZW1idWYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zZW1idWYuaApAQCAtMTksMTMgKzE5LDEzIEBACiAjaWZuZGVmIF9BU01fU0VNQlVGX0gKICNkZWZpbmUgX0FTTV9TRU1CVUZfSAogc3RydWN0IHNlbWlkNjRfZHMgewotIHN0cnVjdCBpcGM2NF9wZXJtIHNlbV9wZXJtOworICBzdHJ1Y3QgaXBjNjRfcGVybSBzZW1fcGVybTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdGltZV90IHNlbV9vdGltZTsKLSBfX2tlcm5lbF90aW1lX3Qgc2VtX2N0aW1lOwotIHVuc2lnbmVkIGxvbmcgc2VtX25zZW1zOwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQxOworICBfX2tlcm5lbF90aW1lX3Qgc2VtX290aW1lOworICBfX2tlcm5lbF90aW1lX3Qgc2VtX2N0aW1lOworICB1bnNpZ25lZCBsb25nIHNlbV9uc2VtczsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQyOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkMjsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NnaWRlZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NnaWRlZnMuaAppbmRleCBkNjNmMTVlLi5lOGI1ZjZmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zZ2lkZWZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2dpZGVmcy5oCkBAIC0xOSw3ICsxOSw3IEBACiAjaWZuZGVmIF9fQVNNX1NHSURFRlNfSAogI2RlZmluZSBfX0FTTV9TR0lERUZTX0gKICNpZm5kZWYgX19saW51eF9fCi0jZXJyb3IgVXNlIGEgTGludXggY29tcGlsZXIgb3IgZ2l2ZSB1cC4KKyNlcnJvciBVc2UgYSBMaW51eCBjb21waWxlciBvciBnaXZlIHVwIC4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKICNkZWZpbmUgX01JUFNfSVNBX01JUFMxIDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NobWJ1Zi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2htYnVmLmgKaW5kZXggM2Y3ZDBiMS4uOGQ0MTY1MCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2htYnVmLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2htYnVmLmgKQEAgLTE5LDMyICsxOSwzMiBAQAogI2lmbmRlZiBfQVNNX1NITUJVRl9ICiAjZGVmaW5lIF9BU01fU0hNQlVGX0gKIHN0cnVjdCBzaG1pZDY0X2RzIHsKLSBzdHJ1Y3QgaXBjNjRfcGVybSBzaG1fcGVybTsKKyAgc3RydWN0IGlwYzY0X3Blcm0gc2htX3Blcm07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpemVfdCBzaG1fc2Vnc3o7Ci0gX19rZXJuZWxfdGltZV90IHNobV9hdGltZTsKLSBfX2tlcm5lbF90aW1lX3Qgc2htX2R0aW1lOwotIF9fa2VybmVsX3RpbWVfdCBzaG1fY3RpbWU7CisgIHNpemVfdCBzaG1fc2Vnc3o7CisgIF9fa2VybmVsX3RpbWVfdCBzaG1fYXRpbWU7CisgIF9fa2VybmVsX3RpbWVfdCBzaG1fZHRpbWU7CisgIF9fa2VybmVsX3RpbWVfdCBzaG1fY3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3BpZF90IHNobV9jcGlkOwotIF9fa2VybmVsX3BpZF90IHNobV9scGlkOwotIHVuc2lnbmVkIGxvbmcgc2htX25hdHRjaDsKLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMTsKKyAgX19rZXJuZWxfcGlkX3Qgc2htX2NwaWQ7CisgIF9fa2VybmVsX3BpZF90IHNobV9scGlkOworICB1bnNpZ25lZCBsb25nIHNobV9uYXR0Y2g7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIF9fdW51c2VkMjsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDI7CiB9Owogc3RydWN0IHNobWluZm82NCB7Ci0gdW5zaWduZWQgbG9uZyBzaG1tYXg7CisgIHVuc2lnbmVkIGxvbmcgc2htbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHNobW1pbjsKLSB1bnNpZ25lZCBsb25nIHNobW1uaTsKLSB1bnNpZ25lZCBsb25nIHNobXNlZzsKLSB1bnNpZ25lZCBsb25nIHNobWFsbDsKKyAgdW5zaWduZWQgbG9uZyBzaG1taW47CisgIHVuc2lnbmVkIGxvbmcgc2htbW5pOworICB1bnNpZ25lZCBsb25nIHNobXNlZzsKKyAgdW5zaWduZWQgbG9uZyBzaG1hbGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQxOwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQyOwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQzOwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ0OworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkMTsKKyAgdW5zaWduZWQgbG9uZyBfX3VudXNlZDI7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQzOworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zaWdjb250ZXh0LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zaWdjb250ZXh0LmgKaW5kZXggOGE4NzdkYi4uNTk4NzBiYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2lnY29udGV4dC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NpZ2NvbnRleHQuaApAQCAtMjMsMjggKzIzLDI4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIKIHN0cnVjdCBzaWdjb250ZXh0IHsKLSB1bnNpZ25lZCBpbnQgc2NfcmVnbWFzazsKLSB1bnNpZ25lZCBpbnQgc2Nfc3RhdHVzOworICB1bnNpZ25lZCBpbnQgc2NfcmVnbWFzazsKKyAgdW5zaWduZWQgaW50IHNjX3N0YXR1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBsb25nIHNjX3BjOwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzY19yZWdzWzMyXTsKLSB1bnNpZ25lZCBsb25nIGxvbmcgc2NfZnByZWdzWzMyXTsKLSB1bnNpZ25lZCBpbnQgc2NfYWN4OworICB1bnNpZ25lZCBsb25nIGxvbmcgc2NfcGM7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBzY19yZWdzWzMyXTsKKyAgdW5zaWduZWQgbG9uZyBsb25nIHNjX2ZwcmVnc1szMl07CisgIHVuc2lnbmVkIGludCBzY19hY3g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBzY19mcGNfY3NyOwotIHVuc2lnbmVkIGludCBzY19mcGNfZWlyOwotIHVuc2lnbmVkIGludCBzY191c2VkX21hdGg7Ci0gdW5zaWduZWQgaW50IHNjX2RzcDsKKyAgdW5zaWduZWQgaW50IHNjX2ZwY19jc3I7CisgIHVuc2lnbmVkIGludCBzY19mcGNfZWlyOworICB1bnNpZ25lZCBpbnQgc2NfdXNlZF9tYXRoOworICB1bnNpZ25lZCBpbnQgc2NfZHNwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGxvbmcgc2NfbWRoaTsKLSB1bnNpZ25lZCBsb25nIGxvbmcgc2NfbWRsbzsKLSB1bnNpZ25lZCBsb25nIHNjX2hpMTsKLSB1bnNpZ25lZCBsb25nIHNjX2xvMTsKKyAgdW5zaWduZWQgbG9uZyBsb25nIHNjX21kaGk7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBzY19tZGxvOworICB1bnNpZ25lZCBsb25nIHNjX2hpMTsKKyAgdW5zaWduZWQgbG9uZyBzY19sbzE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc2NfaGkyOwotIHVuc2lnbmVkIGxvbmcgc2NfbG8yOwotIHVuc2lnbmVkIGxvbmcgc2NfaGkzOwotIHVuc2lnbmVkIGxvbmcgc2NfbG8zOworICB1bnNpZ25lZCBsb25nIHNjX2hpMjsKKyAgdW5zaWduZWQgbG9uZyBzY19sbzI7CisgIHVuc2lnbmVkIGxvbmcgc2NfaGkzOworICB1bnNpZ25lZCBsb25nIHNjX2xvMzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCkBAIC01MiwyNCArNTIsMjQgQEAKICNpbmNsdWRlIDxsaW51eC9wb3NpeF90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzaWdjb250ZXh0IHsKLSBfX3U2NCBzY19yZWdzWzMyXTsKLSBfX3U2NCBzY19mcHJlZ3NbMzJdOwotIF9fdTY0IHNjX21kaGk7CisgIF9fdTY0IHNjX3JlZ3NbMzJdOworICBfX3U2NCBzY19mcHJlZ3NbMzJdOworICBfX3U2NCBzY19tZGhpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzY19oaTE7Ci0gX191NjQgc2NfaGkyOwotIF9fdTY0IHNjX2hpMzsKLSBfX3U2NCBzY19tZGxvOworICBfX3U2NCBzY19oaTE7CisgIF9fdTY0IHNjX2hpMjsKKyAgX191NjQgc2NfaGkzOworICBfX3U2NCBzY19tZGxvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzY19sbzE7Ci0gX191NjQgc2NfbG8yOwotIF9fdTY0IHNjX2xvMzsKLSBfX3U2NCBzY19wYzsKKyAgX191NjQgc2NfbG8xOworICBfX3U2NCBzY19sbzI7CisgIF9fdTY0IHNjX2xvMzsKKyAgX191NjQgc2NfcGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNjX2ZwY19jc3I7Ci0gX191MzIgc2NfdXNlZF9tYXRoOwotIF9fdTMyIHNjX2RzcDsKLSBfX3UzMiBzY19yZXNlcnZlZDsKKyAgX191MzIgc2NfZnBjX2NzcjsKKyAgX191MzIgc2NfdXNlZF9tYXRoOworICBfX3UzMiBzY19kc3A7CisgIF9fdTMyIHNjX3Jlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NpZ2luZm8uaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NpZ2luZm8uaAppbmRleCA1OTljODc1Li4yZjk1ZDE3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zaWdpbmZvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc2lnaW5mby5oCkBAIC0xOCw3ICsxOCw3IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX1VBUElfQVNNX1NJR0lORk9fSAogI2RlZmluZSBfVUFQSV9BU01fU0lHSU5GT19ICi0jZGVmaW5lIF9fQVJDSF9TSUdFVl9QUkVBTUJMRV9TSVpFIChzaXplb2YobG9uZykgKyAyKnNpemVvZihpbnQpKQorI2RlZmluZSBfX0FSQ0hfU0lHRVZfUFJFQU1CTEVfU0laRSAoc2l6ZW9mKGxvbmcpICsgMiAqIHNpemVvZihpbnQpKQogI3VuZGVmIF9fQVJDSF9TSV9UUkFQTk8KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhBVkVfQVJDSF9TSUdJTkZPX1QKQEAgLTI3LDcgKzI3LDcgQEAKICNpZiBfTUlQU19TWkxPTkcgPT0gMzIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fQVJDSF9TSV9QUkVBTUJMRV9TSVpFICgzICogc2l6ZW9mKGludCkpCi0jZWxpZiBfTUlQU19TWkxPTkcgPT0gNjQKKyNlbGlmIF9NSVBTX1NaTE9ORz09NjQKICNkZWZpbmUgX19BUkNIX1NJX1BSRUFNQkxFX1NJWkUgKDQgKiBzaXplb2YoaW50KSkKICNlbHNlCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzcsNzggKzM3LDc4IEBACiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvc2lnaW5mby5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHNpZ2luZm8gewotIGludCBzaV9zaWdubzsKLSBpbnQgc2lfY29kZTsKLSBpbnQgc2lfZXJybm87CisgIGludCBzaV9zaWdubzsKKyAgaW50IHNpX2NvZGU7CisgIGludCBzaV9lcnJubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IF9fcGFkMFtTSV9NQVhfU0laRSAvIHNpemVvZihpbnQpIC0gU0lfUEFEX1NJWkUgLSAzXTsKLSB1bmlvbiB7Ci0gaW50IF9wYWRbU0lfUEFEX1NJWkVdOwotIHN0cnVjdCB7CisgIGludCBfX3BhZDBbU0lfTUFYX1NJWkUgLyBzaXplb2YoaW50KSAtIFNJX1BBRF9TSVpFIC0gM107CisgIHVuaW9uIHsKKyAgICBpbnQgX3BhZFtTSV9QQURfU0laRV07CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gcGlkX3QgX3BpZDsKLSBfX0FSQ0hfU0lfVUlEX1QgX3VpZDsKLSB9IF9raWxsOwotIHN0cnVjdCB7CisgICAgICBwaWRfdCBfcGlkOworICAgICAgX19BUkNIX1NJX1VJRF9UIF91aWQ7CisgICAgfSBfa2lsbDsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB0aW1lcl90IF90aWQ7Ci0gaW50IF9vdmVycnVuOwotIGNoYXIgX3BhZFtzaXplb2YoIF9fQVJDSF9TSV9VSURfVCkgLSBzaXplb2YoaW50KV07Ci0gc2lndmFsX3QgX3NpZ3ZhbDsKKyAgICAgIHRpbWVyX3QgX3RpZDsKKyAgICAgIGludCBfb3ZlcnJ1bjsKKyAgICAgIGNoYXIgX3BhZFtzaXplb2YoX19BUkNIX1NJX1VJRF9UKSAtIHNpemVvZihpbnQpXTsKKyAgICAgIHNpZ3ZhbF90IF9zaWd2YWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBfc3lzX3ByaXZhdGU7Ci0gfSBfdGltZXI7Ci0gc3RydWN0IHsKLSBwaWRfdCBfcGlkOworICAgICAgaW50IF9zeXNfcHJpdmF0ZTsKKyAgICB9IF90aW1lcjsKKyAgICBzdHJ1Y3QgeworICAgICAgcGlkX3QgX3BpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19BUkNIX1NJX1VJRF9UIF91aWQ7Ci0gc2lndmFsX3QgX3NpZ3ZhbDsKLSB9IF9ydDsKLSBzdHJ1Y3QgeworICAgICAgX19BUkNIX1NJX1VJRF9UIF91aWQ7CisgICAgICBzaWd2YWxfdCBfc2lndmFsOworICAgIH0gX3J0OworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHBpZF90IF9waWQ7Ci0gX19BUkNIX1NJX1VJRF9UIF91aWQ7Ci0gaW50IF9zdGF0dXM7Ci0gY2xvY2tfdCBfdXRpbWU7CisgICAgICBwaWRfdCBfcGlkOworICAgICAgX19BUkNIX1NJX1VJRF9UIF91aWQ7CisgICAgICBpbnQgX3N0YXR1czsKKyAgICAgIGNsb2NrX3QgX3V0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjbG9ja190IF9zdGltZTsKLSB9IF9zaWdjaGxkOwotIHN0cnVjdCB7Ci0gcGlkX3QgX3BpZDsKKyAgICAgIGNsb2NrX3QgX3N0aW1lOworICAgIH0gX3NpZ2NobGQ7CisgICAgc3RydWN0IHsKKyAgICAgIHBpZF90IF9waWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNsb2NrX3QgX3V0aW1lOwotIGludCBfc3RhdHVzOwotIGNsb2NrX3QgX3N0aW1lOwotIH0gX2lyaXhfc2lnY2hsZDsKKyAgICAgIGNsb2NrX3QgX3V0aW1lOworICAgICAgaW50IF9zdGF0dXM7CisgICAgICBjbG9ja190IF9zdGltZTsKKyAgICB9IF9pcml4X3NpZ2NobGQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdm9pZCBfX3VzZXIgKl9hZGRyOworICAgIHN0cnVjdCB7CisgICAgICB2b2lkIF9fdXNlciAqIF9hZGRyOwogI2lmZGVmIF9fQVJDSF9TSV9UUkFQTk8KLSBpbnQgX3RyYXBubzsKKyAgICAgIGludCBfdHJhcG5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgotIHNob3J0IF9hZGRyX2xzYjsKLSB9IF9zaWdmYXVsdDsKLSBzdHJ1Y3QgeworICAgICAgc2hvcnQgX2FkZHJfbHNiOworICAgIH0gX3NpZ2ZhdWx0OworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQVJDSF9TSV9CQU5EX1QgX2JhbmQ7Ci0gaW50IF9mZDsKLSB9IF9zaWdwb2xsOwotIHN0cnVjdCB7CisgICAgICBfX0FSQ0hfU0lfQkFORF9UIF9iYW5kOworICAgICAgaW50IF9mZDsKKyAgICB9IF9zaWdwb2xsOworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZvaWQgX191c2VyICpfY2FsbF9hZGRyOwotIGludCBfc3lzY2FsbDsKLSB1bnNpZ25lZCBpbnQgX2FyY2g7Ci0gfSBfc2lnc3lzOworICAgICAgdm9pZCBfX3VzZXIgKiBfY2FsbF9hZGRyOworICAgICAgaW50IF9zeXNjYWxsOworICAgICAgdW5zaWduZWQgaW50IF9hcmNoOworICAgIH0gX3NpZ3N5czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBfc2lmaWVsZHM7CisgIH0gX3NpZmllbGRzOwogfSBzaWdpbmZvX3Q7CiAjdW5kZWYgU0lfQVNZTkNJTwogI3VuZGVmIFNJX1RJTUVSCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI3VuZGVmIFNJX01FU0dRCi0jZGVmaW5lIFNJX0FTWU5DSU8gLTIKLSNkZWZpbmUgU0lfVElNRVIgX19TSV9DT0RFKF9fU0lfVElNRVIsIC0zKQotI2RlZmluZSBTSV9NRVNHUSBfX1NJX0NPREUoX19TSV9NRVNHUSwgLTQpCisjZGVmaW5lIFNJX0FTWU5DSU8gLSAyCisjZGVmaW5lIFNJX1RJTUVSIF9fU0lfQ09ERShfX1NJX1RJTUVSLCAtIDMpCisjZGVmaW5lIFNJX01FU0dRIF9fU0lfQ09ERShfX1NJX01FU0dRLCAtIDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zaWduYWwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NpZ25hbC5oCmluZGV4IGI3NzRhNjYuLmJhODhiNzAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NpZ25hbC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3NpZ25hbC5oCkBAIC0yNCw3ICsyNCw3IEBACiAjZGVmaW5lIF9OU0lHX0JQVyAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCkKICNkZWZpbmUgX05TSUdfV09SRFMgKF9LRVJORUxfX05TSUcgLyBfTlNJR19CUFcpCiB0eXBlZGVmIHN0cnVjdCB7Ci0gdW5zaWduZWQgbG9uZyBzaWdbX05TSUdfV09SRFNdOworICB1bnNpZ25lZCBsb25nIHNpZ1tfTlNJR19XT1JEU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBzaWdzZXRfdDsKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBvbGRfc2lnc2V0X3Q7CkBAIC05MywxNiArOTMsMTYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvc2lnbmFsLWRlZnMuaD4KIHN0cnVjdCBzaWdhY3Rpb24gewotIHVuc2lnbmVkIGludCBzYV9mbGFnczsKLSBfX3NpZ2hhbmRsZXJfdCBzYV9oYW5kbGVyOworICB1bnNpZ25lZCBpbnQgc2FfZmxhZ3M7CisgIF9fc2lnaGFuZGxlcl90IHNhX2hhbmRsZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpZ3NldF90IHNhX21hc2s7CisgIHNpZ3NldF90IHNhX21hc2s7CiB9OwogdHlwZWRlZiBzdHJ1Y3Qgc2lnYWx0c3RhY2sgewotIHZvaWQgX191c2VyICpzc19zcDsKKyAgdm9pZCBfX3VzZXIgKiBzc19zcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2l6ZV90IHNzX3NpemU7Ci0gaW50IHNzX2ZsYWdzOworICBzaXplX3Qgc3Nfc2l6ZTsKKyAgaW50IHNzX2ZsYWdzOwogfSBzdGFja190OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc3RhdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc3RhdC5oCmluZGV4IGE3MWVlY2IuLmNmMDVlNWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3N0YXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zdGF0LmgKQEAgLTIzLDg2ICsyMyw4NiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyIHx8IF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fTkFCSTMyCiBzdHJ1Y3Qgc3RhdCB7Ci0gdW5zaWduZWQgc3RfZGV2OwotIGxvbmcgc3RfcGFkMVszXTsKKyAgdW5zaWduZWQgc3RfZGV2OworICBsb25nIHN0X3BhZDFbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGlub190IHN0X2lubzsKLSBtb2RlX3Qgc3RfbW9kZTsKLSBfX3UzMiBzdF9ubGluazsKLSB1aWRfdCBzdF91aWQ7CisgIGlub190IHN0X2lubzsKKyAgbW9kZV90IHN0X21vZGU7CisgIF9fdTMyIHN0X25saW5rOworICB1aWRfdCBzdF91aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGdpZF90IHN0X2dpZDsKLSB1bnNpZ25lZCBzdF9yZGV2OwotIGxvbmcgc3RfcGFkMlsyXTsKLSBfX2tlcm5lbF9vZmZfdCBzdF9zaXplOworICBnaWRfdCBzdF9naWQ7CisgIHVuc2lnbmVkIHN0X3JkZXY7CisgIGxvbmcgc3RfcGFkMlsyXTsKKyAgX19rZXJuZWxfb2ZmX3Qgc3Rfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyBzdF9wYWQzOwotIHRpbWVfdCBzdF9hdGltZTsKLSBsb25nIHN0X2F0aW1lX25zZWM7Ci0gdGltZV90IHN0X210aW1lOworICBsb25nIHN0X3BhZDM7CisgIHRpbWVfdCBzdF9hdGltZTsKKyAgbG9uZyBzdF9hdGltZV9uc2VjOworICB0aW1lX3Qgc3RfbXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgc3RfbXRpbWVfbnNlYzsKLSB0aW1lX3Qgc3RfY3RpbWU7Ci0gbG9uZyBzdF9jdGltZV9uc2VjOwotIGxvbmcgc3RfYmxrc2l6ZTsKKyAgbG9uZyBzdF9tdGltZV9uc2VjOworICB0aW1lX3Qgc3RfY3RpbWU7CisgIGxvbmcgc3RfY3RpbWVfbnNlYzsKKyAgbG9uZyBzdF9ibGtzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIHN0X2Jsb2NrczsKLSBsb25nIHN0X3BhZDRbMTRdOworICBsb25nIHN0X2Jsb2NrczsKKyAgbG9uZyBzdF9wYWQ0WzE0XTsKIH07CiBzdHJ1Y3Qgc3RhdDY0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBzdF9kZXY7Ci0gdW5zaWduZWQgbG9uZyBzdF9wYWQwWzNdOwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87Ci0gbW9kZV90IHN0X21vZGU7CisgIHVuc2lnbmVkIGxvbmcgc3RfZGV2OworICB1bnNpZ25lZCBsb25nIHN0X3BhZDBbM107CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87CisgIG1vZGVfdCBzdF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdF9ubGluazsKLSB1aWRfdCBzdF91aWQ7Ci0gZ2lkX3Qgc3RfZ2lkOwotIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKKyAgX191MzIgc3Rfbmxpbms7CisgIHVpZF90IHN0X3VpZDsKKyAgZ2lkX3Qgc3RfZ2lkOworICB1bnNpZ25lZCBsb25nIHN0X3JkZXY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3RfcGFkMVszXTsKLSBsb25nIGxvbmcgc3Rfc2l6ZTsKLSB0aW1lX3Qgc3RfYXRpbWU7Ci0gdW5zaWduZWQgbG9uZyBzdF9hdGltZV9uc2VjOworICB1bnNpZ25lZCBsb25nIHN0X3BhZDFbM107CisgIGxvbmcgbG9uZyBzdF9zaXplOworICB0aW1lX3Qgc3RfYXRpbWU7CisgIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdGltZV90IHN0X210aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlYzsKLSB0aW1lX3Qgc3RfY3RpbWU7Ci0gdW5zaWduZWQgbG9uZyBzdF9jdGltZV9uc2VjOworICB0aW1lX3Qgc3RfbXRpbWU7CisgIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlYzsKKyAgdGltZV90IHN0X2N0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3RfYmxrc2l6ZTsKLSB1bnNpZ25lZCBsb25nIHN0X3BhZDI7Ci0gbG9uZyBsb25nIHN0X2Jsb2NrczsKKyAgdW5zaWduZWQgbG9uZyBzdF9ibGtzaXplOworICB1bnNpZ25lZCBsb25nIHN0X3BhZDI7CisgIGxvbmcgbG9uZyBzdF9ibG9ja3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgogI2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJNjQKIHN0cnVjdCBzdGF0IHsKLSB1bnNpZ25lZCBpbnQgc3RfZGV2OworICB1bnNpZ25lZCBpbnQgc3RfZGV2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3RfcGFkMFszXTsKLSB1bnNpZ25lZCBsb25nIHN0X2lubzsKLSBtb2RlX3Qgc3RfbW9kZTsKLSBfX3UzMiBzdF9ubGluazsKKyAgdW5zaWduZWQgaW50IHN0X3BhZDBbM107CisgIHVuc2lnbmVkIGxvbmcgc3RfaW5vOworICBtb2RlX3Qgc3RfbW9kZTsKKyAgX191MzIgc3Rfbmxpbms7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpZF90IHN0X3VpZDsKLSBnaWRfdCBzdF9naWQ7Ci0gdW5zaWduZWQgaW50IHN0X3JkZXY7Ci0gdW5zaWduZWQgaW50IHN0X3BhZDFbM107CisgIHVpZF90IHN0X3VpZDsKKyAgZ2lkX3Qgc3RfZ2lkOworICB1bnNpZ25lZCBpbnQgc3RfcmRldjsKKyAgdW5zaWduZWQgaW50IHN0X3BhZDFbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX29mZl90IHN0X3NpemU7Ci0gdW5zaWduZWQgaW50IHN0X2F0aW1lOwotIHVuc2lnbmVkIGludCBzdF9hdGltZV9uc2VjOwotIHVuc2lnbmVkIGludCBzdF9tdGltZTsKKyAgX19rZXJuZWxfb2ZmX3Qgc3Rfc2l6ZTsKKyAgdW5zaWduZWQgaW50IHN0X2F0aW1lOworICB1bnNpZ25lZCBpbnQgc3RfYXRpbWVfbnNlYzsKKyAgdW5zaWduZWQgaW50IHN0X210aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3RfbXRpbWVfbnNlYzsKLSB1bnNpZ25lZCBpbnQgc3RfY3RpbWU7Ci0gdW5zaWduZWQgaW50IHN0X2N0aW1lX25zZWM7Ci0gdW5zaWduZWQgaW50IHN0X2Jsa3NpemU7CisgIHVuc2lnbmVkIGludCBzdF9tdGltZV9uc2VjOworICB1bnNpZ25lZCBpbnQgc3RfY3RpbWU7CisgIHVuc2lnbmVkIGludCBzdF9jdGltZV9uc2VjOworICB1bnNpZ25lZCBpbnQgc3RfYmxrc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN0X3BhZDI7Ci0gdW5zaWduZWQgbG9uZyBzdF9ibG9ja3M7CisgIHVuc2lnbmVkIGludCBzdF9wYWQyOworICB1bnNpZ25lZCBsb25nIHN0X2Jsb2NrczsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zdGF0ZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3N0YXRmcy5oCmluZGV4IDM5MGI3NTEuLjM2Y2MzZDUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3N0YXRmcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3N0YXRmcy5oCkBAIC0yMiw4MSArMjIsODEgQEAKICNpbmNsdWRlIDxhc20vc2dpZGVmcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzdGF0ZnMgewotIGxvbmcgZl90eXBlOworICBsb25nIGZfdHlwZTsKICNkZWZpbmUgZl9mc3R5cCBmX3R5cGUKLSBsb25nIGZfYnNpemU7CisgIGxvbmcgZl9ic2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyBmX2Zyc2l6ZTsKLSBsb25nIGZfYmxvY2tzOwotIGxvbmcgZl9iZnJlZTsKLSBsb25nIGZfZmlsZXM7CisgIGxvbmcgZl9mcnNpemU7CisgIGxvbmcgZl9ibG9ja3M7CisgIGxvbmcgZl9iZnJlZTsKKyAgbG9uZyBmX2ZpbGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIGZfZmZyZWU7Ci0gbG9uZyBmX2JhdmFpbDsKLSBfX2tlcm5lbF9mc2lkX3QgZl9mc2lkOwotIGxvbmcgZl9uYW1lbGVuOworICBsb25nIGZfZmZyZWU7CisgIGxvbmcgZl9iYXZhaWw7CisgIF9fa2VybmVsX2ZzaWRfdCBmX2ZzaWQ7CisgIGxvbmcgZl9uYW1lbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIGZfZmxhZ3M7Ci0gbG9uZyBmX3NwYXJlWzVdOworICBsb25nIGZfZmxhZ3M7CisgIGxvbmcgZl9zcGFyZVs1XTsKIH07CiAjaWYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkkzMiB8fCBfTUlQU19TSU0gPT0gX01JUFNfU0lNX05BQkkzMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzdGF0ZnM2NCB7Ci0gX191MzIgZl90eXBlOwotIF9fdTMyIGZfYnNpemU7Ci0gX191MzIgZl9mcnNpemU7CisgIF9fdTMyIGZfdHlwZTsKKyAgX191MzIgZl9ic2l6ZTsKKyAgX191MzIgZl9mcnNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIF9fcGFkOwotIF9fdTY0IGZfYmxvY2tzOwotIF9fdTY0IGZfYmZyZWU7Ci0gX191NjQgZl9maWxlczsKKyAgX191MzIgX19wYWQ7CisgIF9fdTY0IGZfYmxvY2tzOworICBfX3U2NCBmX2JmcmVlOworICBfX3U2NCBmX2ZpbGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBmX2ZmcmVlOwotIF9fdTY0IGZfYmF2YWlsOwotIF9fa2VybmVsX2ZzaWRfdCBmX2ZzaWQ7Ci0gX191MzIgZl9uYW1lbGVuOworICBfX3U2NCBmX2ZmcmVlOworICBfX3U2NCBmX2JhdmFpbDsKKyAgX19rZXJuZWxfZnNpZF90IGZfZnNpZDsKKyAgX191MzIgZl9uYW1lbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmX2ZsYWdzOwotIF9fdTMyIGZfc3BhcmVbNV07CisgIF9fdTMyIGZfZmxhZ3M7CisgIF9fdTMyIGZfc3BhcmVbNV07CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJNjQKIHN0cnVjdCBzdGF0ZnM2NCB7Ci0gbG9uZyBmX3R5cGU7Ci0gbG9uZyBmX2JzaXplOworICBsb25nIGZfdHlwZTsKKyAgbG9uZyBmX2JzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIGZfZnJzaXplOwotIGxvbmcgZl9ibG9ja3M7Ci0gbG9uZyBmX2JmcmVlOwotIGxvbmcgZl9maWxlczsKKyAgbG9uZyBmX2Zyc2l6ZTsKKyAgbG9uZyBmX2Jsb2NrczsKKyAgbG9uZyBmX2JmcmVlOworICBsb25nIGZfZmlsZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZl9mZnJlZTsKLSBsb25nIGZfYmF2YWlsOwotIF9fa2VybmVsX2ZzaWRfdCBmX2ZzaWQ7Ci0gbG9uZyBmX25hbWVsZW47CisgIGxvbmcgZl9mZnJlZTsKKyAgbG9uZyBmX2JhdmFpbDsKKyAgX19rZXJuZWxfZnNpZF90IGZfZnNpZDsKKyAgbG9uZyBmX25hbWVsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZl9mbGFnczsKLSBsb25nIGZfc3BhcmVbNV07CisgIGxvbmcgZl9mbGFnczsKKyAgbG9uZyBmX3NwYXJlWzVdOwogfTsKIHN0cnVjdCBjb21wYXRfc3RhdGZzNjQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmX3R5cGU7Ci0gX191MzIgZl9ic2l6ZTsKLSBfX3UzMiBmX2Zyc2l6ZTsKLSBfX3UzMiBfX3BhZDsKKyAgX191MzIgZl90eXBlOworICBfX3UzMiBmX2JzaXplOworICBfX3UzMiBmX2Zyc2l6ZTsKKyAgX191MzIgX19wYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGZfYmxvY2tzOwotIF9fdTY0IGZfYmZyZWU7Ci0gX191NjQgZl9maWxlczsKLSBfX3U2NCBmX2ZmcmVlOworICBfX3U2NCBmX2Jsb2NrczsKKyAgX191NjQgZl9iZnJlZTsKKyAgX191NjQgZl9maWxlczsKKyAgX191NjQgZl9mZnJlZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZl9iYXZhaWw7Ci0gX19rZXJuZWxfZnNpZF90IGZfZnNpZDsKLSBfX3UzMiBmX25hbWVsZW47Ci0gX191MzIgZl9mbGFnczsKKyAgX191NjQgZl9iYXZhaWw7CisgIF9fa2VybmVsX2ZzaWRfdCBmX2ZzaWQ7CisgIF9fdTMyIGZfbmFtZWxlbjsKKyAgX191MzIgZl9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZl9zcGFyZVs1XTsKKyAgX191MzIgZl9zcGFyZVs1XTsKIH07CiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc3dhYi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vc3dhYi5oCmluZGV4IDQxNjYwZDAuLjA2MjlkMzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3N3YWIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS9zd2FiLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19TV0FCXzY0X1RIUlVfMzJfXwotI2lmIGRlZmluZWQoX19taXBzX2lzYV9yZXYpICYmIF9fbWlwc19pc2FfcmV2ID49IDIKKyNpZiBkZWZpbmVkKF9fbWlwc19pc2FfcmV2KSAmJiBfX21pcHNfaXNhX3JldiA+PSAyIHx8IGRlZmluZWQoX01JUFNfQVJDSF9MT09OR1NPTjNBKQogI2RlZmluZSBfX2FyY2hfc3dhYjE2IF9fYXJjaF9zd2FiMTYKICNkZWZpbmUgX19hcmNoX3N3YWIzMiBfX2FyY2hfc3dhYjMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdGVybWJpdHMuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3Rlcm1iaXRzLmgKaW5kZXggNTZjYWIyMS4uZjhmODYxMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdGVybWJpdHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS90ZXJtYml0cy5oCkBAIC0yNiwzOCArMjYsMzggQEAKICNkZWZpbmUgTkNDUyAyMwogc3RydWN0IHRlcm1pb3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB0Y2ZsYWdfdCBjX2lmbGFnOwotIHRjZmxhZ190IGNfb2ZsYWc7Ci0gdGNmbGFnX3QgY19jZmxhZzsKLSB0Y2ZsYWdfdCBjX2xmbGFnOworICB0Y2ZsYWdfdCBjX2lmbGFnOworICB0Y2ZsYWdfdCBjX29mbGFnOworICB0Y2ZsYWdfdCBjX2NmbGFnOworICB0Y2ZsYWdfdCBjX2xmbGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjY190IGNfbGluZTsKLSBjY190IGNfY2NbTkNDU107CisgIGNjX3QgY19saW5lOworICBjY190IGNfY2NbTkNDU107CiB9Owogc3RydWN0IHRlcm1pb3MyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdGNmbGFnX3QgY19pZmxhZzsKLSB0Y2ZsYWdfdCBjX29mbGFnOwotIHRjZmxhZ190IGNfY2ZsYWc7Ci0gdGNmbGFnX3QgY19sZmxhZzsKKyAgdGNmbGFnX3QgY19pZmxhZzsKKyAgdGNmbGFnX3QgY19vZmxhZzsKKyAgdGNmbGFnX3QgY19jZmxhZzsKKyAgdGNmbGFnX3QgY19sZmxhZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2NfdCBjX2xpbmU7Ci0gY2NfdCBjX2NjW05DQ1NdOwotIHNwZWVkX3QgY19pc3BlZWQ7Ci0gc3BlZWRfdCBjX29zcGVlZDsKKyAgY2NfdCBjX2xpbmU7CisgIGNjX3QgY19jY1tOQ0NTXTsKKyAgc3BlZWRfdCBjX2lzcGVlZDsKKyAgc3BlZWRfdCBjX29zcGVlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGt0ZXJtaW9zIHsKLSB0Y2ZsYWdfdCBjX2lmbGFnOwotIHRjZmxhZ190IGNfb2ZsYWc7CisgIHRjZmxhZ190IGNfaWZsYWc7CisgIHRjZmxhZ190IGNfb2ZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHRjZmxhZ190IGNfY2ZsYWc7Ci0gdGNmbGFnX3QgY19sZmxhZzsKLSBjY190IGNfbGluZTsKLSBjY190IGNfY2NbTkNDU107CisgIHRjZmxhZ190IGNfY2ZsYWc7CisgIHRjZmxhZ190IGNfbGZsYWc7CisgIGNjX3QgY19saW5lOworICBjY190IGNfY2NbTkNDU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNwZWVkX3QgY19pc3BlZWQ7Ci0gc3BlZWRfdCBjX29zcGVlZDsKKyAgc3BlZWRfdCBjX2lzcGVlZDsKKyAgc3BlZWRfdCBjX29zcGVlZDsKIH07CiAjZGVmaW5lIFZJTlRSIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS90ZXJtaW9zLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS90ZXJtaW9zLmgKaW5kZXggMTZkODIyYS4uNTE3NDI1NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdGVybWlvcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3Rlcm1pb3MuaApAQCAtMjMsNTEgKzIzLDUxIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGFzbS9pb2N0bHMuaD4KIHN0cnVjdCBzZ3R0eWIgewotIGNoYXIgc2dfaXNwZWVkOwotIGNoYXIgc2dfb3NwZWVkOworICBjaGFyIHNnX2lzcGVlZDsKKyAgY2hhciBzZ19vc3BlZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc2dfZXJhc2U7Ci0gY2hhciBzZ19raWxsOwotIGludCBzZ19mbGFnczsKKyAgY2hhciBzZ19lcmFzZTsKKyAgY2hhciBzZ19raWxsOworICBpbnQgc2dfZmxhZ3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y2hhcnMgewotIGNoYXIgdF9pbnRyYzsKLSBjaGFyIHRfcXVpdGM7Ci0gY2hhciB0X3N0YXJ0YzsKKyAgY2hhciB0X2ludHJjOworICBjaGFyIHRfcXVpdGM7CisgIGNoYXIgdF9zdGFydGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgdF9zdG9wYzsKLSBjaGFyIHRfZW9mYzsKLSBjaGFyIHRfYnJrYzsKKyAgY2hhciB0X3N0b3BjOworICBjaGFyIHRfZW9mYzsKKyAgY2hhciB0X2Jya2M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBsdGNoYXJzIHsKLSBjaGFyIHRfc3VzcGM7Ci0gY2hhciB0X2RzdXNwYzsKLSBjaGFyIHRfcnBybnRjOworICBjaGFyIHRfc3VzcGM7CisgIGNoYXIgdF9kc3VzcGM7CisgIGNoYXIgdF9ycHJudGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgdF9mbHVzaGM7Ci0gY2hhciB0X3dlcmFzYzsKLSBjaGFyIHRfbG5leHRjOworICBjaGFyIHRfZmx1c2hjOworICBjaGFyIHRfd2VyYXNjOworICBjaGFyIHRfbG5leHRjOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgd2luc2l6ZSB7Ci0gdW5zaWduZWQgc2hvcnQgd3Nfcm93OwotIHVuc2lnbmVkIHNob3J0IHdzX2NvbDsKLSB1bnNpZ25lZCBzaG9ydCB3c194cGl4ZWw7CisgIHVuc2lnbmVkIHNob3J0IHdzX3JvdzsKKyAgdW5zaWduZWQgc2hvcnQgd3NfY29sOworICB1bnNpZ25lZCBzaG9ydCB3c194cGl4ZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHdzX3lwaXhlbDsKKyAgdW5zaWduZWQgc2hvcnQgd3NfeXBpeGVsOwogfTsKICNkZWZpbmUgTkNDIDgKIHN0cnVjdCB0ZXJtaW8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBjX2lmbGFnOwotIHVuc2lnbmVkIHNob3J0IGNfb2ZsYWc7Ci0gdW5zaWduZWQgc2hvcnQgY19jZmxhZzsKLSB1bnNpZ25lZCBzaG9ydCBjX2xmbGFnOworICB1bnNpZ25lZCBzaG9ydCBjX2lmbGFnOworICB1bnNpZ25lZCBzaG9ydCBjX29mbGFnOworICB1bnNpZ25lZCBzaG9ydCBjX2NmbGFnOworICB1bnNpZ25lZCBzaG9ydCBjX2xmbGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGNfbGluZTsKLSB1bnNpZ25lZCBjaGFyIGNfY2NbTkNDU107CisgIGNoYXIgY19saW5lOworICB1bnNpZ25lZCBjaGFyIGNfY2NbTkNDU107CiB9OwogI2RlZmluZSBUSU9DTV9MRSAweDAwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3R5cGVzLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS1taXBzL2FzbS90eXBlcy5oCmluZGV4IDQ1ZmVhNmMuLjllZjdiN2MgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3R5cGVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdHlwZXMuaApAQCAtMTgsMTEgKzE4LDYgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfVUFQSV9BU01fVFlQRVNfSAogI2RlZmluZSBfVUFQSV9BU01fVFlQRVNfSAotI2lmIF9NSVBTX1NaTE9ORyA9PSA2NAotI2luY2x1ZGUgPGFzbS1nZW5lcmljL2ludC1sNjQuaD4KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZWxzZQogI2luY2x1ZGUgPGFzbS1nZW5lcmljL2ludC1sbDY0Lmg+CiAjZW5kaWYKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3VuaXN0ZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdW5pc3RkLmgKaW5kZXggMzdjM2RhMS4uMDRhNDViZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdW5pc3RkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20tbWlwcy9hc20vdW5pc3RkLmgKQEAgLTQ1OSw4MDUgKzQ1OSw4MjMgQEAKICNkZWZpbmUgX19OUl9maW5pdF9tb2R1bGUgKF9fTlJfTGludXggKyAzNDgpCiAjZGVmaW5lIF9fTlJfc2NoZWRfc2V0YXR0ciAoX19OUl9MaW51eCArIDM0OSkKICNkZWZpbmUgX19OUl9zY2hlZF9nZXRhdHRyIChfX05SX0xpbnV4ICsgMzUwKQotI2RlZmluZSBfX05SX0xpbnV4X3N5c2NhbGxzIDM1MAorI2RlZmluZSBfX05SX3JlbmFtZWF0MiAoX19OUl9MaW51eCArIDM1MSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc2VjY29tcCAoX19OUl9MaW51eCArIDM1MikKKyNkZWZpbmUgX19OUl9nZXRyYW5kb20gKF9fTlJfTGludXggKyAzNTMpCisjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIChfX05SX0xpbnV4ICsgMzU0KQorI2RlZmluZSBfX05SX2JwZiAoX19OUl9MaW51eCArIDM1NSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfTGludXhfc3lzY2FsbHMgMzU1CiAjZW5kaWYKICNkZWZpbmUgX19OUl9PMzJfTGludXggNDAwMAotI2RlZmluZSBfX05SX08zMl9MaW51eF9zeXNjYWxscyAzNTAKLSNpZiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTY0CisjZGVmaW5lIF9fTlJfTzMyX0xpbnV4X3N5c2NhbGxzIDM1NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpZiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTY0CiAjZGVmaW5lIF9fTlJfTGludXggNTAwMAogI2RlZmluZSBfX05SX3JlYWQgKF9fTlJfTGludXggKyAwKQogI2RlZmluZSBfX05SX3dyaXRlIChfX05SX0xpbnV4ICsgMSkKLSNkZWZpbmUgX19OUl9vcGVuIChfX05SX0xpbnV4ICsgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfb3BlbiAoX19OUl9MaW51eCArIDIpCiAjZGVmaW5lIF9fTlJfY2xvc2UgKF9fTlJfTGludXggKyAzKQogI2RlZmluZSBfX05SX3N0YXQgKF9fTlJfTGludXggKyA0KQogI2RlZmluZSBfX05SX2ZzdGF0IChfX05SX0xpbnV4ICsgNSkKLSNkZWZpbmUgX19OUl9sc3RhdCAoX19OUl9MaW51eCArIDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2xzdGF0IChfX05SX0xpbnV4ICsgNikKICNkZWZpbmUgX19OUl9wb2xsIChfX05SX0xpbnV4ICsgNykKICNkZWZpbmUgX19OUl9sc2VlayAoX19OUl9MaW51eCArIDgpCiAjZGVmaW5lIF9fTlJfbW1hcCAoX19OUl9MaW51eCArIDkpCi0jZGVmaW5lIF9fTlJfbXByb3RlY3QgKF9fTlJfTGludXggKyAxMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbXByb3RlY3QgKF9fTlJfTGludXggKyAxMCkKICNkZWZpbmUgX19OUl9tdW5tYXAgKF9fTlJfTGludXggKyAxMSkKICNkZWZpbmUgX19OUl9icmsgKF9fTlJfTGludXggKyAxMikKICNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gKF9fTlJfTGludXggKyAxMykKLSNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAoX19OUl9MaW51eCArIDE0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAoX19OUl9MaW51eCArIDE0KQogI2RlZmluZSBfX05SX2lvY3RsIChfX05SX0xpbnV4ICsgMTUpCiAjZGVmaW5lIF9fTlJfcHJlYWQ2NCAoX19OUl9MaW51eCArIDE2KQogI2RlZmluZSBfX05SX3B3cml0ZTY0IChfX05SX0xpbnV4ICsgMTcpCi0jZGVmaW5lIF9fTlJfcmVhZHYgKF9fTlJfTGludXggKyAxOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcmVhZHYgKF9fTlJfTGludXggKyAxOCkKICNkZWZpbmUgX19OUl93cml0ZXYgKF9fTlJfTGludXggKyAxOSkKICNkZWZpbmUgX19OUl9hY2Nlc3MgKF9fTlJfTGludXggKyAyMCkKICNkZWZpbmUgX19OUl9waXBlIChfX05SX0xpbnV4ICsgMjEpCi0jZGVmaW5lIF9fTlJfX25ld3NlbGVjdCAoX19OUl9MaW51eCArIDIyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9fbmV3c2VsZWN0IChfX05SX0xpbnV4ICsgMjIpCiAjZGVmaW5lIF9fTlJfc2NoZWRfeWllbGQgKF9fTlJfTGludXggKyAyMykKICNkZWZpbmUgX19OUl9tcmVtYXAgKF9fTlJfTGludXggKyAyNCkKICNkZWZpbmUgX19OUl9tc3luYyAoX19OUl9MaW51eCArIDI1KQotI2RlZmluZSBfX05SX21pbmNvcmUgKF9fTlJfTGludXggKyAyNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbWluY29yZSAoX19OUl9MaW51eCArIDI2KQogI2RlZmluZSBfX05SX21hZHZpc2UgKF9fTlJfTGludXggKyAyNykKICNkZWZpbmUgX19OUl9zaG1nZXQgKF9fTlJfTGludXggKyAyOCkKICNkZWZpbmUgX19OUl9zaG1hdCAoX19OUl9MaW51eCArIDI5KQotI2RlZmluZSBfX05SX3NobWN0bCAoX19OUl9MaW51eCArIDMwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zaG1jdGwgKF9fTlJfTGludXggKyAzMCkKICNkZWZpbmUgX19OUl9kdXAgKF9fTlJfTGludXggKyAzMSkKICNkZWZpbmUgX19OUl9kdXAyIChfX05SX0xpbnV4ICsgMzIpCiAjZGVmaW5lIF9fTlJfcGF1c2UgKF9fTlJfTGludXggKyAzMykKLSNkZWZpbmUgX19OUl9uYW5vc2xlZXAgKF9fTlJfTGludXggKyAzNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbmFub3NsZWVwIChfX05SX0xpbnV4ICsgMzQpCiAjZGVmaW5lIF9fTlJfZ2V0aXRpbWVyIChfX05SX0xpbnV4ICsgMzUpCiAjZGVmaW5lIF9fTlJfc2V0aXRpbWVyIChfX05SX0xpbnV4ICsgMzYpCiAjZGVmaW5lIF9fTlJfYWxhcm0gKF9fTlJfTGludXggKyAzNykKLSNkZWZpbmUgX19OUl9nZXRwaWQgKF9fTlJfTGludXggKyAzOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0cGlkIChfX05SX0xpbnV4ICsgMzgpCiAjZGVmaW5lIF9fTlJfc2VuZGZpbGUgKF9fTlJfTGludXggKyAzOSkKICNkZWZpbmUgX19OUl9zb2NrZXQgKF9fTlJfTGludXggKyA0MCkKICNkZWZpbmUgX19OUl9jb25uZWN0IChfX05SX0xpbnV4ICsgNDEpCi0jZGVmaW5lIF9fTlJfYWNjZXB0IChfX05SX0xpbnV4ICsgNDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2FjY2VwdCAoX19OUl9MaW51eCArIDQyKQogI2RlZmluZSBfX05SX3NlbmR0byAoX19OUl9MaW51eCArIDQzKQogI2RlZmluZSBfX05SX3JlY3Zmcm9tIChfX05SX0xpbnV4ICsgNDQpCiAjZGVmaW5lIF9fTlJfc2VuZG1zZyAoX19OUl9MaW51eCArIDQ1KQotI2RlZmluZSBfX05SX3JlY3Ztc2cgKF9fTlJfTGludXggKyA0NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcmVjdm1zZyAoX19OUl9MaW51eCArIDQ2KQogI2RlZmluZSBfX05SX3NodXRkb3duIChfX05SX0xpbnV4ICsgNDcpCiAjZGVmaW5lIF9fTlJfYmluZCAoX19OUl9MaW51eCArIDQ4KQogI2RlZmluZSBfX05SX2xpc3RlbiAoX19OUl9MaW51eCArIDQ5KQotI2RlZmluZSBfX05SX2dldHNvY2tuYW1lIChfX05SX0xpbnV4ICsgNTApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2dldHNvY2tuYW1lIChfX05SX0xpbnV4ICsgNTApCiAjZGVmaW5lIF9fTlJfZ2V0cGVlcm5hbWUgKF9fTlJfTGludXggKyA1MSkKICNkZWZpbmUgX19OUl9zb2NrZXRwYWlyIChfX05SX0xpbnV4ICsgNTIpCiAjZGVmaW5lIF9fTlJfc2V0c29ja29wdCAoX19OUl9MaW51eCArIDUzKQotI2RlZmluZSBfX05SX2dldHNvY2tvcHQgKF9fTlJfTGludXggKyA1NCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0c29ja29wdCAoX19OUl9MaW51eCArIDU0KQogI2RlZmluZSBfX05SX2Nsb25lIChfX05SX0xpbnV4ICsgNTUpCiAjZGVmaW5lIF9fTlJfZm9yayAoX19OUl9MaW51eCArIDU2KQogI2RlZmluZSBfX05SX2V4ZWN2ZSAoX19OUl9MaW51eCArIDU3KQotI2RlZmluZSBfX05SX2V4aXQgKF9fTlJfTGludXggKyA1OCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZXhpdCAoX19OUl9MaW51eCArIDU4KQogI2RlZmluZSBfX05SX3dhaXQ0IChfX05SX0xpbnV4ICsgNTkpCiAjZGVmaW5lIF9fTlJfa2lsbCAoX19OUl9MaW51eCArIDYwKQogI2RlZmluZSBfX05SX3VuYW1lIChfX05SX0xpbnV4ICsgNjEpCi0jZGVmaW5lIF9fTlJfc2VtZ2V0IChfX05SX0xpbnV4ICsgNjIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NlbWdldCAoX19OUl9MaW51eCArIDYyKQogI2RlZmluZSBfX05SX3NlbW9wIChfX05SX0xpbnV4ICsgNjMpCiAjZGVmaW5lIF9fTlJfc2VtY3RsIChfX05SX0xpbnV4ICsgNjQpCiAjZGVmaW5lIF9fTlJfc2htZHQgKF9fTlJfTGludXggKyA2NSkKLSNkZWZpbmUgX19OUl9tc2dnZXQgKF9fTlJfTGludXggKyA2NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbXNnZ2V0IChfX05SX0xpbnV4ICsgNjYpCiAjZGVmaW5lIF9fTlJfbXNnc25kIChfX05SX0xpbnV4ICsgNjcpCiAjZGVmaW5lIF9fTlJfbXNncmN2IChfX05SX0xpbnV4ICsgNjgpCiAjZGVmaW5lIF9fTlJfbXNnY3RsIChfX05SX0xpbnV4ICsgNjkpCi0jZGVmaW5lIF9fTlJfZmNudGwgKF9fTlJfTGludXggKyA3MCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZmNudGwgKF9fTlJfTGludXggKyA3MCkKICNkZWZpbmUgX19OUl9mbG9jayAoX19OUl9MaW51eCArIDcxKQogI2RlZmluZSBfX05SX2ZzeW5jIChfX05SX0xpbnV4ICsgNzIpCiAjZGVmaW5lIF9fTlJfZmRhdGFzeW5jIChfX05SX0xpbnV4ICsgNzMpCi0jZGVmaW5lIF9fTlJfdHJ1bmNhdGUgKF9fTlJfTGludXggKyA3NCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfdHJ1bmNhdGUgKF9fTlJfTGludXggKyA3NCkKICNkZWZpbmUgX19OUl9mdHJ1bmNhdGUgKF9fTlJfTGludXggKyA3NSkKICNkZWZpbmUgX19OUl9nZXRkZW50cyAoX19OUl9MaW51eCArIDc2KQogI2RlZmluZSBfX05SX2dldGN3ZCAoX19OUl9MaW51eCArIDc3KQotI2RlZmluZSBfX05SX2NoZGlyIChfX05SX0xpbnV4ICsgNzgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2NoZGlyIChfX05SX0xpbnV4ICsgNzgpCiAjZGVmaW5lIF9fTlJfZmNoZGlyIChfX05SX0xpbnV4ICsgNzkpCiAjZGVmaW5lIF9fTlJfcmVuYW1lIChfX05SX0xpbnV4ICsgODApCiAjZGVmaW5lIF9fTlJfbWtkaXIgKF9fTlJfTGludXggKyA4MSkKLSNkZWZpbmUgX19OUl9ybWRpciAoX19OUl9MaW51eCArIDgyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9ybWRpciAoX19OUl9MaW51eCArIDgyKQogI2RlZmluZSBfX05SX2NyZWF0IChfX05SX0xpbnV4ICsgODMpCiAjZGVmaW5lIF9fTlJfbGluayAoX19OUl9MaW51eCArIDg0KQogI2RlZmluZSBfX05SX3VubGluayAoX19OUl9MaW51eCArIDg1KQotI2RlZmluZSBfX05SX3N5bWxpbmsgKF9fTlJfTGludXggKyA4NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc3ltbGluayAoX19OUl9MaW51eCArIDg2KQogI2RlZmluZSBfX05SX3JlYWRsaW5rIChfX05SX0xpbnV4ICsgODcpCiAjZGVmaW5lIF9fTlJfY2htb2QgKF9fTlJfTGludXggKyA4OCkKICNkZWZpbmUgX19OUl9mY2htb2QgKF9fTlJfTGludXggKyA4OSkKLSNkZWZpbmUgX19OUl9jaG93biAoX19OUl9MaW51eCArIDkwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9jaG93biAoX19OUl9MaW51eCArIDkwKQogI2RlZmluZSBfX05SX2ZjaG93biAoX19OUl9MaW51eCArIDkxKQogI2RlZmluZSBfX05SX2xjaG93biAoX19OUl9MaW51eCArIDkyKQogI2RlZmluZSBfX05SX3VtYXNrIChfX05SX0xpbnV4ICsgOTMpCi0jZGVmaW5lIF9fTlJfZ2V0dGltZW9mZGF5IChfX05SX0xpbnV4ICsgOTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2dldHRpbWVvZmRheSAoX19OUl9MaW51eCArIDk0KQogI2RlZmluZSBfX05SX2dldHJsaW1pdCAoX19OUl9MaW51eCArIDk1KQogI2RlZmluZSBfX05SX2dldHJ1c2FnZSAoX19OUl9MaW51eCArIDk2KQogI2RlZmluZSBfX05SX3N5c2luZm8gKF9fTlJfTGludXggKyA5NykKLSNkZWZpbmUgX19OUl90aW1lcyAoX19OUl9MaW51eCArIDk4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl90aW1lcyAoX19OUl9MaW51eCArIDk4KQogI2RlZmluZSBfX05SX3B0cmFjZSAoX19OUl9MaW51eCArIDk5KQogI2RlZmluZSBfX05SX2dldHVpZCAoX19OUl9MaW51eCArIDEwMCkKICNkZWZpbmUgX19OUl9zeXNsb2cgKF9fTlJfTGludXggKyAxMDEpCi0jZGVmaW5lIF9fTlJfZ2V0Z2lkIChfX05SX0xpbnV4ICsgMTAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9nZXRnaWQgKF9fTlJfTGludXggKyAxMDIpCiAjZGVmaW5lIF9fTlJfc2V0dWlkIChfX05SX0xpbnV4ICsgMTAzKQogI2RlZmluZSBfX05SX3NldGdpZCAoX19OUl9MaW51eCArIDEwNCkKICNkZWZpbmUgX19OUl9nZXRldWlkIChfX05SX0xpbnV4ICsgMTA1KQotI2RlZmluZSBfX05SX2dldGVnaWQgKF9fTlJfTGludXggKyAxMDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2dldGVnaWQgKF9fTlJfTGludXggKyAxMDYpCiAjZGVmaW5lIF9fTlJfc2V0cGdpZCAoX19OUl9MaW51eCArIDEwNykKICNkZWZpbmUgX19OUl9nZXRwcGlkIChfX05SX0xpbnV4ICsgMTA4KQogI2RlZmluZSBfX05SX2dldHBncnAgKF9fTlJfTGludXggKyAxMDkpCi0jZGVmaW5lIF9fTlJfc2V0c2lkIChfX05SX0xpbnV4ICsgMTEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zZXRzaWQgKF9fTlJfTGludXggKyAxMTApCiAjZGVmaW5lIF9fTlJfc2V0cmV1aWQgKF9fTlJfTGludXggKyAxMTEpCiAjZGVmaW5lIF9fTlJfc2V0cmVnaWQgKF9fTlJfTGludXggKyAxMTIpCiAjZGVmaW5lIF9fTlJfZ2V0Z3JvdXBzIChfX05SX0xpbnV4ICsgMTEzKQotI2RlZmluZSBfX05SX3NldGdyb3VwcyAoX19OUl9MaW51eCArIDExNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc2V0Z3JvdXBzIChfX05SX0xpbnV4ICsgMTE0KQogI2RlZmluZSBfX05SX3NldHJlc3VpZCAoX19OUl9MaW51eCArIDExNSkKICNkZWZpbmUgX19OUl9nZXRyZXN1aWQgKF9fTlJfTGludXggKyAxMTYpCiAjZGVmaW5lIF9fTlJfc2V0cmVzZ2lkIChfX05SX0xpbnV4ICsgMTE3KQotI2RlZmluZSBfX05SX2dldHJlc2dpZCAoX19OUl9MaW51eCArIDExOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0cmVzZ2lkIChfX05SX0xpbnV4ICsgMTE4KQogI2RlZmluZSBfX05SX2dldHBnaWQgKF9fTlJfTGludXggKyAxMTkpCiAjZGVmaW5lIF9fTlJfc2V0ZnN1aWQgKF9fTlJfTGludXggKyAxMjApCiAjZGVmaW5lIF9fTlJfc2V0ZnNnaWQgKF9fTlJfTGludXggKyAxMjEpCi0jZGVmaW5lIF9fTlJfZ2V0c2lkIChfX05SX0xpbnV4ICsgMTIyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9nZXRzaWQgKF9fTlJfTGludXggKyAxMjIpCiAjZGVmaW5lIF9fTlJfY2FwZ2V0IChfX05SX0xpbnV4ICsgMTIzKQogI2RlZmluZSBfX05SX2NhcHNldCAoX19OUl9MaW51eCArIDEyNCkKICNkZWZpbmUgX19OUl9ydF9zaWdwZW5kaW5nIChfX05SX0xpbnV4ICsgMTI1KQotI2RlZmluZSBfX05SX3J0X3NpZ3RpbWVkd2FpdCAoX19OUl9MaW51eCArIDEyNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcnRfc2lndGltZWR3YWl0IChfX05SX0xpbnV4ICsgMTI2KQogI2RlZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbyAoX19OUl9MaW51eCArIDEyNykKICNkZWZpbmUgX19OUl9ydF9zaWdzdXNwZW5kIChfX05SX0xpbnV4ICsgMTI4KQogI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrIChfX05SX0xpbnV4ICsgMTI5KQotI2RlZmluZSBfX05SX3V0aW1lIChfX05SX0xpbnV4ICsgMTMwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl91dGltZSAoX19OUl9MaW51eCArIDEzMCkKICNkZWZpbmUgX19OUl9ta25vZCAoX19OUl9MaW51eCArIDEzMSkKICNkZWZpbmUgX19OUl9wZXJzb25hbGl0eSAoX19OUl9MaW51eCArIDEzMikKICNkZWZpbmUgX19OUl91c3RhdCAoX19OUl9MaW51eCArIDEzMykKLSNkZWZpbmUgX19OUl9zdGF0ZnMgKF9fTlJfTGludXggKyAxMzQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3N0YXRmcyAoX19OUl9MaW51eCArIDEzNCkKICNkZWZpbmUgX19OUl9mc3RhdGZzIChfX05SX0xpbnV4ICsgMTM1KQogI2RlZmluZSBfX05SX3N5c2ZzIChfX05SX0xpbnV4ICsgMTM2KQogI2RlZmluZSBfX05SX2dldHByaW9yaXR5IChfX05SX0xpbnV4ICsgMTM3KQotI2RlZmluZSBfX05SX3NldHByaW9yaXR5IChfX05SX0xpbnV4ICsgMTM4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zZXRwcmlvcml0eSAoX19OUl9MaW51eCArIDEzOCkKICNkZWZpbmUgX19OUl9zY2hlZF9zZXRwYXJhbSAoX19OUl9MaW51eCArIDEzOSkKICNkZWZpbmUgX19OUl9zY2hlZF9nZXRwYXJhbSAoX19OUl9MaW51eCArIDE0MCkKICNkZWZpbmUgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIgKF9fTlJfTGludXggKyAxNDEpCi0jZGVmaW5lIF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyIChfX05SX0xpbnV4ICsgMTQyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIgKF9fTlJfTGludXggKyAxNDIpCiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCAoX19OUl9MaW51eCArIDE0MykKICNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluIChfX05SX0xpbnV4ICsgMTQ0KQogI2RlZmluZSBfX05SX3NjaGVkX3JyX2dldF9pbnRlcnZhbCAoX19OUl9MaW51eCArIDE0NSkKLSNkZWZpbmUgX19OUl9tbG9jayAoX19OUl9MaW51eCArIDE0NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbWxvY2sgKF9fTlJfTGludXggKyAxNDYpCiAjZGVmaW5lIF9fTlJfbXVubG9jayAoX19OUl9MaW51eCArIDE0NykKICNkZWZpbmUgX19OUl9tbG9ja2FsbCAoX19OUl9MaW51eCArIDE0OCkKICNkZWZpbmUgX19OUl9tdW5sb2NrYWxsIChfX05SX0xpbnV4ICsgMTQ5KQotI2RlZmluZSBfX05SX3ZoYW5ndXAgKF9fTlJfTGludXggKyAxNTApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3ZoYW5ndXAgKF9fTlJfTGludXggKyAxNTApCiAjZGVmaW5lIF9fTlJfcGl2b3Rfcm9vdCAoX19OUl9MaW51eCArIDE1MSkKICNkZWZpbmUgX19OUl9fc3lzY3RsIChfX05SX0xpbnV4ICsgMTUyKQogI2RlZmluZSBfX05SX3ByY3RsIChfX05SX0xpbnV4ICsgMTUzKQotI2RlZmluZSBfX05SX2FkanRpbWV4IChfX05SX0xpbnV4ICsgMTU0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9hZGp0aW1leCAoX19OUl9MaW51eCArIDE1NCkKICNkZWZpbmUgX19OUl9zZXRybGltaXQgKF9fTlJfTGludXggKyAxNTUpCiAjZGVmaW5lIF9fTlJfY2hyb290IChfX05SX0xpbnV4ICsgMTU2KQogI2RlZmluZSBfX05SX3N5bmMgKF9fTlJfTGludXggKyAxNTcpCi0jZGVmaW5lIF9fTlJfYWNjdCAoX19OUl9MaW51eCArIDE1OCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfYWNjdCAoX19OUl9MaW51eCArIDE1OCkKICNkZWZpbmUgX19OUl9zZXR0aW1lb2ZkYXkgKF9fTlJfTGludXggKyAxNTkpCiAjZGVmaW5lIF9fTlJfbW91bnQgKF9fTlJfTGludXggKyAxNjApCiAjZGVmaW5lIF9fTlJfdW1vdW50MiAoX19OUl9MaW51eCArIDE2MSkKLSNkZWZpbmUgX19OUl9zd2Fwb24gKF9fTlJfTGludXggKyAxNjIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3N3YXBvbiAoX19OUl9MaW51eCArIDE2MikKICNkZWZpbmUgX19OUl9zd2Fwb2ZmIChfX05SX0xpbnV4ICsgMTYzKQogI2RlZmluZSBfX05SX3JlYm9vdCAoX19OUl9MaW51eCArIDE2NCkKICNkZWZpbmUgX19OUl9zZXRob3N0bmFtZSAoX19OUl9MaW51eCArIDE2NSkKLSNkZWZpbmUgX19OUl9zZXRkb21haW5uYW1lIChfX05SX0xpbnV4ICsgMTY2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zZXRkb21haW5uYW1lIChfX05SX0xpbnV4ICsgMTY2KQogI2RlZmluZSBfX05SX2NyZWF0ZV9tb2R1bGUgKF9fTlJfTGludXggKyAxNjcpCiAjZGVmaW5lIF9fTlJfaW5pdF9tb2R1bGUgKF9fTlJfTGludXggKyAxNjgpCiAjZGVmaW5lIF9fTlJfZGVsZXRlX21vZHVsZSAoX19OUl9MaW51eCArIDE2OSkKLSNkZWZpbmUgX19OUl9nZXRfa2VybmVsX3N5bXMgKF9fTlJfTGludXggKyAxNzApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2dldF9rZXJuZWxfc3ltcyAoX19OUl9MaW51eCArIDE3MCkKICNkZWZpbmUgX19OUl9xdWVyeV9tb2R1bGUgKF9fTlJfTGludXggKyAxNzEpCiAjZGVmaW5lIF9fTlJfcXVvdGFjdGwgKF9fTlJfTGludXggKyAxNzIpCiAjZGVmaW5lIF9fTlJfbmZzc2VydmN0bCAoX19OUl9MaW51eCArIDE3MykKLSNkZWZpbmUgX19OUl9nZXRwbXNnIChfX05SX0xpbnV4ICsgMTc0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9nZXRwbXNnIChfX05SX0xpbnV4ICsgMTc0KQogI2RlZmluZSBfX05SX3B1dHBtc2cgKF9fTlJfTGludXggKyAxNzUpCiAjZGVmaW5lIF9fTlJfYWZzX3N5c2NhbGwgKF9fTlJfTGludXggKyAxNzYpCiAjZGVmaW5lIF9fTlJfcmVzZXJ2ZWQxNzcgKF9fTlJfTGludXggKyAxNzcpCi0jZGVmaW5lIF9fTlJfZ2V0dGlkIChfX05SX0xpbnV4ICsgMTc4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9nZXR0aWQgKF9fTlJfTGludXggKyAxNzgpCiAjZGVmaW5lIF9fTlJfcmVhZGFoZWFkIChfX05SX0xpbnV4ICsgMTc5KQogI2RlZmluZSBfX05SX3NldHhhdHRyIChfX05SX0xpbnV4ICsgMTgwKQogI2RlZmluZSBfX05SX2xzZXR4YXR0ciAoX19OUl9MaW51eCArIDE4MSkKLSNkZWZpbmUgX19OUl9mc2V0eGF0dHIgKF9fTlJfTGludXggKyAxODIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2ZzZXR4YXR0ciAoX19OUl9MaW51eCArIDE4MikKICNkZWZpbmUgX19OUl9nZXR4YXR0ciAoX19OUl9MaW51eCArIDE4MykKICNkZWZpbmUgX19OUl9sZ2V0eGF0dHIgKF9fTlJfTGludXggKyAxODQpCiAjZGVmaW5lIF9fTlJfZmdldHhhdHRyIChfX05SX0xpbnV4ICsgMTg1KQotI2RlZmluZSBfX05SX2xpc3R4YXR0ciAoX19OUl9MaW51eCArIDE4NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbGlzdHhhdHRyIChfX05SX0xpbnV4ICsgMTg2KQogI2RlZmluZSBfX05SX2xsaXN0eGF0dHIgKF9fTlJfTGludXggKyAxODcpCiAjZGVmaW5lIF9fTlJfZmxpc3R4YXR0ciAoX19OUl9MaW51eCArIDE4OCkKICNkZWZpbmUgX19OUl9yZW1vdmV4YXR0ciAoX19OUl9MaW51eCArIDE4OSkKLSNkZWZpbmUgX19OUl9scmVtb3ZleGF0dHIgKF9fTlJfTGludXggKyAxOTApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2xyZW1vdmV4YXR0ciAoX19OUl9MaW51eCArIDE5MCkKICNkZWZpbmUgX19OUl9mcmVtb3ZleGF0dHIgKF9fTlJfTGludXggKyAxOTEpCiAjZGVmaW5lIF9fTlJfdGtpbGwgKF9fTlJfTGludXggKyAxOTIpCiAjZGVmaW5lIF9fTlJfcmVzZXJ2ZWQxOTMgKF9fTlJfTGludXggKyAxOTMpCi0jZGVmaW5lIF9fTlJfZnV0ZXggKF9fTlJfTGludXggKyAxOTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2Z1dGV4IChfX05SX0xpbnV4ICsgMTk0KQogI2RlZmluZSBfX05SX3NjaGVkX3NldGFmZmluaXR5IChfX05SX0xpbnV4ICsgMTk1KQogI2RlZmluZSBfX05SX3NjaGVkX2dldGFmZmluaXR5IChfX05SX0xpbnV4ICsgMTk2KQogI2RlZmluZSBfX05SX2NhY2hlZmx1c2ggKF9fTlJfTGludXggKyAxOTcpCi0jZGVmaW5lIF9fTlJfY2FjaGVjdGwgKF9fTlJfTGludXggKyAxOTgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2NhY2hlY3RsIChfX05SX0xpbnV4ICsgMTk4KQogI2RlZmluZSBfX05SX3N5c21pcHMgKF9fTlJfTGludXggKyAxOTkpCiAjZGVmaW5lIF9fTlJfaW9fc2V0dXAgKF9fTlJfTGludXggKyAyMDApCiAjZGVmaW5lIF9fTlJfaW9fZGVzdHJveSAoX19OUl9MaW51eCArIDIwMSkKLSNkZWZpbmUgX19OUl9pb19nZXRldmVudHMgKF9fTlJfTGludXggKyAyMDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2lvX2dldGV2ZW50cyAoX19OUl9MaW51eCArIDIwMikKICNkZWZpbmUgX19OUl9pb19zdWJtaXQgKF9fTlJfTGludXggKyAyMDMpCiAjZGVmaW5lIF9fTlJfaW9fY2FuY2VsIChfX05SX0xpbnV4ICsgMjA0KQogI2RlZmluZSBfX05SX2V4aXRfZ3JvdXAgKF9fTlJfTGludXggKyAyMDUpCi0jZGVmaW5lIF9fTlJfbG9va3VwX2Rjb29raWUgKF9fTlJfTGludXggKyAyMDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2xvb2t1cF9kY29va2llIChfX05SX0xpbnV4ICsgMjA2KQogI2RlZmluZSBfX05SX2Vwb2xsX2NyZWF0ZSAoX19OUl9MaW51eCArIDIwNykKICNkZWZpbmUgX19OUl9lcG9sbF9jdGwgKF9fTlJfTGludXggKyAyMDgpCiAjZGVmaW5lIF9fTlJfZXBvbGxfd2FpdCAoX19OUl9MaW51eCArIDIwOSkKLSNkZWZpbmUgX19OUl9yZW1hcF9maWxlX3BhZ2VzIChfX05SX0xpbnV4ICsgMjEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9yZW1hcF9maWxlX3BhZ2VzIChfX05SX0xpbnV4ICsgMjEwKQogI2RlZmluZSBfX05SX3J0X3NpZ3JldHVybiAoX19OUl9MaW51eCArIDIxMSkKICNkZWZpbmUgX19OUl9zZXRfdGlkX2FkZHJlc3MgKF9fTlJfTGludXggKyAyMTIpCiAjZGVmaW5lIF9fTlJfcmVzdGFydF9zeXNjYWxsIChfX05SX0xpbnV4ICsgMjEzKQotI2RlZmluZSBfX05SX3NlbXRpbWVkb3AgKF9fTlJfTGludXggKyAyMTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NlbXRpbWVkb3AgKF9fTlJfTGludXggKyAyMTQpCiAjZGVmaW5lIF9fTlJfZmFkdmlzZTY0IChfX05SX0xpbnV4ICsgMjE1KQogI2RlZmluZSBfX05SX3RpbWVyX2NyZWF0ZSAoX19OUl9MaW51eCArIDIxNikKICNkZWZpbmUgX19OUl90aW1lcl9zZXR0aW1lIChfX05SX0xpbnV4ICsgMjE3KQotI2RlZmluZSBfX05SX3RpbWVyX2dldHRpbWUgKF9fTlJfTGludXggKyAyMTgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3RpbWVyX2dldHRpbWUgKF9fTlJfTGludXggKyAyMTgpCiAjZGVmaW5lIF9fTlJfdGltZXJfZ2V0b3ZlcnJ1biAoX19OUl9MaW51eCArIDIxOSkKICNkZWZpbmUgX19OUl90aW1lcl9kZWxldGUgKF9fTlJfTGludXggKyAyMjApCiAjZGVmaW5lIF9fTlJfY2xvY2tfc2V0dGltZSAoX19OUl9MaW51eCArIDIyMSkKLSNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lIChfX05SX0xpbnV4ICsgMjIyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lIChfX05SX0xpbnV4ICsgMjIyKQogI2RlZmluZSBfX05SX2Nsb2NrX2dldHJlcyAoX19OUl9MaW51eCArIDIyMykKICNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgKF9fTlJfTGludXggKyAyMjQpCiAjZGVmaW5lIF9fTlJfdGdraWxsIChfX05SX0xpbnV4ICsgMjI1KQotI2RlZmluZSBfX05SX3V0aW1lcyAoX19OUl9MaW51eCArIDIyNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfdXRpbWVzIChfX05SX0xpbnV4ICsgMjI2KQogI2RlZmluZSBfX05SX21iaW5kIChfX05SX0xpbnV4ICsgMjI3KQogI2RlZmluZSBfX05SX2dldF9tZW1wb2xpY3kgKF9fTlJfTGludXggKyAyMjgpCiAjZGVmaW5lIF9fTlJfc2V0X21lbXBvbGljeSAoX19OUl9MaW51eCArIDIyOSkKLSNkZWZpbmUgX19OUl9tcV9vcGVuIChfX05SX0xpbnV4ICsgMjMwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9tcV9vcGVuIChfX05SX0xpbnV4ICsgMjMwKQogI2RlZmluZSBfX05SX21xX3VubGluayAoX19OUl9MaW51eCArIDIzMSkKICNkZWZpbmUgX19OUl9tcV90aW1lZHNlbmQgKF9fTlJfTGludXggKyAyMzIpCiAjZGVmaW5lIF9fTlJfbXFfdGltZWRyZWNlaXZlIChfX05SX0xpbnV4ICsgMjMzKQotI2RlZmluZSBfX05SX21xX25vdGlmeSAoX19OUl9MaW51eCArIDIzNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbXFfbm90aWZ5IChfX05SX0xpbnV4ICsgMjM0KQogI2RlZmluZSBfX05SX21xX2dldHNldGF0dHIgKF9fTlJfTGludXggKyAyMzUpCiAjZGVmaW5lIF9fTlJfdnNlcnZlciAoX19OUl9MaW51eCArIDIzNikKICNkZWZpbmUgX19OUl93YWl0aWQgKF9fTlJfTGludXggKyAyMzcpCi0jZGVmaW5lIF9fTlJfYWRkX2tleSAoX19OUl9MaW51eCArIDIzOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfYWRkX2tleSAoX19OUl9MaW51eCArIDIzOSkKICNkZWZpbmUgX19OUl9yZXF1ZXN0X2tleSAoX19OUl9MaW51eCArIDI0MCkKICNkZWZpbmUgX19OUl9rZXljdGwgKF9fTlJfTGludXggKyAyNDEpCiAjZGVmaW5lIF9fTlJfc2V0X3RocmVhZF9hcmVhIChfX05SX0xpbnV4ICsgMjQyKQotI2RlZmluZSBfX05SX2lub3RpZnlfaW5pdCAoX19OUl9MaW51eCArIDI0MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0IChfX05SX0xpbnV4ICsgMjQzKQogI2RlZmluZSBfX05SX2lub3RpZnlfYWRkX3dhdGNoIChfX05SX0xpbnV4ICsgMjQ0KQogI2RlZmluZSBfX05SX2lub3RpZnlfcm1fd2F0Y2ggKF9fTlJfTGludXggKyAyNDUpCiAjZGVmaW5lIF9fTlJfbWlncmF0ZV9wYWdlcyAoX19OUl9MaW51eCArIDI0NikKLSNkZWZpbmUgX19OUl9vcGVuYXQgKF9fTlJfTGludXggKyAyNDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX29wZW5hdCAoX19OUl9MaW51eCArIDI0NykKICNkZWZpbmUgX19OUl9ta2RpcmF0IChfX05SX0xpbnV4ICsgMjQ4KQogI2RlZmluZSBfX05SX21rbm9kYXQgKF9fTlJfTGludXggKyAyNDkpCiAjZGVmaW5lIF9fTlJfZmNob3duYXQgKF9fTlJfTGludXggKyAyNTApCi0jZGVmaW5lIF9fTlJfZnV0aW1lc2F0IChfX05SX0xpbnV4ICsgMjUxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9mdXRpbWVzYXQgKF9fTlJfTGludXggKyAyNTEpCiAjZGVmaW5lIF9fTlJfbmV3ZnN0YXRhdCAoX19OUl9MaW51eCArIDI1MikKICNkZWZpbmUgX19OUl91bmxpbmthdCAoX19OUl9MaW51eCArIDI1MykKICNkZWZpbmUgX19OUl9yZW5hbWVhdCAoX19OUl9MaW51eCArIDI1NCkKLSNkZWZpbmUgX19OUl9saW5rYXQgKF9fTlJfTGludXggKyAyNTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2xpbmthdCAoX19OUl9MaW51eCArIDI1NSkKICNkZWZpbmUgX19OUl9zeW1saW5rYXQgKF9fTlJfTGludXggKyAyNTYpCiAjZGVmaW5lIF9fTlJfcmVhZGxpbmthdCAoX19OUl9MaW51eCArIDI1NykKICNkZWZpbmUgX19OUl9mY2htb2RhdCAoX19OUl9MaW51eCArIDI1OCkKLSNkZWZpbmUgX19OUl9mYWNjZXNzYXQgKF9fTlJfTGludXggKyAyNTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2ZhY2Nlc3NhdCAoX19OUl9MaW51eCArIDI1OSkKICNkZWZpbmUgX19OUl9wc2VsZWN0NiAoX19OUl9MaW51eCArIDI2MCkKICNkZWZpbmUgX19OUl9wcG9sbCAoX19OUl9MaW51eCArIDI2MSkKICNkZWZpbmUgX19OUl91bnNoYXJlIChfX05SX0xpbnV4ICsgMjYyKQotI2RlZmluZSBfX05SX3NwbGljZSAoX19OUl9MaW51eCArIDI2MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc3BsaWNlIChfX05SX0xpbnV4ICsgMjYzKQogI2RlZmluZSBfX05SX3N5bmNfZmlsZV9yYW5nZSAoX19OUl9MaW51eCArIDI2NCkKICNkZWZpbmUgX19OUl90ZWUgKF9fTlJfTGludXggKyAyNjUpCiAjZGVmaW5lIF9fTlJfdm1zcGxpY2UgKF9fTlJfTGludXggKyAyNjYpCi0jZGVmaW5lIF9fTlJfbW92ZV9wYWdlcyAoX19OUl9MaW51eCArIDI2NykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfbW92ZV9wYWdlcyAoX19OUl9MaW51eCArIDI2NykKICNkZWZpbmUgX19OUl9zZXRfcm9idXN0X2xpc3QgKF9fTlJfTGludXggKyAyNjgpCiAjZGVmaW5lIF9fTlJfZ2V0X3JvYnVzdF9saXN0IChfX05SX0xpbnV4ICsgMjY5KQogI2RlZmluZSBfX05SX2tleGVjX2xvYWQgKF9fTlJfTGludXggKyAyNzApCi0jZGVmaW5lIF9fTlJfZ2V0Y3B1IChfX05SX0xpbnV4ICsgMjcxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9nZXRjcHUgKF9fTlJfTGludXggKyAyNzEpCiAjZGVmaW5lIF9fTlJfZXBvbGxfcHdhaXQgKF9fTlJfTGludXggKyAyNzIpCiAjZGVmaW5lIF9fTlJfaW9wcmlvX3NldCAoX19OUl9MaW51eCArIDI3MykKICNkZWZpbmUgX19OUl9pb3ByaW9fZ2V0IChfX05SX0xpbnV4ICsgMjc0KQotI2RlZmluZSBfX05SX3V0aW1lbnNhdCAoX19OUl9MaW51eCArIDI3NSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfdXRpbWVuc2F0IChfX05SX0xpbnV4ICsgMjc1KQogI2RlZmluZSBfX05SX3NpZ25hbGZkIChfX05SX0xpbnV4ICsgMjc2KQogI2RlZmluZSBfX05SX3RpbWVyZmQgKF9fTlJfTGludXggKyAyNzcpCiAjZGVmaW5lIF9fTlJfZXZlbnRmZCAoX19OUl9MaW51eCArIDI3OCkKLSNkZWZpbmUgX19OUl9mYWxsb2NhdGUgKF9fTlJfTGludXggKyAyNzkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2ZhbGxvY2F0ZSAoX19OUl9MaW51eCArIDI3OSkKICNkZWZpbmUgX19OUl90aW1lcmZkX2NyZWF0ZSAoX19OUl9MaW51eCArIDI4MCkKICNkZWZpbmUgX19OUl90aW1lcmZkX2dldHRpbWUgKF9fTlJfTGludXggKyAyODEpCiAjZGVmaW5lIF9fTlJfdGltZXJmZF9zZXR0aW1lIChfX05SX0xpbnV4ICsgMjgyKQotI2RlZmluZSBfX05SX3NpZ25hbGZkNCAoX19OUl9MaW51eCArIDI4MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfc2lnbmFsZmQ0IChfX05SX0xpbnV4ICsgMjgzKQogI2RlZmluZSBfX05SX2V2ZW50ZmQyIChfX05SX0xpbnV4ICsgMjg0KQogI2RlZmluZSBfX05SX2Vwb2xsX2NyZWF0ZTEgKF9fTlJfTGludXggKyAyODUpCiAjZGVmaW5lIF9fTlJfZHVwMyAoX19OUl9MaW51eCArIDI4NikKLSNkZWZpbmUgX19OUl9waXBlMiAoX19OUl9MaW51eCArIDI4NykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcGlwZTIgKF9fTlJfTGludXggKyAyODcpCiAjZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0MSAoX19OUl9MaW51eCArIDI4OCkKICNkZWZpbmUgX19OUl9wcmVhZHYgKF9fTlJfTGludXggKyAyODkpCiAjZGVmaW5lIF9fTlJfcHdyaXRldiAoX19OUl9MaW51eCArIDI5MCkKLSNkZWZpbmUgX19OUl9ydF90Z3NpZ3F1ZXVlaW5mbyAoX19OUl9MaW51eCArIDI5MSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcnRfdGdzaWdxdWV1ZWluZm8gKF9fTlJfTGludXggKyAyOTEpCiAjZGVmaW5lIF9fTlJfcGVyZl9ldmVudF9vcGVuIChfX05SX0xpbnV4ICsgMjkyKQogI2RlZmluZSBfX05SX2FjY2VwdDQgKF9fTlJfTGludXggKyAyOTMpCiAjZGVmaW5lIF9fTlJfcmVjdm1tc2cgKF9fTlJfTGludXggKyAyOTQpCi0jZGVmaW5lIF9fTlJfZmFub3RpZnlfaW5pdCAoX19OUl9MaW51eCArIDI5NSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZmFub3RpZnlfaW5pdCAoX19OUl9MaW51eCArIDI5NSkKICNkZWZpbmUgX19OUl9mYW5vdGlmeV9tYXJrIChfX05SX0xpbnV4ICsgMjk2KQogI2RlZmluZSBfX05SX3BybGltaXQ2NCAoX19OUl9MaW51eCArIDI5NykKICNkZWZpbmUgX19OUl9uYW1lX3RvX2hhbmRsZV9hdCAoX19OUl9MaW51eCArIDI5OCkKLSNkZWZpbmUgX19OUl9vcGVuX2J5X2hhbmRsZV9hdCAoX19OUl9MaW51eCArIDI5OSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfb3Blbl9ieV9oYW5kbGVfYXQgKF9fTlJfTGludXggKyAyOTkpCiAjZGVmaW5lIF9fTlJfY2xvY2tfYWRqdGltZSAoX19OUl9MaW51eCArIDMwMCkKICNkZWZpbmUgX19OUl9zeW5jZnMgKF9fTlJfTGludXggKyAzMDEpCiAjZGVmaW5lIF9fTlJfc2VuZG1tc2cgKF9fTlJfTGludXggKyAzMDIpCi0jZGVmaW5lIF9fTlJfc2V0bnMgKF9fTlJfTGludXggKyAzMDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX3NldG5zIChfX05SX0xpbnV4ICsgMzAzKQogI2RlZmluZSBfX05SX3Byb2Nlc3Nfdm1fcmVhZHYgKF9fTlJfTGludXggKyAzMDQpCiAjZGVmaW5lIF9fTlJfcHJvY2Vzc192bV93cml0ZXYgKF9fTlJfTGludXggKyAzMDUpCiAjZGVmaW5lIF9fTlJfa2NtcCAoX19OUl9MaW51eCArIDMwNikKLSNkZWZpbmUgX19OUl9maW5pdF9tb2R1bGUgKF9fTlJfTGludXggKyAzMDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2Zpbml0X21vZHVsZSAoX19OUl9MaW51eCArIDMwNykKICNkZWZpbmUgX19OUl9nZXRkZW50czY0IChfX05SX0xpbnV4ICsgMzA4KQogI2RlZmluZSBfX05SX3NjaGVkX3NldGF0dHIgKF9fTlJfTGludXggKyAzMDkpCiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YXR0ciAoX19OUl9MaW51eCArIDMxMCkKLSNkZWZpbmUgX19OUl9MaW51eF9zeXNjYWxscyAzMTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfcmVuYW1lYXQyIChfX05SX0xpbnV4ICsgMzExKQorI2RlZmluZSBfX05SX3NlY2NvbXAgKF9fTlJfTGludXggKyAzMTIpCisjZGVmaW5lIF9fTlJfZ2V0cmFuZG9tIChfX05SX0xpbnV4ICsgMzEzKQorI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAoX19OUl9MaW51eCArIDMxNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfYnBmIChfX05SX0xpbnV4ICsgMzE1KQorI2RlZmluZSBfX05SX0xpbnV4X3N5c2NhbGxzIDMxNQogI2VuZGlmCiAjZGVmaW5lIF9fTlJfNjRfTGludXggNTAwMAotI2RlZmluZSBfX05SXzY0X0xpbnV4X3N5c2NhbGxzIDMxMAotI2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fTkFCSTMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SXzY0X0xpbnV4X3N5c2NhbGxzIDMxNQorI2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fTkFCSTMyCiAjZGVmaW5lIF9fTlJfTGludXggNjAwMAogI2RlZmluZSBfX05SX3JlYWQgKF9fTlJfTGludXggKyAwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl93cml0ZSAoX19OUl9MaW51eCArIDEpCiAjZGVmaW5lIF9fTlJfb3BlbiAoX19OUl9MaW51eCArIDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Nsb3NlIChfX05SX0xpbnV4ICsgMykKICNkZWZpbmUgX19OUl9zdGF0IChfX05SX0xpbnV4ICsgNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZnN0YXQgKF9fTlJfTGludXggKyA1KQogI2RlZmluZSBfX05SX2xzdGF0IChfX05SX0xpbnV4ICsgNikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcG9sbCAoX19OUl9MaW51eCArIDcpCiAjZGVmaW5lIF9fTlJfbHNlZWsgKF9fTlJfTGludXggKyA4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tbWFwIChfX05SX0xpbnV4ICsgOSkKICNkZWZpbmUgX19OUl9tcHJvdGVjdCAoX19OUl9MaW51eCArIDEwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tdW5tYXAgKF9fTlJfTGludXggKyAxMSkKICNkZWZpbmUgX19OUl9icmsgKF9fTlJfTGludXggKyAxMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcnRfc2lnYWN0aW9uIChfX05SX0xpbnV4ICsgMTMpCiAjZGVmaW5lIF9fTlJfcnRfc2lncHJvY21hc2sgKF9fTlJfTGludXggKyAxNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfaW9jdGwgKF9fTlJfTGludXggKyAxNSkKICNkZWZpbmUgX19OUl9wcmVhZDY0IChfX05SX0xpbnV4ICsgMTYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3B3cml0ZTY0IChfX05SX0xpbnV4ICsgMTcpCiAjZGVmaW5lIF9fTlJfcmVhZHYgKF9fTlJfTGludXggKyAxOCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfd3JpdGV2IChfX05SX0xpbnV4ICsgMTkpCiAjZGVmaW5lIF9fTlJfYWNjZXNzIChfX05SX0xpbnV4ICsgMjApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3BpcGUgKF9fTlJfTGludXggKyAyMSkKICNkZWZpbmUgX19OUl9fbmV3c2VsZWN0IChfX05SX0xpbnV4ICsgMjIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NjaGVkX3lpZWxkIChfX05SX0xpbnV4ICsgMjMpCiAjZGVmaW5lIF9fTlJfbXJlbWFwIChfX05SX0xpbnV4ICsgMjQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX21zeW5jIChfX05SX0xpbnV4ICsgMjUpCiAjZGVmaW5lIF9fTlJfbWluY29yZSAoX19OUl9MaW51eCArIDI2KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tYWR2aXNlIChfX05SX0xpbnV4ICsgMjcpCiAjZGVmaW5lIF9fTlJfc2htZ2V0IChfX05SX0xpbnV4ICsgMjgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NobWF0IChfX05SX0xpbnV4ICsgMjkpCiAjZGVmaW5lIF9fTlJfc2htY3RsIChfX05SX0xpbnV4ICsgMzApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2R1cCAoX19OUl9MaW51eCArIDMxKQogI2RlZmluZSBfX05SX2R1cDIgKF9fTlJfTGludXggKyAzMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcGF1c2UgKF9fTlJfTGludXggKyAzMykKICNkZWZpbmUgX19OUl9uYW5vc2xlZXAgKF9fTlJfTGludXggKyAzNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZ2V0aXRpbWVyIChfX05SX0xpbnV4ICsgMzUpCiAjZGVmaW5lIF9fTlJfc2V0aXRpbWVyIChfX05SX0xpbnV4ICsgMzYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2FsYXJtIChfX05SX0xpbnV4ICsgMzcpCiAjZGVmaW5lIF9fTlJfZ2V0cGlkIChfX05SX0xpbnV4ICsgMzgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NlbmRmaWxlIChfX05SX0xpbnV4ICsgMzkpCiAjZGVmaW5lIF9fTlJfc29ja2V0IChfX05SX0xpbnV4ICsgNDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Nvbm5lY3QgKF9fTlJfTGludXggKyA0MSkKICNkZWZpbmUgX19OUl9hY2NlcHQgKF9fTlJfTGludXggKyA0MikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2VuZHRvIChfX05SX0xpbnV4ICsgNDMpCiAjZGVmaW5lIF9fTlJfcmVjdmZyb20gKF9fTlJfTGludXggKyA0NCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2VuZG1zZyAoX19OUl9MaW51eCArIDQ1KQogI2RlZmluZSBfX05SX3JlY3Ztc2cgKF9fTlJfTGludXggKyA0NikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2h1dGRvd24gKF9fTlJfTGludXggKyA0NykKICNkZWZpbmUgX19OUl9iaW5kIChfX05SX0xpbnV4ICsgNDgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2xpc3RlbiAoX19OUl9MaW51eCArIDQ5KQogI2RlZmluZSBfX05SX2dldHNvY2tuYW1lIChfX05SX0xpbnV4ICsgNTApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2dldHBlZXJuYW1lIChfX05SX0xpbnV4ICsgNTEpCiAjZGVmaW5lIF9fTlJfc29ja2V0cGFpciAoX19OUl9MaW51eCArIDUyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZXRzb2Nrb3B0IChfX05SX0xpbnV4ICsgNTMpCiAjZGVmaW5lIF9fTlJfZ2V0c29ja29wdCAoX19OUl9MaW51eCArIDU0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9jbG9uZSAoX19OUl9MaW51eCArIDU1KQogI2RlZmluZSBfX05SX2ZvcmsgKF9fTlJfTGludXggKyA1NikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZXhlY3ZlIChfX05SX0xpbnV4ICsgNTcpCiAjZGVmaW5lIF9fTlJfZXhpdCAoX19OUl9MaW51eCArIDU4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl93YWl0NCAoX19OUl9MaW51eCArIDU5KQogI2RlZmluZSBfX05SX2tpbGwgKF9fTlJfTGludXggKyA2MCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdW5hbWUgKF9fTlJfTGludXggKyA2MSkKICNkZWZpbmUgX19OUl9zZW1nZXQgKF9fTlJfTGludXggKyA2MikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2Vtb3AgKF9fTlJfTGludXggKyA2MykKICNkZWZpbmUgX19OUl9zZW1jdGwgKF9fTlJfTGludXggKyA2NCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2htZHQgKF9fTlJfTGludXggKyA2NSkKICNkZWZpbmUgX19OUl9tc2dnZXQgKF9fTlJfTGludXggKyA2NikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbXNnc25kIChfX05SX0xpbnV4ICsgNjcpCiAjZGVmaW5lIF9fTlJfbXNncmN2IChfX05SX0xpbnV4ICsgNjgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX21zZ2N0bCAoX19OUl9MaW51eCArIDY5KQogI2RlZmluZSBfX05SX2ZjbnRsIChfX05SX0xpbnV4ICsgNzApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Zsb2NrIChfX05SX0xpbnV4ICsgNzEpCiAjZGVmaW5lIF9fTlJfZnN5bmMgKF9fTlJfTGludXggKyA3MikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmRhdGFzeW5jIChfX05SX0xpbnV4ICsgNzMpCiAjZGVmaW5lIF9fTlJfdHJ1bmNhdGUgKF9fTlJfTGludXggKyA3NCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZnRydW5jYXRlIChfX05SX0xpbnV4ICsgNzUpCiAjZGVmaW5lIF9fTlJfZ2V0ZGVudHMgKF9fTlJfTGludXggKyA3NikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZ2V0Y3dkIChfX05SX0xpbnV4ICsgNzcpCiAjZGVmaW5lIF9fTlJfY2hkaXIgKF9fTlJfTGludXggKyA3OCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmNoZGlyIChfX05SX0xpbnV4ICsgNzkpCiAjZGVmaW5lIF9fTlJfcmVuYW1lIChfX05SX0xpbnV4ICsgODApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX21rZGlyIChfX05SX0xpbnV4ICsgODEpCiAjZGVmaW5lIF9fTlJfcm1kaXIgKF9fTlJfTGludXggKyA4MikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfY3JlYXQgKF9fTlJfTGludXggKyA4MykKICNkZWZpbmUgX19OUl9saW5rIChfX05SX0xpbnV4ICsgODQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3VubGluayAoX19OUl9MaW51eCArIDg1KQogI2RlZmluZSBfX05SX3N5bWxpbmsgKF9fTlJfTGludXggKyA4NikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcmVhZGxpbmsgKF9fTlJfTGludXggKyA4NykKICNkZWZpbmUgX19OUl9jaG1vZCAoX19OUl9MaW51eCArIDg4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9mY2htb2QgKF9fTlJfTGludXggKyA4OSkKICNkZWZpbmUgX19OUl9jaG93biAoX19OUl9MaW51eCArIDkwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9mY2hvd24gKF9fTlJfTGludXggKyA5MSkKICNkZWZpbmUgX19OUl9sY2hvd24gKF9fTlJfTGludXggKyA5MikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdW1hc2sgKF9fTlJfTGludXggKyA5MykKICNkZWZpbmUgX19OUl9nZXR0aW1lb2ZkYXkgKF9fTlJfTGludXggKyA5NCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZ2V0cmxpbWl0IChfX05SX0xpbnV4ICsgOTUpCiAjZGVmaW5lIF9fTlJfZ2V0cnVzYWdlIChfX05SX0xpbnV4ICsgOTYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N5c2luZm8gKF9fTlJfTGludXggKyA5NykKICNkZWZpbmUgX19OUl90aW1lcyAoX19OUl9MaW51eCArIDk4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9wdHJhY2UgKF9fTlJfTGludXggKyA5OSkKICNkZWZpbmUgX19OUl9nZXR1aWQgKF9fTlJfTGludXggKyAxMDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N5c2xvZyAoX19OUl9MaW51eCArIDEwMSkKICNkZWZpbmUgX19OUl9nZXRnaWQgKF9fTlJfTGludXggKyAxMDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldHVpZCAoX19OUl9MaW51eCArIDEwMykKICNkZWZpbmUgX19OUl9zZXRnaWQgKF9fTlJfTGludXggKyAxMDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2dldGV1aWQgKF9fTlJfTGludXggKyAxMDUpCiAjZGVmaW5lIF9fTlJfZ2V0ZWdpZCAoX19OUl9MaW51eCArIDEwNikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2V0cGdpZCAoX19OUl9MaW51eCArIDEwNykKICNkZWZpbmUgX19OUl9nZXRwcGlkIChfX05SX0xpbnV4ICsgMTA4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9nZXRwZ3JwIChfX05SX0xpbnV4ICsgMTA5KQogI2RlZmluZSBfX05SX3NldHNpZCAoX19OUl9MaW51eCArIDExMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2V0cmV1aWQgKF9fTlJfTGludXggKyAxMTEpCiAjZGVmaW5lIF9fTlJfc2V0cmVnaWQgKF9fTlJfTGludXggKyAxMTIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2dldGdyb3VwcyAoX19OUl9MaW51eCArIDExMykKICNkZWZpbmUgX19OUl9zZXRncm91cHMgKF9fTlJfTGludXggKyAxMTQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldHJlc3VpZCAoX19OUl9MaW51eCArIDExNSkKICNkZWZpbmUgX19OUl9nZXRyZXN1aWQgKF9fTlJfTGludXggKyAxMTYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldHJlc2dpZCAoX19OUl9MaW51eCArIDExNykKICNkZWZpbmUgX19OUl9nZXRyZXNnaWQgKF9fTlJfTGludXggKyAxMTgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2dldHBnaWQgKF9fTlJfTGludXggKyAxMTkpCiAjZGVmaW5lIF9fTlJfc2V0ZnN1aWQgKF9fTlJfTGludXggKyAxMjApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldGZzZ2lkIChfX05SX0xpbnV4ICsgMTIxKQogI2RlZmluZSBfX05SX2dldHNpZCAoX19OUl9MaW51eCArIDEyMikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfY2FwZ2V0IChfX05SX0xpbnV4ICsgMTIzKQogI2RlZmluZSBfX05SX2NhcHNldCAoX19OUl9MaW51eCArIDEyNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcnRfc2lncGVuZGluZyAoX19OUl9MaW51eCArIDEyNSkKICNkZWZpbmUgX19OUl9ydF9zaWd0aW1lZHdhaXQgKF9fTlJfTGludXggKyAxMjYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbyAoX19OUl9MaW51eCArIDEyNykKICNkZWZpbmUgX19OUl9ydF9zaWdzdXNwZW5kIChfX05SX0xpbnV4ICsgMTI4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zaWdhbHRzdGFjayAoX19OUl9MaW51eCArIDEyOSkKICNkZWZpbmUgX19OUl91dGltZSAoX19OUl9MaW51eCArIDEzMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbWtub2QgKF9fTlJfTGludXggKyAxMzEpCiAjZGVmaW5lIF9fTlJfcGVyc29uYWxpdHkgKF9fTlJfTGludXggKyAxMzIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3VzdGF0IChfX05SX0xpbnV4ICsgMTMzKQogI2RlZmluZSBfX05SX3N0YXRmcyAoX19OUl9MaW51eCArIDEzNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZnN0YXRmcyAoX19OUl9MaW51eCArIDEzNSkKICNkZWZpbmUgX19OUl9zeXNmcyAoX19OUl9MaW51eCArIDEzNikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZ2V0cHJpb3JpdHkgKF9fTlJfTGludXggKyAxMzcpCiAjZGVmaW5lIF9fTlJfc2V0cHJpb3JpdHkgKF9fTlJfTGludXggKyAxMzgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NjaGVkX3NldHBhcmFtIChfX05SX0xpbnV4ICsgMTM5KQogI2RlZmluZSBfX05SX3NjaGVkX2dldHBhcmFtIChfX05SX0xpbnV4ICsgMTQwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIgKF9fTlJfTGludXggKyAxNDEpCiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyIChfX05SX0xpbnV4ICsgMTQyKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4IChfX05SX0xpbnV4ICsgMTQzKQogI2RlZmluZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9taW4gKF9fTlJfTGludXggKyAxNDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NjaGVkX3JyX2dldF9pbnRlcnZhbCAoX19OUl9MaW51eCArIDE0NSkKICNkZWZpbmUgX19OUl9tbG9jayAoX19OUl9MaW51eCArIDE0NikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbXVubG9jayAoX19OUl9MaW51eCArIDE0NykKICNkZWZpbmUgX19OUl9tbG9ja2FsbCAoX19OUl9MaW51eCArIDE0OCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbXVubG9ja2FsbCAoX19OUl9MaW51eCArIDE0OSkKICNkZWZpbmUgX19OUl92aGFuZ3VwIChfX05SX0xpbnV4ICsgMTUwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9waXZvdF9yb290IChfX05SX0xpbnV4ICsgMTUxKQogI2RlZmluZSBfX05SX19zeXNjdGwgKF9fTlJfTGludXggKyAxNTIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3ByY3RsIChfX05SX0xpbnV4ICsgMTUzKQogI2RlZmluZSBfX05SX2FkanRpbWV4IChfX05SX0xpbnV4ICsgMTU0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZXRybGltaXQgKF9fTlJfTGludXggKyAxNTUpCiAjZGVmaW5lIF9fTlJfY2hyb290IChfX05SX0xpbnV4ICsgMTU2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zeW5jIChfX05SX0xpbnV4ICsgMTU3KQogI2RlZmluZSBfX05SX2FjY3QgKF9fTlJfTGludXggKyAxNTgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldHRpbWVvZmRheSAoX19OUl9MaW51eCArIDE1OSkKICNkZWZpbmUgX19OUl9tb3VudCAoX19OUl9MaW51eCArIDE2MCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdW1vdW50MiAoX19OUl9MaW51eCArIDE2MSkKICNkZWZpbmUgX19OUl9zd2Fwb24gKF9fTlJfTGludXggKyAxNjIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N3YXBvZmYgKF9fTlJfTGludXggKyAxNjMpCiAjZGVmaW5lIF9fTlJfcmVib290IChfX05SX0xpbnV4ICsgMTY0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZXRob3N0bmFtZSAoX19OUl9MaW51eCArIDE2NSkKICNkZWZpbmUgX19OUl9zZXRkb21haW5uYW1lIChfX05SX0xpbnV4ICsgMTY2KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9jcmVhdGVfbW9kdWxlIChfX05SX0xpbnV4ICsgMTY3KQogI2RlZmluZSBfX05SX2luaXRfbW9kdWxlIChfX05SX0xpbnV4ICsgMTY4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9kZWxldGVfbW9kdWxlIChfX05SX0xpbnV4ICsgMTY5KQogI2RlZmluZSBfX05SX2dldF9rZXJuZWxfc3ltcyAoX19OUl9MaW51eCArIDE3MCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcXVlcnlfbW9kdWxlIChfX05SX0xpbnV4ICsgMTcxKQogI2RlZmluZSBfX05SX3F1b3RhY3RsIChfX05SX0xpbnV4ICsgMTcyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9uZnNzZXJ2Y3RsIChfX05SX0xpbnV4ICsgMTczKQogI2RlZmluZSBfX05SX2dldHBtc2cgKF9fTlJfTGludXggKyAxNzQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3B1dHBtc2cgKF9fTlJfTGludXggKyAxNzUpCiAjZGVmaW5lIF9fTlJfYWZzX3N5c2NhbGwgKF9fTlJfTGludXggKyAxNzYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3Jlc2VydmVkMTc3IChfX05SX0xpbnV4ICsgMTc3KQogI2RlZmluZSBfX05SX2dldHRpZCAoX19OUl9MaW51eCArIDE3OCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcmVhZGFoZWFkIChfX05SX0xpbnV4ICsgMTc5KQogI2RlZmluZSBfX05SX3NldHhhdHRyIChfX05SX0xpbnV4ICsgMTgwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9sc2V0eGF0dHIgKF9fTlJfTGludXggKyAxODEpCiAjZGVmaW5lIF9fTlJfZnNldHhhdHRyIChfX05SX0xpbnV4ICsgMTgyKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9nZXR4YXR0ciAoX19OUl9MaW51eCArIDE4MykKICNkZWZpbmUgX19OUl9sZ2V0eGF0dHIgKF9fTlJfTGludXggKyAxODQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2ZnZXR4YXR0ciAoX19OUl9MaW51eCArIDE4NSkKICNkZWZpbmUgX19OUl9saXN0eGF0dHIgKF9fTlJfTGludXggKyAxODYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2xsaXN0eGF0dHIgKF9fTlJfTGludXggKyAxODcpCiAjZGVmaW5lIF9fTlJfZmxpc3R4YXR0ciAoX19OUl9MaW51eCArIDE4OCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcmVtb3ZleGF0dHIgKF9fTlJfTGludXggKyAxODkpCiAjZGVmaW5lIF9fTlJfbHJlbW92ZXhhdHRyIChfX05SX0xpbnV4ICsgMTkwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9mcmVtb3ZleGF0dHIgKF9fTlJfTGludXggKyAxOTEpCiAjZGVmaW5lIF9fTlJfdGtpbGwgKF9fTlJfTGludXggKyAxOTIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3Jlc2VydmVkMTkzIChfX05SX0xpbnV4ICsgMTkzKQogI2RlZmluZSBfX05SX2Z1dGV4IChfX05SX0xpbnV4ICsgMTk0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zY2hlZF9zZXRhZmZpbml0eSAoX19OUl9MaW51eCArIDE5NSkKICNkZWZpbmUgX19OUl9zY2hlZF9nZXRhZmZpbml0eSAoX19OUl9MaW51eCArIDE5NikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfY2FjaGVmbHVzaCAoX19OUl9MaW51eCArIDE5NykKICNkZWZpbmUgX19OUl9jYWNoZWN0bCAoX19OUl9MaW51eCArIDE5OCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc3lzbWlwcyAoX19OUl9MaW51eCArIDE5OSkKICNkZWZpbmUgX19OUl9pb19zZXR1cCAoX19OUl9MaW51eCArIDIwMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfaW9fZGVzdHJveSAoX19OUl9MaW51eCArIDIwMSkKICNkZWZpbmUgX19OUl9pb19nZXRldmVudHMgKF9fTlJfTGludXggKyAyMDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2lvX3N1Ym1pdCAoX19OUl9MaW51eCArIDIwMykKICNkZWZpbmUgX19OUl9pb19jYW5jZWwgKF9fTlJfTGludXggKyAyMDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2V4aXRfZ3JvdXAgKF9fTlJfTGludXggKyAyMDUpCiAjZGVmaW5lIF9fTlJfbG9va3VwX2Rjb29raWUgKF9fTlJfTGludXggKyAyMDYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Vwb2xsX2NyZWF0ZSAoX19OUl9MaW51eCArIDIwNykKICNkZWZpbmUgX19OUl9lcG9sbF9jdGwgKF9fTlJfTGludXggKyAyMDgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Vwb2xsX3dhaXQgKF9fTlJfTGludXggKyAyMDkpCiAjZGVmaW5lIF9fTlJfcmVtYXBfZmlsZV9wYWdlcyAoX19OUl9MaW51eCArIDIxMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcnRfc2lncmV0dXJuIChfX05SX0xpbnV4ICsgMjExKQogI2RlZmluZSBfX05SX2ZjbnRsNjQgKF9fTlJfTGludXggKyAyMTIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldF90aWRfYWRkcmVzcyAoX19OUl9MaW51eCArIDIxMykKICNkZWZpbmUgX19OUl9yZXN0YXJ0X3N5c2NhbGwgKF9fTlJfTGludXggKyAyMTQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NlbXRpbWVkb3AgKF9fTlJfTGludXggKyAyMTUpCiAjZGVmaW5lIF9fTlJfZmFkdmlzZTY0IChfX05SX0xpbnV4ICsgMjE2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zdGF0ZnM2NCAoX19OUl9MaW51eCArIDIxNykKICNkZWZpbmUgX19OUl9mc3RhdGZzNjQgKF9fTlJfTGludXggKyAyMTgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NlbmRmaWxlNjQgKF9fTlJfTGludXggKyAyMTkpCiAjZGVmaW5lIF9fTlJfdGltZXJfY3JlYXRlIChfX05SX0xpbnV4ICsgMjIwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl90aW1lcl9zZXR0aW1lIChfX05SX0xpbnV4ICsgMjIxKQogI2RlZmluZSBfX05SX3RpbWVyX2dldHRpbWUgKF9fTlJfTGludXggKyAyMjIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3RpbWVyX2dldG92ZXJydW4gKF9fTlJfTGludXggKyAyMjMpCiAjZGVmaW5lIF9fTlJfdGltZXJfZGVsZXRlIChfX05SX0xpbnV4ICsgMjI0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lIChfX05SX0xpbnV4ICsgMjI1KQogI2RlZmluZSBfX05SX2Nsb2NrX2dldHRpbWUgKF9fTlJfTGludXggKyAyMjYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Nsb2NrX2dldHJlcyAoX19OUl9MaW51eCArIDIyNykKICNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgKF9fTlJfTGludXggKyAyMjgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3Rna2lsbCAoX19OUl9MaW51eCArIDIyOSkKICNkZWZpbmUgX19OUl91dGltZXMgKF9fTlJfTGludXggKyAyMzApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX21iaW5kIChfX05SX0xpbnV4ICsgMjMxKQogI2RlZmluZSBfX05SX2dldF9tZW1wb2xpY3kgKF9fTlJfTGludXggKyAyMzIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldF9tZW1wb2xpY3kgKF9fTlJfTGludXggKyAyMzMpCiAjZGVmaW5lIF9fTlJfbXFfb3BlbiAoX19OUl9MaW51eCArIDIzNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbXFfdW5saW5rIChfX05SX0xpbnV4ICsgMjM1KQogI2RlZmluZSBfX05SX21xX3RpbWVkc2VuZCAoX19OUl9MaW51eCArIDIzNikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbXFfdGltZWRyZWNlaXZlIChfX05SX0xpbnV4ICsgMjM3KQogI2RlZmluZSBfX05SX21xX25vdGlmeSAoX19OUl9MaW51eCArIDIzOCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbXFfZ2V0c2V0YXR0ciAoX19OUl9MaW51eCArIDIzOSkKICNkZWZpbmUgX19OUl92c2VydmVyIChfX05SX0xpbnV4ICsgMjQwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl93YWl0aWQgKF9fTlJfTGludXggKyAyNDEpCiAjZGVmaW5lIF9fTlJfYWRkX2tleSAoX19OUl9MaW51eCArIDI0MykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcmVxdWVzdF9rZXkgKF9fTlJfTGludXggKyAyNDQpCiAjZGVmaW5lIF9fTlJfa2V5Y3RsIChfX05SX0xpbnV4ICsgMjQ1KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZXRfdGhyZWFkX2FyZWEgKF9fTlJfTGludXggKyAyNDYpCiAjZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0IChfX05SX0xpbnV4ICsgMjQ3KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9pbm90aWZ5X2FkZF93YXRjaCAoX19OUl9MaW51eCArIDI0OCkKICNkZWZpbmUgX19OUl9pbm90aWZ5X3JtX3dhdGNoIChfX05SX0xpbnV4ICsgMjQ5KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9taWdyYXRlX3BhZ2VzIChfX05SX0xpbnV4ICsgMjUwKQogI2RlZmluZSBfX05SX29wZW5hdCAoX19OUl9MaW51eCArIDI1MSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbWtkaXJhdCAoX19OUl9MaW51eCArIDI1MikKICNkZWZpbmUgX19OUl9ta25vZGF0IChfX05SX0xpbnV4ICsgMjUzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9mY2hvd25hdCAoX19OUl9MaW51eCArIDI1NCkKICNkZWZpbmUgX19OUl9mdXRpbWVzYXQgKF9fTlJfTGludXggKyAyNTUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX25ld2ZzdGF0YXQgKF9fTlJfTGludXggKyAyNTYpCiAjZGVmaW5lIF9fTlJfdW5saW5rYXQgKF9fTlJfTGludXggKyAyNTcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3JlbmFtZWF0IChfX05SX0xpbnV4ICsgMjU4KQogI2RlZmluZSBfX05SX2xpbmthdCAoX19OUl9MaW51eCArIDI1OSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc3ltbGlua2F0IChfX05SX0xpbnV4ICsgMjYwKQogI2RlZmluZSBfX05SX3JlYWRsaW5rYXQgKF9fTlJfTGludXggKyAyNjEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2ZjaG1vZGF0IChfX05SX0xpbnV4ICsgMjYyKQogI2RlZmluZSBfX05SX2ZhY2Nlc3NhdCAoX19OUl9MaW51eCArIDI2MykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcHNlbGVjdDYgKF9fTlJfTGludXggKyAyNjQpCiAjZGVmaW5lIF9fTlJfcHBvbGwgKF9fTlJfTGludXggKyAyNjUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3Vuc2hhcmUgKF9fTlJfTGludXggKyAyNjYpCiAjZGVmaW5lIF9fTlJfc3BsaWNlIChfX05SX0xpbnV4ICsgMjY3KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zeW5jX2ZpbGVfcmFuZ2UgKF9fTlJfTGludXggKyAyNjgpCiAjZGVmaW5lIF9fTlJfdGVlIChfX05SX0xpbnV4ICsgMjY5KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl92bXNwbGljZSAoX19OUl9MaW51eCArIDI3MCkKICNkZWZpbmUgX19OUl9tb3ZlX3BhZ2VzIChfX05SX0xpbnV4ICsgMjcxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZXRfcm9idXN0X2xpc3QgKF9fTlJfTGludXggKyAyNzIpCiAjZGVmaW5lIF9fTlJfZ2V0X3JvYnVzdF9saXN0IChfX05SX0xpbnV4ICsgMjczKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9rZXhlY19sb2FkIChfX05SX0xpbnV4ICsgMjc0KQogI2RlZmluZSBfX05SX2dldGNwdSAoX19OUl9MaW51eCArIDI3NSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZXBvbGxfcHdhaXQgKF9fTlJfTGludXggKyAyNzYpCiAjZGVmaW5lIF9fTlJfaW9wcmlvX3NldCAoX19OUl9MaW51eCArIDI3NykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfaW9wcmlvX2dldCAoX19OUl9MaW51eCArIDI3OCkKICNkZWZpbmUgX19OUl91dGltZW5zYXQgKF9fTlJfTGludXggKyAyNzkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NpZ25hbGZkIChfX05SX0xpbnV4ICsgMjgwKQogI2RlZmluZSBfX05SX3RpbWVyZmQgKF9fTlJfTGludXggKyAyODEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2V2ZW50ZmQgKF9fTlJfTGludXggKyAyODIpCiAjZGVmaW5lIF9fTlJfZmFsbG9jYXRlIChfX05SX0xpbnV4ICsgMjgzKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl90aW1lcmZkX2NyZWF0ZSAoX19OUl9MaW51eCArIDI4NCkKICNkZWZpbmUgX19OUl90aW1lcmZkX2dldHRpbWUgKF9fTlJfTGludXggKyAyODUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3RpbWVyZmRfc2V0dGltZSAoX19OUl9MaW51eCArIDI4NikKICNkZWZpbmUgX19OUl9zaWduYWxmZDQgKF9fTlJfTGludXggKyAyODcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2V2ZW50ZmQyIChfX05SX0xpbnV4ICsgMjg4KQogI2RlZmluZSBfX05SX2Vwb2xsX2NyZWF0ZTEgKF9fTlJfTGludXggKyAyODkpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2R1cDMgKF9fTlJfTGludXggKyAyOTApCiAjZGVmaW5lIF9fTlJfcGlwZTIgKF9fTlJfTGludXggKyAyOTEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2lub3RpZnlfaW5pdDEgKF9fTlJfTGludXggKyAyOTIpCiAjZGVmaW5lIF9fTlJfcHJlYWR2IChfX05SX0xpbnV4ICsgMjkzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9wd3JpdGV2IChfX05SX0xpbnV4ICsgMjk0KQogI2RlZmluZSBfX05SX3J0X3Rnc2lncXVldWVpbmZvIChfX05SX0xpbnV4ICsgMjk1KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9wZXJmX2V2ZW50X29wZW4gKF9fTlJfTGludXggKyAyOTYpCiAjZGVmaW5lIF9fTlJfYWNjZXB0NCAoX19OUl9MaW51eCArIDI5NykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcmVjdm1tc2cgKF9fTlJfTGludXggKyAyOTgpCiAjZGVmaW5lIF9fTlJfZ2V0ZGVudHM2NCAoX19OUl9MaW51eCArIDI5OSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmFub3RpZnlfaW5pdCAoX19OUl9MaW51eCArIDMwMCkKICNkZWZpbmUgX19OUl9mYW5vdGlmeV9tYXJrIChfX05SX0xpbnV4ICsgMzAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9wcmxpbWl0NjQgKF9fTlJfTGludXggKyAzMDIpCiAjZGVmaW5lIF9fTlJfbmFtZV90b19oYW5kbGVfYXQgKF9fTlJfTGludXggKyAzMDMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX29wZW5fYnlfaGFuZGxlX2F0IChfX05SX0xpbnV4ICsgMzA0KQogI2RlZmluZSBfX05SX2Nsb2NrX2FkanRpbWUgKF9fTlJfTGludXggKyAzMDUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3N5bmNmcyAoX19OUl9MaW51eCArIDMwNikKICNkZWZpbmUgX19OUl9zZW5kbW1zZyAoX19OUl9MaW51eCArIDMwNykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2V0bnMgKF9fTlJfTGludXggKyAzMDgpCiAjZGVmaW5lIF9fTlJfcHJvY2Vzc192bV9yZWFkdiAoX19OUl9MaW51eCArIDMwOSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcHJvY2Vzc192bV93cml0ZXYgKF9fTlJfTGludXggKyAzMTApCiAjZGVmaW5lIF9fTlJfa2NtcCAoX19OUl9MaW51eCArIDMxMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmluaXRfbW9kdWxlIChfX05SX0xpbnV4ICsgMzEyKQogI2RlZmluZSBfX05SX3NjaGVkX3NldGF0dHIgKF9fTlJfTGludXggKyAzMTMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NjaGVkX2dldGF0dHIgKF9fTlJfTGludXggKyAzMTQpCi0jZGVmaW5lIF9fTlJfTGludXhfc3lzY2FsbHMgMzE0CisjZGVmaW5lIF9fTlJfcmVuYW1lYXQyIChfX05SX0xpbnV4ICsgMzE1KQorI2RlZmluZSBfX05SX3NlY2NvbXAgKF9fTlJfTGludXggKyAzMTYpCisjZGVmaW5lIF9fTlJfZ2V0cmFuZG9tIChfX05SX0xpbnV4ICsgMzE3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgKF9fTlJfTGludXggKyAzMTgpCisjZGVmaW5lIF9fTlJfYnBmIChfX05SX0xpbnV4ICsgMzE5KQorI2RlZmluZSBfX05SX0xpbnV4X3N5c2NhbGxzIDMxOQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX04zMl9MaW51eCA2MDAwCi0jZGVmaW5lIF9fTlJfTjMyX0xpbnV4X3N5c2NhbGxzIDMxNAorI2RlZmluZSBfX05SX04zMl9MaW51eF9zeXNjYWxscyAzMTkKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vYS5vdXQuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vYS5vdXQuaAppbmRleCBmYTI4N2I1Li5kMWE0NzQwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2Eub3V0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9hLm91dC5oCkBAIC0xOCwyMiArMTgsMjEgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfQVNNX1g4Nl9BX09VVF9ICiAjZGVmaW5lIF9BU01fWDg2X0FfT1VUX0gKLXN0cnVjdCBleGVjCi17CitzdHJ1Y3QgZXhlYyB7CisgIHVuc2lnbmVkIGludCBhX2luZm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBhX2luZm87Ci0gdW5zaWduZWQgYV90ZXh0OwotIHVuc2lnbmVkIGFfZGF0YTsKLSB1bnNpZ25lZCBhX2JzczsKKyAgdW5zaWduZWQgYV90ZXh0OworICB1bnNpZ25lZCBhX2RhdGE7CisgIHVuc2lnbmVkIGFfYnNzOworICB1bnNpZ25lZCBhX3N5bXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGFfc3ltczsKLSB1bnNpZ25lZCBhX2VudHJ5OwotIHVuc2lnbmVkIGFfdHJzaXplOwotIHVuc2lnbmVkIGFfZHJzaXplOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgYV9lbnRyeTsKKyAgdW5zaWduZWQgYV90cnNpemU7CisgIHVuc2lnbmVkIGFfZHJzaXplOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5fVFJTSVpFKGEpICgoYSkuYV90cnNpemUpCiAjZGVmaW5lIE5fRFJTSVpFKGEpICgoYSkuYV9kcnNpemUpCiAjZGVmaW5lIE5fU1lNU0laRShhKSAoKGEpLmFfc3ltcykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2Jvb3RwYXJhbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9ib290cGFyYW0uaAppbmRleCBiNTc2ODI1Li4yNzIwMWQ2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2Jvb3RwYXJhbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vYm9vdHBhcmFtLmgKQEAgLTI4LDE3ICsyOCwxNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFNRElTS19QUk9NUFRfRkxBRyAweDgwMDAKICNkZWZpbmUgUkFNRElTS19MT0FEX0ZMQUcgMHg0MDAwCi0jZGVmaW5lIExPQURFRF9ISUdIICgxPDwwKQotI2RlZmluZSBRVUlFVF9GTEFHICgxPDw1KQorI2RlZmluZSBMT0FERURfSElHSCAoMSA8PCAwKQorI2RlZmluZSBRVUlFVF9GTEFHICgxIDw8IDUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLRUVQX1NFR01FTlRTICgxPDw2KQotI2RlZmluZSBDQU5fVVNFX0hFQVAgKDE8PDcpCi0jZGVmaW5lIFhMRl9LRVJORUxfNjQgKDE8PDApCi0jZGVmaW5lIFhMRl9DQU5fQkVfTE9BREVEX0FCT1ZFXzRHICgxPDwxKQorI2RlZmluZSBLRUVQX1NFR01FTlRTICgxIDw8IDYpCisjZGVmaW5lIENBTl9VU0VfSEVBUCAoMSA8PCA3KQorI2RlZmluZSBYTEZfS0VSTkVMXzY0ICgxIDw8IDApCisjZGVmaW5lIFhMRl9DQU5fQkVfTE9BREVEX0FCT1ZFXzRHICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBYTEZfRUZJX0hBTkRPVkVSXzMyICgxPDwyKQotI2RlZmluZSBYTEZfRUZJX0hBTkRPVkVSXzY0ICgxPDwzKQotI2RlZmluZSBYTEZfRUZJX0tFWEVDICgxPDw0KQorI2RlZmluZSBYTEZfRUZJX0hBTkRPVkVSXzMyICgxIDw8IDIpCisjZGVmaW5lIFhMRl9FRklfSEFORE9WRVJfNjQgKDEgPDwgMykKKyNkZWZpbmUgWExGX0VGSV9LRVhFQyAoMSA8PCA0KQogI2lmbmRlZiBfX0FTU0VNQkxZX18KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KQEAgLTUxLDEzOCArNTEsMTM4IEBACiAjaW5jbHVkZSA8dmlkZW8vZWRpZC5oPgogc3RydWN0IHNldHVwX2RhdGEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBuZXh0OwotIF9fdTMyIHR5cGU7Ci0gX191MzIgbGVuOwotIF9fdTggZGF0YVswXTsKKyAgX191NjQgbmV4dDsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgbGVuOworICBfX3U4IGRhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzZXR1cF9oZWFkZXIgewotIF9fdTggc2V0dXBfc2VjdHM7Ci0gX191MTYgcm9vdF9mbGFnczsKKyAgX191OCBzZXR1cF9zZWN0czsKKyAgX191MTYgcm9vdF9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3lzc2l6ZTsKLSBfX3UxNiByYW1fc2l6ZTsKLSBfX3UxNiB2aWRfbW9kZTsKLSBfX3UxNiByb290X2RldjsKKyAgX191MzIgc3lzc2l6ZTsKKyAgX191MTYgcmFtX3NpemU7CisgIF9fdTE2IHZpZF9tb2RlOworICBfX3UxNiByb290X2RldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgYm9vdF9mbGFnOwotIF9fdTE2IGp1bXA7Ci0gX191MzIgaGVhZGVyOwotIF9fdTE2IHZlcnNpb247CisgIF9fdTE2IGJvb3RfZmxhZzsKKyAgX191MTYganVtcDsKKyAgX191MzIgaGVhZGVyOworICBfX3UxNiB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZWFsbW9kZV9zd3RjaDsKLSBfX3UxNiBzdGFydF9zeXM7Ci0gX191MTYga2VybmVsX3ZlcnNpb247Ci0gX191OCB0eXBlX29mX2xvYWRlcjsKKyAgX191MzIgcmVhbG1vZGVfc3d0Y2g7CisgIF9fdTE2IHN0YXJ0X3N5czsKKyAgX191MTYga2VybmVsX3ZlcnNpb247CisgIF9fdTggdHlwZV9vZl9sb2FkZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbG9hZGZsYWdzOwotIF9fdTE2IHNldHVwX21vdmVfc2l6ZTsKLSBfX3UzMiBjb2RlMzJfc3RhcnQ7Ci0gX191MzIgcmFtZGlza19pbWFnZTsKKyAgX191OCBsb2FkZmxhZ3M7CisgIF9fdTE2IHNldHVwX21vdmVfc2l6ZTsKKyAgX191MzIgY29kZTMyX3N0YXJ0OworICBfX3UzMiByYW1kaXNrX2ltYWdlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByYW1kaXNrX3NpemU7Ci0gX191MzIgYm9vdHNlY3Rfa2x1ZGdlOwotIF9fdTE2IGhlYXBfZW5kX3B0cjsKLSBfX3U4IGV4dF9sb2FkZXJfdmVyOworICBfX3UzMiByYW1kaXNrX3NpemU7CisgIF9fdTMyIGJvb3RzZWN0X2tsdWRnZTsKKyAgX191MTYgaGVhcF9lbmRfcHRyOworICBfX3U4IGV4dF9sb2FkZXJfdmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGV4dF9sb2FkZXJfdHlwZTsKLSBfX3UzMiBjbWRfbGluZV9wdHI7Ci0gX191MzIgaW5pdHJkX2FkZHJfbWF4OwotIF9fdTMyIGtlcm5lbF9hbGlnbm1lbnQ7CisgIF9fdTggZXh0X2xvYWRlcl90eXBlOworICBfX3UzMiBjbWRfbGluZV9wdHI7CisgIF9fdTMyIGluaXRyZF9hZGRyX21heDsKKyAgX191MzIga2VybmVsX2FsaWdubWVudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZWxvY2F0YWJsZV9rZXJuZWw7Ci0gX191OCBtaW5fYWxpZ25tZW50OwotIF9fdTE2IHhsb2FkZmxhZ3M7Ci0gX191MzIgY21kbGluZV9zaXplOworICBfX3U4IHJlbG9jYXRhYmxlX2tlcm5lbDsKKyAgX191OCBtaW5fYWxpZ25tZW50OworICBfX3UxNiB4bG9hZGZsYWdzOworICBfX3UzMiBjbWRsaW5lX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhcmR3YXJlX3N1YmFyY2g7Ci0gX191NjQgaGFyZHdhcmVfc3ViYXJjaF9kYXRhOwotIF9fdTMyIHBheWxvYWRfb2Zmc2V0OwotIF9fdTMyIHBheWxvYWRfbGVuZ3RoOworICBfX3UzMiBoYXJkd2FyZV9zdWJhcmNoOworICBfX3U2NCBoYXJkd2FyZV9zdWJhcmNoX2RhdGE7CisgIF9fdTMyIHBheWxvYWRfb2Zmc2V0OworICBfX3UzMiBwYXlsb2FkX2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgc2V0dXBfZGF0YTsKLSBfX3U2NCBwcmVmX2FkZHJlc3M7Ci0gX191MzIgaW5pdF9zaXplOwotIF9fdTMyIGhhbmRvdmVyX29mZnNldDsKKyAgX191NjQgc2V0dXBfZGF0YTsKKyAgX191NjQgcHJlZl9hZGRyZXNzOworICBfX3UzMiBpbml0X3NpemU7CisgIF9fdTMyIGhhbmRvdmVyX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHN5c19kZXNjX3RhYmxlIHsKLSBfX3UxNiBsZW5ndGg7Ci0gX191OCB0YWJsZVsxNF07CisgIF9fdTE2IGxlbmd0aDsKKyAgX191OCB0YWJsZVsxNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBvbHBjX29md19oZWFkZXIgewotIF9fdTMyIG9md19tYWdpYzsKLSBfX3UzMiBvZndfdmVyc2lvbjsKKyAgX191MzIgb2Z3X21hZ2ljOworICBfX3UzMiBvZndfdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY2lmX2hhbmRsZXI7Ci0gX191MzIgaXJxX2Rlc2NfdGFibGU7CisgIF9fdTMyIGNpZl9oYW5kbGVyOworICBfX3UzMiBpcnFfZGVzY190YWJsZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgZWZpX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlZmlfbG9hZGVyX3NpZ25hdHVyZTsKLSBfX3UzMiBlZmlfc3lzdGFiOwotIF9fdTMyIGVmaV9tZW1kZXNjX3NpemU7Ci0gX191MzIgZWZpX21lbWRlc2NfdmVyc2lvbjsKKyAgX191MzIgZWZpX2xvYWRlcl9zaWduYXR1cmU7CisgIF9fdTMyIGVmaV9zeXN0YWI7CisgIF9fdTMyIGVmaV9tZW1kZXNjX3NpemU7CisgIF9fdTMyIGVmaV9tZW1kZXNjX3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVmaV9tZW1tYXA7Ci0gX191MzIgZWZpX21lbW1hcF9zaXplOwotIF9fdTMyIGVmaV9zeXN0YWJfaGk7Ci0gX191MzIgZWZpX21lbW1hcF9oaTsKKyAgX191MzIgZWZpX21lbW1hcDsKKyAgX191MzIgZWZpX21lbW1hcF9zaXplOworICBfX3UzMiBlZmlfc3lzdGFiX2hpOworICBfX3UzMiBlZmlfbWVtbWFwX2hpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgYm9vdF9wYXJhbXMgewotIHN0cnVjdCBzY3JlZW5faW5mbyBzY3JlZW5faW5mbzsKLSBzdHJ1Y3QgYXBtX2Jpb3NfaW5mbyBhcG1fYmlvc19pbmZvOworICBzdHJ1Y3Qgc2NyZWVuX2luZm8gc2NyZWVuX2luZm87CisgIHN0cnVjdCBhcG1fYmlvc19pbmZvIGFwbV9iaW9zX2luZm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggX3BhZDJbNF07Ci0gX191NjQgdGJvb3RfYWRkcjsKLSBzdHJ1Y3QgaXN0X2luZm8gaXN0X2luZm87Ci0gX191OCBfcGFkM1sxNl07CisgIF9fdTggX3BhZDJbNF07CisgIF9fdTY0IHRib290X2FkZHI7CisgIHN0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKKyAgX191OCBfcGFkM1sxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaGQwX2luZm9bMTZdOwotIF9fdTggaGQxX2luZm9bMTZdOwotIHN0cnVjdCBzeXNfZGVzY190YWJsZSBzeXNfZGVzY190YWJsZTsKLSBzdHJ1Y3Qgb2xwY19vZndfaGVhZGVyIG9scGNfb2Z3X2hlYWRlcjsKKyAgX191OCBoZDBfaW5mb1sxNl07CisgIF9fdTggaGQxX2luZm9bMTZdOworICBzdHJ1Y3Qgc3lzX2Rlc2NfdGFibGUgc3lzX2Rlc2NfdGFibGU7CisgIHN0cnVjdCBvbHBjX29md19oZWFkZXIgb2xwY19vZndfaGVhZGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBleHRfcmFtZGlza19pbWFnZTsKLSBfX3UzMiBleHRfcmFtZGlza19zaXplOwotIF9fdTMyIGV4dF9jbWRfbGluZV9wdHI7Ci0gX191OCBfcGFkNFsxMTZdOworICBfX3UzMiBleHRfcmFtZGlza19pbWFnZTsKKyAgX191MzIgZXh0X3JhbWRpc2tfc2l6ZTsKKyAgX191MzIgZXh0X2NtZF9saW5lX3B0cjsKKyAgX191OCBfcGFkNFsxMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKLSBzdHJ1Y3QgZWZpX2luZm8gZWZpX2luZm87Ci0gX191MzIgYWx0X21lbV9rOwotIF9fdTMyIHNjcmF0Y2g7CisgIHN0cnVjdCBlZGlkX2luZm8gZWRpZF9pbmZvOworICBzdHJ1Y3QgZWZpX2luZm8gZWZpX2luZm87CisgIF9fdTMyIGFsdF9tZW1fazsKKyAgX191MzIgc2NyYXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBlODIwX2VudHJpZXM7Ci0gX191OCBlZGRidWZfZW50cmllczsKLSBfX3U4IGVkZF9tYnJfc2lnX2J1Zl9lbnRyaWVzOwotIF9fdTgga2JkX3N0YXR1czsKKyAgX191OCBlODIwX2VudHJpZXM7CisgIF9fdTggZWRkYnVmX2VudHJpZXM7CisgIF9fdTggZWRkX21icl9zaWdfYnVmX2VudHJpZXM7CisgIF9fdTgga2JkX3N0YXR1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBfcGFkNVszXTsKLSBfX3U4IHNlbnRpbmVsOwotIF9fdTggX3BhZDZbMV07Ci0gc3RydWN0IHNldHVwX2hlYWRlciBoZHI7CisgIF9fdTggX3BhZDVbM107CisgIF9fdTggc2VudGluZWw7CisgIF9fdTggX3BhZDZbMV07CisgIHN0cnVjdCBzZXR1cF9oZWFkZXIgaGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IF9wYWQ3WzB4MjkwLTB4MWYxLXNpemVvZihzdHJ1Y3Qgc2V0dXBfaGVhZGVyKV07Ci0gX191MzIgZWRkX21icl9zaWdfYnVmZmVyW0VERF9NQlJfU0lHX01BWF07Ci0gc3RydWN0IGU4MjBlbnRyeSBlODIwX21hcFtFODIwTUFYXTsKLSBfX3U4IF9wYWQ4WzQ4XTsKKyAgX191OCBfcGFkN1sweDI5MCAtIDB4MWYxIC0gc2l6ZW9mKHN0cnVjdCBzZXR1cF9oZWFkZXIpXTsKKyAgX191MzIgZWRkX21icl9zaWdfYnVmZmVyW0VERF9NQlJfU0lHX01BWF07CisgIHN0cnVjdCBlODIwZW50cnkgZTgyMF9tYXBbRTgyME1BWF07CisgIF9fdTggX3BhZDhbNDhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZWRkX2luZm8gZWRkYnVmW0VERE1BWE5SXTsKLSBfX3U4IF9wYWQ5WzI3Nl07CisgIHN0cnVjdCBlZGRfaW5mbyBlZGRidWZbRURETUFYTlJdOworICBfX3U4IF9wYWQ5WzI3Nl07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFg4Nl9TVUJBUkNIX1BDID0gMCwKLSBYODZfU1VCQVJDSF9MR1VFU1QsCi0gWDg2X1NVQkFSQ0hfWEVOLAotIFg4Nl9TVUJBUkNIX0lOVEVMX01JRCwKKyAgWDg2X1NVQkFSQ0hfUEMgPSAwLAorICBYODZfU1VCQVJDSF9MR1VFU1QsCisgIFg4Nl9TVUJBUkNIX1hFTiwKKyAgWDg2X1NVQkFSQ0hfSU5URUxfTUlELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYODZfU1VCQVJDSF9DRTQxMDAsCi0gWDg2X05SX1NVQkFSQ0hTLAorICBYODZfU1VCQVJDSF9DRTQxMDAsCisgIFg4Nl9OUl9TVUJBUkNIUywKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2RlYnVncmVnLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2RlYnVncmVnLmgKaW5kZXggYzhiMzBhNS4uMmM2MzcwNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9kZWJ1Z3JlZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vZGVidWdyZWcuaApAQCAtMjksNyArMjksNyBAQAogI2RlZmluZSBEUl9UUkFQMSAoMHgyKQogI2RlZmluZSBEUl9UUkFQMiAoMHg0KQogI2RlZmluZSBEUl9UUkFQMyAoMHg4KQotI2RlZmluZSBEUl9UUkFQX0JJVFMgKERSX1RSQVAwfERSX1RSQVAxfERSX1RSQVAyfERSX1RSQVAzKQorI2RlZmluZSBEUl9UUkFQX0JJVFMgKERSX1RSQVAwIHwgRFJfVFJBUDEgfCBEUl9UUkFQMiB8IERSX1RSQVAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJfU1RFUCAoMHg0MDAwKQogI2RlZmluZSBEUl9TV0lUQ0ggKDB4ODAwMCkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vZTgyMC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9lODIwLmgKaW5kZXggYjcwODRjZi4uZDRjYjM4OSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9lODIwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9lODIwLmgKQEAgLTM0LDE1ICszNCwxNSBAQAogI2lmbmRlZiBfX0FTU0VNQkxZX18KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGU4MjBlbnRyeSB7Ci0gX191NjQgYWRkcjsKKyAgX191NjQgYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgc2l6ZTsKLSBfX3UzMiB0eXBlOworICBfX3U2NCBzaXplOworICBfX3UzMiB0eXBlOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBlODIwbWFwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbnJfbWFwOwotIHN0cnVjdCBlODIwZW50cnkgbWFwW0U4MjBfWF9NQVhdOworICBfX3UzMiBucl9tYXA7CisgIHN0cnVjdCBlODIwZW50cnkgbWFwW0U4MjBfWF9NQVhdOwogfTsKICNkZWZpbmUgSVNBX1NUQVJUX0FERFJFU1MgMHhhMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vaHlwZXJ2LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2h5cGVydi5oCmluZGV4IDk2NWU4MGEuLmU4Njk1MDQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vaHlwZXJ2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9oeXBlcnYuaApAQCAtMTE3LDEyICsxMTcsMTIgQEAKICNkZWZpbmUgSFZfWDY0X01TUl9IWVBFUkNBTExfRU5BQkxFIDB4MDAwMDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhWX1g2NF9NU1JfSFlQRVJDQUxMX1BBR0VfQUREUkVTU19TSElGVCAxMgotI2RlZmluZSBIVl9YNjRfTVNSX0hZUEVSQ0FMTF9QQUdFX0FERFJFU1NfTUFTSyAgICh+KCgxdWxsIDw8IEhWX1g2NF9NU1JfSFlQRVJDQUxMX1BBR0VfQUREUkVTU19TSElGVCkgLSAxKSkKKyNkZWZpbmUgSFZfWDY0X01TUl9IWVBFUkNBTExfUEFHRV9BRERSRVNTX01BU0sgKH4oKDF1bGwgPDwgSFZfWDY0X01TUl9IWVBFUkNBTExfUEFHRV9BRERSRVNTX1NISUZUKSAtIDEpKQogI2RlZmluZSBIVl9YNjRfSFZfTk9USUZZX0xPTkdfU1BJTl9XQUlUIDB4MDAwOAogI2RlZmluZSBIVl9YNjRfTVNSX0FQSUNfQVNTSVNUX1BBR0VfRU5BQkxFIDB4MDAwMDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhWX1g2NF9NU1JfQVBJQ19BU1NJU1RfUEFHRV9BRERSRVNTX1NISUZUIDEyCi0jZGVmaW5lIEhWX1g2NF9NU1JfQVBJQ19BU1NJU1RfUEFHRV9BRERSRVNTX01BU0sgICAofigoMXVsbCA8PCBIVl9YNjRfTVNSX0FQSUNfQVNTSVNUX1BBR0VfQUREUkVTU19TSElGVCkgLSAxKSkKKyNkZWZpbmUgSFZfWDY0X01TUl9BUElDX0FTU0lTVF9QQUdFX0FERFJFU1NfTUFTSyAofigoMXVsbCA8PCBIVl9YNjRfTVNSX0FQSUNfQVNTSVNUX1BBR0VfQUREUkVTU19TSElGVCkgLSAxKSkKICNkZWZpbmUgSFZfWDY0X01TUl9UU0NfUkVGRVJFTkNFX0VOQUJMRSAweDAwMDAwMDAxCiAjZGVmaW5lIEhWX1g2NF9NU1JfVFNDX1JFRkVSRU5DRV9BRERSRVNTX1NISUZUIDEyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTM4LDExICsxMzgsMTEgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhWX1NUQVRVU19JTlNVRkZJQ0lFTlRfQlVGRkVSUyAxOQogdHlwZWRlZiBzdHJ1Y3QgX0hWX1JFRkVSRU5DRV9UU0NfUEFHRSB7Ci0gX191MzIgdHNjX3NlcXVlbmNlOwotIF9fdTMyIHJlczE7CisgIF9fdTMyIHRzY19zZXF1ZW5jZTsKKyAgX191MzIgcmVzMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdHNjX3NjYWxlOwotIF9fczY0IHRzY19vZmZzZXQ7Ci19IEhWX1JFRkVSRU5DRV9UU0NfUEFHRSwgKlBIVl9SRUZFUkVOQ0VfVFNDX1BBR0U7CisgIF9fdTY0IHRzY19zY2FsZTsKKyAgX19zNjQgdHNjX29mZnNldDsKK30gSFZfUkVGRVJFTkNFX1RTQ19QQUdFLCAqIFBIVl9SRUZFUkVOQ0VfVFNDX1BBR0U7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2lzdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9pc3QuaAppbmRleCAzNmQzYzNkLi4yN2RiODlmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2lzdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vaXN0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgaXN0X2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzaWduYXR1cmU7Ci0gX191MzIgY29tbWFuZDsKLSBfX3UzMiBldmVudDsKLSBfX3UzMiBwZXJmX2xldmVsOworICBfX3UzMiBzaWduYXR1cmU7CisgIF9fdTMyIGNvbW1hbmQ7CisgIF9fdTMyIGV2ZW50OworICBfX3UzMiBwZXJmX2xldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20va3ZtLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2t2bS5oCmluZGV4IDIwMGQ4MTguLjZiNmI2ZjIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20va3ZtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9rdm0uaApAQCAtMzgsMzI2ICszOCwzMjkgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBGX1ZFQ1RPUiAxNAogI2RlZmluZSBNRl9WRUNUT1IgMTYKKyNkZWZpbmUgQUNfVkVDVE9SIDE3CiAjZGVmaW5lIE1DX1ZFQ1RPUiAxOAotI2RlZmluZSBfX0tWTV9IQVZFX1BJVAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgWE1fVkVDVE9SIDE5CisjZGVmaW5lIFZFX1ZFQ1RPUiAyMAorI2RlZmluZSBfX0tWTV9IQVZFX1BJVAogI2RlZmluZSBfX0tWTV9IQVZFX0lPQVBJQworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19LVk1fSEFWRV9JUlFfTElORQogI2RlZmluZSBfX0tWTV9IQVZFX01TSQogI2RlZmluZSBfX0tWTV9IQVZFX1VTRVJfTk1JCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0tWTV9IQVZFX0dVRVNUX0RFQlVHCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0tWTV9IQVZFX01TSVgKICNkZWZpbmUgX19LVk1fSEFWRV9NQ0UKICNkZWZpbmUgX19LVk1fSEFWRV9QSVRfU1RBVEUyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0tWTV9IQVZFX1hFTl9IVk0KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fS1ZNX0hBVkVfVkNQVV9FVkVOVFMKICNkZWZpbmUgX19LVk1fSEFWRV9ERUJVR1JFR1MKICNkZWZpbmUgX19LVk1fSEFWRV9YU0FWRQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19LVk1fSEFWRV9YQ1JTCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0tWTV9IQVZFX1JFQURPTkxZX01FTQogI2RlZmluZSBLVk1fTlJfSU5URVJSVVBUUyAyNTYKIHN0cnVjdCBrdm1fbWVtb3J5X2FsaWFzIHsKKyAgX191MzIgc2xvdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2xvdDsKLSBfX3UzMiBmbGFnczsKLSBfX3U2NCBndWVzdF9waHlzX2FkZHI7Ci0gX191NjQgbWVtb3J5X3NpemU7CisgIF9fdTMyIGZsYWdzOworICBfX3U2NCBndWVzdF9waHlzX2FkZHI7CisgIF9fdTY0IG1lbW9yeV9zaXplOworICBfX3U2NCB0YXJnZXRfcGh5c19hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB0YXJnZXRfcGh5c19hZGRyOwogfTsKIHN0cnVjdCBrdm1fcGljX3N0YXRlIHsKLSBfX3U4IGxhc3RfaXJyOworICBfX3U4IGxhc3RfaXJyOworICBfX3U4IGlycjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpcnI7Ci0gX191OCBpbXI7Ci0gX191OCBpc3I7Ci0gX191OCBwcmlvcml0eV9hZGQ7CisgIF9fdTggaW1yOworICBfX3U4IGlzcjsKKyAgX191OCBwcmlvcml0eV9hZGQ7CisgIF9fdTggaXJxX2Jhc2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaXJxX2Jhc2U7Ci0gX191OCByZWFkX3JlZ19zZWxlY3Q7Ci0gX191OCBwb2xsOwotIF9fdTggc3BlY2lhbF9tYXNrOworICBfX3U4IHJlYWRfcmVnX3NlbGVjdDsKKyAgX191OCBwb2xsOworICBfX3U4IHNwZWNpYWxfbWFzazsKKyAgX191OCBpbml0X3N0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGluaXRfc3RhdGU7Ci0gX191OCBhdXRvX2VvaTsKLSBfX3U4IHJvdGF0ZV9vbl9hdXRvX2VvaTsKLSBfX3U4IHNwZWNpYWxfZnVsbHlfbmVzdGVkX21vZGU7CisgIF9fdTggYXV0b19lb2k7CisgIF9fdTggcm90YXRlX29uX2F1dG9fZW9pOworICBfX3U4IHNwZWNpYWxfZnVsbHlfbmVzdGVkX21vZGU7CisgIF9fdTggaW5pdDQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW5pdDQ7Ci0gX191OCBlbGNyOwotIF9fdTggZWxjcl9tYXNrOworICBfX3U4IGVsY3I7CisgIF9fdTggZWxjcl9tYXNrOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9JT0FQSUNfTlVNX1BJTlMgMjQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX2lvYXBpY19zdGF0ZSB7Ci0gX191NjQgYmFzZV9hZGRyZXNzOwotIF9fdTMyIGlvcmVnc2VsOworICBfX3U2NCBiYXNlX2FkZHJlc3M7CisgIF9fdTMyIGlvcmVnc2VsOworICBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWQ7Ci0gX191MzIgaXJyOwotIF9fdTMyIHBhZDsKLSB1bmlvbiB7CisgIF9fdTMyIGlycjsKKyAgX191MzIgcGFkOworICB1bmlvbiB7CisgICAgX191NjQgYml0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYml0czsKLSBzdHJ1Y3QgewotIF9fdTggdmVjdG9yOwotIF9fdTggZGVsaXZlcnlfbW9kZTozOworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IHZlY3RvcjsKKyAgICAgIF9fdTggZGVsaXZlcnlfbW9kZSA6IDM7CisgICAgICBfX3U4IGRlc3RfbW9kZSA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGVzdF9tb2RlOjE7Ci0gX191OCBkZWxpdmVyeV9zdGF0dXM6MTsKLSBfX3U4IHBvbGFyaXR5OjE7Ci0gX191OCByZW1vdGVfaXJyOjE7CisgICAgICBfX3U4IGRlbGl2ZXJ5X3N0YXR1cyA6IDE7CisgICAgICBfX3U4IHBvbGFyaXR5IDogMTsKKyAgICAgIF9fdTggcmVtb3RlX2lyciA6IDE7CisgICAgICBfX3U4IHRyaWdfbW9kZSA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHJpZ19tb2RlOjE7Ci0gX191OCBtYXNrOjE7Ci0gX191OCByZXNlcnZlOjc7Ci0gX191OCByZXNlcnZlZFs0XTsKKyAgICAgIF9fdTggbWFzayA6IDE7CisgICAgICBfX3U4IHJlc2VydmUgOiA3OworICAgICAgX191OCByZXNlcnZlZFs0XTsKKyAgICAgIF9fdTggZGVzdF9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkZXN0X2lkOwotIH0gZmllbGRzOwotIH0gcmVkaXJ0YmxbS1ZNX0lPQVBJQ19OVU1fUElOU107CisgICAgfSBmaWVsZHM7CisgIH0gcmVkaXJ0YmxbS1ZNX0lPQVBJQ19OVU1fUElOU107CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0lSUUNISVBfUElDX01BU1RFUiAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fSVJRQ0hJUF9QSUNfU0xBVkUgMQogI2RlZmluZSBLVk1fSVJRQ0hJUF9JT0FQSUMgMgogI2RlZmluZSBLVk1fTlJfSVJRQ0hJUFMgMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fcmVncyB7Ci0gX191NjQgcmF4LCByYngsIHJjeCwgcmR4OwotIF9fdTY0IHJzaSwgcmRpLCByc3AsIHJicDsKLSBfX3U2NCByOCwgcjksIHIxMCwgcjExOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByMTIsIHIxMywgcjE0LCByMTU7Ci0gX191NjQgcmlwLCByZmxhZ3M7CisgIF9fdTY0IHJheCwgcmJ4LCByY3gsIHJkeDsKKyAgX191NjQgcnNpLCByZGksIHJzcCwgcmJwOworICBfX3U2NCByOCwgcjksIHIxMCwgcjExOworICBfX3U2NCByMTIsIHIxMywgcjE0LCByMTU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCByaXAsIHJmbGFnczsKIH07CiAjZGVmaW5lIEtWTV9BUElDX1JFR19TSVpFIDB4NDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9sYXBpY19zdGF0ZSB7Ci0gY2hhciByZWdzW0tWTV9BUElDX1JFR19TSVpFXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGNoYXIgcmVnc1tLVk1fQVBJQ19SRUdfU0laRV07CiB9Owogc3RydWN0IGt2bV9zZWdtZW50IHsKKyAgX191NjQgYmFzZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYmFzZTsKLSBfX3UzMiBsaW1pdDsKLSBfX3UxNiBzZWxlY3RvcjsKLSBfX3U4IHR5cGU7CisgIF9fdTMyIGxpbWl0OworICBfX3UxNiBzZWxlY3RvcjsKKyAgX191OCB0eXBlOworICBfX3U4IHByZXNlbnQsIGRwbCwgZGIsIHMsIGwsIGcsIGF2bDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwcmVzZW50LCBkcGwsIGRiLCBzLCBsLCBnLCBhdmw7Ci0gX191OCB1bnVzYWJsZTsKLSBfX3U4IHBhZGRpbmc7CisgIF9fdTggdW51c2FibGU7CisgIF9fdTggcGFkZGluZzsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9kdGFibGUgewotIF9fdTY0IGJhc2U7Ci0gX191MTYgbGltaXQ7Ci0gX191MTYgcGFkZGluZ1szXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IGJhc2U7CisgIF9fdTE2IGxpbWl0OworICBfX3UxNiBwYWRkaW5nWzNdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3NyZWdzIHsKLSBzdHJ1Y3Qga3ZtX3NlZ21lbnQgY3MsIGRzLCBlcywgZnMsIGdzLCBzczsKLSBzdHJ1Y3Qga3ZtX3NlZ21lbnQgdHIsIGxkdDsKKyAgc3RydWN0IGt2bV9zZWdtZW50IGNzLCBkcywgZXMsIGZzLCBncywgc3M7CisgIHN0cnVjdCBrdm1fc2VnbWVudCB0ciwgbGR0OworICBzdHJ1Y3Qga3ZtX2R0YWJsZSBnZHQsIGlkdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGt2bV9kdGFibGUgZ2R0LCBpZHQ7Ci0gX191NjQgY3IwLCBjcjIsIGNyMywgY3I0LCBjcjg7Ci0gX191NjQgZWZlcjsKLSBfX3U2NCBhcGljX2Jhc2U7CisgIF9fdTY0IGNyMCwgY3IyLCBjcjMsIGNyNCwgY3I4OworICBfX3U2NCBlZmVyOworICBfX3U2NCBhcGljX2Jhc2U7CisgIF9fdTY0IGludGVycnVwdF9iaXRtYXBbKEtWTV9OUl9JTlRFUlJVUFRTICsgNjMpIC8gNjRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBpbnRlcnJ1cHRfYml0bWFwWyhLVk1fTlJfSU5URVJSVVBUUyArIDYzKSAvIDY0XTsKIH07CiBzdHJ1Y3Qga3ZtX2ZwdSB7Ci0gX191OCBmcHJbOF1bMTZdOworICBfX3U4IGZwcls4XVsxNl07CisgIF9fdTE2IGZjdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmN3OwotIF9fdTE2IGZzdzsKLSBfX3U4IGZ0d3g7Ci0gX191OCBwYWQxOworICBfX3UxNiBmc3c7CisgIF9fdTggZnR3eDsKKyAgX191OCBwYWQxOworICBfX3UxNiBsYXN0X29wY29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbGFzdF9vcGNvZGU7Ci0gX191NjQgbGFzdF9pcDsKLSBfX3U2NCBsYXN0X2RwOwotIF9fdTggeG1tWzE2XVsxNl07CisgIF9fdTY0IGxhc3RfaXA7CisgIF9fdTY0IGxhc3RfZHA7CisgIF9fdTggeG1tWzE2XVsxNl07CisgIF9fdTMyIG14Y3NyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBteGNzcjsKLSBfX3UzMiBwYWQyOworICBfX3UzMiBwYWQyOwogfTsKIHN0cnVjdCBrdm1fbXNyX2VudHJ5IHsKKyAgX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGluZGV4OwotIF9fdTMyIHJlc2VydmVkOwotIF9fdTY0IGRhdGE7CisgIF9fdTMyIHJlc2VydmVkOworICBfX3U2NCBkYXRhOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX21zcnMgewotIF9fdTMyIG5tc3JzOwotIF9fdTMyIHBhZDsKLSBzdHJ1Y3Qga3ZtX21zcl9lbnRyeSBlbnRyaWVzWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgbm1zcnM7CisgIF9fdTMyIHBhZDsKKyAgc3RydWN0IGt2bV9tc3JfZW50cnkgZW50cmllc1swXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9tc3JfbGlzdCB7Ci0gX191MzIgbm1zcnM7Ci0gX191MzIgaW5kaWNlc1swXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIG5tc3JzOworICBfX3UzMiBpbmRpY2VzWzBdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX2NwdWlkX2VudHJ5IHsKLSBfX3UzMiBmdW5jdGlvbjsKLSBfX3UzMiBlYXg7CisgIF9fdTMyIGZ1bmN0aW9uOworICBfX3UzMiBlYXg7CisgIF9fdTMyIGVieDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZWJ4OwotIF9fdTMyIGVjeDsKLSBfX3UzMiBlZHg7Ci0gX191MzIgcGFkZGluZzsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGVjeDsKKyAgX191MzIgZWR4OworICBfX3UzMiBwYWRkaW5nOwogfTsKLXN0cnVjdCBrdm1fY3B1aWQgewotIF9fdTMyIG5lbnQ7Ci0gX191MzIgcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGt2bV9jcHVpZF9lbnRyeSBlbnRyaWVzWzBdOworc3RydWN0IGt2bV9jcHVpZCB7CisgIF9fdTMyIG5lbnQ7CisgIF9fdTMyIHBhZGRpbmc7CisgIHN0cnVjdCBrdm1fY3B1aWRfZW50cnkgZW50cmllc1swXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGt2bV9jcHVpZF9lbnRyeTIgewotIF9fdTMyIGZ1bmN0aW9uOworICBfX3UzMiBmdW5jdGlvbjsKKyAgX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGluZGV4OwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIGVheDsKLSBfX3UzMiBlYng7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBlYXg7CisgIF9fdTMyIGVieDsKKyAgX191MzIgZWN4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlY3g7Ci0gX191MzIgZWR4OwotIF9fdTMyIHBhZGRpbmdbM107CisgIF9fdTMyIGVkeDsKKyAgX191MzIgcGFkZGluZ1szXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ1BVSURfRkxBR19TSUdOSUZDQU5UX0lOREVYIEJJVCgwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0NQVUlEX0ZMQUdfU1RBVEVGVUxfRlVOQyBCSVQoMSkKICNkZWZpbmUgS1ZNX0NQVUlEX0ZMQUdfU1RBVEVfUkVBRF9ORVhUIEJJVCgyKQogc3RydWN0IGt2bV9jcHVpZDIgeworICBfX3UzMiBuZW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBuZW50OwotIF9fdTMyIHBhZGRpbmc7Ci0gc3RydWN0IGt2bV9jcHVpZF9lbnRyeTIgZW50cmllc1swXTsKKyAgX191MzIgcGFkZGluZzsKKyAgc3RydWN0IGt2bV9jcHVpZF9lbnRyeTIgZW50cmllc1swXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9waXRfY2hhbm5lbF9zdGF0ZSB7Ci0gX191MzIgY291bnQ7Ci0gX191MTYgbGF0Y2hlZF9jb3VudDsKLSBfX3U4IGNvdW50X2xhdGNoZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc3RhdHVzX2xhdGNoZWQ7Ci0gX191OCBzdGF0dXM7Ci0gX191OCByZWFkX3N0YXRlOwotIF9fdTggd3JpdGVfc3RhdGU7CisgIF9fdTMyIGNvdW50OworICBfX3UxNiBsYXRjaGVkX2NvdW50OworICBfX3U4IGNvdW50X2xhdGNoZWQ7CisgIF9fdTggc3RhdHVzX2xhdGNoZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggd3JpdGVfbGF0Y2g7Ci0gX191OCByd19tb2RlOwotIF9fdTggbW9kZTsKLSBfX3U4IGJjZDsKKyAgX191OCBzdGF0dXM7CisgIF9fdTggcmVhZF9zdGF0ZTsKKyAgX191OCB3cml0ZV9zdGF0ZTsKKyAgX191OCB3cml0ZV9sYXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBnYXRlOwotIF9fczY0IGNvdW50X2xvYWRfdGltZTsKKyAgX191OCByd19tb2RlOworICBfX3U4IG1vZGU7CisgIF9fdTggYmNkOworICBfX3U4IGdhdGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3M2NCBjb3VudF9sb2FkX3RpbWU7CiB9Owogc3RydWN0IGt2bV9kZWJ1Z19leGl0X2FyY2ggeworICBfX3UzMiBleGNlcHRpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGV4Y2VwdGlvbjsKLSBfX3UzMiBwYWQ7Ci0gX191NjQgcGM7Ci0gX191NjQgZHI2OworICBfX3UzMiBwYWQ7CisgIF9fdTY0IHBjOworICBfX3U2NCBkcjY7CisgIF9fdTY0IGRyNzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZHI3OwogfTsKICNkZWZpbmUgS1ZNX0dVRVNUREJHX1VTRV9TV19CUCAweDAwMDEwMDAwCiAjZGVmaW5lIEtWTV9HVUVTVERCR19VU0VfSFdfQlAgMHgwMDAyMDAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0dVRVNUREJHX0lOSkVDVF9EQiAweDAwMDQwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR1VFU1REQkdfSU5KRUNUX0JQIDB4MDAwODAwMDAKIHN0cnVjdCBrdm1fZ3Vlc3RfZGVidWdfYXJjaCB7Ci0gX191NjQgZGVidWdyZWdbOF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBkZWJ1Z3JlZ1s4XTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9waXRfc3RhdGUgewotIHN0cnVjdCBrdm1fcGl0X2NoYW5uZWxfc3RhdGUgY2hhbm5lbHNbM107CisgIHN0cnVjdCBrdm1fcGl0X2NoYW5uZWxfc3RhdGUgY2hhbm5lbHNbM107CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1BJVF9GTEFHU19IUEVUX0xFR0FDWSAweDAwMDAwMDAxCi1zdHJ1Y3Qga3ZtX3BpdF9zdGF0ZTIgewotIHN0cnVjdCBrdm1fcGl0X2NoYW5uZWxfc3RhdGUgY2hhbm5lbHNbM107Ci0gX191MzIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkWzldOworc3RydWN0IGt2bV9waXRfc3RhdGUyIHsKKyAgc3RydWN0IGt2bV9waXRfY2hhbm5lbF9zdGF0ZSBjaGFubmVsc1szXTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHJlc2VydmVkWzldOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qga3ZtX3JlaW5qZWN0X2NvbnRyb2wgewotIF9fdTggcGl0X3JlaW5qZWN0OworICBfX3U4IHBpdF9yZWluamVjdDsKKyAgX191OCByZXNlcnZlZFszMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmVzZXJ2ZWRbMzFdOwogfTsKICNkZWZpbmUgS1ZNX1ZDUFVFVkVOVF9WQUxJRF9OTUlfUEVORElORyAweDAwMDAwMDAxCiAjZGVmaW5lIEtWTV9WQ1BVRVZFTlRfVkFMSURfU0lQSV9WRUNUT1IgMHgwMDAwMDAwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1ZDUFVFVkVOVF9WQUxJRF9TSEFET1cgMHgwMDAwMDAwNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1g4Nl9TSEFET1dfSU5UX01PVl9TUyAweDAxCiAjZGVmaW5lIEtWTV9YODZfU0hBRE9XX0lOVF9TVEkgMHgwMgogc3RydWN0IGt2bV92Y3B1X2V2ZW50cyB7CisgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX191OCBpbmplY3RlZDsKLSBfX3U4IG5yOwotIF9fdTggaGFzX2Vycm9yX2NvZGU7CisgICAgX191OCBpbmplY3RlZDsKKyAgICBfX3U4IG5yOworICAgIF9fdTggaGFzX2Vycm9yX2NvZGU7CisgICAgX191OCBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGFkOwotIF9fdTMyIGVycm9yX2NvZGU7Ci0gfSBleGNlcHRpb247Ci0gc3RydWN0IHsKKyAgICBfX3UzMiBlcnJvcl9jb2RlOworICB9IGV4Y2VwdGlvbjsKKyAgc3RydWN0IHsKKyAgICBfX3U4IGluamVjdGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGluamVjdGVkOwotIF9fdTggbnI7Ci0gX191OCBzb2Z0OwotIF9fdTggc2hhZG93OworICAgIF9fdTggbnI7CisgICAgX191OCBzb2Z0OworICAgIF9fdTggc2hhZG93OworICB9IGludGVycnVwdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBpbnRlcnJ1cHQ7Ci0gc3RydWN0IHsKLSBfX3U4IGluamVjdGVkOwotIF9fdTggcGVuZGluZzsKKyAgc3RydWN0IHsKKyAgICBfX3U4IGluamVjdGVkOworICAgIF9fdTggcGVuZGluZzsKKyAgICBfX3U4IG1hc2tlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBtYXNrZWQ7Ci0gX191OCBwYWQ7Ci0gfSBubWk7Ci0gX191MzIgc2lwaV92ZWN0b3I7CisgICAgX191OCBwYWQ7CisgIH0gbm1pOworICBfX3UzMiBzaXBpX3ZlY3RvcjsKKyAgX191MzIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIHJlc2VydmVkWzEwXTsKKyAgX191MzIgcmVzZXJ2ZWRbMTBdOwogfTsKIHN0cnVjdCBrdm1fZGVidWdyZWdzIHsKKyAgX191NjQgZGJbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRiWzRdOwotIF9fdTY0IGRyNjsKLSBfX3U2NCBkcjc7Ci0gX191NjQgZmxhZ3M7CisgIF9fdTY0IGRyNjsKKyAgX191NjQgZHI3OworICBfX3U2NCBmbGFnczsKKyAgX191NjQgcmVzZXJ2ZWRbOV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlc2VydmVkWzldOwogfTsKIHN0cnVjdCBrdm1feHNhdmUgewotIF9fdTMyIHJlZ2lvblsxMDI0XTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHJlZ2lvblsxMDI0XTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fTUFYX1hDUlMgMTYKIHN0cnVjdCBrdm1feGNyIHsKLSBfX3UzMiB4Y3I7CisgIF9fdTMyIHhjcjsKKyAgX191MzIgcmVzZXJ2ZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkOwotIF9fdTY0IHZhbHVlOworICBfX3U2NCB2YWx1ZTsKIH07CiBzdHJ1Y3Qga3ZtX3hjcnMgeworICBfX3UzMiBucl94Y3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBucl94Y3JzOwotIF9fdTMyIGZsYWdzOwotIHN0cnVjdCBrdm1feGNyIHhjcnNbS1ZNX01BWF9YQ1JTXTsKLSBfX3U2NCBwYWRkaW5nWzE2XTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGZsYWdzOworICBzdHJ1Y3Qga3ZtX3hjciB4Y3JzW0tWTV9NQVhfWENSU107CisgIF9fdTY0IHBhZGRpbmdbMTZdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3N5bmNfcmVncyB7CiB9OwogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9rdm1fcGFyYS5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9rdm1fcGFyYS5oCmluZGV4IDdmYjVlZmUuLjk2OGQ1YmIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20va3ZtX3BhcmEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2t2bV9wYXJhLmgKQEAgLTQ2LDE1ICs0NiwxNSBAQAogI2RlZmluZSBNU1JfS1ZNX1BWX0VPSV9FTiAweDRiNTY0ZDA0CiBzdHJ1Y3Qga3ZtX3N0ZWFsX3RpbWUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzdGVhbDsKLSBfX3UzMiB2ZXJzaW9uOwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIHBhZFsxMl07CisgIF9fdTY0IHN0ZWFsOworICBfX3UzMiB2ZXJzaW9uOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcGFkWzEyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBLVk1fU1RFQUxfQUxJR05NRU5UX0JJVFMgNQotI2RlZmluZSBLVk1fU1RFQUxfVkFMSURfQklUUyAoKC0xVUxMIDw8IChLVk1fU1RFQUxfQUxJR05NRU5UX0JJVFMgKyAxKSkpCi0jZGVmaW5lIEtWTV9TVEVBTF9SRVNFUlZFRF9NQVNLICgoKDEgPDwgS1ZNX1NURUFMX0FMSUdOTUVOVF9CSVRTKSAtIDEgKSA8PCAxKQorI2RlZmluZSBLVk1fU1RFQUxfVkFMSURfQklUUyAoKC0gMVVMTCA8PCAoS1ZNX1NURUFMX0FMSUdOTUVOVF9CSVRTICsgMSkpKQorI2RlZmluZSBLVk1fU1RFQUxfUkVTRVJWRURfTUFTSyAoKCgxIDw8IEtWTV9TVEVBTF9BTElHTk1FTlRfQklUUykgLSAxKSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX01BWF9NTVVfT1BfQkFUQ0ggMzIKICNkZWZpbmUgS1ZNX0FTWU5DX1BGX0VOQUJMRUQgKDEgPDwgMCkKQEAgLTY0LDMyICs2NCwzMiBAQAogI2RlZmluZSBLVk1fTU1VX09QX0ZMVVNIX1RMQiAyCiAjZGVmaW5lIEtWTV9NTVVfT1BfUkVMRUFTRV9QVCAzCiBzdHJ1Y3Qga3ZtX21tdV9vcF9oZWFkZXIgewotIF9fdTMyIG9wOworICBfX3UzMiBvcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGFkOworICBfX3UzMiBwYWQ7CiB9Owogc3RydWN0IGt2bV9tbXVfb3Bfd3JpdGVfcHRlIHsKLSBzdHJ1Y3Qga3ZtX21tdV9vcF9oZWFkZXIgaGVhZGVyOworICBzdHJ1Y3Qga3ZtX21tdV9vcF9oZWFkZXIgaGVhZGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwdGVfcGh5czsKLSBfX3U2NCBwdGVfdmFsOworICBfX3U2NCBwdGVfcGh5czsKKyAgX191NjQgcHRlX3ZhbDsKIH07CiBzdHJ1Y3Qga3ZtX21tdV9vcF9mbHVzaF90bGIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qga3ZtX21tdV9vcF9oZWFkZXIgaGVhZGVyOworICBzdHJ1Y3Qga3ZtX21tdV9vcF9oZWFkZXIgaGVhZGVyOwogfTsKIHN0cnVjdCBrdm1fbW11X29wX3JlbGVhc2VfcHQgewotIHN0cnVjdCBrdm1fbW11X29wX2hlYWRlciBoZWFkZXI7CisgIHN0cnVjdCBrdm1fbW11X29wX2hlYWRlciBoZWFkZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHB0X3BoeXM7CisgIF9fdTY0IHB0X3BoeXM7CiB9OwogI2RlZmluZSBLVk1fUFZfUkVBU09OX1BBR0VfTk9UX1BSRVNFTlQgMQogI2RlZmluZSBLVk1fUFZfUkVBU09OX1BBR0VfUkVBRFkgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fdmNwdV9wdl9hcGZfZGF0YSB7Ci0gX191MzIgcmVhc29uOwotIF9fdTggcGFkWzYwXTsKLSBfX3UzMiBlbmFibGVkOworICBfX3UzMiByZWFzb247CisgIF9fdTggcGFkWzYwXTsKKyAgX191MzIgZW5hYmxlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBLVk1fUFZfRU9JX0JJVCAwCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2t2bV9wZXJmLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2t2bV9wZXJmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMwMWRlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20va3ZtX3BlcmYuaApAQCAtMCwwICsxLDMxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9BU01fWDg2X0tWTV9QRVJGX0gKKyNkZWZpbmUgX0FTTV9YODZfS1ZNX1BFUkZfSAorI2luY2x1ZGUgPGFzbS9zdm0uaD4KKyNpbmNsdWRlIDxhc20vdm14Lmg+CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2luY2x1ZGUgPGFzbS9rdm0uaD4KKyNkZWZpbmUgREVDT0RFX1NUUl9MRU4gMjAKKyNkZWZpbmUgVkNQVV9JRCAidmNwdV9pZCIKKyNkZWZpbmUgS1ZNX0VOVFJZX1RSQUNFICJrdm06a3ZtX2VudHJ5IgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0VYSVRfVFJBQ0UgImt2bTprdm1fZXhpdCIKKyNkZWZpbmUgS1ZNX0VYSVRfUkVBU09OICJleGl0X3JlYXNvbiIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9sZHQuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vbGR0LmgKaW5kZXggZmY4ODc2MC4uYzkwMWZlZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9sZHQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL2xkdC5oCkBAIC0yMywyMCArMjMsMjAgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogc3RydWN0IHVzZXJfZGVzYyB7Ci0gdW5zaWduZWQgaW50IGVudHJ5X251bWJlcjsKLSB1bnNpZ25lZCBpbnQgYmFzZV9hZGRyOworICB1bnNpZ25lZCBpbnQgZW50cnlfbnVtYmVyOworICB1bnNpZ25lZCBpbnQgYmFzZV9hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbGltaXQ7Ci0gdW5zaWduZWQgaW50IHNlZ18zMmJpdDoxOwotIHVuc2lnbmVkIGludCBjb250ZW50czoyOwotIHVuc2lnbmVkIGludCByZWFkX2V4ZWNfb25seToxOworICB1bnNpZ25lZCBpbnQgbGltaXQ7CisgIHVuc2lnbmVkIGludCBzZWdfMzJiaXQgOiAxOworICB1bnNpZ25lZCBpbnQgY29udGVudHMgOiAyOworICB1bnNpZ25lZCBpbnQgcmVhZF9leGVjX29ubHkgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbGltaXRfaW5fcGFnZXM6MTsKLSB1bnNpZ25lZCBpbnQgc2VnX25vdF9wcmVzZW50OjE7Ci0gdW5zaWduZWQgaW50IHVzZWFibGU6MTsKKyAgdW5zaWduZWQgaW50IGxpbWl0X2luX3BhZ2VzIDogMTsKKyAgdW5zaWduZWQgaW50IHNlZ19ub3RfcHJlc2VudCA6IDE7CisgIHVuc2lnbmVkIGludCB1c2VhYmxlIDogMTsKICNpZmRlZiBfX3g4Nl82NF9fCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBsbToxOworICB1bnNpZ25lZCBpbnQgbG0gOiAxOwogI2VuZGlmCiB9OwogI2RlZmluZSBNT0RJRllfTERUX0NPTlRFTlRTX0RBVEEgMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9tY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vbWNlLmgKaW5kZXggNDhjMWIzNS4uZGNlNDE5NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9tY2UuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL21jZS5oCkBAIC0yMiwyOSArMjIsMjkgQEAKICNpbmNsdWRlIDxhc20vaW9jdGxzLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG1jZSB7Ci0gX191NjQgc3RhdHVzOwotIF9fdTY0IG1pc2M7Ci0gX191NjQgYWRkcjsKKyAgX191NjQgc3RhdHVzOworICBfX3U2NCBtaXNjOworICBfX3U2NCBhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBtY2dzdGF0dXM7Ci0gX191NjQgaXA7Ci0gX191NjQgdHNjOwotIF9fdTY0IHRpbWU7CisgIF9fdTY0IG1jZ3N0YXR1czsKKyAgX191NjQgaXA7CisgIF9fdTY0IHRzYzsKKyAgX191NjQgdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjcHV2ZW5kb3I7Ci0gX191OCBpbmplY3RfZmxhZ3M7Ci0gX191MTYgcGFkOwotIF9fdTMyIGNwdWlkOworICBfX3U4IGNwdXZlbmRvcjsKKyAgX191OCBpbmplY3RfZmxhZ3M7CisgIF9fdTE2IHBhZDsKKyAgX191MzIgY3B1aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY3M7Ci0gX191OCBiYW5rOwotIF9fdTggY3B1OwotIF9fdTggZmluaXNoZWQ7CisgIF9fdTggY3M7CisgIF9fdTggYmFuazsKKyAgX191OCBjcHU7CisgIF9fdTggZmluaXNoZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGV4dGNwdTsKLSBfX3UzMiBzb2NrZXRpZDsKLSBfX3UzMiBhcGljaWQ7Ci0gX191NjQgbWNnY2FwOworICBfX3UzMiBleHRjcHU7CisgIF9fdTMyIHNvY2tldGlkOworICBfX3UzMiBhcGljaWQ7CisgIF9fdTY0IG1jZ2NhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBNQ0VfR0VUX1JFQ09SRF9MRU4gX0lPUignTScsIDEsIGludCkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vbXNyLWluZGV4LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL21zci1pbmRleC5oCmluZGV4IDZlNGNhYzcuLjIyMWNlYzIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vbXNyLWluZGV4LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9tc3ItaW5kZXguaApAQCAtMzgsMTUgKzM4LDE1IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfRUZFUl9MTVNMRSAxMwogI2RlZmluZSBfRUZFUl9GRlhTUiAxNAotI2RlZmluZSBFRkVSX1NDRSAoMTw8X0VGRVJfU0NFKQotI2RlZmluZSBFRkVSX0xNRSAoMTw8X0VGRVJfTE1FKQorI2RlZmluZSBFRkVSX1NDRSAoMSA8PCBfRUZFUl9TQ0UpCisjZGVmaW5lIEVGRVJfTE1FICgxIDw8IF9FRkVSX0xNRSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEVGRVJfTE1BICgxPDxfRUZFUl9MTUEpCi0jZGVmaW5lIEVGRVJfTlggKDE8PF9FRkVSX05YKQotI2RlZmluZSBFRkVSX1NWTUUgKDE8PF9FRkVSX1NWTUUpCi0jZGVmaW5lIEVGRVJfTE1TTEUgKDE8PF9FRkVSX0xNU0xFKQorI2RlZmluZSBFRkVSX0xNQSAoMSA8PCBfRUZFUl9MTUEpCisjZGVmaW5lIEVGRVJfTlggKDEgPDwgX0VGRVJfTlgpCisjZGVmaW5lIEVGRVJfU1ZNRSAoMSA8PCBfRUZFUl9TVk1FKQorI2RlZmluZSBFRkVSX0xNU0xFICgxIDw8IF9FRkVSX0xNU0xFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRUZFUl9GRlhTUiAoMTw8X0VGRVJfRkZYU1IpCisjZGVmaW5lIEVGRVJfRkZYU1IgKDEgPDwgX0VGRVJfRkZYU1IpCiAjZGVmaW5lIE1TUl9JQTMyX1BFUkZDVFIwIDB4MDAwMDAwYzEKICNkZWZpbmUgTVNSX0lBMzJfUEVSRkNUUjEgMHgwMDAwMDBjMgogI2RlZmluZSBNU1JfRlNCX0ZSRVEgMHgwMDAwMDBjZApAQCAtMTYyLDE1NCArMTYyLDE1OSBAQAogI2RlZmluZSBNU1JfUFAxX1BPTElDWSAweDAwMDAwNjQyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfQ09SRV9DMV9SRVMgMHgwMDAwMDY2MAorI2RlZmluZSBNU1JfQ0M2X0RFTU9USU9OX1BPTElDWV9DT05GSUcgMHgwMDAwMDY2OAorI2RlZmluZSBNU1JfTUM2X0RFTU9USU9OX1BPTElDWV9DT05GSUcgMHgwMDAwMDY2OQogI2RlZmluZSBNU1JfQU1ENjRfTUMwX01BU0sgMHhjMDAxMDA0NAotI2RlZmluZSBNU1JfSUEzMl9NQ3hfQ1RMKHgpIChNU1JfSUEzMl9NQzBfQ1RMICsgNCooeCkpCi0jZGVmaW5lIE1TUl9JQTMyX01DeF9TVEFUVVMoeCkgKE1TUl9JQTMyX01DMF9TVEFUVVMgKyA0Kih4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1TUl9JQTMyX01DeF9BRERSKHgpIChNU1JfSUEzMl9NQzBfQUREUiArIDQqKHgpKQotI2RlZmluZSBNU1JfSUEzMl9NQ3hfTUlTQyh4KSAoTVNSX0lBMzJfTUMwX01JU0MgKyA0Kih4KSkKKyNkZWZpbmUgTVNSX0lBMzJfTUN4X0NUTCh4KSAoTVNSX0lBMzJfTUMwX0NUTCArIDQgKiAoeCkpCisjZGVmaW5lIE1TUl9JQTMyX01DeF9TVEFUVVMoeCkgKE1TUl9JQTMyX01DMF9TVEFUVVMgKyA0ICogKHgpKQorI2RlZmluZSBNU1JfSUEzMl9NQ3hfQUREUih4KSAoTVNSX0lBMzJfTUMwX0FERFIgKyA0ICogKHgpKQorI2RlZmluZSBNU1JfSUEzMl9NQ3hfTUlTQyh4KSAoTVNSX0lBMzJfTUMwX01JU0MgKyA0ICogKHgpKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0FNRDY0X01DeF9NQVNLKHgpIChNU1JfQU1ENjRfTUMwX01BU0sgKyAoeCkpCiAjZGVmaW5lIE1TUl9JQTMyX01DMF9DVEwyIDB4MDAwMDAyODAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9JQTMyX01DeF9DVEwyKHgpIChNU1JfSUEzMl9NQzBfQ1RMMiArICh4KSkKICNkZWZpbmUgTVNSX1A2X1BFUkZDVFIwIDB4MDAwMDAwYzEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9QNl9QRVJGQ1RSMSAweDAwMDAwMGMyCiAjZGVmaW5lIE1TUl9QNl9FVk5UU0VMMCAweDAwMDAwMTg2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfUDZfRVZOVFNFTDEgMHgwMDAwMDE4NwogI2RlZmluZSBNU1JfS05DX1BFUkZDVFIwIDB4MDAwMDAwMjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9LTkNfUEVSRkNUUjEgMHgwMDAwMDAyMQogI2RlZmluZSBNU1JfS05DX0VWTlRTRUwwIDB4MDAwMDAwMjgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9LTkNfRVZOVFNFTDEgMHgwMDAwMDAyOQogI2RlZmluZSBNU1JfSUEzMl9QTUMwIDB4MDAwMDA0YzEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9BTUQ2NF9QQVRDSF9MRVZFTCAweDAwMDAwMDhiCiAjZGVmaW5lIE1TUl9BTUQ2NF9UU0NfUkFUSU8gMHhjMDAwMDEwNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0FNRDY0X05CX0NGRyAweGMwMDEwMDFmCiAjZGVmaW5lIE1TUl9BTUQ2NF9QQVRDSF9MT0FERVIgMHhjMDAxMDAyMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0FNRDY0X09TVldfSURfTEVOR1RIIDB4YzAwMTAxNDAKICNkZWZpbmUgTVNSX0FNRDY0X09TVldfU1RBVFVTIDB4YzAwMTAxNDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9BTUQ2NF9MU19DRkcgMHhjMDAxMTAyMAogI2RlZmluZSBNU1JfQU1ENjRfRENfQ0ZHIDB4YzAwMTEwMjIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9BTUQ2NF9CVV9DRkcyIDB4YzAwMTEwMmEKICNkZWZpbmUgTVNSX0FNRDY0X0lCU0ZFVENIQ1RMIDB4YzAwMTEwMzAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9BTUQ2NF9JQlNGRVRDSExJTkFEIDB4YzAwMTEwMzEKICNkZWZpbmUgTVNSX0FNRDY0X0lCU0ZFVENIUEhZU0FEIDB4YzAwMTEwMzIKLSNkZWZpbmUgTVNSX0FNRDY0X0lCU0ZFVENIX1JFR19DT1VOVCAzCi0jZGVmaW5lIE1TUl9BTUQ2NF9JQlNGRVRDSF9SRUdfTUFTSyAoKDFVTDw8TVNSX0FNRDY0X0lCU0ZFVENIX1JFR19DT1VOVCktMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9BTUQ2NF9JQlNGRVRDSF9SRUdfQ09VTlQgMworI2RlZmluZSBNU1JfQU1ENjRfSUJTRkVUQ0hfUkVHX01BU0sgKCgxVUwgPDwgTVNSX0FNRDY0X0lCU0ZFVENIX1JFR19DT1VOVCkgLSAxKQogI2RlZmluZSBNU1JfQU1ENjRfSUJTT1BDVEwgMHhjMDAxMTAzMwogI2RlZmluZSBNU1JfQU1ENjRfSUJTT1BSSVAgMHhjMDAxMTAzNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0FNRDY0X0lCU09QREFUQSAweGMwMDExMDM1CiAjZGVmaW5lIE1TUl9BTUQ2NF9JQlNPUERBVEEyIDB4YzAwMTEwMzYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9BTUQ2NF9JQlNPUERBVEEzIDB4YzAwMTEwMzcKICNkZWZpbmUgTVNSX0FNRDY0X0lCU0RDTElOQUQgMHhjMDAxMTAzOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0FNRDY0X0lCU0RDUEhZU0FEIDB4YzAwMTEwMzkKICNkZWZpbmUgTVNSX0FNRDY0X0lCU09QX1JFR19DT1VOVCA3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNU1JfQU1ENjRfSUJTT1BfUkVHX01BU0sgKCgxVUw8PE1TUl9BTUQ2NF9JQlNPUF9SRUdfQ09VTlQpLTEpCisjZGVmaW5lIE1TUl9BTUQ2NF9JQlNPUF9SRUdfTUFTSyAoKDFVTCA8PCBNU1JfQU1ENjRfSUJTT1BfUkVHX0NPVU5UKSAtIDEpCiAjZGVmaW5lIE1TUl9BTUQ2NF9JQlNDVEwgMHhjMDAxMTAzYQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0FNRDY0X0lCU0JSVEFSR0VUIDB4YzAwMTEwM2IKICNkZWZpbmUgTVNSX0FNRDY0X0lCU19SRUdfQ09VTlRfTUFYIDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9GMTZIX0wySV9QRVJGX0NUTCAweGMwMDEwMjMwCiAjZGVmaW5lIE1TUl9GMTZIX0wySV9QRVJGX0NUUiAweGMwMDEwMjMxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfRjE1SF9QRVJGX0NUTCAweGMwMDEwMjAwCiAjZGVmaW5lIE1TUl9GMTVIX1BFUkZfQ1RSIDB4YzAwMTAyMDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9GMTVIX05CX1BFUkZfQ1RMIDB4YzAwMTAyNDAKICNkZWZpbmUgTVNSX0YxNUhfTkJfUEVSRl9DVFIgMHhjMDAxMDI0MQotI2RlZmluZSBNU1JfRkFNMTBIX01NSU9fQ09ORl9CQVNFIDB4YzAwMTAwNTgKLSNkZWZpbmUgRkFNMTBIX01NSU9fQ09ORl9FTkFCTEUgKDE8PDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfRkFNMTBIX01NSU9fQ09ORl9CQVNFIDB4YzAwMTAwNTgKKyNkZWZpbmUgRkFNMTBIX01NSU9fQ09ORl9FTkFCTEUgKDEgPDwgMCkKICNkZWZpbmUgRkFNMTBIX01NSU9fQ09ORl9CVVNSQU5HRV9NQVNLIDB4ZgogI2RlZmluZSBGQU0xMEhfTU1JT19DT05GX0JVU1JBTkdFX1NISUZUIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZBTTEwSF9NTUlPX0NPTkZfQkFTRV9NQVNLIDB4ZmZmZmZmZlVMTAogI2RlZmluZSBGQU0xMEhfTU1JT19DT05GX0JBU0VfU0hJRlQgMjAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9GQU0xMEhfTk9ERV9JRCAweGMwMDExMDBjCiAjZGVmaW5lIE1TUl9LOF9UT1BfTUVNMSAweGMwMDEwMDFhCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSzhfVE9QX01FTTIgMHhjMDAxMDAxZAogI2RlZmluZSBNU1JfSzhfU1lTQ0ZHIDB4YzAwMTAwMTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9LOF9JTlRfUEVORElOR19NU0cgMHhjMDAxMDA1NQogI2RlZmluZSBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSyAweDE4MDAwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSzhfVFNFR19BRERSIDB4YzAwMTAxMTIKICNkZWZpbmUgSzhfTVRSUkZJWFJBTkdFX0RSQU1fRU5BQkxFIDB4MDAwNDAwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX01PRElGWSAweDAwMDgwMDAwCiAjZGVmaW5lIEs4X01UUlJfUkRNRU1fV1JNRU1fTUFTSyAweDE4MTgxODE4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSzdfRVZOVFNFTDAgMHhjMDAxMDAwMAogI2RlZmluZSBNU1JfSzdfUEVSRkNUUjAgMHhjMDAxMDAwNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0s3X0VWTlRTRUwxIDB4YzAwMTAwMDEKICNkZWZpbmUgTVNSX0s3X1BFUkZDVFIxIDB4YzAwMTAwMDUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9LN19FVk5UU0VMMiAweGMwMDEwMDAyCiAjZGVmaW5lIE1TUl9LN19QRVJGQ1RSMiAweGMwMDEwMDA2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSzdfRVZOVFNFTDMgMHhjMDAxMDAwMwogI2RlZmluZSBNU1JfSzdfUEVSRkNUUjMgMHhjMDAxMDAwNworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0s3X0NMS19DVEwgMHhjMDAxMDAxYgogI2RlZmluZSBNU1JfSzdfSFdDUiAweGMwMDEwMDE1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSzdfRklEX1ZJRF9DVEwgMHhjMDAxMDA0MQogI2RlZmluZSBNU1JfSzdfRklEX1ZJRF9TVEFUVVMgMHhjMDAxMDA0MgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0s2X1dIQ1IgMHhjMDAwMDA4MgogI2RlZmluZSBNU1JfSzZfVVdDQ1IgMHhjMDAwMDA4NQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0s2X0VQTVIgMHhjMDAwMDA4NgogI2RlZmluZSBNU1JfSzZfUFNPUiAweGMwMDAwMDg3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSzZfUEZJUiAweGMwMDAwMDg4CiAjZGVmaW5lIE1TUl9JRFRfRkNSMSAweDAwMDAwMTA3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSURUX0ZDUjIgMHgwMDAwMDEwOAogI2RlZmluZSBNU1JfSURUX0ZDUjMgMHgwMDAwMDEwOQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0lEVF9GQ1I0IDB4MDAwMDAxMGEKICNkZWZpbmUgTVNSX0lEVF9NQ1IwIDB4MDAwMDAxMTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9JRFRfTUNSMSAweDAwMDAwMTExCiAjZGVmaW5lIE1TUl9JRFRfTUNSMiAweDAwMDAwMTEyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSURUX01DUjMgMHgwMDAwMDExMwogI2RlZmluZSBNU1JfSURUX01DUjQgMHgwMDAwMDExNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0lEVF9NQ1I1IDB4MDAwMDAxMTUKICNkZWZpbmUgTVNSX0lEVF9NQ1I2IDB4MDAwMDAxMTYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9JRFRfTUNSNyAweDAwMDAwMTE3CiAjZGVmaW5lIE1TUl9JRFRfTUNSX0NUUkwgMHgwMDAwMDEyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX1ZJQV9GQ1IgMHgwMDAwMTEwNwogI2RlZmluZSBNU1JfVklBX0xPTkdIQVVMIDB4MDAwMDExMGEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9WSUFfUk5HIDB4MDAwMDExMGIKICNkZWZpbmUgTVNSX1ZJQV9CQ1IyIDB4MDAwMDExNDcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9UTVRBX0xPTkdSVU5fQ1RSTCAweDgwODY4MDEwCiAjZGVmaW5lIE1TUl9UTVRBX0xPTkdSVU5fRkxBR1MgMHg4MDg2ODAxMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX1RNVEFfTFJUSV9SRUFET1VUIDB4ODA4NjgwMTgKICNkZWZpbmUgTVNSX1RNVEFfTFJUSV9WT0xUX01IWiAweDgwODY4MDFhCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSUEzMl9QNV9NQ19BRERSIDB4MDAwMDAwMDAKICNkZWZpbmUgTVNSX0lBMzJfUDVfTUNfVFlQRSAweDAwMDAwMDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSUEzMl9UU0MgMHgwMDAwMDAxMAogI2RlZmluZSBNU1JfSUEzMl9QTEFURk9STV9JRCAweDAwMDAwMDE3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfSUEzMl9FQkxfQ1JfUE9XRVJPTiAweDAwMDAwMDJhCiAjZGVmaW5lIE1TUl9FQkNfRlJFUVVFTkNZX0lEIDB4MDAwMDAwMmMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TUl9TTUlfQ09VTlQgMHgwMDAwMDAzNAogI2RlZmluZSBNU1JfSUEzMl9GRUFUVVJFX0NPTlRST0wgMHgwMDAwMDAzYQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0lBMzJfVFNDX0FESlVTVCAweDAwMDAwMDNiCi0jZGVmaW5lIEZFQVRVUkVfQ09OVFJPTF9MT0NLRUQgKDE8PDApCi0jZGVmaW5lIEZFQVRVUkVfQ09OVFJPTF9WTVhPTl9FTkFCTEVEX0lOU0lERV9TTVggKDE8PDEpCi0jZGVmaW5lIEZFQVRVUkVfQ09OVFJPTF9WTVhPTl9FTkFCTEVEX09VVFNJREVfU01YICgxPDwyKQorI2RlZmluZSBNU1JfSUEzMl9CTkRDRkdTIDB4MDAwMDBkOTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9JQTMyX1hTUyAweDAwMDAwZGEwCisjZGVmaW5lIEZFQVRVUkVfQ09OVFJPTF9MT0NLRUQgKDEgPDwgMCkKKyNkZWZpbmUgRkVBVFVSRV9DT05UUk9MX1ZNWE9OX0VOQUJMRURfSU5TSURFX1NNWCAoMSA8PCAxKQorI2RlZmluZSBGRUFUVVJFX0NPTlRST0xfVk1YT05fRU5BQkxFRF9PVVRTSURFX1NNWCAoMSA8PCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0lBMzJfQVBJQ0JBU0UgMHgwMDAwMDAxYgotI2RlZmluZSBNU1JfSUEzMl9BUElDQkFTRV9CU1AgKDE8PDgpCi0jZGVmaW5lIE1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRSAoMTw8MTEpCi0jZGVmaW5lIE1TUl9JQTMyX0FQSUNCQVNFX0JBU0UgKDB4ZmZmZmY8PDEyKQorI2RlZmluZSBNU1JfSUEzMl9BUElDQkFTRV9CU1AgKDEgPDwgOCkKKyNkZWZpbmUgTVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFICgxIDw8IDExKQorI2RlZmluZSBNU1JfSUEzMl9BUElDQkFTRV9CQVNFICgweGZmZmZmIDw8IDEyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0lBMzJfVFNDREVBRExJTkUgMHgwMDAwMDZlMAogI2RlZmluZSBNU1JfSUEzMl9VQ09ERV9XUklURSAweDAwMDAwMDc5CkBAIC0zNjQsMjAxICszNjksMjMzIEBACiAjZGVmaW5lIFRIRVJNX0xPR19USFJFU0hPTEQwICgxIDw8IDcpCiAjZGVmaW5lIFRIRVJNX1NUQVRVU19USFJFU0hPTEQxICgxIDw8IDgpCiAjZGVmaW5lIFRIRVJNX0xPR19USFJFU0hPTEQxICgxIDw8IDkpCi0jZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0ZBU1RfU1RSSU5HICgxVUxMIDw8IDApCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0ZBU1RfU1RSSU5HX0JJVCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UQ0MgKDFVTEwgPDwgMSkKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRU1PTiAoMVVMTCA8PCA3KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9CVFNfVU5BVkFJTCAoMVVMTCA8PCAxMSkKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfUEVCU19VTkFWQUlMICgxVUxMIDw8IDEyKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9GQVNUX1NUUklORyAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9GQVNUX1NUUklOR19CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1RDQ19CSVQgMQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UQ0MgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfVENDX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRU1PTl9CSVQgNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRU5IQU5DRURfU1BFRURTVEVQICgxVUxMIDw8IDE2KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9NV0FJVCAoMVVMTCA8PCAxOCkKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfTElNSVRfQ1BVSUQgKDFVTEwgPDwgMjIpCi0jZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1hUUFJfRElTQUJMRSAoMVVMTCA8PCAyMykKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRU1PTiAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9FTU9OX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfQlRTX1VOQVZBSUxfQklUIDExCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0JUU19VTkFWQUlMICgxVUxMIDw8IE1TUl9JQTMyX01JU0NfRU5BQkxFX0JUU19VTkFWQUlMX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfUEVCU19VTkFWQUlMX0JJVCAxMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfWERfRElTQUJMRSAoMVVMTCA8PCAzNCkKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfWDg3X0NPTVBBVCAoMVVMTCA8PCAyKQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UTTEgKDFVTEwgPDwgMykKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfU1BMSVRfTE9DS19ESVNBQkxFICgxVUxMIDw8IDQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1BFQlNfVU5BVkFJTCAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9QRUJTX1VOQVZBSUxfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9FTkhBTkNFRF9TUEVFRFNURVBfQklUIDE2CisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0VOSEFOQ0VEX1NQRUVEU1RFUCAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9FTkhBTkNFRF9TUEVFRFNURVBfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9NV0FJVF9CSVQgMTgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0wzQ0FDSEVfRElTQUJMRSAoMVVMTCA8PCA2KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TVVBQUkVTU19MT0NLICgxVUxMIDw8IDgpCi0jZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1BSRUZFVENIX0RJU0FCTEUgKDFVTEwgPDwgOSkKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRkVSUiAoMVVMTCA8PCAxMCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfTVdBSVQgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfTVdBSVRfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9MSU1JVF9DUFVJRF9CSVQgMjIKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfTElNSVRfQ1BVSUQgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfTElNSVRfQ1BVSURfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9YVFBSX0RJU0FCTEVfQklUIDIzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9GRVJSX01VTFRJUExFWCAoMVVMTCA8PCAxMCkKLSNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfVE0yICgxVUxMIDw8IDEzKQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9BREpfUFJFRl9ESVNBQkxFICgxVUxMIDw8IDE5KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TUEVFRFNURVBfTE9DSyAoMVVMTCA8PCAyMCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfWFRQUl9ESVNBQkxFICgxVUxMIDw8IE1TUl9JQTMyX01JU0NfRU5BQkxFX1hUUFJfRElTQUJMRV9CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1hEX0RJU0FCTEVfQklUIDM0CisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1hEX0RJU0FCTEUgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfWERfRElTQUJMRV9CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1g4N19DT01QQVRfQklUIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0wxRF9DT05URVhUICgxVUxMIDw8IDI0KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9EQ1VfUFJFRl9ESVNBQkxFICgxVUxMIDw8IDM3KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UVVJCT19ESVNBQkxFICgxVUxMIDw8IDM4KQotI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9JUF9QUkVGX0RJU0FCTEUgKDFVTEwgPDwgMzkpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1g4N19DT01QQVQgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfWDg3X0NPTVBBVF9CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1RNMV9CSVQgMworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UTTEgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfVE0xX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfU1BMSVRfTE9DS19ESVNBQkxFX0JJVCA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TUExJVF9MT0NLX0RJU0FCTEUgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfU1BMSVRfTE9DS19ESVNBQkxFX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfTDNDQUNIRV9ESVNBQkxFX0JJVCA2CisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0wzQ0FDSEVfRElTQUJMRSAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9MM0NBQ0hFX0RJU0FCTEVfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TVVBQUkVTU19MT0NLX0JJVCA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TVVBQUkVTU19MT0NLICgxVUxMIDw8IE1TUl9JQTMyX01JU0NfRU5BQkxFX1NVUFBSRVNTX0xPQ0tfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9QUkVGRVRDSF9ESVNBQkxFX0JJVCA5CisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX1BSRUZFVENIX0RJU0FCTEUgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfUFJFRkVUQ0hfRElTQUJMRV9CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0ZFUlJfQklUIDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9GRVJSICgxVUxMIDw8IE1TUl9JQTMyX01JU0NfRU5BQkxFX0ZFUlJfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9GRVJSX01VTFRJUExFWF9CSVQgMTAKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRkVSUl9NVUxUSVBMRVggKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfRkVSUl9NVUxUSVBMRVhfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UTTJfQklUIDEzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UTTIgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfVE0yX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfQURKX1BSRUZfRElTQUJMRV9CSVQgMTkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfQURKX1BSRUZfRElTQUJMRSAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9BREpfUFJFRl9ESVNBQkxFX0JJVCkKKyNkZWZpbmUgTVNSX0lBMzJfTUlTQ19FTkFCTEVfU1BFRURTVEVQX0xPQ0tfQklUIDIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TUEVFRFNURVBfTE9DSyAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9TUEVFRFNURVBfTE9DS19CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0wxRF9DT05URVhUX0JJVCAyNAorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9MMURfQ09OVEVYVCAoMVVMTCA8PCBNU1JfSUEzMl9NSVNDX0VOQUJMRV9MMURfQ09OVEVYVF9CSVQpCisjZGVmaW5lIE1TUl9JQTMyX01JU0NfRU5BQkxFX0RDVV9QUkVGX0RJU0FCTEVfQklUIDM3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9EQ1VfUFJFRl9ESVNBQkxFICgxVUxMIDw8IE1TUl9JQTMyX01JU0NfRU5BQkxFX0RDVV9QUkVGX0RJU0FCTEVfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UVVJCT19ESVNBQkxFX0JJVCAzOAorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9UVVJCT19ESVNBQkxFICgxVUxMIDw8IE1TUl9JQTMyX01JU0NfRU5BQkxFX1RVUkJPX0RJU0FCTEVfQklUKQorI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9JUF9QUkVGX0RJU0FCTEVfQklUIDM5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9NSVNDX0VOQUJMRV9JUF9QUkVGX0RJU0FCTEUgKDFVTEwgPDwgTVNSX0lBMzJfTUlTQ19FTkFCTEVfSVBfUFJFRl9ESVNBQkxFX0JJVCkKICNkZWZpbmUgTVNSX0lBMzJfVFNDX0RFQURMSU5FIDB4MDAwMDA2RTAKICNkZWZpbmUgTVNSX0lBMzJfTUNHX0VBWCAweDAwMDAwMTgwCiAjZGVmaW5lIE1TUl9JQTMyX01DR19FQlggMHgwMDAwMDE4MQotI2RlZmluZSBNU1JfSUEzMl9NQ0dfRUNYIDB4MDAwMDAxODIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9JQTMyX01DR19FQ1ggMHgwMDAwMDE4MgogI2RlZmluZSBNU1JfSUEzMl9NQ0dfRURYIDB4MDAwMDAxODMKICNkZWZpbmUgTVNSX0lBMzJfTUNHX0VTSSAweDAwMDAwMTg0CiAjZGVmaW5lIE1TUl9JQTMyX01DR19FREkgMHgwMDAwMDE4NQotI2RlZmluZSBNU1JfSUEzMl9NQ0dfRUJQIDB4MDAwMDAxODYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9JQTMyX01DR19FQlAgMHgwMDAwMDE4NgogI2RlZmluZSBNU1JfSUEzMl9NQ0dfRVNQIDB4MDAwMDAxODcKICNkZWZpbmUgTVNSX0lBMzJfTUNHX0VGTEFHUyAweDAwMDAwMTg4CiAjZGVmaW5lIE1TUl9JQTMyX01DR19FSVAgMHgwMDAwMDE4OQotI2RlZmluZSBNU1JfSUEzMl9NQ0dfUkVTRVJWRUQgMHgwMDAwMDE4YQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX0lBMzJfTUNHX1JFU0VSVkVEIDB4MDAwMDAxOGEKICNkZWZpbmUgTVNSX1A0X0JQVV9QRVJGQ1RSMCAweDAwMDAwMzAwCiAjZGVmaW5lIE1TUl9QNF9CUFVfUEVSRkNUUjEgMHgwMDAwMDMwMQogI2RlZmluZSBNU1JfUDRfQlBVX1BFUkZDVFIyIDB4MDAwMDAzMDIKLSNkZWZpbmUgTVNSX1A0X0JQVV9QRVJGQ1RSMyAweDAwMDAwMzAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfUDRfQlBVX1BFUkZDVFIzIDB4MDAwMDAzMDMKICNkZWZpbmUgTVNSX1A0X01TX1BFUkZDVFIwIDB4MDAwMDAzMDQKICNkZWZpbmUgTVNSX1A0X01TX1BFUkZDVFIxIDB4MDAwMDAzMDUKICNkZWZpbmUgTVNSX1A0X01TX1BFUkZDVFIyIDB4MDAwMDAzMDYKLSNkZWZpbmUgTVNSX1A0X01TX1BFUkZDVFIzIDB4MDAwMDAzMDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9QNF9NU19QRVJGQ1RSMyAweDAwMDAwMzA3CiAjZGVmaW5lIE1TUl9QNF9GTEFNRV9QRVJGQ1RSMCAweDAwMDAwMzA4CiAjZGVmaW5lIE1TUl9QNF9GTEFNRV9QRVJGQ1RSMSAweDAwMDAwMzA5CiAjZGVmaW5lIE1TUl9QNF9GTEFNRV9QRVJGQ1RSMiAweDAwMDAwMzBhCi0jZGVmaW5lIE1TUl9QNF9GTEFNRV9QRVJGQ1RSMyAweDAwMDAwMzBiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfUDRfRkxBTUVfUEVSRkNUUjMgMHgwMDAwMDMwYgogI2RlZmluZSBNU1JfUDRfSVFfUEVSRkNUUjAgMHgwMDAwMDMwYwogI2RlZmluZSBNU1JfUDRfSVFfUEVSRkNUUjEgMHgwMDAwMDMwZAogI2RlZmluZSBNU1JfUDRfSVFfUEVSRkNUUjIgMHgwMDAwMDMwZQotI2RlZmluZSBNU1JfUDRfSVFfUEVSRkNUUjMgMHgwMDAwMDMwZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0lRX1BFUkZDVFIzIDB4MDAwMDAzMGYKICNkZWZpbmUgTVNSX1A0X0lRX1BFUkZDVFI0IDB4MDAwMDAzMTAKICNkZWZpbmUgTVNSX1A0X0lRX1BFUkZDVFI1IDB4MDAwMDAzMTEKICNkZWZpbmUgTVNSX1A0X0JQVV9DQ0NSMCAweDAwMDAwMzYwCi0jZGVmaW5lIE1TUl9QNF9CUFVfQ0NDUjEgMHgwMDAwMDM2MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0JQVV9DQ0NSMSAweDAwMDAwMzYxCiAjZGVmaW5lIE1TUl9QNF9CUFVfQ0NDUjIgMHgwMDAwMDM2MgogI2RlZmluZSBNU1JfUDRfQlBVX0NDQ1IzIDB4MDAwMDAzNjMKICNkZWZpbmUgTVNSX1A0X01TX0NDQ1IwIDB4MDAwMDAzNjQKLSNkZWZpbmUgTVNSX1A0X01TX0NDQ1IxIDB4MDAwMDAzNjUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9QNF9NU19DQ0NSMSAweDAwMDAwMzY1CiAjZGVmaW5lIE1TUl9QNF9NU19DQ0NSMiAweDAwMDAwMzY2CiAjZGVmaW5lIE1TUl9QNF9NU19DQ0NSMyAweDAwMDAwMzY3CiAjZGVmaW5lIE1TUl9QNF9GTEFNRV9DQ0NSMCAweDAwMDAwMzY4Ci0jZGVmaW5lIE1TUl9QNF9GTEFNRV9DQ0NSMSAweDAwMDAwMzY5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfUDRfRkxBTUVfQ0NDUjEgMHgwMDAwMDM2OQogI2RlZmluZSBNU1JfUDRfRkxBTUVfQ0NDUjIgMHgwMDAwMDM2YQogI2RlZmluZSBNU1JfUDRfRkxBTUVfQ0NDUjMgMHgwMDAwMDM2YgogI2RlZmluZSBNU1JfUDRfSVFfQ0NDUjAgMHgwMDAwMDM2YwotI2RlZmluZSBNU1JfUDRfSVFfQ0NDUjEgMHgwMDAwMDM2ZAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0lRX0NDQ1IxIDB4MDAwMDAzNmQKICNkZWZpbmUgTVNSX1A0X0lRX0NDQ1IyIDB4MDAwMDAzNmUKICNkZWZpbmUgTVNSX1A0X0lRX0NDQ1IzIDB4MDAwMDAzNmYKICNkZWZpbmUgTVNSX1A0X0lRX0NDQ1I0IDB4MDAwMDAzNzAKLSNkZWZpbmUgTVNSX1A0X0lRX0NDQ1I1IDB4MDAwMDAzNzEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9QNF9JUV9DQ0NSNSAweDAwMDAwMzcxCiAjZGVmaW5lIE1TUl9QNF9BTEZfRVNDUjAgMHgwMDAwMDNjYQogI2RlZmluZSBNU1JfUDRfQUxGX0VTQ1IxIDB4MDAwMDAzY2IKICNkZWZpbmUgTVNSX1A0X0JQVV9FU0NSMCAweDAwMDAwM2IyCi0jZGVmaW5lIE1TUl9QNF9CUFVfRVNDUjEgMHgwMDAwMDNiMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0JQVV9FU0NSMSAweDAwMDAwM2IzCiAjZGVmaW5lIE1TUl9QNF9CU1VfRVNDUjAgMHgwMDAwMDNhMAogI2RlZmluZSBNU1JfUDRfQlNVX0VTQ1IxIDB4MDAwMDAzYTEKICNkZWZpbmUgTVNSX1A0X0NSVV9FU0NSMCAweDAwMDAwM2I4Ci0jZGVmaW5lIE1TUl9QNF9DUlVfRVNDUjEgMHgwMDAwMDNiOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0NSVV9FU0NSMSAweDAwMDAwM2I5CiAjZGVmaW5lIE1TUl9QNF9DUlVfRVNDUjIgMHgwMDAwMDNjYwogI2RlZmluZSBNU1JfUDRfQ1JVX0VTQ1IzIDB4MDAwMDAzY2QKICNkZWZpbmUgTVNSX1A0X0NSVV9FU0NSNCAweDAwMDAwM2UwCi0jZGVmaW5lIE1TUl9QNF9DUlVfRVNDUjUgMHgwMDAwMDNlMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0NSVV9FU0NSNSAweDAwMDAwM2UxCiAjZGVmaW5lIE1TUl9QNF9EQUNfRVNDUjAgMHgwMDAwMDNhOAogI2RlZmluZSBNU1JfUDRfREFDX0VTQ1IxIDB4MDAwMDAzYTkKICNkZWZpbmUgTVNSX1A0X0ZJUk1fRVNDUjAgMHgwMDAwMDNhNAotI2RlZmluZSBNU1JfUDRfRklSTV9FU0NSMSAweDAwMDAwM2E1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfUDRfRklSTV9FU0NSMSAweDAwMDAwM2E1CiAjZGVmaW5lIE1TUl9QNF9GTEFNRV9FU0NSMCAweDAwMDAwM2E2CiAjZGVmaW5lIE1TUl9QNF9GTEFNRV9FU0NSMSAweDAwMDAwM2E3CiAjZGVmaW5lIE1TUl9QNF9GU0JfRVNDUjAgMHgwMDAwMDNhMgotI2RlZmluZSBNU1JfUDRfRlNCX0VTQ1IxIDB4MDAwMDAzYTMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9QNF9GU0JfRVNDUjEgMHgwMDAwMDNhMwogI2RlZmluZSBNU1JfUDRfSVFfRVNDUjAgMHgwMDAwMDNiYQogI2RlZmluZSBNU1JfUDRfSVFfRVNDUjEgMHgwMDAwMDNiYgogI2RlZmluZSBNU1JfUDRfSVNfRVNDUjAgMHgwMDAwMDNiNAotI2RlZmluZSBNU1JfUDRfSVNfRVNDUjEgMHgwMDAwMDNiNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X0lTX0VTQ1IxIDB4MDAwMDAzYjUKICNkZWZpbmUgTVNSX1A0X0lUTEJfRVNDUjAgMHgwMDAwMDNiNgogI2RlZmluZSBNU1JfUDRfSVRMQl9FU0NSMSAweDAwMDAwM2I3CiAjZGVmaW5lIE1TUl9QNF9JWF9FU0NSMCAweDAwMDAwM2M4Ci0jZGVmaW5lIE1TUl9QNF9JWF9FU0NSMSAweDAwMDAwM2M5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfUDRfSVhfRVNDUjEgMHgwMDAwMDNjOQogI2RlZmluZSBNU1JfUDRfTU9CX0VTQ1IwIDB4MDAwMDAzYWEKICNkZWZpbmUgTVNSX1A0X01PQl9FU0NSMSAweDAwMDAwM2FiCiAjZGVmaW5lIE1TUl9QNF9NU19FU0NSMCAweDAwMDAwM2MwCi0jZGVmaW5lIE1TUl9QNF9NU19FU0NSMSAweDAwMDAwM2MxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfUDRfTVNfRVNDUjEgMHgwMDAwMDNjMQogI2RlZmluZSBNU1JfUDRfUE1IX0VTQ1IwIDB4MDAwMDAzYWMKICNkZWZpbmUgTVNSX1A0X1BNSF9FU0NSMSAweDAwMDAwM2FkCiAjZGVmaW5lIE1TUl9QNF9SQVRfRVNDUjAgMHgwMDAwMDNiYwotI2RlZmluZSBNU1JfUDRfUkFUX0VTQ1IxIDB4MDAwMDAzYmQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9QNF9SQVRfRVNDUjEgMHgwMDAwMDNiZAogI2RlZmluZSBNU1JfUDRfU0FBVF9FU0NSMCAweDAwMDAwM2FlCiAjZGVmaW5lIE1TUl9QNF9TQUFUX0VTQ1IxIDB4MDAwMDAzYWYKICNkZWZpbmUgTVNSX1A0X1NTVV9FU0NSMCAweDAwMDAwM2JlCi0jZGVmaW5lIE1TUl9QNF9TU1VfRVNDUjEgMHgwMDAwMDNiZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X1NTVV9FU0NSMSAweDAwMDAwM2JmCiAjZGVmaW5lIE1TUl9QNF9UQlBVX0VTQ1IwIDB4MDAwMDAzYzIKICNkZWZpbmUgTVNSX1A0X1RCUFVfRVNDUjEgMHgwMDAwMDNjMwogI2RlZmluZSBNU1JfUDRfVENfRVNDUjAgMHgwMDAwMDNjNAotI2RlZmluZSBNU1JfUDRfVENfRVNDUjEgMHgwMDAwMDNjNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX1A0X1RDX0VTQ1IxIDB4MDAwMDAzYzUKICNkZWZpbmUgTVNSX1A0X1UyTF9FU0NSMCAweDAwMDAwM2IwCiAjZGVmaW5lIE1TUl9QNF9VMkxfRVNDUjEgMHgwMDAwMDNiMQogI2RlZmluZSBNU1JfUDRfUEVCU19NQVRSSVhfVkVSVCAweDAwMDAwM2YyCi0jZGVmaW5lIE1TUl9DT1JFX1BFUkZfRklYRURfQ1RSMCAweDAwMDAwMzA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfQ09SRV9QRVJGX0ZJWEVEX0NUUjAgMHgwMDAwMDMwOQogI2RlZmluZSBNU1JfQ09SRV9QRVJGX0ZJWEVEX0NUUjEgMHgwMDAwMDMwYQogI2RlZmluZSBNU1JfQ09SRV9QRVJGX0ZJWEVEX0NUUjIgMHgwMDAwMDMwYgogI2RlZmluZSBNU1JfQ09SRV9QRVJGX0ZJWEVEX0NUUl9DVFJMIDB4MDAwMDAzOGQKLSNkZWZpbmUgTVNSX0NPUkVfUEVSRl9HTE9CQUxfU1RBVFVTIDB4MDAwMDAzOGUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9DT1JFX1BFUkZfR0xPQkFMX1NUQVRVUyAweDAwMDAwMzhlCiAjZGVmaW5lIE1TUl9DT1JFX1BFUkZfR0xPQkFMX0NUUkwgMHgwMDAwMDM4ZgogI2RlZmluZSBNU1JfQ09SRV9QRVJGX0dMT0JBTF9PVkZfQ1RSTCAweDAwMDAwMzkwCiAjZGVmaW5lIE1TUl9HRU9ERV9CVVNDT05UX0NPTkYwIDB4MDAwMDE5MDAKLSNkZWZpbmUgTVNSX0lBMzJfVk1YX0JBU0lDIDB4MDAwMDA0ODAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9JQTMyX1ZNWF9CQVNJQyAweDAwMDAwNDgwCiAjZGVmaW5lIE1TUl9JQTMyX1ZNWF9QSU5CQVNFRF9DVExTIDB4MDAwMDA0ODEKICNkZWZpbmUgTVNSX0lBMzJfVk1YX1BST0NCQVNFRF9DVExTIDB4MDAwMDA0ODIKICNkZWZpbmUgTVNSX0lBMzJfVk1YX0VYSVRfQ1RMUyAweDAwMDAwNDgzCi0jZGVmaW5lIE1TUl9JQTMyX1ZNWF9FTlRSWV9DVExTIDB4MDAwMDA0ODQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1TUl9JQTMyX1ZNWF9FTlRSWV9DVExTIDB4MDAwMDA0ODQKICNkZWZpbmUgTVNSX0lBMzJfVk1YX01JU0MgMHgwMDAwMDQ4NQogI2RlZmluZSBNU1JfSUEzMl9WTVhfQ1IwX0ZJWEVEMCAweDAwMDAwNDg2CiAjZGVmaW5lIE1TUl9JQTMyX1ZNWF9DUjBfRklYRUQxIDB4MDAwMDA0ODcKLSNkZWZpbmUgTVNSX0lBMzJfVk1YX0NSNF9GSVhFRDAgMHgwMDAwMDQ4OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVNSX0lBMzJfVk1YX0NSNF9GSVhFRDAgMHgwMDAwMDQ4OAogI2RlZmluZSBNU1JfSUEzMl9WTVhfQ1I0X0ZJWEVEMSAweDAwMDAwNDg5CiAjZGVmaW5lIE1TUl9JQTMyX1ZNWF9WTUNTX0VOVU0gMHgwMDAwMDQ4YQogI2RlZmluZSBNU1JfSUEzMl9WTVhfUFJPQ0JBU0VEX0NUTFMyIDB4MDAwMDA0OGIKLSNkZWZpbmUgTVNSX0lBMzJfVk1YX0VQVF9WUElEX0NBUCAweDAwMDAwNDhjCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9WTVhfRVBUX1ZQSURfQ0FQIDB4MDAwMDA0OGMKICNkZWZpbmUgTVNSX0lBMzJfVk1YX1RSVUVfUElOQkFTRURfQ1RMUyAweDAwMDAwNDhkCiAjZGVmaW5lIE1TUl9JQTMyX1ZNWF9UUlVFX1BST0NCQVNFRF9DVExTIDB4MDAwMDA0OGUKICNkZWZpbmUgTVNSX0lBMzJfVk1YX1RSVUVfRVhJVF9DVExTIDB4MDAwMDA0OGYKLSNkZWZpbmUgTVNSX0lBMzJfVk1YX1RSVUVfRU5UUllfQ1RMUyAweDAwMDAwNDkwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU1JfSUEzMl9WTVhfVFJVRV9FTlRSWV9DVExTIDB4MDAwMDA0OTAKICNkZWZpbmUgTVNSX0lBMzJfVk1YX1ZNRlVOQyAweDAwMDAwNDkxCiAjZGVmaW5lIFZNWF9CQVNJQ19WTUNTX1NJWkVfU0hJRlQgMzIKKyNkZWZpbmUgVk1YX0JBU0lDX1RSVUVfQ1RMUyAoMVVMTCA8PCA1NSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZNWF9CQVNJQ182NCAweDAwMDEwMDAwMDAwMDAwMDBMTFUKICNkZWZpbmUgVk1YX0JBU0lDX01FTV9UWVBFX1NISUZUIDUwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWTVhfQkFTSUNfTUVNX1RZUEVfTUFTSyAweDAwM2MwMDAwMDAwMDAwMDBMTFUKICNkZWZpbmUgVk1YX0JBU0lDX01FTV9UWVBFX1dCIDZMTFUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZNWF9CQVNJQ19JTk9VVCAweDAwNDAwMDAwMDAwMDAwMDBMTFUKICNkZWZpbmUgTVNSX0lBMzJfVk1YX01JU0NfVk1XUklURV9TSEFET1dfUk9fRklFTERTICgxVUxMIDw8IDI5KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNSX0lBMzJfVk1YX01JU0NfUFJFRU1QVElPTl9USU1FUl9TQ0FMRSAweDFGCiAjZGVmaW5lIE1TUl9WTV9DUiAweGMwMDEwMTE0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU1JfVk1fSUdOTkUgMHhjMDAxMDExNQogI2RlZmluZSBNU1JfVk1fSFNBVkVfUEEgMHhjMDAxMDExNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9tdHJyLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL210cnIuaAppbmRleCAxZmQxMDFjLi4xMzVmYTMzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL210cnIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL210cnIuaApAQCAtMjYsNTQgKzI2LDU0IEBACiAjaWZkZWYgX19pMzg2X18KIHN0cnVjdCBtdHJyX3NlbnRyeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgYmFzZTsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKLSB1bnNpZ25lZCBpbnQgdHlwZTsKKyAgdW5zaWduZWQgbG9uZyBiYXNlOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgdW5zaWduZWQgaW50IHR5cGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtdHJyX2dlbnRyeSB7Ci0gdW5zaWduZWQgaW50IHJlZ251bTsKLSB1bnNpZ25lZCBsb25nIGJhc2U7Ci0gdW5zaWduZWQgaW50IHNpemU7CisgIHVuc2lnbmVkIGludCByZWdudW07CisgIHVuc2lnbmVkIGxvbmcgYmFzZTsKKyAgdW5zaWduZWQgaW50IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0eXBlOworICB1bnNpZ25lZCBpbnQgdHlwZTsKIH07CiAjZWxzZQogc3RydWN0IG10cnJfc2VudHJ5IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYmFzZTsKLSBfX3UzMiBzaXplOwotIF9fdTMyIHR5cGU7CisgIF9fdTY0IGJhc2U7CisgIF9fdTMyIHNpemU7CisgIF9fdTMyIHR5cGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtdHJyX2dlbnRyeSB7Ci0gX191NjQgYmFzZTsKLSBfX3UzMiBzaXplOwotIF9fdTMyIHJlZ251bTsKKyAgX191NjQgYmFzZTsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgcmVnbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIF9fdTMyIF9wYWQ7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIF9wYWQ7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG10cnJfdmFyX3JhbmdlIHsKLSBfX3UzMiBiYXNlX2xvOwotIF9fdTMyIGJhc2VfaGk7Ci0gX191MzIgbWFza19sbzsKKyAgX191MzIgYmFzZV9sbzsKKyAgX191MzIgYmFzZV9oaTsKKyAgX191MzIgbWFza19sbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWFza19oaTsKKyAgX191MzIgbWFza19oaTsKIH07CiB0eXBlZGVmIF9fdTggbXRycl90eXBlOwogI2RlZmluZSBNVFJSX05VTV9GSVhFRF9SQU5HRVMgODgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1UUlJfTUFYX1ZBUl9SQU5HRVMgMjU2CiBzdHJ1Y3QgbXRycl9zdGF0ZV90eXBlIHsKLSBzdHJ1Y3QgbXRycl92YXJfcmFuZ2UgdmFyX3Jhbmdlc1tNVFJSX01BWF9WQVJfUkFOR0VTXTsKLSBtdHJyX3R5cGUgZml4ZWRfcmFuZ2VzW01UUlJfTlVNX0ZJWEVEX1JBTkdFU107CisgIHN0cnVjdCBtdHJyX3Zhcl9yYW5nZSB2YXJfcmFuZ2VzW01UUlJfTUFYX1ZBUl9SQU5HRVNdOworICBtdHJyX3R5cGUgZml4ZWRfcmFuZ2VzW01UUlJfTlVNX0ZJWEVEX1JBTkdFU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZW5hYmxlZDsKLSB1bnNpZ25lZCBjaGFyIGhhdmVfZml4ZWQ7Ci0gbXRycl90eXBlIGRlZl90eXBlOworICB1bnNpZ25lZCBjaGFyIGVuYWJsZWQ7CisgIHVuc2lnbmVkIGNoYXIgaGF2ZV9maXhlZDsKKyAgbXRycl90eXBlIGRlZl90eXBlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1UUlJwaHlzQmFzZV9NU1IocmVnKSAoMHgyMDAgKyAyICogKHJlZykpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3BlcmZfcmVncy5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9wZXJmX3JlZ3MuaAppbmRleCA2MWRiNGUwLi5hNjUxOTE5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3BlcmZfcmVncy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vcGVyZl9yZWdzLmgKQEAgLTE5LDM4ICsxOSwzOCBAQAogI2lmbmRlZiBfQVNNX1g4Nl9QRVJGX1JFR1NfSAogI2RlZmluZSBfQVNNX1g4Nl9QRVJGX1JFR1NfSAogZW51bSBwZXJmX2V2ZW50X3g4Nl9yZWdzIHsKLSBQRVJGX1JFR19YODZfQVgsCisgIFBFUkZfUkVHX1g4Nl9BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9SRUdfWDg2X0JYLAotIFBFUkZfUkVHX1g4Nl9DWCwKLSBQRVJGX1JFR19YODZfRFgsCi0gUEVSRl9SRUdfWDg2X1NJLAorICBQRVJGX1JFR19YODZfQlgsCisgIFBFUkZfUkVHX1g4Nl9DWCwKKyAgUEVSRl9SRUdfWDg2X0RYLAorICBQRVJGX1JFR19YODZfU0ksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfUkVHX1g4Nl9ESSwKLSBQRVJGX1JFR19YODZfQlAsCi0gUEVSRl9SRUdfWDg2X1NQLAotIFBFUkZfUkVHX1g4Nl9JUCwKKyAgUEVSRl9SRUdfWDg2X0RJLAorICBQRVJGX1JFR19YODZfQlAsCisgIFBFUkZfUkVHX1g4Nl9TUCwKKyAgUEVSRl9SRUdfWDg2X0lQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1JFR19YODZfRkxBR1MsCi0gUEVSRl9SRUdfWDg2X0NTLAotIFBFUkZfUkVHX1g4Nl9TUywKLSBQRVJGX1JFR19YODZfRFMsCisgIFBFUkZfUkVHX1g4Nl9GTEFHUywKKyAgUEVSRl9SRUdfWDg2X0NTLAorICBQRVJGX1JFR19YODZfU1MsCisgIFBFUkZfUkVHX1g4Nl9EUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9SRUdfWDg2X0VTLAotIFBFUkZfUkVHX1g4Nl9GUywKLSBQRVJGX1JFR19YODZfR1MsCi0gUEVSRl9SRUdfWDg2X1I4LAorICBQRVJGX1JFR19YODZfRVMsCisgIFBFUkZfUkVHX1g4Nl9GUywKKyAgUEVSRl9SRUdfWDg2X0dTLAorICBQRVJGX1JFR19YODZfUjgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfUkVHX1g4Nl9SOSwKLSBQRVJGX1JFR19YODZfUjEwLAotIFBFUkZfUkVHX1g4Nl9SMTEsCi0gUEVSRl9SRUdfWDg2X1IxMiwKKyAgUEVSRl9SRUdfWDg2X1I5LAorICBQRVJGX1JFR19YODZfUjEwLAorICBQRVJGX1JFR19YODZfUjExLAorICBQRVJGX1JFR19YODZfUjEyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1JFR19YODZfUjEzLAotIFBFUkZfUkVHX1g4Nl9SMTQsCi0gUEVSRl9SRUdfWDg2X1IxNSwKLSBQRVJGX1JFR19YODZfMzJfTUFYID0gUEVSRl9SRUdfWDg2X0dTICsgMSwKKyAgUEVSRl9SRUdfWDg2X1IxMywKKyAgUEVSRl9SRUdfWDg2X1IxNCwKKyAgUEVSRl9SRUdfWDg2X1IxNSwKKyAgUEVSRl9SRUdfWDg2XzMyX01BWCA9IFBFUkZfUkVHX1g4Nl9HUyArIDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfUkVHX1g4Nl82NF9NQVggPSBQRVJGX1JFR19YODZfUjE1ICsgMSwKKyAgUEVSRl9SRUdfWDg2XzY0X01BWCA9IFBFUkZfUkVHX1g4Nl9SMTUgKyAxLAogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9wcm9jZXNzb3ItZmxhZ3MuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vcHJvY2Vzc29yLWZsYWdzLmgKaW5kZXggYWVhZDc3OS4uM2MzNmRkYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9wcm9jZXNzb3ItZmxhZ3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3Byb2Nlc3Nvci1mbGFncy5oCkBAIC00Niw3ICs0Niw3IEBACiAjZGVmaW5lIFg4Nl9FRkxBR1NfT0YgX0JJVFVMKFg4Nl9FRkxBR1NfT0ZfQklUKQogI2RlZmluZSBYODZfRUZMQUdTX0lPUExfQklUIDEyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBYODZfRUZMQUdTX0lPUEwgKF9BQygzLFVMKSA8PCBYODZfRUZMQUdTX0lPUExfQklUKQorI2RlZmluZSBYODZfRUZMQUdTX0lPUEwgKF9BQygzLCBVTCkgPDwgWDg2X0VGTEFHU19JT1BMX0JJVCkKICNkZWZpbmUgWDg2X0VGTEFHU19OVF9CSVQgMTQKICNkZWZpbmUgWDg2X0VGTEFHU19OVCBfQklUVUwoWDg2X0VGTEFHU19OVF9CSVQpCiAjZGVmaW5lIFg4Nl9FRkxBR1NfUkZfQklUIDE2CkBAIC05OSw3ICs5OSw3IEBACiAjZGVmaW5lIFg4Nl9DUjNfUFdUIF9CSVRVTChYODZfQ1IzX1BXVF9CSVQpCiAjZGVmaW5lIFg4Nl9DUjNfUENEX0JJVCA0CiAjZGVmaW5lIFg4Nl9DUjNfUENEIF9CSVRVTChYODZfQ1IzX1BDRF9CSVQpCi0jZGVmaW5lIFg4Nl9DUjNfUENJRF9NQVNLIF9BQygweDAwMDAwZmZmLFVMKQorI2RlZmluZSBYODZfQ1IzX1BDSURfTUFTSyBfQUMoMHgwMDAwMGZmZiwgVUwpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYODZfQ1I0X1ZNRV9CSVQgMAogI2RlZmluZSBYODZfQ1I0X1ZNRSBfQklUVUwoWDg2X0NSNF9WTUVfQklUKQpAQCAtMTQ2LDcgKzE0Niw3IEBACiAjZGVmaW5lIFg4Nl9DUjRfU01BUF9CSVQgMjEKICNkZWZpbmUgWDg2X0NSNF9TTUFQIF9CSVRVTChYODZfQ1I0X1NNQVBfQklUKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgWDg2X0NSOF9UUFIgX0FDKDB4MDAwMDAwMGYsVUwpCisjZGVmaW5lIFg4Nl9DUjhfVFBSIF9BQygweDAwMDAwMDBmLCBVTCkKICNkZWZpbmUgQ1g4Nl9QQ1IwIDB4MjAKICNkZWZpbmUgQ1g4Nl9HQ1IgMHhiOAogI2RlZmluZSBDWDg2X0NDUjAgMHhjMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9wdHJhY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vcHRyYWNlLmgKaW5kZXggMmVmYjljNC4uODAyZDgwOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9wdHJhY2UuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3B0cmFjZS5oCkBAIC0yNiw1NyArMjYsNTcgQEAKICNpZmRlZiBfX2kzODZfXwogc3RydWN0IHB0X3JlZ3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIGVieDsKLSBsb25nIGVjeDsKLSBsb25nIGVkeDsKLSBsb25nIGVzaTsKKyAgbG9uZyBlYng7CisgIGxvbmcgZWN4OworICBsb25nIGVkeDsKKyAgbG9uZyBlc2k7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZWRpOwotIGxvbmcgZWJwOwotIGxvbmcgZWF4OwotIGludCB4ZHM7CisgIGxvbmcgZWRpOworICBsb25nIGVicDsKKyAgbG9uZyBlYXg7CisgIGludCB4ZHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB4ZXM7Ci0gaW50IHhmczsKLSBpbnQgeGdzOwotIGxvbmcgb3JpZ19lYXg7CisgIGludCB4ZXM7CisgIGludCB4ZnM7CisgIGludCB4Z3M7CisgIGxvbmcgb3JpZ19lYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZWlwOwotIGludCB4Y3M7Ci0gbG9uZyBlZmxhZ3M7Ci0gbG9uZyBlc3A7CisgIGxvbmcgZWlwOworICBpbnQgeGNzOworICBsb25nIGVmbGFnczsKKyAgbG9uZyBlc3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB4c3M7CisgIGludCB4c3M7CiB9OwogI2Vsc2UKIHN0cnVjdCBwdF9yZWdzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyByMTU7Ci0gdW5zaWduZWQgbG9uZyByMTQ7Ci0gdW5zaWduZWQgbG9uZyByMTM7Ci0gdW5zaWduZWQgbG9uZyByMTI7CisgIHVuc2lnbmVkIGxvbmcgcjE1OworICB1bnNpZ25lZCBsb25nIHIxNDsKKyAgdW5zaWduZWQgbG9uZyByMTM7CisgIHVuc2lnbmVkIGxvbmcgcjEyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHJicDsKLSB1bnNpZ25lZCBsb25nIHJieDsKLSB1bnNpZ25lZCBsb25nIHIxMTsKLSB1bnNpZ25lZCBsb25nIHIxMDsKKyAgdW5zaWduZWQgbG9uZyByYnA7CisgIHVuc2lnbmVkIGxvbmcgcmJ4OworICB1bnNpZ25lZCBsb25nIHIxMTsKKyAgdW5zaWduZWQgbG9uZyByMTA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgcjk7Ci0gdW5zaWduZWQgbG9uZyByODsKLSB1bnNpZ25lZCBsb25nIHJheDsKLSB1bnNpZ25lZCBsb25nIHJjeDsKKyAgdW5zaWduZWQgbG9uZyByOTsKKyAgdW5zaWduZWQgbG9uZyByODsKKyAgdW5zaWduZWQgbG9uZyByYXg7CisgIHVuc2lnbmVkIGxvbmcgcmN4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHJkeDsKLSB1bnNpZ25lZCBsb25nIHJzaTsKLSB1bnNpZ25lZCBsb25nIHJkaTsKLSB1bnNpZ25lZCBsb25nIG9yaWdfcmF4OworICB1bnNpZ25lZCBsb25nIHJkeDsKKyAgdW5zaWduZWQgbG9uZyByc2k7CisgIHVuc2lnbmVkIGxvbmcgcmRpOworICB1bnNpZ25lZCBsb25nIG9yaWdfcmF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHJpcDsKLSB1bnNpZ25lZCBsb25nIGNzOwotIHVuc2lnbmVkIGxvbmcgZWZsYWdzOwotIHVuc2lnbmVkIGxvbmcgcnNwOworICB1bnNpZ25lZCBsb25nIHJpcDsKKyAgdW5zaWduZWQgbG9uZyBjczsKKyAgdW5zaWduZWQgbG9uZyBlZmxhZ3M7CisgIHVuc2lnbmVkIGxvbmcgcnNwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHNzOworICB1bnNpZ25lZCBsb25nIHNzOwogfTsKICNlbmRpZgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3NlbWJ1Zi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zZW1idWYuaAppbmRleCA0MWQzYjJhLi5iN2MwZGJlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3NlbWJ1Zi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc2VtYnVmLmgKQEAgLTE5LDE2ICsxOSwxNiBAQAogI2lmbmRlZiBfQVNNX1g4Nl9TRU1CVUZfSAogI2RlZmluZSBfQVNNX1g4Nl9TRU1CVUZfSAogc3RydWN0IHNlbWlkNjRfZHMgewotIHN0cnVjdCBpcGM2NF9wZXJtIHNlbV9wZXJtOworICBzdHJ1Y3QgaXBjNjRfcGVybSBzZW1fcGVybTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdGltZV90IHNlbV9vdGltZTsKLSBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkMTsKLSBfX2tlcm5lbF90aW1lX3Qgc2VtX2N0aW1lOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQyOworICBfX2tlcm5lbF90aW1lX3Qgc2VtX290aW1lOworICBfX2tlcm5lbF91bG9uZ190IF9fdW51c2VkMTsKKyAgX19rZXJuZWxfdGltZV90IHNlbV9jdGltZTsKKyAgX19rZXJuZWxfdWxvbmdfdCBfX3VudXNlZDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3Vsb25nX3Qgc2VtX25zZW1zOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQzOwotIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ0OworICBfX2tlcm5lbF91bG9uZ190IHNlbV9uc2VtczsKKyAgX19rZXJuZWxfdWxvbmdfdCBfX3VudXNlZDM7CisgIF9fa2VybmVsX3Vsb25nX3QgX191bnVzZWQ0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc2lnY29udGV4dC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zaWdjb250ZXh0LmgKaW5kZXggN2ZlMzEyOC4uYjkyNWQ0NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zaWdjb250ZXh0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zaWdjb250ZXh0LmgKQEAgLTI2LDE2OCArMjYsMTY4IEBACiAjZGVmaW5lIEZQX1hTVEFURV9NQUdJQzJfU0laRSBzaXplb2YoRlBfWFNUQVRFX01BR0lDMikKIHN0cnVjdCBfZnB4X3N3X2J5dGVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWFnaWMxOwotIF9fdTMyIGV4dGVuZGVkX3NpemU7Ci0gX191NjQgeHN0YXRlX2J2OwotIF9fdTMyIHhzdGF0ZV9zaXplOworICBfX3UzMiBtYWdpYzE7CisgIF9fdTMyIGV4dGVuZGVkX3NpemU7CisgIF9fdTY0IHhzdGF0ZV9idjsKKyAgX191MzIgeHN0YXRlX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBhZGRpbmdbN107CisgIF9fdTMyIHBhZGRpbmdbN107CiB9OwogI2lmZGVmIF9faTM4Nl9fCiBzdHJ1Y3QgX2ZwcmVnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgc2lnbmlmaWNhbmRbNF07Ci0gdW5zaWduZWQgc2hvcnQgZXhwb25lbnQ7CisgIHVuc2lnbmVkIHNob3J0IHNpZ25pZmljYW5kWzRdOworICB1bnNpZ25lZCBzaG9ydCBleHBvbmVudDsKIH07CiBzdHJ1Y3QgX2ZweHJlZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHNpZ25pZmljYW5kWzRdOwotIHVuc2lnbmVkIHNob3J0IGV4cG9uZW50OwotIHVuc2lnbmVkIHNob3J0IHBhZGRpbmdbM107CisgIHVuc2lnbmVkIHNob3J0IHNpZ25pZmljYW5kWzRdOworICB1bnNpZ25lZCBzaG9ydCBleHBvbmVudDsKKyAgdW5zaWduZWQgc2hvcnQgcGFkZGluZ1szXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IF94bW1yZWcgewotIHVuc2lnbmVkIGxvbmcgZWxlbWVudFs0XTsKKyAgdW5zaWduZWQgbG9uZyBlbGVtZW50WzRdOwogfTsKIHN0cnVjdCBfZnBzdGF0ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgY3c7Ci0gdW5zaWduZWQgbG9uZyBzdzsKLSB1bnNpZ25lZCBsb25nIHRhZzsKLSB1bnNpZ25lZCBsb25nIGlwb2ZmOworICB1bnNpZ25lZCBsb25nIGN3OworICB1bnNpZ25lZCBsb25nIHN3OworICB1bnNpZ25lZCBsb25nIHRhZzsKKyAgdW5zaWduZWQgbG9uZyBpcG9mZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBjc3NlbDsKLSB1bnNpZ25lZCBsb25nIGRhdGFvZmY7Ci0gdW5zaWduZWQgbG9uZyBkYXRhc2VsOwotIHN0cnVjdCBfZnByZWcgX3N0WzhdOworICB1bnNpZ25lZCBsb25nIGNzc2VsOworICB1bnNpZ25lZCBsb25nIGRhdGFvZmY7CisgIHVuc2lnbmVkIGxvbmcgZGF0YXNlbDsKKyAgc3RydWN0IF9mcHJlZyBfc3RbOF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHN0YXR1czsKLSB1bnNpZ25lZCBzaG9ydCBtYWdpYzsKLSB1bnNpZ25lZCBsb25nIF9meHNyX2Vudls2XTsKLSB1bnNpZ25lZCBsb25nIG14Y3NyOworICB1bnNpZ25lZCBzaG9ydCBzdGF0dXM7CisgIHVuc2lnbmVkIHNob3J0IG1hZ2ljOworICB1bnNpZ25lZCBsb25nIF9meHNyX2Vudls2XTsKKyAgdW5zaWduZWQgbG9uZyBteGNzcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyByZXNlcnZlZDsKLSBzdHJ1Y3QgX2ZweHJlZyBfZnhzcl9zdFs4XTsKLSBzdHJ1Y3QgX3htbXJlZyBfeG1tWzhdOwotIHVuc2lnbmVkIGxvbmcgcGFkZGluZzFbNDRdOworICB1bnNpZ25lZCBsb25nIHJlc2VydmVkOworICBzdHJ1Y3QgX2ZweHJlZyBfZnhzcl9zdFs4XTsKKyAgc3RydWN0IF94bW1yZWcgX3htbVs4XTsKKyAgdW5zaWduZWQgbG9uZyBwYWRkaW5nMVs0NF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSB1bnNpZ25lZCBsb25nIHBhZGRpbmcyWzEyXTsKLSBzdHJ1Y3QgX2ZweF9zd19ieXRlcyBzd19yZXNlcnZlZDsKLSB9OworICB1bmlvbiB7CisgICAgdW5zaWduZWQgbG9uZyBwYWRkaW5nMlsxMl07CisgICAgc3RydWN0IF9mcHhfc3dfYnl0ZXMgc3dfcmVzZXJ2ZWQ7CisgIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgWDg2X0ZYU1JfTUFHSUMgMHgwMDAwCiBzdHJ1Y3Qgc2lnY29udGV4dCB7Ci0gdW5zaWduZWQgc2hvcnQgZ3MsIF9fZ3NoOworICB1bnNpZ25lZCBzaG9ydCBncywgX19nc2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGZzLCBfX2ZzaDsKLSB1bnNpZ25lZCBzaG9ydCBlcywgX19lc2g7Ci0gdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOwotIHVuc2lnbmVkIGxvbmcgZWRpOworICB1bnNpZ25lZCBzaG9ydCBmcywgX19mc2g7CisgIHVuc2lnbmVkIHNob3J0IGVzLCBfX2VzaDsKKyAgdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOworICB1bnNpZ25lZCBsb25nIGVkaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBlc2k7Ci0gdW5zaWduZWQgbG9uZyBlYnA7Ci0gdW5zaWduZWQgbG9uZyBlc3A7Ci0gdW5zaWduZWQgbG9uZyBlYng7CisgIHVuc2lnbmVkIGxvbmcgZXNpOworICB1bnNpZ25lZCBsb25nIGVicDsKKyAgdW5zaWduZWQgbG9uZyBlc3A7CisgIHVuc2lnbmVkIGxvbmcgZWJ4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGVkeDsKLSB1bnNpZ25lZCBsb25nIGVjeDsKLSB1bnNpZ25lZCBsb25nIGVheDsKLSB1bnNpZ25lZCBsb25nIHRyYXBubzsKKyAgdW5zaWduZWQgbG9uZyBlZHg7CisgIHVuc2lnbmVkIGxvbmcgZWN4OworICB1bnNpZ25lZCBsb25nIGVheDsKKyAgdW5zaWduZWQgbG9uZyB0cmFwbm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgZXJyOwotIHVuc2lnbmVkIGxvbmcgZWlwOwotIHVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKLSB1bnNpZ25lZCBsb25nIGVmbGFnczsKKyAgdW5zaWduZWQgbG9uZyBlcnI7CisgIHVuc2lnbmVkIGxvbmcgZWlwOworICB1bnNpZ25lZCBzaG9ydCBjcywgX19jc2g7CisgIHVuc2lnbmVkIGxvbmcgZWZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGVzcF9hdF9zaWduYWw7Ci0gdW5zaWduZWQgc2hvcnQgc3MsIF9fc3NoOwotIHN0cnVjdCBfZnBzdGF0ZSBfX3VzZXIgKmZwc3RhdGU7Ci0gdW5zaWduZWQgbG9uZyBvbGRtYXNrOworICB1bnNpZ25lZCBsb25nIGVzcF9hdF9zaWduYWw7CisgIHVuc2lnbmVkIHNob3J0IHNzLCBfX3NzaDsKKyAgc3RydWN0IF9mcHN0YXRlIF9fdXNlciAqIGZwc3RhdGU7CisgIHVuc2lnbmVkIGxvbmcgb2xkbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBjcjI7CisgIHVuc2lnbmVkIGxvbmcgY3IyOwogfTsKICNlbHNlCiBzdHJ1Y3QgX2Zwc3RhdGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBjd2Q7Ci0gX191MTYgc3dkOwotIF9fdTE2IHR3ZDsKLSBfX3UxNiBmb3A7CisgIF9fdTE2IGN3ZDsKKyAgX191MTYgc3dkOworICBfX3UxNiB0d2Q7CisgIF9fdTE2IGZvcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmlwOwotIF9fdTY0IHJkcDsKLSBfX3UzMiBteGNzcjsKLSBfX3UzMiBteGNzcl9tYXNrOworICBfX3U2NCByaXA7CisgIF9fdTY0IHJkcDsKKyAgX191MzIgbXhjc3I7CisgIF9fdTMyIG14Y3NyX21hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN0X3NwYWNlWzMyXTsKLSBfX3UzMiB4bW1fc3BhY2VbNjRdOwotIF9fdTMyIHJlc2VydmVkMlsxMl07Ci0gdW5pb24geworICBfX3UzMiBzdF9zcGFjZVszMl07CisgIF9fdTMyIHhtbV9zcGFjZVs2NF07CisgIF9fdTMyIHJlc2VydmVkMlsxMl07CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQzWzEyXTsKLSBzdHJ1Y3QgX2ZweF9zd19ieXRlcyBzd19yZXNlcnZlZDsKLSB9OworICAgIF9fdTMyIHJlc2VydmVkM1sxMl07CisgICAgc3RydWN0IF9mcHhfc3dfYnl0ZXMgc3dfcmVzZXJ2ZWQ7CisgIH07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzaWdjb250ZXh0IHsKLSBfX3U2NCByODsKLSBfX3U2NCByOTsKLSBfX3U2NCByMTA7CisgIF9fdTY0IHI4OworICBfX3U2NCByOTsKKyAgX191NjQgcjEwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByMTE7Ci0gX191NjQgcjEyOwotIF9fdTY0IHIxMzsKLSBfX3U2NCByMTQ7CisgIF9fdTY0IHIxMTsKKyAgX191NjQgcjEyOworICBfX3U2NCByMTM7CisgIF9fdTY0IHIxNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcjE1OwotIF9fdTY0IHJkaTsKLSBfX3U2NCByc2k7Ci0gX191NjQgcmJwOworICBfX3U2NCByMTU7CisgIF9fdTY0IHJkaTsKKyAgX191NjQgcnNpOworICBfX3U2NCByYnA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJieDsKLSBfX3U2NCByZHg7Ci0gX191NjQgcmF4OwotIF9fdTY0IHJjeDsKKyAgX191NjQgcmJ4OworICBfX3U2NCByZHg7CisgIF9fdTY0IHJheDsKKyAgX191NjQgcmN4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByc3A7Ci0gX191NjQgcmlwOwotIF9fdTY0IGVmbGFnczsKLSBfX3UxNiBjczsKKyAgX191NjQgcnNwOworICBfX3U2NCByaXA7CisgIF9fdTY0IGVmbGFnczsKKyAgX191MTYgY3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGdzOwotIF9fdTE2IGZzOwotIF9fdTE2IF9fcGFkMDsKLSBfX3U2NCBlcnI7CisgIF9fdTE2IGdzOworICBfX3UxNiBmczsKKyAgX191MTYgX19wYWQwOworICBfX3U2NCBlcnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHRyYXBubzsKLSBfX3U2NCBvbGRtYXNrOwotIF9fdTY0IGNyMjsKLSBzdHJ1Y3QgX2Zwc3RhdGUgX191c2VyICpmcHN0YXRlOworICBfX3U2NCB0cmFwbm87CisgIF9fdTY0IG9sZG1hc2s7CisgIF9fdTY0IGNyMjsKKyAgc3RydWN0IF9mcHN0YXRlIF9fdXNlciAqIGZwc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmZGVmIF9fSUxQMzJfXwotIF9fdTMyIF9fZnBzdGF0ZV9wYWQ7CisgIF9fdTMyIF9fZnBzdGF0ZV9wYWQ7CiAjZW5kaWYKLSBfX3U2NCByZXNlcnZlZDFbOF07CisgIF9fdTY0IHJlc2VydmVkMVs4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCiBzdHJ1Y3QgX3hzYXZlX2hkciB7Ci0gX191NjQgeHN0YXRlX2J2OworICBfX3U2NCB4c3RhdGVfYnY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlc2VydmVkMVsyXTsKLSBfX3U2NCByZXNlcnZlZDJbNV07CisgIF9fdTY0IHJlc2VydmVkMVsyXTsKKyAgX191NjQgcmVzZXJ2ZWQyWzVdOwogfTsKIHN0cnVjdCBfeW1taF9zdGF0ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHltbWhfc3BhY2VbNjRdOworICBfX3UzMiB5bW1oX3NwYWNlWzY0XTsKIH07CiBzdHJ1Y3QgX3hzdGF0ZSB7Ci0gc3RydWN0IF9mcHN0YXRlIGZwc3RhdGU7CisgIHN0cnVjdCBfZnBzdGF0ZSBmcHN0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgX3hzYXZlX2hkciB4c3RhdGVfaGRyOwotIHN0cnVjdCBfeW1taF9zdGF0ZSB5bW1oOworICBzdHJ1Y3QgX3hzYXZlX2hkciB4c3RhdGVfaGRyOworICBzdHJ1Y3QgX3ltbWhfc3RhdGUgeW1taDsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3NpZ2NvbnRleHQzMi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zaWdjb250ZXh0MzIuaAppbmRleCAzNTU4NWRmLi44ZjM4ZGZkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3NpZ2NvbnRleHQzMi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc2lnY29udGV4dDMyLmgKQEAgLTIyLDc1ICsyMiw3NSBAQAogI2RlZmluZSBYODZfRlhTUl9NQUdJQyAweDAwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgX2ZwcmVnIHsKLSB1bnNpZ25lZCBzaG9ydCBzaWduaWZpY2FuZFs0XTsKLSB1bnNpZ25lZCBzaG9ydCBleHBvbmVudDsKKyAgdW5zaWduZWQgc2hvcnQgc2lnbmlmaWNhbmRbNF07CisgIHVuc2lnbmVkIHNob3J0IGV4cG9uZW50OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgX2ZweHJlZyB7Ci0gdW5zaWduZWQgc2hvcnQgc2lnbmlmaWNhbmRbNF07Ci0gdW5zaWduZWQgc2hvcnQgZXhwb25lbnQ7Ci0gdW5zaWduZWQgc2hvcnQgcGFkZGluZ1szXTsKKyAgdW5zaWduZWQgc2hvcnQgc2lnbmlmaWNhbmRbNF07CisgIHVuc2lnbmVkIHNob3J0IGV4cG9uZW50OworICB1bnNpZ25lZCBzaG9ydCBwYWRkaW5nWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgX3htbXJlZyB7Ci0gX191MzIgZWxlbWVudFs0XTsKKyAgX191MzIgZWxlbWVudFs0XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IF9mcHN0YXRlX2lhMzIgewotIF9fdTMyIGN3OwotIF9fdTMyIHN3OwotIF9fdTMyIHRhZzsKKyAgX191MzIgY3c7CisgIF9fdTMyIHN3OworICBfX3UzMiB0YWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlwb2ZmOwotIF9fdTMyIGNzc2VsOwotIF9fdTMyIGRhdGFvZmY7Ci0gX191MzIgZGF0YXNlbDsKKyAgX191MzIgaXBvZmY7CisgIF9fdTMyIGNzc2VsOworICBfX3UzMiBkYXRhb2ZmOworICBfX3UzMiBkYXRhc2VsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgX2ZwcmVnIF9zdFs4XTsKLSB1bnNpZ25lZCBzaG9ydCBzdGF0dXM7Ci0gdW5zaWduZWQgc2hvcnQgbWFnaWM7Ci0gX191MzIgX2Z4c3JfZW52WzZdOworICBzdHJ1Y3QgX2ZwcmVnIF9zdFs4XTsKKyAgdW5zaWduZWQgc2hvcnQgc3RhdHVzOworICB1bnNpZ25lZCBzaG9ydCBtYWdpYzsKKyAgX191MzIgX2Z4c3JfZW52WzZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBteGNzcjsKLSBfX3UzMiByZXNlcnZlZDsKLSBzdHJ1Y3QgX2ZweHJlZyBfZnhzcl9zdFs4XTsKLSBzdHJ1Y3QgX3htbXJlZyBfeG1tWzhdOworICBfX3UzMiBteGNzcjsKKyAgX191MzIgcmVzZXJ2ZWQ7CisgIHN0cnVjdCBfZnB4cmVnIF9meHNyX3N0WzhdOworICBzdHJ1Y3QgX3htbXJlZyBfeG1tWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYWRkaW5nWzQ0XTsKLSB1bmlvbiB7Ci0gX191MzIgcGFkZGluZzJbMTJdOwotIHN0cnVjdCBfZnB4X3N3X2J5dGVzIHN3X3Jlc2VydmVkOworICBfX3UzMiBwYWRkaW5nWzQ0XTsKKyAgdW5pb24geworICAgIF9fdTMyIHBhZGRpbmcyWzEyXTsKKyAgICBzdHJ1Y3QgX2ZweF9zd19ieXRlcyBzd19yZXNlcnZlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKKyAgfTsKIH07CiBzdHJ1Y3Qgc2lnY29udGV4dF9pYTMyIHsKLSB1bnNpZ25lZCBzaG9ydCBncywgX19nc2g7CisgIHVuc2lnbmVkIHNob3J0IGdzLCBfX2dzaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgZnMsIF9fZnNoOwotIHVuc2lnbmVkIHNob3J0IGVzLCBfX2VzaDsKLSB1bnNpZ25lZCBzaG9ydCBkcywgX19kc2g7Ci0gdW5zaWduZWQgaW50IGRpOworICB1bnNpZ25lZCBzaG9ydCBmcywgX19mc2g7CisgIHVuc2lnbmVkIHNob3J0IGVzLCBfX2VzaDsKKyAgdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOworICB1bnNpZ25lZCBpbnQgZGk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBzaTsKLSB1bnNpZ25lZCBpbnQgYnA7Ci0gdW5zaWduZWQgaW50IHNwOwotIHVuc2lnbmVkIGludCBieDsKKyAgdW5zaWduZWQgaW50IHNpOworICB1bnNpZ25lZCBpbnQgYnA7CisgIHVuc2lnbmVkIGludCBzcDsKKyAgdW5zaWduZWQgaW50IGJ4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZHg7Ci0gdW5zaWduZWQgaW50IGN4OwotIHVuc2lnbmVkIGludCBheDsKLSB1bnNpZ25lZCBpbnQgdHJhcG5vOworICB1bnNpZ25lZCBpbnQgZHg7CisgIHVuc2lnbmVkIGludCBjeDsKKyAgdW5zaWduZWQgaW50IGF4OworICB1bnNpZ25lZCBpbnQgdHJhcG5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZXJyOwotIHVuc2lnbmVkIGludCBpcDsKLSB1bnNpZ25lZCBzaG9ydCBjcywgX19jc2g7Ci0gdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBpbnQgZXJyOworICB1bnNpZ25lZCBpbnQgaXA7CisgIHVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKKyAgdW5zaWduZWQgaW50IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3BfYXRfc2lnbmFsOwotIHVuc2lnbmVkIHNob3J0IHNzLCBfX3NzaDsKLSB1bnNpZ25lZCBpbnQgZnBzdGF0ZTsKLSB1bnNpZ25lZCBpbnQgb2xkbWFzazsKKyAgdW5zaWduZWQgaW50IHNwX2F0X3NpZ25hbDsKKyAgdW5zaWduZWQgc2hvcnQgc3MsIF9fc3NoOworICB1bnNpZ25lZCBpbnQgZnBzdGF0ZTsKKyAgdW5zaWduZWQgaW50IG9sZG1hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjcjI7CisgIHVuc2lnbmVkIGludCBjcjI7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3NpZ25hbC5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zaWduYWwuaAppbmRleCAzMDhjN2E5Li5kYmEyNjhmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3NpZ25hbC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc2lnbmFsLmgKQEAgLTkzLDMzICs5MywzMyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBfX2kzODZfXwogc3RydWN0IHNpZ2FjdGlvbiB7Ci0gdW5pb24gewotIF9fc2lnaGFuZGxlcl90IF9zYV9oYW5kbGVyOworICB1bmlvbiB7CisgICAgX19zaWdoYW5kbGVyX3QgX3NhX2hhbmRsZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZvaWQgKCpfc2Ffc2lnYWN0aW9uKShpbnQsIHN0cnVjdCBzaWdpbmZvICosIHZvaWQgKik7Ci0gfSBfdTsKLSBzaWdzZXRfdCBzYV9tYXNrOwotIHVuc2lnbmVkIGxvbmcgc2FfZmxhZ3M7CisgICAgdm9pZCgqIF9zYV9zaWdhY3Rpb24pIChpbnQsIHN0cnVjdCBzaWdpbmZvICosIHZvaWQgKik7CisgIH0gX3U7CisgIHNpZ3NldF90IHNhX21hc2s7CisgIHVuc2lnbmVkIGxvbmcgc2FfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZvaWQgKCpzYV9yZXN0b3Jlcikodm9pZCk7CisgIHZvaWQoKiBzYV9yZXN0b3JlcikgKHZvaWQpOwogfTsKICNkZWZpbmUgc2FfaGFuZGxlciBfdS5fc2FfaGFuZGxlcgogI2RlZmluZSBzYV9zaWdhY3Rpb24gX3UuX3NhX3NpZ2FjdGlvbgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbHNlCiBzdHJ1Y3Qgc2lnYWN0aW9uIHsKLSBfX3NpZ2hhbmRsZXJfdCBzYV9oYW5kbGVyOwotIHVuc2lnbmVkIGxvbmcgc2FfZmxhZ3M7CisgIF9fc2lnaGFuZGxlcl90IHNhX2hhbmRsZXI7CisgIHVuc2lnbmVkIGxvbmcgc2FfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fc2lncmVzdG9yZV90IHNhX3Jlc3RvcmVyOwotIHNpZ3NldF90IHNhX21hc2s7CisgIF9fc2lncmVzdG9yZV90IHNhX3Jlc3RvcmVyOworICBzaWdzZXRfdCBzYV9tYXNrOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHNpZ2FsdHN0YWNrIHsKLSB2b2lkIF9fdXNlciAqc3Nfc3A7Ci0gaW50IHNzX2ZsYWdzOwotIHNpemVfdCBzc19zaXplOworICB2b2lkIF9fdXNlciAqIHNzX3NwOworICBpbnQgc3NfZmxhZ3M7CisgIHNpemVfdCBzc19zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gc3RhY2tfdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zdGF0LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3N0YXQuaAppbmRleCBhZWJhY2JkLi5jMTFmZGZkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3N0YXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3N0YXQuaApAQCAtMjMsMTExICsyMywxMTQgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZkZWYgX19pMzg2X18KIHN0cnVjdCBzdGF0IHsKLSB1bnNpZ25lZCBsb25nIHN0X2RldjsKLSB1bnNpZ25lZCBsb25nIHN0X2lubzsKKyAgdW5zaWduZWQgbG9uZyBzdF9kZXY7CisgIHVuc2lnbmVkIGxvbmcgc3RfaW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzdF9tb2RlOwotIHVuc2lnbmVkIHNob3J0IHN0X25saW5rOwotIHVuc2lnbmVkIHNob3J0IHN0X3VpZDsKLSB1bnNpZ25lZCBzaG9ydCBzdF9naWQ7CisgIHVuc2lnbmVkIHNob3J0IHN0X21vZGU7CisgIHVuc2lnbmVkIHNob3J0IHN0X25saW5rOworICB1bnNpZ25lZCBzaG9ydCBzdF91aWQ7CisgIHVuc2lnbmVkIHNob3J0IHN0X2dpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBzdF9yZGV2OwotIHVuc2lnbmVkIGxvbmcgc3Rfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIHN0X2Jsa3NpemU7Ci0gdW5zaWduZWQgbG9uZyBzdF9ibG9ja3M7CisgIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKKyAgdW5zaWduZWQgbG9uZyBzdF9zaXplOworICB1bnNpZ25lZCBsb25nIHN0X2Jsa3NpemU7CisgIHVuc2lnbmVkIGxvbmcgc3RfYmxvY2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0X2F0aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlYzsKLSB1bnNpZ25lZCBsb25nIHN0X210aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlYzsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9hdGltZV9uc2VjOworICB1bnNpZ25lZCBsb25nIHN0X210aW1lOworICB1bnNpZ25lZCBsb25nIHN0X210aW1lX25zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWU7Ci0gdW5zaWduZWQgbG9uZyBzdF9jdGltZV9uc2VjOwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ0OwotIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ1OworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7CisgIHVuc2lnbmVkIGxvbmcgX191bnVzZWQ0OworICB1bnNpZ25lZCBsb25nIF9fdW51c2VkNTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBJTklUX1NUUlVDVF9TVEFUX1BBRERJTkcoc3QpIGRvIHsgICBzdC5fX3VudXNlZDQgPSAwOyAgIHN0Ll9fdW51c2VkNSA9IDA7ICB9IHdoaWxlICgwKQorI2RlZmluZSBJTklUX1NUUlVDVF9TVEFUX1BBRERJTkcoc3QpIGRvIHsgc3QuX191bnVzZWQ0ID0gMDsgc3QuX191bnVzZWQ1ID0gMDsgXAorfSB3aGlsZSgwKQogI2RlZmluZSBTVEFUNjRfSEFTX0JST0tFTl9TVF9JTk8gMQogc3RydWN0IHN0YXQ2NCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9kZXY7Ci0gdW5zaWduZWQgY2hhciBfX3BhZDBbNF07Ci0gdW5zaWduZWQgbG9uZyBfX3N0X2lubzsKLSB1bnNpZ25lZCBpbnQgc3RfbW9kZTsKKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X2RldjsKKyAgdW5zaWduZWQgY2hhciBfX3BhZDBbNF07CisgIHVuc2lnbmVkIGxvbmcgX19zdF9pbm87CisgIHVuc2lnbmVkIGludCBzdF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7Ci0gdW5zaWduZWQgbG9uZyBzdF91aWQ7Ci0gdW5zaWduZWQgbG9uZyBzdF9naWQ7Ci0gdW5zaWduZWQgbG9uZyBsb25nIHN0X3JkZXY7CisgIHVuc2lnbmVkIGludCBzdF9ubGluazsKKyAgdW5zaWduZWQgbG9uZyBzdF91aWQ7CisgIHVuc2lnbmVkIGxvbmcgc3RfZ2lkOworICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfcmRldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBfX3BhZDNbNF07Ci0gbG9uZyBsb25nIHN0X3NpemU7Ci0gdW5zaWduZWQgbG9uZyBzdF9ibGtzaXplOwotIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7CisgIHVuc2lnbmVkIGNoYXIgX19wYWQzWzRdOworICBsb25nIGxvbmcgc3Rfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBzdF9ibGtzaXplOworICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfYmxvY2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0X2F0aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlYzsKLSB1bnNpZ25lZCBsb25nIHN0X210aW1lOwotIHVuc2lnbmVkIGludCBzdF9tdGltZV9uc2VjOworICB1bnNpZ25lZCBsb25nIHN0X2F0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2F0aW1lX25zZWM7CisgIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWU7CisgIHVuc2lnbmVkIGludCBzdF9tdGltZV9uc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOwotIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlYzsKLSB1bnNpZ25lZCBsb25nIGxvbmcgc3RfaW5vOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lOworICB1bnNpZ25lZCBsb25nIHN0X2N0aW1lX25zZWM7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9pbm87CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSU5JVF9TVFJVQ1RfU1RBVDY0X1BBRERJTkcoc3QpIGRvIHsgICBtZW1zZXQoJnN0Ll9fcGFkMCwgMCwgc2l6ZW9mKHN0Ll9fcGFkMCkpOyAgIG1lbXNldCgmc3QuX19wYWQzLCAwLCBzaXplb2Yoc3QuX19wYWQzKSk7ICB9IHdoaWxlICgwKQorI2RlZmluZSBJTklUX1NUUlVDVF9TVEFUNjRfUEFERElORyhzdCkgZG8geyBtZW1zZXQoJiBzdC5fX3BhZDAsIDAsIHNpemVvZihzdC5fX3BhZDApKTsgbWVtc2V0KCYgc3QuX19wYWQzLCAwLCBzaXplb2Yoc3QuX19wYWQzKSk7IFwKK30gd2hpbGUoMCkKICNlbHNlCiBzdHJ1Y3Qgc3RhdCB7Ci0gX19rZXJuZWxfdWxvbmdfdCBzdF9kZXY7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3RfZGV2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF91bG9uZ190IHN0X2lubzsKLSBfX2tlcm5lbF91bG9uZ190IHN0X25saW5rOwotIHVuc2lnbmVkIGludCBzdF9tb2RlOwotIHVuc2lnbmVkIGludCBzdF91aWQ7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3RfaW5vOworICBfX2tlcm5lbF91bG9uZ190IHN0X25saW5rOworICB1bnNpZ25lZCBpbnQgc3RfbW9kZTsKKyAgdW5zaWduZWQgaW50IHN0X3VpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN0X2dpZDsKLSB1bnNpZ25lZCBpbnQgX19wYWQwOwotIF9fa2VybmVsX3Vsb25nX3Qgc3RfcmRldjsKLSBfX2tlcm5lbF9sb25nX3Qgc3Rfc2l6ZTsKKyAgdW5zaWduZWQgaW50IHN0X2dpZDsKKyAgdW5zaWduZWQgaW50IF9fcGFkMDsKKyAgX19rZXJuZWxfdWxvbmdfdCBzdF9yZGV2OworICBfX2tlcm5lbF9sb25nX3Qgc3Rfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfbG9uZ190IHN0X2Jsa3NpemU7Ci0gX19rZXJuZWxfbG9uZ190IHN0X2Jsb2NrczsKLSBfX2tlcm5lbF91bG9uZ190IHN0X2F0aW1lOwotIF9fa2VybmVsX3Vsb25nX3Qgc3RfYXRpbWVfbnNlYzsKKyAgX19rZXJuZWxfbG9uZ190IHN0X2Jsa3NpemU7CisgIF9fa2VybmVsX2xvbmdfdCBzdF9ibG9ja3M7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3RfYXRpbWU7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3RfYXRpbWVfbnNlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdWxvbmdfdCBzdF9tdGltZTsKLSBfX2tlcm5lbF91bG9uZ190IHN0X210aW1lX25zZWM7Ci0gX19rZXJuZWxfdWxvbmdfdCBzdF9jdGltZTsKLSBfX2tlcm5lbF91bG9uZ190IHN0X2N0aW1lX25zZWM7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3RfbXRpbWU7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3RfbXRpbWVfbnNlYzsKKyAgX19rZXJuZWxfdWxvbmdfdCBzdF9jdGltZTsKKyAgX19rZXJuZWxfdWxvbmdfdCBzdF9jdGltZV9uc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9sb25nX3QgX19saW51eF91bnVzZWRbM107CisgIF9fa2VybmVsX2xvbmdfdCBfX2xpbnV4X3VudXNlZFszXTsKIH07Ci0jZGVmaW5lIElOSVRfU1RSVUNUX1NUQVRfUEFERElORyhzdCkgZG8geyAgIHN0Ll9fcGFkMCA9IDA7ICAgc3QuX19saW51eF91bnVzZWRbMF0gPSAwOyAgIHN0Ll9fbGludXhfdW51c2VkWzFdID0gMDsgICBzdC5fX2xpbnV4X3VudXNlZFsyXSA9IDA7ICB9IHdoaWxlICgwKQorI2RlZmluZSBJTklUX1NUUlVDVF9TVEFUX1BBRERJTkcoc3QpIGRvIHsgc3QuX19wYWQwID0gMDsgc3QuX19saW51eF91bnVzZWRbMF0gPSAwOyBzdC5fX2xpbnV4X3VudXNlZFsxXSA9IDA7IHN0Ll9fbGludXhfdW51c2VkWzJdID0gMDsgXAorfSB3aGlsZSgwKQogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IF9fb2xkX2tlcm5lbF9zdGF0IHsKLSB1bnNpZ25lZCBzaG9ydCBzdF9kZXY7Ci0gdW5zaWduZWQgc2hvcnQgc3RfaW5vOwotIHVuc2lnbmVkIHNob3J0IHN0X21vZGU7CisgIHVuc2lnbmVkIHNob3J0IHN0X2RldjsKKyAgdW5zaWduZWQgc2hvcnQgc3RfaW5vOworICB1bnNpZ25lZCBzaG9ydCBzdF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzdF9ubGluazsKLSB1bnNpZ25lZCBzaG9ydCBzdF91aWQ7Ci0gdW5zaWduZWQgc2hvcnQgc3RfZ2lkOwotIHVuc2lnbmVkIHNob3J0IHN0X3JkZXY7CisgIHVuc2lnbmVkIHNob3J0IHN0X25saW5rOworICB1bnNpZ25lZCBzaG9ydCBzdF91aWQ7CisgIHVuc2lnbmVkIHNob3J0IHN0X2dpZDsKKyAgdW5zaWduZWQgc2hvcnQgc3RfcmRldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZkZWYgX19pMzg2X18KLSB1bnNpZ25lZCBsb25nIHN0X3NpemU7Ci0gdW5zaWduZWQgbG9uZyBzdF9hdGltZTsKLSB1bnNpZ25lZCBsb25nIHN0X210aW1lOworICB1bnNpZ25lZCBsb25nIHN0X3NpemU7CisgIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWU7CisgIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWU7CisgIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWU7CiAjZWxzZQotIHVuc2lnbmVkIGludCBzdF9zaXplOwotIHVuc2lnbmVkIGludCBzdF9hdGltZTsKKyAgdW5zaWduZWQgaW50IHN0X3NpemU7CisgIHVuc2lnbmVkIGludCBzdF9hdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN0X210aW1lOwotIHVuc2lnbmVkIGludCBzdF9jdGltZTsKKyAgdW5zaWduZWQgaW50IHN0X210aW1lOworICB1bnNpZ25lZCBpbnQgc3RfY3RpbWU7CiAjZW5kaWYKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zdGF0ZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc3RhdGZzLmgKaW5kZXggZWZjOGQwNi4uMzE3NDAzNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zdGF0ZnMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3N0YXRmcy5oCkBAIC0xOCw3ICsxOCw3IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0FTTV9YODZfU1RBVEZTX0gKICNkZWZpbmUgX0FTTV9YODZfU1RBVEZTX0gKLSNkZWZpbmUgQVJDSF9QQUNLX0NPTVBBVF9TVEFURlM2NCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsYWxpZ25lZCg0KSkpCisjZGVmaW5lIEFSQ0hfUEFDS19DT01QQVRfU1RBVEZTNjQgX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSkKICNpbmNsdWRlIDxhc20tZ2VuZXJpYy9zdGF0ZnMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc3ZtLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3N2bS5oCmluZGV4IDg1MjMxZTguLjFlZTRmZDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vc3ZtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS9zdm0uaApAQCAtMTA4LDcgKzEwOCw3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTVk1fRVhJVF9YU0VUQlYgMHgwOGQKICNkZWZpbmUgU1ZNX0VYSVRfTlBGIDB4NDAwCi0jZGVmaW5lIFNWTV9FWElUX0VSUiAtMQotI2RlZmluZSBTVk1fRVhJVF9SRUFTT05TICAgeyBTVk1fRVhJVF9SRUFEX0NSMCwgInJlYWRfY3IwIiB9LCAgIHsgU1ZNX0VYSVRfUkVBRF9DUjMsICJyZWFkX2NyMyIgfSwgICB7IFNWTV9FWElUX1JFQURfQ1I0LCAicmVhZF9jcjQiIH0sICAgeyBTVk1fRVhJVF9SRUFEX0NSOCwgInJlYWRfY3I4IiB9LCAgIHsgU1ZNX0VYSVRfV1JJVEVfQ1IwLCAid3JpdGVfY3IwIiB9LCAgIHsgU1ZNX0VYSVRfV1JJVEVfQ1IzLCAid3JpdGVfY3IzIiB9LCAgIHsgU1ZNX0VYSVRfV1JJVEVfQ1I0LCAid3JpdGVfY3I0IiB9LCAgIHsgU1ZNX0VYSVRfV1JJVEVfQ1I4LCAid3JpdGVfY3I4IiB9LCAgIHsgU1ZNX0VYSVRfUkVBRF9EUjAsICJyZWFkX2RyMCIgfSwgICB7IFNWTV9FWElUX1JFQURfRFIxLCAicmVhZF9kcjEiIH0sICAgeyBTVk1fRVhJVF9SRUFEX0RSMiwgInJlYWRfZHIyIiB9LCAgIHsgU1ZNX0VYSVRfUkVBRF9EUjMsICJyZWFkX2RyMyIgfSwgICB7IFNWTV9FWElUX1dSSVRFX0RSMCwgIndyaXRlX2RyMCIgfSwgICB7IFNWTV9FWElUX1dSSVRFX0RSMSwgIndyaXRlX2RyMSIgfSwgICB7IFNWTV9FWElUX1dSSVRFX0RSMiwgIndyaXRlX2RyMiIgfSwgICB7IFNWTV9FWElUX1dSSVRFX0RSMywgIndyaXRlX2RyMyIgfSwgICB7IFNWTV9FWElUX1dSSVRFX0RSNSwgIndyaXRlX2RyNSIgfSwgICB7IFNWTV9FWElUX1dSSVRFX0RSNywgIndyaXRlX2RyNyIgfSwgICB7IFNWTV9FWElUX0VYQ1BfQkFTRSArIERCX1ZFQ1RPUiwgIkRCIGV4Y3AiIH0sICAgeyBTVk1fRVhJVF9FWENQX0JBU0UgKyBCUF9WRUNUT1IsICJCUCBleGNwIiB9LCAgIHsgU1ZNX0VYSVRfRVhDUF9CQVNFICsgVURfVkVDVE9SLCAiVUQgZXhjcCIgfSwgICB7IFNWTV9FWElUX0VYQ1BfQkFTRSArIFBGX1ZFQ1RPUiwgIlBGIGV4Y3AiIH0sICAgeyBTVk1fRVhJVF9FWENQX0JBU0UgKyBOTV9WRUNUT1IsICJOTSBleGNwIiB9LCAgIHsgU1ZNX0VYSVRfRVhDUF9CQVNFICsgTUNfVkVDVE9SLCAiTUMgZXhjcCIgfSwgICB7IFNWTV9FWElUX0lOVFIsICJpbnRlcnJ1cHQiIH0sICAgeyBTVk1fRVhJVF9OTUksICJubWkiIH0sICAgeyBTVk1fRVhJVF9TTUksICJzbWkiIH0sICAgeyBTVk1fRVhJVF9JTklULCAiaW5pdCIgfSwgICB7IFNWTV9FWElUX1ZJTlRSLCAidmludHIiIH0sICAgeyBTVk1fRVhJVF9DUFVJRCwgImNwdWlkIiB9LCAgIHsgU1ZNX0VYSVRfSU5WRCwgImludmQiIH0sICAgeyBTVk1fRVhJVF9ITFQsICJobHQiIH0sICAgeyBTVk1fRVhJVF9JTlZMUEcsICJpbnZscGciIH0sICAgeyBTVk1fRVhJVF9JTlZMUEdBLCAiaW52bHBnYSIgfSwgICB7IFNWTV9FWElUX0lPSU8sICJpbyIgfSwgICB7IFNWTV9FWElUX01TUiwgIm1zciIgfSwgICB7IFNWTV9FWElUX1RBU0tfU1dJVENILCAidGFza19zd2l0Y2giIH0sICAgeyBTVk1fRVhJVF9TSFVURE9XTiwgInNodXRkb3duIiB9LCAgIHsgU1ZNX0VYSVRfVk1SVU4sICJ2bXJ1biIgfSwgICB7IFNWTV9FWElUX1ZNTUNBTEwsICJoeXBlcmNhbGwiIH0sICAgeyBTVk1fRVhJVF9WTUxPQUQsICJ2bWxvYWQiIH0sICAgeyBTVk1fRVhJVF9WTVNBVkUsICJ2bXNhdmUiIH0sICAgeyBTVk1fRVhJVF9TVEdJLCAic3RnaSIgfSwgICB7IFNWTV9FWElUX0NMR0ksICJjbGdpIiB9LCAgIHsgU1ZNX0VYSVRfU0tJTklULCAic2tpbml0IiB9LCAgIHsgU1ZNX0VYSVRfV0JJTlZELCAid2JpbnZkIiB9LCAgIHsgU1ZNX0VYSVRfTU9OSVRPUiwgIm1vbml0b3IiIH0sICAgeyBTVk1fRVhJVF9NV0FJVCwgIm13YWl0IiB9LCAgIHsgU1ZNX0VYSVRfWFNFVEJWLCAieHNldGJ2IiB9LCAgIHsgU1ZNX0VYSVRfTlBGLCAibnBmIiB9CisjZGVmaW5lIFNWTV9FWElUX0VSUiAtIDEKKyNkZWZpbmUgU1ZNX0VYSVRfUkVBU09OUyB7IFNWTV9FWElUX1JFQURfQ1IwLCAicmVhZF9jcjAiIH0sIHsgU1ZNX0VYSVRfUkVBRF9DUjMsICJyZWFkX2NyMyIgfSwgeyBTVk1fRVhJVF9SRUFEX0NSNCwgInJlYWRfY3I0IiB9LCB7IFNWTV9FWElUX1JFQURfQ1I4LCAicmVhZF9jcjgiIH0sIHsgU1ZNX0VYSVRfV1JJVEVfQ1IwLCAid3JpdGVfY3IwIiB9LCB7IFNWTV9FWElUX1dSSVRFX0NSMywgIndyaXRlX2NyMyIgfSwgeyBTVk1fRVhJVF9XUklURV9DUjQsICJ3cml0ZV9jcjQiIH0sIHsgU1ZNX0VYSVRfV1JJVEVfQ1I4LCAid3JpdGVfY3I4IiB9LCB7IFNWTV9FWElUX1JFQURfRFIwLCAicmVhZF9kcjAiIH0sIHsgU1ZNX0VYSVRfUkVBRF9EUjEsICJyZWFkX2RyMSIgfSwgeyBTVk1fRVhJVF9SRUFEX0RSMiwgInJlYWRfZHIyIiB9LCB7IFNWTV9FWElUX1JFQURfRFIzLCAicmVhZF9kcjMiIH0sIHsgU1ZNX0VYSVRfV1JJVEVfRFIwLCAid3JpdGVfZHIwIiB9LCB7IFNWTV9FWElUX1dSSVRFX0RSMSwgIndyaXRlX2RyMSIgfSwgeyBTVk1fRVhJVF9XUklURV9EUjIsICJ3cml0ZV9kcjIiIH0sIHsgU1ZNX0VYSVRfV1JJVEVfRFIzLCAid3JpdGVfZHIzIiB9LCB7IFNWTV9FWElUX1dSSVRFX0RSNSwgIndyaXRlX2RyNSIgfSwgeyBTVk1fRVhJVF9XUklURV9EUjcsICJ3cml0ZV9kcjciIH0sIHsgU1ZNX0VYSVRfRVhDUF9CQVNFICsgREJfVkVDVE9SLCAiREIgZXhjcCIgfSwgeyBTVk1fRVhJVF9FWENQX0JBU0UgKyBCUF9WRUNUT1IsICJCUCBleGNwIiB9LCB7IFNWTV9FWElUX0VYQ1BfQkFTRSArIFVEX1ZFQ1RPUiwgIlVEIGV4Y3AiIH0sIHsgU1ZNX0VYSVRfRVhDUF9CQVNFICsgUEZfVkVDVE9SLCAiUEYgZXhjcCIgfSwgeyBTVk1fRVhJVF9FWENQX0JBU0UgKyBOTV9WRUNUT1IsICJOTSBleGNwIiB9LCB7IFNWTV9FWElUX0VYQ1BfQkFTRSArIE1DX1ZFQ1RPUiwgIk1DIGV4Y3AiIH0sIHsgU1ZNX0VYSVRfSU5UUiwgImludGVycnVwdCIgfSwgeyBTVk1fRVhJVF9OTUksICJubWkiIH0sIHsgU1ZNX0VYSVRfU01JLCAic21pIiB9LCB7IFNWTV9FWElUX0lOSVQsICJpbml0IiB9LCB7IFNWTV9FWElUX1ZJTlRSLCAidmludHIiIH0sIHsgU1ZNX0VYSVRfQ1BVSUQsICJjcHVpZCIgfSwgeyBTVk1fRVhJVF9JTlZELCAiaW52ZCIgfSwgeyBTVk1fRVhJVF9ITFQsICJobHQiIH0sIHsgU1ZNX0VYSVRfSU5WTFBHLCAiaW52bHBnIiB9LCB7IFNWTV9FWElUX0lOVkxQR0EsICJpbnZscGdhIiB9LCB7IFNWTV9FWElUX0lPSU8sICJpbyIgfSwgeyBTVk1fRVhJVF9NU1IsICJtc3IiIH0sIHsgU1ZNX0VYSVRfVEFTS19TV0lUQ0gsICJ0YXNrX3N3aXRjaCIgfSwgeyBTVk1fRVhJVF9TSFVURE9XTiwgInNodXRkb3duIiB9LCB7IFNWTV9FWElUX1ZNUlVOLCAidm1ydW4iIH0sIHsgU1ZNX0VYSVRfVk1NQ0FMTCwgImh5cGVyY2FsbCIgfSwgeyBTVk1fRVhJVF9WTUxPQUQsICJ2bWxvYWQiIH0sIHsgU1ZNX0VYSVRfVk1TQVZFLCAidm1zYXZlIiB9LCB7IFNWTV9FWElUX1NUR0ksICJzdGdpIiB9LCB7IFNWTV9FWElUX0NMR0ksICJjbGdpIiB9LCB7IFNWTV9FWElUX1NLSU5JVCwgInNraW5pdCIgfSwgeyBTVk1fRVhJVF9XQklOVkQsICJ3YmludmQiIH0sIHsgU1ZNX0VYSVRfTU9OSVRPUiwgIm1vbml0b3IiIH0sIHsgU1ZNX0VYSVRfTVdBSVQsICJtd2FpdCIgfSwgeyBTVk1fRVhJVF9YU0VUQlYsICJ4c2V0YnYiIH0sIHsgU1ZNX0VYSVRfTlBGLCAibnBmIiB9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3VuaXN0ZF8zMi5oIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS91bmlzdGRfMzIuaAppbmRleCA0ODM4YWUxLi5jMWE3ZWY0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3VuaXN0ZF8zMi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdW5pc3RkXzMyLmgKQEAgLTQ1NCw1ICs0NTQsMTEgQEAKICNkZWZpbmUgX19OUl9maW5pdF9tb2R1bGUgMzUwCiAjZGVmaW5lIF9fTlJfc2NoZWRfc2V0YXR0ciAzNTEKICNkZWZpbmUgX19OUl9zY2hlZF9nZXRhdHRyIDM1MgotI2VuZGlmCisjZGVmaW5lIF9fTlJfcmVuYW1lYXQyIDM1MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19OUl9zZWNjb21wIDM1NAorI2RlZmluZSBfX05SX2dldHJhbmRvbSAzNTUKKyNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgMzU2CisjZGVmaW5lIF9fTlJfYnBmIDM1NworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS91bmlzdGRfNjQuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdW5pc3RkXzY0LmgKaW5kZXggN2JkYjMwMS4uYzUzOGIyMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS91bmlzdGRfNjQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3VuaXN0ZF82NC5oCkBAIC00MTMsNCArNDEzLDEyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NjaGVkX3NldGF0dHIgMzE0CiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YXR0ciAzMTUKKyNkZWZpbmUgX19OUl9yZW5hbWVhdDIgMzE2CisjZGVmaW5lIF9fTlJfc2VjY29tcCAzMTcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfZ2V0cmFuZG9tIDMxOAorI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAzMTkKKyNkZWZpbmUgX19OUl9rZXhlY19maWxlX2xvYWQgMzIwCisjZGVmaW5lIF9fTlJfYnBmIDMyMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS91bmlzdGRfeDMyLmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3VuaXN0ZF94MzIuaAppbmRleCBlZTUxZmI1Li5kODdkMDc0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3VuaXN0ZF94MzIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3VuaXN0ZF94MzIuaApAQCAtMjQ3LDExOSArMjQ3LDEyNCBAQAogI2RlZmluZSBfX05SX3NjaGVkX3NldGFmZmluaXR5IChfX1gzMl9TWVNDQUxMX0JJVCArIDIwMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHkgKF9fWDMyX1NZU0NBTExfQklUICsgMjA0KQotI2RlZmluZSBfX05SX2lvX3NldHVwIChfX1gzMl9TWVNDQUxMX0JJVCArIDIwNikKICNkZWZpbmUgX19OUl9pb19kZXN0cm95IChfX1gzMl9TWVNDQUxMX0JJVCArIDIwNykKICNkZWZpbmUgX19OUl9pb19nZXRldmVudHMgKF9fWDMyX1NZU0NBTExfQklUICsgMjA4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19OUl9pb19zdWJtaXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjA5KQogI2RlZmluZSBfX05SX2lvX2NhbmNlbCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMTApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2xvb2t1cF9kY29va2llIChfX1gzMl9TWVNDQUxMX0JJVCArIDIxMikKICNkZWZpbmUgX19OUl9lcG9sbF9jcmVhdGUgKF9fWDMyX1NZU0NBTExfQklUICsgMjEzKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9yZW1hcF9maWxlX3BhZ2VzIChfX1gzMl9TWVNDQUxMX0JJVCArIDIxNikKICNkZWZpbmUgX19OUl9nZXRkZW50czY0IChfX1gzMl9TWVNDQUxMX0JJVCArIDIxNykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2V0X3RpZF9hZGRyZXNzIChfX1gzMl9TWVNDQUxMX0JJVCArIDIxOCkKICNkZWZpbmUgX19OUl9yZXN0YXJ0X3N5c2NhbGwgKF9fWDMyX1NZU0NBTExfQklUICsgMjE5KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zZW10aW1lZG9wIChfX1gzMl9TWVNDQUxMX0JJVCArIDIyMCkKICNkZWZpbmUgX19OUl9mYWR2aXNlNjQgKF9fWDMyX1NZU0NBTExfQklUICsgMjIxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl90aW1lcl9zZXR0aW1lIChfX1gzMl9TWVNDQUxMX0JJVCArIDIyMykKICNkZWZpbmUgX19OUl90aW1lcl9nZXR0aW1lIChfX1gzMl9TWVNDQUxMX0JJVCArIDIyNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdGltZXJfZ2V0b3ZlcnJ1biAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMjUpCiAjZGVmaW5lIF9fTlJfdGltZXJfZGVsZXRlIChfX1gzMl9TWVNDQUxMX0JJVCArIDIyNikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfY2xvY2tfc2V0dGltZSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMjcpCiAjZGVmaW5lIF9fTlJfY2xvY2tfZ2V0dGltZSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMjgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Nsb2NrX2dldHJlcyAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMjkpCiAjZGVmaW5lIF9fTlJfY2xvY2tfbmFub3NsZWVwIChfX1gzMl9TWVNDQUxMX0JJVCArIDIzMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZXhpdF9ncm91cCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMzEpCiAjZGVmaW5lIF9fTlJfZXBvbGxfd2FpdCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMzIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Vwb2xsX2N0bCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMzMpCiAjZGVmaW5lIF9fTlJfdGdraWxsIChfX1gzMl9TWVNDQUxMX0JJVCArIDIzNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfdXRpbWVzIChfX1gzMl9TWVNDQUxMX0JJVCArIDIzNSkKICNkZWZpbmUgX19OUl9tYmluZCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyMzcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NldF9tZW1wb2xpY3kgKF9fWDMyX1NZU0NBTExfQklUICsgMjM4KQogI2RlZmluZSBfX05SX2dldF9tZW1wb2xpY3kgKF9fWDMyX1NZU0NBTExfQklUICsgMjM5KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tcV9vcGVuIChfX1gzMl9TWVNDQUxMX0JJVCArIDI0MCkKICNkZWZpbmUgX19OUl9tcV91bmxpbmsgKF9fWDMyX1NZU0NBTExfQklUICsgMjQxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9tcV90aW1lZHNlbmQgKF9fWDMyX1NZU0NBTExfQklUICsgMjQyKQogI2RlZmluZSBfX05SX21xX3RpbWVkcmVjZWl2ZSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNDMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX21xX2dldHNldGF0dHIgKF9fWDMyX1NZU0NBTExfQklUICsgMjQ1KQogI2RlZmluZSBfX05SX2FkZF9rZXkgKF9fWDMyX1NZU0NBTExfQklUICsgMjQ4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9yZXF1ZXN0X2tleSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNDkpCiAjZGVmaW5lIF9fTlJfa2V5Y3RsIChfX1gzMl9TWVNDQUxMX0JJVCArIDI1MCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfaW9wcmlvX3NldCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNTEpCiAjZGVmaW5lIF9fTlJfaW9wcmlvX2dldCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNTIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2lub3RpZnlfaW5pdCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNTMpCiAjZGVmaW5lIF9fTlJfaW5vdGlmeV9hZGRfd2F0Y2ggKF9fWDMyX1NZU0NBTExfQklUICsgMjU0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9pbm90aWZ5X3JtX3dhdGNoIChfX1gzMl9TWVNDQUxMX0JJVCArIDI1NSkKICNkZWZpbmUgX19OUl9taWdyYXRlX3BhZ2VzIChfX1gzMl9TWVNDQUxMX0JJVCArIDI1NikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfb3BlbmF0IChfX1gzMl9TWVNDQUxMX0JJVCArIDI1NykKICNkZWZpbmUgX19OUl9ta2RpcmF0IChfX1gzMl9TWVNDQUxMX0JJVCArIDI1OCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbWtub2RhdCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNTkpCiAjZGVmaW5lIF9fTlJfZmNob3duYXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjYwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9mdXRpbWVzYXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjYxKQogI2RlZmluZSBfX05SX25ld2ZzdGF0YXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjYyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl91bmxpbmthdCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNjMpCiAjZGVmaW5lIF9fTlJfcmVuYW1lYXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjY0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9saW5rYXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjY1KQogI2RlZmluZSBfX05SX3N5bWxpbmthdCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNjYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3JlYWRsaW5rYXQgKF9fWDMyX1NZU0NBTExfQklUICsgMjY3KQogI2RlZmluZSBfX05SX2ZjaG1vZGF0IChfX1gzMl9TWVNDQUxMX0JJVCArIDI2OCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmFjY2Vzc2F0IChfX1gzMl9TWVNDQUxMX0JJVCArIDI2OSkKICNkZWZpbmUgX19OUl9wc2VsZWN0NiAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyNzApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3Bwb2xsIChfX1gzMl9TWVNDQUxMX0JJVCArIDI3MSkKICNkZWZpbmUgX19OUl91bnNoYXJlIChfX1gzMl9TWVNDQUxMX0JJVCArIDI3MikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc3BsaWNlIChfX1gzMl9TWVNDQUxMX0JJVCArIDI3NSkKICNkZWZpbmUgX19OUl90ZWUgKF9fWDMyX1NZU0NBTExfQklUICsgMjc2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zeW5jX2ZpbGVfcmFuZ2UgKF9fWDMyX1NZU0NBTExfQklUICsgMjc3KQogI2RlZmluZSBfX05SX3V0aW1lbnNhdCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyODApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2Vwb2xsX3B3YWl0IChfX1gzMl9TWVNDQUxMX0JJVCArIDI4MSkKICNkZWZpbmUgX19OUl9zaWduYWxmZCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyODIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3RpbWVyZmRfY3JlYXRlIChfX1gzMl9TWVNDQUxMX0JJVCArIDI4MykKICNkZWZpbmUgX19OUl9ldmVudGZkIChfX1gzMl9TWVNDQUxMX0JJVCArIDI4NCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmFsbG9jYXRlIChfX1gzMl9TWVNDQUxMX0JJVCArIDI4NSkKICNkZWZpbmUgX19OUl90aW1lcmZkX3NldHRpbWUgKF9fWDMyX1NZU0NBTExfQklUICsgMjg2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl90aW1lcmZkX2dldHRpbWUgKF9fWDMyX1NZU0NBTExfQklUICsgMjg3KQogI2RlZmluZSBfX05SX2FjY2VwdDQgKF9fWDMyX1NZU0NBTExfQklUICsgMjg4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19OUl9zaWduYWxmZDQgKF9fWDMyX1NZU0NBTExfQklUICsgMjg5KQogI2RlZmluZSBfX05SX2V2ZW50ZmQyIChfX1gzMl9TWVNDQUxMX0JJVCArIDI5MCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZXBvbGxfY3JlYXRlMSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyOTEpCiAjZGVmaW5lIF9fTlJfZHVwMyAoX19YMzJfU1lTQ0FMTF9CSVQgKyAyOTIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3BpcGUyIChfX1gzMl9TWVNDQUxMX0JJVCArIDI5MykKICNkZWZpbmUgX19OUl9pbm90aWZ5X2luaXQxIChfX1gzMl9TWVNDQUxMX0JJVCArIDI5NCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfcGVyZl9ldmVudF9vcGVuIChfX1gzMl9TWVNDQUxMX0JJVCArIDI5OCkKICNkZWZpbmUgX19OUl9mYW5vdGlmeV9pbml0IChfX1gzMl9TWVNDQUxMX0JJVCArIDMwMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfZmFub3RpZnlfbWFyayAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMDEpCiAjZGVmaW5lIF9fTlJfcHJsaW1pdDY0IChfX1gzMl9TWVNDQUxMX0JJVCArIDMwMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfbmFtZV90b19oYW5kbGVfYXQgKF9fWDMyX1NZU0NBTExfQklUICsgMzAzKQogI2RlZmluZSBfX05SX29wZW5fYnlfaGFuZGxlX2F0IChfX1gzMl9TWVNDQUxMX0JJVCArIDMwNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfY2xvY2tfYWRqdGltZSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMDUpCiAjZGVmaW5lIF9fTlJfc3luY2ZzIChfX1gzMl9TWVNDQUxMX0JJVCArIDMwNikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTlJfc2V0bnMgKF9fWDMyX1NZU0NBTExfQklUICsgMzA4KQogI2RlZmluZSBfX05SX2dldGNwdSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMDkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX2tjbXAgKF9fWDMyX1NZU0NBTExfQklUICsgMzEyKQogI2RlZmluZSBfX05SX2Zpbml0X21vZHVsZSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMTMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3NjaGVkX3NldGF0dHIgKF9fWDMyX1NZU0NBTExfQklUICsgMzE0KQogI2RlZmluZSBfX05SX3NjaGVkX2dldGF0dHIgKF9fWDMyX1NZU0NBTExfQklUICsgMzE1KQorI2RlZmluZSBfX05SX3JlbmFtZWF0MiAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMTYpCisjZGVmaW5lIF9fTlJfc2VjY29tcCAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMTcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX05SX2dldHJhbmRvbSAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMTgpCisjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIChfX1gzMl9TWVNDQUxMX0JJVCArIDMxOSkKKyNkZWZpbmUgX19OUl9rZXhlY19maWxlX2xvYWQgKF9fWDMyX1NZU0NBTExfQklUICsgMzIwKQorI2RlZmluZSBfX05SX2JwZiAoX19YMzJfU1lTQ0FMTF9CSVQgKyAzMjEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05SX3J0X3NpZ2FjdGlvbiAoX19YMzJfU1lTQ0FMTF9CSVQgKyA1MTIpCiAjZGVmaW5lIF9fTlJfcnRfc2lncmV0dXJuIChfX1gzMl9TWVNDQUxMX0JJVCArIDUxMykKQEAgLTM5OSw1ICs0MDQsNyBAQAogI2RlZmluZSBfX05SX3Byb2Nlc3Nfdm1fd3JpdGV2IChfX1gzMl9TWVNDQUxMX0JJVCArIDU0MCkKICNkZWZpbmUgX19OUl9zZXRzb2Nrb3B0IChfX1gzMl9TWVNDQUxMX0JJVCArIDU0MSkKICNkZWZpbmUgX19OUl9nZXRzb2Nrb3B0IChfX1gzMl9TWVNDQUxMX0JJVCArIDU0MikKLSNlbmRpZgorI2RlZmluZSBfX05SX2lvX3NldHVwIChfX1gzMl9TWVNDQUxMX0JJVCArIDU0MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fTlJfaW9fc3VibWl0IChfX1gzMl9TWVNDQUxMX0JJVCArIDU0NCkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS92bTg2LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3ZtODYuaAppbmRleCA0MjUxM2NjLi5lYjUzNTA0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3ZtODYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3ZtODYuaApAQCAtNDgsNjggKzQ4LDY4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWTTg2X0dFVF9BTkRfUkVTRVRfSVJRIDYKIHN0cnVjdCB2bTg2X3JlZ3MgewotIGxvbmcgZWJ4OwotIGxvbmcgZWN4OworICBsb25nIGVieDsKKyAgbG9uZyBlY3g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZWR4OwotIGxvbmcgZXNpOwotIGxvbmcgZWRpOwotIGxvbmcgZWJwOworICBsb25nIGVkeDsKKyAgbG9uZyBlc2k7CisgIGxvbmcgZWRpOworICBsb25nIGVicDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyBlYXg7Ci0gbG9uZyBfX251bGxfZHM7Ci0gbG9uZyBfX251bGxfZXM7Ci0gbG9uZyBfX251bGxfZnM7CisgIGxvbmcgZWF4OworICBsb25nIF9fbnVsbF9kczsKKyAgbG9uZyBfX251bGxfZXM7CisgIGxvbmcgX19udWxsX2ZzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIF9fbnVsbF9nczsKLSBsb25nIG9yaWdfZWF4OwotIGxvbmcgZWlwOwotIHVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKKyAgbG9uZyBfX251bGxfZ3M7CisgIGxvbmcgb3JpZ19lYXg7CisgIGxvbmcgZWlwOworICB1bnNpZ25lZCBzaG9ydCBjcywgX19jc2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZWZsYWdzOwotIGxvbmcgZXNwOwotIHVuc2lnbmVkIHNob3J0IHNzLCBfX3NzaDsKLSB1bnNpZ25lZCBzaG9ydCBlcywgX19lc2g7CisgIGxvbmcgZWZsYWdzOworICBsb25nIGVzcDsKKyAgdW5zaWduZWQgc2hvcnQgc3MsIF9fc3NoOworICB1bnNpZ25lZCBzaG9ydCBlcywgX19lc2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGRzLCBfX2RzaDsKLSB1bnNpZ25lZCBzaG9ydCBmcywgX19mc2g7Ci0gdW5zaWduZWQgc2hvcnQgZ3MsIF9fZ3NoOworICB1bnNpZ25lZCBzaG9ydCBkcywgX19kc2g7CisgIHVuc2lnbmVkIHNob3J0IGZzLCBfX2ZzaDsKKyAgdW5zaWduZWQgc2hvcnQgZ3MsIF9fZ3NoOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmV2ZWN0b3JlZF9zdHJ1Y3QgewotIHVuc2lnbmVkIGxvbmcgX19tYXBbOF07CisgIHVuc2lnbmVkIGxvbmcgX19tYXBbOF07CiB9Owogc3RydWN0IHZtODZfc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHZtODZfcmVncyByZWdzOwotIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0gdW5zaWduZWQgbG9uZyBzY3JlZW5fYml0bWFwOwotIHVuc2lnbmVkIGxvbmcgY3B1X3R5cGU7CisgIHN0cnVjdCB2bTg2X3JlZ3MgcmVnczsKKyAgdW5zaWduZWQgbG9uZyBmbGFnczsKKyAgdW5zaWduZWQgbG9uZyBzY3JlZW5fYml0bWFwOworICB1bnNpZ25lZCBsb25nIGNwdV90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgcmV2ZWN0b3JlZF9zdHJ1Y3QgaW50X3JldmVjdG9yZWQ7Ci0gc3RydWN0IHJldmVjdG9yZWRfc3RydWN0IGludDIxX3JldmVjdG9yZWQ7CisgIHN0cnVjdCByZXZlY3RvcmVkX3N0cnVjdCBpbnRfcmV2ZWN0b3JlZDsKKyAgc3RydWN0IHJldmVjdG9yZWRfc3RydWN0IGludDIxX3JldmVjdG9yZWQ7CiB9OwogI2RlZmluZSBWTTg2X1NDUkVFTl9CSVRNQVAgMHgwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHZtODZwbHVzX2luZm9fc3RydWN0IHsKLSB1bnNpZ25lZCBsb25nIGZvcmNlX3JldHVybl9mb3JfcGljOjE7Ci0gdW5zaWduZWQgbG9uZyB2bTg2ZGJnX2FjdGl2ZToxOwotIHVuc2lnbmVkIGxvbmcgdm04NmRiZ19URnBlbmRpZzoxOworICB1bnNpZ25lZCBsb25nIGZvcmNlX3JldHVybl9mb3JfcGljIDogMTsKKyAgdW5zaWduZWQgbG9uZyB2bTg2ZGJnX2FjdGl2ZSA6IDE7CisgIHVuc2lnbmVkIGxvbmcgdm04NmRiZ19URnBlbmRpZyA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgdW51c2VkOjI4OwotIHVuc2lnbmVkIGxvbmcgaXNfdm04NnB1czoxOwotIHVuc2lnbmVkIGNoYXIgdm04NmRiZ19pbnR4eHRhYlszMl07CisgIHVuc2lnbmVkIGxvbmcgdW51c2VkIDogMjg7CisgIHVuc2lnbmVkIGxvbmcgaXNfdm04NnB1cyA6IDE7CisgIHVuc2lnbmVkIGNoYXIgdm04NmRiZ19pbnR4eHRhYlszMl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2bTg2cGx1c19zdHJ1Y3QgewotIHN0cnVjdCB2bTg2X3JlZ3MgcmVnczsKLSB1bnNpZ25lZCBsb25nIGZsYWdzOwotIHVuc2lnbmVkIGxvbmcgc2NyZWVuX2JpdG1hcDsKKyAgc3RydWN0IHZtODZfcmVncyByZWdzOworICB1bnNpZ25lZCBsb25nIGZsYWdzOworICB1bnNpZ25lZCBsb25nIHNjcmVlbl9iaXRtYXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgY3B1X3R5cGU7Ci0gc3RydWN0IHJldmVjdG9yZWRfc3RydWN0IGludF9yZXZlY3RvcmVkOwotIHN0cnVjdCByZXZlY3RvcmVkX3N0cnVjdCBpbnQyMV9yZXZlY3RvcmVkOwotIHN0cnVjdCB2bTg2cGx1c19pbmZvX3N0cnVjdCB2bTg2cGx1czsKKyAgdW5zaWduZWQgbG9uZyBjcHVfdHlwZTsKKyAgc3RydWN0IHJldmVjdG9yZWRfc3RydWN0IGludF9yZXZlY3RvcmVkOworICBzdHJ1Y3QgcmV2ZWN0b3JlZF9zdHJ1Y3QgaW50MjFfcmV2ZWN0b3JlZDsKKyAgc3RydWN0IHZtODZwbHVzX2luZm9fc3RydWN0IHZtODZwbHVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdm14LmggYi9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3ZteC5oCmluZGV4IGUxMGUyYjYuLjY3MzFkM2MgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdm14LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS92bXguaApAQCAtNjgsMTEgKzY4LDEyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFWElUX1JFQVNPTl9JTlZFUFQgNTAKICNkZWZpbmUgRVhJVF9SRUFTT05fUFJFRU1QVElPTl9USU1FUiA1MgorI2RlZmluZSBFWElUX1JFQVNPTl9JTlZWUElEIDUzCiAjZGVmaW5lIEVYSVRfUkVBU09OX1dCSU5WRCA1NAotI2RlZmluZSBFWElUX1JFQVNPTl9YU0VUQlYgNTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVYSVRfUkVBU09OX1hTRVRCViA1NQogI2RlZmluZSBFWElUX1JFQVNPTl9BUElDX1dSSVRFIDU2CiAjZGVmaW5lIEVYSVRfUkVBU09OX0lOVlBDSUQgNTgKLSNkZWZpbmUgVk1YX0VYSVRfUkVBU09OUyAgIHsgRVhJVF9SRUFTT05fRVhDRVBUSU9OX05NSSwgIkVYQ0VQVElPTl9OTUkiIH0sICAgeyBFWElUX1JFQVNPTl9FWFRFUk5BTF9JTlRFUlJVUFQsICJFWFRFUk5BTF9JTlRFUlJVUFQiIH0sICAgeyBFWElUX1JFQVNPTl9UUklQTEVfRkFVTFQsICJUUklQTEVfRkFVTFQiIH0sICAgeyBFWElUX1JFQVNPTl9QRU5ESU5HX0lOVEVSUlVQVCwgIlBFTkRJTkdfSU5URVJSVVBUIiB9LCAgIHsgRVhJVF9SRUFTT05fTk1JX1dJTkRPVywgIk5NSV9XSU5ET1ciIH0sICAgeyBFWElUX1JFQVNPTl9UQVNLX1NXSVRDSCwgIlRBU0tfU1dJVENIIiB9LCAgIHsgRVhJVF9SRUFTT05fQ1BVSUQsICJDUFVJRCIgfSwgICB7IEVYSVRfUkVBU09OX0hMVCwgIkhMVCIgfSwgICB7IEVYSVRfUkVBU09OX0lOVkxQRywgIklOVkxQRyIgfSwgICB7IEVYSVRfUkVBU09OX1JEUE1DLCAiUkRQTUMiIH0sICAgeyBFWElUX1JFQVNPTl9SRFRTQywgIlJEVFNDIiB9LCAgIHsgRVhJVF9SRUFTT05fVk1DQUxMLCAiVk1DQUxMIiB9LCAgIHsgRVhJVF9SRUFTT05fVk1DTEVBUiwgIlZNQ0xFQVIiIH0sICAgeyBFWElUX1JFQVNPTl9WTUxBVU5DSCwgIlZNTEFVTkNIIiB9LCAgIHsgRVhJVF9SRUFTT05fVk1QVFJMRCwgIlZNUFRSTEQiIH0sICAgeyBFWElUX1JFQVNPTl9WTVBUUlNULCAiVk1QVFJTVCIgfSwgICB7IEVYSVRfUkVBU09OX1ZNUkVBRCwgIlZNUkVBRCIgfSwgICB7IEVYSVRfUkVBU09OX1ZNUkVTVU1FLCAiVk1SRVNVTUUiIH0sICAgeyBFWElUX1JFQVNPTl9WTVdSSVRFLCAiVk1XUklURSIgfSwgICB7IEVYSVRfUkVBU09OX1ZNT0ZGLCAiVk1PRkYiIH0sICAgeyBFWElUX1JFQVNPTl9WTU9OLCAiVk1PTiIgfSwgICB7IEVYSVRfUkVBU09OX0NSX0FDQ0VTUywgIkNSX0FDQ0VTUyIgfSwgICB7IEVYSVRfUkVBU09OX0RSX0FDQ0VTUywgIkRSX0FDQ0VTUyIgfSwgICB7IEVYSVRfUkVBU09OX0lPX0lOU1RSVUNUSU9OLCAiSU9fSU5TVFJVQ1RJT04iIH0sICAgeyBFWElUX1JFQVNPTl9NU1JfUkVBRCwgIk1TUl9SRUFEIiB9LCAgIHsgRVhJVF9SRUFTT05fTVNSX1dSSVRFLCAiTVNSX1dSSVRFIiB9LCAgIHsgRVhJVF9SRUFTT05fTVdBSVRfSU5TVFJVQ1RJT04sICJNV0FJVF9JTlNUUlVDVElPTiIgfSwgICB7IEVYSVRfUkVBU09OX01PTklUT1JfSU5TVFJVQ1RJT04sICJNT05JVE9SX0lOU1RSVUNUSU9OIiB9LCAgIHsgRVhJVF9SRUFTT05fUEFVU0VfSU5TVFJVQ1RJT04sICJQQVVTRV9JTlNUUlVDVElPTiIgfSwgICB7IEVYSVRfUkVBU09OX01DRV9EVVJJTkdfVk1FTlRSWSwgIk1DRV9EVVJJTkdfVk1FTlRSWSIgfSwgICB7IEVYSVRfUkVBU09OX1RQUl9CRUxPV19USFJFU0hPTEQsICJUUFJfQkVMT1dfVEhSRVNIT0xEIiB9LCAgIHsgRVhJVF9SRUFTT05fQVBJQ19BQ0NFU1MsICJBUElDX0FDQ0VTUyIgfSwgICB7IEVYSVRfUkVBU09OX0VQVF9WSU9MQVRJT04sICJFUFRfVklPTEFUSU9OIiB9LCAgIHsgRVhJVF9SRUFTT05fRVBUX01JU0NPTkZJRywgIkVQVF9NSVNDT05GSUciIH0sICAgeyBFWElUX1JFQVNPTl9JTlZFUFQsICJJTlZFUFQiIH0sICAgeyBFWElUX1JFQVNPTl9QUkVFTVBUSU9OX1RJTUVSLCAiUFJFRU1QVElPTl9USU1FUiIgfSwgICB7IEVYSVRfUkVBU09OX1dCSU5WRCwgIldCSU5WRCIgfSwgICB7IEVYSVRfUkVBU09OX0FQSUNfV1JJVEUsICJBUElDX1dSSVRFIiB9LCAgIHsgRVhJVF9SRUFTT05fRU9JX0lORFVDRUQsICJFT0lfSU5EVUNFRCIgfSwgICB7IEVYSVRfUkVBU09OX0lOVkFMSURfU1RBVEUsICJJTlZBTElEX1NUQVRFIiB9LCAgIHsgRVhJVF9SRUFTT05fSU5WRCwgIklOVkQiIH0sICAgeyBFWElUX1JFQVNPTl9JTlZQQ0lELCAiSU5WUENJRCIgfQotI2VuZGlmCisjZGVmaW5lIFZNWF9FWElUX1JFQVNPTlMgeyBFWElUX1JFQVNPTl9FWENFUFRJT05fTk1JLCAiRVhDRVBUSU9OX05NSSIgfSwgeyBFWElUX1JFQVNPTl9FWFRFUk5BTF9JTlRFUlJVUFQsICJFWFRFUk5BTF9JTlRFUlJVUFQiIH0sIHsgRVhJVF9SRUFTT05fVFJJUExFX0ZBVUxULCAiVFJJUExFX0ZBVUxUIiB9LCB7IEVYSVRfUkVBU09OX1BFTkRJTkdfSU5URVJSVVBULCAiUEVORElOR19JTlRFUlJVUFQiIH0sIHsgRVhJVF9SRUFTT05fTk1JX1dJTkRPVywgIk5NSV9XSU5ET1ciIH0sIHsgRVhJVF9SRUFTT05fVEFTS19TV0lUQ0gsICJUQVNLX1NXSVRDSCIgfSwgeyBFWElUX1JFQVNPTl9DUFVJRCwgIkNQVUlEIiB9LCB7IEVYSVRfUkVBU09OX0hMVCwgIkhMVCIgfSwgeyBFWElUX1JFQVNPTl9JTlZMUEcsICJJTlZMUEciIH0sIHsgRVhJVF9SRUFTT05fUkRQTUMsICJSRFBNQyIgfSwgeyBFWElUX1JFQVNPTl9SRFRTQywgIlJEVFNDIiB9LCB7IEVYSVRfUkVBU09OX1ZNQ0FMTCwgIlZNQ0FMTCIgfSwgeyBFWElUX1JFQVNPTl9WTUNMRUFSLCAiVk1DTEVBUiIgfSwgeyBFWElUX1JFQVNPTl9WTUxBVU5DSCwgIlZNTEFVTkNIIiB9LCB7IEVYSVRfUkVBU09OX1ZNUFRSTEQsICJWTVBUUkxEIiB9LCB7IEVYSVRfUkVBU09OX1ZNUFRSU1QsICJWTVBUUlNUIiB9LCB7IEVYSVRfUkVBU09OX1ZNUkVBRCwgIlZNUkVBRCIgfSwgeyBFWElUX1JFQVNPTl9WTVJFU1VNRSwgIlZNUkVTVU1FIiB9LCB7IEVYSVRfUkVBU09OX1ZNV1JJVEUsICJWTVdSSVRFIiB9LCB7IEVYSVRfUkVBU09OX1ZNT0ZGLCAiVk1PRkYiIH0sIHsgRVhJVF9SRUFTT05fVk1PTiwgIlZNT04iIH0sIHsgRVhJVF9SRUFTT05fQ1JfQUNDRVNTLCAiQ1JfQUNDRVNTIiB9LCB7IEVYSVRfUkVBU09OX0RSX0FDQ0VTUywgIkRSX0FDQ0VTUyIgfSwgeyBFWElUX1JFQVNPTl9JT19JTlNUUlVDVElPTiwgIklPX0lOU1RSVUNUSU9OIiB9LCB7IEVYSVRfUkVBU09OX01TUl9SRUFELCAiTVNSX1JFQUQiIH0sIHsgRVhJVF9SRUFTT05fTVNSX1dSSVRFLCAiTVNSX1dSSVRFIiB9LCB7IEVYSVRfUkVBU09OX01XQUlUX0lOU1RSVUNUSU9OLCAiTVdBSVRfSU5TVFJVQ1RJT04iIH0sIHsgRVhJVF9SRUFTT05fTU9OSVRPUl9JTlNUUlVDVElPTiwgIk1PTklUT1JfSU5TVFJVQ1RJT04iIH0sIHsgRVhJVF9SRUFTT05fUEFVU0VfSU5TVFJVQ1RJT04sICJQQVVTRV9JTlNUUlVDVElPTiIgfSwgeyBFWElUX1JFQVNPTl9NQ0VfRFVSSU5HX1ZNRU5UUlksICJNQ0VfRFVSSU5HX1ZNRU5UUlkiIH0sIHsgRVhJVF9SRUFTT05fVFBSX0JFTE9XX1RIUkVTSE9MRCwgIlRQUl9CRUxPV19USFJFU0hPTEQiIH0sIHsgRVhJVF9SRUFTT05fQVBJQ19BQ0NFU1MsICJBUElDX0FDQ0VTUyIgfSwgeyBFWElUX1JFQVNPTl9FUFRfVklPTEFUSU9OLCAiRVBUX1ZJT0xBVElPTiIgfSwgeyBFWElUX1JFQVNPTl9FUFRfTUlTQ09ORklHLCAiRVBUX01JU0NPTkZJRyIgfSwgeyBFWElUX1JFQVNPTl9JTlZFUFQsICJJTlZFUFQiIH0sIHsgRVhJVF9SRUFTT05fUFJFRU1QVElPTl9USU1FUiwgIlBSRUVNUFRJT05fVElNRVIiIH0sIHsgRVhJVF9SRUFTT05fV0JJTlZELCAiV0JJTlZEIiB9LCB7IEVYSVRfUkVBU09OX0FQSUNfV1JJVEUsICJBUElDX1dSSVRFIiB9LCB7IEVYSVRfUkVBU09OX0VPSV9JTkRVQ0VELCAiRU9JX0lORFVDRUQiIH0sIHsgRVhJVF9SRUFTT05fSU5WQUxJRF9TVEFURSwgIklOVkFMSURfU1RBVEUiIH0sIHsgRVhJVF9SRUFTT05fSU5WRCwgIklOVkQiIH0sIHsgRVhJVF9SRUFTT05fSU5WVlBJRCwgIklOVlZQSUQiIH0sIHsgRVhJVF9SRUFTT05fSU5WUENJRCwgIklOVlBDSUQiIH0KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdnN5c2NhbGwuaCBiL2xpYmMva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdnN5c2NhbGwuaAppbmRleCA0YTViM2FiLi45NWJmMmNhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2FzbS14ODYvYXNtL3ZzeXNjYWxsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9hc20teDg2L2FzbS92c3lzY2FsbC5oCkBAIC0xOSwxNiArMTksMTEgQEAKICNpZm5kZWYgX1VBUElfQVNNX1g4Nl9WU1lTQ0FMTF9ICiAjZGVmaW5lIF9VQVBJX0FTTV9YODZfVlNZU0NBTExfSAogZW51bSB2c3lzY2FsbF9udW0gewotIF9fTlJfdmdldHRpbWVvZmRheSwKKyAgX19OUl92Z2V0dGltZW9mZGF5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05SX3Z0aW1lLAotIF9fTlJfdmdldGNwdSwKKyAgX19OUl92dGltZSwKKyAgX19OUl92Z2V0Y3B1LAogfTsKLSNkZWZpbmUgVlNZU0NBTExfU1RBUlQgKC0xMFVMIDw8IDIwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVlNZU0NBTExfU0laRSAxMDI0Ci0jZGVmaW5lIFZTWVNDQUxMX0VORCAoLTJVTCA8PCAyMCkKLSNkZWZpbmUgVlNZU0NBTExfTUFQUEVEX1BBR0VTIDEKLSNkZWZpbmUgVlNZU0NBTExfQUREUih2c3lzY2FsbF9ucikgKFZTWVNDQUxMX1NUQVJUK1ZTWVNDQUxMX1NJWkUqKHZzeXNjYWxsX25yKSkKKyNkZWZpbmUgVlNZU0NBTExfQUREUiAoLSAxMFVMIDw8IDIwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vYXJtYWRhX2RybS5oIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vYXJtYWRhX2RybS5oCmluZGV4IGVmZDdkZDQuLjE2MGM0ZjggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2FybWFkYV9kcm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2RybS9hcm1hZGFfZHJtLmgKQEAgLTIyLDMwICsyMiwzMCBAQAogI2RlZmluZSBEUk1fQVJNQURBX0dFTV9NTUFQIDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9BUk1BREFfR0VNX1BXUklURSAweDAzCi0jZGVmaW5lIEFSTUFEQV9JT0NUTChkaXIsIG5hbWUsIHN0cikgICBEUk1fIyNkaXIoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9BUk1BREFfIyNuYW1lLCBzdHJ1Y3QgZHJtX2FybWFkYV8jI3N0cikKKyNkZWZpbmUgQVJNQURBX0lPQ1RMKGRpcixuYW1lLHN0cikgRFJNXyAjI2RpcihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0FSTUFEQV8gIyNuYW1lLCBzdHJ1Y3QgZHJtX2FybWFkYV8gIyNzdHIpCiBzdHJ1Y3QgZHJtX2FybWFkYV9nZW1fY3JlYXRlIHsKLSB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3Qgc2l6ZTsKIH07Ci0jZGVmaW5lIERSTV9JT0NUTF9BUk1BREFfR0VNX0NSRUFURSAgIEFSTUFEQV9JT0NUTChJT1dSLCBHRU1fQ1JFQVRFLCBnZW1fY3JlYXRlKQorI2RlZmluZSBEUk1fSU9DVExfQVJNQURBX0dFTV9DUkVBVEUgQVJNQURBX0lPQ1RMKElPV1IsIEdFTV9DUkVBVEUsIGdlbV9jcmVhdGUpCiBzdHJ1Y3QgZHJtX2FybWFkYV9nZW1fbW1hcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBwYWQ7Ci0gdWludDY0X3Qgb2Zmc2V0OwotIHVpbnQ2NF90IHNpemU7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgcGFkOworICB1aW50NjRfdCBvZmZzZXQ7CisgIHVpbnQ2NF90IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGFkZHI7CisgIHVpbnQ2NF90IGFkZHI7CiB9OwotI2RlZmluZSBEUk1fSU9DVExfQVJNQURBX0dFTV9NTUFQICAgQVJNQURBX0lPQ1RMKElPV1IsIEdFTV9NTUFQLCBnZW1fbW1hcCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0FSTUFEQV9HRU1fTU1BUCBBUk1BREFfSU9DVEwoSU9XUiwgR0VNX01NQVAsIGdlbV9tbWFwKQogc3RydWN0IGRybV9hcm1hZGFfZ2VtX3B3cml0ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHB0cjsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3Qgb2Zmc2V0OwotIHVpbnQzMl90IHNpemU7CisgIHVpbnQ2NF90IHB0cjsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBvZmZzZXQ7CisgIHVpbnQzMl90IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgRFJNX0lPQ1RMX0FSTUFEQV9HRU1fUFdSSVRFICAgQVJNQURBX0lPQ1RMKElPVywgR0VNX1BXUklURSwgZ2VtX3B3cml0ZSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0FSTUFEQV9HRU1fUFdSSVRFIEFSTUFEQV9JT0NUTChJT1csIEdFTV9QV1JJVEUsIGdlbV9wd3JpdGUpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybS5oIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vZHJtLmgKaW5kZXggZWQ4NDhhOC4uOGVmYzdkNyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vZHJtLmgKQEAgLTQ5LDM3NiArNDksMzc2IEBACiAjZGVmaW5lIF9EUk1fTE9DS19DT05UIDB4NDAwMDAwMDBVCiAjZGVmaW5lIF9EUk1fTE9DS19JU19IRUxEKGxvY2spICgobG9jaykgJiBfRFJNX0xPQ0tfSEVMRCkKICNkZWZpbmUgX0RSTV9MT0NLX0lTX0NPTlQobG9jaykgKChsb2NrKSAmIF9EUk1fTE9DS19DT05UKQotI2RlZmluZSBfRFJNX0xPQ0tJTkdfQ09OVEVYVChsb2NrKSAoKGxvY2spICYgfihfRFJNX0xPQ0tfSEVMRHxfRFJNX0xPQ0tfQ09OVCkpCisjZGVmaW5lIF9EUk1fTE9DS0lOR19DT05URVhUKGxvY2spICgobG9jaykgJiB+KF9EUk1fTE9DS19IRUxEIHwgX0RSTV9MT0NLX0NPTlQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgdW5zaWduZWQgaW50IGRybV9jb250ZXh0X3Q7CiB0eXBlZGVmIHVuc2lnbmVkIGludCBkcm1fZHJhd2FibGVfdDsKIHR5cGVkZWYgdW5zaWduZWQgaW50IGRybV9tYWdpY190Owogc3RydWN0IGRybV9jbGlwX3JlY3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB4MTsKLSB1bnNpZ25lZCBzaG9ydCB5MTsKLSB1bnNpZ25lZCBzaG9ydCB4MjsKLSB1bnNpZ25lZCBzaG9ydCB5MjsKKyAgdW5zaWduZWQgc2hvcnQgeDE7CisgIHVuc2lnbmVkIHNob3J0IHkxOworICB1bnNpZ25lZCBzaG9ydCB4MjsKKyAgdW5zaWduZWQgc2hvcnQgeTI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fZHJhd2FibGVfaW5mbyB7Ci0gdW5zaWduZWQgaW50IG51bV9yZWN0czsKLSBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCAqcmVjdHM7CisgIHVuc2lnbmVkIGludCBudW1fcmVjdHM7CisgIHN0cnVjdCBkcm1fY2xpcF9yZWN0ICogcmVjdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiB7Ci0gdW5zaWduZWQgY2hhciBuZXh0OwotIHVuc2lnbmVkIGNoYXIgcHJldjsKKyAgdW5zaWduZWQgY2hhciBuZXh0OworICB1bnNpZ25lZCBjaGFyIHByZXY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgaW5fdXNlOwotIHVuc2lnbmVkIGNoYXIgcGFkZGluZzsKLSB1bnNpZ25lZCBpbnQgYWdlOworICB1bnNpZ25lZCBjaGFyIGluX3VzZTsKKyAgdW5zaWduZWQgY2hhciBwYWRkaW5nOworICB1bnNpZ25lZCBpbnQgYWdlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2h3X2xvY2sgewotIF9fdm9sYXRpbGVfXyB1bnNpZ25lZCBpbnQgbG9jazsKLSBjaGFyIHBhZGRpbmdbNjBdOworICBfX3ZvbGF0aWxlX18gdW5zaWduZWQgaW50IGxvY2s7CisgIGNoYXIgcGFkZGluZ1s2MF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fdmVyc2lvbiB7Ci0gaW50IHZlcnNpb25fbWFqb3I7Ci0gaW50IHZlcnNpb25fbWlub3I7Ci0gaW50IHZlcnNpb25fcGF0Y2hsZXZlbDsKKyAgaW50IHZlcnNpb25fbWFqb3I7CisgIGludCB2ZXJzaW9uX21pbm9yOworICBpbnQgdmVyc2lvbl9wYXRjaGxldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplX3QgbmFtZV9sZW47Ci0gY2hhciBfX3VzZXIgKm5hbWU7Ci0gc2l6ZV90IGRhdGVfbGVuOwotIGNoYXIgX191c2VyICpkYXRlOworICBzaXplX3QgbmFtZV9sZW47CisgIGNoYXIgX191c2VyICogbmFtZTsKKyAgc2l6ZV90IGRhdGVfbGVuOworICBjaGFyIF9fdXNlciAqIGRhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpemVfdCBkZXNjX2xlbjsKLSBjaGFyIF9fdXNlciAqZGVzYzsKKyAgc2l6ZV90IGRlc2NfbGVuOworICBjaGFyIF9fdXNlciAqIGRlc2M7CiB9Owogc3RydWN0IGRybV91bmlxdWUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplX3QgdW5pcXVlX2xlbjsKLSBjaGFyIF9fdXNlciAqdW5pcXVlOworICBzaXplX3QgdW5pcXVlX2xlbjsKKyAgY2hhciBfX3VzZXIgKiB1bmlxdWU7CiB9Owogc3RydWN0IGRybV9saXN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNvdW50OwotIHN0cnVjdCBkcm1fdmVyc2lvbiBfX3VzZXIgKnZlcnNpb247CisgIGludCBjb3VudDsKKyAgc3RydWN0IGRybV92ZXJzaW9uIF9fdXNlciAqIHZlcnNpb247CiB9Owogc3RydWN0IGRybV9ibG9jayB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB1bnVzZWQ7CisgIGludCB1bnVzZWQ7CiB9Owogc3RydWN0IGRybV9jb250cm9sIHsKLSBlbnVtIHsKKyAgZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERSTV9BRERfQ09NTUFORCwKLSBEUk1fUk1fQ09NTUFORCwKLSBEUk1fSU5TVF9IQU5ETEVSLAotIERSTV9VTklOU1RfSEFORExFUgorICAgIERSTV9BRERfQ09NTUFORCwKKyAgICBEUk1fUk1fQ09NTUFORCwKKyAgICBEUk1fSU5TVF9IQU5ETEVSLAorICAgIERSTV9VTklOU1RfSEFORExFUgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGZ1bmM7Ci0gaW50IGlycTsKKyAgfSBmdW5jOworICBpbnQgaXJxOwogfTsKIGVudW0gZHJtX21hcF90eXBlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX0RSTV9GUkFNRV9CVUZGRVIgPSAwLAotIF9EUk1fUkVHSVNURVJTID0gMSwKLSBfRFJNX1NITSA9IDIsCi0gX0RSTV9BR1AgPSAzLAorICBfRFJNX0ZSQU1FX0JVRkZFUiA9IDAsCisgIF9EUk1fUkVHSVNURVJTID0gMSwKKyAgX0RSTV9TSE0gPSAyLAorICBfRFJNX0FHUCA9IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fU0NBVFRFUl9HQVRIRVIgPSA0LAotIF9EUk1fQ09OU0lTVEVOVCA9IDUsCisgIF9EUk1fU0NBVFRFUl9HQVRIRVIgPSA0LAorICBfRFJNX0NPTlNJU1RFTlQgPSA1LAogfTsKIGVudW0gZHJtX21hcF9mbGFncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fUkVTVFJJQ1RFRCA9IDB4MDEsCi0gX0RSTV9SRUFEX09OTFkgPSAweDAyLAotIF9EUk1fTE9DS0VEID0gMHgwNCwKLSBfRFJNX0tFUk5FTCA9IDB4MDgsCisgIF9EUk1fUkVTVFJJQ1RFRCA9IDB4MDEsCisgIF9EUk1fUkVBRF9PTkxZID0gMHgwMiwKKyAgX0RSTV9MT0NLRUQgPSAweDA0LAorICBfRFJNX0tFUk5FTCA9IDB4MDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fV1JJVEVfQ09NQklOSU5HID0gMHgxMCwKLSBfRFJNX0NPTlRBSU5TX0xPQ0sgPSAweDIwLAotIF9EUk1fUkVNT1ZBQkxFID0gMHg0MCwKLSBfRFJNX0RSSVZFUiA9IDB4ODAKKyAgX0RSTV9XUklURV9DT01CSU5JTkcgPSAweDEwLAorICBfRFJNX0NPTlRBSU5TX0xPQ0sgPSAweDIwLAorICBfRFJNX1JFTU9WQUJMRSA9IDB4NDAsCisgIF9EUk1fRFJJVkVSID0gMHg4MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX2N0eF9wcml2X21hcCB7Ci0gdW5zaWduZWQgaW50IGN0eF9pZDsKLSB2b2lkICpoYW5kbGU7CisgIHVuc2lnbmVkIGludCBjdHhfaWQ7CisgIHZvaWQgKiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fbWFwIHsKLSB1bnNpZ25lZCBsb25nIG9mZnNldDsKLSB1bnNpZ25lZCBsb25nIHNpemU7CisgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gZHJtX21hcF90eXBlIHR5cGU7Ci0gZW51bSBkcm1fbWFwX2ZsYWdzIGZsYWdzOwotIHZvaWQgKmhhbmRsZTsKLSBpbnQgbXRycjsKKyAgZW51bSBkcm1fbWFwX3R5cGUgdHlwZTsKKyAgZW51bSBkcm1fbWFwX2ZsYWdzIGZsYWdzOworICB2b2lkICogaGFuZGxlOworICBpbnQgbXRycjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV9jbGllbnQgewotIGludCBpZHg7Ci0gaW50IGF1dGg7CisgIGludCBpZHg7CisgIGludCBhdXRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHBpZDsKLSB1bnNpZ25lZCBsb25nIHVpZDsKLSB1bnNpZ25lZCBsb25nIG1hZ2ljOwotIHVuc2lnbmVkIGxvbmcgaW9jczsKKyAgdW5zaWduZWQgbG9uZyBwaWQ7CisgIHVuc2lnbmVkIGxvbmcgdWlkOworICB1bnNpZ25lZCBsb25nIG1hZ2ljOworICB1bnNpZ25lZCBsb25nIGlvY3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZHJtX3N0YXRfdHlwZSB7Ci0gX0RSTV9TVEFUX0xPQ0ssCi0gX0RSTV9TVEFUX09QRU5TLAorICBfRFJNX1NUQVRfTE9DSywKKyAgX0RSTV9TVEFUX09QRU5TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfRFJNX1NUQVRfQ0xPU0VTLAotIF9EUk1fU1RBVF9JT0NUTFMsCi0gX0RSTV9TVEFUX0xPQ0tTLAotIF9EUk1fU1RBVF9VTkxPQ0tTLAorICBfRFJNX1NUQVRfQ0xPU0VTLAorICBfRFJNX1NUQVRfSU9DVExTLAorICBfRFJNX1NUQVRfTE9DS1MsCisgIF9EUk1fU1RBVF9VTkxPQ0tTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfRFJNX1NUQVRfVkFMVUUsCi0gX0RSTV9TVEFUX0JZVEUsCi0gX0RSTV9TVEFUX0NPVU5ULAotIF9EUk1fU1RBVF9JUlEsCisgIF9EUk1fU1RBVF9WQUxVRSwKKyAgX0RSTV9TVEFUX0JZVEUsCisgIF9EUk1fU1RBVF9DT1VOVCwKKyAgX0RSTV9TVEFUX0lSUSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX0RSTV9TVEFUX1BSSU1BUlksCi0gX0RSTV9TVEFUX1NFQ09OREFSWSwKLSBfRFJNX1NUQVRfRE1BLAotIF9EUk1fU1RBVF9TUEVDSUFMLAorICBfRFJNX1NUQVRfUFJJTUFSWSwKKyAgX0RSTV9TVEFUX1NFQ09OREFSWSwKKyAgX0RSTV9TVEFUX0RNQSwKKyAgX0RSTV9TVEFUX1NQRUNJQUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fU1RBVF9NSVNTRUQKKyAgX0RSTV9TVEFUX01JU1NFRAogfTsKIHN0cnVjdCBkcm1fc3RhdHMgewotIHVuc2lnbmVkIGxvbmcgY291bnQ7CisgIHVuc2lnbmVkIGxvbmcgY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdW5zaWduZWQgbG9uZyB2YWx1ZTsKLSBlbnVtIGRybV9zdGF0X3R5cGUgdHlwZTsKLSB9IGRhdGFbMTVdOworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGxvbmcgdmFsdWU7CisgICAgZW51bSBkcm1fc3RhdF90eXBlIHR5cGU7CisgIH0gZGF0YVsxNV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZHJtX2xvY2tfZmxhZ3MgewotIF9EUk1fTE9DS19SRUFEWSA9IDB4MDEsCi0gX0RSTV9MT0NLX1FVSUVTQ0VOVCA9IDB4MDIsCisgIF9EUk1fTE9DS19SRUFEWSA9IDB4MDEsCisgIF9EUk1fTE9DS19RVUlFU0NFTlQgPSAweDAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfRFJNX0xPQ0tfRkxVU0ggPSAweDA0LAotIF9EUk1fTE9DS19GTFVTSF9BTEwgPSAweDA4LAotIF9EUk1fSEFMVF9BTExfUVVFVUVTID0gMHgxMCwKLSBfRFJNX0hBTFRfQ1VSX1FVRVVFUyA9IDB4MjAKKyAgX0RSTV9MT0NLX0ZMVVNIID0gMHgwNCwKKyAgX0RSTV9MT0NLX0ZMVVNIX0FMTCA9IDB4MDgsCisgIF9EUk1fSEFMVF9BTExfUVVFVUVTID0gMHgxMCwKKyAgX0RSTV9IQUxUX0NVUl9RVUVVRVMgPSAweDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fbG9jayB7Ci0gaW50IGNvbnRleHQ7Ci0gZW51bSBkcm1fbG9ja19mbGFncyBmbGFnczsKKyAgaW50IGNvbnRleHQ7CisgIGVudW0gZHJtX2xvY2tfZmxhZ3MgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZHJtX2RtYV9mbGFncyB7Ci0gX0RSTV9ETUFfQkxPQ0sgPSAweDAxLAotIF9EUk1fRE1BX1dISUxFX0xPQ0tFRCA9IDB4MDIsCisgIF9EUk1fRE1BX0JMT0NLID0gMHgwMSwKKyAgX0RSTV9ETUFfV0hJTEVfTE9DS0VEID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX0RSTV9ETUFfUFJJT1JJVFkgPSAweDA0LAotIF9EUk1fRE1BX1dBSVQgPSAweDEwLAotIF9EUk1fRE1BX1NNQUxMRVJfT0sgPSAweDIwLAotIF9EUk1fRE1BX0xBUkdFUl9PSyA9IDB4NDAKKyAgX0RSTV9ETUFfUFJJT1JJVFkgPSAweDA0LAorICBfRFJNX0RNQV9XQUlUID0gMHgxMCwKKyAgX0RSTV9ETUFfU01BTExFUl9PSyA9IDB4MjAsCisgIF9EUk1fRE1BX0xBUkdFUl9PSyA9IDB4NDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV9idWZfZGVzYyB7Ci0gaW50IGNvdW50OwotIGludCBzaXplOworICBpbnQgY291bnQ7CisgIGludCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbG93X21hcms7Ci0gaW50IGhpZ2hfbWFyazsKLSBlbnVtIHsKLSBfRFJNX1BBR0VfQUxJR04gPSAweDAxLAorICBpbnQgbG93X21hcms7CisgIGludCBoaWdoX21hcms7CisgIGVudW0geworICAgIF9EUk1fUEFHRV9BTElHTiA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fQUdQX0JVRkZFUiA9IDB4MDIsCi0gX0RSTV9TR19CVUZGRVIgPSAweDA0LAotIF9EUk1fRkJfQlVGRkVSID0gMHgwOCwKLSBfRFJNX1BDSV9CVUZGRVJfUk8gPSAweDEwCisgICAgX0RSTV9BR1BfQlVGRkVSID0gMHgwMiwKKyAgICBfRFJNX1NHX0JVRkZFUiA9IDB4MDQsCisgICAgX0RSTV9GQl9CVUZGRVIgPSAweDA4LAorICAgIF9EUk1fUENJX0JVRkZFUl9STyA9IDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBmbGFnczsKLSB1bnNpZ25lZCBsb25nIGFncF9zdGFydDsKKyAgfSBmbGFnczsKKyAgdW5zaWduZWQgbG9uZyBhZ3Bfc3RhcnQ7CiB9Owogc3RydWN0IGRybV9idWZfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjb3VudDsKLSBzdHJ1Y3QgZHJtX2J1Zl9kZXNjIF9fdXNlciAqbGlzdDsKKyAgaW50IGNvdW50OworICBzdHJ1Y3QgZHJtX2J1Zl9kZXNjIF9fdXNlciAqIGxpc3Q7CiB9Owogc3RydWN0IGRybV9idWZfZnJlZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjb3VudDsKLSBpbnQgX191c2VyICpsaXN0OworICBpbnQgY291bnQ7CisgIGludCBfX3VzZXIgKiBsaXN0OwogfTsKIHN0cnVjdCBkcm1fYnVmX3B1YiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBpZHg7Ci0gaW50IHRvdGFsOwotIGludCB1c2VkOwotIHZvaWQgX191c2VyICphZGRyZXNzOworICBpbnQgaWR4OworICBpbnQgdG90YWw7CisgIGludCB1c2VkOworICB2b2lkIF9fdXNlciAqIGFkZHJlc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fYnVmX21hcCB7Ci0gaW50IGNvdW50OwotIHZvaWQgX191c2VyICp2aXJ0dWFsOworICBpbnQgY291bnQ7CisgIHZvaWQgX191c2VyICogdmlydHVhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGRybV9idWZfcHViIF9fdXNlciAqbGlzdDsKKyAgc3RydWN0IGRybV9idWZfcHViIF9fdXNlciAqIGxpc3Q7CiB9Owogc3RydWN0IGRybV9kbWEgewotIGludCBjb250ZXh0OworICBpbnQgY29udGV4dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHNlbmRfY291bnQ7Ci0gaW50IF9fdXNlciAqc2VuZF9pbmRpY2VzOwotIGludCBfX3VzZXIgKnNlbmRfc2l6ZXM7Ci0gZW51bSBkcm1fZG1hX2ZsYWdzIGZsYWdzOworICBpbnQgc2VuZF9jb3VudDsKKyAgaW50IF9fdXNlciAqIHNlbmRfaW5kaWNlczsKKyAgaW50IF9fdXNlciAqIHNlbmRfc2l6ZXM7CisgIGVudW0gZHJtX2RtYV9mbGFncyBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHJlcXVlc3RfY291bnQ7Ci0gaW50IHJlcXVlc3Rfc2l6ZTsKLSBpbnQgX191c2VyICpyZXF1ZXN0X2luZGljZXM7Ci0gaW50IF9fdXNlciAqcmVxdWVzdF9zaXplczsKKyAgaW50IHJlcXVlc3RfY291bnQ7CisgIGludCByZXF1ZXN0X3NpemU7CisgIGludCBfX3VzZXIgKiByZXF1ZXN0X2luZGljZXM7CisgIGludCBfX3VzZXIgKiByZXF1ZXN0X3NpemVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZ3JhbnRlZF9jb3VudDsKKyAgaW50IGdyYW50ZWRfY291bnQ7CiB9OwogZW51bSBkcm1fY3R4X2ZsYWdzIHsKLSBfRFJNX0NPTlRFWFRfUFJFU0VSVkVEID0gMHgwMSwKKyAgX0RSTV9DT05URVhUX1BSRVNFUlZFRCA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fQ09OVEVYVF8yRE9OTFkgPSAweDAyCisgIF9EUk1fQ09OVEVYVF8yRE9OTFkgPSAweDAyCiB9Owogc3RydWN0IGRybV9jdHggewotIGRybV9jb250ZXh0X3QgaGFuZGxlOworICBkcm1fY29udGV4dF90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZW51bSBkcm1fY3R4X2ZsYWdzIGZsYWdzOworICBlbnVtIGRybV9jdHhfZmxhZ3MgZmxhZ3M7CiB9Owogc3RydWN0IGRybV9jdHhfcmVzIHsKLSBpbnQgY291bnQ7CisgIGludCBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGRybV9jdHggX191c2VyICpjb250ZXh0czsKKyAgc3RydWN0IGRybV9jdHggX191c2VyICogY29udGV4dHM7CiB9Owogc3RydWN0IGRybV9kcmF3IHsKLSBkcm1fZHJhd2FibGVfdCBoYW5kbGU7CisgIGRybV9kcmF3YWJsZV90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogdHlwZWRlZiBlbnVtIHsKLSBEUk1fRFJBV0FCTEVfQ0xJUFJFQ1RTLAorICBEUk1fRFJBV0FCTEVfQ0xJUFJFQ1RTLAogfSBkcm1fZHJhd2FibGVfaW5mb190eXBlX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV91cGRhdGVfZHJhdyB7Ci0gZHJtX2RyYXdhYmxlX3QgaGFuZGxlOwotIHVuc2lnbmVkIGludCB0eXBlOwotIHVuc2lnbmVkIGludCBudW07CisgIGRybV9kcmF3YWJsZV90IGhhbmRsZTsKKyAgdW5zaWduZWQgaW50IHR5cGU7CisgIHVuc2lnbmVkIGludCBudW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhOworICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YTsKIH07CiBzdHJ1Y3QgZHJtX2F1dGggewotIGRybV9tYWdpY190IG1hZ2ljOworICBkcm1fbWFnaWNfdCBtYWdpYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV9pcnFfYnVzaWQgewotIGludCBpcnE7Ci0gaW50IGJ1c251bTsKKyAgaW50IGlycTsKKyAgaW50IGJ1c251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGRldm51bTsKLSBpbnQgZnVuY251bTsKKyAgaW50IGRldm51bTsKKyAgaW50IGZ1bmNudW07CiB9OwogZW51bSBkcm1fdmJsYW5rX3NlcV90eXBlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX0RSTV9WQkxBTktfQUJTT0xVVEUgPSAweDAsCi0gX0RSTV9WQkxBTktfUkVMQVRJVkUgPSAweDEsCi0gX0RSTV9WQkxBTktfSElHSF9DUlRDX01BU0sgPSAweDAwMDAwMDNlLAotIF9EUk1fVkJMQU5LX0VWRU5UID0gMHg0MDAwMDAwLAorICBfRFJNX1ZCTEFOS19BQlNPTFVURSA9IDB4MCwKKyAgX0RSTV9WQkxBTktfUkVMQVRJVkUgPSAweDEsCisgIF9EUk1fVkJMQU5LX0hJR0hfQ1JUQ19NQVNLID0gMHgwMDAwMDAzZSwKKyAgX0RSTV9WQkxBTktfRVZFTlQgPSAweDQwMDAwMDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9EUk1fVkJMQU5LX0ZMSVAgPSAweDgwMDAwMDAsCi0gX0RSTV9WQkxBTktfTkVYVE9OTUlTUyA9IDB4MTAwMDAwMDAsCi0gX0RSTV9WQkxBTktfU0VDT05EQVJZID0gMHgyMDAwMDAwMCwKLSBfRFJNX1ZCTEFOS19TSUdOQUwgPSAweDQwMDAwMDAwCisgIF9EUk1fVkJMQU5LX0ZMSVAgPSAweDgwMDAwMDAsCisgIF9EUk1fVkJMQU5LX05FWFRPTk1JU1MgPSAweDEwMDAwMDAwLAorICBfRFJNX1ZCTEFOS19TRUNPTkRBUlkgPSAweDIwMDAwMDAwLAorICBfRFJNX1ZCTEFOS19TSUdOQUwgPSAweDQwMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgX0RSTV9WQkxBTktfSElHSF9DUlRDX1NISUZUIDEKICNkZWZpbmUgX0RSTV9WQkxBTktfVFlQRVNfTUFTSyAoX0RSTV9WQkxBTktfQUJTT0xVVEUgfCBfRFJNX1ZCTEFOS19SRUxBVElWRSkKLSNkZWZpbmUgX0RSTV9WQkxBTktfRkxBR1NfTUFTSyAoX0RSTV9WQkxBTktfRVZFTlQgfCBfRFJNX1ZCTEFOS19TSUdOQUwgfCAgIF9EUk1fVkJMQU5LX1NFQ09OREFSWSB8IF9EUk1fVkJMQU5LX05FWFRPTk1JU1MpCisjZGVmaW5lIF9EUk1fVkJMQU5LX0ZMQUdTX01BU0sgKF9EUk1fVkJMQU5LX0VWRU5UIHwgX0RSTV9WQkxBTktfU0lHTkFMIHwgX0RSTV9WQkxBTktfU0VDT05EQVJZIHwgX0RSTV9WQkxBTktfTkVYVE9OTUlTUykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX3dhaXRfdmJsYW5rX3JlcXVlc3QgewotIGVudW0gZHJtX3ZibGFua19zZXFfdHlwZSB0eXBlOwotIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKLSB1bnNpZ25lZCBsb25nIHNpZ25hbDsKKyAgZW51bSBkcm1fdmJsYW5rX3NlcV90eXBlIHR5cGU7CisgIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKKyAgdW5zaWduZWQgbG9uZyBzaWduYWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fd2FpdF92YmxhbmtfcmVwbHkgewotIGVudW0gZHJtX3ZibGFua19zZXFfdHlwZSB0eXBlOwotIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKKyAgZW51bSBkcm1fdmJsYW5rX3NlcV90eXBlIHR5cGU7CisgIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyB0dmFsX3NlYzsKLSBsb25nIHR2YWxfdXNlYzsKKyAgbG9uZyB0dmFsX3NlYzsKKyAgbG9uZyB0dmFsX3VzZWM7CiB9OwogdW5pb24gZHJtX3dhaXRfdmJsYW5rIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGRybV93YWl0X3ZibGFua19yZXF1ZXN0IHJlcXVlc3Q7Ci0gc3RydWN0IGRybV93YWl0X3ZibGFua19yZXBseSByZXBseTsKKyAgc3RydWN0IGRybV93YWl0X3ZibGFua19yZXF1ZXN0IHJlcXVlc3Q7CisgIHN0cnVjdCBkcm1fd2FpdF92YmxhbmtfcmVwbHkgcmVwbHk7CiB9OwogI2RlZmluZSBfRFJNX1BSRV9NT0RFU0VUIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9EUk1fUE9TVF9NT0RFU0VUIDIKIHN0cnVjdCBkcm1fbW9kZXNldF9jdGwgewotIF9fdTMyIGNydGM7Ci0gX191MzIgY21kOworICBfX3UzMiBjcnRjOworICBfX3UzMiBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fYWdwX21vZGUgewotIHVuc2lnbmVkIGxvbmcgbW9kZTsKKyAgdW5zaWduZWQgbG9uZyBtb2RlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2FncF9idWZmZXIgewotIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLSB1bnNpZ25lZCBsb25nIGhhbmRsZTsKLSB1bnNpZ25lZCBsb25nIHR5cGU7CisgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBoYW5kbGU7CisgIHVuc2lnbmVkIGxvbmcgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBwaHlzaWNhbDsKKyAgdW5zaWduZWQgbG9uZyBwaHlzaWNhbDsKIH07CiBzdHJ1Y3QgZHJtX2FncF9iaW5kaW5nIHsKLSB1bnNpZ25lZCBsb25nIGhhbmRsZTsKKyAgdW5zaWduZWQgbG9uZyBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIG9mZnNldDsKIH07CiBzdHJ1Y3QgZHJtX2FncF9pbmZvIHsKLSBpbnQgYWdwX3ZlcnNpb25fbWFqb3I7CisgIGludCBhZ3BfdmVyc2lvbl9tYWpvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGFncF92ZXJzaW9uX21pbm9yOwotIHVuc2lnbmVkIGxvbmcgbW9kZTsKLSB1bnNpZ25lZCBsb25nIGFwZXJ0dXJlX2Jhc2U7Ci0gdW5zaWduZWQgbG9uZyBhcGVydHVyZV9zaXplOworICBpbnQgYWdwX3ZlcnNpb25fbWlub3I7CisgIHVuc2lnbmVkIGxvbmcgbW9kZTsKKyAgdW5zaWduZWQgbG9uZyBhcGVydHVyZV9iYXNlOworICB1bnNpZ25lZCBsb25nIGFwZXJ0dXJlX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbWVtb3J5X2FsbG93ZWQ7Ci0gdW5zaWduZWQgbG9uZyBtZW1vcnlfdXNlZDsKLSB1bnNpZ25lZCBzaG9ydCBpZF92ZW5kb3I7Ci0gdW5zaWduZWQgc2hvcnQgaWRfZGV2aWNlOworICB1bnNpZ25lZCBsb25nIG1lbW9yeV9hbGxvd2VkOworICB1bnNpZ25lZCBsb25nIG1lbW9yeV91c2VkOworICB1bnNpZ25lZCBzaG9ydCBpZF92ZW5kb3I7CisgIHVuc2lnbmVkIHNob3J0IGlkX2RldmljZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV9zY2F0dGVyX2dhdGhlciB7Ci0gdW5zaWduZWQgbG9uZyBzaXplOwotIHVuc2lnbmVkIGxvbmcgaGFuZGxlOworICB1bnNpZ25lZCBsb25nIHNpemU7CisgIHVuc2lnbmVkIGxvbmcgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX3NldF92ZXJzaW9uIHsKLSBpbnQgZHJtX2RpX21ham9yOwotIGludCBkcm1fZGlfbWlub3I7CisgIGludCBkcm1fZGlfbWFqb3I7CisgIGludCBkcm1fZGlfbWlub3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBkcm1fZGRfbWFqb3I7Ci0gaW50IGRybV9kZF9taW5vcjsKKyAgaW50IGRybV9kZF9tYWpvcjsKKyAgaW50IGRybV9kZF9taW5vcjsKIH07CiBzdHJ1Y3QgZHJtX2dlbV9jbG9zZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBwYWQ7CisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgcGFkOwogfTsKIHN0cnVjdCBkcm1fZ2VtX2ZsaW5rIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFuZGxlOwotIF9fdTMyIG5hbWU7CisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgbmFtZTsKIH07CiBzdHJ1Y3QgZHJtX2dlbV9vcGVuIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbmFtZTsKLSBfX3UzMiBoYW5kbGU7Ci0gX191NjQgc2l6ZTsKKyAgX191MzIgbmFtZTsKKyAgX191MzIgaGFuZGxlOworICBfX3U2NCBzaXplOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9DQVBfRFVNQl9CVUZGRVIgMHgxCkBAIC00MzYsMjA1ICs0MzYsMjA2IEBACiAjZGVmaW5lIERSTV9DQVBfQ1VSU09SX0hFSUdIVCAweDkKIHN0cnVjdCBkcm1fZ2V0X2NhcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGNhcGFiaWxpdHk7Ci0gX191NjQgdmFsdWU7CisgIF9fdTY0IGNhcGFiaWxpdHk7CisgIF9fdTY0IHZhbHVlOwogfTsKICNkZWZpbmUgRFJNX0NMSUVOVF9DQVBfU1RFUkVPXzNEIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9DTElFTlRfQ0FQX1VOSVZFUlNBTF9QTEFORVMgMgogc3RydWN0IGRybV9zZXRfY2xpZW50X2NhcCB7Ci0gX191NjQgY2FwYWJpbGl0eTsKLSBfX3U2NCB2YWx1ZTsKLX07CisgIF9fdTY0IGNhcGFiaWxpdHk7CisgIF9fdTY0IHZhbHVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CiAjZGVmaW5lIERSTV9DTE9FWEVDIE9fQ0xPRVhFQwogc3RydWN0IGRybV9wcmltZV9oYW5kbGUgewotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBmZDsKKyAgX191MzIgZmxhZ3M7CisgIF9fczMyIGZkOwogfTsKICNpbmNsdWRlIDxkcm0vZHJtX21vZGUuaD4KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9CQVNFICdkJworI2RlZmluZSBEUk1fSU8obnIpIF9JTyhEUk1fSU9DVExfQkFTRSwgbnIpCisjZGVmaW5lIERSTV9JT1IobnIsdHlwZSkgX0lPUihEUk1fSU9DVExfQkFTRSwgbnIsIHR5cGUpCisjZGVmaW5lIERSTV9JT1cobnIsdHlwZSkgX0lPVyhEUk1fSU9DVExfQkFTRSwgbnIsIHR5cGUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU8obnIpIF9JTyhEUk1fSU9DVExfQkFTRSxucikKLSNkZWZpbmUgRFJNX0lPUihucix0eXBlKSBfSU9SKERSTV9JT0NUTF9CQVNFLG5yLHR5cGUpCi0jZGVmaW5lIERSTV9JT1cobnIsdHlwZSkgX0lPVyhEUk1fSU9DVExfQkFTRSxucix0eXBlKQotI2RlZmluZSBEUk1fSU9XUihucix0eXBlKSBfSU9XUihEUk1fSU9DVExfQkFTRSxucix0eXBlKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPV1IobnIsdHlwZSkgX0lPV1IoRFJNX0lPQ1RMX0JBU0UsIG5yLCB0eXBlKQogI2RlZmluZSBEUk1fSU9DVExfVkVSU0lPTiBEUk1fSU9XUigweDAwLCBzdHJ1Y3QgZHJtX3ZlcnNpb24pCiAjZGVmaW5lIERSTV9JT0NUTF9HRVRfVU5JUVVFIERSTV9JT1dSKDB4MDEsIHN0cnVjdCBkcm1fdW5pcXVlKQotI2RlZmluZSBEUk1fSU9DVExfR0VUX01BR0lDIERSTV9JT1IoIDB4MDIsIHN0cnVjdCBkcm1fYXV0aCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0lSUV9CVVNJRCBEUk1fSU9XUigweDAzLCBzdHJ1Y3QgZHJtX2lycV9idXNpZCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0dFVF9NQUdJQyBEUk1fSU9SKDB4MDIsIHN0cnVjdCBkcm1fYXV0aCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9JT0NUTF9JUlFfQlVTSUQgRFJNX0lPV1IoMHgwMywgc3RydWN0IGRybV9pcnFfYnVzaWQpCiAjZGVmaW5lIERSTV9JT0NUTF9HRVRfTUFQIERSTV9JT1dSKDB4MDQsIHN0cnVjdCBkcm1fbWFwKQogI2RlZmluZSBEUk1fSU9DVExfR0VUX0NMSUVOVCBEUk1fSU9XUigweDA1LCBzdHJ1Y3QgZHJtX2NsaWVudCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0dFVF9TVEFUUyBEUk1fSU9SKCAweDA2LCBzdHJ1Y3QgZHJtX3N0YXRzKQorI2RlZmluZSBEUk1fSU9DVExfR0VUX1NUQVRTIERSTV9JT1IoMHgwNiwgc3RydWN0IGRybV9zdGF0cykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9TRVRfVkVSU0lPTiBEUk1fSU9XUigweDA3LCBzdHJ1Y3QgZHJtX3NldF92ZXJzaW9uKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX01PREVTRVRfQ1RMIERSTV9JT1coMHgwOCwgc3RydWN0IGRybV9tb2Rlc2V0X2N0bCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0dFTV9DTE9TRSBEUk1fSU9XICgweDA5LCBzdHJ1Y3QgZHJtX2dlbV9jbG9zZSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0dFTV9DTE9TRSBEUk1fSU9XKDB4MDksIHN0cnVjdCBkcm1fZ2VtX2Nsb3NlKQogI2RlZmluZSBEUk1fSU9DVExfR0VNX0ZMSU5LIERSTV9JT1dSKDB4MGEsIHN0cnVjdCBkcm1fZ2VtX2ZsaW5rKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX0dFTV9PUEVOIERSTV9JT1dSKDB4MGIsIHN0cnVjdCBkcm1fZ2VtX29wZW4pCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfR0VUX0NBUCBEUk1fSU9XUigweDBjLCBzdHJ1Y3QgZHJtX2dldF9jYXApCi0jZGVmaW5lIERSTV9JT0NUTF9TRVRfQ0xJRU5UX0NBUCBEUk1fSU9XKCAweDBkLCBzdHJ1Y3QgZHJtX3NldF9jbGllbnRfY2FwKQotI2RlZmluZSBEUk1fSU9DVExfU0VUX1VOSVFVRSBEUk1fSU9XKCAweDEwLCBzdHJ1Y3QgZHJtX3VuaXF1ZSkKLSNkZWZpbmUgRFJNX0lPQ1RMX0FVVEhfTUFHSUMgRFJNX0lPVyggMHgxMSwgc3RydWN0IGRybV9hdXRoKQorI2RlZmluZSBEUk1fSU9DVExfU0VUX0NMSUVOVF9DQVAgRFJNX0lPVygweDBkLCBzdHJ1Y3QgZHJtX3NldF9jbGllbnRfY2FwKQorI2RlZmluZSBEUk1fSU9DVExfU0VUX1VOSVFVRSBEUk1fSU9XKDB4MTAsIHN0cnVjdCBkcm1fdW5pcXVlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX0FVVEhfTUFHSUMgRFJNX0lPVygweDExLCBzdHJ1Y3QgZHJtX2F1dGgpCiAjZGVmaW5lIERSTV9JT0NUTF9CTE9DSyBEUk1fSU9XUigweDEyLCBzdHJ1Y3QgZHJtX2Jsb2NrKQogI2RlZmluZSBEUk1fSU9DVExfVU5CTE9DSyBEUk1fSU9XUigweDEzLCBzdHJ1Y3QgZHJtX2Jsb2NrKQotI2RlZmluZSBEUk1fSU9DVExfQ09OVFJPTCBEUk1fSU9XKCAweDE0LCBzdHJ1Y3QgZHJtX2NvbnRyb2wpCisjZGVmaW5lIERSTV9JT0NUTF9DT05UUk9MIERSTV9JT1coMHgxNCwgc3RydWN0IGRybV9jb250cm9sKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX0FERF9NQVAgRFJNX0lPV1IoMHgxNSwgc3RydWN0IGRybV9tYXApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfQUREX0JVRlMgRFJNX0lPV1IoMHgxNiwgc3RydWN0IGRybV9idWZfZGVzYykKLSNkZWZpbmUgRFJNX0lPQ1RMX01BUktfQlVGUyBEUk1fSU9XKCAweDE3LCBzdHJ1Y3QgZHJtX2J1Zl9kZXNjKQorI2RlZmluZSBEUk1fSU9DVExfTUFSS19CVUZTIERSTV9JT1coMHgxNywgc3RydWN0IGRybV9idWZfZGVzYykKICNkZWZpbmUgRFJNX0lPQ1RMX0lORk9fQlVGUyBEUk1fSU9XUigweDE4LCBzdHJ1Y3QgZHJtX2J1Zl9pbmZvKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX01BUF9CVUZTIERSTV9JT1dSKDB4MTksIHN0cnVjdCBkcm1fYnVmX21hcCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0ZSRUVfQlVGUyBEUk1fSU9XKDB4MWEsIHN0cnVjdCBkcm1fYnVmX2ZyZWUpCisjZGVmaW5lIERSTV9JT0NUTF9STV9NQVAgRFJNX0lPVygweDFiLCBzdHJ1Y3QgZHJtX21hcCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1NFVF9TQVJFQV9DVFggRFJNX0lPVygweDFjLCBzdHJ1Y3QgZHJtX2N0eF9wcml2X21hcCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9GUkVFX0JVRlMgRFJNX0lPVyggMHgxYSwgc3RydWN0IGRybV9idWZfZnJlZSkKLSNkZWZpbmUgRFJNX0lPQ1RMX1JNX01BUCBEUk1fSU9XKCAweDFiLCBzdHJ1Y3QgZHJtX21hcCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1NFVF9TQVJFQV9DVFggRFJNX0lPVyggMHgxYywgc3RydWN0IGRybV9jdHhfcHJpdl9tYXApCiAjZGVmaW5lIERSTV9JT0NUTF9HRVRfU0FSRUFfQ1RYIERSTV9JT1dSKDB4MWQsIHN0cnVjdCBkcm1fY3R4X3ByaXZfbWFwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX1NFVF9NQVNURVIgRFJNX0lPKDB4MWUpCiAjZGVmaW5lIERSTV9JT0NUTF9EUk9QX01BU1RFUiBEUk1fSU8oMHgxZikKICNkZWZpbmUgRFJNX0lPQ1RMX0FERF9DVFggRFJNX0lPV1IoMHgyMCwgc3RydWN0IGRybV9jdHgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfUk1fQ1RYIERSTV9JT1dSKDB4MjEsIHN0cnVjdCBkcm1fY3R4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX01PRF9DVFggRFJNX0lPVyggMHgyMiwgc3RydWN0IGRybV9jdHgpCisjZGVmaW5lIERSTV9JT0NUTF9NT0RfQ1RYIERSTV9JT1coMHgyMiwgc3RydWN0IGRybV9jdHgpCiAjZGVmaW5lIERSTV9JT0NUTF9HRVRfQ1RYIERSTV9JT1dSKDB4MjMsIHN0cnVjdCBkcm1fY3R4KQotI2RlZmluZSBEUk1fSU9DVExfU1dJVENIX0NUWCBEUk1fSU9XKCAweDI0LCBzdHJ1Y3QgZHJtX2N0eCkKLSNkZWZpbmUgRFJNX0lPQ1RMX05FV19DVFggRFJNX0lPVyggMHgyNSwgc3RydWN0IGRybV9jdHgpCisjZGVmaW5lIERSTV9JT0NUTF9TV0lUQ0hfQ1RYIERSTV9JT1coMHgyNCwgc3RydWN0IGRybV9jdHgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fSU9DVExfTkVXX0NUWCBEUk1fSU9XKDB4MjUsIHN0cnVjdCBkcm1fY3R4KQogI2RlZmluZSBEUk1fSU9DVExfUkVTX0NUWCBEUk1fSU9XUigweDI2LCBzdHJ1Y3QgZHJtX2N0eF9yZXMpCiAjZGVmaW5lIERSTV9JT0NUTF9BRERfRFJBVyBEUk1fSU9XUigweDI3LCBzdHJ1Y3QgZHJtX2RyYXcpCiAjZGVmaW5lIERSTV9JT0NUTF9STV9EUkFXIERSTV9JT1dSKDB4MjgsIHN0cnVjdCBkcm1fZHJhdykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9ETUEgRFJNX0lPV1IoMHgyOSwgc3RydWN0IGRybV9kbWEpCisjZGVmaW5lIERSTV9JT0NUTF9MT0NLIERSTV9JT1coMHgyYSwgc3RydWN0IGRybV9sb2NrKQorI2RlZmluZSBEUk1fSU9DVExfVU5MT0NLIERSTV9JT1coMHgyYiwgc3RydWN0IGRybV9sb2NrKQorI2RlZmluZSBEUk1fSU9DVExfRklOSVNIIERSTV9JT1coMHgyYywgc3RydWN0IGRybV9sb2NrKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX0xPQ0sgRFJNX0lPVyggMHgyYSwgc3RydWN0IGRybV9sb2NrKQotI2RlZmluZSBEUk1fSU9DVExfVU5MT0NLIERSTV9JT1coIDB4MmIsIHN0cnVjdCBkcm1fbG9jaykKLSNkZWZpbmUgRFJNX0lPQ1RMX0ZJTklTSCBEUk1fSU9XKCAweDJjLCBzdHJ1Y3QgZHJtX2xvY2spCiAjZGVmaW5lIERSTV9JT0NUTF9QUklNRV9IQU5ETEVfVE9fRkQgRFJNX0lPV1IoMHgyZCwgc3RydWN0IGRybV9wcmltZV9oYW5kbGUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfUFJJTUVfRkRfVE9fSEFORExFIERSTV9JT1dSKDB4MmUsIHN0cnVjdCBkcm1fcHJpbWVfaGFuZGxlKQotI2RlZmluZSBEUk1fSU9DVExfQUdQX0FDUVVJUkUgRFJNX0lPKCAweDMwKQotI2RlZmluZSBEUk1fSU9DVExfQUdQX1JFTEVBU0UgRFJNX0lPKCAweDMxKQotI2RlZmluZSBEUk1fSU9DVExfQUdQX0VOQUJMRSBEUk1fSU9XKCAweDMyLCBzdHJ1Y3QgZHJtX2FncF9tb2RlKQorI2RlZmluZSBEUk1fSU9DVExfQUdQX0FDUVVJUkUgRFJNX0lPKDB4MzApCisjZGVmaW5lIERSTV9JT0NUTF9BR1BfUkVMRUFTRSBEUk1fSU8oMHgzMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9BR1BfSU5GTyBEUk1fSU9SKCAweDMzLCBzdHJ1Y3QgZHJtX2FncF9pbmZvKQorI2RlZmluZSBEUk1fSU9DVExfQUdQX0VOQUJMRSBEUk1fSU9XKDB4MzIsIHN0cnVjdCBkcm1fYWdwX21vZGUpCisjZGVmaW5lIERSTV9JT0NUTF9BR1BfSU5GTyBEUk1fSU9SKDB4MzMsIHN0cnVjdCBkcm1fYWdwX2luZm8pCiAjZGVmaW5lIERSTV9JT0NUTF9BR1BfQUxMT0MgRFJNX0lPV1IoMHgzNCwgc3RydWN0IGRybV9hZ3BfYnVmZmVyKQotI2RlZmluZSBEUk1fSU9DVExfQUdQX0ZSRUUgRFJNX0lPVyggMHgzNSwgc3RydWN0IGRybV9hZ3BfYnVmZmVyKQotI2RlZmluZSBEUk1fSU9DVExfQUdQX0JJTkQgRFJNX0lPVyggMHgzNiwgc3RydWN0IGRybV9hZ3BfYmluZGluZykKKyNkZWZpbmUgRFJNX0lPQ1RMX0FHUF9GUkVFIERSTV9JT1coMHgzNSwgc3RydWN0IGRybV9hZ3BfYnVmZmVyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX0FHUF9VTkJJTkQgRFJNX0lPVyggMHgzNywgc3RydWN0IGRybV9hZ3BfYmluZGluZykKKyNkZWZpbmUgRFJNX0lPQ1RMX0FHUF9CSU5EIERSTV9JT1coMHgzNiwgc3RydWN0IGRybV9hZ3BfYmluZGluZykKKyNkZWZpbmUgRFJNX0lPQ1RMX0FHUF9VTkJJTkQgRFJNX0lPVygweDM3LCBzdHJ1Y3QgZHJtX2FncF9iaW5kaW5nKQogI2RlZmluZSBEUk1fSU9DVExfU0dfQUxMT0MgRFJNX0lPV1IoMHgzOCwgc3RydWN0IGRybV9zY2F0dGVyX2dhdGhlcikKLSNkZWZpbmUgRFJNX0lPQ1RMX1NHX0ZSRUUgRFJNX0lPVyggMHgzOSwgc3RydWN0IGRybV9zY2F0dGVyX2dhdGhlcikKLSNkZWZpbmUgRFJNX0lPQ1RMX1dBSVRfVkJMQU5LIERSTV9JT1dSKDB4M2EsIHVuaW9uIGRybV93YWl0X3ZibGFuaykKKyNkZWZpbmUgRFJNX0lPQ1RMX1NHX0ZSRUUgRFJNX0lPVygweDM5LCBzdHJ1Y3QgZHJtX3NjYXR0ZXJfZ2F0aGVyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX1dBSVRfVkJMQU5LIERSTV9JT1dSKDB4M2EsIHVuaW9uIGRybV93YWl0X3ZibGFuaykKICNkZWZpbmUgRFJNX0lPQ1RMX1VQREFURV9EUkFXIERSTV9JT1coMHgzZiwgc3RydWN0IGRybV91cGRhdGVfZHJhdykKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUUkVTT1VSQ0VTIERSTV9JT1dSKDB4QTAsIHN0cnVjdCBkcm1fbW9kZV9jYXJkX3JlcykKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUQ1JUQyBEUk1fSU9XUigweEExLCBzdHJ1Y3QgZHJtX21vZGVfY3J0YykKLSNkZWZpbmUgRFJNX0lPQ1RMX01PREVfU0VUQ1JUQyBEUk1fSU9XUigweEEyLCBzdHJ1Y3QgZHJtX21vZGVfY3J0YykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9JT0NUTF9NT0RFX1NFVENSVEMgRFJNX0lPV1IoMHhBMiwgc3RydWN0IGRybV9tb2RlX2NydGMpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0NVUlNPUiBEUk1fSU9XUigweEEzLCBzdHJ1Y3QgZHJtX21vZGVfY3Vyc29yKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRHQU1NQSBEUk1fSU9XUigweEE0LCBzdHJ1Y3QgZHJtX21vZGVfY3J0Y19sdXQpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX1NFVEdBTU1BIERSTV9JT1dSKDB4QTUsIHN0cnVjdCBkcm1fbW9kZV9jcnRjX2x1dCkKLSNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VURU5DT0RFUiBEUk1fSU9XUigweEE2LCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2VuY29kZXIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRFTkNPREVSIERSTV9JT1dSKDB4QTYsIHN0cnVjdCBkcm1fbW9kZV9nZXRfZW5jb2RlcikKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUQ09OTkVDVE9SIERSTV9JT1dSKDB4QTcsIHN0cnVjdCBkcm1fbW9kZV9nZXRfY29ubmVjdG9yKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9BVFRBQ0hNT0RFIERSTV9JT1dSKDB4QTgsIHN0cnVjdCBkcm1fbW9kZV9tb2RlX2NtZCkKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfREVUQUNITU9ERSBEUk1fSU9XUigweEE5LCBzdHJ1Y3QgZHJtX21vZGVfbW9kZV9jbWQpCi0jZGVmaW5lIERSTV9JT0NUTF9NT0RFX0dFVFBST1BFUlRZIERSTV9JT1dSKDB4QUEsIHN0cnVjdCBkcm1fbW9kZV9nZXRfcHJvcGVydHkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRQUk9QRVJUWSBEUk1fSU9XUigweEFBLCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3Byb3BlcnR5KQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9TRVRQUk9QRVJUWSBEUk1fSU9XUigweEFCLCBzdHJ1Y3QgZHJtX21vZGVfY29ubmVjdG9yX3NldF9wcm9wZXJ0eSkKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUUFJPUEJMT0IgRFJNX0lPV1IoMHhBQywgc3RydWN0IGRybV9tb2RlX2dldF9ibG9iKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRGQiBEUk1fSU9XUigweEFELCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kKQotI2RlZmluZSBEUk1fSU9DVExfTU9ERV9BRERGQiBEUk1fSU9XUigweEFFLCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVfQURERkIgRFJNX0lPV1IoMHhBRSwgc3RydWN0IGRybV9tb2RlX2ZiX2NtZCkKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfUk1GQiBEUk1fSU9XUigweEFGLCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX1BBR0VfRkxJUCBEUk1fSU9XUigweEIwLCBzdHJ1Y3QgZHJtX21vZGVfY3J0Y19wYWdlX2ZsaXApCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0RJUlRZRkIgRFJNX0lPV1IoMHhCMSwgc3RydWN0IGRybV9tb2RlX2ZiX2RpcnR5X2NtZCkKLSNkZWZpbmUgRFJNX0lPQ1RMX01PREVfQ1JFQVRFX0RVTUIgRFJNX0lPV1IoMHhCMiwgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVfQ1JFQVRFX0RVTUIgRFJNX0lPV1IoMHhCMiwgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9NQVBfRFVNQiBEUk1fSU9XUigweEIzLCBzdHJ1Y3QgZHJtX21vZGVfbWFwX2R1bWIpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0RFU1RST1lfRFVNQiBEUk1fSU9XUigweEI0LCBzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9kdW1iKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRQTEFORVJFU09VUkNFUyBEUk1fSU9XUigweEI1LCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lX3JlcykKLSNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUUExBTkUgRFJNX0lPV1IoMHhCNiwgc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FIERSTV9JT1dSKDB4QjYsIHN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX1NFVFBMQU5FIERSTV9JT1dSKDB4QjcsIHN0cnVjdCBkcm1fbW9kZV9zZXRfcGxhbmUpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0FEREZCMiBEUk1fSU9XUigweEI4LCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMikKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfT0JKX0dFVFBST1BFUlRJRVMgRFJNX0lPV1IoMHhCOSwgc3RydWN0IGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllcykKLSNkZWZpbmUgRFJNX0lPQ1RMX01PREVfT0JKX1NFVFBST1BFUlRZIERSTV9JT1dSKDB4QkEsIHN0cnVjdCBkcm1fbW9kZV9vYmpfc2V0X3Byb3BlcnR5KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVfT0JKX1NFVFBST1BFUlRZIERSTV9JT1dSKDB4QkEsIHN0cnVjdCBkcm1fbW9kZV9vYmpfc2V0X3Byb3BlcnR5KQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9DVVJTT1IyIERSTV9JT1dSKDB4QkIsIHN0cnVjdCBkcm1fbW9kZV9jdXJzb3IyKQogI2RlZmluZSBEUk1fQ09NTUFORF9CQVNFIDB4NDAKICNkZWZpbmUgRFJNX0NPTU1BTkRfRU5EIDB4QTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2V2ZW50IHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UzMiBsZW5ndGg7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGxlbmd0aDsKIH07Ci0jZGVmaW5lIERSTV9FVkVOVF9WQkxBTksgMHgwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0VWRU5UX1ZCTEFOSyAweDAxCiAjZGVmaW5lIERSTV9FVkVOVF9GTElQX0NPTVBMRVRFIDB4MDIKIHN0cnVjdCBkcm1fZXZlbnRfdmJsYW5rIHsKLSBzdHJ1Y3QgZHJtX2V2ZW50IGJhc2U7Ci0gX191NjQgdXNlcl9kYXRhOworICBzdHJ1Y3QgZHJtX2V2ZW50IGJhc2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR2X3NlYzsKLSBfX3UzMiB0dl91c2VjOwotIF9fdTMyIHNlcXVlbmNlOwotIF9fdTMyIHJlc2VydmVkOworICBfX3U2NCB1c2VyX2RhdGE7CisgIF9fdTMyIHR2X3NlYzsKKyAgX191MzIgdHZfdXNlYzsKKyAgX191MzIgc2VxdWVuY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiByZXNlcnZlZDsKIH07CiB0eXBlZGVmIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGRybV9jbGlwX3JlY3RfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9kcmF3YWJsZV9pbmZvIGRybV9kcmF3YWJsZV9pbmZvX3Q7Ci10eXBlZGVmIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiBkcm1fdGV4X3JlZ2lvbl90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3R5cGVkZWYgc3RydWN0IGRybV90ZXhfcmVnaW9uIGRybV90ZXhfcmVnaW9uX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1faHdfbG9jayBkcm1faHdfbG9ja190OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3ZlcnNpb24gZHJtX3ZlcnNpb25fdDsKIHR5cGVkZWYgc3RydWN0IGRybV91bmlxdWUgZHJtX3VuaXF1ZV90OwotdHlwZWRlZiBzdHJ1Y3QgZHJtX2xpc3QgZHJtX2xpc3RfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIHN0cnVjdCBkcm1fbGlzdCBkcm1fbGlzdF90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2Jsb2NrIGRybV9ibG9ja190OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2NvbnRyb2wgZHJtX2NvbnRyb2xfdDsKIHR5cGVkZWYgZW51bSBkcm1fbWFwX3R5cGUgZHJtX21hcF90eXBlX3Q7Ci10eXBlZGVmIGVudW0gZHJtX21hcF9mbGFncyBkcm1fbWFwX2ZsYWdzX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwordHlwZWRlZiBlbnVtIGRybV9tYXBfZmxhZ3MgZHJtX21hcF9mbGFnc190OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2N0eF9wcml2X21hcCBkcm1fY3R4X3ByaXZfbWFwX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fbWFwIGRybV9tYXBfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9jbGllbnQgZHJtX2NsaWVudF90OwotdHlwZWRlZiBlbnVtIGRybV9zdGF0X3R5cGUgZHJtX3N0YXRfdHlwZV90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3R5cGVkZWYgZW51bSBkcm1fc3RhdF90eXBlIGRybV9zdGF0X3R5cGVfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9zdGF0cyBkcm1fc3RhdHNfdDsKIHR5cGVkZWYgZW51bSBkcm1fbG9ja19mbGFncyBkcm1fbG9ja19mbGFnc190OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2xvY2sgZHJtX2xvY2tfdDsKLXR5cGVkZWYgZW51bSBkcm1fZG1hX2ZsYWdzIGRybV9kbWFfZmxhZ3NfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIGVudW0gZHJtX2RtYV9mbGFncyBkcm1fZG1hX2ZsYWdzX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fYnVmX2Rlc2MgZHJtX2J1Zl9kZXNjX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fYnVmX2luZm8gZHJtX2J1Zl9pbmZvX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fYnVmX2ZyZWUgZHJtX2J1Zl9mcmVlX3Q7Ci10eXBlZGVmIHN0cnVjdCBkcm1fYnVmX3B1YiBkcm1fYnVmX3B1Yl90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3R5cGVkZWYgc3RydWN0IGRybV9idWZfcHViIGRybV9idWZfcHViX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fYnVmX21hcCBkcm1fYnVmX21hcF90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2RtYSBkcm1fZG1hX3Q7CiB0eXBlZGVmIHVuaW9uIGRybV93YWl0X3ZibGFuayBkcm1fd2FpdF92YmxhbmtfdDsKLXR5cGVkZWYgc3RydWN0IGRybV9hZ3BfbW9kZSBkcm1fYWdwX21vZGVfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIHN0cnVjdCBkcm1fYWdwX21vZGUgZHJtX2FncF9tb2RlX3Q7CiB0eXBlZGVmIGVudW0gZHJtX2N0eF9mbGFncyBkcm1fY3R4X2ZsYWdzX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fY3R4IGRybV9jdHhfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9jdHhfcmVzIGRybV9jdHhfcmVzX3Q7Ci10eXBlZGVmIHN0cnVjdCBkcm1fZHJhdyBkcm1fZHJhd190OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3R5cGVkZWYgc3RydWN0IGRybV9kcmF3IGRybV9kcmF3X3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fdXBkYXRlX2RyYXcgZHJtX3VwZGF0ZV9kcmF3X3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fYXV0aCBkcm1fYXV0aF90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2lycV9idXNpZCBkcm1faXJxX2J1c2lkX3Q7Ci10eXBlZGVmIGVudW0gZHJtX3ZibGFua19zZXFfdHlwZSBkcm1fdmJsYW5rX3NlcV90eXBlX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwordHlwZWRlZiBlbnVtIGRybV92Ymxhbmtfc2VxX3R5cGUgZHJtX3ZibGFua19zZXFfdHlwZV90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2FncF9idWZmZXIgZHJtX2FncF9idWZmZXJfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9hZ3BfYmluZGluZyBkcm1fYWdwX2JpbmRpbmdfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9hZ3BfaW5mbyBkcm1fYWdwX2luZm9fdDsKLXR5cGVkZWYgc3RydWN0IGRybV9zY2F0dGVyX2dhdGhlciBkcm1fc2NhdHRlcl9nYXRoZXJfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIHN0cnVjdCBkcm1fc2NhdHRlcl9nYXRoZXIgZHJtX3NjYXR0ZXJfZ2F0aGVyX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fc2V0X3ZlcnNpb24gZHJtX3NldF92ZXJzaW9uX3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybV9mb3VyY2MuaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybV9mb3VyY2MuaAppbmRleCBlNGFjZjE3Li40N2U5M2RkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9kcm1fZm91cmNjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oCkBAIC0xOSw5ICsxOSw5IEBACiAjaWZuZGVmIERSTV9GT1VSQ0NfSAogI2RlZmluZSBEUk1fRk9VUkNDX0gKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2RlZmluZSBmb3VyY2NfY29kZShhLCBiLCBjLCBkKSAoKF9fdTMyKShhKSB8ICgoX191MzIpKGIpIDw8IDgpIHwgICAoKF9fdTMyKShjKSA8PCAxNikgfCAoKF9fdTMyKShkKSA8PCAyNCkpCisjZGVmaW5lIGZvdXJjY19jb2RlKGEsYixjLGQpICgoX191MzIpIChhKSB8ICgoX191MzIpIChiKSA8PCA4KSB8ICgoX191MzIpIChjKSA8PCAxNikgfCAoKF9fdTMyKSAoZCkgPDwgMjQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0ZPUk1BVF9CSUdfRU5ESUFOICgxPDwzMSkKKyNkZWZpbmUgRFJNX0ZPUk1BVF9CSUdfRU5ESUFOICgxIDw8IDMxKQogI2RlZmluZSBEUk1fRk9STUFUX0M4IGZvdXJjY19jb2RlKCdDJywgJzgnLCAnICcsICcgJykKICNkZWZpbmUgRFJNX0ZPUk1BVF9SR0IzMzIgZm91cmNjX2NvZGUoJ1InLCAnRycsICdCJywgJzgnKQogI2RlZmluZSBEUk1fRk9STUFUX0JHUjIzMyBmb3VyY2NfY29kZSgnQicsICdHJywgJ1InLCAnOCcpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2RybS9kcm1fbW9kZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vZHJtX21vZGUuaAppbmRleCBiYmUxYzhlLi5hYmQ5MmExIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9kcm1fbW9kZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybV9tb2RlLmgKQEAgLTI0LDQ1ICsyNCw0NSBAQAogI2RlZmluZSBEUk1fQ09OTkVDVE9SX05BTUVfTEVOIDMyCiAjZGVmaW5lIERSTV9ESVNQTEFZX01PREVfTEVOIDMyCiAjZGVmaW5lIERSTV9QUk9QX05BTUVfTEVOIDMyCi0jZGVmaW5lIERSTV9NT0RFX1RZUEVfQlVJTFRJTiAoMTw8MCkKKyNkZWZpbmUgRFJNX01PREVfVFlQRV9CVUlMVElOICgxIDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fTU9ERV9UWVBFX0NMT0NLX0MgKCgxPDwxKSB8IERSTV9NT0RFX1RZUEVfQlVJTFRJTikKLSNkZWZpbmUgRFJNX01PREVfVFlQRV9DUlRDX0MgKCgxPDwyKSB8IERSTV9NT0RFX1RZUEVfQlVJTFRJTikKLSNkZWZpbmUgRFJNX01PREVfVFlQRV9QUkVGRVJSRUQgKDE8PDMpCi0jZGVmaW5lIERSTV9NT0RFX1RZUEVfREVGQVVMVCAoMTw8NCkKKyNkZWZpbmUgRFJNX01PREVfVFlQRV9DTE9DS19DICgoMSA8PCAxKSB8IERSTV9NT0RFX1RZUEVfQlVJTFRJTikKKyNkZWZpbmUgRFJNX01PREVfVFlQRV9DUlRDX0MgKCgxIDw8IDIpIHwgRFJNX01PREVfVFlQRV9CVUlMVElOKQorI2RlZmluZSBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRCAoMSA8PCAzKQorI2RlZmluZSBEUk1fTU9ERV9UWVBFX0RFRkFVTFQgKDEgPDwgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9NT0RFX1RZUEVfVVNFUkRFRiAoMTw8NSkKLSNkZWZpbmUgRFJNX01PREVfVFlQRV9EUklWRVIgKDE8PDYpCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfUEhTWU5DICgxPDwwKQotI2RlZmluZSBEUk1fTU9ERV9GTEFHX05IU1lOQyAoMTw8MSkKKyNkZWZpbmUgRFJNX01PREVfVFlQRV9VU0VSREVGICgxIDw8IDUpCisjZGVmaW5lIERSTV9NT0RFX1RZUEVfRFJJVkVSICgxIDw8IDYpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfUEhTWU5DICgxIDw8IDApCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfTkhTWU5DICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fTU9ERV9GTEFHX1BWU1lOQyAoMTw8MikKLSNkZWZpbmUgRFJNX01PREVfRkxBR19OVlNZTkMgKDE8PDMpCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFICgxPDw0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHX0RCTFNDQU4gKDE8PDUpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfUFZTWU5DICgxIDw8IDIpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfTlZTWU5DICgxIDw8IDMpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFICgxIDw8IDQpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfREJMU0NBTiAoMSA8PCA1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX01PREVfRkxBR19DU1lOQyAoMTw8NikKLSNkZWZpbmUgRFJNX01PREVfRkxBR19QQ1NZTkMgKDE8PDcpCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfTkNTWU5DICgxPDw4KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHX0hTS0VXICgxPDw5KQorI2RlZmluZSBEUk1fTU9ERV9GTEFHX0NTWU5DICgxIDw8IDYpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfUENTWU5DICgxIDw8IDcpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfTkNTWU5DICgxIDw8IDgpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfSFNLRVcgKDEgPDwgOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfQkNBU1QgKDE8PDEwKQotI2RlZmluZSBEUk1fTU9ERV9GTEFHX1BJWE1VWCAoMTw8MTEpCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfREJMQ0xLICgxPDwxMikKLSNkZWZpbmUgRFJNX01PREVfRkxBR19DTEtESVYyICgxPDwxMykKKyNkZWZpbmUgRFJNX01PREVfRkxBR19CQ0FTVCAoMSA8PCAxMCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR19QSVhNVVggKDEgPDwgMTEpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfREJMQ0xLICgxIDw8IDEyKQorI2RlZmluZSBEUk1fTU9ERV9GTEFHX0NMS0RJVjIgKDEgPDwgMTMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX01BU0sgKDB4MWY8PDE0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX05PTkUgKDA8PDE0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX0ZSQU1FX1BBQ0tJTkcgKDE8PDE0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX0ZJRUxEX0FMVEVSTkFUSVZFICgyPDwxNCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9NQVNLICgweDFmIDw8IDE0KQorI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX05PTkUgKDAgPDwgMTQpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfM0RfRlJBTUVfUEFDS0lORyAoMSA8PCAxNCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9GSUVMRF9BTFRFUk5BVElWRSAoMiA8PCAxNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfM0RfTElORV9BTFRFUk5BVElWRSAoMzw8MTQpCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfM0RfU0lERV9CWV9TSURFX0ZVTEwgKDQ8PDE0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX0xfREVQVEggKDU8PDE0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX0xfREVQVEhfR0ZYX0dGWF9ERVBUSCAoNjw8MTQpCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdfM0RfTElORV9BTFRFUk5BVElWRSAoMyA8PCAxNCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9TSURFX0JZX1NJREVfRlVMTCAoNCA8PCAxNCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9MX0RFUFRIICg1IDw8IDE0KQorI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX0xfREVQVEhfR0ZYX0dGWF9ERVBUSCAoNiA8PCAxNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9NT0RFX0ZMQUdfM0RfVE9QX0FORF9CT1RUT00gKDc8PDE0KQotI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX1NJREVfQllfU0lERV9IQUxGICg4PDwxNCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9UT1BfQU5EX0JPVFRPTSAoNyA8PCAxNCkKKyNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9TSURFX0JZX1NJREVfSEFMRiAoOCA8PCAxNCkKICNkZWZpbmUgRFJNX01PREVfRFBNU19PTiAwCiAjZGVmaW5lIERSTV9NT0RFX0RQTVNfU1RBTkRCWSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNzMsMTAwICs3MywxMDUgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9NT0RFX1NDQUxFX0NFTlRFUiAyCiAjZGVmaW5lIERSTV9NT0RFX1NDQUxFX0FTUEVDVCAzCisjZGVmaW5lIERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUX05PTkUgMAorI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF80XzMgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfMTZfOSAyCiAjZGVmaW5lIERSTV9NT0RFX0RJVEhFUklOR19PRkYgMAogI2RlZmluZSBEUk1fTU9ERV9ESVRIRVJJTkdfT04gMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX01PREVfRElUSEVSSU5HX0FVVE8gMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX01PREVfRElSVFlfT0ZGIDAKICNkZWZpbmUgRFJNX01PREVfRElSVFlfT04gMQogI2RlZmluZSBEUk1fTU9ERV9ESVJUWV9BTk5PVEFURSAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKLSBfX3UzMiBjbG9jazsKLSBfX3UxNiBoZGlzcGxheSwgaHN5bmNfc3RhcnQsIGhzeW5jX2VuZCwgaHRvdGFsLCBoc2tldzsKLSBfX3UxNiB2ZGlzcGxheSwgdnN5bmNfc3RhcnQsIHZzeW5jX2VuZCwgdnRvdGFsLCB2c2NhbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdnJlZnJlc2g7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgdHlwZTsKLSBjaGFyIG5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU5dOworICBfX3UzMiBjbG9jazsKKyAgX191MTYgaGRpc3BsYXksIGhzeW5jX3N0YXJ0LCBoc3luY19lbmQsIGh0b3RhbCwgaHNrZXc7CisgIF9fdTE2IHZkaXNwbGF5LCB2c3luY19zdGFydCwgdnN5bmNfZW5kLCB2dG90YWwsIHZzY2FuOworICBfX3UzMiB2cmVmcmVzaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGZsYWdzOworICBfX3UzMiB0eXBlOworICBjaGFyIG5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU5dOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX21vZGVfY2FyZF9yZXMgewotIF9fdTY0IGZiX2lkX3B0cjsKLSBfX3U2NCBjcnRjX2lkX3B0cjsKKyAgX191NjQgZmJfaWRfcHRyOworICBfX3U2NCBjcnRjX2lkX3B0cjsKKyAgX191NjQgY29ubmVjdG9yX2lkX3B0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgY29ubmVjdG9yX2lkX3B0cjsKLSBfX3U2NCBlbmNvZGVyX2lkX3B0cjsKLSBfX3UzMiBjb3VudF9mYnM7Ci0gX191MzIgY291bnRfY3J0Y3M7CisgIF9fdTY0IGVuY29kZXJfaWRfcHRyOworICBfX3UzMiBjb3VudF9mYnM7CisgIF9fdTMyIGNvdW50X2NydGNzOworICBfX3UzMiBjb3VudF9jb25uZWN0b3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb3VudF9jb25uZWN0b3JzOwotIF9fdTMyIGNvdW50X2VuY29kZXJzOwotIF9fdTMyIG1pbl93aWR0aCwgbWF4X3dpZHRoOwotIF9fdTMyIG1pbl9oZWlnaHQsIG1heF9oZWlnaHQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBjb3VudF9lbmNvZGVyczsKKyAgX191MzIgbWluX3dpZHRoLCBtYXhfd2lkdGg7CisgIF9fdTMyIG1pbl9oZWlnaHQsIG1heF9oZWlnaHQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbW9kZV9jcnRjIHsKLSBfX3U2NCBzZXRfY29ubmVjdG9yc19wdHI7Ci0gX191MzIgY291bnRfY29ubmVjdG9yczsKKyAgX191NjQgc2V0X2Nvbm5lY3RvcnNfcHRyOworICBfX3UzMiBjb3VudF9jb25uZWN0b3JzOworICBfX3UzMiBjcnRjX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjcnRjX2lkOwotIF9fdTMyIGZiX2lkOwotIF9fdTMyIHgsIHk7Ci0gX191MzIgZ2FtbWFfc2l6ZTsKKyAgX191MzIgZmJfaWQ7CisgIF9fdTMyIHgsIHk7CisgIF9fdTMyIGdhbW1hX3NpemU7CisgIF9fdTMyIG1vZGVfdmFsaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1vZGVfdmFsaWQ7Ci0gc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIG1vZGU7CisgIHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyBtb2RlOwogfTsKLSNkZWZpbmUgRFJNX01PREVfUFJFU0VOVF9UT1BfRklFTEQgKDE8PDApCisjZGVmaW5lIERSTV9NT0RFX1BSRVNFTlRfVE9QX0ZJRUxEICgxIDw8IDApCisjZGVmaW5lIERSTV9NT0RFX1BSRVNFTlRfQk9UVE9NX0ZJRUxEICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fTU9ERV9QUkVTRU5UX0JPVFRPTV9GSUVMRCAoMTw8MSkKIHN0cnVjdCBkcm1fbW9kZV9zZXRfcGxhbmUgewotIF9fdTMyIHBsYW5lX2lkOwotIF9fdTMyIGNydGNfaWQ7CisgIF9fdTMyIHBsYW5lX2lkOworICBfX3UzMiBjcnRjX2lkOworICBfX3UzMiBmYl9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmJfaWQ7Ci0gX191MzIgZmxhZ3M7Ci0gX19zMzIgY3J0Y194LCBjcnRjX3k7Ci0gX191MzIgY3J0Y193LCBjcnRjX2g7CisgIF9fdTMyIGZsYWdzOworICBfX3MzMiBjcnRjX3gsIGNydGNfeTsKKyAgX191MzIgY3J0Y193LCBjcnRjX2g7CisgIF9fdTMyIHNyY194LCBzcmNfeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3JjX3gsIHNyY195OwotIF9fdTMyIHNyY19oLCBzcmNfdzsKKyAgX191MzIgc3JjX2gsIHNyY193OwogfTsKIHN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUgeworICBfX3UzMiBwbGFuZV9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGxhbmVfaWQ7Ci0gX191MzIgY3J0Y19pZDsKLSBfX3UzMiBmYl9pZDsKLSBfX3UzMiBwb3NzaWJsZV9jcnRjczsKKyAgX191MzIgY3J0Y19pZDsKKyAgX191MzIgZmJfaWQ7CisgIF9fdTMyIHBvc3NpYmxlX2NydGNzOworICBfX3UzMiBnYW1tYV9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBnYW1tYV9zaXplOwotIF9fdTMyIGNvdW50X2Zvcm1hdF90eXBlczsKLSBfX3U2NCBmb3JtYXRfdHlwZV9wdHI7CisgIF9fdTMyIGNvdW50X2Zvcm1hdF90eXBlczsKKyAgX191NjQgZm9ybWF0X3R5cGVfcHRyOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lX3JlcyB7Ci0gX191NjQgcGxhbmVfaWRfcHRyOwotIF9fdTMyIGNvdW50X3BsYW5lczsKLX07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBwbGFuZV9pZF9wdHI7CisgIF9fdTMyIGNvdW50X3BsYW5lczsKK307CiAjZGVmaW5lIERSTV9NT0RFX0VOQ09ERVJfTk9ORSAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fTU9ERV9FTkNPREVSX0RBQyAxCiAjZGVmaW5lIERSTV9NT0RFX0VOQ09ERVJfVE1EUyAyCiAjZGVmaW5lIERSTV9NT0RFX0VOQ09ERVJfTFZEUyAzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fTU9ERV9FTkNPREVSX1RWREFDIDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9NT0RFX0VOQ09ERVJfVklSVFVBTCA1CiAjZGVmaW5lIERSTV9NT0RFX0VOQ09ERVJfRFNJIDYKKyNkZWZpbmUgRFJNX01PREVfRU5DT0RFUl9EUE1TVCA3CiBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2VuY29kZXIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlbmNvZGVyX2lkOwotIF9fdTMyIGVuY29kZXJfdHlwZTsKLSBfX3UzMiBjcnRjX2lkOwotIF9fdTMyIHBvc3NpYmxlX2NydGNzOworICBfX3UzMiBlbmNvZGVyX2lkOworICBfX3UzMiBlbmNvZGVyX3R5cGU7CisgIF9fdTMyIGNydGNfaWQ7CisgIF9fdTMyIHBvc3NpYmxlX2NydGNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwb3NzaWJsZV9jbG9uZXM7CisgIF9fdTMyIHBvc3NpYmxlX2Nsb25lczsKIH07CiAjZGVmaW5lIERSTV9NT0RFX1NVQkNPTk5FQ1RPUl9BdXRvbWF0aWMgMAogI2RlZmluZSBEUk1fTU9ERV9TVUJDT05ORUNUT1JfVW5rbm93biAwCkBAIC0yMDEsMTg5ICsyMDYsMTk1IEBACiAjZGVmaW5lIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kgMTYKIHN0cnVjdCBkcm1fbW9kZV9nZXRfY29ubmVjdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZW5jb2RlcnNfcHRyOwotIF9fdTY0IG1vZGVzX3B0cjsKLSBfX3U2NCBwcm9wc19wdHI7Ci0gX191NjQgcHJvcF92YWx1ZXNfcHRyOworICBfX3U2NCBlbmNvZGVyc19wdHI7CisgIF9fdTY0IG1vZGVzX3B0cjsKKyAgX191NjQgcHJvcHNfcHRyOworICBfX3U2NCBwcm9wX3ZhbHVlc19wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvdW50X21vZGVzOwotIF9fdTMyIGNvdW50X3Byb3BzOwotIF9fdTMyIGNvdW50X2VuY29kZXJzOwotIF9fdTMyIGVuY29kZXJfaWQ7CisgIF9fdTMyIGNvdW50X21vZGVzOworICBfX3UzMiBjb3VudF9wcm9wczsKKyAgX191MzIgY291bnRfZW5jb2RlcnM7CisgIF9fdTMyIGVuY29kZXJfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvbm5lY3Rvcl9pZDsKLSBfX3UzMiBjb25uZWN0b3JfdHlwZTsKLSBfX3UzMiBjb25uZWN0b3JfdHlwZV9pZDsKLSBfX3UzMiBjb25uZWN0aW9uOworICBfX3UzMiBjb25uZWN0b3JfaWQ7CisgIF9fdTMyIGNvbm5lY3Rvcl90eXBlOworICBfX3UzMiBjb25uZWN0b3JfdHlwZV9pZDsKKyAgX191MzIgY29ubmVjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbW1fd2lkdGgsIG1tX2hlaWdodDsKLSBfX3UzMiBzdWJwaXhlbDsKLSBfX3UzMiBwYWQ7CisgIF9fdTMyIG1tX3dpZHRoLCBtbV9oZWlnaHQ7CisgIF9fdTMyIHN1YnBpeGVsOworICBfX3UzMiBwYWQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX01PREVfUFJPUF9QRU5ESU5HICgxPDwwKQotI2RlZmluZSBEUk1fTU9ERV9QUk9QX1JBTkdFICgxPDwxKQotI2RlZmluZSBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSAoMTw8MikKLSNkZWZpbmUgRFJNX01PREVfUFJPUF9FTlVNICgxPDwzKQorI2RlZmluZSBEUk1fTU9ERV9QUk9QX1BFTkRJTkcgKDEgPDwgMCkKKyNkZWZpbmUgRFJNX01PREVfUFJPUF9SQU5HRSAoMSA8PCAxKQorI2RlZmluZSBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSAoMSA8PCAyKQorI2RlZmluZSBEUk1fTU9ERV9QUk9QX0VOVU0gKDEgPDwgMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9NT0RFX1BST1BfQkxPQiAoMTw8NCkKLSNkZWZpbmUgRFJNX01PREVfUFJPUF9CSVRNQVNLICgxPDw1KQorI2RlZmluZSBEUk1fTU9ERV9QUk9QX0JMT0IgKDEgPDwgNCkKKyNkZWZpbmUgRFJNX01PREVfUFJPUF9CSVRNQVNLICgxIDw8IDUpCisjZGVmaW5lIERSTV9NT0RFX1BST1BfTEVHQUNZX1RZUEUgKERSTV9NT0RFX1BST1BfUkFOR0UgfCBEUk1fTU9ERV9QUk9QX0VOVU0gfCBEUk1fTU9ERV9QUk9QX0JMT0IgfCBEUk1fTU9ERV9QUk9QX0JJVE1BU0spCisjZGVmaW5lIERSTV9NT0RFX1BST1BfRVhURU5ERURfVFlQRSAweDAwMDBmZmMwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fTU9ERV9QUk9QX1RZUEUobikgKChuKSA8PCA2KQorI2RlZmluZSBEUk1fTU9ERV9QUk9QX09CSkVDVCBEUk1fTU9ERV9QUk9QX1RZUEUoMSkKKyNkZWZpbmUgRFJNX01PREVfUFJPUF9TSUdORURfUkFOR0UgRFJNX01PREVfUFJPUF9UWVBFKDIpCiBzdHJ1Y3QgZHJtX21vZGVfcHJvcGVydHlfZW51bSB7Ci0gX191NjQgdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtEUk1fUFJPUF9OQU1FX0xFTl07CisgIF9fdTY0IHZhbHVlOworICBjaGFyIG5hbWVbRFJNX1BST1BfTkFNRV9MRU5dOwogfTsKIHN0cnVjdCBkcm1fbW9kZV9nZXRfcHJvcGVydHkgewotIF9fdTY0IHZhbHVlc19wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGVudW1fYmxvYl9wdHI7Ci0gX191MzIgcHJvcF9pZDsKLSBfX3UzMiBmbGFnczsKLSBjaGFyIG5hbWVbRFJNX1BST1BfTkFNRV9MRU5dOworICBfX3U2NCB2YWx1ZXNfcHRyOworICBfX3U2NCBlbnVtX2Jsb2JfcHRyOworICBfX3UzMiBwcm9wX2lkOworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY291bnRfdmFsdWVzOwotIF9fdTMyIGNvdW50X2VudW1fYmxvYnM7CisgIGNoYXIgbmFtZVtEUk1fUFJPUF9OQU1FX0xFTl07CisgIF9fdTMyIGNvdW50X3ZhbHVlczsKKyAgX191MzIgY291bnRfZW51bV9ibG9iczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkgeworICBfX3U2NCB2YWx1ZTsKKyAgX191MzIgcHJvcF9pZDsKKyAgX191MzIgY29ubmVjdG9yX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB2YWx1ZTsKLSBfX3UzMiBwcm9wX2lkOwotIF9fdTMyIGNvbm5lY3Rvcl9pZDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllcyB7Ci0gX191NjQgcHJvcHNfcHRyOwotIF9fdTY0IHByb3BfdmFsdWVzX3B0cjsKLSBfX3UzMiBjb3VudF9wcm9wczsKKyAgX191NjQgcHJvcHNfcHRyOworICBfX3U2NCBwcm9wX3ZhbHVlc19wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9ial9pZDsKLSBfX3UzMiBvYmpfdHlwZTsKKyAgX191MzIgY291bnRfcHJvcHM7CisgIF9fdTMyIG9ial9pZDsKKyAgX191MzIgb2JqX3R5cGU7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbW9kZV9vYmpfc2V0X3Byb3BlcnR5IHsKKyAgX191NjQgdmFsdWU7CisgIF9fdTMyIHByb3BfaWQ7CisgIF9fdTMyIG9ial9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdmFsdWU7Ci0gX191MzIgcHJvcF9pZDsKLSBfX3UzMiBvYmpfaWQ7Ci0gX191MzIgb2JqX3R5cGU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBvYmpfdHlwZTsKIH07CiBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2Jsb2IgewotIF9fdTMyIGJsb2JfaWQ7Ci0gX191MzIgbGVuZ3RoOworICBfX3UzMiBibG9iX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkYXRhOworICBfX3UzMiBsZW5ndGg7CisgIF9fdTY0IGRhdGE7CiB9Owogc3RydWN0IGRybV9tb2RlX2ZiX2NtZCB7Ci0gX191MzIgZmJfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHdpZHRoLCBoZWlnaHQ7Ci0gX191MzIgcGl0Y2g7Ci0gX191MzIgYnBwOwotIF9fdTMyIGRlcHRoOworICBfX3UzMiBmYl9pZDsKKyAgX191MzIgd2lkdGgsIGhlaWdodDsKKyAgX191MzIgcGl0Y2g7CisgIF9fdTMyIGJwcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFuZGxlOworICBfX3UzMiBkZXB0aDsKKyAgX191MzIgaGFuZGxlOwogfTsKLSNkZWZpbmUgRFJNX01PREVfRkJfSU5URVJMQUNFRCAoMTw8MCkKKyNkZWZpbmUgRFJNX01PREVfRkJfSU5URVJMQUNFRCAoMSA8PCAwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyIHsKKyAgX191MzIgZmJfaWQ7CisgIF9fdTMyIHdpZHRoLCBoZWlnaHQ7CisgIF9fdTMyIHBpeGVsX2Zvcm1hdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmJfaWQ7Ci0gX191MzIgd2lkdGgsIGhlaWdodDsKLSBfX3UzMiBwaXhlbF9mb3JtYXQ7Ci0gX191MzIgZmxhZ3M7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBoYW5kbGVzWzRdOworICBfX3UzMiBwaXRjaGVzWzRdOworICBfX3UzMiBvZmZzZXRzWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBoYW5kbGVzWzRdOwotIF9fdTMyIHBpdGNoZXNbNF07Ci0gX191MzIgb2Zmc2V0c1s0XTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fTU9ERV9GQl9ESVJUWV9BTk5PVEFURV9DT1BZIDB4MDEKICNkZWZpbmUgRFJNX01PREVfRkJfRElSVFlfQU5OT1RBVEVfRklMTCAweDAyCiAjZGVmaW5lIERSTV9NT0RFX0ZCX0RJUlRZX0ZMQUdTIDB4MDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9NT0RFX0ZCX0RJUlRZX01BWF9DTElQUyAyNTYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX21vZGVfZmJfZGlydHlfY21kIHsKLSBfX3UzMiBmYl9pZDsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBjb2xvcjsKKyAgX191MzIgZmJfaWQ7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBudW1fY2xpcHM7Ci0gX191NjQgY2xpcHNfcHRyOworICBfX3UzMiBjb2xvcjsKKyAgX191MzIgbnVtX2NsaXBzOworICBfX3U2NCBjbGlwc19wdHI7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbW9kZV9tb2RlX2NtZCB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvbm5lY3Rvcl9pZDsKLSBzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gbW9kZTsKKyAgX191MzIgY29ubmVjdG9yX2lkOworICBzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gbW9kZTsKIH07Ci0jZGVmaW5lIERSTV9NT0RFX0NVUlNPUl9CTyAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fTU9ERV9DVVJTT1JfQk8gMHgwMQogI2RlZmluZSBEUk1fTU9ERV9DVVJTT1JfTU9WRSAweDAyCiAjZGVmaW5lIERSTV9NT0RFX0NVUlNPUl9GTEFHUyAweDAzCiBzdHJ1Y3QgZHJtX21vZGVfY3Vyc29yIHsKLSBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY3J0Y19pZDsKLSBfX3MzMiB4OwotIF9fczMyIHk7Ci0gX191MzIgd2lkdGg7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBjcnRjX2lkOworICBfX3MzMiB4OworICBfX3MzMiB5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBoZWlnaHQ7Ci0gX191MzIgaGFuZGxlOworICBfX3UzMiB3aWR0aDsKKyAgX191MzIgaGVpZ2h0OworICBfX3UzMiBoYW5kbGU7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbW9kZV9jdXJzb3IyIHsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIGNydGNfaWQ7CisgIF9fczMyIHg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIGNydGNfaWQ7Ci0gX19zMzIgeDsKLSBfX3MzMiB5OworICBfX3MzMiB5OworICBfX3UzMiB3aWR0aDsKKyAgX191MzIgaGVpZ2h0OworICBfX3UzMiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHdpZHRoOwotIF9fdTMyIGhlaWdodDsKLSBfX3UzMiBoYW5kbGU7Ci0gX19zMzIgaG90X3g7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIGhvdF95OworICBfX3MzMiBob3RfeDsKKyAgX19zMzIgaG90X3k7CiB9Owogc3RydWN0IGRybV9tb2RlX2NydGNfbHV0IHsKLSBfX3UzMiBjcnRjX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBnYW1tYV9zaXplOwotIF9fdTY0IHJlZDsKLSBfX3U2NCBncmVlbjsKLSBfX3U2NCBibHVlOworICBfX3UzMiBjcnRjX2lkOworICBfX3UzMiBnYW1tYV9zaXplOworICBfX3U2NCByZWQ7CisgIF9fdTY0IGdyZWVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgYmx1ZTsKIH07CiAjZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCAweDAxCiAjZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9BU1lOQyAweDAyCi0jZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9GTEFHUyAoRFJNX01PREVfUEFHRV9GTElQX0VWRU5UfERSTV9NT0RFX1BBR0VfRkxJUF9BU1lOQykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9GTEFHUyAoRFJNX01PREVfUEFHRV9GTElQX0VWRU5UIHwgRFJNX01PREVfUEFHRV9GTElQX0FTWU5DKQogc3RydWN0IGRybV9tb2RlX2NydGNfcGFnZV9mbGlwIHsKLSBfX3UzMiBjcnRjX2lkOwotIF9fdTMyIGZiX2lkOwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBjcnRjX2lkOworICBfX3UzMiBmYl9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191NjQgdXNlcl9kYXRhOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTY0IHVzZXJfZGF0YTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iIHsKKyAgdWludDMyX3QgaGVpZ2h0OworICB1aW50MzJfdCB3aWR0aDsKKyAgdWludDMyX3QgYnBwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBoZWlnaHQ7Ci0gdWludDMyX3Qgd2lkdGg7Ci0gdWludDMyX3QgYnBwOwotIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBmbGFnczsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBwaXRjaDsKKyAgdWludDY0X3Qgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IHBpdGNoOwotIHVpbnQ2NF90IHNpemU7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbW9kZV9tYXBfZHVtYiB7Ci0gX191MzIgaGFuZGxlOwotIF9fdTMyIHBhZDsKLSBfX3U2NCBvZmZzZXQ7CisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgb2Zmc2V0OwogfTsKIHN0cnVjdCBkcm1fbW9kZV9kZXN0cm95X2R1bWIgewotIHVpbnQzMl90IGhhbmRsZTsKLX07CisgIHVpbnQzMl90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2RybS9kcm1fc2FyZWEuaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybV9zYXJlYS5oCmluZGV4IGVjZjQ0NDAuLmNhMTljMmIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybV9zYXJlYS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvZHJtL2RybV9zYXJlYS5oCkBAIC0zNCwyNiArMzQsMjYgQEAKICNkZWZpbmUgU0FSRUFfTUFYX0RSQVdBQkxFUyAyNTYKICNkZWZpbmUgU0FSRUFfRFJBV0FCTEVfQ0xBSU1FRF9FTlRSWSAweDgwMDAwMDAwCiBzdHJ1Y3QgZHJtX3NhcmVhX2RyYXdhYmxlIHsKLSB1bnNpZ25lZCBpbnQgc3RhbXA7CisgIHVuc2lnbmVkIGludCBzdGFtcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiB9Owogc3RydWN0IGRybV9zYXJlYV9mcmFtZSB7Ci0gdW5zaWduZWQgaW50IHg7CisgIHVuc2lnbmVkIGludCB4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgeTsKLSB1bnNpZ25lZCBpbnQgd2lkdGg7Ci0gdW5zaWduZWQgaW50IGhlaWdodDsKLSB1bnNpZ25lZCBpbnQgZnVsbHNjcmVlbjsKKyAgdW5zaWduZWQgaW50IHk7CisgIHVuc2lnbmVkIGludCB3aWR0aDsKKyAgdW5zaWduZWQgaW50IGhlaWdodDsKKyAgdW5zaWduZWQgaW50IGZ1bGxzY3JlZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fc2FyZWEgewotIHN0cnVjdCBkcm1faHdfbG9jayBsb2NrOwotIHN0cnVjdCBkcm1faHdfbG9jayBkcmF3YWJsZV9sb2NrOworICBzdHJ1Y3QgZHJtX2h3X2xvY2sgbG9jazsKKyAgc3RydWN0IGRybV9od19sb2NrIGRyYXdhYmxlX2xvY2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBkcm1fc2FyZWFfZHJhd2FibGUgZHJhd2FibGVUYWJsZVtTQVJFQV9NQVhfRFJBV0FCTEVTXTsKLSBzdHJ1Y3QgZHJtX3NhcmVhX2ZyYW1lIGZyYW1lOwotIGRybV9jb250ZXh0X3QgZHVtbXlfY29udGV4dDsKKyAgc3RydWN0IGRybV9zYXJlYV9kcmF3YWJsZSBkcmF3YWJsZVRhYmxlW1NBUkVBX01BWF9EUkFXQUJMRVNdOworICBzdHJ1Y3QgZHJtX3NhcmVhX2ZyYW1lIGZyYW1lOworICBkcm1fY29udGV4dF90IGR1bW15X2NvbnRleHQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9zYXJlYV9kcmF3YWJsZSBkcm1fc2FyZWFfZHJhd2FibGVfdDsKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2V4eW5vc19kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL2V4eW5vc19kcm0uaAppbmRleCAzOWIyMjhlLi40NzI5NGI3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9leHlub3NfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vZXh5bm9zX2RybS5oCkBAIC0yMSwyNjEgKzIxLDI0MCBAQAogI2luY2x1ZGUgPGRybS9kcm0uaD4KIHN0cnVjdCBkcm1fZXh5bm9zX2dlbV9jcmVhdGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBzaXplOwotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bnNpZ25lZCBpbnQgaGFuZGxlOworICB1aW50NjRfdCBzaXplOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CisgIHVuc2lnbmVkIGludCBoYW5kbGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBkcm1fZXh5bm9zX2dlbV9tYXBfb2ZmIHsKLSB1bnNpZ25lZCBpbnQgaGFuZGxlOwotIHVuc2lnbmVkIGludCBwYWQ7Ci0gdWludDY0X3Qgb2Zmc2V0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX07Ci1zdHJ1Y3QgZHJtX2V4eW5vc19nZW1fbW1hcCB7Ci0gdW5zaWduZWQgaW50IGhhbmRsZTsKLSB1bnNpZ25lZCBpbnQgcGFkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBzaXplOwotIHVpbnQ2NF90IG1hcHBlZDsKLX07CiBzdHJ1Y3QgZHJtX2V4eW5vc19nZW1faW5mbyB7CisgIHVuc2lnbmVkIGludCBoYW5kbGU7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdWludDY0X3Qgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGhhbmRsZTsKLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gdWludDY0X3Qgc2l6ZTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9leHlub3NfdmlkaV9jb25uZWN0aW9uIHsKLSB1bnNpZ25lZCBpbnQgY29ubmVjdGlvbjsKLSB1bnNpZ25lZCBpbnQgZXh0ZW5zaW9uczsKLSB1aW50NjRfdCBlZGlkOworICB1bnNpZ25lZCBpbnQgY29ubmVjdGlvbjsKKyAgdW5zaWduZWQgaW50IGV4dGVuc2lvbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1aW50NjRfdCBlZGlkOwogfTsKIGVudW0gZV9kcm1fZXh5bm9zX2dlbV9tZW1fdHlwZSB7Ci0gRVhZTk9TX0JPX0NPTlRJRyA9IDAgPDwgMCwKLSBFWFlOT1NfQk9fTk9OQ09OVElHID0gMSA8PCAwLAorICBFWFlOT1NfQk9fQ09OVElHID0gMCA8PCAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFWFlOT1NfQk9fTk9OQ0FDSEFCTEUgPSAwIDw8IDEsCi0gRVhZTk9TX0JPX0NBQ0hBQkxFID0gMSA8PCAxLAotIEVYWU5PU19CT19XQyA9IDEgPDwgMiwKLSBFWFlOT1NfQk9fTUFTSyA9IEVYWU5PU19CT19OT05DT05USUcgfCBFWFlOT1NfQk9fQ0FDSEFCTEUgfAorICBFWFlOT1NfQk9fTk9OQ09OVElHID0gMSA8PCAwLAorICBFWFlOT1NfQk9fTk9OQ0FDSEFCTEUgPSAwIDw8IDEsCisgIEVYWU5PU19CT19DQUNIQUJMRSA9IDEgPDwgMSwKKyAgRVhZTk9TX0JPX1dDID0gMSA8PCAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFWFlOT1NfQk9fV0MKKyAgRVhZTk9TX0JPX01BU0sgPSBFWFlOT1NfQk9fTk9OQ09OVElHIHwgRVhZTk9TX0JPX0NBQ0hBQkxFIHwgRVhZTk9TX0JPX1dDCiB9Owogc3RydWN0IGRybV9leHlub3NfZzJkX2dldF92ZXIgewotIF9fdTMyIG1ham9yOworICBfX3UzMiBtYWpvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWlub3I7CisgIF9fdTMyIG1pbm9yOwogfTsKIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9jbWQgewotIF9fdTMyIG9mZnNldDsKKyAgX191MzIgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkYXRhOworICBfX3UzMiBkYXRhOwogfTsKIGVudW0gZHJtX2V4eW5vc19nMmRfYnVmX3R5cGUgewotIEcyRF9CVUZfVVNFUlBUUiA9IDEgPDwgMzEsCisgIEcyRF9CVUZfVVNFUlBUUiA9IDEgPDwgMzEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZHJtX2V4eW5vc19nMmRfZXZlbnRfdHlwZSB7Ci0gRzJEX0VWRU5UX05PVCwKLSBHMkRfRVZFTlRfTk9OU1RPUCwKKyAgRzJEX0VWRU5UX05PVCwKKyAgRzJEX0VWRU5UX05PTlNUT1AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEcyRF9FVkVOVF9TVE9QLAorICBHMkRfRVZFTlRfU1RPUCwKIH07CiBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfdXNlcnB0ciB7Ci0gdW5zaWduZWQgbG9uZyB1c2VycHRyOworICB1bnNpZ25lZCBsb25nIHVzZXJwdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBzaXplOwogfTsKIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9zZXRfY21kbGlzdCB7Ci0gX191NjQgY21kOworICBfX3U2NCBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGNtZF9idWY7Ci0gX191MzIgY21kX25yOwotIF9fdTMyIGNtZF9idWZfbnI7Ci0gX191NjQgZXZlbnRfdHlwZTsKKyAgX191NjQgY21kX2J1ZjsKKyAgX191MzIgY21kX25yOworICBfX3UzMiBjbWRfYnVmX25yOworICBfX3U2NCBldmVudF90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1c2VyX2RhdGE7CisgIF9fdTY0IHVzZXJfZGF0YTsKIH07CiBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfZXhlYyB7Ci0gX191NjQgYXN5bmM7CisgIF9fdTY0IGFzeW5jOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGRybV9leHlub3Nfb3BzX2lkIHsKLSBFWFlOT1NfRFJNX09QU19TUkMsCi0gRVhZTk9TX0RSTV9PUFNfRFNULAorICBFWFlOT1NfRFJNX09QU19TUkMsCisgIEVYWU5PU19EUk1fT1BTX0RTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRVhZTk9TX0RSTV9PUFNfTUFYLAorICBFWFlOT1NfRFJNX09QU19NQVgsCiB9Owogc3RydWN0IGRybV9leHlub3Nfc3ogewotIF9fdTMyIGhzaXplOworICBfX3UzMiBoc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdnNpemU7CisgIF9fdTMyIHZzaXplOwogfTsKIHN0cnVjdCBkcm1fZXh5bm9zX3BvcyB7Ci0gX191MzIgeDsKKyAgX191MzIgeDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgeTsKLSBfX3UzMiB3OwotIF9fdTMyIGg7CisgIF9fdTMyIHk7CisgIF9fdTMyIHc7CisgIF9fdTMyIGg7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gZHJtX2V4eW5vc19mbGlwIHsKLSBFWFlOT1NfRFJNX0ZMSVBfTk9ORSA9ICgwIDw8IDApLAotIEVYWU5PU19EUk1fRkxJUF9WRVJUSUNBTCA9ICgxIDw8IDApLAotIEVYWU5PU19EUk1fRkxJUF9IT1JJWk9OVEFMID0gKDEgPDwgMSksCisgIEVYWU5PU19EUk1fRkxJUF9OT05FID0gKDAgPDwgMCksCisgIEVYWU5PU19EUk1fRkxJUF9WRVJUSUNBTCA9ICgxIDw8IDApLAorICBFWFlOT1NfRFJNX0ZMSVBfSE9SSVpPTlRBTCA9ICgxIDw8IDEpLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFWFlOT1NfRFJNX0ZMSVBfQk9USCA9IEVYWU5PU19EUk1fRkxJUF9WRVJUSUNBTCB8Ci0gRVhZTk9TX0RSTV9GTElQX0hPUklaT05UQUwsCisgIEVYWU5PU19EUk1fRkxJUF9CT1RIID0gRVhZTk9TX0RSTV9GTElQX1ZFUlRJQ0FMIHwgRVhZTk9TX0RSTV9GTElQX0hPUklaT05UQUwsCiB9OwogZW51bSBkcm1fZXh5bm9zX2RlZ3JlZSB7CisgIEVYWU5PU19EUk1fREVHUkVFXzAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVYWU5PU19EUk1fREVHUkVFXzAsCi0gRVhZTk9TX0RSTV9ERUdSRUVfOTAsCi0gRVhZTk9TX0RSTV9ERUdSRUVfMTgwLAotIEVYWU5PU19EUk1fREVHUkVFXzI3MCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEVYWU5PU19EUk1fREVHUkVFXzkwLAorICBFWFlOT1NfRFJNX0RFR1JFRV8xODAsCisgIEVYWU5PU19EUk1fREVHUkVFXzI3MCwKIH07Ci1lbnVtIGRybV9leHlub3NfcGxhbmVyIHsKLSBFWFlOT1NfRFJNX1BMQU5BUl9ZLAotIEVYWU5PU19EUk1fUExBTkFSX0NCLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFWFlOT1NfRFJNX1BMQU5BUl9DUiwKLSBFWFlOT1NfRFJNX1BMQU5BUl9NQVgsCitlbnVtIGRybV9leHlub3NfcGxhbmVyIHsKKyAgRVhZTk9TX0RSTV9QTEFOQVJfWSwKKyAgRVhZTk9TX0RSTV9QTEFOQVJfQ0IsCisgIEVYWU5PU19EUk1fUExBTkFSX0NSLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRVhZTk9TX0RSTV9QTEFOQVJfTUFYLAogfTsKIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9wcm9wX2xpc3QgeworICBfX3UzMiB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB2ZXJzaW9uOwotIF9fdTMyIGlwcF9pZDsKLSBfX3UzMiBjb3VudDsKLSBfX3UzMiB3cml0ZWJhY2s7CisgIF9fdTMyIGlwcF9pZDsKKyAgX191MzIgY291bnQ7CisgIF9fdTMyIHdyaXRlYmFjazsKKyAgX191MzIgZmxpcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxpcDsKLSBfX3UzMiBkZWdyZWU7Ci0gX191MzIgY3NjOwotIF9fdTMyIGNyb3A7CisgIF9fdTMyIGRlZ3JlZTsKKyAgX191MzIgY3NjOworICBfX3UzMiBjcm9wOworICBfX3UzMiBzY2FsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2NhbGU7Ci0gX191MzIgcmVmcmVzaF9taW47Ci0gX191MzIgcmVmcmVzaF9tYXg7Ci0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTMyIHJlZnJlc2hfbWluOworICBfX3UzMiByZWZyZXNoX21heDsKKyAgX191MzIgcmVzZXJ2ZWQ7CisgIHN0cnVjdCBkcm1fZXh5bm9zX3N6IGNyb3BfbWluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZHJtX2V4eW5vc19zeiBjcm9wX21pbjsKLSBzdHJ1Y3QgZHJtX2V4eW5vc19zeiBjcm9wX21heDsKLSBzdHJ1Y3QgZHJtX2V4eW5vc19zeiBzY2FsZV9taW47Ci0gc3RydWN0IGRybV9leHlub3Nfc3ogc2NhbGVfbWF4OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGRybV9leHlub3Nfc3ogY3JvcF9tYXg7CisgIHN0cnVjdCBkcm1fZXh5bm9zX3N6IHNjYWxlX21pbjsKKyAgc3RydWN0IGRybV9leHlub3Nfc3ogc2NhbGVfbWF4OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfY29uZmlnIHsKLSBlbnVtIGRybV9leHlub3Nfb3BzX2lkIG9wc19pZDsKLSBlbnVtIGRybV9leHlub3NfZmxpcCBmbGlwOworICBlbnVtIGRybV9leHlub3Nfb3BzX2lkIG9wc19pZDsKKyAgZW51bSBkcm1fZXh5bm9zX2ZsaXAgZmxpcDsKKyAgZW51bSBkcm1fZXh5bm9zX2RlZ3JlZSBkZWdyZWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gZHJtX2V4eW5vc19kZWdyZWUgZGVncmVlOwotIF9fdTMyIGZtdDsKLSBzdHJ1Y3QgZHJtX2V4eW5vc19zeiBzejsKLSBzdHJ1Y3QgZHJtX2V4eW5vc19wb3MgcG9zOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZm10OworICBzdHJ1Y3QgZHJtX2V4eW5vc19zeiBzejsKKyAgc3RydWN0IGRybV9leHlub3NfcG9zIHBvczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBkcm1fZXh5bm9zX2lwcF9jbWQgewotIElQUF9DTURfTk9ORSwKLSBJUFBfQ01EX00yTSwKKyAgSVBQX0NNRF9OT05FLAorICBJUFBfQ01EX00yTSwKKyAgSVBQX0NNRF9XQiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBQX0NNRF9XQiwKLSBJUFBfQ01EX09VVFBVVCwKLSBJUFBfQ01EX01BWCwKKyAgSVBQX0NNRF9PVVRQVVQsCisgIElQUF9DTURfTUFYLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfcHJvcGVydHkgewotIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9jb25maWcgY29uZmlnW0VYWU5PU19EUk1fT1BTX01BWF07Ci0gZW51bSBkcm1fZXh5bm9zX2lwcF9jbWQgY21kOwotIF9fdTMyIGlwcF9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHJvcF9pZDsKLSBfX3UzMiByZWZyZXNoX3JhdGU7CisgIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9jb25maWcgY29uZmlnW0VYWU5PU19EUk1fT1BTX01BWF07CisgIGVudW0gZHJtX2V4eW5vc19pcHBfY21kIGNtZDsKKyAgX191MzIgaXBwX2lkOworICBfX3UzMiBwcm9wX2lkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcmVmcmVzaF9yYXRlOwogfTsKIGVudW0gZHJtX2V4eW5vc19pcHBfYnVmX3R5cGUgeworICBJUFBfQlVGX0VOUVVFVUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQUF9CVUZfRU5RVUVVRSwKLSBJUFBfQlVGX0RFUVVFVUUsCisgIElQUF9CVUZfREVRVUVVRSwKIH07CiBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfcXVldWVfYnVmIHsKKyAgZW51bSBkcm1fZXh5bm9zX29wc19pZCBvcHNfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gZHJtX2V4eW5vc19vcHNfaWQgb3BzX2lkOwotIGVudW0gZHJtX2V4eW5vc19pcHBfYnVmX3R5cGUgYnVmX3R5cGU7Ci0gX191MzIgcHJvcF9pZDsKLSBfX3UzMiBidWZfaWQ7CisgIGVudW0gZHJtX2V4eW5vc19pcHBfYnVmX3R5cGUgYnVmX3R5cGU7CisgIF9fdTMyIHByb3BfaWQ7CisgIF9fdTMyIGJ1Zl9pZDsKKyAgX191MzIgaGFuZGxlW0VYWU5PU19EUk1fUExBTkFSX01BWF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZVtFWFlOT1NfRFJNX1BMQU5BUl9NQVhdOwotIF9fdTMyIHJlc2VydmVkOwotIF9fdTY0IHVzZXJfZGF0YTsKKyAgX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTY0IHVzZXJfZGF0YTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBkcm1fZXh5bm9zX2lwcF9jdHJsIHsKLSBJUFBfQ1RSTF9QTEFZLAotIElQUF9DVFJMX1NUT1AsCi0gSVBQX0NUUkxfUEFVU0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQUF9DVFJMX1JFU1VNRSwKLSBJUFBfQ1RSTF9NQVgsCisgIElQUF9DVFJMX1BMQVksCisgIElQUF9DVFJMX1NUT1AsCisgIElQUF9DVFJMX1BBVVNFLAorICBJUFBfQ1RSTF9SRVNVTUUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJUFBfQ1RSTF9NQVgsCiB9Owogc3RydWN0IGRybV9leHlub3NfaXBwX2NtZF9jdHJsIHsKKyAgX191MzIgcHJvcF9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHJvcF9pZDsKLSBlbnVtIGRybV9leHlub3NfaXBwX2N0cmwgY3RybDsKKyAgZW51bSBkcm1fZXh5bm9zX2lwcF9jdHJsIGN0cmw7CiB9OwogI2RlZmluZSBEUk1fRVhZTk9TX0dFTV9DUkVBVEUgMHgwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0VYWU5PU19HRU1fTUFQX09GRlNFVCAweDAxCi0jZGVmaW5lIERSTV9FWFlOT1NfR0VNX01NQVAgMHgwMgogI2RlZmluZSBEUk1fRVhZTk9TX0dFTV9HRVQgMHgwNAotI2RlZmluZSBEUk1fRVhZTk9TX1ZJRElfQ09OTkVDVElPTiAweDA3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fRVhZTk9TX1ZJRElfQ09OTkVDVElPTiAweDA3CiAjZGVmaW5lIERSTV9FWFlOT1NfRzJEX0dFVF9WRVIgMHgyMAogI2RlZmluZSBEUk1fRVhZTk9TX0cyRF9TRVRfQ01ETElTVCAweDIxCiAjZGVmaW5lIERSTV9FWFlOT1NfRzJEX0VYRUMgMHgyMgotI2RlZmluZSBEUk1fRVhZTk9TX0lQUF9HRVRfUFJPUEVSVFkgMHgzMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0VYWU5PU19JUFBfR0VUX1BST1BFUlRZIDB4MzAKICNkZWZpbmUgRFJNX0VYWU5PU19JUFBfU0VUX1BST1BFUlRZIDB4MzEKICNkZWZpbmUgRFJNX0VYWU5PU19JUFBfUVVFVUVfQlVGIDB4MzIKICNkZWZpbmUgRFJNX0VYWU5PU19JUFBfQ01EX0NUUkwgMHgzMwotI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0dFTV9DUkVBVEUgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArICAgRFJNX0VYWU5PU19HRU1fQ1JFQVRFLCBzdHJ1Y3QgZHJtX2V4eW5vc19nZW1fY3JlYXRlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19HRU1fTUFQX09GRlNFVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgICBEUk1fRVhZTk9TX0dFTV9NQVBfT0ZGU0VULCBzdHJ1Y3QgZHJtX2V4eW5vc19nZW1fbWFwX29mZikKLSNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19HRU1fTU1BUCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgICBEUk1fRVhZTk9TX0dFTV9NTUFQLCBzdHJ1Y3QgZHJtX2V4eW5vc19nZW1fbW1hcCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19HRU1fR0VUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyAgIERSTV9FWFlOT1NfR0VNX0dFVCwgc3RydWN0IGRybV9leHlub3NfZ2VtX2luZm8pCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfVklESV9DT05ORUNUSU9OIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyAgIERSTV9FWFlOT1NfVklESV9DT05ORUNUSU9OLCBzdHJ1Y3QgZHJtX2V4eW5vc192aWRpX2Nvbm5lY3Rpb24pCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfR0VNX0NSRUFURSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0VYWU5PU19HRU1fQ1JFQVRFLCBzdHJ1Y3QgZHJtX2V4eW5vc19nZW1fY3JlYXRlKQorI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0dFTV9HRVQgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9FWFlOT1NfR0VNX0dFVCwgc3RydWN0IGRybV9leHlub3NfZ2VtX2luZm8pCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfVklESV9DT05ORUNUSU9OIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fRVhZTk9TX1ZJRElfQ09OTkVDVElPTiwgc3RydWN0IGRybV9leHlub3NfdmlkaV9jb25uZWN0aW9uKQorI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0cyRF9HRVRfVkVSIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fRVhZTk9TX0cyRF9HRVRfVkVSLCBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfZ2V0X3ZlcikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfRzJEX0dFVF9WRVIgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArICAgRFJNX0VYWU5PU19HMkRfR0VUX1ZFUiwgc3RydWN0IGRybV9leHlub3NfZzJkX2dldF92ZXIpCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfRzJEX1NFVF9DTURMSVNUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyAgIERSTV9FWFlOT1NfRzJEX1NFVF9DTURMSVNULCBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfc2V0X2NtZGxpc3QpCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfRzJEX0VYRUMgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArICAgRFJNX0VYWU5PU19HMkRfRVhFQywgc3RydWN0IGRybV9leHlub3NfZzJkX2V4ZWMpCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0dFVF9QUk9QRVJUWSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgICBEUk1fRVhZTk9TX0lQUF9HRVRfUFJPUEVSVFksIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9wcm9wX2xpc3QpCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfRzJEX1NFVF9DTURMSVNUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fRVhZTk9TX0cyRF9TRVRfQ01ETElTVCwgc3RydWN0IGRybV9leHlub3NfZzJkX3NldF9jbWRsaXN0KQorI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0cyRF9FWEVDIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fRVhZTk9TX0cyRF9FWEVDLCBzdHJ1Y3QgZHJtX2V4eW5vc19nMmRfZXhlYykKKyNkZWZpbmUgRFJNX0lPQ1RMX0VYWU5PU19JUFBfR0VUX1BST1BFUlRZIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fRVhZTk9TX0lQUF9HRVRfUFJPUEVSVFksIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9wcm9wX2xpc3QpCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX1NFVF9QUk9QRVJUWSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0VYWU5PU19JUFBfU0VUX1BST1BFUlRZLCBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfcHJvcGVydHkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0lQUF9TRVRfUFJPUEVSVFkgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArICAgRFJNX0VYWU5PU19JUFBfU0VUX1BST1BFUlRZLCBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfcHJvcGVydHkpCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX1FVRVVFX0JVRiBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgICBEUk1fRVhZTk9TX0lQUF9RVUVVRV9CVUYsIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9xdWV1ZV9idWYpCi0jZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX0NNRF9DVFJMIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyAgIERSTV9FWFlOT1NfSVBQX0NNRF9DVFJMLCBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfY21kX2N0cmwpCisjZGVmaW5lIERSTV9JT0NUTF9FWFlOT1NfSVBQX1FVRVVFX0JVRiBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0VYWU5PU19JUFBfUVVFVUVfQlVGLCBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfcXVldWVfYnVmKQorI2RlZmluZSBEUk1fSU9DVExfRVhZTk9TX0lQUF9DTURfQ1RSTCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0VYWU5PU19JUFBfQ01EX0NUUkwsIHN0cnVjdCBkcm1fZXh5bm9zX2lwcF9jbWRfY3RybCkKICNkZWZpbmUgRFJNX0VYWU5PU19HMkRfRVZFTlQgMHg4MDAwMDAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0VYWU5PU19JUFBfRVZFTlQgMHg4MDAwMDAwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fZXh5bm9zX2cyZF9ldmVudCB7Ci0gc3RydWN0IGRybV9ldmVudCBiYXNlOwotIF9fdTY0IHVzZXJfZGF0YTsKKyAgc3RydWN0IGRybV9ldmVudCBiYXNlOworICBfX3U2NCB1c2VyX2RhdGE7CisgIF9fdTMyIHR2X3NlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHZfc2VjOwotIF9fdTMyIHR2X3VzZWM7Ci0gX191MzIgY21kbGlzdF9ubzsKLSBfX3UzMiByZXNlcnZlZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHR2X3VzZWM7CisgIF9fdTMyIGNtZGxpc3Rfbm87CisgIF9fdTMyIHJlc2VydmVkOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2V4eW5vc19pcHBfZXZlbnQgewotIHN0cnVjdCBkcm1fZXZlbnQgYmFzZTsKLSBfX3U2NCB1c2VyX2RhdGE7CisgIHN0cnVjdCBkcm1fZXZlbnQgYmFzZTsKKyAgX191NjQgdXNlcl9kYXRhOworICBfX3UzMiB0dl9zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR2X3NlYzsKLSBfX3UzMiB0dl91c2VjOwotIF9fdTMyIHByb3BfaWQ7Ci0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTMyIHR2X3VzZWM7CisgIF9fdTMyIHByb3BfaWQ7CisgIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiBidWZfaWRbRVhZTk9TX0RSTV9PUFNfTUFYXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnVmX2lkW0VYWU5PU19EUk1fT1BTX01BWF07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2RybS9pODEwX2RybS5oIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vaTgxMF9kcm0uaAppbmRleCA5NDY4MzNkLi5lYmUzMzMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9pODEwX2RybS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvZHJtL2k4MTBfZHJtLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgX0k4MTBfREVGSU5FU18KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk4MTBfRE1BX0JVRl9PUkRFUiAxMgotI2RlZmluZSBJODEwX0RNQV9CVUZfU1ogKDE8PEk4MTBfRE1BX0JVRl9PUkRFUikKKyNkZWZpbmUgSTgxMF9ETUFfQlVGX1NaICgxIDw8IEk4MTBfRE1BX0JVRl9PUkRFUikKICNkZWZpbmUgSTgxMF9ETUFfQlVGX05SIDI1NgogI2RlZmluZSBJODEwX05SX1NBUkVBX0NMSVBSRUNUUyA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtOTMsODEgKzkzLDgxIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJODEwX0RFUFRIIDB4NAogdHlwZWRlZiBlbnVtIF9kcm1faTgxMF9pbml0X2Z1bmMgewotIEk4MTBfSU5JVF9ETUEgPSAweDAxLAotIEk4MTBfQ0xFQU5VUF9ETUEgPSAweDAyLAorICBJODEwX0lOSVRfRE1BID0gMHgwMSwKKyAgSTgxMF9DTEVBTlVQX0RNQSA9IDB4MDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEk4MTBfSU5JVF9ETUFfMV80ID0gMHgwMworICBJODEwX0lOSVRfRE1BXzFfNCA9IDB4MDMKIH0gZHJtX2k4MTBfaW5pdF9mdW5jX3Q7CiB0eXBlZGVmIHN0cnVjdCBfZHJtX2k4MTBfaW5pdCB7Ci0gZHJtX2k4MTBfaW5pdF9mdW5jX3QgZnVuYzsKKyAgZHJtX2k4MTBfaW5pdF9mdW5jX3QgZnVuYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IG1taW9fb2Zmc2V0OwotIHVuc2lnbmVkIGludCBidWZmZXJzX29mZnNldDsKLSBpbnQgc2FyZWFfcHJpdl9vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IHJpbmdfc3RhcnQ7CisgIHVuc2lnbmVkIGludCBtbWlvX29mZnNldDsKKyAgdW5zaWduZWQgaW50IGJ1ZmZlcnNfb2Zmc2V0OworICBpbnQgc2FyZWFfcHJpdl9vZmZzZXQ7CisgIHVuc2lnbmVkIGludCByaW5nX3N0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmluZ19lbmQ7Ci0gdW5zaWduZWQgaW50IHJpbmdfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0OwotIHVuc2lnbmVkIGludCBiYWNrX29mZnNldDsKKyAgdW5zaWduZWQgaW50IHJpbmdfZW5kOworICB1bnNpZ25lZCBpbnQgcmluZ19zaXplOworICB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgYmFja19vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBkZXB0aF9vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IG92ZXJsYXlfb2Zmc2V0OwotIHVuc2lnbmVkIGludCBvdmVybGF5X3BoeXNpY2FsOwotIHVuc2lnbmVkIGludCB3OworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgb3ZlcmxheV9vZmZzZXQ7CisgIHVuc2lnbmVkIGludCBvdmVybGF5X3BoeXNpY2FsOworICB1bnNpZ25lZCBpbnQgdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGg7Ci0gdW5zaWduZWQgaW50IHBpdGNoOwotIHVuc2lnbmVkIGludCBwaXRjaF9iaXRzOworICB1bnNpZ25lZCBpbnQgaDsKKyAgdW5zaWduZWQgaW50IHBpdGNoOworICB1bnNpZ25lZCBpbnQgcGl0Y2hfYml0czsKIH0gZHJtX2k4MTBfaW5pdF90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IF9kcm1faTgxMF9wcmUxMl9pbml0IHsKLSBkcm1faTgxMF9pbml0X2Z1bmNfdCBmdW5jOwotIHVuc2lnbmVkIGludCBtbWlvX29mZnNldDsKLSB1bnNpZ25lZCBpbnQgYnVmZmVyc19vZmZzZXQ7CisgIGRybV9pODEwX2luaXRfZnVuY190IGZ1bmM7CisgIHVuc2lnbmVkIGludCBtbWlvX29mZnNldDsKKyAgdW5zaWduZWQgaW50IGJ1ZmZlcnNfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc2FyZWFfcHJpdl9vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IHJpbmdfc3RhcnQ7Ci0gdW5zaWduZWQgaW50IHJpbmdfZW5kOwotIHVuc2lnbmVkIGludCByaW5nX3NpemU7CisgIGludCBzYXJlYV9wcml2X29mZnNldDsKKyAgdW5zaWduZWQgaW50IHJpbmdfc3RhcnQ7CisgIHVuc2lnbmVkIGludCByaW5nX2VuZDsKKyAgdW5zaWduZWQgaW50IHJpbmdfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGZyb250X29mZnNldDsKLSB1bnNpZ25lZCBpbnQgYmFja19vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IGRlcHRoX29mZnNldDsKLSB1bnNpZ25lZCBpbnQgdzsKKyAgdW5zaWduZWQgaW50IGZyb250X29mZnNldDsKKyAgdW5zaWduZWQgaW50IGJhY2tfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGg7Ci0gdW5zaWduZWQgaW50IHBpdGNoOwotIHVuc2lnbmVkIGludCBwaXRjaF9iaXRzOworICB1bnNpZ25lZCBpbnQgaDsKKyAgdW5zaWduZWQgaW50IHBpdGNoOworICB1bnNpZ25lZCBpbnQgcGl0Y2hfYml0czsKIH0gZHJtX2k4MTBfcHJlMTJfaW5pdF90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IF9kcm1faTgxMF90ZXhfcmVnaW9uIHsKLSB1bnNpZ25lZCBjaGFyIG5leHQsIHByZXY7Ci0gdW5zaWduZWQgY2hhciBpbl91c2U7Ci0gaW50IGFnZTsKKyAgdW5zaWduZWQgY2hhciBuZXh0LCBwcmV2OworICB1bnNpZ25lZCBjaGFyIGluX3VzZTsKKyAgaW50IGFnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9pODEwX3RleF9yZWdpb25fdDsKIHR5cGVkZWYgc3RydWN0IF9kcm1faTgxMF9zYXJlYSB7Ci0gdW5zaWduZWQgaW50IENvbnRleHRTdGF0ZVtJODEwX0NUWF9TRVRVUF9TSVpFXTsKLSB1bnNpZ25lZCBpbnQgQnVmZmVyU3RhdGVbSTgxMF9ERVNUX1NFVFVQX1NJWkVdOworICB1bnNpZ25lZCBpbnQgQ29udGV4dFN0YXRlW0k4MTBfQ1RYX1NFVFVQX1NJWkVdOworICB1bnNpZ25lZCBpbnQgQnVmZmVyU3RhdGVbSTgxMF9ERVNUX1NFVFVQX1NJWkVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgVGV4U3RhdGVbMl1bSTgxMF9URVhfU0VUVVBfU0laRV07Ci0gdW5zaWduZWQgaW50IGRpcnR5OwotIHVuc2lnbmVkIGludCBuYm94OwotIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGJveGVzW0k4MTBfTlJfU0FSRUFfQ0xJUFJFQ1RTXTsKKyAgdW5zaWduZWQgaW50IFRleFN0YXRlWzJdW0k4MTBfVEVYX1NFVFVQX1NJWkVdOworICB1bnNpZ25lZCBpbnQgZGlydHk7CisgIHVuc2lnbmVkIGludCBuYm94OworICBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBib3hlc1tJODEwX05SX1NBUkVBX0NMSVBSRUNUU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRybV9pODEwX3RleF9yZWdpb25fdCB0ZXhMaXN0W0k4MTBfTlJfVEVYX1JFR0lPTlMgKyAxXTsKLSBpbnQgdGV4QWdlOwotIGludCBsYXN0X2VucXVldWU7Ci0gaW50IGxhc3RfZGlzcGF0Y2g7CisgIGRybV9pODEwX3RleF9yZWdpb25fdCB0ZXhMaXN0W0k4MTBfTlJfVEVYX1JFR0lPTlMgKyAxXTsKKyAgaW50IHRleEFnZTsKKyAgaW50IGxhc3RfZW5xdWV1ZTsKKyAgaW50IGxhc3RfZGlzcGF0Y2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBsYXN0X3F1aWVzY2VudDsKLSBpbnQgY3R4T3duZXI7Ci0gaW50IHZlcnRleF9wcmltOwotIGludCBwZl9lbmFibGVkOworICBpbnQgbGFzdF9xdWllc2NlbnQ7CisgIGludCBjdHhPd25lcjsKKyAgaW50IHZlcnRleF9wcmltOworICBpbnQgcGZfZW5hYmxlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBmX2FjdGl2ZTsKLSBpbnQgcGZfY3VycmVudF9wYWdlOworICBpbnQgcGZfYWN0aXZlOworICBpbnQgcGZfY3VycmVudF9wYWdlOwogfSBkcm1faTgxMF9zYXJlYV90OwogI2RlZmluZSBEUk1fSTgxMF9JTklUIDB4MDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xODgsNzQgKzE4OCw3NCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0k4MTBfUlNUQVRVUyAweDBkCiAjZGVmaW5lIERSTV9JODEwX0ZMSVAgMHgwZQotI2RlZmluZSBEUk1fSU9DVExfSTgxMF9JTklUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9JTklULCBkcm1faTgxMF9pbml0X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9JODEwX1ZFUlRFWCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfVkVSVEVYLCBkcm1faTgxMF92ZXJ0ZXhfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfSU5JVCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9JTklULCBkcm1faTgxMF9pbml0X3QpCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX1ZFUlRFWCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9WRVJURVgsIGRybV9pODEwX3ZlcnRleF90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfQ0xFQVIgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX0NMRUFSLCBkcm1faTgxMF9jbGVhcl90KQotI2RlZmluZSBEUk1fSU9DVExfSTgxMF9GTFVTSCBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9GTFVTSCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfR0VUQUdFIERSTV9JTyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX0dFVEFHRSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfQ0xFQVIgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfQ0xFQVIsIGRybV9pODEwX2NsZWFyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX0ZMVVNIIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfRkxVU0gpCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX0dFVEFHRSBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX0dFVEFHRSkKICNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfR0VUQlVGIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9HRVRCVUYsIGRybV9pODEwX2RtYV90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfU1dBUCBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9TV0FQKQotI2RlZmluZSBEUk1fSU9DVExfSTgxMF9DT1BZIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9DT1BZLCBkcm1faTgxMF9jb3B5X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9JODEwX0RPQ09QWSBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9ET0NPUFkpCi0jZGVmaW5lIERSTV9JT0NUTF9JODEwX09WMElORk8gRFJNX0lPUiggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX09WMElORk8sIGRybV9pODEwX292ZXJsYXlfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfU1dBUCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX1NXQVApCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX0NPUFkgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfQ09QWSwgZHJtX2k4MTBfY29weV90KQorI2RlZmluZSBEUk1fSU9DVExfSTgxMF9ET0NPUFkgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9ET0NPUFkpCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX09WMElORk8gRFJNX0lPUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfT1YwSU5GTywgZHJtX2k4MTBfb3ZlcmxheV90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfRlNUQVRVUyBEUk1fSU8gKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfRlNUQVRVUykKLSNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfT1YwRkxJUCBEUk1fSU8gKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfT1YwRkxJUCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfTUMgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX01DLCBkcm1faTgxMF9tY190KQotI2RlZmluZSBEUk1fSU9DVExfSTgxMF9SU1RBVFVTIERSTV9JTyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9SU1RBVFVTKQorI2RlZmluZSBEUk1fSU9DVExfSTgxMF9GU1RBVFVTIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfRlNUQVRVUykKKyNkZWZpbmUgRFJNX0lPQ1RMX0k4MTBfT1YwRkxJUCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX09WMEZMSVApCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX01DIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX01DLCBkcm1faTgxMF9tY190KQorI2RlZmluZSBEUk1fSU9DVExfSTgxMF9SU1RBVFVTIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k4MTBfUlNUQVRVUykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9JODEwX0ZMSVAgRFJNX0lPICggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JODEwX0ZMSVApCisjZGVmaW5lIERSTV9JT0NUTF9JODEwX0ZMSVAgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTgxMF9GTElQKQogdHlwZWRlZiBzdHJ1Y3QgX2RybV9pODEwX2NsZWFyIHsKLSBpbnQgY2xlYXJfY29sb3I7Ci0gaW50IGNsZWFyX2RlcHRoOworICBpbnQgY2xlYXJfY29sb3I7CisgIGludCBjbGVhcl9kZXB0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGZsYWdzOworICBpbnQgZmxhZ3M7CiB9IGRybV9pODEwX2NsZWFyX3Q7CiB0eXBlZGVmIHN0cnVjdCBfZHJtX2k4MTBfdmVydGV4IHsKLSBpbnQgaWR4OworICBpbnQgaWR4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdXNlZDsKLSBpbnQgZGlzY2FyZDsKKyAgaW50IHVzZWQ7CisgIGludCBkaXNjYXJkOwogfSBkcm1faTgxMF92ZXJ0ZXhfdDsKIHR5cGVkZWYgc3RydWN0IF9kcm1faTgxMF9jb3B5X3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgaWR4OwotIGludCB1c2VkOwotIHZvaWQgKmFkZHJlc3M7CisgIGludCBpZHg7CisgIGludCB1c2VkOworICB2b2lkICogYWRkcmVzczsKIH0gZHJtX2k4MTBfY29weV90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUFJfVFJJQU5HTEVTICgweDA8PDE4KQotI2RlZmluZSBQUl9UUklTVFJJUF8wICgweDE8PDE4KQotI2RlZmluZSBQUl9UUklTVFJJUF8xICgweDI8PDE4KQotI2RlZmluZSBQUl9UUklGQU4gKDB4Mzw8MTgpCisjZGVmaW5lIFBSX1RSSUFOR0xFUyAoMHgwIDw8IDE4KQorI2RlZmluZSBQUl9UUklTVFJJUF8wICgweDEgPDwgMTgpCisjZGVmaW5lIFBSX1RSSVNUUklQXzEgKDB4MiA8PCAxOCkKKyNkZWZpbmUgUFJfVFJJRkFOICgweDMgPDwgMTgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQUl9QT0xZR09OICgweDQ8PDE4KQotI2RlZmluZSBQUl9MSU5FUyAoMHg1PDwxOCkKLSNkZWZpbmUgUFJfTElORVNUUklQICgweDY8PDE4KQotI2RlZmluZSBQUl9SRUNUUyAoMHg3PDwxOCkKKyNkZWZpbmUgUFJfUE9MWUdPTiAoMHg0IDw8IDE4KQorI2RlZmluZSBQUl9MSU5FUyAoMHg1IDw8IDE4KQorI2RlZmluZSBQUl9MSU5FU1RSSVAgKDB4NiA8PCAxOCkKKyNkZWZpbmUgUFJfUkVDVFMgKDB4NyA8PCAxOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBSX01BU0sgKDB4Nzw8MTgpCisjZGVmaW5lIFBSX01BU0sgKDB4NyA8PCAxOCkKIHR5cGVkZWYgc3RydWN0IGRybV9pODEwX2RtYSB7Ci0gdm9pZCAqdmlydHVhbDsKLSBpbnQgcmVxdWVzdF9pZHg7CisgIHZvaWQgKiB2aXJ0dWFsOworICBpbnQgcmVxdWVzdF9pZHg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCByZXF1ZXN0X3NpemU7Ci0gaW50IGdyYW50ZWQ7CisgIGludCByZXF1ZXN0X3NpemU7CisgIGludCBncmFudGVkOwogfSBkcm1faTgxMF9kbWFfdDsKIHR5cGVkZWYgc3RydWN0IF9kcm1faTgxMF9vdmVybGF5X3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgb2Zmc2V0OwotIHVuc2lnbmVkIGludCBwaHlzaWNhbDsKKyAgdW5zaWduZWQgaW50IG9mZnNldDsKKyAgdW5zaWduZWQgaW50IHBoeXNpY2FsOwogfSBkcm1faTgxMF9vdmVybGF5X3Q7CiB0eXBlZGVmIHN0cnVjdCBfZHJtX2k4MTBfbWMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgaWR4OwotIGludCB1c2VkOwotIGludCBudW1fYmxvY2tzOwotIGludCAqbGVuZ3RoOworICBpbnQgaWR4OworICBpbnQgdXNlZDsKKyAgaW50IG51bV9ibG9ja3M7CisgIGludCAqIGxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGxhc3RfcmVuZGVyOworICB1bnNpZ25lZCBpbnQgbGFzdF9yZW5kZXI7CiB9IGRybV9pODEwX21jX3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9saWJjL2tlcm5lbC91YXBpL2RybS9pOTE1X2RybS5oCmluZGV4IDdiOTgxMGMuLjNkMTVmZWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMjcsOTYgKzI3LDk2IEBACiAjZGVmaW5lIEk5MTVfTE9HX01JTl9URVhfUkVHSU9OX1NJWkUgMTQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfaW5pdCB7Ci0gZW51bSB7Ci0gSTkxNV9JTklUX0RNQSA9IDB4MDEsCi0gSTkxNV9DTEVBTlVQX0RNQSA9IDB4MDIsCisgIGVudW0geworICAgIEk5MTVfSU5JVF9ETUEgPSAweDAxLAorICAgIEk5MTVfQ0xFQU5VUF9ETUEgPSAweDAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJOTE1X1JFU1VNRV9ETUEgPSAweDAzCi0gfSBmdW5jOwotIHVuc2lnbmVkIGludCBtbWlvX29mZnNldDsKLSBpbnQgc2FyZWFfcHJpdl9vZmZzZXQ7CisgICAgSTkxNV9SRVNVTUVfRE1BID0gMHgwMworICB9IGZ1bmM7CisgIHVuc2lnbmVkIGludCBtbWlvX29mZnNldDsKKyAgaW50IHNhcmVhX3ByaXZfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmluZ19zdGFydDsKLSB1bnNpZ25lZCBpbnQgcmluZ19lbmQ7Ci0gdW5zaWduZWQgaW50IHJpbmdfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgcmluZ19zdGFydDsKKyAgdW5zaWduZWQgaW50IHJpbmdfZW5kOworICB1bnNpZ25lZCBpbnQgcmluZ19zaXplOworICB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgYmFja19vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IGRlcHRoX29mZnNldDsKLSB1bnNpZ25lZCBpbnQgdzsKLSB1bnNpZ25lZCBpbnQgaDsKKyAgdW5zaWduZWQgaW50IGJhY2tfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgdzsKKyAgdW5zaWduZWQgaW50IGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBwaXRjaDsKLSB1bnNpZ25lZCBpbnQgcGl0Y2hfYml0czsKLSB1bnNpZ25lZCBpbnQgYmFja19waXRjaDsKLSB1bnNpZ25lZCBpbnQgZGVwdGhfcGl0Y2g7CisgIHVuc2lnbmVkIGludCBwaXRjaDsKKyAgdW5zaWduZWQgaW50IHBpdGNoX2JpdHM7CisgIHVuc2lnbmVkIGludCBiYWNrX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZGVwdGhfcGl0Y2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjcHA7Ci0gdW5zaWduZWQgaW50IGNoaXBzZXQ7CisgIHVuc2lnbmVkIGludCBjcHA7CisgIHVuc2lnbmVkIGludCBjaGlwc2V0OwogfSBkcm1faTkxNV9pbml0X3Q7CiB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZHJtX3RleF9yZWdpb24gdGV4TGlzdFtJOTE1X05SX1RFWF9SRUdJT05TICsgMV07Ci0gaW50IGxhc3RfdXBsb2FkOwotIGludCBsYXN0X2VucXVldWU7Ci0gaW50IGxhc3RfZGlzcGF0Y2g7CisgIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiB0ZXhMaXN0W0k5MTVfTlJfVEVYX1JFR0lPTlMgKyAxXTsKKyAgaW50IGxhc3RfdXBsb2FkOworICBpbnQgbGFzdF9lbnF1ZXVlOworICBpbnQgbGFzdF9kaXNwYXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGN0eE93bmVyOwotIGludCB0ZXhBZ2U7Ci0gaW50IHBmX2VuYWJsZWQ7Ci0gaW50IHBmX2FjdGl2ZTsKKyAgaW50IGN0eE93bmVyOworICBpbnQgdGV4QWdlOworICBpbnQgcGZfZW5hYmxlZDsKKyAgaW50IHBmX2FjdGl2ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBmX2N1cnJlbnRfcGFnZTsKLSBpbnQgcGVyZl9ib3hlczsKLSBpbnQgd2lkdGgsIGhlaWdodDsKLSBkcm1faGFuZGxlX3QgZnJvbnRfaGFuZGxlOworICBpbnQgcGZfY3VycmVudF9wYWdlOworICBpbnQgcGVyZl9ib3hlczsKKyAgaW50IHdpZHRoLCBoZWlnaHQ7CisgIGRybV9oYW5kbGVfdCBmcm9udF9oYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBmcm9udF9vZmZzZXQ7Ci0gaW50IGZyb250X3NpemU7Ci0gZHJtX2hhbmRsZV90IGJhY2tfaGFuZGxlOwotIGludCBiYWNrX29mZnNldDsKKyAgaW50IGZyb250X29mZnNldDsKKyAgaW50IGZyb250X3NpemU7CisgIGRybV9oYW5kbGVfdCBiYWNrX2hhbmRsZTsKKyAgaW50IGJhY2tfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgYmFja19zaXplOwotIGRybV9oYW5kbGVfdCBkZXB0aF9oYW5kbGU7Ci0gaW50IGRlcHRoX29mZnNldDsKLSBpbnQgZGVwdGhfc2l6ZTsKKyAgaW50IGJhY2tfc2l6ZTsKKyAgZHJtX2hhbmRsZV90IGRlcHRoX2hhbmRsZTsKKyAgaW50IGRlcHRoX29mZnNldDsKKyAgaW50IGRlcHRoX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRybV9oYW5kbGVfdCB0ZXhfaGFuZGxlOwotIGludCB0ZXhfb2Zmc2V0OwotIGludCB0ZXhfc2l6ZTsKLSBpbnQgbG9nX3RleF9ncmFudWxhcml0eTsKKyAgZHJtX2hhbmRsZV90IHRleF9oYW5kbGU7CisgIGludCB0ZXhfb2Zmc2V0OworICBpbnQgdGV4X3NpemU7CisgIGludCBsb2dfdGV4X2dyYW51bGFyaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcGl0Y2g7Ci0gaW50IHJvdGF0aW9uOwotIGludCByb3RhdGVkX29mZnNldDsKLSBpbnQgcm90YXRlZF9zaXplOworICBpbnQgcGl0Y2g7CisgIGludCByb3RhdGlvbjsKKyAgaW50IHJvdGF0ZWRfb2Zmc2V0OworICBpbnQgcm90YXRlZF9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcm90YXRlZF9waXRjaDsKLSBpbnQgdmlydHVhbFgsIHZpcnR1YWxZOwotIHVuc2lnbmVkIGludCBmcm9udF90aWxlZDsKLSB1bnNpZ25lZCBpbnQgYmFja190aWxlZDsKKyAgaW50IHJvdGF0ZWRfcGl0Y2g7CisgIGludCB2aXJ0dWFsWCwgdmlydHVhbFk7CisgIHVuc2lnbmVkIGludCBmcm9udF90aWxlZDsKKyAgdW5zaWduZWQgaW50IGJhY2tfdGlsZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBkZXB0aF90aWxlZDsKLSB1bnNpZ25lZCBpbnQgcm90YXRlZF90aWxlZDsKLSB1bnNpZ25lZCBpbnQgcm90YXRlZDJfdGlsZWQ7Ci0gaW50IHBpcGVBX3g7CisgIHVuc2lnbmVkIGludCBkZXB0aF90aWxlZDsKKyAgdW5zaWduZWQgaW50IHJvdGF0ZWRfdGlsZWQ7CisgIHVuc2lnbmVkIGludCByb3RhdGVkMl90aWxlZDsKKyAgaW50IHBpcGVBX3g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwaXBlQV95OwotIGludCBwaXBlQV93OwotIGludCBwaXBlQV9oOwotIGludCBwaXBlQl94OworICBpbnQgcGlwZUFfeTsKKyAgaW50IHBpcGVBX3c7CisgIGludCBwaXBlQV9oOworICBpbnQgcGlwZUJfeDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBpcGVCX3k7Ci0gaW50IHBpcGVCX3c7Ci0gaW50IHBpcGVCX2g7Ci0gZHJtX2hhbmRsZV90IHVudXNlZF9oYW5kbGU7CisgIGludCBwaXBlQl95OworICBpbnQgcGlwZUJfdzsKKyAgaW50IHBpcGVCX2g7CisgIGRybV9oYW5kbGVfdCB1bnVzZWRfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1bnVzZWQxLCB1bnVzZWQyLCB1bnVzZWQzOwotIF9fdTMyIGZyb250X2JvX2hhbmRsZTsKLSBfX3UzMiBiYWNrX2JvX2hhbmRsZTsKLSBfX3UzMiB1bnVzZWRfYm9faGFuZGxlOworICBfX3UzMiB1bnVzZWQxLCB1bnVzZWQyLCB1bnVzZWQzOworICBfX3UzMiBmcm9udF9ib19oYW5kbGU7CisgIF9fdTMyIGJhY2tfYm9faGFuZGxlOworICBfX3UzMiB1bnVzZWRfYm9faGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkZXB0aF9ib19oYW5kbGU7CisgIF9fdTMyIGRlcHRoX2JvX2hhbmRsZTsKIH0gZHJtX2k5MTVfc2FyZWFfdDsKICNkZWZpbmUgcGxhbmVBX3ggcGlwZUFfeAogI2RlZmluZSBwbGFuZUFfeSBwaXBlQV95CkBAIC0xOTYsNTE1ICsxOTYsNTI5IEBACiAjZGVmaW5lIERSTV9JOTE1X1JFR19SRUFEIDB4MzEKICNkZWZpbmUgRFJNX0k5MTVfR0VUX1JFU0VUX1NUQVRTIDB4MzIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0lOSVQgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0lOSVQsIGRybV9pOTE1X2luaXRfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRkxVU0ggRFJNX0lPICggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0ZMVVNIKQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9GTElQIERSTV9JTyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTElQKQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9CQVRDSEJVRkZFUiBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfQkFUQ0hCVUZGRVIsIGRybV9pOTE1X2JhdGNoYnVmZmVyX3QpCisjZGVmaW5lIERSTV9JOTE1X0dFTV9VU0VSUFRSIDB4MzMKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfSU5JVCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklULCBkcm1faTkxNV9pbml0X3QpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0ZMVVNIIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfRkxVU0gpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0ZMSVAgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTElQKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfQkFUQ0hCVUZGRVIgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfQkFUQ0hCVUZGRVIsIGRybV9pOTE1X2JhdGNoYnVmZmVyX3QpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0lSUV9FTUlUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JUlFfRU1JVCwgZHJtX2k5MTVfaXJxX2VtaXRfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfSVJRX1dBSVQgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0lSUV9XQUlULCBkcm1faTkxNV9pcnFfd2FpdF90KQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9JUlFfV0FJVCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JUlFfV0FJVCwgZHJtX2k5MTVfaXJxX3dhaXRfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFVFBBUkFNLCBkcm1faTkxNV9nZXRwYXJhbV90KQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9TRVRQQVJBTSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfU0VUUEFSQU0sIGRybV9pOTE1X3NldHBhcmFtX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fSU9DVExfSTkxNV9TRVRQQVJBTSBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9TRVRQQVJBTSwgZHJtX2k5MTVfc2V0cGFyYW1fdCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfQUxMT0MgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0FMTE9DLCBkcm1faTkxNV9tZW1fYWxsb2NfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRlJFRSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfRlJFRSwgZHJtX2k5MTVfbWVtX2ZyZWVfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfSU5JVF9IRUFQIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklUX0hFQVAsIGRybV9pOTE1X21lbV9pbml0X2hlYXBfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfQ01EQlVGRkVSIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9DTURCVUZGRVIsIGRybV9pOTE1X2NtZGJ1ZmZlcl90KQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9GUkVFIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0ZSRUUsIGRybV9pOTE1X21lbV9mcmVlX3QpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0lOSVRfSEVBUCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklUX0hFQVAsIGRybV9pOTE1X21lbV9pbml0X2hlYXBfdCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0RFU1RST1lfSEVBUCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfREVTVFJPWV9IRUFQLCBkcm1faTkxNV9tZW1fZGVzdHJveV9oZWFwX3QpCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X1NFVF9WQkxBTktfUElQRSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfU0VUX1ZCTEFOS19QSVBFLCBkcm1faTkxNV92YmxhbmtfcGlwZV90KQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRVRfVkJMQU5LX1BJUEUgRFJNX0lPUiggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFVF9WQkxBTktfUElQRSwgZHJtX2k5MTVfdmJsYW5rX3BpcGVfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfQ01EQlVGRkVSIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0NNREJVRkZFUiwgZHJtX2k5MTVfY21kYnVmZmVyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0RFU1RST1lfSEVBUCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9ERVNUUk9ZX0hFQVAsIGRybV9pOTE1X21lbV9kZXN0cm95X2hlYXBfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfU0VUX1ZCTEFOS19QSVBFIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1NFVF9WQkxBTktfUElQRSwgZHJtX2k5MTVfdmJsYW5rX3BpcGVfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VUX1ZCTEFOS19QSVBFIERSTV9JT1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFVF9WQkxBTktfUElQRSwgZHJtX2k5MTVfdmJsYW5rX3BpcGVfdCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1ZCTEFOS19TV0FQIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9WQkxBTktfU1dBUCwgZHJtX2k5MTVfdmJsYW5rX3N3YXBfdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0hXU19BRERSIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0hXU19BRERSLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2luaXQpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9JTklUIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9JTklULCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2luaXQpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9FWEVDQlVGRkVSIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9FWEVDQlVGRkVSLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIpCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9FWEVDQlVGRkVSMiBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fRVhFQ0JVRkZFUjIsIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fRVhFQ0JVRkZFUjIgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIyLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyKQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fUElOIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fUElOLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3BpbikKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1VOUElOIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9VTlBJTiwgc3RydWN0IGRybV9pOTE1X2dlbV91bnBpbikKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0JVU1kgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9CVVNZLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2J1c3kpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX0NBQ0hJTkcgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1NFVF9DQUNISU5HLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NhY2hpbmcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fR0VUX0NBQ0hJTkcgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9HRVRfQ0FDSElORywgc3RydWN0IGRybV9pOTE1X2dlbV9jYWNoaW5nKQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fVEhST1RUTEUgRFJNX0lPICggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9USFJPVFRMRSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1RIUk9UVExFIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1RIUk9UVExFKQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fRU5URVJWVCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9FTlRFUlZUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0xFQVZFVlQgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fTEVBVkVWVCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9DUkVBVEUgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9DUkVBVEUsIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlKQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fUFJFQUQgRFJNX0lPVyAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9QUkVBRCwgc3RydWN0IGRybV9pOTE1X2dlbV9wcmVhZCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1BXUklURSBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1BXUklURSwgc3RydWN0IGRybV9pOTE1X2dlbV9wd3JpdGUpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9QUkVBRCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fUFJFQUQsIHN0cnVjdCBkcm1faTkxNV9nZW1fcHJlYWQpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9QV1JJVEUgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1BXUklURSwgc3RydWN0IGRybV9pOTE1X2dlbV9wd3JpdGUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX01NQVAsIHN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9NTUFQX0dUVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX01NQVBfR1RULCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXBfZ3R0KQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX0RPTUFJTiBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1NFVF9ET01BSU4sIHN0cnVjdCBkcm1faTkxNV9nZW1fc2V0X2RvbWFpbikKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1NXX0ZJTklTSCBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1NXX0ZJTklTSCwgc3RydWN0IGRybV9pOTE1X2dlbV9zd19maW5pc2gpCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9TRVRfVElMSU5HIERSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1NFVF9USUxJTkcsIHN0cnVjdCBkcm1faTkxNV9nZW1fc2V0X3RpbGluZykKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9ET01BSU4gRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1NFVF9ET01BSU4sIHN0cnVjdCBkcm1faTkxNV9nZW1fc2V0X2RvbWFpbikKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1NXX0ZJTklTSCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fU1dfRklOSVNILCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3N3X2ZpbmlzaCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9HRVRfVElMSU5HIERSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0dFVF9USUxJTkcsIHN0cnVjdCBkcm1faTkxNV9nZW1fZ2V0X3RpbGluZykKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0dFVF9BUEVSVFVSRSBEUk1fSU9SIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0dFVF9BUEVSVFVSRSwgc3RydWN0IGRybV9pOTE1X2dlbV9nZXRfYXBlcnR1cmUpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9TRVRfVElMSU5HIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fU0VUX1RJTElORywgc3RydWN0IGRybV9pOTE1X2dlbV9zZXRfdGlsaW5nKQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fR0VUX1RJTElORyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0dFVF9USUxJTkcsIHN0cnVjdCBkcm1faTkxNV9nZW1fZ2V0X3RpbGluZykKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0dFVF9BUEVSVFVSRSBEUk1fSU9SKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fR0VUX0FQRVJUVVJFLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2dldF9hcGVydHVyZSkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VUX1BJUEVfRlJPTV9DUlRDX0lEIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRVRfUElQRV9GUk9NX0NSVENfSUQsIHN0cnVjdCBkcm1faTkxNV9nZXRfcGlwZV9mcm9tX2NydGNfaWQpCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9NQURWSVNFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fTUFEVklTRSwgc3RydWN0IGRybV9pOTE1X2dlbV9tYWR2aXNlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX01BRFZJU0UgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9NQURWSVNFLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21hZHZpc2UpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X09WRVJMQVlfUFVUX0lNQUdFIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X09WRVJMQVlfUFVUX0lNQUdFLCBzdHJ1Y3QgZHJtX2ludGVsX292ZXJsYXlfcHV0X2ltYWdlKQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9PVkVSTEFZX0FUVFJTIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9PVkVSTEFZX0FUVFJTLCBzdHJ1Y3QgZHJtX2ludGVsX292ZXJsYXlfYXR0cnMpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X1NFVF9TUFJJVEVfQ09MT1JLRVkgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1NFVF9TUFJJVEVfQ09MT1JLRVksIHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VUX1NQUklURV9DT0xPUktFWSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfU0VUX1NQUklURV9DT0xPUktFWSwgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fV0FJVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1dBSVQsIHN0cnVjdCBkcm1faTkxNV9nZW1fd2FpdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0NPTlRFWFRfQ1JFQVRFIERSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRfQ1JFQVRFLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlKQotI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9ERVNUUk9ZIERSTV9JT1cgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fQ09OVEVYVF9ERVNUUk9ZLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfZGVzdHJveSkKLSNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUkVHX1JFQUQgRFJNX0lPV1IgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9SRUdfUkVBRCwgc3RydWN0IGRybV9pOTE1X3JlZ19yZWFkKQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9DUkVBVEUgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9DT05URVhUX0NSRUFURSwgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0NPTlRFWFRfREVTVFJPWSBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fQ09OVEVYVF9ERVNUUk9ZLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfZGVzdHJveSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFVF9SRVNFVF9TVEFUUyBEUk1fSU9XUiAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFVF9SRVNFVF9TVEFUUywgc3RydWN0IGRybV9pOTE1X3Jlc2V0X3N0YXRzKQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9SRUdfUkVBRCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUkVHX1JFQUQsIHN0cnVjdCBkcm1faTkxNV9yZWdfcmVhZCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VUX1JFU0VUX1NUQVRTIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRVRfUkVTRVRfU1RBVFMsIHN0cnVjdCBkcm1faTkxNV9yZXNldF9zdGF0cykKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1VTRVJQVFIgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9VU0VSUFRSLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3VzZXJwdHIpCiB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9iYXRjaGJ1ZmZlciB7Ci0gaW50IHN0YXJ0OwotIGludCB1c2VkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgRFIxOwotIGludCBEUjQ7Ci0gaW50IG51bV9jbGlwcmVjdHM7Ci0gc3RydWN0IGRybV9jbGlwX3JlY3QgX191c2VyICpjbGlwcmVjdHM7CisgIGludCBzdGFydDsKKyAgaW50IHVzZWQ7CisgIGludCBEUjE7CisgIGludCBEUjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgbnVtX2NsaXByZWN0czsKKyAgc3RydWN0IGRybV9jbGlwX3JlY3QgX191c2VyICogY2xpcHJlY3RzOwogfSBkcm1faTkxNV9iYXRjaGJ1ZmZlcl90OwogdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X2NtZGJ1ZmZlciB7Ci0gY2hhciBfX3VzZXIgKmJ1ZjsKLSBpbnQgc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBEUjE7Ci0gaW50IERSNDsKLSBpbnQgbnVtX2NsaXByZWN0czsKLSBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBfX3VzZXIgKmNsaXByZWN0czsKKyAgY2hhciBfX3VzZXIgKiBidWY7CisgIGludCBzejsKKyAgaW50IERSMTsKKyAgaW50IERSNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBudW1fY2xpcHJlY3RzOworICBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBfX3VzZXIgKiBjbGlwcmVjdHM7CiB9IGRybV9pOTE1X2NtZGJ1ZmZlcl90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfaXJxX2VtaXQgewotIGludCBfX3VzZXIgKmlycV9zZXE7Ci19IGRybV9pOTE1X2lycV9lbWl0X3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgX191c2VyICogaXJxX3NlcTsKK30gZHJtX2k5MTVfaXJxX2VtaXRfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2lycV93YWl0IHsKLSBpbnQgaXJxX3NlcTsKKyAgaW50IGlycV9zZXE7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1faTkxNV9pcnFfd2FpdF90OwogI2RlZmluZSBJOTE1X1BBUkFNX0lSUV9BQ1RJVkUgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9QQVJBTV9BTExPV19CQVRDSEJVRkZFUiAyCiAjZGVmaW5lIEk5MTVfUEFSQU1fTEFTVF9ESVNQQVRDSCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0NISVBTRVRfSUQgNAogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19HRU0gNQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9QQVJBTV9OVU1fRkVOQ0VTX0FWQUlMIDYKICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfT1ZFUkxBWSA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19QQUdFRkxJUFBJTkcgOAogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19FWEVDQlVGMiA5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19CU0QgMTAKICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfQkxUIDExCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19SRUxBWEVEX0ZFTkNJTkcgMTIKICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfQ09IRVJFTlRfUklOR1MgMTMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0VYRUNfQ09OU1RBTlRTIDE0CiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX1JFTEFYRURfREVMVEEgMTUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0dFTjdfU09MX1JFU0VUIDE2CiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0xMQyAxNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfQUxJQVNJTkdfUFBHVFQgMTgKICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfV0FJVF9USU1FT1VUIDE5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19TRU1BUEhPUkVTIDIwCiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX1BSSU1FX1ZNQVBfRkxVU0ggMjEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX1ZFQk9YIDIyCiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX1NFQ1VSRV9CQVRDSEVTIDIzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19QSU5ORURfQkFUQ0hFUyAyNAogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19FWEVDX05PX1JFTE9DIDI1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19FWEVDX0hBTkRMRV9MVVQgMjYKICNkZWZpbmUgSTkxNV9QQVJBTV9IQVNfV1QgMjcKLXR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2dldHBhcmFtIHsKLSBpbnQgcGFyYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBfX3VzZXIgKnZhbHVlOworI2RlZmluZSBJOTE1X1BBUkFNX0NNRF9QQVJTRVJfVkVSU0lPTiAyOAordHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfZ2V0cGFyYW0geworICBpbnQgcGFyYW07CisgIGludCBfX3VzZXIgKiB2YWx1ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9pOTE1X2dldHBhcmFtX3Q7CiAjZGVmaW5lIEk5MTVfU0VUUEFSQU1fVVNFX01JX0JBVENIQlVGRkVSX1NUQVJUIDEKICNkZWZpbmUgSTkxNV9TRVRQQVJBTV9URVhfTFJVX0xPR19HUkFOVUxBUklUWSAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X1NFVFBBUkFNX0FMTE9XX0JBVENIQlVGRkVSIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfU0VUUEFSQU1fTlVNX1VTRURfRkVOQ0VTIDQKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X3NldHBhcmFtIHsKLSBpbnQgcGFyYW07CisgIGludCBwYXJhbTsKKyAgaW50IHZhbHVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdmFsdWU7CiB9IGRybV9pOTE1X3NldHBhcmFtX3Q7CiAjZGVmaW5lIEk5MTVfTUVNX1JFR0lPTl9BR1AgMQogdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfbWVtX2FsbG9jIHsKKyAgaW50IHJlZ2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHJlZ2lvbjsKLSBpbnQgYWxpZ25tZW50OwotIGludCBzaXplOwotIGludCBfX3VzZXIgKnJlZ2lvbl9vZmZzZXQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgYWxpZ25tZW50OworICBpbnQgc2l6ZTsKKyAgaW50IF9fdXNlciAqIHJlZ2lvbl9vZmZzZXQ7CiB9IGRybV9pOTE1X21lbV9hbGxvY190OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X21lbV9mcmVlIHsKLSBpbnQgcmVnaW9uOwotIGludCByZWdpb25fb2Zmc2V0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IHJlZ2lvbjsKKyAgaW50IHJlZ2lvbl9vZmZzZXQ7CiB9IGRybV9pOTE1X21lbV9mcmVlX3Q7Ci10eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9tZW1faW5pdF9oZWFwIHsKLSBpbnQgcmVnaW9uOwotIGludCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc3RhcnQ7Cit0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9tZW1faW5pdF9oZWFwIHsKKyAgaW50IHJlZ2lvbjsKKyAgaW50IHNpemU7CisgIGludCBzdGFydDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9pOTE1X21lbV9pbml0X2hlYXBfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X21lbV9kZXN0cm95X2hlYXAgewotIGludCByZWdpb247Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgcmVnaW9uOwogfSBkcm1faTkxNV9tZW1fZGVzdHJveV9oZWFwX3Q7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSTkxNV9WQkxBTktfUElQRV9BIDEKICNkZWZpbmUgRFJNX0k5MTVfVkJMQU5LX1BJUEVfQiAyCiB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV92YmxhbmtfcGlwZSB7CisgIGludCBwaXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcGlwZTsKIH0gZHJtX2k5MTVfdmJsYW5rX3BpcGVfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X3ZibGFua19zd2FwIHsKLSBkcm1fZHJhd2FibGVfdCBkcmF3YWJsZTsKKyAgZHJtX2RyYXdhYmxlX3QgZHJhd2FibGU7CisgIGVudW0gZHJtX3ZibGFua19zZXFfdHlwZSBzZXF0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBlbnVtIGRybV92Ymxhbmtfc2VxX3R5cGUgc2VxdHlwZTsKLSB1bnNpZ25lZCBpbnQgc2VxdWVuY2U7CisgIHVuc2lnbmVkIGludCBzZXF1ZW5jZTsKIH0gZHJtX2k5MTVfdmJsYW5rX3N3YXBfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2h3c19hZGRyIHsKKyAgX191NjQgYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYWRkcjsKIH0gZHJtX2k5MTVfaHdzX2FkZHJfdDsKIHN0cnVjdCBkcm1faTkxNV9nZW1faW5pdCB7Ci0gX191NjQgZ3R0X3N0YXJ0OworICBfX3U2NCBndHRfc3RhcnQ7CisgIF9fdTY0IGd0dF9lbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGd0dF9lbmQ7CiB9Owogc3RydWN0IGRybV9pOTE1X2dlbV9jcmVhdGUgewotIF9fdTY0IHNpemU7CisgIF9fdTY0IHNpemU7CisgIF9fdTMyIGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFuZGxlOwotIF9fdTMyIHBhZDsKKyAgX191MzIgcGFkOwogfTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fcHJlYWQgeworICBfX3UzMiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBwYWQ7Ci0gX191NjQgb2Zmc2V0OwotIF9fdTY0IHNpemU7CisgIF9fdTMyIHBhZDsKKyAgX191NjQgb2Zmc2V0OworICBfX3U2NCBzaXplOworICBfX3U2NCBkYXRhX3B0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZGF0YV9wdHI7CiB9Owogc3RydWN0IGRybV9pOTE1X2dlbV9wd3JpdGUgewotIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgaGFuZGxlOworICBfX3UzMiBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBhZDsKLSBfX3U2NCBvZmZzZXQ7Ci0gX191NjQgc2l6ZTsKLSBfX3U2NCBkYXRhX3B0cjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IG9mZnNldDsKKyAgX191NjQgc2l6ZTsKKyAgX191NjQgZGF0YV9wdHI7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcCB7Ci0gX191MzIgaGFuZGxlOwotIF9fdTMyIHBhZDsKKyAgX191MzIgaGFuZGxlOworICBfX3UzMiBwYWQ7CisgIF9fdTY0IG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgb2Zmc2V0OwotIF9fdTY0IHNpemU7Ci0gX191NjQgYWRkcl9wdHI7CisgIF9fdTY0IHNpemU7CisgIF9fdTY0IGFkZHJfcHRyOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXBfZ3R0IHsKLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgcGFkOwotIF9fdTY0IG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgcGFkOworICBfX3U2NCBvZmZzZXQ7CiB9Owotc3RydWN0IGRybV9pOTE1X2dlbV9zZXRfZG9tYWluIHsKLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgcmVhZF9kb21haW5zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB3cml0ZV9kb21haW47CitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3NldF9kb21haW4geworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIHJlYWRfZG9tYWluczsKKyAgX191MzIgd3JpdGVfZG9tYWluOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3N3X2ZpbmlzaCB7Ci0gX191MzIgaGFuZGxlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgaGFuZGxlOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgewotIF9fdTMyIHRhcmdldF9oYW5kbGU7Ci0gX191MzIgZGVsdGE7CisgIF9fdTMyIHRhcmdldF9oYW5kbGU7CisgIF9fdTMyIGRlbHRhOworICBfX3U2NCBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG9mZnNldDsKLSBfX3U2NCBwcmVzdW1lZF9vZmZzZXQ7Ci0gX191MzIgcmVhZF9kb21haW5zOwotIF9fdTMyIHdyaXRlX2RvbWFpbjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IHByZXN1bWVkX29mZnNldDsKKyAgX191MzIgcmVhZF9kb21haW5zOworICBfX3UzMiB3cml0ZV9kb21haW47CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9HRU1fRE9NQUlOX0NQVSAweDAwMDAwMDAxCiAjZGVmaW5lIEk5MTVfR0VNX0RPTUFJTl9SRU5ERVIgMHgwMDAwMDAwMgogI2RlZmluZSBJOTE1X0dFTV9ET01BSU5fU0FNUExFUiAweDAwMDAwMDA0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X0dFTV9ET01BSU5fQ09NTUFORCAweDAwMDAwMDA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X0dFTV9ET01BSU5fSU5TVFJVQ1RJT04gMHgwMDAwMDAxMAogI2RlZmluZSBJOTE1X0dFTV9ET01BSU5fVkVSVEVYIDB4MDAwMDAwMjAKICNkZWZpbmUgSTkxNV9HRU1fRE9NQUlOX0dUVCAweDAwMDAwMDQwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdCB7Ci0gX191MzIgaGFuZGxlOwotIF9fdTMyIHJlbG9jYXRpb25fY291bnQ7Ci0gX191NjQgcmVsb2NzX3B0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYWxpZ25tZW50OwotIF9fdTY0IG9mZnNldDsKKyAgX191MzIgaGFuZGxlOworICBfX3UzMiByZWxvY2F0aW9uX2NvdW50OworICBfX3U2NCByZWxvY3NfcHRyOworICBfX3U2NCBhbGlnbm1lbnQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBvZmZzZXQ7CiB9Owogc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyIHsKKyAgX191NjQgYnVmZmVyc19wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGJ1ZmZlcnNfcHRyOwotIF9fdTMyIGJ1ZmZlcl9jb3VudDsKLSBfX3UzMiBiYXRjaF9zdGFydF9vZmZzZXQ7Ci0gX191MzIgYmF0Y2hfbGVuOworICBfX3UzMiBidWZmZXJfY291bnQ7CisgIF9fdTMyIGJhdGNoX3N0YXJ0X29mZnNldDsKKyAgX191MzIgYmF0Y2hfbGVuOworICBfX3UzMiBEUjE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIERSMTsKLSBfX3UzMiBEUjQ7Ci0gX191MzIgbnVtX2NsaXByZWN0czsKLSBfX3U2NCBjbGlwcmVjdHNfcHRyOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgRFI0OworICBfX3UzMiBudW1fY2xpcHJlY3RzOworICBfX3U2NCBjbGlwcmVjdHNfcHRyOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiB7Ci0gX191MzIgaGFuZGxlOwotIF9fdTMyIHJlbG9jYXRpb25fY291bnQ7CisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgcmVsb2NhdGlvbl9jb3VudDsKKyAgX191NjQgcmVsb2NzX3B0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVsb2NzX3B0cjsKLSBfX3U2NCBhbGlnbm1lbnQ7Ci0gX191NjQgb2Zmc2V0OwotI2RlZmluZSBFWEVDX09CSkVDVF9ORUVEU19GRU5DRSAoMTw8MCkKKyAgX191NjQgYWxpZ25tZW50OworICBfX3U2NCBvZmZzZXQ7CisjZGVmaW5lIEVYRUNfT0JKRUNUX05FRURTX0ZFTkNFICgxIDw8IDApCisjZGVmaW5lIEVYRUNfT0JKRUNUX05FRURTX0dUVCAoMSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRVhFQ19PQkpFQ1RfTkVFRFNfR1RUICgxPDwxKQotI2RlZmluZSBFWEVDX09CSkVDVF9XUklURSAoMTw8MikKLSNkZWZpbmUgX19FWEVDX09CSkVDVF9VTktOT1dOX0ZMQUdTIC0oRVhFQ19PQkpFQ1RfV1JJVEU8PDEpCi0gX191NjQgZmxhZ3M7CisjZGVmaW5lIEVYRUNfT0JKRUNUX1dSSVRFICgxIDw8IDIpCisjZGVmaW5lIF9fRVhFQ19PQkpFQ1RfVU5LTk9XTl9GTEFHUyAtIChFWEVDX09CSkVDVF9XUklURSA8PCAxKQorICBfX3U2NCBmbGFnczsKKyAgX191NjQgcnN2ZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJzdmQxOwotIF9fdTY0IHJzdmQyOworICBfX3U2NCByc3ZkMjsKIH07CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIHsKKyAgX191NjQgYnVmZmVyc19wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGJ1ZmZlcnNfcHRyOwotIF9fdTMyIGJ1ZmZlcl9jb3VudDsKLSBfX3UzMiBiYXRjaF9zdGFydF9vZmZzZXQ7Ci0gX191MzIgYmF0Y2hfbGVuOworICBfX3UzMiBidWZmZXJfY291bnQ7CisgIF9fdTMyIGJhdGNoX3N0YXJ0X29mZnNldDsKKyAgX191MzIgYmF0Y2hfbGVuOworICBfX3UzMiBEUjE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIERSMTsKLSBfX3UzMiBEUjQ7Ci0gX191MzIgbnVtX2NsaXByZWN0czsKLSBfX3U2NCBjbGlwcmVjdHNfcHRyOworICBfX3UzMiBEUjQ7CisgIF9fdTMyIG51bV9jbGlwcmVjdHM7CisgIF9fdTY0IGNsaXByZWN0c19wdHI7CisjZGVmaW5lIEk5MTVfRVhFQ19SSU5HX01BU0sgKDcgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEk5MTVfRVhFQ19SSU5HX01BU0sgKDc8PDApCi0jZGVmaW5lIEk5MTVfRVhFQ19ERUZBVUxUICgwPDwwKQotI2RlZmluZSBJOTE1X0VYRUNfUkVOREVSICgxPDwwKQotI2RlZmluZSBJOTE1X0VYRUNfQlNEICgyPDwwKQorI2RlZmluZSBJOTE1X0VYRUNfREVGQVVMVCAoMCA8PCAwKQorI2RlZmluZSBJOTE1X0VYRUNfUkVOREVSICgxIDw8IDApCisjZGVmaW5lIEk5MTVfRVhFQ19CU0QgKDIgPDwgMCkKKyNkZWZpbmUgSTkxNV9FWEVDX0JMVCAoMyA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSTkxNV9FWEVDX0JMVCAoMzw8MCkKLSNkZWZpbmUgSTkxNV9FWEVDX1ZFQk9YICg0PDwwKQotI2RlZmluZSBJOTE1X0VYRUNfQ09OU1RBTlRTX01BU0sgKDM8PDYpCi0jZGVmaW5lIEk5MTVfRVhFQ19DT05TVEFOVFNfUkVMX0dFTkVSQUwgKDA8PDYpCisjZGVmaW5lIEk5MTVfRVhFQ19WRUJPWCAoNCA8PCAwKQorI2RlZmluZSBJOTE1X0VYRUNfQ09OU1RBTlRTX01BU0sgKDMgPDwgNikKKyNkZWZpbmUgSTkxNV9FWEVDX0NPTlNUQU5UU19SRUxfR0VORVJBTCAoMCA8PCA2KQorI2RlZmluZSBJOTE1X0VYRUNfQ09OU1RBTlRTX0FCU09MVVRFICgxIDw8IDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJOTE1X0VYRUNfQ09OU1RBTlRTX0FCU09MVVRFICgxPDw2KQotI2RlZmluZSBJOTE1X0VYRUNfQ09OU1RBTlRTX1JFTF9TVVJGQUNFICgyPDw2KQotIF9fdTY0IGZsYWdzOwotIF9fdTY0IHJzdmQxOworI2RlZmluZSBJOTE1X0VYRUNfQ09OU1RBTlRTX1JFTF9TVVJGQUNFICgyIDw8IDYpCisgIF9fdTY0IGZsYWdzOworICBfX3U2NCByc3ZkMTsKKyAgX191NjQgcnN2ZDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJzdmQyOwogfTsKLSNkZWZpbmUgSTkxNV9FWEVDX0dFTjdfU09MX1JFU0VUICgxPDw4KQotI2RlZmluZSBJOTE1X0VYRUNfU0VDVVJFICgxPDw5KQorI2RlZmluZSBJOTE1X0VYRUNfR0VON19TT0xfUkVTRVQgKDEgPDwgOCkKKyNkZWZpbmUgSTkxNV9FWEVDX1NFQ1VSRSAoMSA8PCA5KQorI2RlZmluZSBJOTE1X0VYRUNfSVNfUElOTkVEICgxIDw8IDEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSTkxNV9FWEVDX0lTX1BJTk5FRCAoMTw8MTApCi0jZGVmaW5lIEk5MTVfRVhFQ19OT19SRUxPQyAoMTw8MTEpCi0jZGVmaW5lIEk5MTVfRVhFQ19IQU5ETEVfTFVUICgxPDwxMikKLSNkZWZpbmUgX19JOTE1X0VYRUNfVU5LTk9XTl9GTEFHUyAtKEk5MTVfRVhFQ19IQU5ETEVfTFVUPDwxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSTkxNV9FWEVDX05PX1JFTE9DICgxIDw8IDExKQorI2RlZmluZSBJOTE1X0VYRUNfSEFORExFX0xVVCAoMSA8PCAxMikKKyNkZWZpbmUgX19JOTE1X0VYRUNfVU5LTk9XTl9GTEFHUyAtIChJOTE1X0VYRUNfSEFORExFX0xVVCA8PCAxKQogI2RlZmluZSBJOTE1X0VYRUNfQ09OVEVYVF9JRF9NQVNLICgweGZmZmZmZmZmKQotI2RlZmluZSBpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0X2lkKGViMiwgY29udGV4dCkgICAoZWIyKS5yc3ZkMSA9IGNvbnRleHQgJiBJOTE1X0VYRUNfQ09OVEVYVF9JRF9NQVNLCi0jZGVmaW5lIGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoZWIyKSAgICgoZWIyKS5yc3ZkMSAmIEk5MTVfRVhFQ19DT05URVhUX0lEX01BU0spCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0X2lkKGViMixjb250ZXh0KSAoZWIyKS5yc3ZkMSA9IGNvbnRleHQgJiBJOTE1X0VYRUNfQ09OVEVYVF9JRF9NQVNLCisjZGVmaW5lIGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoZWIyKSAoKGViMikucnN2ZDEgJiBJOTE1X0VYRUNfQ09OVEVYVF9JRF9NQVNLKQogc3RydWN0IGRybV9pOTE1X2dlbV9waW4geworICBfX3UzMiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBwYWQ7Ci0gX191NjQgYWxpZ25tZW50OwotIF9fdTY0IG9mZnNldDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHBhZDsKKyAgX191NjQgYWxpZ25tZW50OworICBfX3U2NCBvZmZzZXQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1faTkxNV9nZW1fdW5waW4gewotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBwYWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIHBhZDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9idXN5IHsKLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgYnVzeTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgYnVzeTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X0NBQ0hJTkdfTk9ORSAwCiAjZGVmaW5lIEk5MTVfQ0FDSElOR19DQUNIRUQgMQogI2RlZmluZSBJOTE1X0NBQ0hJTkdfRElTUExBWSAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9jYWNoaW5nIHsKLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgY2FjaGluZzsKLX07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIGNhY2hpbmc7Cit9OwogI2RlZmluZSBJOTE1X1RJTElOR19OT05FIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfVElMSU5HX1ggMQogI2RlZmluZSBJOTE1X1RJTElOR19ZIDIKICNkZWZpbmUgSTkxNV9CSVRfNl9TV0laWkxFX05PTkUgMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9CSVRfNl9TV0laWkxFXzkgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9CSVRfNl9TV0laWkxFXzlfMTAgMgogI2RlZmluZSBJOTE1X0JJVF82X1NXSVpaTEVfOV8xMSAzCiAjZGVmaW5lIEk5MTVfQklUXzZfU1dJWlpMRV85XzEwXzExIDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfQklUXzZfU1dJWlpMRV9VTktOT1dOIDUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfQklUXzZfU1dJWlpMRV85XzE3IDYKICNkZWZpbmUgSTkxNV9CSVRfNl9TV0laWkxFXzlfMTBfMTcgNwogc3RydWN0IGRybV9pOTE1X2dlbV9zZXRfdGlsaW5nIHsKKyAgX191MzIgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgdGlsaW5nX21vZGU7Ci0gX191MzIgc3RyaWRlOwotIF9fdTMyIHN3aXp6bGVfbW9kZTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHRpbGluZ19tb2RlOworICBfX3UzMiBzdHJpZGU7CisgIF9fdTMyIHN3aXp6bGVfbW9kZTsKIH07Ci1zdHJ1Y3QgZHJtX2k5MTVfZ2VtX2dldF90aWxpbmcgewotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiB0aWxpbmdfbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3dpenpsZV9tb2RlOworc3RydWN0IGRybV9pOTE1X2dlbV9nZXRfdGlsaW5nIHsKKyAgX191MzIgaGFuZGxlOworICBfX3UzMiB0aWxpbmdfbW9kZTsKKyAgX191MzIgc3dpenpsZV9tb2RlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2dldF9hcGVydHVyZSB7Ci0gX191NjQgYXBlcl9zaXplOworICBfX3U2NCBhcGVyX3NpemU7CisgIF9fdTY0IGFwZXJfYXZhaWxhYmxlX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGFwZXJfYXZhaWxhYmxlX3NpemU7CiB9Owogc3RydWN0IGRybV9pOTE1X2dldF9waXBlX2Zyb21fY3J0Y19pZCB7Ci0gX191MzIgY3J0Y19pZDsKKyAgX191MzIgY3J0Y19pZDsKKyAgX191MzIgcGlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGlwZTsKIH07CiAjZGVmaW5lIEk5MTVfTUFEVl9XSUxMTkVFRCAwCiAjZGVmaW5lIEk5MTVfTUFEVl9ET05UTkVFRCAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0k5MTVfTUFEVl9QVVJHRUQgMgotc3RydWN0IGRybV9pOTE1X2dlbV9tYWR2aXNlIHsKLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgbWFkdjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmV0YWluZWQ7CitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21hZHZpc2UgeworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIG1hZHY7CisgIF9fdTMyIHJldGFpbmVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEk5MTVfT1ZFUkxBWV9UWVBFX01BU0sgMHhmZgogI2RlZmluZSBJOTE1X09WRVJMQVlfWVVWX1BMQU5BUiAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X09WRVJMQVlfWVVWX1BBQ0tFRCAweDAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X09WRVJMQVlfUkdCIDB4MDMKICNkZWZpbmUgSTkxNV9PVkVSTEFZX0RFUFRIX01BU0sgMHhmZjAwCiAjZGVmaW5lIEk5MTVfT1ZFUkxBWV9SR0IyNCAweDEwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfT1ZFUkxBWV9SR0IxNiAweDIwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfT1ZFUkxBWV9SR0IxNSAweDMwMDAKICNkZWZpbmUgSTkxNV9PVkVSTEFZX1lVVjQyMiAweDAxMDAKICNkZWZpbmUgSTkxNV9PVkVSTEFZX1lVVjQxMSAweDAyMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEk5MTVfT1ZFUkxBWV9ZVVY0MjAgMHgwMzAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X09WRVJMQVlfWVVWNDEwIDB4MDQwMAogI2RlZmluZSBJOTE1X09WRVJMQVlfU1dBUF9NQVNLIDB4ZmYwMDAwCiAjZGVmaW5lIEk5MTVfT1ZFUkxBWV9OT19TV0FQIDB4MDAwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X09WRVJMQVlfVVZfU1dBUCAweDAxMDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTkxNV9PVkVSTEFZX1lfU1dBUCAweDAyMDAwMAogI2RlZmluZSBJOTE1X09WRVJMQVlfWV9BTkRfVVZfU1dBUCAweDAzMDAwMAogI2RlZmluZSBJOTE1X09WRVJMQVlfRkxBR1NfTUFTSyAweGZmMDAwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJOTE1X09WRVJMQVlfRU5BQkxFIDB4MDEwMDAwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX2ludGVsX292ZXJsYXlfcHV0X2ltYWdlIHsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBib19oYW5kbGU7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBib19oYW5kbGU7CisgIF9fdTE2IHN0cmlkZV9ZOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzdHJpZGVfWTsKLSBfX3UxNiBzdHJpZGVfVVY7Ci0gX191MzIgb2Zmc2V0X1k7Ci0gX191MzIgb2Zmc2V0X1U7CisgIF9fdTE2IHN0cmlkZV9VVjsKKyAgX191MzIgb2Zmc2V0X1k7CisgIF9fdTMyIG9mZnNldF9VOworICBfX3UzMiBvZmZzZXRfVjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgb2Zmc2V0X1Y7Ci0gX191MTYgc3JjX3dpZHRoOwotIF9fdTE2IHNyY19oZWlnaHQ7Ci0gX191MTYgc3JjX3NjYW5fd2lkdGg7CisgIF9fdTE2IHNyY193aWR0aDsKKyAgX191MTYgc3JjX2hlaWdodDsKKyAgX191MTYgc3JjX3NjYW5fd2lkdGg7CisgIF9fdTE2IHNyY19zY2FuX2hlaWdodDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc3JjX3NjYW5faGVpZ2h0OwotIF9fdTMyIGNydGNfaWQ7Ci0gX191MTYgZHN0X3g7Ci0gX191MTYgZHN0X3k7CisgIF9fdTMyIGNydGNfaWQ7CisgIF9fdTE2IGRzdF94OworICBfX3UxNiBkc3RfeTsKKyAgX191MTYgZHN0X3dpZHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBkc3Rfd2lkdGg7Ci0gX191MTYgZHN0X2hlaWdodDsKKyAgX191MTYgZHN0X2hlaWdodDsKIH07Ci0jZGVmaW5lIEk5MTVfT1ZFUkxBWV9VUERBVEVfQVRUUlMgKDE8PDApCisjZGVmaW5lIEk5MTVfT1ZFUkxBWV9VUERBVEVfQVRUUlMgKDEgPDwgMCkKKyNkZWZpbmUgSTkxNV9PVkVSTEFZX1VQREFURV9HQU1NQSAoMSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSTkxNV9PVkVSTEFZX1VQREFURV9HQU1NQSAoMTw8MSkKIHN0cnVjdCBkcm1faW50ZWxfb3ZlcmxheV9hdHRycyB7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgY29sb3Jfa2V5OworICBfX3UzMiBmbGFnczsKKyAgX191MzIgY29sb3Jfa2V5OworICBfX3MzMiBicmlnaHRuZXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBicmlnaHRuZXNzOwotIF9fdTMyIGNvbnRyYXN0OwotIF9fdTMyIHNhdHVyYXRpb247Ci0gX191MzIgZ2FtbWEwOworICBfX3UzMiBjb250cmFzdDsKKyAgX191MzIgc2F0dXJhdGlvbjsKKyAgX191MzIgZ2FtbWEwOworICBfX3UzMiBnYW1tYTE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGdhbW1hMTsKLSBfX3UzMiBnYW1tYTI7Ci0gX191MzIgZ2FtbWEzOwotIF9fdTMyIGdhbW1hNDsKKyAgX191MzIgZ2FtbWEyOworICBfX3UzMiBnYW1tYTM7CisgIF9fdTMyIGdhbW1hNDsKKyAgX191MzIgZ2FtbWE1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBnYW1tYTU7CiB9OwotI2RlZmluZSBJOTE1X1NFVF9DT0xPUktFWV9OT05FICgxPDwwKQotI2RlZmluZSBJOTE1X1NFVF9DT0xPUktFWV9ERVNUSU5BVElPTiAoMTw8MSkKKyNkZWZpbmUgSTkxNV9TRVRfQ09MT1JLRVlfTk9ORSAoMSA8PCAwKQorI2RlZmluZSBJOTE1X1NFVF9DT0xPUktFWV9ERVNUSU5BVElPTiAoMSA8PCAxKQorI2RlZmluZSBJOTE1X1NFVF9DT0xPUktFWV9TT1VSQ0UgKDEgPDwgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEk5MTVfU0VUX0NPTE9SS0VZX1NPVVJDRSAoMTw8MikKIHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5IHsKLSBfX3UzMiBwbGFuZV9pZDsKLSBfX3UzMiBtaW5fdmFsdWU7CisgIF9fdTMyIHBsYW5lX2lkOworICBfX3UzMiBtaW5fdmFsdWU7CisgIF9fdTMyIGNoYW5uZWxfbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY2hhbm5lbF9tYXNrOwotIF9fdTMyIG1heF92YWx1ZTsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgbWF4X3ZhbHVlOworICBfX3UzMiBmbGFnczsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9pOTE1X2dlbV93YWl0IHsKLSBfX3UzMiBib19oYW5kbGU7Ci0gX191MzIgZmxhZ3M7Ci0gX19zNjQgdGltZW91dF9uczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGJvX2hhbmRsZTsKKyAgX191MzIgZmxhZ3M7CisgIF9fczY0IHRpbWVvdXRfbnM7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9jcmVhdGUgewotIF9fdTMyIGN0eF9pZDsKLSBfX3UzMiBwYWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBjdHhfaWQ7CisgIF9fdTMyIHBhZDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3kgewotIF9fdTMyIGN0eF9pZDsKLSBfX3UzMiBwYWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBjdHhfaWQ7CisgIF9fdTMyIHBhZDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9pOTE1X3JlZ19yZWFkIHsKLSBfX3U2NCBvZmZzZXQ7Ci0gX191NjQgdmFsOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgb2Zmc2V0OworICBfX3U2NCB2YWw7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1faTkxNV9yZXNldF9zdGF0cyB7Ci0gX191MzIgY3R4X2lkOwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBjdHhfaWQ7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiByZXNldF9jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXRfY291bnQ7Ci0gX191MzIgYmF0Y2hfYWN0aXZlOwotIF9fdTMyIGJhdGNoX3BlbmRpbmc7Ci0gX191MzIgcGFkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgYmF0Y2hfYWN0aXZlOworICBfX3UzMiBiYXRjaF9wZW5kaW5nOworICBfX3UzMiBwYWQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBkcm1faTkxNV9nZW1fdXNlcnB0ciB7CisgIF9fdTY0IHVzZXJfcHRyOworICBfX3U2NCB1c2VyX3NpemU7CisgIF9fdTMyIGZsYWdzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSTkxNV9VU0VSUFRSX1JFQURfT05MWSAweDEKKyNkZWZpbmUgSTkxNV9VU0VSUFRSX1VOU1lOQ0hST05JWkVEIDB4ODAwMDAwMDAKKyAgX191MzIgaGFuZGxlOworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL21nYV9kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL21nYV9kcm0uaAppbmRleCA4ZTQzZTRkLi5kZWQ0ZDg5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9tZ2FfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vbWdhX2RybS5oCkBAIC0zMSwyMiArMzEsMjIgQEAKICNkZWZpbmUgTUdBX1dBUlBfVEdaRiAoTUdBX0YpCiAjZGVmaW5lIE1HQV9XQVJQX1RHWkEgKE1HQV9BKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTUdBX1dBUlBfVEdaQUYgKE1HQV9GfE1HQV9BKQorI2RlZmluZSBNR0FfV0FSUF9UR1pBRiAoTUdBX0YgfCBNR0FfQSkKICNkZWZpbmUgTUdBX1dBUlBfVEdaUyAoTUdBX1MpCi0jZGVmaW5lIE1HQV9XQVJQX1RHWlNGIChNR0FfU3xNR0FfRikKLSNkZWZpbmUgTUdBX1dBUlBfVEdaU0EgKE1HQV9TfE1HQV9BKQorI2RlZmluZSBNR0FfV0FSUF9UR1pTRiAoTUdBX1MgfCBNR0FfRikKKyNkZWZpbmUgTUdBX1dBUlBfVEdaU0EgKE1HQV9TIHwgTUdBX0EpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNR0FfV0FSUF9UR1pTQUYgKE1HQV9TfE1HQV9GfE1HQV9BKQorI2RlZmluZSBNR0FfV0FSUF9UR1pTQUYgKE1HQV9TIHwgTUdBX0YgfCBNR0FfQSkKICNkZWZpbmUgTUdBX1dBUlBfVDJHWiAoTUdBX1QyKQotI2RlZmluZSBNR0FfV0FSUF9UMkdaRiAoTUdBX1QyfE1HQV9GKQotI2RlZmluZSBNR0FfV0FSUF9UMkdaQSAoTUdBX1QyfE1HQV9BKQorI2RlZmluZSBNR0FfV0FSUF9UMkdaRiAoTUdBX1QyIHwgTUdBX0YpCisjZGVmaW5lIE1HQV9XQVJQX1QyR1pBIChNR0FfVDIgfCBNR0FfQSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1HQV9XQVJQX1QyR1pBRiAoTUdBX1QyfE1HQV9BfE1HQV9GKQotI2RlZmluZSBNR0FfV0FSUF9UMkdaUyAoTUdBX1QyfE1HQV9TKQotI2RlZmluZSBNR0FfV0FSUF9UMkdaU0YgKE1HQV9UMnxNR0FfU3xNR0FfRikKLSNkZWZpbmUgTUdBX1dBUlBfVDJHWlNBIChNR0FfVDJ8TUdBX1N8TUdBX0EpCisjZGVmaW5lIE1HQV9XQVJQX1QyR1pBRiAoTUdBX1QyIHwgTUdBX0EgfCBNR0FfRikKKyNkZWZpbmUgTUdBX1dBUlBfVDJHWlMgKE1HQV9UMiB8IE1HQV9TKQorI2RlZmluZSBNR0FfV0FSUF9UMkdaU0YgKE1HQV9UMiB8IE1HQV9TIHwgTUdBX0YpCisjZGVmaW5lIE1HQV9XQVJQX1QyR1pTQSAoTUdBX1QyIHwgTUdBX1MgfCBNR0FfQSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1HQV9XQVJQX1QyR1pTQUYgKE1HQV9UMnxNR0FfU3xNR0FfRnxNR0FfQSkKKyNkZWZpbmUgTUdBX1dBUlBfVDJHWlNBRiAoTUdBX1QyIHwgTUdBX1MgfCBNR0FfRiB8IE1HQV9BKQogI2RlZmluZSBNR0FfTUFYX0cyMDBfUElQRVMgOAogI2RlZmluZSBNR0FfTUFYX0c0MDBfUElQRVMgMTYKICNkZWZpbmUgTUdBX01BWF9XQVJQX1BJUEVTIE1HQV9NQVhfRzQwMF9QSVBFUwpAQCAtODYsODMgKzg2LDgzIEBACiAjZW5kaWYKIHR5cGVkZWYgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGRzdG9yZzsKLSB1bnNpZ25lZCBpbnQgbWFjY2VzczsKLSB1bnNpZ25lZCBpbnQgcGxud3Q7Ci0gdW5zaWduZWQgaW50IGR3Z2N0bDsKKyAgdW5zaWduZWQgaW50IGRzdG9yZzsKKyAgdW5zaWduZWQgaW50IG1hY2Nlc3M7CisgIHVuc2lnbmVkIGludCBwbG53dDsKKyAgdW5zaWduZWQgaW50IGR3Z2N0bDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGFscGhhY3RybDsKLSB1bnNpZ25lZCBpbnQgZm9nY29sb3I7Ci0gdW5zaWduZWQgaW50IHdmbGFnOwotIHVuc2lnbmVkIGludCB0ZHVhbHN0YWdlMDsKKyAgdW5zaWduZWQgaW50IGFscGhhY3RybDsKKyAgdW5zaWduZWQgaW50IGZvZ2NvbG9yOworICB1bnNpZ25lZCBpbnQgd2ZsYWc7CisgIHVuc2lnbmVkIGludCB0ZHVhbHN0YWdlMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRkdWFsc3RhZ2UxOwotIHVuc2lnbmVkIGludCBmY29sOwotIHVuc2lnbmVkIGludCBzdGVuY2lsOwotIHVuc2lnbmVkIGludCBzdGVuY2lsY3RsOworICB1bnNpZ25lZCBpbnQgdGR1YWxzdGFnZTE7CisgIHVuc2lnbmVkIGludCBmY29sOworICB1bnNpZ25lZCBpbnQgc3RlbmNpbDsKKyAgdW5zaWduZWQgaW50IHN0ZW5jaWxjdGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fbWdhX2NvbnRleHRfcmVnc190OwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBwaXRjaDsKKyAgdW5zaWduZWQgaW50IHBpdGNoOwogfSBkcm1fbWdhX3NlcnZlcl9yZWdzX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCB0ZXhjdGw7Ci0gdW5zaWduZWQgaW50IHRleGN0bDI7Ci0gdW5zaWduZWQgaW50IHRleGZpbHRlcjsKKyAgdW5zaWduZWQgaW50IHRleGN0bDsKKyAgdW5zaWduZWQgaW50IHRleGN0bDI7CisgIHVuc2lnbmVkIGludCB0ZXhmaWx0ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0ZXhib3JkZXJjb2w7Ci0gdW5zaWduZWQgaW50IHRleG9yZzsKLSB1bnNpZ25lZCBpbnQgdGV4d2lkdGg7Ci0gdW5zaWduZWQgaW50IHRleGhlaWdodDsKKyAgdW5zaWduZWQgaW50IHRleGJvcmRlcmNvbDsKKyAgdW5zaWduZWQgaW50IHRleG9yZzsKKyAgdW5zaWduZWQgaW50IHRleHdpZHRoOworICB1bnNpZ25lZCBpbnQgdGV4aGVpZ2h0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdGV4b3JnMTsKLSB1bnNpZ25lZCBpbnQgdGV4b3JnMjsKLSB1bnNpZ25lZCBpbnQgdGV4b3JnMzsKLSB1bnNpZ25lZCBpbnQgdGV4b3JnNDsKKyAgdW5zaWduZWQgaW50IHRleG9yZzE7CisgIHVuc2lnbmVkIGludCB0ZXhvcmcyOworICB1bnNpZ25lZCBpbnQgdGV4b3JnMzsKKyAgdW5zaWduZWQgaW50IHRleG9yZzQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fbWdhX3RleHR1cmVfcmVnc190OwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBoZWFkOwotIHVuc2lnbmVkIGludCB3cmFwOworICB1bnNpZ25lZCBpbnQgaGVhZDsKKyAgdW5zaWduZWQgaW50IHdyYXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fbWdhX2FnZV90OwogdHlwZWRlZiBzdHJ1Y3QgX2RybV9tZ2Ffc2FyZWEgewotIGRybV9tZ2FfY29udGV4dF9yZWdzX3QgY29udGV4dF9zdGF0ZTsKLSBkcm1fbWdhX3NlcnZlcl9yZWdzX3Qgc2VydmVyX3N0YXRlOworICBkcm1fbWdhX2NvbnRleHRfcmVnc190IGNvbnRleHRfc3RhdGU7CisgIGRybV9tZ2Ffc2VydmVyX3JlZ3NfdCBzZXJ2ZXJfc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRybV9tZ2FfdGV4dHVyZV9yZWdzX3QgdGV4X3N0YXRlWzJdOwotIHVuc2lnbmVkIGludCB3YXJwX3BpcGU7Ci0gdW5zaWduZWQgaW50IGRpcnR5OwotIHVuc2lnbmVkIGludCB2ZXJ0c2l6ZTsKKyAgZHJtX21nYV90ZXh0dXJlX3JlZ3NfdCB0ZXhfc3RhdGVbMl07CisgIHVuc2lnbmVkIGludCB3YXJwX3BpcGU7CisgIHVuc2lnbmVkIGludCBkaXJ0eTsKKyAgdW5zaWduZWQgaW50IHZlcnRzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBib3hlc1tNR0FfTlJfU0FSRUFfQ0xJUFJFQ1RTXTsKLSB1bnNpZ25lZCBpbnQgbmJveDsKLSB1bnNpZ25lZCBpbnQgcmVxX2RyYXdhYmxlOwotIHVuc2lnbmVkIGludCByZXFfZHJhd19idWZmZXI7CisgIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGJveGVzW01HQV9OUl9TQVJFQV9DTElQUkVDVFNdOworICB1bnNpZ25lZCBpbnQgbmJveDsKKyAgdW5zaWduZWQgaW50IHJlcV9kcmF3YWJsZTsKKyAgdW5zaWduZWQgaW50IHJlcV9kcmF3X2J1ZmZlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGV4cG9ydGVkX2RyYXdhYmxlOwotIHVuc2lnbmVkIGludCBleHBvcnRlZF9pbmRleDsKLSB1bnNpZ25lZCBpbnQgZXhwb3J0ZWRfc3RhbXA7Ci0gdW5zaWduZWQgaW50IGV4cG9ydGVkX2J1ZmZlcnM7CisgIHVuc2lnbmVkIGludCBleHBvcnRlZF9kcmF3YWJsZTsKKyAgdW5zaWduZWQgaW50IGV4cG9ydGVkX2luZGV4OworICB1bnNpZ25lZCBpbnQgZXhwb3J0ZWRfc3RhbXA7CisgIHVuc2lnbmVkIGludCBleHBvcnRlZF9idWZmZXJzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZXhwb3J0ZWRfbmZyb250OwotIHVuc2lnbmVkIGludCBleHBvcnRlZF9uYmFjazsKLSBpbnQgZXhwb3J0ZWRfYmFja194LCBleHBvcnRlZF9mcm9udF94LCBleHBvcnRlZF93OwotIGludCBleHBvcnRlZF9iYWNrX3ksIGV4cG9ydGVkX2Zyb250X3ksIGV4cG9ydGVkX2g7CisgIHVuc2lnbmVkIGludCBleHBvcnRlZF9uZnJvbnQ7CisgIHVuc2lnbmVkIGludCBleHBvcnRlZF9uYmFjazsKKyAgaW50IGV4cG9ydGVkX2JhY2tfeCwgZXhwb3J0ZWRfZnJvbnRfeCwgZXhwb3J0ZWRfdzsKKyAgaW50IGV4cG9ydGVkX2JhY2tfeSwgZXhwb3J0ZWRfZnJvbnRfeSwgZXhwb3J0ZWRfaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGRybV9jbGlwX3JlY3QgZXhwb3J0ZWRfYm94ZXNbTUdBX05SX1NBUkVBX0NMSVBSRUNUU107Ci0gdW5zaWduZWQgaW50IHN0YXR1c1s0XTsKLSB1bnNpZ25lZCBpbnQgbGFzdF93cmFwOwotIGRybV9tZ2FfYWdlX3QgbGFzdF9mcmFtZTsKKyAgc3RydWN0IGRybV9jbGlwX3JlY3QgZXhwb3J0ZWRfYm94ZXNbTUdBX05SX1NBUkVBX0NMSVBSRUNUU107CisgIHVuc2lnbmVkIGludCBzdGF0dXNbNF07CisgIHVuc2lnbmVkIGludCBsYXN0X3dyYXA7CisgIGRybV9tZ2FfYWdlX3QgbGFzdF9mcmFtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGxhc3RfZW5xdWV1ZTsKLSB1bnNpZ25lZCBpbnQgbGFzdF9kaXNwYXRjaDsKLSB1bnNpZ25lZCBpbnQgbGFzdF9xdWllc2NlbnQ7Ci0gc3RydWN0IGRybV90ZXhfcmVnaW9uIHRleExpc3RbTUdBX05SX1RFWF9IRUFQU11bTUdBX05SX1RFWF9SRUdJT05TICsgMV07CisgIHVuc2lnbmVkIGludCBsYXN0X2VucXVldWU7CisgIHVuc2lnbmVkIGludCBsYXN0X2Rpc3BhdGNoOworICB1bnNpZ25lZCBpbnQgbGFzdF9xdWllc2NlbnQ7CisgIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiB0ZXhMaXN0W01HQV9OUl9URVhfSEVBUFNdW01HQV9OUl9URVhfUkVHSU9OUyArIDFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdGV4QWdlW01HQV9OUl9URVhfSEVBUFNdOwotIGludCBjdHhPd25lcjsKKyAgdW5zaWduZWQgaW50IHRleEFnZVtNR0FfTlJfVEVYX0hFQVBTXTsKKyAgaW50IGN0eE93bmVyOwogfSBkcm1fbWdhX3NhcmVhX3Q7CiAjZGVmaW5lIERSTV9NR0FfSU5JVCAweDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTgxLDExNSArMTgxLDExNSBAQAogI2RlZmluZSBEUk1fTUdBX1dBSVRfRkVOQ0UgMHgwYgogI2RlZmluZSBEUk1fTUdBX0RNQV9CT09UU1RSQVAgMHgwYwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX01HQV9JTklUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fTUdBX0lOSVQsIGRybV9tZ2FfaW5pdF90KQotI2RlZmluZSBEUk1fSU9DVExfTUdBX0ZMVVNIIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fTUdBX0ZMVVNILCBzdHJ1Y3QgZHJtX2xvY2spCi0jZGVmaW5lIERSTV9JT0NUTF9NR0FfUkVTRVQgRFJNX0lPKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9SRVNFVCkKLSNkZWZpbmUgRFJNX0lPQ1RMX01HQV9TV0FQIERSTV9JTyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfU1dBUCkKKyNkZWZpbmUgRFJNX0lPQ1RMX01HQV9JTklUIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfSU5JVCwgZHJtX21nYV9pbml0X3QpCisjZGVmaW5lIERSTV9JT0NUTF9NR0FfRkxVU0ggRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9GTFVTSCwgc3RydWN0IGRybV9sb2NrKQorI2RlZmluZSBEUk1fSU9DVExfTUdBX1JFU0VUIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9SRVNFVCkKKyNkZWZpbmUgRFJNX0lPQ1RMX01HQV9TV0FQIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9TV0FQKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX01HQV9DTEVBUiBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9DTEVBUiwgZHJtX21nYV9jbGVhcl90KQotI2RlZmluZSBEUk1fSU9DVExfTUdBX1ZFUlRFWCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9WRVJURVgsIGRybV9tZ2FfdmVydGV4X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9NR0FfSU5ESUNFUyBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9JTkRJQ0VTLCBkcm1fbWdhX2luZGljZXNfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX01HQV9JTE9BRCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9JTE9BRCwgZHJtX21nYV9pbG9hZF90KQorI2RlZmluZSBEUk1fSU9DVExfTUdBX0NMRUFSIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfQ0xFQVIsIGRybV9tZ2FfY2xlYXJfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX01HQV9WRVJURVggRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9WRVJURVgsIGRybV9tZ2FfdmVydGV4X3QpCisjZGVmaW5lIERSTV9JT0NUTF9NR0FfSU5ESUNFUyBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fTUdBX0lORElDRVMsIGRybV9tZ2FfaW5kaWNlc190KQorI2RlZmluZSBEUk1fSU9DVExfTUdBX0lMT0FEIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfSUxPQUQsIGRybV9tZ2FfaWxvYWRfdCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9NR0FfQkxJVCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9CTElULCBkcm1fbWdhX2JsaXRfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX01HQV9CTElUIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfQkxJVCwgZHJtX21nYV9ibGl0X3QpCiAjZGVmaW5lIERSTV9JT0NUTF9NR0FfR0VUUEFSQU0gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfR0VUUEFSQU0sIGRybV9tZ2FfZ2V0cGFyYW1fdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX01HQV9TRVRfRkVOQ0UgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfU0VUX0ZFTkNFLCBfX3UzMikKKyNkZWZpbmUgRFJNX0lPQ1RMX01HQV9TRVRfRkVOQ0UgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01HQV9TRVRfRkVOQ0UsIF9fdTMyKQogI2RlZmluZSBEUk1fSU9DVExfTUdBX1dBSVRfRkVOQ0UgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfV0FJVF9GRU5DRSwgX191MzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfTUdBX0RNQV9CT09UU1RSQVAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9NR0FfRE1BX0JPT1RTVFJBUCwgZHJtX21nYV9kbWFfYm9vdHN0cmFwX3QpCiB0eXBlZGVmIHN0cnVjdCBfZHJtX21nYV93YXJwX2luZGV4IHsKLSBpbnQgaW5zdGFsbGVkOwotIHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyOworICBpbnQgaW5zdGFsbGVkOworICB1bnNpZ25lZCBsb25nIHBoeXNfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHNpemU7CisgIGludCBzaXplOwogfSBkcm1fbWdhX3dhcnBfaW5kZXhfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9tZ2FfaW5pdCB7Ci0gZW51bSB7CisgIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNR0FfSU5JVF9ETUEgPSAweDAxLAotIE1HQV9DTEVBTlVQX0RNQSA9IDB4MDIKLSB9IGZ1bmM7Ci0gdW5zaWduZWQgbG9uZyBzYXJlYV9wcml2X29mZnNldDsKKyAgICBNR0FfSU5JVF9ETUEgPSAweDAxLAorICAgIE1HQV9DTEVBTlVQX0RNQSA9IDB4MDIKKyAgfSBmdW5jOworICB1bnNpZ25lZCBsb25nIHNhcmVhX3ByaXZfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2hpcHNldDsKLSBpbnQgc2dyYW07Ci0gdW5zaWduZWQgaW50IG1hY2Nlc3M7Ci0gdW5zaWduZWQgaW50IGZiX2NwcDsKKyAgaW50IGNoaXBzZXQ7CisgIGludCBzZ3JhbTsKKyAgdW5zaWduZWQgaW50IG1hY2Nlc3M7CisgIHVuc2lnbmVkIGludCBmYl9jcHA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBmcm9udF9vZmZzZXQsIGZyb250X3BpdGNoOwotIHVuc2lnbmVkIGludCBiYWNrX29mZnNldCwgYmFja19waXRjaDsKLSB1bnNpZ25lZCBpbnQgZGVwdGhfY3BwOwotIHVuc2lnbmVkIGludCBkZXB0aF9vZmZzZXQsIGRlcHRoX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0LCBmcm9udF9waXRjaDsKKyAgdW5zaWduZWQgaW50IGJhY2tfb2Zmc2V0LCBiYWNrX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZGVwdGhfY3BwOworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0LCBkZXB0aF9waXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRleHR1cmVfb2Zmc2V0W01HQV9OUl9URVhfSEVBUFNdOwotIHVuc2lnbmVkIGludCB0ZXh0dXJlX3NpemVbTUdBX05SX1RFWF9IRUFQU107Ci0gdW5zaWduZWQgbG9uZyBmYl9vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBtbWlvX29mZnNldDsKKyAgdW5zaWduZWQgaW50IHRleHR1cmVfb2Zmc2V0W01HQV9OUl9URVhfSEVBUFNdOworICB1bnNpZ25lZCBpbnQgdGV4dHVyZV9zaXplW01HQV9OUl9URVhfSEVBUFNdOworICB1bnNpZ25lZCBsb25nIGZiX29mZnNldDsKKyAgdW5zaWduZWQgbG9uZyBtbWlvX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBzdGF0dXNfb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgd2FycF9vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBwcmltYXJ5X29mZnNldDsKLSB1bnNpZ25lZCBsb25nIGJ1ZmZlcnNfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIHN0YXR1c19vZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgd2FycF9vZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgcHJpbWFyeV9vZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgYnVmZmVyc19vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fbWdhX2luaXRfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9tZ2FfZG1hX2Jvb3RzdHJhcCB7Ci0gdW5zaWduZWQgbG9uZyB0ZXh0dXJlX2hhbmRsZTsKLSBfX3UzMiB0ZXh0dXJlX3NpemU7CisgIHVuc2lnbmVkIGxvbmcgdGV4dHVyZV9oYW5kbGU7CisgIF9fdTMyIHRleHR1cmVfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHJpbWFyeV9zaXplOwotIF9fdTMyIHNlY29uZGFyeV9iaW5fY291bnQ7Ci0gX191MzIgc2Vjb25kYXJ5X2Jpbl9zaXplOwotIF9fdTMyIGFncF9tb2RlOworICBfX3UzMiBwcmltYXJ5X3NpemU7CisgIF9fdTMyIHNlY29uZGFyeV9iaW5fY291bnQ7CisgIF9fdTMyIHNlY29uZGFyeV9iaW5fc2l6ZTsKKyAgX191MzIgYWdwX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWdwX3NpemU7CisgIF9fdTggYWdwX3NpemU7CiB9IGRybV9tZ2FfZG1hX2Jvb3RzdHJhcF90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX21nYV9jbGVhciB7Ci0gdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjbGVhcl9jb2xvcjsKLSB1bnNpZ25lZCBpbnQgY2xlYXJfZGVwdGg7Ci0gdW5zaWduZWQgaW50IGNvbG9yX21hc2s7Ci0gdW5zaWduZWQgaW50IGRlcHRoX21hc2s7CisgIHVuc2lnbmVkIGludCBjbGVhcl9jb2xvcjsKKyAgdW5zaWduZWQgaW50IGNsZWFyX2RlcHRoOworICB1bnNpZ25lZCBpbnQgY29sb3JfbWFzazsKKyAgdW5zaWduZWQgaW50IGRlcHRoX21hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fbWdhX2NsZWFyX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fbWdhX3ZlcnRleCB7Ci0gaW50IGlkeDsKLSBpbnQgdXNlZDsKKyAgaW50IGlkeDsKKyAgaW50IHVzZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBkaXNjYXJkOworICBpbnQgZGlzY2FyZDsKIH0gZHJtX21nYV92ZXJ0ZXhfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9tZ2FfaW5kaWNlcyB7Ci0gaW50IGlkeDsKKyAgaW50IGlkeDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN0YXJ0OwotIHVuc2lnbmVkIGludCBlbmQ7Ci0gaW50IGRpc2NhcmQ7CisgIHVuc2lnbmVkIGludCBzdGFydDsKKyAgdW5zaWduZWQgaW50IGVuZDsKKyAgaW50IGRpc2NhcmQ7CiB9IGRybV9tZ2FfaW5kaWNlc190OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9tZ2FfaWxvYWQgewotIGludCBpZHg7Ci0gdW5zaWduZWQgaW50IGRzdG9yZzsKLSB1bnNpZ25lZCBpbnQgbGVuZ3RoOworICBpbnQgaWR4OworICB1bnNpZ25lZCBpbnQgZHN0b3JnOworICB1bnNpZ25lZCBpbnQgbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gZHJtX21nYV9pbG9hZF90OwogdHlwZWRlZiBzdHJ1Y3QgX2RybV9tZ2FfYmxpdCB7Ci0gdW5zaWduZWQgaW50IHBsYW5lbWFzazsKLSB1bnNpZ25lZCBpbnQgc3Jjb3JnOworICB1bnNpZ25lZCBpbnQgcGxhbmVtYXNrOworICB1bnNpZ25lZCBpbnQgc3Jjb3JnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZHN0b3JnOwotIGludCBzcmNfcGl0Y2gsIGRzdF9waXRjaDsKLSBpbnQgZGVsdGFfc3gsIGRlbHRhX3N5OwotIGludCBkZWx0YV9keCwgZGVsdGFfZHk7CisgIHVuc2lnbmVkIGludCBkc3Rvcmc7CisgIGludCBzcmNfcGl0Y2gsIGRzdF9waXRjaDsKKyAgaW50IGRlbHRhX3N4LCBkZWx0YV9zeTsKKyAgaW50IGRlbHRhX2R4LCBkZWx0YV9keTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGhlaWdodCwgeWRpcjsKLSBpbnQgc291cmNlX3BpdGNoLCBkZXN0X3BpdGNoOworICBpbnQgaGVpZ2h0LCB5ZGlyOworICBpbnQgc291cmNlX3BpdGNoLCBkZXN0X3BpdGNoOwogfSBkcm1fbWdhX2JsaXRfdDsKICNkZWZpbmUgTUdBX1BBUkFNX0lSUV9OUiAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNR0FfUEFSQU1fQ0FSRF9UWVBFIDIKIHR5cGVkZWYgc3RydWN0IGRybV9tZ2FfZ2V0cGFyYW0gewotIGludCBwYXJhbTsKLSB2b2lkIF9fdXNlciAqdmFsdWU7CisgIGludCBwYXJhbTsKKyAgdm9pZCBfX3VzZXIgKiB2YWx1ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9tZ2FfZ2V0cGFyYW1fdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vbXNtX2RybS5oIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vbXNtX2RybS5oCmluZGV4IDAzM2JiMzkuLjhkYjRiMGQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvZHJtL21zbV9kcm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2RybS9tc21fZHJtLmgKQEAgLTI3LDk5ICsyNywxMDQgQEAKICNkZWZpbmUgTVNNX1BJUEVfM0QwIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX21zbV90aW1lc3BlYyB7Ci0gaW50NjRfdCB0dl9zZWM7Ci0gaW50NjRfdCB0dl9uc2VjOworICBpbnQ2NF90IHR2X3NlYzsKKyAgaW50NjRfdCB0dl9uc2VjOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TTV9QQVJBTV9HUFVfSUQgMHgwMQogI2RlZmluZSBNU01fUEFSQU1fR01FTV9TSVpFIDB4MDIKKyNkZWZpbmUgTVNNX1BBUkFNX0NISVBfSUQgMHgwMwogc3RydWN0IGRybV9tc21fcGFyYW0gewotIHVpbnQzMl90IHBpcGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHBhcmFtOwotIHVpbnQ2NF90IHZhbHVlOworICB1aW50MzJfdCBwaXBlOworICB1aW50MzJfdCBwYXJhbTsKKyAgdWludDY0X3QgdmFsdWU7CiB9OwotI2RlZmluZSBNU01fQk9fU0NBTk9VVCAweDAwMDAwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNU01fQk9fU0NBTk9VVCAweDAwMDAwMDAxCiAjZGVmaW5lIE1TTV9CT19HUFVfUkVBRE9OTFkgMHgwMDAwMDAwMgogI2RlZmluZSBNU01fQk9fQ0FDSEVfTUFTSyAweDAwMGYwMDAwCiAjZGVmaW5lIE1TTV9CT19DQUNIRUQgMHgwMDAxMDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNNX0JPX1dDIDB4MDAwMjAwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TTV9CT19VTkNBQ0hFRCAweDAwMDQwMDAwCisjZGVmaW5lIE1TTV9CT19GTEFHUyAoTVNNX0JPX1NDQU5PVVQgfCBNU01fQk9fR1BVX1JFQURPTkxZIHwgTVNNX0JPX0NBQ0hFRCB8IE1TTV9CT19XQyB8IE1TTV9CT19VTkNBQ0hFRCkKIHN0cnVjdCBkcm1fbXNtX2dlbV9uZXcgewotIHVpbnQ2NF90IHNpemU7Ci0gdWludDMyX3QgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDY0X3Qgc2l6ZTsKKyAgdWludDMyX3QgZmxhZ3M7CisgIHVpbnQzMl90IGhhbmRsZTsKIH07Ci1zdHJ1Y3QgZHJtX21zbV9nZW1faW5mbyB7Ci0gdWludDMyX3QgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBwYWQ7Ci0gdWludDY0X3Qgb2Zmc2V0Oworc3RydWN0IGRybV9tc21fZ2VtX2luZm8geworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IHBhZDsKKyAgdWludDY0X3Qgb2Zmc2V0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIE1TTV9QUkVQX1JFQUQgMHgwMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNNX1BSRVBfV1JJVEUgMHgwMgogI2RlZmluZSBNU01fUFJFUF9OT1NZTkMgMHgwNAotc3RydWN0IGRybV9tc21fZ2VtX2NwdV9wcmVwIHsKLSB1aW50MzJfdCBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IG9wOwotIHN0cnVjdCBkcm1fbXNtX3RpbWVzcGVjIHRpbWVvdXQ7CisjZGVmaW5lIE1TTV9QUkVQX0ZMQUdTIChNU01fUFJFUF9SRUFEIHwgTVNNX1BSRVBfV1JJVEUgfCBNU01fUFJFUF9OT1NZTkMpCitzdHJ1Y3QgZHJtX21zbV9nZW1fY3B1X3ByZXAgeworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IG9wOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGRybV9tc21fdGltZXNwZWMgdGltZW91dDsKIH07CiBzdHJ1Y3QgZHJtX21zbV9nZW1fY3B1X2ZpbmkgeworICB1aW50MzJfdCBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKIH07CiBzdHJ1Y3QgZHJtX21zbV9nZW1fc3VibWl0X3JlbG9jIHsKLSB1aW50MzJfdCBzdWJtaXRfb2Zmc2V0OworICB1aW50MzJfdCBzdWJtaXRfb2Zmc2V0OworICB1aW50MzJfdCBvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3Qgb3I7Ci0gaW50MzJfdCBzaGlmdDsKLSB1aW50MzJfdCByZWxvY19pZHg7Ci0gdWludDY0X3QgcmVsb2Nfb2Zmc2V0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50MzJfdCBzaGlmdDsKKyAgdWludDMyX3QgcmVsb2NfaWR4OworICB1aW50NjRfdCByZWxvY19vZmZzZXQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNNX1NVQk1JVF9DTURfQlVGIDB4MDAwMQogI2RlZmluZSBNU01fU1VCTUlUX0NNRF9JQl9UQVJHRVRfQlVGIDB4MDAwMgogI2RlZmluZSBNU01fU1VCTUlUX0NNRF9DVFhfUkVTVE9SRV9CVUYgMHgwMDAzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9tc21fZ2VtX3N1Ym1pdF9jbWQgewotIHVpbnQzMl90IHR5cGU7Ci0gdWludDMyX3Qgc3VibWl0X2lkeDsKLSB1aW50MzJfdCBzdWJtaXRfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBzaXplOwotIHVpbnQzMl90IHBhZDsKLSB1aW50MzJfdCBucl9yZWxvY3M7Ci0gdWludDY0X3QgX191c2VyIHJlbG9jczsKKyAgdWludDMyX3QgdHlwZTsKKyAgdWludDMyX3Qgc3VibWl0X2lkeDsKKyAgdWludDMyX3Qgc3VibWl0X29mZnNldDsKKyAgdWludDMyX3Qgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVpbnQzMl90IHBhZDsKKyAgdWludDMyX3QgbnJfcmVsb2NzOworICB1aW50NjRfdCBfX3VzZXIgcmVsb2NzOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TTV9TVUJNSVRfQk9fUkVBRCAweDAwMDEKICNkZWZpbmUgTVNNX1NVQk1JVF9CT19XUklURSAweDAwMDIKKyNkZWZpbmUgTVNNX1NVQk1JVF9CT19GTEFHUyAoTVNNX1NVQk1JVF9CT19SRUFEIHwgTVNNX1NVQk1JVF9CT19XUklURSkKIHN0cnVjdCBkcm1fbXNtX2dlbV9zdWJtaXRfYm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBmbGFnczsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDY0X3QgcHJlc3VtZWQ7CisgIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQ2NF90IHByZXN1bWVkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX21zbV9nZW1fc3VibWl0IHsKLSB1aW50MzJfdCBwaXBlOwotIHVpbnQzMl90IGZlbmNlOwotIHVpbnQzMl90IG5yX2JvczsKKyAgdWludDMyX3QgcGlwZTsKKyAgdWludDMyX3QgZmVuY2U7CisgIHVpbnQzMl90IG5yX2JvczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgbnJfY21kczsKLSB1aW50NjRfdCBfX3VzZXIgYm9zOwotIHVpbnQ2NF90IF9fdXNlciBjbWRzOworICB1aW50MzJfdCBucl9jbWRzOworICB1aW50NjRfdCBfX3VzZXIgYm9zOworICB1aW50NjRfdCBfX3VzZXIgY21kczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9tc21fd2FpdF9mZW5jZSB7Ci0gdWludDMyX3QgZmVuY2U7Ci0gdWludDMyX3QgcGFkOwotIHN0cnVjdCBkcm1fbXNtX3RpbWVzcGVjIHRpbWVvdXQ7CisgIHVpbnQzMl90IGZlbmNlOworICB1aW50MzJfdCBwYWQ7CisgIHN0cnVjdCBkcm1fbXNtX3RpbWVzcGVjIHRpbWVvdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRFJNX01TTV9HRVRfUEFSQU0gMHgwMApAQCAtMTM2LDkgKzE0MSw5IEBACiAjZGVmaW5lIERSTV9JT0NUTF9NU01fR0VNX05FVyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX01TTV9HRU1fTkVXLCBzdHJ1Y3QgZHJtX21zbV9nZW1fbmV3KQogI2RlZmluZSBEUk1fSU9DVExfTVNNX0dFTV9JTkZPIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fTVNNX0dFTV9JTkZPLCBzdHJ1Y3QgZHJtX21zbV9nZW1faW5mbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9NU01fR0VNX0NQVV9QUkVQIERSTV9JT1cgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fTVNNX0dFTV9DUFVfUFJFUCwgc3RydWN0IGRybV9tc21fZ2VtX2NwdV9wcmVwKQotI2RlZmluZSBEUk1fSU9DVExfTVNNX0dFTV9DUFVfRklOSSBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX01TTV9HRU1fQ1BVX0ZJTkksIHN0cnVjdCBkcm1fbXNtX2dlbV9jcHVfZmluaSkKKyNkZWZpbmUgRFJNX0lPQ1RMX01TTV9HRU1fQ1BVX1BSRVAgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01TTV9HRU1fQ1BVX1BSRVAsIHN0cnVjdCBkcm1fbXNtX2dlbV9jcHVfcHJlcCkKKyNkZWZpbmUgRFJNX0lPQ1RMX01TTV9HRU1fQ1BVX0ZJTkkgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01TTV9HRU1fQ1BVX0ZJTkksIHN0cnVjdCBkcm1fbXNtX2dlbV9jcHVfZmluaSkKICNkZWZpbmUgRFJNX0lPQ1RMX01TTV9HRU1fU1VCTUlUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fTVNNX0dFTV9TVUJNSVQsIHN0cnVjdCBkcm1fbXNtX2dlbV9zdWJtaXQpCi0jZGVmaW5lIERSTV9JT0NUTF9NU01fV0FJVF9GRU5DRSBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX01TTV9XQUlUX0ZFTkNFLCBzdHJ1Y3QgZHJtX21zbV93YWl0X2ZlbmNlKQorI2RlZmluZSBEUk1fSU9DVExfTVNNX1dBSVRfRkVOQ0UgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX01TTV9XQUlUX0ZFTkNFLCBzdHJ1Y3QgZHJtX21zbV93YWl0X2ZlbmNlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vbm91dmVhdV9kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL25vdXZlYXVfZHJtLmgKaW5kZXggMGEyOTAwZi4uMjkyNDhhMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vbm91dmVhdV9kcm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2RybS9ub3V2ZWF1X2RybS5oCkBAIC0xOCw2ICsxOCwxMSBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fTk9VVkVBVV9EUk1fSF9fCiAjZGVmaW5lIF9fTk9VVkVBVV9EUk1fSF9fCisjZGVmaW5lIERSTV9OT1VWRUFVX0VWRU5UX05WSUYgMHg4MDAwMDAwMAorI2RlZmluZSBOT1VWRUFVX0FCSTE2X0NMSUVOVCAweGZmZmZmZmZmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBOT1VWRUFVX0FCSTE2X0RFVklDRSAweGRkZGRkZGRkCisjZGVmaW5lIE5PVVZFQVVfQUJJMTZfQ0hBTihuKSAoMHhjY2NjMDAwMCB8IChuKSkKICNkZWZpbmUgTk9VVkVBVV9HRU1fRE9NQUlOX0NQVSAoMSA8PCAwKQogI2RlZmluZSBOT1VWRUFVX0dFTV9ET01BSU5fVlJBTSAoMSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTMyLDM4ICszNywzOCBAQAogI2RlZmluZSBOT1VWRUFVX0dFTV9USUxFX05PTkNPTlRJRyAweDAwMDAwMDA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9pbmZvIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgZG9tYWluOwotIHVpbnQ2NF90IHNpemU7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgZG9tYWluOworICB1aW50NjRfdCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBvZmZzZXQ7Ci0gdWludDY0X3QgbWFwX2hhbmRsZTsKLSB1aW50MzJfdCB0aWxlX21vZGU7Ci0gdWludDMyX3QgdGlsZV9mbGFnczsKKyAgdWludDY0X3Qgb2Zmc2V0OworICB1aW50NjRfdCBtYXBfaGFuZGxlOworICB1aW50MzJfdCB0aWxlX21vZGU7CisgIHVpbnQzMl90IHRpbGVfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fbmV3IHsKLSBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX2luZm8gaW5mbzsKLSB1aW50MzJfdCBjaGFubmVsX2hpbnQ7CisgIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1faW5mbyBpbmZvOworICB1aW50MzJfdCBjaGFubmVsX2hpbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGFsaWduOworICB1aW50MzJfdCBhbGlnbjsKIH07CiAjZGVmaW5lIE5PVVZFQVVfR0VNX01BWF9CVUZGRVJTIDEwMjQKIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9ib19wcmVzdW1lZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHZhbGlkOwotIHVpbnQzMl90IGRvbWFpbjsKLSB1aW50NjRfdCBvZmZzZXQ7CisgIHVpbnQzMl90IHZhbGlkOworICB1aW50MzJfdCBkb21haW47CisgIHVpbnQ2NF90IG9mZnNldDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVmX2JvIHsKLSB1aW50NjRfdCB1c2VyX3ByaXY7Ci0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IHJlYWRfZG9tYWluczsKKyAgdWludDY0X3QgdXNlcl9wcml2OworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IHJlYWRfZG9tYWluczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3Qgd3JpdGVfZG9tYWluczsKLSB1aW50MzJfdCB2YWxpZF9kb21haW5zOwotIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9ib19wcmVzdW1lZCBwcmVzdW1lZDsKKyAgdWludDMyX3Qgd3JpdGVfZG9tYWluczsKKyAgdWludDMyX3QgdmFsaWRfZG9tYWluczsKKyAgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVmX2JvX3ByZXN1bWVkIHByZXN1bWVkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5PVVZFQVVfR0VNX1JFTE9DX0xPVyAoMSA8PCAwKQpAQCAtNzIsNTEgKzc3LDUxIEBACiAjZGVmaW5lIE5PVVZFQVVfR0VNX01BWF9SRUxPQ1MgMTAyNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9yZWxvYyB7Ci0gdWludDMyX3QgcmVsb2NfYm9faW5kZXg7Ci0gdWludDMyX3QgcmVsb2NfYm9fb2Zmc2V0OwotIHVpbnQzMl90IGJvX2luZGV4OworICB1aW50MzJfdCByZWxvY19ib19pbmRleDsKKyAgdWludDMyX3QgcmVsb2NfYm9fb2Zmc2V0OworICB1aW50MzJfdCBib19pbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZmxhZ3M7Ci0gdWludDMyX3QgZGF0YTsKLSB1aW50MzJfdCB2b3I7Ci0gdWludDMyX3QgdG9yOworICB1aW50MzJfdCBmbGFnczsKKyAgdWludDMyX3QgZGF0YTsKKyAgdWludDMyX3Qgdm9yOworICB1aW50MzJfdCB0b3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTk9VVkVBVV9HRU1fTUFYX1BVU0ggNTEyCiBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3B1c2hidWZfcHVzaCB7Ci0gdWludDMyX3QgYm9faW5kZXg7CisgIHVpbnQzMl90IGJvX2luZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBwYWQ7Ci0gdWludDY0X3Qgb2Zmc2V0OwotIHVpbnQ2NF90IGxlbmd0aDsKKyAgdWludDMyX3QgcGFkOworICB1aW50NjRfdCBvZmZzZXQ7CisgIHVpbnQ2NF90IGxlbmd0aDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVmIHsKLSB1aW50MzJfdCBjaGFubmVsOwotIHVpbnQzMl90IG5yX2J1ZmZlcnM7Ci0gdWludDY0X3QgYnVmZmVyczsKKyAgdWludDMyX3QgY2hhbm5lbDsKKyAgdWludDMyX3QgbnJfYnVmZmVyczsKKyAgdWludDY0X3QgYnVmZmVyczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgbnJfcmVsb2NzOwotIHVpbnQzMl90IG5yX3B1c2g7Ci0gdWludDY0X3QgcmVsb2NzOwotIHVpbnQ2NF90IHB1c2g7CisgIHVpbnQzMl90IG5yX3JlbG9jczsKKyAgdWludDMyX3QgbnJfcHVzaDsKKyAgdWludDY0X3QgcmVsb2NzOworICB1aW50NjRfdCBwdXNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBzdWZmaXgwOwotIHVpbnQzMl90IHN1ZmZpeDE7Ci0gdWludDY0X3QgdnJhbV9hdmFpbGFibGU7Ci0gdWludDY0X3QgZ2FydF9hdmFpbGFibGU7CisgIHVpbnQzMl90IHN1ZmZpeDA7CisgIHVpbnQzMl90IHN1ZmZpeDE7CisgIHVpbnQ2NF90IHZyYW1fYXZhaWxhYmxlOworICB1aW50NjRfdCBnYXJ0X2F2YWlsYWJsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBOT1VWRUFVX0dFTV9DUFVfUFJFUF9OT1dBSVQgMHgwMDAwMDAwMQogI2RlZmluZSBOT1VWRUFVX0dFTV9DUFVfUFJFUF9XUklURSAweDAwMDAwMDA0CiBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX2NwdV9wcmVwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IGZsYWdzOwogfTsKIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fY3B1X2ZpbmkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IGhhbmRsZTsKIH07CiAjZGVmaW5lIERSTV9OT1VWRUFVX0dFVFBBUkFNIDB4MDAKICNkZWZpbmUgRFJNX05PVVZFQVVfU0VUUEFSQU0gMHgwMQpAQCAtMTI3LDE3ICsxMzIsMTggQEAKICNkZWZpbmUgRFJNX05PVVZFQVVfTk9USUZJRVJPQkpfQUxMT0MgMHgwNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX05PVVZFQVVfR1BVT0JKX0ZSRUUgMHgwNgorI2RlZmluZSBEUk1fTk9VVkVBVV9OVklGIDB4MDcKICNkZWZpbmUgRFJNX05PVVZFQVVfR0VNX05FVyAweDQwCiAjZGVmaW5lIERSTV9OT1VWRUFVX0dFTV9QVVNIQlVGIDB4NDEKLSNkZWZpbmUgRFJNX05PVVZFQVVfR0VNX0NQVV9QUkVQIDB4NDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9OT1VWRUFVX0dFTV9DUFVfUFJFUCAweDQyCiAjZGVmaW5lIERSTV9OT1VWRUFVX0dFTV9DUFVfRklOSSAweDQzCiAjZGVmaW5lIERSTV9OT1VWRUFVX0dFTV9JTkZPIDB4NDQKICNkZWZpbmUgRFJNX0lPQ1RMX05PVVZFQVVfR0VNX05FVyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVfR0VNX05FVywgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9uZXcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fSU9DVExfTk9VVkVBVV9HRU1fUFVTSEJVRiBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVfR0VNX1BVU0hCVUYsIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1ZikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9OT1VWRUFVX0dFTV9DUFVfUFJFUCBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVfR0VNX0NQVV9QUkVQLCBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX2NwdV9wcmVwKQotI2RlZmluZSBEUk1fSU9DVExfTk9VVkVBVV9HRU1fQ1BVX0ZJTkkgRFJNX0lPVyAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9OT1VWRUFVX0dFTV9DUFVfRklOSSwgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9jcHVfZmluaSkKKyNkZWZpbmUgRFJNX0lPQ1RMX05PVVZFQVVfR0VNX0NQVV9QUkVQIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9OT1VWRUFVX0dFTV9DUFVfUFJFUCwgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9jcHVfcHJlcCkKKyNkZWZpbmUgRFJNX0lPQ1RMX05PVVZFQVVfR0VNX0NQVV9GSU5JIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9OT1VWRUFVX0dFTV9DUFVfRklOSSwgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9jcHVfZmluaSkKICNkZWZpbmUgRFJNX0lPQ1RMX05PVVZFQVVfR0VNX0lORk8gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9OT1VWRUFVX0dFTV9JTkZPLCBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX2luZm8pCi0jZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL29tYXBfZHJtLmggYi9saWJjL2tlcm5lbC91YXBpL2RybS9vbWFwX2RybS5oCmluZGV4IDJkNGNiNTMuLmVmY2EwMDIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvZHJtL29tYXBfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vb21hcF9kcm0uaApAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBPTUFQX1BBUkFNX0NISVBTRVRfSUQgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fb21hcF9wYXJhbSB7Ci0gdWludDY0X3QgcGFyYW07Ci0gdWludDY0X3QgdmFsdWU7CisgIHVpbnQ2NF90IHBhcmFtOworICB1aW50NjRfdCB2YWx1ZTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBPTUFQX0JPX1NDQU5PVVQgMHgwMDAwMDAwMQpAQCAtMzksNDYgKzM5LDQ2IEBACiAjZGVmaW5lIE9NQVBfQk9fVElMRURfMzIgMHgwMDAwMDMwMAogI2RlZmluZSBPTUFQX0JPX1RJTEVEIChPTUFQX0JPX1RJTEVEXzggfCBPTUFQX0JPX1RJTEVEXzE2IHwgT01BUF9CT19USUxFRF8zMikKIHVuaW9uIG9tYXBfZ2VtX3NpemUgewotIHVpbnQzMl90IGJ5dGVzOworICB1aW50MzJfdCBieXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSB1aW50MTZfdCB3aWR0aDsKLSB1aW50MTZfdCBoZWlnaHQ7Ci0gfSB0aWxlZDsKKyAgc3RydWN0IHsKKyAgICB1aW50MTZfdCB3aWR0aDsKKyAgICB1aW50MTZfdCBoZWlnaHQ7CisgIH0gdGlsZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fb21hcF9nZW1fbmV3IHsKLSB1bmlvbiBvbWFwX2dlbV9zaXplIHNpemU7Ci0gdWludDMyX3QgZmxhZ3M7CisgIHVuaW9uIG9tYXBfZ2VtX3NpemUgc2l6ZTsKKyAgdWludDMyX3QgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBfX3BhZDsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBfX3BhZDsKIH07CiBlbnVtIG9tYXBfZ2VtX29wIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT01BUF9HRU1fUkVBRCA9IDB4MDEsCi0gT01BUF9HRU1fV1JJVEUgPSAweDAyLAorICBPTUFQX0dFTV9SRUFEID0gMHgwMSwKKyAgT01BUF9HRU1fV1JJVEUgPSAweDAyLAogfTsKIHN0cnVjdCBkcm1fb21hcF9nZW1fY3B1X3ByZXAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3Qgb3A7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3Qgb3A7CiB9Owogc3RydWN0IGRybV9vbWFwX2dlbV9jcHVfZmluaSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBvcDsKLSB1aW50MzJfdCBucmVnaW9uczsKLSB1aW50MzJfdCBfX3BhZDsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBvcDsKKyAgdWludDMyX3QgbnJlZ2lvbnM7CisgIHVpbnQzMl90IF9fcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX29tYXBfZ2VtX2luZm8gewotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBwYWQ7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBvZmZzZXQ7Ci0gdWludDMyX3Qgc2l6ZTsKLSB1aW50MzJfdCBfX3BhZDsKKyAgdWludDY0X3Qgb2Zmc2V0OworICB1aW50MzJfdCBzaXplOworICB1aW50MzJfdCBfX3BhZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fT01BUF9HRVRfUEFSQU0gMHgwMApAQCAtOTEsMTAgKzkxLDEwIEBACiAjZGVmaW5lIERSTV9PTUFQX05VTV9JT0NUTFMgMHgwNwogI2RlZmluZSBEUk1fSU9DVExfT01BUF9HRVRfUEFSQU0gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9PTUFQX0dFVF9QQVJBTSwgc3RydWN0IGRybV9vbWFwX3BhcmFtKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX09NQVBfU0VUX1BBUkFNIERSTV9JT1cgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fT01BUF9TRVRfUEFSQU0sIHN0cnVjdCBkcm1fb21hcF9wYXJhbSkKKyNkZWZpbmUgRFJNX0lPQ1RMX09NQVBfU0VUX1BBUkFNIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9PTUFQX1NFVF9QQVJBTSwgc3RydWN0IGRybV9vbWFwX3BhcmFtKQogI2RlZmluZSBEUk1fSU9DVExfT01BUF9HRU1fTkVXIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fT01BUF9HRU1fTkVXLCBzdHJ1Y3QgZHJtX29tYXBfZ2VtX25ldykKLSNkZWZpbmUgRFJNX0lPQ1RMX09NQVBfR0VNX0NQVV9QUkVQIERSTV9JT1cgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fT01BUF9HRU1fQ1BVX1BSRVAsIHN0cnVjdCBkcm1fb21hcF9nZW1fY3B1X3ByZXApCi0jZGVmaW5lIERSTV9JT0NUTF9PTUFQX0dFTV9DUFVfRklOSSBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX09NQVBfR0VNX0NQVV9GSU5JLCBzdHJ1Y3QgZHJtX29tYXBfZ2VtX2NwdV9maW5pKQorI2RlZmluZSBEUk1fSU9DVExfT01BUF9HRU1fQ1BVX1BSRVAgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX09NQVBfR0VNX0NQVV9QUkVQLCBzdHJ1Y3QgZHJtX29tYXBfZ2VtX2NwdV9wcmVwKQorI2RlZmluZSBEUk1fSU9DVExfT01BUF9HRU1fQ1BVX0ZJTkkgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX09NQVBfR0VNX0NQVV9GSU5JLCBzdHJ1Y3QgZHJtX29tYXBfZ2VtX2NwdV9maW5pKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX09NQVBfR0VNX0lORk8gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9PTUFQX0dFTV9JTkZPLCBzdHJ1Y3QgZHJtX29tYXBfZ2VtX2luZm8pCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL3F4bF9kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL3F4bF9kcm0uaAppbmRleCA0ZjQ4NjY4Li4zODc4Yjc1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9xeGxfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vcXhsX2RybS5oCkBAIC0zNCw4NSArMzQsODUgQEAKICNkZWZpbmUgRFJNX1FYTF9DTElFTlRDQVAgMHgwNQogI2RlZmluZSBEUk1fUVhMX0FMTE9DX1NVUkYgMHgwNgogc3RydWN0IGRybV9xeGxfYWxsb2MgewotIHVpbnQzMl90IHNpemU7CisgIHVpbnQzMl90IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgaGFuZGxlOwogfTsKIHN0cnVjdCBkcm1fcXhsX21hcCB7Ci0gdWludDY0X3Qgb2Zmc2V0OworICB1aW50NjRfdCBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBwYWQ7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgcGFkOwogfTsKICNkZWZpbmUgUVhMX1JFTE9DX1RZUEVfQk8gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUVhMX1JFTE9DX1RZUEVfU1VSRiAyCiBzdHJ1Y3QgZHJtX3F4bF9yZWxvYyB7Ci0gdWludDY0X3Qgc3JjX29mZnNldDsKLSB1aW50NjRfdCBkc3Rfb2Zmc2V0OworICB1aW50NjRfdCBzcmNfb2Zmc2V0OworICB1aW50NjRfdCBkc3Rfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBzcmNfaGFuZGxlOwotIHVpbnQzMl90IGRzdF9oYW5kbGU7Ci0gdWludDMyX3QgcmVsb2NfdHlwZTsKLSB1aW50MzJfdCBwYWQ7CisgIHVpbnQzMl90IHNyY19oYW5kbGU7CisgIHVpbnQzMl90IGRzdF9oYW5kbGU7CisgIHVpbnQzMl90IHJlbG9jX3R5cGU7CisgIHVpbnQzMl90IHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV9xeGxfY29tbWFuZCB7Ci0gdWludDY0X3QgX191c2VyIGNvbW1hbmQ7Ci0gdWludDY0X3QgX191c2VyIHJlbG9jczsKKyAgdWludDY0X3QgX191c2VyIGNvbW1hbmQ7CisgIHVpbnQ2NF90IF9fdXNlciByZWxvY3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHR5cGU7Ci0gdWludDMyX3QgY29tbWFuZF9zaXplOwotIHVpbnQzMl90IHJlbG9jc19udW07Ci0gdWludDMyX3QgcGFkOworICB1aW50MzJfdCB0eXBlOworICB1aW50MzJfdCBjb21tYW5kX3NpemU7CisgIHVpbnQzMl90IHJlbG9jc19udW07CisgIHVpbnQzMl90IHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV9xeGxfZXhlY2J1ZmZlciB7Ci0gdWludDMyX3QgZmxhZ3M7Ci0gdWludDMyX3QgY29tbWFuZHNfbnVtOworICB1aW50MzJfdCBmbGFnczsKKyAgdWludDMyX3QgY29tbWFuZHNfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBfX3VzZXIgY29tbWFuZHM7CisgIHVpbnQ2NF90IF9fdXNlciBjb21tYW5kczsKIH07CiBzdHJ1Y3QgZHJtX3F4bF91cGRhdGVfYXJlYSB7Ci0gdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHRvcDsKLSB1aW50MzJfdCBsZWZ0OwotIHVpbnQzMl90IGJvdHRvbTsKLSB1aW50MzJfdCByaWdodDsKKyAgdWludDMyX3QgdG9wOworICB1aW50MzJfdCBsZWZ0OworICB1aW50MzJfdCBib3R0b207CisgIHVpbnQzMl90IHJpZ2h0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBwYWQ7CisgIHVpbnQzMl90IHBhZDsKIH07CiAjZGVmaW5lIFFYTF9QQVJBTV9OVU1fU1VSRkFDRVMgMQogI2RlZmluZSBRWExfUEFSQU1fTUFYX1JFTE9DUyAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9xeGxfZ2V0cGFyYW0gewotIHVpbnQ2NF90IHBhcmFtOwotIHVpbnQ2NF90IHZhbHVlOworICB1aW50NjRfdCBwYXJhbTsKKyAgdWludDY0X3QgdmFsdWU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fcXhsX2NsaWVudGNhcCB7Ci0gdWludDMyX3QgaW5kZXg7Ci0gdWludDMyX3QgcGFkOworICB1aW50MzJfdCBpbmRleDsKKyAgdWludDMyX3QgcGFkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX3F4bF9hbGxvY19zdXJmIHsKLSB1aW50MzJfdCBmb3JtYXQ7Ci0gdWludDMyX3Qgd2lkdGg7Ci0gdWludDMyX3QgaGVpZ2h0OworICB1aW50MzJfdCBmb3JtYXQ7CisgIHVpbnQzMl90IHdpZHRoOworICB1aW50MzJfdCBoZWlnaHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludDMyX3Qgc3RyaWRlOwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBwYWQ7CisgIGludDMyX3Qgc3RyaWRlOworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IHBhZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfUVhMX0FMTE9DICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9RWExfQUxMT0MsIHN0cnVjdCBkcm1fcXhsX2FsbG9jKQotI2RlZmluZSBEUk1fSU9DVExfUVhMX01BUCAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUVhMX01BUCwgc3RydWN0IGRybV9xeGxfbWFwKQotI2RlZmluZSBEUk1fSU9DVExfUVhMX0VYRUNCVUZGRVIgICBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUVhMX0VYRUNCVUZGRVIsICBzdHJ1Y3QgZHJtX3F4bF9leGVjYnVmZmVyKQotI2RlZmluZSBEUk1fSU9DVExfUVhMX1VQREFURV9BUkVBICAgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1FYTF9VUERBVEVfQVJFQSwgIHN0cnVjdCBkcm1fcXhsX3VwZGF0ZV9hcmVhKQorI2RlZmluZSBEUk1fSU9DVExfUVhMX0FMTE9DIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUVhMX0FMTE9DLCBzdHJ1Y3QgZHJtX3F4bF9hbGxvYykKKyNkZWZpbmUgRFJNX0lPQ1RMX1FYTF9NQVAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9RWExfTUFQLCBzdHJ1Y3QgZHJtX3F4bF9tYXApCisjZGVmaW5lIERSTV9JT0NUTF9RWExfRVhFQ0JVRkZFUiBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUVhMX0VYRUNCVUZGRVIsIHN0cnVjdCBkcm1fcXhsX2V4ZWNidWZmZXIpCisjZGVmaW5lIERSTV9JT0NUTF9RWExfVVBEQVRFX0FSRUEgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1FYTF9VUERBVEVfQVJFQSwgc3RydWN0IGRybV9xeGxfdXBkYXRlX2FyZWEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfUVhMX0dFVFBBUkFNICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9RWExfR0VUUEFSQU0sICBzdHJ1Y3QgZHJtX3F4bF9nZXRwYXJhbSkKLSNkZWZpbmUgRFJNX0lPQ1RMX1FYTF9DTElFTlRDQVAgICBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUVhMX0NMSUVOVENBUCwgIHN0cnVjdCBkcm1fcXhsX2NsaWVudGNhcCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1FYTF9BTExPQ19TVVJGICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9RWExfQUxMT0NfU1VSRiwgIHN0cnVjdCBkcm1fcXhsX2FsbG9jX3N1cmYpCisjZGVmaW5lIERSTV9JT0NUTF9RWExfR0VUUEFSQU0gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9RWExfR0VUUEFSQU0sIHN0cnVjdCBkcm1fcXhsX2dldHBhcmFtKQorI2RlZmluZSBEUk1fSU9DVExfUVhMX0NMSUVOVENBUCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUVhMX0NMSUVOVENBUCwgc3RydWN0IGRybV9xeGxfY2xpZW50Y2FwKQorI2RlZmluZSBEUk1fSU9DVExfUVhMX0FMTE9DX1NVUkYgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9RWExfQUxMT0NfU1VSRiwgc3RydWN0IGRybV9xeGxfYWxsb2Nfc3VyZikKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL3IxMjhfZHJtLmggYi9saWJjL2tlcm5lbC91YXBpL2RybS9yMTI4X2RybS5oCmluZGV4IDBiMmMxYzkuLjRlNjgzODEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvZHJtL3IxMjhfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vcjEyOF9kcm0uaApAQCAtNjQsNjEgKzY0LDYxIEBACiAjZGVmaW5lIFIxMjhfTUFYX1RFWFRVUkVfVU5JVFMgMgogI2VuZGlmCiB0eXBlZGVmIHN0cnVjdCB7Ci0gdW5zaWduZWQgaW50IGRzdF9waXRjaF9vZmZzZXRfYzsKKyAgdW5zaWduZWQgaW50IGRzdF9waXRjaF9vZmZzZXRfYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGRwX2d1aV9tYXN0ZXJfY250bF9jOwotIHVuc2lnbmVkIGludCBzY190b3BfbGVmdF9jOwotIHVuc2lnbmVkIGludCBzY19ib3R0b21fcmlnaHRfYzsKLSB1bnNpZ25lZCBpbnQgel9vZmZzZXRfYzsKKyAgdW5zaWduZWQgaW50IGRwX2d1aV9tYXN0ZXJfY250bF9jOworICB1bnNpZ25lZCBpbnQgc2NfdG9wX2xlZnRfYzsKKyAgdW5zaWduZWQgaW50IHNjX2JvdHRvbV9yaWdodF9jOworICB1bnNpZ25lZCBpbnQgel9vZmZzZXRfYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHpfcGl0Y2hfYzsKLSB1bnNpZ25lZCBpbnQgel9zdGVuX2NudGxfYzsKLSB1bnNpZ25lZCBpbnQgdGV4X2NudGxfYzsKLSB1bnNpZ25lZCBpbnQgbWlzY18zZF9zdGF0ZV9jbnRsX3JlZzsKKyAgdW5zaWduZWQgaW50IHpfcGl0Y2hfYzsKKyAgdW5zaWduZWQgaW50IHpfc3Rlbl9jbnRsX2M7CisgIHVuc2lnbmVkIGludCB0ZXhfY250bF9jOworICB1bnNpZ25lZCBpbnQgbWlzY18zZF9zdGF0ZV9jbnRsX3JlZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRleHR1cmVfY2xyX2NtcF9jbHJfYzsKLSB1bnNpZ25lZCBpbnQgdGV4dHVyZV9jbHJfY21wX21za19jOwotIHVuc2lnbmVkIGludCBmb2dfY29sb3JfYzsKLSB1bnNpZ25lZCBpbnQgdGV4X3NpemVfcGl0Y2hfYzsKKyAgdW5zaWduZWQgaW50IHRleHR1cmVfY2xyX2NtcF9jbHJfYzsKKyAgdW5zaWduZWQgaW50IHRleHR1cmVfY2xyX2NtcF9tc2tfYzsKKyAgdW5zaWduZWQgaW50IGZvZ19jb2xvcl9jOworICB1bnNpZ25lZCBpbnQgdGV4X3NpemVfcGl0Y2hfYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGNvbnN0YW50X2NvbG9yX2M7Ci0gdW5zaWduZWQgaW50IHBtNF92Y19mcHVfc2V0dXA7Ci0gdW5zaWduZWQgaW50IHNldHVwX2NudGw7Ci0gdW5zaWduZWQgaW50IGRwX3dyaXRlX21hc2s7CisgIHVuc2lnbmVkIGludCBjb25zdGFudF9jb2xvcl9jOworICB1bnNpZ25lZCBpbnQgcG00X3ZjX2ZwdV9zZXR1cDsKKyAgdW5zaWduZWQgaW50IHNldHVwX2NudGw7CisgIHVuc2lnbmVkIGludCBkcF93cml0ZV9tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3Rlbl9yZWZfbWFza19jOwotIHVuc2lnbmVkIGludCBwbGFuZV8zZF9tYXNrX2M7Ci0gdW5zaWduZWQgaW50IHdpbmRvd194eV9vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IHNjYWxlXzNkX2NudGw7CisgIHVuc2lnbmVkIGludCBzdGVuX3JlZl9tYXNrX2M7CisgIHVuc2lnbmVkIGludCBwbGFuZV8zZF9tYXNrX2M7CisgIHVuc2lnbmVkIGludCB3aW5kb3dfeHlfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgc2NhbGVfM2RfY250bDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9yMTI4X2NvbnRleHRfcmVnc190OwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCB0ZXhfY250bDsKLSB1bnNpZ25lZCBpbnQgdGV4X2NvbWJpbmVfY250bDsKKyAgdW5zaWduZWQgaW50IHRleF9jbnRsOworICB1bnNpZ25lZCBpbnQgdGV4X2NvbWJpbmVfY250bDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRleF9zaXplX3BpdGNoOwotIHVuc2lnbmVkIGludCB0ZXhfb2Zmc2V0W1IxMjhfTUFYX1RFWFRVUkVfTEVWRUxTXTsKLSB1bnNpZ25lZCBpbnQgdGV4X2JvcmRlcl9jb2xvcjsKKyAgdW5zaWduZWQgaW50IHRleF9zaXplX3BpdGNoOworICB1bnNpZ25lZCBpbnQgdGV4X29mZnNldFtSMTI4X01BWF9URVhUVVJFX0xFVkVMU107CisgIHVuc2lnbmVkIGludCB0ZXhfYm9yZGVyX2NvbG9yOwogfSBkcm1fcjEyOF90ZXh0dXJlX3JlZ3NfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBkcm1fcjEyOF9zYXJlYSB7Ci0gZHJtX3IxMjhfY29udGV4dF9yZWdzX3QgY29udGV4dF9zdGF0ZTsKLSBkcm1fcjEyOF90ZXh0dXJlX3JlZ3NfdCB0ZXhfc3RhdGVbUjEyOF9NQVhfVEVYVFVSRV9VTklUU107Ci0gdW5zaWduZWQgaW50IGRpcnR5OworICBkcm1fcjEyOF9jb250ZXh0X3JlZ3NfdCBjb250ZXh0X3N0YXRlOworICBkcm1fcjEyOF90ZXh0dXJlX3JlZ3NfdCB0ZXhfc3RhdGVbUjEyOF9NQVhfVEVYVFVSRV9VTklUU107CisgIHVuc2lnbmVkIGludCBkaXJ0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHZlcnRzaXplOwotIHVuc2lnbmVkIGludCB2Y19mb3JtYXQ7Ci0gc3RydWN0IGRybV9jbGlwX3JlY3QgYm94ZXNbUjEyOF9OUl9TQVJFQV9DTElQUkVDVFNdOwotIHVuc2lnbmVkIGludCBuYm94OworICB1bnNpZ25lZCBpbnQgdmVydHNpemU7CisgIHVuc2lnbmVkIGludCB2Y19mb3JtYXQ7CisgIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGJveGVzW1IxMjhfTlJfU0FSRUFfQ0xJUFJFQ1RTXTsKKyAgdW5zaWduZWQgaW50IG5ib3g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBsYXN0X2ZyYW1lOwotIHVuc2lnbmVkIGludCBsYXN0X2Rpc3BhdGNoOwotIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiB0ZXhfbGlzdFtSMTI4X05SX1RFWF9IRUFQU11bUjEyOF9OUl9URVhfUkVHSU9OUyArIDFdOwotIHVuc2lnbmVkIGludCB0ZXhfYWdlW1IxMjhfTlJfVEVYX0hFQVBTXTsKKyAgdW5zaWduZWQgaW50IGxhc3RfZnJhbWU7CisgIHVuc2lnbmVkIGludCBsYXN0X2Rpc3BhdGNoOworICBzdHJ1Y3QgZHJtX3RleF9yZWdpb24gdGV4X2xpc3RbUjEyOF9OUl9URVhfSEVBUFNdW1IxMjhfTlJfVEVYX1JFR0lPTlMgKyAxXTsKKyAgdW5zaWduZWQgaW50IHRleF9hZ2VbUjEyOF9OUl9URVhfSEVBUFNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY3R4X293bmVyOwotIGludCBwZkFsbG93UGFnZUZsaXA7Ci0gaW50IHBmQ3VycmVudFBhZ2U7CisgIGludCBjdHhfb3duZXI7CisgIGludCBwZkFsbG93UGFnZUZsaXA7CisgIGludCBwZkN1cnJlbnRQYWdlOwogfSBkcm1fcjEyOF9zYXJlYV90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1IxMjhfSU5JVCAweDAwCkBAIC0xNDMsMTM4ICsxNDMsMTM4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUjEyOF9HRVRQQVJBTSAweDEyCiAjZGVmaW5lIERSTV9SMTI4X0ZMSVAgMHgxMwotI2RlZmluZSBEUk1fSU9DVExfUjEyOF9JTklUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9JTklULCBkcm1fcjEyOF9pbml0X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X0NDRV9TVEFSVCBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9DQ0VfU1RBUlQpCisjZGVmaW5lIERSTV9JT0NUTF9SMTI4X0lOSVQgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfSU5JVCwgZHJtX3IxMjhfaW5pdF90KQorI2RlZmluZSBEUk1fSU9DVExfUjEyOF9DQ0VfU1RBUlQgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9DQ0VfU1RBUlQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfUjEyOF9DQ0VfU1RPUCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfQ0NFX1NUT1AsIGRybV9yMTI4X2NjZV9zdG9wX3QpCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X0NDRV9SRVNFVCBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9DQ0VfUkVTRVQpCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X0NDRV9JRExFIERSTV9JTyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0NDRV9JRExFKQotI2RlZmluZSBEUk1fSU9DVExfUjEyOF9SRVNFVCBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9SRVNFVCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfQ0NFX1NUT1AgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfQ0NFX1NUT1AsIGRybV9yMTI4X2NjZV9zdG9wX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SMTI4X0NDRV9SRVNFVCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0NDRV9SRVNFVCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfQ0NFX0lETEUgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9DQ0VfSURMRSkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfUkVTRVQgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9SRVNFVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X1NXQVAgRFJNX0lPKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfU1dBUCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfQ0xFQVIgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0NMRUFSLCBkcm1fcjEyOF9jbGVhcl90KQotI2RlZmluZSBEUk1fSU9DVExfUjEyOF9WRVJURVggRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X1ZFUlRFWCwgZHJtX3IxMjhfdmVydGV4X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X0lORElDRVMgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0lORElDRVMsIGRybV9yMTI4X2luZGljZXNfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfU1dBUCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X1NXQVApCisjZGVmaW5lIERSTV9JT0NUTF9SMTI4X0NMRUFSIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0NMRUFSLCBkcm1fcjEyOF9jbGVhcl90KQorI2RlZmluZSBEUk1fSU9DVExfUjEyOF9WRVJURVggRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfVkVSVEVYLCBkcm1fcjEyOF92ZXJ0ZXhfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfSU5ESUNFUyBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9JTkRJQ0VTLCBkcm1fcjEyOF9pbmRpY2VzX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfUjEyOF9CTElUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9CTElULCBkcm1fcjEyOF9ibGl0X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X0RFUFRIIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9ERVBUSCwgZHJtX3IxMjhfZGVwdGhfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfU1RJUFBMRSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfU1RJUFBMRSwgZHJtX3IxMjhfc3RpcHBsZV90KQorI2RlZmluZSBEUk1fSU9DVExfUjEyOF9CTElUIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0JMSVQsIGRybV9yMTI4X2JsaXRfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfREVQVEggRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfREVQVEgsIGRybV9yMTI4X2RlcHRoX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SMTI4X1NUSVBQTEUgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfU1RJUFBMRSwgZHJtX3IxMjhfc3RpcHBsZV90KQogI2RlZmluZSBEUk1fSU9DVExfUjEyOF9JTkRJUkVDVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfSU5ESVJFQ1QsIGRybV9yMTI4X2luZGlyZWN0X3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfUjEyOF9GVUxMU0NSRUVOIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9GVUxMU0NSRUVOLCBkcm1fcjEyOF9mdWxsc2NyZWVuX3QpCi0jZGVmaW5lIERSTV9JT0NUTF9SMTI4X0NMRUFSMiBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1IxMjhfQ0xFQVIyLCBkcm1fcjEyOF9jbGVhcjJfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfR0VUUEFSQU0gRFJNX0lPV1IoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9HRVRQQVJBTSwgZHJtX3IxMjhfZ2V0cGFyYW1fdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfRkxJUCBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9GTElQKQorI2RlZmluZSBEUk1fSU9DVExfUjEyOF9GVUxMU0NSRUVOIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0ZVTExTQ1JFRU4sIGRybV9yMTI4X2Z1bGxzY3JlZW5fdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfQ0xFQVIyIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0NMRUFSMiwgZHJtX3IxMjhfY2xlYXIyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SMTI4X0dFVFBBUkFNIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUjEyOF9HRVRQQVJBTSwgZHJtX3IxMjhfZ2V0cGFyYW1fdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1IxMjhfRkxJUCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SMTI4X0ZMSVApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3IxMjhfaW5pdCB7Ci0gZW51bSB7Ci0gUjEyOF9JTklUX0NDRSA9IDB4MDEsCi0gUjEyOF9DTEVBTlVQX0NDRSA9IDB4MDIKKyAgZW51bSB7CisgICAgUjEyOF9JTklUX0NDRSA9IDB4MDEsCisgICAgUjEyOF9DTEVBTlVQX0NDRSA9IDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBmdW5jOwotIHVuc2lnbmVkIGxvbmcgc2FyZWFfcHJpdl9vZmZzZXQ7Ci0gaW50IGlzX3BjaTsKLSBpbnQgY2NlX21vZGU7CisgIH0gZnVuYzsKKyAgdW5zaWduZWQgbG9uZyBzYXJlYV9wcml2X29mZnNldDsKKyAgaW50IGlzX3BjaTsKKyAgaW50IGNjZV9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2NlX3NlY3VyZTsKLSBpbnQgcmluZ19zaXplOwotIGludCB1c2VjX3RpbWVvdXQ7Ci0gdW5zaWduZWQgaW50IGZiX2JwcDsKKyAgaW50IGNjZV9zZWN1cmU7CisgIGludCByaW5nX3NpemU7CisgIGludCB1c2VjX3RpbWVvdXQ7CisgIHVuc2lnbmVkIGludCBmYl9icHA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBmcm9udF9vZmZzZXQsIGZyb250X3BpdGNoOwotIHVuc2lnbmVkIGludCBiYWNrX29mZnNldCwgYmFja19waXRjaDsKLSB1bnNpZ25lZCBpbnQgZGVwdGhfYnBwOwotIHVuc2lnbmVkIGludCBkZXB0aF9vZmZzZXQsIGRlcHRoX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0LCBmcm9udF9waXRjaDsKKyAgdW5zaWduZWQgaW50IGJhY2tfb2Zmc2V0LCBiYWNrX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZGVwdGhfYnBwOworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0LCBkZXB0aF9waXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHNwYW5fb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgZmJfb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgbW1pb19vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyByaW5nX29mZnNldDsKKyAgdW5zaWduZWQgaW50IHNwYW5fb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGZiX29mZnNldDsKKyAgdW5zaWduZWQgbG9uZyBtbWlvX29mZnNldDsKKyAgdW5zaWduZWQgbG9uZyByaW5nX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyByaW5nX3JwdHJfb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgYnVmZmVyc19vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBhZ3BfdGV4dHVyZXNfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIHJpbmdfcnB0cl9vZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgYnVmZmVyc19vZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgYWdwX3RleHR1cmVzX29mZnNldDsKIH0gZHJtX3IxMjhfaW5pdF90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9yMTI4X2NjZV9zdG9wIHsKLSBpbnQgZmx1c2g7Ci0gaW50IGlkbGU7CisgIGludCBmbHVzaDsKKyAgaW50IGlkbGU7CiB9IGRybV9yMTI4X2NjZV9zdG9wX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3IxMjhfY2xlYXIgewotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bnNpZ25lZCBpbnQgY2xlYXJfY29sb3I7Ci0gdW5zaWduZWQgaW50IGNsZWFyX2RlcHRoOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CisgIHVuc2lnbmVkIGludCBjbGVhcl9jb2xvcjsKKyAgdW5zaWduZWQgaW50IGNsZWFyX2RlcHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY29sb3JfbWFzazsKLSB1bnNpZ25lZCBpbnQgZGVwdGhfbWFzazsKKyAgdW5zaWduZWQgaW50IGNvbG9yX21hc2s7CisgIHVuc2lnbmVkIGludCBkZXB0aF9tYXNrOwogfSBkcm1fcjEyOF9jbGVhcl90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3IxMjhfdmVydGV4IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHByaW07Ci0gaW50IGlkeDsKLSBpbnQgY291bnQ7Ci0gaW50IGRpc2NhcmQ7CisgIGludCBwcmltOworICBpbnQgaWR4OworICBpbnQgY291bnQ7CisgIGludCBkaXNjYXJkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gZHJtX3IxMjhfdmVydGV4X3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fcjEyOF9pbmRpY2VzIHsKLSBpbnQgcHJpbTsKLSBpbnQgaWR4OworICBpbnQgcHJpbTsKKyAgaW50IGlkeDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHN0YXJ0OwotIGludCBlbmQ7Ci0gaW50IGRpc2NhcmQ7CisgIGludCBzdGFydDsKKyAgaW50IGVuZDsKKyAgaW50IGRpc2NhcmQ7CiB9IGRybV9yMTI4X2luZGljZXNfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBkcm1fcjEyOF9ibGl0IHsKLSBpbnQgaWR4OwotIGludCBwaXRjaDsKLSBpbnQgb2Zmc2V0OworICBpbnQgaWR4OworICBpbnQgcGl0Y2g7CisgIGludCBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBmb3JtYXQ7Ci0gdW5zaWduZWQgc2hvcnQgeCwgeTsKLSB1bnNpZ25lZCBzaG9ydCB3aWR0aCwgaGVpZ2h0OworICBpbnQgZm9ybWF0OworICB1bnNpZ25lZCBzaG9ydCB4LCB5OworICB1bnNpZ25lZCBzaG9ydCB3aWR0aCwgaGVpZ2h0OwogfSBkcm1fcjEyOF9ibGl0X3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3IxMjhfZGVwdGggewotIGVudW0gewotIFIxMjhfV1JJVEVfU1BBTiA9IDB4MDEsCi0gUjEyOF9XUklURV9QSVhFTFMgPSAweDAyLAorICBlbnVtIHsKKyAgICBSMTI4X1dSSVRFX1NQQU4gPSAweDAxLAorICAgIFIxMjhfV1JJVEVfUElYRUxTID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUjEyOF9SRUFEX1NQQU4gPSAweDAzLAotIFIxMjhfUkVBRF9QSVhFTFMgPSAweDA0Ci0gfSBmdW5jOwotIGludCBuOworICAgIFIxMjhfUkVBRF9TUEFOID0gMHgwMywKKyAgICBSMTI4X1JFQURfUElYRUxTID0gMHgwNAorICB9IGZ1bmM7CisgIGludCBuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgX191c2VyICp4OwotIGludCBfX3VzZXIgKnk7Ci0gdW5zaWduZWQgaW50IF9fdXNlciAqYnVmZmVyOwotIHVuc2lnbmVkIGNoYXIgX191c2VyICptYXNrOworICBpbnQgX191c2VyICogeDsKKyAgaW50IF9fdXNlciAqIHk7CisgIHVuc2lnbmVkIGludCBfX3VzZXIgKiBidWZmZXI7CisgIHVuc2lnbmVkIGNoYXIgX191c2VyICogbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9yMTI4X2RlcHRoX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fcjEyOF9zdGlwcGxlIHsKLSB1bnNpZ25lZCBpbnQgX191c2VyICptYXNrOworICB1bnNpZ25lZCBpbnQgX191c2VyICogbWFzazsKIH0gZHJtX3IxMjhfc3RpcHBsZV90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9yMTI4X2luZGlyZWN0IHsKLSBpbnQgaWR4OwotIGludCBzdGFydDsKLSBpbnQgZW5kOworICBpbnQgaWR4OworICBpbnQgc3RhcnQ7CisgIGludCBlbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBkaXNjYXJkOworICBpbnQgZGlzY2FyZDsKIH0gZHJtX3IxMjhfaW5kaXJlY3RfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9yMTI4X2Z1bGxzY3JlZW4gewotIGVudW0geworICBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUjEyOF9JTklUX0ZVTExTQ1JFRU4gPSAweDAxLAotIFIxMjhfQ0xFQU5VUF9GVUxMU0NSRUVOID0gMHgwMgotIH0gZnVuYzsKKyAgICBSMTI4X0lOSVRfRlVMTFNDUkVFTiA9IDB4MDEsCisgICAgUjEyOF9DTEVBTlVQX0ZVTExTQ1JFRU4gPSAweDAyCisgIH0gZnVuYzsKIH0gZHJtX3IxMjhfZnVsbHNjcmVlbl90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUjEyOF9QQVJBTV9JUlFfTlIgMQogdHlwZWRlZiBzdHJ1Y3QgZHJtX3IxMjhfZ2V0cGFyYW0gewotIGludCBwYXJhbTsKLSB2b2lkIF9fdXNlciAqdmFsdWU7CisgIGludCBwYXJhbTsKKyAgdm9pZCBfX3VzZXIgKiB2YWx1ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9yMTI4X2dldHBhcmFtX3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL3JhZGVvbl9kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL3JhZGVvbl9kcm0uaAppbmRleCBmZDBhM2E5Li42ZmI4NmYxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9yYWRlb25fZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vcmFkZW9uX2RybS5oCkBAIC0xNzksMzQgKzE3OSwzNCBAQAogI2RlZmluZSBSQURFT05fQ01EX1dBSVQgOAogI2RlZmluZSBSQURFT05fQ01EX1ZFQ0xJTkVBUiA5CiB0eXBlZGVmIHVuaW9uIHsKLSBpbnQgaTsKKyAgaW50IGk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgcGFkMCwgcGFkMSwgcGFkMjsKLSB9IGhlYWRlcjsKLSBzdHJ1Y3QgeworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIHBhZDAsIHBhZDEsIHBhZDI7CisgIH0gaGVhZGVyOworICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBwYWNrZXRfaWQsIHBhZDAsIHBhZDE7Ci0gfSBwYWNrZXQ7Ci0gc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBvZmZzZXQsIHN0cmlkZSwgY291bnQ7CisgICAgdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgcGFja2V0X2lkLCBwYWQwLCBwYWQxOworICB9IHBhY2tldDsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBvZmZzZXQsIHN0cmlkZSwgY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gc2NhbGFyczsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIG9mZnNldCwgc3RyaWRlLCBjb3VudDsKLSB9IHZlY3RvcnM7CisgIH0gc2NhbGFyczsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBvZmZzZXQsIHN0cmlkZSwgY291bnQ7CisgIH0gdmVjdG9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBhZGRyX2xvLCBhZGRyX2hpLCBjb3VudDsKLSB9IHZlY2xpbmVhcjsKLSBzdHJ1Y3QgeworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGFkZHJfbG8sIGFkZHJfaGksIGNvdW50OworICB9IHZlY2xpbmVhcjsKKyAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgYnVmX2lkeCwgcGFkMCwgcGFkMTsKLSB9IGRtYTsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGZsYWdzLCBwYWQwLCBwYWQxOworICAgIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGJ1Zl9pZHgsIHBhZDAsIHBhZDE7CisgIH0gZG1hOworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGZsYWdzLCBwYWQwLCBwYWQxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHdhaXQ7CisgIH0gd2FpdDsKIH0gZHJtX3JhZGVvbl9jbWRfaGVhZGVyX3Q7CiAjZGVmaW5lIFJBREVPTl9XQUlUXzJEIDB4MQogI2RlZmluZSBSQURFT05fV0FJVF8zRCAweDIKQEAgLTIzNiw0MiArMjM2LDQyIEBACiAjZGVmaW5lIFIzMDBfQ01EX1I1MDBGUCA5CiB0eXBlZGVmIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHU7Ci0gc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBwYWQwLCBwYWQxLCBwYWQyOwotIH0gaGVhZGVyOworICB1bnNpZ25lZCBpbnQgdTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBwYWQwLCBwYWQxLCBwYWQyOworICB9IGhlYWRlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBjb3VudCwgcmVnbG8sIHJlZ2hpOwotIH0gcGFja2V0MDsKLSBzdHJ1Y3QgeworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGNvdW50LCByZWdsbywgcmVnaGk7CisgIH0gcGFja2V0MDsKKyAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgY291bnQsIGFkcmxvLCBhZHJoaTsKLSB9IHZwdTsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIHBhY2tldCwgcGFkMCwgcGFkMTsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBjb3VudCwgYWRybG8sIGFkcmhpOworICB9IHZwdTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZF90eXBlLCBwYWNrZXQsIHBhZDAsIHBhZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gcGFja2V0MzsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIHBhY2tldDsKLSB1bnNpZ25lZCBzaG9ydCBjb3VudDsKKyAgfSBwYWNrZXQzOworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIHBhY2tldDsKKyAgICB1bnNpZ25lZCBzaG9ydCBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBkZWxheTsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGJ1Zl9pZHgsIHBhZDAsIHBhZDE7Ci0gfSBkbWE7CisgIH0gZGVsYXk7CisgIHN0cnVjdCB7CisgICAgdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgYnVmX2lkeCwgcGFkMCwgcGFkMTsKKyAgfSBkbWE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgZmxhZ3MsIHBhZDAsIHBhZDE7Ci0gfSB3YWl0OwotIHN0cnVjdCB7CisgIHN0cnVjdCB7CisgICAgdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgZmxhZ3MsIHBhZDAsIHBhZDE7CisgIH0gd2FpdDsKKyAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgcmVnLCBuX2J1ZnMsIGZsYWdzOwotIH0gc2NyYXRjaDsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgY21kX3R5cGUsIGNvdW50LCBhZHJsbywgYWRyaGlfZmxhZ3M7CisgICAgdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgcmVnLCBuX2J1ZnMsIGZsYWdzOworICB9IHNjcmF0Y2g7CisgIHN0cnVjdCB7CisgICAgdW5zaWduZWQgY2hhciBjbWRfdHlwZSwgY291bnQsIGFkcmxvLCBhZHJoaV9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSByNTAwZnA7CisgIH0gcjUwMGZwOwogfSBkcm1fcjMwMF9jbWRfaGVhZGVyX3Q7CiAjZGVmaW5lIFJBREVPTl9GUk9OVCAweDEKICNkZWZpbmUgUkFERU9OX0JBQ0sgMHgyCkBAIC0zMTQsNTIxICszMTQsNTUxIEBACiAjZGVmaW5lIFJBREVPTl9PRkZTRVRfTUFTSyAoUkFERU9OX09GRlNFVF9BTElHTiAtIDEpCiAjZW5kaWYKIHR5cGVkZWYgc3RydWN0IHsKLSB1bnNpZ25lZCBpbnQgcmVkOworICB1bnNpZ25lZCBpbnQgcmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZ3JlZW47Ci0gdW5zaWduZWQgaW50IGJsdWU7Ci0gdW5zaWduZWQgaW50IGFscGhhOworICB1bnNpZ25lZCBpbnQgZ3JlZW47CisgIHVuc2lnbmVkIGludCBibHVlOworICB1bnNpZ25lZCBpbnQgYWxwaGE7CiB9IHJhZGVvbl9jb2xvcl9yZWdzX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBwcF9taXNjOwotIHVuc2lnbmVkIGludCBwcF9mb2dfY29sb3I7Ci0gdW5zaWduZWQgaW50IHJlX3NvbGlkX2NvbG9yOworICB1bnNpZ25lZCBpbnQgcHBfbWlzYzsKKyAgdW5zaWduZWQgaW50IHBwX2ZvZ19jb2xvcjsKKyAgdW5zaWduZWQgaW50IHJlX3NvbGlkX2NvbG9yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmIzZF9ibGVuZGNudGw7Ci0gdW5zaWduZWQgaW50IHJiM2RfZGVwdGhvZmZzZXQ7Ci0gdW5zaWduZWQgaW50IHJiM2RfZGVwdGhwaXRjaDsKLSB1bnNpZ25lZCBpbnQgcmIzZF96c3RlbmNpbGNudGw7CisgIHVuc2lnbmVkIGludCByYjNkX2JsZW5kY250bDsKKyAgdW5zaWduZWQgaW50IHJiM2RfZGVwdGhvZmZzZXQ7CisgIHVuc2lnbmVkIGludCByYjNkX2RlcHRocGl0Y2g7CisgIHVuc2lnbmVkIGludCByYjNkX3pzdGVuY2lsY250bDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHBwX2NudGw7Ci0gdW5zaWduZWQgaW50IHJiM2RfY250bDsKLSB1bnNpZ25lZCBpbnQgcmIzZF9jb2xvcm9mZnNldDsKLSB1bnNpZ25lZCBpbnQgcmVfd2lkdGhfaGVpZ2h0OworICB1bnNpZ25lZCBpbnQgcHBfY250bDsKKyAgdW5zaWduZWQgaW50IHJiM2RfY250bDsKKyAgdW5zaWduZWQgaW50IHJiM2RfY29sb3JvZmZzZXQ7CisgIHVuc2lnbmVkIGludCByZV93aWR0aF9oZWlnaHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCByYjNkX2NvbG9ycGl0Y2g7Ci0gdW5zaWduZWQgaW50IHNlX2NudGw7Ci0gdW5zaWduZWQgaW50IHNlX2Nvb3JkX2ZtdDsKLSB1bnNpZ25lZCBpbnQgcmVfbGluZV9wYXR0ZXJuOworICB1bnNpZ25lZCBpbnQgcmIzZF9jb2xvcnBpdGNoOworICB1bnNpZ25lZCBpbnQgc2VfY250bDsKKyAgdW5zaWduZWQgaW50IHNlX2Nvb3JkX2ZtdDsKKyAgdW5zaWduZWQgaW50IHJlX2xpbmVfcGF0dGVybjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHJlX2xpbmVfc3RhdGU7Ci0gdW5zaWduZWQgaW50IHNlX2xpbmVfd2lkdGg7Ci0gdW5zaWduZWQgaW50IHBwX2x1bV9tYXRyaXg7Ci0gdW5zaWduZWQgaW50IHBwX3JvdF9tYXRyaXhfMDsKKyAgdW5zaWduZWQgaW50IHJlX2xpbmVfc3RhdGU7CisgIHVuc2lnbmVkIGludCBzZV9saW5lX3dpZHRoOworICB1bnNpZ25lZCBpbnQgcHBfbHVtX21hdHJpeDsKKyAgdW5zaWduZWQgaW50IHBwX3JvdF9tYXRyaXhfMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHBwX3JvdF9tYXRyaXhfMTsKLSB1bnNpZ25lZCBpbnQgcmIzZF9zdGVuY2lscmVmbWFzazsKLSB1bnNpZ25lZCBpbnQgcmIzZF9yb3BjbnRsOwotIHVuc2lnbmVkIGludCByYjNkX3BsYW5lbWFzazsKKyAgdW5zaWduZWQgaW50IHBwX3JvdF9tYXRyaXhfMTsKKyAgdW5zaWduZWQgaW50IHJiM2Rfc3RlbmNpbHJlZm1hc2s7CisgIHVuc2lnbmVkIGludCByYjNkX3JvcGNudGw7CisgIHVuc2lnbmVkIGludCByYjNkX3BsYW5lbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHNlX3Zwb3J0X3hzY2FsZTsKLSB1bnNpZ25lZCBpbnQgc2VfdnBvcnRfeG9mZnNldDsKLSB1bnNpZ25lZCBpbnQgc2VfdnBvcnRfeXNjYWxlOwotIHVuc2lnbmVkIGludCBzZV92cG9ydF95b2Zmc2V0OworICB1bnNpZ25lZCBpbnQgc2VfdnBvcnRfeHNjYWxlOworICB1bnNpZ25lZCBpbnQgc2VfdnBvcnRfeG9mZnNldDsKKyAgdW5zaWduZWQgaW50IHNlX3Zwb3J0X3lzY2FsZTsKKyAgdW5zaWduZWQgaW50IHNlX3Zwb3J0X3lvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBzZV92cG9ydF96c2NhbGU7Ci0gdW5zaWduZWQgaW50IHNlX3Zwb3J0X3pvZmZzZXQ7Ci0gdW5zaWduZWQgaW50IHNlX2NudGxfc3RhdHVzOwotIHVuc2lnbmVkIGludCByZV90b3BfbGVmdDsKKyAgdW5zaWduZWQgaW50IHNlX3Zwb3J0X3pzY2FsZTsKKyAgdW5zaWduZWQgaW50IHNlX3Zwb3J0X3pvZmZzZXQ7CisgIHVuc2lnbmVkIGludCBzZV9jbnRsX3N0YXR1czsKKyAgdW5zaWduZWQgaW50IHJlX3RvcF9sZWZ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVfbWlzYzsKKyAgdW5zaWduZWQgaW50IHJlX21pc2M7CiB9IGRybV9yYWRlb25fY29udGV4dF9yZWdzX3Q7CiB0eXBlZGVmIHN0cnVjdCB7Ci0gdW5zaWduZWQgaW50IHNlX3piaWFzX2ZhY3RvcjsKKyAgdW5zaWduZWQgaW50IHNlX3piaWFzX2ZhY3RvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHNlX3piaWFzX2NvbnN0YW50OworICB1bnNpZ25lZCBpbnQgc2VfemJpYXNfY29uc3RhbnQ7CiB9IGRybV9yYWRlb25fY29udGV4dDJfcmVnc190OwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBwcF90eGZpbHRlcjsKKyAgdW5zaWduZWQgaW50IHBwX3R4ZmlsdGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcHBfdHhmb3JtYXQ7Ci0gdW5zaWduZWQgaW50IHBwX3R4b2Zmc2V0OwotIHVuc2lnbmVkIGludCBwcF90eGNibGVuZDsKLSB1bnNpZ25lZCBpbnQgcHBfdHhhYmxlbmQ7CisgIHVuc2lnbmVkIGludCBwcF90eGZvcm1hdDsKKyAgdW5zaWduZWQgaW50IHBwX3R4b2Zmc2V0OworICB1bnNpZ25lZCBpbnQgcHBfdHhjYmxlbmQ7CisgIHVuc2lnbmVkIGludCBwcF90eGFibGVuZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHBwX3RmYWN0b3I7Ci0gdW5zaWduZWQgaW50IHBwX2JvcmRlcl9jb2xvcjsKKyAgdW5zaWduZWQgaW50IHBwX3RmYWN0b3I7CisgIHVuc2lnbmVkIGludCBwcF9ib3JkZXJfY29sb3I7CiB9IGRybV9yYWRlb25fdGV4dHVyZV9yZWdzX3Q7CiB0eXBlZGVmIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBzdGFydDsKLSB1bnNpZ25lZCBpbnQgZmluaXNoOwotIHVuc2lnbmVkIGludCBwcmltOjg7Ci0gdW5zaWduZWQgaW50IHN0YXRlaWR4Ojg7CisgIHVuc2lnbmVkIGludCBzdGFydDsKKyAgdW5zaWduZWQgaW50IGZpbmlzaDsKKyAgdW5zaWduZWQgaW50IHByaW0gOiA4OworICB1bnNpZ25lZCBpbnQgc3RhdGVpZHggOiA4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbnVtdmVydHM6MTY7Ci0gdW5zaWduZWQgaW50IHZjX2Zvcm1hdDsKKyAgdW5zaWduZWQgaW50IG51bXZlcnRzIDogMTY7CisgIHVuc2lnbmVkIGludCB2Y19mb3JtYXQ7CiB9IGRybV9yYWRlb25fcHJpbV90OwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkcm1fcmFkZW9uX2NvbnRleHRfcmVnc190IGNvbnRleHQ7Ci0gZHJtX3JhZGVvbl90ZXh0dXJlX3JlZ3NfdCB0ZXhbUkFERU9OX01BWF9URVhUVVJFX1VOSVRTXTsKLSBkcm1fcmFkZW9uX2NvbnRleHQyX3JlZ3NfdCBjb250ZXh0MjsKLSB1bnNpZ25lZCBpbnQgZGlydHk7CisgIGRybV9yYWRlb25fY29udGV4dF9yZWdzX3QgY29udGV4dDsKKyAgZHJtX3JhZGVvbl90ZXh0dXJlX3JlZ3NfdCB0ZXhbUkFERU9OX01BWF9URVhUVVJFX1VOSVRTXTsKKyAgZHJtX3JhZGVvbl9jb250ZXh0Ml9yZWdzX3QgY29udGV4dDI7CisgIHVuc2lnbmVkIGludCBkaXJ0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9yYWRlb25fc3RhdGVfdDsKIHR5cGVkZWYgc3RydWN0IHsKLSBkcm1fcmFkZW9uX2NvbnRleHRfcmVnc190IGNvbnRleHRfc3RhdGU7Ci0gZHJtX3JhZGVvbl90ZXh0dXJlX3JlZ3NfdCB0ZXhfc3RhdGVbUkFERU9OX01BWF9URVhUVVJFX1VOSVRTXTsKKyAgZHJtX3JhZGVvbl9jb250ZXh0X3JlZ3NfdCBjb250ZXh0X3N0YXRlOworICBkcm1fcmFkZW9uX3RleHR1cmVfcmVnc190IHRleF9zdGF0ZVtSQURFT05fTUFYX1RFWFRVUkVfVU5JVFNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZGlydHk7Ci0gdW5zaWduZWQgaW50IHZlcnRzaXplOwotIHVuc2lnbmVkIGludCB2Y19mb3JtYXQ7Ci0gc3RydWN0IGRybV9jbGlwX3JlY3QgYm94ZXNbUkFERU9OX05SX1NBUkVBX0NMSVBSRUNUU107CisgIHVuc2lnbmVkIGludCBkaXJ0eTsKKyAgdW5zaWduZWQgaW50IHZlcnRzaXplOworICB1bnNpZ25lZCBpbnQgdmNfZm9ybWF0OworICBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBib3hlc1tSQURFT05fTlJfU0FSRUFfQ0xJUFJFQ1RTXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IG5ib3g7Ci0gdW5zaWduZWQgaW50IGxhc3RfZnJhbWU7Ci0gdW5zaWduZWQgaW50IGxhc3RfZGlzcGF0Y2g7Ci0gdW5zaWduZWQgaW50IGxhc3RfY2xlYXI7CisgIHVuc2lnbmVkIGludCBuYm94OworICB1bnNpZ25lZCBpbnQgbGFzdF9mcmFtZTsKKyAgdW5zaWduZWQgaW50IGxhc3RfZGlzcGF0Y2g7CisgIHVuc2lnbmVkIGludCBsYXN0X2NsZWFyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZHJtX3RleF9yZWdpb24gdGV4X2xpc3RbUkFERU9OX05SX1RFWF9IRUFQU11bUkFERU9OX05SX1RFWF9SRUdJT05TICsKLSAxXTsKLSB1bnNpZ25lZCBpbnQgdGV4X2FnZVtSQURFT05fTlJfVEVYX0hFQVBTXTsKLSBpbnQgY3R4X293bmVyOworICBzdHJ1Y3QgZHJtX3RleF9yZWdpb24gdGV4X2xpc3RbUkFERU9OX05SX1RFWF9IRUFQU11bUkFERU9OX05SX1RFWF9SRUdJT05TICsgMV07CisgIHVuc2lnbmVkIGludCB0ZXhfYWdlW1JBREVPTl9OUl9URVhfSEVBUFNdOworICBpbnQgY3R4X293bmVyOworICBpbnQgcGZTdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBmU3RhdGU7Ci0gaW50IHBmQ3VycmVudFBhZ2U7Ci0gaW50IGNydGMyX2Jhc2U7Ci0gaW50IHRpbGluZ19lbmFibGVkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IHBmQ3VycmVudFBhZ2U7CisgIGludCBjcnRjMl9iYXNlOworICBpbnQgdGlsaW5nX2VuYWJsZWQ7CiB9IGRybV9yYWRlb25fc2FyZWFfdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fQ1BfSU5JVCAweDAwCiAjZGVmaW5lIERSTV9SQURFT05fQ1BfU1RBUlQgMHgwMQogI2RlZmluZSBEUk1fUkFERU9OX0NQX1NUT1AgMHgwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9DUF9SRVNFVCAweDAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUkFERU9OX0NQX0lETEUgMHgwNAogI2RlZmluZSBEUk1fUkFERU9OX1JFU0VUIDB4MDUKICNkZWZpbmUgRFJNX1JBREVPTl9GVUxMU0NSRUVOIDB4MDYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fU1dBUCAweDA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUkFERU9OX0NMRUFSIDB4MDgKICNkZWZpbmUgRFJNX1JBREVPTl9WRVJURVggMHgwOQogI2RlZmluZSBEUk1fUkFERU9OX0lORElDRVMgMHgwQQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9OT1RfVVNFRAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9TVElQUExFIDB4MEMKICNkZWZpbmUgRFJNX1JBREVPTl9JTkRJUkVDVCAweDBECiAjZGVmaW5lIERSTV9SQURFT05fVEVYVFVSRSAweDBFCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUkFERU9OX1ZFUlRFWDIgMHgwRgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9DTURCVUYgMHgxMAogI2RlZmluZSBEUk1fUkFERU9OX0dFVFBBUkFNIDB4MTEKICNkZWZpbmUgRFJNX1JBREVPTl9GTElQIDB4MTIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fQUxMT0MgMHgxMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9GUkVFIDB4MTQKICNkZWZpbmUgRFJNX1JBREVPTl9JTklUX0hFQVAgMHgxNQogI2RlZmluZSBEUk1fUkFERU9OX0lSUV9FTUlUIDB4MTYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fSVJRX1dBSVQgMHgxNworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9DUF9SRVNVTUUgMHgxOAogI2RlZmluZSBEUk1fUkFERU9OX1NFVFBBUkFNIDB4MTkKICNkZWZpbmUgRFJNX1JBREVPTl9TVVJGX0FMTE9DIDB4MWEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fU1VSRl9GUkVFIDB4MWIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fR0VNX0lORk8gMHgxYwogI2RlZmluZSBEUk1fUkFERU9OX0dFTV9DUkVBVEUgMHgxZAogI2RlZmluZSBEUk1fUkFERU9OX0dFTV9NTUFQIDB4MWUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fR0VNX1BSRUFEIDB4MjEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fR0VNX1BXUklURSAweDIyCiAjZGVmaW5lIERSTV9SQURFT05fR0VNX1NFVF9ET01BSU4gMHgyMwogI2RlZmluZSBEUk1fUkFERU9OX0dFTV9XQUlUX0lETEUgMHgyNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1JBREVPTl9DUyAweDI2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUkFERU9OX0lORk8gMHgyNwogI2RlZmluZSBEUk1fUkFERU9OX0dFTV9TRVRfVElMSU5HIDB4MjgKICNkZWZpbmUgRFJNX1JBREVPTl9HRU1fR0VUX1RJTElORyAweDI5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUkFERU9OX0dFTV9CVVNZIDB4MmEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9SQURFT05fR0VNX1ZBIDB4MmIKLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9DUF9JTklUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NQX0lOSVQsIGRybV9yYWRlb25faW5pdF90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0NQX1NUQVJUIERSTV9JTyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fQ1BfU1RBUlQpCisjZGVmaW5lIERSTV9SQURFT05fR0VNX09QIDB4MmMKKyNkZWZpbmUgRFJNX1JBREVPTl9HRU1fVVNFUlBUUiAweDJkCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ1BfSU5JVCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NQX0lOSVQsIGRybV9yYWRlb25faW5pdF90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9DUF9TVE9QIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NQX1NUT1AsIGRybV9yYWRlb25fY3Bfc3RvcF90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0NQX1JFU0VUIERSTV9JTyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fQ1BfUkVTRVQpCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ1BfSURMRSBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NQX0lETEUpCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fUkVTRVQgRFJNX0lPKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9SRVNFVCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9DUF9TVEFSVCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fQ1BfU1RBUlQpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ1BfU1RPUCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NQX1NUT1AsIGRybV9yYWRlb25fY3Bfc3RvcF90KQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0NQX1JFU0VUIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9DUF9SRVNFVCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9DUF9JRExFIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9DUF9JRExFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9GVUxMU0NSRUVOIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0ZVTExTQ1JFRU4sIGRybV9yYWRlb25fZnVsbHNjcmVlbl90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NXQVAgRFJNX0lPKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9TV0FQKQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0NMRUFSIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NMRUFSLCBkcm1fcmFkZW9uX2NsZWFyX3QpCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fVkVSVEVYIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX1ZFUlRFWCwgZHJtX3JhZGVvbl92ZXJ0ZXhfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9SRVNFVCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fUkVTRVQpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fRlVMTFNDUkVFTiBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0ZVTExTQ1JFRU4sIGRybV9yYWRlb25fZnVsbHNjcmVlbl90KQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NXQVAgRFJNX0lPKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX1NXQVApCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ0xFQVIgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9DTEVBUiwgZHJtX3JhZGVvbl9jbGVhcl90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9JTkRJQ0VTIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0lORElDRVMsIGRybV9yYWRlb25faW5kaWNlc190KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NUSVBQTEUgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fU1RJUFBMRSwgZHJtX3JhZGVvbl9zdGlwcGxlX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fVkVSVEVYIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fVkVSVEVYLCBkcm1fcmFkZW9uX3ZlcnRleF90KQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0lORElDRVMgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9JTkRJQ0VTLCBkcm1fcmFkZW9uX2luZGljZXNfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9TVElQUExFIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fU1RJUFBMRSwgZHJtX3JhZGVvbl9zdGlwcGxlX3QpCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fSU5ESVJFQ1QgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fSU5ESVJFQ1QsIGRybV9yYWRlb25faW5kaXJlY3RfdCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fVEVYVFVSRSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9URVhUVVJFLCBkcm1fcmFkZW9uX3RleHR1cmVfdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIERSTV9JT0NUTF9SQURFT05fVkVSVEVYMiBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9WRVJURVgyLCBkcm1fcmFkZW9uX3ZlcnRleDJfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9DTURCVUYgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fQ01EQlVGLCBkcm1fcmFkZW9uX2NtZF9idWZmZXJfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9WRVJURVgyIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fVkVSVEVYMiwgZHJtX3JhZGVvbl92ZXJ0ZXgyX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ01EQlVGIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fQ01EQlVGLCBkcm1fcmFkZW9uX2NtZF9idWZmZXJfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRVRQQVJBTSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRVRQQVJBTSwgZHJtX3JhZGVvbl9nZXRwYXJhbV90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0ZMSVAgRFJNX0lPKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9GTElQKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9GTElQIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9GTElQKQogI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0FMTE9DIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0FMTE9DLCBkcm1fcmFkZW9uX21lbV9hbGxvY190KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0ZSRUUgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fRlJFRSwgZHJtX3JhZGVvbl9tZW1fZnJlZV90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0lOSVRfSEVBUCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9JTklUX0hFQVAsIGRybV9yYWRlb25fbWVtX2luaXRfaGVhcF90KQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0ZSRUUgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9GUkVFLCBkcm1fcmFkZW9uX21lbV9mcmVlX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fSU5JVF9IRUFQIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fSU5JVF9IRUFQLCBkcm1fcmFkZW9uX21lbV9pbml0X2hlYXBfdCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fSVJRX0VNSVQgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fSVJRX0VNSVQsIGRybV9yYWRlb25faXJxX2VtaXRfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9JUlFfV0FJVCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0lSUV9XQUlULCBkcm1fcmFkZW9uX2lycV93YWl0X3QpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fQ1BfUkVTVU1FIERSTV9JTyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9DUF9SRVNVTUUpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fU0VUUEFSQU0gRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9TRVRQQVJBTSwgZHJtX3JhZGVvbl9zZXRwYXJhbV90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9JUlFfV0FJVCBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9JUlFfV0FJVCwgZHJtX3JhZGVvbl9pcnFfd2FpdF90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0NQX1JFU1VNRSBEUk1fSU8oIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0NQX1JFU1VNRSkKLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9TRVRQQVJBTSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9TRVRQQVJBTSwgZHJtX3JhZGVvbl9zZXRwYXJhbV90KQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NVUkZfQUxMT0MgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fU1VSRl9BTExPQywgZHJtX3JhZGVvbl9zdXJmYWNlX2FsbG9jX3QpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NVUkZfRlJFRSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9TVVJGX0ZSRUUsIGRybV9yYWRlb25fc3VyZmFjZV9mcmVlX3QpCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fU1VSRl9BTExPQyBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX1NVUkZfQUxMT0MsIGRybV9yYWRlb25fc3VyZmFjZV9hbGxvY190KQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX1NVUkZfRlJFRSBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX1NVUkZfRlJFRSwgZHJtX3JhZGVvbl9zdXJmYWNlX2ZyZWVfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fSU5GTyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fSU5GTywgc3RydWN0IGRybV9yYWRlb25fZ2VtX2luZm8pCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX0NSRUFURSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fQ1JFQVRFLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fY3JlYXRlKQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9NTUFQIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9NTUFQLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fbW1hcCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX01NQVAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX01NQVAsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9tbWFwKQogI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9QUkVBRCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fUFJFQUQsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9wcmVhZCkKICNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fUFdSSVRFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9QV1JJVEUsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9wd3JpdGUpCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1NFVF9ET01BSU4gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1NFVF9ET01BSU4sIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9zZXRfZG9tYWluKQotI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9XQUlUX0lETEUgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fV0FJVF9JRExFLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fd2FpdF9pZGxlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fV0FJVF9JRExFIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1dBSVRfSURMRSwgc3RydWN0IGRybV9yYWRlb25fZ2VtX3dhaXRfaWRsZSkKICNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9DUyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9DUywgc3RydWN0IGRybV9yYWRlb25fY3MpCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fSU5GTyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9JTkZPLCBzdHJ1Y3QgZHJtX3JhZGVvbl9pbmZvKQogI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9TRVRfVElMSU5HIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9TRVRfVElMSU5HLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fc2V0X3RpbGluZykKLSNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fR0VUX1RJTElORyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fR0VUX1RJTElORywgc3RydWN0IGRybV9yYWRlb25fZ2VtX2dldF90aWxpbmcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9HRVRfVElMSU5HIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9HRVRfVElMSU5HLCBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fZ2V0X3RpbGluZykKICNkZWZpbmUgRFJNX0lPQ1RMX1JBREVPTl9HRU1fQlVTWSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fQlVTWSwgc3RydWN0IGRybV9yYWRlb25fZ2VtX2J1c3kpCiAjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1ZBIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fUkFERU9OX0dFTV9WQSwgc3RydWN0IGRybV9yYWRlb25fZ2VtX3ZhKQorI2RlZmluZSBEUk1fSU9DVExfUkFERU9OX0dFTV9PUCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1JBREVPTl9HRU1fT1AsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9vcCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9JT0NUTF9SQURFT05fR0VNX1VTRVJQVFIgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9SQURFT05fR0VNX1VTRVJQVFIsIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV91c2VycHRyKQogdHlwZWRlZiBzdHJ1Y3QgZHJtX3JhZGVvbl9pbml0IHsKLSBlbnVtIHsKKyAgZW51bSB7CisgICAgUkFERU9OX0lOSVRfQ1AgPSAweDAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSQURFT05fSU5JVF9DUCA9IDB4MDEsCi0gUkFERU9OX0NMRUFOVVBfQ1AgPSAweDAyLAotIFJBREVPTl9JTklUX1IyMDBfQ1AgPSAweDAzLAotIFJBREVPTl9JTklUX1IzMDBfQ1AgPSAweDA0LAorICAgIFJBREVPTl9DTEVBTlVQX0NQID0gMHgwMiwKKyAgICBSQURFT05fSU5JVF9SMjAwX0NQID0gMHgwMywKKyAgICBSQURFT05fSU5JVF9SMzAwX0NQID0gMHgwNCwKKyAgICBSQURFT05fSU5JVF9SNjAwX0NQID0gMHgwNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSQURFT05fSU5JVF9SNjAwX0NQID0gMHgwNQotIH0gZnVuYzsKLSB1bnNpZ25lZCBsb25nIHNhcmVhX3ByaXZfb2Zmc2V0OwotIGludCBpc19wY2k7CisgIH0gZnVuYzsKKyAgdW5zaWduZWQgbG9uZyBzYXJlYV9wcml2X29mZnNldDsKKyAgaW50IGlzX3BjaTsKKyAgaW50IGNwX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjcF9tb2RlOwotIGludCBnYXJ0X3NpemU7Ci0gaW50IHJpbmdfc2l6ZTsKLSBpbnQgdXNlY190aW1lb3V0OworICBpbnQgZ2FydF9zaXplOworICBpbnQgcmluZ19zaXplOworICBpbnQgdXNlY190aW1lb3V0OworICB1bnNpZ25lZCBpbnQgZmJfYnBwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZmJfYnBwOwotIHVuc2lnbmVkIGludCBmcm9udF9vZmZzZXQsIGZyb250X3BpdGNoOwotIHVuc2lnbmVkIGludCBiYWNrX29mZnNldCwgYmFja19waXRjaDsKLSB1bnNpZ25lZCBpbnQgZGVwdGhfYnBwOworICB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0LCBmcm9udF9waXRjaDsKKyAgdW5zaWduZWQgaW50IGJhY2tfb2Zmc2V0LCBiYWNrX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZGVwdGhfYnBwOworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0LCBkZXB0aF9waXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGRlcHRoX29mZnNldCwgZGVwdGhfcGl0Y2g7Ci0gdW5zaWduZWQgbG9uZyBmYl9vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBtbWlvX29mZnNldDsKLSB1bnNpZ25lZCBsb25nIHJpbmdfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGZiX29mZnNldDsKKyAgdW5zaWduZWQgbG9uZyBtbWlvX29mZnNldDsKKyAgdW5zaWduZWQgbG9uZyByaW5nX29mZnNldDsKKyAgdW5zaWduZWQgbG9uZyByaW5nX3JwdHJfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHJpbmdfcnB0cl9vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBidWZmZXJzX29mZnNldDsKLSB1bnNpZ25lZCBsb25nIGdhcnRfdGV4dHVyZXNfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGJ1ZmZlcnNfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGdhcnRfdGV4dHVyZXNfb2Zmc2V0OwogfSBkcm1fcmFkZW9uX2luaXRfdDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX2NwX3N0b3AgewotIGludCBmbHVzaDsKLSBpbnQgaWRsZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBmbHVzaDsKKyAgaW50IGlkbGU7CiB9IGRybV9yYWRlb25fY3Bfc3RvcF90OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fZnVsbHNjcmVlbiB7Ci0gZW51bSB7Ci0gUkFERU9OX0lOSVRfRlVMTFNDUkVFTiA9IDB4MDEsCi0gUkFERU9OX0NMRUFOVVBfRlVMTFNDUkVFTiA9IDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBmdW5jOworICBlbnVtIHsKKyAgICBSQURFT05fSU5JVF9GVUxMU0NSRUVOID0gMHgwMSwKKyAgICBSQURFT05fQ0xFQU5VUF9GVUxMU0NSRUVOID0gMHgwMgorICB9IGZ1bmM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fcmFkZW9uX2Z1bGxzY3JlZW5fdDsKICNkZWZpbmUgQ0xFQVJfWDEgMAogI2RlZmluZSBDTEVBUl9ZMSAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDTEVBUl9YMiAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDTEVBUl9ZMiAzCiAjZGVmaW5lIENMRUFSX0RFUFRIIDQKIHR5cGVkZWYgdW5pb24gZHJtX3JhZGVvbl9jbGVhcl9yZWN0IHsKKyAgZmxvYXQgZls1XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZmxvYXQgZls1XTsKLSB1bnNpZ25lZCBpbnQgdWlbNV07CisgIHVuc2lnbmVkIGludCB1aVs1XTsKIH0gZHJtX3JhZGVvbl9jbGVhcl9yZWN0X3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX2NsZWFyIHsKKyAgdW5zaWduZWQgaW50IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gdW5zaWduZWQgaW50IGNsZWFyX2NvbG9yOwotIHVuc2lnbmVkIGludCBjbGVhcl9kZXB0aDsKLSB1bnNpZ25lZCBpbnQgY29sb3JfbWFzazsKKyAgdW5zaWduZWQgaW50IGNsZWFyX2NvbG9yOworICB1bnNpZ25lZCBpbnQgY2xlYXJfZGVwdGg7CisgIHVuc2lnbmVkIGludCBjb2xvcl9tYXNrOworICB1bnNpZ25lZCBpbnQgZGVwdGhfbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGRlcHRoX21hc2s7Ci0gZHJtX3JhZGVvbl9jbGVhcl9yZWN0X3QgX191c2VyICpkZXB0aF9ib3hlczsKKyAgZHJtX3JhZGVvbl9jbGVhcl9yZWN0X3QgX191c2VyICogZGVwdGhfYm94ZXM7CiB9IGRybV9yYWRlb25fY2xlYXJfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fdmVydGV4IHsKKyAgaW50IHByaW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwcmltOwotIGludCBpZHg7Ci0gaW50IGNvdW50OwotIGludCBkaXNjYXJkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IGlkeDsKKyAgaW50IGNvdW50OworICBpbnQgZGlzY2FyZDsKIH0gZHJtX3JhZGVvbl92ZXJ0ZXhfdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX2luZGljZXMgewotIGludCBwcmltOwotIGludCBpZHg7CisgIGludCBwcmltOworICBpbnQgaWR4OworICBpbnQgc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzdGFydDsKLSBpbnQgZW5kOwotIGludCBkaXNjYXJkOworICBpbnQgZW5kOworICBpbnQgZGlzY2FyZDsKIH0gZHJtX3JhZGVvbl9pbmRpY2VzX3Q7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3JhZGVvbl92ZXJ0ZXgyIHsKLSBpbnQgaWR4OwotIGludCBkaXNjYXJkOwotIGludCBucl9zdGF0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRybV9yYWRlb25fc3RhdGVfdCBfX3VzZXIgKnN0YXRlOwotIGludCBucl9wcmltczsKLSBkcm1fcmFkZW9uX3ByaW1fdCBfX3VzZXIgKnByaW07CisgIGludCBpZHg7CisgIGludCBkaXNjYXJkOworICBpbnQgbnJfc3RhdGVzOworICBkcm1fcmFkZW9uX3N0YXRlX3QgX191c2VyICogc3RhdGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgbnJfcHJpbXM7CisgIGRybV9yYWRlb25fcHJpbV90IF9fdXNlciAqIHByaW07CiB9IGRybV9yYWRlb25fdmVydGV4Ml90OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fY21kX2J1ZmZlciB7Ci0gaW50IGJ1ZnN6OwotIGNoYXIgX191c2VyICpidWY7Ci0gaW50IG5ib3g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBkcm1fY2xpcF9yZWN0IF9fdXNlciAqYm94ZXM7CisgIGludCBidWZzejsKKyAgY2hhciBfX3VzZXIgKiBidWY7CisgIGludCBuYm94OworICBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBfX3VzZXIgKiBib3hlczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9yYWRlb25fY21kX2J1ZmZlcl90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3JhZGVvbl90ZXhfaW1hZ2UgewotIHVuc2lnbmVkIGludCB4LCB5OworICB1bnNpZ25lZCBpbnQgeCwgeTsKKyAgdW5zaWduZWQgaW50IHdpZHRoLCBoZWlnaHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB3aWR0aCwgaGVpZ2h0OwotIGNvbnN0IHZvaWQgX191c2VyICpkYXRhOworICBjb25zdCB2b2lkIF9fdXNlciAqIGRhdGE7CiB9IGRybV9yYWRlb25fdGV4X2ltYWdlX3Q7CiB0eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX3RleHR1cmUgeworICB1bnNpZ25lZCBpbnQgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgb2Zmc2V0OwotIGludCBwaXRjaDsKLSBpbnQgZm9ybWF0OwotIGludCB3aWR0aDsKKyAgaW50IHBpdGNoOworICBpbnQgZm9ybWF0OworICBpbnQgd2lkdGg7CisgIGludCBoZWlnaHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBoZWlnaHQ7Ci0gZHJtX3JhZGVvbl90ZXhfaW1hZ2VfdCBfX3VzZXIgKmltYWdlOworICBkcm1fcmFkZW9uX3RleF9pbWFnZV90IF9fdXNlciAqIGltYWdlOwogfSBkcm1fcmFkZW9uX3RleHR1cmVfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fc3RpcHBsZSB7CisgIHVuc2lnbmVkIGludCBfX3VzZXIgKiBtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgX191c2VyICptYXNrOwogfSBkcm1fcmFkZW9uX3N0aXBwbGVfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25faW5kaXJlY3QgewotIGludCBpZHg7CisgIGludCBpZHg7CisgIGludCBzdGFydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHN0YXJ0OwotIGludCBlbmQ7Ci0gaW50IGRpc2NhcmQ7CisgIGludCBlbmQ7CisgIGludCBkaXNjYXJkOwogfSBkcm1fcmFkZW9uX2luZGlyZWN0X3Q7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSQURFT05fQ0FSRF9QQ0kgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0NBUkRfQUdQIDEKICNkZWZpbmUgUkFERU9OX0NBUkRfUENJRSAyCiAjZGVmaW5lIFJBREVPTl9QQVJBTV9HQVJUX0JVRkZFUl9PRkZTRVQgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX1BBUkFNX0xBU1RfRlJBTUUgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX1BBUkFNX0xBU1RfRElTUEFUQ0ggMwogI2RlZmluZSBSQURFT05fUEFSQU1fTEFTVF9DTEVBUiA0CiAjZGVmaW5lIFJBREVPTl9QQVJBTV9JUlFfTlIgNQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX1BBUkFNX0dBUlRfQkFTRSA2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSQURFT05fUEFSQU1fUkVHSVNURVJfSEFORExFIDcKICNkZWZpbmUgUkFERU9OX1BBUkFNX1NUQVRVU19IQU5ETEUgOAogI2RlZmluZSBSQURFT05fUEFSQU1fU0FSRUFfSEFORExFIDkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9QQVJBTV9HQVJUX1RFWF9IQU5ETEUgMTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9QQVJBTV9TQ1JBVENIX09GRlNFVCAxMQogI2RlZmluZSBSQURFT05fUEFSQU1fQ0FSRF9UWVBFIDEyCiAjZGVmaW5lIFJBREVPTl9QQVJBTV9WQkxBTktfQ1JUQyAxMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX1BBUkFNX0ZCX0xPQ0FUSU9OIDE0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSQURFT05fUEFSQU1fTlVNX0dCX1BJUEVTIDE1CiAjZGVmaW5lIFJBREVPTl9QQVJBTV9ERVZJQ0VfSUQgMTYKICNkZWZpbmUgUkFERU9OX1BBUkFNX05VTV9aX1BJUEVTIDE3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3JhZGVvbl9nZXRwYXJhbSB7Ci0gaW50IHBhcmFtOwotIHZvaWQgX191c2VyICp2YWx1ZTsKLX0gZHJtX3JhZGVvbl9nZXRwYXJhbV90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IHBhcmFtOworICB2b2lkIF9fdXNlciAqIHZhbHVlOworfSBkcm1fcmFkZW9uX2dldHBhcmFtX3Q7CiAjZGVmaW5lIFJBREVPTl9NRU1fUkVHSU9OX0dBUlQgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX01FTV9SRUdJT05fRkIgMgogdHlwZWRlZiBzdHJ1Y3QgZHJtX3JhZGVvbl9tZW1fYWxsb2MgewotIGludCByZWdpb247CisgIGludCByZWdpb247CisgIGludCBhbGlnbm1lbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBhbGlnbm1lbnQ7Ci0gaW50IHNpemU7Ci0gaW50IF9fdXNlciAqcmVnaW9uX29mZnNldDsKKyAgaW50IHNpemU7CisgIGludCBfX3VzZXIgKiByZWdpb25fb2Zmc2V0OwogfSBkcm1fcmFkZW9uX21lbV9hbGxvY190OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fbWVtX2ZyZWUgewotIGludCByZWdpb247Ci0gaW50IHJlZ2lvbl9vZmZzZXQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgcmVnaW9uOworICBpbnQgcmVnaW9uX29mZnNldDsKIH0gZHJtX3JhZGVvbl9tZW1fZnJlZV90OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fbWVtX2luaXRfaGVhcCB7Ci0gaW50IHJlZ2lvbjsKLSBpbnQgc2l6ZTsKLSBpbnQgc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgcmVnaW9uOworICBpbnQgc2l6ZTsKKyAgaW50IHN0YXJ0OwogfSBkcm1fcmFkZW9uX21lbV9pbml0X2hlYXBfdDsKLXR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25faXJxX2VtaXQgewotIGludCBfX3VzZXIgKmlycV9zZXE7Ci19IGRybV9yYWRlb25faXJxX2VtaXRfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX2lycV9lbWl0IHsKKyAgaW50IF9fdXNlciAqIGlycV9zZXE7Cit9IGRybV9yYWRlb25faXJxX2VtaXRfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25faXJxX3dhaXQgewotIGludCBpcnFfc2VxOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IGlycV9zZXE7CiB9IGRybV9yYWRlb25faXJxX3dhaXRfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9yYWRlb25fc2V0cGFyYW0geworICB1bnNpZ25lZCBpbnQgcGFyYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBwYXJhbTsKLSBfX3M2NCB2YWx1ZTsKKyAgX19zNjQgdmFsdWU7CiB9IGRybV9yYWRlb25fc2V0cGFyYW1fdDsKICNkZWZpbmUgUkFERU9OX1NFVFBBUkFNX0ZCX0xPQ0FUSU9OIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9TRVRQQVJBTV9TV0lUQ0hfVElMSU5HIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9TRVRQQVJBTV9QQ0lHQVJUX0xPQ0FUSU9OIDMKICNkZWZpbmUgUkFERU9OX1NFVFBBUkFNX05FV19NRU1NQVAgNAogI2RlZmluZSBSQURFT05fU0VUUEFSQU1fUENJR0FSVF9UQUJMRV9TSVpFIDUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9TRVRQQVJBTV9WQkxBTktfQ1JUQyA2Ci10eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX3N1cmZhY2VfYWxsb2MgewotIHVuc2lnbmVkIGludCBhZGRyZXNzOwotIHVuc2lnbmVkIGludCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Cit0eXBlZGVmIHN0cnVjdCBkcm1fcmFkZW9uX3N1cmZhY2VfYWxsb2MgeworICB1bnNpZ25lZCBpbnQgYWRkcmVzczsKKyAgdW5zaWduZWQgaW50IHNpemU7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9yYWRlb25fc3VyZmFjZV9hbGxvY190OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3JhZGVvbl9zdXJmYWNlX2ZyZWUgewotIHVuc2lnbmVkIGludCBhZGRyZXNzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IGFkZHJlc3M7CiB9IGRybV9yYWRlb25fc3VyZmFjZV9mcmVlX3Q7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fUkFERU9OX1ZCTEFOS19DUlRDMSAxCiAjZGVmaW5lIERSTV9SQURFT05fVkJMQU5LX0NSVEMyIDIKICNkZWZpbmUgUkFERU9OX0dFTV9ET01BSU5fQ1BVIDB4MQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0dFTV9ET01BSU5fR1RUIDB4MgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0dFTV9ET01BSU5fVlJBTSAweDQKIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9pbmZvIHsKLSB1aW50NjRfdCBnYXJ0X3NpemU7CisgIHVpbnQ2NF90IGdhcnRfc2l6ZTsKKyAgdWludDY0X3QgdnJhbV9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCB2cmFtX3NpemU7Ci0gdWludDY0X3QgdnJhbV92aXNpYmxlOworICB1aW50NjRfdCB2cmFtX3Zpc2libGU7CiB9OwotI2RlZmluZSBSQURFT05fR0VNX05PX0JBQ0tJTkdfU1RPUkUgMQorI2RlZmluZSBSQURFT05fR0VNX05PX0JBQ0tJTkdfU1RPUkUgKDEgPDwgMCkKKyNkZWZpbmUgUkFERU9OX0dFTV9HVFRfVUMgKDEgPDwgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJBREVPTl9HRU1fR1RUX1dDICgxIDw8IDIpCisjZGVmaW5lIFJBREVPTl9HRU1fQ1BVX0FDQ0VTUyAoMSA8PCAzKQorI2RlZmluZSBSQURFT05fR0VNX05PX0NQVV9BQ0NFU1MgKDEgPDwgNCkKIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9jcmVhdGUgewotIHVpbnQ2NF90IHNpemU7Ci0gdWludDY0X3QgYWxpZ25tZW50OwotIHVpbnQzMl90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgaW5pdGlhbF9kb21haW47Ci0gdWludDMyX3QgZmxhZ3M7CisgIHVpbnQ2NF90IHNpemU7CisgIHVpbnQ2NF90IGFsaWdubWVudDsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBpbml0aWFsX2RvbWFpbjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVpbnQzMl90IGZsYWdzOwogfTsKLSNkZWZpbmUgUkFERU9OX1RJTElOR19NQUNSTyAweDEKKyNkZWZpbmUgUkFERU9OX0dFTV9VU0VSUFRSX1JFQURPTkxZICgxIDw8IDApCisjZGVmaW5lIFJBREVPTl9HRU1fVVNFUlBUUl9BTk9OT05MWSAoMSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUkFERU9OX0dFTV9VU0VSUFRSX1ZBTElEQVRFICgxIDw8IDIpCisjZGVmaW5lIFJBREVPTl9HRU1fVVNFUlBUUl9SRUdJU1RFUiAoMSA8PCAzKQorc3RydWN0IGRybV9yYWRlb25fZ2VtX3VzZXJwdHIgeworICB1aW50NjRfdCBhZGRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDY0X3Qgc2l6ZTsKKyAgdWludDMyX3QgZmxhZ3M7CisgIHVpbnQzMl90IGhhbmRsZTsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBSQURFT05fVElMSU5HX01BQ1JPIDB4MQogI2RlZmluZSBSQURFT05fVElMSU5HX01JQ1JPIDB4MgogI2RlZmluZSBSQURFT05fVElMSU5HX1NXQVBfMTZCSVQgMHg0CiAjZGVmaW5lIFJBREVPTl9USUxJTkdfU1dBUF8zMkJJVCAweDgKLSNkZWZpbmUgUkFERU9OX1RJTElOR19TVVJGQUNFIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJBREVPTl9USUxJTkdfU1VSRkFDRSAweDEwCiAjZGVmaW5lIFJBREVPTl9USUxJTkdfTUlDUk9fU1FVQVJFIDB4MjAKICNkZWZpbmUgUkFERU9OX1RJTElOR19FR19CQU5LV19TSElGVCA4CiAjZGVmaW5lIFJBREVPTl9USUxJTkdfRUdfQkFOS1dfTUFTSyAweGYKLSNkZWZpbmUgUkFERU9OX1RJTElOR19FR19CQU5LSF9TSElGVCAxMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUkFERU9OX1RJTElOR19FR19CQU5LSF9TSElGVCAxMgogI2RlZmluZSBSQURFT05fVElMSU5HX0VHX0JBTktIX01BU0sgMHhmCiAjZGVmaW5lIFJBREVPTl9USUxJTkdfRUdfTUFDUk9fVElMRV9BU1BFQ1RfU0hJRlQgMTYKICNkZWZpbmUgUkFERU9OX1RJTElOR19FR19NQUNST19USUxFX0FTUEVDVF9NQVNLIDB4ZgotI2RlZmluZSBSQURFT05fVElMSU5HX0VHX1RJTEVfU1BMSVRfU0hJRlQgMjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJBREVPTl9USUxJTkdfRUdfVElMRV9TUExJVF9TSElGVCAyNAogI2RlZmluZSBSQURFT05fVElMSU5HX0VHX1RJTEVfU1BMSVRfTUFTSyAweGYKICNkZWZpbmUgUkFERU9OX1RJTElOR19FR19TVEVOQ0lMX1RJTEVfU1BMSVRfU0hJRlQgMjgKICNkZWZpbmUgUkFERU9OX1RJTElOR19FR19TVEVOQ0lMX1RJTEVfU1BMSVRfTUFTSyAweGYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fc2V0X3RpbGluZyB7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgdGlsaW5nX2ZsYWdzOworICB1aW50MzJfdCBwaXRjaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IHRpbGluZ19mbGFnczsKLSB1aW50MzJfdCBwaXRjaDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9yYWRlb25fZ2VtX2dldF90aWxpbmcgewotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCB0aWxpbmdfZmxhZ3M7Ci0gdWludDMyX3QgcGl0Y2g7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgdGlsaW5nX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgcGl0Y2g7CiB9Owogc3RydWN0IGRybV9yYWRlb25fZ2VtX21tYXAgewotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBwYWQ7CisgIHVpbnQzMl90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3Qgb2Zmc2V0OwotIHVpbnQ2NF90IHNpemU7Ci0gdWludDY0X3QgYWRkcl9wdHI7CisgIHVpbnQzMl90IHBhZDsKKyAgdWludDY0X3Qgb2Zmc2V0OworICB1aW50NjRfdCBzaXplOworICB1aW50NjRfdCBhZGRyX3B0cjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9zZXRfZG9tYWluIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgcmVhZF9kb21haW5zOwotIHVpbnQzMl90IHdyaXRlX2RvbWFpbjsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCByZWFkX2RvbWFpbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1aW50MzJfdCB3cml0ZV9kb21haW47CiB9Owogc3RydWN0IGRybV9yYWRlb25fZ2VtX3dhaXRfaWRsZSB7Ci0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IHBhZDsKKyAgdWludDMyX3QgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgcGFkOwogfTsKIHN0cnVjdCBkcm1fcmFkZW9uX2dlbV9idXN5IHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgZG9tYWluOworICB1aW50MzJfdCBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1aW50MzJfdCBkb21haW47CiB9Owogc3RydWN0IGRybV9yYWRlb25fZ2VtX3ByZWFkIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgcGFkOworICB1aW50MzJfdCBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IG9mZnNldDsKLSB1aW50NjRfdCBzaXplOwotIHVpbnQ2NF90IGRhdGFfcHRyOworICB1aW50MzJfdCBwYWQ7CisgIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDY0X3Qgc2l6ZTsKKyAgdWludDY0X3QgZGF0YV9wdHI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHJtX3JhZGVvbl9nZW1fcHdyaXRlIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgcGFkOwotIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHNpemU7Ci0gdWludDY0X3QgZGF0YV9wdHI7CisgIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDY0X3Qgc2l6ZTsKKyAgdWludDY0X3QgZGF0YV9wdHI7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBkcm1fcmFkZW9uX2dlbV9vcCB7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3Qgb3A7CisgIHVpbnQ2NF90IHZhbHVlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CisjZGVmaW5lIFJBREVPTl9HRU1fT1BfR0VUX0lOSVRJQUxfRE9NQUlOIDAKKyNkZWZpbmUgUkFERU9OX0dFTV9PUF9TRVRfSU5JVElBTF9ET01BSU4gMQogI2RlZmluZSBSQURFT05fVkFfTUFQIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9WQV9VTk1BUCAyCkBAIC04NDMsMTIgKzg3MywxMiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX1ZNX1BBR0VfU05PT1BFRCAoMSA8PCA0KQogc3RydWN0IGRybV9yYWRlb25fZ2VtX3ZhIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3Qgb3BlcmF0aW9uOworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IG9wZXJhdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3Qgdm1faWQ7Ci0gdWludDMyX3QgZmxhZ3M7Ci0gdWludDY0X3Qgb2Zmc2V0OworICB1aW50MzJfdCB2bV9pZDsKKyAgdWludDMyX3QgZmxhZ3M7CisgIHVpbnQ2NF90IG9mZnNldDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSQURFT05fQ0hVTktfSURfUkVMT0NTIDB4MDEKQEAgLTg2NCw2NyArODk0LDc3IEBACiAjZGVmaW5lIFJBREVPTl9DU19SSU5HX0NPTVBVVEUgMQogI2RlZmluZSBSQURFT05fQ1NfUklOR19ETUEgMgogI2RlZmluZSBSQURFT05fQ1NfUklOR19VVkQgMworI2RlZmluZSBSQURFT05fQ1NfUklOR19WQ0UgNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fcmFkZW9uX2NzX2NodW5rIHsKKyAgdWludDMyX3QgY2h1bmtfaWQ7CisgIHVpbnQzMl90IGxlbmd0aF9kdzsKKyAgdWludDY0X3QgY2h1bmtfZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgY2h1bmtfaWQ7Ci0gdWludDMyX3QgbGVuZ3RoX2R3OwotIHVpbnQ2NF90IGNodW5rX2RhdGE7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUkFERU9OX1JFTE9DX1BSSU9fTUFTSyAoMHhmIDw8IDApCiBzdHJ1Y3QgZHJtX3JhZGVvbl9jc19yZWxvYyB7Ci0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IHJlYWRfZG9tYWluczsKLSB1aW50MzJfdCB3cml0ZV9kb21haW47CisgIHVpbnQzMl90IGhhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZmxhZ3M7CisgIHVpbnQzMl90IHJlYWRfZG9tYWluczsKKyAgdWludDMyX3Qgd3JpdGVfZG9tYWluOworICB1aW50MzJfdCBmbGFnczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9yYWRlb25fY3MgewotIHVpbnQzMl90IG51bV9jaHVua3M7CisgIHVpbnQzMl90IG51bV9jaHVua3M7CisgIHVpbnQzMl90IGNzX2lkOworICB1aW50NjRfdCBjaHVua3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGNzX2lkOwotIHVpbnQ2NF90IGNodW5rczsKLSB1aW50NjRfdCBnYXJ0X2xpbWl0OwotIHVpbnQ2NF90IHZyYW1fbGltaXQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1aW50NjRfdCBnYXJ0X2xpbWl0OworICB1aW50NjRfdCB2cmFtX2xpbWl0OwogfTsKICNkZWZpbmUgUkFERU9OX0lORk9fREVWSUNFX0lEIDB4MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9JTkZPX05VTV9HQl9QSVBFUyAweDAxCiAjZGVmaW5lIFJBREVPTl9JTkZPX05VTV9aX1BJUEVTIDB4MDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9JTkZPX0FDQ0VMX1dPUktJTkcgMHgwMwogI2RlZmluZSBSQURFT05fSU5GT19DUlRDX0ZST01fSUQgMHgwNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0lORk9fQUNDRUxfV09SS0lORzIgMHgwNQogI2RlZmluZSBSQURFT05fSU5GT19USUxJTkdfQ09ORklHIDB4MDYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9JTkZPX1dBTlRfSFlQRVJaIDB4MDcKICNkZWZpbmUgUkFERU9OX0lORk9fV0FOVF9DTUFTSyAweDA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSQURFT05fSU5GT19DTE9DS19DUllTVEFMX0ZSRVEgMHgwOQogI2RlZmluZSBSQURFT05fSU5GT19OVU1fQkFDS0VORFMgMHgwYQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0lORk9fTlVNX1RJTEVfUElQRVMgMHgwYgogI2RlZmluZSBSQURFT05fSU5GT19GVVNJT05fR0FSVF9XT1JLSU5HIDB4MGMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9JTkZPX0JBQ0tFTkRfTUFQIDB4MGQKICNkZWZpbmUgUkFERU9OX0lORk9fVkFfU1RBUlQgMHgwZQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0lORk9fSUJfVk1fTUFYX1NJWkUgMHgwZgogI2RlZmluZSBSQURFT05fSU5GT19NQVhfUElQRVMgMHgxMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0lORk9fVElNRVNUQU1QIDB4MTEKICNkZWZpbmUgUkFERU9OX0lORk9fTUFYX1NFIDB4MTIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJBREVPTl9JTkZPX01BWF9TSF9QRVJfU0UgMHgxMwogI2RlZmluZSBSQURFT05fSU5GT19GQVNURkJfV09SS0lORyAweDE0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSQURFT05fSU5GT19SSU5HX1dPUktJTkcgMHgxNQogI2RlZmluZSBSQURFT05fSU5GT19TSV9USUxFX01PREVfQVJSQVkgMHgxNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0lORk9fU0lfQ1BfRE1BX0NPTVBVVEUgMHgxNwogI2RlZmluZSBSQURFT05fSU5GT19DSUtfTUFDUk9USUxFX01PREVfQVJSQVkgMHgxOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkFERU9OX0lORk9fU0lfQkFDS0VORF9FTkFCTEVEX01BU0sgMHgxOQogI2RlZmluZSBSQURFT05fSU5GT19NQVhfU0NMSyAweDFhCisjZGVmaW5lIFJBREVPTl9JTkZPX1ZDRV9GV19WRVJTSU9OIDB4MWIKKyNkZWZpbmUgUkFERU9OX0lORk9fVkNFX0ZCX1ZFUlNJT04gMHgxYworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUkFERU9OX0lORk9fTlVNX0JZVEVTX01PVkVEIDB4MWQKKyNkZWZpbmUgUkFERU9OX0lORk9fVlJBTV9VU0FHRSAweDFlCisjZGVmaW5lIFJBREVPTl9JTkZPX0dUVF9VU0FHRSAweDFmCisjZGVmaW5lIFJBREVPTl9JTkZPX0FDVElWRV9DVV9DT1VOVCAweDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV9yYWRlb25faW5mbyB7Ci0gdWludDMyX3QgcmVxdWVzdDsKLSB1aW50MzJfdCBwYWQ7Ci0gdWludDY0X3QgdmFsdWU7CisgIHVpbnQzMl90IHJlcXVlc3Q7CisgIHVpbnQzMl90IHBhZDsKKyAgdWludDY0X3QgdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgU0lfVElMRV9NT0RFX0NPTE9SX0xJTkVBUl9BTElHTkVEIDgKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL3NhdmFnZV9kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL3NhdmFnZV9kcm0uaAppbmRleCA0YzFkMGY4Li5kYjg3M2I2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS9zYXZhZ2VfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vc2F2YWdlX2RybS5oCkBAIC0yOSwxNTYgKzI5LDE1NSBAQAogI2RlZmluZSBTQVZBR0VfTE9HX01JTl9URVhfUkVHSU9OX1NJWkUgMTYKICNlbmRpZgogdHlwZWRlZiBzdHJ1Y3QgX2RybV9zYXZhZ2Vfc2FyZWEgewotIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiB0ZXhMaXN0W1NBVkFHRV9OUl9URVhfSEVBUFNdW1NBVkFHRV9OUl9URVhfUkVHSU9OUyArCisgIHN0cnVjdCBkcm1fdGV4X3JlZ2lvbiB0ZXhMaXN0W1NBVkFHRV9OUl9URVhfSEVBUFNdW1NBVkFHRV9OUl9URVhfUkVHSU9OUyArIDFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSAxXTsKLSB1bnNpZ25lZCBpbnQgdGV4QWdlW1NBVkFHRV9OUl9URVhfSEVBUFNdOwotIGludCBjdHhPd25lcjsKLX0gZHJtX3NhdmFnZV9zYXJlYV90LCAqZHJtX3NhdmFnZV9zYXJlYV9wdHI7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBpbnQgdGV4QWdlW1NBVkFHRV9OUl9URVhfSEVBUFNdOworICBpbnQgY3R4T3duZXI7Cit9IGRybV9zYXZhZ2Vfc2FyZWFfdCwgKiBkcm1fc2F2YWdlX3NhcmVhX3B0cjsKICNkZWZpbmUgRFJNX1NBVkFHRV9CQ0lfSU5JVCAweDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fU0FWQUdFX0JDSV9DTURCVUYgMHgwMQogI2RlZmluZSBEUk1fU0FWQUdFX0JDSV9FVkVOVF9FTUlUIDB4MDIKICNkZWZpbmUgRFJNX1NBVkFHRV9CQ0lfRVZFTlRfV0FJVCAweDAzCisjZGVmaW5lIERSTV9JT0NUTF9TQVZBR0VfQkNJX0lOSVQgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1NBVkFHRV9CQ0lfSU5JVCwgZHJtX3NhdmFnZV9pbml0X3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBEUk1fSU9DVExfU0FWQUdFX0JDSV9JTklUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0FWQUdFX0JDSV9JTklULCBkcm1fc2F2YWdlX2luaXRfdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1NBVkFHRV9CQ0lfQ01EQlVGIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0FWQUdFX0JDSV9DTURCVUYsIGRybV9zYXZhZ2VfY21kYnVmX3QpCisjZGVmaW5lIERSTV9JT0NUTF9TQVZBR0VfQkNJX0NNREJVRiBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0FWQUdFX0JDSV9DTURCVUYsIGRybV9zYXZhZ2VfY21kYnVmX3QpCiAjZGVmaW5lIERSTV9JT0NUTF9TQVZBR0VfQkNJX0VWRU5UX0VNSVQgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9TQVZBR0VfQkNJX0VWRU5UX0VNSVQsIGRybV9zYXZhZ2VfZXZlbnRfZW1pdF90KQotI2RlZmluZSBEUk1fSU9DVExfU0FWQUdFX0JDSV9FVkVOVF9XQUlUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0FWQUdFX0JDSV9FVkVOVF9XQUlULCBkcm1fc2F2YWdlX2V2ZW50X3dhaXRfdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERSTV9JT0NUTF9TQVZBR0VfQkNJX0VWRU5UX1dBSVQgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1NBVkFHRV9CQ0lfRVZFTlRfV0FJVCwgZHJtX3NhdmFnZV9ldmVudF93YWl0X3QpCiAjZGVmaW5lIFNBVkFHRV9ETUFfUENJIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBVkFHRV9ETUFfQUdQIDMKIHR5cGVkZWYgc3RydWN0IGRybV9zYXZhZ2VfaW5pdCB7Ci0gZW51bSB7CisgIGVudW0geworICAgIFNBVkFHRV9JTklUX0JDSSA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNBVkFHRV9JTklUX0JDSSA9IDEsCi0gU0FWQUdFX0NMRUFOVVBfQkNJID0gMgotIH0gZnVuYzsKLSB1bnNpZ25lZCBpbnQgc2FyZWFfcHJpdl9vZmZzZXQ7CisgICAgU0FWQUdFX0NMRUFOVVBfQkNJID0gMgorICB9IGZ1bmM7CisgIHVuc2lnbmVkIGludCBzYXJlYV9wcml2X29mZnNldDsKKyAgdW5zaWduZWQgaW50IGNvYl9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY29iX3NpemU7Ci0gdW5zaWduZWQgaW50IGJjaV90aHJlc2hvbGRfbG8sIGJjaV90aHJlc2hvbGRfaGk7Ci0gdW5zaWduZWQgaW50IGRtYV90eXBlOwotIHVuc2lnbmVkIGludCBmYl9icHA7CisgIHVuc2lnbmVkIGludCBiY2lfdGhyZXNob2xkX2xvLCBiY2lfdGhyZXNob2xkX2hpOworICB1bnNpZ25lZCBpbnQgZG1hX3R5cGU7CisgIHVuc2lnbmVkIGludCBmYl9icHA7CisgIHVuc2lnbmVkIGludCBmcm9udF9vZmZzZXQsIGZyb250X3BpdGNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZnJvbnRfb2Zmc2V0LCBmcm9udF9waXRjaDsKLSB1bnNpZ25lZCBpbnQgYmFja19vZmZzZXQsIGJhY2tfcGl0Y2g7Ci0gdW5zaWduZWQgaW50IGRlcHRoX2JwcDsKLSB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0LCBkZXB0aF9waXRjaDsKKyAgdW5zaWduZWQgaW50IGJhY2tfb2Zmc2V0LCBiYWNrX3BpdGNoOworICB1bnNpZ25lZCBpbnQgZGVwdGhfYnBwOworICB1bnNpZ25lZCBpbnQgZGVwdGhfb2Zmc2V0LCBkZXB0aF9waXRjaDsKKyAgdW5zaWduZWQgaW50IHRleHR1cmVfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdGV4dHVyZV9vZmZzZXQ7Ci0gdW5zaWduZWQgaW50IHRleHR1cmVfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIHN0YXR1c19vZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBidWZmZXJzX29mZnNldDsKKyAgdW5zaWduZWQgaW50IHRleHR1cmVfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBzdGF0dXNfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGJ1ZmZlcnNfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGFncF90ZXh0dXJlc19vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgYWdwX3RleHR1cmVzX29mZnNldDsKLSB1bnNpZ25lZCBsb25nIGNtZF9kbWFfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGNtZF9kbWFfb2Zmc2V0OwogfSBkcm1fc2F2YWdlX2luaXRfdDsKIHR5cGVkZWYgdW5pb24gZHJtX3NhdmFnZV9jbWRfaGVhZGVyIGRybV9zYXZhZ2VfY21kX2hlYWRlcl90OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGRybV9zYXZhZ2VfY21kYnVmIHsKLSBkcm1fc2F2YWdlX2NtZF9oZWFkZXJfdCBfX3VzZXIgKmNtZF9hZGRyOwotIHVuc2lnbmVkIGludCBzaXplOwotIHVuc2lnbmVkIGludCBkbWFfaWR4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZGlzY2FyZDsKLSB1bnNpZ25lZCBpbnQgX191c2VyICp2Yl9hZGRyOwotIHVuc2lnbmVkIGludCB2Yl9zaXplOwotIHVuc2lnbmVkIGludCB2Yl9zdHJpZGU7CisgIGRybV9zYXZhZ2VfY21kX2hlYWRlcl90IF9fdXNlciAqIGNtZF9hZGRyOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgdW5zaWduZWQgaW50IGRtYV9pZHg7CisgIGludCBkaXNjYXJkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBfX3VzZXIgKmJveF9hZGRyOwotIHVuc2lnbmVkIGludCBuYm94OworICB1bnNpZ25lZCBpbnQgX191c2VyICogdmJfYWRkcjsKKyAgdW5zaWduZWQgaW50IHZiX3NpemU7CisgIHVuc2lnbmVkIGludCB2Yl9zdHJpZGU7CisgIHN0cnVjdCBkcm1fY2xpcF9yZWN0IF9fdXNlciAqIGJveF9hZGRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IG5ib3g7CiB9IGRybV9zYXZhZ2VfY21kYnVmX3Q7CiAjZGVmaW5lIFNBVkFHRV9XQUlUXzJEIDB4MQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FWQUdFX1dBSVRfM0QgMHgyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQVZBR0VfV0FJVF9JUlEgMHg0CiB0eXBlZGVmIHN0cnVjdCBkcm1fc2F2YWdlX2V2ZW50IHsKLSB1bnNpZ25lZCBpbnQgY291bnQ7CisgIHVuc2lnbmVkIGludCBjb3VudDsKKyAgdW5zaWduZWQgaW50IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZmxhZ3M7CiB9IGRybV9zYXZhZ2VfZXZlbnRfZW1pdF90LCBkcm1fc2F2YWdlX2V2ZW50X3dhaXRfdDsKICNkZWZpbmUgU0FWQUdFX0NNRF9TVEFURSAwCiAjZGVmaW5lIFNBVkFHRV9DTURfRE1BX1BSSU0gMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FWQUdFX0NNRF9WQl9QUklNIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBVkFHRV9DTURfRE1BX0lEWCAzCiAjZGVmaW5lIFNBVkFHRV9DTURfVkJfSURYIDQKICNkZWZpbmUgU0FWQUdFX0NNRF9DTEVBUiA1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQVZBR0VfQ01EX1NXQVAgNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FWQUdFX1BSSU1fVFJJTElTVCAwCiAjZGVmaW5lIFNBVkFHRV9QUklNX1RSSVNUUklQIDEKICNkZWZpbmUgU0FWQUdFX1BSSU1fVFJJRkFOIDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBVkFHRV9QUklNX1RSSUxJU1RfMjAxIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBVkFHRV9TS0lQX1ogMHgwMQogI2RlZmluZSBTQVZBR0VfU0tJUF9XIDB4MDIKICNkZWZpbmUgU0FWQUdFX1NLSVBfQzAgMHgwNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FWQUdFX1NLSVBfQzEgMHgwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FWQUdFX1NLSVBfUzAgMHgxMAogI2RlZmluZSBTQVZBR0VfU0tJUF9UMCAweDIwCiAjZGVmaW5lIFNBVkFHRV9TS0lQX1NUMCAweDMwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQVZBR0VfU0tJUF9TMSAweDQwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQVZBR0VfU0tJUF9UMSAweDgwCiAjZGVmaW5lIFNBVkFHRV9TS0lQX1NUMSAweGMwCiAjZGVmaW5lIFNBVkFHRV9TS0lQX0FMTF9TM0QgMHgzZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FWQUdFX1NLSVBfQUxMX1M0IDB4ZmYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBVkFHRV9GUk9OVCAweDEKICNkZWZpbmUgU0FWQUdFX0JBQ0sgMHgyCiAjZGVmaW5lIFNBVkFHRV9ERVBUSCAweDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB1bmlvbiBkcm1fc2F2YWdlX2NtZF9oZWFkZXIgewotIHN0cnVjdCB7Ci0gdW5zaWduZWQgY2hhciBjbWQ7Ci0gdW5zaWduZWQgY2hhciBwYWQwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBwYWQxOwotIHVuc2lnbmVkIHNob3J0IHBhZDI7Ci0gdW5zaWduZWQgc2hvcnQgcGFkMzsKLSB9IGNtZDsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZDsKKyAgICB1bnNpZ25lZCBjaGFyIHBhZDA7CisgICAgdW5zaWduZWQgc2hvcnQgcGFkMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNtZDsKLSB1bnNpZ25lZCBjaGFyIGdsb2JhbDsKLSB1bnNpZ25lZCBzaG9ydCBjb3VudDsKKyAgICB1bnNpZ25lZCBzaG9ydCBwYWQyOworICAgIHVuc2lnbmVkIHNob3J0IHBhZDM7CisgIH0gY21kOworICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzdGFydDsKLSB1bnNpZ25lZCBzaG9ydCBwYWQzOwotIH0gc3RhdGU7Ci0gc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZDsKKyAgICB1bnNpZ25lZCBjaGFyIGdsb2JhbDsKKyAgICB1bnNpZ25lZCBzaG9ydCBjb3VudDsKKyAgICB1bnNpZ25lZCBzaG9ydCBzdGFydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjbWQ7Ci0gdW5zaWduZWQgY2hhciBwcmltOwotIHVuc2lnbmVkIHNob3J0IHNraXA7Ci0gdW5zaWduZWQgc2hvcnQgY291bnQ7CisgICAgdW5zaWduZWQgc2hvcnQgcGFkMzsKKyAgfSBzdGF0ZTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgc3RhcnQ7Ci0gfSBwcmltOwotIHN0cnVjdCB7Ci0gdW5zaWduZWQgY2hhciBjbWQ7CisgICAgdW5zaWduZWQgY2hhciBwcmltOworICAgIHVuc2lnbmVkIHNob3J0IHNraXA7CisgICAgdW5zaWduZWQgc2hvcnQgY291bnQ7CisgICAgdW5zaWduZWQgc2hvcnQgc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcHJpbTsKLSB1bnNpZ25lZCBzaG9ydCBza2lwOwotIHVuc2lnbmVkIHNob3J0IGNvdW50OwotIHVuc2lnbmVkIHNob3J0IHBhZDM7CisgIH0gcHJpbTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBjaGFyIGNtZDsKKyAgICB1bnNpZ25lZCBjaGFyIHByaW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gaWR4OwotIHN0cnVjdCB7Ci0gdW5zaWduZWQgY2hhciBjbWQ7Ci0gdW5zaWduZWQgY2hhciBwYWQwOworICAgIHVuc2lnbmVkIHNob3J0IHNraXA7CisgICAgdW5zaWduZWQgc2hvcnQgY291bnQ7CisgICAgdW5zaWduZWQgc2hvcnQgcGFkMzsKKyAgfSBpZHg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHBhZDE7Ci0gdW5zaWduZWQgaW50IGZsYWdzOwotIH0gY2xlYXIwOwotIHN0cnVjdCB7CisgIHN0cnVjdCB7CisgICAgdW5zaWduZWQgY2hhciBjbWQ7CisgICAgdW5zaWduZWQgY2hhciBwYWQwOworICAgIHVuc2lnbmVkIHNob3J0IHBhZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBtYXNrOwotIHVuc2lnbmVkIGludCB2YWx1ZTsKLSB9IGNsZWFyMTsKKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7CisgIH0gY2xlYXIwOworICBzdHJ1Y3QgeworICAgIHVuc2lnbmVkIGludCBtYXNrOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICB1bnNpZ25lZCBpbnQgdmFsdWU7CisgIH0gY2xlYXIxOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2RybS9zaXNfZHJtLmggYi9saWJjL2tlcm5lbC91YXBpL2RybS9zaXNfZHJtLmgKaW5kZXggNDM3ODlhYy4uNWE5ZTg2OCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vc2lzX2RybS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvZHJtL3Npc19kcm0uaApAQCAtMjksMzAgKzI5LDMwIEBACiAjZGVmaW5lIERSTV9TSVNfQUdQX0ZSRUUgMHgxNQogI2RlZmluZSBEUk1fU0lTX0ZCX0lOSVQgMHgxNgogI2RlZmluZSBEUk1fSU9DVExfU0lTX0ZCX0FMTE9DIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0lTX0ZCX0FMTE9DLCBkcm1fc2lzX21lbV90KQotI2RlZmluZSBEUk1fSU9DVExfU0lTX0ZCX0ZSRUUgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9TSVNfRkJfRlJFRSwgZHJtX3Npc19tZW1fdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1NJU19GQl9GUkVFIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9TSVNfRkJfRlJFRSwgZHJtX3Npc19tZW1fdCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9JT0NUTF9TSVNfQUdQX0lOSVQgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9TSVNfQUdQX0lOSVQsIGRybV9zaXNfYWdwX3QpCiAjZGVmaW5lIERSTV9JT0NUTF9TSVNfQUdQX0FMTE9DIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0lTX0FHUF9BTExPQywgZHJtX3Npc19tZW1fdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1NJU19BR1BfRlJFRSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1NJU19BR1BfRlJFRSwgZHJtX3Npc19tZW1fdCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1NJU19GQl9JTklUIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0lTX0ZCX0lOSVQsIGRybV9zaXNfZmJfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1NJU19BR1BfRlJFRSBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fU0lTX0FHUF9GUkVFLCBkcm1fc2lzX21lbV90KQorI2RlZmluZSBEUk1fSU9DVExfU0lTX0ZCX0lOSVQgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1NJU19GQl9JTklULCBkcm1fc2lzX2ZiX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIGludCBjb250ZXh0OwotIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgc2l6ZTsKKyAgaW50IGNvbnRleHQ7CisgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgZnJlZTsKKyAgdW5zaWduZWQgbG9uZyBmcmVlOwogfSBkcm1fc2lzX21lbV90OwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBzaXplOworICB1bnNpZ25lZCBsb25nIG9mZnNldCwgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV9zaXNfYWdwX3Q7CiB0eXBlZGVmIHN0cnVjdCB7Ci0gdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNpemU7CisgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBzaXplOwogfSBkcm1fc2lzX2ZiX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNpc19maWxlX3ByaXZhdGUgewotIHN0cnVjdCBsaXN0X2hlYWQgb2JqX2xpc3Q7CisgIHN0cnVjdCBsaXN0X2hlYWQgb2JqX2xpc3Q7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vdGVncmFfZHJtLmggYi9saWJjL2tlcm5lbC91YXBpL2RybS90ZWdyYV9kcm0uaAppbmRleCA5MWQ3MWJlLi5lMjA3YzBjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS90ZWdyYV9kcm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2RybS90ZWdyYV9kcm0uaApAQCAtMjMsMTExICsyMywxNDEgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9URUdSQV9HRU1fQ1JFQVRFX0JPVFRPTV9VUCAoMSA8PCAxKQogc3RydWN0IGRybV90ZWdyYV9nZW1fY3JlYXRlIHsKLSBfX3U2NCBzaXplOwotIF9fdTMyIGZsYWdzOworICBfX3U2NCBzaXplOworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFuZGxlOworICBfX3UzMiBoYW5kbGU7CiB9Owogc3RydWN0IGRybV90ZWdyYV9nZW1fbW1hcCB7Ci0gX191MzIgaGFuZGxlOworICBfX3UzMiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9mZnNldDsKKyAgX191MzIgb2Zmc2V0OwogfTsKIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3JlYWQgewotIF9fdTMyIGlkOworICBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdmFsdWU7CisgIF9fdTMyIHZhbHVlOwogfTsKIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X2luY3IgewotIF9fdTMyIGlkOworICBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGFkOworICBfX3UzMiBwYWQ7CiB9Owogc3RydWN0IGRybV90ZWdyYV9zeW5jcHRfd2FpdCB7Ci0gX191MzIgaWQ7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0aHJlc2g7Ci0gX191MzIgdGltZW91dDsKLSBfX3UzMiB2YWx1ZTsKKyAgX191MzIgdGhyZXNoOworICBfX3UzMiB0aW1lb3V0OworICBfX3UzMiB2YWx1ZTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fVEVHUkFfTk9fVElNRU9VVCAoMHhmZmZmZmZmZikKIHN0cnVjdCBkcm1fdGVncmFfb3Blbl9jaGFubmVsIHsKLSBfX3UzMiBjbGllbnQ7Ci0gX191MzIgcGFkOworICBfX3UzMiBjbGllbnQ7CisgIF9fdTMyIHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgY29udGV4dDsKKyAgX191NjQgY29udGV4dDsKIH07CiBzdHJ1Y3QgZHJtX3RlZ3JhX2Nsb3NlX2NoYW5uZWwgewotIF9fdTY0IGNvbnRleHQ7CisgIF9fdTY0IGNvbnRleHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fdGVncmFfZ2V0X3N5bmNwdCB7Ci0gX191NjQgY29udGV4dDsKLSBfX3UzMiBpbmRleDsKKyAgX191NjQgY29udGV4dDsKKyAgX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlkOworICBfX3UzMiBpZDsKIH07CiBzdHJ1Y3QgZHJtX3RlZ3JhX2dldF9zeW5jcHRfYmFzZSB7Ci0gX191NjQgY29udGV4dDsKKyAgX191NjQgY29udGV4dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3luY3B0OwotIF9fdTMyIGlkOworICBfX3UzMiBzeW5jcHQ7CisgIF9fdTMyIGlkOwogfTsKIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWQ7Ci0gX191MzIgaW5jcnM7CisgIF9fdTMyIGlkOworICBfX3UzMiBpbmNyczsKIH07CiBzdHJ1Y3QgZHJtX3RlZ3JhX2NtZGJ1ZiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBvZmZzZXQ7Ci0gX191MzIgd29yZHM7Ci0gX191MzIgcGFkOworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIG9mZnNldDsKKyAgX191MzIgd29yZHM7CisgIF9fdTMyIHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV90ZWdyYV9yZWxvYyB7Ci0gc3RydWN0IHsKLSBfX3UzMiBoYW5kbGU7CisgIHN0cnVjdCB7CisgICAgX191MzIgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBvZmZzZXQ7Ci0gfSBjbWRidWY7Ci0gc3RydWN0IHsKLSBfX3UzMiBoYW5kbGU7CisgICAgX191MzIgb2Zmc2V0OworICB9IGNtZGJ1ZjsKKyAgc3RydWN0IHsKKyAgICBfX3UzMiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9mZnNldDsKLSB9IHRhcmdldDsKLSBfX3UzMiBzaGlmdDsKLSBfX3UzMiBwYWQ7CisgICAgX191MzIgb2Zmc2V0OworICB9IHRhcmdldDsKKyAgX191MzIgc2hpZnQ7CisgIF9fdTMyIHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV90ZWdyYV93YWl0Y2hrIHsKLSBfX3UzMiBoYW5kbGU7Ci0gX191MzIgb2Zmc2V0OworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3luY3B0OwotIF9fdTMyIHRocmVzaDsKKyAgX191MzIgc3luY3B0OworICBfX3UzMiB0aHJlc2g7CiB9Owogc3RydWN0IGRybV90ZWdyYV9zdWJtaXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjb250ZXh0OwotIF9fdTMyIG51bV9zeW5jcHRzOwotIF9fdTMyIG51bV9jbWRidWZzOwotIF9fdTMyIG51bV9yZWxvY3M7CisgIF9fdTY0IGNvbnRleHQ7CisgIF9fdTMyIG51bV9zeW5jcHRzOworICBfX3UzMiBudW1fY21kYnVmczsKKyAgX191MzIgbnVtX3JlbG9jczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbnVtX3dhaXRjaGtzOwotIF9fdTMyIHdhaXRjaGtfbWFzazsKLSBfX3UzMiB0aW1lb3V0OwotIF9fdTMyIHBhZDsKKyAgX191MzIgbnVtX3dhaXRjaGtzOworICBfX3UzMiB3YWl0Y2hrX21hc2s7CisgIF9fdTMyIHRpbWVvdXQ7CisgIF9fdTY0IHN5bmNwdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHN5bmNwdHM7Ci0gX191NjQgY21kYnVmczsKLSBfX3U2NCByZWxvY3M7Ci0gX191NjQgd2FpdGNoa3M7CisgIF9fdTY0IGNtZGJ1ZnM7CisgIF9fdTY0IHJlbG9jczsKKyAgX191NjQgd2FpdGNoa3M7CisgIF9fdTMyIGZlbmNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmZW5jZTsKLSBfX3UzMiByZXNlcnZlZFs1XTsKKyAgX191MzIgcmVzZXJ2ZWRbNV07Cit9OworI2RlZmluZSBEUk1fVEVHUkFfR0VNX1RJTElOR19NT0RFX1BJVENIIDAKKyNkZWZpbmUgRFJNX1RFR1JBX0dFTV9USUxJTkdfTU9ERV9USUxFRCAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fVEVHUkFfR0VNX1RJTElOR19NT0RFX0JMT0NLIDIKK3N0cnVjdCBkcm1fdGVncmFfZ2VtX3NldF90aWxpbmcgeworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIG1vZGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiB2YWx1ZTsKKyAgX191MzIgcGFkOworfTsKK3N0cnVjdCBkcm1fdGVncmFfZ2VtX2dldF90aWxpbmcgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgaGFuZGxlOworICBfX3UzMiBtb2RlOworICBfX3UzMiB2YWx1ZTsKKyAgX191MzIgcGFkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CisjZGVmaW5lIERSTV9URUdSQV9HRU1fQk9UVE9NX1VQICgxIDw8IDApCisjZGVmaW5lIERSTV9URUdSQV9HRU1fRkxBR1MgKERSTV9URUdSQV9HRU1fQk9UVE9NX1VQKQorc3RydWN0IGRybV90ZWdyYV9nZW1fc2V0X2ZsYWdzIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgZmxhZ3M7Cit9Oworc3RydWN0IGRybV90ZWdyYV9nZW1fZ2V0X2ZsYWdzIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgZmxhZ3M7CiB9OwogI2RlZmluZSBEUk1fVEVHUkFfR0VNX0NSRUFURSAweDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTQyLDYgKzE3MiwxMSBAQAogI2RlZmluZSBEUk1fVEVHUkFfU1VCTUlUIDB4MDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9URUdSQV9HRVRfU1lOQ1BUX0JBU0UgMHgwOQorI2RlZmluZSBEUk1fVEVHUkFfR0VNX1NFVF9USUxJTkcgMHgwYQorI2RlZmluZSBEUk1fVEVHUkFfR0VNX0dFVF9USUxJTkcgMHgwYgorI2RlZmluZSBEUk1fVEVHUkFfR0VNX1NFVF9GTEFHUyAweDBjCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBEUk1fVEVHUkFfR0VNX0dFVF9GTEFHUyAweDBkCiAjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9HRU1fQ1JFQVRFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfR0VNX0NSRUFURSwgc3RydWN0IGRybV90ZWdyYV9nZW1fY3JlYXRlKQogI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfR0VNX01NQVAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9URUdSQV9HRU1fTU1BUCwgc3RydWN0IGRybV90ZWdyYV9nZW1fbW1hcCkKICNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX1NZTkNQVF9SRUFEIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfU1lOQ1BUX1JFQUQsIHN0cnVjdCBkcm1fdGVncmFfc3luY3B0X3JlYWQpCkBAIC0xNTQsNSArMTg5LDEwIEBACiAjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9HRVRfU1lOQ1BUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfR0VUX1NZTkNQVCwgc3RydWN0IGRybV90ZWdyYV9nZXRfc3luY3B0KQogI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfU1VCTUlUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfU1VCTUlULCBzdHJ1Y3QgZHJtX3RlZ3JhX3N1Ym1pdCkKICNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX0dFVF9TWU5DUFRfQkFTRSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX0dFVF9TWU5DUFRfQkFTRSwgc3RydWN0IGRybV90ZWdyYV9nZXRfc3luY3B0X2Jhc2UpCisjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9HRU1fU0VUX1RJTElORyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX0dFTV9TRVRfVElMSU5HLCBzdHJ1Y3QgZHJtX3RlZ3JhX2dlbV9zZXRfdGlsaW5nKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRFJNX0lPQ1RMX1RFR1JBX0dFTV9HRVRfVElMSU5HIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfR0VNX0dFVF9USUxJTkcsIHN0cnVjdCBkcm1fdGVncmFfZ2VtX2dldF90aWxpbmcpCisjZGVmaW5lIERSTV9JT0NUTF9URUdSQV9HRU1fU0VUX0ZMQUdTIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVEVHUkFfR0VNX1NFVF9GTEFHUywgc3RydWN0IGRybV90ZWdyYV9nZW1fc2V0X2ZsYWdzKQorI2RlZmluZSBEUk1fSU9DVExfVEVHUkFfR0VNX0dFVF9GTEFHUyBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1RFR1JBX0dFTV9HRVRfRkxBR1MsIHN0cnVjdCBkcm1fdGVncmFfZ2VtX2dldF9mbGFncykKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvZHJtL3ZpYV9kcm0uaCBiL2xpYmMva2VybmVsL3VhcGkvZHJtL3ZpYV9kcm0uaAppbmRleCA1MzIxYTVkLi44YmUwODZjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2RybS92aWFfZHJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9kcm0vdmlhX2RybS5oCkBAIC0yOCw3ICsyOCw3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSUFfTlJfWFZNQ19MT0NLUyA1CiAjZGVmaW5lIFZJQV9NQVhfQ0FDSEVMSU5FX1NJWkUgNjQKLSNkZWZpbmUgWFZNQ0xPQ0tQVFIoc2FQcml2LGxvY2tObykgICAoKHZvbGF0aWxlIHN0cnVjdCBkcm1faHdfbG9jayAqKSgoKCgodW5zaWduZWQgbG9uZykgKHNhUHJpdiktPlh2TUNMb2NrQXJlYSkgKyAgIChWSUFfTUFYX0NBQ0hFTElORV9TSVpFIC0gMSkpICYgICB+KFZJQV9NQVhfQ0FDSEVMSU5FX1NJWkUgLSAxKSkgKyAgIFZJQV9NQVhfQ0FDSEVMSU5FX1NJWkUqKGxvY2tObykpKQorI2RlZmluZSBYVk1DTE9DS1BUUihzYVByaXYsbG9ja05vKSAoKHZvbGF0aWxlIHN0cnVjdCBkcm1faHdfbG9jayAqKSAoKCgoKHVuc2lnbmVkIGxvbmcpIChzYVByaXYpLT5Ydk1DTG9ja0FyZWEpICsgKFZJQV9NQVhfQ0FDSEVMSU5FX1NJWkUgLSAxKSkgJiB+KFZJQV9NQVhfQ0FDSEVMSU5FX1NJWkUgLSAxKSkgKyBWSUFfTUFYX0NBQ0hFTElORV9TSVpFICogKGxvY2tObykpKQogI2RlZmluZSBWSUFfTlJfVEVYX1JFR0lPTlMgNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJQV9MT0dfTUlOX1RFWF9SRUdJT05fU0laRSAxNgpAQCAtNjQsMjAgKzY0LDIwIEBACiAjZGVmaW5lIERSTV9WSUFfRE1BX0JMSVQgMHgwZQogI2RlZmluZSBEUk1fVklBX0JMSVRfU1lOQyAweDBmCiAjZGVmaW5lIERSTV9JT0NUTF9WSUFfQUxMT0NNRU0gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfQUxMT0NNRU0sIGRybV92aWFfbWVtX3QpCi0jZGVmaW5lIERSTV9JT0NUTF9WSUFfRlJFRU1FTSBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9GUkVFTUVNLCBkcm1fdmlhX21lbV90KQorI2RlZmluZSBEUk1fSU9DVExfVklBX0ZSRUVNRU0gRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9GUkVFTUVNLCBkcm1fdmlhX21lbV90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9BR1BfSU5JVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9BR1BfSU5JVCwgZHJtX3ZpYV9hZ3BfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9GQl9JTklUIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0ZCX0lOSVQsIGRybV92aWFfZmJfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9NQVBfSU5JVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9NQVBfSU5JVCwgZHJtX3ZpYV9pbml0X3QpCi0jZGVmaW5lIERSTV9JT0NUTF9WSUFfREVDX0ZVVEVYIERSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0RFQ19GVVRFWCwgZHJtX3ZpYV9mdXRleF90KQorI2RlZmluZSBEUk1fSU9DVExfVklBX0RFQ19GVVRFWCBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0RFQ19GVVRFWCwgZHJtX3ZpYV9mdXRleF90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9ETUFfSU5JVCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9ETUFfSU5JVCwgZHJtX3ZpYV9kbWFfaW5pdF90KQotI2RlZmluZSBEUk1fSU9DVExfVklBX0NNREJVRkZFUiBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9DTURCVUZGRVIsIGRybV92aWFfY21kYnVmZmVyX3QpCi0jZGVmaW5lIERSTV9JT0NUTF9WSUFfRkxVU0ggRFJNX0lPKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9GTFVTSCkKLSNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9QQ0lDTUQgRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfUENJQ01ELCBkcm1fdmlhX2NtZGJ1ZmZlcl90KQorI2RlZmluZSBEUk1fSU9DVExfVklBX0NNREJVRkZFUiBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0NNREJVRkZFUiwgZHJtX3ZpYV9jbWRidWZmZXJfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9GTFVTSCBEUk1fSU8oRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfRkxVU0gpCisjZGVmaW5lIERSTV9JT0NUTF9WSUFfUENJQ01EIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfUENJQ01ELCBkcm1fdmlhX2NtZGJ1ZmZlcl90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9DTURCVUZfU0laRSBEUk1fSU9XUiggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfQ01EQlVGX1NJWkUsICAgZHJtX3ZpYV9jbWRidWZfc2l6ZV90KQotI2RlZmluZSBEUk1fSU9DVExfVklBX1dBSVRfSVJRIERSTV9JT1dSKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9XQUlUX0lSUSwgZHJtX3ZpYV9pcnF3YWl0X3QpCisjZGVmaW5lIERSTV9JT0NUTF9WSUFfQ01EQlVGX1NJWkUgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfQ01EQlVGX1NJWkUsIGRybV92aWFfY21kYnVmX3NpemVfdCkKKyNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9XQUlUX0lSUSBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9XQUlUX0lSUSwgZHJtX3ZpYV9pcnF3YWl0X3QpCiAjZGVmaW5lIERSTV9JT0NUTF9WSUFfRE1BX0JMSVQgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9ETUFfQkxJVCwgZHJtX3ZpYV9kbWFibGl0X3QpCiAjZGVmaW5lIERSTV9JT0NUTF9WSUFfQkxJVF9TWU5DIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfQkxJVF9TWU5DLCBkcm1fdmlhX2JsaXRzeW5jX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtOTQsMTUyICs5NCwxNTIgQEAKICNkZWZpbmUgVklBX01FTV9NSVhFRCAzCiAjZGVmaW5lIFZJQV9NRU1fVU5LTk9XTiA0CiB0eXBlZGVmIHN0cnVjdCB7Ci0gX191MzIgb2Zmc2V0OworICBfX3UzMiBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNpemU7CisgIF9fdTMyIHNpemU7CiB9IGRybV92aWFfYWdwX3Q7CiB0eXBlZGVmIHN0cnVjdCB7Ci0gX191MzIgb2Zmc2V0OworICBfX3UzMiBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNpemU7CisgIF9fdTMyIHNpemU7CiB9IGRybV92aWFfZmJfdDsKIHR5cGVkZWYgc3RydWN0IHsKLSBfX3UzMiBjb250ZXh0OworICBfX3UzMiBjb250ZXh0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIF9fdTMyIHNpemU7Ci0gdW5zaWduZWQgbG9uZyBpbmRleDsKLSB1bnNpZ25lZCBsb25nIG9mZnNldDsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBpbmRleDsKKyAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBkcm1fdmlhX21lbV90OwogdHlwZWRlZiBzdHJ1Y3QgX2RybV92aWFfaW5pdCB7Ci0gZW51bSB7Ci0gVklBX0lOSVRfTUFQID0gMHgwMSwKKyAgZW51bSB7CisgICAgVklBX0lOSVRfTUFQID0gMHgwMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVklBX0NMRUFOVVBfTUFQID0gMHgwMgotIH0gZnVuYzsKLSB1bnNpZ25lZCBsb25nIHNhcmVhX3ByaXZfb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgZmJfb2Zmc2V0OworICAgIFZJQV9DTEVBTlVQX01BUCA9IDB4MDIKKyAgfSBmdW5jOworICB1bnNpZ25lZCBsb25nIHNhcmVhX3ByaXZfb2Zmc2V0OworICB1bnNpZ25lZCBsb25nIGZiX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBtbWlvX29mZnNldDsKLSB1bnNpZ25lZCBsb25nIGFncEFkZHI7CisgIHVuc2lnbmVkIGxvbmcgbW1pb19vZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgYWdwQWRkcjsKIH0gZHJtX3ZpYV9pbml0X3Q7CiB0eXBlZGVmIHN0cnVjdCBfZHJtX3ZpYV9mdXRleCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gewotIFZJQV9GVVRFWF9XQUlUID0gMHgwMCwKLSBWSUFfRlVURVhfV0FLRSA9IDBYMDEKLSB9IGZ1bmM7CisgIGVudW0geworICAgIFZJQV9GVVRFWF9XQUlUID0gMHgwMCwKKyAgICBWSUFfRlVURVhfV0FLRSA9IDBYMDEKKyAgfSBmdW5jOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtczsKLSBfX3UzMiBsb2NrOwotIF9fdTMyIHZhbDsKKyAgX191MzIgbXM7CisgIF9fdTMyIGxvY2s7CisgIF9fdTMyIHZhbDsKIH0gZHJtX3ZpYV9mdXRleF90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IF9kcm1fdmlhX2RtYV9pbml0IHsKLSBlbnVtIHsKLSBWSUFfSU5JVF9ETUEgPSAweDAxLAotIFZJQV9DTEVBTlVQX0RNQSA9IDB4MDIsCisgIGVudW0geworICAgIFZJQV9JTklUX0RNQSA9IDB4MDEsCisgICAgVklBX0NMRUFOVVBfRE1BID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVklBX0RNQV9JTklUSUFMSVpFRCA9IDB4MDMKLSB9IGZ1bmM7Ci0gdW5zaWduZWQgbG9uZyBvZmZzZXQ7Ci0gdW5zaWduZWQgbG9uZyBzaXplOworICAgIFZJQV9ETUFfSU5JVElBTElaRUQgPSAweDAzCisgIH0gZnVuYzsKKyAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7CisgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyByZWdfcGF1c2VfYWRkcjsKKyAgdW5zaWduZWQgbG9uZyByZWdfcGF1c2VfYWRkcjsKIH0gZHJtX3ZpYV9kbWFfaW5pdF90OwogdHlwZWRlZiBzdHJ1Y3QgX2RybV92aWFfY21kYnVmZmVyIHsKLSBjaGFyIF9fdXNlciAqYnVmOworICBjaGFyIF9fdXNlciAqIGJ1ZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBzaXplOworICB1bnNpZ25lZCBsb25nIHNpemU7CiB9IGRybV92aWFfY21kYnVmZmVyX3Q7CiB0eXBlZGVmIHN0cnVjdCBfZHJtX3ZpYV90ZXhfcmVnaW9uIHsKLSB1bnNpZ25lZCBjaGFyIG5leHQsIHByZXY7CisgIHVuc2lnbmVkIGNoYXIgbmV4dCwgcHJldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBpblVzZTsKLSBpbnQgYWdlOworICB1bnNpZ25lZCBjaGFyIGluVXNlOworICBpbnQgYWdlOwogfSBkcm1fdmlhX3RleF9yZWdpb25fdDsKIHR5cGVkZWYgc3RydWN0IF9kcm1fdmlhX3NhcmVhIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGRpcnR5OwotIHVuc2lnbmVkIGludCBuYm94OwotIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGJveGVzW1ZJQV9OUl9TQVJFQV9DTElQUkVDVFNdOwotIGRybV92aWFfdGV4X3JlZ2lvbl90IHRleExpc3RbVklBX05SX1RFWF9SRUdJT05TICsgMV07CisgIHVuc2lnbmVkIGludCBkaXJ0eTsKKyAgdW5zaWduZWQgaW50IG5ib3g7CisgIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGJveGVzW1ZJQV9OUl9TQVJFQV9DTElQUkVDVFNdOworICBkcm1fdmlhX3RleF9yZWdpb25fdCB0ZXhMaXN0W1ZJQV9OUl9URVhfUkVHSU9OUyArIDFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdGV4QWdlOwotIGludCBjdHhPd25lcjsKLSBpbnQgdmVydGV4UHJpbTsKLSBjaGFyIFh2TUNMb2NrQXJlYVtWSUFfTUFYX0NBQ0hFTElORV9TSVpFICogKFZJQV9OUl9YVk1DX0xPQ0tTICsgMSldOworICBpbnQgdGV4QWdlOworICBpbnQgY3R4T3duZXI7CisgIGludCB2ZXJ0ZXhQcmltOworICBjaGFyIFh2TUNMb2NrQXJlYVtWSUFfTUFYX0NBQ0hFTElORV9TSVpFICogKFZJQV9OUl9YVk1DX0xPQ0tTICsgMSldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgWHZNQ0Rpc3BsYXlpbmdbVklBX05SX1hWTUNfUE9SVFNdOwotIHVuc2lnbmVkIGludCBYdk1DU3ViUGljT25bVklBX05SX1hWTUNfUE9SVFNdOwotIHVuc2lnbmVkIGludCBYdk1DQ3R4Tm9HcmFiYmVkOwotIHVuc2lnbmVkIGludCBwZkN1cnJlbnRPZmZzZXQ7CisgIHVuc2lnbmVkIGludCBYdk1DRGlzcGxheWluZ1tWSUFfTlJfWFZNQ19QT1JUU107CisgIHVuc2lnbmVkIGludCBYdk1DU3ViUGljT25bVklBX05SX1hWTUNfUE9SVFNdOworICB1bnNpZ25lZCBpbnQgWHZNQ0N0eE5vR3JhYmJlZDsKKyAgdW5zaWduZWQgaW50IHBmQ3VycmVudE9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGRybV92aWFfc2FyZWFfdDsKIHR5cGVkZWYgc3RydWN0IF9kcm1fdmlhX2NtZGJ1Zl9zaXplIHsKLSBlbnVtIHsKLSBWSUFfQ01EQlVGX1NQQUNFID0gMHgwMSwKKyAgZW51bSB7CisgICAgVklBX0NNREJVRl9TUEFDRSA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZJQV9DTURCVUZfTEFHID0gMHgwMgotIH0gZnVuYzsKLSBpbnQgd2FpdDsKLSBfX3UzMiBzaXplOworICAgIFZJQV9DTURCVUZfTEFHID0gMHgwMgorICB9IGZ1bmM7CisgIGludCB3YWl0OworICBfX3UzMiBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gZHJtX3ZpYV9jbWRidWZfc2l6ZV90OwogdHlwZWRlZiBlbnVtIHsKLSBWSUFfSVJRX0FCU09MVVRFID0gMHgwLAotIFZJQV9JUlFfUkVMQVRJVkUgPSAweDEsCisgIFZJQV9JUlFfQUJTT0xVVEUgPSAweDAsCisgIFZJQV9JUlFfUkVMQVRJVkUgPSAweDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZJQV9JUlFfU0lHTkFMID0gMHgxMDAwMDAwMCwKLSBWSUFfSVJRX0ZPUkNFX1NFUVVFTkNFID0gMHgyMDAwMDAwMAorICBWSUFfSVJRX1NJR05BTCA9IDB4MTAwMDAwMDAsCisgIFZJQV9JUlFfRk9SQ0VfU0VRVUVOQ0UgPSAweDIwMDAwMDAwCiB9IHZpYV9pcnFfc2VxX3R5cGVfdDsKICNkZWZpbmUgVklBX0lSUV9GTEFHU19NQVNLIDB4RjAwMDAwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGRybV92aWFfaXJxcyB7Ci0gZHJtX3ZpYV9pcnFfaHF2MCA9IDAsCi0gZHJtX3ZpYV9pcnFfaHF2MSwKLSBkcm1fdmlhX2lycV9kbWEwX2RkLAorICBkcm1fdmlhX2lycV9ocXYwID0gMCwKKyAgZHJtX3ZpYV9pcnFfaHF2MSwKKyAgZHJtX3ZpYV9pcnFfZG1hMF9kZCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZHJtX3ZpYV9pcnFfZG1hMF90ZCwKLSBkcm1fdmlhX2lycV9kbWExX2RkLAotIGRybV92aWFfaXJxX2RtYTFfdGQsCi0gZHJtX3ZpYV9pcnFfbnVtCisgIGRybV92aWFfaXJxX2RtYTBfdGQsCisgIGRybV92aWFfaXJxX2RtYTFfZGQsCisgIGRybV92aWFfaXJxX2RtYTFfdGQsCisgIGRybV92aWFfaXJxX251bQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX3ZpYV93YWl0X2lycV9yZXF1ZXN0IHsKLSB1bnNpZ25lZCBpcnE7Ci0gdmlhX2lycV9zZXFfdHlwZV90IHR5cGU7CisgIHVuc2lnbmVkIGlycTsKKyAgdmlhX2lycV9zZXFfdHlwZV90IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNlcXVlbmNlOwotIF9fdTMyIHNpZ25hbDsKKyAgX191MzIgc2VxdWVuY2U7CisgIF9fdTMyIHNpZ25hbDsKIH07CiB0eXBlZGVmIHVuaW9uIGRybV92aWFfaXJxd2FpdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBkcm1fdmlhX3dhaXRfaXJxX3JlcXVlc3QgcmVxdWVzdDsKLSBzdHJ1Y3QgZHJtX3dhaXRfdmJsYW5rX3JlcGx5IHJlcGx5OworICBzdHJ1Y3QgZHJtX3ZpYV93YWl0X2lycV9yZXF1ZXN0IHJlcXVlc3Q7CisgIHN0cnVjdCBkcm1fd2FpdF92YmxhbmtfcmVwbHkgcmVwbHk7CiB9IGRybV92aWFfaXJxd2FpdF90OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3ZpYV9ibGl0c3luYyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN5bmNfaGFuZGxlOwotIHVuc2lnbmVkIGVuZ2luZTsKKyAgX191MzIgc3luY19oYW5kbGU7CisgIHVuc2lnbmVkIGVuZ2luZTsKIH0gZHJtX3ZpYV9ibGl0c3luY190OwogdHlwZWRlZiBzdHJ1Y3QgZHJtX3ZpYV9kbWFibGl0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbnVtX2xpbmVzOwotIF9fdTMyIGxpbmVfbGVuZ3RoOwotIF9fdTMyIGZiX2FkZHI7Ci0gX191MzIgZmJfc3RyaWRlOworICBfX3UzMiBudW1fbGluZXM7CisgIF9fdTMyIGxpbmVfbGVuZ3RoOworICBfX3UzMiBmYl9hZGRyOworICBfX3UzMiBmYl9zdHJpZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgKm1lbV9hZGRyOwotIF9fdTMyIG1lbV9zdHJpZGU7Ci0gX191MzIgZmxhZ3M7Ci0gaW50IHRvX2ZiOworICB1bnNpZ25lZCBjaGFyICogbWVtX2FkZHI7CisgIF9fdTMyIG1lbV9zdHJpZGU7CisgIF9fdTMyIGZsYWdzOworICBpbnQgdG9fZmI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRybV92aWFfYmxpdHN5bmNfdCBzeW5jOworICBkcm1fdmlhX2JsaXRzeW5jX3Qgc3luYzsKIH0gZHJtX3ZpYV9kbWFibGl0X3Q7CiBzdHJ1Y3QgdmlhX2ZpbGVfcHJpdmF0ZSB7Ci0gc3RydWN0IGxpc3RfaGVhZCBvYmpfbGlzdDsKKyAgc3RydWN0IGxpc3RfaGVhZCBvYmpfbGlzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2RybS92bXdnZnhfZHJtLmggYi9saWJjL2tlcm5lbC91YXBpL2RybS92bXdnZnhfZHJtLmgKaW5kZXggODQ5ZWY3ZC4uYzEyY2RkMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9kcm0vdm13Z2Z4X2RybS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvZHJtL3Ztd2dmeF9kcm0uaApAQCAtMTgsNyArMTgsNyBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fVk1XR0ZYX0RSTV9IX18KICNkZWZpbmUgX19WTVdHRlhfRFJNX0hfXwotI2luY2x1ZGUgPGRybS5oPgorI2luY2x1ZGUgPGRybS9kcm0uaD4KICNkZWZpbmUgRFJNX1ZNV19NQVhfU1VSRkFDRV9GQUNFUyA2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fVk1XX01BWF9NSVBfTEVWRUxTIDI0CkBAIC02OCwzMDIgKzY4LDMwNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJNX1ZNV19QQVJBTV9NQVhfTU9CX01FTU9SWSA5CiAjZGVmaW5lIERSTV9WTVdfUEFSQU1fTUFYX01PQl9TSVpFIDEwCi1zdHJ1Y3QgZHJtX3Ztd19nZXRwYXJhbV9hcmcgewotIHVpbnQ2NF90IHZhbHVlOworZW51bSBkcm1fdm13X2hhbmRsZV90eXBlIHsKKyAgRFJNX1ZNV19IQU5ETEVfTEVHQUNZID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcGFyYW07Ci0gdWludDMyX3QgcGFkNjQ7CisgIERSTV9WTVdfSEFORExFX1BSSU1FID0gMQorfTsKK3N0cnVjdCBkcm1fdm13X2dldHBhcmFtX2FyZyB7CisgIHVpbnQ2NF90IHZhbHVlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgcGFyYW07CisgIHVpbnQzMl90IHBhZDY0OwogfTsKIHN0cnVjdCBkcm1fdm13X2NvbnRleHRfYXJnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCBjaWQ7Ci0gdWludDMyX3QgcGFkNjQ7CisgIGludDMyX3QgY2lkOworICB1aW50MzJfdCBwYWQ2NDsKIH07CiBzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2NyZWF0ZV9yZXEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBmbGFnczsKLSB1aW50MzJfdCBmb3JtYXQ7Ci0gdWludDMyX3QgbWlwX2xldmVsc1tEUk1fVk1XX01BWF9TVVJGQUNFX0ZBQ0VTXTsKLSB1aW50NjRfdCBzaXplX2FkZHI7CisgIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBmb3JtYXQ7CisgIHVpbnQzMl90IG1pcF9sZXZlbHNbRFJNX1ZNV19NQVhfU1VSRkFDRV9GQUNFU107CisgIHVpbnQ2NF90IHNpemVfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCBzaGFyZWFibGU7Ci0gaW50MzJfdCBzY2Fub3V0OworICBpbnQzMl90IHNoYXJlYWJsZTsKKyAgaW50MzJfdCBzY2Fub3V0OwogfTsKIHN0cnVjdCBkcm1fdm13X3N1cmZhY2VfYXJnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCBzaWQ7Ci0gdWludDMyX3QgcGFkNjQ7CisgIGludDMyX3Qgc2lkOworICBlbnVtIGRybV92bXdfaGFuZGxlX3R5cGUgaGFuZGxlX3R5cGU7CiB9Owogc3RydWN0IGRybV92bXdfc2l6ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHdpZHRoOwotIHVpbnQzMl90IGhlaWdodDsKLSB1aW50MzJfdCBkZXB0aDsKLSB1aW50MzJfdCBwYWQ2NDsKKyAgdWludDMyX3Qgd2lkdGg7CisgIHVpbnQzMl90IGhlaWdodDsKKyAgdWludDMyX3QgZGVwdGg7CisgIHVpbnQzMl90IHBhZDY0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiB1bmlvbiBkcm1fdm13X3N1cmZhY2VfY3JlYXRlX2FyZyB7Ci0gc3RydWN0IGRybV92bXdfc3VyZmFjZV9hcmcgcmVwOwotIHN0cnVjdCBkcm1fdm13X3N1cmZhY2VfY3JlYXRlX3JlcSByZXE7CisgIHN0cnVjdCBkcm1fdm13X3N1cmZhY2VfYXJnIHJlcDsKKyAgc3RydWN0IGRybV92bXdfc3VyZmFjZV9jcmVhdGVfcmVxIHJlcTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogdW5pb24gZHJtX3Ztd19zdXJmYWNlX3JlZmVyZW5jZV9hcmcgewotIHN0cnVjdCBkcm1fdm13X3N1cmZhY2VfY3JlYXRlX3JlcSByZXA7Ci0gc3RydWN0IGRybV92bXdfc3VyZmFjZV9hcmcgcmVxOworICBzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2NyZWF0ZV9yZXEgcmVwOworICBzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2FyZyByZXE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRFJNX1ZNV19FWEVDQlVGX1ZFUlNJT04gMQogc3RydWN0IGRybV92bXdfZXhlY2J1Zl9hcmcgewotIHVpbnQ2NF90IGNvbW1hbmRzOworICB1aW50NjRfdCBjb21tYW5kczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgY29tbWFuZF9zaXplOwotIHVpbnQzMl90IHRocm90dGxlX3VzOwotIHVpbnQ2NF90IGZlbmNlX3JlcDsKLSB1aW50MzJfdCB2ZXJzaW9uOworICB1aW50MzJfdCBjb21tYW5kX3NpemU7CisgIHVpbnQzMl90IHRocm90dGxlX3VzOworICB1aW50NjRfdCBmZW5jZV9yZXA7CisgIHVpbnQzMl90IHZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBmbGFnczsKIH07CiBzdHJ1Y3QgZHJtX3Ztd19mZW5jZV9yZXAgewotIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBtYXNrOwotIHVpbnQzMl90IHNlcW5vOwotIHVpbnQzMl90IHBhc3NlZF9zZXFubzsKLSB1aW50MzJfdCBwYWQ2NDsKKyAgdWludDMyX3QgbWFzazsKKyAgdWludDMyX3Qgc2Vxbm87CisgIHVpbnQzMl90IHBhc3NlZF9zZXFubzsKKyAgdWludDMyX3QgcGFkNjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludDMyX3QgZXJyb3I7CisgIGludDMyX3QgZXJyb3I7CiB9Owogc3RydWN0IGRybV92bXdfYWxsb2NfZG1hYnVmX3JlcSB7Ci0gdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3Qgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcGFkNjQ7CisgIHVpbnQzMl90IHBhZDY0OwogfTsKIHN0cnVjdCBkcm1fdm13X2RtYWJ1Zl9yZXAgewotIHVpbnQ2NF90IG1hcF9oYW5kbGU7CisgIHVpbnQ2NF90IG1hcF9oYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBjdXJfZ21yX2lkOwotIHVpbnQzMl90IGN1cl9nbXJfb2Zmc2V0OwotIHVpbnQzMl90IHBhZDY0OworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IGN1cl9nbXJfaWQ7CisgIHVpbnQzMl90IGN1cl9nbXJfb2Zmc2V0OworICB1aW50MzJfdCBwYWQ2NDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogdW5pb24gZHJtX3Ztd19hbGxvY19kbWFidWZfYXJnIHsKLSBzdHJ1Y3QgZHJtX3Ztd19hbGxvY19kbWFidWZfcmVxIHJlcTsKLSBzdHJ1Y3QgZHJtX3Ztd19kbWFidWZfcmVwIHJlcDsKKyAgc3RydWN0IGRybV92bXdfYWxsb2NfZG1hYnVmX3JlcSByZXE7CisgIHN0cnVjdCBkcm1fdm13X2RtYWJ1Zl9yZXAgcmVwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX3Ztd191bnJlZl9kbWFidWZfYXJnIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgcGFkNjQ7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgcGFkNjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fdm13X3JlY3QgewotIGludDMyX3QgeDsKLSBpbnQzMl90IHk7CisgIGludDMyX3QgeDsKKyAgaW50MzJfdCB5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCB3OwotIHVpbnQzMl90IGg7CisgIHVpbnQzMl90IHc7CisgIHVpbnQzMl90IGg7CiB9Owogc3RydWN0IGRybV92bXdfY29udHJvbF9zdHJlYW1fYXJnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3Qgc3RyZWFtX2lkOwotIHVpbnQzMl90IGVuYWJsZWQ7Ci0gdWludDMyX3QgZmxhZ3M7Ci0gdWludDMyX3QgY29sb3Jfa2V5OworICB1aW50MzJfdCBzdHJlYW1faWQ7CisgIHVpbnQzMl90IGVuYWJsZWQ7CisgIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBjb2xvcl9rZXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBvZmZzZXQ7Ci0gaW50MzJfdCBmb3JtYXQ7Ci0gdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3QgaGFuZGxlOworICB1aW50MzJfdCBvZmZzZXQ7CisgIGludDMyX3QgZm9ybWF0OworICB1aW50MzJfdCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCB3aWR0aDsKLSB1aW50MzJfdCBoZWlnaHQ7Ci0gdWludDMyX3QgcGl0Y2hbM107Ci0gdWludDMyX3QgcGFkNjQ7CisgIHVpbnQzMl90IHdpZHRoOworICB1aW50MzJfdCBoZWlnaHQ7CisgIHVpbnQzMl90IHBpdGNoWzNdOworICB1aW50MzJfdCBwYWQ2NDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGRybV92bXdfcmVjdCBzcmM7Ci0gc3RydWN0IGRybV92bXdfcmVjdCBkc3Q7CisgIHN0cnVjdCBkcm1fdm13X3JlY3Qgc3JjOworICBzdHJ1Y3QgZHJtX3Ztd19yZWN0IGRzdDsKIH07CiAjZGVmaW5lIERSTV9WTVdfQ1VSU09SX0JZUEFTU19BTEwgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERSTV9WTVdfQ1VSU09SX0JZUEFTU19GTEFHUyAoMSkKIHN0cnVjdCBkcm1fdm13X2N1cnNvcl9ieXBhc3NfYXJnIHsKLSB1aW50MzJfdCBmbGFnczsKLSB1aW50MzJfdCBjcnRjX2lkOworICB1aW50MzJfdCBmbGFnczsKKyAgdWludDMyX3QgY3J0Y19pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCB4cG9zOwotIGludDMyX3QgeXBvczsKLSBpbnQzMl90IHhob3Q7Ci0gaW50MzJfdCB5aG90OworICBpbnQzMl90IHhwb3M7CisgIGludDMyX3QgeXBvczsKKyAgaW50MzJfdCB4aG90OworICBpbnQzMl90IHlob3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fdm13X3N0cmVhbV9hcmcgewotIHVpbnQzMl90IHN0cmVhbV9pZDsKLSB1aW50MzJfdCBwYWQ2NDsKKyAgdWludDMyX3Qgc3RyZWFtX2lkOworICB1aW50MzJfdCBwYWQ2NDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGRybV92bXdfZ2V0XzNkX2NhcF9hcmcgewotIHVpbnQ2NF90IGJ1ZmZlcjsKLSB1aW50MzJfdCBtYXhfc2l6ZTsKKyAgdWludDY0X3QgYnVmZmVyOworICB1aW50MzJfdCBtYXhfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcGFkNjQ7CisgIHVpbnQzMl90IHBhZDY0OwogfTsKICNkZWZpbmUgRFJNX1ZNV19GRU5DRV9GTEFHX0VYRUMgKDEgPDwgMCkKICNkZWZpbmUgRFJNX1ZNV19GRU5DRV9GTEFHX1FVRVJZICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEUk1fVk1XX1dBSVRfT1BUSU9OX1VOUkVGICgxIDw8IDApCiBzdHJ1Y3QgZHJtX3Ztd19mZW5jZV93YWl0X2FyZyB7Ci0gdWludDMyX3QgaGFuZGxlOwotIGludDMyX3QgY29va2llX3ZhbGlkOworICB1aW50MzJfdCBoYW5kbGU7CisgIGludDMyX3QgY29va2llX3ZhbGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBrZXJuZWxfY29va2llOwotIHVpbnQ2NF90IHRpbWVvdXRfdXM7Ci0gaW50MzJfdCBsYXp5OwotIGludDMyX3QgZmxhZ3M7CisgIHVpbnQ2NF90IGtlcm5lbF9jb29raWU7CisgIHVpbnQ2NF90IHRpbWVvdXRfdXM7CisgIGludDMyX3QgbGF6eTsKKyAgaW50MzJfdCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCB3YWl0X29wdGlvbnM7Ci0gaW50MzJfdCBwYWQ2NDsKKyAgaW50MzJfdCB3YWl0X29wdGlvbnM7CisgIGludDMyX3QgcGFkNjQ7CiB9Owogc3RydWN0IGRybV92bXdfZmVuY2Vfc2lnbmFsZWRfYXJnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IGZsYWdzOwotIGludDMyX3Qgc2lnbmFsZWQ7Ci0gdWludDMyX3QgcGFzc2VkX3NlcW5vOworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IGZsYWdzOworICBpbnQzMl90IHNpZ25hbGVkOworICB1aW50MzJfdCBwYXNzZWRfc2Vxbm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHNpZ25hbGVkX2ZsYWdzOwotIHVpbnQzMl90IHBhZDY0OworICB1aW50MzJfdCBzaWduYWxlZF9mbGFnczsKKyAgdWludDMyX3QgcGFkNjQ7CiB9Owogc3RydWN0IGRybV92bXdfZmVuY2VfYXJnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IHBhZDY0OworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IHBhZDY0OwogfTsKICNkZWZpbmUgRFJNX1ZNV19FVkVOVF9GRU5DRV9TSUdOQUxFRCAweDgwMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV92bXdfZXZlbnRfZmVuY2UgewotIHN0cnVjdCBkcm1fZXZlbnQgYmFzZTsKLSB1aW50NjRfdCB1c2VyX2RhdGE7Ci0gdWludDMyX3QgdHZfc2VjOworICBzdHJ1Y3QgZHJtX2V2ZW50IGJhc2U7CisgIHVpbnQ2NF90IHVzZXJfZGF0YTsKKyAgdWludDMyX3QgdHZfc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCB0dl91c2VjOworICB1aW50MzJfdCB0dl91c2VjOwogfTsKICNkZWZpbmUgRFJNX1ZNV19GRV9GTEFHX1JFUV9USU1FICgxIDw8IDApCiBzdHJ1Y3QgZHJtX3Ztd19mZW5jZV9ldmVudF9hcmcgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBmZW5jZV9yZXA7Ci0gdWludDY0X3QgdXNlcl9kYXRhOwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBmbGFnczsKKyAgdWludDY0X3QgZmVuY2VfcmVwOworICB1aW50NjRfdCB1c2VyX2RhdGE7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fdm13X3ByZXNlbnRfYXJnIHsKLSB1aW50MzJfdCBmYl9pZDsKLSB1aW50MzJfdCBzaWQ7CisgIHVpbnQzMl90IGZiX2lkOworICB1aW50MzJfdCBzaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludDMyX3QgZGVzdF94OwotIGludDMyX3QgZGVzdF95OwotIHVpbnQ2NF90IGNsaXBzX3B0cjsKLSB1aW50MzJfdCBudW1fY2xpcHM7CisgIGludDMyX3QgZGVzdF94OworICBpbnQzMl90IGRlc3RfeTsKKyAgdWludDY0X3QgY2xpcHNfcHRyOworICB1aW50MzJfdCBudW1fY2xpcHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHBhZDY0OworICB1aW50MzJfdCBwYWQ2NDsKIH07CiBzdHJ1Y3QgZHJtX3Ztd19wcmVzZW50X3JlYWRiYWNrX2FyZyB7Ci0gdWludDMyX3QgZmJfaWQ7CisgIHVpbnQzMl90IGZiX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBudW1fY2xpcHM7Ci0gdWludDY0X3QgY2xpcHNfcHRyOwotIHVpbnQ2NF90IGZlbmNlX3JlcDsKKyAgdWludDMyX3QgbnVtX2NsaXBzOworICB1aW50NjRfdCBjbGlwc19wdHI7CisgIHVpbnQ2NF90IGZlbmNlX3JlcDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGRybV92bXdfdXBkYXRlX2xheW91dF9hcmcgewotIHVpbnQzMl90IG51bV9vdXRwdXRzOwotIHVpbnQzMl90IHBhZDY0OwotIHVpbnQ2NF90IHJlY3RzOworICB1aW50MzJfdCBudW1fb3V0cHV0czsKKyAgdWludDMyX3QgcGFkNjQ7CisgIHVpbnQ2NF90IHJlY3RzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGRybV92bXdfc2hhZGVyX3R5cGUgewotIGRybV92bXdfc2hhZGVyX3R5cGVfdnMgPSAwLAotIGRybV92bXdfc2hhZGVyX3R5cGVfcHMsCisgIGRybV92bXdfc2hhZGVyX3R5cGVfdnMgPSAwLAorICBkcm1fdm13X3NoYWRlcl90eXBlX3BzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkcm1fdm13X3NoYWRlcl90eXBlX2dzCisgIGRybV92bXdfc2hhZGVyX3R5cGVfZ3MKIH07CiBzdHJ1Y3QgZHJtX3Ztd19zaGFkZXJfY3JlYXRlX2FyZyB7Ci0gZW51bSBkcm1fdm13X3NoYWRlcl90eXBlIHNoYWRlcl90eXBlOworICBlbnVtIGRybV92bXdfc2hhZGVyX3R5cGUgc2hhZGVyX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHNpemU7Ci0gdWludDMyX3QgYnVmZmVyX2hhbmRsZTsKLSB1aW50MzJfdCBzaGFkZXJfaGFuZGxlOwotIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3QgYnVmZmVyX2hhbmRsZTsKKyAgdWludDMyX3Qgc2hhZGVyX2hhbmRsZTsKKyAgdWludDY0X3Qgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHJtX3Ztd19zaGFkZXJfYXJnIHsKLSB1aW50MzJfdCBoYW5kbGU7Ci0gdWludDMyX3QgcGFkNjQ7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgcGFkNjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZHJtX3Ztd19zdXJmYWNlX2ZsYWdzIHsKLSBkcm1fdm13X3N1cmZhY2VfZmxhZ19zaGFyZWFibGUgPSAoMSA8PCAwKSwKLSBkcm1fdm13X3N1cmZhY2VfZmxhZ19zY2Fub3V0ID0gKDEgPDwgMSksCisgIGRybV92bXdfc3VyZmFjZV9mbGFnX3NoYXJlYWJsZSA9ICgxIDw8IDApLAorICBkcm1fdm13X3N1cmZhY2VfZmxhZ19zY2Fub3V0ID0gKDEgPDwgMSksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRybV92bXdfc3VyZmFjZV9mbGFnX2NyZWF0ZV9idWZmZXIgPSAoMSA8PCAyKQorICBkcm1fdm13X3N1cmZhY2VfZmxhZ19jcmVhdGVfYnVmZmVyID0gKDEgPDwgMikKIH07CiBzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9yZXEgewotIHVpbnQzMl90IHN2Z2EzZF9mbGFnczsKKyAgdWludDMyX3Qgc3ZnYTNkX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBmb3JtYXQ7Ci0gdWludDMyX3QgbWlwX2xldmVsczsKLSBlbnVtIGRybV92bXdfc3VyZmFjZV9mbGFncyBkcm1fc3VyZmFjZV9mbGFnczsKLSB1aW50MzJfdCBtdWx0aXNhbXBsZV9jb3VudDsKKyAgdWludDMyX3QgZm9ybWF0OworICB1aW50MzJfdCBtaXBfbGV2ZWxzOworICBlbnVtIGRybV92bXdfc3VyZmFjZV9mbGFncyBkcm1fc3VyZmFjZV9mbGFnczsKKyAgdWludDMyX3QgbXVsdGlzYW1wbGVfY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGF1dG9nZW5fZmlsdGVyOwotIHVpbnQzMl90IGJ1ZmZlcl9oYW5kbGU7Ci0gdWludDMyX3QgcGFkNjQ7Ci0gc3RydWN0IGRybV92bXdfc2l6ZSBiYXNlX3NpemU7CisgIHVpbnQzMl90IGF1dG9nZW5fZmlsdGVyOworICB1aW50MzJfdCBidWZmZXJfaGFuZGxlOworICB1aW50MzJfdCBwYWQ2NDsKKyAgc3RydWN0IGRybV92bXdfc2l6ZSBiYXNlX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcCB7Ci0gdWludDMyX3QgaGFuZGxlOwotIHVpbnQzMl90IGJhY2t1cF9zaXplOworICB1aW50MzJfdCBoYW5kbGU7CisgIHVpbnQzMl90IGJhY2t1cF9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBidWZmZXJfaGFuZGxlOwotIHVpbnQzMl90IGJ1ZmZlcl9zaXplOwotIHVpbnQ2NF90IGJ1ZmZlcl9tYXBfaGFuZGxlOworICB1aW50MzJfdCBidWZmZXJfaGFuZGxlOworICB1aW50MzJfdCBidWZmZXJfc2l6ZTsKKyAgdWludDY0X3QgYnVmZmVyX21hcF9oYW5kbGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHVuaW9uIGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfYXJnIHsKLSBzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9yZXAgcmVwOwotIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcSByZXE7CisgIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcCByZXA7CisgIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcSByZXE7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfcmVmX3JlcCB7Ci0gc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfcmVxIGNyZXE7Ci0gc3RydWN0IGRybV92bXdfZ2Jfc3VyZmFjZV9jcmVhdGVfcmVwIGNyZXA7CisgIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfY3JlYXRlX3JlcSBjcmVxOworICBzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX2NyZWF0ZV9yZXAgY3JlcDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdW5pb24gZHJtX3Ztd19nYl9zdXJmYWNlX3JlZmVyZW5jZV9hcmcgewotIHN0cnVjdCBkcm1fdm13X2diX3N1cmZhY2VfcmVmX3JlcCByZXA7Ci0gc3RydWN0IGRybV92bXdfc3VyZmFjZV9hcmcgcmVxOworICBzdHJ1Y3QgZHJtX3Ztd19nYl9zdXJmYWNlX3JlZl9yZXAgcmVwOworICBzdHJ1Y3QgZHJtX3Ztd19zdXJmYWNlX2FyZyByZXE7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gZHJtX3Ztd19zeW5jY3B1X2ZsYWdzIHsKLSBkcm1fdm13X3N5bmNjcHVfcmVhZCA9ICgxIDw8IDApLAotIGRybV92bXdfc3luY2NwdV93cml0ZSA9ICgxIDw8IDEpLAotIGRybV92bXdfc3luY2NwdV9kb250YmxvY2sgPSAoMSA8PCAyKSwKKyAgZHJtX3Ztd19zeW5jY3B1X3JlYWQgPSAoMSA8PCAwKSwKKyAgZHJtX3Ztd19zeW5jY3B1X3dyaXRlID0gKDEgPDwgMSksCisgIGRybV92bXdfc3luY2NwdV9kb250YmxvY2sgPSAoMSA8PCAyKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZHJtX3Ztd19zeW5jY3B1X2FsbG93X2NzID0gKDEgPDwgMykKKyAgZHJtX3Ztd19zeW5jY3B1X2FsbG93X2NzID0gKDEgPDwgMykKIH07CiBlbnVtIGRybV92bXdfc3luY2NwdV9vcCB7Ci0gZHJtX3Ztd19zeW5jY3B1X2dyYWIsCisgIGRybV92bXdfc3luY2NwdV9ncmFiLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkcm1fdm13X3N5bmNjcHVfcmVsZWFzZQorICBkcm1fdm13X3N5bmNjcHVfcmVsZWFzZQogfTsKIHN0cnVjdCBkcm1fdm13X3N5bmNjcHVfYXJnIHsKLSBlbnVtIGRybV92bXdfc3luY2NwdV9vcCBvcDsKKyAgZW51bSBkcm1fdm13X3N5bmNjcHVfb3Agb3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gZHJtX3Ztd19zeW5jY3B1X2ZsYWdzIGZsYWdzOwotIHVpbnQzMl90IGhhbmRsZTsKLSB1aW50MzJfdCBwYWQ2NDsKKyAgZW51bSBkcm1fdm13X3N5bmNjcHVfZmxhZ3MgZmxhZ3M7CisgIHVpbnQzMl90IGhhbmRsZTsKKyAgdWludDMyX3QgcGFkNjQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hLm91dC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hLm91dC5oCmluZGV4IDU2MmM5MGIuLmY2OWViNzMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYS5vdXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Eub3V0LmgKQEAgLTI3LDQ2ICsyNyw0NiBAQAogZW51bSBtYWNoaW5lX3R5cGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBNX09MRFNVTjIKLSBNX19PTERTVU4yID0gTV9PTERTVU4yLAorICBNX19PTERTVU4yID0gTV9PTERTVU4yLAogI2Vsc2UKLSBNX09MRFNVTjIgPSAwLAorICBNX09MRFNVTjIgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgogI2lmZGVmIE1fNjgwMTAKLSBNX182ODAxMCA9IE1fNjgwMTAsCisgIE1fXzY4MDEwID0gTV82ODAxMCwKICNlbHNlCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1fNjgwMTAgPSAxLAorICBNXzY4MDEwID0gMSwKICNlbmRpZgogI2lmZGVmIE1fNjgwMjAKLSBNX182ODAyMCA9IE1fNjgwMjAsCisgIE1fXzY4MDIwID0gTV82ODAyMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxzZQotIE1fNjgwMjAgPSAyLAorICBNXzY4MDIwID0gMiwKICNlbmRpZgogI2lmZGVmIE1fU1BBUkMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTV9fU1BBUkMgPSBNX1NQQVJDLAorICBNX19TUEFSQyA9IE1fU1BBUkMsCiAjZWxzZQotIE1fU1BBUkMgPSAzLAorICBNX1NQQVJDID0gMywKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNXzM4NiA9IDEwMCwKLSBNX01JUFMxID0gMTUxLAotIE1fTUlQUzIgPSAxNTIKKyAgTV8zODYgPSAxMDAsCisgIE1fTUlQUzEgPSAxNTEsCisgIE1fTUlQUzIgPSAxNTIKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmbmRlZiBOX01BR0lDCiAjZGVmaW5lIE5fTUFHSUMoZXhlYykgKChleGVjKS5hX2luZm8gJiAweGZmZmYpCiAjZW5kaWYKLSNkZWZpbmUgTl9NQUNIVFlQRShleGVjKSAoKGVudW0gbWFjaGluZV90eXBlKSgoKGV4ZWMpLmFfaW5mbyA+PiAxNikgJiAweGZmKSkKKyNkZWZpbmUgTl9NQUNIVFlQRShleGVjKSAoKGVudW0gbWFjaGluZV90eXBlKSAoKChleGVjKS5hX2luZm8gPj4gMTYpICYgMHhmZikpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOX0ZMQUdTKGV4ZWMpICgoKGV4ZWMpLmFfaW5mbyA+PiAyNCkgJiAweGZmKQotI2RlZmluZSBOX1NFVF9JTkZPKGV4ZWMsIG1hZ2ljLCB0eXBlLCBmbGFncykgICAoKGV4ZWMpLmFfaW5mbyA9ICgobWFnaWMpICYgMHhmZmZmKSAgIHwgKCgoaW50KSh0eXBlKSAmIDB4ZmYpIDw8IDE2KSAgIHwgKCgoZmxhZ3MpICYgMHhmZikgPDwgMjQpKQotI2RlZmluZSBOX1NFVF9NQUdJQyhleGVjLCBtYWdpYykgICAoKGV4ZWMpLmFfaW5mbyA9ICgoKGV4ZWMpLmFfaW5mbyAmIDB4ZmZmZjAwMDApIHwgKChtYWdpYykgJiAweGZmZmYpKSkKLSNkZWZpbmUgTl9TRVRfTUFDSFRZUEUoZXhlYywgbWFjaHR5cGUpICAgKChleGVjKS5hX2luZm8gPSAgICgoZXhlYykuYV9pbmZvJjB4ZmYwMGZmZmYpIHwgKCgoKGludCkobWFjaHR5cGUpKSYweGZmKSA8PCAxNikpCisjZGVmaW5lIE5fU0VUX0lORk8oZXhlYyxtYWdpYyx0eXBlLGZsYWdzKSAoKGV4ZWMpLmFfaW5mbyA9ICgobWFnaWMpICYgMHhmZmZmKSB8ICgoKGludCkgKHR5cGUpICYgMHhmZikgPDwgMTYpIHwgKCgoZmxhZ3MpICYgMHhmZikgPDwgMjQpKQorI2RlZmluZSBOX1NFVF9NQUdJQyhleGVjLG1hZ2ljKSAoKGV4ZWMpLmFfaW5mbyA9ICgoKGV4ZWMpLmFfaW5mbyAmIDB4ZmZmZjAwMDApIHwgKChtYWdpYykgJiAweGZmZmYpKSkKKyNkZWZpbmUgTl9TRVRfTUFDSFRZUEUoZXhlYyxtYWNodHlwZSkgKChleGVjKS5hX2luZm8gPSAoKGV4ZWMpLmFfaW5mbyAmIDB4ZmYwMGZmZmYpIHwgKCgoKGludCkgKG1hY2h0eXBlKSkgJiAweGZmKSA8PCAxNikpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBOX1NFVF9GTEFHUyhleGVjLCBmbGFncykgICAoKGV4ZWMpLmFfaW5mbyA9ICAgKChleGVjKS5hX2luZm8mMHgwMGZmZmZmZikgfCAoKChmbGFncykgJiAweGZmKSA8PCAyNCkpCisjZGVmaW5lIE5fU0VUX0ZMQUdTKGV4ZWMsZmxhZ3MpICgoZXhlYykuYV9pbmZvID0gKChleGVjKS5hX2luZm8gJiAweDAwZmZmZmZmKSB8ICgoKGZsYWdzKSAmIDB4ZmYpIDw8IDI0KSkKICNkZWZpbmUgT01BR0lDIDA0MDcKICNkZWZpbmUgTk1BR0lDIDA0MTAKICNkZWZpbmUgWk1BR0lDIDA0MTMKQEAgLTc0LDEyICs3NCwxMiBAQAogI2RlZmluZSBRTUFHSUMgMDMxNAogI2RlZmluZSBDTUFHSUMgMDQyMQogI2lmbmRlZiBOX0JBRE1BRwotI2RlZmluZSBOX0JBRE1BRyh4KSAoTl9NQUdJQyh4KSAhPSBPTUFHSUMgICAmJiBOX01BR0lDKHgpICE9IE5NQUdJQyAgICYmIE5fTUFHSUMoeCkgIT0gWk1BR0lDICAgJiYgTl9NQUdJQyh4KSAhPSBRTUFHSUMpCisjZGVmaW5lIE5fQkFETUFHKHgpIChOX01BR0lDKHgpICE9IE9NQUdJQyAmJiBOX01BR0lDKHgpICE9IE5NQUdJQyAmJiBOX01BR0lDKHgpICE9IFpNQUdJQyAmJiBOX01BR0lDKHgpICE9IFFNQUdJQykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSNkZWZpbmUgX05fSERST0ZGKHgpICgxMDI0IC0gc2l6ZW9mIChzdHJ1Y3QgZXhlYykpCisjZGVmaW5lIF9OX0hEUk9GRih4KSAoMTAyNCAtIHNpemVvZihzdHJ1Y3QgZXhlYykpCiAjaWZuZGVmIE5fVFhUT0ZGCi0jZGVmaW5lIE5fVFhUT0ZGKHgpICAgKE5fTUFHSUMoeCkgPT0gWk1BR0lDID8gX05fSERST0ZGKCh4KSkgKyBzaXplb2YgKHN0cnVjdCBleGVjKSA6ICAgKE5fTUFHSUMoeCkgPT0gUU1BR0lDID8gMCA6IHNpemVvZiAoc3RydWN0IGV4ZWMpKSkKKyNkZWZpbmUgTl9UWFRPRkYoeCkgKE5fTUFHSUMoeCkgPT0gWk1BR0lDID8gX05fSERST0ZGKCh4KSkgKyBzaXplb2Yoc3RydWN0IGV4ZWMpIDogKE5fTUFHSUMoeCkgPT0gUU1BR0lDID8gMCA6IHNpemVvZihzdHJ1Y3QgZXhlYykpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgogI2lmbmRlZiBOX0RBVE9GRgpAQCAtMTM0LDEwICsxMzQsMTAgQEAKICNlbmRpZgogI2VuZGlmCiAjZGVmaW5lIF9OX1NFR01FTlRfUk9VTkQoeCkgQUxJR04oeCwgU0VHTUVOVF9TSVpFKQotI2RlZmluZSBfTl9UWFRFTkRBRERSKHgpIChOX1RYVEFERFIoeCkrKHgpLmFfdGV4dCkKKyNkZWZpbmUgX05fVFhURU5EQUREUih4KSAoTl9UWFRBRERSKHgpICsgKHgpLmFfdGV4dCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZuZGVmIE5fREFUQUREUgotI2RlZmluZSBOX0RBVEFERFIoeCkgICAoTl9NQUdJQyh4KT09T01BR0lDPyAoX05fVFhURU5EQUREUih4KSkgICA6IChfTl9TRUdNRU5UX1JPVU5EIChfTl9UWFRFTkRBRERSKHgpKSkpCisjZGVmaW5lIE5fREFUQUREUih4KSAoTl9NQUdJQyh4KSA9PSBPTUFHSUMgPyAoX05fVFhURU5EQUREUih4KSkgOiAoX05fU0VHTUVOVF9ST1VORChfTl9UWFRFTkRBRERSKHgpKSkpCiAjZW5kaWYKICNpZm5kZWYgTl9CU1NBRERSCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTQ2LDE3ICsxNDYsMTcgQEAKICNpZm5kZWYgTl9OTElTVF9ERUNMQVJFRAogc3RydWN0IG5saXN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIGNoYXIgKm5fbmFtZTsKLSBzdHJ1Y3Qgbmxpc3QgKm5fbmV4dDsKLSBsb25nIG5fc3RyeDsKKyAgdW5pb24geworICAgIGNoYXIgKiBuX25hbWU7CisgICAgc3RydWN0IG5saXN0ICogbl9uZXh0OworICAgIGxvbmcgbl9zdHJ4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IG5fdW47Ci0gdW5zaWduZWQgY2hhciBuX3R5cGU7Ci0gY2hhciBuX290aGVyOwotIHNob3J0IG5fZGVzYzsKKyAgfSBuX3VuOworICB1bnNpZ25lZCBjaGFyIG5fdHlwZTsKKyAgY2hhciBuX290aGVyOworICBzaG9ydCBuX2Rlc2M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbl92YWx1ZTsKKyAgdW5zaWduZWQgbG9uZyBuX3ZhbHVlOwogfTsKICNlbmRpZgogI2lmbmRlZiBOX1VOREYKQEAgLTIwMiwyNSArMjAyLDI0IEBACiAjZGVmaW5lIE5fU0VUViAweDFDCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmbmRlZiBOX1JFTE9DQVRJT05fSU5GT19ERUNMQVJFRAotc3RydWN0IHJlbG9jYXRpb25faW5mbwotewotIGludCByX2FkZHJlc3M7CitzdHJ1Y3QgcmVsb2NhdGlvbl9pbmZvIHsKKyAgaW50IHJfYWRkcmVzczsKKyAgdW5zaWduZWQgaW50IHJfc3ltYm9sbnVtIDogMjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCByX3N5bWJvbG51bToyNDsKLSB1bnNpZ25lZCBpbnQgcl9wY3JlbDoxOwotIHVuc2lnbmVkIGludCByX2xlbmd0aDoyOwotIHVuc2lnbmVkIGludCByX2V4dGVybjoxOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IHJfcGNyZWwgOiAxOworICB1bnNpZ25lZCBpbnQgcl9sZW5ndGggOiAyOworICB1bnNpZ25lZCBpbnQgcl9leHRlcm4gOiAxOwogI2lmZGVmIE5TMzJLCi0gdW5zaWduZWQgcl9ic3I6MTsKLSB1bnNpZ25lZCByX2Rpc3A6MTsKLSB1bnNpZ25lZCByX3BhZDoyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgcl9ic3IgOiAxOworICB1bnNpZ25lZCByX2Rpc3AgOiAxOworICB1bnNpZ25lZCByX3BhZCA6IDI7CiAjZWxzZQotIHVuc2lnbmVkIGludCByX3BhZDo0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IHJfcGFkIDogNDsKICNlbmRpZgogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hY2N0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FjY3QuaAppbmRleCBjMTQ4ODZhLi40ZWIzYzkyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FjY3QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FjY3QuaApAQCAtMjYsODAgKzI2LDc4IEBACiB0eXBlZGVmIF9fdTMyIGNvbXAyX3Q7CiAjZGVmaW5lIEFDQ1RfQ09NTSAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBhY2N0Ci17Ci0gY2hhciBhY19mbGFnOwotIGNoYXIgYWNfdmVyc2lvbjsKK3N0cnVjdCBhY2N0IHsKKyAgY2hhciBhY19mbGFnOworICBjaGFyIGFjX3ZlcnNpb247CisgIF9fdTE2IGFjX3VpZDE2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBhY191aWQxNjsKLSBfX3UxNiBhY19naWQxNjsKLSBfX3UxNiBhY190dHk7Ci0gX191MzIgYWNfYnRpbWU7CisgIF9fdTE2IGFjX2dpZDE2OworICBfX3UxNiBhY190dHk7CisgIF9fdTMyIGFjX2J0aW1lOworICBjb21wX3QgYWNfdXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNvbXBfdCBhY191dGltZTsKLSBjb21wX3QgYWNfc3RpbWU7Ci0gY29tcF90IGFjX2V0aW1lOwotIGNvbXBfdCBhY19tZW07CisgIGNvbXBfdCBhY19zdGltZTsKKyAgY29tcF90IGFjX2V0aW1lOworICBjb21wX3QgYWNfbWVtOworICBjb21wX3QgYWNfaW87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNvbXBfdCBhY19pbzsKLSBjb21wX3QgYWNfcnc7Ci0gY29tcF90IGFjX21pbmZsdDsKLSBjb21wX3QgYWNfbWFqZmx0OworICBjb21wX3QgYWNfcnc7CisgIGNvbXBfdCBhY19taW5mbHQ7CisgIGNvbXBfdCBhY19tYWpmbHQ7CisgIGNvbXBfdCBhY19zd2FwczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY29tcF90IGFjX3N3YXBzOwotIF9fdTE2IGFjX2FoejsKLSBfX3UzMiBhY19leGl0Y29kZTsKLSBjaGFyIGFjX2NvbW1bQUNDVF9DT01NICsgMV07CisgIF9fdTE2IGFjX2FoejsKKyAgX191MzIgYWNfZXhpdGNvZGU7CisgIGNoYXIgYWNfY29tbVtBQ0NUX0NPTU0gKyAxXTsKKyAgX191OCBhY19ldGltZV9oaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBhY19ldGltZV9oaTsKLSBfX3UxNiBhY19ldGltZV9sbzsKLSBfX3UzMiBhY191aWQ7Ci0gX191MzIgYWNfZ2lkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgYWNfZXRpbWVfbG87CisgIF9fdTMyIGFjX3VpZDsKKyAgX191MzIgYWNfZ2lkOwogfTsKLXN0cnVjdCBhY2N0X3YzCi17Ci0gY2hhciBhY19mbGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGFjX3ZlcnNpb247Ci0gX191MTYgYWNfdHR5OwotIF9fdTMyIGFjX2V4aXRjb2RlOwotIF9fdTMyIGFjX3VpZDsKK3N0cnVjdCBhY2N0X3YzIHsKKyAgY2hhciBhY19mbGFnOworICBjaGFyIGFjX3ZlcnNpb247CisgIF9fdTE2IGFjX3R0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYWNfZ2lkOwotIF9fdTMyIGFjX3BpZDsKLSBfX3UzMiBhY19wcGlkOwotIF9fdTMyIGFjX2J0aW1lOworICBfX3UzMiBhY19leGl0Y29kZTsKKyAgX191MzIgYWNfdWlkOworICBfX3UzMiBhY19naWQ7CisgIF9fdTMyIGFjX3BpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZmxvYXQgYWNfZXRpbWU7Ci0gY29tcF90IGFjX3V0aW1lOwotIGNvbXBfdCBhY19zdGltZTsKLSBjb21wX3QgYWNfbWVtOworICBfX3UzMiBhY19wcGlkOworICBfX3UzMiBhY19idGltZTsKKyAgZmxvYXQgYWNfZXRpbWU7CisgIGNvbXBfdCBhY191dGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY29tcF90IGFjX2lvOwotIGNvbXBfdCBhY19ydzsKLSBjb21wX3QgYWNfbWluZmx0OwotIGNvbXBfdCBhY19tYWpmbHQ7CisgIGNvbXBfdCBhY19zdGltZTsKKyAgY29tcF90IGFjX21lbTsKKyAgY29tcF90IGFjX2lvOworICBjb21wX3QgYWNfcnc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNvbXBfdCBhY19zd2FwczsKLSBjaGFyIGFjX2NvbW1bQUNDVF9DT01NXTsKKyAgY29tcF90IGFjX21pbmZsdDsKKyAgY29tcF90IGFjX21hamZsdDsKKyAgY29tcF90IGFjX3N3YXBzOworICBjaGFyIGFjX2NvbW1bQUNDVF9DT01NXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBBRk9SSyAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBU1UgMHgwMgogI2RlZmluZSBBQ09NUEFUIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFDT1JFIDB4MDgKICNkZWZpbmUgQVhTSUcgMHgxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZiBkZWZpbmVkKF9fQllURV9PUkRFUikgPyBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOIDogZGVmaW5lZChfX0JJR19FTkRJQU4pCiAjZGVmaW5lIEFDQ1RfQllURU9SREVSIDB4ODAKLSNlbGlmIGRlZmluZWQoX19CWVRFX09SREVSKSA/IF9fQllURV9PUkRFUiA9PSBfX0xJVFRMRV9FTkRJQU4gOiBkZWZpbmVkKF9fTElUVExFX0VORElBTikKLSNkZWZpbmUgQUNDVF9CWVRFT1JERVIgMHgwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbGlmIGRlZmluZWQoX19CWVRFX09SREVSKT9fX0JZVEVfT1JERVI9PV9fTElUVExFX0VORElBTjpkZWZpbmVkKF9fTElUVExFX0VORElBTikKKyNkZWZpbmUgQUNDVF9CWVRFT1JERVIgMHgwMAogI2Vsc2UKICNlcnJvciB1bnNwZWNpZmllZCBlbmRpYW5uZXNzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCiAjZGVmaW5lIEFDQ1RfVkVSU0lPTiAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBSFogKEhaKQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hZGIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWRiLmgKaW5kZXggMTYxNDA4Ni4uYjFkZmQzMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hZGIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FkYi5oCkBAIC0yMSw4ICsyMSw4IEBACiAjZGVmaW5lIEFEQl9CVVNSRVNFVCAwCiAjZGVmaW5lIEFEQl9GTFVTSChpZCkgKDB4MDEgfCAoKGlkKSA8PCA0KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFEQl9XUklURVJFRyhpZCwgcmVnKSAoMHgwOCB8IChyZWcpIHwgKChpZCkgPDwgNCkpCi0jZGVmaW5lIEFEQl9SRUFEUkVHKGlkLCByZWcpICgweDBDIHwgKHJlZykgfCAoKGlkKSA8PCA0KSkKKyNkZWZpbmUgQURCX1dSSVRFUkVHKGlkLHJlZykgKDB4MDggfCAocmVnKSB8ICgoaWQpIDw8IDQpKQorI2RlZmluZSBBREJfUkVBRFJFRyhpZCxyZWcpICgweDBDIHwgKHJlZykgfCAoKGlkKSA8PCA0KSkKICNkZWZpbmUgQURCX0RPTkdMRSAxCiAjZGVmaW5lIEFEQl9LRVlCT0FSRCAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hZGZzX2ZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FkZnNfZnMuaAppbmRleCA4YWNjOGM2Li5lNWFkMDRlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FkZnNfZnMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FkZnNfZnMuaApAQCAtMjIsMzcgKzIyLDM3IEBACiAjaW5jbHVkZSA8bGludXgvbWFnaWMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYWRmc19kaXNjcmVjb3JkIHsKLSBfX3U4IGxvZzJzZWNzaXplOwotIF9fdTggc2Vjc3BlcnRyYWNrOwotIF9fdTggaGVhZHM7CisgIF9fdTggbG9nMnNlY3NpemU7CisgIF9fdTggc2Vjc3BlcnRyYWNrOworICBfX3U4IGhlYWRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRlbnNpdHk7Ci0gX191OCBpZGxlbjsKLSBfX3U4IGxvZzJicG1iOwotIF9fdTggc2tldzsKKyAgX191OCBkZW5zaXR5OworICBfX3U4IGlkbGVuOworICBfX3U4IGxvZzJicG1iOworICBfX3U4IHNrZXc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYm9vdG9wdGlvbjsKLSBfX3U4IGxvd3NlY3RvcjsKLSBfX3U4IG56b25lczsKLSBfX2xlMTYgem9uZV9zcGFyZTsKKyAgX191OCBib290b3B0aW9uOworICBfX3U4IGxvd3NlY3RvcjsKKyAgX191OCBuem9uZXM7CisgIF9fbGUxNiB6b25lX3NwYXJlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgcm9vdDsKLSBfX2xlMzIgZGlzY19zaXplOwotIF9fbGUxNiBkaXNjX2lkOwotIF9fdTggZGlzY19uYW1lWzEwXTsKKyAgX19sZTMyIHJvb3Q7CisgIF9fbGUzMiBkaXNjX3NpemU7CisgIF9fbGUxNiBkaXNjX2lkOworICBfX3U4IGRpc2NfbmFtZVsxMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBkaXNjX3R5cGU7Ci0gX19sZTMyIGRpc2Nfc2l6ZV9oaWdoOwotIF9fdTggbG9nMnNoYXJlc2l6ZTo0OwotIF9fdTggdW51c2VkNDA6NDsKKyAgX19sZTMyIGRpc2NfdHlwZTsKKyAgX19sZTMyIGRpc2Nfc2l6ZV9oaWdoOworICBfX3U4IGxvZzJzaGFyZXNpemUgOiA0OworICBfX3U4IHVudXNlZDQwIDogNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiaWdfZmxhZzoxOwotIF9fdTggdW51c2VkNDE6MTsKLSBfX3U4IG56b25lc19oaWdoOwotIF9fbGUzMiBmb3JtYXRfdmVyc2lvbjsKKyAgX191OCBiaWdfZmxhZyA6IDE7CisgIF9fdTggdW51c2VkNDEgOiAxOworICBfX3U4IG56b25lc19oaWdoOworICBfX2xlMzIgZm9ybWF0X3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiByb290X3NpemU7Ci0gX191OCB1bnVzZWQ1Mls2MCAtIDUyXTsKKyAgX19sZTMyIHJvb3Rfc2l6ZTsKKyAgX191OCB1bnVzZWQ1Mls2MCAtIDUyXTsKIH07CiAjZGVmaW5lIEFERlNfRElTQ1JFQ09SRCAoMHhjMDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hZmZzX2hhcmRibG9ja3MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWZmc19oYXJkYmxvY2tzLmgKaW5kZXggMGY1NmI4MS4uMGE2MTg4NyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hZmZzX2hhcmRibG9ja3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FmZnNfaGFyZGJsb2Nrcy5oCkBAIC0yMSw2OSArMjEsNjkgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IFJpZ2lkRGlza0Jsb2NrIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmRiX0lEOwotIF9fYmUzMiByZGJfU3VtbWVkTG9uZ3M7Ci0gX19zMzIgcmRiX0Noa1N1bTsKLSBfX3UzMiByZGJfSG9zdElEOworICBfX3UzMiByZGJfSUQ7CisgIF9fYmUzMiByZGJfU3VtbWVkTG9uZ3M7CisgIF9fczMyIHJkYl9DaGtTdW07CisgIF9fdTMyIHJkYl9Ib3N0SUQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiByZGJfQmxvY2tCeXRlczsKLSBfX3UzMiByZGJfRmxhZ3M7Ci0gX191MzIgcmRiX0JhZEJsb2NrTGlzdDsKLSBfX2JlMzIgcmRiX1BhcnRpdGlvbkxpc3Q7CisgIF9fYmUzMiByZGJfQmxvY2tCeXRlczsKKyAgX191MzIgcmRiX0ZsYWdzOworICBfX3UzMiByZGJfQmFkQmxvY2tMaXN0OworICBfX2JlMzIgcmRiX1BhcnRpdGlvbkxpc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJkYl9GaWxlU3lzSGVhZGVyTGlzdDsKLSBfX3UzMiByZGJfRHJpdmVJbml0OwotIF9fdTMyIHJkYl9SZXNlcnZlZDFbNl07Ci0gX191MzIgcmRiX0N5bGluZGVyczsKKyAgX191MzIgcmRiX0ZpbGVTeXNIZWFkZXJMaXN0OworICBfX3UzMiByZGJfRHJpdmVJbml0OworICBfX3UzMiByZGJfUmVzZXJ2ZWQxWzZdOworICBfX3UzMiByZGJfQ3lsaW5kZXJzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZGJfU2VjdG9yczsKLSBfX3UzMiByZGJfSGVhZHM7Ci0gX191MzIgcmRiX0ludGVybGVhdmU7Ci0gX191MzIgcmRiX1Bhcms7CisgIF9fdTMyIHJkYl9TZWN0b3JzOworICBfX3UzMiByZGJfSGVhZHM7CisgIF9fdTMyIHJkYl9JbnRlcmxlYXZlOworICBfX3UzMiByZGJfUGFyazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmRiX1Jlc2VydmVkMlszXTsKLSBfX3UzMiByZGJfV3JpdGVQcmVDb21wOwotIF9fdTMyIHJkYl9SZWR1Y2VkV3JpdGU7Ci0gX191MzIgcmRiX1N0ZXBSYXRlOworICBfX3UzMiByZGJfUmVzZXJ2ZWQyWzNdOworICBfX3UzMiByZGJfV3JpdGVQcmVDb21wOworICBfX3UzMiByZGJfUmVkdWNlZFdyaXRlOworICBfX3UzMiByZGJfU3RlcFJhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJkYl9SZXNlcnZlZDNbNV07Ci0gX191MzIgcmRiX1JEQkJsb2Nrc0xvOwotIF9fdTMyIHJkYl9SREJCbG9ja3NIaTsKLSBfX3UzMiByZGJfTG9DeWxpbmRlcjsKKyAgX191MzIgcmRiX1Jlc2VydmVkM1s1XTsKKyAgX191MzIgcmRiX1JEQkJsb2Nrc0xvOworICBfX3UzMiByZGJfUkRCQmxvY2tzSGk7CisgIF9fdTMyIHJkYl9Mb0N5bGluZGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZGJfSGlDeWxpbmRlcjsKLSBfX3UzMiByZGJfQ3lsQmxvY2tzOwotIF9fdTMyIHJkYl9BdXRvUGFya1NlY29uZHM7Ci0gX191MzIgcmRiX0hpZ2hSRFNLQmxvY2s7CisgIF9fdTMyIHJkYl9IaUN5bGluZGVyOworICBfX3UzMiByZGJfQ3lsQmxvY2tzOworICBfX3UzMiByZGJfQXV0b1BhcmtTZWNvbmRzOworICBfX3UzMiByZGJfSGlnaFJEU0tCbG9jazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmRiX1Jlc2VydmVkNDsKLSBjaGFyIHJkYl9EaXNrVmVuZG9yWzhdOwotIGNoYXIgcmRiX0Rpc2tQcm9kdWN0WzE2XTsKLSBjaGFyIHJkYl9EaXNrUmV2aXNpb25bNF07CisgIF9fdTMyIHJkYl9SZXNlcnZlZDQ7CisgIGNoYXIgcmRiX0Rpc2tWZW5kb3JbOF07CisgIGNoYXIgcmRiX0Rpc2tQcm9kdWN0WzE2XTsKKyAgY2hhciByZGJfRGlza1JldmlzaW9uWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHJkYl9Db250cm9sbGVyVmVuZG9yWzhdOwotIGNoYXIgcmRiX0NvbnRyb2xsZXJQcm9kdWN0WzE2XTsKLSBjaGFyIHJkYl9Db250cm9sbGVyUmV2aXNpb25bNF07Ci0gX191MzIgcmRiX1Jlc2VydmVkNVsxMF07CisgIGNoYXIgcmRiX0NvbnRyb2xsZXJWZW5kb3JbOF07CisgIGNoYXIgcmRiX0NvbnRyb2xsZXJQcm9kdWN0WzE2XTsKKyAgY2hhciByZGJfQ29udHJvbGxlclJldmlzaW9uWzRdOworICBfX3UzMiByZGJfUmVzZXJ2ZWQ1WzEwXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJRE5BTUVfUklHSURESVNLIDB4NTI0NDUzNEIKIHN0cnVjdCBQYXJ0aXRpb25CbG9jayB7Ci0gX19iZTMyIHBiX0lEOworICBfX2JlMzIgcGJfSUQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBwYl9TdW1tZWRMb25nczsKLSBfX3MzMiBwYl9DaGtTdW07Ci0gX191MzIgcGJfSG9zdElEOwotIF9fYmUzMiBwYl9OZXh0OworICBfX2JlMzIgcGJfU3VtbWVkTG9uZ3M7CisgIF9fczMyIHBiX0Noa1N1bTsKKyAgX191MzIgcGJfSG9zdElEOworICBfX2JlMzIgcGJfTmV4dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGJfRmxhZ3M7Ci0gX191MzIgcGJfUmVzZXJ2ZWQxWzJdOwotIF9fdTMyIHBiX0RldkZsYWdzOwotIF9fdTggcGJfRHJpdmVOYW1lWzMyXTsKKyAgX191MzIgcGJfRmxhZ3M7CisgIF9fdTMyIHBiX1Jlc2VydmVkMVsyXTsKKyAgX191MzIgcGJfRGV2RmxhZ3M7CisgIF9fdTggcGJfRHJpdmVOYW1lWzMyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGJfUmVzZXJ2ZWQyWzE1XTsKLSBfX2JlMzIgcGJfRW52aXJvbm1lbnRbMTddOwotIF9fdTMyIHBiX0VSZXNlcnZlZFsxNV07CisgIF9fdTMyIHBiX1Jlc2VydmVkMlsxNV07CisgIF9fYmUzMiBwYl9FbnZpcm9ubWVudFsxN107CisgIF9fdTMyIHBiX0VSZXNlcnZlZFsxNV07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUROQU1FX1BBUlRJVElPTiAweDUwNDE1MjU0CmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FncGdhcnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWdwZ2FydC5oCmluZGV4IGY3MzViOTUuLjBiMTAzY2MgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWdwZ2FydC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWdwZ2FydC5oCkBAIC0xOSwyMCArMTksMjAgQEAKICNpZm5kZWYgX1VBUElfQUdQX0gKICNkZWZpbmUgX1VBUElfQUdQX0gKICNkZWZpbmUgQUdQSU9DX0JBU0UgJ0EnCi0jZGVmaW5lIEFHUElPQ19JTkZPIF9JT1IgKEFHUElPQ19CQVNFLCAwLCBzdHJ1Y3QgYWdwX2luZm8qKQorI2RlZmluZSBBR1BJT0NfSU5GTyBfSU9SKEFHUElPQ19CQVNFLCAwLCBzdHJ1Y3QgYWdwX2luZm8gKikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFHUElPQ19BQ1FVSVJFIF9JTyAoQUdQSU9DX0JBU0UsIDEpCi0jZGVmaW5lIEFHUElPQ19SRUxFQVNFIF9JTyAoQUdQSU9DX0JBU0UsIDIpCi0jZGVmaW5lIEFHUElPQ19TRVRVUCBfSU9XIChBR1BJT0NfQkFTRSwgMywgc3RydWN0IGFncF9zZXR1cCopCi0jZGVmaW5lIEFHUElPQ19SRVNFUlZFIF9JT1cgKEFHUElPQ19CQVNFLCA0LCBzdHJ1Y3QgYWdwX3JlZ2lvbiopCisjZGVmaW5lIEFHUElPQ19BQ1FVSVJFIF9JTyhBR1BJT0NfQkFTRSwgMSkKKyNkZWZpbmUgQUdQSU9DX1JFTEVBU0UgX0lPKEFHUElPQ19CQVNFLCAyKQorI2RlZmluZSBBR1BJT0NfU0VUVVAgX0lPVyhBR1BJT0NfQkFTRSwgMywgc3RydWN0IGFncF9zZXR1cCAqKQorI2RlZmluZSBBR1BJT0NfUkVTRVJWRSBfSU9XKEFHUElPQ19CQVNFLCA0LCBzdHJ1Y3QgYWdwX3JlZ2lvbiAqKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQUdQSU9DX1BST1RFQ1QgX0lPVyAoQUdQSU9DX0JBU0UsIDUsIHN0cnVjdCBhZ3BfcmVnaW9uKikKLSNkZWZpbmUgQUdQSU9DX0FMTE9DQVRFIF9JT1dSKEFHUElPQ19CQVNFLCA2LCBzdHJ1Y3QgYWdwX2FsbG9jYXRlKikKLSNkZWZpbmUgQUdQSU9DX0RFQUxMT0NBVEUgX0lPVyAoQUdQSU9DX0JBU0UsIDcsIGludCkKLSNkZWZpbmUgQUdQSU9DX0JJTkQgX0lPVyAoQUdQSU9DX0JBU0UsIDgsIHN0cnVjdCBhZ3BfYmluZCopCisjZGVmaW5lIEFHUElPQ19QUk9URUNUIF9JT1coQUdQSU9DX0JBU0UsIDUsIHN0cnVjdCBhZ3BfcmVnaW9uICopCisjZGVmaW5lIEFHUElPQ19BTExPQ0FURSBfSU9XUihBR1BJT0NfQkFTRSwgNiwgc3RydWN0IGFncF9hbGxvY2F0ZSAqKQorI2RlZmluZSBBR1BJT0NfREVBTExPQ0FURSBfSU9XKEFHUElPQ19CQVNFLCA3LCBpbnQpCisjZGVmaW5lIEFHUElPQ19CSU5EIF9JT1coQUdQSU9DX0JBU0UsIDgsIHN0cnVjdCBhZ3BfYmluZCAqKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQUdQSU9DX1VOQklORCBfSU9XIChBR1BJT0NfQkFTRSwgOSwgc3RydWN0IGFncF91bmJpbmQqKQotI2RlZmluZSBBR1BJT0NfQ0hJUFNFVF9GTFVTSCBfSU8gKEFHUElPQ19CQVNFLCAxMCkKKyNkZWZpbmUgQUdQSU9DX1VOQklORCBfSU9XKEFHUElPQ19CQVNFLCA5LCBzdHJ1Y3QgYWdwX3VuYmluZCAqKQorI2RlZmluZSBBR1BJT0NfQ0hJUFNFVF9GTFVTSCBfSU8oQUdQSU9DX0JBU0UsIDEwKQogI2RlZmluZSBBR1BfREVWSUNFICIvZGV2L2FncGdhcnQiCiAjaWZuZGVmIFRSVUUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC00NCw1NSArNDQsNTUgQEAKICNlbmRpZgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgYWdwX3ZlcnNpb24gewotIF9fdTE2IG1ham9yOworICBfX3UxNiBtYWpvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbWlub3I7CisgIF9fdTE2IG1pbm9yOwogfTsKIHR5cGVkZWYgc3RydWN0IF9hZ3BfaW5mbyB7Ci0gc3RydWN0IGFncF92ZXJzaW9uIHZlcnNpb247CisgIHN0cnVjdCBhZ3BfdmVyc2lvbiB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBicmlkZ2VfaWQ7Ci0gX191MzIgYWdwX21vZGU7Ci0gdW5zaWduZWQgbG9uZyBhcGVyX2Jhc2U7Ci0gc2l6ZV90IGFwZXJfc2l6ZTsKKyAgX191MzIgYnJpZGdlX2lkOworICBfX3UzMiBhZ3BfbW9kZTsKKyAgdW5zaWduZWQgbG9uZyBhcGVyX2Jhc2U7CisgIHNpemVfdCBhcGVyX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpemVfdCBwZ190b3RhbDsKLSBzaXplX3QgcGdfc3lzdGVtOwotIHNpemVfdCBwZ191c2VkOworICBzaXplX3QgcGdfdG90YWw7CisgIHNpemVfdCBwZ19zeXN0ZW07CisgIHNpemVfdCBwZ191c2VkOwogfSBhZ3BfaW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBfYWdwX3NldHVwIHsKLSBfX3UzMiBhZ3BfbW9kZTsKKyAgX191MzIgYWdwX21vZGU7CiB9IGFncF9zZXR1cDsKIHR5cGVkZWYgc3RydWN0IF9hZ3Bfc2VnbWVudCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX29mZl90IHBnX3N0YXJ0OwotIF9fa2VybmVsX3NpemVfdCBwZ19jb3VudDsKLSBpbnQgcHJvdDsKKyAgX19rZXJuZWxfb2ZmX3QgcGdfc3RhcnQ7CisgIF9fa2VybmVsX3NpemVfdCBwZ19jb3VudDsKKyAgaW50IHByb3Q7CiB9IGFncF9zZWdtZW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IF9hZ3BfcmVnaW9uIHsKLSBfX2tlcm5lbF9waWRfdCBwaWQ7Ci0gX19rZXJuZWxfc2l6ZV90IHNlZ19jb3VudDsKLSBzdHJ1Y3QgX2FncF9zZWdtZW50ICpzZWdfbGlzdDsKKyAgX19rZXJuZWxfcGlkX3QgcGlkOworICBfX2tlcm5lbF9zaXplX3Qgc2VnX2NvdW50OworICBzdHJ1Y3QgX2FncF9zZWdtZW50ICogc2VnX2xpc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBhZ3BfcmVnaW9uOwogdHlwZWRlZiBzdHJ1Y3QgX2FncF9hbGxvY2F0ZSB7Ci0gaW50IGtleTsKLSBfX2tlcm5lbF9zaXplX3QgcGdfY291bnQ7CisgIGludCBrZXk7CisgIF9fa2VybmVsX3NpemVfdCBwZ19jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UzMiBwaHlzaWNhbDsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgcGh5c2ljYWw7CiB9IGFncF9hbGxvY2F0ZTsKIHR5cGVkZWYgc3RydWN0IF9hZ3BfYmluZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBrZXk7Ci0gX19rZXJuZWxfb2ZmX3QgcGdfc3RhcnQ7CisgIGludCBrZXk7CisgIF9fa2VybmVsX29mZl90IHBnX3N0YXJ0OwogfSBhZ3BfYmluZDsKIHR5cGVkZWYgc3RydWN0IF9hZ3BfdW5iaW5kIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGtleTsKLSBfX3UzMiBwcmlvcml0eTsKKyAgaW50IGtleTsKKyAgX191MzIgcHJpb3JpdHk7CiB9IGFncF91bmJpbmQ7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Fpb19hYmkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWlvX2FiaS5oCmluZGV4IGFlMDJiZjcuLjY4N2M0MzUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWlvX2FiaS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYWlvX2FiaS5oCkBAIC0yMyw0OCArMjMsNDggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIF9fa2VybmVsX3Vsb25nX3QgYWlvX2NvbnRleHRfdDsKIGVudW0gewotIElPQ0JfQ01EX1BSRUFEID0gMCwKLSBJT0NCX0NNRF9QV1JJVEUgPSAxLAorICBJT0NCX0NNRF9QUkVBRCA9IDAsCisgIElPQ0JfQ01EX1BXUklURSA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElPQ0JfQ01EX0ZTWU5DID0gMiwKLSBJT0NCX0NNRF9GRFNZTkMgPSAzLAotIElPQ0JfQ01EX05PT1AgPSA2LAotIElPQ0JfQ01EX1BSRUFEViA9IDcsCisgIElPQ0JfQ01EX0ZTWU5DID0gMiwKKyAgSU9DQl9DTURfRkRTWU5DID0gMywKKyAgSU9DQl9DTURfTk9PUCA9IDYsCisgIElPQ0JfQ01EX1BSRUFEViA9IDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElPQ0JfQ01EX1BXUklURVYgPSA4LAorICBJT0NCX0NNRF9QV1JJVEVWID0gOCwKIH07CiAjZGVmaW5lIElPQ0JfRkxBR19SRVNGRCAoMSA8PCAwKQogc3RydWN0IGlvX2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZGF0YTsKLSBfX3U2NCBvYmo7Ci0gX19zNjQgcmVzOwotIF9fczY0IHJlczI7CisgIF9fdTY0IGRhdGE7CisgIF9fdTY0IG9iajsKKyAgX19zNjQgcmVzOworICBfX3M2NCByZXMyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjaWYgZGVmaW5lZChfX0JZVEVfT1JERVIpID8gX19CWVRFX09SREVSID09IF9fTElUVExFX0VORElBTiA6IGRlZmluZWQoX19MSVRUTEVfRU5ESUFOKQogI2RlZmluZSBQQURERUQoeCx5KSB4LCB5Ci0jZWxpZiBkZWZpbmVkKF9fQllURV9PUkRFUikgPyBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOIDogZGVmaW5lZChfX0JJR19FTkRJQU4pCisjZWxpZiBkZWZpbmVkKF9fQllURV9PUkRFUik/X19CWVRFX09SREVSPT1fX0JJR19FTkRJQU46ZGVmaW5lZChfX0JJR19FTkRJQU4pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQQURERUQoeCx5KSB5LCB4CiAjZWxzZQotI2Vycm9yIGVkaXQgZm9yIHlvdXIgb2RkIGJ5dGVvcmRlci4KKyNlcnJvciBlZGl0IGZvciB5b3VyIG9kZCBieXRlb3JkZXIgLgogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlvY2IgewotIF9fdTY0IGFpb19kYXRhOwotIF9fdTMyIFBBRERFRChhaW9fa2V5LCBhaW9fcmVzZXJ2ZWQxKTsKLSBfX3UxNiBhaW9fbGlvX29wY29kZTsKKyAgX191NjQgYWlvX2RhdGE7CisgIF9fdTMyIFBBRERFRChhaW9fa2V5LCBhaW9fcmVzZXJ2ZWQxKTsKKyAgX191MTYgYWlvX2xpb19vcGNvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczE2IGFpb19yZXFwcmlvOwotIF9fdTMyIGFpb19maWxkZXM7Ci0gX191NjQgYWlvX2J1ZjsKLSBfX3U2NCBhaW9fbmJ5dGVzOworICBfX3MxNiBhaW9fcmVxcHJpbzsKKyAgX191MzIgYWlvX2ZpbGRlczsKKyAgX191NjQgYWlvX2J1ZjsKKyAgX191NjQgYWlvX25ieXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zNjQgYWlvX29mZnNldDsKLSBfX3U2NCBhaW9fcmVzZXJ2ZWQyOwotIF9fdTMyIGFpb19mbGFnczsKLSBfX3UzMiBhaW9fcmVzZmQ7CisgIF9fczY0IGFpb19vZmZzZXQ7CisgIF9fdTY0IGFpb19yZXNlcnZlZDI7CisgIF9fdTMyIGFpb19mbGFnczsKKyAgX191MzIgYWlvX3Jlc2ZkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjdW5kZWYgSUZCSUcKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYW5kcm9pZF9hbGFybS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hbmRyb2lkX2FsYXJtLmgKaW5kZXggZDAxMTFiMi4uODAxYTAxZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hbmRyb2lkX2FsYXJtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hbmRyb2lkX2FsYXJtLmgKQEAgLTIyLDM3ICsyMiwzNCBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGFuZHJvaWRfYWxhcm1fdHlwZSB7Ci0gQU5EUk9JRF9BTEFSTV9SVENfV0FLRVVQLAotIEFORFJPSURfQUxBUk1fUlRDLAotIEFORFJPSURfQUxBUk1fRUxBUFNFRF9SRUFMVElNRV9XQUtFVVAsCisgIEFORFJPSURfQUxBUk1fUlRDX1dBS0VVUCwKKyAgQU5EUk9JRF9BTEFSTV9SVEMsCisgIEFORFJPSURfQUxBUk1fRUxBUFNFRF9SRUFMVElNRV9XQUtFVVAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFORFJPSURfQUxBUk1fRUxBUFNFRF9SRUFMVElNRSwKLSBBTkRST0lEX0FMQVJNX1NZU1RFTVRJTUUsCi0gQU5EUk9JRF9BTEFSTV9UWVBFX0NPVU5ULAorICBBTkRST0lEX0FMQVJNX0VMQVBTRURfUkVBTFRJTUUsCisgIEFORFJPSURfQUxBUk1fU1lTVEVNVElNRSwKKyAgQU5EUk9JRF9BTEFSTV9UWVBFX0NPVU5ULAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGFuZHJvaWRfYWxhcm1fcmV0dXJuX2ZsYWdzIHsKLSBBTkRST0lEX0FMQVJNX1JUQ19XQUtFVVBfTUFTSyA9IDFVIDw8IEFORFJPSURfQUxBUk1fUlRDX1dBS0VVUCwKLSBBTkRST0lEX0FMQVJNX1JUQ19NQVNLID0gMVUgPDwgQU5EUk9JRF9BTEFSTV9SVEMsCi0gQU5EUk9JRF9BTEFSTV9FTEFQU0VEX1JFQUxUSU1FX1dBS0VVUF9NQVNLID0KKyAgQU5EUk9JRF9BTEFSTV9SVENfV0FLRVVQX01BU0sgPSAxVSA8PCBBTkRST0lEX0FMQVJNX1JUQ19XQUtFVVAsCisgIEFORFJPSURfQUxBUk1fUlRDX01BU0sgPSAxVSA8PCBBTkRST0lEX0FMQVJNX1JUQywKKyAgQU5EUk9JRF9BTEFSTV9FTEFQU0VEX1JFQUxUSU1FX1dBS0VVUF9NQVNLID0gMVUgPDwgQU5EUk9JRF9BTEFSTV9FTEFQU0VEX1JFQUxUSU1FX1dBS0VVUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gMVUgPDwgQU5EUk9JRF9BTEFSTV9FTEFQU0VEX1JFQUxUSU1FX1dBS0VVUCwKLSBBTkRST0lEX0FMQVJNX0VMQVBTRURfUkVBTFRJTUVfTUFTSyA9Ci0gMVUgPDwgQU5EUk9JRF9BTEFSTV9FTEFQU0VEX1JFQUxUSU1FLAotIEFORFJPSURfQUxBUk1fU1lTVEVNVElNRV9NQVNLID0gMVUgPDwgQU5EUk9JRF9BTEFSTV9TWVNURU1USU1FLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBBTkRST0lEX0FMQVJNX1RJTUVfQ0hBTkdFX01BU0sgPSAxVSA8PCAxNgorICBBTkRST0lEX0FMQVJNX0VMQVBTRURfUkVBTFRJTUVfTUFTSyA9IDFVIDw8IEFORFJPSURfQUxBUk1fRUxBUFNFRF9SRUFMVElNRSwKKyAgQU5EUk9JRF9BTEFSTV9TWVNURU1USU1FX01BU0sgPSAxVSA8PCBBTkRST0lEX0FMQVJNX1NZU1RFTVRJTUUsCisgIEFORFJPSURfQUxBUk1fVElNRV9DSEFOR0VfTUFTSyA9IDFVIDw8IDE2CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQU5EUk9JRF9BTEFSTV9DTEVBUih0eXBlKSBfSU8oJ2EnLCAwIHwgKCh0eXBlKSA8PCA0KSkKICNkZWZpbmUgQU5EUk9JRF9BTEFSTV9XQUlUIF9JTygnYScsIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBTEFSTV9JT1coYywgdHlwZSwgc2l6ZSkgX0lPVygnYScsIChjKSB8ICgodHlwZSkgPDwgNCksIHNpemUpCisjZGVmaW5lIEFMQVJNX0lPVyhjLHR5cGUsc2l6ZSkgX0lPVygnYScsIChjKSB8ICgodHlwZSkgPDwgNCksIHNpemUpCiAjZGVmaW5lIEFORFJPSURfQUxBUk1fU0VUKHR5cGUpIEFMQVJNX0lPVygyLCB0eXBlLCBzdHJ1Y3QgdGltZXNwZWMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBTkRST0lEX0FMQVJNX1NFVF9BTkRfV0FJVCh0eXBlKSBBTEFSTV9JT1coMywgdHlwZSwgc3RydWN0IHRpbWVzcGVjKQogI2RlZmluZSBBTkRST0lEX0FMQVJNX0dFVF9USU1FKHR5cGUpIEFMQVJNX0lPVyg0LCB0eXBlLCBzdHJ1Y3QgdGltZXNwZWMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBTkRST0lEX0FMQVJNX1NFVF9SVEMgX0lPVygnYScsIDUsIHN0cnVjdCB0aW1lc3BlYykKICNkZWZpbmUgQU5EUk9JRF9BTEFSTV9CQVNFX0NNRChjbWQpIChjbWQgJiB+KF9JT0MoMCwgMCwgMHhmMCwgMCkpKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQU5EUk9JRF9BTEFSTV9JT0NUTF9UT19UWVBFKGNtZCkgKF9JT0NfTlIoY21kKSA+PiA0KQogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hcG1fYmlvcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hcG1fYmlvcy5oCmluZGV4IGYzYjYxMzAuLmU2YjE3YWQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXBtX2Jpb3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FwbV9iaW9zLmgKQEAgLTIzLDE3ICsyMywxNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXBtX2V2ZW50aW5mb190Owogc3RydWN0IGFwbV9iaW9zX2luZm8gewotIF9fdTE2IHZlcnNpb247Ci0gX191MTYgY3NlZzsKKyAgX191MTYgdmVyc2lvbjsKKyAgX191MTYgY3NlZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgb2Zmc2V0OwotIF9fdTE2IGNzZWdfMTY7Ci0gX191MTYgZHNlZzsKLSBfX3UxNiBmbGFnczsKKyAgX191MzIgb2Zmc2V0OworICBfX3UxNiBjc2VnXzE2OworICBfX3UxNiBkc2VnOworICBfX3UxNiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgY3NlZ19sZW47Ci0gX191MTYgY3NlZ18xNl9sZW47Ci0gX191MTYgZHNlZ19sZW47CisgIF9fdTE2IGNzZWdfbGVuOworICBfX3UxNiBjc2VnXzE2X2xlbjsKKyAgX191MTYgZHNlZ19sZW47CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVBNX1NUQVRFX1JFQURZIDB4MDAwMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hc2htZW0uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXNobWVtLmgKaW5kZXggYTFmODc2MC4uNDcxMWVmMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hc2htZW0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2FzaG1lbS5oCkBAIC0yOCw4ICsyOCw4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBU0hNRU1fSVNfUElOTkVEIDEKIHN0cnVjdCBhc2htZW1fcGluIHsKLSBfX3UzMiBvZmZzZXQ7Ci0gX191MzIgbGVuOworICBfX3UzMiBvZmZzZXQ7CisgIF9fdTMyIGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBfX0FTSE1FTUlPQyAweDc3CmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0YWxrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0YWxrLmgKaW5kZXggYjM1N2I5MS4uNzE1NDQyMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdGFsay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRhbGsuaApAQCAtMjYsMzEgKzI2LDMxIEBACiAjZGVmaW5lIEFUUE9SVF9SRVNFUlZFRCAxMjgKICNkZWZpbmUgQVRQT1JUX0xBU1QgMjU0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVEFERFJfQU5ZTkVUIChfX3UxNikwCi0jZGVmaW5lIEFUQUREUl9BTllOT0RFIChfX3U4KTAKLSNkZWZpbmUgQVRBRERSX0FOWVBPUlQgKF9fdTgpMAotI2RlZmluZSBBVEFERFJfQkNBU1QgKF9fdTgpMjU1CisjZGVmaW5lIEFUQUREUl9BTllORVQgKF9fdTE2KSAwCisjZGVmaW5lIEFUQUREUl9BTllOT0RFIChfX3U4KSAwCisjZGVmaW5lIEFUQUREUl9BTllQT1JUIChfX3U4KSAwCisjZGVmaW5lIEFUQUREUl9CQ0FTVCAoX191OCkgMjU1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBERFBfTUFYU1ogNTg3CiAjZGVmaW5lIEREUF9NQVhIT1BTIDE1CiAjZGVmaW5lIFNJT0NBVEFMS0RJRkFERFIgKFNJT0NQUk9UT1BSSVZBVEUgKyAwKQogc3RydWN0IGF0YWxrX2FkZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgc19uZXQ7Ci0gX191OCBzX25vZGU7CisgIF9fYmUxNiBzX25ldDsKKyAgX191OCBzX25vZGU7CiB9Owogc3RydWN0IHNvY2thZGRyX2F0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2F0X2ZhbWlseTsKLSBfX3U4IHNhdF9wb3J0OwotIHN0cnVjdCBhdGFsa19hZGRyIHNhdF9hZGRyOwotIGNoYXIgc2F0X3plcm9bOF07CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHNhdF9mYW1pbHk7CisgIF9fdTggc2F0X3BvcnQ7CisgIHN0cnVjdCBhdGFsa19hZGRyIHNhdF9hZGRyOworICBjaGFyIHNhdF96ZXJvWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgYXRhbGtfbmV0cmFuZ2UgewotIF9fdTggbnJfcGhhc2U7Ci0gX19iZTE2IG5yX2ZpcnN0bmV0OworICBfX3U4IG5yX3BoYXNlOworICBfX2JlMTYgbnJfZmlyc3RuZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBucl9sYXN0bmV0OworICBfX2JlMTYgbnJfbGFzdG5ldDsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bS5oCmluZGV4IGQ4OWIwYWYuLjAyYmY5ODkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG0uaApAQCAtNDYsMTcgKzQ2LDE3IEBACiAjZGVmaW5lIEFUTV9BQUwzNCAzCiAjZGVmaW5lIEFUTV9BQUw1IDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fU09fRU5DT0RFKGwsbix0KSAoKCgobCkgJiAweDFGRikgPDwgMjIpIHwgKChuKSA8PCAxNikgfCAgIHNpemVvZih0KSkKKyNkZWZpbmUgX19TT19FTkNPREUobCxuLHQpICgoKChsKSAmIDB4MUZGKSA8PCAyMikgfCAoKG4pIDw8IDE2KSB8IHNpemVvZih0KSkKICNkZWZpbmUgX19TT19MRVZFTF9NQVRDSChjLG0pICgoKGMpID4+IDIyKSA9PSAoKG0pICYgMHgxRkYpKQogI2RlZmluZSBfX1NPX05VTUJFUihjKSAoKChjKSA+PiAxNikgJiAweDNmKQogI2RlZmluZSBfX1NPX1NJWkUoYykgKChjKSAmIDB4M2ZmZikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNPX1NFVENMUCBfX1NPX0VOQ09ERShTT0xfQVRNLDAsaW50KQotI2RlZmluZSBTT19DSVJBTkdFIF9fU09fRU5DT0RFKFNPTF9BVE0sMSxzdHJ1Y3QgYXRtX2NpcmFuZ2UpCi0jZGVmaW5lIFNPX0FUTVFPUyBfX1NPX0VOQ09ERShTT0xfQVRNLDIsc3RydWN0IGF0bV9xb3MpCi0jZGVmaW5lIFNPX0FUTVNBUCBfX1NPX0VOQ09ERShTT0xfQVRNLDMsc3RydWN0IGF0bV9zYXApCisjZGVmaW5lIFNPX1NFVENMUCBfX1NPX0VOQ09ERShTT0xfQVRNLCAwLCBpbnQpCisjZGVmaW5lIFNPX0NJUkFOR0UgX19TT19FTkNPREUoU09MX0FUTSwgMSwgc3RydWN0IGF0bV9jaXJhbmdlKQorI2RlZmluZSBTT19BVE1RT1MgX19TT19FTkNPREUoU09MX0FUTSwgMiwgc3RydWN0IGF0bV9xb3MpCisjZGVmaW5lIFNPX0FUTVNBUCBfX1NPX0VOQ09ERShTT0xfQVRNLCAzLCBzdHJ1Y3QgYXRtX3NhcCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNPX0FUTVBWQyBfX1NPX0VOQ09ERShTT0xfQVRNLDQsc3RydWN0IHNvY2thZGRyX2F0bXB2YykKKyNkZWZpbmUgU09fQVRNUFZDIF9fU09fRU5DT0RFKFNPTF9BVE0sIDQsIHN0cnVjdCBzb2NrYWRkcl9hdG1wdmMpCiAjZGVmaW5lIFNPX01VTFRJUE9JTlQgX19TT19FTkNPREUoU09MX0FUTSwgNSwgaW50KQogI2RlZmluZSBBVE1fSERSX0dGQ19NQVNLIDB4ZjAwMDAwMDAKICNkZWZpbmUgQVRNX0hEUl9HRkNfU0hJRlQgMjgKQEAgLTg3LDU2ICs4Nyw1NiBAQAogI2RlZmluZSBBVE1fQUJSIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFUTV9BTllDTEFTUyA1Ci0jZGVmaW5lIEFUTV9NQVhfUENSIC0xCisjZGVmaW5lIEFUTV9NQVhfUENSIC0gMQogc3RydWN0IGF0bV90cmFmcHJtIHsKLSB1bnNpZ25lZCBjaGFyIHRyYWZmaWNfY2xhc3M7CisgIHVuc2lnbmVkIGNoYXIgdHJhZmZpY19jbGFzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG1heF9wY3I7Ci0gaW50IHBjcjsKLSBpbnQgbWluX3BjcjsKLSBpbnQgbWF4X2NkdjsKKyAgaW50IG1heF9wY3I7CisgIGludCBwY3I7CisgIGludCBtaW5fcGNyOworICBpbnQgbWF4X2NkdjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG1heF9zZHU7Ci0gdW5zaWduZWQgaW50IGljcjsKLSB1bnNpZ25lZCBpbnQgdGJlOwotIHVuc2lnbmVkIGludCBmcnR0IDogMjQ7CisgIGludCBtYXhfc2R1OworICB1bnNpZ25lZCBpbnQgaWNyOworICB1bnNpZ25lZCBpbnQgdGJlOworICB1bnNpZ25lZCBpbnQgZnJ0dCA6IDI0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmlmIDogNDsKLSB1bnNpZ25lZCBpbnQgcmRmIDogNDsKLSB1bnNpZ25lZCBpbnQgbnJtX3ByZXMgOjE7Ci0gdW5zaWduZWQgaW50IHRybV9wcmVzIDoxOworICB1bnNpZ25lZCBpbnQgcmlmIDogNDsKKyAgdW5zaWduZWQgaW50IHJkZiA6IDQ7CisgIHVuc2lnbmVkIGludCBucm1fcHJlcyA6IDE7CisgIHVuc2lnbmVkIGludCB0cm1fcHJlcyA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBhZHRmX3ByZXMgOjE7Ci0gdW5zaWduZWQgaW50IGNkZl9wcmVzIDoxOwotIHVuc2lnbmVkIGludCBucm0gOjM7Ci0gdW5zaWduZWQgaW50IHRybSA6MzsKKyAgdW5zaWduZWQgaW50IGFkdGZfcHJlcyA6IDE7CisgIHVuc2lnbmVkIGludCBjZGZfcHJlcyA6IDE7CisgIHVuc2lnbmVkIGludCBucm0gOiAzOworICB1bnNpZ25lZCBpbnQgdHJtIDogMzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGFkdGYgOjEwOwotIHVuc2lnbmVkIGludCBjZGYgOjM7Ci0gdW5zaWduZWQgaW50IHNwYXJlIDo5OworICB1bnNpZ25lZCBpbnQgYWR0ZiA6IDEwOworICB1bnNpZ25lZCBpbnQgY2RmIDogMzsKKyAgdW5zaWduZWQgaW50IHNwYXJlIDogOTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGF0bV9xb3MgewotIHN0cnVjdCBhdG1fdHJhZnBybSB0eHRwOwotIHN0cnVjdCBhdG1fdHJhZnBybSByeHRwIF9fQVRNX0FQSV9BTElHTjsKLSB1bnNpZ25lZCBjaGFyIGFhbCBfX0FUTV9BUElfQUxJR047CisgIHN0cnVjdCBhdG1fdHJhZnBybSB0eHRwOworICBzdHJ1Y3QgYXRtX3RyYWZwcm0gcnh0cCBfX0FUTV9BUElfQUxJR047CisgIHVuc2lnbmVkIGNoYXIgYWFsIF9fQVRNX0FQSV9BTElHTjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBBVE1fSVRGX0FOWSAtMQotI2RlZmluZSBBVE1fVlBJX0FOWSAtMQotI2RlZmluZSBBVE1fVkNJX0FOWSAtMQorI2RlZmluZSBBVE1fSVRGX0FOWSAtIDEKKyNkZWZpbmUgQVRNX1ZQSV9BTlkgLSAxCisjZGVmaW5lIEFUTV9WQ0lfQU5ZIC0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVRNX1ZQSV9VTlNQRUMgLTIKLSNkZWZpbmUgQVRNX1ZDSV9VTlNQRUMgLTIKKyNkZWZpbmUgQVRNX1ZQSV9VTlNQRUMgLSAyCisjZGVmaW5lIEFUTV9WQ0lfVU5TUEVDIC0gMgogc3RydWN0IHNvY2thZGRyX2F0bXB2YyB7Ci0gdW5zaWduZWQgc2hvcnQgc2FwX2ZhbWlseTsKKyAgdW5zaWduZWQgc2hvcnQgc2FwX2ZhbWlseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBzaG9ydCBpdGY7Ci0gc2hvcnQgdnBpOwotIGludCB2Y2k7CisgIHN0cnVjdCB7CisgICAgc2hvcnQgaXRmOworICAgIHNob3J0IHZwaTsKKyAgICBpbnQgdmNpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHNhcF9hZGRyIF9fQVRNX0FQSV9BTElHTjsKKyAgfSBzYXBfYWRkciBfX0FUTV9BUElfQUxJR047CiB9OwogI2RlZmluZSBBVE1fRVNBX0xFTiAyMAogI2RlZmluZSBBVE1fRTE2NF9MRU4gMTIKQEAgLTE1NywyMSArMTU3LDIxIEBACiAjZGVmaW5lIEFUTV9MSUpfTkogMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzb2NrYWRkcl9hdG1zdmMgewotIHVuc2lnbmVkIHNob3J0IHNhc19mYW1pbHk7Ci0gc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIHBydltBVE1fRVNBX0xFTl07CisgIHVuc2lnbmVkIHNob3J0IHNhc19mYW1pbHk7CisgIHN0cnVjdCB7CisgICAgdW5zaWduZWQgY2hhciBwcnZbQVRNX0VTQV9MRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHB1YltBVE1fRTE2NF9MRU4rMV07Ci0gY2hhciBsaWpfdHlwZTsKLSBfX3UzMiBsaWpfaWQ7Ci0gfSBzYXNfYWRkciBfX0FUTV9BUElfQUxJR047CisgICAgY2hhciBwdWJbQVRNX0UxNjRfTEVOICsgMV07CisgICAgY2hhciBsaWpfdHlwZTsKKyAgICBfX3UzMiBsaWpfaWQ7CisgIH0gc2FzX2FkZHIgX19BVE1fQVBJX0FMSUdOOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgYXRtaWZfc2lvYyB7Ci0gaW50IG51bWJlcjsKLSBpbnQgbGVuZ3RoOworICBpbnQgbnVtYmVyOworICBpbnQgbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2b2lkIF9fdXNlciAqYXJnOworICB2b2lkIF9fdXNlciAqIGFyZzsKIH07CiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGF0bV9iYWNrZW5kX3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX2VuaS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fZW5pLmgKaW5kZXggOTUwYThhMC4uYTY1OGQ2NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fZW5pLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fZW5pLmgKQEAgLTIxLDkgKzIxLDkgQEAKICNpbmNsdWRlIDxsaW51eC9hdG1pb2MuaD4KIHN0cnVjdCBlbmlfbXVsdGlwbGllcnMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdHgscng7CisgIGludCB0eCwgcng7CiB9OwotI2RlZmluZSBFTklfTUVNRFVNUCBfSU9XKCdhJyxBVE1JT0NfU0FSUFJWLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBFTklfU0VUTVVMVCBfSU9XKCdhJyxBVE1JT0NfU0FSUFJWKzcsc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEVOSV9NRU1EVU1QIF9JT1coJ2EnLCBBVE1JT0NfU0FSUFJWLCBzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgRU5JX1NFVE1VTFQgX0lPVygnYScsIEFUTUlPQ19TQVJQUlYgKyA3LCBzdHJ1Y3QgYXRtaWZfc2lvYykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX2hlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bV9oZS5oCmluZGV4IGM2MmY0NTYuLjgwOWFjNjEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX2hlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1faGUuaApAQCAtMjcsOCArMjcsOCBAQAogI2RlZmluZSBIRV9SRUdUWVBFX01CT1ggNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBoZV9pb2N0bF9yZWcgewotIHVuc2lnbmVkIGFkZHIsIHZhbDsKLSBjaGFyIHR5cGU7CisgIHVuc2lnbmVkIGFkZHIsIHZhbDsKKyAgY2hhciB0eXBlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX2lkdDc3MTA1LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bV9pZHQ3NzEwNS5oCmluZGV4IGM1NjE2NGUuLmRjMmM5YzEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX2lkdDc3MTA1LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1faWR0NzcxMDUuaApAQCAtMjMsMTMgKzIzLDEzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L2F0bWRldi5oPgogc3RydWN0IGlkdDc3MTA1X3N0YXRzIHsKLSBfX3UzMiBzeW1ib2xfZXJyb3JzOwotIF9fdTMyIHR4X2NlbGxzOworICBfX3UzMiBzeW1ib2xfZXJyb3JzOworICBfX3UzMiB0eF9jZWxsczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcnhfY2VsbHM7Ci0gX191MzIgcnhfaGVjX2Vycm9yczsKKyAgX191MzIgcnhfY2VsbHM7CisgIF9fdTMyIHJ4X2hlY19lcnJvcnM7CiB9OwotI2RlZmluZSBJRFQ3NzEwNV9HRVRTVEFUIF9JT1coJ2EnLEFUTUlPQ19QSFlQUlYrMixzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgSURUNzcxMDVfR0VUU1RBVCBfSU9XKCdhJywgQVRNSU9DX1BIWVBSViArIDIsIHN0cnVjdCBhdG1pZl9zaW9jKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSURUNzcxMDVfR0VUU1RBVFogX0lPVygnYScsQVRNSU9DX1BIWVBSViszLHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBJRFQ3NzEwNV9HRVRTVEFUWiBfSU9XKCdhJywgQVRNSU9DX1BIWVBSViArIDMsIHN0cnVjdCBhdG1pZl9zaW9jKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bV9uaWNzdGFyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bV9uaWNzdGFyLmgKaW5kZXggYzA1OTc1MS4uYWZmZWRkYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fbmljc3Rhci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX25pY3N0YXIuaApAQCAtMjEsMjggKzIxLDI1IEBACiAjaW5jbHVkZSA8bGludXgvYXRtYXBpLmg+CiAjaW5jbHVkZSA8bGludXgvYXRtaW9jLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBOU19HRVRQU1RBVCBfSU9XUignYScsQVRNSU9DX1NBUlBSVisxLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBOU19TRVRCVUZMRVYgX0lPVygnYScsQVRNSU9DX1NBUlBSVisyLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBOU19BREpCVUZMRVYgX0lPKCdhJyxBVE1JT0NfU0FSUFJWKzMpCi10eXBlZGVmIHN0cnVjdCBidWZfbnIKKyNkZWZpbmUgTlNfR0VUUFNUQVQgX0lPV1IoJ2EnLCBBVE1JT0NfU0FSUFJWICsgMSwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIE5TX1NFVEJVRkxFViBfSU9XKCdhJywgQVRNSU9DX1NBUlBSViArIDIsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBOU19BREpCVUZMRVYgX0lPKCdhJywgQVRNSU9DX1NBUlBSViArIDMpCit0eXBlZGVmIHN0cnVjdCBidWZfbnIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSB1bnNpZ25lZCBtaW47Ci0gdW5zaWduZWQgaW5pdDsKLSB1bnNpZ25lZCBtYXg7CisgIHVuc2lnbmVkIG1pbjsKKyAgdW5zaWduZWQgaW5pdDsKKyAgdW5zaWduZWQgbWF4OworfSBidWZfbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfWJ1Zl9ucjsKLXR5cGVkZWYgc3RydWN0IHBvb2xfbGV2ZWxzCi17Ci0gaW50IGJ1ZnR5cGU7Cit0eXBlZGVmIHN0cnVjdCBwb29sX2xldmVscyB7CisgIGludCBidWZ0eXBlOworICBpbnQgY291bnQ7CisgIGJ1Zl9uciBsZXZlbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNvdW50OwotIGJ1Zl9uciBsZXZlbDsKIH0gcG9vbF9sZXZlbHM7CiAjZGVmaW5lIE5TX0JVRlRZUEVfU01BTEwgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTlNfQlVGVFlQRV9MQVJHRSAyCiAjZGVmaW5lIE5TX0JVRlRZUEVfSFVHRSAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOU19CVUZUWVBFX0lPVkVDIDQKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX3RjcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fdGNwLmgKaW5kZXggYzY1MDBjOS4uNjY2NTY3NSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fdGNwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1fdGNwLmgKQEAgLTI0LDI3ICsyNCwyNyBAQAogI2luY2x1ZGUgPGxpbnV4L2F0bWlvYy5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgYXRtdGNwX2hkciB7Ci0gX191MTYgdnBpOworICBfX3UxNiB2cGk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHZjaTsKLSBfX3UzMiBsZW5ndGg7CisgIF9fdTE2IHZjaTsKKyAgX191MzIgbGVuZ3RoOwogfTsKICNkZWZpbmUgQVRNVENQX0hEUl9NQUdJQyAofjApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVE1UQ1BfQ1RSTF9PUEVOIDEKICNkZWZpbmUgQVRNVENQX0NUUkxfQ0xPU0UgMgogc3RydWN0IGF0bXRjcF9jb250cm9sIHsKLSBzdHJ1Y3QgYXRtdGNwX2hkciBoZHI7CisgIHN0cnVjdCBhdG10Y3BfaGRyIGhkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHR5cGU7Ci0gYXRtX2twdHJfdCB2Y2M7Ci0gc3RydWN0IHNvY2thZGRyX2F0bXB2YyBhZGRyOwotIHN0cnVjdCBhdG1fcW9zIHFvczsKKyAgaW50IHR5cGU7CisgIGF0bV9rcHRyX3QgdmNjOworICBzdHJ1Y3Qgc29ja2FkZHJfYXRtcHZjIGFkZHI7CisgIHN0cnVjdCBhdG1fcW9zIHFvczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHJlc3VsdDsKKyAgaW50IHJlc3VsdDsKIH0gX19BVE1fQVBJX0FMSUdOOwotI2RlZmluZSBTSU9DU0lGQVRNVENQIF9JTygnYScsQVRNSU9DX0lURikKLSNkZWZpbmUgQVRNVENQX0NSRUFURSBfSU8oJ2EnLEFUTUlPQ19JVEYrMTQpCisjZGVmaW5lIFNJT0NTSUZBVE1UQ1AgX0lPKCdhJywgQVRNSU9DX0lURikKKyNkZWZpbmUgQVRNVENQX0NSRUFURSBfSU8oJ2EnLCBBVE1JT0NfSVRGICsgMTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVE1UQ1BfUkVNT1ZFIF9JTygnYScsQVRNSU9DX0lURisxNSkKKyNkZWZpbmUgQVRNVENQX1JFTU9WRSBfSU8oJ2EnLCBBVE1JT0NfSVRGICsgMTUpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX3phdG0uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtX3phdG0uaAppbmRleCAwYzgwYWQ5Li4zNDc1NWJiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bV96YXRtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1femF0bS5oCkBAIC0yMSwzMyArMjEsMzMgQEAKICNpbmNsdWRlIDxsaW51eC9hdG1hcGkuaD4KICNpbmNsdWRlIDxsaW51eC9hdG1pb2MuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFpBVE1fR0VUUE9PTCBfSU9XKCdhJyxBVE1JT0NfU0FSUFJWKzEsc3RydWN0IGF0bWlmX3Npb2MpCi0jZGVmaW5lIFpBVE1fR0VUUE9PTFogX0lPVygnYScsQVRNSU9DX1NBUlBSVisyLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBaQVRNX1NFVFBPT0wgX0lPVygnYScsQVRNSU9DX1NBUlBSViszLHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBaQVRNX0dFVFBPT0wgX0lPVygnYScsIEFUTUlPQ19TQVJQUlYgKyAxLCBzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgWkFUTV9HRVRQT09MWiBfSU9XKCdhJywgQVRNSU9DX1NBUlBSViArIDIsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBaQVRNX1NFVFBPT0wgX0lPVygnYScsIEFUTUlPQ19TQVJQUlYgKyAzLCBzdHJ1Y3QgYXRtaWZfc2lvYykKIHN0cnVjdCB6YXRtX3Bvb2xfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCByZWZfY291bnQ7Ci0gaW50IGxvd193YXRlcixoaWdoX3dhdGVyOwotIGludCBycWFfY291bnQscnF1X2NvdW50OwotIGludCBvZmZzZXQsbmV4dF9vZmY7CisgIGludCByZWZfY291bnQ7CisgIGludCBsb3dfd2F0ZXIsIGhpZ2hfd2F0ZXI7CisgIGludCBycWFfY291bnQsIHJxdV9jb3VudDsKKyAgaW50IG9mZnNldCwgbmV4dF9vZmY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBuZXh0X2NudCxuZXh0X3RocmVzOworICBpbnQgbmV4dF9jbnQsIG5leHRfdGhyZXM7CiB9Owogc3RydWN0IHphdG1fcG9vbF9yZXEgewotIGludCBwb29sX251bTsKKyAgaW50IHBvb2xfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgemF0bV9wb29sX2luZm8gaW5mbzsKKyAgc3RydWN0IHphdG1fcG9vbF9pbmZvIGluZm87CiB9Owogc3RydWN0IHphdG1fdF9oaXN0IHsKLSBzdHJ1Y3QgdGltZXZhbCByZWFsOworICBzdHJ1Y3QgdGltZXZhbCByZWFsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGltZXZhbCBleHBlY3RlZDsKKyAgc3RydWN0IHRpbWV2YWwgZXhwZWN0ZWQ7CiB9OwogI2RlZmluZSBaQVRNX09BTV9QT09MIDAKICNkZWZpbmUgWkFUTV9BQUwwX1BPT0wgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWkFUTV9BQUw1X1BPT0xfQkFTRSAyCi0jZGVmaW5lIFpBVE1fTEFTVF9QT09MIFpBVE1fQUFMNV9QT09MX0JBU0UrMTAKKyNkZWZpbmUgWkFUTV9MQVNUX1BPT0wgWkFUTV9BQUw1X1BPT0xfQkFTRSArIDEwCiAjZGVmaW5lIFpBVE1fVElNRVJfSElTVE9SWV9TSVpFIDE2CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWFwaS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1hcGkuaAppbmRleCAxNmU4ZmRmLi45NGZmMGEwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWFwaS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtYXBpLmgKQEAgLTI0LDYgKzI0LDggQEAKICNlbHNlCiAjZGVmaW5lIF9fQVRNX0FQSV9BTElHTgogI2VuZGlmCi10eXBlZGVmIHN0cnVjdCB7IHVuc2lnbmVkIGNoYXIgX1s4XTsgfSBfX0FUTV9BUElfQUxJR04gYXRtX2twdHJfdDsKK3R5cGVkZWYgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGNoYXIgX1s4XTsKK30gX19BVE1fQVBJX0FMSUdOIGF0bV9rcHRyX3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtYXJwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWFycC5oCmluZGV4IGVlZDk4MmMuLjU1NzRjNDcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtYXJwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1hcnAuaApAQCAtMjQsMjUgKzI0LDI1IEBACiAjaW5jbHVkZSA8bGludXgvYXRtaW9jLmg+CiAjZGVmaW5lIEFUTUFSUF9SRVRSWV9ERUxBWSAzMAogI2RlZmluZSBBVE1BUlBfTUFYX1VOUkVTX1BBQ0tFVFMgNQotI2RlZmluZSBBVE1BUlBEX0NUUkwgX0lPKCdhJyxBVE1JT0NfQ0xJUCsxKQorI2RlZmluZSBBVE1BUlBEX0NUUkwgX0lPKCdhJywgQVRNSU9DX0NMSVAgKyAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVRNQVJQX01LSVAgX0lPKCdhJyxBVE1JT0NfQ0xJUCsyKQotI2RlZmluZSBBVE1BUlBfU0VURU5UUlkgX0lPKCdhJyxBVE1JT0NfQ0xJUCszKQotI2RlZmluZSBBVE1BUlBfRU5DQVAgX0lPKCdhJyxBVE1JT0NfQ0xJUCs1KQorI2RlZmluZSBBVE1BUlBfTUtJUCBfSU8oJ2EnLCBBVE1JT0NfQ0xJUCArIDIpCisjZGVmaW5lIEFUTUFSUF9TRVRFTlRSWSBfSU8oJ2EnLCBBVE1JT0NfQ0xJUCArIDMpCisjZGVmaW5lIEFUTUFSUF9FTkNBUCBfSU8oJ2EnLCBBVE1JT0NfQ0xJUCArIDUpCiBlbnVtIGF0bWFycF9jdHJsX3R5cGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBhY3RfaW52YWxpZCwKLSBhY3RfbmVlZCwKLSBhY3RfdXAsCi0gYWN0X2Rvd24sCisgIGFjdF9pbnZhbGlkLAorICBhY3RfbmVlZCwKKyAgYWN0X3VwLAorICBhY3RfZG93biwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYWN0X2NoYW5nZQorICBhY3RfY2hhbmdlCiB9Owogc3RydWN0IGF0bWFycF9jdHJsIHsKLSBlbnVtIGF0bWFycF9jdHJsX3R5cGUgdHlwZTsKKyAgZW51bSBhdG1hcnBfY3RybF90eXBlIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBpdGZfbnVtOwotIF9fYmUzMiBpcDsKKyAgaW50IGl0Zl9udW07CisgIF9fYmUzMiBpcDsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWJyMjY4NC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1icjI2ODQuaAppbmRleCAxYjFiOWM1Li45MjQyN2Y1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWJyMjY4NC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtYnIyNjg0LmgKQEAgLTI4LDcgKzI4LDcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJSMjY4NF9NRURJQV9GRERJICgzKQogI2RlZmluZSBCUjI2ODRfTUVESUFfODAyXzYgKDQpCi0jZGVmaW5lIEJSMjY4NF9GTEFHX1JPVVRFRCAoMTw8MTYpCisjZGVmaW5lIEJSMjY4NF9GTEFHX1JPVVRFRCAoMSA8PCAxNikKICNkZWZpbmUgQlIyNjg0X0ZDU0lOX05PICgwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlIyNjg0X0ZDU0lOX0lHTk9SRSAoMSkKQEAgLTQ0LDExICs0NCwxMSBAQAogI2RlZmluZSBCUjI2ODRfUEFZTE9BRF9ST1VURUQgKDApCiAjZGVmaW5lIEJSMjY4NF9QQVlMT0FEX0JSSURHRUQgKDEpCiBzdHJ1Y3QgYXRtX25ld2lmX2JyMjY4NCB7Ci0gYXRtX2JhY2tlbmRfdCBiYWNrZW5kX251bTsKKyAgYXRtX2JhY2tlbmRfdCBiYWNrZW5kX251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG1lZGlhOwotIGNoYXIgaWZuYW1lW0lGTkFNU0laXTsKLSBpbnQgbXR1OworICBpbnQgbWVkaWE7CisgIGNoYXIgaWZuYW1lW0lGTkFNU0laXTsKKyAgaW50IG10dTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCUjI2ODRfRklORF9CWU5PVEhJTkcgKDApCkBAIC01Niw0MyArNTYsNDMgQEAKICNkZWZpbmUgQlIyNjg0X0ZJTkRfQllJRk5BTUUgKDIpCiBzdHJ1Y3QgYnIyNjg0X2lmX3NwZWMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbWV0aG9kOwotIHVuaW9uIHsKLSBjaGFyIGlmbmFtZVtJRk5BTVNJWl07Ci0gaW50IGRldm51bTsKKyAgaW50IG1ldGhvZDsKKyAgdW5pb24geworICAgIGNoYXIgaWZuYW1lW0lGTkFNU0laXTsKKyAgICBpbnQgZGV2bnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHNwZWM7CisgIH0gc3BlYzsKIH07CiBzdHJ1Y3QgYXRtX2JhY2tlbmRfYnIyNjg0IHsKLSBhdG1fYmFja2VuZF90IGJhY2tlbmRfbnVtOworICBhdG1fYmFja2VuZF90IGJhY2tlbmRfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYnIyNjg0X2lmX3NwZWMgaWZzcGVjOwotIGludCBmY3NfaW47Ci0gaW50IGZjc19vdXQ7Ci0gaW50IGZjc19hdXRvOworICBzdHJ1Y3QgYnIyNjg0X2lmX3NwZWMgaWZzcGVjOworICBpbnQgZmNzX2luOworICBpbnQgZmNzX291dDsKKyAgaW50IGZjc19hdXRvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZW5jYXBzOwotIGludCBoYXNfdnBpaWQ7Ci0gX191OCB2cG5faWRbN107Ci0gaW50IHNlbmRfcGFkZGluZzsKKyAgaW50IGVuY2FwczsKKyAgaW50IGhhc192cGlpZDsKKyAgX191OCB2cG5faWRbN107CisgIGludCBzZW5kX3BhZGRpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBtaW5fc2l6ZTsKKyAgaW50IG1pbl9zaXplOwogfTsKIHN0cnVjdCBicjI2ODRfZmlsdGVyIHsKLSBfX2JlMzIgcHJlZml4OworICBfX2JlMzIgcHJlZml4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgbmV0bWFzazsKKyAgX19iZTMyIG5ldG1hc2s7CiB9Owogc3RydWN0IGJyMjY4NF9maWx0ZXJfc2V0IHsKLSBzdHJ1Y3QgYnIyNjg0X2lmX3NwZWMgaWZzcGVjOworICBzdHJ1Y3QgYnIyNjg0X2lmX3NwZWMgaWZzcGVjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYnIyNjg0X2ZpbHRlciBmaWx0ZXI7CisgIHN0cnVjdCBicjI2ODRfZmlsdGVyIGZpbHRlcjsKIH07CiBlbnVtIGJyMjY4NF9wYXlsb2FkIHsKLSBwX3JvdXRlZCA9IEJSMjY4NF9QQVlMT0FEX1JPVVRFRCwKKyAgcF9yb3V0ZWQgPSBCUjI2ODRfUEFZTE9BRF9ST1VURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHBfYnJpZGdlZCA9IEJSMjY4NF9QQVlMT0FEX0JSSURHRUQsCisgIHBfYnJpZGdlZCA9IEJSMjY4NF9QQVlMT0FEX0JSSURHRUQsCiB9OwotI2RlZmluZSBCUjI2ODRfU0VURklMVCBfSU9XKCAnYScsIEFUTUlPQ19CQUNLRU5EICsgMCwgICBzdHJ1Y3QgYnIyNjg0X2ZpbHRlcl9zZXQpCisjZGVmaW5lIEJSMjY4NF9TRVRGSUxUIF9JT1coJ2EnLCBBVE1JT0NfQkFDS0VORCArIDAsIHN0cnVjdCBicjI2ODRfZmlsdGVyX3NldCkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtY2xpcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1jbGlwLmgKaW5kZXggMzQ2ZTQwMi4uYTI2NmI4MyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1jbGlwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1jbGlwLmgKQEAgLTI2LDUgKzI2LDUgQEAKICNkZWZpbmUgQ0xJUF9ERUZBVUxUX0lETEVUSU1FUiAxMjAwCiAjZGVmaW5lIENMSVBfQ0hFQ0tfSU5URVJWQUwgMTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNJT0NNS0NMSVAgX0lPKCdhJyxBVE1JT0NfQ0xJUCkKKyNkZWZpbmUgU0lPQ01LQ0xJUCBfSU8oJ2EnLCBBVE1JT0NfQ0xJUCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1kZXYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtZGV2LmgKaW5kZXggODllOGJjZS4uZmVkNzVkMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1kZXYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWRldi5oCkBAIC0yMyw1NiArMjMsNTYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8bGludXgvYXRtaW9jLmg+CiAjZGVmaW5lIEVTSV9MRU4gNgotI2RlZmluZSBBVE1fT0MzX1BDUiAoMTU1NTIwMDAwLzI3MCoyNjAvOC81MykKLSNkZWZpbmUgQVRNXzI1X1BDUiAoKDI1NjAwMDAwLzgtODAwMCkvNTQpCisjZGVmaW5lIEFUTV9PQzNfUENSICgxNTU1MjAwMDAgLyAyNzAgKiAyNjAgLyA4IC8gNTMpCisjZGVmaW5lIEFUTV8yNV9QQ1IgKCgyNTYwMDAwMCAvIDggLSA4MDAwKSAvIDU0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVRNX09DMTJfUENSICg2MjIwODAwMDAvMTA4MCoxMDQwLzgvNTMpCi0jZGVmaW5lIEFUTV9EUzNfUENSICg4MDAwKjEyKQotI2RlZmluZSBfX0FBTF9TVEFUX0lURU1TICAgX19IQU5ETEVfSVRFTSh0eCk7ICAgICBfX0hBTkRMRV9JVEVNKHR4X2Vycik7ICAgICBfX0hBTkRMRV9JVEVNKHJ4KTsgICAgIF9fSEFORExFX0lURU0ocnhfZXJyKTsgICAgIF9fSEFORExFX0lURU0ocnhfZHJvcCk7CisjZGVmaW5lIEFUTV9PQzEyX1BDUiAoNjIyMDgwMDAwIC8gMTA4MCAqIDEwNDAgLyA4IC8gNTMpCisjZGVmaW5lIEFUTV9EUzNfUENSICg4MDAwICogMTIpCisjZGVmaW5lIF9fQUFMX1NUQVRfSVRFTVMgX19IQU5ETEVfSVRFTSh0eCk7IF9fSEFORExFX0lURU0odHhfZXJyKTsgX19IQU5ETEVfSVRFTShyeCk7IF9fSEFORExFX0lURU0ocnhfZXJyKTsgX19IQU5ETEVfSVRFTShyeF9kcm9wKTsKIHN0cnVjdCBhdG1fYWFsX3N0YXRzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fSEFORExFX0lURU0oaSkgaW50IGkKLSBfX0FBTF9TVEFUX0lURU1TCisgIF9fQUFMX1NUQVRfSVRFTVMKICN1bmRlZiBfX0hBTkRMRV9JVEVNCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBhdG1fZGV2X3N0YXRzIHsKLSBzdHJ1Y3QgYXRtX2FhbF9zdGF0cyBhYWwwOwotIHN0cnVjdCBhdG1fYWFsX3N0YXRzIGFhbDM0OwotIHN0cnVjdCBhdG1fYWFsX3N0YXRzIGFhbDU7CisgIHN0cnVjdCBhdG1fYWFsX3N0YXRzIGFhbDA7CisgIHN0cnVjdCBhdG1fYWFsX3N0YXRzIGFhbDM0OworICBzdHJ1Y3QgYXRtX2FhbF9zdGF0cyBhYWw1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19BVE1fQVBJX0FMSUdOOwotI2RlZmluZSBBVE1fR0VUTElOS1JBVEUgX0lPVygnYScsQVRNSU9DX0lURisxLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fR0VUTkFNRVMgX0lPVygnYScsQVRNSU9DX0lURiszLHN0cnVjdCBhdG1faW9idWYpCi0jZGVmaW5lIEFUTV9HRVRUWVBFIF9JT1coJ2EnLEFUTUlPQ19JVEYrNCxzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgQVRNX0dFVExJTktSQVRFIF9JT1coJ2EnLCBBVE1JT0NfSVRGICsgMSwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9HRVROQU1FUyBfSU9XKCdhJywgQVRNSU9DX0lURiArIDMsIHN0cnVjdCBhdG1faW9idWYpCisjZGVmaW5lIEFUTV9HRVRUWVBFIF9JT1coJ2EnLCBBVE1JT0NfSVRGICsgNCwgc3RydWN0IGF0bWlmX3Npb2MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVE1fR0VURVNJIF9JT1coJ2EnLEFUTUlPQ19JVEYrNSxzdHJ1Y3QgYXRtaWZfc2lvYykKLSNkZWZpbmUgQVRNX0dFVEFERFIgX0lPVygnYScsQVRNSU9DX0lURis2LHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fUlNUQUREUiBfSU9XKCdhJyxBVE1JT0NfSVRGKzcsc3RydWN0IGF0bWlmX3Npb2MpCi0jZGVmaW5lIEFUTV9BRERBRERSIF9JT1coJ2EnLEFUTUlPQ19JVEYrOCxzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgQVRNX0dFVEVTSSBfSU9XKCdhJywgQVRNSU9DX0lURiArIDUsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBBVE1fR0VUQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURiArIDYsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBBVE1fUlNUQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURiArIDcsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBBVE1fQUREQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURiArIDgsIHN0cnVjdCBhdG1pZl9zaW9jKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVRNX0RFTEFERFIgX0lPVygnYScsQVRNSU9DX0lURis5LHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fR0VUQ0lSQU5HRSBfSU9XKCdhJyxBVE1JT0NfSVRGKzEwLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fU0VUQ0lSQU5HRSBfSU9XKCdhJyxBVE1JT0NfSVRGKzExLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fU0VURVNJIF9JT1coJ2EnLEFUTUlPQ19JVEYrMTIsc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9ERUxBRERSIF9JT1coJ2EnLCBBVE1JT0NfSVRGICsgOSwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9HRVRDSVJBTkdFIF9JT1coJ2EnLCBBVE1JT0NfSVRGICsgMTAsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBBVE1fU0VUQ0lSQU5HRSBfSU9XKCdhJywgQVRNSU9DX0lURiArIDExLCBzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgQVRNX1NFVEVTSSBfSU9XKCdhJywgQVRNSU9DX0lURiArIDEyLCBzdHJ1Y3QgYXRtaWZfc2lvYykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFUTV9TRVRFU0lGIF9JT1coJ2EnLEFUTUlPQ19JVEYrMTMsc3RydWN0IGF0bWlmX3Npb2MpCi0jZGVmaW5lIEFUTV9BRERMRUNTQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURisxNCwgc3RydWN0IGF0bWlmX3Npb2MpCi0jZGVmaW5lIEFUTV9ERUxMRUNTQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURisxNSwgc3RydWN0IGF0bWlmX3Npb2MpCi0jZGVmaW5lIEFUTV9HRVRMRUNTQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURisxNiwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9TRVRFU0lGIF9JT1coJ2EnLCBBVE1JT0NfSVRGICsgMTMsIHN0cnVjdCBhdG1pZl9zaW9jKQorI2RlZmluZSBBVE1fQURETEVDU0FERFIgX0lPVygnYScsIEFUTUlPQ19JVEYgKyAxNCwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9ERUxMRUNTQUREUiBfSU9XKCdhJywgQVRNSU9DX0lURiArIDE1LCBzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgQVRNX0dFVExFQ1NBRERSIF9JT1coJ2EnLCBBVE1JT0NfSVRGICsgMTYsIHN0cnVjdCBhdG1pZl9zaW9jKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVRNX0dFVFNUQVQgX0lPVygnYScsQVRNSU9DX1NBUkNPTSswLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fR0VUU1RBVFogX0lPVygnYScsQVRNSU9DX1NBUkNPTSsxLHN0cnVjdCBhdG1pZl9zaW9jKQotI2RlZmluZSBBVE1fR0VUTE9PUCBfSU9XKCdhJyxBVE1JT0NfU0FSQ09NKzIsc3RydWN0IGF0bWlmX3Npb2MpCi0jZGVmaW5lIEFUTV9TRVRMT09QIF9JT1coJ2EnLEFUTUlPQ19TQVJDT00rMyxzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgQVRNX0dFVFNUQVQgX0lPVygnYScsIEFUTUlPQ19TQVJDT00gKyAwLCBzdHJ1Y3QgYXRtaWZfc2lvYykKKyNkZWZpbmUgQVRNX0dFVFNUQVRaIF9JT1coJ2EnLCBBVE1JT0NfU0FSQ09NICsgMSwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9HRVRMT09QIF9JT1coJ2EnLCBBVE1JT0NfU0FSQ09NICsgMiwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9TRVRMT09QIF9JT1coJ2EnLCBBVE1JT0NfU0FSQ09NICsgMywgc3RydWN0IGF0bWlmX3Npb2MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVE1fUVVFUllMT09QIF9JT1coJ2EnLEFUTUlPQ19TQVJDT00rNCxzdHJ1Y3QgYXRtaWZfc2lvYykKLSNkZWZpbmUgQVRNX1NFVFNDIF9JT1coJ2EnLEFUTUlPQ19TUEVDSUFMKzEsaW50KQotI2RlZmluZSBBVE1fU0VUQkFDS0VORCBfSU9XKCdhJyxBVE1JT0NfU1BFQ0lBTCsyLGF0bV9iYWNrZW5kX3QpCi0jZGVmaW5lIEFUTV9ORVdCQUNLRU5ESUYgX0lPVygnYScsQVRNSU9DX1NQRUNJQUwrMyxhdG1fYmFja2VuZF90KQorI2RlZmluZSBBVE1fUVVFUllMT09QIF9JT1coJ2EnLCBBVE1JT0NfU0FSQ09NICsgNCwgc3RydWN0IGF0bWlmX3Npb2MpCisjZGVmaW5lIEFUTV9TRVRTQyBfSU9XKCdhJywgQVRNSU9DX1NQRUNJQUwgKyAxLCBpbnQpCisjZGVmaW5lIEFUTV9TRVRCQUNLRU5EIF9JT1coJ2EnLCBBVE1JT0NfU1BFQ0lBTCArIDIsIGF0bV9iYWNrZW5kX3QpCisjZGVmaW5lIEFUTV9ORVdCQUNLRU5ESUYgX0lPVygnYScsIEFUTUlPQ19TUEVDSUFMICsgMywgYXRtX2JhY2tlbmRfdCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFUTV9BRERQQVJUWSBfSU9XKCdhJywgQVRNSU9DX1NQRUNJQUwrNCxzdHJ1Y3QgYXRtX2lvYnVmKQotI2RlZmluZSBBVE1fRFJPUFBBUlRZIF9JT1coJ2EnLCBBVE1JT0NfU1BFQ0lBTCs1LGludCkKKyNkZWZpbmUgQVRNX0FERFBBUlRZIF9JT1coJ2EnLCBBVE1JT0NfU1BFQ0lBTCArIDQsIHN0cnVjdCBhdG1faW9idWYpCisjZGVmaW5lIEFUTV9EUk9QUEFSVFkgX0lPVygnYScsIEFUTUlPQ19TUEVDSUFMICsgNSwgaW50KQogI2RlZmluZSBBVE1fQkFDS0VORF9SQVcgMAogI2RlZmluZSBBVE1fQkFDS0VORF9QUFAgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTEwMiwxNCArMTAyLDE0IEBACiAjZGVmaW5lIEFUTV9MTV9STVRfQU5BTE9HIF9fQVRNX0xNX01LUk1UKF9fQVRNX0xNX0FOQUxPRykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYXRtX2lvYnVmIHsKLSBpbnQgbGVuZ3RoOwotIHZvaWQgX191c2VyICpidWZmZXI7CisgIGludCBsZW5ndGg7CisgIHZvaWQgX191c2VyICogYnVmZmVyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFUTV9DSV9NQVggLTEKKyNkZWZpbmUgQVRNX0NJX01BWCAtIDEKIHN0cnVjdCBhdG1fY2lyYW5nZSB7Ci0gc2lnbmVkIGNoYXIgdnBpX2JpdHM7Ci0gc2lnbmVkIGNoYXIgdmNpX2JpdHM7CisgIHNpZ25lZCBjaGFyIHZwaV9iaXRzOworICBzaWduZWQgY2hhciB2Y2lfYml0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBBVE1fU0NfUlggMTAyNApAQCAtMTIzLDcgKzEyMyw3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVE1fTUZfREVDX1NIUCAxNgogI2RlZmluZSBBVE1fTUZfQldEIDMyCi0jZGVmaW5lIEFUTV9NRl9TRVQgKEFUTV9NRl9JTkNfUlNWIHwgQVRNX01GX0lOQ19TSFAgfCBBVE1fTUZfREVDX1JTViB8ICAgQVRNX01GX0RFQ19TSFAgfCBBVE1fTUZfQldEKQorI2RlZmluZSBBVE1fTUZfU0VUIChBVE1fTUZfSU5DX1JTViB8IEFUTV9NRl9JTkNfU0hQIHwgQVRNX01GX0RFQ19SU1YgfCBBVE1fTUZfREVDX1NIUCB8IEFUTV9NRl9CV0QpCiAjZGVmaW5lIEFUTV9WU19JRExFIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFUTV9WU19DT05ORUNURUQgMQpAQCAtMTMyLDcgKzEzMiw3IEBACiAjZGVmaW5lIEFUTV9WU19JTlVTRSA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVE1fVlNfQk9VTkQgNQotI2RlZmluZSBBVE1fVlMyVFhUX01BUCAgICJJRExFIiwgIkNPTk5FQ1RFRCIsICJDTE9TSU5HIiwgIkxJU1RFTiIsICJJTlVTRSIsICJCT1VORCIKLSNkZWZpbmUgQVRNX1ZGMlRYVF9NQVAgICAiQUREUiIsICJSRUFEWSIsICJQQVJUSUFMIiwgIlJFR0lTIiwgICAiUkVMRUFTRUQiLCAiSEFTUU9TIiwgIkxJU1RFTiIsICJNRVRBIiwgICAiMjU2IiwgIjUxMiIsICIxMDI0IiwgIjIwNDgiLCAgICJTRVNTSU9OIiwgIkhBU1NBUCIsICJCT1VORCIsICJDTE9TRSIKKyNkZWZpbmUgQVRNX1ZTMlRYVF9NQVAgIklETEUiLCAiQ09OTkVDVEVEIiwgIkNMT1NJTkciLCAiTElTVEVOIiwgIklOVVNFIiwgIkJPVU5EIgorI2RlZmluZSBBVE1fVkYyVFhUX01BUCAiQUREUiIsICJSRUFEWSIsICJQQVJUSUFMIiwgIlJFR0lTIiwgIlJFTEVBU0VEIiwgIkhBU1FPUyIsICJMSVNURU4iLCAiTUVUQSIsICIyNTYiLCAiNTEyIiwgIjEwMjQiLCAiMjA0OCIsICJTRVNTSU9OIiwgIkhBU1NBUCIsICJCT1VORCIsICJDTE9TRSIKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtbGVjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bWxlYy5oCmluZGV4IDc2ZTEwYmEuLmE0NGQ0N2EgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtbGVjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1sZWMuaApAQCAtMjYsNzggKzI2LDc4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgQVRNTEVDX0NUUkwgX0lPKCdhJywgQVRNSU9DX0xBTkUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVE1MRUNfREFUQSBfSU8oJ2EnLCBBVE1JT0NfTEFORSsxKQotI2RlZmluZSBBVE1MRUNfTUNBU1QgX0lPKCdhJywgQVRNSU9DX0xBTkUrMikKKyNkZWZpbmUgQVRNTEVDX0RBVEEgX0lPKCdhJywgQVRNSU9DX0xBTkUgKyAxKQorI2RlZmluZSBBVE1MRUNfTUNBU1QgX0lPKCdhJywgQVRNSU9DX0xBTkUgKyAyKQogI2RlZmluZSBNQVhfTEVDX0lURiA0OAogdHlwZWRlZiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbF9zZXRfbWFjX2FkZHIsCi0gbF9kZWxfbWFjX2FkZHIsCi0gbF9zdmNfc2V0dXAsCi0gbF9hZGRyX2RlbGV0ZSwKKyAgbF9zZXRfbWFjX2FkZHIsCisgIGxfZGVsX21hY19hZGRyLAorICBsX3N2Y19zZXR1cCwKKyAgbF9hZGRyX2RlbGV0ZSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbF90b3BvbG9neV9jaGFuZ2UsCi0gbF9mbHVzaF9jb21wbGV0ZSwKLSBsX2FycF91cGRhdGUsCi0gbF9uYXJwX3JlcSwKKyAgbF90b3BvbG9neV9jaGFuZ2UsCisgIGxfZmx1c2hfY29tcGxldGUsCisgIGxfYXJwX3VwZGF0ZSwKKyAgbF9uYXJwX3JlcSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbF9jb25maWcsCi0gbF9mbHVzaF90cmFuX2lkLAotIGxfc2V0X2xlY2lkLAotIGxfYXJwX3htdCwKKyAgbF9jb25maWcsCisgIGxfZmx1c2hfdHJhbl9pZCwKKyAgbF9zZXRfbGVjaWQsCisgIGxfYXJwX3htdCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbF9yZGVzY19hcnBfeG10LAotIGxfYXNzb2NpYXRlX3JlcSwKLSBsX3Nob3VsZF9icmlkZ2UKKyAgbF9yZGVzY19hcnBfeG10LAorICBsX2Fzc29jaWF0ZV9yZXEsCisgIGxfc2hvdWxkX2JyaWRnZQogfSBhdG1sZWNfbXNnX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVE1MRUNfTVNHX1RZUEVfTUFYIGxfc2hvdWxkX2JyaWRnZQogc3RydWN0IGF0bWxlY19jb25maWdfbXNnIHsKLSB1bnNpZ25lZCBpbnQgbWF4aW11bV91bmtub3duX2ZyYW1lX2NvdW50OwotIHVuc2lnbmVkIGludCBtYXhfdW5rbm93bl9mcmFtZV90aW1lOworICB1bnNpZ25lZCBpbnQgbWF4aW11bV91bmtub3duX2ZyYW1lX2NvdW50OworICB1bnNpZ25lZCBpbnQgbWF4X3Vua25vd25fZnJhbWVfdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgbWF4X3JldHJ5X2NvdW50OwotIHVuc2lnbmVkIGludCBhZ2luZ190aW1lOwotIHVuc2lnbmVkIGludCBmb3J3YXJkX2RlbGF5X3RpbWU7Ci0gdW5zaWduZWQgaW50IGFycF9yZXNwb25zZV90aW1lOworICB1bnNpZ25lZCBzaG9ydCBtYXhfcmV0cnlfY291bnQ7CisgIHVuc2lnbmVkIGludCBhZ2luZ190aW1lOworICB1bnNpZ25lZCBpbnQgZm9yd2FyZF9kZWxheV90aW1lOworICB1bnNpZ25lZCBpbnQgYXJwX3Jlc3BvbnNlX3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBmbHVzaF90aW1lb3V0OwotIHVuc2lnbmVkIGludCBwYXRoX3N3aXRjaGluZ19kZWxheTsKLSB1bnNpZ25lZCBpbnQgbGFuZV92ZXJzaW9uOwotIGludCBtdHU7CisgIHVuc2lnbmVkIGludCBmbHVzaF90aW1lb3V0OworICB1bnNpZ25lZCBpbnQgcGF0aF9zd2l0Y2hpbmdfZGVsYXk7CisgIHVuc2lnbmVkIGludCBsYW5lX3ZlcnNpb247CisgIGludCBtdHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBpc19wcm94eTsKKyAgaW50IGlzX3Byb3h5OwogfTsKIHN0cnVjdCBhdG1sZWNfbXNnIHsKLSBhdG1sZWNfbXNnX3R5cGUgdHlwZTsKKyAgYXRtbGVjX21zZ190eXBlIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzaXplb2Z0bHZzOwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgbWFjX2FkZHJbRVRIX0FMRU5dOworICBpbnQgc2l6ZW9mdGx2czsKKyAgdW5pb24geworICAgIHN0cnVjdCB7CisgICAgICB1bnNpZ25lZCBjaGFyIG1hY19hZGRyW0VUSF9BTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBhdG1fYWRkcltBVE1fRVNBX0xFTl07Ci0gdW5zaWduZWQgaW50IGZsYWc7Ci0gdW5zaWduZWQgaW50IHRhcmdldGxlc3NfbGVfYXJwOwotIHVuc2lnbmVkIGludCBub19zb3VyY2VfbGVfbmFycDsKKyAgICAgIHVuc2lnbmVkIGNoYXIgYXRtX2FkZHJbQVRNX0VTQV9MRU5dOworICAgICAgdW5zaWduZWQgaW50IGZsYWc7CisgICAgICB1bnNpZ25lZCBpbnQgdGFyZ2V0bGVzc19sZV9hcnA7CisgICAgICB1bnNpZ25lZCBpbnQgbm9fc291cmNlX2xlX25hcnA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gbm9ybWFsOwotIHN0cnVjdCBhdG1sZWNfY29uZmlnX21zZyBjb25maWc7Ci0gc3RydWN0IHsKLSBfX3UxNiBsZWNfaWQ7CisgICAgfSBub3JtYWw7CisgICAgc3RydWN0IGF0bWxlY19jb25maWdfbXNnIGNvbmZpZzsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MTYgbGVjX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0cmFuX2lkOwotIHVuc2lnbmVkIGNoYXIgbWFjX2FkZHJbRVRIX0FMRU5dOwotIHVuc2lnbmVkIGNoYXIgYXRtX2FkZHJbQVRNX0VTQV9MRU5dOwotIH0gcHJveHk7CisgICAgICBfX3UzMiB0cmFuX2lkOworICAgICAgdW5zaWduZWQgY2hhciBtYWNfYWRkcltFVEhfQUxFTl07CisgICAgICB1bnNpZ25lZCBjaGFyIGF0bV9hZGRyW0FUTV9FU0FfTEVOXTsKKyAgICB9IHByb3h5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGNvbnRlbnQ7CisgIH0gY29udGVudDsKIH0gX19BVE1fQVBJX0FMSUdOOwogc3RydWN0IGF0bWxlY19pb2MgewotIGludCBkZXZfbnVtOworICBpbnQgZGV2X251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBhdG1fYWRkcltBVE1fRVNBX0xFTl07Ci0gdW5zaWduZWQgY2hhciByZWNlaXZlOworICB1bnNpZ25lZCBjaGFyIGF0bV9hZGRyW0FUTV9FU0FfTEVOXTsKKyAgdW5zaWduZWQgY2hhciByZWNlaXZlOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtbXBjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bW1wYy5oCmluZGV4IGE5NDYwMzAuLjdmZTYwYmQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtbXBjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1tcGMuaApAQCAtMjQsNzEgKzI0LDcxIEBACiAjaW5jbHVkZSA8bGludXgvYXRtLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgQVRNTVBDX0NUUkwgX0lPKCdhJywgQVRNSU9DX01QT0EpCi0jZGVmaW5lIEFUTU1QQ19EQVRBIF9JTygnYScsIEFUTUlPQ19NUE9BKzEpCisjZGVmaW5lIEFUTU1QQ19EQVRBIF9JTygnYScsIEFUTUlPQ19NUE9BICsgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1QQ19TT0NLRVRfSU5HUkVTUyAxCiAjZGVmaW5lIE1QQ19TT0NLRVRfRUdSRVNTIDIKIHN0cnVjdCBhdG1tcGNfaW9jIHsKLSBpbnQgZGV2X251bTsKKyAgaW50IGRldl9udW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBpcGFkZHI7Ci0gaW50IHR5cGU7CisgIF9fYmUzMiBpcGFkZHI7CisgIGludCB0eXBlOwogfTsKIHR5cGVkZWYgc3RydWN0IGluX2N0cmxfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggTGFzdF9OSFJQX0NJRV9jb2RlOwotIF9fdTggTGFzdF9RMjkzMV9jYXVzZV92YWx1ZTsKLSBfX3U4IGVnX01QQ19BVE1fYWRkcltBVE1fRVNBX0xFTl07Ci0gX19iZTMyIHRhZzsKKyAgX191OCBMYXN0X05IUlBfQ0lFX2NvZGU7CisgIF9fdTggTGFzdF9RMjkzMV9jYXVzZV92YWx1ZTsKKyAgX191OCBlZ19NUENfQVRNX2FkZHJbQVRNX0VTQV9MRU5dOworICBfX2JlMzIgdGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgaW5fZHN0X2lwOwotIF9fdTE2IGhvbGRpbmdfdGltZTsKLSBfX3UzMiByZXF1ZXN0X2lkOworICBfX2JlMzIgaW5fZHN0X2lwOworICBfX3UxNiBob2xkaW5nX3RpbWU7CisgIF9fdTMyIHJlcXVlc3RfaWQ7CiB9IGluX2N0cmxfaW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBlZ19jdHJsX2luZm8gewotIF9fdTggRExMX2hlYWRlclsyNTZdOwotIF9fdTggREhfbGVuZ3RoOwotIF9fYmUzMiBjYWNoZV9pZDsKKyAgX191OCBETExfaGVhZGVyWzI1Nl07CisgIF9fdTggREhfbGVuZ3RoOworICBfX2JlMzIgY2FjaGVfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiB0YWc7Ci0gX19iZTMyIG1wc19pcDsKLSBfX2JlMzIgZWdfZHN0X2lwOwotIF9fdTggaW5fTVBDX2RhdGFfQVRNX2FkZHJbQVRNX0VTQV9MRU5dOworICBfX2JlMzIgdGFnOworICBfX2JlMzIgbXBzX2lwOworICBfX2JlMzIgZWdfZHN0X2lwOworICBfX3U4IGluX01QQ19kYXRhX0FUTV9hZGRyW0FUTV9FU0FfTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaG9sZGluZ190aW1lOworICBfX3UxNiBob2xkaW5nX3RpbWU7CiB9IGVnX2N0cmxfaW5mbzsKIHN0cnVjdCBtcGNfcGFyYW1ldGVycyB7Ci0gX191MTYgbXBjX3AxOworICBfX3UxNiBtcGNfcDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG1wY19wMjsKLSBfX3U4IG1wY19wM1s4XTsKLSBfX3UxNiBtcGNfcDQ7Ci0gX191MTYgbXBjX3A1OworICBfX3UxNiBtcGNfcDI7CisgIF9fdTggbXBjX3AzWzhdOworICBfX3UxNiBtcGNfcDQ7CisgIF9fdTE2IG1wY19wNTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbXBjX3A2OwotfSA7CisgIF9fdTE2IG1wY19wNjsKK307CiBzdHJ1Y3Qga19tZXNzYWdlIHsKLSBfX3UxNiB0eXBlOworICBfX3UxNiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgaXBfbWFzazsKLSBfX3U4IE1QU19jdHJsW0FUTV9FU0FfTEVOXTsKLSB1bmlvbiB7Ci0gaW5fY3RybF9pbmZvIGluX2luZm87CisgIF9fYmUzMiBpcF9tYXNrOworICBfX3U4IE1QU19jdHJsW0FUTV9FU0FfTEVOXTsKKyAgdW5pb24geworICAgIGluX2N0cmxfaW5mbyBpbl9pbmZvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBlZ19jdHJsX2luZm8gZWdfaW5mbzsKLSBzdHJ1Y3QgbXBjX3BhcmFtZXRlcnMgcGFyYW1zOwotIH0gY29udGVudDsKLSBzdHJ1Y3QgYXRtX3FvcyBxb3M7CisgICAgZWdfY3RybF9pbmZvIGVnX2luZm87CisgICAgc3RydWN0IG1wY19wYXJhbWV0ZXJzIHBhcmFtczsKKyAgfSBjb250ZW50OworICBzdHJ1Y3QgYXRtX3FvcyBxb3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX0FUTV9BUElfQUxJR047CiBzdHJ1Y3QgbGxjX3NuYXBfaGRyIHsKLSBfX3U4IGRzYXA7Ci0gX191OCBzc2FwOworICBfX3U4IGRzYXA7CisgIF9fdTggc3NhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB1aTsKLSBfX3U4IG9yZ1szXTsKLSBfX3U4IHR5cGVbMl07CisgIF9fdTggdWk7CisgIF9fdTggb3JnWzNdOworICBfX3U4IHR5cGVbMl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVExWX01QT0FfREVWSUNFX1RZUEUgMHgwMGEwM2UyYQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1wcHAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtcHBwLmgKaW5kZXggOThlMmUzMS4uNjMzOWQ1YiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1wcHAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bXBwcC5oCkBAIC0yNCw4ICsyNCw4IEBACiAjZGVmaW5lIFBQUE9BVE1fRU5DQVBTX1ZDICgxKQogI2RlZmluZSBQUFBPQVRNX0VOQ0FQU19MTEMgKDIpCiBzdHJ1Y3QgYXRtX2JhY2tlbmRfcHBwIHsKLSBhdG1fYmFja2VuZF90IGJhY2tlbmRfbnVtOworICBhdG1fYmFja2VuZF90IGJhY2tlbmRfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZW5jYXBzOworICBpbnQgZW5jYXBzOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1zYXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtc2FwLmgKaW5kZXggODVlODAyMC4uN2RjYzI3MyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1zYXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bXNhcC5oCkBAIC03NCw1MSArNzQsNTEgQEAKICNkZWZpbmUgQVRNX01DX0gyMjEgNQogI2RlZmluZSBBVE1fTUFYX0hMSSA4CiBzdHJ1Y3QgYXRtX2JsbGkgewotIHVuc2lnbmVkIGNoYXIgbDJfcHJvdG87CisgIHVuc2lnbmVkIGNoYXIgbDJfcHJvdG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgbW9kZTsKLSB1bnNpZ25lZCBjaGFyIHdpbmRvdzsKKyAgdW5pb24geworICAgIHN0cnVjdCB7CisgICAgICB1bnNpZ25lZCBjaGFyIG1vZGU7CisgICAgICB1bnNpZ25lZCBjaGFyIHdpbmRvdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBpdHU7Ci0gdW5zaWduZWQgY2hhciB1c2VyOwotIH0gbDI7Ci0gdW5zaWduZWQgY2hhciBsM19wcm90bzsKKyAgICB9IGl0dTsKKyAgICB1bnNpZ25lZCBjaGFyIHVzZXI7CisgIH0gbDI7CisgIHVuc2lnbmVkIGNoYXIgbDNfcHJvdG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgbW9kZTsKLSB1bnNpZ25lZCBjaGFyIGRlZl9zaXplOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIHVuc2lnbmVkIGNoYXIgbW9kZTsKKyAgICAgIHVuc2lnbmVkIGNoYXIgZGVmX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgd2luZG93OwotIH0gaXR1OwotIHVuc2lnbmVkIGNoYXIgdXNlcjsKLSBzdHJ1Y3QgeworICAgICAgdW5zaWduZWQgY2hhciB3aW5kb3c7CisgICAgfSBpdHU7CisgICAgdW5zaWduZWQgY2hhciB1c2VyOworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgdGVybV90eXBlOwotIHVuc2lnbmVkIGNoYXIgZndfbXB4X2NhcDsKLSB1bnNpZ25lZCBjaGFyIGJ3X21weF9jYXA7Ci0gfSBoMzEwOworICAgICAgdW5zaWduZWQgY2hhciB0ZXJtX3R5cGU7CisgICAgICB1bnNpZ25lZCBjaGFyIGZ3X21weF9jYXA7CisgICAgICB1bnNpZ25lZCBjaGFyIGJ3X21weF9jYXA7CisgICAgfSBoMzEwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGNoYXIgaXBpOwotIHVuc2lnbmVkIGNoYXIgc25hcFs1XTsKLSB9IHRyOTU3NzsKKyAgICBzdHJ1Y3QgeworICAgICAgdW5zaWduZWQgY2hhciBpcGk7CisgICAgICB1bnNpZ25lZCBjaGFyIHNuYXBbNV07CisgICAgfSB0cjk1Nzc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gbDM7CisgIH0gbDM7CiB9IF9fQVRNX0FQSV9BTElHTjsKIHN0cnVjdCBhdG1fYmhsaSB7Ci0gdW5zaWduZWQgY2hhciBobF90eXBlOworICB1bnNpZ25lZCBjaGFyIGhsX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgaGxfbGVuZ3RoOwotIHVuc2lnbmVkIGNoYXIgaGxfaW5mb1tBVE1fTUFYX0hMSV07CisgIHVuc2lnbmVkIGNoYXIgaGxfbGVuZ3RoOworICB1bnNpZ25lZCBjaGFyIGhsX2luZm9bQVRNX01BWF9ITEldOwogfTsKICNkZWZpbmUgQVRNX01BWF9CTExJIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYXRtX3NhcCB7Ci0gc3RydWN0IGF0bV9iaGxpIGJobGk7Ci0gc3RydWN0IGF0bV9ibGxpIGJsbGlbQVRNX01BWF9CTExJXSBfX0FUTV9BUElfQUxJR047CisgIHN0cnVjdCBhdG1fYmhsaSBiaGxpOworICBzdHJ1Y3QgYXRtX2JsbGkgYmxsaVtBVE1fTUFYX0JMTEldIF9fQVRNX0FQSV9BTElHTjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bXN2Yy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdG1zdmMuaAppbmRleCAyODU5NzdjLi4yZGYwODcwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F0bXN2Yy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXRtc3ZjLmgKQEAgLTIyLDI3ICsyMiw0NCBAQAogI2luY2x1ZGUgPGxpbnV4L2F0bS5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpbmNsdWRlIDxsaW51eC9hdG1pb2MuaD4KLSNkZWZpbmUgQVRNU0lHRF9DVFJMIF9JTygnYScsQVRNSU9DX1NQRUNJQUwpCi1lbnVtIGF0bXN2Y19tc2dfdHlwZSB7IGFzX2NhdGNoX251bGwsIGFzX2JpbmQsIGFzX2Nvbm5lY3QsIGFzX2FjY2VwdCwgYXNfcmVqZWN0LAotIGFzX2xpc3RlbiwgYXNfb2theSwgYXNfZXJyb3IsIGFzX2luZGljYXRlLCBhc19jbG9zZSwKKyNkZWZpbmUgQVRNU0lHRF9DVFJMIF9JTygnYScsIEFUTUlPQ19TUEVDSUFMKQorZW51bSBhdG1zdmNfbXNnX3R5cGUgeworICBhc19jYXRjaF9udWxsLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBhc19pdGZfbm90aWZ5LCBhc19tb2RpZnksIGFzX2lkZW50aWZ5LCBhc190ZXJtaW5hdGUsCi0gYXNfYWRkcGFydHksIGFzX2Ryb3BwYXJ0eSB9OworICBhc19iaW5kLAorICBhc19jb25uZWN0LAorICBhc19hY2NlcHQsCisgIGFzX3JlamVjdCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGFzX2xpc3RlbiwKKyAgYXNfb2theSwKKyAgYXNfZXJyb3IsCisgIGFzX2luZGljYXRlLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgYXNfY2xvc2UsCisgIGFzX2l0Zl9ub3RpZnksCisgIGFzX21vZGlmeSwKKyAgYXNfaWRlbnRpZnksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBhc190ZXJtaW5hdGUsCisgIGFzX2FkZHBhcnR5LAorICBhc19kcm9wcGFydHkKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGF0bXN2Y19tc2cgewotIGVudW0gYXRtc3ZjX21zZ190eXBlIHR5cGU7CisgIGVudW0gYXRtc3ZjX21zZ190eXBlIHR5cGU7CisgIGF0bV9rcHRyX3QgdmNjOworICBhdG1fa3B0cl90IGxpc3Rlbl92Y2M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGF0bV9rcHRyX3QgdmNjOwotIGF0bV9rcHRyX3QgbGlzdGVuX3ZjYzsKLSBpbnQgcmVwbHk7Ci0gc3RydWN0IHNvY2thZGRyX2F0bXB2YyBwdmM7CisgIGludCByZXBseTsKKyAgc3RydWN0IHNvY2thZGRyX2F0bXB2YyBwdmM7CisgIHN0cnVjdCBzb2NrYWRkcl9hdG1zdmMgbG9jYWw7CisgIHN0cnVjdCBhdG1fcW9zIHFvczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNvY2thZGRyX2F0bXN2YyBsb2NhbDsKLSBzdHJ1Y3QgYXRtX3FvcyBxb3M7Ci0gc3RydWN0IGF0bV9zYXAgc2FwOwotIHVuc2lnbmVkIGludCBzZXNzaW9uOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHJfYXRtc3ZjIHN2YzsKKyAgc3RydWN0IGF0bV9zYXAgc2FwOworICB1bnNpZ25lZCBpbnQgc2Vzc2lvbjsKKyAgc3RydWN0IHNvY2thZGRyX2F0bXN2YyBzdmM7CiB9IF9fQVRNX0FQSV9BTElHTjsKLSNkZWZpbmUgU0VMRUNUX1RPUF9QQ1IodHApICgodHApLnBjciA/ICh0cCkucGNyIDogICAodHApLm1heF9wY3IgJiYgKHRwKS5tYXhfcGNyICE9IEFUTV9NQVhfUENSID8gKHRwKS5tYXhfcGNyIDogICAodHApLm1pbl9wY3IgPyAodHApLm1pbl9wY3IgOiBBVE1fTUFYX1BDUikKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0VMRUNUX1RPUF9QQ1IodHApICgodHApLnBjciA/ICh0cCkucGNyIDogKHRwKS5tYXhfcGNyICYmICh0cCkubWF4X3BjciAhPSBBVE1fTUFYX1BDUiA/ICh0cCkubWF4X3BjciA6ICh0cCkubWluX3BjciA/ICh0cCkubWluX3BjciA6IEFUTV9NQVhfUENSKQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F1ZGl0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F1ZGl0LmgKaW5kZXggYjUwNjUxMi4uZGE2Yzc0NiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdWRpdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXVkaXQuaApAQCAtNDYsMjg0ICs0NiwyOTQgQEAKICNkZWZpbmUgQVVESVRfU0VUX0ZFQVRVUkUgMTAxOAogI2RlZmluZSBBVURJVF9HRVRfRkVBVFVSRSAxMDE5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVURJVF9GRUFUVVJFX0NIQU5HRSAxMDIwCiAjZGVmaW5lIEFVRElUX0ZJUlNUX1VTRVJfTVNHIDExMDAKICNkZWZpbmUgQVVESVRfVVNFUl9BVkMgMTEwNwogI2RlZmluZSBBVURJVF9VU0VSX1RUWSAxMTI0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9MQVNUX1VTRVJfTVNHIDExOTkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElUX0ZJUlNUX1VTRVJfTVNHMiAyMTAwCiAjZGVmaW5lIEFVRElUX0xBU1RfVVNFUl9NU0cyIDI5OTkKICNkZWZpbmUgQVVESVRfREFFTU9OX1NUQVJUIDEyMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElUX0RBRU1PTl9FTkQgMTIwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfREFFTU9OX0FCT1JUIDEyMDIKICNkZWZpbmUgQVVESVRfREFFTU9OX0NPTkZJRyAxMjAzCiAjZGVmaW5lIEFVRElUX1NZU0NBTEwgMTMwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfUEFUSCAxMzAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9JUEMgMTMwMwogI2RlZmluZSBBVURJVF9TT0NLRVRDQUxMIDEzMDQKICNkZWZpbmUgQVVESVRfQ09ORklHX0NIQU5HRSAxMzA1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9TT0NLQUREUiAxMzA2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9DV0QgMTMwNwogI2RlZmluZSBBVURJVF9FWEVDVkUgMTMwOQogI2RlZmluZSBBVURJVF9JUENfU0VUX1BFUk0gMTMxMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfTVFfT1BFTiAxMzEyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9NUV9TRU5EUkVDViAxMzEzCiAjZGVmaW5lIEFVRElUX01RX05PVElGWSAxMzE0CiAjZGVmaW5lIEFVRElUX01RX0dFVFNFVEFUVFIgMTMxNQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfS0VSTkVMX09USEVSIDEzMTYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElUX0ZEX1BBSVIgMTMxNwogI2RlZmluZSBBVURJVF9PQkpfUElEIDEzMTgKICNkZWZpbmUgQVVESVRfVFRZIDEzMTkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElUX0VPRSAxMzIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9CUFJNX0ZDQVBTIDEzMjEKICNkZWZpbmUgQVVESVRfQ0FQU0VUIDEzMjIKICNkZWZpbmUgQVVESVRfTU1BUCAxMzIzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9ORVRGSUxURVJfUEtUIDEzMjQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElUX05FVEZJTFRFUl9DRkcgMTMyNQogI2RlZmluZSBBVURJVF9TRUNDT01QIDEzMjYKLSNkZWZpbmUgQVVESVRfQVZDIDE0MDAKKyNkZWZpbmUgQVVESVRfUFJPQ1RJVExFIDEzMjcKKyNkZWZpbmUgQVVESVRfRkVBVFVSRV9DSEFOR0UgMTMyOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQVZDIDE0MDAKICNkZWZpbmUgQVVESVRfU0VMSU5VWF9FUlIgMTQwMQogI2RlZmluZSBBVURJVF9BVkNfUEFUSCAxNDAyCiAjZGVmaW5lIEFVRElUX01BQ19QT0xJQ1lfTE9BRCAxNDAzCi0jZGVmaW5lIEFVRElUX01BQ19TVEFUVVMgMTQwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfTUFDX1NUQVRVUyAxNDA0CiAjZGVmaW5lIEFVRElUX01BQ19DT05GSUdfQ0hBTkdFIDE0MDUKICNkZWZpbmUgQVVESVRfTUFDX1VOTEJMX0FMTE9XIDE0MDYKICNkZWZpbmUgQVVESVRfTUFDX0NJUFNPVjRfQUREIDE0MDcKLSNkZWZpbmUgQVVESVRfTUFDX0NJUFNPVjRfREVMIDE0MDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX01BQ19DSVBTT1Y0X0RFTCAxNDA4CiAjZGVmaW5lIEFVRElUX01BQ19NQVBfQUREIDE0MDkKICNkZWZpbmUgQVVESVRfTUFDX01BUF9ERUwgMTQxMAogI2RlZmluZSBBVURJVF9NQUNfSVBTRUNfQUREU0EgMTQxMQotI2RlZmluZSBBVURJVF9NQUNfSVBTRUNfREVMU0EgMTQxMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfTUFDX0lQU0VDX0RFTFNBIDE0MTIKICNkZWZpbmUgQVVESVRfTUFDX0lQU0VDX0FERFNQRCAxNDEzCiAjZGVmaW5lIEFVRElUX01BQ19JUFNFQ19ERUxTUEQgMTQxNAogI2RlZmluZSBBVURJVF9NQUNfSVBTRUNfRVZFTlQgMTQxNQotI2RlZmluZSBBVURJVF9NQUNfVU5MQkxfU1RDQUREIDE0MTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX01BQ19VTkxCTF9TVENBREQgMTQxNgogI2RlZmluZSBBVURJVF9NQUNfVU5MQkxfU1RDREVMIDE0MTcKICNkZWZpbmUgQVVESVRfRklSU1RfS0VSTl9BTk9NX01TRyAxNzAwCiAjZGVmaW5lIEFVRElUX0xBU1RfS0VSTl9BTk9NX01TRyAxNzk5Ci0jZGVmaW5lIEFVRElUX0FOT01fUFJPTUlTQ1VPVVMgMTcwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQU5PTV9QUk9NSVNDVU9VUyAxNzAwCiAjZGVmaW5lIEFVRElUX0FOT01fQUJFTkQgMTcwMQogI2RlZmluZSBBVURJVF9BTk9NX0xJTksgMTcwMgogI2RlZmluZSBBVURJVF9JTlRFR1JJVFlfREFUQSAxODAwCi0jZGVmaW5lIEFVRElUX0lOVEVHUklUWV9NRVRBREFUQSAxODAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9JTlRFR1JJVFlfTUVUQURBVEEgMTgwMQogI2RlZmluZSBBVURJVF9JTlRFR1JJVFlfU1RBVFVTIDE4MDIKICNkZWZpbmUgQVVESVRfSU5URUdSSVRZX0hBU0ggMTgwMwogI2RlZmluZSBBVURJVF9JTlRFR1JJVFlfUENSIDE4MDQKLSNkZWZpbmUgQVVESVRfSU5URUdSSVRZX1JVTEUgMTgwNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfSU5URUdSSVRZX1JVTEUgMTgwNQogI2RlZmluZSBBVURJVF9LRVJORUwgMjAwMAogI2RlZmluZSBBVURJVF9GSUxURVJfVVNFUiAweDAwCiAjZGVmaW5lIEFVRElUX0ZJTFRFUl9UQVNLIDB4MDEKLSNkZWZpbmUgQVVESVRfRklMVEVSX0VOVFJZIDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX0ZJTFRFUl9FTlRSWSAweDAyCiAjZGVmaW5lIEFVRElUX0ZJTFRFUl9XQVRDSCAweDAzCiAjZGVmaW5lIEFVRElUX0ZJTFRFUl9FWElUIDB4MDQKICNkZWZpbmUgQVVESVRfRklMVEVSX1RZUEUgMHgwNQotI2RlZmluZSBBVURJVF9OUl9GSUxURVJTIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX05SX0ZJTFRFUlMgNgogI2RlZmluZSBBVURJVF9GSUxURVJfUFJFUEVORCAweDEwCiAjZGVmaW5lIEFVRElUX05FVkVSIDAKICNkZWZpbmUgQVVESVRfUE9TU0lCTEUgMQotI2RlZmluZSBBVURJVF9BTFdBWVMgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQUxXQVlTIDIKICNkZWZpbmUgQVVESVRfTUFYX0ZJRUxEUyA2NAogI2RlZmluZSBBVURJVF9NQVhfS0VZX0xFTiAyNTYKICNkZWZpbmUgQVVESVRfQklUTUFTS19TSVpFIDY0Ci0jZGVmaW5lIEFVRElUX1dPUkQobnIpICgoX191MzIpKChucikvMzIpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVVESVRfQklUKG5yKSAoMSA8PCAoKG5yKSAtIEFVRElUX1dPUkQobnIpKjMyKSkKKyNkZWZpbmUgQVVESVRfV09SRChucikgKChfX3UzMikgKChucikgLyAzMikpCisjZGVmaW5lIEFVRElUX0JJVChucikgKDEgPDwgKChucikgLSBBVURJVF9XT1JEKG5yKSAqIDMyKSkKICNkZWZpbmUgQVVESVRfU1lTQ0FMTF9DTEFTU0VTIDE2CiAjZGVmaW5lIEFVRElUX0NMQVNTX0RJUl9XUklURSAwCi0jZGVmaW5lIEFVRElUX0NMQVNTX0RJUl9XUklURV8zMiAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9DTEFTU19ESVJfV1JJVEVfMzIgMQogI2RlZmluZSBBVURJVF9DTEFTU19DSEFUVFIgMgogI2RlZmluZSBBVURJVF9DTEFTU19DSEFUVFJfMzIgMwogI2RlZmluZSBBVURJVF9DTEFTU19SRUFEIDQKLSNkZWZpbmUgQVVESVRfQ0xBU1NfUkVBRF8zMiA1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9DTEFTU19SRUFEXzMyIDUKICNkZWZpbmUgQVVESVRfQ0xBU1NfV1JJVEUgNgogI2RlZmluZSBBVURJVF9DTEFTU19XUklURV8zMiA3CiAjZGVmaW5lIEFVRElUX0NMQVNTX1NJR05BTCA4Ci0jZGVmaW5lIEFVRElUX0NMQVNTX1NJR05BTF8zMiA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9DTEFTU19TSUdOQUxfMzIgOQogI2RlZmluZSBBVURJVF9VTlVTRURfQklUUyAweDA3RkZGQzAwCiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfVUlEX1RPX09CSl9VSUQgMQogI2RlZmluZSBBVURJVF9DT01QQVJFX0dJRF9UT19PQkpfR0lEIDIKLSNkZWZpbmUgQVVESVRfQ09NUEFSRV9FVUlEX1RPX09CSl9VSUQgMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQ09NUEFSRV9FVUlEX1RPX09CSl9VSUQgMwogI2RlZmluZSBBVURJVF9DT01QQVJFX0VHSURfVE9fT0JKX0dJRCA0CiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfQVVJRF9UT19PQkpfVUlEIDUKICNkZWZpbmUgQVVESVRfQ09NUEFSRV9TVUlEX1RPX09CSl9VSUQgNgotI2RlZmluZSBBVURJVF9DT01QQVJFX1NHSURfVE9fT0JKX0dJRCA3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9DT01QQVJFX1NHSURfVE9fT0JKX0dJRCA3CiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfRlNVSURfVE9fT0JKX1VJRCA4CiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfRlNHSURfVE9fT0JKX0dJRCA5CiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfVUlEX1RPX0FVSUQgMTAKLSNkZWZpbmUgQVVESVRfQ09NUEFSRV9VSURfVE9fRVVJRCAxMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQ09NUEFSRV9VSURfVE9fRVVJRCAxMQogI2RlZmluZSBBVURJVF9DT01QQVJFX1VJRF9UT19GU1VJRCAxMgogI2RlZmluZSBBVURJVF9DT01QQVJFX1VJRF9UT19TVUlEIDEzCiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfQVVJRF9UT19GU1VJRCAxNAotI2RlZmluZSBBVURJVF9DT01QQVJFX0FVSURfVE9fU1VJRCAxNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQ09NUEFSRV9BVUlEX1RPX1NVSUQgMTUKICNkZWZpbmUgQVVESVRfQ09NUEFSRV9BVUlEX1RPX0VVSUQgMTYKICNkZWZpbmUgQVVESVRfQ09NUEFSRV9FVUlEX1RPX1NVSUQgMTcKICNkZWZpbmUgQVVESVRfQ09NUEFSRV9FVUlEX1RPX0ZTVUlEIDE4Ci0jZGVmaW5lIEFVRElUX0NPTVBBUkVfU1VJRF9UT19GU1VJRCAxOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQ09NUEFSRV9TVUlEX1RPX0ZTVUlEIDE5CiAjZGVmaW5lIEFVRElUX0NPTVBBUkVfR0lEX1RPX0VHSUQgMjAKICNkZWZpbmUgQVVESVRfQ09NUEFSRV9HSURfVE9fRlNHSUQgMjEKICNkZWZpbmUgQVVESVRfQ09NUEFSRV9HSURfVE9fU0dJRCAyMgotI2RlZmluZSBBVURJVF9DT01QQVJFX0VHSURfVE9fRlNHSUQgMjMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX0NPTVBBUkVfRUdJRF9UT19GU0dJRCAyMwogI2RlZmluZSBBVURJVF9DT01QQVJFX0VHSURfVE9fU0dJRCAyNAogI2RlZmluZSBBVURJVF9DT01QQVJFX1NHSURfVE9fRlNHSUQgMjUKICNkZWZpbmUgQVVESVRfTUFYX0ZJRUxEX0NPTVBBUkUgQVVESVRfQ09NUEFSRV9TR0lEX1RPX0ZTR0lECi0jZGVmaW5lIEFVRElUX1BJRCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9QSUQgMAogI2RlZmluZSBBVURJVF9VSUQgMQogI2RlZmluZSBBVURJVF9FVUlEIDIKICNkZWZpbmUgQVVESVRfU1VJRCAzCi0jZGVmaW5lIEFVRElUX0ZTVUlEIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX0ZTVUlEIDQKICNkZWZpbmUgQVVESVRfR0lEIDUKICNkZWZpbmUgQVVESVRfRUdJRCA2CiAjZGVmaW5lIEFVRElUX1NHSUQgNwotI2RlZmluZSBBVURJVF9GU0dJRCA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBVURJVF9GU0dJRCA4CiAjZGVmaW5lIEFVRElUX0xPR0lOVUlEIDkKICNkZWZpbmUgQVVESVRfUEVSUyAxMAogI2RlZmluZSBBVURJVF9BUkNIIDExCi0jZGVmaW5lIEFVRElUX01TR1RZUEUgMTIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX01TR1RZUEUgMTIKICNkZWZpbmUgQVVESVRfU1VCSl9VU0VSIDEzCiAjZGVmaW5lIEFVRElUX1NVQkpfUk9MRSAxNAogI2RlZmluZSBBVURJVF9TVUJKX1RZUEUgMTUKLSNkZWZpbmUgQVVESVRfU1VCSl9TRU4gMTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX1NVQkpfU0VOIDE2CiAjZGVmaW5lIEFVRElUX1NVQkpfQ0xSIDE3CiAjZGVmaW5lIEFVRElUX1BQSUQgMTgKICNkZWZpbmUgQVVESVRfT0JKX1VTRVIgMTkKLSNkZWZpbmUgQVVESVRfT0JKX1JPTEUgMjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX09CSl9ST0xFIDIwCiAjZGVmaW5lIEFVRElUX09CSl9UWVBFIDIxCiAjZGVmaW5lIEFVRElUX09CSl9MRVZfTE9XIDIyCiAjZGVmaW5lIEFVRElUX09CSl9MRVZfSElHSCAyMwotI2RlZmluZSBBVURJVF9MT0dJTlVJRF9TRVQgMjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX0xPR0lOVUlEX1NFVCAyNAogI2RlZmluZSBBVURJVF9ERVZNQUpPUiAxMDAKICNkZWZpbmUgQVVESVRfREVWTUlOT1IgMTAxCiAjZGVmaW5lIEFVRElUX0lOT0RFIDEwMgotI2RlZmluZSBBVURJVF9FWElUIDEwMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfRVhJVCAxMDMKICNkZWZpbmUgQVVESVRfU1VDQ0VTUyAxMDQKICNkZWZpbmUgQVVESVRfV0FUQ0ggMTA1CiAjZGVmaW5lIEFVRElUX1BFUk0gMTA2Ci0jZGVmaW5lIEFVRElUX0RJUiAxMDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX0RJUiAxMDcKICNkZWZpbmUgQVVESVRfRklMRVRZUEUgMTA4CiAjZGVmaW5lIEFVRElUX09CSl9VSUQgMTA5CiAjZGVmaW5lIEFVRElUX09CSl9HSUQgMTEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9GSUVMRF9DT01QQVJFIDExMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfQVJHMCAyMDAKLSNkZWZpbmUgQVVESVRfQVJHMSAoQVVESVRfQVJHMCsxKQotI2RlZmluZSBBVURJVF9BUkcyIChBVURJVF9BUkcwKzIpCi0jZGVmaW5lIEFVRElUX0FSRzMgKEFVRElUX0FSRzArMykKKyNkZWZpbmUgQVVESVRfQVJHMSAoQVVESVRfQVJHMCArIDEpCisjZGVmaW5lIEFVRElUX0FSRzIgKEFVRElUX0FSRzAgKyAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQVJHMyAoQVVESVRfQVJHMCArIDMpCiAjZGVmaW5lIEFVRElUX0ZJTFRFUktFWSAyMTAKICNkZWZpbmUgQVVESVRfTkVHQVRFIDB4ODAwMDAwMDAKICNkZWZpbmUgQVVESVRfQklUX01BU0sgMHgwODAwMDAwMAotI2RlZmluZSBBVURJVF9MRVNTX1RIQU4gMHgxMDAwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfTEVTU19USEFOIDB4MTAwMDAwMDAKICNkZWZpbmUgQVVESVRfR1JFQVRFUl9USEFOIDB4MjAwMDAwMDAKICNkZWZpbmUgQVVESVRfTk9UX0VRVUFMIDB4MzAwMDAwMDAKICNkZWZpbmUgQVVESVRfRVFVQUwgMHg0MDAwMDAwMAotI2RlZmluZSBBVURJVF9CSVRfVEVTVCAoQVVESVRfQklUX01BU0t8QVVESVRfRVFVQUwpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVURJVF9MRVNTX1RIQU5fT1JfRVFVQUwgKEFVRElUX0xFU1NfVEhBTnxBVURJVF9FUVVBTCkKLSNkZWZpbmUgQVVESVRfR1JFQVRFUl9USEFOX09SX0VRVUFMIChBVURJVF9HUkVBVEVSX1RIQU58QVVESVRfRVFVQUwpCi0jZGVmaW5lIEFVRElUX09QRVJBVE9SUyAoQVVESVRfRVFVQUx8QVVESVRfTk9UX0VRVUFMfEFVRElUX0JJVF9NQVNLKQorI2RlZmluZSBBVURJVF9CSVRfVEVTVCAoQVVESVRfQklUX01BU0sgfCBBVURJVF9FUVVBTCkKKyNkZWZpbmUgQVVESVRfTEVTU19USEFOX09SX0VRVUFMIChBVURJVF9MRVNTX1RIQU4gfCBBVURJVF9FUVVBTCkKKyNkZWZpbmUgQVVESVRfR1JFQVRFUl9USEFOX09SX0VRVUFMIChBVURJVF9HUkVBVEVSX1RIQU4gfCBBVURJVF9FUVVBTCkKKyNkZWZpbmUgQVVESVRfT1BFUkFUT1JTIChBVURJVF9FUVVBTCB8IEFVRElUX05PVF9FUVVBTCB8IEFVRElUX0JJVF9NQVNLKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0geworICBBdWRpdF9lcXVhbCwKKyAgQXVkaXRfbm90X2VxdWFsLAorICBBdWRpdF9iaXRtYXNrLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBBdWRpdF9lcXVhbCwKLSBBdWRpdF9ub3RfZXF1YWwsCi0gQXVkaXRfYml0bWFzaywKLSBBdWRpdF9iaXR0ZXN0LAorICBBdWRpdF9iaXR0ZXN0LAorICBBdWRpdF9sdCwKKyAgQXVkaXRfZ3QsCisgIEF1ZGl0X2xlLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBBdWRpdF9sdCwKLSBBdWRpdF9ndCwKLSBBdWRpdF9sZSwKLSBBdWRpdF9nZSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQXVkaXRfYmFkCisgIEF1ZGl0X2dlLAorICBBdWRpdF9iYWQKIH07CiAjZGVmaW5lIEFVRElUX1NUQVRVU19FTkFCTEVEIDB4MDAwMQotI2RlZmluZSBBVURJVF9TVEFUVVNfRkFJTFVSRSAweDAwMDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX1NUQVRVU19GQUlMVVJFIDB4MDAwMgogI2RlZmluZSBBVURJVF9TVEFUVVNfUElEIDB4MDAwNAogI2RlZmluZSBBVURJVF9TVEFUVVNfUkFURV9MSU1JVCAweDAwMDgKICNkZWZpbmUgQVVESVRfU1RBVFVTX0JBQ0tMT0dfTElNSVQgMHgwMDEwCi0jZGVmaW5lIEFVRElUX1NUQVRVU19CQUNLTE9HX1dBSVRfVElNRSAweDAwMjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX1NUQVRVU19CQUNLTE9HX1dBSVRfVElNRSAweDAwMjAKICNkZWZpbmUgQVVESVRfVkVSU0lPTl9CQUNLTE9HX0xJTUlUIDEKICNkZWZpbmUgQVVESVRfVkVSU0lPTl9CQUNLTE9HX1dBSVRfVElNRSAyCiAjZGVmaW5lIEFVRElUX1ZFUlNJT05fTEFURVNUIEFVRElUX1ZFUlNJT05fQkFDS0xPR19XQUlUX1RJTUUKLSNkZWZpbmUgQVVESVRfRkFJTF9TSUxFTlQgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfRkFJTF9TSUxFTlQgMAogI2RlZmluZSBBVURJVF9GQUlMX1BSSU5USyAxCiAjZGVmaW5lIEFVRElUX0ZBSUxfUEFOSUMgMgorI2RlZmluZSBfX0FVRElUX0FSQ0hfQ09OVkVOVElPTl9NQVNLIDB4MzAwMDAwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fQVVESVRfQVJDSF9DT05WRU5USU9OX01JUFM2NF9OMzIgMHgyMDAwMDAwMAogI2RlZmluZSBfX0FVRElUX0FSQ0hfNjRCSVQgMHg4MDAwMDAwMAogI2RlZmluZSBfX0FVRElUX0FSQ0hfTEUgMHg0MDAwMDAwMAorI2RlZmluZSBBVURJVF9BUkNIX0FBUkNINjQgKEVNX0FBUkNINjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVURJVF9BUkNIX0FMUEhBIChFTV9BTFBIQXxfX0FVRElUX0FSQ0hfNjRCSVR8X19BVURJVF9BUkNIX0xFKQotI2RlZmluZSBBVURJVF9BUkNIX0FSTSAoRU1fQVJNfF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9BTFBIQSAoRU1fQUxQSEEgfCBfX0FVRElUX0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCisjZGVmaW5lIEFVRElUX0FSQ0hfQVJNIChFTV9BUk0gfCBfX0FVRElUX0FSQ0hfTEUpCiAjZGVmaW5lIEFVRElUX0FSQ0hfQVJNRUIgKEVNX0FSTSkKLSNkZWZpbmUgQVVESVRfQVJDSF9DUklTIChFTV9DUklTfF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9DUklTIChFTV9DUklTIHwgX19BVURJVF9BUkNIX0xFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfQVJDSF9GUlYgKEVNX0ZSVikKLSNkZWZpbmUgQVVESVRfQVJDSF9JMzg2IChFTV8zODZ8X19BVURJVF9BUkNIX0xFKQotI2RlZmluZSBBVURJVF9BUkNIX0lBNjQgKEVNX0lBXzY0fF9fQVVESVRfQVJDSF82NEJJVHxfX0FVRElUX0FSQ0hfTEUpCisjZGVmaW5lIEFVRElUX0FSQ0hfSTM4NiAoRU1fMzg2IHwgX19BVURJVF9BUkNIX0xFKQorI2RlZmluZSBBVURJVF9BUkNIX0lBNjQgKEVNX0lBXzY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQogI2RlZmluZSBBVURJVF9BUkNIX00zMlIgKEVNX00zMlIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9BUkNIX002OEsgKEVNXzY4SykKKyNkZWZpbmUgQVVESVRfQVJDSF9NSUNST0JMQVpFIChFTV9NSUNST0JMQVpFKQogI2RlZmluZSBBVURJVF9BUkNIX01JUFMgKEVNX01JUFMpCi0jZGVmaW5lIEFVRElUX0FSQ0hfTUlQU0VMIChFTV9NSVBTfF9fQVVESVRfQVJDSF9MRSkKLSNkZWZpbmUgQVVESVRfQVJDSF9NSVBTNjQgKEVNX01JUFN8X19BVURJVF9BUkNIXzY0QklUKQorI2RlZmluZSBBVURJVF9BUkNIX01JUFNFTCAoRU1fTUlQUyB8IF9fQVVESVRfQVJDSF9MRSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFVRElUX0FSQ0hfTUlQU0VMNjQgKEVNX01JUFN8X19BVURJVF9BUkNIXzY0QklUfF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9NSVBTNjQgKEVNX01JUFMgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCisjZGVmaW5lIEFVRElUX0FSQ0hfTUlQUzY0TjMyIChFTV9NSVBTIHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0NPTlZFTlRJT05fTUlQUzY0X04zMikKKyNkZWZpbmUgQVVESVRfQVJDSF9NSVBTRUw2NCAoRU1fTUlQUyB8IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9NSVBTRUw2NE4zMiAoRU1fTUlQUyB8IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSB8IF9fQVVESVRfQVJDSF9DT05WRU5USU9OX01JUFM2NF9OMzIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9BUkNIX09QRU5SSVNDIChFTV9PUEVOUklTQykKICNkZWZpbmUgQVVESVRfQVJDSF9QQVJJU0MgKEVNX1BBUklTQykKLSNkZWZpbmUgQVVESVRfQVJDSF9QQVJJU0M2NCAoRU1fUEFSSVNDfF9fQVVESVRfQVJDSF82NEJJVCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFVRElUX0FSQ0hfUEFSSVNDNjQgKEVNX1BBUklTQyB8IF9fQVVESVRfQVJDSF82NEJJVCkKICNkZWZpbmUgQVVESVRfQVJDSF9QUEMgKEVNX1BQQykKLSNkZWZpbmUgQVVESVRfQVJDSF9QUEM2NCAoRU1fUFBDNjR8X19BVURJVF9BUkNIXzY0QklUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVESVRfQVJDSF9QUEM2NCAoRU1fUFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCisjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjRMRSAoRU1fUFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCiAjZGVmaW5lIEFVRElUX0FSQ0hfUzM5MCAoRU1fUzM5MCkKLSNkZWZpbmUgQVVESVRfQVJDSF9TMzkwWCAoRU1fUzM5MHxfX0FVRElUX0FSQ0hfNjRCSVQpCisjZGVmaW5lIEFVRElUX0FSQ0hfUzM5MFggKEVNX1MzOTAgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJVF9BUkNIX1NIIChFTV9TSCkKLSNkZWZpbmUgQVVESVRfQVJDSF9TSEVMIChFTV9TSHxfX0FVRElUX0FSQ0hfTEUpCi0jZGVmaW5lIEFVRElUX0FSQ0hfU0g2NCAoRU1fU0h8X19BVURJVF9BUkNIXzY0QklUKQotI2RlZmluZSBBVURJVF9BUkNIX1NIRUw2NCAoRU1fU0h8X19BVURJVF9BUkNIXzY0QklUfF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9TSEVMIChFTV9TSCB8IF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9TSDY0IChFTV9TSCB8IF9fQVVESVRfQVJDSF82NEJJVCkKKyNkZWZpbmUgQVVESVRfQVJDSF9TSEVMNjQgKEVNX1NIIHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfQVJDSF9TUEFSQyAoRU1fU1BBUkMpCi0jZGVmaW5lIEFVRElUX0FSQ0hfU1BBUkM2NCAoRU1fU1BBUkNWOXxfX0FVRElUX0FSQ0hfNjRCSVQpCi0jZGVmaW5lIEFVRElUX0FSQ0hfWDg2XzY0IChFTV9YODZfNjR8X19BVURJVF9BUkNIXzY0QklUfF9fQVVESVRfQVJDSF9MRSkKKyNkZWZpbmUgQVVESVRfQVJDSF9TUEFSQzY0IChFTV9TUEFSQ1Y5IHwgX19BVURJVF9BUkNIXzY0QklUKQorI2RlZmluZSBBVURJVF9BUkNIX1g4Nl82NCAoRU1fWDg2XzY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQogI2RlZmluZSBBVURJVF9QRVJNX0VYRUMgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfUEVSTV9XUklURSAyCkBAIC0zMzEsNjQgKzM0MSw2MSBAQAogI2RlZmluZSBBVURJVF9QRVJNX0FUVFIgOAogI2RlZmluZSBBVURJVF9NRVNTQUdFX1RFWFRfTUFYIDg1NjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgYXVkaXRfc3RhdHVzIHsKLSBfX3UzMiBtYXNrOwotIF9fdTMyIGVuYWJsZWQ7Ci0gX191MzIgZmFpbHVyZTsKK2VudW0gYXVkaXRfbmxncnBzIHsKKyAgQVVESVRfTkxHUlBfTk9ORSwKKyAgQVVESVRfTkxHUlBfUkVBRExPRywKKyAgX19BVURJVF9OTEdSUF9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGlkOwotIF9fdTMyIHJhdGVfbGltaXQ7Ci0gX191MzIgYmFja2xvZ19saW1pdDsKLSBfX3UzMiBsb3N0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBiYWNrbG9nOwotIF9fdTMyIHZlcnNpb247Ci0gX191MzIgYmFja2xvZ193YWl0X3RpbWU7CiB9OworI2RlZmluZSBBVURJVF9OTEdSUF9NQVggKF9fQVVESVRfTkxHUlBfTUFYIC0gMSkKK3N0cnVjdCBhdWRpdF9zdGF0dXMgeworICBfX3UzMiBtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZW5hYmxlZDsKKyAgX191MzIgZmFpbHVyZTsKKyAgX191MzIgcGlkOworICBfX3UzMiByYXRlX2xpbWl0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgYmFja2xvZ19saW1pdDsKKyAgX191MzIgbG9zdDsKKyAgX191MzIgYmFja2xvZzsKKyAgX191MzIgdmVyc2lvbjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGJhY2tsb2dfd2FpdF90aW1lOworfTsKIHN0cnVjdCBhdWRpdF9mZWF0dXJlcyB7CiAjZGVmaW5lIEFVRElUX0ZFQVRVUkVfVkVSU0lPTiAxCi0gX191MzIgdmVyczsKLSBfX3UzMiBtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmZWF0dXJlczsKLSBfX3UzMiBsb2NrOworICBfX3UzMiB2ZXJzOworICBfX3UzMiBtYXNrOworICBfX3UzMiBmZWF0dXJlczsKKyAgX191MzIgbG9jazsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBBVURJVF9GRUFUVVJFX09OTFlfVU5TRVRfTE9HSU5VSUQgMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESVRfRkVBVFVSRV9MT0dJTlVJRF9JTU1VVEFCTEUgMQogI2RlZmluZSBBVURJVF9MQVNUX0ZFQVRVUkUgQVVESVRfRkVBVFVSRV9MT0dJTlVJRF9JTU1VVEFCTEUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIGF1ZGl0X2ZlYXR1cmVfdmFsaWQoeCkgKCh4KSA+PSAwICYmICh4KSA8PSBBVURJVF9MQVNUX0ZFQVRVUkUpCiAjZGVmaW5lIEFVRElUX0ZFQVRVUkVfVE9fTUFTSyh4KSAoMSA8PCAoKHgpICYgMzEpKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBhdWRpdF90dHlfc3RhdHVzIHsKLSBfX3UzMiBlbmFibGVkOwotIF9fdTMyIGxvZ19wYXNzd2Q7Ci19OworICBfX3UzMiBlbmFibGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVVESVRfVUlEX1VOU0VUICh1bnNpZ25lZCBpbnQpLTEKKyAgX191MzIgbG9nX3Bhc3N3ZDsKK307CisjZGVmaW5lIEFVRElUX1VJRF9VTlNFVCAodW5zaWduZWQgaW50KSAtIDEKIHN0cnVjdCBhdWRpdF9ydWxlX2RhdGEgewotIF9fdTMyIGZsYWdzOwotIF9fdTMyIGFjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmllbGRfY291bnQ7Ci0gX191MzIgbWFza1tBVURJVF9CSVRNQVNLX1NJWkVdOwotIF9fdTMyIGZpZWxkc1tBVURJVF9NQVhfRklFTERTXTsKLSBfX3UzMiB2YWx1ZXNbQVVESVRfTUFYX0ZJRUxEU107CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBhY3Rpb247CisgIF9fdTMyIGZpZWxkX2NvdW50OworICBfX3UzMiBtYXNrW0FVRElUX0JJVE1BU0tfU0laRV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZpZWxkZmxhZ3NbQVVESVRfTUFYX0ZJRUxEU107Ci0gX191MzIgYnVmbGVuOwotIGNoYXIgYnVmWzBdOworICBfX3UzMiBmaWVsZHNbQVVESVRfTUFYX0ZJRUxEU107CisgIF9fdTMyIHZhbHVlc1tBVURJVF9NQVhfRklFTERTXTsKKyAgX191MzIgZmllbGRmbGFnc1tBVURJVF9NQVhfRklFTERTXTsKKyAgX191MzIgYnVmbGVuOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgY2hhciBidWZbMF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBhdWRpdF9ydWxlIHsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBhY3Rpb247Ci0gX191MzIgZmllbGRfY291bnQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1hc2tbQVVESVRfQklUTUFTS19TSVpFXTsKLSBfX3UzMiBmaWVsZHNbQVVESVRfTUFYX0ZJRUxEU107Ci0gX191MzIgdmFsdWVzW0FVRElUX01BWF9GSUVMRFNdOwotfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXV0b19mcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdXRvX2ZzLmgKaW5kZXggYTE5NTM3NS4uYjNiMDQ1ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdXRvX2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdXRvX2ZzLmgKQEAgLTM0LDMxICszNCwzMSBAQAogI2RlZmluZSBhdXRvZnNfcHR5cGVfbWlzc2luZyAwCiAjZGVmaW5lIGF1dG9mc19wdHlwZV9leHBpcmUgMQogc3RydWN0IGF1dG9mc19wYWNrZXRfaGRyIHsKLSBpbnQgcHJvdG9fdmVyc2lvbjsKKyAgaW50IHByb3RvX3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0eXBlOworICBpbnQgdHlwZTsKIH07CiBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9taXNzaW5nIHsKLSBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9oZHIgaGRyOworICBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9oZHIgaGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBhdXRvZnNfd3F0X3Qgd2FpdF9xdWV1ZV90b2tlbjsKLSBpbnQgbGVuOwotIGNoYXIgbmFtZVtOQU1FX01BWCsxXTsKKyAgYXV0b2ZzX3dxdF90IHdhaXRfcXVldWVfdG9rZW47CisgIGludCBsZW47CisgIGNoYXIgbmFtZVtOQU1FX01BWCArIDFdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9leHBpcmUgewotIHN0cnVjdCBhdXRvZnNfcGFja2V0X2hkciBoZHI7Ci0gaW50IGxlbjsKLSBjaGFyIG5hbWVbTkFNRV9NQVgrMV07CisgIHN0cnVjdCBhdXRvZnNfcGFja2V0X2hkciBoZHI7CisgIGludCBsZW47CisgIGNoYXIgbmFtZVtOQU1FX01BWCArIDFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIEFVVE9GU19JT0NfUkVBRFkgX0lPKDB4OTMsMHg2MCkKLSNkZWZpbmUgQVVUT0ZTX0lPQ19GQUlMIF9JTygweDkzLDB4NjEpCi0jZGVmaW5lIEFVVE9GU19JT0NfQ0FUQVRPTklDIF9JTygweDkzLDB4NjIpCisjZGVmaW5lIEFVVE9GU19JT0NfUkVBRFkgX0lPKDB4OTMsIDB4NjApCisjZGVmaW5lIEFVVE9GU19JT0NfRkFJTCBfSU8oMHg5MywgMHg2MSkKKyNkZWZpbmUgQVVUT0ZTX0lPQ19DQVRBVE9OSUMgX0lPKDB4OTMsIDB4NjIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBVVRPRlNfSU9DX1BST1RPVkVSIF9JT1IoMHg5MywweDYzLGludCkKLSNkZWZpbmUgQVVUT0ZTX0lPQ19TRVRUSU1FT1VUMzIgX0lPV1IoMHg5MywweDY0LGNvbXBhdF91bG9uZ190KQotI2RlZmluZSBBVVRPRlNfSU9DX1NFVFRJTUVPVVQgX0lPV1IoMHg5MywweDY0LHVuc2lnbmVkIGxvbmcpCi0jZGVmaW5lIEFVVE9GU19JT0NfRVhQSVJFIF9JT1IoMHg5MywweDY1LHN0cnVjdCBhdXRvZnNfcGFja2V0X2V4cGlyZSkKKyNkZWZpbmUgQVVUT0ZTX0lPQ19QUk9UT1ZFUiBfSU9SKDB4OTMsIDB4NjMsIGludCkKKyNkZWZpbmUgQVVUT0ZTX0lPQ19TRVRUSU1FT1VUMzIgX0lPV1IoMHg5MywgMHg2NCwgY29tcGF0X3Vsb25nX3QpCisjZGVmaW5lIEFVVE9GU19JT0NfU0VUVElNRU9VVCBfSU9XUigweDkzLCAweDY0LCB1bnNpZ25lZCBsb25nKQorI2RlZmluZSBBVVRPRlNfSU9DX0VYUElSRSBfSU9SKDB4OTMsIDB4NjUsIHN0cnVjdCBhdXRvZnNfcGFja2V0X2V4cGlyZSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXV0b19mczQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYXV0b19mczQuaAppbmRleCBjN2E3ODdiLi5lMmNkMzM3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F1dG9fZnM0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9hdXRvX2ZzNC5oCkBAIC0zOCwxMCArMzgsMTAgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVVE9GU19UWVBFX09GRlNFVCA0VQogZW51bSBhdXRvZnNfbm90aWZ5IHsKLSBORllfTk9ORSwKLSBORllfTU9VTlQsCisgIE5GWV9OT05FLAorICBORllfTU9VTlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GWV9FWFBJUkUKKyAgTkZZX0VYUElSRQogfTsKICNkZWZpbmUgYXV0b2ZzX3B0eXBlX2V4cGlyZV9tdWx0aSAyCiAjZGVmaW5lIGF1dG9mc19wdHlwZV9taXNzaW5nX2luZGlyZWN0IDMKQEAgLTUxLDMzICs1MSwzMyBAQAogI2RlZmluZSBhdXRvZnNfcHR5cGVfZXhwaXJlX2RpcmVjdCA2CiBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9leHBpcmVfbXVsdGkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9oZHIgaGRyOwotIGF1dG9mc193cXRfdCB3YWl0X3F1ZXVlX3Rva2VuOwotIGludCBsZW47Ci0gY2hhciBuYW1lW05BTUVfTUFYKzFdOworICBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9oZHIgaGRyOworICBhdXRvZnNfd3F0X3Qgd2FpdF9xdWV1ZV90b2tlbjsKKyAgaW50IGxlbjsKKyAgY2hhciBuYW1lW05BTUVfTUFYICsgMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHVuaW9uIGF1dG9mc19wYWNrZXRfdW5pb24gewotIHN0cnVjdCBhdXRvZnNfcGFja2V0X2hkciBoZHI7Ci0gc3RydWN0IGF1dG9mc19wYWNrZXRfbWlzc2luZyBtaXNzaW5nOworICBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9oZHIgaGRyOworICBzdHJ1Y3QgYXV0b2ZzX3BhY2tldF9taXNzaW5nIG1pc3Npbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBhdXRvZnNfcGFja2V0X2V4cGlyZSBleHBpcmU7Ci0gc3RydWN0IGF1dG9mc19wYWNrZXRfZXhwaXJlX211bHRpIGV4cGlyZV9tdWx0aTsKKyAgc3RydWN0IGF1dG9mc19wYWNrZXRfZXhwaXJlIGV4cGlyZTsKKyAgc3RydWN0IGF1dG9mc19wYWNrZXRfZXhwaXJlX211bHRpIGV4cGlyZV9tdWx0aTsKIH07CiBzdHJ1Y3QgYXV0b2ZzX3Y1X3BhY2tldCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBhdXRvZnNfcGFja2V0X2hkciBoZHI7Ci0gYXV0b2ZzX3dxdF90IHdhaXRfcXVldWVfdG9rZW47Ci0gX191MzIgZGV2OwotIF9fdTY0IGlubzsKKyAgc3RydWN0IGF1dG9mc19wYWNrZXRfaGRyIGhkcjsKKyAgYXV0b2ZzX3dxdF90IHdhaXRfcXVldWVfdG9rZW47CisgIF9fdTMyIGRldjsKKyAgX191NjQgaW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1aWQ7Ci0gX191MzIgZ2lkOwotIF9fdTMyIHBpZDsKLSBfX3UzMiB0Z2lkOworICBfX3UzMiB1aWQ7CisgIF9fdTMyIGdpZDsKKyAgX191MzIgcGlkOworICBfX3UzMiB0Z2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsZW47Ci0gY2hhciBuYW1lW05BTUVfTUFYKzFdOworICBfX3UzMiBsZW47CisgIGNoYXIgbmFtZVtOQU1FX01BWCArIDFdOwogfTsKIHR5cGVkZWYgc3RydWN0IGF1dG9mc192NV9wYWNrZXQgYXV0b2ZzX3BhY2tldF9taXNzaW5nX2luZGlyZWN0X3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtODYsMTkgKzg2LDE5IEBACiB0eXBlZGVmIHN0cnVjdCBhdXRvZnNfdjVfcGFja2V0IGF1dG9mc19wYWNrZXRfZXhwaXJlX2RpcmVjdF90OwogdW5pb24gYXV0b2ZzX3Y1X3BhY2tldF91bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBhdXRvZnNfcGFja2V0X2hkciBoZHI7Ci0gc3RydWN0IGF1dG9mc192NV9wYWNrZXQgdjVfcGFja2V0OwotIGF1dG9mc19wYWNrZXRfbWlzc2luZ19pbmRpcmVjdF90IG1pc3NpbmdfaW5kaXJlY3Q7Ci0gYXV0b2ZzX3BhY2tldF9leHBpcmVfaW5kaXJlY3RfdCBleHBpcmVfaW5kaXJlY3Q7CisgIHN0cnVjdCBhdXRvZnNfcGFja2V0X2hkciBoZHI7CisgIHN0cnVjdCBhdXRvZnNfdjVfcGFja2V0IHY1X3BhY2tldDsKKyAgYXV0b2ZzX3BhY2tldF9taXNzaW5nX2luZGlyZWN0X3QgbWlzc2luZ19pbmRpcmVjdDsKKyAgYXV0b2ZzX3BhY2tldF9leHBpcmVfaW5kaXJlY3RfdCBleHBpcmVfaW5kaXJlY3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGF1dG9mc19wYWNrZXRfbWlzc2luZ19kaXJlY3RfdCBtaXNzaW5nX2RpcmVjdDsKLSBhdXRvZnNfcGFja2V0X2V4cGlyZV9kaXJlY3RfdCBleHBpcmVfZGlyZWN0OworICBhdXRvZnNfcGFja2V0X21pc3NpbmdfZGlyZWN0X3QgbWlzc2luZ19kaXJlY3Q7CisgIGF1dG9mc19wYWNrZXRfZXhwaXJlX2RpcmVjdF90IGV4cGlyZV9kaXJlY3Q7CiB9OwotI2RlZmluZSBBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSBfSU9XKDB4OTMsMHg2NixpbnQpCisjZGVmaW5lIEFVVE9GU19JT0NfRVhQSVJFX01VTFRJIF9JT1coMHg5MywgMHg2NiwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVUT0ZTX0lPQ19FWFBJUkVfSU5ESVJFQ1QgQVVUT0ZTX0lPQ19FWFBJUkVfTVVMVEkKICNkZWZpbmUgQVVUT0ZTX0lPQ19FWFBJUkVfRElSRUNUIEFVVE9GU19JT0NfRVhQSVJFX01VTFRJCi0jZGVmaW5lIEFVVE9GU19JT0NfUFJPVE9TVUJWRVIgX0lPUigweDkzLDB4NjcsaW50KQotI2RlZmluZSBBVVRPRlNfSU9DX0FTS1VNT1VOVCBfSU9SKDB4OTMsMHg3MCxpbnQpCisjZGVmaW5lIEFVVE9GU19JT0NfUFJPVE9TVUJWRVIgX0lPUigweDkzLCAweDY3LCBpbnQpCisjZGVmaW5lIEFVVE9GU19JT0NfQVNLVU1PVU5UIF9JT1IoMHg5MywgMHg3MCwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9heDI1LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F4MjUuaAppbmRleCAzM2E3NjM4Li44MzkwN2MyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F4MjUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2F4MjUuaApAQCAtMzcsOTUgKzM3LDk1IEBACiAjZGVmaW5lIEFYMjVfSUFNRElHSSAxMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVgyNV9LSUxMIDk5Ci0jZGVmaW5lIFNJT0NBWDI1R0VUVUlEIChTSU9DUFJPVE9QUklWQVRFKzApCi0jZGVmaW5lIFNJT0NBWDI1QUREVUlEIChTSU9DUFJPVE9QUklWQVRFKzEpCi0jZGVmaW5lIFNJT0NBWDI1REVMVUlEIChTSU9DUFJPVE9QUklWQVRFKzIpCisjZGVmaW5lIFNJT0NBWDI1R0VUVUlEIChTSU9DUFJPVE9QUklWQVRFICsgMCkKKyNkZWZpbmUgU0lPQ0FYMjVBRERVSUQgKFNJT0NQUk9UT1BSSVZBVEUgKyAxKQorI2RlZmluZSBTSU9DQVgyNURFTFVJRCAoU0lPQ1BST1RPUFJJVkFURSArIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTSU9DQVgyNU5PVUlEIChTSU9DUFJPVE9QUklWQVRFKzMpCi0jZGVmaW5lIFNJT0NBWDI1T1BUUlQgKFNJT0NQUk9UT1BSSVZBVEUrNykKLSNkZWZpbmUgU0lPQ0FYMjVDVExDT04gKFNJT0NQUk9UT1BSSVZBVEUrOCkKLSNkZWZpbmUgU0lPQ0FYMjVHRVRJTkZPT0xEIChTSU9DUFJPVE9QUklWQVRFKzkpCisjZGVmaW5lIFNJT0NBWDI1Tk9VSUQgKFNJT0NQUk9UT1BSSVZBVEUgKyAzKQorI2RlZmluZSBTSU9DQVgyNU9QVFJUIChTSU9DUFJPVE9QUklWQVRFICsgNykKKyNkZWZpbmUgU0lPQ0FYMjVDVExDT04gKFNJT0NQUk9UT1BSSVZBVEUgKyA4KQorI2RlZmluZSBTSU9DQVgyNUdFVElORk9PTEQgKFNJT0NQUk9UT1BSSVZBVEUgKyA5KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0lPQ0FYMjVBRERGV0QgKFNJT0NQUk9UT1BSSVZBVEUrMTApCi0jZGVmaW5lIFNJT0NBWDI1REVMRldEIChTSU9DUFJPVE9QUklWQVRFKzExKQotI2RlZmluZSBTSU9DQVgyNURFVkNUTCAoU0lPQ1BST1RPUFJJVkFURSsxMikKLSNkZWZpbmUgU0lPQ0FYMjVHRVRJTkZPIChTSU9DUFJPVE9QUklWQVRFKzEzKQorI2RlZmluZSBTSU9DQVgyNUFEREZXRCAoU0lPQ1BST1RPUFJJVkFURSArIDEwKQorI2RlZmluZSBTSU9DQVgyNURFTEZXRCAoU0lPQ1BST1RPUFJJVkFURSArIDExKQorI2RlZmluZSBTSU9DQVgyNURFVkNUTCAoU0lPQ1BST1RPUFJJVkFURSArIDEyKQorI2RlZmluZSBTSU9DQVgyNUdFVElORk8gKFNJT0NQUk9UT1BSSVZBVEUgKyAxMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFYMjVfU0VUX1JUX0lQTU9ERSAyCiAjZGVmaW5lIEFYMjVfTk9VSURfREVGQVVMVCAwCiAjZGVmaW5lIEFYMjVfTk9VSURfQkxPQ0sgMQogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGF4MjVfY2FsbFs3XTsKKyAgY2hhciBheDI1X2NhbGxbN107CiB9IGF4MjVfYWRkcmVzczsKIHN0cnVjdCBzb2NrYWRkcl9heDI1IHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzYXgyNV9mYW1pbHk7CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHNheDI1X2ZhbWlseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYXgyNV9hZGRyZXNzIHNheDI1X2NhbGw7Ci0gaW50IHNheDI1X25kaWdpczsKKyAgYXgyNV9hZGRyZXNzIHNheDI1X2NhbGw7CisgIGludCBzYXgyNV9uZGlnaXM7CiB9OwogI2RlZmluZSBzYXgyNV91aWQgc2F4MjVfbmRpZ2lzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZ1bGxfc29ja2FkZHJfYXgyNSB7Ci0gc3RydWN0IHNvY2thZGRyX2F4MjUgZnNhX2F4MjU7Ci0gYXgyNV9hZGRyZXNzIGZzYV9kaWdpcGVhdGVyW0FYMjVfTUFYX0RJR0lTXTsKKyAgc3RydWN0IHNvY2thZGRyX2F4MjUgZnNhX2F4MjU7CisgIGF4MjVfYWRkcmVzcyBmc2FfZGlnaXBlYXRlcltBWDI1X01BWF9ESUdJU107CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBheDI1X3JvdXRlc19zdHJ1Y3QgewotIGF4MjVfYWRkcmVzcyBwb3J0X2FkZHI7Ci0gYXgyNV9hZGRyZXNzIGRlc3RfYWRkcjsKLSB1bnNpZ25lZCBjaGFyIGRpZ2lfY291bnQ7CisgIGF4MjVfYWRkcmVzcyBwb3J0X2FkZHI7CisgIGF4MjVfYWRkcmVzcyBkZXN0X2FkZHI7CisgIHVuc2lnbmVkIGNoYXIgZGlnaV9jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYXgyNV9hZGRyZXNzIGRpZ2lfYWRkcltBWDI1X01BWF9ESUdJU107CisgIGF4MjVfYWRkcmVzcyBkaWdpX2FkZHJbQVgyNV9NQVhfRElHSVNdOwogfTsKIHN0cnVjdCBheDI1X3JvdXRlX29wdF9zdHJ1Y3QgewotIGF4MjVfYWRkcmVzcyBwb3J0X2FkZHI7CisgIGF4MjVfYWRkcmVzcyBwb3J0X2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGF4MjVfYWRkcmVzcyBkZXN0X2FkZHI7Ci0gaW50IGNtZDsKLSBpbnQgYXJnOworICBheDI1X2FkZHJlc3MgZGVzdF9hZGRyOworICBpbnQgY21kOworICBpbnQgYXJnOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYXgyNV9jdGxfc3RydWN0IHsKLSBheDI1X2FkZHJlc3MgcG9ydF9hZGRyOwotIGF4MjVfYWRkcmVzcyBzb3VyY2VfYWRkcjsKLSBheDI1X2FkZHJlc3MgZGVzdF9hZGRyOworICBheDI1X2FkZHJlc3MgcG9ydF9hZGRyOworICBheDI1X2FkZHJlc3Mgc291cmNlX2FkZHI7CisgIGF4MjVfYWRkcmVzcyBkZXN0X2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjbWQ7Ci0gdW5zaWduZWQgbG9uZyBhcmc7Ci0gdW5zaWduZWQgY2hhciBkaWdpX2NvdW50OwotIGF4MjVfYWRkcmVzcyBkaWdpX2FkZHJbQVgyNV9NQVhfRElHSVNdOworICB1bnNpZ25lZCBpbnQgY21kOworICB1bnNpZ25lZCBsb25nIGFyZzsKKyAgdW5zaWduZWQgY2hhciBkaWdpX2NvdW50OworICBheDI1X2FkZHJlc3MgZGlnaV9hZGRyW0FYMjVfTUFYX0RJR0lTXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGF4MjVfaW5mb19zdHJ1Y3RfZGVwcmVjYXRlZCB7Ci0gdW5zaWduZWQgaW50IG4yLCBuMmNvdW50OwotIHVuc2lnbmVkIGludCB0MSwgdDF0aW1lcjsKKyAgdW5zaWduZWQgaW50IG4yLCBuMmNvdW50OworICB1bnNpZ25lZCBpbnQgdDEsIHQxdGltZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0MiwgdDJ0aW1lcjsKLSB1bnNpZ25lZCBpbnQgdDMsIHQzdGltZXI7Ci0gdW5zaWduZWQgaW50IGlkbGUsIGlkbGV0aW1lcjsKLSB1bnNpZ25lZCBpbnQgc3RhdGU7CisgIHVuc2lnbmVkIGludCB0MiwgdDJ0aW1lcjsKKyAgdW5zaWduZWQgaW50IHQzLCB0M3RpbWVyOworICB1bnNpZ25lZCBpbnQgaWRsZSwgaWRsZXRpbWVyOworICB1bnNpZ25lZCBpbnQgc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCByY3ZfcSwgc25kX3E7CisgIHVuc2lnbmVkIGludCByY3ZfcSwgc25kX3E7CiB9Owogc3RydWN0IGF4MjVfaW5mb19zdHJ1Y3QgewotIHVuc2lnbmVkIGludCBuMiwgbjJjb3VudDsKKyAgdW5zaWduZWQgaW50IG4yLCBuMmNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdDEsIHQxdGltZXI7Ci0gdW5zaWduZWQgaW50IHQyLCB0MnRpbWVyOwotIHVuc2lnbmVkIGludCB0MywgdDN0aW1lcjsKLSB1bnNpZ25lZCBpbnQgaWRsZSwgaWRsZXRpbWVyOworICB1bnNpZ25lZCBpbnQgdDEsIHQxdGltZXI7CisgIHVuc2lnbmVkIGludCB0MiwgdDJ0aW1lcjsKKyAgdW5zaWduZWQgaW50IHQzLCB0M3RpbWVyOworICB1bnNpZ25lZCBpbnQgaWRsZSwgaWRsZXRpbWVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3RhdGU7Ci0gdW5zaWduZWQgaW50IHJjdl9xLCBzbmRfcTsKLSB1bnNpZ25lZCBpbnQgdnMsIHZyLCB2YSwgdnNfbWF4OwotIHVuc2lnbmVkIGludCBwYWNsZW47CisgIHVuc2lnbmVkIGludCBzdGF0ZTsKKyAgdW5zaWduZWQgaW50IHJjdl9xLCBzbmRfcTsKKyAgdW5zaWduZWQgaW50IHZzLCB2ciwgdmEsIHZzX21heDsKKyAgdW5zaWduZWQgaW50IHBhY2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHdpbmRvdzsKKyAgdW5zaWduZWQgaW50IHdpbmRvdzsKIH07CiBzdHJ1Y3QgYXgyNV9md2Rfc3RydWN0IHsKLSBheDI1X2FkZHJlc3MgcG9ydF9mcm9tOworICBheDI1X2FkZHJlc3MgcG9ydF9mcm9tOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBheDI1X2FkZHJlc3MgcG9ydF90bzsKKyAgYXgyNV9hZGRyZXNzIHBvcnRfdG87CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2IxbGxpLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2IxbGxpLmgKaW5kZXggZTQwMzIzYi4uZjNmZDE0MCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9iMWxsaS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYjFsbGkuaApAQCAtMTksMzUgKzE5LDM1IEBACiAjaWZuZGVmIF9CMUxMSV9IXwogI2RlZmluZSBfQjFMTElfSF8KIHR5cGVkZWYgc3RydWN0IGF2bWIxX3Q0ZmlsZSB7Ci0gaW50IGxlbjsKKyAgaW50IGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciAqZGF0YTsKKyAgdW5zaWduZWQgY2hhciAqIGRhdGE7CiB9IGF2bWIxX3Q0ZmlsZTsKIHR5cGVkZWYgc3RydWN0IGF2bWIxX2xvYWRkZWYgewotIGludCBjb250cjsKKyAgaW50IGNvbnRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBhdm1iMV90NGZpbGUgdDRmaWxlOworICBhdm1iMV90NGZpbGUgdDRmaWxlOwogfSBhdm1iMV9sb2FkZGVmOwogdHlwZWRlZiBzdHJ1Y3QgYXZtYjFfbG9hZGFuZGNvbmZpZ2RlZiB7Ci0gaW50IGNvbnRyOworICBpbnQgY29udHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGF2bWIxX3Q0ZmlsZSB0NGZpbGU7Ci0gYXZtYjFfdDRmaWxlIHQ0Y29uZmlnOworICBhdm1iMV90NGZpbGUgdDRmaWxlOworICBhdm1iMV90NGZpbGUgdDRjb25maWc7CiB9IGF2bWIxX2xvYWRhbmRjb25maWdkZWY7CiB0eXBlZGVmIHN0cnVjdCBhdm1iMV9yZXNldGRlZiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjb250cjsKKyAgaW50IGNvbnRyOwogfSBhdm1iMV9yZXNldGRlZjsKIHR5cGVkZWYgc3RydWN0IGF2bWIxX2dldGRlZiB7Ci0gaW50IGNvbnRyOworICBpbnQgY29udHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjYXJkdHlwZTsKLSBpbnQgY2FyZHN0YXRlOworICBpbnQgY2FyZHR5cGU7CisgIGludCBjYXJkc3RhdGU7CiB9IGF2bWIxX2dldGRlZjsKIHR5cGVkZWYgc3RydWN0IGF2bWIxX2NhcmRkZWYgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcG9ydDsKLSBpbnQgaXJxOworICBpbnQgcG9ydDsKKyAgaW50IGlycTsKIH0gYXZtYjFfY2FyZGRlZjsKICNkZWZpbmUgQVZNX0NBUkRUWVBFX0IxIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC01NiwxMCArNTYsMTAgQEAKICNkZWZpbmUgQVZNX0NBUkRUWVBFX00yIDMKIHR5cGVkZWYgc3RydWN0IGF2bWIxX2V4dGNhcmRkZWYgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcG9ydDsKLSBpbnQgaXJxOwotIGludCBjYXJkdHlwZTsKLSBpbnQgY2FyZG5yOworICBpbnQgcG9ydDsKKyAgaW50IGlycTsKKyAgaW50IGNhcmR0eXBlOworICBpbnQgY2FyZG5yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gYXZtYjFfZXh0Y2FyZGRlZjsKICNkZWZpbmUgQVZNQjFfTE9BRCAwCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JheWNvbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9iYXljb20uaAppbmRleCA0MzY4NDZhLi43ZjM0NDFiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JheWNvbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmF5Y29tLmgKQEAgLTE5LDE3ICsxOSwxNyBAQAogI2lmbmRlZiBfQkFZQ09NX0gKICNkZWZpbmUgX0JBWUNPTV9ICiBzdHJ1Y3QgYmF5Y29tX2RlYnVnX2RhdGEgewotIHVuc2lnbmVkIGxvbmcgZGVidWcxOworICB1bnNpZ25lZCBsb25nIGRlYnVnMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBkZWJ1ZzI7Ci0gbG9uZyBkZWJ1ZzM7CisgIHVuc2lnbmVkIGxvbmcgZGVidWcyOworICBsb25nIGRlYnVnMzsKIH07CiBzdHJ1Y3QgYmF5Y29tX2lvY3RsIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNtZDsKLSB1bmlvbiB7Ci0gc3RydWN0IGJheWNvbV9kZWJ1Z19kYXRhIGRiZzsKLSB9IGRhdGE7CisgIGludCBjbWQ7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgYmF5Y29tX2RlYnVnX2RhdGEgZGJnOworICB9IGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQkFZQ09NQ1RMX0dFVERFQlVHIDB4OTIKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmNhY2hlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JjYWNoZS5oCmluZGV4IDRkMWQ0NTQuLmVmZTY5MmMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmNhY2hlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9iY2FjaGUuaApAQCAtMTksMjAgKzE5LDI4IEBACiAjaWZuZGVmIF9MSU5VWF9CQ0FDSEVfSAogI2RlZmluZSBfTElOVVhfQkNBQ0hFX0gKICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLSNkZWZpbmUgQklUTUFTSyhuYW1lLCB0eXBlLCBmaWVsZCwgb2Zmc2V0LCBzaXplKSAgc3RhdGljIGlubGluZSBfX3U2NCBuYW1lKGNvbnN0IHR5cGUgKmspICB7IHJldHVybiAoay0+ZmllbGQgPj4gb2Zmc2V0KSAmIH4ofjBVTEwgPDwgc2l6ZSk7IH0gICAgc3RhdGljIGlubGluZSB2b2lkIFNFVF8jI25hbWUodHlwZSAqaywgX191NjQgdikgIHsgICBrLT5maWVsZCAmPSB+KH4ofjBVTEwgPDwgc2l6ZSkgPDwgb2Zmc2V0KTsgICBrLT5maWVsZCB8PSAodiAmIH4ofjBVTEwgPDwgc2l6ZSkpIDw8IG9mZnNldDsgIH0KKyNkZWZpbmUgQklUTUFTSyhuYW1lLHR5cGUsZmllbGQsb2Zmc2V0LHNpemUpIHN0YXRpYyBpbmxpbmUgX191NjQgbmFtZShjb25zdCB0eXBlICogaykgXAoreyByZXR1cm4oay0+ZmllbGQgPj4gb2Zmc2V0KSAmIH4ofjBVTEwgPDwgc2l6ZSk7IH0gc3RhdGljIGlubGluZSB2b2lkIFNFVF8gIyNuYW1lKHR5cGUgKiBrLCBfX3U2NCB2KSBcCit7IGstPmZpZWxkICY9IH4ofih+MFVMTCA8PCBzaXplKSA8PCBvZmZzZXQpOyBrLT5maWVsZCB8PSAodiAmIH4ofjBVTEwgPDwgc2l6ZSkpIDw8IG9mZnNldDsgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBia2V5IHsKLSBfX3U2NCBoaWdoOwotIF9fdTY0IGxvdzsKLSBfX3U2NCBwdHJbXTsKKyAgX191NjQgaGlnaDsKKyAgX191NjQgbG93OworICBfX3U2NCBwdHJbXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBLRVlfRklFTEQobmFtZSwgZmllbGQsIG9mZnNldCwgc2l6ZSkgICBCSVRNQVNLKG5hbWUsIHN0cnVjdCBia2V5LCBmaWVsZCwgb2Zmc2V0LCBzaXplKQotI2RlZmluZSBQVFJfRklFTEQobmFtZSwgb2Zmc2V0LCBzaXplKSAgc3RhdGljIGlubGluZSBfX3U2NCBuYW1lKGNvbnN0IHN0cnVjdCBia2V5ICprLCB1bnNpZ25lZCBpKSAgeyByZXR1cm4gKGstPnB0cltpXSA+PiBvZmZzZXQpICYgfih+MFVMTCA8PCBzaXplKTsgfSAgICBzdGF0aWMgaW5saW5lIHZvaWQgU0VUXyMjbmFtZShzdHJ1Y3QgYmtleSAqaywgdW5zaWduZWQgaSwgX191NjQgdikgIHsgICBrLT5wdHJbaV0gJj0gfih+KH4wVUxMIDw8IHNpemUpIDw8IG9mZnNldCk7ICAgay0+cHRyW2ldIHw9ICh2ICYgfih+MFVMTCA8PCBzaXplKSkgPDwgb2Zmc2V0OyAgfQorI2RlZmluZSBLRVlfRklFTEQobmFtZSxmaWVsZCxvZmZzZXQsc2l6ZSkgQklUTUFTSyhuYW1lLCBzdHJ1Y3QgYmtleSwgZmllbGQsIG9mZnNldCwgc2l6ZSkKKyNkZWZpbmUgUFRSX0ZJRUxEKG5hbWUsb2Zmc2V0LHNpemUpIHN0YXRpYyBpbmxpbmUgX191NjQgbmFtZShjb25zdCBzdHJ1Y3QgYmtleSAqIGssIHVuc2lnbmVkIGkpIFwKK3sgcmV0dXJuKGstPnB0cltpXSA+PiBvZmZzZXQpICYgfih+MFVMTCA8PCBzaXplKTsgfSBzdGF0aWMgaW5saW5lIHZvaWQgU0VUXyAjI25hbWUoc3RydWN0IGJrZXkgKiBrLCB1bnNpZ25lZCBpLCBfX3U2NCB2KSBcCit7IGstPnB0cltpXSAmPSB+KH4ofjBVTEwgPDwgc2l6ZSkgPDwgb2Zmc2V0KTsgay0+cHRyW2ldIHw9ICh2ICYgfih+MFVMTCA8PCBzaXplKSkgPDwgb2Zmc2V0OyBcCit9CiAjZGVmaW5lIEtFWV9TSVpFX0JJVFMgMTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtFWV9NQVhfVTY0UyA4Ci0jZGVmaW5lIEtFWShpbm9kZSwgb2Zmc2V0LCBzaXplKSAgKChzdHJ1Y3QgYmtleSkgeyAgIC5oaWdoID0gKDFVTEwgPDwgNjMpIHwgKChfX3U2NCkgKHNpemUpIDw8IDIwKSB8IChpbm9kZSksICAgLmxvdyA9IChvZmZzZXQpICB9KQorI2RlZmluZSBLRVkoaW5vZGUsb2Zmc2V0LHNpemUpIFwKKygoc3RydWN0IGJrZXkpIHsuaGlnaCA9ICgxVUxMIDw8IDYzKSB8ICgoX191NjQpIChzaXplKSA8PCAyMCkgfCAoaW5vZGUpLC5sb3cgPSAob2Zmc2V0KSBcCit9KQogI2RlZmluZSBaRVJPX0tFWSBLRVkoMCwgMCwgMCkKICNkZWZpbmUgTUFYX0tFWV9JTk9ERSAofih+MCA8PCAyMCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNDMsMTEgKzUxLDExIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQVFJfREVWX0JJVFMgMTIKICNkZWZpbmUgUFRSX0NIRUNLX0RFViAoKDEgPDwgUFRSX0RFVl9CSVRTKSAtIDEpCi0jZGVmaW5lIFBUUihnZW4sIG9mZnNldCwgZGV2KSAgICgoKChfX3U2NCkgZGV2KSA8PCA1MSkgfCAoKF9fdTY0KSBvZmZzZXQpIDw8IDggfCBnZW4pCi0jZGVmaW5lIGJrZXlfY29weShfZGVzdCwgX3NyYykgbWVtY3B5KF9kZXN0LCBfc3JjLCBia2V5X2J5dGVzKF9zcmMpKQorI2RlZmluZSBQVFIoZ2VuLG9mZnNldCxkZXYpICgoKChfX3U2NCkgZGV2KSA8PCA1MSkgfCAoKF9fdTY0KSBvZmZzZXQpIDw8IDggfCBnZW4pCisjZGVmaW5lIGJrZXlfY29weShfZGVzdCxfc3JjKSBtZW1jcHkoX2Rlc3QsIF9zcmMsIGJrZXlfYnl0ZXMoX3NyYykpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCS0VZX1BBRCA4Ci0jZGVmaW5lIEJLRVlfUEFEREVEKGtleSkgICB1bmlvbiB7IHN0cnVjdCBia2V5IGtleTsgX191NjQga2V5ICMjIF9wYWRbQktFWV9QQURdOyB9CisjZGVmaW5lIEJLRVlfUEFEREVEKGtleSkgdW5pb24geyBzdHJ1Y3QgYmtleSBrZXk7IF9fdTY0IGtleSAjI19wYWRbQktFWV9QQURdOyB9CiAjZGVmaW5lIEJDQUNIRV9TQl9WRVJTSU9OX0NERVYgMAogI2RlZmluZSBCQ0FDSEVfU0JfVkVSU0lPTl9CREVWIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC02Myw0NiArNzEsNDYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJERVZfREFUQV9TVEFSVF9ERUZBVUxUIDE2CiBzdHJ1Y3QgY2FjaGVfc2IgewotIF9fdTY0IGNzdW07Ci0gX191NjQgb2Zmc2V0OworICBfX3U2NCBjc3VtOworICBfX3U2NCBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHZlcnNpb247Ci0gX191OCBtYWdpY1sxNl07Ci0gX191OCB1dWlkWzE2XTsKLSB1bmlvbiB7CisgIF9fdTY0IHZlcnNpb247CisgIF9fdTggbWFnaWNbMTZdOworICBfX3U4IHV1aWRbMTZdOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2V0X3V1aWRbMTZdOwotIF9fdTY0IHNldF9tYWdpYzsKLSB9OwotIF9fdTggbGFiZWxbU0JfTEFCRUxfU0laRV07CisgICAgX191OCBzZXRfdXVpZFsxNl07CisgICAgX191NjQgc2V0X21hZ2ljOworICB9OworICBfX3U4IGxhYmVsW1NCX0xBQkVMX1NJWkVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBmbGFnczsKLSBfX3U2NCBzZXE7Ci0gX191NjQgcGFkWzhdOwotIHVuaW9uIHsKKyAgX191NjQgZmxhZ3M7CisgIF9fdTY0IHNlcTsKKyAgX191NjQgcGFkWzhdOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX191NjQgbmJ1Y2tldHM7Ci0gX191MTYgYmxvY2tfc2l6ZTsKLSBfX3UxNiBidWNrZXRfc2l6ZTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgbmJ1Y2tldHM7CisgICAgICBfX3UxNiBibG9ja19zaXplOworICAgICAgX191MTYgYnVja2V0X3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG5yX2luX3NldDsKLSBfX3UxNiBucl90aGlzX2RldjsKLSB9OwotIHN0cnVjdCB7CisgICAgICBfX3UxNiBucl9pbl9zZXQ7CisgICAgICBfX3UxNiBucl90aGlzX2RldjsKKyAgICB9OworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRhdGFfb2Zmc2V0OwotIH07Ci0gfTsKLSBfX3UzMiBsYXN0X21vdW50OworICAgICAgX191NjQgZGF0YV9vZmZzZXQ7CisgICAgfTsKKyAgfTsKKyAgX191MzIgbGFzdF9tb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmlyc3RfYnVja2V0OwotIHVuaW9uIHsKLSBfX3UxNiBuam91cm5hbF9idWNrZXRzOwotIF9fdTE2IGtleXM7CisgIF9fdTE2IGZpcnN0X2J1Y2tldDsKKyAgdW5pb24geworICAgIF9fdTE2IG5qb3VybmFsX2J1Y2tldHM7CisgICAgX191MTYga2V5czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKLSBfX3U2NCBkW1NCX0pPVVJOQUxfQlVDS0VUU107CisgIH07CisgIF9fdTY0IGRbU0JfSk9VUk5BTF9CVUNLRVRTXTsKIH07CiAjZGVmaW5lIENBQ0hFX1JFUExBQ0VNRU5UX0xSVSAwVQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTEyNyw4MyArMTM1LDgzIEBACiAjZGVmaW5lIEJDQUNIRV9KU0VUX1ZFUlNJT04gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBqc2V0IHsKLSBfX3U2NCBjc3VtOwotIF9fdTY0IG1hZ2ljOwotIF9fdTY0IHNlcTsKKyAgX191NjQgY3N1bTsKKyAgX191NjQgbWFnaWM7CisgIF9fdTY0IHNlcTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdmVyc2lvbjsKLSBfX3UzMiBrZXlzOwotIF9fdTY0IGxhc3Rfc2VxOwotIEJLRVlfUEFEREVEKHV1aWRfYnVja2V0KTsKKyAgX191MzIgdmVyc2lvbjsKKyAgX191MzIga2V5czsKKyAgX191NjQgbGFzdF9zZXE7CisgIEJLRVlfUEFEREVEKHV1aWRfYnVja2V0KTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQktFWV9QQURERUQoYnRyZWVfcm9vdCk7Ci0gX191MTYgYnRyZWVfbGV2ZWw7Ci0gX191MTYgcGFkWzNdOwotIF9fdTY0IHByaW9fYnVja2V0W01BWF9DQUNIRVNfUEVSX1NFVF07CisgIEJLRVlfUEFEREVEKGJ0cmVlX3Jvb3QpOworICBfX3UxNiBidHJlZV9sZXZlbDsKKyAgX191MTYgcGFkWzNdOworICBfX3U2NCBwcmlvX2J1Y2tldFtNQVhfQ0FDSEVTX1BFUl9TRVRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IGJrZXkgc3RhcnRbMF07Ci0gX191NjQgZFswXTsKLSB9OworICB1bmlvbiB7CisgICAgc3RydWN0IGJrZXkgc3RhcnRbMF07CisgICAgX191NjQgZFswXTsKKyAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHByaW9fc2V0IHsKLSBfX3U2NCBjc3VtOwotIF9fdTY0IG1hZ2ljOworICBfX3U2NCBjc3VtOworICBfX3U2NCBtYWdpYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgc2VxOwotIF9fdTMyIHZlcnNpb247Ci0gX191MzIgcGFkOwotIF9fdTY0IG5leHRfYnVja2V0OworICBfX3U2NCBzZXE7CisgIF9fdTMyIHZlcnNpb247CisgIF9fdTMyIHBhZDsKKyAgX191NjQgbmV4dF9idWNrZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBidWNrZXRfZGlzayB7Ci0gX191MTYgcHJpbzsKLSBfX3U4IGdlbjsKLSB9IF9fYXR0cmlidXRlKChwYWNrZWQpKSBkYXRhW107CisgIHN0cnVjdCBidWNrZXRfZGlzayB7CisgICAgX191MTYgcHJpbzsKKyAgICBfX3U4IGdlbjsKKyAgfSBfX2F0dHJpYnV0ZSgocGFja2VkKSkgZGF0YVtdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdXVpZF9lbnRyeSB7Ci0gdW5pb24gewotIHN0cnVjdCB7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHV1aWRbMTZdOwotIF9fdTggbGFiZWxbMzJdOwotIF9fdTMyIGZpcnN0X3JlZzsKLSBfX3UzMiBsYXN0X3JlZzsKKyAgICAgIF9fdTggdXVpZFsxNl07CisgICAgICBfX3U4IGxhYmVsWzMyXTsKKyAgICAgIF9fdTMyIGZpcnN0X3JlZzsKKyAgICAgIF9fdTMyIGxhc3RfcmVnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbnZhbGlkYXRlZDsKLSBfX3UzMiBmbGFnczsKLSBfX3U2NCBzZWN0b3JzOwotIH07CisgICAgICBfX3UzMiBpbnZhbGlkYXRlZDsKKyAgICAgIF9fdTMyIGZsYWdzOworICAgICAgX191NjQgc2VjdG9yczsKKyAgICB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBhZFsxMjhdOwotIH07CisgICAgX191OCBwYWRbMTI4XTsKKyAgfTsKIH07CiAjZGVmaW5lIEJDQUNIRV9CU0VUX0NTVU0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQkNBQ0hFX0JTRVRfVkVSU0lPTiAxCiBzdHJ1Y3QgYnNldCB7Ci0gX191NjQgY3N1bTsKLSBfX3U2NCBtYWdpYzsKKyAgX191NjQgY3N1bTsKKyAgX191NjQgbWFnaWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNlcTsKLSBfX3UzMiB2ZXJzaW9uOwotIF9fdTMyIGtleXM7Ci0gdW5pb24geworICBfX3U2NCBzZXE7CisgIF9fdTMyIHZlcnNpb247CisgIF9fdTMyIGtleXM7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGJrZXkgc3RhcnRbMF07Ci0gX191NjQgZFswXTsKLSB9OworICAgIHN0cnVjdCBia2V5IHN0YXJ0WzBdOworICAgIF9fdTY0IGRbMF07CisgIH07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1dWlkX2VudHJ5X3YwIHsKLSBfX3U4IHV1aWRbMTZdOwotIF9fdTggbGFiZWxbMzJdOwotIF9fdTMyIGZpcnN0X3JlZzsKKyAgX191OCB1dWlkWzE2XTsKKyAgX191OCBsYWJlbFszMl07CisgIF9fdTMyIGZpcnN0X3JlZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGFzdF9yZWc7Ci0gX191MzIgaW52YWxpZGF0ZWQ7Ci0gX191MzIgcGFkOworICBfX3UzMiBsYXN0X3JlZzsKKyAgX191MzIgaW52YWxpZGF0ZWQ7CisgIF9fdTMyIHBhZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JjbTkzM3h4X2hjcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9iY205MzN4eF9oY3MuaAppbmRleCAwNzQyOTk1Li5iZWFmODI3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JjbTkzM3h4X2hjcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmNtOTMzeHhfaGNzLmgKQEAgLTIxLDE5ICsyMSwxOSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgYmNtX2hjcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG1hZ2ljOwotIF9fdTE2IGNvbnRyb2w7Ci0gX191MTYgcmV2X21hajsKLSBfX3UxNiByZXZfbWluOworICBfX3UxNiBtYWdpYzsKKyAgX191MTYgY29udHJvbDsKKyAgX191MTYgcmV2X21hajsKKyAgX191MTYgcmV2X21pbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnVpbGRfZGF0ZTsKLSBfX3UzMiBmaWxlbGVuOwotIF9fdTMyIGxkYWRkcmVzczsKLSBjaGFyIGZpbGVuYW1lWzY0XTsKKyAgX191MzIgYnVpbGRfZGF0ZTsKKyAgX191MzIgZmlsZWxlbjsKKyAgX191MzIgbGRhZGRyZXNzOworICBjaGFyIGZpbGVuYW1lWzY0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaGNzOwotIF9fdTE2IGhlcl96bmFldF9jaHRvOwotIF9fdTMyIGNyYzsKKyAgX191MTYgaGNzOworICBfX3UxNiBoZXJfem5hZXRfY2h0bzsKKyAgX191MzIgY3JjOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmZzX2ZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Jmc19mcy5oCmluZGV4IDc1ZmRlNzcuLmUyZTA2MTUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmZzX2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9iZnNfZnMuaApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjZGVmaW5lIEJGU19CU0laRV9CSVRTIDkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJGU19CU0laRSAoMTw8QkZTX0JTSVpFX0JJVFMpCisjZGVmaW5lIEJGU19CU0laRSAoMSA8PCBCRlNfQlNJWkVfQklUUykKICNkZWZpbmUgQkZTX01BR0lDIDB4MUJBREZBQ0UKICNkZWZpbmUgQkZTX1JPT1RfSU5PIDIKICNkZWZpbmUgQkZTX0lOT0RFU19QRVJfQkxPQ0sgOApAQCAtMjksNTUgKzI5LDU1IEBACiAjZGVmaW5lIEJGU19WRElSIDJMCiAjZGVmaW5lIEJGU19WUkVHIDFMCiBzdHJ1Y3QgYmZzX2lub2RlIHsKLSBfX2xlMTYgaV9pbm87CisgIF9fbGUxNiBpX2lubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaV91bnVzZWQ7Ci0gX19sZTMyIGlfc2Jsb2NrOwotIF9fbGUzMiBpX2VibG9jazsKLSBfX2xlMzIgaV9lb2Zmc2V0OworICBfX3UxNiBpX3VudXNlZDsKKyAgX19sZTMyIGlfc2Jsb2NrOworICBfX2xlMzIgaV9lYmxvY2s7CisgIF9fbGUzMiBpX2VvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBpX3Z0eXBlOwotIF9fbGUzMiBpX21vZGU7Ci0gX19sZTMyIGlfdWlkOwotIF9fbGUzMiBpX2dpZDsKKyAgX19sZTMyIGlfdnR5cGU7CisgIF9fbGUzMiBpX21vZGU7CisgIF9fbGUzMiBpX3VpZDsKKyAgX19sZTMyIGlfZ2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgaV9ubGluazsKLSBfX2xlMzIgaV9hdGltZTsKLSBfX2xlMzIgaV9tdGltZTsKLSBfX2xlMzIgaV9jdGltZTsKKyAgX19sZTMyIGlfbmxpbms7CisgIF9fbGUzMiBpX2F0aW1lOworICBfX2xlMzIgaV9tdGltZTsKKyAgX19sZTMyIGlfY3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlfcGFkZGluZ1s0XTsKKyAgX191MzIgaV9wYWRkaW5nWzRdOwogfTsKICNkZWZpbmUgQkZTX05BTUVMRU4gMTQKICNkZWZpbmUgQkZTX0RJUkVOVF9TSVpFIDE2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCRlNfRElSU19QRVJfQkxPQ0sgMzIKIHN0cnVjdCBiZnNfZGlyZW50IHsKLSBfX2xlMTYgaW5vOwotIGNoYXIgbmFtZVtCRlNfTkFNRUxFTl07CisgIF9fbGUxNiBpbm87CisgIGNoYXIgbmFtZVtCRlNfTkFNRUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBiZnNfc3VwZXJfYmxvY2sgewotIF9fbGUzMiBzX21hZ2ljOwotIF9fbGUzMiBzX3N0YXJ0OworICBfX2xlMzIgc19tYWdpYzsKKyAgX19sZTMyIHNfc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBzX2VuZDsKLSBfX2xlMzIgc19mcm9tOwotIF9fbGUzMiBzX3RvOwotIF9fczMyIHNfYmZyb207CisgIF9fbGUzMiBzX2VuZDsKKyAgX19sZTMyIHNfZnJvbTsKKyAgX19sZTMyIHNfdG87CisgIF9fczMyIHNfYmZyb207CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIHNfYnRvOwotIGNoYXIgc19mc25hbWVbNl07Ci0gY2hhciBzX3ZvbHVtZVs2XTsKLSBfX3UzMiBzX3BhZGRpbmdbMTE4XTsKKyAgX19zMzIgc19idG87CisgIGNoYXIgc19mc25hbWVbNl07CisgIGNoYXIgc192b2x1bWVbNl07CisgIF9fdTMyIHNfcGFkZGluZ1sxMThdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIEJGU19PRkYySU5PKG9mZnNldCkgICAoKCgob2Zmc2V0KSAtIEJGU19CU0laRSkgLyBzaXplb2Yoc3RydWN0IGJmc19pbm9kZSkpICsgQkZTX1JPT1RfSU5PKQotI2RlZmluZSBCRlNfSU5PMk9GRihpbm8pICAgKChfX3UzMikoKChpbm8pIC0gQkZTX1JPT1RfSU5PKSAqIHNpemVvZihzdHJ1Y3QgYmZzX2lub2RlKSkgKyBCRlNfQlNJWkUpCi0jZGVmaW5lIEJGU19OWkZJTEVTSVpFKGlwKSAgICgobGUzMl90b19jcHUoKGlwKS0+aV9lb2Zmc2V0KSArIDEpIC0gbGUzMl90b19jcHUoKGlwKS0+aV9zYmxvY2spICogQkZTX0JTSVpFKQorI2RlZmluZSBCRlNfT0ZGMklOTyhvZmZzZXQpICgoKChvZmZzZXQpIC0gQkZTX0JTSVpFKSAvIHNpemVvZihzdHJ1Y3QgYmZzX2lub2RlKSkgKyBCRlNfUk9PVF9JTk8pCisjZGVmaW5lIEJGU19JTk8yT0ZGKGlubykgKChfX3UzMikgKCgoaW5vKSAtIEJGU19ST09UX0lOTykgKiBzaXplb2Yoc3RydWN0IGJmc19pbm9kZSkpICsgQkZTX0JTSVpFKQorI2RlZmluZSBCRlNfTlpGSUxFU0laRShpcCkgKChsZTMyX3RvX2NwdSgoaXApLT5pX2VvZmZzZXQpICsgMSkgLSBsZTMyX3RvX2NwdSgoaXApLT5pX3NibG9jaykgKiBCRlNfQlNJWkUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCRlNfRklMRVNJWkUoaXApICAgKChpcCktPmlfc2Jsb2NrID09IDAgPyAwIDogQkZTX05aRklMRVNJWkUoaXApKQotI2RlZmluZSBCRlNfRklMRUJMT0NLUyhpcCkgICAoKGlwKS0+aV9zYmxvY2sgPT0gMCA/IDAgOiAobGUzMl90b19jcHUoKGlwKS0+aV9lYmxvY2spICsgMSkgLSBsZTMyX3RvX2NwdSgoaXApLT5pX3NibG9jaykpCi0jZGVmaW5lIEJGU19VTkNMRUFOKGJmc19zYiwgc2IpICAgKChsZTMyX3RvX2NwdShiZnNfc2ItPnNfZnJvbSkgIT0gLTEpICYmIChsZTMyX3RvX2NwdShiZnNfc2ItPnNfdG8pICE9IC0xKSAmJiAhKHNiLT5zX2ZsYWdzICYgTVNfUkRPTkxZKSkKKyNkZWZpbmUgQkZTX0ZJTEVTSVpFKGlwKSAoKGlwKS0+aV9zYmxvY2sgPT0gMCA/IDAgOiBCRlNfTlpGSUxFU0laRShpcCkpCisjZGVmaW5lIEJGU19GSUxFQkxPQ0tTKGlwKSAoKGlwKS0+aV9zYmxvY2sgPT0gMCA/IDAgOiAobGUzMl90b19jcHUoKGlwKS0+aV9lYmxvY2spICsgMSkgLSBsZTMyX3RvX2NwdSgoaXApLT5pX3NibG9jaykpCisjZGVmaW5lIEJGU19VTkNMRUFOKGJmc19zYixzYikgKChsZTMyX3RvX2NwdShiZnNfc2ItPnNfZnJvbSkgIT0gLSAxKSAmJiAobGUzMl90b19jcHUoYmZzX3NiLT5zX3RvKSAhPSAtIDEpICYmICEgKHNiLT5zX2ZsYWdzICYgTVNfUkRPTkxZKSkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmluZGVyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JpbmRlci5oCmluZGV4IDAyMTAxYWIuLmFmM2NlYTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmluZGVyLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9iaW5kZXIuaApAQCAtMTksMjEgKzE5LDIxIEBACiAjaWZuZGVmIF9VQVBJX0xJTlVYX0JJTkRFUl9ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX0JJTkRFUl9ICiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KLSNkZWZpbmUgQl9QQUNLX0NIQVJTKGMxLCBjMiwgYzMsIGM0KSAgICgoKChjMSk8PDI0KSkgfCAoKChjMik8PDE2KSkgfCAoKChjMyk8PDgpKSB8IChjNCkpCisjZGVmaW5lIEJfUEFDS19DSEFSUyhjMSxjMixjMyxjNCkgKCgoKGMxKSA8PCAyNCkpIHwgKCgoYzIpIDw8IDE2KSkgfCAoKChjMykgPDwgOCkpIHwgKGM0KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJfVFlQRV9MQVJHRSAweDg1CiBlbnVtIHsKLSBCSU5ERVJfVFlQRV9CSU5ERVIgPSBCX1BBQ0tfQ0hBUlMoJ3MnLCAnYicsICcqJywgQl9UWVBFX0xBUkdFKSwKLSBCSU5ERVJfVFlQRV9XRUFLX0JJTkRFUiA9IEJfUEFDS19DSEFSUygndycsICdiJywgJyonLCBCX1RZUEVfTEFSR0UpLAorICBCSU5ERVJfVFlQRV9CSU5ERVIgPSBCX1BBQ0tfQ0hBUlMoJ3MnLCAnYicsICcqJywgQl9UWVBFX0xBUkdFKSwKKyAgQklOREVSX1RZUEVfV0VBS19CSU5ERVIgPSBCX1BBQ0tfQ0hBUlMoJ3cnLCAnYicsICcqJywgQl9UWVBFX0xBUkdFKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQklOREVSX1RZUEVfSEFORExFID0gQl9QQUNLX0NIQVJTKCdzJywgJ2gnLCAnKicsIEJfVFlQRV9MQVJHRSksCi0gQklOREVSX1RZUEVfV0VBS19IQU5ETEUgPSBCX1BBQ0tfQ0hBUlMoJ3cnLCAnaCcsICcqJywgQl9UWVBFX0xBUkdFKSwKLSBCSU5ERVJfVFlQRV9GRCA9IEJfUEFDS19DSEFSUygnZicsICdkJywgJyonLCBCX1RZUEVfTEFSR0UpLAorICBCSU5ERVJfVFlQRV9IQU5ETEUgPSBCX1BBQ0tfQ0hBUlMoJ3MnLCAnaCcsICcqJywgQl9UWVBFX0xBUkdFKSwKKyAgQklOREVSX1RZUEVfV0VBS19IQU5ETEUgPSBCX1BBQ0tfQ0hBUlMoJ3cnLCAnaCcsICcqJywgQl9UWVBFX0xBUkdFKSwKKyAgQklOREVSX1RZUEVfRkQgPSBCX1BBQ0tfQ0hBUlMoJ2YnLCAnZCcsICcqJywgQl9UWVBFX0xBUkdFKSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gRkxBVF9CSU5ERVJfRkxBR19QUklPUklUWV9NQVNLID0gMHhmZiwKLSBGTEFUX0JJTkRFUl9GTEFHX0FDQ0VQVFNfRkRTID0gMHgxMDAsCisgIEZMQVRfQklOREVSX0ZMQUdfUFJJT1JJVFlfTUFTSyA9IDB4ZmYsCisgIEZMQVRfQklOREVSX0ZMQUdfQUNDRVBUU19GRFMgPSAweDEwMCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmZGVmIEJJTkRFUl9JUENfMzJCSVQKQEAgLTQ2LDI4ICs0NiwyOCBAQAogI2VuZGlmCiBzdHJ1Y3QgZmxhdF9iaW5kZXJfb2JqZWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UzMiBmbGFnczsKLSB1bmlvbiB7Ci0gYmluZGVyX3VpbnRwdHJfdCBiaW5kZXI7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGZsYWdzOworICB1bmlvbiB7CisgICAgYmluZGVyX3VpbnRwdHJfdCBiaW5kZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZTsKLSB9OwotIGJpbmRlcl91aW50cHRyX3QgY29va2llOworICAgIF9fdTMyIGhhbmRsZTsKKyAgfTsKKyAgYmluZGVyX3VpbnRwdHJfdCBjb29raWU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBiaW5kZXJfd3JpdGVfcmVhZCB7Ci0gYmluZGVyX3NpemVfdCB3cml0ZV9zaXplOwotIGJpbmRlcl9zaXplX3Qgd3JpdGVfY29uc3VtZWQ7Ci0gYmluZGVyX3VpbnRwdHJfdCB3cml0ZV9idWZmZXI7CisgIGJpbmRlcl9zaXplX3Qgd3JpdGVfc2l6ZTsKKyAgYmluZGVyX3NpemVfdCB3cml0ZV9jb25zdW1lZDsKKyAgYmluZGVyX3VpbnRwdHJfdCB3cml0ZV9idWZmZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGJpbmRlcl9zaXplX3QgcmVhZF9zaXplOwotIGJpbmRlcl9zaXplX3QgcmVhZF9jb25zdW1lZDsKLSBiaW5kZXJfdWludHB0cl90IHJlYWRfYnVmZmVyOworICBiaW5kZXJfc2l6ZV90IHJlYWRfc2l6ZTsKKyAgYmluZGVyX3NpemVfdCByZWFkX2NvbnN1bWVkOworICBiaW5kZXJfdWludHB0cl90IHJlYWRfYnVmZmVyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYmluZGVyX3ZlcnNpb24gewotIF9fczMyIHByb3RvY29sX3ZlcnNpb247CisgIF9fczMyIHByb3RvY29sX3ZlcnNpb247CiB9OwogI2lmZGVmIEJJTkRFUl9JUENfMzJCSVQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC04NiwxMDUgKzg2LDEwNSBAQAogI2RlZmluZSBCSU5ERVJfVkVSU0lPTiBfSU9XUignYicsIDksIHN0cnVjdCBiaW5kZXJfdmVyc2lvbikKIGVudW0gdHJhbnNhY3Rpb25fZmxhZ3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBURl9PTkVfV0FZID0gMHgwMSwKLSBURl9ST09UX09CSkVDVCA9IDB4MDQsCi0gVEZfU1RBVFVTX0NPREUgPSAweDA4LAotIFRGX0FDQ0VQVF9GRFMgPSAweDEwLAorICBURl9PTkVfV0FZID0gMHgwMSwKKyAgVEZfUk9PVF9PQkpFQ1QgPSAweDA0LAorICBURl9TVEFUVVNfQ09ERSA9IDB4MDgsCisgIFRGX0FDQ0VQVF9GRFMgPSAweDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgYmluZGVyX3RyYW5zYWN0aW9uX2RhdGEgewotIHVuaW9uIHsKLSBfX3UzMiBoYW5kbGU7CisgIHVuaW9uIHsKKyAgICBfX3UzMiBoYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGJpbmRlcl91aW50cHRyX3QgcHRyOwotIH0gdGFyZ2V0OwotIGJpbmRlcl91aW50cHRyX3QgY29va2llOwotIF9fdTMyIGNvZGU7CisgICAgYmluZGVyX3VpbnRwdHJfdCBwdHI7CisgIH0gdGFyZ2V0OworICBiaW5kZXJfdWludHB0cl90IGNvb2tpZTsKKyAgX191MzIgY29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gcGlkX3Qgc2VuZGVyX3BpZDsKLSB1aWRfdCBzZW5kZXJfZXVpZDsKLSBiaW5kZXJfc2l6ZV90IGRhdGFfc2l6ZTsKKyAgX191MzIgZmxhZ3M7CisgIHBpZF90IHNlbmRlcl9waWQ7CisgIHVpZF90IHNlbmRlcl9ldWlkOworICBiaW5kZXJfc2l6ZV90IGRhdGFfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYmluZGVyX3NpemVfdCBvZmZzZXRzX3NpemU7Ci0gdW5pb24gewotIHN0cnVjdCB7Ci0gYmluZGVyX3VpbnRwdHJfdCBidWZmZXI7CisgIGJpbmRlcl9zaXplX3Qgb2Zmc2V0c19zaXplOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIGJpbmRlcl91aW50cHRyX3QgYnVmZmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBiaW5kZXJfdWludHB0cl90IG9mZnNldHM7Ci0gfSBwdHI7Ci0gX191OCBidWZbOF07Ci0gfSBkYXRhOworICAgICAgYmluZGVyX3VpbnRwdHJfdCBvZmZzZXRzOworICAgIH0gcHRyOworICAgIF9fdTggYnVmWzhdOworICB9IGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBiaW5kZXJfcHRyX2Nvb2tpZSB7Ci0gYmluZGVyX3VpbnRwdHJfdCBwdHI7Ci0gYmluZGVyX3VpbnRwdHJfdCBjb29raWU7CisgIGJpbmRlcl91aW50cHRyX3QgcHRyOworICBiaW5kZXJfdWludHB0cl90IGNvb2tpZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGJpbmRlcl9oYW5kbGVfY29va2llIHsKLSBfX3UzMiBoYW5kbGU7Ci0gYmluZGVyX3VpbnRwdHJfdCBjb29raWU7CisgIF9fdTMyIGhhbmRsZTsKKyAgYmluZGVyX3VpbnRwdHJfdCBjb29raWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKK30gX19wYWNrZWQ7CiBzdHJ1Y3QgYmluZGVyX3ByaV9kZXNjIHsKLSBfX3MzMiBwcmlvcml0eTsKLSBfX3UzMiBkZXNjOworICBfX3MzMiBwcmlvcml0eTsKKyAgX191MzIgZGVzYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGJpbmRlcl9wcmlfcHRyX2Nvb2tpZSB7Ci0gX19zMzIgcHJpb3JpdHk7Ci0gYmluZGVyX3VpbnRwdHJfdCBwdHI7CisgIF9fczMyIHByaW9yaXR5OworICBiaW5kZXJfdWludHB0cl90IHB0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYmluZGVyX3VpbnRwdHJfdCBjb29raWU7CisgIGJpbmRlcl91aW50cHRyX3QgY29va2llOwogfTsKIGVudW0gYmluZGVyX2RyaXZlcl9yZXR1cm5fcHJvdG9jb2wgewotIEJSX0VSUk9SID0gX0lPUigncicsIDAsIF9fczMyKSwKKyAgQlJfRVJST1IgPSBfSU9SKCdyJywgMCwgX19zMzIpLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCUl9PSyA9IF9JTygncicsIDEpLAotIEJSX1RSQU5TQUNUSU9OID0gX0lPUigncicsIDIsIHN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb25fZGF0YSksCi0gQlJfUkVQTFkgPSBfSU9SKCdyJywgMywgc3RydWN0IGJpbmRlcl90cmFuc2FjdGlvbl9kYXRhKSwKLSBCUl9BQ1FVSVJFX1JFU1VMVCA9IF9JT1IoJ3InLCA0LCBfX3MzMiksCisgIEJSX09LID0gX0lPKCdyJywgMSksCisgIEJSX1RSQU5TQUNUSU9OID0gX0lPUigncicsIDIsIHN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb25fZGF0YSksCisgIEJSX1JFUExZID0gX0lPUigncicsIDMsIHN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb25fZGF0YSksCisgIEJSX0FDUVVJUkVfUkVTVUxUID0gX0lPUigncicsIDQsIF9fczMyKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQlJfREVBRF9SRVBMWSA9IF9JTygncicsIDUpLAotIEJSX1RSQU5TQUNUSU9OX0NPTVBMRVRFID0gX0lPKCdyJywgNiksCi0gQlJfSU5DUkVGUyA9IF9JT1IoJ3InLCA3LCBzdHJ1Y3QgYmluZGVyX3B0cl9jb29raWUpLAotIEJSX0FDUVVJUkUgPSBfSU9SKCdyJywgOCwgc3RydWN0IGJpbmRlcl9wdHJfY29va2llKSwKKyAgQlJfREVBRF9SRVBMWSA9IF9JTygncicsIDUpLAorICBCUl9UUkFOU0FDVElPTl9DT01QTEVURSA9IF9JTygncicsIDYpLAorICBCUl9JTkNSRUZTID0gX0lPUigncicsIDcsIHN0cnVjdCBiaW5kZXJfcHRyX2Nvb2tpZSksCisgIEJSX0FDUVVJUkUgPSBfSU9SKCdyJywgOCwgc3RydWN0IGJpbmRlcl9wdHJfY29va2llKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQlJfUkVMRUFTRSA9IF9JT1IoJ3InLCA5LCBzdHJ1Y3QgYmluZGVyX3B0cl9jb29raWUpLAotIEJSX0RFQ1JFRlMgPSBfSU9SKCdyJywgMTAsIHN0cnVjdCBiaW5kZXJfcHRyX2Nvb2tpZSksCi0gQlJfQVRURU1QVF9BQ1FVSVJFID0gX0lPUigncicsIDExLCBzdHJ1Y3QgYmluZGVyX3ByaV9wdHJfY29va2llKSwKLSBCUl9OT09QID0gX0lPKCdyJywgMTIpLAorICBCUl9SRUxFQVNFID0gX0lPUigncicsIDksIHN0cnVjdCBiaW5kZXJfcHRyX2Nvb2tpZSksCisgIEJSX0RFQ1JFRlMgPSBfSU9SKCdyJywgMTAsIHN0cnVjdCBiaW5kZXJfcHRyX2Nvb2tpZSksCisgIEJSX0FUVEVNUFRfQUNRVUlSRSA9IF9JT1IoJ3InLCAxMSwgc3RydWN0IGJpbmRlcl9wcmlfcHRyX2Nvb2tpZSksCisgIEJSX05PT1AgPSBfSU8oJ3InLCAxMiksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJSX1NQQVdOX0xPT1BFUiA9IF9JTygncicsIDEzKSwKLSBCUl9GSU5JU0hFRCA9IF9JTygncicsIDE0KSwKLSBCUl9ERUFEX0JJTkRFUiA9IF9JT1IoJ3InLCAxNSwgYmluZGVyX3VpbnRwdHJfdCksCi0gQlJfQ0xFQVJfREVBVEhfTk9USUZJQ0FUSU9OX0RPTkUgPSBfSU9SKCdyJywgMTYsIGJpbmRlcl91aW50cHRyX3QpLAorICBCUl9TUEFXTl9MT09QRVIgPSBfSU8oJ3InLCAxMyksCisgIEJSX0ZJTklTSEVEID0gX0lPKCdyJywgMTQpLAorICBCUl9ERUFEX0JJTkRFUiA9IF9JT1IoJ3InLCAxNSwgYmluZGVyX3VpbnRwdHJfdCksCisgIEJSX0NMRUFSX0RFQVRIX05PVElGSUNBVElPTl9ET05FID0gX0lPUigncicsIDE2LCBiaW5kZXJfdWludHB0cl90KSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQlJfRkFJTEVEX1JFUExZID0gX0lPKCdyJywgMTcpLAorICBCUl9GQUlMRURfUkVQTFkgPSBfSU8oJ3InLCAxNyksCiB9OwogZW51bSBiaW5kZXJfZHJpdmVyX2NvbW1hbmRfcHJvdG9jb2wgewotIEJDX1RSQU5TQUNUSU9OID0gX0lPVygnYycsIDAsIHN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb25fZGF0YSksCisgIEJDX1RSQU5TQUNUSU9OID0gX0lPVygnYycsIDAsIHN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb25fZGF0YSksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJDX1JFUExZID0gX0lPVygnYycsIDEsIHN0cnVjdCBiaW5kZXJfdHJhbnNhY3Rpb25fZGF0YSksCi0gQkNfQUNRVUlSRV9SRVNVTFQgPSBfSU9XKCdjJywgMiwgX19zMzIpLAotIEJDX0ZSRUVfQlVGRkVSID0gX0lPVygnYycsIDMsIGJpbmRlcl91aW50cHRyX3QpLAotIEJDX0lOQ1JFRlMgPSBfSU9XKCdjJywgNCwgX191MzIpLAorICBCQ19SRVBMWSA9IF9JT1coJ2MnLCAxLCBzdHJ1Y3QgYmluZGVyX3RyYW5zYWN0aW9uX2RhdGEpLAorICBCQ19BQ1FVSVJFX1JFU1VMVCA9IF9JT1coJ2MnLCAyLCBfX3MzMiksCisgIEJDX0ZSRUVfQlVGRkVSID0gX0lPVygnYycsIDMsIGJpbmRlcl91aW50cHRyX3QpLAorICBCQ19JTkNSRUZTID0gX0lPVygnYycsIDQsIF9fdTMyKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQkNfQUNRVUlSRSA9IF9JT1coJ2MnLCA1LCBfX3UzMiksCi0gQkNfUkVMRUFTRSA9IF9JT1coJ2MnLCA2LCBfX3UzMiksCi0gQkNfREVDUkVGUyA9IF9JT1coJ2MnLCA3LCBfX3UzMiksCi0gQkNfSU5DUkVGU19ET05FID0gX0lPVygnYycsIDgsIHN0cnVjdCBiaW5kZXJfcHRyX2Nvb2tpZSksCisgIEJDX0FDUVVJUkUgPSBfSU9XKCdjJywgNSwgX191MzIpLAorICBCQ19SRUxFQVNFID0gX0lPVygnYycsIDYsIF9fdTMyKSwKKyAgQkNfREVDUkVGUyA9IF9JT1coJ2MnLCA3LCBfX3UzMiksCisgIEJDX0lOQ1JFRlNfRE9ORSA9IF9JT1coJ2MnLCA4LCBzdHJ1Y3QgYmluZGVyX3B0cl9jb29raWUpLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCQ19BQ1FVSVJFX0RPTkUgPSBfSU9XKCdjJywgOSwgc3RydWN0IGJpbmRlcl9wdHJfY29va2llKSwKLSBCQ19BVFRFTVBUX0FDUVVJUkUgPSBfSU9XKCdjJywgMTAsIHN0cnVjdCBiaW5kZXJfcHJpX2Rlc2MpLAotIEJDX1JFR0lTVEVSX0xPT1BFUiA9IF9JTygnYycsIDExKSwKLSBCQ19FTlRFUl9MT09QRVIgPSBfSU8oJ2MnLCAxMiksCisgIEJDX0FDUVVJUkVfRE9ORSA9IF9JT1coJ2MnLCA5LCBzdHJ1Y3QgYmluZGVyX3B0cl9jb29raWUpLAorICBCQ19BVFRFTVBUX0FDUVVJUkUgPSBfSU9XKCdjJywgMTAsIHN0cnVjdCBiaW5kZXJfcHJpX2Rlc2MpLAorICBCQ19SRUdJU1RFUl9MT09QRVIgPSBfSU8oJ2MnLCAxMSksCisgIEJDX0VOVEVSX0xPT1BFUiA9IF9JTygnYycsIDEyKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQkNfRVhJVF9MT09QRVIgPSBfSU8oJ2MnLCAxMyksCi0gQkNfUkVRVUVTVF9ERUFUSF9OT1RJRklDQVRJT04gPSBfSU9XKCdjJywgMTQsIHN0cnVjdCBiaW5kZXJfaGFuZGxlX2Nvb2tpZSksCi0gQkNfQ0xFQVJfREVBVEhfTk9USUZJQ0FUSU9OID0gX0lPVygnYycsIDE1LCBzdHJ1Y3QgYmluZGVyX2hhbmRsZV9jb29raWUpLAotIEJDX0RFQURfQklOREVSX0RPTkUgPSBfSU9XKCdjJywgMTYsIGJpbmRlcl91aW50cHRyX3QpLAorICBCQ19FWElUX0xPT1BFUiA9IF9JTygnYycsIDEzKSwKKyAgQkNfUkVRVUVTVF9ERUFUSF9OT1RJRklDQVRJT04gPSBfSU9XKCdjJywgMTQsIHN0cnVjdCBiaW5kZXJfaGFuZGxlX2Nvb2tpZSksCisgIEJDX0NMRUFSX0RFQVRIX05PVElGSUNBVElPTiA9IF9JT1coJ2MnLCAxNSwgc3RydWN0IGJpbmRlcl9oYW5kbGVfY29va2llKSwKKyAgQkNfREVBRF9CSU5ERVJfRE9ORSA9IF9JT1coJ2MnLCAxNiwgYmluZGVyX3VpbnRwdHJfdCksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ibGtwZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ibGtwZy5oCmluZGV4IDhiODA4MDkuLjM1Yjk3MzAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmxrcGcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Jsa3BnLmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS1BHIF9JTygweDEyLDEwNSkKKyNkZWZpbmUgQkxLUEcgX0lPKDB4MTIsIDEwNSkKIHN0cnVjdCBibGtwZ19pb2N0bF9hcmcgewotIGludCBvcDsKLSBpbnQgZmxhZ3M7CisgIGludCBvcDsKKyAgaW50IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZGF0YWxlbjsKLSB2b2lkIF9fdXNlciAqZGF0YTsKKyAgaW50IGRhdGFsZW47CisgIHZvaWQgX191c2VyICogZGF0YTsKIH07CiAjZGVmaW5lIEJMS1BHX0FERF9QQVJUSVRJT04gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTM3LDEyICszNywxMiBAQAogI2RlZmluZSBCTEtQR19WT0xOQU1FTFRIIDY0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJsa3BnX3BhcnRpdGlvbiB7Ci0gbG9uZyBsb25nIHN0YXJ0OwotIGxvbmcgbG9uZyBsZW5ndGg7Ci0gaW50IHBubzsKKyAgbG9uZyBsb25nIHN0YXJ0OworICBsb25nIGxvbmcgbGVuZ3RoOworICBpbnQgcG5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRldm5hbWVbQkxLUEdfREVWTkFNRUxUSF07Ci0gY2hhciB2b2xuYW1lW0JMS1BHX1ZPTE5BTUVMVEhdOworICBjaGFyIGRldm5hbWVbQkxLUEdfREVWTkFNRUxUSF07CisgIGNoYXIgdm9sbmFtZVtCTEtQR19WT0xOQU1FTFRIXTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Jsa3RyYWNlX2FwaS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ibGt0cmFjZV9hcGkuaAppbmRleCBkODQxN2JjLi5hYWNlZTE1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Jsa3RyYWNlX2FwaS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYmxrdHJhY2VfYXBpLmgKQEAgLTIxLDYwICsyMSw2MCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIGJsa3RyYWNlX2NhdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJMS19UQ19SRUFEID0gMSA8PCAwLAotIEJMS19UQ19XUklURSA9IDEgPDwgMSwKLSBCTEtfVENfRkxVU0ggPSAxIDw8IDIsCi0gQkxLX1RDX1NZTkMgPSAxIDw8IDMsCisgIEJMS19UQ19SRUFEID0gMSA8PCAwLAorICBCTEtfVENfV1JJVEUgPSAxIDw8IDEsCisgIEJMS19UQ19GTFVTSCA9IDEgPDwgMiwKKyAgQkxLX1RDX1NZTkMgPSAxIDw8IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJMS19UQ19TWU5DSU8gPSBCTEtfVENfU1lOQywKLSBCTEtfVENfUVVFVUUgPSAxIDw8IDQsCi0gQkxLX1RDX1JFUVVFVUUgPSAxIDw8IDUsCi0gQkxLX1RDX0lTU1VFID0gMSA8PCA2LAorICBCTEtfVENfU1lOQ0lPID0gQkxLX1RDX1NZTkMsCisgIEJMS19UQ19RVUVVRSA9IDEgPDwgNCwKKyAgQkxLX1RDX1JFUVVFVUUgPSAxIDw8IDUsCisgIEJMS19UQ19JU1NVRSA9IDEgPDwgNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQkxLX1RDX0NPTVBMRVRFID0gMSA8PCA3LAotIEJMS19UQ19GUyA9IDEgPDwgOCwKLSBCTEtfVENfUEMgPSAxIDw8IDksCi0gQkxLX1RDX05PVElGWSA9IDEgPDwgMTAsCisgIEJMS19UQ19DT01QTEVURSA9IDEgPDwgNywKKyAgQkxLX1RDX0ZTID0gMSA8PCA4LAorICBCTEtfVENfUEMgPSAxIDw8IDksCisgIEJMS19UQ19OT1RJRlkgPSAxIDw8IDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCTEtfVENfQUhFQUQgPSAxIDw8IDExLAotIEJMS19UQ19NRVRBID0gMSA8PCAxMiwKLSBCTEtfVENfRElTQ0FSRCA9IDEgPDwgMTMsCi0gQkxLX1RDX0RSVl9EQVRBID0gMSA8PCAxNCwKKyAgQkxLX1RDX0FIRUFEID0gMSA8PCAxMSwKKyAgQkxLX1RDX01FVEEgPSAxIDw8IDEyLAorICBCTEtfVENfRElTQ0FSRCA9IDEgPDwgMTMsCisgIEJMS19UQ19EUlZfREFUQSA9IDEgPDwgMTQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJMS19UQ19GVUEgPSAxIDw8IDE1LAotIEJMS19UQ19FTkQgPSAxIDw8IDE1LAorICBCTEtfVENfRlVBID0gMSA8PCAxNSwKKyAgQkxLX1RDX0VORCA9IDEgPDwgMTUsCiB9OwogI2RlZmluZSBCTEtfVENfU0hJRlQgKDE2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQkxLX1RDX0FDVChhY3QpICgoYWN0KSA8PCBCTEtfVENfU0hJRlQpCiBlbnVtIGJsa3RyYWNlX2FjdCB7Ci0gX19CTEtfVEFfUVVFVUUgPSAxLAotIF9fQkxLX1RBX0JBQ0tNRVJHRSwKKyAgX19CTEtfVEFfUVVFVUUgPSAxLAorICBfX0JMS19UQV9CQUNLTUVSR0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQkxLX1RBX0ZST05UTUVSR0UsCi0gX19CTEtfVEFfR0VUUlEsCi0gX19CTEtfVEFfU0xFRVBSUSwKLSBfX0JMS19UQV9SRVFVRVVFLAorICBfX0JMS19UQV9GUk9OVE1FUkdFLAorICBfX0JMS19UQV9HRVRSUSwKKyAgX19CTEtfVEFfU0xFRVBSUSwKKyAgX19CTEtfVEFfUkVRVUVVRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19CTEtfVEFfSVNTVUUsCi0gX19CTEtfVEFfQ09NUExFVEUsCi0gX19CTEtfVEFfUExVRywKLSBfX0JMS19UQV9VTlBMVUdfSU8sCisgIF9fQkxLX1RBX0lTU1VFLAorICBfX0JMS19UQV9DT01QTEVURSwKKyAgX19CTEtfVEFfUExVRywKKyAgX19CTEtfVEFfVU5QTFVHX0lPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0JMS19UQV9VTlBMVUdfVElNRVIsCi0gX19CTEtfVEFfSU5TRVJULAotIF9fQkxLX1RBX1NQTElULAotIF9fQkxLX1RBX0JPVU5DRSwKKyAgX19CTEtfVEFfVU5QTFVHX1RJTUVSLAorICBfX0JMS19UQV9JTlNFUlQsCisgIF9fQkxLX1RBX1NQTElULAorICBfX0JMS19UQV9CT1VOQ0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQkxLX1RBX1JFTUFQLAotIF9fQkxLX1RBX0FCT1JULAotIF9fQkxLX1RBX0RSVl9EQVRBLAorICBfX0JMS19UQV9SRU1BUCwKKyAgX19CTEtfVEFfQUJPUlQsCisgIF9fQkxLX1RBX0RSVl9EQVRBLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGJsa3RyYWNlX25vdGlmeSB7Ci0gX19CTEtfVE5fUFJPQ0VTUyA9IDAsCi0gX19CTEtfVE5fVElNRVNUQU1QLAotIF9fQkxLX1ROX01FU1NBR0UsCisgIF9fQkxLX1ROX1BST0NFU1MgPSAwLAorICBfX0JMS19UTl9USU1FU1RBTVAsCisgIF9fQkxLX1ROX01FU1NBR0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQkxLX1RBX1FVRVVFIChfX0JMS19UQV9RVUVVRSB8IEJMS19UQ19BQ1QoQkxLX1RDX1FVRVVFKSkKQEAgLTg2LDcgKzg2LDcgQEAKICNkZWZpbmUgQkxLX1RBX1JFUVVFVUUgKF9fQkxLX1RBX1JFUVVFVUUgfCBCTEtfVENfQUNUKEJMS19UQ19SRVFVRVVFKSkKICNkZWZpbmUgQkxLX1RBX0lTU1VFIChfX0JMS19UQV9JU1NVRSB8IEJMS19UQ19BQ1QoQkxLX1RDX0lTU1VFKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS19UQV9DT01QTEVURSAoX19CTEtfVEFfQ09NUExFVEV8IEJMS19UQ19BQ1QoQkxLX1RDX0NPTVBMRVRFKSkKKyNkZWZpbmUgQkxLX1RBX0NPTVBMRVRFIChfX0JMS19UQV9DT01QTEVURSB8IEJMS19UQ19BQ1QoQkxLX1RDX0NPTVBMRVRFKSkKICNkZWZpbmUgQkxLX1RBX1BMVUcgKF9fQkxLX1RBX1BMVUcgfCBCTEtfVENfQUNUKEJMS19UQ19RVUVVRSkpCiAjZGVmaW5lIEJMS19UQV9VTlBMVUdfSU8gKF9fQkxLX1RBX1VOUExVR19JTyB8IEJMS19UQ19BQ1QoQkxLX1RDX1FVRVVFKSkKICNkZWZpbmUgQkxLX1RBX1VOUExVR19USU1FUiAoX19CTEtfVEFfVU5QTFVHX1RJTUVSIHwgQkxLX1RDX0FDVChCTEtfVENfUVVFVUUpKQpAQCAtMTA2LDQ0ICsxMDYsNDQgQEAKICNkZWZpbmUgQkxLX0lPX1RSQUNFX1ZFUlNJT04gMHgwNwogc3RydWN0IGJsa19pb190cmFjZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1hZ2ljOwotIF9fdTMyIHNlcXVlbmNlOwotIF9fdTY0IHRpbWU7Ci0gX191NjQgc2VjdG9yOworICBfX3UzMiBtYWdpYzsKKyAgX191MzIgc2VxdWVuY2U7CisgIF9fdTY0IHRpbWU7CisgIF9fdTY0IHNlY3RvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnl0ZXM7Ci0gX191MzIgYWN0aW9uOwotIF9fdTMyIHBpZDsKLSBfX3UzMiBkZXZpY2U7CisgIF9fdTMyIGJ5dGVzOworICBfX3UzMiBhY3Rpb247CisgIF9fdTMyIHBpZDsKKyAgX191MzIgZGV2aWNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjcHU7Ci0gX191MTYgZXJyb3I7Ci0gX191MTYgcGR1X2xlbjsKKyAgX191MzIgY3B1OworICBfX3UxNiBlcnJvcjsKKyAgX191MTYgcGR1X2xlbjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJsa19pb190cmFjZV9yZW1hcCB7Ci0gX19iZTMyIGRldmljZV9mcm9tOwotIF9fYmUzMiBkZXZpY2VfdG87Ci0gX19iZTY0IHNlY3Rvcl9mcm9tOworICBfX2JlMzIgZGV2aWNlX2Zyb207CisgIF9fYmUzMiBkZXZpY2VfdG87CisgIF9fYmU2NCBzZWN0b3JfZnJvbTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gQmxrdHJhY2Vfc2V0dXAgPSAxLAotIEJsa3RyYWNlX3J1bm5pbmcsCisgIEJsa3RyYWNlX3NldHVwID0gMSwKKyAgQmxrdHJhY2VfcnVubmluZywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQmxrdHJhY2Vfc3RvcHBlZCwKKyAgQmxrdHJhY2Vfc3RvcHBlZCwKIH07CiAjZGVmaW5lIEJMS1RSQUNFX0JERVZfU0laRSAzMgogc3RydWN0IGJsa191c2VyX3RyYWNlX3NldHVwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBuYW1lW0JMS1RSQUNFX0JERVZfU0laRV07Ci0gX191MTYgYWN0X21hc2s7Ci0gX191MzIgYnVmX3NpemU7Ci0gX191MzIgYnVmX25yOworICBjaGFyIG5hbWVbQkxLVFJBQ0VfQkRFVl9TSVpFXTsKKyAgX191MTYgYWN0X21hc2s7CisgIF9fdTMyIGJ1Zl9zaXplOworICBfX3UzMiBidWZfbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHN0YXJ0X2xiYTsKLSBfX3U2NCBlbmRfbGJhOwotIF9fdTMyIHBpZDsKKyAgX191NjQgc3RhcnRfbGJhOworICBfX3U2NCBlbmRfbGJhOworICBfX3UzMiBwaWQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9icGYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnBmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M5ZjZkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnBmLmgKQEAgLTAsMCArMSwxMjQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKgorICoqKiAgIFRoaXMgaGVhZGVyIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGEgTGludXgga2VybmVsIGhlYWRlcgorICoqKiAgIG9mIHRoZSBzYW1lIG5hbWUsIHRvIG1ha2UgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IGZvciB1c2Vyc3BhY2UgdG8KKyAqKiogICBjYWxsIGludG8gdGhlIGtlcm5lbCBhdmFpbGFibGUgdG8gbGliYy4gIEl0IGNvbnRhaW5zIG9ubHkgY29uc3RhbnRzLAorICoqKiAgIHN0cnVjdHVyZXMsIGFuZCBtYWNyb3MgZ2VuZXJhdGVkIGZyb20gdGhlIG9yaWdpbmFsIGhlYWRlciwgYW5kIHRodXMsCisgKioqICAgY29udGFpbnMgbm8gY29weXJpZ2h0YWJsZSBpbmZvcm1hdGlvbi4KKyAqKioKKyAqKiogICBUbyBlZGl0IHRoZSBjb250ZW50IG9mIHRoaXMgaGVhZGVyLCBtb2RpZnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAqKiogICBzb3VyY2UgZmlsZSAoZS5nLiB1bmRlciBleHRlcm5hbC9rZXJuZWwtaGVhZGVycy9vcmlnaW5hbC8pIHRoZW4KKyAqKiogICBydW4gYmlvbmljL2xpYmMva2VybmVsL3Rvb2xzL3VwZGF0ZV9hbGwucHkKKyAqKioKKyAqKiogICBBbnkgbWFudWFsIGNoYW5nZSBoZXJlIHdpbGwgYmUgbG9zdCB0aGUgbmV4dCB0aW1lIHRoaXMgc2NyaXB0IHdpbGwKKyAqKiogICBiZSBydW4uIFlvdSd2ZSBiZWVuIHdhcm5lZCEKKyAqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX1VBUElfX0xJTlVYX0JQRl9IX18KKyNkZWZpbmUgX1VBUElfX0xJTlVYX0JQRl9IX18KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2JwZl9jb21tb24uaD4KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJQRl9BTFU2NCAweDA3CisjZGVmaW5lIEJQRl9EVyAweDE4CisjZGVmaW5lIEJQRl9YQUREIDB4YzAKKyNkZWZpbmUgQlBGX01PViAweGIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCUEZfQVJTSCAweGMwCisjZGVmaW5lIEJQRl9FTkQgMHhkMAorI2RlZmluZSBCUEZfVE9fTEUgMHgwMAorI2RlZmluZSBCUEZfVE9fQkUgMHgwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlBGX0ZST01fTEUgQlBGX1RPX0xFCisjZGVmaW5lIEJQRl9GUk9NX0JFIEJQRl9UT19CRQorI2RlZmluZSBCUEZfSk5FIDB4NTAKKyNkZWZpbmUgQlBGX0pTR1QgMHg2MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlBGX0pTR0UgMHg3MAorI2RlZmluZSBCUEZfQ0FMTCAweDgwCisjZGVmaW5lIEJQRl9FWElUIDB4OTAKK2VudW0geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgQlBGX1JFR18wID0gMCwKKyAgQlBGX1JFR18xLAorICBCUEZfUkVHXzIsCisgIEJQRl9SRUdfMywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEJQRl9SRUdfNCwKKyAgQlBGX1JFR181LAorICBCUEZfUkVHXzYsCisgIEJQRl9SRUdfNywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEJQRl9SRUdfOCwKKyAgQlBGX1JFR185LAorICBCUEZfUkVHXzEwLAorICBfX01BWF9CUEZfUkVHLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CisjZGVmaW5lIE1BWF9CUEZfUkVHIF9fTUFYX0JQRl9SRUcKK3N0cnVjdCBicGZfaW5zbiB7CisgIF9fdTggY29kZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggZHN0X3JlZyA6IDQ7CisgIF9fdTggc3JjX3JlZyA6IDQ7CisgIF9fczE2IG9mZjsKKyAgX19zMzIgaW1tOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIGJwZl9jbWQgeworICBCUEZfTUFQX0NSRUFURSwKKyAgQlBGX01BUF9MT09LVVBfRUxFTSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEJQRl9NQVBfVVBEQVRFX0VMRU0sCisgIEJQRl9NQVBfREVMRVRFX0VMRU0sCisgIEJQRl9NQVBfR0VUX05FWFRfS0VZLAorICBCUEZfUFJPR19MT0FELAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIGJwZl9tYXBfdHlwZSB7CisgIEJQRl9NQVBfVFlQRV9VTlNQRUMsCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gYnBmX3Byb2dfdHlwZSB7CisgIEJQRl9QUk9HX1RZUEVfVU5TUEVDLAorfTsKK3VuaW9uIGJwZl9hdHRyIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCB7CisgICAgX191MzIgbWFwX3R5cGU7CisgICAgX191MzIga2V5X3NpemU7CisgICAgX191MzIgdmFsdWVfc2l6ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgX191MzIgbWF4X2VudHJpZXM7CisgIH07CisgIHN0cnVjdCB7CisgICAgX191MzIgbWFwX2ZkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBfX2FsaWduZWRfdTY0IGtleTsKKyAgICB1bmlvbiB7CisgICAgICBfX2FsaWduZWRfdTY0IHZhbHVlOworICAgICAgX19hbGlnbmVkX3U2NCBuZXh0X2tleTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgfTsKKyAgfTsKKyAgc3RydWN0IHsKKyAgICBfX3UzMiBwcm9nX3R5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICAgIF9fdTMyIGluc25fY250OworICAgIF9fYWxpZ25lZF91NjQgaW5zbnM7CisgICAgX19hbGlnbmVkX3U2NCBsaWNlbnNlOworICAgIF9fdTMyIGxvZ19sZXZlbDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgX191MzIgbG9nX3NpemU7CisgICAgX19hbGlnbmVkX3U2NCBsb2dfYnVmOworICB9OworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSBicGZfZnVuY19pZCB7CisgIEJQRl9GVU5DX3Vuc3BlYywKKyAgX19CUEZfRlVOQ19NQVhfSUQsCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9icGZfY29tbW9uLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JwZl9jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzE1YWFlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9icGZfY29tbW9uLmgKQEAgLTAsMCArMSw3NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqCisgKioqICAgVGhpcyBoZWFkZXIgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gYSBMaW51eCBrZXJuZWwgaGVhZGVyCisgKioqICAgb2YgdGhlIHNhbWUgbmFtZSwgdG8gbWFrZSBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgZm9yIHVzZXJzcGFjZSB0bworICoqKiAgIGNhbGwgaW50byB0aGUga2VybmVsIGF2YWlsYWJsZSB0byBsaWJjLiAgSXQgY29udGFpbnMgb25seSBjb25zdGFudHMsCisgKioqICAgc3RydWN0dXJlcywgYW5kIG1hY3JvcyBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaGVhZGVyLCBhbmQgdGh1cywKKyAqKiogICBjb250YWlucyBubyBjb3B5cmlnaHRhYmxlIGluZm9ybWF0aW9uLgorICoqKgorICoqKiAgIFRvIGVkaXQgdGhlIGNvbnRlbnQgb2YgdGhpcyBoZWFkZXIsIG1vZGlmeSB0aGUgY29ycmVzcG9uZGluZworICoqKiAgIHNvdXJjZSBmaWxlIChlLmcuIHVuZGVyIGV4dGVybmFsL2tlcm5lbC1oZWFkZXJzL29yaWdpbmFsLykgdGhlbgorICoqKiAgIHJ1biBiaW9uaWMvbGliYy9rZXJuZWwvdG9vbHMvdXBkYXRlX2FsbC5weQorICoqKgorICoqKiAgIEFueSBtYW51YWwgY2hhbmdlIGhlcmUgd2lsbCBiZSBsb3N0IHRoZSBuZXh0IHRpbWUgdGhpcyBzY3JpcHQgd2lsbAorICoqKiAgIGJlIHJ1bi4gWW91J3ZlIGJlZW4gd2FybmVkIQorICoqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfVUFQSV9fTElOVVhfQlBGX0NPTU1PTl9IX18KKyNkZWZpbmUgX1VBUElfX0xJTlVYX0JQRl9DT01NT05fSF9fCisjZGVmaW5lIEJQRl9DTEFTUyhjb2RlKSAoKGNvZGUpICYgMHgwNykKKyNkZWZpbmUgQlBGX0xEIDB4MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJQRl9MRFggMHgwMQorI2RlZmluZSBCUEZfU1QgMHgwMgorI2RlZmluZSBCUEZfU1RYIDB4MDMKKyNkZWZpbmUgQlBGX0FMVSAweDA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCUEZfSk1QIDB4MDUKKyNkZWZpbmUgQlBGX1JFVCAweDA2CisjZGVmaW5lIEJQRl9NSVNDIDB4MDcKKyNkZWZpbmUgQlBGX1NJWkUoY29kZSkgKChjb2RlKSAmIDB4MTgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCUEZfVyAweDAwCisjZGVmaW5lIEJQRl9IIDB4MDgKKyNkZWZpbmUgQlBGX0IgMHgxMAorI2RlZmluZSBCUEZfTU9ERShjb2RlKSAoKGNvZGUpICYgMHhlMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJQRl9JTU0gMHgwMAorI2RlZmluZSBCUEZfQUJTIDB4MjAKKyNkZWZpbmUgQlBGX0lORCAweDQwCisjZGVmaW5lIEJQRl9NRU0gMHg2MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlBGX0xFTiAweDgwCisjZGVmaW5lIEJQRl9NU0ggMHhhMAorI2RlZmluZSBCUEZfT1AoY29kZSkgKChjb2RlKSAmIDB4ZjApCisjZGVmaW5lIEJQRl9BREQgMHgwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlBGX1NVQiAweDEwCisjZGVmaW5lIEJQRl9NVUwgMHgyMAorI2RlZmluZSBCUEZfRElWIDB4MzAKKyNkZWZpbmUgQlBGX09SIDB4NDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJQRl9BTkQgMHg1MAorI2RlZmluZSBCUEZfTFNIIDB4NjAKKyNkZWZpbmUgQlBGX1JTSCAweDcwCisjZGVmaW5lIEJQRl9ORUcgMHg4MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlBGX01PRCAweDkwCisjZGVmaW5lIEJQRl9YT1IgMHhhMAorI2RlZmluZSBCUEZfSkEgMHgwMAorI2RlZmluZSBCUEZfSkVRIDB4MTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJQRl9KR1QgMHgyMAorI2RlZmluZSBCUEZfSkdFIDB4MzAKKyNkZWZpbmUgQlBGX0pTRVQgMHg0MAorI2RlZmluZSBCUEZfU1JDKGNvZGUpICgoY29kZSkgJiAweDA4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlBGX0sgMHgwMAorI2RlZmluZSBCUEZfWCAweDA4CisjaWZuZGVmIEJQRl9NQVhJTlNOUworI2RlZmluZSBCUEZfTUFYSU5TTlMgNDA5NgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JwcWV0aGVyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JwcWV0aGVyLmgKaW5kZXggZDFjNjVhOC4uMDljMDBkMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9icHFldGhlci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnBxZXRoZXIuaApAQCAtMjIsMjggKzIyLDI4IEBACiAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSNkZWZpbmUgU0lPQ1NCUFFFVEhPUFQgKFNJT0NERVZQUklWQVRFKzApCi0jZGVmaW5lIFNJT0NTQlBRRVRIQUREUiAoU0lPQ0RFVlBSSVZBVEUrMSkKKyNkZWZpbmUgU0lPQ1NCUFFFVEhPUFQgKFNJT0NERVZQUklWQVRFICsgMCkKKyNkZWZpbmUgU0lPQ1NCUFFFVEhBRERSIChTSU9DREVWUFJJVkFURSArIDEpCiBzdHJ1Y3QgYnBxX2V0aGFkZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGRlc3RpbmF0aW9uW0VUSF9BTEVOXTsKLSB1bnNpZ25lZCBjaGFyIGFjY2VwdFtFVEhfQUxFTl07CisgIHVuc2lnbmVkIGNoYXIgZGVzdGluYXRpb25bRVRIX0FMRU5dOworICB1bnNpZ25lZCBjaGFyIGFjY2VwdFtFVEhfQUxFTl07CiB9OwogI2RlZmluZSBTSU9DR0JQUUVUSFBBUkFNIDB4NTAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0lPQ1NCUFFFVEhQQVJBTSAweDUwMDEKIHN0cnVjdCBicHFfcmVxIHsKLSBpbnQgY21kOwotIGludCBzcGVlZDsKKyAgaW50IGNtZDsKKyAgaW50IHNwZWVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2xvY2ttb2RlOwotIGludCB0eGRlbGF5OwotIHVuc2lnbmVkIGNoYXIgcGVyc2lzdDsKLSBpbnQgc2xvdGltZTsKKyAgaW50IGNsb2NrbW9kZTsKKyAgaW50IHR4ZGVsYXk7CisgIHVuc2lnbmVkIGNoYXIgcGVyc2lzdDsKKyAgaW50IHNsb3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzcXVlbGRlbGF5OwotIGludCBkbWFjaGFuOwotIGludCBpcnE7CisgIGludCBzcXVlbGRlbGF5OworICBpbnQgZG1hY2hhbjsKKyAgaW50IGlycTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JzZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ic2cuaAppbmRleCBhNGRmNTJhLi44MGNjODdjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2JzZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnNnLmgKQEAgLTI2LDQ4ICsyNiw0OSBAQAogI2RlZmluZSBCU0dfU1VCX1BST1RPQ09MX1NDU0lfVFJBTlNQT1JUIDIKICNkZWZpbmUgQlNHX0ZMQUdfUV9BVF9UQUlMIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJTR19GTEFHX1FfQVRfSEVBRCAweDIwCiBzdHJ1Y3Qgc2dfaW9fdjQgewotIF9fczMyIGd1YXJkOwotIF9fdTMyIHByb3RvY29sOwotIF9fdTMyIHN1YnByb3RvY29sOworICBfX3MzMiBndWFyZDsKKyAgX191MzIgcHJvdG9jb2w7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlcXVlc3RfbGVuOwotIF9fdTY0IHJlcXVlc3Q7Ci0gX191NjQgcmVxdWVzdF90YWc7Ci0gX191MzIgcmVxdWVzdF9hdHRyOworICBfX3UzMiBzdWJwcm90b2NvbDsKKyAgX191MzIgcmVxdWVzdF9sZW47CisgIF9fdTY0IHJlcXVlc3Q7CisgIF9fdTY0IHJlcXVlc3RfdGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXF1ZXN0X3ByaW9yaXR5OwotIF9fdTMyIHJlcXVlc3RfZXh0cmE7Ci0gX191MzIgbWF4X3Jlc3BvbnNlX2xlbjsKLSBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgcmVxdWVzdF9hdHRyOworICBfX3UzMiByZXF1ZXN0X3ByaW9yaXR5OworICBfX3UzMiByZXF1ZXN0X2V4dHJhOworICBfX3UzMiBtYXhfcmVzcG9uc2VfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkb3V0X2lvdmVjX2NvdW50OwotIF9fdTMyIGRvdXRfeGZlcl9sZW47Ci0gX191MzIgZGluX2lvdmVjX2NvdW50OwotIF9fdTMyIGRpbl94ZmVyX2xlbjsKKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTMyIGRvdXRfaW92ZWNfY291bnQ7CisgIF9fdTMyIGRvdXRfeGZlcl9sZW47CisgIF9fdTMyIGRpbl9pb3ZlY19jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZG91dF94ZmVycDsKLSBfX3U2NCBkaW5feGZlcnA7Ci0gX191MzIgdGltZW91dDsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgZGluX3hmZXJfbGVuOworICBfX3U2NCBkb3V0X3hmZXJwOworICBfX3U2NCBkaW5feGZlcnA7CisgIF9fdTMyIHRpbWVvdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVzcl9wdHI7Ci0gX191MzIgc3BhcmVfaW47Ci0gX191MzIgZHJpdmVyX3N0YXR1czsKLSBfX3UzMiB0cmFuc3BvcnRfc3RhdHVzOworICBfX3UzMiBmbGFnczsKKyAgX191NjQgdXNyX3B0cjsKKyAgX191MzIgc3BhcmVfaW47CisgIF9fdTMyIGRyaXZlcl9zdGF0dXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRldmljZV9zdGF0dXM7Ci0gX191MzIgcmV0cnlfZGVsYXk7Ci0gX191MzIgaW5mbzsKLSBfX3UzMiBkdXJhdGlvbjsKKyAgX191MzIgdHJhbnNwb3J0X3N0YXR1czsKKyAgX191MzIgZGV2aWNlX3N0YXR1czsKKyAgX191MzIgcmV0cnlfZGVsYXk7CisgIF9fdTMyIGluZm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc3BvbnNlX2xlbjsKLSBfX3MzMiBkaW5fcmVzaWQ7Ci0gX19zMzIgZG91dF9yZXNpZDsKLSBfX3U2NCBnZW5lcmF0ZWRfdGFnOworICBfX3UzMiBkdXJhdGlvbjsKKyAgX191MzIgcmVzcG9uc2VfbGVuOworICBfX3MzMiBkaW5fcmVzaWQ7CisgIF9fczMyIGRvdXRfcmVzaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNwYXJlX291dDsKLSBfX3UzMiBwYWRkaW5nOworICBfX3U2NCBnZW5lcmF0ZWRfdGFnOworICBfX3UzMiBzcGFyZV9vdXQ7CisgIF9fdTMyIHBhZGRpbmc7CiB9OwotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2J0cmZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2J0cmZzLmgKaW5kZXggMTFmOTUwZi4uODA0N2Y2YSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9idHJmcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnRyZnMuaApAQCAtMjYsOCArMjYsOCBAQAogI2RlZmluZSBCVFJGU19QQVRIX05BTUVfTUFYIDQwODcKIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczY0IGZkOwotIGNoYXIgbmFtZVtCVFJGU19QQVRIX05BTUVfTUFYICsgMV07CisgIF9fczY0IGZkOworICBjaGFyIG5hbWVbQlRSRlNfUEFUSF9OQU1FX01BWCArIDFdOwogfTsKICNkZWZpbmUgQlRSRlNfREVWSUNFX1BBVEhfTkFNRV9NQVggMTAyNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTM3LDQ1MyArMzcsNDY4IEBACiAjZGVmaW5lIEJUUkZTX0ZTSURfU0laRSAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfVVVJRF9TSVpFIDE2CisjZGVmaW5lIEJUUkZTX1VVSURfVU5QQVJTRURfU0laRSAzNwogI2RlZmluZSBCVFJGU19RR1JPVVBfSU5IRVJJVF9TRVRfTElNSVRTICgxVUxMIDw8IDApCiBzdHJ1Y3QgYnRyZnNfcWdyb3VwX2xpbWl0IHsKLSBfX3U2NCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbWF4X3JmZXI7Ci0gX191NjQgbWF4X2V4Y2w7Ci0gX191NjQgcnN2X3JmZXI7Ci0gX191NjQgcnN2X2V4Y2w7CisgIF9fdTY0IGZsYWdzOworICBfX3U2NCBtYXhfcmZlcjsKKyAgX191NjQgbWF4X2V4Y2w7CisgIF9fdTY0IHJzdl9yZmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgcnN2X2V4Y2w7CiB9Owogc3RydWN0IGJ0cmZzX3Fncm91cF9pbmhlcml0IHsKLSBfX3U2NCBmbGFnczsKLSBfX3U2NCBudW1fcWdyb3VwczsKKyAgX191NjQgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG51bV9yZWZfY29waWVzOwotIF9fdTY0IG51bV9leGNsX2NvcGllczsKLSBzdHJ1Y3QgYnRyZnNfcWdyb3VwX2xpbWl0IGxpbTsKLSBfX3U2NCBxZ3JvdXBzWzBdOworICBfX3U2NCBudW1fcWdyb3VwczsKKyAgX191NjQgbnVtX3JlZl9jb3BpZXM7CisgIF9fdTY0IG51bV9leGNsX2NvcGllczsKKyAgc3RydWN0IGJ0cmZzX3Fncm91cF9saW1pdCBsaW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBxZ3JvdXBzWzBdOwogfTsKIHN0cnVjdCBidHJmc19pb2N0bF9xZ3JvdXBfbGltaXRfYXJncyB7Ci0gX191NjQgcWdyb3VwaWQ7Ci0gc3RydWN0IGJ0cmZzX3Fncm91cF9saW1pdCBsaW07CisgIF9fdTY0IHFncm91cGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGJ0cmZzX3Fncm91cF9saW1pdCBsaW07CiB9OwogI2RlZmluZSBCVFJGU19TVUJWT0xfTkFNRV9NQVggNDAzOQogc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzX3YyIHsKLSBfX3M2NCBmZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdHJhbnNpZDsKLSBfX3U2NCBmbGFnczsKLSB1bmlvbiB7Ci0gc3RydWN0IHsKKyAgX19zNjQgZmQ7CisgIF9fdTY0IHRyYW5zaWQ7CisgIF9fdTY0IGZsYWdzOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNpemU7Ci0gc3RydWN0IGJ0cmZzX3Fncm91cF9pbmhlcml0IF9fdXNlciAqcWdyb3VwX2luaGVyaXQ7Ci0gfTsKLSBfX3U2NCB1bnVzZWRbNF07CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IHNpemU7CisgICAgICBzdHJ1Y3QgYnRyZnNfcWdyb3VwX2luaGVyaXQgX191c2VyICogcWdyb3VwX2luaGVyaXQ7CisgICAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKLSBjaGFyIG5hbWVbQlRSRlNfU1VCVk9MX05BTUVfTUFYICsgMV07CisgICAgX191NjQgdW51c2VkWzRdOworICB9OworICBjaGFyIG5hbWVbQlRSRlNfU1VCVk9MX05BTUVfTUFYICsgMV07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBidHJmc19zY3J1Yl9wcm9ncmVzcyB7CisgIF9fdTY0IGRhdGFfZXh0ZW50c19zY3J1YmJlZDsKKyAgX191NjQgdHJlZV9leHRlbnRzX3NjcnViYmVkOworICBfX3U2NCBkYXRhX2J5dGVzX3NjcnViYmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkYXRhX2V4dGVudHNfc2NydWJiZWQ7Ci0gX191NjQgdHJlZV9leHRlbnRzX3NjcnViYmVkOwotIF9fdTY0IGRhdGFfYnl0ZXNfc2NydWJiZWQ7Ci0gX191NjQgdHJlZV9ieXRlc19zY3J1YmJlZDsKKyAgX191NjQgdHJlZV9ieXRlc19zY3J1YmJlZDsKKyAgX191NjQgcmVhZF9lcnJvcnM7CisgIF9fdTY0IGNzdW1fZXJyb3JzOworICBfX3U2NCB2ZXJpZnlfZXJyb3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZWFkX2Vycm9yczsKLSBfX3U2NCBjc3VtX2Vycm9yczsKLSBfX3U2NCB2ZXJpZnlfZXJyb3JzOwotIF9fdTY0IG5vX2NzdW07CisgIF9fdTY0IG5vX2NzdW07CisgIF9fdTY0IGNzdW1fZGlzY2FyZHM7CisgIF9fdTY0IHN1cGVyX2Vycm9yczsKKyAgX191NjQgbWFsbG9jX2Vycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgY3N1bV9kaXNjYXJkczsKLSBfX3U2NCBzdXBlcl9lcnJvcnM7Ci0gX191NjQgbWFsbG9jX2Vycm9yczsKLSBfX3U2NCB1bmNvcnJlY3RhYmxlX2Vycm9yczsKKyAgX191NjQgdW5jb3JyZWN0YWJsZV9lcnJvcnM7CisgIF9fdTY0IGNvcnJlY3RlZF9lcnJvcnM7CisgIF9fdTY0IGxhc3RfcGh5c2ljYWw7CisgIF9fdTY0IHVudmVyaWZpZWRfZXJyb3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjb3JyZWN0ZWRfZXJyb3JzOwotIF9fdTY0IGxhc3RfcGh5c2ljYWw7Ci0gX191NjQgdW52ZXJpZmllZF9lcnJvcnM7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfU0NSVUJfUkVBRE9OTFkgMQogc3RydWN0IGJ0cmZzX2lvY3RsX3NjcnViX2FyZ3MgewotIF9fdTY0IGRldmlkOwotIF9fdTY0IHN0YXJ0OworICBfX3U2NCBkZXZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZW5kOwotIF9fdTY0IGZsYWdzOwotIHN0cnVjdCBidHJmc19zY3J1Yl9wcm9ncmVzcyBwcm9ncmVzczsKLSBfX3U2NCB1bnVzZWRbKDEwMjQtMzItc2l6ZW9mKHN0cnVjdCBidHJmc19zY3J1Yl9wcm9ncmVzcykpLzhdOworICBfX3U2NCBzdGFydDsKKyAgX191NjQgZW5kOworICBfX3U2NCBmbGFnczsKKyAgc3RydWN0IGJ0cmZzX3NjcnViX3Byb2dyZXNzIHByb2dyZXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgdW51c2VkWygxMDI0IC0gMzIgLSBzaXplb2Yoc3RydWN0IGJ0cmZzX3NjcnViX3Byb2dyZXNzKSkgLyA4XTsKIH07CiAjZGVmaW5lIEJUUkZTX0lPQ1RMX0RFVl9SRVBMQUNFX0NPTlRfUkVBRElOR19GUk9NX1NSQ0RFVl9NT0RFX0FMV0FZUyAwCiAjZGVmaW5lIEJUUkZTX0lPQ1RMX0RFVl9SRVBMQUNFX0NPTlRfUkVBRElOR19GUk9NX1NSQ0RFVl9NT0RFX0FWT0lEIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYnRyZnNfaW9jdGxfZGV2X3JlcGxhY2Vfc3RhcnRfcGFyYW1zIHsKKyAgX191NjQgc3JjZGV2aWQ7CisgIF9fdTY0IGNvbnRfcmVhZGluZ19mcm9tX3NyY2Rldl9tb2RlOworICBfX3U4IHNyY2Rldl9uYW1lW0JUUkZTX0RFVklDRV9QQVRIX05BTUVfTUFYICsgMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNyY2RldmlkOwotIF9fdTY0IGNvbnRfcmVhZGluZ19mcm9tX3NyY2Rldl9tb2RlOwotIF9fdTggc3JjZGV2X25hbWVbQlRSRlNfREVWSUNFX1BBVEhfTkFNRV9NQVggKyAxXTsKLSBfX3U4IHRndGRldl9uYW1lW0JUUkZTX0RFVklDRV9QQVRIX05BTUVfTUFYICsgMV07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHRndGRldl9uYW1lW0JUUkZTX0RFVklDRV9QQVRIX05BTUVfTUFYICsgMV07CiB9OwogI2RlZmluZSBCVFJGU19JT0NUTF9ERVZfUkVQTEFDRV9TVEFURV9ORVZFUl9TVEFSVEVEIDAKICNkZWZpbmUgQlRSRlNfSU9DVExfREVWX1JFUExBQ0VfU1RBVEVfU1RBUlRFRCAxCi0jZGVmaW5lIEJUUkZTX0lPQ1RMX0RFVl9SRVBMQUNFX1NUQVRFX0ZJTklTSEVEIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJUUkZTX0lPQ1RMX0RFVl9SRVBMQUNFX1NUQVRFX0ZJTklTSEVEIDIKICNkZWZpbmUgQlRSRlNfSU9DVExfREVWX1JFUExBQ0VfU1RBVEVfQ0FOQ0VMRUQgMwogI2RlZmluZSBCVFJGU19JT0NUTF9ERVZfUkVQTEFDRV9TVEFURV9TVVNQRU5ERUQgNAogc3RydWN0IGJ0cmZzX2lvY3RsX2Rldl9yZXBsYWNlX3N0YXR1c19wYXJhbXMgewotIF9fdTY0IHJlcGxhY2Vfc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHByb2dyZXNzXzEwMDA7Ci0gX191NjQgdGltZV9zdGFydGVkOwotIF9fdTY0IHRpbWVfc3RvcHBlZDsKLSBfX3U2NCBudW1fd3JpdGVfZXJyb3JzOworICBfX3U2NCByZXBsYWNlX3N0YXRlOworICBfX3U2NCBwcm9ncmVzc18xMDAwOworICBfX3U2NCB0aW1lX3N0YXJ0ZWQ7CisgIF9fdTY0IHRpbWVfc3RvcHBlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbnVtX3VuY29ycmVjdGFibGVfcmVhZF9lcnJvcnM7CisgIF9fdTY0IG51bV93cml0ZV9lcnJvcnM7CisgIF9fdTY0IG51bV91bmNvcnJlY3RhYmxlX3JlYWRfZXJyb3JzOwogfTsKICNkZWZpbmUgQlRSRlNfSU9DVExfREVWX1JFUExBQ0VfQ01EX1NUQVJUIDAKLSNkZWZpbmUgQlRSRlNfSU9DVExfREVWX1JFUExBQ0VfQ01EX1NUQVRVUyAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVFJGU19JT0NUTF9ERVZfUkVQTEFDRV9DTURfU1RBVFVTIDEKICNkZWZpbmUgQlRSRlNfSU9DVExfREVWX1JFUExBQ0VfQ01EX0NBTkNFTCAyCiAjZGVmaW5lIEJUUkZTX0lPQ1RMX0RFVl9SRVBMQUNFX1JFU1VMVF9OT19FUlJPUiAwCiAjZGVmaW5lIEJUUkZTX0lPQ1RMX0RFVl9SRVBMQUNFX1JFU1VMVF9OT1RfU1RBUlRFRCAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVFJGU19JT0NUTF9ERVZfUkVQTEFDRV9SRVNVTFRfQUxSRUFEWV9TVEFSVEVEIDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYnRyZnNfaW9jdGxfZGV2X3JlcGxhY2VfYXJncyB7Ci0gX191NjQgY21kOwotIF9fdTY0IHJlc3VsdDsKLSB1bmlvbiB7CisgIF9fdTY0IGNtZDsKKyAgX191NjQgcmVzdWx0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYnRyZnNfaW9jdGxfZGV2X3JlcGxhY2Vfc3RhcnRfcGFyYW1zIHN0YXJ0OwotIHN0cnVjdCBidHJmc19pb2N0bF9kZXZfcmVwbGFjZV9zdGF0dXNfcGFyYW1zIHN0YXR1czsKLSB9OwotIF9fdTY0IHNwYXJlWzY0XTsKKyAgdW5pb24geworICAgIHN0cnVjdCBidHJmc19pb2N0bF9kZXZfcmVwbGFjZV9zdGFydF9wYXJhbXMgc3RhcnQ7CisgICAgc3RydWN0IGJ0cmZzX2lvY3RsX2Rldl9yZXBsYWNlX3N0YXR1c19wYXJhbXMgc3RhdHVzOworICB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgc3BhcmVbNjRdOwogfTsKIHN0cnVjdCBidHJmc19pb2N0bF9kZXZfaW5mb19hcmdzIHsKLSBfX3U2NCBkZXZpZDsKLSBfX3U4IHV1aWRbQlRSRlNfVVVJRF9TSVpFXTsKKyAgX191NjQgZGV2aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGJ5dGVzX3VzZWQ7Ci0gX191NjQgdG90YWxfYnl0ZXM7Ci0gX191NjQgdW51c2VkWzM3OV07Ci0gX191OCBwYXRoW0JUUkZTX0RFVklDRV9QQVRIX05BTUVfTUFYXTsKKyAgX191OCB1dWlkW0JUUkZTX1VVSURfU0laRV07CisgIF9fdTY0IGJ5dGVzX3VzZWQ7CisgIF9fdTY0IHRvdGFsX2J5dGVzOworICBfX3U2NCB1bnVzZWRbMzc5XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcGF0aFtCVFJGU19ERVZJQ0VfUEFUSF9OQU1FX01BWF07CiB9Owogc3RydWN0IGJ0cmZzX2lvY3RsX2ZzX2luZm9fYXJncyB7Ci0gX191NjQgbWF4X2lkOwotIF9fdTY0IG51bV9kZXZpY2VzOworICBfX3U2NCBtYXhfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZnNpZFtCVFJGU19GU0lEX1NJWkVdOwotIF9fdTY0IHJlc2VydmVkWzEyNF07CisgIF9fdTY0IG51bV9kZXZpY2VzOworICBfX3U4IGZzaWRbQlRSRlNfRlNJRF9TSVpFXTsKKyAgX191MzIgbm9kZXNpemU7CisgIF9fdTMyIHNlY3RvcnNpemU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBjbG9uZV9hbGlnbm1lbnQ7CisgIF9fdTMyIHJlc2VydmVkMzI7CisgIF9fdTY0IHJlc2VydmVkWzEyMl07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBidHJmc19pb2N0bF9mZWF0dXJlX2ZsYWdzIHsKKyAgX191NjQgY29tcGF0X2ZsYWdzOworICBfX3U2NCBjb21wYXRfcm9fZmxhZ3M7CisgIF9fdTY0IGluY29tcGF0X2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjb21wYXRfZmxhZ3M7Ci0gX191NjQgY29tcGF0X3JvX2ZsYWdzOwotIF9fdTY0IGluY29tcGF0X2ZsYWdzOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUUkZTX0JBTEFOQ0VfQ1RMX1BBVVNFIDEKICNkZWZpbmUgQlRSRlNfQkFMQU5DRV9DVExfQ0FOQ0VMIDIKIHN0cnVjdCBidHJmc19iYWxhbmNlX2FyZ3MgewotIF9fdTY0IHByb2ZpbGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1c2FnZTsKLSBfX3U2NCBkZXZpZDsKLSBfX3U2NCBwc3RhcnQ7Ci0gX191NjQgcGVuZDsKKyAgX191NjQgcHJvZmlsZXM7CisgIF9fdTY0IHVzYWdlOworICBfX3U2NCBkZXZpZDsKKyAgX191NjQgcHN0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB2c3RhcnQ7Ci0gX191NjQgdmVuZDsKLSBfX3U2NCB0YXJnZXQ7Ci0gX191NjQgZmxhZ3M7CisgIF9fdTY0IHBlbmQ7CisgIF9fdTY0IHZzdGFydDsKKyAgX191NjQgdmVuZDsKKyAgX191NjQgdGFyZ2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1bnVzZWRbOF07Ci19IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisgIF9fdTY0IGZsYWdzOworICBfX3U2NCBsaW1pdDsKKyAgX191NjQgdW51c2VkWzddOworfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJ0cmZzX2JhbGFuY2VfcHJvZ3Jlc3MgewotIF9fdTY0IGV4cGVjdGVkOworICBfX3U2NCBleHBlY3RlZDsKKyAgX191NjQgY29uc2lkZXJlZDsKKyAgX191NjQgY29tcGxldGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjb25zaWRlcmVkOwotIF9fdTY0IGNvbXBsZXRlZDsKIH07CiAjZGVmaW5lIEJUUkZTX0JBTEFOQ0VfU1RBVEVfUlVOTklORyAoMVVMTCA8PCAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfQkFMQU5DRV9TVEFURV9QQVVTRV9SRVEgKDFVTEwgPDwgMSkKICNkZWZpbmUgQlRSRlNfQkFMQU5DRV9TVEFURV9DQU5DRUxfUkVRICgxVUxMIDw8IDIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJ0cmZzX2lvY3RsX2JhbGFuY2VfYXJncyB7Ci0gX191NjQgZmxhZ3M7CisgIF9fdTY0IGZsYWdzOworICBfX3U2NCBzdGF0ZTsKKyAgc3RydWN0IGJ0cmZzX2JhbGFuY2VfYXJncyBkYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzdGF0ZTsKLSBzdHJ1Y3QgYnRyZnNfYmFsYW5jZV9hcmdzIGRhdGE7Ci0gc3RydWN0IGJ0cmZzX2JhbGFuY2VfYXJncyBtZXRhOwotIHN0cnVjdCBidHJmc19iYWxhbmNlX2FyZ3Mgc3lzOworICBzdHJ1Y3QgYnRyZnNfYmFsYW5jZV9hcmdzIG1ldGE7CisgIHN0cnVjdCBidHJmc19iYWxhbmNlX2FyZ3Mgc3lzOworICBzdHJ1Y3QgYnRyZnNfYmFsYW5jZV9wcm9ncmVzcyBzdGF0OworICBfX3U2NCB1bnVzZWRbNzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYnRyZnNfYmFsYW5jZV9wcm9ncmVzcyBzdGF0OwotIF9fdTY0IHVudXNlZFs3Ml07CiB9OwogI2RlZmluZSBCVFJGU19JTk9fTE9PS1VQX1BBVEhfTUFYIDQwODAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYnRyZnNfaW9jdGxfaW5vX2xvb2t1cF9hcmdzIHsKLSBfX3U2NCB0cmVlaWQ7Ci0gX191NjQgb2JqZWN0aWQ7Ci0gY2hhciBuYW1lW0JUUkZTX0lOT19MT09LVVBfUEFUSF9NQVhdOworICBfX3U2NCB0cmVlaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBvYmplY3RpZDsKKyAgY2hhciBuYW1lW0JUUkZTX0lOT19MT09LVVBfUEFUSF9NQVhdOwogfTsKIHN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfa2V5IHsKLSBfX3U2NCB0cmVlX2lkOwotIF9fdTY0IG1pbl9vYmplY3RpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbWF4X29iamVjdGlkOwotIF9fdTY0IG1pbl9vZmZzZXQ7Ci0gX191NjQgbWF4X29mZnNldDsKLSBfX3U2NCBtaW5fdHJhbnNpZDsKKyAgX191NjQgdHJlZV9pZDsKKyAgX191NjQgbWluX29iamVjdGlkOworICBfX3U2NCBtYXhfb2JqZWN0aWQ7CisgIF9fdTY0IG1pbl9vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG1heF90cmFuc2lkOwotIF9fdTMyIG1pbl90eXBlOwotIF9fdTMyIG1heF90eXBlOwotIF9fdTMyIG5yX2l0ZW1zOworICBfX3U2NCBtYXhfb2Zmc2V0OworICBfX3U2NCBtaW5fdHJhbnNpZDsKKyAgX191NjQgbWF4X3RyYW5zaWQ7CisgIF9fdTMyIG1pbl90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1bnVzZWQ7Ci0gX191NjQgdW51c2VkMTsKLSBfX3U2NCB1bnVzZWQyOwotIF9fdTY0IHVudXNlZDM7CisgIF9fdTMyIG1heF90eXBlOworICBfX3UzMiBucl9pdGVtczsKKyAgX191MzIgdW51c2VkOworICBfX3U2NCB1bnVzZWQxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1bnVzZWQ0OworICBfX3U2NCB1bnVzZWQyOworICBfX3U2NCB1bnVzZWQzOworICBfX3U2NCB1bnVzZWQ0OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2hlYWRlciB7Ci0gX191NjQgdHJhbnNpZDsKKyAgX191NjQgdHJhbnNpZDsKKyAgX191NjQgb2JqZWN0aWQ7CisgIF9fdTY0IG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgb2JqZWN0aWQ7Ci0gX191NjQgb2Zmc2V0OwotIF9fdTMyIHR5cGU7Ci0gX191MzIgbGVuOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgdHlwZTsKKyAgX191MzIgbGVuOwogfTsKICNkZWZpbmUgQlRSRlNfU0VBUkNIX0FSR1NfQlVGU0laRSAoNDA5NiAtIHNpemVvZihzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2tleSkpCi1zdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2FyZ3MgewotIHN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfa2V5IGtleTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBidWZbQlRSRlNfU0VBUkNIX0FSR1NfQlVGU0laRV07CitzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2FyZ3MgeworICBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2tleSBrZXk7CisgIGNoYXIgYnVmW0JUUkZTX1NFQVJDSF9BUkdTX0JVRlNJWkVdOworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2FyZ3NfdjIgeworICBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2tleSBrZXk7CisgIF9fdTY0IGJ1Zl9zaXplOworICBfX3U2NCBidWZbMF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBidHJmc19pb2N0bF9jbG9uZV9yYW5nZV9hcmdzIHsKLSBfX3M2NCBzcmNfZmQ7CisgIF9fczY0IHNyY19mZDsKKyAgX191NjQgc3JjX29mZnNldCwgc3JjX2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgc3JjX29mZnNldCwgc3JjX2xlbmd0aDsKLSBfX3U2NCBkZXN0X29mZnNldDsKKyAgX191NjQgZGVzdF9vZmZzZXQ7CiB9OwogI2RlZmluZSBCVFJGU19ERUZSQUdfUkFOR0VfQ09NUFJFU1MgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfREVGUkFHX1JBTkdFX1NUQVJUX0lPIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUUkZTX1NBTUVfREFUQV9ESUZGRVJTIDEKIHN0cnVjdCBidHJmc19pb2N0bF9zYW1lX2V4dGVudF9pbmZvIHsKLSBfX3M2NCBmZDsKKyAgX19zNjQgZmQ7CisgIF9fdTY0IGxvZ2ljYWxfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBsb2dpY2FsX29mZnNldDsKLSBfX3U2NCBieXRlc19kZWR1cGVkOwotIF9fczMyIHN0YXR1czsKLSBfX3UzMiByZXNlcnZlZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IGJ5dGVzX2RlZHVwZWQ7CisgIF9fczMyIHN0YXR1czsKKyAgX191MzIgcmVzZXJ2ZWQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBidHJmc19pb2N0bF9zYW1lX2FyZ3MgewotIF9fdTY0IGxvZ2ljYWxfb2Zmc2V0OwotIF9fdTY0IGxlbmd0aDsKKyAgX191NjQgbG9naWNhbF9vZmZzZXQ7CisgIF9fdTY0IGxlbmd0aDsKKyAgX191MTYgZGVzdF9jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZGVzdF9jb3VudDsKLSBfX3UxNiByZXNlcnZlZDE7Ci0gX191MzIgcmVzZXJ2ZWQyOwotIHN0cnVjdCBidHJmc19pb2N0bF9zYW1lX2V4dGVudF9pbmZvIGluZm9bMF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiByZXNlcnZlZDE7CisgIF9fdTMyIHJlc2VydmVkMjsKKyAgc3RydWN0IGJ0cmZzX2lvY3RsX3NhbWVfZXh0ZW50X2luZm8gaW5mb1swXTsKIH07Ci1zdHJ1Y3QgYnRyZnNfaW9jdGxfc3BhY2VfaW5mbyB7Ci0gX191NjQgZmxhZ3M7Ci0gX191NjQgdG90YWxfYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVzZWRfYnl0ZXM7CitzdHJ1Y3QgYnRyZnNfaW9jdGxfc3BhY2VfaW5mbyB7CisgIF9fdTY0IGZsYWdzOworICBfX3U2NCB0b3RhbF9ieXRlczsKKyAgX191NjQgdXNlZF9ieXRlczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGJ0cmZzX2lvY3RsX3NwYWNlX2FyZ3MgewotIF9fdTY0IHNwYWNlX3Nsb3RzOworICBfX3U2NCBzcGFjZV9zbG90czsKKyAgX191NjQgdG90YWxfc3BhY2VzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB0b3RhbF9zcGFjZXM7Ci0gc3RydWN0IGJ0cmZzX2lvY3RsX3NwYWNlX2luZm8gc3BhY2VzWzBdOworICBzdHJ1Y3QgYnRyZnNfaW9jdGxfc3BhY2VfaW5mbyBzcGFjZXNbMF07CiB9Owogc3RydWN0IGJ0cmZzX2RhdGFfY29udGFpbmVyIHsKKyAgX191MzIgYnl0ZXNfbGVmdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnl0ZXNfbGVmdDsKLSBfX3UzMiBieXRlc19taXNzaW5nOwotIF9fdTMyIGVsZW1fY250OwotIF9fdTMyIGVsZW1fbWlzc2VkOworICBfX3UzMiBieXRlc19taXNzaW5nOworICBfX3UzMiBlbGVtX2NudDsKKyAgX191MzIgZWxlbV9taXNzZWQ7CisgIF9fdTY0IHZhbFswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdmFsWzBdOwogfTsKIHN0cnVjdCBidHJmc19pb2N0bF9pbm9fcGF0aF9hcmdzIHsKLSBfX3U2NCBpbnVtOworICBfX3U2NCBpbnVtOworICBfX3U2NCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzaXplOwotIF9fdTY0IHJlc2VydmVkWzRdOwotIF9fdTY0IGZzcGF0aDsKKyAgX191NjQgcmVzZXJ2ZWRbNF07CisgIF9fdTY0IGZzcGF0aDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJ0cmZzX2lvY3RsX2xvZ2ljYWxfaW5vX2FyZ3MgewotIF9fdTY0IGxvZ2ljYWw7Ci0gX191NjQgc2l6ZTsKLSBfX3U2NCByZXNlcnZlZFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgaW5vZGVzOworICBfX3U2NCBsb2dpY2FsOworICBfX3U2NCBzaXplOworICBfX3U2NCByZXNlcnZlZFs0XTsKKyAgX191NjQgaW5vZGVzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGJ0cmZzX2Rldl9zdGF0X3ZhbHVlcyB7Ci0gQlRSRlNfREVWX1NUQVRfV1JJVEVfRVJSUywKKyAgQlRSRlNfREVWX1NUQVRfV1JJVEVfRVJSUywKKyAgQlRSRlNfREVWX1NUQVRfUkVBRF9FUlJTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCVFJGU19ERVZfU1RBVF9SRUFEX0VSUlMsCi0gQlRSRlNfREVWX1NUQVRfRkxVU0hfRVJSUywKLSBCVFJGU19ERVZfU1RBVF9DT1JSVVBUSU9OX0VSUlMsCi0gQlRSRlNfREVWX1NUQVRfR0VORVJBVElPTl9FUlJTLAorICBCVFJGU19ERVZfU1RBVF9GTFVTSF9FUlJTLAorICBCVFJGU19ERVZfU1RBVF9DT1JSVVBUSU9OX0VSUlMsCisgIEJUUkZTX0RFVl9TVEFUX0dFTkVSQVRJT05fRVJSUywKKyAgQlRSRlNfREVWX1NUQVRfVkFMVUVTX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCVFJGU19ERVZfU1RBVF9WQUxVRVNfTUFYCiB9OwogI2RlZmluZSBCVFJGU19ERVZfU1RBVFNfUkVTRVQgKDFVTEwgPDwgMCkKIHN0cnVjdCBidHJmc19pb2N0bF9nZXRfZGV2X3N0YXRzIHsKKyAgX191NjQgZGV2aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRldmlkOwotIF9fdTY0IG5yX2l0ZW1zOwotIF9fdTY0IGZsYWdzOwotIF9fdTY0IHZhbHVlc1tCVFJGU19ERVZfU1RBVF9WQUxVRVNfTUFYXTsKKyAgX191NjQgbnJfaXRlbXM7CisgIF9fdTY0IGZsYWdzOworICBfX3U2NCB2YWx1ZXNbQlRSRlNfREVWX1NUQVRfVkFMVUVTX01BWF07CisgIF9fdTY0IHVudXNlZFsxMjggLSAyIC0gQlRSRlNfREVWX1NUQVRfVkFMVUVTX01BWF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVudXNlZFsxMjggLSAyIC0gQlRSRlNfREVWX1NUQVRfVkFMVUVTX01BWF07CiB9OwogI2RlZmluZSBCVFJGU19RVU9UQV9DVExfRU5BQkxFIDEKICNkZWZpbmUgQlRSRlNfUVVPVEFfQ1RMX0RJU0FCTEUgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfUVVPVEFfQ1RMX1JFU0NBTl9fTk9UVVNFRCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJ0cmZzX2lvY3RsX3F1b3RhX2N0bF9hcmdzIHsKLSBfX3U2NCBjbWQ7Ci0gX191NjQgc3RhdHVzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgY21kOworICBfX3U2NCBzdGF0dXM7CiB9Owotc3RydWN0IGJ0cmZzX2lvY3RsX3F1b3RhX3Jlc2Nhbl9hcmdzIHsKLSBfX3U2NCBmbGFnczsKLSBfX3U2NCBwcm9ncmVzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzZXJ2ZWRbNl07CitzdHJ1Y3QgYnRyZnNfaW9jdGxfcXVvdGFfcmVzY2FuX2FyZ3MgeworICBfX3U2NCBmbGFnczsKKyAgX191NjQgcHJvZ3Jlc3M7CisgIF9fdTY0IHJlc2VydmVkWzZdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgYnRyZnNfaW9jdGxfcWdyb3VwX2Fzc2lnbl9hcmdzIHsKLSBfX3U2NCBhc3NpZ247CisgIF9fdTY0IGFzc2lnbjsKKyAgX191NjQgc3JjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzcmM7Ci0gX191NjQgZHN0OworICBfX3U2NCBkc3Q7CiB9Owogc3RydWN0IGJ0cmZzX2lvY3RsX3Fncm91cF9jcmVhdGVfYXJncyB7CisgIF9fdTY0IGNyZWF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgY3JlYXRlOwotIF9fdTY0IHFncm91cGlkOworICBfX3U2NCBxZ3JvdXBpZDsKIH07CiBzdHJ1Y3QgYnRyZnNfaW9jdGxfdGltZXNwZWMgeworICBfX3U2NCBzZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNlYzsKLSBfX3UzMiBuc2VjOworICBfX3UzMiBuc2VjOwogfTsKIHN0cnVjdCBidHJmc19pb2N0bF9yZWNlaXZlZF9zdWJ2b2xfYXJncyB7CisgIGNoYXIgdXVpZFtCVFJGU19VVUlEX1NJWkVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHV1aWRbQlRSRlNfVVVJRF9TSVpFXTsKLSBfX3U2NCBzdHJhbnNpZDsKLSBfX3U2NCBydHJhbnNpZDsKLSBzdHJ1Y3QgYnRyZnNfaW9jdGxfdGltZXNwZWMgc3RpbWU7CisgIF9fdTY0IHN0cmFuc2lkOworICBfX3U2NCBydHJhbnNpZDsKKyAgc3RydWN0IGJ0cmZzX2lvY3RsX3RpbWVzcGVjIHN0aW1lOworICBzdHJ1Y3QgYnRyZnNfaW9jdGxfdGltZXNwZWMgcnRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBidHJmc19pb2N0bF90aW1lc3BlYyBydGltZTsKLSBfX3U2NCBmbGFnczsKLSBfX3U2NCByZXNlcnZlZFsxNl07CisgIF9fdTY0IGZsYWdzOworICBfX3U2NCByZXNlcnZlZFsxNl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfU0VORF9GTEFHX05PX0ZJTEVfREFUQSAweDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUUkZTX1NFTkRfRkxBR19PTUlUX1NUUkVBTV9IRUFERVIgMHgyCiAjZGVmaW5lIEJUUkZTX1NFTkRfRkxBR19PTUlUX0VORF9DTUQgMHg0Ci0jZGVmaW5lIEJUUkZTX1NFTkRfRkxBR19NQVNLICAgKEJUUkZTX1NFTkRfRkxBR19OT19GSUxFX0RBVEEgfCAgIEJUUkZTX1NFTkRfRkxBR19PTUlUX1NUUkVBTV9IRUFERVIgfCAgIEJUUkZTX1NFTkRfRkxBR19PTUlUX0VORF9DTUQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVFJGU19TRU5EX0ZMQUdfTUFTSyAoQlRSRlNfU0VORF9GTEFHX05PX0ZJTEVfREFUQSB8IEJUUkZTX1NFTkRfRkxBR19PTUlUX1NUUkVBTV9IRUFERVIgfCBCVFJGU19TRU5EX0ZMQUdfT01JVF9FTkRfQ01EKQogc3RydWN0IGJ0cmZzX2lvY3RsX3NlbmRfYXJncyB7Ci0gX19zNjQgc2VuZF9mZDsKLSBfX3U2NCBjbG9uZV9zb3VyY2VzX2NvdW50OwotIF9fdTY0IF9fdXNlciAqY2xvbmVfc291cmNlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcGFyZW50X3Jvb3Q7Ci0gX191NjQgZmxhZ3M7Ci0gX191NjQgcmVzZXJ2ZWRbNF07CisgIF9fczY0IHNlbmRfZmQ7CisgIF9fdTY0IGNsb25lX3NvdXJjZXNfY291bnQ7CisgIF9fdTY0IF9fdXNlciAqIGNsb25lX3NvdXJjZXM7CisgIF9fdTY0IHBhcmVudF9yb290OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgZmxhZ3M7CisgIF9fdTY0IHJlc2VydmVkWzRdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGJ0cmZzX2Vycl9jb2RlIHsKLSBub3R1c2VkLAotIEJUUkZTX0VSUk9SX0RFVl9SQUlEMV9NSU5fTk9UX01FVCwKLSBCVFJGU19FUlJPUl9ERVZfUkFJRDEwX01JTl9OT1RfTUVULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCVFJGU19FUlJPUl9ERVZfUkFJRDVfTUlOX05PVF9NRVQsCi0gQlRSRlNfRVJST1JfREVWX1JBSUQ2X01JTl9OT1RfTUVULAotIEJUUkZTX0VSUk9SX0RFVl9UR1RfUkVQTEFDRSwKLSBCVFJGU19FUlJPUl9ERVZfTUlTU0lOR19OT1RfRk9VTkQsCisgIG5vdHVzZWQsCisgIEJUUkZTX0VSUk9SX0RFVl9SQUlEMV9NSU5fTk9UX01FVCwKKyAgQlRSRlNfRVJST1JfREVWX1JBSUQxMF9NSU5fTk9UX01FVCwKKyAgQlRSRlNfRVJST1JfREVWX1JBSUQ1X01JTl9OT1RfTUVULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCVFJGU19FUlJPUl9ERVZfT05MWV9XUklUQUJMRSwKLSBCVFJGU19FUlJPUl9ERVZfRVhDTF9SVU5fSU5fUFJPR1JFU1MKKyAgQlRSRlNfRVJST1JfREVWX1JBSUQ2X01JTl9OT1RfTUVULAorICBCVFJGU19FUlJPUl9ERVZfVEdUX1JFUExBQ0UsCisgIEJUUkZTX0VSUk9SX0RFVl9NSVNTSU5HX05PVF9GT1VORCwKKyAgQlRSRlNfRVJST1JfREVWX09OTFlfV1JJVEFCTEUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBCVFJGU19FUlJPUl9ERVZfRVhDTF9SVU5fSU5fUFJPR1JFU1MKIH07Ci0jZGVmaW5lIEJUUkZTX0lPQ19TTkFQX0NSRUFURSBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAxLCAgIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX1NOQVBfQ1JFQVRFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDEsIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX0RFRlJBRyBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAyLCBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCVFJGU19JT0NfREVGUkFHIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDIsICAgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfUkVTSVpFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDMsICAgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfU0NBTl9ERVYgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgNCwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19SRVNJWkUgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgMywgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfU0NBTl9ERVYgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgNCwgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQogI2RlZmluZSBCVFJGU19JT0NfVFJBTlNfU1RBUlQgX0lPKEJUUkZTX0lPQ1RMX01BR0lDLCA2KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlRSRlNfSU9DX1RSQU5TX0VORCBfSU8oQlRSRlNfSU9DVExfTUFHSUMsIDcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVFJGU19JT0NfU1lOQyBfSU8oQlRSRlNfSU9DVExfTUFHSUMsIDgpCiAjZGVmaW5lIEJUUkZTX0lPQ19DTE9ORSBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA5LCBpbnQpCi0jZGVmaW5lIEJUUkZTX0lPQ19BRERfREVWIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDEwLCAgIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX0FERF9ERVYgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgMTAsIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX1JNX0RFViBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAxMSwgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlRSRlNfSU9DX1JNX0RFViBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAxMSwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3MpCi0jZGVmaW5lIEJUUkZTX0lPQ19CQUxBTkNFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDEyLCAgIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKLSNkZWZpbmUgQlRSRlNfSU9DX0NMT05FX1JBTkdFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDEzLCAgIHN0cnVjdCBidHJmc19pb2N0bF9jbG9uZV9yYW5nZV9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfU1VCVk9MX0NSRUFURSBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAxNCwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19CQUxBTkNFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDEyLCBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19DTE9ORV9SQU5HRSBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAxMywgc3RydWN0IGJ0cmZzX2lvY3RsX2Nsb25lX3JhbmdlX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19TVUJWT0xfQ1JFQVRFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDE0LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19TTkFQX0RFU1RST1kgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgMTUsIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJUUkZTX0lPQ19TTkFQX0RFU1RST1kgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgMTUsICAgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfREVGUkFHX1JBTkdFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDE2LCAgIHN0cnVjdCBidHJmc19pb2N0bF9kZWZyYWdfcmFuZ2VfYXJncykKLSNkZWZpbmUgQlRSRlNfSU9DX1RSRUVfU0VBUkNIIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAxNywgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2FyZ3MpCi0jZGVmaW5lIEJUUkZTX0lPQ19JTk9fTE9PS1VQIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAxOCwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfaW5vX2xvb2t1cF9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfREVGUkFHX1JBTkdFIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDE2LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfZGVmcmFnX3JhbmdlX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19UUkVFX1NFQVJDSCBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgMTcsIHN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX1RSRUVfU0VBUkNIX1YyIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAxNywgc3RydWN0IGJ0cmZzX2lvY3RsX3NlYXJjaF9hcmdzX3YyKQorI2RlZmluZSBCVFJGU19JT0NfSU5PX0xPT0tVUCBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgMTgsIHN0cnVjdCBidHJmc19pb2N0bF9pbm9fbG9va3VwX2FyZ3MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVFJGU19JT0NfREVGQVVMVF9TVUJWT0wgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgMTksIF9fdTY0KQotI2RlZmluZSBCVFJGU19JT0NfU1BBQ0VfSU5GTyBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgMjAsICAgc3RydWN0IGJ0cmZzX2lvY3RsX3NwYWNlX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19TUEFDRV9JTkZPIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAyMCwgc3RydWN0IGJ0cmZzX2lvY3RsX3NwYWNlX2FyZ3MpCiAjZGVmaW5lIEJUUkZTX0lPQ19TVEFSVF9TWU5DIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDI0LCBfX3U2NCkKICNkZWZpbmUgQlRSRlNfSU9DX1dBSVRfU1lOQyBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAyMiwgX191NjQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCVFJGU19JT0NfU05BUF9DUkVBVEVfVjIgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgMjMsICAgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzX3YyKQotI2RlZmluZSBCVFJGU19JT0NfU1VCVk9MX0NSRUFURV9WMiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAyNCwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfdm9sX2FyZ3NfdjIpCisjZGVmaW5lIEJUUkZTX0lPQ19TTkFQX0NSRUFURV9WMiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAyMywgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzX3YyKQorI2RlZmluZSBCVFJGU19JT0NfU1VCVk9MX0NSRUFURV9WMiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAyNCwgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzX3YyKQogI2RlZmluZSBCVFJGU19JT0NfU1VCVk9MX0dFVEZMQUdTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDI1LCBfX3U2NCkKICNkZWZpbmUgQlRSRlNfSU9DX1NVQlZPTF9TRVRGTEFHUyBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAyNiwgX191NjQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCVFJGU19JT0NfU0NSVUIgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDI3LCAgIHN0cnVjdCBidHJmc19pb2N0bF9zY3J1Yl9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfU0NSVUIgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDI3LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2NydWJfYXJncykKICNkZWZpbmUgQlRSRlNfSU9DX1NDUlVCX0NBTkNFTCBfSU8oQlRSRlNfSU9DVExfTUFHSUMsIDI4KQotI2RlZmluZSBCVFJGU19JT0NfU0NSVUJfUFJPR1JFU1MgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDI5LCAgIHN0cnVjdCBidHJmc19pb2N0bF9zY3J1Yl9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfREVWX0lORk8gX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDMwLCAgIHN0cnVjdCBidHJmc19pb2N0bF9kZXZfaW5mb19hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfU0NSVUJfUFJPR1JFU1MgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDI5LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2NydWJfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX0RFVl9JTkZPIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAzMCwgc3RydWN0IGJ0cmZzX2lvY3RsX2Rldl9pbmZvX2FyZ3MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCVFJGU19JT0NfRlNfSU5GTyBfSU9SKEJUUkZTX0lPQ1RMX01BR0lDLCAzMSwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfZnNfaW5mb19hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfQkFMQU5DRV9WMiBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgMzIsICAgc3RydWN0IGJ0cmZzX2lvY3RsX2JhbGFuY2VfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX0ZTX0lORk8gX0lPUihCVFJGU19JT0NUTF9NQUdJQywgMzEsIHN0cnVjdCBidHJmc19pb2N0bF9mc19pbmZvX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19CQUxBTkNFX1YyIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAzMiwgc3RydWN0IGJ0cmZzX2lvY3RsX2JhbGFuY2VfYXJncykKICNkZWZpbmUgQlRSRlNfSU9DX0JBTEFOQ0VfQ1RMIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDMzLCBpbnQpCi0jZGVmaW5lIEJUUkZTX0lPQ19CQUxBTkNFX1BST0dSRVNTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDM0LCAgIHN0cnVjdCBidHJmc19pb2N0bF9iYWxhbmNlX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19CQUxBTkNFX1BST0dSRVNTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDM0LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfYmFsYW5jZV9hcmdzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlRSRlNfSU9DX0lOT19QQVRIUyBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgMzUsICAgc3RydWN0IGJ0cmZzX2lvY3RsX2lub19wYXRoX2FyZ3MpCi0jZGVmaW5lIEJUUkZTX0lPQ19MT0dJQ0FMX0lOTyBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgMzYsICAgc3RydWN0IGJ0cmZzX2lvY3RsX2lub19wYXRoX2FyZ3MpCi0jZGVmaW5lIEJUUkZTX0lPQ19TRVRfUkVDRUlWRURfU1VCVk9MIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAzNywgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfcmVjZWl2ZWRfc3Vidm9sX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19JTk9fUEFUSFMgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDM1LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfaW5vX3BhdGhfYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX0xPR0lDQUxfSU5PIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAzNiwgc3RydWN0IGJ0cmZzX2lvY3RsX2lub19wYXRoX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19TRVRfUkVDRUlWRURfU1VCVk9MIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCAzNywgc3RydWN0IGJ0cmZzX2lvY3RsX3JlY2VpdmVkX3N1YnZvbF9hcmdzKQogI2RlZmluZSBCVFJGU19JT0NfU0VORCBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCAzOCwgc3RydWN0IGJ0cmZzX2lvY3RsX3NlbmRfYXJncykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJUUkZTX0lPQ19ERVZJQ0VTX1JFQURZIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDM5LCAgIHN0cnVjdCBidHJmc19pb2N0bF92b2xfYXJncykKLSNkZWZpbmUgQlRSRlNfSU9DX1FVT1RBX0NUTCBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgNDAsICAgc3RydWN0IGJ0cmZzX2lvY3RsX3F1b3RhX2N0bF9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfUUdST1VQX0FTU0lHTiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA0MSwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfcWdyb3VwX2Fzc2lnbl9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfUUdST1VQX0NSRUFURSBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA0MiwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfcWdyb3VwX2NyZWF0ZV9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfREVWSUNFU19SRUFEWSBfSU9SKEJUUkZTX0lPQ1RMX01BR0lDLCAzOSwgc3RydWN0IGJ0cmZzX2lvY3RsX3ZvbF9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfUVVPVEFfQ1RMIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCA0MCwgc3RydWN0IGJ0cmZzX2lvY3RsX3F1b3RhX2N0bF9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfUUdST1VQX0FTU0lHTiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA0MSwgc3RydWN0IGJ0cmZzX2lvY3RsX3Fncm91cF9hc3NpZ25fYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX1FHUk9VUF9DUkVBVEUgX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgNDIsIHN0cnVjdCBidHJmc19pb2N0bF9xZ3JvdXBfY3JlYXRlX2FyZ3MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCVFJGU19JT0NfUUdST1VQX0xJTUlUIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDQzLCAgIHN0cnVjdCBidHJmc19pb2N0bF9xZ3JvdXBfbGltaXRfYXJncykKLSNkZWZpbmUgQlRSRlNfSU9DX1FVT1RBX1JFU0NBTiBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA0NCwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfcXVvdGFfcmVzY2FuX2FyZ3MpCi0jZGVmaW5lIEJUUkZTX0lPQ19RVU9UQV9SRVNDQU5fU1RBVFVTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDQ1LCAgIHN0cnVjdCBidHJmc19pb2N0bF9xdW90YV9yZXNjYW5fYXJncykKKyNkZWZpbmUgQlRSRlNfSU9DX1FHUk9VUF9MSU1JVCBfSU9SKEJUUkZTX0lPQ1RMX01BR0lDLCA0Mywgc3RydWN0IGJ0cmZzX2lvY3RsX3Fncm91cF9saW1pdF9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfUVVPVEFfUkVTQ0FOIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDQ0LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfcXVvdGFfcmVzY2FuX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19RVU9UQV9SRVNDQU5fU1RBVFVTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDQ1LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfcXVvdGFfcmVzY2FuX2FyZ3MpCiAjZGVmaW5lIEJUUkZTX0lPQ19RVU9UQV9SRVNDQU5fV0FJVCBfSU8oQlRSRlNfSU9DVExfTUFHSUMsIDQ2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlRSRlNfSU9DX0dFVF9GU0xBQkVMIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDQ5LCAgIGNoYXJbQlRSRlNfTEFCRUxfU0laRV0pCi0jZGVmaW5lIEJUUkZTX0lPQ19TRVRfRlNMQUJFTCBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA1MCwgICBjaGFyW0JUUkZTX0xBQkVMX1NJWkVdKQotI2RlZmluZSBCVFJGU19JT0NfR0VUX0RFVl9TVEFUUyBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgNTIsICAgc3RydWN0IGJ0cmZzX2lvY3RsX2dldF9kZXZfc3RhdHMpCi0jZGVmaW5lIEJUUkZTX0lPQ19ERVZfUkVQTEFDRSBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgNTMsICAgc3RydWN0IGJ0cmZzX2lvY3RsX2Rldl9yZXBsYWNlX2FyZ3MpCisjZGVmaW5lIEJUUkZTX0lPQ19HRVRfRlNMQUJFTCBfSU9SKEJUUkZTX0lPQ1RMX01BR0lDLCA0OSwgY2hhcltCVFJGU19MQUJFTF9TSVpFXSkKKyNkZWZpbmUgQlRSRlNfSU9DX1NFVF9GU0xBQkVMIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDUwLCBjaGFyW0JUUkZTX0xBQkVMX1NJWkVdKQorI2RlZmluZSBCVFJGU19JT0NfR0VUX0RFVl9TVEFUUyBfSU9XUihCVFJGU19JT0NUTF9NQUdJQywgNTIsIHN0cnVjdCBidHJmc19pb2N0bF9nZXRfZGV2X3N0YXRzKQorI2RlZmluZSBCVFJGU19JT0NfREVWX1JFUExBQ0UgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDUzLCBzdHJ1Y3QgYnRyZnNfaW9jdGxfZGV2X3JlcGxhY2VfYXJncykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJUUkZTX0lPQ19GSUxFX0VYVEVOVF9TQU1FIF9JT1dSKEJUUkZTX0lPQ1RMX01BR0lDLCA1NCwgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2FtZV9hcmdzKQotI2RlZmluZSBCVFJGU19JT0NfR0VUX0ZFQVRVUkVTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDU3LCAgIHN0cnVjdCBidHJmc19pb2N0bF9mZWF0dXJlX2ZsYWdzKQotI2RlZmluZSBCVFJGU19JT0NfU0VUX0ZFQVRVUkVTIF9JT1coQlRSRlNfSU9DVExfTUFHSUMsIDU3LCAgIHN0cnVjdCBidHJmc19pb2N0bF9mZWF0dXJlX2ZsYWdzWzJdKQotI2RlZmluZSBCVFJGU19JT0NfR0VUX1NVUFBPUlRFRF9GRUFUVVJFUyBfSU9SKEJUUkZTX0lPQ1RMX01BR0lDLCA1NywgICBzdHJ1Y3QgYnRyZnNfaW9jdGxfZmVhdHVyZV9mbGFnc1szXSkKKyNkZWZpbmUgQlRSRlNfSU9DX0ZJTEVfRVhURU5UX1NBTUUgX0lPV1IoQlRSRlNfSU9DVExfTUFHSUMsIDU0LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfc2FtZV9hcmdzKQorI2RlZmluZSBCVFJGU19JT0NfR0VUX0ZFQVRVUkVTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDU3LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfZmVhdHVyZV9mbGFncykKKyNkZWZpbmUgQlRSRlNfSU9DX1NFVF9GRUFUVVJFUyBfSU9XKEJUUkZTX0lPQ1RMX01BR0lDLCA1Nywgc3RydWN0IGJ0cmZzX2lvY3RsX2ZlYXR1cmVfZmxhZ3NbMl0pCisjZGVmaW5lIEJUUkZTX0lPQ19HRVRfU1VQUE9SVEVEX0ZFQVRVUkVTIF9JT1IoQlRSRlNfSU9DVExfTUFHSUMsIDU3LCBzdHJ1Y3QgYnRyZnNfaW9jdGxfZmVhdHVyZV9mbGFnc1szXSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnl0ZW9yZGVyL2JpZ19lbmRpYW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnl0ZW9yZGVyL2JpZ19lbmRpYW4uaAppbmRleCAzMTRiODc1Li45NWRhNTBmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2J5dGVvcmRlci9iaWdfZW5kaWFuLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ieXRlb3JkZXIvYmlnX2VuZGlhbi5oCkBAIC0yOCw0MSArMjgsNDEgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zd2FiLmg+Ci0jZGVmaW5lIF9fY29uc3RhbnRfaHRvbmwoeCkgKChfX2ZvcmNlIF9fYmUzMikoX191MzIpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X250b2hsKHgpICgoX19mb3JjZSBfX3UzMikoX19iZTMyKSh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9odG9ubCh4KSAoKF9fZm9yY2UgX19iZTMyKSAoX191MzIpICh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9udG9obCh4KSAoKF9fZm9yY2UgX191MzIpIChfX2JlMzIpICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY29uc3RhbnRfaHRvbnMoeCkgKChfX2ZvcmNlIF9fYmUxNikoX191MTYpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X250b2hzKHgpICgoX19mb3JjZSBfX3UxNikoX19iZTE2KSh4KSkKLSNkZWZpbmUgX19jb25zdGFudF9jcHVfdG9fbGU2NCh4KSAoKF9fZm9yY2UgX19sZTY0KV9fX2NvbnN0YW50X3N3YWI2NCgoeCkpKQotI2RlZmluZSBfX2NvbnN0YW50X2xlNjRfdG9fY3B1KHgpIF9fX2NvbnN0YW50X3N3YWI2NCgoX19mb3JjZSBfX3U2NCkoX19sZTY0KSh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9odG9ucyh4KSAoKF9fZm9yY2UgX19iZTE2KSAoX191MTYpICh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9udG9ocyh4KSAoKF9fZm9yY2UgX191MTYpIChfX2JlMTYpICh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9jcHVfdG9fbGU2NCh4KSAoKF9fZm9yY2UgX19sZTY0KSBfX19jb25zdGFudF9zd2FiNjQoKHgpKSkKKyNkZWZpbmUgX19jb25zdGFudF9sZTY0X3RvX2NwdSh4KSBfX19jb25zdGFudF9zd2FiNjQoKF9fZm9yY2UgX191NjQpIChfX2xlNjQpICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoeCkgKChfX2ZvcmNlIF9fbGUzMilfX19jb25zdGFudF9zd2FiMzIoKHgpKSkKLSNkZWZpbmUgX19jb25zdGFudF9sZTMyX3RvX2NwdSh4KSBfX19jb25zdGFudF9zd2FiMzIoKF9fZm9yY2UgX191MzIpKF9fbGUzMikoeCkpCi0jZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2xlMTYoeCkgKChfX2ZvcmNlIF9fbGUxNilfX19jb25zdGFudF9zd2FiMTYoKHgpKSkKLSNkZWZpbmUgX19jb25zdGFudF9sZTE2X3RvX2NwdSh4KSBfX19jb25zdGFudF9zd2FiMTYoKF9fZm9yY2UgX191MTYpKF9fbGUxNikoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoeCkgKChfX2ZvcmNlIF9fbGUzMikgX19fY29uc3RhbnRfc3dhYjMyKCh4KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfbGUzMl90b19jcHUoeCkgX19fY29uc3RhbnRfc3dhYjMyKChfX2ZvcmNlIF9fdTMyKSAoX19sZTMyKSAoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2xlMTYoeCkgKChfX2ZvcmNlIF9fbGUxNikgX19fY29uc3RhbnRfc3dhYjE2KCh4KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfbGUxNl90b19jcHUoeCkgX19fY29uc3RhbnRfc3dhYjE2KChfX2ZvcmNlIF9fdTE2KSAoX19sZTE2KSAoeCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19iZTY0KHgpICgoX19mb3JjZSBfX2JlNjQpKF9fdTY0KSh4KSkKLSNkZWZpbmUgX19jb25zdGFudF9iZTY0X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191NjQpKF9fYmU2NCkoeCkpCi0jZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoeCkgKChfX2ZvcmNlIF9fYmUzMikoX191MzIpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X2JlMzJfdG9fY3B1KHgpICgoX19mb3JjZSBfX3UzMikoX19iZTMyKSh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9jcHVfdG9fYmU2NCh4KSAoKF9fZm9yY2UgX19iZTY0KSAoX191NjQpICh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9iZTY0X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191NjQpIChfX2JlNjQpICh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9jcHVfdG9fYmUzMih4KSAoKF9fZm9yY2UgX19iZTMyKSAoX191MzIpICh4KSkKKyNkZWZpbmUgX19jb25zdGFudF9iZTMyX3RvX2NwdSh4KSAoKF9fZm9yY2UgX191MzIpIChfX2JlMzIpICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2JlMTYoeCkgKChfX2ZvcmNlIF9fYmUxNikoX191MTYpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X2JlMTZfdG9fY3B1KHgpICgoX19mb3JjZSBfX3UxNikoX19iZTE2KSh4KSkKLSNkZWZpbmUgX19jcHVfdG9fbGU2NCh4KSAoKF9fZm9yY2UgX19sZTY0KV9fc3dhYjY0KCh4KSkpCi0jZGVmaW5lIF9fbGU2NF90b19jcHUoeCkgX19zd2FiNjQoKF9fZm9yY2UgX191NjQpKF9fbGU2NCkoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2JlMTYoeCkgKChfX2ZvcmNlIF9fYmUxNikgKF9fdTE2KSAoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfYmUxNl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTE2KSAoX19iZTE2KSAoeCkpCisjZGVmaW5lIF9fY3B1X3RvX2xlNjQoeCkgKChfX2ZvcmNlIF9fbGU2NCkgX19zd2FiNjQoKHgpKSkKKyNkZWZpbmUgX19sZTY0X3RvX2NwdSh4KSBfX3N3YWI2NCgoX19mb3JjZSBfX3U2NCkgKF9fbGU2NCkgKHgpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19jcHVfdG9fbGUzMih4KSAoKF9fZm9yY2UgX19sZTMyKV9fc3dhYjMyKCh4KSkpCi0jZGVmaW5lIF9fbGUzMl90b19jcHUoeCkgX19zd2FiMzIoKF9fZm9yY2UgX191MzIpKF9fbGUzMikoeCkpCi0jZGVmaW5lIF9fY3B1X3RvX2xlMTYoeCkgKChfX2ZvcmNlIF9fbGUxNilfX3N3YWIxNigoeCkpKQotI2RlZmluZSBfX2xlMTZfdG9fY3B1KHgpIF9fc3dhYjE2KChfX2ZvcmNlIF9fdTE2KShfX2xlMTYpKHgpKQorI2RlZmluZSBfX2NwdV90b19sZTMyKHgpICgoX19mb3JjZSBfX2xlMzIpIF9fc3dhYjMyKCh4KSkpCisjZGVmaW5lIF9fbGUzMl90b19jcHUoeCkgX19zd2FiMzIoKF9fZm9yY2UgX191MzIpIChfX2xlMzIpICh4KSkKKyNkZWZpbmUgX19jcHVfdG9fbGUxNih4KSAoKF9fZm9yY2UgX19sZTE2KSBfX3N3YWIxNigoeCkpKQorI2RlZmluZSBfX2xlMTZfdG9fY3B1KHgpIF9fc3dhYjE2KChfX2ZvcmNlIF9fdTE2KSAoX19sZTE2KSAoeCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX2NwdV90b19iZTY0KHgpICgoX19mb3JjZSBfX2JlNjQpKF9fdTY0KSh4KSkKLSNkZWZpbmUgX19iZTY0X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191NjQpKF9fYmU2NCkoeCkpCi0jZGVmaW5lIF9fY3B1X3RvX2JlMzIoeCkgKChfX2ZvcmNlIF9fYmUzMikoX191MzIpKHgpKQotI2RlZmluZSBfX2JlMzJfdG9fY3B1KHgpICgoX19mb3JjZSBfX3UzMikoX19iZTMyKSh4KSkKKyNkZWZpbmUgX19jcHVfdG9fYmU2NCh4KSAoKF9fZm9yY2UgX19iZTY0KSAoX191NjQpICh4KSkKKyNkZWZpbmUgX19iZTY0X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191NjQpIChfX2JlNjQpICh4KSkKKyNkZWZpbmUgX19jcHVfdG9fYmUzMih4KSAoKF9fZm9yY2UgX19iZTMyKSAoX191MzIpICh4KSkKKyNkZWZpbmUgX19iZTMyX3RvX2NwdSh4KSAoKF9fZm9yY2UgX191MzIpIChfX2JlMzIpICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY3B1X3RvX2JlMTYoeCkgKChfX2ZvcmNlIF9fYmUxNikoX191MTYpKHgpKQotI2RlZmluZSBfX2JlMTZfdG9fY3B1KHgpICgoX19mb3JjZSBfX3UxNikoX19iZTE2KSh4KSkKKyNkZWZpbmUgX19jcHVfdG9fYmUxNih4KSAoKF9fZm9yY2UgX19iZTE2KSAoX191MTYpICh4KSkKKyNkZWZpbmUgX19iZTE2X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191MTYpIChfX2JlMTYpICh4KSkKICNkZWZpbmUgX19jcHVfdG9fbGU2NHMoeCkgX19zd2FiNjRzKCh4KSkKICNkZWZpbmUgX19sZTY0X3RvX2NwdXMoeCkgX19zd2FiNjRzKCh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC03MSwxMSArNzEsMTEgQEAKICNkZWZpbmUgX19jcHVfdG9fbGUxNnMoeCkgX19zd2FiMTZzKCh4KSkKICNkZWZpbmUgX19sZTE2X3RvX2NwdXMoeCkgX19zd2FiMTZzKCh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY3B1X3RvX2JlNjRzKHgpIGRvIHsgKHZvaWQpKHgpOyB9IHdoaWxlICgwKQotI2RlZmluZSBfX2JlNjRfdG9fY3B1cyh4KSBkbyB7ICh2b2lkKSh4KTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgX19jcHVfdG9fYmUzMnMoeCkgZG8geyAodm9pZCkoeCk7IH0gd2hpbGUgKDApCi0jZGVmaW5lIF9fYmUzMl90b19jcHVzKHgpIGRvIHsgKHZvaWQpKHgpOyB9IHdoaWxlICgwKQorI2RlZmluZSBfX2NwdV90b19iZTY0cyh4KSBkbyB7ICh2b2lkKSAoeCk7IH0gd2hpbGUoMCkKKyNkZWZpbmUgX19iZTY0X3RvX2NwdXMoeCkgZG8geyAodm9pZCkgKHgpOyB9IHdoaWxlKDApCisjZGVmaW5lIF9fY3B1X3RvX2JlMzJzKHgpIGRvIHsgKHZvaWQpICh4KTsgfSB3aGlsZSgwKQorI2RlZmluZSBfX2JlMzJfdG9fY3B1cyh4KSBkbyB7ICh2b2lkKSAoeCk7IH0gd2hpbGUoMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY3B1X3RvX2JlMTZzKHgpIGRvIHsgKHZvaWQpKHgpOyB9IHdoaWxlICgwKQotI2RlZmluZSBfX2JlMTZfdG9fY3B1cyh4KSBkbyB7ICh2b2lkKSh4KTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgX19jcHVfdG9fYmUxNnMoeCkgZG8geyAodm9pZCkgKHgpOyB9IHdoaWxlKDApCisjZGVmaW5lIF9fYmUxNl90b19jcHVzKHgpIGRvIHsgKHZvaWQpICh4KTsgfSB3aGlsZSgwKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2J5dGVvcmRlci9saXR0bGVfZW5kaWFuLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2J5dGVvcmRlci9saXR0bGVfZW5kaWFuLmgKaW5kZXggZjk1NDNkNC4uNjg0ZWU1ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ieXRlb3JkZXIvbGl0dGxlX2VuZGlhbi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvYnl0ZW9yZGVyL2xpdHRsZV9lbmRpYW4uaApAQCAtMjgsNDggKzI4LDQ4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvc3dhYi5oPgotI2RlZmluZSBfX2NvbnN0YW50X2h0b25sKHgpICgoX19mb3JjZSBfX2JlMzIpX19fY29uc3RhbnRfc3dhYjMyKCh4KSkpCi0jZGVmaW5lIF9fY29uc3RhbnRfbnRvaGwoeCkgX19fY29uc3RhbnRfc3dhYjMyKChfX2ZvcmNlIF9fYmUzMikoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfaHRvbmwoeCkgKChfX2ZvcmNlIF9fYmUzMikgX19fY29uc3RhbnRfc3dhYjMyKCh4KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfbnRvaGwoeCkgX19fY29uc3RhbnRfc3dhYjMyKChfX2ZvcmNlIF9fYmUzMikgKHgpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19jb25zdGFudF9odG9ucyh4KSAoKF9fZm9yY2UgX19iZTE2KV9fX2NvbnN0YW50X3N3YWIxNigoeCkpKQotI2RlZmluZSBfX2NvbnN0YW50X250b2hzKHgpIF9fX2NvbnN0YW50X3N3YWIxNigoX19mb3JjZSBfX2JlMTYpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19sZTY0KHgpICgoX19mb3JjZSBfX2xlNjQpKF9fdTY0KSh4KSkKLSNkZWZpbmUgX19jb25zdGFudF9sZTY0X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191NjQpKF9fbGU2NCkoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfaHRvbnMoeCkgKChfX2ZvcmNlIF9fYmUxNikgX19fY29uc3RhbnRfc3dhYjE2KCh4KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfbnRvaHMoeCkgX19fY29uc3RhbnRfc3dhYjE2KChfX2ZvcmNlIF9fYmUxNikgKHgpKQorI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19sZTY0KHgpICgoX19mb3JjZSBfX2xlNjQpIChfX3U2NCkgKHgpKQorI2RlZmluZSBfX2NvbnN0YW50X2xlNjRfdG9fY3B1KHgpICgoX19mb3JjZSBfX3U2NCkgKF9fbGU2NCkgKHgpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19jb25zdGFudF9jcHVfdG9fbGUzMih4KSAoKF9fZm9yY2UgX19sZTMyKShfX3UzMikoeCkpCi0jZGVmaW5lIF9fY29uc3RhbnRfbGUzMl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTMyKShfX2xlMzIpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19sZTE2KHgpICgoX19mb3JjZSBfX2xlMTYpKF9fdTE2KSh4KSkKLSNkZWZpbmUgX19jb25zdGFudF9sZTE2X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191MTYpKF9fbGUxNikoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoeCkgKChfX2ZvcmNlIF9fbGUzMikgKF9fdTMyKSAoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfbGUzMl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTMyKSAoX19sZTMyKSAoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfY3B1X3RvX2xlMTYoeCkgKChfX2ZvcmNlIF9fbGUxNikgKF9fdTE2KSAoeCkpCisjZGVmaW5lIF9fY29uc3RhbnRfbGUxNl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTE2KSAoX19sZTE2KSAoeCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19iZTY0KHgpICgoX19mb3JjZSBfX2JlNjQpX19fY29uc3RhbnRfc3dhYjY0KCh4KSkpCi0jZGVmaW5lIF9fY29uc3RhbnRfYmU2NF90b19jcHUoeCkgX19fY29uc3RhbnRfc3dhYjY0KChfX2ZvcmNlIF9fdTY0KShfX2JlNjQpKHgpKQotI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19iZTMyKHgpICgoX19mb3JjZSBfX2JlMzIpX19fY29uc3RhbnRfc3dhYjMyKCh4KSkpCi0jZGVmaW5lIF9fY29uc3RhbnRfYmUzMl90b19jcHUoeCkgX19fY29uc3RhbnRfc3dhYjMyKChfX2ZvcmNlIF9fdTMyKShfX2JlMzIpKHgpKQorI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19iZTY0KHgpICgoX19mb3JjZSBfX2JlNjQpIF9fX2NvbnN0YW50X3N3YWI2NCgoeCkpKQorI2RlZmluZSBfX2NvbnN0YW50X2JlNjRfdG9fY3B1KHgpIF9fX2NvbnN0YW50X3N3YWI2NCgoX19mb3JjZSBfX3U2NCkgKF9fYmU2NCkgKHgpKQorI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19iZTMyKHgpICgoX19mb3JjZSBfX2JlMzIpIF9fX2NvbnN0YW50X3N3YWIzMigoeCkpKQorI2RlZmluZSBfX2NvbnN0YW50X2JlMzJfdG9fY3B1KHgpIF9fX2NvbnN0YW50X3N3YWIzMigoX19mb3JjZSBfX3UzMikgKF9fYmUzMikgKHgpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19jb25zdGFudF9jcHVfdG9fYmUxNih4KSAoKF9fZm9yY2UgX19iZTE2KV9fX2NvbnN0YW50X3N3YWIxNigoeCkpKQotI2RlZmluZSBfX2NvbnN0YW50X2JlMTZfdG9fY3B1KHgpIF9fX2NvbnN0YW50X3N3YWIxNigoX19mb3JjZSBfX3UxNikoX19iZTE2KSh4KSkKLSNkZWZpbmUgX19jcHVfdG9fbGU2NCh4KSAoKF9fZm9yY2UgX19sZTY0KShfX3U2NCkoeCkpCi0jZGVmaW5lIF9fbGU2NF90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTY0KShfX2xlNjQpKHgpKQorI2RlZmluZSBfX2NvbnN0YW50X2NwdV90b19iZTE2KHgpICgoX19mb3JjZSBfX2JlMTYpIF9fX2NvbnN0YW50X3N3YWIxNigoeCkpKQorI2RlZmluZSBfX2NvbnN0YW50X2JlMTZfdG9fY3B1KHgpIF9fX2NvbnN0YW50X3N3YWIxNigoX19mb3JjZSBfX3UxNikgKF9fYmUxNikgKHgpKQorI2RlZmluZSBfX2NwdV90b19sZTY0KHgpICgoX19mb3JjZSBfX2xlNjQpIChfX3U2NCkgKHgpKQorI2RlZmluZSBfX2xlNjRfdG9fY3B1KHgpICgoX19mb3JjZSBfX3U2NCkgKF9fbGU2NCkgKHgpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX19jcHVfdG9fbGUzMih4KSAoKF9fZm9yY2UgX19sZTMyKShfX3UzMikoeCkpCi0jZGVmaW5lIF9fbGUzMl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTMyKShfX2xlMzIpKHgpKQotI2RlZmluZSBfX2NwdV90b19sZTE2KHgpICgoX19mb3JjZSBfX2xlMTYpKF9fdTE2KSh4KSkKLSNkZWZpbmUgX19sZTE2X3RvX2NwdSh4KSAoKF9fZm9yY2UgX191MTYpKF9fbGUxNikoeCkpCisjZGVmaW5lIF9fY3B1X3RvX2xlMzIoeCkgKChfX2ZvcmNlIF9fbGUzMikgKF9fdTMyKSAoeCkpCisjZGVmaW5lIF9fbGUzMl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTMyKSAoX19sZTMyKSAoeCkpCisjZGVmaW5lIF9fY3B1X3RvX2xlMTYoeCkgKChfX2ZvcmNlIF9fbGUxNikgKF9fdTE2KSAoeCkpCisjZGVmaW5lIF9fbGUxNl90b19jcHUoeCkgKChfX2ZvcmNlIF9fdTE2KSAoX19sZTE2KSAoeCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX2NwdV90b19iZTY0KHgpICgoX19mb3JjZSBfX2JlNjQpX19zd2FiNjQoKHgpKSkKLSNkZWZpbmUgX19iZTY0X3RvX2NwdSh4KSBfX3N3YWI2NCgoX19mb3JjZSBfX3U2NCkoX19iZTY0KSh4KSkKLSNkZWZpbmUgX19jcHVfdG9fYmUzMih4KSAoKF9fZm9yY2UgX19iZTMyKV9fc3dhYjMyKCh4KSkpCi0jZGVmaW5lIF9fYmUzMl90b19jcHUoeCkgX19zd2FiMzIoKF9fZm9yY2UgX191MzIpKF9fYmUzMikoeCkpCisjZGVmaW5lIF9fY3B1X3RvX2JlNjQoeCkgKChfX2ZvcmNlIF9fYmU2NCkgX19zd2FiNjQoKHgpKSkKKyNkZWZpbmUgX19iZTY0X3RvX2NwdSh4KSBfX3N3YWI2NCgoX19mb3JjZSBfX3U2NCkgKF9fYmU2NCkgKHgpKQorI2RlZmluZSBfX2NwdV90b19iZTMyKHgpICgoX19mb3JjZSBfX2JlMzIpIF9fc3dhYjMyKCh4KSkpCisjZGVmaW5lIF9fYmUzMl90b19jcHUoeCkgX19zd2FiMzIoKF9fZm9yY2UgX191MzIpIChfX2JlMzIpICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fY3B1X3RvX2JlMTYoeCkgKChfX2ZvcmNlIF9fYmUxNilfX3N3YWIxNigoeCkpKQotI2RlZmluZSBfX2JlMTZfdG9fY3B1KHgpIF9fc3dhYjE2KChfX2ZvcmNlIF9fdTE2KShfX2JlMTYpKHgpKQotI2RlZmluZSBfX2NwdV90b19sZTY0cyh4KSBkbyB7ICh2b2lkKSh4KTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgX19sZTY0X3RvX2NwdXMoeCkgZG8geyAodm9pZCkoeCk7IH0gd2hpbGUgKDApCisjZGVmaW5lIF9fY3B1X3RvX2JlMTYoeCkgKChfX2ZvcmNlIF9fYmUxNikgX19zd2FiMTYoKHgpKSkKKyNkZWZpbmUgX19iZTE2X3RvX2NwdSh4KSBfX3N3YWIxNigoX19mb3JjZSBfX3UxNikgKF9fYmUxNikgKHgpKQorI2RlZmluZSBfX2NwdV90b19sZTY0cyh4KSBkbyB7ICh2b2lkKSAoeCk7IH0gd2hpbGUoMCkKKyNkZWZpbmUgX19sZTY0X3RvX2NwdXMoeCkgZG8geyAodm9pZCkgKHgpOyB9IHdoaWxlKDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX2NwdV90b19sZTMycyh4KSBkbyB7ICh2b2lkKSh4KTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgX19sZTMyX3RvX2NwdXMoeCkgZG8geyAodm9pZCkoeCk7IH0gd2hpbGUgKDApCi0jZGVmaW5lIF9fY3B1X3RvX2xlMTZzKHgpIGRvIHsgKHZvaWQpKHgpOyB9IHdoaWxlICgwKQotI2RlZmluZSBfX2xlMTZfdG9fY3B1cyh4KSBkbyB7ICh2b2lkKSh4KTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgX19jcHVfdG9fbGUzMnMoeCkgZG8geyAodm9pZCkgKHgpOyB9IHdoaWxlKDApCisjZGVmaW5lIF9fbGUzMl90b19jcHVzKHgpIGRvIHsgKHZvaWQpICh4KTsgfSB3aGlsZSgwKQorI2RlZmluZSBfX2NwdV90b19sZTE2cyh4KSBkbyB7ICh2b2lkKSAoeCk7IH0gd2hpbGUoMCkKKyNkZWZpbmUgX19sZTE2X3RvX2NwdXMoeCkgZG8geyAodm9pZCkgKHgpOyB9IHdoaWxlKDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX2NwdV90b19iZTY0cyh4KSBfX3N3YWI2NHMoKHgpKQogI2RlZmluZSBfX2JlNjRfdG9fY3B1cyh4KSBfX3N3YWI2NHMoKHgpKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYWlmL2NhaWZfc29ja2V0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhaWYvY2FpZl9zb2NrZXQuaAppbmRleCA3MjE4ODY2Li44Nzk2MjNjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhaWYvY2FpZl9zb2NrZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhaWYvY2FpZl9zb2NrZXQuaApAQCAtMjIsNzkgKzIyLDc5IEBACiAjaW5jbHVkZSA8bGludXgvc29ja2V0Lmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBjYWlmX2xpbmtfc2VsZWN0b3IgewotIENBSUZfTElOS19ISUdIX0JBTkRXLAotIENBSUZfTElOS19MT1dfTEFURU5DWQorICBDQUlGX0xJTktfSElHSF9CQU5EVywKKyAgQ0FJRl9MSU5LX0xPV19MQVRFTkNZCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gY2FpZl9jaGFubmVsX3ByaW9yaXR5IHsKLSBDQUlGX1BSSU9fTUlOID0gMHgwMSwKLSBDQUlGX1BSSU9fTE9XID0gMHgwNCwKLSBDQUlGX1BSSU9fTk9STUFMID0gMHgwZiwKKyAgQ0FJRl9QUklPX01JTiA9IDB4MDEsCisgIENBSUZfUFJJT19MT1cgPSAweDA0LAorICBDQUlGX1BSSU9fTk9STUFMID0gMHgwZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ0FJRl9QUklPX0hJR0ggPSAweDE0LAotIENBSUZfUFJJT19NQVggPSAweDFGCisgIENBSUZfUFJJT19ISUdIID0gMHgxNCwKKyAgQ0FJRl9QUklPX01BWCA9IDB4MUYKIH07CiBlbnVtIGNhaWZfcHJvdG9jb2xfdHlwZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENBSUZQUk9UT19BVCwKLSBDQUlGUFJPVE9fREFUQUdSQU0sCi0gQ0FJRlBST1RPX0RBVEFHUkFNX0xPT1AsCi0gQ0FJRlBST1RPX1VUSUwsCisgIENBSUZQUk9UT19BVCwKKyAgQ0FJRlBST1RPX0RBVEFHUkFNLAorICBDQUlGUFJPVE9fREFUQUdSQU1fTE9PUCwKKyAgQ0FJRlBST1RPX1VUSUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENBSUZQUk9UT19SRk0sCi0gQ0FJRlBST1RPX0RFQlVHLAotIF9DQUlGUFJPVE9fTUFYCisgIENBSUZQUk9UT19SRk0sCisgIENBSUZQUk9UT19ERUJVRywKKyAgX0NBSUZQUk9UT19NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQUlGUFJPVE9fTUFYIF9DQUlGUFJPVE9fTUFYCiBlbnVtIGNhaWZfYXRfdHlwZSB7Ci0gQ0FJRl9BVFRZUEVfUExBSU4gPSAyCisgIENBSUZfQVRUWVBFX1BMQUlOID0gMgogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGNhaWZfZGVidWdfdHlwZSB7Ci0gQ0FJRl9ERUJVR19UUkFDRV9JTlRFUkFDVElWRSA9IDAsCi0gQ0FJRl9ERUJVR19UUkFDRSwKLSBDQUlGX0RFQlVHX0lOVEVSQUNUSVZFLAorICBDQUlGX0RFQlVHX1RSQUNFX0lOVEVSQUNUSVZFID0gMCwKKyAgQ0FJRl9ERUJVR19UUkFDRSwKKyAgQ0FJRl9ERUJVR19JTlRFUkFDVElWRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBjYWlmX2RlYnVnX3NlcnZpY2UgewotIENBSUZfUkFESU9fREVCVUdfU0VSVklDRSA9IDEsCi0gQ0FJRl9BUFBfREVCVUdfU0VSVklDRQorICBDQUlGX1JBRElPX0RFQlVHX1NFUlZJQ0UgPSAxLAorICBDQUlGX0FQUF9ERUJVR19TRVJWSUNFCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzb2NrYWRkcl9jYWlmIHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBmYW1pbHk7Ci0gdW5pb24geworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBmYW1pbHk7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3U4IHR5cGU7Ci0gfSBhdDsKLSBzdHJ1Y3QgeworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IHR5cGU7CisgICAgfSBhdDsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHNlcnZpY2VbMTZdOwotIH0gdXRpbDsKLSB1bmlvbiB7Ci0gX191MzIgY29ubmVjdGlvbl9pZDsKKyAgICAgIGNoYXIgc2VydmljZVsxNl07CisgICAgfSB1dGlsOworICAgIHVuaW9uIHsKKyAgICAgIF9fdTMyIGNvbm5lY3Rpb25faWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbnNhcGk7Ci0gfSBkZ207Ci0gc3RydWN0IHsKLSBfX3UzMiBjb25uZWN0aW9uX2lkOworICAgICAgX191OCBuc2FwaTsKKyAgICB9IGRnbTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgY29ubmVjdGlvbl9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB2b2x1bWVbMTZdOwotIH0gcmZtOwotIHN0cnVjdCB7Ci0gX191OCB0eXBlOworICAgICAgY2hhciB2b2x1bWVbMTZdOworICAgIH0gcmZtOworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2VydmljZTsKLSB9IGRiZzsKLSB9IHU7CisgICAgICBfX3U4IHNlcnZpY2U7CisgICAgfSBkYmc7CisgIH0gdTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBjYWlmX3NvY2tldF9vcHRzIHsKLSBDQUlGU09fTElOS19TRUxFQ1QgPSAxMjcsCi0gQ0FJRlNPX1JFUV9QQVJBTSA9IDEyOCwKLSBDQUlGU09fUlNQX1BBUkFNID0gMTI5LAorICBDQUlGU09fTElOS19TRUxFQ1QgPSAxMjcsCisgIENBSUZTT19SRVFfUEFSQU0gPSAxMjgsCisgIENBSUZTT19SU1BfUEFSQU0gPSAxMjksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYWlmL2lmX2NhaWYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FpZi9pZl9jYWlmLmgKaW5kZXggYTIzN2QwYi4uMjkwNGVhYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYWlmL2lmX2NhaWYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhaWYvaWZfY2FpZi5oCkBAIC0yMywxMyArMjMsMTMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8bGludXgvc29ja2V0Lmg+CiBlbnVtIGlmbGFfY2FpZiB7Ci0gX19JRkxBX0NBSUZfVU5TUEVDLAotIElGTEFfQ0FJRl9JUFY0X0NPTk5JRCwKKyAgX19JRkxBX0NBSUZfVU5TUEVDLAorICBJRkxBX0NBSUZfSVBWNF9DT05OSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfQ0FJRl9JUFY2X0NPTk5JRCwKLSBJRkxBX0NBSUZfTE9PUEJBQ0ssCi0gX19JRkxBX0NBSUZfTUFYCisgIElGTEFfQ0FJRl9JUFY2X0NPTk5JRCwKKyAgSUZMQV9DQUlGX0xPT1BCQUNLLAorICBfX0lGTEFfQ0FJRl9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkxBX0NBSUZfTUFYIChfX0lGTEFfQ0FJRl9NQVgtMSkKKyNkZWZpbmUgSUZMQV9DQUlGX01BWCAoX19JRkxBX0NBSUZfTUFYIC0gMSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FuLmgKaW5kZXggOTU0OWJiZi4uNGM0ZjJjNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi5oCkBAIC0xNiw4ICsxNiw4IEBACiAgKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIENBTl9ICi0jZGVmaW5lIENBTl9ICisjaWZuZGVmIF9VQVBJX0NBTl9ICisjZGVmaW5lIF9VQVBJX0NBTl9ICiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zb2NrZXQuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0zOSwyMiArMzksMjIgQEAKICNkZWZpbmUgQ0FORkRfTUFYX0RMQyAxNQogI2RlZmluZSBDQU5GRF9NQVhfRExFTiA2NAogc3RydWN0IGNhbl9mcmFtZSB7Ci0gY2FuaWRfdCBjYW5faWQ7CisgIGNhbmlkX3QgY2FuX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNhbl9kbGM7Ci0gX191OCBkYXRhW0NBTl9NQVhfRExFTl0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBfX3U4IGNhbl9kbGM7CisgIF9fdTggZGF0YVtDQU5fTUFYX0RMRU5dIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKIH07CiAjZGVmaW5lIENBTkZEX0JSUyAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQU5GRF9FU0kgMHgwMgogc3RydWN0IGNhbmZkX2ZyYW1lIHsKLSBjYW5pZF90IGNhbl9pZDsKLSBfX3U4IGxlbjsKKyAgY2FuaWRfdCBjYW5faWQ7CisgIF9fdTggbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZsYWdzOwotIF9fdTggX19yZXMwOwotIF9fdTggX19yZXMxOwotIF9fdTggZGF0YVtDQU5GRF9NQVhfRExFTl0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBfX3U4IGZsYWdzOworICBfX3U4IF9fcmVzMDsKKyAgX191OCBfX3JlczE7CisgIF9fdTggZGF0YVtDQU5GRF9NQVhfRExFTl0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIENBTl9NVFUgKHNpemVvZihzdHJ1Y3QgY2FuX2ZyYW1lKSkKQEAgLTcxLDE4ICs3MSwyMCBAQAogI2RlZmluZSBTT0xfQ0FOX0JBU0UgMTAwCiBzdHJ1Y3Qgc29ja2FkZHJfY2FuIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfc2FfZmFtaWx5X3QgY2FuX2ZhbWlseTsKLSBpbnQgY2FuX2lmaW5kZXg7Ci0gdW5pb24gewotIHN0cnVjdCB7IGNhbmlkX3QgcnhfaWQsIHR4X2lkOyB9IHRwOworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBjYW5fZmFtaWx5OworICBpbnQgY2FuX2lmaW5kZXg7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGNhbl9hZGRyOworICAgICAgY2FuaWRfdCByeF9pZCwgdHhfaWQ7CisgICAgfSB0cDsKKyAgfSBjYW5fYWRkcjsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNhbl9maWx0ZXIgewotIGNhbmlkX3QgY2FuX2lkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjYW5pZF90IGNhbl9tYXNrOworICBjYW5pZF90IGNhbl9pZDsKKyAgY2FuaWRfdCBjYW5fbWFzazsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQU5fSU5WX0ZJTFRFUiAweDIwMDAwMDAwVQogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vYmNtLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9iY20uaAppbmRleCBmY2ExMjMyLi4yNWQ3MWU4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9iY20uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9iY20uaApAQCAtMTYsMzggKzE2LDM4IEBACiAgKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIENBTl9CQ01fSAotI2RlZmluZSBDQU5fQkNNX0gKKyNpZm5kZWYgX1VBUElfQ0FOX0JDTV9ICisjZGVmaW5lIF9VQVBJX0NBTl9CQ01fSAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvY2FuLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGJjbV9tc2dfaGVhZCB7Ci0gX191MzIgb3Bjb2RlOwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIGNvdW50OworICBfX3UzMiBvcGNvZGU7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRpbWV2YWwgaXZhbDEsIGl2YWwyOwotIGNhbmlkX3QgY2FuX2lkOwotIF9fdTMyIG5mcmFtZXM7Ci0gc3RydWN0IGNhbl9mcmFtZSBmcmFtZXNbMF07CisgIHN0cnVjdCB0aW1ldmFsIGl2YWwxLCBpdmFsMjsKKyAgY2FuaWRfdCBjYW5faWQ7CisgIF9fdTMyIG5mcmFtZXM7CisgIHN0cnVjdCBjYW5fZnJhbWUgZnJhbWVzWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBUWF9TRVRVUCA9IDEsCi0gVFhfREVMRVRFLAorICBUWF9TRVRVUCA9IDEsCisgIFRYX0RFTEVURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVFhfUkVBRCwKLSBUWF9TRU5ELAotIFJYX1NFVFVQLAotIFJYX0RFTEVURSwKKyAgVFhfUkVBRCwKKyAgVFhfU0VORCwKKyAgUlhfU0VUVVAsCisgIFJYX0RFTEVURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlhfUkVBRCwKLSBUWF9TVEFUVVMsCi0gVFhfRVhQSVJFRCwKLSBSWF9TVEFUVVMsCisgIFJYX1JFQUQsCisgIFRYX1NUQVRVUywKKyAgVFhfRVhQSVJFRCwKKyAgUlhfU1RBVFVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSWF9USU1FT1VULAotIFJYX0NIQU5HRUQKKyAgUlhfVElNRU9VVCwKKyAgUlhfQ0hBTkdFRAogfTsKICNkZWZpbmUgU0VUVElNRVIgMHgwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vZXJyb3IuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FuL2Vycm9yLmgKaW5kZXggMjQzNmFjZS4uNDZhZjc1OCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vZXJyb3IuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9lcnJvci5oCkBAIC0xNiw4ICsxNiw4IEBACiAgKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIENBTl9FUlJPUl9ICi0jZGVmaW5lIENBTl9FUlJPUl9ICisjaWZuZGVmIF9VQVBJX0NBTl9FUlJPUl9ICisjZGVmaW5lIF9VQVBJX0NBTl9FUlJPUl9ICiAjZGVmaW5lIENBTl9FUlJfRExDIDgKICNkZWZpbmUgQ0FOX0VSUl9UWF9USU1FT1VUIDB4MDAwMDAwMDFVCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vZ3cuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FuL2d3LmgKaW5kZXggZGQ4MGQ0OC4uMzc3MDNmZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vZ3cuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9ndy5oCkBAIC0xNiw0NCArMTYsNDQgQEAKICAqKioKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpZm5kZWYgQ0FOX0dXX0gKLSNkZWZpbmUgQ0FOX0dXX0gKKyNpZm5kZWYgX1VBUElfQ0FOX0dXX0gKKyNkZWZpbmUgX1VBUElfQ0FOX0dXX0gKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Nhbi5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBydGNhbm1zZyB7Ci0gX191OCBjYW5fZmFtaWx5OwotIF9fdTggZ3d0eXBlOwotIF9fdTE2IGZsYWdzOworICBfX3U4IGNhbl9mYW1pbHk7CisgIF9fdTggZ3d0eXBlOworICBfX3UxNiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gQ0dXX1RZUEVfVU5TUEVDLAotIENHV19UWVBFX0NBTl9DQU4sCisgIENHV19UWVBFX1VOU1BFQywKKyAgQ0dXX1RZUEVfQ0FOX0NBTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19DR1dfVFlQRV9NQVgKKyAgX19DR1dfVFlQRV9NQVgKIH07CiAjZGVmaW5lIENHV19UWVBFX01BWCAoX19DR1dfVFlQRV9NQVggLSAxKQogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENHV19VTlNQRUMsCi0gQ0dXX01PRF9BTkQsCi0gQ0dXX01PRF9PUiwKLSBDR1dfTU9EX1hPUiwKKyAgQ0dXX1VOU1BFQywKKyAgQ0dXX01PRF9BTkQsCisgIENHV19NT0RfT1IsCisgIENHV19NT0RfWE9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDR1dfTU9EX1NFVCwKLSBDR1dfQ1NfWE9SLAotIENHV19DU19DUkM4LAotIENHV19IQU5ETEVELAorICBDR1dfTU9EX1NFVCwKKyAgQ0dXX0NTX1hPUiwKKyAgQ0dXX0NTX0NSQzgsCisgIENHV19IQU5ETEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDR1dfRFJPUFBFRCwKLSBDR1dfU1JDX0lGLAotIENHV19EU1RfSUYsCi0gQ0dXX0ZJTFRFUiwKKyAgQ0dXX0RST1BQRUQsCisgIENHV19TUkNfSUYsCisgIENHV19EU1RfSUYsCisgIENHV19GSUxURVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENHV19ERUxFVEVELAotIENHV19MSU1fSE9QUywKLSBfX0NHV19NQVgKKyAgQ0dXX0RFTEVURUQsCisgIENHV19MSU1fSE9QUywKKyAgX19DR1dfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0dXX01BWCAoX19DR1dfTUFYIC0gMSkKQEAgLTY5LDQxICs2OSw0MSBAQAogI2RlZmluZSBDR1dfRlJBTUVfTU9EUyAzCiAjZGVmaW5lIE1BWF9NT0RGVU5DVElPTlMgKENHV19NT0RfRlVOQ1MgKiBDR1dfRlJBTUVfTU9EUykKIHN0cnVjdCBjZ3dfZnJhbWVfbW9kIHsKLSBzdHJ1Y3QgY2FuX2ZyYW1lIGNmOworICBzdHJ1Y3QgY2FuX2ZyYW1lIGNmOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1vZHR5cGU7CisgIF9fdTggbW9kdHlwZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIENHV19NT0RBVFRSX0xFTiBzaXplb2Yoc3RydWN0IGNnd19mcmFtZV9tb2QpCiBzdHJ1Y3QgY2d3X2NzdW1feG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zOCBmcm9tX2lkeDsKLSBfX3M4IHRvX2lkeDsKLSBfX3M4IHJlc3VsdF9pZHg7Ci0gX191OCBpbml0X3hvcl92YWw7CisgIF9fczggZnJvbV9pZHg7CisgIF9fczggdG9faWR4OworICBfX3M4IHJlc3VsdF9pZHg7CisgIF9fdTggaW5pdF94b3JfdmFsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgY2d3X2NzdW1fY3JjOCB7Ci0gX19zOCBmcm9tX2lkeDsKLSBfX3M4IHRvX2lkeDsKKyAgX19zOCBmcm9tX2lkeDsKKyAgX19zOCB0b19pZHg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczggcmVzdWx0X2lkeDsKLSBfX3U4IGluaXRfY3JjX3ZhbDsKLSBfX3U4IGZpbmFsX3hvcl92YWw7Ci0gX191OCBjcmN0YWJbMjU2XTsKKyAgX19zOCByZXN1bHRfaWR4OworICBfX3U4IGluaXRfY3JjX3ZhbDsKKyAgX191OCBmaW5hbF94b3JfdmFsOworICBfX3U4IGNyY3RhYlsyNTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHByb2ZpbGU7Ci0gX191OCBwcm9maWxlX2RhdGFbMjBdOworICBfX3U4IHByb2ZpbGU7CisgIF9fdTggcHJvZmlsZV9kYXRhWzIwXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIENHV19DU19YT1JfTEVOIHNpemVvZihzdHJ1Y3QgY2d3X2NzdW1feG9yKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0dXX0NTX0NSQzhfTEVOIHNpemVvZihzdHJ1Y3QgY2d3X2NzdW1fY3JjOCkKIGVudW0gewotIENHV19DUkM4UFJGX1VOU1BFQywKLSBDR1dfQ1JDOFBSRl8xVTgsCisgIENHV19DUkM4UFJGX1VOU1BFQywKKyAgQ0dXX0NSQzhQUkZfMVU4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDR1dfQ1JDOFBSRl8xNlU4LAotIENHV19DUkM4UFJGX1NGRklEX1hPUiwKLSBfX0NHV19DUkM4UFJGX01BWAorICBDR1dfQ1JDOFBSRl8xNlU4LAorICBDR1dfQ1JDOFBSRl9TRkZJRF9YT1IsCisgIF9fQ0dXX0NSQzhQUkZfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0dXX0NSQzhQUkZfTUFYIChfX0NHV19DUkM4UFJGX01BWCAtIDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9uZXRsaW5rLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nhbi9uZXRsaW5rLmgKaW5kZXggZGY4YTE5Yy4uYTFjMzE1OSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vbmV0bGluay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FuL25ldGxpbmsuaApAQCAtMTYsNTkgKzE2LDU5IEBACiAgKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaWZuZGVmIENBTl9ORVRMSU5LX0gKLSNkZWZpbmUgQ0FOX05FVExJTktfSAorI2lmbmRlZiBfVUFQSV9DQU5fTkVUTElOS19ICisjZGVmaW5lIF9VQVBJX0NBTl9ORVRMSU5LX0gKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGNhbl9iaXR0aW1pbmcgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBiaXRyYXRlOwotIF9fdTMyIHNhbXBsZV9wb2ludDsKLSBfX3UzMiB0cTsKLSBfX3UzMiBwcm9wX3NlZzsKKyAgX191MzIgYml0cmF0ZTsKKyAgX191MzIgc2FtcGxlX3BvaW50OworICBfX3UzMiB0cTsKKyAgX191MzIgcHJvcF9zZWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBoYXNlX3NlZzE7Ci0gX191MzIgcGhhc2Vfc2VnMjsKLSBfX3UzMiBzanc7Ci0gX191MzIgYnJwOworICBfX3UzMiBwaGFzZV9zZWcxOworICBfX3UzMiBwaGFzZV9zZWcyOworICBfX3UzMiBzanc7CisgIF9fdTMyIGJycDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNhbl9iaXR0aW1pbmdfY29uc3QgewotIGNoYXIgbmFtZVsxNl07Ci0gX191MzIgdHNlZzFfbWluOworICBjaGFyIG5hbWVbMTZdOworICBfX3UzMiB0c2VnMV9taW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRzZWcxX21heDsKLSBfX3UzMiB0c2VnMl9taW47Ci0gX191MzIgdHNlZzJfbWF4OwotIF9fdTMyIHNqd19tYXg7CisgIF9fdTMyIHRzZWcxX21heDsKKyAgX191MzIgdHNlZzJfbWluOworICBfX3UzMiB0c2VnMl9tYXg7CisgIF9fdTMyIHNqd19tYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGJycF9taW47Ci0gX191MzIgYnJwX21heDsKLSBfX3UzMiBicnBfaW5jOworICBfX3UzMiBicnBfbWluOworICBfX3UzMiBicnBfbWF4OworICBfX3UzMiBicnBfaW5jOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY2FuX2Nsb2NrIHsKLSBfX3UzMiBmcmVxOworICBfX3UzMiBmcmVxOwogfTsKIGVudW0gY2FuX3N0YXRlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ0FOX1NUQVRFX0VSUk9SX0FDVElWRSA9IDAsCi0gQ0FOX1NUQVRFX0VSUk9SX1dBUk5JTkcsCi0gQ0FOX1NUQVRFX0VSUk9SX1BBU1NJVkUsCi0gQ0FOX1NUQVRFX0JVU19PRkYsCisgIENBTl9TVEFURV9FUlJPUl9BQ1RJVkUgPSAwLAorICBDQU5fU1RBVEVfRVJST1JfV0FSTklORywKKyAgQ0FOX1NUQVRFX0VSUk9SX1BBU1NJVkUsCisgIENBTl9TVEFURV9CVVNfT0ZGLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDQU5fU1RBVEVfU1RPUFBFRCwKLSBDQU5fU1RBVEVfU0xFRVBJTkcsCi0gQ0FOX1NUQVRFX01BWAorICBDQU5fU1RBVEVfU1RPUFBFRCwKKyAgQ0FOX1NUQVRFX1NMRUVQSU5HLAorICBDQU5fU1RBVEVfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjYW5fYmVycl9jb3VudGVyIHsKLSBfX3UxNiB0eGVycjsKLSBfX3UxNiByeGVycjsKKyAgX191MTYgdHhlcnI7CisgIF9fdTE2IHJ4ZXJyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY2FuX2N0cmxtb2RlIHsKLSBfX3UzMiBtYXNrOwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBtYXNrOworICBfX3UzMiBmbGFnczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQU5fQ1RSTE1PREVfTE9PUEJBQ0sgMHgwMQpAQCAtNzcsMzAgKzc3LDM3IEBACiAjZGVmaW5lIENBTl9DVFJMTU9ERV9PTkVfU0hPVCAweDA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQU5fQ1RSTE1PREVfQkVSUl9SRVBPUlRJTkcgMHgxMAorI2RlZmluZSBDQU5fQ1RSTE1PREVfRkQgMHgyMAorI2RlZmluZSBDQU5fQ1RSTE1PREVfUFJFU1VNRV9BQ0sgMHg0MAorI2RlZmluZSBDQU5fQ1RSTE1PREVfRkRfTk9OX0lTTyAweDgwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNhbl9kZXZpY2Vfc3RhdHMgewotIF9fdTMyIGJ1c19lcnJvcjsKLSBfX3UzMiBlcnJvcl93YXJuaW5nOworICBfX3UzMiBidXNfZXJyb3I7CisgIF9fdTMyIGVycm9yX3dhcm5pbmc7CisgIF9fdTMyIGVycm9yX3Bhc3NpdmU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVycm9yX3Bhc3NpdmU7Ci0gX191MzIgYnVzX29mZjsKLSBfX3UzMiBhcmJpdHJhdGlvbl9sb3N0OwotIF9fdTMyIHJlc3RhcnRzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgYnVzX29mZjsKKyAgX191MzIgYXJiaXRyYXRpb25fbG9zdDsKKyAgX191MzIgcmVzdGFydHM7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIElGTEFfQ0FOX1VOU1BFQywKLSBJRkxBX0NBTl9CSVRUSU1JTkcsCisgIElGTEFfQ0FOX1VOU1BFQywKKyAgSUZMQV9DQU5fQklUVElNSU5HLAorICBJRkxBX0NBTl9CSVRUSU1JTkdfQ09OU1QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfQ0FOX0JJVFRJTUlOR19DT05TVCwKLSBJRkxBX0NBTl9DTE9DSywKLSBJRkxBX0NBTl9TVEFURSwKLSBJRkxBX0NBTl9DVFJMTU9ERSwKKyAgSUZMQV9DQU5fQ0xPQ0ssCisgIElGTEFfQ0FOX1NUQVRFLAorICBJRkxBX0NBTl9DVFJMTU9ERSwKKyAgSUZMQV9DQU5fUkVTVEFSVF9NUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9DQU5fUkVTVEFSVF9NUywKLSBJRkxBX0NBTl9SRVNUQVJULAotIElGTEFfQ0FOX0JFUlJfQ09VTlRFUiwKLSBfX0lGTEFfQ0FOX01BWAorICBJRkxBX0NBTl9SRVNUQVJULAorICBJRkxBX0NBTl9CRVJSX0NPVU5URVIsCisgIElGTEFfQ0FOX0RBVEFfQklUVElNSU5HLAorICBJRkxBX0NBTl9EQVRBX0JJVFRJTUlOR19DT05TVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fSUZMQV9DQU5fTUFYCiB9OwogI2RlZmluZSBJRkxBX0NBTl9NQVggKF9fSUZMQV9DQU5fTUFYIC0gMSkKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FuL3Jhdy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vcmF3LmgKaW5kZXggOWQ0MGM5MC4uYTcwZDg4MSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vcmF3LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYW4vcmF3LmgKQEAgLTE2LDE4ICsxNiwxOCBAQAogICoqKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2lmbmRlZiBDQU5fUkFXX0gKLSNkZWZpbmUgQ0FOX1JBV19ICisjaWZuZGVmIF9VQVBJX0NBTl9SQVdfSAorI2RlZmluZSBfVUFQSV9DQU5fUkFXX0gKICNpbmNsdWRlIDxsaW51eC9jYW4uaD4KICNkZWZpbmUgU09MX0NBTl9SQVcgKFNPTF9DQU5fQkFTRSArIENBTl9SQVcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gQ0FOX1JBV19GSUxURVIgPSAxLAotIENBTl9SQVdfRVJSX0ZJTFRFUiwKLSBDQU5fUkFXX0xPT1BCQUNLLAorICBDQU5fUkFXX0ZJTFRFUiA9IDEsCisgIENBTl9SQVdfRVJSX0ZJTFRFUiwKKyAgQ0FOX1JBV19MT09QQkFDSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ0FOX1JBV19SRUNWX09XTl9NU0dTLAotIENBTl9SQVdfRkRfRlJBTUVTLAorICBDQU5fUkFXX1JFQ1ZfT1dOX01TR1MsCisgIENBTl9SQVdfRkRfRlJBTUVTLAogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2FwYWJpbGl0eS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYXBhYmlsaXR5LmgKaW5kZXggYzBhYjRkOS4uNmNlZDZlMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYXBhYmlsaXR5LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYXBhYmlsaXR5LmgKQEAgLTI5LDE2ICsyOSwxNiBAQAogI2RlZmluZSBfTElOVVhfQ0FQQUJJTElUWV9WRVJTSU9OXzMgMHgyMDA4MDUyMgogI2RlZmluZSBfTElOVVhfQ0FQQUJJTElUWV9VMzJTXzMgMgogdHlwZWRlZiBzdHJ1Y3QgX191c2VyX2NhcF9oZWFkZXJfc3RydWN0IHsKLSBfX3UzMiB2ZXJzaW9uOworICBfX3UzMiB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcGlkOwotfSBfX3VzZXIgKmNhcF91c2VyX2hlYWRlcl90OworICBpbnQgcGlkOworfSBfX3VzZXIgKiBjYXBfdXNlcl9oZWFkZXJfdDsKIHR5cGVkZWYgc3RydWN0IF9fdXNlcl9jYXBfZGF0YV9zdHJ1Y3QgewotIF9fdTMyIGVmZmVjdGl2ZTsKKyAgX191MzIgZWZmZWN0aXZlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwZXJtaXR0ZWQ7Ci0gX191MzIgaW5oZXJpdGFibGU7Ci19IF9fdXNlciAqY2FwX3VzZXJfZGF0YV90OworICBfX3UzMiBwZXJtaXR0ZWQ7CisgIF9fdTMyIGluaGVyaXRhYmxlOworfSBfX3VzZXIgKiBjYXBfdXNlcl9kYXRhX3Q7CiAjZGVmaW5lIFZGU19DQVBfUkVWSVNJT05fTUFTSyAweEZGMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWRlNfQ0FQX1JFVklTSU9OX1NISUZUIDI0CkBAIC00NywyMiArNDcsMjIgQEAKICNkZWZpbmUgVkZTX0NBUF9SRVZJU0lPTl8xIDB4MDEwMDAwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZGU19DQVBfVTMyXzEgMQotI2RlZmluZSBYQVRUUl9DQVBTX1NaXzEgKHNpemVvZihfX2xlMzIpKigxICsgMipWRlNfQ0FQX1UzMl8xKSkKKyNkZWZpbmUgWEFUVFJfQ0FQU19TWl8xIChzaXplb2YoX19sZTMyKSAqICgxICsgMiAqIFZGU19DQVBfVTMyXzEpKQogI2RlZmluZSBWRlNfQ0FQX1JFVklTSU9OXzIgMHgwMjAwMDAwMAogI2RlZmluZSBWRlNfQ0FQX1UzMl8yIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFhBVFRSX0NBUFNfU1pfMiAoc2l6ZW9mKF9fbGUzMikqKDEgKyAyKlZGU19DQVBfVTMyXzIpKQorI2RlZmluZSBYQVRUUl9DQVBTX1NaXzIgKHNpemVvZihfX2xlMzIpICogKDEgKyAyICogVkZTX0NBUF9VMzJfMikpCiAjZGVmaW5lIFhBVFRSX0NBUFNfU1ogWEFUVFJfQ0FQU19TWl8yCiAjZGVmaW5lIFZGU19DQVBfVTMyIFZGU19DQVBfVTMyXzIKICNkZWZpbmUgVkZTX0NBUF9SRVZJU0lPTiBWRlNfQ0FQX1JFVklTSU9OXzIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdmZzX2NhcF9kYXRhIHsKLSBfX2xlMzIgbWFnaWNfZXRjOwotIHN0cnVjdCB7Ci0gX19sZTMyIHBlcm1pdHRlZDsKKyAgX19sZTMyIG1hZ2ljX2V0YzsKKyAgc3RydWN0IHsKKyAgICBfX2xlMzIgcGVybWl0dGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgaW5oZXJpdGFibGU7Ci0gfSBkYXRhW1ZGU19DQVBfVTMyXTsKKyAgICBfX2xlMzIgaW5oZXJpdGFibGU7CisgIH0gZGF0YVtWRlNfQ0FQX1UzMl07CiB9OwogI2RlZmluZSBfTElOVVhfQ0FQQUJJTElUWV9WRVJTSU9OIF9MSU5VWF9DQVBBQklMSVRZX1ZFUlNJT05fMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTExMyw5ICsxMTMsMTEgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENBUF9XQUtFX0FMQVJNIDM1CiAjZGVmaW5lIENBUF9CTE9DS19TVVNQRU5EIDM2Ci0jZGVmaW5lIENBUF9MQVNUX0NBUCBDQVBfQkxPQ0tfU1VTUEVORAotI2RlZmluZSBjYXBfdmFsaWQoeCkgKCh4KSA+PSAwICYmICh4KSA8PSBDQVBfTEFTVF9DQVApCisjZGVmaW5lIENBUF9BVURJVF9SRUFEIDM3CisjZGVmaW5lIENBUF9MQVNUX0NBUCBDQVBfQVVESVRfUkVBRAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgY2FwX3ZhbGlkKHgpICgoeCkgPj0gMCAmJiAoeCkgPD0gQ0FQX0xBU1RfQ0FQKQogI2RlZmluZSBDQVBfVE9fSU5ERVgoeCkgKCh4KSA+PiA1KQogI2RlZmluZSBDQVBfVE9fTUFTSyh4KSAoMSA8PCAoKHgpICYgMzEpKQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jYXBpLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhcGkuaAppbmRleCBhNTYyMmVhLi40NjRjMjZmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhcGkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NhcGkuaApAQCAtMjMsNjcgKzIzLDY3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbGNhcGkuaD4KIHR5cGVkZWYgc3RydWN0IGNhcGlfcmVnaXN0ZXJfcGFyYW1zIHsKLSBfX3UzMiBsZXZlbDNjbnQ7Ci0gX191MzIgZGF0YWJsa2NudDsKKyAgX191MzIgbGV2ZWwzY250OworICBfX3UzMiBkYXRhYmxrY250OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkYXRhYmxrbGVuOworICBfX3UzMiBkYXRhYmxrbGVuOwogfSBjYXBpX3JlZ2lzdGVyX3BhcmFtczsKLSNkZWZpbmUgQ0FQSV9SRUdJU1RFUiBfSU9XKCdDJywweDAxLHN0cnVjdCBjYXBpX3JlZ2lzdGVyX3BhcmFtcykKKyNkZWZpbmUgQ0FQSV9SRUdJU1RFUiBfSU9XKCdDJywgMHgwMSwgc3RydWN0IGNhcGlfcmVnaXN0ZXJfcGFyYW1zKQogI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9MRU4gNjQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElfR0VUX01BTlVGQUNUVVJFUiBfSU9XUignQycsMHgwNixpbnQpCisjZGVmaW5lIENBUElfR0VUX01BTlVGQUNUVVJFUiBfSU9XUignQycsIDB4MDYsIGludCkKIHR5cGVkZWYgc3RydWN0IGNhcGlfdmVyc2lvbiB7Ci0gX191MzIgbWFqb3J2ZXJzaW9uOwotIF9fdTMyIG1pbm9ydmVyc2lvbjsKKyAgX191MzIgbWFqb3J2ZXJzaW9uOworICBfX3UzMiBtaW5vcnZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1ham9ybWFudXZlcnNpb247Ci0gX191MzIgbWlub3JtYW51dmVyc2lvbjsKKyAgX191MzIgbWFqb3JtYW51dmVyc2lvbjsKKyAgX191MzIgbWlub3JtYW51dmVyc2lvbjsKIH0gY2FwaV92ZXJzaW9uOwotI2RlZmluZSBDQVBJX0dFVF9WRVJTSU9OIF9JT1dSKCdDJywweDA3LHN0cnVjdCBjYXBpX3ZlcnNpb24pCisjZGVmaW5lIENBUElfR0VUX1ZFUlNJT04gX0lPV1IoJ0MnLCAweDA3LCBzdHJ1Y3QgY2FwaV92ZXJzaW9uKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0FQSV9TRVJJQUxfTEVOIDgKLSNkZWZpbmUgQ0FQSV9HRVRfU0VSSUFMIF9JT1dSKCdDJywweDA4LGludCkKKyNkZWZpbmUgQ0FQSV9HRVRfU0VSSUFMIF9JT1dSKCdDJywgMHgwOCwgaW50KQogdHlwZWRlZiBzdHJ1Y3QgY2FwaV9wcm9maWxlIHsKLSBfX3UxNiBuY29udHJvbGxlcjsKKyAgX191MTYgbmNvbnRyb2xsZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG5iY2hhbm5lbDsKLSBfX3UzMiBnb3B0aW9uczsKLSBfX3UzMiBzdXBwb3J0MTsKLSBfX3UzMiBzdXBwb3J0MjsKKyAgX191MTYgbmJjaGFubmVsOworICBfX3UzMiBnb3B0aW9uczsKKyAgX191MzIgc3VwcG9ydDE7CisgIF9fdTMyIHN1cHBvcnQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdXBwb3J0MzsKLSBfX3UzMiByZXNlcnZlZFs2XTsKLSBfX3UzMiBtYW51WzVdOworICBfX3UzMiBzdXBwb3J0MzsKKyAgX191MzIgcmVzZXJ2ZWRbNl07CisgIF9fdTMyIG1hbnVbNV07CiB9IGNhcGlfcHJvZmlsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElfR0VUX1BST0ZJTEUgX0lPV1IoJ0MnLDB4MDksc3RydWN0IGNhcGlfcHJvZmlsZSkKKyNkZWZpbmUgQ0FQSV9HRVRfUFJPRklMRSBfSU9XUignQycsIDB4MDksIHN0cnVjdCBjYXBpX3Byb2ZpbGUpCiB0eXBlZGVmIHN0cnVjdCBjYXBpX21hbnVmYWN0dXJlcl9jbWQgewotIHVuc2lnbmVkIGxvbmcgY21kOwotIHZvaWQgX191c2VyICpkYXRhOworICB1bnNpZ25lZCBsb25nIGNtZDsKKyAgdm9pZCBfX3VzZXIgKiBkYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gY2FwaV9tYW51ZmFjdHVyZXJfY21kOwotI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9DTUQgX0lPV1IoJ0MnLDB4MjAsIHN0cnVjdCBjYXBpX21hbnVmYWN0dXJlcl9jbWQpCi0jZGVmaW5lIENBUElfR0VUX0VSUkNPREUgX0lPUignQycsMHgyMSwgX191MTYpCi0jZGVmaW5lIENBUElfSU5TVEFMTEVEIF9JT1IoJ0MnLDB4MjIsIF9fdTE2KQorI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9DTUQgX0lPV1IoJ0MnLCAweDIwLCBzdHJ1Y3QgY2FwaV9tYW51ZmFjdHVyZXJfY21kKQorI2RlZmluZSBDQVBJX0dFVF9FUlJDT0RFIF9JT1IoJ0MnLCAweDIxLCBfX3UxNikKKyNkZWZpbmUgQ0FQSV9JTlNUQUxMRUQgX0lPUignQycsIDB4MjIsIF9fdTE2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgdW5pb24gY2FwaV9pb2N0bF9zdHJ1Y3QgewotIF9fdTMyIGNvbnRyOwotIGNhcGlfcmVnaXN0ZXJfcGFyYW1zIHJwYXJhbXM7Ci0gX191OCBtYW51ZmFjdHVyZXJbQ0FQSV9NQU5VRkFDVFVSRVJfTEVOXTsKKyAgX191MzIgY29udHI7CisgIGNhcGlfcmVnaXN0ZXJfcGFyYW1zIHJwYXJhbXM7CisgIF9fdTggbWFudWZhY3R1cmVyW0NBUElfTUFOVUZBQ1RVUkVSX0xFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNhcGlfdmVyc2lvbiB2ZXJzaW9uOwotIF9fdTggc2VyaWFsW0NBUElfU0VSSUFMX0xFTl07Ci0gY2FwaV9wcm9maWxlIHByb2ZpbGU7Ci0gY2FwaV9tYW51ZmFjdHVyZXJfY21kIGNtZDsKKyAgY2FwaV92ZXJzaW9uIHZlcnNpb247CisgIF9fdTggc2VyaWFsW0NBUElfU0VSSUFMX0xFTl07CisgIGNhcGlfcHJvZmlsZSBwcm9maWxlOworICBjYXBpX21hbnVmYWN0dXJlcl9jbWQgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBlcnJjb2RlOworICBfX3UxNiBlcnJjb2RlOwogfSBjYXBpX2lvY3RsX3N0cnVjdDsKICNkZWZpbmUgQ0FQSUZMQUdfSElHSEpBQ0tJTkcgMHgwMDAxCi0jZGVmaW5lIENBUElfR0VUX0ZMQUdTIF9JT1IoJ0MnLDB4MjMsIHVuc2lnbmVkKQorI2RlZmluZSBDQVBJX0dFVF9GTEFHUyBfSU9SKCdDJywgMHgyMywgdW5zaWduZWQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX1NFVF9GTEFHUyBfSU9SKCdDJywweDI0LCB1bnNpZ25lZCkKLSNkZWZpbmUgQ0FQSV9DTFJfRkxBR1MgX0lPUignQycsMHgyNSwgdW5zaWduZWQpCi0jZGVmaW5lIENBUElfTkNDSV9PUEVOQ09VTlQgX0lPUignQycsMHgyNiwgdW5zaWduZWQpCi0jZGVmaW5lIENBUElfTkNDSV9HRVRVTklUIF9JT1IoJ0MnLDB4MjcsIHVuc2lnbmVkKQorI2RlZmluZSBDQVBJX1NFVF9GTEFHUyBfSU9SKCdDJywgMHgyNCwgdW5zaWduZWQpCisjZGVmaW5lIENBUElfQ0xSX0ZMQUdTIF9JT1IoJ0MnLCAweDI1LCB1bnNpZ25lZCkKKyNkZWZpbmUgQ0FQSV9OQ0NJX09QRU5DT1VOVCBfSU9SKCdDJywgMHgyNiwgdW5zaWduZWQpCisjZGVmaW5lIENBUElfTkNDSV9HRVRVTklUIF9JT1IoJ0MnLCAweDI3LCB1bnNpZ25lZCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2Npc3NfZGVmcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jY2lzc19kZWZzLmgKaW5kZXggMGZiYTc3Mi4uYWYwNzVmOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jY2lzc19kZWZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jY2lzc19kZWZzLmgKQEAgLTYyLDg2ICs2Miw4NiBAQAogI3ByYWdtYSBwYWNrKDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiB1bmlvbiBfU0NTSTNBZGRyX3N0cnVjdCB7Ci0gc3RydWN0IHsKLSBCWVRFIERldjsKLSBCWVRFIEJ1czo2OworICBzdHJ1Y3QgeworICAgIEJZVEUgRGV2OworICAgIEJZVEUgQnVzIDogNjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQllURSBNb2RlOjI7Ci0gfSBQZXJpcERldjsKLSBzdHJ1Y3QgewotIEJZVEUgRGV2TFNCOworICAgIEJZVEUgTW9kZSA6IDI7CisgIH0gUGVyaXBEZXY7CisgIHN0cnVjdCB7CisgICAgQllURSBEZXZMU0I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJZVEUgRGV2TVNCOjY7Ci0gQllURSBNb2RlOjI7Ci0gfSBMb2dEZXY7Ci0gc3RydWN0IHsKKyAgICBCWVRFIERldk1TQiA6IDY7CisgICAgQllURSBNb2RlIDogMjsKKyAgfSBMb2dEZXY7CisgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJZVEUgRGV2OjU7Ci0gQllURSBCdXM6MzsKLSBCWVRFIFRhcmc6NjsKLSBCWVRFIE1vZGU6MjsKKyAgICBCWVRFIERldiA6IDU7CisgICAgQllURSBCdXMgOiAzOworICAgIEJZVEUgVGFyZyA6IDY7CisgICAgQllURSBNb2RlIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBMb2dVbml0OworICB9IExvZ1VuaXQ7CiB9IFNDU0kzQWRkcl9zdHJ1Y3Q7CiB0eXBlZGVmIHN0cnVjdCBfUGh5c0RldkFkZHJfc3RydWN0IHsKLSBEV09SRCBUYXJnZXRJZDoyNDsKKyAgRFdPUkQgVGFyZ2V0SWQgOiAyNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRFdPUkQgQnVzOjY7Ci0gRFdPUkQgTW9kZToyOwotIFNDU0kzQWRkcl9zdHJ1Y3QgVGFyZ2V0WzJdOworICBEV09SRCBCdXMgOiA2OworICBEV09SRCBNb2RlIDogMjsKKyAgU0NTSTNBZGRyX3N0cnVjdCBUYXJnZXRbMl07CiB9IFBoeXNEZXZBZGRyX3N0cnVjdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBfTG9nRGV2QWRkcl9zdHJ1Y3QgewotIERXT1JEIFZvbElkOjMwOwotIERXT1JEIE1vZGU6MjsKLSBCWVRFIHJlc2VydmVkWzRdOworICBEV09SRCBWb2xJZCA6IDMwOworICBEV09SRCBNb2RlIDogMjsKKyAgQllURSByZXNlcnZlZFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IExvZ0RldkFkZHJfc3RydWN0OwogdHlwZWRlZiB1bmlvbiBfTFVOQWRkcl9zdHJ1Y3QgewotIEJZVEUgTHVuQWRkckJ5dGVzWzhdOwotIFNDU0kzQWRkcl9zdHJ1Y3QgU0NTSTNMdW5bNF07CisgIEJZVEUgTHVuQWRkckJ5dGVzWzhdOworICBTQ1NJM0FkZHJfc3RydWN0IFNDU0kzTHVuWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQaHlzRGV2QWRkcl9zdHJ1Y3QgUGh5c0RldjsKLSBMb2dEZXZBZGRyX3N0cnVjdCBMb2dEZXY7CisgIFBoeXNEZXZBZGRyX3N0cnVjdCBQaHlzRGV2OworICBMb2dEZXZBZGRyX3N0cnVjdCBMb2dEZXY7CiB9IExVTkFkZHJfc3RydWN0OwogdHlwZWRlZiBzdHJ1Y3QgX1JlcXVlc3RCbG9ja19zdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCWVRFIENEQkxlbjsKLSBzdHJ1Y3QgewotIEJZVEUgVHlwZTozOwotIEJZVEUgQXR0cmlidXRlOjM7CisgIEJZVEUgQ0RCTGVuOworICBzdHJ1Y3QgeworICAgIEJZVEUgVHlwZSA6IDM7CisgICAgQllURSBBdHRyaWJ1dGUgOiAzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCWVRFIERpcmVjdGlvbjoyOwotIH0gVHlwZTsKLSBIV09SRCBUaW1lb3V0OwotIEJZVEUgQ0RCWzE2XTsKKyAgICBCWVRFIERpcmVjdGlvbiA6IDI7CisgIH0gVHlwZTsKKyAgSFdPUkQgVGltZW91dDsKKyAgQllURSBDREJbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gUmVxdWVzdEJsb2NrX3N0cnVjdDsKLXR5cGVkZWYgdW5pb24gX01vcmVFcnJJbmZvX3N0cnVjdHsKLSBzdHJ1Y3QgewotIEJZVEUgUmVzZXJ2ZWRbM107Cit0eXBlZGVmIHVuaW9uIF9Nb3JlRXJySW5mb19zdHJ1Y3QgeworICBzdHJ1Y3QgeworICAgIEJZVEUgUmVzZXJ2ZWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJZVEUgVHlwZTsKLSBEV09SRCBFcnJvckluZm87Ci0gfSBDb21tb25fSW5mbzsKLSBzdHJ1Y3R7CisgICAgQllURSBUeXBlOworICAgIERXT1JEIEVycm9ySW5mbzsKKyAgfSBDb21tb25fSW5mbzsKKyAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQllURSBSZXNlcnZlZFsyXTsKLSBCWVRFIG9mZmVuc2Vfc2l6ZTsKLSBCWVRFIG9mZmVuc2VfbnVtOwotIERXT1JEIG9mZmVuc2VfdmFsdWU7CisgICAgQllURSBSZXNlcnZlZFsyXTsKKyAgICBCWVRFIG9mZmVuc2Vfc2l6ZTsKKyAgICBCWVRFIG9mZmVuc2VfbnVtOworICAgIERXT1JEIG9mZmVuc2VfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gSW52YWxpZF9DbWQ7CisgIH0gSW52YWxpZF9DbWQ7CiB9IE1vcmVFcnJJbmZvX3N0cnVjdDsKIHR5cGVkZWYgc3RydWN0IF9FcnJvckluZm9fc3RydWN0IHsKLSBCWVRFIFNjc2lTdGF0dXM7CisgIEJZVEUgU2NzaVN0YXR1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQllURSBTZW5zZUxlbjsKLSBIV09SRCBDb21tYW5kU3RhdHVzOwotIERXT1JEIFJlc2lkdWFsQ250OwotIE1vcmVFcnJJbmZvX3N0cnVjdCBNb3JlRXJySW5mbzsKKyAgQllURSBTZW5zZUxlbjsKKyAgSFdPUkQgQ29tbWFuZFN0YXR1czsKKyAgRFdPUkQgUmVzaWR1YWxDbnQ7CisgIE1vcmVFcnJJbmZvX3N0cnVjdCBNb3JlRXJySW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQllURSBTZW5zZUluZm9bU0VOU0VJTkZPQllURVNdOworICBCWVRFIFNlbnNlSW5mb1tTRU5TRUlORk9CWVRFU107CiB9IEVycm9ySW5mb19zdHJ1Y3Q7CiAjcHJhZ21hIHBhY2soKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NjaXNzX2lvY3RsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NjaXNzX2lvY3RsLmgKaW5kZXggMTExOTBiOS4uYWI2ZTMyNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jY2lzc19pb2N0bC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2Npc3NfaW9jdGwuaApAQCAtMjMsNzggKzIzLDc2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L2NjaXNzX2RlZnMuaD4KICNkZWZpbmUgQ0NJU1NfSU9DX01BR0lDICdCJwotdHlwZWRlZiBzdHJ1Y3QgX2NjaXNzX3BjaV9pbmZvX3N0cnVjdAotewordHlwZWRlZiBzdHJ1Y3QgX2NjaXNzX3BjaV9pbmZvX3N0cnVjdCB7CisgIHVuc2lnbmVkIGNoYXIgYnVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGJ1czsKLSB1bnNpZ25lZCBjaGFyIGRldl9mbjsKLSB1bnNpZ25lZCBzaG9ydCBkb21haW47Ci0gX191MzIgYm9hcmRfaWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBjaGFyIGRldl9mbjsKKyAgdW5zaWduZWQgc2hvcnQgZG9tYWluOworICBfX3UzMiBib2FyZF9pZDsKIH0gY2Npc3NfcGNpX2luZm9fc3RydWN0OwotdHlwZWRlZiBzdHJ1Y3QgX2NjaXNzX2NvYWxpbnRfc3RydWN0Ci17Ci0gX191MzIgZGVsYXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvdW50OwordHlwZWRlZiBzdHJ1Y3QgX2NjaXNzX2NvYWxpbnRfc3RydWN0IHsKKyAgX191MzIgZGVsYXk7CisgIF9fdTMyIGNvdW50OwogfSBjY2lzc19jb2FsaW50X3N0cnVjdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGNoYXIgTm9kZU5hbWVfdHlwZVsxNl07CiB0eXBlZGVmIF9fdTMyIEhlYXJ0YmVhdF90eXBlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0lTU19QQVJTQ1NJVTIgMHgwMDAxCiAjZGVmaW5lIENJU1NfUEFSQ1NDSVUzIDB4MDAwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0lTU19GSUJSRTFHIDB4MDEwMAogI2RlZmluZSBDSVNTX0ZJQlJFMkcgMHgwMjAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBfX3UzMiBCdXNUeXBlc190eXBlOwogdHlwZWRlZiBjaGFyIEZpcm13YXJlVmVyX3R5cGVbNF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBfX3UzMiBEcml2ZXJWZXJfdHlwZTsKICNkZWZpbmUgTUFYX0tNQUxMT0NfU0laRSAxMjgwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBfSU9DVExfQ29tbWFuZF9zdHJ1Y3QgewotIExVTkFkZHJfc3RydWN0IExVTl9pbmZvOwotIFJlcXVlc3RCbG9ja19zdHJ1Y3QgUmVxdWVzdDsKLSBFcnJvckluZm9fc3RydWN0IGVycm9yX2luZm87CisgIExVTkFkZHJfc3RydWN0IExVTl9pbmZvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBXT1JEIGJ1Zl9zaXplOwotIEJZVEUgX191c2VyICpidWY7CisgIFJlcXVlc3RCbG9ja19zdHJ1Y3QgUmVxdWVzdDsKKyAgRXJyb3JJbmZvX3N0cnVjdCBlcnJvcl9pbmZvOworICBXT1JEIGJ1Zl9zaXplOworICBCWVRFIF9fdXNlciAqIGJ1ZjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IElPQ1RMX0NvbW1hbmRfc3RydWN0OwogdHlwZWRlZiBzdHJ1Y3QgX0JJR19JT0NUTF9Db21tYW5kX3N0cnVjdCB7CisgIExVTkFkZHJfc3RydWN0IExVTl9pbmZvOworICBSZXF1ZXN0QmxvY2tfc3RydWN0IFJlcXVlc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExVTkFkZHJfc3RydWN0IExVTl9pbmZvOwotIFJlcXVlc3RCbG9ja19zdHJ1Y3QgUmVxdWVzdDsKLSBFcnJvckluZm9fc3RydWN0IGVycm9yX2luZm87Ci0gRFdPUkQgbWFsbG9jX3NpemU7CisgIEVycm9ySW5mb19zdHJ1Y3QgZXJyb3JfaW5mbzsKKyAgRFdPUkQgbWFsbG9jX3NpemU7CisgIERXT1JEIGJ1Zl9zaXplOworICBCWVRFIF9fdXNlciAqIGJ1ZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRFdPUkQgYnVmX3NpemU7Ci0gQllURSBfX3VzZXIgKmJ1ZjsKIH0gQklHX0lPQ1RMX0NvbW1hbmRfc3RydWN0OwotdHlwZWRlZiBzdHJ1Y3QgX0xvZ3ZvbEluZm9fc3RydWN0ewordHlwZWRlZiBzdHJ1Y3QgX0xvZ3ZvbEluZm9fc3RydWN0IHsKKyAgX191MzIgTHVuSUQ7CisgIGludCBudW1fb3BlbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIEx1bklEOwotIGludCBudW1fb3BlbnM7Ci0gaW50IG51bV9wYXJ0czsKKyAgaW50IG51bV9wYXJ0czsKIH0gTG9ndm9sSW5mb19zdHJ1Y3Q7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQ0lTU19HRVRQQ0lJTkZPIF9JT1IoQ0NJU1NfSU9DX01BR0lDLCAxLCBjY2lzc19wY2lfaW5mb19zdHJ1Y3QpCiAjZGVmaW5lIENDSVNTX0dFVElOVElORk8gX0lPUihDQ0lTU19JT0NfTUFHSUMsIDIsIGNjaXNzX2NvYWxpbnRfc3RydWN0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0NJU1NfU0VUSU5USU5GTyBfSU9XKENDSVNTX0lPQ19NQUdJQywgMywgY2Npc3NfY29hbGludF9zdHJ1Y3QpCiAjZGVmaW5lIENDSVNTX0dFVE5PREVOQU1FIF9JT1IoQ0NJU1NfSU9DX01BR0lDLCA0LCBOb2RlTmFtZV90eXBlKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0NJU1NfU0VUTk9ERU5BTUUgX0lPVyhDQ0lTU19JT0NfTUFHSUMsIDUsIE5vZGVOYW1lX3R5cGUpCiAjZGVmaW5lIENDSVNTX0dFVEhFQVJUQkVBVCBfSU9SKENDSVNTX0lPQ19NQUdJQywgNiwgSGVhcnRiZWF0X3R5cGUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQ0lTU19HRVRCVVNUWVBFUyBfSU9SKENDSVNTX0lPQ19NQUdJQywgNywgQnVzVHlwZXNfdHlwZSkKICNkZWZpbmUgQ0NJU1NfR0VURklSTVZFUiBfSU9SKENDSVNTX0lPQ19NQUdJQywgOCwgRmlybXdhcmVWZXJfdHlwZSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENDSVNTX0dFVERSSVZWRVIgX0lPUihDQ0lTU19JT0NfTUFHSUMsIDksIERyaXZlclZlcl90eXBlKQogI2RlZmluZSBDQ0lTU19SRVZBTElEVk9MUyBfSU8oQ0NJU1NfSU9DX01BR0lDLCAxMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENDSVNTX1BBU1NUSFJVIF9JT1dSKENDSVNTX0lPQ19NQUdJQywgMTEsIElPQ1RMX0NvbW1hbmRfc3RydWN0KQogI2RlZmluZSBDQ0lTU19ERVJFR0RJU0sgX0lPKENDSVNTX0lPQ19NQUdJQywgMTIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQ0lTU19SRUdORVdESVNLIF9JT1coQ0NJU1NfSU9DX01BR0lDLCAxMywgaW50KQogI2RlZmluZSBDQ0lTU19SRUdORVdEIF9JTyhDQ0lTU19JT0NfTUFHSUMsIDE0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0NJU1NfUkVTQ0FORElTSyBfSU8oQ0NJU1NfSU9DX01BR0lDLCAxNikKICNkZWZpbmUgQ0NJU1NfR0VUTFVOSU5GTyBfSU9SKENDSVNTX0lPQ19NQUdJQywgMTcsIExvZ3ZvbEluZm9fc3RydWN0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0NJU1NfQklHX1BBU1NUSFJVIF9JT1dSKENDSVNTX0lPQ19NQUdJQywgMTgsIEJJR19JT0NUTF9Db21tYW5kX3N0cnVjdCkKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2Ryb20uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2Ryb20uaAppbmRleCBkOWQwMDZkLi5kNGQwODJhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nkcm9tLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jZHJvbS5oCkBAIC03OSw3NTIgKzc5LDczNSBAQAogI2RlZmluZSBDRFJPTV9TRU5EX1BBQ0tFVCAweDUzOTMKICNkZWZpbmUgQ0RST01fTkVYVF9XUklUQUJMRSAweDUzOTQKICNkZWZpbmUgQ0RST01fTEFTVF9XUklUVEVOIDB4NTM5NQotc3RydWN0IGNkcm9tX21zZjAKK3N0cnVjdCBjZHJvbV9tc2YwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gX191OCBtaW51dGU7Ci0gX191OCBzZWNvbmQ7Ci0gX191OCBmcmFtZTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OwotdW5pb24gY2Ryb21fYWRkcgotewotIHN0cnVjdCBjZHJvbV9tc2YwIG1zZjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGxiYTsKLX07Ci1zdHJ1Y3QgY2Ryb21fbXNmCi17Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY2Rtc2ZfbWluMDsKLSBfX3U4IGNkbXNmX3NlYzA7Ci0gX191OCBjZG1zZl9mcmFtZTA7Ci0gX191OCBjZG1zZl9taW4xOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNkbXNmX3NlYzE7Ci0gX191OCBjZG1zZl9mcmFtZTE7Ci19Owotc3RydWN0IGNkcm9tX3RpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIF9fdTggY2R0aV90cmswOwotIF9fdTggY2R0aV9pbmQwOwotIF9fdTggY2R0aV90cmsxOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNkdGlfaW5kMTsKLX07Ci1zdHJ1Y3QgY2Ryb21fdG9jaGRyCi17Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY2R0aF90cmswOwotIF9fdTggY2R0aF90cmsxOwotfTsKLXN0cnVjdCBjZHJvbV92b2xjdHJsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIF9fdTggY2hhbm5lbDA7Ci0gX191OCBjaGFubmVsMTsKLSBfX3U4IGNoYW5uZWwyOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNoYW5uZWwzOwotfTsKLXN0cnVjdCBjZHJvbV9zdWJjaG5sCi17Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY2RzY19mb3JtYXQ7Ci0gX191OCBjZHNjX2F1ZGlvc3RhdHVzOwotIF9fdTggY2RzY19hZHI6IDQ7Ci0gX191OCBjZHNjX2N0cmw6IDQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY2RzY190cms7Ci0gX191OCBjZHNjX2luZDsKLSB1bmlvbiBjZHJvbV9hZGRyIGNkc2NfYWJzYWRkcjsKLSB1bmlvbiBjZHJvbV9hZGRyIGNkc2NfcmVsYWRkcjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19Owotc3RydWN0IGNkcm9tX3RvY2VudHJ5Ci17Ci0gX191OCBjZHRlX3RyYWNrOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNkdGVfYWRyIDo0OwotIF9fdTggY2R0ZV9jdHJsIDo0OwotIF9fdTggY2R0ZV9mb3JtYXQ7Ci0gdW5pb24gY2Ryb21fYWRkciBjZHRlX2FkZHI7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY2R0ZV9kYXRhbW9kZTsKLX07Ci1zdHJ1Y3QgY2Ryb21fcmVhZAotewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2RyZWFkX2xiYTsKLSBjaGFyICpjZHJlYWRfYnVmYWRkcjsKLSBpbnQgY2RyZWFkX2J1ZmxlbjsKKyAgX191OCBtaW51dGU7CisgIF9fdTggc2Vjb25kOworICBfX3U4IGZyYW1lOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgY2Ryb21fcmVhZF9hdWRpbwotewotIHVuaW9uIGNkcm9tX2FkZHIgYWRkcjsKLSBfX3U4IGFkZHJfZm9ybWF0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbmZyYW1lczsKLSBfX3U4IF9fdXNlciAqYnVmOwordW5pb24gY2Ryb21fYWRkciB7CisgIHN0cnVjdCBjZHJvbV9tc2YwIG1zZjsKKyAgaW50IGxiYTsKIH07Ci1zdHJ1Y3QgY2Ryb21fbXVsdGlzZXNzaW9uCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIHVuaW9uIGNkcm9tX2FkZHIgYWRkcjsKLSBfX3U4IHhhX2ZsYWc7Ci0gX191OCBhZGRyX2Zvcm1hdDsKK3N0cnVjdCBjZHJvbV9tc2YgeworICBfX3U4IGNkbXNmX21pbjA7CisgIF9fdTggY2Rtc2Zfc2VjMDsKKyAgX191OCBjZG1zZl9mcmFtZTA7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGNkbXNmX21pbjE7CisgIF9fdTggY2Rtc2Zfc2VjMTsKKyAgX191OCBjZG1zZl9mcmFtZTE7Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBjZHJvbV90aSB7CisgIF9fdTggY2R0aV90cmswOworICBfX3U4IGNkdGlfaW5kMDsKKyAgX191OCBjZHRpX3RyazE7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGNkdGlfaW5kMTsKK307CitzdHJ1Y3QgY2Ryb21fdG9jaGRyIHsKKyAgX191OCBjZHRoX3RyazA7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGNkdGhfdHJrMTsKK307CitzdHJ1Y3QgY2Ryb21fdm9sY3RybCB7CisgIF9fdTggY2hhbm5lbDA7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGNoYW5uZWwxOworICBfX3U4IGNoYW5uZWwyOworICBfX3U4IGNoYW5uZWwzOworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgY2Ryb21fc3ViY2hubCB7CisgIF9fdTggY2RzY19mb3JtYXQ7CisgIF9fdTggY2RzY19hdWRpb3N0YXR1czsKKyAgX191OCBjZHNjX2FkciA6IDQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGNkc2NfY3RybCA6IDQ7CisgIF9fdTggY2RzY190cms7CisgIF9fdTggY2RzY19pbmQ7CisgIHVuaW9uIGNkcm9tX2FkZHIgY2RzY19hYnNhZGRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5pb24gY2Ryb21fYWRkciBjZHNjX3JlbGFkZHI7Cit9Oworc3RydWN0IGNkcm9tX3RvY2VudHJ5IHsKKyAgX191OCBjZHRlX3RyYWNrOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBjZHRlX2FkciA6IDQ7CisgIF9fdTggY2R0ZV9jdHJsIDogNDsKKyAgX191OCBjZHRlX2Zvcm1hdDsKKyAgdW5pb24gY2Ryb21fYWRkciBjZHRlX2FkZHI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGNkdGVfZGF0YW1vZGU7Cit9Oworc3RydWN0IGNkcm9tX3JlYWQgeworICBpbnQgY2RyZWFkX2xiYTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGNoYXIgKiBjZHJlYWRfYnVmYWRkcjsKKyAgaW50IGNkcmVhZF9idWZsZW47Cit9Oworc3RydWN0IGNkcm9tX3JlYWRfYXVkaW8geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5pb24gY2Ryb21fYWRkciBhZGRyOworICBfX3U4IGFkZHJfZm9ybWF0OworICBpbnQgbmZyYW1lczsKKyAgX191OCBfX3VzZXIgKiBidWY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLXN0cnVjdCBjZHJvbV9tY24KLXsKLSBfX3U4IG1lZGl1bV9jYXRhbG9nX251bWJlclsxNF07CitzdHJ1Y3QgY2Ryb21fbXVsdGlzZXNzaW9uIHsKKyAgdW5pb24gY2Ryb21fYWRkciBhZGRyOworICBfX3U4IHhhX2ZsYWc7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGFkZHJfZm9ybWF0OworfTsKK3N0cnVjdCBjZHJvbV9tY24geworICBfX3U4IG1lZGl1bV9jYXRhbG9nX251bWJlclsxNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLXN0cnVjdCBjZHJvbV9ibGsKLXsKLSB1bnNpZ25lZCBmcm9tOworc3RydWN0IGNkcm9tX2JsayB7CisgIHVuc2lnbmVkIGZyb207CisgIHVuc2lnbmVkIHNob3J0IGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgbGVuOwogfTsKICNkZWZpbmUgQ0RST01fUEFDS0VUX1NJWkUgMTIKICNkZWZpbmUgQ0dDX0RBVEFfVU5LTk9XTiAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDR0NfREFUQV9XUklURSAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDR0NfREFUQV9SRUFEIDIKICNkZWZpbmUgQ0dDX0RBVEFfTk9ORSAzCi1zdHJ1Y3QgY2Ryb21fZ2VuZXJpY19jb21tYW5kCitzdHJ1Y3QgY2Ryb21fZ2VuZXJpY19jb21tYW5kIHsKKyAgdW5zaWduZWQgY2hhciBjbWRbQ0RST01fUEFDS0VUX1NJWkVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSB1bnNpZ25lZCBjaGFyIGNtZFtDRFJPTV9QQUNLRVRfU0laRV07Ci0gdW5zaWduZWQgY2hhciBfX3VzZXIgKmJ1ZmZlcjsKLSB1bnNpZ25lZCBpbnQgYnVmbGVuOworICB1bnNpZ25lZCBjaGFyIF9fdXNlciAqIGJ1ZmZlcjsKKyAgdW5zaWduZWQgaW50IGJ1ZmxlbjsKKyAgaW50IHN0YXQ7CisgIHN0cnVjdCByZXF1ZXN0X3NlbnNlIF9fdXNlciAqIHNlbnNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc3RhdDsKLSBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBfX3VzZXIgKnNlbnNlOwotIHVuc2lnbmVkIGNoYXIgZGF0YV9kaXJlY3Rpb247Ci0gaW50IHF1aWV0OworICB1bnNpZ25lZCBjaGFyIGRhdGFfZGlyZWN0aW9uOworICBpbnQgcXVpZXQ7CisgIGludCB0aW1lb3V0OworICB2b2lkIF9fdXNlciAqIHJlc2VydmVkWzFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdGltZW91dDsKLSB2b2lkIF9fdXNlciAqcmVzZXJ2ZWRbMV07CiB9OwogI2RlZmluZSBDRF9NSU5TIDc0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRF9TRUNTIDYwCiAjZGVmaW5lIENEX0ZSQU1FUyA3NQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RfU1lOQ19TSVpFIDEyCiAjZGVmaW5lIENEX01TRl9PRkZTRVQgMTUwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRF9DSFVOS19TSVpFIDI0CiAjZGVmaW5lIENEX05VTV9PRl9DSFVOS1MgOTgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEX0ZSQU1FU0laRV9TVUIgOTYKICNkZWZpbmUgQ0RfSEVBRF9TSVpFIDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEX1NVQkhFQURfU0laRSA4CiAjZGVmaW5lIENEX0VEQ19TSVpFIDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEX1pFUk9fU0laRSA4CiAjZGVmaW5lIENEX0VDQ19TSVpFIDI3NgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RfRlJBTUVTSVpFIDIwNDgKICNkZWZpbmUgQ0RfRlJBTUVTSVpFX1JBVyAyMzUyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRF9GUkFNRVNJWkVfUkFXRVIgMjY0NgotI2RlZmluZSBDRF9GUkFNRVNJWkVfUkFXMSAoQ0RfRlJBTUVTSVpFX1JBVy1DRF9TWU5DX1NJWkUpCisjZGVmaW5lIENEX0ZSQU1FU0laRV9SQVcxIChDRF9GUkFNRVNJWkVfUkFXIC0gQ0RfU1lOQ19TSVpFKQorI2RlZmluZSBDRF9GUkFNRVNJWkVfUkFXMCAoQ0RfRlJBTUVTSVpFX1JBVyAtIENEX1NZTkNfU0laRSAtIENEX0hFQURfU0laRSkKKyNkZWZpbmUgQ0RfWEFfSEVBRCAoQ0RfSEVBRF9TSVpFICsgQ0RfU1VCSEVBRF9TSVpFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ0RfRlJBTUVTSVpFX1JBVzAgKENEX0ZSQU1FU0laRV9SQVctQ0RfU1lOQ19TSVpFLUNEX0hFQURfU0laRSkKLSNkZWZpbmUgQ0RfWEFfSEVBRCAoQ0RfSEVBRF9TSVpFK0NEX1NVQkhFQURfU0laRSkKLSNkZWZpbmUgQ0RfWEFfVEFJTCAoQ0RfRURDX1NJWkUrQ0RfRUNDX1NJWkUpCi0jZGVmaW5lIENEX1hBX1NZTkNfSEVBRCAoQ0RfU1lOQ19TSVpFK0NEX1hBX0hFQUQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBDRF9YQV9UQUlMIChDRF9FRENfU0laRSArIENEX0VDQ19TSVpFKQorI2RlZmluZSBDRF9YQV9TWU5DX0hFQUQgKENEX1NZTkNfU0laRSArIENEX1hBX0hFQUQpCiAjZGVmaW5lIENEUk9NX0xCQSAweDAxCiAjZGVmaW5lIENEUk9NX01TRiAweDAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRFJPTV9EQVRBX1RSQUNLIDB4MDQKICNkZWZpbmUgQ0RST01fTEVBRE9VVCAweEFBCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRFJPTV9BVURJT19JTlZBTElEIDB4MDAKICNkZWZpbmUgQ0RST01fQVVESU9fUExBWSAweDExCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRFJPTV9BVURJT19QQVVTRUQgMHgxMgogI2RlZmluZSBDRFJPTV9BVURJT19DT01QTEVURUQgMHgxMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RST01fQVVESU9fRVJST1IgMHgxNAogI2RlZmluZSBDRFJPTV9BVURJT19OT19TVEFUVVMgMHgxNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RDX0NMT1NFX1RSQVkgMHgxCiAjZGVmaW5lIENEQ19PUEVOX1RSQVkgMHgyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRENfTE9DSyAweDQKICNkZWZpbmUgQ0RDX1NFTEVDVF9TUEVFRCAweDgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEQ19TRUxFQ1RfRElTQyAweDEwCiAjZGVmaW5lIENEQ19NVUxUSV9TRVNTSU9OIDB4MjAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEQ19NQ04gMHg0MAogI2RlZmluZSBDRENfTUVESUFfQ0hBTkdFRCAweDgwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRENfUExBWV9BVURJTyAweDEwMAogI2RlZmluZSBDRENfUkVTRVQgMHgyMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEQ19EUklWRV9TVEFUVVMgMHg4MDAKICNkZWZpbmUgQ0RDX0dFTkVSSUNfUEFDS0VUIDB4MTAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RDX0NEX1IgMHgyMDAwCiAjZGVmaW5lIENEQ19DRF9SVyAweDQwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEQ19EVkQgMHg4MDAwCiAjZGVmaW5lIENEQ19EVkRfUiAweDEwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRENfRFZEX1JBTSAweDIwMDAwCiAjZGVmaW5lIENEQ19NT19EUklWRSAweDQwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRENfTVJXIDB4ODAwMDAKICNkZWZpbmUgQ0RDX01SV19XIDB4MTAwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRENfUkFNIDB4MjAwMDAwCiAjZGVmaW5lIENEU19OT19JTkZPIDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEU19OT19ESVNDIDEKICNkZWZpbmUgQ0RTX1RSQVlfT1BFTiAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDRFNfRFJJVkVfTk9UX1JFQURZIDMKICNkZWZpbmUgQ0RTX0RJU0NfT0sgNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RTX0FVRElPIDEwMAogI2RlZmluZSBDRFNfREFUQV8xIDEwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RTX0RBVEFfMiAxMDIKICNkZWZpbmUgQ0RTX1hBXzJfMSAxMDMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEU19YQV8yXzIgMTA0CiAjZGVmaW5lIENEU19NSVhFRCAxMDUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENET19BVVRPX0NMT1NFIDB4MQogI2RlZmluZSBDRE9fQVVUT19FSkVDVCAweDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENET19VU0VfRkZMQUdTIDB4NAogI2RlZmluZSBDRE9fTE9DSyAweDgKLSNkZWZpbmUgQ0RPX0NIRUNLX1RZUEUgMHgxMAotI2RlZmluZSBDRFNMX05PTkUgKElOVF9NQVgtMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIENET19DSEVDS19UWVBFIDB4MTAKKyNkZWZpbmUgQ0RTTF9OT05FIChJTlRfTUFYIC0gMSkKICNkZWZpbmUgQ0RTTF9DVVJSRU5UIElOVF9NQVgKICNkZWZpbmUgQ0RfUEFSVF9NQVggNjQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENEX1BBUlRfTUFTSyAoQ0RfUEFSVF9NQVggLSAxKQogI2RlZmluZSBHUENNRF9CTEFOSyAweGExCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9DTE9TRV9UUkFDSyAweDViCiAjZGVmaW5lIEdQQ01EX0ZMVVNIX0NBQ0hFIDB4MzUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX0ZPUk1BVF9VTklUIDB4MDQKICNkZWZpbmUgR1BDTURfR0VUX0NPTkZJR1VSQVRJT04gMHg0NgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT04gMHg0YQogI2RlZmluZSBHUENNRF9HRVRfUEVSRk9STUFOQ0UgMHhhYworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfSU5RVUlSWSAweDEyCiAjZGVmaW5lIEdQQ01EX0xPQURfVU5MT0FEIDB4YTYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX01FQ0hBTklTTV9TVEFUVVMgMHhiZAogI2RlZmluZSBHUENNRF9NT0RFX1NFTEVDVF8xMCAweDU1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9NT0RFX1NFTlNFXzEwIDB4NWEKICNkZWZpbmUgR1BDTURfUEFVU0VfUkVTVU1FIDB4NGIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX1BMQVlfQVVESU9fMTAgMHg0NQogI2RlZmluZSBHUENNRF9QTEFZX0FVRElPX01TRiAweDQ3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9QTEFZX0FVRElPX1RJIDB4NDgKICNkZWZpbmUgR1BDTURfUExBWV9DRCAweGJjCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMIDB4MWUKICNkZWZpbmUgR1BDTURfUkVBRF8xMCAweDI4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9SRUFEXzEyIDB4YTgKICNkZWZpbmUgR1BDTURfUkVBRF9CVUZGRVIgMHgzYwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfUkVBRF9CVUZGRVJfQ0FQQUNJVFkgMHg1YwogI2RlZmluZSBHUENNRF9SRUFEX0NEVkRfQ0FQQUNJVFkgMHgyNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfUkVBRF9DRCAweGJlCiAjZGVmaW5lIEdQQ01EX1JFQURfQ0RfTVNGIDB4YjkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX1JFQURfRElTQ19JTkZPIDB4NTEKICNkZWZpbmUgR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFIDB4YWQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX1JFQURfRk9STUFUX0NBUEFDSVRJRVMgMHgyMwogI2RlZmluZSBHUENNRF9SRUFEX0hFQURFUiAweDQ0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9SRUFEX1RSQUNLX1JaT05FX0lORk8gMHg1MgogI2RlZmluZSBHUENNRF9SRUFEX1NVQkNIQU5ORUwgMHg0MgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfUkVBRF9UT0NfUE1BX0FUSVAgMHg0MwogI2RlZmluZSBHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0sgMHg1OAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfUkVQT1JUX0tFWSAweGE0CiAjZGVmaW5lIEdQQ01EX1JFUVVFU1RfU0VOU0UgMHgwMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfUkVTRVJWRV9SWk9ORV9UUkFDSyAweDUzCiAjZGVmaW5lIEdQQ01EX1NFTkRfQ1VFX1NIRUVUIDB4NWQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX1NDQU4gMHhiYQogI2RlZmluZSBHUENNRF9TRUVLIDB4MmIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX1NFTkRfRFZEX1NUUlVDVFVSRSAweGJmCiAjZGVmaW5lIEdQQ01EX1NFTkRfRVZFTlQgMHhhMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfU0VORF9LRVkgMHhhMwogI2RlZmluZSBHUENNRF9TRU5EX09QQyAweDU0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9TRVRfUkVBRF9BSEVBRCAweGE3CiAjZGVmaW5lIEdQQ01EX1NFVF9TVFJFQU1JTkcgMHhiNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfU1RBUlRfU1RPUF9VTklUIDB4MWIKICNkZWZpbmUgR1BDTURfU1RPUF9QTEFZX1NDQU4gMHg0ZQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfVEVTVF9VTklUX1JFQURZIDB4MDAKICNkZWZpbmUgR1BDTURfVkVSSUZZXzEwIDB4MmYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdQQ01EX1dSSVRFXzEwIDB4MmEKICNkZWZpbmUgR1BDTURfV1JJVEVfMTIgMHhhYQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfV1JJVEVfQU5EX1ZFUklGWV8xMCAweDJlCiAjZGVmaW5lIEdQQ01EX1dSSVRFX0JVRkZFUiAweDNiCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUENNRF9TRVRfU1BFRUQgMHhiYgogI2RlZmluZSBHUENNRF9QTEFZQVVESU9fVEkgMHg0OAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BDTURfR0VUX01FRElBX1NUQVRVUyAweGRhCiAjZGVmaW5lIEdQTU9ERV9WRU5ET1JfUEFHRSAweDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUE1PREVfUl9XX0VSUk9SX1BBR0UgMHgwMQogI2RlZmluZSBHUE1PREVfV1JJVEVfUEFSTVNfUEFHRSAweDA1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUE1PREVfV0NBQ0hJTkdfUEFHRSAweDA4CiAjZGVmaW5lIEdQTU9ERV9BVURJT19DVExfUEFHRSAweDBlCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUE1PREVfUE9XRVJfUEFHRSAweDFhCiAjZGVmaW5lIEdQTU9ERV9GQVVMVF9GQUlMX1BBR0UgMHgxYworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR1BNT0RFX1RPX1BST1RFQ1RfUEFHRSAweDFkCiAjZGVmaW5lIEdQTU9ERV9DQVBBQklMSVRJRVNfUEFHRSAweDJhCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHUE1PREVfQUxMX1BBR0VTIDB4M2YKICNkZWZpbmUgR1BNT0RFX0NEUk9NX1BBR0UgMHgwZAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFZEX1NUUlVDVF9QSFlTSUNBTCAweDAwCiAjZGVmaW5lIERWRF9TVFJVQ1RfQ09QWVJJR0hUIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWRF9TVFJVQ1RfRElTQ0tFWSAweDAyCiAjZGVmaW5lIERWRF9TVFJVQ1RfQkNBIDB4MDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWRF9TVFJVQ1RfTUFOVUZBQ1QgMHgwNAogc3RydWN0IGR2ZF9sYXllciB7CisgIF9fdTggYm9va192ZXJzaW9uIDogNDsKKyAgX191OCBib29rX3R5cGUgOiA0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJvb2tfdmVyc2lvbiA6IDQ7Ci0gX191OCBib29rX3R5cGUgOiA0OwotIF9fdTggbWluX3JhdGUgOiA0OwotIF9fdTggZGlzY19zaXplIDogNDsKKyAgX191OCBtaW5fcmF0ZSA6IDQ7CisgIF9fdTggZGlzY19zaXplIDogNDsKKyAgX191OCBsYXllcl90eXBlIDogNDsKKyAgX191OCB0cmFja19wYXRoIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBsYXllcl90eXBlIDogNDsKLSBfX3U4IHRyYWNrX3BhdGggOiAxOwotIF9fdTggbmxheWVycyA6IDI7Ci0gX191OCB0cmFja19kZW5zaXR5IDogNDsKKyAgX191OCBubGF5ZXJzIDogMjsKKyAgX191OCB0cmFja19kZW5zaXR5IDogNDsKKyAgX191OCBsaW5lYXJfZGVuc2l0eSA6IDQ7CisgIF9fdTggYmNhIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBsaW5lYXJfZGVuc2l0eSA6IDQ7Ci0gX191OCBiY2EgOiAxOwotIF9fdTMyIHN0YXJ0X3NlY3RvcjsKLSBfX3UzMiBlbmRfc2VjdG9yOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlbmRfc2VjdG9yX2wwOworICBfX3UzMiBzdGFydF9zZWN0b3I7CisgIF9fdTMyIGVuZF9zZWN0b3I7CisgIF9fdTMyIGVuZF9zZWN0b3JfbDA7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFZEX0xBWUVSUyA0CiBzdHJ1Y3QgZHZkX3BoeXNpY2FsIHsKKyAgX191OCB0eXBlOworICBfX3U4IGxheWVyX251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlOwotIF9fdTggbGF5ZXJfbnVtOwotIHN0cnVjdCBkdmRfbGF5ZXIgbGF5ZXJbRFZEX0xBWUVSU107CisgIHN0cnVjdCBkdmRfbGF5ZXIgbGF5ZXJbRFZEX0xBWUVSU107CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkdmRfY29weXJpZ2h0IHsKLSBfX3U4IHR5cGU7Ci0gX191OCBsYXllcl9udW07Ci0gX191OCBjcHN0OworICBfX3U4IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcm1pOworICBfX3U4IGxheWVyX251bTsKKyAgX191OCBjcHN0OworICBfX3U4IHJtaTsKIH07Ci1zdHJ1Y3QgZHZkX2Rpc2NrZXkgewotIF9fdTggdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgYWdpZCA6IDI7Ci0gX191OCB2YWx1ZVsyMDQ4XTsKK3N0cnVjdCBkdmRfZGlzY2tleSB7CisgIF9fdTggdHlwZTsKKyAgdW5zaWduZWQgYWdpZCA6IDI7CisgIF9fdTggdmFsdWVbMjA0OF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkdmRfYmNhIHsKKyAgX191OCB0eXBlOworICBpbnQgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHR5cGU7Ci0gaW50IGxlbjsKLSBfX3U4IHZhbHVlWzE4OF07CisgIF9fdTggdmFsdWVbMTg4XTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGR2ZF9tYW51ZmFjdCB7Ci0gX191OCB0eXBlOwotIF9fdTggbGF5ZXJfbnVtOwotIGludCBsZW47CisgIF9fdTggdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB2YWx1ZVsyMDQ4XTsKKyAgX191OCBsYXllcl9udW07CisgIGludCBsZW47CisgIF9fdTggdmFsdWVbMjA0OF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgdW5pb24gewotIF9fdTggdHlwZTsKKyAgX191OCB0eXBlOworICBzdHJ1Y3QgZHZkX3BoeXNpY2FsIHBoeXNpY2FsOworICBzdHJ1Y3QgZHZkX2NvcHlyaWdodCBjb3B5cmlnaHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBkdmRfcGh5c2ljYWwgcGh5c2ljYWw7Ci0gc3RydWN0IGR2ZF9jb3B5cmlnaHQgY29weXJpZ2h0OwotIHN0cnVjdCBkdmRfZGlzY2tleSBkaXNja2V5OwotIHN0cnVjdCBkdmRfYmNhIGJjYTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGR2ZF9tYW51ZmFjdCBtYW51ZmFjdDsKKyAgc3RydWN0IGR2ZF9kaXNja2V5IGRpc2NrZXk7CisgIHN0cnVjdCBkdmRfYmNhIGJjYTsKKyAgc3RydWN0IGR2ZF9tYW51ZmFjdCBtYW51ZmFjdDsKIH0gZHZkX3N0cnVjdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWRF9MVV9TRU5EX0FHSUQgMAogI2RlZmluZSBEVkRfSE9TVF9TRU5EX0NIQUxMRU5HRSAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEVkRfTFVfU0VORF9LRVkxIDIKICNkZWZpbmUgRFZEX0xVX1NFTkRfQ0hBTExFTkdFIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWRF9IT1NUX1NFTkRfS0VZMiA0CiAjZGVmaW5lIERWRF9BVVRIX0VTVEFCTElTSEVEIDUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWRF9BVVRIX0ZBSUxVUkUgNgogI2RlZmluZSBEVkRfTFVfU0VORF9USVRMRV9LRVkgNworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFZEX0xVX1NFTkRfQVNGIDgKICNkZWZpbmUgRFZEX0lOVkFMSURBVEVfQUdJRCA5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEVkRfTFVfU0VORF9SUENfU1RBVEUgMTAKICNkZWZpbmUgRFZEX0hPU1RfU0VORF9SUENfU1RBVEUgMTEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIF9fdTggZHZkX2tleVs1XTsKIHR5cGVkZWYgX191OCBkdmRfY2hhbGxlbmdlWzEwXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHZkX2x1X3NlbmRfYWdpZCB7Ci0gX191OCB0eXBlOwotIHVuc2lnbmVkIGFnaWQgOiAyOworICBfX3U4IHR5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBhZ2lkIDogMjsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGR2ZF9ob3N0X3NlbmRfY2hhbGxlbmdlIHsKLSBfX3U4IHR5cGU7Ci0gdW5zaWduZWQgYWdpZCA6IDI7Ci0gZHZkX2NoYWxsZW5nZSBjaGFsOworICBfX3U4IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBhZ2lkIDogMjsKKyAgZHZkX2NoYWxsZW5nZSBjaGFsOwogfTsKIHN0cnVjdCBkdmRfc2VuZF9rZXkgewotIF9fdTggdHlwZTsKLSB1bnNpZ25lZCBhZ2lkIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZHZkX2tleSBrZXk7CisgIF9fdTggdHlwZTsKKyAgdW5zaWduZWQgYWdpZCA6IDI7CisgIGR2ZF9rZXkga2V5OwogfTsKLXN0cnVjdCBkdmRfbHVfc2VuZF9jaGFsbGVuZ2UgewotIF9fdTggdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgYWdpZCA6IDI7Ci0gZHZkX2NoYWxsZW5nZSBjaGFsOworc3RydWN0IGR2ZF9sdV9zZW5kX2NoYWxsZW5nZSB7CisgIF9fdTggdHlwZTsKKyAgdW5zaWduZWQgYWdpZCA6IDI7CisgIGR2ZF9jaGFsbGVuZ2UgY2hhbDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBEVkRfQ1BNX05PX0NPUFlSSUdIVCAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEVkRfQ1BNX0NPUFlSSUdIVEVEIDEKICNkZWZpbmUgRFZEX0NQX1NFQ19OT05FIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWRF9DUF9TRUNfRVhJU1QgMQogI2RlZmluZSBEVkRfQ0dNU19VTlJFU1RSSUNURUQgMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFZEX0NHTVNfU0lOR0xFIDIKICNkZWZpbmUgRFZEX0NHTVNfUkVTVFJJQ1RFRCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGR2ZF9sdV9zZW5kX3RpdGxlX2tleSB7Ci0gX191OCB0eXBlOworICBfX3U4IHR5cGU7CisgIHVuc2lnbmVkIGFnaWQgOiAyOworICBkdmRfa2V5IHRpdGxlX2tleTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgYWdpZCA6IDI7Ci0gZHZkX2tleSB0aXRsZV9rZXk7Ci0gaW50IGxiYTsKLSB1bnNpZ25lZCBjcG0gOiAxOworICBpbnQgbGJhOworICB1bnNpZ25lZCBjcG0gOiAxOworICB1bnNpZ25lZCBjcF9zZWMgOiAxOworICB1bnNpZ25lZCBjZ21zIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY3Bfc2VjIDogMTsKLSB1bnNpZ25lZCBjZ21zIDogMjsKIH07CiBzdHJ1Y3QgZHZkX2x1X3NlbmRfYXNmIHsKKyAgX191OCB0eXBlOworICB1bnNpZ25lZCBhZ2lkIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlOwotIHVuc2lnbmVkIGFnaWQgOiAyOwotIHVuc2lnbmVkIGFzZiA6IDE7CisgIHVuc2lnbmVkIGFzZiA6IDE7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkdmRfaG9zdF9zZW5kX3JwY3N0YXRlIHsKLSBfX3U4IHR5cGU7Ci0gX191OCBwZHJjOworICBfX3U4IHR5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHBkcmM7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkdmRfbHVfc2VuZF9ycGNzdGF0ZSB7Ci0gX191OCB0eXBlIDogMjsKLSBfX3U4IHZyYSA6IDM7Ci0gX191OCB1Y2NhIDogMzsKKyAgX191OCB0eXBlIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZWdpb25fbWFzazsKLSBfX3U4IHJwY19zY2hlbWU7CisgIF9fdTggdnJhIDogMzsKKyAgX191OCB1Y2NhIDogMzsKKyAgX191OCByZWdpb25fbWFzazsKKyAgX191OCBycGNfc2NoZW1lOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiB0eXBlZGVmIHVuaW9uIHsKKyAgX191OCB0eXBlOworICBzdHJ1Y3QgZHZkX2x1X3NlbmRfYWdpZCBsc2E7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHlwZTsKLSBzdHJ1Y3QgZHZkX2x1X3NlbmRfYWdpZCBsc2E7Ci0gc3RydWN0IGR2ZF9ob3N0X3NlbmRfY2hhbGxlbmdlIGhzYzsKLSBzdHJ1Y3QgZHZkX3NlbmRfa2V5IGxzazsKKyAgc3RydWN0IGR2ZF9ob3N0X3NlbmRfY2hhbGxlbmdlIGhzYzsKKyAgc3RydWN0IGR2ZF9zZW5kX2tleSBsc2s7CisgIHN0cnVjdCBkdmRfbHVfc2VuZF9jaGFsbGVuZ2UgbHNjOworICBzdHJ1Y3QgZHZkX3NlbmRfa2V5IGhzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGR2ZF9sdV9zZW5kX2NoYWxsZW5nZSBsc2M7Ci0gc3RydWN0IGR2ZF9zZW5kX2tleSBoc2s7Ci0gc3RydWN0IGR2ZF9sdV9zZW5kX3RpdGxlX2tleSBsc3RrOwotIHN0cnVjdCBkdmRfbHVfc2VuZF9hc2YgbHNhc2Y7CisgIHN0cnVjdCBkdmRfbHVfc2VuZF90aXRsZV9rZXkgbHN0azsKKyAgc3RydWN0IGR2ZF9sdV9zZW5kX2FzZiBsc2FzZjsKKyAgc3RydWN0IGR2ZF9ob3N0X3NlbmRfcnBjc3RhdGUgaHJwY3M7CisgIHN0cnVjdCBkdmRfbHVfc2VuZF9ycGNzdGF0ZSBscnBjczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGR2ZF9ob3N0X3NlbmRfcnBjc3RhdGUgaHJwY3M7Ci0gc3RydWN0IGR2ZF9sdV9zZW5kX3JwY3N0YXRlIGxycGNzOwogfSBkdmRfYXV0aGluZm87CiBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAotIF9fdTggdmFsaWQgOiAxOwotIF9fdTggZXJyb3JfY29kZSA6IDc7CisgIF9fdTggdmFsaWQgOiAxOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBlcnJvcl9jb2RlIDogNzsKKyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQorICBfX3U4IGVycm9yX2NvZGUgOiA3OworICBfX3U4IHZhbGlkIDogMTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZW5kaWYKKyAgX191OCBzZWdtZW50X251bWJlcjsKKyNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKKyAgX191OCByZXNlcnZlZDEgOiAyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBpbGkgOiAxOworICBfX3U4IHJlc2VydmVkMiA6IDE7CisgIF9fdTggc2Vuc2Vfa2V5IDogNDsKICNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGVycm9yX2NvZGUgOiA3OwotIF9fdTggdmFsaWQgOiAxOworICBfX3U4IHNlbnNlX2tleSA6IDQ7CisgIF9fdTggcmVzZXJ2ZWQyIDogMTsKKyAgX191OCBpbGkgOiAxOworICBfX3U4IHJlc2VydmVkMSA6IDI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCi0gX191OCBzZWdtZW50X251bWJlcjsKKyAgX191OCBpbmZvcm1hdGlvbls0XTsKKyAgX191OCBhZGRfc2Vuc2VfbGVuOworICBfX3U4IGNvbW1hbmRfaW5mb1s0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jaWZkZWYgX19CSUdfRU5ESUFOX0JJVEZJRUxECi0gX191OCByZXNlcnZlZDEgOiAyOwotIF9fdTggaWxpIDogMTsKLSBfX3U4IHJlc2VydmVkMiA6IDE7CisgIF9fdTggYXNjOworICBfX3U4IGFzY3E7CisgIF9fdTggZnJ1YzsKKyAgX191OCBza3NbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2Vuc2Vfa2V5IDogNDsKLSNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQotIF9fdTggc2Vuc2Vfa2V5IDogNDsKLSBfX3U4IHJlc2VydmVkMiA6IDE7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaWxpIDogMTsKLSBfX3U4IHJlc2VydmVkMSA6IDI7Ci0jZW5kaWYKLSBfX3U4IGluZm9ybWF0aW9uWzRdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGFkZF9zZW5zZV9sZW47Ci0gX191OCBjb21tYW5kX2luZm9bNF07Ci0gX191OCBhc2M7Ci0gX191OCBhc2NxOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZydWM7Ci0gX191OCBza3NbM107Ci0gX191OCBhc2JbNDZdOworICBfX3U4IGFzYls0Nl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RGX1JXUlQgMHgwMDIwCiAjZGVmaW5lIENERl9IV0RNIDB4MDAyNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RGX01SVyAweDAwMjgKICNkZWZpbmUgQ0RNX01SV19OT1RNUlcgMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0RNX01SV19CR0ZPUk1BVF9JTkFDVElWRSAxCiAjZGVmaW5lIENETV9NUldfQkdGT1JNQVRfQUNUSVZFIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENETV9NUldfQkdGT1JNQVRfQ09NUExFVEUgMwogI2RlZmluZSBNUldfTEJBX0RNQSAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNUldfTEJBX0dBQSAxCiAjZGVmaW5lIE1SV19NT0RFX1BDX1BSRTEgMHgyYworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVJXX01PREVfUEMgMHgwMwogc3RydWN0IG1yd19mZWF0dXJlX2Rlc2MgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgZmVhdHVyZV9jb2RlOworICBfX2JlMTYgZmVhdHVyZV9jb2RlOwogI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAotIF9fdTggcmVzZXJ2ZWQxIDogMjsKLSBfX3U4IGZlYXR1cmVfdmVyc2lvbiA6IDQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGVyc2lzdGVudCA6IDE7Ci0gX191OCBjdXJyIDogMTsKLSNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQotIF9fdTggY3VyciA6IDE7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGVyc2lzdGVudCA6IDE7Ci0gX191OCBmZWF0dXJlX3ZlcnNpb24gOiA0OwotIF9fdTggcmVzZXJ2ZWQxIDogMjsKLSNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGFkZF9sZW47Ci0jaWZkZWYgX19CSUdfRU5ESUFOX0JJVEZJRUxECi0gX191OCByZXNlcnZlZDIgOiA3OwotIF9fdTggd3JpdGUgOiAxOworICBfX3U4IHJlc2VydmVkMSA6IDI7CisgIF9fdTggZmVhdHVyZV92ZXJzaW9uIDogNDsKKyAgX191OCBwZXJzaXN0ZW50IDogMTsKKyAgX191OCBjdXJyIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkKLSBfX3U4IHdyaXRlIDogMTsKLSBfX3U4IHJlc2VydmVkMiA6IDc7Ci0jZW5kaWYKKyAgX191OCBjdXJyIDogMTsKKyAgX191OCBwZXJzaXN0ZW50IDogMTsKKyAgX191OCBmZWF0dXJlX3ZlcnNpb24gOiA0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc2VydmVkMzsKLSBfX3U4IHJlc2VydmVkNDsKLSBfX3U4IHJlc2VydmVkNTsKKyAgX191OCByZXNlcnZlZDEgOiAyOworI2VuZGlmCisgIF9fdTggYWRkX2xlbjsKKyNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcmVzZXJ2ZWQyIDogNzsKKyAgX191OCB3cml0ZSA6IDE7CisjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkKKyAgX191OCB3cml0ZSA6IDE7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHJlc2VydmVkMiA6IDc7CisjZW5kaWYKKyAgX191OCByZXNlcnZlZDM7CisgIF9fdTggcmVzZXJ2ZWQ0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCByZXNlcnZlZDU7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCByd3J0X2ZlYXR1cmVfZGVzYyB7Ci0gX19iZTE2IGZlYXR1cmVfY29kZTsKKyAgX19iZTE2IGZlYXR1cmVfY29kZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZkZWYgX19CSUdfRU5ESUFOX0JJVEZJRUxECi0gX191OCByZXNlcnZlZDEgOiAyOworICBfX3U4IHJlc2VydmVkMSA6IDI7CisgIF9fdTggZmVhdHVyZV92ZXJzaW9uIDogNDsKKyAgX191OCBwZXJzaXN0ZW50IDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmZWF0dXJlX3ZlcnNpb24gOiA0OwotIF9fdTggcGVyc2lzdGVudCA6IDE7Ci0gX191OCBjdXJyIDogMTsKKyAgX191OCBjdXJyIDogMTsKICNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQorICBfX3U4IGN1cnIgOiAxOworICBfX3U4IHBlcnNpc3RlbnQgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGN1cnIgOiAxOwotIF9fdTggcGVyc2lzdGVudCA6IDE7Ci0gX191OCBmZWF0dXJlX3ZlcnNpb24gOiA0OwotIF9fdTggcmVzZXJ2ZWQxIDogMjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggZmVhdHVyZV92ZXJzaW9uIDogNDsKKyAgX191OCByZXNlcnZlZDEgOiAyOwogI2VuZGlmCi0gX191OCBhZGRfbGVuOwotIF9fdTMyIGxhc3RfbGJhOwotIF9fdTMyIGJsb2NrX3NpemU7CisgIF9fdTggYWRkX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgYmxvY2tpbmc7CisgIF9fdTMyIGxhc3RfbGJhOworICBfX3UzMiBibG9ja19zaXplOworICBfX3UxNiBibG9ja2luZzsKICNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKLSBfX3U4IHJlc2VydmVkMiA6IDc7Ci0gX191OCBwYWdlX3ByZXNlbnQgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCByZXNlcnZlZDIgOiA3OworICBfX3U4IHBhZ2VfcHJlc2VudCA6IDE7CiAjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkKLSBfX3U4IHBhZ2VfcHJlc2VudCA6IDE7Ci0gX191OCByZXNlcnZlZDIgOiA3OwotI2VuZGlmCisgIF9fdTggcGFnZV9wcmVzZW50IDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDM7CisgIF9fdTggcmVzZXJ2ZWQyIDogNzsKKyNlbmRpZgorICBfX3U4IHJlc2VydmVkMzsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIF9fYmUxNiBkaXNjX2luZm9ybWF0aW9uX2xlbmd0aDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fYmUxNiBkaXNjX2luZm9ybWF0aW9uX2xlbmd0aDsKICNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKLSBfX3U4IHJlc2VydmVkMSA6IDM7Ci0gX191OCBlcmFzYWJsZSA6IDE7Ci0gX191OCBib3JkZXJfc3RhdHVzIDogMjsKKyAgX191OCByZXNlcnZlZDEgOiAzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRpc2Nfc3RhdHVzIDogMjsKKyAgX191OCBlcmFzYWJsZSA6IDE7CisgIF9fdTggYm9yZGVyX3N0YXR1cyA6IDI7CisgIF9fdTggZGlzY19zdGF0dXMgOiAyOwogI2VsaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpCi0gX191OCBkaXNjX3N0YXR1cyA6IDI7Ci0gX191OCBib3JkZXJfc3RhdHVzIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBlcmFzYWJsZSA6IDE7Ci0gX191OCByZXNlcnZlZDEgOiAzOworICBfX3U4IGRpc2Nfc3RhdHVzIDogMjsKKyAgX191OCBib3JkZXJfc3RhdHVzIDogMjsKKyAgX191OCBlcmFzYWJsZSA6IDE7CisgIF9fdTggcmVzZXJ2ZWQxIDogMzsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxzZQogI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+IgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgotIF9fdTggbl9maXJzdF90cmFjazsKLSBfX3U4IG5fc2Vzc2lvbnNfbHNiOwotIF9fdTggZmlyc3RfdHJhY2tfbHNiOworICBfX3U4IG5fZmlyc3RfdHJhY2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbGFzdF90cmFja19sc2I7CisgIF9fdTggbl9zZXNzaW9uc19sc2I7CisgIF9fdTggZmlyc3RfdHJhY2tfbHNiOworICBfX3U4IGxhc3RfdHJhY2tfbHNiOwogI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAotIF9fdTggZGlkX3YgOiAxOwotIF9fdTggZGJjX3YgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHVydSA6IDE7Ci0gX191OCByZXNlcnZlZDIgOiAyOwotIF9fdTggZGJpdCA6IDE7Ci0gX191OCBtcndfc3RhdHVzIDogMjsKKyAgX191OCBkaWRfdiA6IDE7CisgIF9fdTggZGJjX3YgOiAxOworICBfX3U4IHVydSA6IDE7CisgIF9fdTggcmVzZXJ2ZWQyIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggZGJpdCA6IDE7CisgIF9fdTggbXJ3X3N0YXR1cyA6IDI7CiAjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkKLSBfX3U4IG1yd19zdGF0dXMgOiAyOwotIF9fdTggZGJpdCA6IDE7Ci0gX191OCByZXNlcnZlZDIgOiAyOworICBfX3U4IG1yd19zdGF0dXMgOiAyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHVydSA6IDE7Ci0gX191OCBkYmNfdiA6IDE7Ci0gX191OCBkaWRfdiA6IDE7CisgIF9fdTggZGJpdCA6IDE7CisgIF9fdTggcmVzZXJ2ZWQyIDogMjsKKyAgX191OCB1cnUgOiAxOworICBfX3U4IGRiY192IDogMTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggZGlkX3YgOiAxOwogI2VuZGlmCisgIF9fdTggZGlzY190eXBlOworICBfX3U4IG5fc2Vzc2lvbnNfbXNiOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRpc2NfdHlwZTsKLSBfX3U4IG5fc2Vzc2lvbnNfbXNiOwotIF9fdTggZmlyc3RfdHJhY2tfbXNiOwotIF9fdTggbGFzdF90cmFja19tc2I7CisgIF9fdTggZmlyc3RfdHJhY2tfbXNiOworICBfX3U4IGxhc3RfdHJhY2tfbXNiOworICBfX3UzMiBkaXNjX2lkOworICBfX3UzMiBsZWFkX2luOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkaXNjX2lkOwotIF9fdTMyIGxlYWRfaW47Ci0gX191MzIgbGVhZF9vdXQ7Ci0gX191OCBkaXNjX2Jhcl9jb2RlWzhdOworICBfX3UzMiBsZWFkX291dDsKKyAgX191OCBkaXNjX2Jhcl9jb2RlWzhdOworICBfX3U4IHJlc2VydmVkMzsKKyAgX191OCBuX29wYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDM7Ci0gX191OCBuX29wYzsKIH0gZGlzY19pbmZvcm1hdGlvbjsKIHR5cGVkZWYgc3RydWN0IHsKKyAgX19iZTE2IHRyYWNrX2luZm9ybWF0aW9uX2xlbmd0aDsKKyAgX191OCB0cmFja19sc2I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiB0cmFja19pbmZvcm1hdGlvbl9sZW5ndGg7Ci0gX191OCB0cmFja19sc2I7Ci0gX191OCBzZXNzaW9uX2xzYjsKLSBfX3U4IHJlc2VydmVkMTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggc2Vzc2lvbl9sc2I7CisgIF9fdTggcmVzZXJ2ZWQxOwogI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAotIF9fdTggcmVzZXJ2ZWQyIDogMjsKLSBfX3U4IGRhbWFnZSA6IDE7Ci0gX191OCBjb3B5IDogMTsKKyAgX191OCByZXNlcnZlZDIgOiAyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHRyYWNrX21vZGUgOiA0OwotIF9fdTggcnQgOiAxOwotIF9fdTggYmxhbmsgOiAxOwotIF9fdTggcGFja2V0IDogMTsKKyAgX191OCBkYW1hZ2UgOiAxOworICBfX3U4IGNvcHkgOiAxOworICBfX3U4IHRyYWNrX21vZGUgOiA0OworICBfX3U4IHJ0IDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmcCA6IDE7Ci0gX191OCBkYXRhX21vZGUgOiA0OwotIF9fdTggcmVzZXJ2ZWQzIDogNjsKLSBfX3U4IGxyYV92IDogMTsKKyAgX191OCBibGFuayA6IDE7CisgIF9fdTggcGFja2V0IDogMTsKKyAgX191OCBmcCA6IDE7CisgIF9fdTggZGF0YV9tb2RlIDogNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBud2FfdiA6IDE7CisgIF9fdTggcmVzZXJ2ZWQzIDogNjsKKyAgX191OCBscmFfdiA6IDE7CisgIF9fdTggbndhX3YgOiAxOwogI2VsaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpCi0gX191OCB0cmFja19tb2RlIDogNDsKLSBfX3U4IGNvcHkgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRhbWFnZSA6IDE7Ci0gX191OCByZXNlcnZlZDIgOiAyOwotIF9fdTggZGF0YV9tb2RlIDogNDsKLSBfX3U4IGZwIDogMTsKKyAgX191OCB0cmFja19tb2RlIDogNDsKKyAgX191OCBjb3B5IDogMTsKKyAgX191OCBkYW1hZ2UgOiAxOworICBfX3U4IHJlc2VydmVkMiA6IDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGFja2V0IDogMTsKLSBfX3U4IGJsYW5rIDogMTsKLSBfX3U4IHJ0IDogMTsKLSBfX3U4IG53YV92IDogMTsKKyAgX191OCBkYXRhX21vZGUgOiA0OworICBfX3U4IGZwIDogMTsKKyAgX191OCBwYWNrZXQgOiAxOworICBfX3U4IGJsYW5rIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBscmFfdiA6IDE7Ci0gX191OCByZXNlcnZlZDMgOiA2OworICBfX3U4IHJ0IDogMTsKKyAgX191OCBud2FfdiA6IDE7CisgIF9fdTggbHJhX3YgOiAxOworICBfX3U4IHJlc2VydmVkMyA6IDY7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCi0gX19iZTMyIHRyYWNrX3N0YXJ0OworICBfX2JlMzIgdHJhY2tfc3RhcnQ7CisgIF9fYmUzMiBuZXh0X3dyaXRhYmxlOworICBfX2JlMzIgZnJlZV9ibG9ja3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBuZXh0X3dyaXRhYmxlOwotIF9fYmUzMiBmcmVlX2Jsb2NrczsKLSBfX2JlMzIgZml4ZWRfcGFja2V0X3NpemU7Ci0gX19iZTMyIHRyYWNrX3NpemU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBsYXN0X3JlY19hZGRyZXNzOworICBfX2JlMzIgZml4ZWRfcGFja2V0X3NpemU7CisgIF9fYmUzMiB0cmFja19zaXplOworICBfX2JlMzIgbGFzdF9yZWNfYWRkcmVzczsKIH0gdHJhY2tfaW5mb3JtYXRpb247CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZlYXR1cmVfaGVhZGVyIHsKLSBfX3UzMiBkYXRhX2xlbjsKKyAgX191MzIgZGF0YV9sZW47CisgIF9fdTggcmVzZXJ2ZWQxOworICBfX3U4IHJlc2VydmVkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDE7Ci0gX191OCByZXNlcnZlZDI7Ci0gX191MTYgY3Vycl9wcm9maWxlOworICBfX3UxNiBjdXJyX3Byb2ZpbGU7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyIHsKLSBfX2JlMTYgbW9kZV9kYXRhX2xlbmd0aDsKLSBfX3U4IG1lZGl1bV90eXBlOwotIF9fdTggcmVzZXJ2ZWQxOworICBfX2JlMTYgbW9kZV9kYXRhX2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDI7Ci0gX191OCByZXNlcnZlZDM7Ci0gX19iZTE2IGRlc2NfbGVuZ3RoOworICBfX3U4IG1lZGl1bV90eXBlOworICBfX3U4IHJlc2VydmVkMTsKKyAgX191OCByZXNlcnZlZDI7CisgIF9fdTggcmVzZXJ2ZWQzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19iZTE2IGRlc2NfbGVuZ3RoOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgcm1fZmVhdHVyZV9kZXNjIHsKLSBfX2JlMTYgZmVhdHVyZV9jb2RlOwotI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAotIF9fdTggcmVzZXJ2ZWQxOjI7CisgIF9fYmUxNiBmZWF0dXJlX2NvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmVhdHVyZV92ZXJzaW9uOjQ7Ci0gX191OCBwZXJzaXN0ZW50OjE7Ci0gX191OCBjdXJyOjE7CisjaWZkZWYgX19CSUdfRU5ESUFOX0JJVEZJRUxECisgIF9fdTggcmVzZXJ2ZWQxIDogMjsKKyAgX191OCBmZWF0dXJlX3ZlcnNpb24gOiA0OworICBfX3U4IHBlcnNpc3RlbnQgOiAxOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBjdXJyIDogMTsKKyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQorICBfX3U4IGN1cnIgOiAxOworICBfX3U4IHBlcnNpc3RlbnQgOiAxOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBmZWF0dXJlX3ZlcnNpb24gOiA0OworICBfX3U4IHJlc2VydmVkMSA6IDI7CisjZW5kaWYKKyAgX191OCBhZGRfbGVuOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKKyAgX191OCBtZWNoX3R5cGUgOiAzOworICBfX3U4IGxvYWQgOiAxOworICBfX3U4IGVqZWN0IDogMTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcHZudF9qbXByIDogMTsKKyAgX191OCBkYm1sIDogMTsKKyAgX191OCBsb2NrIDogMTsKICNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGN1cnI6MTsKLSBfX3U4IHBlcnNpc3RlbnQ6MTsKLSBfX3U4IGZlYXR1cmVfdmVyc2lvbjo0OwotIF9fdTggcmVzZXJ2ZWQxOjI7CisgIF9fdTggbG9jayA6IDE7CisgIF9fdTggZGJtbCA6IDE7CisgIF9fdTggcHZudF9qbXByIDogMTsKKyAgX191OCBlamVjdCA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGxvYWQgOiAxOworICBfX3U4IG1lY2hfdHlwZSA6IDM7CiAjZW5kaWYKLSBfX3U4IGFkZF9sZW47Ci0jaWZkZWYgX19CSUdfRU5ESUFOX0JJVEZJRUxECi0gX191OCBtZWNoX3R5cGU6MzsKKyAgX191OCByZXNlcnZlZDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbG9hZDoxOwotIF9fdTggZWplY3Q6MTsKLSBfX3U4IHB2bnRfam1wcjoxOwotIF9fdTggZGJtbDoxOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGxvY2s6MTsKLSNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQotIF9fdTggbG9jazoxOwotIF9fdTggZGJtbDoxOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHB2bnRfam1wcjoxOwotIF9fdTggZWplY3Q6MTsKLSBfX3U4IGxvYWQ6MTsKLSBfX3U4IG1lY2hfdHlwZTozOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNlbmRpZgotIF9fdTggcmVzZXJ2ZWQyOwotIF9fdTggcmVzZXJ2ZWQzOwotIF9fdTggcmVzZXJ2ZWQ0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCByZXNlcnZlZDM7CisgIF9fdTggcmVzZXJ2ZWQ0OwogfTsKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2dyb3Vwc3RhdHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2dyb3Vwc3RhdHMuaAppbmRleCAwNGRmYmNiLi4wMzc5NGU0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nncm91cHN0YXRzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jZ3JvdXBzdGF0cy5oCkBAIC0yMiwzNCArMjIsMzQgQEAKICNpbmNsdWRlIDxsaW51eC90YXNrc3RhdHMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY2dyb3Vwc3RhdHMgewotIF9fdTY0IG5yX3NsZWVwaW5nOwotIF9fdTY0IG5yX3J1bm5pbmc7Ci0gX191NjQgbnJfc3RvcHBlZDsKKyAgX191NjQgbnJfc2xlZXBpbmc7CisgIF9fdTY0IG5yX3J1bm5pbmc7CisgIF9fdTY0IG5yX3N0b3BwZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG5yX3VuaW50ZXJydXB0aWJsZTsKLSBfX3U2NCBucl9pb193YWl0OworICBfX3U2NCBucl91bmludGVycnVwdGlibGU7CisgIF9fdTY0IG5yX2lvX3dhaXQ7CiB9OwogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENHUk9VUFNUQVRTX0NNRF9VTlNQRUMgPSBfX1RBU0tTVEFUU19DTURfTUFYLAotIENHUk9VUFNUQVRTX0NNRF9HRVQsCi0gQ0dST1VQU1RBVFNfQ01EX05FVywKLSBfX0NHUk9VUFNUQVRTX0NNRF9NQVgsCisgIENHUk9VUFNUQVRTX0NNRF9VTlNQRUMgPSBfX1RBU0tTVEFUU19DTURfTUFYLAorICBDR1JPVVBTVEFUU19DTURfR0VULAorICBDR1JPVVBTVEFUU19DTURfTkVXLAorICBfX0NHUk9VUFNUQVRTX0NNRF9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQ0dST1VQU1RBVFNfQ01EX01BWCAoX19DR1JPVVBTVEFUU19DTURfTUFYIC0gMSkKIGVudW0gewotIENHUk9VUFNUQVRTX1RZUEVfVU5TUEVDID0gMCwKKyAgQ0dST1VQU1RBVFNfVFlQRV9VTlNQRUMgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDR1JPVVBTVEFUU19UWVBFX0NHUk9VUF9TVEFUUywKLSBfX0NHUk9VUFNUQVRTX1RZUEVfTUFYLAorICBDR1JPVVBTVEFUU19UWVBFX0NHUk9VUF9TVEFUUywKKyAgX19DR1JPVVBTVEFUU19UWVBFX01BWCwKIH07CiAjZGVmaW5lIENHUk9VUFNUQVRTX1RZUEVfTUFYIChfX0NHUk9VUFNUQVRTX1RZUEVfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBDR1JPVVBTVEFUU19DTURfQVRUUl9VTlNQRUMgPSAwLAotIENHUk9VUFNUQVRTX0NNRF9BVFRSX0ZELAotIF9fQ0dST1VQU1RBVFNfQ01EX0FUVFJfTUFYLAorICBDR1JPVVBTVEFUU19DTURfQVRUUl9VTlNQRUMgPSAwLAorICBDR1JPVVBTVEFUU19DTURfQVRUUl9GRCwKKyAgX19DR1JPVVBTVEFUU19DTURfQVRUUl9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQ0dST1VQU1RBVFNfQ01EX0FUVFJfTUFYIChfX0NHUk9VUFNUQVRTX0NNRF9BVFRSX01BWCAtIDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NoaW8uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2hpby5oCmluZGV4IDUyNmVlMDIuLjllMzRkZGYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2hpby5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY2hpby5oCkBAIC0yNyw2MiArMjcsNjIgQEAKICNkZWZpbmUgQ0hFVF9WNCA3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNoYW5nZXJfcGFyYW1zIHsKLSBpbnQgY3BfY3VycGlja2VyOwotIGludCBjcF9ucGlja2VyczsKLSBpbnQgY3BfbnNsb3RzOworICBpbnQgY3BfY3VycGlja2VyOworICBpbnQgY3BfbnBpY2tlcnM7CisgIGludCBjcF9uc2xvdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjcF9ucG9ydGFsczsKLSBpbnQgY3BfbmRyaXZlczsKKyAgaW50IGNwX25wb3J0YWxzOworICBpbnQgY3BfbmRyaXZlczsKIH07CiBzdHJ1Y3QgY2hhbmdlcl92ZW5kb3JfcGFyYW1zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGN2cF9uMTsKLSBjaGFyIGN2cF9sYWJlbDFbMTZdOwotIGludCBjdnBfbjI7Ci0gY2hhciBjdnBfbGFiZWwyWzE2XTsKKyAgaW50IGN2cF9uMTsKKyAgY2hhciBjdnBfbGFiZWwxWzE2XTsKKyAgaW50IGN2cF9uMjsKKyAgY2hhciBjdnBfbGFiZWwyWzE2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGN2cF9uMzsKLSBjaGFyIGN2cF9sYWJlbDNbMTZdOwotIGludCBjdnBfbjQ7Ci0gY2hhciBjdnBfbGFiZWw0WzE2XTsKKyAgaW50IGN2cF9uMzsKKyAgY2hhciBjdnBfbGFiZWwzWzE2XTsKKyAgaW50IGN2cF9uNDsKKyAgY2hhciBjdnBfbGFiZWw0WzE2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHJlc2VydmVkWzhdOworICBpbnQgcmVzZXJ2ZWRbOF07CiB9Owogc3RydWN0IGNoYW5nZXJfbW92ZSB7Ci0gaW50IGNtX2Zyb210eXBlOworICBpbnQgY21fZnJvbXR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjbV9mcm9tdW5pdDsKLSBpbnQgY21fdG90eXBlOwotIGludCBjbV90b3VuaXQ7Ci0gaW50IGNtX2ZsYWdzOworICBpbnQgY21fZnJvbXVuaXQ7CisgIGludCBjbV90b3R5cGU7CisgIGludCBjbV90b3VuaXQ7CisgIGludCBjbV9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBDTV9JTlZFUlQgMQogc3RydWN0IGNoYW5nZXJfZXhjaGFuZ2UgewotIGludCBjZV9zcmN0eXBlOworICBpbnQgY2Vfc3JjdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNlX3NyY3VuaXQ7Ci0gaW50IGNlX2Zkc3R0eXBlOwotIGludCBjZV9mZHN0dW5pdDsKLSBpbnQgY2Vfc2RzdHR5cGU7CisgIGludCBjZV9zcmN1bml0OworICBpbnQgY2VfZmRzdHR5cGU7CisgIGludCBjZV9mZHN0dW5pdDsKKyAgaW50IGNlX3Nkc3R0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2Vfc2RzdHVuaXQ7Ci0gaW50IGNlX2ZsYWdzOworICBpbnQgY2Vfc2RzdHVuaXQ7CisgIGludCBjZV9mbGFnczsKIH07CiAjZGVmaW5lIENFX0lOVkVSVDEgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0VfSU5WRVJUMiAyCiBzdHJ1Y3QgY2hhbmdlcl9wb3NpdGlvbiB7Ci0gaW50IGNwX3R5cGU7Ci0gaW50IGNwX3VuaXQ7CisgIGludCBjcF90eXBlOworICBpbnQgY3BfdW5pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNwX2ZsYWdzOworICBpbnQgY3BfZmxhZ3M7CiB9OwogI2RlZmluZSBDUF9JTlZFUlQgMQogc3RydWN0IGNoYW5nZXJfZWxlbWVudF9zdGF0dXMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2VzX3R5cGU7Ci0gdW5zaWduZWQgY2hhciBfX3VzZXIgKmNlc19kYXRhOworICBpbnQgY2VzX3R5cGU7CisgIHVuc2lnbmVkIGNoYXIgX191c2VyICogY2VzX2RhdGE7CiB9OwogI2RlZmluZSBDRVNUQVRVU19GVUxMIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC05MywyMCArOTMsMjAgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENFU1RBVFVTX0lORU5BQiAweDIwCiBzdHJ1Y3QgY2hhbmdlcl9nZXRfZWxlbWVudCB7Ci0gaW50IGNnZV90eXBlOwotIGludCBjZ2VfdW5pdDsKKyAgaW50IGNnZV90eXBlOworICBpbnQgY2dlX3VuaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjZ2Vfc3RhdHVzOwotIGludCBjZ2VfZXJybm87Ci0gaW50IGNnZV9zcmN0eXBlOwotIGludCBjZ2Vfc3JjdW5pdDsKKyAgaW50IGNnZV9zdGF0dXM7CisgIGludCBjZ2VfZXJybm87CisgIGludCBjZ2Vfc3JjdHlwZTsKKyAgaW50IGNnZV9zcmN1bml0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2dlX2lkOwotIGludCBjZ2VfbHVuOwotIGNoYXIgY2dlX3B2b2x0YWdbMzZdOwotIGNoYXIgY2dlX2F2b2x0YWdbMzZdOworICBpbnQgY2dlX2lkOworICBpbnQgY2dlX2x1bjsKKyAgY2hhciBjZ2VfcHZvbHRhZ1szNl07CisgIGNoYXIgY2dlX2F2b2x0YWdbMzZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2dlX2ZsYWdzOworICBpbnQgY2dlX2ZsYWdzOwogfTsKICNkZWZpbmUgQ0dFX0VSUk5PIDB4MDEKICNkZWZpbmUgQ0dFX0lOVkVSVCAweDAyCkBAIC0xMTcsMjcgKzExNywyNyBAQAogI2RlZmluZSBDR0VfQVZPTFRBRyAweDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNoYW5nZXJfc2V0X3ZvbHRhZyB7Ci0gaW50IGNzdl90eXBlOwotIGludCBjc3ZfdW5pdDsKLSBjaGFyIGNzdl92b2x0YWdbMzZdOworICBpbnQgY3N2X3R5cGU7CisgIGludCBjc3ZfdW5pdDsKKyAgY2hhciBjc3Zfdm9sdGFnWzM2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNzdl9mbGFnczsKKyAgaW50IGNzdl9mbGFnczsKIH07CiAjZGVmaW5lIENTVl9QVk9MVEFHIDB4MDEKICNkZWZpbmUgQ1NWX0FWT0xUQUcgMHgwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1NWX0NMRUFSVEFHIDB4MDQKLSNkZWZpbmUgQ0hJT01PVkUgX0lPVygnYycsIDEsc3RydWN0IGNoYW5nZXJfbW92ZSkKLSNkZWZpbmUgQ0hJT0VYQ0hBTkdFIF9JT1coJ2MnLCAyLHN0cnVjdCBjaGFuZ2VyX2V4Y2hhbmdlKQotI2RlZmluZSBDSElPUE9TSVRJT04gX0lPVygnYycsIDMsc3RydWN0IGNoYW5nZXJfcG9zaXRpb24pCisjZGVmaW5lIENISU9NT1ZFIF9JT1coJ2MnLCAxLCBzdHJ1Y3QgY2hhbmdlcl9tb3ZlKQorI2RlZmluZSBDSElPRVhDSEFOR0UgX0lPVygnYycsIDIsIHN0cnVjdCBjaGFuZ2VyX2V4Y2hhbmdlKQorI2RlZmluZSBDSElPUE9TSVRJT04gX0lPVygnYycsIDMsIHN0cnVjdCBjaGFuZ2VyX3Bvc2l0aW9uKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ0hJT0dQSUNLRVIgX0lPUignYycsIDQsaW50KQotI2RlZmluZSBDSElPU1BJQ0tFUiBfSU9XKCdjJywgNSxpbnQpCi0jZGVmaW5lIENISU9HUEFSQU1TIF9JT1IoJ2MnLCA2LHN0cnVjdCBjaGFuZ2VyX3BhcmFtcykKLSNkZWZpbmUgQ0hJT0dTVEFUVVMgX0lPVygnYycsIDgsc3RydWN0IGNoYW5nZXJfZWxlbWVudF9zdGF0dXMpCisjZGVmaW5lIENISU9HUElDS0VSIF9JT1IoJ2MnLCA0LCBpbnQpCisjZGVmaW5lIENISU9TUElDS0VSIF9JT1coJ2MnLCA1LCBpbnQpCisjZGVmaW5lIENISU9HUEFSQU1TIF9JT1IoJ2MnLCA2LCBzdHJ1Y3QgY2hhbmdlcl9wYXJhbXMpCisjZGVmaW5lIENISU9HU1RBVFVTIF9JT1coJ2MnLCA4LCBzdHJ1Y3QgY2hhbmdlcl9lbGVtZW50X3N0YXR1cykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENISU9HRUxFTSBfSU9XKCdjJywxNixzdHJ1Y3QgY2hhbmdlcl9nZXRfZWxlbWVudCkKLSNkZWZpbmUgQ0hJT0lOSVRFTEVNIF9JTygnYycsMTcpCi0jZGVmaW5lIENISU9TVk9MVEFHIF9JT1coJ2MnLDE4LHN0cnVjdCBjaGFuZ2VyX3NldF92b2x0YWcpCi0jZGVmaW5lIENISU9HVlBBUkFNUyBfSU9SKCdjJywxOSxzdHJ1Y3QgY2hhbmdlcl92ZW5kb3JfcGFyYW1zKQorI2RlZmluZSBDSElPR0VMRU0gX0lPVygnYycsIDE2LCBzdHJ1Y3QgY2hhbmdlcl9nZXRfZWxlbWVudCkKKyNkZWZpbmUgQ0hJT0lOSVRFTEVNIF9JTygnYycsIDE3KQorI2RlZmluZSBDSElPU1ZPTFRBRyBfSU9XKCdjJywgMTgsIHN0cnVjdCBjaGFuZ2VyX3NldF92b2x0YWcpCisjZGVmaW5lIENISU9HVlBBUkFNUyBfSU9SKCdjJywgMTksIHN0cnVjdCBjaGFuZ2VyX3ZlbmRvcl9wYXJhbXMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jbTQwMDBfY3MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY200MDAwX2NzLmgKaW5kZXggOTlmZTcwMS4uYjE4NWM3NSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jbTQwMDBfY3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NtNDAwMF9jcy5oCkBAIC0yNCwzMiArMjQsMzIgQEAKICNkZWZpbmUgTUFYX0FUUiAzMwogI2RlZmluZSBDTTQwMDBfTUFYX0RFViA0CiB0eXBlZGVmIHN0cnVjdCBhdHJlcSB7Ci0gX19zMzIgYXRyX2xlbjsKKyAgX19zMzIgYXRyX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBhdHJbNjRdOwotIF9fczMyIHBvd2VyX2FjdDsKLSB1bnNpZ25lZCBjaGFyIGJJRlNEOwotIHVuc2lnbmVkIGNoYXIgYklGU0M7CisgIHVuc2lnbmVkIGNoYXIgYXRyWzY0XTsKKyAgX19zMzIgcG93ZXJfYWN0OworICB1bnNpZ25lZCBjaGFyIGJJRlNEOworICB1bnNpZ25lZCBjaGFyIGJJRlNDOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gYXRyZXFfdDsKIHR5cGVkZWYgc3RydWN0IHB0c3JlcSB7Ci0gX191MzIgcHJvdG9jb2w7Ci0gdW5zaWduZWQgY2hhciBmbGFnczsKKyAgX191MzIgcHJvdG9jb2w7CisgIHVuc2lnbmVkIGNoYXIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcHRzMTsKLSB1bnNpZ25lZCBjaGFyIHB0czI7Ci0gdW5zaWduZWQgY2hhciBwdHMzOworICB1bnNpZ25lZCBjaGFyIHB0czE7CisgIHVuc2lnbmVkIGNoYXIgcHRzMjsKKyAgdW5zaWduZWQgY2hhciBwdHMzOwogfSBwdHNyZXFfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENNX0lPQ19NQUdJQyAnYycKICNkZWZpbmUgQ01fSU9DX01BWE5SIDI1NQotI2RlZmluZSBDTV9JT0NHU1RBVFVTIF9JT1IgKENNX0lPQ19NQUdJQywgMCwgdW5zaWduZWQgY2hhciAqKQorI2RlZmluZSBDTV9JT0NHU1RBVFVTIF9JT1IoQ01fSU9DX01BR0lDLCAwLCB1bnNpZ25lZCBjaGFyICopCiAjZGVmaW5lIENNX0lPQ0dBVFIgX0lPV1IoQ01fSU9DX01BR0lDLCAxLCBhdHJlcV90ICopCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDTV9JT0NTUFRTIF9JT1cgKENNX0lPQ19NQUdJQywgMiwgcHRzcmVxX3QgKikKLSNkZWZpbmUgQ01fSU9DU1JEUiBfSU8gKENNX0lPQ19NQUdJQywgMykKLSNkZWZpbmUgQ01fSU9DQVJET0ZGIF9JTyAoQ01fSU9DX01BR0lDLCA0KQotI2RlZmluZSBDTV9JT1NEQkdMVkwgX0lPVyhDTV9JT0NfTUFHSUMsIDI1MCwgaW50KikKKyNkZWZpbmUgQ01fSU9DU1BUUyBfSU9XKENNX0lPQ19NQUdJQywgMiwgcHRzcmVxX3QgKikKKyNkZWZpbmUgQ01fSU9DU1JEUiBfSU8oQ01fSU9DX01BR0lDLCAzKQorI2RlZmluZSBDTV9JT0NBUkRPRkYgX0lPKENNX0lPQ19NQUdJQywgNCkKKyNkZWZpbmUgQ01fSU9TREJHTFZMIF9JT1coQ01fSU9DX01BR0lDLCAyNTAsIGludCAqKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ01fQ0FSRF9JTlNFUlRFRCAweDAxCiAjZGVmaW5lIENNX0NBUkRfUE9XRVJFRCAweDAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NuX3Byb2MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY25fcHJvYy5oCmluZGV4IGFlNGQ3NDEuLmVkZWI0MjQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY25fcHJvYy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY25fcHJvYy5oCkBAIC0yMSw5MSArMjEsOTEgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSBwcm9jX2NuX21jYXN0X29wIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUFJPQ19DTl9NQ0FTVF9MSVNURU4gPSAxLAotIFBST0NfQ05fTUNBU1RfSUdOT1JFID0gMgorICBQUk9DX0NOX01DQVNUX0xJU1RFTiA9IDEsCisgIFBST0NfQ05fTUNBU1RfSUdOT1JFID0gMgogfTsKIHN0cnVjdCBwcm9jX2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZW51bSB3aGF0IHsKLSBQUk9DX0VWRU5UX05PTkUgPSAweDAwMDAwMDAwLAotIFBST0NfRVZFTlRfRk9SSyA9IDB4MDAwMDAwMDEsCi0gUFJPQ19FVkVOVF9FWEVDID0gMHgwMDAwMDAwMiwKKyAgZW51bSB3aGF0IHsKKyAgICBQUk9DX0VWRU5UX05PTkUgPSAweDAwMDAwMDAwLAorICAgIFBST0NfRVZFTlRfRk9SSyA9IDB4MDAwMDAwMDEsCisgICAgUFJPQ19FVkVOVF9FWEVDID0gMHgwMDAwMDAwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUFJPQ19FVkVOVF9VSUQgPSAweDAwMDAwMDA0LAotIFBST0NfRVZFTlRfR0lEID0gMHgwMDAwMDA0MCwKLSBQUk9DX0VWRU5UX1NJRCA9IDB4MDAwMDAwODAsCi0gUFJPQ19FVkVOVF9QVFJBQ0UgPSAweDAwMDAwMTAwLAorICAgIFBST0NfRVZFTlRfVUlEID0gMHgwMDAwMDAwNCwKKyAgICBQUk9DX0VWRU5UX0dJRCA9IDB4MDAwMDAwNDAsCisgICAgUFJPQ19FVkVOVF9TSUQgPSAweDAwMDAwMDgwLAorICAgIFBST0NfRVZFTlRfUFRSQUNFID0gMHgwMDAwMDEwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUFJPQ19FVkVOVF9DT01NID0gMHgwMDAwMDIwMCwKLSBQUk9DX0VWRU5UX0NPUkVEVU1QID0gMHg0MDAwMDAwMCwKLSBQUk9DX0VWRU5UX0VYSVQgPSAweDgwMDAwMDAwCi0gfSB3aGF0OworICAgIFBST0NfRVZFTlRfQ09NTSA9IDB4MDAwMDAyMDAsCisgICAgUFJPQ19FVkVOVF9DT1JFRFVNUCA9IDB4NDAwMDAwMDAsCisgICAgUFJPQ19FVkVOVF9FWElUID0gMHg4MDAwMDAwMAorICB9IHdoYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNwdTsKLSBfX3U2NCBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSkgdGltZXN0YW1wX25zOwotIHVuaW9uIHsKLSBzdHJ1Y3QgeworICBfX3UzMiBjcHU7CisgIF9fdTY0IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKSB0aW1lc3RhbXBfbnM7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlcnI7Ci0gfSBhY2s7Ci0gc3RydWN0IGZvcmtfcHJvY19ldmVudCB7Ci0gX19rZXJuZWxfcGlkX3QgcGFyZW50X3BpZDsKKyAgICAgIF9fdTMyIGVycjsKKyAgICB9IGFjazsKKyAgICBzdHJ1Y3QgZm9ya19wcm9jX2V2ZW50IHsKKyAgICAgIF9fa2VybmVsX3BpZF90IHBhcmVudF9waWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3BpZF90IHBhcmVudF90Z2lkOwotIF9fa2VybmVsX3BpZF90IGNoaWxkX3BpZDsKLSBfX2tlcm5lbF9waWRfdCBjaGlsZF90Z2lkOwotIH0gZm9yazsKKyAgICAgIF9fa2VybmVsX3BpZF90IHBhcmVudF90Z2lkOworICAgICAgX19rZXJuZWxfcGlkX3QgY2hpbGRfcGlkOworICAgICAgX19rZXJuZWxfcGlkX3QgY2hpbGRfdGdpZDsKKyAgICB9IGZvcms7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBleGVjX3Byb2NfZXZlbnQgewotIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfcGlkOwotIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfdGdpZDsKLSB9IGV4ZWM7CisgICAgc3RydWN0IGV4ZWNfcHJvY19ldmVudCB7CisgICAgICBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3BpZDsKKyAgICAgIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfdGdpZDsKKyAgICB9IGV4ZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpZF9wcm9jX2V2ZW50IHsKLSBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3BpZDsKLSBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3RnaWQ7Ci0gdW5pb24geworICAgIHN0cnVjdCBpZF9wcm9jX2V2ZW50IHsKKyAgICAgIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfcGlkOworICAgICAgX19rZXJuZWxfcGlkX3QgcHJvY2Vzc190Z2lkOworICAgICAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBydWlkOwotIF9fdTMyIHJnaWQ7Ci0gfSByOwotIHVuaW9uIHsKKyAgICAgICAgX191MzIgcnVpZDsKKyAgICAgICAgX191MzIgcmdpZDsKKyAgICAgIH0gcjsKKyAgICAgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZXVpZDsKLSBfX3UzMiBlZ2lkOwotIH0gZTsKLSB9IGlkOworICAgICAgICBfX3UzMiBldWlkOworICAgICAgICBfX3UzMiBlZ2lkOworICAgICAgfSBlOworICAgIH0gaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzaWRfcHJvY19ldmVudCB7Ci0gX19rZXJuZWxfcGlkX3QgcHJvY2Vzc19waWQ7Ci0gX19rZXJuZWxfcGlkX3QgcHJvY2Vzc190Z2lkOwotIH0gc2lkOworICAgIHN0cnVjdCBzaWRfcHJvY19ldmVudCB7CisgICAgICBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3BpZDsKKyAgICAgIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfdGdpZDsKKyAgICB9IHNpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHB0cmFjZV9wcm9jX2V2ZW50IHsKLSBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3BpZDsKLSBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3RnaWQ7Ci0gX19rZXJuZWxfcGlkX3QgdHJhY2VyX3BpZDsKKyAgICBzdHJ1Y3QgcHRyYWNlX3Byb2NfZXZlbnQgeworICAgICAgX19rZXJuZWxfcGlkX3QgcHJvY2Vzc19waWQ7CisgICAgICBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3RnaWQ7CisgICAgICBfX2tlcm5lbF9waWRfdCB0cmFjZXJfcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9waWRfdCB0cmFjZXJfdGdpZDsKLSB9IHB0cmFjZTsKLSBzdHJ1Y3QgY29tbV9wcm9jX2V2ZW50IHsKLSBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3BpZDsKKyAgICAgIF9fa2VybmVsX3BpZF90IHRyYWNlcl90Z2lkOworICAgIH0gcHRyYWNlOworICAgIHN0cnVjdCBjb21tX3Byb2NfZXZlbnQgeworICAgICAgX19rZXJuZWxfcGlkX3QgcHJvY2Vzc19waWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfdGdpZDsKLSBjaGFyIGNvbW1bMTZdOwotIH0gY29tbTsKLSBzdHJ1Y3QgY29yZWR1bXBfcHJvY19ldmVudCB7CisgICAgICBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3RnaWQ7CisgICAgICBjaGFyIGNvbW1bMTZdOworICAgIH0gY29tbTsKKyAgICBzdHJ1Y3QgY29yZWR1bXBfcHJvY19ldmVudCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfcGlkOwotIF9fa2VybmVsX3BpZF90IHByb2Nlc3NfdGdpZDsKLSB9IGNvcmVkdW1wOwotIHN0cnVjdCBleGl0X3Byb2NfZXZlbnQgeworICAgICAgX19rZXJuZWxfcGlkX3QgcHJvY2Vzc19waWQ7CisgICAgICBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3RnaWQ7CisgICAgfSBjb3JlZHVtcDsKKyAgICBzdHJ1Y3QgZXhpdF9wcm9jX2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfcGlkX3QgcHJvY2Vzc19waWQ7Ci0gX19rZXJuZWxfcGlkX3QgcHJvY2Vzc190Z2lkOwotIF9fdTMyIGV4aXRfY29kZSwgZXhpdF9zaWduYWw7Ci0gfSBleGl0OworICAgICAgX19rZXJuZWxfcGlkX3QgcHJvY2Vzc19waWQ7CisgICAgICBfX2tlcm5lbF9waWRfdCBwcm9jZXNzX3RnaWQ7CisgICAgICBfX3UzMiBleGl0X2NvZGUsIGV4aXRfc2lnbmFsOworICAgIH0gZXhpdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBldmVudF9kYXRhOworICB9IGV2ZW50X2RhdGE7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NvZGEuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29kYS5oCmluZGV4IDRkNTgxNzkuLmRmZTdiOTEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29kYS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29kYS5oCkBAIC00NCw5ICs0NCw5IEBACiAjZW5kaWYKICNkZWZpbmUgaW5saW5lCiBzdHJ1Y3QgdGltZXNwZWMgewotIGxvbmcgdHNfc2VjOworICBsb25nIHRzX3NlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyB0c19uc2VjOworICBsb25nIHRzX25zZWM7CiB9OwogI2Vsc2UKICNpbmNsdWRlIDxzeXMvdGltZS5oPgpAQCAtNjksOSArNjksOSBAQAogI2VuZGlmCiAjaWZkZWYgX19DWUdXSU4zMl9fCiBzdHJ1Y3QgdGltZXNwZWMgewotIHRpbWVfdCB0dl9zZWM7CisgIHRpbWVfdCB0dl9zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgdHZfbnNlYzsKKyAgbG9uZyB0dl9uc2VjOwogfTsKICNlbmRpZgogI2lmbmRlZiBfX0JJVF9UWVBFU19ERUZJTkVEX18KQEAgLTEwOCwxNiArMTA4LDE2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfVkVOVVNfRElSRU5UX1RfIDEKIHN0cnVjdCB2ZW51c19kaXJlbnQgewotIHVfaW50MzJfdCBkX2ZpbGVubzsKLSB1X2ludDE2X3QgZF9yZWNsZW47CisgIHVfaW50MzJfdCBkX2ZpbGVubzsKKyAgdV9pbnQxNl90IGRfcmVjbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1X2ludDhfdCBkX3R5cGU7Ci0gdV9pbnQ4X3QgZF9uYW1sZW47Ci0gY2hhciBkX25hbWVbQ09EQV9NQVhOQU1MRU4gKyAxXTsKKyAgdV9pbnQ4X3QgZF90eXBlOworICB1X2ludDhfdCBkX25hbWxlbjsKKyAgY2hhciBkX25hbWVbQ09EQV9NQVhOQU1MRU4gKyAxXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI3VuZGVmIERJUlNJWgotI2RlZmluZSBESVJTSVooZHApICgoc2l6ZW9mIChzdHJ1Y3QgdmVudXNfZGlyZW50KSAtIChDT0RBX01BWE5BTUxFTisxKSkgKyAgICgoKGRwKS0+ZF9uYW1sZW4rMSArIDMpICZ+IDMpKQorI2RlZmluZSBESVJTSVooZHApICgoc2l6ZW9mKHN0cnVjdCB2ZW51c19kaXJlbnQpIC0gKENPREFfTUFYTkFNTEVOICsgMSkpICsgKCgoZHApLT5kX25hbWxlbiArIDEgKyAzKSAmIH4zKSkKICNkZWZpbmUgQ0RUX1VOS05PV04gMAogI2RlZmluZSBDRFRfRklGTyAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTQxLDQ4NiArMTQxLDQ5OSBAQAogI2VuZGlmCiBzdHJ1Y3QgQ29kYUZpZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVfaW50MzJfdCBvcGFxdWVbNF07CisgIHVfaW50MzJfdCBvcGFxdWVbNF07CiB9OwotI2RlZmluZSBjb2RhX2YyaShmaWQpICAoZmlkID8gKGZpZC0+b3BhcXVlWzNdIF4gKGZpZC0+b3BhcXVlWzJdPDwxMCkgXiAoZmlkLT5vcGFxdWVbMV08PDIwKSBeIGZpZC0+b3BhcXVlWzBdKSA6IDApCisjZGVmaW5lIGNvZGFfZjJpKGZpZCkgKGZpZCA/IChmaWQtPm9wYXF1ZVszXSBeIChmaWQtPm9wYXF1ZVsyXSA8PCAxMCkgXiAoZmlkLT5vcGFxdWVbMV0gPDwgMjApIF4gZmlkLT5vcGFxdWVbMF0pIDogMCkKICNpZm5kZWYgX1ZFTlVTX1ZBVFRSX1RfCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfVkVOVVNfVkFUVFJfVF8KLWVudW0gY29kYV92dHlwZSB7IENfVk5PTiwgQ19WUkVHLCBDX1ZESVIsIENfVkJMSywgQ19WQ0hSLCBDX1ZMTkssIENfVlNPQ0ssIENfVkZJRk8sIENfVkJBRCB9Owotc3RydWN0IGNvZGFfdmF0dHIgewotIGxvbmcgdmFfdHlwZTsKK2VudW0gY29kYV92dHlwZSB7CisgIENfVk5PTiwKKyAgQ19WUkVHLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1X3Nob3J0IHZhX21vZGU7Ci0gc2hvcnQgdmFfbmxpbms7Ci0gdnVpZF90IHZhX3VpZDsKLSB2Z2lkX3QgdmFfZ2lkOworICBDX1ZESVIsCisgIENfVkJMSywKKyAgQ19WQ0hSLAorICBDX1ZMTkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgdmFfZmlsZWlkOwotIHVfcXVhZF90IHZhX3NpemU7Ci0gbG9uZyB2YV9ibG9ja3NpemU7Ci0gc3RydWN0IHRpbWVzcGVjIHZhX2F0aW1lOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGltZXNwZWMgdmFfbXRpbWU7Ci0gc3RydWN0IHRpbWVzcGVjIHZhX2N0aW1lOwotIHVfbG9uZyB2YV9nZW47Ci0gdV9sb25nIHZhX2ZsYWdzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjZGV2X3QgdmFfcmRldjsKLSB1X3F1YWRfdCB2YV9ieXRlczsKLSB1X3F1YWRfdCB2YV9maWxlcmV2OworICBDX1ZTT0NLLAorICBDX1ZGSUZPLAorICBDX1ZCQUQKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGNvZGFfdmF0dHIgeworICBsb25nIHZhX3R5cGU7CisgIHVfc2hvcnQgdmFfbW9kZTsKKyAgc2hvcnQgdmFfbmxpbms7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB2dWlkX3QgdmFfdWlkOworICB2Z2lkX3QgdmFfZ2lkOworICBsb25nIHZhX2ZpbGVpZDsKKyAgdV9xdWFkX3QgdmFfc2l6ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGxvbmcgdmFfYmxvY2tzaXplOworICBzdHJ1Y3QgdGltZXNwZWMgdmFfYXRpbWU7CisgIHN0cnVjdCB0aW1lc3BlYyB2YV9tdGltZTsKKyAgc3RydWN0IHRpbWVzcGVjIHZhX2N0aW1lOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdV9sb25nIHZhX2dlbjsKKyAgdV9sb25nIHZhX2ZsYWdzOworICBjZGV2X3QgdmFfcmRldjsKKyAgdV9xdWFkX3QgdmFfYnl0ZXM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1X3F1YWRfdCB2YV9maWxlcmV2OworfTsKICNlbmRpZgogc3RydWN0IGNvZGFfc3RhdGZzIHsKLSBpbnQzMl90IGZfYmxvY2tzOwotIGludDMyX3QgZl9iZnJlZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCBmX2JhdmFpbDsKLSBpbnQzMl90IGZfZmlsZXM7Ci0gaW50MzJfdCBmX2ZmcmVlOworICBpbnQzMl90IGZfYmxvY2tzOworICBpbnQzMl90IGZfYmZyZWU7CisgIGludDMyX3QgZl9iYXZhaWw7CisgIGludDMyX3QgZl9maWxlczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludDMyX3QgZl9mZnJlZTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0RBX1JPT1QgMgogI2RlZmluZSBDT0RBX09QRU5fQllfRkQgMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09EQV9PUEVOIDQKICNkZWZpbmUgQ09EQV9DTE9TRSA1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0RBX0lPQ1RMIDYKICNkZWZpbmUgQ09EQV9HRVRBVFRSIDcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPREFfU0VUQVRUUiA4CiAjZGVmaW5lIENPREFfQUNDRVNTIDkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPREFfTE9PS1VQIDEwCiAjZGVmaW5lIENPREFfQ1JFQVRFIDExCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0RBX1JFTU9WRSAxMgogI2RlZmluZSBDT0RBX0xJTksgMTMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPREFfUkVOQU1FIDE0CiAjZGVmaW5lIENPREFfTUtESVIgMTUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPREFfUk1ESVIgMTYKICNkZWZpbmUgQ09EQV9TWU1MSU5LIDE4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0RBX1JFQURMSU5LIDE5CiAjZGVmaW5lIENPREFfRlNZTkMgMjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPREFfVkdFVCAyMgogI2RlZmluZSBDT0RBX1NJR05BTCAyMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09EQV9SRVBMQUNFIDI0CiAjZGVmaW5lIENPREFfRkxVU0ggMjUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPREFfUFVSR0VVU0VSIDI2CiAjZGVmaW5lIENPREFfWkFQRklMRSAyNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09EQV9aQVBESVIgMjgKICNkZWZpbmUgQ09EQV9QVVJHRUZJRCAzMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09EQV9PUEVOX0JZX1BBVEggMzEKICNkZWZpbmUgQ09EQV9SRVNPTFZFIDMyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0RBX1JFSU5URUdSQVRFIDMzCiAjZGVmaW5lIENPREFfU1RBVEZTIDM0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0RBX1NUT1JFIDM1CiAjZGVmaW5lIENPREFfUkVMRUFTRSAzNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09EQV9OQ0FMTFMgMzcKICNkZWZpbmUgRE9XTkNBTEwob3Bjb2RlKSAob3Bjb2RlID49IENPREFfUkVQTEFDRSAmJiBvcGNvZGUgPD0gQ09EQV9QVVJHRUZJRCkKLSNkZWZpbmUgVkNfTUFYREFUQVNJWkUgODE5MgotI2RlZmluZSBWQ19NQVhNU0dTSVpFIHNpemVvZih1bmlvbiBpbnB1dEFyZ3MpK3NpemVvZih1bmlvbiBvdXRwdXRBcmdzKSArICBWQ19NQVhEQVRBU0laRQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVkNfTUFYREFUQVNJWkUgODE5MgorI2RlZmluZSBWQ19NQVhNU0dTSVpFIHNpemVvZih1bmlvbiBpbnB1dEFyZ3MpICsgc2l6ZW9mKHVuaW9uIG91dHB1dEFyZ3MpICsgVkNfTUFYREFUQVNJWkUKICNkZWZpbmUgQ0lPQ19LRVJORUxfVkVSU0lPTiBfSU9XUignYycsIDEwLCBzaXplX3QpCiAjZGVmaW5lIENPREFfS0VSTkVMX1ZFUlNJT04gMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjb2RhX2luX2hkciB7Ci0gdV9pbnQzMl90IG9wY29kZTsKKyAgdV9pbnQzMl90IG9wY29kZTsKKyAgdV9pbnQzMl90IHVuaXF1ZTsKKyAgcGlkX3QgcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1X2ludDMyX3QgdW5pcXVlOwotIHBpZF90IHBpZDsKLSBwaWRfdCBwZ2lkOwotIHZ1aWRfdCB1aWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBwaWRfdCBwZ2lkOworICB2dWlkX3QgdWlkOwogfTsKIHN0cnVjdCBjb2RhX291dF9oZHIgewotIHVfaW50MzJfdCBvcGNvZGU7Ci0gdV9pbnQzMl90IHVuaXF1ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdV9pbnQzMl90IHJlc3VsdDsKKyAgdV9pbnQzMl90IG9wY29kZTsKKyAgdV9pbnQzMl90IHVuaXF1ZTsKKyAgdV9pbnQzMl90IHJlc3VsdDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfcm9vdF9vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CiB9Owotc3RydWN0IGNvZGFfcm9vdF9pbiB7Ci0gc3RydWN0IGNvZGFfaW5faGRyIGluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBjb2RhX3Jvb3RfaW4geworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaW47CiB9Owogc3RydWN0IGNvZGFfb3Blbl9pbiB7Ci0gc3RydWN0IGNvZGFfaW5faGRyIGloOwotIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBmbGFnczsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOworICBzdHJ1Y3QgQ29kYUZpZCBWRmlkOworICBpbnQgZmxhZ3M7CiB9Owotc3RydWN0IGNvZGFfb3Blbl9vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNkZXZfdCBkZXY7Ci0gaW5vX3QgaW5vZGU7CitzdHJ1Y3QgY29kYV9vcGVuX291dCB7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CisgIGNkZXZfdCBkZXY7CisgIGlub190IGlub2RlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgY29kYV9zdG9yZV9pbiB7CisgIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfaW5faGRyIGloOwotIHN0cnVjdCBDb2RhRmlkIFZGaWQ7Ci0gaW50IGZsYWdzOworICBpbnQgZmxhZ3M7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjb2RhX3N0b3JlX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvdXQ7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgY29kYV9yZWxlYXNlX2luIHsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOworICBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgZmxhZ3M7CisgIGludCBmbGFnczsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfcmVsZWFzZV9vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNvZGFfY2xvc2VfaW4geworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwotIGludCBmbGFnczsKKyAgaW50IGZsYWdzOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY29kYV9jbG9zZV9vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNvZGFfaW9jdGxfaW4geworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwotIGludCBjbWQ7Ci0gaW50IGxlbjsKKyAgaW50IGNtZDsKKyAgaW50IGxlbjsKKyAgaW50IHJ3ZmxhZzsKKyAgY2hhciAqIGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCByd2ZsYWc7Ci0gY2hhciAqZGF0YTsKIH07CiBzdHJ1Y3QgY29kYV9pb2N0bF9vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBpbnQgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOwotIGludCBsZW47Ci0gY2FkZHJfdCBkYXRhOworICBjYWRkcl90IGRhdGE7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjb2RhX2dldGF0dHJfaW4gewotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwotfTsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKK307CiBzdHJ1Y3QgY29kYV9nZXRhdHRyX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKLSBzdHJ1Y3QgY29kYV92YXR0ciBhdHRyOworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGNvZGFfdmF0dHIgYXR0cjsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfc2V0YXR0cl9pbiB7Ci0gc3RydWN0IGNvZGFfaW5faGRyIGloOwotIHN0cnVjdCBDb2RhRmlkIFZGaWQ7Ci0gc3RydWN0IGNvZGFfdmF0dHIgYXR0cjsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKKyAgc3RydWN0IGNvZGFfdmF0dHIgYXR0cjsKIH07CiBzdHJ1Y3QgY29kYV9zZXRhdHRyX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvdXQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfYWNjZXNzX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgZmxhZ3M7CisgIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIGludCBmbGFnczsKIH07CiBzdHJ1Y3QgY29kYV9hY2Nlc3Nfb3V0IHsKLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKLX07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKK307CiAjZGVmaW5lIENMVV9DQVNFX1NFTlNJVElWRSAweDAxCiAjZGVmaW5lIENMVV9DQVNFX0lOU0VOU0lUSVZFIDB4MDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY29kYV9sb29rdXBfaW4gewotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOworICBzdHJ1Y3QgQ29kYUZpZCBWRmlkOworICBpbnQgbmFtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgbmFtZTsKLSBpbnQgZmxhZ3M7CisgIGludCBmbGFnczsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfbG9va3VwX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwotIGludCB2dHlwZTsKKyAgc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIGludCB2dHlwZTsKIH07CiBzdHJ1Y3QgY29kYV9jcmVhdGVfaW4gewotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV92YXR0ciBhdHRyOwotIGludCBleGNsOwotIGludCBtb2RlOwotIGludCBuYW1lOworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIHN0cnVjdCBjb2RhX3ZhdHRyIGF0dHI7CisgIGludCBleGNsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IG1vZGU7CisgIGludCBuYW1lOwogfTsKIHN0cnVjdCBjb2RhX2NyZWF0ZV9vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfdmF0dHIgYXR0cjsKKyAgc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKKyAgc3RydWN0IGNvZGFfdmF0dHIgYXR0cjsKIH07Ci1zdHJ1Y3QgY29kYV9yZW1vdmVfaW4gewotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgbmFtZTsKK3N0cnVjdCBjb2RhX3JlbW92ZV9pbiB7CisgIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKKyAgaW50IG5hbWU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBjb2RhX3JlbW92ZV9vdXQgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKKyAgc3RydWN0IGNvZGFfb3V0X2hkciBvdXQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjb2RhX2xpbmtfaW4gewotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOworICBzdHJ1Y3QgQ29kYUZpZCBzb3VyY2VGaWQ7CisgIHN0cnVjdCBDb2RhRmlkIGRlc3RGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBDb2RhRmlkIHNvdXJjZUZpZDsKLSBzdHJ1Y3QgQ29kYUZpZCBkZXN0RmlkOwotIGludCB0bmFtZTsKKyAgaW50IHRuYW1lOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY29kYV9saW5rX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvdXQ7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgY29kYV9yZW5hbWVfaW4geworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIHNvdXJjZUZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfaW5faGRyIGloOwotIHN0cnVjdCBDb2RhRmlkIHNvdXJjZUZpZDsKLSBpbnQgc3JjbmFtZTsKLSBzdHJ1Y3QgQ29kYUZpZCBkZXN0RmlkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZGVzdG5hbWU7CisgIGludCBzcmNuYW1lOworICBzdHJ1Y3QgQ29kYUZpZCBkZXN0RmlkOworICBpbnQgZGVzdG5hbWU7CiB9Owotc3RydWN0IGNvZGFfcmVuYW1lX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGNvZGFfcmVuYW1lX291dCB7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OwogfTsKIHN0cnVjdCBjb2RhX21rZGlyX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfdmF0dHIgYXR0cjsKLSBpbnQgbmFtZTsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOworICBzdHJ1Y3QgQ29kYUZpZCBWRmlkOworICBzdHJ1Y3QgY29kYV92YXR0ciBhdHRyOworICBpbnQgbmFtZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNvZGFfbWtkaXJfb3V0IHsKKyAgc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwotIHN0cnVjdCBjb2RhX3ZhdHRyIGF0dHI7CisgIHN0cnVjdCBjb2RhX3ZhdHRyIGF0dHI7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjb2RhX3JtZGlyX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgbmFtZTsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKKyAgaW50IG5hbWU7CiB9Owogc3RydWN0IGNvZGFfcm1kaXJfb3V0IHsKLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY29kYV9zeW1saW5rX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgc3JjbmFtZTsKKyAgc3RydWN0IGNvZGFfaW5faGRyIGloOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV92YXR0ciBhdHRyOwotIGludCB0bmFtZTsKKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKKyAgaW50IHNyY25hbWU7CisgIHN0cnVjdCBjb2RhX3ZhdHRyIGF0dHI7CisgIGludCB0bmFtZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNvZGFfc3ltbGlua19vdXQgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKKyAgc3RydWN0IGNvZGFfb3V0X2hkciBvdXQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjb2RhX3JlYWRsaW5rX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKKyAgc3RydWN0IENvZGFGaWQgVkZpZDsKIH07Ci1zdHJ1Y3QgY29kYV9yZWFkbGlua19vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjb3VudDsKLSBjYWRkcl90IGRhdGE7CitzdHJ1Y3QgY29kYV9yZWFkbGlua19vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBpbnQgY291bnQ7CisgIGNhZGRyX3QgZGF0YTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNvZGFfZnN5bmNfaW4geworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOwogfTsKIHN0cnVjdCBjb2RhX2ZzeW5jX291dCB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX291dF9oZHIgb3V0OworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG91dDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfdmdldF9pbiB7Ci0gc3RydWN0IGNvZGFfaW5faGRyIGloOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgQ29kYUZpZCBWRmlkOworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CiB9Owotc3RydWN0IGNvZGFfdmdldF9vdXQgewotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBDb2RhRmlkIFZGaWQ7Ci0gaW50IHZ0eXBlOworc3RydWN0IGNvZGFfdmdldF9vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBzdHJ1Y3QgQ29kYUZpZCBWRmlkOworICBpbnQgdnR5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBjb2RhX3B1cmdldXNlcl9vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICB2dWlkX3QgdWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOwotIHZ1aWRfdCB1aWQ7CiB9Owogc3RydWN0IGNvZGFfemFwZmlsZV9vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBzdHJ1Y3QgQ29kYUZpZCBDb2RhRmlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOwotIHN0cnVjdCBDb2RhRmlkIENvZGFGaWQ7CiB9Owogc3RydWN0IGNvZGFfemFwZGlyX291dCB7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CisgIHN0cnVjdCBDb2RhRmlkIENvZGFGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7Ci0gc3RydWN0IENvZGFGaWQgQ29kYUZpZDsKIH07CiBzdHJ1Y3QgY29kYV9wdXJnZWZpZF9vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBzdHJ1Y3QgQ29kYUZpZCBDb2RhRmlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOwotIHN0cnVjdCBDb2RhRmlkIENvZGFGaWQ7CiB9Owogc3RydWN0IGNvZGFfcmVwbGFjZV9vdXQgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBzdHJ1Y3QgQ29kYUZpZCBOZXdGaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7Ci0gc3RydWN0IENvZGFGaWQgTmV3RmlkOwotIHN0cnVjdCBDb2RhRmlkIE9sZEZpZDsKKyAgc3RydWN0IENvZGFGaWQgT2xkRmlkOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY29kYV9vcGVuX2J5X2ZkX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKLSBpbnQgZmxhZ3M7CisgIHN0cnVjdCBjb2RhX2luX2hkciBpaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIGludCBmbGFnczsKIH07CiBzdHJ1Y3QgY29kYV9vcGVuX2J5X2ZkX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKLSBpbnQgZmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBpbnQgZmQ7CiB9Owogc3RydWN0IGNvZGFfb3Blbl9ieV9wYXRoX2luIHsKLSBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7Ci0gc3RydWN0IENvZGFGaWQgVkZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGZsYWdzOworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBDb2RhRmlkIFZGaWQ7CisgIGludCBmbGFnczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvZGFfb3Blbl9ieV9wYXRoX291dCB7Ci0gc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBhdGg7CisgIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7CisgIGludCBwYXRoOwogfTsKLXN0cnVjdCBjb2RhX3N0YXRmc19pbiB7Ci0gc3RydWN0IGNvZGFfaW5faGRyIGluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBjb2RhX3N0YXRmc19pbiB7CisgIHN0cnVjdCBjb2RhX2luX2hkciBpbjsKIH07CiBzdHJ1Y3QgY29kYV9zdGF0ZnNfb3V0IHsKLSBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOwotIHN0cnVjdCBjb2RhX3N0YXRmcyBzdGF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGNvZGFfb3V0X2hkciBvaDsKKyAgc3RydWN0IGNvZGFfc3RhdGZzIHN0YXQ7CiB9OwogI2RlZmluZSBDT0RBX05PQ0FDSEUgMHg4MDAwMDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHVuaW9uIGlucHV0QXJncyB7Ci0gc3RydWN0IGNvZGFfaW5faGRyIGloOworICBzdHJ1Y3QgY29kYV9pbl9oZHIgaWg7CisgIHN0cnVjdCBjb2RhX29wZW5faW4gY29kYV9vcGVuOworICBzdHJ1Y3QgY29kYV9zdG9yZV9pbiBjb2RhX3N0b3JlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vcGVuX2luIGNvZGFfb3BlbjsKLSBzdHJ1Y3QgY29kYV9zdG9yZV9pbiBjb2RhX3N0b3JlOwotIHN0cnVjdCBjb2RhX3JlbGVhc2VfaW4gY29kYV9yZWxlYXNlOwotIHN0cnVjdCBjb2RhX2Nsb3NlX2luIGNvZGFfY2xvc2U7CisgIHN0cnVjdCBjb2RhX3JlbGVhc2VfaW4gY29kYV9yZWxlYXNlOworICBzdHJ1Y3QgY29kYV9jbG9zZV9pbiBjb2RhX2Nsb3NlOworICBzdHJ1Y3QgY29kYV9pb2N0bF9pbiBjb2RhX2lvY3RsOworICBzdHJ1Y3QgY29kYV9nZXRhdHRyX2luIGNvZGFfZ2V0YXR0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfaW9jdGxfaW4gY29kYV9pb2N0bDsKLSBzdHJ1Y3QgY29kYV9nZXRhdHRyX2luIGNvZGFfZ2V0YXR0cjsKLSBzdHJ1Y3QgY29kYV9zZXRhdHRyX2luIGNvZGFfc2V0YXR0cjsKLSBzdHJ1Y3QgY29kYV9hY2Nlc3NfaW4gY29kYV9hY2Nlc3M7CisgIHN0cnVjdCBjb2RhX3NldGF0dHJfaW4gY29kYV9zZXRhdHRyOworICBzdHJ1Y3QgY29kYV9hY2Nlc3NfaW4gY29kYV9hY2Nlc3M7CisgIHN0cnVjdCBjb2RhX2xvb2t1cF9pbiBjb2RhX2xvb2t1cDsKKyAgc3RydWN0IGNvZGFfY3JlYXRlX2luIGNvZGFfY3JlYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9sb29rdXBfaW4gY29kYV9sb29rdXA7Ci0gc3RydWN0IGNvZGFfY3JlYXRlX2luIGNvZGFfY3JlYXRlOwotIHN0cnVjdCBjb2RhX3JlbW92ZV9pbiBjb2RhX3JlbW92ZTsKLSBzdHJ1Y3QgY29kYV9saW5rX2luIGNvZGFfbGluazsKKyAgc3RydWN0IGNvZGFfcmVtb3ZlX2luIGNvZGFfcmVtb3ZlOworICBzdHJ1Y3QgY29kYV9saW5rX2luIGNvZGFfbGluazsKKyAgc3RydWN0IGNvZGFfcmVuYW1lX2luIGNvZGFfcmVuYW1lOworICBzdHJ1Y3QgY29kYV9ta2Rpcl9pbiBjb2RhX21rZGlyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9yZW5hbWVfaW4gY29kYV9yZW5hbWU7Ci0gc3RydWN0IGNvZGFfbWtkaXJfaW4gY29kYV9ta2RpcjsKLSBzdHJ1Y3QgY29kYV9ybWRpcl9pbiBjb2RhX3JtZGlyOwotIHN0cnVjdCBjb2RhX3N5bWxpbmtfaW4gY29kYV9zeW1saW5rOworICBzdHJ1Y3QgY29kYV9ybWRpcl9pbiBjb2RhX3JtZGlyOworICBzdHJ1Y3QgY29kYV9zeW1saW5rX2luIGNvZGFfc3ltbGluazsKKyAgc3RydWN0IGNvZGFfcmVhZGxpbmtfaW4gY29kYV9yZWFkbGluazsKKyAgc3RydWN0IGNvZGFfZnN5bmNfaW4gY29kYV9mc3luYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfcmVhZGxpbmtfaW4gY29kYV9yZWFkbGluazsKLSBzdHJ1Y3QgY29kYV9mc3luY19pbiBjb2RhX2ZzeW5jOwotIHN0cnVjdCBjb2RhX3ZnZXRfaW4gY29kYV92Z2V0OwotIHN0cnVjdCBjb2RhX29wZW5fYnlfZmRfaW4gY29kYV9vcGVuX2J5X2ZkOworICBzdHJ1Y3QgY29kYV92Z2V0X2luIGNvZGFfdmdldDsKKyAgc3RydWN0IGNvZGFfb3Blbl9ieV9mZF9pbiBjb2RhX29wZW5fYnlfZmQ7CisgIHN0cnVjdCBjb2RhX29wZW5fYnlfcGF0aF9pbiBjb2RhX29wZW5fYnlfcGF0aDsKKyAgc3RydWN0IGNvZGFfc3RhdGZzX2luIGNvZGFfc3RhdGZzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vcGVuX2J5X3BhdGhfaW4gY29kYV9vcGVuX2J5X3BhdGg7Ci0gc3RydWN0IGNvZGFfc3RhdGZzX2luIGNvZGFfc3RhdGZzOwogfTsKIHVuaW9uIG91dHB1dEFyZ3MgeworICBzdHJ1Y3QgY29kYV9vdXRfaGRyIG9oOworICBzdHJ1Y3QgY29kYV9yb290X291dCBjb2RhX3Jvb3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX291dF9oZHIgb2g7Ci0gc3RydWN0IGNvZGFfcm9vdF9vdXQgY29kYV9yb290OwotIHN0cnVjdCBjb2RhX29wZW5fb3V0IGNvZGFfb3BlbjsKLSBzdHJ1Y3QgY29kYV9pb2N0bF9vdXQgY29kYV9pb2N0bDsKKyAgc3RydWN0IGNvZGFfb3Blbl9vdXQgY29kYV9vcGVuOworICBzdHJ1Y3QgY29kYV9pb2N0bF9vdXQgY29kYV9pb2N0bDsKKyAgc3RydWN0IGNvZGFfZ2V0YXR0cl9vdXQgY29kYV9nZXRhdHRyOworICBzdHJ1Y3QgY29kYV9sb29rdXBfb3V0IGNvZGFfbG9va3VwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9nZXRhdHRyX291dCBjb2RhX2dldGF0dHI7Ci0gc3RydWN0IGNvZGFfbG9va3VwX291dCBjb2RhX2xvb2t1cDsKLSBzdHJ1Y3QgY29kYV9jcmVhdGVfb3V0IGNvZGFfY3JlYXRlOwotIHN0cnVjdCBjb2RhX21rZGlyX291dCBjb2RhX21rZGlyOworICBzdHJ1Y3QgY29kYV9jcmVhdGVfb3V0IGNvZGFfY3JlYXRlOworICBzdHJ1Y3QgY29kYV9ta2Rpcl9vdXQgY29kYV9ta2RpcjsKKyAgc3RydWN0IGNvZGFfcmVhZGxpbmtfb3V0IGNvZGFfcmVhZGxpbms7CisgIHN0cnVjdCBjb2RhX3ZnZXRfb3V0IGNvZGFfdmdldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfcmVhZGxpbmtfb3V0IGNvZGFfcmVhZGxpbms7Ci0gc3RydWN0IGNvZGFfdmdldF9vdXQgY29kYV92Z2V0OwotIHN0cnVjdCBjb2RhX3B1cmdldXNlcl9vdXQgY29kYV9wdXJnZXVzZXI7Ci0gc3RydWN0IGNvZGFfemFwZmlsZV9vdXQgY29kYV96YXBmaWxlOworICBzdHJ1Y3QgY29kYV9wdXJnZXVzZXJfb3V0IGNvZGFfcHVyZ2V1c2VyOworICBzdHJ1Y3QgY29kYV96YXBmaWxlX291dCBjb2RhX3phcGZpbGU7CisgIHN0cnVjdCBjb2RhX3phcGRpcl9vdXQgY29kYV96YXBkaXI7CisgIHN0cnVjdCBjb2RhX3B1cmdlZmlkX291dCBjb2RhX3B1cmdlZmlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV96YXBkaXJfb3V0IGNvZGFfemFwZGlyOwotIHN0cnVjdCBjb2RhX3B1cmdlZmlkX291dCBjb2RhX3B1cmdlZmlkOwotIHN0cnVjdCBjb2RhX3JlcGxhY2Vfb3V0IGNvZGFfcmVwbGFjZTsKLSBzdHJ1Y3QgY29kYV9vcGVuX2J5X2ZkX291dCBjb2RhX29wZW5fYnlfZmQ7CisgIHN0cnVjdCBjb2RhX3JlcGxhY2Vfb3V0IGNvZGFfcmVwbGFjZTsKKyAgc3RydWN0IGNvZGFfb3Blbl9ieV9mZF9vdXQgY29kYV9vcGVuX2J5X2ZkOworICBzdHJ1Y3QgY29kYV9vcGVuX2J5X3BhdGhfb3V0IGNvZGFfb3Blbl9ieV9wYXRoOworICBzdHJ1Y3QgY29kYV9zdGF0ZnNfb3V0IGNvZGFfc3RhdGZzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY29kYV9vcGVuX2J5X3BhdGhfb3V0IGNvZGFfb3Blbl9ieV9wYXRoOwotIHN0cnVjdCBjb2RhX3N0YXRmc19vdXQgY29kYV9zdGF0ZnM7CiB9OwogdW5pb24gY29kYV9kb3duY2FsbHMgeworICBzdHJ1Y3QgY29kYV9wdXJnZXVzZXJfb3V0IHB1cmdldXNlcjsKKyAgc3RydWN0IGNvZGFfemFwZmlsZV9vdXQgemFwZmlsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGNvZGFfcHVyZ2V1c2VyX291dCBwdXJnZXVzZXI7Ci0gc3RydWN0IGNvZGFfemFwZmlsZV9vdXQgemFwZmlsZTsKLSBzdHJ1Y3QgY29kYV96YXBkaXJfb3V0IHphcGRpcjsKLSBzdHJ1Y3QgY29kYV9wdXJnZWZpZF9vdXQgcHVyZ2VmaWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBjb2RhX3JlcGxhY2Vfb3V0IHJlcGxhY2U7CisgIHN0cnVjdCBjb2RhX3phcGRpcl9vdXQgemFwZGlyOworICBzdHJ1Y3QgY29kYV9wdXJnZWZpZF9vdXQgcHVyZ2VmaWQ7CisgIHN0cnVjdCBjb2RhX3JlcGxhY2Vfb3V0IHJlcGxhY2U7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUElPQ1BBUk1fTUFTSyAweDAwMDBmZmZmCiBzdHJ1Y3QgVmljZUlvY3RsIHsKKyAgdm9pZCBfX3VzZXIgKiBpbjsKKyAgdm9pZCBfX3VzZXIgKiBvdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZvaWQgX191c2VyICppbjsKLSB2b2lkIF9fdXNlciAqb3V0OwotIHVfc2hvcnQgaW5fc2l6ZTsKLSB1X3Nob3J0IG91dF9zaXplOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdV9zaG9ydCBpbl9zaXplOworICB1X3Nob3J0IG91dF9zaXplOwogfTsKIHN0cnVjdCBQaW9jdGxEYXRhIHsKLSBjb25zdCBjaGFyIF9fdXNlciAqcGF0aDsKLSBpbnQgZm9sbG93OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgVmljZUlvY3RsIHZpOworICBjb25zdCBjaGFyIF9fdXNlciAqIHBhdGg7CisgIGludCBmb2xsb3c7CisgIHN0cnVjdCBWaWNlSW9jdGwgdmk7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09EQV9DT05UUk9MICIuQ09OVFJPTCIKICNkZWZpbmUgQ09EQV9DT05UUk9MTEVOIDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENUTF9JTk8gLTEKKyNkZWZpbmUgQ1RMX0lOTyAtIDEKICNkZWZpbmUgQ09EQV9NT1VOVF9WRVJTSU9OIDEKLXN0cnVjdCBjb2RhX21vdW50X2RhdGEgewotIGludCB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZmQ7CitzdHJ1Y3QgY29kYV9tb3VudF9kYXRhIHsKKyAgaW50IHZlcnNpb247CisgIGludCBmZDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NvZGFfcHNkZXYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29kYV9wc2Rldi5oCmluZGV4IDc5ZGEwNDIuLjZlNDYzMmYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29kYV9wc2Rldi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29kYV9wc2Rldi5oCkBAIC0yMywxNiArMjMsMTYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1BWF9DT0RBREVWUyA1CiBzdHJ1Y3QgdXBjX3JlcSB7Ci0gc3RydWN0IGxpc3RfaGVhZCB1Y19jaGFpbjsKLSBjYWRkcl90IHVjX2RhdGE7CisgIHN0cnVjdCBsaXN0X2hlYWQgdWNfY2hhaW47CisgIGNhZGRyX3QgdWNfZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdV9zaG9ydCB1Y19mbGFnczsKLSB1X3Nob3J0IHVjX2luU2l6ZTsKLSB1X3Nob3J0IHVjX291dFNpemU7Ci0gdV9zaG9ydCB1Y19vcGNvZGU7CisgIHVfc2hvcnQgdWNfZmxhZ3M7CisgIHVfc2hvcnQgdWNfaW5TaXplOworICB1X3Nob3J0IHVjX291dFNpemU7CisgIHVfc2hvcnQgdWNfb3Bjb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdWNfdW5pcXVlOwotIHdhaXRfcXVldWVfaGVhZF90IHVjX3NsZWVwOworICBpbnQgdWNfdW5pcXVlOworICB3YWl0X3F1ZXVlX2hlYWRfdCB1Y19zbGVlcDsKIH07CiAjZGVmaW5lIENPREFfUkVRX0FTWU5DIDB4MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29mZi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jb2ZmLmgKaW5kZXggY2RiYjhkOC4uODc2OTFkYiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jb2ZmLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jb2ZmLmgKQEAgLTE5LDI0ICsxOSwyNCBAQAogI2RlZmluZSBFX1NZTU5NTEVOIDgKICNkZWZpbmUgRV9GSUxOTUxFTiAxNAogI2RlZmluZSBFX0RJTU5VTSA0Ci0jZGVmaW5lIENPRkZfU0hPUlRfTChwcykgKChzaG9ydCkoKCh1bnNpZ25lZCBzaG9ydCkoKHVuc2lnbmVkIGNoYXIpcHNbMV0pPDw4KXwgICgodW5zaWduZWQgc2hvcnQpKCh1bnNpZ25lZCBjaGFyKXBzWzBdKSkpKQorI2RlZmluZSBDT0ZGX1NIT1JUX0wocHMpICgoc2hvcnQpICgoKHVuc2lnbmVkIHNob3J0KSAoKHVuc2lnbmVkIGNoYXIpIHBzWzFdKSA8PCA4KSB8ICgodW5zaWduZWQgc2hvcnQpICgodW5zaWduZWQgY2hhcikgcHNbMF0pKSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDT0ZGX0xPTkdfTChwcykgKCgobG9uZykoKCh1bnNpZ25lZCBsb25nKSgodW5zaWduZWQgY2hhcilwc1szXSk8PDI0KSB8ICAoKHVuc2lnbmVkIGxvbmcpKCh1bnNpZ25lZCBjaGFyKXBzWzJdKTw8MTYpIHwgICgodW5zaWduZWQgbG9uZykoKHVuc2lnbmVkIGNoYXIpcHNbMV0pPDw4KSB8ICAoKHVuc2lnbmVkIGxvbmcpKCh1bnNpZ25lZCBjaGFyKXBzWzBdKSkpKSkKLSNkZWZpbmUgQ09GRl9TSE9SVF9IKHBzKSAoKHNob3J0KSgoKHVuc2lnbmVkIHNob3J0KSgodW5zaWduZWQgY2hhcilwc1swXSk8PDgpfCAgKCh1bnNpZ25lZCBzaG9ydCkoKHVuc2lnbmVkIGNoYXIpcHNbMV0pKSkpCi0jZGVmaW5lIENPRkZfTE9OR19IKHBzKSAoKChsb25nKSgoKHVuc2lnbmVkIGxvbmcpKCh1bnNpZ25lZCBjaGFyKXBzWzBdKTw8MjQpIHwgICgodW5zaWduZWQgbG9uZykoKHVuc2lnbmVkIGNoYXIpcHNbMV0pPDwxNikgfCAgKCh1bnNpZ25lZCBsb25nKSgodW5zaWduZWQgY2hhcilwc1syXSk8PDgpIHwgICgodW5zaWduZWQgbG9uZykoKHVuc2lnbmVkIGNoYXIpcHNbM10pKSkpKQorI2RlZmluZSBDT0ZGX0xPTkdfTChwcykgKCgobG9uZykgKCgodW5zaWduZWQgbG9uZykgKCh1bnNpZ25lZCBjaGFyKSBwc1szXSkgPDwgMjQpIHwgKCh1bnNpZ25lZCBsb25nKSAoKHVuc2lnbmVkIGNoYXIpIHBzWzJdKSA8PCAxNikgfCAoKHVuc2lnbmVkIGxvbmcpICgodW5zaWduZWQgY2hhcikgcHNbMV0pIDw8IDgpIHwgKCh1bnNpZ25lZCBsb25nKSAoKHVuc2lnbmVkIGNoYXIpIHBzWzBdKSkpKSkKKyNkZWZpbmUgQ09GRl9TSE9SVF9IKHBzKSAoKHNob3J0KSAoKCh1bnNpZ25lZCBzaG9ydCkgKCh1bnNpZ25lZCBjaGFyKSBwc1swXSkgPDwgOCkgfCAoKHVuc2lnbmVkIHNob3J0KSAoKHVuc2lnbmVkIGNoYXIpIHBzWzFdKSkpKQorI2RlZmluZSBDT0ZGX0xPTkdfSChwcykgKCgobG9uZykgKCgodW5zaWduZWQgbG9uZykgKCh1bnNpZ25lZCBjaGFyKSBwc1swXSkgPDwgMjQpIHwgKCh1bnNpZ25lZCBsb25nKSAoKHVuc2lnbmVkIGNoYXIpIHBzWzFdKSA8PCAxNikgfCAoKHVuc2lnbmVkIGxvbmcpICgodW5zaWduZWQgY2hhcikgcHNbMl0pIDw8IDgpIHwgKCh1bnNpZ25lZCBsb25nKSAoKHVuc2lnbmVkIGNoYXIpIHBzWzNdKSkpKSkKICNkZWZpbmUgQ09GRl9MT05HKHYpIENPRkZfTE9OR19MKHYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX1NIT1JUKHYpIENPRkZfU0hPUlRfTCh2KQogc3RydWN0IENPRkZfZmlsZWhkciB7Ci0gY2hhciBmX21hZ2ljWzJdOwotIGNoYXIgZl9uc2Nuc1syXTsKKyAgY2hhciBmX21hZ2ljWzJdOworICBjaGFyIGZfbnNjbnNbMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZl90aW1kYXRbNF07Ci0gY2hhciBmX3N5bXB0cls0XTsKLSBjaGFyIGZfbnN5bXNbNF07Ci0gY2hhciBmX29wdGhkclsyXTsKKyAgY2hhciBmX3RpbWRhdFs0XTsKKyAgY2hhciBmX3N5bXB0cls0XTsKKyAgY2hhciBmX25zeW1zWzRdOworICBjaGFyIGZfb3B0aGRyWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGZfZmxhZ3NbMl07CisgIGNoYXIgZl9mbGFnc1syXTsKIH07CiAjZGVmaW5lIENPRkZfRl9SRUxGTEcgMDAwMDAwMQogI2RlZmluZSBDT0ZGX0ZfRVhFQyAwMDAwMDAyCkBAIC01OCwxODYgKzU4LDE4MiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09GRl9GSUxIRFIgc3RydWN0IENPRkZfZmlsZWhkcgogI2RlZmluZSBDT0ZGX0ZJTEhTWiBzaXplb2YoQ09GRl9GSUxIRFIpCi10eXBlZGVmIHN0cnVjdAotewordHlwZWRlZiBzdHJ1Y3QgeworICBjaGFyIG1hZ2ljWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG1hZ2ljWzJdOwotIGNoYXIgdnN0YW1wWzJdOwotIGNoYXIgdHNpemVbNF07Ci0gY2hhciBkc2l6ZVs0XTsKKyAgY2hhciB2c3RhbXBbMl07CisgIGNoYXIgdHNpemVbNF07CisgIGNoYXIgZHNpemVbNF07CisgIGNoYXIgYnNpemVbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgYnNpemVbNF07Ci0gY2hhciBlbnRyeVs0XTsKLSBjaGFyIHRleHRfc3RhcnRbNF07Ci0gY2hhciBkYXRhX3N0YXJ0WzRdOworICBjaGFyIGVudHJ5WzRdOworICBjaGFyIHRleHRfc3RhcnRbNF07CisgIGNoYXIgZGF0YV9zdGFydFs0XTsKK30gQ09GRl9BT1VUSERSOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0KLUNPRkZfQU9VVEhEUjsKICNkZWZpbmUgQ09GRl9BT1VUU1ogKHNpemVvZihDT0ZGX0FPVVRIRFIpKQogI2RlZmluZSBDT0ZGX1NUTUFHSUMgMDQwMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09GRl9PTUFHSUMgMDQwNAogI2RlZmluZSBDT0ZGX0pNQUdJQyAwNDA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX0RNQUdJQyAwNDEwCiAjZGVmaW5lIENPRkZfWk1BR0lDIDA0MTMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPRkZfU0hNQUdJQyAwNDQzCiBzdHJ1Y3QgQ09GRl9zY25oZHIgewotIGNoYXIgc19uYW1lWzhdOwotIGNoYXIgc19wYWRkcls0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBzX3ZhZGRyWzRdOwotIGNoYXIgc19zaXplWzRdOwotIGNoYXIgc19zY25wdHJbNF07Ci0gY2hhciBzX3JlbHB0cls0XTsKKyAgY2hhciBzX25hbWVbOF07CisgIGNoYXIgc19wYWRkcls0XTsKKyAgY2hhciBzX3ZhZGRyWzRdOworICBjaGFyIHNfc2l6ZVs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBzX2xubm9wdHJbNF07Ci0gY2hhciBzX25yZWxvY1syXTsKLSBjaGFyIHNfbmxubm9bMl07Ci0gY2hhciBzX2ZsYWdzWzRdOworICBjaGFyIHNfc2NucHRyWzRdOworICBjaGFyIHNfcmVscHRyWzRdOworICBjaGFyIHNfbG5ub3B0cls0XTsKKyAgY2hhciBzX25yZWxvY1syXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGNoYXIgc19ubG5ub1syXTsKKyAgY2hhciBzX2ZsYWdzWzRdOwogfTsKICNkZWZpbmUgQ09GRl9TQ05IRFIgc3RydWN0IENPRkZfc2NuaGRyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX1NDTkhTWiBzaXplb2YoQ09GRl9TQ05IRFIpCiAjZGVmaW5lIENPRkZfVEVYVCAiLnRleHQiCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX0RBVEEgIi5kYXRhIgogI2RlZmluZSBDT0ZGX0JTUyAiLmJzcyIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPRkZfQ09NTUVOVCAiLmNvbW1lbnQiCiAjZGVmaW5lIENPRkZfTElCICIubGliIgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09GRl9TRUNUX1RFWFQgMAogI2RlZmluZSBDT0ZGX1NFQ1RfREFUQSAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX1NFQ1RfQlNTIDIKICNkZWZpbmUgQ09GRl9TRUNUX1JFUUQgMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09GRl9TVFlQX1JFRyAweDAwCiAjZGVmaW5lIENPRkZfU1RZUF9EU0VDVCAweDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX1NUWVBfTk9MT0FEIDB4MDIKICNkZWZpbmUgQ09GRl9TVFlQX0dST1VQIDB4MDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPRkZfU1RZUF9QQUQgMHgwOAogI2RlZmluZSBDT0ZGX1NUWVBfQ09QWSAweDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX1NUWVBfVEVYVCAweDIwCiAjZGVmaW5lIENPRkZfU1RZUF9EQVRBIDB4NDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENPRkZfU1RZUF9CU1MgMHg4MAogI2RlZmluZSBDT0ZGX1NUWVBfSU5GTyAweDIwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ09GRl9TVFlQX09WRVIgMHg0MDAKICNkZWZpbmUgQ09GRl9TVFlQX0xJQiAweDgwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBDT0ZGX3NsaWIgewotIGNoYXIgc2xfZW50c3pbNF07Ci0gY2hhciBzbF9wYXRobmR4WzRdOwotfTsKKyAgY2hhciBzbF9lbnRzels0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGNoYXIgc2xfcGF0aG5keFs0XTsKK307CiAjZGVmaW5lIENPRkZfU0xJQkhEIHN0cnVjdCBDT0ZGX3NsaWIKICNkZWZpbmUgQ09GRl9TTElCU1ogc2l6ZW9mKENPRkZfU0xJQkhEKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBDT0ZGX2xpbmVubyB7Ci0gdW5pb24geworICB1bmlvbiB7CisgICAgY2hhciBsX3N5bW5keFs0XTsKKyAgICBjaGFyIGxfcGFkZHJbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbF9zeW1uZHhbNF07Ci0gY2hhciBsX3BhZGRyWzRdOwotIH0gbF9hZGRyOwotIGNoYXIgbF9sbm5vWzJdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgfSBsX2FkZHI7CisgIGNoYXIgbF9sbm5vWzJdOwogfTsKICNkZWZpbmUgQ09GRl9MSU5FTk8gc3RydWN0IENPRkZfbGluZW5vCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX0xJTkVTWiA2CiAjZGVmaW5lIENPRkZfRV9TWU1OTUxFTiA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX0VfRklMTk1MRU4gMTQKICNkZWZpbmUgQ09GRl9FX0RJTU5VTSA0Ci1zdHJ1Y3QgQ09GRl9zeW1lbnQKLXsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIGNoYXIgZV9uYW1lW0VfU1lNTk1MRU5dOwotIHN0cnVjdCB7Ci0gY2hhciBlX3plcm9lc1s0XTsKK3N0cnVjdCBDT0ZGX3N5bWVudCB7CisgIHVuaW9uIHsKKyAgICBjaGFyIGVfbmFtZVtFX1NZTU5NTEVOXTsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGVfb2Zmc2V0WzRdOwotIH0gZTsKLSB9IGU7Ci0gY2hhciBlX3ZhbHVlWzRdOworICAgICAgY2hhciBlX3plcm9lc1s0XTsKKyAgICAgIGNoYXIgZV9vZmZzZXRbNF07CisgICAgfSBlOworICB9IGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZV9zY251bVsyXTsKLSBjaGFyIGVfdHlwZVsyXTsKLSBjaGFyIGVfc2NsYXNzWzFdOwotIGNoYXIgZV9udW1hdXhbMV07CisgIGNoYXIgZV92YWx1ZVs0XTsKKyAgY2hhciBlX3NjbnVtWzJdOworICBjaGFyIGVfdHlwZVsyXTsKKyAgY2hhciBlX3NjbGFzc1sxXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGNoYXIgZV9udW1hdXhbMV07CiB9OwogI2RlZmluZSBDT0ZGX05fQlRNQVNLICgweGYpCiAjZGVmaW5lIENPRkZfTl9UTUFTSyAoMHgzMCkKLSNkZWZpbmUgQ09GRl9OX0JUU0hGVCAoNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIENPRkZfTl9CVFNIRlQgKDQpCiAjZGVmaW5lIENPRkZfTl9UU0hJRlQgKDIpCiB1bmlvbiBDT0ZGX2F1eGVudCB7Ci0gc3RydWN0IHsKLSBjaGFyIHhfdGFnbmR4WzRdOworICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHsKLSBjaGFyIHhfbG5ub1syXTsKLSBjaGFyIHhfc2l6ZVsyXTsKKyAgICBjaGFyIHhfdGFnbmR4WzRdOworICAgIHVuaW9uIHsKKyAgICAgIHN0cnVjdCB7CisgICAgICAgIGNoYXIgeF9sbm5vWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHhfbG5zejsKLSBjaGFyIHhfZnNpemVbNF07Ci0gfSB4X21pc2M7Ci0gdW5pb24geworICAgICAgICBjaGFyIHhfc2l6ZVsyXTsKKyAgICAgIH0geF9sbnN6OworICAgICAgY2hhciB4X2ZzaXplWzRdOworICAgIH0geF9taXNjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIGNoYXIgeF9sbm5vcHRyWzRdOwotIGNoYXIgeF9lbmRuZHhbNF07Ci0gfSB4X2ZjbjsKKyAgICB1bmlvbiB7CisgICAgICBzdHJ1Y3QgeworICAgICAgICBjaGFyIHhfbG5ub3B0cls0XTsKKyAgICAgICAgY2hhciB4X2VuZG5keFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBjaGFyIHhfZGltZW5bRV9ESU1OVU1dWzJdOwotIH0geF9hcnk7Ci0gfSB4X2ZjbmFyeTsKKyAgICAgIH0geF9mY247CisgICAgICBzdHJ1Y3QgeworICAgICAgICBjaGFyIHhfZGltZW5bRV9ESU1OVU1dWzJdOworICAgICAgfSB4X2FyeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB4X3R2bmR4WzJdOwotIH0geF9zeW07Ci0gdW5pb24gewotIGNoYXIgeF9mbmFtZVtFX0ZJTE5NTEVOXTsKKyAgICB9IHhfZmNuYXJ5OworICAgIGNoYXIgeF90dm5keFsyXTsKKyAgfSB4X3N5bTsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIGNoYXIgeF96ZXJvZXNbNF07Ci0gY2hhciB4X29mZnNldFs0XTsKLSB9IHhfbjsKKyAgICBjaGFyIHhfZm5hbWVbRV9GSUxOTUxFTl07CisgICAgc3RydWN0IHsKKyAgICAgIGNoYXIgeF96ZXJvZXNbNF07CisgICAgICBjaGFyIHhfb2Zmc2V0WzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHhfZmlsZTsKLSBzdHJ1Y3QgewotIGNoYXIgeF9zY25sZW5bNF07Ci0gY2hhciB4X25yZWxvY1syXTsKKyAgICB9IHhfbjsKKyAgfSB4X2ZpbGU7CisgIHN0cnVjdCB7CisgICAgY2hhciB4X3Njbmxlbls0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB4X25saW5ub1syXTsKLSB9IHhfc2NuOwotIHN0cnVjdCB7Ci0gY2hhciB4X3R2ZmlsbFs0XTsKKyAgICBjaGFyIHhfbnJlbG9jWzJdOworICAgIGNoYXIgeF9ubGlubm9bMl07CisgIH0geF9zY247CisgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgeF90dmxlblsyXTsKLSBjaGFyIHhfdHZyYW5bMl1bMl07Ci0gfSB4X3R2OworICAgIGNoYXIgeF90dmZpbGxbNF07CisgICAgY2hhciB4X3R2bGVuWzJdOworICAgIGNoYXIgeF90dnJhblsyXVsyXTsKKyAgfSB4X3R2OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDT0ZGX1NZTUVOVCBzdHJ1Y3QgQ09GRl9zeW1lbnQKICNkZWZpbmUgQ09GRl9TWU1FU1ogMTgKICNkZWZpbmUgQ09GRl9BVVhFTlQgdW5pb24gQ09GRl9hdXhlbnQKLSNkZWZpbmUgQ09GRl9BVVhFU1ogMTgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIENPRkZfQVVYRVNaIDE4CiAjZGVmaW5lIENPRkZfRVRFWFQgImV0ZXh0Igogc3RydWN0IENPRkZfcmVsb2MgewotIGNoYXIgcl92YWRkcls0XTsKLSBjaGFyIHJfc3ltbmR4WzRdOworICBjaGFyIHJfdmFkZHJbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcl90eXBlWzJdOworICBjaGFyIHJfc3ltbmR4WzRdOworICBjaGFyIHJfdHlwZVsyXTsKIH07CiAjZGVmaW5lIENPRkZfUkVMT0Mgc3RydWN0IENPRkZfcmVsb2MKLSNkZWZpbmUgQ09GRl9SRUxTWiAxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQ09GRl9SRUxTWiAxMAogI2RlZmluZSBDT0ZGX0RFRl9EQVRBX1NFQ1RJT05fQUxJR05NRU5UIDQKICNkZWZpbmUgQ09GRl9ERUZfQlNTX1NFQ1RJT05fQUxJR05NRU5UIDQKICNkZWZpbmUgQ09GRl9ERUZfVEVYVF9TRUNUSU9OX0FMSUdOTUVOVCA0Ci0jZGVmaW5lIENPRkZfREVGX1NFQ1RJT05fQUxJR05NRU5UIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIENPRkZfREVGX1NFQ1RJT05fQUxJR05NRU5UIDQKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29ubmVjdG9yLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Nvbm5lY3Rvci5oCmluZGV4IGNiNWU5ZTYuLmI5YzQ3OGIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29ubmVjdG9yLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jb25uZWN0b3IuaApAQCAtNDcsMTggKzQ3LDE4IEBACiAjZGVmaW5lIENPTk5FQ1RPUl9NQVhfTVNHX1NJWkUgMTYzODQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY2JfaWQgewotIF9fdTMyIGlkeDsKLSBfX3UzMiB2YWw7CisgIF9fdTMyIGlkeDsKKyAgX191MzIgdmFsOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY25fbXNnIHsKLSBzdHJ1Y3QgY2JfaWQgaWQ7Ci0gX191MzIgc2VxOwotIF9fdTMyIGFjazsKKyAgc3RydWN0IGNiX2lkIGlkOworICBfX3UzMiBzZXE7CisgIF9fdTMyIGFjazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbGVuOwotIF9fdTE2IGZsYWdzOwotIF9fdTggZGF0YVswXTsKKyAgX191MTYgbGVuOworICBfX3UxNiBmbGFnczsKKyAgX191OCBkYXRhWzBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29uc3QuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY29uc3QuaAppbmRleCA5YTg1YmU3Li4yNTQzNWVkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NvbnN0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jb25zdC5oCkBAIC0yMywxMiArMjMsMTIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9BVChULFgpIFgKICNlbHNlCi0jZGVmaW5lIF9fQUMoWCxZKSAoWCMjWSkKLSNkZWZpbmUgX0FDKFgsWSkgX19BQyhYLFkpCisjZGVmaW5lIF9fQUMoWCxZKSAoWCAjI1kpCisjZGVmaW5lIF9BQyhYLFkpIF9fQUMoWCwgWSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9BVChULFgpICgoVCkoWCkpCisjZGVmaW5lIF9BVChULFgpICgoVCkgKFgpKQogI2VuZGlmCi0jZGVmaW5lIF9CSVRVTCh4KSAoX0FDKDEsVUwpIDw8ICh4KSkKLSNkZWZpbmUgX0JJVFVMTCh4KSAoX0FDKDEsVUxMKSA8PCAoeCkpCisjZGVmaW5lIF9CSVRVTCh4KSAoX0FDKDEsIFVMKSA8PCAoeCkpCisjZGVmaW5lIF9CSVRVTEwoeCkgKF9BQygxLCBVTEwpIDw8ICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY3JhbWZzX2ZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2NyYW1mc19mcy5oCmluZGV4IDgwNzAzY2MuLjk3MGM0NGIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY3JhbWZzX2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jcmFtZnNfZnMuaApAQCAtMzIsMjkgKzMyLDI5IEBACiAjZGVmaW5lIENSQU1GU19NQVhQQVRITEVOICgoKDEgPDwgQ1JBTUZTX05BTUVMRU5fV0lEVEgpIC0gMSkgPDwgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY3JhbWZzX2lub2RlIHsKLSBfX3UzMiBtb2RlOkNSQU1GU19NT0RFX1dJRFRILCB1aWQ6Q1JBTUZTX1VJRF9XSURUSDsKLSBfX3UzMiBzaXplOkNSQU1GU19TSVpFX1dJRFRILCBnaWQ6Q1JBTUZTX0dJRF9XSURUSDsKLSBfX3UzMiBuYW1lbGVuOkNSQU1GU19OQU1FTEVOX1dJRFRILCBvZmZzZXQ6Q1JBTUZTX09GRlNFVF9XSURUSDsKKyAgX191MzIgbW9kZSA6IENSQU1GU19NT0RFX1dJRFRILCB1aWQgOiBDUkFNRlNfVUlEX1dJRFRIOworICBfX3UzMiBzaXplIDogQ1JBTUZTX1NJWkVfV0lEVEgsIGdpZCA6IENSQU1GU19HSURfV0lEVEg7CisgIF9fdTMyIG5hbWVsZW4gOiBDUkFNRlNfTkFNRUxFTl9XSURUSCwgb2Zmc2V0IDogQ1JBTUZTX09GRlNFVF9XSURUSDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGNyYW1mc19pbmZvIHsKLSBfX3UzMiBjcmM7Ci0gX191MzIgZWRpdGlvbjsKKyAgX191MzIgY3JjOworICBfX3UzMiBlZGl0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBibG9ja3M7Ci0gX191MzIgZmlsZXM7CisgIF9fdTMyIGJsb2NrczsKKyAgX191MzIgZmlsZXM7CiB9Owogc3RydWN0IGNyYW1mc19zdXBlciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1hZ2ljOwotIF9fdTMyIHNpemU7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgZnV0dXJlOworICBfX3UzMiBtYWdpYzsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIGZ1dHVyZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzaWduYXR1cmVbMTZdOwotIHN0cnVjdCBjcmFtZnNfaW5mbyBmc2lkOwotIF9fdTggbmFtZVsxNl07Ci0gc3RydWN0IGNyYW1mc19pbm9kZSByb290OworICBfX3U4IHNpZ25hdHVyZVsxNl07CisgIHN0cnVjdCBjcmFtZnNfaW5mbyBmc2lkOworICBfX3U4IG5hbWVbMTZdOworICBzdHJ1Y3QgY3JhbWZzX2lub2RlIHJvb3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQ1JBTUZTX0ZMQUdfRlNJRF9WRVJTSU9OXzIgMHgwMDAwMDAwMQpAQCAtNjMsNiArNjMsNiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1JBTUZTX0ZMQUdfV1JPTkdfU0lHTkFUVVJFIDB4MDAwMDAyMDAKICNkZWZpbmUgQ1JBTUZTX0ZMQUdfU0hJRlRFRF9ST09UX09GRlNFVCAweDAwMDAwNDAwCi0jZGVmaW5lIENSQU1GU19TVVBQT1JURURfRkxBR1MgKCAweDAwMDAwMGZmICAgfCBDUkFNRlNfRkxBR19IT0xFUyAgIHwgQ1JBTUZTX0ZMQUdfV1JPTkdfU0lHTkFUVVJFICAgfCBDUkFNRlNfRkxBR19TSElGVEVEX1JPT1RfT0ZGU0VUICkKKyNkZWZpbmUgQ1JBTUZTX1NVUFBPUlRFRF9GTEFHUyAoMHgwMDAwMDBmZiB8IENSQU1GU19GTEFHX0hPTEVTIHwgQ1JBTUZTX0ZMQUdfV1JPTkdfU0lHTkFUVVJFIHwgQ1JBTUZTX0ZMQUdfU0hJRlRFRF9ST09UX09GRlNFVCkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY3ljbGFkZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvY3ljbGFkZXMuaAppbmRleCA1NWM3NDVlLi43MDEyZmQwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2N5Y2xhZGVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jeWNsYWRlcy5oCkBAIC0yMSwyMyArMjEsMjMgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGN5Y2xhZGVzX21vbml0b3IgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGludF9jb3VudDsKLSB1bnNpZ25lZCBsb25nIGNoYXJfY291bnQ7Ci0gdW5zaWduZWQgbG9uZyBjaGFyX21heDsKLSB1bnNpZ25lZCBsb25nIGNoYXJfbGFzdDsKKyAgdW5zaWduZWQgbG9uZyBpbnRfY291bnQ7CisgIHVuc2lnbmVkIGxvbmcgY2hhcl9jb3VudDsKKyAgdW5zaWduZWQgbG9uZyBjaGFyX21heDsKKyAgdW5zaWduZWQgbG9uZyBjaGFyX2xhc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBjeWNsYWRlc19pZGxlX3N0YXRzIHsKLSBfX2tlcm5lbF90aW1lX3QgaW5fdXNlOwotIF9fa2VybmVsX3RpbWVfdCByZWN2X2lkbGU7CisgIF9fa2VybmVsX3RpbWVfdCBpbl91c2U7CisgIF9fa2VybmVsX3RpbWVfdCByZWN2X2lkbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3RpbWVfdCB4bWl0X2lkbGU7Ci0gdW5zaWduZWQgbG9uZyByZWN2X2J5dGVzOwotIHVuc2lnbmVkIGxvbmcgeG1pdF9ieXRlczsKLSB1bnNpZ25lZCBsb25nIG92ZXJydW5zOworICBfX2tlcm5lbF90aW1lX3QgeG1pdF9pZGxlOworICB1bnNpZ25lZCBsb25nIHJlY3ZfYnl0ZXM7CisgIHVuc2lnbmVkIGxvbmcgeG1pdF9ieXRlczsKKyAgdW5zaWduZWQgbG9uZyBvdmVycnVuczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBmcmFtZV9lcnJzOwotIHVuc2lnbmVkIGxvbmcgcGFyaXR5X2VycnM7CisgIHVuc2lnbmVkIGxvbmcgZnJhbWVfZXJyczsKKyAgdW5zaWduZWQgbG9uZyBwYXJpdHlfZXJyczsKIH07CiAjZGVmaW5lIENZQ0xBREVTX01BR0lDIDB4NDM1OQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTY0LDE0ICs2NCwxNCBAQAogI2RlZmluZSBDWVNFVFdBSVQgMHg0MzU5MTIKICNkZWZpbmUgQ1lHRVRXQUlUIDB4NDM1OTEzCiAjZGVmaW5lIENaSU9DICgnTScgPDwgOCkKLSNkZWZpbmUgQ1pfTkJPQVJEUyAoQ1pJT0N8MHhmYSkKKyNkZWZpbmUgQ1pfTkJPQVJEUyAoQ1pJT0MgfCAweGZhKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ1pfQk9PVF9TVEFSVCAoQ1pJT0N8MHhmYikKLSNkZWZpbmUgQ1pfQk9PVF9EQVRBIChDWklPQ3wweGZjKQotI2RlZmluZSBDWl9CT09UX0VORCAoQ1pJT0N8MHhmZCkKLSNkZWZpbmUgQ1pfVEVTVCAoQ1pJT0N8MHhmZSkKKyNkZWZpbmUgQ1pfQk9PVF9TVEFSVCAoQ1pJT0MgfCAweGZiKQorI2RlZmluZSBDWl9CT09UX0RBVEEgKENaSU9DIHwgMHhmYykKKyNkZWZpbmUgQ1pfQk9PVF9FTkQgKENaSU9DIHwgMHhmZCkKKyNkZWZpbmUgQ1pfVEVTVCAoQ1pJT0MgfCAweGZlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ1pfREVGX1BPTEwgKEhaLzI1KQorI2RlZmluZSBDWl9ERUZfUE9MTCAoSFogLyAyNSkKICNkZWZpbmUgTUFYX0JPQVJEIDQKICNkZWZpbmUgTUFYX0RFViAyNTYKICNkZWZpbmUgQ1laX01BWF9TUEVFRCA5MjE2MDAKQEAgLTc5LDE0ICs3OSwxNCBAQAogI2RlZmluZSBDWVpfRklGT19TSVpFIDE2CiAjZGVmaW5lIENZWl9CT09UX05XT1JEUyAweDEwMAogc3RydWN0IENZWl9CT09UX0NUUkwgewotIHVuc2lnbmVkIHNob3J0IG5ib2FyZDsKKyAgdW5zaWduZWQgc2hvcnQgbmJvYXJkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc3RhdHVzW01BWF9CT0FSRF07Ci0gaW50IG5jaGFubmVsW01BWF9CT0FSRF07Ci0gaW50IGZ3X3JldltNQVhfQk9BUkRdOwotIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OworICBpbnQgc3RhdHVzW01BWF9CT0FSRF07CisgIGludCBuY2hhbm5lbFtNQVhfQk9BUkRdOworICBpbnQgZndfcmV2W01BWF9CT0FSRF07CisgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGRhdGFbQ1laX0JPT1RfTldPUkRTXTsKKyAgdW5zaWduZWQgbG9uZyBkYXRhW0NZWl9CT09UX05XT1JEU107CiB9OwogI2lmbmRlZiBEUF9XSU5ET1dfU0laRQogI2RlZmluZSBEUF9XSU5ET1dfU0laRSAoMHgwMDA4MDAwMCkKQEAgLTk0LDY2ICs5NCw2NiBAQAogI2RlZmluZSBaRV9EUF9XSU5ET1dfU0laRSAoMHgwMDEwMDAwMCkKICNkZWZpbmUgQ1RSTF9XSU5ET1dfU0laRSAoMHgwMDAwMDA4MCkKIHN0cnVjdCBDVVNUT01fUkVHIHsKLSBfX3UzMiBmcGdhX2lkOworICBfX3UzMiBmcGdhX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmcGdhX3ZlcnNpb247Ci0gX191MzIgY3B1X3N0YXJ0OwotIF9fdTMyIGNwdV9zdG9wOwotIF9fdTMyIG1pc2NfcmVnOworICBfX3UzMiBmcGdhX3ZlcnNpb247CisgIF9fdTMyIGNwdV9zdGFydDsKKyAgX191MzIgY3B1X3N0b3A7CisgIF9fdTMyIG1pc2NfcmVnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZHRfbW9kZTsKLSBfX3UzMiB1YXJ0X2lycV9zdGF0dXM7Ci0gX191MzIgY2xlYXJfdGltZXIwX2lycTsKLSBfX3UzMiBjbGVhcl90aW1lcjFfaXJxOworICBfX3UzMiBpZHRfbW9kZTsKKyAgX191MzIgdWFydF9pcnFfc3RhdHVzOworICBfX3UzMiBjbGVhcl90aW1lcjBfaXJxOworICBfX3UzMiBjbGVhcl90aW1lcjFfaXJxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjbGVhcl90aW1lcjJfaXJxOwotIF9fdTMyIHRlc3RfcmVnaXN0ZXI7Ci0gX191MzIgdGVzdF9jb3VudDsKLSBfX3UzMiB0aW1lcl9zZWxlY3Q7CisgIF9fdTMyIGNsZWFyX3RpbWVyMl9pcnE7CisgIF9fdTMyIHRlc3RfcmVnaXN0ZXI7CisgIF9fdTMyIHRlc3RfY291bnQ7CisgIF9fdTMyIHRpbWVyX3NlbGVjdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHJfdWFydF9pcnFfc3RhdHVzOwotIF9fdTMyIHJhbV93YWl0X3N0YXRlOwotIF9fdTMyIHVhcnRfd2FpdF9zdGF0ZTsKLSBfX3UzMiB0aW1lcl93YWl0X3N0YXRlOworICBfX3UzMiBwcl91YXJ0X2lycV9zdGF0dXM7CisgIF9fdTMyIHJhbV93YWl0X3N0YXRlOworICBfX3UzMiB1YXJ0X3dhaXRfc3RhdGU7CisgIF9fdTMyIHRpbWVyX3dhaXRfc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGFja193YWl0X3N0YXRlOworICBfX3UzMiBhY2tfd2FpdF9zdGF0ZTsKIH07CiBzdHJ1Y3QgUlVOVElNRV85MDYwIHsKLSBfX3UzMiBsb2NfYWRkcl9yYW5nZTsKKyAgX191MzIgbG9jX2FkZHJfcmFuZ2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxvY19hZGRyX2Jhc2U7Ci0gX191MzIgbG9jX2FyYml0cjsKLSBfX3UzMiBlbmRpYW5fZGVzY3I7Ci0gX191MzIgbG9jX3JvbV9yYW5nZTsKKyAgX191MzIgbG9jX2FkZHJfYmFzZTsKKyAgX191MzIgbG9jX2FyYml0cjsKKyAgX191MzIgZW5kaWFuX2Rlc2NyOworICBfX3UzMiBsb2Nfcm9tX3JhbmdlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsb2Nfcm9tX2Jhc2U7Ci0gX191MzIgbG9jX2J1c19kZXNjcjsKLSBfX3UzMiBsb2NfcmFuZ2VfbXN0OwotIF9fdTMyIGxvY19iYXNlX21zdDsKKyAgX191MzIgbG9jX3JvbV9iYXNlOworICBfX3UzMiBsb2NfYnVzX2Rlc2NyOworICBfX3UzMiBsb2NfcmFuZ2VfbXN0OworICBfX3UzMiBsb2NfYmFzZV9tc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxvY19yYW5nZV9pbzsKLSBfX3UzMiBwY2lfYmFzZV9tc3Q7Ci0gX191MzIgcGNpX2NvbmZfaW87Ci0gX191MzIgZmlsbGVyMTsKKyAgX191MzIgbG9jX3JhbmdlX2lvOworICBfX3UzMiBwY2lfYmFzZV9tc3Q7CisgIF9fdTMyIHBjaV9jb25mX2lvOworICBfX3UzMiBmaWxsZXIxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmaWxsZXIyOwotIF9fdTMyIGZpbGxlcjM7Ci0gX191MzIgZmlsbGVyNDsKLSBfX3UzMiBtYWlsX2JveF8wOworICBfX3UzMiBmaWxsZXIyOworICBfX3UzMiBmaWxsZXIzOworICBfX3UzMiBmaWxsZXI0OworICBfX3UzMiBtYWlsX2JveF8wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYWlsX2JveF8xOwotIF9fdTMyIG1haWxfYm94XzI7Ci0gX191MzIgbWFpbF9ib3hfMzsKLSBfX3UzMiBmaWxsZXI1OworICBfX3UzMiBtYWlsX2JveF8xOworICBfX3UzMiBtYWlsX2JveF8yOworICBfX3UzMiBtYWlsX2JveF8zOworICBfX3UzMiBmaWxsZXI1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmaWxsZXI2OwotIF9fdTMyIGZpbGxlcjc7Ci0gX191MzIgZmlsbGVyODsKLSBfX3UzMiBwY2lfZG9vcmJlbGw7CisgIF9fdTMyIGZpbGxlcjY7CisgIF9fdTMyIGZpbGxlcjc7CisgIF9fdTMyIGZpbGxlcjg7CisgIF9fdTMyIHBjaV9kb29yYmVsbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbG9jX2Rvb3JiZWxsOwotIF9fdTMyIGludHJfY3RybF9zdGF0OwotIF9fdTMyIGluaXRfY3RybDsKKyAgX191MzIgbG9jX2Rvb3JiZWxsOworICBfX3UzMiBpbnRyX2N0cmxfc3RhdDsKKyAgX191MzIgaW5pdF9jdHJsOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdJTl9SQU0gMHgwMDAwMDAwMUwKQEAgLTE3Niw4ICsxNzYsOCBAQAogI2RlZmluZSBaRl9USU5BQ1QgWkZfVElOQUNUX0RFRgogc3RydWN0IEZJUk1fSUQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzaWduYXR1cmU7Ci0gX191MzIgemZ3Y3RybF9hZGRyOworICBfX3UzMiBzaWduYXR1cmU7CisgIF9fdTMyIHpmd2N0cmxfYWRkcjsKIH07CiAjZGVmaW5lIENfT1NfTElOVVggMHgwMDAwMDAzMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTI5OSw3OSArMjk5LDc5IEBACiAjZGVmaW5lIENfQ01fRkFUQUwgMHg5MQogI2RlZmluZSBDX0NNX0hXX1JFU0VUIDB4OTIKIHN0cnVjdCBDSF9DVFJMIHsKLSBfX3UzMiBvcF9tb2RlOworICBfX3UzMiBvcF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbnRyX2VuYWJsZTsKLSBfX3UzMiBzd19mbG93OwotIF9fdTMyIGZsb3dfc3RhdHVzOwotIF9fdTMyIGNvbW1fYmF1ZDsKKyAgX191MzIgaW50cl9lbmFibGU7CisgIF9fdTMyIHN3X2Zsb3c7CisgIF9fdTMyIGZsb3dfc3RhdHVzOworICBfX3UzMiBjb21tX2JhdWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvbW1fcGFyaXR5OwotIF9fdTMyIGNvbW1fZGF0YV9sOwotIF9fdTMyIGNvbW1fZmxhZ3M7Ci0gX191MzIgaHdfZmxvdzsKKyAgX191MzIgY29tbV9wYXJpdHk7CisgIF9fdTMyIGNvbW1fZGF0YV9sOworICBfX3UzMiBjb21tX2ZsYWdzOworICBfX3UzMiBod19mbG93OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByc19jb250cm9sOwotIF9fdTMyIHJzX3N0YXR1czsKLSBfX3UzMiBmbG93X3hvbjsKLSBfX3UzMiBmbG93X3hvZmY7CisgIF9fdTMyIHJzX2NvbnRyb2w7CisgIF9fdTMyIHJzX3N0YXR1czsKKyAgX191MzIgZmxvd194b247CisgIF9fdTMyIGZsb3dfeG9mZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaHdfb3ZlcmZsb3c7Ci0gX191MzIgc3dfb3ZlcmZsb3c7Ci0gX191MzIgY29tbV9lcnJvcjsKLSBfX3UzMiBpY2hhcjsKKyAgX191MzIgaHdfb3ZlcmZsb3c7CisgIF9fdTMyIHN3X292ZXJmbG93OworICBfX3UzMiBjb21tX2Vycm9yOworICBfX3UzMiBpY2hhcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmlsbGVyWzddOworICBfX3UzMiBmaWxsZXJbN107CiB9Owogc3RydWN0IEJVRl9DVFJMIHsKLSBfX3UzMiBmbGFnX2RtYTsKKyAgX191MzIgZmxhZ19kbWE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR4X2J1ZmFkZHI7Ci0gX191MzIgdHhfYnVmc2l6ZTsKLSBfX3UzMiB0eF90aHJlc2hvbGQ7Ci0gX191MzIgdHhfZ2V0OworICBfX3UzMiB0eF9idWZhZGRyOworICBfX3UzMiB0eF9idWZzaXplOworICBfX3UzMiB0eF90aHJlc2hvbGQ7CisgIF9fdTMyIHR4X2dldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHhfcHV0OwotIF9fdTMyIHJ4X2J1ZmFkZHI7Ci0gX191MzIgcnhfYnVmc2l6ZTsKLSBfX3UzMiByeF90aHJlc2hvbGQ7CisgIF9fdTMyIHR4X3B1dDsKKyAgX191MzIgcnhfYnVmYWRkcjsKKyAgX191MzIgcnhfYnVmc2l6ZTsKKyAgX191MzIgcnhfdGhyZXNob2xkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByeF9nZXQ7Ci0gX191MzIgcnhfcHV0OwotIF9fdTMyIGZpbGxlcls1XTsKKyAgX191MzIgcnhfZ2V0OworICBfX3UzMiByeF9wdXQ7CisgIF9fdTMyIGZpbGxlcls1XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IEJPQVJEX0NUUkwgewotIF9fdTMyIG5fY2hhbm5lbDsKLSBfX3UzMiBmd192ZXJzaW9uOwotIF9fdTMyIG9wX3N5c3RlbTsKKyAgX191MzIgbl9jaGFubmVsOworICBfX3UzMiBmd192ZXJzaW9uOworICBfX3UzMiBvcF9zeXN0ZW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRyX3ZlcnNpb247Ci0gX191MzIgaW5hY3Rpdml0eTsKLSBfX3UzMiBoY21kX2NoYW5uZWw7Ci0gX191MzIgaGNtZF9wYXJhbTsKKyAgX191MzIgZHJfdmVyc2lvbjsKKyAgX191MzIgaW5hY3Rpdml0eTsKKyAgX191MzIgaGNtZF9jaGFubmVsOworICBfX3UzMiBoY21kX3BhcmFtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmd2NtZF9jaGFubmVsOwotIF9fdTMyIGZ3Y21kX3BhcmFtOwotIF9fdTMyIHpmX2ludF9xdWV1ZV9hZGRyOwotIF9fdTMyIGZpbGxlcls2XTsKKyAgX191MzIgZndjbWRfY2hhbm5lbDsKKyAgX191MzIgZndjbWRfcGFyYW07CisgIF9fdTMyIHpmX2ludF9xdWV1ZV9hZGRyOworICBfX3UzMiBmaWxsZXJbNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgUVVFVUVfU0laRSAoMTAqTUFYX0NIQU4pCisjZGVmaW5lIFFVRVVFX1NJWkUgKDEwICogTUFYX0NIQU4pCiBzdHJ1Y3QgSU5UX1FVRVVFIHsKLSB1bnNpZ25lZCBjaGFyIGludHJfY29kZVtRVUVVRV9TSVpFXTsKKyAgdW5zaWduZWQgY2hhciBpbnRyX2NvZGVbUVVFVUVfU0laRV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgY2hhbm5lbFtRVUVVRV9TSVpFXTsKLSB1bnNpZ25lZCBsb25nIHBhcmFtW1FVRVVFX1NJWkVdOwotIHVuc2lnbmVkIGxvbmcgcHV0OwotIHVuc2lnbmVkIGxvbmcgZ2V0OworICB1bnNpZ25lZCBsb25nIGNoYW5uZWxbUVVFVUVfU0laRV07CisgIHVuc2lnbmVkIGxvbmcgcGFyYW1bUVVFVUVfU0laRV07CisgIHVuc2lnbmVkIGxvbmcgcHV0OworICB1bnNpZ25lZCBsb25nIGdldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IFpGV19DVFJMIHsKLSBzdHJ1Y3QgQk9BUkRfQ1RSTCBib2FyZF9jdHJsOwotIHN0cnVjdCBDSF9DVFJMIGNoX2N0cmxbTUFYX0NIQU5dOworICBzdHJ1Y3QgQk9BUkRfQ1RSTCBib2FyZF9jdHJsOworICBzdHJ1Y3QgQ0hfQ1RSTCBjaF9jdHJsW01BWF9DSEFOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IEJVRl9DVFJMIGJ1Zl9jdHJsW01BWF9DSEFOXTsKKyAgc3RydWN0IEJVRl9DVFJMIGJ1Zl9jdHJsW01BWF9DSEFOXTsKIH07CiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jeWN4X2NmbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9jeWN4X2NmbS5oCmluZGV4IDJkOTkzMWUuLjhhYTBkYjAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvY3ljeF9jZm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2N5Y3hfY2ZtLmgKQEAgLTM4LDM3ICszOCwzNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0ZJRF9YMjVfMlggNTIwMAogc3RydWN0IGN5Y3hfZndfaW5mbyB7Ci0gdW5zaWduZWQgc2hvcnQgY29kZWlkOwotIHVuc2lnbmVkIHNob3J0IHZlcnNpb247CisgIHVuc2lnbmVkIHNob3J0IGNvZGVpZDsKKyAgdW5zaWduZWQgc2hvcnQgdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgYWRhcHRlcltDRk1fTUFYX0NZQ1hdOwotIHVuc2lnbmVkIGxvbmcgbWVtc2l6ZTsKLSB1bnNpZ25lZCBzaG9ydCByZXNlcnZlZFsyXTsKLSB1bnNpZ25lZCBzaG9ydCBzdGFydG9mZnM7CisgIHVuc2lnbmVkIHNob3J0IGFkYXB0ZXJbQ0ZNX01BWF9DWUNYXTsKKyAgdW5zaWduZWQgbG9uZyBtZW1zaXplOworICB1bnNpZ25lZCBzaG9ydCByZXNlcnZlZFsyXTsKKyAgdW5zaWduZWQgc2hvcnQgc3RhcnRvZmZzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB3aW5vZmZzOwotIHVuc2lnbmVkIHNob3J0IGNvZGVvZmZzOwotIHVuc2lnbmVkIGxvbmcgY29kZXNpemU7Ci0gdW5zaWduZWQgc2hvcnQgZGF0YW9mZnM7CisgIHVuc2lnbmVkIHNob3J0IHdpbm9mZnM7CisgIHVuc2lnbmVkIHNob3J0IGNvZGVvZmZzOworICB1bnNpZ25lZCBsb25nIGNvZGVzaXplOworICB1bnNpZ25lZCBzaG9ydCBkYXRhb2ZmczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBkYXRhc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBkYXRhc2l6ZTsKIH07CiBzdHJ1Y3QgY3ljeF9maXJtd2FyZSB7Ci0gY2hhciBzaWduYXR1cmVbODBdOworICBjaGFyIHNpZ25hdHVyZVs4MF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHZlcnNpb247Ci0gdW5zaWduZWQgc2hvcnQgY2hlY2tzdW07Ci0gdW5zaWduZWQgc2hvcnQgcmVzZXJ2ZWRbNl07Ci0gY2hhciBkZXNjcltDRk1fREVTQ1JfTEVOXTsKKyAgdW5zaWduZWQgc2hvcnQgdmVyc2lvbjsKKyAgdW5zaWduZWQgc2hvcnQgY2hlY2tzdW07CisgIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkWzZdOworICBjaGFyIGRlc2NyW0NGTV9ERVNDUl9MRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgY3ljeF9md19pbmZvIGluZm87Ci0gdW5zaWduZWQgY2hhciBpbWFnZVswXTsKKyAgc3RydWN0IGN5Y3hfZndfaW5mbyBpbmZvOworICB1bnNpZ25lZCBjaGFyIGltYWdlWzBdOwogfTsKIHN0cnVjdCBjeWN4X2Z3X2hlYWRlciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgcmVzZXRfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIGRhdGFfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIGNvZGVfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyByZXNldF9zaXplOworICB1bnNpZ25lZCBsb25nIGRhdGFfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBjb2RlX3NpemU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kY2JubC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kY2JubC5oCmluZGV4IDY5YjIwYWYuLjI2MjNiOGUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGNibmwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RjYm5sLmgKQEAgLTI3LDUyICsyNyw1MiBAQAogI2RlZmluZSBJRUVFXzgwMjFRQVpfVFNBX1ZFTkRPUiAyNTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWVlZV9ldHMgewotIF9fdTggd2lsbGluZzsKLSBfX3U4IGV0c19jYXA7Ci0gX191OCBjYnM7CisgIF9fdTggd2lsbGluZzsKKyAgX191OCBldHNfY2FwOworICBfX3U4IGNiczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0Y190eF9id1tJRUVFXzgwMjFRQVpfTUFYX1RDU107Ci0gX191OCB0Y19yeF9id1tJRUVFXzgwMjFRQVpfTUFYX1RDU107Ci0gX191OCB0Y190c2FbSUVFRV84MDIxUUFaX01BWF9UQ1NdOwotIF9fdTggcHJpb190Y1tJRUVFXzgwMjFRQVpfTUFYX1RDU107CisgIF9fdTggdGNfdHhfYndbSUVFRV84MDIxUUFaX01BWF9UQ1NdOworICBfX3U4IHRjX3J4X2J3W0lFRUVfODAyMVFBWl9NQVhfVENTXTsKKyAgX191OCB0Y190c2FbSUVFRV84MDIxUUFaX01BWF9UQ1NdOworICBfX3U4IHByaW9fdGNbSUVFRV84MDIxUUFaX01BWF9UQ1NdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHRjX3JlY29fYndbSUVFRV84MDIxUUFaX01BWF9UQ1NdOwotIF9fdTggdGNfcmVjb190c2FbSUVFRV84MDIxUUFaX01BWF9UQ1NdOwotIF9fdTggcmVjb19wcmlvX3RjW0lFRUVfODAyMVFBWl9NQVhfVENTXTsKKyAgX191OCB0Y19yZWNvX2J3W0lFRUVfODAyMVFBWl9NQVhfVENTXTsKKyAgX191OCB0Y19yZWNvX3RzYVtJRUVFXzgwMjFRQVpfTUFYX1RDU107CisgIF9fdTggcmVjb19wcmlvX3RjW0lFRUVfODAyMVFBWl9NQVhfVENTXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGllZWVfbWF4cmF0ZSB7Ci0gX191NjQgdGNfbWF4cmF0ZVtJRUVFXzgwMjFRQVpfTUFYX1RDU107CisgIF9fdTY0IHRjX21heHJhdGVbSUVFRV84MDIxUUFaX01BWF9UQ1NdOwogfTsKIHN0cnVjdCBpZWVlX3BmYyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGZjX2NhcDsKLSBfX3U4IHBmY19lbjsKLSBfX3U4IG1iYzsKLSBfX3UxNiBkZWxheTsKKyAgX191OCBwZmNfY2FwOworICBfX3U4IHBmY19lbjsKKyAgX191OCBtYmM7CisgIF9fdTE2IGRlbGF5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXF1ZXN0c1tJRUVFXzgwMjFRQVpfTUFYX1RDU107Ci0gX191NjQgaW5kaWNhdGlvbnNbSUVFRV84MDIxUUFaX01BWF9UQ1NdOworICBfX3U2NCByZXF1ZXN0c1tJRUVFXzgwMjFRQVpfTUFYX1RDU107CisgIF9fdTY0IGluZGljYXRpb25zW0lFRUVfODAyMVFBWl9NQVhfVENTXTsKIH07CiAjZGVmaW5lIENFRV9EQ0JYX01BWF9QR1MgOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0VFX0RDQlhfTUFYX1BSSU8gOAogc3RydWN0IGNlZV9wZyB7Ci0gX191OCB3aWxsaW5nOwotIF9fdTggZXJyb3I7CisgIF9fdTggd2lsbGluZzsKKyAgX191OCBlcnJvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwZ19lbjsKLSBfX3U4IHRjc19zdXBwb3J0ZWQ7Ci0gX191OCBwZ19id1tDRUVfRENCWF9NQVhfUEdTXTsKLSBfX3U4IHByaW9fcGdbQ0VFX0RDQlhfTUFYX1BHU107CisgIF9fdTggcGdfZW47CisgIF9fdTggdGNzX3N1cHBvcnRlZDsKKyAgX191OCBwZ19id1tDRUVfRENCWF9NQVhfUEdTXTsKKyAgX191OCBwcmlvX3BnW0NFRV9EQ0JYX01BWF9QR1NdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgY2VlX3BmYyB7Ci0gX191OCB3aWxsaW5nOwotIF9fdTggZXJyb3I7CisgIF9fdTggd2lsbGluZzsKKyAgX191OCBlcnJvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwZmNfZW47Ci0gX191OCB0Y3Nfc3VwcG9ydGVkOworICBfX3U4IHBmY19lbjsKKyAgX191OCB0Y3Nfc3VwcG9ydGVkOwogfTsKICNkZWZpbmUgSUVFRV84MDIxUUFaX0FQUF9TRUxfRVRIRVJUWVBFIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC04MSwyMjAgKzgxLDIyMCBAQAogI2RlZmluZSBJRUVFXzgwMjFRQVpfQVBQX1NFTF9BTlkgNAogc3RydWN0IGRjYl9hcHAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNlbGVjdG9yOwotIF9fdTggcHJpb3JpdHk7Ci0gX191MTYgcHJvdG9jb2w7CisgIF9fdTggc2VsZWN0b3I7CisgIF9fdTggcHJpb3JpdHk7CisgIF9fdTE2IHByb3RvY29sOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZGNiX3BlZXJfYXBwX2luZm8gewotIF9fdTggd2lsbGluZzsKLSBfX3U4IGVycm9yOworICBfX3U4IHdpbGxpbmc7CisgIF9fdTggZXJyb3I7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkY2Jtc2cgewotIF9fdTggZGNiX2ZhbWlseTsKLSBfX3U4IGNtZDsKLSBfX3UxNiBkY2JfcGFkOworICBfX3U4IGRjYl9mYW1pbHk7CisgIF9fdTggY21kOworICBfX3UxNiBkY2JfcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGRjYm5sX2NvbW1hbmRzIHsKLSBEQ0JfQ01EX1VOREVGSU5FRCwKLSBEQ0JfQ01EX0dTVEFURSwKKyAgRENCX0NNRF9VTkRFRklORUQsCisgIERDQl9DTURfR1NUQVRFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfQ01EX1NTVEFURSwKLSBEQ0JfQ01EX1BHVFhfR0NGRywKLSBEQ0JfQ01EX1BHVFhfU0NGRywKLSBEQ0JfQ01EX1BHUlhfR0NGRywKKyAgRENCX0NNRF9TU1RBVEUsCisgIERDQl9DTURfUEdUWF9HQ0ZHLAorICBEQ0JfQ01EX1BHVFhfU0NGRywKKyAgRENCX0NNRF9QR1JYX0dDRkcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9DTURfUEdSWF9TQ0ZHLAotIERDQl9DTURfUEZDX0dDRkcsCi0gRENCX0NNRF9QRkNfU0NGRywKLSBEQ0JfQ01EX1NFVF9BTEwsCisgIERDQl9DTURfUEdSWF9TQ0ZHLAorICBEQ0JfQ01EX1BGQ19HQ0ZHLAorICBEQ0JfQ01EX1BGQ19TQ0ZHLAorICBEQ0JfQ01EX1NFVF9BTEwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9DTURfR1BFUk1fSFdBRERSLAotIERDQl9DTURfR0NBUCwKLSBEQ0JfQ01EX0dOVU1UQ1MsCi0gRENCX0NNRF9TTlVNVENTLAorICBEQ0JfQ01EX0dQRVJNX0hXQUREUiwKKyAgRENCX0NNRF9HQ0FQLAorICBEQ0JfQ01EX0dOVU1UQ1MsCisgIERDQl9DTURfU05VTVRDUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0NNRF9QRkNfR1NUQVRFLAotIERDQl9DTURfUEZDX1NTVEFURSwKLSBEQ0JfQ01EX0JDTl9HQ0ZHLAotIERDQl9DTURfQkNOX1NDRkcsCisgIERDQl9DTURfUEZDX0dTVEFURSwKKyAgRENCX0NNRF9QRkNfU1NUQVRFLAorICBEQ0JfQ01EX0JDTl9HQ0ZHLAorICBEQ0JfQ01EX0JDTl9TQ0ZHLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfQ01EX0dBUFAsCi0gRENCX0NNRF9TQVBQLAotIERDQl9DTURfSUVFRV9TRVQsCi0gRENCX0NNRF9JRUVFX0dFVCwKKyAgRENCX0NNRF9HQVBQLAorICBEQ0JfQ01EX1NBUFAsCisgIERDQl9DTURfSUVFRV9TRVQsCisgIERDQl9DTURfSUVFRV9HRVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9DTURfR0RDQlgsCi0gRENCX0NNRF9TRENCWCwKLSBEQ0JfQ01EX0dGRUFUQ0ZHLAotIERDQl9DTURfU0ZFQVRDRkcsCisgIERDQl9DTURfR0RDQlgsCisgIERDQl9DTURfU0RDQlgsCisgIERDQl9DTURfR0ZFQVRDRkcsCisgIERDQl9DTURfU0ZFQVRDRkcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9DTURfQ0VFX0dFVCwKLSBEQ0JfQ01EX0lFRUVfREVMLAotIF9fRENCX0NNRF9FTlVNX01BWCwKLSBEQ0JfQ01EX01BWCA9IF9fRENCX0NNRF9FTlVNX01BWCAtIDEsCisgIERDQl9DTURfQ0VFX0dFVCwKKyAgRENCX0NNRF9JRUVFX0RFTCwKKyAgX19EQ0JfQ01EX0VOVU1fTUFYLAorICBEQ0JfQ01EX01BWCA9IF9fRENCX0NNRF9FTlVNX01BWCAtIDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZGNibmxfYXR0cnMgewotIERDQl9BVFRSX1VOREVGSU5FRCwKLSBEQ0JfQVRUUl9JRk5BTUUsCisgIERDQl9BVFRSX1VOREVGSU5FRCwKKyAgRENCX0FUVFJfSUZOQU1FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfQVRUUl9TVEFURSwKLSBEQ0JfQVRUUl9QRkNfU1RBVEUsCi0gRENCX0FUVFJfUEZDX0NGRywKLSBEQ0JfQVRUUl9OVU1fVEMsCisgIERDQl9BVFRSX1NUQVRFLAorICBEQ0JfQVRUUl9QRkNfU1RBVEUsCisgIERDQl9BVFRSX1BGQ19DRkcsCisgIERDQl9BVFRSX05VTV9UQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0FUVFJfUEdfQ0ZHLAotIERDQl9BVFRSX1NFVF9BTEwsCi0gRENCX0FUVFJfUEVSTV9IV0FERFIsCi0gRENCX0FUVFJfQ0FQLAorICBEQ0JfQVRUUl9QR19DRkcsCisgIERDQl9BVFRSX1NFVF9BTEwsCisgIERDQl9BVFRSX1BFUk1fSFdBRERSLAorICBEQ0JfQVRUUl9DQVAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9BVFRSX05VTVRDUywKLSBEQ0JfQVRUUl9CQ04sCi0gRENCX0FUVFJfQVBQLAotIERDQl9BVFRSX0lFRUUsCisgIERDQl9BVFRSX05VTVRDUywKKyAgRENCX0FUVFJfQkNOLAorICBEQ0JfQVRUUl9BUFAsCisgIERDQl9BVFRSX0lFRUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9BVFRSX0RDQlgsCi0gRENCX0FUVFJfRkVBVENGRywKLSBEQ0JfQVRUUl9DRUUsCi0gX19EQ0JfQVRUUl9FTlVNX01BWCwKKyAgRENCX0FUVFJfRENCWCwKKyAgRENCX0FUVFJfRkVBVENGRywKKyAgRENCX0FUVFJfQ0VFLAorICBfX0RDQl9BVFRSX0VOVU1fTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfQVRUUl9NQVggPSBfX0RDQl9BVFRSX0VOVU1fTUFYIC0gMSwKKyAgRENCX0FUVFJfTUFYID0gX19EQ0JfQVRUUl9FTlVNX01BWCAtIDEsCiB9OwogZW51bSBpZWVlX2F0dHJzIHsKLSBEQ0JfQVRUUl9JRUVFX1VOU1BFQywKKyAgRENCX0FUVFJfSUVFRV9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9BVFRSX0lFRUVfRVRTLAotIERDQl9BVFRSX0lFRUVfUEZDLAotIERDQl9BVFRSX0lFRUVfQVBQX1RBQkxFLAotIERDQl9BVFRSX0lFRUVfUEVFUl9FVFMsCisgIERDQl9BVFRSX0lFRUVfRVRTLAorICBEQ0JfQVRUUl9JRUVFX1BGQywKKyAgRENCX0FUVFJfSUVFRV9BUFBfVEFCTEUsCisgIERDQl9BVFRSX0lFRUVfUEVFUl9FVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9BVFRSX0lFRUVfUEVFUl9QRkMsCi0gRENCX0FUVFJfSUVFRV9QRUVSX0FQUCwKLSBEQ0JfQVRUUl9JRUVFX01BWFJBVEUsCi0gX19EQ0JfQVRUUl9JRUVFX01BWAorICBEQ0JfQVRUUl9JRUVFX1BFRVJfUEZDLAorICBEQ0JfQVRUUl9JRUVFX1BFRVJfQVBQLAorICBEQ0JfQVRUUl9JRUVFX01BWFJBVEUsCisgIF9fRENCX0FUVFJfSUVFRV9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBEQ0JfQVRUUl9JRUVFX01BWCAoX19EQ0JfQVRUUl9JRUVFX01BWCAtIDEpCiBlbnVtIGllZWVfYXR0cnNfYXBwIHsKLSBEQ0JfQVRUUl9JRUVFX0FQUF9VTlNQRUMsCisgIERDQl9BVFRSX0lFRUVfQVBQX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0FUVFJfSUVFRV9BUFAsCi0gX19EQ0JfQVRUUl9JRUVFX0FQUF9NQVgKKyAgRENCX0FUVFJfSUVFRV9BUFAsCisgIF9fRENCX0FUVFJfSUVFRV9BUFBfTUFYCiB9OwogI2RlZmluZSBEQ0JfQVRUUl9JRUVFX0FQUF9NQVggKF9fRENCX0FUVFJfSUVFRV9BUFBfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGNlZV9hdHRycyB7Ci0gRENCX0FUVFJfQ0VFX1VOU1BFQywKLSBEQ0JfQVRUUl9DRUVfUEVFUl9QRywKLSBEQ0JfQVRUUl9DRUVfUEVFUl9QRkMsCisgIERDQl9BVFRSX0NFRV9VTlNQRUMsCisgIERDQl9BVFRSX0NFRV9QRUVSX1BHLAorICBEQ0JfQVRUUl9DRUVfUEVFUl9QRkMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9BVFRSX0NFRV9QRUVSX0FQUF9UQUJMRSwKLSBEQ0JfQVRUUl9DRUVfVFhfUEcsCi0gRENCX0FUVFJfQ0VFX1JYX1BHLAotIERDQl9BVFRSX0NFRV9QRkMsCisgIERDQl9BVFRSX0NFRV9QRUVSX0FQUF9UQUJMRSwKKyAgRENCX0FUVFJfQ0VFX1RYX1BHLAorICBEQ0JfQVRUUl9DRUVfUlhfUEcsCisgIERDQl9BVFRSX0NFRV9QRkMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9BVFRSX0NFRV9BUFBfVEFCTEUsCi0gRENCX0FUVFJfQ0VFX0ZFQVQsCi0gX19EQ0JfQVRUUl9DRUVfTUFYCisgIERDQl9BVFRSX0NFRV9BUFBfVEFCTEUsCisgIERDQl9BVFRSX0NFRV9GRUFULAorICBfX0RDQl9BVFRSX0NFRV9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEQ0JfQVRUUl9DRUVfTUFYIChfX0RDQl9BVFRSX0NFRV9NQVggLSAxKQogZW51bSBwZWVyX2FwcF9hdHRyIHsKLSBEQ0JfQVRUUl9DRUVfUEVFUl9BUFBfVU5TUEVDLAotIERDQl9BVFRSX0NFRV9QRUVSX0FQUF9JTkZPLAorICBEQ0JfQVRUUl9DRUVfUEVFUl9BUFBfVU5TUEVDLAorICBEQ0JfQVRUUl9DRUVfUEVFUl9BUFBfSU5GTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0FUVFJfQ0VFX1BFRVJfQVBQLAotIF9fRENCX0FUVFJfQ0VFX1BFRVJfQVBQX01BWAorICBEQ0JfQVRUUl9DRUVfUEVFUl9BUFAsCisgIF9fRENCX0FUVFJfQ0VFX1BFRVJfQVBQX01BWAogfTsKICNkZWZpbmUgRENCX0FUVFJfQ0VFX1BFRVJfQVBQX01BWCAoX19EQ0JfQVRUUl9DRUVfUEVFUl9BUFBfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGNlZV9hdHRyc19hcHAgewotIERDQl9BVFRSX0NFRV9BUFBfVU5TUEVDLAotIERDQl9BVFRSX0NFRV9BUFAsCi0gX19EQ0JfQVRUUl9DRUVfQVBQX01BWAorICBEQ0JfQVRUUl9DRUVfQVBQX1VOU1BFQywKKyAgRENCX0FUVFJfQ0VFX0FQUCwKKyAgX19EQ0JfQVRUUl9DRUVfQVBQX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIERDQl9BVFRSX0NFRV9BUFBfTUFYIChfX0RDQl9BVFRSX0NFRV9BUFBfTUFYIC0gMSkKIGVudW0gZGNibmxfcGZjX3VwX2F0dHJzIHsKLSBEQ0JfUEZDX1VQX0FUVFJfVU5ERUZJTkVELAorICBEQ0JfUEZDX1VQX0FUVFJfVU5ERUZJTkVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfUEZDX1VQX0FUVFJfMCwKLSBEQ0JfUEZDX1VQX0FUVFJfMSwKLSBEQ0JfUEZDX1VQX0FUVFJfMiwKLSBEQ0JfUEZDX1VQX0FUVFJfMywKKyAgRENCX1BGQ19VUF9BVFRSXzAsCisgIERDQl9QRkNfVVBfQVRUUl8xLAorICBEQ0JfUEZDX1VQX0FUVFJfMiwKKyAgRENCX1BGQ19VUF9BVFRSXzMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9QRkNfVVBfQVRUUl80LAotIERDQl9QRkNfVVBfQVRUUl81LAotIERDQl9QRkNfVVBfQVRUUl82LAotIERDQl9QRkNfVVBfQVRUUl83LAorICBEQ0JfUEZDX1VQX0FUVFJfNCwKKyAgRENCX1BGQ19VUF9BVFRSXzUsCisgIERDQl9QRkNfVVBfQVRUUl82LAorICBEQ0JfUEZDX1VQX0FUVFJfNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX1BGQ19VUF9BVFRSX0FMTCwKLSBfX0RDQl9QRkNfVVBfQVRUUl9FTlVNX01BWCwKLSBEQ0JfUEZDX1VQX0FUVFJfTUFYID0gX19EQ0JfUEZDX1VQX0FUVFJfRU5VTV9NQVggLSAxLAorICBEQ0JfUEZDX1VQX0FUVFJfQUxMLAorICBfX0RDQl9QRkNfVVBfQVRUUl9FTlVNX01BWCwKKyAgRENCX1BGQ19VUF9BVFRSX01BWCA9IF9fRENCX1BGQ19VUF9BVFRSX0VOVU1fTUFYIC0gMSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBkY2JubF9wZ19hdHRycyB7Ci0gRENCX1BHX0FUVFJfVU5ERUZJTkVELAotIERDQl9QR19BVFRSX1RDXzAsCi0gRENCX1BHX0FUVFJfVENfMSwKKyAgRENCX1BHX0FUVFJfVU5ERUZJTkVELAorICBEQ0JfUEdfQVRUUl9UQ18wLAorICBEQ0JfUEdfQVRUUl9UQ18xLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfUEdfQVRUUl9UQ18yLAotIERDQl9QR19BVFRSX1RDXzMsCi0gRENCX1BHX0FUVFJfVENfNCwKLSBEQ0JfUEdfQVRUUl9UQ181LAorICBEQ0JfUEdfQVRUUl9UQ18yLAorICBEQ0JfUEdfQVRUUl9UQ18zLAorICBEQ0JfUEdfQVRUUl9UQ180LAorICBEQ0JfUEdfQVRUUl9UQ181LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfUEdfQVRUUl9UQ182LAotIERDQl9QR19BVFRSX1RDXzcsCi0gRENCX1BHX0FUVFJfVENfTUFYLAotIERDQl9QR19BVFRSX1RDX0FMTCwKKyAgRENCX1BHX0FUVFJfVENfNiwKKyAgRENCX1BHX0FUVFJfVENfNywKKyAgRENCX1BHX0FUVFJfVENfTUFYLAorICBEQ0JfUEdfQVRUUl9UQ19BTEwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9QR19BVFRSX0JXX0lEXzAsCi0gRENCX1BHX0FUVFJfQldfSURfMSwKLSBEQ0JfUEdfQVRUUl9CV19JRF8yLAotIERDQl9QR19BVFRSX0JXX0lEXzMsCisgIERDQl9QR19BVFRSX0JXX0lEXzAsCisgIERDQl9QR19BVFRSX0JXX0lEXzEsCisgIERDQl9QR19BVFRSX0JXX0lEXzIsCisgIERDQl9QR19BVFRSX0JXX0lEXzMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9QR19BVFRSX0JXX0lEXzQsCi0gRENCX1BHX0FUVFJfQldfSURfNSwKLSBEQ0JfUEdfQVRUUl9CV19JRF82LAotIERDQl9QR19BVFRSX0JXX0lEXzcsCisgIERDQl9QR19BVFRSX0JXX0lEXzQsCisgIERDQl9QR19BVFRSX0JXX0lEXzUsCisgIERDQl9QR19BVFRSX0JXX0lEXzYsCisgIERDQl9QR19BVFRSX0JXX0lEXzcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9QR19BVFRSX0JXX0lEX01BWCwKLSBEQ0JfUEdfQVRUUl9CV19JRF9BTEwsCi0gX19EQ0JfUEdfQVRUUl9FTlVNX01BWCwKLSBEQ0JfUEdfQVRUUl9NQVggPSBfX0RDQl9QR19BVFRSX0VOVU1fTUFYIC0gMSwKKyAgRENCX1BHX0FUVFJfQldfSURfTUFYLAorICBEQ0JfUEdfQVRUUl9CV19JRF9BTEwsCisgIF9fRENCX1BHX0FUVFJfRU5VTV9NQVgsCisgIERDQl9QR19BVFRSX01BWCA9IF9fRENCX1BHX0FUVFJfRU5VTV9NQVggLSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGRjYm5sX3RjX2F0dHJzIHsKLSBEQ0JfVENfQVRUUl9QQVJBTV9VTkRFRklORUQsCi0gRENCX1RDX0FUVFJfUEFSQU1fUEdJRCwKKyAgRENCX1RDX0FUVFJfUEFSQU1fVU5ERUZJTkVELAorICBEQ0JfVENfQVRUUl9QQVJBTV9QR0lELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfVENfQVRUUl9QQVJBTV9VUF9NQVBQSU5HLAotIERDQl9UQ19BVFRSX1BBUkFNX1NUUklDVF9QUklPLAotIERDQl9UQ19BVFRSX1BBUkFNX0JXX1BDVCwKLSBEQ0JfVENfQVRUUl9QQVJBTV9BTEwsCisgIERDQl9UQ19BVFRSX1BBUkFNX1VQX01BUFBJTkcsCisgIERDQl9UQ19BVFRSX1BBUkFNX1NUUklDVF9QUklPLAorICBEQ0JfVENfQVRUUl9QQVJBTV9CV19QQ1QsCisgIERDQl9UQ19BVFRSX1BBUkFNX0FMTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19EQ0JfVENfQVRUUl9QQVJBTV9FTlVNX01BWCwKLSBEQ0JfVENfQVRUUl9QQVJBTV9NQVggPSBfX0RDQl9UQ19BVFRSX1BBUkFNX0VOVU1fTUFYIC0gMSwKKyAgX19EQ0JfVENfQVRUUl9QQVJBTV9FTlVNX01BWCwKKyAgRENCX1RDX0FUVFJfUEFSQU1fTUFYID0gX19EQ0JfVENfQVRUUl9QQVJBTV9FTlVNX01BWCAtIDEsCiB9OwogZW51bSBkY2JubF9jYXBfYXR0cnMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfQ0FQX0FUVFJfVU5ERUZJTkVELAotIERDQl9DQVBfQVRUUl9BTEwsCi0gRENCX0NBUF9BVFRSX1BHLAotIERDQl9DQVBfQVRUUl9QRkMsCisgIERDQl9DQVBfQVRUUl9VTkRFRklORUQsCisgIERDQl9DQVBfQVRUUl9BTEwsCisgIERDQl9DQVBfQVRUUl9QRywKKyAgRENCX0NBUF9BVFRSX1BGQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0NBUF9BVFRSX1VQMlRDLAotIERDQl9DQVBfQVRUUl9QR19UQ1MsCi0gRENCX0NBUF9BVFRSX1BGQ19UQ1MsCi0gRENCX0NBUF9BVFRSX0dTUCwKKyAgRENCX0NBUF9BVFRSX1VQMlRDLAorICBEQ0JfQ0FQX0FUVFJfUEdfVENTLAorICBEQ0JfQ0FQX0FUVFJfUEZDX1RDUywKKyAgRENCX0NBUF9BVFRSX0dTUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0NBUF9BVFRSX0JDTiwKLSBEQ0JfQ0FQX0FUVFJfRENCWCwKLSBfX0RDQl9DQVBfQVRUUl9FTlVNX01BWCwKLSBEQ0JfQ0FQX0FUVFJfTUFYID0gX19EQ0JfQ0FQX0FUVFJfRU5VTV9NQVggLSAxLAorICBEQ0JfQ0FQX0FUVFJfQkNOLAorICBEQ0JfQ0FQX0FUVFJfRENCWCwKKyAgX19EQ0JfQ0FQX0FUVFJfRU5VTV9NQVgsCisgIERDQl9DQVBfQVRUUl9NQVggPSBfX0RDQl9DQVBfQVRUUl9FTlVNX01BWCAtIDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRENCX0NBUF9EQ0JYX0hPU1QgMHgwMQpAQCAtMzA0LDY3ICszMDQsNjcgQEAKICNkZWZpbmUgRENCX0NBUF9EQ0JYX1ZFUl9JRUVFIDB4MDgKICNkZWZpbmUgRENCX0NBUF9EQ0JYX1NUQVRJQyAweDEwCiBlbnVtIGRjYm5sX251bXRjc19hdHRycyB7Ci0gRENCX05VTVRDU19BVFRSX1VOREVGSU5FRCwKKyAgRENCX05VTVRDU19BVFRSX1VOREVGSU5FRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX05VTVRDU19BVFRSX0FMTCwKLSBEQ0JfTlVNVENTX0FUVFJfUEcsCi0gRENCX05VTVRDU19BVFRSX1BGQywKLSBfX0RDQl9OVU1UQ1NfQVRUUl9FTlVNX01BWCwKKyAgRENCX05VTVRDU19BVFRSX0FMTCwKKyAgRENCX05VTVRDU19BVFRSX1BHLAorICBEQ0JfTlVNVENTX0FUVFJfUEZDLAorICBfX0RDQl9OVU1UQ1NfQVRUUl9FTlVNX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX05VTVRDU19BVFRSX01BWCA9IF9fRENCX05VTVRDU19BVFRSX0VOVU1fTUFYIC0gMSwKKyAgRENCX05VTVRDU19BVFRSX01BWCA9IF9fRENCX05VTVRDU19BVFRSX0VOVU1fTUFYIC0gMSwKIH07Ci1lbnVtIGRjYm5sX2Jjbl9hdHRyc3sKLSBEQ0JfQkNOX0FUVFJfVU5ERUZJTkVEID0gMCwKK2VudW0gZGNibmxfYmNuX2F0dHJzIHsKKyAgRENCX0JDTl9BVFRSX1VOREVGSU5FRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9CQ05fQVRUUl9SUF8wLAotIERDQl9CQ05fQVRUUl9SUF8xLAotIERDQl9CQ05fQVRUUl9SUF8yLAotIERDQl9CQ05fQVRUUl9SUF8zLAorICBEQ0JfQkNOX0FUVFJfUlBfMCwKKyAgRENCX0JDTl9BVFRSX1JQXzEsCisgIERDQl9CQ05fQVRUUl9SUF8yLAorICBEQ0JfQkNOX0FUVFJfUlBfMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0JDTl9BVFRSX1JQXzQsCi0gRENCX0JDTl9BVFRSX1JQXzUsCi0gRENCX0JDTl9BVFRSX1JQXzYsCi0gRENCX0JDTl9BVFRSX1JQXzcsCisgIERDQl9CQ05fQVRUUl9SUF80LAorICBEQ0JfQkNOX0FUVFJfUlBfNSwKKyAgRENCX0JDTl9BVFRSX1JQXzYsCisgIERDQl9CQ05fQVRUUl9SUF83LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0JfQkNOX0FUVFJfUlBfQUxMLAotIERDQl9CQ05fQVRUUl9CQ05BXzAsCi0gRENCX0JDTl9BVFRSX0JDTkFfMSwKLSBEQ0JfQkNOX0FUVFJfQUxQSEEsCisgIERDQl9CQ05fQVRUUl9SUF9BTEwsCisgIERDQl9CQ05fQVRUUl9CQ05BXzAsCisgIERDQl9CQ05fQVRUUl9CQ05BXzEsCisgIERDQl9CQ05fQVRUUl9BTFBIQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0JDTl9BVFRSX0JFVEEsCi0gRENCX0JDTl9BVFRSX0dELAotIERDQl9CQ05fQVRUUl9HSSwKLSBEQ0JfQkNOX0FUVFJfVE1BWCwKKyAgRENCX0JDTl9BVFRSX0JFVEEsCisgIERDQl9CQ05fQVRUUl9HRCwKKyAgRENCX0JDTl9BVFRSX0dJLAorICBEQ0JfQkNOX0FUVFJfVE1BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0JDTl9BVFRSX1RELAotIERDQl9CQ05fQVRUUl9STUlOLAotIERDQl9CQ05fQVRUUl9XLAotIERDQl9CQ05fQVRUUl9SRCwKKyAgRENCX0JDTl9BVFRSX1RELAorICBEQ0JfQkNOX0FUVFJfUk1JTiwKKyAgRENCX0JDTl9BVFRSX1csCisgIERDQl9CQ05fQVRUUl9SRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0JDTl9BVFRSX1JVLAotIERDQl9CQ05fQVRUUl9XUlRULAotIERDQl9CQ05fQVRUUl9SSSwKLSBEQ0JfQkNOX0FUVFJfQywKKyAgRENCX0JDTl9BVFRSX1JVLAorICBEQ0JfQkNOX0FUVFJfV1JUVCwKKyAgRENCX0JDTl9BVFRSX1JJLAorICBEQ0JfQkNOX0FUVFJfQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0JDTl9BVFRSX0FMTCwKLSBfX0RDQl9CQ05fQVRUUl9FTlVNX01BWCwKLSBEQ0JfQkNOX0FUVFJfTUFYID0gX19EQ0JfQkNOX0FUVFJfRU5VTV9NQVggLSAxLAorICBEQ0JfQkNOX0FUVFJfQUxMLAorICBfX0RDQl9CQ05fQVRUUl9FTlVNX01BWCwKKyAgRENCX0JDTl9BVFRSX01BWCA9IF9fRENCX0JDTl9BVFRSX0VOVU1fTUFYIC0gMSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBkY2JfZ2VuZXJhbF9hdHRyX3ZhbHVlcyB7Ci0gRENCX0FUVFJfVkFMVUVfVU5ERUZJTkVEID0gMHhmZgorICBEQ0JfQVRUUl9WQUxVRV9VTkRFRklORUQgPSAweGZmCiB9OwogI2RlZmluZSBEQ0JfQVBQX0lEVFlQRV9FVEhUWVBFIDB4MDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERDQl9BUFBfSURUWVBFX1BPUlROVU0gMHgwMQogZW51bSBkY2JubF9hcHBfYXR0cnMgewotIERDQl9BUFBfQVRUUl9VTkRFRklORUQsCi0gRENCX0FQUF9BVFRSX0lEVFlQRSwKKyAgRENCX0FQUF9BVFRSX1VOREVGSU5FRCwKKyAgRENCX0FQUF9BVFRSX0lEVFlQRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0FQUF9BVFRSX0lELAotIERDQl9BUFBfQVRUUl9QUklPUklUWSwKLSBfX0RDQl9BUFBfQVRUUl9FTlVNX01BWCwKLSBEQ0JfQVBQX0FUVFJfTUFYID0gX19EQ0JfQVBQX0FUVFJfRU5VTV9NQVggLSAxLAorICBEQ0JfQVBQX0FUVFJfSUQsCisgIERDQl9BUFBfQVRUUl9QUklPUklUWSwKKyAgX19EQ0JfQVBQX0FUVFJfRU5VTV9NQVgsCisgIERDQl9BUFBfQVRUUl9NQVggPSBfX0RDQl9BUFBfQVRUUl9FTlVNX01BWCAtIDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRENCX0ZFQVRDRkdfRVJST1IgMHgwMQpAQCAtMzczLDE0ICszNzMsMTQgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERDQl9GRUFUQ0ZHX0FEVkVSVElTRSAweDA4CiBlbnVtIGRjYm5sX2ZlYXRjZmdfYXR0cnMgewotIERDQl9GRUFUQ0ZHX0FUVFJfVU5ERUZJTkVELAotIERDQl9GRUFUQ0ZHX0FUVFJfQUxMLAorICBEQ0JfRkVBVENGR19BVFRSX1VOREVGSU5FRCwKKyAgRENCX0ZFQVRDRkdfQVRUUl9BTEwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQl9GRUFUQ0ZHX0FUVFJfUEcsCi0gRENCX0ZFQVRDRkdfQVRUUl9QRkMsCi0gRENCX0ZFQVRDRkdfQVRUUl9BUFAsCi0gX19EQ0JfRkVBVENGR19BVFRSX0VOVU1fTUFYLAorICBEQ0JfRkVBVENGR19BVFRSX1BHLAorICBEQ0JfRkVBVENGR19BVFRSX1BGQywKKyAgRENCX0ZFQVRDRkdfQVRUUl9BUFAsCisgIF9fRENCX0ZFQVRDRkdfQVRUUl9FTlVNX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENCX0ZFQVRDRkdfQVRUUl9NQVggPSBfX0RDQl9GRUFUQ0ZHX0FUVFJfRU5VTV9NQVggLSAxLAorICBEQ0JfRkVBVENGR19BVFRSX01BWCA9IF9fRENCX0ZFQVRDRkdfQVRUUl9FTlVNX01BWCAtIDEsCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RjY3AuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGNjcC5oCmluZGV4IDY2OTVmYjYuLmRjNGU3MGUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGNjcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGNjcC5oCkBAIC0yMiwxNjMgKzIyLDE1MyBAQAogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZGNjcF9oZHIgewotIF9fYmUxNiBkY2NwaF9zcG9ydCwKLSBkY2NwaF9kcG9ydDsKLSBfX3U4IGRjY3BoX2RvZmY7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2JlMTYgZGNjcGhfc3BvcnQsIGRjY3BoX2Rwb3J0OworICBfX3U4IGRjY3BoX2RvZmY7CiAjaWZkZWYgX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxECi0gX191OCBkY2NwaF9jc2Nvdjo0LAotIGRjY3BoX2NjdmFsOjQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGRjY3BoX2NzY292IDogNCwgZGNjcGhfY2N2YWwgOiA0OwogI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGNjcGhfY2N2YWw6NCwKLSBkY2NwaF9jc2Nvdjo0OworICBfX3U4IGRjY3BoX2NjdmFsIDogNCwgZGNjcGhfY3Njb3YgOiA0OwogI2Vsc2UKLSNlcnJvciAiQWRqdXN0IHlvdXIgPGFzbS9ieXRlb3JkZXIuaD4gZGVmaW5lcyIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZXJyb3IgIkFkanVzdCB5b3VyIDxhc20vYnl0ZW9yZGVyLmg+IGRlZmluZXMiCiAjZW5kaWYKLSBfX3N1bTE2IGRjY3BoX2NoZWNrc3VtOworICBfX3N1bTE2IGRjY3BoX2NoZWNrc3VtOwogI2lmZGVmIF9fTElUVExFX0VORElBTl9CSVRGSUVMRAotIF9fdTggZGNjcGhfeDoxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkY2NwaF90eXBlOjQsCi0gZGNjcGhfcmVzZXJ2ZWQ6MzsKKyAgX191OCBkY2NwaF94IDogMSwgZGNjcGhfdHlwZSA6IDQsIGRjY3BoX3Jlc2VydmVkIDogMzsKICNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQotIF9fdTggZGNjcGhfcmVzZXJ2ZWQ6MywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZGNjcGhfdHlwZTo0LAotIGRjY3BoX3g6MTsKKyAgX191OCBkY2NwaF9yZXNlcnZlZCA6IDMsIGRjY3BoX3R5cGUgOiA0LCBkY2NwaF94IDogMTsKICNlbHNlCi0jZXJyb3IgIkFkanVzdCB5b3VyIDxhc20vYnl0ZW9yZGVyLmg+IGRlZmluZXMiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2Vycm9yICJBZGp1c3QgeW91ciA8YXNtL2J5dGVvcmRlci5oPiBkZWZpbmVzIgogI2VuZGlmCi0gX191OCBkY2NwaF9zZXEyOwotIF9fYmUxNiBkY2NwaF9zZXE7CisgIF9fdTggZGNjcGhfc2VxMjsKKyAgX19iZTE2IGRjY3BoX3NlcTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkY2NwX2hkcl9leHQgewotIF9fYmUzMiBkY2NwaF9zZXFfbG93OworICBfX2JlMzIgZGNjcGhfc2VxX2xvdzsKIH07Ci1zdHJ1Y3QgZGNjcF9oZHJfcmVxdWVzdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBkY2NwaF9yZXFfc2VydmljZTsKK3N0cnVjdCBkY2NwX2hkcl9yZXF1ZXN0IHsKKyAgX19iZTMyIGRjY3BoX3JlcV9zZXJ2aWNlOwogfTsKIHN0cnVjdCBkY2NwX2hkcl9hY2tfYml0cyB7Ci0gX19iZTE2IGRjY3BoX3Jlc2VydmVkMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IGRjY3BoX2Fja19ucl9oaWdoOwotIF9fYmUzMiBkY2NwaF9hY2tfbnJfbG93OworICBfX2JlMTYgZGNjcGhfcmVzZXJ2ZWQxOworICBfX2JlMTYgZGNjcGhfYWNrX25yX2hpZ2g7CisgIF9fYmUzMiBkY2NwaF9hY2tfbnJfbG93OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZGNjcF9oZHJfcmVzcG9uc2UgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZGNjcF9oZHJfYWNrX2JpdHMgZGNjcGhfcmVzcF9hY2s7Ci0gX19iZTMyIGRjY3BoX3Jlc3Bfc2VydmljZTsKKyAgc3RydWN0IGRjY3BfaGRyX2Fja19iaXRzIGRjY3BoX3Jlc3BfYWNrOworICBfX2JlMzIgZGNjcGhfcmVzcF9zZXJ2aWNlOwogfTsKLXN0cnVjdCBkY2NwX2hkcl9yZXNldCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBkY2NwX2hkcl9hY2tfYml0cyBkY2NwaF9yZXNldF9hY2s7Ci0gX191OCBkY2NwaF9yZXNldF9jb2RlLAotIGRjY3BoX3Jlc2V0X2RhdGFbM107CitzdHJ1Y3QgZGNjcF9oZHJfcmVzZXQgeworICBzdHJ1Y3QgZGNjcF9oZHJfYWNrX2JpdHMgZGNjcGhfcmVzZXRfYWNrOworICBfX3U4IGRjY3BoX3Jlc2V0X2NvZGUsIGRjY3BoX3Jlc2V0X2RhdGFbM107CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gZGNjcF9wa3RfdHlwZSB7Ci0gRENDUF9QS1RfUkVRVUVTVCA9IDAsCi0gRENDUF9QS1RfUkVTUE9OU0UsCi0gRENDUF9QS1RfREFUQSwKKyAgRENDUF9QS1RfUkVRVUVTVCA9IDAsCisgIERDQ1BfUEtUX1JFU1BPTlNFLAorICBEQ0NQX1BLVF9EQVRBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0NQX1BLVF9BQ0ssCi0gRENDUF9QS1RfREFUQUFDSywKLSBEQ0NQX1BLVF9DTE9TRVJFUSwKLSBEQ0NQX1BLVF9DTE9TRSwKKyAgRENDUF9QS1RfQUNLLAorICBEQ0NQX1BLVF9EQVRBQUNLLAorICBEQ0NQX1BLVF9DTE9TRVJFUSwKKyAgRENDUF9QS1RfQ0xPU0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BfUEtUX1JFU0VULAotIERDQ1BfUEtUX1NZTkMsCi0gRENDUF9QS1RfU1lOQ0FDSywKLSBEQ0NQX1BLVF9JTlZBTElELAorICBEQ0NQX1BLVF9SRVNFVCwKKyAgRENDUF9QS1RfU1lOQywKKyAgRENDUF9QS1RfU1lOQ0FDSywKKyAgRENDUF9QS1RfSU5WQUxJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBEQ0NQX05SX1BLVF9UWVBFUyBEQ0NQX1BLVF9JTlZBTElECiBlbnVtIGRjY3BfcmVzZXRfY29kZXMgewotIERDQ1BfUkVTRVRfQ09ERV9VTlNQRUNJRklFRCA9IDAsCisgIERDQ1BfUkVTRVRfQ09ERV9VTlNQRUNJRklFRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BfUkVTRVRfQ09ERV9DTE9TRUQsCi0gRENDUF9SRVNFVF9DT0RFX0FCT1JURUQsCi0gRENDUF9SRVNFVF9DT0RFX05PX0NPTk5FQ1RJT04sCi0gRENDUF9SRVNFVF9DT0RFX1BBQ0tFVF9FUlJPUiwKKyAgRENDUF9SRVNFVF9DT0RFX0NMT1NFRCwKKyAgRENDUF9SRVNFVF9DT0RFX0FCT1JURUQsCisgIERDQ1BfUkVTRVRfQ09ERV9OT19DT05ORUNUSU9OLAorICBEQ0NQX1JFU0VUX0NPREVfUEFDS0VUX0VSUk9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0NQX1JFU0VUX0NPREVfT1BUSU9OX0VSUk9SLAotIERDQ1BfUkVTRVRfQ09ERV9NQU5EQVRPUllfRVJST1IsCi0gRENDUF9SRVNFVF9DT0RFX0NPTk5FQ1RJT05fUkVGVVNFRCwKLSBEQ0NQX1JFU0VUX0NPREVfQkFEX1NFUlZJQ0VfQ09ERSwKKyAgRENDUF9SRVNFVF9DT0RFX09QVElPTl9FUlJPUiwKKyAgRENDUF9SRVNFVF9DT0RFX01BTkRBVE9SWV9FUlJPUiwKKyAgRENDUF9SRVNFVF9DT0RFX0NPTk5FQ1RJT05fUkVGVVNFRCwKKyAgRENDUF9SRVNFVF9DT0RFX0JBRF9TRVJWSUNFX0NPREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BfUkVTRVRfQ09ERV9UT09fQlVTWSwKLSBEQ0NQX1JFU0VUX0NPREVfQkFEX0lOSVRfQ09PS0lFLAotIERDQ1BfUkVTRVRfQ09ERV9BR0dSRVNTSU9OX1BFTkFMVFksCi0gRENDUF9NQVhfUkVTRVRfQ09ERVMKKyAgRENDUF9SRVNFVF9DT0RFX1RPT19CVVNZLAorICBEQ0NQX1JFU0VUX0NPREVfQkFEX0lOSVRfQ09PS0lFLAorICBEQ0NQX1JFU0VUX0NPREVfQUdHUkVTU0lPTl9QRU5BTFRZLAorICBEQ0NQX01BWF9SRVNFVF9DT0RFUwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBEQ0NQT19QQURESU5HID0gMCwKLSBEQ0NQT19NQU5EQVRPUlkgPSAxLAorICBEQ0NQT19QQURESU5HID0gMCwKKyAgRENDUE9fTUFOREFUT1JZID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENDUE9fTUlOX1JFU0VSVkVEID0gMywKLSBEQ0NQT19NQVhfUkVTRVJWRUQgPSAzMSwKLSBEQ0NQT19DSEFOR0VfTCA9IDMyLAotIERDQ1BPX0NPTkZJUk1fTCA9IDMzLAorICBEQ0NQT19NSU5fUkVTRVJWRUQgPSAzLAorICBEQ0NQT19NQVhfUkVTRVJWRUQgPSAzMSwKKyAgRENDUE9fQ0hBTkdFX0wgPSAzMiwKKyAgRENDUE9fQ09ORklSTV9MID0gMzMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BPX0NIQU5HRV9SID0gMzQsCi0gRENDUE9fQ09ORklSTV9SID0gMzUsCi0gRENDUE9fTkRQX0NPVU5UID0gMzcsCi0gRENDUE9fQUNLX1ZFQ1RPUl8wID0gMzgsCisgIERDQ1BPX0NIQU5HRV9SID0gMzQsCisgIERDQ1BPX0NPTkZJUk1fUiA9IDM1LAorICBEQ0NQT19ORFBfQ09VTlQgPSAzNywKKyAgRENDUE9fQUNLX1ZFQ1RPUl8wID0gMzgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BPX0FDS19WRUNUT1JfMSA9IDM5LAotIERDQ1BPX1RJTUVTVEFNUCA9IDQxLAotIERDQ1BPX1RJTUVTVEFNUF9FQ0hPID0gNDIsCi0gRENDUE9fRUxBUFNFRF9USU1FID0gNDMsCisgIERDQ1BPX0FDS19WRUNUT1JfMSA9IDM5LAorICBEQ0NQT19USU1FU1RBTVAgPSA0MSwKKyAgRENDUE9fVElNRVNUQU1QX0VDSE8gPSA0MiwKKyAgRENDUE9fRUxBUFNFRF9USU1FID0gNDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BPX01BWCA9IDQ1LAotIERDQ1BPX01JTl9SWF9DQ0lEX1NQRUNJRklDID0gMTI4LAotIERDQ1BPX01BWF9SWF9DQ0lEX1NQRUNJRklDID0gMTkxLAotIERDQ1BPX01JTl9UWF9DQ0lEX1NQRUNJRklDID0gMTkyLAorICBEQ0NQT19NQVggPSA0NSwKKyAgRENDUE9fTUlOX1JYX0NDSURfU1BFQ0lGSUMgPSAxMjgsCisgIERDQ1BPX01BWF9SWF9DQ0lEX1NQRUNJRklDID0gMTkxLAorICBEQ0NQT19NSU5fVFhfQ0NJRF9TUEVDSUZJQyA9IDE5MiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENDUE9fTUFYX1RYX0NDSURfU1BFQ0lGSUMgPSAyNTUsCisgIERDQ1BPX01BWF9UWF9DQ0lEX1NQRUNJRklDID0gMjU1LAogfTsKICNkZWZpbmUgRENDUF9TSU5HTEVfT1BUX01BWExFTiAyNTMKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0NQQ19DQ0lEMiA9IDIsCi0gRENDUENfQ0NJRDMgPSAzLAorICBEQ0NQQ19DQ0lEMiA9IDIsCisgIERDQ1BDX0NDSUQzID0gMywKIH07CiBlbnVtIGRjY3BfZmVhdHVyZV9udW1iZXJzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENDUEZfUkVTRVJWRUQgPSAwLAotIERDQ1BGX0NDSUQgPSAxLAotIERDQ1BGX1NIT1JUX1NFUU5PUyA9IDIsCi0gRENDUEZfU0VRVUVOQ0VfV0lORE9XID0gMywKKyAgRENDUEZfUkVTRVJWRUQgPSAwLAorICBEQ0NQRl9DQ0lEID0gMSwKKyAgRENDUEZfU0hPUlRfU0VRTk9TID0gMiwKKyAgRENDUEZfU0VRVUVOQ0VfV0lORE9XID0gMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENDUEZfRUNOX0lOQ0FQQUJMRSA9IDQsCi0gRENDUEZfQUNLX1JBVElPID0gNSwKLSBEQ0NQRl9TRU5EX0FDS19WRUNUT1IgPSA2LAotIERDQ1BGX1NFTkRfTkRQX0NPVU5UID0gNywKKyAgRENDUEZfRUNOX0lOQ0FQQUJMRSA9IDQsCisgIERDQ1BGX0FDS19SQVRJTyA9IDUsCisgIERDQ1BGX1NFTkRfQUNLX1ZFQ1RPUiA9IDYsCisgIERDQ1BGX1NFTkRfTkRQX0NPVU5UID0gNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRENDUEZfTUlOX0NTVU1fQ09WRVIgPSA4LAotIERDQ1BGX0RBVEFfQ0hFQ0tTVU0gPSA5LAotIERDQ1BGX01JTl9DQ0lEX1NQRUNJRklDID0gMTI4LAotIERDQ1BGX1NFTkRfTEVWX1JBVEUgPSAxOTIsCisgIERDQ1BGX01JTl9DU1VNX0NPVkVSID0gOCwKKyAgRENDUEZfREFUQV9DSEVDS1NVTSA9IDksCisgIERDQ1BGX01JTl9DQ0lEX1NQRUNJRklDID0gMTI4LAorICBEQ0NQRl9TRU5EX0xFVl9SQVRFID0gMTkyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBEQ0NQRl9NQVhfQ0NJRF9TUEVDSUZJQyA9IDI1NSwKKyAgRENDUEZfTUFYX0NDSURfU1BFQ0lGSUMgPSAyNTUsCiB9OwogZW51bSBkY2NwX2Ntc2dfdHlwZSB7Ci0gRENDUF9TQ01fUFJJT1JJVFkgPSAxLAorICBEQ0NQX1NDTV9QUklPUklUWSA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BfU0NNX1FQT0xJQ1lfTUFYID0gMHhGRkZGLAotIERDQ1BfU0NNX01BWAorICBEQ0NQX1NDTV9RUE9MSUNZX01BWCA9IDB4RkZGRiwKKyAgRENDUF9TQ01fTUFYCiB9OwogZW51bSBkY2NwX3BhY2tldF9kZXF1ZXVlaW5nX3BvbGljeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERDQ1BRX1BPTElDWV9TSU1QTEUsCi0gRENDUFFfUE9MSUNZX1BSSU8sCi0gRENDUFFfUE9MSUNZX01BWAorICBEQ0NQUV9QT0xJQ1lfU0lNUExFLAorICBEQ0NQUV9QT0xJQ1lfUFJJTywKKyAgRENDUFFfUE9MSUNZX01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERDQ1BfU09DS09QVF9QQUNLRVRfU0laRSAxCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RsbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG0uaAppbmRleCBkMTkyODJjLi5lMWFjNDMzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RsbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGxtLmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBETE1fU0JGX0FMVE1PREUgMHgwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkbG1fbGtzYiB7Ci0gaW50IHNiX3N0YXR1czsKLSBfX3UzMiBzYl9sa2lkOwotIGNoYXIgc2JfZmxhZ3M7CisgIGludCBzYl9zdGF0dXM7CisgIF9fdTMyIHNiX2xraWQ7CisgIGNoYXIgc2JfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgKiBzYl9sdmJwdHI7CisgIGNoYXIgKiBzYl9sdmJwdHI7CiB9OwogI2RlZmluZSBETE1fTFNGTF9USU1FV0FSTiAweDAwMDAwMDAyCiAjZGVmaW5lIERMTV9MU0ZMX0ZTIDB4MDAwMDAwMDQKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGxtX2RldmljZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1fZGV2aWNlLmgKaW5kZXggNzU2N2UwYy4uYzQ5NmQ4ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1fZGV2aWNlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1fZGV2aWNlLmgKQEAgLTI3LDY3ICsyNyw2NyBAQAogI2RlZmluZSBETE1fREVWSUNFX1ZFUlNJT05fUEFUQ0ggMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkbG1fbG9ja19wYXJhbXMgewotIF9fdTggbW9kZTsKLSBfX3U4IG5hbWVsZW47Ci0gX191MTYgdW51c2VkOworICBfX3U4IG1vZGU7CisgIF9fdTggbmFtZWxlbjsKKyAgX191MTYgdW51c2VkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBsa2lkOwotIF9fdTMyIHBhcmVudDsKLSBfX3U2NCB4aWQ7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBsa2lkOworICBfX3UzMiBwYXJlbnQ7CisgIF9fdTY0IHhpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdGltZW91dDsKLSB2b2lkIF9fdXNlciAqY2FzdHBhcmFtOwotIHZvaWQgX191c2VyICpjYXN0YWRkcjsKLSB2b2lkIF9fdXNlciAqYmFzdHBhcmFtOworICBfX3U2NCB0aW1lb3V0OworICB2b2lkIF9fdXNlciAqIGNhc3RwYXJhbTsKKyAgdm9pZCBfX3VzZXIgKiBjYXN0YWRkcjsKKyAgdm9pZCBfX3VzZXIgKiBiYXN0cGFyYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZvaWQgX191c2VyICpiYXN0YWRkcjsKLSBzdHJ1Y3QgZGxtX2xrc2IgX191c2VyICpsa3NiOwotIGNoYXIgbHZiW0RMTV9VU0VSX0xWQl9MRU5dOwotIGNoYXIgbmFtZVswXTsKKyAgdm9pZCBfX3VzZXIgKiBiYXN0YWRkcjsKKyAgc3RydWN0IGRsbV9sa3NiIF9fdXNlciAqIGxrc2I7CisgIGNoYXIgbHZiW0RMTV9VU0VSX0xWQl9MRU5dOworICBjaGFyIG5hbWVbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkbG1fbHNwYWNlX3BhcmFtcyB7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgbWlub3I7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBtaW5vcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBuYW1lWzBdOworICBjaGFyIG5hbWVbMF07CiB9Owogc3RydWN0IGRsbV9wdXJnZV9wYXJhbXMgewotIF9fdTMyIG5vZGVpZDsKKyAgX191MzIgbm9kZWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwaWQ7CisgIF9fdTMyIHBpZDsKIH07CiBzdHJ1Y3QgZGxtX3dyaXRlX3JlcXVlc3QgewotIF9fdTMyIHZlcnNpb25bM107CisgIF9fdTMyIHZlcnNpb25bM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY21kOwotIF9fdTggaXM2NGJpdDsKLSBfX3U4IHVudXNlZFsyXTsKLSB1bmlvbiB7CisgIF9fdTggY21kOworICBfX3U4IGlzNjRiaXQ7CisgIF9fdTggdW51c2VkWzJdOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBkbG1fbG9ja19wYXJhbXMgbG9jazsKLSBzdHJ1Y3QgZGxtX2xzcGFjZV9wYXJhbXMgbHNwYWNlOwotIHN0cnVjdCBkbG1fcHVyZ2VfcGFyYW1zIHB1cmdlOwotIH0gaTsKKyAgICBzdHJ1Y3QgZGxtX2xvY2tfcGFyYW1zIGxvY2s7CisgICAgc3RydWN0IGRsbV9sc3BhY2VfcGFyYW1zIGxzcGFjZTsKKyAgICBzdHJ1Y3QgZGxtX3B1cmdlX3BhcmFtcyBwdXJnZTsKKyAgfSBpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZGxtX2RldmljZV92ZXJzaW9uIHsKLSBfX3UzMiB2ZXJzaW9uWzNdOworICBfX3UzMiB2ZXJzaW9uWzNdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZGxtX2xvY2tfcmVzdWx0IHsKLSBfX3UzMiB2ZXJzaW9uWzNdOwotIF9fdTMyIGxlbmd0aDsKLSB2b2lkIF9fdXNlciAqIHVzZXJfYXN0YWRkcjsKKyAgX191MzIgdmVyc2lvblszXTsKKyAgX191MzIgbGVuZ3RoOworICB2b2lkIF9fdXNlciAqIHVzZXJfYXN0YWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKiB1c2VyX2FzdHBhcmFtOwotIHN0cnVjdCBkbG1fbGtzYiBfX3VzZXIgKiB1c2VyX2xrc2I7Ci0gc3RydWN0IGRsbV9sa3NiIGxrc2I7Ci0gX191OCBiYXN0X21vZGU7CisgIHZvaWQgX191c2VyICogdXNlcl9hc3RwYXJhbTsKKyAgc3RydWN0IGRsbV9sa3NiIF9fdXNlciAqIHVzZXJfbGtzYjsKKyAgc3RydWN0IGRsbV9sa3NiIGxrc2I7CisgIF9fdTggYmFzdF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHVudXNlZFszXTsKLSBfX3UzMiBsdmJfb2Zmc2V0OworICBfX3U4IHVudXNlZFszXTsKKyAgX191MzIgbHZiX29mZnNldDsKIH07CiAjZGVmaW5lIERMTV9VU0VSX0xPQ0sgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGxtX25ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGxtX25ldGxpbmsuaAppbmRleCAyZWExMjYxLi5lMmJmNmIyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RsbV9uZXRsaW5rLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1fbmV0bGluay5oCkBAIC0yMSw0NCArMjEsNDQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERMTV9TVEFUVVNfV0FJVElORyA9IDEsCi0gRExNX1NUQVRVU19HUkFOVEVEID0gMiwKLSBETE1fU1RBVFVTX0NPTlZFUlQgPSAzLAorICBETE1fU1RBVFVTX1dBSVRJTkcgPSAxLAorICBETE1fU1RBVFVTX0dSQU5URUQgPSAyLAorICBETE1fU1RBVFVTX0NPTlZFUlQgPSAzLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERMTV9MT0NLX0RBVEFfVkVSU0lPTiAxCiBzdHJ1Y3QgZGxtX2xvY2tfZGF0YSB7Ci0gX191MTYgdmVyc2lvbjsKLSBfX3UzMiBsb2Nrc3BhY2VfaWQ7CisgIF9fdTE2IHZlcnNpb247CisgIF9fdTMyIGxvY2tzcGFjZV9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG5vZGVpZDsKLSBpbnQgb3ducGlkOwotIF9fdTMyIGlkOwotIF9fdTMyIHJlbWlkOworICBpbnQgbm9kZWlkOworICBpbnQgb3ducGlkOworICBfX3UzMiBpZDsKKyAgX191MzIgcmVtaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHhpZDsKLSBfX3M4IHN0YXR1czsKLSBfX3M4IGdybW9kZTsKLSBfX3M4IHJxbW9kZTsKKyAgX191NjQgeGlkOworICBfX3M4IHN0YXR1czsKKyAgX19zOCBncm1vZGU7CisgIF9fczggcnFtb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHRpbWVzdGFtcDsKLSBpbnQgcmVzb3VyY2VfbmFtZWxlbjsKLSBjaGFyIHJlc291cmNlX25hbWVbRExNX1JFU05BTUVfTUFYTEVOXTsKKyAgdW5zaWduZWQgbG9uZyB0aW1lc3RhbXA7CisgIGludCByZXNvdXJjZV9uYW1lbGVuOworICBjaGFyIHJlc291cmNlX25hbWVbRExNX1JFU05BTUVfTUFYTEVOXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gRExNX0NNRF9VTlNQRUMgPSAwLAotIERMTV9DTURfSEVMTE8sCi0gRExNX0NNRF9USU1FT1VULAorICBETE1fQ01EX1VOU1BFQyA9IDAsCisgIERMTV9DTURfSEVMTE8sCisgIERMTV9DTURfVElNRU9VVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19ETE1fQ01EX01BWCwKKyAgX19ETE1fQ01EX01BWCwKIH07CiAjZGVmaW5lIERMTV9DTURfTUFYIChfX0RMTV9DTURfTUFYIC0gMSkKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBETE1fVFlQRV9VTlNQRUMgPSAwLAotIERMTV9UWVBFX0xPQ0ssCi0gX19ETE1fVFlQRV9NQVgsCisgIERMTV9UWVBFX1VOU1BFQyA9IDAsCisgIERMTV9UWVBFX0xPQ0ssCisgIF9fRExNX1RZUEVfTUFYLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERMTV9UWVBFX01BWCAoX19ETE1fVFlQRV9NQVggLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1fcGxvY2suaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGxtX3Bsb2NrLmgKaW5kZXggMTk0NmVmOS4uNDI1YmUzNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1fcGxvY2suaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RsbV9wbG9jay5oCkBAIC0yNiwyOSArMjYsMjkgQEAKICNkZWZpbmUgRExNX1BMT0NLX1ZFUlNJT05fUEFUQ0ggMAogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERMTV9QTE9DS19PUF9MT0NLID0gMSwKLSBETE1fUExPQ0tfT1BfVU5MT0NLLAotIERMTV9QTE9DS19PUF9HRVQsCisgIERMTV9QTE9DS19PUF9MT0NLID0gMSwKKyAgRExNX1BMT0NLX09QX1VOTE9DSywKKyAgRExNX1BMT0NLX09QX0dFVCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBETE1fUExPQ0tfRkxfQ0xPU0UgMQogc3RydWN0IGRsbV9wbG9ja19pbmZvIHsKLSBfX3UzMiB2ZXJzaW9uWzNdOwotIF9fdTggb3B0eXBlOworICBfX3UzMiB2ZXJzaW9uWzNdOworICBfX3U4IG9wdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBleDsKLSBfX3U4IHdhaXQ7Ci0gX191OCBmbGFnczsKLSBfX3UzMiBwaWQ7CisgIF9fdTggZXg7CisgIF9fdTggd2FpdDsKKyAgX191OCBmbGFnczsKKyAgX191MzIgcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBub2RlaWQ7Ci0gX19zMzIgcnY7Ci0gX191MzIgZnNpZDsKLSBfX3U2NCBudW1iZXI7CisgIF9fczMyIG5vZGVpZDsKKyAgX19zMzIgcnY7CisgIF9fdTMyIGZzaWQ7CisgIF9fdTY0IG51bWJlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgc3RhcnQ7Ci0gX191NjQgZW5kOwotIF9fdTY0IG93bmVyOworICBfX3U2NCBzdGFydDsKKyAgX191NjQgZW5kOworICBfX3U2NCBvd25lcjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RsbWNvbnN0YW50cy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbG1jb25zdGFudHMuaAppbmRleCBlMjRkNDJjLi40NzcxZDkyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RsbWNvbnN0YW50cy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZGxtY29uc3RhbnRzLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNkZWZpbmUgRExNX0xPQ0tTUEFDRV9MRU4gNjQKICNkZWZpbmUgRExNX1JFU05BTUVfTUFYTEVOIDY0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBETE1fTE9DS19JViAoLTEpCisjZGVmaW5lIERMTV9MT0NLX0lWICgtIDEpCiAjZGVmaW5lIERMTV9MT0NLX05MIDAKICNkZWZpbmUgRExNX0xPQ0tfQ1IgMQogI2RlZmluZSBETE1fTE9DS19DVyAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RtLWlvY3RsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RtLWlvY3RsLmgKaW5kZXggZmJiNGNkOS4uOTFkY2NjMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbS1pb2N0bC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZG0taW9jdGwuaApAQCAtMjcsNzYgKzI3LDc2IEBACiAjZGVmaW5lIERNX1VVSURfTEVOIDEyOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkbV9pb2N0bCB7Ci0gX191MzIgdmVyc2lvblszXTsKLSBfX3UzMiBkYXRhX3NpemU7Ci0gX191MzIgZGF0YV9zdGFydDsKKyAgX191MzIgdmVyc2lvblszXTsKKyAgX191MzIgZGF0YV9zaXplOworICBfX3UzMiBkYXRhX3N0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0YXJnZXRfY291bnQ7Ci0gX19zMzIgb3Blbl9jb3VudDsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBldmVudF9ucjsKKyAgX191MzIgdGFyZ2V0X2NvdW50OworICBfX3MzMiBvcGVuX2NvdW50OworICBfX3UzMiBmbGFnczsKKyAgX191MzIgZXZlbnRfbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBhZGRpbmc7Ci0gX191NjQgZGV2OwotIGNoYXIgbmFtZVtETV9OQU1FX0xFTl07Ci0gY2hhciB1dWlkW0RNX1VVSURfTEVOXTsKKyAgX191MzIgcGFkZGluZzsKKyAgX191NjQgZGV2OworICBjaGFyIG5hbWVbRE1fTkFNRV9MRU5dOworICBjaGFyIHV1aWRbRE1fVVVJRF9MRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRhdGFbN107CisgIGNoYXIgZGF0YVs3XTsKIH07CiBzdHJ1Y3QgZG1fdGFyZ2V0X3NwZWMgewotIF9fdTY0IHNlY3Rvcl9zdGFydDsKKyAgX191NjQgc2VjdG9yX3N0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBsZW5ndGg7Ci0gX19zMzIgc3RhdHVzOwotIF9fdTMyIG5leHQ7Ci0gY2hhciB0YXJnZXRfdHlwZVtETV9NQVhfVFlQRV9OQU1FXTsKKyAgX191NjQgbGVuZ3RoOworICBfX3MzMiBzdGF0dXM7CisgIF9fdTMyIG5leHQ7CisgIGNoYXIgdGFyZ2V0X3R5cGVbRE1fTUFYX1RZUEVfTkFNRV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkbV90YXJnZXRfZGVwcyB7Ci0gX191MzIgY291bnQ7Ci0gX191MzIgcGFkZGluZzsKKyAgX191MzIgY291bnQ7CisgIF9fdTMyIHBhZGRpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRldlswXTsKKyAgX191NjQgZGV2WzBdOwogfTsKIHN0cnVjdCBkbV9uYW1lX2xpc3QgewotIF9fdTY0IGRldjsKKyAgX191NjQgZGV2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBuZXh0OwotIGNoYXIgbmFtZVswXTsKKyAgX191MzIgbmV4dDsKKyAgY2hhciBuYW1lWzBdOwogfTsKIHN0cnVjdCBkbV90YXJnZXRfdmVyc2lvbnMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBuZXh0OwotIF9fdTMyIHZlcnNpb25bM107Ci0gY2hhciBuYW1lWzBdOworICBfX3UzMiBuZXh0OworICBfX3UzMiB2ZXJzaW9uWzNdOworICBjaGFyIG5hbWVbMF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkbV90YXJnZXRfbXNnIHsKLSBfX3U2NCBzZWN0b3I7Ci0gY2hhciBtZXNzYWdlWzBdOworICBfX3U2NCBzZWN0b3I7CisgIGNoYXIgbWVzc2FnZVswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gRE1fVkVSU0lPTl9DTUQgPSAwLAotIERNX1JFTU9WRV9BTExfQ01ELAotIERNX0xJU1RfREVWSUNFU19DTUQsCisgIERNX1ZFUlNJT05fQ01EID0gMCwKKyAgRE1fUkVNT1ZFX0FMTF9DTUQsCisgIERNX0xJU1RfREVWSUNFU19DTUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERNX0RFVl9DUkVBVEVfQ01ELAotIERNX0RFVl9SRU1PVkVfQ01ELAotIERNX0RFVl9SRU5BTUVfQ01ELAotIERNX0RFVl9TVVNQRU5EX0NNRCwKKyAgRE1fREVWX0NSRUFURV9DTUQsCisgIERNX0RFVl9SRU1PVkVfQ01ELAorICBETV9ERVZfUkVOQU1FX0NNRCwKKyAgRE1fREVWX1NVU1BFTkRfQ01ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBETV9ERVZfU1RBVFVTX0NNRCwKLSBETV9ERVZfV0FJVF9DTUQsCi0gRE1fVEFCTEVfTE9BRF9DTUQsCi0gRE1fVEFCTEVfQ0xFQVJfQ01ELAorICBETV9ERVZfU1RBVFVTX0NNRCwKKyAgRE1fREVWX1dBSVRfQ01ELAorICBETV9UQUJMRV9MT0FEX0NNRCwKKyAgRE1fVEFCTEVfQ0xFQVJfQ01ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBETV9UQUJMRV9ERVBTX0NNRCwKLSBETV9UQUJMRV9TVEFUVVNfQ01ELAotIERNX0xJU1RfVkVSU0lPTlNfQ01ELAotIERNX1RBUkdFVF9NU0dfQ01ELAorICBETV9UQUJMRV9ERVBTX0NNRCwKKyAgRE1fVEFCTEVfU1RBVFVTX0NNRCwKKyAgRE1fTElTVF9WRVJTSU9OU19DTUQsCisgIERNX1RBUkdFVF9NU0dfQ01ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBETV9ERVZfU0VUX0dFT01FVFJZX0NNRAorICBETV9ERVZfU0VUX0dFT01FVFJZX0NNRAogfTsKICNkZWZpbmUgRE1fSU9DVEwgMHhmZAogI2RlZmluZSBETV9WRVJTSU9OIF9JT1dSKERNX0lPQ1RMLCBETV9WRVJTSU9OX0NNRCwgc3RydWN0IGRtX2lvY3RsKQpAQCAtMTIxLDkgKzEyMSw5IEBACiAjZGVmaW5lIERNX0RFVl9TRVRfR0VPTUVUUlkgX0lPV1IoRE1fSU9DVEwsIERNX0RFVl9TRVRfR0VPTUVUUllfQ01ELCBzdHJ1Y3QgZG1faW9jdGwpCiAjZGVmaW5lIERNX1ZFUlNJT05fTUFKT1IgNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRE1fVkVSU0lPTl9NSU5PUiAyNworI2RlZmluZSBETV9WRVJTSU9OX01JTk9SIDI4CiAjZGVmaW5lIERNX1ZFUlNJT05fUEFUQ0hMRVZFTCAwCi0jZGVmaW5lIERNX1ZFUlNJT05fRVhUUkEgIi1pb2N0bCAoMjAxMy0xMC0zMCkiCisjZGVmaW5lIERNX1ZFUlNJT05fRVhUUkEgIi1pb2N0bCgyMDE0LTA5LTE3KSIKICNkZWZpbmUgRE1fUkVBRE9OTFlfRkxBRyAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE1fU1VTUEVORF9GTEFHICgxIDw8IDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RtLWxvZy11c2Vyc3BhY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZG0tbG9nLXVzZXJzcGFjZS5oCmluZGV4IDQ3ZDQ1ZjcuLjFjZTAwZjIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZG0tbG9nLXVzZXJzcGFjZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZG0tbG9nLXVzZXJzcGFjZS5oCkBAIC00MiwyMCArNDIsMjAgQEAKICNkZWZpbmUgRE1fVUxPR19JU19SRU1PVEVfUkVDT1ZFUklORyAxNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE1fVUxPR19SRVFVRVNUX01BU0sgMHhGRgotI2RlZmluZSBETV9VTE9HX1JFUVVFU1RfVFlQRShyZXF1ZXN0X3R5cGUpICAgKERNX1VMT0dfUkVRVUVTVF9NQVNLICYgKHJlcXVlc3RfdHlwZSkpCisjZGVmaW5lIERNX1VMT0dfUkVRVUVTVF9UWVBFKHJlcXVlc3RfdHlwZSkgKERNX1VMT0dfUkVRVUVTVF9NQVNLICYgKHJlcXVlc3RfdHlwZSkpCiAjZGVmaW5lIERNX1VMT0dfUkVRVUVTVF9WRVJTSU9OIDMKIHN0cnVjdCBkbV91bG9nX3JlcXVlc3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBsdWlkOwotIGNoYXIgdXVpZFtETV9VVUlEX0xFTl07Ci0gY2hhciBwYWRkaW5nWzNdOwotIHVpbnQzMl90IHZlcnNpb247CisgIHVpbnQ2NF90IGx1aWQ7CisgIGNoYXIgdXVpZFtETV9VVUlEX0xFTl07CisgIGNoYXIgcGFkZGluZ1szXTsKKyAgdWludDMyX3QgdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCBlcnJvcjsKLSB1aW50MzJfdCBzZXE7Ci0gdWludDMyX3QgcmVxdWVzdF90eXBlOwotIHVpbnQzMl90IGRhdGFfc2l6ZTsKKyAgaW50MzJfdCBlcnJvcjsKKyAgdWludDMyX3Qgc2VxOworICB1aW50MzJfdCByZXF1ZXN0X3R5cGU7CisgIHVpbnQzMl90IGRhdGFfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBkYXRhWzBdOworICBjaGFyIGRhdGFbMF07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RuLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RuLmgKaW5kZXggMDEzYTAzZi4uNWUyMWJkOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kbi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZG4uaApAQCAtNzYsNTcgKzc2LDU3IEBACiAjZGVmaW5lIFNERl9VSUNQUk9YWSA0CiBzdHJ1Y3QgZG5fbmFkZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgYV9sZW47Ci0gX191OCBhX2FkZHJbRE5fTUFYQURETF07CisgIF9fbGUxNiBhX2xlbjsKKyAgX191OCBhX2FkZHJbRE5fTUFYQURETF07CiB9Owogc3RydWN0IHNvY2thZGRyX2RuIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2RuX2ZhbWlseTsKLSBfX3U4IHNkbl9mbGFnczsKLSBfX3U4IHNkbl9vYmpudW07Ci0gX19sZTE2IHNkbl9vYmpuYW1lbDsKKyAgX191MTYgc2RuX2ZhbWlseTsKKyAgX191OCBzZG5fZmxhZ3M7CisgIF9fdTggc2RuX29iam51bTsKKyAgX19sZTE2IHNkbl9vYmpuYW1lbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzZG5fb2JqbmFtZVtETl9NQVhPQkpMXTsKLSBzdHJ1Y3QgZG5fbmFkZHIgc2RuX2FkZDsKKyAgX191OCBzZG5fb2JqbmFtZVtETl9NQVhPQkpMXTsKKyAgc3RydWN0IGRuX25hZGRyIHNkbl9hZGQ7CiB9OwogI2RlZmluZSBzZG5fbm9kZWFkZHJsIHNkbl9hZGQuYV9sZW4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIHNkbl9ub2RlYWRkciBzZG5fYWRkLmFfYWRkcgogc3RydWN0IG9wdGRhdGFfZG4gewotIF9fbGUxNiBvcHRfc3RhdHVzOworICBfX2xlMTYgb3B0X3N0YXR1czsKICNkZWZpbmUgb3B0X3N0cyBvcHRfc3RhdHVzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiBvcHRfb3B0bDsKLSBfX3U4IG9wdF9kYXRhWzE2XTsKKyAgX19sZTE2IG9wdF9vcHRsOworICBfX3U4IG9wdF9kYXRhWzE2XTsKIH07CiBzdHJ1Y3QgYWNjZXNzZGF0YV9kbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWNjX2FjY2w7Ci0gX191OCBhY2NfYWNjW0ROX01BWEFDQ0xdOwotIF9fdTggYWNjX3Bhc3NsOwotIF9fdTggYWNjX3Bhc3NbRE5fTUFYQUNDTF07CisgIF9fdTggYWNjX2FjY2w7CisgIF9fdTggYWNjX2FjY1tETl9NQVhBQ0NMXTsKKyAgX191OCBhY2NfcGFzc2w7CisgIF9fdTggYWNjX3Bhc3NbRE5fTUFYQUNDTF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWNjX3VzZXJsOwotIF9fdTggYWNjX3VzZXJbRE5fTUFYQUNDTF07CisgIF9fdTggYWNjX3VzZXJsOworICBfX3U4IGFjY191c2VyW0ROX01BWEFDQ0xdOwogfTsKIHN0cnVjdCBsaW5raW5mb19kbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGlkbl9zZWdzaXplOwotIF9fdTggaWRuX2xpbmtzdGF0ZTsKKyAgX191MTYgaWRuX3NlZ3NpemU7CisgIF9fdTggaWRuX2xpbmtzdGF0ZTsKIH07CiB1bmlvbiBldGhlcmFkZHJlc3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRuZV9hZGRyW0VUSF9BTEVOXTsKLSBzdHJ1Y3QgewotIF9fdTggZG5lX2hpb3JkWzRdOwotIF9fdTggZG5lX25vZGVhZGRyWzJdOworICBfX3U4IGRuZV9hZGRyW0VUSF9BTEVOXTsKKyAgc3RydWN0IHsKKyAgICBfX3U4IGRuZV9oaW9yZFs0XTsKKyAgICBfX3U4IGRuZV9ub2RlYWRkclsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBkbmVfcmVtb3RlOworICB9IGRuZV9yZW1vdGU7CiB9Owogc3RydWN0IGRuX2FkZHIgewotIF9fbGUxNiBkbmFfZmFtaWx5OworICBfX2xlMTYgZG5hX2ZhbWlseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gZXRoZXJhZGRyZXNzIGRuYV9uZXRhZGRyOworICB1bmlvbiBldGhlcmFkZHJlc3MgZG5hX25ldGFkZHI7CiB9OwogI2RlZmluZSBERUNORVRfSU9DVExfQkFTRSAweDg5CiAjZGVmaW5lIFNJT0NTTkVUQUREUiBfSU9XKERFQ05FVF9JT0NUTF9CQVNFLCAweGUwLCBzdHJ1Y3QgZG5fbmFkZHIpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RxYmxrX3hmcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kcWJsa194ZnMuaAppbmRleCAzMWIzOWQ2Li4zOTZlNjk3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2RxYmxrX3hmcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHFibGtfeGZzLmgKQEAgLTE5LDkgKzE5LDkgQEAKICNpZm5kZWYgX0xJTlVYX0RRQkxLX1hGU19ICiAjZGVmaW5lIF9MSU5VWF9EUUJMS19YRlNfSAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jZGVmaW5lIFhRTV9DTUQoeCkgKCgnWCc8PDgpKyh4KSkKKyNkZWZpbmUgWFFNX0NNRCh4KSAoKCdYJyA8PCA4KSArICh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFhRTV9DT01NQU5EKHgpICgoKHgpICYgKDB4ZmY8PDgpKSA9PSAoJ1gnPDw4KSkKKyNkZWZpbmUgWFFNX0NPTU1BTkQoeCkgKCgoeCkgJiAoMHhmZiA8PCA4KSkgPT0gKCdYJyA8PCA4KSkKICNkZWZpbmUgWFFNX1VTUlFVT1RBIDAKICNkZWZpbmUgWFFNX0dSUFFVT1RBIDEKICNkZWZpbmUgWFFNX1BSSlFVT1RBIDIKQEAgLTM5LDEyMCArMzksMTIwIEBACiAjZGVmaW5lIFFfWEdFVFFTVEFUViBYUU1fQ01EKDgpCiAjZGVmaW5lIEZTX0RRVU9UX1ZFUlNJT04gMQogdHlwZWRlZiBzdHJ1Y3QgZnNfZGlza19xdW90YSB7Ci0gX19zOCBkX3ZlcnNpb247CisgIF9fczggZF92ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3M4IGRfZmxhZ3M7Ci0gX191MTYgZF9maWVsZG1hc2s7Ci0gX191MzIgZF9pZDsKLSBfX3U2NCBkX2Jsa19oYXJkbGltaXQ7CisgIF9fczggZF9mbGFnczsKKyAgX191MTYgZF9maWVsZG1hc2s7CisgIF9fdTMyIGRfaWQ7CisgIF9fdTY0IGRfYmxrX2hhcmRsaW1pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZF9ibGtfc29mdGxpbWl0OwotIF9fdTY0IGRfaW5vX2hhcmRsaW1pdDsKLSBfX3U2NCBkX2lub19zb2Z0bGltaXQ7Ci0gX191NjQgZF9iY291bnQ7CisgIF9fdTY0IGRfYmxrX3NvZnRsaW1pdDsKKyAgX191NjQgZF9pbm9faGFyZGxpbWl0OworICBfX3U2NCBkX2lub19zb2Z0bGltaXQ7CisgIF9fdTY0IGRfYmNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkX2ljb3VudDsKLSBfX3MzMiBkX2l0aW1lcjsKLSBfX3MzMiBkX2J0aW1lcjsKLSBfX3UxNiBkX2l3YXJuczsKKyAgX191NjQgZF9pY291bnQ7CisgIF9fczMyIGRfaXRpbWVyOworICBfX3MzMiBkX2J0aW1lcjsKKyAgX191MTYgZF9pd2FybnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGRfYndhcm5zOwotIF9fczMyIGRfcGFkZGluZzI7Ci0gX191NjQgZF9ydGJfaGFyZGxpbWl0OwotIF9fdTY0IGRfcnRiX3NvZnRsaW1pdDsKKyAgX191MTYgZF9id2FybnM7CisgIF9fczMyIGRfcGFkZGluZzI7CisgIF9fdTY0IGRfcnRiX2hhcmRsaW1pdDsKKyAgX191NjQgZF9ydGJfc29mdGxpbWl0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkX3J0YmNvdW50OwotIF9fczMyIGRfcnRidGltZXI7Ci0gX191MTYgZF9ydGJ3YXJuczsKLSBfX3MxNiBkX3BhZGRpbmczOworICBfX3U2NCBkX3J0YmNvdW50OworICBfX3MzMiBkX3J0YnRpbWVyOworICBfX3UxNiBkX3J0Yndhcm5zOworICBfX3MxNiBkX3BhZGRpbmczOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRfcGFkZGluZzRbOF07CisgIGNoYXIgZF9wYWRkaW5nNFs4XTsKIH0gZnNfZGlza19xdW90YV90OwotI2RlZmluZSBGU19EUV9JU09GVCAoMTw8MCkKLSNkZWZpbmUgRlNfRFFfSUhBUkQgKDE8PDEpCisjZGVmaW5lIEZTX0RRX0lTT0ZUICgxIDw8IDApCisjZGVmaW5lIEZTX0RRX0lIQVJEICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBGU19EUV9CU09GVCAoMTw8MikKLSNkZWZpbmUgRlNfRFFfQkhBUkQgKDE8PDMpCi0jZGVmaW5lIEZTX0RRX1JUQlNPRlQgKDE8PDQpCi0jZGVmaW5lIEZTX0RRX1JUQkhBUkQgKDE8PDUpCisjZGVmaW5lIEZTX0RRX0JTT0ZUICgxIDw8IDIpCisjZGVmaW5lIEZTX0RRX0JIQVJEICgxIDw8IDMpCisjZGVmaW5lIEZTX0RRX1JUQlNPRlQgKDEgPDwgNCkKKyNkZWZpbmUgRlNfRFFfUlRCSEFSRCAoMSA8PCA1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRlNfRFFfTElNSVRfTUFTSyAoRlNfRFFfSVNPRlQgfCBGU19EUV9JSEFSRCB8IEZTX0RRX0JTT0ZUIHwgICBGU19EUV9CSEFSRCB8IEZTX0RRX1JUQlNPRlQgfCBGU19EUV9SVEJIQVJEKQotI2RlZmluZSBGU19EUV9CVElNRVIgKDE8PDYpCi0jZGVmaW5lIEZTX0RRX0lUSU1FUiAoMTw8NykKLSNkZWZpbmUgRlNfRFFfUlRCVElNRVIgKDE8PDgpCisjZGVmaW5lIEZTX0RRX0xJTUlUX01BU0sgKEZTX0RRX0lTT0ZUIHwgRlNfRFFfSUhBUkQgfCBGU19EUV9CU09GVCB8IEZTX0RRX0JIQVJEIHwgRlNfRFFfUlRCU09GVCB8IEZTX0RRX1JUQkhBUkQpCisjZGVmaW5lIEZTX0RRX0JUSU1FUiAoMSA8PCA2KQorI2RlZmluZSBGU19EUV9JVElNRVIgKDEgPDwgNykKKyNkZWZpbmUgRlNfRFFfUlRCVElNRVIgKDEgPDwgOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0RRX1RJTUVSX01BU0sgKEZTX0RRX0JUSU1FUiB8IEZTX0RRX0lUSU1FUiB8IEZTX0RRX1JUQlRJTUVSKQotI2RlZmluZSBGU19EUV9CV0FSTlMgKDE8PDkpCi0jZGVmaW5lIEZTX0RRX0lXQVJOUyAoMTw8MTApCi0jZGVmaW5lIEZTX0RRX1JUQldBUk5TICgxPDwxMSkKKyNkZWZpbmUgRlNfRFFfQldBUk5TICgxIDw8IDkpCisjZGVmaW5lIEZTX0RRX0lXQVJOUyAoMSA8PCAxMCkKKyNkZWZpbmUgRlNfRFFfUlRCV0FSTlMgKDEgPDwgMTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19EUV9XQVJOU19NQVNLIChGU19EUV9CV0FSTlMgfCBGU19EUV9JV0FSTlMgfCBGU19EUV9SVEJXQVJOUykKLSNkZWZpbmUgRlNfRFFfQkNPVU5UICgxPDwxMikKLSNkZWZpbmUgRlNfRFFfSUNPVU5UICgxPDwxMykKLSNkZWZpbmUgRlNfRFFfUlRCQ09VTlQgKDE8PDE0KQorI2RlZmluZSBGU19EUV9CQ09VTlQgKDEgPDwgMTIpCisjZGVmaW5lIEZTX0RRX0lDT1VOVCAoMSA8PCAxMykKKyNkZWZpbmUgRlNfRFFfUlRCQ09VTlQgKDEgPDwgMTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19EUV9BQ0NUX01BU0sgKEZTX0RRX0JDT1VOVCB8IEZTX0RRX0lDT1VOVCB8IEZTX0RRX1JUQkNPVU5UKQotI2RlZmluZSBGU19RVU9UQV9VRFFfQUNDVCAoMTw8MCkKLSNkZWZpbmUgRlNfUVVPVEFfVURRX0VORkQgKDE8PDEpCi0jZGVmaW5lIEZTX1FVT1RBX0dEUV9BQ0NUICgxPDwyKQorI2RlZmluZSBGU19RVU9UQV9VRFFfQUNDVCAoMSA8PCAwKQorI2RlZmluZSBGU19RVU9UQV9VRFFfRU5GRCAoMSA8PCAxKQorI2RlZmluZSBGU19RVU9UQV9HRFFfQUNDVCAoMSA8PCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRlNfUVVPVEFfR0RRX0VORkQgKDE8PDMpCi0jZGVmaW5lIEZTX1FVT1RBX1BEUV9BQ0NUICgxPDw0KQotI2RlZmluZSBGU19RVU9UQV9QRFFfRU5GRCAoMTw8NSkKLSNkZWZpbmUgRlNfVVNFUl9RVU9UQSAoMTw8MCkKKyNkZWZpbmUgRlNfUVVPVEFfR0RRX0VORkQgKDEgPDwgMykKKyNkZWZpbmUgRlNfUVVPVEFfUERRX0FDQ1QgKDEgPDwgNCkKKyNkZWZpbmUgRlNfUVVPVEFfUERRX0VORkQgKDEgPDwgNSkKKyNkZWZpbmUgRlNfVVNFUl9RVU9UQSAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRlNfUFJPSl9RVU9UQSAoMTw8MSkKLSNkZWZpbmUgRlNfR1JPVVBfUVVPVEEgKDE8PDIpCisjZGVmaW5lIEZTX1BST0pfUVVPVEEgKDEgPDwgMSkKKyNkZWZpbmUgRlNfR1JPVVBfUVVPVEEgKDEgPDwgMikKICNkZWZpbmUgRlNfUVNUQVRfVkVSU0lPTiAxCiB0eXBlZGVmIHN0cnVjdCBmc19xZmlsZXN0YXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBxZnNfaW5vOwotIF9fdTY0IHFmc19uYmxrczsKLSBfX3UzMiBxZnNfbmV4dGVudHM7CisgIF9fdTY0IHFmc19pbm87CisgIF9fdTY0IHFmc19uYmxrczsKKyAgX191MzIgcWZzX25leHRlbnRzOwogfSBmc19xZmlsZXN0YXRfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBmc19xdW90YV9zdGF0IHsKLSBfX3M4IHFzX3ZlcnNpb247Ci0gX191MTYgcXNfZmxhZ3M7Ci0gX19zOCBxc19wYWQ7CisgIF9fczggcXNfdmVyc2lvbjsKKyAgX191MTYgcXNfZmxhZ3M7CisgIF9fczggcXNfcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBmc19xZmlsZXN0YXRfdCBxc191cXVvdGE7Ci0gZnNfcWZpbGVzdGF0X3QgcXNfZ3F1b3RhOwotIF9fdTMyIHFzX2luY29yZWRxczsKLSBfX3MzMiBxc19idGltZWxpbWl0OworICBmc19xZmlsZXN0YXRfdCBxc191cXVvdGE7CisgIGZzX3FmaWxlc3RhdF90IHFzX2dxdW90YTsKKyAgX191MzIgcXNfaW5jb3JlZHFzOworICBfX3MzMiBxc19idGltZWxpbWl0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBxc19pdGltZWxpbWl0OwotIF9fczMyIHFzX3J0YnRpbWVsaW1pdDsKLSBfX3UxNiBxc19id2FybmxpbWl0OwotIF9fdTE2IHFzX2l3YXJubGltaXQ7CisgIF9fczMyIHFzX2l0aW1lbGltaXQ7CisgIF9fczMyIHFzX3J0YnRpbWVsaW1pdDsKKyAgX191MTYgcXNfYndhcm5saW1pdDsKKyAgX191MTYgcXNfaXdhcm5saW1pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGZzX3F1b3RhX3N0YXRfdDsKICNkZWZpbmUgRlNfUVNUQVRWX1ZFUlNJT04xIDEKIHN0cnVjdCBmc19xZmlsZXN0YXR2IHsKLSBfX3U2NCBxZnNfaW5vOworICBfX3U2NCBxZnNfaW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBxZnNfbmJsa3M7Ci0gX191MzIgcWZzX25leHRlbnRzOwotIF9fdTMyIHFmc19wYWQ7CisgIF9fdTY0IHFmc19uYmxrczsKKyAgX191MzIgcWZzX25leHRlbnRzOworICBfX3UzMiBxZnNfcGFkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnNfcXVvdGFfc3RhdHYgewotIF9fczggcXNfdmVyc2lvbjsKLSBfX3U4IHFzX3BhZDE7Ci0gX191MTYgcXNfZmxhZ3M7CisgIF9fczggcXNfdmVyc2lvbjsKKyAgX191OCBxc19wYWQxOworICBfX3UxNiBxc19mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXNfaW5jb3JlZHFzOwotIHN0cnVjdCBmc19xZmlsZXN0YXR2IHFzX3VxdW90YTsKLSBzdHJ1Y3QgZnNfcWZpbGVzdGF0diBxc19ncXVvdGE7Ci0gc3RydWN0IGZzX3FmaWxlc3RhdHYgcXNfcHF1b3RhOworICBfX3UzMiBxc19pbmNvcmVkcXM7CisgIHN0cnVjdCBmc19xZmlsZXN0YXR2IHFzX3VxdW90YTsKKyAgc3RydWN0IGZzX3FmaWxlc3RhdHYgcXNfZ3F1b3RhOworICBzdHJ1Y3QgZnNfcWZpbGVzdGF0diBxc19wcXVvdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIHFzX2J0aW1lbGltaXQ7Ci0gX19zMzIgcXNfaXRpbWVsaW1pdDsKLSBfX3MzMiBxc19ydGJ0aW1lbGltaXQ7Ci0gX191MTYgcXNfYndhcm5saW1pdDsKKyAgX19zMzIgcXNfYnRpbWVsaW1pdDsKKyAgX19zMzIgcXNfaXRpbWVsaW1pdDsKKyAgX19zMzIgcXNfcnRidGltZWxpbWl0OworICBfX3UxNiBxc19id2FybmxpbWl0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBxc19pd2FybmxpbWl0OwotIF9fdTY0IHFzX3BhZDJbOF07CisgIF9fdTE2IHFzX2l3YXJubGltaXQ7CisgIF9fdTY0IHFzX3BhZDJbOF07CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvYXVkaW8uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHZiL2F1ZGlvLmgKaW5kZXggNWUxYjFhNC4uNjZjMmVlZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvYXVkaW8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9hdWRpby5oCkBAIC0yMSw4NCArMjEsODMgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogdHlwZWRlZiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQVVESU9fU09VUkNFX0RFTVVYLAotIEFVRElPX1NPVVJDRV9NRU1PUlkKKyAgQVVESU9fU09VUkNFX0RFTVVYLAorICBBVURJT19TT1VSQ0VfTUVNT1JZCiB9IGF1ZGlvX3N0cmVhbV9zb3VyY2VfdDsKIHR5cGVkZWYgZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFVRElPX1NUT1BQRUQsCi0gQVVESU9fUExBWUlORywKLSBBVURJT19QQVVTRUQKKyAgQVVESU9fU1RPUFBFRCwKKyAgQVVESU9fUExBWUlORywKKyAgQVVESU9fUEFVU0VECiB9IGF1ZGlvX3BsYXlfc3RhdGVfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGVudW0gewotIEFVRElPX1NURVJFTywKLSBBVURJT19NT05PX0xFRlQsCi0gQVVESU9fTU9OT19SSUdIVCwKKyAgQVVESU9fU1RFUkVPLAorICBBVURJT19NT05PX0xFRlQsCisgIEFVRElPX01PTk9fUklHSFQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFVRElPX01PTk8sCi0gQVVESU9fU1RFUkVPX1NXQVBQRUQKKyAgQVVESU9fTU9OTywKKyAgQVVESU9fU1RFUkVPX1NXQVBQRUQKIH0gYXVkaW9fY2hhbm5lbF9zZWxlY3RfdDsKIHR5cGVkZWYgc3RydWN0IGF1ZGlvX21peGVyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHZvbHVtZV9sZWZ0OwotIHVuc2lnbmVkIGludCB2b2x1bWVfcmlnaHQ7CisgIHVuc2lnbmVkIGludCB2b2x1bWVfbGVmdDsKKyAgdW5zaWduZWQgaW50IHZvbHVtZV9yaWdodDsKIH0gYXVkaW9fbWl4ZXJfdDsKIHR5cGVkZWYgc3RydWN0IGF1ZGlvX3N0YXR1cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBBVl9zeW5jX3N0YXRlOwotIGludCBtdXRlX3N0YXRlOwotIGF1ZGlvX3BsYXlfc3RhdGVfdCBwbGF5X3N0YXRlOwotIGF1ZGlvX3N0cmVhbV9zb3VyY2VfdCBzdHJlYW1fc291cmNlOworICBpbnQgQVZfc3luY19zdGF0ZTsKKyAgaW50IG11dGVfc3RhdGU7CisgIGF1ZGlvX3BsYXlfc3RhdGVfdCBwbGF5X3N0YXRlOworICBhdWRpb19zdHJlYW1fc291cmNlX3Qgc3RyZWFtX3NvdXJjZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYXVkaW9fY2hhbm5lbF9zZWxlY3RfdCBjaGFubmVsX3NlbGVjdDsKLSBpbnQgYnlwYXNzX21vZGU7Ci0gYXVkaW9fbWl4ZXJfdCBtaXhlcl9zdGF0ZTsKKyAgYXVkaW9fY2hhbm5lbF9zZWxlY3RfdCBjaGFubmVsX3NlbGVjdDsKKyAgaW50IGJ5cGFzc19tb2RlOworICBhdWRpb19taXhlcl90IG1peGVyX3N0YXRlOwogfSBhdWRpb19zdGF0dXNfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi10eXBlZGVmCi1zdHJ1Y3QgYXVkaW9fa2FyYW9rZSB7Ci0gaW50IHZvY2FsMTsKLSBpbnQgdm9jYWwyOwordHlwZWRlZiBzdHJ1Y3QgYXVkaW9fa2FyYW9rZSB7CisgIGludCB2b2NhbDE7CisgIGludCB2b2NhbDI7CisgIGludCBtZWxvZHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBtZWxvZHk7CiB9IGF1ZGlvX2thcmFva2VfdDsKIHR5cGVkZWYgX191MTYgYXVkaW9fYXR0cmlidXRlc190OwogI2RlZmluZSBBVURJT19DQVBfRFRTIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX0NBUF9MUENNIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX0NBUF9NUDEgNAogI2RlZmluZSBBVURJT19DQVBfTVAyIDgKICNkZWZpbmUgQVVESU9fQ0FQX01QMyAxNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESU9fQ0FQX0FBQyAzMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESU9fQ0FQX09HRyA2NAogI2RlZmluZSBBVURJT19DQVBfU0REUyAxMjgKICNkZWZpbmUgQVVESU9fQ0FQX0FDMyAyNTYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX1NUT1AgX0lPKCdvJywgMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX1BMQVkgX0lPKCdvJywgMikKICNkZWZpbmUgQVVESU9fUEFVU0UgX0lPKCdvJywgMykKICNkZWZpbmUgQVVESU9fQ09OVElOVUUgX0lPKCdvJywgNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX1NFTEVDVF9TT1VSQ0UgX0lPKCdvJywgNSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX1NFVF9NVVRFIF9JTygnbycsIDYpCiAjZGVmaW5lIEFVRElPX1NFVF9BVl9TWU5DIF9JTygnbycsIDcpCiAjZGVmaW5lIEFVRElPX1NFVF9CWVBBU1NfTU9ERSBfSU8oJ28nLCA4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESU9fQ0hBTk5FTF9TRUxFQ1QgX0lPKCdvJywgOSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX0dFVF9TVEFUVVMgX0lPUignbycsIDEwLCBhdWRpb19zdGF0dXNfdCkKICNkZWZpbmUgQVVESU9fR0VUX0NBUEFCSUxJVElFUyBfSU9SKCdvJywgMTEsIHVuc2lnbmVkIGludCkKICNkZWZpbmUgQVVESU9fQ0xFQVJfQlVGRkVSIF9JTygnbycsIDEyKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESU9fU0VUX0lEIF9JTygnbycsIDEzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVVESU9fU0VUX01JWEVSIF9JT1coJ28nLCAxNCwgYXVkaW9fbWl4ZXJfdCkKICNkZWZpbmUgQVVESU9fU0VUX1NUUkVBTVRZUEUgX0lPKCdvJywgMTUpCiAjZGVmaW5lIEFVRElPX1NFVF9FWFRfSUQgX0lPKCdvJywgMTYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBVURJT19TRVRfQVRUUklCVVRFUyBfSU9XKCdvJywgMTcsIGF1ZGlvX2F0dHJpYnV0ZXNfdCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFVRElPX1NFVF9LQVJBT0tFIF9JT1coJ28nLCAxOCwgYXVkaW9fa2FyYW9rZV90KQogI2RlZmluZSBBVURJT19HRVRfUFRTIF9JT1IoJ28nLCAxOSwgX191NjQpCiAjZGVmaW5lIEFVRElPX0JJTElOR1VBTF9DSEFOTkVMX1NFTEVDVCBfSU8oJ28nLCAyMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9jYS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvY2EuaAppbmRleCAxMzliZDJkLi4yZWVkNjU2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9jYS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHZiL2NhLmgKQEAgLTE5LDU0ICsxOSw1NCBAQAogI2lmbmRlZiBfRFZCQ0FfSF8KICNkZWZpbmUgX0RWQkNBX0hfCiB0eXBlZGVmIHN0cnVjdCBjYV9zbG90X2luZm8gewotIGludCBudW07CisgIGludCBudW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0eXBlOworICBpbnQgdHlwZTsKICNkZWZpbmUgQ0FfQ0kgMQogI2RlZmluZSBDQV9DSV9MSU5LIDIKICNkZWZpbmUgQ0FfQ0lfUEhZUyA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQV9ERVNDUiA4CiAjZGVmaW5lIENBX1NDIDEyOAotIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdW5zaWduZWQgaW50IGZsYWdzOwogI2RlZmluZSBDQV9DSV9NT0RVTEVfUFJFU0VOVCAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDQV9DSV9NT0RVTEVfUkVBRFkgMgogfSBjYV9zbG90X2luZm9fdDsKIHR5cGVkZWYgc3RydWN0IGNhX2Rlc2NyX2luZm8gewotIHVuc2lnbmVkIGludCBudW07CisgIHVuc2lnbmVkIGludCBudW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0eXBlOworICB1bnNpZ25lZCBpbnQgdHlwZTsKICNkZWZpbmUgQ0FfRUNEIDEKICNkZWZpbmUgQ0FfTkRTIDIKICNkZWZpbmUgQ0FfRFNTIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGNhX2Rlc2NyX2luZm9fdDsKIHR5cGVkZWYgc3RydWN0IGNhX2NhcHMgewotIHVuc2lnbmVkIGludCBzbG90X251bTsKLSB1bnNpZ25lZCBpbnQgc2xvdF90eXBlOworICB1bnNpZ25lZCBpbnQgc2xvdF9udW07CisgIHVuc2lnbmVkIGludCBzbG90X3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBkZXNjcl9udW07Ci0gdW5zaWduZWQgaW50IGRlc2NyX3R5cGU7CisgIHVuc2lnbmVkIGludCBkZXNjcl9udW07CisgIHVuc2lnbmVkIGludCBkZXNjcl90eXBlOwogfSBjYV9jYXBzX3Q7CiB0eXBlZGVmIHN0cnVjdCBjYV9tc2cgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgaW5kZXg7Ci0gdW5zaWduZWQgaW50IHR5cGU7Ci0gdW5zaWduZWQgaW50IGxlbmd0aDsKLSB1bnNpZ25lZCBjaGFyIG1zZ1syNTZdOworICB1bnNpZ25lZCBpbnQgaW5kZXg7CisgIHVuc2lnbmVkIGludCB0eXBlOworICB1bnNpZ25lZCBpbnQgbGVuZ3RoOworICB1bnNpZ25lZCBjaGFyIG1zZ1syNTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gY2FfbXNnX3Q7CiB0eXBlZGVmIHN0cnVjdCBjYV9kZXNjciB7Ci0gdW5zaWduZWQgaW50IGluZGV4OwotIHVuc2lnbmVkIGludCBwYXJpdHk7CisgIHVuc2lnbmVkIGludCBpbmRleDsKKyAgdW5zaWduZWQgaW50IHBhcml0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjd1s4XTsKKyAgdW5zaWduZWQgY2hhciBjd1s4XTsKIH0gY2FfZGVzY3JfdDsKIHR5cGVkZWYgc3RydWN0IGNhX3BpZCB7Ci0gdW5zaWduZWQgaW50IHBpZDsKKyAgdW5zaWduZWQgaW50IHBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGluZGV4OworICBpbnQgaW5kZXg7CiB9IGNhX3BpZF90OwogI2RlZmluZSBDQV9SRVNFVCBfSU8oJ28nLCAxMjgpCiAjZGVmaW5lIENBX0dFVF9DQVAgX0lPUignbycsIDEyOSwgY2FfY2Fwc190KQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvZG14LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9kbXguaAppbmRleCBiOTM3ODJhLi44ZTFkNzE4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9kbXguaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9kbXguaApAQCAtMjIsMTI0ICsyMiwxMTcgQEAKICNpbmNsdWRlIDx0aW1lLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBETVhfRklMVEVSX1NJWkUgMTYKLXR5cGVkZWYgZW51bQotewotIERNWF9PVVRfREVDT0RFUiwKK3R5cGVkZWYgZW51bSB7CisgIERNWF9PVVRfREVDT0RFUiwKKyAgRE1YX09VVF9UQVAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERNWF9PVVRfVEFQLAotIERNWF9PVVRfVFNfVEFQLAotIERNWF9PVVRfVFNERU1VWF9UQVAKKyAgRE1YX09VVF9UU19UQVAsCisgIERNWF9PVVRfVFNERU1VWF9UQVAKIH0gZG14X291dHB1dF90OwordHlwZWRlZiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi10eXBlZGVmIGVudW0KLXsKLSBETVhfSU5fRlJPTlRFTkQsCi0gRE1YX0lOX0RWUgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRE1YX0lOX0ZST05URU5ELAorICBETVhfSU5fRFZSCiB9IGRteF9pbnB1dF90OwotdHlwZWRlZiBlbnVtIGRteF90c19wZXMKLXsKLSBETVhfUEVTX0FVRElPMCwKK3R5cGVkZWYgZW51bSBkbXhfdHNfcGVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRE1YX1BFU19WSURFTzAsCi0gRE1YX1BFU19URUxFVEVYVDAsCi0gRE1YX1BFU19TVUJUSVRMRTAsCi0gRE1YX1BFU19QQ1IwLAorICBETVhfUEVTX0FVRElPMCwKKyAgRE1YX1BFU19WSURFTzAsCisgIERNWF9QRVNfVEVMRVRFWFQwLAorICBETVhfUEVTX1NVQlRJVExFMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRE1YX1BFU19BVURJTzEsCi0gRE1YX1BFU19WSURFTzEsCi0gRE1YX1BFU19URUxFVEVYVDEsCi0gRE1YX1BFU19TVUJUSVRMRTEsCisgIERNWF9QRVNfUENSMCwKKyAgRE1YX1BFU19BVURJTzEsCisgIERNWF9QRVNfVklERU8xLAorICBETVhfUEVTX1RFTEVURVhUMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRE1YX1BFU19QQ1IxLAotIERNWF9QRVNfQVVESU8yLAotIERNWF9QRVNfVklERU8yLAotIERNWF9QRVNfVEVMRVRFWFQyLAorICBETVhfUEVTX1NVQlRJVExFMSwKKyAgRE1YX1BFU19QQ1IxLAorICBETVhfUEVTX0FVRElPMiwKKyAgRE1YX1BFU19WSURFTzIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERNWF9QRVNfU1VCVElUTEUyLAotIERNWF9QRVNfUENSMiwKLSBETVhfUEVTX0FVRElPMywKLSBETVhfUEVTX1ZJREVPMywKKyAgRE1YX1BFU19URUxFVEVYVDIsCisgIERNWF9QRVNfU1VCVElUTEUyLAorICBETVhfUEVTX1BDUjIsCisgIERNWF9QRVNfQVVESU8zLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBETVhfUEVTX1RFTEVURVhUMywKLSBETVhfUEVTX1NVQlRJVExFMywKLSBETVhfUEVTX1BDUjMsCi0gRE1YX1BFU19PVEhFUgorICBETVhfUEVTX1ZJREVPMywKKyAgRE1YX1BFU19URUxFVEVYVDMsCisgIERNWF9QRVNfU1VCVElUTEUzLAorICBETVhfUEVTX1BDUjMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBETVhfUEVTX09USEVSCiB9IGRteF9wZXNfdHlwZV90OwogI2RlZmluZSBETVhfUEVTX0FVRElPIERNWF9QRVNfQVVESU8wCiAjZGVmaW5lIERNWF9QRVNfVklERU8gRE1YX1BFU19WSURFTzAKLSNkZWZpbmUgRE1YX1BFU19URUxFVEVYVCBETVhfUEVTX1RFTEVURVhUMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRE1YX1BFU19URUxFVEVYVCBETVhfUEVTX1RFTEVURVhUMAogI2RlZmluZSBETVhfUEVTX1NVQlRJVExFIERNWF9QRVNfU1VCVElUTEUwCiAjZGVmaW5lIERNWF9QRVNfUENSIERNWF9QRVNfUENSMAotdHlwZWRlZiBzdHJ1Y3QgZG14X2ZpbHRlcgotewordHlwZWRlZiBzdHJ1Y3QgZG14X2ZpbHRlciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmlsdGVyW0RNWF9GSUxURVJfU0laRV07Ci0gX191OCBtYXNrW0RNWF9GSUxURVJfU0laRV07Ci0gX191OCBtb2RlW0RNWF9GSUxURVJfU0laRV07CisgIF9fdTggZmlsdGVyW0RNWF9GSUxURVJfU0laRV07CisgIF9fdTggbWFza1tETVhfRklMVEVSX1NJWkVdOworICBfX3U4IG1vZGVbRE1YX0ZJTFRFUl9TSVpFXTsKIH0gZG14X2ZpbHRlcl90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBkbXhfc2N0X2ZpbHRlcl9wYXJhbXMKLXsKLSBfX3UxNiBwaWQ7Ci0gZG14X2ZpbHRlcl90IGZpbHRlcjsKK3N0cnVjdCBkbXhfc2N0X2ZpbHRlcl9wYXJhbXMgeworICBfX3UxNiBwaWQ7CisgIGRteF9maWx0ZXJfdCBmaWx0ZXI7CisgIF9fdTMyIHRpbWVvdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRpbWVvdXQ7Ci0gX191MzIgZmxhZ3M7CisgIF9fdTMyIGZsYWdzOwogI2RlZmluZSBETVhfQ0hFQ0tfQ1JDIDEKICNkZWZpbmUgRE1YX09ORVNIT1QgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE1YX0lNTUVESUFURV9TVEFSVCA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBETVhfS0VSTkVMX0NMSUVOVCAweDgwMDAKIH07Ci1zdHJ1Y3QgZG14X3Blc19maWx0ZXJfcGFyYW1zCitzdHJ1Y3QgZG14X3Blc19maWx0ZXJfcGFyYW1zIHsKKyAgX191MTYgcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSBfX3UxNiBwaWQ7Ci0gZG14X2lucHV0X3QgaW5wdXQ7Ci0gZG14X291dHB1dF90IG91dHB1dDsKKyAgZG14X2lucHV0X3QgaW5wdXQ7CisgIGRteF9vdXRwdXRfdCBvdXRwdXQ7CisgIGRteF9wZXNfdHlwZV90IHBlc190eXBlOworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZG14X3Blc190eXBlX3QgcGVzX3R5cGU7Ci0gX191MzIgZmxhZ3M7CiB9OwogdHlwZWRlZiBzdHJ1Y3QgZG14X2NhcHMgeworICBfX3UzMiBjYXBzOworICBpbnQgbnVtX2RlY29kZXJzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjYXBzOwotIGludCBudW1fZGVjb2RlcnM7CiB9IGRteF9jYXBzX3Q7CiB0eXBlZGVmIGVudW0geworICBETVhfU09VUkNFX0ZST05UMCA9IDAsCisgIERNWF9TT1VSQ0VfRlJPTlQxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBETVhfU09VUkNFX0ZST05UMCA9IDAsCi0gRE1YX1NPVVJDRV9GUk9OVDEsCi0gRE1YX1NPVVJDRV9GUk9OVDIsCi0gRE1YX1NPVVJDRV9GUk9OVDMsCisgIERNWF9TT1VSQ0VfRlJPTlQyLAorICBETVhfU09VUkNFX0ZST05UMywKKyAgRE1YX1NPVVJDRV9EVlIwID0gMTYsCisgIERNWF9TT1VSQ0VfRFZSMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRE1YX1NPVVJDRV9EVlIwID0gMTYsCi0gRE1YX1NPVVJDRV9EVlIxLAotIERNWF9TT1VSQ0VfRFZSMiwKLSBETVhfU09VUkNFX0RWUjMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIERNWF9TT1VSQ0VfRFZSMiwKKyAgRE1YX1NPVVJDRV9EVlIzCiB9IGRteF9zb3VyY2VfdDsKIHN0cnVjdCBkbXhfc3RjIHsKLSB1bnNpZ25lZCBpbnQgbnVtOwotIHVuc2lnbmVkIGludCBiYXNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzdGM7CisgIHVuc2lnbmVkIGludCBudW07CisgIHVuc2lnbmVkIGludCBiYXNlOworICBfX3U2NCBzdGM7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE1YX1NUQVJUIF9JTygnbycsIDQxKQogI2RlZmluZSBETVhfU1RPUCBfSU8oJ28nLCA0MikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERNWF9TRVRfRklMVEVSIF9JT1coJ28nLCA0Mywgc3RydWN0IGRteF9zY3RfZmlsdGVyX3BhcmFtcykKICNkZWZpbmUgRE1YX1NFVF9QRVNfRklMVEVSIF9JT1coJ28nLCA0NCwgc3RydWN0IGRteF9wZXNfZmlsdGVyX3BhcmFtcykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERNWF9TRVRfQlVGRkVSX1NJWkUgX0lPKCdvJywgNDUpCiAjZGVmaW5lIERNWF9HRVRfUEVTX1BJRFMgX0lPUignbycsIDQ3LCBfX3UxNls1XSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERNWF9HRVRfQ0FQUyBfSU9SKCdvJywgNDgsIGRteF9jYXBzX3QpCiAjZGVmaW5lIERNWF9TRVRfU09VUkNFIF9JT1coJ28nLCA0OSwgZG14X3NvdXJjZV90KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE1YX0dFVF9TVEMgX0lPV1IoJ28nLCA1MCwgc3RydWN0IGRteF9zdGMpCiAjZGVmaW5lIERNWF9BRERfUElEIF9JT1coJ28nLCA1MSwgX191MTYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBETVhfUkVNT1ZFX1BJRCBfSU9XKCdvJywgNTIsIF9fdTE2KQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvZnJvbnRlbmQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHZiL2Zyb250ZW5kLmgKaW5kZXggM2Q3MTczMy4uYTk3ZDVlNyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvZnJvbnRlbmQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9mcm9udGVuZC5oCkBAIC0yMSwyNTMgKzIxLDI1MyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiB0eXBlZGVmIGVudW0gZmVfdHlwZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZFX1FQU0ssCi0gRkVfUUFNLAotIEZFX09GRE0sCi0gRkVfQVRTQworICBGRV9RUFNLLAorICBGRV9RQU0sCisgIEZFX09GRE0sCisgIEZFX0FUU0MKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGZlX3R5cGVfdDsKIHR5cGVkZWYgZW51bSBmZV9jYXBzIHsKLSBGRV9JU19TVFVQSUQgPSAwLAotIEZFX0NBTl9JTlZFUlNJT05fQVVUTyA9IDB4MSwKKyAgRkVfSVNfU1RVUElEID0gMCwKKyAgRkVfQ0FOX0lOVkVSU0lPTl9BVVRPID0gMHgxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRV9DQU5fRkVDXzFfMiA9IDB4MiwKLSBGRV9DQU5fRkVDXzJfMyA9IDB4NCwKLSBGRV9DQU5fRkVDXzNfNCA9IDB4OCwKLSBGRV9DQU5fRkVDXzRfNSA9IDB4MTAsCisgIEZFX0NBTl9GRUNfMV8yID0gMHgyLAorICBGRV9DQU5fRkVDXzJfMyA9IDB4NCwKKyAgRkVfQ0FOX0ZFQ18zXzQgPSAweDgsCisgIEZFX0NBTl9GRUNfNF81ID0gMHgxMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVfQ0FOX0ZFQ181XzYgPSAweDIwLAotIEZFX0NBTl9GRUNfNl83ID0gMHg0MCwKLSBGRV9DQU5fRkVDXzdfOCA9IDB4ODAsCi0gRkVfQ0FOX0ZFQ184XzkgPSAweDEwMCwKKyAgRkVfQ0FOX0ZFQ181XzYgPSAweDIwLAorICBGRV9DQU5fRkVDXzZfNyA9IDB4NDAsCisgIEZFX0NBTl9GRUNfN184ID0gMHg4MCwKKyAgRkVfQ0FOX0ZFQ184XzkgPSAweDEwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVfQ0FOX0ZFQ19BVVRPID0gMHgyMDAsCi0gRkVfQ0FOX1FQU0sgPSAweDQwMCwKLSBGRV9DQU5fUUFNXzE2ID0gMHg4MDAsCi0gRkVfQ0FOX1FBTV8zMiA9IDB4MTAwMCwKKyAgRkVfQ0FOX0ZFQ19BVVRPID0gMHgyMDAsCisgIEZFX0NBTl9RUFNLID0gMHg0MDAsCisgIEZFX0NBTl9RQU1fMTYgPSAweDgwMCwKKyAgRkVfQ0FOX1FBTV8zMiA9IDB4MTAwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVfQ0FOX1FBTV82NCA9IDB4MjAwMCwKLSBGRV9DQU5fUUFNXzEyOCA9IDB4NDAwMCwKLSBGRV9DQU5fUUFNXzI1NiA9IDB4ODAwMCwKLSBGRV9DQU5fUUFNX0FVVE8gPSAweDEwMDAwLAorICBGRV9DQU5fUUFNXzY0ID0gMHgyMDAwLAorICBGRV9DQU5fUUFNXzEyOCA9IDB4NDAwMCwKKyAgRkVfQ0FOX1FBTV8yNTYgPSAweDgwMDAsCisgIEZFX0NBTl9RQU1fQVVUTyA9IDB4MTAwMDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZFX0NBTl9UUkFOU01JU1NJT05fTU9ERV9BVVRPID0gMHgyMDAwMCwKLSBGRV9DQU5fQkFORFdJRFRIX0FVVE8gPSAweDQwMDAwLAotIEZFX0NBTl9HVUFSRF9JTlRFUlZBTF9BVVRPID0gMHg4MDAwMCwKLSBGRV9DQU5fSElFUkFSQ0hZX0FVVE8gPSAweDEwMDAwMCwKKyAgRkVfQ0FOX1RSQU5TTUlTU0lPTl9NT0RFX0FVVE8gPSAweDIwMDAwLAorICBGRV9DQU5fQkFORFdJRFRIX0FVVE8gPSAweDQwMDAwLAorICBGRV9DQU5fR1VBUkRfSU5URVJWQUxfQVVUTyA9IDB4ODAwMDAsCisgIEZFX0NBTl9ISUVSQVJDSFlfQVVUTyA9IDB4MTAwMDAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRV9DQU5fOFZTQiA9IDB4MjAwMDAwLAotIEZFX0NBTl8xNlZTQiA9IDB4NDAwMDAwLAotIEZFX0hBU19FWFRFTkRFRF9DQVBTID0gMHg4MDAwMDAsCi0gRkVfQ0FOX01VTFRJU1RSRUFNID0gMHg0MDAwMDAwLAorICBGRV9DQU5fOFZTQiA9IDB4MjAwMDAwLAorICBGRV9DQU5fMTZWU0IgPSAweDQwMDAwMCwKKyAgRkVfSEFTX0VYVEVOREVEX0NBUFMgPSAweDgwMDAwMCwKKyAgRkVfQ0FOX01VTFRJU1RSRUFNID0gMHg0MDAwMDAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRV9DQU5fVFVSQk9fRkVDID0gMHg4MDAwMDAwLAotIEZFX0NBTl8yR19NT0RVTEFUSU9OID0gMHgxMDAwMDAwMCwKLSBGRV9ORUVEU19CRU5ESU5HID0gMHgyMDAwMDAwMCwKLSBGRV9DQU5fUkVDT1ZFUiA9IDB4NDAwMDAwMDAsCisgIEZFX0NBTl9UVVJCT19GRUMgPSAweDgwMDAwMDAsCisgIEZFX0NBTl8yR19NT0RVTEFUSU9OID0gMHgxMDAwMDAwMCwKKyAgRkVfTkVFRFNfQkVORElORyA9IDB4MjAwMDAwMDAsCisgIEZFX0NBTl9SRUNPVkVSID0gMHg0MDAwMDAwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVfQ0FOX01VVEVfVFMgPSAweDgwMDAwMDAwCisgIEZFX0NBTl9NVVRFX1RTID0gMHg4MDAwMDAwMAogfSBmZV9jYXBzX3Q7CiBzdHJ1Y3QgZHZiX2Zyb250ZW5kX2luZm8gewotIGNoYXIgbmFtZVsxMjhdOworICBjaGFyIG5hbWVbMTI4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZmVfdHlwZV90IHR5cGU7Ci0gX191MzIgZnJlcXVlbmN5X21pbjsKLSBfX3UzMiBmcmVxdWVuY3lfbWF4OwotIF9fdTMyIGZyZXF1ZW5jeV9zdGVwc2l6ZTsKKyAgZmVfdHlwZV90IHR5cGU7CisgIF9fdTMyIGZyZXF1ZW5jeV9taW47CisgIF9fdTMyIGZyZXF1ZW5jeV9tYXg7CisgIF9fdTMyIGZyZXF1ZW5jeV9zdGVwc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZnJlcXVlbmN5X3RvbGVyYW5jZTsKLSBfX3UzMiBzeW1ib2xfcmF0ZV9taW47Ci0gX191MzIgc3ltYm9sX3JhdGVfbWF4OwotIF9fdTMyIHN5bWJvbF9yYXRlX3RvbGVyYW5jZTsKKyAgX191MzIgZnJlcXVlbmN5X3RvbGVyYW5jZTsKKyAgX191MzIgc3ltYm9sX3JhdGVfbWluOworICBfX3UzMiBzeW1ib2xfcmF0ZV9tYXg7CisgIF9fdTMyIHN5bWJvbF9yYXRlX3RvbGVyYW5jZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbm90aWZpZXJfZGVsYXk7Ci0gZmVfY2Fwc190IGNhcHM7CisgIF9fdTMyIG5vdGlmaWVyX2RlbGF5OworICBmZV9jYXBzX3QgY2FwczsKIH07CiBzdHJ1Y3QgZHZiX2Rpc2VxY19tYXN0ZXJfY21kIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBtc2cgWzZdOwotIF9fdTggbXNnX2xlbjsKKyAgX191OCBtc2dbNl07CisgIF9fdTggbXNnX2xlbjsKIH07CiBzdHJ1Y3QgZHZiX2Rpc2VxY19zbGF2ZV9yZXBseSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbXNnIFs0XTsKLSBfX3U4IG1zZ19sZW47Ci0gaW50IHRpbWVvdXQ7CisgIF9fdTggbXNnWzRdOworICBfX3U4IG1zZ19sZW47CisgIGludCB0aW1lb3V0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGVudW0gZmVfc2VjX3ZvbHRhZ2UgewotIFNFQ19WT0xUQUdFXzEzLAotIFNFQ19WT0xUQUdFXzE4LAotIFNFQ19WT0xUQUdFX09GRgorICBTRUNfVk9MVEFHRV8xMywKKyAgU0VDX1ZPTFRBR0VfMTgsCisgIFNFQ19WT0xUQUdFX09GRgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gZmVfc2VjX3ZvbHRhZ2VfdDsKIHR5cGVkZWYgZW51bSBmZV9zZWNfdG9uZV9tb2RlIHsKLSBTRUNfVE9ORV9PTiwKLSBTRUNfVE9ORV9PRkYKKyAgU0VDX1RPTkVfT04sCisgIFNFQ19UT05FX09GRgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gZmVfc2VjX3RvbmVfbW9kZV90OwogdHlwZWRlZiBlbnVtIGZlX3NlY19taW5pX2NtZCB7Ci0gU0VDX01JTklfQSwKLSBTRUNfTUlOSV9CCisgIFNFQ19NSU5JX0EsCisgIFNFQ19NSU5JX0IKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGZlX3NlY19taW5pX2NtZF90OwogdHlwZWRlZiBlbnVtIGZlX3N0YXR1cyB7Ci0gRkVfSEFTX1NJR05BTCA9IDB4MDEsCi0gRkVfSEFTX0NBUlJJRVIgPSAweDAyLAorICBGRV9IQVNfU0lHTkFMID0gMHgwMSwKKyAgRkVfSEFTX0NBUlJJRVIgPSAweDAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRV9IQVNfVklURVJCSSA9IDB4MDQsCi0gRkVfSEFTX1NZTkMgPSAweDA4LAotIEZFX0hBU19MT0NLID0gMHgxMCwKLSBGRV9USU1FRE9VVCA9IDB4MjAsCisgIEZFX0hBU19WSVRFUkJJID0gMHgwNCwKKyAgRkVfSEFTX1NZTkMgPSAweDA4LAorICBGRV9IQVNfTE9DSyA9IDB4MTAsCisgIEZFX1RJTUVET1VUID0gMHgyMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVfUkVJTklUID0gMHg0MCwKKyAgRkVfUkVJTklUID0gMHg0MCwKIH0gZmVfc3RhdHVzX3Q7CiB0eXBlZGVmIGVudW0gZmVfc3BlY3RyYWxfaW52ZXJzaW9uIHsKLSBJTlZFUlNJT05fT0ZGLAorICBJTlZFUlNJT05fT0ZGLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJTlZFUlNJT05fT04sCi0gSU5WRVJTSU9OX0FVVE8KKyAgSU5WRVJTSU9OX09OLAorICBJTlZFUlNJT05fQVVUTwogfSBmZV9zcGVjdHJhbF9pbnZlcnNpb25fdDsKIHR5cGVkZWYgZW51bSBmZV9jb2RlX3JhdGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRUNfTk9ORSA9IDAsCi0gRkVDXzFfMiwKLSBGRUNfMl8zLAotIEZFQ18zXzQsCisgIEZFQ19OT05FID0gMCwKKyAgRkVDXzFfMiwKKyAgRkVDXzJfMywKKyAgRkVDXzNfNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVDXzRfNSwKLSBGRUNfNV82LAotIEZFQ182XzcsCi0gRkVDXzdfOCwKKyAgRkVDXzRfNSwKKyAgRkVDXzVfNiwKKyAgRkVDXzZfNywKKyAgRkVDXzdfOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkVDXzhfOSwKLSBGRUNfQVVUTywKLSBGRUNfM181LAotIEZFQ185XzEwLAorICBGRUNfOF85LAorICBGRUNfQVVUTywKKyAgRkVDXzNfNSwKKyAgRkVDXzlfMTAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZFQ18yXzUsCisgIEZFQ18yXzUsCiB9IGZlX2NvZGVfcmF0ZV90OwogdHlwZWRlZiBlbnVtIGZlX21vZHVsYXRpb24gewotIFFQU0ssCisgIFFQU0ssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFFBTV8xNiwKLSBRQU1fMzIsCi0gUUFNXzY0LAotIFFBTV8xMjgsCisgIFFBTV8xNiwKKyAgUUFNXzMyLAorICBRQU1fNjQsCisgIFFBTV8xMjgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFFBTV8yNTYsCi0gUUFNX0FVVE8sCi0gVlNCXzgsCi0gVlNCXzE2LAorICBRQU1fMjU2LAorICBRQU1fQVVUTywKKyAgVlNCXzgsCisgIFZTQl8xNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUFNLXzgsCi0gQVBTS18xNiwKLSBBUFNLXzMyLAotIERRUFNLLAorICBQU0tfOCwKKyAgQVBTS18xNiwKKyAgQVBTS18zMiwKKyAgRFFQU0ssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFFBTV80X05SLAorICBRQU1fNF9OUiwKIH0gZmVfbW9kdWxhdGlvbl90OwogdHlwZWRlZiBlbnVtIGZlX3RyYW5zbWl0X21vZGUgewotIFRSQU5TTUlTU0lPTl9NT0RFXzJLLAorICBUUkFOU01JU1NJT05fTU9ERV8ySywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVFJBTlNNSVNTSU9OX01PREVfOEssCi0gVFJBTlNNSVNTSU9OX01PREVfQVVUTywKLSBUUkFOU01JU1NJT05fTU9ERV80SywKLSBUUkFOU01JU1NJT05fTU9ERV8xSywKKyAgVFJBTlNNSVNTSU9OX01PREVfOEssCisgIFRSQU5TTUlTU0lPTl9NT0RFX0FVVE8sCisgIFRSQU5TTUlTU0lPTl9NT0RFXzRLLAorICBUUkFOU01JU1NJT05fTU9ERV8xSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVFJBTlNNSVNTSU9OX01PREVfMTZLLAotIFRSQU5TTUlTU0lPTl9NT0RFXzMySywKLSBUUkFOU01JU1NJT05fTU9ERV9DMSwKLSBUUkFOU01JU1NJT05fTU9ERV9DMzc4MCwKKyAgVFJBTlNNSVNTSU9OX01PREVfMTZLLAorICBUUkFOU01JU1NJT05fTU9ERV8zMkssCisgIFRSQU5TTUlTU0lPTl9NT0RFX0MxLAorICBUUkFOU01JU1NJT05fTU9ERV9DMzc4MCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGZlX3RyYW5zbWl0X21vZGVfdDsKIHR5cGVkZWYgZW51bSBmZV9iYW5kd2lkdGggewotIEJBTkRXSURUSF84X01IWiwKLSBCQU5EV0lEVEhfN19NSFosCisgIEJBTkRXSURUSF84X01IWiwKKyAgQkFORFdJRFRIXzdfTUhaLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCQU5EV0lEVEhfNl9NSFosCi0gQkFORFdJRFRIX0FVVE8sCi0gQkFORFdJRFRIXzVfTUhaLAotIEJBTkRXSURUSF8xMF9NSFosCisgIEJBTkRXSURUSF82X01IWiwKKyAgQkFORFdJRFRIX0FVVE8sCisgIEJBTkRXSURUSF81X01IWiwKKyAgQkFORFdJRFRIXzEwX01IWiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQkFORFdJRFRIXzFfNzEyX01IWiwKKyAgQkFORFdJRFRIXzFfNzEyX01IWiwKIH0gZmVfYmFuZHdpZHRoX3Q7CiB0eXBlZGVmIGVudW0gZmVfZ3VhcmRfaW50ZXJ2YWwgewotIEdVQVJEX0lOVEVSVkFMXzFfMzIsCisgIEdVQVJEX0lOVEVSVkFMXzFfMzIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEdVQVJEX0lOVEVSVkFMXzFfMTYsCi0gR1VBUkRfSU5URVJWQUxfMV84LAotIEdVQVJEX0lOVEVSVkFMXzFfNCwKLSBHVUFSRF9JTlRFUlZBTF9BVVRPLAorICBHVUFSRF9JTlRFUlZBTF8xXzE2LAorICBHVUFSRF9JTlRFUlZBTF8xXzgsCisgIEdVQVJEX0lOVEVSVkFMXzFfNCwKKyAgR1VBUkRfSU5URVJWQUxfQVVUTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gR1VBUkRfSU5URVJWQUxfMV8xMjgsCi0gR1VBUkRfSU5URVJWQUxfMTlfMTI4LAotIEdVQVJEX0lOVEVSVkFMXzE5XzI1NiwKLSBHVUFSRF9JTlRFUlZBTF9QTjQyMCwKKyAgR1VBUkRfSU5URVJWQUxfMV8xMjgsCisgIEdVQVJEX0lOVEVSVkFMXzE5XzEyOCwKKyAgR1VBUkRfSU5URVJWQUxfMTlfMjU2LAorICBHVUFSRF9JTlRFUlZBTF9QTjQyMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gR1VBUkRfSU5URVJWQUxfUE41OTUsCi0gR1VBUkRfSU5URVJWQUxfUE45NDUsCisgIEdVQVJEX0lOVEVSVkFMX1BONTk1LAorICBHVUFSRF9JTlRFUlZBTF9QTjk0NSwKIH0gZmVfZ3VhcmRfaW50ZXJ2YWxfdDsKIHR5cGVkZWYgZW51bSBmZV9oaWVyYXJjaHkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBISUVSQVJDSFlfTk9ORSwKLSBISUVSQVJDSFlfMSwKLSBISUVSQVJDSFlfMiwKLSBISUVSQVJDSFlfNCwKKyAgSElFUkFSQ0hZX05PTkUsCisgIEhJRVJBUkNIWV8xLAorICBISUVSQVJDSFlfMiwKKyAgSElFUkFSQ0hZXzQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEhJRVJBUkNIWV9BVVRPCisgIEhJRVJBUkNIWV9BVVRPCiB9IGZlX2hpZXJhcmNoeV90OwogZW51bSBmZV9pbnRlcmxlYXZpbmcgewotIElOVEVSTEVBVklOR19OT05FLAorICBJTlRFUkxFQVZJTkdfTk9ORSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSU5URVJMRUFWSU5HX0FVVE8sCi0gSU5URVJMRUFWSU5HXzI0MCwKLSBJTlRFUkxFQVZJTkdfNzIwLAorICBJTlRFUkxFQVZJTkdfQVVUTywKKyAgSU5URVJMRUFWSU5HXzI0MCwKKyAgSU5URVJMRUFWSU5HXzcyMCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGR2Yl9xcHNrX3BhcmFtZXRlcnMgewotIF9fdTMyIHN5bWJvbF9yYXRlOwotIGZlX2NvZGVfcmF0ZV90IGZlY19pbm5lcjsKKyAgX191MzIgc3ltYm9sX3JhdGU7CisgIGZlX2NvZGVfcmF0ZV90IGZlY19pbm5lcjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGR2Yl9xYW1fcGFyYW1ldGVycyB7Ci0gX191MzIgc3ltYm9sX3JhdGU7Ci0gZmVfY29kZV9yYXRlX3QgZmVjX2lubmVyOwotIGZlX21vZHVsYXRpb25fdCBtb2R1bGF0aW9uOworICBfX3UzMiBzeW1ib2xfcmF0ZTsKKyAgZmVfY29kZV9yYXRlX3QgZmVjX2lubmVyOworICBmZV9tb2R1bGF0aW9uX3QgbW9kdWxhdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGR2Yl92c2JfcGFyYW1ldGVycyB7Ci0gZmVfbW9kdWxhdGlvbl90IG1vZHVsYXRpb247CisgIGZlX21vZHVsYXRpb25fdCBtb2R1bGF0aW9uOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZHZiX29mZG1fcGFyYW1ldGVycyB7Ci0gZmVfYmFuZHdpZHRoX3QgYmFuZHdpZHRoOwotIGZlX2NvZGVfcmF0ZV90IGNvZGVfcmF0ZV9IUDsKLSBmZV9jb2RlX3JhdGVfdCBjb2RlX3JhdGVfTFA7CisgIGZlX2JhbmR3aWR0aF90IGJhbmR3aWR0aDsKKyAgZmVfY29kZV9yYXRlX3QgY29kZV9yYXRlX0hQOworICBmZV9jb2RlX3JhdGVfdCBjb2RlX3JhdGVfTFA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGZlX21vZHVsYXRpb25fdCBjb25zdGVsbGF0aW9uOwotIGZlX3RyYW5zbWl0X21vZGVfdCB0cmFuc21pc3Npb25fbW9kZTsKLSBmZV9ndWFyZF9pbnRlcnZhbF90IGd1YXJkX2ludGVydmFsOwotIGZlX2hpZXJhcmNoeV90IGhpZXJhcmNoeV9pbmZvcm1hdGlvbjsKKyAgZmVfbW9kdWxhdGlvbl90IGNvbnN0ZWxsYXRpb247CisgIGZlX3RyYW5zbWl0X21vZGVfdCB0cmFuc21pc3Npb25fbW9kZTsKKyAgZmVfZ3VhcmRfaW50ZXJ2YWxfdCBndWFyZF9pbnRlcnZhbDsKKyAgZmVfaGllcmFyY2h5X3QgaGllcmFyY2h5X2luZm9ybWF0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZHZiX2Zyb250ZW5kX3BhcmFtZXRlcnMgewotIF9fdTMyIGZyZXF1ZW5jeTsKLSBmZV9zcGVjdHJhbF9pbnZlcnNpb25fdCBpbnZlcnNpb247CisgIF9fdTMyIGZyZXF1ZW5jeTsKKyAgZmVfc3BlY3RyYWxfaW52ZXJzaW9uX3QgaW52ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IGR2Yl9xcHNrX3BhcmFtZXRlcnMgcXBzazsKLSBzdHJ1Y3QgZHZiX3FhbV9wYXJhbWV0ZXJzIHFhbTsKLSBzdHJ1Y3QgZHZiX29mZG1fcGFyYW1ldGVycyBvZmRtOworICB1bmlvbiB7CisgICAgc3RydWN0IGR2Yl9xcHNrX3BhcmFtZXRlcnMgcXBzazsKKyAgICBzdHJ1Y3QgZHZiX3FhbV9wYXJhbWV0ZXJzIHFhbTsKKyAgICBzdHJ1Y3QgZHZiX29mZG1fcGFyYW1ldGVycyBvZmRtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZHZiX3ZzYl9wYXJhbWV0ZXJzIHZzYjsKLSB9IHU7CisgICAgc3RydWN0IGR2Yl92c2JfcGFyYW1ldGVycyB2c2I7CisgIH0gdTsKIH07CiBzdHJ1Y3QgZHZiX2Zyb250ZW5kX2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZmVfc3RhdHVzX3Qgc3RhdHVzOwotIHN0cnVjdCBkdmJfZnJvbnRlbmRfcGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICBmZV9zdGF0dXNfdCBzdGF0dXM7CisgIHN0cnVjdCBkdmJfZnJvbnRlbmRfcGFyYW1ldGVycyBwYXJhbWV0ZXJzOwogfTsKICNkZWZpbmUgRFRWX1VOREVGSU5FRCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzYxLDEzNSArMzYxLDEzNSBAQAogI2RlZmluZSBEVFZfTUFYX0NPTU1BTkQgRFRWX1NUQVRfVE9UQUxfQkxPQ0tfQ09VTlQKIHR5cGVkZWYgZW51bSBmZV9waWxvdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBJTE9UX09OLAotIFBJTE9UX09GRiwKLSBQSUxPVF9BVVRPLAorICBQSUxPVF9PTiwKKyAgUElMT1RfT0ZGLAorICBQSUxPVF9BVVRPLAogfSBmZV9waWxvdF90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgZW51bSBmZV9yb2xsb2ZmIHsKLSBST0xMT0ZGXzM1LAotIFJPTExPRkZfMjAsCi0gUk9MTE9GRl8yNSwKKyAgUk9MTE9GRl8zNSwKKyAgUk9MTE9GRl8yMCwKKyAgUk9MTE9GRl8yNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUk9MTE9GRl9BVVRPLAorICBST0xMT0ZGX0FVVE8sCiB9IGZlX3JvbGxvZmZfdDsKIHR5cGVkZWYgZW51bSBmZV9kZWxpdmVyeV9zeXN0ZW0gewotIFNZU19VTkRFRklORUQsCisgIFNZU19VTkRFRklORUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNZU19EVkJDX0FOTkVYX0EsCi0gU1lTX0RWQkNfQU5ORVhfQiwKLSBTWVNfRFZCVCwKLSBTWVNfRFNTLAorICBTWVNfRFZCQ19BTk5FWF9BLAorICBTWVNfRFZCQ19BTk5FWF9CLAorICBTWVNfRFZCVCwKKyAgU1lTX0RTUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU1lTX0RWQlMsCi0gU1lTX0RWQlMyLAotIFNZU19EVkJILAotIFNZU19JU0RCVCwKKyAgU1lTX0RWQlMsCisgIFNZU19EVkJTMiwKKyAgU1lTX0RWQkgsCisgIFNZU19JU0RCVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU1lTX0lTREJTLAotIFNZU19JU0RCQywKLSBTWVNfQVRTQywKLSBTWVNfQVRTQ01ILAorICBTWVNfSVNEQlMsCisgIFNZU19JU0RCQywKKyAgU1lTX0FUU0MsCisgIFNZU19BVFNDTUgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNZU19EVE1CLAotIFNZU19DTU1CLAotIFNZU19EQUIsCi0gU1lTX0RWQlQyLAorICBTWVNfRFRNQiwKKyAgU1lTX0NNTUIsCisgIFNZU19EQUIsCisgIFNZU19EVkJUMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU1lTX1RVUkJPLAotIFNZU19EVkJDX0FOTkVYX0MsCisgIFNZU19UVVJCTywKKyAgU1lTX0RWQkNfQU5ORVhfQywKIH0gZmVfZGVsaXZlcnlfc3lzdGVtX3Q7CiAjZGVmaW5lIFNZU19EVkJDX0FOTkVYX0FDIFNZU19EVkJDX0FOTkVYX0EKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNZU19ETUJUSCBTWVNfRFRNQgogZW51bSBhdHNjbWhfc2NjY19ibG9ja19tb2RlIHsKLSBBVFNDTUhfU0NDQ19CTEtfU0VQID0gMCwKLSBBVFNDTUhfU0NDQ19CTEtfQ09NQiA9IDEsCisgIEFUU0NNSF9TQ0NDX0JMS19TRVAgPSAwLAorICBBVFNDTUhfU0NDQ19CTEtfQ09NQiA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFUU0NNSF9TQ0NDX0JMS19SRVMgPSAyLAorICBBVFNDTUhfU0NDQ19CTEtfUkVTID0gMiwKIH07CiBlbnVtIGF0c2NtaF9zY2NjX2NvZGVfbW9kZSB7Ci0gQVRTQ01IX1NDQ0NfQ09ERV9ITEYgPSAwLAorICBBVFNDTUhfU0NDQ19DT0RFX0hMRiA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFUU0NNSF9TQ0NDX0NPREVfUVRSID0gMSwKLSBBVFNDTUhfU0NDQ19DT0RFX1JFUyA9IDIsCisgIEFUU0NNSF9TQ0NDX0NPREVfUVRSID0gMSwKKyAgQVRTQ01IX1NDQ0NfQ09ERV9SRVMgPSAyLAogfTsKIGVudW0gYXRzY21oX3JzX2ZyYW1lX2Vuc2VtYmxlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQVRTQ01IX1JTRlJBTUVfRU5TX1BSSSA9IDAsCi0gQVRTQ01IX1JTRlJBTUVfRU5TX1NFQyA9IDEsCisgIEFUU0NNSF9SU0ZSQU1FX0VOU19QUkkgPSAwLAorICBBVFNDTUhfUlNGUkFNRV9FTlNfU0VDID0gMSwKIH07CiBlbnVtIGF0c2NtaF9yc19mcmFtZV9tb2RlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQVRTQ01IX1JTRlJBTUVfUFJJX09OTFkgPSAwLAotIEFUU0NNSF9SU0ZSQU1FX1BSSV9TRUMgPSAxLAotIEFUU0NNSF9SU0ZSQU1FX1JFUyA9IDIsCisgIEFUU0NNSF9SU0ZSQU1FX1BSSV9PTkxZID0gMCwKKyAgQVRTQ01IX1JTRlJBTUVfUFJJX1NFQyA9IDEsCisgIEFUU0NNSF9SU0ZSQU1FX1JFUyA9IDIsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gYXRzY21oX3JzX2NvZGVfbW9kZSB7Ci0gQVRTQ01IX1JTQ09ERV8yMTFfMTg3ID0gMCwKLSBBVFNDTUhfUlNDT0RFXzIyM18xODcgPSAxLAotIEFUU0NNSF9SU0NPREVfMjM1XzE4NyA9IDIsCisgIEFUU0NNSF9SU0NPREVfMjExXzE4NyA9IDAsCisgIEFUU0NNSF9SU0NPREVfMjIzXzE4NyA9IDEsCisgIEFUU0NNSF9SU0NPREVfMjM1XzE4NyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFUU0NNSF9SU0NPREVfUkVTID0gMywKKyAgQVRTQ01IX1JTQ09ERV9SRVMgPSAzLAogfTsKICNkZWZpbmUgTk9fU1RSRUFNX0lEX0ZJTFRFUiAofjBVKQogI2RlZmluZSBMTkFfQVVUTyAofjBVKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBkdHZfY21kc19oIHsKLSBjaGFyICpuYW1lOwotIF9fdTMyIGNtZDsKLSBfX3UzMiBzZXQ6MTsKKyAgY2hhciAqIG5hbWU7CisgIF9fdTMyIGNtZDsKKyAgX191MzIgc2V0IDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnVmZmVyOjE7Ci0gX191MzIgcmVzZXJ2ZWQ6MzA7CisgIF9fdTMyIGJ1ZmZlciA6IDE7CisgIF9fdTMyIHJlc2VydmVkIDogMzA7CiB9OwogZW51bSBmZWNhcF9zY2FsZV9wYXJhbXMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRV9TQ0FMRV9OT1RfQVZBSUxBQkxFID0gMCwKLSBGRV9TQ0FMRV9ERUNJQkVMLAotIEZFX1NDQUxFX1JFTEFUSVZFLAotIEZFX1NDQUxFX0NPVU5URVIKKyAgRkVfU0NBTEVfTk9UX0FWQUlMQUJMRSA9IDAsCisgIEZFX1NDQUxFX0RFQ0lCRUwsCisgIEZFX1NDQUxFX1JFTEFUSVZFLAorICBGRV9TQ0FMRV9DT1VOVEVSCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBkdHZfc3RhdHMgewotIF9fdTggc2NhbGU7Ci0gdW5pb24geworICBfX3U4IHNjYWxlOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHV2YWx1ZTsKLSBfX3M2NCBzdmFsdWU7Ci0gfTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICAgIF9fdTY0IHV2YWx1ZTsKKyAgICBfX3M2NCBzdmFsdWU7CisgIH07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUFYX0RUVl9TVEFUUyA0CiBzdHJ1Y3QgZHR2X2ZlX3N0YXRzIHsKLSBfX3U4IGxlbjsKLSBzdHJ1Y3QgZHR2X3N0YXRzIHN0YXRbTUFYX0RUVl9TVEFUU107CisgIF9fdTggbGVuOworICBzdHJ1Y3QgZHR2X3N0YXRzIHN0YXRbTUFYX0RUVl9TVEFUU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IGR0dl9wcm9wZXJ0eSB7Ci0gX191MzIgY21kOwotIF9fdTMyIHJlc2VydmVkWzNdOworICBfX3UzMiBjbWQ7CisgIF9fdTMyIHJlc2VydmVkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gX191MzIgZGF0YTsKLSBzdHJ1Y3QgZHR2X2ZlX3N0YXRzIHN0OwotIHN0cnVjdCB7CisgIHVuaW9uIHsKKyAgICBfX3UzMiBkYXRhOworICAgIHN0cnVjdCBkdHZfZmVfc3RhdHMgc3Q7CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkYXRhWzMyXTsKLSBfX3UzMiBsZW47Ci0gX191MzIgcmVzZXJ2ZWQxWzNdOwotIHZvaWQgKnJlc2VydmVkMjsKKyAgICAgIF9fdTggZGF0YVszMl07CisgICAgICBfX3UzMiBsZW47CisgICAgICBfX3UzMiByZXNlcnZlZDFbM107CisgICAgICB2b2lkICogcmVzZXJ2ZWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGJ1ZmZlcjsKLSB9IHU7Ci0gaW50IHJlc3VsdDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICAgIH0gYnVmZmVyOworICB9IHU7CisgIGludCByZXN1bHQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFRWX0lPQ1RMX01BWF9NU0dTIDY0CiBzdHJ1Y3QgZHR2X3Byb3BlcnRpZXMgewotIF9fdTMyIG51bTsKLSBzdHJ1Y3QgZHR2X3Byb3BlcnR5ICpwcm9wczsKKyAgX191MzIgbnVtOworICBzdHJ1Y3QgZHR2X3Byb3BlcnR5ICogcHJvcHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRkVfU0VUX1BST1BFUlRZIF9JT1coJ28nLCA4Miwgc3RydWN0IGR0dl9wcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvbmV0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9uZXQuaAppbmRleCA0ODMwOGQ3Li5mMDg1ZGMzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9uZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi9uZXQuaApAQCAtMjEsOSArMjEsOSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgZHZiX25ldF9pZiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHBpZDsKLSBfX3UxNiBpZl9udW07Ci0gX191OCBmZWVkdHlwZTsKKyAgX191MTYgcGlkOworICBfX3UxNiBpZl9udW07CisgIF9fdTggZmVlZHR5cGU7CiAjZGVmaW5lIERWQl9ORVRfRkVFRFRZUEVfTVBFIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERWQl9ORVRfRkVFRFRZUEVfVUxFIDEKQEAgLTMzLDggKzMzLDggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5FVF9HRVRfSUYgX0lPV1IoJ28nLCA1NCwgc3RydWN0IGR2Yl9uZXRfaWYpCiBzdHJ1Y3QgX19kdmJfbmV0X2lmX29sZCB7Ci0gX191MTYgcGlkOwotIF9fdTE2IGlmX251bTsKKyAgX191MTYgcGlkOworICBfX3UxNiBpZl9udW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgX19ORVRfQUREX0lGX09MRCBfSU9XUignbycsIDUyLCBzdHJ1Y3QgX19kdmJfbmV0X2lmX29sZCkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHZiL29zZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvb3NkLmgKaW5kZXggMDRkNjczZC4uOWFhYjk4ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvb3NkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvb3NkLmgKQEAgLTIxLDc4ICsyMSw3OCBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiB0eXBlZGVmIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPU0RfQ2xvc2U9MSwKLSBPU0RfT3BlbiwKLSBPU0RfU2hvdywKLSBPU0RfSGlkZSwKKyAgT1NEX0Nsb3NlID0gMSwKKyAgT1NEX09wZW4sCisgIE9TRF9TaG93LAorICBPU0RfSGlkZSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NEX0NsZWFyLAotIE9TRF9GaWxsLAotIE9TRF9TZXRDb2xvciwKLSBPU0RfU2V0UGFsZXR0ZSwKKyAgT1NEX0NsZWFyLAorICBPU0RfRmlsbCwKKyAgT1NEX1NldENvbG9yLAorICBPU0RfU2V0UGFsZXR0ZSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NEX1NldFRyYW5zLAotIE9TRF9TZXRQaXhlbCwKLSBPU0RfR2V0UGl4ZWwsCi0gT1NEX1NldFJvdywKKyAgT1NEX1NldFRyYW5zLAorICBPU0RfU2V0UGl4ZWwsCisgIE9TRF9HZXRQaXhlbCwKKyAgT1NEX1NldFJvdywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NEX1NldEJsb2NrLAotIE9TRF9GaWxsUm93LAotIE9TRF9GaWxsQmxvY2ssCi0gT1NEX0xpbmUsCisgIE9TRF9TZXRCbG9jaywKKyAgT1NEX0ZpbGxSb3csCisgIE9TRF9GaWxsQmxvY2ssCisgIE9TRF9MaW5lLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPU0RfUXVlcnksCi0gT1NEX1Rlc3QsCi0gT1NEX1RleHQsCi0gT1NEX1NldFdpbmRvdywKKyAgT1NEX1F1ZXJ5LAorICBPU0RfVGVzdCwKKyAgT1NEX1RleHQsCisgIE9TRF9TZXRXaW5kb3csCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9TRF9Nb3ZlV2luZG93LAotIE9TRF9PcGVuUmF3LAorICBPU0RfTW92ZVdpbmRvdywKKyAgT1NEX09wZW5SYXcsCiB9IE9TRF9Db21tYW5kOwogdHlwZWRlZiBzdHJ1Y3Qgb3NkX2NtZF9zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NEX0NvbW1hbmQgY21kOwotIGludCB4MDsKLSBpbnQgeTA7Ci0gaW50IHgxOworICBPU0RfQ29tbWFuZCBjbWQ7CisgIGludCB4MDsKKyAgaW50IHkwOworICBpbnQgeDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB5MTsKLSBpbnQgY29sb3I7Ci0gdm9pZCBfX3VzZXIgKmRhdGE7CisgIGludCB5MTsKKyAgaW50IGNvbG9yOworICB2b2lkIF9fdXNlciAqIGRhdGE7CiB9IG9zZF9jbWRfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGVudW0gewotIE9TRF9CSVRNQVAxLAotIE9TRF9CSVRNQVAyLAotIE9TRF9CSVRNQVA0LAorICBPU0RfQklUTUFQMSwKKyAgT1NEX0JJVE1BUDIsCisgIE9TRF9CSVRNQVA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPU0RfQklUTUFQOCwKLSBPU0RfQklUTUFQMUhSLAotIE9TRF9CSVRNQVAySFIsCi0gT1NEX0JJVE1BUDRIUiwKKyAgT1NEX0JJVE1BUDgsCisgIE9TRF9CSVRNQVAxSFIsCisgIE9TRF9CSVRNQVAySFIsCisgIE9TRF9CSVRNQVA0SFIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9TRF9CSVRNQVA4SFIsCi0gT1NEX1lDUkNCNDIyLAotIE9TRF9ZQ1JDQjQ0NCwKLSBPU0RfWUNSQ0I0NDRIUiwKKyAgT1NEX0JJVE1BUDhIUiwKKyAgT1NEX1lDUkNCNDIyLAorICBPU0RfWUNSQ0I0NDQsCisgIE9TRF9ZQ1JDQjQ0NEhSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPU0RfVklERU9UU0laRSwKLSBPU0RfVklERU9IU0laRSwKLSBPU0RfVklERU9RU0laRSwKLSBPU0RfVklERU9EU0laRSwKKyAgT1NEX1ZJREVPVFNJWkUsCisgIE9TRF9WSURFT0hTSVpFLAorICBPU0RfVklERU9RU0laRSwKKyAgT1NEX1ZJREVPRFNJWkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9TRF9WSURFT1RIU0laRSwKLSBPU0RfVklERU9UUVNJWkUsCi0gT1NEX1ZJREVPVERTSVpFLAotIE9TRF9WSURFT05TSVpFLAorICBPU0RfVklERU9USFNJWkUsCisgIE9TRF9WSURFT1RRU0laRSwKKyAgT1NEX1ZJREVPVERTSVpFLAorICBPU0RfVklERU9OU0laRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NEX0NVUlNPUgorICBPU0RfQ1VSU09SCiB9IG9zZF9yYXdfd2luZG93X3Q7CiB0eXBlZGVmIHN0cnVjdCBvc2RfY2FwX3MgewotIGludCBjbWQ7CisgIGludCBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBPU0RfQ0FQX01FTVNJWkUgMQotIGxvbmcgdmFsOworICBsb25nIHZhbDsKIH0gb3NkX2NhcF90OwogI2RlZmluZSBPU0RfU0VORF9DTUQgX0lPVygnbycsIDE2MCwgb3NkX2NtZF90KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHZiL3ZpZGVvLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2R2Yi92aWRlby5oCmluZGV4IDdmNmQxMDkuLmM4OTEwYmQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZHZiL3ZpZGVvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9kdmIvdmlkZW8uaApAQCAtMjMsNDYgKzIzLDQ2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPHRpbWUuaD4KIHR5cGVkZWYgZW51bSB7Ci0gVklERU9fRk9STUFUXzRfMywKLSBWSURFT19GT1JNQVRfMTZfOSwKKyAgVklERU9fRk9STUFUXzRfMywKKyAgVklERU9fRk9STUFUXzE2XzksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZJREVPX0ZPUk1BVF8yMjFfMQorICBWSURFT19GT1JNQVRfMjIxXzEKIH0gdmlkZW9fZm9ybWF0X3Q7CiB0eXBlZGVmIGVudW0gewotIFZJREVPX1NZU1RFTV9QQUwsCisgIFZJREVPX1NZU1RFTV9QQUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZJREVPX1NZU1RFTV9OVFNDLAotIFZJREVPX1NZU1RFTV9QQUxOLAotIFZJREVPX1NZU1RFTV9QQUxOYywKLSBWSURFT19TWVNURU1fUEFMTSwKKyAgVklERU9fU1lTVEVNX05UU0MsCisgIFZJREVPX1NZU1RFTV9QQUxOLAorICBWSURFT19TWVNURU1fUEFMTmMsCisgIFZJREVPX1NZU1RFTV9QQUxNLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWSURFT19TWVNURU1fTlRTQzYwLAotIFZJREVPX1NZU1RFTV9QQUw2MCwKLSBWSURFT19TWVNURU1fUEFMTTYwCisgIFZJREVPX1NZU1RFTV9OVFNDNjAsCisgIFZJREVPX1NZU1RFTV9QQUw2MCwKKyAgVklERU9fU1lTVEVNX1BBTE02MAogfSB2aWRlb19zeXN0ZW1fdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGVudW0gewotIFZJREVPX1BBTl9TQ0FOLAotIFZJREVPX0xFVFRFUl9CT1gsCi0gVklERU9fQ0VOVEVSX0NVVF9PVVQKKyAgVklERU9fUEFOX1NDQU4sCisgIFZJREVPX0xFVFRFUl9CT1gsCisgIFZJREVPX0NFTlRFUl9DVVRfT1VUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSB2aWRlb19kaXNwbGF5Zm9ybWF0X3Q7CiB0eXBlZGVmIHN0cnVjdCB7Ci0gaW50IHc7Ci0gaW50IGg7CisgIGludCB3OworICBpbnQgaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdmlkZW9fZm9ybWF0X3QgYXNwZWN0X3JhdGlvOworICB2aWRlb19mb3JtYXRfdCBhc3BlY3RfcmF0aW87CiB9IHZpZGVvX3NpemVfdDsKIHR5cGVkZWYgZW51bSB7Ci0gVklERU9fU09VUkNFX0RFTVVYLAorICBWSURFT19TT1VSQ0VfREVNVVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZJREVPX1NPVVJDRV9NRU1PUlkKKyAgVklERU9fU09VUkNFX01FTU9SWQogfSB2aWRlb19zdHJlYW1fc291cmNlX3Q7CiB0eXBlZGVmIGVudW0gewotIFZJREVPX1NUT1BQRUQsCisgIFZJREVPX1NUT1BQRUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZJREVPX1BMQVlJTkcsCi0gVklERU9fRlJFRVpFRAorICBWSURFT19QTEFZSU5HLAorICBWSURFT19GUkVFWkVECiB9IHZpZGVvX3BsYXlfc3RhdGVfdDsKICNkZWZpbmUgVklERU9fQ01EX1BMQVkgKDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNzcsMjMgKzc3LDIzIEBACiAjZGVmaW5lIFZJREVPX1BMQVlfRk1UX0dPUCAoMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdmlkZW9fY29tbWFuZCB7Ci0gX191MzIgY21kOwotIF9fdTMyIGZsYWdzOwotIHVuaW9uIHsKKyAgX191MzIgY21kOworICBfX3UzMiBmbGFnczsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIF9fdTY0IHB0czsKLSB9IHN0b3A7Ci0gc3RydWN0IHsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgcHRzOworICAgIH0gc3RvcDsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBzcGVlZDsKLSBfX3UzMiBmb3JtYXQ7Ci0gfSBwbGF5OwotIHN0cnVjdCB7CisgICAgICBfX3MzMiBzcGVlZDsKKyAgICAgIF9fdTMyIGZvcm1hdDsKKyAgICB9IHBsYXk7CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZGF0YVsxNl07Ci0gfSByYXc7Ci0gfTsKKyAgICAgIF9fdTMyIGRhdGFbMTZdOworICAgIH0gcmF3OworICB9OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX1ZTWU5DX0ZJRUxEX1VOS05PV04gKDApCkBAIC0xMDIsMTA3ICsxMDIsMTA1IEBACiAjZGVmaW5lIFZJREVPX1ZTWU5DX0ZJRUxEX1BST0dSRVNTSVZFICgzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2aWRlb19ldmVudCB7Ci0gX19zMzIgdHlwZTsKKyAgX19zMzIgdHlwZTsKICNkZWZpbmUgVklERU9fRVZFTlRfU0laRV9DSEFOR0VEIDEKICNkZWZpbmUgVklERU9fRVZFTlRfRlJBTUVfUkFURV9DSEFOR0VEIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0VWRU5UX0RFQ09ERVJfU1RPUFBFRCAzCiAjZGVmaW5lIFZJREVPX0VWRU5UX1ZTWU5DIDQKLSBfX2tlcm5lbF90aW1lX3QgdGltZXN0YW1wOwotIHVuaW9uIHsKKyAgX19rZXJuZWxfdGltZV90IHRpbWVzdGFtcDsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2aWRlb19zaXplX3Qgc2l6ZTsKLSB1bnNpZ25lZCBpbnQgZnJhbWVfcmF0ZTsKLSB1bnNpZ25lZCBjaGFyIHZzeW5jX2ZpZWxkOwotIH0gdTsKKyAgICB2aWRlb19zaXplX3Qgc2l6ZTsKKyAgICB1bnNpZ25lZCBpbnQgZnJhbWVfcmF0ZTsKKyAgICB1bnNpZ25lZCBjaGFyIHZzeW5jX2ZpZWxkOworICB9IHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB2aWRlb19zdGF0dXMgewotIGludCB2aWRlb19ibGFuazsKLSB2aWRlb19wbGF5X3N0YXRlX3QgcGxheV9zdGF0ZTsKKyAgaW50IHZpZGVvX2JsYW5rOworICB2aWRlb19wbGF5X3N0YXRlX3QgcGxheV9zdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdmlkZW9fc3RyZWFtX3NvdXJjZV90IHN0cmVhbV9zb3VyY2U7Ci0gdmlkZW9fZm9ybWF0X3QgdmlkZW9fZm9ybWF0OwotIHZpZGVvX2Rpc3BsYXlmb3JtYXRfdCBkaXNwbGF5X2Zvcm1hdDsKKyAgdmlkZW9fc3RyZWFtX3NvdXJjZV90IHN0cmVhbV9zb3VyY2U7CisgIHZpZGVvX2Zvcm1hdF90IHZpZGVvX2Zvcm1hdDsKKyAgdmlkZW9fZGlzcGxheWZvcm1hdF90IGRpc3BsYXlfZm9ybWF0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdmlkZW9fc3RpbGxfcGljdHVyZSB7Ci0gY2hhciBfX3VzZXIgKmlGcmFtZTsKLSBfX3MzMiBzaXplOworICBjaGFyIF9fdXNlciAqIGlGcmFtZTsKKyAgX19zMzIgc2l6ZTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotdHlwZWRlZgotc3RydWN0IHZpZGVvX2hpZ2hsaWdodCB7Ci0gaW50IGFjdGl2ZTsKLSBfX3U4IGNvbnRyYXN0MTsKK3R5cGVkZWYgc3RydWN0IHZpZGVvX2hpZ2hsaWdodCB7CisgIGludCBhY3RpdmU7CisgIF9fdTggY29udHJhc3QxOworICBfX3U4IGNvbnRyYXN0MjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjb250cmFzdDI7Ci0gX191OCBjb2xvcjE7Ci0gX191OCBjb2xvcjI7Ci0gX191MzIgeXBvczsKKyAgX191OCBjb2xvcjE7CisgIF9fdTggY29sb3IyOworICBfX3UzMiB5cG9zOworICBfX3UzMiB4cG9zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB4cG9zOwogfSB2aWRlb19oaWdobGlnaHRfdDsKIHR5cGVkZWYgc3RydWN0IHZpZGVvX3NwdSB7Ci0gaW50IGFjdGl2ZTsKKyAgaW50IGFjdGl2ZTsKKyAgaW50IHN0cmVhbV9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHN0cmVhbV9pZDsKIH0gdmlkZW9fc3B1X3Q7CiB0eXBlZGVmIHN0cnVjdCB2aWRlb19zcHVfcGFsZXR0ZSB7Ci0gaW50IGxlbmd0aDsKKyAgaW50IGxlbmd0aDsKKyAgX191OCBfX3VzZXIgKiBwYWxldHRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IF9fdXNlciAqcGFsZXR0ZTsKIH0gdmlkZW9fc3B1X3BhbGV0dGVfdDsKIHR5cGVkZWYgc3RydWN0IHZpZGVvX25hdmlfcGFjayB7Ci0gaW50IGxlbmd0aDsKKyAgaW50IGxlbmd0aDsKKyAgX191OCBkYXRhWzEwMjRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRhdGFbMTAyNF07CiB9IHZpZGVvX25hdmlfcGFja190OwogdHlwZWRlZiBfX3UxNiB2aWRlb19hdHRyaWJ1dGVzX3Q7CiAjZGVmaW5lIFZJREVPX0NBUF9NUEVHMSAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURFT19DQVBfTVBFRzIgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklERU9fQ0FQX1NZUyA0CiAjZGVmaW5lIFZJREVPX0NBUF9QUk9HIDgKICNkZWZpbmUgVklERU9fQ0FQX1NQVSAxNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklERU9fQ0FQX05BVkkgMzIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0NBUF9DU1MgNjQKICNkZWZpbmUgVklERU9fU1RPUCBfSU8oJ28nLCAyMSkKICNkZWZpbmUgVklERU9fUExBWSBfSU8oJ28nLCAyMikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0ZSRUVaRSBfSU8oJ28nLCAyMykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0NPTlRJTlVFIF9JTygnbycsIDI0KQogI2RlZmluZSBWSURFT19TRUxFQ1RfU09VUkNFIF9JTygnbycsIDI1KQogI2RlZmluZSBWSURFT19TRVRfQkxBTksgX0lPKCdvJywgMjYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURFT19HRVRfU1RBVFVTIF9JT1IoJ28nLCAyNywgc3RydWN0IHZpZGVvX3N0YXR1cykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0dFVF9FVkVOVCBfSU9SKCdvJywgMjgsIHN0cnVjdCB2aWRlb19ldmVudCkKICNkZWZpbmUgVklERU9fU0VUX0RJU1BMQVlfRk9STUFUIF9JTygnbycsIDI5KQogI2RlZmluZSBWSURFT19TVElMTFBJQ1RVUkUgX0lPVygnbycsIDMwLCBzdHJ1Y3QgdmlkZW9fc3RpbGxfcGljdHVyZSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0ZBU1RfRk9SV0FSRCBfSU8oJ28nLCAzMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX1NMT1dNT1RJT04gX0lPKCdvJywgMzIpCiAjZGVmaW5lIFZJREVPX0dFVF9DQVBBQklMSVRJRVMgX0lPUignbycsIDMzLCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIFZJREVPX0NMRUFSX0JVRkZFUiBfSU8oJ28nLCAzNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX1NFVF9JRCBfSU8oJ28nLCAzNSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX1NFVF9TVFJFQU1UWVBFIF9JTygnbycsIDM2KQogI2RlZmluZSBWSURFT19TRVRfRk9STUFUIF9JTygnbycsIDM3KQogI2RlZmluZSBWSURFT19TRVRfU1lTVEVNIF9JTygnbycsIDM4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklERU9fU0VUX0hJR0hMSUdIVCBfSU9XKCdvJywgMzksIHZpZGVvX2hpZ2hsaWdodF90KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklERU9fU0VUX1NQVSBfSU9XKCdvJywgNTAsIHZpZGVvX3NwdV90KQogI2RlZmluZSBWSURFT19TRVRfU1BVX1BBTEVUVEUgX0lPVygnbycsIDUxLCB2aWRlb19zcHVfcGFsZXR0ZV90KQogI2RlZmluZSBWSURFT19HRVRfTkFWSSBfSU9SKCdvJywgNTIsIHZpZGVvX25hdmlfcGFja190KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklERU9fU0VUX0FUVFJJQlVURVMgX0lPKCdvJywgNTMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURFT19HRVRfU0laRSBfSU9SKCdvJywgNTUsIHZpZGVvX3NpemVfdCkKICNkZWZpbmUgVklERU9fR0VUX0ZSQU1FX1JBVEUgX0lPUignbycsIDU2LCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIFZJREVPX0dFVF9QVFMgX0lPUignbycsIDU3LCBfX3U2NCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJREVPX0dFVF9GUkFNRV9DT1VOVCBfSU9SKCdvJywgNTgsIF9fdTY0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklERU9fQ09NTUFORCBfSU9XUignbycsIDU5LCBzdHJ1Y3QgdmlkZW9fY29tbWFuZCkKICNkZWZpbmUgVklERU9fVFJZX0NPTU1BTkQgX0lPV1IoJ28nLCA2MCwgc3RydWN0IHZpZGVvX2NvbW1hbmQpCiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VkZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lZGQuaAppbmRleCBjZGUxZGU5Li4xMzhkZTJjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VkZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWRkLmgKQEAgLTU2LDE0NSArNTYsMTQ1IEBACiAjZGVmaW5lIEVERF9JTkZPX1VTRV9JTlQxM19GTjUwICgxIDw8IDcpCiBzdHJ1Y3QgZWRkX2RldmljZV9wYXJhbXMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBsZW5ndGg7Ci0gX191MTYgaW5mb19mbGFnczsKLSBfX3UzMiBudW1fZGVmYXVsdF9jeWxpbmRlcnM7Ci0gX191MzIgbnVtX2RlZmF1bHRfaGVhZHM7CisgIF9fdTE2IGxlbmd0aDsKKyAgX191MTYgaW5mb19mbGFnczsKKyAgX191MzIgbnVtX2RlZmF1bHRfY3lsaW5kZXJzOworICBfX3UzMiBudW1fZGVmYXVsdF9oZWFkczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2VjdG9yc19wZXJfdHJhY2s7Ci0gX191NjQgbnVtYmVyX29mX3NlY3RvcnM7Ci0gX191MTYgYnl0ZXNfcGVyX3NlY3RvcjsKLSBfX3UzMiBkcHRlX3B0cjsKKyAgX191MzIgc2VjdG9yc19wZXJfdHJhY2s7CisgIF9fdTY0IG51bWJlcl9vZl9zZWN0b3JzOworICBfX3UxNiBieXRlc19wZXJfc2VjdG9yOworICBfX3UzMiBkcHRlX3B0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYga2V5OwotIF9fdTggZGV2aWNlX3BhdGhfaW5mb19sZW5ndGg7Ci0gX191OCByZXNlcnZlZDI7Ci0gX191MTYgcmVzZXJ2ZWQzOworICBfX3UxNiBrZXk7CisgIF9fdTggZGV2aWNlX3BhdGhfaW5mb19sZW5ndGg7CisgIF9fdTggcmVzZXJ2ZWQyOworICBfX3UxNiByZXNlcnZlZDM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaG9zdF9idXNfdHlwZVs0XTsKLSBfX3U4IGludGVyZmFjZV90eXBlWzhdOwotIHVuaW9uIHsKLSBzdHJ1Y3QgeworICBfX3U4IGhvc3RfYnVzX3R5cGVbNF07CisgIF9fdTggaW50ZXJmYWNlX3R5cGVbOF07CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBiYXNlX2FkZHJlc3M7Ci0gX191MTYgcmVzZXJ2ZWQxOwotIF9fdTMyIHJlc2VydmVkMjsKLSB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSBpc2E7CisgICAgICBfX3UxNiBiYXNlX2FkZHJlc3M7CisgICAgICBfX3UxNiByZXNlcnZlZDE7CisgICAgICBfX3UzMiByZXNlcnZlZDI7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBpc2E7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX191OCBidXM7Ci0gX191OCBzbG90OwotIF9fdTggZnVuY3Rpb247CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggYnVzOworICAgICAgX191OCBzbG90OworICAgICAgX191OCBmdW5jdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjaGFubmVsOwotIF9fdTMyIHJlc2VydmVkOwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIHBjaTsKLSBzdHJ1Y3QgeworICAgICAgX191OCBjaGFubmVsOworICAgICAgX191MzIgcmVzZXJ2ZWQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBwY2k7CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzZXJ2ZWQ7Ci0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgaWJuZDsKLSBzdHJ1Y3QgewotIF9fdTY0IHJlc2VydmVkOworICAgICAgX191NjQgcmVzZXJ2ZWQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBpYm5kOworICAgIHN0cnVjdCB7CisgICAgICBfX3U2NCByZXNlcnZlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgeHByczsKLSBzdHJ1Y3QgewotIF9fdTY0IHJlc2VydmVkOwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGh0cHQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSB4cHJzOworICAgIHN0cnVjdCB7CisgICAgICBfX3U2NCByZXNlcnZlZDsKKyAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGh0cHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX191NjQgcmVzZXJ2ZWQ7Ci0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgdW5rbm93bjsKLSB9IGludGVyZmFjZV9wYXRoOworICAgIHN0cnVjdCB7CisgICAgICBfX3U2NCByZXNlcnZlZDsKKyAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHVua25vd247CisgIH0gaW50ZXJmYWNlX3BhdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIF9fdTggZGV2aWNlOwotIF9fdTggcmVzZXJ2ZWQxOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggZGV2aWNlOworICAgICAgX191OCByZXNlcnZlZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHJlc2VydmVkMjsKLSBfX3UzMiByZXNlcnZlZDM7Ci0gX191NjQgcmVzZXJ2ZWQ0OwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGF0YTsKKyAgICAgIF9fdTE2IHJlc2VydmVkMjsKKyAgICAgIF9fdTMyIHJlc2VydmVkMzsKKyAgICAgIF9fdTY0IHJlc2VydmVkNDsKKyAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3U4IGRldmljZTsKLSBfX3U4IGx1bjsKLSBfX3U4IHJlc2VydmVkMTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191OCBkZXZpY2U7CisgICAgICBfX3U4IGx1bjsKKyAgICAgIF9fdTggcmVzZXJ2ZWQxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc2VydmVkMjsKLSBfX3UzMiByZXNlcnZlZDM7Ci0gX191NjQgcmVzZXJ2ZWQ0OwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGF0YXBpOworICAgICAgX191OCByZXNlcnZlZDI7CisgICAgICBfX3UzMiByZXNlcnZlZDM7CisgICAgICBfX3U2NCByZXNlcnZlZDQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBhdGFwaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3UxNiBpZDsKLSBfX3U2NCBsdW47Ci0gX191MTYgcmVzZXJ2ZWQxOworICAgIHN0cnVjdCB7CisgICAgICBfX3UxNiBpZDsKKyAgICAgIF9fdTY0IGx1bjsKKyAgICAgIF9fdTE2IHJlc2VydmVkMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQyOwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIHNjc2k7Ci0gc3RydWN0IHsKLSBfX3U2NCBzZXJpYWxfbnVtYmVyOworICAgICAgX191MzIgcmVzZXJ2ZWQyOworICAgIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgc2NzaTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgc2VyaWFsX251bWJlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzZXJ2ZWQ7Ci0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgdXNiOwotIHN0cnVjdCB7Ci0gX191NjQgZXVpOworICAgICAgX191NjQgcmVzZXJ2ZWQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSB1c2I7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IGV1aTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzZXJ2ZWQ7Ci0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgaTEzOTQ7Ci0gc3RydWN0IHsKLSBfX3U2NCB3d2lkOworICAgICAgX191NjQgcmVzZXJ2ZWQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBpMTM5NDsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgd3dpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbHVuOwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGZpYnJlOwotIHN0cnVjdCB7Ci0gX191NjQgaWRlbnRpdHlfdGFnOworICAgICAgX191NjQgbHVuOworICAgIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgZmlicmU7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IGlkZW50aXR5X3RhZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzZXJ2ZWQ7Ci0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgaTJvOwotIHN0cnVjdCB7Ci0gX191MzIgYXJyYXlfbnVtYmVyOworICAgICAgX191NjQgcmVzZXJ2ZWQ7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBpMm87CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTMyIGFycmF5X251bWJlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQxOwotIF9fdTY0IHJlc2VydmVkMjsKLSB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSByYWlkOwotIHN0cnVjdCB7CisgICAgICBfX3UzMiByZXNlcnZlZDE7CisgICAgICBfX3U2NCByZXNlcnZlZDI7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSByYWlkOworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGV2aWNlOwotIF9fdTggcmVzZXJ2ZWQxOwotIF9fdTE2IHJlc2VydmVkMjsKLSBfX3UzMiByZXNlcnZlZDM7CisgICAgICBfX3U4IGRldmljZTsKKyAgICAgIF9fdTggcmVzZXJ2ZWQxOworICAgICAgX191MTYgcmVzZXJ2ZWQyOworICAgICAgX191MzIgcmVzZXJ2ZWQzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNlcnZlZDQ7Ci0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgc2F0YTsKLSBzdHJ1Y3QgewotIF9fdTY0IHJlc2VydmVkMTsKKyAgICAgIF9fdTY0IHJlc2VydmVkNDsKKyAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHNhdGE7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IHJlc2VydmVkMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzZXJ2ZWQyOwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIHVua25vd247Ci0gfSBkZXZpY2VfcGF0aDsKLSBfX3U4IHJlc2VydmVkNDsKKyAgICAgIF9fdTY0IHJlc2VydmVkMjsKKyAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHVua25vd247CisgIH0gZGV2aWNlX3BhdGg7CisgIF9fdTggcmVzZXJ2ZWQ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNoZWNrc3VtOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTggY2hlY2tzdW07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IGVkZF9pbmZvIHsKLSBfX3U4IGRldmljZTsKKyAgX191OCBkZXZpY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdmVyc2lvbjsKLSBfX3UxNiBpbnRlcmZhY2Vfc3VwcG9ydDsKLSBfX3UxNiBsZWdhY3lfbWF4X2N5bGluZGVyOwotIF9fdTggbGVnYWN5X21heF9oZWFkOworICBfX3U4IHZlcnNpb247CisgIF9fdTE2IGludGVyZmFjZV9zdXBwb3J0OworICBfX3UxNiBsZWdhY3lfbWF4X2N5bGluZGVyOworICBfX3U4IGxlZ2FjeV9tYXhfaGVhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBsZWdhY3lfc2VjdG9yc19wZXJfdHJhY2s7Ci0gc3RydWN0IGVkZF9kZXZpY2VfcGFyYW1zIHBhcmFtczsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGxlZ2FjeV9zZWN0b3JzX3Blcl90cmFjazsKKyAgc3RydWN0IGVkZF9kZXZpY2VfcGFyYW1zIHBhcmFtczsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgZWRkIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IG1icl9zaWduYXR1cmVbRUREX01CUl9TSUdfTUFYXTsKLSBzdHJ1Y3QgZWRkX2luZm8gZWRkX2luZm9bRURETUFYTlJdOwotIHVuc2lnbmVkIGNoYXIgbWJyX3NpZ25hdHVyZV9ucjsKLSB1bnNpZ25lZCBjaGFyIGVkZF9pbmZvX25yOworICB1bnNpZ25lZCBpbnQgbWJyX3NpZ25hdHVyZVtFRERfTUJSX1NJR19NQVhdOworICBzdHJ1Y3QgZWRkX2luZm8gZWRkX2luZm9bRURETUFYTlJdOworICB1bnNpZ25lZCBjaGFyIG1icl9zaWduYXR1cmVfbnI7CisgIHVuc2lnbmVkIGNoYXIgZWRkX2luZm9fbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lZnNfZnNfc2IuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWZzX2ZzX3NiLmgKaW5kZXggMWUyNTcxMC4uODdmZDQxNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lZnNfZnNfc2IuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Vmc19mc19zYi5oCkBAIC0yOCw0NCArMjgsNDQgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVGU19ST09USU5PREUgMgogc3RydWN0IGVmc19zdXBlciB7Ci0gX19iZTMyIGZzX3NpemU7Ci0gX19iZTMyIGZzX2ZpcnN0Y2c7CisgIF9fYmUzMiBmc19zaXplOworICBfX2JlMzIgZnNfZmlyc3RjZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGZzX2NnZnNpemU7Ci0gX19iZTE2IGZzX2NnaXNpemU7Ci0gX19iZTE2IGZzX3NlY3RvcnM7Ci0gX19iZTE2IGZzX2hlYWRzOworICBfX2JlMzIgZnNfY2dmc2l6ZTsKKyAgX19iZTE2IGZzX2NnaXNpemU7CisgIF9fYmUxNiBmc19zZWN0b3JzOworICBfX2JlMTYgZnNfaGVhZHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBmc19uY2c7Ci0gX19iZTE2IGZzX2RpcnR5OwotIF9fYmUzMiBmc190aW1lOwotIF9fYmUzMiBmc19tYWdpYzsKKyAgX19iZTE2IGZzX25jZzsKKyAgX19iZTE2IGZzX2RpcnR5OworICBfX2JlMzIgZnNfdGltZTsKKyAgX19iZTMyIGZzX21hZ2ljOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGZzX2ZuYW1lWzZdOwotIGNoYXIgZnNfZnBhY2tbNl07Ci0gX19iZTMyIGZzX2Jtc2l6ZTsKLSBfX2JlMzIgZnNfdGZyZWU7CisgIGNoYXIgZnNfZm5hbWVbNl07CisgIGNoYXIgZnNfZnBhY2tbNl07CisgIF9fYmUzMiBmc19ibXNpemU7CisgIF9fYmUzMiBmc190ZnJlZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGZzX3Rpbm9kZTsKLSBfX2JlMzIgZnNfYm1ibG9jazsKLSBfX2JlMzIgZnNfcmVwbHNiOwotIF9fYmUzMiBmc19sYXN0aWFsbG9jOworICBfX2JlMzIgZnNfdGlub2RlOworICBfX2JlMzIgZnNfYm1ibG9jazsKKyAgX19iZTMyIGZzX3JlcGxzYjsKKyAgX19iZTMyIGZzX2xhc3RpYWxsb2M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZnNfc3BhcmVbMjBdOwotIF9fYmUzMiBmc19jaGVja3N1bTsKKyAgY2hhciBmc19zcGFyZVsyMF07CisgIF9fYmUzMiBmc19jaGVja3N1bTsKIH07CiBzdHJ1Y3QgZWZzX3NiX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmc19tYWdpYzsKLSBfX3UzMiBmc19zdGFydDsKLSBfX3UzMiBmaXJzdF9ibG9jazsKLSBfX3UzMiB0b3RhbF9ibG9ja3M7CisgIF9fdTMyIGZzX21hZ2ljOworICBfX3UzMiBmc19zdGFydDsKKyAgX191MzIgZmlyc3RfYmxvY2s7CisgIF9fdTMyIHRvdGFsX2Jsb2NrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZ3JvdXBfc2l6ZTsKLSBfX3UzMiBkYXRhX2ZyZWU7Ci0gX191MzIgaW5vZGVfZnJlZTsKLSBfX3UxNiBpbm9kZV9ibG9ja3M7CisgIF9fdTMyIGdyb3VwX3NpemU7CisgIF9fdTMyIGRhdGFfZnJlZTsKKyAgX191MzIgaW5vZGVfZnJlZTsKKyAgX191MTYgaW5vZGVfYmxvY2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB0b3RhbF9ncm91cHM7CisgIF9fdTE2IHRvdGFsX2dyb3VwczsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmLWVtLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VsZi1lbS5oCmluZGV4IDFlODZjNWMuLjhmZTkzOWEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmLWVtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lbGYtZW0uaApAQCAtNTEsMTYgKzUxLDE4IEBACiAjZGVmaW5lIEVNX00zMlIgODgKICNkZWZpbmUgRU1fTU4xMDMwMCA4OQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRU1fT1BFTlJJU0MgOTIKICNkZWZpbmUgRU1fQkxBQ0tGSU4gMTA2CiAjZGVmaW5lIEVNX1RJX0M2MDAwIDE0MAogI2RlZmluZSBFTV9BQVJDSDY0IDE4MwotI2RlZmluZSBFTV9GUlYgMHg1NDQxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFTV9GUlYgMHg1NDQxCiAjZGVmaW5lIEVNX0FWUjMyIDB4MThhZAogI2RlZmluZSBFTV9BTFBIQSAweDkwMjYKICNkZWZpbmUgRU1fQ1lHTlVTX1Y4NTAgMHg5MDgwCi0jZGVmaW5lIEVNX0NZR05VU19NMzJSIDB4OTA0MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRU1fQ1lHTlVTX00zMlIgMHg5MDQxCiAjZGVmaW5lIEVNX1MzOTBfT0xEIDB4QTM5MAogI2RlZmluZSBFTV9DWUdOVVNfTU4xMDMwMCAweGJlZWYKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmLWZkcGljLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VsZi1mZHBpYy5oCmluZGV4IDQ0NDE4OTAuLjQ1YTU2ZTQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmLWZkcGljLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lbGYtZmRwaWMuaApAQCAtMjIsMTYgKzIyLDE2IEBACiAjZGVmaW5lIFBUX0dOVV9TVEFDSyAoUFRfTE9PUyArIDB4NDc0ZTU1MSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZWxmMzJfZmRwaWNfbG9hZHNlZyB7Ci0gRWxmMzJfQWRkciBhZGRyOwotIEVsZjMyX0FkZHIgcF92YWRkcjsKLSBFbGYzMl9Xb3JkIHBfbWVtc3o7CisgIEVsZjMyX0FkZHIgYWRkcjsKKyAgRWxmMzJfQWRkciBwX3ZhZGRyOworICBFbGYzMl9Xb3JkIHBfbWVtc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBlbGYzMl9mZHBpY19sb2FkbWFwIHsKLSBFbGYzMl9IYWxmIHZlcnNpb247Ci0gRWxmMzJfSGFsZiBuc2VnczsKKyAgRWxmMzJfSGFsZiB2ZXJzaW9uOworICBFbGYzMl9IYWxmIG5zZWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZWxmMzJfZmRwaWNfbG9hZHNlZyBzZWdzW107CisgIHN0cnVjdCBlbGYzMl9mZHBpY19sb2Fkc2VnIHNlZ3NbXTsKIH07CiAjZGVmaW5lIEVMRjMyX0ZEUElDX0xPQURNQVBfVkVSU0lPTiAweDAwMDAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lbGYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmLmgKaW5kZXggMGUwZDcyNS4uNGU0Mjc1OCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lbGYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VsZi5oCkBAIC0xMzgsMjIgKzEzOCwyMiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUxGNjRfU1RfQklORCh4KSBFTEZfU1RfQklORCh4KQogI2RlZmluZSBFTEY2NF9TVF9UWVBFKHgpIEVMRl9TVF9UWVBFKHgpCi10eXBlZGVmIHN0cnVjdCBkeW5hbWljewotIEVsZjMyX1N3b3JkIGRfdGFnOwordHlwZWRlZiBzdHJ1Y3QgZHluYW1pYyB7CisgIEVsZjMyX1N3b3JkIGRfdGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbnsKLSBFbGYzMl9Td29yZCBkX3ZhbDsKLSBFbGYzMl9BZGRyIGRfcHRyOwotIH0gZF91bjsKKyAgdW5pb24geworICAgIEVsZjMyX1N3b3JkIGRfdmFsOworICAgIEVsZjMyX0FkZHIgZF9wdHI7CisgIH0gZF91bjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IEVsZjMyX0R5bjsKIHR5cGVkZWYgc3RydWN0IHsKLSBFbGY2NF9TeHdvcmQgZF90YWc7Ci0gdW5pb24geworICBFbGY2NF9TeHdvcmQgZF90YWc7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRWxmNjRfWHdvcmQgZF92YWw7Ci0gRWxmNjRfQWRkciBkX3B0cjsKLSB9IGRfdW47CisgICAgRWxmNjRfWHdvcmQgZF92YWw7CisgICAgRWxmNjRfQWRkciBkX3B0cjsKKyAgfSBkX3VuOwogfSBFbGY2NF9EeW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFTEYzMl9SX1NZTSh4KSAoKHgpID4+IDgpCkBAIC0xNjIsMTE2ICsxNjIsMTE2IEBACiAjZGVmaW5lIEVMRjY0X1JfVFlQRShpKSAoKGkpICYgMHhmZmZmZmZmZikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBlbGYzMl9yZWwgewotIEVsZjMyX0FkZHIgcl9vZmZzZXQ7Ci0gRWxmMzJfV29yZCByX2luZm87CisgIEVsZjMyX0FkZHIgcl9vZmZzZXQ7CisgIEVsZjMyX1dvcmQgcl9pbmZvOwogfSBFbGYzMl9SZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZWxmNjRfcmVsIHsKLSBFbGY2NF9BZGRyIHJfb2Zmc2V0OwotIEVsZjY0X1h3b3JkIHJfaW5mbzsKKyAgRWxmNjRfQWRkciByX29mZnNldDsKKyAgRWxmNjRfWHdvcmQgcl9pbmZvOwogfSBFbGY2NF9SZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotdHlwZWRlZiBzdHJ1Y3QgZWxmMzJfcmVsYXsKLSBFbGYzMl9BZGRyIHJfb2Zmc2V0OwotIEVsZjMyX1dvcmQgcl9pbmZvOwotIEVsZjMyX1N3b3JkIHJfYWRkZW5kOwordHlwZWRlZiBzdHJ1Y3QgZWxmMzJfcmVsYSB7CisgIEVsZjMyX0FkZHIgcl9vZmZzZXQ7CisgIEVsZjMyX1dvcmQgcl9pbmZvOworICBFbGYzMl9Td29yZCByX2FkZGVuZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IEVsZjMyX1JlbGE7CiB0eXBlZGVmIHN0cnVjdCBlbGY2NF9yZWxhIHsKLSBFbGY2NF9BZGRyIHJfb2Zmc2V0OwotIEVsZjY0X1h3b3JkIHJfaW5mbzsKKyAgRWxmNjRfQWRkciByX29mZnNldDsKKyAgRWxmNjRfWHdvcmQgcl9pbmZvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFbGY2NF9TeHdvcmQgcl9hZGRlbmQ7CisgIEVsZjY0X1N4d29yZCByX2FkZGVuZDsKIH0gRWxmNjRfUmVsYTsKLXR5cGVkZWYgc3RydWN0IGVsZjMyX3N5bXsKLSBFbGYzMl9Xb3JkIHN0X25hbWU7Cit0eXBlZGVmIHN0cnVjdCBlbGYzMl9zeW0geworICBFbGYzMl9Xb3JkIHN0X25hbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX0FkZHIgc3RfdmFsdWU7Ci0gRWxmMzJfV29yZCBzdF9zaXplOwotIHVuc2lnbmVkIGNoYXIgc3RfaW5mbzsKLSB1bnNpZ25lZCBjaGFyIHN0X290aGVyOworICBFbGYzMl9BZGRyIHN0X3ZhbHVlOworICBFbGYzMl9Xb3JkIHN0X3NpemU7CisgIHVuc2lnbmVkIGNoYXIgc3RfaW5mbzsKKyAgdW5zaWduZWQgY2hhciBzdF9vdGhlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRWxmMzJfSGFsZiBzdF9zaG5keDsKKyAgRWxmMzJfSGFsZiBzdF9zaG5keDsKIH0gRWxmMzJfU3ltOwogdHlwZWRlZiBzdHJ1Y3QgZWxmNjRfc3ltIHsKLSBFbGY2NF9Xb3JkIHN0X25hbWU7CisgIEVsZjY0X1dvcmQgc3RfbmFtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBzdF9pbmZvOwotIHVuc2lnbmVkIGNoYXIgc3Rfb3RoZXI7Ci0gRWxmNjRfSGFsZiBzdF9zaG5keDsKLSBFbGY2NF9BZGRyIHN0X3ZhbHVlOworICB1bnNpZ25lZCBjaGFyIHN0X2luZm87CisgIHVuc2lnbmVkIGNoYXIgc3Rfb3RoZXI7CisgIEVsZjY0X0hhbGYgc3Rfc2huZHg7CisgIEVsZjY0X0FkZHIgc3RfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjY0X1h3b3JkIHN0X3NpemU7CisgIEVsZjY0X1h3b3JkIHN0X3NpemU7CiB9IEVsZjY0X1N5bTsKICNkZWZpbmUgRUlfTklERU5UIDE2Ci10eXBlZGVmIHN0cnVjdCBlbGYzMl9oZHJ7Cit0eXBlZGVmIHN0cnVjdCBlbGYzMl9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGVfaWRlbnRbRUlfTklERU5UXTsKLSBFbGYzMl9IYWxmIGVfdHlwZTsKLSBFbGYzMl9IYWxmIGVfbWFjaGluZTsKLSBFbGYzMl9Xb3JkIGVfdmVyc2lvbjsKKyAgdW5zaWduZWQgY2hhciBlX2lkZW50W0VJX05JREVOVF07CisgIEVsZjMyX0hhbGYgZV90eXBlOworICBFbGYzMl9IYWxmIGVfbWFjaGluZTsKKyAgRWxmMzJfV29yZCBlX3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX0FkZHIgZV9lbnRyeTsKLSBFbGYzMl9PZmYgZV9waG9mZjsKLSBFbGYzMl9PZmYgZV9zaG9mZjsKLSBFbGYzMl9Xb3JkIGVfZmxhZ3M7CisgIEVsZjMyX0FkZHIgZV9lbnRyeTsKKyAgRWxmMzJfT2ZmIGVfcGhvZmY7CisgIEVsZjMyX09mZiBlX3Nob2ZmOworICBFbGYzMl9Xb3JkIGVfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX0hhbGYgZV9laHNpemU7Ci0gRWxmMzJfSGFsZiBlX3BoZW50c2l6ZTsKLSBFbGYzMl9IYWxmIGVfcGhudW07Ci0gRWxmMzJfSGFsZiBlX3NoZW50c2l6ZTsKKyAgRWxmMzJfSGFsZiBlX2Voc2l6ZTsKKyAgRWxmMzJfSGFsZiBlX3BoZW50c2l6ZTsKKyAgRWxmMzJfSGFsZiBlX3BobnVtOworICBFbGYzMl9IYWxmIGVfc2hlbnRzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFbGYzMl9IYWxmIGVfc2hudW07Ci0gRWxmMzJfSGFsZiBlX3Noc3RybmR4OworICBFbGYzMl9IYWxmIGVfc2hudW07CisgIEVsZjMyX0hhbGYgZV9zaHN0cm5keDsKIH0gRWxmMzJfRWhkcjsKIHR5cGVkZWYgc3RydWN0IGVsZjY0X2hkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZV9pZGVudFtFSV9OSURFTlRdOwotIEVsZjY0X0hhbGYgZV90eXBlOwotIEVsZjY0X0hhbGYgZV9tYWNoaW5lOwotIEVsZjY0X1dvcmQgZV92ZXJzaW9uOworICB1bnNpZ25lZCBjaGFyIGVfaWRlbnRbRUlfTklERU5UXTsKKyAgRWxmNjRfSGFsZiBlX3R5cGU7CisgIEVsZjY0X0hhbGYgZV9tYWNoaW5lOworICBFbGY2NF9Xb3JkIGVfdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRWxmNjRfQWRkciBlX2VudHJ5OwotIEVsZjY0X09mZiBlX3Bob2ZmOwotIEVsZjY0X09mZiBlX3Nob2ZmOwotIEVsZjY0X1dvcmQgZV9mbGFnczsKKyAgRWxmNjRfQWRkciBlX2VudHJ5OworICBFbGY2NF9PZmYgZV9waG9mZjsKKyAgRWxmNjRfT2ZmIGVfc2hvZmY7CisgIEVsZjY0X1dvcmQgZV9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRWxmNjRfSGFsZiBlX2Voc2l6ZTsKLSBFbGY2NF9IYWxmIGVfcGhlbnRzaXplOwotIEVsZjY0X0hhbGYgZV9waG51bTsKLSBFbGY2NF9IYWxmIGVfc2hlbnRzaXplOworICBFbGY2NF9IYWxmIGVfZWhzaXplOworICBFbGY2NF9IYWxmIGVfcGhlbnRzaXplOworICBFbGY2NF9IYWxmIGVfcGhudW07CisgIEVsZjY0X0hhbGYgZV9zaGVudHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjY0X0hhbGYgZV9zaG51bTsKLSBFbGY2NF9IYWxmIGVfc2hzdHJuZHg7CisgIEVsZjY0X0hhbGYgZV9zaG51bTsKKyAgRWxmNjRfSGFsZiBlX3Noc3RybmR4OwogfSBFbGY2NF9FaGRyOwogI2RlZmluZSBQRl9SIDB4NAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUEZfVyAweDIKICNkZWZpbmUgUEZfWCAweDEKLXR5cGVkZWYgc3RydWN0IGVsZjMyX3BoZHJ7Ci0gRWxmMzJfV29yZCBwX3R5cGU7Cit0eXBlZGVmIHN0cnVjdCBlbGYzMl9waGRyIHsKKyAgRWxmMzJfV29yZCBwX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX09mZiBwX29mZnNldDsKLSBFbGYzMl9BZGRyIHBfdmFkZHI7Ci0gRWxmMzJfQWRkciBwX3BhZGRyOwotIEVsZjMyX1dvcmQgcF9maWxlc3o7CisgIEVsZjMyX09mZiBwX29mZnNldDsKKyAgRWxmMzJfQWRkciBwX3ZhZGRyOworICBFbGYzMl9BZGRyIHBfcGFkZHI7CisgIEVsZjMyX1dvcmQgcF9maWxlc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX1dvcmQgcF9tZW1zejsKLSBFbGYzMl9Xb3JkIHBfZmxhZ3M7Ci0gRWxmMzJfV29yZCBwX2FsaWduOworICBFbGYzMl9Xb3JkIHBfbWVtc3o7CisgIEVsZjMyX1dvcmQgcF9mbGFnczsKKyAgRWxmMzJfV29yZCBwX2FsaWduOwogfSBFbGYzMl9QaGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGVsZjY0X3BoZHIgewotIEVsZjY0X1dvcmQgcF90eXBlOwotIEVsZjY0X1dvcmQgcF9mbGFnczsKLSBFbGY2NF9PZmYgcF9vZmZzZXQ7CisgIEVsZjY0X1dvcmQgcF90eXBlOworICBFbGY2NF9Xb3JkIHBfZmxhZ3M7CisgIEVsZjY0X09mZiBwX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRWxmNjRfQWRkciBwX3ZhZGRyOwotIEVsZjY0X0FkZHIgcF9wYWRkcjsKLSBFbGY2NF9Yd29yZCBwX2ZpbGVzejsKLSBFbGY2NF9Yd29yZCBwX21lbXN6OworICBFbGY2NF9BZGRyIHBfdmFkZHI7CisgIEVsZjY0X0FkZHIgcF9wYWRkcjsKKyAgRWxmNjRfWHdvcmQgcF9maWxlc3o7CisgIEVsZjY0X1h3b3JkIHBfbWVtc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjY0X1h3b3JkIHBfYWxpZ247CisgIEVsZjY0X1h3b3JkIHBfYWxpZ247CiB9IEVsZjY0X1BoZHI7CiAjZGVmaW5lIFNIVF9OVUxMIDAKICNkZWZpbmUgU0hUX1BST0dCSVRTIDEKQEAgLTMwOSwzNCArMzA5LDM0IEBACiAjZGVmaW5lIFNITl9DT01NT04gMHhmZmYyCiAjZGVmaW5lIFNITl9ISVJFU0VSVkUgMHhmZmZmCiB0eXBlZGVmIHN0cnVjdCBlbGYzMl9zaGRyIHsKLSBFbGYzMl9Xb3JkIHNoX25hbWU7CisgIEVsZjMyX1dvcmQgc2hfbmFtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRWxmMzJfV29yZCBzaF90eXBlOwotIEVsZjMyX1dvcmQgc2hfZmxhZ3M7Ci0gRWxmMzJfQWRkciBzaF9hZGRyOwotIEVsZjMyX09mZiBzaF9vZmZzZXQ7CisgIEVsZjMyX1dvcmQgc2hfdHlwZTsKKyAgRWxmMzJfV29yZCBzaF9mbGFnczsKKyAgRWxmMzJfQWRkciBzaF9hZGRyOworICBFbGYzMl9PZmYgc2hfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFbGYzMl9Xb3JkIHNoX3NpemU7Ci0gRWxmMzJfV29yZCBzaF9saW5rOwotIEVsZjMyX1dvcmQgc2hfaW5mbzsKLSBFbGYzMl9Xb3JkIHNoX2FkZHJhbGlnbjsKKyAgRWxmMzJfV29yZCBzaF9zaXplOworICBFbGYzMl9Xb3JkIHNoX2xpbms7CisgIEVsZjMyX1dvcmQgc2hfaW5mbzsKKyAgRWxmMzJfV29yZCBzaF9hZGRyYWxpZ247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX1dvcmQgc2hfZW50c2l6ZTsKKyAgRWxmMzJfV29yZCBzaF9lbnRzaXplOwogfSBFbGYzMl9TaGRyOwogdHlwZWRlZiBzdHJ1Y3QgZWxmNjRfc2hkciB7Ci0gRWxmNjRfV29yZCBzaF9uYW1lOworICBFbGY2NF9Xb3JkIHNoX25hbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjY0X1dvcmQgc2hfdHlwZTsKLSBFbGY2NF9Yd29yZCBzaF9mbGFnczsKLSBFbGY2NF9BZGRyIHNoX2FkZHI7Ci0gRWxmNjRfT2ZmIHNoX29mZnNldDsKKyAgRWxmNjRfV29yZCBzaF90eXBlOworICBFbGY2NF9Yd29yZCBzaF9mbGFnczsKKyAgRWxmNjRfQWRkciBzaF9hZGRyOworICBFbGY2NF9PZmYgc2hfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFbGY2NF9Yd29yZCBzaF9zaXplOwotIEVsZjY0X1dvcmQgc2hfbGluazsKLSBFbGY2NF9Xb3JkIHNoX2luZm87Ci0gRWxmNjRfWHdvcmQgc2hfYWRkcmFsaWduOworICBFbGY2NF9Yd29yZCBzaF9zaXplOworICBFbGY2NF9Xb3JkIHNoX2xpbms7CisgIEVsZjY0X1dvcmQgc2hfaW5mbzsKKyAgRWxmNjRfWHdvcmQgc2hfYWRkcmFsaWduOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFbGY2NF9Yd29yZCBzaF9lbnRzaXplOworICBFbGY2NF9Yd29yZCBzaF9lbnRzaXplOwogfSBFbGY2NF9TaGRyOwogI2RlZmluZSBFSV9NQUcwIDAKICNkZWZpbmUgRUlfTUFHMSAxCkBAIC00MDQsMjYgKzQwNCwyOCBAQAogI2RlZmluZSBOVF9TMzkwX0xBU1RfQlJFQUsgMHgzMDYKICNkZWZpbmUgTlRfUzM5MF9TWVNURU1fQ0FMTCAweDMwNwogI2RlZmluZSBOVF9TMzkwX1REQiAweDMwOAotI2RlZmluZSBOVF9BUk1fVkZQIDB4NDAwCisjZGVmaW5lIE5UX1MzOTBfVlhSU19MT1cgMHgzMDkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE5UX1MzOTBfVlhSU19ISUdIIDB4MzBhCisjZGVmaW5lIE5UX0FSTV9WRlAgMHg0MDAKICNkZWZpbmUgTlRfQVJNX1RMUyAweDQwMQogI2RlZmluZSBOVF9BUk1fSFdfQlJFQUsgMHg0MDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5UX0FSTV9IV19XQVRDSCAweDQwMwogI2RlZmluZSBOVF9NRVRBR19DQlVGIDB4NTAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOVF9NRVRBR19SUElQRSAweDUwMQogI2RlZmluZSBOVF9NRVRBR19UTFMgMHg1MDIKLXR5cGVkZWYgc3RydWN0IGVsZjMyX25vdGUgewotIEVsZjMyX1dvcmQgbl9uYW1lc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjMyX1dvcmQgbl9kZXNjc3o7Ci0gRWxmMzJfV29yZCBuX3R5cGU7Cit0eXBlZGVmIHN0cnVjdCBlbGYzMl9ub3RlIHsKKyAgRWxmMzJfV29yZCBuX25hbWVzejsKKyAgRWxmMzJfV29yZCBuX2Rlc2NzejsKKyAgRWxmMzJfV29yZCBuX3R5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBFbGYzMl9OaGRyOwogdHlwZWRlZiBzdHJ1Y3QgZWxmNjRfbm90ZSB7CisgIEVsZjY0X1dvcmQgbl9uYW1lc3o7CisgIEVsZjY0X1dvcmQgbl9kZXNjc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVsZjY0X1dvcmQgbl9uYW1lc3o7Ci0gRWxmNjRfV29yZCBuX2Rlc2NzejsKLSBFbGY2NF9Xb3JkIG5fdHlwZTsKKyAgRWxmNjRfV29yZCBuX3R5cGU7CiB9IEVsZjY0X05oZHI7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VsZmNvcmUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmY29yZS5oCmluZGV4IDBlMjMzOGUuLmRiZjJjODQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmY29yZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZWxmY29yZS5oCkBAIC0yNiw2MCArMjYsNTYgQEAKICNpbmNsdWRlIDxsaW51eC9lbGYuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBlbGZfc2lnaW5mbwotewotIGludCBzaV9zaWdubzsKLSBpbnQgc2lfY29kZTsKK3N0cnVjdCBlbGZfc2lnaW5mbyB7CisgIGludCBzaV9zaWdubzsKKyAgaW50IHNpX2NvZGU7CisgIGludCBzaV9lcnJubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHNpX2Vycm5vOwogfTsKIHR5cGVkZWYgZWxmX2dyZWdfdCBncmVnX3Q7CiB0eXBlZGVmIGVsZl9ncmVnc2V0X3QgZ3JlZ3NldF90OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgZWxmX2ZwcmVnc2V0X3QgZnByZWdzZXRfdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGVsZl9mcHhyZWdzZXRfdCBmcHhyZWdzZXRfdDsKICNkZWZpbmUgTkdSRUcgRUxGX05HUkVHCi1zdHJ1Y3QgZWxmX3Byc3RhdHVzCitzdHJ1Y3QgZWxmX3Byc3RhdHVzIHsKKyAgc3RydWN0IGVsZl9zaWdpbmZvIHByX2luZm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIHN0cnVjdCBlbGZfc2lnaW5mbyBwcl9pbmZvOwotIHNob3J0IHByX2N1cnNpZzsKLSB1bnNpZ25lZCBsb25nIHByX3NpZ3BlbmQ7CisgIHNob3J0IHByX2N1cnNpZzsKKyAgdW5zaWduZWQgbG9uZyBwcl9zaWdwZW5kOworICB1bnNpZ25lZCBsb25nIHByX3NpZ2hvbGQ7CisgIHBpZF90IHByX3BpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBwcl9zaWdob2xkOwotIHBpZF90IHByX3BpZDsKLSBwaWRfdCBwcl9wcGlkOwotIHBpZF90IHByX3BncnA7CisgIHBpZF90IHByX3BwaWQ7CisgIHBpZF90IHByX3BncnA7CisgIHBpZF90IHByX3NpZDsKKyAgc3RydWN0IHRpbWV2YWwgcHJfdXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHBpZF90IHByX3NpZDsKLSBzdHJ1Y3QgdGltZXZhbCBwcl91dGltZTsKLSBzdHJ1Y3QgdGltZXZhbCBwcl9zdGltZTsKLSBzdHJ1Y3QgdGltZXZhbCBwcl9jdXRpbWU7CisgIHN0cnVjdCB0aW1ldmFsIHByX3N0aW1lOworICBzdHJ1Y3QgdGltZXZhbCBwcl9jdXRpbWU7CisgIHN0cnVjdCB0aW1ldmFsIHByX2NzdGltZTsKKyAgZWxmX2dyZWdzZXRfdCBwcl9yZWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB0aW1ldmFsIHByX2NzdGltZTsKLSBlbGZfZ3JlZ3NldF90IHByX3JlZzsKLSBpbnQgcHJfZnB2YWxpZDsKKyAgaW50IHByX2ZwdmFsaWQ7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUxGX1BSQVJHU1ogKDgwKQotc3RydWN0IGVsZl9wcnBzaW5mbwotewotIGNoYXIgcHJfc3RhdGU7CitzdHJ1Y3QgZWxmX3BycHNpbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBwcl9zbmFtZTsKLSBjaGFyIHByX3pvbWI7Ci0gY2hhciBwcl9uaWNlOwotIHVuc2lnbmVkIGxvbmcgcHJfZmxhZzsKKyAgY2hhciBwcl9zdGF0ZTsKKyAgY2hhciBwcl9zbmFtZTsKKyAgY2hhciBwcl96b21iOworICBjaGFyIHByX25pY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3VpZF90IHByX3VpZDsKLSBfX2tlcm5lbF9naWRfdCBwcl9naWQ7Ci0gcGlkX3QgcHJfcGlkLCBwcl9wcGlkLCBwcl9wZ3JwLCBwcl9zaWQ7Ci0gY2hhciBwcl9mbmFtZVsxNl07CisgIHVuc2lnbmVkIGxvbmcgcHJfZmxhZzsKKyAgX19rZXJuZWxfdWlkX3QgcHJfdWlkOworICBfX2tlcm5lbF9naWRfdCBwcl9naWQ7CisgIHBpZF90IHByX3BpZCwgcHJfcHBpZCwgcHJfcGdycCwgcHJfc2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHByX3BzYXJnc1tFTEZfUFJBUkdTWl07CisgIGNoYXIgcHJfZm5hbWVbMTZdOworICBjaGFyIHByX3BzYXJnc1tFTEZfUFJBUkdTWl07CiB9OwogdHlwZWRlZiBzdHJ1Y3QgZWxmX3Byc3RhdHVzIHByc3RhdHVzX3Q7Ci10eXBlZGVmIHN0cnVjdCBlbGZfcHJwc2luZm8gcHJwc2luZm9fdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIHN0cnVjdCBlbGZfcHJwc2luZm8gcHJwc2luZm9fdDsKICNkZWZpbmUgUFJBUkdTWiBFTEZfUFJBUkdTWgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VycnF1ZXVlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2VycnF1ZXVlLmgKaW5kZXggYjhmZDNiNC4uZGQ1N2EyOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9lcnJxdWV1ZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZXJycXVldWUuaApAQCAtMjEsMTQgKzIxLDE0IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBzb2NrX2V4dGVuZGVkX2VyciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVlX2Vycm5vOwotIF9fdTggZWVfb3JpZ2luOwotIF9fdTggZWVfdHlwZTsKLSBfX3U4IGVlX2NvZGU7CisgIF9fdTMyIGVlX2Vycm5vOworICBfX3U4IGVlX29yaWdpbjsKKyAgX191OCBlZV90eXBlOworICBfX3U4IGVlX2NvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZWVfcGFkOwotIF9fdTMyIGVlX2luZm87Ci0gX191MzIgZWVfZGF0YTsKKyAgX191OCBlZV9wYWQ7CisgIF9fdTMyIGVlX2luZm87CisgIF9fdTMyIGVlX2RhdGE7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09fRUVfT1JJR0lOX05PTkUgMApAQCAtMzgsNiArMzgsMTYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPX0VFX09SSUdJTl9UWFNUQVRVUyA0CiAjZGVmaW5lIFNPX0VFX09SSUdJTl9USU1FU1RBTVBJTkcgU09fRUVfT1JJR0lOX1RYU1RBVFVTCi0jZGVmaW5lIFNPX0VFX09GRkVOREVSKGVlKSAoKHN0cnVjdCBzb2NrYWRkciopKChlZSkrMSkpCisjZGVmaW5lIFNPX0VFX09GRkVOREVSKGVlKSAoKHN0cnVjdCBzb2NrYWRkciAqKSAoKGVlKSArIDEpKQorc3RydWN0IHNjbV90aW1lc3RhbXBpbmcgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IHRpbWVzcGVjIHRzWzNdOworfTsKK2VudW0geworICBTQ01fVFNUQU1QX1NORCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNDTV9UU1RBTVBfU0NIRUQsCisgIFNDTV9UU1RBTVBfQUNLLAorfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZXRodG9vbC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ldGh0b29sLmgKaW5kZXggYjZmMTMyNy4uMWEwMGM3ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ldGh0b29sLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ldGh0b29sLmgKQEAgLTIyLDI3ICsyMiwyNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGV0aHRvb2xfY21kIHsKLSBfX3UzMiBjbWQ7Ci0gX191MzIgc3VwcG9ydGVkOwotIF9fdTMyIGFkdmVydGlzaW5nOworICBfX3UzMiBjbWQ7CisgIF9fdTMyIHN1cHBvcnRlZDsKKyAgX191MzIgYWR2ZXJ0aXNpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNwZWVkOwotIF9fdTggZHVwbGV4OwotIF9fdTggcG9ydDsKLSBfX3U4IHBoeV9hZGRyZXNzOworICBfX3UxNiBzcGVlZDsKKyAgX191OCBkdXBsZXg7CisgIF9fdTggcG9ydDsKKyAgX191OCBwaHlfYWRkcmVzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0cmFuc2NlaXZlcjsKLSBfX3U4IGF1dG9uZWc7Ci0gX191OCBtZGlvX3N1cHBvcnQ7Ci0gX191MzIgbWF4dHhwa3Q7CisgIF9fdTggdHJhbnNjZWl2ZXI7CisgIF9fdTggYXV0b25lZzsKKyAgX191OCBtZGlvX3N1cHBvcnQ7CisgIF9fdTMyIG1heHR4cGt0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhyeHBrdDsKLSBfX3UxNiBzcGVlZF9oaTsKLSBfX3U4IGV0aF90cF9tZGl4OwotIF9fdTggZXRoX3RwX21kaXhfY3RybDsKKyAgX191MzIgbWF4cnhwa3Q7CisgIF9fdTE2IHNwZWVkX2hpOworICBfX3U4IGV0aF90cF9tZGl4OworICBfX3U4IGV0aF90cF9tZGl4X2N0cmw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxwX2FkdmVydGlzaW5nOwotIF9fdTMyIHJlc2VydmVkWzJdOworICBfX3UzMiBscF9hZHZlcnRpc2luZzsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CiB9OwogI2RlZmluZSBFVEhfTURJT19TVVBQT1JUU19DMjIgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTUxLDYzMyArNTEsNjc5IEBACiAjZGVmaW5lIEVUSFRPT0xfQlVTSU5GT19MRU4gMzIKIHN0cnVjdCBldGh0b29sX2RydmluZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjbWQ7Ci0gY2hhciBkcml2ZXJbMzJdOwotIGNoYXIgdmVyc2lvblszMl07Ci0gY2hhciBmd192ZXJzaW9uW0VUSFRPT0xfRldWRVJTX0xFTl07CisgIF9fdTMyIGNtZDsKKyAgY2hhciBkcml2ZXJbMzJdOworICBjaGFyIHZlcnNpb25bMzJdOworICBjaGFyIGZ3X3ZlcnNpb25bRVRIVE9PTF9GV1ZFUlNfTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBidXNfaW5mb1tFVEhUT09MX0JVU0lORk9fTEVOXTsKLSBjaGFyIHJlc2VydmVkMVszMl07Ci0gY2hhciByZXNlcnZlZDJbMTJdOwotIF9fdTMyIG5fcHJpdl9mbGFnczsKKyAgY2hhciBidXNfaW5mb1tFVEhUT09MX0JVU0lORk9fTEVOXTsKKyAgY2hhciByZXNlcnZlZDFbMzJdOworICBjaGFyIHJlc2VydmVkMlsxMl07CisgIF9fdTMyIG5fcHJpdl9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbl9zdGF0czsKLSBfX3UzMiB0ZXN0aW5mb19sZW47Ci0gX191MzIgZWVkdW1wX2xlbjsKLSBfX3UzMiByZWdkdW1wX2xlbjsKKyAgX191MzIgbl9zdGF0czsKKyAgX191MzIgdGVzdGluZm9fbGVuOworICBfX3UzMiBlZWR1bXBfbGVuOworICBfX3UzMiByZWdkdW1wX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBTT1BBU1NfTUFYIDYKIHN0cnVjdCBldGh0b29sX3dvbGluZm8gewotIF9fdTMyIGNtZDsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdXBwb3J0ZWQ7Ci0gX191MzIgd29sb3B0czsKLSBfX3U4IHNvcGFzc1tTT1BBU1NfTUFYXTsKKyAgX191MzIgc3VwcG9ydGVkOworICBfX3UzMiB3b2xvcHRzOworICBfX3U4IHNvcGFzc1tTT1BBU1NfTUFYXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGV0aHRvb2xfdmFsdWUgewotIF9fdTMyIGNtZDsKLSBfX3UzMiBkYXRhOworICBfX3UzMiBjbWQ7CisgIF9fdTMyIGRhdGE7Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gdHVuYWJsZV9pZCB7CisgIEVUSFRPT0xfSURfVU5TUEVDLAorICBFVEhUT09MX1JYX0NPUFlCUkVBSywKKyAgRVRIVE9PTF9UWF9DT1BZQlJFQUssCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0gdHVuYWJsZV90eXBlX2lkIHsKKyAgRVRIVE9PTF9UVU5BQkxFX1VOU1BFQywKKyAgRVRIVE9PTF9UVU5BQkxFX1U4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRVRIVE9PTF9UVU5BQkxFX1UxNiwKKyAgRVRIVE9PTF9UVU5BQkxFX1UzMiwKKyAgRVRIVE9PTF9UVU5BQkxFX1U2NCwKKyAgRVRIVE9PTF9UVU5BQkxFX1NUUklORywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEVUSFRPT0xfVFVOQUJMRV9TOCwKKyAgRVRIVE9PTF9UVU5BQkxFX1MxNiwKKyAgRVRIVE9PTF9UVU5BQkxFX1MzMiwKKyAgRVRIVE9PTF9UVU5BQkxFX1M2NCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9Oworc3RydWN0IGV0aHRvb2xfdHVuYWJsZSB7CisgIF9fdTMyIGNtZDsKKyAgX191MzIgaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiB0eXBlX2lkOworICBfX3UzMiBsZW47CisgIHZvaWQgKiBkYXRhWzBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZXRodG9vbF9yZWdzIHsKLSBfX3UzMiBjbWQ7Ci0gX191MzIgdmVyc2lvbjsKLSBfX3UzMiBsZW47CisgIF9fdTMyIGNtZDsKKyAgX191MzIgdmVyc2lvbjsKKyAgX191MzIgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRhdGFbMF07CisgIF9fdTggZGF0YVswXTsKIH07CiBzdHJ1Y3QgZXRodG9vbF9lZXByb20gewotIF9fdTMyIGNtZDsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYWdpYzsKLSBfX3UzMiBvZmZzZXQ7Ci0gX191MzIgbGVuOwotIF9fdTggZGF0YVswXTsKKyAgX191MzIgbWFnaWM7CisgIF9fdTMyIG9mZnNldDsKKyAgX191MzIgbGVuOworICBfX3U4IGRhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBldGh0b29sX2VlZSB7Ci0gX191MzIgY21kOwotIF9fdTMyIHN1cHBvcnRlZDsKKyAgX191MzIgY21kOworICBfX3UzMiBzdXBwb3J0ZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGFkdmVydGlzZWQ7Ci0gX191MzIgbHBfYWR2ZXJ0aXNlZDsKLSBfX3UzMiBlZWVfYWN0aXZlOwotIF9fdTMyIGVlZV9lbmFibGVkOworICBfX3UzMiBhZHZlcnRpc2VkOworICBfX3UzMiBscF9hZHZlcnRpc2VkOworICBfX3UzMiBlZWVfYWN0aXZlOworICBfX3UzMiBlZWVfZW5hYmxlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHhfbHBpX2VuYWJsZWQ7Ci0gX191MzIgdHhfbHBpX3RpbWVyOwotIF9fdTMyIHJlc2VydmVkWzJdOworICBfX3UzMiB0eF9scGlfZW5hYmxlZDsKKyAgX191MzIgdHhfbHBpX3RpbWVyOworICBfX3UzMiByZXNlcnZlZFsyXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGV0aHRvb2xfbW9kaW5mbyB7Ci0gX191MzIgY21kOwotIF9fdTMyIHR5cGU7Ci0gX191MzIgZWVwcm9tX2xlbjsKKyAgX191MzIgY21kOworICBfX3UzMiB0eXBlOworICBfX3UzMiBlZXByb21fbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNlcnZlZFs4XTsKKyAgX191MzIgcmVzZXJ2ZWRbOF07CiB9Owogc3RydWN0IGV0aHRvb2xfY29hbGVzY2UgewotIF9fdTMyIGNtZDsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByeF9jb2FsZXNjZV91c2VjczsKLSBfX3UzMiByeF9tYXhfY29hbGVzY2VkX2ZyYW1lczsKLSBfX3UzMiByeF9jb2FsZXNjZV91c2Vjc19pcnE7Ci0gX191MzIgcnhfbWF4X2NvYWxlc2NlZF9mcmFtZXNfaXJxOworICBfX3UzMiByeF9jb2FsZXNjZV91c2VjczsKKyAgX191MzIgcnhfbWF4X2NvYWxlc2NlZF9mcmFtZXM7CisgIF9fdTMyIHJ4X2NvYWxlc2NlX3VzZWNzX2lycTsKKyAgX191MzIgcnhfbWF4X2NvYWxlc2NlZF9mcmFtZXNfaXJxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eF9jb2FsZXNjZV91c2VjczsKLSBfX3UzMiB0eF9tYXhfY29hbGVzY2VkX2ZyYW1lczsKLSBfX3UzMiB0eF9jb2FsZXNjZV91c2Vjc19pcnE7Ci0gX191MzIgdHhfbWF4X2NvYWxlc2NlZF9mcmFtZXNfaXJxOworICBfX3UzMiB0eF9jb2FsZXNjZV91c2VjczsKKyAgX191MzIgdHhfbWF4X2NvYWxlc2NlZF9mcmFtZXM7CisgIF9fdTMyIHR4X2NvYWxlc2NlX3VzZWNzX2lycTsKKyAgX191MzIgdHhfbWF4X2NvYWxlc2NlZF9mcmFtZXNfaXJxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdGF0c19ibG9ja19jb2FsZXNjZV91c2VjczsKLSBfX3UzMiB1c2VfYWRhcHRpdmVfcnhfY29hbGVzY2U7Ci0gX191MzIgdXNlX2FkYXB0aXZlX3R4X2NvYWxlc2NlOwotIF9fdTMyIHBrdF9yYXRlX2xvdzsKKyAgX191MzIgc3RhdHNfYmxvY2tfY29hbGVzY2VfdXNlY3M7CisgIF9fdTMyIHVzZV9hZGFwdGl2ZV9yeF9jb2FsZXNjZTsKKyAgX191MzIgdXNlX2FkYXB0aXZlX3R4X2NvYWxlc2NlOworICBfX3UzMiBwa3RfcmF0ZV9sb3c7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJ4X2NvYWxlc2NlX3VzZWNzX2xvdzsKLSBfX3UzMiByeF9tYXhfY29hbGVzY2VkX2ZyYW1lc19sb3c7Ci0gX191MzIgdHhfY29hbGVzY2VfdXNlY3NfbG93OwotIF9fdTMyIHR4X21heF9jb2FsZXNjZWRfZnJhbWVzX2xvdzsKKyAgX191MzIgcnhfY29hbGVzY2VfdXNlY3NfbG93OworICBfX3UzMiByeF9tYXhfY29hbGVzY2VkX2ZyYW1lc19sb3c7CisgIF9fdTMyIHR4X2NvYWxlc2NlX3VzZWNzX2xvdzsKKyAgX191MzIgdHhfbWF4X2NvYWxlc2NlZF9mcmFtZXNfbG93OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwa3RfcmF0ZV9oaWdoOwotIF9fdTMyIHJ4X2NvYWxlc2NlX3VzZWNzX2hpZ2g7Ci0gX191MzIgcnhfbWF4X2NvYWxlc2NlZF9mcmFtZXNfaGlnaDsKLSBfX3UzMiB0eF9jb2FsZXNjZV91c2Vjc19oaWdoOworICBfX3UzMiBwa3RfcmF0ZV9oaWdoOworICBfX3UzMiByeF9jb2FsZXNjZV91c2Vjc19oaWdoOworICBfX3UzMiByeF9tYXhfY29hbGVzY2VkX2ZyYW1lc19oaWdoOworICBfX3UzMiB0eF9jb2FsZXNjZV91c2Vjc19oaWdoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eF9tYXhfY29hbGVzY2VkX2ZyYW1lc19oaWdoOwotIF9fdTMyIHJhdGVfc2FtcGxlX2ludGVydmFsOworICBfX3UzMiB0eF9tYXhfY29hbGVzY2VkX2ZyYW1lc19oaWdoOworICBfX3UzMiByYXRlX3NhbXBsZV9pbnRlcnZhbDsKIH07CiBzdHJ1Y3QgZXRodG9vbF9yaW5ncGFyYW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjbWQ7Ci0gX191MzIgcnhfbWF4X3BlbmRpbmc7Ci0gX191MzIgcnhfbWluaV9tYXhfcGVuZGluZzsKLSBfX3UzMiByeF9qdW1ib19tYXhfcGVuZGluZzsKKyAgX191MzIgY21kOworICBfX3UzMiByeF9tYXhfcGVuZGluZzsKKyAgX191MzIgcnhfbWluaV9tYXhfcGVuZGluZzsKKyAgX191MzIgcnhfanVtYm9fbWF4X3BlbmRpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR4X21heF9wZW5kaW5nOwotIF9fdTMyIHJ4X3BlbmRpbmc7Ci0gX191MzIgcnhfbWluaV9wZW5kaW5nOwotIF9fdTMyIHJ4X2p1bWJvX3BlbmRpbmc7CisgIF9fdTMyIHR4X21heF9wZW5kaW5nOworICBfX3UzMiByeF9wZW5kaW5nOworICBfX3UzMiByeF9taW5pX3BlbmRpbmc7CisgIF9fdTMyIHJ4X2p1bWJvX3BlbmRpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR4X3BlbmRpbmc7CisgIF9fdTMyIHR4X3BlbmRpbmc7CiB9Owogc3RydWN0IGV0aHRvb2xfY2hhbm5lbHMgewotIF9fdTMyIGNtZDsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfcng7Ci0gX191MzIgbWF4X3R4OwotIF9fdTMyIG1heF9vdGhlcjsKLSBfX3UzMiBtYXhfY29tYmluZWQ7CisgIF9fdTMyIG1heF9yeDsKKyAgX191MzIgbWF4X3R4OworICBfX3UzMiBtYXhfb3RoZXI7CisgIF9fdTMyIG1heF9jb21iaW5lZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcnhfY291bnQ7Ci0gX191MzIgdHhfY291bnQ7Ci0gX191MzIgb3RoZXJfY291bnQ7Ci0gX191MzIgY29tYmluZWRfY291bnQ7CisgIF9fdTMyIHJ4X2NvdW50OworICBfX3UzMiB0eF9jb3VudDsKKyAgX191MzIgb3RoZXJfY291bnQ7CisgIF9fdTMyIGNvbWJpbmVkX2NvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZXRodG9vbF9wYXVzZXBhcmFtIHsKLSBfX3UzMiBjbWQ7Ci0gX191MzIgYXV0b25lZzsKKyAgX191MzIgY21kOworICBfX3UzMiBhdXRvbmVnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByeF9wYXVzZTsKLSBfX3UzMiB0eF9wYXVzZTsKKyAgX191MzIgcnhfcGF1c2U7CisgIF9fdTMyIHR4X3BhdXNlOwogfTsKICNkZWZpbmUgRVRIX0dTVFJJTkdfTEVOIDMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBldGh0b29sX3N0cmluZ3NldCB7Ci0gRVRIX1NTX1RFU1QgPSAwLAotIEVUSF9TU19TVEFUUywKLSBFVEhfU1NfUFJJVl9GTEFHUywKKyAgRVRIX1NTX1RFU1QgPSAwLAorICBFVEhfU1NfU1RBVFMsCisgIEVUSF9TU19QUklWX0ZMQUdTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFVEhfU1NfTlRVUExFX0ZJTFRFUlMsCi0gRVRIX1NTX0ZFQVRVUkVTLAorICBFVEhfU1NfTlRVUExFX0ZJTFRFUlMsCisgIEVUSF9TU19GRUFUVVJFUywKIH07CiBzdHJ1Y3QgZXRodG9vbF9nc3RyaW5ncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNtZDsKLSBfX3UzMiBzdHJpbmdfc2V0OwotIF9fdTMyIGxlbjsKLSBfX3U4IGRhdGFbMF07CisgIF9fdTMyIGNtZDsKKyAgX191MzIgc3RyaW5nX3NldDsKKyAgX191MzIgbGVuOworICBfX3U4IGRhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBldGh0b29sX3NzZXRfaW5mbyB7Ci0gX191MzIgY21kOwotIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiBjbWQ7CisgIF9fdTMyIHJlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzc2V0X21hc2s7Ci0gX191MzIgZGF0YVswXTsKKyAgX191NjQgc3NldF9tYXNrOworICBfX3UzMiBkYXRhWzBdOwogfTsKIGVudW0gZXRodG9vbF90ZXN0X2ZsYWdzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRVRIX1RFU1RfRkxfT0ZGTElORSA9ICgxIDw8IDApLAotIEVUSF9URVNUX0ZMX0ZBSUxFRCA9ICgxIDw8IDEpLAotIEVUSF9URVNUX0ZMX0VYVEVSTkFMX0xCID0gKDEgPDwgMiksCi0gRVRIX1RFU1RfRkxfRVhURVJOQUxfTEJfRE9ORSA9ICgxIDw8IDMpLAorICBFVEhfVEVTVF9GTF9PRkZMSU5FID0gKDEgPDwgMCksCisgIEVUSF9URVNUX0ZMX0ZBSUxFRCA9ICgxIDw8IDEpLAorICBFVEhfVEVTVF9GTF9FWFRFUk5BTF9MQiA9ICgxIDw8IDIpLAorICBFVEhfVEVTVF9GTF9FWFRFUk5BTF9MQl9ET05FID0gKDEgPDwgMyksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBldGh0b29sX3Rlc3QgewotIF9fdTMyIGNtZDsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgY21kOworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191MzIgbGVuOwotIF9fdTY0IGRhdGFbMF07CisgIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiBsZW47CisgIF9fdTY0IGRhdGFbMF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBldGh0b29sX3N0YXRzIHsKLSBfX3UzMiBjbWQ7Ci0gX191MzIgbl9zdGF0czsKLSBfX3U2NCBkYXRhWzBdOworICBfX3UzMiBjbWQ7CisgIF9fdTMyIG5fc3RhdHM7CisgIF9fdTY0IGRhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBldGh0b29sX3Blcm1fYWRkciB7Ci0gX191MzIgY21kOwotIF9fdTMyIHNpemU7CisgIF9fdTMyIGNtZDsKKyAgX191MzIgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkYXRhWzBdOworICBfX3U4IGRhdGFbMF07CiB9OwogZW51bSBldGh0b29sX2ZsYWdzIHsKLSBFVEhfRkxBR19UWFZMQU4gPSAoMSA8PCA3KSwKKyAgRVRIX0ZMQUdfVFhWTEFOID0gKDEgPDwgNyksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVUSF9GTEFHX1JYVkxBTiA9ICgxIDw8IDgpLAotIEVUSF9GTEFHX0xSTyA9ICgxIDw8IDE1KSwKLSBFVEhfRkxBR19OVFVQTEUgPSAoMSA8PCAyNyksCi0gRVRIX0ZMQUdfUlhIQVNIID0gKDEgPDwgMjgpLAorICBFVEhfRkxBR19SWFZMQU4gPSAoMSA8PCA4KSwKKyAgRVRIX0ZMQUdfTFJPID0gKDEgPDwgMTUpLAorICBFVEhfRkxBR19OVFVQTEUgPSAoMSA8PCAyNyksCisgIEVUSF9GTEFHX1JYSEFTSCA9ICgxIDw8IDI4KSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGV0aHRvb2xfdGNwaXA0X3NwZWMgewotIF9fYmUzMiBpcDRzcmM7Ci0gX19iZTMyIGlwNGRzdDsKKyAgX19iZTMyIGlwNHNyYzsKKyAgX19iZTMyIGlwNGRzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IHBzcmM7Ci0gX19iZTE2IHBkc3Q7Ci0gX191OCB0b3M7CisgIF9fYmUxNiBwc3JjOworICBfX2JlMTYgcGRzdDsKKyAgX191OCB0b3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBldGh0b29sX2FoX2VzcGlwNF9zcGVjIHsKLSBfX2JlMzIgaXA0c3JjOwotIF9fYmUzMiBpcDRkc3Q7Ci0gX19iZTMyIHNwaTsKKyAgX19iZTMyIGlwNHNyYzsKKyAgX19iZTMyIGlwNGRzdDsKKyAgX19iZTMyIHNwaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0b3M7CisgIF9fdTggdG9zOwogfTsKICNkZWZpbmUgRVRIX1JYX05GQ19JUDQgMQogc3RydWN0IGV0aHRvb2xfdXNyaXA0X3NwZWMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgaXA0c3JjOwotIF9fYmUzMiBpcDRkc3Q7Ci0gX19iZTMyIGw0XzRfYnl0ZXM7Ci0gX191OCB0b3M7CisgIF9fYmUzMiBpcDRzcmM7CisgIF9fYmUzMiBpcDRkc3Q7CisgIF9fYmUzMiBsNF80X2J5dGVzOworICBfX3U4IHRvczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpcF92ZXI7Ci0gX191OCBwcm90bzsKKyAgX191OCBpcF92ZXI7CisgIF9fdTggcHJvdG87CiB9OwogdW5pb24gZXRodG9vbF9mbG93X3VuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGV0aHRvb2xfdGNwaXA0X3NwZWMgdGNwX2lwNF9zcGVjOwotIHN0cnVjdCBldGh0b29sX3RjcGlwNF9zcGVjIHVkcF9pcDRfc3BlYzsKLSBzdHJ1Y3QgZXRodG9vbF90Y3BpcDRfc3BlYyBzY3RwX2lwNF9zcGVjOwotIHN0cnVjdCBldGh0b29sX2FoX2VzcGlwNF9zcGVjIGFoX2lwNF9zcGVjOworICBzdHJ1Y3QgZXRodG9vbF90Y3BpcDRfc3BlYyB0Y3BfaXA0X3NwZWM7CisgIHN0cnVjdCBldGh0b29sX3RjcGlwNF9zcGVjIHVkcF9pcDRfc3BlYzsKKyAgc3RydWN0IGV0aHRvb2xfdGNwaXA0X3NwZWMgc2N0cF9pcDRfc3BlYzsKKyAgc3RydWN0IGV0aHRvb2xfYWhfZXNwaXA0X3NwZWMgYWhfaXA0X3NwZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBldGh0b29sX2FoX2VzcGlwNF9zcGVjIGVzcF9pcDRfc3BlYzsKLSBzdHJ1Y3QgZXRodG9vbF91c3JpcDRfc3BlYyB1c3JfaXA0X3NwZWM7Ci0gc3RydWN0IGV0aGhkciBldGhlcl9zcGVjOwotIF9fdTggaGRhdGFbNTJdOworICBzdHJ1Y3QgZXRodG9vbF9haF9lc3BpcDRfc3BlYyBlc3BfaXA0X3NwZWM7CisgIHN0cnVjdCBldGh0b29sX3VzcmlwNF9zcGVjIHVzcl9pcDRfc3BlYzsKKyAgc3RydWN0IGV0aGhkciBldGhlcl9zcGVjOworICBfX3U4IGhkYXRhWzUyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGV0aHRvb2xfZmxvd19leHQgewotIF9fdTggcGFkZGluZ1syXTsKLSB1bnNpZ25lZCBjaGFyIGhfZGVzdFtFVEhfQUxFTl07CisgIF9fdTggcGFkZGluZ1syXTsKKyAgdW5zaWduZWQgY2hhciBoX2Rlc3RbRVRIX0FMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgdmxhbl9ldHlwZTsKLSBfX2JlMTYgdmxhbl90Y2k7Ci0gX19iZTMyIGRhdGFbMl07CisgIF9fYmUxNiB2bGFuX2V0eXBlOworICBfX2JlMTYgdmxhbl90Y2k7CisgIF9fYmUzMiBkYXRhWzJdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZXRodG9vbF9yeF9mbG93X3NwZWMgewotIF9fdTMyIGZsb3dfdHlwZTsKLSB1bmlvbiBldGh0b29sX2Zsb3dfdW5pb24gaF91OwotIHN0cnVjdCBldGh0b29sX2Zsb3dfZXh0IGhfZXh0OworICBfX3UzMiBmbG93X3R5cGU7CisgIHVuaW9uIGV0aHRvb2xfZmxvd191bmlvbiBoX3U7CisgIHN0cnVjdCBldGh0b29sX2Zsb3dfZXh0IGhfZXh0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiBldGh0b29sX2Zsb3dfdW5pb24gbV91OwotIHN0cnVjdCBldGh0b29sX2Zsb3dfZXh0IG1fZXh0OwotIF9fdTY0IHJpbmdfY29va2llOwotIF9fdTMyIGxvY2F0aW9uOworICB1bmlvbiBldGh0b29sX2Zsb3dfdW5pb24gbV91OworICBzdHJ1Y3QgZXRodG9vbF9mbG93X2V4dCBtX2V4dDsKKyAgX191NjQgcmluZ19jb29raWU7CisgIF9fdTMyIGxvY2F0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZXRodG9vbF9yeG5mYyB7Ci0gX191MzIgY21kOwotIF9fdTMyIGZsb3dfdHlwZTsKKyAgX191MzIgY21kOworICBfX3UzMiBmbG93X3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRhdGE7Ci0gc3RydWN0IGV0aHRvb2xfcnhfZmxvd19zcGVjIGZzOwotIF9fdTMyIHJ1bGVfY250OwotIF9fdTMyIHJ1bGVfbG9jc1swXTsKKyAgX191NjQgZGF0YTsKKyAgc3RydWN0IGV0aHRvb2xfcnhfZmxvd19zcGVjIGZzOworICBfX3UzMiBydWxlX2NudDsKKyAgX191MzIgcnVsZV9sb2NzWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZXRodG9vbF9yeGZoX2luZGlyIHsKLSBfX3UzMiBjbWQ7Ci0gX191MzIgc2l6ZTsKKyAgX191MzIgY21kOworICBfX3UzMiBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByaW5nX2luZGV4WzBdOworICBfX3UzMiByaW5nX2luZGV4WzBdOwogfTsKK3N0cnVjdCBldGh0b29sX3J4ZmggeworICBfX3UzMiBjbWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiByc3NfY29udGV4dDsKKyAgX191MzIgaW5kaXJfc2l6ZTsKKyAgX191MzIga2V5X3NpemU7CisgIF9fdTMyIHJzdmRbMl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiByc3NfY29uZmlnWzBdOworfTsKKyNkZWZpbmUgRVRIX1JYRkhfSU5ESVJfTk9fQ0hBTkdFIDB4ZmZmZmZmZmYKIHN0cnVjdCBldGh0b29sX3J4X250dXBsZV9mbG93X3NwZWMgewotIF9fdTMyIGZsb3dfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHN0cnVjdCBldGh0b29sX3RjcGlwNF9zcGVjIHRjcF9pcDRfc3BlYzsKLSBzdHJ1Y3QgZXRodG9vbF90Y3BpcDRfc3BlYyB1ZHBfaXA0X3NwZWM7Ci0gc3RydWN0IGV0aHRvb2xfdGNwaXA0X3NwZWMgc2N0cF9pcDRfc3BlYzsKKyAgX191MzIgZmxvd190eXBlOworICB1bmlvbiB7CisgICAgc3RydWN0IGV0aHRvb2xfdGNwaXA0X3NwZWMgdGNwX2lwNF9zcGVjOworICAgIHN0cnVjdCBldGh0b29sX3RjcGlwNF9zcGVjIHVkcF9pcDRfc3BlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGV0aHRvb2xfYWhfZXNwaXA0X3NwZWMgYWhfaXA0X3NwZWM7Ci0gc3RydWN0IGV0aHRvb2xfYWhfZXNwaXA0X3NwZWMgZXNwX2lwNF9zcGVjOwotIHN0cnVjdCBldGh0b29sX3VzcmlwNF9zcGVjIHVzcl9pcDRfc3BlYzsKLSBzdHJ1Y3QgZXRoaGRyIGV0aGVyX3NwZWM7CisgICAgc3RydWN0IGV0aHRvb2xfdGNwaXA0X3NwZWMgc2N0cF9pcDRfc3BlYzsKKyAgICBzdHJ1Y3QgZXRodG9vbF9haF9lc3BpcDRfc3BlYyBhaF9pcDRfc3BlYzsKKyAgICBzdHJ1Y3QgZXRodG9vbF9haF9lc3BpcDRfc3BlYyBlc3BfaXA0X3NwZWM7CisgICAgc3RydWN0IGV0aHRvb2xfdXNyaXA0X3NwZWMgdXNyX2lwNF9zcGVjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGhkYXRhWzcyXTsKLSB9IGhfdSwgbV91OwotIF9fdTE2IHZsYW5fdGFnOwotIF9fdTE2IHZsYW5fdGFnX21hc2s7CisgICAgc3RydWN0IGV0aGhkciBldGhlcl9zcGVjOworICAgIF9fdTggaGRhdGFbNzJdOworICB9IGhfdSwgbV91OworICBfX3UxNiB2bGFuX3RhZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZGF0YTsKLSBfX3U2NCBkYXRhX21hc2s7Ci0gX19zMzIgYWN0aW9uOwotI2RlZmluZSBFVEhUT09MX1JYTlRVUExFX0FDVElPTl9EUk9QICgtMSkKKyAgX191MTYgdmxhbl90YWdfbWFzazsKKyAgX191NjQgZGF0YTsKKyAgX191NjQgZGF0YV9tYXNrOworICBfX3MzMiBhY3Rpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBFVEhUT09MX1JYTlRVUExFX0FDVElPTl9DTEVBUiAoLTIpCisjZGVmaW5lIEVUSFRPT0xfUlhOVFVQTEVfQUNUSU9OX0RST1AgKC0gMSkKKyNkZWZpbmUgRVRIVE9PTF9SWE5UVVBMRV9BQ1RJT05fQ0xFQVIgKC0gMikKIH07CiBzdHJ1Y3QgZXRodG9vbF9yeF9udHVwbGUgewotIF9fdTMyIGNtZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGV0aHRvb2xfcnhfbnR1cGxlX2Zsb3dfc3BlYyBmczsKKyAgX191MzIgY21kOworICBzdHJ1Y3QgZXRodG9vbF9yeF9udHVwbGVfZmxvd19zcGVjIGZzOwogfTsKICNkZWZpbmUgRVRIVE9PTF9GTEFTSF9NQVhfRklMRU5BTUUgMTI4Ci1lbnVtIGV0aHRvb2xfZmxhc2hfb3BfdHlwZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVUSFRPT0xfRkxBU0hfQUxMX1JFR0lPTlMgPSAwLAorZW51bSBldGh0b29sX2ZsYXNoX29wX3R5cGUgeworICBFVEhUT09MX0ZMQVNIX0FMTF9SRUdJT05TID0gMCwKIH07CiBzdHJ1Y3QgZXRodG9vbF9mbGFzaCB7Ci0gX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZWdpb247Ci0gY2hhciBkYXRhW0VUSFRPT0xfRkxBU0hfTUFYX0ZJTEVOQU1FXTsKKyAgX191MzIgY21kOworICBfX3UzMiByZWdpb247CisgIGNoYXIgZGF0YVtFVEhUT09MX0ZMQVNIX01BWF9GSUxFTkFNRV07Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBldGh0b29sX2R1bXAgeworICBfX3UzMiBjbWQ7CisgIF9fdTMyIHZlcnNpb247CisgIF9fdTMyIGZsYWc7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBsZW47CisgIF9fdTggZGF0YVswXTsKIH07CiAjZGVmaW5lIEVUSF9GV19EVU1QX0RJU0FCTEUgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBldGh0b29sX2R1bXAgewotIF9fdTMyIGNtZDsKLSBfX3UzMiB2ZXJzaW9uOwotIF9fdTMyIGZsYWc7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxlbjsKLSBfX3U4IGRhdGFbMF07Ci19Owogc3RydWN0IGV0aHRvb2xfZ2V0X2ZlYXR1cmVzX2Jsb2NrIHsKKyAgX191MzIgYXZhaWxhYmxlOworICBfX3UzMiByZXF1ZXN0ZWQ7CisgIF9fdTMyIGFjdGl2ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYXZhaWxhYmxlOwotIF9fdTMyIHJlcXVlc3RlZDsKLSBfX3UzMiBhY3RpdmU7Ci0gX191MzIgbmV2ZXJfY2hhbmdlZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIG5ldmVyX2NoYW5nZWQ7CiB9Owogc3RydWN0IGV0aHRvb2xfZ2ZlYXR1cmVzIHsKLSBfX3UzMiBjbWQ7Ci0gX191MzIgc2l6ZTsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZXRodG9vbF9nZXRfZmVhdHVyZXNfYmxvY2sgZmVhdHVyZXNbMF07CisgIF9fdTMyIHNpemU7CisgIHN0cnVjdCBldGh0b29sX2dldF9mZWF0dXJlc19ibG9jayBmZWF0dXJlc1swXTsKIH07CiBzdHJ1Y3QgZXRodG9vbF9zZXRfZmVhdHVyZXNfYmxvY2sgewotIF9fdTMyIHZhbGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXF1ZXN0ZWQ7CisgIF9fdTMyIHZhbGlkOworICBfX3UzMiByZXF1ZXN0ZWQ7CiB9Owogc3RydWN0IGV0aHRvb2xfc2ZlYXR1cmVzIHsKLSBfX3UzMiBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNpemU7Ci0gc3RydWN0IGV0aHRvb2xfc2V0X2ZlYXR1cmVzX2Jsb2NrIGZlYXR1cmVzWzBdOworICBfX3UzMiBjbWQ7CisgIF9fdTMyIHNpemU7CisgIHN0cnVjdCBldGh0b29sX3NldF9mZWF0dXJlc19ibG9jayBmZWF0dXJlc1swXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGV0aHRvb2xfdHNfaW5mbyB7CisgIF9fdTMyIGNtZDsKKyAgX191MzIgc29fdGltZXN0YW1waW5nOworICBfX3MzMiBwaGNfaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNtZDsKLSBfX3UzMiBzb190aW1lc3RhbXBpbmc7Ci0gX19zMzIgcGhjX2luZGV4OwotIF9fdTMyIHR4X3R5cGVzOworICBfX3UzMiB0eF90eXBlczsKKyAgX191MzIgdHhfcmVzZXJ2ZWRbM107CisgIF9fdTMyIHJ4X2ZpbHRlcnM7CisgIF9fdTMyIHJ4X3Jlc2VydmVkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eF9yZXNlcnZlZFszXTsKLSBfX3UzMiByeF9maWx0ZXJzOwotIF9fdTMyIHJ4X3Jlc2VydmVkWzNdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGV0aHRvb2xfc2ZlYXR1cmVzX3JldHZhbF9iaXRzIHsKLSBFVEhUT09MX0ZfVU5TVVBQT1JURURfX0JJVCwKLSBFVEhUT09MX0ZfV0lTSF9fQklULAotIEVUSFRPT0xfRl9DT01QQVRfX0JJVCwKKyAgRVRIVE9PTF9GX1VOU1VQUE9SVEVEX19CSVQsCisgIEVUSFRPT0xfRl9XSVNIX19CSVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBFVEhUT09MX0ZfQ09NUEFUX19CSVQsCiB9OwogI2RlZmluZSBFVEhUT09MX0ZfVU5TVVBQT1JURUQgKDEgPDwgRVRIVE9PTF9GX1VOU1VQUE9SVEVEX19CSVQpCiAjZGVmaW5lIEVUSFRPT0xfRl9XSVNIICgxIDw8IEVUSFRPT0xfRl9XSVNIX19CSVQpCi0jZGVmaW5lIEVUSFRPT0xfRl9DT01QQVQgKDEgPDwgRVRIVE9PTF9GX0NPTVBBVF9fQklUKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9GX0NPTVBBVCAoMSA8PCBFVEhUT09MX0ZfQ09NUEFUX19CSVQpCiAjZGVmaW5lIEVUSFRPT0xfR1NFVCAweDAwMDAwMDAxCiAjZGVmaW5lIEVUSFRPT0xfU1NFVCAweDAwMDAwMDAyCiAjZGVmaW5lIEVUSFRPT0xfR0RSVklORk8gMHgwMDAwMDAwMwotI2RlZmluZSBFVEhUT09MX0dSRUdTIDB4MDAwMDAwMDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSFRPT0xfR1JFR1MgMHgwMDAwMDAwNAogI2RlZmluZSBFVEhUT09MX0dXT0wgMHgwMDAwMDAwNQogI2RlZmluZSBFVEhUT09MX1NXT0wgMHgwMDAwMDAwNgogI2RlZmluZSBFVEhUT09MX0dNU0dMVkwgMHgwMDAwMDAwNwotI2RlZmluZSBFVEhUT09MX1NNU0dMVkwgMHgwMDAwMDAwOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9TTVNHTFZMIDB4MDAwMDAwMDgKICNkZWZpbmUgRVRIVE9PTF9OV0FZX1JTVCAweDAwMDAwMDA5CiAjZGVmaW5lIEVUSFRPT0xfR0xJTksgMHgwMDAwMDAwYQogI2RlZmluZSBFVEhUT09MX0dFRVBST00gMHgwMDAwMDAwYgotI2RlZmluZSBFVEhUT09MX1NFRVBST00gMHgwMDAwMDAwYwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9TRUVQUk9NIDB4MDAwMDAwMGMKICNkZWZpbmUgRVRIVE9PTF9HQ09BTEVTQ0UgMHgwMDAwMDAwZQogI2RlZmluZSBFVEhUT09MX1NDT0FMRVNDRSAweDAwMDAwMDBmCiAjZGVmaW5lIEVUSFRPT0xfR1JJTkdQQVJBTSAweDAwMDAwMDEwCi0jZGVmaW5lIEVUSFRPT0xfU1JJTkdQQVJBTSAweDAwMDAwMDExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFVEhUT09MX1NSSU5HUEFSQU0gMHgwMDAwMDAxMQogI2RlZmluZSBFVEhUT09MX0dQQVVTRVBBUkFNIDB4MDAwMDAwMTIKICNkZWZpbmUgRVRIVE9PTF9TUEFVU0VQQVJBTSAweDAwMDAwMDEzCiAjZGVmaW5lIEVUSFRPT0xfR1JYQ1NVTSAweDAwMDAwMDE0Ci0jZGVmaW5lIEVUSFRPT0xfU1JYQ1NVTSAweDAwMDAwMDE1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFVEhUT09MX1NSWENTVU0gMHgwMDAwMDAxNQogI2RlZmluZSBFVEhUT09MX0dUWENTVU0gMHgwMDAwMDAxNgogI2RlZmluZSBFVEhUT09MX1NUWENTVU0gMHgwMDAwMDAxNwogI2RlZmluZSBFVEhUT09MX0dTRyAweDAwMDAwMDE4Ci0jZGVmaW5lIEVUSFRPT0xfU1NHIDB4MDAwMDAwMTkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSFRPT0xfU1NHIDB4MDAwMDAwMTkKICNkZWZpbmUgRVRIVE9PTF9URVNUIDB4MDAwMDAwMWEKICNkZWZpbmUgRVRIVE9PTF9HU1RSSU5HUyAweDAwMDAwMDFiCiAjZGVmaW5lIEVUSFRPT0xfUEhZU19JRCAweDAwMDAwMDFjCi0jZGVmaW5lIEVUSFRPT0xfR1NUQVRTIDB4MDAwMDAwMWQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSFRPT0xfR1NUQVRTIDB4MDAwMDAwMWQKICNkZWZpbmUgRVRIVE9PTF9HVFNPIDB4MDAwMDAwMWUKICNkZWZpbmUgRVRIVE9PTF9TVFNPIDB4MDAwMDAwMWYKICNkZWZpbmUgRVRIVE9PTF9HUEVSTUFERFIgMHgwMDAwMDAyMAotI2RlZmluZSBFVEhUT09MX0dVRk8gMHgwMDAwMDAyMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9HVUZPIDB4MDAwMDAwMjEKICNkZWZpbmUgRVRIVE9PTF9TVUZPIDB4MDAwMDAwMjIKICNkZWZpbmUgRVRIVE9PTF9HR1NPIDB4MDAwMDAwMjMKICNkZWZpbmUgRVRIVE9PTF9TR1NPIDB4MDAwMDAwMjQKLSNkZWZpbmUgRVRIVE9PTF9HRkxBR1MgMHgwMDAwMDAyNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9HRkxBR1MgMHgwMDAwMDAyNQogI2RlZmluZSBFVEhUT09MX1NGTEFHUyAweDAwMDAwMDI2CiAjZGVmaW5lIEVUSFRPT0xfR1BGTEFHUyAweDAwMDAwMDI3CiAjZGVmaW5lIEVUSFRPT0xfU1BGTEFHUyAweDAwMDAwMDI4Ci0jZGVmaW5lIEVUSFRPT0xfR1JYRkggMHgwMDAwMDAyOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9HUlhGSCAweDAwMDAwMDI5CiAjZGVmaW5lIEVUSFRPT0xfU1JYRkggMHgwMDAwMDAyYQogI2RlZmluZSBFVEhUT09MX0dHUk8gMHgwMDAwMDAyYgogI2RlZmluZSBFVEhUT09MX1NHUk8gMHgwMDAwMDAyYwotI2RlZmluZSBFVEhUT09MX0dSWFJJTkdTIDB4MDAwMDAwMmQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSFRPT0xfR1JYUklOR1MgMHgwMDAwMDAyZAogI2RlZmluZSBFVEhUT09MX0dSWENMU1JMQ05UIDB4MDAwMDAwMmUKICNkZWZpbmUgRVRIVE9PTF9HUlhDTFNSVUxFIDB4MDAwMDAwMmYKICNkZWZpbmUgRVRIVE9PTF9HUlhDTFNSTEFMTCAweDAwMDAwMDMwCi0jZGVmaW5lIEVUSFRPT0xfU1JYQ0xTUkxERUwgMHgwMDAwMDAzMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9TUlhDTFNSTERFTCAweDAwMDAwMDMxCiAjZGVmaW5lIEVUSFRPT0xfU1JYQ0xTUkxJTlMgMHgwMDAwMDAzMgogI2RlZmluZSBFVEhUT09MX0ZMQVNIREVWIDB4MDAwMDAwMzMKICNkZWZpbmUgRVRIVE9PTF9SRVNFVCAweDAwMDAwMDM0Ci0jZGVmaW5lIEVUSFRPT0xfU1JYTlRVUExFIDB4MDAwMDAwMzUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSFRPT0xfU1JYTlRVUExFIDB4MDAwMDAwMzUKICNkZWZpbmUgRVRIVE9PTF9HUlhOVFVQTEUgMHgwMDAwMDAzNgogI2RlZmluZSBFVEhUT09MX0dTU0VUX0lORk8gMHgwMDAwMDAzNwogI2RlZmluZSBFVEhUT09MX0dSWEZISU5ESVIgMHgwMDAwMDAzOAotI2RlZmluZSBFVEhUT09MX1NSWEZISU5ESVIgMHgwMDAwMDAzOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9TUlhGSElORElSIDB4MDAwMDAwMzkKICNkZWZpbmUgRVRIVE9PTF9HRkVBVFVSRVMgMHgwMDAwMDAzYQogI2RlZmluZSBFVEhUT09MX1NGRUFUVVJFUyAweDAwMDAwMDNiCiAjZGVmaW5lIEVUSFRPT0xfR0NIQU5ORUxTIDB4MDAwMDAwM2MKLSNkZWZpbmUgRVRIVE9PTF9TQ0hBTk5FTFMgMHgwMDAwMDAzZAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9TQ0hBTk5FTFMgMHgwMDAwMDAzZAogI2RlZmluZSBFVEhUT09MX1NFVF9EVU1QIDB4MDAwMDAwM2UKICNkZWZpbmUgRVRIVE9PTF9HRVRfRFVNUF9GTEFHIDB4MDAwMDAwM2YKICNkZWZpbmUgRVRIVE9PTF9HRVRfRFVNUF9EQVRBIDB4MDAwMDAwNDAKLSNkZWZpbmUgRVRIVE9PTF9HRVRfVFNfSU5GTyAweDAwMDAwMDQxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFVEhUT09MX0dFVF9UU19JTkZPIDB4MDAwMDAwNDEKICNkZWZpbmUgRVRIVE9PTF9HTU9EVUxFSU5GTyAweDAwMDAwMDQyCiAjZGVmaW5lIEVUSFRPT0xfR01PRFVMRUVFUFJPTSAweDAwMDAwMDQzCiAjZGVmaW5lIEVUSFRPT0xfR0VFRSAweDAwMDAwMDQ0Ci0jZGVmaW5lIEVUSFRPT0xfU0VFRSAweDAwMDAwMDQ1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBFVEhUT09MX1NFRUUgMHgwMDAwMDA0NQorI2RlZmluZSBFVEhUT09MX0dSU1NIIDB4MDAwMDAwNDYKKyNkZWZpbmUgRVRIVE9PTF9TUlNTSCAweDAwMDAwMDQ3CisjZGVmaW5lIEVUSFRPT0xfR1RVTkFCTEUgMHgwMDAwMDA0OAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIVE9PTF9TVFVOQUJMRSAweDAwMDAwMDQ5CiAjZGVmaW5lIFNQQVJDX0VUSF9HU0VUIEVUSFRPT0xfR1NFVAogI2RlZmluZSBTUEFSQ19FVEhfU1NFVCBFVEhUT09MX1NTRVQKICNkZWZpbmUgU1VQUE9SVEVEXzEwYmFzZVRfSGFsZiAoMSA8PCAwKQotI2RlZmluZSBTVVBQT1JURURfMTBiYXNlVF9GdWxsICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTVVBQT1JURURfMTBiYXNlVF9GdWxsICgxIDw8IDEpCiAjZGVmaW5lIFNVUFBPUlRFRF8xMDBiYXNlVF9IYWxmICgxIDw8IDIpCiAjZGVmaW5lIFNVUFBPUlRFRF8xMDBiYXNlVF9GdWxsICgxIDw8IDMpCiAjZGVmaW5lIFNVUFBPUlRFRF8xMDAwYmFzZVRfSGFsZiAoMSA8PCA0KQotI2RlZmluZSBTVVBQT1JURURfMTAwMGJhc2VUX0Z1bGwgKDEgPDwgNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNVUFBPUlRFRF8xMDAwYmFzZVRfRnVsbCAoMSA8PCA1KQogI2RlZmluZSBTVVBQT1JURURfQXV0b25lZyAoMSA8PCA2KQogI2RlZmluZSBTVVBQT1JURURfVFAgKDEgPDwgNykKICNkZWZpbmUgU1VQUE9SVEVEX0FVSSAoMSA8PCA4KQotI2RlZmluZSBTVVBQT1JURURfTUlJICgxIDw8IDkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTVVBQT1JURURfTUlJICgxIDw8IDkpCiAjZGVmaW5lIFNVUFBPUlRFRF9GSUJSRSAoMSA8PCAxMCkKICNkZWZpbmUgU1VQUE9SVEVEX0JOQyAoMSA8PCAxMSkKICNkZWZpbmUgU1VQUE9SVEVEXzEwMDAwYmFzZVRfRnVsbCAoMSA8PCAxMikKLSNkZWZpbmUgU1VQUE9SVEVEX1BhdXNlICgxIDw8IDEzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU1VQUE9SVEVEX1BhdXNlICgxIDw8IDEzKQogI2RlZmluZSBTVVBQT1JURURfQXN5bV9QYXVzZSAoMSA8PCAxNCkKICNkZWZpbmUgU1VQUE9SVEVEXzI1MDBiYXNlWF9GdWxsICgxIDw8IDE1KQogI2RlZmluZSBTVVBQT1JURURfQmFja3BsYW5lICgxIDw8IDE2KQotI2RlZmluZSBTVVBQT1JURURfMTAwMGJhc2VLWF9GdWxsICgxIDw8IDE3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU1VQUE9SVEVEXzEwMDBiYXNlS1hfRnVsbCAoMSA8PCAxNykKICNkZWZpbmUgU1VQUE9SVEVEXzEwMDAwYmFzZUtYNF9GdWxsICgxIDw8IDE4KQogI2RlZmluZSBTVVBQT1JURURfMTAwMDBiYXNlS1JfRnVsbCAoMSA8PCAxOSkKICNkZWZpbmUgU1VQUE9SVEVEXzEwMDAwYmFzZVJfRkVDICgxIDw8IDIwKQotI2RlZmluZSBTVVBQT1JURURfMjAwMDBiYXNlTUxEMl9GdWxsICgxIDw8IDIxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU1VQUE9SVEVEXzIwMDAwYmFzZU1MRDJfRnVsbCAoMSA8PCAyMSkKICNkZWZpbmUgU1VQUE9SVEVEXzIwMDAwYmFzZUtSMl9GdWxsICgxIDw8IDIyKQogI2RlZmluZSBTVVBQT1JURURfNDAwMDBiYXNlS1I0X0Z1bGwgKDEgPDwgMjMpCiAjZGVmaW5lIFNVUFBPUlRFRF80MDAwMGJhc2VDUjRfRnVsbCAoMSA8PCAyNCkKLSNkZWZpbmUgU1VQUE9SVEVEXzQwMDAwYmFzZVNSNF9GdWxsICgxIDw8IDI1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU1VQUE9SVEVEXzQwMDAwYmFzZVNSNF9GdWxsICgxIDw8IDI1KQogI2RlZmluZSBTVVBQT1JURURfNDAwMDBiYXNlTFI0X0Z1bGwgKDEgPDwgMjYpCiAjZGVmaW5lIEFEVkVSVElTRURfMTBiYXNlVF9IYWxmICgxIDw8IDApCiAjZGVmaW5lIEFEVkVSVElTRURfMTBiYXNlVF9GdWxsICgxIDw8IDEpCi0jZGVmaW5lIEFEVkVSVElTRURfMTAwYmFzZVRfSGFsZiAoMSA8PCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQURWRVJUSVNFRF8xMDBiYXNlVF9IYWxmICgxIDw8IDIpCiAjZGVmaW5lIEFEVkVSVElTRURfMTAwYmFzZVRfRnVsbCAoMSA8PCAzKQogI2RlZmluZSBBRFZFUlRJU0VEXzEwMDBiYXNlVF9IYWxmICgxIDw8IDQpCiAjZGVmaW5lIEFEVkVSVElTRURfMTAwMGJhc2VUX0Z1bGwgKDEgPDwgNSkKLSNkZWZpbmUgQURWRVJUSVNFRF9BdXRvbmVnICgxIDw8IDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBRFZFUlRJU0VEX0F1dG9uZWcgKDEgPDwgNikKICNkZWZpbmUgQURWRVJUSVNFRF9UUCAoMSA8PCA3KQogI2RlZmluZSBBRFZFUlRJU0VEX0FVSSAoMSA8PCA4KQogI2RlZmluZSBBRFZFUlRJU0VEX01JSSAoMSA8PCA5KQotI2RlZmluZSBBRFZFUlRJU0VEX0ZJQlJFICgxIDw8IDEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQURWRVJUSVNFRF9GSUJSRSAoMSA8PCAxMCkKICNkZWZpbmUgQURWRVJUSVNFRF9CTkMgKDEgPDwgMTEpCiAjZGVmaW5lIEFEVkVSVElTRURfMTAwMDBiYXNlVF9GdWxsICgxIDw8IDEyKQogI2RlZmluZSBBRFZFUlRJU0VEX1BhdXNlICgxIDw8IDEzKQotI2RlZmluZSBBRFZFUlRJU0VEX0FzeW1fUGF1c2UgKDEgPDwgMTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBRFZFUlRJU0VEX0FzeW1fUGF1c2UgKDEgPDwgMTQpCiAjZGVmaW5lIEFEVkVSVElTRURfMjUwMGJhc2VYX0Z1bGwgKDEgPDwgMTUpCiAjZGVmaW5lIEFEVkVSVElTRURfQmFja3BsYW5lICgxIDw8IDE2KQogI2RlZmluZSBBRFZFUlRJU0VEXzEwMDBiYXNlS1hfRnVsbCAoMSA8PCAxNykKLSNkZWZpbmUgQURWRVJUSVNFRF8xMDAwMGJhc2VLWDRfRnVsbCAoMSA8PCAxOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFEVkVSVElTRURfMTAwMDBiYXNlS1g0X0Z1bGwgKDEgPDwgMTgpCiAjZGVmaW5lIEFEVkVSVElTRURfMTAwMDBiYXNlS1JfRnVsbCAoMSA8PCAxOSkKICNkZWZpbmUgQURWRVJUSVNFRF8xMDAwMGJhc2VSX0ZFQyAoMSA8PCAyMCkKICNkZWZpbmUgQURWRVJUSVNFRF8yMDAwMGJhc2VNTEQyX0Z1bGwgKDEgPDwgMjEpCi0jZGVmaW5lIEFEVkVSVElTRURfMjAwMDBiYXNlS1IyX0Z1bGwgKDEgPDwgMjIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBBRFZFUlRJU0VEXzIwMDAwYmFzZUtSMl9GdWxsICgxIDw8IDIyKQogI2RlZmluZSBBRFZFUlRJU0VEXzQwMDAwYmFzZUtSNF9GdWxsICgxIDw8IDIzKQogI2RlZmluZSBBRFZFUlRJU0VEXzQwMDAwYmFzZUNSNF9GdWxsICgxIDw8IDI0KQogI2RlZmluZSBBRFZFUlRJU0VEXzQwMDAwYmFzZVNSNF9GdWxsICgxIDw8IDI1KQotI2RlZmluZSBBRFZFUlRJU0VEXzQwMDAwYmFzZUxSNF9GdWxsICgxIDw8IDI2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQURWRVJUSVNFRF80MDAwMGJhc2VMUjRfRnVsbCAoMSA8PCAyNikKICNkZWZpbmUgU1BFRURfMTAgMTAKICNkZWZpbmUgU1BFRURfMTAwIDEwMAogI2RlZmluZSBTUEVFRF8xMDAwIDEwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNQRUVEXzI1MDAgMjUwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU1BFRURfMTAwMDAgMTAwMDAKLSNkZWZpbmUgU1BFRURfVU5LTk9XTiAtMQorI2RlZmluZSBTUEVFRF9VTktOT1dOIC0gMQogI2RlZmluZSBEVVBMRVhfSEFMRiAweDAwCi0jZGVmaW5lIERVUExFWF9GVUxMIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERVUExFWF9GVUxMIDB4MDEKICNkZWZpbmUgRFVQTEVYX1VOS05PV04gMHhmZgogI2RlZmluZSBQT1JUX1RQIDB4MDAKICNkZWZpbmUgUE9SVF9BVUkgMHgwMQotI2RlZmluZSBQT1JUX01JSSAweDAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQT1JUX01JSSAweDAyCiAjZGVmaW5lIFBPUlRfRklCUkUgMHgwMwogI2RlZmluZSBQT1JUX0JOQyAweDA0CiAjZGVmaW5lIFBPUlRfREEgMHgwNQotI2RlZmluZSBQT1JUX05PTkUgMHhlZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUE9SVF9OT05FIDB4ZWYKICNkZWZpbmUgUE9SVF9PVEhFUiAweGZmCiAjZGVmaW5lIFhDVlJfSU5URVJOQUwgMHgwMAogI2RlZmluZSBYQ1ZSX0VYVEVSTkFMIDB4MDEKLSNkZWZpbmUgWENWUl9EVU1NWTEgMHgwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgWENWUl9EVU1NWTEgMHgwMgogI2RlZmluZSBYQ1ZSX0RVTU1ZMiAweDAzCiAjZGVmaW5lIFhDVlJfRFVNTVkzIDB4MDQKICNkZWZpbmUgQVVUT05FR19ESVNBQkxFIDB4MDAKLSNkZWZpbmUgQVVUT05FR19FTkFCTEUgMHgwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVVUT05FR19FTkFCTEUgMHgwMQogI2RlZmluZSBFVEhfVFBfTURJX0lOVkFMSUQgMHgwMAogI2RlZmluZSBFVEhfVFBfTURJIDB4MDEKICNkZWZpbmUgRVRIX1RQX01ESV9YIDB4MDIKLSNkZWZpbmUgRVRIX1RQX01ESV9BVVRPIDB4MDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSF9UUF9NRElfQVVUTyAweDAzCiAjZGVmaW5lIFdBS0VfUEhZICgxIDw8IDApCiAjZGVmaW5lIFdBS0VfVUNBU1QgKDEgPDwgMSkKICNkZWZpbmUgV0FLRV9NQ0FTVCAoMSA8PCAyKQotI2RlZmluZSBXQUtFX0JDQVNUICgxIDw8IDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBXQUtFX0JDQVNUICgxIDw8IDMpCiAjZGVmaW5lIFdBS0VfQVJQICgxIDw8IDQpCiAjZGVmaW5lIFdBS0VfTUFHSUMgKDEgPDwgNSkKICNkZWZpbmUgV0FLRV9NQUdJQ1NFQ1VSRSAoMSA8PCA2KQotI2RlZmluZSBUQ1BfVjRfRkxPVyAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUQ1BfVjRfRkxPVyAweDAxCiAjZGVmaW5lIFVEUF9WNF9GTE9XIDB4MDIKICNkZWZpbmUgU0NUUF9WNF9GTE9XIDB4MDMKICNkZWZpbmUgQUhfRVNQX1Y0X0ZMT1cgMHgwNAotI2RlZmluZSBUQ1BfVjZfRkxPVyAweDA1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUQ1BfVjZfRkxPVyAweDA1CiAjZGVmaW5lIFVEUF9WNl9GTE9XIDB4MDYKICNkZWZpbmUgU0NUUF9WNl9GTE9XIDB4MDcKICNkZWZpbmUgQUhfRVNQX1Y2X0ZMT1cgMHgwOAotI2RlZmluZSBBSF9WNF9GTE9XIDB4MDkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEFIX1Y0X0ZMT1cgMHgwOQogI2RlZmluZSBFU1BfVjRfRkxPVyAweDBhCiAjZGVmaW5lIEFIX1Y2X0ZMT1cgMHgwYgogI2RlZmluZSBFU1BfVjZfRkxPVyAweDBjCi0jZGVmaW5lIElQX1VTRVJfRkxPVyAweDBkCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUF9VU0VSX0ZMT1cgMHgwZAogI2RlZmluZSBJUFY0X0ZMT1cgMHgxMAogI2RlZmluZSBJUFY2X0ZMT1cgMHgxMQogI2RlZmluZSBFVEhFUl9GTE9XIDB4MTIKLSNkZWZpbmUgRkxPV19FWFQgMHg4MDAwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRkxPV19FWFQgMHg4MDAwMDAwMAogI2RlZmluZSBGTE9XX01BQ19FWFQgMHg0MDAwMDAwMAogI2RlZmluZSBSWEhfTDJEQSAoMSA8PCAxKQogI2RlZmluZSBSWEhfVkxBTiAoMSA8PCAyKQotI2RlZmluZSBSWEhfTDNfUFJPVE8gKDEgPDwgMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJYSF9MM19QUk9UTyAoMSA8PCAzKQogI2RlZmluZSBSWEhfSVBfU1JDICgxIDw8IDQpCiAjZGVmaW5lIFJYSF9JUF9EU1QgKDEgPDwgNSkKICNkZWZpbmUgUlhIX0w0X0JfMF8xICgxIDw8IDYpCi0jZGVmaW5lIFJYSF9MNF9CXzJfMyAoMSA8PCA3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUlhIX0w0X0JfMl8zICgxIDw8IDcpCiAjZGVmaW5lIFJYSF9ESVNDQVJEICgxIDw8IDMxKQogI2RlZmluZSBSWF9DTFNfRkxPV19ESVNDIDB4ZmZmZmZmZmZmZmZmZmZmZlVMTAogI2RlZmluZSBSWF9DTFNfTE9DX1NQRUNJQUwgMHg4MDAwMDAwMAotI2RlZmluZSBSWF9DTFNfTE9DX0FOWSAweGZmZmZmZmZmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBSWF9DTFNfTE9DX0FOWSAweGZmZmZmZmZmCiAjZGVmaW5lIFJYX0NMU19MT0NfRklSU1QgMHhmZmZmZmZmZQogI2RlZmluZSBSWF9DTFNfTE9DX0xBU1QgMHhmZmZmZmZmZAogI2RlZmluZSBFVEhfTU9EVUxFX1NGRl84MDc5IDB4MQotI2RlZmluZSBFVEhfTU9EVUxFX1NGRl84MDc5X0xFTiAyNTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSF9NT0RVTEVfU0ZGXzgwNzlfTEVOIDI1NgogI2RlZmluZSBFVEhfTU9EVUxFX1NGRl84NDcyIDB4MgogI2RlZmluZSBFVEhfTU9EVUxFX1NGRl84NDcyX0xFTiA1MTIKIGVudW0gZXRodG9vbF9yZXNldF9mbGFncyB7Ci0gRVRIX1JFU0VUX01HTVQgPSAxIDw8IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVUSF9SRVNFVF9JUlEgPSAxIDw8IDEsCi0gRVRIX1JFU0VUX0RNQSA9IDEgPDwgMiwKLSBFVEhfUkVTRVRfRklMVEVSID0gMSA8PCAzLAotIEVUSF9SRVNFVF9PRkZMT0FEID0gMSA8PCA0LAorICBFVEhfUkVTRVRfTUdNVCA9IDEgPDwgMCwKKyAgRVRIX1JFU0VUX0lSUSA9IDEgPDwgMSwKKyAgRVRIX1JFU0VUX0RNQSA9IDEgPDwgMiwKKyAgRVRIX1JFU0VUX0ZJTFRFUiA9IDEgPDwgMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRVRIX1JFU0VUX01BQyA9IDEgPDwgNSwKLSBFVEhfUkVTRVRfUEhZID0gMSA8PCA2LAotIEVUSF9SRVNFVF9SQU0gPSAxIDw8IDcsCi0gRVRIX1JFU0VUX0RFRElDQVRFRCA9IDB4MDAwMGZmZmYsCisgIEVUSF9SRVNFVF9PRkZMT0FEID0gMSA8PCA0LAorICBFVEhfUkVTRVRfTUFDID0gMSA8PCA1LAorICBFVEhfUkVTRVRfUEhZID0gMSA8PCA2LAorICBFVEhfUkVTRVRfUkFNID0gMSA8PCA3LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFVEhfUkVTRVRfQUxMID0gMHhmZmZmZmZmZiwKKyAgRVRIX1JFU0VUX0RFRElDQVRFRCA9IDB4MDAwMGZmZmYsCisgIEVUSF9SRVNFVF9BTEwgPSAweGZmZmZmZmZmLAogfTsKICNkZWZpbmUgRVRIX1JFU0VUX1NIQVJFRF9TSElGVCAxNgotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2V2ZW50cG9sbC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ldmVudHBvbGwuaAppbmRleCA5YjVhYWRiLi45ZjMyOWY3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2V2ZW50cG9sbC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZXZlbnRwb2xsLmgKQEAgLTM3LDggKzM3LDggQEAKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBlcG9sbF9ldmVudCB7Ci0gX191MzIgZXZlbnRzOwotIF9fdTY0IGRhdGE7CisgIF9fdTMyIGV2ZW50czsKKyAgX191NjQgZGF0YTsKIH0gRVBPTExfUEFDS0VEOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mYWxsb2MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmFsbG9jLmgKaW5kZXggODBhNGMyOS4uOWVhMGIyNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mYWxsb2MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZhbGxvYy5oCkBAIC0yMiw0ICsyMiw3IEBACiAjZGVmaW5lIEZBTExPQ19GTF9QVU5DSF9IT0xFIDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZBTExPQ19GTF9OT19ISURFX1NUQUxFIDB4MDQKKyNkZWZpbmUgRkFMTE9DX0ZMX0NPTExBUFNFX1JBTkdFIDB4MDgKKyNkZWZpbmUgRkFMTE9DX0ZMX1pFUk9fUkFOR0UgMHgxMAogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mYW5vdGlmeS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mYW5vdGlmeS5oCmluZGV4IDZiMzRhN2MuLjBlMzRjYzcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmFub3RpZnkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Zhbm90aWZ5LmgKQEAgLTM5LDExICszOSwxMSBAQAogI2RlZmluZSBGQU5fQ0xBU1NfTk9USUYgMHgwMDAwMDAwMAogI2RlZmluZSBGQU5fQ0xBU1NfQ09OVEVOVCAweDAwMDAwMDA0CiAjZGVmaW5lIEZBTl9DTEFTU19QUkVfQ09OVEVOVCAweDAwMDAwMDA4Ci0jZGVmaW5lIEZBTl9BTExfQ0xBU1NfQklUUyAoRkFOX0NMQVNTX05PVElGIHwgRkFOX0NMQVNTX0NPTlRFTlQgfCAgIEZBTl9DTEFTU19QUkVfQ09OVEVOVCkKKyNkZWZpbmUgRkFOX0FMTF9DTEFTU19CSVRTIChGQU5fQ0xBU1NfTk9USUYgfCBGQU5fQ0xBU1NfQ09OVEVOVCB8IEZBTl9DTEFTU19QUkVfQ09OVEVOVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZBTl9VTkxJTUlURURfUVVFVUUgMHgwMDAwMDAxMAogI2RlZmluZSBGQU5fVU5MSU1JVEVEX01BUktTIDB4MDAwMDAwMjAKLSNkZWZpbmUgRkFOX0FMTF9JTklUX0ZMQUdTIChGQU5fQ0xPRVhFQyB8IEZBTl9OT05CTE9DSyB8ICAgRkFOX0FMTF9DTEFTU19CSVRTIHwgRkFOX1VOTElNSVRFRF9RVUVVRSB8ICBGQU5fVU5MSU1JVEVEX01BUktTKQorI2RlZmluZSBGQU5fQUxMX0lOSVRfRkxBR1MgKEZBTl9DTE9FWEVDIHwgRkFOX05PTkJMT0NLIHwgRkFOX0FMTF9DTEFTU19CSVRTIHwgRkFOX1VOTElNSVRFRF9RVUVVRSB8IEZBTl9VTkxJTUlURURfTUFSS1MpCiAjZGVmaW5lIEZBTl9NQVJLX0FERCAweDAwMDAwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGQU5fTUFSS19SRU1PVkUgMHgwMDAwMDAwMgpAQCAtNTQsMzUgKzU0LDM1IEBACiAjZGVmaW5lIEZBTl9NQVJLX0lHTk9SRURfTUFTSyAweDAwMDAwMDIwCiAjZGVmaW5lIEZBTl9NQVJLX0lHTk9SRURfU1VSVl9NT0RJRlkgMHgwMDAwMDA0MAogI2RlZmluZSBGQU5fTUFSS19GTFVTSCAweDAwMDAwMDgwCi0jZGVmaW5lIEZBTl9BTExfTUFSS19GTEFHUyAoRkFOX01BUktfQUREIHwgIEZBTl9NQVJLX1JFTU9WRSB8ICBGQU5fTUFSS19ET05UX0ZPTExPVyB8ICBGQU5fTUFSS19PTkxZRElSIHwgIEZBTl9NQVJLX01PVU5UIHwgIEZBTl9NQVJLX0lHTk9SRURfTUFTSyB8ICBGQU5fTUFSS19JR05PUkVEX1NVUlZfTU9ESUZZIHwgIEZBTl9NQVJLX0ZMVVNIKQorI2RlZmluZSBGQU5fQUxMX01BUktfRkxBR1MgKEZBTl9NQVJLX0FERCB8IEZBTl9NQVJLX1JFTU9WRSB8IEZBTl9NQVJLX0RPTlRfRk9MTE9XIHwgRkFOX01BUktfT05MWURJUiB8IEZBTl9NQVJLX01PVU5UIHwgRkFOX01BUktfSUdOT1JFRF9NQVNLIHwgRkFOX01BUktfSUdOT1JFRF9TVVJWX01PRElGWSB8IEZBTl9NQVJLX0ZMVVNIKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRkFOX0FMTF9FVkVOVFMgKEZBTl9BQ0NFU1MgfCAgRkFOX01PRElGWSB8ICBGQU5fQ0xPU0UgfCAgRkFOX09QRU4pCi0jZGVmaW5lIEZBTl9BTExfUEVSTV9FVkVOVFMgKEZBTl9PUEVOX1BFUk0gfCAgRkFOX0FDQ0VTU19QRVJNKQotI2RlZmluZSBGQU5fQUxMX09VVEdPSU5HX0VWRU5UUyAoRkFOX0FMTF9FVkVOVFMgfCAgRkFOX0FMTF9QRVJNX0VWRU5UUyB8ICBGQU5fUV9PVkVSRkxPVykKKyNkZWZpbmUgRkFOX0FMTF9FVkVOVFMgKEZBTl9BQ0NFU1MgfCBGQU5fTU9ESUZZIHwgRkFOX0NMT1NFIHwgRkFOX09QRU4pCisjZGVmaW5lIEZBTl9BTExfUEVSTV9FVkVOVFMgKEZBTl9PUEVOX1BFUk0gfCBGQU5fQUNDRVNTX1BFUk0pCisjZGVmaW5lIEZBTl9BTExfT1VUR09JTkdfRVZFTlRTIChGQU5fQUxMX0VWRU5UUyB8IEZBTl9BTExfUEVSTV9FVkVOVFMgfCBGQU5fUV9PVkVSRkxPVykKICNkZWZpbmUgRkFOT1RJRllfTUVUQURBVEFfVkVSU0lPTiAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZhbm90aWZ5X2V2ZW50X21ldGFkYXRhIHsKLSBfX3UzMiBldmVudF9sZW47Ci0gX191OCB2ZXJzOwotIF9fdTggcmVzZXJ2ZWQ7CisgIF9fdTMyIGV2ZW50X2xlbjsKKyAgX191OCB2ZXJzOworICBfX3U4IHJlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBtZXRhZGF0YV9sZW47Ci0gX19hbGlnbmVkX3U2NCBtYXNrOwotIF9fczMyIGZkOwotIF9fczMyIHBpZDsKKyAgX191MTYgbWV0YWRhdGFfbGVuOworICBfX2FsaWduZWRfdTY0IG1hc2s7CisgIF9fczMyIGZkOworICBfX3MzMiBwaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmYW5vdGlmeV9yZXNwb25zZSB7Ci0gX19zMzIgZmQ7Ci0gX191MzIgcmVzcG9uc2U7CisgIF9fczMyIGZkOworICBfX3UzMiByZXNwb25zZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBGQU5fQUxMT1cgMHgwMQogI2RlZmluZSBGQU5fREVOWSAweDAyCi0jZGVmaW5lIEZBTl9OT0ZEIC0xCisjZGVmaW5lIEZBTl9OT0ZEIC0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkFOX0VWRU5UX01FVEFEQVRBX0xFTiAoc2l6ZW9mKHN0cnVjdCBmYW5vdGlmeV9ldmVudF9tZXRhZGF0YSkpCi0jZGVmaW5lIEZBTl9FVkVOVF9ORVhUKG1ldGEsIGxlbikgKChsZW4pIC09IChtZXRhKS0+ZXZlbnRfbGVuLCAgIChzdHJ1Y3QgZmFub3RpZnlfZXZlbnRfbWV0YWRhdGEqKSgoKGNoYXIgKikobWV0YSkpICsgICAobWV0YSktPmV2ZW50X2xlbikpCi0jZGVmaW5lIEZBTl9FVkVOVF9PSyhtZXRhLCBsZW4pICgobG9uZykobGVuKSA+PSAobG9uZylGQU5fRVZFTlRfTUVUQURBVEFfTEVOICYmICAgKGxvbmcpKG1ldGEpLT5ldmVudF9sZW4gPj0gKGxvbmcpRkFOX0VWRU5UX01FVEFEQVRBX0xFTiAmJiAgIChsb25nKShtZXRhKS0+ZXZlbnRfbGVuIDw9IChsb25nKShsZW4pKQorI2RlZmluZSBGQU5fRVZFTlRfTkVYVChtZXRhLGxlbikgKChsZW4pIC09IChtZXRhKS0+ZXZlbnRfbGVuLCAoc3RydWN0IGZhbm90aWZ5X2V2ZW50X21ldGFkYXRhICopICgoKGNoYXIgKikgKG1ldGEpKSArIChtZXRhKS0+ZXZlbnRfbGVuKSkKKyNkZWZpbmUgRkFOX0VWRU5UX09LKG1ldGEsbGVuKSAoKGxvbmcpIChsZW4pID49IChsb25nKSBGQU5fRVZFTlRfTUVUQURBVEFfTEVOICYmIChsb25nKSAobWV0YSktPmV2ZW50X2xlbiA+PSAobG9uZykgRkFOX0VWRU5UX01FVEFEQVRBX0xFTiAmJiAobG9uZykgKG1ldGEpLT5ldmVudF9sZW4gPD0gKGxvbmcpIChsZW4pKQogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mYi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mYi5oCmluZGV4IDE2YjM3NTUuLjM5YmIzZjQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZiLmgKQEAgLTE4MywzMSArMTgzLDMxIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGQl9DQVBfRk9VUkNDIDEKIHN0cnVjdCBmYl9maXhfc2NyZWVuaW5mbyB7Ci0gY2hhciBpZFsxNl07Ci0gdW5zaWduZWQgbG9uZyBzbWVtX3N0YXJ0OworICBjaGFyIGlkWzE2XTsKKyAgdW5zaWduZWQgbG9uZyBzbWVtX3N0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzbWVtX2xlbjsKLSBfX3UzMiB0eXBlOwotIF9fdTMyIHR5cGVfYXV4OwotIF9fdTMyIHZpc3VhbDsKKyAgX191MzIgc21lbV9sZW47CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIHR5cGVfYXV4OworICBfX3UzMiB2aXN1YWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHhwYW5zdGVwOwotIF9fdTE2IHlwYW5zdGVwOwotIF9fdTE2IHl3cmFwc3RlcDsKLSBfX3UzMiBsaW5lX2xlbmd0aDsKKyAgX191MTYgeHBhbnN0ZXA7CisgIF9fdTE2IHlwYW5zdGVwOworICBfX3UxNiB5d3JhcHN0ZXA7CisgIF9fdTMyIGxpbmVfbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIG1taW9fc3RhcnQ7Ci0gX191MzIgbW1pb19sZW47Ci0gX191MzIgYWNjZWw7Ci0gX191MTYgY2FwYWJpbGl0aWVzOworICB1bnNpZ25lZCBsb25nIG1taW9fc3RhcnQ7CisgIF9fdTMyIG1taW9fbGVuOworICBfX3UzMiBhY2NlbDsKKyAgX191MTYgY2FwYWJpbGl0aWVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiByZXNlcnZlZFsyXTsKKyAgX191MTYgcmVzZXJ2ZWRbMl07CiB9Owogc3RydWN0IGZiX2JpdGZpZWxkIHsKLSBfX3UzMiBvZmZzZXQ7CisgIF9fdTMyIG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGVuZ3RoOwotIF9fdTMyIG1zYl9yaWdodDsKKyAgX191MzIgbGVuZ3RoOworICBfX3UzMiBtc2JfcmlnaHQ7CiB9OwogI2RlZmluZSBGQl9OT05TVERfSEFNIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0yNDcsNjEgKzI0Nyw2MSBAQAogI2RlZmluZSBGQl9ST1RBVEVfVUQgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkJfUk9UQVRFX0NDVyAzCi0jZGVmaW5lIFBJQ09TMktIWihhKSAoMTAwMDAwMDAwMFVMLyhhKSkKLSNkZWZpbmUgS0haMlBJQ09TKGEpICgxMDAwMDAwMDAwVUwvKGEpKQorI2RlZmluZSBQSUNPUzJLSFooYSkgKDEwMDAwMDAwMDBVTCAvIChhKSkKKyNkZWZpbmUgS0haMlBJQ09TKGEpICgxMDAwMDAwMDAwVUwgLyAoYSkpCiBzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB4cmVzOwotIF9fdTMyIHlyZXM7Ci0gX191MzIgeHJlc192aXJ0dWFsOwotIF9fdTMyIHlyZXNfdmlydHVhbDsKKyAgX191MzIgeHJlczsKKyAgX191MzIgeXJlczsKKyAgX191MzIgeHJlc192aXJ0dWFsOworICBfX3UzMiB5cmVzX3ZpcnR1YWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHhvZmZzZXQ7Ci0gX191MzIgeW9mZnNldDsKLSBfX3UzMiBiaXRzX3Blcl9waXhlbDsKLSBfX3UzMiBncmF5c2NhbGU7CisgIF9fdTMyIHhvZmZzZXQ7CisgIF9fdTMyIHlvZmZzZXQ7CisgIF9fdTMyIGJpdHNfcGVyX3BpeGVsOworICBfX3UzMiBncmF5c2NhbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmYl9iaXRmaWVsZCByZWQ7Ci0gc3RydWN0IGZiX2JpdGZpZWxkIGdyZWVuOwotIHN0cnVjdCBmYl9iaXRmaWVsZCBibHVlOwotIHN0cnVjdCBmYl9iaXRmaWVsZCB0cmFuc3A7CisgIHN0cnVjdCBmYl9iaXRmaWVsZCByZWQ7CisgIHN0cnVjdCBmYl9iaXRmaWVsZCBncmVlbjsKKyAgc3RydWN0IGZiX2JpdGZpZWxkIGJsdWU7CisgIHN0cnVjdCBmYl9iaXRmaWVsZCB0cmFuc3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG5vbnN0ZDsKLSBfX3UzMiBhY3RpdmF0ZTsKLSBfX3UzMiBoZWlnaHQ7Ci0gX191MzIgd2lkdGg7CisgIF9fdTMyIG5vbnN0ZDsKKyAgX191MzIgYWN0aXZhdGU7CisgIF9fdTMyIGhlaWdodDsKKyAgX191MzIgd2lkdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGFjY2VsX2ZsYWdzOwotIF9fdTMyIHBpeGNsb2NrOwotIF9fdTMyIGxlZnRfbWFyZ2luOwotIF9fdTMyIHJpZ2h0X21hcmdpbjsKKyAgX191MzIgYWNjZWxfZmxhZ3M7CisgIF9fdTMyIHBpeGNsb2NrOworICBfX3UzMiBsZWZ0X21hcmdpbjsKKyAgX191MzIgcmlnaHRfbWFyZ2luOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1cHBlcl9tYXJnaW47Ci0gX191MzIgbG93ZXJfbWFyZ2luOwotIF9fdTMyIGhzeW5jX2xlbjsKLSBfX3UzMiB2c3luY19sZW47CisgIF9fdTMyIHVwcGVyX21hcmdpbjsKKyAgX191MzIgbG93ZXJfbWFyZ2luOworICBfX3UzMiBoc3luY19sZW47CisgIF9fdTMyIHZzeW5jX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3luYzsKLSBfX3UzMiB2bW9kZTsKLSBfX3UzMiByb3RhdGU7Ci0gX191MzIgY29sb3JzcGFjZTsKKyAgX191MzIgc3luYzsKKyAgX191MzIgdm1vZGU7CisgIF9fdTMyIHJvdGF0ZTsKKyAgX191MzIgY29sb3JzcGFjZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbNF07CisgIF9fdTMyIHJlc2VydmVkWzRdOwogfTsKIHN0cnVjdCBmYl9jbWFwIHsKLSBfX3UzMiBzdGFydDsKKyAgX191MzIgc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxlbjsKLSBfX3UxNiAqcmVkOwotIF9fdTE2ICpncmVlbjsKLSBfX3UxNiAqYmx1ZTsKKyAgX191MzIgbGVuOworICBfX3UxNiAqIHJlZDsKKyAgX191MTYgKiBncmVlbjsKKyAgX191MTYgKiBibHVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiAqdHJhbnNwOworICBfX3UxNiAqIHRyYW5zcDsKIH07CiBzdHJ1Y3QgZmJfY29uMmZibWFwIHsKLSBfX3UzMiBjb25zb2xlOworICBfX3UzMiBjb25zb2xlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmcmFtZWJ1ZmZlcjsKKyAgX191MzIgZnJhbWVidWZmZXI7CiB9OwogI2RlZmluZSBWRVNBX05PX0JMQU5LSU5HIDAKICNkZWZpbmUgVkVTQV9WU1lOQ19TVVNQRU5EIDEKQEAgLTMwOSwxMiArMzA5LDEyIEBACiAjZGVmaW5lIFZFU0FfSFNZTkNfU1VTUEVORCAyCiAjZGVmaW5lIFZFU0FfUE9XRVJET1dOIDMKIGVudW0gewotIEZCX0JMQU5LX1VOQkxBTksgPSBWRVNBX05PX0JMQU5LSU5HLAorICBGQl9CTEFOS19VTkJMQU5LID0gVkVTQV9OT19CTEFOS0lORywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkJfQkxBTktfTk9STUFMID0gVkVTQV9OT19CTEFOS0lORyArIDEsCi0gRkJfQkxBTktfVlNZTkNfU1VTUEVORCA9IFZFU0FfVlNZTkNfU1VTUEVORCArIDEsCi0gRkJfQkxBTktfSFNZTkNfU1VTUEVORCA9IFZFU0FfSFNZTkNfU1VTUEVORCArIDEsCi0gRkJfQkxBTktfUE9XRVJET1dOID0gVkVTQV9QT1dFUkRPV04gKyAxCisgIEZCX0JMQU5LX05PUk1BTCA9IFZFU0FfTk9fQkxBTktJTkcgKyAxLAorICBGQl9CTEFOS19WU1lOQ19TVVNQRU5EID0gVkVTQV9WU1lOQ19TVVNQRU5EICsgMSwKKyAgRkJfQkxBTktfSFNZTkNfU1VTUEVORCA9IFZFU0FfSFNZTkNfU1VTUEVORCArIDEsCisgIEZCX0JMQU5LX1BPV0VSRE9XTiA9IFZFU0FfUE9XRVJET1dOICsgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEZCX1ZCTEFOS19WQkxBTktJTkcgMHgwMDEKQEAgLTMyOSw0OSArMzI5LDQ5IEBACiAjZGVmaW5lIEZCX1ZCTEFOS19WU1lOQ0lORyAweDA4MAogI2RlZmluZSBGQl9WQkxBTktfSEFWRV9WU1lOQyAweDEwMAogc3RydWN0IGZiX3ZibGFuayB7Ci0gX191MzIgZmxhZ3M7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb3VudDsKLSBfX3UzMiB2Y291bnQ7Ci0gX191MzIgaGNvdW50OwotIF9fdTMyIHJlc2VydmVkWzRdOworICBfX3UzMiBjb3VudDsKKyAgX191MzIgdmNvdW50OworICBfX3UzMiBoY291bnQ7CisgIF9fdTMyIHJlc2VydmVkWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFJPUF9DT1BZIDAKICNkZWZpbmUgUk9QX1hPUiAxCiBzdHJ1Y3QgZmJfY29weWFyZWEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkeDsKLSBfX3UzMiBkeTsKLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7CisgIF9fdTMyIGR4OworICBfX3UzMiBkeTsKKyAgX191MzIgd2lkdGg7CisgIF9fdTMyIGhlaWdodDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3g7Ci0gX191MzIgc3k7CisgIF9fdTMyIHN4OworICBfX3UzMiBzeTsKIH07CiBzdHJ1Y3QgZmJfZmlsbHJlY3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkeDsKLSBfX3UzMiBkeTsKLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7CisgIF9fdTMyIGR4OworICBfX3UzMiBkeTsKKyAgX191MzIgd2lkdGg7CisgIF9fdTMyIGhlaWdodDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY29sb3I7Ci0gX191MzIgcm9wOworICBfX3UzMiBjb2xvcjsKKyAgX191MzIgcm9wOwogfTsKIHN0cnVjdCBmYl9pbWFnZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGR4OwotIF9fdTMyIGR5OwotIF9fdTMyIHdpZHRoOwotIF9fdTMyIGhlaWdodDsKKyAgX191MzIgZHg7CisgIF9fdTMyIGR5OworICBfX3UzMiB3aWR0aDsKKyAgX191MzIgaGVpZ2h0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmZ19jb2xvcjsKLSBfX3UzMiBiZ19jb2xvcjsKLSBfX3U4IGRlcHRoOwotIGNvbnN0IGNoYXIgKmRhdGE7CisgIF9fdTMyIGZnX2NvbG9yOworICBfX3UzMiBiZ19jb2xvcjsKKyAgX191OCBkZXB0aDsKKyAgY29uc3QgY2hhciAqIGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmYl9jbWFwIGNtYXA7CisgIHN0cnVjdCBmYl9jbWFwIGNtYXA7CiB9OwogI2RlZmluZSBGQl9DVVJfU0VUSU1BR0UgMHgwMQogI2RlZmluZSBGQl9DVVJfU0VUUE9TIDB4MDIKQEAgLTM4MywxNyArMzgzLDE3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGQl9DVVJfU0VUQUxMIDB4RkYKIHN0cnVjdCBmYmN1cnBvcyB7Ci0gX191MTYgeCwgeTsKKyAgX191MTYgeCwgeTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZiX2N1cnNvciB7Ci0gX191MTYgc2V0OwotIF9fdTE2IGVuYWJsZTsKLSBfX3UxNiByb3A7CisgIF9fdTE2IHNldDsKKyAgX191MTYgZW5hYmxlOworICBfX3UxNiByb3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNvbnN0IGNoYXIgKm1hc2s7Ci0gc3RydWN0IGZiY3VycG9zIGhvdDsKLSBzdHJ1Y3QgZmJfaW1hZ2UgaW1hZ2U7CisgIGNvbnN0IGNoYXIgKiBtYXNrOworICBzdHJ1Y3QgZmJjdXJwb3MgaG90OworICBzdHJ1Y3QgZmJfaW1hZ2UgaW1hZ2U7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mY250bC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mY250bC5oCmluZGV4IGZjMThkODcuLmI4ODhkYzkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmNudGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZjbnRsLmgKQEAgLTI0LDI1ICsyNCwzMiBAQAogI2RlZmluZSBGX0dFVExFQVNFIChGX0xJTlVYX1NQRUNJRklDX0JBU0UgKyAxKQogI2RlZmluZSBGX0NBTkNFTExLIChGX0xJTlVYX1NQRUNJRklDX0JBU0UgKyA1KQogI2RlZmluZSBGX0RVUEZEX0NMT0VYRUMgKEZfTElOVVhfU1BFQ0lGSUNfQkFTRSArIDYpCi0jZGVmaW5lIEZfTk9USUZZIChGX0xJTlVYX1NQRUNJRklDX0JBU0UrMikKKyNkZWZpbmUgRl9OT1RJRlkgKEZfTElOVVhfU1BFQ0lGSUNfQkFTRSArIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGX1NFVFBJUEVfU1ogKEZfTElOVVhfU1BFQ0lGSUNfQkFTRSArIDcpCiAjZGVmaW5lIEZfR0VUUElQRV9TWiAoRl9MSU5VWF9TUEVDSUZJQ19CQVNFICsgOCkKKyNkZWZpbmUgRl9BRERfU0VBTFMgKEZfTElOVVhfU1BFQ0lGSUNfQkFTRSArIDkpCisjZGVmaW5lIEZfR0VUX1NFQUxTIChGX0xJTlVYX1NQRUNJRklDX0JBU0UgKyAxMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZfU0VBTF9TRUFMIDB4MDAwMQorI2RlZmluZSBGX1NFQUxfU0hSSU5LIDB4MDAwMgorI2RlZmluZSBGX1NFQUxfR1JPVyAweDAwMDQKKyNkZWZpbmUgRl9TRUFMX1dSSVRFIDB4MDAwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE5fQUNDRVNTIDB4MDAwMDAwMDEKICNkZWZpbmUgRE5fTU9ESUZZIDB4MDAwMDAwMDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEROX0NSRUFURSAweDAwMDAwMDA0CiAjZGVmaW5lIEROX0RFTEVURSAweDAwMDAwMDA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBETl9SRU5BTUUgMHgwMDAwMDAxMAogI2RlZmluZSBETl9BVFRSSUIgMHgwMDAwMDAyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRE5fTVVMVElTSE9UIDB4ODAwMDAwMDAKLSNkZWZpbmUgQVRfRkRDV0QgLTEwMAorI2RlZmluZSBBVF9GRENXRCAtIDEwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRfU1lNTElOS19OT0ZPTExPVyAweDEwMAogI2RlZmluZSBBVF9SRU1PVkVESVIgMHgyMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFUX1NZTUxJTktfRk9MTE9XIDB4NDAwCiAjZGVmaW5lIEFUX05PX0FVVE9NT1VOVCAweDgwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRfRU1QVFlfUEFUSCAweDEwMDAKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmQuaAppbmRleCBjZmM4MmE2Li4wYjk3YmMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mZC5oCkBAIC0yMiwxMiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZsb3BweV9zdHJ1Y3QgewotIHVuc2lnbmVkIGludCBzaXplLAotIHNlY3QsCi0gaGVhZCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdHJhY2ssCi0gc3RyZXRjaDsKKyAgdW5zaWduZWQgaW50IHNpemUsIHNlY3QsIGhlYWQsIHRyYWNrLCBzdHJldGNoOwogI2RlZmluZSBGRF9TVFJFVENIIDEKICNkZWZpbmUgRkRfU1dBUFNJREVTIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0zNiwyMTkgKzMxLDIxMCBAQAogI2RlZmluZSBGRF9NS1NFQ1RCQVNFKHMpICgoKHMpIF4gMSkgPDwgMikKICNkZWZpbmUgRkRfU0VDVEJBU0UoZmxvcHB5KSAoKCgoZmxvcHB5KS0+c3RyZXRjaCAmIEZEX1NFQ1RCQVNFTUFTSykgPj4gMikgXiAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGdhcCwKLSByYXRlLAorICB1bnNpZ25lZCBjaGFyIGdhcCwgcmF0ZSwKICNkZWZpbmUgRkRfMk0gMHg0CiAjZGVmaW5lIEZEX1NJWkVDT0RFTUFTSyAweDM4CisjZGVmaW5lIEZEX1NJWkVDT0RFKGZsb3BweSkgKCgoKChmbG9wcHkpLT5yYXRlICYgRkRfU0laRUNPREVNQVNLKSA+PiAzKSArIDIpICUgOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEZEX1NJWkVDT0RFKGZsb3BweSkgKCgoKChmbG9wcHkpLT5yYXRlJkZEX1NJWkVDT0RFTUFTSyk+PiAzKSsgMikgJTgpCi0jZGVmaW5lIEZEX1NFQ1RTSVpFKGZsb3BweSkgKCAoZmxvcHB5KS0+cmF0ZSAmIEZEXzJNID8gICA1MTIgOiAxMjggPDwgRkRfU0laRUNPREUoZmxvcHB5KSApCisjZGVmaW5lIEZEX1NFQ1RTSVpFKGZsb3BweSkgKChmbG9wcHkpLT5yYXRlICYgRkRfMk0gPyA1MTIgOiAxMjggPDwgRkRfU0laRUNPREUoZmxvcHB5KSkKICNkZWZpbmUgRkRfUEVSUCAweDQwCi0gc3BlYzEsCisgIHNwZWMxLCBmbXRfZ2FwOworICBjb25zdCBjaGFyICogbmFtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZm10X2dhcDsKLSBjb25zdCBjaGFyICogbmFtZTsKIH07CiAjZGVmaW5lIEZEQ0xSUFJNIF9JTygyLCAweDQxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkRTRVRQUk0gX0lPVygyLCAweDQyLCBzdHJ1Y3QgZmxvcHB5X3N0cnVjdCkKICNkZWZpbmUgRkRTRVRNRURJQVBSTSBGRFNFVFBSTQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkRERUZQUk0gX0lPVygyLCAweDQzLCBzdHJ1Y3QgZmxvcHB5X3N0cnVjdCkKICNkZWZpbmUgRkRHRVRQUk0gX0lPUigyLCAweDA0LCBzdHJ1Y3QgZmxvcHB5X3N0cnVjdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZEREVGTUVESUFQUk0gRkRERUZQUk0KICNkZWZpbmUgRkRHRVRNRURJQVBSTSBGREdFVFBSTQotI2RlZmluZSBGRE1TR09OIF9JTygyLDB4NDUpCi0jZGVmaW5lIEZETVNHT0ZGIF9JTygyLDB4NDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGRE1TR09OIF9JTygyLCAweDQ1KQorI2RlZmluZSBGRE1TR09GRiBfSU8oMiwgMHg0NikKICNkZWZpbmUgRkRfRklMTF9CWVRFIDB4RjYKIHN0cnVjdCBmb3JtYXRfZGVzY3IgewotIHVuc2lnbmVkIGludCBkZXZpY2UsaGVhZCx0cmFjazsKLX07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBGREZNVEJFRyBfSU8oMiwweDQ3KQotI2RlZmluZSBGREZNVFRSSyBfSU9XKDIsMHg0OCwgc3RydWN0IGZvcm1hdF9kZXNjcikKLSNkZWZpbmUgRkRGTVRFTkQgX0lPKDIsMHg0OSkKKyAgdW5zaWduZWQgaW50IGRldmljZSwgaGVhZCwgdHJhY2s7Cit9OworI2RlZmluZSBGREZNVEJFRyBfSU8oMiwgMHg0NykKKyNkZWZpbmUgRkRGTVRUUksgX0lPVygyLCAweDQ4LCBzdHJ1Y3QgZm9ybWF0X2Rlc2NyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRkRGTVRFTkQgX0lPKDIsIDB4NDkpCiBzdHJ1Y3QgZmxvcHB5X21heF9lcnJvcnMgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQKLSBhYm9ydCwKLSByZWFkX3RyYWNrLAotIHJlc2V0LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSByZWNhbCwKLSByZXBvcnRpbmc7CisgIHVuc2lnbmVkIGludCBhYm9ydCwgcmVhZF90cmFjaywgcmVzZXQsIHJlY2FsLCByZXBvcnRpbmc7CiB9OwotI2RlZmluZSBGRFNFVEVNU0dUUkVTSCBfSU8oMiwweDRhKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRkRGTFVTSCBfSU8oMiwweDRiKQorI2RlZmluZSBGRFNFVEVNU0dUUkVTSCBfSU8oMiwgMHg0YSkKKyNkZWZpbmUgRkRGTFVTSCBfSU8oMiwgMHg0YikKICNkZWZpbmUgRkRTRVRNQVhFUlJTIF9JT1coMiwgMHg0Yywgc3RydWN0IGZsb3BweV9tYXhfZXJyb3JzKQogI2RlZmluZSBGREdFVE1BWEVSUlMgX0lPUigyLCAweDBlLCBzdHJ1Y3QgZmxvcHB5X21heF9lcnJvcnMpCi10eXBlZGVmIGNoYXIgZmxvcHB5X2RyaXZlX25hbWVbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3R5cGVkZWYgY2hhciBmbG9wcHlfZHJpdmVfbmFtZVsxNl07CiAjZGVmaW5lIEZER0VURFJWVFlQIF9JT1IoMiwgMHgwZiwgZmxvcHB5X2RyaXZlX25hbWUpCiBzdHJ1Y3QgZmxvcHB5X2RyaXZlX3BhcmFtcyB7Ci0gc2lnbmVkIGNoYXIgY21vczsKLSB1bnNpZ25lZCBsb25nIG1heF9kdHI7CisgIHNpZ25lZCBjaGFyIGNtb3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgaGx0OwotIHVuc2lnbmVkIGxvbmcgaHV0OwotIHVuc2lnbmVkIGxvbmcgc3J0OwotIHVuc2lnbmVkIGxvbmcgc3BpbnVwOworICB1bnNpZ25lZCBsb25nIG1heF9kdHI7CisgIHVuc2lnbmVkIGxvbmcgaGx0OworICB1bnNpZ25lZCBsb25nIGh1dDsKKyAgdW5zaWduZWQgbG9uZyBzcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgc3BpbmRvd247Ci0gdW5zaWduZWQgY2hhciBzcGluZG93bl9vZmZzZXQ7Ci0gdW5zaWduZWQgY2hhciBzZWxlY3RfZGVsYXk7Ci0gdW5zaWduZWQgY2hhciBycHM7CisgIHVuc2lnbmVkIGxvbmcgc3BpbnVwOworICB1bnNpZ25lZCBsb25nIHNwaW5kb3duOworICB1bnNpZ25lZCBjaGFyIHNwaW5kb3duX29mZnNldDsKKyAgdW5zaWduZWQgY2hhciBzZWxlY3RfZGVsYXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgdHJhY2tzOwotIHVuc2lnbmVkIGxvbmcgdGltZW91dDsKLSB1bnNpZ25lZCBjaGFyIGludGVybGVhdmVfc2VjdDsKLSBzdHJ1Y3QgZmxvcHB5X21heF9lcnJvcnMgbWF4X2Vycm9yczsKKyAgdW5zaWduZWQgY2hhciBycHM7CisgIHVuc2lnbmVkIGNoYXIgdHJhY2tzOworICB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisgIHVuc2lnbmVkIGNoYXIgaW50ZXJsZWF2ZV9zZWN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGZsYWdzOworICBzdHJ1Y3QgZmxvcHB5X21heF9lcnJvcnMgbWF4X2Vycm9yczsKKyAgY2hhciBmbGFnczsKICNkZWZpbmUgRlREX01TRyAweDEwCiAjZGVmaW5lIEZEX0JST0tFTl9EQ0wgMHgyMAotI2RlZmluZSBGRF9ERUJVRyAweDAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGRF9ERUJVRyAweDAyCiAjZGVmaW5lIEZEX1NJTEVOVF9EQ0xfQ0xFQVIgMHg0CiAjZGVmaW5lIEZEX0lOVkVSVEVEX0RDTCAweDgwCi0gY2hhciByZWFkX3RyYWNrOwotIHNob3J0IGF1dG9kZXRlY3RbOF07CisgIGNoYXIgcmVhZF90cmFjazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNoZWNrZnJlcTsKLSBpbnQgbmF0aXZlX2Zvcm1hdDsKKyAgc2hvcnQgYXV0b2RldGVjdFs4XTsKKyAgaW50IGNoZWNrZnJlcTsKKyAgaW50IG5hdGl2ZV9mb3JtYXQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0geworICBGRF9ORUVEX1RXQURETEVfQklULAorICBGRF9WRVJJRllfQklULAorICBGRF9ESVNLX05FV0NIQU5HRV9CSVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZEX05FRURfVFdBRERMRV9CSVQsCi0gRkRfVkVSSUZZX0JJVCwKLSBGRF9ESVNLX05FV0NIQU5HRV9CSVQsCi0gRkRfVU5VU0VEX0JJVCwKKyAgRkRfVU5VU0VEX0JJVCwKKyAgRkRfRElTS19DSEFOR0VEX0JJVCwKKyAgRkRfRElTS19XUklUQUJMRV9CSVQsCisgIEZEX09QRU5fU0hPVUxEX0ZBSUxfQklUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZEX0RJU0tfQ0hBTkdFRF9CSVQsCi0gRkRfRElTS19XUklUQUJMRV9CSVQsCi0gRkRfT1BFTl9TSE9VTERfRkFJTF9CSVQKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRFNFVERSVlBSTSBfSU9XKDIsIDB4OTAsIHN0cnVjdCBmbG9wcHlfZHJpdmVfcGFyYW1zKQogI2RlZmluZSBGREdFVERSVlBSTSBfSU9SKDIsIDB4MTEsIHN0cnVjdCBmbG9wcHlfZHJpdmVfcGFyYW1zKQogc3RydWN0IGZsb3BweV9kcml2ZV9zdHJ1Y3QgewotIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBsb25nIGZsYWdzOwogI2RlZmluZSBGRF9ORUVEX1RXQURETEUgKDEgPDwgRkRfTkVFRF9UV0FERExFX0JJVCkKICNkZWZpbmUgRkRfVkVSSUZZICgxIDw8IEZEX1ZFUklGWV9CSVQpCiAjZGVmaW5lIEZEX0RJU0tfTkVXQ0hBTkdFICgxIDw8IEZEX0RJU0tfTkVXQ0hBTkdFX0JJVCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZEX0RJU0tfQ0hBTkdFRCAoMSA8PCBGRF9ESVNLX0NIQU5HRURfQklUKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkRfRElTS19XUklUQUJMRSAoMSA8PCBGRF9ESVNLX1dSSVRBQkxFX0JJVCkKLSB1bnNpZ25lZCBsb25nIHNwaW51cF9kYXRlOwotIHVuc2lnbmVkIGxvbmcgc2VsZWN0X2RhdGU7Ci0gdW5zaWduZWQgbG9uZyBmaXJzdF9yZWFkX2RhdGU7CisgIHVuc2lnbmVkIGxvbmcgc3BpbnVwX2RhdGU7CisgIHVuc2lnbmVkIGxvbmcgc2VsZWN0X2RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IHByb2JlZF9mb3JtYXQ7Ci0gc2hvcnQgdHJhY2s7Ci0gc2hvcnQgbWF4YmxvY2s7Ci0gc2hvcnQgbWF4dHJhY2s7CisgIHVuc2lnbmVkIGxvbmcgZmlyc3RfcmVhZF9kYXRlOworICBzaG9ydCBwcm9iZWRfZm9ybWF0OworICBzaG9ydCB0cmFjazsKKyAgc2hvcnQgbWF4YmxvY2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBnZW5lcmF0aW9uOwotIGludCBrZWVwX2RhdGE7Ci0gaW50IGZkX3JlZjsKLSBpbnQgZmRfZGV2aWNlOworICBzaG9ydCBtYXh0cmFjazsKKyAgaW50IGdlbmVyYXRpb247CisgIGludCBrZWVwX2RhdGE7CisgIGludCBmZF9yZWY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbGFzdF9jaGVja2VkOwotIGNoYXIgKmRtYWJ1ZjsKLSBpbnQgYnVmYmxvY2tzOworICBpbnQgZmRfZGV2aWNlOworICB1bnNpZ25lZCBsb25nIGxhc3RfY2hlY2tlZDsKKyAgY2hhciAqIGRtYWJ1ZjsKKyAgaW50IGJ1ZmJsb2NrczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkRHRVREUlZTVEFUIF9JT1IoMiwgMHgxMiwgc3RydWN0IGZsb3BweV9kcml2ZV9zdHJ1Y3QpCiAjZGVmaW5lIEZEUE9MTERSVlNUQVQgX0lPUigyLCAweDEzLCBzdHJ1Y3QgZmxvcHB5X2RyaXZlX3N0cnVjdCkKIGVudW0gcmVzZXRfbW9kZSB7Ci0gRkRfUkVTRVRfSUZfTkVFREVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGRF9SRVNFVF9JRl9SQVdDTUQsCi0gRkRfUkVTRVRfQUxXQVlTCisgIEZEX1JFU0VUX0lGX05FRURFRCwKKyAgRkRfUkVTRVRfSUZfUkFXQ01ELAorICBGRF9SRVNFVF9BTFdBWVMKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRFJFU0VUIF9JTygyLCAweDU0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmbG9wcHlfZmRjX3N0YXRlIHsKLSBpbnQgc3BlYzE7Ci0gaW50IHNwZWMyOwotIGludCBkdHI7CisgIGludCBzcGVjMTsKKyAgaW50IHNwZWMyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHZlcnNpb247Ci0gdW5zaWduZWQgY2hhciBkb3I7Ci0gdW5zaWduZWQgbG9uZyBhZGRyZXNzOwotIHVuc2lnbmVkIGludCByYXdjbWQ6MjsKKyAgaW50IGR0cjsKKyAgdW5zaWduZWQgY2hhciB2ZXJzaW9uOworICB1bnNpZ25lZCBjaGFyIGRvcjsKKyAgdW5zaWduZWQgbG9uZyBhZGRyZXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVzZXQ6MTsKLSB1bnNpZ25lZCBpbnQgbmVlZF9jb25maWd1cmU6MTsKLSB1bnNpZ25lZCBpbnQgcGVycF9tb2RlOjI7Ci0gdW5zaWduZWQgaW50IGhhc19maWZvOjE7CisgIHVuc2lnbmVkIGludCByYXdjbWQgOiAyOworICB1bnNpZ25lZCBpbnQgcmVzZXQgOiAxOworICB1bnNpZ25lZCBpbnQgbmVlZF9jb25maWd1cmUgOiAxOworICB1bnNpZ25lZCBpbnQgcGVycF9tb2RlIDogMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGRyaXZlcl92ZXJzaW9uOworICB1bnNpZ25lZCBpbnQgaGFzX2ZpZm8gOiAxOworICB1bnNpZ25lZCBpbnQgZHJpdmVyX3ZlcnNpb247CiAjZGVmaW5lIEZEX0RSSVZFUl9WRVJTSU9OIDB4MTAwCi0gdW5zaWduZWQgY2hhciB0cmFja1s0XTsKLX07CisgIHVuc2lnbmVkIGNoYXIgdHJhY2tbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKICNkZWZpbmUgRkRHRVRGRENTVEFUIF9JT1IoMiwgMHgxNSwgc3RydWN0IGZsb3BweV9mZGNfc3RhdGUpCiBzdHJ1Y3QgZmxvcHB5X3dyaXRlX2Vycm9ycyB7Ci0gdW5zaWduZWQgaW50IHdyaXRlX2Vycm9yczsKLSB1bnNpZ25lZCBsb25nIGZpcnN0X2Vycm9yX3NlY3RvcjsKKyAgdW5zaWduZWQgaW50IHdyaXRlX2Vycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGZpcnN0X2Vycm9yX2dlbmVyYXRpb247Ci0gdW5zaWduZWQgbG9uZyBsYXN0X2Vycm9yX3NlY3RvcjsKLSBpbnQgbGFzdF9lcnJvcl9nZW5lcmF0aW9uOwotIHVuc2lnbmVkIGludCBiYWRuZXNzOworICB1bnNpZ25lZCBsb25nIGZpcnN0X2Vycm9yX3NlY3RvcjsKKyAgaW50IGZpcnN0X2Vycm9yX2dlbmVyYXRpb247CisgIHVuc2lnbmVkIGxvbmcgbGFzdF9lcnJvcl9zZWN0b3I7CisgIGludCBsYXN0X2Vycm9yX2dlbmVyYXRpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBpbnQgYmFkbmVzczsKIH07CiAjZGVmaW5lIEZEV0VSUk9SQ0xSIF9JTygyLCAweDU2KQogI2RlZmluZSBGRFdFUlJPUkdFVCBfSU9SKDIsIDB4MTcsIHN0cnVjdCBmbG9wcHlfd3JpdGVfZXJyb3JzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkRIQVZFQkFUQ0hFRFJBV0NNRAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmbG9wcHlfcmF3X2NtZCB7Ci0gdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAjZGVmaW5lIEZEX1JBV19SRUFEIDEKLSNkZWZpbmUgRkRfUkFXX1dSSVRFIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZEX1JBV19XUklURSAyCiAjZGVmaW5lIEZEX1JBV19OT19NT1RPUiA0CiAjZGVmaW5lIEZEX1JBV19ESVNLX0NIQU5HRSA0CiAjZGVmaW5lIEZEX1JBV19JTlRSIDgKLSNkZWZpbmUgRkRfUkFXX1NQSU4gMHgxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRkRfUkFXX1NQSU4gMHgxMAogI2RlZmluZSBGRF9SQVdfTk9fTU9UT1JfQUZURVIgMHgyMAogI2RlZmluZSBGRF9SQVdfTkVFRF9ESVNLIDB4NDAKICNkZWZpbmUgRkRfUkFXX05FRURfU0VFSyAweDgwCi0jZGVmaW5lIEZEX1JBV19NT1JFIDB4MTAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGRF9SQVdfTU9SRSAweDEwMAogI2RlZmluZSBGRF9SQVdfU1RPUF9JRl9GQUlMVVJFIDB4MjAwCiAjZGVmaW5lIEZEX1JBV19TVE9QX0lGX1NVQ0NFU1MgMHg0MDAKICNkZWZpbmUgRkRfUkFXX1NPRlRGQUlMVVJFIDB4ODAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRF9SQVdfRkFJTFVSRSAweDEwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRF9SQVdfSEFSREZBSUxVUkUgMHgyMDAwMAotIHZvaWQgX191c2VyICpkYXRhOwotIGNoYXIgKmtlcm5lbF9kYXRhOwotIHN0cnVjdCBmbG9wcHlfcmF3X2NtZCAqbmV4dDsKKyAgdm9pZCBfX3VzZXIgKiBkYXRhOworICBjaGFyICoga2VybmVsX2RhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgbGVuZ3RoOwotIGxvbmcgcGh5c19sZW5ndGg7Ci0gaW50IGJ1ZmZlcl9sZW5ndGg7Ci0gdW5zaWduZWQgY2hhciByYXRlOworICBzdHJ1Y3QgZmxvcHB5X3Jhd19jbWQgKiBuZXh0OworICBsb25nIGxlbmd0aDsKKyAgbG9uZyBwaHlzX2xlbmd0aDsKKyAgaW50IGJ1ZmZlcl9sZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgY21kX2NvdW50OwotIHVuc2lnbmVkIGNoYXIgY21kWzE2XTsKLSB1bnNpZ25lZCBjaGFyIHJlcGx5X2NvdW50OwotIHVuc2lnbmVkIGNoYXIgcmVwbHlbMTZdOworICB1bnNpZ25lZCBjaGFyIHJhdGU7CisgIHVuc2lnbmVkIGNoYXIgY21kX2NvdW50OworICB1bnNpZ25lZCBjaGFyIGNtZFsxNl07CisgIHVuc2lnbmVkIGNoYXIgcmVwbHlfY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0cmFjazsKLSBpbnQgcmVzdWx0Y29kZTsKLSBpbnQgcmVzZXJ2ZWQxOwotIGludCByZXNlcnZlZDI7CisgIHVuc2lnbmVkIGNoYXIgcmVwbHlbMTZdOworICBpbnQgdHJhY2s7CisgIGludCByZXN1bHRjb2RlOworICBpbnQgcmVzZXJ2ZWQxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IHJlc2VydmVkMjsKIH07CiAjZGVmaW5lIEZEUkFXQ01EIF9JTygyLCAweDU4KQogI2RlZmluZSBGRFRXQURETEUgX0lPKDIsIDB4NTkpCi0jZGVmaW5lIEZERUpFQ1QgX0lPKDIsIDB4NWEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGREVKRUNUIF9JTygyLCAweDVhKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZkcmVnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZkcmVnLmgKaW5kZXggZDQ0YmQ1NC4uYzRmM2Y1YyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mZHJlZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmRyZWcuaApAQCAtMjQsMTIgKzI0LDEyIEBACiAjZWxzZQogI2RlZmluZSBGRF9JT1BPUlQgMHgzZjAKICNlbmRpZgotI2RlZmluZSBGRF9TVEFUVVMgKDQgKyBGRF9JT1BPUlQgKQorI2RlZmluZSBGRF9TVEFUVVMgKDQgKyBGRF9JT1BPUlQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBGRF9EQVRBICg1ICsgRkRfSU9QT1JUICkKLSNkZWZpbmUgRkRfRE9SICgyICsgRkRfSU9QT1JUICkKLSNkZWZpbmUgRkRfRElSICg3ICsgRkRfSU9QT1JUICkKLSNkZWZpbmUgRkRfRENSICg3ICsgRkRfSU9QT1JUICkKKyNkZWZpbmUgRkRfREFUQSAoNSArIEZEX0lPUE9SVCkKKyNkZWZpbmUgRkRfRE9SICgyICsgRkRfSU9QT1JUKQorI2RlZmluZSBGRF9ESVIgKDcgKyBGRF9JT1BPUlQpCisjZGVmaW5lIEZEX0RDUiAoNyArIEZEX0lPUE9SVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNUQVRVU19CVVNZTUFTSyAweDBGCiAjZGVmaW5lIFNUQVRVU19CVVNZIDB4MTAKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmliX3J1bGVzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZpYl9ydWxlcy5oCmluZGV4IGFmZTZiYzAuLjQ5OTUzZWYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmliX3J1bGVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9maWJfcnVsZXMuaApAQCAtMzEsNjAgKzMxLDYwIEBACiAjZGVmaW5lIEZJQl9SVUxFX0ZJTkRfU0FERFIgMHgwMDAxMDAwMAogc3RydWN0IGZpYl9ydWxlX2hkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmFtaWx5OwotIF9fdTggZHN0X2xlbjsKLSBfX3U4IHNyY19sZW47Ci0gX191OCB0b3M7CisgIF9fdTggZmFtaWx5OworICBfX3U4IGRzdF9sZW47CisgIF9fdTggc3JjX2xlbjsKKyAgX191OCB0b3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdGFibGU7Ci0gX191OCByZXMxOwotIF9fdTggcmVzMjsKLSBfX3U4IGFjdGlvbjsKKyAgX191OCB0YWJsZTsKKyAgX191OCByZXMxOworICBfX3U4IHJlczI7CisgIF9fdTggYWN0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmbGFnczsKKyAgX191MzIgZmxhZ3M7CiB9OwogZW51bSB7Ci0gRlJBX1VOU1BFQywKKyAgRlJBX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlJBX0RTVCwKLSBGUkFfU1JDLAotIEZSQV9JSUZOQU1FLAorICBGUkFfRFNULAorICBGUkFfU1JDLAorICBGUkFfSUlGTkFNRSwKICNkZWZpbmUgRlJBX0lGTkFNRSBGUkFfSUlGTkFNRQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGUkFfR09UTywKLSBGUkFfVU5VU0VEMiwKLSBGUkFfUFJJT1JJVFksCi0gRlJBX1VOVVNFRDMsCisgIEZSQV9HT1RPLAorICBGUkFfVU5VU0VEMiwKKyAgRlJBX1BSSU9SSVRZLAorICBGUkFfVU5VU0VEMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlJBX1VOVVNFRDQsCi0gRlJBX1VOVVNFRDUsCi0gRlJBX0ZXTUFSSywKLSBGUkFfRkxPVywKKyAgRlJBX1VOVVNFRDQsCisgIEZSQV9VTlVTRUQ1LAorICBGUkFfRldNQVJLLAorICBGUkFfRkxPVywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlJBX1VOVVNFRDYsCi0gRlJBX1NVUFBSRVNTX0lGR1JPVVAsCi0gRlJBX1NVUFBSRVNTX1BSRUZJWExFTiwKLSBGUkFfVEFCTEUsCisgIEZSQV9VTlVTRUQ2LAorICBGUkFfU1VQUFJFU1NfSUZHUk9VUCwKKyAgRlJBX1NVUFBSRVNTX1BSRUZJWExFTiwKKyAgRlJBX1RBQkxFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGUkFfRldNQVNLLAotIEZSQV9PSUZOQU1FLAotIF9fRlJBX01BWAorICBGUkFfRldNQVNLLAorICBGUkFfT0lGTkFNRSwKKyAgX19GUkFfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlJBX01BWCAoX19GUkFfTUFYIC0gMSkKIGVudW0gewotIEZSX0FDVF9VTlNQRUMsCi0gRlJfQUNUX1RPX1RCTCwKKyAgRlJfQUNUX1VOU1BFQywKKyAgRlJfQUNUX1RPX1RCTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlJfQUNUX0dPVE8sCi0gRlJfQUNUX05PUCwKLSBGUl9BQ1RfUkVTMywKLSBGUl9BQ1RfUkVTNCwKKyAgRlJfQUNUX0dPVE8sCisgIEZSX0FDVF9OT1AsCisgIEZSX0FDVF9SRVMzLAorICBGUl9BQ1RfUkVTNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlJfQUNUX0JMQUNLSE9MRSwKLSBGUl9BQ1RfVU5SRUFDSEFCTEUsCi0gRlJfQUNUX1BST0hJQklULAotIF9fRlJfQUNUX01BWCwKKyAgRlJfQUNUX0JMQUNLSE9MRSwKKyAgRlJfQUNUX1VOUkVBQ0hBQkxFLAorICBGUl9BQ1RfUFJPSElCSVQsCisgIF9fRlJfQUNUX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBGUl9BQ1RfTUFYIChfX0ZSX0FDVF9NQVggLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9maWVtYXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmllbWFwLmgKaW5kZXggZTRiNDZjMi4uZDQxYTg3ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9maWVtYXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZpZW1hcC5oCkBAIC0yMSwyNCArMjEsMjQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGZpZW1hcF9leHRlbnQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBmZV9sb2dpY2FsOwotIF9fdTY0IGZlX3BoeXNpY2FsOwotIF9fdTY0IGZlX2xlbmd0aDsKLSBfX3U2NCBmZV9yZXNlcnZlZDY0WzJdOworICBfX3U2NCBmZV9sb2dpY2FsOworICBfX3U2NCBmZV9waHlzaWNhbDsKKyAgX191NjQgZmVfbGVuZ3RoOworICBfX3U2NCBmZV9yZXNlcnZlZDY0WzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmZV9mbGFnczsKLSBfX3UzMiBmZV9yZXNlcnZlZFszXTsKKyAgX191MzIgZmVfZmxhZ3M7CisgIF9fdTMyIGZlX3Jlc2VydmVkWzNdOwogfTsKIHN0cnVjdCBmaWVtYXAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBmbV9zdGFydDsKLSBfX3U2NCBmbV9sZW5ndGg7Ci0gX191MzIgZm1fZmxhZ3M7Ci0gX191MzIgZm1fbWFwcGVkX2V4dGVudHM7CisgIF9fdTY0IGZtX3N0YXJ0OworICBfX3U2NCBmbV9sZW5ndGg7CisgIF9fdTMyIGZtX2ZsYWdzOworICBfX3UzMiBmbV9tYXBwZWRfZXh0ZW50czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZm1fZXh0ZW50X2NvdW50OwotIF9fdTMyIGZtX3Jlc2VydmVkOwotIHN0cnVjdCBmaWVtYXBfZXh0ZW50IGZtX2V4dGVudHNbMF07CisgIF9fdTMyIGZtX2V4dGVudF9jb3VudDsKKyAgX191MzIgZm1fcmVzZXJ2ZWQ7CisgIHN0cnVjdCBmaWVtYXBfZXh0ZW50IGZtX2V4dGVudHNbMF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRklFTUFQX01BWF9PRkZTRVQgKH4wVUxMKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9maWx0ZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmlsdGVyLmgKaW5kZXggOGI3NTI3MC4uNDc2MWY5ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9maWx0ZXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZpbHRlci5oCkBAIC0yMSwxMTAgKzIxLDU5IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpbmNsdWRlIDxsaW51eC9icGZfY29tbW9uLmg+CiAjZGVmaW5lIEJQRl9NQUpPUl9WRVJTSU9OIDEKICNkZWZpbmUgQlBGX01JTk9SX1ZFUlNJT04gMQogc3RydWN0IHNvY2tfZmlsdGVyIHsKLSBfX3UxNiBjb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGp0OwotIF9fdTggamY7Ci0gX191MzIgazsKKyAgX191MTYgY29kZTsKKyAgX191OCBqdDsKKyAgX191OCBqZjsKKyAgX191MzIgazsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzb2NrX2Zwcm9nIHsKLSB1bnNpZ25lZCBzaG9ydCBsZW47Ci0gc3RydWN0IHNvY2tfZmlsdGVyIF9fdXNlciAqZmlsdGVyOworICB1bnNpZ25lZCBzaG9ydCBsZW47CisgIHN0cnVjdCBzb2NrX2ZpbHRlciBfX3VzZXIgKiBmaWx0ZXI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJQRl9DTEFTUyhjb2RlKSAoKGNvZGUpICYgMHgwNykKLSNkZWZpbmUgQlBGX0xEIDB4MDAKLSNkZWZpbmUgQlBGX0xEWCAweDAxCi0jZGVmaW5lIEJQRl9TVCAweDAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCUEZfU1RYIDB4MDMKLSNkZWZpbmUgQlBGX0FMVSAweDA0Ci0jZGVmaW5lIEJQRl9KTVAgMHgwNQotI2RlZmluZSBCUEZfUkVUIDB4MDYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJQRl9NSVNDIDB4MDcKLSNkZWZpbmUgQlBGX1NJWkUoY29kZSkgKChjb2RlKSAmIDB4MTgpCi0jZGVmaW5lIEJQRl9XIDB4MDAKLSNkZWZpbmUgQlBGX0ggMHgwOAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlBGX0IgMHgxMAotI2RlZmluZSBCUEZfTU9ERShjb2RlKSAoKGNvZGUpICYgMHhlMCkKLSNkZWZpbmUgQlBGX0lNTSAweDAwCi0jZGVmaW5lIEJQRl9BQlMgMHgyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlBGX0lORCAweDQwCi0jZGVmaW5lIEJQRl9NRU0gMHg2MAotI2RlZmluZSBCUEZfTEVOIDB4ODAKLSNkZWZpbmUgQlBGX01TSCAweGEwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCUEZfT1AoY29kZSkgKChjb2RlKSAmIDB4ZjApCi0jZGVmaW5lIEJQRl9BREQgMHgwMAotI2RlZmluZSBCUEZfU1VCIDB4MTAKLSNkZWZpbmUgQlBGX01VTCAweDIwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCUEZfRElWIDB4MzAKLSNkZWZpbmUgQlBGX09SIDB4NDAKLSNkZWZpbmUgQlBGX0FORCAweDUwCi0jZGVmaW5lIEJQRl9MU0ggMHg2MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlBGX1JTSCAweDcwCi0jZGVmaW5lIEJQRl9ORUcgMHg4MAotI2RlZmluZSBCUEZfTU9EIDB4OTAKLSNkZWZpbmUgQlBGX1hPUiAweGEwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCUEZfSkEgMHgwMAotI2RlZmluZSBCUEZfSkVRIDB4MTAKLSNkZWZpbmUgQlBGX0pHVCAweDIwCi0jZGVmaW5lIEJQRl9KR0UgMHgzMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQlBGX0pTRVQgMHg0MAotI2RlZmluZSBCUEZfU1JDKGNvZGUpICgoY29kZSkgJiAweDA4KQotI2RlZmluZSBCUEZfSyAweDAwCi0jZGVmaW5lIEJQRl9YIDB4MDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJQRl9SVkFMKGNvZGUpICgoY29kZSkgJiAweDE4KQogI2RlZmluZSBCUEZfQSAweDEwCiAjZGVmaW5lIEJQRl9NSVNDT1AoY29kZSkgKChjb2RlKSAmIDB4ZjgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCUEZfVEFYIDB4MDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJQRl9UWEEgMHg4MAotI2lmbmRlZiBCUEZfTUFYSU5TTlMKLSNkZWZpbmUgQlBGX01BWElOU05TIDQwOTYKLSNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZm5kZWYgQlBGX1NUTVQKLSNkZWZpbmUgQlBGX1NUTVQoY29kZSwgaykgeyAodW5zaWduZWQgc2hvcnQpKGNvZGUpLCAwLCAwLCBrIH0KKyNkZWZpbmUgQlBGX1NUTVQoY29kZSxrKSB7ICh1bnNpZ25lZCBzaG9ydCkgKGNvZGUpLCAwLCAwLCBrIH0KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKICNpZm5kZWYgQlBGX0pVTVAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJQRl9KVU1QKGNvZGUsIGssIGp0LCBqZikgeyAodW5zaWduZWQgc2hvcnQpKGNvZGUpLCBqdCwgamYsIGsgfQorI2RlZmluZSBCUEZfSlVNUChjb2RlLGssanQsamYpIHsgKHVuc2lnbmVkIHNob3J0KSAoY29kZSksIGp0LCBqZiwgayB9CiAjZW5kaWYKLSNkZWZpbmUgQlBGX01FTVdPUkRTIDE2Ci0jZGVmaW5lIFNLRl9BRF9PRkYgKC0weDEwMDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCUEZfTUVNV09SRFMgMTYKKyNkZWZpbmUgU0tGX0FEX09GRiAoLSAweDEwMDApCiAjZGVmaW5lIFNLRl9BRF9QUk9UT0NPTCAwCiAjZGVmaW5lIFNLRl9BRF9QS1RUWVBFIDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNLRl9BRF9JRklOREVYIDgKICNkZWZpbmUgU0tGX0FEX05MQVRUUiAxMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0tGX0FEX05MQVRUUl9ORVNUIDE2CiAjZGVmaW5lIFNLRl9BRF9NQVJLIDIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTS0ZfQURfUVVFVUUgMjQKICNkZWZpbmUgU0tGX0FEX0hBVFlQRSAyOAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0tGX0FEX1JYSEFTSCAzMgogI2RlZmluZSBTS0ZfQURfQ1BVIDM2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTS0ZfQURfQUxVX1hPUl9YIDQwCiAjZGVmaW5lIFNLRl9BRF9WTEFOX1RBRyA0NAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0tGX0FEX1ZMQU5fVEFHX1BSRVNFTlQgNDgKICNkZWZpbmUgU0tGX0FEX1BBWV9PRkZTRVQgNTIKLSNkZWZpbmUgU0tGX0FEX01BWCA1NgotI2RlZmluZSBTS0ZfTkVUX09GRiAoLTB4MTAwMDAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0tGX0xMX09GRiAoLTB4MjAwMDAwKQorI2RlZmluZSBTS0ZfQURfUkFORE9NIDU2CisjZGVmaW5lIFNLRl9BRF9NQVggNjAKKyNkZWZpbmUgU0tGX05FVF9PRkYgKC0gMHgxMDAwMDApCisjZGVmaW5lIFNLRl9MTF9PRkYgKC0gMHgyMDAwMDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZpcmV3aXJlLWNkZXYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmlyZXdpcmUtY2Rldi5oCmluZGV4IDEzNDJiMDYuLjdjZjkwNTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmlyZXdpcmUtY2Rldi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmlyZXdpcmUtY2Rldi5oCkBAIC0zNiwxMDMgKzM2LDEwMyBAQAogI2RlZmluZSBGV19DREVWX0VWRU5UX0lTT19JTlRFUlJVUFRfTVVMVElDSEFOTkVMIDB4MDkKIHN0cnVjdCBmd19jZGV2X2V2ZW50X2NvbW1vbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGNsb3N1cmU7Ci0gX191MzIgdHlwZTsKKyAgX191NjQgY2xvc3VyZTsKKyAgX191MzIgdHlwZTsKIH07CiBzdHJ1Y3QgZndfY2Rldl9ldmVudF9idXNfcmVzZXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjbG9zdXJlOwotIF9fdTMyIHR5cGU7Ci0gX191MzIgbm9kZV9pZDsKLSBfX3UzMiBsb2NhbF9ub2RlX2lkOworICBfX3U2NCBjbG9zdXJlOworICBfX3UzMiB0eXBlOworICBfX3UzMiBub2RlX2lkOworICBfX3UzMiBsb2NhbF9ub2RlX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBibV9ub2RlX2lkOwotIF9fdTMyIGlybV9ub2RlX2lkOwotIF9fdTMyIHJvb3Rfbm9kZV9pZDsKLSBfX3UzMiBnZW5lcmF0aW9uOworICBfX3UzMiBibV9ub2RlX2lkOworICBfX3UzMiBpcm1fbm9kZV9pZDsKKyAgX191MzIgcm9vdF9ub2RlX2lkOworICBfX3UzMiBnZW5lcmF0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZndfY2Rldl9ldmVudF9yZXNwb25zZSB7Ci0gX191NjQgY2xvc3VyZTsKLSBfX3UzMiB0eXBlOworICBfX3U2NCBjbG9zdXJlOworICBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByY29kZTsKLSBfX3UzMiBsZW5ndGg7Ci0gX191MzIgZGF0YVswXTsKKyAgX191MzIgcmNvZGU7CisgIF9fdTMyIGxlbmd0aDsKKyAgX191MzIgZGF0YVswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZ3X2NkZXZfZXZlbnRfcmVxdWVzdCB7Ci0gX191NjQgY2xvc3VyZTsKLSBfX3UzMiB0eXBlOwotIF9fdTMyIHRjb2RlOworICBfX3U2NCBjbG9zdXJlOworICBfX3UzMiB0eXBlOworICBfX3UzMiB0Y29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgb2Zmc2V0OwotIF9fdTMyIGhhbmRsZTsKLSBfX3UzMiBsZW5ndGg7Ci0gX191MzIgZGF0YVswXTsKKyAgX191NjQgb2Zmc2V0OworICBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIGxlbmd0aDsKKyAgX191MzIgZGF0YVswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZ3X2NkZXZfZXZlbnRfcmVxdWVzdDIgewotIF9fdTY0IGNsb3N1cmU7Ci0gX191MzIgdHlwZTsKKyAgX191NjQgY2xvc3VyZTsKKyAgX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdGNvZGU7Ci0gX191NjQgb2Zmc2V0OwotIF9fdTMyIHNvdXJjZV9ub2RlX2lkOwotIF9fdTMyIGRlc3RpbmF0aW9uX25vZGVfaWQ7CisgIF9fdTMyIHRjb2RlOworICBfX3U2NCBvZmZzZXQ7CisgIF9fdTMyIHNvdXJjZV9ub2RlX2lkOworICBfX3UzMiBkZXN0aW5hdGlvbl9ub2RlX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjYXJkOwotIF9fdTMyIGdlbmVyYXRpb247Ci0gX191MzIgaGFuZGxlOwotIF9fdTMyIGxlbmd0aDsKKyAgX191MzIgY2FyZDsKKyAgX191MzIgZ2VuZXJhdGlvbjsKKyAgX191MzIgaGFuZGxlOworICBfX3UzMiBsZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRhdGFbMF07CisgIF9fdTMyIGRhdGFbMF07CiB9Owogc3RydWN0IGZ3X2NkZXZfZXZlbnRfaXNvX2ludGVycnVwdCB7Ci0gX191NjQgY2xvc3VyZTsKKyAgX191NjQgY2xvc3VyZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UzMiBjeWNsZTsKLSBfX3UzMiBoZWFkZXJfbGVuZ3RoOwotIF9fdTMyIGhlYWRlclswXTsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgY3ljbGU7CisgIF9fdTMyIGhlYWRlcl9sZW5ndGg7CisgIF9fdTMyIGhlYWRlclswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZ3X2NkZXZfZXZlbnRfaXNvX2ludGVycnVwdF9tYyB7Ci0gX191NjQgY2xvc3VyZTsKLSBfX3UzMiB0eXBlOworICBfX3U2NCBjbG9zdXJlOworICBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb21wbGV0ZWQ7CisgIF9fdTMyIGNvbXBsZXRlZDsKIH07CiBzdHJ1Y3QgZndfY2Rldl9ldmVudF9pc29fcmVzb3VyY2UgewotIF9fdTY0IGNsb3N1cmU7CisgIF9fdTY0IGNsb3N1cmU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR5cGU7Ci0gX191MzIgaGFuZGxlOwotIF9fczMyIGNoYW5uZWw7Ci0gX19zMzIgYmFuZHdpZHRoOworICBfX3UzMiB0eXBlOworICBfX3UzMiBoYW5kbGU7CisgIF9fczMyIGNoYW5uZWw7CisgIF9fczMyIGJhbmR3aWR0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZ3X2NkZXZfZXZlbnRfcGh5X3BhY2tldCB7Ci0gX191NjQgY2xvc3VyZTsKLSBfX3UzMiB0eXBlOworICBfX3U2NCBjbG9zdXJlOworICBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByY29kZTsKLSBfX3UzMiBsZW5ndGg7Ci0gX191MzIgZGF0YVswXTsKKyAgX191MzIgcmNvZGU7CisgIF9fdTMyIGxlbmd0aDsKKyAgX191MzIgZGF0YVswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdW5pb24gZndfY2Rldl9ldmVudCB7Ci0gc3RydWN0IGZ3X2NkZXZfZXZlbnRfY29tbW9uIGNvbW1vbjsKLSBzdHJ1Y3QgZndfY2Rldl9ldmVudF9idXNfcmVzZXQgYnVzX3Jlc2V0OwotIHN0cnVjdCBmd19jZGV2X2V2ZW50X3Jlc3BvbnNlIHJlc3BvbnNlOworICBzdHJ1Y3QgZndfY2Rldl9ldmVudF9jb21tb24gY29tbW9uOworICBzdHJ1Y3QgZndfY2Rldl9ldmVudF9idXNfcmVzZXQgYnVzX3Jlc2V0OworICBzdHJ1Y3QgZndfY2Rldl9ldmVudF9yZXNwb25zZSByZXNwb25zZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGZ3X2NkZXZfZXZlbnRfcmVxdWVzdCByZXF1ZXN0OwotIHN0cnVjdCBmd19jZGV2X2V2ZW50X3JlcXVlc3QyIHJlcXVlc3QyOwotIHN0cnVjdCBmd19jZGV2X2V2ZW50X2lzb19pbnRlcnJ1cHQgaXNvX2ludGVycnVwdDsKLSBzdHJ1Y3QgZndfY2Rldl9ldmVudF9pc29faW50ZXJydXB0X21jIGlzb19pbnRlcnJ1cHRfbWM7CisgIHN0cnVjdCBmd19jZGV2X2V2ZW50X3JlcXVlc3QgcmVxdWVzdDsKKyAgc3RydWN0IGZ3X2NkZXZfZXZlbnRfcmVxdWVzdDIgcmVxdWVzdDI7CisgIHN0cnVjdCBmd19jZGV2X2V2ZW50X2lzb19pbnRlcnJ1cHQgaXNvX2ludGVycnVwdDsKKyAgc3RydWN0IGZ3X2NkZXZfZXZlbnRfaXNvX2ludGVycnVwdF9tYyBpc29faW50ZXJydXB0X21jOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZndfY2Rldl9ldmVudF9pc29fcmVzb3VyY2UgaXNvX3Jlc291cmNlOwotIHN0cnVjdCBmd19jZGV2X2V2ZW50X3BoeV9wYWNrZXQgcGh5X3BhY2tldDsKKyAgc3RydWN0IGZ3X2NkZXZfZXZlbnRfaXNvX3Jlc291cmNlIGlzb19yZXNvdXJjZTsKKyAgc3RydWN0IGZ3X2NkZXZfZXZlbnRfcGh5X3BhY2tldCBwaHlfcGFja2V0OwogfTsKICNkZWZpbmUgRldfQ0RFVl9JT0NfR0VUX0lORk8gX0lPV1IoJyMnLCAweDAwLCBzdHJ1Y3QgZndfY2Rldl9nZXRfaW5mbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xNjcsODEgKzE2Nyw4MSBAQAogI2RlZmluZSBGV19DREVWX0lPQ19GTFVTSF9JU08gX0lPVygnIycsIDB4MTgsIHN0cnVjdCBmd19jZGV2X2ZsdXNoX2lzbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZndfY2Rldl9nZXRfaW5mbyB7Ci0gX191MzIgdmVyc2lvbjsKLSBfX3UzMiByb21fbGVuZ3RoOwotIF9fdTY0IHJvbTsKKyAgX191MzIgdmVyc2lvbjsKKyAgX191MzIgcm9tX2xlbmd0aDsKKyAgX191NjQgcm9tOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBidXNfcmVzZXQ7Ci0gX191NjQgYnVzX3Jlc2V0X2Nsb3N1cmU7Ci0gX191MzIgY2FyZDsKKyAgX191NjQgYnVzX3Jlc2V0OworICBfX3U2NCBidXNfcmVzZXRfY2xvc3VyZTsKKyAgX191MzIgY2FyZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZ3X2NkZXZfc2VuZF9yZXF1ZXN0IHsKLSBfX3UzMiB0Y29kZTsKLSBfX3UzMiBsZW5ndGg7Ci0gX191NjQgb2Zmc2V0OworICBfX3UzMiB0Y29kZTsKKyAgX191MzIgbGVuZ3RoOworICBfX3U2NCBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGNsb3N1cmU7Ci0gX191NjQgZGF0YTsKLSBfX3UzMiBnZW5lcmF0aW9uOworICBfX3U2NCBjbG9zdXJlOworICBfX3U2NCBkYXRhOworICBfX3UzMiBnZW5lcmF0aW9uOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZndfY2Rldl9zZW5kX3Jlc3BvbnNlIHsKLSBfX3UzMiByY29kZTsKLSBfX3UzMiBsZW5ndGg7Ci0gX191NjQgZGF0YTsKKyAgX191MzIgcmNvZGU7CisgIF9fdTMyIGxlbmd0aDsKKyAgX191NjQgZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFuZGxlOworICBfX3UzMiBoYW5kbGU7CiB9Owogc3RydWN0IGZ3X2NkZXZfYWxsb2NhdGUgewotIF9fdTY0IG9mZnNldDsKKyAgX191NjQgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjbG9zdXJlOwotIF9fdTMyIGxlbmd0aDsKLSBfX3UzMiBoYW5kbGU7Ci0gX191NjQgcmVnaW9uX2VuZDsKKyAgX191NjQgY2xvc3VyZTsKKyAgX191MzIgbGVuZ3RoOworICBfX3UzMiBoYW5kbGU7CisgIF9fdTY0IHJlZ2lvbl9lbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmd19jZGV2X2RlYWxsb2NhdGUgewotIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgaGFuZGxlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZXX0NERVZfTE9OR19SRVNFVCAwCiAjZGVmaW5lIEZXX0NERVZfU0hPUlRfUkVTRVQgMQogc3RydWN0IGZ3X2NkZXZfaW5pdGlhdGVfYnVzX3Jlc2V0IHsKLSBfX3UzMiB0eXBlOworICBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZndfY2Rldl9hZGRfZGVzY3JpcHRvciB7Ci0gX191MzIgaW1tZWRpYXRlOwotIF9fdTMyIGtleTsKKyAgX191MzIgaW1tZWRpYXRlOworICBfX3UzMiBrZXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRhdGE7Ci0gX191MzIgbGVuZ3RoOwotIF9fdTMyIGhhbmRsZTsKKyAgX191NjQgZGF0YTsKKyAgX191MzIgbGVuZ3RoOworICBfX3UzMiBoYW5kbGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmd19jZGV2X3JlbW92ZV9kZXNjcmlwdG9yIHsKLSBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIGhhbmRsZTsKIH07CiAjZGVmaW5lIEZXX0NERVZfSVNPX0NPTlRFWFRfVFJBTlNNSVQgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRldfQ0RFVl9JU09fQ09OVEVYVF9SRUNFSVZFIDEKICNkZWZpbmUgRldfQ0RFVl9JU09fQ09OVEVYVF9SRUNFSVZFX01VTFRJQ0hBTk5FTCAyCiBzdHJ1Y3QgZndfY2Rldl9jcmVhdGVfaXNvX2NvbnRleHQgewotIF9fdTMyIHR5cGU7CisgIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhlYWRlcl9zaXplOwotIF9fdTMyIGNoYW5uZWw7Ci0gX191MzIgc3BlZWQ7Ci0gX191NjQgY2xvc3VyZTsKKyAgX191MzIgaGVhZGVyX3NpemU7CisgIF9fdTMyIGNoYW5uZWw7CisgIF9fdTMyIHNwZWVkOworICBfX3U2NCBjbG9zdXJlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIGhhbmRsZTsKIH07CiBzdHJ1Y3QgZndfY2Rldl9zZXRfaXNvX2NoYW5uZWxzIHsKLSBfX3U2NCBjaGFubmVsczsKKyAgX191NjQgY2hhbm5lbHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgaGFuZGxlOwogfTsKICNkZWZpbmUgRldfQ0RFVl9JU09fUEFZTE9BRF9MRU5HVEgodikgKHYpCiAjZGVmaW5lIEZXX0NERVZfSVNPX0lOVEVSUlVQVCAoMSA8PCAxNikKQEAgLTI1MywxNiArMjUzLDE2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGV19DREVWX0lTT19IRUFERVJfTEVOR1RIKHYpICgodikgPDwgMjQpCiBzdHJ1Y3QgZndfY2Rldl9pc29fcGFja2V0IHsKLSBfX3UzMiBjb250cm9sOwotIF9fdTMyIGhlYWRlclswXTsKKyAgX191MzIgY29udHJvbDsKKyAgX191MzIgaGVhZGVyWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZndfY2Rldl9xdWV1ZV9pc28gewotIF9fdTY0IHBhY2tldHM7Ci0gX191NjQgZGF0YTsKKyAgX191NjQgcGFja2V0czsKKyAgX191NjQgZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2l6ZTsKLSBfX3UzMiBoYW5kbGU7CisgIF9fdTMyIHNpemU7CisgIF9fdTMyIGhhbmRsZTsKIH07CiAjZGVmaW5lIEZXX0NERVZfSVNPX0NPTlRFWFRfTUFUQ0hfVEFHMCAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMjcyLDYxICsyNzIsNjEgQEAKICNkZWZpbmUgRldfQ0RFVl9JU09fQ09OVEVYVF9NQVRDSF9BTExfVEFHUyAxNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmd19jZGV2X3N0YXJ0X2lzbyB7Ci0gX19zMzIgY3ljbGU7Ci0gX191MzIgc3luYzsKLSBfX3UzMiB0YWdzOworICBfX3MzMiBjeWNsZTsKKyAgX191MzIgc3luYzsKKyAgX191MzIgdGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFuZGxlOworICBfX3UzMiBoYW5kbGU7CiB9Owogc3RydWN0IGZ3X2NkZXZfc3RvcF9pc28gewotIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZndfY2Rldl9mbHVzaF9pc28gewotIF9fdTMyIGhhbmRsZTsKKyAgX191MzIgaGFuZGxlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZndfY2Rldl9nZXRfY3ljbGVfdGltZXIgewotIF9fdTY0IGxvY2FsX3RpbWU7Ci0gX191MzIgY3ljbGVfdGltZXI7CisgIF9fdTY0IGxvY2FsX3RpbWU7CisgIF9fdTMyIGN5Y2xlX3RpbWVyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZndfY2Rldl9nZXRfY3ljbGVfdGltZXIyIHsKLSBfX3M2NCB0dl9zZWM7Ci0gX19zMzIgdHZfbnNlYzsKLSBfX3MzMiBjbGtfaWQ7CisgIF9fczY0IHR2X3NlYzsKKyAgX19zMzIgdHZfbnNlYzsKKyAgX19zMzIgY2xrX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjeWNsZV90aW1lcjsKKyAgX191MzIgY3ljbGVfdGltZXI7CiB9Owogc3RydWN0IGZ3X2NkZXZfYWxsb2NhdGVfaXNvX3Jlc291cmNlIHsKLSBfX3U2NCBjbG9zdXJlOworICBfX3U2NCBjbG9zdXJlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjaGFubmVsczsKLSBfX3UzMiBiYW5kd2lkdGg7Ci0gX191MzIgaGFuZGxlOworICBfX3U2NCBjaGFubmVsczsKKyAgX191MzIgYmFuZHdpZHRoOworICBfX3UzMiBoYW5kbGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmd19jZGV2X3NlbmRfc3RyZWFtX3BhY2tldCB7Ci0gX191MzIgbGVuZ3RoOwotIF9fdTMyIHRhZzsKLSBfX3UzMiBjaGFubmVsOworICBfX3UzMiBsZW5ndGg7CisgIF9fdTMyIHRhZzsKKyAgX191MzIgY2hhbm5lbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3k7Ci0gX191NjQgY2xvc3VyZTsKLSBfX3U2NCBkYXRhOwotIF9fdTMyIGdlbmVyYXRpb247CisgIF9fdTMyIHN5OworICBfX3U2NCBjbG9zdXJlOworICBfX3U2NCBkYXRhOworICBfX3UzMiBnZW5lcmF0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcGVlZDsKKyAgX191MzIgc3BlZWQ7CiB9Owogc3RydWN0IGZ3X2NkZXZfc2VuZF9waHlfcGFja2V0IHsKLSBfX3U2NCBjbG9zdXJlOworICBfX3U2NCBjbG9zdXJlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkYXRhWzJdOwotIF9fdTMyIGdlbmVyYXRpb247CisgIF9fdTMyIGRhdGFbMl07CisgIF9fdTMyIGdlbmVyYXRpb247CiB9Owogc3RydWN0IGZ3X2NkZXZfcmVjZWl2ZV9waHlfcGFja2V0cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGNsb3N1cmU7CisgIF9fdTY0IGNsb3N1cmU7CiB9OwogI2RlZmluZSBGV19DREVWX1ZFUlNJT04gMwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZsYXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmxhdC5oCmluZGV4IDk5NDVhZTMuLjMwMWZkYTMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmxhdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZmxhdC5oCkBAIC0yMiwyMSArMjIsMjEgQEAKICNkZWZpbmUgTUFYX1NIQVJFRF9MSUJTICgxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmbGF0X2hkciB7Ci0gY2hhciBtYWdpY1s0XTsKLSB1bnNpZ25lZCBsb25nIHJldjsKLSB1bnNpZ25lZCBsb25nIGVudHJ5OworICBjaGFyIG1hZ2ljWzRdOworICB1bnNpZ25lZCBsb25nIHJldjsKKyAgdW5zaWduZWQgbG9uZyBlbnRyeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBkYXRhX3N0YXJ0OwotIHVuc2lnbmVkIGxvbmcgZGF0YV9lbmQ7Ci0gdW5zaWduZWQgbG9uZyBic3NfZW5kOwotIHVuc2lnbmVkIGxvbmcgc3RhY2tfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBkYXRhX3N0YXJ0OworICB1bnNpZ25lZCBsb25nIGRhdGFfZW5kOworICB1bnNpZ25lZCBsb25nIGJzc19lbmQ7CisgIHVuc2lnbmVkIGxvbmcgc3RhY2tfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyByZWxvY19zdGFydDsKLSB1bnNpZ25lZCBsb25nIHJlbG9jX2NvdW50OwotIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0gdW5zaWduZWQgbG9uZyBidWlsZF9kYXRlOworICB1bnNpZ25lZCBsb25nIHJlbG9jX3N0YXJ0OworICB1bnNpZ25lZCBsb25nIHJlbG9jX2NvdW50OworICB1bnNpZ25lZCBsb25nIGZsYWdzOworICB1bnNpZ25lZCBsb25nIGJ1aWxkX2RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgZmlsbGVyWzVdOworICB1bnNpZ25lZCBsb25nIGZpbGxlcls1XTsKIH07CiAjZGVmaW5lIEZMQVRfRkxBR19SQU0gMHgwMDAxCiAjZGVmaW5lIEZMQVRfRkxBR19HT1RQSUMgMHgwMDAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZvdS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mb3UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzFhNGFkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mb3UuaApAQCAtMCwwICsxLDUwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9VQVBJX0xJTlVYX0ZPVV9ICisjZGVmaW5lIF9VQVBJX0xJTlVYX0ZPVV9ICisjZGVmaW5lIEZPVV9HRU5MX05BTUUgImZvdSIKKyNkZWZpbmUgRk9VX0dFTkxfVkVSU0lPTiAweDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitlbnVtIHsKKyAgRk9VX0FUVFJfVU5TUEVDLAorICBGT1VfQVRUUl9QT1JULAorICBGT1VfQVRUUl9BRiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEZPVV9BVFRSX0lQUFJPVE8sCisgIEZPVV9BVFRSX1RZUEUsCisgIF9fRk9VX0FUVFJfTUFYLAorfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZPVV9BVFRSX01BWCAoX19GT1VfQVRUUl9NQVggLSAxKQorZW51bSB7CisgIEZPVV9DTURfVU5TUEVDLAorICBGT1VfQ01EX0FERCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEZPVV9DTURfREVMLAorICBfX0ZPVV9DTURfTUFYLAorfTsKK2VudW0geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRk9VX0VOQ0FQX1VOU1BFQywKKyAgRk9VX0VOQ0FQX0RJUkVDVCwKKyAgRk9VX0VOQ0FQX0dVRSwKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGT1VfQ01EX01BWCAoX19GT1VfQ01EX01BWCAtIDEpCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZnMuaAppbmRleCBkNmZjNzMwLi5iZWQyNDA1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mcy5oCkBAIC0yNyw3ICsyNyw3IEBACiAjZGVmaW5lIElOUl9PUEVOX01BWCA0MDk2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCTE9DS19TSVpFX0JJVFMgMTAKLSNkZWZpbmUgQkxPQ0tfU0laRSAoMTw8QkxPQ0tfU0laRV9CSVRTKQorI2RlZmluZSBCTE9DS19TSVpFICgxIDw8IEJMT0NLX1NJWkVfQklUUykKICNkZWZpbmUgU0VFS19TRVQgMAogI2RlZmluZSBTRUVLX0NVUiAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzYsMTUxICszNiwxNTUgQEAKICNkZWZpbmUgU0VFS19IT0xFIDQKICNkZWZpbmUgU0VFS19NQVggU0VFS19IT0xFCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBSRU5BTUVfTk9SRVBMQUNFICgxIDw8IDApCisjZGVmaW5lIFJFTkFNRV9FWENIQU5HRSAoMSA8PCAxKQorI2RlZmluZSBSRU5BTUVfV0hJVEVPVVQgKDEgPDwgMikKIHN0cnVjdCBmc3RyaW1fcmFuZ2UgewotIF9fdTY0IHN0YXJ0OwotIF9fdTY0IGxlbjsKLSBfX3U2NCBtaW5sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBzdGFydDsKKyAgX191NjQgbGVuOworICBfX3U2NCBtaW5sZW47CiB9Owotc3RydWN0IGZpbGVzX3N0YXRfc3RydWN0IHsKLSB1bnNpZ25lZCBsb25nIG5yX2ZpbGVzOwotIHVuc2lnbmVkIGxvbmcgbnJfZnJlZV9maWxlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBtYXhfZmlsZXM7CitzdHJ1Y3QgZmlsZXNfc3RhdF9zdHJ1Y3QgeworICB1bnNpZ25lZCBsb25nIG5yX2ZpbGVzOworICB1bnNpZ25lZCBsb25nIG5yX2ZyZWVfZmlsZXM7CisgIHVuc2lnbmVkIGxvbmcgbWF4X2ZpbGVzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaW5vZGVzX3N0YXRfdCB7Ci0gbG9uZyBucl9pbm9kZXM7CisgIGxvbmcgbnJfaW5vZGVzOworICBsb25nIG5yX3VudXNlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyBucl91bnVzZWQ7Ci0gbG9uZyBkdW1teVs1XTsKKyAgbG9uZyBkdW1teVs1XTsKIH07CiAjZGVmaW5lIE5SX0ZJTEUgODE5MgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNfUkRPTkxZIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TX05PU1VJRCAyCiAjZGVmaW5lIE1TX05PREVWIDQKICNkZWZpbmUgTVNfTk9FWEVDIDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TX1NZTkNIUk9OT1VTIDE2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU19SRU1PVU5UIDMyCiAjZGVmaW5lIE1TX01BTkRMT0NLIDY0CiAjZGVmaW5lIE1TX0RJUlNZTkMgMTI4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU19OT0FUSU1FIDEwMjQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TX05PRElSQVRJTUUgMjA0OAogI2RlZmluZSBNU19CSU5EIDQwOTYKICNkZWZpbmUgTVNfTU9WRSA4MTkyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU19SRUMgMTYzODQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TX1ZFUkJPU0UgMzI3NjgKICNkZWZpbmUgTVNfU0lMRU5UIDMyNzY4Ci0jZGVmaW5lIE1TX1BPU0lYQUNMICgxPDwxNikKKyNkZWZpbmUgTVNfUE9TSVhBQ0wgKDEgPDwgMTYpCisjZGVmaW5lIE1TX1VOQklOREFCTEUgKDEgPDwgMTcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNU19VTkJJTkRBQkxFICgxPDwxNykKLSNkZWZpbmUgTVNfUFJJVkFURSAoMTw8MTgpCi0jZGVmaW5lIE1TX1NMQVZFICgxPDwxOSkKLSNkZWZpbmUgTVNfU0hBUkVEICgxPDwyMCkKKyNkZWZpbmUgTVNfUFJJVkFURSAoMSA8PCAxOCkKKyNkZWZpbmUgTVNfU0xBVkUgKDEgPDwgMTkpCisjZGVmaW5lIE1TX1NIQVJFRCAoMSA8PCAyMCkKKyNkZWZpbmUgTVNfUkVMQVRJTUUgKDEgPDwgMjEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNU19SRUxBVElNRSAoMTw8MjEpCi0jZGVmaW5lIE1TX0tFUk5NT1VOVCAoMTw8MjIpCi0jZGVmaW5lIE1TX0lfVkVSU0lPTiAoMTw8MjMpCi0jZGVmaW5lIE1TX1NUUklDVEFUSU1FICgxPDwyNCkKKyNkZWZpbmUgTVNfS0VSTk1PVU5UICgxIDw8IDIyKQorI2RlZmluZSBNU19JX1ZFUlNJT04gKDEgPDwgMjMpCisjZGVmaW5lIE1TX1NUUklDVEFUSU1FICgxIDw8IDI0KQorI2RlZmluZSBNU19OT1NFQyAoMSA8PCAyOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1TX05PU0VDICgxPDwyOCkKLSNkZWZpbmUgTVNfQk9STiAoMTw8MjkpCi0jZGVmaW5lIE1TX0FDVElWRSAoMTw8MzApCi0jZGVmaW5lIE1TX05PVVNFUiAoMTw8MzEpCisjZGVmaW5lIE1TX0JPUk4gKDEgPDwgMjkpCisjZGVmaW5lIE1TX0FDVElWRSAoMSA8PCAzMCkKKyNkZWZpbmUgTVNfTk9VU0VSICgxIDw8IDMxKQorI2RlZmluZSBNU19STVRfTUFTSyAoTVNfUkRPTkxZIHwgTVNfU1lOQ0hST05PVVMgfCBNU19NQU5ETE9DSyB8IE1TX0lfVkVSU0lPTikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1TX1JNVF9NQVNLIChNU19SRE9OTFl8TVNfU1lOQ0hST05PVVN8TVNfTUFORExPQ0t8TVNfSV9WRVJTSU9OKQogI2RlZmluZSBNU19NR0NfVkFMIDB4QzBFRDAwMDAKICNkZWZpbmUgTVNfTUdDX01TSyAweGZmZmYwMDAwCi0jZGVmaW5lIEJMS1JPU0VUIF9JTygweDEyLDkzKQorI2RlZmluZSBCTEtST1NFVCBfSU8oMHgxMiwgOTMpCisjZGVmaW5lIEJMS1JPR0VUIF9JTygweDEyLCA5NCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS1JPR0VUIF9JTygweDEyLDk0KQotI2RlZmluZSBCTEtSUlBBUlQgX0lPKDB4MTIsOTUpCi0jZGVmaW5lIEJMS0dFVFNJWkUgX0lPKDB4MTIsOTYpCi0jZGVmaW5lIEJMS0ZMU0JVRiBfSU8oMHgxMiw5NykKKyNkZWZpbmUgQkxLUlJQQVJUIF9JTygweDEyLCA5NSkKKyNkZWZpbmUgQkxLR0VUU0laRSBfSU8oMHgxMiwgOTYpCisjZGVmaW5lIEJMS0ZMU0JVRiBfSU8oMHgxMiwgOTcpCisjZGVmaW5lIEJMS1JBU0VUIF9JTygweDEyLCA5OCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS1JBU0VUIF9JTygweDEyLDk4KQotI2RlZmluZSBCTEtSQUdFVCBfSU8oMHgxMiw5OSkKLSNkZWZpbmUgQkxLRlJBU0VUIF9JTygweDEyLDEwMCkKLSNkZWZpbmUgQkxLRlJBR0VUIF9JTygweDEyLDEwMSkKKyNkZWZpbmUgQkxLUkFHRVQgX0lPKDB4MTIsIDk5KQorI2RlZmluZSBCTEtGUkFTRVQgX0lPKDB4MTIsIDEwMCkKKyNkZWZpbmUgQkxLRlJBR0VUIF9JTygweDEyLCAxMDEpCisjZGVmaW5lIEJMS1NFQ1RTRVQgX0lPKDB4MTIsIDEwMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS1NFQ1RTRVQgX0lPKDB4MTIsMTAyKQotI2RlZmluZSBCTEtTRUNUR0VUIF9JTygweDEyLDEwMykKLSNkZWZpbmUgQkxLU1NaR0VUIF9JTygweDEyLDEwNCkKLSNkZWZpbmUgQkxLQlNaR0VUIF9JT1IoMHgxMiwxMTIsc2l6ZV90KQorI2RlZmluZSBCTEtTRUNUR0VUIF9JTygweDEyLCAxMDMpCisjZGVmaW5lIEJMS1NTWkdFVCBfSU8oMHgxMiwgMTA0KQorI2RlZmluZSBCTEtCU1pHRVQgX0lPUigweDEyLCAxMTIsIHNpemVfdCkKKyNkZWZpbmUgQkxLQlNaU0VUIF9JT1coMHgxMiwgMTEzLCBzaXplX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCTEtCU1pTRVQgX0lPVygweDEyLDExMyxzaXplX3QpCi0jZGVmaW5lIEJMS0dFVFNJWkU2NCBfSU9SKDB4MTIsMTE0LHNpemVfdCkKLSNkZWZpbmUgQkxLVFJBQ0VTRVRVUCBfSU9XUigweDEyLDExNSxzdHJ1Y3QgYmxrX3VzZXJfdHJhY2Vfc2V0dXApCi0jZGVmaW5lIEJMS1RSQUNFU1RBUlQgX0lPKDB4MTIsMTE2KQorI2RlZmluZSBCTEtHRVRTSVpFNjQgX0lPUigweDEyLCAxMTQsIHNpemVfdCkKKyNkZWZpbmUgQkxLVFJBQ0VTRVRVUCBfSU9XUigweDEyLCAxMTUsIHN0cnVjdCBibGtfdXNlcl90cmFjZV9zZXR1cCkKKyNkZWZpbmUgQkxLVFJBQ0VTVEFSVCBfSU8oMHgxMiwgMTE2KQorI2RlZmluZSBCTEtUUkFDRVNUT1AgX0lPKDB4MTIsIDExNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS1RSQUNFU1RPUCBfSU8oMHgxMiwxMTcpCi0jZGVmaW5lIEJMS1RSQUNFVEVBUkRPV04gX0lPKDB4MTIsMTE4KQotI2RlZmluZSBCTEtESVNDQVJEIF9JTygweDEyLDExOSkKLSNkZWZpbmUgQkxLSU9NSU4gX0lPKDB4MTIsMTIwKQorI2RlZmluZSBCTEtUUkFDRVRFQVJET1dOIF9JTygweDEyLCAxMTgpCisjZGVmaW5lIEJMS0RJU0NBUkQgX0lPKDB4MTIsIDExOSkKKyNkZWZpbmUgQkxLSU9NSU4gX0lPKDB4MTIsIDEyMCkKKyNkZWZpbmUgQkxLSU9PUFQgX0lPKDB4MTIsIDEyMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJMS0lPT1BUIF9JTygweDEyLDEyMSkKLSNkZWZpbmUgQkxLQUxJR05PRkYgX0lPKDB4MTIsMTIyKQotI2RlZmluZSBCTEtQQlNaR0VUIF9JTygweDEyLDEyMykKLSNkZWZpbmUgQkxLRElTQ0FSRFpFUk9FUyBfSU8oMHgxMiwxMjQpCisjZGVmaW5lIEJMS0FMSUdOT0ZGIF9JTygweDEyLCAxMjIpCisjZGVmaW5lIEJMS1BCU1pHRVQgX0lPKDB4MTIsIDEyMykKKyNkZWZpbmUgQkxLRElTQ0FSRFpFUk9FUyBfSU8oMHgxMiwgMTI0KQorI2RlZmluZSBCTEtTRUNESVNDQVJEIF9JTygweDEyLCAxMjUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBCTEtTRUNESVNDQVJEIF9JTygweDEyLDEyNSkKLSNkZWZpbmUgQkxLUk9UQVRJT05BTCBfSU8oMHgxMiwxMjYpCi0jZGVmaW5lIEJMS1pFUk9PVVQgX0lPKDB4MTIsMTI3KQorI2RlZmluZSBCTEtST1RBVElPTkFMIF9JTygweDEyLCAxMjYpCisjZGVmaW5lIEJMS1pFUk9PVVQgX0lPKDB4MTIsIDEyNykKICNkZWZpbmUgQk1BUF9JT0NUTCAxCisjZGVmaW5lIEZJQk1BUCBfSU8oMHgwMCwgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEZJQk1BUCBfSU8oMHgwMCwxKQotI2RlZmluZSBGSUdFVEJTWiBfSU8oMHgwMCwyKQorI2RlZmluZSBGSUdFVEJTWiBfSU8oMHgwMCwgMikKICNkZWZpbmUgRklGUkVFWkUgX0lPV1IoJ1gnLCAxMTksIGludCkKICNkZWZpbmUgRklUSEFXIF9JT1dSKCdYJywgMTIwLCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGSVRSSU0gX0lPV1IoJ1gnLCAxMjEsIHN0cnVjdCBmc3RyaW1fcmFuZ2UpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19JT0NfR0VURkxBR1MgX0lPUignZicsIDEsIGxvbmcpCiAjZGVmaW5lIEZTX0lPQ19TRVRGTEFHUyBfSU9XKCdmJywgMiwgbG9uZykKICNkZWZpbmUgRlNfSU9DX0dFVFZFUlNJT04gX0lPUigndicsIDEsIGxvbmcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19JT0NfU0VUVkVSU0lPTiBfSU9XKCd2JywgMiwgbG9uZykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0lPQ19GSUVNQVAgX0lPV1IoJ2YnLCAxMSwgc3RydWN0IGZpZW1hcCkKICNkZWZpbmUgRlNfSU9DMzJfR0VURkxBR1MgX0lPUignZicsIDEsIGludCkKICNkZWZpbmUgRlNfSU9DMzJfU0VURkxBR1MgX0lPVygnZicsIDIsIGludCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0lPQzMyX0dFVFZFUlNJT04gX0lPUigndicsIDEsIGludCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0lPQzMyX1NFVFZFUlNJT04gX0lPVygndicsIDIsIGludCkKICNkZWZpbmUgRlNfU0VDUk1fRkwgMHgwMDAwMDAwMQogI2RlZmluZSBGU19VTlJNX0ZMIDB4MDAwMDAwMDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0NPTVBSX0ZMIDB4MDAwMDAwMDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX1NZTkNfRkwgMHgwMDAwMDAwOAogI2RlZmluZSBGU19JTU1VVEFCTEVfRkwgMHgwMDAwMDAxMAogI2RlZmluZSBGU19BUFBFTkRfRkwgMHgwMDAwMDAyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlNfTk9EVU1QX0ZMIDB4MDAwMDAwNDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX05PQVRJTUVfRkwgMHgwMDAwMDA4MAogI2RlZmluZSBGU19ESVJUWV9GTCAweDAwMDAwMTAwCiAjZGVmaW5lIEZTX0NPTVBSQkxLX0ZMIDB4MDAwMDAyMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX05PQ09NUF9GTCAweDAwMDAwNDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19FQ09NUFJfRkwgMHgwMDAwMDgwMAogI2RlZmluZSBGU19CVFJFRV9GTCAweDAwMDAxMDAwCiAjZGVmaW5lIEZTX0lOREVYX0ZMIDB4MDAwMDEwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0lNQUdJQ19GTCAweDAwMDAyMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19KT1VSTkFMX0RBVEFfRkwgMHgwMDAwNDAwMAogI2RlZmluZSBGU19OT1RBSUxfRkwgMHgwMDAwODAwMAogI2RlZmluZSBGU19ESVJTWU5DX0ZMIDB4MDAwMTAwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX1RPUERJUl9GTCAweDAwMDIwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGU19FWFRFTlRfRkwgMHgwMDA4MDAwMAogI2RlZmluZSBGU19ESVJFQ1RJT19GTCAweDAwMTAwMDAwCiAjZGVmaW5lIEZTX05PQ09XX0ZMIDB4MDA4MDAwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX1JFU0VSVkVEX0ZMIDB4ODAwMDAwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTX0ZMX1VTRVJfVklTSUJMRSAweDAwMDNERkZGCiAjZGVmaW5lIEZTX0ZMX1VTRVJfTU9ESUZJQUJMRSAweDAwMDM4MEZGCiAjZGVmaW5lIFNZTkNfRklMRV9SQU5HRV9XQUlUX0JFRk9SRSAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTWU5DX0ZJTEVfUkFOR0VfV1JJVEUgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU1lOQ19GSUxFX1JBTkdFX1dBSVRfQUZURVIgNAogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZzbF9oeXBlcnZpc29yLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ZzbF9oeXBlcnZpc29yLmgKaW5kZXggZDU3NjRkNC4uODQxZjMyYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mc2xfaHlwZXJ2aXNvci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZnNsX2h5cGVydmlzb3IuaApAQCAtMjEsNjUgKzIxLDY1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBmc2xfaHZfaW9jdGxfcmVzdGFydCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJldDsKLSBfX3UzMiBwYXJ0aXRpb247CisgIF9fdTMyIHJldDsKKyAgX191MzIgcGFydGl0aW9uOwogfTsKIHN0cnVjdCBmc2xfaHZfaW9jdGxfc3RhdHVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmV0OwotIF9fdTMyIHBhcnRpdGlvbjsKLSBfX3UzMiBzdGF0dXM7CisgIF9fdTMyIHJldDsKKyAgX191MzIgcGFydGl0aW9uOworICBfX3UzMiBzdGF0dXM7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmc2xfaHZfaW9jdGxfc3RhcnQgewotIF9fdTMyIHJldDsKLSBfX3UzMiBwYXJ0aXRpb247Ci0gX191MzIgZW50cnlfcG9pbnQ7CisgIF9fdTMyIHJldDsKKyAgX191MzIgcGFydGl0aW9uOworICBfX3UzMiBlbnRyeV9wb2ludDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbG9hZDsKKyAgX191MzIgbG9hZDsKIH07CiBzdHJ1Y3QgZnNsX2h2X2lvY3RsX3N0b3AgewotIF9fdTMyIHJldDsKKyAgX191MzIgcmV0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYXJ0aXRpb247CisgIF9fdTMyIHBhcnRpdGlvbjsKIH07CiBzdHJ1Y3QgZnNsX2h2X2lvY3RsX21lbWNweSB7Ci0gX191MzIgcmV0OworICBfX3UzMiByZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNvdXJjZTsKLSBfX3UzMiB0YXJnZXQ7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191NjQgbG9jYWxfdmFkZHI7CisgIF9fdTMyIHNvdXJjZTsKKyAgX191MzIgdGFyZ2V0OworICBfX3UzMiByZXNlcnZlZDsKKyAgX191NjQgbG9jYWxfdmFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlbW90ZV9wYWRkcjsKLSBfX3U2NCBjb3VudDsKKyAgX191NjQgcmVtb3RlX3BhZGRyOworICBfX3U2NCBjb3VudDsKIH07CiBzdHJ1Y3QgZnNsX2h2X2lvY3RsX2Rvb3JiZWxsIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmV0OwotIF9fdTMyIGRvb3JiZWxsOworICBfX3UzMiByZXQ7CisgIF9fdTMyIGRvb3JiZWxsOwogfTsKIHN0cnVjdCBmc2xfaHZfaW9jdGxfcHJvcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJldDsKLSBfX3UzMiBoYW5kbGU7Ci0gX191NjQgcGF0aDsKLSBfX3U2NCBwcm9wbmFtZTsKKyAgX191MzIgcmV0OworICBfX3UzMiBoYW5kbGU7CisgIF9fdTY0IHBhdGg7CisgIF9fdTY0IHByb3BuYW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwcm9wdmFsOwotIF9fdTMyIHByb3BsZW47Ci0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTY0IHByb3B2YWw7CisgIF9fdTMyIHByb3BsZW47CisgIF9fdTMyIHJlc2VydmVkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZTTF9IVl9JT0NUTF9UWVBFIDB4QUYKLSNkZWZpbmUgRlNMX0hWX0lPQ1RMX1BBUlRJVElPTl9SRVNUQVJUICAgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDEsIHN0cnVjdCBmc2xfaHZfaW9jdGxfcmVzdGFydCkKLSNkZWZpbmUgRlNMX0hWX0lPQ1RMX1BBUlRJVElPTl9HRVRfU1RBVFVTICAgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDIsIHN0cnVjdCBmc2xfaHZfaW9jdGxfc3RhdHVzKQotI2RlZmluZSBGU0xfSFZfSU9DVExfUEFSVElUSU9OX1NUQVJUICAgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDMsIHN0cnVjdCBmc2xfaHZfaW9jdGxfc3RhcnQpCisjZGVmaW5lIEZTTF9IVl9JT0NUTF9QQVJUSVRJT05fUkVTVEFSVCBfSU9XUihGU0xfSFZfSU9DVExfVFlQRSwgMSwgc3RydWN0IGZzbF9odl9pb2N0bF9yZXN0YXJ0KQorI2RlZmluZSBGU0xfSFZfSU9DVExfUEFSVElUSU9OX0dFVF9TVEFUVVMgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDIsIHN0cnVjdCBmc2xfaHZfaW9jdGxfc3RhdHVzKQorI2RlZmluZSBGU0xfSFZfSU9DVExfUEFSVElUSU9OX1NUQVJUIF9JT1dSKEZTTF9IVl9JT0NUTF9UWVBFLCAzLCBzdHJ1Y3QgZnNsX2h2X2lvY3RsX3N0YXJ0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRlNMX0hWX0lPQ1RMX1BBUlRJVElPTl9TVE9QICAgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDQsIHN0cnVjdCBmc2xfaHZfaW9jdGxfc3RvcCkKLSNkZWZpbmUgRlNMX0hWX0lPQ1RMX01FTUNQWSAgIF9JT1dSKEZTTF9IVl9JT0NUTF9UWVBFLCA1LCBzdHJ1Y3QgZnNsX2h2X2lvY3RsX21lbWNweSkKLSNkZWZpbmUgRlNMX0hWX0lPQ1RMX0RPT1JCRUxMICAgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDYsIHN0cnVjdCBmc2xfaHZfaW9jdGxfZG9vcmJlbGwpCi0jZGVmaW5lIEZTTF9IVl9JT0NUTF9HRVRQUk9QICAgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDcsIHN0cnVjdCBmc2xfaHZfaW9jdGxfcHJvcCkKKyNkZWZpbmUgRlNMX0hWX0lPQ1RMX1BBUlRJVElPTl9TVE9QIF9JT1dSKEZTTF9IVl9JT0NUTF9UWVBFLCA0LCBzdHJ1Y3QgZnNsX2h2X2lvY3RsX3N0b3ApCisjZGVmaW5lIEZTTF9IVl9JT0NUTF9NRU1DUFkgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDUsIHN0cnVjdCBmc2xfaHZfaW9jdGxfbWVtY3B5KQorI2RlZmluZSBGU0xfSFZfSU9DVExfRE9PUkJFTEwgX0lPV1IoRlNMX0hWX0lPQ1RMX1RZUEUsIDYsIHN0cnVjdCBmc2xfaHZfaW9jdGxfZG9vcmJlbGwpCisjZGVmaW5lIEZTTF9IVl9JT0NUTF9HRVRQUk9QIF9JT1dSKEZTTF9IVl9JT0NUTF9UWVBFLCA3LCBzdHJ1Y3QgZnNsX2h2X2lvY3RsX3Byb3ApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBGU0xfSFZfSU9DVExfU0VUUFJPUCAgIF9JT1dSKEZTTF9IVl9JT0NUTF9UWVBFLCA4LCBzdHJ1Y3QgZnNsX2h2X2lvY3RsX3Byb3ApCisjZGVmaW5lIEZTTF9IVl9JT0NUTF9TRVRQUk9QIF9JT1dSKEZTTF9IVl9JT0NUTF9UWVBFLCA4LCBzdHJ1Y3QgZnNsX2h2X2lvY3RsX3Byb3ApCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZnVzZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mdXNlLmgKaW5kZXggODEzNWQ0Ny4uNGYwZDZkMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mdXNlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mdXNlLmgKQEAgLTIxLDUyICsyMSw1MiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgogI2RlZmluZSBGVVNFX0tFUk5FTF9WRVJTSU9OIDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEZVU0VfS0VSTkVMX01JTk9SX1ZFUlNJT04gMjIKKyNkZWZpbmUgRlVTRV9LRVJORUxfTUlOT1JfVkVSU0lPTiAyMwogI2RlZmluZSBGVVNFX1JPT1RfSUQgMQogc3RydWN0IGZ1c2VfYXR0ciB7Ci0gdWludDY0X3QgaW5vOworICB1aW50NjRfdCBpbm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHNpemU7Ci0gdWludDY0X3QgYmxvY2tzOwotIHVpbnQ2NF90IGF0aW1lOwotIHVpbnQ2NF90IG10aW1lOworICB1aW50NjRfdCBzaXplOworICB1aW50NjRfdCBibG9ja3M7CisgIHVpbnQ2NF90IGF0aW1lOworICB1aW50NjRfdCBtdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgY3RpbWU7Ci0gdWludDMyX3QgYXRpbWVuc2VjOwotIHVpbnQzMl90IG10aW1lbnNlYzsKLSB1aW50MzJfdCBjdGltZW5zZWM7CisgIHVpbnQ2NF90IGN0aW1lOworICB1aW50MzJfdCBhdGltZW5zZWM7CisgIHVpbnQzMl90IG10aW1lbnNlYzsKKyAgdWludDMyX3QgY3RpbWVuc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBtb2RlOwotIHVpbnQzMl90IG5saW5rOwotIHVpbnQzMl90IHVpZDsKLSB1aW50MzJfdCBnaWQ7CisgIHVpbnQzMl90IG1vZGU7CisgIHVpbnQzMl90IG5saW5rOworICB1aW50MzJfdCB1aWQ7CisgIHVpbnQzMl90IGdpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcmRldjsKLSB1aW50MzJfdCBibGtzaXplOwotIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQzMl90IHJkZXY7CisgIHVpbnQzMl90IGJsa3NpemU7CisgIHVpbnQzMl90IHBhZGRpbmc7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX2tzdGF0ZnMgewotIHVpbnQ2NF90IGJsb2NrczsKLSB1aW50NjRfdCBiZnJlZTsKLSB1aW50NjRfdCBiYXZhaWw7CisgIHVpbnQ2NF90IGJsb2NrczsKKyAgdWludDY0X3QgYmZyZWU7CisgIHVpbnQ2NF90IGJhdmFpbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgZmlsZXM7Ci0gdWludDY0X3QgZmZyZWU7Ci0gdWludDMyX3QgYnNpemU7Ci0gdWludDMyX3QgbmFtZWxlbjsKKyAgdWludDY0X3QgZmlsZXM7CisgIHVpbnQ2NF90IGZmcmVlOworICB1aW50MzJfdCBic2l6ZTsKKyAgdWludDMyX3QgbmFtZWxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZnJzaXplOwotIHVpbnQzMl90IHBhZGRpbmc7Ci0gdWludDMyX3Qgc3BhcmVbNl07CisgIHVpbnQzMl90IGZyc2l6ZTsKKyAgdWludDMyX3QgcGFkZGluZzsKKyAgdWludDMyX3Qgc3BhcmVbNl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX2ZpbGVfbG9jayB7Ci0gdWludDY0X3Qgc3RhcnQ7Ci0gdWludDY0X3QgZW5kOwotIHVpbnQzMl90IHR5cGU7CisgIHVpbnQ2NF90IHN0YXJ0OworICB1aW50NjRfdCBlbmQ7CisgIHVpbnQzMl90IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHBpZDsKKyAgdWludDMyX3QgcGlkOwogfTsKICNkZWZpbmUgRkFUVFJfTU9ERSAoMSA8PCAwKQogI2RlZmluZSBGQVRUUl9VSUQgKDEgPDwgMSkKQEAgLTgxLDQ5NCArODEsNTEwIEBACiAjZGVmaW5lIEZBVFRSX01USU1FX05PVyAoMSA8PCA4KQogI2RlZmluZSBGQVRUUl9MT0NLT1dORVIgKDEgPDwgOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZBVFRSX0NUSU1FICgxIDw8IDEwKQogI2RlZmluZSBGT1BFTl9ESVJFQ1RfSU8gKDEgPDwgMCkKICNkZWZpbmUgRk9QRU5fS0VFUF9DQUNIRSAoMSA8PCAxKQogI2RlZmluZSBGT1BFTl9OT05TRUVLQUJMRSAoMSA8PCAyKQotI2RlZmluZSBGVVNFX0FTWU5DX1JFQUQgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZVU0VfQVNZTkNfUkVBRCAoMSA8PCAwKQogI2RlZmluZSBGVVNFX1BPU0lYX0xPQ0tTICgxIDw8IDEpCiAjZGVmaW5lIEZVU0VfRklMRV9PUFMgKDEgPDwgMikKICNkZWZpbmUgRlVTRV9BVE9NSUNfT19UUlVOQyAoMSA8PCAzKQotI2RlZmluZSBGVVNFX0VYUE9SVF9TVVBQT1JUICgxIDw8IDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGVVNFX0VYUE9SVF9TVVBQT1JUICgxIDw8IDQpCiAjZGVmaW5lIEZVU0VfQklHX1dSSVRFUyAoMSA8PCA1KQogI2RlZmluZSBGVVNFX0RPTlRfTUFTSyAoMSA8PCA2KQogI2RlZmluZSBGVVNFX1NQTElDRV9XUklURSAoMSA8PCA3KQotI2RlZmluZSBGVVNFX1NQTElDRV9NT1ZFICgxIDw8IDgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGVVNFX1NQTElDRV9NT1ZFICgxIDw8IDgpCiAjZGVmaW5lIEZVU0VfU1BMSUNFX1JFQUQgKDEgPDwgOSkKICNkZWZpbmUgRlVTRV9GTE9DS19MT0NLUyAoMSA8PCAxMCkKICNkZWZpbmUgRlVTRV9IQVNfSU9DVExfRElSICgxIDw8IDExKQotI2RlZmluZSBGVVNFX0FVVE9fSU5WQUxfREFUQSAoMSA8PCAxMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZVU0VfQVVUT19JTlZBTF9EQVRBICgxIDw8IDEyKQogI2RlZmluZSBGVVNFX0RPX1JFQURESVJQTFVTICgxIDw8IDEzKQogI2RlZmluZSBGVVNFX1JFQURESVJQTFVTX0FVVE8gKDEgPDwgMTQpCiAjZGVmaW5lIEZVU0VfQVNZTkNfRElPICgxIDw8IDE1KQotI2RlZmluZSBDVVNFX1VOUkVTVFJJQ1RFRF9JT0NUTCAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRlVTRV9XUklURUJBQ0tfQ0FDSEUgKDEgPDwgMTYpCisjZGVmaW5lIEZVU0VfTk9fT1BFTl9TVVBQT1JUICgxIDw8IDE3KQorI2RlZmluZSBDVVNFX1VOUkVTVFJJQ1RFRF9JT0NUTCAoMSA8PCAwKQogI2RlZmluZSBGVVNFX1JFTEVBU0VfRkxVU0ggKDEgPDwgMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVU0VfUkVMRUFTRV9GTE9DS19VTkxPQ0sgKDEgPDwgMSkKICNkZWZpbmUgRlVTRV9HRVRBVFRSX0ZIICgxIDw8IDApCiAjZGVmaW5lIEZVU0VfTEtfRkxPQ0sgKDEgPDwgMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVU0VfV1JJVEVfQ0FDSEUgKDEgPDwgMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVU0VfV1JJVEVfTE9DS09XTkVSICgxIDw8IDEpCiAjZGVmaW5lIEZVU0VfUkVBRF9MT0NLT1dORVIgKDEgPDwgMSkKICNkZWZpbmUgRlVTRV9JT0NUTF9DT01QQVQgKDEgPDwgMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVU0VfSU9DVExfVU5SRVNUUklDVEVEICgxIDw8IDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGVVNFX0lPQ1RMX1JFVFJZICgxIDw8IDIpCiAjZGVmaW5lIEZVU0VfSU9DVExfMzJCSVQgKDEgPDwgMykKICNkZWZpbmUgRlVTRV9JT0NUTF9ESVIgKDEgPDwgNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVU0VfSU9DVExfTUFYX0lPViAyNTYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVU0VfUE9MTF9TQ0hFRFVMRV9OT1RJRlkgKDEgPDwgMCkKIGVudW0gZnVzZV9vcGNvZGUgewotIEZVU0VfTE9PS1VQID0gMSwKKyAgRlVTRV9MT09LVVAgPSAxLAorICBGVVNFX0ZPUkdFVCA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZVU0VfRk9SR0VUID0gMiwKLSBGVVNFX0dFVEFUVFIgPSAzLAotIEZVU0VfU0VUQVRUUiA9IDQsCi0gRlVTRV9SRUFETElOSyA9IDUsCisgIEZVU0VfR0VUQVRUUiA9IDMsCisgIEZVU0VfU0VUQVRUUiA9IDQsCisgIEZVU0VfUkVBRExJTksgPSA1LAorICBGVVNFX1NZTUxJTksgPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX1NZTUxJTksgPSA2LAotIEZVU0VfTUtOT0QgPSA4LAotIEZVU0VfTUtESVIgPSA5LAotIEZVU0VfVU5MSU5LID0gMTAsCisgIEZVU0VfTUtOT0QgPSA4LAorICBGVVNFX01LRElSID0gOSwKKyAgRlVTRV9VTkxJTksgPSAxMCwKKyAgRlVTRV9STURJUiA9IDExLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX1JNRElSID0gMTEsCi0gRlVTRV9SRU5BTUUgPSAxMiwKLSBGVVNFX0xJTksgPSAxMywKLSBGVVNFX09QRU4gPSAxNCwKKyAgRlVTRV9SRU5BTUUgPSAxMiwKKyAgRlVTRV9MSU5LID0gMTMsCisgIEZVU0VfT1BFTiA9IDE0LAorICBGVVNFX1JFQUQgPSAxNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlVTRV9SRUFEID0gMTUsCi0gRlVTRV9XUklURSA9IDE2LAotIEZVU0VfU1RBVEZTID0gMTcsCi0gRlVTRV9SRUxFQVNFID0gMTgsCisgIEZVU0VfV1JJVEUgPSAxNiwKKyAgRlVTRV9TVEFURlMgPSAxNywKKyAgRlVTRV9SRUxFQVNFID0gMTgsCisgIEZVU0VfRlNZTkMgPSAyMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlVTRV9GU1lOQyA9IDIwLAotIEZVU0VfU0VUWEFUVFIgPSAyMSwKLSBGVVNFX0dFVFhBVFRSID0gMjIsCi0gRlVTRV9MSVNUWEFUVFIgPSAyMywKKyAgRlVTRV9TRVRYQVRUUiA9IDIxLAorICBGVVNFX0dFVFhBVFRSID0gMjIsCisgIEZVU0VfTElTVFhBVFRSID0gMjMsCisgIEZVU0VfUkVNT1ZFWEFUVFIgPSAyNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlVTRV9SRU1PVkVYQVRUUiA9IDI0LAotIEZVU0VfRkxVU0ggPSAyNSwKLSBGVVNFX0lOSVQgPSAyNiwKLSBGVVNFX09QRU5ESVIgPSAyNywKKyAgRlVTRV9GTFVTSCA9IDI1LAorICBGVVNFX0lOSVQgPSAyNiwKKyAgRlVTRV9PUEVORElSID0gMjcsCisgIEZVU0VfUkVBRERJUiA9IDI4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX1JFQURESVIgPSAyOCwKLSBGVVNFX1JFTEVBU0VESVIgPSAyOSwKLSBGVVNFX0ZTWU5DRElSID0gMzAsCi0gRlVTRV9HRVRMSyA9IDMxLAorICBGVVNFX1JFTEVBU0VESVIgPSAyOSwKKyAgRlVTRV9GU1lOQ0RJUiA9IDMwLAorICBGVVNFX0dFVExLID0gMzEsCisgIEZVU0VfU0VUTEsgPSAzMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlVTRV9TRVRMSyA9IDMyLAotIEZVU0VfU0VUTEtXID0gMzMsCi0gRlVTRV9BQ0NFU1MgPSAzNCwKLSBGVVNFX0NSRUFURSA9IDM1LAorICBGVVNFX1NFVExLVyA9IDMzLAorICBGVVNFX0FDQ0VTUyA9IDM0LAorICBGVVNFX0NSRUFURSA9IDM1LAorICBGVVNFX0lOVEVSUlVQVCA9IDM2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX0lOVEVSUlVQVCA9IDM2LAotIEZVU0VfQk1BUCA9IDM3LAotIEZVU0VfREVTVFJPWSA9IDM4LAotIEZVU0VfSU9DVEwgPSAzOSwKKyAgRlVTRV9CTUFQID0gMzcsCisgIEZVU0VfREVTVFJPWSA9IDM4LAorICBGVVNFX0lPQ1RMID0gMzksCisgIEZVU0VfUE9MTCA9IDQwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX1BPTEwgPSA0MCwKLSBGVVNFX05PVElGWV9SRVBMWSA9IDQxLAotIEZVU0VfQkFUQ0hfRk9SR0VUID0gNDIsCi0gRlVTRV9GQUxMT0NBVEUgPSA0MywKKyAgRlVTRV9OT1RJRllfUkVQTFkgPSA0MSwKKyAgRlVTRV9CQVRDSF9GT1JHRVQgPSA0MiwKKyAgRlVTRV9GQUxMT0NBVEUgPSA0MywKKyAgRlVTRV9SRUFERElSUExVUyA9IDQ0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX1JFQURESVJQTFVTID0gNDQsCi0gQ1VTRV9JTklUID0gNDA5NiwKKyAgRlVTRV9SRU5BTUUyID0gNDUsCisgIENVU0VfSU5JVCA9IDQwOTYsCiB9OwogZW51bSBmdXNlX25vdGlmeV9jb2RlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlVTRV9OT1RJRllfUE9MTCA9IDEsCi0gRlVTRV9OT1RJRllfSU5WQUxfSU5PREUgPSAyLAotIEZVU0VfTk9USUZZX0lOVkFMX0VOVFJZID0gMywKLSBGVVNFX05PVElGWV9TVE9SRSA9IDQsCisgIEZVU0VfTk9USUZZX1BPTEwgPSAxLAorICBGVVNFX05PVElGWV9JTlZBTF9JTk9ERSA9IDIsCisgIEZVU0VfTk9USUZZX0lOVkFMX0VOVFJZID0gMywKKyAgRlVTRV9OT1RJRllfU1RPUkUgPSA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGVVNFX05PVElGWV9SRVRSSUVWRSA9IDUsCi0gRlVTRV9OT1RJRllfREVMRVRFID0gNiwKLSBGVVNFX05PVElGWV9DT0RFX01BWCwKKyAgRlVTRV9OT1RJRllfUkVUUklFVkUgPSA1LAorICBGVVNFX05PVElGWV9ERUxFVEUgPSA2LAorICBGVVNFX05PVElGWV9DT0RFX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGVVNFX01JTl9SRUFEX0JVRkZFUiA4MTkyCiAjZGVmaW5lIEZVU0VfQ09NUEFUX0VOVFJZX09VVF9TSVpFIDEyMAogc3RydWN0IGZ1c2VfZW50cnlfb3V0IHsKLSB1aW50NjRfdCBub2RlaWQ7CisgIHVpbnQ2NF90IG5vZGVpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgZ2VuZXJhdGlvbjsKLSB1aW50NjRfdCBlbnRyeV92YWxpZDsKLSB1aW50NjRfdCBhdHRyX3ZhbGlkOwotIHVpbnQzMl90IGVudHJ5X3ZhbGlkX25zZWM7CisgIHVpbnQ2NF90IGdlbmVyYXRpb247CisgIHVpbnQ2NF90IGVudHJ5X3ZhbGlkOworICB1aW50NjRfdCBhdHRyX3ZhbGlkOworICB1aW50MzJfdCBlbnRyeV92YWxpZF9uc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBhdHRyX3ZhbGlkX25zZWM7Ci0gc3RydWN0IGZ1c2VfYXR0ciBhdHRyOworICB1aW50MzJfdCBhdHRyX3ZhbGlkX25zZWM7CisgIHN0cnVjdCBmdXNlX2F0dHIgYXR0cjsKIH07CiBzdHJ1Y3QgZnVzZV9mb3JnZXRfaW4gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBubG9va3VwOworICB1aW50NjRfdCBubG9va3VwOwogfTsKIHN0cnVjdCBmdXNlX2ZvcmdldF9vbmUgewotIHVpbnQ2NF90IG5vZGVpZDsKKyAgdWludDY0X3Qgbm9kZWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBubG9va3VwOworICB1aW50NjRfdCBubG9va3VwOwogfTsKIHN0cnVjdCBmdXNlX2JhdGNoX2ZvcmdldF9pbiB7Ci0gdWludDMyX3QgY291bnQ7CisgIHVpbnQzMl90IGNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBkdW1teTsKKyAgdWludDMyX3QgZHVtbXk7CiB9Owogc3RydWN0IGZ1c2VfZ2V0YXR0cl9pbiB7Ci0gdWludDMyX3QgZ2V0YXR0cl9mbGFnczsKKyAgdWludDMyX3QgZ2V0YXR0cl9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZHVtbXk7Ci0gdWludDY0X3QgZmg7CisgIHVpbnQzMl90IGR1bW15OworICB1aW50NjRfdCBmaDsKIH07CiAjZGVmaW5lIEZVU0VfQ09NUEFUX0FUVFJfT1VUX1NJWkUgOTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9hdHRyX291dCB7Ci0gdWludDY0X3QgYXR0cl92YWxpZDsKLSB1aW50MzJfdCBhdHRyX3ZhbGlkX25zZWM7Ci0gdWludDMyX3QgZHVtbXk7CisgIHVpbnQ2NF90IGF0dHJfdmFsaWQ7CisgIHVpbnQzMl90IGF0dHJfdmFsaWRfbnNlYzsKKyAgdWludDMyX3QgZHVtbXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmdXNlX2F0dHIgYXR0cjsKKyAgc3RydWN0IGZ1c2VfYXR0ciBhdHRyOwogfTsKICNkZWZpbmUgRlVTRV9DT01QQVRfTUtOT0RfSU5fU0laRSA4CiBzdHJ1Y3QgZnVzZV9ta25vZF9pbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IG1vZGU7Ci0gdWludDMyX3QgcmRldjsKLSB1aW50MzJfdCB1bWFzazsKLSB1aW50MzJfdCBwYWRkaW5nOworICB1aW50MzJfdCBtb2RlOworICB1aW50MzJfdCByZGV2OworICB1aW50MzJfdCB1bWFzazsKKyAgdWludDMyX3QgcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZ1c2VfbWtkaXJfaW4gewotIHVpbnQzMl90IG1vZGU7Ci0gdWludDMyX3QgdW1hc2s7CisgIHVpbnQzMl90IG1vZGU7CisgIHVpbnQzMl90IHVtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZnVzZV9yZW5hbWVfaW4gewotIHVpbnQ2NF90IG5ld2RpcjsKKyAgdWludDY0X3QgbmV3ZGlyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgZnVzZV9yZW5hbWUyX2luIHsKKyAgdWludDY0X3QgbmV3ZGlyOworICB1aW50MzJfdCBmbGFnczsKKyAgdWludDMyX3QgcGFkZGluZzsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9Owogc3RydWN0IGZ1c2VfbGlua19pbiB7Ci0gdWludDY0X3Qgb2xkbm9kZWlkOworICB1aW50NjRfdCBvbGRub2RlaWQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX3NldGF0dHJfaW4geworICB1aW50MzJfdCB2YWxpZDsKKyAgdWludDMyX3QgcGFkZGluZzsKKyAgdWludDY0X3QgZmg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHZhbGlkOwotIHVpbnQzMl90IHBhZGRpbmc7Ci0gdWludDY0X3QgZmg7Ci0gdWludDY0X3Qgc2l6ZTsKKyAgdWludDY0X3Qgc2l6ZTsKKyAgdWludDY0X3QgbG9ja19vd25lcjsKKyAgdWludDY0X3QgYXRpbWU7CisgIHVpbnQ2NF90IG10aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBsb2NrX293bmVyOwotIHVpbnQ2NF90IGF0aW1lOwotIHVpbnQ2NF90IG10aW1lOwotIHVpbnQ2NF90IHVudXNlZDI7CisgIHVpbnQ2NF90IGN0aW1lOworICB1aW50MzJfdCBhdGltZW5zZWM7CisgIHVpbnQzMl90IG10aW1lbnNlYzsKKyAgdWludDMyX3QgY3RpbWVuc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBhdGltZW5zZWM7Ci0gdWludDMyX3QgbXRpbWVuc2VjOwotIHVpbnQzMl90IHVudXNlZDM7Ci0gdWludDMyX3QgbW9kZTsKKyAgdWludDMyX3QgbW9kZTsKKyAgdWludDMyX3QgdW51c2VkNDsKKyAgdWludDMyX3QgdWlkOworICB1aW50MzJfdCBnaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHVudXNlZDQ7Ci0gdWludDMyX3QgdWlkOwotIHVpbnQzMl90IGdpZDsKLSB1aW50MzJfdCB1bnVzZWQ1OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgdW51c2VkNTsKIH07CiBzdHJ1Y3QgZnVzZV9vcGVuX2luIHsKLSB1aW50MzJfdCBmbGFnczsKLSB1aW50MzJfdCB1bnVzZWQ7CisgIHVpbnQzMl90IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgdW51c2VkOwogfTsKIHN0cnVjdCBmdXNlX2NyZWF0ZV9pbiB7Ci0gdWludDMyX3QgZmxhZ3M7Ci0gdWludDMyX3QgbW9kZTsKKyAgdWludDMyX3QgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHVtYXNrOwotIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQzMl90IG1vZGU7CisgIHVpbnQzMl90IHVtYXNrOworICB1aW50MzJfdCBwYWRkaW5nOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9vcGVuX291dCB7CisgIHVpbnQ2NF90IGZoOworICB1aW50MzJfdCBvcGVuX2ZsYWdzOworICB1aW50MzJfdCBwYWRkaW5nOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBmaDsKLSB1aW50MzJfdCBvcGVuX2ZsYWdzOwotIHVpbnQzMl90IHBhZGRpbmc7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX3JlbGVhc2VfaW4gewotIHVpbnQ2NF90IGZoOwotIHVpbnQzMl90IGZsYWdzOwotIHVpbnQzMl90IHJlbGVhc2VfZmxhZ3M7CisgIHVpbnQ2NF90IGZoOworICB1aW50MzJfdCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgbG9ja19vd25lcjsKKyAgdWludDMyX3QgcmVsZWFzZV9mbGFnczsKKyAgdWludDY0X3QgbG9ja19vd25lcjsKIH07CiBzdHJ1Y3QgZnVzZV9mbHVzaF9pbiB7Ci0gdWludDY0X3QgZmg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHVudXNlZDsKLSB1aW50MzJfdCBwYWRkaW5nOwotIHVpbnQ2NF90IGxvY2tfb3duZXI7CisgIHVpbnQ2NF90IGZoOworICB1aW50MzJfdCB1bnVzZWQ7CisgIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQ2NF90IGxvY2tfb3duZXI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9yZWFkX2luIHsKLSB1aW50NjRfdCBmaDsKLSB1aW50NjRfdCBvZmZzZXQ7Ci0gdWludDMyX3Qgc2l6ZTsKKyAgdWludDY0X3QgZmg7CisgIHVpbnQ2NF90IG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcmVhZF9mbGFnczsKLSB1aW50NjRfdCBsb2NrX293bmVyOwotIHVpbnQzMl90IGZsYWdzOwotIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQzMl90IHNpemU7CisgIHVpbnQzMl90IHJlYWRfZmxhZ3M7CisgIHVpbnQ2NF90IGxvY2tfb3duZXI7CisgIHVpbnQzMl90IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgcGFkZGluZzsKIH07CiAjZGVmaW5lIEZVU0VfQ09NUEFUX1dSSVRFX0lOX1NJWkUgMjQKIHN0cnVjdCBmdXNlX3dyaXRlX2luIHsKLSB1aW50NjRfdCBmaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3Qgb2Zmc2V0OwotIHVpbnQzMl90IHNpemU7Ci0gdWludDMyX3Qgd3JpdGVfZmxhZ3M7Ci0gdWludDY0X3QgbG9ja19vd25lcjsKKyAgdWludDY0X3QgZmg7CisgIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3Qgd3JpdGVfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGZsYWdzOwotIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQ2NF90IGxvY2tfb3duZXI7CisgIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBwYWRkaW5nOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV93cml0ZV9vdXQgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBzaXplOwotIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQzMl90IHNpemU7CisgIHVpbnQzMl90IHBhZGRpbmc7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlVTRV9DT01QQVRfU1RBVEZTX1NJWkUgNDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9zdGF0ZnNfb3V0IHsKLSBzdHJ1Y3QgZnVzZV9rc3RhdGZzIHN0OworICBzdHJ1Y3QgZnVzZV9rc3RhdGZzIHN0OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9mc3luY19pbiB7CisgIHVpbnQ2NF90IGZoOworICB1aW50MzJfdCBmc3luY19mbGFnczsKKyAgdWludDMyX3QgcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgZmg7Ci0gdWludDMyX3QgZnN5bmNfZmxhZ3M7Ci0gdWludDMyX3QgcGFkZGluZzsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZ1c2Vfc2V0eGF0dHJfaW4gewotIHVpbnQzMl90IHNpemU7Ci0gdWludDMyX3QgZmxhZ3M7Ci19OworICB1aW50MzJfdCBzaXplOworICB1aW50MzJfdCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9Owogc3RydWN0IGZ1c2VfZ2V0eGF0dHJfaW4gewotIHVpbnQzMl90IHNpemU7Ci0gdWludDMyX3QgcGFkZGluZzsKLX07CisgIHVpbnQzMl90IHNpemU7CisgIHVpbnQzMl90IHBhZGRpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKIHN0cnVjdCBmdXNlX2dldHhhdHRyX291dCB7Ci0gdWludDMyX3Qgc2l6ZTsKLSB1aW50MzJfdCBwYWRkaW5nOwotfTsKKyAgdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3QgcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9Owogc3RydWN0IGZ1c2VfbGtfaW4gewotIHVpbnQ2NF90IGZoOwotIHVpbnQ2NF90IG93bmVyOwotIHN0cnVjdCBmdXNlX2ZpbGVfbG9jayBsazsKKyAgdWludDY0X3QgZmg7CisgIHVpbnQ2NF90IG93bmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBsa19mbGFnczsKLSB1aW50MzJfdCBwYWRkaW5nOworICBzdHJ1Y3QgZnVzZV9maWxlX2xvY2sgbGs7CisgIHVpbnQzMl90IGxrX2ZsYWdzOworICB1aW50MzJfdCBwYWRkaW5nOwogfTsKLXN0cnVjdCBmdXNlX2xrX291dCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmdXNlX2ZpbGVfbG9jayBsazsKK3N0cnVjdCBmdXNlX2xrX291dCB7CisgIHN0cnVjdCBmdXNlX2ZpbGVfbG9jayBsazsKIH07CiBzdHJ1Y3QgZnVzZV9hY2Nlc3NfaW4gewotIHVpbnQzMl90IG1hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHBhZGRpbmc7CisgIHVpbnQzMl90IG1hc2s7CisgIHVpbnQzMl90IHBhZGRpbmc7CiB9Owogc3RydWN0IGZ1c2VfaW5pdF9pbiB7Ci0gdWludDMyX3QgbWFqb3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IG1pbm9yOwotIHVpbnQzMl90IG1heF9yZWFkYWhlYWQ7Ci0gdWludDMyX3QgZmxhZ3M7CisgIHVpbnQzMl90IG1ham9yOworICB1aW50MzJfdCBtaW5vcjsKKyAgdWludDMyX3QgbWF4X3JlYWRhaGVhZDsKKyAgdWludDMyX3QgZmxhZ3M7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZVU0VfQ09NUEFUX0lOSVRfT1VUX1NJWkUgOAorI2RlZmluZSBGVVNFX0NPTVBBVF8yMl9JTklUX09VVF9TSVpFIDI0CiBzdHJ1Y3QgZnVzZV9pbml0X291dCB7Ci0gdWludDMyX3QgbWFqb3I7Ci0gdWludDMyX3QgbWlub3I7Ci0gdWludDMyX3QgbWF4X3JlYWRhaGVhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZmxhZ3M7Ci0gdWludDE2X3QgbWF4X2JhY2tncm91bmQ7Ci0gdWludDE2X3QgY29uZ2VzdGlvbl90aHJlc2hvbGQ7Ci0gdWludDMyX3QgbWF4X3dyaXRlOworICB1aW50MzJfdCBtYWpvcjsKKyAgdWludDMyX3QgbWlub3I7CisgIHVpbnQzMl90IG1heF9yZWFkYWhlYWQ7CisgIHVpbnQzMl90IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDE2X3QgbWF4X2JhY2tncm91bmQ7CisgIHVpbnQxNl90IGNvbmdlc3Rpb25fdGhyZXNob2xkOworICB1aW50MzJfdCBtYXhfd3JpdGU7CisgIHVpbnQzMl90IHRpbWVfZ3JhbjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVpbnQzMl90IHVudXNlZFs5XTsKIH07CiAjZGVmaW5lIENVU0VfSU5JVF9JTkZPX01BWCA0MDk2CiBzdHJ1Y3QgY3VzZV9pbml0X2luIHsKLSB1aW50MzJfdCBtYWpvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgbWlub3I7Ci0gdWludDMyX3QgdW51c2VkOwotIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBtYWpvcjsKKyAgdWludDMyX3QgbWlub3I7CisgIHVpbnQzMl90IHVudXNlZDsKKyAgdWludDMyX3QgZmxhZ3M7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgY3VzZV9pbml0X291dCB7Ci0gdWludDMyX3QgbWFqb3I7Ci0gdWludDMyX3QgbWlub3I7Ci0gdWludDMyX3QgdW51c2VkOworICB1aW50MzJfdCBtYWpvcjsKKyAgdWludDMyX3QgbWlub3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGZsYWdzOwotIHVpbnQzMl90IG1heF9yZWFkOwotIHVpbnQzMl90IG1heF93cml0ZTsKLSB1aW50MzJfdCBkZXZfbWFqb3I7CisgIHVpbnQzMl90IHVudXNlZDsKKyAgdWludDMyX3QgZmxhZ3M7CisgIHVpbnQzMl90IG1heF9yZWFkOworICB1aW50MzJfdCBtYXhfd3JpdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGRldl9taW5vcjsKLSB1aW50MzJfdCBzcGFyZVsxMF07CisgIHVpbnQzMl90IGRldl9tYWpvcjsKKyAgdWludDMyX3QgZGV2X21pbm9yOworICB1aW50MzJfdCBzcGFyZVsxMF07CiB9Owotc3RydWN0IGZ1c2VfaW50ZXJydXB0X2luIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgdW5pcXVlOworc3RydWN0IGZ1c2VfaW50ZXJydXB0X2luIHsKKyAgdWludDY0X3QgdW5pcXVlOwogfTsKIHN0cnVjdCBmdXNlX2JtYXBfaW4gewotIHVpbnQ2NF90IGJsb2NrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBibG9ja3NpemU7Ci0gdWludDMyX3QgcGFkZGluZzsKKyAgdWludDY0X3QgYmxvY2s7CisgIHVpbnQzMl90IGJsb2Nrc2l6ZTsKKyAgdWludDMyX3QgcGFkZGluZzsKIH07Ci1zdHJ1Y3QgZnVzZV9ibWFwX291dCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGJsb2NrOworc3RydWN0IGZ1c2VfYm1hcF9vdXQgeworICB1aW50NjRfdCBibG9jazsKIH07CiBzdHJ1Y3QgZnVzZV9pb2N0bF9pbiB7Ci0gdWludDY0X3QgZmg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGZsYWdzOwotIHVpbnQzMl90IGNtZDsKLSB1aW50NjRfdCBhcmc7Ci0gdWludDMyX3QgaW5fc2l6ZTsKKyAgdWludDY0X3QgZmg7CisgIHVpbnQzMl90IGZsYWdzOworICB1aW50MzJfdCBjbWQ7CisgIHVpbnQ2NF90IGFyZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3Qgb3V0X3NpemU7CisgIHVpbnQzMl90IGluX3NpemU7CisgIHVpbnQzMl90IG91dF9zaXplOwogfTsKIHN0cnVjdCBmdXNlX2lvY3RsX2lvdmVjIHsKLSB1aW50NjRfdCBiYXNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBsZW47CisgIHVpbnQ2NF90IGJhc2U7CisgIHVpbnQ2NF90IGxlbjsKIH07CiBzdHJ1Y3QgZnVzZV9pb2N0bF9vdXQgewotIGludDMyX3QgcmVzdWx0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBmbGFnczsKLSB1aW50MzJfdCBpbl9pb3ZzOwotIHVpbnQzMl90IG91dF9pb3ZzOworICBpbnQzMl90IHJlc3VsdDsKKyAgdWludDMyX3QgZmxhZ3M7CisgIHVpbnQzMl90IGluX2lvdnM7CisgIHVpbnQzMl90IG91dF9pb3ZzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZ1c2VfcG9sbF9pbiB7Ci0gdWludDY0X3QgZmg7Ci0gdWludDY0X3Qga2g7Ci0gdWludDMyX3QgZmxhZ3M7CisgIHVpbnQ2NF90IGZoOworICB1aW50NjRfdCBraDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZXZlbnRzOworICB1aW50MzJfdCBmbGFnczsKKyAgdWludDMyX3QgZXZlbnRzOwogfTsKIHN0cnVjdCBmdXNlX3BvbGxfb3V0IHsKLSB1aW50MzJfdCByZXZlbnRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBwYWRkaW5nOworICB1aW50MzJfdCByZXZlbnRzOworICB1aW50MzJfdCBwYWRkaW5nOwogfTsKIHN0cnVjdCBmdXNlX25vdGlmeV9wb2xsX3dha2V1cF9vdXQgewotIHVpbnQ2NF90IGtoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDY0X3Qga2g7CiB9Owogc3RydWN0IGZ1c2VfZmFsbG9jYXRlX2luIHsKLSB1aW50NjRfdCBmaDsKLSB1aW50NjRfdCBvZmZzZXQ7CisgIHVpbnQ2NF90IGZoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBsZW5ndGg7Ci0gdWludDMyX3QgbW9kZTsKLSB1aW50MzJfdCBwYWRkaW5nOworICB1aW50NjRfdCBvZmZzZXQ7CisgIHVpbnQ2NF90IGxlbmd0aDsKKyAgdWludDMyX3QgbW9kZTsKKyAgdWludDMyX3QgcGFkZGluZzsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX2luX2hlYWRlciB7Ci0gdWludDMyX3QgbGVuOwotIHVpbnQzMl90IG9wY29kZTsKLSB1aW50NjRfdCB1bmlxdWU7CisgIHVpbnQzMl90IGxlbjsKKyAgdWludDMyX3Qgb3Bjb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBub2RlaWQ7Ci0gdWludDMyX3QgdWlkOwotIHVpbnQzMl90IGdpZDsKLSB1aW50MzJfdCBwaWQ7CisgIHVpbnQ2NF90IHVuaXF1ZTsKKyAgdWludDY0X3Qgbm9kZWlkOworICB1aW50MzJfdCB1aWQ7CisgIHVpbnQzMl90IGdpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcGFkZGluZzsKKyAgdWludDMyX3QgcGlkOworICB1aW50MzJfdCBwYWRkaW5nOwogfTsKIHN0cnVjdCBmdXNlX291dF9oZWFkZXIgewotIHVpbnQzMl90IGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50MzJfdCBlcnJvcjsKLSB1aW50NjRfdCB1bmlxdWU7CisgIHVpbnQzMl90IGxlbjsKKyAgaW50MzJfdCBlcnJvcjsKKyAgdWludDY0X3QgdW5pcXVlOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9kaXJlbnQgeworICB1aW50NjRfdCBpbm87CisgIHVpbnQ2NF90IG9mZjsKKyAgdWludDMyX3QgbmFtZWxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgaW5vOwotIHVpbnQ2NF90IG9mZjsKLSB1aW50MzJfdCBuYW1lbGVuOwotIHVpbnQzMl90IHR5cGU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtdOworICB1aW50MzJfdCB0eXBlOworICBjaGFyIG5hbWVbXTsKIH07CiAjZGVmaW5lIEZVU0VfTkFNRV9PRkZTRVQgb2Zmc2V0b2Yoc3RydWN0IGZ1c2VfZGlyZW50LCBuYW1lKQotI2RlZmluZSBGVVNFX0RJUkVOVF9BTElHTih4KSAgICgoKHgpICsgc2l6ZW9mKHVpbnQ2NF90KSAtIDEpICYgfihzaXplb2YodWludDY0X3QpIC0gMSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBGVVNFX0RJUkVOVF9TSVpFKGQpICAgRlVTRV9ESVJFTlRfQUxJR04oRlVTRV9OQU1FX09GRlNFVCArIChkKS0+bmFtZWxlbikKKyNkZWZpbmUgRlVTRV9ESVJFTlRfQUxJR04oeCkgKCgoeCkgKyBzaXplb2YodWludDY0X3QpIC0gMSkgJiB+KHNpemVvZih1aW50NjRfdCkgLSAxKSkKKyNkZWZpbmUgRlVTRV9ESVJFTlRfU0laRShkKSBGVVNFX0RJUkVOVF9BTElHTihGVVNFX05BTUVfT0ZGU0VUICsgKGQpLT5uYW1lbGVuKQogc3RydWN0IGZ1c2VfZGlyZW50cGx1cyB7Ci0gc3RydWN0IGZ1c2VfZW50cnlfb3V0IGVudHJ5X291dDsKLSBzdHJ1Y3QgZnVzZV9kaXJlbnQgZGlyZW50OworICBzdHJ1Y3QgZnVzZV9lbnRyeV9vdXQgZW50cnlfb3V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGZ1c2VfZGlyZW50IGRpcmVudDsKIH07Ci0jZGVmaW5lIEZVU0VfTkFNRV9PRkZTRVRfRElSRU5UUExVUyAgIG9mZnNldG9mKHN0cnVjdCBmdXNlX2RpcmVudHBsdXMsIGRpcmVudC5uYW1lKQotI2RlZmluZSBGVVNFX0RJUkVOVFBMVVNfU0laRShkKSAgIEZVU0VfRElSRU5UX0FMSUdOKEZVU0VfTkFNRV9PRkZTRVRfRElSRU5UUExVUyArIChkKS0+ZGlyZW50Lm5hbWVsZW4pCisjZGVmaW5lIEZVU0VfTkFNRV9PRkZTRVRfRElSRU5UUExVUyBvZmZzZXRvZihzdHJ1Y3QgZnVzZV9kaXJlbnRwbHVzLCBkaXJlbnQubmFtZSkKKyNkZWZpbmUgRlVTRV9ESVJFTlRQTFVTX1NJWkUoZCkgRlVTRV9ESVJFTlRfQUxJR04oRlVTRV9OQU1FX09GRlNFVF9ESVJFTlRQTFVTICsgKGQpLT5kaXJlbnQubmFtZWxlbikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZnVzZV9ub3RpZnlfaW52YWxfaW5vZGVfb3V0IHsKKyAgdWludDY0X3QgaW5vOworICBpbnQ2NF90IG9mZjsKKyAgaW50NjRfdCBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGlubzsKLSBpbnQ2NF90IG9mZjsKLSBpbnQ2NF90IGxlbjsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZ1c2Vfbm90aWZ5X2ludmFsX2VudHJ5X291dCB7Ci0gdWludDY0X3QgcGFyZW50OwotIHVpbnQzMl90IG5hbWVsZW47Ci0gdWludDMyX3QgcGFkZGluZzsKKyAgdWludDY0X3QgcGFyZW50OworICB1aW50MzJfdCBuYW1lbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3QgcGFkZGluZzsKIH07CiBzdHJ1Y3QgZnVzZV9ub3RpZnlfZGVsZXRlX291dCB7Ci0gdWludDY0X3QgcGFyZW50OwotIHVpbnQ2NF90IGNoaWxkOworICB1aW50NjRfdCBwYXJlbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IG5hbWVsZW47Ci0gdWludDMyX3QgcGFkZGluZzsKKyAgdWludDY0X3QgY2hpbGQ7CisgIHVpbnQzMl90IG5hbWVsZW47CisgIHVpbnQzMl90IHBhZGRpbmc7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX25vdGlmeV9zdG9yZV9vdXQgeworICB1aW50NjRfdCBub2RlaWQ7CisgIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDMyX3Qgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3Qgbm9kZWlkOwotIHVpbnQ2NF90IG9mZnNldDsKLSB1aW50MzJfdCBzaXplOwotIHVpbnQzMl90IHBhZGRpbmc7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1aW50MzJfdCBwYWRkaW5nOwogfTsKIHN0cnVjdCBmdXNlX25vdGlmeV9yZXRyaWV2ZV9vdXQgewotIHVpbnQ2NF90IG5vdGlmeV91bmlxdWU7Ci0gdWludDY0X3Qgbm9kZWlkOworICB1aW50NjRfdCBub3RpZnlfdW5pcXVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBvZmZzZXQ7Ci0gdWludDMyX3Qgc2l6ZTsKLSB1aW50MzJfdCBwYWRkaW5nOworICB1aW50NjRfdCBub2RlaWQ7CisgIHVpbnQ2NF90IG9mZnNldDsKKyAgdWludDMyX3Qgc2l6ZTsKKyAgdWludDMyX3QgcGFkZGluZzsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmdXNlX25vdGlmeV9yZXRyaWV2ZV9pbiB7Ci0gdWludDY0X3QgZHVtbXkxOwotIHVpbnQ2NF90IG9mZnNldDsKLSB1aW50MzJfdCBzaXplOworICB1aW50NjRfdCBkdW1teTE7CisgIHVpbnQ2NF90IG9mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZHVtbXkyOwotIHVpbnQ2NF90IGR1bW15MzsKLSB1aW50NjRfdCBkdW1teTQ7CisgIHVpbnQzMl90IHNpemU7CisgIHVpbnQzMl90IGR1bW15MjsKKyAgdWludDY0X3QgZHVtbXkzOworICB1aW50NjRfdCBkdW1teTQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZnV0ZXguaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZnV0ZXguaAppbmRleCAzNzFjMGVhLi5lMDNiM2Y4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2Z1dGV4LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9mdXRleC5oCkBAIC01MywxNyArNTMsMTcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZVVEVYX1dBSVRfQklUU0VUX1BSSVZBVEUgKEZVVEVYX1dBSVRfQklUU0VUIHwgRlVURVhfUFJJVkFURV9GTEFHKQogI2RlZmluZSBGVVRFWF9XQUtFX0JJVFNFVF9QUklWQVRFIChGVVRFWF9XQUtFX0JJVFNFVCB8IEZVVEVYX1BSSVZBVEVfRkxBRykKLSNkZWZpbmUgRlVURVhfV0FJVF9SRVFVRVVFX1BJX1BSSVZBVEUgKEZVVEVYX1dBSVRfUkVRVUVVRV9QSSB8ICAgRlVURVhfUFJJVkFURV9GTEFHKQotI2RlZmluZSBGVVRFWF9DTVBfUkVRVUVVRV9QSV9QUklWQVRFIChGVVRFWF9DTVBfUkVRVUVVRV9QSSB8ICAgRlVURVhfUFJJVkFURV9GTEFHKQorI2RlZmluZSBGVVRFWF9XQUlUX1JFUVVFVUVfUElfUFJJVkFURSAoRlVURVhfV0FJVF9SRVFVRVVFX1BJIHwgRlVURVhfUFJJVkFURV9GTEFHKQorI2RlZmluZSBGVVRFWF9DTVBfUkVRVUVVRV9QSV9QUklWQVRFIChGVVRFWF9DTVBfUkVRVUVVRV9QSSB8IEZVVEVYX1BSSVZBVEVfRkxBRykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgcm9idXN0X2xpc3QgewotIHN0cnVjdCByb2J1c3RfbGlzdCBfX3VzZXIgKm5leHQ7CisgIHN0cnVjdCByb2J1c3RfbGlzdCBfX3VzZXIgKiBuZXh0OwogfTsKIHN0cnVjdCByb2J1c3RfbGlzdF9oZWFkIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHJvYnVzdF9saXN0IGxpc3Q7Ci0gbG9uZyBmdXRleF9vZmZzZXQ7Ci0gc3RydWN0IHJvYnVzdF9saXN0IF9fdXNlciAqbGlzdF9vcF9wZW5kaW5nOworICBzdHJ1Y3Qgcm9idXN0X2xpc3QgbGlzdDsKKyAgbG9uZyBmdXRleF9vZmZzZXQ7CisgIHN0cnVjdCByb2J1c3RfbGlzdCBfX3VzZXIgKiBsaXN0X29wX3BlbmRpbmc7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlVURVhfV0FJVEVSUyAweDgwMDAwMDAwCkBAIC04Nyw1ICs4Nyw1IEBACiAjZGVmaW5lIEZVVEVYX09QX0NNUF9HVCA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGVVRFWF9PUF9DTVBfR0UgNQotI2RlZmluZSBGVVRFWF9PUChvcCwgb3BhcmcsIGNtcCwgY21wYXJnKSAgICgoKG9wICYgMHhmKSA8PCAyOCkgfCAoKGNtcCAmIDB4ZikgPDwgMjQpICAgfCAoKG9wYXJnICYgMHhmZmYpIDw8IDEyKSB8IChjbXBhcmcgJiAweGZmZikpCisjZGVmaW5lIEZVVEVYX09QKG9wLG9wYXJnLGNtcCxjbXBhcmcpICgoKG9wICYgMHhmKSA8PCAyOCkgfCAoKGNtcCAmIDB4ZikgPDwgMjQpIHwgKChvcGFyZyAmIDB4ZmZmKSA8PCAxMikgfCAoY21wYXJnICYgMHhmZmYpKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2dlbl9zdGF0cy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9nZW5fc3RhdHMuaAppbmRleCBlMWNhNzNmLi45ZGM5YjMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2dlbl9zdGF0cy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZ2VuX3N0YXRzLmgKQEAgLTIxLDQ5ICsyMSw0OSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1NUQVRTX1VOU1BFQywKLSBUQ0FfU1RBVFNfQkFTSUMsCi0gVENBX1NUQVRTX1JBVEVfRVNULAotIFRDQV9TVEFUU19RVUVVRSwKKyAgVENBX1NUQVRTX1VOU1BFQywKKyAgVENBX1NUQVRTX0JBU0lDLAorICBUQ0FfU1RBVFNfUkFURV9FU1QsCisgIFRDQV9TVEFUU19RVUVVRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1NUQVRTX0FQUCwKLSBUQ0FfU1RBVFNfUkFURV9FU1Q2NCwKLSBfX1RDQV9TVEFUU19NQVgsCisgIFRDQV9TVEFUU19BUFAsCisgIFRDQV9TVEFUU19SQVRFX0VTVDY0LAorICBfX1RDQV9TVEFUU19NQVgsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX1NUQVRTX01BWCAoX19UQ0FfU1RBVFNfTUFYIC0gMSkKIHN0cnVjdCBnbmV0X3N0YXRzX2Jhc2ljIHsKLSBfX3U2NCBieXRlczsKLSBfX3UzMiBwYWNrZXRzOworICBfX3U2NCBieXRlczsKKyAgX191MzIgcGFja2V0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGduZXRfc3RhdHNfYmFzaWNfcGFja2VkIHsKLSBfX3U2NCBieXRlczsKLSBfX3UzMiBwYWNrZXRzOworICBfX3U2NCBieXRlczsKKyAgX191MzIgcGFja2V0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgZ25ldF9zdGF0c19yYXRlX2VzdCB7Ci0gX191MzIgYnBzOwotIF9fdTMyIHBwczsKKyAgX191MzIgYnBzOworICBfX3UzMiBwcHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBnbmV0X3N0YXRzX3JhdGVfZXN0NjQgewotIF9fdTY0IGJwczsKLSBfX3U2NCBwcHM7CisgIF9fdTY0IGJwczsKKyAgX191NjQgcHBzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZ25ldF9zdGF0c19xdWV1ZSB7Ci0gX191MzIgcWxlbjsKLSBfX3UzMiBiYWNrbG9nOworICBfX3UzMiBxbGVuOworICBfX3UzMiBiYWNrbG9nOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkcm9wczsKLSBfX3UzMiByZXF1ZXVlczsKLSBfX3UzMiBvdmVybGltaXRzOworICBfX3UzMiBkcm9wczsKKyAgX191MzIgcmVxdWV1ZXM7CisgIF9fdTMyIG92ZXJsaW1pdHM7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBnbmV0X2VzdGltYXRvciB7Ci0gc2lnbmVkIGNoYXIgaW50ZXJ2YWw7Ci0gdW5zaWduZWQgY2hhciBld21hX2xvZzsKKyAgc2lnbmVkIGNoYXIgaW50ZXJ2YWw7CisgIHVuc2lnbmVkIGNoYXIgZXdtYV9sb2c7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9nZW5ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZ2VuZXRsaW5rLmgKaW5kZXggYzA2OWVmZC4uNWRhYTRhNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9nZW5ldGxpbmsuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2dlbmV0bGluay5oCkBAIC0yNiw5ICsyNiw5IEBACiAjZGVmaW5lIEdFTkxfTUFYX0lEIDEwMjMKIHN0cnVjdCBnZW5sbXNnaGRyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjbWQ7Ci0gX191OCB2ZXJzaW9uOwotIF9fdTE2IHJlc2VydmVkOworICBfX3U4IGNtZDsKKyAgX191OCB2ZXJzaW9uOworICBfX3UxNiByZXNlcnZlZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRU5MX0hEUkxFTiBOTE1TR19BTElHTihzaXplb2Yoc3RydWN0IGdlbmxtc2doZHIpKQpAQCAtNDMsNTIgKzQzLDUyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRU5MX0lEX1BNQ1JBSUQgKE5MTVNHX01JTl9UWVBFICsgMikKIGVudW0gewotIENUUkxfQ01EX1VOU1BFQywKLSBDVFJMX0NNRF9ORVdGQU1JTFksCisgIENUUkxfQ01EX1VOU1BFQywKKyAgQ1RSTF9DTURfTkVXRkFNSUxZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVFJMX0NNRF9ERUxGQU1JTFksCi0gQ1RSTF9DTURfR0VURkFNSUxZLAotIENUUkxfQ01EX05FV09QUywKLSBDVFJMX0NNRF9ERUxPUFMsCisgIENUUkxfQ01EX0RFTEZBTUlMWSwKKyAgQ1RSTF9DTURfR0VURkFNSUxZLAorICBDVFJMX0NNRF9ORVdPUFMsCisgIENUUkxfQ01EX0RFTE9QUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RSTF9DTURfR0VUT1BTLAotIENUUkxfQ01EX05FV01DQVNUX0dSUCwKLSBDVFJMX0NNRF9ERUxNQ0FTVF9HUlAsCi0gQ1RSTF9DTURfR0VUTUNBU1RfR1JQLAorICBDVFJMX0NNRF9HRVRPUFMsCisgIENUUkxfQ01EX05FV01DQVNUX0dSUCwKKyAgQ1RSTF9DTURfREVMTUNBU1RfR1JQLAorICBDVFJMX0NNRF9HRVRNQ0FTVF9HUlAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQ1RSTF9DTURfTUFYLAorICBfX0NUUkxfQ01EX01BWCwKIH07CiAjZGVmaW5lIENUUkxfQ01EX01BWCAoX19DVFJMX0NNRF9NQVggLSAxKQogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUUkxfQVRUUl9VTlNQRUMsCi0gQ1RSTF9BVFRSX0ZBTUlMWV9JRCwKLSBDVFJMX0FUVFJfRkFNSUxZX05BTUUsCi0gQ1RSTF9BVFRSX1ZFUlNJT04sCisgIENUUkxfQVRUUl9VTlNQRUMsCisgIENUUkxfQVRUUl9GQU1JTFlfSUQsCisgIENUUkxfQVRUUl9GQU1JTFlfTkFNRSwKKyAgQ1RSTF9BVFRSX1ZFUlNJT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUUkxfQVRUUl9IRFJTSVpFLAotIENUUkxfQVRUUl9NQVhBVFRSLAotIENUUkxfQVRUUl9PUFMsCi0gQ1RSTF9BVFRSX01DQVNUX0dST1VQUywKKyAgQ1RSTF9BVFRSX0hEUlNJWkUsCisgIENUUkxfQVRUUl9NQVhBVFRSLAorICBDVFJMX0FUVFJfT1BTLAorICBDVFJMX0FUVFJfTUNBU1RfR1JPVVBTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUUkxfQVRUUl9NQVgsCisgIF9fQ1RSTF9BVFRSX01BWCwKIH07CiAjZGVmaW5lIENUUkxfQVRUUl9NQVggKF9fQ1RSTF9BVFRSX01BWCAtIDEpCiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RSTF9BVFRSX09QX1VOU1BFQywKLSBDVFJMX0FUVFJfT1BfSUQsCi0gQ1RSTF9BVFRSX09QX0ZMQUdTLAotIF9fQ1RSTF9BVFRSX09QX01BWCwKKyAgQ1RSTF9BVFRSX09QX1VOU1BFQywKKyAgQ1RSTF9BVFRSX09QX0lELAorICBDVFJMX0FUVFJfT1BfRkxBR1MsCisgIF9fQ1RSTF9BVFRSX09QX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBDVFJMX0FUVFJfT1BfTUFYIChfX0NUUkxfQVRUUl9PUF9NQVggLSAxKQogZW51bSB7Ci0gQ1RSTF9BVFRSX01DQVNUX0dSUF9VTlNQRUMsCisgIENUUkxfQVRUUl9NQ0FTVF9HUlBfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVFJMX0FUVFJfTUNBU1RfR1JQX05BTUUsCi0gQ1RSTF9BVFRSX01DQVNUX0dSUF9JRCwKLSBfX0NUUkxfQVRUUl9NQ0FTVF9HUlBfTUFYLAorICBDVFJMX0FUVFJfTUNBU1RfR1JQX05BTUUsCisgIENUUkxfQVRUUl9NQ0FTVF9HUlBfSUQsCisgIF9fQ1RSTF9BVFRSX01DQVNUX0dSUF9NQVgsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1RSTF9BVFRSX01DQVNUX0dSUF9NQVggKF9fQ1RSTF9BVFRSX01DQVNUX0dSUF9NQVggLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9nZW53cWUvZ2Vud3FlX2NhcmQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZ2Vud3FlL2dlbndxZV9jYXJkLmgKaW5kZXggYzgzMWNmYy4uYzljMTE4NiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9nZW53cWUvZ2Vud3FlX2NhcmQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2dlbndxZS9nZW53cWVfY2FyZC5oCkBAIC0zOSw3ICszOSw3IEBACiAjZGVmaW5lIElPX0VYVEVOREVEX0RJQUdfU0VMRUNUT1IgMHgwMDAwMDA3MAogI2RlZmluZSBJT19FWFRFTkRFRF9ESUFHX1JFQURfTUJYIDB4MDAwMDAwNzgKICNkZWZpbmUgSU9fRVhURU5ERURfRElBR19NQVAocmluZykgKDB4MDAwMDA1MDAgfCAoKHJpbmcpIDw8IDMpKQotI2RlZmluZSBHRU5XUUVfRVhURU5ERURfRElBR19TRUxFQ1RPUihyaW5nLCB0cmFjZSkgKCgocmluZykgPDwgOCkgfCAodHJhY2UpKQorI2RlZmluZSBHRU5XUUVfRVhURU5ERURfRElBR19TRUxFQ1RPUihyaW5nLHRyYWNlKSAoKChyaW5nKSA8PCA4KSB8ICh0cmFjZSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJT19TTFVfVU5JVENGRyAweDAwMDAwMDAwCiAjZGVmaW5lIElPX1NMVV9VTklUQ0ZHX1RZUEVfTUFTSyAweDAwMDAwMDAwMGZmMDAwMDAKQEAgLTk0LDExICs5NCwxMSBAQAogI2RlZmluZSBJT19TTENfVkZfRlJFRV9SVU5OSU5HX1RJTUVSIDB4MDAwNTAxMDgKICNkZWZpbmUgSU9fUEZfU0xDX1ZJUlRVQUxfUkVHSU9OIDB4MDAwNTAwMDAKICNkZWZpbmUgSU9fUEZfU0xDX1ZJUlRVQUxfV0lORE9XIDB4MDAwNjAwMDAKLSNkZWZpbmUgSU9fUEZfU0xDX0pPQlBFTkQobikgKDB4MDAwNjEwMDAgKyA4KihuKSkKKyNkZWZpbmUgSU9fUEZfU0xDX0pPQlBFTkQobikgKDB4MDAwNjEwMDAgKyA4ICogKG4pKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSU9fU0xDX0pPQlBFTkQobikgSU9fUEZfU0xDX0pPQlBFTkQobikKLSNkZWZpbmUgSU9fU0xVX1NMQ19QQVJTRV9UUkFQKG4pICgweDAwMDExMDAwICsgOCoobikpCi0jZGVmaW5lIElPX1NMVV9TTENfRElTUF9UUkFQKG4pICgweDAwMDExMjAwICsgOCoobikpCisjZGVmaW5lIElPX1NMVV9TTENfUEFSU0VfVFJBUChuKSAoMHgwMDAxMTAwMCArIDggKiAobikpCisjZGVmaW5lIElPX1NMVV9TTENfRElTUF9UUkFQKG4pICgweDAwMDExMjAwICsgOCAqIChuKSkKICNkZWZpbmUgSU9fU0xDX0NGR1JFR19HRklSIDB4MDAwMjAwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdGSVJfRVJSX1RSSUdHRVIgMHgwMDAwZmZmZgpAQCAtMTc3LDggKzE3Nyw4IEBACiAjZGVmaW5lIElPX0FQUF9ERUJVR19SRUdfMTggMHgwMjAxMDA4OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBnZW53cWVfcmVnX2lvIHsKLSBfX3U2NCBudW07Ci0gX191NjQgdmFsNjQ7CisgIF9fdTY0IG51bTsKKyAgX191NjQgdmFsNjQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSU9fSUxMRUdBTF9WQUxVRSAweGZmZmZmZmZmZmZmZmZmZmZ1bGwKQEAgLTIyNCwxMDggKzIyNCwxMTAgQEAKICNkZWZpbmUgU0xDTURfTU9WRV9GTEFTSF9GTEFHX1BBUlRJVElPTiAoMSA8PCA0KQogI2RlZmluZSBTTENNRF9NT1ZFX0ZMQVNIX0ZMQUdfRVJBU0UgKDEgPDwgNSkKIGVudW0gZ2Vud3FlX2NhcmRfc3RhdGUgewotIEdFTldRRV9DQVJEX1VOVVNFRCA9IDAsCisgIEdFTldRRV9DQVJEX1VOVVNFRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEdFTldRRV9DQVJEX1VTRUQgPSAxLAotIEdFTldRRV9DQVJEX0ZBVEFMX0VSUk9SID0gMiwKLSBHRU5XUUVfQ0FSRF9TVEFURV9NQVgsCisgIEdFTldRRV9DQVJEX1VTRUQgPSAxLAorICBHRU5XUUVfQ0FSRF9GQVRBTF9FUlJPUiA9IDIsCisgIEdFTldRRV9DQVJEX1JFTE9BRF9CSVRTVFJFQU0gPSAzLAorICBHRU5XUUVfQ0FSRF9TVEFURV9NQVgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZ2Vud3FlX2JpdHN0cmVhbSB7Ci0gX191NjQgZGF0YV9hZGRyOwotIF9fdTMyIHNpemU7Ci0gX191MzIgY3JjOworICBfX3U2NCBkYXRhX2FkZHI7CisgIF9fdTMyIHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHRhcmdldF9hZGRyOwotIF9fdTMyIHBhcnRpdGlvbjsKLSBfX3UzMiB1aWQ7Ci0gX191NjQgc2x1X2lkOworICBfX3UzMiBjcmM7CisgIF9fdTY0IHRhcmdldF9hZGRyOworICBfX3UzMiBwYXJ0aXRpb247CisgIF9fdTMyIHVpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYXBwX2lkOwotIF9fdTE2IHJldGM7Ci0gX191MTYgYXR0bjsKLSBfX3UzMiBwcm9ncmVzczsKKyAgX191NjQgc2x1X2lkOworICBfX3U2NCBhcHBfaWQ7CisgIF9fdTE2IHJldGM7CisgIF9fdTE2IGF0dG47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBwcm9ncmVzczsKIH07CiAjZGVmaW5lIEREQ0JfTEVOR1RIIDI1NgogI2RlZmluZSBERENCX0FTSVZfTEVOR1RIIDEwNAotI2RlZmluZSBERENCX0FTSVZfTEVOR1RIX0FUUyA5NgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRERDQl9BU0lWX0xFTkdUSF9BVFMgOTYKICNkZWZpbmUgRERDQl9BU1ZfTEVOR1RIIDY0CiAjZGVmaW5lIEREQ0JfRklYVVBTIDEyCiBzdHJ1Y3QgZ2Vud3FlX2RlYnVnX2RhdGEgewotIGNoYXIgZHJpdmVyX3ZlcnNpb25bNjRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzbHVfdW5pdGNmZzsKLSBfX3U2NCBhcHBfdW5pdGNmZzsKLSBfX3U4IGRkY2JfYmVmb3JlW0REQ0JfTEVOR1RIXTsKLSBfX3U4IGRkY2JfcHJldltERENCX0xFTkdUSF07CisgIGNoYXIgZHJpdmVyX3ZlcnNpb25bNjRdOworICBfX3U2NCBzbHVfdW5pdGNmZzsKKyAgX191NjQgYXBwX3VuaXRjZmc7CisgIF9fdTggZGRjYl9iZWZvcmVbRERDQl9MRU5HVEhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRkY2JfZmluaXNoZWRbRERDQl9MRU5HVEhdOworICBfX3U4IGRkY2JfcHJldltERENCX0xFTkdUSF07CisgIF9fdTggZGRjYl9maW5pc2hlZFtERENCX0xFTkdUSF07CiB9OwogI2RlZmluZSBBVFNfVFlQRV9EQVRBIDB4MHVsbAotI2RlZmluZSBBVFNfVFlQRV9GTEFUX1JEIDB4NHVsbAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQVRTX1RZUEVfRkxBVF9SRCAweDR1bGwKICNkZWZpbmUgQVRTX1RZUEVfRkxBVF9SRFdSIDB4NXVsbAogI2RlZmluZSBBVFNfVFlQRV9TR0xfUkQgMHg2dWxsCiAjZGVmaW5lIEFUU19UWVBFX1NHTF9SRFdSIDB4N3VsbAotI2RlZmluZSBBVFNfU0VUX0ZMQUdTKF9zdHJ1Y3QsIF9maWVsZCwgX2ZsYWdzKSAgICgoKF9mbGFncykgJiAweGYpIDw8ICg0NCAtICg0ICogKG9mZnNldG9mKF9zdHJ1Y3QsIF9maWVsZCkgLyA4KSkpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQVRTX0dFVF9GTEFHUyhfYXRzLCBfYnl0ZV9vZmZzKSAgICgoKF9hdHMpID4+ICg0NCAtICg0ICogKChfYnl0ZV9vZmZzKSAvIDgpKSkpICYgMHhmKQorI2RlZmluZSBBVFNfU0VUX0ZMQUdTKF9zdHJ1Y3QsX2ZpZWxkLF9mbGFncykgKCgoX2ZsYWdzKSAmIDB4ZikgPDwgKDQ0IC0gKDQgKiAob2Zmc2V0b2YoX3N0cnVjdCwgX2ZpZWxkKSAvIDgpKSkpCisjZGVmaW5lIEFUU19HRVRfRkxBR1MoX2F0cyxfYnl0ZV9vZmZzKSAoKChfYXRzKSA+PiAoNDQgLSAoNCAqICgoX2J5dGVfb2ZmcykgLyA4KSkpKSAmIDB4ZikKIHN0cnVjdCBnZW53cWVfZGRjYl9jbWQgewotIF9fdTY0IG5leHRfYWRkcjsKLSBfX3U2NCBmbGFnczsKKyAgX191NjQgbmV4dF9hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGFjZnVuYzsKLSBfX3U4IGNtZDsKLSBfX3U4IGFzaXZfbGVuZ3RoOwotIF9fdTggYXN2X2xlbmd0aDsKKyAgX191NjQgZmxhZ3M7CisgIF9fdTggYWNmdW5jOworICBfX3U4IGNtZDsKKyAgX191OCBhc2l2X2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgY21kb3B0czsKLSBfX3UxNiByZXRjOwotIF9fdTE2IGF0dG47Ci0gX191MTYgdmNyYzsKKyAgX191OCBhc3ZfbGVuZ3RoOworICBfX3UxNiBjbWRvcHRzOworICBfX3UxNiByZXRjOworICBfX3UxNiBhdHRuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwcm9ncmVzczsKLSBfX3U2NCBkZXF1ZV90czsKLSBfX3U2NCBjbXBsdF90czsKLSBfX3U2NCBkaXNwX3RzOworICBfX3UxNiB2Y3JjOworICBfX3UzMiBwcm9ncmVzczsKKyAgX191NjQgZGVxdWVfdHM7CisgIF9fdTY0IGNtcGx0X3RzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkZGF0YV9hZGRyOwotIF9fdTggYXN2W0REQ0JfQVNWX0xFTkdUSF07Ci0gdW5pb24gewotIHN0cnVjdCB7CisgIF9fdTY0IGRpc3BfdHM7CisgIF9fdTY0IGRkYXRhX2FkZHI7CisgIF9fdTggYXN2W0REQ0JfQVNWX0xFTkdUSF07CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYXRzOwotIF9fdTggYXNpdltERENCX0FTSVZfTEVOR1RIX0FUU107Ci0gfTsKLSBfX3U4IF9fYXNpdltERENCX0FTSVZfTEVOR1RIXTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgYXRzOworICAgICAgX191OCBhc2l2W0REQ0JfQVNJVl9MRU5HVEhfQVRTXTsKKyAgICB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OworICAgIF9fdTggX19hc2l2W0REQ0JfQVNJVl9MRU5HVEhdOworICB9OwogfTsKICNkZWZpbmUgR0VOV1FFX0lPQ19DT0RFIDB4YTUKLSNkZWZpbmUgR0VOV1FFX1JFQURfUkVHNjQgX0lPUihHRU5XUUVfSU9DX0NPREUsIDMwLCBzdHJ1Y3QgZ2Vud3FlX3JlZ19pbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEdFTldRRV9SRUFEX1JFRzY0IF9JT1IoR0VOV1FFX0lPQ19DT0RFLCAzMCwgc3RydWN0IGdlbndxZV9yZWdfaW8pCiAjZGVmaW5lIEdFTldRRV9XUklURV9SRUc2NCBfSU9XKEdFTldRRV9JT0NfQ09ERSwgMzEsIHN0cnVjdCBnZW53cWVfcmVnX2lvKQogI2RlZmluZSBHRU5XUUVfUkVBRF9SRUczMiBfSU9SKEdFTldRRV9JT0NfQ09ERSwgMzIsIHN0cnVjdCBnZW53cWVfcmVnX2lvKQogI2RlZmluZSBHRU5XUUVfV1JJVEVfUkVHMzIgX0lPVyhHRU5XUUVfSU9DX0NPREUsIDMzLCBzdHJ1Y3QgZ2Vud3FlX3JlZ19pbykKLSNkZWZpbmUgR0VOV1FFX1JFQURfUkVHMTYgX0lPUihHRU5XUUVfSU9DX0NPREUsIDM0LCBzdHJ1Y3QgZ2Vud3FlX3JlZ19pbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEdFTldRRV9SRUFEX1JFRzE2IF9JT1IoR0VOV1FFX0lPQ19DT0RFLCAzNCwgc3RydWN0IGdlbndxZV9yZWdfaW8pCiAjZGVmaW5lIEdFTldRRV9XUklURV9SRUcxNiBfSU9XKEdFTldRRV9JT0NfQ09ERSwgMzUsIHN0cnVjdCBnZW53cWVfcmVnX2lvKQogI2RlZmluZSBHRU5XUUVfR0VUX0NBUkRfU1RBVEUgX0lPUihHRU5XUUVfSU9DX0NPREUsIDM2LCBlbnVtIGdlbndxZV9jYXJkX3N0YXRlKQogc3RydWN0IGdlbndxZV9tZW0gewotIF9fdTY0IGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNpemU7Ci0gX191NjQgZGlyZWN0aW9uOwotIF9fdTY0IGZsYWdzOworICBfX3U2NCBhZGRyOworICBfX3U2NCBzaXplOworICBfX3U2NCBkaXJlY3Rpb247CisgIF9fdTY0IGZsYWdzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRU5XUUVfUElOX01FTSBfSU9XUihHRU5XUUVfSU9DX0NPREUsIDQwLCBzdHJ1Y3QgZ2Vud3FlX21lbSkKICNkZWZpbmUgR0VOV1FFX1VOUElOX01FTSBfSU9XUihHRU5XUUVfSU9DX0NPREUsIDQxLCBzdHJ1Y3QgZ2Vud3FlX21lbSkKLSNkZWZpbmUgR0VOV1FFX0VYRUNVVEVfRERDQiAgIF9JT1dSKEdFTldRRV9JT0NfQ09ERSwgNTAsIHN0cnVjdCBnZW53cWVfZGRjYl9jbWQpCi0jZGVmaW5lIEdFTldRRV9FWEVDVVRFX1JBV19ERENCICAgX0lPV1IoR0VOV1FFX0lPQ19DT0RFLCA1MSwgc3RydWN0IGdlbndxZV9kZGNiX2NtZCkKKyNkZWZpbmUgR0VOV1FFX0VYRUNVVEVfRERDQiBfSU9XUihHRU5XUUVfSU9DX0NPREUsIDUwLCBzdHJ1Y3QgZ2Vud3FlX2RkY2JfY21kKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgR0VOV1FFX0VYRUNVVEVfUkFXX0REQ0IgX0lPV1IoR0VOV1FFX0lPQ19DT0RFLCA1MSwgc3RydWN0IGdlbndxZV9kZGNiX2NtZCkKICNkZWZpbmUgR0VOV1FFX1NMVV9VUERBVEUgX0lPV1IoR0VOV1FFX0lPQ19DT0RFLCA4MCwgc3RydWN0IGdlbndxZV9iaXRzdHJlYW0pCiAjZGVmaW5lIEdFTldRRV9TTFVfUkVBRCBfSU9XUihHRU5XUUVfSU9DX0NPREUsIDgxLCBzdHJ1Y3QgZ2Vud3FlX2JpdHN0cmVhbSkKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvZ2ZzMl9vbmRpc2suaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvZ2ZzMl9vbmRpc2suaAppbmRleCBhMzEwNmJhLi5mY2I1OTkzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2dmczJfb25kaXNrLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9nZnMyX29uZGlzay5oCkBAIC0yNiw3ICsyNiw3IEBACiAjZGVmaW5lIEdGUzJfTU9VTlRfTE9DSyAwCiAjZGVmaW5lIEdGUzJfTElWRV9MT0NLIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEdGUzJfVFJBTlNfTE9DSyAyCisjZGVmaW5lIEdGUzJfRlJFRVpFX0xPQ0sgMgogI2RlZmluZSBHRlMyX1JFTkFNRV9MT0NLIDMKICNkZWZpbmUgR0ZTMl9DT05UUk9MX0xPQ0sgNAogI2RlZmluZSBHRlMyX01PVU5URURfTE9DSyA1CkBAIC01Niw4ICs1Niw4IEBACiAjZGVmaW5lIEdGUzJfRk9STUFUX01VTFRJIDE5MDAKIHN0cnVjdCBnZnMyX2ludW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlNjQgbm9fZm9ybWFsX2lubzsKLSBfX2JlNjQgbm9fYWRkcjsKKyAgX19iZTY0IG5vX2Zvcm1hbF9pbm87CisgIF9fYmU2NCBub19hZGRyOwogfTsKICNkZWZpbmUgR0ZTMl9NRVRBVFlQRV9OT05FIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC03OCw1MyArNzgsNTMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdGUzJfTUVUQVRZUEVfUUMgMTQKIHN0cnVjdCBnZnMyX21ldGFfaGVhZGVyIHsKLSBfX2JlMzIgbWhfbWFnaWM7Ci0gX19iZTMyIG1oX3R5cGU7CisgIF9fYmUzMiBtaF9tYWdpYzsKKyAgX19iZTMyIG1oX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCBfX3BhZDA7Ci0gX19iZTMyIG1oX2Zvcm1hdDsKLSB1bmlvbiB7Ci0gX19iZTMyIG1oX2ppZDsKKyAgX19iZTY0IF9fcGFkMDsKKyAgX19iZTMyIG1oX2Zvcm1hdDsKKyAgdW5pb24geworICAgIF9fYmUzMiBtaF9qaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBfX3BhZDE7Ci0gfTsKKyAgICBfX2JlMzIgX19wYWQxOworICB9OwogfTsKICNkZWZpbmUgR0ZTMl9TQl9BRERSIDEyOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR0ZTMl9TQl9MT0NLIDAKICNkZWZpbmUgR0ZTMl9MT0NLTkFNRV9MRU4gNjQKIHN0cnVjdCBnZnMyX3NiIHsKLSBzdHJ1Y3QgZ2ZzMl9tZXRhX2hlYWRlciBzYl9oZWFkZXI7CisgIHN0cnVjdCBnZnMyX21ldGFfaGVhZGVyIHNiX2hlYWRlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHNiX2ZzX2Zvcm1hdDsKLSBfX2JlMzIgc2JfbXVsdGlob3N0X2Zvcm1hdDsKLSBfX3UzMiBfX3BhZDA7Ci0gX19iZTMyIHNiX2JzaXplOworICBfX2JlMzIgc2JfZnNfZm9ybWF0OworICBfX2JlMzIgc2JfbXVsdGlob3N0X2Zvcm1hdDsKKyAgX191MzIgX19wYWQwOworICBfX2JlMzIgc2JfYnNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBzYl9ic2l6ZV9zaGlmdDsKLSBfX3UzMiBfX3BhZDE7Ci0gc3RydWN0IGdmczJfaW51bSBzYl9tYXN0ZXJfZGlyOwotIHN0cnVjdCBnZnMyX2ludW0gX19wYWQyOworICBfX2JlMzIgc2JfYnNpemVfc2hpZnQ7CisgIF9fdTMyIF9fcGFkMTsKKyAgc3RydWN0IGdmczJfaW51bSBzYl9tYXN0ZXJfZGlyOworICBzdHJ1Y3QgZ2ZzMl9pbnVtIF9fcGFkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGdmczJfaW51bSBzYl9yb290X2RpcjsKLSBjaGFyIHNiX2xvY2twcm90b1tHRlMyX0xPQ0tOQU1FX0xFTl07Ci0gY2hhciBzYl9sb2NrdGFibGVbR0ZTMl9MT0NLTkFNRV9MRU5dOwotIHN0cnVjdCBnZnMyX2ludW0gX19wYWQzOworICBzdHJ1Y3QgZ2ZzMl9pbnVtIHNiX3Jvb3RfZGlyOworICBjaGFyIHNiX2xvY2twcm90b1tHRlMyX0xPQ0tOQU1FX0xFTl07CisgIGNoYXIgc2JfbG9ja3RhYmxlW0dGUzJfTE9DS05BTUVfTEVOXTsKKyAgc3RydWN0IGdmczJfaW51bSBfX3BhZDM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBnZnMyX2ludW0gX19wYWQ0OworICBzdHJ1Y3QgZ2ZzMl9pbnVtIF9fcGFkNDsKICNkZWZpbmUgR0ZTMl9IQVNfVVVJRCAxCi0gX191OCBzYl91dWlkWzE2XTsKKyAgX191OCBzYl91dWlkWzE2XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGdmczJfcmluZGV4IHsKLSBfX2JlNjQgcmlfYWRkcjsKLSBfX2JlMzIgcmlfbGVuZ3RoOwotIF9fdTMyIF9fcGFkOworICBfX2JlNjQgcmlfYWRkcjsKKyAgX19iZTMyIHJpX2xlbmd0aDsKKyAgX191MzIgX19wYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCByaV9kYXRhMDsKLSBfX2JlMzIgcmlfZGF0YTsKLSBfX2JlMzIgcmlfYml0Ynl0ZXM7Ci0gX191OCByaV9yZXNlcnZlZFs2NF07CisgIF9fYmU2NCByaV9kYXRhMDsKKyAgX19iZTMyIHJpX2RhdGE7CisgIF9fYmUzMiByaV9iaXRieXRlczsKKyAgX191OCByaV9yZXNlcnZlZFs2NF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgR0ZTMl9OQkJZIDQKQEAgLTE0MywzMyArMTQzLDMzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX1JHRl9UUklNTUVEIDB4MDAwMDAwMTAKIHN0cnVjdCBnZnMyX3JncnBfbHZiIHsKLSBfX2JlMzIgcmxfbWFnaWM7Ci0gX19iZTMyIHJsX2ZsYWdzOworICBfX2JlMzIgcmxfbWFnaWM7CisgIF9fYmUzMiBybF9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHJsX2ZyZWU7Ci0gX19iZTMyIHJsX2Rpbm9kZXM7Ci0gX19iZTY0IHJsX2lnZW5lcmF0aW9uOwotIF9fYmUzMiBybF91bmxpbmtlZDsKKyAgX19iZTMyIHJsX2ZyZWU7CisgIF9fYmUzMiBybF9kaW5vZGVzOworICBfX2JlNjQgcmxfaWdlbmVyYXRpb247CisgIF9fYmUzMiBybF91bmxpbmtlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIF9fcGFkOworICBfX2JlMzIgX19wYWQ7CiB9Owogc3RydWN0IGdmczJfcmdycCB7Ci0gc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgcmdfaGVhZGVyOworICBzdHJ1Y3QgZ2ZzMl9tZXRhX2hlYWRlciByZ19oZWFkZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiByZ19mbGFnczsKLSBfX2JlMzIgcmdfZnJlZTsKLSBfX2JlMzIgcmdfZGlub2RlczsKLSBfX2JlMzIgX19wYWQ7CisgIF9fYmUzMiByZ19mbGFnczsKKyAgX19iZTMyIHJnX2ZyZWU7CisgIF9fYmUzMiByZ19kaW5vZGVzOworICBfX2JlMzIgX19wYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCByZ19pZ2VuZXJhdGlvbjsKLSBfX3U4IHJnX3Jlc2VydmVkWzgwXTsKKyAgX19iZTY0IHJnX2lnZW5lcmF0aW9uOworICBfX3U4IHJnX3Jlc2VydmVkWzgwXTsKIH07CiBzdHJ1Y3QgZ2ZzMl9xdW90YSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCBxdV9saW1pdDsKLSBfX2JlNjQgcXVfd2FybjsKLSBfX2JlNjQgcXVfdmFsdWU7Ci0gX191OCBxdV9yZXNlcnZlZFs2NF07CisgIF9fYmU2NCBxdV9saW1pdDsKKyAgX19iZTY0IHF1X3dhcm47CisgIF9fYmU2NCBxdV92YWx1ZTsKKyAgX191OCBxdV9yZXNlcnZlZFs2NF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgR0ZTMl9NQVhfTUVUQV9IRUlHSFQgMTAKQEAgLTE3OCwyMyArMTc4LDIzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRjJEVChzaWYpICgoKHNpZikgJiBTX0lGTVQpID4+IDEyKQogZW51bSB7Ci0gZ2ZzMmZsX0pkYXRhID0gMCwKLSBnZnMyZmxfRXhIYXNoID0gMSwKKyAgZ2ZzMmZsX0pkYXRhID0gMCwKKyAgZ2ZzMmZsX0V4SGFzaCA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGdmczJmbF9VbnVzZWQgPSAyLAotIGdmczJmbF9FYUluZGlyZWN0ID0gMywKLSBnZnMyZmxfRGlyZWN0aW8gPSA0LAotIGdmczJmbF9JbW11dGFibGUgPSA1LAorICBnZnMyZmxfVW51c2VkID0gMiwKKyAgZ2ZzMmZsX0VhSW5kaXJlY3QgPSAzLAorICBnZnMyZmxfRGlyZWN0aW8gPSA0LAorICBnZnMyZmxfSW1tdXRhYmxlID0gNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZ2ZzMmZsX0FwcGVuZE9ubHkgPSA2LAotIGdmczJmbF9Ob0F0aW1lID0gNywKLSBnZnMyZmxfU3luYyA9IDgsCi0gZ2ZzMmZsX1N5c3RlbSA9IDksCisgIGdmczJmbF9BcHBlbmRPbmx5ID0gNiwKKyAgZ2ZzMmZsX05vQXRpbWUgPSA3LAorICBnZnMyZmxfU3luYyA9IDgsCisgIGdmczJmbF9TeXN0ZW0gPSA5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBnZnMyZmxfVG9wTGV2ZWwgPSAxMCwKLSBnZnMyZmxfVHJ1bmNJblByb2cgPSAyOSwKLSBnZnMyZmxfSW5oZXJpdERpcmVjdGlvID0gMzAsCi0gZ2ZzMmZsX0luaGVyaXRKZGF0YSA9IDMxLAorICBnZnMyZmxfVG9wTGV2ZWwgPSAxMCwKKyAgZ2ZzMmZsX1RydW5jSW5Qcm9nID0gMjksCisgIGdmczJmbF9Jbmhlcml0RGlyZWN0aW8gPSAzMCwKKyAgZ2ZzMmZsX0luaGVyaXRKZGF0YSA9IDMxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEdGUzJfRElGX0pEQVRBIDB4MDAwMDAwMDEKQEAgLTIxNiwxNTMgKzIxNiwxNjAgQEAKICNkZWZpbmUgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSAweDgwMDAwMDAwCiBzdHJ1Y3QgZ2ZzMl9kaW5vZGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZ2ZzMl9tZXRhX2hlYWRlciBkaV9oZWFkZXI7Ci0gc3RydWN0IGdmczJfaW51bSBkaV9udW07Ci0gX19iZTMyIGRpX21vZGU7Ci0gX19iZTMyIGRpX3VpZDsKKyAgc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgZGlfaGVhZGVyOworICBzdHJ1Y3QgZ2ZzMl9pbnVtIGRpX251bTsKKyAgX19iZTMyIGRpX21vZGU7CisgIF9fYmUzMiBkaV91aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBkaV9naWQ7Ci0gX19iZTMyIGRpX25saW5rOwotIF9fYmU2NCBkaV9zaXplOwotIF9fYmU2NCBkaV9ibG9ja3M7CisgIF9fYmUzMiBkaV9naWQ7CisgIF9fYmUzMiBkaV9ubGluazsKKyAgX19iZTY0IGRpX3NpemU7CisgIF9fYmU2NCBkaV9ibG9ja3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCBkaV9hdGltZTsKLSBfX2JlNjQgZGlfbXRpbWU7Ci0gX19iZTY0IGRpX2N0aW1lOwotIF9fYmUzMiBkaV9tYWpvcjsKKyAgX19iZTY0IGRpX2F0aW1lOworICBfX2JlNjQgZGlfbXRpbWU7CisgIF9fYmU2NCBkaV9jdGltZTsKKyAgX19iZTMyIGRpX21ham9yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZGlfbWlub3I7Ci0gX19iZTY0IGRpX2dvYWxfbWV0YTsKLSBfX2JlNjQgZGlfZ29hbF9kYXRhOwotIF9fYmU2NCBkaV9nZW5lcmF0aW9uOworICBfX2JlMzIgZGlfbWlub3I7CisgIF9fYmU2NCBkaV9nb2FsX21ldGE7CisgIF9fYmU2NCBkaV9nb2FsX2RhdGE7CisgIF9fYmU2NCBkaV9nZW5lcmF0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZGlfZmxhZ3M7Ci0gX19iZTMyIGRpX3BheWxvYWRfZm9ybWF0OwotIF9fdTE2IF9fcGFkMTsKLSBfX2JlMTYgZGlfaGVpZ2h0OworICBfX2JlMzIgZGlfZmxhZ3M7CisgIF9fYmUzMiBkaV9wYXlsb2FkX2Zvcm1hdDsKKyAgX191MTYgX19wYWQxOworICBfX2JlMTYgZGlfaGVpZ2h0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBfX3BhZDI7Ci0gX191MTYgX19wYWQzOwotIF9fYmUxNiBkaV9kZXB0aDsKLSBfX2JlMzIgZGlfZW50cmllczsKKyAgX191MzIgX19wYWQyOworICBfX3UxNiBfX3BhZDM7CisgIF9fYmUxNiBkaV9kZXB0aDsKKyAgX19iZTMyIGRpX2VudHJpZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBnZnMyX2ludW0gX19wYWQ0OwotIF9fYmU2NCBkaV9lYXR0cjsKLSBfX2JlMzIgZGlfYXRpbWVfbnNlYzsKLSBfX2JlMzIgZGlfbXRpbWVfbnNlYzsKKyAgc3RydWN0IGdmczJfaW51bSBfX3BhZDQ7CisgIF9fYmU2NCBkaV9lYXR0cjsKKyAgX19iZTMyIGRpX2F0aW1lX25zZWM7CisgIF9fYmUzMiBkaV9tdGltZV9uc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZGlfY3RpbWVfbnNlYzsKLSBfX3U4IGRpX3Jlc2VydmVkWzQ0XTsKKyAgX19iZTMyIGRpX2N0aW1lX25zZWM7CisgIF9fdTggZGlfcmVzZXJ2ZWRbNDRdOwogfTsKICNkZWZpbmUgR0ZTMl9GTkFNRVNJWkUgMjU1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX0RJUkVOVF9TSVpFKG5hbWVfbGVuKSAoKHNpemVvZihzdHJ1Y3QgZ2ZzMl9kaXJlbnQpICsgKG5hbWVfbGVuKSArIDcpICYgfjcpCiBzdHJ1Y3QgZ2ZzMl9kaXJlbnQgewotIHN0cnVjdCBnZnMyX2ludW0gZGVfaW51bTsKLSBfX2JlMzIgZGVfaGFzaDsKKyAgc3RydWN0IGdmczJfaW51bSBkZV9pbnVtOworICBfX2JlMzIgZGVfaGFzaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IGRlX3JlY19sZW47Ci0gX19iZTE2IGRlX25hbWVfbGVuOwotIF9fYmUxNiBkZV90eXBlOwotIF9fdTggX19wYWRbMTRdOworICBfX2JlMTYgZGVfcmVjX2xlbjsKKyAgX19iZTE2IGRlX25hbWVfbGVuOworICBfX2JlMTYgZGVfdHlwZTsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBfX3U4IF9fcGFkWzE0XTsKKyAgICBzdHJ1Y3QgeworICAgICAgX19iZTE2IGRlX3JhaGVhZDsKKyAgICAgIF9fdTggcGFkMlsxMl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICAgIH07CisgIH07CiB9Owogc3RydWN0IGdmczJfbGVhZiB7Ci0gc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgbGZfaGVhZGVyOwotIF9fYmUxNiBsZl9kZXB0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IGxmX2VudHJpZXM7Ci0gX19iZTMyIGxmX2RpcmVudF9mb3JtYXQ7Ci0gX19iZTY0IGxmX25leHQ7Ci0gdW5pb24geworICBzdHJ1Y3QgZ2ZzMl9tZXRhX2hlYWRlciBsZl9oZWFkZXI7CisgIF9fYmUxNiBsZl9kZXB0aDsKKyAgX19iZTE2IGxmX2VudHJpZXM7CisgIF9fYmUzMiBsZl9kaXJlbnRfZm9ybWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGxmX3Jlc2VydmVkWzY0XTsKLSBzdHJ1Y3QgewotIF9fYmU2NCBsZl9pbm9kZTsKLSBfX2JlMzIgbGZfZGlzdDsKKyAgX19iZTY0IGxmX25leHQ7CisgIHVuaW9uIHsKKyAgICBfX3U4IGxmX3Jlc2VydmVkWzY0XTsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgbGZfbnNlYzsKLSBfX2JlNjQgbGZfc2VjOwotIF9fdTggbGZfcmVzZXJ2ZWQyWzQwXTsKLSB9OworICAgICAgX19iZTY0IGxmX2lub2RlOworICAgICAgX19iZTMyIGxmX2Rpc3Q7CisgICAgICBfX2JlMzIgbGZfbnNlYzsKKyAgICAgIF9fYmU2NCBsZl9zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07CisgICAgICBfX3U4IGxmX3Jlc2VydmVkMls0MF07CisgICAgfTsKKyAgfTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX0VBX01BWF9OQU1FX0xFTiAyNTUKICNkZWZpbmUgR0ZTMl9FQV9NQVhfREFUQV9MRU4gNjU1MzYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdGUzJfRUFUWVBFX1VOVVNFRCAwCiAjZGVmaW5lIEdGUzJfRUFUWVBFX1VTUiAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX0VBVFlQRV9TWVMgMgogI2RlZmluZSBHRlMyX0VBVFlQRV9TRUNVUklUWSAzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX0VBVFlQRV9MQVNUIDMKICNkZWZpbmUgR0ZTMl9FQVRZUEVfVkFMSUQoeCkgKCh4KSA8PSBHRlMyX0VBVFlQRV9MQVNUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgR0ZTMl9FQUZMQUdfTEFTVCAweDAxCiBzdHJ1Y3QgZ2ZzMl9lYV9oZWFkZXIgeworICBfX2JlMzIgZWFfcmVjX2xlbjsKKyAgX19iZTMyIGVhX2RhdGFfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZWFfcmVjX2xlbjsKLSBfX2JlMzIgZWFfZGF0YV9sZW47Ci0gX191OCBlYV9uYW1lX2xlbjsKLSBfX3U4IGVhX3R5cGU7CisgIF9fdTggZWFfbmFtZV9sZW47CisgIF9fdTggZWFfdHlwZTsKKyAgX191OCBlYV9mbGFnczsKKyAgX191OCBlYV9udW1fcHRyczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBlYV9mbGFnczsKLSBfX3U4IGVhX251bV9wdHJzOwotIF9fdTMyIF9fcGFkOworICBfX3UzMiBfX3BhZDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX0xPR19IRUFEX1VOTU9VTlQgMHgwMDAwMDAwMQogc3RydWN0IGdmczJfbG9nX2hlYWRlciB7Ci0gc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgbGhfaGVhZGVyOwotIF9fYmU2NCBsaF9zZXF1ZW5jZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGxoX2ZsYWdzOwotIF9fYmUzMiBsaF90YWlsOwotIF9fYmUzMiBsaF9ibGtubzsKLSBfX2JlMzIgbGhfaGFzaDsKKyAgc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgbGhfaGVhZGVyOworICBfX2JlNjQgbGhfc2VxdWVuY2U7CisgIF9fYmUzMiBsaF9mbGFnczsKKyAgX19iZTMyIGxoX3RhaWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2JlMzIgbGhfYmxrbm87CisgIF9fYmUzMiBsaF9oYXNoOwogfTsKICNkZWZpbmUgR0ZTMl9MT0dfREVTQ19NRVRBREFUQSAzMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEdGUzJfTE9HX0RFU0NfUkVWT0tFIDMwMQogI2RlZmluZSBHRlMyX0xPR19ERVNDX0pEQVRBIDMwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBnZnMyX2xvZ19kZXNjcmlwdG9yIHsKLSBzdHJ1Y3QgZ2ZzMl9tZXRhX2hlYWRlciBsZF9oZWFkZXI7Ci0gX19iZTMyIGxkX3R5cGU7Ci0gX19iZTMyIGxkX2xlbmd0aDsKKyAgc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgbGRfaGVhZGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgbGRfZGF0YTE7Ci0gX19iZTMyIGxkX2RhdGEyOwotIF9fdTggbGRfcmVzZXJ2ZWRbMzJdOworICBfX2JlMzIgbGRfdHlwZTsKKyAgX19iZTMyIGxkX2xlbmd0aDsKKyAgX19iZTMyIGxkX2RhdGExOworICBfX2JlMzIgbGRfZGF0YTI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGxkX3Jlc2VydmVkWzMyXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX0lOVU1fUVVBTlRVTSAxMDQ4NTc2CiBzdHJ1Y3QgZ2ZzMl9pbnVtX3JhbmdlIHsKLSBfX2JlNjQgaXJfc3RhcnQ7Ci0gX19iZTY0IGlyX2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fYmU2NCBpcl9zdGFydDsKKyAgX19iZTY0IGlyX2xlbmd0aDsKIH07CiBzdHJ1Y3QgZ2ZzMl9zdGF0ZnNfY2hhbmdlIHsKLSBfX2JlNjQgc2NfdG90YWw7Ci0gX19iZTY0IHNjX2ZyZWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCBzY19kaW5vZGVzOworICBfX2JlNjQgc2NfdG90YWw7CisgIF9fYmU2NCBzY19mcmVlOworICBfX2JlNjQgc2NfZGlub2RlczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHRlMyX1FDRl9VU0VSIDB4MDAwMDAwMDEKIHN0cnVjdCBnZnMyX3F1b3RhX2NoYW5nZSB7CisgIF9fYmU2NCBxY19jaGFuZ2U7CisgIF9fYmUzMiBxY19mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTY0IHFjX2NoYW5nZTsKLSBfX2JlMzIgcWNfZmxhZ3M7Ci0gX19iZTMyIHFjX2lkOworICBfX2JlMzIgcWNfaWQ7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBnZnMyX3F1b3RhX2x2YiB7Ci0gX19iZTMyIHFiX21hZ2ljOwotIF9fdTMyIF9fcGFkOwotIF9fYmU2NCBxYl9saW1pdDsKKyAgX19iZTMyIHFiX21hZ2ljOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlNjQgcWJfd2FybjsKLSBfX2JlNjQgcWJfdmFsdWU7CisgIF9fdTMyIF9fcGFkOworICBfX2JlNjQgcWJfbGltaXQ7CisgIF9fYmU2NCBxYl93YXJuOworICBfX2JlNjQgcWJfdmFsdWU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaGFzaF9pbmZvLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hhc2hfaW5mby5oCmluZGV4IGZkMzU0M2MuLjU1MmUwNDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaGFzaF9pbmZvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oYXNoX2luZm8uaApAQCAtMTksMjggKzE5LDI4IEBACiAjaWZuZGVmIF9VQVBJX0xJTlVYX0hBU0hfSU5GT19ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX0hBU0hfSU5GT19ICiBlbnVtIGhhc2hfYWxnbyB7Ci0gSEFTSF9BTEdPX01ENCwKKyAgSEFTSF9BTEdPX01ENCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSEFTSF9BTEdPX01ENSwKLSBIQVNIX0FMR09fU0hBMSwKLSBIQVNIX0FMR09fUklQRV9NRF8xNjAsCi0gSEFTSF9BTEdPX1NIQTI1NiwKKyAgSEFTSF9BTEdPX01ENSwKKyAgSEFTSF9BTEdPX1NIQTEsCisgIEhBU0hfQUxHT19SSVBFX01EXzE2MCwKKyAgSEFTSF9BTEdPX1NIQTI1NiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSEFTSF9BTEdPX1NIQTM4NCwKLSBIQVNIX0FMR09fU0hBNTEyLAotIEhBU0hfQUxHT19TSEEyMjQsCi0gSEFTSF9BTEdPX1JJUEVfTURfMTI4LAorICBIQVNIX0FMR09fU0hBMzg0LAorICBIQVNIX0FMR09fU0hBNTEyLAorICBIQVNIX0FMR09fU0hBMjI0LAorICBIQVNIX0FMR09fUklQRV9NRF8xMjgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEhBU0hfQUxHT19SSVBFX01EXzI1NiwKLSBIQVNIX0FMR09fUklQRV9NRF8zMjAsCi0gSEFTSF9BTEdPX1dQXzI1NiwKLSBIQVNIX0FMR09fV1BfMzg0LAorICBIQVNIX0FMR09fUklQRV9NRF8yNTYsCisgIEhBU0hfQUxHT19SSVBFX01EXzMyMCwKKyAgSEFTSF9BTEdPX1dQXzI1NiwKKyAgSEFTSF9BTEdPX1dQXzM4NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSEFTSF9BTEdPX1dQXzUxMiwKLSBIQVNIX0FMR09fVEdSXzEyOCwKLSBIQVNIX0FMR09fVEdSXzE2MCwKLSBIQVNIX0FMR09fVEdSXzE5MiwKKyAgSEFTSF9BTEdPX1dQXzUxMiwKKyAgSEFTSF9BTEdPX1RHUl8xMjgsCisgIEhBU0hfQUxHT19UR1JfMTYwLAorICBIQVNIX0FMR09fVEdSXzE5MiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSEFTSF9BTEdPX19MQVNUCisgIEhBU0hfQUxHT19fTEFTVAogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oZGxjL2lvY3RsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkbGMvaW9jdGwuaAppbmRleCBjNDdkOTFlLi4zN2ZmNWM3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkbGMvaW9jdGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkbGMvaW9jdGwuaApAQCAtNTIsNDcgKzUyLDQ3IEBACiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHsKLSB1bnNpZ25lZCBpbnQgY2xvY2tfcmF0ZTsKLSB1bnNpZ25lZCBpbnQgY2xvY2tfdHlwZTsKLSB1bnNpZ25lZCBzaG9ydCBsb29wYmFjazsKKyAgdW5zaWduZWQgaW50IGNsb2NrX3JhdGU7CisgIHVuc2lnbmVkIGludCBjbG9ja190eXBlOworICB1bnNpZ25lZCBzaG9ydCBsb29wYmFjazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IHN5bmNfc2VyaWFsX3NldHRpbmdzOwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBjbG9ja19yYXRlOwotIHVuc2lnbmVkIGludCBjbG9ja190eXBlOworICB1bnNpZ25lZCBpbnQgY2xvY2tfcmF0ZTsKKyAgdW5zaWduZWQgaW50IGNsb2NrX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGxvb3BiYWNrOwotIHVuc2lnbmVkIGludCBzbG90X21hcDsKKyAgdW5zaWduZWQgc2hvcnQgbG9vcGJhY2s7CisgIHVuc2lnbmVkIGludCBzbG90X21hcDsKIH0gdGUxX3NldHRpbmdzOwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBlbmNvZGluZzsKLSB1bnNpZ25lZCBzaG9ydCBwYXJpdHk7CisgIHVuc2lnbmVkIHNob3J0IGVuY29kaW5nOworICB1bnNpZ25lZCBzaG9ydCBwYXJpdHk7CiB9IHJhd19oZGxjX3Byb3RvOwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdDM5MTsKLSB1bnNpZ25lZCBpbnQgdDM5MjsKLSB1bnNpZ25lZCBpbnQgbjM5MTsKLSB1bnNpZ25lZCBpbnQgbjM5MjsKKyAgdW5zaWduZWQgaW50IHQzOTE7CisgIHVuc2lnbmVkIGludCB0MzkyOworICB1bnNpZ25lZCBpbnQgbjM5MTsKKyAgdW5zaWduZWQgaW50IG4zOTI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBuMzkzOwotIHVuc2lnbmVkIHNob3J0IGxtaTsKLSB1bnNpZ25lZCBzaG9ydCBkY2U7CisgIHVuc2lnbmVkIGludCBuMzkzOworICB1bnNpZ25lZCBzaG9ydCBsbWk7CisgIHVuc2lnbmVkIHNob3J0IGRjZTsKIH0gZnJfcHJvdG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBkbGNpOworICB1bnNpZ25lZCBpbnQgZGxjaTsKIH0gZnJfcHJvdG9fcHZjOwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZGxjaTsKLSBjaGFyIG1hc3RlcltJRk5BTVNJWl07Ci19ZnJfcHJvdG9fcHZjX2luZm87CisgIHVuc2lnbmVkIGludCBkbGNpOworICBjaGFyIG1hc3RlcltJRk5BTVNJWl07Cit9IGZyX3Byb3RvX3B2Y19pbmZvOwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgaW50ZXJ2YWw7Ci0gdW5zaWduZWQgaW50IHRpbWVvdXQ7CisgIHVuc2lnbmVkIGludCBpbnRlcnZhbDsKKyAgdW5zaWduZWQgaW50IHRpbWVvdXQ7CiB9IGNpc2NvX3Byb3RvOwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oZGxjZHJ2LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkbGNkcnYuaAppbmRleCBhMzcyMDFkLi5kYWRjNDMzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkbGNkcnYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkbGNkcnYuaApAQCAtMTksNTcgKzE5LDU3IEBACiAjaWZuZGVmIF9VQVBJX0hETENEUlZfSAogI2RlZmluZSBfVUFQSV9IRExDRFJWX0gKIHN0cnVjdCBoZGxjZHJ2X3BhcmFtcyB7Ci0gaW50IGlvYmFzZTsKKyAgaW50IGlvYmFzZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGlycTsKLSBpbnQgZG1hOwotIGludCBkbWEyOwotIGludCBzZXJpb2Jhc2U7CisgIGludCBpcnE7CisgIGludCBkbWE7CisgIGludCBkbWEyOworICBpbnQgc2VyaW9iYXNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcGFyaW9iYXNlOwotIGludCBtaWRpaW9iYXNlOworICBpbnQgcGFyaW9iYXNlOworICBpbnQgbWlkaWlvYmFzZTsKIH07CiBzdHJ1Y3QgaGRsY2Rydl9jaGFubmVsX3BhcmFtcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0eF9kZWxheTsKLSBpbnQgdHhfdGFpbDsKLSBpbnQgc2xvdHRpbWU7Ci0gaW50IHBwZXJzaXN0OworICBpbnQgdHhfZGVsYXk7CisgIGludCB0eF90YWlsOworICBpbnQgc2xvdHRpbWU7CisgIGludCBwcGVyc2lzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGZ1bGxkdXA7CisgIGludCBmdWxsZHVwOwogfTsKIHN0cnVjdCBoZGxjZHJ2X29sZF9jaGFubmVsX3N0YXRlIHsKLSBpbnQgcHR0OworICBpbnQgcHR0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZGNkOwotIGludCBwdHRfa2V5ZWQ7CisgIGludCBkY2Q7CisgIGludCBwdHRfa2V5ZWQ7CiB9Owogc3RydWN0IGhkbGNkcnZfY2hhbm5lbF9zdGF0ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwdHQ7Ci0gaW50IGRjZDsKLSBpbnQgcHR0X2tleWVkOwotIHVuc2lnbmVkIGxvbmcgdHhfcGFja2V0czsKKyAgaW50IHB0dDsKKyAgaW50IGRjZDsKKyAgaW50IHB0dF9rZXllZDsKKyAgdW5zaWduZWQgbG9uZyB0eF9wYWNrZXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHR4X2Vycm9yczsKLSB1bnNpZ25lZCBsb25nIHJ4X3BhY2tldHM7Ci0gdW5zaWduZWQgbG9uZyByeF9lcnJvcnM7CisgIHVuc2lnbmVkIGxvbmcgdHhfZXJyb3JzOworICB1bnNpZ25lZCBsb25nIHJ4X3BhY2tldHM7CisgIHVuc2lnbmVkIGxvbmcgcnhfZXJyb3JzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaGRsY2Rydl9pb2N0bCB7Ci0gaW50IGNtZDsKLSB1bmlvbiB7Ci0gc3RydWN0IGhkbGNkcnZfcGFyYW1zIG1wOworICBpbnQgY21kOworICB1bmlvbiB7CisgICAgc3RydWN0IGhkbGNkcnZfcGFyYW1zIG1wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaGRsY2Rydl9jaGFubmVsX3BhcmFtcyBjcDsKLSBzdHJ1Y3QgaGRsY2Rydl9jaGFubmVsX3N0YXRlIGNzOwotIHN0cnVjdCBoZGxjZHJ2X29sZF9jaGFubmVsX3N0YXRlIG9jczsKLSB1bnNpZ25lZCBpbnQgY2FsaWJyYXRlOworICAgIHN0cnVjdCBoZGxjZHJ2X2NoYW5uZWxfcGFyYW1zIGNwOworICAgIHN0cnVjdCBoZGxjZHJ2X2NoYW5uZWxfc3RhdGUgY3M7CisgICAgc3RydWN0IGhkbGNkcnZfb2xkX2NoYW5uZWxfc3RhdGUgb2NzOworICAgIHVuc2lnbmVkIGludCBjYWxpYnJhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgYml0czsKLSBjaGFyIG1vZGVuYW1lWzEyOF07Ci0gY2hhciBkcml2ZXJuYW1lWzMyXTsKLSB9IGRhdGE7CisgICAgdW5zaWduZWQgY2hhciBiaXRzOworICAgIGNoYXIgbW9kZW5hbWVbMTI4XTsKKyAgICBjaGFyIGRyaXZlcm5hbWVbMzJdOworICB9IGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSERMQ0RSVkNUTF9HRVRNT0RFTVBBUiAwCkBAIC04OSwxMyArODksMTMgQEAKICNkZWZpbmUgSERMQ0RSVkNUTF9TRVRNT0RFIDQxCiAjZGVmaW5lIEhETENEUlZDVExfTU9ERUxJU1QgNDIKICNkZWZpbmUgSERMQ0RSVkNUTF9EUklWRVJOQU1FIDQzCi0jZGVmaW5lIEhETENEUlZfUEFSTUFTS19JT0JBU0UgKDE8PDApCisjZGVmaW5lIEhETENEUlZfUEFSTUFTS19JT0JBU0UgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEhETENEUlZfUEFSTUFTS19JUlEgKDE8PDEpCi0jZGVmaW5lIEhETENEUlZfUEFSTUFTS19ETUEgKDE8PDIpCi0jZGVmaW5lIEhETENEUlZfUEFSTUFTS19ETUEyICgxPDwzKQotI2RlZmluZSBIRExDRFJWX1BBUk1BU0tfU0VSSU9CQVNFICgxPDw0KQorI2RlZmluZSBIRExDRFJWX1BBUk1BU0tfSVJRICgxIDw8IDEpCisjZGVmaW5lIEhETENEUlZfUEFSTUFTS19ETUEgKDEgPDwgMikKKyNkZWZpbmUgSERMQ0RSVl9QQVJNQVNLX0RNQTIgKDEgPDwgMykKKyNkZWZpbmUgSERMQ0RSVl9QQVJNQVNLX1NFUklPQkFTRSAoMSA8PCA0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSERMQ0RSVl9QQVJNQVNLX1BBUklPQkFTRSAoMTw8NSkKLSNkZWZpbmUgSERMQ0RSVl9QQVJNQVNLX01JRElJT0JBU0UgKDE8PDYpCisjZGVmaW5lIEhETENEUlZfUEFSTUFTS19QQVJJT0JBU0UgKDEgPDwgNSkKKyNkZWZpbmUgSERMQ0RSVl9QQVJNQVNLX01JRElJT0JBU0UgKDEgPDwgNikKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oZHJlZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oZHJlZy5oCmluZGV4IDY5YWZlMGQuLjMwMGUwMTMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaGRyZWcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hkcmVnLmgKQEAgLTI0LDcgKzI0LDcgQEAKICNkZWZpbmUgSERJT19EUklWRV9IT0JfSERSX1NJWkUgKDggKiBzaXplb2YoX191OCkpCiAjZGVmaW5lIEhESU9fRFJJVkVfVEFTS19IRFJfU0laRSAoOCAqIHNpemVvZihfX3U4KSkKICNkZWZpbmUgSURFX0RSSVZFX1RBU0tfTk9fREFUQSAwCi0jZGVmaW5lIElERV9EUklWRV9UQVNLX0lOVkFMSUQgLTEKKyNkZWZpbmUgSURFX0RSSVZFX1RBU0tfSU5WQUxJRCAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElERV9EUklWRV9UQVNLX1NFVF9YRkVSIDEKICNkZWZpbmUgSURFX0RSSVZFX1RBU0tfSU4gMgpAQCAtMzksODEgKzM5LDgxIEBACiB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdGFza19pb3JlZ190OwogdHlwZWRlZiB1bnNpZ25lZCBsb25nIHNhdGFfaW9yZWdfdDsKIHR5cGVkZWYgdW5pb24gaWRlX3JlZ192YWxpZF9zIHsKLSB1bnNpZ25lZCBhbGwgOiAxNjsKKyAgdW5zaWduZWQgYWxsIDogMTY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gdW5zaWduZWQgZGF0YSA6IDE7Ci0gdW5zaWduZWQgZXJyb3JfZmVhdHVyZSA6IDE7Ci0gdW5zaWduZWQgc2VjdG9yIDogMTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBkYXRhIDogMTsKKyAgICB1bnNpZ25lZCBlcnJvcl9mZWF0dXJlIDogMTsKKyAgICB1bnNpZ25lZCBzZWN0b3IgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBuc2VjdG9yIDogMTsKLSB1bnNpZ25lZCBsY3lsIDogMTsKLSB1bnNpZ25lZCBoY3lsIDogMTsKLSB1bnNpZ25lZCBzZWxlY3QgOiAxOworICAgIHVuc2lnbmVkIG5zZWN0b3IgOiAxOworICAgIHVuc2lnbmVkIGxjeWwgOiAxOworICAgIHVuc2lnbmVkIGhjeWwgOiAxOworICAgIHVuc2lnbmVkIHNlbGVjdCA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHN0YXR1c19jb21tYW5kIDogMTsKLSB1bnNpZ25lZCBkYXRhX2hvYiA6IDE7Ci0gdW5zaWduZWQgZXJyb3JfZmVhdHVyZV9ob2IgOiAxOwotIHVuc2lnbmVkIHNlY3Rvcl9ob2IgOiAxOworICAgIHVuc2lnbmVkIHN0YXR1c19jb21tYW5kIDogMTsKKyAgICB1bnNpZ25lZCBkYXRhX2hvYiA6IDE7CisgICAgdW5zaWduZWQgZXJyb3JfZmVhdHVyZV9ob2IgOiAxOworICAgIHVuc2lnbmVkIHNlY3Rvcl9ob2IgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBuc2VjdG9yX2hvYiA6IDE7Ci0gdW5zaWduZWQgbGN5bF9ob2IgOiAxOwotIHVuc2lnbmVkIGhjeWxfaG9iIDogMTsKLSB1bnNpZ25lZCBzZWxlY3RfaG9iIDogMTsKKyAgICB1bnNpZ25lZCBuc2VjdG9yX2hvYiA6IDE7CisgICAgdW5zaWduZWQgbGN5bF9ob2IgOiAxOworICAgIHVuc2lnbmVkIGhjeWxfaG9iIDogMTsKKyAgICB1bnNpZ25lZCBzZWxlY3RfaG9iIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY29udHJvbF9ob2IgOiAxOwotIH0gYjsKKyAgICB1bnNpZ25lZCBjb250cm9sX2hvYiA6IDE7CisgIH0gYjsKIH0gaWRlX3JlZ192YWxpZF90OwogdHlwZWRlZiBzdHJ1Y3QgaWRlX3Rhc2tfcmVxdWVzdF9zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpb19wb3J0c1s4XTsKLSBfX3U4IGhvYl9wb3J0c1s4XTsKLSBpZGVfcmVnX3ZhbGlkX3Qgb3V0X2ZsYWdzOwotIGlkZV9yZWdfdmFsaWRfdCBpbl9mbGFnczsKKyAgX191OCBpb19wb3J0c1s4XTsKKyAgX191OCBob2JfcG9ydHNbOF07CisgIGlkZV9yZWdfdmFsaWRfdCBvdXRfZmxhZ3M7CisgIGlkZV9yZWdfdmFsaWRfdCBpbl9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGRhdGFfcGhhc2U7Ci0gaW50IHJlcV9jbWQ7Ci0gdW5zaWduZWQgbG9uZyBvdXRfc2l6ZTsKLSB1bnNpZ25lZCBsb25nIGluX3NpemU7CisgIGludCBkYXRhX3BoYXNlOworICBpbnQgcmVxX2NtZDsKKyAgdW5zaWduZWQgbG9uZyBvdXRfc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBpbl9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gaWRlX3Rhc2tfcmVxdWVzdF90OwogdHlwZWRlZiBzdHJ1Y3QgaWRlX2lvY3RsX3JlcXVlc3RfcyB7Ci0gaWRlX3Rhc2tfcmVxdWVzdF90ICp0YXNrX3JlcXVlc3Q7Ci0gdW5zaWduZWQgY2hhciAqb3V0X2J1ZmZlcjsKKyAgaWRlX3Rhc2tfcmVxdWVzdF90ICogdGFza19yZXF1ZXN0OworICB1bnNpZ25lZCBjaGFyICogb3V0X2J1ZmZlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciAqaW5fYnVmZmVyOworICB1bnNpZ25lZCBjaGFyICogaW5fYnVmZmVyOwogfSBpZGVfaW9jdGxfcmVxdWVzdF90Owogc3RydWN0IGhkX2RyaXZlX2NtZF9oZHIgewotIF9fdTggY29tbWFuZDsKKyAgX191OCBjb21tYW5kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNlY3Rvcl9udW1iZXI7Ci0gX191OCBmZWF0dXJlOwotIF9fdTggc2VjdG9yX2NvdW50OworICBfX3U4IHNlY3Rvcl9udW1iZXI7CisgIF9fdTggZmVhdHVyZTsKKyAgX191OCBzZWN0b3JfY291bnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGhkX2RyaXZlX3Rhc2tfaGRyIHsKLSBfX3U4IGRhdGE7Ci0gX191OCBmZWF0dXJlOwotIF9fdTggc2VjdG9yX2NvdW50OworICBfX3U4IGRhdGE7CisgIF9fdTggZmVhdHVyZTsKKyAgX191OCBzZWN0b3JfY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2VjdG9yX251bWJlcjsKLSBfX3U4IGxvd19jeWxpbmRlcjsKLSBfX3U4IGhpZ2hfY3lsaW5kZXI7Ci0gX191OCBkZXZpY2VfaGVhZDsKKyAgX191OCBzZWN0b3JfbnVtYmVyOworICBfX3U4IGxvd19jeWxpbmRlcjsKKyAgX191OCBoaWdoX2N5bGluZGVyOworICBfX3U4IGRldmljZV9oZWFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNvbW1hbmQ7CisgIF9fdTggY29tbWFuZDsKIH0gdGFza19zdHJ1Y3RfdDsKIHR5cGVkZWYgc3RydWN0IGhkX2RyaXZlX2hvYl9oZHIgewotIF9fdTggZGF0YTsKKyAgX191OCBkYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZlYXR1cmU7Ci0gX191OCBzZWN0b3JfY291bnQ7Ci0gX191OCBzZWN0b3JfbnVtYmVyOwotIF9fdTggbG93X2N5bGluZGVyOworICBfX3U4IGZlYXR1cmU7CisgIF9fdTggc2VjdG9yX2NvdW50OworICBfX3U4IHNlY3Rvcl9udW1iZXI7CisgIF9fdTggbG93X2N5bGluZGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGhpZ2hfY3lsaW5kZXI7Ci0gX191OCBkZXZpY2VfaGVhZDsKLSBfX3U4IGNvbnRyb2w7CisgIF9fdTggaGlnaF9jeWxpbmRlcjsKKyAgX191OCBkZXZpY2VfaGVhZDsKKyAgX191OCBjb250cm9sOwogfSBob2Jfc3RydWN0X3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQVNLRklMRV9OT19EQVRBIDB4MDAwMApAQCAtMzEyLDExICszMTIsMTEgQEAKICNkZWZpbmUgU0VDVVJJVFlfRElTQUJMRV9QQVNTV09SRCAweEJGCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGhkX2dlb21ldHJ5IHsKLSB1bnNpZ25lZCBjaGFyIGhlYWRzOwotIHVuc2lnbmVkIGNoYXIgc2VjdG9yczsKLSB1bnNpZ25lZCBzaG9ydCBjeWxpbmRlcnM7CisgIHVuc2lnbmVkIGNoYXIgaGVhZHM7CisgIHVuc2lnbmVkIGNoYXIgc2VjdG9yczsKKyAgdW5zaWduZWQgc2hvcnQgY3lsaW5kZXJzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHN0YXJ0OworICB1bnNpZ25lZCBsb25nIHN0YXJ0OwogfTsKICNkZWZpbmUgSERJT19HRVRHRU8gMHgwMzAxCiAjZGVmaW5lIEhESU9fR0VUX1VOTUFTS0lOVFIgMHgwMzAyCkBAIC0zNjYsMTEyICszNjYsMTEyIEBACiAjZGVmaW5lIEhESU9fU0VUX0FERFJFU1MgMHgwMzJmCiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQlVTU1RBVEVfT0ZGID0gMCwKLSBCVVNTVEFURV9PTiwKLSBCVVNTVEFURV9UUklTVEFURQorICBCVVNTVEFURV9PRkYgPSAwLAorICBCVVNTVEFURV9PTiwKKyAgQlVTU1RBVEVfVFJJU1RBVEUKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX05FV19IRF9EUklWRV9JRAogc3RydWN0IGhkX2RyaXZlaWQgewotIHVuc2lnbmVkIHNob3J0IGNvbmZpZzsKLSB1bnNpZ25lZCBzaG9ydCBjeWxzOworICB1bnNpZ25lZCBzaG9ydCBjb25maWc7CisgIHVuc2lnbmVkIHNob3J0IGN5bHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkMjsKLSB1bnNpZ25lZCBzaG9ydCBoZWFkczsKLSB1bnNpZ25lZCBzaG9ydCB0cmFja19ieXRlczsKLSB1bnNpZ25lZCBzaG9ydCBzZWN0b3JfYnl0ZXM7CisgIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkMjsKKyAgdW5zaWduZWQgc2hvcnQgaGVhZHM7CisgIHVuc2lnbmVkIHNob3J0IHRyYWNrX2J5dGVzOworICB1bnNpZ25lZCBzaG9ydCBzZWN0b3JfYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHNlY3RvcnM7Ci0gdW5zaWduZWQgc2hvcnQgdmVuZG9yMDsKLSB1bnNpZ25lZCBzaG9ydCB2ZW5kb3IxOwotIHVuc2lnbmVkIHNob3J0IHZlbmRvcjI7CisgIHVuc2lnbmVkIHNob3J0IHNlY3RvcnM7CisgIHVuc2lnbmVkIHNob3J0IHZlbmRvcjA7CisgIHVuc2lnbmVkIHNob3J0IHZlbmRvcjE7CisgIHVuc2lnbmVkIHNob3J0IHZlbmRvcjI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgc2VyaWFsX25vWzIwXTsKLSB1bnNpZ25lZCBzaG9ydCBidWZfdHlwZTsKLSB1bnNpZ25lZCBzaG9ydCBidWZfc2l6ZTsKLSB1bnNpZ25lZCBzaG9ydCBlY2NfYnl0ZXM7CisgIHVuc2lnbmVkIGNoYXIgc2VyaWFsX25vWzIwXTsKKyAgdW5zaWduZWQgc2hvcnQgYnVmX3R5cGU7CisgIHVuc2lnbmVkIHNob3J0IGJ1Zl9zaXplOworICB1bnNpZ25lZCBzaG9ydCBlY2NfYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZndfcmV2WzhdOwotIHVuc2lnbmVkIGNoYXIgbW9kZWxbNDBdOwotIHVuc2lnbmVkIGNoYXIgbWF4X211bHRzZWN0OwotIHVuc2lnbmVkIGNoYXIgdmVuZG9yMzsKKyAgdW5zaWduZWQgY2hhciBmd19yZXZbOF07CisgIHVuc2lnbmVkIGNoYXIgbW9kZWxbNDBdOworICB1bnNpZ25lZCBjaGFyIG1heF9tdWx0c2VjdDsKKyAgdW5zaWduZWQgY2hhciB2ZW5kb3IzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBkd29yZF9pbzsKLSB1bnNpZ25lZCBjaGFyIHZlbmRvcjQ7Ci0gdW5zaWduZWQgY2hhciBjYXBhYmlsaXR5OwotIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkNTA7CisgIHVuc2lnbmVkIHNob3J0IGR3b3JkX2lvOworICB1bnNpZ25lZCBjaGFyIHZlbmRvcjQ7CisgIHVuc2lnbmVkIGNoYXIgY2FwYWJpbGl0eTsKKyAgdW5zaWduZWQgc2hvcnQgcmVzZXJ2ZWQ1MDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciB2ZW5kb3I1OwotIHVuc2lnbmVkIGNoYXIgdFBJTzsKLSB1bnNpZ25lZCBjaGFyIHZlbmRvcjY7Ci0gdW5zaWduZWQgY2hhciB0RE1BOworICB1bnNpZ25lZCBjaGFyIHZlbmRvcjU7CisgIHVuc2lnbmVkIGNoYXIgdFBJTzsKKyAgdW5zaWduZWQgY2hhciB2ZW5kb3I2OworICB1bnNpZ25lZCBjaGFyIHRETUE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGZpZWxkX3ZhbGlkOwotIHVuc2lnbmVkIHNob3J0IGN1cl9jeWxzOwotIHVuc2lnbmVkIHNob3J0IGN1cl9oZWFkczsKLSB1bnNpZ25lZCBzaG9ydCBjdXJfc2VjdG9yczsKKyAgdW5zaWduZWQgc2hvcnQgZmllbGRfdmFsaWQ7CisgIHVuc2lnbmVkIHNob3J0IGN1cl9jeWxzOworICB1bnNpZ25lZCBzaG9ydCBjdXJfaGVhZHM7CisgIHVuc2lnbmVkIHNob3J0IGN1cl9zZWN0b3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBjdXJfY2FwYWNpdHkwOwotIHVuc2lnbmVkIHNob3J0IGN1cl9jYXBhY2l0eTE7Ci0gdW5zaWduZWQgY2hhciBtdWx0c2VjdDsKLSB1bnNpZ25lZCBjaGFyIG11bHRzZWN0X3ZhbGlkOworICB1bnNpZ25lZCBzaG9ydCBjdXJfY2FwYWNpdHkwOworICB1bnNpZ25lZCBzaG9ydCBjdXJfY2FwYWNpdHkxOworICB1bnNpZ25lZCBjaGFyIG11bHRzZWN0OworICB1bnNpZ25lZCBjaGFyIG11bHRzZWN0X3ZhbGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbGJhX2NhcGFjaXR5OwotIHVuc2lnbmVkIHNob3J0IGRtYV8xd29yZDsKLSB1bnNpZ25lZCBzaG9ydCBkbWFfbXdvcmQ7Ci0gdW5zaWduZWQgc2hvcnQgZWlkZV9waW9fbW9kZXM7CisgIHVuc2lnbmVkIGludCBsYmFfY2FwYWNpdHk7CisgIHVuc2lnbmVkIHNob3J0IGRtYV8xd29yZDsKKyAgdW5zaWduZWQgc2hvcnQgZG1hX213b3JkOworICB1bnNpZ25lZCBzaG9ydCBlaWRlX3Bpb19tb2RlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgZWlkZV9kbWFfbWluOwotIHVuc2lnbmVkIHNob3J0IGVpZGVfZG1hX3RpbWU7Ci0gdW5zaWduZWQgc2hvcnQgZWlkZV9waW87Ci0gdW5zaWduZWQgc2hvcnQgZWlkZV9waW9faW9yZHk7CisgIHVuc2lnbmVkIHNob3J0IGVpZGVfZG1hX21pbjsKKyAgdW5zaWduZWQgc2hvcnQgZWlkZV9kbWFfdGltZTsKKyAgdW5zaWduZWQgc2hvcnQgZWlkZV9waW87CisgIHVuc2lnbmVkIHNob3J0IGVpZGVfcGlvX2lvcmR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB3b3JkczY5XzcwWzJdOwotIHVuc2lnbmVkIHNob3J0IHdvcmRzNzFfNzRbNF07Ci0gdW5zaWduZWQgc2hvcnQgcXVldWVfZGVwdGg7Ci0gdW5zaWduZWQgc2hvcnQgd29yZHM3Nl83OVs0XTsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHM2OV83MFsyXTsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHM3MV83NFs0XTsKKyAgdW5zaWduZWQgc2hvcnQgcXVldWVfZGVwdGg7CisgIHVuc2lnbmVkIHNob3J0IHdvcmRzNzZfNzlbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IG1ham9yX3Jldl9udW07Ci0gdW5zaWduZWQgc2hvcnQgbWlub3JfcmV2X251bTsKLSB1bnNpZ25lZCBzaG9ydCBjb21tYW5kX3NldF8xOwotIHVuc2lnbmVkIHNob3J0IGNvbW1hbmRfc2V0XzI7CisgIHVuc2lnbmVkIHNob3J0IG1ham9yX3Jldl9udW07CisgIHVuc2lnbmVkIHNob3J0IG1pbm9yX3Jldl9udW07CisgIHVuc2lnbmVkIHNob3J0IGNvbW1hbmRfc2V0XzE7CisgIHVuc2lnbmVkIHNob3J0IGNvbW1hbmRfc2V0XzI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGNmc3NlOwotIHVuc2lnbmVkIHNob3J0IGNmc19lbmFibGVfMTsKLSB1bnNpZ25lZCBzaG9ydCBjZnNfZW5hYmxlXzI7Ci0gdW5zaWduZWQgc2hvcnQgY3NmX2RlZmF1bHQ7CisgIHVuc2lnbmVkIHNob3J0IGNmc3NlOworICB1bnNpZ25lZCBzaG9ydCBjZnNfZW5hYmxlXzE7CisgIHVuc2lnbmVkIHNob3J0IGNmc19lbmFibGVfMjsKKyAgdW5zaWduZWQgc2hvcnQgY3NmX2RlZmF1bHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGRtYV91bHRyYTsKLSB1bnNpZ25lZCBzaG9ydCB0cnNldWM7Ci0gdW5zaWduZWQgc2hvcnQgdHJzRXVjOwotIHVuc2lnbmVkIHNob3J0IEN1ckFQTXZhbHVlczsKKyAgdW5zaWduZWQgc2hvcnQgZG1hX3VsdHJhOworICB1bnNpZ25lZCBzaG9ydCB0cnNldWM7CisgIHVuc2lnbmVkIHNob3J0IHRyc0V1YzsKKyAgdW5zaWduZWQgc2hvcnQgQ3VyQVBNdmFsdWVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBtcHJjOwotIHVuc2lnbmVkIHNob3J0IGh3X2NvbmZpZzsKLSB1bnNpZ25lZCBzaG9ydCBhY291c3RpYzsKLSB1bnNpZ25lZCBzaG9ydCBtc3JxczsKKyAgdW5zaWduZWQgc2hvcnQgbXByYzsKKyAgdW5zaWduZWQgc2hvcnQgaHdfY29uZmlnOworICB1bnNpZ25lZCBzaG9ydCBhY291c3RpYzsKKyAgdW5zaWduZWQgc2hvcnQgbXNycXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHN4ZmVydDsKLSB1bnNpZ25lZCBzaG9ydCBzYWw7Ci0gdW5zaWduZWQgaW50IHNwZzsKLSB1bnNpZ25lZCBsb25nIGxvbmcgbGJhX2NhcGFjaXR5XzI7CisgIHVuc2lnbmVkIHNob3J0IHN4ZmVydDsKKyAgdW5zaWduZWQgc2hvcnQgc2FsOworICB1bnNpZ25lZCBpbnQgc3BnOworICB1bnNpZ25lZCBsb25nIGxvbmcgbGJhX2NhcGFjaXR5XzI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHdvcmRzMTA0XzEyNVsyMl07Ci0gdW5zaWduZWQgc2hvcnQgbGFzdF9sdW47Ci0gdW5zaWduZWQgc2hvcnQgd29yZDEyNzsKLSB1bnNpZ25lZCBzaG9ydCBkbGY7CisgIHVuc2lnbmVkIHNob3J0IHdvcmRzMTA0XzEyNVsyMl07CisgIHVuc2lnbmVkIHNob3J0IGxhc3RfbHVuOworICB1bnNpZ25lZCBzaG9ydCB3b3JkMTI3OworICB1bnNpZ25lZCBzaG9ydCBkbGY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGNzZm87Ci0gdW5zaWduZWQgc2hvcnQgd29yZHMxMzBfMTU1WzI2XTsKLSB1bnNpZ25lZCBzaG9ydCB3b3JkMTU2OwotIHVuc2lnbmVkIHNob3J0IHdvcmRzMTU3XzE1OVszXTsKKyAgdW5zaWduZWQgc2hvcnQgY3NmbzsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHMxMzBfMTU1WzI2XTsKKyAgdW5zaWduZWQgc2hvcnQgd29yZDE1NjsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHMxNTdfMTU5WzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBjZmFfcG93ZXI7Ci0gdW5zaWduZWQgc2hvcnQgd29yZHMxNjFfMTc1WzE1XTsKLSB1bnNpZ25lZCBzaG9ydCB3b3JkczE3Nl8yMDVbMzBdOwotIHVuc2lnbmVkIHNob3J0IHdvcmRzMjA2XzI1NFs0OV07CisgIHVuc2lnbmVkIHNob3J0IGNmYV9wb3dlcjsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHMxNjFfMTc1WzE1XTsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHMxNzZfMjA1WzMwXTsKKyAgdW5zaWduZWQgc2hvcnQgd29yZHMyMDZfMjU0WzQ5XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgaW50ZWdyaXR5X3dvcmQ7CisgIHVuc2lnbmVkIHNob3J0IGludGVncml0eV93b3JkOwogfTsKICNkZWZpbmUgSURFX05JQ0VfRFNDX09WRVJMQVAgKDApCiAjZGVmaW5lIElERV9OSUNFX0FUQVBJX09WRVJMQVAgKDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hpZGRldi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oaWRkZXYuaAppbmRleCBlNDI2MGZlLi42ZjQ5NGIxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hpZGRldi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaGlkZGV2LmgKQEAgLTIxLDQwICsyMSw0MCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgaGlkZGV2X2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaGlkOwotIHNpZ25lZCBpbnQgdmFsdWU7CisgIHVuc2lnbmVkIGhpZDsKKyAgc2lnbmVkIGludCB2YWx1ZTsKIH07CiBzdHJ1Y3QgaGlkZGV2X2RldmluZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBidXN0eXBlOwotIF9fdTMyIGJ1c251bTsKLSBfX3UzMiBkZXZudW07Ci0gX191MzIgaWZudW07CisgIF9fdTMyIGJ1c3R5cGU7CisgIF9fdTMyIGJ1c251bTsKKyAgX191MzIgZGV2bnVtOworICBfX3UzMiBpZm51bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMTYgdmVuZG9yOwotIF9fczE2IHByb2R1Y3Q7Ci0gX19zMTYgdmVyc2lvbjsKLSBfX3UzMiBudW1fYXBwbGljYXRpb25zOworICBfX3MxNiB2ZW5kb3I7CisgIF9fczE2IHByb2R1Y3Q7CisgIF9fczE2IHZlcnNpb247CisgIF9fdTMyIG51bV9hcHBsaWNhdGlvbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBoaWRkZXZfY29sbGVjdGlvbl9pbmZvIHsKLSBfX3UzMiBpbmRleDsKLSBfX3UzMiB0eXBlOworICBfX3UzMiBpbmRleDsKKyAgX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdXNhZ2U7Ci0gX191MzIgbGV2ZWw7CisgIF9fdTMyIHVzYWdlOworICBfX3UzMiBsZXZlbDsKIH07CiAjZGVmaW5lIEhJRF9TVFJJTkdfU0laRSAyNTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaGlkZGV2X3N0cmluZ19kZXNjcmlwdG9yIHsKLSBfX3MzMiBpbmRleDsKLSBjaGFyIHZhbHVlW0hJRF9TVFJJTkdfU0laRV07CisgIF9fczMyIGluZGV4OworICBjaGFyIHZhbHVlW0hJRF9TVFJJTkdfU0laRV07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBoaWRkZXZfcmVwb3J0X2luZm8gewotIF9fdTMyIHJlcG9ydF90eXBlOwotIF9fdTMyIHJlcG9ydF9pZDsKLSBfX3UzMiBudW1fZmllbGRzOworICBfX3UzMiByZXBvcnRfdHlwZTsKKyAgX191MzIgcmVwb3J0X2lkOworICBfX3UzMiBudW1fZmllbGRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEhJRF9SRVBPUlRfSURfVU5LTk9XTiAweGZmZmZmZmZmCkBAIC03MSwyMyArNzEsMjMgQEAKICNkZWZpbmUgSElEX1JFUE9SVF9UWVBFX01BWCAzCiBzdHJ1Y3QgaGlkZGV2X2ZpZWxkX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXBvcnRfdHlwZTsKLSBfX3UzMiByZXBvcnRfaWQ7Ci0gX191MzIgZmllbGRfaW5kZXg7Ci0gX191MzIgbWF4dXNhZ2U7CisgIF9fdTMyIHJlcG9ydF90eXBlOworICBfX3UzMiByZXBvcnRfaWQ7CisgIF9fdTMyIGZpZWxkX2luZGV4OworICBfX3UzMiBtYXh1c2FnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX191MzIgcGh5c2ljYWw7Ci0gX191MzIgbG9naWNhbDsKLSBfX3UzMiBhcHBsaWNhdGlvbjsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHBoeXNpY2FsOworICBfX3UzMiBsb2dpY2FsOworICBfX3UzMiBhcHBsaWNhdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgbG9naWNhbF9taW5pbXVtOwotIF9fczMyIGxvZ2ljYWxfbWF4aW11bTsKLSBfX3MzMiBwaHlzaWNhbF9taW5pbXVtOwotIF9fczMyIHBoeXNpY2FsX21heGltdW07CisgIF9fczMyIGxvZ2ljYWxfbWluaW11bTsKKyAgX19zMzIgbG9naWNhbF9tYXhpbXVtOworICBfX3MzMiBwaHlzaWNhbF9taW5pbXVtOworICBfX3MzMiBwaHlzaWNhbF9tYXhpbXVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1bml0X2V4cG9uZW50OwotIF9fdTMyIHVuaXQ7CisgIF9fdTMyIHVuaXRfZXhwb25lbnQ7CisgIF9fdTMyIHVuaXQ7CiB9OwogI2RlZmluZSBISURfRklFTERfQ09OU1RBTlQgMHgwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xMDIsMjEgKzEwMiwyMSBAQAogI2RlZmluZSBISURfRklFTERfQlVGRkVSRURfQllURSAweDEwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBoaWRkZXZfdXNhZ2VfcmVmIHsKLSBfX3UzMiByZXBvcnRfdHlwZTsKLSBfX3UzMiByZXBvcnRfaWQ7Ci0gX191MzIgZmllbGRfaW5kZXg7CisgIF9fdTMyIHJlcG9ydF90eXBlOworICBfX3UzMiByZXBvcnRfaWQ7CisgIF9fdTMyIGZpZWxkX2luZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1c2FnZV9pbmRleDsKLSBfX3UzMiB1c2FnZV9jb2RlOwotIF9fczMyIHZhbHVlOworICBfX3UzMiB1c2FnZV9pbmRleDsKKyAgX191MzIgdXNhZ2VfY29kZTsKKyAgX19zMzIgdmFsdWU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSElEX01BWF9NVUxUSV9VU0FHRVMgMTAyNAogc3RydWN0IGhpZGRldl91c2FnZV9yZWZfbXVsdGkgewotIHN0cnVjdCBoaWRkZXZfdXNhZ2VfcmVmIHVyZWY7Ci0gX191MzIgbnVtX3ZhbHVlczsKKyAgc3RydWN0IGhpZGRldl91c2FnZV9yZWYgdXJlZjsKKyAgX191MzIgbnVtX3ZhbHVlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgdmFsdWVzW0hJRF9NQVhfTVVMVElfVVNBR0VTXTsKKyAgX19zMzIgdmFsdWVzW0hJRF9NQVhfTVVMVElfVVNBR0VTXTsKIH07CiAjZGVmaW5lIEhJRF9GSUVMRF9JTkRFWF9OT05FIDB4ZmZmZmZmZmYKICNkZWZpbmUgSElEX1ZFUlNJT04gMHgwMTAwMDQKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaGlkcmF3LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hpZHJhdy5oCmluZGV4IDBmZmFjZWEuLjdkNjBkMGQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaGlkcmF3LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oaWRyYXcuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaGlkcmF3X3JlcG9ydF9kZXNjcmlwdG9yIHsKLSBfX3UzMiBzaXplOwotIF9fdTggdmFsdWVbSElEX01BWF9ERVNDUklQVE9SX1NJWkVdOworICBfX3UzMiBzaXplOworICBfX3U4IHZhbHVlW0hJRF9NQVhfREVTQ1JJUFRPUl9TSVpFXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGhpZHJhd19kZXZpbmZvIHsKLSBfX3UzMiBidXN0eXBlOwotIF9fczE2IHZlbmRvcjsKLSBfX3MxNiBwcm9kdWN0OworICBfX3UzMiBidXN0eXBlOworICBfX3MxNiB2ZW5kb3I7CisgIF9fczE2IHByb2R1Y3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSElESU9DR1JERVNDU0laRSBfSU9SKCdIJywgMHgwMSwgaW50KQpAQCAtMzgsOCArMzgsOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSElESU9DR1JBV05BTUUobGVuKSBfSU9DKF9JT0NfUkVBRCwgJ0gnLCAweDA0LCBsZW4pCiAjZGVmaW5lIEhJRElPQ0dSQVdQSFlTKGxlbikgX0lPQyhfSU9DX1JFQUQsICdIJywgMHgwNSwgbGVuKQotI2RlZmluZSBISURJT0NTRkVBVFVSRShsZW4pIF9JT0MoX0lPQ19XUklURXxfSU9DX1JFQUQsICdIJywgMHgwNiwgbGVuKQotI2RlZmluZSBISURJT0NHRkVBVFVSRShsZW4pIF9JT0MoX0lPQ19XUklURXxfSU9DX1JFQUQsICdIJywgMHgwNywgbGVuKQorI2RlZmluZSBISURJT0NTRkVBVFVSRShsZW4pIF9JT0MoX0lPQ19XUklURSB8IF9JT0NfUkVBRCwgJ0gnLCAweDA2LCBsZW4pCisjZGVmaW5lIEhJRElPQ0dGRUFUVVJFKGxlbikgX0lPQyhfSU9DX1dSSVRFIHwgX0lPQ19SRUFELCAnSCcsIDB4MDcsIGxlbikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhJRFJBV19GSVJTVF9NSU5PUiAwCiAjZGVmaW5lIEhJRFJBV19NQVhfREVWSUNFUyA2NApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ocGV0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hwZXQuaAppbmRleCAxOTI1NDI4Li45OGJmNzI1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hwZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hwZXQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KIHN0cnVjdCBocGV0X2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGhpX2lyZXFmcmVxOwotIHVuc2lnbmVkIGxvbmcgaGlfZmxhZ3M7Ci0gdW5zaWduZWQgc2hvcnQgaGlfaHBldDsKLSB1bnNpZ25lZCBzaG9ydCBoaV90aW1lcjsKKyAgdW5zaWduZWQgbG9uZyBoaV9pcmVxZnJlcTsKKyAgdW5zaWduZWQgbG9uZyBoaV9mbGFnczsKKyAgdW5zaWduZWQgc2hvcnQgaGlfaHBldDsKKyAgdW5zaWduZWQgc2hvcnQgaGlfdGltZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSFBFVF9JTkZPX1BFUklPRElDIDB4MDAxMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oc2kvaHNpX2NoYXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHNpL2hzaV9jaGFyLmgKaW5kZXggOWM5N2UyOS4uYmNlYWJmYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oc2kvaHNpX2NoYXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hzaS9oc2lfY2hhci5oCkBAIC0xOSwxMCArMTksMTAgQEAKICNpZm5kZWYgX19IU0lfQ0hBUl9ICiAjZGVmaW5lIF9fSFNJX0NIQVJfSAogI2RlZmluZSBIU0lfQ0hBUl9NQUdJQyAnaycKLSNkZWZpbmUgSFNDX0lPVyhudW0sIGR0eXBlKSBfSU9XKEhTSV9DSEFSX01BR0lDLCBudW0sIGR0eXBlKQorI2RlZmluZSBIU0NfSU9XKG51bSxkdHlwZSkgX0lPVyhIU0lfQ0hBUl9NQUdJQywgbnVtLCBkdHlwZSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEhTQ19JT1IobnVtLCBkdHlwZSkgX0lPUihIU0lfQ0hBUl9NQUdJQywgbnVtLCBkdHlwZSkKLSNkZWZpbmUgSFNDX0lPV1IobnVtLCBkdHlwZSkgX0lPV1IoSFNJX0NIQVJfTUFHSUMsIG51bSwgZHR5cGUpCisjZGVmaW5lIEhTQ19JT1IobnVtLGR0eXBlKSBfSU9SKEhTSV9DSEFSX01BR0lDLCBudW0sIGR0eXBlKQorI2RlZmluZSBIU0NfSU9XUihudW0sZHR5cGUpIF9JT1dSKEhTSV9DSEFSX01BR0lDLCBudW0sIGR0eXBlKQogI2RlZmluZSBIU0NfSU8obnVtKSBfSU8oSFNJX0NIQVJfTUFHSUMsIG51bSkKICNkZWZpbmUgSFNDX1JFU0VUIEhTQ19JTygxNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC00MywxNyArNDMsMTcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhTQ19BUkJfUFJJTyAxCiBzdHJ1Y3QgaHNjX3J4X2NvbmZpZyB7Ci0gdWludDMyX3QgbW9kZTsKLSB1aW50MzJfdCBmbG93OworICB1aW50MzJfdCBtb2RlOworICB1aW50MzJfdCBmbG93OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBjaGFubmVsczsKKyAgdWludDMyX3QgY2hhbm5lbHM7CiB9Owogc3RydWN0IGhzY190eF9jb25maWcgewotIHVpbnQzMl90IG1vZGU7CisgIHVpbnQzMl90IG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGNoYW5uZWxzOwotIHVpbnQzMl90IHNwZWVkOwotIHVpbnQzMl90IGFyYl9tb2RlOworICB1aW50MzJfdCBjaGFubmVsczsKKyAgdWludDMyX3Qgc3BlZWQ7CisgIHVpbnQzMl90IGFyYl9tb2RlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHNyX25ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHNyX25ldGxpbmsuaAppbmRleCBiZjQ3ZDY0Li43MjhjZTM2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2hzcl9uZXRsaW5rLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9oc3JfbmV0bGluay5oCkBAIC0xOSwzNSArMTksMzUgQEAKICNpZm5kZWYgX19VQVBJX0hTUl9ORVRMSU5LX0gKICNkZWZpbmUgX19VQVBJX0hTUl9ORVRMSU5LX0gKIGVudW0gewotIEhTUl9BX1VOU1BFQywKKyAgSFNSX0FfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBIU1JfQV9OT0RFX0FERFIsCi0gSFNSX0FfSUZJTkRFWCwKLSBIU1JfQV9JRjFfQUdFLAotIEhTUl9BX0lGMl9BR0UsCisgIEhTUl9BX05PREVfQUREUiwKKyAgSFNSX0FfSUZJTkRFWCwKKyAgSFNSX0FfSUYxX0FHRSwKKyAgSFNSX0FfSUYyX0FHRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFNSX0FfTk9ERV9BRERSX0IsCi0gSFNSX0FfSUYxX1NFUSwKLSBIU1JfQV9JRjJfU0VRLAotIEhTUl9BX0lGMV9JRklOREVYLAorICBIU1JfQV9OT0RFX0FERFJfQiwKKyAgSFNSX0FfSUYxX1NFUSwKKyAgSFNSX0FfSUYyX1NFUSwKKyAgSFNSX0FfSUYxX0lGSU5ERVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEhTUl9BX0lGMl9JRklOREVYLAotIEhTUl9BX0FERFJfQl9JRklOREVYLAotIF9fSFNSX0FfTUFYLAorICBIU1JfQV9JRjJfSUZJTkRFWCwKKyAgSFNSX0FfQUREUl9CX0lGSU5ERVgsCisgIF9fSFNSX0FfTUFYLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhTUl9BX01BWCAoX19IU1JfQV9NQVggLSAxKQogZW51bSB7Ci0gSFNSX0NfVU5TUEVDLAotIEhTUl9DX1JJTkdfRVJST1IsCisgIEhTUl9DX1VOU1BFQywKKyAgSFNSX0NfUklOR19FUlJPUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFNSX0NfTk9ERV9ET1dOLAotIEhTUl9DX0dFVF9OT0RFX1NUQVRVUywKLSBIU1JfQ19TRVRfTk9ERV9TVEFUVVMsCi0gSFNSX0NfR0VUX05PREVfTElTVCwKKyAgSFNSX0NfTk9ERV9ET1dOLAorICBIU1JfQ19HRVRfTk9ERV9TVEFUVVMsCisgIEhTUl9DX1NFVF9OT0RFX1NUQVRVUywKKyAgSFNSX0NfR0VUX05PREVfTElTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFNSX0NfU0VUX05PREVfTElTVCwKLSBfX0hTUl9DX01BWCwKKyAgSFNSX0NfU0VUX05PREVfTElTVCwKKyAgX19IU1JfQ19NQVgsCiB9OwogI2RlZmluZSBIU1JfQ19NQVggKF9fSFNSX0NfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2h3X2JyZWFrcG9pbnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHdfYnJlYWtwb2ludC5oCmluZGV4IDJmNjEwNjIuLmZlY2Y0NDkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHdfYnJlYWtwb2ludC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHdfYnJlYWtwb2ludC5oCkBAIC0xOSwyNyArMTksMjcgQEAKICNpZm5kZWYgX1VBUElfTElOVVhfSFdfQlJFQUtQT0lOVF9ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX0hXX0JSRUFLUE9JTlRfSAogZW51bSB7Ci0gSFdfQlJFQUtQT0lOVF9MRU5fMSA9IDEsCisgIEhXX0JSRUFLUE9JTlRfTEVOXzEgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBIV19CUkVBS1BPSU5UX0xFTl8yID0gMiwKLSBIV19CUkVBS1BPSU5UX0xFTl80ID0gNCwKLSBIV19CUkVBS1BPSU5UX0xFTl84ID0gOCwKKyAgSFdfQlJFQUtQT0lOVF9MRU5fMiA9IDIsCisgIEhXX0JSRUFLUE9JTlRfTEVOXzQgPSA0LAorICBIV19CUkVBS1BPSU5UX0xFTl84ID0gOCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gSFdfQlJFQUtQT0lOVF9FTVBUWSA9IDAsCi0gSFdfQlJFQUtQT0lOVF9SID0gMSwKLSBIV19CUkVBS1BPSU5UX1cgPSAyLAorICBIV19CUkVBS1BPSU5UX0VNUFRZID0gMCwKKyAgSFdfQlJFQUtQT0lOVF9SID0gMSwKKyAgSFdfQlJFQUtQT0lOVF9XID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFdfQlJFQUtQT0lOVF9SVyA9IEhXX0JSRUFLUE9JTlRfUiB8IEhXX0JSRUFLUE9JTlRfVywKLSBIV19CUkVBS1BPSU5UX1ggPSA0LAotIEhXX0JSRUFLUE9JTlRfSU5WQUxJRCA9IEhXX0JSRUFLUE9JTlRfUlcgfCBIV19CUkVBS1BPSU5UX1gsCisgIEhXX0JSRUFLUE9JTlRfUlcgPSBIV19CUkVBS1BPSU5UX1IgfCBIV19CUkVBS1BPSU5UX1csCisgIEhXX0JSRUFLUE9JTlRfWCA9IDQsCisgIEhXX0JSRUFLUE9JTlRfSU5WQUxJRCA9IEhXX0JSRUFLUE9JTlRfUlcgfCBIV19CUkVBS1BPSU5UX1gsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gYnBfdHlwZV9pZHggewotIFRZUEVfSU5TVCA9IDAsCi0gVFlQRV9EQVRBID0gMSwKLSBUWVBFX01BWAorICBUWVBFX0lOU1QgPSAwLAorICBUWVBFX0RBVEEgPSAxLAorICBUWVBFX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaHlwZXJ2LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2h5cGVydi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YjQ4ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2h5cGVydi5oCkBAIC0wLDAgKzEsMjM0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9VQVBJX0hZUEVSVl9ICisjZGVmaW5lIF9VQVBJX0hZUEVSVl9ICisjaW5jbHVkZSA8bGludXgvdXVpZC5oPgorI2RlZmluZSBVVElMX0ZXX01JTk9SIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFVUSUxfV1MySzhfRldfTUFKT1IgMQorI2RlZmluZSBVVElMX1dTMks4X0ZXX1ZFUlNJT04gKFVUSUxfV1MySzhfRldfTUFKT1IgPDwgMTYgfCBVVElMX0ZXX01JTk9SKQorI2RlZmluZSBVVElMX0ZXX01BSk9SIDMKKyNkZWZpbmUgVVRJTF9GV19WRVJTSU9OIChVVElMX0ZXX01BSk9SIDw8IDE2IHwgVVRJTF9GV19NSU5PUikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFZTU19PUF9SRUdJU1RFUiAxMjgKK2VudW0gaHZfdnNzX29wIHsKKyAgVlNTX09QX0NSRUFURSA9IDAsCisgIFZTU19PUF9ERUxFVEUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWU1NfT1BfSE9UX0JBQ0tVUCwKKyAgVlNTX09QX0dFVF9ETV9JTkZPLAorICBWU1NfT1BfQlVfQ09NUExFVEUsCisgIFZTU19PUF9GUkVFWkUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWU1NfT1BfVEhBVywKKyAgVlNTX09QX0FVVE9fUkVDT1ZFUiwKKyAgVlNTX09QX0NPVU5UCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBodl92c3NfaGRyIHsKKyAgX191OCBvcGVyYXRpb247CisgIF9fdTggcmVzZXJ2ZWRbN107Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVlNTX0hCVV9OT19BVVRPX1JFQ09WRVJZIDB4MDAwMDAwMDUKK3N0cnVjdCBodl92c3NfY2hlY2tfZmVhdHVyZSB7CisgIF9fdTMyIGZsYWdzOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgaHZfdnNzX2NoZWNrX2RtX2luZm8geworICBfX3UzMiBmbGFnczsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CitzdHJ1Y3QgaHZfdnNzX21zZyB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bmlvbiB7CisgICAgc3RydWN0IGh2X3Zzc19oZHIgdnNzX2hkcjsKKyAgICBpbnQgZXJyb3I7CisgIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bmlvbiB7CisgICAgc3RydWN0IGh2X3Zzc19jaGVja19mZWF0dXJlIHZzc19jZjsKKyAgICBzdHJ1Y3QgaHZfdnNzX2NoZWNrX2RtX2luZm8gZG1faW5mbzsKKyAgfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworI2RlZmluZSBGQ09QWV9WRVJTSU9OXzAgMAorI2RlZmluZSBGQ09QWV9DVVJSRU5UX1ZFUlNJT04gRkNPUFlfVkVSU0lPTl8wCisjZGVmaW5lIFdfTUFYX1BBVEggMjYwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSBodl9mY29weV9vcCB7CisgIFNUQVJUX0ZJTEVfQ09QWSA9IDAsCisgIFdSSVRFX1RPX0ZJTEUsCisgIENPTVBMRVRFX0ZDT1BZLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgQ0FOQ0VMX0ZDT1BZLAorfTsKK3N0cnVjdCBodl9mY29weV9oZHIgeworICBfX3UzMiBvcGVyYXRpb247CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1dWlkX2xlIHNlcnZpY2VfaWQwOworICB1dWlkX2xlIHNlcnZpY2VfaWQxOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKyNkZWZpbmUgT1ZFUl9XUklURSAweDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIENSRUFURV9QQVRIIDB4Mgorc3RydWN0IGh2X3N0YXJ0X2Zjb3B5IHsKKyAgc3RydWN0IGh2X2Zjb3B5X2hkciBoZHI7CisgIF9fdTE2IGZpbGVfbmFtZVtXX01BWF9QQVRIXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHBhdGhfbmFtZVtXX01BWF9QQVRIXTsKKyAgX191MzIgY29weV9mbGFnczsKKyAgX191NjQgZmlsZV9zaXplOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIERBVEFfRlJBR01FTlQgKDYgKiAxMDI0KQorc3RydWN0IGh2X2RvX2Zjb3B5IHsKKyAgc3RydWN0IGh2X2Zjb3B5X2hkciBoZHI7CisgIF9fdTMyIHBhZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IG9mZnNldDsKKyAgX191MzIgc2l6ZTsKKyAgX191OCBkYXRhW0RBVEFfRlJBR01FTlRdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEhWX0tWUF9FWENIQU5HRV9NQVhfVkFMVUVfU0laRSAoMjA0OCkKKyNkZWZpbmUgSFZfS1ZQX0VYQ0hBTkdFX01BWF9LRVlfU0laRSAoNTEyKQorI2RlZmluZSBSRUdfU1ogMQorI2RlZmluZSBSRUdfVTMyIDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJFR19VNjQgOAorI2RlZmluZSBLVlBfT1BfUkVHSVNURVIgNAorI2RlZmluZSBLVlBfT1BfUkVHSVNURVIxIDEwMAorZW51bSBodl9rdnBfZXhjaGdfb3AgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS1ZQX09QX0dFVCA9IDAsCisgIEtWUF9PUF9TRVQsCisgIEtWUF9PUF9ERUxFVEUsCisgIEtWUF9PUF9FTlVNRVJBVEUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBLVlBfT1BfR0VUX0lQX0lORk8sCisgIEtWUF9PUF9TRVRfSVBfSU5GTywKKyAgS1ZQX09QX0NPVU5UCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gaHZfa3ZwX2V4Y2hnX3Bvb2wgeworICBLVlBfUE9PTF9FWFRFUk5BTCA9IDAsCisgIEtWUF9QT09MX0dVRVNULAorICBLVlBfUE9PTF9BVVRPLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS1ZQX1BPT0xfQVVUT19FWFRFUk5BTCwKKyAgS1ZQX1BPT0xfQVVUT19JTlRFUk5BTCwKKyAgS1ZQX1BPT0xfQ09VTlQKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBIVl9TX09LIDB4MDAwMDAwMDAKKyNkZWZpbmUgSFZfRV9GQUlMIDB4ODAwMDQwMDUKKyNkZWZpbmUgSFZfU19DT05UIDB4ODAwNzAxMDMKKyNkZWZpbmUgSFZfRVJST1JfTk9UX1NVUFBPUlRFRCAweDgwMDcwMDMyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBIVl9FUlJPUl9NQUNISU5FX0xPQ0tFRCAweDgwMDcwNEY3CisjZGVmaW5lIEhWX0VSUk9SX0RFVklDRV9OT1RfQ09OTkVDVEVEIDB4ODAwNzA0OEYKKyNkZWZpbmUgSFZfSU5WQUxJREFSRyAweDgwMDcwMDU3CisjZGVmaW5lIEhWX0dVSURfTk9URk9VTkQgMHg4MDA0MTAwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSFZfRVJST1JfQUxSRUFEWV9FWElTVFMgMHg4MDA3MDA1MAorI2RlZmluZSBBRERSX0ZBTUlMWV9OT05FIDB4MDAKKyNkZWZpbmUgQUREUl9GQU1JTFlfSVBWNCAweDAxCisjZGVmaW5lIEFERFJfRkFNSUxZX0lQVjYgMHgwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUFYX0FEQVBURVJfSURfU0laRSAxMjgKKyNkZWZpbmUgTUFYX0lQX0FERFJfU0laRSAxMDI0CisjZGVmaW5lIE1BWF9HQVRFV0FZX1NJWkUgNTEyCitzdHJ1Y3QgaHZfa3ZwX2lwYWRkcl92YWx1ZSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBhZGFwdGVyX2lkW01BWF9BREFQVEVSX0lEX1NJWkVdOworICBfX3U4IGFkZHJfZmFtaWx5OworICBfX3U4IGRoY3BfZW5hYmxlZDsKKyAgX191MTYgaXBfYWRkcltNQVhfSVBfQUREUl9TSVpFXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHN1Yl9uZXRbTUFYX0lQX0FERFJfU0laRV07CisgIF9fdTE2IGdhdGVfd2F5W01BWF9HQVRFV0FZX1NJWkVdOworICBfX3UxNiBkbnNfYWRkcltNQVhfSVBfQUREUl9TSVpFXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGh2X2t2cF9oZHIgeworICBfX3U4IG9wZXJhdGlvbjsKKyAgX191OCBwb29sOworICBfX3UxNiBwYWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKK3N0cnVjdCBodl9rdnBfZXhjaGdfbXNnX3ZhbHVlIHsKKyAgX191MzIgdmFsdWVfdHlwZTsKKyAgX191MzIga2V5X3NpemU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiB2YWx1ZV9zaXplOworICBfX3U4IGtleVtIVl9LVlBfRVhDSEFOR0VfTUFYX0tFWV9TSVpFXTsKKyAgdW5pb24geworICAgIF9fdTggdmFsdWVbSFZfS1ZQX0VYQ0hBTkdFX01BWF9WQUxVRV9TSVpFXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgX191MzIgdmFsdWVfdTMyOworICAgIF9fdTY0IHZhbHVlX3U2NDsKKyAgfTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGh2X2t2cF9tc2dfZW51bWVyYXRlIHsKKyAgX191MzIgaW5kZXg7CisgIHN0cnVjdCBodl9rdnBfZXhjaGdfbXNnX3ZhbHVlIGRhdGE7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBodl9rdnBfbXNnX2dldCB7CisgIHN0cnVjdCBodl9rdnBfZXhjaGdfbXNnX3ZhbHVlIGRhdGE7Cit9Oworc3RydWN0IGh2X2t2cF9tc2dfc2V0IHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBodl9rdnBfZXhjaGdfbXNnX3ZhbHVlIGRhdGE7Cit9Oworc3RydWN0IGh2X2t2cF9tc2dfZGVsZXRlIHsKKyAgX191MzIga2V5X3NpemU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGtleVtIVl9LVlBfRVhDSEFOR0VfTUFYX0tFWV9TSVpFXTsKK307CitzdHJ1Y3QgaHZfa3ZwX3JlZ2lzdGVyIHsKKyAgX191OCB2ZXJzaW9uW0hWX0tWUF9FWENIQU5HRV9NQVhfS0VZX1NJWkVdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitzdHJ1Y3QgaHZfa3ZwX21zZyB7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgaHZfa3ZwX2hkciBrdnBfaGRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBpbnQgZXJyb3I7CisgIH07CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgaHZfa3ZwX21zZ19nZXQga3ZwX2dldDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgc3RydWN0IGh2X2t2cF9tc2dfc2V0IGt2cF9zZXQ7CisgICAgc3RydWN0IGh2X2t2cF9tc2dfZGVsZXRlIGt2cF9kZWxldGU7CisgICAgc3RydWN0IGh2X2t2cF9tc2dfZW51bWVyYXRlIGt2cF9lbnVtX2RhdGE7CisgICAgc3RydWN0IGh2X2t2cF9pcGFkZHJfdmFsdWUga3ZwX2lwX3ZhbDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgc3RydWN0IGh2X2t2cF9yZWdpc3RlciBrdnBfcmVnaXN0ZXI7CisgIH0gYm9keTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CitzdHJ1Y3QgaHZfa3ZwX2lwX21zZyB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IG9wZXJhdGlvbjsKKyAgX191OCBwb29sOworICBzdHJ1Y3QgaHZfa3ZwX2lwYWRkcl92YWx1ZSBrdnBfaXBfdmFsOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaTJjLWRldi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pMmMtZGV2LmgKaW5kZXggOTJkYjUzZC4uNjI2ZjRlZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pMmMtZGV2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pMmMtZGV2LmgKQEAgLTMzLDE2ICszMywxNiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSTJDX1NNQlVTIDB4MDcyMAogc3RydWN0IGkyY19zbWJ1c19pb2N0bF9kYXRhIHsKLSBfX3U4IHJlYWRfd3JpdGU7Ci0gX191OCBjb21tYW5kOworICBfX3U4IHJlYWRfd3JpdGU7CisgIF9fdTggY29tbWFuZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2l6ZTsKLSB1bmlvbiBpMmNfc21idXNfZGF0YSBfX3VzZXIgKmRhdGE7CisgIF9fdTMyIHNpemU7CisgIHVuaW9uIGkyY19zbWJ1c19kYXRhIF9fdXNlciAqIGRhdGE7CiB9Owogc3RydWN0IGkyY19yZHdyX2lvY3RsX2RhdGEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaTJjX21zZyBfX3VzZXIgKm1zZ3M7Ci0gX191MzIgbm1zZ3M7CisgIHN0cnVjdCBpMmNfbXNnIF9fdXNlciAqIG1zZ3M7CisgIF9fdTMyIG5tc2dzOwogfTsKICNkZWZpbmUgSTJDX1JEUldfSU9DVExfTUFYX01TR1MgNDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2kyYy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pMmMuaAppbmRleCAxODdmOTJmLi5iOWE3YmY4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2kyYy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaTJjLmgKQEAgLTIxLDggKzIxLDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGkyY19tc2cgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBhZGRyOwotIF9fdTE2IGZsYWdzOworICBfX3UxNiBhZGRyOworICBfX3UxNiBmbGFnczsKICNkZWZpbmUgSTJDX01fVEVOIDB4MDAxMAogI2RlZmluZSBJMkNfTV9SRCAweDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0zMyw4ICszMyw4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJMkNfTV9OT19SRF9BQ0sgMHgwODAwCiAjZGVmaW5lIEkyQ19NX1JFQ1ZfTEVOIDB4MDQwMAotIF9fdTE2IGxlbjsKLSBfX3U4ICpidWY7CisgIF9fdTE2IGxlbjsKKyAgX191OCAqIGJ1ZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJMkNfRlVOQ19JMkMgMHgwMDAwMDAwMQpAQCAtNTksMjAgKzU5LDIwIEBACiAjZGVmaW5lIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0JMT0NLX0RBVEEgMHgwMjAwMDAwMAogI2RlZmluZSBJMkNfRlVOQ19TTUJVU19SRUFEX0kyQ19CTE9DSyAweDA0MDAwMDAwCiAjZGVmaW5lIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0kyQ19CTE9DSyAweDA4MDAwMDAwCi0jZGVmaW5lIEkyQ19GVU5DX1NNQlVTX0JZVEUgKEkyQ19GVU5DX1NNQlVTX1JFQURfQllURSB8ICAgSTJDX0ZVTkNfU01CVVNfV1JJVEVfQllURSkKKyNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfQllURSAoSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFIHwgSTJDX0ZVTkNfU01CVVNfV1JJVEVfQllURSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEkyQ19GVU5DX1NNQlVTX0JZVEVfREFUQSAoSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFX0RBVEEgfCAgIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0JZVEVfREFUQSkKLSNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfV09SRF9EQVRBIChJMkNfRlVOQ19TTUJVU19SRUFEX1dPUkRfREFUQSB8ICAgSTJDX0ZVTkNfU01CVVNfV1JJVEVfV09SRF9EQVRBKQotI2RlZmluZSBJMkNfRlVOQ19TTUJVU19CTE9DS19EQVRBIChJMkNfRlVOQ19TTUJVU19SRUFEX0JMT0NLX0RBVEEgfCAgIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0JMT0NLX0RBVEEpCi0jZGVmaW5lIEkyQ19GVU5DX1NNQlVTX0kyQ19CTE9DSyAoSTJDX0ZVTkNfU01CVVNfUkVBRF9JMkNfQkxPQ0sgfCAgIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0kyQ19CTE9DSykKKyNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfQllURV9EQVRBIChJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEVfREFUQSB8IEkyQ19GVU5DX1NNQlVTX1dSSVRFX0JZVEVfREFUQSkKKyNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfV09SRF9EQVRBIChJMkNfRlVOQ19TTUJVU19SRUFEX1dPUkRfREFUQSB8IEkyQ19GVU5DX1NNQlVTX1dSSVRFX1dPUkRfREFUQSkKKyNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfQkxPQ0tfREFUQSAoSTJDX0ZVTkNfU01CVVNfUkVBRF9CTE9DS19EQVRBIHwgSTJDX0ZVTkNfU01CVVNfV1JJVEVfQkxPQ0tfREFUQSkKKyNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfSTJDX0JMT0NLIChJMkNfRlVOQ19TTUJVU19SRUFEX0kyQ19CTE9DSyB8IEkyQ19GVU5DX1NNQlVTX1dSSVRFX0kyQ19CTE9DSykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEkyQ19GVU5DX1NNQlVTX0VNVUwgKEkyQ19GVU5DX1NNQlVTX1FVSUNLIHwgICBJMkNfRlVOQ19TTUJVU19CWVRFIHwgICBJMkNfRlVOQ19TTUJVU19CWVRFX0RBVEEgfCAgIEkyQ19GVU5DX1NNQlVTX1dPUkRfREFUQSB8ICAgSTJDX0ZVTkNfU01CVVNfUFJPQ19DQUxMIHwgICBJMkNfRlVOQ19TTUJVU19XUklURV9CTE9DS19EQVRBIHwgICBJMkNfRlVOQ19TTUJVU19JMkNfQkxPQ0sgfCAgIEkyQ19GVU5DX1NNQlVTX1BFQykKKyNkZWZpbmUgSTJDX0ZVTkNfU01CVVNfRU1VTCAoSTJDX0ZVTkNfU01CVVNfUVVJQ0sgfCBJMkNfRlVOQ19TTUJVU19CWVRFIHwgSTJDX0ZVTkNfU01CVVNfQllURV9EQVRBIHwgSTJDX0ZVTkNfU01CVVNfV09SRF9EQVRBIHwgSTJDX0ZVTkNfU01CVVNfUFJPQ19DQUxMIHwgSTJDX0ZVTkNfU01CVVNfV1JJVEVfQkxPQ0tfREFUQSB8IEkyQ19GVU5DX1NNQlVTX0kyQ19CTE9DSyB8IEkyQ19GVU5DX1NNQlVTX1BFQykKICNkZWZpbmUgSTJDX1NNQlVTX0JMT0NLX01BWCAzMgogdW5pb24gaTJjX3NtYnVzX2RhdGEgewotIF9fdTggYnl0ZTsKKyAgX191OCBieXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB3b3JkOwotIF9fdTggYmxvY2tbSTJDX1NNQlVTX0JMT0NLX01BWCArIDJdOworICBfX3UxNiB3b3JkOworICBfX3U4IGJsb2NrW0kyQ19TTUJVU19CTE9DS19NQVggKyAyXTsKIH07CiAjZGVmaW5lIEkyQ19TTUJVU19SRUFEIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2kyby1kZXYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaTJvLWRldi5oCmluZGV4IGUwMjQ5OTcuLjkzMjhjYWQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaTJvLWRldi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaTJvLWRldi5oCkBAIC0yMyw5NyArMjMsOTcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgSTJPX01BR0lDX05VTUJFUiAnaScKLSNkZWZpbmUgSTJPR0VUSU9QUyBfSU9SKEkyT19NQUdJQ19OVU1CRVIsMCxfX3U4W01BWF9JMk9fQ09OVFJPTExFUlNdKQotI2RlZmluZSBJMk9IUlRHRVQgX0lPV1IoSTJPX01BR0lDX05VTUJFUiwxLHN0cnVjdCBpMm9fY21kX2hydGxjdCkKKyNkZWZpbmUgSTJPR0VUSU9QUyBfSU9SKEkyT19NQUdJQ19OVU1CRVIsIDAsIF9fdThbTUFYX0kyT19DT05UUk9MTEVSU10pCisjZGVmaW5lIEkyT0hSVEdFVCBfSU9XUihJMk9fTUFHSUNfTlVNQkVSLCAxLCBzdHJ1Y3QgaTJvX2NtZF9ocnRsY3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJMk9MQ1RHRVQgX0lPV1IoSTJPX01BR0lDX05VTUJFUiwyLHN0cnVjdCBpMm9fY21kX2hydGxjdCkKLSNkZWZpbmUgSTJPUEFSTVNFVCBfSU9XUihJMk9fTUFHSUNfTlVNQkVSLDMsc3RydWN0IGkyb19jbWRfcHNldGdldCkKLSNkZWZpbmUgSTJPUEFSTUdFVCBfSU9XUihJMk9fTUFHSUNfTlVNQkVSLDQsc3RydWN0IGkyb19jbWRfcHNldGdldCkKLSNkZWZpbmUgSTJPU1dETCBfSU9XUihJMk9fTUFHSUNfTlVNQkVSLDUsc3RydWN0IGkyb19zd194ZmVyKQorI2RlZmluZSBJMk9MQ1RHRVQgX0lPV1IoSTJPX01BR0lDX05VTUJFUiwgMiwgc3RydWN0IGkyb19jbWRfaHJ0bGN0KQorI2RlZmluZSBJMk9QQVJNU0VUIF9JT1dSKEkyT19NQUdJQ19OVU1CRVIsIDMsIHN0cnVjdCBpMm9fY21kX3BzZXRnZXQpCisjZGVmaW5lIEkyT1BBUk1HRVQgX0lPV1IoSTJPX01BR0lDX05VTUJFUiwgNCwgc3RydWN0IGkyb19jbWRfcHNldGdldCkKKyNkZWZpbmUgSTJPU1dETCBfSU9XUihJMk9fTUFHSUNfTlVNQkVSLCA1LCBzdHJ1Y3QgaTJvX3N3X3hmZXIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJMk9TV1VMIF9JT1dSKEkyT19NQUdJQ19OVU1CRVIsNixzdHJ1Y3QgaTJvX3N3X3hmZXIpCi0jZGVmaW5lIEkyT1NXREVMIF9JT1dSKEkyT19NQUdJQ19OVU1CRVIsNyxzdHJ1Y3QgaTJvX3N3X3hmZXIpCi0jZGVmaW5lIEkyT1ZBTElEQVRFIF9JT1IoSTJPX01BR0lDX05VTUJFUiw4LF9fdTMyKQotI2RlZmluZSBJMk9IVE1MIF9JT1dSKEkyT19NQUdJQ19OVU1CRVIsOSxzdHJ1Y3QgaTJvX2h0bWwpCisjZGVmaW5lIEkyT1NXVUwgX0lPV1IoSTJPX01BR0lDX05VTUJFUiwgNiwgc3RydWN0IGkyb19zd194ZmVyKQorI2RlZmluZSBJMk9TV0RFTCBfSU9XUihJMk9fTUFHSUNfTlVNQkVSLCA3LCBzdHJ1Y3QgaTJvX3N3X3hmZXIpCisjZGVmaW5lIEkyT1ZBTElEQVRFIF9JT1IoSTJPX01BR0lDX05VTUJFUiwgOCwgX191MzIpCisjZGVmaW5lIEkyT0hUTUwgX0lPV1IoSTJPX01BR0lDX05VTUJFUiwgOSwgc3RydWN0IGkyb19odG1sKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSTJPRVZUUkVHIF9JT1coSTJPX01BR0lDX05VTUJFUiwxMCxzdHJ1Y3QgaTJvX2V2dF9pZCkKLSNkZWZpbmUgSTJPRVZUR0VUIF9JT1IoSTJPX01BR0lDX05VTUJFUiwxMSxzdHJ1Y3QgaTJvX2V2dF9pbmZvKQotI2RlZmluZSBJMk9QQVNTVEhSVSBfSU9SKEkyT19NQUdJQ19OVU1CRVIsMTIsc3RydWN0IGkyb19jbWRfcGFzc3RocnUpCi0jZGVmaW5lIEkyT1BBU1NUSFJVMzIgX0lPUihJMk9fTUFHSUNfTlVNQkVSLDEyLHN0cnVjdCBpMm9fY21kX3Bhc3N0aHJ1MzIpCisjZGVmaW5lIEkyT0VWVFJFRyBfSU9XKEkyT19NQUdJQ19OVU1CRVIsIDEwLCBzdHJ1Y3QgaTJvX2V2dF9pZCkKKyNkZWZpbmUgSTJPRVZUR0VUIF9JT1IoSTJPX01BR0lDX05VTUJFUiwgMTEsIHN0cnVjdCBpMm9fZXZ0X2luZm8pCisjZGVmaW5lIEkyT1BBU1NUSFJVIF9JT1IoSTJPX01BR0lDX05VTUJFUiwgMTIsIHN0cnVjdCBpMm9fY21kX3Bhc3N0aHJ1KQorI2RlZmluZSBJMk9QQVNTVEhSVTMyIF9JT1IoSTJPX01BR0lDX05VTUJFUiwgMTIsIHN0cnVjdCBpMm9fY21kX3Bhc3N0aHJ1MzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGkyb19jbWRfcGFzc3RocnUzMiB7Ci0gdW5zaWduZWQgaW50IGlvcDsKLSBfX3UzMiBtc2c7CisgIHVuc2lnbmVkIGludCBpb3A7CisgIF9fdTMyIG1zZzsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGkyb19jbWRfcGFzc3RocnUgewotIHVuc2lnbmVkIGludCBpb3A7Ci0gdm9pZCBfX3VzZXIgKm1zZzsKKyAgdW5zaWduZWQgaW50IGlvcDsKKyAgdm9pZCBfX3VzZXIgKiBtc2c7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpMm9fY21kX2hydGxjdCB7Ci0gdW5zaWduZWQgaW50IGlvcDsKLSB2b2lkIF9fdXNlciAqcmVzYnVmOwotIHVuc2lnbmVkIGludCBfX3VzZXIgKnJlc2xlbjsKKyAgdW5zaWduZWQgaW50IGlvcDsKKyAgdm9pZCBfX3VzZXIgKiByZXNidWY7CisgIHVuc2lnbmVkIGludCBfX3VzZXIgKiByZXNsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpMm9fY21kX3BzZXRnZXQgewotIHVuc2lnbmVkIGludCBpb3A7Ci0gdW5zaWduZWQgaW50IHRpZDsKKyAgdW5zaWduZWQgaW50IGlvcDsKKyAgdW5zaWduZWQgaW50IHRpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKm9wYnVmOwotIHVuc2lnbmVkIGludCBvcGxlbjsKLSB2b2lkIF9fdXNlciAqcmVzYnVmOwotIHVuc2lnbmVkIGludCBfX3VzZXIgKnJlc2xlbjsKKyAgdm9pZCBfX3VzZXIgKiBvcGJ1ZjsKKyAgdW5zaWduZWQgaW50IG9wbGVuOworICB2b2lkIF9fdXNlciAqIHJlc2J1ZjsKKyAgdW5zaWduZWQgaW50IF9fdXNlciAqIHJlc2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGkyb19zd194ZmVyIHsKLSB1bnNpZ25lZCBpbnQgaW9wOwotIHVuc2lnbmVkIGNoYXIgZmxhZ3M7CisgIHVuc2lnbmVkIGludCBpb3A7CisgIHVuc2lnbmVkIGNoYXIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgc3dfdHlwZTsKLSB1bnNpZ25lZCBpbnQgc3dfaWQ7Ci0gdm9pZCBfX3VzZXIgKmJ1ZjsKLSB1bnNpZ25lZCBpbnQgX191c2VyICpzd2xlbjsKKyAgdW5zaWduZWQgY2hhciBzd190eXBlOworICB1bnNpZ25lZCBpbnQgc3dfaWQ7CisgIHZvaWQgX191c2VyICogYnVmOworICB1bnNpZ25lZCBpbnQgX191c2VyICogc3dsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBfX3VzZXIgKm1heGZyYWc7Ci0gdW5zaWduZWQgaW50IF9fdXNlciAqY3VyZnJhZzsKKyAgdW5zaWduZWQgaW50IF9fdXNlciAqIG1heGZyYWc7CisgIHVuc2lnbmVkIGludCBfX3VzZXIgKiBjdXJmcmFnOwogfTsKIHN0cnVjdCBpMm9faHRtbCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBpb3A7Ci0gdW5zaWduZWQgaW50IHRpZDsKLSB1bnNpZ25lZCBpbnQgcGFnZTsKLSB2b2lkIF9fdXNlciAqcmVzYnVmOworICB1bnNpZ25lZCBpbnQgaW9wOworICB1bnNpZ25lZCBpbnQgdGlkOworICB1bnNpZ25lZCBpbnQgcGFnZTsKKyAgdm9pZCBfX3VzZXIgKiByZXNidWY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBfX3VzZXIgKnJlc2xlbjsKLSB2b2lkIF9fdXNlciAqcWJ1ZjsKLSB1bnNpZ25lZCBpbnQgcWxlbjsKKyAgdW5zaWduZWQgaW50IF9fdXNlciAqIHJlc2xlbjsKKyAgdm9pZCBfX3VzZXIgKiBxYnVmOworICB1bnNpZ25lZCBpbnQgcWxlbjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJMk9fRVZUX1FfTEVOIDMyCiBzdHJ1Y3QgaTJvX2V2dF9pZCB7Ci0gdW5zaWduZWQgaW50IGlvcDsKLSB1bnNpZ25lZCBpbnQgdGlkOworICB1bnNpZ25lZCBpbnQgaW9wOworICB1bnNpZ25lZCBpbnQgdGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZXZ0X21hc2s7CisgIHVuc2lnbmVkIGludCBldnRfbWFzazsKIH07CiAjZGVmaW5lIEkyT19FVlRfREFUQV9TSVpFIDg4CiBzdHJ1Y3QgaTJvX2V2dF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGkyb19ldnRfaWQgaWQ7Ci0gdW5zaWduZWQgY2hhciBldnRfZGF0YVtJMk9fRVZUX0RBVEFfU0laRV07Ci0gdW5zaWduZWQgaW50IGRhdGFfc2l6ZTsKKyAgc3RydWN0IGkyb19ldnRfaWQgaWQ7CisgIHVuc2lnbmVkIGNoYXIgZXZ0X2RhdGFbSTJPX0VWVF9EQVRBX1NJWkVdOworICB1bnNpZ25lZCBpbnQgZGF0YV9zaXplOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaTJvX2V2dF9nZXQgewotIHN0cnVjdCBpMm9fZXZ0X2luZm8gaW5mbzsKLSBpbnQgcGVuZGluZzsKLSBpbnQgbG9zdDsKKyAgc3RydWN0IGkyb19ldnRfaW5mbyBpbmZvOworICBpbnQgcGVuZGluZzsKKyAgaW50IGxvc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHR5cGVkZWYgc3RydWN0IGkyb19zZ19pb19oZHIgewotIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdW5zaWduZWQgaW50IGZsYWdzOwogfSBpMm9fc2dfaW9faGRyX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJMk9fQlVTX0xPQ0FMIDAKQEAgLTEyNywxNDEgKzEyNywxNDEgQEAKICNkZWZpbmUgSTJPX0JVU19VTktOT1dOIDB4ODAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBfaTJvX3BjaV9idXMgewotIF9fdTggUGNpRnVuY3Rpb25OdW1iZXI7Ci0gX191OCBQY2lEZXZpY2VOdW1iZXI7Ci0gX191OCBQY2lCdXNOdW1iZXI7CisgIF9fdTggUGNpRnVuY3Rpb25OdW1iZXI7CisgIF9fdTggUGNpRGV2aWNlTnVtYmVyOworICBfX3U4IFBjaUJ1c051bWJlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDsKLSBfX3UxNiBQY2lWZW5kb3JJRDsKLSBfX3UxNiBQY2lEZXZpY2VJRDsKKyAgX191OCByZXNlcnZlZDsKKyAgX191MTYgUGNpVmVuZG9ySUQ7CisgIF9fdTE2IFBjaURldmljZUlEOwogfSBpMm9fcGNpX2J1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBfaTJvX2xvY2FsX2J1cyB7Ci0gX191MTYgTGJCYXNlSU9Qb3J0OwotIF9fdTE2IHJlc2VydmVkOwotIF9fdTMyIExiQmFzZU1lbW9yeUFkZHJlc3M7CisgIF9fdTE2IExiQmFzZUlPUG9ydDsKKyAgX191MTYgcmVzZXJ2ZWQ7CisgIF9fdTMyIExiQmFzZU1lbW9yeUFkZHJlc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBpMm9fbG9jYWxfYnVzOwogdHlwZWRlZiBzdHJ1Y3QgX2kyb19pc2FfYnVzIHsKLSBfX3UxNiBJc2FCYXNlSU9Qb3J0OwotIF9fdTggQ1NOOworICBfX3UxNiBJc2FCYXNlSU9Qb3J0OworICBfX3U4IENTTjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDsKLSBfX3UzMiBJc2FCYXNlTWVtb3J5QWRkcmVzczsKKyAgX191OCByZXNlcnZlZDsKKyAgX191MzIgSXNhQmFzZU1lbW9yeUFkZHJlc3M7CiB9IGkyb19pc2FfYnVzOwogdHlwZWRlZiBzdHJ1Y3QgX2kyb19laXNhX2J1c19pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgRWlzYUJhc2VJT1BvcnQ7Ci0gX191OCByZXNlcnZlZDsKLSBfX3U4IEVpc2FTbG90TnVtYmVyOwotIF9fdTMyIEVpc2FCYXNlTWVtb3J5QWRkcmVzczsKKyAgX191MTYgRWlzYUJhc2VJT1BvcnQ7CisgIF9fdTggcmVzZXJ2ZWQ7CisgIF9fdTggRWlzYVNsb3ROdW1iZXI7CisgIF9fdTMyIEVpc2FCYXNlTWVtb3J5QWRkcmVzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGkyb19laXNhX2J1czsKIHR5cGVkZWYgc3RydWN0IF9pMm9fbWNhX2J1cyB7Ci0gX191MTYgTWNhQmFzZUlPUG9ydDsKLSBfX3U4IHJlc2VydmVkOworICBfX3UxNiBNY2FCYXNlSU9Qb3J0OworICBfX3U4IHJlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IE1jYVNsb3ROdW1iZXI7Ci0gX191MzIgTWNhQmFzZU1lbW9yeUFkZHJlc3M7CisgIF9fdTggTWNhU2xvdE51bWJlcjsKKyAgX191MzIgTWNhQmFzZU1lbW9yeUFkZHJlc3M7CiB9IGkyb19tY2FfYnVzOwogdHlwZWRlZiBzdHJ1Y3QgX2kyb19vdGhlcl9idXMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBCYXNlSU9Qb3J0OwotIF9fdTE2IHJlc2VydmVkOwotIF9fdTMyIEJhc2VNZW1vcnlBZGRyZXNzOworICBfX3UxNiBCYXNlSU9Qb3J0OworICBfX3UxNiByZXNlcnZlZDsKKyAgX191MzIgQmFzZU1lbW9yeUFkZHJlc3M7CiB9IGkyb19vdGhlcl9idXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgX2kyb19ocnRfZW50cnkgewotIF9fdTMyIGFkYXB0ZXJfaWQ7Ci0gX191MzIgcGFyZW50X3RpZDoxMjsKLSBfX3UzMiBzdGF0ZTo0OworICBfX3UzMiBhZGFwdGVyX2lkOworICBfX3UzMiBwYXJlbnRfdGlkIDogMTI7CisgIF9fdTMyIHN0YXRlIDogNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnVzX251bTo4OwotIF9fdTMyIGJ1c190eXBlOjg7Ci0gdW5pb24gewotIGkyb19wY2lfYnVzIHBjaV9idXM7CisgIF9fdTMyIGJ1c19udW0gOiA4OworICBfX3UzMiBidXNfdHlwZSA6IDg7CisgIHVuaW9uIHsKKyAgICBpMm9fcGNpX2J1cyBwY2lfYnVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpMm9fbG9jYWxfYnVzIGxvY2FsX2J1czsKLSBpMm9faXNhX2J1cyBpc2FfYnVzOwotIGkyb19laXNhX2J1cyBlaXNhX2J1czsKLSBpMm9fbWNhX2J1cyBtY2FfYnVzOworICAgIGkyb19sb2NhbF9idXMgbG9jYWxfYnVzOworICAgIGkyb19pc2FfYnVzIGlzYV9idXM7CisgICAgaTJvX2Vpc2FfYnVzIGVpc2FfYnVzOworICAgIGkyb19tY2FfYnVzIG1jYV9idXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGkyb19vdGhlcl9idXMgb3RoZXJfYnVzOwotIH0gYnVzOworICAgIGkyb19vdGhlcl9idXMgb3RoZXJfYnVzOworICB9IGJ1czsKIH0gaTJvX2hydF9lbnRyeTsKIHR5cGVkZWYgc3RydWN0IF9pMm9faHJ0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbnVtX2VudHJpZXM7Ci0gX191OCBlbnRyeV9sZW47Ci0gX191OCBocnRfdmVyc2lvbjsKLSBfX3UzMiBjaGFuZ2VfaW5kOworICBfX3UxNiBudW1fZW50cmllczsKKyAgX191OCBlbnRyeV9sZW47CisgIF9fdTggaHJ0X3ZlcnNpb247CisgIF9fdTMyIGNoYW5nZV9pbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGkyb19ocnRfZW50cnkgaHJ0X2VudHJ5WzFdOworICBpMm9faHJ0X2VudHJ5IGhydF9lbnRyeVsxXTsKIH0gaTJvX2hydDsKIHR5cGVkZWYgc3RydWN0IF9pMm9fbGN0X2VudHJ5IHsKLSBfX3UzMiBlbnRyeV9zaXplOjE2OworICBfX3UzMiBlbnRyeV9zaXplIDogMTY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRpZDoxMjsKLSBfX3UzMiByZXNlcnZlZDo0OwotIF9fdTMyIGNoYW5nZV9pbmQ7Ci0gX191MzIgZGV2aWNlX2ZsYWdzOworICBfX3UzMiB0aWQgOiAxMjsKKyAgX191MzIgcmVzZXJ2ZWQgOiA0OworICBfX3UzMiBjaGFuZ2VfaW5kOworICBfX3UzMiBkZXZpY2VfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNsYXNzX2lkOjEyOwotIF9fdTMyIHZlcnNpb246NDsKLSBfX3UzMiB2ZW5kb3JfaWQ6MTY7Ci0gX191MzIgc3ViX2NsYXNzOworICBfX3UzMiBjbGFzc19pZCA6IDEyOworICBfX3UzMiB2ZXJzaW9uIDogNDsKKyAgX191MzIgdmVuZG9yX2lkIDogMTY7CisgIF9fdTMyIHN1Yl9jbGFzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdXNlcl90aWQ6MTI7Ci0gX191MzIgcGFyZW50X3RpZDoxMjsKLSBfX3UzMiBiaW9zX2luZm86ODsKLSBfX3U4IGlkZW50aXR5X3RhZ1s4XTsKKyAgX191MzIgdXNlcl90aWQgOiAxMjsKKyAgX191MzIgcGFyZW50X3RpZCA6IDEyOworICBfX3UzMiBiaW9zX2luZm8gOiA4OworICBfX3U4IGlkZW50aXR5X3RhZ1s4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZXZlbnRfY2FwYWJpbGl0aWVzOworICBfX3UzMiBldmVudF9jYXBhYmlsaXRpZXM7CiB9IGkyb19sY3RfZW50cnk7CiB0eXBlZGVmIHN0cnVjdCBfaTJvX2xjdCB7Ci0gX191MzIgdGFibGVfc2l6ZToxNjsKKyAgX191MzIgdGFibGVfc2l6ZSA6IDE2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBib290X3RpZDoxMjsKLSBfX3UzMiBsY3RfdmVyOjQ7Ci0gX191MzIgaW9wX2ZsYWdzOwotIF9fdTMyIGNoYW5nZV9pbmQ7CisgIF9fdTMyIGJvb3RfdGlkIDogMTI7CisgIF9fdTMyIGxjdF92ZXIgOiA0OworICBfX3UzMiBpb3BfZmxhZ3M7CisgIF9fdTMyIGNoYW5nZV9pbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGkyb19sY3RfZW50cnkgbGN0X2VudHJ5WzFdOworICBpMm9fbGN0X2VudHJ5IGxjdF9lbnRyeVsxXTsKIH0gaTJvX2xjdDsKIHR5cGVkZWYgc3RydWN0IF9pMm9fc3RhdHVzX2Jsb2NrIHsKLSBfX3UxNiBvcmdfaWQ7CisgIF9fdTE2IG9yZ19pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcmVzZXJ2ZWQ7Ci0gX191MTYgaW9wX2lkOjEyOwotIF9fdTE2IHJlc2VydmVkMTo0OwotIF9fdTE2IGhvc3RfdW5pdF9pZDsKKyAgX191MTYgcmVzZXJ2ZWQ7CisgIF9fdTE2IGlvcF9pZCA6IDEyOworICBfX3UxNiByZXNlcnZlZDEgOiA0OworICBfX3UxNiBob3N0X3VuaXRfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNlZ21lbnRfbnVtYmVyOjEyOwotIF9fdTE2IGkyb192ZXJzaW9uOjQ7Ci0gX191OCBpb3Bfc3RhdGU7Ci0gX191OCBtc2dfdHlwZTsKKyAgX191MTYgc2VnbWVudF9udW1iZXIgOiAxMjsKKyAgX191MTYgaTJvX3ZlcnNpb24gOiA0OworICBfX3U4IGlvcF9zdGF0ZTsKKyAgX191OCBtc2dfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaW5ib3VuZF9mcmFtZV9zaXplOwotIF9fdTggaW5pdF9jb2RlOwotIF9fdTggcmVzZXJ2ZWQyOwotIF9fdTMyIG1heF9pbmJvdW5kX2ZyYW1lczsKKyAgX191MTYgaW5ib3VuZF9mcmFtZV9zaXplOworICBfX3U4IGluaXRfY29kZTsKKyAgX191OCByZXNlcnZlZDI7CisgIF9fdTMyIG1heF9pbmJvdW5kX2ZyYW1lczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY3VyX2luYm91bmRfZnJhbWVzOwotIF9fdTMyIG1heF9vdXRib3VuZF9mcmFtZXM7Ci0gY2hhciBwcm9kdWN0X2lkWzI0XTsKLSBfX3UzMiBleHBlY3RlZF9sY3Rfc2l6ZTsKKyAgX191MzIgY3VyX2luYm91bmRfZnJhbWVzOworICBfX3UzMiBtYXhfb3V0Ym91bmRfZnJhbWVzOworICBjaGFyIHByb2R1Y3RfaWRbMjRdOworICBfX3UzMiBleHBlY3RlZF9sY3Rfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW9wX2NhcGFiaWxpdGllczsKLSBfX3UzMiBkZXNpcmVkX21lbV9zaXplOwotIF9fdTMyIGN1cnJlbnRfbWVtX3NpemU7Ci0gX191MzIgY3VycmVudF9tZW1fYmFzZTsKKyAgX191MzIgaW9wX2NhcGFiaWxpdGllczsKKyAgX191MzIgZGVzaXJlZF9tZW1fc2l6ZTsKKyAgX191MzIgY3VycmVudF9tZW1fc2l6ZTsKKyAgX191MzIgY3VycmVudF9tZW1fYmFzZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZGVzaXJlZF9pb19zaXplOwotIF9fdTMyIGN1cnJlbnRfaW9fc2l6ZTsKLSBfX3UzMiBjdXJyZW50X2lvX2Jhc2U7Ci0gX191MzIgcmVzZXJ2ZWQzOjI0OworICBfX3UzMiBkZXNpcmVkX2lvX3NpemU7CisgIF9fdTMyIGN1cnJlbnRfaW9fc2l6ZTsKKyAgX191MzIgY3VycmVudF9pb19iYXNlOworICBfX3UzMiByZXNlcnZlZDMgOiAyNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY21kX3N0YXR1czo4OworICBfX3UzMiBjbWRfc3RhdHVzIDogODsKIH0gaTJvX3N0YXR1c19ibG9jazsKICNkZWZpbmUgSTJPX0VWVF9JTkRfU1RBVEVfQ0hBTkdFIDB4ODAwMDAwMDAKICNkZWZpbmUgSTJPX0VWVF9JTkRfR0VORVJBTF9XQVJOSU5HIDB4NDAwMDAwMDAKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaThrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2k4ay5oCmluZGV4IGNjNWMxNmUuLmFmYzczMjggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaThrLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pOGsuaApAQCAtMjEsMTIgKzIxLDEyIEBACiAjZGVmaW5lIEk4S19QUk9DICIvcHJvYy9pOGsiCiAjZGVmaW5lIEk4S19QUk9DX0ZNVCAiMS4wIgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSThLX0JJT1NfVkVSU0lPTiBfSU9SICgnaScsIDB4ODAsIGludCkKLSNkZWZpbmUgSThLX01BQ0hJTkVfSUQgX0lPUiAoJ2knLCAweDgxLCBpbnQpCi0jZGVmaW5lIEk4S19QT1dFUl9TVEFUVVMgX0lPUiAoJ2knLCAweDgyLCBzaXplX3QpCi0jZGVmaW5lIEk4S19GTl9TVEFUVVMgX0lPUiAoJ2knLCAweDgzLCBzaXplX3QpCisjZGVmaW5lIEk4S19CSU9TX1ZFUlNJT04gX0lPUignaScsIDB4ODAsIGludCkKKyNkZWZpbmUgSThLX01BQ0hJTkVfSUQgX0lPUignaScsIDB4ODEsIGludCkKKyNkZWZpbmUgSThLX1BPV0VSX1NUQVRVUyBfSU9SKCdpJywgMHg4Miwgc2l6ZV90KQorI2RlZmluZSBJOEtfRk5fU1RBVFVTIF9JT1IoJ2knLCAweDgzLCBzaXplX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJOEtfR0VUX1RFTVAgX0lPUiAoJ2knLCAweDg0LCBzaXplX3QpCisjZGVmaW5lIEk4S19HRVRfVEVNUCBfSU9SKCdpJywgMHg4NCwgc2l6ZV90KQogI2RlZmluZSBJOEtfR0VUX1NQRUVEIF9JT1dSKCdpJywgMHg4NSwgc2l6ZV90KQogI2RlZmluZSBJOEtfR0VUX0ZBTiBfSU9XUignaScsIDB4ODYsIHNpemVfdCkKICNkZWZpbmUgSThLX1NFVF9GQU4gX0lPV1IoJ2knLCAweDg3LCBzaXplX3QpCkBAIC0zNywxMiArMzcsMTMgQEAKICNkZWZpbmUgSThLX0ZBTl9MT1cgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSThLX0ZBTl9ISUdIIDIKLSNkZWZpbmUgSThLX0ZBTl9NQVggSThLX0ZBTl9ISUdICisjZGVmaW5lIEk4S19GQU5fVFVSQk8gMworI2RlZmluZSBJOEtfRkFOX01BWCBJOEtfRkFOX1RVUkJPCiAjZGVmaW5lIEk4S19WT0xfVVAgMQotI2RlZmluZSBJOEtfVk9MX0RPV04gMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSThLX1ZPTF9ET1dOIDIKICNkZWZpbmUgSThLX1ZPTF9NVVRFIDQKICNkZWZpbmUgSThLX0FDIDEKICNkZWZpbmUgSThLX0JBVFRFUlkgMAotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ljbXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWNtcC5oCmluZGV4IDFjZjlkN2IuLjM3NzAzNTYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWNtcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWNtcC5oCkBAIC02NywyOCArNjcsMjggQEAKICNkZWZpbmUgSUNNUF9FWENfRlJBR1RJTUUgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpY21waGRyIHsKLSBfX3U4IHR5cGU7Ci0gX191OCBjb2RlOwotIF9fc3VtMTYgY2hlY2tzdW07CisgIF9fdTggdHlwZTsKKyAgX191OCBjb2RlOworICBfX3N1bTE2IGNoZWNrc3VtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHsKLSBfX2JlMTYgaWQ7Ci0gX19iZTE2IHNlcXVlbmNlOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fYmUxNiBpZDsKKyAgICAgIF9fYmUxNiBzZXF1ZW5jZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBlY2hvOwotIF9fYmUzMiBnYXRld2F5OwotIHN0cnVjdCB7Ci0gX19iZTE2IF9fbGludXhfdW51c2VkOworICAgIH0gZWNobzsKKyAgICBfX2JlMzIgZ2F0ZXdheTsKKyAgICBzdHJ1Y3QgeworICAgICAgX19iZTE2IF9fbGludXhfdW51c2VkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgbXR1OwotIH0gZnJhZzsKLSB9IHVuOworICAgICAgX19iZTE2IG10dTsKKyAgICB9IGZyYWc7CisgIH0gdW47CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUNNUF9GSUxURVIgMQogc3RydWN0IGljbXBfZmlsdGVyIHsKLSBfX3UzMiBkYXRhOworICBfX3UzMiBkYXRhOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWNtcHY2LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2ljbXB2Ni5oCmluZGV4IDU0MmVjYTUuLjA2YzY2ZmEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWNtcHY2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pY21wdjYuaApAQCAtMjIsMTQzICsyMiwxMjQgQEAKICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGljbXA2aGRyIHsKLSBfX3U4IGljbXA2X3R5cGU7Ci0gX191OCBpY21wNl9jb2RlOwotIF9fc3VtMTYgaWNtcDZfY2tzdW07CisgIF9fdTggaWNtcDZfdHlwZTsKKyAgX191OCBpY21wNl9jb2RlOworICBfX3N1bTE2IGljbXA2X2Nrc3VtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gX19iZTMyIHVuX2RhdGEzMlsxXTsKLSBfX2JlMTYgdW5fZGF0YTE2WzJdOwotIF9fdTggdW5fZGF0YThbNF07CisgIHVuaW9uIHsKKyAgICBfX2JlMzIgdW5fZGF0YTMyWzFdOworICAgIF9fYmUxNiB1bl9kYXRhMTZbMl07CisgICAgX191OCB1bl9kYXRhOFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGljbXB2Nl9lY2hvIHsKLSBfX2JlMTYgaWRlbnRpZmllcjsKLSBfX2JlMTYgc2VxdWVuY2U7Ci0gfSB1X2VjaG87CisgICAgc3RydWN0IGljbXB2Nl9lY2hvIHsKKyAgICAgIF9fYmUxNiBpZGVudGlmaWVyOworICAgICAgX19iZTE2IHNlcXVlbmNlOworICAgIH0gdV9lY2hvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaWNtcHY2X25kX2FkdnQgeworICAgIHN0cnVjdCBpY21wdjZfbmRfYWR2dCB7CiAjaWZkZWYgX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxECi0gX191MzIgcmVzZXJ2ZWQ6NSwKLSBvdmVycmlkZToxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzb2xpY2l0ZWQ6MSwKLSByb3V0ZXI6MSwKLSByZXNlcnZlZDI6MjQ7CisgICAgICBfX3UzMiByZXNlcnZlZCA6IDUsIG92ZXJyaWRlIDogMSwgc29saWNpdGVkIDogMSwgcm91dGVyIDogMSwgcmVzZXJ2ZWQyIDogMjQ7CiAjZWxpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcm91dGVyOjEsCi0gc29saWNpdGVkOjEsCi0gb3ZlcnJpZGU6MSwKLSByZXNlcnZlZDoyOTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgICBfX3UzMiByb3V0ZXIgOiAxLCBzb2xpY2l0ZWQgOiAxLCBvdmVycmlkZSA6IDEsIHJlc2VydmVkIDogMjk7CiAjZWxzZQogI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+IgogI2VuZGlmCi0gfSB1X25kX2FkdnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpY21wdjZfbmRfcmEgewotIF9fdTggaG9wX2xpbWl0OworICAgIH0gdV9uZF9hZHZ0OworICAgIHN0cnVjdCBpY21wdjZfbmRfcmEgeworICAgICAgX191OCBob3BfbGltaXQ7CiAjaWZkZWYgX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxECi0gX191OCByZXNlcnZlZDozLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSByb3V0ZXJfcHJlZjoyLAotIGhvbWVfYWdlbnQ6MSwKLSBvdGhlcjoxLAotIG1hbmFnZWQ6MTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgICBfX3U4IHJlc2VydmVkIDogMywgcm91dGVyX3ByZWYgOiAyLCBob21lX2FnZW50IDogMSwgb3RoZXIgOiAxLCBtYW5hZ2VkIDogMTsKICNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQotIF9fdTggbWFuYWdlZDoxLAotIG90aGVyOjEsCi0gaG9tZV9hZ2VudDoxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSByb3V0ZXJfcHJlZjoyLAotIHJlc2VydmVkOjM7CisgICAgICBfX3U4IG1hbmFnZWQgOiAxLCBvdGhlciA6IDEsIGhvbWVfYWdlbnQgOiAxLCByb3V0ZXJfcHJlZiA6IDIsIHJlc2VydmVkIDogMzsKICNlbHNlCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+IgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgotIF9fYmUxNiBydF9saWZldGltZTsKLSB9IHVfbmRfcmE7Ci0gfSBpY21wNl9kYXRhdW47CisgICAgICBfX2JlMTYgcnRfbGlmZXRpbWU7CisgICAgfSB1X25kX3JhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgfSBpY21wNl9kYXRhdW47CiAjZGVmaW5lIGljbXA2X2lkZW50aWZpZXIgaWNtcDZfZGF0YXVuLnVfZWNoby5pZGVudGlmaWVyCiAjZGVmaW5lIGljbXA2X3NlcXVlbmNlIGljbXA2X2RhdGF1bi51X2VjaG8uc2VxdWVuY2UKICNkZWZpbmUgaWNtcDZfcG9pbnRlciBpY21wNl9kYXRhdW4udW5fZGF0YTMyWzBdCi0jZGVmaW5lIGljbXA2X210dSBpY21wNl9kYXRhdW4udW5fZGF0YTMyWzBdCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBpY21wNl9tdHUgaWNtcDZfZGF0YXVuLnVuX2RhdGEzMlswXQogI2RlZmluZSBpY21wNl91bnVzZWQgaWNtcDZfZGF0YXVuLnVuX2RhdGEzMlswXQogI2RlZmluZSBpY21wNl9tYXhkZWxheSBpY21wNl9kYXRhdW4udW5fZGF0YTE2WzBdCiAjZGVmaW5lIGljbXA2X3JvdXRlciBpY21wNl9kYXRhdW4udV9uZF9hZHZ0LnJvdXRlcgotI2RlZmluZSBpY21wNl9zb2xpY2l0ZWQgaWNtcDZfZGF0YXVuLnVfbmRfYWR2dC5zb2xpY2l0ZWQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIGljbXA2X3NvbGljaXRlZCBpY21wNl9kYXRhdW4udV9uZF9hZHZ0LnNvbGljaXRlZAogI2RlZmluZSBpY21wNl9vdmVycmlkZSBpY21wNl9kYXRhdW4udV9uZF9hZHZ0Lm92ZXJyaWRlCiAjZGVmaW5lIGljbXA2X25kaXNjcmVzZXJ2ZWQgaWNtcDZfZGF0YXVuLnVfbmRfYWR2dC5yZXNlcnZlZAogI2RlZmluZSBpY21wNl9ob3BfbGltaXQgaWNtcDZfZGF0YXVuLnVfbmRfcmEuaG9wX2xpbWl0Ci0jZGVmaW5lIGljbXA2X2FkZHJjb25mX21hbmFnZWQgaWNtcDZfZGF0YXVuLnVfbmRfcmEubWFuYWdlZAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgaWNtcDZfYWRkcmNvbmZfbWFuYWdlZCBpY21wNl9kYXRhdW4udV9uZF9yYS5tYW5hZ2VkCiAjZGVmaW5lIGljbXA2X2FkZHJjb25mX290aGVyIGljbXA2X2RhdGF1bi51X25kX3JhLm90aGVyCiAjZGVmaW5lIGljbXA2X3J0X2xpZmV0aW1lIGljbXA2X2RhdGF1bi51X25kX3JhLnJ0X2xpZmV0aW1lCiAjZGVmaW5lIGljbXA2X3JvdXRlcl9wcmVmIGljbXA2X2RhdGF1bi51X25kX3JhLnJvdXRlcl9wcmVmCi19OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CiAjZGVmaW5lIElDTVBWNl9ST1VURVJfUFJFRl9MT1cgMHgzCiAjZGVmaW5lIElDTVBWNl9ST1VURVJfUFJFRl9NRURJVU0gMHgwCiAjZGVmaW5lIElDTVBWNl9ST1VURVJfUFJFRl9ISUdIIDB4MQotI2RlZmluZSBJQ01QVjZfUk9VVEVSX1BSRUZfSU5WQUxJRCAweDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElDTVBWNl9ST1VURVJfUFJFRl9JTlZBTElEIDB4MgogI2RlZmluZSBJQ01QVjZfREVTVF9VTlJFQUNIIDEKICNkZWZpbmUgSUNNUFY2X1BLVF9UT09CSUcgMgogI2RlZmluZSBJQ01QVjZfVElNRV9FWENFRUQgMwotI2RlZmluZSBJQ01QVjZfUEFSQU1QUk9CIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElDTVBWNl9QQVJBTVBST0IgNAogI2RlZmluZSBJQ01QVjZfSU5GT01TR19NQVNLIDB4ODAKICNkZWZpbmUgSUNNUFY2X0VDSE9fUkVRVUVTVCAxMjgKICNkZWZpbmUgSUNNUFY2X0VDSE9fUkVQTFkgMTI5Ci0jZGVmaW5lIElDTVBWNl9NR01fUVVFUlkgMTMwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJQ01QVjZfTUdNX1FVRVJZIDEzMAogI2RlZmluZSBJQ01QVjZfTUdNX1JFUE9SVCAxMzEKICNkZWZpbmUgSUNNUFY2X01HTV9SRURVQ1RJT04gMTMyCiAjZGVmaW5lIElDTVBWNl9OSV9RVUVSWSAxMzkKLSNkZWZpbmUgSUNNUFY2X05JX1JFUExZIDE0MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSUNNUFY2X05JX1JFUExZIDE0MAogI2RlZmluZSBJQ01QVjZfTUxEMl9SRVBPUlQgMTQzCiAjZGVmaW5lIElDTVBWNl9ESEFBRF9SRVFVRVNUIDE0NAogI2RlZmluZSBJQ01QVjZfREhBQURfUkVQTFkgMTQ1Ci0jZGVmaW5lIElDTVBWNl9NT0JJTEVfUFJFRklYX1NPTCAxNDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElDTVBWNl9NT0JJTEVfUFJFRklYX1NPTCAxNDYKICNkZWZpbmUgSUNNUFY2X01PQklMRV9QUkVGSVhfQURWIDE0NwogI2RlZmluZSBJQ01QVjZfTk9ST1VURSAwCiAjZGVmaW5lIElDTVBWNl9BRE1fUFJPSElCSVRFRCAxCi0jZGVmaW5lIElDTVBWNl9OT1RfTkVJR0hCT1VSIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElDTVBWNl9OT1RfTkVJR0hCT1VSIDIKICNkZWZpbmUgSUNNUFY2X0FERFJfVU5SRUFDSCAzCiAjZGVmaW5lIElDTVBWNl9QT1JUX1VOUkVBQ0ggNAogI2RlZmluZSBJQ01QVjZfUE9MSUNZX0ZBSUwgNQotI2RlZmluZSBJQ01QVjZfUkVKRUNUX1JPVVRFIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElDTVBWNl9SRUpFQ1RfUk9VVEUgNgogI2RlZmluZSBJQ01QVjZfRVhDX0hPUExJTUlUIDAKICNkZWZpbmUgSUNNUFY2X0VYQ19GUkFHVElNRSAxCiAjZGVmaW5lIElDTVBWNl9IRFJfRklFTEQgMAotI2RlZmluZSBJQ01QVjZfVU5LX05FWFRIRFIgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSUNNUFY2X1VOS19ORVhUSERSIDEKICNkZWZpbmUgSUNNUFY2X1VOS19PUFRJT04gMgogI2RlZmluZSBJQ01QVjZfRklMVEVSIDEKICNkZWZpbmUgSUNNUFY2X0ZJTFRFUl9CTE9DSyAxCi0jZGVmaW5lIElDTVBWNl9GSUxURVJfUEFTUyAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJQ01QVjZfRklMVEVSX1BBU1MgMgogI2RlZmluZSBJQ01QVjZfRklMVEVSX0JMT0NLT1RIRVJTIDMKICNkZWZpbmUgSUNNUFY2X0ZJTFRFUl9QQVNTT05MWSA0CiBzdHJ1Y3QgaWNtcDZfZmlsdGVyIHsKLSBfX3UzMiBkYXRhWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZGF0YVs4XTsKIH07CiAjZGVmaW5lIE1MRDJfTU9ERV9JU19JTkNMVURFIDEKICNkZWZpbmUgTUxEMl9NT0RFX0lTX0VYQ0xVREUgMgotI2RlZmluZSBNTEQyX0NIQU5HRV9UT19JTkNMVURFIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1MRDJfQ0hBTkdFX1RPX0lOQ0xVREUgMwogI2RlZmluZSBNTEQyX0NIQU5HRV9UT19FWENMVURFIDQKICNkZWZpbmUgTUxEMl9BTExPV19ORVdfU09VUkNFUyA1CiAjZGVmaW5lIE1MRDJfQkxPQ0tfT0xEX1NPVVJDRVMgNgotI2RlZmluZSBNTEQyX0FMTF9NQ1JfSU5JVCB7IHsgeyAweGZmLDB4MDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwweDE2IH0gfSB9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNTEQyX0FMTF9NQ1JfSU5JVCB7IHsgeyAweGZmLCAweDAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAweDE2IH0gfSB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWYuaAppbmRleCA0ZWNhODRkLi5mN2I0ZTIyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZi5oCkBAIC0yNiwxODYgKzI2LDE4NCBAQAogI2RlZmluZSBJRkFMSUFTWiAyNTYKICNpbmNsdWRlIDxsaW51eC9oZGxjL2lvY3RsLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkZfVVAgMHgxCi0jZGVmaW5lIElGRl9CUk9BRENBU1QgMHgyCi0jZGVmaW5lIElGRl9ERUJVRyAweDQKLSNkZWZpbmUgSUZGX0xPT1BCQUNLIDB4OAorZW51bSBuZXRfZGV2aWNlX2ZsYWdzIHsKKyAgSUZGX1VQID0gMSA8PCAwLAorICBJRkZfQlJPQURDQVNUID0gMSA8PCAxLAorICBJRkZfREVCVUcgPSAxIDw8IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkZfUE9JTlRPUE9JTlQgMHgxMAotI2RlZmluZSBJRkZfTk9UUkFJTEVSUyAweDIwCi0jZGVmaW5lIElGRl9SVU5OSU5HIDB4NDAKLSNkZWZpbmUgSUZGX05PQVJQIDB4ODAKKyAgSUZGX0xPT1BCQUNLID0gMSA8PCAzLAorICBJRkZfUE9JTlRPUE9JTlQgPSAxIDw8IDQsCisgIElGRl9OT1RSQUlMRVJTID0gMSA8PCA1LAorICBJRkZfUlVOTklORyA9IDEgPDwgNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElGRl9QUk9NSVNDIDB4MTAwCi0jZGVmaW5lIElGRl9BTExNVUxUSSAweDIwMAotI2RlZmluZSBJRkZfTUFTVEVSIDB4NDAwCi0jZGVmaW5lIElGRl9TTEFWRSAweDgwMAorICBJRkZfTk9BUlAgPSAxIDw8IDcsCisgIElGRl9QUk9NSVNDID0gMSA8PCA4LAorICBJRkZfQUxMTVVMVEkgPSAxIDw8IDksCisgIElGRl9NQVNURVIgPSAxIDw8IDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUZGX01VTFRJQ0FTVCAweDEwMDAKLSNkZWZpbmUgSUZGX1BPUlRTRUwgMHgyMDAwCi0jZGVmaW5lIElGRl9BVVRPTUVESUEgMHg0MDAwCi0jZGVmaW5lIElGRl9EWU5BTUlDIDB4ODAwMAorICBJRkZfU0xBVkUgPSAxIDw8IDExLAorICBJRkZfTVVMVElDQVNUID0gMSA8PCAxMiwKKyAgSUZGX1BPUlRTRUwgPSAxIDw8IDEzLAorICBJRkZfQVVUT01FRElBID0gMSA8PCAxNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElGRl9MT1dFUl9VUCAweDEwMDAwCi0jZGVmaW5lIElGRl9ET1JNQU5UIDB4MjAwMDAKLSNkZWZpbmUgSUZGX0VDSE8gMHg0MDAwMAotI2RlZmluZSBJRkZfVk9MQVRJTEUgKElGRl9MT09QQkFDS3xJRkZfUE9JTlRPUE9JTlR8SUZGX0JST0FEQ0FTVHxJRkZfRUNIT3wgIElGRl9NQVNURVJ8SUZGX1NMQVZFfElGRl9SVU5OSU5HfElGRl9MT1dFUl9VUHxJRkZfRE9STUFOVCkKKyAgSUZGX0RZTkFNSUMgPSAxIDw8IDE1LAorICBJRkZfTE9XRVJfVVAgPSAxIDw8IDE2LAorICBJRkZfRE9STUFOVCA9IDEgPDwgMTcsCisgIElGRl9FQ0hPID0gMSA8PCAxOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElGRl84MDJfMVFfVkxBTiAweDEKLSNkZWZpbmUgSUZGX0VCUklER0UgMHgyCi0jZGVmaW5lIElGRl9TTEFWRV9JTkFDVElWRSAweDQKLSNkZWZpbmUgSUZGX01BU1RFUl84MDIzQUQgMHg4Cit9OworI2RlZmluZSBJRkZfVVAgSUZGX1VQCisjZGVmaW5lIElGRl9CUk9BRENBU1QgSUZGX0JST0FEQ0FTVAorI2RlZmluZSBJRkZfREVCVUcgSUZGX0RFQlVHCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkZfTUFTVEVSX0FMQiAweDEwCi0jZGVmaW5lIElGRl9CT05ESU5HIDB4MjAKLSNkZWZpbmUgSUZGX1NMQVZFX05FRURBUlAgMHg0MAotI2RlZmluZSBJRkZfSVNBVEFQIDB4ODAKKyNkZWZpbmUgSUZGX0xPT1BCQUNLIElGRl9MT09QQkFDSworI2RlZmluZSBJRkZfUE9JTlRPUE9JTlQgSUZGX1BPSU5UT1BPSU5UCisjZGVmaW5lIElGRl9OT1RSQUlMRVJTIElGRl9OT1RSQUlMRVJTCisjZGVmaW5lIElGRl9SVU5OSU5HIElGRl9SVU5OSU5HCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkZfTUFTVEVSX0FSUE1PTiAweDEwMAotI2RlZmluZSBJRkZfV0FOX0hETEMgMHgyMDAKLSNkZWZpbmUgSUZGX1hNSVRfRFNUX1JFTEVBU0UgMHg0MDAKLSNkZWZpbmUgSUZGX0RPTlRfQlJJREdFIDB4ODAwCisjZGVmaW5lIElGRl9OT0FSUCBJRkZfTk9BUlAKKyNkZWZpbmUgSUZGX1BST01JU0MgSUZGX1BST01JU0MKKyNkZWZpbmUgSUZGX0FMTE1VTFRJIElGRl9BTExNVUxUSQorI2RlZmluZSBJRkZfTUFTVEVSIElGRl9NQVNURVIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElGRl9ESVNBQkxFX05FVFBPTEwgMHgxMDAwCi0jZGVmaW5lIElGRl9NQUNWTEFOX1BPUlQgMHgyMDAwCi0jZGVmaW5lIElGRl9CUklER0VfUE9SVCAweDQwMDAKLSNkZWZpbmUgSUZGX09WU19EQVRBUEFUSCAweDgwMDAKKyNkZWZpbmUgSUZGX1NMQVZFIElGRl9TTEFWRQorI2RlZmluZSBJRkZfTVVMVElDQVNUIElGRl9NVUxUSUNBU1QKKyNkZWZpbmUgSUZGX1BPUlRTRUwgSUZGX1BPUlRTRUwKKyNkZWZpbmUgSUZGX0FVVE9NRURJQSBJRkZfQVVUT01FRElBCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkZfVFhfU0tCX1NIQVJJTkcgMHgxMDAwMAotI2RlZmluZSBJRkZfVU5JQ0FTVF9GTFQgMHgyMDAwMAotI2RlZmluZSBJRkZfVEVBTV9QT1JUIDB4NDAwMDAKLSNkZWZpbmUgSUZGX1NVUFBfTk9GQ1MgMHg4MDAwMAorI2RlZmluZSBJRkZfRFlOQU1JQyBJRkZfRFlOQU1JQworI2RlZmluZSBJRkZfTE9XRVJfVVAgSUZGX0xPV0VSX1VQCisjZGVmaW5lIElGRl9ET1JNQU5UIElGRl9ET1JNQU5UCisjZGVmaW5lIElGRl9FQ0hPIElGRl9FQ0hPCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRkZfTElWRV9BRERSX0NIQU5HRSAweDEwMDAwMAotI2RlZmluZSBJRkZfTUFDVkxBTiAweDIwMDAwMAorI2RlZmluZSBJRkZfVk9MQVRJTEUgKElGRl9MT09QQkFDSyB8IElGRl9QT0lOVE9QT0lOVCB8IElGRl9CUk9BRENBU1QgfCBJRkZfRUNITyB8IElGRl9NQVNURVIgfCBJRkZfU0xBVkUgfCBJRkZfUlVOTklORyB8IElGRl9MT1dFUl9VUCB8IElGRl9ET1JNQU5UKQogI2RlZmluZSBJRl9HRVRfSUZBQ0UgMHgwMDAxCiAjZGVmaW5lIElGX0dFVF9QUk9UTyAweDAwMDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGX0lGQUNFX1YzNSAweDEwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGX0lGQUNFX1YyNCAweDEwMDEKICNkZWZpbmUgSUZfSUZBQ0VfWDIxIDB4MTAwMgogI2RlZmluZSBJRl9JRkFDRV9UMSAweDEwMDMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGX0lGQUNFX0UxIDB4MTAwNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZfSUZBQ0VfU1lOQ19TRVJJQUwgMHgxMDA1CiAjZGVmaW5lIElGX0lGQUNFX1gyMUQgMHgxMDA2CiAjZGVmaW5lIElGX1BST1RPX0hETEMgMHgyMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRl9QUk9UT19QUFAgMHgyMDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRl9QUk9UT19DSVNDTyAweDIwMDIKICNkZWZpbmUgSUZfUFJPVE9fRlIgMHgyMDAzCiAjZGVmaW5lIElGX1BST1RPX0ZSX0FERF9QVkMgMHgyMDA0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRl9QUk9UT19GUl9ERUxfUFZDIDB4MjAwNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZfUFJPVE9fWDI1IDB4MjAwNgogI2RlZmluZSBJRl9QUk9UT19IRExDX0VUSCAweDIwMDcKICNkZWZpbmUgSUZfUFJPVE9fRlJfQUREX0VUSF9QVkMgMHgyMDA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRl9QUk9UT19GUl9ERUxfRVRIX1BWQyAweDIwMDkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGX1BST1RPX0ZSX1BWQyAweDIwMEEKICNkZWZpbmUgSUZfUFJPVE9fRlJfRVRIX1BWQyAweDIwMEIKICNkZWZpbmUgSUZfUFJPVE9fUkFXIDB4MjAwQworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJRl9PUEVSX1VOS05PV04sCisgIElGX09QRVJfTk9UUFJFU0VOVCwKKyAgSUZfT1BFUl9ET1dOLAorICBJRl9PUEVSX0xPV0VSTEFZRVJET1dOLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSUZfT1BFUl9URVNUSU5HLAorICBJRl9PUEVSX0RPUk1BTlQsCisgIElGX09QRVJfVVAsCit9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIElGX09QRVJfVU5LTk9XTiwKLSBJRl9PUEVSX05PVFBSRVNFTlQsCi0gSUZfT1BFUl9ET1dOLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRl9PUEVSX0xPV0VSTEFZRVJET1dOLAotIElGX09QRVJfVEVTVElORywKLSBJRl9PUEVSX0RPUk1BTlQsCi0gSUZfT1BFUl9VUCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIElGX0xJTktfTU9ERV9ERUZBVUxULAorICBJRl9MSU5LX01PREVfRE9STUFOVCwKIH07Ci1lbnVtIHsKLSBJRl9MSU5LX01PREVfREVGQVVMVCwKLSBJRl9MSU5LX01PREVfRE9STUFOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19Owogc3RydWN0IGlmbWFwIHsKLSB1bnNpZ25lZCBsb25nIG1lbV9zdGFydDsKLSB1bnNpZ25lZCBsb25nIG1lbV9lbmQ7CisgIHVuc2lnbmVkIGxvbmcgbWVtX3N0YXJ0OworICB1bnNpZ25lZCBsb25nIG1lbV9lbmQ7CisgIHVuc2lnbmVkIHNob3J0IGJhc2VfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgYmFzZV9hZGRyOwotIHVuc2lnbmVkIGNoYXIgaXJxOwotIHVuc2lnbmVkIGNoYXIgZG1hOwotIHVuc2lnbmVkIGNoYXIgcG9ydDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGNoYXIgaXJxOworICB1bnNpZ25lZCBjaGFyIGRtYTsKKyAgdW5zaWduZWQgY2hhciBwb3J0OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWZfc2V0dGluZ3MgewotIHVuc2lnbmVkIGludCB0eXBlOwotIHVuc2lnbmVkIGludCBzaXplOworICB1bnNpZ25lZCBpbnQgdHlwZTsKKyAgdW5zaWduZWQgaW50IHNpemU7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHJhd19oZGxjX3Byb3RvIF9fdXNlciAqcmF3X2hkbGM7Ci0gY2lzY29fcHJvdG8gX191c2VyICpjaXNjbzsKLSBmcl9wcm90byBfX3VzZXIgKmZyOworICAgIHJhd19oZGxjX3Byb3RvIF9fdXNlciAqIHJhd19oZGxjOworICAgIGNpc2NvX3Byb3RvIF9fdXNlciAqIGNpc2NvOworICAgIGZyX3Byb3RvIF9fdXNlciAqIGZyOworICAgIGZyX3Byb3RvX3B2YyBfX3VzZXIgKiBmcl9wdmM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGZyX3Byb3RvX3B2YyBfX3VzZXIgKmZyX3B2YzsKLSBmcl9wcm90b19wdmNfaW5mbyBfX3VzZXIgKmZyX3B2Y19pbmZvOwotIHN5bmNfc2VyaWFsX3NldHRpbmdzIF9fdXNlciAqc3luYzsKLSB0ZTFfc2V0dGluZ3MgX191c2VyICp0ZTE7CisgICAgZnJfcHJvdG9fcHZjX2luZm8gX191c2VyICogZnJfcHZjX2luZm87CisgICAgc3luY19zZXJpYWxfc2V0dGluZ3MgX191c2VyICogc3luYzsKKyAgICB0ZTFfc2V0dGluZ3MgX191c2VyICogdGUxOworICB9IGlmc19pZnN1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGlmc19pZnN1OwogfTsKIHN0cnVjdCBpZnJlcSB7CiAjZGVmaW5lIElGSFdBRERSTEVOIDYKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbgotIHsKLSBjaGFyIGlmcm5fbmFtZVtJRk5BTVNJWl07Ci0gfSBpZnJfaWZybjsKKyAgICBjaGFyIGlmcm5fbmFtZVtJRk5BTVNJWl07CisgIH0gaWZyX2lmcm47CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3Qgc29ja2FkZHIgaWZydV9hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHNvY2thZGRyIGlmcnVfYWRkcjsKLSBzdHJ1Y3Qgc29ja2FkZHIgaWZydV9kc3RhZGRyOwotIHN0cnVjdCBzb2NrYWRkciBpZnJ1X2Jyb2FkYWRkcjsKKyAgICBzdHJ1Y3Qgc29ja2FkZHIgaWZydV9kc3RhZGRyOworICAgIHN0cnVjdCBzb2NrYWRkciBpZnJ1X2Jyb2FkYWRkcjsKKyAgICBzdHJ1Y3Qgc29ja2FkZHIgaWZydV9uZXRtYXNrOworICAgIHN0cnVjdCBzb2NrYWRkciBpZnJ1X2h3YWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNvY2thZGRyIGlmcnVfbmV0bWFzazsKLSBzdHJ1Y3Qgc29ja2FkZHIgaWZydV9od2FkZHI7Ci0gc2hvcnQgaWZydV9mbGFnczsKLSBpbnQgaWZydV9pdmFsdWU7CisgICAgc2hvcnQgaWZydV9mbGFnczsKKyAgICBpbnQgaWZydV9pdmFsdWU7CisgICAgaW50IGlmcnVfbXR1OworICAgIHN0cnVjdCBpZm1hcCBpZnJ1X21hcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGlmcnVfbXR1OwotIHN0cnVjdCBpZm1hcCBpZnJ1X21hcDsKLSBjaGFyIGlmcnVfc2xhdmVbSUZOQU1TSVpdOwotIGNoYXIgaWZydV9uZXduYW1lW0lGTkFNU0laXTsKKyAgICBjaGFyIGlmcnVfc2xhdmVbSUZOQU1TSVpdOworICAgIGNoYXIgaWZydV9uZXduYW1lW0lGTkFNU0laXTsKKyAgICB2b2lkIF9fdXNlciAqIGlmcnVfZGF0YTsKKyAgICBzdHJ1Y3QgaWZfc2V0dGluZ3MgaWZydV9zZXR0aW5nczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKiBpZnJ1X2RhdGE7Ci0gc3RydWN0IGlmX3NldHRpbmdzIGlmcnVfc2V0dGluZ3M7Ci0gfSBpZnJfaWZydTsKKyAgfSBpZnJfaWZydTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBpZnJfbmFtZSBpZnJfaWZybi5pZnJuX25hbWUKICNkZWZpbmUgaWZyX2h3YWRkciBpZnJfaWZydS5pZnJ1X2h3YWRkcgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgaWZyX2FkZHIgaWZyX2lmcnUuaWZydV9hZGRyCiAjZGVmaW5lIGlmcl9kc3RhZGRyIGlmcl9pZnJ1LmlmcnVfZHN0YWRkcgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgaWZyX2Jyb2FkYWRkciBpZnJfaWZydS5pZnJ1X2Jyb2FkYWRkcgogI2RlZmluZSBpZnJfbmV0bWFzayBpZnJfaWZydS5pZnJ1X25ldG1hc2sKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIGlmcl9mbGFncyBpZnJfaWZydS5pZnJ1X2ZsYWdzCiAjZGVmaW5lIGlmcl9tZXRyaWMgaWZyX2lmcnUuaWZydV9pdmFsdWUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIGlmcl9tdHUgaWZyX2lmcnUuaWZydV9tdHUKICNkZWZpbmUgaWZyX21hcCBpZnJfaWZydS5pZnJ1X21hcAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgaWZyX3NsYXZlIGlmcl9pZnJ1LmlmcnVfc2xhdmUKICNkZWZpbmUgaWZyX2RhdGEgaWZyX2lmcnUuaWZydV9kYXRhCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBpZnJfaWZpbmRleCBpZnJfaWZydS5pZnJ1X2l2YWx1ZQogI2RlZmluZSBpZnJfYmFuZHdpZHRoIGlmcl9pZnJ1LmlmcnVfaXZhbHVlCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBpZnJfcWxlbiBpZnJfaWZydS5pZnJ1X2l2YWx1ZQogI2RlZmluZSBpZnJfbmV3bmFtZSBpZnJfaWZydS5pZnJ1X25ld25hbWUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIGlmcl9zZXR0aW5ncyBpZnJfaWZydS5pZnJ1X3NldHRpbmdzCiBzdHJ1Y3QgaWZjb25mIHsKLSBpbnQgaWZjX2xlbjsKLSB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgX191c2VyICppZmN1X2J1ZjsKLSBzdHJ1Y3QgaWZyZXEgX191c2VyICppZmN1X3JlcTsKLSB9IGlmY19pZmN1OworICBpbnQgaWZjX2xlbjsKKyAgdW5pb24geworICAgIGNoYXIgX191c2VyICogaWZjdV9idWY7CisgICAgc3RydWN0IGlmcmVxIF9fdXNlciAqIGlmY3VfcmVxOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgfSBpZmNfaWZjdTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBpZmNfYnVmIGlmY19pZmN1LmlmY3VfYnVmCiAjZGVmaW5lIGlmY19yZXEgaWZjX2lmY3UuaWZjdV9yZXEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYWRkci5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hZGRyLmgKaW5kZXggZTA4YTE3Ni4uNWQ4ZDY2NyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hZGRyLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hZGRyLmgKQEAgLTIyLDI3ICsyMiwyNyBAQAogI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWZhZGRybXNnIHsKLSBfX3U4IGlmYV9mYW1pbHk7Ci0gX191OCBpZmFfcHJlZml4bGVuOwotIF9fdTggaWZhX2ZsYWdzOworICBfX3U4IGlmYV9mYW1pbHk7CisgIF9fdTggaWZhX3ByZWZpeGxlbjsKKyAgX191OCBpZmFfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaWZhX3Njb3BlOwotIF9fdTMyIGlmYV9pbmRleDsKKyAgX191OCBpZmFfc2NvcGU7CisgIF9fdTMyIGlmYV9pbmRleDsKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZBX1VOU1BFQywKLSBJRkFfQUREUkVTUywKLSBJRkFfTE9DQUwsCi0gSUZBX0xBQkVMLAorICBJRkFfVU5TUEVDLAorICBJRkFfQUREUkVTUywKKyAgSUZBX0xPQ0FMLAorICBJRkFfTEFCRUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGQV9CUk9BRENBU1QsCi0gSUZBX0FOWUNBU1QsCi0gSUZBX0NBQ0hFSU5GTywKLSBJRkFfTVVMVElDQVNULAorICBJRkFfQlJPQURDQVNULAorICBJRkFfQU5ZQ0FTVCwKKyAgSUZBX0NBQ0hFSU5GTywKKyAgSUZBX01VTFRJQ0FTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZBX0ZMQUdTLAotIF9fSUZBX01BWCwKKyAgSUZBX0ZMQUdTLAorICBfX0lGQV9NQVgsCiB9OwogI2RlZmluZSBJRkFfTUFYIChfX0lGQV9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTYxLDEzICs2MSwxMyBAQAogI2RlZmluZSBJRkFfRl9OT1BSRUZJWFJPVVRFIDB4MjAwCiBzdHJ1Y3QgaWZhX2NhY2hlaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlmYV9wcmVmZXJlZDsKLSBfX3UzMiBpZmFfdmFsaWQ7Ci0gX191MzIgY3N0YW1wOwotIF9fdTMyIHRzdGFtcDsKKyAgX191MzIgaWZhX3ByZWZlcmVkOworICBfX3UzMiBpZmFfdmFsaWQ7CisgIF9fdTMyIGNzdGFtcDsKKyAgX191MzIgdHN0YW1wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIElGQV9SVEEocikgKChzdHJ1Y3QgcnRhdHRyKikoKChjaGFyKikocikpICsgTkxNU0dfQUxJR04oc2l6ZW9mKHN0cnVjdCBpZmFkZHJtc2cpKSkpCi0jZGVmaW5lIElGQV9QQVlMT0FEKG4pIE5MTVNHX1BBWUxPQUQobixzaXplb2Yoc3RydWN0IGlmYWRkcm1zZykpCisjZGVmaW5lIElGQV9SVEEocikgKChzdHJ1Y3QgcnRhdHRyICopICgoKGNoYXIgKikgKHIpKSArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgaWZhZGRybXNnKSkpKQorI2RlZmluZSBJRkFfUEFZTE9BRChuKSBOTE1TR19QQVlMT0FEKG4sIHNpemVvZihzdHJ1Y3QgaWZhZGRybXNnKSkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYWRkcmxhYmVsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2FkZHJsYWJlbC5oCmluZGV4IDM4NDBhMTIuLjI2NmFhZGUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYWRkcmxhYmVsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hZGRybGFiZWwuaApAQCAtMjEsMTkgKzIxLDE5IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBpZmFkZHJsYmxtc2cgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGlmYWxfZmFtaWx5OwotIF9fdTggX19pZmFsX3Jlc2VydmVkOwotIF9fdTggaWZhbF9wcmVmaXhsZW47Ci0gX191OCBpZmFsX2ZsYWdzOworICBfX3U4IGlmYWxfZmFtaWx5OworICBfX3U4IF9faWZhbF9yZXNlcnZlZDsKKyAgX191OCBpZmFsX3ByZWZpeGxlbjsKKyAgX191OCBpZmFsX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZmFsX2luZGV4OwotIF9fdTMyIGlmYWxfc2VxOworICBfX3UzMiBpZmFsX2luZGV4OworICBfX3UzMiBpZmFsX3NlcTsKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZBTF9BRERSRVNTID0gMSwKLSBJRkFMX0xBQkVMID0gMiwKLSBfX0lGQUxfTUFYCisgIElGQUxfQUREUkVTUyA9IDEsCisgIElGQUxfTEFCRUwgPSAyLAorICBfX0lGQUxfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZBTF9NQVggKF9fSUZBTF9NQVggLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hbGcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYWxnLmgKaW5kZXggMzVmMTYxYy4uZWFiZDg4NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hbGcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2FsZy5oCkBAIC0yMSwxNyArMjEsMTcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHNvY2thZGRyX2FsZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhbGdfZmFtaWx5OwotIF9fdTggc2FsZ190eXBlWzE0XTsKLSBfX3UzMiBzYWxnX2ZlYXQ7Ci0gX191MzIgc2FsZ19tYXNrOworICBfX3UxNiBzYWxnX2ZhbWlseTsKKyAgX191OCBzYWxnX3R5cGVbMTRdOworICBfX3UzMiBzYWxnX2ZlYXQ7CisgIF9fdTMyIHNhbGdfbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzYWxnX25hbWVbNjRdOworICBfX3U4IHNhbGdfbmFtZVs2NF07CiB9Owogc3RydWN0IGFmX2FsZ19pdiB7Ci0gX191MzIgaXZsZW47CisgIF9fdTMyIGl2bGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGl2WzBdOworICBfX3U4IGl2WzBdOwogfTsKICNkZWZpbmUgQUxHX1NFVF9LRVkgMQogI2RlZmluZSBBTEdfU0VUX0lWIDIKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYXJjbmV0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2FyY25ldC5oCmluZGV4IDI3YzE1ZWEuLmQwMTBjN2UgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYXJjbmV0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hcmNuZXQuaApAQCAtNDIsNTUgKzQyLDUzIEBACiAjZGVmaW5lIEFSQ05FVF9BTEVOIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYXJjX3JmYzEyMDEgewotIF9fdTggcHJvdG87Ci0gX191OCBzcGxpdF9mbGFnOwotIF9fYmUxNiBzZXF1ZW5jZTsKKyAgX191OCBwcm90bzsKKyAgX191OCBzcGxpdF9mbGFnOworICBfX2JlMTYgc2VxdWVuY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGF5bG9hZFswXTsKKyAgX191OCBwYXlsb2FkWzBdOwogfTsKICNkZWZpbmUgUkZDMTIwMV9IRFJfU0laRSA0CiBzdHJ1Y3QgYXJjX3JmYzEwNTEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHByb3RvOwotIF9fdTggcGF5bG9hZFswXTsKKyAgX191OCBwcm90bzsKKyAgX191OCBwYXlsb2FkWzBdOwogfTsKICNkZWZpbmUgUkZDMTA1MV9IRFJfU0laRSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGFyY19ldGhfZW5jYXAgewotIF9fdTggcHJvdG87Ci0gc3RydWN0IGV0aGhkciBldGg7Ci0gX191OCBwYXlsb2FkWzBdOworICBfX3U4IHByb3RvOworICBzdHJ1Y3QgZXRoaGRyIGV0aDsKKyAgX191OCBwYXlsb2FkWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEVUSF9FTkNBUF9IRFJfU0laRSAxNAogc3RydWN0IGFyY19jYXAgewotIF9fdTggcHJvdG87CisgIF9fdTggcHJvdG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY29va2llW3NpemVvZihpbnQpXTsKLSB1bmlvbiB7Ci0gX191OCBhY2s7Ci0gX191OCByYXdbMF07CisgIF9fdTggY29va2llW3NpemVvZihpbnQpXTsKKyAgdW5pb24geworICAgIF9fdTggYWNrOworICAgIF9fdTggcmF3WzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IG1lczsKKyAgfSBtZXM7CiB9Owogc3RydWN0IGFyY19oYXJkd2FyZSB7Ci0gX191OCBzb3VyY2UsCisgIF9fdTggc291cmNlLCBkZXN0LCBvZmZzZXRbMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRlc3QsCi0gb2Zmc2V0WzJdOwogfTsKICNkZWZpbmUgQVJDX0hEUl9TSVpFIDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgYXJjaGRyIHsKLSBzdHJ1Y3QgYXJjX2hhcmR3YXJlIGhhcmQ7Ci0gdW5pb24gewotIHN0cnVjdCBhcmNfcmZjMTIwMSByZmMxMjAxOworICBzdHJ1Y3QgYXJjX2hhcmR3YXJlIGhhcmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBhcmNfcmZjMTA1MSByZmMxMDUxOwotIHN0cnVjdCBhcmNfZXRoX2VuY2FwIGV0aF9lbmNhcDsKLSBzdHJ1Y3QgYXJjX2NhcCBjYXA7Ci0gX191OCByYXdbMF07CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgYXJjX3JmYzEyMDEgcmZjMTIwMTsKKyAgICBzdHJ1Y3QgYXJjX3JmYzEwNTEgcmZjMTA1MTsKKyAgICBzdHJ1Y3QgYXJjX2V0aF9lbmNhcCBldGhfZW5jYXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gc29mdDsKKyAgICBzdHJ1Y3QgYXJjX2NhcCBjYXA7CisgICAgX191OCByYXdbMF07CisgIH0gc29mdDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2FycC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9hcnAuaAppbmRleCAwOWVjMDFkLi40M2YyZTdkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2FycC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYXJwLmgKQEAgLTExMSwxOSArMTExLDE5IEBACiAjZGVmaW5lIEFSUE9QX05BSyAxMAogc3RydWN0IGFycHJlcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzb2NrYWRkciBhcnBfcGE7Ci0gc3RydWN0IHNvY2thZGRyIGFycF9oYTsKLSBpbnQgYXJwX2ZsYWdzOwotIHN0cnVjdCBzb2NrYWRkciBhcnBfbmV0bWFzazsKKyAgc3RydWN0IHNvY2thZGRyIGFycF9wYTsKKyAgc3RydWN0IHNvY2thZGRyIGFycF9oYTsKKyAgaW50IGFycF9mbGFnczsKKyAgc3RydWN0IHNvY2thZGRyIGFycF9uZXRtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGFycF9kZXZbMTZdOworICBjaGFyIGFycF9kZXZbMTZdOwogfTsKIHN0cnVjdCBhcnByZXFfb2xkIHsKLSBzdHJ1Y3Qgc29ja2FkZHIgYXJwX3BhOworICBzdHJ1Y3Qgc29ja2FkZHIgYXJwX3BhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHIgYXJwX2hhOwotIGludCBhcnBfZmxhZ3M7Ci0gc3RydWN0IHNvY2thZGRyIGFycF9uZXRtYXNrOworICBzdHJ1Y3Qgc29ja2FkZHIgYXJwX2hhOworICBpbnQgYXJwX2ZsYWdzOworICBzdHJ1Y3Qgc29ja2FkZHIgYXJwX25ldG1hc2s7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVRGX0NPTSAweDAyCkBAIC0xMzQsMTIgKzEzNCwxMiBAQAogI2RlZmluZSBBVEZfTkVUTUFTSyAweDIwCiAjZGVmaW5lIEFURl9ET05UUFVCIDB4NDAKIHN0cnVjdCBhcnBoZHIgewotIF9fYmUxNiBhcl9ocmQ7CisgIF9fYmUxNiBhcl9ocmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBhcl9wcm87Ci0gdW5zaWduZWQgY2hhciBhcl9obG47Ci0gdW5zaWduZWQgY2hhciBhcl9wbG47Ci0gX19iZTE2IGFyX29wOworICBfX2JlMTYgYXJfcHJvOworICB1bnNpZ25lZCBjaGFyIGFyX2hsbjsKKyAgdW5zaWduZWQgY2hhciBhcl9wbG47CisgIF9fYmUxNiBhcl9vcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2JvbmRpbmcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYm9uZGluZy5oCmluZGV4IGMyZmFlNDIuLjI4OTIwMTUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYm9uZGluZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYm9uZGluZy5oCkBAIC01OSwyNyArNTksMjcgQEAKICNkZWZpbmUgQk9ORF9YTUlUX1BPTElDWV9FTkNBUDIzIDMKICNkZWZpbmUgQk9ORF9YTUlUX1BPTElDWV9FTkNBUDM0IDQKIHR5cGVkZWYgc3RydWN0IGlmYm9uZCB7Ci0gX19zMzIgYm9uZF9tb2RlOworICBfX3MzMiBib25kX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIG51bV9zbGF2ZXM7Ci0gX19zMzIgbWlpbW9uOworICBfX3MzMiBudW1fc2xhdmVzOworICBfX3MzMiBtaWltb247CiB9IGlmYm9uZDsKIHR5cGVkZWYgc3RydWN0IGlmc2xhdmUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBzbGF2ZV9pZDsKLSBjaGFyIHNsYXZlX25hbWVbSUZOQU1TSVpdOwotIF9fczggbGluazsKLSBfX3M4IHN0YXRlOworICBfX3MzMiBzbGF2ZV9pZDsKKyAgY2hhciBzbGF2ZV9uYW1lW0lGTkFNU0laXTsKKyAgX19zOCBsaW5rOworICBfX3M4IHN0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsaW5rX2ZhaWx1cmVfY291bnQ7CisgIF9fdTMyIGxpbmtfZmFpbHVyZV9jb3VudDsKIH0gaWZzbGF2ZTsKIHN0cnVjdCBhZF9pbmZvIHsKLSBfX3UxNiBhZ2dyZWdhdG9yX2lkOworICBfX3UxNiBhZ2dyZWdhdG9yX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBwb3J0czsKLSBfX3UxNiBhY3Rvcl9rZXk7Ci0gX191MTYgcGFydG5lcl9rZXk7Ci0gX191OCBwYXJ0bmVyX3N5c3RlbVtFVEhfQUxFTl07CisgIF9fdTE2IHBvcnRzOworICBfX3UxNiBhY3Rvcl9rZXk7CisgIF9fdTE2IHBhcnRuZXJfa2V5OworICBfX3U4IHBhcnRuZXJfc3lzdGVtW0VUSF9BTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2JyaWRnZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9icmlkZ2UuaAppbmRleCAzNjY5MTJlLi4xMzk0YjZmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2JyaWRnZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfYnJpZGdlLmgKQEAgLTIxLDE4MCArMjEsMTgxIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpbmNsdWRlIDxsaW51eC9pbjYuaD4KICNkZWZpbmUgU1lTRlNfQlJJREdFX0FUVFIgImJyaWRnZSIKICNkZWZpbmUgU1lTRlNfQlJJREdFX0ZEQiAiYnJmb3J3YXJkIgogI2RlZmluZSBTWVNGU19CUklER0VfUE9SVF9TVUJESVIgImJyaWYiCi0jZGVmaW5lIFNZU0ZTX0JSSURHRV9QT1JUX0FUVFIgImJycG9ydCIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNZU0ZTX0JSSURHRV9QT1JUX0FUVFIgImJycG9ydCIKICNkZWZpbmUgU1lTRlNfQlJJREdFX1BPUlRfTElOSyAiYnJpZGdlIgogI2RlZmluZSBCUkNUTF9WRVJTSU9OIDEKICNkZWZpbmUgQlJDVExfR0VUX1ZFUlNJT04gMAotI2RlZmluZSBCUkNUTF9HRVRfQlJJREdFUyAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCUkNUTF9HRVRfQlJJREdFUyAxCiAjZGVmaW5lIEJSQ1RMX0FERF9CUklER0UgMgogI2RlZmluZSBCUkNUTF9ERUxfQlJJREdFIDMKICNkZWZpbmUgQlJDVExfQUREX0lGIDQKLSNkZWZpbmUgQlJDVExfREVMX0lGIDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJSQ1RMX0RFTF9JRiA1CiAjZGVmaW5lIEJSQ1RMX0dFVF9CUklER0VfSU5GTyA2CiAjZGVmaW5lIEJSQ1RMX0dFVF9QT1JUX0xJU1QgNwogI2RlZmluZSBCUkNUTF9TRVRfQlJJREdFX0ZPUldBUkRfREVMQVkgOAotI2RlZmluZSBCUkNUTF9TRVRfQlJJREdFX0hFTExPX1RJTUUgOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlJDVExfU0VUX0JSSURHRV9IRUxMT19USU1FIDkKICNkZWZpbmUgQlJDVExfU0VUX0JSSURHRV9NQVhfQUdFIDEwCiAjZGVmaW5lIEJSQ1RMX1NFVF9BR0VJTkdfVElNRSAxMQogI2RlZmluZSBCUkNUTF9TRVRfR0NfSU5URVJWQUwgMTIKLSNkZWZpbmUgQlJDVExfR0VUX1BPUlRfSU5GTyAxMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlJDVExfR0VUX1BPUlRfSU5GTyAxMwogI2RlZmluZSBCUkNUTF9TRVRfQlJJREdFX1NUUF9TVEFURSAxNAogI2RlZmluZSBCUkNUTF9TRVRfQlJJREdFX1BSSU9SSVRZIDE1CiAjZGVmaW5lIEJSQ1RMX1NFVF9QT1JUX1BSSU9SSVRZIDE2Ci0jZGVmaW5lIEJSQ1RMX1NFVF9QQVRIX0NPU1QgMTcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJSQ1RMX1NFVF9QQVRIX0NPU1QgMTcKICNkZWZpbmUgQlJDVExfR0VUX0ZEQl9FTlRSSUVTIDE4CiAjZGVmaW5lIEJSX1NUQVRFX0RJU0FCTEVEIDAKICNkZWZpbmUgQlJfU1RBVEVfTElTVEVOSU5HIDEKLSNkZWZpbmUgQlJfU1RBVEVfTEVBUk5JTkcgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlJfU1RBVEVfTEVBUk5JTkcgMgogI2RlZmluZSBCUl9TVEFURV9GT1JXQVJESU5HIDMKICNkZWZpbmUgQlJfU1RBVEVfQkxPQ0tJTkcgNAogc3RydWN0IF9fYnJpZGdlX2luZm8gewotIF9fdTY0IGRlc2lnbmF0ZWRfcm9vdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYnJpZGdlX2lkOwotIF9fdTMyIHJvb3RfcGF0aF9jb3N0OwotIF9fdTMyIG1heF9hZ2U7Ci0gX191MzIgaGVsbG9fdGltZTsKKyAgX191NjQgZGVzaWduYXRlZF9yb290OworICBfX3U2NCBicmlkZ2VfaWQ7CisgIF9fdTMyIHJvb3RfcGF0aF9jb3N0OworICBfX3UzMiBtYXhfYWdlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmb3J3YXJkX2RlbGF5OwotIF9fdTMyIGJyaWRnZV9tYXhfYWdlOwotIF9fdTMyIGJyaWRnZV9oZWxsb190aW1lOwotIF9fdTMyIGJyaWRnZV9mb3J3YXJkX2RlbGF5OworICBfX3UzMiBoZWxsb190aW1lOworICBfX3UzMiBmb3J3YXJkX2RlbGF5OworICBfX3UzMiBicmlkZ2VfbWF4X2FnZTsKKyAgX191MzIgYnJpZGdlX2hlbGxvX3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdG9wb2xvZ3lfY2hhbmdlOwotIF9fdTggdG9wb2xvZ3lfY2hhbmdlX2RldGVjdGVkOwotIF9fdTggcm9vdF9wb3J0OwotIF9fdTggc3RwX2VuYWJsZWQ7CisgIF9fdTMyIGJyaWRnZV9mb3J3YXJkX2RlbGF5OworICBfX3U4IHRvcG9sb2d5X2NoYW5nZTsKKyAgX191OCB0b3BvbG9neV9jaGFuZ2VfZGV0ZWN0ZWQ7CisgIF9fdTggcm9vdF9wb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhZ2VpbmdfdGltZTsKLSBfX3UzMiBnY19pbnRlcnZhbDsKLSBfX3UzMiBoZWxsb190aW1lcl92YWx1ZTsKLSBfX3UzMiB0Y25fdGltZXJfdmFsdWU7CisgIF9fdTggc3RwX2VuYWJsZWQ7CisgIF9fdTMyIGFnZWluZ190aW1lOworICBfX3UzMiBnY19pbnRlcnZhbDsKKyAgX191MzIgaGVsbG9fdGltZXJfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRvcG9sb2d5X2NoYW5nZV90aW1lcl92YWx1ZTsKLSBfX3UzMiBnY190aW1lcl92YWx1ZTsKKyAgX191MzIgdGNuX3RpbWVyX3ZhbHVlOworICBfX3UzMiB0b3BvbG9neV9jaGFuZ2VfdGltZXJfdmFsdWU7CisgIF9fdTMyIGdjX3RpbWVyX3ZhbHVlOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgX19wb3J0X2luZm8geworICBfX3U2NCBkZXNpZ25hdGVkX3Jvb3Q7CisgIF9fdTY0IGRlc2lnbmF0ZWRfYnJpZGdlOworICBfX3UxNiBwb3J0X2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkZXNpZ25hdGVkX3Jvb3Q7Ci0gX191NjQgZGVzaWduYXRlZF9icmlkZ2U7Ci0gX191MTYgcG9ydF9pZDsKLSBfX3UxNiBkZXNpZ25hdGVkX3BvcnQ7CisgIF9fdTE2IGRlc2lnbmF0ZWRfcG9ydDsKKyAgX191MzIgcGF0aF9jb3N0OworICBfX3UzMiBkZXNpZ25hdGVkX2Nvc3Q7CisgIF9fdTggc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBhdGhfY29zdDsKLSBfX3UzMiBkZXNpZ25hdGVkX2Nvc3Q7Ci0gX191OCBzdGF0ZTsKLSBfX3U4IHRvcF9jaGFuZ2VfYWNrOworICBfX3U4IHRvcF9jaGFuZ2VfYWNrOworICBfX3U4IGNvbmZpZ19wZW5kaW5nOworICBfX3U4IHVudXNlZDA7CisgIF9fdTMyIG1lc3NhZ2VfYWdlX3RpbWVyX3ZhbHVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNvbmZpZ19wZW5kaW5nOwotIF9fdTggdW51c2VkMDsKLSBfX3UzMiBtZXNzYWdlX2FnZV90aW1lcl92YWx1ZTsKLSBfX3UzMiBmb3J3YXJkX2RlbGF5X3RpbWVyX3ZhbHVlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBob2xkX3RpbWVyX3ZhbHVlOworICBfX3UzMiBmb3J3YXJkX2RlbGF5X3RpbWVyX3ZhbHVlOworICBfX3UzMiBob2xkX3RpbWVyX3ZhbHVlOwogfTsKIHN0cnVjdCBfX2ZkYl9lbnRyeSB7Ci0gX191OCBtYWNfYWRkcltFVEhfQUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcG9ydF9ubzsKLSBfX3U4IGlzX2xvY2FsOwotIF9fdTMyIGFnZWluZ190aW1lcl92YWx1ZTsKLSBfX3U4IHBvcnRfaGk7CisgIF9fdTggbWFjX2FkZHJbRVRIX0FMRU5dOworICBfX3U4IHBvcnRfbm87CisgIF9fdTggaXNfbG9jYWw7CisgIF9fdTMyIGFnZWluZ190aW1lcl92YWx1ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwYWQwOwotIF9fdTE2IHVudXNlZDsKKyAgX191OCBwb3J0X2hpOworICBfX3U4IHBhZDA7CisgIF9fdTE2IHVudXNlZDsKIH07Ci0jZGVmaW5lIEJSSURHRV9GTEFHU19NQVNURVIgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlJJREdFX0ZMQUdTX01BU1RFUiAxCiAjZGVmaW5lIEJSSURHRV9GTEFHU19TRUxGIDIKICNkZWZpbmUgQlJJREdFX01PREVfVkVCIDAKICNkZWZpbmUgQlJJREdFX01PREVfVkVQQSAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7CisgIElGTEFfQlJJREdFX0ZMQUdTLAorICBJRkxBX0JSSURHRV9NT0RFLAorICBJRkxBX0JSSURHRV9WTEFOX0lORk8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfQlJJREdFX0ZMQUdTLAotIElGTEFfQlJJREdFX01PREUsCi0gSUZMQV9CUklER0VfVkxBTl9JTkZPLAotIF9fSUZMQV9CUklER0VfTUFYLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19JRkxBX0JSSURHRV9NQVgsCiB9OwogI2RlZmluZSBJRkxBX0JSSURHRV9NQVggKF9fSUZMQV9CUklER0VfTUFYIC0gMSkKLSNkZWZpbmUgQlJJREdFX1ZMQU5fSU5GT19NQVNURVIgKDE8PDApCi0jZGVmaW5lIEJSSURHRV9WTEFOX0lORk9fUFZJRCAoMTw8MSkKKyNkZWZpbmUgQlJJREdFX1ZMQU5fSU5GT19NQVNURVIgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEJSSURHRV9WTEFOX0lORk9fVU5UQUdHRUQgKDE8PDIpCisjZGVmaW5lIEJSSURHRV9WTEFOX0lORk9fUFZJRCAoMSA8PCAxKQorI2RlZmluZSBCUklER0VfVkxBTl9JTkZPX1VOVEFHR0VEICgxIDw8IDIpCiBzdHJ1Y3QgYnJpZGdlX3ZsYW5faW5mbyB7Ci0gX191MTYgZmxhZ3M7Ci0gX191MTYgdmlkOworICBfX3UxNiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHZpZDsKIH07CiBlbnVtIHsKLSBNREJBX1VOU1BFQywKLSBNREJBX01EQiwKKyAgTURCQV9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1EQkFfUk9VVEVSLAotIF9fTURCQV9NQVgsCisgIE1EQkFfTURCLAorICBNREJBX1JPVVRFUiwKKyAgX19NREJBX01BWCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNREJBX01BWCAoX19NREJBX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gTURCQV9NREJfVU5TUEVDLAotIE1EQkFfTURCX0VOVFJZLAotIF9fTURCQV9NREJfTUFYLAorICBNREJBX01EQl9VTlNQRUMsCisgIE1EQkFfTURCX0VOVFJZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19NREJBX01EQl9NQVgsCiB9OwogI2RlZmluZSBNREJBX01EQl9NQVggKF9fTURCQV9NREJfTUFYIC0gMSkKIGVudW0gewotIE1EQkFfTURCX0VOVFJZX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTURCQV9NREJfRU5UUllfSU5GTywKLSBfX01EQkFfTURCX0VOVFJZX01BWCwKKyAgTURCQV9NREJfRU5UUllfVU5TUEVDLAorICBNREJBX01EQl9FTlRSWV9JTkZPLAorICBfX01EQkFfTURCX0VOVFJZX01BWCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNREJBX01EQl9FTlRSWV9NQVggKF9fTURCQV9NREJfRU5UUllfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBNREJBX1JPVVRFUl9VTlNQRUMsCi0gTURCQV9ST1VURVJfUE9SVCwKLSBfX01EQkFfUk9VVEVSX01BWCwKKyAgTURCQV9ST1VURVJfVU5TUEVDLAorICBNREJBX1JPVVRFUl9QT1JULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19NREJBX1JPVVRFUl9NQVgsCiB9OwogI2RlZmluZSBNREJBX1JPVVRFUl9NQVggKF9fTURCQV9ST1VURVJfTUFYIC0gMSkKIHN0cnVjdCBicl9wb3J0X21zZyB7Ci0gX191OCBmYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlmaW5kZXg7CisgIF9fdTggZmFtaWx5OworICBfX3UzMiBpZmluZGV4OwogfTsKIHN0cnVjdCBicl9tZGJfZW50cnkgewotIF9fdTMyIGlmaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBpZmluZGV4OwogI2RlZmluZSBNREJfVEVNUE9SQVJZIDAKICNkZWZpbmUgTURCX1BFUk1BTkVOVCAxCi0gX191OCBzdGF0ZTsKLSBzdHJ1Y3QgeworICBfX3U4IHN0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gX19iZTMyIGlwNDsKLSBzdHJ1Y3QgaW42X2FkZHIgaXA2OwotIH0gdTsKKyAgc3RydWN0IHsKKyAgICB1bmlvbiB7CisgICAgICBfX2JlMzIgaXA0OworICAgICAgc3RydWN0IGluNl9hZGRyIGlwNjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IHByb3RvOwotIH0gYWRkcjsKKyAgICB9IHU7CisgICAgX19iZTE2IHByb3RvOworICB9IGFkZHI7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0geworICBNREJBX1NFVF9FTlRSWV9VTlNQRUMsCisgIE1EQkFfU0VUX0VOVFJZLAorICBfX01EQkFfU0VUX0VOVFJZX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTURCQV9TRVRfRU5UUllfVU5TUEVDLAotIE1EQkFfU0VUX0VOVFJZLAotIF9fTURCQV9TRVRfRU5UUllfTUFYLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1EQkFfU0VUX0VOVFJZX01BWCAoX19NREJBX1NFVF9FTlRSWV9NQVggLSAxKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2NhYmxlbW9kZW0uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfY2FibGVtb2RlbS5oCmluZGV4IDcxNmI5M2YuLjQ1MDM5ZTUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfY2FibGVtb2RlbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfY2FibGVtb2RlbS5oCkBAIC0xOCwxMiArMTgsMTIgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfTElOVVhfQ0FCTEVNT0RFTV9IXwogI2RlZmluZSBfTElOVVhfQ0FCTEVNT0RFTV9IXwotI2RlZmluZSBTSU9DR0NNU1RBVFMgKFNJT0NERVZQUklWQVRFKzApCi0jZGVmaW5lIFNJT0NHQ01GSVJNV0FSRSAoU0lPQ0RFVlBSSVZBVEUrMSkKKyNkZWZpbmUgU0lPQ0dDTVNUQVRTIChTSU9DREVWUFJJVkFURSArIDApCisjZGVmaW5lIFNJT0NHQ01GSVJNV0FSRSAoU0lPQ0RFVlBSSVZBVEUgKyAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0lPQ0dDTUZSRVFVRU5DWSAoU0lPQ0RFVlBSSVZBVEUrMikKLSNkZWZpbmUgU0lPQ1NDTUZSRVFVRU5DWSAoU0lPQ0RFVlBSSVZBVEUrMykKLSNkZWZpbmUgU0lPQ0dDTVBJRFMgKFNJT0NERVZQUklWQVRFKzQpCi0jZGVmaW5lIFNJT0NTQ01QSURTIChTSU9DREVWUFJJVkFURSs1KQorI2RlZmluZSBTSU9DR0NNRlJFUVVFTkNZIChTSU9DREVWUFJJVkFURSArIDIpCisjZGVmaW5lIFNJT0NTQ01GUkVRVUVOQ1kgKFNJT0NERVZQUklWQVRFICsgMykKKyNkZWZpbmUgU0lPQ0dDTVBJRFMgKFNJT0NERVZQUklWQVRFICsgNCkKKyNkZWZpbmUgU0lPQ1NDTVBJRFMgKFNJT0NERVZQUklWQVRFICsgNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZXFsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2VxbC5oCmluZGV4IDQxMTIwMTEuLjU1YzgwM2YgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZXFsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9lcWwuaApAQCAtMzIsMTkgKzMyLDE5IEBACiAjZGVmaW5lIEVRTF9TRVRNQVNUUkNGRyAoU0lPQ0RFVlBSSVZBVEUgKyA1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IG1hc3Rlcl9jb25maWcgewotIGNoYXIgbWFzdGVyX25hbWVbMTZdOwotIGludCBtYXhfc2xhdmVzOwotIGludCBtaW5fc2xhdmVzOworICBjaGFyIG1hc3Rlcl9uYW1lWzE2XTsKKyAgaW50IG1heF9zbGF2ZXM7CisgIGludCBtaW5fc2xhdmVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gbWFzdGVyX2NvbmZpZ190OwogdHlwZWRlZiBzdHJ1Y3Qgc2xhdmVfY29uZmlnIHsKLSBjaGFyIHNsYXZlX25hbWVbMTZdOwotIGxvbmcgcHJpb3JpdHk7CisgIGNoYXIgc2xhdmVfbmFtZVsxNl07CisgIGxvbmcgcHJpb3JpdHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBzbGF2ZV9jb25maWdfdDsKIHR5cGVkZWYgc3RydWN0IHNsYXZpbmdfcmVxdWVzdCB7Ci0gY2hhciBzbGF2ZV9uYW1lWzE2XTsKLSBsb25nIHByaW9yaXR5OworICBjaGFyIHNsYXZlX25hbWVbMTZdOworICBsb25nIHByaW9yaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gc2xhdmluZ19yZXF1ZXN0X3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZXRoZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZXRoZXIuaAppbmRleCA2MTBmNzBiLi5iYzAzMmNjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2V0aGVyLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9ldGhlci5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNkZWZpbmUgRVRIX1BfU0xPVyAweDg4MDkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QX1dDQ1AgMHg4ODNFCi0jZGVmaW5lIEVUSF9QX1BQUF9ESVNDIDB4ODg2MwotI2RlZmluZSBFVEhfUF9QUFBfU0VTIDB4ODg2NAogI2RlZmluZSBFVEhfUF9NUExTX1VDIDB4ODg0NwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfTVBMU19NQyAweDg4NDgKICNkZWZpbmUgRVRIX1BfQVRNTVBPQSAweDg4NGMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEVUSF9QX1BQUF9ESVNDIDB4ODg2MworI2RlZmluZSBFVEhfUF9QUFBfU0VTIDB4ODg2NAogI2RlZmluZSBFVEhfUF9MSU5LX0NUTCAweDg4NmMKICNkZWZpbmUgRVRIX1BfQVRNRkFURSAweDg4ODQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC04Niw0OCArODYsNTEgQEAKICNkZWZpbmUgRVRIX1BfVERMUyAweDg5MEQKICNkZWZpbmUgRVRIX1BfRklQIDB4ODkxNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVRIX1BfODAyMjEgMHg4OTE3CisjZGVmaW5lIEVUSF9QX0xPT1BCQUNLIDB4OTAwMAogI2RlZmluZSBFVEhfUF9RSU5RMSAweDkxMDAKICNkZWZpbmUgRVRIX1BfUUlOUTIgMHg5MjAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFVEhfUF9RSU5RMyAweDkzMDAKICNkZWZpbmUgRVRIX1BfRURTQSAweERBREEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QX0FGX0lVQ1YgMHhGQkZCCiAjZGVmaW5lIEVUSF9QXzgwMl8zX01JTiAweDA2MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QXzgwMl8zIDB4MDAwMQogI2RlZmluZSBFVEhfUF9BWDI1IDB4MDAwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfQUxMIDB4MDAwMwogI2RlZmluZSBFVEhfUF84MDJfMiAweDAwMDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QX1NOQVAgMHgwMDA1CiAjZGVmaW5lIEVUSF9QX0REQ01QIDB4MDAwNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfV0FOX1BQUCAweDAwMDcKICNkZWZpbmUgRVRIX1BfUFBQX01QIDB4MDAwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfTE9DQUxUQUxLIDB4MDAwOQogI2RlZmluZSBFVEhfUF9DQU4gMHgwMDBDCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFVEhfUF9DQU5GRCAweDAwMEQKICNkZWZpbmUgRVRIX1BfUFBQVEFMSyAweDAwMTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QX1RSXzgwMl8yIDB4MDAxMQogI2RlZmluZSBFVEhfUF9NT0JJVEVYIDB4MDAxNQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfQ09OVFJPTCAweDAwMTYKICNkZWZpbmUgRVRIX1BfSVJEQSAweDAwMTcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QX0VDT05FVCAweDAwMTgKICNkZWZpbmUgRVRIX1BfSERMQyAweDAwMTkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVUSF9QX0FSQ05FVCAweDAwMUEKICNkZWZpbmUgRVRIX1BfRFNBIDB4MDAxQgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfVFJBSUxFUiAweDAwMUMKICNkZWZpbmUgRVRIX1BfUEhPTkVUIDB4MDBGNQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVRIX1BfSUVFRTgwMjE1NCAweDAwRjYKICNkZWZpbmUgRVRIX1BfQ0FJRiAweDAwRjcKLXN0cnVjdCBldGhoZHIgewotIHVuc2lnbmVkIGNoYXIgaF9kZXN0W0VUSF9BTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBoX3NvdXJjZVtFVEhfQUxFTl07Ci0gX19iZTE2IGhfcHJvdG87CisjZGVmaW5lIEVUSF9QX1hEU0EgMHgwMEY4CitzdHJ1Y3QgZXRoaGRyIHsKKyAgdW5zaWduZWQgY2hhciBoX2Rlc3RbRVRIX0FMRU5dOworICB1bnNpZ25lZCBjaGFyIGhfc291cmNlW0VUSF9BTEVOXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fYmUxNiBoX3Byb3RvOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZmMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZmMuaAppbmRleCA1MjdjMTVlLi43NTg0ZmEyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2ZjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9mYy5oCkBAIC0yMSwyMyArMjEsMjMgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2RlZmluZSBGQ19BTEVOIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEZDX0hMRU4gKHNpemVvZihzdHJ1Y3QgZmNoX2hkcikrc2l6ZW9mKHN0cnVjdCBmY2xsYykpCisjZGVmaW5lIEZDX0hMRU4gKHNpemVvZihzdHJ1Y3QgZmNoX2hkcikgKyBzaXplb2Yoc3RydWN0IGZjbGxjKSkKICNkZWZpbmUgRkNfSURfTEVOIDMKICNkZWZpbmUgRVhURU5ERURfU0FQIDB4QUEKICNkZWZpbmUgVUlfQ01EIDB4MDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmNoX2hkciB7Ci0gX191OCBkYWRkcltGQ19BTEVOXTsKLSBfX3U4IHNhZGRyW0ZDX0FMRU5dOworICBfX3U4IGRhZGRyW0ZDX0FMRU5dOworICBfX3U4IHNhZGRyW0ZDX0FMRU5dOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmNsbGMgewotIF9fdTggZHNhcDsKLSBfX3U4IHNzYXA7Ci0gX191OCBsbGM7CisgIF9fdTggZHNhcDsKKyAgX191OCBzc2FwOworICBfX3U4IGxsYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwcm90aWRbM107Ci0gX19iZTE2IGV0aGVydHlwZTsKKyAgX191OCBwcm90aWRbM107CisgIF9fYmUxNiBldGhlcnR5cGU7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9mZGRpLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2ZkZGkuaAppbmRleCA2OTlhZTQ0Li5lNzJlZDdmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2ZkZGkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2ZkZGkuaApAQCAtMzEsNjQgKzMxLDYzIEBACiAjZGVmaW5lIEZERElfS19MTENfWkxFTiAxMwogI2RlZmluZSBGRERJX0tfTExDX0xFTiA0NDkxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGRERJX0tfT1VJX0xFTiAzCiAjZGVmaW5lIEZERElfRkNfS19WT0lEIDB4MDAKICNkZWZpbmUgRkRESV9GQ19LX05PTl9SRVNUUklDVEVEX1RPS0VOIDB4ODAKICNkZWZpbmUgRkRESV9GQ19LX1JFU1RSSUNURURfVE9LRU4gMHhDMAotI2RlZmluZSBGRERJX0ZDX0tfU01UX01JTiAweDQxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBGRERJX0ZDX0tfU01UX01JTiAweDQxCiAjZGVmaW5lIEZERElfRkNfS19TTVRfTUFYIDB4NEYKICNkZWZpbmUgRkRESV9GQ19LX01BQ19NSU4gMHhDMQogI2RlZmluZSBGRERJX0ZDX0tfTUFDX01BWCAweENGCi0jZGVmaW5lIEZERElfRkNfS19BU1lOQ19MTENfTUlOIDB4NTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZERElfRkNfS19BU1lOQ19MTENfTUlOIDB4NTAKICNkZWZpbmUgRkRESV9GQ19LX0FTWU5DX0xMQ19ERUYgMHg1NAogI2RlZmluZSBGRERJX0ZDX0tfQVNZTkNfTExDX01BWCAweDVGCiAjZGVmaW5lIEZERElfRkNfS19TWU5DX0xMQ19NSU4gMHhEMAotI2RlZmluZSBGRERJX0ZDX0tfU1lOQ19MTENfTUFYIDB4RDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZERElfRkNfS19TWU5DX0xMQ19NQVggMHhENwogI2RlZmluZSBGRERJX0ZDX0tfSU1QTEVNRU5UT1JfTUlOIDB4NjAKICNkZWZpbmUgRkRESV9GQ19LX0lNUExFTUVOVE9SX01BWCAweDZGCiAjZGVmaW5lIEZERElfRkNfS19SRVNFUlZFRF9NSU4gMHg3MAotI2RlZmluZSBGRERJX0ZDX0tfUkVTRVJWRURfTUFYIDB4N0YKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEZERElfRkNfS19SRVNFUlZFRF9NQVggMHg3RgogI2RlZmluZSBGRERJX0VYVEVOREVEX1NBUCAweEFBCiAjZGVmaW5lIEZERElfVUlfQ01EIDB4MDMKIHN0cnVjdCBmZGRpXzgwMjJfMV9oZHIgewotIF9fdTggZHNhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzc2FwOwotIF9fdTggY3RybDsKKyAgX191OCBkc2FwOworICBfX3U4IHNzYXA7CisgIF9fdTggY3RybDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZkZGlfODAyMl8yX2hkciB7CisgIF9fdTggZHNhcDsKKyAgX191OCBzc2FwOworICBfX3U4IGN0cmxfMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkc2FwOwotIF9fdTggc3NhcDsKLSBfX3U4IGN0cmxfMTsKLSBfX3U4IGN0cmxfMjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggY3RybF8yOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKLSNkZWZpbmUgRkRESV9LX09VSV9MRU4gMwogc3RydWN0IGZkZGlfc25hcF9oZHIgewotIF9fdTggZHNhcDsKKyAgX191OCBkc2FwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNzYXA7Ci0gX191OCBjdHJsOwotIF9fdTggb3VpW0ZERElfS19PVUlfTEVOXTsKLSBfX2JlMTYgZXRoZXJ0eXBlOworICBfX3U4IHNzYXA7CisgIF9fdTggY3RybDsKKyAgX191OCBvdWlbRkRESV9LX09VSV9MRU5dOworICBfX2JlMTYgZXRoZXJ0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgZmRkaWhkciB7Ci0gX191OCBmYzsKLSBfX3U4IGRhZGRyW0ZERElfS19BTEVOXTsKKyAgX191OCBmYzsKKyAgX191OCBkYWRkcltGRERJX0tfQUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2FkZHJbRkRESV9LX0FMRU5dOwotIHVuaW9uCi0gewotIHN0cnVjdCBmZGRpXzgwMjJfMV9oZHIgbGxjXzgwMjJfMTsKKyAgX191OCBzYWRkcltGRERJX0tfQUxFTl07CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgZmRkaV84MDIyXzFfaGRyIGxsY184MDIyXzE7CisgICAgc3RydWN0IGZkZGlfODAyMl8yX2hkciBsbGNfODAyMl8yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgZmRkaV84MDIyXzJfaGRyIGxsY184MDIyXzI7Ci0gc3RydWN0IGZkZGlfc25hcF9oZHIgbGxjX3NuYXA7Ci0gfSBoZHI7CisgICAgc3RydWN0IGZkZGlfc25hcF9oZHIgbGxjX3NuYXA7CisgIH0gaGRyOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2ZyYWQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZnJhZC5oCmluZGV4IDNmYWFlNTkuLjg1NTNjMWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZnJhZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfZnJhZC5oCkBAIC0xOSw3OCArMTksNzYgQEAKICNpZm5kZWYgX1VBUElfRlJBRF9IXwogI2RlZmluZSBfVUFQSV9GUkFEX0hfCiAjaW5jbHVkZSA8bGludXgvaWYuaD4KLXN0cnVjdCBkbGNpX2FkZAorc3RydWN0IGRsY2lfYWRkIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gY2hhciBkZXZuYW1lW0lGTkFNU0laXTsKLSBzaG9ydCBkbGNpOworICBjaGFyIGRldm5hbWVbSUZOQU1TSVpdOworICBzaG9ydCBkbGNpOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERMQ0lfR0VUX0NPTkYgKFNJT0NERVZQUklWQVRFICsgMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERMQ0lfU0VUX0NPTkYgKFNJT0NERVZQUklWQVRFICsgMykKIHN0cnVjdCBkbGNpX2NvbmYgewotIHNob3J0IGZsYWdzOworICBzaG9ydCBmbGFnczsKKyAgc2hvcnQgQ0lSX2Z3ZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgQ0lSX2Z3ZDsKLSBzaG9ydCBCY19md2Q7Ci0gc2hvcnQgQmVfZndkOwotIHNob3J0IENJUl9id2Q7CisgIHNob3J0IEJjX2Z3ZDsKKyAgc2hvcnQgQmVfZndkOworICBzaG9ydCBDSVJfYndkOworICBzaG9ydCBCY19id2Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IEJjX2J3ZDsKLSBzaG9ydCBCZV9id2Q7Ci0gc2hvcnQgVGNfZndkOwotIHNob3J0IFRjX2J3ZDsKKyAgc2hvcnQgQmVfYndkOworICBzaG9ydCBUY19md2Q7CisgIHNob3J0IFRjX2J3ZDsKKyAgc2hvcnQgVGZfbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaG9ydCBUZl9tYXg7Ci0gc2hvcnQgVGJfbWF4OworICBzaG9ydCBUYl9tYXg7CiB9OwogI2RlZmluZSBETENJX0dFVF9TTEFWRSAoU0lPQ0RFVlBSSVZBVEUgKyA0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRExDSV9JR05PUkVfQ0lSX09VVCAweDAwMDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERMQ0lfQUNDT1VOVF9DSVJfSU4gMHgwMDAyCiAjZGVmaW5lIERMQ0lfQlVGRkVSX0lGIDB4MDAwOAogI2RlZmluZSBETENJX1ZBTElEX0ZMQUdTIDB4MDAwQgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlJBRF9HRVRfQ09ORiAoU0lPQ0RFVlBSSVZBVEUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGUkFEX1NFVF9DT05GIChTSU9DREVWUFJJVkFURSArIDEpCiAjZGVmaW5lIEZSQURfTEFTVF9JT0NUTCBGUkFEX1NFVF9DT05GCi1zdHJ1Y3QgZnJhZF9jb25mCitzdHJ1Y3QgZnJhZF9jb25mIHsKKyAgc2hvcnQgc3RhdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gc2hvcnQgc3RhdGlvbjsKLSBzaG9ydCBmbGFnczsKLSBzaG9ydCBrYmF1ZDsKKyAgc2hvcnQgZmxhZ3M7CisgIHNob3J0IGtiYXVkOworICBzaG9ydCBjbG9ja2luZzsKKyAgc2hvcnQgbXR1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaG9ydCBjbG9ja2luZzsKLSBzaG9ydCBtdHU7Ci0gc2hvcnQgVDM5MTsKLSBzaG9ydCBUMzkyOworICBzaG9ydCBUMzkxOworICBzaG9ydCBUMzkyOworICBzaG9ydCBOMzkxOworICBzaG9ydCBOMzkyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaG9ydCBOMzkxOwotIHNob3J0IE4zOTI7Ci0gc2hvcnQgTjM5MzsKLSBzaG9ydCBDSVJfZndkOworICBzaG9ydCBOMzkzOworICBzaG9ydCBDSVJfZndkOworICBzaG9ydCBCY19md2Q7CisgIHNob3J0IEJlX2Z3ZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgQmNfZndkOwotIHNob3J0IEJlX2Z3ZDsKLSBzaG9ydCBDSVJfYndkOwotIHNob3J0IEJjX2J3ZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgQmVfYndkOworICBzaG9ydCBDSVJfYndkOworICBzaG9ydCBCY19id2Q7CisgIHNob3J0IEJlX2J3ZDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGUkFEX1NUQVRJT05fQ1BFIDB4MDAwMAogI2RlZmluZSBGUkFEX1NUQVRJT05fTk9ERSAweDAwMDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZSQURfVFhfSUdOT1JFX0NJUiAweDAwMDEKICNkZWZpbmUgRlJBRF9SWF9BQ0NPVU5UX0NJUiAweDAwMDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZSQURfRFJPUF9BQk9SVEVEIDB4MDAwNAogI2RlZmluZSBGUkFEX0JVRkZFUklGIDB4MDAwOAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlJBRF9TVEFUUyAweDAwMTAKICNkZWZpbmUgRlJBRF9NQ0kgMHgwMTAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGUkFEX0FVVE9ETENJIDB4ODAwMAogI2RlZmluZSBGUkFEX1ZBTElEX0ZMQUdTIDB4ODExRgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlJBRF9DTE9DS19JTlQgMHgwMDAxCiAjZGVmaW5lIEZSQURfQ0xPQ0tfRVhUIDB4MDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9oaXBwaS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9oaXBwaS5oCmluZGV4IDdiZDBiMTYuLmE1ZWFmYzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfaGlwcGkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX2hpcHBpLmgKQEAgLTMxLDc4ICszMSw3NSBAQAogI2RlZmluZSBISVBQSV9VSV9DTUQgMHgwMwogc3RydWN0IGhpcG5ldF9zdGF0aXN0aWNzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHJ4X3BhY2tldHM7Ci0gaW50IHR4X3BhY2tldHM7Ci0gaW50IHJ4X2Vycm9yczsKLSBpbnQgdHhfZXJyb3JzOworICBpbnQgcnhfcGFja2V0czsKKyAgaW50IHR4X3BhY2tldHM7CisgIGludCByeF9lcnJvcnM7CisgIGludCB0eF9lcnJvcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCByeF9kcm9wcGVkOwotIGludCB0eF9kcm9wcGVkOwotIGludCByeF9sZW5ndGhfZXJyb3JzOwotIGludCByeF9vdmVyX2Vycm9yczsKKyAgaW50IHJ4X2Ryb3BwZWQ7CisgIGludCB0eF9kcm9wcGVkOworICBpbnQgcnhfbGVuZ3RoX2Vycm9yczsKKyAgaW50IHJ4X292ZXJfZXJyb3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcnhfY3JjX2Vycm9yczsKLSBpbnQgcnhfZnJhbWVfZXJyb3JzOwotIGludCByeF9maWZvX2Vycm9yczsKLSBpbnQgcnhfbWlzc2VkX2Vycm9yczsKKyAgaW50IHJ4X2NyY19lcnJvcnM7CisgIGludCByeF9mcmFtZV9lcnJvcnM7CisgIGludCByeF9maWZvX2Vycm9yczsKKyAgaW50IHJ4X21pc3NlZF9lcnJvcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0eF9hYm9ydGVkX2Vycm9yczsKLSBpbnQgdHhfY2Fycmllcl9lcnJvcnM7Ci0gaW50IHR4X2ZpZm9fZXJyb3JzOwotIGludCB0eF9oZWFydGJlYXRfZXJyb3JzOworICBpbnQgdHhfYWJvcnRlZF9lcnJvcnM7CisgIGludCB0eF9jYXJyaWVyX2Vycm9yczsKKyAgaW50IHR4X2ZpZm9fZXJyb3JzOworICBpbnQgdHhfaGVhcnRiZWF0X2Vycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHR4X3dpbmRvd19lcnJvcnM7CisgIGludCB0eF93aW5kb3dfZXJyb3JzOwogfTsKIHN0cnVjdCBoaXBwaV9mcF9oZHIgewotIF9fYmUzMiBmaXhlZDsKKyAgX19iZTMyIGZpeGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZDJfc2l6ZTsKKyAgX19iZTMyIGQyX3NpemU7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IGhpcHBpX2xlX2hkciB7CiAjaWZkZWYgX19CSUdfRU5ESUFOX0JJVEZJRUxECiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmM6MzsKLSBfX3U4IGRvdWJsZV93aWRlOjE7Ci0gX191OCBtZXNzYWdlX3R5cGU6NDsKKyAgX191OCBmYyA6IDM7CisgIF9fdTggZG91YmxlX3dpZGUgOiAxOworICBfX3U4IG1lc3NhZ2VfdHlwZSA6IDQ7CiAjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBtZXNzYWdlX3R5cGU6NDsKLSBfX3U4IGRvdWJsZV93aWRlOjE7Ci0gX191OCBmYzozOworICBfX3U4IG1lc3NhZ2VfdHlwZSA6IDQ7CisgIF9fdTggZG91YmxlX3dpZGUgOiAxOworICBfX3U4IGZjIDogMzsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRlc3Rfc3dpdGNoX2FkZHJbM107CisgIF9fdTggZGVzdF9zd2l0Y2hfYWRkclszXTsKICNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKLSBfX3U4IGRlc3RfYWRkcl90eXBlOjQsCi0gc3JjX2FkZHJfdHlwZTo0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBkZXN0X2FkZHJfdHlwZSA6IDQsIHNyY19hZGRyX3R5cGUgOiA0OwogI2VsaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpCi0gX191OCBzcmNfYWRkcl90eXBlOjQsCi0gZGVzdF9hZGRyX3R5cGU6NDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggc3JjX2FkZHJfdHlwZSA6IDQsIGRlc3RfYWRkcl90eXBlIDogNDsKICNlbmRpZgorICBfX3U4IHNyY19zd2l0Y2hfYWRkclszXTsKKyAgX191MTYgcmVzZXJ2ZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc3JjX3N3aXRjaF9hZGRyWzNdOwotIF9fdTE2IHJlc2VydmVkOwotIF9fdTggZGFkZHJbSElQUElfQUxFTl07Ci0gX191MTYgbG9jYWxseV9hZG1pbmlzdGVyZWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2FkZHJbSElQUElfQUxFTl07CisgIF9fdTggZGFkZHJbSElQUElfQUxFTl07CisgIF9fdTE2IGxvY2FsbHlfYWRtaW5pc3RlcmVkOworICBfX3U4IHNhZGRyW0hJUFBJX0FMRU5dOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhJUFBJX09VSV9MRU4gMwogc3RydWN0IGhpcHBpX3NuYXBfaGRyIHsKKyAgX191OCBkc2FwOworICBfX3U4IHNzYXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZHNhcDsKLSBfX3U4IHNzYXA7Ci0gX191OCBjdHJsOwotIF9fdTggb3VpW0hJUFBJX09VSV9MRU5dOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgZXRoZXJ0eXBlOworICBfX3U4IGN0cmw7CisgIF9fdTggb3VpW0hJUFBJX09VSV9MRU5dOworICBfX2JlMTYgZXRoZXJ0eXBlOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKLXN0cnVjdCBoaXBwaV9oZHIgewotIHN0cnVjdCBoaXBwaV9mcF9oZHIgZnA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBoaXBwaV9sZV9oZHIgbGU7Ci0gc3RydWN0IGhpcHBpX3NuYXBfaGRyIHNuYXA7CitzdHJ1Y3QgaGlwcGlfaGRyIHsKKyAgc3RydWN0IGhpcHBpX2ZwX2hkciBmcDsKKyAgc3RydWN0IGhpcHBpX2xlX2hkciBsZTsKKyAgc3RydWN0IGhpcHBpX3NuYXBfaGRyIHNuYXA7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfbGluay5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9saW5rLmgKaW5kZXggYWE1M2YwZS4uZmZjZjNmMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9saW5rLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9saW5rLmgKQEAgLTIyLDQ4NyArMjIsNTI5IEBACiAjaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBydG5sX2xpbmtfc3RhdHMgewotIF9fdTMyIHJ4X3BhY2tldHM7Ci0gX191MzIgdHhfcGFja2V0czsKLSBfX3UzMiByeF9ieXRlczsKKyAgX191MzIgcnhfcGFja2V0czsKKyAgX191MzIgdHhfcGFja2V0czsKKyAgX191MzIgcnhfYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR4X2J5dGVzOwotIF9fdTMyIHJ4X2Vycm9yczsKLSBfX3UzMiB0eF9lcnJvcnM7Ci0gX191MzIgcnhfZHJvcHBlZDsKKyAgX191MzIgdHhfYnl0ZXM7CisgIF9fdTMyIHJ4X2Vycm9yczsKKyAgX191MzIgdHhfZXJyb3JzOworICBfX3UzMiByeF9kcm9wcGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eF9kcm9wcGVkOwotIF9fdTMyIG11bHRpY2FzdDsKLSBfX3UzMiBjb2xsaXNpb25zOwotIF9fdTMyIHJ4X2xlbmd0aF9lcnJvcnM7CisgIF9fdTMyIHR4X2Ryb3BwZWQ7CisgIF9fdTMyIG11bHRpY2FzdDsKKyAgX191MzIgY29sbGlzaW9uczsKKyAgX191MzIgcnhfbGVuZ3RoX2Vycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcnhfb3Zlcl9lcnJvcnM7Ci0gX191MzIgcnhfY3JjX2Vycm9yczsKLSBfX3UzMiByeF9mcmFtZV9lcnJvcnM7Ci0gX191MzIgcnhfZmlmb19lcnJvcnM7CisgIF9fdTMyIHJ4X292ZXJfZXJyb3JzOworICBfX3UzMiByeF9jcmNfZXJyb3JzOworICBfX3UzMiByeF9mcmFtZV9lcnJvcnM7CisgIF9fdTMyIHJ4X2ZpZm9fZXJyb3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByeF9taXNzZWRfZXJyb3JzOwotIF9fdTMyIHR4X2Fib3J0ZWRfZXJyb3JzOwotIF9fdTMyIHR4X2NhcnJpZXJfZXJyb3JzOwotIF9fdTMyIHR4X2ZpZm9fZXJyb3JzOworICBfX3UzMiByeF9taXNzZWRfZXJyb3JzOworICBfX3UzMiB0eF9hYm9ydGVkX2Vycm9yczsKKyAgX191MzIgdHhfY2Fycmllcl9lcnJvcnM7CisgIF9fdTMyIHR4X2ZpZm9fZXJyb3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eF9oZWFydGJlYXRfZXJyb3JzOwotIF9fdTMyIHR4X3dpbmRvd19lcnJvcnM7Ci0gX191MzIgcnhfY29tcHJlc3NlZDsKLSBfX3UzMiB0eF9jb21wcmVzc2VkOworICBfX3UzMiB0eF9oZWFydGJlYXRfZXJyb3JzOworICBfX3UzMiB0eF93aW5kb3dfZXJyb3JzOworICBfX3UzMiByeF9jb21wcmVzc2VkOworICBfX3UzMiB0eF9jb21wcmVzc2VkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgcnRubF9saW5rX3N0YXRzNjQgewotIF9fdTY0IHJ4X3BhY2tldHM7Ci0gX191NjQgdHhfcGFja2V0czsKKyAgX191NjQgcnhfcGFja2V0czsKKyAgX191NjQgdHhfcGFja2V0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcnhfYnl0ZXM7Ci0gX191NjQgdHhfYnl0ZXM7Ci0gX191NjQgcnhfZXJyb3JzOwotIF9fdTY0IHR4X2Vycm9yczsKKyAgX191NjQgcnhfYnl0ZXM7CisgIF9fdTY0IHR4X2J5dGVzOworICBfX3U2NCByeF9lcnJvcnM7CisgIF9fdTY0IHR4X2Vycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcnhfZHJvcHBlZDsKLSBfX3U2NCB0eF9kcm9wcGVkOwotIF9fdTY0IG11bHRpY2FzdDsKLSBfX3U2NCBjb2xsaXNpb25zOworICBfX3U2NCByeF9kcm9wcGVkOworICBfX3U2NCB0eF9kcm9wcGVkOworICBfX3U2NCBtdWx0aWNhc3Q7CisgIF9fdTY0IGNvbGxpc2lvbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJ4X2xlbmd0aF9lcnJvcnM7Ci0gX191NjQgcnhfb3Zlcl9lcnJvcnM7Ci0gX191NjQgcnhfY3JjX2Vycm9yczsKLSBfX3U2NCByeF9mcmFtZV9lcnJvcnM7CisgIF9fdTY0IHJ4X2xlbmd0aF9lcnJvcnM7CisgIF9fdTY0IHJ4X292ZXJfZXJyb3JzOworICBfX3U2NCByeF9jcmNfZXJyb3JzOworICBfX3U2NCByeF9mcmFtZV9lcnJvcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJ4X2ZpZm9fZXJyb3JzOwotIF9fdTY0IHJ4X21pc3NlZF9lcnJvcnM7Ci0gX191NjQgdHhfYWJvcnRlZF9lcnJvcnM7Ci0gX191NjQgdHhfY2Fycmllcl9lcnJvcnM7CisgIF9fdTY0IHJ4X2ZpZm9fZXJyb3JzOworICBfX3U2NCByeF9taXNzZWRfZXJyb3JzOworICBfX3U2NCB0eF9hYm9ydGVkX2Vycm9yczsKKyAgX191NjQgdHhfY2Fycmllcl9lcnJvcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHR4X2ZpZm9fZXJyb3JzOwotIF9fdTY0IHR4X2hlYXJ0YmVhdF9lcnJvcnM7Ci0gX191NjQgdHhfd2luZG93X2Vycm9yczsKLSBfX3U2NCByeF9jb21wcmVzc2VkOworICBfX3U2NCB0eF9maWZvX2Vycm9yczsKKyAgX191NjQgdHhfaGVhcnRiZWF0X2Vycm9yczsKKyAgX191NjQgdHhfd2luZG93X2Vycm9yczsKKyAgX191NjQgcnhfY29tcHJlc3NlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdHhfY29tcHJlc3NlZDsKKyAgX191NjQgdHhfY29tcHJlc3NlZDsKIH07CiBzdHJ1Y3QgcnRubF9saW5rX2lmbWFwIHsKLSBfX3U2NCBtZW1fc3RhcnQ7CisgIF9fdTY0IG1lbV9zdGFydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbWVtX2VuZDsKLSBfX3U2NCBiYXNlX2FkZHI7Ci0gX191MTYgaXJxOwotIF9fdTggZG1hOworICBfX3U2NCBtZW1fZW5kOworICBfX3U2NCBiYXNlX2FkZHI7CisgIF9fdTE2IGlycTsKKyAgX191OCBkbWE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcG9ydDsKKyAgX191OCBwb3J0OwogfTsKIGVudW0gewotIElGTEFfVU5TUEVDLAorICBJRkxBX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9BRERSRVNTLAotIElGTEFfQlJPQURDQVNULAotIElGTEFfSUZOQU1FLAotIElGTEFfTVRVLAorICBJRkxBX0FERFJFU1MsCisgIElGTEFfQlJPQURDQVNULAorICBJRkxBX0lGTkFNRSwKKyAgSUZMQV9NVFUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfTElOSywKLSBJRkxBX1FESVNDLAotIElGTEFfU1RBVFMsCi0gSUZMQV9DT1NULAorICBJRkxBX0xJTkssCisgIElGTEFfUURJU0MsCisgIElGTEFfU1RBVFMsCisgIElGTEFfQ09TVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGTEFfQ09TVCBJRkxBX0NPU1QKLSBJRkxBX1BSSU9SSVRZLAorICBJRkxBX1BSSU9SSVRZLAogI2RlZmluZSBJRkxBX1BSSU9SSVRZIElGTEFfUFJJT1JJVFkKLSBJRkxBX01BU1RFUiwKKyAgSUZMQV9NQVNURVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRkxBX01BU1RFUiBJRkxBX01BU1RFUgotIElGTEFfV0lSRUxFU1MsCisgIElGTEFfV0lSRUxFU1MsCiAjZGVmaW5lIElGTEFfV0lSRUxFU1MgSUZMQV9XSVJFTEVTUwotIElGTEFfUFJPVElORk8sCisgIElGTEFfUFJPVElORk8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRkxBX1BST1RJTkZPIElGTEFfUFJPVElORk8KLSBJRkxBX1RYUUxFTiwKKyAgSUZMQV9UWFFMRU4sCiAjZGVmaW5lIElGTEFfVFhRTEVOIElGTEFfVFhRTEVOCi0gSUZMQV9NQVAsCisgIElGTEFfTUFQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9NQVAgSUZMQV9NQVAKLSBJRkxBX1dFSUdIVCwKKyAgSUZMQV9XRUlHSFQsCiAjZGVmaW5lIElGTEFfV0VJR0hUIElGTEFfV0VJR0hUCi0gSUZMQV9PUEVSU1RBVEUsCisgIElGTEFfT1BFUlNUQVRFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0xJTktNT0RFLAotIElGTEFfTElOS0lORk8sCisgIElGTEFfTElOS01PREUsCisgIElGTEFfTElOS0lORk8sCiAjZGVmaW5lIElGTEFfTElOS0lORk8gSUZMQV9MSU5LSU5GTwotIElGTEFfTkVUX05TX1BJRCwKKyAgSUZMQV9ORVRfTlNfUElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0lGQUxJQVMsCi0gSUZMQV9OVU1fVkYsCi0gSUZMQV9WRklORk9fTElTVCwKLSBJRkxBX1NUQVRTNjQsCisgIElGTEFfSUZBTElBUywKKyAgSUZMQV9OVU1fVkYsCisgIElGTEFfVkZJTkZPX0xJU1QsCisgIElGTEFfU1RBVFM2NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9WRl9QT1JUUywKLSBJRkxBX1BPUlRfU0VMRiwKLSBJRkxBX0FGX1NQRUMsCi0gSUZMQV9HUk9VUCwKKyAgSUZMQV9WRl9QT1JUUywKKyAgSUZMQV9QT1JUX1NFTEYsCisgIElGTEFfQUZfU1BFQywKKyAgSUZMQV9HUk9VUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9ORVRfTlNfRkQsCi0gSUZMQV9FWFRfTUFTSywKLSBJRkxBX1BST01JU0NVSVRZLAorICBJRkxBX05FVF9OU19GRCwKKyAgSUZMQV9FWFRfTUFTSywKKyAgSUZMQV9QUk9NSVNDVUlUWSwKICNkZWZpbmUgSUZMQV9QUk9NSVNDVUlUWSBJRkxBX1BST01JU0NVSVRZCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfTlVNX1RYX1FVRVVFUywKLSBJRkxBX05VTV9SWF9RVUVVRVMsCi0gSUZMQV9DQVJSSUVSLAotIElGTEFfUEhZU19QT1JUX0lELAorICBJRkxBX05VTV9UWF9RVUVVRVMsCisgIElGTEFfTlVNX1JYX1FVRVVFUywKKyAgSUZMQV9DQVJSSUVSLAorICBJRkxBX1BIWVNfUE9SVF9JRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19JRkxBX01BWAorICBJRkxBX0NBUlJJRVJfQ0hBTkdFUywKKyAgX19JRkxBX01BWAogfTsKICNkZWZpbmUgSUZMQV9NQVggKF9fSUZMQV9NQVggLSAxKQotI2RlZmluZSBJRkxBX1JUQShyKSAoKHN0cnVjdCBydGF0dHIqKSgoKGNoYXIqKShyKSkgKyBOTE1TR19BTElHTihzaXplb2Yoc3RydWN0IGlmaW5mb21zZykpKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElGTEFfUEFZTE9BRChuKSBOTE1TR19QQVlMT0FEKG4sc2l6ZW9mKHN0cnVjdCBpZmluZm9tc2cpKQorI2RlZmluZSBJRkxBX1JUQShyKSAoKHN0cnVjdCBydGF0dHIgKikgKCgoY2hhciAqKSAocikpICsgTkxNU0dfQUxJR04oc2l6ZW9mKHN0cnVjdCBpZmluZm9tc2cpKSkpCisjZGVmaW5lIElGTEFfUEFZTE9BRChuKSBOTE1TR19QQVlMT0FEKG4sIHNpemVvZihzdHJ1Y3QgaWZpbmZvbXNnKSkKIGVudW0gewotIElGTEFfSU5FVF9VTlNQRUMsCi0gSUZMQV9JTkVUX0NPTkYsCisgIElGTEFfSU5FVF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fSUZMQV9JTkVUX01BWCwKKyAgSUZMQV9JTkVUX0NPTkYsCisgIF9fSUZMQV9JTkVUX01BWCwKIH07CiAjZGVmaW5lIElGTEFfSU5FVF9NQVggKF9fSUZMQV9JTkVUX01BWCAtIDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7CisgIElGTEFfSU5FVDZfVU5TUEVDLAorICBJRkxBX0lORVQ2X0ZMQUdTLAorICBJRkxBX0lORVQ2X0NPTkYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfSU5FVDZfVU5TUEVDLAotIElGTEFfSU5FVDZfRkxBR1MsCi0gSUZMQV9JTkVUNl9DT05GLAotIElGTEFfSU5FVDZfU1RBVFMsCisgIElGTEFfSU5FVDZfU1RBVFMsCisgIElGTEFfSU5FVDZfTUNBU1QsCisgIElGTEFfSU5FVDZfQ0FDSEVJTkZPLAorICBJRkxBX0lORVQ2X0lDTVA2U1RBVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfSU5FVDZfTUNBU1QsCi0gSUZMQV9JTkVUNl9DQUNIRUlORk8sCi0gSUZMQV9JTkVUNl9JQ01QNlNUQVRTLAotIElGTEFfSU5FVDZfVE9LRU4sCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fSUZMQV9JTkVUNl9NQVgKKyAgSUZMQV9JTkVUNl9UT0tFTiwKKyAgSUZMQV9JTkVUNl9BRERSX0dFTl9NT0RFLAorICBfX0lGTEFfSU5FVDZfTUFYCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9JTkVUNl9NQVggKF9fSUZMQV9JTkVUNl9NQVggLSAxKQotZW51bSB7CitlbnVtIGluNl9hZGRyX2dlbl9tb2RlIHsKKyAgSU42X0FERFJfR0VOX01PREVfRVVJNjQsCisgIElONl9BRERSX0dFTl9NT0RFX05PTkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJSSURHRV9NT0RFX1VOU1BFQywKLSBCUklER0VfTU9ERV9IQUlSUElOLAogfTsKIGVudW0geworICBJRkxBX0JSX1VOU1BFQywKKyAgSUZMQV9CUl9GT1JXQVJEX0RFTEFZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0JSUE9SVF9VTlNQRUMsCi0gSUZMQV9CUlBPUlRfU1RBVEUsCi0gSUZMQV9CUlBPUlRfUFJJT1JJVFksCi0gSUZMQV9CUlBPUlRfQ09TVCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9CUlBPUlRfTU9ERSwKLSBJRkxBX0JSUE9SVF9HVUFSRCwKLSBJRkxBX0JSUE9SVF9QUk9URUNULAotIElGTEFfQlJQT1JUX0ZBU1RfTEVBVkUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfQlJQT1JUX0xFQVJOSU5HLAotIElGTEFfQlJQT1JUX1VOSUNBU1RfRkxPT0QsCi0gX19JRkxBX0JSUE9SVF9NQVgKKyAgSUZMQV9CUl9IRUxMT19USU1FLAorICBJRkxBX0JSX01BWF9BR0UsCisgIF9fSUZMQV9CUl9NQVgsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSUZMQV9CUl9NQVggKF9fSUZMQV9CUl9NQVggLSAxKQorZW51bSB7CisgIEJSSURHRV9NT0RFX1VOU1BFQywKKyAgQlJJREdFX01PREVfSEFJUlBJTiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworZW51bSB7CisgIElGTEFfQlJQT1JUX1VOU1BFQywKKyAgSUZMQV9CUlBPUlRfU1RBVEUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJRkxBX0JSUE9SVF9QUklPUklUWSwKKyAgSUZMQV9CUlBPUlRfQ09TVCwKKyAgSUZMQV9CUlBPUlRfTU9ERSwKKyAgSUZMQV9CUlBPUlRfR1VBUkQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJRkxBX0JSUE9SVF9QUk9URUNULAorICBJRkxBX0JSUE9SVF9GQVNUX0xFQVZFLAorICBJRkxBX0JSUE9SVF9MRUFSTklORywKKyAgSUZMQV9CUlBPUlRfVU5JQ0FTVF9GTE9PRCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fSUZMQV9CUlBPUlRfTUFYCit9OwogI2RlZmluZSBJRkxBX0JSUE9SVF9NQVggKF9fSUZMQV9CUlBPUlRfTUFYIC0gMSkKIHN0cnVjdCBpZmxhX2NhY2hlaW5mbyB7Ci0gX191MzIgbWF4X3JlYXNtX2xlbjsKLSBfX3UzMiB0c3RhbXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlYWNoYWJsZV90aW1lOwotIF9fdTMyIHJldHJhbnNfdGltZTsKKyAgX191MzIgbWF4X3JlYXNtX2xlbjsKKyAgX191MzIgdHN0YW1wOworICBfX3UzMiByZWFjaGFibGVfdGltZTsKKyAgX191MzIgcmV0cmFuc190aW1lOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKKyAgSUZMQV9JTkZPX1VOU1BFQywKKyAgSUZMQV9JTkZPX0tJTkQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfSU5GT19VTlNQRUMsCi0gSUZMQV9JTkZPX0tJTkQsCi0gSUZMQV9JTkZPX0RBVEEsCi0gSUZMQV9JTkZPX1hTVEFUUywKKyAgSUZMQV9JTkZPX0RBVEEsCisgIElGTEFfSU5GT19YU1RBVFMsCisgIElGTEFfSU5GT19TTEFWRV9LSU5ELAorICBJRkxBX0lORk9fU0xBVkVfREFUQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9JTkZPX1NMQVZFX0tJTkQsCi0gSUZMQV9JTkZPX1NMQVZFX0RBVEEsCi0gX19JRkxBX0lORk9fTUFYLAorICBfX0lGTEFfSU5GT19NQVgsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9JTkZPX01BWCAoX19JRkxBX0lORk9fTUFYIC0gMSkKIGVudW0gewotIElGTEFfVkxBTl9VTlNQRUMsCi0gSUZMQV9WTEFOX0lELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX1ZMQU5fRkxBR1MsCi0gSUZMQV9WTEFOX0VHUkVTU19RT1MsCi0gSUZMQV9WTEFOX0lOR1JFU1NfUU9TLAotIElGTEFfVkxBTl9QUk9UT0NPTCwKKyAgSUZMQV9WTEFOX1VOU1BFQywKKyAgSUZMQV9WTEFOX0lELAorICBJRkxBX1ZMQU5fRkxBR1MsCisgIElGTEFfVkxBTl9FR1JFU1NfUU9TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lGTEFfVkxBTl9NQVgsCisgIElGTEFfVkxBTl9JTkdSRVNTX1FPUywKKyAgSUZMQV9WTEFOX1BST1RPQ09MLAorICBfX0lGTEFfVkxBTl9NQVgsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9WTEFOX01BWCAoX19JRkxBX1ZMQU5fTUFYIC0gMSkKIHN0cnVjdCBpZmxhX3ZsYW5fZmxhZ3MgeworICBfX3UzMiBmbGFnczsKKyAgX191MzIgbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX191MzIgbWFzazsKIH07CiBlbnVtIHsKKyAgSUZMQV9WTEFOX1FPU19VTlNQRUMsCisgIElGTEFfVkxBTl9RT1NfTUFQUElORywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9WTEFOX1FPU19VTlNQRUMsCi0gSUZMQV9WTEFOX1FPU19NQVBQSU5HLAotIF9fSUZMQV9WTEFOX1FPU19NQVgKKyAgX19JRkxBX1ZMQU5fUU9TX01BWAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGTEFfVkxBTl9RT1NfTUFYIChfX0lGTEFfVkxBTl9RT1NfTUFYIC0gMSkKIHN0cnVjdCBpZmxhX3ZsYW5fcW9zX21hcHBpbmcgewotIF9fdTMyIGZyb207Ci0gX191MzIgdG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBmcm9tOworICBfX3UzMiB0bzsKIH07CiBlbnVtIHsKLSBJRkxBX01BQ1ZMQU5fVU5TUEVDLAotIElGTEFfTUFDVkxBTl9NT0RFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX01BQ1ZMQU5fRkxBR1MsCi0gX19JRkxBX01BQ1ZMQU5fTUFYLAorICBJRkxBX01BQ1ZMQU5fVU5TUEVDLAorICBJRkxBX01BQ1ZMQU5fTU9ERSwKKyAgSUZMQV9NQUNWTEFOX0ZMQUdTLAorICBJRkxBX01BQ1ZMQU5fTUFDQUREUl9NT0RFLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSUZMQV9NQUNWTEFOX01BQ0FERFIsCisgIElGTEFfTUFDVkxBTl9NQUNBRERSX0RBVEEsCisgIElGTEFfTUFDVkxBTl9NQUNBRERSX0NPVU5ULAorICBfX0lGTEFfTUFDVkxBTl9NQVgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSUZMQV9NQUNWTEFOX01BWCAoX19JRkxBX01BQ1ZMQU5fTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG1hY3ZsYW5fbW9kZSB7Ci0gTUFDVkxBTl9NT0RFX1BSSVZBVEUgPSAxLAotIE1BQ1ZMQU5fTU9ERV9WRVBBID0gMiwKLSBNQUNWTEFOX01PREVfQlJJREdFID0gNCwKKyAgTUFDVkxBTl9NT0RFX1BSSVZBVEUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNQUNWTEFOX01PREVfUEFTU1RIUlUgPSA4LAorICBNQUNWTEFOX01PREVfVkVQQSA9IDIsCisgIE1BQ1ZMQU5fTU9ERV9CUklER0UgPSA0LAorICBNQUNWTEFOX01PREVfUEFTU1RIUlUgPSA4LAorICBNQUNWTEFOX01PREVfU09VUkNFID0gMTYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0gbWFjdmxhbl9tYWNhZGRyX21vZGUgeworICBNQUNWTEFOX01BQ0FERFJfQURELAorICBNQUNWTEFOX01BQ0FERFJfREVMLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTUFDVkxBTl9NQUNBRERSX0ZMVVNILAorICBNQUNWTEFOX01BQ0FERFJfU0VULAogfTsKICNkZWZpbmUgTUFDVkxBTl9GTEFHX05PUFJPTUlTQyAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7CisgIElGTEFfVlhMQU5fVU5TUEVDLAorICBJRkxBX1ZYTEFOX0lELAorICBJRkxBX1ZYTEFOX0dST1VQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX1ZYTEFOX1VOU1BFQywKLSBJRkxBX1ZYTEFOX0lELAotIElGTEFfVlhMQU5fR1JPVVAsCi0gSUZMQV9WWExBTl9MSU5LLAorICBJRkxBX1ZYTEFOX0xJTkssCisgIElGTEFfVlhMQU5fTE9DQUwsCisgIElGTEFfVlhMQU5fVFRMLAorICBJRkxBX1ZYTEFOX1RPUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9WWExBTl9MT0NBTCwKLSBJRkxBX1ZYTEFOX1RUTCwKLSBJRkxBX1ZYTEFOX1RPUywKLSBJRkxBX1ZYTEFOX0xFQVJOSU5HLAorICBJRkxBX1ZYTEFOX0xFQVJOSU5HLAorICBJRkxBX1ZYTEFOX0FHRUlORywKKyAgSUZMQV9WWExBTl9MSU1JVCwKKyAgSUZMQV9WWExBTl9QT1JUX1JBTkdFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX1ZYTEFOX0FHRUlORywKLSBJRkxBX1ZYTEFOX0xJTUlULAotIElGTEFfVlhMQU5fUE9SVF9SQU5HRSwKLSBJRkxBX1ZYTEFOX1BST1hZLAorICBJRkxBX1ZYTEFOX1BST1hZLAorICBJRkxBX1ZYTEFOX1JTQywKKyAgSUZMQV9WWExBTl9MMk1JU1MsCisgIElGTEFfVlhMQU5fTDNNSVNTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX1ZYTEFOX1JTQywKLSBJRkxBX1ZYTEFOX0wyTUlTUywKLSBJRkxBX1ZYTEFOX0wzTUlTUywKLSBJRkxBX1ZYTEFOX1BPUlQsCisgIElGTEFfVlhMQU5fUE9SVCwKKyAgSUZMQV9WWExBTl9HUk9VUDYsCisgIElGTEFfVlhMQU5fTE9DQUw2LAorICBJRkxBX1ZYTEFOX1VEUF9DU1VNLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX1ZYTEFOX0dST1VQNiwKLSBJRkxBX1ZYTEFOX0xPQ0FMNiwKLSBfX0lGTEFfVlhMQU5fTUFYCisgIElGTEFfVlhMQU5fVURQX1pFUk9fQ1NVTTZfVFgsCisgIElGTEFfVlhMQU5fVURQX1pFUk9fQ1NVTTZfUlgsCisgIF9fSUZMQV9WWExBTl9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRkxBX1ZYTEFOX01BWCAoX19JRkxBX1ZYTEFOX01BWCAtIDEpCiBzdHJ1Y3QgaWZsYV92eGxhbl9wb3J0X3JhbmdlIHsKLSBfX2JlMTYgbG93OwotIF9fYmUxNiBoaWdoOworICBfX2JlMTYgbG93OworICBfX2JlMTYgaGlnaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gSUZMQV9CT05EX1VOU1BFQywKLSBJRkxBX0JPTkRfTU9ERSwKKyAgSUZMQV9CT05EX1VOU1BFQywKKyAgSUZMQV9CT05EX01PREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfQk9ORF9BQ1RJVkVfU0xBVkUsCi0gSUZMQV9CT05EX01JSU1PTiwKLSBJRkxBX0JPTkRfVVBERUxBWSwKLSBJRkxBX0JPTkRfRE9XTkRFTEFZLAorICBJRkxBX0JPTkRfQUNUSVZFX1NMQVZFLAorICBJRkxBX0JPTkRfTUlJTU9OLAorICBJRkxBX0JPTkRfVVBERUxBWSwKKyAgSUZMQV9CT05EX0RPV05ERUxBWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9CT05EX1VTRV9DQVJSSUVSLAotIElGTEFfQk9ORF9BUlBfSU5URVJWQUwsCi0gSUZMQV9CT05EX0FSUF9JUF9UQVJHRVQsCi0gSUZMQV9CT05EX0FSUF9WQUxJREFURSwKKyAgSUZMQV9CT05EX1VTRV9DQVJSSUVSLAorICBJRkxBX0JPTkRfQVJQX0lOVEVSVkFMLAorICBJRkxBX0JPTkRfQVJQX0lQX1RBUkdFVCwKKyAgSUZMQV9CT05EX0FSUF9WQUxJREFURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9CT05EX0FSUF9BTExfVEFSR0VUUywKLSBJRkxBX0JPTkRfUFJJTUFSWSwKLSBJRkxBX0JPTkRfUFJJTUFSWV9SRVNFTEVDVCwKLSBJRkxBX0JPTkRfRkFJTF9PVkVSX01BQywKKyAgSUZMQV9CT05EX0FSUF9BTExfVEFSR0VUUywKKyAgSUZMQV9CT05EX1BSSU1BUlksCisgIElGTEFfQk9ORF9QUklNQVJZX1JFU0VMRUNULAorICBJRkxBX0JPTkRfRkFJTF9PVkVSX01BQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9CT05EX1hNSVRfSEFTSF9QT0xJQ1ksCi0gSUZMQV9CT05EX1JFU0VORF9JR01QLAotIElGTEFfQk9ORF9OVU1fUEVFUl9OT1RJRiwKLSBJRkxBX0JPTkRfQUxMX1NMQVZFU19BQ1RJVkUsCisgIElGTEFfQk9ORF9YTUlUX0hBU0hfUE9MSUNZLAorICBJRkxBX0JPTkRfUkVTRU5EX0lHTVAsCisgIElGTEFfQk9ORF9OVU1fUEVFUl9OT1RJRiwKKyAgSUZMQV9CT05EX0FMTF9TTEFWRVNfQUNUSVZFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0JPTkRfTUlOX0xJTktTLAotIElGTEFfQk9ORF9MUF9JTlRFUlZBTCwKLSBJRkxBX0JPTkRfUEFDS0VUU19QRVJfU0xBVkUsCi0gSUZMQV9CT05EX0FEX0xBQ1BfUkFURSwKKyAgSUZMQV9CT05EX01JTl9MSU5LUywKKyAgSUZMQV9CT05EX0xQX0lOVEVSVkFMLAorICBJRkxBX0JPTkRfUEFDS0VUU19QRVJfU0xBVkUsCisgIElGTEFfQk9ORF9BRF9MQUNQX1JBVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfQk9ORF9BRF9TRUxFQ1QsCi0gSUZMQV9CT05EX0FEX0lORk8sCi0gX19JRkxBX0JPTkRfTUFYLAorICBJRkxBX0JPTkRfQURfU0VMRUNULAorICBJRkxBX0JPTkRfQURfSU5GTywKKyAgX19JRkxBX0JPTkRfTUFYLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElGTEFfQk9ORF9NQVggKF9fSUZMQV9CT05EX01BWCAtIDEpCiBlbnVtIHsKLSBJRkxBX0JPTkRfQURfSU5GT19VTlNQRUMsCi0gSUZMQV9CT05EX0FEX0lORk9fQUdHUkVHQVRPUiwKKyAgSUZMQV9CT05EX0FEX0lORk9fVU5TUEVDLAorICBJRkxBX0JPTkRfQURfSU5GT19BR0dSRUdBVE9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0JPTkRfQURfSU5GT19OVU1fUE9SVFMsCi0gSUZMQV9CT05EX0FEX0lORk9fQUNUT1JfS0VZLAotIElGTEFfQk9ORF9BRF9JTkZPX1BBUlRORVJfS0VZLAotIElGTEFfQk9ORF9BRF9JTkZPX1BBUlRORVJfTUFDLAorICBJRkxBX0JPTkRfQURfSU5GT19OVU1fUE9SVFMsCisgIElGTEFfQk9ORF9BRF9JTkZPX0FDVE9SX0tFWSwKKyAgSUZMQV9CT05EX0FEX0lORk9fUEFSVE5FUl9LRVksCisgIElGTEFfQk9ORF9BRF9JTkZPX1BBUlRORVJfTUFDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lGTEFfQk9ORF9BRF9JTkZPX01BWCwKKyAgX19JRkxBX0JPTkRfQURfSU5GT19NQVgsCiB9OwogI2RlZmluZSBJRkxBX0JPTkRfQURfSU5GT19NQVggKF9fSUZMQV9CT05EX0FEX0lORk9fTUFYIC0gMSkKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0JPTkRfU0xBVkVfVU5TUEVDLAotIElGTEFfQk9ORF9TTEFWRV9TVEFURSwKLSBJRkxBX0JPTkRfU0xBVkVfTUlJX1NUQVRVUywKLSBJRkxBX0JPTkRfU0xBVkVfTElOS19GQUlMVVJFX0NPVU5ULAorICBJRkxBX0JPTkRfU0xBVkVfVU5TUEVDLAorICBJRkxBX0JPTkRfU0xBVkVfU1RBVEUsCisgIElGTEFfQk9ORF9TTEFWRV9NSUlfU1RBVFVTLAorICBJRkxBX0JPTkRfU0xBVkVfTElOS19GQUlMVVJFX0NPVU5ULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0JPTkRfU0xBVkVfUEVSTV9IV0FERFIsCi0gSUZMQV9CT05EX1NMQVZFX1FVRVVFX0lELAotIElGTEFfQk9ORF9TTEFWRV9BRF9BR0dSRUdBVE9SX0lELAotIF9fSUZMQV9CT05EX1NMQVZFX01BWCwKKyAgSUZMQV9CT05EX1NMQVZFX1BFUk1fSFdBRERSLAorICBJRkxBX0JPTkRfU0xBVkVfUVVFVUVfSUQsCisgIElGTEFfQk9ORF9TTEFWRV9BRF9BR0dSRUdBVE9SX0lELAorICBfX0lGTEFfQk9ORF9TTEFWRV9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSUZMQV9CT05EX1NMQVZFX01BWCAoX19JRkxBX0JPTkRfU0xBVkVfTUFYIC0gMSkKIGVudW0gewotIElGTEFfVkZfSU5GT19VTlNQRUMsCisgIElGTEFfVkZfSU5GT19VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfVkZfSU5GTywKLSBfX0lGTEFfVkZfSU5GT19NQVgsCisgIElGTEFfVkZfSU5GTywKKyAgX19JRkxBX1ZGX0lORk9fTUFYLAogfTsKICNkZWZpbmUgSUZMQV9WRl9JTkZPX01BWCAoX19JRkxBX1ZGX0lORk9fTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJRkxBX1ZGX1VOU1BFQywKLSBJRkxBX1ZGX01BQywKLSBJRkxBX1ZGX1ZMQU4sCisgIElGTEFfVkZfVU5TUEVDLAorICBJRkxBX1ZGX01BQywKKyAgSUZMQV9WRl9WTEFOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX1ZGX1RYX1JBVEUsCi0gSUZMQV9WRl9TUE9PRkNISywKLSBJRkxBX1ZGX0xJTktfU1RBVEUsCi0gX19JRkxBX1ZGX01BWCwKKyAgSUZMQV9WRl9UWF9SQVRFLAorICBJRkxBX1ZGX1NQT09GQ0hLLAorICBJRkxBX1ZGX0xJTktfU1RBVEUsCisgIElGTEFfVkZfUkFURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fSUZMQV9WRl9NQVgsCiB9OwogI2RlZmluZSBJRkxBX1ZGX01BWCAoX19JRkxBX1ZGX01BWCAtIDEpCiBzdHJ1Y3QgaWZsYV92Zl9tYWMgewotIF9fdTMyIHZmOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1hY1szMl07CisgIF9fdTMyIHZmOworICBfX3U4IG1hY1szMl07CiB9Owogc3RydWN0IGlmbGFfdmZfdmxhbiB7Ci0gX191MzIgdmY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHZsYW47Ci0gX191MzIgcW9zOworICBfX3UzMiB2ZjsKKyAgX191MzIgdmxhbjsKKyAgX191MzIgcW9zOwogfTsKLXN0cnVjdCBpZmxhX3ZmX3R4X3JhdGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB2ZjsKLSBfX3UzMiByYXRlOworc3RydWN0IGlmbGFfdmZfdHhfcmF0ZSB7CisgIF9fdTMyIHZmOworICBfX3UzMiByYXRlOworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgaWZsYV92Zl9yYXRlIHsKKyAgX191MzIgdmY7CisgIF9fdTMyIG1pbl90eF9yYXRlOworICBfX3UzMiBtYXhfdHhfcmF0ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGlmbGFfdmZfc3Bvb2ZjaGsgeworICBfX3UzMiB2ZjsKKyAgX191MzIgc2V0dGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdmY7Ci0gX191MzIgc2V0dGluZzsKIH07CiBlbnVtIHsKKyAgSUZMQV9WRl9MSU5LX1NUQVRFX0FVVE8sCisgIElGTEFfVkZfTElOS19TVEFURV9FTkFCTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfVkZfTElOS19TVEFURV9BVVRPLAotIElGTEFfVkZfTElOS19TVEFURV9FTkFCTEUsCi0gSUZMQV9WRl9MSU5LX1NUQVRFX0RJU0FCTEUsCi0gX19JRkxBX1ZGX0xJTktfU1RBVEVfTUFYLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSUZMQV9WRl9MSU5LX1NUQVRFX0RJU0FCTEUsCisgIF9fSUZMQV9WRl9MSU5LX1NUQVRFX01BWCwKIH07CiBzdHJ1Y3QgaWZsYV92Zl9saW5rX3N0YXRlIHsKLSBfX3UzMiB2ZjsKLSBfX3UzMiBsaW5rX3N0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgdmY7CisgIF9fdTMyIGxpbmtfc3RhdGU7CiB9OwogZW51bSB7Ci0gSUZMQV9WRl9QT1JUX1VOU1BFQywKLSBJRkxBX1ZGX1BPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fSUZMQV9WRl9QT1JUX01BWCwKKyAgSUZMQV9WRl9QT1JUX1VOU1BFQywKKyAgSUZMQV9WRl9QT1JULAorICBfX0lGTEFfVkZfUE9SVF9NQVgsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9WRl9QT1JUX01BWCAoX19JRkxBX1ZGX1BPUlRfTUFYIC0gMSkKIGVudW0geworICBJRkxBX1BPUlRfVU5TUEVDLAorICBJRkxBX1BPUlRfVkYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfUE9SVF9VTlNQRUMsCi0gSUZMQV9QT1JUX1ZGLAotIElGTEFfUE9SVF9QUk9GSUxFLAotIElGTEFfUE9SVF9WU0lfVFlQRSwKKyAgSUZMQV9QT1JUX1BST0ZJTEUsCisgIElGTEFfUE9SVF9WU0lfVFlQRSwKKyAgSUZMQV9QT1JUX0lOU1RBTkNFX1VVSUQsCisgIElGTEFfUE9SVF9IT1NUX1VVSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfUE9SVF9JTlNUQU5DRV9VVUlELAotIElGTEFfUE9SVF9IT1NUX1VVSUQsCi0gSUZMQV9QT1JUX1JFUVVFU1QsCi0gSUZMQV9QT1JUX1JFU1BPTlNFLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lGTEFfUE9SVF9NQVgsCisgIElGTEFfUE9SVF9SRVFVRVNULAorICBJRkxBX1BPUlRfUkVTUE9OU0UsCisgIF9fSUZMQV9QT1JUX01BWCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJRkxBX1BPUlRfTUFYIChfX0lGTEFfUE9SVF9NQVggLSAxKQogI2RlZmluZSBQT1JUX1BST0ZJTEVfTUFYIDQwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQT1JUX1VVSURfTUFYIDE2Ci0jZGVmaW5lIFBPUlRfU0VMRl9WRiAtMQotZW51bSB7Ci0gUE9SVF9SRVFVRVNUX1BSRUFTU09DSUFURSA9IDAsCisjZGVmaW5lIFBPUlRfU0VMRl9WRiAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUE9SVF9SRVFVRVNUX1BSRUFTU09DSUFURV9SUiwKLSBQT1JUX1JFUVVFU1RfQVNTT0NJQVRFLAotIFBPUlRfUkVRVUVTVF9ESVNBU1NPQ0lBVEUsCitlbnVtIHsKKyAgUE9SVF9SRVFVRVNUX1BSRUFTU09DSUFURSA9IDAsCisgIFBPUlRfUkVRVUVTVF9QUkVBU1NPQ0lBVEVfUlIsCisgIFBPUlRfUkVRVUVTVF9BU1NPQ0lBVEUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBQT1JUX1JFUVVFU1RfRElTQVNTT0NJQVRFLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBQT1JUX1ZEUF9SRVNQT05TRV9TVUNDRVNTID0gMCwKLSBQT1JUX1ZEUF9SRVNQT05TRV9JTlZBTElEX0ZPUk1BVCwKLSBQT1JUX1ZEUF9SRVNQT05TRV9JTlNVRkZJQ0lFTlRfUkVTT1VSQ0VTLAorICBQT1JUX1ZEUF9SRVNQT05TRV9TVUNDRVNTID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUE9SVF9WRFBfUkVTUE9OU0VfVU5VU0VEX1ZUSUQsCi0gUE9SVF9WRFBfUkVTUE9OU0VfVlRJRF9WSU9MQVRJT04sCi0gUE9SVF9WRFBfUkVTUE9OU0VfVlRJRF9WRVJTSU9OX1ZJT0FMVElPTiwKLSBQT1JUX1ZEUF9SRVNQT05TRV9PVVRfT0ZfU1lOQywKKyAgUE9SVF9WRFBfUkVTUE9OU0VfSU5WQUxJRF9GT1JNQVQsCisgIFBPUlRfVkRQX1JFU1BPTlNFX0lOU1VGRklDSUVOVF9SRVNPVVJDRVMsCisgIFBPUlRfVkRQX1JFU1BPTlNFX1VOVVNFRF9WVElELAorICBQT1JUX1ZEUF9SRVNQT05TRV9WVElEX1ZJT0xBVElPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUE9SVF9QUk9GSUxFX1JFU1BPTlNFX1NVQ0NFU1MgPSAweDEwMCwKLSBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfSU5QUk9HUkVTUywKLSBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfSU5WQUxJRCwKLSBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfQkFEU1RBVEUsCisgIFBPUlRfVkRQX1JFU1BPTlNFX1ZUSURfVkVSU0lPTl9WSU9BTFRJT04sCisgIFBPUlRfVkRQX1JFU1BPTlNFX09VVF9PRl9TWU5DLAorICBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfU1VDQ0VTUyA9IDB4MTAwLAorICBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfSU5QUk9HUkVTUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUE9SVF9QUk9GSUxFX1JFU1BPTlNFX0lOU1VGRklDSUVOVF9SRVNPVVJDRVMsCi0gUE9SVF9QUk9GSUxFX1JFU1BPTlNFX0VSUk9SLAorICBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfSU5WQUxJRCwKKyAgUE9SVF9QUk9GSUxFX1JFU1BPTlNFX0JBRFNUQVRFLAorICBQT1JUX1BST0ZJTEVfUkVTUE9OU0VfSU5TVUZGSUNJRU5UX1JFU09VUkNFUywKKyAgUE9SVF9QUk9GSUxFX1JFU1BPTlNFX0VSUk9SLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWZsYV9wb3J0X3ZzaSB7CisgIF9fdTggdnNpX21ncl9pZDsKKyAgX191OCB2c2lfdHlwZV9pZFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB2c2lfbWdyX2lkOwotIF9fdTggdnNpX3R5cGVfaWRbM107Ci0gX191OCB2c2lfdHlwZV92ZXJzaW9uOwotIF9fdTggcGFkWzNdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCB2c2lfdHlwZV92ZXJzaW9uOworICBfX3U4IHBhZFszXTsKIH07CiBlbnVtIHsKLSBJRkxBX0lQT0lCX1VOU1BFQywKLSBJRkxBX0lQT0lCX1BLRVksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfSVBPSUJfTU9ERSwKLSBJRkxBX0lQT0lCX1VNQ0FTVCwKLSBfX0lGTEFfSVBPSUJfTUFYCisgIElGTEFfSVBPSUJfVU5TUEVDLAorICBJRkxBX0lQT0lCX1BLRVksCisgIElGTEFfSVBPSUJfTU9ERSwKKyAgSUZMQV9JUE9JQl9VTUNBU1QsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX0lGTEFfSVBPSUJfTUFYCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIElQT0lCX01PREVfREFUQUdSQU0gPSAwLAotIElQT0lCX01PREVfQ09OTkVDVEVEID0gMSwKLX07CisgIElQT0lCX01PREVfREFUQUdSQU0gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSVBPSUJfTU9ERV9DT05ORUNURUQgPSAxLAorfTsKICNkZWZpbmUgSUZMQV9JUE9JQl9NQVggKF9fSUZMQV9JUE9JQl9NQVggLSAxKQogZW51bSB7Ci0gSUZMQV9IU1JfVU5TUEVDLAotIElGTEFfSFNSX1NMQVZFMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9IU1JfU0xBVkUyLAotIElGTEFfSFNSX01VTFRJQ0FTVF9TUEVDLAotIElGTEFfSFNSX1NVUEVSVklTSU9OX0FERFIsCi0gSUZMQV9IU1JfU0VRX05SLAorICBJRkxBX0hTUl9VTlNQRUMsCisgIElGTEFfSFNSX1NMQVZFMSwKKyAgSUZMQV9IU1JfU0xBVkUyLAorICBJRkxBX0hTUl9NVUxUSUNBU1RfU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19JRkxBX0hTUl9NQVgsCisgIElGTEFfSFNSX1NVUEVSVklTSU9OX0FERFIsCisgIElGTEFfSFNSX1NFUV9OUiwKKyAgX19JRkxBX0hTUl9NQVgsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9IU1JfTUFYIChfX0lGTEFfSFNSX01BWCAtIDEpCiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BhY2tldC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9wYWNrZXQuaAppbmRleCAxMzNjNzdiLi42ZTlhZTZhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BhY2tldC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcGFja2V0LmgKQEAgLTIxLDIwICsyMSwyMCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3Qgc29ja2FkZHJfcGt0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgc3BrdF9mYW1pbHk7Ci0gdW5zaWduZWQgY2hhciBzcGt0X2RldmljZVsxNF07Ci0gX19iZTE2IHNwa3RfcHJvdG9jb2w7CisgIHVuc2lnbmVkIHNob3J0IHNwa3RfZmFtaWx5OworICB1bnNpZ25lZCBjaGFyIHNwa3RfZGV2aWNlWzE0XTsKKyAgX19iZTE2IHNwa3RfcHJvdG9jb2w7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzb2NrYWRkcl9sbCB7Ci0gdW5zaWduZWQgc2hvcnQgc2xsX2ZhbWlseTsKLSBfX2JlMTYgc2xsX3Byb3RvY29sOwotIGludCBzbGxfaWZpbmRleDsKKyAgdW5zaWduZWQgc2hvcnQgc2xsX2ZhbWlseTsKKyAgX19iZTE2IHNsbF9wcm90b2NvbDsKKyAgaW50IHNsbF9pZmluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzbGxfaGF0eXBlOwotIHVuc2lnbmVkIGNoYXIgc2xsX3BrdHR5cGU7Ci0gdW5zaWduZWQgY2hhciBzbGxfaGFsZW47Ci0gdW5zaWduZWQgY2hhciBzbGxfYWRkcls4XTsKKyAgdW5zaWduZWQgc2hvcnQgc2xsX2hhdHlwZTsKKyAgdW5zaWduZWQgY2hhciBzbGxfcGt0dHlwZTsKKyAgdW5zaWduZWQgY2hhciBzbGxfaGFsZW47CisgIHVuc2lnbmVkIGNoYXIgc2xsX2FkZHJbOF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgUEFDS0VUX0hPU1QgMApAQCAtODMsMzEgKzgzLDMxIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQQUNLRVRfRkFOT1VUX0ZMQUdfREVGUkFHIDB4ODAwMAogc3RydWN0IHRwYWNrZXRfc3RhdHMgewotIHVuc2lnbmVkIGludCB0cF9wYWNrZXRzOwotIHVuc2lnbmVkIGludCB0cF9kcm9wczsKKyAgdW5zaWduZWQgaW50IHRwX3BhY2tldHM7CisgIHVuc2lnbmVkIGludCB0cF9kcm9wczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHRwYWNrZXRfc3RhdHNfdjMgewotIHVuc2lnbmVkIGludCB0cF9wYWNrZXRzOwotIHVuc2lnbmVkIGludCB0cF9kcm9wczsKKyAgdW5zaWduZWQgaW50IHRwX3BhY2tldHM7CisgIHVuc2lnbmVkIGludCB0cF9kcm9wczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRwX2ZyZWV6ZV9xX2NudDsKKyAgdW5zaWduZWQgaW50IHRwX2ZyZWV6ZV9xX2NudDsKIH07CiB1bmlvbiB0cGFja2V0X3N0YXRzX3UgewotIHN0cnVjdCB0cGFja2V0X3N0YXRzIHN0YXRzMTsKKyAgc3RydWN0IHRwYWNrZXRfc3RhdHMgc3RhdHMxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdHBhY2tldF9zdGF0c192MyBzdGF0czM7CisgIHN0cnVjdCB0cGFja2V0X3N0YXRzX3YzIHN0YXRzMzsKIH07CiBzdHJ1Y3QgdHBhY2tldF9hdXhkYXRhIHsKLSBfX3UzMiB0cF9zdGF0dXM7CisgIF9fdTMyIHRwX3N0YXR1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHBfbGVuOwotIF9fdTMyIHRwX3NuYXBsZW47Ci0gX191MTYgdHBfbWFjOwotIF9fdTE2IHRwX25ldDsKKyAgX191MzIgdHBfbGVuOworICBfX3UzMiB0cF9zbmFwbGVuOworICBfX3UxNiB0cF9tYWM7CisgIF9fdTE2IHRwX25ldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgdHBfdmxhbl90Y2k7Ci0gX191MTYgdHBfdmxhbl90cGlkOworICBfX3UxNiB0cF92bGFuX3RjaTsKKyAgX191MTYgdHBfdmxhbl90cGlkOwogfTsKICNkZWZpbmUgVFBfU1RBVFVTX0tFUk5FTCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTMxLDEyNyArMTMxLDEyNyBAQAogI2RlZmluZSBUUF9GVF9SRVFfRklMTF9SWEhBU0ggMHgxCiBzdHJ1Y3QgdHBhY2tldF9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHRwX3N0YXR1czsKLSB1bnNpZ25lZCBpbnQgdHBfbGVuOwotIHVuc2lnbmVkIGludCB0cF9zbmFwbGVuOwotIHVuc2lnbmVkIHNob3J0IHRwX21hYzsKKyAgdW5zaWduZWQgbG9uZyB0cF9zdGF0dXM7CisgIHVuc2lnbmVkIGludCB0cF9sZW47CisgIHVuc2lnbmVkIGludCB0cF9zbmFwbGVuOworICB1bnNpZ25lZCBzaG9ydCB0cF9tYWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHRwX25ldDsKLSB1bnNpZ25lZCBpbnQgdHBfc2VjOwotIHVuc2lnbmVkIGludCB0cF91c2VjOworICB1bnNpZ25lZCBzaG9ydCB0cF9uZXQ7CisgIHVuc2lnbmVkIGludCB0cF9zZWM7CisgIHVuc2lnbmVkIGludCB0cF91c2VjOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRQQUNLRVRfQUxJR05NRU5UIDE2Ci0jZGVmaW5lIFRQQUNLRVRfQUxJR04oeCkgKCgoeCkrVFBBQ0tFVF9BTElHTk1FTlQtMSkmfihUUEFDS0VUX0FMSUdOTUVOVC0xKSkKKyNkZWZpbmUgVFBBQ0tFVF9BTElHTih4KSAoKCh4KSArIFRQQUNLRVRfQUxJR05NRU5UIC0gMSkgJiB+KFRQQUNLRVRfQUxJR05NRU5UIC0gMSkpCiAjZGVmaW5lIFRQQUNLRVRfSERSTEVOIChUUEFDS0VUX0FMSUdOKHNpemVvZihzdHJ1Y3QgdHBhY2tldF9oZHIpKSArIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfbGwpKQogc3RydWN0IHRwYWNrZXQyX2hkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRwX3N0YXR1czsKLSBfX3UzMiB0cF9sZW47Ci0gX191MzIgdHBfc25hcGxlbjsKLSBfX3UxNiB0cF9tYWM7CisgIF9fdTMyIHRwX3N0YXR1czsKKyAgX191MzIgdHBfbGVuOworICBfX3UzMiB0cF9zbmFwbGVuOworICBfX3UxNiB0cF9tYWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHRwX25ldDsKLSBfX3UzMiB0cF9zZWM7Ci0gX191MzIgdHBfbnNlYzsKLSBfX3UxNiB0cF92bGFuX3RjaTsKKyAgX191MTYgdHBfbmV0OworICBfX3UzMiB0cF9zZWM7CisgIF9fdTMyIHRwX25zZWM7CisgIF9fdTE2IHRwX3ZsYW5fdGNpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB0cF92bGFuX3RwaWQ7Ci0gX191OCB0cF9wYWRkaW5nWzRdOworICBfX3UxNiB0cF92bGFuX3RwaWQ7CisgIF9fdTggdHBfcGFkZGluZ1s0XTsKIH07CiBzdHJ1Y3QgdHBhY2tldF9oZHJfdmFyaWFudDEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0cF9yeGhhc2g7Ci0gX191MzIgdHBfdmxhbl90Y2k7Ci0gX191MTYgdHBfdmxhbl90cGlkOwotIF9fdTE2IHRwX3BhZGRpbmc7CisgIF9fdTMyIHRwX3J4aGFzaDsKKyAgX191MzIgdHBfdmxhbl90Y2k7CisgIF9fdTE2IHRwX3ZsYW5fdHBpZDsKKyAgX191MTYgdHBfcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHRwYWNrZXQzX2hkciB7Ci0gX191MzIgdHBfbmV4dF9vZmZzZXQ7Ci0gX191MzIgdHBfc2VjOworICBfX3UzMiB0cF9uZXh0X29mZnNldDsKKyAgX191MzIgdHBfc2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0cF9uc2VjOwotIF9fdTMyIHRwX3NuYXBsZW47Ci0gX191MzIgdHBfbGVuOwotIF9fdTMyIHRwX3N0YXR1czsKKyAgX191MzIgdHBfbnNlYzsKKyAgX191MzIgdHBfc25hcGxlbjsKKyAgX191MzIgdHBfbGVuOworICBfX3UzMiB0cF9zdGF0dXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHRwX21hYzsKLSBfX3UxNiB0cF9uZXQ7Ci0gdW5pb24gewotIHN0cnVjdCB0cGFja2V0X2hkcl92YXJpYW50MSBodjE7CisgIF9fdTE2IHRwX21hYzsKKyAgX191MTYgdHBfbmV0OworICB1bmlvbiB7CisgICAgc3RydWN0IHRwYWNrZXRfaGRyX3ZhcmlhbnQxIGh2MTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKLSBfX3U4IHRwX3BhZGRpbmdbOF07CisgIH07CisgIF9fdTggdHBfcGFkZGluZ1s4XTsKIH07CiBzdHJ1Y3QgdHBhY2tldF9iZF90cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0c19zZWM7Ci0gdW5pb24gewotIHVuc2lnbmVkIGludCB0c191c2VjOwotIHVuc2lnbmVkIGludCB0c19uc2VjOworICB1bnNpZ25lZCBpbnQgdHNfc2VjOworICB1bmlvbiB7CisgICAgdW5zaWduZWQgaW50IHRzX3VzZWM7CisgICAgdW5zaWduZWQgaW50IHRzX25zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07CisgIH07CiB9Owogc3RydWN0IHRwYWNrZXRfaGRyX3YxIHsKLSBfX3UzMiBibG9ja19zdGF0dXM7CisgIF9fdTMyIGJsb2NrX3N0YXR1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbnVtX3BrdHM7Ci0gX191MzIgb2Zmc2V0X3RvX2ZpcnN0X3BrdDsKLSBfX3UzMiBibGtfbGVuOwotIF9fYWxpZ25lZF91NjQgc2VxX251bTsKKyAgX191MzIgbnVtX3BrdHM7CisgIF9fdTMyIG9mZnNldF90b19maXJzdF9wa3Q7CisgIF9fdTMyIGJsa19sZW47CisgIF9fYWxpZ25lZF91NjQgc2VxX251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRwYWNrZXRfYmRfdHMgdHNfZmlyc3RfcGt0LCB0c19sYXN0X3BrdDsKKyAgc3RydWN0IHRwYWNrZXRfYmRfdHMgdHNfZmlyc3RfcGt0LCB0c19sYXN0X3BrdDsKIH07CiB1bmlvbiB0cGFja2V0X2JkX2hlYWRlcl91IHsKLSBzdHJ1Y3QgdHBhY2tldF9oZHJfdjEgYmgxOworICBzdHJ1Y3QgdHBhY2tldF9oZHJfdjEgYmgxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdHBhY2tldF9ibG9ja19kZXNjIHsKLSBfX3UzMiB2ZXJzaW9uOwotIF9fdTMyIG9mZnNldF90b19wcml2OworICBfX3UzMiB2ZXJzaW9uOworICBfX3UzMiBvZmZzZXRfdG9fcHJpdjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gdHBhY2tldF9iZF9oZWFkZXJfdSBoZHI7CisgIHVuaW9uIHRwYWNrZXRfYmRfaGVhZGVyX3UgaGRyOwogfTsKICNkZWZpbmUgVFBBQ0tFVDJfSERSTEVOIChUUEFDS0VUX0FMSUdOKHNpemVvZihzdHJ1Y3QgdHBhY2tldDJfaGRyKSkgKyBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2xsKSkKICNkZWZpbmUgVFBBQ0tFVDNfSERSTEVOIChUUEFDS0VUX0FMSUdOKHNpemVvZihzdHJ1Y3QgdHBhY2tldDNfaGRyKSkgKyBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2xsKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHRwYWNrZXRfdmVyc2lvbnMgewotIFRQQUNLRVRfVjEsCi0gVFBBQ0tFVF9WMiwKLSBUUEFDS0VUX1YzCisgIFRQQUNLRVRfVjEsCisgIFRQQUNLRVRfVjIsCisgIFRQQUNLRVRfVjMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHRwYWNrZXRfcmVxIHsKLSB1bnNpZ25lZCBpbnQgdHBfYmxvY2tfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgdHBfYmxvY2tfbnI7CisgIHVuc2lnbmVkIGludCB0cF9ibG9ja19zaXplOworICB1bnNpZ25lZCBpbnQgdHBfYmxvY2tfbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0cF9mcmFtZV9zaXplOwotIHVuc2lnbmVkIGludCB0cF9mcmFtZV9ucjsKKyAgdW5zaWduZWQgaW50IHRwX2ZyYW1lX3NpemU7CisgIHVuc2lnbmVkIGludCB0cF9mcmFtZV9ucjsKIH07CiBzdHJ1Y3QgdHBhY2tldF9yZXEzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRwX2Jsb2NrX3NpemU7Ci0gdW5zaWduZWQgaW50IHRwX2Jsb2NrX25yOwotIHVuc2lnbmVkIGludCB0cF9mcmFtZV9zaXplOwotIHVuc2lnbmVkIGludCB0cF9mcmFtZV9ucjsKKyAgdW5zaWduZWQgaW50IHRwX2Jsb2NrX3NpemU7CisgIHVuc2lnbmVkIGludCB0cF9ibG9ja19ucjsKKyAgdW5zaWduZWQgaW50IHRwX2ZyYW1lX3NpemU7CisgIHVuc2lnbmVkIGludCB0cF9mcmFtZV9ucjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRwX3JldGlyZV9ibGtfdG92OwotIHVuc2lnbmVkIGludCB0cF9zaXplb2ZfcHJpdjsKLSB1bnNpZ25lZCBpbnQgdHBfZmVhdHVyZV9yZXFfd29yZDsKKyAgdW5zaWduZWQgaW50IHRwX3JldGlyZV9ibGtfdG92OworICB1bnNpZ25lZCBpbnQgdHBfc2l6ZW9mX3ByaXY7CisgIHVuc2lnbmVkIGludCB0cF9mZWF0dXJlX3JlcV93b3JkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB1bmlvbiB0cGFja2V0X3JlcV91IHsKLSBzdHJ1Y3QgdHBhY2tldF9yZXEgcmVxOwotIHN0cnVjdCB0cGFja2V0X3JlcTMgcmVxMzsKKyAgc3RydWN0IHRwYWNrZXRfcmVxIHJlcTsKKyAgc3RydWN0IHRwYWNrZXRfcmVxMyByZXEzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcGFja2V0X21yZXEgewotIGludCBtcl9pZmluZGV4OwotIHVuc2lnbmVkIHNob3J0IG1yX3R5cGU7Ci0gdW5zaWduZWQgc2hvcnQgbXJfYWxlbjsKKyAgaW50IG1yX2lmaW5kZXg7CisgIHVuc2lnbmVkIHNob3J0IG1yX3R5cGU7CisgIHVuc2lnbmVkIHNob3J0IG1yX2FsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgbXJfYWRkcmVzc1s4XTsKKyAgdW5zaWduZWQgY2hhciBtcl9hZGRyZXNzWzhdOwogfTsKICNkZWZpbmUgUEFDS0VUX01SX01VTFRJQ0FTVCAwCiAjZGVmaW5lIFBBQ0tFVF9NUl9QUk9NSVNDIDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcGxpcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9wbGlwLmgKaW5kZXggMjJhNDllMC4uNDI2MjFkNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9wbGlwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9wbGlwLmgKQEAgLTIyLDkgKzIyLDkgQEAKICNkZWZpbmUgU0lPQ0RFVlBMSVAgU0lPQ0RFVlBSSVZBVEUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcGxpcGNvbmYgewotIHVuc2lnbmVkIHNob3J0IHBjbWQ7Ci0gdW5zaWduZWQgbG9uZyBuaWJibGU7Ci0gdW5zaWduZWQgbG9uZyB0cmlnZ2VyOworICB1bnNpZ25lZCBzaG9ydCBwY21kOworICB1bnNpZ25lZCBsb25nIG5pYmJsZTsKKyAgdW5zaWduZWQgbG9uZyB0cmlnZ2VyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFBMSVBfR0VUX1RJTUVPVVQgMHgxCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BwcG9sMnRwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BwcG9sMnRwLmgKaW5kZXggNjYxYzU2ZC4uMzZiOGNlZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9wcHBvbDJ0cC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb2wydHAuaApAQCAtMjEsNTQgKzIxLDU0IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBwcHBvbDJ0cF9hZGRyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfcGlkX3QgcGlkOwotIGludCBmZDsKLSBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcjsKLSBfX3UxNiBzX3R1bm5lbCwgc19zZXNzaW9uOworICBfX2tlcm5lbF9waWRfdCBwaWQ7CisgIGludCBmZDsKKyAgc3RydWN0IHNvY2thZGRyX2luIGFkZHI7CisgIF9fdTE2IHNfdHVubmVsLCBzX3Nlc3Npb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGRfdHVubmVsLCBkX3Nlc3Npb247CisgIF9fdTE2IGRfdHVubmVsLCBkX3Nlc3Npb247CiB9Owogc3RydWN0IHBwcG9sMnRwaW42X2FkZHIgewotIF9fa2VybmVsX3BpZF90IHBpZDsKKyAgX19rZXJuZWxfcGlkX3QgcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZmQ7Ci0gX191MTYgc190dW5uZWwsIHNfc2Vzc2lvbjsKLSBfX3UxNiBkX3R1bm5lbCwgZF9zZXNzaW9uOwotIHN0cnVjdCBzb2NrYWRkcl9pbjYgYWRkcjsKKyAgaW50IGZkOworICBfX3UxNiBzX3R1bm5lbCwgc19zZXNzaW9uOworICBfX3UxNiBkX3R1bm5lbCwgZF9zZXNzaW9uOworICBzdHJ1Y3Qgc29ja2FkZHJfaW42IGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBwcHBvbDJ0cHYzX2FkZHIgewotIF9fa2VybmVsX3BpZF90IHBpZDsKLSBpbnQgZmQ7CisgIF9fa2VybmVsX3BpZF90IHBpZDsKKyAgaW50IGZkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcjsKLSBfX3UzMiBzX3R1bm5lbCwgc19zZXNzaW9uOwotIF9fdTMyIGRfdHVubmVsLCBkX3Nlc3Npb247CisgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyOworICBfX3UzMiBzX3R1bm5lbCwgc19zZXNzaW9uOworICBfX3UzMiBkX3R1bm5lbCwgZF9zZXNzaW9uOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcHBwb2wydHB2M2luNl9hZGRyIHsKLSBfX2tlcm5lbF9waWRfdCBwaWQ7Ci0gaW50IGZkOwotIF9fdTMyIHNfdHVubmVsLCBzX3Nlc3Npb247CisgIF9fa2VybmVsX3BpZF90IHBpZDsKKyAgaW50IGZkOworICBfX3UzMiBzX3R1bm5lbCwgc19zZXNzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkX3R1bm5lbCwgZF9zZXNzaW9uOwotIHN0cnVjdCBzb2NrYWRkcl9pbjYgYWRkcjsKKyAgX191MzIgZF90dW5uZWwsIGRfc2Vzc2lvbjsKKyAgc3RydWN0IHNvY2thZGRyX2luNiBhZGRyOwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQUFBPTDJUUF9TT19ERUJVRyA9IDEsCi0gUFBQT0wyVFBfU09fUkVDVlNFUSA9IDIsCi0gUFBQT0wyVFBfU09fU0VORFNFUSA9IDMsCi0gUFBQT0wyVFBfU09fTE5TTU9ERSA9IDQsCisgIFBQUE9MMlRQX1NPX0RFQlVHID0gMSwKKyAgUFBQT0wyVFBfU09fUkVDVlNFUSA9IDIsCisgIFBQUE9MMlRQX1NPX1NFTkRTRVEgPSAzLAorICBQUFBPTDJUUF9TT19MTlNNT0RFID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUFBQT0wyVFBfU09fUkVPUkRFUlRPID0gNSwKKyAgUFBQT0wyVFBfU09fUkVPUkRFUlRPID0gNSwKIH07CiBlbnVtIHsKLSBQUFBPTDJUUF9NU0dfREVCVUcgPSAoMSA8PCAwKSwKKyAgUFBQT0wyVFBfTVNHX0RFQlVHID0gKDEgPDwgMCksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBQUE9MMlRQX01TR19DT05UUk9MID0gKDEgPDwgMSksCi0gUFBQT0wyVFBfTVNHX1NFUSA9ICgxIDw8IDIpLAotIFBQUE9MMlRQX01TR19EQVRBID0gKDEgPDwgMyksCisgIFBQUE9MMlRQX01TR19DT05UUk9MID0gKDEgPDwgMSksCisgIFBQUE9MMlRQX01TR19TRVEgPSAoMSA8PCAyKSwKKyAgUFBQT0wyVFBfTVNHX0RBVEEgPSAoMSA8PCAzKSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BwcG9sYWMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb2xhYy5oCmluZGV4IDg0YTE0OTkuLjMwM2E4OTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb2xhYy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb2xhYy5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzb2NrYWRkcl9wcHBvbGFjIHsKLSBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7Ci0gdW5zaWduZWQgaW50IHNhX3Byb3RvY29sOwotIGludCB1ZHBfc29ja2V0OworICBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7CisgIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKKyAgaW50IHVkcF9zb2NrZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSB7Ci0gX191MTYgdHVubmVsLCBzZXNzaW9uOwotIH0gbG9jYWwsIHJlbW90ZTsKKyAgc3RydWN0IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHsKKyAgICBfX3UxNiB0dW5uZWwsIHNlc3Npb247CisgIH0gbG9jYWwsIHJlbW90ZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BwcG9wbnMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb3Bucy5oCmluZGV4IGRkMjlhOGIuLmJkOTZlOTQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb3Bucy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb3Bucy5oCkBAIC0yMiwxMiArMjIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzb2NrYWRkcl9wcHBvcG5zIHsKLSBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7Ci0gdW5zaWduZWQgaW50IHNhX3Byb3RvY29sOwotIGludCB0Y3Bfc29ja2V0OworICBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7CisgIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKKyAgaW50IHRjcF9zb2NrZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGxvY2FsOwotIF9fdTE2IHJlbW90ZTsKKyAgX191MTYgbG9jYWw7CisgIF9fdTE2IHJlbW90ZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BwcG94LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3BwcG94LmgKaW5kZXggM2JjMmRkYi4uN2I0ZGJkMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl9wcHBveC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfcHBwb3guaApAQCAtMzIsMTQgKzMyLDE0IEBACiB0eXBlZGVmIF9fYmUxNiBzaWRfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcHBwb2VfYWRkciB7Ci0gc2lkX3Qgc2lkOwotIHVuc2lnbmVkIGNoYXIgcmVtb3RlW0VUSF9BTEVOXTsKLSBjaGFyIGRldltJRk5BTVNJWl07CisgIHNpZF90IHNpZDsKKyAgdW5zaWduZWQgY2hhciByZW1vdGVbRVRIX0FMRU5dOworICBjaGFyIGRldltJRk5BTVNJWl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBwcHRwX2FkZHIgewotIF9fdTE2IGNhbGxfaWQ7Ci0gc3RydWN0IGluX2FkZHIgc2luX2FkZHI7CisgIF9fdTE2IGNhbGxfaWQ7CisgIHN0cnVjdCBpbl9hZGRyIHNpbl9hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFBYX1BST1RPX09FIDAKQEAgLTQ4LDQyICs0OCw0MiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUFhfTUFYX1BST1RPIDMKIHN0cnVjdCBzb2NrYWRkcl9wcHBveCB7Ci0gX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5OwotIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5OworICB1bnNpZ25lZCBpbnQgc2FfcHJvdG9jb2w7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgcHBwb2VfYWRkciBwcHBvZTsKLSBzdHJ1Y3QgcHB0cF9hZGRyIHBwdHA7Ci0gfSBzYV9hZGRyOworICB1bmlvbiB7CisgICAgc3RydWN0IHBwcG9lX2FkZHIgcHBwb2U7CisgICAgc3RydWN0IHBwdHBfYWRkciBwcHRwOworICB9IHNhX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX3BhY2tlZDsKIHN0cnVjdCBzb2NrYWRkcl9wcHBvbDJ0cCB7Ci0gX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5OwotIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5OworICB1bnNpZ25lZCBpbnQgc2FfcHJvdG9jb2w7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBwcHBvbDJ0cF9hZGRyIHBwcG9sMnRwOworICBzdHJ1Y3QgcHBwb2wydHBfYWRkciBwcHBvbDJ0cDsKIH0gX19wYWNrZWQ7CiBzdHJ1Y3Qgc29ja2FkZHJfcHBwb2wydHBpbjYgewotIF9fa2VybmVsX3NhX2ZhbWlseV90IHNhX2ZhbWlseTsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc2FfcHJvdG9jb2w7Ci0gc3RydWN0IHBwcG9sMnRwaW42X2FkZHIgcHBwb2wydHA7CisgIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKKyAgc3RydWN0IHBwcG9sMnRwaW42X2FkZHIgcHBwb2wydHA7CiB9IF9fcGFja2VkOwogc3RydWN0IHNvY2thZGRyX3BwcG9sMnRwdjMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzYV9mYW1pbHk7Ci0gdW5zaWduZWQgaW50IHNhX3Byb3RvY29sOwotIHN0cnVjdCBwcHBvbDJ0cHYzX2FkZHIgcHBwb2wydHA7CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHNhX2ZhbWlseTsKKyAgdW5zaWduZWQgaW50IHNhX3Byb3RvY29sOworICBzdHJ1Y3QgcHBwb2wydHB2M19hZGRyIHBwcG9sMnRwOwogfSBfX3BhY2tlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc29ja2FkZHJfcHBwb2wydHB2M2luNiB7Ci0gX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5OwotIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKLSBzdHJ1Y3QgcHBwb2wydHB2M2luNl9hZGRyIHBwcG9sMnRwOworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzYV9mYW1pbHk7CisgIHVuc2lnbmVkIGludCBzYV9wcm90b2NvbDsKKyAgc3RydWN0IHBwcG9sMnRwdjNpbjZfYWRkciBwcHBvbDJ0cDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fcGFja2VkOwotI2RlZmluZSBQUFBPRUlPQ1NGV0QgX0lPVygweEIxICwwLCBzaXplX3QpCi0jZGVmaW5lIFBQUE9FSU9DREZXRCBfSU8oMHhCMSAsMSkKKyNkZWZpbmUgUFBQT0VJT0NTRldEIF9JT1coMHhCMSwgMCwgc2l6ZV90KQorI2RlZmluZSBQUFBPRUlPQ0RGV0QgX0lPKDB4QjEsIDEpCiAjZGVmaW5lIFBBRElfQ09ERSAweDA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQQURPX0NPREUgMHgwNwpAQCAtOTIsMTEgKzkyLDExIEBACiAjZGVmaW5lIFBBRFRfQ09ERSAweGE3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHBwcG9lX3RhZyB7Ci0gX19iZTE2IHRhZ190eXBlOwotIF9fYmUxNiB0YWdfbGVuOwotIGNoYXIgdGFnX2RhdGFbMF07CisgIF9fYmUxNiB0YWdfdHlwZTsKKyAgX19iZTE2IHRhZ19sZW47CisgIGNoYXIgdGFnX2RhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBQVFRfRU9MIF9fY3B1X3RvX2JlMTYoMHgwMDAwKQogI2RlZmluZSBQVFRfU1JWX05BTUUgX19jcHVfdG9fYmUxNigweDAxMDEpCiAjZGVmaW5lIFBUVF9BQ19OQU1FIF9fY3B1X3RvX2JlMTYoMHgwMTAyKQpAQCAtMTEyLDIxICsxMTIsMjEgQEAKIHN0cnVjdCBwcHBvZV9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBfX0xJVFRMRV9FTkRJQU5fQklURklFTEQKLSBfX3U4IHR5cGUgOiA0OwotIF9fdTggdmVyIDogNDsKKyAgX191OCB0eXBlIDogNDsKKyAgX191OCB2ZXIgOiA0OwogI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdmVyIDogNDsKLSBfX3U4IHR5cGUgOiA0OworICBfX3U4IHZlciA6IDQ7CisgIF9fdTggdHlwZSA6IDQ7CiAjZWxzZQogI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+IgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgotIF9fdTggY29kZTsKLSBfX2JlMTYgc2lkOwotIF9fYmUxNiBsZW5ndGg7CisgIF9fdTggY29kZTsKKyAgX19iZTE2IHNpZDsKKyAgX19iZTE2IGxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHBwcG9lX3RhZyB0YWdbMF07CisgIHN0cnVjdCBwcHBvZV90YWcgdGFnWzBdOwogfSBfX3BhY2tlZDsKICNkZWZpbmUgUFBQT0VfU0VTX0hMRU4gOAogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3NsaXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfc2xpcC5oCmluZGV4IDc4NjNmMmMuLjhjZDcxNGUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfc2xpcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfc2xpcC5oCkBAIC0yNiwxMCArMjYsMTAgQEAKICNkZWZpbmUgU0xfT1BUX0FEQVBUSVZFIDgKICNkZWZpbmUgU0lPQ1NLRUVQQUxJVkUgKFNJT0NERVZQUklWQVRFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0lPQ0dLRUVQQUxJVkUgKFNJT0NERVZQUklWQVRFKzEpCi0jZGVmaW5lIFNJT0NTT1VURklMTCAoU0lPQ0RFVlBSSVZBVEUrMikKLSNkZWZpbmUgU0lPQ0dPVVRGSUxMIChTSU9DREVWUFJJVkFURSszKQotI2RlZmluZSBTSU9DU0xFQVNFIChTSU9DREVWUFJJVkFURSs0KQorI2RlZmluZSBTSU9DR0tFRVBBTElWRSAoU0lPQ0RFVlBSSVZBVEUgKyAxKQorI2RlZmluZSBTSU9DU09VVEZJTEwgKFNJT0NERVZQUklWQVRFICsgMikKKyNkZWZpbmUgU0lPQ0dPVVRGSUxMIChTSU9DREVWUFJJVkFURSArIDMpCisjZGVmaW5lIFNJT0NTTEVBU0UgKFNJT0NERVZQUklWQVRFICsgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNJT0NHTEVBU0UgKFNJT0NERVZQUklWQVRFKzUpCisjZGVmaW5lIFNJT0NHTEVBU0UgKFNJT0NERVZQUklWQVRFICsgNSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl90ZWFtLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3RlYW0uaAppbmRleCBlNzcyZDZkLi4wZDczZjFlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3RlYW0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3RlYW0uaApAQCAtMjEsNjcgKzIxLDY3IEBACiAjZGVmaW5lIFRFQU1fU1RSSU5HX01BWF9MRU4gMzIKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBURUFNX0NNRF9OT09QLAotIFRFQU1fQ01EX09QVElPTlNfU0VULAotIFRFQU1fQ01EX09QVElPTlNfR0VULAotIFRFQU1fQ01EX1BPUlRfTElTVF9HRVQsCisgIFRFQU1fQ01EX05PT1AsCisgIFRFQU1fQ01EX09QVElPTlNfU0VULAorICBURUFNX0NNRF9PUFRJT05TX0dFVCwKKyAgVEVBTV9DTURfUE9SVF9MSVNUX0dFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19URUFNX0NNRF9NQVgsCi0gVEVBTV9DTURfTUFYID0gKF9fVEVBTV9DTURfTUFYIC0gMSksCisgIF9fVEVBTV9DTURfTUFYLAorICBURUFNX0NNRF9NQVggPSAoX19URUFNX0NNRF9NQVggLSAxKSwKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVEVBTV9BVFRSX1VOU1BFQywKLSBURUFNX0FUVFJfVEVBTV9JRklOREVYLAotIFRFQU1fQVRUUl9MSVNUX09QVElPTiwKLSBURUFNX0FUVFJfTElTVF9QT1JULAorICBURUFNX0FUVFJfVU5TUEVDLAorICBURUFNX0FUVFJfVEVBTV9JRklOREVYLAorICBURUFNX0FUVFJfTElTVF9PUFRJT04sCisgIFRFQU1fQVRUUl9MSVNUX1BPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVEVBTV9BVFRSX01BWCwKLSBURUFNX0FUVFJfTUFYID0gX19URUFNX0FUVFJfTUFYIC0gMSwKKyAgX19URUFNX0FUVFJfTUFYLAorICBURUFNX0FUVFJfTUFYID0gX19URUFNX0FUVFJfTUFYIC0gMSwKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVEVBTV9BVFRSX0lURU1fT1BUSU9OX1VOU1BFQywKLSBURUFNX0FUVFJfSVRFTV9PUFRJT04sCi0gX19URUFNX0FUVFJfSVRFTV9PUFRJT05fTUFYLAotIFRFQU1fQVRUUl9JVEVNX09QVElPTl9NQVggPSBfX1RFQU1fQVRUUl9JVEVNX09QVElPTl9NQVggLSAxLAorICBURUFNX0FUVFJfSVRFTV9PUFRJT05fVU5TUEVDLAorICBURUFNX0FUVFJfSVRFTV9PUFRJT04sCisgIF9fVEVBTV9BVFRSX0lURU1fT1BUSU9OX01BWCwKKyAgVEVBTV9BVFRSX0lURU1fT1BUSU9OX01BWCA9IF9fVEVBTV9BVFRSX0lURU1fT1BUSU9OX01BWCAtIDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFRFQU1fQVRUUl9PUFRJT05fVU5TUEVDLAotIFRFQU1fQVRUUl9PUFRJT05fTkFNRSwKKyAgVEVBTV9BVFRSX09QVElPTl9VTlNQRUMsCisgIFRFQU1fQVRUUl9PUFRJT05fTkFNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVEVBTV9BVFRSX09QVElPTl9DSEFOR0VELAotIFRFQU1fQVRUUl9PUFRJT05fVFlQRSwKLSBURUFNX0FUVFJfT1BUSU9OX0RBVEEsCi0gVEVBTV9BVFRSX09QVElPTl9SRU1PVkVELAorICBURUFNX0FUVFJfT1BUSU9OX0NIQU5HRUQsCisgIFRFQU1fQVRUUl9PUFRJT05fVFlQRSwKKyAgVEVBTV9BVFRSX09QVElPTl9EQVRBLAorICBURUFNX0FUVFJfT1BUSU9OX1JFTU9WRUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRFQU1fQVRUUl9PUFRJT05fUE9SVF9JRklOREVYLAotIFRFQU1fQVRUUl9PUFRJT05fQVJSQVlfSU5ERVgsCi0gX19URUFNX0FUVFJfT1BUSU9OX01BWCwKLSBURUFNX0FUVFJfT1BUSU9OX01BWCA9IF9fVEVBTV9BVFRSX09QVElPTl9NQVggLSAxLAorICBURUFNX0FUVFJfT1BUSU9OX1BPUlRfSUZJTkRFWCwKKyAgVEVBTV9BVFRSX09QVElPTl9BUlJBWV9JTkRFWCwKKyAgX19URUFNX0FUVFJfT1BUSU9OX01BWCwKKyAgVEVBTV9BVFRSX09QVElPTl9NQVggPSBfX1RFQU1fQVRUUl9PUFRJT05fTUFYIC0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gVEVBTV9BVFRSX0lURU1fUE9SVF9VTlNQRUMsCi0gVEVBTV9BVFRSX0lURU1fUE9SVCwKKyAgVEVBTV9BVFRSX0lURU1fUE9SVF9VTlNQRUMsCisgIFRFQU1fQVRUUl9JVEVNX1BPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVEVBTV9BVFRSX0lURU1fUE9SVF9NQVgsCi0gVEVBTV9BVFRSX0lURU1fUE9SVF9NQVggPSBfX1RFQU1fQVRUUl9JVEVNX1BPUlRfTUFYIC0gMSwKKyAgX19URUFNX0FUVFJfSVRFTV9QT1JUX01BWCwKKyAgVEVBTV9BVFRSX0lURU1fUE9SVF9NQVggPSBfX1RFQU1fQVRUUl9JVEVNX1BPUlRfTUFYIC0gMSwKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVEVBTV9BVFRSX1BPUlRfVU5TUEVDLAotIFRFQU1fQVRUUl9QT1JUX0lGSU5ERVgsCi0gVEVBTV9BVFRSX1BPUlRfQ0hBTkdFRCwKLSBURUFNX0FUVFJfUE9SVF9MSU5LVVAsCisgIFRFQU1fQVRUUl9QT1JUX1VOU1BFQywKKyAgVEVBTV9BVFRSX1BPUlRfSUZJTkRFWCwKKyAgVEVBTV9BVFRSX1BPUlRfQ0hBTkdFRCwKKyAgVEVBTV9BVFRSX1BPUlRfTElOS1VQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBURUFNX0FUVFJfUE9SVF9TUEVFRCwKLSBURUFNX0FUVFJfUE9SVF9EVVBMRVgsCi0gVEVBTV9BVFRSX1BPUlRfUkVNT1ZFRCwKLSBfX1RFQU1fQVRUUl9QT1JUX01BWCwKKyAgVEVBTV9BVFRSX1BPUlRfU1BFRUQsCisgIFRFQU1fQVRUUl9QT1JUX0RVUExFWCwKKyAgVEVBTV9BVFRSX1BPUlRfUkVNT1ZFRCwKKyAgX19URUFNX0FUVFJfUE9SVF9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRFQU1fQVRUUl9QT1JUX01BWCA9IF9fVEVBTV9BVFRSX1BPUlRfTUFYIC0gMSwKKyAgVEVBTV9BVFRSX1BPUlRfTUFYID0gX19URUFNX0FUVFJfUE9SVF9NQVggLSAxLAogfTsKICNkZWZpbmUgVEVBTV9HRU5MX05BTUUgInRlYW0iCiAjZGVmaW5lIFRFQU1fR0VOTF9WRVJTSU9OIDB4MQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl90dW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfdHVuLmgKaW5kZXggZjhmODBiOS4uZGQyZGMyYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl90dW4uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3R1bi5oCkBAIC04NCwxNiArODQsMTYgQEAKICNkZWZpbmUgVFVOX0ZfVUZPIDB4MTAKICNkZWZpbmUgVFVOX1BLVF9TVFJJUCAweDAwMDEKIHN0cnVjdCB0dW5fcGkgewotIF9fdTE2IGZsYWdzOworICBfX3UxNiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IHByb3RvOworICBfX2JlMTYgcHJvdG87CiB9OwogI2RlZmluZSBUVU5fRkxUX0FMTE1VTFRJIDB4MDAwMQogc3RydWN0IHR1bl9maWx0ZXIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBmbGFnczsKLSBfX3UxNiBjb3VudDsKLSBfX3U4IGFkZHJbMF1bRVRIX0FMRU5dOworICBfX3UxNiBmbGFnczsKKyAgX191MTYgY291bnQ7CisgIF9fdTggYWRkclswXVtFVEhfQUxFTl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl90dW5uZWwuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfdHVubmVsLmgKaW5kZXggNjdjZTVjZS4uZmVhMzQyOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZl90dW5uZWwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3R1bm5lbC5oCkBAIC00Nyw5MyArNDcsMTEyIEBACiAjZGVmaW5lIEdSRV9WRVJTSU9OIF9fY3B1X3RvX2JlMTYoMHgwMDA3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcF90dW5uZWxfcGFybSB7Ci0gY2hhciBuYW1lW0lGTkFNU0laXTsKLSBpbnQgbGluazsKLSBfX2JlMTYgaV9mbGFnczsKKyAgY2hhciBuYW1lW0lGTkFNU0laXTsKKyAgaW50IGxpbms7CisgIF9fYmUxNiBpX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgb19mbGFnczsKLSBfX2JlMzIgaV9rZXk7Ci0gX19iZTMyIG9fa2V5OwotIHN0cnVjdCBpcGhkciBpcGg7CisgIF9fYmUxNiBvX2ZsYWdzOworICBfX2JlMzIgaV9rZXk7CisgIF9fYmUzMiBvX2tleTsKKyAgc3RydWN0IGlwaGRyIGlwaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gSUZMQV9JUFRVTl9VTlNQRUMsCi0gSUZMQV9JUFRVTl9MSU5LLAorICBJRkxBX0lQVFVOX1VOU1BFQywKKyAgSUZMQV9JUFRVTl9MSU5LLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0lQVFVOX0xPQ0FMLAotIElGTEFfSVBUVU5fUkVNT1RFLAotIElGTEFfSVBUVU5fVFRMLAotIElGTEFfSVBUVU5fVE9TLAorICBJRkxBX0lQVFVOX0xPQ0FMLAorICBJRkxBX0lQVFVOX1JFTU9URSwKKyAgSUZMQV9JUFRVTl9UVEwsCisgIElGTEFfSVBUVU5fVE9TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0lQVFVOX0VOQ0FQX0xJTUlULAotIElGTEFfSVBUVU5fRkxPV0lORk8sCi0gSUZMQV9JUFRVTl9GTEFHUywKLSBJRkxBX0lQVFVOX1BST1RPLAorICBJRkxBX0lQVFVOX0VOQ0FQX0xJTUlULAorICBJRkxBX0lQVFVOX0ZMT1dJTkZPLAorICBJRkxBX0lQVFVOX0ZMQUdTLAorICBJRkxBX0lQVFVOX1BST1RPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0lQVFVOX1BNVFVESVNDLAotIElGTEFfSVBUVU5fNlJEX1BSRUZJWCwKLSBJRkxBX0lQVFVOXzZSRF9SRUxBWV9QUkVGSVgsCi0gSUZMQV9JUFRVTl82UkRfUFJFRklYTEVOLAorICBJRkxBX0lQVFVOX1BNVFVESVNDLAorICBJRkxBX0lQVFVOXzZSRF9QUkVGSVgsCisgIElGTEFfSVBUVU5fNlJEX1JFTEFZX1BSRUZJWCwKKyAgSUZMQV9JUFRVTl82UkRfUFJFRklYTEVOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0lQVFVOXzZSRF9SRUxBWV9QUkVGSVhMRU4sCi0gX19JRkxBX0lQVFVOX01BWCwKKyAgSUZMQV9JUFRVTl82UkRfUkVMQVlfUFJFRklYTEVOLAorICBJRkxBX0lQVFVOX0VOQ0FQX1RZUEUsCisgIElGTEFfSVBUVU5fRU5DQVBfRkxBR1MsCisgIElGTEFfSVBUVU5fRU5DQVBfU1BPUlQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJRkxBX0lQVFVOX0VOQ0FQX0RQT1JULAorICBfX0lGTEFfSVBUVU5fTUFYLAogfTsKICNkZWZpbmUgSUZMQV9JUFRVTl9NQVggKF9fSUZMQV9JUFRVTl9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gdHVubmVsX2VuY2FwX3R5cGVzIHsKKyAgVFVOTkVMX0VOQ0FQX05PTkUsCisgIFRVTk5FTF9FTkNBUF9GT1UsCisgIFRVTk5FTF9FTkNBUF9HVUUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKKyNkZWZpbmUgVFVOTkVMX0VOQ0FQX0ZMQUdfQ1NVTSAoMSA8PCAwKQorI2RlZmluZSBUVU5ORUxfRU5DQVBfRkxBR19DU1VNNiAoMSA8PCAxKQogI2RlZmluZSBTSVRfSVNBVEFQIDB4MDAwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcF90dW5uZWxfcHJsIHsKLSBfX2JlMzIgYWRkcjsKLSBfX3UxNiBmbGFnczsKKyAgX19iZTMyIGFkZHI7CisgIF9fdTE2IGZsYWdzOworICBfX3UxNiBfX3Jlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBfX3Jlc2VydmVkOwotIF9fdTMyIGRhdGFsZW47Ci0gX191MzIgX19yZXNlcnZlZDI7CisgIF9fdTMyIGRhdGFsZW47CisgIF9fdTMyIF9fcmVzZXJ2ZWQyOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBSTF9ERUZBVUxUIDB4MDAwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcF90dW5uZWxfNnJkIHsKLSBzdHJ1Y3QgaW42X2FkZHIgcHJlZml4OwotIF9fYmUzMiByZWxheV9wcmVmaXg7CisgIHN0cnVjdCBpbjZfYWRkciBwcmVmaXg7CisgIF9fYmUzMiByZWxheV9wcmVmaXg7CisgIF9fdTE2IHByZWZpeGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcHJlZml4bGVuOwotIF9fdTE2IHJlbGF5X3ByZWZpeGxlbjsKKyAgX191MTYgcmVsYXlfcHJlZml4bGVuOwogfTsKIGVudW0geworICBJRkxBX0dSRV9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfR1JFX1VOU1BFQywKLSBJRkxBX0dSRV9MSU5LLAotIElGTEFfR1JFX0lGTEFHUywKLSBJRkxBX0dSRV9PRkxBR1MsCisgIElGTEFfR1JFX0xJTkssCisgIElGTEFfR1JFX0lGTEFHUywKKyAgSUZMQV9HUkVfT0ZMQUdTLAorICBJRkxBX0dSRV9JS0VZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJRkxBX0dSRV9JS0VZLAotIElGTEFfR1JFX09LRVksCi0gSUZMQV9HUkVfTE9DQUwsCi0gSUZMQV9HUkVfUkVNT1RFLAorICBJRkxBX0dSRV9PS0VZLAorICBJRkxBX0dSRV9MT0NBTCwKKyAgSUZMQV9HUkVfUkVNT1RFLAorICBJRkxBX0dSRV9UVEwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfR1JFX1RUTCwKLSBJRkxBX0dSRV9UT1MsCi0gSUZMQV9HUkVfUE1UVURJU0MsCi0gSUZMQV9HUkVfRU5DQVBfTElNSVQsCisgIElGTEFfR1JFX1RPUywKKyAgSUZMQV9HUkVfUE1UVURJU0MsCisgIElGTEFfR1JFX0VOQ0FQX0xJTUlULAorICBJRkxBX0dSRV9GTE9XSU5GTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9HUkVfRkxPV0lORk8sCi0gSUZMQV9HUkVfRkxBR1MsCi0gX19JRkxBX0dSRV9NQVgsCisgIElGTEFfR1JFX0ZMQUdTLAorICBJRkxBX0dSRV9FTkNBUF9UWVBFLAorICBJRkxBX0dSRV9FTkNBUF9GTEFHUywKKyAgSUZMQV9HUkVfRU5DQVBfU1BPUlQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJRkxBX0dSRV9FTkNBUF9EUE9SVCwKKyAgX19JRkxBX0dSRV9NQVgsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUZMQV9HUkVfTUFYIChfX0lGTEFfR1JFX01BWCAtIDEpCi0jZGVmaW5lIFZUSV9JU1ZUSSAweDAwMDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFZUSV9JU1ZUSSAoKF9fZm9yY2UgX19iZTE2KSAweDAwMDEpCiBlbnVtIHsKLSBJRkxBX1ZUSV9VTlNQRUMsCisgIElGTEFfVlRJX1VOU1BFQywKKyAgSUZMQV9WVElfTElOSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUZMQV9WVElfTElOSywKLSBJRkxBX1ZUSV9JS0VZLAotIElGTEFfVlRJX09LRVksCi0gSUZMQV9WVElfTE9DQUwsCisgIElGTEFfVlRJX0lLRVksCisgIElGTEFfVlRJX09LRVksCisgIElGTEFfVlRJX0xPQ0FMLAorICBJRkxBX1ZUSV9SRU1PVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGTEFfVlRJX1JFTU9URSwKLSBfX0lGTEFfVlRJX01BWCwKKyAgX19JRkxBX1ZUSV9NQVgsCiB9OwogI2RlZmluZSBJRkxBX1ZUSV9NQVggKF9fSUZMQV9WVElfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lmX3ZsYW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfdmxhbi5oCmluZGV4IDRjZjNjMTUuLjg1YTMyMzkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfdmxhbi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaWZfdmxhbi5oCkBAIC0xOSw1MSArMTksNTEgQEAKICNpZm5kZWYgX1VBUElfTElOVVhfSUZfVkxBTl9IXwogI2RlZmluZSBfVUFQSV9MSU5VWF9JRl9WTEFOX0hfCiBlbnVtIHZsYW5faW9jdGxfY21kcyB7Ci0gQUREX1ZMQU5fQ01ELAorICBBRERfVkxBTl9DTUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERFTF9WTEFOX0NNRCwKLSBTRVRfVkxBTl9JTkdSRVNTX1BSSU9SSVRZX0NNRCwKLSBTRVRfVkxBTl9FR1JFU1NfUFJJT1JJVFlfQ01ELAotIEdFVF9WTEFOX0lOR1JFU1NfUFJJT1JJVFlfQ01ELAorICBERUxfVkxBTl9DTUQsCisgIFNFVF9WTEFOX0lOR1JFU1NfUFJJT1JJVFlfQ01ELAorICBTRVRfVkxBTl9FR1JFU1NfUFJJT1JJVFlfQ01ELAorICBHRVRfVkxBTl9JTkdSRVNTX1BSSU9SSVRZX0NNRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gR0VUX1ZMQU5fRUdSRVNTX1BSSU9SSVRZX0NNRCwKLSBTRVRfVkxBTl9OQU1FX1RZUEVfQ01ELAotIFNFVF9WTEFOX0ZMQUdfQ01ELAotIEdFVF9WTEFOX1JFQUxERVZfTkFNRV9DTUQsCisgIEdFVF9WTEFOX0VHUkVTU19QUklPUklUWV9DTUQsCisgIFNFVF9WTEFOX05BTUVfVFlQRV9DTUQsCisgIFNFVF9WTEFOX0ZMQUdfQ01ELAorICBHRVRfVkxBTl9SRUFMREVWX05BTUVfQ01ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBHRVRfVkxBTl9WSURfQ01ECisgIEdFVF9WTEFOX1ZJRF9DTUQKIH07CiBlbnVtIHZsYW5fZmxhZ3MgewotIFZMQU5fRkxBR19SRU9SREVSX0hEUiA9IDB4MSwKKyAgVkxBTl9GTEFHX1JFT1JERVJfSERSID0gMHgxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWTEFOX0ZMQUdfR1ZSUCA9IDB4MiwKLSBWTEFOX0ZMQUdfTE9PU0VfQklORElORyA9IDB4NCwKLSBWTEFOX0ZMQUdfTVZSUCA9IDB4OCwKKyAgVkxBTl9GTEFHX0dWUlAgPSAweDIsCisgIFZMQU5fRkxBR19MT09TRV9CSU5ESU5HID0gMHg0LAorICBWTEFOX0ZMQUdfTVZSUCA9IDB4OCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2bGFuX25hbWVfdHlwZXMgewotIFZMQU5fTkFNRV9UWVBFX1BMVVNfVklELAotIFZMQU5fTkFNRV9UWVBFX1JBV19QTFVTX1ZJRCwKLSBWTEFOX05BTUVfVFlQRV9QTFVTX1ZJRF9OT19QQUQsCisgIFZMQU5fTkFNRV9UWVBFX1BMVVNfVklELAorICBWTEFOX05BTUVfVFlQRV9SQVdfUExVU19WSUQsCisgIFZMQU5fTkFNRV9UWVBFX1BMVVNfVklEX05PX1BBRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVkxBTl9OQU1FX1RZUEVfUkFXX1BMVVNfVklEX05PX1BBRCwKLSBWTEFOX05BTUVfVFlQRV9ISUdIRVNUCisgIFZMQU5fTkFNRV9UWVBFX1JBV19QTFVTX1ZJRF9OT19QQUQsCisgIFZMQU5fTkFNRV9UWVBFX0hJR0hFU1QKIH07CiBzdHJ1Y3Qgdmxhbl9pb2N0bF9hcmdzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNtZDsKLSBjaGFyIGRldmljZTFbMjRdOwotIHVuaW9uIHsKLSBjaGFyIGRldmljZTJbMjRdOworICBpbnQgY21kOworICBjaGFyIGRldmljZTFbMjRdOworICB1bmlvbiB7CisgICAgY2hhciBkZXZpY2UyWzI0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IFZJRDsKLSB1bnNpZ25lZCBpbnQgc2tiX3ByaW9yaXR5OwotIHVuc2lnbmVkIGludCBuYW1lX3R5cGU7Ci0gdW5zaWduZWQgaW50IGJpbmRfdHlwZTsKKyAgICBpbnQgVklEOworICAgIHVuc2lnbmVkIGludCBza2JfcHJpb3JpdHk7CisgICAgdW5zaWduZWQgaW50IG5hbWVfdHlwZTsKKyAgICB1bnNpZ25lZCBpbnQgYmluZF90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZmxhZzsKLSB9IHU7Ci0gc2hvcnQgdmxhbl9xb3M7CisgICAgdW5zaWduZWQgaW50IGZsYWc7CisgIH0gdTsKKyAgc2hvcnQgdmxhbl9xb3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pZ21wLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lnbXAuaAppbmRleCBkZmE4Y2EyLi5jMjBlMTM1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lnbXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lnbXAuaApAQCAtMjIsMTEgKzIyLDExIEBACiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpZ21waGRyIHsKLSBfX3U4IHR5cGU7Ci0gX191OCBjb2RlOwotIF9fc3VtMTYgY3N1bTsKKyAgX191OCB0eXBlOworICBfX3U4IGNvZGU7CisgIF9fc3VtMTYgY3N1bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGdyb3VwOworICBfX2JlMzIgZ3JvdXA7CiB9OwogI2RlZmluZSBJR01QVjNfTU9ERV9JU19JTkNMVURFIDEKICNkZWZpbmUgSUdNUFYzX01PREVfSVNfRVhDTFVERSAyCkBAIC0zNyw0NyArMzcsNDIgQEAKICNkZWZpbmUgSUdNUFYzX0JMT0NLX09MRF9TT1VSQ0VTIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWdtcHYzX2dyZWMgewotIF9fdTggZ3JlY190eXBlOwotIF9fdTggZ3JlY19hdXh3b3JkczsKLSBfX2JlMTYgZ3JlY19uc3JjczsKKyAgX191OCBncmVjX3R5cGU7CisgIF9fdTggZ3JlY19hdXh3b3JkczsKKyAgX19iZTE2IGdyZWNfbnNyY3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBncmVjX21jYTsKLSBfX2JlMzIgZ3JlY19zcmNbMF07CisgIF9fYmUzMiBncmVjX21jYTsKKyAgX19iZTMyIGdyZWNfc3JjWzBdOwogfTsKIHN0cnVjdCBpZ21wdjNfcmVwb3J0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlOwotIF9fdTggcmVzdjE7Ci0gX19iZTE2IGNzdW07Ci0gX19iZTE2IHJlc3YyOworICBfX3U4IHR5cGU7CisgIF9fdTggcmVzdjE7CisgIF9fYmUxNiBjc3VtOworICBfX2JlMTYgcmVzdjI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBuZ3JlYzsKLSBzdHJ1Y3QgaWdtcHYzX2dyZWMgZ3JlY1swXTsKKyAgX19iZTE2IG5ncmVjOworICBzdHJ1Y3QgaWdtcHYzX2dyZWMgZ3JlY1swXTsKIH07CiBzdHJ1Y3QgaWdtcHYzX3F1ZXJ5IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlOwotIF9fdTggY29kZTsKLSBfX2JlMTYgY3N1bTsKLSBfX2JlMzIgZ3JvdXA7CisgIF9fdTggdHlwZTsKKyAgX191OCBjb2RlOworICBfX2JlMTYgY3N1bTsKKyAgX19iZTMyIGdyb3VwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBfX0xJVFRMRV9FTkRJQU5fQklURklFTEQKLSBfX3U4IHFydjozLAotIHN1cHByZXNzOjEsCi0gcmVzdjo0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBxcnYgOiAzLCBzdXBwcmVzcyA6IDEsIHJlc3YgOiA0OwogI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpCi0gX191OCByZXN2OjQsCi0gc3VwcHJlc3M6MSwKLSBxcnY6MzsKKyAgX191OCByZXN2IDogNCwgc3VwcHJlc3MgOiAxLCBxcnYgOiAzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbHNlCiAjZXJyb3IgIlBsZWFzZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4iCiAjZW5kaWYKLSBfX3U4IHFxaWM7CisgIF9fdTggcXFpYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IG5zcmNzOwotIF9fYmUzMiBzcmNzWzBdOworICBfX2JlMTYgbnNyY3M7CisgIF9fYmUzMiBzcmNzWzBdOwogfTsKICNkZWZpbmUgSUdNUF9IT1NUX01FTUJFUlNISVBfUVVFUlkgMHgxMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW4uaAppbmRleCBlOTAyMDliLi42YTZkMTZlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2luLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbi5oCkBAIC0yMiw3MSArMjIsNzEgQEAKICNpbmNsdWRlIDxsaW51eC9zb2NrZXQuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJUFBST1RPX0lQID0gMCwKKyAgSVBQUk9UT19JUCA9IDAsCiAjZGVmaW5lIElQUFJPVE9fSVAgSVBQUk9UT19JUAotIElQUFJPVE9fSUNNUCA9IDEsCisgIElQUFJPVE9fSUNNUCA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFBST1RPX0lDTVAgSVBQUk9UT19JQ01QCi0gSVBQUk9UT19JR01QID0gMiwKKyAgSVBQUk9UT19JR01QID0gMiwKICNkZWZpbmUgSVBQUk9UT19JR01QIElQUFJPVE9fSUdNUAotIElQUFJPVE9fSVBJUCA9IDQsCisgIElQUFJPVE9fSVBJUCA9IDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFBST1RPX0lQSVAgSVBQUk9UT19JUElQCi0gSVBQUk9UT19UQ1AgPSA2LAorICBJUFBST1RPX1RDUCA9IDYsCiAjZGVmaW5lIElQUFJPVE9fVENQIElQUFJPVE9fVENQCi0gSVBQUk9UT19FR1AgPSA4LAorICBJUFBST1RPX0VHUCA9IDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFBST1RPX0VHUCBJUFBST1RPX0VHUAotIElQUFJPVE9fUFVQID0gMTIsCisgIElQUFJPVE9fUFVQID0gMTIsCiAjZGVmaW5lIElQUFJPVE9fUFVQIElQUFJPVE9fUFVQCi0gSVBQUk9UT19VRFAgPSAxNywKKyAgSVBQUk9UT19VRFAgPSAxNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQUFJPVE9fVURQIElQUFJPVE9fVURQCi0gSVBQUk9UT19JRFAgPSAyMiwKKyAgSVBQUk9UT19JRFAgPSAyMiwKICNkZWZpbmUgSVBQUk9UT19JRFAgSVBQUk9UT19JRFAKLSBJUFBST1RPX1RQID0gMjksCisgIElQUFJPVE9fVFAgPSAyOSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQUFJPVE9fVFAgSVBQUk9UT19UUAotIElQUFJPVE9fRENDUCA9IDMzLAorICBJUFBST1RPX0RDQ1AgPSAzMywKICNkZWZpbmUgSVBQUk9UT19EQ0NQIElQUFJPVE9fRENDUAotIElQUFJPVE9fSVBWNiA9IDQxLAorICBJUFBST1RPX0lQVjYgPSA0MSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQUFJPVE9fSVBWNiBJUFBST1RPX0lQVjYKLSBJUFBST1RPX1JTVlAgPSA0NiwKKyAgSVBQUk9UT19SU1ZQID0gNDYsCiAjZGVmaW5lIElQUFJPVE9fUlNWUCBJUFBST1RPX1JTVlAKLSBJUFBST1RPX0dSRSA9IDQ3LAorICBJUFBST1RPX0dSRSA9IDQ3LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBQUk9UT19HUkUgSVBQUk9UT19HUkUKLSBJUFBST1RPX0VTUCA9IDUwLAorICBJUFBST1RPX0VTUCA9IDUwLAogI2RlZmluZSBJUFBST1RPX0VTUCBJUFBST1RPX0VTUAotIElQUFJPVE9fQUggPSA1MSwKKyAgSVBQUk9UT19BSCA9IDUxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBQUk9UT19BSCBJUFBST1RPX0FICi0gSVBQUk9UT19NVFAgPSA5MiwKKyAgSVBQUk9UT19NVFAgPSA5MiwKICNkZWZpbmUgSVBQUk9UT19NVFAgSVBQUk9UT19NVFAKLSBJUFBST1RPX0JFRVRQSCA9IDk0LAorICBJUFBST1RPX0JFRVRQSCA9IDk0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBQUk9UT19CRUVUUEggSVBQUk9UT19CRUVUUEgKLSBJUFBST1RPX0VOQ0FQID0gOTgsCisgIElQUFJPVE9fRU5DQVAgPSA5OCwKICNkZWZpbmUgSVBQUk9UT19FTkNBUCBJUFBST1RPX0VOQ0FQCi0gSVBQUk9UT19QSU0gPSAxMDMsCisgIElQUFJPVE9fUElNID0gMTAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBQUk9UT19QSU0gSVBQUk9UT19QSU0KLSBJUFBST1RPX0NPTVAgPSAxMDgsCisgIElQUFJPVE9fQ09NUCA9IDEwOCwKICNkZWZpbmUgSVBQUk9UT19DT01QIElQUFJPVE9fQ09NUAotIElQUFJPVE9fU0NUUCA9IDEzMiwKKyAgSVBQUk9UT19TQ1RQID0gMTMyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBQUk9UT19TQ1RQIElQUFJPVE9fU0NUUAotIElQUFJPVE9fVURQTElURSA9IDEzNiwKKyAgSVBQUk9UT19VRFBMSVRFID0gMTM2LAogI2RlZmluZSBJUFBST1RPX1VEUExJVEUgSVBQUk9UT19VRFBMSVRFCi0gSVBQUk9UT19SQVcgPSAyNTUsCisgIElQUFJPVE9fUkFXID0gMjU1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBQUk9UT19SQVcgSVBQUk9UT19SQVcKLSBJUFBST1RPX01BWAorICBJUFBST1RPX01BWAogfTsKIHN0cnVjdCBpbl9hZGRyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHNfYWRkcjsKKyAgX19iZTMyIHNfYWRkcjsKIH07CiAjZGVmaW5lIElQX1RPUyAxCiAjZGVmaW5lIElQX1RUTCAyCkBAIC0xMjQsOTkgKzEyNCw5OSBAQAogI2RlZmluZSBJUF9QTVRVRElTQ19ETyAyCiAjZGVmaW5lIElQX1BNVFVESVNDX1BST0JFIDMKICNkZWZpbmUgSVBfUE1UVURJU0NfSU5URVJGQUNFIDQKLSNkZWZpbmUgSVBfTVVMVElDQVNUX0lGIDMyCisjZGVmaW5lIElQX1BNVFVESVNDX09NSVQgNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSVBfTVVMVElDQVNUX0lGIDMyCiAjZGVmaW5lIElQX01VTFRJQ0FTVF9UVEwgMzMKICNkZWZpbmUgSVBfTVVMVElDQVNUX0xPT1AgMzQKICNkZWZpbmUgSVBfQUREX01FTUJFUlNISVAgMzUKLSNkZWZpbmUgSVBfRFJPUF9NRU1CRVJTSElQIDM2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUF9EUk9QX01FTUJFUlNISVAgMzYKICNkZWZpbmUgSVBfVU5CTE9DS19TT1VSQ0UgMzcKICNkZWZpbmUgSVBfQkxPQ0tfU09VUkNFIDM4CiAjZGVmaW5lIElQX0FERF9TT1VSQ0VfTUVNQkVSU0hJUCAzOQotI2RlZmluZSBJUF9EUk9QX1NPVVJDRV9NRU1CRVJTSElQIDQwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUF9EUk9QX1NPVVJDRV9NRU1CRVJTSElQIDQwCiAjZGVmaW5lIElQX01TRklMVEVSIDQxCiAjZGVmaW5lIE1DQVNUX0pPSU5fR1JPVVAgNDIKICNkZWZpbmUgTUNBU1RfQkxPQ0tfU09VUkNFIDQzCi0jZGVmaW5lIE1DQVNUX1VOQkxPQ0tfU09VUkNFIDQ0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNQ0FTVF9VTkJMT0NLX1NPVVJDRSA0NAogI2RlZmluZSBNQ0FTVF9MRUFWRV9HUk9VUCA0NQogI2RlZmluZSBNQ0FTVF9KT0lOX1NPVVJDRV9HUk9VUCA0NgogI2RlZmluZSBNQ0FTVF9MRUFWRV9TT1VSQ0VfR1JPVVAgNDcKLSNkZWZpbmUgTUNBU1RfTVNGSUxURVIgNDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1DQVNUX01TRklMVEVSIDQ4CiAjZGVmaW5lIElQX01VTFRJQ0FTVF9BTEwgNDkKICNkZWZpbmUgSVBfVU5JQ0FTVF9JRiA1MAogI2RlZmluZSBNQ0FTVF9FWENMVURFIDAKLSNkZWZpbmUgTUNBU1RfSU5DTFVERSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNQ0FTVF9JTkNMVURFIDEKICNkZWZpbmUgSVBfREVGQVVMVF9NVUxUSUNBU1RfVFRMIDEKICNkZWZpbmUgSVBfREVGQVVMVF9NVUxUSUNBU1RfTE9PUCAxCiBzdHJ1Y3QgaXBfbXJlcSB7Ci0gc3RydWN0IGluX2FkZHIgaW1yX211bHRpYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluX2FkZHIgaW1yX2ludGVyZmFjZTsKKyAgc3RydWN0IGluX2FkZHIgaW1yX211bHRpYWRkcjsKKyAgc3RydWN0IGluX2FkZHIgaW1yX2ludGVyZmFjZTsKIH07CiBzdHJ1Y3QgaXBfbXJlcW4gewotIHN0cnVjdCBpbl9hZGRyIGltcl9tdWx0aWFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpbl9hZGRyIGltcl9hZGRyZXNzOwotIGludCBpbXJfaWZpbmRleDsKKyAgc3RydWN0IGluX2FkZHIgaW1yX211bHRpYWRkcjsKKyAgc3RydWN0IGluX2FkZHIgaW1yX2FkZHJlc3M7CisgIGludCBpbXJfaWZpbmRleDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwX21yZXFfc291cmNlIHsKKyAgX19iZTMyIGltcl9tdWx0aWFkZHI7CisgIF9fYmUzMiBpbXJfaW50ZXJmYWNlOworICBfX2JlMzIgaW1yX3NvdXJjZWFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBpbXJfbXVsdGlhZGRyOwotIF9fYmUzMiBpbXJfaW50ZXJmYWNlOwotIF9fYmUzMiBpbXJfc291cmNlYWRkcjsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwX21zZmlsdGVyIHsKLSBfX2JlMzIgaW1zZl9tdWx0aWFkZHI7Ci0gX19iZTMyIGltc2ZfaW50ZXJmYWNlOwotIF9fdTMyIGltc2ZfZm1vZGU7CisgIF9fYmUzMiBpbXNmX211bHRpYWRkcjsKKyAgX19iZTMyIGltc2ZfaW50ZXJmYWNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbXNmX251bXNyYzsKLSBfX2JlMzIgaW1zZl9zbGlzdFsxXTsKKyAgX191MzIgaW1zZl9mbW9kZTsKKyAgX191MzIgaW1zZl9udW1zcmM7CisgIF9fYmUzMiBpbXNmX3NsaXN0WzFdOwogfTsKLSNkZWZpbmUgSVBfTVNGSUxURVJfU0laRShudW1zcmMpICAgKHNpemVvZihzdHJ1Y3QgaXBfbXNmaWx0ZXIpIC0gc2l6ZW9mKF9fdTMyKSAgICsgKG51bXNyYykgKiBzaXplb2YoX191MzIpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSVBfTVNGSUxURVJfU0laRShudW1zcmMpIChzaXplb2Yoc3RydWN0IGlwX21zZmlsdGVyKSAtIHNpemVvZihfX3UzMikgKyAobnVtc3JjKSAqIHNpemVvZihfX3UzMikpCiBzdHJ1Y3QgZ3JvdXBfcmVxIHsKLSBfX3UzMiBncl9pbnRlcmZhY2U7Ci0gc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ3JfZ3JvdXA7CisgIF9fdTMyIGdyX2ludGVyZmFjZTsKKyAgc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ3JfZ3JvdXA7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZ3JvdXBfc291cmNlX3JlcSB7Ci0gX191MzIgZ3NyX2ludGVyZmFjZTsKLSBzdHJ1Y3QgX19rZXJuZWxfc29ja2FkZHJfc3RvcmFnZSBnc3JfZ3JvdXA7Ci0gc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ3NyX3NvdXJjZTsKKyAgX191MzIgZ3NyX2ludGVyZmFjZTsKKyAgc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ3NyX2dyb3VwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ3NyX3NvdXJjZTsKIH07CiBzdHJ1Y3QgZ3JvdXBfZmlsdGVyIHsKLSBfX3UzMiBnZl9pbnRlcmZhY2U7Ci0gc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ2ZfZ3JvdXA7CisgIF9fdTMyIGdmX2ludGVyZmFjZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZ2ZfZm1vZGU7Ci0gX191MzIgZ2ZfbnVtc3JjOwotIHN0cnVjdCBfX2tlcm5lbF9zb2NrYWRkcl9zdG9yYWdlIGdmX3NsaXN0WzFdOworICBzdHJ1Y3QgX19rZXJuZWxfc29ja2FkZHJfc3RvcmFnZSBnZl9ncm91cDsKKyAgX191MzIgZ2ZfZm1vZGU7CisgIF9fdTMyIGdmX251bXNyYzsKKyAgc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgZ2Zfc2xpc3RbMV07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEdST1VQX0ZJTFRFUl9TSVpFKG51bXNyYykgICAoc2l6ZW9mKHN0cnVjdCBncm91cF9maWx0ZXIpIC0gc2l6ZW9mKHN0cnVjdCBfX2tlcm5lbF9zb2NrYWRkcl9zdG9yYWdlKSAgICsgKG51bXNyYykgKiBzaXplb2Yoc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UpKQorI2RlZmluZSBHUk9VUF9GSUxURVJfU0laRShudW1zcmMpIChzaXplb2Yoc3RydWN0IGdyb3VwX2ZpbHRlcikgLSBzaXplb2Yoc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UpICsgKG51bXNyYykgKiBzaXplb2Yoc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UpKQogc3RydWN0IGluX3BrdGluZm8gewotIGludCBpcGlfaWZpbmRleDsKLSBzdHJ1Y3QgaW5fYWRkciBpcGlfc3BlY19kc3Q7CisgIGludCBpcGlfaWZpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluX2FkZHIgaXBpX2FkZHI7CisgIHN0cnVjdCBpbl9hZGRyIGlwaV9zcGVjX2RzdDsKKyAgc3RydWN0IGluX2FkZHIgaXBpX2FkZHI7CiB9OwogI2RlZmluZSBfX1NPQ0tfU0laRV9fIDE2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNvY2thZGRyX2luIHsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2luX2ZhbWlseTsKKyAgX19iZTE2IHNpbl9wb3J0OworICBzdHJ1Y3QgaW5fYWRkciBzaW5fYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2luX2ZhbWlseTsKLSBfX2JlMTYgc2luX3BvcnQ7Ci0gc3RydWN0IGluX2FkZHIgc2luX2FkZHI7Ci0gdW5zaWduZWQgY2hhciBfX3BhZFtfX1NPQ0tfU0laRV9fIC0gc2l6ZW9mKHNob3J0IGludCkgLQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplb2YodW5zaWduZWQgc2hvcnQgaW50KSAtIHNpemVvZihzdHJ1Y3QgaW5fYWRkcildOworICB1bnNpZ25lZCBjaGFyIF9fcGFkW19fU09DS19TSVpFX18gLSBzaXplb2Yoc2hvcnQgaW50KSAtIHNpemVvZih1bnNpZ25lZCBzaG9ydCBpbnQpIC0gc2l6ZW9mKHN0cnVjdCBpbl9hZGRyKV07CiB9OwogI2RlZmluZSBzaW5femVybyBfX3BhZAogI2RlZmluZSBJTl9DTEFTU0EoYSkgKCgoKGxvbmcgaW50KSAoYSkpICYgMHg4MDAwMDAwMCkgPT0gMCkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW42LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2luNi5oCmluZGV4IDY0MWE2OWIuLmU1NGJjMzMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW42LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbjYuaApAQCAtMjMsMTUgKzIzLDE1IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmIF9fVUFQSV9ERUZfSU42X0FERFIKIHN0cnVjdCBpbjZfYWRkciB7Ci0gdW5pb24gewotIF9fdTggdTZfYWRkcjhbMTZdOworICB1bmlvbiB7CisgICAgX191OCB1Nl9hZGRyOFsxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmIF9fVUFQSV9ERUZfSU42X0FERFJfQUxUCi0gX19iZTE2IHU2X2FkZHIxNls4XTsKLSBfX2JlMzIgdTZfYWRkcjMyWzRdOworICAgIF9fYmUxNiB1Nl9hZGRyMTZbOF07CisgICAgX19iZTMyIHU2X2FkZHIzMls0XTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGluNl91OworICB9IGluNl91OwogI2RlZmluZSBzNl9hZGRyIGluNl91LnU2X2FkZHI4CiAjaWYgX19VQVBJX0RFRl9JTjZfQUREUl9BTFQKICNkZWZpbmUgczZfYWRkcjE2IGluNl91LnU2X2FkZHIxNgpAQCAtNDMsMzUgKzQzLDM1IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmIF9fVUFQSV9ERUZfU09DS0FERFJfSU42CiBzdHJ1Y3Qgc29ja2FkZHJfaW42IHsKLSB1bnNpZ25lZCBzaG9ydCBpbnQgc2luNl9mYW1pbHk7Ci0gX19iZTE2IHNpbjZfcG9ydDsKKyAgdW5zaWduZWQgc2hvcnQgaW50IHNpbjZfZmFtaWx5OworICBfX2JlMTYgc2luNl9wb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgc2luNl9mbG93aW5mbzsKLSBzdHJ1Y3QgaW42X2FkZHIgc2luNl9hZGRyOwotIF9fdTMyIHNpbjZfc2NvcGVfaWQ7CisgIF9fYmUzMiBzaW42X2Zsb3dpbmZvOworICBzdHJ1Y3QgaW42X2FkZHIgc2luNl9hZGRyOworICBfX3UzMiBzaW42X3Njb3BlX2lkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKICNpZiBfX1VBUElfREVGX0lQVjZfTVJFUQogc3RydWN0IGlwdjZfbXJlcSB7Ci0gc3RydWN0IGluNl9hZGRyIGlwdjZtcl9tdWx0aWFkZHI7CisgIHN0cnVjdCBpbjZfYWRkciBpcHY2bXJfbXVsdGlhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgaXB2Nm1yX2lmaW5kZXg7CisgIGludCBpcHY2bXJfaWZpbmRleDsKIH07CiAjZW5kaWYKICNkZWZpbmUgaXB2Nm1yX2FjYWRkciBpcHY2bXJfbXVsdGlhZGRyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGluNl9mbG93bGFiZWxfcmVxIHsKLSBzdHJ1Y3QgaW42X2FkZHIgZmxyX2RzdDsKLSBfX2JlMzIgZmxyX2xhYmVsOwotIF9fdTggZmxyX2FjdGlvbjsKKyAgc3RydWN0IGluNl9hZGRyIGZscl9kc3Q7CisgIF9fYmUzMiBmbHJfbGFiZWw7CisgIF9fdTggZmxyX2FjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmbHJfc2hhcmU7Ci0gX191MTYgZmxyX2ZsYWdzOwotIF9fdTE2IGZscl9leHBpcmVzOwotIF9fdTE2IGZscl9saW5nZXI7CisgIF9fdTggZmxyX3NoYXJlOworICBfX3UxNiBmbHJfZmxhZ3M7CisgIF9fdTE2IGZscl9leHBpcmVzOworICBfX3UxNiBmbHJfbGluZ2VyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBfX2Zscl9wYWQ7CisgIF9fdTMyIF9fZmxyX3BhZDsKIH07CiAjZGVmaW5lIElQVjZfRkxfQV9HRVQgMAogI2RlZmluZSBJUFY2X0ZMX0FfUFVUIDEKQEAgLTEyOCw2NyArMTI4LDcyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFY2X1RMVl9KVU1CTyAxOTQKICNkZWZpbmUgSVBWNl9UTFZfSEFPIDIwMQorI2lmIF9fVUFQSV9ERUZfSVBWNl9PUFRJT05TCiAjZGVmaW5lIElQVjZfQUREUkZPUk0gMQotI2RlZmluZSBJUFY2XzIyOTJQS1RJTkZPIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElQVjZfMjI5MlBLVElORk8gMgogI2RlZmluZSBJUFY2XzIyOTJIT1BPUFRTIDMKICNkZWZpbmUgSVBWNl8yMjkyRFNUT1BUUyA0CiAjZGVmaW5lIElQVjZfMjI5MlJUSERSIDUKLSNkZWZpbmUgSVBWNl8yMjkyUEtUT1BUSU9OUyA2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUFY2XzIyOTJQS1RPUFRJT05TIDYKICNkZWZpbmUgSVBWNl9DSEVDS1NVTSA3CiAjZGVmaW5lIElQVjZfMjI5MkhPUExJTUlUIDgKICNkZWZpbmUgSVBWNl9ORVhUSE9QIDkKLSNkZWZpbmUgSVBWNl9BVVRISERSIDEwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUFY2X0FVVEhIRFIgMTAKICNkZWZpbmUgSVBWNl9GTE9XSU5GTyAxMQogI2RlZmluZSBJUFY2X1VOSUNBU1RfSE9QUyAxNgogI2RlZmluZSBJUFY2X01VTFRJQ0FTVF9JRiAxNwotI2RlZmluZSBJUFY2X01VTFRJQ0FTVF9IT1BTIDE4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUFY2X01VTFRJQ0FTVF9IT1BTIDE4CiAjZGVmaW5lIElQVjZfTVVMVElDQVNUX0xPT1AgMTkKICNkZWZpbmUgSVBWNl9BRERfTUVNQkVSU0hJUCAyMAogI2RlZmluZSBJUFY2X0RST1BfTUVNQkVSU0hJUCAyMQotI2RlZmluZSBJUFY2X1JPVVRFUl9BTEVSVCAyMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSVBWNl9ST1VURVJfQUxFUlQgMjIKICNkZWZpbmUgSVBWNl9NVFVfRElTQ09WRVIgMjMKICNkZWZpbmUgSVBWNl9NVFUgMjQKICNkZWZpbmUgSVBWNl9SRUNWRVJSIDI1Ci0jZGVmaW5lIElQVjZfVjZPTkxZIDI2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUFY2X1Y2T05MWSAyNgogI2RlZmluZSBJUFY2X0pPSU5fQU5ZQ0FTVCAyNwogI2RlZmluZSBJUFY2X0xFQVZFX0FOWUNBU1QgMjgKICNkZWZpbmUgSVBWNl9QTVRVRElTQ19ET05UIDAKLSNkZWZpbmUgSVBWNl9QTVRVRElTQ19XQU5UIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElQVjZfUE1UVURJU0NfV0FOVCAxCiAjZGVmaW5lIElQVjZfUE1UVURJU0NfRE8gMgogI2RlZmluZSBJUFY2X1BNVFVESVNDX1BST0JFIDMKICNkZWZpbmUgSVBWNl9QTVRVRElTQ19JTlRFUkZBQ0UgNAotI2RlZmluZSBJUFY2X0ZMT1dMQUJFTF9NR1IgMzIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElQVjZfUE1UVURJU0NfT01JVCA1CisjZGVmaW5lIElQVjZfRkxPV0xBQkVMX01HUiAzMgogI2RlZmluZSBJUFY2X0ZMT1dJTkZPX1NFTkQgMzMKICNkZWZpbmUgSVBWNl9JUFNFQ19QT0xJQ1kgMzQKLSNkZWZpbmUgSVBWNl9YRlJNX1BPTElDWSAzNQotI2RlZmluZSBJUFY2X1JFQ1ZQS1RJTkZPIDQ5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJUFY2X1hGUk1fUE9MSUNZIDM1CisjZW5kaWYKKyNkZWZpbmUgSVBWNl9SRUNWUEtUSU5GTyA0OQogI2RlZmluZSBJUFY2X1BLVElORk8gNTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQVjZfUkVDVkhPUExJTUlUIDUxCiAjZGVmaW5lIElQVjZfSE9QTElNSVQgNTIKICNkZWZpbmUgSVBWNl9SRUNWSE9QT1BUUyA1MwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBWNl9IT1BPUFRTIDU0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFY2X1JUSERSRFNUT1BUUyA1NQogI2RlZmluZSBJUFY2X1JFQ1ZSVEhEUiA1NgogI2RlZmluZSBJUFY2X1JUSERSIDU3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFY2X1JFQ1ZEU1RPUFRTIDU4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFY2X0RTVE9QVFMgNTkKICNkZWZpbmUgSVBWNl9SRUNWUEFUSE1UVSA2MAogI2RlZmluZSBJUFY2X1BBVEhNVFUgNjEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQVjZfRE9OVEZSQUcgNjIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQVjZfUkVDVlRDTEFTUyA2NgogI2RlZmluZSBJUFY2X1RDTEFTUyA2NworI2RlZmluZSBJUFY2X0FVVE9GTE9XTEFCRUwgNzAKICNkZWZpbmUgSVBWNl9BRERSX1BSRUZFUkVOQ0VTIDcyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFY2X1BSRUZFUl9TUkNfVE1QIDB4MDAwMQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbl9yb3V0ZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbl9yb3V0ZS5oCmluZGV4IDUwOTEzYTkuLjkzODk2NDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW5fcm91dGUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2luX3JvdXRlLmgKQEAgLTM5LDcgKzM5LDcgQEAKICNkZWZpbmUgUlRDRl9NVUxUSUNBU1QgMHgyMDAwMDAwMAogI2RlZmluZSBSVENGX1JFSkVDVCAweDQwMDAwMDAwCiAjZGVmaW5lIFJUQ0ZfTE9DQUwgMHg4MDAwMDAwMAotI2RlZmluZSBSVENGX05BVCAoUlRDRl9ETkFUfFJUQ0ZfU05BVCkKKyNkZWZpbmUgUlRDRl9OQVQgKFJUQ0ZfRE5BVCB8IFJUQ0ZfU05BVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFJUX1RPUyh0b3MpICgodG9zKSZJUFRPU19UT1NfTUFTSykKKyNkZWZpbmUgUlRfVE9TKHRvcykgKCh0b3MpICYgSVBUT1NfVE9TX01BU0spCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW5ldF9kaWFnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2luZXRfZGlhZy5oCmluZGV4IGI1NTA0YTkuLjQ0N2Q5MjggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW5ldF9kaWFnLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbmV0X2RpYWcuaApAQCAtMjQsMTE1ICsyNCwxMjUgQEAKICNkZWZpbmUgRENDUERJQUdfR0VUU09DSyAxOQogI2RlZmluZSBJTkVUX0RJQUdfR0VUU09DS19NQVggMjQKIHN0cnVjdCBpbmV0X2RpYWdfc29ja2lkIHsKLSBfX2JlMTYgaWRpYWdfc3BvcnQ7CisgIF9fYmUxNiBpZGlhZ19zcG9ydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IGlkaWFnX2Rwb3J0OwotIF9fYmUzMiBpZGlhZ19zcmNbNF07Ci0gX19iZTMyIGlkaWFnX2RzdFs0XTsKLSBfX3UzMiBpZGlhZ19pZjsKKyAgX19iZTE2IGlkaWFnX2Rwb3J0OworICBfX2JlMzIgaWRpYWdfc3JjWzRdOworICBfX2JlMzIgaWRpYWdfZHN0WzRdOworICBfX3UzMiBpZGlhZ19pZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWRpYWdfY29va2llWzJdOworICBfX3UzMiBpZGlhZ19jb29raWVbMl07CiAjZGVmaW5lIElORVRfRElBR19OT0NPT0tJRSAofjBVKQogfTsKIHN0cnVjdCBpbmV0X2RpYWdfcmVxIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpZGlhZ19mYW1pbHk7Ci0gX191OCBpZGlhZ19zcmNfbGVuOwotIF9fdTggaWRpYWdfZHN0X2xlbjsKLSBfX3U4IGlkaWFnX2V4dDsKKyAgX191OCBpZGlhZ19mYW1pbHk7CisgIF9fdTggaWRpYWdfc3JjX2xlbjsKKyAgX191OCBpZGlhZ19kc3RfbGVuOworICBfX3U4IGlkaWFnX2V4dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluZXRfZGlhZ19zb2NraWQgaWQ7Ci0gX191MzIgaWRpYWdfc3RhdGVzOwotIF9fdTMyIGlkaWFnX2RiczsKKyAgc3RydWN0IGluZXRfZGlhZ19zb2NraWQgaWQ7CisgIF9fdTMyIGlkaWFnX3N0YXRlczsKKyAgX191MzIgaWRpYWdfZGJzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaW5ldF9kaWFnX3JlcV92MiB7Ci0gX191OCBzZGlhZ19mYW1pbHk7Ci0gX191OCBzZGlhZ19wcm90b2NvbDsKLSBfX3U4IGlkaWFnX2V4dDsKKyAgX191OCBzZGlhZ19mYW1pbHk7CisgIF9fdTggc2RpYWdfcHJvdG9jb2w7CisgIF9fdTggaWRpYWdfZXh0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBhZDsKLSBfX3UzMiBpZGlhZ19zdGF0ZXM7Ci0gc3RydWN0IGluZXRfZGlhZ19zb2NraWQgaWQ7CisgIF9fdTggcGFkOworICBfX3UzMiBpZGlhZ19zdGF0ZXM7CisgIHN0cnVjdCBpbmV0X2RpYWdfc29ja2lkIGlkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJTkVUX0RJQUdfUkVRX05PTkUsCi0gSU5FVF9ESUFHX1JFUV9CWVRFQ09ERSwKKyAgSU5FVF9ESUFHX1JFUV9OT05FLAorICBJTkVUX0RJQUdfUkVRX0JZVEVDT0RFLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElORVRfRElBR19SRVFfTUFYIElORVRfRElBR19SRVFfQllURUNPREUKIHN0cnVjdCBpbmV0X2RpYWdfYmNfb3AgewotIHVuc2lnbmVkIGNoYXIgY29kZTsKLSB1bnNpZ25lZCBjaGFyIHllczsKKyAgdW5zaWduZWQgY2hhciBjb2RlOworICB1bnNpZ25lZCBjaGFyIHllczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgbm87CisgIHVuc2lnbmVkIHNob3J0IG5vOwogfTsKIGVudW0gewotIElORVRfRElBR19CQ19OT1AsCisgIElORVRfRElBR19CQ19OT1AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElORVRfRElBR19CQ19KTVAsCi0gSU5FVF9ESUFHX0JDX1NfR0UsCi0gSU5FVF9ESUFHX0JDX1NfTEUsCi0gSU5FVF9ESUFHX0JDX0RfR0UsCisgIElORVRfRElBR19CQ19KTVAsCisgIElORVRfRElBR19CQ19TX0dFLAorICBJTkVUX0RJQUdfQkNfU19MRSwKKyAgSU5FVF9ESUFHX0JDX0RfR0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElORVRfRElBR19CQ19EX0xFLAotIElORVRfRElBR19CQ19BVVRPLAotIElORVRfRElBR19CQ19TX0NPTkQsCi0gSU5FVF9ESUFHX0JDX0RfQ09ORCwKKyAgSU5FVF9ESUFHX0JDX0RfTEUsCisgIElORVRfRElBR19CQ19BVVRPLAorICBJTkVUX0RJQUdfQkNfU19DT05ELAorICBJTkVUX0RJQUdfQkNfRF9DT05ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaW5ldF9kaWFnX2hvc3Rjb25kIHsKLSBfX3U4IGZhbWlseTsKLSBfX3U4IHByZWZpeF9sZW47CisgIF9fdTggZmFtaWx5OworICBfX3U4IHByZWZpeF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwb3J0OwotIF9fYmUzMiBhZGRyWzBdOworICBpbnQgcG9ydDsKKyAgX19iZTMyIGFkZHJbMF07CiB9Owogc3RydWN0IGluZXRfZGlhZ19tc2cgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGlkaWFnX2ZhbWlseTsKLSBfX3U4IGlkaWFnX3N0YXRlOwotIF9fdTggaWRpYWdfdGltZXI7Ci0gX191OCBpZGlhZ19yZXRyYW5zOworICBfX3U4IGlkaWFnX2ZhbWlseTsKKyAgX191OCBpZGlhZ19zdGF0ZTsKKyAgX191OCBpZGlhZ190aW1lcjsKKyAgX191OCBpZGlhZ19yZXRyYW5zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW5ldF9kaWFnX3NvY2tpZCBpZDsKLSBfX3UzMiBpZGlhZ19leHBpcmVzOwotIF9fdTMyIGlkaWFnX3JxdWV1ZTsKLSBfX3UzMiBpZGlhZ193cXVldWU7CisgIHN0cnVjdCBpbmV0X2RpYWdfc29ja2lkIGlkOworICBfX3UzMiBpZGlhZ19leHBpcmVzOworICBfX3UzMiBpZGlhZ19ycXVldWU7CisgIF9fdTMyIGlkaWFnX3dxdWV1ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWRpYWdfdWlkOwotIF9fdTMyIGlkaWFnX2lub2RlOworICBfX3UzMiBpZGlhZ191aWQ7CisgIF9fdTMyIGlkaWFnX2lub2RlOwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJTkVUX0RJQUdfTk9ORSwKLSBJTkVUX0RJQUdfTUVNSU5GTywKLSBJTkVUX0RJQUdfSU5GTywKLSBJTkVUX0RJQUdfVkVHQVNJTkZPLAorICBJTkVUX0RJQUdfTk9ORSwKKyAgSU5FVF9ESUFHX01FTUlORk8sCisgIElORVRfRElBR19JTkZPLAorICBJTkVUX0RJQUdfVkVHQVNJTkZPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJTkVUX0RJQUdfQ09ORywKLSBJTkVUX0RJQUdfVE9TLAotIElORVRfRElBR19UQ0xBU1MsCi0gSU5FVF9ESUFHX1NLTUVNSU5GTywKKyAgSU5FVF9ESUFHX0NPTkcsCisgIElORVRfRElBR19UT1MsCisgIElORVRfRElBR19UQ0xBU1MsCisgIElORVRfRElBR19TS01FTUlORk8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElORVRfRElBR19TSFVURE9XTiwKKyAgSU5FVF9ESUFHX1NIVVRET1dOLAorICBJTkVUX0RJQUdfRENUQ1BJTkZPLAogfTsKLSNkZWZpbmUgSU5FVF9ESUFHX01BWCBJTkVUX0RJQUdfU0hVVERPV04KKyNkZWZpbmUgSU5FVF9ESUFHX01BWCBJTkVUX0RJQUdfRENUQ1BJTkZPCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGluZXRfZGlhZ19tZW1pbmZvIHsKKyAgX191MzIgaWRpYWdfcm1lbTsKKyAgX191MzIgaWRpYWdfd21lbTsKKyAgX191MzIgaWRpYWdfZm1lbTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWRpYWdfcm1lbTsKLSBfX3UzMiBpZGlhZ193bWVtOwotIF9fdTMyIGlkaWFnX2ZtZW07Ci0gX191MzIgaWRpYWdfdG1lbTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGlkaWFnX3RtZW07CiB9Owogc3RydWN0IHRjcHZlZ2FzX2luZm8gewotIF9fdTMyIHRjcHZfZW5hYmxlZDsKLSBfX3UzMiB0Y3B2X3J0dGNudDsKKyAgX191MzIgdGNwdl9lbmFibGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0Y3B2X3J0dDsKLSBfX3UzMiB0Y3B2X21pbnJ0dDsKKyAgX191MzIgdGNwdl9ydHRjbnQ7CisgIF9fdTMyIHRjcHZfcnR0OworICBfX3UzMiB0Y3B2X21pbnJ0dDsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHRjcF9kY3RjcF9pbmZvIHsKKyAgX191MTYgZGN0Y3BfZW5hYmxlZDsKKyAgX191MTYgZGN0Y3BfY2Vfc3RhdGU7CisgIF9fdTMyIGRjdGNwX2FscGhhOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZGN0Y3BfYWJfZWNuOworICBfX3UzMiBkY3RjcF9hYl90b3Q7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbm90aWZ5LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lub3RpZnkuaAppbmRleCBmOWIwMjBhLi44OTMwYmUzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lub3RpZnkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lub3RpZnkuaApAQCAtMjIsMTIgKzIyLDEyIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaW5vdGlmeV9ldmVudCB7Ci0gX19zMzIgd2Q7Ci0gX191MzIgbWFzazsKLSBfX3UzMiBjb29raWU7CisgIF9fczMyIHdkOworICBfX3UzMiBtYXNrOworICBfX3UzMiBjb29raWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxlbjsKLSBjaGFyIG5hbWVbMF07CisgIF9fdTMyIGxlbjsKKyAgY2hhciBuYW1lWzBdOwogfTsKICNkZWZpbmUgSU5fQUNDRVNTIDB4MDAwMDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC01OCw3ICs1OCw3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJTl9JU0RJUiAweDQwMDAwMDAwCiAjZGVmaW5lIElOX09ORVNIT1QgMHg4MDAwMDAwMAotI2RlZmluZSBJTl9BTExfRVZFTlRTIChJTl9BQ0NFU1MgfCBJTl9NT0RJRlkgfCBJTl9BVFRSSUIgfCBJTl9DTE9TRV9XUklURSB8ICAgSU5fQ0xPU0VfTk9XUklURSB8IElOX09QRU4gfCBJTl9NT1ZFRF9GUk9NIHwgICBJTl9NT1ZFRF9UTyB8IElOX0RFTEVURSB8IElOX0NSRUFURSB8IElOX0RFTEVURV9TRUxGIHwgICBJTl9NT1ZFX1NFTEYpCisjZGVmaW5lIElOX0FMTF9FVkVOVFMgKElOX0FDQ0VTUyB8IElOX01PRElGWSB8IElOX0FUVFJJQiB8IElOX0NMT1NFX1dSSVRFIHwgSU5fQ0xPU0VfTk9XUklURSB8IElOX09QRU4gfCBJTl9NT1ZFRF9GUk9NIHwgSU5fTU9WRURfVE8gfCBJTl9ERUxFVEUgfCBJTl9DUkVBVEUgfCBJTl9ERUxFVEVfU0VMRiB8IElOX01PVkVfU0VMRikKICNkZWZpbmUgSU5fQ0xPRVhFQyBPX0NMT0VYRUMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElOX05PTkJMT0NLIE9fTk9OQkxPQ0sKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW5wdXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW5wdXQuaAppbmRleCBiOWQ1YjJhLi44OGExZjBlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lucHV0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pbnB1dC5oCkBAIC0yNCw0MCArMjQsNDAgQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGlucHV0X2V2ZW50IHsKLSBzdHJ1Y3QgdGltZXZhbCB0aW1lOworICBzdHJ1Y3QgdGltZXZhbCB0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB0eXBlOwotIF9fdTE2IGNvZGU7Ci0gX19zMzIgdmFsdWU7CisgIF9fdTE2IHR5cGU7CisgIF9fdTE2IGNvZGU7CisgIF9fczMyIHZhbHVlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVWX1ZFUlNJT04gMHgwMTAwMDEKIHN0cnVjdCBpbnB1dF9pZCB7Ci0gX191MTYgYnVzdHlwZTsKLSBfX3UxNiB2ZW5kb3I7CisgIF9fdTE2IGJ1c3R5cGU7CisgIF9fdTE2IHZlbmRvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcHJvZHVjdDsKLSBfX3UxNiB2ZXJzaW9uOworICBfX3UxNiBwcm9kdWN0OworICBfX3UxNiB2ZXJzaW9uOwogfTsKIHN0cnVjdCBpbnB1dF9hYnNpbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgdmFsdWU7Ci0gX19zMzIgbWluaW11bTsKLSBfX3MzMiBtYXhpbXVtOwotIF9fczMyIGZ1eno7CisgIF9fczMyIHZhbHVlOworICBfX3MzMiBtaW5pbXVtOworICBfX3MzMiBtYXhpbXVtOworICBfX3MzMiBmdXp6OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBmbGF0OwotIF9fczMyIHJlc29sdXRpb247CisgIF9fczMyIGZsYXQ7CisgIF9fczMyIHJlc29sdXRpb247CiB9Owogc3RydWN0IGlucHV0X2tleW1hcF9lbnRyeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJTlBVVF9LRVlNQVBfQllfSU5ERVggKDEgPDwgMCkKLSBfX3U4IGZsYWdzOwotIF9fdTggbGVuOwotIF9fdTE2IGluZGV4OworICBfX3U4IGZsYWdzOworICBfX3U4IGxlbjsKKyAgX191MTYgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGtleWNvZGU7Ci0gX191OCBzY2FuY29kZVszMl07CisgIF9fdTMyIGtleWNvZGU7CisgIF9fdTggc2NhbmNvZGVbMzJdOwogfTsKICNkZWZpbmUgRVZJT0NHVkVSU0lPTiBfSU9SKCdFJywgMHgwMSwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTk4LDk2MyArOTgsOTcyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJTlBVVF9QUk9QX1NFTUlfTVQgMHgwMwogI2RlZmluZSBJTlBVVF9QUk9QX1RPUEJVVFRPTlBBRCAweDA0CisjZGVmaW5lIElOUFVUX1BST1BfUE9JTlRJTkdfU1RJQ0sgMHgwNQogI2RlZmluZSBJTlBVVF9QUk9QX01BWCAweDFmCi0jZGVmaW5lIElOUFVUX1BST1BfQ05UIChJTlBVVF9QUk9QX01BWCArIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJTlBVVF9QUk9QX0NOVCAoSU5QVVRfUFJPUF9NQVggKyAxKQogI2RlZmluZSBFVl9TWU4gMHgwMAogI2RlZmluZSBFVl9LRVkgMHgwMQogI2RlZmluZSBFVl9SRUwgMHgwMgotI2RlZmluZSBFVl9BQlMgMHgwMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVZfQUJTIDB4MDMKICNkZWZpbmUgRVZfTVNDIDB4MDQKICNkZWZpbmUgRVZfU1cgMHgwNQogI2RlZmluZSBFVl9MRUQgMHgxMQotI2RlZmluZSBFVl9TTkQgMHgxMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRVZfU05EIDB4MTIKICNkZWZpbmUgRVZfUkVQIDB4MTQKICNkZWZpbmUgRVZfRkYgMHgxNQogI2RlZmluZSBFVl9QV1IgMHgxNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVZfRkZfU1RBVFVTIDB4MTcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVWX01BWCAweDFmCi0jZGVmaW5lIEVWX0NOVCAoRVZfTUFYKzEpCisjZGVmaW5lIEVWX0NOVCAoRVZfTUFYICsgMSkKICNkZWZpbmUgU1lOX1JFUE9SVCAwCi0jZGVmaW5lIFNZTl9DT05GSUcgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU1lOX0NPTkZJRyAxCiAjZGVmaW5lIFNZTl9NVF9SRVBPUlQgMgogI2RlZmluZSBTWU5fRFJPUFBFRCAzCiAjZGVmaW5lIFNZTl9NQVggMHhmCi0jZGVmaW5lIFNZTl9DTlQgKFNZTl9NQVgrMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNZTl9DTlQgKFNZTl9NQVggKyAxKQogI2RlZmluZSBLRVlfUkVTRVJWRUQgMAogI2RlZmluZSBLRVlfRVNDIDEKICNkZWZpbmUgS0VZXzEgMgotI2RlZmluZSBLRVlfMiAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfMiAzCiAjZGVmaW5lIEtFWV8zIDQKICNkZWZpbmUgS0VZXzQgNQogI2RlZmluZSBLRVlfNSA2Ci0jZGVmaW5lIEtFWV82IDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV82IDcKICNkZWZpbmUgS0VZXzcgOAogI2RlZmluZSBLRVlfOCA5CiAjZGVmaW5lIEtFWV85IDEwCi0jZGVmaW5lIEtFWV8wIDExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfMCAxMQogI2RlZmluZSBLRVlfTUlOVVMgMTIKICNkZWZpbmUgS0VZX0VRVUFMIDEzCiAjZGVmaW5lIEtFWV9CQUNLU1BBQ0UgMTQKLSNkZWZpbmUgS0VZX1RBQiAxNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1RBQiAxNQogI2RlZmluZSBLRVlfUSAxNgogI2RlZmluZSBLRVlfVyAxNwogI2RlZmluZSBLRVlfRSAxOAotI2RlZmluZSBLRVlfUiAxOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1IgMTkKICNkZWZpbmUgS0VZX1QgMjAKICNkZWZpbmUgS0VZX1kgMjEKICNkZWZpbmUgS0VZX1UgMjIKLSNkZWZpbmUgS0VZX0kgMjMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9JIDIzCiAjZGVmaW5lIEtFWV9PIDI0CiAjZGVmaW5lIEtFWV9QIDI1CiAjZGVmaW5lIEtFWV9MRUZUQlJBQ0UgMjYKLSNkZWZpbmUgS0VZX1JJR0hUQlJBQ0UgMjcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9SSUdIVEJSQUNFIDI3CiAjZGVmaW5lIEtFWV9FTlRFUiAyOAogI2RlZmluZSBLRVlfTEVGVENUUkwgMjkKICNkZWZpbmUgS0VZX0EgMzAKLSNkZWZpbmUgS0VZX1MgMzEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9TIDMxCiAjZGVmaW5lIEtFWV9EIDMyCiAjZGVmaW5lIEtFWV9GIDMzCiAjZGVmaW5lIEtFWV9HIDM0Ci0jZGVmaW5lIEtFWV9IIDM1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfSCAzNQogI2RlZmluZSBLRVlfSiAzNgogI2RlZmluZSBLRVlfSyAzNwogI2RlZmluZSBLRVlfTCAzOAotI2RlZmluZSBLRVlfU0VNSUNPTE9OIDM5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfU0VNSUNPTE9OIDM5CiAjZGVmaW5lIEtFWV9BUE9TVFJPUEhFIDQwCiAjZGVmaW5lIEtFWV9HUkFWRSA0MQogI2RlZmluZSBLRVlfTEVGVFNISUZUIDQyCi0jZGVmaW5lIEtFWV9CQUNLU0xBU0ggNDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9CQUNLU0xBU0ggNDMKICNkZWZpbmUgS0VZX1ogNDQKICNkZWZpbmUgS0VZX1ggNDUKICNkZWZpbmUgS0VZX0MgNDYKLSNkZWZpbmUgS0VZX1YgNDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9WIDQ3CiAjZGVmaW5lIEtFWV9CIDQ4CiAjZGVmaW5lIEtFWV9OIDQ5CiAjZGVmaW5lIEtFWV9NIDUwCi0jZGVmaW5lIEtFWV9DT01NQSA1MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0NPTU1BIDUxCiAjZGVmaW5lIEtFWV9ET1QgNTIKICNkZWZpbmUgS0VZX1NMQVNIIDUzCiAjZGVmaW5lIEtFWV9SSUdIVFNISUZUIDU0Ci0jZGVmaW5lIEtFWV9LUEFTVEVSSVNLIDU1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfS1BBU1RFUklTSyA1NQogI2RlZmluZSBLRVlfTEVGVEFMVCA1NgogI2RlZmluZSBLRVlfU1BBQ0UgNTcKICNkZWZpbmUgS0VZX0NBUFNMT0NLIDU4Ci0jZGVmaW5lIEtFWV9GMSA1OQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0YxIDU5CiAjZGVmaW5lIEtFWV9GMiA2MAogI2RlZmluZSBLRVlfRjMgNjEKICNkZWZpbmUgS0VZX0Y0IDYyCi0jZGVmaW5lIEtFWV9GNSA2MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0Y1IDYzCiAjZGVmaW5lIEtFWV9GNiA2NAogI2RlZmluZSBLRVlfRjcgNjUKICNkZWZpbmUgS0VZX0Y4IDY2Ci0jZGVmaW5lIEtFWV9GOSA2NwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0Y5IDY3CiAjZGVmaW5lIEtFWV9GMTAgNjgKICNkZWZpbmUgS0VZX05VTUxPQ0sgNjkKICNkZWZpbmUgS0VZX1NDUk9MTExPQ0sgNzAKLSNkZWZpbmUgS0VZX0tQNyA3MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0tQNyA3MQogI2RlZmluZSBLRVlfS1A4IDcyCiAjZGVmaW5lIEtFWV9LUDkgNzMKICNkZWZpbmUgS0VZX0tQTUlOVVMgNzQKLSNkZWZpbmUgS0VZX0tQNCA3NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0tQNCA3NQogI2RlZmluZSBLRVlfS1A1IDc2CiAjZGVmaW5lIEtFWV9LUDYgNzcKICNkZWZpbmUgS0VZX0tQUExVUyA3OAotI2RlZmluZSBLRVlfS1AxIDc5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfS1AxIDc5CiAjZGVmaW5lIEtFWV9LUDIgODAKICNkZWZpbmUgS0VZX0tQMyA4MQogI2RlZmluZSBLRVlfS1AwIDgyCi0jZGVmaW5lIEtFWV9LUERPVCA4MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0tQRE9UIDgzCiAjZGVmaW5lIEtFWV9aRU5LQUtVSEFOS0FLVSA4NQogI2RlZmluZSBLRVlfMTAyTkQgODYKICNkZWZpbmUgS0VZX0YxMSA4NwotI2RlZmluZSBLRVlfRjEyIDg4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRjEyIDg4CiAjZGVmaW5lIEtFWV9STyA4OQogI2RlZmluZSBLRVlfS0FUQUtBTkEgOTAKICNkZWZpbmUgS0VZX0hJUkFHQU5BIDkxCi0jZGVmaW5lIEtFWV9IRU5LQU4gOTIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9IRU5LQU4gOTIKICNkZWZpbmUgS0VZX0tBVEFLQU5BSElSQUdBTkEgOTMKICNkZWZpbmUgS0VZX01VSEVOS0FOIDk0CiAjZGVmaW5lIEtFWV9LUEpQQ09NTUEgOTUKLSNkZWZpbmUgS0VZX0tQRU5URVIgOTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9LUEVOVEVSIDk2CiAjZGVmaW5lIEtFWV9SSUdIVENUUkwgOTcKICNkZWZpbmUgS0VZX0tQU0xBU0ggOTgKICNkZWZpbmUgS0VZX1NZU1JRIDk5Ci0jZGVmaW5lIEtFWV9SSUdIVEFMVCAxMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9SSUdIVEFMVCAxMDAKICNkZWZpbmUgS0VZX0xJTkVGRUVEIDEwMQogI2RlZmluZSBLRVlfSE9NRSAxMDIKICNkZWZpbmUgS0VZX1VQIDEwMwotI2RlZmluZSBLRVlfUEFHRVVQIDEwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1BBR0VVUCAxMDQKICNkZWZpbmUgS0VZX0xFRlQgMTA1CiAjZGVmaW5lIEtFWV9SSUdIVCAxMDYKICNkZWZpbmUgS0VZX0VORCAxMDcKLSNkZWZpbmUgS0VZX0RPV04gMTA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRE9XTiAxMDgKICNkZWZpbmUgS0VZX1BBR0VET1dOIDEwOQogI2RlZmluZSBLRVlfSU5TRVJUIDExMAogI2RlZmluZSBLRVlfREVMRVRFIDExMQotI2RlZmluZSBLRVlfTUFDUk8gMTEyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfTUFDUk8gMTEyCiAjZGVmaW5lIEtFWV9NVVRFIDExMwogI2RlZmluZSBLRVlfVk9MVU1FRE9XTiAxMTQKICNkZWZpbmUgS0VZX1ZPTFVNRVVQIDExNQotI2RlZmluZSBLRVlfUE9XRVIgMTE2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfUE9XRVIgMTE2CiAjZGVmaW5lIEtFWV9LUEVRVUFMIDExNwogI2RlZmluZSBLRVlfS1BQTFVTTUlOVVMgMTE4CiAjZGVmaW5lIEtFWV9QQVVTRSAxMTkKLSNkZWZpbmUgS0VZX1NDQUxFIDEyMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1NDQUxFIDEyMAogI2RlZmluZSBLRVlfS1BDT01NQSAxMjEKICNkZWZpbmUgS0VZX0hBTkdFVUwgMTIyCiAjZGVmaW5lIEtFWV9IQU5HVUVMIEtFWV9IQU5HRVVMCi0jZGVmaW5lIEtFWV9IQU5KQSAxMjMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9IQU5KQSAxMjMKICNkZWZpbmUgS0VZX1lFTiAxMjQKICNkZWZpbmUgS0VZX0xFRlRNRVRBIDEyNQogI2RlZmluZSBLRVlfUklHSFRNRVRBIDEyNgotI2RlZmluZSBLRVlfQ09NUE9TRSAxMjcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9DT01QT1NFIDEyNwogI2RlZmluZSBLRVlfU1RPUCAxMjgKICNkZWZpbmUgS0VZX0FHQUlOIDEyOQogI2RlZmluZSBLRVlfUFJPUFMgMTMwCi0jZGVmaW5lIEtFWV9VTkRPIDEzMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1VORE8gMTMxCiAjZGVmaW5lIEtFWV9GUk9OVCAxMzIKICNkZWZpbmUgS0VZX0NPUFkgMTMzCiAjZGVmaW5lIEtFWV9PUEVOIDEzNAotI2RlZmluZSBLRVlfUEFTVEUgMTM1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfUEFTVEUgMTM1CiAjZGVmaW5lIEtFWV9GSU5EIDEzNgogI2RlZmluZSBLRVlfQ1VUIDEzNwogI2RlZmluZSBLRVlfSEVMUCAxMzgKLSNkZWZpbmUgS0VZX01FTlUgMTM5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfTUVOVSAxMzkKICNkZWZpbmUgS0VZX0NBTEMgMTQwCiAjZGVmaW5lIEtFWV9TRVRVUCAxNDEKICNkZWZpbmUgS0VZX1NMRUVQIDE0MgotI2RlZmluZSBLRVlfV0FLRVVQIDE0MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1dBS0VVUCAxNDMKICNkZWZpbmUgS0VZX0ZJTEUgMTQ0CiAjZGVmaW5lIEtFWV9TRU5ERklMRSAxNDUKICNkZWZpbmUgS0VZX0RFTEVURUZJTEUgMTQ2Ci0jZGVmaW5lIEtFWV9YRkVSIDE0NwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1hGRVIgMTQ3CiAjZGVmaW5lIEtFWV9QUk9HMSAxNDgKICNkZWZpbmUgS0VZX1BST0cyIDE0OQogI2RlZmluZSBLRVlfV1dXIDE1MAotI2RlZmluZSBLRVlfTVNET1MgMTUxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfTVNET1MgMTUxCiAjZGVmaW5lIEtFWV9DT0ZGRUUgMTUyCiAjZGVmaW5lIEtFWV9TQ1JFRU5MT0NLIEtFWV9DT0ZGRUUKICNkZWZpbmUgS0VZX0RJUkVDVElPTiAxNTMKLSNkZWZpbmUgS0VZX0NZQ0xFV0lORE9XUyAxNTQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9DWUNMRVdJTkRPV1MgMTU0CiAjZGVmaW5lIEtFWV9NQUlMIDE1NQogI2RlZmluZSBLRVlfQk9PS01BUktTIDE1NgogI2RlZmluZSBLRVlfQ09NUFVURVIgMTU3Ci0jZGVmaW5lIEtFWV9CQUNLIDE1OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0JBQ0sgMTU4CiAjZGVmaW5lIEtFWV9GT1JXQVJEIDE1OQogI2RlZmluZSBLRVlfQ0xPU0VDRCAxNjAKICNkZWZpbmUgS0VZX0VKRUNUQ0QgMTYxCi0jZGVmaW5lIEtFWV9FSkVDVENMT1NFQ0QgMTYyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRUpFQ1RDTE9TRUNEIDE2MgogI2RlZmluZSBLRVlfTkVYVFNPTkcgMTYzCiAjZGVmaW5lIEtFWV9QTEFZUEFVU0UgMTY0CiAjZGVmaW5lIEtFWV9QUkVWSU9VU1NPTkcgMTY1Ci0jZGVmaW5lIEtFWV9TVE9QQ0QgMTY2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfU1RPUENEIDE2NgogI2RlZmluZSBLRVlfUkVDT1JEIDE2NwogI2RlZmluZSBLRVlfUkVXSU5EIDE2OAogI2RlZmluZSBLRVlfUEhPTkUgMTY5Ci0jZGVmaW5lIEtFWV9JU08gMTcwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfSVNPIDE3MAogI2RlZmluZSBLRVlfQ09ORklHIDE3MQogI2RlZmluZSBLRVlfSE9NRVBBR0UgMTcyCiAjZGVmaW5lIEtFWV9SRUZSRVNIIDE3MwotI2RlZmluZSBLRVlfRVhJVCAxNzQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9FWElUIDE3NAogI2RlZmluZSBLRVlfTU9WRSAxNzUKICNkZWZpbmUgS0VZX0VESVQgMTc2CiAjZGVmaW5lIEtFWV9TQ1JPTExVUCAxNzcKLSNkZWZpbmUgS0VZX1NDUk9MTERPV04gMTc4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfU0NST0xMRE9XTiAxNzgKICNkZWZpbmUgS0VZX0tQTEVGVFBBUkVOIDE3OQogI2RlZmluZSBLRVlfS1BSSUdIVFBBUkVOIDE4MAogI2RlZmluZSBLRVlfTkVXIDE4MQotI2RlZmluZSBLRVlfUkVETyAxODIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9SRURPIDE4MgogI2RlZmluZSBLRVlfRjEzIDE4MwogI2RlZmluZSBLRVlfRjE0IDE4NAogI2RlZmluZSBLRVlfRjE1IDE4NQotI2RlZmluZSBLRVlfRjE2IDE4NgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0YxNiAxODYKICNkZWZpbmUgS0VZX0YxNyAxODcKICNkZWZpbmUgS0VZX0YxOCAxODgKICNkZWZpbmUgS0VZX0YxOSAxODkKLSNkZWZpbmUgS0VZX0YyMCAxOTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9GMjAgMTkwCiAjZGVmaW5lIEtFWV9GMjEgMTkxCiAjZGVmaW5lIEtFWV9GMjIgMTkyCiAjZGVmaW5lIEtFWV9GMjMgMTkzCi0jZGVmaW5lIEtFWV9GMjQgMTk0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRjI0IDE5NAogI2RlZmluZSBLRVlfUExBWUNEIDIwMAogI2RlZmluZSBLRVlfUEFVU0VDRCAyMDEKICNkZWZpbmUgS0VZX1BST0czIDIwMgotI2RlZmluZSBLRVlfUFJPRzQgMjAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfUFJPRzQgMjAzCiAjZGVmaW5lIEtFWV9EQVNIQk9BUkQgMjA0CiAjZGVmaW5lIEtFWV9TVVNQRU5EIDIwNQogI2RlZmluZSBLRVlfQ0xPU0UgMjA2Ci0jZGVmaW5lIEtFWV9QTEFZIDIwNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1BMQVkgMjA3CiAjZGVmaW5lIEtFWV9GQVNURk9SV0FSRCAyMDgKICNkZWZpbmUgS0VZX0JBU1NCT09TVCAyMDkKICNkZWZpbmUgS0VZX1BSSU5UIDIxMAotI2RlZmluZSBLRVlfSFAgMjExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfSFAgMjExCiAjZGVmaW5lIEtFWV9DQU1FUkEgMjEyCiAjZGVmaW5lIEtFWV9TT1VORCAyMTMKICNkZWZpbmUgS0VZX1FVRVNUSU9OIDIxNAotI2RlZmluZSBLRVlfRU1BSUwgMjE1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRU1BSUwgMjE1CiAjZGVmaW5lIEtFWV9DSEFUIDIxNgogI2RlZmluZSBLRVlfU0VBUkNIIDIxNwogI2RlZmluZSBLRVlfQ09OTkVDVCAyMTgKLSNkZWZpbmUgS0VZX0ZJTkFOQ0UgMjE5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRklOQU5DRSAyMTkKICNkZWZpbmUgS0VZX1NQT1JUIDIyMAogI2RlZmluZSBLRVlfU0hPUCAyMjEKICNkZWZpbmUgS0VZX0FMVEVSQVNFIDIyMgotI2RlZmluZSBLRVlfQ0FOQ0VMIDIyMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0NBTkNFTCAyMjMKICNkZWZpbmUgS0VZX0JSSUdIVE5FU1NET1dOIDIyNAogI2RlZmluZSBLRVlfQlJJR0hUTkVTU1VQIDIyNQogI2RlZmluZSBLRVlfTUVESUEgMjI2Ci0jZGVmaW5lIEtFWV9TV0lUQ0hWSURFT01PREUgMjI3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfU1dJVENIVklERU9NT0RFIDIyNwogI2RlZmluZSBLRVlfS0JESUxMVU1UT0dHTEUgMjI4CiAjZGVmaW5lIEtFWV9LQkRJTExVTURPV04gMjI5CiAjZGVmaW5lIEtFWV9LQkRJTExVTVVQIDIzMAotI2RlZmluZSBLRVlfU0VORCAyMzEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9TRU5EIDIzMQogI2RlZmluZSBLRVlfUkVQTFkgMjMyCiAjZGVmaW5lIEtFWV9GT1JXQVJETUFJTCAyMzMKICNkZWZpbmUgS0VZX1NBVkUgMjM0Ci0jZGVmaW5lIEtFWV9ET0NVTUVOVFMgMjM1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRE9DVU1FTlRTIDIzNQogI2RlZmluZSBLRVlfQkFUVEVSWSAyMzYKICNkZWZpbmUgS0VZX0JMVUVUT09USCAyMzcKICNkZWZpbmUgS0VZX1dMQU4gMjM4Ci0jZGVmaW5lIEtFWV9VV0IgMjM5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfVVdCIDIzOQogI2RlZmluZSBLRVlfVU5LTk9XTiAyNDAKICNkZWZpbmUgS0VZX1ZJREVPX05FWFQgMjQxCiAjZGVmaW5lIEtFWV9WSURFT19QUkVWIDI0MgotI2RlZmluZSBLRVlfQlJJR0hUTkVTU19DWUNMRSAyNDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9CUklHSFRORVNTX0NZQ0xFIDI0MwogI2RlZmluZSBLRVlfQlJJR0hUTkVTU19BVVRPIDI0NAogI2RlZmluZSBLRVlfQlJJR0hUTkVTU19aRVJPIEtFWV9CUklHSFRORVNTX0FVVE8KICNkZWZpbmUgS0VZX0RJU1BMQVlfT0ZGIDI0NQotI2RlZmluZSBLRVlfV1dBTiAyNDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9XV0FOIDI0NgogI2RlZmluZSBLRVlfV0lNQVggS0VZX1dXQU4KICNkZWZpbmUgS0VZX1JGS0lMTCAyNDcKICNkZWZpbmUgS0VZX01JQ01VVEUgMjQ4Ci0jZGVmaW5lIEJUTl9NSVNDIDB4MTAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fTUlTQyAweDEwMAogI2RlZmluZSBCVE5fMCAweDEwMAogI2RlZmluZSBCVE5fMSAweDEwMQogI2RlZmluZSBCVE5fMiAweDEwMgotI2RlZmluZSBCVE5fMyAweDEwMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROXzMgMHgxMDMKICNkZWZpbmUgQlROXzQgMHgxMDQKICNkZWZpbmUgQlROXzUgMHgxMDUKICNkZWZpbmUgQlROXzYgMHgxMDYKLSNkZWZpbmUgQlROXzcgMHgxMDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJUTl83IDB4MTA3CiAjZGVmaW5lIEJUTl84IDB4MTA4CiAjZGVmaW5lIEJUTl85IDB4MTA5CiAjZGVmaW5lIEJUTl9NT1VTRSAweDExMAotI2RlZmluZSBCVE5fTEVGVCAweDExMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX0xFRlQgMHgxMTAKICNkZWZpbmUgQlROX1JJR0hUIDB4MTExCiAjZGVmaW5lIEJUTl9NSURETEUgMHgxMTIKICNkZWZpbmUgQlROX1NJREUgMHgxMTMKLSNkZWZpbmUgQlROX0VYVFJBIDB4MTE0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fRVhUUkEgMHgxMTQKICNkZWZpbmUgQlROX0ZPUldBUkQgMHgxMTUKICNkZWZpbmUgQlROX0JBQ0sgMHgxMTYKICNkZWZpbmUgQlROX1RBU0sgMHgxMTcKLSNkZWZpbmUgQlROX0pPWVNUSUNLIDB4MTIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fSk9ZU1RJQ0sgMHgxMjAKICNkZWZpbmUgQlROX1RSSUdHRVIgMHgxMjAKICNkZWZpbmUgQlROX1RIVU1CIDB4MTIxCiAjZGVmaW5lIEJUTl9USFVNQjIgMHgxMjIKLSNkZWZpbmUgQlROX1RPUCAweDEyMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX1RPUCAweDEyMwogI2RlZmluZSBCVE5fVE9QMiAweDEyNAogI2RlZmluZSBCVE5fUElOS0lFIDB4MTI1CiAjZGVmaW5lIEJUTl9CQVNFIDB4MTI2Ci0jZGVmaW5lIEJUTl9CQVNFMiAweDEyNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX0JBU0UyIDB4MTI3CiAjZGVmaW5lIEJUTl9CQVNFMyAweDEyOAogI2RlZmluZSBCVE5fQkFTRTQgMHgxMjkKICNkZWZpbmUgQlROX0JBU0U1IDB4MTJhCi0jZGVmaW5lIEJUTl9CQVNFNiAweDEyYgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX0JBU0U2IDB4MTJiCiAjZGVmaW5lIEJUTl9ERUFEIDB4MTJmCiAjZGVmaW5lIEJUTl9HQU1FUEFEIDB4MTMwCiAjZGVmaW5lIEJUTl9TT1VUSCAweDEzMAotI2RlZmluZSBCVE5fQSBCVE5fU09VVEgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJUTl9BIEJUTl9TT1VUSAogI2RlZmluZSBCVE5fRUFTVCAweDEzMQogI2RlZmluZSBCVE5fQiBCVE5fRUFTVAogI2RlZmluZSBCVE5fQyAweDEzMgotI2RlZmluZSBCVE5fTk9SVEggMHgxMzMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJUTl9OT1JUSCAweDEzMwogI2RlZmluZSBCVE5fWCBCVE5fTk9SVEgKICNkZWZpbmUgQlROX1dFU1QgMHgxMzQKICNkZWZpbmUgQlROX1kgQlROX1dFU1QKLSNkZWZpbmUgQlROX1ogMHgxMzUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJUTl9aIDB4MTM1CiAjZGVmaW5lIEJUTl9UTCAweDEzNgogI2RlZmluZSBCVE5fVFIgMHgxMzcKICNkZWZpbmUgQlROX1RMMiAweDEzOAotI2RlZmluZSBCVE5fVFIyIDB4MTM5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fVFIyIDB4MTM5CiAjZGVmaW5lIEJUTl9TRUxFQ1QgMHgxM2EKICNkZWZpbmUgQlROX1NUQVJUIDB4MTNiCiAjZGVmaW5lIEJUTl9NT0RFIDB4MTNjCi0jZGVmaW5lIEJUTl9USFVNQkwgMHgxM2QKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEJUTl9USFVNQkwgMHgxM2QKICNkZWZpbmUgQlROX1RIVU1CUiAweDEzZQogI2RlZmluZSBCVE5fRElHSSAweDE0MAogI2RlZmluZSBCVE5fVE9PTF9QRU4gMHgxNDAKLSNkZWZpbmUgQlROX1RPT0xfUlVCQkVSIDB4MTQxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fVE9PTF9SVUJCRVIgMHgxNDEKICNkZWZpbmUgQlROX1RPT0xfQlJVU0ggMHgxNDIKICNkZWZpbmUgQlROX1RPT0xfUEVOQ0lMIDB4MTQzCiAjZGVmaW5lIEJUTl9UT09MX0FJUkJSVVNIIDB4MTQ0Ci0jZGVmaW5lIEJUTl9UT09MX0ZJTkdFUiAweDE0NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX1RPT0xfRklOR0VSIDB4MTQ1CiAjZGVmaW5lIEJUTl9UT09MX01PVVNFIDB4MTQ2CiAjZGVmaW5lIEJUTl9UT09MX0xFTlMgMHgxNDcKICNkZWZpbmUgQlROX1RPT0xfUVVJTlRUQVAgMHgxNDgKLSNkZWZpbmUgQlROX1RPVUNIIDB4MTRhCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fVE9VQ0ggMHgxNGEKICNkZWZpbmUgQlROX1NUWUxVUyAweDE0YgogI2RlZmluZSBCVE5fU1RZTFVTMiAweDE0YwogI2RlZmluZSBCVE5fVE9PTF9ET1VCTEVUQVAgMHgxNGQKLSNkZWZpbmUgQlROX1RPT0xfVFJJUExFVEFQIDB4MTRlCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBCVE5fVE9PTF9UUklQTEVUQVAgMHgxNGUKICNkZWZpbmUgQlROX1RPT0xfUVVBRFRBUCAweDE0ZgogI2RlZmluZSBCVE5fV0hFRUwgMHgxNTAKICNkZWZpbmUgQlROX0dFQVJfRE9XTiAweDE1MAotI2RlZmluZSBCVE5fR0VBUl9VUCAweDE1MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX0dFQVJfVVAgMHgxNTEKICNkZWZpbmUgS0VZX09LIDB4MTYwCiAjZGVmaW5lIEtFWV9TRUxFQ1QgMHgxNjEKICNkZWZpbmUgS0VZX0dPVE8gMHgxNjIKLSNkZWZpbmUgS0VZX0NMRUFSIDB4MTYzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQ0xFQVIgMHgxNjMKICNkZWZpbmUgS0VZX1BPV0VSMiAweDE2NAogI2RlZmluZSBLRVlfT1BUSU9OIDB4MTY1CiAjZGVmaW5lIEtFWV9JTkZPIDB4MTY2Ci0jZGVmaW5lIEtFWV9USU1FIDB4MTY3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfVElNRSAweDE2NwogI2RlZmluZSBLRVlfVkVORE9SIDB4MTY4CiAjZGVmaW5lIEtFWV9BUkNISVZFIDB4MTY5CiAjZGVmaW5lIEtFWV9QUk9HUkFNIDB4MTZhCi0jZGVmaW5lIEtFWV9DSEFOTkVMIDB4MTZiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQ0hBTk5FTCAweDE2YgogI2RlZmluZSBLRVlfRkFWT1JJVEVTIDB4MTZjCiAjZGVmaW5lIEtFWV9FUEcgMHgxNmQKICNkZWZpbmUgS0VZX1BWUiAweDE2ZQotI2RlZmluZSBLRVlfTUhQIDB4MTZmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfTUhQIDB4MTZmCiAjZGVmaW5lIEtFWV9MQU5HVUFHRSAweDE3MAogI2RlZmluZSBLRVlfVElUTEUgMHgxNzEKICNkZWZpbmUgS0VZX1NVQlRJVExFIDB4MTcyCi0jZGVmaW5lIEtFWV9BTkdMRSAweDE3MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0FOR0xFIDB4MTczCiAjZGVmaW5lIEtFWV9aT09NIDB4MTc0CiAjZGVmaW5lIEtFWV9NT0RFIDB4MTc1CiAjZGVmaW5lIEtFWV9LRVlCT0FSRCAweDE3NgotI2RlZmluZSBLRVlfU0NSRUVOIDB4MTc3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfU0NSRUVOIDB4MTc3CiAjZGVmaW5lIEtFWV9QQyAweDE3OAogI2RlZmluZSBLRVlfVFYgMHgxNzkKICNkZWZpbmUgS0VZX1RWMiAweDE3YQotI2RlZmluZSBLRVlfVkNSIDB4MTdiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfVkNSIDB4MTdiCiAjZGVmaW5lIEtFWV9WQ1IyIDB4MTdjCiAjZGVmaW5lIEtFWV9TQVQgMHgxN2QKICNkZWZpbmUgS0VZX1NBVDIgMHgxN2UKLSNkZWZpbmUgS0VZX0NEIDB4MTdmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQ0QgMHgxN2YKICNkZWZpbmUgS0VZX1RBUEUgMHgxODAKICNkZWZpbmUgS0VZX1JBRElPIDB4MTgxCiAjZGVmaW5lIEtFWV9UVU5FUiAweDE4MgotI2RlZmluZSBLRVlfUExBWUVSIDB4MTgzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfUExBWUVSIDB4MTgzCiAjZGVmaW5lIEtFWV9URVhUIDB4MTg0CiAjZGVmaW5lIEtFWV9EVkQgMHgxODUKICNkZWZpbmUgS0VZX0FVWCAweDE4NgotI2RlZmluZSBLRVlfTVAzIDB4MTg3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfTVAzIDB4MTg3CiAjZGVmaW5lIEtFWV9BVURJTyAweDE4OAogI2RlZmluZSBLRVlfVklERU8gMHgxODkKICNkZWZpbmUgS0VZX0RJUkVDVE9SWSAweDE4YQotI2RlZmluZSBLRVlfTElTVCAweDE4YgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0xJU1QgMHgxOGIKICNkZWZpbmUgS0VZX01FTU8gMHgxOGMKICNkZWZpbmUgS0VZX0NBTEVOREFSIDB4MThkCiAjZGVmaW5lIEtFWV9SRUQgMHgxOGUKLSNkZWZpbmUgS0VZX0dSRUVOIDB4MThmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfR1JFRU4gMHgxOGYKICNkZWZpbmUgS0VZX1lFTExPVyAweDE5MAogI2RlZmluZSBLRVlfQkxVRSAweDE5MQogI2RlZmluZSBLRVlfQ0hBTk5FTFVQIDB4MTkyCi0jZGVmaW5lIEtFWV9DSEFOTkVMRE9XTiAweDE5MwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0NIQU5ORUxET1dOIDB4MTkzCiAjZGVmaW5lIEtFWV9GSVJTVCAweDE5NAogI2RlZmluZSBLRVlfTEFTVCAweDE5NQogI2RlZmluZSBLRVlfQUIgMHgxOTYKLSNkZWZpbmUgS0VZX05FWFQgMHgxOTcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9ORVhUIDB4MTk3CiAjZGVmaW5lIEtFWV9SRVNUQVJUIDB4MTk4CiAjZGVmaW5lIEtFWV9TTE9XIDB4MTk5CiAjZGVmaW5lIEtFWV9TSFVGRkxFIDB4MTlhCi0jZGVmaW5lIEtFWV9CUkVBSyAweDE5YgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0JSRUFLIDB4MTliCiAjZGVmaW5lIEtFWV9QUkVWSU9VUyAweDE5YwogI2RlZmluZSBLRVlfRElHSVRTIDB4MTlkCiAjZGVmaW5lIEtFWV9URUVOIDB4MTllCi0jZGVmaW5lIEtFWV9UV0VOIDB4MTlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfVFdFTiAweDE5ZgogI2RlZmluZSBLRVlfVklERU9QSE9ORSAweDFhMAogI2RlZmluZSBLRVlfR0FNRVMgMHgxYTEKICNkZWZpbmUgS0VZX1pPT01JTiAweDFhMgotI2RlZmluZSBLRVlfWk9PTU9VVCAweDFhMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1pPT01PVVQgMHgxYTMKICNkZWZpbmUgS0VZX1pPT01SRVNFVCAweDFhNAogI2RlZmluZSBLRVlfV09SRFBST0NFU1NPUiAweDFhNQogI2RlZmluZSBLRVlfRURJVE9SIDB4MWE2Ci0jZGVmaW5lIEtFWV9TUFJFQURTSEVFVCAweDFhNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX1NQUkVBRFNIRUVUIDB4MWE3CiAjZGVmaW5lIEtFWV9HUkFQSElDU0VESVRPUiAweDFhOAogI2RlZmluZSBLRVlfUFJFU0VOVEFUSU9OIDB4MWE5CiAjZGVmaW5lIEtFWV9EQVRBQkFTRSAweDFhYQotI2RlZmluZSBLRVlfTkVXUyAweDFhYgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX05FV1MgMHgxYWIKICNkZWZpbmUgS0VZX1ZPSUNFTUFJTCAweDFhYwogI2RlZmluZSBLRVlfQUREUkVTU0JPT0sgMHgxYWQKICNkZWZpbmUgS0VZX01FU1NFTkdFUiAweDFhZQotI2RlZmluZSBLRVlfRElTUExBWVRPR0dMRSAweDFhZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0RJU1BMQVlUT0dHTEUgMHgxYWYKICNkZWZpbmUgS0VZX0JSSUdIVE5FU1NfVE9HR0xFIEtFWV9ESVNQTEFZVE9HR0xFCiAjZGVmaW5lIEtFWV9TUEVMTENIRUNLIDB4MWIwCiAjZGVmaW5lIEtFWV9MT0dPRkYgMHgxYjEKLSNkZWZpbmUgS0VZX0RPTExBUiAweDFiMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0RPTExBUiAweDFiMgogI2RlZmluZSBLRVlfRVVSTyAweDFiMwogI2RlZmluZSBLRVlfRlJBTUVCQUNLIDB4MWI0CiAjZGVmaW5lIEtFWV9GUkFNRUZPUldBUkQgMHgxYjUKLSNkZWZpbmUgS0VZX0NPTlRFWFRfTUVOVSAweDFiNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0NPTlRFWFRfTUVOVSAweDFiNgogI2RlZmluZSBLRVlfTUVESUFfUkVQRUFUIDB4MWI3CiAjZGVmaW5lIEtFWV8xMENIQU5ORUxTVVAgMHgxYjgKICNkZWZpbmUgS0VZXzEwQ0hBTk5FTFNET1dOIDB4MWI5Ci0jZGVmaW5lIEtFWV9JTUFHRVMgMHgxYmEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9JTUFHRVMgMHgxYmEKICNkZWZpbmUgS0VZX0RFTF9FT0wgMHgxYzAKICNkZWZpbmUgS0VZX0RFTF9FT1MgMHgxYzEKICNkZWZpbmUgS0VZX0lOU19MSU5FIDB4MWMyCi0jZGVmaW5lIEtFWV9ERUxfTElORSAweDFjMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0RFTF9MSU5FIDB4MWMzCiAjZGVmaW5lIEtFWV9GTiAweDFkMAogI2RlZmluZSBLRVlfRk5fRVNDIDB4MWQxCiAjZGVmaW5lIEtFWV9GTl9GMSAweDFkMgotI2RlZmluZSBLRVlfRk5fRjIgMHgxZDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9GTl9GMiAweDFkMwogI2RlZmluZSBLRVlfRk5fRjMgMHgxZDQKICNkZWZpbmUgS0VZX0ZOX0Y0IDB4MWQ1CiAjZGVmaW5lIEtFWV9GTl9GNSAweDFkNgotI2RlZmluZSBLRVlfRk5fRjYgMHgxZDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9GTl9GNiAweDFkNwogI2RlZmluZSBLRVlfRk5fRjcgMHgxZDgKICNkZWZpbmUgS0VZX0ZOX0Y4IDB4MWQ5CiAjZGVmaW5lIEtFWV9GTl9GOSAweDFkYQotI2RlZmluZSBLRVlfRk5fRjEwIDB4MWRiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfRk5fRjEwIDB4MWRiCiAjZGVmaW5lIEtFWV9GTl9GMTEgMHgxZGMKICNkZWZpbmUgS0VZX0ZOX0YxMiAweDFkZAogI2RlZmluZSBLRVlfRk5fMSAweDFkZQotI2RlZmluZSBLRVlfRk5fMiAweDFkZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0ZOXzIgMHgxZGYKICNkZWZpbmUgS0VZX0ZOX0QgMHgxZTAKICNkZWZpbmUgS0VZX0ZOX0UgMHgxZTEKICNkZWZpbmUgS0VZX0ZOX0YgMHgxZTIKLSNkZWZpbmUgS0VZX0ZOX1MgMHgxZTMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9GTl9TIDB4MWUzCiAjZGVmaW5lIEtFWV9GTl9CIDB4MWU0CiAjZGVmaW5lIEtFWV9CUkxfRE9UMSAweDFmMQogI2RlZmluZSBLRVlfQlJMX0RPVDIgMHgxZjIKLSNkZWZpbmUgS0VZX0JSTF9ET1QzIDB4MWYzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQlJMX0RPVDMgMHgxZjMKICNkZWZpbmUgS0VZX0JSTF9ET1Q0IDB4MWY0CiAjZGVmaW5lIEtFWV9CUkxfRE9UNSAweDFmNQogI2RlZmluZSBLRVlfQlJMX0RPVDYgMHgxZjYKLSNkZWZpbmUgS0VZX0JSTF9ET1Q3IDB4MWY3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQlJMX0RPVDcgMHgxZjcKICNkZWZpbmUgS0VZX0JSTF9ET1Q4IDB4MWY4CiAjZGVmaW5lIEtFWV9CUkxfRE9UOSAweDFmOQogI2RlZmluZSBLRVlfQlJMX0RPVDEwIDB4MWZhCi0jZGVmaW5lIEtFWV9OVU1FUklDXzAgMHgyMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9OVU1FUklDXzAgMHgyMDAKICNkZWZpbmUgS0VZX05VTUVSSUNfMSAweDIwMQogI2RlZmluZSBLRVlfTlVNRVJJQ18yIDB4MjAyCiAjZGVmaW5lIEtFWV9OVU1FUklDXzMgMHgyMDMKLSNkZWZpbmUgS0VZX05VTUVSSUNfNCAweDIwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX05VTUVSSUNfNCAweDIwNAogI2RlZmluZSBLRVlfTlVNRVJJQ181IDB4MjA1CiAjZGVmaW5lIEtFWV9OVU1FUklDXzYgMHgyMDYKICNkZWZpbmUgS0VZX05VTUVSSUNfNyAweDIwNwotI2RlZmluZSBLRVlfTlVNRVJJQ184IDB4MjA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfTlVNRVJJQ184IDB4MjA4CiAjZGVmaW5lIEtFWV9OVU1FUklDXzkgMHgyMDkKICNkZWZpbmUgS0VZX05VTUVSSUNfU1RBUiAweDIwYQogI2RlZmluZSBLRVlfTlVNRVJJQ19QT1VORCAweDIwYgotI2RlZmluZSBLRVlfQ0FNRVJBX0ZPQ1VTIDB4MjEwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQ0FNRVJBX0ZPQ1VTIDB4MjEwCiAjZGVmaW5lIEtFWV9XUFNfQlVUVE9OIDB4MjExCiAjZGVmaW5lIEtFWV9UT1VDSFBBRF9UT0dHTEUgMHgyMTIKICNkZWZpbmUgS0VZX1RPVUNIUEFEX09OIDB4MjEzCi0jZGVmaW5lIEtFWV9UT1VDSFBBRF9PRkYgMHgyMTQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9UT1VDSFBBRF9PRkYgMHgyMTQKICNkZWZpbmUgS0VZX0NBTUVSQV9aT09NSU4gMHgyMTUKICNkZWZpbmUgS0VZX0NBTUVSQV9aT09NT1VUIDB4MjE2CiAjZGVmaW5lIEtFWV9DQU1FUkFfVVAgMHgyMTcKLSNkZWZpbmUgS0VZX0NBTUVSQV9ET1dOIDB4MjE4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQ0FNRVJBX0RPV04gMHgyMTgKICNkZWZpbmUgS0VZX0NBTUVSQV9MRUZUIDB4MjE5CiAjZGVmaW5lIEtFWV9DQU1FUkFfUklHSFQgMHgyMWEKICNkZWZpbmUgS0VZX0FUVEVOREFOVF9PTiAweDIxYgotI2RlZmluZSBLRVlfQVRURU5EQU5UX09GRiAweDIxYwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0FUVEVOREFOVF9PRkYgMHgyMWMKICNkZWZpbmUgS0VZX0FUVEVOREFOVF9UT0dHTEUgMHgyMWQKICNkZWZpbmUgS0VZX0xJR0hUU19UT0dHTEUgMHgyMWUKICNkZWZpbmUgQlROX0RQQURfVVAgMHgyMjAKLSNkZWZpbmUgQlROX0RQQURfRE9XTiAweDIyMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQlROX0RQQURfRE9XTiAweDIyMQogI2RlZmluZSBCVE5fRFBBRF9MRUZUIDB4MjIyCiAjZGVmaW5lIEJUTl9EUEFEX1JJR0hUIDB4MjIzCiAjZGVmaW5lIEtFWV9BTFNfVE9HR0xFIDB4MjMwCi0jZGVmaW5lIEtFWV9CVVRUT05DT05GSUcgMHgyNDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtFWV9CVVRUT05DT05GSUcgMHgyNDAKICNkZWZpbmUgS0VZX1RBU0tNQU5BR0VSIDB4MjQxCiAjZGVmaW5lIEtFWV9KT1VSTkFMIDB4MjQyCiAjZGVmaW5lIEtFWV9DT05UUk9MUEFORUwgMHgyNDMKLSNkZWZpbmUgS0VZX0FQUFNFTEVDVCAweDI0NAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0FQUFNFTEVDVCAweDI0NAogI2RlZmluZSBLRVlfU0NSRUVOU0FWRVIgMHgyNDUKICNkZWZpbmUgS0VZX1ZPSUNFQ09NTUFORCAweDI0NgogI2RlZmluZSBLRVlfQlJJR0hUTkVTU19NSU4gMHgyNTAKLSNkZWZpbmUgS0VZX0JSSUdIVE5FU1NfTUFYIDB4MjUxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVlfQlJJR0hUTkVTU19NQVggMHgyNTEKKyNkZWZpbmUgS0VZX0tCRElOUFVUQVNTSVNUX1BSRVYgMHgyNjAKKyNkZWZpbmUgS0VZX0tCRElOUFVUQVNTSVNUX05FWFQgMHgyNjEKKyNkZWZpbmUgS0VZX0tCRElOUFVUQVNTSVNUX1BSRVZHUk9VUCAweDI2MgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0tCRElOUFVUQVNTSVNUX05FWFRHUk9VUCAweDI2MworI2RlZmluZSBLRVlfS0JESU5QVVRBU1NJU1RfQUNDRVBUIDB4MjY0CisjZGVmaW5lIEtFWV9LQkRJTlBVVEFTU0lTVF9DQU5DRUwgMHgyNjUKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkgMHgyYzAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMSAweDJjMAogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTIgMHgyYzEKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkzIDB4MmMyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTQgMHgyYzMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZNSAweDJjNAogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTYgMHgyYzUKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFk3IDB4MmM2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTggMHgyYzcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZOSAweDJjOAogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTEwIDB4MmM5CiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMTEgMHgyY2EKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMTIgMHgyY2IKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMTMgMHgyY2MKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkxNCAweDJjZAogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTE1IDB4MmNlCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTE2IDB4MmNmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTE3IDB4MmQwCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMTggMHgyZDEKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkxOSAweDJkMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkyMCAweDJkMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkyMSAweDJkNAogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTIyIDB4MmQ1CiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMjMgMHgyZDYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMjQgMHgyZDcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMjUgMHgyZDgKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkyNiAweDJkOQogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTI3IDB4MmRhCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTI4IDB4MmRiCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTI5IDB4MmRjCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMzAgMHgyZGQKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkzMSAweDJkZQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkzMiAweDJkZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkzMyAweDJlMAogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTM0IDB4MmUxCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMzUgMHgyZTIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMzYgMHgyZTMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJUTl9UUklHR0VSX0hBUFBZMzcgMHgyZTQKICNkZWZpbmUgQlROX1RSSUdHRVJfSEFQUFkzOCAweDJlNQogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTM5IDB4MmU2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVE5fVFJJR0dFUl9IQVBQWTQwIDB4MmU3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLRVlfTUlOX0lOVEVSRVNUSU5HIEtFWV9NVVRFCiAjZGVmaW5lIEtFWV9NQVggMHgyZmYKLSNkZWZpbmUgS0VZX0NOVCAoS0VZX01BWCsxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS0VZX0NOVCAoS0VZX01BWCArIDEpCiAjZGVmaW5lIFJFTF9YIDB4MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJFTF9ZIDB4MDEKICNkZWZpbmUgUkVMX1ogMHgwMgogI2RlZmluZSBSRUxfUlggMHgwMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkVMX1JZIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJFTF9SWiAweDA1CiAjZGVmaW5lIFJFTF9IV0hFRUwgMHgwNgogI2RlZmluZSBSRUxfRElBTCAweDA3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSRUxfV0hFRUwgMHgwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUkVMX01JU0MgMHgwOQogI2RlZmluZSBSRUxfTUFYIDB4MGYKLSNkZWZpbmUgUkVMX0NOVCAoUkVMX01BWCsxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUkVMX0NOVCAoUkVMX01BWCArIDEpCiAjZGVmaW5lIEFCU19YIDB4MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19ZIDB4MDEKICNkZWZpbmUgQUJTX1ogMHgwMgogI2RlZmluZSBBQlNfUlggMHgwMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUJTX1JZIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19SWiAweDA1CiAjZGVmaW5lIEFCU19USFJPVFRMRSAweDA2CiAjZGVmaW5lIEFCU19SVURERVIgMHgwNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUJTX1dIRUVMIDB4MDgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19HQVMgMHgwOQogI2RlZmluZSBBQlNfQlJBS0UgMHgwYQogI2RlZmluZSBBQlNfSEFUMFggMHgxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUJTX0hBVDBZIDB4MTEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19IQVQxWCAweDEyCiAjZGVmaW5lIEFCU19IQVQxWSAweDEzCiAjZGVmaW5lIEFCU19IQVQyWCAweDE0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBQlNfSEFUMlkgMHgxNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUJTX0hBVDNYIDB4MTYKICNkZWZpbmUgQUJTX0hBVDNZIDB4MTcKICNkZWZpbmUgQUJTX1BSRVNTVVJFIDB4MTgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19ESVNUQU5DRSAweDE5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBQlNfVElMVF9YIDB4MWEKICNkZWZpbmUgQUJTX1RJTFRfWSAweDFiCiAjZGVmaW5lIEFCU19UT09MX1dJRFRIIDB4MWMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19WT0xVTUUgMHgyMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUJTX01JU0MgMHgyOAogI2RlZmluZSBBQlNfTVRfU0xPVCAweDJmCiAjZGVmaW5lIEFCU19NVF9UT1VDSF9NQUpPUiAweDMwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBQlNfTVRfVE9VQ0hfTUlOT1IgMHgzMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUJTX01UX1dJRFRIX01BSk9SIDB4MzIKICNkZWZpbmUgQUJTX01UX1dJRFRIX01JTk9SIDB4MzMKICNkZWZpbmUgQUJTX01UX09SSUVOVEFUSU9OIDB4MzQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19NVF9QT1NJVElPTl9YIDB4MzUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19NVF9QT1NJVElPTl9ZIDB4MzYKICNkZWZpbmUgQUJTX01UX1RPT0xfVFlQRSAweDM3CiAjZGVmaW5lIEFCU19NVF9CTE9CX0lEIDB4MzgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19NVF9UUkFDS0lOR19JRCAweDM5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBQlNfTVRfUFJFU1NVUkUgMHgzYQogI2RlZmluZSBBQlNfTVRfRElTVEFOQ0UgMHgzYgogI2RlZmluZSBBQlNfTVRfVE9PTF9YIDB4M2MKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFCU19NVF9UT09MX1kgMHgzZAotI2RlZmluZSBBQlNfTUFYIDB4M2YKLSNkZWZpbmUgQUJTX0NOVCAoQUJTX01BWCsxKQotI2RlZmluZSBTV19MSUQgMHgwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQUJTX01BWCAweDNmCisjZGVmaW5lIEFCU19DTlQgKEFCU19NQVggKyAxKQorI2RlZmluZSBTV19MSUQgMHgwMAogI2RlZmluZSBTV19UQUJMRVRfTU9ERSAweDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTV19IRUFEUEhPTkVfSU5TRVJUIDB4MDIKICNkZWZpbmUgU1dfUkZLSUxMX0FMTCAweDAzCiAjZGVmaW5lIFNXX1JBRElPIFNXX1JGS0lMTF9BTEwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNXX01JQ1JPUEhPTkVfSU5TRVJUIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNXX0RPQ0sgMHgwNQogI2RlZmluZSBTV19MSU5FT1VUX0lOU0VSVCAweDA2CiAjZGVmaW5lIFNXX0pBQ0tfUEhZU0lDQUxfSU5TRVJUIDB4MDcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNXX1ZJREVPT1VUX0lOU0VSVCAweDA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTV19DQU1FUkFfTEVOU19DT1ZFUiAweDA5CiAjZGVmaW5lIFNXX0tFWVBBRF9TTElERSAweDBhCiAjZGVmaW5lIFNXX0ZST05UX1BST1hJTUlUWSAweDBiCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTV19ST1RBVEVfTE9DSyAweDBjCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTV19MSU5FSU5fSU5TRVJUIDB4MGQKICNkZWZpbmUgU1dfTVVURV9ERVZJQ0UgMHgwZQogI2RlZmluZSBTV19NQVggMHgwZgorI2RlZmluZSBTV19DTlQgKFNXX01BWCArIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTV19DTlQgKFNXX01BWCsxKQogI2RlZmluZSBNU0NfU0VSSUFMIDB4MDAKICNkZWZpbmUgTVNDX1BVTFNFTEVEIDB4MDEKICNkZWZpbmUgTVNDX0dFU1RVUkUgMHgwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVNDX1JBVyAweDAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU0NfU0NBTiAweDA0CiAjZGVmaW5lIE1TQ19USU1FU1RBTVAgMHgwNQogI2RlZmluZSBNU0NfTUFYIDB4MDcKKyNkZWZpbmUgTVNDX0NOVCAoTVNDX01BWCArIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNU0NfQ05UIChNU0NfTUFYKzEpCiAjZGVmaW5lIExFRF9OVU1MIDB4MDAKICNkZWZpbmUgTEVEX0NBUFNMIDB4MDEKICNkZWZpbmUgTEVEX1NDUk9MTEwgMHgwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTEVEX0NPTVBPU0UgMHgwMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTEVEX0tBTkEgMHgwNAogI2RlZmluZSBMRURfU0xFRVAgMHgwNQogI2RlZmluZSBMRURfU1VTUEVORCAweDA2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMRURfTVVURSAweDA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMRURfTUlTQyAweDA4CiAjZGVmaW5lIExFRF9NQUlMIDB4MDkKICNkZWZpbmUgTEVEX0NIQVJHSU5HIDB4MGEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExFRF9NQVggMHgwZgotI2RlZmluZSBMRURfQ05UIChMRURfTUFYKzEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBMRURfQ05UIChMRURfTUFYICsgMSkKICNkZWZpbmUgUkVQX0RFTEFZIDB4MDAKICNkZWZpbmUgUkVQX1BFUklPRCAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSRVBfTUFYIDB4MDEKLSNkZWZpbmUgUkVQX0NOVCAoUkVQX01BWCsxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUkVQX0NOVCAoUkVQX01BWCArIDEpCiAjZGVmaW5lIFNORF9DTElDSyAweDAwCiAjZGVmaW5lIFNORF9CRUxMIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORF9UT05FIDB4MDIKLSNkZWZpbmUgU05EX01BWCAweDA3Ci0jZGVmaW5lIFNORF9DTlQgKFNORF9NQVgrMSkKLSNkZWZpbmUgSURfQlVTIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORF9NQVggMHgwNworI2RlZmluZSBTTkRfQ05UIChTTkRfTUFYICsgMSkKKyNkZWZpbmUgSURfQlVTIDAKICNkZWZpbmUgSURfVkVORE9SIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElEX1BST0RVQ1QgMgogI2RlZmluZSBJRF9WRVJTSU9OIDMKICNkZWZpbmUgQlVTX1BDSSAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVVNfSVNBUE5QIDB4MDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJVU19VU0IgMHgwMwogI2RlZmluZSBCVVNfSElMIDB4MDQKICNkZWZpbmUgQlVTX0JMVUVUT09USCAweDA1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVVNfVklSVFVBTCAweDA2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVVNfSVNBIDB4MTAKICNkZWZpbmUgQlVTX0k4MDQyIDB4MTEKICNkZWZpbmUgQlVTX1hUS0JEIDB4MTIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJVU19SUzIzMiAweDEzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVVNfR0FNRVBPUlQgMHgxNAogI2RlZmluZSBCVVNfUEFSUE9SVCAweDE1CiAjZGVmaW5lIEJVU19BTUlHQSAweDE2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCVVNfQURCIDB4MTcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJVU19JMkMgMHgxOAogI2RlZmluZSBCVVNfSE9TVCAweDE5CiAjZGVmaW5lIEJVU19HU0MgMHgxQQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQlVTX0FUQVJJIDB4MUIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJVU19TUEkgMHgxQwogI2RlZmluZSBNVF9UT09MX0ZJTkdFUiAwCiAjZGVmaW5lIE1UX1RPT0xfUEVOIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1UX1RPT0xfTUFYIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZGX1NUQVRVU19TVE9QUEVEIDB4MDAKICNkZWZpbmUgRkZfU1RBVFVTX1BMQVlJTkcgMHgwMQogI2RlZmluZSBGRl9TVEFUVVNfTUFYIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmZfcmVwbGF5IHsKLSBfX3UxNiBsZW5ndGg7Ci0gX191MTYgZGVsYXk7Ci19OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgbGVuZ3RoOworICBfX3UxNiBkZWxheTsKK307CiBzdHJ1Y3QgZmZfdHJpZ2dlciB7Ci0gX191MTYgYnV0dG9uOwotIF9fdTE2IGludGVydmFsOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgYnV0dG9uOworICBfX3UxNiBpbnRlcnZhbDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZmX2VudmVsb3BlIHsKLSBfX3UxNiBhdHRhY2tfbGVuZ3RoOwotIF9fdTE2IGF0dGFja19sZXZlbDsKLSBfX3UxNiBmYWRlX2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmFkZV9sZXZlbDsKKyAgX191MTYgYXR0YWNrX2xlbmd0aDsKKyAgX191MTYgYXR0YWNrX2xldmVsOworICBfX3UxNiBmYWRlX2xlbmd0aDsKKyAgX191MTYgZmFkZV9sZXZlbDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZmX2NvbnN0YW50X2VmZmVjdCB7Ci0gX19zMTYgbGV2ZWw7CisgIF9fczE2IGxldmVsOworICBzdHJ1Y3QgZmZfZW52ZWxvcGUgZW52ZWxvcGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmZl9lbnZlbG9wZSBlbnZlbG9wZTsKIH07CiBzdHJ1Y3QgZmZfcmFtcF9lZmZlY3QgewotIF9fczE2IHN0YXJ0X2xldmVsOworICBfX3MxNiBzdGFydF9sZXZlbDsKKyAgX19zMTYgZW5kX2xldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MxNiBlbmRfbGV2ZWw7Ci0gc3RydWN0IGZmX2VudmVsb3BlIGVudmVsb3BlOworICBzdHJ1Y3QgZmZfZW52ZWxvcGUgZW52ZWxvcGU7CiB9Owogc3RydWN0IGZmX2NvbmRpdGlvbl9lZmZlY3QgeworICBfX3UxNiByaWdodF9zYXR1cmF0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiByaWdodF9zYXR1cmF0aW9uOwotIF9fdTE2IGxlZnRfc2F0dXJhdGlvbjsKLSBfX3MxNiByaWdodF9jb2VmZjsKLSBfX3MxNiBsZWZ0X2NvZWZmOworICBfX3UxNiBsZWZ0X3NhdHVyYXRpb247CisgIF9fczE2IHJpZ2h0X2NvZWZmOworICBfX3MxNiBsZWZ0X2NvZWZmOworICBfX3UxNiBkZWFkYmFuZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZGVhZGJhbmQ7Ci0gX19zMTYgY2VudGVyOworICBfX3MxNiBjZW50ZXI7CiB9Owogc3RydWN0IGZmX3BlcmlvZGljX2VmZmVjdCB7CisgIF9fdTE2IHdhdmVmb3JtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB3YXZlZm9ybTsKLSBfX3UxNiBwZXJpb2Q7Ci0gX19zMTYgbWFnbml0dWRlOwotIF9fczE2IG9mZnNldDsKKyAgX191MTYgcGVyaW9kOworICBfX3MxNiBtYWduaXR1ZGU7CisgIF9fczE2IG9mZnNldDsKKyAgX191MTYgcGhhc2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHBoYXNlOwotIHN0cnVjdCBmZl9lbnZlbG9wZSBlbnZlbG9wZTsKLSBfX3UzMiBjdXN0b21fbGVuOwotIF9fczE2IF9fdXNlciAqY3VzdG9tX2RhdGE7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgZmZfZW52ZWxvcGUgZW52ZWxvcGU7CisgIF9fdTMyIGN1c3RvbV9sZW47CisgIF9fczE2IF9fdXNlciAqIGN1c3RvbV9kYXRhOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmZfcnVtYmxlX2VmZmVjdCB7Ci0gX191MTYgc3Ryb25nX21hZ25pdHVkZTsKLSBfX3UxNiB3ZWFrX21hZ25pdHVkZTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHN0cm9uZ19tYWduaXR1ZGU7CisgIF9fdTE2IHdlYWtfbWFnbml0dWRlOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmZfZWZmZWN0IHsKLSBfX3UxNiB0eXBlOwotIF9fczE2IGlkOworICBfX3UxNiB0eXBlOworICBfX3MxNiBpZDsKKyAgX191MTYgZGlyZWN0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBkaXJlY3Rpb247Ci0gc3RydWN0IGZmX3RyaWdnZXIgdHJpZ2dlcjsKLSBzdHJ1Y3QgZmZfcmVwbGF5IHJlcGxheTsKLSB1bmlvbiB7CisgIHN0cnVjdCBmZl90cmlnZ2VyIHRyaWdnZXI7CisgIHN0cnVjdCBmZl9yZXBsYXkgcmVwbGF5OworICB1bmlvbiB7CisgICAgc3RydWN0IGZmX2NvbnN0YW50X2VmZmVjdCBjb25zdGFudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGZmX2NvbnN0YW50X2VmZmVjdCBjb25zdGFudDsKLSBzdHJ1Y3QgZmZfcmFtcF9lZmZlY3QgcmFtcDsKLSBzdHJ1Y3QgZmZfcGVyaW9kaWNfZWZmZWN0IHBlcmlvZGljOwotIHN0cnVjdCBmZl9jb25kaXRpb25fZWZmZWN0IGNvbmRpdGlvblsyXTsKKyAgICBzdHJ1Y3QgZmZfcmFtcF9lZmZlY3QgcmFtcDsKKyAgICBzdHJ1Y3QgZmZfcGVyaW9kaWNfZWZmZWN0IHBlcmlvZGljOworICAgIHN0cnVjdCBmZl9jb25kaXRpb25fZWZmZWN0IGNvbmRpdGlvblsyXTsKKyAgICBzdHJ1Y3QgZmZfcnVtYmxlX2VmZmVjdCBydW1ibGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmZl9ydW1ibGVfZWZmZWN0IHJ1bWJsZTsKLSB9IHU7CisgIH0gdTsKIH07CiAjZGVmaW5lIEZGX1JVTUJMRSAweDUwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9QRVJJT0RJQyAweDUxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9DT05TVEFOVCAweDUyCiAjZGVmaW5lIEZGX1NQUklORyAweDUzCiAjZGVmaW5lIEZGX0ZSSUNUSU9OIDB4NTQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZGX0RBTVBFUiAweDU1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9JTkVSVElBIDB4NTYKICNkZWZpbmUgRkZfUkFNUCAweDU3CiAjZGVmaW5lIEZGX0VGRkVDVF9NSU4gRkZfUlVNQkxFCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9FRkZFQ1RfTUFYIEZGX1JBTVAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZGX1NRVUFSRSAweDU4CiAjZGVmaW5lIEZGX1RSSUFOR0xFIDB4NTkKICNkZWZpbmUgRkZfU0lORSAweDVhCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9TQVdfVVAgMHg1YgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkZfU0FXX0RPV04gMHg1YwogI2RlZmluZSBGRl9DVVNUT00gMHg1ZAogI2RlZmluZSBGRl9XQVZFRk9STV9NSU4gRkZfU1FVQVJFCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9XQVZFRk9STV9NQVggRkZfQ1VTVE9NCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGRl9HQUlOIDB4NjAKICNkZWZpbmUgRkZfQVVUT0NFTlRFUiAweDYxCiAjZGVmaW5lIEZGX01BWCAweDdmCisjZGVmaW5lIEZGX0NOVCAoRkZfTUFYICsgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEZGX0NOVCAoRkZfTUFYKzEpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW9uLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lvbi5oCmluZGV4IDVhZjM5ZDAuLjQxOTM3NjMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW9uLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pb24uaApAQCAtMjMsNTAgKzIzLDUwIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBpbnQgaW9uX3VzZXJfaGFuZGxlX3Q7CiBlbnVtIGlvbl9oZWFwX3R5cGUgewotIElPTl9IRUFQX1RZUEVfU1lTVEVNLAotIElPTl9IRUFQX1RZUEVfU1lTVEVNX0NPTlRJRywKKyAgSU9OX0hFQVBfVFlQRV9TWVNURU0sCisgIElPTl9IRUFQX1RZUEVfU1lTVEVNX0NPTlRJRywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSU9OX0hFQVBfVFlQRV9DQVJWRU9VVCwKLSBJT05fSEVBUF9UWVBFX0NIVU5LLAotIElPTl9IRUFQX1RZUEVfRE1BLAotIElPTl9IRUFQX1RZUEVfQ1VTVE9NLAorICBJT05fSEVBUF9UWVBFX0NBUlZFT1VULAorICBJT05fSEVBUF9UWVBFX0NIVU5LLAorICBJT05fSEVBUF9UWVBFX0RNQSwKKyAgSU9OX0hFQVBfVFlQRV9DVVNUT00sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElPTl9OVU1fSEVBUFMgPSAxNiwKKyAgSU9OX05VTV9IRUFQUyA9IDE2LAogfTsKICNkZWZpbmUgSU9OX0hFQVBfU1lTVEVNX01BU0sgKDEgPDwgSU9OX0hFQVBfVFlQRV9TWVNURU0pCiAjZGVmaW5lIElPTl9IRUFQX1NZU1RFTV9DT05USUdfTUFTSyAoMSA8PCBJT05fSEVBUF9UWVBFX1NZU1RFTV9DT05USUcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJT05fSEVBUF9DQVJWRU9VVF9NQVNLICgxIDw8IElPTl9IRUFQX1RZUEVfQ0FSVkVPVVQpCiAjZGVmaW5lIElPTl9IRUFQX1RZUEVfRE1BX01BU0sgKDEgPDwgSU9OX0hFQVBfVFlQRV9ETUEpCi0jZGVmaW5lIElPTl9OVU1fSEVBUF9JRFMgc2l6ZW9mKHVuc2lnbmVkIGludCkgKiA4CisjZGVmaW5lIElPTl9OVU1fSEVBUF9JRFMgKHNpemVvZih1bnNpZ25lZCBpbnQpICogOCkKICNkZWZpbmUgSU9OX0ZMQUdfQ0FDSEVEIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElPTl9GTEFHX0NBQ0hFRF9ORUVEU19TWU5DIDIKIHN0cnVjdCBpb25fYWxsb2NhdGlvbl9kYXRhIHsKLSBzaXplX3QgbGVuOwotIHNpemVfdCBhbGlnbjsKKyAgc2l6ZV90IGxlbjsKKyAgc2l6ZV90IGFsaWduOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgaGVhcF9pZF9tYXNrOwotIHVuc2lnbmVkIGludCBmbGFnczsKLSBpb25fdXNlcl9oYW5kbGVfdCBoYW5kbGU7CisgIHVuc2lnbmVkIGludCBoZWFwX2lkX21hc2s7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgaW9uX3VzZXJfaGFuZGxlX3QgaGFuZGxlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaW9uX2ZkX2RhdGEgewotIGlvbl91c2VyX2hhbmRsZV90IGhhbmRsZTsKLSBpbnQgZmQ7CisgIGlvbl91c2VyX2hhbmRsZV90IGhhbmRsZTsKKyAgaW50IGZkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaW9uX2hhbmRsZV9kYXRhIHsKLSBpb25fdXNlcl9oYW5kbGVfdCBoYW5kbGU7CisgIGlvbl91c2VyX2hhbmRsZV90IGhhbmRsZTsKIH07CiBzdHJ1Y3QgaW9uX2N1c3RvbV9kYXRhIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGNtZDsKLSB1bnNpZ25lZCBsb25nIGFyZzsKKyAgdW5zaWduZWQgaW50IGNtZDsKKyAgdW5zaWduZWQgbG9uZyBhcmc7CiB9OwogI2RlZmluZSBJT05fSU9DX01BR0lDICdJJwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSU9OX0lPQ19BTExPQyBfSU9XUihJT05fSU9DX01BR0lDLCAwLCAgIHN0cnVjdCBpb25fYWxsb2NhdGlvbl9kYXRhKQorI2RlZmluZSBJT05fSU9DX0FMTE9DIF9JT1dSKElPTl9JT0NfTUFHSUMsIDAsIHN0cnVjdCBpb25fYWxsb2NhdGlvbl9kYXRhKQogI2RlZmluZSBJT05fSU9DX0ZSRUUgX0lPV1IoSU9OX0lPQ19NQUdJQywgMSwgc3RydWN0IGlvbl9oYW5kbGVfZGF0YSkKICNkZWZpbmUgSU9OX0lPQ19NQVAgX0lPV1IoSU9OX0lPQ19NQUdJQywgMiwgc3RydWN0IGlvbl9mZF9kYXRhKQogI2RlZmluZSBJT05fSU9DX1NIQVJFIF9JT1dSKElPTl9JT0NfTUFHSUMsIDQsIHN0cnVjdCBpb25fZmRfZGF0YSkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW9uX3Rlc3QuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW9uX3Rlc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmYzNWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pb25fdGVzdC5oCkBAIC0wLDAgKzEsMzggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKgorICoqKiAgIFRoaXMgaGVhZGVyIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGEgTGludXgga2VybmVsIGhlYWRlcgorICoqKiAgIG9mIHRoZSBzYW1lIG5hbWUsIHRvIG1ha2UgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IGZvciB1c2Vyc3BhY2UgdG8KKyAqKiogICBjYWxsIGludG8gdGhlIGtlcm5lbCBhdmFpbGFibGUgdG8gbGliYy4gIEl0IGNvbnRhaW5zIG9ubHkgY29uc3RhbnRzLAorICoqKiAgIHN0cnVjdHVyZXMsIGFuZCBtYWNyb3MgZ2VuZXJhdGVkIGZyb20gdGhlIG9yaWdpbmFsIGhlYWRlciwgYW5kIHRodXMsCisgKioqICAgY29udGFpbnMgbm8gY29weXJpZ2h0YWJsZSBpbmZvcm1hdGlvbi4KKyAqKioKKyAqKiogICBUbyBlZGl0IHRoZSBjb250ZW50IG9mIHRoaXMgaGVhZGVyLCBtb2RpZnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAqKiogICBzb3VyY2UgZmlsZSAoZS5nLiB1bmRlciBleHRlcm5hbC9rZXJuZWwtaGVhZGVycy9vcmlnaW5hbC8pIHRoZW4KKyAqKiogICBydW4gYmlvbmljL2xpYmMva2VybmVsL3Rvb2xzL3VwZGF0ZV9hbGwucHkKKyAqKioKKyAqKiogICBBbnkgbWFudWFsIGNoYW5nZSBoZXJlIHdpbGwgYmUgbG9zdCB0aGUgbmV4dCB0aW1lIHRoaXMgc2NyaXB0IHdpbGwKKyAqKiogICBiZSBydW4uIFlvdSd2ZSBiZWVuIHdhcm5lZCEKKyAqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX1VBUElfTElOVVhfSU9OX1RFU1RfSAorI2RlZmluZSBfVUFQSV9MSU5VWF9JT05fVEVTVF9ICisjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBpb25fdGVzdF9yd19kYXRhIHsKKyAgX191NjQgcHRyOworICBfX3U2NCBvZmZzZXQ7CisgIF9fdTY0IHNpemU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgd3JpdGU7CisgIGludCBfX3BhZGRpbmc7Cit9OworI2RlZmluZSBJT05fSU9DX01BR0lDICdJJworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSU9OX0lPQ19URVNUX1NFVF9GRCBfSU8oSU9OX0lPQ19NQUdJQywgMHhmMCkKKyNkZWZpbmUgSU9OX0lPQ19URVNUX0RNQV9NQVBQSU5HIF9JT1coSU9OX0lPQ19NQUdJQywgMHhmMSwgc3RydWN0IGlvbl90ZXN0X3J3X2RhdGEpCisjZGVmaW5lIElPTl9JT0NfVEVTVF9LRVJORUxfTUFQUElORyBfSU9XKElPTl9JT0NfTUFHSUMsIDB4ZjIsIHN0cnVjdCBpb25fdGVzdF9yd19kYXRhKQorI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pb3ByaW8uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaW9wcmlvLmgKaW5kZXggY2NkYjNiMC4uNTg4NmU3NyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pb3ByaW8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lvcHJpby5oCkBAIC0yNCwyMiArMjQsMjIgQEAKICNkZWZpbmUgSU9QUklPX1BSSU9fTUFTSyAoKDFVTCA8PCBJT1BSSU9fQ0xBU1NfU0hJRlQpIC0gMSkKICNkZWZpbmUgSU9QUklPX1BSSU9fQ0xBU1MobWFzaykgKChtYXNrKSA+PiBJT1BSSU9fQ0xBU1NfU0hJRlQpCiAjZGVmaW5lIElPUFJJT19QUklPX0RBVEEobWFzaykgKChtYXNrKSAmIElPUFJJT19QUklPX01BU0spCi0jZGVmaW5lIElPUFJJT19QUklPX1ZBTFVFKGNsYXNzLCBkYXRhKSAoKChjbGFzcykgPDwgSU9QUklPX0NMQVNTX1NISUZUKSB8IGRhdGEpCisjZGVmaW5lIElPUFJJT19QUklPX1ZBTFVFKGNsYXNzLGRhdGEpICgoKGNsYXNzKSA8PCBJT1BSSU9fQ0xBU1NfU0hJRlQpIHwgZGF0YSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIGlvcHJpb192YWxpZChtYXNrKSAoSU9QUklPX1BSSU9fQ0xBU1MoKG1hc2spKSAhPSBJT1BSSU9fQ0xBU1NfTk9ORSkKIGVudW0gewotIElPUFJJT19DTEFTU19OT05FLAotIElPUFJJT19DTEFTU19SVCwKKyAgSU9QUklPX0NMQVNTX05PTkUsCisgIElPUFJJT19DTEFTU19SVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSU9QUklPX0NMQVNTX0JFLAotIElPUFJJT19DTEFTU19JRExFLAorICBJT1BSSU9fQ0xBU1NfQkUsCisgIElPUFJJT19DTEFTU19JRExFLAogfTsKICNkZWZpbmUgSU9QUklPX0JFX05SICg4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIElPUFJJT19XSE9fUFJPQ0VTUyA9IDEsCi0gSU9QUklPX1dIT19QR1JQLAotIElPUFJJT19XSE9fVVNFUiwKKyAgSU9QUklPX1dIT19QUk9DRVNTID0gMSwKKyAgSU9QUklPX1dIT19QR1JQLAorICBJT1BSSU9fV0hPX1VTRVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSU9QUklPX05PUk0gKDQpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lwLmgKaW5kZXggZmMwYmQ3OC4uODU2N2QyNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXAuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBUT1NfVE9TX01BU0sgMHgxRQotI2RlZmluZSBJUFRPU19UT1ModG9zKSAoKHRvcykmSVBUT1NfVE9TX01BU0spCisjZGVmaW5lIElQVE9TX1RPUyh0b3MpICgodG9zKSAmIElQVE9TX1RPU19NQVNLKQogI2RlZmluZSBJUFRPU19MT1dERUxBWSAweDEwCiAjZGVmaW5lIElQVE9TX1RIUk9VR0hQVVQgMHgwOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBUT1NfUkVMSUFCSUxJVFkgMHgwNAogI2RlZmluZSBJUFRPU19NSU5DT1NUIDB4MDIKICNkZWZpbmUgSVBUT1NfUFJFQ19NQVNLIDB4RTAKLSNkZWZpbmUgSVBUT1NfUFJFQyh0b3MpICgodG9zKSZJUFRPU19QUkVDX01BU0spCisjZGVmaW5lIElQVE9TX1BSRUModG9zKSAoKHRvcykgJiBJUFRPU19QUkVDX01BU0spCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFRPU19QUkVDX05FVENPTlRST0wgMHhlMAogI2RlZmluZSBJUFRPU19QUkVDX0lOVEVSTkVUQ09OVFJPTCAweGMwCkBAIC00NCwyNyArNDQsMjcgQEAKICNkZWZpbmUgSVBPUFRfQ09QWSAweDgwCiAjZGVmaW5lIElQT1BUX0NMQVNTX01BU0sgMHg2MAogI2RlZmluZSBJUE9QVF9OVU1CRVJfTUFTSyAweDFmCi0jZGVmaW5lIElQT1BUX0NPUElFRChvKSAoKG8pJklQT1BUX0NPUFkpCisjZGVmaW5lIElQT1BUX0NPUElFRChvKSAoKG8pICYgSVBPUFRfQ09QWSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElQT1BUX0NMQVNTKG8pICgobykmSVBPUFRfQ0xBU1NfTUFTSykKLSNkZWZpbmUgSVBPUFRfTlVNQkVSKG8pICgobykmSVBPUFRfTlVNQkVSX01BU0spCisjZGVmaW5lIElQT1BUX0NMQVNTKG8pICgobykgJiBJUE9QVF9DTEFTU19NQVNLKQorI2RlZmluZSBJUE9QVF9OVU1CRVIobykgKChvKSAmIElQT1BUX05VTUJFUl9NQVNLKQogI2RlZmluZSBJUE9QVF9DT05UUk9MIDB4MDAKICNkZWZpbmUgSVBPUFRfUkVTRVJWRUQxIDB4MjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQT1BUX01FQVNVUkVNRU5UIDB4NDAKICNkZWZpbmUgSVBPUFRfUkVTRVJWRUQyIDB4NjAKLSNkZWZpbmUgSVBPUFRfRU5EICgwIHxJUE9QVF9DT05UUk9MKQotI2RlZmluZSBJUE9QVF9OT09QICgxIHxJUE9QVF9DT05UUk9MKQorI2RlZmluZSBJUE9QVF9FTkQgKDAgfCBJUE9QVF9DT05UUk9MKQorI2RlZmluZSBJUE9QVF9OT09QICgxIHwgSVBPUFRfQ09OVFJPTCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElQT1BUX1NFQyAoMiB8SVBPUFRfQ09OVFJPTHxJUE9QVF9DT1BZKQotI2RlZmluZSBJUE9QVF9MU1JSICgzIHxJUE9QVF9DT05UUk9MfElQT1BUX0NPUFkpCi0jZGVmaW5lIElQT1BUX1RJTUVTVEFNUCAoNCB8SVBPUFRfTUVBU1VSRU1FTlQpCi0jZGVmaW5lIElQT1BUX0NJUFNPICg2IHxJUE9QVF9DT05UUk9MfElQT1BUX0NPUFkpCisjZGVmaW5lIElQT1BUX1NFQyAoMiB8IElQT1BUX0NPTlRST0wgfCBJUE9QVF9DT1BZKQorI2RlZmluZSBJUE9QVF9MU1JSICgzIHwgSVBPUFRfQ09OVFJPTCB8IElQT1BUX0NPUFkpCisjZGVmaW5lIElQT1BUX1RJTUVTVEFNUCAoNCB8IElQT1BUX01FQVNVUkVNRU5UKQorI2RlZmluZSBJUE9QVF9DSVBTTyAoNiB8IElQT1BUX0NPTlRST0wgfCBJUE9QVF9DT1BZKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVBPUFRfUlIgKDcgfElQT1BUX0NPTlRST0wpCi0jZGVmaW5lIElQT1BUX1NJRCAoOCB8SVBPUFRfQ09OVFJPTHxJUE9QVF9DT1BZKQotI2RlZmluZSBJUE9QVF9TU1JSICg5IHxJUE9QVF9DT05UUk9MfElQT1BUX0NPUFkpCi0jZGVmaW5lIElQT1BUX1JBICgyMHxJUE9QVF9DT05UUk9MfElQT1BUX0NPUFkpCisjZGVmaW5lIElQT1BUX1JSICg3IHwgSVBPUFRfQ09OVFJPTCkKKyNkZWZpbmUgSVBPUFRfU0lEICg4IHwgSVBPUFRfQ09OVFJPTCB8IElQT1BUX0NPUFkpCisjZGVmaW5lIElQT1BUX1NTUlIgKDkgfCBJUE9QVF9DT05UUk9MIHwgSVBPUFRfQ09QWSkKKyNkZWZpbmUgSVBPUFRfUkEgKDIwIHwgSVBPUFRfQ09OVFJPTCB8IElQT1BUX0NPUFkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFZFUlNJT04gNAogI2RlZmluZSBNQVhUVEwgMjU1CkBAIC04Nyw5OCArODcsOTQgQEAKIHN0cnVjdCBpcGhkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmZGVmIF9fTElUVExFX0VORElBTl9CSVRGSUVMRAotIF9fdTggaWhsOjQsCi0gdmVyc2lvbjo0OwotI2VsaWYgZGVmaW5lZCAoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQorICBfX3U4IGlobCA6IDQsIHZlcnNpb24gOiA0OworI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpCisgIF9fdTggdmVyc2lvbiA6IDQsIGlobCA6IDQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdmVyc2lvbjo0LAotIGlobDo0OwogI2Vsc2UKICNlcnJvciAiUGxlYXNlIGZpeCA8YXNtL2J5dGVvcmRlci5oPiIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSBfX3U4IHRvczsKLSBfX2JlMTYgdG90X2xlbjsKLSBfX2JlMTYgaWQ7CisgIF9fdTggdG9zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgZnJhZ19vZmY7Ci0gX191OCB0dGw7Ci0gX191OCBwcm90b2NvbDsKLSBfX3N1bTE2IGNoZWNrOworICBfX2JlMTYgdG90X2xlbjsKKyAgX19iZTE2IGlkOworICBfX2JlMTYgZnJhZ19vZmY7CisgIF9fdTggdHRsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgc2FkZHI7Ci0gX19iZTMyIGRhZGRyOworICBfX3U4IHByb3RvY29sOworICBfX3N1bTE2IGNoZWNrOworICBfX2JlMzIgc2FkZHI7CisgIF9fYmUzMiBkYWRkcjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGlwX2F1dGhfaGRyIHsKKyAgX191OCBuZXh0aGRyOworICBfX3U4IGhkcmxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBuZXh0aGRyOwotIF9fdTggaGRybGVuOwotIF9fYmUxNiByZXNlcnZlZDsKLSBfX2JlMzIgc3BpOworICBfX2JlMTYgcmVzZXJ2ZWQ7CisgIF9fYmUzMiBzcGk7CisgIF9fYmUzMiBzZXFfbm87CisgIF9fdTggYXV0aF9kYXRhWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgc2VxX25vOwotIF9fdTggYXV0aF9kYXRhWzBdOwogfTsKIHN0cnVjdCBpcF9lc3BfaGRyIHsKKyAgX19iZTMyIHNwaTsKKyAgX19iZTMyIHNlcV9ubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHNwaTsKLSBfX2JlMzIgc2VxX25vOwotIF9fdTggZW5jX2RhdGFbMF07CisgIF9fdTggZW5jX2RhdGFbMF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcF9jb21wX2hkciB7Ci0gX191OCBuZXh0aGRyOwotIF9fdTggZmxhZ3M7Ci0gX19iZTE2IGNwaTsKKyAgX191OCBuZXh0aGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBmbGFnczsKKyAgX19iZTE2IGNwaTsKIH07CiBzdHJ1Y3QgaXBfYmVldF9waGRyIHsKLSBfX3U4IG5leHRoZHI7Ci0gX191OCBoZHJsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGFkbGVuOwotIF9fdTggcmVzZXJ2ZWQ7CisgIF9fdTggbmV4dGhkcjsKKyAgX191OCBoZHJsZW47CisgIF9fdTggcGFkbGVuOworICBfX3U4IHJlc2VydmVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci1lbnVtCitlbnVtIHsKKyAgSVBWNF9ERVZDT05GX0ZPUldBUkRJTkcgPSAxLAorICBJUFY0X0RFVkNPTkZfTUNfRk9SV0FSRElORywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gSVBWNF9ERVZDT05GX0ZPUldBUkRJTkc9MSwKLSBJUFY0X0RFVkNPTkZfTUNfRk9SV0FSRElORywKLSBJUFY0X0RFVkNPTkZfUFJPWFlfQVJQLAorICBJUFY0X0RFVkNPTkZfUFJPWFlfQVJQLAorICBJUFY0X0RFVkNPTkZfQUNDRVBUX1JFRElSRUNUUywKKyAgSVBWNF9ERVZDT05GX1NFQ1VSRV9SRURJUkVDVFMsCisgIElQVjRfREVWQ09ORl9TRU5EX1JFRElSRUNUUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWNF9ERVZDT05GX0FDQ0VQVF9SRURJUkVDVFMsCi0gSVBWNF9ERVZDT05GX1NFQ1VSRV9SRURJUkVDVFMsCi0gSVBWNF9ERVZDT05GX1NFTkRfUkVESVJFQ1RTLAotIElQVjRfREVWQ09ORl9TSEFSRURfTUVESUEsCisgIElQVjRfREVWQ09ORl9TSEFSRURfTUVESUEsCisgIElQVjRfREVWQ09ORl9SUF9GSUxURVIsCisgIElQVjRfREVWQ09ORl9BQ0NFUFRfU09VUkNFX1JPVVRFLAorICBJUFY0X0RFVkNPTkZfQk9PVFBfUkVMQVksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVjRfREVWQ09ORl9SUF9GSUxURVIsCi0gSVBWNF9ERVZDT05GX0FDQ0VQVF9TT1VSQ0VfUk9VVEUsCi0gSVBWNF9ERVZDT05GX0JPT1RQX1JFTEFZLAotIElQVjRfREVWQ09ORl9MT0dfTUFSVElBTlMsCisgIElQVjRfREVWQ09ORl9MT0dfTUFSVElBTlMsCisgIElQVjRfREVWQ09ORl9UQUcsCisgIElQVjRfREVWQ09ORl9BUlBGSUxURVIsCisgIElQVjRfREVWQ09ORl9NRURJVU1fSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVjRfREVWQ09ORl9UQUcsCi0gSVBWNF9ERVZDT05GX0FSUEZJTFRFUiwKLSBJUFY0X0RFVkNPTkZfTUVESVVNX0lELAotIElQVjRfREVWQ09ORl9OT1hGUk0sCisgIElQVjRfREVWQ09ORl9OT1hGUk0sCisgIElQVjRfREVWQ09ORl9OT1BPTElDWSwKKyAgSVBWNF9ERVZDT05GX0ZPUkNFX0lHTVBfVkVSU0lPTiwKKyAgSVBWNF9ERVZDT05GX0FSUF9BTk5PVU5DRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWNF9ERVZDT05GX05PUE9MSUNZLAotIElQVjRfREVWQ09ORl9GT1JDRV9JR01QX1ZFUlNJT04sCi0gSVBWNF9ERVZDT05GX0FSUF9BTk5PVU5DRSwKLSBJUFY0X0RFVkNPTkZfQVJQX0lHTk9SRSwKKyAgSVBWNF9ERVZDT05GX0FSUF9JR05PUkUsCisgIElQVjRfREVWQ09ORl9QUk9NT1RFX1NFQ09OREFSSUVTLAorICBJUFY0X0RFVkNPTkZfQVJQX0FDQ0VQVCwKKyAgSVBWNF9ERVZDT05GX0FSUF9OT1RJRlksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVjRfREVWQ09ORl9QUk9NT1RFX1NFQ09OREFSSUVTLAotIElQVjRfREVWQ09ORl9BUlBfQUNDRVBULAotIElQVjRfREVWQ09ORl9BUlBfTk9USUZZLAotIElQVjRfREVWQ09ORl9BQ0NFUFRfTE9DQUwsCisgIElQVjRfREVWQ09ORl9BQ0NFUFRfTE9DQUwsCisgIElQVjRfREVWQ09ORl9TUkNfVk1BUkssCisgIElQVjRfREVWQ09ORl9QUk9YWV9BUlBfUFZMQU4sCisgIElQVjRfREVWQ09ORl9ST1VURV9MT0NBTE5FVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWNF9ERVZDT05GX1NSQ19WTUFSSywKLSBJUFY0X0RFVkNPTkZfUFJPWFlfQVJQX1BWTEFOLAotIElQVjRfREVWQ09ORl9ST1VURV9MT0NBTE5FVCwKLSBJUFY0X0RFVkNPTkZfSUdNUFYyX1VOU09MSUNJVEVEX1JFUE9SVF9JTlRFUlZBTCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWNF9ERVZDT05GX0lHTVBWM19VTlNPTElDSVRFRF9SRVBPUlRfSU5URVJWQUwsCi0gX19JUFY0X0RFVkNPTkZfTUFYCisgIElQVjRfREVWQ09ORl9JR01QVjJfVU5TT0xJQ0lURURfUkVQT1JUX0lOVEVSVkFMLAorICBJUFY0X0RFVkNPTkZfSUdNUFYzX1VOU09MSUNJVEVEX1JFUE9SVF9JTlRFUlZBTCwKKyAgX19JUFY0X0RFVkNPTkZfTUFYCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBWNF9ERVZDT05GX01BWCAoX19JUFY0X0RFVkNPTkZfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXA2X3R1bm5lbC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcDZfdHVubmVsLmgKaW5kZXggOTZmMTAwNi4uY2ZlZDBjOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcDZfdHVubmVsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcDZfdHVubmVsLmgKQEAgLTMxLDM1ICszMSwzNSBAQAogI2RlZmluZSBJUDZfVE5MX0ZfVVNFX09SSUdfRldNQVJLIDB4MjAKIHN0cnVjdCBpcDZfdG5sX3Bhcm0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG5hbWVbSUZOQU1TSVpdOwotIGludCBsaW5rOwotIF9fdTggcHJvdG87Ci0gX191OCBlbmNhcF9saW1pdDsKKyAgY2hhciBuYW1lW0lGTkFNU0laXTsKKyAgaW50IGxpbms7CisgIF9fdTggcHJvdG87CisgIF9fdTggZW5jYXBfbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaG9wX2xpbWl0OwotIF9fYmUzMiBmbG93aW5mbzsKLSBfX3UzMiBmbGFnczsKLSBzdHJ1Y3QgaW42X2FkZHIgbGFkZHI7CisgIF9fdTggaG9wX2xpbWl0OworICBfX2JlMzIgZmxvd2luZm87CisgIF9fdTMyIGZsYWdzOworICBzdHJ1Y3QgaW42X2FkZHIgbGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpbjZfYWRkciByYWRkcjsKKyAgc3RydWN0IGluNl9hZGRyIHJhZGRyOwogfTsKIHN0cnVjdCBpcDZfdG5sX3Bhcm0yIHsKLSBjaGFyIG5hbWVbSUZOQU1TSVpdOworICBjaGFyIG5hbWVbSUZOQU1TSVpdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbGluazsKLSBfX3U4IHByb3RvOwotIF9fdTggZW5jYXBfbGltaXQ7Ci0gX191OCBob3BfbGltaXQ7CisgIGludCBsaW5rOworICBfX3U4IHByb3RvOworICBfX3U4IGVuY2FwX2xpbWl0OworICBfX3U4IGhvcF9saW1pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGZsb3dpbmZvOwotIF9fdTMyIGZsYWdzOwotIHN0cnVjdCBpbjZfYWRkciBsYWRkcjsKLSBzdHJ1Y3QgaW42X2FkZHIgcmFkZHI7CisgIF9fYmUzMiBmbG93aW5mbzsKKyAgX191MzIgZmxhZ3M7CisgIHN0cnVjdCBpbjZfYWRkciBsYWRkcjsKKyAgc3RydWN0IGluNl9hZGRyIHJhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgaV9mbGFnczsKLSBfX2JlMTYgb19mbGFnczsKLSBfX2JlMzIgaV9rZXk7Ci0gX19iZTMyIG9fa2V5OworICBfX2JlMTYgaV9mbGFnczsKKyAgX19iZTE2IG9fZmxhZ3M7CisgIF9fYmUzMiBpX2tleTsKKyAgX19iZTMyIG9fa2V5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBfdnMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBfdnMuaAppbmRleCAzYWEwZjg0Li4yMjc0YzRkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lwX3ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcF92cy5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgSVBfVlNfVkVSU0lPTl9DT0RFIDB4MDEwMjAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBOVkVSU0lPTih2ZXJzaW9uKSAgICh2ZXJzaW9uID4+IDE2KSAmIDB4RkYsICAgKHZlcnNpb24gPj4gOCkgJiAweEZGLCAgIHZlcnNpb24gJiAweEZGCisjZGVmaW5lIE5WRVJTSU9OKHZlcnNpb24pICh2ZXJzaW9uID4+IDE2KSAmIDB4RkYsICh2ZXJzaW9uID4+IDgpICYgMHhGRiwgdmVyc2lvbiAmIDB4RkYKICNkZWZpbmUgSVBfVlNfU1ZDX0ZfUEVSU0lTVEVOVCAweDAwMDEKICNkZWZpbmUgSVBfVlNfU1ZDX0ZfSEFTSEVEIDB4MDAwMgogI2RlZmluZSBJUF9WU19TVkNfRl9PTkVQQUNLRVQgMHgwMDA0CkBAIC0zOCwzOCArMzgsMzggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQX1ZTX1NUQVRFX01BU1RFUiAweDAwMDEKICNkZWZpbmUgSVBfVlNfU1RBVEVfQkFDS1VQIDB4MDAwMgotI2RlZmluZSBJUF9WU19CQVNFX0NUTCAoNjQrMTAyNCs2NCkKKyNkZWZpbmUgSVBfVlNfQkFTRV9DVEwgKDY0ICsgMTAyNCArIDY0KQogI2RlZmluZSBJUF9WU19TT19TRVRfTk9ORSBJUF9WU19CQVNFX0NUTAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVBfVlNfU09fU0VUX0lOU0VSVCAoSVBfVlNfQkFTRV9DVEwrMSkKLSNkZWZpbmUgSVBfVlNfU09fU0VUX0FERCAoSVBfVlNfQkFTRV9DVEwrMikKLSNkZWZpbmUgSVBfVlNfU09fU0VUX0VESVQgKElQX1ZTX0JBU0VfQ1RMKzMpCi0jZGVmaW5lIElQX1ZTX1NPX1NFVF9ERUwgKElQX1ZTX0JBU0VfQ1RMKzQpCisjZGVmaW5lIElQX1ZTX1NPX1NFVF9JTlNFUlQgKElQX1ZTX0JBU0VfQ1RMICsgMSkKKyNkZWZpbmUgSVBfVlNfU09fU0VUX0FERCAoSVBfVlNfQkFTRV9DVEwgKyAyKQorI2RlZmluZSBJUF9WU19TT19TRVRfRURJVCAoSVBfVlNfQkFTRV9DVEwgKyAzKQorI2RlZmluZSBJUF9WU19TT19TRVRfREVMIChJUF9WU19CQVNFX0NUTCArIDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJUF9WU19TT19TRVRfRkxVU0ggKElQX1ZTX0JBU0VfQ1RMKzUpCi0jZGVmaW5lIElQX1ZTX1NPX1NFVF9MSVNUIChJUF9WU19CQVNFX0NUTCs2KQotI2RlZmluZSBJUF9WU19TT19TRVRfQUREREVTVCAoSVBfVlNfQkFTRV9DVEwrNykKLSNkZWZpbmUgSVBfVlNfU09fU0VUX0RFTERFU1QgKElQX1ZTX0JBU0VfQ1RMKzgpCisjZGVmaW5lIElQX1ZTX1NPX1NFVF9GTFVTSCAoSVBfVlNfQkFTRV9DVEwgKyA1KQorI2RlZmluZSBJUF9WU19TT19TRVRfTElTVCAoSVBfVlNfQkFTRV9DVEwgKyA2KQorI2RlZmluZSBJUF9WU19TT19TRVRfQUREREVTVCAoSVBfVlNfQkFTRV9DVEwgKyA3KQorI2RlZmluZSBJUF9WU19TT19TRVRfREVMREVTVCAoSVBfVlNfQkFTRV9DVEwgKyA4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVBfVlNfU09fU0VUX0VESVRERVNUIChJUF9WU19CQVNFX0NUTCs5KQotI2RlZmluZSBJUF9WU19TT19TRVRfVElNRU9VVCAoSVBfVlNfQkFTRV9DVEwrMTApCi0jZGVmaW5lIElQX1ZTX1NPX1NFVF9TVEFSVERBRU1PTiAoSVBfVlNfQkFTRV9DVEwrMTEpCi0jZGVmaW5lIElQX1ZTX1NPX1NFVF9TVE9QREFFTU9OIChJUF9WU19CQVNFX0NUTCsxMikKKyNkZWZpbmUgSVBfVlNfU09fU0VUX0VESVRERVNUIChJUF9WU19CQVNFX0NUTCArIDkpCisjZGVmaW5lIElQX1ZTX1NPX1NFVF9USU1FT1VUIChJUF9WU19CQVNFX0NUTCArIDEwKQorI2RlZmluZSBJUF9WU19TT19TRVRfU1RBUlREQUVNT04gKElQX1ZTX0JBU0VfQ1RMICsgMTEpCisjZGVmaW5lIElQX1ZTX1NPX1NFVF9TVE9QREFFTU9OIChJUF9WU19CQVNFX0NUTCArIDEyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVBfVlNfU09fU0VUX1JFU1RPUkUgKElQX1ZTX0JBU0VfQ1RMKzEzKQotI2RlZmluZSBJUF9WU19TT19TRVRfU0FWRSAoSVBfVlNfQkFTRV9DVEwrMTQpCi0jZGVmaW5lIElQX1ZTX1NPX1NFVF9aRVJPIChJUF9WU19CQVNFX0NUTCsxNSkKKyNkZWZpbmUgSVBfVlNfU09fU0VUX1JFU1RPUkUgKElQX1ZTX0JBU0VfQ1RMICsgMTMpCisjZGVmaW5lIElQX1ZTX1NPX1NFVF9TQVZFIChJUF9WU19CQVNFX0NUTCArIDE0KQorI2RlZmluZSBJUF9WU19TT19TRVRfWkVSTyAoSVBfVlNfQkFTRV9DVEwgKyAxNSkKICNkZWZpbmUgSVBfVlNfU09fU0VUX01BWCBJUF9WU19TT19TRVRfWkVSTwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBfVlNfU09fR0VUX1ZFUlNJT04gSVBfVlNfQkFTRV9DVEwKLSNkZWZpbmUgSVBfVlNfU09fR0VUX0lORk8gKElQX1ZTX0JBU0VfQ1RMKzEpCi0jZGVmaW5lIElQX1ZTX1NPX0dFVF9TRVJWSUNFUyAoSVBfVlNfQkFTRV9DVEwrMikKLSNkZWZpbmUgSVBfVlNfU09fR0VUX1NFUlZJQ0UgKElQX1ZTX0JBU0VfQ1RMKzMpCisjZGVmaW5lIElQX1ZTX1NPX0dFVF9JTkZPIChJUF9WU19CQVNFX0NUTCArIDEpCisjZGVmaW5lIElQX1ZTX1NPX0dFVF9TRVJWSUNFUyAoSVBfVlNfQkFTRV9DVEwgKyAyKQorI2RlZmluZSBJUF9WU19TT19HRVRfU0VSVklDRSAoSVBfVlNfQkFTRV9DVEwgKyAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVBfVlNfU09fR0VUX0RFU1RTIChJUF9WU19CQVNFX0NUTCs0KQotI2RlZmluZSBJUF9WU19TT19HRVRfREVTVCAoSVBfVlNfQkFTRV9DVEwrNSkKLSNkZWZpbmUgSVBfVlNfU09fR0VUX1RJTUVPVVQgKElQX1ZTX0JBU0VfQ1RMKzYpCi0jZGVmaW5lIElQX1ZTX1NPX0dFVF9EQUVNT04gKElQX1ZTX0JBU0VfQ1RMKzcpCisjZGVmaW5lIElQX1ZTX1NPX0dFVF9ERVNUUyAoSVBfVlNfQkFTRV9DVEwgKyA0KQorI2RlZmluZSBJUF9WU19TT19HRVRfREVTVCAoSVBfVlNfQkFTRV9DVEwgKyA1KQorI2RlZmluZSBJUF9WU19TT19HRVRfVElNRU9VVCAoSVBfVlNfQkFTRV9DVEwgKyA2KQorI2RlZmluZSBJUF9WU19TT19HRVRfREFFTU9OIChJUF9WU19CQVNFX0NUTCArIDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUF9WU19TT19HRVRfTUFYIElQX1ZTX1NPX0dFVF9EQUVNT04KICNkZWZpbmUgSVBfVlNfQ09OTl9GX0ZXRF9NQVNLIDB4MDAwNwpAQCAtOTIsMjQwICs5MiwyNDIgQEAKICNkZWZpbmUgSVBfVlNfQ09OTl9GX1RFTVBMQVRFIDB4MTAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBfVlNfQ09OTl9GX09ORV9QQUNLRVQgMHgyMDAwCi0jZGVmaW5lIElQX1ZTX0NPTk5fRl9CQUNLVVBfTUFTSyAoSVBfVlNfQ09OTl9GX0ZXRF9NQVNLIHwgICBJUF9WU19DT05OX0ZfTk9PVVRQVVQgfCAgIElQX1ZTX0NPTk5fRl9JTkFDVElWRSB8ICAgSVBfVlNfQ09OTl9GX1NFUV9NQVNLIHwgICBJUF9WU19DT05OX0ZfTk9fQ1BPUlQgfCAgIElQX1ZTX0NPTk5fRl9URU1QTEFURSAgICkKLSNkZWZpbmUgSVBfVlNfQ09OTl9GX0JBQ0tVUF9VUERfTUFTSyAoSVBfVlNfQ09OTl9GX0lOQUNUSVZFIHwgICBJUF9WU19DT05OX0ZfU0VRX01BU0spCisjZGVmaW5lIElQX1ZTX0NPTk5fRl9CQUNLVVBfTUFTSyAoSVBfVlNfQ09OTl9GX0ZXRF9NQVNLIHwgSVBfVlNfQ09OTl9GX05PT1VUUFVUIHwgSVBfVlNfQ09OTl9GX0lOQUNUSVZFIHwgSVBfVlNfQ09OTl9GX1NFUV9NQVNLIHwgSVBfVlNfQ09OTl9GX05PX0NQT1JUIHwgSVBfVlNfQ09OTl9GX1RFTVBMQVRFKQorI2RlZmluZSBJUF9WU19DT05OX0ZfQkFDS1VQX1VQRF9NQVNLIChJUF9WU19DT05OX0ZfSU5BQ1RJVkUgfCBJUF9WU19DT05OX0ZfU0VRX01BU0spCiAjZGVmaW5lIElQX1ZTX0NPTk5fRl9ORkNUICgxIDw8IDE2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVBfVlNfQ09OTl9GX0RFU1RfTUFTSyAoSVBfVlNfQ09OTl9GX0ZXRF9NQVNLIHwgICBJUF9WU19DT05OX0ZfT05FX1BBQ0tFVCB8ICAgSVBfVlNfQ09OTl9GX05GQ1QgfCAgIDApCisjZGVmaW5lIElQX1ZTX0NPTk5fRl9ERVNUX01BU0sgKElQX1ZTX0NPTk5fRl9GV0RfTUFTSyB8IElQX1ZTX0NPTk5fRl9PTkVfUEFDS0VUIHwgSVBfVlNfQ09OTl9GX05GQ1QgfCAwKQogI2RlZmluZSBJUF9WU19TQ0hFRE5BTUVfTUFYTEVOIDE2CiAjZGVmaW5lIElQX1ZTX1BFTkFNRV9NQVhMRU4gMTYKICNkZWZpbmUgSVBfVlNfSUZOQU1FX01BWExFTiAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBfVlNfUEVEQVRBX01BWExFTiAyNTUKIHN0cnVjdCBpcF92c19zZXJ2aWNlX3VzZXIgewotIF9fdTE2IHByb3RvY29sOwotIF9fYmUzMiBhZGRyOworICBfX3UxNiBwcm90b2NvbDsKKyAgX19iZTMyIGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBwb3J0OwotIF9fdTMyIGZ3bWFyazsKLSBjaGFyIHNjaGVkX25hbWVbSVBfVlNfU0NIRUROQU1FX01BWExFTl07Ci0gdW5zaWduZWQgaW50IGZsYWdzOworICBfX2JlMTYgcG9ydDsKKyAgX191MzIgZndtYXJrOworICBjaGFyIHNjaGVkX25hbWVbSVBfVlNfU0NIRUROQU1FX01BWExFTl07CisgIHVuc2lnbmVkIGludCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHRpbWVvdXQ7Ci0gX19iZTMyIG5ldG1hc2s7CisgIHVuc2lnbmVkIGludCB0aW1lb3V0OworICBfX2JlMzIgbmV0bWFzazsKIH07CiBzdHJ1Y3QgaXBfdnNfZGVzdF91c2VyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGFkZHI7Ci0gX19iZTE2IHBvcnQ7Ci0gdW5zaWduZWQgaW50IGNvbm5fZmxhZ3M7Ci0gaW50IHdlaWdodDsKKyAgX19iZTMyIGFkZHI7CisgIF9fYmUxNiBwb3J0OworICB1bnNpZ25lZCBpbnQgY29ubl9mbGFnczsKKyAgaW50IHdlaWdodDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdV90aHJlc2hvbGQ7Ci0gX191MzIgbF90aHJlc2hvbGQ7CisgIF9fdTMyIHVfdGhyZXNob2xkOworICBfX3UzMiBsX3RocmVzaG9sZDsKIH07CiBzdHJ1Y3QgaXBfdnNfc3RhdHNfdXNlciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvbm5zOwotIF9fdTMyIGlucGt0czsKLSBfX3UzMiBvdXRwa3RzOwotIF9fdTY0IGluYnl0ZXM7CisgIF9fdTMyIGNvbm5zOworICBfX3UzMiBpbnBrdHM7CisgIF9fdTMyIG91dHBrdHM7CisgIF9fdTY0IGluYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG91dGJ5dGVzOwotIF9fdTMyIGNwczsKLSBfX3UzMiBpbnBwczsKLSBfX3UzMiBvdXRwcHM7CisgIF9fdTY0IG91dGJ5dGVzOworICBfX3UzMiBjcHM7CisgIF9fdTMyIGlucHBzOworICBfX3UzMiBvdXRwcHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGluYnBzOwotIF9fdTMyIG91dGJwczsKKyAgX191MzIgaW5icHM7CisgIF9fdTMyIG91dGJwczsKIH07CiBzdHJ1Y3QgaXBfdnNfZ2V0aW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB2ZXJzaW9uOwotIHVuc2lnbmVkIGludCBzaXplOwotIHVuc2lnbmVkIGludCBudW1fc2VydmljZXM7CisgIHVuc2lnbmVkIGludCB2ZXJzaW9uOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgdW5zaWduZWQgaW50IG51bV9zZXJ2aWNlczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwX3ZzX3NlcnZpY2VfZW50cnkgewotIF9fdTE2IHByb3RvY29sOwotIF9fYmUzMiBhZGRyOwotIF9fYmUxNiBwb3J0OworICBfX3UxNiBwcm90b2NvbDsKKyAgX19iZTMyIGFkZHI7CisgIF9fYmUxNiBwb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmd21hcms7Ci0gY2hhciBzY2hlZF9uYW1lW0lQX1ZTX1NDSEVETkFNRV9NQVhMRU5dOwotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bnNpZ25lZCBpbnQgdGltZW91dDsKKyAgX191MzIgZndtYXJrOworICBjaGFyIHNjaGVkX25hbWVbSVBfVlNfU0NIRUROQU1FX01BWExFTl07CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdW5zaWduZWQgaW50IHRpbWVvdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBuZXRtYXNrOwotIHVuc2lnbmVkIGludCBudW1fZGVzdHM7Ci0gc3RydWN0IGlwX3ZzX3N0YXRzX3VzZXIgc3RhdHM7CisgIF9fYmUzMiBuZXRtYXNrOworICB1bnNpZ25lZCBpbnQgbnVtX2Rlc3RzOworICBzdHJ1Y3QgaXBfdnNfc3RhdHNfdXNlciBzdGF0czsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwX3ZzX2Rlc3RfZW50cnkgewotIF9fYmUzMiBhZGRyOwotIF9fYmUxNiBwb3J0OwotIHVuc2lnbmVkIGludCBjb25uX2ZsYWdzOworICBfX2JlMzIgYWRkcjsKKyAgX19iZTE2IHBvcnQ7CisgIHVuc2lnbmVkIGludCBjb25uX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgd2VpZ2h0OwotIF9fdTMyIHVfdGhyZXNob2xkOwotIF9fdTMyIGxfdGhyZXNob2xkOwotIF9fdTMyIGFjdGl2ZWNvbm5zOworICBpbnQgd2VpZ2h0OworICBfX3UzMiB1X3RocmVzaG9sZDsKKyAgX191MzIgbF90aHJlc2hvbGQ7CisgIF9fdTMyIGFjdGl2ZWNvbm5zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbmFjdGNvbm5zOwotIF9fdTMyIHBlcnNpc3Rjb25uczsKLSBzdHJ1Y3QgaXBfdnNfc3RhdHNfdXNlciBzdGF0czsKKyAgX191MzIgaW5hY3Rjb25uczsKKyAgX191MzIgcGVyc2lzdGNvbm5zOworICBzdHJ1Y3QgaXBfdnNfc3RhdHNfdXNlciBzdGF0czsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwX3ZzX2dldF9kZXN0cyB7Ci0gX191MTYgcHJvdG9jb2w7Ci0gX19iZTMyIGFkZHI7Ci0gX19iZTE2IHBvcnQ7CisgIF9fdTE2IHByb3RvY29sOworICBfX2JlMzIgYWRkcjsKKyAgX19iZTE2IHBvcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZ3bWFyazsKLSB1bnNpZ25lZCBpbnQgbnVtX2Rlc3RzOwotIHN0cnVjdCBpcF92c19kZXN0X2VudHJ5IGVudHJ5dGFibGVbMF07CisgIF9fdTMyIGZ3bWFyazsKKyAgdW5zaWduZWQgaW50IG51bV9kZXN0czsKKyAgc3RydWN0IGlwX3ZzX2Rlc3RfZW50cnkgZW50cnl0YWJsZVswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwX3ZzX2dldF9zZXJ2aWNlcyB7Ci0gdW5zaWduZWQgaW50IG51bV9zZXJ2aWNlczsKLSBzdHJ1Y3QgaXBfdnNfc2VydmljZV9lbnRyeSBlbnRyeXRhYmxlWzBdOworICB1bnNpZ25lZCBpbnQgbnVtX3NlcnZpY2VzOworICBzdHJ1Y3QgaXBfdnNfc2VydmljZV9lbnRyeSBlbnRyeXRhYmxlWzBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXBfdnNfdGltZW91dF91c2VyIHsKLSBpbnQgdGNwX3RpbWVvdXQ7Ci0gaW50IHRjcF9maW5fdGltZW91dDsKLSBpbnQgdWRwX3RpbWVvdXQ7CisgIGludCB0Y3BfdGltZW91dDsKKyAgaW50IHRjcF9maW5fdGltZW91dDsKKyAgaW50IHVkcF90aW1lb3V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaXBfdnNfZGFlbW9uX3VzZXIgewotIGludCBzdGF0ZTsKLSBjaGFyIG1jYXN0X2lmbltJUF9WU19JRk5BTUVfTUFYTEVOXTsKKyAgaW50IHN0YXRlOworICBjaGFyIG1jYXN0X2lmbltJUF9WU19JRk5BTUVfTUFYTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHN5bmNpZDsKKyAgaW50IHN5bmNpZDsKIH07CiAjZGVmaW5lIElQVlNfR0VOTF9OQU1FICJJUFZTIgogI2RlZmluZSBJUFZTX0dFTkxfVkVSU0lPTiAweDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXBfdnNfZmxhZ3MgewotIF9fdTMyIGZsYWdzOwotIF9fdTMyIG1hc2s7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBtYXNrOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJUFZTX0NNRF9VTlNQRUMgPSAwLAotIElQVlNfQ01EX05FV19TRVJWSUNFLAotIElQVlNfQ01EX1NFVF9TRVJWSUNFLAorICBJUFZTX0NNRF9VTlNQRUMgPSAwLAorICBJUFZTX0NNRF9ORVdfU0VSVklDRSwKKyAgSVBWU19DTURfU0VUX1NFUlZJQ0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVlNfQ01EX0RFTF9TRVJWSUNFLAotIElQVlNfQ01EX0dFVF9TRVJWSUNFLAotIElQVlNfQ01EX05FV19ERVNULAotIElQVlNfQ01EX1NFVF9ERVNULAorICBJUFZTX0NNRF9ERUxfU0VSVklDRSwKKyAgSVBWU19DTURfR0VUX1NFUlZJQ0UsCisgIElQVlNfQ01EX05FV19ERVNULAorICBJUFZTX0NNRF9TRVRfREVTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19DTURfREVMX0RFU1QsCi0gSVBWU19DTURfR0VUX0RFU1QsCi0gSVBWU19DTURfTkVXX0RBRU1PTiwKLSBJUFZTX0NNRF9ERUxfREFFTU9OLAorICBJUFZTX0NNRF9ERUxfREVTVCwKKyAgSVBWU19DTURfR0VUX0RFU1QsCisgIElQVlNfQ01EX05FV19EQUVNT04sCisgIElQVlNfQ01EX0RFTF9EQUVNT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVlNfQ01EX0dFVF9EQUVNT04sCi0gSVBWU19DTURfU0VUX0NPTkZJRywKLSBJUFZTX0NNRF9HRVRfQ09ORklHLAotIElQVlNfQ01EX1NFVF9JTkZPLAorICBJUFZTX0NNRF9HRVRfREFFTU9OLAorICBJUFZTX0NNRF9TRVRfQ09ORklHLAorICBJUFZTX0NNRF9HRVRfQ09ORklHLAorICBJUFZTX0NNRF9TRVRfSU5GTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19DTURfR0VUX0lORk8sCi0gSVBWU19DTURfWkVSTywKLSBJUFZTX0NNRF9GTFVTSCwKLSBfX0lQVlNfQ01EX01BWCwKKyAgSVBWU19DTURfR0VUX0lORk8sCisgIElQVlNfQ01EX1pFUk8sCisgIElQVlNfQ01EX0ZMVVNILAorICBfX0lQVlNfQ01EX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJUFZTX0NNRF9NQVggKF9fSVBWU19DTURfTUFYIC0gMSkKIGVudW0gewotIElQVlNfQ01EX0FUVFJfVU5TUEVDID0gMCwKKyAgSVBWU19DTURfQVRUUl9VTlNQRUMgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFZTX0NNRF9BVFRSX1NFUlZJQ0UsCi0gSVBWU19DTURfQVRUUl9ERVNULAotIElQVlNfQ01EX0FUVFJfREFFTU9OLAotIElQVlNfQ01EX0FUVFJfVElNRU9VVF9UQ1AsCisgIElQVlNfQ01EX0FUVFJfU0VSVklDRSwKKyAgSVBWU19DTURfQVRUUl9ERVNULAorICBJUFZTX0NNRF9BVFRSX0RBRU1PTiwKKyAgSVBWU19DTURfQVRUUl9USU1FT1VUX1RDUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19DTURfQVRUUl9USU1FT1VUX1RDUF9GSU4sCi0gSVBWU19DTURfQVRUUl9USU1FT1VUX1VEUCwKLSBfX0lQVlNfQ01EX0FUVFJfTUFYLAorICBJUFZTX0NNRF9BVFRSX1RJTUVPVVRfVENQX0ZJTiwKKyAgSVBWU19DTURfQVRUUl9USU1FT1VUX1VEUCwKKyAgX19JUFZTX0NNRF9BVFRSX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFZTX0NNRF9BVFRSX01BWCAoX19JUFZTX0NNRF9BVFRSX01BWCAtIDEpCiBlbnVtIHsKLSBJUFZTX1NWQ19BVFRSX1VOU1BFQyA9IDAsCi0gSVBWU19TVkNfQVRUUl9BRiwKKyAgSVBWU19TVkNfQVRUUl9VTlNQRUMgPSAwLAorICBJUFZTX1NWQ19BVFRSX0FGLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFZTX1NWQ19BVFRSX1BST1RPQ09MLAotIElQVlNfU1ZDX0FUVFJfQUREUiwKLSBJUFZTX1NWQ19BVFRSX1BPUlQsCi0gSVBWU19TVkNfQVRUUl9GV01BUkssCisgIElQVlNfU1ZDX0FUVFJfUFJPVE9DT0wsCisgIElQVlNfU1ZDX0FUVFJfQUREUiwKKyAgSVBWU19TVkNfQVRUUl9QT1JULAorICBJUFZTX1NWQ19BVFRSX0ZXTUFSSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19TVkNfQVRUUl9TQ0hFRF9OQU1FLAotIElQVlNfU1ZDX0FUVFJfRkxBR1MsCi0gSVBWU19TVkNfQVRUUl9USU1FT1VULAotIElQVlNfU1ZDX0FUVFJfTkVUTUFTSywKKyAgSVBWU19TVkNfQVRUUl9TQ0hFRF9OQU1FLAorICBJUFZTX1NWQ19BVFRSX0ZMQUdTLAorICBJUFZTX1NWQ19BVFRSX1RJTUVPVVQsCisgIElQVlNfU1ZDX0FUVFJfTkVUTUFTSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19TVkNfQVRUUl9TVEFUUywKLSBJUFZTX1NWQ19BVFRSX1BFX05BTUUsCi0gX19JUFZTX1NWQ19BVFRSX01BWCwKKyAgSVBWU19TVkNfQVRUUl9TVEFUUywKKyAgSVBWU19TVkNfQVRUUl9QRV9OQU1FLAorICBfX0lQVlNfU1ZDX0FUVFJfTUFYLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQVlNfU1ZDX0FUVFJfTUFYIChfX0lQVlNfU1ZDX0FUVFJfTUFYIC0gMSkKIGVudW0gewotIElQVlNfREVTVF9BVFRSX1VOU1BFQyA9IDAsCi0gSVBWU19ERVNUX0FUVFJfQUREUiwKKyAgSVBWU19ERVNUX0FUVFJfVU5TUEVDID0gMCwKKyAgSVBWU19ERVNUX0FUVFJfQUREUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19ERVNUX0FUVFJfUE9SVCwKLSBJUFZTX0RFU1RfQVRUUl9GV0RfTUVUSE9ELAotIElQVlNfREVTVF9BVFRSX1dFSUdIVCwKLSBJUFZTX0RFU1RfQVRUUl9VX1RIUkVTSCwKKyAgSVBWU19ERVNUX0FUVFJfUE9SVCwKKyAgSVBWU19ERVNUX0FUVFJfRldEX01FVEhPRCwKKyAgSVBWU19ERVNUX0FUVFJfV0VJR0hULAorICBJUFZTX0RFU1RfQVRUUl9VX1RIUkVTSCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19ERVNUX0FUVFJfTF9USFJFU0gsCi0gSVBWU19ERVNUX0FUVFJfQUNUSVZFX0NPTk5TLAotIElQVlNfREVTVF9BVFRSX0lOQUNUX0NPTk5TLAotIElQVlNfREVTVF9BVFRSX1BFUlNJU1RfQ09OTlMsCisgIElQVlNfREVTVF9BVFRSX0xfVEhSRVNILAorICBJUFZTX0RFU1RfQVRUUl9BQ1RJVkVfQ09OTlMsCisgIElQVlNfREVTVF9BVFRSX0lOQUNUX0NPTk5TLAorICBJUFZTX0RFU1RfQVRUUl9QRVJTSVNUX0NPTk5TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFZTX0RFU1RfQVRUUl9TVEFUUywKLSBfX0lQVlNfREVTVF9BVFRSX01BWCwKKyAgSVBWU19ERVNUX0FUVFJfU1RBVFMsCisgIElQVlNfREVTVF9BVFRSX0FERFJfRkFNSUxZLAorICBfX0lQVlNfREVTVF9BVFRSX01BWCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFZTX0RFU1RfQVRUUl9NQVggKF9fSVBWU19ERVNUX0FUVFJfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJUFZTX0RBRU1PTl9BVFRSX1VOU1BFQyA9IDAsCi0gSVBWU19EQUVNT05fQVRUUl9TVEFURSwKLSBJUFZTX0RBRU1PTl9BVFRSX01DQVNUX0lGTiwKKyAgSVBWU19EQUVNT05fQVRUUl9VTlNQRUMgPSAwLAorICBJUFZTX0RBRU1PTl9BVFRSX1NUQVRFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFZTX0RBRU1PTl9BVFRSX1NZTkNfSUQsCi0gX19JUFZTX0RBRU1PTl9BVFRSX01BWCwKKyAgSVBWU19EQUVNT05fQVRUUl9NQ0FTVF9JRk4sCisgIElQVlNfREFFTU9OX0FUVFJfU1lOQ19JRCwKKyAgX19JUFZTX0RBRU1PTl9BVFRSX01BWCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFZTX0RBRU1PTl9BVFRSX01BWCAoX19JUFZTX0RBRU1PTl9BVFRSX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gSVBWU19TVEFUU19BVFRSX1VOU1BFQyA9IDAsCi0gSVBWU19TVEFUU19BVFRSX0NPTk5TLAotIElQVlNfU1RBVFNfQVRUUl9JTlBLVFMsCisgIElQVlNfU1RBVFNfQVRUUl9VTlNQRUMgPSAwLAorICBJUFZTX1NUQVRTX0FUVFJfQ09OTlMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVlNfU1RBVFNfQVRUUl9PVVRQS1RTLAotIElQVlNfU1RBVFNfQVRUUl9JTkJZVEVTLAotIElQVlNfU1RBVFNfQVRUUl9PVVRCWVRFUywKLSBJUFZTX1NUQVRTX0FUVFJfQ1BTLAorICBJUFZTX1NUQVRTX0FUVFJfSU5QS1RTLAorICBJUFZTX1NUQVRTX0FUVFJfT1VUUEtUUywKKyAgSVBWU19TVEFUU19BVFRSX0lOQllURVMsCisgIElQVlNfU1RBVFNfQVRUUl9PVVRCWVRFUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBWU19TVEFUU19BVFRSX0lOUFBTLAotIElQVlNfU1RBVFNfQVRUUl9PVVRQUFMsCi0gSVBWU19TVEFUU19BVFRSX0lOQlBTLAotIElQVlNfU1RBVFNfQVRUUl9PVVRCUFMsCisgIElQVlNfU1RBVFNfQVRUUl9DUFMsCisgIElQVlNfU1RBVFNfQVRUUl9JTlBQUywKKyAgSVBWU19TVEFUU19BVFRSX09VVFBQUywKKyAgSVBWU19TVEFUU19BVFRSX0lOQlBTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lQVlNfU1RBVFNfQVRUUl9NQVgsCisgIElQVlNfU1RBVFNfQVRUUl9PVVRCUFMsCisgIF9fSVBWU19TVEFUU19BVFRSX01BWCwKIH07CiAjZGVmaW5lIElQVlNfU1RBVFNfQVRUUl9NQVggKF9fSVBWU19TVEFUU19BVFRSX01BWCAtIDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7CisgIElQVlNfSU5GT19BVFRSX1VOU1BFQyA9IDAsCisgIElQVlNfSU5GT19BVFRSX1ZFUlNJT04sCisgIElQVlNfSU5GT19BVFRSX0NPTk5fVEFCX1NJWkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVlNfSU5GT19BVFRSX1VOU1BFQyA9IDAsCi0gSVBWU19JTkZPX0FUVFJfVkVSU0lPTiwKLSBJUFZTX0lORk9fQVRUUl9DT05OX1RBQl9TSVpFLAotIF9fSVBWU19JTkZPX0FUVFJfTUFYLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19JUFZTX0lORk9fQVRUUl9NQVgsCiB9OwogI2RlZmluZSBJUFZTX0lORk9fQVRUUl9NQVggKF9fSVBWU19JTkZPX0FUVFJfTUFYIC0gMSkKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lwYy5oCmluZGV4IDMzN2VhNzcuLjY3MzQ1Y2UgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcGMuaApAQCAtMjEsNTQgKzIxLDUzIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgSVBDX1BSSVZBVEUgKChfX2tlcm5lbF9rZXlfdCkgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgaXBjX3Blcm0KLXsKLSBfX2tlcm5lbF9rZXlfdCBrZXk7Ci0gX19rZXJuZWxfdWlkX3QgdWlkOworc3RydWN0IGlwY19wZXJtIHsKKyAgX19rZXJuZWxfa2V5X3Qga2V5OworICBfX2tlcm5lbF91aWRfdCB1aWQ7CisgIF9fa2VybmVsX2dpZF90IGdpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfZ2lkX3QgZ2lkOwotIF9fa2VybmVsX3VpZF90IGN1aWQ7Ci0gX19rZXJuZWxfZ2lkX3QgY2dpZDsKLSBfX2tlcm5lbF9tb2RlX3QgbW9kZTsKKyAgX19rZXJuZWxfdWlkX3QgY3VpZDsKKyAgX19rZXJuZWxfZ2lkX3QgY2dpZDsKKyAgX19rZXJuZWxfbW9kZV90IG1vZGU7CisgIHVuc2lnbmVkIHNob3J0IHNlcTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgc2VxOwogfTsKICNpbmNsdWRlIDxhc20vaXBjYnVmLmg+CiAjZGVmaW5lIElQQ19DUkVBVCAwMDAwMTAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBDX0VYQ0wgMDAwMDIwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQQ19OT1dBSVQgMDAwMDQwMDAKICNkZWZpbmUgSVBDX0RJUEMgMDAwMTAwMDAKICNkZWZpbmUgSVBDX09XTiAwMDAyMDAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBDX1JNSUQgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBDX1NFVCAxCiAjZGVmaW5lIElQQ19TVEFUIDIKICNkZWZpbmUgSVBDX0lORk8gMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBDX09MRCAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUENfNjQgMHgwMTAwCiBzdHJ1Y3QgaXBjX2tsdWRnZSB7Ci0gc3RydWN0IG1zZ2J1ZiBfX3VzZXIgKm1zZ3A7CisgIHN0cnVjdCBtc2didWYgX191c2VyICogbXNncDsKKyAgbG9uZyBtc2d0eXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgbXNndHlwOwogfTsKICNkZWZpbmUgU0VNT1AgMQogI2RlZmluZSBTRU1HRVQgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VNQ1RMIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFTVRJTUVET1AgNAogI2RlZmluZSBNU0dTTkQgMTEKICNkZWZpbmUgTVNHUkNWIDEyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU0dHRVQgMTMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1TR0NUTCAxNAogI2RlZmluZSBTSE1BVCAyMQogI2RlZmluZSBTSE1EVCAyMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0hNR0VUIDIzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTSE1DVEwgMjQKICNkZWZpbmUgRElQQyAyNQotI2RlZmluZSBJUENDQUxMKHZlcnNpb24sb3ApICgodmVyc2lvbik8PDE2IHwgKG9wKSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIElQQ0NBTEwodmVyc2lvbixvcCkgKCh2ZXJzaW9uKSA8PCAxNiB8IChvcCkpCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lwbWkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBtaS5oCmluZGV4IDVlZGMxMTguLmRkMWIwYWQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBtaS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBtaS5oCkBAIC0yMyw1OCArMjMsNTggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQTUlfTUFYX0FERFJfU0laRSAzMgogc3RydWN0IGlwbWlfYWRkciB7Ci0gaW50IGFkZHJfdHlwZTsKLSBzaG9ydCBjaGFubmVsOworICBpbnQgYWRkcl90eXBlOworICBzaG9ydCBjaGFubmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRhdGFbSVBNSV9NQVhfQUREUl9TSVpFXTsKKyAgY2hhciBkYXRhW0lQTUlfTUFYX0FERFJfU0laRV07CiB9OwogI2RlZmluZSBJUE1JX1NZU1RFTV9JTlRFUkZBQ0VfQUREUl9UWVBFIDB4MGMKIHN0cnVjdCBpcG1pX3N5c3RlbV9pbnRlcmZhY2VfYWRkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBhZGRyX3R5cGU7Ci0gc2hvcnQgY2hhbm5lbDsKLSB1bnNpZ25lZCBjaGFyIGx1bjsKKyAgaW50IGFkZHJfdHlwZTsKKyAgc2hvcnQgY2hhbm5lbDsKKyAgdW5zaWduZWQgY2hhciBsdW47CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBNSV9JUE1CX0FERFJfVFlQRSAweDAxCiAjZGVmaW5lIElQTUlfSVBNQl9CUk9BRENBU1RfQUREUl9UWVBFIDB4NDEKIHN0cnVjdCBpcG1pX2lwbWJfYWRkciB7Ci0gaW50IGFkZHJfdHlwZTsKKyAgaW50IGFkZHJfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgY2hhbm5lbDsKLSB1bnNpZ25lZCBjaGFyIHNsYXZlX2FkZHI7Ci0gdW5zaWduZWQgY2hhciBsdW47CisgIHNob3J0IGNoYW5uZWw7CisgIHVuc2lnbmVkIGNoYXIgc2xhdmVfYWRkcjsKKyAgdW5zaWduZWQgY2hhciBsdW47CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBNSV9MQU5fQUREUl9UWVBFIDB4MDQKIHN0cnVjdCBpcG1pX2xhbl9hZGRyIHsKLSBpbnQgYWRkcl90eXBlOwotIHNob3J0IGNoYW5uZWw7CisgIGludCBhZGRyX3R5cGU7CisgIHNob3J0IGNoYW5uZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcHJpdmlsZWdlOwotIHVuc2lnbmVkIGNoYXIgc2Vzc2lvbl9oYW5kbGU7Ci0gdW5zaWduZWQgY2hhciByZW1vdGVfU1dJRDsKLSB1bnNpZ25lZCBjaGFyIGxvY2FsX1NXSUQ7CisgIHVuc2lnbmVkIGNoYXIgcHJpdmlsZWdlOworICB1bnNpZ25lZCBjaGFyIHNlc3Npb25faGFuZGxlOworICB1bnNpZ25lZCBjaGFyIHJlbW90ZV9TV0lEOworICB1bnNpZ25lZCBjaGFyIGxvY2FsX1NXSUQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgbHVuOworICB1bnNpZ25lZCBjaGFyIGx1bjsKIH07CiAjZGVmaW5lIElQTUlfQk1DX0NIQU5ORUwgMHhmCiAjZGVmaW5lIElQTUlfTlVNX0NIQU5ORUxTIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQTUlfQ0hBTl9BTEwgKH4wKQogc3RydWN0IGlwbWlfbXNnIHsKLSB1bnNpZ25lZCBjaGFyIG5ldGZuOwotIHVuc2lnbmVkIGNoYXIgY21kOworICB1bnNpZ25lZCBjaGFyIG5ldGZuOworICB1bnNpZ25lZCBjaGFyIGNtZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgZGF0YV9sZW47Ci0gdW5zaWduZWQgY2hhciBfX3VzZXIgKmRhdGE7CisgIHVuc2lnbmVkIHNob3J0IGRhdGFfbGVuOworICB1bnNpZ25lZCBjaGFyIF9fdXNlciAqIGRhdGE7CiB9Owogc3RydWN0IGtlcm5lbF9pcG1pX21zZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgbmV0Zm47Ci0gdW5zaWduZWQgY2hhciBjbWQ7Ci0gdW5zaWduZWQgc2hvcnQgZGF0YV9sZW47Ci0gdW5zaWduZWQgY2hhciAqZGF0YTsKKyAgdW5zaWduZWQgY2hhciBuZXRmbjsKKyAgdW5zaWduZWQgY2hhciBjbWQ7CisgIHVuc2lnbmVkIHNob3J0IGRhdGFfbGVuOworICB1bnNpZ25lZCBjaGFyICogZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJUE1JX0lOVkFMSURfQ01EX0NPTVBMRVRJT05fQ09ERSAweEMxCkBAIC05Myw3MiArOTMsNzIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQTUlfSU9DX01BR0lDICdpJwogc3RydWN0IGlwbWlfcmVxIHsKLSB1bnNpZ25lZCBjaGFyIF9fdXNlciAqYWRkcjsKLSB1bnNpZ25lZCBpbnQgYWRkcl9sZW47CisgIHVuc2lnbmVkIGNoYXIgX191c2VyICogYWRkcjsKKyAgdW5zaWduZWQgaW50IGFkZHJfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIG1zZ2lkOwotIHN0cnVjdCBpcG1pX21zZyBtc2c7CisgIGxvbmcgbXNnaWQ7CisgIHN0cnVjdCBpcG1pX21zZyBtc2c7CiB9OwotI2RlZmluZSBJUE1JQ1RMX1NFTkRfQ09NTUFORCBfSU9SKElQTUlfSU9DX01BR0lDLCAxMywgICBzdHJ1Y3QgaXBtaV9yZXEpCisjZGVmaW5lIElQTUlDVExfU0VORF9DT01NQU5EIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDEzLCBzdHJ1Y3QgaXBtaV9yZXEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwbWlfcmVxX3NldHRpbWUgewotIHN0cnVjdCBpcG1pX3JlcSByZXE7Ci0gaW50IHJldHJpZXM7Ci0gdW5zaWduZWQgaW50IHJldHJ5X3RpbWVfbXM7CisgIHN0cnVjdCBpcG1pX3JlcSByZXE7CisgIGludCByZXRyaWVzOworICB1bnNpZ25lZCBpbnQgcmV0cnlfdGltZV9tczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBJUE1JQ1RMX1NFTkRfQ09NTUFORF9TRVRUSU1FIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDIxLCAgIHN0cnVjdCBpcG1pX3JlcV9zZXR0aW1lKQorI2RlZmluZSBJUE1JQ1RMX1NFTkRfQ09NTUFORF9TRVRUSU1FIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDIxLCBzdHJ1Y3QgaXBtaV9yZXFfc2V0dGltZSkKIHN0cnVjdCBpcG1pX3JlY3YgewotIGludCByZWN2X3R5cGU7CisgIGludCByZWN2X3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgX191c2VyICphZGRyOwotIHVuc2lnbmVkIGludCBhZGRyX2xlbjsKLSBsb25nIG1zZ2lkOwotIHN0cnVjdCBpcG1pX21zZyBtc2c7CisgIHVuc2lnbmVkIGNoYXIgX191c2VyICogYWRkcjsKKyAgdW5zaWduZWQgaW50IGFkZHJfbGVuOworICBsb25nIG1zZ2lkOworICBzdHJ1Y3QgaXBtaV9tc2cgbXNnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIElQTUlDVExfUkVDRUlWRV9NU0cgX0lPV1IoSVBNSV9JT0NfTUFHSUMsIDEyLCAgIHN0cnVjdCBpcG1pX3JlY3YpCi0jZGVmaW5lIElQTUlDVExfUkVDRUlWRV9NU0dfVFJVTkMgX0lPV1IoSVBNSV9JT0NfTUFHSUMsIDExLCAgIHN0cnVjdCBpcG1pX3JlY3YpCisjZGVmaW5lIElQTUlDVExfUkVDRUlWRV9NU0cgX0lPV1IoSVBNSV9JT0NfTUFHSUMsIDEyLCBzdHJ1Y3QgaXBtaV9yZWN2KQorI2RlZmluZSBJUE1JQ1RMX1JFQ0VJVkVfTVNHX1RSVU5DIF9JT1dSKElQTUlfSU9DX01BR0lDLCAxMSwgc3RydWN0IGlwbWlfcmVjdikKIHN0cnVjdCBpcG1pX2NtZHNwZWMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIG5ldGZuOwotIHVuc2lnbmVkIGNoYXIgY21kOworICB1bnNpZ25lZCBjaGFyIG5ldGZuOworICB1bnNpZ25lZCBjaGFyIGNtZDsKIH07Ci0jZGVmaW5lIElQTUlDVExfUkVHSVNURVJfRk9SX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAxNCwgICBzdHJ1Y3QgaXBtaV9jbWRzcGVjKQorI2RlZmluZSBJUE1JQ1RMX1JFR0lTVEVSX0ZPUl9DTUQgX0lPUihJUE1JX0lPQ19NQUdJQywgMTQsIHN0cnVjdCBpcG1pX2NtZHNwZWMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJUE1JQ1RMX1VOUkVHSVNURVJfRk9SX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAxNSwgICBzdHJ1Y3QgaXBtaV9jbWRzcGVjKQorI2RlZmluZSBJUE1JQ1RMX1VOUkVHSVNURVJfRk9SX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAxNSwgc3RydWN0IGlwbWlfY21kc3BlYykKIHN0cnVjdCBpcG1pX2NtZHNwZWNfY2hhbnMgewotIHVuc2lnbmVkIGludCBuZXRmbjsKLSB1bnNpZ25lZCBpbnQgY21kOworICB1bnNpZ25lZCBpbnQgbmV0Zm47CisgIHVuc2lnbmVkIGludCBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjaGFuczsKKyAgdW5zaWduZWQgaW50IGNoYW5zOwogfTsKLSNkZWZpbmUgSVBNSUNUTF9SRUdJU1RFUl9GT1JfQ01EX0NIQU5TIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDI4LCAgIHN0cnVjdCBpcG1pX2NtZHNwZWNfY2hhbnMpCi0jZGVmaW5lIElQTUlDVExfVU5SRUdJU1RFUl9GT1JfQ01EX0NIQU5TIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDI5LCAgIHN0cnVjdCBpcG1pX2NtZHNwZWNfY2hhbnMpCisjZGVmaW5lIElQTUlDVExfUkVHSVNURVJfRk9SX0NNRF9DSEFOUyBfSU9SKElQTUlfSU9DX01BR0lDLCAyOCwgc3RydWN0IGlwbWlfY21kc3BlY19jaGFucykKKyNkZWZpbmUgSVBNSUNUTF9VTlJFR0lTVEVSX0ZPUl9DTURfQ0hBTlMgX0lPUihJUE1JX0lPQ19NQUdJQywgMjksIHN0cnVjdCBpcG1pX2NtZHNwZWNfY2hhbnMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUE1JQ1RMX1NFVF9HRVRTX0VWRU5UU19DTUQgX0lPUihJUE1JX0lPQ19NQUdJQywgMTYsIGludCkKIHN0cnVjdCBpcG1pX2NoYW5uZWxfbHVuX2FkZHJlc3Nfc2V0IHsKLSB1bnNpZ25lZCBzaG9ydCBjaGFubmVsOwotIHVuc2lnbmVkIGNoYXIgdmFsdWU7CisgIHVuc2lnbmVkIHNob3J0IGNoYW5uZWw7CisgIHVuc2lnbmVkIGNoYXIgdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgSVBNSUNUTF9TRVRfTVlfQ0hBTk5FTF9BRERSRVNTX0NNRCAgIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDI0LCBzdHJ1Y3QgaXBtaV9jaGFubmVsX2x1bl9hZGRyZXNzX3NldCkKLSNkZWZpbmUgSVBNSUNUTF9HRVRfTVlfQ0hBTk5FTF9BRERSRVNTX0NNRCAgIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDI1LCBzdHJ1Y3QgaXBtaV9jaGFubmVsX2x1bl9hZGRyZXNzX3NldCkKLSNkZWZpbmUgSVBNSUNUTF9TRVRfTVlfQ0hBTk5FTF9MVU5fQ01EICAgX0lPUihJUE1JX0lPQ19NQUdJQywgMjYsIHN0cnVjdCBpcG1pX2NoYW5uZWxfbHVuX2FkZHJlc3Nfc2V0KQorI2RlZmluZSBJUE1JQ1RMX1NFVF9NWV9DSEFOTkVMX0FERFJFU1NfQ01EIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDI0LCBzdHJ1Y3QgaXBtaV9jaGFubmVsX2x1bl9hZGRyZXNzX3NldCkKKyNkZWZpbmUgSVBNSUNUTF9HRVRfTVlfQ0hBTk5FTF9BRERSRVNTX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAyNSwgc3RydWN0IGlwbWlfY2hhbm5lbF9sdW5fYWRkcmVzc19zZXQpCisjZGVmaW5lIElQTUlDVExfU0VUX01ZX0NIQU5ORUxfTFVOX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAyNiwgc3RydWN0IGlwbWlfY2hhbm5lbF9sdW5fYWRkcmVzc19zZXQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJUE1JQ1RMX0dFVF9NWV9DSEFOTkVMX0xVTl9DTUQgICBfSU9SKElQTUlfSU9DX01BR0lDLCAyNywgc3RydWN0IGlwbWlfY2hhbm5lbF9sdW5fYWRkcmVzc19zZXQpCisjZGVmaW5lIElQTUlDVExfR0VUX01ZX0NIQU5ORUxfTFVOX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAyNywgc3RydWN0IGlwbWlfY2hhbm5lbF9sdW5fYWRkcmVzc19zZXQpCiAjZGVmaW5lIElQTUlDVExfU0VUX01ZX0FERFJFU1NfQ01EIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDE3LCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIElQTUlDVExfR0VUX01ZX0FERFJFU1NfQ01EIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDE4LCB1bnNpZ25lZCBpbnQpCiAjZGVmaW5lIElQTUlDVExfU0VUX01ZX0xVTl9DTUQgX0lPUihJUE1JX0lPQ19NQUdJQywgMTksIHVuc2lnbmVkIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQTUlDVExfR0VUX01ZX0xVTl9DTUQgX0lPUihJUE1JX0lPQ19NQUdJQywgMjAsIHVuc2lnbmVkIGludCkKIHN0cnVjdCBpcG1pX3RpbWluZ19wYXJtcyB7Ci0gaW50IHJldHJpZXM7Ci0gdW5zaWduZWQgaW50IHJldHJ5X3RpbWVfbXM7CisgIGludCByZXRyaWVzOworICB1bnNpZ25lZCBpbnQgcmV0cnlfdGltZV9tczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBJUE1JQ1RMX1NFVF9USU1JTkdfUEFSTVNfQ01EIF9JT1IoSVBNSV9JT0NfTUFHSUMsIDIyLCAgIHN0cnVjdCBpcG1pX3RpbWluZ19wYXJtcykKLSNkZWZpbmUgSVBNSUNUTF9HRVRfVElNSU5HX1BBUk1TX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAyMywgICBzdHJ1Y3QgaXBtaV90aW1pbmdfcGFybXMpCisjZGVmaW5lIElQTUlDVExfU0VUX1RJTUlOR19QQVJNU19DTUQgX0lPUihJUE1JX0lPQ19NQUdJQywgMjIsIHN0cnVjdCBpcG1pX3RpbWluZ19wYXJtcykKKyNkZWZpbmUgSVBNSUNUTF9HRVRfVElNSU5HX1BBUk1TX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAyMywgc3RydWN0IGlwbWlfdGltaW5nX3Bhcm1zKQogI2RlZmluZSBJUE1JQ1RMX0dFVF9NQUlOVEVOQU5DRV9NT0RFX0NNRCBfSU9SKElQTUlfSU9DX01BR0lDLCAzMCwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBNSUNUTF9TRVRfTUFJTlRFTkFOQ0VfTU9ERV9DTUQgX0lPVyhJUE1JX0lPQ19NQUdJQywgMzEsIGludCkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBzZWMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXBzZWMuaAppbmRleCBlOTc1OGViLi5kMjA3Y2YwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lwc2VjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHNlYy5oCkBAIC0yNCwzNyArMjQsMzcgQEAKICNkZWZpbmUgSVBTRUNfVUxQUk9UT19BTlkgMjU1CiAjZGVmaW5lIElQU0VDX1BST1RPX0FOWSAyNTUKIGVudW0gewotIElQU0VDX01PREVfQU5ZID0gMCwKKyAgSVBTRUNfTU9ERV9BTlkgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFQ19NT0RFX1RSQU5TUE9SVCA9IDEsCi0gSVBTRUNfTU9ERV9UVU5ORUwgPSAyLAotIElQU0VDX01PREVfQkVFVCA9IDMKKyAgSVBTRUNfTU9ERV9UUkFOU1BPUlQgPSAxLAorICBJUFNFQ19NT0RFX1RVTk5FTCA9IDIsCisgIElQU0VDX01PREVfQkVFVCA9IDMKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gSVBTRUNfRElSX0FOWSA9IDAsCi0gSVBTRUNfRElSX0lOQk9VTkQgPSAxLAotIElQU0VDX0RJUl9PVVRCT1VORCA9IDIsCisgIElQU0VDX0RJUl9BTlkgPSAwLAorICBJUFNFQ19ESVJfSU5CT1VORCA9IDEsCisgIElQU0VDX0RJUl9PVVRCT1VORCA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VDX0RJUl9GV0QgPSAzLAotIElQU0VDX0RJUl9NQVggPSA0LAotIElQU0VDX0RJUl9JTlZBTElEID0gNQorICBJUFNFQ19ESVJfRldEID0gMywKKyAgSVBTRUNfRElSX01BWCA9IDQsCisgIElQU0VDX0RJUl9JTlZBTElEID0gNQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJUFNFQ19QT0xJQ1lfRElTQ0FSRCA9IDAsCi0gSVBTRUNfUE9MSUNZX05PTkUgPSAxLAotIElQU0VDX1BPTElDWV9JUFNFQyA9IDIsCisgIElQU0VDX1BPTElDWV9ESVNDQVJEID0gMCwKKyAgSVBTRUNfUE9MSUNZX05PTkUgPSAxLAorICBJUFNFQ19QT0xJQ1lfSVBTRUMgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFQ19QT0xJQ1lfRU5UUlVTVCA9IDMsCi0gSVBTRUNfUE9MSUNZX0JZUEFTUyA9IDQKKyAgSVBTRUNfUE9MSUNZX0VOVFJVU1QgPSAzLAorICBJUFNFQ19QT0xJQ1lfQllQQVNTID0gNAogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFQ19MRVZFTF9ERUZBVUxUID0gMCwKLSBJUFNFQ19MRVZFTF9VU0UgPSAxLAotIElQU0VDX0xFVkVMX1JFUVVJUkUgPSAyLAotIElQU0VDX0xFVkVMX1VOSVFVRSA9IDMKKyAgSVBTRUNfTEVWRUxfREVGQVVMVCA9IDAsCisgIElQU0VDX0xFVkVMX1VTRSA9IDEsCisgIElQU0VDX0xFVkVMX1JFUVVJUkUgPSAyLAorICBJUFNFQ19MRVZFTF9VTklRVUUgPSAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSVBTRUNfTUFOVUFMX1JFUUlEX01BWCAweDNmZmYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXB2Ni5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHY2LmgKaW5kZXggYmZlNjJjZi4uMzQyNWY1YSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHY2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHY2LmgKQEAgLTI0LDM2ICsyNCwzNiBAQAogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KICNkZWZpbmUgSVBWNl9NSU5fTVRVIDEyODAKIHN0cnVjdCBpbjZfcGt0aW5mbyB7Ci0gc3RydWN0IGluNl9hZGRyIGlwaTZfYWRkcjsKKyAgc3RydWN0IGluNl9hZGRyIGlwaTZfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGlwaTZfaWZpbmRleDsKKyAgaW50IGlwaTZfaWZpbmRleDsKIH07CiBzdHJ1Y3QgaXA2X210dWluZm8gewotIHN0cnVjdCBzb2NrYWRkcl9pbjYgaXA2bV9hZGRyOworICBzdHJ1Y3Qgc29ja2FkZHJfaW42IGlwNm1fYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaXA2bV9tdHU7CisgIF9fdTMyIGlwNm1fbXR1OwogfTsKIHN0cnVjdCBpbjZfaWZyZXEgewotIHN0cnVjdCBpbjZfYWRkciBpZnI2X2FkZHI7CisgIHN0cnVjdCBpbjZfYWRkciBpZnI2X2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlmcjZfcHJlZml4bGVuOwotIGludCBpZnI2X2lmaW5kZXg7CisgIF9fdTMyIGlmcjZfcHJlZml4bGVuOworICBpbnQgaWZyNl9pZmluZGV4OwogfTsKICNkZWZpbmUgSVBWNl9TUkNSVF9TVFJJQ1QgMHgwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBWNl9TUkNSVF9UWVBFXzAgMAogI2RlZmluZSBJUFY2X1NSQ1JUX1RZUEVfMiAyCiBzdHJ1Y3QgaXB2Nl9ydF9oZHIgewotIF9fdTggbmV4dGhkcjsKKyAgX191OCBuZXh0aGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGhkcmxlbjsKLSBfX3U4IHR5cGU7Ci0gX191OCBzZWdtZW50c19sZWZ0OworICBfX3U4IGhkcmxlbjsKKyAgX191OCB0eXBlOworICBfX3U4IHNlZ21lbnRzX2xlZnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcHY2X29wdF9oZHIgewotIF9fdTggbmV4dGhkcjsKLSBfX3U4IGhkcmxlbjsKKyAgX191OCBuZXh0aGRyOworICBfX3U4IGhkcmxlbjsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBpcHY2X2Rlc3RvcHRfaGRyIGlwdjZfb3B0X2hkcgpAQCAtNjEsOTAgKzYxLDg5IEBACiAjZGVmaW5lIElQVjZfT1BUX1JPVVRFUkFMRVJUX01MRCAweDAwMDAKIHN0cnVjdCBydDBfaGRyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGlwdjZfcnRfaGRyIHJ0X2hkcjsKLSBfX3UzMiByZXNlcnZlZDsKLSBzdHJ1Y3QgaW42X2FkZHIgYWRkclswXTsKKyAgc3RydWN0IGlwdjZfcnRfaGRyIHJ0X2hkcjsKKyAgX191MzIgcmVzZXJ2ZWQ7CisgIHN0cnVjdCBpbjZfYWRkciBhZGRyWzBdOwogI2RlZmluZSBydDBfdHlwZSBydF9oZHIudHlwZQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgcnQyX2hkciB7Ci0gc3RydWN0IGlwdjZfcnRfaGRyIHJ0X2hkcjsKLSBfX3UzMiByZXNlcnZlZDsKKyAgc3RydWN0IGlwdjZfcnRfaGRyIHJ0X2hkcjsKKyAgX191MzIgcmVzZXJ2ZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpbjZfYWRkciBhZGRyOworICBzdHJ1Y3QgaW42X2FkZHIgYWRkcjsKICNkZWZpbmUgcnQyX3R5cGUgcnRfaGRyLnR5cGUKIH07CiBzdHJ1Y3QgaXB2Nl9kZXN0b3B0X2hhbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHlwZTsKLSBfX3U4IGxlbmd0aDsKLSBzdHJ1Y3QgaW42X2FkZHIgYWRkcjsKKyAgX191OCB0eXBlOworICBfX3U4IGxlbmd0aDsKKyAgc3RydWN0IGluNl9hZGRyIGFkZHI7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcHY2aGRyIHsKICNpZmRlZiBfX0xJVFRMRV9FTkRJQU5fQklURklFTEQKLSBfX3U4IHByaW9yaXR5OjQsCi0gdmVyc2lvbjo0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBwcmlvcml0eSA6IDQsIHZlcnNpb24gOiA0OwogI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpCi0gX191OCB2ZXJzaW9uOjQsCi0gcHJpb3JpdHk6NDsKLSNlbHNlCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHZlcnNpb24gOiA0LCBwcmlvcml0eSA6IDQ7CisjZWxzZQogI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+IgogI2VuZGlmCi0gX191OCBmbG93X2xibFszXTsKLSBfX2JlMTYgcGF5bG9hZF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbmV4dGhkcjsKLSBfX3U4IGhvcF9saW1pdDsKLSBzdHJ1Y3QgaW42X2FkZHIgc2FkZHI7Ci0gc3RydWN0IGluNl9hZGRyIGRhZGRyOworICBfX3U4IGZsb3dfbGJsWzNdOworICBfX2JlMTYgcGF5bG9hZF9sZW47CisgIF9fdTggbmV4dGhkcjsKKyAgX191OCBob3BfbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgaW42X2FkZHIgc2FkZHI7CisgIHN0cnVjdCBpbjZfYWRkciBkYWRkcjsKIH07CiBlbnVtIHsKLSBERVZDT05GX0ZPUldBUkRJTkcgPSAwLAotIERFVkNPTkZfSE9QTElNSVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERFVkNPTkZfTVRVNiwKLSBERVZDT05GX0FDQ0VQVF9SQSwKLSBERVZDT05GX0FDQ0VQVF9SRURJUkVDVFMsCi0gREVWQ09ORl9BVVRPQ09ORiwKKyAgREVWQ09ORl9GT1JXQVJESU5HID0gMCwKKyAgREVWQ09ORl9IT1BMSU1JVCwKKyAgREVWQ09ORl9NVFU2LAorICBERVZDT05GX0FDQ0VQVF9SQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gREVWQ09ORl9EQURfVFJBTlNNSVRTLAotIERFVkNPTkZfUlRSX1NPTElDSVRTLAotIERFVkNPTkZfUlRSX1NPTElDSVRfSU5URVJWQUwsCi0gREVWQ09ORl9SVFJfU09MSUNJVF9ERUxBWSwKKyAgREVWQ09ORl9BQ0NFUFRfUkVESVJFQ1RTLAorICBERVZDT05GX0FVVE9DT05GLAorICBERVZDT05GX0RBRF9UUkFOU01JVFMsCisgIERFVkNPTkZfUlRSX1NPTElDSVRTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBERVZDT05GX1VTRV9URU1QQUREUiwKLSBERVZDT05GX1RFTVBfVkFMSURfTEZULAotIERFVkNPTkZfVEVNUF9QUkVGRVJFRF9MRlQsCi0gREVWQ09ORl9SRUdFTl9NQVhfUkVUUlksCisgIERFVkNPTkZfUlRSX1NPTElDSVRfSU5URVJWQUwsCisgIERFVkNPTkZfUlRSX1NPTElDSVRfREVMQVksCisgIERFVkNPTkZfVVNFX1RFTVBBRERSLAorICBERVZDT05GX1RFTVBfVkFMSURfTEZULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBERVZDT05GX01BWF9ERVNZTkNfRkFDVE9SLAotIERFVkNPTkZfTUFYX0FERFJFU1NFUywKLSBERVZDT05GX0ZPUkNFX01MRF9WRVJTSU9OLAotIERFVkNPTkZfQUNDRVBUX1JBX0RFRlJUUiwKKyAgREVWQ09ORl9URU1QX1BSRUZFUkVEX0xGVCwKKyAgREVWQ09ORl9SRUdFTl9NQVhfUkVUUlksCisgIERFVkNPTkZfTUFYX0RFU1lOQ19GQUNUT1IsCisgIERFVkNPTkZfTUFYX0FERFJFU1NFUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gREVWQ09ORl9BQ0NFUFRfUkFfUElORk8sCi0gREVWQ09ORl9BQ0NFUFRfUkFfUlRSX1BSRUYsCi0gREVWQ09ORl9SVFJfUFJPQkVfSU5URVJWQUwsCi0gREVWQ09ORl9BQ0NFUFRfUkFfUlRfSU5GT19NQVhfUExFTiwKKyAgREVWQ09ORl9GT1JDRV9NTERfVkVSU0lPTiwKKyAgREVWQ09ORl9BQ0NFUFRfUkFfREVGUlRSLAorICBERVZDT05GX0FDQ0VQVF9SQV9QSU5GTywKKyAgREVWQ09ORl9BQ0NFUFRfUkFfUlRSX1BSRUYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERFVkNPTkZfUFJPWFlfTkRQLAotIERFVkNPTkZfT1BUSU1JU1RJQ19EQUQsCi0gREVWQ09ORl9BQ0NFUFRfU09VUkNFX1JPVVRFLAotIERFVkNPTkZfTUNfRk9SV0FSRElORywKKyAgREVWQ09ORl9SVFJfUFJPQkVfSU5URVJWQUwsCisgIERFVkNPTkZfQUNDRVBUX1JBX1JUX0lORk9fTUFYX1BMRU4sCisgIERFVkNPTkZfUFJPWFlfTkRQLAorICBERVZDT05GX09QVElNSVNUSUNfREFELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBERVZDT05GX0RJU0FCTEVfSVBWNiwKLSBERVZDT05GX0FDQ0VQVF9EQUQsCi0gREVWQ09ORl9GT1JDRV9UTExBTywKLSBERVZDT05GX05ESVNDX05PVElGWSwKKyAgREVWQ09ORl9BQ0NFUFRfU09VUkNFX1JPVVRFLAorICBERVZDT05GX01DX0ZPUldBUkRJTkcsCisgIERFVkNPTkZfRElTQUJMRV9JUFY2LAorICBERVZDT05GX0FDQ0VQVF9EQUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERFVkNPTkZfTUxEVjFfVU5TT0xJQ0lURURfUkVQT1JUX0lOVEVSVkFMLAotIERFVkNPTkZfTUxEVjJfVU5TT0xJQ0lURURfUkVQT1JUX0lOVEVSVkFMLAotIERFVkNPTkZfU1VQUFJFU1NfRlJBR19ORElTQywKLSBERVZDT05GX01BWAorICBERVZDT05GX0ZPUkNFX1RMTEFPLAorICBERVZDT05GX05ESVNDX05PVElGWSwKKyAgREVWQ09ORl9NTERWMV9VTlNPTElDSVRFRF9SRVBPUlRfSU5URVJWQUwsCisgIERFVkNPTkZfTUxEVjJfVU5TT0xJQ0lURURfUkVQT1JUX0lOVEVSVkFMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgREVWQ09ORl9TVVBQUkVTU19GUkFHX05ESVNDLAorICBERVZDT05GX0FDQ0VQVF9SQV9GUk9NX0xPQ0FMLAorICBERVZDT05GX01BWAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXB2Nl9yb3V0ZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHY2X3JvdXRlLmgKaW5kZXggMDQwYTNkYi4uZmY3NDk4NiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHY2X3JvdXRlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHY2X3JvdXRlLmgKQEAgLTM4LDE4ICszOCwxOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRGX0xPQ0FMIDB4ODAwMDAwMDAKIHN0cnVjdCBpbjZfcnRtc2cgewotIHN0cnVjdCBpbjZfYWRkciBydG1zZ19kc3Q7Ci0gc3RydWN0IGluNl9hZGRyIHJ0bXNnX3NyYzsKKyAgc3RydWN0IGluNl9hZGRyIHJ0bXNnX2RzdDsKKyAgc3RydWN0IGluNl9hZGRyIHJ0bXNnX3NyYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluNl9hZGRyIHJ0bXNnX2dhdGV3YXk7Ci0gX191MzIgcnRtc2dfdHlwZTsKLSBfX3UxNiBydG1zZ19kc3RfbGVuOwotIF9fdTE2IHJ0bXNnX3NyY19sZW47CisgIHN0cnVjdCBpbjZfYWRkciBydG1zZ19nYXRld2F5OworICBfX3UzMiBydG1zZ190eXBlOworICBfX3UxNiBydG1zZ19kc3RfbGVuOworICBfX3UxNiBydG1zZ19zcmNfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBydG1zZ19tZXRyaWM7Ci0gdW5zaWduZWQgbG9uZyBydG1zZ19pbmZvOwotIF9fdTMyIHJ0bXNnX2ZsYWdzOwotIGludCBydG1zZ19pZmluZGV4OworICBfX3UzMiBydG1zZ19tZXRyaWM7CisgIHVuc2lnbmVkIGxvbmcgcnRtc2dfaW5mbzsKKyAgX191MzIgcnRtc2dfZmxhZ3M7CisgIGludCBydG1zZ19pZmluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFJUTVNHX05FV0RFVklDRSAweDExCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lweC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcHguaAppbmRleCA2MWVmYjQ4Li40NzA4NmZlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lweC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXB4LmgKQEAgLTI2LDEzICsyNiwxMyBAQAogI2RlZmluZSBJUFhfTVRVIDU3Ngogc3RydWN0IHNvY2thZGRyX2lweCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3NhX2ZhbWlseV90IHNpcHhfZmFtaWx5OwotIF9fYmUxNiBzaXB4X3BvcnQ7Ci0gX19iZTMyIHNpcHhfbmV0d29yazsKLSB1bnNpZ25lZCBjaGFyIHNpcHhfbm9kZVtJUFhfTk9ERV9MRU5dOworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzaXB4X2ZhbWlseTsKKyAgX19iZTE2IHNpcHhfcG9ydDsKKyAgX19iZTMyIHNpcHhfbmV0d29yazsKKyAgdW5zaWduZWQgY2hhciBzaXB4X25vZGVbSVBYX05PREVfTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzaXB4X3R5cGU7Ci0gdW5zaWduZWQgY2hhciBzaXB4X3plcm87CisgIF9fdTggc2lweF90eXBlOworICB1bnNpZ25lZCBjaGFyIHNpcHhfemVybzsKIH07CiAjZGVmaW5lIHNpcHhfc3BlY2lhbCBzaXB4X3BvcnQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC00MSwxNSArNDEsMTUgQEAKICNkZWZpbmUgSVBYX0NSVElURiAxCiBzdHJ1Y3QgaXB4X3JvdXRlX2RlZmluaXRpb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgaXB4X25ldHdvcms7Ci0gX19iZTMyIGlweF9yb3V0ZXJfbmV0d29yazsKLSB1bnNpZ25lZCBjaGFyIGlweF9yb3V0ZXJfbm9kZVtJUFhfTk9ERV9MRU5dOworICBfX2JlMzIgaXB4X25ldHdvcms7CisgIF9fYmUzMiBpcHhfcm91dGVyX25ldHdvcms7CisgIHVuc2lnbmVkIGNoYXIgaXB4X3JvdXRlcl9ub2RlW0lQWF9OT0RFX0xFTl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcHhfaW50ZXJmYWNlX2RlZmluaXRpb24gewotIF9fYmUzMiBpcHhfbmV0d29yazsKLSB1bnNpZ25lZCBjaGFyIGlweF9kZXZpY2VbMTZdOwotIHVuc2lnbmVkIGNoYXIgaXB4X2RsaW5rX3R5cGU7CisgIF9fYmUzMiBpcHhfbmV0d29yazsKKyAgdW5zaWduZWQgY2hhciBpcHhfZGV2aWNlWzE2XTsKKyAgdW5zaWduZWQgY2hhciBpcHhfZGxpbmtfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQWF9GUkFNRV9OT05FIDAKICNkZWZpbmUgSVBYX0ZSQU1FX1NOQVAgMQpAQCAtNTgsMjcgKzU4LDI3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFhfRlJBTUVfODAyMyA0CiAjZGVmaW5lIElQWF9GUkFNRV9UUl84MDIyIDUKLSB1bnNpZ25lZCBjaGFyIGlweF9zcGVjaWFsOworICB1bnNpZ25lZCBjaGFyIGlweF9zcGVjaWFsOwogI2RlZmluZSBJUFhfU1BFQ0lBTF9OT05FIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQWF9QUklNQVJZIDEKICNkZWZpbmUgSVBYX0lOVEVSTkFMIDIKLSB1bnNpZ25lZCBjaGFyIGlweF9ub2RlW0lQWF9OT0RFX0xFTl07CisgIHVuc2lnbmVkIGNoYXIgaXB4X25vZGVbSVBYX05PREVfTEVOXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlweF9jb25maWdfZGF0YSB7Ci0gdW5zaWduZWQgY2hhciBpcHhjZmdfYXV0b19zZWxlY3RfcHJpbWFyeTsKLSB1bnNpZ25lZCBjaGFyIGlweGNmZ19hdXRvX2NyZWF0ZV9pbnRlcmZhY2VzOworICB1bnNpZ25lZCBjaGFyIGlweGNmZ19hdXRvX3NlbGVjdF9wcmltYXJ5OworICB1bnNpZ25lZCBjaGFyIGlweGNmZ19hdXRvX2NyZWF0ZV9pbnRlcmZhY2VzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXB4X3JvdXRlX2RlZiB7Ci0gX19iZTMyIGlweF9uZXR3b3JrOwotIF9fYmUzMiBpcHhfcm91dGVyX25ldHdvcms7CisgIF9fYmUzMiBpcHhfbmV0d29yazsKKyAgX19iZTMyIGlweF9yb3V0ZXJfbmV0d29yazsKICNkZWZpbmUgSVBYX1JPVVRFX05PX1JPVVRFUiAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgaXB4X3JvdXRlcl9ub2RlW0lQWF9OT0RFX0xFTl07Ci0gdW5zaWduZWQgY2hhciBpcHhfZGV2aWNlWzE2XTsKLSB1bnNpZ25lZCBzaG9ydCBpcHhfZmxhZ3M7CisgIHVuc2lnbmVkIGNoYXIgaXB4X3JvdXRlcl9ub2RlW0lQWF9OT0RFX0xFTl07CisgIHVuc2lnbmVkIGNoYXIgaXB4X2RldmljZVsxNl07CisgIHVuc2lnbmVkIHNob3J0IGlweF9mbGFnczsKICNkZWZpbmUgSVBYX1JUX1NOQVAgOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBYX1JUXzgwMjIgNApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pcmRhLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lyZGEuaAppbmRleCA3MThkYmFmLi5kYWM2ZDFmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lyZGEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lyZGEuaApAQCAtNTMsMzAgKzUzLDMwIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDU19VTklDT0RFIDB4ZmYKIHR5cGVkZWYgZW51bSB7Ci0gSVJEQV9URUtSQU1fRE9OR0xFID0gMCwKLSBJUkRBX0VTSV9ET05HTEUgPSAxLAorICBJUkRBX1RFS1JBTV9ET05HTEUgPSAwLAorICBJUkRBX0VTSV9ET05HTEUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUkRBX0FDVElTWVNfRE9OR0xFID0gMiwKLSBJUkRBX0FDVElTWVNfUExVU19ET05HTEUgPSAzLAotIElSREFfR0lSQklMX0RPTkdMRSA9IDQsCi0gSVJEQV9MSVRFTElOS19ET05HTEUgPSA1LAorICBJUkRBX0FDVElTWVNfRE9OR0xFID0gMiwKKyAgSVJEQV9BQ1RJU1lTX1BMVVNfRE9OR0xFID0gMywKKyAgSVJEQV9HSVJCSUxfRE9OR0xFID0gNCwKKyAgSVJEQV9MSVRFTElOS19ET05HTEUgPSA1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUkRBX0FJUlBPUlRfRE9OR0xFID0gNiwKLSBJUkRBX09MRF9CRUxLSU5fRE9OR0xFID0gNywKLSBJUkRBX0VQNzIxMV9JUiA9IDgsCi0gSVJEQV9NQ1AyMTIwX0RPTkdMRSA9IDksCisgIElSREFfQUlSUE9SVF9ET05HTEUgPSA2LAorICBJUkRBX09MRF9CRUxLSU5fRE9OR0xFID0gNywKKyAgSVJEQV9FUDcyMTFfSVIgPSA4LAorICBJUkRBX01DUDIxMjBfRE9OR0xFID0gOSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVJEQV9BQ1QyMDBMX0RPTkdMRSA9IDEwLAotIElSREFfTUE2MDBfRE9OR0xFID0gMTEsCi0gSVJEQV9UT0lNMzIzMl9ET05HTEUgPSAxMiwKLSBJUkRBX0VQNzIxMV9ET05HTEUgPSAxMywKKyAgSVJEQV9BQ1QyMDBMX0RPTkdMRSA9IDEwLAorICBJUkRBX01BNjAwX0RPTkdMRSA9IDExLAorICBJUkRBX1RPSU0zMjMyX0RPTkdMRSA9IDEyLAorICBJUkRBX0VQNzIxMV9ET05HTEUgPSAxMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IElSREFfRE9OR0xFOwogZW51bSB7Ci0gSVJEQVBST1RPX1VOSVREQVRBID0gMCwKLSBJUkRBUFJPVE9fVUxUUkEgPSAxLAorICBJUkRBUFJPVE9fVU5JVERBVEEgPSAwLAorICBJUkRBUFJPVE9fVUxUUkEgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUkRBUFJPVE9fTUFYCisgIElSREFQUk9UT19NQVgKIH07CiAjZGVmaW5lIFNPTF9JUkxNUCAyNjYKICNkZWZpbmUgU09MX0lSVFRQIDI2NgpAQCAtMTEyLDQ3ICsxMTIsNDcgQEAKICNkZWZpbmUgTFNBUF9BTlkgMHhmZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzb2NrYWRkcl9pcmRhIHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzaXJfZmFtaWx5OwotIF9fdTggc2lyX2xzYXBfc2VsOwotIF9fdTMyIHNpcl9hZGRyOworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzaXJfZmFtaWx5OworICBfX3U4IHNpcl9sc2FwX3NlbDsKKyAgX191MzIgc2lyX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc2lyX25hbWVbMjVdOworICBjaGFyIHNpcl9uYW1lWzI1XTsKIH07CiBzdHJ1Y3QgaXJkYV9kZXZpY2VfaW5mbyB7Ci0gX191MzIgc2FkZHI7CisgIF9fdTMyIHNhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkYWRkcjsKLSBjaGFyIGluZm9bMjJdOwotIF9fdTggY2hhcnNldDsKLSBfX3U4IGhpbnRzWzJdOworICBfX3UzMiBkYWRkcjsKKyAgY2hhciBpbmZvWzIyXTsKKyAgX191OCBjaGFyc2V0OworICBfX3U4IGhpbnRzWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaXJkYV9kZXZpY2VfbGlzdCB7Ci0gX191MzIgbGVuOwotIHN0cnVjdCBpcmRhX2RldmljZV9pbmZvIGRldlsxXTsKKyAgX191MzIgbGVuOworICBzdHJ1Y3QgaXJkYV9kZXZpY2VfaW5mbyBkZXZbMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpcmRhX2lhc19zZXQgewotIGNoYXIgaXJkYV9jbGFzc19uYW1lW0lBU19FWFBPUlRfQ0xBU1NOQU1FXTsKLSBjaGFyIGlyZGFfYXR0cmliX25hbWVbSUFTX0VYUE9SVF9BVFRSSUJOQU1FXTsKKyAgY2hhciBpcmRhX2NsYXNzX25hbWVbSUFTX0VYUE9SVF9DTEFTU05BTUVdOworICBjaGFyIGlyZGFfYXR0cmliX25hbWVbSUFTX0VYUE9SVF9BVFRSSUJOQU1FXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGlyZGFfYXR0cmliX3R5cGU7Ci0gdW5pb24gewotIHVuc2lnbmVkIGludCBpcmRhX2F0dHJpYl9pbnQ7Ci0gc3RydWN0IHsKKyAgdW5zaWduZWQgaW50IGlyZGFfYXR0cmliX3R5cGU7CisgIHVuaW9uIHsKKyAgICB1bnNpZ25lZCBpbnQgaXJkYV9hdHRyaWJfaW50OworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGxlbjsKLSBfX3U4IG9jdGV0X3NlcVtJQVNfTUFYX09DVEVUX1NUUklOR107Ci0gfSBpcmRhX2F0dHJpYl9vY3RldF9zZXE7Ci0gc3RydWN0IHsKKyAgICAgIHVuc2lnbmVkIHNob3J0IGxlbjsKKyAgICAgIF9fdTggb2N0ZXRfc2VxW0lBU19NQVhfT0NURVRfU1RSSU5HXTsKKyAgICB9IGlyZGFfYXR0cmliX29jdGV0X3NlcTsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGxlbjsKLSBfX3U4IGNoYXJzZXQ7Ci0gX191OCBzdHJpbmdbSUFTX01BWF9TVFJJTkddOwotIH0gaXJkYV9hdHRyaWJfc3RyaW5nOworICAgICAgX191OCBsZW47CisgICAgICBfX3U4IGNoYXJzZXQ7CisgICAgICBfX3U4IHN0cmluZ1tJQVNfTUFYX1NUUklOR107CisgICAgfSBpcmRhX2F0dHJpYl9zdHJpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gYXR0cmlidXRlOwotIF9fdTMyIGRhZGRyOworICB9IGF0dHJpYnV0ZTsKKyAgX191MzIgZGFkZHI7CiB9OwogI2RlZmluZSBTSU9DU0RPTkdMRSAoU0lPQ0RFVlBSSVZBVEUgKyAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTE2OSwzNiArMTY5LDM2IEBACiAjZGVmaW5lIFNJT0NHUU9TIChTSU9DREVWUFJJVkFURSArIDkpCiAjZGVmaW5lIElSTkFNU0laIDE2CiBzdHJ1Y3QgaWZfaXJkYV9xb3MgewotIHVuc2lnbmVkIGxvbmcgYmF1ZHJhdGU7CisgIHVuc2lnbmVkIGxvbmcgYmF1ZHJhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGRhdGFfc2l6ZTsKLSB1bnNpZ25lZCBzaG9ydCB3aW5kb3dfc2l6ZTsKLSB1bnNpZ25lZCBzaG9ydCBtaW5fdHVybl90aW1lOwotIHVuc2lnbmVkIHNob3J0IG1heF90dXJuX3RpbWU7CisgIHVuc2lnbmVkIHNob3J0IGRhdGFfc2l6ZTsKKyAgdW5zaWduZWQgc2hvcnQgd2luZG93X3NpemU7CisgIHVuc2lnbmVkIHNob3J0IG1pbl90dXJuX3RpbWU7CisgIHVuc2lnbmVkIHNob3J0IG1heF90dXJuX3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgYWRkX2JvZnM7Ci0gdW5zaWduZWQgY2hhciBsaW5rX2Rpc2M7CisgIHVuc2lnbmVkIGNoYXIgYWRkX2JvZnM7CisgIHVuc2lnbmVkIGNoYXIgbGlua19kaXNjOwogfTsKIHN0cnVjdCBpZl9pcmRhX2xpbmUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGR0cjsKLSBfX3U4IHJ0czsKKyAgX191OCBkdHI7CisgIF9fdTggcnRzOwogfTsKIHN0cnVjdCBpZl9pcmRhX3JlcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBjaGFyIGlmcm5fbmFtZVtJUk5BTVNJWl07Ci0gfSBpZnJfaWZybjsKLSB1bmlvbiB7CisgIHVuaW9uIHsKKyAgICBjaGFyIGlmcm5fbmFtZVtJUk5BTVNJWl07CisgIH0gaWZyX2lmcm47CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGlmX2lyZGFfbGluZSBpZnJ1X2xpbmU7Ci0gc3RydWN0IGlmX2lyZGFfcW9zIGlmcnVfcW9zOwotIHVuc2lnbmVkIHNob3J0IGlmcnVfZmxhZ3M7Ci0gdW5zaWduZWQgaW50IGlmcnVfcmVjZWl2aW5nOworICAgIHN0cnVjdCBpZl9pcmRhX2xpbmUgaWZydV9saW5lOworICAgIHN0cnVjdCBpZl9pcmRhX3FvcyBpZnJ1X3FvczsKKyAgICB1bnNpZ25lZCBzaG9ydCBpZnJ1X2ZsYWdzOworICAgIHVuc2lnbmVkIGludCBpZnJ1X3JlY2VpdmluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGlmcnVfbW9kZTsKLSB1bnNpZ25lZCBpbnQgaWZydV9kb25nbGU7Ci0gfSBpZnJfaWZydTsKKyAgICB1bnNpZ25lZCBpbnQgaWZydV9tb2RlOworICAgIHVuc2lnbmVkIGludCBpZnJ1X2RvbmdsZTsKKyAgfSBpZnJfaWZydTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBpZnJfYmF1ZHJhdGUgaWZyX2lmcnUuaWZydV9xb3MuYmF1ZHJhdGUKQEAgLTIxMiwxOSArMjEyLDE5IEBACiAjZGVmaW5lIElSREFfTkxfVkVSU0lPTiAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBpcmRhX25sX2NvbW1hbmRzIHsKLSBJUkRBX05MX0NNRF9VTlNQRUMsCi0gSVJEQV9OTF9DTURfU0VUX01PREUsCi0gSVJEQV9OTF9DTURfR0VUX01PREUsCisgIElSREFfTkxfQ01EX1VOU1BFQywKKyAgSVJEQV9OTF9DTURfU0VUX01PREUsCisgIElSREFfTkxfQ01EX0dFVF9NT0RFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lSREFfTkxfQ01EX0FGVEVSX0xBU1QKKyAgX19JUkRBX05MX0NNRF9BRlRFUl9MQVNUCiB9OwogI2RlZmluZSBJUkRBX05MX0NNRF9NQVggKF9fSVJEQV9OTF9DTURfQUZURVJfTEFTVCAtIDEpCiBlbnVtIG5sODAyMTFfYXR0cnMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUkRBX05MX0FUVFJfVU5TUEVDLAotIElSREFfTkxfQVRUUl9JRk5BTUUsCi0gSVJEQV9OTF9BVFRSX01PREUsCi0gX19JUkRBX05MX0FUVFJfQUZURVJfTEFTVAorICBJUkRBX05MX0FUVFJfVU5TUEVDLAorICBJUkRBX05MX0FUVFJfSUZOQU1FLAorICBJUkRBX05MX0FUVFJfTU9ERSwKKyAgX19JUkRBX05MX0FUVFJfQUZURVJfTEFTVAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIElSREFfTkxfQVRUUl9NQVggKF9fSVJEQV9OTF9BVFRSX0FGVEVSX0xBU1QgLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pc2RuLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzZG4uaAppbmRleCAxMjliMmQ0Li40OTA4ZjNhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzZG4uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzZG4uaApAQCAtMjMsNDIgKzIzLDQyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJU0ROX01BWF9EUklWRVJTIDMyCiAjZGVmaW5lIElTRE5fTUFYX0NIQU5ORUxTIDY0Ci0jZGVmaW5lIElJT0NORVRBSUYgX0lPKCdJJywxKQotI2RlZmluZSBJSU9DTkVURElGIF9JTygnSScsMikKKyNkZWZpbmUgSUlPQ05FVEFJRiBfSU8oJ0knLCAxKQorI2RlZmluZSBJSU9DTkVURElGIF9JTygnSScsIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJSU9DTkVUU0NGIF9JTygnSScsMykKLSNkZWZpbmUgSUlPQ05FVEdDRiBfSU8oJ0knLDQpCi0jZGVmaW5lIElJT0NORVRBTk0gX0lPKCdJJyw1KQotI2RlZmluZSBJSU9DTkVURE5NIF9JTygnSScsNikKKyNkZWZpbmUgSUlPQ05FVFNDRiBfSU8oJ0knLCAzKQorI2RlZmluZSBJSU9DTkVUR0NGIF9JTygnSScsIDQpCisjZGVmaW5lIElJT0NORVRBTk0gX0lPKCdJJywgNSkKKyNkZWZpbmUgSUlPQ05FVEROTSBfSU8oJ0knLCA2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUlPQ05FVEdOTSBfSU8oJ0knLDcpCi0jZGVmaW5lIElJT0NHRVRTRVQgX0lPKCdJJyw4KQotI2RlZmluZSBJSU9DU0VUU0VUIF9JTygnSScsOSkKLSNkZWZpbmUgSUlPQ1NFVFZFUiBfSU8oJ0knLDEwKQorI2RlZmluZSBJSU9DTkVUR05NIF9JTygnSScsIDcpCisjZGVmaW5lIElJT0NHRVRTRVQgX0lPKCdJJywgOCkKKyNkZWZpbmUgSUlPQ1NFVFNFVCBfSU8oJ0knLCA5KQorI2RlZmluZSBJSU9DU0VUVkVSIF9JTygnSScsIDEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUlPQ05FVEhVUCBfSU8oJ0knLDExKQotI2RlZmluZSBJSU9DU0VUR1NUIF9JTygnSScsMTIpCi0jZGVmaW5lIElJT0NTRVRCUkogX0lPKCdJJywxMykKLSNkZWZpbmUgSUlPQ1NJR1BSRiBfSU8oJ0knLDE0KQorI2RlZmluZSBJSU9DTkVUSFVQIF9JTygnSScsIDExKQorI2RlZmluZSBJSU9DU0VUR1NUIF9JTygnSScsIDEyKQorI2RlZmluZSBJSU9DU0VUQlJKIF9JTygnSScsIDEzKQorI2RlZmluZSBJSU9DU0lHUFJGIF9JTygnSScsIDE0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUlPQ0dFVFBSRiBfSU8oJ0knLDE1KQotI2RlZmluZSBJSU9DU0VUUFJGIF9JTygnSScsMTYpCi0jZGVmaW5lIElJT0NHRVRNQVAgX0lPKCdJJywxNykKLSNkZWZpbmUgSUlPQ1NFVE1BUCBfSU8oJ0knLDE4KQorI2RlZmluZSBJSU9DR0VUUFJGIF9JTygnSScsIDE1KQorI2RlZmluZSBJSU9DU0VUUFJGIF9JTygnSScsIDE2KQorI2RlZmluZSBJSU9DR0VUTUFQIF9JTygnSScsIDE3KQorI2RlZmluZSBJSU9DU0VUTUFQIF9JTygnSScsIDE4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUlPQ05FVEFTTCBfSU8oJ0knLDE5KQotI2RlZmluZSBJSU9DTkVURElMIF9JTygnSScsMjApCi0jZGVmaW5lIElJT0NHRVRDUFMgX0lPKCdJJywyMSkKLSNkZWZpbmUgSUlPQ0dFVERWUiBfSU8oJ0knLDIyKQorI2RlZmluZSBJSU9DTkVUQVNMIF9JTygnSScsIDE5KQorI2RlZmluZSBJSU9DTkVURElMIF9JTygnSScsIDIwKQorI2RlZmluZSBJSU9DR0VUQ1BTIF9JTygnSScsIDIxKQorI2RlZmluZSBJSU9DR0VURFZSIF9JTygnSScsIDIyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUlPQ05FVExDUiBfSU8oJ0knLDIzKQotI2RlZmluZSBJSU9DTkVURFdSU0VUIF9JTygnSScsMjQpCi0jZGVmaW5lIElJT0NORVRBTE4gX0lPKCdJJywzMikKLSNkZWZpbmUgSUlPQ05FVERMTiBfSU8oJ0knLDMzKQorI2RlZmluZSBJSU9DTkVUTENSIF9JTygnSScsIDIzKQorI2RlZmluZSBJSU9DTkVURFdSU0VUIF9JTygnSScsIDI0KQorI2RlZmluZSBJSU9DTkVUQUxOIF9JTygnSScsIDMyKQorI2RlZmluZSBJSU9DTkVURExOIF9JTygnSScsIDMzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUlPQ05FVEdQTiBfSU8oJ0knLDM0KQotI2RlZmluZSBJSU9DREJHVkFSIF9JTygnSScsMTI3KQotI2RlZmluZSBJSU9DRFJWQ1RMIF9JTygnSScsMTI4KQorI2RlZmluZSBJSU9DTkVUR1BOIF9JTygnSScsIDM0KQorI2RlZmluZSBJSU9DREJHVkFSIF9JTygnSScsIDEyNykKKyNkZWZpbmUgSUlPQ0RSVkNUTCBfSU8oJ0knLCAxMjgpCiAjZGVmaW5lIFNJT0NHS0VFUFBFUklPRCAoU0lPQ0RFVlBSSVZBVEUgKyAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0lPQ1NLRUVQUEVSSU9EIChTSU9DREVWUFJJVkFURSArIDEpCkBAIC05OCw0OCArOTgsNDggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElORl9EViAweDAxCiB0eXBlZGVmIHN0cnVjdCB7Ci0gY2hhciBkcnZpZFsyNV07Ci0gdW5zaWduZWQgbG9uZyBhcmc7CisgIGNoYXIgZHJ2aWRbMjVdOworICB1bnNpZ25lZCBsb25nIGFyZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IGlzZG5faW9jdGxfc3RydWN0OwogdHlwZWRlZiBzdHJ1Y3QgewotIGNoYXIgbmFtZVsxMF07Ci0gY2hhciBwaG9uZVtJU0ROX01TTkxFTl07CisgIGNoYXIgbmFtZVsxMF07CisgIGNoYXIgcGhvbmVbSVNETl9NU05MRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgb3V0Z29pbmc7CisgIGludCBvdXRnb2luZzsKIH0gaXNkbl9uZXRfaW9jdGxfcGhvbmU7CiB0eXBlZGVmIHN0cnVjdCB7Ci0gY2hhciBuYW1lWzEwXTsKKyAgY2hhciBuYW1lWzEwXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBtYXN0ZXJbMTBdOwotIGNoYXIgc2xhdmVbMTBdOwotIGNoYXIgZWF6WzI1Nl07Ci0gY2hhciBkcnZpZFsyNV07CisgIGNoYXIgbWFzdGVyWzEwXTsKKyAgY2hhciBzbGF2ZVsxMF07CisgIGNoYXIgZWF6WzI1Nl07CisgIGNoYXIgZHJ2aWRbMjVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgb25odGltZTsKLSBpbnQgY2hhcmdlOwotIGludCBsMl9wcm90bzsKLSBpbnQgbDNfcHJvdG87CisgIGludCBvbmh0aW1lOworICBpbnQgY2hhcmdlOworICBpbnQgbDJfcHJvdG87CisgIGludCBsM19wcm90bzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBfZW5jYXA7Ci0gaW50IGV4Y2x1c2l2ZTsKLSBpbnQgZGlhbG1heDsKLSBpbnQgc2xhdmVkZWxheTsKKyAgaW50IHBfZW5jYXA7CisgIGludCBleGNsdXNpdmU7CisgIGludCBkaWFsbWF4OworICBpbnQgc2xhdmVkZWxheTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNiZGVsYXk7Ci0gaW50IGNoYXJnZWh1cDsKLSBpbnQgaWh1cDsKLSBpbnQgc2VjdXJlOworICBpbnQgY2JkZWxheTsKKyAgaW50IGNoYXJnZWh1cDsKKyAgaW50IGlodXA7CisgIGludCBzZWN1cmU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjYWxsYmFjazsKLSBpbnQgY2JodXA7Ci0gaW50IHBwcGJpbmQ7Ci0gaW50IGNoYXJnZWludDsKKyAgaW50IGNhbGxiYWNrOworICBpbnQgY2JodXA7CisgIGludCBwcHBiaW5kOworICBpbnQgY2hhcmdlaW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdHJpZ2dlcmNwczsKLSBpbnQgZGlhbHRpbWVvdXQ7Ci0gaW50IGRpYWx3YWl0OwotIGludCBkaWFsbW9kZTsKKyAgaW50IHRyaWdnZXJjcHM7CisgIGludCBkaWFsdGltZW91dDsKKyAgaW50IGRpYWx3YWl0OworICBpbnQgZGlhbG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBpc2RuX25ldF9pb2N0bF9jZmc7CiAjZGVmaW5lIElTRE5fTkVUX0RJQUxNT0RFX01BU0sgMHhDMApAQCAtMTQ3LDUgKzE0Nyw1IEBACiAjZGVmaW5lIElTRE5fTkVUX0RNX01BTlVBTCAweDQwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJU0ROX05FVF9ETV9BVVRPIDB4ODAKLSNkZWZpbmUgSVNETl9ORVRfRElBTE1PREUoeCkgKCgmKHgpKS0+ZmxhZ3MgJiBJU0ROX05FVF9ESUFMTU9ERV9NQVNLKQorI2RlZmluZSBJU0ROX05FVF9ESUFMTU9ERSh4KSAoKCYgKHgpKS0+ZmxhZ3MgJiBJU0ROX05FVF9ESUFMTU9ERV9NQVNLKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzZG4vY2FwaWNtZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pc2RuL2NhcGljbWQuaAppbmRleCBhZDYwNjc5Li5kZDIxM2IwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzZG4vY2FwaWNtZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXNkbi9jYXBpY21kLmgKQEAgLTE5LDkgKzE5LDkgQEAKICNpZm5kZWYgX19DQVBJQ01EX0hfXwogI2RlZmluZSBfX0NBUElDTURfSF9fCiAjZGVmaW5lIENBUElfTVNHX0JBU0VMRU4gOAotI2RlZmluZSBDQVBJX0RBVEFfQjNfUkVRX0xFTiAoQ0FQSV9NU0dfQkFTRUxFTis0KzQrMisyKzIpCisjZGVmaW5lIENBUElfREFUQV9CM19SRVFfTEVOIChDQVBJX01TR19CQVNFTEVOICsgNCArIDQgKyAyICsgMiArIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX0RBVEFfQjNfUkVTUF9MRU4gKENBUElfTVNHX0JBU0VMRU4rNCsyKQorI2RlZmluZSBDQVBJX0RBVEFfQjNfUkVTUF9MRU4gKENBUElfTVNHX0JBU0VMRU4gKyA0ICsgMikKICNkZWZpbmUgQ0FQSV9BTEVSVCAweDAxCiAjZGVmaW5lIENBUElfQ09OTkVDVCAweDAyCiAjZGVmaW5lIENBUElfQ09OTkVDVF9BQ1RJVkUgMHgwMwpAQCAtNDYsNzAgKzQ2LDcwIEBACiAjZGVmaW5lIENBUElfSU5EIDB4ODIKICNkZWZpbmUgQ0FQSV9SRVNQIDB4ODMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElDTUQoY21kLHN1YmNtZCkgKCgoY21kKTw8OCl8KHN1YmNtZCkpCi0jZGVmaW5lIENBUElfRElTQ09OTkVDVF9SRVEgQ0FQSUNNRChDQVBJX0RJU0NPTk5FQ1QsQ0FQSV9SRVEpCi0jZGVmaW5lIENBUElfRElTQ09OTkVDVF9DT05GIENBUElDTUQoQ0FQSV9ESVNDT05ORUNULENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9ESVNDT05ORUNUX0lORCBDQVBJQ01EKENBUElfRElTQ09OTkVDVCxDQVBJX0lORCkKKyNkZWZpbmUgQ0FQSUNNRChjbWQsc3ViY21kKSAoKChjbWQpIDw8IDgpIHwgKHN1YmNtZCkpCisjZGVmaW5lIENBUElfRElTQ09OTkVDVF9SRVEgQ0FQSUNNRChDQVBJX0RJU0NPTk5FQ1QsIENBUElfUkVRKQorI2RlZmluZSBDQVBJX0RJU0NPTk5FQ1RfQ09ORiBDQVBJQ01EKENBUElfRElTQ09OTkVDVCwgQ0FQSV9DT05GKQorI2RlZmluZSBDQVBJX0RJU0NPTk5FQ1RfSU5EIENBUElDTUQoQ0FQSV9ESVNDT05ORUNULCBDQVBJX0lORCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElfRElTQ09OTkVDVF9SRVNQIENBUElDTUQoQ0FQSV9ESVNDT05ORUNULENBUElfUkVTUCkKLSNkZWZpbmUgQ0FQSV9BTEVSVF9SRVEgQ0FQSUNNRChDQVBJX0FMRVJULENBUElfUkVRKQotI2RlZmluZSBDQVBJX0FMRVJUX0NPTkYgQ0FQSUNNRChDQVBJX0FMRVJULENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX1JFUSBDQVBJQ01EKENBUElfQ09OTkVDVCxDQVBJX1JFUSkKKyNkZWZpbmUgQ0FQSV9ESVNDT05ORUNUX1JFU1AgQ0FQSUNNRChDQVBJX0RJU0NPTk5FQ1QsIENBUElfUkVTUCkKKyNkZWZpbmUgQ0FQSV9BTEVSVF9SRVEgQ0FQSUNNRChDQVBJX0FMRVJULCBDQVBJX1JFUSkKKyNkZWZpbmUgQ0FQSV9BTEVSVF9DT05GIENBUElDTUQoQ0FQSV9BTEVSVCwgQ0FQSV9DT05GKQorI2RlZmluZSBDQVBJX0NPTk5FQ1RfUkVRIENBUElDTUQoQ0FQSV9DT05ORUNULCBDQVBJX1JFUSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElfQ09OTkVDVF9DT05GIENBUElDTUQoQ0FQSV9DT05ORUNULENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0lORCBDQVBJQ01EKENBUElfQ09OTkVDVCxDQVBJX0lORCkKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX1JFU1AgQ0FQSUNNRChDQVBJX0NPTk5FQ1QsQ0FQSV9SRVNQKQotI2RlZmluZSBDQVBJX0NPTk5FQ1RfQUNUSVZFX1JFUSBDQVBJQ01EKENBUElfQ09OTkVDVF9BQ1RJVkUsQ0FQSV9SRVEpCisjZGVmaW5lIENBUElfQ09OTkVDVF9DT05GIENBUElDTUQoQ0FQSV9DT05ORUNULCBDQVBJX0NPTkYpCisjZGVmaW5lIENBUElfQ09OTkVDVF9JTkQgQ0FQSUNNRChDQVBJX0NPTk5FQ1QsIENBUElfSU5EKQorI2RlZmluZSBDQVBJX0NPTk5FQ1RfUkVTUCBDQVBJQ01EKENBUElfQ09OTkVDVCwgQ0FQSV9SRVNQKQorI2RlZmluZSBDQVBJX0NPTk5FQ1RfQUNUSVZFX1JFUSBDQVBJQ01EKENBUElfQ09OTkVDVF9BQ1RJVkUsIENBUElfUkVRKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0FDVElWRV9DT05GIENBUElDTUQoQ0FQSV9DT05ORUNUX0FDVElWRSxDQVBJX0NPTkYpCi0jZGVmaW5lIENBUElfQ09OTkVDVF9BQ1RJVkVfSU5EIENBUElDTUQoQ0FQSV9DT05ORUNUX0FDVElWRSxDQVBJX0lORCkKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0FDVElWRV9SRVNQIENBUElDTUQoQ0FQSV9DT05ORUNUX0FDVElWRSxDQVBJX1JFU1ApCi0jZGVmaW5lIENBUElfU0VMRUNUX0JfUFJPVE9DT0xfUkVRIENBUElDTUQoQ0FQSV9TRUxFQ1RfQl9QUk9UT0NPTCxDQVBJX1JFUSkKKyNkZWZpbmUgQ0FQSV9DT05ORUNUX0FDVElWRV9DT05GIENBUElDTUQoQ0FQSV9DT05ORUNUX0FDVElWRSwgQ0FQSV9DT05GKQorI2RlZmluZSBDQVBJX0NPTk5FQ1RfQUNUSVZFX0lORCBDQVBJQ01EKENBUElfQ09OTkVDVF9BQ1RJVkUsIENBUElfSU5EKQorI2RlZmluZSBDQVBJX0NPTk5FQ1RfQUNUSVZFX1JFU1AgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQUNUSVZFLCBDQVBJX1JFU1ApCisjZGVmaW5lIENBUElfU0VMRUNUX0JfUFJPVE9DT0xfUkVRIENBUElDTUQoQ0FQSV9TRUxFQ1RfQl9QUk9UT0NPTCwgQ0FQSV9SRVEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX1NFTEVDVF9CX1BST1RPQ09MX0NPTkYgQ0FQSUNNRChDQVBJX1NFTEVDVF9CX1BST1RPQ09MLENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX0FDVElWRV9SRVEgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjNfQUNUSVZFLENBUElfUkVRKQotI2RlZmluZSBDQVBJX0NPTk5FQ1RfQjNfQUNUSVZFX0NPTkYgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjNfQUNUSVZFLENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX0FDVElWRV9JTkQgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjNfQUNUSVZFLENBUElfSU5EKQorI2RlZmluZSBDQVBJX1NFTEVDVF9CX1BST1RPQ09MX0NPTkYgQ0FQSUNNRChDQVBJX1NFTEVDVF9CX1BST1RPQ09MLCBDQVBJX0NPTkYpCisjZGVmaW5lIENBUElfQ09OTkVDVF9CM19BQ1RJVkVfUkVRIENBUElDTUQoQ0FQSV9DT05ORUNUX0IzX0FDVElWRSwgQ0FQSV9SRVEpCisjZGVmaW5lIENBUElfQ09OTkVDVF9CM19BQ1RJVkVfQ09ORiBDQVBJQ01EKENBUElfQ09OTkVDVF9CM19BQ1RJVkUsIENBUElfQ09ORikKKyNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX0FDVElWRV9JTkQgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjNfQUNUSVZFLCBDQVBJX0lORCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElfQ09OTkVDVF9CM19BQ1RJVkVfUkVTUCBDQVBJQ01EKENBUElfQ09OTkVDVF9CM19BQ1RJVkUsQ0FQSV9SRVNQKQotI2RlZmluZSBDQVBJX0NPTk5FQ1RfQjNfUkVRIENBUElDTUQoQ0FQSV9DT05ORUNUX0IzLENBUElfUkVRKQotI2RlZmluZSBDQVBJX0NPTk5FQ1RfQjNfQ09ORiBDQVBJQ01EKENBUElfQ09OTkVDVF9CMyxDQVBJX0NPTkYpCi0jZGVmaW5lIENBUElfQ09OTkVDVF9CM19JTkQgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjMsQ0FQSV9JTkQpCisjZGVmaW5lIENBUElfQ09OTkVDVF9CM19BQ1RJVkVfUkVTUCBDQVBJQ01EKENBUElfQ09OTkVDVF9CM19BQ1RJVkUsIENBUElfUkVTUCkKKyNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX1JFUSBDQVBJQ01EKENBUElfQ09OTkVDVF9CMywgQ0FQSV9SRVEpCisjZGVmaW5lIENBUElfQ09OTkVDVF9CM19DT05GIENBUElDTUQoQ0FQSV9DT05ORUNUX0IzLCBDQVBJX0NPTkYpCisjZGVmaW5lIENBUElfQ09OTkVDVF9CM19JTkQgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjMsIENBUElfSU5EKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX1JFU1AgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjMsQ0FQSV9SRVNQKQotI2RlZmluZSBDQVBJX0NPTk5FQ1RfQjNfVDkwX0FDVElWRV9JTkQgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjNfVDkwX0FDVElWRSxDQVBJX0lORCkKLSNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX1Q5MF9BQ1RJVkVfUkVTUCBDQVBJQ01EKENBUElfQ09OTkVDVF9CM19UOTBfQUNUSVZFLENBUElfUkVTUCkKLSNkZWZpbmUgQ0FQSV9EQVRBX0IzX1JFUSBDQVBJQ01EKENBUElfREFUQV9CMyxDQVBJX1JFUSkKKyNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX1JFU1AgQ0FQSUNNRChDQVBJX0NPTk5FQ1RfQjMsIENBUElfUkVTUCkKKyNkZWZpbmUgQ0FQSV9DT05ORUNUX0IzX1Q5MF9BQ1RJVkVfSU5EIENBUElDTUQoQ0FQSV9DT05ORUNUX0IzX1Q5MF9BQ1RJVkUsIENBUElfSU5EKQorI2RlZmluZSBDQVBJX0NPTk5FQ1RfQjNfVDkwX0FDVElWRV9SRVNQIENBUElDTUQoQ0FQSV9DT05ORUNUX0IzX1Q5MF9BQ1RJVkUsIENBUElfUkVTUCkKKyNkZWZpbmUgQ0FQSV9EQVRBX0IzX1JFUSBDQVBJQ01EKENBUElfREFUQV9CMywgQ0FQSV9SRVEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX0RBVEFfQjNfQ09ORiBDQVBJQ01EKENBUElfREFUQV9CMyxDQVBJX0NPTkYpCi0jZGVmaW5lIENBUElfREFUQV9CM19JTkQgQ0FQSUNNRChDQVBJX0RBVEFfQjMsQ0FQSV9JTkQpCi0jZGVmaW5lIENBUElfREFUQV9CM19SRVNQIENBUElDTUQoQ0FQSV9EQVRBX0IzLENBUElfUkVTUCkKLSNkZWZpbmUgQ0FQSV9ESVNDT05ORUNUX0IzX1JFUSBDQVBJQ01EKENBUElfRElTQ09OTkVDVF9CMyxDQVBJX1JFUSkKKyNkZWZpbmUgQ0FQSV9EQVRBX0IzX0NPTkYgQ0FQSUNNRChDQVBJX0RBVEFfQjMsIENBUElfQ09ORikKKyNkZWZpbmUgQ0FQSV9EQVRBX0IzX0lORCBDQVBJQ01EKENBUElfREFUQV9CMywgQ0FQSV9JTkQpCisjZGVmaW5lIENBUElfREFUQV9CM19SRVNQIENBUElDTUQoQ0FQSV9EQVRBX0IzLCBDQVBJX1JFU1ApCisjZGVmaW5lIENBUElfRElTQ09OTkVDVF9CM19SRVEgQ0FQSUNNRChDQVBJX0RJU0NPTk5FQ1RfQjMsIENBUElfUkVRKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQ0FQSV9ESVNDT05ORUNUX0IzX0NPTkYgQ0FQSUNNRChDQVBJX0RJU0NPTk5FQ1RfQjMsQ0FQSV9DT05GKQotI2RlZmluZSBDQVBJX0RJU0NPTk5FQ1RfQjNfSU5EIENBUElDTUQoQ0FQSV9ESVNDT05ORUNUX0IzLENBUElfSU5EKQotI2RlZmluZSBDQVBJX0RJU0NPTk5FQ1RfQjNfUkVTUCBDQVBJQ01EKENBUElfRElTQ09OTkVDVF9CMyxDQVBJX1JFU1ApCi0jZGVmaW5lIENBUElfUkVTRVRfQjNfUkVRIENBUElDTUQoQ0FQSV9SRVNFVF9CMyxDQVBJX1JFUSkKKyNkZWZpbmUgQ0FQSV9ESVNDT05ORUNUX0IzX0NPTkYgQ0FQSUNNRChDQVBJX0RJU0NPTk5FQ1RfQjMsIENBUElfQ09ORikKKyNkZWZpbmUgQ0FQSV9ESVNDT05ORUNUX0IzX0lORCBDQVBJQ01EKENBUElfRElTQ09OTkVDVF9CMywgQ0FQSV9JTkQpCisjZGVmaW5lIENBUElfRElTQ09OTkVDVF9CM19SRVNQIENBUElDTUQoQ0FQSV9ESVNDT05ORUNUX0IzLCBDQVBJX1JFU1ApCisjZGVmaW5lIENBUElfUkVTRVRfQjNfUkVRIENBUElDTUQoQ0FQSV9SRVNFVF9CMywgQ0FQSV9SRVEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX1JFU0VUX0IzX0NPTkYgQ0FQSUNNRChDQVBJX1JFU0VUX0IzLENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9SRVNFVF9CM19JTkQgQ0FQSUNNRChDQVBJX1JFU0VUX0IzLENBUElfSU5EKQotI2RlZmluZSBDQVBJX1JFU0VUX0IzX1JFU1AgQ0FQSUNNRChDQVBJX1JFU0VUX0IzLENBUElfUkVTUCkKLSNkZWZpbmUgQ0FQSV9MSVNURU5fUkVRIENBUElDTUQoQ0FQSV9MSVNURU4sQ0FQSV9SRVEpCisjZGVmaW5lIENBUElfUkVTRVRfQjNfQ09ORiBDQVBJQ01EKENBUElfUkVTRVRfQjMsIENBUElfQ09ORikKKyNkZWZpbmUgQ0FQSV9SRVNFVF9CM19JTkQgQ0FQSUNNRChDQVBJX1JFU0VUX0IzLCBDQVBJX0lORCkKKyNkZWZpbmUgQ0FQSV9SRVNFVF9CM19SRVNQIENBUElDTUQoQ0FQSV9SRVNFVF9CMywgQ0FQSV9SRVNQKQorI2RlZmluZSBDQVBJX0xJU1RFTl9SRVEgQ0FQSUNNRChDQVBJX0xJU1RFTiwgQ0FQSV9SRVEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX0xJU1RFTl9DT05GIENBUElDTUQoQ0FQSV9MSVNURU4sQ0FQSV9DT05GKQotI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9SRVEgQ0FQSUNNRChDQVBJX01BTlVGQUNUVVJFUixDQVBJX1JFUSkKLSNkZWZpbmUgQ0FQSV9NQU5VRkFDVFVSRVJfQ09ORiBDQVBJQ01EKENBUElfTUFOVUZBQ1RVUkVSLENBUElfQ09ORikKLSNkZWZpbmUgQ0FQSV9NQU5VRkFDVFVSRVJfSU5EIENBUElDTUQoQ0FQSV9NQU5VRkFDVFVSRVIsQ0FQSV9JTkQpCisjZGVmaW5lIENBUElfTElTVEVOX0NPTkYgQ0FQSUNNRChDQVBJX0xJU1RFTiwgQ0FQSV9DT05GKQorI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9SRVEgQ0FQSUNNRChDQVBJX01BTlVGQUNUVVJFUiwgQ0FQSV9SRVEpCisjZGVmaW5lIENBUElfTUFOVUZBQ1RVUkVSX0NPTkYgQ0FQSUNNRChDQVBJX01BTlVGQUNUVVJFUiwgQ0FQSV9DT05GKQorI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9JTkQgQ0FQSUNNRChDQVBJX01BTlVGQUNUVVJFUiwgQ0FQSV9JTkQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX01BTlVGQUNUVVJFUl9SRVNQIENBUElDTUQoQ0FQSV9NQU5VRkFDVFVSRVIsQ0FQSV9SRVNQKQotI2RlZmluZSBDQVBJX0ZBQ0lMSVRZX1JFUSBDQVBJQ01EKENBUElfRkFDSUxJVFksQ0FQSV9SRVEpCi0jZGVmaW5lIENBUElfRkFDSUxJVFlfQ09ORiBDQVBJQ01EKENBUElfRkFDSUxJVFksQ0FQSV9DT05GKQotI2RlZmluZSBDQVBJX0ZBQ0lMSVRZX0lORCBDQVBJQ01EKENBUElfRkFDSUxJVFksQ0FQSV9JTkQpCisjZGVmaW5lIENBUElfTUFOVUZBQ1RVUkVSX1JFU1AgQ0FQSUNNRChDQVBJX01BTlVGQUNUVVJFUiwgQ0FQSV9SRVNQKQorI2RlZmluZSBDQVBJX0ZBQ0lMSVRZX1JFUSBDQVBJQ01EKENBUElfRkFDSUxJVFksIENBUElfUkVRKQorI2RlZmluZSBDQVBJX0ZBQ0lMSVRZX0NPTkYgQ0FQSUNNRChDQVBJX0ZBQ0lMSVRZLCBDQVBJX0NPTkYpCisjZGVmaW5lIENBUElfRkFDSUxJVFlfSU5EIENBUElDTUQoQ0FQSV9GQUNJTElUWSwgQ0FQSV9JTkQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBDQVBJX0ZBQ0lMSVRZX1JFU1AgQ0FQSUNNRChDQVBJX0ZBQ0lMSVRZLENBUElfUkVTUCkKLSNkZWZpbmUgQ0FQSV9JTkZPX1JFUSBDQVBJQ01EKENBUElfSU5GTyxDQVBJX1JFUSkKLSNkZWZpbmUgQ0FQSV9JTkZPX0NPTkYgQ0FQSUNNRChDQVBJX0lORk8sQ0FQSV9DT05GKQotI2RlZmluZSBDQVBJX0lORk9fSU5EIENBUElDTUQoQ0FQSV9JTkZPLENBUElfSU5EKQorI2RlZmluZSBDQVBJX0ZBQ0lMSVRZX1JFU1AgQ0FQSUNNRChDQVBJX0ZBQ0lMSVRZLCBDQVBJX1JFU1ApCisjZGVmaW5lIENBUElfSU5GT19SRVEgQ0FQSUNNRChDQVBJX0lORk8sIENBUElfUkVRKQorI2RlZmluZSBDQVBJX0lORk9fQ09ORiBDQVBJQ01EKENBUElfSU5GTywgQ0FQSV9DT05GKQorI2RlZmluZSBDQVBJX0lORk9fSU5EIENBUElDTUQoQ0FQSV9JTkZPLCBDQVBJX0lORCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIENBUElfSU5GT19SRVNQIENBUElDTUQoQ0FQSV9JTkZPLENBUElfUkVTUCkKKyNkZWZpbmUgQ0FQSV9JTkZPX1JFU1AgQ0FQSUNNRChDQVBJX0lORk8sIENBUElfUkVTUCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pc2RuX3BwcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pc2RuX3BwcC5oCmluZGV4IGNlMDhmMmYuLjcxMmEwNzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXNkbl9wcHAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzZG5fcHBwLmgKQEAgLTIzLDUxICsyMyw0OSBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ0FMTFRZUEVfQ0FMTEJBQ0sgMHg0CiAjZGVmaW5lIElQUFBfVkVSU0lPTiAiMi4yLjAiCi1zdHJ1Y3QgcHBwY2FsbGluZm8KLXsKK3N0cnVjdCBwcHBjYWxsaW5mbyB7CisgIGludCBjYWxsdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNhbGx0eXBlOwotIHVuc2lnbmVkIGNoYXIgbG9jYWxfbnVtWzY0XTsKLSB1bnNpZ25lZCBjaGFyIHJlbW90ZV9udW1bNjRdOwotIGludCBjaGFyZ2VfdW5pdHM7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBjaGFyIGxvY2FsX251bVs2NF07CisgIHVuc2lnbmVkIGNoYXIgcmVtb3RlX251bVs2NF07CisgIGludCBjaGFyZ2VfdW5pdHM7CiB9OwotI2RlZmluZSBQUFBJT0NHQ0FMTElORk8gX0lPV1IoJ3QnLDEyOCxzdHJ1Y3QgcHBwY2FsbGluZm8pCi0jZGVmaW5lIFBQUElPQ0JVTkRMRSBfSU9XKCd0JywxMjksaW50KQotI2RlZmluZSBQUFBJT0NHTVBGTEFHUyBfSU9SKCd0JywxMzAsaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUFBQSU9DU01QRkxBR1MgX0lPVygndCcsMTMxLGludCkKLSNkZWZpbmUgUFBQSU9DU01QTVRVIF9JT1coJ3QnLDEzMixpbnQpCi0jZGVmaW5lIFBQUElPQ1NNUE1SVSBfSU9XKCd0JywxMzMsaW50KQotI2RlZmluZSBQUFBJT0NHQ09NUFJFU1NPUlMgX0lPUigndCcsMTM0LHVuc2lnbmVkIGxvbmcgWzhdKQorI2RlZmluZSBQUFBJT0NHQ0FMTElORk8gX0lPV1IoJ3QnLCAxMjgsIHN0cnVjdCBwcHBjYWxsaW5mbykKKyNkZWZpbmUgUFBQSU9DQlVORExFIF9JT1coJ3QnLCAxMjksIGludCkKKyNkZWZpbmUgUFBQSU9DR01QRkxBR1MgX0lPUigndCcsIDEzMCwgaW50KQorI2RlZmluZSBQUFBJT0NTTVBGTEFHUyBfSU9XKCd0JywgMTMxLCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQUFBJT0NTQ09NUFJFU1NPUiBfSU9XKCd0JywxMzUsaW50KQotI2RlZmluZSBQUFBJT0NHSUZOQU1FIF9JT1IoJ3QnLDEzNiwgY2hhciBbSUZOQU1TSVpdICkKKyNkZWZpbmUgUFBQSU9DU01QTVRVIF9JT1coJ3QnLCAxMzIsIGludCkKKyNkZWZpbmUgUFBQSU9DU01QTVJVIF9JT1coJ3QnLCAxMzMsIGludCkKKyNkZWZpbmUgUFBQSU9DR0NPTVBSRVNTT1JTIF9JT1IoJ3QnLCAxMzQsIHVuc2lnbmVkIGxvbmdbOF0pCisjZGVmaW5lIFBQUElPQ1NDT01QUkVTU09SIF9JT1coJ3QnLCAxMzUsIGludCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBQUElPQ0dJRk5BTUUgX0lPUigndCcsIDEzNiwgY2hhcltJRk5BTVNJWl0pCiAjZGVmaW5lIFNDX01QX1BST1QgMHgwMDAwMDIwMAogI2RlZmluZSBTQ19SRUpfTVBfUFJPVCAweDAwMDAwNDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQ19PVVRfU0hPUlRfU0VRIDB4MDAwMDA4MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNDX0lOX1NIT1JUX1NFUSAweDAwMDA0MDAwCiAjZGVmaW5lIFNDX0RFQ09NUF9PTiAweDAxCiAjZGVmaW5lIFNDX0NPTVBfT04gMHgwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0NfREVDT01QX0RJU0NBUkQgMHgwNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0NfQ09NUF9ESVNDQVJEIDB4MDgKICNkZWZpbmUgU0NfTElOS19ERUNPTVBfT04gMHgxMAogI2RlZmluZSBTQ19MSU5LX0NPTVBfT04gMHgyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0NfTElOS19ERUNPTVBfRElTQ0FSRCAweDQwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQ19MSU5LX0NPTVBfRElTQ0FSRCAweDgwCiAjZGVmaW5lIElTRE5fUFBQX0NPTVBfTUFYX09QVElPTlMgMTYKICNkZWZpbmUgSVBQUF9DT01QX0ZMQUdfWE1JVCAweDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQUFBfQ09NUF9GTEFHX0xJTksgMHgyCi1zdHJ1Y3QgaXNkbl9wcHBfY29tcF9kYXRhIHsKLSBpbnQgbnVtOwotIHVuc2lnbmVkIGNoYXIgb3B0aW9uc1tJU0ROX1BQUF9DT01QX01BWF9PUFRJT05TXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG9wdGxlbjsKLSBpbnQgZmxhZ3M7CitzdHJ1Y3QgaXNkbl9wcHBfY29tcF9kYXRhIHsKKyAgaW50IG51bTsKKyAgdW5zaWduZWQgY2hhciBvcHRpb25zW0lTRE5fUFBQX0NPTVBfTUFYX09QVElPTlNdOworICBpbnQgb3B0bGVuOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IGZsYWdzOwogfTsKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXNvX2ZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2lzb19mcy5oCmluZGV4IDBiN2I3NDIuLmRjN2ExN2QgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXNvX2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pc29fZnMuaApAQCAtMjEsMTMgKzIxLDEzIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9tYWdpYy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVNPRENMKGZyb20sIHRvKSAodG8gLSBmcm9tICsgMSkKKyNkZWZpbmUgSVNPRENMKGZyb20sdG8pICh0byAtIGZyb20gKyAxKQogc3RydWN0IGlzb192b2x1bWVfZGVzY3JpcHRvciB7Ci0gY2hhciB0eXBlW0lTT0RDTCgxLDEpXTsKLSBjaGFyIGlkW0lTT0RDTCgyLDYpXTsKKyAgY2hhciB0eXBlW0lTT0RDTCgxLCAxKV07CisgIGNoYXIgaWRbSVNPRENMKDIsIDYpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB2ZXJzaW9uW0lTT0RDTCg3LDcpXTsKLSBjaGFyIGRhdGFbSVNPRENMKDgsMjA0OCldOworICBjaGFyIHZlcnNpb25bSVNPRENMKDcsIDcpXTsKKyAgY2hhciBkYXRhW0lTT0RDTCg4LCAyMDQ4KV07CiB9OwogI2RlZmluZSBJU09fVkRfUFJJTUFSWSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzYsMTQ4ICszNiwxNDggQEAKICNkZWZpbmUgSVNPX1NUQU5EQVJEX0lEICJDRDAwMSIKIHN0cnVjdCBpc29fcHJpbWFyeV9kZXNjcmlwdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB0eXBlIFtJU09EQ0wgKCAxLCAxKV07Ci0gY2hhciBpZCBbSVNPRENMICggMiwgNildOwotIGNoYXIgdmVyc2lvbiBbSVNPRENMICggNywgNyldOwotIGNoYXIgdW51c2VkMSBbSVNPRENMICggOCwgOCldOworICBjaGFyIHR5cGVbSVNPRENMKDEsIDEpXTsKKyAgY2hhciBpZFtJU09EQ0woMiwgNildOworICBjaGFyIHZlcnNpb25bSVNPRENMKDcsIDcpXTsKKyAgY2hhciB1bnVzZWQxW0lTT0RDTCg4LCA4KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc3lzdGVtX2lkIFtJU09EQ0wgKCA5LCA0MCldOwotIGNoYXIgdm9sdW1lX2lkIFtJU09EQ0wgKCA0MSwgNzIpXTsKLSBjaGFyIHVudXNlZDIgW0lTT0RDTCAoIDczLCA4MCldOwotIGNoYXIgdm9sdW1lX3NwYWNlX3NpemUgW0lTT0RDTCAoIDgxLCA4OCldOworICBjaGFyIHN5c3RlbV9pZFtJU09EQ0woOSwgNDApXTsKKyAgY2hhciB2b2x1bWVfaWRbSVNPRENMKDQxLCA3MildOworICBjaGFyIHVudXNlZDJbSVNPRENMKDczLCA4MCldOworICBjaGFyIHZvbHVtZV9zcGFjZV9zaXplW0lTT0RDTCg4MSwgODgpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB1bnVzZWQzIFtJU09EQ0wgKCA4OSwgMTIwKV07Ci0gY2hhciB2b2x1bWVfc2V0X3NpemUgW0lTT0RDTCAoMTIxLCAxMjQpXTsKLSBjaGFyIHZvbHVtZV9zZXF1ZW5jZV9udW1iZXIgW0lTT0RDTCAoMTI1LCAxMjgpXTsKLSBjaGFyIGxvZ2ljYWxfYmxvY2tfc2l6ZSBbSVNPRENMICgxMjksIDEzMildOworICBjaGFyIHVudXNlZDNbSVNPRENMKDg5LCAxMjApXTsKKyAgY2hhciB2b2x1bWVfc2V0X3NpemVbSVNPRENMKDEyMSwgMTI0KV07CisgIGNoYXIgdm9sdW1lX3NlcXVlbmNlX251bWJlcltJU09EQ0woMTI1LCAxMjgpXTsKKyAgY2hhciBsb2dpY2FsX2Jsb2NrX3NpemVbSVNPRENMKDEyOSwgMTMyKV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcGF0aF90YWJsZV9zaXplIFtJU09EQ0wgKDEzMywgMTQwKV07Ci0gY2hhciB0eXBlX2xfcGF0aF90YWJsZSBbSVNPRENMICgxNDEsIDE0NCldOwotIGNoYXIgb3B0X3R5cGVfbF9wYXRoX3RhYmxlIFtJU09EQ0wgKDE0NSwgMTQ4KV07Ci0gY2hhciB0eXBlX21fcGF0aF90YWJsZSBbSVNPRENMICgxNDksIDE1MildOworICBjaGFyIHBhdGhfdGFibGVfc2l6ZVtJU09EQ0woMTMzLCAxNDApXTsKKyAgY2hhciB0eXBlX2xfcGF0aF90YWJsZVtJU09EQ0woMTQxLCAxNDQpXTsKKyAgY2hhciBvcHRfdHlwZV9sX3BhdGhfdGFibGVbSVNPRENMKDE0NSwgMTQ4KV07CisgIGNoYXIgdHlwZV9tX3BhdGhfdGFibGVbSVNPRENMKDE0OSwgMTUyKV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgb3B0X3R5cGVfbV9wYXRoX3RhYmxlIFtJU09EQ0wgKDE1MywgMTU2KV07Ci0gY2hhciByb290X2RpcmVjdG9yeV9yZWNvcmQgW0lTT0RDTCAoMTU3LCAxOTApXTsKLSBjaGFyIHZvbHVtZV9zZXRfaWQgW0lTT0RDTCAoMTkxLCAzMTgpXTsKLSBjaGFyIHB1Ymxpc2hlcl9pZCBbSVNPRENMICgzMTksIDQ0NildOworICBjaGFyIG9wdF90eXBlX21fcGF0aF90YWJsZVtJU09EQ0woMTUzLCAxNTYpXTsKKyAgY2hhciByb290X2RpcmVjdG9yeV9yZWNvcmRbSVNPRENMKDE1NywgMTkwKV07CisgIGNoYXIgdm9sdW1lX3NldF9pZFtJU09EQ0woMTkxLCAzMTgpXTsKKyAgY2hhciBwdWJsaXNoZXJfaWRbSVNPRENMKDMxOSwgNDQ2KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcHJlcGFyZXJfaWQgW0lTT0RDTCAoNDQ3LCA1NzQpXTsKLSBjaGFyIGFwcGxpY2F0aW9uX2lkIFtJU09EQ0wgKDU3NSwgNzAyKV07Ci0gY2hhciBjb3B5cmlnaHRfZmlsZV9pZCBbSVNPRENMICg3MDMsIDczOSldOwotIGNoYXIgYWJzdHJhY3RfZmlsZV9pZCBbSVNPRENMICg3NDAsIDc3NildOworICBjaGFyIHByZXBhcmVyX2lkW0lTT0RDTCg0NDcsIDU3NCldOworICBjaGFyIGFwcGxpY2F0aW9uX2lkW0lTT0RDTCg1NzUsIDcwMildOworICBjaGFyIGNvcHlyaWdodF9maWxlX2lkW0lTT0RDTCg3MDMsIDczOSldOworICBjaGFyIGFic3RyYWN0X2ZpbGVfaWRbSVNPRENMKDc0MCwgNzc2KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgYmlibGlvZ3JhcGhpY19maWxlX2lkIFtJU09EQ0wgKDc3NywgODEzKV07Ci0gY2hhciBjcmVhdGlvbl9kYXRlIFtJU09EQ0wgKDgxNCwgODMwKV07Ci0gY2hhciBtb2RpZmljYXRpb25fZGF0ZSBbSVNPRENMICg4MzEsIDg0NyldOwotIGNoYXIgZXhwaXJhdGlvbl9kYXRlIFtJU09EQ0wgKDg0OCwgODY0KV07CisgIGNoYXIgYmlibGlvZ3JhcGhpY19maWxlX2lkW0lTT0RDTCg3NzcsIDgxMyldOworICBjaGFyIGNyZWF0aW9uX2RhdGVbSVNPRENMKDgxNCwgODMwKV07CisgIGNoYXIgbW9kaWZpY2F0aW9uX2RhdGVbSVNPRENMKDgzMSwgODQ3KV07CisgIGNoYXIgZXhwaXJhdGlvbl9kYXRlW0lTT0RDTCg4NDgsIDg2NCldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGVmZmVjdGl2ZV9kYXRlIFtJU09EQ0wgKDg2NSwgODgxKV07Ci0gY2hhciBmaWxlX3N0cnVjdHVyZV92ZXJzaW9uIFtJU09EQ0wgKDg4MiwgODgyKV07Ci0gY2hhciB1bnVzZWQ0IFtJU09EQ0wgKDg4MywgODgzKV07Ci0gY2hhciBhcHBsaWNhdGlvbl9kYXRhIFtJU09EQ0wgKDg4NCwgMTM5NSldOworICBjaGFyIGVmZmVjdGl2ZV9kYXRlW0lTT0RDTCg4NjUsIDg4MSldOworICBjaGFyIGZpbGVfc3RydWN0dXJlX3ZlcnNpb25bSVNPRENMKDg4MiwgODgyKV07CisgIGNoYXIgdW51c2VkNFtJU09EQ0woODgzLCA4ODMpXTsKKyAgY2hhciBhcHBsaWNhdGlvbl9kYXRhW0lTT0RDTCg4ODQsIDEzOTUpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB1bnVzZWQ1IFtJU09EQ0wgKDEzOTYsIDIwNDgpXTsKKyAgY2hhciB1bnVzZWQ1W0lTT0RDTCgxMzk2LCAyMDQ4KV07CiB9Owogc3RydWN0IGlzb19zdXBwbGVtZW50YXJ5X2Rlc2NyaXB0b3IgewotIGNoYXIgdHlwZSBbSVNPRENMICggMSwgMSldOworICBjaGFyIHR5cGVbSVNPRENMKDEsIDEpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBpZCBbSVNPRENMICggMiwgNildOwotIGNoYXIgdmVyc2lvbiBbSVNPRENMICggNywgNyldOwotIGNoYXIgZmxhZ3MgW0lTT0RDTCAoIDgsIDgpXTsKLSBjaGFyIHN5c3RlbV9pZCBbSVNPRENMICggOSwgNDApXTsKKyAgY2hhciBpZFtJU09EQ0woMiwgNildOworICBjaGFyIHZlcnNpb25bSVNPRENMKDcsIDcpXTsKKyAgY2hhciBmbGFnc1tJU09EQ0woOCwgOCldOworICBjaGFyIHN5c3RlbV9pZFtJU09EQ0woOSwgNDApXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB2b2x1bWVfaWQgW0lTT0RDTCAoIDQxLCA3MildOwotIGNoYXIgdW51c2VkMiBbSVNPRENMICggNzMsIDgwKV07Ci0gY2hhciB2b2x1bWVfc3BhY2Vfc2l6ZSBbSVNPRENMICggODEsIDg4KV07Ci0gY2hhciBlc2NhcGUgW0lTT0RDTCAoIDg5LCAxMjApXTsKKyAgY2hhciB2b2x1bWVfaWRbSVNPRENMKDQxLCA3MildOworICBjaGFyIHVudXNlZDJbSVNPRENMKDczLCA4MCldOworICBjaGFyIHZvbHVtZV9zcGFjZV9zaXplW0lTT0RDTCg4MSwgODgpXTsKKyAgY2hhciBlc2NhcGVbSVNPRENMKDg5LCAxMjApXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB2b2x1bWVfc2V0X3NpemUgW0lTT0RDTCAoMTIxLCAxMjQpXTsKLSBjaGFyIHZvbHVtZV9zZXF1ZW5jZV9udW1iZXIgW0lTT0RDTCAoMTI1LCAxMjgpXTsKLSBjaGFyIGxvZ2ljYWxfYmxvY2tfc2l6ZSBbSVNPRENMICgxMjksIDEzMildOwotIGNoYXIgcGF0aF90YWJsZV9zaXplIFtJU09EQ0wgKDEzMywgMTQwKV07CisgIGNoYXIgdm9sdW1lX3NldF9zaXplW0lTT0RDTCgxMjEsIDEyNCldOworICBjaGFyIHZvbHVtZV9zZXF1ZW5jZV9udW1iZXJbSVNPRENMKDEyNSwgMTI4KV07CisgIGNoYXIgbG9naWNhbF9ibG9ja19zaXplW0lTT0RDTCgxMjksIDEzMildOworICBjaGFyIHBhdGhfdGFibGVfc2l6ZVtJU09EQ0woMTMzLCAxNDApXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB0eXBlX2xfcGF0aF90YWJsZSBbSVNPRENMICgxNDEsIDE0NCldOwotIGNoYXIgb3B0X3R5cGVfbF9wYXRoX3RhYmxlIFtJU09EQ0wgKDE0NSwgMTQ4KV07Ci0gY2hhciB0eXBlX21fcGF0aF90YWJsZSBbSVNPRENMICgxNDksIDE1MildOwotIGNoYXIgb3B0X3R5cGVfbV9wYXRoX3RhYmxlIFtJU09EQ0wgKDE1MywgMTU2KV07CisgIGNoYXIgdHlwZV9sX3BhdGhfdGFibGVbSVNPRENMKDE0MSwgMTQ0KV07CisgIGNoYXIgb3B0X3R5cGVfbF9wYXRoX3RhYmxlW0lTT0RDTCgxNDUsIDE0OCldOworICBjaGFyIHR5cGVfbV9wYXRoX3RhYmxlW0lTT0RDTCgxNDksIDE1MildOworICBjaGFyIG9wdF90eXBlX21fcGF0aF90YWJsZVtJU09EQ0woMTUzLCAxNTYpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciByb290X2RpcmVjdG9yeV9yZWNvcmQgW0lTT0RDTCAoMTU3LCAxOTApXTsKLSBjaGFyIHZvbHVtZV9zZXRfaWQgW0lTT0RDTCAoMTkxLCAzMTgpXTsKLSBjaGFyIHB1Ymxpc2hlcl9pZCBbSVNPRENMICgzMTksIDQ0NildOwotIGNoYXIgcHJlcGFyZXJfaWQgW0lTT0RDTCAoNDQ3LCA1NzQpXTsKKyAgY2hhciByb290X2RpcmVjdG9yeV9yZWNvcmRbSVNPRENMKDE1NywgMTkwKV07CisgIGNoYXIgdm9sdW1lX3NldF9pZFtJU09EQ0woMTkxLCAzMTgpXTsKKyAgY2hhciBwdWJsaXNoZXJfaWRbSVNPRENMKDMxOSwgNDQ2KV07CisgIGNoYXIgcHJlcGFyZXJfaWRbSVNPRENMKDQ0NywgNTc0KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgYXBwbGljYXRpb25faWQgW0lTT0RDTCAoNTc1LCA3MDIpXTsKLSBjaGFyIGNvcHlyaWdodF9maWxlX2lkIFtJU09EQ0wgKDcwMywgNzM5KV07Ci0gY2hhciBhYnN0cmFjdF9maWxlX2lkIFtJU09EQ0wgKDc0MCwgNzc2KV07Ci0gY2hhciBiaWJsaW9ncmFwaGljX2ZpbGVfaWQgW0lTT0RDTCAoNzc3LCA4MTMpXTsKKyAgY2hhciBhcHBsaWNhdGlvbl9pZFtJU09EQ0woNTc1LCA3MDIpXTsKKyAgY2hhciBjb3B5cmlnaHRfZmlsZV9pZFtJU09EQ0woNzAzLCA3MzkpXTsKKyAgY2hhciBhYnN0cmFjdF9maWxlX2lkW0lTT0RDTCg3NDAsIDc3NildOworICBjaGFyIGJpYmxpb2dyYXBoaWNfZmlsZV9pZFtJU09EQ0woNzc3LCA4MTMpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBjcmVhdGlvbl9kYXRlIFtJU09EQ0wgKDgxNCwgODMwKV07Ci0gY2hhciBtb2RpZmljYXRpb25fZGF0ZSBbSVNPRENMICg4MzEsIDg0NyldOwotIGNoYXIgZXhwaXJhdGlvbl9kYXRlIFtJU09EQ0wgKDg0OCwgODY0KV07Ci0gY2hhciBlZmZlY3RpdmVfZGF0ZSBbSVNPRENMICg4NjUsIDg4MSldOworICBjaGFyIGNyZWF0aW9uX2RhdGVbSVNPRENMKDgxNCwgODMwKV07CisgIGNoYXIgbW9kaWZpY2F0aW9uX2RhdGVbSVNPRENMKDgzMSwgODQ3KV07CisgIGNoYXIgZXhwaXJhdGlvbl9kYXRlW0lTT0RDTCg4NDgsIDg2NCldOworICBjaGFyIGVmZmVjdGl2ZV9kYXRlW0lTT0RDTCg4NjUsIDg4MSldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGZpbGVfc3RydWN0dXJlX3ZlcnNpb24gW0lTT0RDTCAoODgyLCA4ODIpXTsKLSBjaGFyIHVudXNlZDQgW0lTT0RDTCAoODgzLCA4ODMpXTsKLSBjaGFyIGFwcGxpY2F0aW9uX2RhdGEgW0lTT0RDTCAoODg0LCAxMzk1KV07Ci0gY2hhciB1bnVzZWQ1IFtJU09EQ0wgKDEzOTYsIDIwNDgpXTsKKyAgY2hhciBmaWxlX3N0cnVjdHVyZV92ZXJzaW9uW0lTT0RDTCg4ODIsIDg4MildOworICBjaGFyIHVudXNlZDRbSVNPRENMKDg4MywgODgzKV07CisgIGNoYXIgYXBwbGljYXRpb25fZGF0YVtJU09EQ0woODg0LCAxMzk1KV07CisgIGNoYXIgdW51c2VkNVtJU09EQ0woMTM5NiwgMjA0OCldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEhTX1NUQU5EQVJEX0lEICJDRFJPTSIKIHN0cnVjdCBoc192b2x1bWVfZGVzY3JpcHRvciB7Ci0gY2hhciBmb28gW0lTT0RDTCAoIDEsIDgpXTsKKyAgY2hhciBmb29bSVNPRENMKDEsIDgpXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciB0eXBlIFtJU09EQ0wgKCA5LCA5KV07Ci0gY2hhciBpZCBbSVNPRENMICggMTAsIDE0KV07Ci0gY2hhciB2ZXJzaW9uIFtJU09EQ0wgKCAxNSwgMTUpXTsKLSBjaGFyIGRhdGFbSVNPRENMKDE2LDIwNDgpXTsKKyAgY2hhciB0eXBlW0lTT0RDTCg5LCA5KV07CisgIGNoYXIgaWRbSVNPRENMKDEwLCAxNCldOworICBjaGFyIHZlcnNpb25bSVNPRENMKDE1LCAxNSldOworICBjaGFyIGRhdGFbSVNPRENMKDE2LCAyMDQ4KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBoc19wcmltYXJ5X2Rlc2NyaXB0b3IgewotIGNoYXIgZm9vIFtJU09EQ0wgKCAxLCA4KV07Ci0gY2hhciB0eXBlIFtJU09EQ0wgKCA5LCA5KV07CisgIGNoYXIgZm9vW0lTT0RDTCgxLCA4KV07CisgIGNoYXIgdHlwZVtJU09EQ0woOSwgOSldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGlkIFtJU09EQ0wgKCAxMCwgMTQpXTsKLSBjaGFyIHZlcnNpb24gW0lTT0RDTCAoIDE1LCAxNSldOwotIGNoYXIgdW51c2VkMSBbSVNPRENMICggMTYsIDE2KV07Ci0gY2hhciBzeXN0ZW1faWQgW0lTT0RDTCAoIDE3LCA0OCldOworICBjaGFyIGlkW0lTT0RDTCgxMCwgMTQpXTsKKyAgY2hhciB2ZXJzaW9uW0lTT0RDTCgxNSwgMTUpXTsKKyAgY2hhciB1bnVzZWQxW0lTT0RDTCgxNiwgMTYpXTsKKyAgY2hhciBzeXN0ZW1faWRbSVNPRENMKDE3LCA0OCldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHZvbHVtZV9pZCBbSVNPRENMICggNDksIDgwKV07Ci0gY2hhciB1bnVzZWQyIFtJU09EQ0wgKCA4MSwgODgpXTsKLSBjaGFyIHZvbHVtZV9zcGFjZV9zaXplIFtJU09EQ0wgKCA4OSwgOTYpXTsKLSBjaGFyIHVudXNlZDMgW0lTT0RDTCAoIDk3LCAxMjgpXTsKKyAgY2hhciB2b2x1bWVfaWRbSVNPRENMKDQ5LCA4MCldOworICBjaGFyIHVudXNlZDJbSVNPRENMKDgxLCA4OCldOworICBjaGFyIHZvbHVtZV9zcGFjZV9zaXplW0lTT0RDTCg4OSwgOTYpXTsKKyAgY2hhciB1bnVzZWQzW0lTT0RDTCg5NywgMTI4KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgdm9sdW1lX3NldF9zaXplIFtJU09EQ0wgKDEyOSwgMTMyKV07Ci0gY2hhciB2b2x1bWVfc2VxdWVuY2VfbnVtYmVyIFtJU09EQ0wgKDEzMywgMTM2KV07Ci0gY2hhciBsb2dpY2FsX2Jsb2NrX3NpemUgW0lTT0RDTCAoMTM3LCAxNDApXTsKLSBjaGFyIHBhdGhfdGFibGVfc2l6ZSBbSVNPRENMICgxNDEsIDE0OCldOworICBjaGFyIHZvbHVtZV9zZXRfc2l6ZVtJU09EQ0woMTI5LCAxMzIpXTsKKyAgY2hhciB2b2x1bWVfc2VxdWVuY2VfbnVtYmVyW0lTT0RDTCgxMzMsIDEzNildOworICBjaGFyIGxvZ2ljYWxfYmxvY2tfc2l6ZVtJU09EQ0woMTM3LCAxNDApXTsKKyAgY2hhciBwYXRoX3RhYmxlX3NpemVbSVNPRENMKDE0MSwgMTQ4KV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgdHlwZV9sX3BhdGhfdGFibGUgW0lTT0RDTCAoMTQ5LCAxNTIpXTsKLSBjaGFyIHVudXNlZDQgW0lTT0RDTCAoMTUzLCAxODApXTsKLSBjaGFyIHJvb3RfZGlyZWN0b3J5X3JlY29yZCBbSVNPRENMICgxODEsIDIxNCldOworICBjaGFyIHR5cGVfbF9wYXRoX3RhYmxlW0lTT0RDTCgxNDksIDE1MildOworICBjaGFyIHVudXNlZDRbSVNPRENMKDE1MywgMTgwKV07CisgIGNoYXIgcm9vdF9kaXJlY3RvcnlfcmVjb3JkW0lTT0RDTCgxODEsIDIxNCldOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgaXNvX3BhdGhfdGFibGV7Ci0gdW5zaWduZWQgY2hhciBuYW1lX2xlblsyXTsKLSBjaGFyIGV4dGVudFs0XTsKLSBjaGFyIHBhcmVudFsyXTsKK3N0cnVjdCBpc29fcGF0aF90YWJsZSB7CisgIHVuc2lnbmVkIGNoYXIgbmFtZV9sZW5bMl07CisgIGNoYXIgZXh0ZW50WzRdOworICBjaGFyIHBhcmVudFsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBuYW1lWzBdOworICBjaGFyIG5hbWVbMF07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IGlzb19kaXJlY3RvcnlfcmVjb3JkIHsKLSBjaGFyIGxlbmd0aCBbSVNPRENMICgxLCAxKV07CisgIGNoYXIgbGVuZ3RoW0lTT0RDTCgxLCAxKV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZXh0X2F0dHJfbGVuZ3RoIFtJU09EQ0wgKDIsIDIpXTsKLSBjaGFyIGV4dGVudCBbSVNPRENMICgzLCAxMCldOwotIGNoYXIgc2l6ZSBbSVNPRENMICgxMSwgMTgpXTsKLSBjaGFyIGRhdGUgW0lTT0RDTCAoMTksIDI1KV07CisgIGNoYXIgZXh0X2F0dHJfbGVuZ3RoW0lTT0RDTCgyLCAyKV07CisgIGNoYXIgZXh0ZW50W0lTT0RDTCgzLCAxMCldOworICBjaGFyIHNpemVbSVNPRENMKDExLCAxOCldOworICBjaGFyIGRhdGVbSVNPRENMKDE5LCAyNSldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGZsYWdzIFtJU09EQ0wgKDI2LCAyNildOwotIGNoYXIgZmlsZV91bml0X3NpemUgW0lTT0RDTCAoMjcsIDI3KV07Ci0gY2hhciBpbnRlcmxlYXZlIFtJU09EQ0wgKDI4LCAyOCldOwotIGNoYXIgdm9sdW1lX3NlcXVlbmNlX251bWJlciBbSVNPRENMICgyOSwgMzIpXTsKKyAgY2hhciBmbGFnc1tJU09EQ0woMjYsIDI2KV07CisgIGNoYXIgZmlsZV91bml0X3NpemVbSVNPRENMKDI3LCAyNyldOworICBjaGFyIGludGVybGVhdmVbSVNPRENMKDI4LCAyOCldOworICBjaGFyIHZvbHVtZV9zZXF1ZW5jZV9udW1iZXJbSVNPRENMKDI5LCAzMildOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIG5hbWVfbGVuIFtJU09EQ0wgKDMzLCAzMyldOwotIGNoYXIgbmFtZSBbMF07CisgIHVuc2lnbmVkIGNoYXIgbmFtZV9sZW5bSVNPRENMKDMzLCAzMyldOworICBjaGFyIG5hbWVbMF07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBJU09GU19CTE9DS19CSVRTIDExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pdnR2LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l2dHYuaAppbmRleCBkMWU2MjAxLi4zNTBjNmI3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l2dHYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l2dHYuaApAQCAtMjMsMjAgKzIzLDIwIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Mi5oPgogc3RydWN0IGl2dHZfZG1hX2ZyYW1lIHsKLSBlbnVtIHY0bDJfYnVmX3R5cGUgdHlwZTsKLSBfX3UzMiBwaXhlbGZvcm1hdDsKKyAgZW51bSB2NGwyX2J1Zl90eXBlIHR5cGU7CisgIF9fdTMyIHBpeGVsZm9ybWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2b2lkIF9fdXNlciAqeV9zb3VyY2U7Ci0gdm9pZCBfX3VzZXIgKnV2X3NvdXJjZTsKLSBzdHJ1Y3QgdjRsMl9yZWN0IHNyYzsKLSBzdHJ1Y3QgdjRsMl9yZWN0IGRzdDsKKyAgdm9pZCBfX3VzZXIgKiB5X3NvdXJjZTsKKyAgdm9pZCBfX3VzZXIgKiB1dl9zb3VyY2U7CisgIHN0cnVjdCB2NGwyX3JlY3Qgc3JjOworICBzdHJ1Y3QgdjRsMl9yZWN0IGRzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3JjX3dpZHRoOwotIF9fdTMyIHNyY19oZWlnaHQ7CisgIF9fdTMyIHNyY193aWR0aDsKKyAgX191MzIgc3JjX2hlaWdodDsKIH07Ci0jZGVmaW5lIElWVFZfSU9DX0RNQV9GUkFNRSBfSU9XICgnVicsIEJBU0VfVklESU9DX1BSSVZBVEUrMCwgc3RydWN0IGl2dHZfZG1hX2ZyYW1lKQorI2RlZmluZSBJVlRWX0lPQ19ETUFfRlJBTUUgX0lPVygnVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAwLCBzdHJ1Y3QgaXZ0dl9kbWFfZnJhbWUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJVlRWX0lPQ19QQVNTVEhST1VHSF9NT0RFIF9JT1cgKCdWJywgQkFTRV9WSURJT0NfUFJJVkFURSsxLCBpbnQpCisjZGVmaW5lIElWVFZfSU9DX1BBU1NUSFJPVUdIX01PREUgX0lPVygnVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAxLCBpbnQpCiAjZGVmaW5lIElWVFZfU0xJQ0VEX1RZUEVfVEVMRVRFWFRfQiBWNEwyX01QRUdfVkJJX0lWVFZfVEVMRVRFWFRfQgogI2RlZmluZSBJVlRWX1NMSUNFRF9UWVBFX0NBUFRJT05fNTI1IFY0TDJfTVBFR19WQklfSVZUVl9DQVBUSU9OXzUyNQogI2RlZmluZSBJVlRWX1NMSUNFRF9UWVBFX1dTU182MjUgVjRMMl9NUEVHX1ZCSV9JVlRWX1dTU182MjUKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXZ0dmZiLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l2dHZmYi5oCmluZGV4IDkwYTU4ODEuLjc0OWFlODMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvaXZ0dmZiLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9pdnR2ZmIuaApAQCAtMjIsMTAgKzIyLDEwIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXZ0dmZiX2RtYV9mcmFtZSB7Ci0gdm9pZCBfX3VzZXIgKnNvdXJjZTsKLSB1bnNpZ25lZCBsb25nIGRlc3Rfb2Zmc2V0OwotIGludCBjb3VudDsKKyAgdm9pZCBfX3VzZXIgKiBzb3VyY2U7CisgIHVuc2lnbmVkIGxvbmcgZGVzdF9vZmZzZXQ7CisgIGludCBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBJVlRWRkJfSU9DX0RNQV9GUkFNRSBfSU9XKCdWJywgQkFTRV9WSURJT0NfUFJJVkFURSswLCBzdHJ1Y3QgaXZ0dmZiX2RtYV9mcmFtZSkKKyNkZWZpbmUgSVZUVkZCX0lPQ19ETUFfRlJBTUUgX0lPVygnVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAwLCBzdHJ1Y3QgaXZ0dmZiX2RtYV9mcmFtZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9peGp1c2VyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l4anVzZXIuaAppbmRleCBjYTVkZDM4Li5jYjJlYTQ1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l4anVzZXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2l4anVzZXIuaApAQCAtMTksNyArMTksNyBAQAogI2lmbmRlZiBfX0xJTlVYX0lYSlVTRVJfSAogI2RlZmluZSBfX0xJTlVYX0lYSlVTRVJfSAogI2luY2x1ZGUgPGxpbnV4L3RlbGVwaG9ueS5oPgotI2RlZmluZSBJWEpDVExfRFNQX1JFU0VUIF9JTyAoJ3EnLCAweEMwKQorI2RlZmluZSBJWEpDVExfRFNQX1JFU0VUIF9JTygncScsIDB4QzApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJWEpDVExfUklORyBQSE9ORV9SSU5HCiAjZGVmaW5lIElYSkNUTF9IT09LU1RBVEUgUEhPTkVfSE9PS1NUQVRFCkBAIC0yOCwxNSArMjgsMTUgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElYSkNUTF9SSU5HX1NUQVJUIFBIT05FX1JJTkdfU1RBUlQKICNkZWZpbmUgSVhKQ1RMX1JJTkdfU1RPUCBQSE9ORV9SSU5HX1NUT1AKLSNkZWZpbmUgSVhKQ1RMX0NBUkRUWVBFIF9JT1IgKCdxJywgMHhDMSwgaW50KQotI2RlZmluZSBJWEpDVExfU0VSSUFMIF9JT1IgKCdxJywgMHhDMiwgaW50KQorI2RlZmluZSBJWEpDVExfQ0FSRFRZUEUgX0lPUigncScsIDB4QzEsIGludCkKKyNkZWZpbmUgSVhKQ1RMX1NFUklBTCBfSU9SKCdxJywgMHhDMiwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVhKQ1RMX0RTUF9UWVBFIF9JT1IgKCdxJywgMHhDMywgaW50KQotI2RlZmluZSBJWEpDVExfRFNQX1ZFUlNJT04gX0lPUiAoJ3EnLCAweEM0LCBpbnQpCi0jZGVmaW5lIElYSkNUTF9WRVJTSU9OIF9JT1IgKCdxJywgMHhEQSwgY2hhciAqKQotI2RlZmluZSBJWEpDVExfRFNQX0lETEUgX0lPICgncScsIDB4QzUpCisjZGVmaW5lIElYSkNUTF9EU1BfVFlQRSBfSU9SKCdxJywgMHhDMywgaW50KQorI2RlZmluZSBJWEpDVExfRFNQX1ZFUlNJT04gX0lPUigncScsIDB4QzQsIGludCkKKyNkZWZpbmUgSVhKQ1RMX1ZFUlNJT04gX0lPUigncScsIDB4REEsIGNoYXIgKikKKyNkZWZpbmUgSVhKQ1RMX0RTUF9JRExFIF9JTygncScsIDB4QzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJWEpDVExfVEVTVFJBTSBfSU8gKCdxJywgMHhDNikKKyNkZWZpbmUgSVhKQ1RMX1RFU1RSQU0gX0lPKCdxJywgMHhDNikKICNkZWZpbmUgSVhKQ1RMX1JFQ19DT0RFQyBQSE9ORV9SRUNfQ09ERUMKICNkZWZpbmUgSVhKQ1RMX1JFQ19TVEFSVCBQSE9ORV9SRUNfU1RBUlQKICNkZWZpbmUgSVhKQ1RMX1JFQ19TVE9QIFBIT05FX1JFQ19TVE9QCkBAIC00NywyMzEgKzQ3LDMyMSBAQAogI2RlZmluZSBJWEpDVExfUkVDX0xFVkVMIFBIT05FX1JFQ19MRVZFTAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgZW51bSB7Ci0gZjMwMF82NDAgPSA0LCBmMzAwXzUwMCwgZjExMDAsIGYzNTAsIGY0MDAsIGY0ODAsIGY0NDAsIGY2MjAsIGYyMF81MCwKLSBmMTMzXzIwMCwgZjMwMCwgZjMwMF80MjAsIGYzMzAsIGYzMDBfNDI1LCBmMzMwXzQ0MCwgZjM0MCwgZjM1MF80MDAsCi0gZjM1MF80NDAsIGYzNTBfNDUwLCBmMzYwLCBmMzgwXzQyMCwgZjM5MiwgZjQwMF80MjUsIGY0MDBfNDQwLCBmNDAwXzQ1MCwKKyAgZjMwMF82NDAgPSA0LAorICBmMzAwXzUwMCwKKyAgZjExMDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGY0MjAsIGY0MjUsIGY0MjVfNDUwLCBmNDI1XzQ3NSwgZjQzNSwgZjQ0MF80NTAsIGY0NDBfNDgwLCBmNDQ1LCBmNDUwLAotIGY0NTIsIGY0NzUsIGY0ODBfNjIwLCBmNDk0LCBmNTAwLCBmNTIwLCBmNTIzLCBmNTI1LCBmNTQwXzY2MCwgZjU4NywKLSBmNTkwLCBmNjAwLCBmNjYwLCBmNzAwLCBmNzQwLCBmNzUwLCBmNzUwXzE0NTAsIGY3NzAsIGY4MDAsIGY4MTYsIGY4NTAsCi0gZjg1N18xNjQ1LCBmOTAwLCBmOTAwXzEzMDAsIGY5MzVfMTIxNSwgZjk0MV8xNDc3LCBmOTQyLCBmOTUwLCBmOTUwXzE0MDAsCisgIGYzNTAsCisgIGY0MDAsCisgIGY0ODAsCisgIGY0NDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGY5NzUsIGYxMDAwLCBmMTAyMCwgZjEwNTAsIGYxMTAwXzE3NTAsIGYxMTQwLCBmMTIwMCwgZjEyMDksIGYxMzMwLCBmMTMzNiwKLSBsZjEzNjYsIGYxMzgwLCBmMTQwMCwgZjE0NzcsIGYxNjAwLCBmMTYzM18xNjM4LCBmMTgwMCwgZjE4NjAKKyAgZjYyMCwKKyAgZjIwXzUwLAorICBmMTMzXzIwMCwKKyAgZjMwMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGYzMDBfNDIwLAorICBmMzMwLAorICBmMzAwXzQyNSwKKyAgZjMzMF80NDAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBmMzQwLAorICBmMzUwXzQwMCwKKyAgZjM1MF80NDAsCisgIGYzNTBfNDUwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjM2MCwKKyAgZjM4MF80MjAsCisgIGYzOTIsCisgIGY0MDBfNDI1LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjQwMF80NDAsCisgIGY0MDBfNDUwLAorICBmNDIwLAorICBmNDI1LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjQyNV80NTAsCisgIGY0MjVfNDc1LAorICBmNDM1LAorICBmNDQwXzQ1MCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGY0NDBfNDgwLAorICBmNDQ1LAorICBmNDUwLAorICBmNDUyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjQ3NSwKKyAgZjQ4MF82MjAsCisgIGY0OTQsCisgIGY1MDAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBmNTIwLAorICBmNTIzLAorICBmNTI1LAorICBmNTQwXzY2MCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGY1ODcsCisgIGY1OTAsCisgIGY2MDAsCisgIGY2NjAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBmNzAwLAorICBmNzQwLAorICBmNzUwLAorICBmNzUwXzE0NTAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBmNzcwLAorICBmODAwLAorICBmODE2LAorICBmODUwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjg1N18xNjQ1LAorICBmOTAwLAorICBmOTAwXzEzMDAsCisgIGY5MzVfMTIxNSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGY5NDFfMTQ3NywKKyAgZjk0MiwKKyAgZjk1MCwKKyAgZjk1MF8xNDAwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjk3NSwKKyAgZjEwMDAsCisgIGYxMDIwLAorICBmMTA1MCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGYxMTAwXzE3NTAsCisgIGYxMTQwLAorICBmMTIwMCwKKyAgZjEyMDksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBmMTMzMCwKKyAgZjEzMzYsCisgIGxmMTM2NiwKKyAgZjEzODAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBmMTQwMCwKKyAgZjE0NzcsCisgIGYxNjAwLAorICBmMTYzM18xNjM4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgZjE4MDAsCisgIGYxODYwCiB9IElYSl9GSUxURVJfRlJFUTsKIHR5cGVkZWYgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGZpbHRlcjsKLSBJWEpfRklMVEVSX0ZSRVEgZnJlcTsKLSBjaGFyIGVuYWJsZTsKKyAgdW5zaWduZWQgaW50IGZpbHRlcjsKKyAgSVhKX0ZJTFRFUl9GUkVRIGZyZXE7CisgIGNoYXIgZW5hYmxlOwogfSBJWEpfRklMVEVSOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHsKLSBjaGFyIGVuYWJsZTsKLSBjaGFyIGVuX2ZpbHRlcjsKLSB1bnNpZ25lZCBpbnQgZmlsdGVyOworICBjaGFyIGVuYWJsZTsKKyAgY2hhciBlbl9maWx0ZXI7CisgIHVuc2lnbmVkIGludCBmaWx0ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBvbjE7Ci0gdW5zaWduZWQgaW50IG9mZjE7Ci0gdW5zaWduZWQgaW50IG9uMjsKLSB1bnNpZ25lZCBpbnQgb2ZmMjsKKyAgdW5zaWduZWQgaW50IG9uMTsKKyAgdW5zaWduZWQgaW50IG9mZjE7CisgIHVuc2lnbmVkIGludCBvbjI7CisgIHVuc2lnbmVkIGludCBvZmYyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgb24zOwotIHVuc2lnbmVkIGludCBvZmYzOworICB1bnNpZ25lZCBpbnQgb24zOworICB1bnNpZ25lZCBpbnQgb2ZmMzsKIH0gSVhKX0ZJTFRFUl9DQURFTkNFOwotI2RlZmluZSBJWEpDVExfU0VUX0ZJTFRFUiBfSU9XICgncScsIDB4QzcsIElYSl9GSUxURVIgKikKKyNkZWZpbmUgSVhKQ1RMX1NFVF9GSUxURVIgX0lPVygncScsIDB4QzcsIElYSl9GSUxURVIgKikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElYSkNUTF9TRVRfRklMVEVSX1JBVyBfSU9XICgncScsIDB4REQsIElYSl9GSUxURVJfUkFXICopCi0jZGVmaW5lIElYSkNUTF9HRVRfRklMVEVSX0hJU1QgX0lPVyAoJ3EnLCAweEM4LCBpbnQpCi0jZGVmaW5lIElYSkNUTF9GSUxURVJfQ0FERU5DRSBfSU9XICgncScsIDB4RDYsIElYSl9GSUxURVJfQ0FERU5DRSAqKQotI2RlZmluZSBJWEpDVExfUExBWV9DSUQgX0lPICgncScsIDB4RDcpCisjZGVmaW5lIElYSkNUTF9TRVRfRklMVEVSX1JBVyBfSU9XKCdxJywgMHhERCwgSVhKX0ZJTFRFUl9SQVcgKikKKyNkZWZpbmUgSVhKQ1RMX0dFVF9GSUxURVJfSElTVCBfSU9XKCdxJywgMHhDOCwgaW50KQorI2RlZmluZSBJWEpDVExfRklMVEVSX0NBREVOQ0UgX0lPVygncScsIDB4RDYsIElYSl9GSUxURVJfQ0FERU5DRSAqKQorI2RlZmluZSBJWEpDVExfUExBWV9DSUQgX0lPKCdxJywgMHhENykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIGVudW0gewotIGh6MjAgPSAweDdmZmEsCi0gaHo1MCA9IDB4N2ZlNSwKLSBoejEzMyA9IDB4N2Y0YywKKyAgaHoyMCA9IDB4N2ZmYSwKKyAgaHo1MCA9IDB4N2ZlNSwKKyAgaHoxMzMgPSAweDdmNGMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6MjAwID0gMHg3ZTZiLAotIGh6MjYxID0gMHg3ZDUwLAotIGh6Mjc3ID0gMHg3Y2ZhLAotIGh6MjkzID0gMHg3YzlmLAorICBoejIwMCA9IDB4N2U2YiwKKyAgaHoyNjEgPSAweDdkNTAsCisgIGh6Mjc3ID0gMHg3Y2ZhLAorICBoejI5MyA9IDB4N2M5ZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHozMDAgPSAweDdjNzUsCi0gaHozMTEgPSAweDdjMzIsCi0gaHozMjkgPSAweDdiYmYsCi0gaHozMzAgPSAweDdiYjgsCisgIGh6MzAwID0gMHg3Yzc1LAorICBoejMxMSA9IDB4N2MzMiwKKyAgaHozMjkgPSAweDdiYmYsCisgIGh6MzMwID0gMHg3YmI4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejM0MCA9IDB4N2I3NSwKLSBoejM0OSA9IDB4N2IzNywKLSBoejM1MCA9IDB4N2IzMCwKLSBoejM2MCA9IDB4N2FlOSwKKyAgaHozNDAgPSAweDdiNzUsCisgIGh6MzQ5ID0gMHg3YjM3LAorICBoejM1MCA9IDB4N2IzMCwKKyAgaHozNjAgPSAweDdhZTksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6MzY5ID0gMHg3YWE4LAotIGh6MzgwID0gMHg3YTU2LAotIGh6MzkyID0gMHg3OWZhLAotIGh6NDAwID0gMHg3OWJiLAorICBoejM2OSA9IDB4N2FhOCwKKyAgaHozODAgPSAweDdhNTYsCisgIGh6MzkyID0gMHg3OWZhLAorICBoejQwMCA9IDB4NzliYiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHo0MTUgPSAweDc5NDEsCi0gaHo0MjAgPSAweDc5MTgsCi0gaHo0MjUgPSAweDc4ZWUsCi0gaHo0MzUgPSAweDc4OTksCisgIGh6NDE1ID0gMHg3OTQxLAorICBoejQyMCA9IDB4NzkxOCwKKyAgaHo0MjUgPSAweDc4ZWUsCisgIGh6NDM1ID0gMHg3ODk5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejQ0MCA9IDB4Nzg2ZCwKLSBoejQ0NSA9IDB4Nzg0MiwKLSBoejQ1MCA9IDB4NzgxNSwKLSBoejQ1MiA9IDB4NzgwMywKKyAgaHo0NDAgPSAweDc4NmQsCisgIGh6NDQ1ID0gMHg3ODQyLAorICBoejQ1MCA9IDB4NzgxNSwKKyAgaHo0NTIgPSAweDc4MDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6NDY2ID0gMHg3Nzg0LAotIGh6NDc1ID0gMHg3NzMxLAotIGh6NDgwID0gMHg3NzAxLAotIGh6NDkzID0gMHg3Njg1LAorICBoejQ2NiA9IDB4Nzc4NCwKKyAgaHo0NzUgPSAweDc3MzEsCisgIGh6NDgwID0gMHg3NzAxLAorICBoejQ5MyA9IDB4NzY4NSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHo0OTQgPSAweDc2N2IsCi0gaHo1MDAgPSAweDc2NDAsCi0gaHo1MjAgPSAweDc1NzgsCi0gaHo1MjMgPSAweDc1NTksCisgIGh6NDk0ID0gMHg3NjdiLAorICBoejUwMCA9IDB4NzY0MCwKKyAgaHo1MjAgPSAweDc1NzgsCisgIGh6NTIzID0gMHg3NTU5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejUyNSA9IDB4NzU0NCwKLSBoejU0MCA9IDB4NzRhNywKLSBoejU1NCA9IDB4NzQxMSwKLSBoejU4NyA9IDB4NzJhMSwKKyAgaHo1MjUgPSAweDc1NDQsCisgIGh6NTQwID0gMHg3NGE3LAorICBoejU1NCA9IDB4NzQxMSwKKyAgaHo1ODcgPSAweDcyYTEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6NTkwID0gMHg3MjdmLAotIGh6NjAwID0gMHg3MjBiLAotIGh6NjIwID0gMHg3MTFlLAotIGh6NjIyID0gMHg3MTA2LAorICBoejU5MCA9IDB4NzI3ZiwKKyAgaHo2MDAgPSAweDcyMGIsCisgIGh6NjIwID0gMHg3MTFlLAorICBoejYyMiA9IDB4NzEwNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHo2NTkgPSAweDZmM2IsCi0gaHo2NjAgPSAweDZmMmUsCi0gaHo2OTggPSAweDZkM2QsCi0gaHo3MDAgPSAweDZkMjIsCisgIGh6NjU5ID0gMHg2ZjNiLAorICBoejY2MCA9IDB4NmYyZSwKKyAgaHo2OTggPSAweDZkM2QsCisgIGh6NzAwID0gMHg2ZDIyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejczOSA9IDB4NmIwOSwKLSBoejc0MCA9IDB4NmFmYSwKLSBoejc1MCA9IDB4NmE2YywKLSBoejc3MCA9IDB4Njk0YiwKKyAgaHo3MzkgPSAweDZiMDksCisgIGh6NzQwID0gMHg2YWZhLAorICBoejc1MCA9IDB4NmE2YywKKyAgaHo3NzAgPSAweDY5NGIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6NzgzID0gMHg2ODhiLAotIGh6ODAwID0gMHg2NzhkLAotIGh6ODE2ID0gMHg2Njk4LAotIGh6ODMwID0gMHg2NWJmLAorICBoejc4MyA9IDB4Njg4YiwKKyAgaHo4MDAgPSAweDY3OGQsCisgIGh6ODE2ID0gMHg2Njk4LAorICBoejgzMCA9IDB4NjViZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHo4NTAgPSAweDY0ODQsCi0gaHo4NTcgPSAweDY0MTQsCi0gaHo4ODAgPSAweDYyOWYsCi0gaHo5MDAgPSAweDYxNTQsCisgIGh6ODUwID0gMHg2NDg0LAorICBoejg1NyA9IDB4NjQxNCwKKyAgaHo4ODAgPSAweDYyOWYsCisgIGh6OTAwID0gMHg2MTU0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejkzMiA9IDB4NWYzNSwKLSBoejkzNSA9IDB4NWYwMSwKLSBoejk0MSA9IDB4NWU5YSwKLSBoejk0MiA9IDB4NWU4OCwKKyAgaHo5MzIgPSAweDVmMzUsCisgIGh6OTM1ID0gMHg1ZjAxLAorICBoejk0MSA9IDB4NWU5YSwKKyAgaHo5NDIgPSAweDVlODgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6OTUwID0gMHg1ZGZkLAotIGh6OTc1ID0gMHg1YzQ0LAotIGh6MTAwMCA9IDB4NWE4MSwKLSBoejEwMjAgPSAweDU5MTIsCisgIGh6OTUwID0gMHg1ZGZkLAorICBoejk3NSA9IDB4NWM0NCwKKyAgaHoxMDAwID0gMHg1YTgxLAorICBoejEwMjAgPSAweDU5MTIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6MTA1MCA9IDB4NTZlMiwKLSBoejExMDAgPSAweDUzMjAsCi0gaHoxMTQwID0gMHg1MDA3LAotIGh6MTIwMCA9IDB4NGIzYiwKKyAgaHoxMDUwID0gMHg1NmUyLAorICBoejExMDAgPSAweDUzMjAsCisgIGh6MTE0MCA9IDB4NTAwNywKKyAgaHoxMjAwID0gMHg0YjNiLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejEyMDkgPSAweDRhODAsCi0gaHoxMjE1ID0gMHg0YTAyLAotIGh6MTI1MCA9IDB4NDcxYywKLSBoejEzMDAgPSAweDQyZTAsCisgIGh6MTIwOSA9IDB4NGE4MCwKKyAgaHoxMjE1ID0gMHg0YTAyLAorICBoejEyNTAgPSAweDQ3MWMsCisgIGh6MTMwMCA9IDB4NDJlMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHoxMzMwID0gMHg0MDQ5LAotIGh6MTMzNiA9IDB4M2ZjNCwKLSBoejEzNjYgPSAweDNkMjIsCi0gaHoxMzgwID0gMHgzYmU0LAorICBoejEzMzAgPSAweDQwNDksCisgIGh6MTMzNiA9IDB4M2ZjNCwKKyAgaHoxMzY2ID0gMHgzZDIyLAorICBoejEzODAgPSAweDNiZTQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGh6MTQwMCA9IDB4M2ExYiwKLSBoejE0NTAgPSAweDM1OTYsCi0gaHoxNDc3ID0gMHgzMzFjLAotIGh6MTUwMCA9IDB4MzBmYiwKKyAgaHoxNDAwID0gMHgzYTFiLAorICBoejE0NTAgPSAweDM1OTYsCisgIGh6MTQ3NyA9IDB4MzMxYywKKyAgaHoxNTAwID0gMHgzMGZiLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejE2MDAgPSAweDI3OGQsCi0gaHoxNjMzID0gMHgyNDYyLAotIGh6MTYzOCA9IDB4MjNlNywKLSBoejE2NDUgPSAweDIzM2EsCisgIGh6MTYwMCA9IDB4Mjc4ZCwKKyAgaHoxNjMzID0gMHgyNDYyLAorICBoejE2MzggPSAweDIzZTcsCisgIGh6MTY0NSA9IDB4MjMzYSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaHoxNzUwID0gMHgxOGY4LAotIGh6MTgwMCA9IDB4MTQwNSwKLSBoejE4NjAgPSAweGUwYiwKLSBoejIxMDAgPSAweGY1ZjYsCisgIGh6MTc1MCA9IDB4MThmOCwKKyAgaHoxODAwID0gMHgxNDA1LAorICBoejE4NjAgPSAweGUwYiwKKyAgaHoyMTAwID0gMHhmNWY2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBoejIxMzAgPSAweGYyZjUsCi0gaHoyNDUwID0gMHhkM2IzLAotIGh6Mjc1MCA9IDB4YjhlNAorICBoejIxMzAgPSAweGYyZjUsCisgIGh6MjQ1MCA9IDB4ZDNiMywKKyAgaHoyNzUwID0gMHhiOGU0CiB9IElYSl9GUkVROwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgZW51bSB7Ci0gQzEgPSBoejI2MSwKLSBDUzEgPSBoejI3NywKLSBEMSA9IGh6MjkzLAorICBDMSA9IGh6MjYxLAorICBDUzEgPSBoejI3NywKKyAgRDEgPSBoejI5MywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRFMxID0gaHozMTEsCi0gRTEgPSBoejMyOSwKLSBGMSA9IGh6MzQ5LAotIEZTMSA9IGh6MzY5LAorICBEUzEgPSBoejMxMSwKKyAgRTEgPSBoejMyOSwKKyAgRjEgPSBoejM0OSwKKyAgRlMxID0gaHozNjksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEcxID0gaHozOTIsCi0gR1MxID0gaHo0MTUsCi0gQTEgPSBoejQ0MCwKLSBBUzEgPSBoejQ2NiwKKyAgRzEgPSBoejM5MiwKKyAgR1MxID0gaHo0MTUsCisgIEExID0gaHo0NDAsCisgIEFTMSA9IGh6NDY2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBCMSA9IGh6NDkzLAotIEMyID0gaHo1MjMsCi0gQ1MyID0gaHo1NTQsCi0gRDIgPSBoejU4NywKKyAgQjEgPSBoejQ5MywKKyAgQzIgPSBoejUyMywKKyAgQ1MyID0gaHo1NTQsCisgIEQyID0gaHo1ODcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERTMiA9IGh6NjIyLAotIEUyID0gaHo2NTksCi0gRjIgPSBoejY5OCwKLSBGUzIgPSBoejczOSwKKyAgRFMyID0gaHo2MjIsCisgIEUyID0gaHo2NTksCisgIEYyID0gaHo2OTgsCisgIEZTMiA9IGh6NzM5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBHMiA9IGh6NzgzLAotIEdTMiA9IGh6ODMwLAotIEEyID0gaHo4ODAsCi0gQVMyID0gaHo5MzIsCisgIEcyID0gaHo3ODMsCisgIEdTMiA9IGh6ODMwLAorICBBMiA9IGh6ODgwLAorICBBUzIgPSBoejkzMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IElYSl9OT1RFOwogdHlwZWRlZiBzdHJ1Y3QgewotIGludCB0b25lX2luZGV4OwotIGludCBmcmVxMDsKKyAgaW50IHRvbmVfaW5kZXg7CisgIGludCBmcmVxMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGdhaW4wOwotIGludCBmcmVxMTsKLSBpbnQgZ2FpbjE7CisgIGludCBnYWluMDsKKyAgaW50IGZyZXExOworICBpbnQgZ2FpbjE7CiB9IElYSl9UT05FOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVhKQ1RMX0lOSVRfVE9ORSBfSU9XICgncScsIDB4QzksIElYSl9UT05FICopCisjZGVmaW5lIElYSkNUTF9JTklUX1RPTkUgX0lPVygncScsIDB4QzksIElYSl9UT05FICopCiB0eXBlZGVmIHN0cnVjdCB7Ci0gaW50IGluZGV4OwotIGludCB0b25lX29uX3RpbWU7CisgIGludCBpbmRleDsKKyAgaW50IHRvbmVfb25fdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHRvbmVfb2ZmX3RpbWU7Ci0gaW50IGZyZXEwOwotIGludCBnYWluMDsKLSBpbnQgZnJlcTE7CisgIGludCB0b25lX29mZl90aW1lOworICBpbnQgZnJlcTA7CisgIGludCBnYWluMDsKKyAgaW50IGZyZXExOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZ2FpbjE7CisgIGludCBnYWluMTsKIH0gSVhKX0NBREVOQ0VfRUxFTUVOVDsKIHR5cGVkZWYgZW51bSB7Ci0gUExBWV9PTkNFLAorICBQTEFZX09OQ0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJFUEVBVF9MQVNUX0VMRU1FTlQsCi0gUkVQRUFUX0FMTAorICBSRVBFQVRfTEFTVF9FTEVNRU5ULAorICBSRVBFQVRfQUxMCiB9IElYSl9DQURFTkNFX1RFUk07CiB0eXBlZGVmIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBlbGVtZW50c191c2VkOwotIElYSl9DQURFTkNFX1RFUk0gdGVybWluYXRpb247Ci0gSVhKX0NBREVOQ0VfRUxFTUVOVCBfX3VzZXIgKmNlOworICBpbnQgZWxlbWVudHNfdXNlZDsKKyAgSVhKX0NBREVOQ0VfVEVSTSB0ZXJtaW5hdGlvbjsKKyAgSVhKX0NBREVOQ0VfRUxFTUVOVCBfX3VzZXIgKiBjZTsKIH0gSVhKX0NBREVOQ0U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJWEpDVExfVE9ORV9DQURFTkNFIF9JT1cgKCdxJywgMHhDQSwgSVhKX0NBREVOQ0UgKikKKyNkZWZpbmUgSVhKQ1RMX1RPTkVfQ0FERU5DRSBfSU9XKCdxJywgMHhDQSwgSVhKX0NBREVOQ0UgKikKICNkZWZpbmUgSVhKQ1RMX1BMQVlfQ09ERUMgUEhPTkVfUExBWV9DT0RFQwogI2RlZmluZSBJWEpDVExfUExBWV9TVEFSVCBQSE9ORV9QTEFZX1NUQVJUCiAjZGVmaW5lIElYSkNUTF9QTEFZX1NUT1AgUEhPTkVfUExBWV9TVE9QCkBAIC0yNzksMTAgKzM2OSwxMCBAQAogI2RlZmluZSBJWEpDVExfUExBWV9ERVBUSCBQSE9ORV9QTEFZX0RFUFRICiAjZGVmaW5lIElYSkNUTF9QTEFZX1ZPTFVNRSBQSE9ORV9QTEFZX1ZPTFVNRQogI2RlZmluZSBJWEpDVExfUExBWV9MRVZFTCBQSE9ORV9QTEFZX0xFVkVMCi0jZGVmaW5lIElYSkNUTF9BRUNfU1RBUlQgX0lPVyAoJ3EnLCAweENCLCBpbnQpCisjZGVmaW5lIElYSkNUTF9BRUNfU1RBUlQgX0lPVygncScsIDB4Q0IsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElYSkNUTF9BRUNfU1RPUCBfSU8gKCdxJywgMHhDQykKLSNkZWZpbmUgSVhKQ1RMX0FFQ19HRVRfTEVWRUwgX0lPICgncScsIDB4Q0QpCisjZGVmaW5lIElYSkNUTF9BRUNfU1RPUCBfSU8oJ3EnLCAweENDKQorI2RlZmluZSBJWEpDVExfQUVDX0dFVF9MRVZFTCBfSU8oJ3EnLCAweENEKQogI2RlZmluZSBBRUNfT0ZGIDAKICNkZWZpbmUgQUVDX0xPVyAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzA5LDkgKzM5OSw5IEBACiAjZGVmaW5lIElYSkNUTF9SSU5HQkFDSyBQSE9ORV9SSU5HQkFDSwogI2RlZmluZSBJWEpDVExfRElBTFRPTkUgUEhPTkVfRElBTFRPTkUKICNkZWZpbmUgSVhKQ1RMX0NQVF9TVE9QIFBIT05FX0NQVF9TVE9QCi0jZGVmaW5lIElYSkNUTF9TRVRfTEVEIF9JT1cgKCdxJywgMHhDRSwgaW50KQorI2RlZmluZSBJWEpDVExfU0VUX0xFRCBfSU9XKCdxJywgMHhDRSwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVhKQ1RMX01JWEVSIF9JT1cgKCdxJywgMHhDRiwgaW50KQorI2RlZmluZSBJWEpDVExfTUlYRVIgX0lPVygncScsIDB4Q0YsIGludCkKICNkZWZpbmUgTUlYRVJfTUFTVEVSX0wgMHgwMDAwCiAjZGVmaW5lIE1JWEVSX01BU1RFUl9SIDB4MDEwMAogI2RlZmluZSBBVFQwMERCIDB4MDAKQEAgLTQxNyw3ICs1MDcsNyBAQAogI2RlZmluZSBQT1RTX0FUVF8yOERCIDB4MDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBPVFNfTVVURSAweDgwCi0jZGVmaW5lIElYSkNUTF9EQUFfQ09FRkZfU0VUIF9JT1cgKCdxJywgMHhEMCwgaW50KQorI2RlZmluZSBJWEpDVExfREFBX0NPRUZGX1NFVCBfSU9XKCdxJywgMHhEMCwgaW50KQogI2RlZmluZSBEQUFfVVMgMQogI2RlZmluZSBEQUFfVUsgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTQyNiw3ICs1MTYsNyBAQAogI2RlZmluZSBEQUFfQVVTVFJBTElBIDUKICNkZWZpbmUgREFBX0pBUEFOIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElYSkNUTF9QT1JUIF9JT1cgKCdxJywgMHhEMSwgaW50KQorI2RlZmluZSBJWEpDVExfUE9SVCBfSU9XKCdxJywgMHhEMSwgaW50KQogI2RlZmluZSBQT1JUX1FVRVJZIDAKICNkZWZpbmUgUE9SVF9QT1RTIDEKICNkZWZpbmUgUE9SVF9QU1ROIDIKQEAgLTQ0MSw3ICs1MzEsNyBAQAogI2RlZmluZSBQU1ROX09GRl9IT09LIDIKICNkZWZpbmUgUFNUTl9QVUxTRV9ESUFMIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElYSkNUTF9EQUFfQUdBSU4gX0lPVyAoJ3EnLCAweEQyLCBpbnQpCisjZGVmaW5lIElYSkNUTF9EQUFfQUdBSU4gX0lPVygncScsIDB4RDIsIGludCkKICNkZWZpbmUgQUdSUjAwREIgMHgwMAogI2RlZmluZSBBR1JSM181REIgMHgxMAogI2RlZmluZSBBR1JSMDZEQiAweDMwCkBAIC00NTEsNTUgKzU0MSw2MyBAQAogI2RlZmluZSBBR1gzXzVEQiAweDA4CiAjZGVmaW5lIEFHWF8yXzVCIDB4MEMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElYSkNUTF9QU1ROX0xJTkVURVNUIF9JTyAoJ3EnLCAweEQzKQotI2RlZmluZSBJWEpDVExfQ0lEIF9JT1IgKCdxJywgMHhENCwgUEhPTkVfQ0lEICopCi0jZGVmaW5lIElYSkNUTF9WTVdJIF9JT1IgKCdxJywgMHhEOCwgaW50KQotI2RlZmluZSBJWEpDVExfQ0lEQ1cgX0lPVyAoJ3EnLCAweEQ5LCBQSE9ORV9DSUQgKikKKyNkZWZpbmUgSVhKQ1RMX1BTVE5fTElORVRFU1QgX0lPKCdxJywgMHhEMykKKyNkZWZpbmUgSVhKQ1RMX0NJRCBfSU9SKCdxJywgMHhENCwgUEhPTkVfQ0lEICopCisjZGVmaW5lIElYSkNUTF9WTVdJIF9JT1IoJ3EnLCAweEQ4LCBpbnQpCisjZGVmaW5lIElYSkNUTF9DSURDVyBfSU9XKCdxJywgMHhEOSwgUEhPTkVfQ0lEICopCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJWEpDVExfV0lOS19EVVJBVElPTiBQSE9ORV9XSU5LX0RVUkFUSU9OCi0jZGVmaW5lIElYSkNUTF9QT1RTX1BTVE4gX0lPVyAoJ3EnLCAweEQ1LCBpbnQpCi0jZGVmaW5lIElYSkNUTF9IWiBfSU9XICgncScsIDB4RTAsIGludCkKLSNkZWZpbmUgSVhKQ1RMX1JBVEUgX0lPVyAoJ3EnLCAweEUxLCBpbnQpCisjZGVmaW5lIElYSkNUTF9QT1RTX1BTVE4gX0lPVygncScsIDB4RDUsIGludCkKKyNkZWZpbmUgSVhKQ1RMX0haIF9JT1coJ3EnLCAweEUwLCBpbnQpCisjZGVmaW5lIElYSkNUTF9SQVRFIF9JT1coJ3EnLCAweEUxLCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJWEpDVExfRlJBTUVTX1JFQUQgX0lPUiAoJ3EnLCAweEUyLCB1bnNpZ25lZCBsb25nKQotI2RlZmluZSBJWEpDVExfRlJBTUVTX1dSSVRURU4gX0lPUiAoJ3EnLCAweEUzLCB1bnNpZ25lZCBsb25nKQotI2RlZmluZSBJWEpDVExfUkVBRF9XQUlUIF9JT1IgKCdxJywgMHhFNCwgdW5zaWduZWQgbG9uZykKLSNkZWZpbmUgSVhKQ1RMX1dSSVRFX1dBSVQgX0lPUiAoJ3EnLCAweEU1LCB1bnNpZ25lZCBsb25nKQorI2RlZmluZSBJWEpDVExfRlJBTUVTX1JFQUQgX0lPUigncScsIDB4RTIsIHVuc2lnbmVkIGxvbmcpCisjZGVmaW5lIElYSkNUTF9GUkFNRVNfV1JJVFRFTiBfSU9SKCdxJywgMHhFMywgdW5zaWduZWQgbG9uZykKKyNkZWZpbmUgSVhKQ1RMX1JFQURfV0FJVCBfSU9SKCdxJywgMHhFNCwgdW5zaWduZWQgbG9uZykKKyNkZWZpbmUgSVhKQ1RMX1dSSVRFX1dBSVQgX0lPUigncScsIDB4RTUsIHVuc2lnbmVkIGxvbmcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJWEpDVExfRFJZQlVGRkVSX1JFQUQgX0lPUiAoJ3EnLCAweEU2LCB1bnNpZ25lZCBsb25nKQotI2RlZmluZSBJWEpDVExfRFJZQlVGRkVSX0NMRUFSIF9JTyAoJ3EnLCAweEU3KQotI2RlZmluZSBJWEpDVExfRFRNRl9QUkVTQ0FMRSBfSU9XICgncScsIDB4RTgsIGludCkKKyNkZWZpbmUgSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIF9JT1IoJ3EnLCAweEU2LCB1bnNpZ25lZCBsb25nKQorI2RlZmluZSBJWEpDVExfRFJZQlVGRkVSX0NMRUFSIF9JTygncScsIDB4RTcpCisjZGVmaW5lIElYSkNUTF9EVE1GX1BSRVNDQUxFIF9JT1coJ3EnLCAweEU4LCBpbnQpCiB0eXBlZGVmIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTSUdfRFRNRl9SRUFEWSwKLSBTSUdfSE9PS1NUQVRFLAotIFNJR19GTEFTSCwKLSBTSUdfUFNUTl9SSU5HLAorICBTSUdfRFRNRl9SRUFEWSwKKyAgU0lHX0hPT0tTVEFURSwKKyAgU0lHX0ZMQVNILAorICBTSUdfUFNUTl9SSU5HLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTSUdfQ0FMTEVSX0lELAotIFNJR19QU1ROX1dJTkssCi0gU0lHX0YwLCBTSUdfRjEsIFNJR19GMiwgU0lHX0YzLAotIFNJR19GQzAsIFNJR19GQzEsIFNJR19GQzIsIFNJR19GQzMsCisgIFNJR19DQUxMRVJfSUQsCisgIFNJR19QU1ROX1dJTkssCisgIFNJR19GMCwKKyAgU0lHX0YxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTSUdfUkVBRF9SRUFEWSA9IDMzLAotIFNJR19XUklURV9SRUFEWSA9IDM0CisgIFNJR19GMiwKKyAgU0lHX0YzLAorICBTSUdfRkMwLAorICBTSUdfRkMxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU0lHX0ZDMiwKKyAgU0lHX0ZDMywKKyAgU0lHX1JFQURfUkVBRFkgPSAzMywKKyAgU0lHX1dSSVRFX1JFQURZID0gMzQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IElYSl9TSUdFVkVOVDsKIHR5cGVkZWYgc3RydWN0IHsKKyAgdW5zaWduZWQgaW50IGV2ZW50OworICBpbnQgc2lnbmFsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZXZlbnQ7Ci0gaW50IHNpZ25hbDsKIH0gSVhKX1NJR0RFRjsKLSNkZWZpbmUgSVhKQ1RMX1NJR0NUTCBfSU9XICgncScsIDB4RTksIElYSl9TSUdERUYgKikKKyNkZWZpbmUgSVhKQ1RMX1NJR0NUTCBfSU9XKCdxJywgMHhFOSwgSVhKX1NJR0RFRiAqKQorI2RlZmluZSBJWEpDVExfU0NfUlhHIF9JT1coJ3EnLCAweEVBLCBpbnQpCisjZGVmaW5lIElYSkNUTF9TQ19UWEcgX0lPVygncScsIDB4RUIsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElYSkNUTF9TQ19SWEcgX0lPVyAoJ3EnLCAweEVBLCBpbnQpCi0jZGVmaW5lIElYSkNUTF9TQ19UWEcgX0lPVyAoJ3EnLCAweEVCLCBpbnQpCi0jZGVmaW5lIElYSkNUTF9JTlRFUkNPTV9TVEFSVCBfSU9XICgncScsIDB4RkQsIGludCkKLSNkZWZpbmUgSVhKQ1RMX0lOVEVSQ09NX1NUT1AgX0lPVyAoJ3EnLCAweEZFLCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBJWEpDVExfSU5URVJDT01fU1RBUlQgX0lPVygncScsIDB4RkQsIGludCkKKyNkZWZpbmUgSVhKQ1RMX0lOVEVSQ09NX1NUT1AgX0lPVygncScsIDB4RkUsIGludCkKIHR5cGVkZWYgc3RydWN0IHsKLSB1bnNpZ25lZCBpbnQgZmlsdGVyOwotIGNoYXIgZW5hYmxlOwotIHVuc2lnbmVkIGludCBjb2VmZlsxOV07CisgIHVuc2lnbmVkIGludCBmaWx0ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBjaGFyIGVuYWJsZTsKKyAgdW5zaWduZWQgaW50IGNvZWZmWzE5XTsKIH0gSVhKX0ZJTFRFUl9SQVc7CiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2pmZnMyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2pmZnMyLmgKaW5kZXggZGEzY2U4Mi4uYjdkNDE5MCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9qZmZzMi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvamZmczIuaApAQCAtNjgsMTM5ICs2OCwxMzIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEpGRlMyX0lOT19GTEFHX1VTRVJDT01QUiAyCiB0eXBlZGVmIHN0cnVjdCB7Ci0gX191MzIgdjMyOworICBfX3UzMiB2MzI7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGppbnQzMl90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHsKLSBfX3UzMiBtOworICBfX3UzMiBtOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBqbW9kZV90OwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB2MTY7CisgIF9fdTE2IHYxNjsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgamludDE2X3Q7Ci1zdHJ1Y3QgamZmczJfdW5rbm93bl9ub2RlCi17CitzdHJ1Y3QgamZmczJfdW5rbm93bl9ub2RlIHsKKyAgamludDE2X3QgbWFnaWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQxNl90IG1hZ2ljOwotIGppbnQxNl90IG5vZGV0eXBlOwotIGppbnQzMl90IHRvdGxlbjsKLSBqaW50MzJfdCBoZHJfY3JjOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgamludDE2X3Qgbm9kZXR5cGU7CisgIGppbnQzMl90IHRvdGxlbjsKKyAgamludDMyX3QgaGRyX2NyYzsKIH07Ci1zdHJ1Y3QgamZmczJfcmF3X2RpcmVudAotewotIGppbnQxNl90IG1hZ2ljOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBqaW50MTZfdCBub2RldHlwZTsKLSBqaW50MzJfdCB0b3RsZW47Ci0gamludDMyX3QgaGRyX2NyYzsKLSBqaW50MzJfdCBwaW5vOworc3RydWN0IGpmZnMyX3Jhd19kaXJlbnQgeworICBqaW50MTZfdCBtYWdpYzsKKyAgamludDE2X3Qgbm9kZXR5cGU7CisgIGppbnQzMl90IHRvdGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gamludDMyX3QgdmVyc2lvbjsKLSBqaW50MzJfdCBpbm87Ci0gamludDMyX3QgbWN0aW1lOwotIF9fdTggbnNpemU7CisgIGppbnQzMl90IGhkcl9jcmM7CisgIGppbnQzMl90IHBpbm87CisgIGppbnQzMl90IHZlcnNpb247CisgIGppbnQzMl90IGlubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlOwotIF9fdTggdW51c2VkWzJdOwotIGppbnQzMl90IG5vZGVfY3JjOwotIGppbnQzMl90IG5hbWVfY3JjOworICBqaW50MzJfdCBtY3RpbWU7CisgIF9fdTggbnNpemU7CisgIF9fdTggdHlwZTsKKyAgX191OCB1bnVzZWRbMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbmFtZVswXTsKKyAgamludDMyX3Qgbm9kZV9jcmM7CisgIGppbnQzMl90IG5hbWVfY3JjOworICBfX3U4IG5hbWVbMF07CiB9Owotc3RydWN0IGpmZnMyX3Jhd19pbm9kZQotewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBqaW50MTZfdCBtYWdpYzsKLSBqaW50MTZfdCBub2RldHlwZTsKLSBqaW50MzJfdCB0b3RsZW47Ci0gamludDMyX3QgaGRyX2NyYzsKK3N0cnVjdCBqZmZzMl9yYXdfaW5vZGUgeworICBqaW50MTZfdCBtYWdpYzsKKyAgamludDE2X3Qgbm9kZXR5cGU7CisgIGppbnQzMl90IHRvdGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gamludDMyX3QgaW5vOwotIGppbnQzMl90IHZlcnNpb247Ci0gam1vZGVfdCBtb2RlOwotIGppbnQxNl90IHVpZDsKKyAgamludDMyX3QgaGRyX2NyYzsKKyAgamludDMyX3QgaW5vOworICBqaW50MzJfdCB2ZXJzaW9uOworICBqbW9kZV90IG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQxNl90IGdpZDsKLSBqaW50MzJfdCBpc2l6ZTsKLSBqaW50MzJfdCBhdGltZTsKLSBqaW50MzJfdCBtdGltZTsKKyAgamludDE2X3QgdWlkOworICBqaW50MTZfdCBnaWQ7CisgIGppbnQzMl90IGlzaXplOworICBqaW50MzJfdCBhdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gamludDMyX3QgY3RpbWU7Ci0gamludDMyX3Qgb2Zmc2V0OwotIGppbnQzMl90IGNzaXplOwotIGppbnQzMl90IGRzaXplOworICBqaW50MzJfdCBtdGltZTsKKyAgamludDMyX3QgY3RpbWU7CisgIGppbnQzMl90IG9mZnNldDsKKyAgamludDMyX3QgY3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY29tcHI7Ci0gX191OCB1c2VyY29tcHI7Ci0gamludDE2X3QgZmxhZ3M7Ci0gamludDMyX3QgZGF0YV9jcmM7CisgIGppbnQzMl90IGRzaXplOworICBfX3U4IGNvbXByOworICBfX3U4IHVzZXJjb21wcjsKKyAgamludDE2X3QgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQzMl90IG5vZGVfY3JjOwotIF9fdTggZGF0YVswXTsKKyAgamludDMyX3QgZGF0YV9jcmM7CisgIGppbnQzMl90IG5vZGVfY3JjOworICBfX3U4IGRhdGFbMF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBqZmZzMl9yYXdfeGF0dHIgeworICBqaW50MTZfdCBtYWdpYzsKKyAgamludDE2X3Qgbm9kZXR5cGU7CisgIGppbnQzMl90IHRvdGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gamludDE2X3QgbWFnaWM7Ci0gamludDE2X3Qgbm9kZXR5cGU7Ci0gamludDMyX3QgdG90bGVuOwotIGppbnQzMl90IGhkcl9jcmM7CisgIGppbnQzMl90IGhkcl9jcmM7CisgIGppbnQzMl90IHhpZDsKKyAgamludDMyX3QgdmVyc2lvbjsKKyAgX191OCB4cHJlZml4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBqaW50MzJfdCB4aWQ7Ci0gamludDMyX3QgdmVyc2lvbjsKLSBfX3U4IHhwcmVmaXg7Ci0gX191OCBuYW1lX2xlbjsKKyAgX191OCBuYW1lX2xlbjsKKyAgamludDE2X3QgdmFsdWVfbGVuOworICBqaW50MzJfdCBkYXRhX2NyYzsKKyAgamludDMyX3Qgbm9kZV9jcmM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQxNl90IHZhbHVlX2xlbjsKLSBqaW50MzJfdCBkYXRhX2NyYzsKLSBqaW50MzJfdCBub2RlX2NyYzsKLSBfX3U4IGRhdGFbMF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGRhdGFbMF07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwotc3RydWN0IGpmZnMyX3Jhd194cmVmCi17Ci0gamludDE2X3QgbWFnaWM7CitzdHJ1Y3QgamZmczJfcmF3X3hyZWYgeworICBqaW50MTZfdCBtYWdpYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gamludDE2X3Qgbm9kZXR5cGU7Ci0gamludDMyX3QgdG90bGVuOwotIGppbnQzMl90IGhkcl9jcmM7Ci0gamludDMyX3QgaW5vOworICBqaW50MTZfdCBub2RldHlwZTsKKyAgamludDMyX3QgdG90bGVuOworICBqaW50MzJfdCBoZHJfY3JjOworICBqaW50MzJfdCBpbm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQzMl90IHhpZDsKLSBqaW50MzJfdCB4c2Vxbm87Ci0gamludDMyX3Qgbm9kZV9jcmM7CisgIGppbnQzMl90IHhpZDsKKyAgamludDMyX3QgeHNlcW5vOworICBqaW50MzJfdCBub2RlX2NyYzsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotc3RydWN0IGpmZnMyX3Jhd19zdW1tYXJ5Ci17Ci0gamludDE2X3QgbWFnaWM7Ci0gamludDE2X3Qgbm9kZXR5cGU7CitzdHJ1Y3QgamZmczJfcmF3X3N1bW1hcnkgeworICBqaW50MTZfdCBtYWdpYzsKKyAgamludDE2X3Qgbm9kZXR5cGU7CisgIGppbnQzMl90IHRvdGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gamludDMyX3QgdG90bGVuOwotIGppbnQzMl90IGhkcl9jcmM7Ci0gamludDMyX3Qgc3VtX251bTsKLSBqaW50MzJfdCBjbG5fbWtyOworICBqaW50MzJfdCBoZHJfY3JjOworICBqaW50MzJfdCBzdW1fbnVtOworICBqaW50MzJfdCBjbG5fbWtyOworICBqaW50MzJfdCBwYWRkZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQzMl90IHBhZGRlZDsKLSBqaW50MzJfdCBzdW1fY3JjOwotIGppbnQzMl90IG5vZGVfY3JjOwotIGppbnQzMl90IHN1bVswXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGppbnQzMl90IHN1bV9jcmM7CisgIGppbnQzMl90IG5vZGVfY3JjOworICBqaW50MzJfdCBzdW1bMF07CiB9OwotdW5pb24gamZmczJfbm9kZV91bmlvbgotewotIHN0cnVjdCBqZmZzMl9yYXdfaW5vZGUgaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGpmZnMyX3Jhd19kaXJlbnQgZDsKLSBzdHJ1Y3QgamZmczJfcmF3X3hhdHRyIHg7Ci0gc3RydWN0IGpmZnMyX3Jhd194cmVmIHI7Ci0gc3RydWN0IGpmZnMyX3Jhd19zdW1tYXJ5IHM7Cit1bmlvbiBqZmZzMl9ub2RlX3VuaW9uIHsKKyAgc3RydWN0IGpmZnMyX3Jhd19pbm9kZSBpOworICBzdHJ1Y3QgamZmczJfcmF3X2RpcmVudCBkOworICBzdHJ1Y3QgamZmczJfcmF3X3hhdHRyIHg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBqZmZzMl91bmtub3duX25vZGUgdTsKKyAgc3RydWN0IGpmZnMyX3Jhd194cmVmIHI7CisgIHN0cnVjdCBqZmZzMl9yYXdfc3VtbWFyeSBzOworICBzdHJ1Y3QgamZmczJfdW5rbm93bl9ub2RlIHU7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHVuaW9uIGpmZnMyX2RldmljZV9ub2RlIHsKLSBqaW50MTZfdCBvbGRfaWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGppbnQzMl90IG5ld19pZDsKKyAgamludDE2X3Qgb2xkX2lkOworICBqaW50MzJfdCBuZXdfaWQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9qb3lzdGljay5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9qb3lzdGljay5oCmluZGV4IGE1MmQzOGIuLjk5MzNlNjkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvam95c3RpY2suaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2pveXN0aWNrLmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBKU19FVkVOVF9JTklUIDB4ODAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QganNfZXZlbnQgewotIF9fdTMyIHRpbWU7Ci0gX19zMTYgdmFsdWU7Ci0gX191OCB0eXBlOworICBfX3UzMiB0aW1lOworICBfX3MxNiB2YWx1ZTsKKyAgX191OCB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG51bWJlcjsKKyAgX191OCBudW1iZXI7CiB9OwogI2RlZmluZSBKU0lPQ0dWRVJTSU9OIF9JT1IoJ2onLCAweDAxLCBfX3UzMikKICNkZWZpbmUgSlNJT0NHQVhFUyBfSU9SKCdqJywgMHgxMSwgX191OCkKQEAgLTQ5LDEwICs0OSwxMCBAQAogI2RlZmluZSBKU19DT1JSX05PTkUgMHgwMAogI2RlZmluZSBKU19DT1JSX0JST0tFTiAweDAxCiBzdHJ1Y3QganNfY29yciB7Ci0gX19zMzIgY29lZls4XTsKKyAgX19zMzIgY29lZls4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMTYgcHJlYzsKLSBfX3UxNiB0eXBlOworICBfX3MxNiBwcmVjOworICBfX3UxNiB0eXBlOwogfTsKICNkZWZpbmUgSlNfUkVUVVJOIHNpemVvZihzdHJ1Y3QgSlNfREFUQV9UWVBFKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTc5LDMwICs3OSwzMCBAQAogI2RlZmluZSBKU19HRVRfQUxMIDcKICNkZWZpbmUgSlNfU0VUX0FMTCA4CiBzdHJ1Y3QgSlNfREFUQV9UWVBFIHsKLSBfX3MzMiBidXR0b25zOworICBfX3MzMiBidXR0b25zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiB4OwotIF9fczMyIHk7CisgIF9fczMyIHg7CisgIF9fczMyIHk7CiB9Owogc3RydWN0IEpTX0RBVEFfU0FWRV9UWVBFXzMyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgSlNfVElNRU9VVDsKLSBfX3MzMiBCVVNZOwotIF9fczMyIEpTX0VYUElSRVRJTUU7Ci0gX19zMzIgSlNfVElNRUxJTUlUOworICBfX3MzMiBKU19USU1FT1VUOworICBfX3MzMiBCVVNZOworICBfX3MzMiBKU19FWFBJUkVUSU1FOworICBfX3MzMiBKU19USU1FTElNSVQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBKU19EQVRBX1RZUEUgSlNfU0FWRTsKLSBzdHJ1Y3QgSlNfREFUQV9UWVBFIEpTX0NPUlI7CisgIHN0cnVjdCBKU19EQVRBX1RZUEUgSlNfU0FWRTsKKyAgc3RydWN0IEpTX0RBVEFfVFlQRSBKU19DT1JSOwogfTsKIHN0cnVjdCBKU19EQVRBX1NBVkVfVFlQRV82NCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIEpTX1RJTUVPVVQ7Ci0gX19zMzIgQlVTWTsKLSBfX3M2NCBKU19FWFBJUkVUSU1FOwotIF9fczY0IEpTX1RJTUVMSU1JVDsKKyAgX19zMzIgSlNfVElNRU9VVDsKKyAgX19zMzIgQlVTWTsKKyAgX19zNjQgSlNfRVhQSVJFVElNRTsKKyAgX19zNjQgSlNfVElNRUxJTUlUOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgSlNfREFUQV9UWVBFIEpTX1NBVkU7Ci0gc3RydWN0IEpTX0RBVEFfVFlQRSBKU19DT1JSOworICBzdHJ1Y3QgSlNfREFUQV9UWVBFIEpTX1NBVkU7CisgIHN0cnVjdCBKU19EQVRBX1RZUEUgSlNfQ09SUjsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tkLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tkLmgKaW5kZXggYzFmZDExYy4uYTAwMGNkOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2QuaApAQCAtMjcsOSArMjcsOSBAQAogI2RlZmluZSBQSU9fRk9OVFggMHg0QjZDCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGNvbnNvbGVmb250ZGVzYyB7Ci0gdW5zaWduZWQgc2hvcnQgY2hhcmNvdW50OwotIHVuc2lnbmVkIHNob3J0IGNoYXJoZWlnaHQ7Ci0gY2hhciBfX3VzZXIgKmNoYXJkYXRhOworICB1bnNpZ25lZCBzaG9ydCBjaGFyY291bnQ7CisgIHVuc2lnbmVkIHNob3J0IGNoYXJoZWlnaHQ7CisgIGNoYXIgX191c2VyICogY2hhcmRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgUElPX0ZPTlRSRVNFVCAweDRCNkQKQEAgLTc0LDIyICs3NCwyMiBAQAogI2RlZmluZSBQSU9fVU5JU0NSTk1BUCAweDRCNkEKICNkZWZpbmUgR0lPX1VOSU1BUCAweDRCNjYKIHN0cnVjdCB1bmlwYWlyIHsKLSB1bnNpZ25lZCBzaG9ydCB1bmljb2RlOworICB1bnNpZ25lZCBzaG9ydCB1bmljb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBmb250cG9zOworICB1bnNpZ25lZCBzaG9ydCBmb250cG9zOwogfTsKIHN0cnVjdCB1bmltYXBkZXNjIHsKLSB1bnNpZ25lZCBzaG9ydCBlbnRyeV9jdDsKKyAgdW5zaWduZWQgc2hvcnQgZW50cnlfY3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB1bmlwYWlyIF9fdXNlciAqZW50cmllczsKKyAgc3RydWN0IHVuaXBhaXIgX191c2VyICogZW50cmllczsKIH07CiAjZGVmaW5lIFBJT19VTklNQVAgMHg0QjY3CiAjZGVmaW5lIFBJT19VTklNQVBDTFIgMHg0QjY4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVuaW1hcGluaXQgewotIHVuc2lnbmVkIHNob3J0IGFkdmlzZWRfaGFzaHNpemU7Ci0gdW5zaWduZWQgc2hvcnQgYWR2aXNlZF9oYXNoc3RlcDsKLSB1bnNpZ25lZCBzaG9ydCBhZHZpc2VkX2hhc2hsZXZlbDsKKyAgdW5zaWduZWQgc2hvcnQgYWR2aXNlZF9oYXNoc2l6ZTsKKyAgdW5zaWduZWQgc2hvcnQgYWR2aXNlZF9oYXNoc3RlcDsKKyAgdW5zaWduZWQgc2hvcnQgYWR2aXNlZF9oYXNobGV2ZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVU5JX0RJUkVDVF9CQVNFIDB4RjAwMApAQCAtMTE2LDkgKzExNiw5IEBACiAjZGVmaW5lIEtEU0tCTEVEIDB4NEI2NQogc3RydWN0IGtiZW50cnkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGtiX3RhYmxlOwotIHVuc2lnbmVkIGNoYXIga2JfaW5kZXg7Ci0gdW5zaWduZWQgc2hvcnQga2JfdmFsdWU7CisgIHVuc2lnbmVkIGNoYXIga2JfdGFibGU7CisgIHVuc2lnbmVkIGNoYXIga2JfaW5kZXg7CisgIHVuc2lnbmVkIHNob3J0IGtiX3ZhbHVlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtfTk9STVRBQiAweDAwCkBAIC0xMjksMzcgKzEyOSwzNyBAQAogI2RlZmluZSBLREdLQkVOVCAweDRCNDYKICNkZWZpbmUgS0RTS0JFTlQgMHg0QjQ3CiBzdHJ1Y3Qga2JzZW50cnkgewotIHVuc2lnbmVkIGNoYXIga2JfZnVuYzsKKyAgdW5zaWduZWQgY2hhciBrYl9mdW5jOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGtiX3N0cmluZ1s1MTJdOworICB1bnNpZ25lZCBjaGFyIGtiX3N0cmluZ1s1MTJdOwogfTsKICNkZWZpbmUgS0RHS0JTRU5UIDB4NEI0OAogI2RlZmluZSBLRFNLQlNFTlQgMHg0QjQ5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGtiZGlhY3IgewotIHVuc2lnbmVkIGNoYXIgZGlhY3IsIGJhc2UsIHJlc3VsdDsKKyAgdW5zaWduZWQgY2hhciBkaWFjciwgYmFzZSwgcmVzdWx0OwogfTsKIHN0cnVjdCBrYmRpYWNycyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBrYl9jbnQ7Ci0gc3RydWN0IGtiZGlhY3Iga2JkaWFjclsyNTZdOworICB1bnNpZ25lZCBpbnQga2JfY250OworICBzdHJ1Y3Qga2JkaWFjciBrYmRpYWNyWzI1Nl07CiB9OwogI2RlZmluZSBLREdLQkRJQUNSIDB4NEI0QQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS0RTS0JESUFDUiAweDRCNEIKIHN0cnVjdCBrYmRpYWNydWMgewotIHVuc2lnbmVkIGludCBkaWFjciwgYmFzZSwgcmVzdWx0OworICB1bnNpZ25lZCBpbnQgZGlhY3IsIGJhc2UsIHJlc3VsdDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGtiZGlhY3JzdWMgewotIHVuc2lnbmVkIGludCBrYl9jbnQ7Ci0gc3RydWN0IGtiZGlhY3J1YyBrYmRpYWNydWNbMjU2XTsKKyAgdW5zaWduZWQgaW50IGtiX2NudDsKKyAgc3RydWN0IGtiZGlhY3J1YyBrYmRpYWNydWNbMjU2XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLREdLQkRJQUNSVUMgMHg0QkZBCiAjZGVmaW5lIEtEU0tCRElBQ1JVQyAweDRCRkIKIHN0cnVjdCBrYmtleWNvZGUgewotIHVuc2lnbmVkIGludCBzY2FuY29kZSwga2V5Y29kZTsKKyAgdW5zaWduZWQgaW50IHNjYW5jb2RlLCBrZXljb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEtER0VUS0VZQ09ERSAweDRCNEMKQEAgLTE2NywyNiArMTY3LDI2IEBACiAjZGVmaW5lIEtEU0lHQUNDRVBUIDB4NEI0RQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrYmRfcmVwZWF0IHsKLSBpbnQgZGVsYXk7Ci0gaW50IHBlcmlvZDsKKyAgaW50IGRlbGF5OworICBpbnQgcGVyaW9kOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtES0JEUkVQIDB4NEI1MgogI2RlZmluZSBLREZPTlRPUCAweDRCNzIKIHN0cnVjdCBjb25zb2xlX2ZvbnRfb3AgewotIHVuc2lnbmVkIGludCBvcDsKKyAgdW5zaWduZWQgaW50IG9wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gdW5zaWduZWQgaW50IHdpZHRoLCBoZWlnaHQ7Ci0gdW5zaWduZWQgaW50IGNoYXJjb3VudDsKLSB1bnNpZ25lZCBjaGFyIF9fdXNlciAqZGF0YTsKKyAgdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodDsKKyAgdW5zaWduZWQgaW50IGNoYXJjb3VudDsKKyAgdW5zaWduZWQgY2hhciBfX3VzZXIgKiBkYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgY29uc29sZV9mb250IHsKLSB1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodDsKLSB1bnNpZ25lZCBpbnQgY2hhcmNvdW50OworICB1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodDsKKyAgdW5zaWduZWQgaW50IGNoYXJjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciAqZGF0YTsKKyAgdW5zaWduZWQgY2hhciAqIGRhdGE7CiB9OwogI2RlZmluZSBLRF9GT05UX09QX1NFVCAwCiAjZGVmaW5lIEtEX0ZPTlRfT1BfR0VUIDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva2Rldl90LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tkZXZfdC5oCmluZGV4IDdjYjFkNjkuLmY0YzA0MzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva2Rldl90LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZGV2X3QuaApAQCAtMTgsOCArMTgsOCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9VQVBJX0xJTlVYX0tERVZfVF9ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX0tERVZfVF9ICi0jZGVmaW5lIE1BSk9SKGRldikgKChkZXYpPj44KQorI2RlZmluZSBNQUpPUihkZXYpICgoZGV2KSA+PiA4KQogI2RlZmluZSBNSU5PUihkZXYpICgoZGV2KSAmIDB4ZmYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNS0RFVihtYSxtaSkgKChtYSk8PDggfCAobWkpKQorI2RlZmluZSBNS0RFVihtYSxtaSkgKChtYSkgPDwgOCB8IChtaSkpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva2VybmVsLXBhZ2UtZmxhZ3MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2VybmVsLXBhZ2UtZmxhZ3MuaAppbmRleCBjNGQwNWNjLi5jZTMwYmU3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tlcm5lbC1wYWdlLWZsYWdzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXJuZWwtcGFnZS1mbGFncy5oCkBAIC00Nyw0ICs0Nyw1IEBACiAjZGVmaW5lIEtQRl9LU00gMjEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtQRl9USFAgMjIKKyNkZWZpbmUgS1BGX0JBTExPT04gMjMKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXJuZWwuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2VybmVsLmgKaW5kZXggYzRjMGRkYy4uZWI5NDkwZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXJuZWwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tlcm5lbC5oCkBAIC0xOSw3ICsxOSw3IEBACiAjaWZuZGVmIF9VQVBJX0xJTlVYX0tFUk5FTF9ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX0tFUk5FTF9ICiAjaW5jbHVkZSA8bGludXgvc3lzaW5mby5oPgotI2RlZmluZSBfX0FMSUdOX0tFUk5FTCh4LCBhKSBfX0FMSUdOX0tFUk5FTF9NQVNLKHgsICh0eXBlb2YoeCkpKGEpIC0gMSkKKyNkZWZpbmUgX19BTElHTl9LRVJORUwoeCxhKSBfX0FMSUdOX0tFUk5FTF9NQVNLKHgsICh0eXBlb2YoeCkpIChhKSAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX0FMSUdOX0tFUk5FTF9NQVNLKHgsIG1hc2spICgoKHgpICsgKG1hc2spKSAmIH4obWFzaykpCisjZGVmaW5lIF9fQUxJR05fS0VSTkVMX01BU0soeCxtYXNrKSAoKCh4KSArIChtYXNrKSkgJiB+KG1hc2spKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tlcm5lbGNhcGkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2VybmVsY2FwaS5oCmluZGV4IGY1ZTM5NzQuLmE4NGZjZjggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva2VybmVsY2FwaS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2VybmVsY2FwaS5oCkBAIC0yMywxNyArMjMsMTcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENBUElfTUFYREFUQVdJTkRPVyA4CiB0eXBlZGVmIHN0cnVjdCBrY2FwaV9mbGFnZGVmIHsKLSBpbnQgY29udHI7Ci0gaW50IGZsYWc7CisgIGludCBjb250cjsKKyAgaW50IGZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBrY2FwaV9mbGFnZGVmOwogdHlwZWRlZiBzdHJ1Y3Qga2NhcGlfY2FyZGRlZiB7Ci0gY2hhciBkcml2ZXJbMzJdOwotIHVuc2lnbmVkIGludCBwb3J0OworICBjaGFyIGRyaXZlclszMl07CisgIHVuc2lnbmVkIGludCBwb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpcnE7Ci0gdW5zaWduZWQgaW50IG1lbWJhc2U7Ci0gaW50IGNhcmRucjsKKyAgdW5zaWduZWQgaXJxOworICB1bnNpZ25lZCBpbnQgbWVtYmFzZTsKKyAgaW50IGNhcmRucjsKIH0ga2NhcGlfY2FyZGRlZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtDQVBJX0NNRF9UUkFDRSAxMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXhlYy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXhlYy5oCmluZGV4IGExN2RjMjMuLmUxNjM4NWUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva2V4ZWMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tleGVjLmgKQEAgLTIzLDI4ICsyMywzMiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS0VYRUNfUFJFU0VSVkVfQ09OVEVYVCAweDAwMDAwMDAyCiAjZGVmaW5lIEtFWEVDX0FSQ0hfTUFTSyAweGZmZmYwMDAwCi0jZGVmaW5lIEtFWEVDX0FSQ0hfREVGQVVMVCAoIDAgPDwgMTYpCi0jZGVmaW5lIEtFWEVDX0FSQ0hfMzg2ICggMyA8PCAxNikKKyNkZWZpbmUgS0VYRUNfRklMRV9VTkxPQUQgMHgwMDAwMDAwMQorI2RlZmluZSBLRVhFQ19GSUxFX09OX0NSQVNIIDB4MDAwMDAwMDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtFWEVDX0FSQ0hfNjhLICggNCA8PCAxNikKKyNkZWZpbmUgS0VYRUNfRklMRV9OT19JTklUUkFNRlMgMHgwMDAwMDAwNAorI2RlZmluZSBLRVhFQ19BUkNIX0RFRkFVTFQgKDAgPDwgMTYpCisjZGVmaW5lIEtFWEVDX0FSQ0hfMzg2ICgzIDw8IDE2KQorI2RlZmluZSBLRVhFQ19BUkNIXzY4SyAoNCA8PCAxNikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtFWEVDX0FSQ0hfWDg2XzY0ICg2MiA8PCAxNikKICNkZWZpbmUgS0VYRUNfQVJDSF9QUEMgKDIwIDw8IDE2KQogI2RlZmluZSBLRVhFQ19BUkNIX1BQQzY0ICgyMSA8PCAxNikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtFWEVDX0FSQ0hfSUFfNjQgKDUwIDw8IDE2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS0VYRUNfQVJDSF9BUk0gKDQwIDw8IDE2KQogI2RlZmluZSBLRVhFQ19BUkNIX1MzOTAgKDIyIDw8IDE2KQogI2RlZmluZSBLRVhFQ19BUkNIX1NIICg0MiA8PCAxNikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtFWEVDX0FSQ0hfTUlQU19MRSAoMTAgPDwgMTYpCi0jZGVmaW5lIEtFWEVDX0FSQ0hfTUlQUyAoIDggPDwgMTYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLRVhFQ19BUkNIX01JUFMgKDggPDwgMTYpCiAjZGVmaW5lIEtFWEVDX1NFR01FTlRfTUFYIDE2CiBzdHJ1Y3Qga2V4ZWNfc2VnbWVudCB7CisgIGNvbnN0IHZvaWQgKiBidWY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNvbnN0IHZvaWQgKmJ1ZjsKLSBzaXplX3QgYnVmc3o7Ci0gY29uc3Qgdm9pZCAqbWVtOwotIHNpemVfdCBtZW1zejsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHNpemVfdCBidWZzejsKKyAgY29uc3Qgdm9pZCAqIG1lbTsKKyAgc2l6ZV90IG1lbXN6OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva2V5Ym9hcmQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2V5Ym9hcmQuaAppbmRleCAwMzU4OTIwLi44ZGUwZmQ3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tleWJvYXJkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXlib2FyZC5oCkBAIC01Nyw0NjQgKzU3LDQ2NCBAQAogI2RlZmluZSBLVF9ERUFEMiAxMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1RfQlJMIDE0Ci0jZGVmaW5lIEsodCx2KSAoKCh0KTw8OCl8KHYpKQorI2RlZmluZSBLKHQsdikgKCgodCkgPDwgOCkgfCAodikpCiAjZGVmaW5lIEtUWVAoeCkgKCh4KSA+PiA4KQogI2RlZmluZSBLVkFMKHgpICgoeCkgJiAweGZmKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GMSBLKEtUX0ZOLDApCi0jZGVmaW5lIEtfRjIgSyhLVF9GTiwxKQotI2RlZmluZSBLX0YzIEsoS1RfRk4sMikKLSNkZWZpbmUgS19GNCBLKEtUX0ZOLDMpCisjZGVmaW5lIEtfRjEgSyhLVF9GTiwgMCkKKyNkZWZpbmUgS19GMiBLKEtUX0ZOLCAxKQorI2RlZmluZSBLX0YzIEsoS1RfRk4sIDIpCisjZGVmaW5lIEtfRjQgSyhLVF9GTiwgMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjUgSyhLVF9GTiw0KQotI2RlZmluZSBLX0Y2IEsoS1RfRk4sNSkKLSNkZWZpbmUgS19GNyBLKEtUX0ZOLDYpCi0jZGVmaW5lIEtfRjggSyhLVF9GTiw3KQorI2RlZmluZSBLX0Y1IEsoS1RfRk4sIDQpCisjZGVmaW5lIEtfRjYgSyhLVF9GTiwgNSkKKyNkZWZpbmUgS19GNyBLKEtUX0ZOLCA2KQorI2RlZmluZSBLX0Y4IEsoS1RfRk4sIDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0Y5IEsoS1RfRk4sOCkKLSNkZWZpbmUgS19GMTAgSyhLVF9GTiw5KQotI2RlZmluZSBLX0YxMSBLKEtUX0ZOLDEwKQotI2RlZmluZSBLX0YxMiBLKEtUX0ZOLDExKQorI2RlZmluZSBLX0Y5IEsoS1RfRk4sIDgpCisjZGVmaW5lIEtfRjEwIEsoS1RfRk4sIDkpCisjZGVmaW5lIEtfRjExIEsoS1RfRk4sIDEwKQorI2RlZmluZSBLX0YxMiBLKEtUX0ZOLCAxMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjEzIEsoS1RfRk4sMTIpCi0jZGVmaW5lIEtfRjE0IEsoS1RfRk4sMTMpCi0jZGVmaW5lIEtfRjE1IEsoS1RfRk4sMTQpCi0jZGVmaW5lIEtfRjE2IEsoS1RfRk4sMTUpCisjZGVmaW5lIEtfRjEzIEsoS1RfRk4sIDEyKQorI2RlZmluZSBLX0YxNCBLKEtUX0ZOLCAxMykKKyNkZWZpbmUgS19GMTUgSyhLVF9GTiwgMTQpCisjZGVmaW5lIEtfRjE2IEsoS1RfRk4sIDE1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GMTcgSyhLVF9GTiwxNikKLSNkZWZpbmUgS19GMTggSyhLVF9GTiwxNykKLSNkZWZpbmUgS19GMTkgSyhLVF9GTiwxOCkKLSNkZWZpbmUgS19GMjAgSyhLVF9GTiwxOSkKKyNkZWZpbmUgS19GMTcgSyhLVF9GTiwgMTYpCisjZGVmaW5lIEtfRjE4IEsoS1RfRk4sIDE3KQorI2RlZmluZSBLX0YxOSBLKEtUX0ZOLCAxOCkKKyNkZWZpbmUgS19GMjAgSyhLVF9GTiwgMTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0ZJTkQgSyhLVF9GTiwyMCkKLSNkZWZpbmUgS19JTlNFUlQgSyhLVF9GTiwyMSkKLSNkZWZpbmUgS19SRU1PVkUgSyhLVF9GTiwyMikKLSNkZWZpbmUgS19TRUxFQ1QgSyhLVF9GTiwyMykKKyNkZWZpbmUgS19GSU5EIEsoS1RfRk4sIDIwKQorI2RlZmluZSBLX0lOU0VSVCBLKEtUX0ZOLCAyMSkKKyNkZWZpbmUgS19SRU1PVkUgSyhLVF9GTiwgMjIpCisjZGVmaW5lIEtfU0VMRUNUIEsoS1RfRk4sIDIzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19QR1VQIEsoS1RfRk4sMjQpCi0jZGVmaW5lIEtfUEdETiBLKEtUX0ZOLDI1KQotI2RlZmluZSBLX01BQ1JPIEsoS1RfRk4sMjYpCi0jZGVmaW5lIEtfSEVMUCBLKEtUX0ZOLDI3KQorI2RlZmluZSBLX1BHVVAgSyhLVF9GTiwgMjQpCisjZGVmaW5lIEtfUEdETiBLKEtUX0ZOLCAyNSkKKyNkZWZpbmUgS19NQUNSTyBLKEtUX0ZOLCAyNikKKyNkZWZpbmUgS19IRUxQIEsoS1RfRk4sIDI3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19ETyBLKEtUX0ZOLDI4KQotI2RlZmluZSBLX1BBVVNFIEsoS1RfRk4sMjkpCi0jZGVmaW5lIEtfRjIxIEsoS1RfRk4sMzApCi0jZGVmaW5lIEtfRjIyIEsoS1RfRk4sMzEpCisjZGVmaW5lIEtfRE8gSyhLVF9GTiwgMjgpCisjZGVmaW5lIEtfUEFVU0UgSyhLVF9GTiwgMjkpCisjZGVmaW5lIEtfRjIxIEsoS1RfRk4sIDMwKQorI2RlZmluZSBLX0YyMiBLKEtUX0ZOLCAzMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjIzIEsoS1RfRk4sMzIpCi0jZGVmaW5lIEtfRjI0IEsoS1RfRk4sMzMpCi0jZGVmaW5lIEtfRjI1IEsoS1RfRk4sMzQpCi0jZGVmaW5lIEtfRjI2IEsoS1RfRk4sMzUpCisjZGVmaW5lIEtfRjIzIEsoS1RfRk4sIDMyKQorI2RlZmluZSBLX0YyNCBLKEtUX0ZOLCAzMykKKyNkZWZpbmUgS19GMjUgSyhLVF9GTiwgMzQpCisjZGVmaW5lIEtfRjI2IEsoS1RfRk4sIDM1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GMjcgSyhLVF9GTiwzNikKLSNkZWZpbmUgS19GMjggSyhLVF9GTiwzNykKLSNkZWZpbmUgS19GMjkgSyhLVF9GTiwzOCkKLSNkZWZpbmUgS19GMzAgSyhLVF9GTiwzOSkKKyNkZWZpbmUgS19GMjcgSyhLVF9GTiwgMzYpCisjZGVmaW5lIEtfRjI4IEsoS1RfRk4sIDM3KQorI2RlZmluZSBLX0YyOSBLKEtUX0ZOLCAzOCkKKyNkZWZpbmUgS19GMzAgSyhLVF9GTiwgMzkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YzMSBLKEtUX0ZOLDQwKQotI2RlZmluZSBLX0YzMiBLKEtUX0ZOLDQxKQotI2RlZmluZSBLX0YzMyBLKEtUX0ZOLDQyKQotI2RlZmluZSBLX0YzNCBLKEtUX0ZOLDQzKQorI2RlZmluZSBLX0YzMSBLKEtUX0ZOLCA0MCkKKyNkZWZpbmUgS19GMzIgSyhLVF9GTiwgNDEpCisjZGVmaW5lIEtfRjMzIEsoS1RfRk4sIDQyKQorI2RlZmluZSBLX0YzNCBLKEtUX0ZOLCA0MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjM1IEsoS1RfRk4sNDQpCi0jZGVmaW5lIEtfRjM2IEsoS1RfRk4sNDUpCi0jZGVmaW5lIEtfRjM3IEsoS1RfRk4sNDYpCi0jZGVmaW5lIEtfRjM4IEsoS1RfRk4sNDcpCisjZGVmaW5lIEtfRjM1IEsoS1RfRk4sIDQ0KQorI2RlZmluZSBLX0YzNiBLKEtUX0ZOLCA0NSkKKyNkZWZpbmUgS19GMzcgSyhLVF9GTiwgNDYpCisjZGVmaW5lIEtfRjM4IEsoS1RfRk4sIDQ3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GMzkgSyhLVF9GTiw0OCkKLSNkZWZpbmUgS19GNDAgSyhLVF9GTiw0OSkKLSNkZWZpbmUgS19GNDEgSyhLVF9GTiw1MCkKLSNkZWZpbmUgS19GNDIgSyhLVF9GTiw1MSkKKyNkZWZpbmUgS19GMzkgSyhLVF9GTiwgNDgpCisjZGVmaW5lIEtfRjQwIEsoS1RfRk4sIDQ5KQorI2RlZmluZSBLX0Y0MSBLKEtUX0ZOLCA1MCkKKyNkZWZpbmUgS19GNDIgSyhLVF9GTiwgNTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0Y0MyBLKEtUX0ZOLDUyKQotI2RlZmluZSBLX0Y0NCBLKEtUX0ZOLDUzKQotI2RlZmluZSBLX0Y0NSBLKEtUX0ZOLDU0KQotI2RlZmluZSBLX0Y0NiBLKEtUX0ZOLDU1KQorI2RlZmluZSBLX0Y0MyBLKEtUX0ZOLCA1MikKKyNkZWZpbmUgS19GNDQgSyhLVF9GTiwgNTMpCisjZGVmaW5lIEtfRjQ1IEsoS1RfRk4sIDU0KQorI2RlZmluZSBLX0Y0NiBLKEtUX0ZOLCA1NSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjQ3IEsoS1RfRk4sNTYpCi0jZGVmaW5lIEtfRjQ4IEsoS1RfRk4sNTcpCi0jZGVmaW5lIEtfRjQ5IEsoS1RfRk4sNTgpCi0jZGVmaW5lIEtfRjUwIEsoS1RfRk4sNTkpCisjZGVmaW5lIEtfRjQ3IEsoS1RfRk4sIDU2KQorI2RlZmluZSBLX0Y0OCBLKEtUX0ZOLCA1NykKKyNkZWZpbmUgS19GNDkgSyhLVF9GTiwgNTgpCisjZGVmaW5lIEtfRjUwIEsoS1RfRk4sIDU5KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GNTEgSyhLVF9GTiw2MCkKLSNkZWZpbmUgS19GNTIgSyhLVF9GTiw2MSkKLSNkZWZpbmUgS19GNTMgSyhLVF9GTiw2MikKLSNkZWZpbmUgS19GNTQgSyhLVF9GTiw2MykKKyNkZWZpbmUgS19GNTEgSyhLVF9GTiwgNjApCisjZGVmaW5lIEtfRjUyIEsoS1RfRk4sIDYxKQorI2RlZmluZSBLX0Y1MyBLKEtUX0ZOLCA2MikKKyNkZWZpbmUgS19GNTQgSyhLVF9GTiwgNjMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0Y1NSBLKEtUX0ZOLDY0KQotI2RlZmluZSBLX0Y1NiBLKEtUX0ZOLDY1KQotI2RlZmluZSBLX0Y1NyBLKEtUX0ZOLDY2KQotI2RlZmluZSBLX0Y1OCBLKEtUX0ZOLDY3KQorI2RlZmluZSBLX0Y1NSBLKEtUX0ZOLCA2NCkKKyNkZWZpbmUgS19GNTYgSyhLVF9GTiwgNjUpCisjZGVmaW5lIEtfRjU3IEsoS1RfRk4sIDY2KQorI2RlZmluZSBLX0Y1OCBLKEtUX0ZOLCA2NykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjU5IEsoS1RfRk4sNjgpCi0jZGVmaW5lIEtfRjYwIEsoS1RfRk4sNjkpCi0jZGVmaW5lIEtfRjYxIEsoS1RfRk4sNzApCi0jZGVmaW5lIEtfRjYyIEsoS1RfRk4sNzEpCisjZGVmaW5lIEtfRjU5IEsoS1RfRk4sIDY4KQorI2RlZmluZSBLX0Y2MCBLKEtUX0ZOLCA2OSkKKyNkZWZpbmUgS19GNjEgSyhLVF9GTiwgNzApCisjZGVmaW5lIEtfRjYyIEsoS1RfRk4sIDcxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GNjMgSyhLVF9GTiw3MikKLSNkZWZpbmUgS19GNjQgSyhLVF9GTiw3MykKLSNkZWZpbmUgS19GNjUgSyhLVF9GTiw3NCkKLSNkZWZpbmUgS19GNjYgSyhLVF9GTiw3NSkKKyNkZWZpbmUgS19GNjMgSyhLVF9GTiwgNzIpCisjZGVmaW5lIEtfRjY0IEsoS1RfRk4sIDczKQorI2RlZmluZSBLX0Y2NSBLKEtUX0ZOLCA3NCkKKyNkZWZpbmUgS19GNjYgSyhLVF9GTiwgNzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0Y2NyBLKEtUX0ZOLDc2KQotI2RlZmluZSBLX0Y2OCBLKEtUX0ZOLDc3KQotI2RlZmluZSBLX0Y2OSBLKEtUX0ZOLDc4KQotI2RlZmluZSBLX0Y3MCBLKEtUX0ZOLDc5KQorI2RlZmluZSBLX0Y2NyBLKEtUX0ZOLCA3NikKKyNkZWZpbmUgS19GNjggSyhLVF9GTiwgNzcpCisjZGVmaW5lIEtfRjY5IEsoS1RfRk4sIDc4KQorI2RlZmluZSBLX0Y3MCBLKEtUX0ZOLCA3OSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjcxIEsoS1RfRk4sODApCi0jZGVmaW5lIEtfRjcyIEsoS1RfRk4sODEpCi0jZGVmaW5lIEtfRjczIEsoS1RfRk4sODIpCi0jZGVmaW5lIEtfRjc0IEsoS1RfRk4sODMpCisjZGVmaW5lIEtfRjcxIEsoS1RfRk4sIDgwKQorI2RlZmluZSBLX0Y3MiBLKEtUX0ZOLCA4MSkKKyNkZWZpbmUgS19GNzMgSyhLVF9GTiwgODIpCisjZGVmaW5lIEtfRjc0IEsoS1RfRk4sIDgzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GNzUgSyhLVF9GTiw4NCkKLSNkZWZpbmUgS19GNzYgSyhLVF9GTiw4NSkKLSNkZWZpbmUgS19GNzcgSyhLVF9GTiw4NikKLSNkZWZpbmUgS19GNzggSyhLVF9GTiw4NykKKyNkZWZpbmUgS19GNzUgSyhLVF9GTiwgODQpCisjZGVmaW5lIEtfRjc2IEsoS1RfRk4sIDg1KQorI2RlZmluZSBLX0Y3NyBLKEtUX0ZOLCA4NikKKyNkZWZpbmUgS19GNzggSyhLVF9GTiwgODcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0Y3OSBLKEtUX0ZOLDg4KQotI2RlZmluZSBLX0Y4MCBLKEtUX0ZOLDg5KQotI2RlZmluZSBLX0Y4MSBLKEtUX0ZOLDkwKQotI2RlZmluZSBLX0Y4MiBLKEtUX0ZOLDkxKQorI2RlZmluZSBLX0Y3OSBLKEtUX0ZOLCA4OCkKKyNkZWZpbmUgS19GODAgSyhLVF9GTiwgODkpCisjZGVmaW5lIEtfRjgxIEsoS1RfRk4sIDkwKQorI2RlZmluZSBLX0Y4MiBLKEtUX0ZOLCA5MSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjgzIEsoS1RfRk4sOTIpCi0jZGVmaW5lIEtfRjg0IEsoS1RfRk4sOTMpCi0jZGVmaW5lIEtfRjg1IEsoS1RfRk4sOTQpCi0jZGVmaW5lIEtfRjg2IEsoS1RfRk4sOTUpCisjZGVmaW5lIEtfRjgzIEsoS1RfRk4sIDkyKQorI2RlZmluZSBLX0Y4NCBLKEtUX0ZOLCA5MykKKyNkZWZpbmUgS19GODUgSyhLVF9GTiwgOTQpCisjZGVmaW5lIEtfRjg2IEsoS1RfRk4sIDk1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GODcgSyhLVF9GTiw5NikKLSNkZWZpbmUgS19GODggSyhLVF9GTiw5NykKLSNkZWZpbmUgS19GODkgSyhLVF9GTiw5OCkKLSNkZWZpbmUgS19GOTAgSyhLVF9GTiw5OSkKKyNkZWZpbmUgS19GODcgSyhLVF9GTiwgOTYpCisjZGVmaW5lIEtfRjg4IEsoS1RfRk4sIDk3KQorI2RlZmluZSBLX0Y4OSBLKEtUX0ZOLCA5OCkKKyNkZWZpbmUgS19GOTAgSyhLVF9GTiwgOTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0Y5MSBLKEtUX0ZOLDEwMCkKLSNkZWZpbmUgS19GOTIgSyhLVF9GTiwxMDEpCi0jZGVmaW5lIEtfRjkzIEsoS1RfRk4sMTAyKQotI2RlZmluZSBLX0Y5NCBLKEtUX0ZOLDEwMykKKyNkZWZpbmUgS19GOTEgSyhLVF9GTiwgMTAwKQorI2RlZmluZSBLX0Y5MiBLKEtUX0ZOLCAxMDEpCisjZGVmaW5lIEtfRjkzIEsoS1RfRk4sIDEwMikKKyNkZWZpbmUgS19GOTQgSyhLVF9GTiwgMTAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19GOTUgSyhLVF9GTiwxMDQpCi0jZGVmaW5lIEtfRjk2IEsoS1RfRk4sMTA1KQotI2RlZmluZSBLX0Y5NyBLKEtUX0ZOLDEwNikKLSNkZWZpbmUgS19GOTggSyhLVF9GTiwxMDcpCisjZGVmaW5lIEtfRjk1IEsoS1RfRk4sIDEwNCkKKyNkZWZpbmUgS19GOTYgSyhLVF9GTiwgMTA1KQorI2RlZmluZSBLX0Y5NyBLKEtUX0ZOLCAxMDYpCisjZGVmaW5lIEtfRjk4IEsoS1RfRk4sIDEwNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfRjk5IEsoS1RfRk4sMTA4KQotI2RlZmluZSBLX0YxMDAgSyhLVF9GTiwxMDkpCi0jZGVmaW5lIEtfRjEwMSBLKEtUX0ZOLDExMCkKLSNkZWZpbmUgS19GMTAyIEsoS1RfRk4sMTExKQorI2RlZmluZSBLX0Y5OSBLKEtUX0ZOLCAxMDgpCisjZGVmaW5lIEtfRjEwMCBLKEtUX0ZOLCAxMDkpCisjZGVmaW5lIEtfRjEwMSBLKEtUX0ZOLCAxMTApCisjZGVmaW5lIEtfRjEwMiBLKEtUX0ZOLCAxMTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMDMgSyhLVF9GTiwxMTIpCi0jZGVmaW5lIEtfRjEwNCBLKEtUX0ZOLDExMykKLSNkZWZpbmUgS19GMTA1IEsoS1RfRk4sMTE0KQotI2RlZmluZSBLX0YxMDYgSyhLVF9GTiwxMTUpCisjZGVmaW5lIEtfRjEwMyBLKEtUX0ZOLCAxMTIpCisjZGVmaW5lIEtfRjEwNCBLKEtUX0ZOLCAxMTMpCisjZGVmaW5lIEtfRjEwNSBLKEtUX0ZOLCAxMTQpCisjZGVmaW5lIEtfRjEwNiBLKEtUX0ZOLCAxMTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMDcgSyhLVF9GTiwxMTYpCi0jZGVmaW5lIEtfRjEwOCBLKEtUX0ZOLDExNykKLSNkZWZpbmUgS19GMTA5IEsoS1RfRk4sMTE4KQotI2RlZmluZSBLX0YxMTAgSyhLVF9GTiwxMTkpCisjZGVmaW5lIEtfRjEwNyBLKEtUX0ZOLCAxMTYpCisjZGVmaW5lIEtfRjEwOCBLKEtUX0ZOLCAxMTcpCisjZGVmaW5lIEtfRjEwOSBLKEtUX0ZOLCAxMTgpCisjZGVmaW5lIEtfRjExMCBLKEtUX0ZOLCAxMTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMTEgSyhLVF9GTiwxMjApCi0jZGVmaW5lIEtfRjExMiBLKEtUX0ZOLDEyMSkKLSNkZWZpbmUgS19GMTEzIEsoS1RfRk4sMTIyKQotI2RlZmluZSBLX0YxMTQgSyhLVF9GTiwxMjMpCisjZGVmaW5lIEtfRjExMSBLKEtUX0ZOLCAxMjApCisjZGVmaW5lIEtfRjExMiBLKEtUX0ZOLCAxMjEpCisjZGVmaW5lIEtfRjExMyBLKEtUX0ZOLCAxMjIpCisjZGVmaW5lIEtfRjExNCBLKEtUX0ZOLCAxMjMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMTUgSyhLVF9GTiwxMjQpCi0jZGVmaW5lIEtfRjExNiBLKEtUX0ZOLDEyNSkKLSNkZWZpbmUgS19GMTE3IEsoS1RfRk4sMTI2KQotI2RlZmluZSBLX0YxMTggSyhLVF9GTiwxMjcpCisjZGVmaW5lIEtfRjExNSBLKEtUX0ZOLCAxMjQpCisjZGVmaW5lIEtfRjExNiBLKEtUX0ZOLCAxMjUpCisjZGVmaW5lIEtfRjExNyBLKEtUX0ZOLCAxMjYpCisjZGVmaW5lIEtfRjExOCBLKEtUX0ZOLCAxMjcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMTkgSyhLVF9GTiwxMjgpCi0jZGVmaW5lIEtfRjEyMCBLKEtUX0ZOLDEyOSkKLSNkZWZpbmUgS19GMTIxIEsoS1RfRk4sMTMwKQotI2RlZmluZSBLX0YxMjIgSyhLVF9GTiwxMzEpCisjZGVmaW5lIEtfRjExOSBLKEtUX0ZOLCAxMjgpCisjZGVmaW5lIEtfRjEyMCBLKEtUX0ZOLCAxMjkpCisjZGVmaW5lIEtfRjEyMSBLKEtUX0ZOLCAxMzApCisjZGVmaW5lIEtfRjEyMiBLKEtUX0ZOLCAxMzEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMjMgSyhLVF9GTiwxMzIpCi0jZGVmaW5lIEtfRjEyNCBLKEtUX0ZOLDEzMykKLSNkZWZpbmUgS19GMTI1IEsoS1RfRk4sMTM0KQotI2RlZmluZSBLX0YxMjYgSyhLVF9GTiwxMzUpCisjZGVmaW5lIEtfRjEyMyBLKEtUX0ZOLCAxMzIpCisjZGVmaW5lIEtfRjEyNCBLKEtUX0ZOLCAxMzMpCisjZGVmaW5lIEtfRjEyNSBLKEtUX0ZOLCAxMzQpCisjZGVmaW5lIEtfRjEyNiBLKEtUX0ZOLCAxMzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMjcgSyhLVF9GTiwxMzYpCi0jZGVmaW5lIEtfRjEyOCBLKEtUX0ZOLDEzNykKLSNkZWZpbmUgS19GMTI5IEsoS1RfRk4sMTM4KQotI2RlZmluZSBLX0YxMzAgSyhLVF9GTiwxMzkpCisjZGVmaW5lIEtfRjEyNyBLKEtUX0ZOLCAxMzYpCisjZGVmaW5lIEtfRjEyOCBLKEtUX0ZOLCAxMzcpCisjZGVmaW5lIEtfRjEyOSBLKEtUX0ZOLCAxMzgpCisjZGVmaW5lIEtfRjEzMCBLKEtUX0ZOLCAxMzkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMzEgSyhLVF9GTiwxNDApCi0jZGVmaW5lIEtfRjEzMiBLKEtUX0ZOLDE0MSkKLSNkZWZpbmUgS19GMTMzIEsoS1RfRk4sMTQyKQotI2RlZmluZSBLX0YxMzQgSyhLVF9GTiwxNDMpCisjZGVmaW5lIEtfRjEzMSBLKEtUX0ZOLCAxNDApCisjZGVmaW5lIEtfRjEzMiBLKEtUX0ZOLCAxNDEpCisjZGVmaW5lIEtfRjEzMyBLKEtUX0ZOLCAxNDIpCisjZGVmaW5lIEtfRjEzNCBLKEtUX0ZOLCAxNDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMzUgSyhLVF9GTiwxNDQpCi0jZGVmaW5lIEtfRjEzNiBLKEtUX0ZOLDE0NSkKLSNkZWZpbmUgS19GMTM3IEsoS1RfRk4sMTQ2KQotI2RlZmluZSBLX0YxMzggSyhLVF9GTiwxNDcpCisjZGVmaW5lIEtfRjEzNSBLKEtUX0ZOLCAxNDQpCisjZGVmaW5lIEtfRjEzNiBLKEtUX0ZOLCAxNDUpCisjZGVmaW5lIEtfRjEzNyBLKEtUX0ZOLCAxNDYpCisjZGVmaW5lIEtfRjEzOCBLKEtUX0ZOLCAxNDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxMzkgSyhLVF9GTiwxNDgpCi0jZGVmaW5lIEtfRjE0MCBLKEtUX0ZOLDE0OSkKLSNkZWZpbmUgS19GMTQxIEsoS1RfRk4sMTUwKQotI2RlZmluZSBLX0YxNDIgSyhLVF9GTiwxNTEpCisjZGVmaW5lIEtfRjEzOSBLKEtUX0ZOLCAxNDgpCisjZGVmaW5lIEtfRjE0MCBLKEtUX0ZOLCAxNDkpCisjZGVmaW5lIEtfRjE0MSBLKEtUX0ZOLCAxNTApCisjZGVmaW5lIEtfRjE0MiBLKEtUX0ZOLCAxNTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNDMgSyhLVF9GTiwxNTIpCi0jZGVmaW5lIEtfRjE0NCBLKEtUX0ZOLDE1MykKLSNkZWZpbmUgS19GMTQ1IEsoS1RfRk4sMTU0KQotI2RlZmluZSBLX0YxNDYgSyhLVF9GTiwxNTUpCisjZGVmaW5lIEtfRjE0MyBLKEtUX0ZOLCAxNTIpCisjZGVmaW5lIEtfRjE0NCBLKEtUX0ZOLCAxNTMpCisjZGVmaW5lIEtfRjE0NSBLKEtUX0ZOLCAxNTQpCisjZGVmaW5lIEtfRjE0NiBLKEtUX0ZOLCAxNTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNDcgSyhLVF9GTiwxNTYpCi0jZGVmaW5lIEtfRjE0OCBLKEtUX0ZOLDE1NykKLSNkZWZpbmUgS19GMTQ5IEsoS1RfRk4sMTU4KQotI2RlZmluZSBLX0YxNTAgSyhLVF9GTiwxNTkpCisjZGVmaW5lIEtfRjE0NyBLKEtUX0ZOLCAxNTYpCisjZGVmaW5lIEtfRjE0OCBLKEtUX0ZOLCAxNTcpCisjZGVmaW5lIEtfRjE0OSBLKEtUX0ZOLCAxNTgpCisjZGVmaW5lIEtfRjE1MCBLKEtUX0ZOLCAxNTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNTEgSyhLVF9GTiwxNjApCi0jZGVmaW5lIEtfRjE1MiBLKEtUX0ZOLDE2MSkKLSNkZWZpbmUgS19GMTUzIEsoS1RfRk4sMTYyKQotI2RlZmluZSBLX0YxNTQgSyhLVF9GTiwxNjMpCisjZGVmaW5lIEtfRjE1MSBLKEtUX0ZOLCAxNjApCisjZGVmaW5lIEtfRjE1MiBLKEtUX0ZOLCAxNjEpCisjZGVmaW5lIEtfRjE1MyBLKEtUX0ZOLCAxNjIpCisjZGVmaW5lIEtfRjE1NCBLKEtUX0ZOLCAxNjMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNTUgSyhLVF9GTiwxNjQpCi0jZGVmaW5lIEtfRjE1NiBLKEtUX0ZOLDE2NSkKLSNkZWZpbmUgS19GMTU3IEsoS1RfRk4sMTY2KQotI2RlZmluZSBLX0YxNTggSyhLVF9GTiwxNjcpCisjZGVmaW5lIEtfRjE1NSBLKEtUX0ZOLCAxNjQpCisjZGVmaW5lIEtfRjE1NiBLKEtUX0ZOLCAxNjUpCisjZGVmaW5lIEtfRjE1NyBLKEtUX0ZOLCAxNjYpCisjZGVmaW5lIEtfRjE1OCBLKEtUX0ZOLCAxNjcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNTkgSyhLVF9GTiwxNjgpCi0jZGVmaW5lIEtfRjE2MCBLKEtUX0ZOLDE2OSkKLSNkZWZpbmUgS19GMTYxIEsoS1RfRk4sMTcwKQotI2RlZmluZSBLX0YxNjIgSyhLVF9GTiwxNzEpCisjZGVmaW5lIEtfRjE1OSBLKEtUX0ZOLCAxNjgpCisjZGVmaW5lIEtfRjE2MCBLKEtUX0ZOLCAxNjkpCisjZGVmaW5lIEtfRjE2MSBLKEtUX0ZOLCAxNzApCisjZGVmaW5lIEtfRjE2MiBLKEtUX0ZOLCAxNzEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNjMgSyhLVF9GTiwxNzIpCi0jZGVmaW5lIEtfRjE2NCBLKEtUX0ZOLDE3MykKLSNkZWZpbmUgS19GMTY1IEsoS1RfRk4sMTc0KQotI2RlZmluZSBLX0YxNjYgSyhLVF9GTiwxNzUpCisjZGVmaW5lIEtfRjE2MyBLKEtUX0ZOLCAxNzIpCisjZGVmaW5lIEtfRjE2NCBLKEtUX0ZOLCAxNzMpCisjZGVmaW5lIEtfRjE2NSBLKEtUX0ZOLCAxNzQpCisjZGVmaW5lIEtfRjE2NiBLKEtUX0ZOLCAxNzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNjcgSyhLVF9GTiwxNzYpCi0jZGVmaW5lIEtfRjE2OCBLKEtUX0ZOLDE3NykKLSNkZWZpbmUgS19GMTY5IEsoS1RfRk4sMTc4KQotI2RlZmluZSBLX0YxNzAgSyhLVF9GTiwxNzkpCisjZGVmaW5lIEtfRjE2NyBLKEtUX0ZOLCAxNzYpCisjZGVmaW5lIEtfRjE2OCBLKEtUX0ZOLCAxNzcpCisjZGVmaW5lIEtfRjE2OSBLKEtUX0ZOLCAxNzgpCisjZGVmaW5lIEtfRjE3MCBLKEtUX0ZOLCAxNzkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNzEgSyhLVF9GTiwxODApCi0jZGVmaW5lIEtfRjE3MiBLKEtUX0ZOLDE4MSkKLSNkZWZpbmUgS19GMTczIEsoS1RfRk4sMTgyKQotI2RlZmluZSBLX0YxNzQgSyhLVF9GTiwxODMpCisjZGVmaW5lIEtfRjE3MSBLKEtUX0ZOLCAxODApCisjZGVmaW5lIEtfRjE3MiBLKEtUX0ZOLCAxODEpCisjZGVmaW5lIEtfRjE3MyBLKEtUX0ZOLCAxODIpCisjZGVmaW5lIEtfRjE3NCBLKEtUX0ZOLCAxODMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNzUgSyhLVF9GTiwxODQpCi0jZGVmaW5lIEtfRjE3NiBLKEtUX0ZOLDE4NSkKLSNkZWZpbmUgS19GMTc3IEsoS1RfRk4sMTg2KQotI2RlZmluZSBLX0YxNzggSyhLVF9GTiwxODcpCisjZGVmaW5lIEtfRjE3NSBLKEtUX0ZOLCAxODQpCisjZGVmaW5lIEtfRjE3NiBLKEtUX0ZOLCAxODUpCisjZGVmaW5lIEtfRjE3NyBLKEtUX0ZOLCAxODYpCisjZGVmaW5lIEtfRjE3OCBLKEtUX0ZOLCAxODcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxNzkgSyhLVF9GTiwxODgpCi0jZGVmaW5lIEtfRjE4MCBLKEtUX0ZOLDE4OSkKLSNkZWZpbmUgS19GMTgxIEsoS1RfRk4sMTkwKQotI2RlZmluZSBLX0YxODIgSyhLVF9GTiwxOTEpCisjZGVmaW5lIEtfRjE3OSBLKEtUX0ZOLCAxODgpCisjZGVmaW5lIEtfRjE4MCBLKEtUX0ZOLCAxODkpCisjZGVmaW5lIEtfRjE4MSBLKEtUX0ZOLCAxOTApCisjZGVmaW5lIEtfRjE4MiBLKEtUX0ZOLCAxOTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxODMgSyhLVF9GTiwxOTIpCi0jZGVmaW5lIEtfRjE4NCBLKEtUX0ZOLDE5MykKLSNkZWZpbmUgS19GMTg1IEsoS1RfRk4sMTk0KQotI2RlZmluZSBLX0YxODYgSyhLVF9GTiwxOTUpCisjZGVmaW5lIEtfRjE4MyBLKEtUX0ZOLCAxOTIpCisjZGVmaW5lIEtfRjE4NCBLKEtUX0ZOLCAxOTMpCisjZGVmaW5lIEtfRjE4NSBLKEtUX0ZOLCAxOTQpCisjZGVmaW5lIEtfRjE4NiBLKEtUX0ZOLCAxOTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxODcgSyhLVF9GTiwxOTYpCi0jZGVmaW5lIEtfRjE4OCBLKEtUX0ZOLDE5NykKLSNkZWZpbmUgS19GMTg5IEsoS1RfRk4sMTk4KQotI2RlZmluZSBLX0YxOTAgSyhLVF9GTiwxOTkpCisjZGVmaW5lIEtfRjE4NyBLKEtUX0ZOLCAxOTYpCisjZGVmaW5lIEtfRjE4OCBLKEtUX0ZOLCAxOTcpCisjZGVmaW5lIEtfRjE4OSBLKEtUX0ZOLCAxOTgpCisjZGVmaW5lIEtfRjE5MCBLKEtUX0ZOLCAxOTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxOTEgSyhLVF9GTiwyMDApCi0jZGVmaW5lIEtfRjE5MiBLKEtUX0ZOLDIwMSkKLSNkZWZpbmUgS19GMTkzIEsoS1RfRk4sMjAyKQotI2RlZmluZSBLX0YxOTQgSyhLVF9GTiwyMDMpCisjZGVmaW5lIEtfRjE5MSBLKEtUX0ZOLCAyMDApCisjZGVmaW5lIEtfRjE5MiBLKEtUX0ZOLCAyMDEpCisjZGVmaW5lIEtfRjE5MyBLKEtUX0ZOLCAyMDIpCisjZGVmaW5lIEtfRjE5NCBLKEtUX0ZOLCAyMDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxOTUgSyhLVF9GTiwyMDQpCi0jZGVmaW5lIEtfRjE5NiBLKEtUX0ZOLDIwNSkKLSNkZWZpbmUgS19GMTk3IEsoS1RfRk4sMjA2KQotI2RlZmluZSBLX0YxOTggSyhLVF9GTiwyMDcpCisjZGVmaW5lIEtfRjE5NSBLKEtUX0ZOLCAyMDQpCisjZGVmaW5lIEtfRjE5NiBLKEtUX0ZOLCAyMDUpCisjZGVmaW5lIEtfRjE5NyBLKEtUX0ZOLCAyMDYpCisjZGVmaW5lIEtfRjE5OCBLKEtUX0ZOLCAyMDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YxOTkgSyhLVF9GTiwyMDgpCi0jZGVmaW5lIEtfRjIwMCBLKEtUX0ZOLDIwOSkKLSNkZWZpbmUgS19GMjAxIEsoS1RfRk4sMjEwKQotI2RlZmluZSBLX0YyMDIgSyhLVF9GTiwyMTEpCisjZGVmaW5lIEtfRjE5OSBLKEtUX0ZOLCAyMDgpCisjZGVmaW5lIEtfRjIwMCBLKEtUX0ZOLCAyMDkpCisjZGVmaW5lIEtfRjIwMSBLKEtUX0ZOLCAyMTApCisjZGVmaW5lIEtfRjIwMiBLKEtUX0ZOLCAyMTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMDMgSyhLVF9GTiwyMTIpCi0jZGVmaW5lIEtfRjIwNCBLKEtUX0ZOLDIxMykKLSNkZWZpbmUgS19GMjA1IEsoS1RfRk4sMjE0KQotI2RlZmluZSBLX0YyMDYgSyhLVF9GTiwyMTUpCisjZGVmaW5lIEtfRjIwMyBLKEtUX0ZOLCAyMTIpCisjZGVmaW5lIEtfRjIwNCBLKEtUX0ZOLCAyMTMpCisjZGVmaW5lIEtfRjIwNSBLKEtUX0ZOLCAyMTQpCisjZGVmaW5lIEtfRjIwNiBLKEtUX0ZOLCAyMTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMDcgSyhLVF9GTiwyMTYpCi0jZGVmaW5lIEtfRjIwOCBLKEtUX0ZOLDIxNykKLSNkZWZpbmUgS19GMjA5IEsoS1RfRk4sMjE4KQotI2RlZmluZSBLX0YyMTAgSyhLVF9GTiwyMTkpCisjZGVmaW5lIEtfRjIwNyBLKEtUX0ZOLCAyMTYpCisjZGVmaW5lIEtfRjIwOCBLKEtUX0ZOLCAyMTcpCisjZGVmaW5lIEtfRjIwOSBLKEtUX0ZOLCAyMTgpCisjZGVmaW5lIEtfRjIxMCBLKEtUX0ZOLCAyMTkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMTEgSyhLVF9GTiwyMjApCi0jZGVmaW5lIEtfRjIxMiBLKEtUX0ZOLDIyMSkKLSNkZWZpbmUgS19GMjEzIEsoS1RfRk4sMjIyKQotI2RlZmluZSBLX0YyMTQgSyhLVF9GTiwyMjMpCisjZGVmaW5lIEtfRjIxMSBLKEtUX0ZOLCAyMjApCisjZGVmaW5lIEtfRjIxMiBLKEtUX0ZOLCAyMjEpCisjZGVmaW5lIEtfRjIxMyBLKEtUX0ZOLCAyMjIpCisjZGVmaW5lIEtfRjIxNCBLKEtUX0ZOLCAyMjMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMTUgSyhLVF9GTiwyMjQpCi0jZGVmaW5lIEtfRjIxNiBLKEtUX0ZOLDIyNSkKLSNkZWZpbmUgS19GMjE3IEsoS1RfRk4sMjI2KQotI2RlZmluZSBLX0YyMTggSyhLVF9GTiwyMjcpCisjZGVmaW5lIEtfRjIxNSBLKEtUX0ZOLCAyMjQpCisjZGVmaW5lIEtfRjIxNiBLKEtUX0ZOLCAyMjUpCisjZGVmaW5lIEtfRjIxNyBLKEtUX0ZOLCAyMjYpCisjZGVmaW5lIEtfRjIxOCBLKEtUX0ZOLCAyMjcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMTkgSyhLVF9GTiwyMjgpCi0jZGVmaW5lIEtfRjIyMCBLKEtUX0ZOLDIyOSkKLSNkZWZpbmUgS19GMjIxIEsoS1RfRk4sMjMwKQotI2RlZmluZSBLX0YyMjIgSyhLVF9GTiwyMzEpCisjZGVmaW5lIEtfRjIxOSBLKEtUX0ZOLCAyMjgpCisjZGVmaW5lIEtfRjIyMCBLKEtUX0ZOLCAyMjkpCisjZGVmaW5lIEtfRjIyMSBLKEtUX0ZOLCAyMzApCisjZGVmaW5lIEtfRjIyMiBLKEtUX0ZOLCAyMzEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMjMgSyhLVF9GTiwyMzIpCi0jZGVmaW5lIEtfRjIyNCBLKEtUX0ZOLDIzMykKLSNkZWZpbmUgS19GMjI1IEsoS1RfRk4sMjM0KQotI2RlZmluZSBLX0YyMjYgSyhLVF9GTiwyMzUpCisjZGVmaW5lIEtfRjIyMyBLKEtUX0ZOLCAyMzIpCisjZGVmaW5lIEtfRjIyNCBLKEtUX0ZOLCAyMzMpCisjZGVmaW5lIEtfRjIyNSBLKEtUX0ZOLCAyMzQpCisjZGVmaW5lIEtfRjIyNiBLKEtUX0ZOLCAyMzUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMjcgSyhLVF9GTiwyMzYpCi0jZGVmaW5lIEtfRjIyOCBLKEtUX0ZOLDIzNykKLSNkZWZpbmUgS19GMjI5IEsoS1RfRk4sMjM4KQotI2RlZmluZSBLX0YyMzAgSyhLVF9GTiwyMzkpCisjZGVmaW5lIEtfRjIyNyBLKEtUX0ZOLCAyMzYpCisjZGVmaW5lIEtfRjIyOCBLKEtUX0ZOLCAyMzcpCisjZGVmaW5lIEtfRjIyOSBLKEtUX0ZOLCAyMzgpCisjZGVmaW5lIEtfRjIzMCBLKEtUX0ZOLCAyMzkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMzEgSyhLVF9GTiwyNDApCi0jZGVmaW5lIEtfRjIzMiBLKEtUX0ZOLDI0MSkKLSNkZWZpbmUgS19GMjMzIEsoS1RfRk4sMjQyKQotI2RlZmluZSBLX0YyMzQgSyhLVF9GTiwyNDMpCisjZGVmaW5lIEtfRjIzMSBLKEtUX0ZOLCAyNDApCisjZGVmaW5lIEtfRjIzMiBLKEtUX0ZOLCAyNDEpCisjZGVmaW5lIEtfRjIzMyBLKEtUX0ZOLCAyNDIpCisjZGVmaW5lIEtfRjIzNCBLKEtUX0ZOLCAyNDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMzUgSyhLVF9GTiwyNDQpCi0jZGVmaW5lIEtfRjIzNiBLKEtUX0ZOLDI0NSkKLSNkZWZpbmUgS19GMjM3IEsoS1RfRk4sMjQ2KQotI2RlZmluZSBLX0YyMzggSyhLVF9GTiwyNDcpCisjZGVmaW5lIEtfRjIzNSBLKEtUX0ZOLCAyNDQpCisjZGVmaW5lIEtfRjIzNiBLKEtUX0ZOLCAyNDUpCisjZGVmaW5lIEtfRjIzNyBLKEtUX0ZOLCAyNDYpCisjZGVmaW5lIEtfRjIzOCBLKEtUX0ZOLCAyNDcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyMzkgSyhLVF9GTiwyNDgpCi0jZGVmaW5lIEtfRjI0MCBLKEtUX0ZOLDI0OSkKLSNkZWZpbmUgS19GMjQxIEsoS1RfRk4sMjUwKQotI2RlZmluZSBLX0YyNDIgSyhLVF9GTiwyNTEpCisjZGVmaW5lIEtfRjIzOSBLKEtUX0ZOLCAyNDgpCisjZGVmaW5lIEtfRjI0MCBLKEtUX0ZOLCAyNDkpCisjZGVmaW5lIEtfRjI0MSBLKEtUX0ZOLCAyNTApCisjZGVmaW5lIEtfRjI0MiBLKEtUX0ZOLCAyNTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0YyNDMgSyhLVF9GTiwyNTIpCi0jZGVmaW5lIEtfRjI0NCBLKEtUX0ZOLDI1MykKLSNkZWZpbmUgS19GMjQ1IEsoS1RfRk4sMjU0KQotI2RlZmluZSBLX1VORE8gSyhLVF9GTiwyNTUpCisjZGVmaW5lIEtfRjI0MyBLKEtUX0ZOLCAyNTIpCisjZGVmaW5lIEtfRjI0NCBLKEtUX0ZOLCAyNTMpCisjZGVmaW5lIEtfRjI0NSBLKEtUX0ZOLCAyNTQpCisjZGVmaW5lIEtfVU5ETyBLKEtUX0ZOLCAyNTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0hPTEUgSyhLVF9TUEVDLDApCi0jZGVmaW5lIEtfRU5URVIgSyhLVF9TUEVDLDEpCi0jZGVmaW5lIEtfU0hfUkVHUyBLKEtUX1NQRUMsMikKLSNkZWZpbmUgS19TSF9NRU0gSyhLVF9TUEVDLDMpCisjZGVmaW5lIEtfSE9MRSBLKEtUX1NQRUMsIDApCisjZGVmaW5lIEtfRU5URVIgSyhLVF9TUEVDLCAxKQorI2RlZmluZSBLX1NIX1JFR1MgSyhLVF9TUEVDLCAyKQorI2RlZmluZSBLX1NIX01FTSBLKEtUX1NQRUMsIDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX1NIX1NUQVQgSyhLVF9TUEVDLDQpCi0jZGVmaW5lIEtfQlJFQUsgSyhLVF9TUEVDLDUpCi0jZGVmaW5lIEtfQ09OUyBLKEtUX1NQRUMsNikKLSNkZWZpbmUgS19DQVBTIEsoS1RfU1BFQyw3KQorI2RlZmluZSBLX1NIX1NUQVQgSyhLVF9TUEVDLCA0KQorI2RlZmluZSBLX0JSRUFLIEsoS1RfU1BFQywgNSkKKyNkZWZpbmUgS19DT05TIEsoS1RfU1BFQywgNikKKyNkZWZpbmUgS19DQVBTIEsoS1RfU1BFQywgNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfTlVNIEsoS1RfU1BFQyw4KQotI2RlZmluZSBLX0hPTEQgSyhLVF9TUEVDLDkpCi0jZGVmaW5lIEtfU0NST0xMRk9SVyBLKEtUX1NQRUMsMTApCi0jZGVmaW5lIEtfU0NST0xMQkFDSyBLKEtUX1NQRUMsMTEpCisjZGVmaW5lIEtfTlVNIEsoS1RfU1BFQywgOCkKKyNkZWZpbmUgS19IT0xEIEsoS1RfU1BFQywgOSkKKyNkZWZpbmUgS19TQ1JPTExGT1JXIEsoS1RfU1BFQywgMTApCisjZGVmaW5lIEtfU0NST0xMQkFDSyBLKEtUX1NQRUMsIDExKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19CT09UIEsoS1RfU1BFQywxMikKLSNkZWZpbmUgS19DQVBTT04gSyhLVF9TUEVDLDEzKQotI2RlZmluZSBLX0NPTVBPU0UgSyhLVF9TUEVDLDE0KQotI2RlZmluZSBLX1NBSyBLKEtUX1NQRUMsMTUpCisjZGVmaW5lIEtfQk9PVCBLKEtUX1NQRUMsIDEyKQorI2RlZmluZSBLX0NBUFNPTiBLKEtUX1NQRUMsIDEzKQorI2RlZmluZSBLX0NPTVBPU0UgSyhLVF9TUEVDLCAxNCkKKyNkZWZpbmUgS19TQUsgSyhLVF9TUEVDLCAxNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfREVDUkNPTlNPTEUgSyhLVF9TUEVDLDE2KQotI2RlZmluZSBLX0lOQ1JDT05TT0xFIEsoS1RfU1BFQywxNykKLSNkZWZpbmUgS19TUEFXTkNPTlNPTEUgSyhLVF9TUEVDLDE4KQotI2RlZmluZSBLX0JBUkVOVU1MT0NLIEsoS1RfU1BFQywxOSkKKyNkZWZpbmUgS19ERUNSQ09OU09MRSBLKEtUX1NQRUMsIDE2KQorI2RlZmluZSBLX0lOQ1JDT05TT0xFIEsoS1RfU1BFQywgMTcpCisjZGVmaW5lIEtfU1BBV05DT05TT0xFIEsoS1RfU1BFQywgMTgpCisjZGVmaW5lIEtfQkFSRU5VTUxPQ0sgSyhLVF9TUEVDLCAxOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfQUxMT0NBVEVEIEsoS1RfU1BFQywxMjYpCi0jZGVmaW5lIEtfTk9TVUNITUFQIEsoS1RfU1BFQywxMjcpCi0jZGVmaW5lIEtfUDAgSyhLVF9QQUQsMCkKLSNkZWZpbmUgS19QMSBLKEtUX1BBRCwxKQorI2RlZmluZSBLX0FMTE9DQVRFRCBLKEtUX1NQRUMsIDEyNikKKyNkZWZpbmUgS19OT1NVQ0hNQVAgSyhLVF9TUEVDLCAxMjcpCisjZGVmaW5lIEtfUDAgSyhLVF9QQUQsIDApCisjZGVmaW5lIEtfUDEgSyhLVF9QQUQsIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX1AyIEsoS1RfUEFELDIpCi0jZGVmaW5lIEtfUDMgSyhLVF9QQUQsMykKLSNkZWZpbmUgS19QNCBLKEtUX1BBRCw0KQotI2RlZmluZSBLX1A1IEsoS1RfUEFELDUpCisjZGVmaW5lIEtfUDIgSyhLVF9QQUQsIDIpCisjZGVmaW5lIEtfUDMgSyhLVF9QQUQsIDMpCisjZGVmaW5lIEtfUDQgSyhLVF9QQUQsIDQpCisjZGVmaW5lIEtfUDUgSyhLVF9QQUQsIDUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX1A2IEsoS1RfUEFELDYpCi0jZGVmaW5lIEtfUDcgSyhLVF9QQUQsNykKLSNkZWZpbmUgS19QOCBLKEtUX1BBRCw4KQotI2RlZmluZSBLX1A5IEsoS1RfUEFELDkpCisjZGVmaW5lIEtfUDYgSyhLVF9QQUQsIDYpCisjZGVmaW5lIEtfUDcgSyhLVF9QQUQsIDcpCisjZGVmaW5lIEtfUDggSyhLVF9QQUQsIDgpCisjZGVmaW5lIEtfUDkgSyhLVF9QQUQsIDkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX1BQTFVTIEsoS1RfUEFELDEwKQotI2RlZmluZSBLX1BNSU5VUyBLKEtUX1BBRCwxMSkKLSNkZWZpbmUgS19QU1RBUiBLKEtUX1BBRCwxMikKLSNkZWZpbmUgS19QU0xBU0ggSyhLVF9QQUQsMTMpCisjZGVmaW5lIEtfUFBMVVMgSyhLVF9QQUQsIDEwKQorI2RlZmluZSBLX1BNSU5VUyBLKEtUX1BBRCwgMTEpCisjZGVmaW5lIEtfUFNUQVIgSyhLVF9QQUQsIDEyKQorI2RlZmluZSBLX1BTTEFTSCBLKEtUX1BBRCwgMTMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX1BFTlRFUiBLKEtUX1BBRCwxNCkKLSNkZWZpbmUgS19QQ09NTUEgSyhLVF9QQUQsMTUpCi0jZGVmaW5lIEtfUERPVCBLKEtUX1BBRCwxNikKLSNkZWZpbmUgS19QUExVU01JTlVTIEsoS1RfUEFELDE3KQorI2RlZmluZSBLX1BFTlRFUiBLKEtUX1BBRCwgMTQpCisjZGVmaW5lIEtfUENPTU1BIEsoS1RfUEFELCAxNSkKKyNkZWZpbmUgS19QRE9UIEsoS1RfUEFELCAxNikKKyNkZWZpbmUgS19QUExVU01JTlVTIEsoS1RfUEFELCAxNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfUFBBUkVOTCBLKEtUX1BBRCwxOCkKLSNkZWZpbmUgS19QUEFSRU5SIEsoS1RfUEFELDE5KQorI2RlZmluZSBLX1BQQVJFTkwgSyhLVF9QQUQsIDE4KQorI2RlZmluZSBLX1BQQVJFTlIgSyhLVF9QQUQsIDE5KQogI2RlZmluZSBOUl9QQUQgMjAKLSNkZWZpbmUgS19ER1JBVkUgSyhLVF9ERUFELDApCisjZGVmaW5lIEtfREdSQVZFIEsoS1RfREVBRCwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfREFDVVRFIEsoS1RfREVBRCwxKQotI2RlZmluZSBLX0RDSVJDTSBLKEtUX0RFQUQsMikKLSNkZWZpbmUgS19EVElMREUgSyhLVF9ERUFELDMpCi0jZGVmaW5lIEtfRERJRVJFIEsoS1RfREVBRCw0KQorI2RlZmluZSBLX0RBQ1VURSBLKEtUX0RFQUQsIDEpCisjZGVmaW5lIEtfRENJUkNNIEsoS1RfREVBRCwgMikKKyNkZWZpbmUgS19EVElMREUgSyhLVF9ERUFELCAzKQorI2RlZmluZSBLX0RESUVSRSBLKEtUX0RFQUQsIDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0RDRURJTCBLKEtUX0RFQUQsNSkKKyNkZWZpbmUgS19EQ0VESUwgSyhLVF9ERUFELCA1KQogI2RlZmluZSBOUl9ERUFEIDYKLSNkZWZpbmUgS19ET1dOIEsoS1RfQ1VSLDApCi0jZGVmaW5lIEtfTEVGVCBLKEtUX0NVUiwxKQorI2RlZmluZSBLX0RPV04gSyhLVF9DVVIsIDApCisjZGVmaW5lIEtfTEVGVCBLKEtUX0NVUiwgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfUklHSFQgSyhLVF9DVVIsMikKLSNkZWZpbmUgS19VUCBLKEtUX0NVUiwzKQotI2RlZmluZSBLX1NISUZUIEsoS1RfU0hJRlQsS0dfU0hJRlQpCi0jZGVmaW5lIEtfQ1RSTCBLKEtUX1NISUZULEtHX0NUUkwpCisjZGVmaW5lIEtfUklHSFQgSyhLVF9DVVIsIDIpCisjZGVmaW5lIEtfVVAgSyhLVF9DVVIsIDMpCisjZGVmaW5lIEtfU0hJRlQgSyhLVF9TSElGVCwgS0dfU0hJRlQpCisjZGVmaW5lIEtfQ1RSTCBLKEtUX1NISUZULCBLR19DVFJMKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19BTFQgSyhLVF9TSElGVCxLR19BTFQpCi0jZGVmaW5lIEtfQUxUR1IgSyhLVF9TSElGVCxLR19BTFRHUikKLSNkZWZpbmUgS19TSElGVEwgSyhLVF9TSElGVCxLR19TSElGVEwpCi0jZGVmaW5lIEtfU0hJRlRSIEsoS1RfU0hJRlQsS0dfU0hJRlRSKQorI2RlZmluZSBLX0FMVCBLKEtUX1NISUZULCBLR19BTFQpCisjZGVmaW5lIEtfQUxUR1IgSyhLVF9TSElGVCwgS0dfQUxUR1IpCisjZGVmaW5lIEtfU0hJRlRMIEsoS1RfU0hJRlQsIEtHX1NISUZUTCkKKyNkZWZpbmUgS19TSElGVFIgSyhLVF9TSElGVCwgS0dfU0hJRlRSKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19DVFJMTCBLKEtUX1NISUZULEtHX0NUUkxMKQotI2RlZmluZSBLX0NUUkxSIEsoS1RfU0hJRlQsS0dfQ1RSTFIpCi0jZGVmaW5lIEtfQ0FQU1NISUZUIEsoS1RfU0hJRlQsS0dfQ0FQU1NISUZUKQotI2RlZmluZSBLX0FTQzAgSyhLVF9BU0NJSSwwKQorI2RlZmluZSBLX0NUUkxMIEsoS1RfU0hJRlQsIEtHX0NUUkxMKQorI2RlZmluZSBLX0NUUkxSIEsoS1RfU0hJRlQsIEtHX0NUUkxSKQorI2RlZmluZSBLX0NBUFNTSElGVCBLKEtUX1NISUZULCBLR19DQVBTU0hJRlQpCisjZGVmaW5lIEtfQVNDMCBLKEtUX0FTQ0lJLCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19BU0MxIEsoS1RfQVNDSUksMSkKLSNkZWZpbmUgS19BU0MyIEsoS1RfQVNDSUksMikKLSNkZWZpbmUgS19BU0MzIEsoS1RfQVNDSUksMykKLSNkZWZpbmUgS19BU0M0IEsoS1RfQVNDSUksNCkKKyNkZWZpbmUgS19BU0MxIEsoS1RfQVNDSUksIDEpCisjZGVmaW5lIEtfQVNDMiBLKEtUX0FTQ0lJLCAyKQorI2RlZmluZSBLX0FTQzMgSyhLVF9BU0NJSSwgMykKKyNkZWZpbmUgS19BU0M0IEsoS1RfQVNDSUksIDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0FTQzUgSyhLVF9BU0NJSSw1KQotI2RlZmluZSBLX0FTQzYgSyhLVF9BU0NJSSw2KQotI2RlZmluZSBLX0FTQzcgSyhLVF9BU0NJSSw3KQotI2RlZmluZSBLX0FTQzggSyhLVF9BU0NJSSw4KQorI2RlZmluZSBLX0FTQzUgSyhLVF9BU0NJSSwgNSkKKyNkZWZpbmUgS19BU0M2IEsoS1RfQVNDSUksIDYpCisjZGVmaW5lIEtfQVNDNyBLKEtUX0FTQ0lJLCA3KQorI2RlZmluZSBLX0FTQzggSyhLVF9BU0NJSSwgOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfQVNDOSBLKEtUX0FTQ0lJLDkpCi0jZGVmaW5lIEtfSEVYMCBLKEtUX0FTQ0lJLDEwKQotI2RlZmluZSBLX0hFWDEgSyhLVF9BU0NJSSwxMSkKLSNkZWZpbmUgS19IRVgyIEsoS1RfQVNDSUksMTIpCisjZGVmaW5lIEtfQVNDOSBLKEtUX0FTQ0lJLCA5KQorI2RlZmluZSBLX0hFWDAgSyhLVF9BU0NJSSwgMTApCisjZGVmaW5lIEtfSEVYMSBLKEtUX0FTQ0lJLCAxMSkKKyNkZWZpbmUgS19IRVgyIEsoS1RfQVNDSUksIDEyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19IRVgzIEsoS1RfQVNDSUksMTMpCi0jZGVmaW5lIEtfSEVYNCBLKEtUX0FTQ0lJLDE0KQotI2RlZmluZSBLX0hFWDUgSyhLVF9BU0NJSSwxNSkKLSNkZWZpbmUgS19IRVg2IEsoS1RfQVNDSUksMTYpCisjZGVmaW5lIEtfSEVYMyBLKEtUX0FTQ0lJLCAxMykKKyNkZWZpbmUgS19IRVg0IEsoS1RfQVNDSUksIDE0KQorI2RlZmluZSBLX0hFWDUgSyhLVF9BU0NJSSwgMTUpCisjZGVmaW5lIEtfSEVYNiBLKEtUX0FTQ0lJLCAxNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfSEVYNyBLKEtUX0FTQ0lJLDE3KQotI2RlZmluZSBLX0hFWDggSyhLVF9BU0NJSSwxOCkKLSNkZWZpbmUgS19IRVg5IEsoS1RfQVNDSUksMTkpCi0jZGVmaW5lIEtfSEVYYSBLKEtUX0FTQ0lJLDIwKQorI2RlZmluZSBLX0hFWDcgSyhLVF9BU0NJSSwgMTcpCisjZGVmaW5lIEtfSEVYOCBLKEtUX0FTQ0lJLCAxOCkKKyNkZWZpbmUgS19IRVg5IEsoS1RfQVNDSUksIDE5KQorI2RlZmluZSBLX0hFWGEgSyhLVF9BU0NJSSwgMjApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0hFWGIgSyhLVF9BU0NJSSwyMSkKLSNkZWZpbmUgS19IRVhjIEsoS1RfQVNDSUksMjIpCi0jZGVmaW5lIEtfSEVYZCBLKEtUX0FTQ0lJLDIzKQotI2RlZmluZSBLX0hFWGUgSyhLVF9BU0NJSSwyNCkKKyNkZWZpbmUgS19IRVhiIEsoS1RfQVNDSUksIDIxKQorI2RlZmluZSBLX0hFWGMgSyhLVF9BU0NJSSwgMjIpCisjZGVmaW5lIEtfSEVYZCBLKEtUX0FTQ0lJLCAyMykKKyNkZWZpbmUgS19IRVhlIEsoS1RfQVNDSUksIDI0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19IRVhmIEsoS1RfQVNDSUksMjUpCisjZGVmaW5lIEtfSEVYZiBLKEtUX0FTQ0lJLCAyNSkKICNkZWZpbmUgTlJfQVNDSUkgMjYKLSNkZWZpbmUgS19TSElGVExPQ0sgSyhLVF9MT0NLLEtHX1NISUZUKQotI2RlZmluZSBLX0NUUkxMT0NLIEsoS1RfTE9DSyxLR19DVFJMKQorI2RlZmluZSBLX1NISUZUTE9DSyBLKEtUX0xPQ0ssIEtHX1NISUZUKQorI2RlZmluZSBLX0NUUkxMT0NLIEsoS1RfTE9DSywgS0dfQ1RSTCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfQUxUTE9DSyBLKEtUX0xPQ0ssS0dfQUxUKQotI2RlZmluZSBLX0FMVEdSTE9DSyBLKEtUX0xPQ0ssS0dfQUxUR1IpCi0jZGVmaW5lIEtfU0hJRlRMTE9DSyBLKEtUX0xPQ0ssS0dfU0hJRlRMKQotI2RlZmluZSBLX1NISUZUUkxPQ0sgSyhLVF9MT0NLLEtHX1NISUZUUikKKyNkZWZpbmUgS19BTFRMT0NLIEsoS1RfTE9DSywgS0dfQUxUKQorI2RlZmluZSBLX0FMVEdSTE9DSyBLKEtUX0xPQ0ssIEtHX0FMVEdSKQorI2RlZmluZSBLX1NISUZUTExPQ0sgSyhLVF9MT0NLLCBLR19TSElGVEwpCisjZGVmaW5lIEtfU0hJRlRSTE9DSyBLKEtUX0xPQ0ssIEtHX1NISUZUUikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtfQ1RSTExMT0NLIEsoS1RfTE9DSyxLR19DVFJMTCkKLSNkZWZpbmUgS19DVFJMUkxPQ0sgSyhLVF9MT0NLLEtHX0NUUkxSKQotI2RlZmluZSBLX0NBUFNTSElGVExPQ0sgSyhLVF9MT0NLLEtHX0NBUFNTSElGVCkKLSNkZWZpbmUgS19TSElGVF9TTE9DSyBLKEtUX1NMT0NLLEtHX1NISUZUKQorI2RlZmluZSBLX0NUUkxMTE9DSyBLKEtUX0xPQ0ssIEtHX0NUUkxMKQorI2RlZmluZSBLX0NUUkxSTE9DSyBLKEtUX0xPQ0ssIEtHX0NUUkxSKQorI2RlZmluZSBLX0NBUFNTSElGVExPQ0sgSyhLVF9MT0NLLCBLR19DQVBTU0hJRlQpCisjZGVmaW5lIEtfU0hJRlRfU0xPQ0sgSyhLVF9TTE9DSywgS0dfU0hJRlQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLX0NUUkxfU0xPQ0sgSyhLVF9TTE9DSyxLR19DVFJMKQotI2RlZmluZSBLX0FMVF9TTE9DSyBLKEtUX1NMT0NLLEtHX0FMVCkKLSNkZWZpbmUgS19BTFRHUl9TTE9DSyBLKEtUX1NMT0NLLEtHX0FMVEdSKQotI2RlZmluZSBLX1NISUZUTF9TTE9DSyBLKEtUX1NMT0NLLEtHX1NISUZUTCkKKyNkZWZpbmUgS19DVFJMX1NMT0NLIEsoS1RfU0xPQ0ssIEtHX0NUUkwpCisjZGVmaW5lIEtfQUxUX1NMT0NLIEsoS1RfU0xPQ0ssIEtHX0FMVCkKKyNkZWZpbmUgS19BTFRHUl9TTE9DSyBLKEtUX1NMT0NLLCBLR19BTFRHUikKKyNkZWZpbmUgS19TSElGVExfU0xPQ0sgSyhLVF9TTE9DSywgS0dfU0hJRlRMKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS19TSElGVFJfU0xPQ0sgSyhLVF9TTE9DSyxLR19TSElGVFIpCi0jZGVmaW5lIEtfQ1RSTExfU0xPQ0sgSyhLVF9TTE9DSyxLR19DVFJMTCkKLSNkZWZpbmUgS19DVFJMUl9TTE9DSyBLKEtUX1NMT0NLLEtHX0NUUkxSKQotI2RlZmluZSBLX0NBUFNTSElGVF9TTE9DSyBLKEtUX1NMT0NLLEtHX0NBUFNTSElGVCkKKyNkZWZpbmUgS19TSElGVFJfU0xPQ0sgSyhLVF9TTE9DSywgS0dfU0hJRlRSKQorI2RlZmluZSBLX0NUUkxMX1NMT0NLIEsoS1RfU0xPQ0ssIEtHX0NUUkxMKQorI2RlZmluZSBLX0NUUkxSX1NMT0NLIEsoS1RfU0xPQ0ssIEtHX0NUUkxSKQorI2RlZmluZSBLX0NBUFNTSElGVF9TTE9DSyBLKEtUX1NMT0NLLCBLR19DQVBTU0hJRlQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOUl9MT0NLIDkKICNkZWZpbmUgS19CUkxfQkxBTksgSyhLVF9CUkwsIDApCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tleWNob3JkLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tleWNob3JkLmgKaW5kZXggZDEzMjYyYi4uNWZkMzkxMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXljaG9yZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2V5Y2hvcmQuaApAQCAtMjIsMTAgKzIyLDEwIEBACiAjZGVmaW5lIEtFWUNIT1JEX1ZFUlNJT04gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpbnB1dF9rZXljaG9yZCB7Ci0gX191MTYgdmVyc2lvbjsKLSBfX3UxNiBpZDsKLSBfX3UxNiBjb3VudDsKKyAgX191MTYgdmVyc2lvbjsKKyAgX191MTYgaWQ7CisgIF9fdTE2IGNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBrZXljb2Rlc1tdOworICBfX3UxNiBrZXljb2Rlc1tdOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXljdGwuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva2V5Y3RsLmgKaW5kZXggOTQxZTBkNS4uMTUyY2E1OSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rZXljdGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2tleWN0bC5oCkBAIC0xOCwxNyArMTgsMTcgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfTElOVVhfS0VZQ1RMX0gKICNkZWZpbmUgX0xJTlVYX0tFWUNUTF9ICi0jZGVmaW5lIEtFWV9TUEVDX1RIUkVBRF9LRVlSSU5HIC0xCi0jZGVmaW5lIEtFWV9TUEVDX1BST0NFU1NfS0VZUklORyAtMgorI2RlZmluZSBLRVlfU1BFQ19USFJFQURfS0VZUklORyAtIDEKKyNkZWZpbmUgS0VZX1NQRUNfUFJPQ0VTU19LRVlSSU5HIC0gMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS0VZX1NQRUNfU0VTU0lPTl9LRVlSSU5HIC0zCi0jZGVmaW5lIEtFWV9TUEVDX1VTRVJfS0VZUklORyAtNAotI2RlZmluZSBLRVlfU1BFQ19VU0VSX1NFU1NJT05fS0VZUklORyAtNQotI2RlZmluZSBLRVlfU1BFQ19HUk9VUF9LRVlSSU5HIC02CisjZGVmaW5lIEtFWV9TUEVDX1NFU1NJT05fS0VZUklORyAtIDMKKyNkZWZpbmUgS0VZX1NQRUNfVVNFUl9LRVlSSU5HIC0gNAorI2RlZmluZSBLRVlfU1BFQ19VU0VSX1NFU1NJT05fS0VZUklORyAtIDUKKyNkZWZpbmUgS0VZX1NQRUNfR1JPVVBfS0VZUklORyAtIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtFWV9TUEVDX1JFUUtFWV9BVVRIX0tFWSAtNwotI2RlZmluZSBLRVlfU1BFQ19SRVFVRVNUT1JfS0VZUklORyAtOAotI2RlZmluZSBLRVlfUkVRS0VZX0RFRkxfTk9fQ0hBTkdFIC0xCisjZGVmaW5lIEtFWV9TUEVDX1JFUUtFWV9BVVRIX0tFWSAtIDcKKyNkZWZpbmUgS0VZX1NQRUNfUkVRVUVTVE9SX0tFWVJJTkcgLSA4CisjZGVmaW5lIEtFWV9SRVFLRVlfREVGTF9OT19DSEFOR0UgLSAxCiAjZGVmaW5lIEtFWV9SRVFLRVlfREVGTF9ERUZBVUxUIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtFWV9SRVFLRVlfREVGTF9USFJFQURfS0VZUklORyAxCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2t2bS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rdm0uaAppbmRleCBlNjRmOWI1Li44NzBmYTY2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2t2bS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgva3ZtLmgKQEAgLTY3LDc3ICs2Nyw3NyBAQAogI2RlZmluZSBLVk1fVFJDX1BQQ19JTlNUUiAoS1ZNX1RSQ19IQU5ETEVSICsgMHgxOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3VzZXJfdHJhY2Vfc2V0dXAgewotIF9fdTMyIGJ1Zl9zaXplOwotIF9fdTMyIGJ1Zl9ucjsKKyAgX191MzIgYnVmX3NpemU7CisgIF9fdTMyIGJ1Zl9ucjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBfX0tWTV9ERVBSRUNBVEVEX01BSU5fV18weDA2ICAgX0lPVyhLVk1JTywgMHgwNiwgc3RydWN0IGt2bV91c2VyX3RyYWNlX3NldHVwKQorI2RlZmluZSBfX0tWTV9ERVBSRUNBVEVEX01BSU5fV18weDA2IF9JT1coS1ZNSU8sIDB4MDYsIHN0cnVjdCBrdm1fdXNlcl90cmFjZV9zZXR1cCkKICNkZWZpbmUgX19LVk1fREVQUkVDQVRFRF9NQUlOXzB4MDcgX0lPKEtWTUlPLCAweDA3KQogI2RlZmluZSBfX0tWTV9ERVBSRUNBVEVEX01BSU5fMHgwOCBfSU8oS1ZNSU8sIDB4MDgpCiAjZGVmaW5lIF9fS1ZNX0RFUFJFQ0FURURfVk1fUl8weDcwIF9JT1IoS1ZNSU8sIDB4NzAsIHN0cnVjdCBrdm1fYXNzaWduZWRfaXJxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fYnJlYWtwb2ludCB7Ci0gX191MzIgZW5hYmxlZDsKLSBfX3UzMiBwYWRkaW5nOwotIF9fdTY0IGFkZHJlc3M7CisgIF9fdTMyIGVuYWJsZWQ7CisgIF9fdTMyIHBhZGRpbmc7CisgIF9fdTY0IGFkZHJlc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBrdm1fZGVidWdfZ3Vlc3QgewotIF9fdTMyIGVuYWJsZWQ7Ci0gX191MzIgcGFkOworICBfX3UzMiBlbmFibGVkOworICBfX3UzMiBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBrdm1fYnJlYWtwb2ludCBicmVha3BvaW50c1s0XTsKLSBfX3UzMiBzaW5nbGVzdGVwOworICBzdHJ1Y3Qga3ZtX2JyZWFrcG9pbnQgYnJlYWtwb2ludHNbNF07CisgIF9fdTMyIHNpbmdsZXN0ZXA7CiB9OwogI2RlZmluZSBfX0tWTV9ERVBSRUNBVEVEX1ZDUFVfV18weDg3IF9JT1coS1ZNSU8sIDB4ODcsIHN0cnVjdCBrdm1fZGVidWdfZ3Vlc3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9tZW1vcnlfcmVnaW9uIHsKLSBfX3UzMiBzbG90OwotIF9fdTMyIGZsYWdzOwotIF9fdTY0IGd1ZXN0X3BoeXNfYWRkcjsKKyAgX191MzIgc2xvdDsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTY0IGd1ZXN0X3BoeXNfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbWVtb3J5X3NpemU7CisgIF9fdTY0IG1lbW9yeV9zaXplOwogfTsKIHN0cnVjdCBrdm1fdXNlcnNwYWNlX21lbW9yeV9yZWdpb24gewotIF9fdTMyIHNsb3Q7CisgIF9fdTMyIHNsb3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOwotIF9fdTY0IGd1ZXN0X3BoeXNfYWRkcjsKLSBfX3U2NCBtZW1vcnlfc2l6ZTsKLSBfX3U2NCB1c2Vyc3BhY2VfYWRkcjsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTY0IGd1ZXN0X3BoeXNfYWRkcjsKKyAgX191NjQgbWVtb3J5X3NpemU7CisgIF9fdTY0IHVzZXJzcGFjZV9hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEtWTV9NRU1fTE9HX0RJUlRZX1BBR0VTICgxVUwgPDwgMCkKICNkZWZpbmUgS1ZNX01FTV9SRUFET05MWSAoMVVMIDw8IDEpCiBzdHJ1Y3Qga3ZtX2lycV9sZXZlbCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBfX3UzMiBpcnE7Ci0gX19zMzIgc3RhdHVzOwotIH07CisgIHVuaW9uIHsKKyAgICBfX3UzMiBpcnE7CisgICAgX19zMzIgc3RhdHVzOworICB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsZXZlbDsKKyAgX191MzIgbGV2ZWw7CiB9Owogc3RydWN0IGt2bV9pcnFjaGlwIHsKLSBfX3UzMiBjaGlwX2lkOworICBfX3UzMiBjaGlwX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYWQ7Ci0gdW5pb24gewotIGNoYXIgZHVtbXlbNTEyXTsKKyAgX191MzIgcGFkOworICB1bmlvbiB7CisgICAgY2hhciBkdW1teVs1MTJdOwogI2lmZGVmIF9fS1ZNX0hBVkVfUElUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBrdm1fcGljX3N0YXRlIHBpYzsKKyAgICBzdHJ1Y3Qga3ZtX3BpY19zdGF0ZSBwaWM7CiAjZW5kaWYKICNpZmRlZiBfX0tWTV9IQVZFX0lPQVBJQwotIHN0cnVjdCBrdm1faW9hcGljX3N0YXRlIGlvYXBpYzsKKyAgICBzdHJ1Y3Qga3ZtX2lvYXBpY19zdGF0ZSBpb2FwaWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCi0gfSBjaGlwOworICB9IGNoaXA7CiB9Owogc3RydWN0IGt2bV9waXRfY29uZmlnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX191MzIgcGFkWzE1XTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHBhZFsxNV07CiB9OwogI2RlZmluZSBLVk1fUElUX1NQRUFLRVJfRFVNTVkgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTE3MSw4NDQgKzE3MSw5NjMgQEAKICNkZWZpbmUgS1ZNX0VYSVRfUzM5MF9UU0NIIDIyCiAjZGVmaW5lIEtWTV9FWElUX0VQUiAyMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0VYSVRfU1lTVEVNX0VWRU5UIDI0CiAjZGVmaW5lIEtWTV9JTlRFUk5BTF9FUlJPUl9FTVVMQVRJT04gMQogI2RlZmluZSBLVk1fSU5URVJOQUxfRVJST1JfU0lNVUxfRVggMgogI2RlZmluZSBLVk1fSU5URVJOQUxfRVJST1JfREVMSVZFUllfRVYgMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fcnVuIHsKKyAgX191OCByZXF1ZXN0X2ludGVycnVwdF93aW5kb3c7CisgIF9fdTggcGFkZGluZzFbN107CisgIF9fdTMyIGV4aXRfcmVhc29uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlcXVlc3RfaW50ZXJydXB0X3dpbmRvdzsKLSBfX3U4IHBhZGRpbmcxWzddOwotIF9fdTMyIGV4aXRfcmVhc29uOwotIF9fdTggcmVhZHlfZm9yX2ludGVycnVwdF9pbmplY3Rpb247CisgIF9fdTggcmVhZHlfZm9yX2ludGVycnVwdF9pbmplY3Rpb247CisgIF9fdTggaWZfZmxhZzsKKyAgX191OCBwYWRkaW5nMlsyXTsKKyAgX191NjQgY3I4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGlmX2ZsYWc7Ci0gX191OCBwYWRkaW5nMlsyXTsKLSBfX3U2NCBjcjg7Ci0gX191NjQgYXBpY19iYXNlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgYXBpY19iYXNlOwogI2lmZGVmIF9fS1ZNX1MzOTAKLSBfX3U2NCBwc3dfbWFzazsKLSBfX3U2NCBwc3dfYWRkcjsKKyAgX191NjQgcHN3X21hc2s7CisgIF9fdTY0IHBzd19hZGRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgorICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IGhhcmR3YXJlX2V4aXRfcmVhc29uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHsKLSBfX3U2NCBoYXJkd2FyZV9leGl0X3JlYXNvbjsKLSB9IGh3OworICAgIH0gaHc7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IGhhcmR3YXJlX2VudHJ5X2ZhaWx1cmVfcmVhc29uOworICAgIH0gZmFpbF9lbnRyeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3U2NCBoYXJkd2FyZV9lbnRyeV9mYWlsdXJlX3JlYXNvbjsKLSB9IGZhaWxfZW50cnk7Ci0gc3RydWN0IHsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgZXhjZXB0aW9uOworICAgICAgX191MzIgZXJyb3JfY29kZTsKKyAgICB9IGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBleGNlcHRpb247Ci0gX191MzIgZXJyb3JfY29kZTsKLSB9IGV4OwotIHN0cnVjdCB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICAgIHN0cnVjdCB7CiAjZGVmaW5lIEtWTV9FWElUX0lPX0lOIDAKICNkZWZpbmUgS1ZNX0VYSVRfSU9fT1VUIDEKLSBfX3U4IGRpcmVjdGlvbjsKLSBfX3U4IHNpemU7CisgICAgICBfX3U4IGRpcmVjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcG9ydDsKLSBfX3UzMiBjb3VudDsKLSBfX3U2NCBkYXRhX29mZnNldDsKLSB9IGlvOworICAgICAgX191OCBzaXplOworICAgICAgX191MTYgcG9ydDsKKyAgICAgIF9fdTMyIGNvdW50OworICAgICAgX191NjQgZGF0YV9vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gc3RydWN0IGt2bV9kZWJ1Z19leGl0X2FyY2ggYXJjaDsKLSB9IGRlYnVnOwotIHN0cnVjdCB7CisgICAgfSBpbzsKKyAgICBzdHJ1Y3QgeworICAgICAgc3RydWN0IGt2bV9kZWJ1Z19leGl0X2FyY2ggYXJjaDsKKyAgICB9IGRlYnVnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwaHlzX2FkZHI7Ci0gX191OCBkYXRhWzhdOwotIF9fdTMyIGxlbjsKLSBfX3U4IGlzX3dyaXRlOworICAgIHN0cnVjdCB7CisgICAgICBfX3U2NCBwaHlzX2FkZHI7CisgICAgICBfX3U4IGRhdGFbOF07CisgICAgICBfX3UzMiBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gbW1pbzsKLSBzdHJ1Y3QgewotIF9fdTY0IG5yOwotIF9fdTY0IGFyZ3NbNl07CisgICAgICBfX3U4IGlzX3dyaXRlOworICAgIH0gbW1pbzsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJldDsKLSBfX3UzMiBsb25nbW9kZTsKLSBfX3UzMiBwYWQ7Ci0gfSBoeXBlcmNhbGw7CisgICAgICBfX3U2NCBhcmdzWzZdOworICAgICAgX191NjQgcmV0OworICAgICAgX191MzIgbG9uZ21vZGU7CisgICAgICBfX3UzMiBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX191NjQgcmlwOwotIF9fdTMyIGlzX3dyaXRlOwotIF9fdTMyIHBhZDsKKyAgICB9IGh5cGVyY2FsbDsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgcmlwOworICAgICAgX191MzIgaXNfd3JpdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gdHByX2FjY2VzczsKLSBzdHJ1Y3QgewotIF9fdTggaWNwdGNvZGU7Ci0gX191MTYgaXBhOworICAgICAgX191MzIgcGFkOworICAgIH0gdHByX2FjY2VzczsKKyAgICBzdHJ1Y3QgeworICAgICAgX191OCBpY3B0Y29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaXBiOwotIH0gczM5MF9zaWVpYzsKKyAgICAgIF9fdTE2IGlwYTsKKyAgICAgIF9fdTMyIGlwYjsKKyAgICB9IHMzOTBfc2llaWM7CiAjZGVmaW5lIEtWTV9TMzkwX1JFU0VUX1BPUiAxCi0jZGVmaW5lIEtWTV9TMzkwX1JFU0VUX0NMRUFSIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9TMzkwX1JFU0VUX0NMRUFSIDIKICNkZWZpbmUgS1ZNX1MzOTBfUkVTRVRfU1VCU1lTVEVNIDQKICNkZWZpbmUgS1ZNX1MzOTBfUkVTRVRfQ1BVX0lOSVQgOAogI2RlZmluZSBLVk1fUzM5MF9SRVNFVF9JUEwgMTYKLSBfX3U2NCBzMzkwX3Jlc2V0X2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIF9fdTY0IHRyYW5zX2V4Y19jb2RlOwotIF9fdTMyIHBnbV9jb2RlOwotIH0gczM5MF91Y29udHJvbDsKKyAgICBfX3U2NCBzMzkwX3Jlc2V0X2ZsYWdzOworICAgIHN0cnVjdCB7CisgICAgICBfX3U2NCB0cmFuc19leGNfY29kZTsKKyAgICAgIF9fdTMyIHBnbV9jb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIF9fdTMyIGRjcm47Ci0gX191MzIgZGF0YTsKLSBfX3U4IGlzX3dyaXRlOworICAgIH0gczM5MF91Y29udHJvbDsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgZGNybjsKKyAgICAgIF9fdTMyIGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gZGNyOwotIHN0cnVjdCB7Ci0gX191MzIgc3ViZXJyb3I7Ci0gX191MzIgbmRhdGE7CisgICAgICBfX3U4IGlzX3dyaXRlOworICAgIH0gZGNyOworICAgIHN0cnVjdCB7CisgICAgICBfX3UzMiBzdWJlcnJvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZGF0YVsxNl07Ci0gfSBpbnRlcm5hbDsKLSBzdHJ1Y3QgewotIF9fdTY0IGdwcnNbMzJdOworICAgICAgX191MzIgbmRhdGE7CisgICAgICBfX3U2NCBkYXRhWzE2XTsKKyAgICB9IGludGVybmFsOworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gb3NpOwotIHN0cnVjdCB7Ci0gX191NjQgbnI7Ci0gX191NjQgcmV0OworICAgICAgX191NjQgZ3Byc1szMl07CisgICAgfSBvc2k7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IG5yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBhcmdzWzldOwotIH0gcGFwcl9oY2FsbDsKLSBzdHJ1Y3QgewotIF9fdTE2IHN1YmNoYW5uZWxfaWQ7CisgICAgICBfX3U2NCByZXQ7CisgICAgICBfX3U2NCBhcmdzWzldOworICAgIH0gcGFwcl9oY2FsbDsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzdWJjaGFubmVsX25yOwotIF9fdTMyIGlvX2ludF9wYXJtOwotIF9fdTMyIGlvX2ludF93b3JkOwotIF9fdTMyIGlwYjsKKyAgICAgIF9fdTE2IHN1YmNoYW5uZWxfaWQ7CisgICAgICBfX3UxNiBzdWJjaGFubmVsX25yOworICAgICAgX191MzIgaW9faW50X3Bhcm07CisgICAgICBfX3UzMiBpb19pbnRfd29yZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkZXF1ZXVlZDsKLSB9IHMzOTBfdHNjaDsKLSBzdHJ1Y3QgewotIF9fdTMyIGVwcjsKKyAgICAgIF9fdTMyIGlwYjsKKyAgICAgIF9fdTggZGVxdWV1ZWQ7CisgICAgfSBzMzkwX3RzY2g7CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBlcHI7Ci0gY2hhciBwYWRkaW5nWzI1Nl07Ci0gfTsKLSBfX3U2NCBrdm1fdmFsaWRfcmVnczsKKyAgICAgIF9fdTMyIGVwcjsKKyAgICB9IGVwcjsKKyAgICBzdHJ1Y3QgeworI2RlZmluZSBLVk1fU1lTVEVNX0VWRU5UX1NIVVRET1dOIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQga3ZtX2RpcnR5X3JlZ3M7Ci0gdW5pb24gewotIHN0cnVjdCBrdm1fc3luY19yZWdzIHJlZ3M7Ci0gY2hhciBwYWRkaW5nWzEwMjRdOworI2RlZmluZSBLVk1fU1lTVEVNX0VWRU5UX1JFU0VUIDIKKyAgICAgIF9fdTMyIHR5cGU7CisgICAgICBfX3U2NCBmbGFnczsKKyAgICB9IHN5c3RlbV9ldmVudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBzOworICAgIGNoYXIgcGFkZGluZ1syNTZdOworICB9OworICBfX3U2NCBrdm1fdmFsaWRfcmVnczsKKyAgX191NjQga3ZtX2RpcnR5X3JlZ3M7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bmlvbiB7CisgICAgc3RydWN0IGt2bV9zeW5jX3JlZ3MgcmVnczsKKyAgICBjaGFyIHBhZGRpbmdbMTAyNF07CisgIH0gczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGt2bV9jb2FsZXNjZWRfbW1pb196b25lIHsKLSBfX3U2NCBhZGRyOworICBfX3U2NCBhZGRyOworICBfX3UzMiBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzaXplOwotIF9fdTMyIHBhZDsKKyAgX191MzIgcGFkOwogfTsKIHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW8geworICBfX3U2NCBwaHlzX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHBoeXNfYWRkcjsKLSBfX3UzMiBsZW47Ci0gX191MzIgcGFkOwotIF9fdTggZGF0YVs4XTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGxlbjsKKyAgX191MzIgcGFkOworICBfX3U4IGRhdGFbOF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW9fcmluZyB7Ci0gX191MzIgZmlyc3QsIGxhc3Q7Ci0gc3RydWN0IGt2bV9jb2FsZXNjZWRfbW1pbyBjb2FsZXNjZWRfbW1pb1swXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGZpcnN0LCBsYXN0OworICBzdHJ1Y3Qga3ZtX2NvYWxlc2NlZF9tbWlvIGNvYWxlc2NlZF9tbWlvWzBdOwogfTsKLSNkZWZpbmUgS1ZNX0NPQUxFU0NFRF9NTUlPX01BWCAgICgoUEFHRV9TSVpFIC0gc2l6ZW9mKHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW9fcmluZykpIC8gICBzaXplb2Yoc3RydWN0IGt2bV9jb2FsZXNjZWRfbW1pbykpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQ09BTEVTQ0VEX01NSU9fTUFYICgoUEFHRV9TSVpFIC0gc2l6ZW9mKHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW9fcmluZykpIC8gc2l6ZW9mKHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW8pKQogc3RydWN0IGt2bV90cmFuc2xhdGlvbiB7Ci0gX191NjQgbGluZWFyX2FkZHJlc3M7CisgIF9fdTY0IGxpbmVhcl9hZGRyZXNzOworICBfX3U2NCBwaHlzaWNhbF9hZGRyZXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwaHlzaWNhbF9hZGRyZXNzOwotIF9fdTggdmFsaWQ7Ci0gX191OCB3cml0ZWFibGU7Ci0gX191OCB1c2VybW9kZTsKKyAgX191OCB2YWxpZDsKKyAgX191OCB3cml0ZWFibGU7CisgIF9fdTggdXNlcm1vZGU7CisgIF9fdTggcGFkWzVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBhZFs1XTsKIH07CiBzdHJ1Y3Qga3ZtX2ludGVycnVwdCB7Ci0gX191MzIgaXJxOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgaXJxOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX2RpcnR5X2xvZyB7Ci0gX191MzIgc2xvdDsKLSBfX3UzMiBwYWRkaW5nMTsKKyAgX191MzIgc2xvdDsKKyAgX191MzIgcGFkZGluZzE7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHZvaWQgX191c2VyICpkaXJ0eV9iaXRtYXA7Ci0gX191NjQgcGFkZGluZzI7Ci0gfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgdm9pZCBfX3VzZXIgKiBkaXJ0eV9iaXRtYXA7CisgICAgX191NjQgcGFkZGluZzI7CisgIH07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fc2lnbmFsX21hc2sgewotIF9fdTMyIGxlbjsKLSBfX3U4IHNpZ3NldFswXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGxlbjsKKyAgX191OCBzaWdzZXRbMF07CiB9Owotc3RydWN0IGt2bV90cHJfYWNjZXNzX2N0bCB7Ci0gX191MzIgZW5hYmxlZDsKLSBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbOF07CitzdHJ1Y3Qga3ZtX3Rwcl9hY2Nlc3NfY3RsIHsKKyAgX191MzIgZW5hYmxlZDsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHJlc2VydmVkWzhdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qga3ZtX3ZhcGljX2FkZHIgewotIF9fdTY0IHZhcGljX2FkZHI7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCB2YXBpY19hZGRyOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9NUF9TVEFURV9SVU5OQUJMRSAwCiAjZGVmaW5lIEtWTV9NUF9TVEFURV9VTklOSVRJQUxJWkVEIDEKICNkZWZpbmUgS1ZNX01QX1NUQVRFX0lOSVRfUkVDRUlWRUQgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX01QX1NUQVRFX0hBTFRFRCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fTVBfU1RBVEVfU0lQSV9SRUNFSVZFRCA0CisjZGVmaW5lIEtWTV9NUF9TVEFURV9TVE9QUEVEIDUKKyNkZWZpbmUgS1ZNX01QX1NUQVRFX0NIRUNLX1NUT1AgNgorI2RlZmluZSBLVk1fTVBfU1RBVEVfT1BFUkFUSU5HIDcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9NUF9TVEFURV9MT0FEIDgKIHN0cnVjdCBrdm1fbXBfc3RhdGUgewotIF9fdTMyIG1wX3N0YXRlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgbXBfc3RhdGU7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fczM5MF9wc3cgewotIF9fdTY0IG1hc2s7Ci0gX191NjQgYWRkcjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IG1hc2s7CisgIF9fdTY0IGFkZHI7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1MzOTBfU0lHUF9TVE9QIDB4ZmZmZTAwMDB1CiAjZGVmaW5lIEtWTV9TMzkwX1BST0dSQU1fSU5UIDB4ZmZmZTAwMDF1CiAjZGVmaW5lIEtWTV9TMzkwX1NJR1BfU0VUX1BSRUZJWCAweGZmZmUwMDAydQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1MzOTBfUkVTVEFSVCAweGZmZmUwMDAzdQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX1MzOTBfSU5UX1BGQVVMVF9JTklUIDB4ZmZmZTAwMDR1CisjZGVmaW5lIEtWTV9TMzkwX0lOVF9QRkFVTFRfRE9ORSAweGZmZmUwMDA1dQogI2RlZmluZSBLVk1fUzM5MF9NQ0hLIDB4ZmZmZTEwMDB1CisjZGVmaW5lIEtWTV9TMzkwX0lOVF9DTE9DS19DT01QIDB4ZmZmZjEwMDR1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fUzM5MF9JTlRfQ1BVX1RJTUVSIDB4ZmZmZjEwMDV1CiAjZGVmaW5lIEtWTV9TMzkwX0lOVF9WSVJUSU8gMHhmZmZmMjYwM3UKICNkZWZpbmUgS1ZNX1MzOTBfSU5UX1NFUlZJQ0UgMHhmZmZmMjQwMXUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9TMzkwX0lOVF9FTUVSR0VOQ1kgMHhmZmZmMTIwMXUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9TMzkwX0lOVF9FWFRFUk5BTF9DQUxMIDB4ZmZmZjEyMDJ1Ci0jZGVmaW5lIEtWTV9TMzkwX0lOVF9JTyhhaSxjc3NpZCxzc2lkLHNjaGlkKSAgICgoKHNjaGlkKSkgfCAgICgoc3NpZCkgPDwgMTYpIHwgICAoKGNzc2lkKSA8PCAxOCkgfCAgICgoYWkpIDw8IDI2KSkKKyNkZWZpbmUgS1ZNX1MzOTBfSU5UX0lPKGFpLGNzc2lkLHNzaWQsc2NoaWQpICgoKHNjaGlkKSkgfCAoKHNzaWQpIDw8IDE2KSB8ICgoY3NzaWQpIDw8IDE4KSB8ICgoYWkpIDw8IDI2KSkKICNkZWZpbmUgS1ZNX1MzOTBfSU5UX0lPX01JTiAweDAwMDAwMDAwdQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1MzOTBfSU5UX0lPX01BWCAweGZmZmRmZmZmdQotc3RydWN0IGt2bV9zMzkwX2ludGVycnVwdCB7Ci0gX191MzIgdHlwZTsKLSBfX3UzMiBwYXJtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwYXJtNjQ7CitzdHJ1Y3Qga3ZtX3MzOTBfaW50ZXJydXB0IHsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgcGFybTsKKyAgX191NjQgcGFybTY0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CitzdHJ1Y3Qga3ZtX3MzOTBfaW9faW5mbyB7CisgIF9fdTE2IHN1YmNoYW5uZWxfaWQ7CisgIF9fdTE2IHN1YmNoYW5uZWxfbnI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBpb19pbnRfcGFybTsKKyAgX191MzIgaW9faW50X3dvcmQ7Cit9Oworc3RydWN0IGt2bV9zMzkwX2V4dF9pbmZvIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGV4dF9wYXJhbXM7CisgIF9fdTMyIHBhZDsKKyAgX191NjQgZXh0X3BhcmFtczI7Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBrdm1fczM5MF9wZ21faW5mbyB7CisgIF9fdTY0IHRyYW5zX2V4Y19jb2RlOworICBfX3U2NCBtb25fY29kZTsKKyAgX191NjQgcGVyX2FkZHJlc3M7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBkYXRhX2V4Y19jb2RlOworICBfX3UxNiBjb2RlOworICBfX3UxNiBtb25fY2xhc3NfbnI7CisgIF9fdTggcGVyX2NvZGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHBlcl9hdG1pZDsKKyAgX191OCBleGNfYWNjZXNzX2lkOworICBfX3U4IHBlcl9hY2Nlc3NfaWQ7CisgIF9fdTggb3BfYWNjZXNzX2lkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBwYWRbM107Cit9Oworc3RydWN0IGt2bV9zMzkwX3ByZWZpeF9pbmZvIHsKKyAgX191MzIgYWRkcmVzczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9Oworc3RydWN0IGt2bV9zMzkwX2V4dGNhbGxfaW5mbyB7CisgIF9fdTE2IGNvZGU7Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBrdm1fczM5MF9lbWVyZ19pbmZvIHsKKyAgX191MTYgY29kZTsKK307CitzdHJ1Y3Qga3ZtX3MzOTBfbWNoa19pbmZvIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IGNyMTQ7CisgIF9fdTY0IG1jaWM7CisgIF9fdTY0IGZhaWxpbmdfc3RvcmFnZV9hZGRyZXNzOworICBfX3UzMiBleHRfZGFtYWdlX2NvZGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBwYWQ7CisgIF9fdTggZml4ZWRfbG9nb3V0WzE2XTsKK307CitzdHJ1Y3Qga3ZtX3MzOTBfaXJxIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3Qga3ZtX3MzOTBfaW9faW5mbyBpbzsKKyAgICBzdHJ1Y3Qga3ZtX3MzOTBfZXh0X2luZm8gZXh0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBzdHJ1Y3Qga3ZtX3MzOTBfcGdtX2luZm8gcGdtOworICAgIHN0cnVjdCBrdm1fczM5MF9lbWVyZ19pbmZvIGVtZXJnOworICAgIHN0cnVjdCBrdm1fczM5MF9leHRjYWxsX2luZm8gZXh0Y2FsbDsKKyAgICBzdHJ1Y3Qga3ZtX3MzOTBfcHJlZml4X2luZm8gcHJlZml4OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBzdHJ1Y3Qga3ZtX3MzOTBfbWNoa19pbmZvIG1jaGs7CisgICAgY2hhciByZXNlcnZlZFs2NF07CisgIH0gdTsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR1VFU1REQkdfRU5BQkxFIDB4MDAwMDAwMDEKICNkZWZpbmUgS1ZNX0dVRVNUREJHX1NJTkdMRVNURVAgMHgwMDAwMDAwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fZ3Vlc3RfZGVidWcgewotIF9fdTMyIGNvbnRyb2w7Ci0gX191MzIgcGFkOwotIHN0cnVjdCBrdm1fZ3Vlc3RfZGVidWdfYXJjaCBhcmNoOworICBfX3UzMiBjb250cm9sOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcGFkOworICBzdHJ1Y3Qga3ZtX2d1ZXN0X2RlYnVnX2FyY2ggYXJjaDsKIH07CiBlbnVtIHsKLSBrdm1faW9ldmVudGZkX2ZsYWdfbnJfZGF0YW1hdGNoLAotIGt2bV9pb2V2ZW50ZmRfZmxhZ19ucl9waW8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGt2bV9pb2V2ZW50ZmRfZmxhZ19ucl9kZWFzc2lnbiwKLSBrdm1faW9ldmVudGZkX2ZsYWdfbnJfdmlydGlvX2Njd19ub3RpZnksCi0ga3ZtX2lvZXZlbnRmZF9mbGFnX25yX21heCwKKyAga3ZtX2lvZXZlbnRmZF9mbGFnX25yX2RhdGFtYXRjaCwKKyAga3ZtX2lvZXZlbnRmZF9mbGFnX25yX3BpbywKKyAga3ZtX2lvZXZlbnRmZF9mbGFnX25yX2RlYXNzaWduLAorICBrdm1faW9ldmVudGZkX2ZsYWdfbnJfdmlydGlvX2Njd19ub3RpZnksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBrdm1faW9ldmVudGZkX2ZsYWdfbnJfZmFzdF9tbWlvLAorICBrdm1faW9ldmVudGZkX2ZsYWdfbnJfbWF4LAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9JT0VWRU5URkRfRkxBR19EQVRBTUFUQ0ggKDEgPDwga3ZtX2lvZXZlbnRmZF9mbGFnX25yX2RhdGFtYXRjaCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9JT0VWRU5URkRfRkxBR19QSU8gKDEgPDwga3ZtX2lvZXZlbnRmZF9mbGFnX25yX3BpbykKICNkZWZpbmUgS1ZNX0lPRVZFTlRGRF9GTEFHX0RFQVNTSUdOICgxIDw8IGt2bV9pb2V2ZW50ZmRfZmxhZ19ucl9kZWFzc2lnbikKLSNkZWZpbmUgS1ZNX0lPRVZFTlRGRF9GTEFHX1ZJUlRJT19DQ1dfTk9USUZZICAgKDEgPDwga3ZtX2lvZXZlbnRmZF9mbGFnX25yX3ZpcnRpb19jY3dfbm90aWZ5KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0lPRVZFTlRGRF9GTEFHX1ZJUlRJT19DQ1dfTk9USUZZICgxIDw8IGt2bV9pb2V2ZW50ZmRfZmxhZ19ucl92aXJ0aW9fY2N3X25vdGlmeSkKICNkZWZpbmUgS1ZNX0lPRVZFTlRGRF9WQUxJRF9GTEFHX01BU0sgKCgxIDw8IGt2bV9pb2V2ZW50ZmRfZmxhZ19ucl9tYXgpIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX2lvZXZlbnRmZCB7Ci0gX191NjQgZGF0YW1hdGNoOwotIF9fdTY0IGFkZHI7CisgIF9fdTY0IGRhdGFtYXRjaDsKKyAgX191NjQgYWRkcjsKKyAgX191MzIgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsZW47Ci0gX19zMzIgZmQ7Ci0gX191MzIgZmxhZ3M7Ci0gX191OCBwYWRbMzZdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19zMzIgZmQ7CisgIF9fdTMyIGZsYWdzOworICBfX3U4IHBhZFszNl07CiB9Owotc3RydWN0IGt2bV9lbmFibGVfY2FwIHsKLSBfX3UzMiBjYXA7Ci0gX191MzIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGFyZ3NbNF07Ci0gX191OCBwYWRbNjRdOworc3RydWN0IGt2bV9lbmFibGVfY2FwIHsKKyAgX191MzIgY2FwOworICBfX3UzMiBmbGFnczsKKyAgX191NjQgYXJnc1s0XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcGFkWzY0XTsKIH07CiBzdHJ1Y3Qga3ZtX3BwY19wdmluZm8geworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX191MzIgaGNhbGxbNF07Ci0gX191OCBwYWRbMTA4XTsKKyAgX191MzIgaGNhbGxbNF07CisgIF9fdTggcGFkWzEwOF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1BQQ19QQUdFX1NJWkVTX01BWF9TWiA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9wcGNfb25lX3BhZ2Vfc2l6ZSB7Ci0gX191MzIgcGFnZV9zaGlmdDsKLSBfX3UzMiBwdGVfZW5jOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcGFnZV9zaGlmdDsKKyAgX191MzIgcHRlX2VuYzsKIH07Ci1zdHJ1Y3Qga3ZtX3BwY19vbmVfc2VnX3BhZ2Vfc2l6ZSB7Ci0gX191MzIgcGFnZV9zaGlmdDsKLSBfX3UzMiBzbGJfZW5jOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qga3ZtX3BwY19vbmVfcGFnZV9zaXplIGVuY1tLVk1fUFBDX1BBR0VfU0laRVNfTUFYX1NaXTsKK3N0cnVjdCBrdm1fcHBjX29uZV9zZWdfcGFnZV9zaXplIHsKKyAgX191MzIgcGFnZV9zaGlmdDsKKyAgX191MzIgc2xiX2VuYzsKKyAgc3RydWN0IGt2bV9wcGNfb25lX3BhZ2Vfc2l6ZSBlbmNbS1ZNX1BQQ19QQUdFX1NJWkVTX01BWF9TWl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgS1ZNX1BQQ19QQUdFX1NJWkVTX1JFQUwgMHgwMDAwMDAwMQogI2RlZmluZSBLVk1fUFBDXzFUX1NFR01FTlRTIDB4MDAwMDAwMDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3BwY19zbW11X2luZm8gewotIF9fdTY0IGZsYWdzOwotIF9fdTMyIHNsYl9zaXplOwotIF9fdTMyIHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGt2bV9wcGNfb25lX3NlZ19wYWdlX3NpemUgc3BzW0tWTV9QUENfUEFHRV9TSVpFU19NQVhfU1pdOworICBfX3U2NCBmbGFnczsKKyAgX191MzIgc2xiX3NpemU7CisgIF9fdTMyIHBhZDsKKyAgc3RydWN0IGt2bV9wcGNfb25lX3NlZ19wYWdlX3NpemUgc3BzW0tWTV9QUENfUEFHRV9TSVpFU19NQVhfU1pdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIEtWTV9QUENfUFZJTkZPX0ZMQUdTX0VWX0lETEUgKDE8PDApCisjZGVmaW5lIEtWTV9QUENfUFZJTkZPX0ZMQUdTX0VWX0lETEUgKDEgPDwgMCkKICNkZWZpbmUgS1ZNSU8gMHhBRQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1ZNX1MzOTBfVUNPTlRST0wgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1ZNX1BQQ19IViAxCiAjZGVmaW5lIEtWTV9WTV9QUENfUFIgMgogI2RlZmluZSBLVk1fUzM5MF9TSUVfUEFHRV9PRkZTRVQgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0dFVF9BUElfVkVSU0lPTiBfSU8oS1ZNSU8sIDB4MDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ1JFQVRFX1ZNIF9JTyhLVk1JTywgMHgwMSkKICNkZWZpbmUgS1ZNX0dFVF9NU1JfSU5ERVhfTElTVCBfSU9XUihLVk1JTywgMHgwMiwgc3RydWN0IGt2bV9tc3JfbGlzdCkKICNkZWZpbmUgS1ZNX1MzOTBfRU5BQkxFX1NJRSBfSU8oS1ZNSU8sIDB4MDYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0hFQ0tfRVhURU5TSU9OIF9JTyhLVk1JTywgMHgwMykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9HRVRfVkNQVV9NTUFQX1NJWkUgX0lPKEtWTUlPLCAweDA0KQogI2RlZmluZSBLVk1fR0VUX1NVUFBPUlRFRF9DUFVJRCBfSU9XUihLVk1JTywgMHgwNSwgc3RydWN0IGt2bV9jcHVpZDIpCiAjZGVmaW5lIEtWTV9UUkFDRV9FTkFCTEUgX19LVk1fREVQUkVDQVRFRF9NQUlOX1dfMHgwNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1RSQUNFX1BBVVNFIF9fS1ZNX0RFUFJFQ0FURURfTUFJTl8weDA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fVFJBQ0VfRElTQUJMRSBfX0tWTV9ERVBSRUNBVEVEX01BSU5fMHgwOAogI2RlZmluZSBLVk1fR0VUX0VNVUxBVEVEX0NQVUlEIF9JT1dSKEtWTUlPLCAweDA5LCBzdHJ1Y3Qga3ZtX2NwdWlkMikKICNkZWZpbmUgS1ZNX0NBUF9JUlFDSElQIDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9DQVBfSExUIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9DQVBfTU1VX1NIQURPV19DQUNIRV9DT05UUk9MIDIKICNkZWZpbmUgS1ZNX0NBUF9VU0VSX01FTU9SWSAzCiAjZGVmaW5lIEtWTV9DQVBfU0VUX1RTU19BRERSIDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9DQVBfVkFQSUMgNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0NBUF9FWFRfQ1BVSUQgNwogI2RlZmluZSBLVk1fQ0FQX0NMT0NLU09VUkNFIDgKICNkZWZpbmUgS1ZNX0NBUF9OUl9WQ1BVUyA5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX05SX01FTVNMT1RTIDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX1BJVCAxMQogI2RlZmluZSBLVk1fQ0FQX05PUF9JT19ERUxBWSAxMgogI2RlZmluZSBLVk1fQ0FQX1BWX01NVSAxMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0NBUF9NUF9TVEFURSAxNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0NBUF9DT0FMRVNDRURfTU1JTyAxNQogI2RlZmluZSBLVk1fQ0FQX1NZTkNfTU1VIDE2CiAjZGVmaW5lIEtWTV9DQVBfREVWSUNFX0FTU0lHTk1FTlQgMTcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9DQVBfSU9NTVUgMTgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaWZkZWYgX19LVk1fSEFWRV9NU0kKICNkZWZpbmUgS1ZNX0NBUF9ERVZJQ0VfTVNJIDIwCiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9DQVBfREVTVFJPWV9NRU1PUllfUkVHSU9OX1dPUktTIDIxCi0jaWZkZWYgX19LVk1fSEFWRV9VU0VSX05NSQotI2RlZmluZSBLVk1fQ0FQX1VTRVJfTk1JIDIyCi0jZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9DQVBfVVNFUl9OTUkgMjIKICNpZmRlZiBfX0tWTV9IQVZFX0dVRVNUX0RFQlVHCiAjZGVmaW5lIEtWTV9DQVBfU0VUX0dVRVNUX0RFQlVHIDIzCiAjZW5kaWYKLSNpZmRlZiBfX0tWTV9IQVZFX1BJVAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpZmRlZiBfX0tWTV9IQVZFX1BJVAogI2RlZmluZSBLVk1fQ0FQX1JFSU5KRUNUX0NPTlRST0wgMjQKICNlbmRpZgogI2RlZmluZSBLVk1fQ0FQX0lSUV9ST1VUSU5HIDI1Ci0jZGVmaW5lIEtWTV9DQVBfSVJRX0lOSkVDVF9TVEFUVVMgMjYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9DQVBfSVJRX0lOSkVDVF9TVEFUVVMgMjYKICNkZWZpbmUgS1ZNX0NBUF9ERVZJQ0VfREVBU1NJR05NRU5UIDI3CiAjaWZkZWYgX19LVk1fSEFWRV9NU0lYCiAjZGVmaW5lIEtWTV9DQVBfREVWSUNFX01TSVggMjgKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgogI2RlZmluZSBLVk1fQ0FQX0FTU0lHTl9ERVZfSVJRIDI5CiAjZGVmaW5lIEtWTV9DQVBfSk9JTl9NRU1PUllfUkVHSU9OU19XT1JLUyAzMAogI2lmZGVmIF9fS1ZNX0hBVkVfTUNFCi0jZGVmaW5lIEtWTV9DQVBfTUNFIDMxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQ0FQX01DRSAzMQogI2VuZGlmCiAjZGVmaW5lIEtWTV9DQVBfSVJRRkQgMzIKICNpZmRlZiBfX0tWTV9IQVZFX1BJVAotI2RlZmluZSBLVk1fQ0FQX1BJVDIgMzMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9DQVBfUElUMiAzMwogI2VuZGlmCiAjZGVmaW5lIEtWTV9DQVBfU0VUX0JPT1RfQ1BVX0lEIDM0CiAjaWZkZWYgX19LVk1fSEFWRV9QSVRfU1RBVEUyCi0jZGVmaW5lIEtWTV9DQVBfUElUX1NUQVRFMiAzNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9QSVRfU1RBVEUyIDM1CiAjZW5kaWYKICNkZWZpbmUgS1ZNX0NBUF9JT0VWRU5URkQgMzYKICNkZWZpbmUgS1ZNX0NBUF9TRVRfSURFTlRJVFlfTUFQX0FERFIgMzcKLSNpZmRlZiBfX0tWTV9IQVZFX1hFTl9IVk0KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjaWZkZWYgX19LVk1fSEFWRV9YRU5fSFZNCiAjZGVmaW5lIEtWTV9DQVBfWEVOX0hWTSAzOAogI2VuZGlmCiAjZGVmaW5lIEtWTV9DQVBfQURKVVNUX0NMT0NLIDM5Ci0jZGVmaW5lIEtWTV9DQVBfSU5URVJOQUxfRVJST1JfREFUQSA0MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9JTlRFUk5BTF9FUlJPUl9EQVRBIDQwCiAjaWZkZWYgX19LVk1fSEFWRV9WQ1BVX0VWRU5UUwogI2RlZmluZSBLVk1fQ0FQX1ZDUFVfRVZFTlRTIDQxCiAjZW5kaWYKLSNkZWZpbmUgS1ZNX0NBUF9TMzkwX1BTVyA0MgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9TMzkwX1BTVyA0MgogI2RlZmluZSBLVk1fQ0FQX1BQQ19TRUdTVEFURSA0MwogI2RlZmluZSBLVk1fQ0FQX0hZUEVSViA0NAogI2RlZmluZSBLVk1fQ0FQX0hZUEVSVl9WQVBJQyA0NQotI2RlZmluZSBLVk1fQ0FQX0hZUEVSVl9TUElOIDQ2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQ0FQX0hZUEVSVl9TUElOIDQ2CiAjZGVmaW5lIEtWTV9DQVBfUENJX1NFR01FTlQgNDcKICNkZWZpbmUgS1ZNX0NBUF9QUENfUEFJUkVEX1NJTkdMRVMgNDgKICNkZWZpbmUgS1ZNX0NBUF9JTlRSX1NIQURPVyA0OQotI2lmZGVmIF9fS1ZNX0hBVkVfREVCVUdSRUdTCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2lmZGVmIF9fS1ZNX0hBVkVfREVCVUdSRUdTCiAjZGVmaW5lIEtWTV9DQVBfREVCVUdSRUdTIDUwCiAjZW5kaWYKICNkZWZpbmUgS1ZNX0NBUF9YODZfUk9CVVNUX1NJTkdMRVNURVAgNTEKLSNkZWZpbmUgS1ZNX0NBUF9QUENfT1NJIDUyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQ0FQX1BQQ19PU0kgNTIKICNkZWZpbmUgS1ZNX0NBUF9QUENfVU5TRVRfSVJRIDUzCiAjZGVmaW5lIEtWTV9DQVBfRU5BQkxFX0NBUCA1NAogI2lmZGVmIF9fS1ZNX0hBVkVfWFNBVkUKLSNkZWZpbmUgS1ZNX0NBUF9YU0FWRSA1NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9YU0FWRSA1NQogI2VuZGlmCiAjaWZkZWYgX19LVk1fSEFWRV9YQ1JTCiAjZGVmaW5lIEtWTV9DQVBfWENSUyA1NgotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCiAjZGVmaW5lIEtWTV9DQVBfUFBDX0dFVF9QVklORk8gNTcKICNkZWZpbmUgS1ZNX0NBUF9QUENfSVJRX0xFVkVMIDU4CiAjZGVmaW5lIEtWTV9DQVBfQVNZTkNfUEYgNTkKLSNkZWZpbmUgS1ZNX0NBUF9UU0NfQ09OVFJPTCA2MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9UU0NfQ09OVFJPTCA2MAogI2RlZmluZSBLVk1fQ0FQX0dFVF9UU0NfS0haIDYxCiAjZGVmaW5lIEtWTV9DQVBfUFBDX0JPT0tFX1NSRUdTIDYyCiAjZGVmaW5lIEtWTV9DQVBfU1BBUFJfVENFIDYzCi0jZGVmaW5lIEtWTV9DQVBfUFBDX1NNVCA2NAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9QUENfU01UIDY0CiAjZGVmaW5lIEtWTV9DQVBfUFBDX1JNQSA2NQogI2RlZmluZSBLVk1fQ0FQX01BWF9WQ1BVUyA2NgogI2RlZmluZSBLVk1fQ0FQX1BQQ19ISU9SIDY3Ci0jZGVmaW5lIEtWTV9DQVBfUFBDX1BBUFIgNjgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9DQVBfUFBDX1BBUFIgNjgKICNkZWZpbmUgS1ZNX0NBUF9TV19UTEIgNjkKICNkZWZpbmUgS1ZNX0NBUF9PTkVfUkVHIDcwCiAjZGVmaW5lIEtWTV9DQVBfUzM5MF9HTUFQIDcxCi0jZGVmaW5lIEtWTV9DQVBfVFNDX0RFQURMSU5FX1RJTUVSIDcyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQ0FQX1RTQ19ERUFETElORV9USU1FUiA3MgogI2RlZmluZSBLVk1fQ0FQX1MzOTBfVUNPTlRST0wgNzMKICNkZWZpbmUgS1ZNX0NBUF9TWU5DX1JFR1MgNzQKICNkZWZpbmUgS1ZNX0NBUF9QQ0lfMl8zIDc1Ci0jZGVmaW5lIEtWTV9DQVBfS1ZNQ0xPQ0tfQ1RSTCA3NgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9LVk1DTE9DS19DVFJMIDc2CiAjZGVmaW5lIEtWTV9DQVBfU0lHTkFMX01TSSA3NwogI2RlZmluZSBLVk1fQ0FQX1BQQ19HRVRfU01NVV9JTkZPIDc4CiAjZGVmaW5lIEtWTV9DQVBfUzM5MF9DT1cgNzkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9DQVBfUFBDX0FMTE9DX0hUQUIgODAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jaWZkZWYgX19LVk1fSEFWRV9SRUFET05MWV9NRU0KICNkZWZpbmUgS1ZNX0NBUF9SRUFET05MWV9NRU0gODEKLSNlbmRpZgogI2RlZmluZSBLVk1fQ0FQX0lSUUZEX1JFU0FNUExFIDgyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX1BQQ19CT09LRV9XQVRDSERPRyA4MworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0NBUF9QUENfSFRBQl9GRCA4NAogI2RlZmluZSBLVk1fQ0FQX1MzOTBfQ1NTX1NVUFBPUlQgODUKICNkZWZpbmUgS1ZNX0NBUF9QUENfRVBSIDg2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX0FSTV9QU0NJIDg3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX0FSTV9TRVRfREVWSUNFX0FERFIgODgKICNkZWZpbmUgS1ZNX0NBUF9ERVZJQ0VfQ1RSTCA4OQogI2RlZmluZSBLVk1fQ0FQX0lSUV9NUElDIDkwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX1BQQ19SVEFTIDkxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX0lSUV9YSUNTIDkyCiAjZGVmaW5lIEtWTV9DQVBfQVJNX0VMMV8zMkJJVCA5MwogI2RlZmluZSBLVk1fQ0FQX1NQQVBSX01VTFRJVENFIDk0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX0VYVF9FTVVMX0NQVUlEIDk1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQ0FQX0hZUEVSVl9USU1FIDk2CisjZGVmaW5lIEtWTV9DQVBfSU9BUElDX1BPTEFSSVRZX0lHTk9SRUQgOTcKKyNkZWZpbmUgS1ZNX0NBUF9FTkFCTEVfQ0FQX1ZNIDk4CisjZGVmaW5lIEtWTV9DQVBfUzM5MF9JUlFDSElQIDk5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fQ0FQX0lPRVZFTlRGRF9OT19MRU5HVEggMTAwCisjZGVmaW5lIEtWTV9DQVBfVk1fQVRUUklCVVRFUyAxMDEKKyNkZWZpbmUgS1ZNX0NBUF9BUk1fUFNDSV8wXzIgMTAyCisjZGVmaW5lIEtWTV9DQVBfUFBDX0ZJWFVQX0hDQUxMIDEwMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0NBUF9QUENfRU5BQkxFX0hDQUxMIDEwNAorI2RlZmluZSBLVk1fQ0FQX0NIRUNLX0VYVEVOU0lPTl9WTSAxMDUKICNpZmRlZiBLVk1fQ0FQX0lSUV9ST1VUSU5HCiBzdHJ1Y3Qga3ZtX2lycV9yb3V0aW5nX2lycWNoaXAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpcnFjaGlwOwotIF9fdTMyIHBpbjsKKyAgX191MzIgaXJxY2hpcDsKKyAgX191MzIgcGluOwogfTsKIHN0cnVjdCBrdm1faXJxX3JvdXRpbmdfbXNpIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYWRkcmVzc19sbzsKLSBfX3UzMiBhZGRyZXNzX2hpOwotIF9fdTMyIGRhdGE7Ci0gX191MzIgcGFkOworICBfX3UzMiBhZGRyZXNzX2xvOworICBfX3UzMiBhZGRyZXNzX2hpOworICBfX3UzMiBkYXRhOworICBfX3UzMiBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKK3N0cnVjdCBrdm1faXJxX3JvdXRpbmdfczM5MF9hZGFwdGVyIHsKKyAgX191NjQgaW5kX2FkZHI7CisgIF9fdTY0IHN1bW1hcnlfYWRkcjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IGluZF9vZmZzZXQ7CisgIF9fdTMyIHN1bW1hcnlfb2Zmc2V0OworICBfX3UzMiBhZGFwdGVyX2lkOworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9JUlFfUk9VVElOR19JUlFDSElQIDEKICNkZWZpbmUgS1ZNX0lSUV9ST1VUSU5HX01TSSAyCisjZGVmaW5lIEtWTV9JUlFfUk9VVElOR19TMzkwX0FEQVBURVIgMwogc3RydWN0IGt2bV9pcnFfcm91dGluZ19lbnRyeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGdzaTsKLSBfX3UzMiB0eXBlOwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIHBhZDsKKyAgX191MzIgZ3NpOworICBfX3UzMiB0eXBlOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IGt2bV9pcnFfcm91dGluZ19pcnFjaGlwIGlycWNoaXA7Ci0gc3RydWN0IGt2bV9pcnFfcm91dGluZ19tc2kgbXNpOwotIF9fdTMyIHBhZFs4XTsKKyAgdW5pb24geworICAgIHN0cnVjdCBrdm1faXJxX3JvdXRpbmdfaXJxY2hpcCBpcnFjaGlwOworICAgIHN0cnVjdCBrdm1faXJxX3JvdXRpbmdfbXNpIG1zaTsKKyAgICBzdHJ1Y3Qga3ZtX2lycV9yb3V0aW5nX3MzOTBfYWRhcHRlciBhZGFwdGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHU7CisgICAgX191MzIgcGFkWzhdOworICB9IHU7CiB9Owogc3RydWN0IGt2bV9pcnFfcm91dGluZyB7Ci0gX191MzIgbnI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOwotIHN0cnVjdCBrdm1faXJxX3JvdXRpbmdfZW50cnkgZW50cmllc1swXTsKKyAgX191MzIgbnI7CisgIF9fdTMyIGZsYWdzOworICBzdHJ1Y3Qga3ZtX2lycV9yb3V0aW5nX2VudHJ5IGVudHJpZXNbMF07CiB9OwotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCiAjaWZkZWYgS1ZNX0NBUF9NQ0UKIHN0cnVjdCBrdm1feDg2X21jZSB7Ci0gX191NjQgc3RhdHVzOwotIF9fdTY0IGFkZHI7CisgIF9fdTY0IHN0YXR1czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbWlzYzsKLSBfX3U2NCBtY2dfc3RhdHVzOwotIF9fdTggYmFuazsKLSBfX3U4IHBhZDFbN107CisgIF9fdTY0IGFkZHI7CisgIF9fdTY0IG1pc2M7CisgIF9fdTY0IG1jZ19zdGF0dXM7CisgIF9fdTggYmFuazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcGFkMlszXTsKKyAgX191OCBwYWQxWzddOworICBfX3U2NCBwYWQyWzNdOwogfTsKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZmRlZiBLVk1fQ0FQX1hFTl9IVk0KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3hlbl9odm1fY29uZmlnIHsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBtc3I7Ci0gX191NjQgYmxvYl9hZGRyXzMyOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgbXNyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBibG9iX2FkZHJfNjQ7Ci0gX191OCBibG9iX3NpemVfMzI7Ci0gX191OCBibG9iX3NpemVfNjQ7Ci0gX191OCBwYWQyWzMwXTsKKyAgX191NjQgYmxvYl9hZGRyXzMyOworICBfX3U2NCBibG9iX2FkZHJfNjQ7CisgIF9fdTggYmxvYl9zaXplXzMyOworICBfX3U4IGJsb2Jfc2l6ZV82NDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcGFkMlszMF07CiB9OwogI2VuZGlmCiAjZGVmaW5lIEtWTV9JUlFGRF9GTEFHX0RFQVNTSUdOICgxIDw8IDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fSVJRRkRfRkxBR19SRVNBTVBMRSAoMSA8PCAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1faXJxZmQgewotIF9fdTMyIGZkOwotIF9fdTMyIGdzaTsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgZmQ7CisgIF9fdTMyIGdzaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzYW1wbGVmZDsKLSBfX3U4IHBhZFsxNl07CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiByZXNhbXBsZWZkOworICBfX3U4IHBhZFsxNl07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fY2xvY2tfZGF0YSB7CisgIF9fdTY0IGNsb2NrOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcGFkWzldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBjbG9jazsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBwYWRbOV07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX01NVV9GU0xfQk9PS0VfTk9IViAwCiAjZGVmaW5lIEtWTV9NTVVfRlNMX0JPT0tFX0hWIDEKIHN0cnVjdCBrdm1fY29uZmlnX3RsYiB7Ci0gX191NjQgcGFyYW1zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBhcnJheTsKLSBfX3UzMiBtbXVfdHlwZTsKLSBfX3UzMiBhcnJheV9sZW47CisgIF9fdTY0IHBhcmFtczsKKyAgX191NjQgYXJyYXk7CisgIF9fdTMyIG1tdV90eXBlOworICBfX3UzMiBhcnJheV9sZW47CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX2RpcnR5X3RsYiB7Ci0gX191NjQgYml0bWFwOwotIF9fdTMyIG51bV9kaXJ0eTsKLX07CisgIF9fdTY0IGJpdG1hcDsKKyAgX191MzIgbnVtX2RpcnR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CiAjZGVmaW5lIEtWTV9SRUdfQVJDSF9NQVNLIDB4ZmYwMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX0dFTkVSSUMgMHgwMDAwMDAwMDAwMDAwMDAwVUxMCiAjZGVmaW5lIEtWTV9SRUdfUFBDIDB4MTAwMDAwMDAwMDAwMDAwMFVMTAotI2RlZmluZSBLVk1fUkVHX1g4NiAweDIwMDAwMDAwMDAwMDAwMDBVTEwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9SRUdfWDg2IDB4MjAwMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX0lBNjQgMHgzMDAwMDAwMDAwMDAwMDAwVUxMCiAjZGVmaW5lIEtWTV9SRUdfQVJNIDB4NDAwMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX1MzOTAgMHg1MDAwMDAwMDAwMDAwMDAwVUxMCi0jZGVmaW5lIEtWTV9SRUdfQVJNNjQgMHg2MDAwMDAwMDAwMDAwMDAwVUxMCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fUkVHX0FSTTY0IDB4NjAwMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX01JUFMgMHg3MDAwMDAwMDAwMDAwMDAwVUxMCiAjZGVmaW5lIEtWTV9SRUdfU0laRV9TSElGVCA1MgogI2RlZmluZSBLVk1fUkVHX1NJWkVfTUFTSyAweDAwZjAwMDAwMDAwMDAwMDBVTEwKLSNkZWZpbmUgS1ZNX1JFR19TSVpFX1U4IDB4MDAwMDAwMDAwMDAwMDAwMFVMTAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX1JFR19TSVpFX1U4IDB4MDAwMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX1NJWkVfVTE2IDB4MDAxMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX1NJWkVfVTMyIDB4MDAyMDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX1NJWkVfVTY0IDB4MDAzMDAwMDAwMDAwMDAwMFVMTAotI2RlZmluZSBLVk1fUkVHX1NJWkVfVTEyOCAweDAwNDAwMDAwMDAwMDAwMDBVTEwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9SRUdfU0laRV9VMTI4IDB4MDA0MDAwMDAwMDAwMDAwMFVMTAogI2RlZmluZSBLVk1fUkVHX1NJWkVfVTI1NiAweDAwNTAwMDAwMDAwMDAwMDBVTEwKICNkZWZpbmUgS1ZNX1JFR19TSVpFX1U1MTIgMHgwMDYwMDAwMDAwMDAwMDAwVUxMCiAjZGVmaW5lIEtWTV9SRUdfU0laRV9VMTAyNCAweDAwNzAwMDAwMDAwMDAwMDBVTEwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX3JlZ19saXN0IHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbjsKLSBfX3U2NCByZWdbMF07CisgIF9fdTY0IG47CisgIF9fdTY0IHJlZ1swXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9vbmVfcmVnIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgaWQ7Ci0gX191NjQgYWRkcjsKKyAgX191NjQgaWQ7CisgIF9fdTY0IGFkZHI7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBrdm1fbXNpIHsKKyAgX191MzIgYWRkcmVzc19sbzsKKyAgX191MzIgYWRkcmVzc19oaTsKKyAgX191MzIgZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYWRkcmVzc19sbzsKLSBfX3UzMiBhZGRyZXNzX2hpOwotIF9fdTMyIGRhdGE7Ci0gX191MzIgZmxhZ3M7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGFkWzE2XTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTggcGFkWzE2XTsKIH07CiBzdHJ1Y3Qga3ZtX2FybV9kZXZpY2VfYWRkciB7Ci0gX191NjQgaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGFkZHI7CisgIF9fdTY0IGlkOworICBfX3U2NCBhZGRyOwogfTsKICNkZWZpbmUgS1ZNX0NSRUFURV9ERVZJQ0VfVEVTVCAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9jcmVhdGVfZGV2aWNlIHsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgZmQ7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIF9fdTMyIGZkOwotIF9fdTMyIGZsYWdzOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qga3ZtX2RldmljZV9hdHRyIHsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBncm91cDsKLSBfX3U2NCBhdHRyOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgZ3JvdXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGFkZHI7CisgIF9fdTY0IGF0dHI7CisgIF9fdTY0IGFkZHI7CiB9OwotI2RlZmluZSBLVk1fREVWX1RZUEVfRlNMX01QSUNfMjAgMQotI2RlZmluZSBLVk1fREVWX1RZUEVfRlNMX01QSUNfNDIgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS1ZNX0RFVl9UWVBFX1hJQ1MgMwotI2RlZmluZSBLVk1fREVWX1RZUEVfVkZJTyA0CiAjZGVmaW5lIEtWTV9ERVZfVkZJT19HUk9VUCAxCi0jZGVmaW5lIEtWTV9ERVZfVkZJT19HUk9VUF9BREQgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0RFVl9WRklPX0dST1VQX0FERCAxCiAjZGVmaW5lIEtWTV9ERVZfVkZJT19HUk9VUF9ERUwgMgotI2RlZmluZSBLVk1fREVWX1RZUEVfQVJNX1ZHSUNfVjIgNQorZW51bSBrdm1fZGV2aWNlX3R5cGUgeworICBLVk1fREVWX1RZUEVfRlNMX01QSUNfMjAgPSAxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0RFVl9UWVBFX0ZTTF9NUElDXzIwIEtWTV9ERVZfVFlQRV9GU0xfTVBJQ18yMAorICBLVk1fREVWX1RZUEVfRlNMX01QSUNfNDIsCisjZGVmaW5lIEtWTV9ERVZfVFlQRV9GU0xfTVBJQ180MiBLVk1fREVWX1RZUEVfRlNMX01QSUNfNDIKKyAgS1ZNX0RFVl9UWVBFX1hJQ1MsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fREVWX1RZUEVfWElDUyBLVk1fREVWX1RZUEVfWElDUworICBLVk1fREVWX1RZUEVfVkZJTywKKyNkZWZpbmUgS1ZNX0RFVl9UWVBFX1ZGSU8gS1ZNX0RFVl9UWVBFX1ZGSU8KKyAgS1ZNX0RFVl9UWVBFX0FSTV9WR0lDX1YyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgS1ZNX0RFVl9UWVBFX0FSTV9WR0lDX1YyIEtWTV9ERVZfVFlQRV9BUk1fVkdJQ19WMgorICBLVk1fREVWX1RZUEVfRkxJQywKKyNkZWZpbmUgS1ZNX0RFVl9UWVBFX0ZMSUMgS1ZNX0RFVl9UWVBFX0ZMSUMKKyAgS1ZNX0RFVl9UWVBFX01BWCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OwogI2RlZmluZSBLVk1fU0VUX01FTU9SWV9SRUdJT04gX0lPVyhLVk1JTywgMHg0MCwgc3RydWN0IGt2bV9tZW1vcnlfcmVnaW9uKQogI2RlZmluZSBLVk1fQ1JFQVRFX1ZDUFUgX0lPKEtWTUlPLCAweDQxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0dFVF9ESVJUWV9MT0cgX0lPVyhLVk1JTywgMHg0Miwgc3RydWN0IGt2bV9kaXJ0eV9sb2cpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX01FTU9SWV9BTElBUyBfSU9XKEtWTUlPLCAweDQzLCBzdHJ1Y3Qga3ZtX21lbW9yeV9hbGlhcykKICNkZWZpbmUgS1ZNX1NFVF9OUl9NTVVfUEFHRVMgX0lPKEtWTUlPLCAweDQ0KQogI2RlZmluZSBLVk1fR0VUX05SX01NVV9QQUdFUyBfSU8oS1ZNSU8sIDB4NDUpCisjZGVmaW5lIEtWTV9TRVRfVVNFUl9NRU1PUllfUkVHSU9OIF9JT1coS1ZNSU8sIDB4NDYsIHN0cnVjdCBrdm1fdXNlcnNwYWNlX21lbW9yeV9yZWdpb24pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBLVk1fU0VUX1VTRVJfTUVNT1JZX1JFR0lPTiBfSU9XKEtWTUlPLCAweDQ2LCAgIHN0cnVjdCBrdm1fdXNlcnNwYWNlX21lbW9yeV9yZWdpb24pCiAjZGVmaW5lIEtWTV9TRVRfVFNTX0FERFIgX0lPKEtWTUlPLCAweDQ3KQogI2RlZmluZSBLVk1fU0VUX0lERU5USVRZX01BUF9BRERSIF9JT1coS1ZNSU8sIDB4NDgsIF9fdTY0KQogc3RydWN0IGt2bV9zMzkwX3VjYXNfbWFwcGluZyB7CisgIF9fdTY0IHVzZXJfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdXNlcl9hZGRyOwotIF9fdTY0IHZjcHVfYWRkcjsKLSBfX3U2NCBsZW5ndGg7CisgIF9fdTY0IHZjcHVfYWRkcjsKKyAgX191NjQgbGVuZ3RoOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9TMzkwX1VDQVNfTUFQIF9JT1coS1ZNSU8sIDB4NTAsIHN0cnVjdCBrdm1fczM5MF91Y2FzX21hcHBpbmcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fUzM5MF9VQ0FTX1VOTUFQIF9JT1coS1ZNSU8sIDB4NTEsIHN0cnVjdCBrdm1fczM5MF91Y2FzX21hcHBpbmcpCiAjZGVmaW5lIEtWTV9TMzkwX1ZDUFVfRkFVTFQgX0lPVyhLVk1JTywgMHg1MiwgdW5zaWduZWQgbG9uZykKICNkZWZpbmUgS1ZNX0NSRUFURV9JUlFDSElQIF9JTyhLVk1JTywgMHg2MCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9JUlFfTElORSBfSU9XKEtWTUlPLCAweDYxLCBzdHJ1Y3Qga3ZtX2lycV9sZXZlbCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9HRVRfSVJRQ0hJUCBfSU9XUihLVk1JTywgMHg2Miwgc3RydWN0IGt2bV9pcnFjaGlwKQogI2RlZmluZSBLVk1fU0VUX0lSUUNISVAgX0lPUihLVk1JTywgMHg2Mywgc3RydWN0IGt2bV9pcnFjaGlwKQogI2RlZmluZSBLVk1fQ1JFQVRFX1BJVCBfSU8oS1ZNSU8sIDB4NjQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX1BJVCBfSU9XUihLVk1JTywgMHg2NSwgc3RydWN0IGt2bV9waXRfc3RhdGUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX1BJVCBfSU9SKEtWTUlPLCAweDY2LCBzdHJ1Y3Qga3ZtX3BpdF9zdGF0ZSkKICNkZWZpbmUgS1ZNX0lSUV9MSU5FX1NUQVRVUyBfSU9XUihLVk1JTywgMHg2Nywgc3RydWN0IGt2bV9pcnFfbGV2ZWwpCi0jZGVmaW5lIEtWTV9SRUdJU1RFUl9DT0FMRVNDRURfTU1JTyAgIF9JT1coS1ZNSU8sIDB4NjcsIHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW9fem9uZSkKKyNkZWZpbmUgS1ZNX1JFR0lTVEVSX0NPQUxFU0NFRF9NTUlPIF9JT1coS1ZNSU8sIDB4NjcsIHN0cnVjdCBrdm1fY29hbGVzY2VkX21taW9fem9uZSkKKyNkZWZpbmUgS1ZNX1VOUkVHSVNURVJfQ09BTEVTQ0VEX01NSU8gX0lPVyhLVk1JTywgMHg2OCwgc3RydWN0IGt2bV9jb2FsZXNjZWRfbW1pb196b25lKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS1ZNX1VOUkVHSVNURVJfQ09BTEVTQ0VEX01NSU8gICBfSU9XKEtWTUlPLCAweDY4LCBzdHJ1Y3Qga3ZtX2NvYWxlc2NlZF9tbWlvX3pvbmUpCi0jZGVmaW5lIEtWTV9BU1NJR05fUENJX0RFVklDRSBfSU9SKEtWTUlPLCAweDY5LCAgIHN0cnVjdCBrdm1fYXNzaWduZWRfcGNpX2RldikKKyNkZWZpbmUgS1ZNX0FTU0lHTl9QQ0lfREVWSUNFIF9JT1IoS1ZNSU8sIDB4NjksIHN0cnVjdCBrdm1fYXNzaWduZWRfcGNpX2RldikKICNkZWZpbmUgS1ZNX1NFVF9HU0lfUk9VVElORyBfSU9XKEtWTUlPLCAweDZhLCBzdHJ1Y3Qga3ZtX2lycV9yb3V0aW5nKQogI2RlZmluZSBLVk1fQVNTSUdOX0lSUSBfX0tWTV9ERVBSRUNBVEVEX1ZNX1JfMHg3MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FTU0lHTl9ERVZfSVJRIF9JT1coS1ZNSU8sIDB4NzAsIHN0cnVjdCBrdm1fYXNzaWduZWRfaXJxKQotI2RlZmluZSBLVk1fUkVJTkpFQ1RfQ09OVFJPTCBfSU8oS1ZNSU8sIDB4NzEpCi0jZGVmaW5lIEtWTV9ERUFTU0lHTl9QQ0lfREVWSUNFIF9JT1coS1ZNSU8sIDB4NzIsICAgc3RydWN0IGt2bV9hc3NpZ25lZF9wY2lfZGV2KQotI2RlZmluZSBLVk1fQVNTSUdOX1NFVF9NU0lYX05SIF9JT1coS1ZNSU8sIDB4NzMsICAgc3RydWN0IGt2bV9hc3NpZ25lZF9tc2l4X25yKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgS1ZNX0FTU0lHTl9TRVRfTVNJWF9FTlRSWSBfSU9XKEtWTUlPLCAweDc0LCAgIHN0cnVjdCBrdm1fYXNzaWduZWRfbXNpeF9lbnRyeSkKKyNkZWZpbmUgS1ZNX1JFSU5KRUNUX0NPTlRST0wgX0lPKEtWTUlPLCAweDcxKQorI2RlZmluZSBLVk1fREVBU1NJR05fUENJX0RFVklDRSBfSU9XKEtWTUlPLCAweDcyLCBzdHJ1Y3Qga3ZtX2Fzc2lnbmVkX3BjaV9kZXYpCisjZGVmaW5lIEtWTV9BU1NJR05fU0VUX01TSVhfTlIgX0lPVyhLVk1JTywgMHg3Mywgc3RydWN0IGt2bV9hc3NpZ25lZF9tc2l4X25yKQorI2RlZmluZSBLVk1fQVNTSUdOX1NFVF9NU0lYX0VOVFJZIF9JT1coS1ZNSU8sIDB4NzQsIHN0cnVjdCBrdm1fYXNzaWduZWRfbXNpeF9lbnRyeSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9ERUFTU0lHTl9ERVZfSVJRIF9JT1coS1ZNSU8sIDB4NzUsIHN0cnVjdCBrdm1fYXNzaWduZWRfaXJxKQogI2RlZmluZSBLVk1fSVJRRkQgX0lPVyhLVk1JTywgMHg3Niwgc3RydWN0IGt2bV9pcnFmZCkKICNkZWZpbmUgS1ZNX0NSRUFURV9QSVQyIF9JT1coS1ZNSU8sIDB4NzcsIHN0cnVjdCBrdm1fcGl0X2NvbmZpZykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9TRVRfQk9PVF9DUFVfSUQgX0lPKEtWTUlPLCAweDc4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0lPRVZFTlRGRCBfSU9XKEtWTUlPLCAweDc5LCBzdHJ1Y3Qga3ZtX2lvZXZlbnRmZCkKICNkZWZpbmUgS1ZNX1hFTl9IVk1fQ09ORklHIF9JT1coS1ZNSU8sIDB4N2EsIHN0cnVjdCBrdm1feGVuX2h2bV9jb25maWcpCiAjZGVmaW5lIEtWTV9TRVRfQ0xPQ0sgX0lPVyhLVk1JTywgMHg3Yiwgc3RydWN0IGt2bV9jbG9ja19kYXRhKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0dFVF9DTE9DSyBfSU9SKEtWTUlPLCAweDdjLCBzdHJ1Y3Qga3ZtX2Nsb2NrX2RhdGEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX1BJVDIgX0lPUihLVk1JTywgMHg5Ziwgc3RydWN0IGt2bV9waXRfc3RhdGUyKQogI2RlZmluZSBLVk1fU0VUX1BJVDIgX0lPVyhLVk1JTywgMHhhMCwgc3RydWN0IGt2bV9waXRfc3RhdGUyKQogI2RlZmluZSBLVk1fUFBDX0dFVF9QVklORk8gX0lPVyhLVk1JTywgMHhhMSwgc3RydWN0IGt2bV9wcGNfcHZpbmZvKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1NFVF9UU0NfS0haIF9JTyhLVk1JTywgMHhhMikKLSNkZWZpbmUgS1ZNX0dFVF9UU0NfS0haIF9JTyhLVk1JTywgMHhhMykKLSNkZWZpbmUgS1ZNX0FTU0lHTl9TRVRfSU5UWF9NQVNLIF9JT1coS1ZNSU8sIDB4YTQsICAgc3RydWN0IGt2bV9hc3NpZ25lZF9wY2lfZGV2KQotI2RlZmluZSBLVk1fU0lHTkFMX01TSSBfSU9XKEtWTUlPLCAweGE1LCBzdHJ1Y3Qga3ZtX21zaSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEtWTV9HRVRfVFNDX0tIWiBfSU8oS1ZNSU8sIDB4YTMpCisjZGVmaW5lIEtWTV9BU1NJR05fU0VUX0lOVFhfTUFTSyBfSU9XKEtWTUlPLCAweGE0LCBzdHJ1Y3Qga3ZtX2Fzc2lnbmVkX3BjaV9kZXYpCisjZGVmaW5lIEtWTV9TSUdOQUxfTVNJIF9JT1coS1ZNSU8sIDB4YTUsIHN0cnVjdCBrdm1fbXNpKQogI2RlZmluZSBLVk1fUFBDX0dFVF9TTU1VX0lORk8gX0lPUihLVk1JTywgMHhhNiwgc3RydWN0IGt2bV9wcGNfc21tdV9pbmZvKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1BQQ19BTExPQ0FURV9IVEFCIF9JT1dSKEtWTUlPLCAweGE3LCBfX3UzMikKICNkZWZpbmUgS1ZNX0NSRUFURV9TUEFQUl9UQ0UgX0lPVyhLVk1JTywgMHhhOCwgc3RydWN0IGt2bV9jcmVhdGVfc3BhcHJfdGNlKQogI2RlZmluZSBLVk1fQUxMT0NBVEVfUk1BIF9JT1IoS1ZNSU8sIDB4YTksIHN0cnVjdCBrdm1fYWxsb2NhdGVfcm1hKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1BQQ19HRVRfSFRBQl9GRCBfSU9XKEtWTUlPLCAweGFhLCBzdHJ1Y3Qga3ZtX2dldF9odGFiX2ZkKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0FSTV9TRVRfREVWSUNFX0FERFIgX0lPVyhLVk1JTywgMHhhYiwgc3RydWN0IGt2bV9hcm1fZGV2aWNlX2FkZHIpCiAjZGVmaW5lIEtWTV9QUENfUlRBU19ERUZJTkVfVE9LRU4gX0lPVyhLVk1JTywgMHhhYywgc3RydWN0IGt2bV9ydGFzX3Rva2VuX2FyZ3MpCiAjZGVmaW5lIEtWTV9DUkVBVEVfREVWSUNFIF9JT1dSKEtWTUlPLCAweGUwLCBzdHJ1Y3Qga3ZtX2NyZWF0ZV9kZXZpY2UpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX0RFVklDRV9BVFRSIF9JT1coS1ZNSU8sIDB4ZTEsIHN0cnVjdCBrdm1fZGV2aWNlX2F0dHIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX0RFVklDRV9BVFRSIF9JT1coS1ZNSU8sIDB4ZTIsIHN0cnVjdCBrdm1fZGV2aWNlX2F0dHIpCiAjZGVmaW5lIEtWTV9IQVNfREVWSUNFX0FUVFIgX0lPVyhLVk1JTywgMHhlMywgc3RydWN0IGt2bV9kZXZpY2VfYXR0cikKICNkZWZpbmUgS1ZNX1JVTiBfSU8oS1ZNSU8sIDB4ODApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX1JFR1MgX0lPUihLVk1JTywgMHg4MSwgc3RydWN0IGt2bV9yZWdzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1NFVF9SRUdTIF9JT1coS1ZNSU8sIDB4ODIsIHN0cnVjdCBrdm1fcmVncykKICNkZWZpbmUgS1ZNX0dFVF9TUkVHUyBfSU9SKEtWTUlPLCAweDgzLCBzdHJ1Y3Qga3ZtX3NyZWdzKQogI2RlZmluZSBLVk1fU0VUX1NSRUdTIF9JT1coS1ZNSU8sIDB4ODQsIHN0cnVjdCBrdm1fc3JlZ3MpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fVFJBTlNMQVRFIF9JT1dSKEtWTUlPLCAweDg1LCBzdHJ1Y3Qga3ZtX3RyYW5zbGF0aW9uKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0lOVEVSUlVQVCBfSU9XKEtWTUlPLCAweDg2LCBzdHJ1Y3Qga3ZtX2ludGVycnVwdCkKICNkZWZpbmUgS1ZNX0RFQlVHX0dVRVNUIF9fS1ZNX0RFUFJFQ0FURURfVkNQVV9XXzB4ODcKICNkZWZpbmUgS1ZNX0dFVF9NU1JTIF9JT1dSKEtWTUlPLCAweDg4LCBzdHJ1Y3Qga3ZtX21zcnMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX01TUlMgX0lPVyhLVk1JTywgMHg4OSwgc3RydWN0IGt2bV9tc3JzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1NFVF9DUFVJRCBfSU9XKEtWTUlPLCAweDhhLCBzdHJ1Y3Qga3ZtX2NwdWlkKQogI2RlZmluZSBLVk1fU0VUX1NJR05BTF9NQVNLIF9JT1coS1ZNSU8sIDB4OGIsIHN0cnVjdCBrdm1fc2lnbmFsX21hc2spCiAjZGVmaW5lIEtWTV9HRVRfRlBVIF9JT1IoS1ZNSU8sIDB4OGMsIHN0cnVjdCBrdm1fZnB1KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1NFVF9GUFUgX0lPVyhLVk1JTywgMHg4ZCwgc3RydWN0IGt2bV9mcHUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX0xBUElDIF9JT1IoS1ZNSU8sIDB4OGUsIHN0cnVjdCBrdm1fbGFwaWNfc3RhdGUpCiAjZGVmaW5lIEtWTV9TRVRfTEFQSUMgX0lPVyhLVk1JTywgMHg4Ziwgc3RydWN0IGt2bV9sYXBpY19zdGF0ZSkKICNkZWZpbmUgS1ZNX1NFVF9DUFVJRDIgX0lPVyhLVk1JTywgMHg5MCwgc3RydWN0IGt2bV9jcHVpZDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX0NQVUlEMiBfSU9XUihLVk1JTywgMHg5MSwgc3RydWN0IGt2bV9jcHVpZDIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fVFBSX0FDQ0VTU19SRVBPUlRJTkcgX0lPV1IoS1ZNSU8sIDB4OTIsIHN0cnVjdCBrdm1fdHByX2FjY2Vzc19jdGwpCiAjZGVmaW5lIEtWTV9TRVRfVkFQSUNfQUREUiBfSU9XKEtWTUlPLCAweDkzLCBzdHJ1Y3Qga3ZtX3ZhcGljX2FkZHIpCiAjZGVmaW5lIEtWTV9TMzkwX0lOVEVSUlVQVCBfSU9XKEtWTUlPLCAweDk0LCBzdHJ1Y3Qga3ZtX3MzOTBfaW50ZXJydXB0KQorI2RlZmluZSBLVk1fUzM5MF9TVE9SRV9TVEFUVVNfTk9BRERSICgtIDF1bCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEtWTV9TMzkwX1NUT1JFX1NUQVRVU19OT0FERFIgKC0xdWwpCi0jZGVmaW5lIEtWTV9TMzkwX1NUT1JFX1NUQVRVU19QUkVGSVhFRCAoLTJ1bCkKKyNkZWZpbmUgS1ZNX1MzOTBfU1RPUkVfU1RBVFVTX1BSRUZJWEVEICgtIDJ1bCkKICNkZWZpbmUgS1ZNX1MzOTBfU1RPUkVfU1RBVFVTIF9JT1coS1ZNSU8sIDB4OTUsIHVuc2lnbmVkIGxvbmcpCiAjZGVmaW5lIEtWTV9TMzkwX1NFVF9JTklUSUFMX1BTVyBfSU9XKEtWTUlPLCAweDk2LCBzdHJ1Y3Qga3ZtX3MzOTBfcHN3KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX1MzOTBfSU5JVElBTF9SRVNFVCBfSU8oS1ZNSU8sIDB4OTcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX01QX1NUQVRFIF9JT1IoS1ZNSU8sIDB4OTgsIHN0cnVjdCBrdm1fbXBfc3RhdGUpCiAjZGVmaW5lIEtWTV9TRVRfTVBfU1RBVEUgX0lPVyhLVk1JTywgMHg5OSwgc3RydWN0IGt2bV9tcF9zdGF0ZSkKICNkZWZpbmUgS1ZNX05NSSBfSU8oS1ZNSU8sIDB4OWEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX0dVRVNUX0RFQlVHIF9JT1coS1ZNSU8sIDB4OWIsIHN0cnVjdCBrdm1fZ3Vlc3RfZGVidWcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fWDg2X1NFVFVQX01DRSBfSU9XKEtWTUlPLCAweDljLCBfX3U2NCkKICNkZWZpbmUgS1ZNX1g4Nl9HRVRfTUNFX0NBUF9TVVBQT1JURUQgX0lPUihLVk1JTywgMHg5ZCwgX191NjQpCiAjZGVmaW5lIEtWTV9YODZfU0VUX01DRSBfSU9XKEtWTUlPLCAweDllLCBzdHJ1Y3Qga3ZtX3g4Nl9tY2UpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fSUE2NF9WQ1BVX0dFVF9TVEFDSyBfSU9SKEtWTUlPLCAweDlhLCB2b2lkICopCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fSUE2NF9WQ1BVX1NFVF9TVEFDSyBfSU9XKEtWTUlPLCAweDliLCB2b2lkICopCiAjZGVmaW5lIEtWTV9HRVRfVkNQVV9FVkVOVFMgX0lPUihLVk1JTywgMHg5Ziwgc3RydWN0IGt2bV92Y3B1X2V2ZW50cykKICNkZWZpbmUgS1ZNX1NFVF9WQ1BVX0VWRU5UUyBfSU9XKEtWTUlPLCAweGEwLCBzdHJ1Y3Qga3ZtX3ZjcHVfZXZlbnRzKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0dFVF9ERUJVR1JFR1MgX0lPUihLVk1JTywgMHhhMSwgc3RydWN0IGt2bV9kZWJ1Z3JlZ3MpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX0RFQlVHUkVHUyBfSU9XKEtWTUlPLCAweGEyLCBzdHJ1Y3Qga3ZtX2RlYnVncmVncykKICNkZWZpbmUgS1ZNX0VOQUJMRV9DQVAgX0lPVyhLVk1JTywgMHhhMywgc3RydWN0IGt2bV9lbmFibGVfY2FwKQogI2RlZmluZSBLVk1fR0VUX1hTQVZFIF9JT1IoS1ZNSU8sIDB4YTQsIHN0cnVjdCBrdm1feHNhdmUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fU0VUX1hTQVZFIF9JT1coS1ZNSU8sIDB4YTUsIHN0cnVjdCBrdm1feHNhdmUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX1hDUlMgX0lPUihLVk1JTywgMHhhNiwgc3RydWN0IGt2bV94Y3JzKQogI2RlZmluZSBLVk1fU0VUX1hDUlMgX0lPVyhLVk1JTywgMHhhNywgc3RydWN0IGt2bV94Y3JzKQogI2RlZmluZSBLVk1fRElSVFlfVExCIF9JT1coS1ZNSU8sIDB4YWEsIHN0cnVjdCBrdm1fZGlydHlfdGxiKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0dFVF9PTkVfUkVHIF9JT1coS1ZNSU8sIDB4YWIsIHN0cnVjdCBrdm1fb25lX3JlZykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9TRVRfT05FX1JFRyBfSU9XKEtWTUlPLCAweGFjLCBzdHJ1Y3Qga3ZtX29uZV9yZWcpCiAjZGVmaW5lIEtWTV9LVk1DTE9DS19DVFJMIF9JTyhLVk1JTywgMHhhZCkKICNkZWZpbmUgS1ZNX0FSTV9WQ1BVX0lOSVQgX0lPVyhLVk1JTywgMHhhZSwgc3RydWN0IGt2bV92Y3B1X2luaXQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fQVJNX1BSRUZFUlJFRF9UQVJHRVQgX0lPUihLVk1JTywgMHhhZiwgc3RydWN0IGt2bV92Y3B1X2luaXQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fR0VUX1JFR19MSVNUIF9JT1dSKEtWTUlPLCAweGIwLCBzdHJ1Y3Qga3ZtX3JlZ19saXN0KQogI2RlZmluZSBLVk1fREVWX0FTU0lHTl9FTkFCTEVfSU9NTVUgKDEgPDwgMCkKICNkZWZpbmUgS1ZNX0RFVl9BU1NJR05fUENJXzJfMyAoMSA8PCAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX0RFVl9BU1NJR05fTUFTS19JTlRYICgxIDw8IDIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9hc3NpZ25lZF9wY2lfZGV2IHsKLSBfX3UzMiBhc3NpZ25lZF9kZXZfaWQ7Ci0gX191MzIgYnVzbnI7CisgIF9fdTMyIGFzc2lnbmVkX2Rldl9pZDsKKyAgX191MzIgYnVzbnI7CisgIF9fdTMyIGRldmZuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkZXZmbjsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBzZWducjsKLSB1bmlvbiB7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBzZWducjsKKyAgdW5pb24geworICAgIF9fdTMyIHJlc2VydmVkWzExXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbMTFdOwotIH07CisgIH07CiB9OwogI2RlZmluZSBLVk1fREVWX0lSUV9IT1NUX0lOVFggKDEgPDwgMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9ERVZfSVJRX0hPU1RfTVNJICgxIDw8IDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fREVWX0lSUV9IT1NUX01TSVggKDEgPDwgMikKICNkZWZpbmUgS1ZNX0RFVl9JUlFfR1VFU1RfSU5UWCAoMSA8PCA4KQogI2RlZmluZSBLVk1fREVWX0lSUV9HVUVTVF9NU0kgKDEgPDwgOSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEtWTV9ERVZfSVJRX0dVRVNUX01TSVggKDEgPDwgMTApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBLVk1fREVWX0lSUV9IT1NUX01BU0sgMHgwMGZmCiAjZGVmaW5lIEtWTV9ERVZfSVJRX0dVRVNUX01BU0sgMHhmZjAwCiBzdHJ1Y3Qga3ZtX2Fzc2lnbmVkX2lycSB7CisgIF9fdTMyIGFzc2lnbmVkX2Rldl9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYXNzaWduZWRfZGV2X2lkOwotIF9fdTMyIGhvc3RfaXJxOwotIF9fdTMyIGd1ZXN0X2lycTsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgaG9zdF9pcnE7CisgIF9fdTMyIGd1ZXN0X2lycTsKKyAgX191MzIgZmxhZ3M7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIF9fdTMyIHJlc2VydmVkWzEyXTsKLSB9OworICAgIF9fdTMyIHJlc2VydmVkWzEyXTsKKyAgfTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGt2bV9hc3NpZ25lZF9tc2l4X25yIHsKLSBfX3UzMiBhc3NpZ25lZF9kZXZfaWQ7Ci0gX191MTYgZW50cnlfbnI7Ci0gX191MTYgcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGFzc2lnbmVkX2Rldl9pZDsKKyAgX191MTYgZW50cnlfbnI7CisgIF9fdTE2IHBhZGRpbmc7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgS1ZNX01BWF9NU0lYX1BFUl9ERVYgMjU2CiBzdHJ1Y3Qga3ZtX2Fzc2lnbmVkX21zaXhfZW50cnkgewotIF9fdTMyIGFzc2lnbmVkX2Rldl9pZDsKKyAgX191MzIgYXNzaWduZWRfZGV2X2lkOworICBfX3UzMiBnc2k7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGdzaTsKLSBfX3UxNiBlbnRyeTsKLSBfX3UxNiBwYWRkaW5nWzNdOworICBfX3UxNiBlbnRyeTsKKyAgX191MTYgcGFkZGluZ1szXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rdm1fcGFyYS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9rdm1fcGFyYS5oCmluZGV4IGQ5NzM5OTYuLmJlMDViODUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgva3ZtX3BhcmEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2t2bV9wYXJhLmgKQEAgLTI5LDYgKzI5LDEwIEBACiAjZGVmaW5lIEtWTV9IQ19GRUFUVVJFUyAzCiAjZGVmaW5lIEtWTV9IQ19QUENfTUFQX01BR0lDX1BBR0UgNAogI2RlZmluZSBLVk1fSENfS0lDS19DUFUgNQotI2luY2x1ZGUgPGFzbS9rdm1fcGFyYS5oPgorI2RlZmluZSBLVk1fSENfTUlQU19HRVRfQ0xPQ0tfRlJFUSA2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBLVk1fSENfTUlQU19FWElUX1ZNIDcKKyNkZWZpbmUgS1ZNX0hDX01JUFNfQ09OU09MRV9PVVRQVVQgOAorI2luY2x1ZGUgPGFzbS9rdm1fcGFyYS5oPgogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9sMnRwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2wydHAuaAppbmRleCA4MThjZGE0Li40ZWFmN2FkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2wydHAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2wydHAuaApAQCAtMjYsMTM0ICsyNiwxMzMgQEAKICNkZWZpbmUgX19TT0NLX1NJWkVfXyAxNgogc3RydWN0IHNvY2thZGRyX2wydHBpcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3NhX2ZhbWlseV90IGwydHBfZmFtaWx5OwotIF9fYmUxNiBsMnRwX3VudXNlZDsKLSBzdHJ1Y3QgaW5fYWRkciBsMnRwX2FkZHI7Ci0gX191MzIgbDJ0cF9jb25uX2lkOworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBsMnRwX2ZhbWlseTsKKyAgX19iZTE2IGwydHBfdW51c2VkOworICBzdHJ1Y3QgaW5fYWRkciBsMnRwX2FkZHI7CisgIF9fdTMyIGwydHBfY29ubl9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBfX3BhZFtzaXplb2Yoc3RydWN0IHNvY2thZGRyKSAtCi0gc2l6ZW9mKF9fa2VybmVsX3NhX2ZhbWlseV90KSAtCi0gc2l6ZW9mKF9fYmUxNikgLSBzaXplb2Yoc3RydWN0IGluX2FkZHIpIC0KLSBzaXplb2YoX191MzIpXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGNoYXIgX19wYWRbc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikgLSBzaXplb2YoX19rZXJuZWxfc2FfZmFtaWx5X3QpIC0gc2l6ZW9mKF9fYmUxNikgLSBzaXplb2Yoc3RydWN0IGluX2FkZHIpIC0gc2l6ZW9mKF9fdTMyKV07CiB9Owogc3RydWN0IHNvY2thZGRyX2wydHBpcDYgewotIF9fa2VybmVsX3NhX2ZhbWlseV90IGwydHBfZmFtaWx5OwotIF9fYmUxNiBsMnRwX3VudXNlZDsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3QgbDJ0cF9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBsMnRwX2Zsb3dpbmZvOwotIHN0cnVjdCBpbjZfYWRkciBsMnRwX2FkZHI7Ci0gX191MzIgbDJ0cF9zY29wZV9pZDsKLSBfX3UzMiBsMnRwX2Nvbm5faWQ7CisgIF9fYmUxNiBsMnRwX3VudXNlZDsKKyAgX19iZTMyIGwydHBfZmxvd2luZm87CisgIHN0cnVjdCBpbjZfYWRkciBsMnRwX2FkZHI7CisgIF9fdTMyIGwydHBfc2NvcGVfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBsMnRwX2Nvbm5faWQ7CiB9OwogZW51bSB7Ci0gTDJUUF9DTURfTk9PUCwKLSBMMlRQX0NNRF9UVU5ORUxfQ1JFQVRFLAorICBMMlRQX0NNRF9OT09QLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMMlRQX0NNRF9UVU5ORUxfREVMRVRFLAotIEwyVFBfQ01EX1RVTk5FTF9NT0RJRlksCi0gTDJUUF9DTURfVFVOTkVMX0dFVCwKLSBMMlRQX0NNRF9TRVNTSU9OX0NSRUFURSwKKyAgTDJUUF9DTURfVFVOTkVMX0NSRUFURSwKKyAgTDJUUF9DTURfVFVOTkVMX0RFTEVURSwKKyAgTDJUUF9DTURfVFVOTkVMX01PRElGWSwKKyAgTDJUUF9DTURfVFVOTkVMX0dFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTDJUUF9DTURfU0VTU0lPTl9ERUxFVEUsCi0gTDJUUF9DTURfU0VTU0lPTl9NT0RJRlksCi0gTDJUUF9DTURfU0VTU0lPTl9HRVQsCi0gX19MMlRQX0NNRF9NQVgsCisgIEwyVFBfQ01EX1NFU1NJT05fQ1JFQVRFLAorICBMMlRQX0NNRF9TRVNTSU9OX0RFTEVURSwKKyAgTDJUUF9DTURfU0VTU0lPTl9NT0RJRlksCisgIEwyVFBfQ01EX1NFU1NJT05fR0VULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19MMlRQX0NNRF9NQVgsCiB9OwogI2RlZmluZSBMMlRQX0NNRF9NQVggKF9fTDJUUF9DTURfTUFYIC0gMSkKIGVudW0gewotIEwyVFBfQVRUUl9OT05FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMMlRQX0FUVFJfUFdfVFlQRSwKLSBMMlRQX0FUVFJfRU5DQVBfVFlQRSwKLSBMMlRQX0FUVFJfT0ZGU0VULAotIEwyVFBfQVRUUl9EQVRBX1NFUSwKKyAgTDJUUF9BVFRSX05PTkUsCisgIEwyVFBfQVRUUl9QV19UWVBFLAorICBMMlRQX0FUVFJfRU5DQVBfVFlQRSwKKyAgTDJUUF9BVFRSX09GRlNFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTDJUUF9BVFRSX0wyU1BFQ19UWVBFLAotIEwyVFBfQVRUUl9MMlNQRUNfTEVOLAotIEwyVFBfQVRUUl9QUk9UT19WRVJTSU9OLAotIEwyVFBfQVRUUl9JRk5BTUUsCisgIEwyVFBfQVRUUl9EQVRBX1NFUSwKKyAgTDJUUF9BVFRSX0wyU1BFQ19UWVBFLAorICBMMlRQX0FUVFJfTDJTUEVDX0xFTiwKKyAgTDJUUF9BVFRSX1BST1RPX1ZFUlNJT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEwyVFBfQVRUUl9DT05OX0lELAotIEwyVFBfQVRUUl9QRUVSX0NPTk5fSUQsCi0gTDJUUF9BVFRSX1NFU1NJT05fSUQsCi0gTDJUUF9BVFRSX1BFRVJfU0VTU0lPTl9JRCwKKyAgTDJUUF9BVFRSX0lGTkFNRSwKKyAgTDJUUF9BVFRSX0NPTk5fSUQsCisgIEwyVFBfQVRUUl9QRUVSX0NPTk5fSUQsCisgIEwyVFBfQVRUUl9TRVNTSU9OX0lELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMMlRQX0FUVFJfVURQX0NTVU0sCi0gTDJUUF9BVFRSX1ZMQU5fSUQsCi0gTDJUUF9BVFRSX0NPT0tJRSwKLSBMMlRQX0FUVFJfUEVFUl9DT09LSUUsCisgIEwyVFBfQVRUUl9QRUVSX1NFU1NJT05fSUQsCisgIEwyVFBfQVRUUl9VRFBfQ1NVTSwKKyAgTDJUUF9BVFRSX1ZMQU5fSUQsCisgIEwyVFBfQVRUUl9DT09LSUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEwyVFBfQVRUUl9ERUJVRywKLSBMMlRQX0FUVFJfUkVDVl9TRVEsCi0gTDJUUF9BVFRSX1NFTkRfU0VRLAotIEwyVFBfQVRUUl9MTlNfTU9ERSwKKyAgTDJUUF9BVFRSX1BFRVJfQ09PS0lFLAorICBMMlRQX0FUVFJfREVCVUcsCisgIEwyVFBfQVRUUl9SRUNWX1NFUSwKKyAgTDJUUF9BVFRSX1NFTkRfU0VRLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMMlRQX0FUVFJfVVNJTkdfSVBTRUMsCi0gTDJUUF9BVFRSX1JFQ1ZfVElNRU9VVCwKLSBMMlRQX0FUVFJfRkQsCi0gTDJUUF9BVFRSX0lQX1NBRERSLAorICBMMlRQX0FUVFJfTE5TX01PREUsCisgIEwyVFBfQVRUUl9VU0lOR19JUFNFQywKKyAgTDJUUF9BVFRSX1JFQ1ZfVElNRU9VVCwKKyAgTDJUUF9BVFRSX0ZELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMMlRQX0FUVFJfSVBfREFERFIsCi0gTDJUUF9BVFRSX1VEUF9TUE9SVCwKLSBMMlRQX0FUVFJfVURQX0RQT1JULAotIEwyVFBfQVRUUl9NVFUsCisgIEwyVFBfQVRUUl9JUF9TQUREUiwKKyAgTDJUUF9BVFRSX0lQX0RBRERSLAorICBMMlRQX0FUVFJfVURQX1NQT1JULAorICBMMlRQX0FUVFJfVURQX0RQT1JULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMMlRQX0FUVFJfTVJVLAotIEwyVFBfQVRUUl9TVEFUUywKLSBMMlRQX0FUVFJfSVA2X1NBRERSLAotIEwyVFBfQVRUUl9JUDZfREFERFIsCisgIEwyVFBfQVRUUl9NVFUsCisgIEwyVFBfQVRUUl9NUlUsCisgIEwyVFBfQVRUUl9TVEFUUywKKyAgTDJUUF9BVFRSX0lQNl9TQUREUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19MMlRQX0FUVFJfTUFYLAorICBMMlRQX0FUVFJfSVA2X0RBRERSLAorICBMMlRQX0FUVFJfVURQX1pFUk9fQ1NVTTZfVFgsCisgIEwyVFBfQVRUUl9VRFBfWkVST19DU1VNNl9SWCwKKyAgX19MMlRQX0FUVFJfTUFYLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEwyVFBfQVRUUl9NQVggKF9fTDJUUF9BVFRSX01BWCAtIDEpCiBlbnVtIHsKKyAgTDJUUF9BVFRSX1NUQVRTX05PTkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEwyVFBfQVRUUl9TVEFUU19OT05FLAotIEwyVFBfQVRUUl9UWF9QQUNLRVRTLAotIEwyVFBfQVRUUl9UWF9CWVRFUywKLSBMMlRQX0FUVFJfVFhfRVJST1JTLAorICBMMlRQX0FUVFJfVFhfUEFDS0VUUywKKyAgTDJUUF9BVFRSX1RYX0JZVEVTLAorICBMMlRQX0FUVFJfVFhfRVJST1JTLAorICBMMlRQX0FUVFJfUlhfUEFDS0VUUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTDJUUF9BVFRSX1JYX1BBQ0tFVFMsCi0gTDJUUF9BVFRSX1JYX0JZVEVTLAotIEwyVFBfQVRUUl9SWF9TRVFfRElTQ0FSRFMsCi0gTDJUUF9BVFRSX1JYX09PU19QQUNLRVRTLAorICBMMlRQX0FUVFJfUlhfQllURVMsCisgIEwyVFBfQVRUUl9SWF9TRVFfRElTQ0FSRFMsCisgIEwyVFBfQVRUUl9SWF9PT1NfUEFDS0VUUywKKyAgTDJUUF9BVFRSX1JYX0VSUk9SUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTDJUUF9BVFRSX1JYX0VSUk9SUywKLSBfX0wyVFBfQVRUUl9TVEFUU19NQVgsCisgIF9fTDJUUF9BVFRSX1NUQVRTX01BWCwKIH07CiAjZGVmaW5lIEwyVFBfQVRUUl9TVEFUU19NQVggKF9fTDJUUF9BVFRSX1NUQVRTX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBsMnRwX3B3dHlwZSB7Ci0gTDJUUF9QV1RZUEVfTk9ORSA9IDB4MDAwMCwKLSBMMlRQX1BXVFlQRV9FVEhfVkxBTiA9IDB4MDAwNCwKLSBMMlRQX1BXVFlQRV9FVEggPSAweDAwMDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEwyVFBfUFdUWVBFX1BQUCA9IDB4MDAwNywKLSBMMlRQX1BXVFlQRV9QUFBfQUMgPSAweDAwMDgsCi0gTDJUUF9QV1RZUEVfSVAgPSAweDAwMGIsCi0gX19MMlRQX1BXVFlQRV9NQVgKKyAgTDJUUF9QV1RZUEVfTk9ORSA9IDB4MDAwMCwKKyAgTDJUUF9QV1RZUEVfRVRIX1ZMQU4gPSAweDAwMDQsCisgIEwyVFBfUFdUWVBFX0VUSCA9IDB4MDAwNSwKKyAgTDJUUF9QV1RZUEVfUFBQID0gMHgwMDA3LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTDJUUF9QV1RZUEVfUFBQX0FDID0gMHgwMDA4LAorICBMMlRQX1BXVFlQRV9JUCA9IDB4MDAwYiwKKyAgX19MMlRQX1BXVFlQRV9NQVgKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBsMnRwX2wyc3BlY190eXBlIHsKLSBMMlRQX0wyU1BFQ1RZUEVfTk9ORSwKLSBMMlRQX0wyU1BFQ1RZUEVfREVGQVVMVCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEwyVFBfTDJTUEVDVFlQRV9OT05FLAorICBMMlRQX0wyU1BFQ1RZUEVfREVGQVVMVCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBsMnRwX2VuY2FwX3R5cGUgewotIEwyVFBfRU5DQVBUWVBFX1VEUCwKLSBMMlRQX0VOQ0FQVFlQRV9JUCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEwyVFBfRU5DQVBUWVBFX1VEUCwKKyAgTDJUUF9FTkNBUFRZUEVfSVAsCiB9OwotZW51bSBsMnRwX3NlcW1vZGUgewotIEwyVFBfU0VRX05PTkUgPSAwLAotIEwyVFBfU0VRX0lQID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTDJUUF9TRVFfQUxMID0gMiwKK2VudW0gbDJ0cF9zZXFtb2RlIHsKKyAgTDJUUF9TRVFfTk9ORSA9IDAsCisgIEwyVFBfU0VRX0lQID0gMSwKKyAgTDJUUF9TRVFfQUxMID0gMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBMMlRQX0dFTkxfTkFNRSAibDJ0cCIKICNkZWZpbmUgTDJUUF9HRU5MX1ZFUlNJT04gMHgxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9saWJjLWNvbXBhdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9saWJjLWNvbXBhdC5oCmluZGV4IDgyNmI3NjMuLmI2NmViZTIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbGliYy1jb21wYXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2xpYmMtY29tcGF0LmgKQEAgLTMyLDIyICszMiwzMyBAQAogI2RlZmluZSBfX1VBUElfREVGX0lQVjZfTVJFUSAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX1VBUElfREVGX0lQUFJPVE9fVjYgMAorI2RlZmluZSBfX1VBUElfREVGX0lQVjZfT1BUSU9OUyAwCiAjZWxzZQogI2RlZmluZSBfX1VBUElfREVGX0lONl9BRERSIDEKLSNkZWZpbmUgX19VQVBJX0RFRl9JTjZfQUREUl9BTFQgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgX19VQVBJX0RFRl9JTjZfQUREUl9BTFQgMQogI2RlZmluZSBfX1VBUElfREVGX1NPQ0tBRERSX0lONiAxCiAjZGVmaW5lIF9fVUFQSV9ERUZfSVBWNl9NUkVRIDEKICNkZWZpbmUgX19VQVBJX0RFRl9JUFBST1RPX1Y2IDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIF9fVUFQSV9ERUZfSVBWNl9PUFRJT05TIDEKICNlbmRpZgorI2lmZGVmIF9TWVNfWEFUVFJfSAorI2RlZmluZSBfX1VBUElfREVGX1hBVFRSIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxzZQorI2RlZmluZSBfX1VBUElfREVGX1hBVFRSIDEKKyNlbmRpZgorI2Vsc2UKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fVUFQSV9ERUZfSU42X0FERFIgMQogI2RlZmluZSBfX1VBUElfREVGX0lONl9BRERSX0FMVCAxCiAjZGVmaW5lIF9fVUFQSV9ERUZfU09DS0FERFJfSU42IDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fVUFQSV9ERUZfSVBWNl9NUkVRIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fVUFQSV9ERUZfSVBQUk9UT19WNiAxCi0jZW5kaWYKKyNkZWZpbmUgX19VQVBJX0RFRl9JUFY2X09QVElPTlMgMQorI2RlZmluZSBfX1VBUElfREVGX1hBVFRSIDEKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9sbGMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbGxjLmgKaW5kZXggMGU3ZGIwMC4uNzAwN2I1NyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9sbGMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2xsYy5oCkBAIC0yMiw3NSArMjIsNzMgQEAKICNkZWZpbmUgX19MTENfU09DS19TSVpFX18gMTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc29ja2FkZHJfbGxjIHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzbGxjX2ZhbWlseTsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzbGxjX2FycGhyZDsKLSB1bnNpZ25lZCBjaGFyIHNsbGNfdGVzdDsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc2xsY19mYW1pbHk7CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHNsbGNfYXJwaHJkOworICB1bnNpZ25lZCBjaGFyIHNsbGNfdGVzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBzbGxjX3hpZDsKLSB1bnNpZ25lZCBjaGFyIHNsbGNfdWE7Ci0gdW5zaWduZWQgY2hhciBzbGxjX3NhcDsKLSB1bnNpZ25lZCBjaGFyIHNsbGNfbWFjW0lGSFdBRERSTEVOXTsKKyAgdW5zaWduZWQgY2hhciBzbGxjX3hpZDsKKyAgdW5zaWduZWQgY2hhciBzbGxjX3VhOworICB1bnNpZ25lZCBjaGFyIHNsbGNfc2FwOworICB1bnNpZ25lZCBjaGFyIHNsbGNfbWFjW0lGSFdBRERSTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBfX3BhZFtfX0xMQ19TT0NLX1NJWkVfXyAtCi0gc2l6ZW9mKF9fa2VybmVsX3NhX2ZhbWlseV90KSAqIDIgLQotIHNpemVvZih1bnNpZ25lZCBjaGFyKSAqIDQgLSBJRkhXQUREUkxFTl07CisgIHVuc2lnbmVkIGNoYXIgX19wYWRbX19MTENfU09DS19TSVpFX18gLSBzaXplb2YoX19rZXJuZWxfc2FfZmFtaWx5X3QpICogMiAtIHNpemVvZih1bnNpZ25lZCBjaGFyKSAqIDQgLSBJRkhXQUREUkxFTl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbGxjX3NvY2tvcHRzIHsKLSBMTENfT1BUX1VOS05PV04gPSAwLAotIExMQ19PUFRfUkVUUlksCi0gTExDX09QVF9TSVpFLAorICBMTENfT1BUX1VOS05PV04gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMTENfT1BUX0FDS19UTVJfRVhQLAotIExMQ19PUFRfUF9UTVJfRVhQLAotIExMQ19PUFRfUkVKX1RNUl9FWFAsCi0gTExDX09QVF9CVVNZX1RNUl9FWFAsCisgIExMQ19PUFRfUkVUUlksCisgIExMQ19PUFRfU0laRSwKKyAgTExDX09QVF9BQ0tfVE1SX0VYUCwKKyAgTExDX09QVF9QX1RNUl9FWFAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExMQ19PUFRfVFhfV0lOLAotIExMQ19PUFRfUlhfV0lOLAotIExMQ19PUFRfUEtUSU5GTywKLSBMTENfT1BUX01BWAorICBMTENfT1BUX1JFSl9UTVJfRVhQLAorICBMTENfT1BUX0JVU1lfVE1SX0VYUCwKKyAgTExDX09QVF9UWF9XSU4sCisgIExMQ19PUFRfUlhfV0lOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTExDX09QVF9QS1RJTkZPLAorICBMTENfT1BUX01BWAogfTsKICNkZWZpbmUgTExDX09QVF9NQVhfUkVUUlkgMTAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMTENfT1BUX01BWF9TSVpFIDQxOTYKICNkZWZpbmUgTExDX09QVF9NQVhfV0lOIDEyNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX09QVF9NQVhfQUNLX1RNUl9FWFAgNjAKICNkZWZpbmUgTExDX09QVF9NQVhfUF9UTVJfRVhQIDYwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMTENfT1BUX01BWF9SRUpfVE1SX0VYUCA2MAogI2RlZmluZSBMTENfT1BUX01BWF9CVVNZX1RNUl9FWFAgNjAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExMQ19TQVBfTlVMTCAweDAwCiAjZGVmaW5lIExMQ19TQVBfTExDIDB4MDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExMQ19TQVBfU05BIDB4MDQKICNkZWZpbmUgTExDX1NBUF9QTk0gMHgwRQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9JUCAweDA2CiAjZGVmaW5lIExMQ19TQVBfQlNQQU4gMHg0MgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9NTVMgMHg0RQogI2RlZmluZSBMTENfU0FQXzgyMDggMHg3RQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF8zQ09NIDB4ODAKICNkZWZpbmUgTExDX1NBUF9QUk8gMHg4RQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9TTkFQIDB4QUEKICNkZWZpbmUgTExDX1NBUF9CQU5ZQU4gMHhCQwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9JUFggMHhFMAogI2RlZmluZSBMTENfU0FQX05FVEJFVUkgMHhGMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9MQU5NR1IgMHhGNAogI2RlZmluZSBMTENfU0FQX0lNUEwgMHhGOAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9ESVNDIDB4RkMKICNkZWZpbmUgTExDX1NBUF9PU0kgMHhGRQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTExDX1NBUF9MQVIgMHhEQwogI2RlZmluZSBMTENfU0FQX1JNIDB4RDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIExMQ19TQVBfR0xPQkFMIDB4RkYKIHN0cnVjdCBsbGNfcGt0aW5mbyB7Ci0gaW50IGxwaV9pZmluZGV4OwotIHVuc2lnbmVkIGNoYXIgbHBpX3NhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBscGlfbWFjW0lGSFdBRERSTEVOXTsKKyAgaW50IGxwaV9pZmluZGV4OworICB1bnNpZ25lZCBjaGFyIGxwaV9zYXA7CisgIHVuc2lnbmVkIGNoYXIgbHBpX21hY1tJRkhXQUREUkxFTl07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9sb29wLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2xvb3AuaAppbmRleCAxNGE0NjAyLi5jMDg4MWY0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2xvb3AuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L2xvb3AuaApAQCAtMjIsNDggKzIyLDQ4IEBACiAjZGVmaW5lIExPX0tFWV9TSVpFIDMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gTE9fRkxBR1NfUkVBRF9PTkxZID0gMSwKLSBMT19GTEFHU19BVVRPQ0xFQVIgPSA0LAotIExPX0ZMQUdTX1BBUlRTQ0FOID0gOCwKKyAgTE9fRkxBR1NfUkVBRF9PTkxZID0gMSwKKyAgTE9fRkxBR1NfQVVUT0NMRUFSID0gNCwKKyAgTE9fRkxBR1NfUEFSVFNDQU4gPSA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjaW5jbHVkZSA8YXNtL3Bvc2l4X3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBsb29wX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbG9fbnVtYmVyOwotIF9fa2VybmVsX29sZF9kZXZfdCBsb19kZXZpY2U7Ci0gdW5zaWduZWQgbG9uZyBsb19pbm9kZTsKLSBfX2tlcm5lbF9vbGRfZGV2X3QgbG9fcmRldmljZTsKKyAgaW50IGxvX251bWJlcjsKKyAgX19rZXJuZWxfb2xkX2Rldl90IGxvX2RldmljZTsKKyAgdW5zaWduZWQgbG9uZyBsb19pbm9kZTsKKyAgX19rZXJuZWxfb2xkX2Rldl90IGxvX3JkZXZpY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBsb19vZmZzZXQ7Ci0gaW50IGxvX2VuY3J5cHRfdHlwZTsKLSBpbnQgbG9fZW5jcnlwdF9rZXlfc2l6ZTsKLSBpbnQgbG9fZmxhZ3M7CisgIGludCBsb19vZmZzZXQ7CisgIGludCBsb19lbmNyeXB0X3R5cGU7CisgIGludCBsb19lbmNyeXB0X2tleV9zaXplOworICBpbnQgbG9fZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbG9fbmFtZVtMT19OQU1FX1NJWkVdOwotIHVuc2lnbmVkIGNoYXIgbG9fZW5jcnlwdF9rZXlbTE9fS0VZX1NJWkVdOwotIHVuc2lnbmVkIGxvbmcgbG9faW5pdFsyXTsKLSBjaGFyIHJlc2VydmVkWzRdOworICBjaGFyIGxvX25hbWVbTE9fTkFNRV9TSVpFXTsKKyAgdW5zaWduZWQgY2hhciBsb19lbmNyeXB0X2tleVtMT19LRVlfU0laRV07CisgIHVuc2lnbmVkIGxvbmcgbG9faW5pdFsyXTsKKyAgY2hhciByZXNlcnZlZFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGxvb3BfaW5mbzY0IHsKLSBfX3U2NCBsb19kZXZpY2U7Ci0gX191NjQgbG9faW5vZGU7CisgIF9fdTY0IGxvX2RldmljZTsKKyAgX191NjQgbG9faW5vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGxvX3JkZXZpY2U7Ci0gX191NjQgbG9fb2Zmc2V0OwotIF9fdTY0IGxvX3NpemVsaW1pdDsKLSBfX3UzMiBsb19udW1iZXI7CisgIF9fdTY0IGxvX3JkZXZpY2U7CisgIF9fdTY0IGxvX29mZnNldDsKKyAgX191NjQgbG9fc2l6ZWxpbWl0OworICBfX3UzMiBsb19udW1iZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxvX2VuY3J5cHRfdHlwZTsKLSBfX3UzMiBsb19lbmNyeXB0X2tleV9zaXplOwotIF9fdTMyIGxvX2ZsYWdzOwotIF9fdTggbG9fZmlsZV9uYW1lW0xPX05BTUVfU0laRV07CisgIF9fdTMyIGxvX2VuY3J5cHRfdHlwZTsKKyAgX191MzIgbG9fZW5jcnlwdF9rZXlfc2l6ZTsKKyAgX191MzIgbG9fZmxhZ3M7CisgIF9fdTggbG9fZmlsZV9uYW1lW0xPX05BTUVfU0laRV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbG9fY3J5cHRfbmFtZVtMT19OQU1FX1NJWkVdOwotIF9fdTggbG9fZW5jcnlwdF9rZXlbTE9fS0VZX1NJWkVdOwotIF9fdTY0IGxvX2luaXRbMl07CisgIF9fdTggbG9fY3J5cHRfbmFtZVtMT19OQU1FX1NJWkVdOworICBfX3U4IGxvX2VuY3J5cHRfa2V5W0xPX0tFWV9TSVpFXTsKKyAgX191NjQgbG9faW5pdFsyXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMT19DUllQVF9OT05FIDAKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWFqb3IuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWFqb3IuaAppbmRleCBkMDdkMDY1Li5iMmE5NThiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21ham9yLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tYWpvci5oCkBAIC0xNjksNyArMTY5LDcgQEAKICNkZWZpbmUgU0NTSV9ESVNLMTVfTUFKT1IgMTM1CiAjZGVmaW5lIFVOSVg5OF9QVFlfTUFTVEVSX01BSk9SIDEyOAogI2RlZmluZSBVTklYOThfUFRZX01BSk9SX0NPVU5UIDgKLSNkZWZpbmUgVU5JWDk4X1BUWV9TTEFWRV9NQUpPUiAoVU5JWDk4X1BUWV9NQVNURVJfTUFKT1IrVU5JWDk4X1BUWV9NQUpPUl9DT1VOVCkKKyNkZWZpbmUgVU5JWDk4X1BUWV9TTEFWRV9NQUpPUiAoVU5JWDk4X1BUWV9NQVNURVJfTUFKT1IgKyBVTklYOThfUFRZX01BSk9SX0NPVU5UKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFJCRF9NQUpPUiAxNDcKICNkZWZpbmUgUlRGX01BSk9SIDE1MApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tYXBfdG9fN3NlZ21lbnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWFwX3RvXzdzZWdtZW50LmgKaW5kZXggOTM4MjljZS4uMTU1NmNjNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tYXBfdG9fN3NlZ21lbnQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21hcF90b183c2VnbWVudC5oCkBAIC0zMSwyNCArMzEsMjQgQEAKICNkZWZpbmUgQklUX1NFRzdfUkVTRVJWRUQgNwogc3RydWN0IHNlZzdfY29udmVyc2lvbl9tYXAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHRhYmxlWzEyOF07CisgIHVuc2lnbmVkIGNoYXIgdGFibGVbMTI4XTsKIH07Ci0jZGVmaW5lIFNFRzdfQ09OVkVSU0lPTl9NQVAoX25hbWUsIF9tYXApICAgc3RydWN0IHNlZzdfY29udmVyc2lvbl9tYXAgX25hbWUgPSB7IC50YWJsZSA9IHsgX21hcCB9IH0KKyNkZWZpbmUgU0VHN19DT05WRVJTSU9OX01BUChfbmFtZSxfbWFwKSBzdHJ1Y3Qgc2VnN19jb252ZXJzaW9uX21hcCBfbmFtZSA9IHsudGFibGUgPSB7IF9tYXAgfSB9CiAjZGVmaW5lIE1BUF9UT19TRUc3X1NZU0ZTX0ZJTEUgIm1hcF9zZWc3IgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX1NFRzcobCxhLGIsYyxkLGUsZixnKSAgICggYTw8QklUX1NFRzdfQSB8IGI8PEJJVF9TRUc3X0IgfCBjPDxCSVRfU0VHN19DIHwgZDw8QklUX1NFRzdfRCB8ICAgZTw8QklUX1NFRzdfRSB8IGY8PEJJVF9TRUc3X0YgfCBnPDxCSVRfU0VHN19HICkKLSNkZWZpbmUgX01BUF8wXzMyX0FTQ0lJX1NFRzdfTk9OX1BSSU5UQUJMRSAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotI2RlZmluZSBfTUFQXzMzXzQ3X0FTQ0lJX1NFRzdfU1lNQk9MICAgX1NFRzcoJyEnLDAsMCwwLDAsMSwxLDApLCBfU0VHNygnIicsMCwxLDAsMCwwLDEsMCksIF9TRUc3KCcjJywwLDEsMSwwLDEsMSwwKSwgIF9TRUc3KCckJywxLDAsMSwxLDAsMSwxKSwgX1NFRzcoJyUnLDAsMCwxLDAsMCwxLDApLCBfU0VHNygnJicsMSwwLDEsMSwxLDEsMSksICBfU0VHNygnXCcnLDAsMCwwLDAsMCwxLDApLF9TRUc3KCcoJywxLDAsMCwxLDEsMSwwKSwgX1NFRzcoJyknLDEsMSwxLDEsMCwwLDApLCAgX1NFRzcoJyonLDAsMSwxLDAsMSwxLDEpLCBfU0VHNygnKycsMCwxLDEsMCwwLDAsMSksIF9TRUc3KCcsJywwLDAsMCwwLDEsMCwwKSwgIF9TRUc3KCctJywwLDAsMCwwLDAsMCwxKSwgX1NFRzcoJy4nLDAsMCwwLDAsMSwwLDApLCBfU0VHNygnLycsMCwxLDAsMCwxLDAsMSksCi0jZGVmaW5lIF9NQVBfNDhfNTdfQVNDSUlfU0VHN19OVU1FUklDICAgX1NFRzcoJzAnLDEsMSwxLDEsMSwxLDApLCBfU0VHNygnMScsMCwxLDEsMCwwLDAsMCksIF9TRUc3KCcyJywxLDEsMCwxLDEsMCwxKSwgIF9TRUc3KCczJywxLDEsMSwxLDAsMCwxKSwgX1NFRzcoJzQnLDAsMSwxLDAsMCwxLDEpLCBfU0VHNygnNScsMSwwLDEsMSwwLDEsMSksICBfU0VHNygnNicsMSwwLDEsMSwxLDEsMSksIF9TRUc3KCc3JywxLDEsMSwwLDAsMCwwKSwgX1NFRzcoJzgnLDEsMSwxLDEsMSwxLDEpLCAgX1NFRzcoJzknLDEsMSwxLDEsMCwxLDEpLAorI2RlZmluZSBfU0VHNyhsLGEsYixjLGQsZSxmLGcpIChhIDw8IEJJVF9TRUc3X0EgfCBiIDw8IEJJVF9TRUc3X0IgfCBjIDw8IEJJVF9TRUc3X0MgfCBkIDw8IEJJVF9TRUc3X0QgfCBlIDw8IEJJVF9TRUc3X0UgfCBmIDw8IEJJVF9TRUc3X0YgfCBnIDw8IEJJVF9TRUc3X0cpCisjZGVmaW5lIF9NQVBfMF8zMl9BU0NJSV9TRUc3X05PTl9QUklOVEFCTEUgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyNkZWZpbmUgX01BUF8zM180N19BU0NJSV9TRUc3X1NZTUJPTCBfU0VHNygnIScsIDAsIDAsIDAsIDAsIDEsIDEsIDApLCBfU0VHNygnIicsIDAsIDEsIDAsIDAsIDAsIDEsIDApLCBfU0VHNygnIycsIDAsIDEsIDEsIDAsIDEsIDEsIDApLCBfU0VHNygnJCcsIDEsIDAsIDEsIDEsIDAsIDEsIDEpLCBfU0VHNygnJScsIDAsIDAsIDEsIDAsIDAsIDEsIDApLCBfU0VHNygnJicsIDEsIDAsIDEsIDEsIDEsIDEsIDEpLCBfU0VHNygnXCcnLCAwLCAwLCAwLCAwLCAwLCAxLCAwKSwgX1NFRzcoJygnLCAxLCAwLCAwLCAxLCAxLCAxLCAwKSwgX1NFRzcoJyknLCAxLCAxLCAxLCAxLCAwLCAwLCAwKSwgX1NFRzcoJyonLCAwLCAxLCAxLCAwLCAxLCAxLCAxKSwgX1NFRzcoJysnLCAwLCAxLCAxLCAwLCAwLCAwLCAxKSwgX1NFRzcoJywnLCAwLCAwLCAwLCAwLCAxLCAwLCAwKSwgX1NFRzcoJy0nLCAwLCAwLCAwLCAwLCAwLCAwLCAxKSwgX1NFRzcoJy4nLCAwLCAwLCAwLCAwLCAxLCAwLCAwKSwgX1NFRzcoJy8nLCAwLCAxLCAwLCAwLCAxLCAwLCAxKSwKKyNkZWZpbmUgX01BUF80OF81N19BU0NJSV9TRUc3X05VTUVSSUMgX1NFRzcoJzAnLCAxLCAxLCAxLCAxLCAxLCAxLCAwKSwgX1NFRzcoJzEnLCAwLCAxLCAxLCAwLCAwLCAwLCAwKSwgX1NFRzcoJzInLCAxLCAxLCAwLCAxLCAxLCAwLCAxKSwgX1NFRzcoJzMnLCAxLCAxLCAxLCAxLCAwLCAwLCAxKSwgX1NFRzcoJzQnLCAwLCAxLCAxLCAwLCAwLCAxLCAxKSwgX1NFRzcoJzUnLCAxLCAwLCAxLCAxLCAwLCAxLCAxKSwgX1NFRzcoJzYnLCAxLCAwLCAxLCAxLCAxLCAxLCAxKSwgX1NFRzcoJzcnLCAxLCAxLCAxLCAwLCAwLCAwLCAwKSwgX1NFRzcoJzgnLCAxLCAxLCAxLCAxLCAxLCAxLCAxKSwgX1NFRzcoJzknLCAxLCAxLCAxLCAxLCAwLCAxLCAxKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9NQVBfNThfNjRfQVNDSUlfU0VHN19TWU1CT0wgICBfU0VHNygnOicsMCwwLDAsMSwwLDAsMSksIF9TRUc3KCc7JywwLDAsMCwxLDAsMCwxKSwgX1NFRzcoJzwnLDEsMCwwLDAsMCwxLDEpLCAgX1NFRzcoJz0nLDAsMCwwLDEsMCwwLDEpLCBfU0VHNygnPicsMSwxLDAsMCwwLDAsMSksIF9TRUc3KCc/JywxLDEsMSwwLDAsMSwwKSwgIF9TRUc3KCdAJywxLDEsMCwxLDEsMSwxKSwKLSNkZWZpbmUgX01BUF82NV85MF9BU0NJSV9TRUc3X0FMUEhBX1VQUFIgICBfU0VHNygnQScsMSwxLDEsMCwxLDEsMSksIF9TRUc3KCdCJywxLDEsMSwxLDEsMSwxKSwgX1NFRzcoJ0MnLDEsMCwwLDEsMSwxLDApLCAgX1NFRzcoJ0QnLDEsMSwxLDEsMSwxLDApLCBfU0VHNygnRScsMSwwLDAsMSwxLDEsMSksIF9TRUc3KCdGJywxLDAsMCwwLDEsMSwxKSwgIF9TRUc3KCdHJywxLDEsMSwxLDAsMSwxKSwgX1NFRzcoJ0gnLDAsMSwxLDAsMSwxLDEpLCBfU0VHNygnSScsMCwxLDEsMCwwLDAsMCksICBfU0VHNygnSicsMCwxLDEsMSwwLDAsMCksIF9TRUc3KCdLJywwLDEsMSwwLDEsMSwxKSwgX1NFRzcoJ0wnLDAsMCwwLDEsMSwxLDApLCAgX1NFRzcoJ00nLDEsMSwxLDAsMSwxLDApLCBfU0VHNygnTicsMSwxLDEsMCwxLDEsMCksIF9TRUc3KCdPJywxLDEsMSwxLDEsMSwwKSwgIF9TRUc3KCdQJywxLDEsMCwwLDEsMSwxKSwgX1NFRzcoJ1EnLDEsMSwxLDEsMSwxLDApLCBfU0VHNygnUicsMSwxLDEsMCwxLDEsMSksICBfU0VHNygnUycsMSwwLDEsMSwwLDEsMSksIF9TRUc3KCdUJywwLDAsMCwxLDEsMSwxKSwgX1NFRzcoJ1UnLDAsMSwxLDEsMSwxLDApLCAgX1NFRzcoJ1YnLDAsMSwxLDEsMSwxLDApLCBfU0VHNygnVycsMCwxLDEsMSwxLDEsMSksIF9TRUc3KCdYJywwLDEsMSwwLDEsMSwxKSwgIF9TRUc3KCdZJywwLDEsMSwwLDAsMSwxKSwgX1NFRzcoJ1onLDEsMSwwLDEsMSwwLDEpLAotI2RlZmluZSBfTUFQXzkxXzk2X0FTQ0lJX1NFRzdfU1lNQk9MICAgX1NFRzcoJ1snLDEsMCwwLDEsMSwxLDApLCBfU0VHNygnXFwnLDAsMCwxLDAsMCwxLDEpLF9TRUc3KCddJywxLDEsMSwxLDAsMCwwKSwgIF9TRUc3KCdeJywxLDEsMCwwLDAsMSwwKSwgX1NFRzcoJ18nLDAsMCwwLDEsMCwwLDApLCBfU0VHNygnYCcsMCwxLDAsMCwwLDAsMCksCi0jZGVmaW5lIF9NQVBfOTdfMTIyX0FTQ0lJX1NFRzdfQUxQSEFfTE9XRVIgICBfU0VHNygnQScsMSwxLDEsMCwxLDEsMSksIF9TRUc3KCdiJywwLDAsMSwxLDEsMSwxKSwgX1NFRzcoJ2MnLDAsMCwwLDEsMSwwLDEpLCAgX1NFRzcoJ2QnLDAsMSwxLDEsMSwwLDEpLCBfU0VHNygnRScsMSwwLDAsMSwxLDEsMSksIF9TRUc3KCdGJywxLDAsMCwwLDEsMSwxKSwgIF9TRUc3KCdHJywxLDEsMSwxLDAsMSwxKSwgX1NFRzcoJ2gnLDAsMCwxLDAsMSwxLDEpLCBfU0VHNygnaScsMCwwLDEsMCwwLDAsMCksICBfU0VHNygnaicsMCwwLDEsMSwwLDAsMCksIF9TRUc3KCdrJywwLDAsMSwwLDEsMSwxKSwgX1NFRzcoJ0wnLDAsMCwwLDEsMSwxLDApLCAgX1NFRzcoJ00nLDEsMSwxLDAsMSwxLDApLCBfU0VHNygnbicsMCwwLDEsMCwxLDAsMSksIF9TRUc3KCdvJywwLDAsMSwxLDEsMCwxKSwgIF9TRUc3KCdQJywxLDEsMCwwLDEsMSwxKSwgX1NFRzcoJ3EnLDEsMSwxLDAsMCwxLDEpLCBfU0VHNygncicsMCwwLDAsMCwxLDAsMSksICBfU0VHNygnUycsMSwwLDEsMSwwLDEsMSksIF9TRUc3KCdUJywwLDAsMCwxLDEsMSwxKSwgX1NFRzcoJ3UnLDAsMCwxLDEsMSwwLDApLCAgX1NFRzcoJ3YnLDAsMCwxLDEsMSwwLDApLCBfU0VHNygnVycsMCwxLDEsMSwxLDEsMSksIF9TRUc3KCdYJywwLDEsMSwwLDEsMSwxKSwgIF9TRUc3KCd5JywwLDEsMSwxLDAsMSwxKSwgX1NFRzcoJ1onLDEsMSwwLDEsMSwwLDEpLAorI2RlZmluZSBfTUFQXzU4XzY0X0FTQ0lJX1NFRzdfU1lNQk9MIF9TRUc3KCc6JywgMCwgMCwgMCwgMSwgMCwgMCwgMSksIF9TRUc3KCc7JywgMCwgMCwgMCwgMSwgMCwgMCwgMSksIF9TRUc3KCc8JywgMSwgMCwgMCwgMCwgMCwgMSwgMSksIF9TRUc3KCc9JywgMCwgMCwgMCwgMSwgMCwgMCwgMSksIF9TRUc3KCc+JywgMSwgMSwgMCwgMCwgMCwgMCwgMSksIF9TRUc3KCc/JywgMSwgMSwgMSwgMCwgMCwgMSwgMCksIF9TRUc3KCdAJywgMSwgMSwgMCwgMSwgMSwgMSwgMSksCisjZGVmaW5lIF9NQVBfNjVfOTBfQVNDSUlfU0VHN19BTFBIQV9VUFBSIF9TRUc3KCdBJywgMSwgMSwgMSwgMCwgMSwgMSwgMSksIF9TRUc3KCdCJywgMSwgMSwgMSwgMSwgMSwgMSwgMSksIF9TRUc3KCdDJywgMSwgMCwgMCwgMSwgMSwgMSwgMCksIF9TRUc3KCdEJywgMSwgMSwgMSwgMSwgMSwgMSwgMCksIF9TRUc3KCdFJywgMSwgMCwgMCwgMSwgMSwgMSwgMSksIF9TRUc3KCdGJywgMSwgMCwgMCwgMCwgMSwgMSwgMSksIF9TRUc3KCdHJywgMSwgMSwgMSwgMSwgMCwgMSwgMSksIF9TRUc3KCdIJywgMCwgMSwgMSwgMCwgMSwgMSwgMSksIF9TRUc3KCdJJywgMCwgMSwgMSwgMCwgMCwgMCwgMCksIF9TRUc3KCdKJywgMCwgMSwgMSwgMSwgMCwgMCwgMCksIF9TRUc3KCdLJywgMCwgMSwgMSwgMCwgMSwgMSwgMSksIF9TRUc3KCdMJywgMCwgMCwgMCwgMSwgMSwgMSwgMCksIF9TRUc3KCdNJywgMSwgMSwgMSwgMCwgMSwgMSwgMCksIF9TRUc3KCdOJywgMSwgMSwgMSwgMCwgMSwgMSwgMCksIF9TRUc3KCdPJywgMSwgMSwgMSwgMSwgMSwgMSwgMCksIF9TRUc3KCdQJywgMSwgMSwgMCwgMCwgMSwgMSwgMSksIF9TRUc3KCdRJywgMSwgMSwgMSwgMSwgMSwgMSwgMCksIF9TRUc3KCdSJywgMSwgMSwgMSwgMCwgMSwgMSwgMSksIF9TRUc3KCdTJywgMSwgMCwgMSwgMSwgMCwgMSwgMSksIF9TRUc3KCdUJywgMCwgMCwgMCwgMSwgMSwgMSwgMSksIF9TRUc3KCdVJywgMCwgMSwgMSwgMSwgMSwgMSwgMCksIF9TRUc3KCdWJywgMCwgMSwgMSwgMSwgMSwgMSwgMCksIF9TRUc3KCdXJywgMCwgMSwgMSwgMSwgMSwgMSwgMSksIF9TRUc3KCdYJywgMCwgMSwgMSwgMCwgMSwgMSwgMSksIF9TRUc3KCdZJywgMCwgMSwgMSwgMCwgMCwgMSwgMSksIF9TRUc3KCdaJywgMSwgMSwgMCwgMSwgMSwgMCwgMSksCisjZGVmaW5lIF9NQVBfOTFfOTZfQVNDSUlfU0VHN19TWU1CT0wgX1NFRzcoJ1snLCAxLCAwLCAwLCAxLCAxLCAxLCAwKSwgX1NFRzcoJ1xcJywgMCwgMCwgMSwgMCwgMCwgMSwgMSksIF9TRUc3KCddJywgMSwgMSwgMSwgMSwgMCwgMCwgMCksIF9TRUc3KCdeJywgMSwgMSwgMCwgMCwgMCwgMSwgMCksIF9TRUc3KCdfJywgMCwgMCwgMCwgMSwgMCwgMCwgMCksIF9TRUc3KCdgJywgMCwgMSwgMCwgMCwgMCwgMCwgMCksCisjZGVmaW5lIF9NQVBfOTdfMTIyX0FTQ0lJX1NFRzdfQUxQSEFfTE9XRVIgX1NFRzcoJ0EnLCAxLCAxLCAxLCAwLCAxLCAxLCAxKSwgX1NFRzcoJ2InLCAwLCAwLCAxLCAxLCAxLCAxLCAxKSwgX1NFRzcoJ2MnLCAwLCAwLCAwLCAxLCAxLCAwLCAxKSwgX1NFRzcoJ2QnLCAwLCAxLCAxLCAxLCAxLCAwLCAxKSwgX1NFRzcoJ0UnLCAxLCAwLCAwLCAxLCAxLCAxLCAxKSwgX1NFRzcoJ0YnLCAxLCAwLCAwLCAwLCAxLCAxLCAxKSwgX1NFRzcoJ0cnLCAxLCAxLCAxLCAxLCAwLCAxLCAxKSwgX1NFRzcoJ2gnLCAwLCAwLCAxLCAwLCAxLCAxLCAxKSwgX1NFRzcoJ2knLCAwLCAwLCAxLCAwLCAwLCAwLCAwKSwgX1NFRzcoJ2onLCAwLCAwLCAxLCAxLCAwLCAwLCAwKSwgX1NFRzcoJ2snLCAwLCAwLCAxLCAwLCAxLCAxLCAxKSwgX1NFRzcoJ0wnLCAwLCAwLCAwLCAxLCAxLCAxLCAwKSwgX1NFRzcoJ00nLCAxLCAxLCAxLCAwLCAxLCAxLCAwKSwgX1NFRzcoJ24nLCAwLCAwLCAxLCAwLCAxLCAwLCAxKSwgX1NFRzcoJ28nLCAwLCAwLCAxLCAxLCAxLCAwLCAxKSwgX1NFRzcoJ1AnLCAxLCAxLCAwLCAwLCAxLCAxLCAxKSwgX1NFRzcoJ3EnLCAxLCAxLCAxLCAwLCAwLCAxLCAxKSwgX1NFRzcoJ3InLCAwLCAwLCAwLCAwLCAxLCAwLCAxKSwgX1NFRzcoJ1MnLCAxLCAwLCAxLCAxLCAwLCAxLCAxKSwgX1NFRzcoJ1QnLCAwLCAwLCAwLCAxLCAxLCAxLCAxKSwgX1NFRzcoJ3UnLCAwLCAwLCAxLCAxLCAxLCAwLCAwKSwgX1NFRzcoJ3YnLCAwLCAwLCAxLCAxLCAxLCAwLCAwKSwgX1NFRzcoJ1cnLCAwLCAxLCAxLCAxLCAxLCAxLCAxKSwgX1NFRzcoJ1gnLCAwLCAxLCAxLCAwLCAxLCAxLCAxKSwgX1NFRzcoJ3knLCAwLCAxLCAxLCAxLCAwLCAxLCAxKSwgX1NFRzcoJ1onLCAxLCAxLCAwLCAxLCAxLCAwLCAxKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9NQVBfMTIzXzEyNl9BU0NJSV9TRUc3X1NZTUJPTCAgIF9TRUc3KCd7JywxLDAsMCwxLDEsMSwwKSwgX1NFRzcoJ3wnLDAsMCwwLDAsMSwxLDApLCBfU0VHNygnfScsMSwxLDEsMSwwLDAsMCksICBfU0VHNygnficsMSwwLDAsMCwwLDAsMCksCi0jZGVmaW5lIE1BUF9BU0NJSTdTRUdfQUxQSEFOVU0gICBfTUFQXzBfMzJfQVNDSUlfU0VHN19OT05fUFJJTlRBQkxFICAgX01BUF8zM180N19BU0NJSV9TRUc3X1NZTUJPTCAgIF9NQVBfNDhfNTdfQVNDSUlfU0VHN19OVU1FUklDICAgX01BUF81OF82NF9BU0NJSV9TRUc3X1NZTUJPTCAgIF9NQVBfNjVfOTBfQVNDSUlfU0VHN19BTFBIQV9VUFBSICAgX01BUF85MV85Nl9BU0NJSV9TRUc3X1NZTUJPTCAgIF9NQVBfOTdfMTIyX0FTQ0lJX1NFRzdfQUxQSEFfTE9XRVIgICBfTUFQXzEyM18xMjZfQVNDSUlfU0VHN19TWU1CT0wKLSNkZWZpbmUgTUFQX0FTQ0lJN1NFR19BTFBIQU5VTV9MQyAgIF9NQVBfMF8zMl9BU0NJSV9TRUc3X05PTl9QUklOVEFCTEUgICBfTUFQXzMzXzQ3X0FTQ0lJX1NFRzdfU1lNQk9MICAgX01BUF80OF81N19BU0NJSV9TRUc3X05VTUVSSUMgICBfTUFQXzU4XzY0X0FTQ0lJX1NFRzdfU1lNQk9MICAgX01BUF85N18xMjJfQVNDSUlfU0VHN19BTFBIQV9MT1dFUiAgIF9NQVBfOTFfOTZfQVNDSUlfU0VHN19TWU1CT0wgICBfTUFQXzk3XzEyMl9BU0NJSV9TRUc3X0FMUEhBX0xPV0VSICAgX01BUF8xMjNfMTI2X0FTQ0lJX1NFRzdfU1lNQk9MCi0jZGVmaW5lIFNFRzdfREVGQVVMVF9NQVAoX25hbWUpICAgU0VHN19DT05WRVJTSU9OX01BUChfbmFtZSxNQVBfQVNDSUk3U0VHX0FMUEhBTlVNKQorI2RlZmluZSBfTUFQXzEyM18xMjZfQVNDSUlfU0VHN19TWU1CT0wgX1NFRzcoJ3snLCAxLCAwLCAwLCAxLCAxLCAxLCAwKSwgX1NFRzcoJ3wnLCAwLCAwLCAwLCAwLCAxLCAxLCAwKSwgX1NFRzcoJ30nLCAxLCAxLCAxLCAxLCAwLCAwLCAwKSwgX1NFRzcoJ34nLCAxLCAwLCAwLCAwLCAwLCAwLCAwKSwKKyNkZWZpbmUgTUFQX0FTQ0lJN1NFR19BTFBIQU5VTSBfTUFQXzBfMzJfQVNDSUlfU0VHN19OT05fUFJJTlRBQkxFIF9NQVBfMzNfNDdfQVNDSUlfU0VHN19TWU1CT0wgX01BUF80OF81N19BU0NJSV9TRUc3X05VTUVSSUMgX01BUF81OF82NF9BU0NJSV9TRUc3X1NZTUJPTCBfTUFQXzY1XzkwX0FTQ0lJX1NFRzdfQUxQSEFfVVBQUiBfTUFQXzkxXzk2X0FTQ0lJX1NFRzdfU1lNQk9MIF9NQVBfOTdfMTIyX0FTQ0lJX1NFRzdfQUxQSEFfTE9XRVIgX01BUF8xMjNfMTI2X0FTQ0lJX1NFRzdfU1lNQk9MCisjZGVmaW5lIE1BUF9BU0NJSTdTRUdfQUxQSEFOVU1fTEMgX01BUF8wXzMyX0FTQ0lJX1NFRzdfTk9OX1BSSU5UQUJMRSBfTUFQXzMzXzQ3X0FTQ0lJX1NFRzdfU1lNQk9MIF9NQVBfNDhfNTdfQVNDSUlfU0VHN19OVU1FUklDIF9NQVBfNThfNjRfQVNDSUlfU0VHN19TWU1CT0wgX01BUF85N18xMjJfQVNDSUlfU0VHN19BTFBIQV9MT1dFUiBfTUFQXzkxXzk2X0FTQ0lJX1NFRzdfU1lNQk9MIF9NQVBfOTdfMTIyX0FTQ0lJX1NFRzdfQUxQSEFfTE9XRVIgX01BUF8xMjNfMTI2X0FTQ0lJX1NFRzdfU1lNQk9MCisjZGVmaW5lIFNFRzdfREVGQVVMVF9NQVAoX25hbWUpIFNFRzdfQ09OVkVSU0lPTl9NQVAoX25hbWUsIE1BUF9BU0NJSTdTRUdfQUxQSEFOVU0pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21hdHJveGZiLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21hdHJveGZiLmgKaW5kZXggY2E4MzNhNS4uYjQzNzA4NiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tYXRyb3hmYi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWF0cm94ZmIuaApAQCAtMjQsMzMgKzI0LDMzIEBACiAjaW5jbHVkZSA8bGludXgvdmlkZW9kZXYyLmg+CiAjaW5jbHVkZSA8bGludXgvZmIuaD4KIHN0cnVjdCBtYXRyb3hpb2Nfb3V0cHV0X21vZGUgewotIF9fdTMyIG91dHB1dDsKKyAgX191MzIgb3V0cHV0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUFUUk9YRkJfT1VUUFVUX1BSSU1BUlkgMHgwMDAwCiAjZGVmaW5lIE1BVFJPWEZCX09VVFBVVF9TRUNPTkRBUlkgMHgwMDAxCiAjZGVmaW5lIE1BVFJPWEZCX09VVFBVVF9ERlAgMHgwMDAyCi0gX191MzIgbW9kZTsKKyAgX191MzIgbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1BVFJPWEZCX09VVFBVVF9NT0RFX1BBTCAweDAwMDEKICNkZWZpbmUgTUFUUk9YRkJfT1VUUFVUX01PREVfTlRTQyAweDAwMDIKICNkZWZpbmUgTUFUUk9YRkJfT1VUUFVUX01PREVfTU9OSVRPUiAweDAwODAKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNQVRST1hGQl9TRVRfT1VUUFVUX01PREUgX0lPVygnbicsMHhGQSxzaXplX3QpCi0jZGVmaW5lIE1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSBfSU9XUignbicsMHhGQSxzaXplX3QpCisjZGVmaW5lIE1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSBfSU9XKCduJywgMHhGQSwgc2l6ZV90KQorI2RlZmluZSBNQVRST1hGQl9HRVRfT1VUUFVUX01PREUgX0lPV1IoJ24nLCAweEZBLCBzaXplX3QpCiAjZGVmaW5lIE1BVFJPWEZCX09VVFBVVF9DT05OX1BSSU1BUlkgKDEgPDwgTUFUUk9YRkJfT1VUUFVUX1BSSU1BUlkpCiAjZGVmaW5lIE1BVFJPWEZCX09VVFBVVF9DT05OX1NFQ09OREFSWSAoMSA8PCBNQVRST1hGQl9PVVRQVVRfU0VDT05EQVJZKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUFUUk9YRkJfT1VUUFVUX0NPTk5fREZQICgxIDw8IE1BVFJPWEZCX09VVFBVVF9ERlApCi0jZGVmaW5lIE1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiBfSU9XKCduJywweEY4LHNpemVfdCkKLSNkZWZpbmUgTUFUUk9YRkJfR0VUX09VVFBVVF9DT05ORUNUSU9OIF9JT1IoJ24nLDB4Rjgsc2l6ZV90KQotI2RlZmluZSBNQVRST1hGQl9HRVRfQVZBSUxBQkxFX09VVFBVVFMgX0lPUignbicsMHhGOSxzaXplX3QpCisjZGVmaW5lIE1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiBfSU9XKCduJywgMHhGOCwgc2l6ZV90KQorI2RlZmluZSBNQVRST1hGQl9HRVRfT1VUUFVUX0NPTk5FQ1RJT04gX0lPUignbicsIDB4RjgsIHNpemVfdCkKKyNkZWZpbmUgTUFUUk9YRkJfR0VUX0FWQUlMQUJMRV9PVVRQVVRTIF9JT1IoJ24nLCAweEY5LCBzaXplX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNQVRST1hGQl9HRVRfQUxMX09VVFBVVFMgX0lPUignbicsMHhGQixzaXplX3QpCisjZGVmaW5lIE1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyBfSU9SKCduJywgMHhGQiwgc2l6ZV90KQogZW51bSBtYXRyb3hmYl9jdHJsX2lkIHsKLSBNQVRST1hGQl9DSURfVEVTVE9VVCA9IFY0TDJfQ0lEX1BSSVZBVEVfQkFTRSwKLSBNQVRST1hGQl9DSURfREVGTElDS0VSLAorICBNQVRST1hGQl9DSURfVEVTVE9VVCA9IFY0TDJfQ0lEX1BSSVZBVEVfQkFTRSwKKyAgTUFUUk9YRkJfQ0lEX0RFRkxJQ0tFUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTUFUUk9YRkJfQ0lEX0xBU1QKKyAgTUFUUk9YRkJfQ0lEX0xBU1QKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWRpby5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZGlvLmgKaW5kZXggMzE5NjcwZS4uNzc2NmQxMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZGlvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZGlvLmgKQEAgLTI3Miw1ICsyNzIsNSBAQAogI2RlZmluZSBNRElPX1BIWV9JRF9QUlRBRCAweDAzZTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1ESU9fUEhZX0lEX0RFVkFEIDB4MDAxZgotI2RlZmluZSBNRElPX1BIWV9JRF9DNDVfTUFTSyAgIChNRElPX1BIWV9JRF9DNDUgfCBNRElPX1BIWV9JRF9QUlRBRCB8IE1ESU9fUEhZX0lEX0RFVkFEKQorI2RlZmluZSBNRElPX1BIWV9JRF9DNDVfTUFTSyAoTURJT19QSFlfSURfQzQ1IHwgTURJT19QSFlfSURfUFJUQUQgfCBNRElPX1BIWV9JRF9ERVZBRCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZWRpYS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZWRpYS5oCmluZGV4IDRiYTU0YWEuLjVhZDEzMzAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWVkaWEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21lZGlhLmgKQEAgLTI0LDE2ICsyNCwxNiBAQAogI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KICNkZWZpbmUgTUVESUFfQVBJX1ZFUlNJT04gS0VSTkVMX1ZFUlNJT04oMCwgMSwgMCkKIHN0cnVjdCBtZWRpYV9kZXZpY2VfaW5mbyB7Ci0gY2hhciBkcml2ZXJbMTZdOworICBjaGFyIGRyaXZlclsxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbW9kZWxbMzJdOwotIGNoYXIgc2VyaWFsWzQwXTsKLSBjaGFyIGJ1c19pbmZvWzMyXTsKLSBfX3UzMiBtZWRpYV92ZXJzaW9uOworICBjaGFyIG1vZGVsWzMyXTsKKyAgY2hhciBzZXJpYWxbNDBdOworICBjaGFyIGJ1c19pbmZvWzMyXTsKKyAgX191MzIgbWVkaWFfdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaHdfcmV2aXNpb247Ci0gX191MzIgZHJpdmVyX3ZlcnNpb247Ci0gX191MzIgcmVzZXJ2ZWRbMzFdOworICBfX3UzMiBod19yZXZpc2lvbjsKKyAgX191MzIgZHJpdmVyX3ZlcnNpb247CisgIF9fdTMyIHJlc2VydmVkWzMxXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNRURJQV9FTlRfSURfRkxBR19ORVhUICgxIDw8IDMxKQpAQCAtNTYsNDkgKzU2LDQ5IEBACiAjZGVmaW5lIE1FRElBX0VOVF9GTF9ERUZBVUxUICgxIDw8IDApCiBzdHJ1Y3QgbWVkaWFfZW50aXR5X2Rlc2MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZDsKLSBjaGFyIG5hbWVbMzJdOwotIF9fdTMyIHR5cGU7Ci0gX191MzIgcmV2aXNpb247CisgIF9fdTMyIGlkOworICBjaGFyIG5hbWVbMzJdOworICBfX3UzMiB0eXBlOworICBfX3UzMiByZXZpc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX191MzIgZ3JvdXBfaWQ7Ci0gX191MTYgcGFkczsKLSBfX3UxNiBsaW5rczsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIGdyb3VwX2lkOworICBfX3UxNiBwYWRzOworICBfX3UxNiBsaW5rczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbNF07Ci0gdW5pb24gewotIHN0cnVjdCB7Ci0gX191MzIgbWFqb3I7CisgIF9fdTMyIHJlc2VydmVkWzRdOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTMyIG1ham9yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtaW5vcjsKLSB9IHY0bDsKLSBzdHJ1Y3QgewotIF9fdTMyIG1ham9yOworICAgICAgX191MzIgbWlub3I7CisgICAgfSB2NGw7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTMyIG1ham9yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtaW5vcjsKLSB9IGZiOwotIHN0cnVjdCB7Ci0gX191MzIgY2FyZDsKKyAgICAgIF9fdTMyIG1pbm9yOworICAgIH0gZmI7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTMyIGNhcmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRldmljZTsKLSBfX3UzMiBzdWJkZXZpY2U7Ci0gfSBhbHNhOwotIGludCBkdmI7CisgICAgICBfX3UzMiBkZXZpY2U7CisgICAgICBfX3UzMiBzdWJkZXZpY2U7CisgICAgfSBhbHNhOworICAgIGludCBkdmI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmF3WzE4NF07Ci0gfTsKKyAgICBfX3U4IHJhd1sxODRdOworICB9OwogfTsKICNkZWZpbmUgTUVESUFfUEFEX0ZMX1NJTksgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1FRElBX1BBRF9GTF9TT1VSQ0UgKDEgPDwgMSkKICNkZWZpbmUgTUVESUFfUEFEX0ZMX01VU1RfQ09OTkVDVCAoMSA8PCAyKQogc3RydWN0IG1lZGlhX3BhZF9kZXNjIHsKLSBfX3UzMiBlbnRpdHk7CisgIF9fdTMyIGVudGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaW5kZXg7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgcmVzZXJ2ZWRbMl07CisgIF9fdTE2IGluZGV4OworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUVESUFfTE5LX0ZMX0VOQUJMRUQgKDEgPDwgMCkKQEAgLTEwNiwxOCArMTA2LDE4IEBACiAjZGVmaW5lIE1FRElBX0xOS19GTF9EWU5BTUlDICgxIDw8IDIpCiBzdHJ1Y3QgbWVkaWFfbGlua19kZXNjIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IG1lZGlhX3BhZF9kZXNjIHNvdXJjZTsKLSBzdHJ1Y3QgbWVkaWFfcGFkX2Rlc2Mgc2luazsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiByZXNlcnZlZFsyXTsKKyAgc3RydWN0IG1lZGlhX3BhZF9kZXNjIHNvdXJjZTsKKyAgc3RydWN0IG1lZGlhX3BhZF9kZXNjIHNpbms7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiByZXNlcnZlZFsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG1lZGlhX2xpbmtzX2VudW0gewotIF9fdTMyIGVudGl0eTsKLSBzdHJ1Y3QgbWVkaWFfcGFkX2Rlc2MgX191c2VyICpwYWRzOworICBfX3UzMiBlbnRpdHk7CisgIHN0cnVjdCBtZWRpYV9wYWRfZGVzYyBfX3VzZXIgKiBwYWRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgbWVkaWFfbGlua19kZXNjIF9fdXNlciAqbGlua3M7Ci0gX191MzIgcmVzZXJ2ZWRbNF07CisgIHN0cnVjdCBtZWRpYV9saW5rX2Rlc2MgX191c2VyICogbGlua3M7CisgIF9fdTMyIHJlc2VydmVkWzRdOwogfTsKICNkZWZpbmUgTUVESUFfSU9DX0RFVklDRV9JTkZPIF9JT1dSKCd8JywgMHgwMCwgc3RydWN0IG1lZGlhX2RldmljZV9pbmZvKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWVpLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21laS5oCmluZGV4IDFhMzhlMWMuLmFjODAzMWYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWVpLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZWkuaApAQCAtMTksMjAgKzE5LDIwIEBACiAjaWZuZGVmIF9MSU5VWF9NRUlfSAogI2RlZmluZSBfTElOVVhfTUVJX0gKICNpbmNsdWRlIDxsaW51eC91dWlkLmg+Ci0jZGVmaW5lIElPQ1RMX01FSV9DT05ORUNUX0NMSUVOVCAgIF9JT1dSKCdIJyAsIDB4MDEsIHN0cnVjdCBtZWlfY29ubmVjdF9jbGllbnRfZGF0YSkKKyNkZWZpbmUgSU9DVExfTUVJX0NPTk5FQ1RfQ0xJRU5UIF9JT1dSKCdIJywgMHgwMSwgc3RydWN0IG1laV9jb25uZWN0X2NsaWVudF9kYXRhKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtZWlfY2xpZW50IHsKLSBfX3UzMiBtYXhfbXNnX2xlbmd0aDsKLSBfX3U4IHByb3RvY29sX3ZlcnNpb247Ci0gX191OCByZXNlcnZlZFszXTsKKyAgX191MzIgbWF4X21zZ19sZW5ndGg7CisgIF9fdTggcHJvdG9jb2xfdmVyc2lvbjsKKyAgX191OCByZXNlcnZlZFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG1laV9jb25uZWN0X2NsaWVudF9kYXRhIHsKLSB1bmlvbiB7Ci0gdXVpZF9sZSBpbl9jbGllbnRfdXVpZDsKKyAgdW5pb24geworICAgIHV1aWRfbGUgaW5fY2xpZW50X3V1aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBtZWlfY2xpZW50IG91dF9jbGllbnRfcHJvcGVydGllczsKLSB9OworICAgIHN0cnVjdCBtZWlfY2xpZW50IG91dF9jbGllbnRfcHJvcGVydGllczsKKyAgfTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21lbWZkLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21lbWZkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAxMWRhYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWVtZmQuaApAQCAtMCwwICsxLDI0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9VQVBJX0xJTlVYX01FTUZEX0gKKyNkZWZpbmUgX1VBUElfTElOVVhfTUVNRkRfSAorI2RlZmluZSBNRkRfQ0xPRVhFQyAweDAwMDFVCisjZGVmaW5lIE1GRF9BTExPV19TRUFMSU5HIDB4MDAwMlUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWVtcG9saWN5LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21lbXBvbGljeS5oCmluZGV4IDcwYThhOGYuLmEyMDhmNDIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWVtcG9saWN5LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZW1wb2xpY3kuaApAQCAtMjEsMzcgKzIxLDM3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNUE9MX0RFRkFVTFQsCi0gTVBPTF9QUkVGRVJSRUQsCi0gTVBPTF9CSU5ELAotIE1QT0xfSU5URVJMRUFWRSwKKyAgTVBPTF9ERUZBVUxULAorICBNUE9MX1BSRUZFUlJFRCwKKyAgTVBPTF9CSU5ELAorICBNUE9MX0lOVEVSTEVBVkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1QT0xfTE9DQUwsCi0gTVBPTF9NQVgsCisgIE1QT0xfTE9DQUwsCisgIE1QT0xfTUFYLAogfTsKIGVudW0gbXBvbF9yZWJpbmRfc3RlcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1QT0xfUkVCSU5EX09OQ0UsCi0gTVBPTF9SRUJJTkRfU1RFUDEsCi0gTVBPTF9SRUJJTkRfU1RFUDIsCi0gTVBPTF9SRUJJTkRfTlNURVAsCisgIE1QT0xfUkVCSU5EX09OQ0UsCisgIE1QT0xfUkVCSU5EX1NURVAxLAorICBNUE9MX1JFQklORF9TVEVQMiwKKyAgTVBPTF9SRUJJTkRfTlNURVAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTVBPTF9GX1NUQVRJQ19OT0RFUyAoMSA8PCAxNSkKICNkZWZpbmUgTVBPTF9GX1JFTEFUSVZFX05PREVTICgxIDw8IDE0KQogI2RlZmluZSBNUE9MX01PREVfRkxBR1MgKE1QT0xfRl9TVEFUSUNfTk9ERVMgfCBNUE9MX0ZfUkVMQVRJVkVfTk9ERVMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNUE9MX0ZfTk9ERSAoMTw8MCkKLSNkZWZpbmUgTVBPTF9GX0FERFIgKDE8PDEpCi0jZGVmaW5lIE1QT0xfRl9NRU1TX0FMTE9XRUQgKDE8PDIpCi0jZGVmaW5lIE1QT0xfTUZfU1RSSUNUICgxPDwwKQorI2RlZmluZSBNUE9MX0ZfTk9ERSAoMSA8PCAwKQorI2RlZmluZSBNUE9MX0ZfQUREUiAoMSA8PCAxKQorI2RlZmluZSBNUE9MX0ZfTUVNU19BTExPV0VEICgxIDw8IDIpCisjZGVmaW5lIE1QT0xfTUZfU1RSSUNUICgxIDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNUE9MX01GX01PVkUgKDE8PDEpCi0jZGVmaW5lIE1QT0xfTUZfTU9WRV9BTEwgKDE8PDIpCi0jZGVmaW5lIE1QT0xfTUZfTEFaWSAoMTw8MykKLSNkZWZpbmUgTVBPTF9NRl9JTlRFUk5BTCAoMTw8NCkKKyNkZWZpbmUgTVBPTF9NRl9NT1ZFICgxIDw8IDEpCisjZGVmaW5lIE1QT0xfTUZfTU9WRV9BTEwgKDEgPDwgMikKKyNkZWZpbmUgTVBPTF9NRl9MQVpZICgxIDw8IDMpCisjZGVmaW5lIE1QT0xfTUZfSU5URVJOQUwgKDEgPDwgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1QT0xfTUZfVkFMSUQgKE1QT0xfTUZfU1RSSUNUIHwgICBNUE9MX01GX01PVkUgfCAgIE1QT0xfTUZfTU9WRV9BTEwpCisjZGVmaW5lIE1QT0xfTUZfVkFMSUQgKE1QT0xfTUZfU1RSSUNUIHwgTVBPTF9NRl9NT1ZFIHwgTVBPTF9NRl9NT1ZFX0FMTCkKICNkZWZpbmUgTVBPTF9GX1NIQVJFRCAoMSA8PCAwKQogI2RlZmluZSBNUE9MX0ZfTE9DQUwgKDEgPDwgMSkKICNkZWZpbmUgTVBPTF9GX1JFQklORElORyAoMSA8PCAyKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tZXllLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21leWUuaAppbmRleCA3MzNhODZhLi5hMjNlOWZhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21leWUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21leWUuaApAQCAtMTksMjIgKzE5LDIyIEBACiAjaWZuZGVmIF9NRVlFX0hfCiAjZGVmaW5lIF9NRVlFX0hfCiBzdHJ1Y3QgbWV5ZV9wYXJhbXMgewotIHVuc2lnbmVkIGNoYXIgc3Vic2FtcGxlOworICB1bnNpZ25lZCBjaGFyIHN1YnNhbXBsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBxdWFsaXR5OwotIHVuc2lnbmVkIGNoYXIgc2hhcnBuZXNzOwotIHVuc2lnbmVkIGNoYXIgYWdjOwotIHVuc2lnbmVkIGNoYXIgcGljdHVyZTsKKyAgdW5zaWduZWQgY2hhciBxdWFsaXR5OworICB1bnNpZ25lZCBjaGFyIHNoYXJwbmVzczsKKyAgdW5zaWduZWQgY2hhciBhZ2M7CisgIHVuc2lnbmVkIGNoYXIgcGljdHVyZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBmcmFtZXJhdGU7CisgIHVuc2lnbmVkIGNoYXIgZnJhbWVyYXRlOwogfTsKLSNkZWZpbmUgTUVZRUlPQ19HX1BBUkFNUyBfSU9SICgndicsIEJBU0VfVklESU9DX1BSSVZBVEUrMCwgc3RydWN0IG1leWVfcGFyYW1zKQotI2RlZmluZSBNRVlFSU9DX1NfUEFSQU1TIF9JT1cgKCd2JywgQkFTRV9WSURJT0NfUFJJVkFURSsxLCBzdHJ1Y3QgbWV5ZV9wYXJhbXMpCisjZGVmaW5lIE1FWUVJT0NfR19QQVJBTVMgX0lPUigndicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAwLCBzdHJ1Y3QgbWV5ZV9wYXJhbXMpCisjZGVmaW5lIE1FWUVJT0NfU19QQVJBTVMgX0lPVygndicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAxLCBzdHJ1Y3QgbWV5ZV9wYXJhbXMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNRVlFSU9DX1FCVUZfQ0FQVCBfSU9XICgndicsIEJBU0VfVklESU9DX1BSSVZBVEUrMiwgaW50KQotI2RlZmluZSBNRVlFSU9DX1NZTkMgX0lPV1IoJ3YnLCBCQVNFX1ZJRElPQ19QUklWQVRFKzMsIGludCkKLSNkZWZpbmUgTUVZRUlPQ19TVElMTENBUFQgX0lPICgndicsIEJBU0VfVklESU9DX1BSSVZBVEUrNCkKLSNkZWZpbmUgTUVZRUlPQ19TVElMTEpDQVBUIF9JT1IgKCd2JywgQkFTRV9WSURJT0NfUFJJVkFURSs1LCBpbnQpCisjZGVmaW5lIE1FWUVJT0NfUUJVRl9DQVBUIF9JT1coJ3YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgMiwgaW50KQorI2RlZmluZSBNRVlFSU9DX1NZTkMgX0lPV1IoJ3YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgMywgaW50KQorI2RlZmluZSBNRVlFSU9DX1NUSUxMQ0FQVCBfSU8oJ3YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgNCkKKyNkZWZpbmUgTUVZRUlPQ19TVElMTEpDQVBUIF9JT1IoJ3YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgNSwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfTUVZRV9BR0MgKFY0TDJfQ0lEX1VTRVJfTUVZRV9CQVNFICsgMCkKICNkZWZpbmUgVjRMMl9DSURfTUVZRV9QSUNUVVJFIChWNEwyX0NJRF9VU0VSX01FWUVfQkFTRSArIDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21pY19jb21tb24uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWljX2NvbW1vbi5oCmluZGV4IDMwZDgzMDguLjVhMTczNWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWljX2NvbW1vbi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWljX2NvbW1vbi5oCkBAIC0xOSw1MSArMTksNTEgQEAKICNpZm5kZWYgX19NSUNfQ09NTU9OX0hfCiAjZGVmaW5lIF9fTUlDX0NPTU1PTl9IXwogI2luY2x1ZGUgPGxpbnV4L3ZpcnRpb19yaW5nLmg+Ci0jZGVmaW5lIF9fbWljX2FsaWduKGEsIHgpICgoKGEpICsgKHgpIC0gMSkgJiB+KCh4KSAtIDEpKQorI2RlZmluZSBfX21pY19hbGlnbihhLHgpICgoKGEpICsgKHgpIC0gMSkgJiB+KCh4KSAtIDEpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtaWNfZGV2aWNlX2Rlc2MgewotIF9fczggdHlwZTsKLSBfX3U4IG51bV92cTsKLSBfX3U4IGZlYXR1cmVfbGVuOworICBfX3M4IHR5cGU7CisgIF9fdTggbnVtX3ZxOworICBfX3U4IGZlYXR1cmVfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNvbmZpZ19sZW47Ci0gX191OCBzdGF0dXM7Ci0gX19sZTY0IGNvbmZpZ1swXTsKLX0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKTsKKyAgX191OCBjb25maWdfbGVuOworICBfX3U4IHN0YXR1czsKKyAgX19sZTY0IGNvbmZpZ1swXTsKK30gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtaWNfZGV2aWNlX2N0cmwgewotIF9fbGU2NCB2ZGV2OwotIF9fdTggY29uZmlnX2NoYW5nZTsKLSBfX3U4IHZkZXZfcmVzZXQ7CisgIF9fbGU2NCB2ZGV2OworICBfX3U4IGNvbmZpZ19jaGFuZ2U7CisgIF9fdTggdmRldl9yZXNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBndWVzdF9hY2s7Ci0gX191OCBob3N0X2FjazsKLSBfX3U4IHVzZWRfYWRkcmVzc191cGRhdGVkOwotIF9fczggYzJoX3ZkZXZfZGI7CisgIF9fdTggZ3Vlc3RfYWNrOworICBfX3U4IGhvc3RfYWNrOworICBfX3U4IHVzZWRfYWRkcmVzc191cGRhdGVkOworICBfX3M4IGMyaF92ZGV2X2RiOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3M4IGgyY192ZGV2X2RiOwotfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCg4KSkpOworICBfX3M4IGgyY192ZGV2X2RiOworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiBzdHJ1Y3QgbWljX2Jvb3RwYXJhbSB7Ci0gX19sZTMyIG1hZ2ljOworICBfX2xlMzIgbWFnaWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczggYzJoX3NodXRkb3duX2RiOwotIF9fczggaDJjX3NodXRkb3duX2RiOwotIF9fczggaDJjX2NvbmZpZ19kYjsKLSBfX3U4IHNodXRkb3duX3N0YXR1czsKKyAgX19zOCBjMmhfc2h1dGRvd25fZGI7CisgIF9fczggaDJjX3NodXRkb3duX2RiOworICBfX3M4IGgyY19jb25maWdfZGI7CisgIF9fdTggc2h1dGRvd25fc3RhdHVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNodXRkb3duX2NhcmQ7Ci19IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSk7CisgIF9fdTggc2h1dGRvd25fY2FyZDsKK30gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogc3RydWN0IG1pY19kZXZpY2VfcGFnZSB7Ci0gc3RydWN0IG1pY19ib290cGFyYW0gYm9vdHBhcmFtOworICBzdHJ1Y3QgbWljX2Jvb3RwYXJhbSBib290cGFyYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBtaWNfZGV2aWNlX2Rlc2MgZGVzY1swXTsKKyAgc3RydWN0IG1pY19kZXZpY2VfZGVzYyBkZXNjWzBdOwogfTsKIHN0cnVjdCBtaWNfdnFjb25maWcgewotIF9fbGU2NCBhZGRyZXNzOworICBfX2xlNjQgYWRkcmVzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTY0IHVzZWRfYWRkcmVzczsKLSBfX2xlMTYgbnVtOwotfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCg4KSkpOworICBfX2xlNjQgdXNlZF9hZGRyZXNzOworICBfX2xlMTYgbnVtOworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiAjZGVmaW5lIE1JQ19WSVJUSU9fUklOR19BTElHTiA0MDk2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNSUNfTUFYX1ZSSU5HUyA0CkBAIC03MiwxNiArNzIsMTYgQEAKICNkZWZpbmUgTUlDX01BWF9ERVNDX0JMS19TSVpFIDI1NgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBfbWljX3ZyaW5nX2luZm8gewotIF9fdTE2IGF2YWlsX2lkeDsKLSBfX2xlMzIgbWFnaWM7CisgIF9fdTE2IGF2YWlsX2lkeDsKKyAgX19sZTMyIG1hZ2ljOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbWljX3ZyaW5nIHsKLSBzdHJ1Y3QgdnJpbmcgdnI7Ci0gc3RydWN0IF9taWNfdnJpbmdfaW5mbyAqaW5mbzsKLSB2b2lkICp2YTsKKyAgc3RydWN0IHZyaW5nIHZyOworICBzdHJ1Y3QgX21pY192cmluZ19pbmZvICogaW5mbzsKKyAgdm9pZCAqIHZhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbGVuOworICBpbnQgbGVuOwogfTsKICNkZWZpbmUgbWljX2FsaWduZWRfZGVzY19zaXplKGQpIF9fbWljX2FsaWduKG1pY19kZXNjX3NpemUoZCksIDgpCiAjaWZuZGVmIElOVEVMX01JQ19DQVJECkBAIC05MSwyNCArOTEsMjQgQEAKICNkZWZpbmUgTUlDX01BR0lDIDB4YzBmZmVlMDAKIGVudW0gbWljX3N0YXRlcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1JQ19PRkZMSU5FID0gMCwKLSBNSUNfT05MSU5FLAotIE1JQ19TSFVUVElOR19ET1dOLAotIE1JQ19SRVNFVF9GQUlMRUQsCisgIE1JQ19PRkZMSU5FID0gMCwKKyAgTUlDX09OTElORSwKKyAgTUlDX1NIVVRUSU5HX0RPV04sCisgIE1JQ19SRVNFVF9GQUlMRUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1JQ19TVVNQRU5ESU5HLAotIE1JQ19TVVNQRU5ERUQsCi0gTUlDX0xBU1QKKyAgTUlDX1NVU1BFTkRJTkcsCisgIE1JQ19TVVNQRU5ERUQsCisgIE1JQ19MQVNUCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbWljX3N0YXR1cyB7Ci0gTUlDX05PUCA9IDAsCi0gTUlDX0NSQVNIRUQsCi0gTUlDX0hBTFRFRCwKKyAgTUlDX05PUCA9IDAsCisgIE1JQ19DUkFTSEVELAorICBNSUNfSEFMVEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNSUNfUE9XRVJfT0ZGLAotIE1JQ19SRVNUQVJULAotIE1JQ19TVEFUVVNfTEFTVAorICBNSUNfUE9XRVJfT0ZGLAorICBNSUNfUkVTVEFSVCwKKyAgTUlDX1NUQVRVU19MQVNUCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9taWNfaW9jdGwuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWljX2lvY3RsLmgKaW5kZXggOWViMWFkMi4uODNjYmY2NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9taWNfaW9jdGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21pY19pb2N0bC5oCkBAIC0yMSwxMiArMjEsMTIgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IG1pY19jb3B5X2Rlc2MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW92ZWMgKmlvdjsKLSBfX3UzMiBpb3ZjbnQ7Ci0gX191OCB2cl9pZHg7Ci0gX191OCB1cGRhdGVfdXNlZDsKKyAgc3RydWN0IGlvdmVjICogaW92OworICBfX3UzMiBpb3ZjbnQ7CisgIF9fdTggdnJfaWR4OworICBfX3U4IHVwZGF0ZV91c2VkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBvdXRfbGVuOworICBfX3UzMiBvdXRfbGVuOwogfTsKICNkZWZpbmUgTUlDX1ZJUlRJT19BRERfREVWSUNFIF9JT1dSKCdzJywgMSwgc3RydWN0IG1pY19kZXZpY2VfZGVzYyAqKQogI2RlZmluZSBNSUNfVklSVElPX0NPUFlfREVTQyBfSU9XUigncycsIDIsIHN0cnVjdCBtaWNfY29weV9kZXNjICopCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21paS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9taWkuaAppbmRleCBkMGY5NDBlLi43YWNjMjM0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21paS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWlpLmgKQEAgLTEwMyw4ICsxMDMsOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQURWRVJUSVNFX0xQQUNLIDB4NDAwMAogI2RlZmluZSBBRFZFUlRJU0VfTlBBR0UgMHg4MDAwCi0jZGVmaW5lIEFEVkVSVElTRV9GVUxMIChBRFZFUlRJU0VfMTAwRlVMTCB8IEFEVkVSVElTRV8xMEZVTEwgfCAgIEFEVkVSVElTRV9DU01BKQotI2RlZmluZSBBRFZFUlRJU0VfQUxMIChBRFZFUlRJU0VfMTBIQUxGIHwgQURWRVJUSVNFXzEwRlVMTCB8ICAgQURWRVJUSVNFXzEwMEhBTEYgfCBBRFZFUlRJU0VfMTAwRlVMTCkKKyNkZWZpbmUgQURWRVJUSVNFX0ZVTEwgKEFEVkVSVElTRV8xMDBGVUxMIHwgQURWRVJUSVNFXzEwRlVMTCB8IEFEVkVSVElTRV9DU01BKQorI2RlZmluZSBBRFZFUlRJU0VfQUxMIChBRFZFUlRJU0VfMTBIQUxGIHwgQURWRVJUSVNFXzEwRlVMTCB8IEFEVkVSVElTRV8xMDBIQUxGIHwgQURWRVJUSVNFXzEwMEZVTEwpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBMUEFfU0xDVCAweDAwMWYKICNkZWZpbmUgTFBBXzEwSEFMRiAweDAwMjAKQEAgLTE2MiwxMCArMTYyLDEwIEBACiAjZGVmaW5lIE1JSV9NTURfQ1RSTF9JTkNSX09OX1dUIDB4QzAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtaWlfaW9jdGxfZGF0YSB7Ci0gX191MTYgcGh5X2lkOwotIF9fdTE2IHJlZ19udW07Ci0gX191MTYgdmFsX2luOworICBfX3UxNiBwaHlfaWQ7CisgIF9fdTE2IHJlZ19udW07CisgIF9fdTE2IHZhbF9pbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgdmFsX291dDsKKyAgX191MTYgdmFsX291dDsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWluaXhfZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbWluaXhfZnMuaAppbmRleCA3ZTY3NGZlLi5jMTlkNGY2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21pbml4X2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9taW5peF9mcy5oCkBAIC0yOSw3NSArMjksNzUgQEAKICNkZWZpbmUgTUlOSVhfWl9NQVBfU0xPVFMgNjQKICNkZWZpbmUgTUlOSVhfVkFMSURfRlMgMHgwMDAxCiAjZGVmaW5lIE1JTklYX0VSUk9SX0ZTIDB4MDAwMgotI2RlZmluZSBNSU5JWF9JTk9ERVNfUEVSX0JMT0NLICgoQkxPQ0tfU0laRSkvKHNpemVvZiAoc3RydWN0IG1pbml4X2lub2RlKSkpCisjZGVmaW5lIE1JTklYX0lOT0RFU19QRVJfQkxPQ0sgKChCTE9DS19TSVpFKSAvIChzaXplb2Yoc3RydWN0IG1pbml4X2lub2RlKSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG1pbml4X2lub2RlIHsKLSBfX3UxNiBpX21vZGU7Ci0gX191MTYgaV91aWQ7Ci0gX191MzIgaV9zaXplOworICBfX3UxNiBpX21vZGU7CisgIF9fdTE2IGlfdWlkOworICBfX3UzMiBpX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlfdGltZTsKLSBfX3U4IGlfZ2lkOwotIF9fdTggaV9ubGlua3M7Ci0gX191MTYgaV96b25lWzldOworICBfX3UzMiBpX3RpbWU7CisgIF9fdTggaV9naWQ7CisgIF9fdTggaV9ubGlua3M7CisgIF9fdTE2IGlfem9uZVs5XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG1pbml4Ml9pbm9kZSB7Ci0gX191MTYgaV9tb2RlOwotIF9fdTE2IGlfbmxpbmtzOworICBfX3UxNiBpX21vZGU7CisgIF9fdTE2IGlfbmxpbmtzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBpX3VpZDsKLSBfX3UxNiBpX2dpZDsKLSBfX3UzMiBpX3NpemU7Ci0gX191MzIgaV9hdGltZTsKKyAgX191MTYgaV91aWQ7CisgIF9fdTE2IGlfZ2lkOworICBfX3UzMiBpX3NpemU7CisgIF9fdTMyIGlfYXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlfbXRpbWU7Ci0gX191MzIgaV9jdGltZTsKLSBfX3UzMiBpX3pvbmVbMTBdOworICBfX3UzMiBpX210aW1lOworICBfX3UzMiBpX2N0aW1lOworICBfX3UzMiBpX3pvbmVbMTBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbWluaXhfc3VwZXJfYmxvY2sgewotIF9fdTE2IHNfbmlub2RlczsKLSBfX3UxNiBzX256b25lczsKLSBfX3UxNiBzX2ltYXBfYmxvY2tzOworICBfX3UxNiBzX25pbm9kZXM7CisgIF9fdTE2IHNfbnpvbmVzOworICBfX3UxNiBzX2ltYXBfYmxvY2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzX3ptYXBfYmxvY2tzOwotIF9fdTE2IHNfZmlyc3RkYXRhem9uZTsKLSBfX3UxNiBzX2xvZ196b25lX3NpemU7Ci0gX191MzIgc19tYXhfc2l6ZTsKKyAgX191MTYgc196bWFwX2Jsb2NrczsKKyAgX191MTYgc19maXJzdGRhdGF6b25lOworICBfX3UxNiBzX2xvZ196b25lX3NpemU7CisgIF9fdTMyIHNfbWF4X3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNfbWFnaWM7Ci0gX191MTYgc19zdGF0ZTsKLSBfX3UzMiBzX3pvbmVzOworICBfX3UxNiBzX21hZ2ljOworICBfX3UxNiBzX3N0YXRlOworICBfX3UzMiBzX3pvbmVzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbWluaXgzX3N1cGVyX2Jsb2NrIHsKLSBfX3UzMiBzX25pbm9kZXM7Ci0gX191MTYgc19wYWQwOwotIF9fdTE2IHNfaW1hcF9ibG9ja3M7CisgIF9fdTMyIHNfbmlub2RlczsKKyAgX191MTYgc19wYWQwOworICBfX3UxNiBzX2ltYXBfYmxvY2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzX3ptYXBfYmxvY2tzOwotIF9fdTE2IHNfZmlyc3RkYXRhem9uZTsKLSBfX3UxNiBzX2xvZ196b25lX3NpemU7Ci0gX191MTYgc19wYWQxOworICBfX3UxNiBzX3ptYXBfYmxvY2tzOworICBfX3UxNiBzX2ZpcnN0ZGF0YXpvbmU7CisgIF9fdTE2IHNfbG9nX3pvbmVfc2l6ZTsKKyAgX191MTYgc19wYWQxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzX21heF9zaXplOwotIF9fdTMyIHNfem9uZXM7Ci0gX191MTYgc19tYWdpYzsKLSBfX3UxNiBzX3BhZDI7CisgIF9fdTMyIHNfbWF4X3NpemU7CisgIF9fdTMyIHNfem9uZXM7CisgIF9fdTE2IHNfbWFnaWM7CisgIF9fdTE2IHNfcGFkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc19ibG9ja3NpemU7Ci0gX191OCBzX2Rpc2tfdmVyc2lvbjsKKyAgX191MTYgc19ibG9ja3NpemU7CisgIF9fdTggc19kaXNrX3ZlcnNpb247CiB9Owogc3RydWN0IG1pbml4X2Rpcl9lbnRyeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGlub2RlOwotIGNoYXIgbmFtZVswXTsKKyAgX191MTYgaW5vZGU7CisgIGNoYXIgbmFtZVswXTsKIH07CiBzdHJ1Y3QgbWluaXgzX2Rpcl9lbnRyeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlub2RlOwotIGNoYXIgbmFtZVswXTsKKyAgX191MzIgaW5vZGU7CisgIGNoYXIgbmFtZVswXTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21tYy9pb2N0bC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tbWMvaW9jdGwuaAppbmRleCAxYmQwMjA0Li43NjFmMWQ3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21tYy9pb2N0bC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbW1jL2lvY3RsLmgKQEAgLTIxLDI1ICsyMSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgbW1jX2lvY19jbWQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgd3JpdGVfZmxhZzsKLSBpbnQgaXNfYWNtZDsKLSBfX3UzMiBvcGNvZGU7Ci0gX191MzIgYXJnOworICBpbnQgd3JpdGVfZmxhZzsKKyAgaW50IGlzX2FjbWQ7CisgIF9fdTMyIG9wY29kZTsKKyAgX191MzIgYXJnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNwb25zZVs0XTsKLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gdW5zaWduZWQgaW50IGJsa3N6OwotIHVuc2lnbmVkIGludCBibG9ja3M7CisgIF9fdTMyIHJlc3BvbnNlWzRdOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CisgIHVuc2lnbmVkIGludCBibGtzejsKKyAgdW5zaWduZWQgaW50IGJsb2NrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHBvc3RzbGVlcF9taW5fdXM7Ci0gdW5zaWduZWQgaW50IHBvc3RzbGVlcF9tYXhfdXM7Ci0gdW5zaWduZWQgaW50IGRhdGFfdGltZW91dF9uczsKLSB1bnNpZ25lZCBpbnQgY21kX3RpbWVvdXRfbXM7CisgIHVuc2lnbmVkIGludCBwb3N0c2xlZXBfbWluX3VzOworICB1bnNpZ25lZCBpbnQgcG9zdHNsZWVwX21heF91czsKKyAgdW5zaWduZWQgaW50IGRhdGFfdGltZW91dF9uczsKKyAgdW5zaWduZWQgaW50IGNtZF90aW1lb3V0X21zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBfX3BhZDsKLSBfX3U2NCBkYXRhX3B0cjsKKyAgX191MzIgX19wYWQ7CisgIF9fdTY0IGRhdGFfcHRyOwogfTsKLSNkZWZpbmUgbW1jX2lvY19jbWRfc2V0X2RhdGEoaWMsIHB0cikgaWMuZGF0YV9wdHIgPSAoX191NjQpKHVuc2lnbmVkIGxvbmcpIHB0cgorI2RlZmluZSBtbWNfaW9jX2NtZF9zZXRfZGF0YShpYyxwdHIpIGljLmRhdGFfcHRyID0gKF9fdTY0KSAodW5zaWduZWQgbG9uZykgcHRyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNTUNfSU9DX0NNRCBfSU9XUihNTUNfQkxPQ0tfTUFKT1IsIDAsIHN0cnVjdCBtbWNfaW9jX2NtZCkKICNkZWZpbmUgTU1DX0lPQ19NQVhfQllURVMgKDUxMkwgKiAyNTYpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21wbHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXBscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0YjQyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21wbHMuaApAQCAtMCwwICsxLDM4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9VQVBJX01QTFNfSAorI2RlZmluZSBfVUFQSV9NUExTX0gKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgbXBsc19sYWJlbCB7CisgIF9fYmUzMiBlbnRyeTsKK307CisjZGVmaW5lIE1QTFNfTFNfTEFCRUxfTUFTSyAweEZGRkZGMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNUExTX0xTX0xBQkVMX1NISUZUIDEyCisjZGVmaW5lIE1QTFNfTFNfVENfTUFTSyAweDAwMDAwRTAwCisjZGVmaW5lIE1QTFNfTFNfVENfU0hJRlQgOQorI2RlZmluZSBNUExTX0xTX1NfTUFTSyAweDAwMDAwMTAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBNUExTX0xTX1NfU0hJRlQgOAorI2RlZmluZSBNUExTX0xTX1RUTF9NQVNLIDB4MDAwMDAwRkYKKyNkZWZpbmUgTVBMU19MU19UVExfU0hJRlQgMAorI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tcXVldWUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXF1ZXVlLmgKaW5kZXggNDU5OWNkYy4uNDVmM2ExOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tcXVldWUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21xdWV1ZS5oCkBAIC0yMiwxMiArMjIsMTIgQEAKICNkZWZpbmUgTVFfQllURVNfTUFYIDgxOTIwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtcV9hdHRyIHsKLSBfX2tlcm5lbF9sb25nX3QgbXFfZmxhZ3M7Ci0gX19rZXJuZWxfbG9uZ190IG1xX21heG1zZzsKLSBfX2tlcm5lbF9sb25nX3QgbXFfbXNnc2l6ZTsKKyAgX19rZXJuZWxfbG9uZ190IG1xX2ZsYWdzOworICBfX2tlcm5lbF9sb25nX3QgbXFfbWF4bXNnOworICBfX2tlcm5lbF9sb25nX3QgbXFfbXNnc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfbG9uZ190IG1xX2N1cm1zZ3M7Ci0gX19rZXJuZWxfbG9uZ190IF9fcmVzZXJ2ZWRbNF07CisgIF9fa2VybmVsX2xvbmdfdCBtcV9jdXJtc2dzOworICBfX2tlcm5lbF9sb25nX3QgX19yZXNlcnZlZFs0XTsKIH07CiAjZGVmaW5lIE5PVElGWV9OT05FIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21yb3V0ZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tcm91dGUuaAppbmRleCA1NTA3NzBmLi5iYWU1ZDcxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21yb3V0ZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXJvdXRlLmgKQEAgLTIzLDUwICsyMyw1MCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVJUX0JBU0UgMjAwCiAjZGVmaW5lIE1SVF9JTklUIChNUlRfQkFTRSkKLSNkZWZpbmUgTVJUX0RPTkUgKE1SVF9CQVNFKzEpCi0jZGVmaW5lIE1SVF9BRERfVklGIChNUlRfQkFTRSsyKQorI2RlZmluZSBNUlRfRE9ORSAoTVJUX0JBU0UgKyAxKQorI2RlZmluZSBNUlRfQUREX1ZJRiAoTVJUX0JBU0UgKyAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTVJUX0RFTF9WSUYgKE1SVF9CQVNFKzMpCi0jZGVmaW5lIE1SVF9BRERfTUZDIChNUlRfQkFTRSs0KQotI2RlZmluZSBNUlRfREVMX01GQyAoTVJUX0JBU0UrNSkKLSNkZWZpbmUgTVJUX1ZFUlNJT04gKE1SVF9CQVNFKzYpCisjZGVmaW5lIE1SVF9ERUxfVklGIChNUlRfQkFTRSArIDMpCisjZGVmaW5lIE1SVF9BRERfTUZDIChNUlRfQkFTRSArIDQpCisjZGVmaW5lIE1SVF9ERUxfTUZDIChNUlRfQkFTRSArIDUpCisjZGVmaW5lIE1SVF9WRVJTSU9OIChNUlRfQkFTRSArIDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNUlRfQVNTRVJUIChNUlRfQkFTRSs3KQotI2RlZmluZSBNUlRfUElNIChNUlRfQkFTRSs4KQotI2RlZmluZSBNUlRfVEFCTEUgKE1SVF9CQVNFKzkpCi0jZGVmaW5lIE1SVF9BRERfTUZDX1BST1hZIChNUlRfQkFTRSsxMCkKKyNkZWZpbmUgTVJUX0FTU0VSVCAoTVJUX0JBU0UgKyA3KQorI2RlZmluZSBNUlRfUElNIChNUlRfQkFTRSArIDgpCisjZGVmaW5lIE1SVF9UQUJMRSAoTVJUX0JBU0UgKyA5KQorI2RlZmluZSBNUlRfQUREX01GQ19QUk9YWSAoTVJUX0JBU0UgKyAxMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1SVF9ERUxfTUZDX1BST1hZIChNUlRfQkFTRSsxMSkKLSNkZWZpbmUgTVJUX01BWCAoTVJUX0JBU0UrMTEpCisjZGVmaW5lIE1SVF9ERUxfTUZDX1BST1hZIChNUlRfQkFTRSArIDExKQorI2RlZmluZSBNUlRfTUFYIChNUlRfQkFTRSArIDExKQogI2RlZmluZSBTSU9DR0VUVklGQ05UIFNJT0NQUk9UT1BSSVZBVEUKLSNkZWZpbmUgU0lPQ0dFVFNHQ05UIChTSU9DUFJPVE9QUklWQVRFKzEpCisjZGVmaW5lIFNJT0NHRVRTR0NOVCAoU0lPQ1BST1RPUFJJVkFURSArIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTSU9DR0VUUlBGIChTSU9DUFJPVE9QUklWQVRFKzIpCisjZGVmaW5lIFNJT0NHRVRSUEYgKFNJT0NQUk9UT1BSSVZBVEUgKyAyKQogI2RlZmluZSBNQVhWSUZTIDMyCiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdmlmYml0bWFwX3Q7CiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHZpZmlfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFMTF9WSUZTICgodmlmaV90KSgtMSkpCi0jZGVmaW5lIFZJRk1fU0VUKG4sbSkgKChtKXw9KDE8PChuKSkpCi0jZGVmaW5lIFZJRk1fQ0xSKG4sbSkgKChtKSY9figxPDwobikpKQotI2RlZmluZSBWSUZNX0lTU0VUKG4sbSkgKChtKSYoMTw8KG4pKSkKKyNkZWZpbmUgQUxMX1ZJRlMgKCh2aWZpX3QpICgtIDEpKQorI2RlZmluZSBWSUZNX1NFVChuLG0pICgobSkgfD0gKDEgPDwgKG4pKSkKKyNkZWZpbmUgVklGTV9DTFIobixtKSAoKG0pICY9IH4oMSA8PCAobikpKQorI2RlZmluZSBWSUZNX0lTU0VUKG4sbSkgKChtKSAmICgxIDw8IChuKSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWSUZNX0NMUkFMTChtKSAoKG0pPTApCi0jZGVmaW5lIFZJRk1fQ09QWShtZnJvbSxtdG8pICgobXRvKT0obWZyb20pKQotI2RlZmluZSBWSUZNX1NBTUUobTEsbTIpICgobTEpPT0obTIpKQorI2RlZmluZSBWSUZNX0NMUkFMTChtKSAoKG0pID0gMCkKKyNkZWZpbmUgVklGTV9DT1BZKG1mcm9tLG10bykgKChtdG8pID0gKG1mcm9tKSkKKyNkZWZpbmUgVklGTV9TQU1FKG0xLG0yKSAoKG0xKSA9PSAobTIpKQogc3RydWN0IHZpZmN0bCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZpZmlfdCB2aWZjX3ZpZmk7Ci0gdW5zaWduZWQgY2hhciB2aWZjX2ZsYWdzOwotIHVuc2lnbmVkIGNoYXIgdmlmY190aHJlc2hvbGQ7Ci0gdW5zaWduZWQgaW50IHZpZmNfcmF0ZV9saW1pdDsKKyAgdmlmaV90IHZpZmNfdmlmaTsKKyAgdW5zaWduZWQgY2hhciB2aWZjX2ZsYWdzOworICB1bnNpZ25lZCBjaGFyIHZpZmNfdGhyZXNob2xkOworICB1bnNpZ25lZCBpbnQgdmlmY19yYXRlX2xpbWl0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IGluX2FkZHIgdmlmY19sY2xfYWRkcjsKLSBpbnQgdmlmY19sY2xfaWZpbmRleDsKLSB9OworICB1bmlvbiB7CisgICAgc3RydWN0IGluX2FkZHIgdmlmY19sY2xfYWRkcjsKKyAgICBpbnQgdmlmY19sY2xfaWZpbmRleDsKKyAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluX2FkZHIgdmlmY19ybXRfYWRkcjsKKyAgc3RydWN0IGluX2FkZHIgdmlmY19ybXRfYWRkcjsKIH07CiAjZGVmaW5lIFZJRkZfVFVOTkVMIDB4MQogI2RlZmluZSBWSUZGX1NSQ1JUIDB4MgpAQCAtNzQsNDYgKzc0LDQ2IEBACiAjZGVmaW5lIFZJRkZfUkVHSVNURVIgMHg0CiAjZGVmaW5lIFZJRkZfVVNFX0lGSU5ERVggMHg4CiBzdHJ1Y3QgbWZjY3RsIHsKLSBzdHJ1Y3QgaW5fYWRkciBtZmNjX29yaWdpbjsKKyAgc3RydWN0IGluX2FkZHIgbWZjY19vcmlnaW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpbl9hZGRyIG1mY2NfbWNhc3RncnA7Ci0gdmlmaV90IG1mY2NfcGFyZW50OwotIHVuc2lnbmVkIGNoYXIgbWZjY190dGxzW01BWFZJRlNdOwotIHVuc2lnbmVkIGludCBtZmNjX3BrdF9jbnQ7CisgIHN0cnVjdCBpbl9hZGRyIG1mY2NfbWNhc3RncnA7CisgIHZpZmlfdCBtZmNjX3BhcmVudDsKKyAgdW5zaWduZWQgY2hhciBtZmNjX3R0bHNbTUFYVklGU107CisgIHVuc2lnbmVkIGludCBtZmNjX3BrdF9jbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBtZmNjX2J5dGVfY250OwotIHVuc2lnbmVkIGludCBtZmNjX3dyb25nX2lmOwotIGludCBtZmNjX2V4cGlyZTsKKyAgdW5zaWduZWQgaW50IG1mY2NfYnl0ZV9jbnQ7CisgIHVuc2lnbmVkIGludCBtZmNjX3dyb25nX2lmOworICBpbnQgbWZjY19leHBpcmU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzaW9jX3NnX3JlcSB7Ci0gc3RydWN0IGluX2FkZHIgc3JjOwotIHN0cnVjdCBpbl9hZGRyIGdycDsKLSB1bnNpZ25lZCBsb25nIHBrdGNudDsKKyAgc3RydWN0IGluX2FkZHIgc3JjOworICBzdHJ1Y3QgaW5fYWRkciBncnA7CisgIHVuc2lnbmVkIGxvbmcgcGt0Y250OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGJ5dGVjbnQ7Ci0gdW5zaWduZWQgbG9uZyB3cm9uZ19pZjsKKyAgdW5zaWduZWQgbG9uZyBieXRlY250OworICB1bnNpZ25lZCBsb25nIHdyb25nX2lmOwogfTsKIHN0cnVjdCBzaW9jX3ZpZl9yZXEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2aWZpX3QgdmlmaTsKLSB1bnNpZ25lZCBsb25nIGljb3VudDsKLSB1bnNpZ25lZCBsb25nIG9jb3VudDsKLSB1bnNpZ25lZCBsb25nIGlieXRlczsKKyAgdmlmaV90IHZpZmk7CisgIHVuc2lnbmVkIGxvbmcgaWNvdW50OworICB1bnNpZ25lZCBsb25nIG9jb3VudDsKKyAgdW5zaWduZWQgbG9uZyBpYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgb2J5dGVzOworICB1bnNpZ25lZCBsb25nIG9ieXRlczsKIH07CiBzdHJ1Y3QgaWdtcG1zZyB7Ci0gX191MzIgdW51c2VkMSx1bnVzZWQyOworICBfX3UzMiB1bnVzZWQxLCB1bnVzZWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGltX21zZ3R5cGU7Ci0gdW5zaWduZWQgY2hhciBpbV9tYno7Ci0gdW5zaWduZWQgY2hhciBpbV92aWY7Ci0gdW5zaWduZWQgY2hhciB1bnVzZWQzOworICB1bnNpZ25lZCBjaGFyIGltX21zZ3R5cGU7CisgIHVuc2lnbmVkIGNoYXIgaW1fbWJ6OworICB1bnNpZ25lZCBjaGFyIGltX3ZpZjsKKyAgdW5zaWduZWQgY2hhciB1bnVzZWQzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW5fYWRkciBpbV9zcmMsaW1fZHN0OworICBzdHJ1Y3QgaW5fYWRkciBpbV9zcmMsIGltX2RzdDsKIH07Ci0jZGVmaW5lIE1GQ19BU1NFUlRfVEhSRVNIICgzKkhaKQorI2RlZmluZSBNRkNfQVNTRVJUX1RIUkVTSCAoMyAqIEhaKQogI2RlZmluZSBJR01QTVNHX05PQ0FDSEUgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUdNUE1TR19XUk9OR1ZJRiAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21yb3V0ZTYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXJvdXRlNi5oCmluZGV4IGM5ZjMxNjQuLjhhM2MzNjMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXJvdXRlNi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXJvdXRlNi5oCkBAIC0yMywzMCArMjMsMzAgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1SVDZfQkFTRSAyMDAKICNkZWZpbmUgTVJUNl9JTklUIChNUlQ2X0JBU0UpCi0jZGVmaW5lIE1SVDZfRE9ORSAoTVJUNl9CQVNFKzEpCi0jZGVmaW5lIE1SVDZfQUREX01JRiAoTVJUNl9CQVNFKzIpCisjZGVmaW5lIE1SVDZfRE9ORSAoTVJUNl9CQVNFICsgMSkKKyNkZWZpbmUgTVJUNl9BRERfTUlGIChNUlQ2X0JBU0UgKyAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTVJUNl9ERUxfTUlGIChNUlQ2X0JBU0UrMykKLSNkZWZpbmUgTVJUNl9BRERfTUZDIChNUlQ2X0JBU0UrNCkKLSNkZWZpbmUgTVJUNl9ERUxfTUZDIChNUlQ2X0JBU0UrNSkKLSNkZWZpbmUgTVJUNl9WRVJTSU9OIChNUlQ2X0JBU0UrNikKKyNkZWZpbmUgTVJUNl9ERUxfTUlGIChNUlQ2X0JBU0UgKyAzKQorI2RlZmluZSBNUlQ2X0FERF9NRkMgKE1SVDZfQkFTRSArIDQpCisjZGVmaW5lIE1SVDZfREVMX01GQyAoTVJUNl9CQVNFICsgNSkKKyNkZWZpbmUgTVJUNl9WRVJTSU9OIChNUlQ2X0JBU0UgKyA2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTVJUNl9BU1NFUlQgKE1SVDZfQkFTRSs3KQotI2RlZmluZSBNUlQ2X1BJTSAoTVJUNl9CQVNFKzgpCi0jZGVmaW5lIE1SVDZfVEFCTEUgKE1SVDZfQkFTRSs5KQotI2RlZmluZSBNUlQ2X0FERF9NRkNfUFJPWFkgKE1SVDZfQkFTRSsxMCkKKyNkZWZpbmUgTVJUNl9BU1NFUlQgKE1SVDZfQkFTRSArIDcpCisjZGVmaW5lIE1SVDZfUElNIChNUlQ2X0JBU0UgKyA4KQorI2RlZmluZSBNUlQ2X1RBQkxFIChNUlQ2X0JBU0UgKyA5KQorI2RlZmluZSBNUlQ2X0FERF9NRkNfUFJPWFkgKE1SVDZfQkFTRSArIDEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTVJUNl9ERUxfTUZDX1BST1hZIChNUlQ2X0JBU0UrMTEpCi0jZGVmaW5lIE1SVDZfTUFYIChNUlQ2X0JBU0UrMTEpCisjZGVmaW5lIE1SVDZfREVMX01GQ19QUk9YWSAoTVJUNl9CQVNFICsgMTEpCisjZGVmaW5lIE1SVDZfTUFYIChNUlQ2X0JBU0UgKyAxMSkKICNkZWZpbmUgU0lPQ0dFVE1JRkNOVF9JTjYgU0lPQ1BST1RPUFJJVkFURQotI2RlZmluZSBTSU9DR0VUU0dDTlRfSU42IChTSU9DUFJPVE9QUklWQVRFKzEpCisjZGVmaW5lIFNJT0NHRVRTR0NOVF9JTjYgKFNJT0NQUk9UT1BSSVZBVEUgKyAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0lPQ0dFVFJQRiAoU0lPQ1BST1RPUFJJVkFURSsyKQorI2RlZmluZSBTSU9DR0VUUlBGIChTSU9DUFJPVE9QUklWQVRFICsgMikKICNkZWZpbmUgTUFYTUlGUyAzMgogdHlwZWRlZiB1bnNpZ25lZCBsb25nIG1pZmJpdG1hcF90OwogdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBtaWZpX3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBBTExfTUlGUyAoKG1pZmlfdCkoLTEpKQorI2RlZmluZSBBTExfTUlGUyAoKG1pZmlfdCkgKC0gMSkpCiAjaWZuZGVmIElGX1NFVFNJWkUKICNkZWZpbmUgSUZfU0VUU0laRSAyNTYKICNlbmRpZgpAQCAtNTgsNDggKzU4LDQ4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCiB0eXBlZGVmIHN0cnVjdCBpZl9zZXQgewotIGlmX21hc2sgaWZzX2JpdHNbRElWX1JPVU5EX1VQKElGX1NFVFNJWkUsIE5JRkJJVFMpXTsKKyAgaWZfbWFzayBpZnNfYml0c1tESVZfUk9VTkRfVVAoSUZfU0VUU0laRSwgTklGQklUUyldOwogfSBpZl9zZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJRl9TRVQobiwgcCkgKChwKS0+aWZzX2JpdHNbKG4pL05JRkJJVFNdIHw9ICgxIDw8ICgobikgJSBOSUZCSVRTKSkpCi0jZGVmaW5lIElGX0NMUihuLCBwKSAoKHApLT5pZnNfYml0c1sobikvTklGQklUU10gJj0gfigxIDw8ICgobikgJSBOSUZCSVRTKSkpCi0jZGVmaW5lIElGX0lTU0VUKG4sIHApICgocCktPmlmc19iaXRzWyhuKS9OSUZCSVRTXSAmICgxIDw8ICgobikgJSBOSUZCSVRTKSkpCi0jZGVmaW5lIElGX0NPUFkoZiwgdCkgYmNvcHkoZiwgdCwgc2l6ZW9mKCooZikpKQorI2RlZmluZSBJRl9TRVQobixwKSAoKHApLT5pZnNfYml0c1sobikgLyBOSUZCSVRTXSB8PSAoMSA8PCAoKG4pICUgTklGQklUUykpKQorI2RlZmluZSBJRl9DTFIobixwKSAoKHApLT5pZnNfYml0c1sobikgLyBOSUZCSVRTXSAmPSB+KDEgPDwgKChuKSAlIE5JRkJJVFMpKSkKKyNkZWZpbmUgSUZfSVNTRVQobixwKSAoKHApLT5pZnNfYml0c1sobikgLyBOSUZCSVRTXSAmICgxIDw8ICgobikgJSBOSUZCSVRTKSkpCisjZGVmaW5lIElGX0NPUFkoZix0KSBiY29weShmLCB0LCBzaXplb2YoKiAoZikpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUZfWkVSTyhwKSBiemVybyhwLCBzaXplb2YoKihwKSkpCisjZGVmaW5lIElGX1pFUk8ocCkgYnplcm8ocCwgc2l6ZW9mKCogKHApKSkKIHN0cnVjdCBtaWY2Y3RsIHsKLSBtaWZpX3QgbWlmNmNfbWlmaTsKLSB1bnNpZ25lZCBjaGFyIG1pZjZjX2ZsYWdzOworICBtaWZpX3QgbWlmNmNfbWlmaTsKKyAgdW5zaWduZWQgY2hhciBtaWY2Y19mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciB2aWZjX3RocmVzaG9sZDsKLSBfX3UxNiBtaWY2Y19waWZpOwotIHVuc2lnbmVkIGludCB2aWZjX3JhdGVfbGltaXQ7CisgIHVuc2lnbmVkIGNoYXIgdmlmY190aHJlc2hvbGQ7CisgIF9fdTE2IG1pZjZjX3BpZmk7CisgIHVuc2lnbmVkIGludCB2aWZjX3JhdGVfbGltaXQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUlGRl9SRUdJU1RFUiAweDEKIHN0cnVjdCBtZjZjY3RsIHsKLSBzdHJ1Y3Qgc29ja2FkZHJfaW42IG1mNmNjX29yaWdpbjsKLSBzdHJ1Y3Qgc29ja2FkZHJfaW42IG1mNmNjX21jYXN0Z3JwOworICBzdHJ1Y3Qgc29ja2FkZHJfaW42IG1mNmNjX29yaWdpbjsKKyAgc3RydWN0IHNvY2thZGRyX2luNiBtZjZjY19tY2FzdGdycDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbWlmaV90IG1mNmNjX3BhcmVudDsKLSBzdHJ1Y3QgaWZfc2V0IG1mNmNjX2lmc2V0OworICBtaWZpX3QgbWY2Y2NfcGFyZW50OworICBzdHJ1Y3QgaWZfc2V0IG1mNmNjX2lmc2V0OwogfTsKIHN0cnVjdCBzaW9jX3NnX3JlcTYgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHJfaW42IHNyYzsKLSBzdHJ1Y3Qgc29ja2FkZHJfaW42IGdycDsKLSB1bnNpZ25lZCBsb25nIHBrdGNudDsKLSB1bnNpZ25lZCBsb25nIGJ5dGVjbnQ7CisgIHN0cnVjdCBzb2NrYWRkcl9pbjYgc3JjOworICBzdHJ1Y3Qgc29ja2FkZHJfaW42IGdycDsKKyAgdW5zaWduZWQgbG9uZyBwa3RjbnQ7CisgIHVuc2lnbmVkIGxvbmcgYnl0ZWNudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyB3cm9uZ19pZjsKKyAgdW5zaWduZWQgbG9uZyB3cm9uZ19pZjsKIH07CiBzdHJ1Y3Qgc2lvY19taWZfcmVxNiB7Ci0gbWlmaV90IG1pZmk7CisgIG1pZmlfdCBtaWZpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGljb3VudDsKLSB1bnNpZ25lZCBsb25nIG9jb3VudDsKLSB1bnNpZ25lZCBsb25nIGlieXRlczsKLSB1bnNpZ25lZCBsb25nIG9ieXRlczsKKyAgdW5zaWduZWQgbG9uZyBpY291bnQ7CisgIHVuc2lnbmVkIGxvbmcgb2NvdW50OworICB1bnNpZ25lZCBsb25nIGlieXRlczsKKyAgdW5zaWduZWQgbG9uZyBvYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBtcnQ2bXNnIHsKQEAgLTEwNywxMiArMTA3LDEyIEBACiAjZGVmaW5lIE1SVDZNU0dfV1JPTkdNSUYgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVJUNk1TR19XSE9MRVBLVCAzCi0gX191OCBpbTZfbWJ6OwotIF9fdTggaW02X21zZ3R5cGU7Ci0gX191MTYgaW02X21pZjsKKyAgX191OCBpbTZfbWJ6OworICBfX3U4IGltNl9tc2d0eXBlOworICBfX3UxNiBpbTZfbWlmOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbTZfcGFkOwotIHN0cnVjdCBpbjZfYWRkciBpbTZfc3JjLCBpbTZfZHN0OworICBfX3UzMiBpbTZfcGFkOworICBzdHJ1Y3QgaW42X2FkZHIgaW02X3NyYywgaW02X2RzdDsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21zZG9zX2ZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21zZG9zX2ZzLmgKaW5kZXggZjExOTBhZC4uYmFhMTg1MCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tc2Rvc19mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXNkb3NfZnMuaApAQCAtNTcsMjEgKzU3LDIxIEBACiAjZGVmaW5lIENBU0VfTE9XRVJfRVhUIDE2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBERUxFVEVEX0ZMQUcgMHhlNQotI2RlZmluZSBJU19GUkVFKG4pICghKihuKSB8fCAqKG4pID09IERFTEVURURfRkxBRykKKyNkZWZpbmUgSVNfRlJFRShuKSAoISAqIChuKSB8fCAqIChuKSA9PSBERUxFVEVEX0ZMQUcpCiAjZGVmaW5lIEZBVF9MRk5fTEVOIDI1NQogI2RlZmluZSBNU0RPU19OQU1FIDExCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNU0RPU19TTE9UUyAyMQogI2RlZmluZSBNU0RPU19ET1QgIi4gICAgICAgICAgIgogI2RlZmluZSBNU0RPU19ET1RET1QgIi4uICAgICAgICAgIgotI2RlZmluZSBGQVRfRklSU1RfRU5UKHMsIHgpICgoTVNET1NfU0IocyktPmZhdF9iaXRzID09IDMyID8gMHgwRkZGRkYwMCA6ICAgTVNET1NfU0IocyktPmZhdF9iaXRzID09IDE2ID8gMHhGRjAwIDogMHhGMDApIHwgKHgpKQorI2RlZmluZSBGQVRfRklSU1RfRU5UKHMseCkgKChNU0RPU19TQihzKS0+ZmF0X2JpdHMgPT0gMzIgPyAweDBGRkZGRjAwIDogTVNET1NfU0IocyktPmZhdF9iaXRzID09IDE2ID8gMHhGRjAwIDogMHhGMDApIHwgKHgpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkFUX1NUQVJUX0VOVCAyCiAjZGVmaW5lIE1BWF9GQVQxMiAweEZGNAogI2RlZmluZSBNQVhfRkFUMTYgMHhGRkY0CiAjZGVmaW5lIE1BWF9GQVQzMiAweDBGRkZGRkY2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNQVhfRkFUKHMpIChNU0RPU19TQihzKS0+ZmF0X2JpdHMgPT0gMzIgPyBNQVhfRkFUMzIgOiAgIE1TRE9TX1NCKHMpLT5mYXRfYml0cyA9PSAxNiA/IE1BWF9GQVQxNiA6IE1BWF9GQVQxMikKKyNkZWZpbmUgTUFYX0ZBVChzKSAoTVNET1NfU0IocyktPmZhdF9iaXRzID09IDMyID8gTUFYX0ZBVDMyIDogTVNET1NfU0IocyktPmZhdF9iaXRzID09IDE2ID8gTUFYX0ZBVDE2IDogTUFYX0ZBVDEyKQogI2RlZmluZSBCQURfRkFUMTIgMHhGRjcKICNkZWZpbmUgQkFEX0ZBVDE2IDB4RkZGNwogI2RlZmluZSBCQURfRkFUMzIgMHgwRkZGRkZGNwpAQCAtODYsMTQgKzg2LDE0IEBACiAjZGVmaW5lIEZBVF9GU0lORk9fU0lHMSAweDQxNjE1MjUyCiAjZGVmaW5lIEZBVF9GU0lORk9fU0lHMiAweDYxNDE3MjcyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBJU19GU0lORk8oeCkgKGxlMzJfdG9fY3B1KCh4KS0+c2lnbmF0dXJlMSkgPT0gRkFUX0ZTSU5GT19TSUcxICAgJiYgbGUzMl90b19jcHUoKHgpLT5zaWduYXR1cmUyKSA9PSBGQVRfRlNJTkZPX1NJRzIpCisjZGVmaW5lIElTX0ZTSU5GTyh4KSAobGUzMl90b19jcHUoKHgpLT5zaWduYXR1cmUxKSA9PSBGQVRfRlNJTkZPX1NJRzEgJiYgbGUzMl90b19jcHUoKHgpLT5zaWduYXR1cmUyKSA9PSBGQVRfRlNJTkZPX1NJRzIpCiAjZGVmaW5lIEZBVF9TVEFURV9ESVJUWSAweDAxCiBzdHJ1Y3QgX19mYXRfZGlyZW50IHsKLSBsb25nIGRfaW5vOworICBsb25nIGRfaW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9vZmZfdCBkX29mZjsKLSB1bnNpZ25lZCBzaG9ydCBkX3JlY2xlbjsKLSBjaGFyIGRfbmFtZVsyNTZdOworICBfX2tlcm5lbF9vZmZfdCBkX29mZjsKKyAgdW5zaWduZWQgc2hvcnQgZF9yZWNsZW47CisgIGNoYXIgZF9uYW1lWzI1Nl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVkZBVF9JT0NUTF9SRUFERElSX0JPVEggX0lPUigncicsIDEsIHN0cnVjdCBfX2ZhdF9kaXJlbnRbMl0pCkBAIC0xMDMsOTIgKzEwMyw5MiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkFUX0lPQ1RMX0dFVF9WT0xVTUVfSUQgX0lPUigncicsIDB4MTMsIF9fdTMyKQogc3RydWN0IGZhdF9ib290X3NlY3RvciB7Ci0gX191OCBpZ25vcmVkWzNdOwotIF9fdTggc3lzdGVtX2lkWzhdOworICBfX3U4IGlnbm9yZWRbM107CisgIF9fdTggc3lzdGVtX2lkWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNlY3Rvcl9zaXplWzJdOwotIF9fdTggc2VjX3Blcl9jbHVzOwotIF9fbGUxNiByZXNlcnZlZDsKLSBfX3U4IGZhdHM7CisgIF9fdTggc2VjdG9yX3NpemVbMl07CisgIF9fdTggc2VjX3Blcl9jbHVzOworICBfX2xlMTYgcmVzZXJ2ZWQ7CisgIF9fdTggZmF0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkaXJfZW50cmllc1syXTsKLSBfX3U4IHNlY3RvcnNbMl07Ci0gX191OCBtZWRpYTsKLSBfX2xlMTYgZmF0X2xlbmd0aDsKKyAgX191OCBkaXJfZW50cmllc1syXTsKKyAgX191OCBzZWN0b3JzWzJdOworICBfX3U4IG1lZGlhOworICBfX2xlMTYgZmF0X2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHNlY3NfdHJhY2s7Ci0gX19sZTE2IGhlYWRzOwotIF9fbGUzMiBoaWRkZW47Ci0gX19sZTMyIHRvdGFsX3NlY3Q7CisgIF9fbGUxNiBzZWNzX3RyYWNrOworICBfX2xlMTYgaGVhZHM7CisgIF9fbGUzMiBoaWRkZW47CisgIF9fbGUzMiB0b3RhbF9zZWN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHsKLSBfX3U4IGRyaXZlX251bWJlcjsKLSBfX3U4IHN0YXRlOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggZHJpdmVfbnVtYmVyOworICAgICAgX191OCBzdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzaWduYXR1cmU7Ci0gX191OCB2b2xfaWRbNF07Ci0gX191OCB2b2xfbGFiZWxbMTFdOwotIF9fdTggZnNfdHlwZVs4XTsKKyAgICAgIF9fdTggc2lnbmF0dXJlOworICAgICAgX191OCB2b2xfaWRbNF07CisgICAgICBfX3U4IHZvbF9sYWJlbFsxMV07CisgICAgICBfX3U4IGZzX3R5cGVbOF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gZmF0MTY7Ci0gc3RydWN0IHsKLSBfX2xlMzIgbGVuZ3RoOwotIF9fbGUxNiBmbGFnczsKKyAgICB9IGZhdDE2OworICAgIHN0cnVjdCB7CisgICAgICBfX2xlMzIgbGVuZ3RoOworICAgICAgX19sZTE2IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHZlcnNpb25bMl07Ci0gX19sZTMyIHJvb3RfY2x1c3RlcjsKLSBfX2xlMTYgaW5mb19zZWN0b3I7Ci0gX19sZTE2IGJhY2t1cF9ib290OworICAgICAgX191OCB2ZXJzaW9uWzJdOworICAgICAgX19sZTMyIHJvb3RfY2x1c3RlcjsKKyAgICAgIF9fbGUxNiBpbmZvX3NlY3RvcjsKKyAgICAgIF9fbGUxNiBiYWNrdXBfYm9vdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHJlc2VydmVkMls2XTsKLSBfX3U4IGRyaXZlX251bWJlcjsKLSBfX3U4IHN0YXRlOwotIF9fdTggc2lnbmF0dXJlOworICAgICAgX19sZTE2IHJlc2VydmVkMls2XTsKKyAgICAgIF9fdTggZHJpdmVfbnVtYmVyOworICAgICAgX191OCBzdGF0ZTsKKyAgICAgIF9fdTggc2lnbmF0dXJlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHZvbF9pZFs0XTsKLSBfX3U4IHZvbF9sYWJlbFsxMV07Ci0gX191OCBmc190eXBlWzhdOwotIH0gZmF0MzI7CisgICAgICBfX3U4IHZvbF9pZFs0XTsKKyAgICAgIF9fdTggdm9sX2xhYmVsWzExXTsKKyAgICAgIF9fdTggZnNfdHlwZVs4XTsKKyAgICB9IGZhdDMyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OworICB9OwogfTsKIHN0cnVjdCBmYXRfYm9vdF9mc2luZm8gewotIF9fbGUzMiBzaWduYXR1cmUxOworICBfX2xlMzIgc2lnbmF0dXJlMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIHJlc2VydmVkMVsxMjBdOwotIF9fbGUzMiBzaWduYXR1cmUyOwotIF9fbGUzMiBmcmVlX2NsdXN0ZXJzOwotIF9fbGUzMiBuZXh0X2NsdXN0ZXI7CisgIF9fbGUzMiByZXNlcnZlZDFbMTIwXTsKKyAgX19sZTMyIHNpZ25hdHVyZTI7CisgIF9fbGUzMiBmcmVlX2NsdXN0ZXJzOworICBfX2xlMzIgbmV4dF9jbHVzdGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgcmVzZXJ2ZWQyWzRdOworICBfX2xlMzIgcmVzZXJ2ZWQyWzRdOwogfTsKIHN0cnVjdCBtc2Rvc19kaXJfZW50cnkgewotIF9fdTggbmFtZVtNU0RPU19OQU1FXTsKKyAgX191OCBuYW1lW01TRE9TX05BTUVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGF0dHI7Ci0gX191OCBsY2FzZTsKLSBfX3U4IGN0aW1lX2NzOwotIF9fbGUxNiBjdGltZTsKKyAgX191OCBhdHRyOworICBfX3U4IGxjYXNlOworICBfX3U4IGN0aW1lX2NzOworICBfX2xlMTYgY3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiBjZGF0ZTsKLSBfX2xlMTYgYWRhdGU7Ci0gX19sZTE2IHN0YXJ0aGk7Ci0gX19sZTE2IHRpbWUsZGF0ZSxzdGFydDsKKyAgX19sZTE2IGNkYXRlOworICBfX2xlMTYgYWRhdGU7CisgIF9fbGUxNiBzdGFydGhpOworICBfX2xlMTYgdGltZSwgZGF0ZSwgc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBzaXplOworICBfX2xlMzIgc2l6ZTsKIH07CiBzdHJ1Y3QgbXNkb3NfZGlyX3Nsb3QgewotIF9fdTggaWQ7CisgIF9fdTggaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbmFtZTBfNFsxMF07Ci0gX191OCBhdHRyOwotIF9fdTggcmVzZXJ2ZWQ7Ci0gX191OCBhbGlhc19jaGVja3N1bTsKKyAgX191OCBuYW1lMF80WzEwXTsKKyAgX191OCBhdHRyOworICBfX3U4IHJlc2VydmVkOworICBfX3U4IGFsaWFzX2NoZWNrc3VtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG5hbWU1XzEwWzEyXTsKLSBfX2xlMTYgc3RhcnQ7Ci0gX191OCBuYW1lMTFfMTJbNF07CisgIF9fdTggbmFtZTVfMTBbMTJdOworICBfX2xlMTYgc3RhcnQ7CisgIF9fdTggbmFtZTExXzEyWzRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXNnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L21zZy5oCmluZGV4IDhkN2M2MDYuLmFiOTRlZjYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXNnLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tc2cuaApAQCAtMjcsNDEgKzI3LDQxIEBACiAjZGVmaW5lIE1TR19DT1BZIDA0MDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtc3FpZF9kcyB7Ci0gc3RydWN0IGlwY19wZXJtIG1zZ19wZXJtOwotIHN0cnVjdCBtc2cgKm1zZ19maXJzdDsKLSBzdHJ1Y3QgbXNnICptc2dfbGFzdDsKKyAgc3RydWN0IGlwY19wZXJtIG1zZ19wZXJtOworICBzdHJ1Y3QgbXNnICogbXNnX2ZpcnN0OworICBzdHJ1Y3QgbXNnICogbXNnX2xhc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3RpbWVfdCBtc2dfc3RpbWU7Ci0gX19rZXJuZWxfdGltZV90IG1zZ19ydGltZTsKLSBfX2tlcm5lbF90aW1lX3QgbXNnX2N0aW1lOwotIHVuc2lnbmVkIGxvbmcgbXNnX2xjYnl0ZXM7CisgIF9fa2VybmVsX3RpbWVfdCBtc2dfc3RpbWU7CisgIF9fa2VybmVsX3RpbWVfdCBtc2dfcnRpbWU7CisgIF9fa2VybmVsX3RpbWVfdCBtc2dfY3RpbWU7CisgIHVuc2lnbmVkIGxvbmcgbXNnX2xjYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgbXNnX2xxYnl0ZXM7Ci0gdW5zaWduZWQgc2hvcnQgbXNnX2NieXRlczsKLSB1bnNpZ25lZCBzaG9ydCBtc2dfcW51bTsKLSB1bnNpZ25lZCBzaG9ydCBtc2dfcWJ5dGVzOworICB1bnNpZ25lZCBsb25nIG1zZ19scWJ5dGVzOworICB1bnNpZ25lZCBzaG9ydCBtc2dfY2J5dGVzOworICB1bnNpZ25lZCBzaG9ydCBtc2dfcW51bTsKKyAgdW5zaWduZWQgc2hvcnQgbXNnX3FieXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfaXBjX3BpZF90IG1zZ19sc3BpZDsKLSBfX2tlcm5lbF9pcGNfcGlkX3QgbXNnX2xycGlkOworICBfX2tlcm5lbF9pcGNfcGlkX3QgbXNnX2xzcGlkOworICBfX2tlcm5lbF9pcGNfcGlkX3QgbXNnX2xycGlkOwogfTsKICNpbmNsdWRlIDxhc20vbXNnYnVmLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG1zZ2J1ZiB7Ci0gX19rZXJuZWxfbG9uZ190IG10eXBlOwotIGNoYXIgbXRleHRbMV07CisgIF9fa2VybmVsX2xvbmdfdCBtdHlwZTsKKyAgY2hhciBtdGV4dFsxXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG1zZ2luZm8gewotIGludCBtc2dwb29sOwotIGludCBtc2dtYXA7Ci0gaW50IG1zZ21heDsKKyAgaW50IG1zZ3Bvb2w7CisgIGludCBtc2dtYXA7CisgIGludCBtc2dtYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBtc2dtbmI7Ci0gaW50IG1zZ21uaTsKLSBpbnQgbXNnc3N6OwotIGludCBtc2d0cWw7CisgIGludCBtc2dtbmI7CisgIGludCBtc2dtbmk7CisgIGludCBtc2dzc3o7CisgIGludCBtc2d0cWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IG1zZ3NlZzsKKyAgdW5zaWduZWQgc2hvcnQgbXNnc2VnOwogfTsKICNkZWZpbmUgTVNHX01FTV9TQ0FMRSAzMgogI2RlZmluZSBNU0dNTkkgMTYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbXRpby5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tdGlvLmgKaW5kZXggYjRiZWJmOS4uOWUwNTdkNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tdGlvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9tdGlvLmgKQEAgLTIyLDggKzIyLDggQEAKICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBtdG9wIHsKLSBzaG9ydCBtdF9vcDsKLSBpbnQgbXRfY291bnQ7CisgIHNob3J0IG10X29wOworICBpbnQgbXRfY291bnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTVRSRVNFVCAwCkBAIC02OCwxNSArNjgsMTUgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1UV0VPRkkgMzUKIHN0cnVjdCBtdGdldCB7Ci0gbG9uZyBtdF90eXBlOwotIGxvbmcgbXRfcmVzaWQ7CisgIGxvbmcgbXRfdHlwZTsKKyAgbG9uZyBtdF9yZXNpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbG9uZyBtdF9kc3JlZzsKLSBsb25nIG10X2dzdGF0OwotIGxvbmcgbXRfZXJyZWc7Ci0gX19rZXJuZWxfZGFkZHJfdCBtdF9maWxlbm87CisgIGxvbmcgbXRfZHNyZWc7CisgIGxvbmcgbXRfZ3N0YXQ7CisgIGxvbmcgbXRfZXJyZWc7CisgIF9fa2VybmVsX2RhZGRyX3QgbXRfZmlsZW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9kYWRkcl90IG10X2Jsa25vOworICBfX2tlcm5lbF9kYWRkcl90IG10X2Jsa25vOwogfTsKICNkZWZpbmUgTVRfSVNVTktOT1dOIDB4MDEKICNkZWZpbmUgTVRfSVNRSUMwMiAweDAyCkBAIC0xMDYsNyArMTA2LDcgQEAKICNkZWZpbmUgTVRfSVNGVEFQRV9GTEFHIDB4ODAwMDAwCiBzdHJ1Y3QgbXRwb3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIG10X2Jsa25vOworICBsb25nIG10X2Jsa25vOwogfTsKICNkZWZpbmUgTVRJT0NUT1AgX0lPVygnbScsIDEsIHN0cnVjdCBtdG9wKQogI2RlZmluZSBNVElPQ0dFVCBfSU9SKCdtJywgMiwgc3RydWN0IG10Z2V0KQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uX3IzOTY0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25fcjM5NjQuaAppbmRleCBlMWNmZjMxLi5jOTIyYWNmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25fcjM5NjQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25fcjM5NjQuaApAQCAtMzIsMTggKzMyLDIyIEBACiAjZGVmaW5lIFIzOTY0X1NJR19OT05FIDB4MDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUjM5NjRfVVNFX1NJR0lPIDB4MTAwMAotZW51bSB7UjM5NjRfTVNHX0FDSz0xLCBSMzk2NF9NU0dfREFUQSB9OworZW51bSB7CisgIFIzOTY0X01TR19BQ0sgPSAxLAorICBSMzk2NF9NU0dfREFUQQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CiAjZGVmaW5lIFIzOTY0X01BWF9NU0dfQ09VTlQgMzIKICNkZWZpbmUgUjM5NjRfT0sgMAorI2RlZmluZSBSMzk2NF9UWF9GQUlMIC0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUjM5NjRfVFhfRkFJTCAtMQotI2RlZmluZSBSMzk2NF9PVkVSRkxPVyAtMgorI2RlZmluZSBSMzk2NF9PVkVSRkxPVyAtIDIKIHN0cnVjdCByMzk2NF9jbGllbnRfbWVzc2FnZSB7Ci0gaW50IG1zZ19pZDsKKyAgaW50IG1zZ19pZDsKKyAgaW50IGFyZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGFyZzsKLSBpbnQgZXJyb3JfY29kZTsKKyAgaW50IGVycm9yX2NvZGU7CiB9OwogI2RlZmluZSBSMzk2NF9NVFUgMjU2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uYmQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmJkLmgKaW5kZXggNTM3MzZlOS4uNTg4ZmJkOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uYmQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25iZC5oCkBAIC0xOSwyNyArMTksMjcgQEAKICNpZm5kZWYgX1VBUElMSU5VWF9OQkRfSAogI2RlZmluZSBfVUFQSUxJTlVYX05CRF9ICiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNkZWZpbmUgTkJEX1NFVF9TT0NLIF9JTyggMHhhYiwgMCApCisjZGVmaW5lIE5CRF9TRVRfU09DSyBfSU8oMHhhYiwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE5CRF9TRVRfQkxLU0laRSBfSU8oIDB4YWIsIDEgKQotI2RlZmluZSBOQkRfU0VUX1NJWkUgX0lPKCAweGFiLCAyICkKLSNkZWZpbmUgTkJEX0RPX0lUIF9JTyggMHhhYiwgMyApCi0jZGVmaW5lIE5CRF9DTEVBUl9TT0NLIF9JTyggMHhhYiwgNCApCisjZGVmaW5lIE5CRF9TRVRfQkxLU0laRSBfSU8oMHhhYiwgMSkKKyNkZWZpbmUgTkJEX1NFVF9TSVpFIF9JTygweGFiLCAyKQorI2RlZmluZSBOQkRfRE9fSVQgX0lPKDB4YWIsIDMpCisjZGVmaW5lIE5CRF9DTEVBUl9TT0NLIF9JTygweGFiLCA0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTkJEX0NMRUFSX1FVRSBfSU8oIDB4YWIsIDUgKQotI2RlZmluZSBOQkRfUFJJTlRfREVCVUcgX0lPKCAweGFiLCA2ICkKLSNkZWZpbmUgTkJEX1NFVF9TSVpFX0JMT0NLUyBfSU8oIDB4YWIsIDcgKQotI2RlZmluZSBOQkRfRElTQ09OTkVDVCBfSU8oIDB4YWIsIDggKQorI2RlZmluZSBOQkRfQ0xFQVJfUVVFIF9JTygweGFiLCA1KQorI2RlZmluZSBOQkRfUFJJTlRfREVCVUcgX0lPKDB4YWIsIDYpCisjZGVmaW5lIE5CRF9TRVRfU0laRV9CTE9DS1MgX0lPKDB4YWIsIDcpCisjZGVmaW5lIE5CRF9ESVNDT05ORUNUIF9JTygweGFiLCA4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTkJEX1NFVF9USU1FT1VUIF9JTyggMHhhYiwgOSApCi0jZGVmaW5lIE5CRF9TRVRfRkxBR1MgX0lPKCAweGFiLCAxMCkKKyNkZWZpbmUgTkJEX1NFVF9USU1FT1VUIF9JTygweGFiLCA5KQorI2RlZmluZSBOQkRfU0VUX0ZMQUdTIF9JTygweGFiLCAxMCkKIGVudW0gewotIE5CRF9DTURfUkVBRCA9IDAsCisgIE5CRF9DTURfUkVBRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5CRF9DTURfV1JJVEUgPSAxLAotIE5CRF9DTURfRElTQyA9IDIsCi0gTkJEX0NNRF9GTFVTSCA9IDMsCi0gTkJEX0NNRF9UUklNID0gNAorICBOQkRfQ01EX1dSSVRFID0gMSwKKyAgTkJEX0NNRF9ESVNDID0gMiwKKyAgTkJEX0NNRF9GTFVTSCA9IDMsCisgIE5CRF9DTURfVFJJTSA9IDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBOQkRfRkxBR19IQVNfRkxBR1MgKDEgPDwgMCkKQEAgLTUyLDE4ICs1MiwxOCBAQAogI2RlZmluZSBOQkRfUkVQTFlfTUFHSUMgMHg2NzQ0NjY5OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuYmRfcmVxdWVzdCB7Ci0gX19iZTMyIG1hZ2ljOwotIF9fYmUzMiB0eXBlOwotIGNoYXIgaGFuZGxlWzhdOworICBfX2JlMzIgbWFnaWM7CisgIF9fYmUzMiB0eXBlOworICBjaGFyIGhhbmRsZVs4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTY0IGZyb207Ci0gX19iZTMyIGxlbjsKKyAgX19iZTY0IGZyb207CisgIF9fYmUzMiBsZW47CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IG5iZF9yZXBseSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBtYWdpYzsKLSBfX2JlMzIgZXJyb3I7Ci0gY2hhciBoYW5kbGVbOF07CisgIF9fYmUzMiBtYWdpYzsKKyAgX19iZTMyIGVycm9yOworICBjaGFyIGhhbmRsZVs4XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25jcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uY3AuaAppbmRleCBlMmNkN2Q0Li5iODdjZGJhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25jcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmNwLmgKQEAgLTI3LDE0ICsyNywxNCBAQAogI2RlZmluZSBOQ1BfREVBTExPQ19TTE9UX1JFUVVFU1QgKDB4NTU1NSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmNwX3JlcXVlc3RfaGVhZGVyIHsKLSBfX3UxNiB0eXBlOwotIF9fdTggc2VxdWVuY2U7Ci0gX191OCBjb25uX2xvdzsKKyAgX191MTYgdHlwZTsKKyAgX191OCBzZXF1ZW5jZTsKKyAgX191OCBjb25uX2xvdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0YXNrOwotIF9fdTggY29ubl9oaWdoOwotIF9fdTggZnVuY3Rpb247Ci0gX191OCBkYXRhWzBdOworICBfX3U4IHRhc2s7CisgIF9fdTggY29ubl9oaWdoOworICBfX3U4IGZ1bmN0aW9uOworICBfX3U4IGRhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgTkNQX1JFUExZICgweDMzMzMpCkBAIC00MiwzMSArNDIsMzEgQEAKICNkZWZpbmUgTkNQX1BPU0lUSVZFX0FDSyAoMHg5OTk5KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuY3BfcmVwbHlfaGVhZGVyIHsKLSBfX3UxNiB0eXBlOwotIF9fdTggc2VxdWVuY2U7Ci0gX191OCBjb25uX2xvdzsKKyAgX191MTYgdHlwZTsKKyAgX191OCBzZXF1ZW5jZTsKKyAgX191OCBjb25uX2xvdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0YXNrOwotIF9fdTggY29ubl9oaWdoOwotIF9fdTggY29tcGxldGlvbl9jb2RlOwotIF9fdTggY29ubmVjdGlvbl9zdGF0ZTsKKyAgX191OCB0YXNrOworICBfX3U4IGNvbm5faGlnaDsKKyAgX191OCBjb21wbGV0aW9uX2NvZGU7CisgIF9fdTggY29ubmVjdGlvbl9zdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkYXRhWzBdOworICBfX3U4IGRhdGFbMF07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBOQ1BfVk9MTkFNRV9MRU4gKDE2KQogI2RlZmluZSBOQ1BfTlVNQkVSX09GX1ZPTFVNRVMgKDI1NikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmNwX3ZvbHVtZV9pbmZvIHsKLSBfX3UzMiB0b3RhbF9ibG9ja3M7Ci0gX191MzIgZnJlZV9ibG9ja3M7Ci0gX191MzIgcHVyZ2VhYmxlX2Jsb2NrczsKKyAgX191MzIgdG90YWxfYmxvY2tzOworICBfX3UzMiBmcmVlX2Jsb2NrczsKKyAgX191MzIgcHVyZ2VhYmxlX2Jsb2NrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbm90X3lldF9wdXJnZWFibGVfYmxvY2tzOwotIF9fdTMyIHRvdGFsX2Rpcl9lbnRyaWVzOwotIF9fdTMyIGF2YWlsYWJsZV9kaXJfZW50cmllczsKLSBfX3U4IHNlY3RvcnNfcGVyX2Jsb2NrOworICBfX3UzMiBub3RfeWV0X3B1cmdlYWJsZV9ibG9ja3M7CisgIF9fdTMyIHRvdGFsX2Rpcl9lbnRyaWVzOworICBfX3UzMiBhdmFpbGFibGVfZGlyX2VudHJpZXM7CisgIF9fdTggc2VjdG9yc19wZXJfYmxvY2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgdm9sdW1lX25hbWVbTkNQX1ZPTE5BTUVfTEVOICsgMV07CisgIGNoYXIgdm9sdW1lX25hbWVbTkNQX1ZPTE5BTUVfTEVOICsgMV07CiB9OwogI2RlZmluZSBBUl9SRUFEIChjcHVfdG9fbGUxNigxKSkKICNkZWZpbmUgQVJfV1JJVEUgKGNwdV90b19sZTE2KDIpKQpAQCAtMTMzLDQzICsxMzMsNDMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKIHN0cnVjdCBud19uZnNfaW5mbyB7Ci0gX191MzIgbW9kZTsKLSBfX3UzMiByZGV2OworICBfX3UzMiBtb2RlOworICBfX3UzMiByZGV2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgbndfaW5mb19zdHJ1Y3QgewotIF9fdTMyIHNwYWNlQWxsb2M7Ci0gX19sZTMyIGF0dHJpYnV0ZXM7CisgIF9fdTMyIHNwYWNlQWxsb2M7CisgIF9fbGUzMiBhdHRyaWJ1dGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBmbGFnczsKLSBfX2xlMzIgZGF0YVN0cmVhbVNpemU7Ci0gX19sZTMyIHRvdGFsU3RyZWFtU2l6ZTsKLSBfX3UxNiBudW1iZXJPZlN0cmVhbXM7CisgIF9fdTE2IGZsYWdzOworICBfX2xlMzIgZGF0YVN0cmVhbVNpemU7CisgIF9fbGUzMiB0b3RhbFN0cmVhbVNpemU7CisgIF9fdTE2IG51bWJlck9mU3RyZWFtczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IGNyZWF0aW9uVGltZTsKLSBfX2xlMTYgY3JlYXRpb25EYXRlOwotIF9fdTMyIGNyZWF0b3JJRDsKLSBfX2xlMTYgbW9kaWZ5VGltZTsKKyAgX19sZTE2IGNyZWF0aW9uVGltZTsKKyAgX19sZTE2IGNyZWF0aW9uRGF0ZTsKKyAgX191MzIgY3JlYXRvcklEOworICBfX2xlMTYgbW9kaWZ5VGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IG1vZGlmeURhdGU7Ci0gX191MzIgbW9kaWZpZXJJRDsKLSBfX2xlMTYgbGFzdEFjY2Vzc0RhdGU7Ci0gX191MTYgYXJjaGl2ZVRpbWU7CisgIF9fbGUxNiBtb2RpZnlEYXRlOworICBfX3UzMiBtb2RpZmllcklEOworICBfX2xlMTYgbGFzdEFjY2Vzc0RhdGU7CisgIF9fdTE2IGFyY2hpdmVUaW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBhcmNoaXZlRGF0ZTsKLSBfX3UzMiBhcmNoaXZlcklEOwotIF9fdTE2IGluaGVyaXRlZFJpZ2h0c01hc2s7Ci0gX19sZTMyIGRpckVudE51bTsKKyAgX191MTYgYXJjaGl2ZURhdGU7CisgIF9fdTMyIGFyY2hpdmVySUQ7CisgIF9fdTE2IGluaGVyaXRlZFJpZ2h0c01hc2s7CisgIF9fbGUzMiBkaXJFbnROdW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBEb3NEaXJOdW07Ci0gX191MzIgdm9sTnVtYmVyOwotIF9fdTMyIEVBRGF0YVNpemU7Ci0gX191MzIgRUFLZXlDb3VudDsKKyAgX19sZTMyIERvc0Rpck51bTsKKyAgX191MzIgdm9sTnVtYmVyOworICBfX3UzMiBFQURhdGFTaXplOworICBfX3UzMiBFQUtleUNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBFQUtleVNpemU7Ci0gX191MzIgTlNDcmVhdG9yOwotIF9fdTggbmFtZUxlbjsKLSBfX3U4IGVudHJ5TmFtZVsyNTZdOworICBfX3UzMiBFQUtleVNpemU7CisgIF9fdTMyIE5TQ3JlYXRvcjsKKyAgX191OCBuYW1lTGVuOworICBfX3U4IGVudHJ5TmFtZVsyNTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIERNX0FUVFJJQlVURVMgKGNwdV90b19sZTMyKDB4MDIpKQpAQCAtMTg5LDMwICsxODksMzAgQEAKICNkZWZpbmUgRE1fSU5IRVJJVEVEX1JJR0hUU19NQVNLIChjcHVfdG9fbGUzMigweDEwMDApKQogI2RlZmluZSBETV9NQVhJTVVNX1NQQUNFIChjcHVfdG9fbGUzMigweDIwMDApKQogc3RydWN0IG53X21vZGlmeV9kb3NfaW5mbyB7Ci0gX19sZTMyIGF0dHJpYnV0ZXM7CisgIF9fbGUzMiBhdHRyaWJ1dGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgY3JlYXRpb25EYXRlOwotIF9fbGUxNiBjcmVhdGlvblRpbWU7Ci0gX191MzIgY3JlYXRvcklEOwotIF9fbGUxNiBtb2RpZnlEYXRlOworICBfX2xlMTYgY3JlYXRpb25EYXRlOworICBfX2xlMTYgY3JlYXRpb25UaW1lOworICBfX3UzMiBjcmVhdG9ySUQ7CisgIF9fbGUxNiBtb2RpZnlEYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgbW9kaWZ5VGltZTsKLSBfX3UzMiBtb2RpZmllcklEOwotIF9fdTE2IGFyY2hpdmVEYXRlOwotIF9fdTE2IGFyY2hpdmVUaW1lOworICBfX2xlMTYgbW9kaWZ5VGltZTsKKyAgX191MzIgbW9kaWZpZXJJRDsKKyAgX191MTYgYXJjaGl2ZURhdGU7CisgIF9fdTE2IGFyY2hpdmVUaW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhcmNoaXZlcklEOwotIF9fbGUxNiBsYXN0QWNjZXNzRGF0ZTsKLSBfX3UxNiBpbmhlcml0YW5jZUdyYW50TWFzazsKLSBfX3UxNiBpbmhlcml0YW5jZVJldm9rZU1hc2s7CisgIF9fdTMyIGFyY2hpdmVySUQ7CisgIF9fbGUxNiBsYXN0QWNjZXNzRGF0ZTsKKyAgX191MTYgaW5oZXJpdGFuY2VHcmFudE1hc2s7CisgIF9fdTE2IGluaGVyaXRhbmNlUmV2b2tlTWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4aW11bVNwYWNlOworICBfX3UzMiBtYXhpbXVtU3BhY2U7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IG53X3NlYXJjaF9zZXF1ZW5jZSB7Ci0gX191OCB2b2xOdW1iZXI7CisgIF9fdTggdm9sTnVtYmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkaXJCYXNlOwotIF9fdTMyIHNlcXVlbmNlOworICBfX3UzMiBkaXJCYXNlOworICBfX3UzMiBzZXF1ZW5jZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25jcF9mcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uY3BfZnMuaAppbmRleCA4NzkyMTQ0Li5iNGNlYTEzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25jcF9mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmNwX2ZzLmgKQEAgLTI3LDEyMiArMjcsMTE0IEBACiAjaW5jbHVkZSA8bGludXgvbmNwX25vLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5jcF9pb2N0bF9yZXF1ZXN0IHsKLSB1bnNpZ25lZCBpbnQgZnVuY3Rpb247Ci0gdW5zaWduZWQgaW50IHNpemU7Ci0gY2hhciBfX3VzZXIgKmRhdGE7CisgIHVuc2lnbmVkIGludCBmdW5jdGlvbjsKKyAgdW5zaWduZWQgaW50IHNpemU7CisgIGNoYXIgX191c2VyICogZGF0YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG5jcF9mc19pbmZvIHsKLSBpbnQgdmVyc2lvbjsKLSBzdHJ1Y3Qgc29ja2FkZHJfaXB4IGFkZHI7CisgIGludCB2ZXJzaW9uOworICBzdHJ1Y3Qgc29ja2FkZHJfaXB4IGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3VpZF90IG1vdW50ZWRfdWlkOwotIGludCBjb25uZWN0aW9uOwotIGludCBidWZmZXJfc2l6ZTsKLSBpbnQgdm9sdW1lX251bWJlcjsKKyAgX19rZXJuZWxfdWlkX3QgbW91bnRlZF91aWQ7CisgIGludCBjb25uZWN0aW9uOworICBpbnQgYnVmZmVyX3NpemU7CisgIGludCB2b2x1bWVfbnVtYmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgZGlyZWN0b3J5X2lkOworICBfX2xlMzIgZGlyZWN0b3J5X2lkOwogfTsKIHN0cnVjdCBuY3BfZnNfaW5mb192MiB7Ci0gaW50IHZlcnNpb247CisgIGludCB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIG1vdW50ZWRfdWlkOwotIHVuc2lnbmVkIGludCBjb25uZWN0aW9uOwotIHVuc2lnbmVkIGludCBidWZmZXJfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgdm9sdW1lX251bWJlcjsKKyAgdW5zaWduZWQgbG9uZyBtb3VudGVkX3VpZDsKKyAgdW5zaWduZWQgaW50IGNvbm5lY3Rpb247CisgIHVuc2lnbmVkIGludCBidWZmZXJfc2l6ZTsKKyAgdW5zaWduZWQgaW50IHZvbHVtZV9udW1iZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBkaXJlY3RvcnlfaWQ7Ci0gX191MzIgZHVtbXkxOwotIF9fdTMyIGR1bW15MjsKLSBfX3UzMiBkdW1teTM7CisgIF9fbGUzMiBkaXJlY3RvcnlfaWQ7CisgIF9fdTMyIGR1bW15MTsKKyAgX191MzIgZHVtbXkyOworICBfX3UzMiBkdW1teTM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLXN0cnVjdCBuY3Bfc2lnbl9pbml0Ci17Ci0gY2hhciBzaWduX3Jvb3RbOF07CitzdHJ1Y3QgbmNwX3NpZ25faW5pdCB7CisgIGNoYXIgc2lnbl9yb290WzhdOworICBjaGFyIHNpZ25fbGFzdFsxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc2lnbl9sYXN0WzE2XTsKIH07Ci1zdHJ1Y3QgbmNwX2xvY2tfaW9jdGwKLXsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgbmNwX2xvY2tfaW9jdGwgewogI2RlZmluZSBOQ1BfTE9DS19MT0cgMAogI2RlZmluZSBOQ1BfTE9DS19TSCAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOQ1BfTE9DS19FWCAyCiAjZGVmaW5lIE5DUF9MT0NLX0NMRUFSIDI1NgorICBpbnQgY21kOworICBpbnQgb3JpZ2luOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY21kOwotIGludCBvcmlnaW47Ci0gdW5zaWduZWQgaW50IG9mZnNldDsKLSB1bnNpZ25lZCBpbnQgbGVuZ3RoOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IG9mZnNldDsKKyAgdW5zaWduZWQgaW50IGxlbmd0aDsKICNkZWZpbmUgTkNQX0xPQ0tfREVGQVVMVF9USU1FT1VUIDE4CiAjZGVmaW5lIE5DUF9MT0NLX01BWF9USU1FT1VUIDE4MAotIGludCB0aW1lb3V0OwotfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgbmNwX3NldHJvb3RfaW9jdGwKLXsKLSBpbnQgdm9sTnVtYmVyOwotIGludCBuYW1lc3BhY2U7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBkaXJFbnROdW07CisgIGludCB0aW1lb3V0OwogfTsKLXN0cnVjdCBuY3Bfb2JqZWN0bmFtZV9pb2N0bAoteworc3RydWN0IG5jcF9zZXRyb290X2lvY3RsIHsKKyAgaW50IHZvbE51bWJlcjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBuYW1lc3BhY2U7CisgIF9fbGUzMiBkaXJFbnROdW07Cit9Oworc3RydWN0IG5jcF9vYmplY3RuYW1lX2lvY3RsIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5DUF9BVVRIX05PTkUgMHgwMAogI2RlZmluZSBOQ1BfQVVUSF9CSU5EIDB4MzEKICNkZWZpbmUgTkNQX0FVVEhfTkRTIDB4MzIKLSBpbnQgYXV0aF90eXBlOworICBpbnQgYXV0aF90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplX3Qgb2JqZWN0X25hbWVfbGVuOwotIHZvaWQgX191c2VyICogb2JqZWN0X25hbWU7CisgIHNpemVfdCBvYmplY3RfbmFtZV9sZW47CisgIHZvaWQgX191c2VyICogb2JqZWN0X25hbWU7CiB9Owotc3RydWN0IG5jcF9wcml2YXRlZGF0YV9pb2N0bAorc3RydWN0IG5jcF9wcml2YXRlZGF0YV9pb2N0bCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIHNpemVfdCBsZW47Ci0gdm9pZCBfX3VzZXIgKiBkYXRhOworICBzaXplX3QgbGVuOworICB2b2lkIF9fdXNlciAqIGRhdGE7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkNQX0lPQ1NOQU1FX0xFTiAyMAotc3RydWN0IG5jcF9ubHNfaW9jdGwKLXsKLSB1bnNpZ25lZCBjaGFyIGNvZGVwYWdlW05DUF9JT0NTTkFNRV9MRU4rMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgaW9jaGFyc2V0W05DUF9JT0NTTkFNRV9MRU4rMV07CitzdHJ1Y3QgbmNwX25sc19pb2N0bCB7CisgIHVuc2lnbmVkIGNoYXIgY29kZXBhZ2VbTkNQX0lPQ1NOQU1FX0xFTiArIDFdOworICB1bnNpZ25lZCBjaGFyIGlvY2hhcnNldFtOQ1BfSU9DU05BTUVfTEVOICsgMV07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkNQX0lPQ19OQ1BSRVFVRVNUIF9JT1IoJ24nLCAxLCBzdHJ1Y3QgbmNwX2lvY3RsX3JlcXVlc3QpCiAjZGVmaW5lIE5DUF9JT0NfR0VUTU9VTlRVSUQgX0lPVygnbicsIDIsIF9fa2VybmVsX29sZF91aWRfdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5DUF9JT0NfR0VUTU9VTlRVSUQyIF9JT1coJ24nLCAyLCB1bnNpZ25lZCBsb25nKQogI2RlZmluZSBOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIF9JTygnbicsIDMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOQ1BfR0VUX0ZTX0lORk9fVkVSU0lPTiAoMSkKICNkZWZpbmUgTkNQX0lPQ19HRVRfRlNfSU5GTyBfSU9XUignbicsIDQsIHN0cnVjdCBuY3BfZnNfaW5mbykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5DUF9HRVRfRlNfSU5GT19WRVJTSU9OX1YyICgyKQogI2RlZmluZSBOQ1BfSU9DX0dFVF9GU19JTkZPX1YyIF9JT1dSKCduJywgNCwgc3RydWN0IG5jcF9mc19pbmZvX3YyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkNQX0lPQ19TSUdOX0lOSVQgX0lPUignbicsIDUsIHN0cnVjdCBuY3Bfc2lnbl9pbml0KQogI2RlZmluZSBOQ1BfSU9DX1NJR05fV0FOVEVEIF9JT1IoJ24nLCA2LCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOQ1BfSU9DX1NFVF9TSUdOX1dBTlRFRCBfSU9XKCduJywgNiwgaW50KQogI2RlZmluZSBOQ1BfSU9DX0xPQ0tVTkxPQ0sgX0lPUignbicsIDcsIHN0cnVjdCBuY3BfbG9ja19pb2N0bCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5DUF9JT0NfR0VUUk9PVCBfSU9XKCduJywgOCwgc3RydWN0IG5jcF9zZXRyb290X2lvY3RsKQogI2RlZmluZSBOQ1BfSU9DX1NFVFJPT1QgX0lPUignbicsIDgsIHN0cnVjdCBuY3Bfc2V0cm9vdF9pb2N0bCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5DUF9JT0NfR0VUT0JKRUNUTkFNRSBfSU9XUignbicsIDksIHN0cnVjdCBuY3Bfb2JqZWN0bmFtZV9pb2N0bCkKICNkZWZpbmUgTkNQX0lPQ19TRVRPQkpFQ1ROQU1FIF9JT1IoJ24nLCA5LCBzdHJ1Y3QgbmNwX29iamVjdG5hbWVfaW9jdGwpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOQ1BfSU9DX0dFVFBSSVZBVEVEQVRBIF9JT1dSKCduJywgMTAsIHN0cnVjdCBuY3BfcHJpdmF0ZWRhdGFfaW9jdGwpCiAjZGVmaW5lIE5DUF9JT0NfU0VUUFJJVkFURURBVEEgX0lPUignbicsIDEwLCBzdHJ1Y3QgbmNwX3ByaXZhdGVkYXRhX2lvY3RsKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkNQX0lPQ19HRVRDSEFSU0VUUyBfSU9XUignbicsIDExLCBzdHJ1Y3QgbmNwX25sc19pb2N0bCkKICNkZWZpbmUgTkNQX0lPQ19TRVRDSEFSU0VUUyBfSU9SKCduJywgMTEsIHN0cnVjdCBuY3BfbmxzX2lvY3RsKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkNQX0lPQ19HRVRERU5UUllUVEwgX0lPVygnbicsIDEyLCBfX3UzMikKICNkZWZpbmUgTkNQX0lPQ19TRVRERU5UUllUVEwgX0lPUignbicsIDEyLCBfX3UzMikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5DUF9QQUNLRVRfU0laRSA0MDcwCiAjZGVmaW5lIE5DUF9NQVhQQVRITEVOIDI1NQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkNQX01BWE5BTUVMRU4gMTQKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmNwX21vdW50LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25jcF9tb3VudC5oCmluZGV4IGVlM2U4NGYuLjA2MWZjOWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmNwX21vdW50LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uY3BfbW91bnQuaApAQCAtMzMsMzggKzMzLDM4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOQ1BfTU9VTlRfTkZTX0VYVFJBUyAweDAwODAKIHN0cnVjdCBuY3BfbW91bnRfZGF0YSB7Ci0gaW50IHZlcnNpb247Ci0gdW5zaWduZWQgaW50IG5jcF9mZDsKKyAgaW50IHZlcnNpb247CisgIHVuc2lnbmVkIGludCBuY3BfZmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3VpZF90IG1vdW50ZWRfdWlkOwotIF9fa2VybmVsX3BpZF90IHdkb2dfcGlkOwotIHVuc2lnbmVkIGNoYXIgbW91bnRlZF92b2xbTkNQX1ZPTE5BTUVfTEVOICsgMV07Ci0gdW5zaWduZWQgaW50IHRpbWVfb3V0OworICBfX2tlcm5lbF91aWRfdCBtb3VudGVkX3VpZDsKKyAgX19rZXJuZWxfcGlkX3Qgd2RvZ19waWQ7CisgIHVuc2lnbmVkIGNoYXIgbW91bnRlZF92b2xbTkNQX1ZPTE5BTUVfTEVOICsgMV07CisgIHVuc2lnbmVkIGludCB0aW1lX291dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHJldHJ5X2NvdW50OwotIHVuc2lnbmVkIGludCBmbGFnczsKLSBfX2tlcm5lbF91aWRfdCB1aWQ7Ci0gX19rZXJuZWxfZ2lkX3QgZ2lkOworICB1bnNpZ25lZCBpbnQgcmV0cnlfY291bnQ7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgX19rZXJuZWxfdWlkX3QgdWlkOworICBfX2tlcm5lbF9naWRfdCBnaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX21vZGVfdCBmaWxlX21vZGU7Ci0gX19rZXJuZWxfbW9kZV90IGRpcl9tb2RlOworICBfX2tlcm5lbF9tb2RlX3QgZmlsZV9tb2RlOworICBfX2tlcm5lbF9tb2RlX3QgZGlyX21vZGU7CiB9OwogI2RlZmluZSBOQ1BfTU9VTlRfVkVSU0lPTl9WNCAoNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmNwX21vdW50X2RhdGFfdjQgewotIGludCB2ZXJzaW9uOwotIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0gdW5zaWduZWQgbG9uZyBtb3VudGVkX3VpZDsKKyAgaW50IHZlcnNpb247CisgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CisgIHVuc2lnbmVkIGxvbmcgbW91bnRlZF91aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgd2RvZ19waWQ7Ci0gdW5zaWduZWQgaW50IG5jcF9mZDsKLSB1bnNpZ25lZCBpbnQgdGltZV9vdXQ7Ci0gdW5zaWduZWQgaW50IHJldHJ5X2NvdW50OworICBsb25nIHdkb2dfcGlkOworICB1bnNpZ25lZCBpbnQgbmNwX2ZkOworICB1bnNpZ25lZCBpbnQgdGltZV9vdXQ7CisgIHVuc2lnbmVkIGludCByZXRyeV9jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyB1aWQ7Ci0gdW5zaWduZWQgbG9uZyBnaWQ7Ci0gdW5zaWduZWQgbG9uZyBmaWxlX21vZGU7Ci0gdW5zaWduZWQgbG9uZyBkaXJfbW9kZTsKKyAgdW5zaWduZWQgbG9uZyB1aWQ7CisgIHVuc2lnbmVkIGxvbmcgZ2lkOworICB1bnNpZ25lZCBsb25nIGZpbGVfbW9kZTsKKyAgdW5zaWduZWQgbG9uZyBkaXJfbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBOQ1BfTU9VTlRfVkVSU0lPTl9WNSAoNSkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmNwX25vLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25jcF9uby5oCmluZGV4IDk2NjllODguLjE3NTE0MTMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmNwX25vLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uY3Bfbm8uaApAQCAtMjcsMTIgKzI3LDEyIEBACiAjZGVmaW5lIGFBUkNIIChfX2NwdV90b19sZTMyKDB4MjApKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgYVNIQVJFRCAoX19jcHVfdG9fbGUzMigweDgwKSkKLSNkZWZpbmUgYURPTlRTVUJBTExPQ0FURSAoX19jcHVfdG9fbGUzMigxTDw8MTEpKQotI2RlZmluZSBhVFJBTlNBQ1RJT05BTCAoX19jcHVfdG9fbGUzMigxTDw8MTIpKQotI2RlZmluZSBhUFVSR0UgKF9fY3B1X3RvX2xlMzIoMUw8PDE2KSkKKyNkZWZpbmUgYURPTlRTVUJBTExPQ0FURSAoX19jcHVfdG9fbGUzMigxTCA8PCAxMSkpCisjZGVmaW5lIGFUUkFOU0FDVElPTkFMIChfX2NwdV90b19sZTMyKDFMIDw8IDEyKSkKKyNkZWZpbmUgYVBVUkdFIChfX2NwdV90b19sZTMyKDFMIDw8IDE2KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIGFSRU5BTUVJTkhJQklUIChfX2NwdV90b19sZTMyKDFMPDwxNykpCi0jZGVmaW5lIGFERUxFVEVJTkhJQklUIChfX2NwdV90b19sZTMyKDFMPDwxOCkpCi0jZGVmaW5lIGFET05UQ09NUFJFU1MgKF9fY3B1X3RvX2xlMzIoMUw8PDI3KSkKKyNkZWZpbmUgYVJFTkFNRUlOSElCSVQgKF9fY3B1X3RvX2xlMzIoMUwgPDwgMTcpKQorI2RlZmluZSBhREVMRVRFSU5ISUJJVCAoX19jcHVfdG9fbGUzMigxTCA8PCAxOCkpCisjZGVmaW5lIGFET05UQ09NUFJFU1MgKF9fY3B1X3RvX2xlMzIoMUwgPDwgMjcpKQogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZWlnaGJvdXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmVpZ2hib3VyLmgKaW5kZXggZDg0ZGUwYy4uYzczYzdmNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZWlnaGJvdXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25laWdoYm91ci5oCkBAIC0yMiwxMzMgKzIyLDEzNCBAQAogI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmRtc2cgewotIF9fdTggbmRtX2ZhbWlseTsKLSBfX3U4IG5kbV9wYWQxOwotIF9fdTE2IG5kbV9wYWQyOworICBfX3U4IG5kbV9mYW1pbHk7CisgIF9fdTggbmRtX3BhZDE7CisgIF9fdTE2IG5kbV9wYWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBuZG1faWZpbmRleDsKLSBfX3UxNiBuZG1fc3RhdGU7Ci0gX191OCBuZG1fZmxhZ3M7Ci0gX191OCBuZG1fdHlwZTsKKyAgX19zMzIgbmRtX2lmaW5kZXg7CisgIF9fdTE2IG5kbV9zdGF0ZTsKKyAgX191OCBuZG1fZmxhZ3M7CisgIF9fdTggbmRtX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIE5EQV9VTlNQRUMsCi0gTkRBX0RTVCwKKyAgTkRBX1VOU1BFQywKKyAgTkRBX0RTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRBX0xMQUREUiwKLSBOREFfQ0FDSEVJTkZPLAotIE5EQV9QUk9CRVMsCi0gTkRBX1ZMQU4sCisgIE5EQV9MTEFERFIsCisgIE5EQV9DQUNIRUlORk8sCisgIE5EQV9QUk9CRVMsCisgIE5EQV9WTEFOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOREFfUE9SVCwKLSBOREFfVk5JLAotIE5EQV9JRklOREVYLAotIF9fTkRBX01BWAorICBOREFfUE9SVCwKKyAgTkRBX1ZOSSwKKyAgTkRBX0lGSU5ERVgsCisgIE5EQV9NQVNURVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX05EQV9NQVgKIH07CiAjZGVmaW5lIE5EQV9NQVggKF9fTkRBX01BWCAtIDEpCiAjZGVmaW5lIE5URl9VU0UgMHgwMQotI2RlZmluZSBOVEZfUFJPWFkgMHgwOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTlRGX1BST1hZIDB4MDgKICNkZWZpbmUgTlRGX1JPVVRFUiAweDgwCiAjZGVmaW5lIE5URl9TRUxGIDB4MDIKICNkZWZpbmUgTlRGX01BU1RFUiAweDA0Ci0jZGVmaW5lIE5VRF9JTkNPTVBMRVRFIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE5VRF9JTkNPTVBMRVRFIDB4MDEKICNkZWZpbmUgTlVEX1JFQUNIQUJMRSAweDAyCiAjZGVmaW5lIE5VRF9TVEFMRSAweDA0CiAjZGVmaW5lIE5VRF9ERUxBWSAweDA4Ci0jZGVmaW5lIE5VRF9QUk9CRSAweDEwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBOVURfUFJPQkUgMHgxMAogI2RlZmluZSBOVURfRkFJTEVEIDB4MjAKICNkZWZpbmUgTlVEX05PQVJQIDB4NDAKICNkZWZpbmUgTlVEX1BFUk1BTkVOVCAweDgwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOVURfTk9ORSAweDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5kYV9jYWNoZWluZm8gewotIF9fdTMyIG5kbV9jb25maXJtZWQ7Ci0gX191MzIgbmRtX3VzZWQ7Ci0gX191MzIgbmRtX3VwZGF0ZWQ7CisgIF9fdTMyIG5kbV9jb25maXJtZWQ7CisgIF9fdTMyIG5kbV91c2VkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBuZG1fcmVmY250OworICBfX3UzMiBuZG1fdXBkYXRlZDsKKyAgX191MzIgbmRtX3JlZmNudDsKIH07CiBzdHJ1Y3QgbmR0X3N0YXRzIHsKLSBfX3U2NCBuZHRzX2FsbG9jczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbmR0c19kZXN0cm95czsKLSBfX3U2NCBuZHRzX2hhc2hfZ3Jvd3M7Ci0gX191NjQgbmR0c19yZXNfZmFpbGVkOwotIF9fdTY0IG5kdHNfbG9va3VwczsKKyAgX191NjQgbmR0c19hbGxvY3M7CisgIF9fdTY0IG5kdHNfZGVzdHJveXM7CisgIF9fdTY0IG5kdHNfaGFzaF9ncm93czsKKyAgX191NjQgbmR0c19yZXNfZmFpbGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBuZHRzX2hpdHM7Ci0gX191NjQgbmR0c19yY3ZfcHJvYmVzX21jYXN0OwotIF9fdTY0IG5kdHNfcmN2X3Byb2Jlc191Y2FzdDsKLSBfX3U2NCBuZHRzX3BlcmlvZGljX2djX3J1bnM7CisgIF9fdTY0IG5kdHNfbG9va3VwczsKKyAgX191NjQgbmR0c19oaXRzOworICBfX3U2NCBuZHRzX3Jjdl9wcm9iZXNfbWNhc3Q7CisgIF9fdTY0IG5kdHNfcmN2X3Byb2Jlc191Y2FzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbmR0c19mb3JjZWRfZ2NfcnVuczsKKyAgX191NjQgbmR0c19wZXJpb2RpY19nY19ydW5zOworICBfX3U2NCBuZHRzX2ZvcmNlZF9nY19ydW5zOwogfTsKIGVudW0gewotIE5EVFBBX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRUUEFfSUZJTkRFWCwKLSBORFRQQV9SRUZDTlQsCi0gTkRUUEFfUkVBQ0hBQkxFX1RJTUUsCi0gTkRUUEFfQkFTRV9SRUFDSEFCTEVfVElNRSwKKyAgTkRUUEFfVU5TUEVDLAorICBORFRQQV9JRklOREVYLAorICBORFRQQV9SRUZDTlQsCisgIE5EVFBBX1JFQUNIQUJMRV9USU1FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORFRQQV9SRVRSQU5TX1RJTUUsCi0gTkRUUEFfR0NfU1RBTEVUSU1FLAotIE5EVFBBX0RFTEFZX1BST0JFX1RJTUUsCi0gTkRUUEFfUVVFVUVfTEVOLAorICBORFRQQV9CQVNFX1JFQUNIQUJMRV9USU1FLAorICBORFRQQV9SRVRSQU5TX1RJTUUsCisgIE5EVFBBX0dDX1NUQUxFVElNRSwKKyAgTkRUUEFfREVMQVlfUFJPQkVfVElNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRUUEFfQVBQX1BST0JFUywKLSBORFRQQV9VQ0FTVF9QUk9CRVMsCi0gTkRUUEFfTUNBU1RfUFJPQkVTLAotIE5EVFBBX0FOWUNBU1RfREVMQVksCisgIE5EVFBBX1FVRVVFX0xFTiwKKyAgTkRUUEFfQVBQX1BST0JFUywKKyAgTkRUUEFfVUNBU1RfUFJPQkVTLAorICBORFRQQV9NQ0FTVF9QUk9CRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5EVFBBX1BST1hZX0RFTEFZLAotIE5EVFBBX1BST1hZX1FMRU4sCi0gTkRUUEFfTE9DS1RJTUUsCi0gTkRUUEFfUVVFVUVfTEVOQllURVMsCisgIE5EVFBBX0FOWUNBU1RfREVMQVksCisgIE5EVFBBX1BST1hZX0RFTEFZLAorICBORFRQQV9QUk9YWV9RTEVOLAorICBORFRQQV9MT0NLVElNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19ORFRQQV9NQVgKKyAgTkRUUEFfUVVFVUVfTEVOQllURVMsCisgIF9fTkRUUEFfTUFYCiB9OwogI2RlZmluZSBORFRQQV9NQVggKF9fTkRUUEFfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmR0bXNnIHsKKyAgX191OCBuZHRtX2ZhbWlseTsKKyAgX191OCBuZHRtX3BhZDE7CisgIF9fdTE2IG5kdG1fcGFkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBuZHRtX2ZhbWlseTsKLSBfX3U4IG5kdG1fcGFkMTsKLSBfX3UxNiBuZHRtX3BhZDI7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuZHRfY29uZmlnIHsKLSBfX3UxNiBuZHRjX2tleV9sZW47Ci0gX191MTYgbmR0Y19lbnRyeV9zaXplOwotIF9fdTMyIG5kdGNfZW50cmllczsKKyAgX191MTYgbmR0Y19rZXlfbGVuOworICBfX3UxNiBuZHRjX2VudHJ5X3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG5kdGNfbGFzdF9mbHVzaDsKLSBfX3UzMiBuZHRjX2xhc3RfcmFuZDsKLSBfX3UzMiBuZHRjX2hhc2hfcm5kOwotIF9fdTMyIG5kdGNfaGFzaF9tYXNrOworICBfX3UzMiBuZHRjX2VudHJpZXM7CisgIF9fdTMyIG5kdGNfbGFzdF9mbHVzaDsKKyAgX191MzIgbmR0Y19sYXN0X3JhbmQ7CisgIF9fdTMyIG5kdGNfaGFzaF9ybmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG5kdGNfaGFzaF9jaGFpbl9nYzsKLSBfX3UzMiBuZHRjX3Byb3h5X3FsZW47CisgIF9fdTMyIG5kdGNfaGFzaF9tYXNrOworICBfX3UzMiBuZHRjX2hhc2hfY2hhaW5fZ2M7CisgIF9fdTMyIG5kdGNfcHJveHlfcWxlbjsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7CisgIE5EVEFfVU5TUEVDLAorICBORFRBX05BTUUsCisgIE5EVEFfVEhSRVNIMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRUQV9VTlNQRUMsCi0gTkRUQV9OQU1FLAotIE5EVEFfVEhSRVNIMSwKLSBORFRBX1RIUkVTSDIsCisgIE5EVEFfVEhSRVNIMiwKKyAgTkRUQV9USFJFU0gzLAorICBORFRBX0NPTkZJRywKKyAgTkRUQV9QQVJNUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRUQV9USFJFU0gzLAotIE5EVEFfQ09ORklHLAotIE5EVEFfUEFSTVMsCi0gTkRUQV9TVEFUUywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRUQV9HQ19JTlRFUlZBTCwKLSBfX05EVEFfTUFYCisgIE5EVEFfU1RBVFMsCisgIE5EVEFfR0NfSU5URVJWQUwsCisgIF9fTkRUQV9NQVgKIH07Ci0jZGVmaW5lIE5EVEFfTUFYIChfX05EVEFfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE5EVEFfTUFYIChfX05EVEFfTUFYIC0gMSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0LmgKaW5kZXggMGRjMTQ4MS4uMGVmYjY4ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldC5oCkBAIC00OCwxMiArNDgsMTIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNZU19TRU5ETU1TRyAyMAogdHlwZWRlZiBlbnVtIHsKLSBTU19GUkVFID0gMCwKLSBTU19VTkNPTk5FQ1RFRCwKKyAgU1NfRlJFRSA9IDAsCisgIFNTX1VOQ09OTkVDVEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTU19DT05ORUNUSU5HLAotIFNTX0NPTk5FQ1RFRCwKLSBTU19ESVNDT05ORUNUSU5HCisgIFNTX0NPTk5FQ1RJTkcsCisgIFNTX0NPTk5FQ1RFRCwKKyAgU1NfRElTQ09OTkVDVElORwogfSBzb2NrZXRfc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX1NPX0FDQ0VQVENPTiAoMSA8PCAxNikKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0X2Ryb3Btb24uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0X2Ryb3Btb24uaAppbmRleCBhZjBiOTc2Li5hZWYxODEzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldF9kcm9wbW9uLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRfZHJvcG1vbi5oCkBAIC0yMiw0NyArMjIsNDggQEAKICNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5ldF9kbV9kcm9wX3BvaW50IHsKLSBfX3U4IHBjWzhdOwotIF9fdTMyIGNvdW50OworICBfX3U4IHBjWzhdOworICBfX3UzMiBjb3VudDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBpc19kcm9wX3BvaW50X2h3KHgpIGRvIHsgIGludCBfX19faSwgX19fX2o7ICBmb3IgKF9fX19pID0gMDsgX19fX2kgPCA4OyBpIF9fX19pKyspICBfX19faiB8PSB4W19fX19pXTsgIF9fX19qOyB9IHdoaWxlICgwKQorI2RlZmluZSBpc19kcm9wX3BvaW50X2h3KHgpIGRvIHsgaW50IF9fX19pLCBfX19fajsgZm9yKF9fX19pID0gMDsgX19fX2kgPCA4OyBpIF9fX19pICsrKSBfX19faiB8PSB4W19fX19pXTsgX19fX2o7IFwKK30gd2hpbGUoMCkKICNkZWZpbmUgTkVUX0RNX0NGR19WRVJTSU9OIDAKICNkZWZpbmUgTkVUX0RNX0NGR19BTEVSVF9DT1VOVCAxCiAjZGVmaW5lIE5FVF9ETV9DRkdfQUxFUlRfREVMQVkgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkVUX0RNX0NGR19NQVggMwogc3RydWN0IG5ldF9kbV9jb25maWdfZW50cnkgewotIF9fdTMyIHR5cGU7Ci0gX191NjQgZGF0YSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisgIF9fdTMyIHR5cGU7CisgIF9fdTY0IGRhdGEgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgbmV0X2RtX2NvbmZpZ19tc2cgewotIF9fdTMyIGVudHJpZXM7Ci0gc3RydWN0IG5ldF9kbV9jb25maWdfZW50cnkgb3B0aW9uc1swXTsKKyAgX191MzIgZW50cmllczsKKyAgc3RydWN0IG5ldF9kbV9jb25maWdfZW50cnkgb3B0aW9uc1swXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG5ldF9kbV9hbGVydF9tc2cgewotIF9fdTMyIGVudHJpZXM7Ci0gc3RydWN0IG5ldF9kbV9kcm9wX3BvaW50IHBvaW50c1swXTsKKyAgX191MzIgZW50cmllczsKKyAgc3RydWN0IG5ldF9kbV9kcm9wX3BvaW50IHBvaW50c1swXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG5ldF9kbV91c2VyX21zZyB7Ci0gdW5pb24gewotIHN0cnVjdCBuZXRfZG1fY29uZmlnX21zZyB1c2VyOworICB1bmlvbiB7CisgICAgc3RydWN0IG5ldF9kbV9jb25maWdfbXNnIHVzZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBuZXRfZG1fYWxlcnRfbXNnIGFsZXJ0OwotIH0gdTsKKyAgICBzdHJ1Y3QgbmV0X2RtX2FsZXJ0X21zZyBhbGVydDsKKyAgfSB1OwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfRE1fQ01EX1VOU1BFQyA9IDAsCi0gTkVUX0RNX0NNRF9BTEVSVCwKLSBORVRfRE1fQ01EX0NPTkZJRywKLSBORVRfRE1fQ01EX1NUQVJULAorICBORVRfRE1fQ01EX1VOU1BFQyA9IDAsCisgIE5FVF9ETV9DTURfQUxFUlQsCisgIE5FVF9ETV9DTURfQ09ORklHLAorICBORVRfRE1fQ01EX1NUQVJULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfRE1fQ01EX1NUT1AsCi0gX05FVF9ETV9DTURfTUFYLAorICBORVRfRE1fQ01EX1NUT1AsCisgIF9ORVRfRE1fQ01EX01BWCwKIH07CiAjZGVmaW5lIE5FVF9ETV9DTURfTUFYIChfTkVUX0RNX0NNRF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0X3RzdGFtcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRfdHN0YW1wLmgKaW5kZXggMWU5ZmZkNy4uNWRmZDJhYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRfdHN0YW1wLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRfdHN0YW1wLmgKQEAgLTIxLDUxICsyMSw1NCBAQAogI2luY2x1ZGUgPGxpbnV4L3NvY2tldC5oPgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNPRl9USU1FU1RBTVBJTkdfVFhfSEFSRFdBUkUgPSAoMTw8MCksCi0gU09GX1RJTUVTVEFNUElOR19UWF9TT0ZUV0FSRSA9ICgxPDwxKSwKLSBTT0ZfVElNRVNUQU1QSU5HX1JYX0hBUkRXQVJFID0gKDE8PDIpLAotIFNPRl9USU1FU1RBTVBJTkdfUlhfU09GVFdBUkUgPSAoMTw8MyksCisgIFNPRl9USU1FU1RBTVBJTkdfVFhfSEFSRFdBUkUgPSAoMSA8PCAwKSwKKyAgU09GX1RJTUVTVEFNUElOR19UWF9TT0ZUV0FSRSA9ICgxIDw8IDEpLAorICBTT0ZfVElNRVNUQU1QSU5HX1JYX0hBUkRXQVJFID0gKDEgPDwgMiksCisgIFNPRl9USU1FU1RBTVBJTkdfUlhfU09GVFdBUkUgPSAoMSA8PCAzKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU09GX1RJTUVTVEFNUElOR19TT0ZUV0FSRSA9ICgxPDw0KSwKLSBTT0ZfVElNRVNUQU1QSU5HX1NZU19IQVJEV0FSRSA9ICgxPDw1KSwKLSBTT0ZfVElNRVNUQU1QSU5HX1JBV19IQVJEV0FSRSA9ICgxPDw2KSwKLSBTT0ZfVElNRVNUQU1QSU5HX01BU0sgPQorICBTT0ZfVElNRVNUQU1QSU5HX1NPRlRXQVJFID0gKDEgPDwgNCksCisgIFNPRl9USU1FU1RBTVBJTkdfU1lTX0hBUkRXQVJFID0gKDEgPDwgNSksCisgIFNPRl9USU1FU1RBTVBJTkdfUkFXX0hBUkRXQVJFID0gKDEgPDwgNiksCisgIFNPRl9USU1FU1RBTVBJTkdfT1BUX0lEID0gKDEgPDwgNyksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIChTT0ZfVElNRVNUQU1QSU5HX1JBV19IQVJEV0FSRSAtIDEpIHwKLSBTT0ZfVElNRVNUQU1QSU5HX1JBV19IQVJEV0FSRQorICBTT0ZfVElNRVNUQU1QSU5HX1RYX1NDSEVEID0gKDEgPDwgOCksCisgIFNPRl9USU1FU1RBTVBJTkdfVFhfQUNLID0gKDEgPDwgOSksCisgIFNPRl9USU1FU1RBTVBJTkdfTEFTVCA9IFNPRl9USU1FU1RBTVBJTkdfVFhfQUNLLAorICBTT0ZfVElNRVNUQU1QSU5HX01BU0sgPSAoU09GX1RJTUVTVEFNUElOR19MQVNUIC0gMSkgfCBTT0ZfVElNRVNUQU1QSU5HX0xBU1QKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGh3dHN0YW1wX2NvbmZpZyB7CisgIGludCBmbGFnczsKKyAgaW50IHR4X3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBmbGFnczsKLSBpbnQgdHhfdHlwZTsKLSBpbnQgcnhfZmlsdGVyOworICBpbnQgcnhfZmlsdGVyOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGh3dHN0YW1wX3R4X3R5cGVzIHsKLSBIV1RTVEFNUF9UWF9PRkYsCi0gSFdUU1RBTVBfVFhfT04sCi0gSFdUU1RBTVBfVFhfT05FU1RFUF9TWU5DLAorICBIV1RTVEFNUF9UWF9PRkYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBIV1RTVEFNUF9UWF9PTiwKKyAgSFdUU1RBTVBfVFhfT05FU1RFUF9TWU5DLAogfTsKIGVudW0gaHd0c3RhbXBfcnhfZmlsdGVycyB7Ci0gSFdUU1RBTVBfRklMVEVSX05PTkUsCi0gSFdUU1RBTVBfRklMVEVSX0FMTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFdUU1RBTVBfRklMVEVSX1NPTUUsCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMV9MNF9FVkVOVCwKLSBIV1RTVEFNUF9GSUxURVJfUFRQX1YxX0w0X1NZTkMsCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMV9MNF9ERUxBWV9SRVEsCisgIEhXVFNUQU1QX0ZJTFRFUl9OT05FLAorICBIV1RTVEFNUF9GSUxURVJfQUxMLAorICBIV1RTVEFNUF9GSUxURVJfU09NRSwKKyAgSFdUU1RBTVBfRklMVEVSX1BUUF9WMV9MNF9FVkVOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9MNF9FVkVOVCwKLSBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX0w0X1NZTkMsCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9MNF9ERUxBWV9SRVEsCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9MMl9FVkVOVCwKKyAgSFdUU1RBTVBfRklMVEVSX1BUUF9WMV9MNF9TWU5DLAorICBIV1RTVEFNUF9GSUxURVJfUFRQX1YxX0w0X0RFTEFZX1JFUSwKKyAgSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9MNF9FVkVOVCwKKyAgSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9MNF9TWU5DLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX0wyX1NZTkMsCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9MMl9ERUxBWV9SRVEsCi0gSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9FVkVOVCwKLSBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX1NZTkMsCisgIEhXVFNUQU1QX0ZJTFRFUl9QVFBfVjJfTDRfREVMQVlfUkVRLAorICBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX0wyX0VWRU5ULAorICBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX0wyX1NZTkMsCisgIEhXVFNUQU1QX0ZJTFRFUl9QVFBfVjJfTDJfREVMQVlfUkVRLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX0RFTEFZX1JFUSwKKyAgSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9FVkVOVCwKKyAgSFdUU1RBTVBfRklMVEVSX1BUUF9WMl9TWU5DLAorICBIV1RTVEFNUF9GSUxURVJfUFRQX1YyX0RFTEFZX1JFUSwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGNvbmYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0Y29uZi5oCmluZGV4IDJiZjA5ZDEuLmE5YmYyMTYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0Y29uZi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0Y29uZi5oCkBAIC0yMiwyMiArMjIsMjIgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5ldGNvbmZtc2cgewotIF9fdTggbmNtX2ZhbWlseTsKKyAgX191OCBuY21fZmFtaWx5OwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRDT05GQV9VTlNQRUMsCi0gTkVUQ09ORkFfSUZJTkRFWCwKLSBORVRDT05GQV9GT1JXQVJESU5HLAotIE5FVENPTkZBX1JQX0ZJTFRFUiwKKyAgTkVUQ09ORkFfVU5TUEVDLAorICBORVRDT05GQV9JRklOREVYLAorICBORVRDT05GQV9GT1JXQVJESU5HLAorICBORVRDT05GQV9SUF9GSUxURVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVENPTkZBX01DX0ZPUldBUkRJTkcsCi0gTkVUQ09ORkFfUFJPWFlfTkVJR0gsCi0gX19ORVRDT05GQV9NQVgKKyAgTkVUQ09ORkFfTUNfRk9SV0FSRElORywKKyAgTkVUQ09ORkFfUFJPWFlfTkVJR0gsCisgIF9fTkVUQ09ORkFfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkVUQ09ORkFfTUFYIChfX05FVENPTkZBX01BWCAtIDEpCi0jZGVmaW5lIE5FVENPTkZBX0lGSU5ERVhfQUxMIC0xCi0jZGVmaW5lIE5FVENPTkZBX0lGSU5ERVhfREVGQVVMVCAtMgorI2RlZmluZSBORVRDT05GQV9JRklOREVYX0FMTCAtIDEKKyNkZWZpbmUgTkVUQ09ORkFfSUZJTkRFWF9ERUZBVUxUIC0gMgogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRkZXZpY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZGV2aWNlLmgKaW5kZXggZjI0NzJmYy4uNWIzMGFiOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRkZXZpY2UuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGRldmljZS5oCkBAIC0yNiwxNSArMjYsMjYgQEAKICNkZWZpbmUgTUFYX0FERFJfTEVOIDMyCiAjZGVmaW5lIElOSVRfTkVUREVWX0dST1VQIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE5FVF9OQU1FX1VOS05PV04gMAorI2RlZmluZSBORVRfTkFNRV9FTlVNIDEKKyNkZWZpbmUgTkVUX05BTUVfUFJFRElDVEFCTEUgMgorI2RlZmluZSBORVRfTkFNRV9VU0VSIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE5FVF9OQU1FX1JFTkFNRUQgNAogZW51bSB7Ci0gSUZfUE9SVF9VTktOT1dOID0gMCwKLSBJRl9QT1JUXzEwQkFTRTIsCi0gSUZfUE9SVF8xMEJBU0VULAorICBJRl9QT1JUX1VOS05PV04gPSAwLAorICBJRl9QT1JUXzEwQkFTRTIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElGX1BPUlRfQVVJLAotIElGX1BPUlRfMTAwQkFTRVQsCi0gSUZfUE9SVF8xMDBCQVNFVFgsCi0gSUZfUE9SVF8xMDBCQVNFRlgKKyAgSUZfUE9SVF8xMEJBU0VULAorICBJRl9QT1JUX0FVSSwKKyAgSUZfUE9SVF8xMDBCQVNFVCwKKyAgSUZfUE9SVF8xMDBCQVNFVFgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJRl9QT1JUXzEwMEJBU0VGWAogfTsKKyNkZWZpbmUgTkVUX0FERFJfUEVSTSAwCisjZGVmaW5lIE5FVF9BRERSX1JBTkRPTSAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBORVRfQUREUl9TVE9MRU4gMgorI2RlZmluZSBORVRfQUREUl9TRVQgMwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIuaAppbmRleCA3ODA0MzIxLi5iMDRkYWE0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyLmgKQEAgLTM3LDQwICszNyw0MCBAQAogI2RlZmluZSBORl9WRVJESUNUX1FCSVRTIDE2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORl9RVUVVRV9OUih4KSAoKCgoeCkgPDwgMTYpICYgTkZfVkVSRElDVF9RTUFTSykgfCBORl9RVUVVRSkKLSNkZWZpbmUgTkZfRFJPUF9FUlIoeCkgKCgoLXgpIDw8IDE2KSB8IE5GX0RST1ApCisjZGVmaW5lIE5GX0RST1BfRVJSKHgpICgoKC0geCkgPDwgMTYpIHwgTkZfRFJPUCkKICNkZWZpbmUgTkZDX1VOS05PV04gMHg0MDAwCiAjZGVmaW5lIE5GQ19BTFRFUkVEIDB4ODAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZfVkVSRElDVF9CSVRTIDE2CiBlbnVtIG5mX2luZXRfaG9va3MgewotIE5GX0lORVRfUFJFX1JPVVRJTkcsCi0gTkZfSU5FVF9MT0NBTF9JTiwKKyAgTkZfSU5FVF9QUkVfUk9VVElORywKKyAgTkZfSU5FVF9MT0NBTF9JTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZfSU5FVF9GT1JXQVJELAotIE5GX0lORVRfTE9DQUxfT1VULAotIE5GX0lORVRfUE9TVF9ST1VUSU5HLAotIE5GX0lORVRfTlVNSE9PS1MKKyAgTkZfSU5FVF9GT1JXQVJELAorICBORl9JTkVUX0xPQ0FMX09VVCwKKyAgTkZfSU5FVF9QT1NUX1JPVVRJTkcsCisgIE5GX0lORVRfTlVNSE9PS1MKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gTkZQUk9UT19VTlNQRUMgPSAwLAotIE5GUFJPVE9fSU5FVCA9IDEsCisgIE5GUFJPVE9fVU5TUEVDID0gMCwKKyAgTkZQUk9UT19JTkVUID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZQUk9UT19JUFY0ID0gMiwKLSBORlBST1RPX0FSUCA9IDMsCi0gTkZQUk9UT19CUklER0UgPSA3LAotIE5GUFJPVE9fSVBWNiA9IDEwLAorICBORlBST1RPX0lQVjQgPSAyLAorICBORlBST1RPX0FSUCA9IDMsCisgIE5GUFJPVE9fQlJJREdFID0gNywKKyAgTkZQUk9UT19JUFY2ID0gMTAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GUFJPVE9fREVDTkVUID0gMTIsCi0gTkZQUk9UT19OVU1QUk9UTywKKyAgTkZQUk9UT19ERUNORVQgPSAxMiwKKyAgTkZQUk9UT19OVU1QUk9UTywKIH07CiB1bmlvbiBuZl9pbmV0X2FkZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhbGxbNF07Ci0gX19iZTMyIGlwOwotIF9fYmUzMiBpcDZbNF07Ci0gc3RydWN0IGluX2FkZHIgaW47CisgIF9fdTMyIGFsbFs0XTsKKyAgX19iZTMyIGlwOworICBfX2JlMzIgaXA2WzRdOworICBzdHJ1Y3QgaW5fYWRkciBpbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluNl9hZGRyIGluNjsKKyAgc3RydWN0IGluNl9hZGRyIGluNjsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL2lwc2V0L2lwX3NldC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0LmgKaW5kZXggZDg1Yzg1Yi4uODIxMGE3NCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0LmgKQEAgLTI0LDI1MSArMjQsMjc2IEBACiAjZGVmaW5lIElQU0VUX01BWF9DT01NRU5UX1NJWkUgMjU1CiAjZGVmaW5lIElQU0VUX01BWE5BTUVMRU4gMzIKIGVudW0gaXBzZXRfY21kIHsKLSBJUFNFVF9DTURfTk9ORSwKKyAgSVBTRVRfQ01EX05PTkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0NNRF9QUk9UT0NPTCwKLSBJUFNFVF9DTURfQ1JFQVRFLAotIElQU0VUX0NNRF9ERVNUUk9ZLAotIElQU0VUX0NNRF9GTFVTSCwKKyAgSVBTRVRfQ01EX1BST1RPQ09MLAorICBJUFNFVF9DTURfQ1JFQVRFLAorICBJUFNFVF9DTURfREVTVFJPWSwKKyAgSVBTRVRfQ01EX0ZMVVNILAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9DTURfUkVOQU1FLAotIElQU0VUX0NNRF9TV0FQLAotIElQU0VUX0NNRF9MSVNULAotIElQU0VUX0NNRF9TQVZFLAorICBJUFNFVF9DTURfUkVOQU1FLAorICBJUFNFVF9DTURfU1dBUCwKKyAgSVBTRVRfQ01EX0xJU1QsCisgIElQU0VUX0NNRF9TQVZFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9DTURfQURELAotIElQU0VUX0NNRF9ERUwsCi0gSVBTRVRfQ01EX1RFU1QsCi0gSVBTRVRfQ01EX0hFQURFUiwKKyAgSVBTRVRfQ01EX0FERCwKKyAgSVBTRVRfQ01EX0RFTCwKKyAgSVBTRVRfQ01EX1RFU1QsCisgIElQU0VUX0NNRF9IRUFERVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0NNRF9UWVBFLAotIElQU0VUX01TR19NQVgsCi0gSVBTRVRfQ01EX1JFU1RPUkUgPSBJUFNFVF9NU0dfTUFYLAotIElQU0VUX0NNRF9IRUxQLAorICBJUFNFVF9DTURfVFlQRSwKKyAgSVBTRVRfTVNHX01BWCwKKyAgSVBTRVRfQ01EX1JFU1RPUkUgPSBJUFNFVF9NU0dfTUFYLAorICBJUFNFVF9DTURfSEVMUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfQ01EX1ZFUlNJT04sCi0gSVBTRVRfQ01EX1FVSVQsCi0gSVBTRVRfQ01EX01BWCwKLSBJUFNFVF9DTURfQ09NTUlUID0gSVBTRVRfQ01EX01BWCwKKyAgSVBTRVRfQ01EX1ZFUlNJT04sCisgIElQU0VUX0NNRF9RVUlULAorICBJUFNFVF9DTURfTUFYLAorICBJUFNFVF9DTURfQ09NTUlUID0gSVBTRVRfQ01EX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gSVBTRVRfQVRUUl9VTlNQRUMsCi0gSVBTRVRfQVRUUl9QUk9UT0NPTCwKKyAgSVBTRVRfQVRUUl9VTlNQRUMsCisgIElQU0VUX0FUVFJfUFJPVE9DT0wsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfU0VUTkFNRSwKLSBJUFNFVF9BVFRSX1RZUEVOQU1FLAotIElQU0VUX0FUVFJfU0VUTkFNRTIgPSBJUFNFVF9BVFRSX1RZUEVOQU1FLAotIElQU0VUX0FUVFJfUkVWSVNJT04sCisgIElQU0VUX0FUVFJfU0VUTkFNRSwKKyAgSVBTRVRfQVRUUl9UWVBFTkFNRSwKKyAgSVBTRVRfQVRUUl9TRVROQU1FMiA9IElQU0VUX0FUVFJfVFlQRU5BTUUsCisgIElQU0VUX0FUVFJfUkVWSVNJT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfRkFNSUxZLAotIElQU0VUX0FUVFJfRkxBR1MsCi0gSVBTRVRfQVRUUl9EQVRBLAotIElQU0VUX0FUVFJfQURULAorICBJUFNFVF9BVFRSX0ZBTUlMWSwKKyAgSVBTRVRfQVRUUl9GTEFHUywKKyAgSVBTRVRfQVRUUl9EQVRBLAorICBJUFNFVF9BVFRSX0FEVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfQVRUUl9MSU5FTk8sCi0gSVBTRVRfQVRUUl9QUk9UT0NPTF9NSU4sCi0gSVBTRVRfQVRUUl9SRVZJU0lPTl9NSU4gPSBJUFNFVF9BVFRSX1BST1RPQ09MX01JTiwKLSBfX0lQU0VUX0FUVFJfQ01EX01BWCwKKyAgSVBTRVRfQVRUUl9MSU5FTk8sCisgIElQU0VUX0FUVFJfUFJPVE9DT0xfTUlOLAorICBJUFNFVF9BVFRSX1JFVklTSU9OX01JTiA9IElQU0VUX0FUVFJfUFJPVE9DT0xfTUlOLAorICBfX0lQU0VUX0FUVFJfQ01EX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJUFNFVF9BVFRSX0NNRF9NQVggKF9fSVBTRVRfQVRUUl9DTURfTUFYIC0gMSkKIGVudW0gewotIElQU0VUX0FUVFJfSVAgPSBJUFNFVF9BVFRSX1VOU1BFQyArIDEsCisgIElQU0VUX0FUVFJfSVAgPSBJUFNFVF9BVFRSX1VOU1BFQyArIDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfSVBfRlJPTSA9IElQU0VUX0FUVFJfSVAsCi0gSVBTRVRfQVRUUl9JUF9UTywKLSBJUFNFVF9BVFRSX0NJRFIsCi0gSVBTRVRfQVRUUl9QT1JULAorICBJUFNFVF9BVFRSX0lQX0ZST00gPSBJUFNFVF9BVFRSX0lQLAorICBJUFNFVF9BVFRSX0lQX1RPLAorICBJUFNFVF9BVFRSX0NJRFIsCisgIElQU0VUX0FUVFJfUE9SVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfQVRUUl9QT1JUX0ZST00gPSBJUFNFVF9BVFRSX1BPUlQsCi0gSVBTRVRfQVRUUl9QT1JUX1RPLAotIElQU0VUX0FUVFJfVElNRU9VVCwKLSBJUFNFVF9BVFRSX1BST1RPLAorICBJUFNFVF9BVFRSX1BPUlRfRlJPTSA9IElQU0VUX0FUVFJfUE9SVCwKKyAgSVBTRVRfQVRUUl9QT1JUX1RPLAorICBJUFNFVF9BVFRSX1RJTUVPVVQsCisgIElQU0VUX0FUVFJfUFJPVE8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfQ0FEVF9GTEFHUywKLSBJUFNFVF9BVFRSX0NBRFRfTElORU5PID0gSVBTRVRfQVRUUl9MSU5FTk8sCi0gSVBTRVRfQVRUUl9DQURUX01BWCA9IDE2LAotIElQU0VUX0FUVFJfR0MsCisgIElQU0VUX0FUVFJfQ0FEVF9GTEFHUywKKyAgSVBTRVRfQVRUUl9DQURUX0xJTkVOTyA9IElQU0VUX0FUVFJfTElORU5PLAorICBJUFNFVF9BVFRSX01BUkssCisgIElQU0VUX0FUVFJfTUFSS01BU0ssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfSEFTSFNJWkUsCi0gSVBTRVRfQVRUUl9NQVhFTEVNLAotIElQU0VUX0FUVFJfTkVUTUFTSywKLSBJUFNFVF9BVFRSX1BST0JFUywKKyAgSVBTRVRfQVRUUl9DQURUX01BWCA9IDE2LAorICBJUFNFVF9BVFRSX0dDLAorICBJUFNFVF9BVFRSX0hBU0hTSVpFLAorICBJUFNFVF9BVFRSX01BWEVMRU0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfUkVTSVpFLAotIElQU0VUX0FUVFJfU0laRSwKLSBJUFNFVF9BVFRSX0VMRU1FTlRTLAotIElQU0VUX0FUVFJfUkVGRVJFTkNFUywKKyAgSVBTRVRfQVRUUl9ORVRNQVNLLAorICBJUFNFVF9BVFRSX1BST0JFUywKKyAgSVBTRVRfQVRUUl9SRVNJWkUsCisgIElQU0VUX0FUVFJfU0laRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfQVRUUl9NRU1TSVpFLAotIF9fSVBTRVRfQVRUUl9DUkVBVEVfTUFYLAorICBJUFNFVF9BVFRSX0VMRU1FTlRTLAorICBJUFNFVF9BVFRSX1JFRkVSRU5DRVMsCisgIElQU0VUX0FUVFJfTUVNU0laRSwKKyAgX19JUFNFVF9BVFRSX0NSRUFURV9NQVgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSVBTRVRfQVRUUl9DUkVBVEVfTUFYIChfX0lQU0VUX0FUVFJfQ1JFQVRFX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gSVBTRVRfQVRUUl9FVEhFUiA9IElQU0VUX0FUVFJfQ0FEVF9NQVggKyAxLAotIElQU0VUX0FUVFJfTkFNRSwKLSBJUFNFVF9BVFRSX05BTUVSRUYsCisgIElQU0VUX0FUVFJfRVRIRVIgPSBJUFNFVF9BVFRSX0NBRFRfTUFYICsgMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfQVRUUl9JUDIsCi0gSVBTRVRfQVRUUl9DSURSMiwKLSBJUFNFVF9BVFRSX0lQMl9UTywKLSBJUFNFVF9BVFRSX0lGQUNFLAorICBJUFNFVF9BVFRSX05BTUUsCisgIElQU0VUX0FUVFJfTkFNRVJFRiwKKyAgSVBTRVRfQVRUUl9JUDIsCisgIElQU0VUX0FUVFJfQ0lEUjIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0FUVFJfQllURVMsCi0gSVBTRVRfQVRUUl9QQUNLRVRTLAotIElQU0VUX0FUVFJfQ09NTUVOVCwKLSBfX0lQU0VUX0FUVFJfQURUX01BWCwKKyAgSVBTRVRfQVRUUl9JUDJfVE8sCisgIElQU0VUX0FUVFJfSUZBQ0UsCisgIElQU0VUX0FUVFJfQllURVMsCisgIElQU0VUX0FUVFJfUEFDS0VUUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIElQU0VUX0FUVFJfQ09NTUVOVCwKKyAgSVBTRVRfQVRUUl9TS0JNQVJLLAorICBJUFNFVF9BVFRSX1NLQlBSSU8sCisgIElQU0VUX0FUVFJfU0tCUVVFVUUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX0lQU0VUX0FUVFJfQURUX01BWCwKIH07CiAjZGVmaW5lIElQU0VUX0FUVFJfQURUX01BWCAoX19JUFNFVF9BVFRSX0FEVF9NQVggLSAxKQogZW51bSB7Ci0gSVBTRVRfQVRUUl9JUEFERFJfSVBWNCA9IElQU0VUX0FUVFJfVU5TUEVDICsgMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfQVRUUl9JUEFERFJfSVBWNiwKLSBfX0lQU0VUX0FUVFJfSVBBRERSX01BWCwKKyAgSVBTRVRfQVRUUl9JUEFERFJfSVBWNCA9IElQU0VUX0FUVFJfVU5TUEVDICsgMSwKKyAgSVBTRVRfQVRUUl9JUEFERFJfSVBWNiwKKyAgX19JUFNFVF9BVFRSX0lQQUREUl9NQVgsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBTRVRfQVRUUl9JUEFERFJfTUFYIChfX0lQU0VUX0FUVFJfSVBBRERSX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBpcHNldF9lcnJubyB7Ci0gSVBTRVRfRVJSX1BSSVZBVEUgPSA0MDk2LAotIElQU0VUX0VSUl9QUk9UT0NPTCwKLSBJUFNFVF9FUlJfRklORF9UWVBFLAorICBJUFNFVF9FUlJfUFJJVkFURSA9IDQwOTYsCisgIElQU0VUX0VSUl9QUk9UT0NPTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRVJSX01BWF9TRVRTLAotIElQU0VUX0VSUl9CVVNZLAotIElQU0VUX0VSUl9FWElTVF9TRVROQU1FMiwKLSBJUFNFVF9FUlJfVFlQRV9NSVNNQVRDSCwKKyAgSVBTRVRfRVJSX0ZJTkRfVFlQRSwKKyAgSVBTRVRfRVJSX01BWF9TRVRTLAorICBJUFNFVF9FUlJfQlVTWSwKKyAgSVBTRVRfRVJSX0VYSVNUX1NFVE5BTUUyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9FUlJfRVhJU1QsCi0gSVBTRVRfRVJSX0lOVkFMSURfQ0lEUiwKLSBJUFNFVF9FUlJfSU5WQUxJRF9ORVRNQVNLLAotIElQU0VUX0VSUl9JTlZBTElEX0ZBTUlMWSwKKyAgSVBTRVRfRVJSX1RZUEVfTUlTTUFUQ0gsCisgIElQU0VUX0VSUl9FWElTVCwKKyAgSVBTRVRfRVJSX0lOVkFMSURfQ0lEUiwKKyAgSVBTRVRfRVJSX0lOVkFMSURfTkVUTUFTSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRVJSX1RJTUVPVVQsCi0gSVBTRVRfRVJSX1JFRkVSRU5DRUQsCi0gSVBTRVRfRVJSX0lQQUREUl9JUFY0LAotIElQU0VUX0VSUl9JUEFERFJfSVBWNiwKKyAgSVBTRVRfRVJSX0lOVkFMSURfRkFNSUxZLAorICBJUFNFVF9FUlJfVElNRU9VVCwKKyAgSVBTRVRfRVJSX1JFRkVSRU5DRUQsCisgIElQU0VUX0VSUl9JUEFERFJfSVBWNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRVJSX0NPVU5URVIsCi0gSVBTRVRfRVJSX0NPTU1FTlQsCi0gSVBTRVRfRVJSX1RZUEVfU1BFQ0lGSUMgPSA0MzUyLAorICBJUFNFVF9FUlJfSVBBRERSX0lQVjYsCisgIElQU0VUX0VSUl9DT1VOVEVSLAorICBJUFNFVF9FUlJfQ09NTUVOVCwKKyAgSVBTRVRfRVJSX0lOVkFMSURfTUFSS01BU0ssCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJUFNFVF9FUlJfU0tCSU5GTywKKyAgSVBTRVRfRVJSX1RZUEVfU1BFQ0lGSUMgPSA0MzUyLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGlwc2V0X2NtZF9mbGFncyB7Ci0gSVBTRVRfRkxBR19CSVRfRVhJU1QgPSAwLAotIElQU0VUX0ZMQUdfRVhJU1QgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9FWElTVCksCi0gSVBTRVRfRkxBR19CSVRfTElTVF9TRVROQU1FID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRkxBR19MSVNUX1NFVE5BTUUgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9MSVNUX1NFVE5BTUUpLAotIElQU0VUX0ZMQUdfQklUX0xJU1RfSEVBREVSID0gMiwKLSBJUFNFVF9GTEFHX0xJU1RfSEVBREVSID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfTElTVF9IRUFERVIpLAotIElQU0VUX0ZMQUdfQklUX1NLSVBfQ09VTlRFUl9VUERBVEUgPSAzLAorICBJUFNFVF9GTEFHX0JJVF9FWElTVCA9IDAsCisgIElQU0VUX0ZMQUdfRVhJU1QgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9FWElTVCksCisgIElQU0VUX0ZMQUdfQklUX0xJU1RfU0VUTkFNRSA9IDEsCisgIElQU0VUX0ZMQUdfTElTVF9TRVROQU1FID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfTElTVF9TRVROQU1FKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRkxBR19TS0lQX0NPVU5URVJfVVBEQVRFID0KLSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9TS0lQX0NPVU5URVJfVVBEQVRFKSwKLSBJUFNFVF9GTEFHX0JJVF9TS0lQX1NVQkNPVU5URVJfVVBEQVRFID0gNCwKLSBJUFNFVF9GTEFHX1NLSVBfU1VCQ09VTlRFUl9VUERBVEUgPQorICBJUFNFVF9GTEFHX0JJVF9MSVNUX0hFQURFUiA9IDIsCisgIElQU0VUX0ZMQUdfTElTVF9IRUFERVIgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9MSVNUX0hFQURFUiksCisgIElQU0VUX0ZMQUdfQklUX1NLSVBfQ09VTlRFUl9VUERBVEUgPSAzLAorICBJUFNFVF9GTEFHX1NLSVBfQ09VTlRFUl9VUERBVEUgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9TS0lQX0NPVU5URVJfVVBEQVRFKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gKDEgPDwgSVBTRVRfRkxBR19CSVRfU0tJUF9TVUJDT1VOVEVSX1VQREFURSksCi0gSVBTRVRfRkxBR19CSVRfTUFUQ0hfQ09VTlRFUlMgPSA1LAotIElQU0VUX0ZMQUdfTUFUQ0hfQ09VTlRFUlMgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9NQVRDSF9DT1VOVEVSUyksCi0gSVBTRVRfRkxBR19CSVRfUkVUVVJOX05PTUFUQ0ggPSA3LAorICBJUFNFVF9GTEFHX0JJVF9TS0lQX1NVQkNPVU5URVJfVVBEQVRFID0gNCwKKyAgSVBTRVRfRkxBR19TS0lQX1NVQkNPVU5URVJfVVBEQVRFID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfU0tJUF9TVUJDT1VOVEVSX1VQREFURSksCisgIElQU0VUX0ZMQUdfQklUX01BVENIX0NPVU5URVJTID0gNSwKKyAgSVBTRVRfRkxBR19NQVRDSF9DT1VOVEVSUyA9ICgxIDw8IElQU0VUX0ZMQUdfQklUX01BVENIX0NPVU5URVJTKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRkxBR19SRVRVUk5fTk9NQVRDSCA9ICgxIDw8IElQU0VUX0ZMQUdfQklUX1JFVFVSTl9OT01BVENIKSwKLSBJUFNFVF9GTEFHX0NNRF9NQVggPSAxNSwKKyAgSVBTRVRfRkxBR19CSVRfUkVUVVJOX05PTUFUQ0ggPSA3LAorICBJUFNFVF9GTEFHX1JFVFVSTl9OT01BVENIID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfUkVUVVJOX05PTUFUQ0gpLAorICBJUFNFVF9GTEFHX0JJVF9NQVBfU0tCTUFSSyA9IDgsCisgIElQU0VUX0ZMQUdfTUFQX1NLQk1BUksgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9NQVBfU0tCTUFSSyksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJUFNFVF9GTEFHX0JJVF9NQVBfU0tCUFJJTyA9IDksCisgIElQU0VUX0ZMQUdfTUFQX1NLQlBSSU8gPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9NQVBfU0tCUFJJTyksCisgIElQU0VUX0ZMQUdfQklUX01BUF9TS0JRVUVVRSA9IDEwLAorICBJUFNFVF9GTEFHX01BUF9TS0JRVUVVRSA9ICgxIDw8IElQU0VUX0ZMQUdfQklUX01BUF9TS0JRVUVVRSksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJUFNFVF9GTEFHX0NNRF9NQVggPSAxNSwKIH07CiBlbnVtIGlwc2V0X2NhZHRfZmxhZ3MgeworICBJUFNFVF9GTEFHX0JJVF9CRUZPUkUgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9GTEFHX0JJVF9CRUZPUkUgPSAwLAotIElQU0VUX0ZMQUdfQkVGT1JFID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfQkVGT1JFKSwKLSBJUFNFVF9GTEFHX0JJVF9QSFlTREVWID0gMSwKLSBJUFNFVF9GTEFHX1BIWVNERVYgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9QSFlTREVWKSwKKyAgSVBTRVRfRkxBR19CRUZPUkUgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9CRUZPUkUpLAorICBJUFNFVF9GTEFHX0JJVF9QSFlTREVWID0gMSwKKyAgSVBTRVRfRkxBR19QSFlTREVWID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfUEhZU0RFViksCisgIElQU0VUX0ZMQUdfQklUX05PTUFUQ0ggPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9GTEFHX0JJVF9OT01BVENIID0gMiwKLSBJUFNFVF9GTEFHX05PTUFUQ0ggPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9OT01BVENIKSwKLSBJUFNFVF9GTEFHX0JJVF9XSVRIX0NPVU5URVJTID0gMywKLSBJUFNFVF9GTEFHX1dJVEhfQ09VTlRFUlMgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9XSVRIX0NPVU5URVJTKSwKKyAgSVBTRVRfRkxBR19OT01BVENIID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfTk9NQVRDSCksCisgIElQU0VUX0ZMQUdfQklUX1dJVEhfQ09VTlRFUlMgPSAzLAorICBJUFNFVF9GTEFHX1dJVEhfQ09VTlRFUlMgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9XSVRIX0NPVU5URVJTKSwKKyAgSVBTRVRfRkxBR19CSVRfV0lUSF9DT01NRU5UID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRkxBR19CSVRfV0lUSF9DT01NRU5UID0gNCwKLSBJUFNFVF9GTEFHX1dJVEhfQ09NTUVOVCA9ICgxIDw8IElQU0VUX0ZMQUdfQklUX1dJVEhfQ09NTUVOVCksCi0gSVBTRVRfRkxBR19DQURUX01BWCA9IDE1LAorICBJUFNFVF9GTEFHX1dJVEhfQ09NTUVOVCA9ICgxIDw8IElQU0VUX0ZMQUdfQklUX1dJVEhfQ09NTUVOVCksCisgIElQU0VUX0ZMQUdfQklUX1dJVEhfRk9SQ0VBREQgPSA1LAorICBJUFNFVF9GTEFHX1dJVEhfRk9SQ0VBREQgPSAoMSA8PCBJUFNFVF9GTEFHX0JJVF9XSVRIX0ZPUkNFQUREKSwKKyAgSVBTRVRfRkxBR19CSVRfV0lUSF9TS0JJTkZPID0gNiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIElQU0VUX0ZMQUdfV0lUSF9TS0JJTkZPID0gKDEgPDwgSVBTRVRfRkxBR19CSVRfV0lUSF9TS0JJTkZPKSwKKyAgSVBTRVRfRkxBR19DQURUX01BWCA9IDE1LAorfTsKK2VudW0gaXBzZXRfY3JlYXRlX2ZsYWdzIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIElQU0VUX0NSRUFURV9GTEFHX0JJVF9GT1JDRUFERCA9IDAsCisgIElQU0VUX0NSRUFURV9GTEFHX0ZPUkNFQUREID0gKDEgPDwgSVBTRVRfQ1JFQVRFX0ZMQUdfQklUX0ZPUkNFQUREKSwKKyAgSVBTRVRfQ1JFQVRFX0ZMQUdfQklUX01BWCA9IDcsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gaXBzZXRfYWR0IHsKLSBJUFNFVF9BREQsCi0gSVBTRVRfREVMLAotIElQU0VUX1RFU1QsCisgIElQU0VUX0FERCwKKyAgSVBTRVRfREVMLAorICBJUFNFVF9URVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9BRFRfTUFYLAotIElQU0VUX0NSRUFURSA9IElQU0VUX0FEVF9NQVgsCi0gSVBTRVRfQ0FEVF9NQVgsCisgIElQU0VUX0FEVF9NQVgsCisgIElQU0VUX0NSRUFURSA9IElQU0VUX0FEVF9NQVgsCisgIElQU0VUX0NBRFRfTUFYLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIF9fdTE2IGlwX3NldF9pZF90OwogI2RlZmluZSBJUFNFVF9JTlZBTElEX0lEIDY1NTM1CiBlbnVtIGlwX3NldF9kaW0gewotIElQU0VUX0RJTV9aRVJPID0gMCwKKyAgSVBTRVRfRElNX1pFUk8gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9ESU1fT05FLAotIElQU0VUX0RJTV9UV08sCi0gSVBTRVRfRElNX1RIUkVFLAotIElQU0VUX0RJTV9NQVggPSA2LAorICBJUFNFVF9ESU1fT05FLAorICBJUFNFVF9ESU1fVFdPLAorICBJUFNFVF9ESU1fVEhSRUUsCisgIElQU0VUX0RJTV9NQVggPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9CSVRfUkVUVVJOX05PTUFUQ0ggPSA3LAorICBJUFNFVF9CSVRfUkVUVVJOX05PTUFUQ0ggPSA3LAogfTsKIGVudW0gaXBfc2V0X2tvcHQgewotIElQU0VUX0lOVl9NQVRDSCA9ICgxIDw8IElQU0VUX0RJTV9aRVJPKSwKKyAgSVBTRVRfSU5WX01BVENIID0gKDEgPDwgSVBTRVRfRElNX1pFUk8pLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9ESU1fT05FX1NSQyA9ICgxIDw8IElQU0VUX0RJTV9PTkUpLAotIElQU0VUX0RJTV9UV09fU1JDID0gKDEgPDwgSVBTRVRfRElNX1RXTyksCi0gSVBTRVRfRElNX1RIUkVFX1NSQyA9ICgxIDw8IElQU0VUX0RJTV9USFJFRSksCi0gSVBTRVRfUkVUVVJOX05PTUFUQ0ggPSAoMSA8PCBJUFNFVF9CSVRfUkVUVVJOX05PTUFUQ0gpLAorICBJUFNFVF9ESU1fT05FX1NSQyA9ICgxIDw8IElQU0VUX0RJTV9PTkUpLAorICBJUFNFVF9ESU1fVFdPX1NSQyA9ICgxIDw8IElQU0VUX0RJTV9UV08pLAorICBJUFNFVF9ESU1fVEhSRUVfU1JDID0gKDEgPDwgSVBTRVRfRElNX1RIUkVFKSwKKyAgSVBTRVRfUkVUVVJOX05PTUFUQ0ggPSAoMSA8PCBJUFNFVF9CSVRfUkVUVVJOX05PTUFUQ0gpLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBJUFNFVF9DT1VOVEVSX05PTkUgPSAwLAotIElQU0VUX0NPVU5URVJfRVEsCisgIElQU0VUX0NPVU5URVJfTk9ORSA9IDAsCisgIElQU0VUX0NPVU5URVJfRVEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0NPVU5URVJfTkUsCi0gSVBTRVRfQ09VTlRFUl9MVCwKLSBJUFNFVF9DT1VOVEVSX0dULAorICBJUFNFVF9DT1VOVEVSX05FLAorICBJUFNFVF9DT1VOVEVSX0xULAorICBJUFNFVF9DT1VOVEVSX0dULAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXBfc2V0X2NvdW50ZXJfbWF0Y2ggewotIF9fdTggb3A7Ci0gX191NjQgdmFsdWU7CisgIF9fdTggb3A7CisgIF9fdTY0IHZhbHVlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPX0lQX1NFVCA4MwogdW5pb24gaXBfc2V0X25hbWVfaW5kZXggewotIGNoYXIgbmFtZVtJUFNFVF9NQVhOQU1FTEVOXTsKLSBpcF9zZXRfaWRfdCBpbmRleDsKKyAgY2hhciBuYW1lW0lQU0VUX01BWE5BTUVMRU5dOworICBpcF9zZXRfaWRfdCBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJUF9TRVRfT1BfR0VUX0JZTkFNRSAweDAwMDAwMDA2CiBzdHJ1Y3QgaXBfc2V0X3JlcV9nZXRfc2V0IHsKLSB1bnNpZ25lZCBpbnQgb3A7CisgIHVuc2lnbmVkIGludCBvcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHZlcnNpb247Ci0gdW5pb24gaXBfc2V0X25hbWVfaW5kZXggc2V0OworICB1bnNpZ25lZCBpbnQgdmVyc2lvbjsKKyAgdW5pb24gaXBfc2V0X25hbWVfaW5kZXggc2V0OwogfTsKICNkZWZpbmUgSVBfU0VUX09QX0dFVF9CWUlOREVYIDB4MDAwMDAwMDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQX1NFVF9PUF9HRVRfRk5BTUUgMHgwMDAwMDAwOAogc3RydWN0IGlwX3NldF9yZXFfZ2V0X3NldF9mYW1pbHkgewotIHVuc2lnbmVkIGludCBvcDsKLSB1bnNpZ25lZCBpbnQgdmVyc2lvbjsKKyAgdW5zaWduZWQgaW50IG9wOworICB1bnNpZ25lZCBpbnQgdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGZhbWlseTsKLSB1bmlvbiBpcF9zZXRfbmFtZV9pbmRleCBzZXQ7CisgIHVuc2lnbmVkIGludCBmYW1pbHk7CisgIHVuaW9uIGlwX3NldF9uYW1lX2luZGV4IHNldDsKIH07CiAjZGVmaW5lIElQX1NFVF9PUF9WRVJTSU9OIDB4MDAwMDAxMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXBfc2V0X3JlcV92ZXJzaW9uIHsKLSB1bnNpZ25lZCBpbnQgb3A7Ci0gdW5zaWduZWQgaW50IHZlcnNpb247CisgIHVuc2lnbmVkIGludCBvcDsKKyAgdW5zaWduZWQgaW50IHZlcnNpb247CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0X2JpdG1hcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0X2JpdG1hcC5oCmluZGV4IDAzYTM5MmYuLmVkY2FlNGMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL2lwc2V0L2lwX3NldF9iaXRtYXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9pcHNldC9pcF9zZXRfYml0bWFwLmgKQEAgLTE5LDggKzE5LDggQEAKICNpZm5kZWYgX1VBUElfX0lQX1NFVF9CSVRNQVBfSAogI2RlZmluZSBfVUFQSV9fSVBfU0VUX0JJVE1BUF9ICiBlbnVtIHsKLSBJUFNFVF9FUlJfQklUTUFQX1JBTkdFID0gSVBTRVRfRVJSX1RZUEVfU1BFQ0lGSUMsCisgIElQU0VUX0VSUl9CSVRNQVBfUkFOR0UgPSBJUFNFVF9FUlJfVFlQRV9TUEVDSUZJQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRVJSX0JJVE1BUF9SQU5HRV9TSVpFLAorICBJUFNFVF9FUlJfQklUTUFQX1JBTkdFX1NJWkUsCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9pcHNldC9pcF9zZXRfaGFzaC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0X2hhc2guaAppbmRleCAzNGE0NmY5Li5kZDc2NWZjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9pcHNldC9pcF9zZXRfaGFzaC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL2lwc2V0L2lwX3NldF9oYXNoLmgKQEAgLTE5LDEzICsxOSwxMyBAQAogI2lmbmRlZiBfVUFQSV9fSVBfU0VUX0hBU0hfSAogI2RlZmluZSBfVUFQSV9fSVBfU0VUX0hBU0hfSAogZW51bSB7Ci0gSVBTRVRfRVJSX0hBU0hfRlVMTCA9IElQU0VUX0VSUl9UWVBFX1NQRUNJRklDLAorICBJUFNFVF9FUlJfSEFTSF9GVUxMID0gSVBTRVRfRVJSX1RZUEVfU1BFQ0lGSUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0VSUl9IQVNIX0VMRU0sCi0gSVBTRVRfRVJSX0lOVkFMSURfUFJPVE8sCi0gSVBTRVRfRVJSX01JU1NJTkdfUFJPVE8sCi0gSVBTRVRfRVJSX0hBU0hfUkFOR0VfVU5TVVBQT1JURUQsCisgIElQU0VUX0VSUl9IQVNIX0VMRU0sCisgIElQU0VUX0VSUl9JTlZBTElEX1BST1RPLAorICBJUFNFVF9FUlJfTUlTU0lOR19QUk9UTywKKyAgSVBTRVRfRVJSX0hBU0hfUkFOR0VfVU5TVVBQT1JURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU0VUX0VSUl9IQVNIX1JBTkdFLAorICBJUFNFVF9FUlJfSEFTSF9SQU5HRSwKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL2lwc2V0L2lwX3NldF9saXN0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9pcHNldC9pcF9zZXRfbGlzdC5oCmluZGV4IDgzYTI2ZDAuLjYyMzU3NGMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL2lwc2V0L2lwX3NldF9saXN0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0X2xpc3QuaApAQCAtMTksMTMgKzE5LDEzIEBACiAjaWZuZGVmIF9VQVBJX19JUF9TRVRfTElTVF9ICiAjZGVmaW5lIF9VQVBJX19JUF9TRVRfTElTVF9ICiBlbnVtIHsKLSBJUFNFVF9FUlJfTkFNRSA9IElQU0VUX0VSUl9UWVBFX1NQRUNJRklDLAorICBJUFNFVF9FUlJfTkFNRSA9IElQU0VUX0VSUl9UWVBFX1NQRUNJRklDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNFVF9FUlJfTE9PUCwKLSBJUFNFVF9FUlJfQkVGT1JFLAotIElQU0VUX0VSUl9OQU1FUkVGLAotIElQU0VUX0VSUl9MSVNUX0ZVTEwsCisgIElQU0VUX0VSUl9MT09QLAorICBJUFNFVF9FUlJfQkVGT1JFLAorICBJUFNFVF9FUlJfTkFNRVJFRiwKKyAgSVBTRVRfRVJSX0xJU1RfRlVMTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTRVRfRVJSX1JFRl9FWElTVCwKKyAgSVBTRVRfRVJSX1JFRl9FWElTVCwKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19jb21tb24uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19jb21tb24uaAppbmRleCAwNWUyZDFmLi41N2NiYjkwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfY29tbW9uLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2NvbW1vbi5oCkBAIC0xOSwxNiArMTksMTYgQEAKICNpZm5kZWYgX1VBUElfTkZfQ09OTlRSQUNLX0NPTU1PTl9ICiAjZGVmaW5lIF9VQVBJX05GX0NPTk5UUkFDS19DT01NT05fSAogZW51bSBpcF9jb25udHJhY2tfaW5mbyB7Ci0gSVBfQ1RfRVNUQUJMSVNIRUQsCisgIElQX0NUX0VTVEFCTElTSEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUF9DVF9SRUxBVEVELAotIElQX0NUX05FVywKLSBJUF9DVF9JU19SRVBMWSwKLSBJUF9DVF9FU1RBQkxJU0hFRF9SRVBMWSA9IElQX0NUX0VTVEFCTElTSEVEICsgSVBfQ1RfSVNfUkVQTFksCisgIElQX0NUX1JFTEFURUQsCisgIElQX0NUX05FVywKKyAgSVBfQ1RfSVNfUkVQTFksCisgIElQX0NUX0VTVEFCTElTSEVEX1JFUExZID0gSVBfQ1RfRVNUQUJMSVNIRUQgKyBJUF9DVF9JU19SRVBMWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBfQ1RfUkVMQVRFRF9SRVBMWSA9IElQX0NUX1JFTEFURUQgKyBJUF9DVF9JU19SRVBMWSwKLSBJUF9DVF9ORVdfUkVQTFkgPSBJUF9DVF9ORVcgKyBJUF9DVF9JU19SRVBMWSwKLSBJUF9DVF9OVU1CRVIgPSBJUF9DVF9JU19SRVBMWSAqIDIgLSAxCisgIElQX0NUX1JFTEFURURfUkVQTFkgPSBJUF9DVF9SRUxBVEVEICsgSVBfQ1RfSVNfUkVQTFksCisgIElQX0NUX05FV19SRVBMWSA9IElQX0NUX05FVyArIElQX0NUX0lTX1JFUExZLAorICBJUF9DVF9OVU1CRVIgPSBJUF9DVF9JU19SRVBMWSAqIDIgLSAxCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZfQ1RfU1RBVEVfSU5WQUxJRF9CSVQgKDEgPDwgMCkKQEAgLTM2LDY1ICszNiw2NSBAQAogI2RlZmluZSBORl9DVF9TVEFURV9VTlRSQUNLRURfQklUICgxIDw8IChJUF9DVF9OVU1CRVIgKyAxKSkKIGVudW0gaXBfY29ubnRyYWNrX3N0YXR1cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU19FWFBFQ1RFRF9CSVQgPSAwLAotIElQU19FWFBFQ1RFRCA9ICgxIDw8IElQU19FWFBFQ1RFRF9CSVQpLAotIElQU19TRUVOX1JFUExZX0JJVCA9IDEsCi0gSVBTX1NFRU5fUkVQTFkgPSAoMSA8PCBJUFNfU0VFTl9SRVBMWV9CSVQpLAorICBJUFNfRVhQRUNURURfQklUID0gMCwKKyAgSVBTX0VYUEVDVEVEID0gKDEgPDwgSVBTX0VYUEVDVEVEX0JJVCksCisgIElQU19TRUVOX1JFUExZX0JJVCA9IDEsCisgIElQU19TRUVOX1JFUExZID0gKDEgPDwgSVBTX1NFRU5fUkVQTFlfQklUKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTX0FTU1VSRURfQklUID0gMiwKLSBJUFNfQVNTVVJFRCA9ICgxIDw8IElQU19BU1NVUkVEX0JJVCksCi0gSVBTX0NPTkZJUk1FRF9CSVQgPSAzLAotIElQU19DT05GSVJNRUQgPSAoMSA8PCBJUFNfQ09ORklSTUVEX0JJVCksCisgIElQU19BU1NVUkVEX0JJVCA9IDIsCisgIElQU19BU1NVUkVEID0gKDEgPDwgSVBTX0FTU1VSRURfQklUKSwKKyAgSVBTX0NPTkZJUk1FRF9CSVQgPSAzLAorICBJUFNfQ09ORklSTUVEID0gKDEgPDwgSVBTX0NPTkZJUk1FRF9CSVQpLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNfU1JDX05BVF9CSVQgPSA0LAotIElQU19TUkNfTkFUID0gKDEgPDwgSVBTX1NSQ19OQVRfQklUKSwKLSBJUFNfRFNUX05BVF9CSVQgPSA1LAotIElQU19EU1RfTkFUID0gKDEgPDwgSVBTX0RTVF9OQVRfQklUKSwKKyAgSVBTX1NSQ19OQVRfQklUID0gNCwKKyAgSVBTX1NSQ19OQVQgPSAoMSA8PCBJUFNfU1JDX05BVF9CSVQpLAorICBJUFNfRFNUX05BVF9CSVQgPSA1LAorICBJUFNfRFNUX05BVCA9ICgxIDw8IElQU19EU1RfTkFUX0JJVCksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU19OQVRfTUFTSyA9IChJUFNfRFNUX05BVCB8IElQU19TUkNfTkFUKSwKLSBJUFNfU0VRX0FESlVTVF9CSVQgPSA2LAotIElQU19TRVFfQURKVVNUID0gKDEgPDwgSVBTX1NFUV9BREpVU1RfQklUKSwKLSBJUFNfU1JDX05BVF9ET05FX0JJVCA9IDcsCisgIElQU19OQVRfTUFTSyA9IChJUFNfRFNUX05BVCB8IElQU19TUkNfTkFUKSwKKyAgSVBTX1NFUV9BREpVU1RfQklUID0gNiwKKyAgSVBTX1NFUV9BREpVU1QgPSAoMSA8PCBJUFNfU0VRX0FESlVTVF9CSVQpLAorICBJUFNfU1JDX05BVF9ET05FX0JJVCA9IDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU19TUkNfTkFUX0RPTkUgPSAoMSA8PCBJUFNfU1JDX05BVF9ET05FX0JJVCksCi0gSVBTX0RTVF9OQVRfRE9ORV9CSVQgPSA4LAotIElQU19EU1RfTkFUX0RPTkUgPSAoMSA8PCBJUFNfRFNUX05BVF9ET05FX0JJVCksCi0gSVBTX05BVF9ET05FX01BU0sgPSAoSVBTX0RTVF9OQVRfRE9ORSB8IElQU19TUkNfTkFUX0RPTkUpLAorICBJUFNfU1JDX05BVF9ET05FID0gKDEgPDwgSVBTX1NSQ19OQVRfRE9ORV9CSVQpLAorICBJUFNfRFNUX05BVF9ET05FX0JJVCA9IDgsCisgIElQU19EU1RfTkFUX0RPTkUgPSAoMSA8PCBJUFNfRFNUX05BVF9ET05FX0JJVCksCisgIElQU19OQVRfRE9ORV9NQVNLID0gKElQU19EU1RfTkFUX0RPTkUgfCBJUFNfU1JDX05BVF9ET05FKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTX0RZSU5HX0JJVCA9IDksCi0gSVBTX0RZSU5HID0gKDEgPDwgSVBTX0RZSU5HX0JJVCksCi0gSVBTX0ZJWEVEX1RJTUVPVVRfQklUID0gMTAsCi0gSVBTX0ZJWEVEX1RJTUVPVVQgPSAoMSA8PCBJUFNfRklYRURfVElNRU9VVF9CSVQpLAorICBJUFNfRFlJTkdfQklUID0gOSwKKyAgSVBTX0RZSU5HID0gKDEgPDwgSVBTX0RZSU5HX0JJVCksCisgIElQU19GSVhFRF9USU1FT1VUX0JJVCA9IDEwLAorICBJUFNfRklYRURfVElNRU9VVCA9ICgxIDw8IElQU19GSVhFRF9USU1FT1VUX0JJVCksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU19URU1QTEFURV9CSVQgPSAxMSwKLSBJUFNfVEVNUExBVEUgPSAoMSA8PCBJUFNfVEVNUExBVEVfQklUKSwKLSBJUFNfVU5UUkFDS0VEX0JJVCA9IDEyLAotIElQU19VTlRSQUNLRUQgPSAoMSA8PCBJUFNfVU5UUkFDS0VEX0JJVCksCisgIElQU19URU1QTEFURV9CSVQgPSAxMSwKKyAgSVBTX1RFTVBMQVRFID0gKDEgPDwgSVBTX1RFTVBMQVRFX0JJVCksCisgIElQU19VTlRSQUNLRURfQklUID0gMTIsCisgIElQU19VTlRSQUNLRUQgPSAoMSA8PCBJUFNfVU5UUkFDS0VEX0JJVCksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU19IRUxQRVJfQklUID0gMTMsCi0gSVBTX0hFTFBFUiA9ICgxIDw8IElQU19IRUxQRVJfQklUKSwKKyAgSVBTX0hFTFBFUl9CSVQgPSAxMywKKyAgSVBTX0hFTFBFUiA9ICgxIDw8IElQU19IRUxQRVJfQklUKSwKIH07CiBlbnVtIGlwX2Nvbm50cmFja19ldmVudHMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUENUX05FVywKLSBJUENUX1JFTEFURUQsCi0gSVBDVF9ERVNUUk9ZLAotIElQQ1RfUkVQTFksCisgIElQQ1RfTkVXLAorICBJUENUX1JFTEFURUQsCisgIElQQ1RfREVTVFJPWSwKKyAgSVBDVF9SRVBMWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBDVF9BU1NVUkVELAotIElQQ1RfUFJPVE9JTkZPLAotIElQQ1RfSEVMUEVSLAotIElQQ1RfTUFSSywKKyAgSVBDVF9BU1NVUkVELAorICBJUENUX1BST1RPSU5GTywKKyAgSVBDVF9IRUxQRVIsCisgIElQQ1RfTUFSSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBDVF9TRVFBREosCi0gSVBDVF9OQVRTRVFBREogPSBJUENUX1NFUUFESiwKLSBJUENUX1NFQ01BUkssCi0gSVBDVF9MQUJFTCwKKyAgSVBDVF9TRVFBREosCisgIElQQ1RfTkFUU0VRQURKID0gSVBDVF9TRVFBREosCisgIElQQ1RfU0VDTUFSSywKKyAgSVBDVF9MQUJFTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBpcF9jb25udHJhY2tfZXhwZWN0X2V2ZW50cyB7Ci0gSVBFWFBfTkVXLAotIElQRVhQX0RFU1RST1ksCisgIElQRVhQX05FVywKKyAgSVBFWFBfREVTVFJPWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBORl9DVF9FWFBFQ1RfUEVSTUFORU5UIDB4MQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2Z0cC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2Z0cC5oCmluZGV4IDFmMGUzYzAuLjIzOTU1ZDMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19mdHAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfZnRwLmgKQEAgLTE5LDExICsxOSwxMSBAQAogI2lmbmRlZiBfVUFQSV9ORl9DT05OVFJBQ0tfRlRQX0gKICNkZWZpbmUgX1VBUElfTkZfQ09OTlRSQUNLX0ZUUF9ICiBlbnVtIG5mX2N0X2Z0cF90eXBlIHsKLSBORl9DVF9GVFBfUE9SVCwKKyAgTkZfQ1RfRlRQX1BPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GX0NUX0ZUUF9QQVNWLAotIE5GX0NUX0ZUUF9FUFJULAotIE5GX0NUX0ZUUF9FUFNWLAorICBORl9DVF9GVFBfUEFTViwKKyAgTkZfQ1RfRlRQX0VQUlQsCisgIE5GX0NUX0ZUUF9FUFNWLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zY3RwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfc2N0cC5oCmluZGV4IDM3YzRlNjkuLmYzMGM1OGUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19zY3RwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3NjdHAuaApAQCAtMjEsMjEgKzIxLDIxIEBACiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190dXBsZV9jb21tb24uaD4KIGVudW0gc2N0cF9jb25udHJhY2sgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTQ1RQX0NPTk5UUkFDS19OT05FLAotIFNDVFBfQ09OTlRSQUNLX0NMT1NFRCwKLSBTQ1RQX0NPTk5UUkFDS19DT09LSUVfV0FJVCwKLSBTQ1RQX0NPTk5UUkFDS19DT09LSUVfRUNIT0VELAorICBTQ1RQX0NPTk5UUkFDS19OT05FLAorICBTQ1RQX0NPTk5UUkFDS19DTE9TRUQsCisgIFNDVFBfQ09OTlRSQUNLX0NPT0tJRV9XQUlULAorICBTQ1RQX0NPTk5UUkFDS19DT09LSUVfRUNIT0VELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTQ1RQX0NPTk5UUkFDS19FU1RBQkxJU0hFRCwKLSBTQ1RQX0NPTk5UUkFDS19TSFVURE9XTl9TRU5ULAotIFNDVFBfQ09OTlRSQUNLX1NIVVRET1dOX1JFQ0QsCi0gU0NUUF9DT05OVFJBQ0tfU0hVVERPV05fQUNLX1NFTlQsCisgIFNDVFBfQ09OTlRSQUNLX0VTVEFCTElTSEVELAorICBTQ1RQX0NPTk5UUkFDS19TSFVURE9XTl9TRU5ULAorICBTQ1RQX0NPTk5UUkFDS19TSFVURE9XTl9SRUNELAorICBTQ1RQX0NPTk5UUkFDS19TSFVURE9XTl9BQ0tfU0VOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9DT05OVFJBQ0tfTUFYCisgIFNDVFBfQ09OTlRSQUNLX01BWAogfTsKIHN0cnVjdCBpcF9jdF9zY3RwIHsKLSBlbnVtIHNjdHBfY29ubnRyYWNrIHN0YXRlOworICBlbnVtIHNjdHBfY29ubnRyYWNrIHN0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgdnRhZ1tJUF9DVF9ESVJfTUFYXTsKKyAgX19iZTMyIHZ0YWdbSVBfQ1RfRElSX01BWF07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGNwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGNwLmgKaW5kZXggM2Q3OWViMy4uMWFmMDBkMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RjcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190Y3AuaApAQCAtMjEsMjUgKzIxLDI1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gdGNwX2Nvbm50cmFjayB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDUF9DT05OVFJBQ0tfTk9ORSwKLSBUQ1BfQ09OTlRSQUNLX1NZTl9TRU5ULAotIFRDUF9DT05OVFJBQ0tfU1lOX1JFQ1YsCi0gVENQX0NPTk5UUkFDS19FU1RBQkxJU0hFRCwKKyAgVENQX0NPTk5UUkFDS19OT05FLAorICBUQ1BfQ09OTlRSQUNLX1NZTl9TRU5ULAorICBUQ1BfQ09OTlRSQUNLX1NZTl9SRUNWLAorICBUQ1BfQ09OTlRSQUNLX0VTVEFCTElTSEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfQ09OTlRSQUNLX0ZJTl9XQUlULAotIFRDUF9DT05OVFJBQ0tfQ0xPU0VfV0FJVCwKLSBUQ1BfQ09OTlRSQUNLX0xBU1RfQUNLLAotIFRDUF9DT05OVFJBQ0tfVElNRV9XQUlULAorICBUQ1BfQ09OTlRSQUNLX0ZJTl9XQUlULAorICBUQ1BfQ09OTlRSQUNLX0NMT1NFX1dBSVQsCisgIFRDUF9DT05OVFJBQ0tfTEFTVF9BQ0ssCisgIFRDUF9DT05OVFJBQ0tfVElNRV9XQUlULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfQ09OTlRSQUNLX0NMT1NFLAotIFRDUF9DT05OVFJBQ0tfTElTVEVOLAorICBUQ1BfQ09OTlRSQUNLX0NMT1NFLAorICBUQ1BfQ09OTlRSQUNLX0xJU1RFTiwKICNkZWZpbmUgVENQX0NPTk5UUkFDS19TWU5fU0VOVDIgVENQX0NPTk5UUkFDS19MSVNURU4KLSBUQ1BfQ09OTlRSQUNLX01BWCwKKyAgVENQX0NPTk5UUkFDS19NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDUF9DT05OVFJBQ0tfSUdOT1JFLAotIFRDUF9DT05OVFJBQ0tfUkVUUkFOUywKLSBUQ1BfQ09OTlRSQUNLX1VOQUNLLAotIFRDUF9DT05OVFJBQ0tfVElNRU9VVF9NQVgKKyAgVENQX0NPTk5UUkFDS19JR05PUkUsCisgIFRDUF9DT05OVFJBQ0tfUkVUUkFOUywKKyAgVENQX0NPTk5UUkFDS19VTkFDSywKKyAgVENQX0NPTk5UUkFDS19USU1FT1VUX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIElQX0NUX1RDUF9GTEFHX1dJTkRPV19TQ0FMRSAweDAxCkBAIC01MSw4ICs1MSw4IEBACiAjZGVmaW5lIElQX0NUX1RDUF9GTEFHX01BWEFDS19TRVQgMHgyMAogc3RydWN0IG5mX2N0X3RjcF9mbGFncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxhZ3M7Ci0gX191OCBtYXNrOworICBfX3U4IGZsYWdzOworICBfX3U4IG1hc2s7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3R1cGxlX2NvbW1vbi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3R1cGxlX2NvbW1vbi5oCmluZGV4IDlmNjUxNWUuLjg1NjZlODYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX2Nvbm50cmFja190dXBsZV9jb21tb24uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfdHVwbGVfY29tbW9uLmgKQEAgLTE5LDM2ICsxOSwzNiBAQAogI2lmbmRlZiBfTkZfQ09OTlRSQUNLX1RVUExFX0NPTU1PTl9ICiAjZGVmaW5lIF9ORl9DT05OVFJBQ0tfVFVQTEVfQ09NTU9OX0gKIGVudW0gaXBfY29ubnRyYWNrX2RpciB7Ci0gSVBfQ1RfRElSX09SSUdJTkFMLAorICBJUF9DVF9ESVJfT1JJR0lOQUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQX0NUX0RJUl9SRVBMWSwKLSBJUF9DVF9ESVJfTUFYCisgIElQX0NUX0RJUl9SRVBMWSwKKyAgSVBfQ1RfRElSX01BWAogfTsKIHVuaW9uIG5mX2Nvbm50cmFja19tYW5fcHJvdG8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgYWxsOwotIHN0cnVjdCB7Ci0gX19iZTE2IHBvcnQ7Ci0gfSB0Y3A7CisgIF9fYmUxNiBhbGw7CisgIHN0cnVjdCB7CisgICAgX19iZTE2IHBvcnQ7CisgIH0gdGNwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIF9fYmUxNiBwb3J0OwotIH0gdWRwOwotIHN0cnVjdCB7CisgIHN0cnVjdCB7CisgICAgX19iZTE2IHBvcnQ7CisgIH0gdWRwOworICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgaWQ7Ci0gfSBpY21wOwotIHN0cnVjdCB7Ci0gX19iZTE2IHBvcnQ7CisgICAgX19iZTE2IGlkOworICB9IGljbXA7CisgIHN0cnVjdCB7CisgICAgX19iZTE2IHBvcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gZGNjcDsKLSBzdHJ1Y3QgewotIF9fYmUxNiBwb3J0OwotIH0gc2N0cDsKKyAgfSBkY2NwOworICBzdHJ1Y3QgeworICAgIF9fYmUxNiBwb3J0OworICB9IHNjdHA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX19iZTE2IGtleTsKLSB9IGdyZTsKKyAgc3RydWN0IHsKKyAgICBfX2JlMTYga2V5OworICB9IGdyZTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVElORk8yRElSKGN0aW5mbykgKChjdGluZm8pID49IElQX0NUX0lTX1JFUExZID8gSVBfQ1RfRElSX1JFUExZIDogSVBfQ1RfRElSX09SSUdJTkFMKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfbmF0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9uYXQuaAppbmRleCBiMzk5ODg4Li42YzExMTgzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9uYXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl9uYXQuaApAQCAtMjcsMjggKzI3LDI5IEBACiAjZGVmaW5lIE5GX05BVF9SQU5HRV9QRVJTSVNURU5UICgxIDw8IDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORl9OQVRfUkFOR0VfUFJPVE9fUkFORE9NX0ZVTExZICgxIDw8IDQpCi0jZGVmaW5lIE5GX05BVF9SQU5HRV9QUk9UT19SQU5ET01fQUxMICAgKE5GX05BVF9SQU5HRV9QUk9UT19SQU5ET00gfCBORl9OQVRfUkFOR0VfUFJPVE9fUkFORE9NX0ZVTExZKQorI2RlZmluZSBORl9OQVRfUkFOR0VfUFJPVE9fUkFORE9NX0FMTCAoTkZfTkFUX1JBTkdFX1BST1RPX1JBTkRPTSB8IE5GX05BVF9SQU5HRV9QUk9UT19SQU5ET01fRlVMTFkpCisjZGVmaW5lIE5GX05BVF9SQU5HRV9NQVNLIChORl9OQVRfUkFOR0VfTUFQX0lQUyB8IE5GX05BVF9SQU5HRV9QUk9UT19TUEVDSUZJRUQgfCBORl9OQVRfUkFOR0VfUFJPVE9fUkFORE9NIHwgTkZfTkFUX1JBTkdFX1BFUlNJU1RFTlQgfCBORl9OQVRfUkFOR0VfUFJPVE9fUkFORE9NX0ZVTExZKQogc3RydWN0IG5mX25hdF9pcHY0X3JhbmdlIHsKLSB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBtaW5faXA7Ci0gX19iZTMyIG1heF9pcDsKLSB1bmlvbiBuZl9jb25udHJhY2tfbWFuX3Byb3RvIG1pbjsKLSB1bmlvbiBuZl9jb25udHJhY2tfbWFuX3Byb3RvIG1heDsKKyAgdW5zaWduZWQgaW50IGZsYWdzOworICBfX2JlMzIgbWluX2lwOworICBfX2JlMzIgbWF4X2lwOworICB1bmlvbiBuZl9jb25udHJhY2tfbWFuX3Byb3RvIG1pbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuaW9uIG5mX2Nvbm50cmFja19tYW5fcHJvdG8gbWF4OwogfTsKIHN0cnVjdCBuZl9uYXRfaXB2NF9tdWx0aV9yYW5nZV9jb21wYXQgewotIHVuc2lnbmVkIGludCByYW5nZXNpemU7Ci0gc3RydWN0IG5mX25hdF9pcHY0X3JhbmdlIHJhbmdlWzFdOworICB1bnNpZ25lZCBpbnQgcmFuZ2VzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IG5mX25hdF9pcHY0X3JhbmdlIHJhbmdlWzFdOwogfTsKIHN0cnVjdCBuZl9uYXRfcmFuZ2UgewotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bmlvbiBuZl9pbmV0X2FkZHIgbWluX2FkZHI7CisgIHVuc2lnbmVkIGludCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gbmZfaW5ldF9hZGRyIG1heF9hZGRyOwotIHVuaW9uIG5mX2Nvbm50cmFja19tYW5fcHJvdG8gbWluX3Byb3RvOwotIHVuaW9uIG5mX2Nvbm50cmFja19tYW5fcHJvdG8gbWF4X3Byb3RvOworICB1bmlvbiBuZl9pbmV0X2FkZHIgbWluX2FkZHI7CisgIHVuaW9uIG5mX2luZXRfYWRkciBtYXhfYWRkcjsKKyAgdW5pb24gbmZfY29ubnRyYWNrX21hbl9wcm90byBtaW5fcHJvdG87CisgIHVuaW9uIG5mX2Nvbm50cmFja19tYW5fcHJvdG8gbWF4X3Byb3RvOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl90YWJsZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX3RhYmxlcy5oCmluZGV4IDM0NjMyZGQuLjU4OTg0YWYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX3RhYmxlcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX3RhYmxlcy5oCkBAIC0xOSwzOTkgKzE5LDQzNCBAQAogI2lmbmRlZiBfTElOVVhfTkZfVEFCTEVTX0gKICNkZWZpbmUgX0xJTlVYX05GX1RBQkxFU19ICiAjZGVmaW5lIE5GVF9DSEFJTl9NQVhOQU1FTEVOIDMyCisjZGVmaW5lIE5GVF9VU0VSREFUQV9NQVhMRU4gMjU2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnRfcmVnaXN0ZXJzIHsKKyAgTkZUX1JFR19WRVJESUNULAorICBORlRfUkVHXzEsCisgIE5GVF9SRUdfMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX1JFR19WRVJESUNULAotIE5GVF9SRUdfMSwKLSBORlRfUkVHXzIsCi0gTkZUX1JFR18zLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRfUkVHXzQsCi0gX19ORlRfUkVHX01BWAorICBORlRfUkVHXzMsCisgIE5GVF9SRUdfNCwKKyAgX19ORlRfUkVHX01BWAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVF9SRUdfTUFYIChfX05GVF9SRUdfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF92ZXJkaWN0cyB7Ci0gTkZUX0NPTlRJTlVFID0gLTEsCi0gTkZUX0JSRUFLID0gLTIsCi0gTkZUX0pVTVAgPSAtMywKKyAgTkZUX0NPTlRJTlVFID0gLSAxLAorICBORlRfQlJFQUsgPSAtIDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9HT1RPID0gLTQsCi0gTkZUX1JFVFVSTiA9IC01LAorICBORlRfSlVNUCA9IC0gMywKKyAgTkZUX0dPVE8gPSAtIDQsCisgIE5GVF9SRVRVUk4gPSAtIDUsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZfdGFibGVzX21zZ190eXBlcyB7CisgIE5GVF9NU0dfTkVXVEFCTEUsCisgIE5GVF9NU0dfR0VUVEFCTEUsCisgIE5GVF9NU0dfREVMVEFCTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9NU0dfTkVXVEFCTEUsCi0gTkZUX01TR19HRVRUQUJMRSwKLSBORlRfTVNHX0RFTFRBQkxFLAotIE5GVF9NU0dfTkVXQ0hBSU4sCisgIE5GVF9NU0dfTkVXQ0hBSU4sCisgIE5GVF9NU0dfR0VUQ0hBSU4sCisgIE5GVF9NU0dfREVMQ0hBSU4sCisgIE5GVF9NU0dfTkVXUlVMRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX01TR19HRVRDSEFJTiwKLSBORlRfTVNHX0RFTENIQUlOLAotIE5GVF9NU0dfTkVXUlVMRSwKLSBORlRfTVNHX0dFVFJVTEUsCisgIE5GVF9NU0dfR0VUUlVMRSwKKyAgTkZUX01TR19ERUxSVUxFLAorICBORlRfTVNHX05FV1NFVCwKKyAgTkZUX01TR19HRVRTRVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9NU0dfREVMUlVMRSwKLSBORlRfTVNHX05FV1NFVCwKLSBORlRfTVNHX0dFVFNFVCwKLSBORlRfTVNHX0RFTFNFVCwKKyAgTkZUX01TR19ERUxTRVQsCisgIE5GVF9NU0dfTkVXU0VURUxFTSwKKyAgTkZUX01TR19HRVRTRVRFTEVNLAorICBORlRfTVNHX0RFTFNFVEVMRU0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9NU0dfTkVXU0VURUxFTSwKLSBORlRfTVNHX0dFVFNFVEVMRU0sCi0gTkZUX01TR19ERUxTRVRFTEVNLAotIE5GVF9NU0dfTUFYLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkZUX01TR19ORVdHRU4sCisgIE5GVF9NU0dfR0VUR0VOLAorICBORlRfTVNHX01BWCwKIH07Ci1lbnVtIG5mdF9saXN0X2F0dHJpYnV0ZXMgewotIE5GVEFfTElTVF9VTlBFQywKLSBORlRBX0xJU1RfRUxFTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19ORlRBX0xJU1RfTUFYCitlbnVtIG5mdF9saXN0X2F0dHJpYnV0ZXMgeworICBORlRBX0xJU1RfVU5QRUMsCisgIE5GVEFfTElTVF9FTEVNLAorICBfX05GVEFfTElTVF9NQVgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBORlRBX0xJU1RfTUFYIChfX05GVEFfTElTVF9NQVggLSAxKQogZW51bSBuZnRfaG9va19hdHRyaWJ1dGVzIHsKKyAgTkZUQV9IT09LX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9IT09LX1VOU1BFQywKLSBORlRBX0hPT0tfSE9PS05VTSwKLSBORlRBX0hPT0tfUFJJT1JJVFksCi0gX19ORlRBX0hPT0tfTUFYCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORlRBX0hPT0tfSE9PS05VTSwKKyAgTkZUQV9IT09LX1BSSU9SSVRZLAorICBfX05GVEFfSE9PS19NQVgKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORlRBX0hPT0tfTUFYIChfX05GVEFfSE9PS19NQVggLSAxKQogZW51bSBuZnRfdGFibGVfZmxhZ3MgewotIE5GVF9UQUJMRV9GX0RPUk1BTlQgPSAweDEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORlRfVEFCTEVfRl9ET1JNQU5UID0gMHgxLAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF90YWJsZV9hdHRyaWJ1dGVzIHsKLSBORlRBX1RBQkxFX1VOU1BFQywKLSBORlRBX1RBQkxFX05BTUUsCisgIE5GVEFfVEFCTEVfVU5TUEVDLAorICBORlRBX1RBQkxFX05BTUUsCisgIE5GVEFfVEFCTEVfRkxBR1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfVEFCTEVfRkxBR1MsCi0gTkZUQV9UQUJMRV9VU0UsCi0gX19ORlRBX1RBQkxFX01BWAorICBORlRBX1RBQkxFX1VTRSwKKyAgX19ORlRBX1RBQkxFX01BWAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVEFfVEFCTEVfTUFYIChfX05GVEFfVEFCTEVfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9jaGFpbl9hdHRyaWJ1dGVzIHsKLSBORlRBX0NIQUlOX1VOU1BFQywKLSBORlRBX0NIQUlOX1RBQkxFLAorICBORlRBX0NIQUlOX1VOU1BFQywKKyAgTkZUQV9DSEFJTl9UQUJMRSwKKyAgTkZUQV9DSEFJTl9IQU5ETEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfQ0hBSU5fSEFORExFLAotIE5GVEFfQ0hBSU5fTkFNRSwKLSBORlRBX0NIQUlOX0hPT0ssCi0gTkZUQV9DSEFJTl9QT0xJQ1ksCisgIE5GVEFfQ0hBSU5fTkFNRSwKKyAgTkZUQV9DSEFJTl9IT09LLAorICBORlRBX0NIQUlOX1BPTElDWSwKKyAgTkZUQV9DSEFJTl9VU0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfQ0hBSU5fVVNFLAotIE5GVEFfQ0hBSU5fVFlQRSwKLSBORlRBX0NIQUlOX0NPVU5URVJTLAotIF9fTkZUQV9DSEFJTl9NQVgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVEFfQ0hBSU5fVFlQRSwKKyAgTkZUQV9DSEFJTl9DT1VOVEVSUywKKyAgX19ORlRBX0NIQUlOX01BWAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVEFfQ0hBSU5fTUFYIChfX05GVEFfQ0hBSU5fTUFYIC0gMSkKIGVudW0gbmZ0X3J1bGVfYXR0cmlidXRlcyB7Ci0gTkZUQV9SVUxFX1VOU1BFQywKKyAgTkZUQV9SVUxFX1VOU1BFQywKKyAgTkZUQV9SVUxFX1RBQkxFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX1JVTEVfVEFCTEUsCi0gTkZUQV9SVUxFX0NIQUlOLAotIE5GVEFfUlVMRV9IQU5ETEUsCi0gTkZUQV9SVUxFX0VYUFJFU1NJT05TLAorICBORlRBX1JVTEVfQ0hBSU4sCisgIE5GVEFfUlVMRV9IQU5ETEUsCisgIE5GVEFfUlVMRV9FWFBSRVNTSU9OUywKKyAgTkZUQV9SVUxFX0NPTVBBVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9SVUxFX0NPTVBBVCwKLSBORlRBX1JVTEVfUE9TSVRJT04sCi0gX19ORlRBX1JVTEVfTUFYCisgIE5GVEFfUlVMRV9QT1NJVElPTiwKKyAgTkZUQV9SVUxFX1VTRVJEQVRBLAorICBfX05GVEFfUlVMRV9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORlRBX1JVTEVfTUFYIChfX05GVEFfUlVMRV9NQVggLSAxKQogZW51bSBuZnRfcnVsZV9jb21wYXRfZmxhZ3MgewotIE5GVF9SVUxFX0NPTVBBVF9GX0lOViA9ICgxIDw8IDEpLAotIE5GVF9SVUxFX0NPTVBBVF9GX01BU0sgPSBORlRfUlVMRV9DT01QQVRfRl9JTlYsCisgIE5GVF9SVUxFX0NPTVBBVF9GX0lOViA9ICgxIDw8IDEpLAorICBORlRfUlVMRV9DT01QQVRfRl9NQVNLID0gTkZUX1JVTEVfQ09NUEFUX0ZfSU5WLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG5mdF9ydWxlX2NvbXBhdF9hdHRyaWJ1dGVzIHsKLSBORlRBX1JVTEVfQ09NUEFUX1VOU1BFQywKLSBORlRBX1JVTEVfQ09NUEFUX1BST1RPLAorICBORlRBX1JVTEVfQ09NUEFUX1VOU1BFQywKKyAgTkZUQV9SVUxFX0NPTVBBVF9QUk9UTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9SVUxFX0NPTVBBVF9GTEFHUywKLSBfX05GVEFfUlVMRV9DT01QQVRfTUFYCisgIE5GVEFfUlVMRV9DT01QQVRfRkxBR1MsCisgIF9fTkZUQV9SVUxFX0NPTVBBVF9NQVgKIH07CiAjZGVmaW5lIE5GVEFfUlVMRV9DT01QQVRfTUFYIChfX05GVEFfUlVMRV9DT01QQVRfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9zZXRfZmxhZ3MgewotIE5GVF9TRVRfQU5PTllNT1VTID0gMHgxLAotIE5GVF9TRVRfQ09OU1RBTlQgPSAweDIsCi0gTkZUX1NFVF9JTlRFUlZBTCA9IDB4NCwKKyAgTkZUX1NFVF9BTk9OWU1PVVMgPSAweDEsCisgIE5GVF9TRVRfQ09OU1RBTlQgPSAweDIsCisgIE5GVF9TRVRfSU5URVJWQUwgPSAweDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9TRVRfTUFQID0gMHg4LAorICBORlRfU0VUX01BUCA9IDB4OCwKIH07CitlbnVtIG5mdF9zZXRfcG9saWNpZXMgeworICBORlRfU0VUX1BPTF9QRVJGT1JNQU5DRSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVF9TRVRfUE9MX01FTU9SWSwKK307CitlbnVtIG5mdF9zZXRfZGVzY19hdHRyaWJ1dGVzIHsKKyAgTkZUQV9TRVRfREVTQ19VTlNQRUMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORlRBX1NFVF9ERVNDX1NJWkUsCisgIF9fTkZUQV9TRVRfREVTQ19NQVgKK307CisjZGVmaW5lIE5GVEFfU0VUX0RFU0NfTUFYIChfX05GVEFfU0VUX0RFU0NfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9zZXRfYXR0cmlidXRlcyB7Ci0gTkZUQV9TRVRfVU5TUEVDLAorICBORlRBX1NFVF9VTlNQRUMsCisgIE5GVEFfU0VUX1RBQkxFLAorICBORlRBX1NFVF9OQU1FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX1NFVF9UQUJMRSwKLSBORlRBX1NFVF9OQU1FLAotIE5GVEFfU0VUX0ZMQUdTLAotIE5GVEFfU0VUX0tFWV9UWVBFLAorICBORlRBX1NFVF9GTEFHUywKKyAgTkZUQV9TRVRfS0VZX1RZUEUsCisgIE5GVEFfU0VUX0tFWV9MRU4sCisgIE5GVEFfU0VUX0RBVEFfVFlQRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9TRVRfS0VZX0xFTiwKLSBORlRBX1NFVF9EQVRBX1RZUEUsCi0gTkZUQV9TRVRfREFUQV9MRU4sCi0gX19ORlRBX1NFVF9NQVgKKyAgTkZUQV9TRVRfREFUQV9MRU4sCisgIE5GVEFfU0VUX1BPTElDWSwKKyAgTkZUQV9TRVRfREVTQywKKyAgTkZUQV9TRVRfSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX05GVEFfU0VUX01BWAogfTsKICNkZWZpbmUgTkZUQV9TRVRfTUFYIChfX05GVEFfU0VUX01BWCAtIDEpCiBlbnVtIG5mdF9zZXRfZWxlbV9mbGFncyB7Ci0gTkZUX1NFVF9FTEVNX0lOVEVSVkFMX0VORCA9IDB4MSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVF9TRVRfRUxFTV9JTlRFUlZBTF9FTkQgPSAweDEsCiB9OwogZW51bSBuZnRfc2V0X2VsZW1fYXR0cmlidXRlcyB7Ci0gTkZUQV9TRVRfRUxFTV9VTlNQRUMsCi0gTkZUQV9TRVRfRUxFTV9LRVksCisgIE5GVEFfU0VUX0VMRU1fVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX1NFVF9FTEVNX0RBVEEsCi0gTkZUQV9TRVRfRUxFTV9GTEFHUywKLSBfX05GVEFfU0VUX0VMRU1fTUFYCisgIE5GVEFfU0VUX0VMRU1fS0VZLAorICBORlRBX1NFVF9FTEVNX0RBVEEsCisgIE5GVEFfU0VUX0VMRU1fRkxBR1MsCisgIF9fTkZUQV9TRVRfRUxFTV9NQVgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZUQV9TRVRfRUxFTV9NQVggKF9fTkZUQV9TRVRfRUxFTV9NQVggLSAxKQogZW51bSBuZnRfc2V0X2VsZW1fbGlzdF9hdHRyaWJ1dGVzIHsKLSBORlRBX1NFVF9FTEVNX0xJU1RfVU5TUEVDLAotIE5GVEFfU0VUX0VMRU1fTElTVF9UQUJMRSwKKyAgTkZUQV9TRVRfRUxFTV9MSVNUX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9TRVRfRUxFTV9MSVNUX1NFVCwKLSBORlRBX1NFVF9FTEVNX0xJU1RfRUxFTUVOVFMsCi0gX19ORlRBX1NFVF9FTEVNX0xJU1RfTUFYCisgIE5GVEFfU0VUX0VMRU1fTElTVF9UQUJMRSwKKyAgTkZUQV9TRVRfRUxFTV9MSVNUX1NFVCwKKyAgTkZUQV9TRVRfRUxFTV9MSVNUX0VMRU1FTlRTLAorICBORlRBX1NFVF9FTEVNX0xJU1RfU0VUX0lELAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19ORlRBX1NFVF9FTEVNX0xJU1RfTUFYCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZUQV9TRVRfRUxFTV9MSVNUX01BWCAoX19ORlRBX1NFVF9FTEVNX0xJU1RfTUFYIC0gMSkKIGVudW0gbmZ0X2RhdGFfdHlwZXMgewotIE5GVF9EQVRBX1ZBTFVFLAotIE5GVF9EQVRBX1ZFUkRJQ1QgPSAweGZmZmZmZjAwVSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVF9EQVRBX1ZBTFVFLAorICBORlRfREFUQV9WRVJESUNUID0gMHhmZmZmZmYwMFUsCiB9OwogI2RlZmluZSBORlRfREFUQV9SRVNFUlZFRF9NQVNLIDB4ZmZmZmZmMDBVCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnRfZGF0YV9hdHRyaWJ1dGVzIHsKLSBORlRBX0RBVEFfVU5TUEVDLAorICBORlRBX0RBVEFfVU5TUEVDLAorICBORlRBX0RBVEFfVkFMVUUsCisgIE5GVEFfREFUQV9WRVJESUNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX0RBVEFfVkFMVUUsCi0gTkZUQV9EQVRBX1ZFUkRJQ1QsCi0gX19ORlRBX0RBVEFfTUFYCisgIF9fTkZUQV9EQVRBX01BWAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVEFfREFUQV9NQVggKF9fTkZUQV9EQVRBX01BWCAtIDEpCiBlbnVtIG5mdF92ZXJkaWN0X2F0dHJpYnV0ZXMgewotIE5GVEFfVkVSRElDVF9VTlNQRUMsCi0gTkZUQV9WRVJESUNUX0NPREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfVkVSRElDVF9DSEFJTiwKLSBfX05GVEFfVkVSRElDVF9NQVgKKyAgTkZUQV9WRVJESUNUX1VOU1BFQywKKyAgTkZUQV9WRVJESUNUX0NPREUsCisgIE5GVEFfVkVSRElDVF9DSEFJTiwKKyAgX19ORlRBX1ZFUkRJQ1RfTUFYCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTkZUQV9WRVJESUNUX01BWCAoX19ORlRBX1ZFUkRJQ1RfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9leHByX2F0dHJpYnV0ZXMgewotIE5GVEFfRVhQUl9VTlNQRUMsCi0gTkZUQV9FWFBSX05BTUUsCi0gTkZUQV9FWFBSX0RBVEEsCisgIE5GVEFfRVhQUl9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fTkZUQV9FWFBSX01BWAorICBORlRBX0VYUFJfTkFNRSwKKyAgTkZUQV9FWFBSX0RBVEEsCisgIF9fTkZUQV9FWFBSX01BWAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVEFfRVhQUl9NQVggKF9fTkZUQV9FWFBSX01BWCAtIDEpCiBlbnVtIG5mdF9pbW1lZGlhdGVfYXR0cmlidXRlcyB7CisgIE5GVEFfSU1NRURJQVRFX1VOU1BFQywKKyAgTkZUQV9JTU1FRElBVEVfRFJFRywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9JTU1FRElBVEVfVU5TUEVDLAotIE5GVEFfSU1NRURJQVRFX0RSRUcsCi0gTkZUQV9JTU1FRElBVEVfREFUQSwKLSBfX05GVEFfSU1NRURJQVRFX01BWAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkZUQV9JTU1FRElBVEVfREFUQSwKKyAgX19ORlRBX0lNTUVESUFURV9NQVgKIH07CiAjZGVmaW5lIE5GVEFfSU1NRURJQVRFX01BWCAoX19ORlRBX0lNTUVESUFURV9NQVggLSAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZ0X2JpdHdpc2VfYXR0cmlidXRlcyB7Ci0gTkZUQV9CSVRXSVNFX1VOU1BFQywKKyAgTkZUQV9CSVRXSVNFX1VOU1BFQywKKyAgTkZUQV9CSVRXSVNFX1NSRUcsCisgIE5GVEFfQklUV0lTRV9EUkVHLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX0JJVFdJU0VfU1JFRywKLSBORlRBX0JJVFdJU0VfRFJFRywKLSBORlRBX0JJVFdJU0VfTEVOLAotIE5GVEFfQklUV0lTRV9NQVNLLAorICBORlRBX0JJVFdJU0VfTEVOLAorICBORlRBX0JJVFdJU0VfTUFTSywKKyAgTkZUQV9CSVRXSVNFX1hPUiwKKyAgX19ORlRBX0JJVFdJU0VfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfQklUV0lTRV9YT1IsCi0gX19ORlRBX0JJVFdJU0VfTUFYCiB9OwogI2RlZmluZSBORlRBX0JJVFdJU0VfTUFYIChfX05GVEFfQklUV0lTRV9NQVggLSAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZ0X2J5dGVvcmRlcl9vcHMgewotIE5GVF9CWVRFT1JERVJfTlRPSCwKLSBORlRfQllURU9SREVSX0hUT04sCisgIE5GVF9CWVRFT1JERVJfTlRPSCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVF9CWVRFT1JERVJfSFRPTiwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnRfYnl0ZW9yZGVyX2F0dHJpYnV0ZXMgewotIE5GVEFfQllURU9SREVSX1VOU1BFQywKLSBORlRBX0JZVEVPUkRFUl9TUkVHLAotIE5GVEFfQllURU9SREVSX0RSRUcsCisgIE5GVEFfQllURU9SREVSX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9CWVRFT1JERVJfT1AsCi0gTkZUQV9CWVRFT1JERVJfTEVOLAotIE5GVEFfQllURU9SREVSX1NJWkUsCi0gX19ORlRBX0JZVEVPUkRFUl9NQVgKKyAgTkZUQV9CWVRFT1JERVJfU1JFRywKKyAgTkZUQV9CWVRFT1JERVJfRFJFRywKKyAgTkZUQV9CWVRFT1JERVJfT1AsCisgIE5GVEFfQllURU9SREVSX0xFTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVEFfQllURU9SREVSX1NJWkUsCisgIF9fTkZUQV9CWVRFT1JERVJfTUFYCiB9OwogI2RlZmluZSBORlRBX0JZVEVPUkRFUl9NQVggKF9fTkZUQV9CWVRFT1JERVJfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9jbXBfb3BzIHsKLSBORlRfQ01QX0VRLAorICBORlRfQ01QX0VRLAorICBORlRfQ01QX05FUSwKKyAgTkZUX0NNUF9MVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX0NNUF9ORVEsCi0gTkZUX0NNUF9MVCwKLSBORlRfQ01QX0xURSwKLSBORlRfQ01QX0dULAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRfQ01QX0dURSwKKyAgTkZUX0NNUF9MVEUsCisgIE5GVF9DTVBfR1QsCisgIE5GVF9DTVBfR1RFLAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9jbXBfYXR0cmlidXRlcyB7Ci0gTkZUQV9DTVBfVU5TUEVDLAorICBORlRBX0NNUF9VTlNQRUMsCisgIE5GVEFfQ01QX1NSRUcsCisgIE5GVEFfQ01QX09QLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX0NNUF9TUkVHLAotIE5GVEFfQ01QX09QLAotIE5GVEFfQ01QX0RBVEEsCi0gX19ORlRBX0NNUF9NQVgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVEFfQ01QX0RBVEEsCisgIF9fTkZUQV9DTVBfTUFYCiB9OwogI2RlZmluZSBORlRBX0NNUF9NQVggKF9fTkZUQV9DTVBfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdF9sb29rdXBfYXR0cmlidXRlcyB7Ci0gTkZUQV9MT09LVVBfVU5TUEVDLAorICBORlRBX0xPT0tVUF9VTlNQRUMsCisgIE5GVEFfTE9PS1VQX1NFVCwKKyAgTkZUQV9MT09LVVBfU1JFRywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9MT09LVVBfU0VULAotIE5GVEFfTE9PS1VQX1NSRUcsCi0gTkZUQV9MT09LVVBfRFJFRywKLSBfX05GVEFfTE9PS1VQX01BWAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkZUQV9MT09LVVBfRFJFRywKKyAgTkZUQV9MT09LVVBfU0VUX0lELAorICBfX05GVEFfTE9PS1VQX01BWAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVEFfTE9PS1VQX01BWCAoX19ORlRBX0xPT0tVUF9NQVggLSAxKQogZW51bSBuZnRfcGF5bG9hZF9iYXNlcyB7Ci0gTkZUX1BBWUxPQURfTExfSEVBREVSLAorICBORlRfUEFZTE9BRF9MTF9IRUFERVIsCisgIE5GVF9QQVlMT0FEX05FVFdPUktfSEVBREVSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRfUEFZTE9BRF9ORVRXT1JLX0hFQURFUiwKLSBORlRfUEFZTE9BRF9UUkFOU1BPUlRfSEVBREVSLAorICBORlRfUEFZTE9BRF9UUkFOU1BPUlRfSEVBREVSLAogfTsKIGVudW0gbmZ0X3BheWxvYWRfYXR0cmlidXRlcyB7CisgIE5GVEFfUEFZTE9BRF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfUEFZTE9BRF9VTlNQRUMsCi0gTkZUQV9QQVlMT0FEX0RSRUcsCi0gTkZUQV9QQVlMT0FEX0JBU0UsCi0gTkZUQV9QQVlMT0FEX09GRlNFVCwKKyAgTkZUQV9QQVlMT0FEX0RSRUcsCisgIE5GVEFfUEFZTE9BRF9CQVNFLAorICBORlRBX1BBWUxPQURfT0ZGU0VULAorICBORlRBX1BBWUxPQURfTEVOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX1BBWUxPQURfTEVOLAotIF9fTkZUQV9QQVlMT0FEX01BWAorICBfX05GVEFfUEFZTE9BRF9NQVgKIH07CiAjZGVmaW5lIE5GVEFfUEFZTE9BRF9NQVggKF9fTkZUQV9QQVlMT0FEX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnRfZXh0aGRyX2F0dHJpYnV0ZXMgewotIE5GVEFfRVhUSERSX1VOU1BFQywKLSBORlRBX0VYVEhEUl9EUkVHLAotIE5GVEFfRVhUSERSX1RZUEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfRVhUSERSX09GRlNFVCwKLSBORlRBX0VYVEhEUl9MRU4sCi0gX19ORlRBX0VYVEhEUl9NQVgKKyAgTkZUQV9FWFRIRFJfVU5TUEVDLAorICBORlRBX0VYVEhEUl9EUkVHLAorICBORlRBX0VYVEhEUl9UWVBFLAorICBORlRBX0VYVEhEUl9PRkZTRVQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORlRBX0VYVEhEUl9MRU4sCisgIF9fTkZUQV9FWFRIRFJfTUFYCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZUQV9FWFRIRFJfTUFYIChfX05GVEFfRVhUSERSX01BWCAtIDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnRfbWV0YV9rZXlzIHsKLSBORlRfTUVUQV9MRU4sCi0gTkZUX01FVEFfUFJPVE9DT0wsCisgIE5GVF9NRVRBX0xFTiwKKyAgTkZUX01FVEFfUFJPVE9DT0wsCisgIE5GVF9NRVRBX1BSSU9SSVRZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRfTUVUQV9QUklPUklUWSwKLSBORlRfTUVUQV9NQVJLLAotIE5GVF9NRVRBX0lJRiwKLSBORlRfTUVUQV9PSUYsCisgIE5GVF9NRVRBX01BUkssCisgIE5GVF9NRVRBX0lJRiwKKyAgTkZUX01FVEFfT0lGLAorICBORlRfTUVUQV9JSUZOQU1FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRfTUVUQV9JSUZOQU1FLAotIE5GVF9NRVRBX09JRk5BTUUsCi0gTkZUX01FVEFfSUlGVFlQRSwKLSBORlRfTUVUQV9PSUZUWVBFLAorICBORlRfTUVUQV9PSUZOQU1FLAorICBORlRfTUVUQV9JSUZUWVBFLAorICBORlRfTUVUQV9PSUZUWVBFLAorICBORlRfTUVUQV9TS1VJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX01FVEFfU0tVSUQsCi0gTkZUX01FVEFfU0tHSUQsCi0gTkZUX01FVEFfTkZUUkFDRSwKLSBORlRfTUVUQV9SVENMQVNTSUQsCisgIE5GVF9NRVRBX1NLR0lELAorICBORlRfTUVUQV9ORlRSQUNFLAorICBORlRfTUVUQV9SVENMQVNTSUQsCisgIE5GVF9NRVRBX1NFQ01BUkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9NRVRBX1NFQ01BUkssCi0gTkZUX01FVEFfTkZQUk9UTywKLSBORlRfTUVUQV9MNFBST1RPLAorICBORlRfTUVUQV9ORlBST1RPLAorICBORlRfTUVUQV9MNFBST1RPLAorICBORlRfTUVUQV9CUklfSUlGTkFNRSwKKyAgTkZUX01FVEFfQlJJX09JRk5BTUUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORlRfTUVUQV9QS1RUWVBFLAorICBORlRfTUVUQV9DUFUsCisgIE5GVF9NRVRBX0lJRkdST1VQLAorICBORlRfTUVUQV9PSUZHUk9VUCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZ0X21ldGFfYXR0cmlidXRlcyB7Ci0gTkZUQV9NRVRBX1VOU1BFQywKLSBORlRBX01FVEFfRFJFRywKLSBORlRBX01FVEFfS0VZLAorICBORlRBX01FVEFfVU5TUEVDLAorICBORlRBX01FVEFfRFJFRywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9NRVRBX1NSRUcsCi0gX19ORlRBX01FVEFfTUFYCisgIE5GVEFfTUVUQV9LRVksCisgIE5GVEFfTUVUQV9TUkVHLAorICBfX05GVEFfTUVUQV9NQVgKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORlRBX01FVEFfTUFYIChfX05GVEFfTUVUQV9NQVggLSAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZ0X2N0X2tleXMgewotIE5GVF9DVF9TVEFURSwKLSBORlRfQ1RfRElSRUNUSU9OLAotIE5GVF9DVF9TVEFUVVMsCisgIE5GVF9DVF9TVEFURSwKKyAgTkZUX0NUX0RJUkVDVElPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX0NUX01BUkssCi0gTkZUX0NUX1NFQ01BUkssCi0gTkZUX0NUX0VYUElSQVRJT04sCi0gTkZUX0NUX0hFTFBFUiwKKyAgTkZUX0NUX1NUQVRVUywKKyAgTkZUX0NUX01BUkssCisgIE5GVF9DVF9TRUNNQVJLLAorICBORlRfQ1RfRVhQSVJBVElPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX0NUX0wzUFJPVE9DT0wsCi0gTkZUX0NUX1NSQywKLSBORlRfQ1RfRFNULAotIE5GVF9DVF9QUk9UT0NPTCwKKyAgTkZUX0NUX0hFTFBFUiwKKyAgTkZUX0NUX0wzUFJPVE9DT0wsCisgIE5GVF9DVF9TUkMsCisgIE5GVF9DVF9EU1QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVF9DVF9QUk9UT19TUkMsCi0gTkZUX0NUX1BST1RPX0RTVCwKKyAgTkZUX0NUX1BST1RPQ09MLAorICBORlRfQ1RfUFJPVE9fU1JDLAorICBORlRfQ1RfUFJPVE9fRFNULAorICBORlRfQ1RfTEFCRUxTLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG5mdF9jdF9hdHRyaWJ1dGVzIHsKKyAgTkZUQV9DVF9VTlNQRUMsCisgIE5GVEFfQ1RfRFJFRywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9DVF9VTlNQRUMsCi0gTkZUQV9DVF9EUkVHLAotIE5GVEFfQ1RfS0VZLAotIE5GVEFfQ1RfRElSRUNUSU9OLAorICBORlRBX0NUX0tFWSwKKyAgTkZUQV9DVF9ESVJFQ1RJT04sCisgIE5GVEFfQ1RfU1JFRywKKyAgX19ORlRBX0NUX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX0NUX1NSRUcsCi0gX19ORlRBX0NUX01BWAogfTsKICNkZWZpbmUgTkZUQV9DVF9NQVggKF9fTkZUQV9DVF9NQVggLSAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZ0X2xpbWl0X2F0dHJpYnV0ZXMgewotIE5GVEFfTElNSVRfVU5TUEVDLAotIE5GVEFfTElNSVRfUkFURSwKLSBORlRBX0xJTUlUX1VOSVQsCisgIE5GVEFfTElNSVRfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05GVEFfTElNSVRfTUFYCisgIE5GVEFfTElNSVRfUkFURSwKKyAgTkZUQV9MSU1JVF9VTklULAorICBfX05GVEFfTElNSVRfTUFYCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZUQV9MSU1JVF9NQVggKF9fTkZUQV9MSU1JVF9NQVggLSAxKQogZW51bSBuZnRfY291bnRlcl9hdHRyaWJ1dGVzIHsKKyAgTkZUQV9DT1VOVEVSX1VOU1BFQywKKyAgTkZUQV9DT1VOVEVSX0JZVEVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX0NPVU5URVJfVU5TUEVDLAotIE5GVEFfQ09VTlRFUl9CWVRFUywKLSBORlRBX0NPVU5URVJfUEFDS0VUUywKLSBfX05GVEFfQ09VTlRFUl9NQVgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVEFfQ09VTlRFUl9QQUNLRVRTLAorICBfX05GVEFfQ09VTlRFUl9NQVgKIH07CiAjZGVmaW5lIE5GVEFfQ09VTlRFUl9NQVggKF9fTkZUQV9DT1VOVEVSX01BWCAtIDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnRfbG9nX2F0dHJpYnV0ZXMgewotIE5GVEFfTE9HX1VOU1BFQywKKyAgTkZUQV9MT0dfVU5TUEVDLAorICBORlRBX0xPR19HUk9VUCwKKyAgTkZUQV9MT0dfUFJFRklYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX0xPR19HUk9VUCwKLSBORlRBX0xPR19QUkVGSVgsCi0gTkZUQV9MT0dfU05BUExFTiwKLSBORlRBX0xPR19RVEhSRVNIT0xELAorICBORlRBX0xPR19TTkFQTEVOLAorICBORlRBX0xPR19RVEhSRVNIT0xELAorICBORlRBX0xPR19MRVZFTCwKKyAgTkZUQV9MT0dfRkxBR1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fTkZUQV9MT0dfTUFYCisgIF9fTkZUQV9MT0dfTUFYCiB9OwogI2RlZmluZSBORlRBX0xPR19NQVggKF9fTkZUQV9MT0dfTUFYIC0gMSkKIGVudW0gbmZ0X3F1ZXVlX2F0dHJpYnV0ZXMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX1FVRVVFX1VOU1BFQywKLSBORlRBX1FVRVVFX05VTSwKLSBORlRBX1FVRVVFX1RPVEFMLAotIE5GVEFfUVVFVUVfRkxBR1MsCisgIE5GVEFfUVVFVUVfVU5TUEVDLAorICBORlRBX1FVRVVFX05VTSwKKyAgTkZUQV9RVUVVRV9UT1RBTCwKKyAgTkZUQV9RVUVVRV9GTEFHUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19ORlRBX1FVRVVFX01BWAorICBfX05GVEFfUVVFVUVfTUFYCiB9OwogI2RlZmluZSBORlRBX1FVRVVFX01BWCAoX19ORlRBX1FVRVVFX01BWCAtIDEpCiAjZGVmaW5lIE5GVF9RVUVVRV9GTEFHX0JZUEFTUyAweDAxCkBAIC00MTksMzYgKzQ1NCw2MyBAQAogI2RlZmluZSBORlRfUVVFVUVfRkxBR19DUFVfRkFOT1VUIDB4MDIKICNkZWZpbmUgTkZUX1FVRVVFX0ZMQUdfTUFTSyAweDAzCiBlbnVtIG5mdF9yZWplY3RfdHlwZXMgewotIE5GVF9SRUpFQ1RfSUNNUF9VTlJFQUNILAorICBORlRfUkVKRUNUX0lDTVBfVU5SRUFDSCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUX1JFSkVDVF9UQ1BfUlNULAorICBORlRfUkVKRUNUX1RDUF9SU1QsCisgIE5GVF9SRUpFQ1RfSUNNUFhfVU5SRUFDSCwKIH07CitlbnVtIG5mdF9yZWplY3RfaW5ldF9jb2RlIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVF9SRUpFQ1RfSUNNUFhfTk9fUk9VVEUgPSAwLAorICBORlRfUkVKRUNUX0lDTVBYX1BPUlRfVU5SRUFDSCwKKyAgTkZUX1JFSkVDVF9JQ01QWF9IT1NUX1VOUkVBQ0gsCisgIE5GVF9SRUpFQ1RfSUNNUFhfQURNSU5fUFJPSElCSVRFRCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fTkZUX1JFSkVDVF9JQ01QWF9NQVgKK307CisjZGVmaW5lIE5GVF9SRUpFQ1RfSUNNUFhfTUFYIChfX05GVF9SRUpFQ1RfSUNNUFhfTUFYIC0gMSkKIGVudW0gbmZ0X3JlamVjdF9hdHRyaWJ1dGVzIHsKLSBORlRBX1JFSkVDVF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfUkVKRUNUX1RZUEUsCi0gTkZUQV9SRUpFQ1RfSUNNUF9DT0RFLAotIF9fTkZUQV9SRUpFQ1RfTUFYCisgIE5GVEFfUkVKRUNUX1VOU1BFQywKKyAgTkZUQV9SRUpFQ1RfVFlQRSwKKyAgTkZUQV9SRUpFQ1RfSUNNUF9DT0RFLAorICBfX05GVEFfUkVKRUNUX01BWAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORlRBX1JFSkVDVF9NQVggKF9fTkZUQV9SRUpFQ1RfTUFYIC0gMSkKIGVudW0gbmZ0X25hdF90eXBlcyB7Ci0gTkZUX05BVF9TTkFULAotIE5GVF9OQVRfRE5BVCwKKyAgTkZUX05BVF9TTkFULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkZUX05BVF9ETkFULAogfTsKIGVudW0gbmZ0X25hdF9hdHRyaWJ1dGVzIHsKLSBORlRBX05BVF9VTlNQRUMsCi0gTkZUQV9OQVRfVFlQRSwKKyAgTkZUQV9OQVRfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX05BVF9GQU1JTFksCi0gTkZUQV9OQVRfUkVHX0FERFJfTUlOLAotIE5GVEFfTkFUX1JFR19BRERSX01BWCwKLSBORlRBX05BVF9SRUdfUFJPVE9fTUlOLAorICBORlRBX05BVF9UWVBFLAorICBORlRBX05BVF9GQU1JTFksCisgIE5GVEFfTkFUX1JFR19BRERSX01JTiwKKyAgTkZUQV9OQVRfUkVHX0FERFJfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX05BVF9SRUdfUFJPVE9fTUFYLAotIF9fTkZUQV9OQVRfTUFYCisgIE5GVEFfTkFUX1JFR19QUk9UT19NSU4sCisgIE5GVEFfTkFUX1JFR19QUk9UT19NQVgsCisgIE5GVEFfTkFUX0ZMQUdTLAorICBfX05GVEFfTkFUX01BWAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIE5GVEFfTkFUX01BWCAoX19ORlRBX05BVF9NQVggLSAxKQorZW51bSBuZnRfbWFzcV9hdHRyaWJ1dGVzIHsKKyAgTkZUQV9NQVNRX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GVEFfTUFTUV9GTEFHUywKKyAgX19ORlRBX01BU1FfTUFYCit9OworI2RlZmluZSBORlRBX01BU1FfTUFYIChfX05GVEFfTUFTUV9NQVggLSAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gbmZ0X2dlbl9hdHRyaWJ1dGVzIHsKKyAgTkZUQV9HRU5fVU5TUEVDLAorICBORlRBX0dFTl9JRCwKKyAgX19ORlRBX0dFTl9NQVgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworI2RlZmluZSBORlRBX0dFTl9NQVggKF9fTkZUQV9HRU5fTUFYIC0gMSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfdGFibGVzX2NvbXBhdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfdGFibGVzX2NvbXBhdC5oCmluZGV4IDMzNjdkYWUuLmFlMWQzMzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mX3RhYmxlc19jb21wYXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZl90YWJsZXNfY29tcGF0LmgKQEAgLTE5LDM5ICsxOSwzOSBAQAogI2lmbmRlZiBfTkZUX0NPTVBBVF9ORk5FVExJTktfSF8KICNkZWZpbmUgX05GVF9DT01QQVRfTkZORVRMSU5LX0hfCiBlbnVtIG5mdF90YXJnZXRfYXR0cmlidXRlcyB7Ci0gTkZUQV9UQVJHRVRfVU5TUEVDLAorICBORlRBX1RBUkdFVF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVEFfVEFSR0VUX05BTUUsCi0gTkZUQV9UQVJHRVRfUkVWLAotIE5GVEFfVEFSR0VUX0lORk8sCi0gX19ORlRBX1RBUkdFVF9NQVgKKyAgTkZUQV9UQVJHRVRfTkFNRSwKKyAgTkZUQV9UQVJHRVRfUkVWLAorICBORlRBX1RBUkdFVF9JTkZPLAorICBfX05GVEFfVEFSR0VUX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIE5GVEFfVEFSR0VUX01BWCAoX19ORlRBX1RBUkdFVF9NQVggLSAxKQogZW51bSBuZnRfbWF0Y2hfYXR0cmlidXRlcyB7Ci0gTkZUQV9NQVRDSF9VTlNQRUMsCisgIE5GVEFfTUFUQ0hfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlRBX01BVENIX05BTUUsCi0gTkZUQV9NQVRDSF9SRVYsCi0gTkZUQV9NQVRDSF9JTkZPLAotIF9fTkZUQV9NQVRDSF9NQVgKKyAgTkZUQV9NQVRDSF9OQU1FLAorICBORlRBX01BVENIX1JFViwKKyAgTkZUQV9NQVRDSF9JTkZPLAorICBfX05GVEFfTUFUQ0hfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTkZUQV9NQVRDSF9NQVggKF9fTkZUQV9NQVRDSF9NQVggLSAxKQogI2RlZmluZSBORlRfQ09NUEFUX05BTUVfTUFYIDMyCiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZOTF9NU0dfQ09NUEFUX0dFVCwKLSBORk5MX01TR19DT01QQVRfTUFYCisgIE5GTkxfTVNHX0NPTVBBVF9HRVQsCisgIE5GTkxfTVNHX0NPTVBBVF9NQVgKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZUQV9DT01QQVRfVU5TUEVDID0gMCwKLSBORlRBX0NPTVBBVF9OQU1FLAotIE5GVEFfQ09NUEFUX1JFViwKLSBORlRBX0NPTVBBVF9UWVBFLAorICBORlRBX0NPTVBBVF9VTlNQRUMgPSAwLAorICBORlRBX0NPTVBBVF9OQU1FLAorICBORlRBX0NPTVBBVF9SRVYsCisgIE5GVEFfQ09NUEFUX1RZUEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fTkZUQV9DT01QQVRfTUFYLAorICBfX05GVEFfQ09NUEFUX01BWCwKIH07CiAjZGVmaW5lIE5GVEFfQ09NUEFUX01BWCAoX19ORlRBX0NPTVBBVF9NQVggLSAxKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGluay5oCmluZGV4IGMwNGY2MmMuLmVhMDZmMDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGluay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGluay5oCkBAIC0yMiw1NyArMjIsNTkgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2NvbXBhdC5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZuZXRsaW5rX2dyb3VwcyB7Ci0gTkZOTEdSUF9OT05FLAorICBORk5MR1JQX05PTkUsCiAjZGVmaW5lIE5GTkxHUlBfTk9ORSBORk5MR1JQX05PTkUKLSBORk5MR1JQX0NPTk5UUkFDS19ORVcsCisgIE5GTkxHUlBfQ09OTlRSQUNLX05FVywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GTkxHUlBfQ09OTlRSQUNLX05FVyBORk5MR1JQX0NPTk5UUkFDS19ORVcKLSBORk5MR1JQX0NPTk5UUkFDS19VUERBVEUsCisgIE5GTkxHUlBfQ09OTlRSQUNLX1VQREFURSwKICNkZWZpbmUgTkZOTEdSUF9DT05OVFJBQ0tfVVBEQVRFIE5GTkxHUlBfQ09OTlRSQUNLX1VQREFURQotIE5GTkxHUlBfQ09OTlRSQUNLX0RFU1RST1ksCisgIE5GTkxHUlBfQ09OTlRSQUNLX0RFU1RST1ksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORk5MR1JQX0NPTk5UUkFDS19ERVNUUk9ZIE5GTkxHUlBfQ09OTlRSQUNLX0RFU1RST1kKLSBORk5MR1JQX0NPTk5UUkFDS19FWFBfTkVXLAorICBORk5MR1JQX0NPTk5UUkFDS19FWFBfTkVXLAogI2RlZmluZSBORk5MR1JQX0NPTk5UUkFDS19FWFBfTkVXIE5GTkxHUlBfQ09OTlRSQUNLX0VYUF9ORVcKLSBORk5MR1JQX0NPTk5UUkFDS19FWFBfVVBEQVRFLAorICBORk5MR1JQX0NPTk5UUkFDS19FWFBfVVBEQVRFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZOTEdSUF9DT05OVFJBQ0tfRVhQX1VQREFURSBORk5MR1JQX0NPTk5UUkFDS19FWFBfVVBEQVRFCi0gTkZOTEdSUF9DT05OVFJBQ0tfRVhQX0RFU1RST1ksCisgIE5GTkxHUlBfQ09OTlRSQUNLX0VYUF9ERVNUUk9ZLAogI2RlZmluZSBORk5MR1JQX0NPTk5UUkFDS19FWFBfREVTVFJPWSBORk5MR1JQX0NPTk5UUkFDS19FWFBfREVTVFJPWQotIE5GTkxHUlBfTkZUQUJMRVMsCisgIE5GTkxHUlBfTkZUQUJMRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORk5MR1JQX05GVEFCTEVTIE5GTkxHUlBfTkZUQUJMRVMKLSBfX05GTkxHUlBfTUFYLAorICBORk5MR1JQX0FDQ1RfUVVPVEEsCisjZGVmaW5lIE5GTkxHUlBfQUNDVF9RVU9UQSBORk5MR1JQX0FDQ1RfUVVPVEEKKyAgX19ORk5MR1JQX01BWCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBORk5MR1JQX01BWCAoX19ORk5MR1JQX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5mZ2VubXNnIHsKLSBfX3U4IG5mZ2VuX2ZhbWlseTsKLSBfX3U4IHZlcnNpb247Ci0gX19iZTE2IHJlc19pZDsKKyAgX191OCBuZmdlbl9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHZlcnNpb247CisgIF9fYmUxNiByZXNfaWQ7CiB9OwogI2RlZmluZSBORk5FVExJTktfVjAgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZOTF9TVUJTWVNfSUQoeCkgKCh4ICYgMHhmZjAwKSA+PiA4KQogI2RlZmluZSBORk5MX01TR19UWVBFKHgpICh4ICYgMHgwMGZmKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZOTF9TVUJTWVNfTk9ORSAwCiAjZGVmaW5lIE5GTkxfU1VCU1lTX0NUTkVUTElOSyAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORk5MX1NVQlNZU19DVE5FVExJTktfRVhQIDIKICNkZWZpbmUgTkZOTF9TVUJTWVNfUVVFVUUgMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZOTF9TVUJTWVNfVUxPRyA0CiAjZGVmaW5lIE5GTkxfU1VCU1lTX09TRiA1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORk5MX1NVQlNZU19JUFNFVCA2CiAjZGVmaW5lIE5GTkxfU1VCU1lTX0FDQ1QgNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZOTF9TVUJTWVNfQ1RORVRMSU5LX1RJTUVPVVQgOAogI2RlZmluZSBORk5MX1NVQlNZU19DVEhFTFBFUiA5CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORk5MX1NVQlNZU19ORlRBQkxFUyAxMAogI2RlZmluZSBORk5MX1NVQlNZU19ORlRfQ09NUEFUIDExCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORk5MX1NVQlNZU19DT1VOVCAxMgogI2RlZmluZSBORk5MX01TR19CQVRDSF9CRUdJTiBOTE1TR19NSU5fVFlQRQotI2RlZmluZSBORk5MX01TR19CQVRDSF9FTkQgTkxNU0dfTUlOX1RZUEUrMQotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBORk5MX01TR19CQVRDSF9FTkQgTkxNU0dfTUlOX1RZUEUgKyAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19hY2N0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfYWNjdC5oCmluZGV4IDAxZjEzZWYuLjJiNzExMTIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19hY2N0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2FjY3QuaApAQCAtMjMsMjMgKzIzLDQzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCiBlbnVtIG5mbmxfYWNjdF9tc2dfdHlwZXMgewotIE5GTkxfTVNHX0FDQ1RfTkVXLAotIE5GTkxfTVNHX0FDQ1RfR0VULAorICBORk5MX01TR19BQ0NUX05FVywKKyAgTkZOTF9NU0dfQUNDVF9HRVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GTkxfTVNHX0FDQ1RfR0VUX0NUUlpFUk8sCi0gTkZOTF9NU0dfQUNDVF9ERUwsCi0gTkZOTF9NU0dfQUNDVF9NQVgKKyAgTkZOTF9NU0dfQUNDVF9HRVRfQ1RSWkVSTywKKyAgTkZOTF9NU0dfQUNDVF9ERUwsCisgIE5GTkxfTVNHX0FDQ1RfT1ZFUlFVT1RBLAorICBORk5MX01TR19BQ0NUX01BWAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CitlbnVtIG5mbmxfYWNjdF9mbGFncyB7CisgIE5GQUNDVF9GX1FVT1RBX1BLVFMgPSAoMSA8PCAwKSwKKyAgTkZBQ0NUX0ZfUVVPVEFfQllURVMgPSAoMSA8PCAxKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GQUNDVF9GX09WRVJRVU9UQSA9ICgxIDw8IDIpLAorfTsKIGVudW0gbmZubF9hY2N0X3R5cGUgewotIE5GQUNDVF9VTlNQRUMsCi0gTkZBQ0NUX05BTUUsCi0gTkZBQ0NUX1BLVFMsCisgIE5GQUNDVF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQUNDVF9CWVRFUywKLSBORkFDQ1RfVVNFLAotIF9fTkZBQ0NUX01BWAorICBORkFDQ1RfTkFNRSwKKyAgTkZBQ0NUX1BLVFMsCisgIE5GQUNDVF9CWVRFUywKKyAgTkZBQ0NUX1VTRSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GQUNDVF9GTEFHUywKKyAgTkZBQ0NUX1FVT1RBLAorICBORkFDQ1RfRklMVEVSLAorICBfX05GQUNDVF9NQVgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworI2RlZmluZSBORkFDQ1RfTUFYIChfX05GQUNDVF9NQVggLSAxKQorZW51bSBuZm5sX2F0dHJfZmlsdGVyX3R5cGUgeworICBORkFDQ1RfRklMVEVSX1VOU1BFQywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5GQUNDVF9GSUxURVJfTUFTSywKKyAgTkZBQ0NUX0ZJTFRFUl9WQUxVRSwKKyAgX19ORkFDQ1RfRklMVEVSX01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE5GQUNDVF9NQVggKF9fTkZBQ0NUX01BWCAtIDEpCisjZGVmaW5lIE5GQUNDVF9GSUxURVJfTUFYIChfX05GQUNDVF9GSUxURVJfTUFYIC0gMSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2NvbXBhdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2NvbXBhdC5oCmluZGV4IDAxMGI5NTcuLjE3NjFjNDkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19jb21wYXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfY29tcGF0LmgKQEAgLTI4LDggKzI4LDggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GX05FVExJTktfQ09OTlRSQUNLX0VYUF9ERVNUUk9ZIDB4MDAwMDAwMjAKIHN0cnVjdCBuZmF0dHIgewotIF9fdTE2IG5mYV9sZW47Ci0gX191MTYgbmZhX3R5cGU7CisgIF9fdTE2IG5mYV9sZW47CisgIF9fdTE2IG5mYV90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIE5GTkxfTkZBX05FU1QgMHg4MDAwCkBAIC0zNywxOCArMzcsMjEgQEAKICNkZWZpbmUgTkZBX0FMSUdOVE8gNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZBX0FMSUdOKGxlbikgKCgobGVuKSArIE5GQV9BTElHTlRPIC0gMSkgJiB+KE5GQV9BTElHTlRPIC0gMSkpCi0jZGVmaW5lIE5GQV9PSyhuZmEsbGVuKSAoKGxlbikgPiAwICYmIChuZmEpLT5uZmFfbGVuID49IHNpemVvZihzdHJ1Y3QgbmZhdHRyKSAgICYmIChuZmEpLT5uZmFfbGVuIDw9IChsZW4pKQotI2RlZmluZSBORkFfTkVYVChuZmEsYXR0cmxlbikgKChhdHRybGVuKSAtPSBORkFfQUxJR04oKG5mYSktPm5mYV9sZW4pLCAgIChzdHJ1Y3QgbmZhdHRyICopKCgoY2hhciAqKShuZmEpKSArIE5GQV9BTElHTigobmZhKS0+bmZhX2xlbikpKQorI2RlZmluZSBORkFfT0sobmZhLGxlbikgKChsZW4pID4gMCAmJiAobmZhKS0+bmZhX2xlbiA+PSBzaXplb2Yoc3RydWN0IG5mYXR0cikgJiYgKG5mYSktPm5mYV9sZW4gPD0gKGxlbikpCisjZGVmaW5lIE5GQV9ORVhUKG5mYSxhdHRybGVuKSAoKGF0dHJsZW4pIC09IE5GQV9BTElHTigobmZhKS0+bmZhX2xlbiksIChzdHJ1Y3QgbmZhdHRyICopICgoKGNoYXIgKikgKG5mYSkpICsgTkZBX0FMSUdOKChuZmEpLT5uZmFfbGVuKSkpCiAjZGVmaW5lIE5GQV9MRU5HVEgobGVuKSAoTkZBX0FMSUdOKHNpemVvZihzdHJ1Y3QgbmZhdHRyKSkgKyAobGVuKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GQV9TUEFDRShsZW4pIE5GQV9BTElHTihORkFfTEVOR1RIKGxlbikpCi0jZGVmaW5lIE5GQV9EQVRBKG5mYSkgKCh2b2lkICopKCgoY2hhciAqKShuZmEpKSArIE5GQV9MRU5HVEgoMCkpKQotI2RlZmluZSBORkFfUEFZTE9BRChuZmEpICgoaW50KSgobmZhKS0+bmZhX2xlbikgLSBORkFfTEVOR1RIKDApKQotI2RlZmluZSBORkFfTkVTVChza2IsIHR5cGUpICAoeyBzdHJ1Y3QgbmZhdHRyICpfX3N0YXJ0ID0gKHN0cnVjdCBuZmF0dHIgKilza2JfdGFpbF9wb2ludGVyKHNrYik7ICAgTkZBX1BVVChza2IsIChORk5MX05GQV9ORVNUIHwgdHlwZSksIDAsIE5VTEwpOyAgIF9fc3RhcnQ7IH0pCisjZGVmaW5lIE5GQV9EQVRBKG5mYSkgKCh2b2lkICopICgoKGNoYXIgKikgKG5mYSkpICsgTkZBX0xFTkdUSCgwKSkpCisjZGVmaW5lIE5GQV9QQVlMT0FEKG5mYSkgKChpbnQpICgobmZhKS0+bmZhX2xlbikgLSBORkFfTEVOR1RIKDApKQorI2RlZmluZSBORkFfTkVTVChza2IsdHlwZSkgXAorKHsgc3RydWN0IG5mYXR0ciAqIF9fc3RhcnQgPSAoc3RydWN0IG5mYXR0ciAqKSBza2JfdGFpbF9wb2ludGVyKHNrYik7IE5GQV9QVVQoc2tiLCAoTkZOTF9ORkFfTkVTVCB8IHR5cGUpLCAwLCBOVUxMKTsgX19zdGFydDsgfSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE5GQV9ORVNUX0VORChza2IsIHN0YXJ0KSAgKHsgKHN0YXJ0KS0+bmZhX2xlbiA9IHNrYl90YWlsX3BvaW50ZXIoc2tiKSAtICh1bnNpZ25lZCBjaGFyICopKHN0YXJ0KTsgICAoc2tiKS0+bGVuOyB9KQotI2RlZmluZSBORkFfTkVTVF9DQU5DRUwoc2tiLCBzdGFydCkgICh7IGlmIChzdGFydCkgICBza2JfdHJpbShza2IsICh1bnNpZ25lZCBjaGFyICopIChzdGFydCkgLSAoc2tiKS0+ZGF0YSk7ICAgLTE7IH0pCi0jZGVmaW5lIE5GTV9ORkEobikgKChzdHJ1Y3QgbmZhdHRyICopKCgoY2hhciAqKShuKSkgICArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgbmZnZW5tc2cpKSkpCisjZGVmaW5lIE5GQV9ORVNUX0VORChza2Isc3RhcnQpIFwKKyh7IChzdGFydCktPm5mYV9sZW4gPSBza2JfdGFpbF9wb2ludGVyKHNrYikgLSAodW5zaWduZWQgY2hhciAqKSAoc3RhcnQpOyAoc2tiKS0+bGVuOyB9KQorI2RlZmluZSBORkFfTkVTVF9DQU5DRUwoc2tiLHN0YXJ0KSBcCisoeyBpZihzdGFydCkgc2tiX3RyaW0oc2tiLCAodW5zaWduZWQgY2hhciAqKSAoc3RhcnQpIC0gKHNrYiktPmRhdGEpOyAtIDE7IH0pCisjZGVmaW5lIE5GTV9ORkEobikgKChzdHJ1Y3QgbmZhdHRyICopICgoKGNoYXIgKikgKG4pKSArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgbmZnZW5tc2cpKSkpCiAjZGVmaW5lIE5GTV9QQVlMT0FEKG4pIE5MTVNHX1BBWUxPQUQobiwgc2l6ZW9mKHN0cnVjdCBuZmdlbm1zZykpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfY29ubnRyYWNrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfY29ubnRyYWNrLmgKaW5kZXggMmIyMmM0Zi4uODhlNDA0YiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2Nvbm50cmFjay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19jb25udHJhY2suaApAQCAtMjEsMjkyICsyMSwyOTIgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rLmg+CiBlbnVtIGNudGxfbXNnX3R5cGVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBDVE5MX01TR19DVF9ORVcsCi0gSVBDVE5MX01TR19DVF9HRVQsCi0gSVBDVE5MX01TR19DVF9ERUxFVEUsCi0gSVBDVE5MX01TR19DVF9HRVRfQ1RSWkVSTywKKyAgSVBDVE5MX01TR19DVF9ORVcsCisgIElQQ1ROTF9NU0dfQ1RfR0VULAorICBJUENUTkxfTVNHX0NUX0RFTEVURSwKKyAgSVBDVE5MX01TR19DVF9HRVRfQ1RSWkVSTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBDVE5MX01TR19DVF9HRVRfU1RBVFNfQ1BVLAotIElQQ1ROTF9NU0dfQ1RfR0VUX1NUQVRTLAotIElQQ1ROTF9NU0dfQ1RfR0VUX0RZSU5HLAotIElQQ1ROTF9NU0dfQ1RfR0VUX1VOQ09ORklSTUVELAorICBJUENUTkxfTVNHX0NUX0dFVF9TVEFUU19DUFUsCisgIElQQ1ROTF9NU0dfQ1RfR0VUX1NUQVRTLAorICBJUENUTkxfTVNHX0NUX0dFVF9EWUlORywKKyAgSVBDVE5MX01TR19DVF9HRVRfVU5DT05GSVJNRUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQQ1ROTF9NU0dfTUFYCisgIElQQ1ROTF9NU0dfTUFYCiB9OwogZW51bSBjdG5sX2V4cF9tc2dfdHlwZXMgewotIElQQ1ROTF9NU0dfRVhQX05FVywKKyAgSVBDVE5MX01TR19FWFBfTkVXLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUENUTkxfTVNHX0VYUF9HRVQsCi0gSVBDVE5MX01TR19FWFBfREVMRVRFLAotIElQQ1ROTF9NU0dfRVhQX0dFVF9TVEFUU19DUFUsCi0gSVBDVE5MX01TR19FWFBfTUFYCisgIElQQ1ROTF9NU0dfRVhQX0dFVCwKKyAgSVBDVE5MX01TR19FWFBfREVMRVRFLAorICBJUENUTkxfTVNHX0VYUF9HRVRfU1RBVFNfQ1BVLAorICBJUENUTkxfTVNHX0VYUF9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBjdGF0dHJfdHlwZSB7Ci0gQ1RBX1VOU1BFQywKLSBDVEFfVFVQTEVfT1JJRywKKyAgQ1RBX1VOU1BFQywKKyAgQ1RBX1RVUExFX09SSUcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9UVVBMRV9SRVBMWSwKLSBDVEFfU1RBVFVTLAotIENUQV9QUk9UT0lORk8sCi0gQ1RBX0hFTFAsCisgIENUQV9UVVBMRV9SRVBMWSwKKyAgQ1RBX1NUQVRVUywKKyAgQ1RBX1BST1RPSU5GTywKKyAgQ1RBX0hFTFAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9OQVRfU1JDLAorICBDVEFfTkFUX1NSQywKICNkZWZpbmUgQ1RBX05BVCBDVEFfTkFUX1NSQwotIENUQV9USU1FT1VULAotIENUQV9NQVJLLAorICBDVEFfVElNRU9VVCwKKyAgQ1RBX01BUkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9DT1VOVEVSU19PUklHLAotIENUQV9DT1VOVEVSU19SRVBMWSwKLSBDVEFfVVNFLAotIENUQV9JRCwKKyAgQ1RBX0NPVU5URVJTX09SSUcsCisgIENUQV9DT1VOVEVSU19SRVBMWSwKKyAgQ1RBX1VTRSwKKyAgQ1RBX0lELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfTkFUX0RTVCwKLSBDVEFfVFVQTEVfTUFTVEVSLAotIENUQV9TRVFfQURKX09SSUcsCi0gQ1RBX05BVF9TRVFfQURKX09SSUcgPSBDVEFfU0VRX0FESl9PUklHLAorICBDVEFfTkFUX0RTVCwKKyAgQ1RBX1RVUExFX01BU1RFUiwKKyAgQ1RBX1NFUV9BREpfT1JJRywKKyAgQ1RBX05BVF9TRVFfQURKX09SSUcgPSBDVEFfU0VRX0FESl9PUklHLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfU0VRX0FESl9SRVBMWSwKLSBDVEFfTkFUX1NFUV9BREpfUkVQTFkgPSBDVEFfU0VRX0FESl9SRVBMWSwKLSBDVEFfU0VDTUFSSywKLSBDVEFfWk9ORSwKKyAgQ1RBX1NFUV9BREpfUkVQTFksCisgIENUQV9OQVRfU0VRX0FESl9SRVBMWSA9IENUQV9TRVFfQURKX1JFUExZLAorICBDVEFfU0VDTUFSSywKKyAgQ1RBX1pPTkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9TRUNDVFgsCi0gQ1RBX1RJTUVTVEFNUCwKLSBDVEFfTUFSS19NQVNLLAotIENUQV9MQUJFTFMsCisgIENUQV9TRUNDVFgsCisgIENUQV9USU1FU1RBTVAsCisgIENUQV9NQVJLX01BU0ssCisgIENUQV9MQUJFTFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9MQUJFTFNfTUFTSywKLSBfX0NUQV9NQVgKKyAgQ1RBX0xBQkVMU19NQVNLLAorICBfX0NUQV9NQVgKIH07CiAjZGVmaW5lIENUQV9NQVggKF9fQ1RBX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBjdGF0dHJfdHVwbGUgewotIENUQV9UVVBMRV9VTlNQRUMsCi0gQ1RBX1RVUExFX0lQLAotIENUQV9UVVBMRV9QUk9UTywKKyAgQ1RBX1RVUExFX1VOU1BFQywKKyAgQ1RBX1RVUExFX0lQLAorICBDVEFfVFVQTEVfUFJPVE8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQ1RBX1RVUExFX01BWAorICBfX0NUQV9UVVBMRV9NQVgKIH07CiAjZGVmaW5lIENUQV9UVVBMRV9NQVggKF9fQ1RBX1RVUExFX01BWCAtIDEpCiBlbnVtIGN0YXR0cl9pcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9JUF9VTlNQRUMsCi0gQ1RBX0lQX1Y0X1NSQywKLSBDVEFfSVBfVjRfRFNULAotIENUQV9JUF9WNl9TUkMsCisgIENUQV9JUF9VTlNQRUMsCisgIENUQV9JUF9WNF9TUkMsCisgIENUQV9JUF9WNF9EU1QsCisgIENUQV9JUF9WNl9TUkMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9JUF9WNl9EU1QsCi0gX19DVEFfSVBfTUFYCisgIENUQV9JUF9WNl9EU1QsCisgIF9fQ1RBX0lQX01BWAogfTsKICNkZWZpbmUgQ1RBX0lQX01BWCAoX19DVEFfSVBfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGN0YXR0cl9sNHByb3RvIHsKLSBDVEFfUFJPVE9fVU5TUEVDLAotIENUQV9QUk9UT19OVU0sCi0gQ1RBX1BST1RPX1NSQ19QT1JULAorICBDVEFfUFJPVE9fVU5TUEVDLAorICBDVEFfUFJPVE9fTlVNLAorICBDVEFfUFJPVE9fU1JDX1BPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9QUk9UT19EU1RfUE9SVCwKLSBDVEFfUFJPVE9fSUNNUF9JRCwKLSBDVEFfUFJPVE9fSUNNUF9UWVBFLAotIENUQV9QUk9UT19JQ01QX0NPREUsCisgIENUQV9QUk9UT19EU1RfUE9SVCwKKyAgQ1RBX1BST1RPX0lDTVBfSUQsCisgIENUQV9QUk9UT19JQ01QX1RZUEUsCisgIENUQV9QUk9UT19JQ01QX0NPREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9QUk9UT19JQ01QVjZfSUQsCi0gQ1RBX1BST1RPX0lDTVBWNl9UWVBFLAotIENUQV9QUk9UT19JQ01QVjZfQ09ERSwKLSBfX0NUQV9QUk9UT19NQVgKKyAgQ1RBX1BST1RPX0lDTVBWNl9JRCwKKyAgQ1RBX1BST1RPX0lDTVBWNl9UWVBFLAorICBDVEFfUFJPVE9fSUNNUFY2X0NPREUsCisgIF9fQ1RBX1BST1RPX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIENUQV9QUk9UT19NQVggKF9fQ1RBX1BST1RPX01BWCAtIDEpCiBlbnVtIGN0YXR0cl9wcm90b2luZm8gewotIENUQV9QUk9UT0lORk9fVU5TUEVDLAorICBDVEFfUFJPVE9JTkZPX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1BST1RPSU5GT19UQ1AsCi0gQ1RBX1BST1RPSU5GT19EQ0NQLAotIENUQV9QUk9UT0lORk9fU0NUUCwKLSBfX0NUQV9QUk9UT0lORk9fTUFYCisgIENUQV9QUk9UT0lORk9fVENQLAorICBDVEFfUFJPVE9JTkZPX0RDQ1AsCisgIENUQV9QUk9UT0lORk9fU0NUUCwKKyAgX19DVEFfUFJPVE9JTkZPX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIENUQV9QUk9UT0lORk9fTUFYIChfX0NUQV9QUk9UT0lORk9fTUFYIC0gMSkKIGVudW0gY3RhdHRyX3Byb3RvaW5mb190Y3AgewotIENUQV9QUk9UT0lORk9fVENQX1VOU1BFQywKKyAgQ1RBX1BST1RPSU5GT19UQ1BfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfUFJPVE9JTkZPX1RDUF9TVEFURSwKLSBDVEFfUFJPVE9JTkZPX1RDUF9XU0NBTEVfT1JJR0lOQUwsCi0gQ1RBX1BST1RPSU5GT19UQ1BfV1NDQUxFX1JFUExZLAotIENUQV9QUk9UT0lORk9fVENQX0ZMQUdTX09SSUdJTkFMLAorICBDVEFfUFJPVE9JTkZPX1RDUF9TVEFURSwKKyAgQ1RBX1BST1RPSU5GT19UQ1BfV1NDQUxFX09SSUdJTkFMLAorICBDVEFfUFJPVE9JTkZPX1RDUF9XU0NBTEVfUkVQTFksCisgIENUQV9QUk9UT0lORk9fVENQX0ZMQUdTX09SSUdJTkFMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfUFJPVE9JTkZPX1RDUF9GTEFHU19SRVBMWSwKLSBfX0NUQV9QUk9UT0lORk9fVENQX01BWAorICBDVEFfUFJPVE9JTkZPX1RDUF9GTEFHU19SRVBMWSwKKyAgX19DVEFfUFJPVE9JTkZPX1RDUF9NQVgKIH07CiAjZGVmaW5lIENUQV9QUk9UT0lORk9fVENQX01BWCAoX19DVEFfUFJPVE9JTkZPX1RDUF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gY3RhdHRyX3Byb3RvaW5mb19kY2NwIHsKLSBDVEFfUFJPVE9JTkZPX0RDQ1BfVU5TUEVDLAotIENUQV9QUk9UT0lORk9fRENDUF9TVEFURSwKLSBDVEFfUFJPVE9JTkZPX0RDQ1BfUk9MRSwKKyAgQ1RBX1BST1RPSU5GT19EQ0NQX1VOU1BFQywKKyAgQ1RBX1BST1RPSU5GT19EQ0NQX1NUQVRFLAorICBDVEFfUFJPVE9JTkZPX0RDQ1BfUk9MRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1BST1RPSU5GT19EQ0NQX0hBTkRTSEFLRV9TRVEsCi0gX19DVEFfUFJPVE9JTkZPX0RDQ1BfTUFYLAorICBDVEFfUFJPVE9JTkZPX0RDQ1BfSEFORFNIQUtFX1NFUSwKKyAgX19DVEFfUFJPVE9JTkZPX0RDQ1BfTUFYLAogfTsKICNkZWZpbmUgQ1RBX1BST1RPSU5GT19EQ0NQX01BWCAoX19DVEFfUFJPVE9JTkZPX0RDQ1BfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGN0YXR0cl9wcm90b2luZm9fc2N0cCB7Ci0gQ1RBX1BST1RPSU5GT19TQ1RQX1VOU1BFQywKLSBDVEFfUFJPVE9JTkZPX1NDVFBfU1RBVEUsCi0gQ1RBX1BST1RPSU5GT19TQ1RQX1ZUQUdfT1JJR0lOQUwsCisgIENUQV9QUk9UT0lORk9fU0NUUF9VTlNQRUMsCisgIENUQV9QUk9UT0lORk9fU0NUUF9TVEFURSwKKyAgQ1RBX1BST1RPSU5GT19TQ1RQX1ZUQUdfT1JJR0lOQUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9QUk9UT0lORk9fU0NUUF9WVEFHX1JFUExZLAotIF9fQ1RBX1BST1RPSU5GT19TQ1RQX01BWAorICBDVEFfUFJPVE9JTkZPX1NDVFBfVlRBR19SRVBMWSwKKyAgX19DVEFfUFJPVE9JTkZPX1NDVFBfTUFYCiB9OwogI2RlZmluZSBDVEFfUFJPVE9JTkZPX1NDVFBfTUFYIChfX0NUQV9QUk9UT0lORk9fU0NUUF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gY3RhdHRyX2NvdW50ZXJzIHsKLSBDVEFfQ09VTlRFUlNfVU5TUEVDLAotIENUQV9DT1VOVEVSU19QQUNLRVRTLAotIENUQV9DT1VOVEVSU19CWVRFUywKKyAgQ1RBX0NPVU5URVJTX1VOU1BFQywKKyAgQ1RBX0NPVU5URVJTX1BBQ0tFVFMsCisgIENUQV9DT1VOVEVSU19CWVRFUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX0NPVU5URVJTMzJfUEFDS0VUUywKLSBDVEFfQ09VTlRFUlMzMl9CWVRFUywKLSBfX0NUQV9DT1VOVEVSU19NQVgKKyAgQ1RBX0NPVU5URVJTMzJfUEFDS0VUUywKKyAgQ1RBX0NPVU5URVJTMzJfQllURVMsCisgIF9fQ1RBX0NPVU5URVJTX01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUQV9DT1VOVEVSU19NQVggKF9fQ1RBX0NPVU5URVJTX01BWCAtIDEpCiBlbnVtIGN0YXR0cl90c3RhbXAgewotIENUQV9USU1FU1RBTVBfVU5TUEVDLAotIENUQV9USU1FU1RBTVBfU1RBUlQsCisgIENUQV9USU1FU1RBTVBfVU5TUEVDLAorICBDVEFfVElNRVNUQU1QX1NUQVJULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfVElNRVNUQU1QX1NUT1AsCi0gX19DVEFfVElNRVNUQU1QX01BWAorICBDVEFfVElNRVNUQU1QX1NUT1AsCisgIF9fQ1RBX1RJTUVTVEFNUF9NQVgKIH07CiAjZGVmaW5lIENUQV9USU1FU1RBTVBfTUFYIChfX0NUQV9USU1FU1RBTVBfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGN0YXR0cl9uYXQgewotIENUQV9OQVRfVU5TUEVDLAotIENUQV9OQVRfVjRfTUlOSVAsCisgIENUQV9OQVRfVU5TUEVDLAorICBDVEFfTkFUX1Y0X01JTklQLAogI2RlZmluZSBDVEFfTkFUX01JTklQIENUQV9OQVRfVjRfTUlOSVAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX05BVF9WNF9NQVhJUCwKKyAgQ1RBX05BVF9WNF9NQVhJUCwKICNkZWZpbmUgQ1RBX05BVF9NQVhJUCBDVEFfTkFUX1Y0X01BWElQCi0gQ1RBX05BVF9QUk9UTywKLSBDVEFfTkFUX1Y2X01JTklQLAorICBDVEFfTkFUX1BST1RPLAorICBDVEFfTkFUX1Y2X01JTklQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfTkFUX1Y2X01BWElQLAotIF9fQ1RBX05BVF9NQVgKKyAgQ1RBX05BVF9WNl9NQVhJUCwKKyAgX19DVEFfTkFUX01BWAogfTsKICNkZWZpbmUgQ1RBX05BVF9NQVggKF9fQ1RBX05BVF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gY3RhdHRyX3Byb3RvbmF0IHsKLSBDVEFfUFJPVE9OQVRfVU5TUEVDLAotIENUQV9QUk9UT05BVF9QT1JUX01JTiwKLSBDVEFfUFJPVE9OQVRfUE9SVF9NQVgsCisgIENUQV9QUk9UT05BVF9VTlNQRUMsCisgIENUQV9QUk9UT05BVF9QT1JUX01JTiwKKyAgQ1RBX1BST1RPTkFUX1BPUlRfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9QUk9UT05BVF9NQVgKKyAgX19DVEFfUFJPVE9OQVRfTUFYCiB9OwogI2RlZmluZSBDVEFfUFJPVE9OQVRfTUFYIChfX0NUQV9QUk9UT05BVF9NQVggLSAxKQogZW51bSBjdGF0dHJfc2VxYWRqIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1NFUUFESl9VTlNQRUMsCi0gQ1RBX1NFUUFESl9DT1JSRUNUSU9OX1BPUywKLSBDVEFfU0VRQURKX09GRlNFVF9CRUZPUkUsCi0gQ1RBX1NFUUFESl9PRkZTRVRfQUZURVIsCisgIENUQV9TRVFBREpfVU5TUEVDLAorICBDVEFfU0VRQURKX0NPUlJFQ1RJT05fUE9TLAorICBDVEFfU0VRQURKX09GRlNFVF9CRUZPUkUsCisgIENUQV9TRVFBREpfT0ZGU0VUX0FGVEVSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9TRVFBREpfTUFYCisgIF9fQ1RBX1NFUUFESl9NQVgKIH07CiAjZGVmaW5lIENUQV9TRVFBREpfTUFYIChfX0NUQV9TRVFBREpfTUFYIC0gMSkKIGVudW0gY3RhdHRyX25hdHNlcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9OQVRfU0VRX1VOU1BFQywKLSBDVEFfTkFUX1NFUV9DT1JSRUNUSU9OX1BPUywKLSBDVEFfTkFUX1NFUV9PRkZTRVRfQkVGT1JFLAotIENUQV9OQVRfU0VRX09GRlNFVF9BRlRFUiwKKyAgQ1RBX05BVF9TRVFfVU5TUEVDLAorICBDVEFfTkFUX1NFUV9DT1JSRUNUSU9OX1BPUywKKyAgQ1RBX05BVF9TRVFfT0ZGU0VUX0JFRk9SRSwKKyAgQ1RBX05BVF9TRVFfT0ZGU0VUX0FGVEVSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9OQVRfU0VRX01BWAorICBfX0NUQV9OQVRfU0VRX01BWAogfTsKICNkZWZpbmUgQ1RBX05BVF9TRVFfTUFYIChfX0NUQV9OQVRfU0VRX01BWCAtIDEpCiBlbnVtIGN0YXR0cl9leHBlY3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfRVhQRUNUX1VOU1BFQywKLSBDVEFfRVhQRUNUX01BU1RFUiwKLSBDVEFfRVhQRUNUX1RVUExFLAotIENUQV9FWFBFQ1RfTUFTSywKKyAgQ1RBX0VYUEVDVF9VTlNQRUMsCisgIENUQV9FWFBFQ1RfTUFTVEVSLAorICBDVEFfRVhQRUNUX1RVUExFLAorICBDVEFfRVhQRUNUX01BU0ssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9FWFBFQ1RfVElNRU9VVCwKLSBDVEFfRVhQRUNUX0lELAotIENUQV9FWFBFQ1RfSEVMUF9OQU1FLAotIENUQV9FWFBFQ1RfWk9ORSwKKyAgQ1RBX0VYUEVDVF9USU1FT1VULAorICBDVEFfRVhQRUNUX0lELAorICBDVEFfRVhQRUNUX0hFTFBfTkFNRSwKKyAgQ1RBX0VYUEVDVF9aT05FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfRVhQRUNUX0ZMQUdTLAotIENUQV9FWFBFQ1RfQ0xBU1MsCi0gQ1RBX0VYUEVDVF9OQVQsCi0gQ1RBX0VYUEVDVF9GTiwKKyAgQ1RBX0VYUEVDVF9GTEFHUywKKyAgQ1RBX0VYUEVDVF9DTEFTUywKKyAgQ1RBX0VYUEVDVF9OQVQsCisgIENUQV9FWFBFQ1RfRk4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQ1RBX0VYUEVDVF9NQVgKKyAgX19DVEFfRVhQRUNUX01BWAogfTsKICNkZWZpbmUgQ1RBX0VYUEVDVF9NQVggKF9fQ1RBX0VYUEVDVF9NQVggLSAxKQogZW51bSBjdGF0dHJfZXhwZWN0X25hdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9FWFBFQ1RfTkFUX1VOU1BFQywKLSBDVEFfRVhQRUNUX05BVF9ESVIsCi0gQ1RBX0VYUEVDVF9OQVRfVFVQTEUsCi0gX19DVEFfRVhQRUNUX05BVF9NQVgKKyAgQ1RBX0VYUEVDVF9OQVRfVU5TUEVDLAorICBDVEFfRVhQRUNUX05BVF9ESVIsCisgIENUQV9FWFBFQ1RfTkFUX1RVUExFLAorICBfX0NUQV9FWFBFQ1RfTkFUX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIENUQV9FWFBFQ1RfTkFUX01BWCAoX19DVEFfRVhQRUNUX05BVF9NQVggLSAxKQogZW51bSBjdGF0dHJfaGVscCB7Ci0gQ1RBX0hFTFBfVU5TUEVDLAorICBDVEFfSEVMUF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9IRUxQX05BTUUsCi0gQ1RBX0hFTFBfSU5GTywKLSBfX0NUQV9IRUxQX01BWAorICBDVEFfSEVMUF9OQU1FLAorICBDVEFfSEVMUF9JTkZPLAorICBfX0NUQV9IRUxQX01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUQV9IRUxQX01BWCAoX19DVEFfSEVMUF9NQVggLSAxKQogZW51bSBjdGF0dHJfc2VjY3R4IHsKLSBDVEFfU0VDQ1RYX1VOU1BFQywKLSBDVEFfU0VDQ1RYX05BTUUsCisgIENUQV9TRUNDVFhfVU5TUEVDLAorICBDVEFfU0VDQ1RYX05BTUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQ1RBX1NFQ0NUWF9NQVgKKyAgX19DVEFfU0VDQ1RYX01BWAogfTsKICNkZWZpbmUgQ1RBX1NFQ0NUWF9NQVggKF9fQ1RBX1NFQ0NUWF9NQVggLSAxKQogZW51bSBjdGF0dHJfc3RhdHNfY3B1IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1NUQVRTX1VOU1BFQywKLSBDVEFfU1RBVFNfU0VBUkNIRUQsCi0gQ1RBX1NUQVRTX0ZPVU5ELAotIENUQV9TVEFUU19ORVcsCisgIENUQV9TVEFUU19VTlNQRUMsCisgIENUQV9TVEFUU19TRUFSQ0hFRCwKKyAgQ1RBX1NUQVRTX0ZPVU5ELAorICBDVEFfU1RBVFNfTkVXLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfU1RBVFNfSU5WQUxJRCwKLSBDVEFfU1RBVFNfSUdOT1JFLAotIENUQV9TVEFUU19ERUxFVEUsCi0gQ1RBX1NUQVRTX0RFTEVURV9MSVNULAorICBDVEFfU1RBVFNfSU5WQUxJRCwKKyAgQ1RBX1NUQVRTX0lHTk9SRSwKKyAgQ1RBX1NUQVRTX0RFTEVURSwKKyAgQ1RBX1NUQVRTX0RFTEVURV9MSVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfU1RBVFNfSU5TRVJULAotIENUQV9TVEFUU19JTlNFUlRfRkFJTEVELAotIENUQV9TVEFUU19EUk9QLAotIENUQV9TVEFUU19FQVJMWV9EUk9QLAorICBDVEFfU1RBVFNfSU5TRVJULAorICBDVEFfU1RBVFNfSU5TRVJUX0ZBSUxFRCwKKyAgQ1RBX1NUQVRTX0RST1AsCisgIENUQV9TVEFUU19FQVJMWV9EUk9QLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfU1RBVFNfRVJST1IsCi0gQ1RBX1NUQVRTX1NFQVJDSF9SRVNUQVJULAotIF9fQ1RBX1NUQVRTX01BWCwKKyAgQ1RBX1NUQVRTX0VSUk9SLAorICBDVEFfU1RBVFNfU0VBUkNIX1JFU1RBUlQsCisgIF9fQ1RBX1NUQVRTX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVEFfU1RBVFNfTUFYIChfX0NUQV9TVEFUU19NQVggLSAxKQogZW51bSBjdGF0dHJfc3RhdHNfZ2xvYmFsIHsKLSBDVEFfU1RBVFNfR0xPQkFMX1VOU1BFQywKLSBDVEFfU1RBVFNfR0xPQkFMX0VOVFJJRVMsCisgIENUQV9TVEFUU19HTE9CQUxfVU5TUEVDLAorICBDVEFfU1RBVFNfR0xPQkFMX0VOVFJJRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQ1RBX1NUQVRTX0dMT0JBTF9NQVgsCisgIF9fQ1RBX1NUQVRTX0dMT0JBTF9NQVgsCiB9OwogI2RlZmluZSBDVEFfU1RBVFNfR0xPQkFMX01BWCAoX19DVEFfU1RBVFNfR0xPQkFMX01BWCAtIDEpCiBlbnVtIGN0YXR0cl9leHBlY3Rfc3RhdHMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfU1RBVFNfRVhQX1VOU1BFQywKLSBDVEFfU1RBVFNfRVhQX05FVywKLSBDVEFfU1RBVFNfRVhQX0NSRUFURSwKLSBDVEFfU1RBVFNfRVhQX0RFTEVURSwKKyAgQ1RBX1NUQVRTX0VYUF9VTlNQRUMsCisgIENUQV9TVEFUU19FWFBfTkVXLAorICBDVEFfU1RBVFNfRVhQX0NSRUFURSwKKyAgQ1RBX1NUQVRTX0VYUF9ERUxFVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fQ1RBX1NUQVRTX0VYUF9NQVgsCisgIF9fQ1RBX1NUQVRTX0VYUF9NQVgsCiB9OwogI2RlZmluZSBDVEFfU1RBVFNfRVhQX01BWCAoX19DVEFfU1RBVFNfRVhQX01BWCAtIDEpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19jdGhlbHBlci5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2N0aGVscGVyLmgKaW5kZXggZjFhMWU0MS4uNTYxZTIxNyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2N0aGVscGVyLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2N0aGVscGVyLmgKQEAgLTIyLDU2ICsyMiw1NiBAQAogI2RlZmluZSBORkNUX0hFTFBFUl9TVEFUVVNfRU5BQkxFRCAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZm5sX2FjY3RfbXNnX3R5cGVzIHsKLSBORk5MX01TR19DVEhFTFBFUl9ORVcsCi0gTkZOTF9NU0dfQ1RIRUxQRVJfR0VULAotIE5GTkxfTVNHX0NUSEVMUEVSX0RFTCwKKyAgTkZOTF9NU0dfQ1RIRUxQRVJfTkVXLAorICBORk5MX01TR19DVEhFTFBFUl9HRVQsCisgIE5GTkxfTVNHX0NUSEVMUEVSX0RFTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZOTF9NU0dfQ1RIRUxQRVJfTUFYCisgIE5GTkxfTVNHX0NUSEVMUEVSX01BWAogfTsKIGVudW0gbmZubF9jdGhlbHBlcl90eXBlIHsKLSBORkNUSF9VTlNQRUMsCisgIE5GQ1RIX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDVEhfTkFNRSwKLSBORkNUSF9UVVBMRSwKLSBORkNUSF9RVUVVRV9OVU0sCi0gTkZDVEhfUE9MSUNZLAorICBORkNUSF9OQU1FLAorICBORkNUSF9UVVBMRSwKKyAgTkZDVEhfUVVFVUVfTlVNLAorICBORkNUSF9QT0xJQ1ksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ1RIX1BSSVZfREFUQV9MRU4sCi0gTkZDVEhfU1RBVFVTLAotIF9fTkZDVEhfTUFYCisgIE5GQ1RIX1BSSVZfREFUQV9MRU4sCisgIE5GQ1RIX1NUQVRVUywKKyAgX19ORkNUSF9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNUSF9NQVggKF9fTkZDVEhfTUFYIC0gMSkKIGVudW0gbmZubF9jdGhlbHBlcl9wb2xpY3lfdHlwZSB7Ci0gTkZDVEhfUE9MSUNZX1NFVF9VTlNQRUMsCi0gTkZDVEhfUE9MSUNZX1NFVF9OVU0sCisgIE5GQ1RIX1BPTElDWV9TRVRfVU5TUEVDLAorICBORkNUSF9QT0xJQ1lfU0VUX05VTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDVEhfUE9MSUNZX1NFVCwKLSBORkNUSF9QT0xJQ1lfU0VUMSA9IE5GQ1RIX1BPTElDWV9TRVQsCi0gTkZDVEhfUE9MSUNZX1NFVDIsCi0gTkZDVEhfUE9MSUNZX1NFVDMsCisgIE5GQ1RIX1BPTElDWV9TRVQsCisgIE5GQ1RIX1BPTElDWV9TRVQxID0gTkZDVEhfUE9MSUNZX1NFVCwKKyAgTkZDVEhfUE9MSUNZX1NFVDIsCisgIE5GQ1RIX1BPTElDWV9TRVQzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORkNUSF9QT0xJQ1lfU0VUNCwKLSBfX05GQ1RIX1BPTElDWV9TRVRfTUFYCisgIE5GQ1RIX1BPTElDWV9TRVQ0LAorICBfX05GQ1RIX1BPTElDWV9TRVRfTUFYCiB9OwogI2RlZmluZSBORkNUSF9QT0xJQ1lfU0VUX01BWCAoX19ORkNUSF9QT0xJQ1lfU0VUX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZm5sX2N0aGVscGVyX3BvbF90eXBlIHsKLSBORkNUSF9QT0xJQ1lfVU5TUEVDLAotIE5GQ1RIX1BPTElDWV9OQU1FLAotIE5GQ1RIX1BPTElDWV9FWFBFQ1RfTUFYLAorICBORkNUSF9QT0xJQ1lfVU5TUEVDLAorICBORkNUSF9QT0xJQ1lfTkFNRSwKKyAgTkZDVEhfUE9MSUNZX0VYUEVDVF9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ1RIX1BPTElDWV9FWFBFQ1RfVElNRU9VVCwKLSBfX05GQ1RIX1BPTElDWV9NQVgKKyAgTkZDVEhfUE9MSUNZX0VYUEVDVF9USU1FT1VULAorICBfX05GQ1RIX1BPTElDWV9NQVgKIH07CiAjZGVmaW5lIE5GQ1RIX1BPTElDWV9NQVggKF9fTkZDVEhfUE9MSUNZX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZm5sX2N0aGVscGVyX3R1cGxlX3R5cGUgewotIE5GQ1RIX1RVUExFX1VOU1BFQywKLSBORkNUSF9UVVBMRV9MM1BST1RPTlVNLAotIE5GQ1RIX1RVUExFX0w0UFJPVE9OVU0sCisgIE5GQ1RIX1RVUExFX1VOU1BFQywKKyAgTkZDVEhfVFVQTEVfTDNQUk9UT05VTSwKKyAgTkZDVEhfVFVQTEVfTDRQUk9UT05VTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19ORkNUSF9UVVBMRV9NQVgsCisgIF9fTkZDVEhfVFVQTEVfTUFYLAogfTsKICNkZWZpbmUgTkZDVEhfVFVQTEVfTUFYIChfX05GQ1RIX1RVUExFX01BWCAtIDEpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19jdHRpbWVvdXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19jdHRpbWVvdXQuaAppbmRleCA4OTI1Nzk5Li40YzM1Y2UwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfY3R0aW1lb3V0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2N0dGltZW91dC5oCkBAIC0yMSwxMjMgKzIxLDEyMyBAQAogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlci9uZm5ldGxpbmsuaD4KIGVudW0gY3RubF90aW1lb3V0X21zZ190eXBlcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQQ1ROTF9NU0dfVElNRU9VVF9ORVcsCi0gSVBDVE5MX01TR19USU1FT1VUX0dFVCwKLSBJUENUTkxfTVNHX1RJTUVPVVRfREVMRVRFLAotIElQQ1ROTF9NU0dfVElNRU9VVF9ERUZBVUxUX1NFVCwKKyAgSVBDVE5MX01TR19USU1FT1VUX05FVywKKyAgSVBDVE5MX01TR19USU1FT1VUX0dFVCwKKyAgSVBDVE5MX01TR19USU1FT1VUX0RFTEVURSwKKyAgSVBDVE5MX01TR19USU1FT1VUX0RFRkFVTFRfU0VULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUENUTkxfTVNHX1RJTUVPVVRfREVGQVVMVF9HRVQsCi0gSVBDVE5MX01TR19USU1FT1VUX01BWAorICBJUENUTkxfTVNHX1RJTUVPVVRfREVGQVVMVF9HRVQsCisgIElQQ1ROTF9NU0dfVElNRU9VVF9NQVgKIH07CiBlbnVtIGN0YXR0cl90aW1lb3V0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1RJTUVPVVRfVU5TUEVDLAotIENUQV9USU1FT1VUX05BTUUsCi0gQ1RBX1RJTUVPVVRfTDNQUk9UTywKLSBDVEFfVElNRU9VVF9MNFBST1RPLAorICBDVEFfVElNRU9VVF9VTlNQRUMsCisgIENUQV9USU1FT1VUX05BTUUsCisgIENUQV9USU1FT1VUX0wzUFJPVE8sCisgIENUQV9USU1FT1VUX0w0UFJPVE8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9USU1FT1VUX0RBVEEsCi0gQ1RBX1RJTUVPVVRfVVNFLAotIF9fQ1RBX1RJTUVPVVRfTUFYCisgIENUQV9USU1FT1VUX0RBVEEsCisgIENUQV9USU1FT1VUX1VTRSwKKyAgX19DVEFfVElNRU9VVF9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVEFfVElNRU9VVF9NQVggKF9fQ1RBX1RJTUVPVVRfTUFYIC0gMSkKIGVudW0gY3RhdHRyX3RpbWVvdXRfZ2VuZXJpYyB7Ci0gQ1RBX1RJTUVPVVRfR0VORVJJQ19VTlNQRUMsCi0gQ1RBX1RJTUVPVVRfR0VORVJJQ19USU1FT1VULAorICBDVEFfVElNRU9VVF9HRU5FUklDX1VOU1BFQywKKyAgQ1RBX1RJTUVPVVRfR0VORVJJQ19USU1FT1VULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9USU1FT1VUX0dFTkVSSUNfTUFYCisgIF9fQ1RBX1RJTUVPVVRfR0VORVJJQ19NQVgKIH07CiAjZGVmaW5lIENUQV9USU1FT1VUX0dFTkVSSUNfTUFYIChfX0NUQV9USU1FT1VUX0dFTkVSSUNfTUFYIC0gMSkKIGVudW0gY3RhdHRyX3RpbWVvdXRfdGNwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1RJTUVPVVRfVENQX1VOU1BFQywKLSBDVEFfVElNRU9VVF9UQ1BfU1lOX1NFTlQsCi0gQ1RBX1RJTUVPVVRfVENQX1NZTl9SRUNWLAotIENUQV9USU1FT1VUX1RDUF9FU1RBQkxJU0hFRCwKKyAgQ1RBX1RJTUVPVVRfVENQX1VOU1BFQywKKyAgQ1RBX1RJTUVPVVRfVENQX1NZTl9TRU5ULAorICBDVEFfVElNRU9VVF9UQ1BfU1lOX1JFQ1YsCisgIENUQV9USU1FT1VUX1RDUF9FU1RBQkxJU0hFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1RJTUVPVVRfVENQX0ZJTl9XQUlULAotIENUQV9USU1FT1VUX1RDUF9DTE9TRV9XQUlULAotIENUQV9USU1FT1VUX1RDUF9MQVNUX0FDSywKLSBDVEFfVElNRU9VVF9UQ1BfVElNRV9XQUlULAorICBDVEFfVElNRU9VVF9UQ1BfRklOX1dBSVQsCisgIENUQV9USU1FT1VUX1RDUF9DTE9TRV9XQUlULAorICBDVEFfVElNRU9VVF9UQ1BfTEFTVF9BQ0ssCisgIENUQV9USU1FT1VUX1RDUF9USU1FX1dBSVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9USU1FT1VUX1RDUF9DTE9TRSwKLSBDVEFfVElNRU9VVF9UQ1BfU1lOX1NFTlQyLAotIENUQV9USU1FT1VUX1RDUF9SRVRSQU5TLAotIENUQV9USU1FT1VUX1RDUF9VTkFDSywKKyAgQ1RBX1RJTUVPVVRfVENQX0NMT1NFLAorICBDVEFfVElNRU9VVF9UQ1BfU1lOX1NFTlQyLAorICBDVEFfVElNRU9VVF9UQ1BfUkVUUkFOUywKKyAgQ1RBX1RJTUVPVVRfVENQX1VOQUNLLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9USU1FT1VUX1RDUF9NQVgKKyAgX19DVEFfVElNRU9VVF9UQ1BfTUFYCiB9OwogI2RlZmluZSBDVEFfVElNRU9VVF9UQ1BfTUFYIChfX0NUQV9USU1FT1VUX1RDUF9NQVggLSAxKQogZW51bSBjdGF0dHJfdGltZW91dF91ZHAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfVElNRU9VVF9VRFBfVU5TUEVDLAotIENUQV9USU1FT1VUX1VEUF9VTlJFUExJRUQsCi0gQ1RBX1RJTUVPVVRfVURQX1JFUExJRUQsCi0gX19DVEFfVElNRU9VVF9VRFBfTUFYCisgIENUQV9USU1FT1VUX1VEUF9VTlNQRUMsCisgIENUQV9USU1FT1VUX1VEUF9VTlJFUExJRUQsCisgIENUQV9USU1FT1VUX1VEUF9SRVBMSUVELAorICBfX0NUQV9USU1FT1VUX1VEUF9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBDVEFfVElNRU9VVF9VRFBfTUFYIChfX0NUQV9USU1FT1VUX1VEUF9NQVggLSAxKQogZW51bSBjdGF0dHJfdGltZW91dF91ZHBsaXRlIHsKLSBDVEFfVElNRU9VVF9VRFBMSVRFX1VOU1BFQywKKyAgQ1RBX1RJTUVPVVRfVURQTElURV9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9USU1FT1VUX1VEUExJVEVfVU5SRVBMSUVELAotIENUQV9USU1FT1VUX1VEUExJVEVfUkVQTElFRCwKLSBfX0NUQV9USU1FT1VUX1VEUExJVEVfTUFYCisgIENUQV9USU1FT1VUX1VEUExJVEVfVU5SRVBMSUVELAorICBDVEFfVElNRU9VVF9VRFBMSVRFX1JFUExJRUQsCisgIF9fQ1RBX1RJTUVPVVRfVURQTElURV9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVEFfVElNRU9VVF9VRFBMSVRFX01BWCAoX19DVEFfVElNRU9VVF9VRFBMSVRFX01BWCAtIDEpCiBlbnVtIGN0YXR0cl90aW1lb3V0X2ljbXAgewotIENUQV9USU1FT1VUX0lDTVBfVU5TUEVDLAotIENUQV9USU1FT1VUX0lDTVBfVElNRU9VVCwKKyAgQ1RBX1RJTUVPVVRfSUNNUF9VTlNQRUMsCisgIENUQV9USU1FT1VUX0lDTVBfVElNRU9VVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19DVEFfVElNRU9VVF9JQ01QX01BWAorICBfX0NUQV9USU1FT1VUX0lDTVBfTUFYCiB9OwogI2RlZmluZSBDVEFfVElNRU9VVF9JQ01QX01BWCAoX19DVEFfVElNRU9VVF9JQ01QX01BWCAtIDEpCiBlbnVtIGN0YXR0cl90aW1lb3V0X2RjY3AgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfVElNRU9VVF9EQ0NQX1VOU1BFQywKLSBDVEFfVElNRU9VVF9EQ0NQX1JFUVVFU1QsCi0gQ1RBX1RJTUVPVVRfRENDUF9SRVNQT05ELAotIENUQV9USU1FT1VUX0RDQ1BfUEFSVE9QRU4sCisgIENUQV9USU1FT1VUX0RDQ1BfVU5TUEVDLAorICBDVEFfVElNRU9VVF9EQ0NQX1JFUVVFU1QsCisgIENUQV9USU1FT1VUX0RDQ1BfUkVTUE9ORCwKKyAgQ1RBX1RJTUVPVVRfRENDUF9QQVJUT1BFTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1RJTUVPVVRfRENDUF9PUEVOLAotIENUQV9USU1FT1VUX0RDQ1BfQ0xPU0VSRVEsCi0gQ1RBX1RJTUVPVVRfRENDUF9DTE9TSU5HLAotIENUQV9USU1FT1VUX0RDQ1BfVElNRVdBSVQsCisgIENUQV9USU1FT1VUX0RDQ1BfT1BFTiwKKyAgQ1RBX1RJTUVPVVRfRENDUF9DTE9TRVJFUSwKKyAgQ1RBX1RJTUVPVVRfRENDUF9DTE9TSU5HLAorICBDVEFfVElNRU9VVF9EQ0NQX1RJTUVXQUlULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9USU1FT1VUX0RDQ1BfTUFYCisgIF9fQ1RBX1RJTUVPVVRfRENDUF9NQVgKIH07CiAjZGVmaW5lIENUQV9USU1FT1VUX0RDQ1BfTUFYIChfX0NUQV9USU1FT1VUX0RDQ1BfTUFYIC0gMSkKIGVudW0gY3RhdHRyX3RpbWVvdXRfc2N0cCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUQV9USU1FT1VUX1NDVFBfVU5TUEVDLAotIENUQV9USU1FT1VUX1NDVFBfQ0xPU0VELAotIENUQV9USU1FT1VUX1NDVFBfQ09PS0lFX1dBSVQsCi0gQ1RBX1RJTUVPVVRfU0NUUF9DT09LSUVfRUNIT0VELAorICBDVEFfVElNRU9VVF9TQ1RQX1VOU1BFQywKKyAgQ1RBX1RJTUVPVVRfU0NUUF9DTE9TRUQsCisgIENUQV9USU1FT1VUX1NDVFBfQ09PS0lFX1dBSVQsCisgIENUQV9USU1FT1VUX1NDVFBfQ09PS0lFX0VDSE9FRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1RJTUVPVVRfU0NUUF9FU1RBQkxJU0hFRCwKLSBDVEFfVElNRU9VVF9TQ1RQX1NIVVRET1dOX1NFTlQsCi0gQ1RBX1RJTUVPVVRfU0NUUF9TSFVURE9XTl9SRUNELAotIENUQV9USU1FT1VUX1NDVFBfU0hVVERPV05fQUNLX1NFTlQsCisgIENUQV9USU1FT1VUX1NDVFBfRVNUQUJMSVNIRUQsCisgIENUQV9USU1FT1VUX1NDVFBfU0hVVERPV05fU0VOVCwKKyAgQ1RBX1RJTUVPVVRfU0NUUF9TSFVURE9XTl9SRUNELAorICBDVEFfVElNRU9VVF9TQ1RQX1NIVVRET1dOX0FDS19TRU5ULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0NUQV9USU1FT1VUX1NDVFBfTUFYCisgIF9fQ1RBX1RJTUVPVVRfU0NUUF9NQVgKIH07CiAjZGVmaW5lIENUQV9USU1FT1VUX1NDVFBfTUFYIChfX0NUQV9USU1FT1VUX1NDVFBfTUFYIC0gMSkKIGVudW0gY3RhdHRyX3RpbWVvdXRfaWNtcHY2IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RBX1RJTUVPVVRfSUNNUFY2X1VOU1BFQywKLSBDVEFfVElNRU9VVF9JQ01QVjZfVElNRU9VVCwKLSBfX0NUQV9USU1FT1VUX0lDTVBWNl9NQVgKKyAgQ1RBX1RJTUVPVVRfSUNNUFY2X1VOU1BFQywKKyAgQ1RBX1RJTUVPVVRfSUNNUFY2X1RJTUVPVVQsCisgIF9fQ1RBX1RJTUVPVVRfSUNNUFY2X01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUQV9USU1FT1VUX0lDTVBWNl9NQVggKF9fQ1RBX1RJTUVPVVRfSUNNUFY2X01BWCAtIDEpCiBlbnVtIGN0YXR0cl90aW1lb3V0X2dyZSB7Ci0gQ1RBX1RJTUVPVVRfR1JFX1VOU1BFQywKLSBDVEFfVElNRU9VVF9HUkVfVU5SRVBMSUVELAorICBDVEFfVElNRU9VVF9HUkVfVU5TUEVDLAorICBDVEFfVElNRU9VVF9HUkVfVU5SRVBMSUVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVEFfVElNRU9VVF9HUkVfUkVQTElFRCwKLSBfX0NUQV9USU1FT1VUX0dSRV9NQVgKKyAgQ1RBX1RJTUVPVVRfR1JFX1JFUExJRUQsCisgIF9fQ1RBX1RJTUVPVVRfR1JFX01BWAogfTsKICNkZWZpbmUgQ1RBX1RJTUVPVVRfR1JFX01BWCAoX19DVEFfVElNRU9VVF9HUkVfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfbG9nLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfbG9nLmgKaW5kZXggNTZkMjAzNi4uYzUzNDVmZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX2xvZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL25mbmV0bGlua19sb2cuaApAQCAtMjIsODggKzIyLDg4IEBACiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyL25mbmV0bGluay5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmZ1bG5sX21zZ190eXBlcyB7Ci0gTkZVTE5MX01TR19QQUNLRVQsCi0gTkZVTE5MX01TR19DT05GSUcsCi0gTkZVTE5MX01TR19NQVgKKyAgTkZVTE5MX01TR19QQUNLRVQsCisgIE5GVUxOTF9NU0dfQ09ORklHLAorICBORlVMTkxfTVNHX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgbmZ1bG5sX21zZ19wYWNrZXRfaGRyIHsKLSBfX2JlMTYgaHdfcHJvdG9jb2w7Ci0gX191OCBob29rOworICBfX2JlMTYgaHdfcHJvdG9jb2w7CisgIF9fdTggaG9vazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBfcGFkOworICBfX3U4IF9wYWQ7CiB9Owogc3RydWN0IG5mdWxubF9tc2dfcGFja2V0X2h3IHsKLSBfX2JlMTYgaHdfYWRkcmxlbjsKKyAgX19iZTE2IGh3X2FkZHJsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IF9wYWQ7Ci0gX191OCBod19hZGRyWzhdOworICBfX3UxNiBfcGFkOworICBfX3U4IGh3X2FkZHJbOF07CiB9Owogc3RydWN0IG5mdWxubF9tc2dfcGFja2V0X3RpbWVzdGFtcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYWxpZ25lZF9iZTY0IHNlYzsKLSBfX2FsaWduZWRfYmU2NCB1c2VjOworICBfX2FsaWduZWRfYmU2NCBzZWM7CisgIF9fYWxpZ25lZF9iZTY0IHVzZWM7CiB9OwogZW51bSBuZnVsbmxfYXR0cl90eXBlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZVTEFfVU5TUEVDLAotIE5GVUxBX1BBQ0tFVF9IRFIsCi0gTkZVTEFfTUFSSywKLSBORlVMQV9USU1FU1RBTVAsCisgIE5GVUxBX1VOU1BFQywKKyAgTkZVTEFfUEFDS0VUX0hEUiwKKyAgTkZVTEFfTUFSSywKKyAgTkZVTEFfVElNRVNUQU1QLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlVMQV9JRklOREVYX0lOREVWLAotIE5GVUxBX0lGSU5ERVhfT1VUREVWLAotIE5GVUxBX0lGSU5ERVhfUEhZU0lOREVWLAotIE5GVUxBX0lGSU5ERVhfUEhZU09VVERFViwKKyAgTkZVTEFfSUZJTkRFWF9JTkRFViwKKyAgTkZVTEFfSUZJTkRFWF9PVVRERVYsCisgIE5GVUxBX0lGSU5ERVhfUEhZU0lOREVWLAorICBORlVMQV9JRklOREVYX1BIWVNPVVRERVYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVUxBX0hXQUREUiwKLSBORlVMQV9QQVlMT0FELAotIE5GVUxBX1BSRUZJWCwKLSBORlVMQV9VSUQsCisgIE5GVUxBX0hXQUREUiwKKyAgTkZVTEFfUEFZTE9BRCwKKyAgTkZVTEFfUFJFRklYLAorICBORlVMQV9VSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVUxBX1NFUSwKLSBORlVMQV9TRVFfR0xPQkFMLAotIE5GVUxBX0dJRCwKLSBORlVMQV9IV1RZUEUsCisgIE5GVUxBX1NFUSwKKyAgTkZVTEFfU0VRX0dMT0JBTCwKKyAgTkZVTEFfR0lELAorICBORlVMQV9IV1RZUEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GVUxBX0hXSEVBREVSLAotIE5GVUxBX0hXTEVOLAotIF9fTkZVTEFfTUFYCisgIE5GVUxBX0hXSEVBREVSLAorICBORlVMQV9IV0xFTiwKKyAgX19ORlVMQV9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORlVMQV9NQVggKF9fTkZVTEFfTUFYIC0gMSkKIGVudW0gbmZ1bG5sX21zZ19jb25maWdfY21kcyB7Ci0gTkZVTE5MX0NGR19DTURfTk9ORSwKLSBORlVMTkxfQ0ZHX0NNRF9CSU5ELAorICBORlVMTkxfQ0ZHX0NNRF9OT05FLAorICBORlVMTkxfQ0ZHX0NNRF9CSU5ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlVMTkxfQ0ZHX0NNRF9VTkJJTkQsCi0gTkZVTE5MX0NGR19DTURfUEZfQklORCwKLSBORlVMTkxfQ0ZHX0NNRF9QRl9VTkJJTkQsCisgIE5GVUxOTF9DRkdfQ01EX1VOQklORCwKKyAgTkZVTE5MX0NGR19DTURfUEZfQklORCwKKyAgTkZVTE5MX0NGR19DTURfUEZfVU5CSU5ELAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmZ1bG5sX21zZ19jb25maWdfY21kIHsKLSBfX3U4IGNvbW1hbmQ7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBjb21tYW5kOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBuZnVsbmxfbXNnX2NvbmZpZ19tb2RlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGNvcHlfcmFuZ2U7Ci0gX191OCBjb3B5X21vZGU7Ci0gX191OCBfcGFkOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fYmUzMiBjb3B5X3JhbmdlOworICBfX3U4IGNvcHlfbW9kZTsKKyAgX191OCBfcGFkOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mdWxubF9hdHRyX2NvbmZpZyB7Ci0gTkZVTEFfQ0ZHX1VOU1BFQywKLSBORlVMQV9DRkdfQ01ELAotIE5GVUxBX0NGR19NT0RFLAorICBORlVMQV9DRkdfVU5TUEVDLAorICBORlVMQV9DRkdfQ01ELAorICBORlVMQV9DRkdfTU9ERSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZVTEFfQ0ZHX05MQlVGU0laLAotIE5GVUxBX0NGR19USU1FT1VULAotIE5GVUxBX0NGR19RVEhSRVNILAotIE5GVUxBX0NGR19GTEFHUywKKyAgTkZVTEFfQ0ZHX05MQlVGU0laLAorICBORlVMQV9DRkdfVElNRU9VVCwKKyAgTkZVTEFfQ0ZHX1FUSFJFU0gsCisgIE5GVUxBX0NGR19GTEFHUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19ORlVMQV9DRkdfTUFYCisgIF9fTkZVTEFfQ0ZHX01BWAogfTsKLSNkZWZpbmUgTkZVTEFfQ0ZHX01BWCAoX19ORlVMQV9DRkdfTUFYIC0xKQorI2RlZmluZSBORlVMQV9DRkdfTUFYIChfX05GVUxBX0NGR19NQVggLSAxKQogI2RlZmluZSBORlVMTkxfQ09QWV9OT05FIDB4MDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GVUxOTF9DT1BZX01FVEEgMHgwMQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rX3F1ZXVlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfcXVldWUuaAppbmRleCA4MTZlMzQ0Li42OTQ2MzZiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfcXVldWUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci9uZm5ldGxpbmtfcXVldWUuaApAQCAtMjIsMTAyICsyMiwxMDIgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXIvbmZuZXRsaW5rLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnFubF9tc2dfdHlwZXMgewotIE5GUU5MX01TR19QQUNLRVQsCi0gTkZRTkxfTVNHX1ZFUkRJQ1QsCi0gTkZRTkxfTVNHX0NPTkZJRywKKyAgTkZRTkxfTVNHX1BBQ0tFVCwKKyAgTkZRTkxfTVNHX1ZFUkRJQ1QsCisgIE5GUU5MX01TR19DT05GSUcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GUU5MX01TR19WRVJESUNUX0JBVENILAotIE5GUU5MX01TR19NQVgKKyAgTkZRTkxfTVNHX1ZFUkRJQ1RfQkFUQ0gsCisgIE5GUU5MX01TR19NQVgKIH07CiBzdHJ1Y3QgbmZxbmxfbXNnX3BhY2tldF9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgcGFja2V0X2lkOwotIF9fYmUxNiBod19wcm90b2NvbDsKLSBfX3U4IGhvb2s7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX19iZTMyIHBhY2tldF9pZDsKKyAgX19iZTE2IGh3X3Byb3RvY29sOworICBfX3U4IGhvb2s7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuZnFubF9tc2dfcGFja2V0X2h3IHsKLSBfX2JlMTYgaHdfYWRkcmxlbjsKLSBfX3UxNiBfcGFkOwotIF9fdTggaHdfYWRkcls4XTsKKyAgX19iZTE2IGh3X2FkZHJsZW47CisgIF9fdTE2IF9wYWQ7CisgIF9fdTggaHdfYWRkcls4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG5mcW5sX21zZ19wYWNrZXRfdGltZXN0YW1wIHsKLSBfX2FsaWduZWRfYmU2NCBzZWM7Ci0gX19hbGlnbmVkX2JlNjQgdXNlYzsKKyAgX19hbGlnbmVkX2JlNjQgc2VjOworICBfX2FsaWduZWRfYmU2NCB1c2VjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG5mcW5sX2F0dHJfdHlwZSB7Ci0gTkZRQV9VTlNQRUMsCi0gTkZRQV9QQUNLRVRfSERSLAorICBORlFBX1VOU1BFQywKKyAgTkZRQV9QQUNLRVRfSERSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlFBX1ZFUkRJQ1RfSERSLAotIE5GUUFfTUFSSywKLSBORlFBX1RJTUVTVEFNUCwKLSBORlFBX0lGSU5ERVhfSU5ERVYsCisgIE5GUUFfVkVSRElDVF9IRFIsCisgIE5GUUFfTUFSSywKKyAgTkZRQV9USU1FU1RBTVAsCisgIE5GUUFfSUZJTkRFWF9JTkRFViwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZRQV9JRklOREVYX09VVERFViwKLSBORlFBX0lGSU5ERVhfUEhZU0lOREVWLAotIE5GUUFfSUZJTkRFWF9QSFlTT1VUREVWLAotIE5GUUFfSFdBRERSLAorICBORlFBX0lGSU5ERVhfT1VUREVWLAorICBORlFBX0lGSU5ERVhfUEhZU0lOREVWLAorICBORlFBX0lGSU5ERVhfUEhZU09VVERFViwKKyAgTkZRQV9IV0FERFIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GUUFfUEFZTE9BRCwKLSBORlFBX0NULAotIE5GUUFfQ1RfSU5GTywKLSBORlFBX0NBUF9MRU4sCisgIE5GUUFfUEFZTE9BRCwKKyAgTkZRQV9DVCwKKyAgTkZRQV9DVF9JTkZPLAorICBORlFBX0NBUF9MRU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GUUFfU0tCX0lORk8sCi0gTkZRQV9FWFAsCi0gTkZRQV9VSUQsCi0gTkZRQV9HSUQsCisgIE5GUUFfU0tCX0lORk8sCisgIE5GUUFfRVhQLAorICBORlFBX1VJRCwKKyAgTkZRQV9HSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fTkZRQV9NQVgKKyAgX19ORlFBX01BWAogfTsKICNkZWZpbmUgTkZRQV9NQVggKF9fTkZRQV9NQVggLSAxKQogc3RydWN0IG5mcW5sX21zZ192ZXJkaWN0X2hkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiB2ZXJkaWN0OwotIF9fYmUzMiBpZDsKKyAgX19iZTMyIHZlcmRpY3Q7CisgIF9fYmUzMiBpZDsKIH07CiBlbnVtIG5mcW5sX21zZ19jb25maWdfY21kcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GUU5MX0NGR19DTURfTk9ORSwKLSBORlFOTF9DRkdfQ01EX0JJTkQsCi0gTkZRTkxfQ0ZHX0NNRF9VTkJJTkQsCi0gTkZRTkxfQ0ZHX0NNRF9QRl9CSU5ELAorICBORlFOTF9DRkdfQ01EX05PTkUsCisgIE5GUU5MX0NGR19DTURfQklORCwKKyAgTkZRTkxfQ0ZHX0NNRF9VTkJJTkQsCisgIE5GUU5MX0NGR19DTURfUEZfQklORCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZRTkxfQ0ZHX0NNRF9QRl9VTkJJTkQsCisgIE5GUU5MX0NGR19DTURfUEZfVU5CSU5ELAogfTsKIHN0cnVjdCBuZnFubF9tc2dfY29uZmlnX2NtZCB7Ci0gX191OCBjb21tYW5kOworICBfX3U4IGNvbW1hbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggX3BhZDsKLSBfX2JlMTYgcGY7CisgIF9fdTggX3BhZDsKKyAgX19iZTE2IHBmOwogfTsKIGVudW0gbmZxbmxfY29uZmlnX21vZGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlFOTF9DT1BZX05PTkUsCi0gTkZRTkxfQ09QWV9NRVRBLAotIE5GUU5MX0NPUFlfUEFDS0VULAorICBORlFOTF9DT1BZX05PTkUsCisgIE5GUU5MX0NPUFlfTUVUQSwKKyAgTkZRTkxfQ09QWV9QQUNLRVQsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuZnFubF9tc2dfY29uZmlnX3BhcmFtcyB7Ci0gX19iZTMyIGNvcHlfcmFuZ2U7Ci0gX191OCBjb3B5X21vZGU7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX19iZTMyIGNvcHlfcmFuZ2U7CisgIF9fdTggY29weV9tb2RlOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mcW5sX2F0dHJfY29uZmlnIHsKLSBORlFBX0NGR19VTlNQRUMsCi0gTkZRQV9DRkdfQ01ELAotIE5GUUFfQ0ZHX1BBUkFNUywKKyAgTkZRQV9DRkdfVU5TUEVDLAorICBORlFBX0NGR19DTUQsCisgIE5GUUFfQ0ZHX1BBUkFNUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZRQV9DRkdfUVVFVUVfTUFYTEVOLAotIE5GUUFfQ0ZHX01BU0ssCi0gTkZRQV9DRkdfRkxBR1MsCi0gX19ORlFBX0NGR19NQVgKKyAgTkZRQV9DRkdfUVVFVUVfTUFYTEVOLAorICBORlFBX0NGR19NQVNLLAorICBORlFBX0NGR19GTEFHUywKKyAgX19ORlFBX0NGR19NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBORlFBX0NGR19NQVggKF9fTkZRQV9DRkdfTUFYLTEpCisjZGVmaW5lIE5GUUFfQ0ZHX01BWCAoX19ORlFBX0NGR19NQVggLSAxKQogI2RlZmluZSBORlFBX0NGR19GX0ZBSUxfT1BFTiAoMSA8PCAwKQogI2RlZmluZSBORlFBX0NGR19GX0NPTk5UUkFDSyAoMSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3hfdGFibGVzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94X3RhYmxlcy5oCmluZGV4IDczNTVkMDEuLmFhYjMyYmIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3hfdGFibGVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveF90YWJsZXMuaApAQCAtMjYsNjcgKzI2LDY5IEBACiAjZGVmaW5lIFhUX1RBQkxFX01BWE5BTUVMRU4gMzIKIHN0cnVjdCB4dF9lbnRyeV9tYXRjaCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIF9fdTE2IG1hdGNoX3NpemU7Ci0gY2hhciBuYW1lW1hUX0VYVEVOU0lPTl9NQVhOQU1FTEVOXTsKKyAgdW5pb24geworICAgIHN0cnVjdCB7CisgICAgICBfX3UxNiBtYXRjaF9zaXplOworICAgICAgY2hhciBuYW1lW1hUX0VYVEVOU0lPTl9NQVhOQU1FTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXZpc2lvbjsKLSB9IHVzZXI7Ci0gc3RydWN0IHsKLSBfX3UxNiBtYXRjaF9zaXplOworICAgICAgX191OCByZXZpc2lvbjsKKyAgICB9IHVzZXI7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTE2IG1hdGNoX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB4dF9tYXRjaCAqbWF0Y2g7Ci0gfSBrZXJuZWw7Ci0gX191MTYgbWF0Y2hfc2l6ZTsKLSB9IHU7CisgICAgICBzdHJ1Y3QgeHRfbWF0Y2ggKiBtYXRjaDsKKyAgICB9IGtlcm5lbDsKKyAgICBfX3UxNiBtYXRjaF9zaXplOworICB9IHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZGF0YVswXTsKKyAgdW5zaWduZWQgY2hhciBkYXRhWzBdOwogfTsKIHN0cnVjdCB4dF9lbnRyeV90YXJnZXQgewotIHVuaW9uIHsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIF9fdTE2IHRhcmdldF9zaXplOwotIGNoYXIgbmFtZVtYVF9FWFRFTlNJT05fTUFYTkFNRUxFTl07Ci0gX191OCByZXZpc2lvbjsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MTYgdGFyZ2V0X3NpemU7CisgICAgICBjaGFyIG5hbWVbWFRfRVhURU5TSU9OX01BWE5BTUVMRU5dOworICAgICAgX191OCByZXZpc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSB1c2VyOwotIHN0cnVjdCB7Ci0gX191MTYgdGFyZ2V0X3NpemU7Ci0gc3RydWN0IHh0X3RhcmdldCAqdGFyZ2V0OworICAgIH0gdXNlcjsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MTYgdGFyZ2V0X3NpemU7CisgICAgICBzdHJ1Y3QgeHRfdGFyZ2V0ICogdGFyZ2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGtlcm5lbDsKLSBfX3UxNiB0YXJnZXRfc2l6ZTsKLSB9IHU7Ci0gdW5zaWduZWQgY2hhciBkYXRhWzBdOworICAgIH0ga2VybmVsOworICAgIF9fdTE2IHRhcmdldF9zaXplOworICB9IHU7CisgIHVuc2lnbmVkIGNoYXIgZGF0YVswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBYVF9UQVJHRVRfSU5JVChfX25hbWUsIF9fc2l6ZSkgIHsgICAudGFyZ2V0LnUudXNlciA9IHsgICAudGFyZ2V0X3NpemUgPSBYVF9BTElHTihfX3NpemUpLCAgIC5uYW1lID0gX19uYW1lLCAgIH0sICB9CisjZGVmaW5lIFhUX1RBUkdFVF9JTklUKF9fbmFtZSxfX3NpemUpIFwKK3sudGFyZ2V0LnUudXNlciA9IHsudGFyZ2V0X3NpemUgPSBYVF9BTElHTihfX3NpemUpLC5uYW1lID0gX19uYW1lLCB9LCBcCit9CiBzdHJ1Y3QgeHRfc3RhbmRhcmRfdGFyZ2V0IHsKLSBzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0IHRhcmdldDsKKyAgc3RydWN0IHh0X2VudHJ5X3RhcmdldCB0YXJnZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB2ZXJkaWN0OworICBpbnQgdmVyZGljdDsKIH07CiBzdHJ1Y3QgeHRfZXJyb3JfdGFyZ2V0IHsKLSBzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0IHRhcmdldDsKKyAgc3RydWN0IHh0X2VudHJ5X3RhcmdldCB0YXJnZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZXJyb3JuYW1lW1hUX0ZVTkNUSU9OX01BWE5BTUVMRU5dOworICBjaGFyIGVycm9ybmFtZVtYVF9GVU5DVElPTl9NQVhOQU1FTEVOXTsKIH07CiBzdHJ1Y3QgeHRfZ2V0X3JldmlzaW9uIHsKLSBjaGFyIG5hbWVbWFRfRVhURU5TSU9OX01BWE5BTUVMRU5dOworICBjaGFyIG5hbWVbWFRfRVhURU5TSU9OX01BWE5BTUVMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJldmlzaW9uOworICBfX3U4IHJldmlzaW9uOwogfTsKICNkZWZpbmUgWFRfQ09OVElOVUUgMHhGRkZGRkZGRgotI2RlZmluZSBYVF9SRVRVUk4gKC1ORl9SRVBFQVQgLSAxKQorI2RlZmluZSBYVF9SRVRVUk4gKC0gTkZfUkVQRUFUIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgX3h0X2FsaWduIHsKLSBfX3U4IHU4OwotIF9fdTE2IHUxNjsKLSBfX3UzMiB1MzI7CisgIF9fdTggdTg7CisgIF9fdTE2IHUxNjsKKyAgX191MzIgdTMyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1NjQ7CisgIF9fdTY0IHU2NDsKIH07CiAjZGVmaW5lIFhUX0FMSUdOKHMpIF9fQUxJR05fS0VSTkVMKChzKSwgX19hbGlnbm9mX18oc3RydWN0IF94dF9hbGlnbikpCiAjZGVmaW5lIFhUX1NUQU5EQVJEX1RBUkdFVCAiIgpAQCAtOTYsMjAgKzk4LDI0IEBACiAjZGVmaW5lIEFERF9DT1VOVEVSKGMsYixwKSBkbyB7IChjKS5iY250ICs9IChiKTsgKGMpLnBjbnQgKz0gKHApOyB9IHdoaWxlKDApCiBzdHJ1Y3QgeHRfY291bnRlcnMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwY250LCBiY250OworICBfX3U2NCBwY250LCBiY250OwogfTsKIHN0cnVjdCB4dF9jb3VudGVyc19pbmZvIHsKLSBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CisgIGNoYXIgbmFtZVtYVF9UQUJMRV9NQVhOQU1FTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IG51bV9jb3VudGVyczsKLSBzdHJ1Y3QgeHRfY291bnRlcnMgY291bnRlcnNbMF07CisgIHVuc2lnbmVkIGludCBudW1fY291bnRlcnM7CisgIHN0cnVjdCB4dF9jb3VudGVycyBjb3VudGVyc1swXTsKIH07CiAjZGVmaW5lIFhUX0lOVl9QUk9UTyAweDQwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBYVF9NQVRDSF9JVEVSQVRFKHR5cGUsIGUsIGZuLCBhcmdzLi4uKSAgKHsgICB1bnNpZ25lZCBpbnQgX19pOyAgIGludCBfX3JldCA9IDA7ICAgc3RydWN0IHh0X2VudHJ5X21hdGNoICpfX207ICAgICBmb3IgKF9faSA9IHNpemVvZih0eXBlKTsgICBfX2kgPCAoZSktPnRhcmdldF9vZmZzZXQ7ICAgX19pICs9IF9fbS0+dS5tYXRjaF9zaXplKSB7ICAgX19tID0gKHZvaWQgKillICsgX19pOyAgICAgX19yZXQgPSBmbihfX20gLCAjIyBhcmdzKTsgICBpZiAoX19yZXQgIT0gMCkgICBicmVhazsgICB9ICAgX19yZXQ7ICB9KQotI2RlZmluZSBYVF9FTlRSWV9JVEVSQVRFX0NPTlRJTlVFKHR5cGUsIGVudHJpZXMsIHNpemUsIG4sIGZuLCBhcmdzLi4uKSAgKHsgICB1bnNpZ25lZCBpbnQgX19pLCBfX247ICAgaW50IF9fcmV0ID0gMDsgICB0eXBlICpfX2VudHJ5OyAgICAgZm9yIChfX2kgPSAwLCBfX24gPSAwOyBfX2kgPCAoc2l6ZSk7ICAgX19pICs9IF9fZW50cnktPm5leHRfb2Zmc2V0LCBfX24rKykgeyAgIF9fZW50cnkgPSAodm9pZCAqKShlbnRyaWVzKSArIF9faTsgICBpZiAoX19uIDwgbikgICBjb250aW51ZTsgICAgIF9fcmV0ID0gZm4oX19lbnRyeSAsICMjIGFyZ3MpOyAgIGlmIChfX3JldCAhPSAwKSAgIGJyZWFrOyAgIH0gICBfX3JldDsgIH0pCi0jZGVmaW5lIFhUX0VOVFJZX0lURVJBVEUodHlwZSwgZW50cmllcywgc2l6ZSwgZm4sIGFyZ3MuLi4pICAgWFRfRU5UUllfSVRFUkFURV9DT05USU5VRSh0eXBlLCBlbnRyaWVzLCBzaXplLCAwLCBmbiwgYXJncykKLSNkZWZpbmUgeHRfZW50cnlfZm9yZWFjaChwb3MsIGVoZWFkLCBlc2l6ZSkgICBmb3IgKChwb3MpID0gKHR5cGVvZihwb3MpKShlaGVhZCk7ICAgKHBvcykgPCAodHlwZW9mKHBvcykpKChjaGFyICopKGVoZWFkKSArIChlc2l6ZSkpOyAgIChwb3MpID0gKHR5cGVvZihwb3MpKSgoY2hhciAqKShwb3MpICsgKHBvcyktPm5leHRfb2Zmc2V0KSkKKyNkZWZpbmUgWFRfTUFUQ0hfSVRFUkFURSh0eXBlLGUsZm4sYXJncy4uLikgXAorKHsgdW5zaWduZWQgaW50IF9faTsgaW50IF9fcmV0ID0gMDsgc3RydWN0IHh0X2VudHJ5X21hdGNoICogX19tOyBmb3IoX19pID0gc2l6ZW9mKHR5cGUpOyBfX2kgPCAoZSktPnRhcmdldF9vZmZzZXQ7IF9faSArPSBfX20tPnUubWF0Y2hfc2l6ZSkgeyBfX20gPSAodm9pZCAqKSBlICsgX19pOyBfX3JldCA9IGZuKF9fbSwgIyNhcmdzKTsgaWYoX19yZXQgIT0gMCkgYnJlYWs7IH0gX19yZXQ7IFwKK30pCisjZGVmaW5lIFhUX0VOVFJZX0lURVJBVEVfQ09OVElOVUUodHlwZSxlbnRyaWVzLHNpemUsbixmbixhcmdzLi4uKSBcCisoeyB1bnNpZ25lZCBpbnQgX19pLCBfX247IGludCBfX3JldCA9IDA7IHR5cGUgKiBfX2VudHJ5OyBmb3IoX19pID0gMCwgX19uID0gMDsgX19pIDwgKHNpemUpOyBfX2kgKz0gX19lbnRyeS0+bmV4dF9vZmZzZXQsIF9fbiArKykgeyBfX2VudHJ5ID0gKHZvaWQgKikgKGVudHJpZXMpICsgX19pOyBpZihfX24gPCBuKSBjb250aW51ZTsgX19yZXQgPSBmbihfX2VudHJ5LCAjI2FyZ3MpOyBpZihfX3JldCAhPSAwKSBicmVhazsgfSBfX3JldDsgXAorfSkKKyNkZWZpbmUgWFRfRU5UUllfSVRFUkFURSh0eXBlLGVudHJpZXMsc2l6ZSxmbixhcmdzLi4uKSBYVF9FTlRSWV9JVEVSQVRFX0NPTlRJTlVFKHR5cGUsIGVudHJpZXMsIHNpemUsIDAsIGZuLCBhcmdzKQorI2RlZmluZSB4dF9lbnRyeV9mb3JlYWNoKHBvcyxlaGVhZCxlc2l6ZSkgZm9yKChwb3MpID0gKHR5cGVvZihwb3MpKSAoZWhlYWQpOyAocG9zKSA8ICh0eXBlb2YocG9zKSkgKChjaGFyICopIChlaGVhZCkgKyAoZXNpemUpKTsgKHBvcykgPSAodHlwZW9mKHBvcykpICgoY2hhciAqKSAocG9zKSArIChwb3MpLT5uZXh0X29mZnNldCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSB4dF9lbWF0Y2hfZm9yZWFjaChwb3MsIGVudHJ5KSAgIGZvciAoKHBvcykgPSAoc3RydWN0IHh0X2VudHJ5X21hdGNoICopZW50cnktPmVsZW1zOyAgIChwb3MpIDwgKHN0cnVjdCB4dF9lbnRyeV9tYXRjaCAqKSgoY2hhciAqKShlbnRyeSkgKyAgIChlbnRyeSktPnRhcmdldF9vZmZzZXQpOyAgIChwb3MpID0gKHN0cnVjdCB4dF9lbnRyeV9tYXRjaCAqKSgoY2hhciAqKShwb3MpICsgICAocG9zKS0+dS5tYXRjaF9zaXplKSkKKyNkZWZpbmUgeHRfZW1hdGNoX2ZvcmVhY2gocG9zLGVudHJ5KSBmb3IoKHBvcykgPSAoc3RydWN0IHh0X2VudHJ5X21hdGNoICopIGVudHJ5LT5lbGVtczsgKHBvcykgPCAoc3RydWN0IHh0X2VudHJ5X21hdGNoICopICgoY2hhciAqKSAoZW50cnkpICsgKGVudHJ5KS0+dGFyZ2V0X29mZnNldCk7IChwb3MpID0gKHN0cnVjdCB4dF9lbnRyeV9tYXRjaCAqKSAoKGNoYXIgKikgKHBvcykgKyAocG9zKS0+dS5tYXRjaF9zaXplKSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQVVESVQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0FVRElULmgKaW5kZXggYjRkOTUxMS4uYmIxYmUyZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQVVESVQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9BVURJVC5oCkBAIC0yMSwxNSArMjEsMTUgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0FVRElUX1RZUEVfQUNDRVBUID0gMCwKLSBYVF9BVURJVF9UWVBFX0RST1AsCi0gWFRfQVVESVRfVFlQRV9SRUpFQ1QsCi0gX19YVF9BVURJVF9UWVBFX01BWCwKKyAgWFRfQVVESVRfVFlQRV9BQ0NFUFQgPSAwLAorICBYVF9BVURJVF9UWVBFX0RST1AsCisgIFhUX0FVRElUX1RZUEVfUkVKRUNULAorICBfX1hUX0FVRElUX1RZUEVfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFhUX0FVRElUX1RZUEVfTUFYIChfX1hUX0FVRElUX1RZUEVfTUFYIC0gMSkKIHN0cnVjdCB4dF9hdWRpdF9pbmZvIHsKLSBfX3U4IHR5cGU7CisgIF9fdTggdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9DSEVDS1NVTS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQ0hFQ0tTVU0uaAppbmRleCAzYzcwZjFlLi4zY2U3MTUzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9DSEVDS1NVTS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0NIRUNLU1VNLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgWFRfQ0hFQ0tTVU1fT1BfRklMTCAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHh0X0NIRUNLU1VNX2luZm8gewotIF9fdTggb3BlcmF0aW9uOworICBfX3U4IG9wZXJhdGlvbjsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9DTEFTU0lGWS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQ0xBU1NJRlkuaAppbmRleCA0NGUyNjJmLi44MTQ1NGI1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9DTEFTU0lGWS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0NMQVNTSUZZLmgKQEAgLTIxLDYgKzIxLDYgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHh0X2NsYXNzaWZ5X3RhcmdldF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHJpb3JpdHk7CisgIF9fdTMyIHByaW9yaXR5OwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQ09OTlNFQ01BUksuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0NPTk5TRUNNQVJLLmgKaW5kZXggMTA1Zjk0My4uYzk5ZDAxZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQ09OTlNFQ01BUksuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9DT05OU0VDTUFSSy5oCkBAIC0yMSwxMSArMjEsMTEgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENPTk5TRUNNQVJLX1NBVkUgPSAxLAotIENPTk5TRUNNQVJLX1JFU1RPUkUsCisgIENPTk5TRUNNQVJLX1NBVkUgPSAxLAorICBDT05OU0VDTUFSS19SRVNUT1JFLAogfTsKIHN0cnVjdCB4dF9jb25uc2VjbWFya190YXJnZXRfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbW9kZTsKKyAgX191OCBtb2RlOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQ1QuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0NULmgKaW5kZXggZmRmZWY1ZS4uMDNkMjA5MyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfQ1QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9DVC5oCkBAIC0yMSwzMCArMjEsMzAgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0NUX05PVFJBQ0sgPSAxIDw8IDAsCi0gWFRfQ1RfTk9UUkFDS19BTElBUyA9IDEgPDwgMSwKLSBYVF9DVF9NQVNLID0gWFRfQ1RfTk9UUkFDSyB8IFhUX0NUX05PVFJBQ0tfQUxJQVMsCisgIFhUX0NUX05PVFJBQ0sgPSAxIDw8IDAsCisgIFhUX0NUX05PVFJBQ0tfQUxJQVMgPSAxIDw8IDEsCisgIFhUX0NUX01BU0sgPSBYVF9DVF9OT1RSQUNLIHwgWFRfQ1RfTk9UUkFDS19BTElBUywKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHh0X2N0X3RhcmdldF9pbmZvIHsKLSBfX3UxNiBmbGFnczsKLSBfX3UxNiB6b25lOwotIF9fdTMyIGN0X2V2ZW50czsKKyAgX191MTYgZmxhZ3M7CisgIF9fdTE2IHpvbmU7CisgIF9fdTMyIGN0X2V2ZW50czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZXhwX2V2ZW50czsKLSBjaGFyIGhlbHBlclsxNl07Ci0gc3RydWN0IG5mX2Nvbm4gKmN0IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKKyAgX191MzIgZXhwX2V2ZW50czsKKyAgY2hhciBoZWxwZXJbMTZdOworICBzdHJ1Y3QgbmZfY29ubiAqIGN0IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHh0X2N0X3RhcmdldF9pbmZvX3YxIHsKLSBfX3UxNiBmbGFnczsKLSBfX3UxNiB6b25lOwotIF9fdTMyIGN0X2V2ZW50czsKKyAgX191MTYgZmxhZ3M7CisgIF9fdTE2IHpvbmU7CisgIF9fdTMyIGN0X2V2ZW50czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZXhwX2V2ZW50czsKLSBjaGFyIGhlbHBlclsxNl07Ci0gY2hhciB0aW1lb3V0WzMyXTsKLSBzdHJ1Y3QgbmZfY29ubiAqY3QgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBfX3UzMiBleHBfZXZlbnRzOworICBjaGFyIGhlbHBlclsxNl07CisgIGNoYXIgdGltZW91dFszMl07CisgIHN0cnVjdCBuZl9jb25uICogY3QgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0RTQ1AuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0RTQ1AuaAppbmRleCBjMTIyNzA3Li44MGYyZjY1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9EU0NQLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfRFNDUC5oCkBAIC0yMiwxMiArMjIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF9EU0NQX2luZm8gewotIF9fdTggZHNjcDsKKyAgX191OCBkc2NwOwogfTsKIHN0cnVjdCB4dF90b3NfdGFyZ2V0X2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHRvc192YWx1ZTsKLSBfX3U4IHRvc19tYXNrOworICBfX3U4IHRvc192YWx1ZTsKKyAgX191OCB0b3NfbWFzazsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9ITUFSSy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfSE1BUksuaAppbmRleCBhZGQwMzAyLi5kM2IyYWI0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9ITUFSSy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0hNQVJLLmgKQEAgLTIxLDU0ICsyMSw1NCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSE1BUktfU0FERFJfTUFTSywKLSBYVF9ITUFSS19EQUREUl9NQVNLLAotIFhUX0hNQVJLX1NQSSwKLSBYVF9ITUFSS19TUElfTUFTSywKKyAgWFRfSE1BUktfU0FERFJfTUFTSywKKyAgWFRfSE1BUktfREFERFJfTUFTSywKKyAgWFRfSE1BUktfU1BJLAorICBYVF9ITUFSS19TUElfTUFTSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSE1BUktfU1BPUlQsCi0gWFRfSE1BUktfRFBPUlQsCi0gWFRfSE1BUktfU1BPUlRfTUFTSywKLSBYVF9ITUFSS19EUE9SVF9NQVNLLAorICBYVF9ITUFSS19TUE9SVCwKKyAgWFRfSE1BUktfRFBPUlQsCisgIFhUX0hNQVJLX1NQT1JUX01BU0ssCisgIFhUX0hNQVJLX0RQT1JUX01BU0ssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0hNQVJLX1BST1RPX01BU0ssCi0gWFRfSE1BUktfUk5ELAotIFhUX0hNQVJLX01PRFVMVVMsCi0gWFRfSE1BUktfT0ZGU0VULAorICBYVF9ITUFSS19QUk9UT19NQVNLLAorICBYVF9ITUFSS19STkQsCisgIFhUX0hNQVJLX01PRFVMVVMsCisgIFhUX0hNQVJLX09GRlNFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSE1BUktfQ1QsCi0gWFRfSE1BUktfTUVUSE9EX0wzLAotIFhUX0hNQVJLX01FVEhPRF9MM180LAorICBYVF9ITUFSS19DVCwKKyAgWFRfSE1BUktfTUVUSE9EX0wzLAorICBYVF9ITUFSS19NRVRIT0RfTDNfNCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYVF9ITUFSS19GTEFHKGZsYWcpICgxIDw8IGZsYWcpCiB1bmlvbiBobWFya19wb3J0cyB7Ci0gc3RydWN0IHsKLSBfX3UxNiBzcmM7CisgIHN0cnVjdCB7CisgICAgX191MTYgc3JjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBkc3Q7Ci0gfSBwMTY7Ci0gc3RydWN0IHsKLSBfX2JlMTYgc3JjOworICAgIF9fdTE2IGRzdDsKKyAgfSBwMTY7CisgIHN0cnVjdCB7CisgICAgX19iZTE2IHNyYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IGRzdDsKLSB9IGIxNjsKLSBfX3UzMiB2MzI7Ci0gX19iZTMyIGIzMjsKKyAgICBfX2JlMTYgZHN0OworICB9IGIxNjsKKyAgX191MzIgdjMyOworICBfX2JlMzIgYjMyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeHRfaG1hcmtfaW5mbyB7Ci0gdW5pb24gbmZfaW5ldF9hZGRyIHNyY19tYXNrOwotIHVuaW9uIG5mX2luZXRfYWRkciBkc3RfbWFzazsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIHNyY19tYXNrOworICB1bmlvbiBuZl9pbmV0X2FkZHIgZHN0X21hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIGhtYXJrX3BvcnRzIHBvcnRfbWFzazsKLSB1bmlvbiBobWFya19wb3J0cyBwb3J0X3NldDsKLSBfX3UzMiBmbGFnczsKLSBfX3UxNiBwcm90b19tYXNrOworICB1bmlvbiBobWFya19wb3J0cyBwb3J0X21hc2s7CisgIHVuaW9uIGhtYXJrX3BvcnRzIHBvcnRfc2V0OworICBfX3UzMiBmbGFnczsKKyAgX191MTYgcHJvdG9fbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGFzaHJuZDsKLSBfX3UzMiBobW9kdWx1czsKLSBfX3UzMiBob2Zmc2V0OworICBfX3UzMiBoYXNocm5kOworICBfX3UzMiBobW9kdWx1czsKKyAgX191MzIgaG9mZnNldDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9JRExFVElNRVIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0lETEVUSU1FUi5oCmluZGV4IDFhMmMwODguLjlkZjZjNzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0lETEVUSU1FUi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X0lETEVUSU1FUi5oCkBAIC0yMiw5ICsyMiw5IEBACiAjZGVmaW5lIE1BWF9JRExFVElNRVJfTEFCRUxfU0laRSAyOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpZGxldGltZXJfdGdfaW5mbyB7Ci0gX191MzIgdGltZW91dDsKLSBjaGFyIGxhYmVsW01BWF9JRExFVElNRVJfTEFCRUxfU0laRV07Ci0gc3RydWN0IGlkbGV0aW1lcl90ZyAqdGltZXIgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBfX3UzMiB0aW1lb3V0OworICBjaGFyIGxhYmVsW01BWF9JRExFVElNRVJfTEFCRUxfU0laRV07CisgIHN0cnVjdCBpZGxldGltZXJfdGcgKiB0aW1lciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfTEVELmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9MRUQuaAppbmRleCA2MDBlZGY0Li41M2I1M2ViIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9MRUQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9MRUQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB4dF9sZWRfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgaWRbMjddOwotIF9fdTggYWx3YXlzX2JsaW5rOwotIF9fdTMyIGRlbGF5OwotIHZvaWQgKmludGVybmFsX2RhdGEgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBjaGFyIGlkWzI3XTsKKyAgX191OCBhbHdheXNfYmxpbms7CisgIF9fdTMyIGRlbGF5OworICB2b2lkICogaW50ZXJuYWxfZGF0YSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfTE9HLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9MT0cuaAppbmRleCA1NjEwZWFkLi40N2FhZTNlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9MT0cuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9MT0cuaApAQCAtMjgsOSArMjgsOSBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfTE9HX01BU0sgMHgyZgogc3RydWN0IHh0X2xvZ19pbmZvIHsKLSB1bnNpZ25lZCBjaGFyIGxldmVsOwotIHVuc2lnbmVkIGNoYXIgbG9nZmxhZ3M7CisgIHVuc2lnbmVkIGNoYXIgbGV2ZWw7CisgIHVuc2lnbmVkIGNoYXIgbG9nZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcHJlZml4WzMwXTsKKyAgY2hhciBwcmVmaXhbMzBdOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfTkZMT0cuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X05GTE9HLmgKaW5kZXggYThkMGNmZi4uYzc4MWZjZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfTkZMT0cuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9ORkxPRy5oCkBAIC0yNCwxMyArMjQsMTMgQEAKICNkZWZpbmUgWFRfTkZMT0dfREVGQVVMVF9USFJFU0hPTEQgMAogI2RlZmluZSBYVF9ORkxPR19NQVNLIDB4MAogc3RydWN0IHh0X25mbG9nX2luZm8gewotIF9fdTMyIGxlbjsKKyAgX191MzIgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBncm91cDsKLSBfX3UxNiB0aHJlc2hvbGQ7Ci0gX191MTYgZmxhZ3M7Ci0gX191MTYgcGFkOworICBfX3UxNiBncm91cDsKKyAgX191MTYgdGhyZXNob2xkOworICBfX3UxNiBmbGFnczsKKyAgX191MTYgcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHByZWZpeFs2NF07CisgIGNoYXIgcHJlZml4WzY0XTsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X05GUVVFVUUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X05GUVVFVUUuaAppbmRleCBiOWFlY2ExLi5jZTQ4NzI2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9ORlFVRVVFLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfTkZRVUVVRS5oCkBAIC0yMSwyNCArMjEsMjQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHh0X05GUV9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcXVldWVudW07CisgIF9fdTE2IHF1ZXVlbnVtOwogfTsKIHN0cnVjdCB4dF9ORlFfaW5mb192MSB7Ci0gX191MTYgcXVldWVudW07CisgIF9fdTE2IHF1ZXVlbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBxdWV1ZXNfdG90YWw7CisgIF9fdTE2IHF1ZXVlc190b3RhbDsKIH07CiBzdHJ1Y3QgeHRfTkZRX2luZm9fdjIgewotIF9fdTE2IHF1ZXVlbnVtOworICBfX3UxNiBxdWV1ZW51bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcXVldWVzX3RvdGFsOwotIF9fdTE2IGJ5cGFzczsKKyAgX191MTYgcXVldWVzX3RvdGFsOworICBfX3UxNiBieXBhc3M7CiB9Owogc3RydWN0IHh0X05GUV9pbmZvX3YzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcXVldWVudW07Ci0gX191MTYgcXVldWVzX3RvdGFsOwotIF9fdTE2IGZsYWdzOworICBfX3UxNiBxdWV1ZW51bTsKKyAgX191MTYgcXVldWVzX3RvdGFsOworICBfX3UxNiBmbGFnczsKICNkZWZpbmUgTkZRX0ZMQUdfQllQQVNTIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GUV9GTEFHX0NQVV9GQU5PVVQgMHgwMgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfUkFURUVTVC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfUkFURUVTVC5oCmluZGV4IDE5OTdlZmEuLjYzZGQyYjYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1JBVEVFU1QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9SQVRFRVNULmgKQEAgLTIxLDEwICsyMSwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgeHRfcmF0ZWVzdF90YXJnZXRfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtJRk5BTVNJWl07Ci0gX19zOCBpbnRlcnZhbDsKLSBfX3U4IGV3bWFfbG9nOwotIHN0cnVjdCB4dF9yYXRlZXN0ICplc3QgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBjaGFyIG5hbWVbSUZOQU1TSVpdOworICBfX3M4IGludGVydmFsOworICBfX3U4IGV3bWFfbG9nOworICBzdHJ1Y3QgeHRfcmF0ZWVzdCAqIGVzdCBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfU0VDTUFSSy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfU0VDTUFSSy5oCmluZGV4IDllZTAwNGQuLjA2YTRhMDUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1NFQ01BUksuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9TRUNNQVJLLmgKQEAgLTIzLDkgKzIzLDkgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFQ01BUktfU0VDQ1RYX01BWCAyNTYKIHN0cnVjdCB4dF9zZWNtYXJrX3RhcmdldF9pbmZvIHsKLSBfX3U4IG1vZGU7Ci0gX191MzIgc2VjaWQ7CisgIF9fdTggbW9kZTsKKyAgX191MzIgc2VjaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc2VjY3R4W1NFQ01BUktfU0VDQ1RYX01BWF07CisgIGNoYXIgc2VjY3R4W1NFQ01BUktfU0VDQ1RYX01BWF07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9TWU5QUk9YWS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfU1lOUFJPWFkuaAppbmRleCBiM2NkMWZmLi5kYmRiNzRhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9TWU5QUk9YWS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1NZTlBST1hZLmgKQEAgLTI2LDkgKzI2LDkgQEAKICNkZWZpbmUgWFRfU1lOUFJPWFlfT1BUX0VDTiAweDEwCiBzdHJ1Y3QgeHRfc3lucHJveHlfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggb3B0aW9uczsKLSBfX3U4IHdzY2FsZTsKLSBfX3UxNiBtc3M7CisgIF9fdTggb3B0aW9uczsKKyAgX191OCB3c2NhbGU7CisgIF9fdTE2IG1zczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9UQ1BNU1MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RDUE1TUy5oCmluZGV4IDkxYzI3MzcuLjNjMjVjNDMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RDUE1TUy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RDUE1TUy5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB4dF90Y3Btc3NfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG1zczsKKyAgX191MTYgbXNzOwogfTsKICNkZWZpbmUgWFRfVENQTVNTX0NMQU1QX1BNVFUgMHhmZmZmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RDUE9QVFNUUklQLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9UQ1BPUFRTVFJJUC5oCmluZGV4IDZhNzBkMDYuLmFjZjU3N2YgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RDUE9QVFNUUklQLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfVENQT1BUU1RSSVAuaApAQCAtMTksMTEgKzE5LDExIEBACiAjaWZuZGVmIF9YVF9UQ1BPUFRTVFJJUF9ICiAjZGVmaW5lIF9YVF9UQ1BPUFRTVFJJUF9ICiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNkZWZpbmUgdGNwb3B0c3RyaXBfc2V0X2JpdChibWFwLCBpZHgpICAgKGJtYXBbKGlkeCkgPj4gNV0gfD0gMVUgPDwgKGlkeCAmIDMxKSkKKyNkZWZpbmUgdGNwb3B0c3RyaXBfc2V0X2JpdChibWFwLGlkeCkgKGJtYXBbKGlkeCkgPj4gNV0gfD0gMVUgPDwgKGlkeCAmIDMxKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIHRjcG9wdHN0cmlwX3Rlc3RfYml0KGJtYXAsIGlkeCkgICAoKCgxVSA8PCAoaWR4ICYgMzEpKSAmIGJtYXBbKGlkeCkgPj4gNV0pICE9IDApCisjZGVmaW5lIHRjcG9wdHN0cmlwX3Rlc3RfYml0KGJtYXAsaWR4KSAoKCgxVSA8PCAoaWR4ICYgMzEpKSAmIGJtYXBbKGlkeCkgPj4gNV0pICE9IDApCiBzdHJ1Y3QgeHRfdGNwb3B0c3RyaXBfdGFyZ2V0X2luZm8gewotIF9fdTMyIHN0cmlwX2JtYXBbOF07CisgIF9fdTMyIHN0cmlwX2JtYXBbOF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfVEVFLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9URUUuaAppbmRleCAwMDBiNzg2Li5kZGY2YTE4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9URUUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9URUUuaApAQCAtMTksMTAgKzE5LDEwIEBACiAjaWZuZGVmIF9YVF9URUVfVEFSR0VUX0gKICNkZWZpbmUgX1hUX1RFRV9UQVJHRVRfSAogc3RydWN0IHh0X3RlZV90Z2luZm8gewotIHVuaW9uIG5mX2luZXRfYWRkciBndzsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIGd3OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG9pZlsxNl07Ci0gc3RydWN0IHh0X3RlZV9wcml2ICpwcml2IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKKyAgY2hhciBvaWZbMTZdOworICBzdHJ1Y3QgeHRfdGVlX3ByaXYgKiBwcml2IF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9UUFJPWFkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RQUk9YWS5oCmluZGV4IGY0ZjZiZjYuLjM4MDcwODUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RQUk9YWS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X1RQUk9YWS5oCkBAIC0yMSwxOCArMjEsMTggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHh0X3Rwcm94eV90YXJnZXRfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1hcmtfbWFzazsKLSBfX3UzMiBtYXJrX3ZhbHVlOwotIF9fYmUzMiBsYWRkcjsKLSBfX2JlMTYgbHBvcnQ7CisgIF9fdTMyIG1hcmtfbWFzazsKKyAgX191MzIgbWFya192YWx1ZTsKKyAgX19iZTMyIGxhZGRyOworICBfX2JlMTYgbHBvcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4dF90cHJveHlfdGFyZ2V0X2luZm9fdjEgewotIF9fdTMyIG1hcmtfbWFzazsKLSBfX3UzMiBtYXJrX3ZhbHVlOworICBfX3UzMiBtYXJrX21hc2s7CisgIF9fdTMyIG1hcmtfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIG5mX2luZXRfYWRkciBsYWRkcjsKLSBfX2JlMTYgbHBvcnQ7CisgIHVuaW9uIG5mX2luZXRfYWRkciBsYWRkcjsKKyAgX19iZTE2IGxwb3J0OwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2FkZHJ0eXBlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9hZGRydHlwZS5oCmluZGV4IDlkYjQzYWQuLjJhN2QwMWYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2FkZHJ0eXBlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfYWRkcnR5cGUuaApAQCAtMjEsNDEgKzIxLDQxIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9BRERSVFlQRV9JTlZFUlRfU09VUkNFID0gMHgwMDAxLAotIFhUX0FERFJUWVBFX0lOVkVSVF9ERVNUID0gMHgwMDAyLAotIFhUX0FERFJUWVBFX0xJTUlUX0lGQUNFX0lOID0gMHgwMDA0LAotIFhUX0FERFJUWVBFX0xJTUlUX0lGQUNFX09VVCA9IDB4MDAwOCwKKyAgWFRfQUREUlRZUEVfSU5WRVJUX1NPVVJDRSA9IDB4MDAwMSwKKyAgWFRfQUREUlRZUEVfSU5WRVJUX0RFU1QgPSAweDAwMDIsCisgIFhUX0FERFJUWVBFX0xJTUlUX0lGQUNFX0lOID0gMHgwMDA0LAorICBYVF9BRERSVFlQRV9MSU1JVF9JRkFDRV9PVVQgPSAweDAwMDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFhUX0FERFJUWVBFX1VOU1BFQyA9IDEgPDwgMCwKLSBYVF9BRERSVFlQRV9VTklDQVNUID0gMSA8PCAxLAorICBYVF9BRERSVFlQRV9VTlNQRUMgPSAxIDw8IDAsCisgIFhUX0FERFJUWVBFX1VOSUNBU1QgPSAxIDw8IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0FERFJUWVBFX0xPQ0FMID0gMSA8PCAyLAotIFhUX0FERFJUWVBFX0JST0FEQ0FTVCA9IDEgPDwgMywKLSBYVF9BRERSVFlQRV9BTllDQVNUID0gMSA8PCA0LAotIFhUX0FERFJUWVBFX01VTFRJQ0FTVCA9IDEgPDwgNSwKKyAgWFRfQUREUlRZUEVfTE9DQUwgPSAxIDw8IDIsCisgIFhUX0FERFJUWVBFX0JST0FEQ0FTVCA9IDEgPDwgMywKKyAgWFRfQUREUlRZUEVfQU5ZQ0FTVCA9IDEgPDwgNCwKKyAgWFRfQUREUlRZUEVfTVVMVElDQVNUID0gMSA8PCA1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9BRERSVFlQRV9CTEFDS0hPTEUgPSAxIDw8IDYsCi0gWFRfQUREUlRZUEVfVU5SRUFDSEFCTEUgPSAxIDw8IDcsCi0gWFRfQUREUlRZUEVfUFJPSElCSVQgPSAxIDw8IDgsCi0gWFRfQUREUlRZUEVfVEhST1cgPSAxIDw8IDksCisgIFhUX0FERFJUWVBFX0JMQUNLSE9MRSA9IDEgPDwgNiwKKyAgWFRfQUREUlRZUEVfVU5SRUFDSEFCTEUgPSAxIDw8IDcsCisgIFhUX0FERFJUWVBFX1BST0hJQklUID0gMSA8PCA4LAorICBYVF9BRERSVFlQRV9USFJPVyA9IDEgPDwgOSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfQUREUlRZUEVfTkFUID0gMSA8PCAxMCwKLSBYVF9BRERSVFlQRV9YUkVTT0xWRSA9IDEgPDwgMTEsCisgIFhUX0FERFJUWVBFX05BVCA9IDEgPDwgMTAsCisgIFhUX0FERFJUWVBFX1hSRVNPTFZFID0gMSA8PCAxMSwKIH07CiBzdHJ1Y3QgeHRfYWRkcnR5cGVfaW5mb192MSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNvdXJjZTsKLSBfX3UxNiBkZXN0OwotIF9fdTMyIGZsYWdzOworICBfX3UxNiBzb3VyY2U7CisgIF9fdTE2IGRlc3Q7CisgIF9fdTMyIGZsYWdzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeHRfYWRkcnR5cGVfaW5mbyB7Ci0gX191MTYgc291cmNlOwotIF9fdTE2IGRlc3Q7Ci0gX191MzIgaW52ZXJ0X3NvdXJjZTsKKyAgX191MTYgc291cmNlOworICBfX3UxNiBkZXN0OworICBfX3UzMiBpbnZlcnRfc291cmNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbnZlcnRfZGVzdDsKKyAgX191MzIgaW52ZXJ0X2Rlc3Q7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9icGYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2JwZi5oCmluZGV4IDIzYWU4OTIuLjY5ZmYzMDQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2JwZi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2JwZi5oCkBAIC0yMiwxMCArMjIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfQlBGX01BWF9OVU1fSU5TVFIgNjQKK3N0cnVjdCBicGZfcHJvZzsKIHN0cnVjdCB4dF9icGZfaW5mbyB7Ci0gX191MTYgYnBmX3Byb2dyYW1fbnVtX2VsZW07Ci0gc3RydWN0IHNvY2tfZmlsdGVyIGJwZl9wcm9ncmFtW1hUX0JQRl9NQVhfTlVNX0lOU1RSXTsKKyAgX191MTYgYnBmX3Byb2dyYW1fbnVtX2VsZW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBza19maWx0ZXIgKmZpbHRlciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisgIHN0cnVjdCBzb2NrX2ZpbHRlciBicGZfcHJvZ3JhbVtYVF9CUEZfTUFYX05VTV9JTlNUUl07CisgIHN0cnVjdCBicGZfcHJvZyAqIGZpbHRlciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiB9OwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfY2dyb3VwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jZ3JvdXAuaAppbmRleCA5ODY5NTFiLi5jZTQyZTllIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jZ3JvdXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jZ3JvdXAuaApAQCAtMjEsOCArMjEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgeHRfY2dyb3VwX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZDsKLSBfX3UzMiBpbnZlcnQ7CisgIF9fdTMyIGlkOworICBfX3UzMiBpbnZlcnQ7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfY2x1c3Rlci5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfY2x1c3Rlci5oCmluZGV4IDI3OTZjYzcuLjg2MmExMTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2NsdXN0ZXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jbHVzdGVyLmgKQEAgLTIxLDE0ICsyMSwxNCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHh0X2NsdXN0ZXJfZmxhZ3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9DTFVTVEVSX0ZfSU5WID0gKDEgPDwgMCkKKyAgWFRfQ0xVU1RFUl9GX0lOViA9ICgxIDw8IDApCiB9Owogc3RydWN0IHh0X2NsdXN0ZXJfbWF0Y2hfaW5mbyB7Ci0gX191MzIgdG90YWxfbm9kZXM7CisgIF9fdTMyIHRvdGFsX25vZGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBub2RlX21hc2s7Ci0gX191MzIgaGFzaF9zZWVkOwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBub2RlX21hc2s7CisgIF9fdTMyIGhhc2hfc2VlZDsKKyAgX191MzIgZmxhZ3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfQ0xVU1RFUl9OT0RFU19NQVggMzIKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2NvbW1lbnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2NvbW1lbnQuaAppbmRleCBjNGUxMGM0Li41NTQ1NDRkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb21tZW50LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfY29tbWVudC5oCkBAIC0yMSw2ICsyMSw2IEBACiAjZGVmaW5lIFhUX01BWF9DT01NRU5UX0xFTiAyNTYKIHN0cnVjdCB4dF9jb21tZW50X2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGNvbW1lbnRbWFRfTUFYX0NPTU1FTlRfTEVOXTsKKyAgY2hhciBjb21tZW50W1hUX01BWF9DT01NRU5UX0xFTl07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25uYnl0ZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5ieXRlcy5oCmluZGV4IDE2ZDE2MTAuLjQ3OWIxYTYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5ieXRlcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5ieXRlcy5oCkBAIC0yMSwyNSArMjEsMjUgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB4dF9jb25uYnl0ZXNfd2hhdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0NPTk5CWVRFU19QS1RTLAotIFhUX0NPTk5CWVRFU19CWVRFUywKLSBYVF9DT05OQllURVNfQVZHUEtULAorICBYVF9DT05OQllURVNfUEtUUywKKyAgWFRfQ09OTkJZVEVTX0JZVEVTLAorICBYVF9DT05OQllURVNfQVZHUEtULAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHh0X2Nvbm5ieXRlc19kaXJlY3Rpb24gewotIFhUX0NPTk5CWVRFU19ESVJfT1JJR0lOQUwsCi0gWFRfQ09OTkJZVEVTX0RJUl9SRVBMWSwKLSBYVF9DT05OQllURVNfRElSX0JPVEgsCisgIFhUX0NPTk5CWVRFU19ESVJfT1JJR0lOQUwsCisgIFhUX0NPTk5CWVRFU19ESVJfUkVQTFksCisgIFhUX0NPTk5CWVRFU19ESVJfQk9USCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X2Nvbm5ieXRlc19pbmZvIHsKLSBzdHJ1Y3QgewotIF9fYWxpZ25lZF91NjQgZnJvbTsKKyAgc3RydWN0IHsKKyAgICBfX2FsaWduZWRfdTY0IGZyb207CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYWxpZ25lZF91NjQgdG87Ci0gfSBjb3VudDsKLSBfX3U4IHdoYXQ7Ci0gX191OCBkaXJlY3Rpb247CisgICAgX19hbGlnbmVkX3U2NCB0bzsKKyAgfSBjb3VudDsKKyAgX191OCB3aGF0OworICBfX3U4IGRpcmVjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25ubGFiZWwuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5sYWJlbC5oCmluZGV4IDRlNWYzYzkuLjEwYTBjYmMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5sYWJlbC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5sYWJlbC5oCkBAIC0xOSwxMiArMTksMTIgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2RlZmluZSBYVF9DT05OTEFCRUxfTUFYQklUIDEyNwogZW51bSB4dF9jb25ubGFiZWxfbXRvcHRzIHsKLSBYVF9DT05OTEFCRUxfT1BfSU5WRVJUID0gMSA8PCAwLAorICBYVF9DT05OTEFCRUxfT1BfSU5WRVJUID0gMSA8PCAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9DT05OTEFCRUxfT1BfU0VUID0gMSA8PCAxLAorICBYVF9DT05OTEFCRUxfT1BfU0VUID0gMSA8PCAxLAogfTsKIHN0cnVjdCB4dF9jb25ubGFiZWxfbXRpbmZvIHsKLSBfX3UxNiBiaXQ7CisgIF9fdTE2IGJpdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgb3B0aW9uczsKKyAgX191MTYgb3B0aW9uczsKIH07CmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25ubGltaXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5saW1pdC5oCmluZGV4IGIyMzM0ODIuLmYwMDZhNTAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5saW1pdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5saW1pdC5oCkBAIC0yMywyMyArMjMsMjMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeHRfY29ubmxpbWl0X2RhdGE7CiBlbnVtIHsKLSBYVF9DT05OTElNSVRfSU5WRVJUID0gMSA8PCAwLAotIFhUX0NPTk5MSU1JVF9EQUREUiA9IDEgPDwgMSwKKyAgWFRfQ09OTkxJTUlUX0lOVkVSVCA9IDEgPDwgMCwKKyAgWFRfQ09OTkxJTUlUX0RBRERSID0gMSA8PCAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeHRfY29ubmxpbWl0X2luZm8gewotIHVuaW9uIHsKLSB1bmlvbiBuZl9pbmV0X2FkZHIgbWFzazsKKyAgdW5pb24geworICAgIHVuaW9uIG5mX2luZXRfYWRkciBtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gX19iZTMyIHY0X21hc2s7Ci0gX19iZTMyIHY2X21hc2tbNF07Ci0gfTsKKyAgICB1bmlvbiB7CisgICAgICBfX2JlMzIgdjRfbWFzazsKKyAgICAgIF9fYmUzMiB2Nl9tYXNrWzRdOworICAgIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07Ci0gdW5zaWduZWQgaW50IGxpbWl0OwotIF9fdTMyIGZsYWdzOwotIHN0cnVjdCB4dF9jb25ubGltaXRfZGF0YSAqZGF0YSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisgIH07CisgIHVuc2lnbmVkIGludCBsaW1pdDsKKyAgX191MzIgZmxhZ3M7CisgIHN0cnVjdCB4dF9jb25ubGltaXRfZGF0YSAqIGRhdGEgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5tYXJrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25ubWFyay5oCmluZGV4IDE3MTE3YWQuLjNlNTQzMGYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Nvbm5tYXJrLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfY29ubm1hcmsuaApAQCAtMjEsMTkgKzIxLDE5IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9DT05OTUFSS19TRVQgPSAwLAotIFhUX0NPTk5NQVJLX1NBVkUsCi0gWFRfQ09OTk1BUktfUkVTVE9SRQorICBYVF9DT05OTUFSS19TRVQgPSAwLAorICBYVF9DT05OTUFSS19TQVZFLAorICBYVF9DT05OTUFSS19SRVNUT1JFCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF9jb25ubWFya190Z2luZm8xIHsKLSBfX3UzMiBjdG1hcmssIGN0bWFzaywgbmZtYXNrOwotIF9fdTggbW9kZTsKKyAgX191MzIgY3RtYXJrLCBjdG1hc2ssIG5mbWFzazsKKyAgX191OCBtb2RlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeHRfY29ubm1hcmtfbXRpbmZvMSB7Ci0gX191MzIgbWFyaywgbWFzazsKLSBfX3U4IGludmVydDsKKyAgX191MzIgbWFyaywgbWFzazsKKyAgX191OCBpbnZlcnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfY29ubnRyYWNrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25udHJhY2suaAppbmRleCA1M2E5ZmEwLi5hNjljYzJiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25udHJhY2suaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jb25udHJhY2suaApAQCAtMjIsNzggKzIyLDc4IEBACiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlci9uZl9jb25udHJhY2tfdHVwbGVfY29tbW9uLmg+Ci0jZGVmaW5lIFhUX0NPTk5UUkFDS19TVEFURV9CSVQoY3RpbmZvKSAoMSA8PCAoKGN0aW5mbyklSVBfQ1RfSVNfUkVQTFkrMSkpCisjZGVmaW5lIFhUX0NPTk5UUkFDS19TVEFURV9CSVQoY3RpbmZvKSAoMSA8PCAoKGN0aW5mbykgJSBJUF9DVF9JU19SRVBMWSArIDEpKQogI2RlZmluZSBYVF9DT05OVFJBQ0tfU1RBVEVfSU5WQUxJRCAoMSA8PCAwKQogI2RlZmluZSBYVF9DT05OVFJBQ0tfU1RBVEVfU05BVCAoMSA8PCAoSVBfQ1RfTlVNQkVSICsgMSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYVF9DT05OVFJBQ0tfU1RBVEVfRE5BVCAoMSA8PCAoSVBfQ1RfTlVNQkVSICsgMikpCiAjZGVmaW5lIFhUX0NPTk5UUkFDS19TVEFURV9VTlRSQUNLRUQgKDEgPDwgKElQX0NUX05VTUJFUiArIDMpKQogZW51bSB7Ci0gWFRfQ09OTlRSQUNLX1NUQVRFID0gMSA8PCAwLAorICBYVF9DT05OVFJBQ0tfU1RBVEUgPSAxIDw8IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0NPTk5UUkFDS19QUk9UTyA9IDEgPDwgMSwKLSBYVF9DT05OVFJBQ0tfT1JJR1NSQyA9IDEgPDwgMiwKLSBYVF9DT05OVFJBQ0tfT1JJR0RTVCA9IDEgPDwgMywKLSBYVF9DT05OVFJBQ0tfUkVQTFNSQyA9IDEgPDwgNCwKKyAgWFRfQ09OTlRSQUNLX1BST1RPID0gMSA8PCAxLAorICBYVF9DT05OVFJBQ0tfT1JJR1NSQyA9IDEgPDwgMiwKKyAgWFRfQ09OTlRSQUNLX09SSUdEU1QgPSAxIDw8IDMsCisgIFhUX0NPTk5UUkFDS19SRVBMU1JDID0gMSA8PCA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9DT05OVFJBQ0tfUkVQTERTVCA9IDEgPDwgNSwKLSBYVF9DT05OVFJBQ0tfU1RBVFVTID0gMSA8PCA2LAotIFhUX0NPTk5UUkFDS19FWFBJUkVTID0gMSA8PCA3LAotIFhUX0NPTk5UUkFDS19PUklHU1JDX1BPUlQgPSAxIDw8IDgsCisgIFhUX0NPTk5UUkFDS19SRVBMRFNUID0gMSA8PCA1LAorICBYVF9DT05OVFJBQ0tfU1RBVFVTID0gMSA8PCA2LAorICBYVF9DT05OVFJBQ0tfRVhQSVJFUyA9IDEgPDwgNywKKyAgWFRfQ09OTlRSQUNLX09SSUdTUkNfUE9SVCA9IDEgPDwgOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfQ09OTlRSQUNLX09SSUdEU1RfUE9SVCA9IDEgPDwgOSwKLSBYVF9DT05OVFJBQ0tfUkVQTFNSQ19QT1JUID0gMSA8PCAxMCwKLSBYVF9DT05OVFJBQ0tfUkVQTERTVF9QT1JUID0gMSA8PCAxMSwKLSBYVF9DT05OVFJBQ0tfRElSRUNUSU9OID0gMSA8PCAxMiwKKyAgWFRfQ09OTlRSQUNLX09SSUdEU1RfUE9SVCA9IDEgPDwgOSwKKyAgWFRfQ09OTlRSQUNLX1JFUExTUkNfUE9SVCA9IDEgPDwgMTAsCisgIFhUX0NPTk5UUkFDS19SRVBMRFNUX1BPUlQgPSAxIDw8IDExLAorICBYVF9DT05OVFJBQ0tfRElSRUNUSU9OID0gMSA8PCAxMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfQ09OTlRSQUNLX1NUQVRFX0FMSUFTID0gMSA8PCAxMywKKyAgWFRfQ09OTlRSQUNLX1NUQVRFX0FMSUFTID0gMSA8PCAxMywKIH07CiBzdHJ1Y3QgeHRfY29ubnRyYWNrX210aW5mbzEgewotIHVuaW9uIG5mX2luZXRfYWRkciBvcmlnc3JjX2FkZHIsIG9yaWdzcmNfbWFzazsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIG9yaWdzcmNfYWRkciwgb3JpZ3NyY19tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiBuZl9pbmV0X2FkZHIgb3JpZ2RzdF9hZGRyLCBvcmlnZHN0X21hc2s7Ci0gdW5pb24gbmZfaW5ldF9hZGRyIHJlcGxzcmNfYWRkciwgcmVwbHNyY19tYXNrOwotIHVuaW9uIG5mX2luZXRfYWRkciByZXBsZHN0X2FkZHIsIHJlcGxkc3RfbWFzazsKLSBfX3UzMiBleHBpcmVzX21pbiwgZXhwaXJlc19tYXg7CisgIHVuaW9uIG5mX2luZXRfYWRkciBvcmlnZHN0X2FkZHIsIG9yaWdkc3RfbWFzazsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIHJlcGxzcmNfYWRkciwgcmVwbHNyY19tYXNrOworICB1bmlvbiBuZl9pbmV0X2FkZHIgcmVwbGRzdF9hZGRyLCByZXBsZHN0X21hc2s7CisgIF9fdTMyIGV4cGlyZXNfbWluLCBleHBpcmVzX21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbDRwcm90bzsKLSBfX2JlMTYgb3JpZ3NyY19wb3J0LCBvcmlnZHN0X3BvcnQ7Ci0gX19iZTE2IHJlcGxzcmNfcG9ydCwgcmVwbGRzdF9wb3J0OwotIF9fdTE2IG1hdGNoX2ZsYWdzLCBpbnZlcnRfZmxhZ3M7CisgIF9fdTE2IGw0cHJvdG87CisgIF9fYmUxNiBvcmlnc3JjX3BvcnQsIG9yaWdkc3RfcG9ydDsKKyAgX19iZTE2IHJlcGxzcmNfcG9ydCwgcmVwbGRzdF9wb3J0OworICBfX3UxNiBtYXRjaF9mbGFncywgaW52ZXJ0X2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHN0YXRlX21hc2ssIHN0YXR1c19tYXNrOworICBfX3U4IHN0YXRlX21hc2ssIHN0YXR1c19tYXNrOwogfTsKIHN0cnVjdCB4dF9jb25udHJhY2tfbXRpbmZvMiB7Ci0gdW5pb24gbmZfaW5ldF9hZGRyIG9yaWdzcmNfYWRkciwgb3JpZ3NyY19tYXNrOworICB1bmlvbiBuZl9pbmV0X2FkZHIgb3JpZ3NyY19hZGRyLCBvcmlnc3JjX21hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIG5mX2luZXRfYWRkciBvcmlnZHN0X2FkZHIsIG9yaWdkc3RfbWFzazsKLSB1bmlvbiBuZl9pbmV0X2FkZHIgcmVwbHNyY19hZGRyLCByZXBsc3JjX21hc2s7Ci0gdW5pb24gbmZfaW5ldF9hZGRyIHJlcGxkc3RfYWRkciwgcmVwbGRzdF9tYXNrOwotIF9fdTMyIGV4cGlyZXNfbWluLCBleHBpcmVzX21heDsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIG9yaWdkc3RfYWRkciwgb3JpZ2RzdF9tYXNrOworICB1bmlvbiBuZl9pbmV0X2FkZHIgcmVwbHNyY19hZGRyLCByZXBsc3JjX21hc2s7CisgIHVuaW9uIG5mX2luZXRfYWRkciByZXBsZHN0X2FkZHIsIHJlcGxkc3RfbWFzazsKKyAgX191MzIgZXhwaXJlc19taW4sIGV4cGlyZXNfbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBsNHByb3RvOwotIF9fYmUxNiBvcmlnc3JjX3BvcnQsIG9yaWdkc3RfcG9ydDsKLSBfX2JlMTYgcmVwbHNyY19wb3J0LCByZXBsZHN0X3BvcnQ7Ci0gX191MTYgbWF0Y2hfZmxhZ3MsIGludmVydF9mbGFnczsKKyAgX191MTYgbDRwcm90bzsKKyAgX19iZTE2IG9yaWdzcmNfcG9ydCwgb3JpZ2RzdF9wb3J0OworICBfX2JlMTYgcmVwbHNyY19wb3J0LCByZXBsZHN0X3BvcnQ7CisgIF9fdTE2IG1hdGNoX2ZsYWdzLCBpbnZlcnRfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHN0YXRlX21hc2ssIHN0YXR1c19tYXNrOworICBfX3UxNiBzdGF0ZV9tYXNrLCBzdGF0dXNfbWFzazsKIH07CiBzdHJ1Y3QgeHRfY29ubnRyYWNrX210aW5mbzMgewotIHVuaW9uIG5mX2luZXRfYWRkciBvcmlnc3JjX2FkZHIsIG9yaWdzcmNfbWFzazsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIG9yaWdzcmNfYWRkciwgb3JpZ3NyY19tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiBuZl9pbmV0X2FkZHIgb3JpZ2RzdF9hZGRyLCBvcmlnZHN0X21hc2s7Ci0gdW5pb24gbmZfaW5ldF9hZGRyIHJlcGxzcmNfYWRkciwgcmVwbHNyY19tYXNrOwotIHVuaW9uIG5mX2luZXRfYWRkciByZXBsZHN0X2FkZHIsIHJlcGxkc3RfbWFzazsKLSBfX3UzMiBleHBpcmVzX21pbiwgZXhwaXJlc19tYXg7CisgIHVuaW9uIG5mX2luZXRfYWRkciBvcmlnZHN0X2FkZHIsIG9yaWdkc3RfbWFzazsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIHJlcGxzcmNfYWRkciwgcmVwbHNyY19tYXNrOworICB1bmlvbiBuZl9pbmV0X2FkZHIgcmVwbGRzdF9hZGRyLCByZXBsZHN0X21hc2s7CisgIF9fdTMyIGV4cGlyZXNfbWluLCBleHBpcmVzX21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbDRwcm90bzsKLSBfX3UxNiBvcmlnc3JjX3BvcnQsIG9yaWdkc3RfcG9ydDsKLSBfX3UxNiByZXBsc3JjX3BvcnQsIHJlcGxkc3RfcG9ydDsKLSBfX3UxNiBtYXRjaF9mbGFncywgaW52ZXJ0X2ZsYWdzOworICBfX3UxNiBsNHByb3RvOworICBfX3UxNiBvcmlnc3JjX3BvcnQsIG9yaWdkc3RfcG9ydDsKKyAgX191MTYgcmVwbHNyY19wb3J0LCByZXBsZHN0X3BvcnQ7CisgIF9fdTE2IG1hdGNoX2ZsYWdzLCBpbnZlcnRfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHN0YXRlX21hc2ssIHN0YXR1c19tYXNrOwotIF9fdTE2IG9yaWdzcmNfcG9ydF9oaWdoLCBvcmlnZHN0X3BvcnRfaGlnaDsKLSBfX3UxNiByZXBsc3JjX3BvcnRfaGlnaCwgcmVwbGRzdF9wb3J0X2hpZ2g7CisgIF9fdTE2IHN0YXRlX21hc2ssIHN0YXR1c19tYXNrOworICBfX3UxNiBvcmlnc3JjX3BvcnRfaGlnaCwgb3JpZ2RzdF9wb3J0X2hpZ2g7CisgIF9fdTE2IHJlcGxzcmNfcG9ydF9oaWdoLCByZXBsZHN0X3BvcnRfaGlnaDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9jcHUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2NwdS5oCmluZGV4IGI5MjExZTYuLjA4NzIyODYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2NwdS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2NwdS5oCkBAIC0yMSw4ICsyMSw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB4dF9jcHVfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNwdTsKLSBfX3UzMiBpbnZlcnQ7CisgIF9fdTMyIGNwdTsKKyAgX191MzIgaW52ZXJ0OwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2RjY3AuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2RjY3AuaAppbmRleCA4MDk1ZWYyLi4xMWI1MDIyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9kY2NwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZGNjcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgWFRfRENDUF9WQUxJRF9GTEFHUyAweDBmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHh0X2RjY3BfaW5mbyB7Ci0gX191MTYgZHB0c1syXTsKLSBfX3UxNiBzcHRzWzJdOwotIF9fdTE2IGZsYWdzOworICBfX3UxNiBkcHRzWzJdOworICBfX3UxNiBzcHRzWzJdOworICBfX3UxNiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaW52ZmxhZ3M7Ci0gX191MTYgdHlwZW1hc2s7Ci0gX191OCBvcHRpb247CisgIF9fdTE2IGludmZsYWdzOworICBfX3UxNiB0eXBlbWFzazsKKyAgX191OCBvcHRpb247CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZGV2Z3JvdXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Rldmdyb3VwLmgKaW5kZXggZDZiMmViYy4uNTkxZGEyNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZGV2Z3JvdXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9kZXZncm91cC5oCkBAIC0yMSwxOSArMjEsMTkgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB4dF9kZXZncm91cF9mbGFncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0RFVkdST1VQX01BVENIX1NSQyA9IDB4MSwKLSBYVF9ERVZHUk9VUF9JTlZFUlRfU1JDID0gMHgyLAotIFhUX0RFVkdST1VQX01BVENIX0RTVCA9IDB4NCwKLSBYVF9ERVZHUk9VUF9JTlZFUlRfRFNUID0gMHg4LAorICBYVF9ERVZHUk9VUF9NQVRDSF9TUkMgPSAweDEsCisgIFhUX0RFVkdST1VQX0lOVkVSVF9TUkMgPSAweDIsCisgIFhUX0RFVkdST1VQX01BVENIX0RTVCA9IDB4NCwKKyAgWFRfREVWR1JPVVBfSU5WRVJUX0RTVCA9IDB4OCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X2Rldmdyb3VwX2luZm8gewotIF9fdTMyIGZsYWdzOwotIF9fdTMyIHNyY19ncm91cDsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHNyY19ncm91cDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3JjX21hc2s7Ci0gX191MzIgZHN0X2dyb3VwOwotIF9fdTMyIGRzdF9tYXNrOworICBfX3UzMiBzcmNfbWFzazsKKyAgX191MzIgZHN0X2dyb3VwOworICBfX3UzMiBkc3RfbWFzazsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9kc2NwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9kc2NwLmgKaW5kZXggYzNlNmMxYi4uNWMxODJhOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZHNjcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2RzY3AuaApAQCAtMjQsMTUgKzI0LDE1IEBACiAjZGVmaW5lIFhUX0RTQ1BfU0hJRlQgMgogI2RlZmluZSBYVF9EU0NQX01BWCAweDNmCiBzdHJ1Y3QgeHRfZHNjcF9pbmZvIHsKLSBfX3U4IGRzY3A7CisgIF9fdTggZHNjcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpbnZlcnQ7CisgIF9fdTggaW52ZXJ0OwogfTsKIHN0cnVjdCB4dF90b3NfbWF0Y2hfaW5mbyB7Ci0gX191OCB0b3NfbWFzazsKKyAgX191OCB0b3NfbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0b3NfdmFsdWU7Ci0gX191OCBpbnZlcnQ7CisgIF9fdTggdG9zX3ZhbHVlOworICBfX3U4IGludmVydDsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9lY24uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Vjbi5oCmluZGV4IGRlMDRjNjUuLjRhODJlYzMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Vjbi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2Vjbi5oCkBAIC0yOCwxNiArMjgsMTYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFhUX0VDTl9PUF9NQVRDSF9NQVNLIDB4Y2UKIHN0cnVjdCB4dF9lY25faW5mbyB7Ci0gX191OCBvcGVyYXRpb247Ci0gX191OCBpbnZlcnQ7CisgIF9fdTggb3BlcmF0aW9uOworICBfX3U4IGludmVydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpcF9lY3Q7Ci0gdW5pb24gewotIHN0cnVjdCB7Ci0gX191OCBlY3Q7CisgIF9fdTggaXBfZWN0OworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggZWN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHRjcDsKLSB9IHByb3RvOworICAgIH0gdGNwOworICB9IHByb3RvOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2VzcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZXNwLmgKaW5kZXggOGNhNTRlOC4uYTUzODlmNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZXNwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfZXNwLmgKQEAgLTIxLDggKzIxLDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHh0X2VzcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNwaXNbMl07Ci0gX191OCBpbnZmbGFnczsKKyAgX191MzIgc3Bpc1syXTsKKyAgX191OCBpbnZmbGFnczsKIH07CiAjZGVmaW5lIFhUX0VTUF9JTlZfU1BJIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9oYXNobGltaXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5oCmluZGV4IGQ3ZjYwMTUuLjQ5ZTFjMzQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5oCkBAIC0yNCw1NSArMjQsNTUgQEAKICNkZWZpbmUgWFRfSEFTSExJTUlUX0JZVEVfU0hJRlQgNAogc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGU7CiBlbnVtIHsKLSBYVF9IQVNITElNSVRfSEFTSF9ESVAgPSAxIDw8IDAsCisgIFhUX0hBU0hMSU1JVF9IQVNIX0RJUCA9IDEgPDwgMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSEFTSExJTUlUX0hBU0hfRFBUID0gMSA8PCAxLAotIFhUX0hBU0hMSU1JVF9IQVNIX1NJUCA9IDEgPDwgMiwKLSBYVF9IQVNITElNSVRfSEFTSF9TUFQgPSAxIDw8IDMsCi0gWFRfSEFTSExJTUlUX0lOVkVSVCA9IDEgPDwgNCwKKyAgWFRfSEFTSExJTUlUX0hBU0hfRFBUID0gMSA8PCAxLAorICBYVF9IQVNITElNSVRfSEFTSF9TSVAgPSAxIDw8IDIsCisgIFhUX0hBU0hMSU1JVF9IQVNIX1NQVCA9IDEgPDwgMywKKyAgWFRfSEFTSExJTUlUX0lOVkVSVCA9IDEgPDwgNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSEFTSExJTUlUX0JZVEVTID0gMSA8PCA1LAorICBYVF9IQVNITElNSVRfQllURVMgPSAxIDw8IDUsCiB9Owogc3RydWN0IGhhc2hsaW1pdF9jZmcgewotIF9fdTMyIG1vZGU7CisgIF9fdTMyIG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGF2ZzsKLSBfX3UzMiBidXJzdDsKLSBfX3UzMiBzaXplOwotIF9fdTMyIG1heDsKKyAgX191MzIgYXZnOworICBfX3UzMiBidXJzdDsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBnY19pbnRlcnZhbDsKLSBfX3UzMiBleHBpcmU7CisgIF9fdTMyIGdjX2ludGVydmFsOworICBfX3UzMiBleHBpcmU7CiB9Owogc3RydWN0IHh0X2hhc2hsaW1pdF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBuYW1lIFtJRk5BTVNJWl07Ci0gc3RydWN0IGhhc2hsaW1pdF9jZmcgY2ZnOwotIHN0cnVjdCB4dF9oYXNobGltaXRfaHRhYmxlICpoaW5mbzsKLSB1bmlvbiB7CisgIGNoYXIgbmFtZVtJRk5BTVNJWl07CisgIHN0cnVjdCBoYXNobGltaXRfY2ZnIGNmZzsKKyAgc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKiBoaW5mbzsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2b2lkICpwdHI7Ci0gc3RydWN0IHh0X2hhc2hsaW1pdF9pbmZvICptYXN0ZXI7Ci0gfSB1OworICAgIHZvaWQgKiBwdHI7CisgICAgc3RydWN0IHh0X2hhc2hsaW1pdF9pbmZvICogbWFzdGVyOworICB9IHU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBoYXNobGltaXRfY2ZnMSB7Ci0gX191MzIgbW9kZTsKLSBfX3UzMiBhdmc7Ci0gX191MzIgYnVyc3Q7CisgIF9fdTMyIG1vZGU7CisgIF9fdTMyIGF2ZzsKKyAgX191MzIgYnVyc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNpemU7Ci0gX191MzIgbWF4OwotIF9fdTMyIGdjX2ludGVydmFsOwotIF9fdTMyIGV4cGlyZTsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgbWF4OworICBfX3UzMiBnY19pbnRlcnZhbDsKKyAgX191MzIgZXhwaXJlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNyY21hc2ssIGRzdG1hc2s7CisgIF9fdTggc3JjbWFzaywgZHN0bWFzazsKIH07CiBzdHJ1Y3QgeHRfaGFzaGxpbWl0X210aW5mbzEgewotIGNoYXIgbmFtZVtJRk5BTVNJWl07CisgIGNoYXIgbmFtZVtJRk5BTVNJWl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBoYXNobGltaXRfY2ZnMSBjZmc7Ci0gc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKmhpbmZvIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKKyAgc3RydWN0IGhhc2hsaW1pdF9jZmcxIGNmZzsKKyAgc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKiBoaW5mbyBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfaGVscGVyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9oZWxwZXIuaAppbmRleCA3ODU2NjNlLi43M2FlMGEyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9oZWxwZXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9oZWxwZXIuaApAQCAtMTksOCArMTksOCBAQAogI2lmbmRlZiBfWFRfSEVMUEVSX0gKICNkZWZpbmUgX1hUX0hFTFBFUl9ICiBzdHJ1Y3QgeHRfaGVscGVyX2luZm8gewotIGludCBpbnZlcnQ7CisgIGludCBpbnZlcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVszMF07CisgIGNoYXIgbmFtZVszMF07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9pcGNvbXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2lwY29tcC5oCmluZGV4IDFiZDFiNTYuLjZjNWY3YjEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2lwY29tcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2lwY29tcC5oCkBAIC0yMSw5ICsyMSw5IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB4dF9pcGNvbXAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcGlzWzJdOwotIF9fdTggaW52ZmxhZ3M7Ci0gX191OCBoZHJyZXM7CisgIF9fdTMyIHNwaXNbMl07CisgIF9fdTggaW52ZmxhZ3M7CisgIF9fdTggaGRycmVzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFhUX0lQQ09NUF9JTlZfU1BJIDB4MDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2lwcmFuZ2UuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2lwcmFuZ2UuaAppbmRleCA1ZGNmMTU0Li4zMTViYzU5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9pcHJhbmdlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfaXByYW5nZS5oCkBAIC0yMiwxNyArMjIsMTcgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBJUFJBTkdFX1NSQyA9IDEgPDwgMCwKLSBJUFJBTkdFX0RTVCA9IDEgPDwgMSwKLSBJUFJBTkdFX1NSQ19JTlYgPSAxIDw8IDQsCisgIElQUkFOR0VfU1JDID0gMSA8PCAwLAorICBJUFJBTkdFX0RTVCA9IDEgPDwgMSwKKyAgSVBSQU5HRV9TUkNfSU5WID0gMSA8PCA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFJBTkdFX0RTVF9JTlYgPSAxIDw8IDUsCisgIElQUkFOR0VfRFNUX0lOViA9IDEgPDwgNSwKIH07CiBzdHJ1Y3QgeHRfaXByYW5nZV9tdGluZm8gewotIHVuaW9uIG5mX2luZXRfYWRkciBzcmNfbWluLCBzcmNfbWF4OworICB1bmlvbiBuZl9pbmV0X2FkZHIgc3JjX21pbiwgc3JjX21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gbmZfaW5ldF9hZGRyIGRzdF9taW4sIGRzdF9tYXg7Ci0gX191OCBmbGFnczsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIGRzdF9taW4sIGRzdF9tYXg7CisgIF9fdTggZmxhZ3M7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfaXB2cy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfaXB2cy5oCmluZGV4IDRhMDNkZjIuLjhhNzAyZTAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2lwdnMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9pcHZzLmgKQEAgLTIxLDI4ICsyMSwyOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSVBWU19JUFZTX1BST1BFUlRZID0gMSA8PCAwLAotIFhUX0lQVlNfUFJPVE8gPSAxIDw8IDEsCi0gWFRfSVBWU19WQUREUiA9IDEgPDwgMiwKLSBYVF9JUFZTX1ZQT1JUID0gMSA8PCAzLAorICBYVF9JUFZTX0lQVlNfUFJPUEVSVFkgPSAxIDw8IDAsCisgIFhUX0lQVlNfUFJPVE8gPSAxIDw8IDEsCisgIFhUX0lQVlNfVkFERFIgPSAxIDw8IDIsCisgIFhUX0lQVlNfVlBPUlQgPSAxIDw8IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX0lQVlNfRElSID0gMSA8PCA0LAotIFhUX0lQVlNfTUVUSE9EID0gMSA8PCA1LAotIFhUX0lQVlNfVlBPUlRDVEwgPSAxIDw8IDYsCi0gWFRfSVBWU19NQVNLID0gKDEgPDwgNykgLSAxLAorICBYVF9JUFZTX0RJUiA9IDEgPDwgNCwKKyAgWFRfSVBWU19NRVRIT0QgPSAxIDw8IDUsCisgIFhUX0lQVlNfVlBPUlRDVEwgPSAxIDw8IDYsCisgIFhUX0lQVlNfTUFTSyA9ICgxIDw8IDcpIC0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfSVBWU19PTkNFX01BU0sgPSBYVF9JUFZTX01BU0sgJiB+WFRfSVBWU19JUFZTX1BST1BFUlRZCisgIFhUX0lQVlNfT05DRV9NQVNLID0gWFRfSVBWU19NQVNLICYgflhUX0lQVlNfSVBWU19QUk9QRVJUWQogfTsKIHN0cnVjdCB4dF9pcHZzX210aW5mbyB7Ci0gdW5pb24gbmZfaW5ldF9hZGRyIHZhZGRyLCB2bWFzazsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIHZhZGRyLCB2bWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IHZwb3J0OwotIF9fdTggbDRwcm90bzsKLSBfX3U4IGZ3ZF9tZXRob2Q7Ci0gX19iZTE2IHZwb3J0Y3RsOworICBfX2JlMTYgdnBvcnQ7CisgIF9fdTggbDRwcm90bzsKKyAgX191OCBmd2RfbWV0aG9kOworICBfX2JlMTYgdnBvcnRjdGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW52ZXJ0OwotIF9fdTggYml0bWFzazsKKyAgX191OCBpbnZlcnQ7CisgIF9fdTggYml0bWFzazsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9sMnRwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9sMnRwLmgKaW5kZXggOWE3YjgyYy4uMWJhMTRhNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbDJ0cC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2wydHAuaApAQCAtMjEsMjQgKzIxLDI0IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0geHRfbDJ0cF90eXBlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfTDJUUF9UWVBFX0NPTlRST0wsCi0gWFRfTDJUUF9UWVBFX0RBVEEsCisgIFhUX0wyVFBfVFlQRV9DT05UUk9MLAorICBYVF9MMlRQX1RZUEVfREFUQSwKIH07CiBzdHJ1Y3QgeHRfbDJ0cF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdGlkOwotIF9fdTMyIHNpZDsKLSBfX3U4IHZlcnNpb247Ci0gX191OCB0eXBlOworICBfX3UzMiB0aWQ7CisgIF9fdTMyIHNpZDsKKyAgX191OCB2ZXJzaW9uOworICBfX3U4IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxhZ3M7CisgIF9fdTggZmxhZ3M7CiB9OwogZW51bSB7Ci0gWFRfTDJUUF9USUQgPSAoMSA8PCAwKSwKKyAgWFRfTDJUUF9USUQgPSAoMSA8PCAwKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfTDJUUF9TSUQgPSAoMSA8PCAxKSwKLSBYVF9MMlRQX1ZFUlNJT04gPSAoMSA8PCAyKSwKLSBYVF9MMlRQX1RZUEUgPSAoMSA8PCAzKSwKKyAgWFRfTDJUUF9TSUQgPSAoMSA8PCAxKSwKKyAgWFRfTDJUUF9WRVJTSU9OID0gKDEgPDwgMiksCisgIFhUX0wyVFBfVFlQRSA9ICgxIDw8IDMpLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2xlbmd0aC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbGVuZ3RoLmgKaW5kZXggMGYxYzdkOS4uN2FiN2RjZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbGVuZ3RoLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbGVuZ3RoLmgKQEAgLTIxLDggKzIxLDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHh0X2xlbmd0aF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbWluLCBtYXg7Ci0gX191OCBpbnZlcnQ7CisgIF9fdTE2IG1pbiwgbWF4OworICBfX3U4IGludmVydDsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9saW1pdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbGltaXQuaAppbmRleCBlMjI5OTdjLi40OTM3ZWFhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9saW1pdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X2xpbWl0LmgKQEAgLTIzLDEzICsyMywxMyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF9saW1pdF9wcml2Owogc3RydWN0IHh0X3JhdGVpbmZvIHsKLSBfX3UzMiBhdmc7Ci0gX191MzIgYnVyc3Q7CisgIF9fdTMyIGF2ZzsKKyAgX191MzIgYnVyc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgcHJldjsKLSBfX3UzMiBjcmVkaXQ7Ci0gX191MzIgY3JlZGl0X2NhcCwgY29zdDsKLSBzdHJ1Y3QgeHRfbGltaXRfcHJpdiAqbWFzdGVyOworICB1bnNpZ25lZCBsb25nIHByZXY7CisgIF9fdTMyIGNyZWRpdDsKKyAgX191MzIgY3JlZGl0X2NhcCwgY29zdDsKKyAgc3RydWN0IHh0X2xpbWl0X3ByaXYgKiBtYXN0ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbWFjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9tYWMuaAppbmRleCAxMmM1ODRjLi41Nzk2OTA2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9tYWMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9tYWMuaApAQCAtMTksOCArMTksOCBAQAogI2lmbmRlZiBfWFRfTUFDX0gKICNkZWZpbmUgX1hUX01BQ19ICiBzdHJ1Y3QgeHRfbWFjX2luZm8gewotIHVuc2lnbmVkIGNoYXIgc3JjYWRkcltFVEhfQUxFTl07CisgIHVuc2lnbmVkIGNoYXIgc3JjYWRkcltFVEhfQUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBpbnZlcnQ7CisgIGludCBpbnZlcnQ7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9tYXJrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9tYXJrLmgKaW5kZXggMWNkMGVhMC4uOTIzMmI3MSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbWFyay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X21hcmsuaApAQCAtMjEsMTEgKzIxLDExIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB4dF9tYXJrX3RnaW5mbzIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXJrLCBtYXNrOworICBfX3UzMiBtYXJrLCBtYXNrOwogfTsKIHN0cnVjdCB4dF9tYXJrX210aW5mbzEgewotIF9fdTMyIG1hcmssIG1hc2s7CisgIF9fdTMyIG1hcmssIG1hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW52ZXJ0OworICBfX3U4IGludmVydDsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X211bHRpcG9ydC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbXVsdGlwb3J0LmgKaW5kZXggZDQzMDRmNS4uNTY3Nzc1MiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbXVsdGlwb3J0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbXVsdGlwb3J0LmgKQEAgLTIxLDI1ICsyMSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHh0X211bHRpcG9ydF9mbGFncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX01VTFRJUE9SVF9TT1VSQ0UsCi0gWFRfTVVMVElQT1JUX0RFU1RJTkFUSU9OLAotIFhUX01VTFRJUE9SVF9FSVRIRVIKKyAgWFRfTVVMVElQT1JUX1NPVVJDRSwKKyAgWFRfTVVMVElQT1JUX0RFU1RJTkFUSU9OLAorICBYVF9NVUxUSVBPUlRfRUlUSEVSCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfTVVMVElfUE9SVFMgMTUKIHN0cnVjdCB4dF9tdWx0aXBvcnQgewotIF9fdTggZmxhZ3M7Ci0gX191OCBjb3VudDsKKyAgX191OCBmbGFnczsKKyAgX191OCBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcG9ydHNbWFRfTVVMVElfUE9SVFNdOworICBfX3UxNiBwb3J0c1tYVF9NVUxUSV9QT1JUU107CiB9Owogc3RydWN0IHh0X211bHRpcG9ydF92MSB7Ci0gX191OCBmbGFnczsKKyAgX191OCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjb3VudDsKLSBfX3UxNiBwb3J0c1tYVF9NVUxUSV9QT1JUU107Ci0gX191OCBwZmxhZ3NbWFRfTVVMVElfUE9SVFNdOwotIF9fdTggaW52ZXJ0OworICBfX3U4IGNvdW50OworICBfX3UxNiBwb3J0c1tYVF9NVUxUSV9QT1JUU107CisgIF9fdTggcGZsYWdzW1hUX01VTFRJX1BPUlRTXTsKKyAgX191OCBpbnZlcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfbmZhY2N0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9uZmFjY3QuaAppbmRleCAzN2RhMDM4Li44MzEzZTRjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9uZmFjY3QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9uZmFjY3QuaApAQCAtMjIsOCArMjIsOCBAQAogc3RydWN0IG5mX2FjY3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHh0X25mYWNjdF9tYXRjaF9pbmZvIHsKLSBjaGFyIG5hbWVbTkZBQ0NUX05BTUVfTUFYXTsKLSBzdHJ1Y3QgbmZfYWNjdCAqbmZhY2N0OworICBjaGFyIG5hbWVbTkZBQ0NUX05BTUVfTUFYXTsKKyAgc3RydWN0IG5mX2FjY3QgKiBuZmFjY3Q7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfb3NmLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9vc2YuaAppbmRleCBjZWVlNDhkLi45ODU5Nzk3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9vc2YuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9vc2YuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgTUFYR0VOUkVMRU4gMzIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFhUX09TRl9HRU5SRSAoMTw8MCkKLSNkZWZpbmUgWFRfT1NGX1RUTCAoMTw8MSkKLSNkZWZpbmUgWFRfT1NGX0xPRyAoMTw8MikKLSNkZWZpbmUgWFRfT1NGX0lOVkVSVCAoMTw8MykKKyNkZWZpbmUgWFRfT1NGX0dFTlJFICgxIDw8IDApCisjZGVmaW5lIFhUX09TRl9UVEwgKDEgPDwgMSkKKyNkZWZpbmUgWFRfT1NGX0xPRyAoMSA8PCAyKQorI2RlZmluZSBYVF9PU0ZfSU5WRVJUICgxIDw8IDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYVF9PU0ZfTE9HTEVWRUxfQUxMIDAKICNkZWZpbmUgWFRfT1NGX0xPR0xFVkVMX0ZJUlNUIDEKQEAgLTM0LDgwICszNCw4MCBAQAogI2RlZmluZSBYVF9PU0ZfVFRMX0xFU1MgMQogI2RlZmluZSBYVF9PU0ZfVFRMX05PQ0hFQ0sgMgogc3RydWN0IHh0X29zZl9pbmZvIHsKLSBjaGFyIGdlbnJlW01BWEdFTlJFTEVOXTsKKyAgY2hhciBnZW5yZVtNQVhHRU5SRUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxlbjsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBsb2dsZXZlbDsKLSBfX3UzMiB0dGw7CisgIF9fdTMyIGxlbjsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIGxvZ2xldmVsOworICBfX3UzMiB0dGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4dF9vc2Zfd2MgewotIF9fdTMyIHdjOwotIF9fdTMyIHZhbDsKKyAgX191MzIgd2M7CisgIF9fdTMyIHZhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X29zZl9vcHQgewotIF9fdTE2IGtpbmQsIGxlbmd0aDsKLSBzdHJ1Y3QgeHRfb3NmX3djIHdjOworICBfX3UxNiBraW5kLCBsZW5ndGg7CisgIHN0cnVjdCB4dF9vc2Zfd2Mgd2M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4dF9vc2ZfdXNlcl9maW5nZXIgewotIHN0cnVjdCB4dF9vc2Zfd2Mgd3NzOwotIF9fdTggdHRsLCBkZjsKKyAgc3RydWN0IHh0X29zZl93YyB3c3M7CisgIF9fdTggdHRsLCBkZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc3MsIG1zczsKLSBfX3UxNiBvcHRfbnVtOwotIGNoYXIgZ2VucmVbTUFYR0VOUkVMRU5dOwotIGNoYXIgdmVyc2lvbltNQVhHRU5SRUxFTl07CisgIF9fdTE2IHNzLCBtc3M7CisgIF9fdTE2IG9wdF9udW07CisgIGNoYXIgZ2VucmVbTUFYR0VOUkVMRU5dOworICBjaGFyIHZlcnNpb25bTUFYR0VOUkVMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHN1YnR5cGVbTUFYR0VOUkVMRU5dOwotIHN0cnVjdCB4dF9vc2Zfb3B0IG9wdFtNQVhfSVBPUFRMRU5dOworICBjaGFyIHN1YnR5cGVbTUFYR0VOUkVMRU5dOworICBzdHJ1Y3QgeHRfb3NmX29wdCBvcHRbTUFYX0lQT1BUTEVOXTsKIH07CiBzdHJ1Y3QgeHRfb3NmX25sbXNnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHh0X29zZl91c2VyX2ZpbmdlciBmOwotIHN0cnVjdCBpcGhkciBpcDsKLSBzdHJ1Y3QgdGNwaGRyIHRjcDsKKyAgc3RydWN0IHh0X29zZl91c2VyX2ZpbmdlciBmOworICBzdHJ1Y3QgaXBoZHIgaXA7CisgIHN0cnVjdCB0Y3BoZHIgdGNwOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGlhbmFfb3B0aW9ucyB7Ci0gT1NGT1BUX0VPTCA9IDAsCi0gT1NGT1BUX05PUCwKLSBPU0ZPUFRfTVNTLAorICBPU0ZPUFRfRU9MID0gMCwKKyAgT1NGT1BUX05PUCwKKyAgT1NGT1BUX01TUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NGT1BUX1dTTywKLSBPU0ZPUFRfU0FDS1AsCi0gT1NGT1BUX1NBQ0ssCi0gT1NGT1BUX0VDSE8sCisgIE9TRk9QVF9XU08sCisgIE9TRk9QVF9TQUNLUCwKKyAgT1NGT1BUX1NBQ0ssCisgIE9TRk9QVF9FQ0hPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPU0ZPUFRfRUNIT1JFUExZLAotIE9TRk9QVF9UUywKLSBPU0ZPUFRfUE9DUCwKLSBPU0ZPUFRfUE9TUCwKKyAgT1NGT1BUX0VDSE9SRVBMWSwKKyAgT1NGT1BUX1RTLAorICBPU0ZPUFRfUE9DUCwKKyAgT1NGT1BUX1BPU1AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9TRk9QVF9FTVBUWSA9IDI1NSwKKyAgT1NGT1BUX0VNUFRZID0gMjU1LAogfTsKIGVudW0geHRfb3NmX3dpbmRvd19zaXplX29wdGlvbnMgewotIE9TRl9XU1NfUExBSU4gPSAwLAorICBPU0ZfV1NTX1BMQUlOID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1NGX1dTU19NU1MsCi0gT1NGX1dTU19NVFUsCi0gT1NGX1dTU19NT0RVTE8sCi0gT1NGX1dTU19NQVgsCisgIE9TRl9XU1NfTVNTLAorICBPU0ZfV1NTX01UVSwKKyAgT1NGX1dTU19NT0RVTE8sCisgIE9TRl9XU1NfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHh0X29zZl9tc2dfdHlwZXMgewotIE9TRl9NU0dfQURELAotIE9TRl9NU0dfUkVNT1ZFLAorICBPU0ZfTVNHX0FERCwKKyAgT1NGX01TR19SRU1PVkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9TRl9NU0dfTUFYLAorICBPU0ZfTVNHX01BWCwKIH07CiBlbnVtIHh0X29zZl9hdHRyX3R5cGUgewotIE9TRl9BVFRSX1VOU1BFQywKKyAgT1NGX0FUVFJfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPU0ZfQVRUUl9GSU5HRVIsCi0gT1NGX0FUVFJfTUFYLAorICBPU0ZfQVRUUl9GSU5HRVIsCisgIE9TRl9BVFRSX01BWCwKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9vd25lci5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfb3duZXIuaAppbmRleCA4NzJlMDc4Li4yOGIwNDU2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9vd25lci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X293bmVyLmgKQEAgLTIxLDE1ICsyMSwxNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfT1dORVJfVUlEID0gMSA8PCAwLAotIFhUX09XTkVSX0dJRCA9IDEgPDwgMSwKLSBYVF9PV05FUl9TT0NLRVQgPSAxIDw8IDIsCisgIFhUX09XTkVSX1VJRCA9IDEgPDwgMCwKKyAgWFRfT1dORVJfR0lEID0gMSA8PCAxLAorICBYVF9PV05FUl9TT0NLRVQgPSAxIDw8IDIsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF9vd25lcl9tYXRjaF9pbmZvIHsKLSBfX3UzMiB1aWRfbWluLCB1aWRfbWF4OwotIF9fdTMyIGdpZF9taW4sIGdpZF9tYXg7Ci0gX191OCBtYXRjaCwgaW52ZXJ0OworICBfX3UzMiB1aWRfbWluLCB1aWRfbWF4OworICBfX3UzMiBnaWRfbWluLCBnaWRfbWF4OworICBfX3U4IG1hdGNoLCBpbnZlcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcGh5c2Rldi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcGh5c2Rldi5oCmluZGV4IDE2MWVjZTIuLmNjZmQ2N2IgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3BoeXNkZXYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9waHlzZGV2LmgKQEAgLTI4LDEzICsyOCwxMyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfUEhZU0RFVl9PUF9NQVNLICgweDIwIC0gMSkKIHN0cnVjdCB4dF9waHlzZGV2X2luZm8gewotIGNoYXIgcGh5c2luZGV2W0lGTkFNU0laXTsKLSBjaGFyIGluX21hc2tbSUZOQU1TSVpdOworICBjaGFyIHBoeXNpbmRldltJRk5BTVNJWl07CisgIGNoYXIgaW5fbWFza1tJRk5BTVNJWl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcGh5c291dGRldltJRk5BTVNJWl07Ci0gY2hhciBvdXRfbWFza1tJRk5BTVNJWl07Ci0gX191OCBpbnZlcnQ7Ci0gX191OCBiaXRtYXNrOworICBjaGFyIHBoeXNvdXRkZXZbSUZOQU1TSVpdOworICBjaGFyIG91dF9tYXNrW0lGTkFNU0laXTsKKyAgX191OCBpbnZlcnQ7CisgIF9fdTggYml0bWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9wa3R0eXBlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9wa3R0eXBlLmgKaW5kZXggNWVmMTI1Ni4uYjIzODk5ZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcGt0dHlwZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3BrdHR5cGUuaApAQCAtMTksOCArMTksOCBAQAogI2lmbmRlZiBfWFRfUEtUVFlQRV9ICiAjZGVmaW5lIF9YVF9QS1RUWVBFX0gKIHN0cnVjdCB4dF9wa3R0eXBlX2luZm8gewotIGludCBwa3R0eXBlOworICBpbnQgcGt0dHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGludmVydDsKKyAgaW50IGludmVydDsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3BvbGljeS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcG9saWN5LmgKaW5kZXggZjYwNWZhZS4uNWJhYmZkZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcG9saWN5LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcG9saWN5LmgKQEAgLTIyLDU3ICsyMiw1MCBAQAogI2RlZmluZSBYVF9QT0xJQ1lfTUFYX0VMRU0gNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0geHRfcG9saWN5X2ZsYWdzIHsKLSBYVF9QT0xJQ1lfTUFUQ0hfSU4gPSAweDEsCi0gWFRfUE9MSUNZX01BVENIX09VVCA9IDB4MiwKLSBYVF9QT0xJQ1lfTUFUQ0hfTk9ORSA9IDB4NCwKKyAgWFRfUE9MSUNZX01BVENIX0lOID0gMHgxLAorICBYVF9QT0xJQ1lfTUFUQ0hfT1VUID0gMHgyLAorICBYVF9QT0xJQ1lfTUFUQ0hfTk9ORSA9IDB4NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfUE9MSUNZX01BVENIX1NUUklDVCA9IDB4OCwKKyAgWFRfUE9MSUNZX01BVENIX1NUUklDVCA9IDB4OCwKIH07CiBlbnVtIHh0X3BvbGljeV9tb2RlcyB7Ci0gWFRfUE9MSUNZX01PREVfVFJBTlNQT1JULAorICBYVF9QT0xJQ1lfTU9ERV9UUkFOU1BPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX1BPTElDWV9NT0RFX1RVTk5FTAorICBYVF9QT0xJQ1lfTU9ERV9UVU5ORUwKIH07CiBzdHJ1Y3QgeHRfcG9saWN5X3NwZWMgewotIF9fdTggc2FkZHI6MSwKKyAgX191OCBzYWRkciA6IDEsIGRhZGRyIDogMSwgcHJvdG8gOiAxLCBtb2RlIDogMSwgc3BpIDogMSwgcmVxaWQgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkYWRkcjoxLAotIHByb3RvOjEsCi0gbW9kZToxLAotIHNwaToxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSByZXFpZDoxOwogfTsKIHVuaW9uIHh0X3BvbGljeV9hZGRyIHsKLSBzdHJ1Y3QgaW5fYWRkciBhNDsKKyAgc3RydWN0IGluX2FkZHIgYTQ7CisgIHN0cnVjdCBpbjZfYWRkciBhNjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluNl9hZGRyIGE2OwogfTsKIHN0cnVjdCB4dF9wb2xpY3lfZWxlbSB7Ci0gdW5pb24geworICB1bmlvbiB7CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSB1bmlvbiB4dF9wb2xpY3lfYWRkciBzYWRkcjsKLSB1bmlvbiB4dF9wb2xpY3lfYWRkciBzbWFzazsKLSB1bmlvbiB4dF9wb2xpY3lfYWRkciBkYWRkcjsKKyAgICAgIHVuaW9uIHh0X3BvbGljeV9hZGRyIHNhZGRyOworICAgICAgdW5pb24geHRfcG9saWN5X2FkZHIgc21hc2s7CisgICAgICB1bmlvbiB4dF9wb2xpY3lfYWRkciBkYWRkcjsKKyAgICAgIHVuaW9uIHh0X3BvbGljeV9hZGRyIGRtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB4dF9wb2xpY3lfYWRkciBkbWFzazsKLSB9OwotIH07Ci0gX19iZTMyIHNwaTsKKyAgICB9OworICB9OworICBfX2JlMzIgc3BpOworICBfX3UzMiByZXFpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVxaWQ7Ci0gX191OCBwcm90bzsKLSBfX3U4IG1vZGU7Ci0gc3RydWN0IHh0X3BvbGljeV9zcGVjIG1hdGNoOworICBfX3U4IHByb3RvOworICBfX3U4IG1vZGU7CisgIHN0cnVjdCB4dF9wb2xpY3lfc3BlYyBtYXRjaDsKKyAgc3RydWN0IHh0X3BvbGljeV9zcGVjIGludmVydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHh0X3BvbGljeV9zcGVjIGludmVydDsKIH07CiBzdHJ1Y3QgeHRfcG9saWN5X2luZm8gewotIHN0cnVjdCB4dF9wb2xpY3lfZWxlbSBwb2xbWFRfUE9MSUNZX01BWF9FTEVNXTsKKyAgc3RydWN0IHh0X3BvbGljeV9lbGVtIHBvbFtYVF9QT0xJQ1lfTUFYX0VMRU1dOworICBfX3UxNiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmxhZ3M7Ci0gX191MTYgbGVuOworICBfX3UxNiBsZW47CiB9OwogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcXVvdGEuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3F1b3RhLmgKaW5kZXggYjY3NTM5My4uZjg1N2VkOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcXVvdGEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9xdW90YS5oCkBAIC0yMSwxNiArMjEsMTYgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB4dF9xdW90YV9mbGFncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX1FVT1RBX0lOVkVSVCA9IDB4MSwKKyAgWFRfUVVPVEFfSU5WRVJUID0gMHgxLAogfTsKICNkZWZpbmUgWFRfUVVPVEFfTUFTSyAweDEKIHN0cnVjdCB4dF9xdW90YV9wcml2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF9xdW90YV9pbmZvIHsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBwYWQ7Ci0gX19hbGlnbmVkX3U2NCBxdW90YTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHBhZDsKKyAgX19hbGlnbmVkX3U2NCBxdW90YTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHh0X3F1b3RhX3ByaXYgKm1hc3RlcjsKKyAgc3RydWN0IHh0X3F1b3RhX3ByaXYgKiBtYXN0ZXI7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yYXRlZXN0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yYXRlZXN0LmgKaW5kZXggNjZiMDZhYS4uMGRiMDc0ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcmF0ZWVzdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3JhdGVlc3QuaApAQCAtMjEsMzUgKzIxLDM1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0geHRfcmF0ZWVzdF9tYXRjaF9mbGFncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX1JBVEVFU1RfTUFUQ0hfSU5WRVJUID0gMTw8MCwKLSBYVF9SQVRFRVNUX01BVENIX0FCUyA9IDE8PDEsCi0gWFRfUkFURUVTVF9NQVRDSF9SRUwgPSAxPDwyLAotIFhUX1JBVEVFU1RfTUFUQ0hfREVMVEEgPSAxPDwzLAorICBYVF9SQVRFRVNUX01BVENIX0lOVkVSVCA9IDEgPDwgMCwKKyAgWFRfUkFURUVTVF9NQVRDSF9BQlMgPSAxIDw8IDEsCisgIFhUX1JBVEVFU1RfTUFUQ0hfUkVMID0gMSA8PCAyLAorICBYVF9SQVRFRVNUX01BVENIX0RFTFRBID0gMSA8PCAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9SQVRFRVNUX01BVENIX0JQUyA9IDE8PDQsCi0gWFRfUkFURUVTVF9NQVRDSF9QUFMgPSAxPDw1LAorICBYVF9SQVRFRVNUX01BVENIX0JQUyA9IDEgPDwgNCwKKyAgWFRfUkFURUVTVF9NQVRDSF9QUFMgPSAxIDw8IDUsCiB9OwogZW51bSB4dF9yYXRlZXN0X21hdGNoX21vZGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9SQVRFRVNUX01BVENIX05PTkUsCi0gWFRfUkFURUVTVF9NQVRDSF9FUSwKLSBYVF9SQVRFRVNUX01BVENIX0xULAotIFhUX1JBVEVFU1RfTUFUQ0hfR1QsCisgIFhUX1JBVEVFU1RfTUFUQ0hfTk9ORSwKKyAgWFRfUkFURUVTVF9NQVRDSF9FUSwKKyAgWFRfUkFURUVTVF9NQVRDSF9MVCwKKyAgWFRfUkFURUVTVF9NQVRDSF9HVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X3JhdGVlc3RfbWF0Y2hfaW5mbyB7Ci0gY2hhciBuYW1lMVtJRk5BTVNJWl07Ci0gY2hhciBuYW1lMltJRk5BTVNJWl07CisgIGNoYXIgbmFtZTFbSUZOQU1TSVpdOworICBjaGFyIG5hbWUyW0lGTkFNU0laXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmxhZ3M7Ci0gX191MTYgbW9kZTsKLSBfX3UzMiBicHMxOwotIF9fdTMyIHBwczE7CisgIF9fdTE2IGZsYWdzOworICBfX3UxNiBtb2RlOworICBfX3UzMiBicHMxOworICBfX3UzMiBwcHMxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBicHMyOwotIF9fdTMyIHBwczI7Ci0gc3RydWN0IHh0X3JhdGVlc3QgKmVzdDEgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwotIHN0cnVjdCB4dF9yYXRlZXN0ICplc3QyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKKyAgX191MzIgYnBzMjsKKyAgX191MzIgcHBzMjsKKyAgc3RydWN0IHh0X3JhdGVlc3QgKiBlc3QxIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKKyAgc3RydWN0IHh0X3JhdGVlc3QgKiBlc3QyIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yZWFsbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcmVhbG0uaAppbmRleCA0Njc3OTg1Li43YTQ5MTg5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yZWFsbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3JlYWxtLmgKQEAgLTIxLDkgKzIxLDkgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHh0X3JlYWxtX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZDsKLSBfX3UzMiBtYXNrOwotIF9fdTggaW52ZXJ0OworICBfX3UzMiBpZDsKKyAgX191MzIgbWFzazsKKyAgX191OCBpbnZlcnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcmVjZW50LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yZWNlbnQuaAppbmRleCAyYWQ2ODVmLi44Mjk0YzViIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yZWNlbnQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9yZWNlbnQuaApAQCAtMjEsNDAgKzIxLDQwIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9SRUNFTlRfQ0hFQ0sgPSAxIDw8IDAsCi0gWFRfUkVDRU5UX1NFVCA9IDEgPDwgMSwKLSBYVF9SRUNFTlRfVVBEQVRFID0gMSA8PCAyLAotIFhUX1JFQ0VOVF9SRU1PVkUgPSAxIDw8IDMsCisgIFhUX1JFQ0VOVF9DSEVDSyA9IDEgPDwgMCwKKyAgWFRfUkVDRU5UX1NFVCA9IDEgPDwgMSwKKyAgWFRfUkVDRU5UX1VQREFURSA9IDEgPDwgMiwKKyAgWFRfUkVDRU5UX1JFTU9WRSA9IDEgPDwgMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfUkVDRU5UX1RUTCA9IDEgPDwgNCwKLSBYVF9SRUNFTlRfUkVBUCA9IDEgPDwgNSwKLSBYVF9SRUNFTlRfU09VUkNFID0gMCwKLSBYVF9SRUNFTlRfREVTVCA9IDEsCisgIFhUX1JFQ0VOVF9UVEwgPSAxIDw8IDQsCisgIFhUX1JFQ0VOVF9SRUFQID0gMSA8PCA1LAorICBYVF9SRUNFTlRfU09VUkNFID0gMCwKKyAgWFRfUkVDRU5UX0RFU1QgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYVF9SRUNFTlRfTkFNRV9MRU4gPSAyMDAsCisgIFhUX1JFQ0VOVF9OQU1FX0xFTiA9IDIwMCwKIH07Ci0jZGVmaW5lIFhUX1JFQ0VOVF9NT0RJRklFUlMgKFhUX1JFQ0VOVF9UVEx8WFRfUkVDRU5UX1JFQVApCi0jZGVmaW5lIFhUX1JFQ0VOVF9WQUxJRF9GTEFHUyAoWFRfUkVDRU5UX0NIRUNLfFhUX1JFQ0VOVF9TRVR8WFRfUkVDRU5UX1VQREFURXwgIFhUX1JFQ0VOVF9SRU1PVkV8WFRfUkVDRU5UX1RUTHxYVF9SRUNFTlRfUkVBUCkKKyNkZWZpbmUgWFRfUkVDRU5UX01PRElGSUVSUyAoWFRfUkVDRU5UX1RUTCB8IFhUX1JFQ0VOVF9SRUFQKQorI2RlZmluZSBYVF9SRUNFTlRfVkFMSURfRkxBR1MgKFhUX1JFQ0VOVF9DSEVDSyB8IFhUX1JFQ0VOVF9TRVQgfCBYVF9SRUNFTlRfVVBEQVRFIHwgWFRfUkVDRU5UX1JFTU9WRSB8IFhUX1JFQ0VOVF9UVEwgfCBYVF9SRUNFTlRfUkVBUCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeHRfcmVjZW50X210aW5mbyB7Ci0gX191MzIgc2Vjb25kczsKLSBfX3UzMiBoaXRfY291bnQ7Ci0gX191OCBjaGVja19zZXQ7CisgIF9fdTMyIHNlY29uZHM7CisgIF9fdTMyIGhpdF9jb3VudDsKKyAgX191OCBjaGVja19zZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW52ZXJ0OwotIGNoYXIgbmFtZVtYVF9SRUNFTlRfTkFNRV9MRU5dOwotIF9fdTggc2lkZTsKKyAgX191OCBpbnZlcnQ7CisgIGNoYXIgbmFtZVtYVF9SRUNFTlRfTkFNRV9MRU5dOworICBfX3U4IHNpZGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF9yZWNlbnRfbXRpbmZvX3YxIHsKLSBfX3UzMiBzZWNvbmRzOwotIF9fdTMyIGhpdF9jb3VudDsKLSBfX3U4IGNoZWNrX3NldDsKKyAgX191MzIgc2Vjb25kczsKKyAgX191MzIgaGl0X2NvdW50OworICBfX3U4IGNoZWNrX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpbnZlcnQ7Ci0gY2hhciBuYW1lW1hUX1JFQ0VOVF9OQU1FX0xFTl07Ci0gX191OCBzaWRlOwotIHVuaW9uIG5mX2luZXRfYWRkciBtYXNrOworICBfX3U4IGludmVydDsKKyAgY2hhciBuYW1lW1hUX1JFQ0VOVF9OQU1FX0xFTl07CisgIF9fdTggc2lkZTsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIG1hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcnBmaWx0ZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3JwZmlsdGVyLmgKaW5kZXggMjk1MzNkNi4uZGJlNmU2YyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfcnBmaWx0ZXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9ycGZpbHRlci5oCkBAIC0yMSwxNCArMjEsMTQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX1JQRklMVEVSX0xPT1NFID0gMSA8PCAwLAotIFhUX1JQRklMVEVSX1ZBTElEX01BUksgPSAxIDw8IDEsCi0gWFRfUlBGSUxURVJfQUNDRVBUX0xPQ0FMID0gMSA8PCAyLAotIFhUX1JQRklMVEVSX0lOVkVSVCA9IDEgPDwgMywKKyAgWFRfUlBGSUxURVJfTE9PU0UgPSAxIDw8IDAsCisgIFhUX1JQRklMVEVSX1ZBTElEX01BUksgPSAxIDw8IDEsCisgIFhUX1JQRklMVEVSX0FDQ0VQVF9MT0NBTCA9IDEgPDwgMiwKKyAgWFRfUlBGSUxURVJfSU5WRVJUID0gMSA8PCAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeHRfcnBmaWx0ZXJfaW5mbyB7Ci0gX191OCBmbGFnczsKKyAgX191OCBmbGFnczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zY3RwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zY3RwLmgKaW5kZXggZWQ3MjQ2Yi4uYjZmYmVkYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc2N0cC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3NjdHAuaApAQCAtMjYsMzggKzI2LDQwIEBACiAjZGVmaW5lIFhUX1NDVFBfVkFMSURfRkxBR1MgMHgwNwogc3RydWN0IHh0X3NjdHBfZmxhZ19pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjaHVua3R5cGU7Ci0gX191OCBmbGFnOwotIF9fdTggZmxhZ19tYXNrOworICBfX3U4IGNodW5rdHlwZTsKKyAgX191OCBmbGFnOworICBfX3U4IGZsYWdfbWFzazsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYVF9OVU1fU0NUUF9GTEFHUyA0CiBzdHJ1Y3QgeHRfc2N0cF9pbmZvIHsKLSBfX3UxNiBkcHRzWzJdOwotIF9fdTE2IHNwdHNbMl07CisgIF9fdTE2IGRwdHNbMl07CisgIF9fdTE2IHNwdHNbMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNodW5rbWFwWzI1NiAvIHNpemVvZiAoX191MzIpXTsKKyAgX191MzIgY2h1bmttYXBbMjU2IC8gc2l6ZW9mKF9fdTMyKV07CiAjZGVmaW5lIFNDVFBfQ0hVTktfTUFUQ0hfQU5ZIDB4MDEKICNkZWZpbmUgU0NUUF9DSFVOS19NQVRDSF9BTEwgMHgwMgogI2RlZmluZSBTQ1RQX0NIVU5LX01BVENIX09OTFkgMHgwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjaHVua19tYXRjaF90eXBlOwotIHN0cnVjdCB4dF9zY3RwX2ZsYWdfaW5mbyBmbGFnX2luZm9bWFRfTlVNX1NDVFBfRkxBR1NdOwotIGludCBmbGFnX2NvdW50OwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBjaHVua19tYXRjaF90eXBlOworICBzdHJ1Y3QgeHRfc2N0cF9mbGFnX2luZm8gZmxhZ19pbmZvW1hUX05VTV9TQ1RQX0ZMQUdTXTsKKyAgaW50IGZsYWdfY291bnQ7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbnZmbGFnczsKKyAgX191MzIgaW52ZmxhZ3M7CiB9OwogI2RlZmluZSBieXRlcyh0eXBlKSAoc2l6ZW9mKHR5cGUpICogOCkKLSNkZWZpbmUgU0NUUF9DSFVOS01BUF9TRVQoY2h1bmttYXAsIHR5cGUpICAgZG8geyAgIChjaHVua21hcClbdHlwZSAvIGJ5dGVzKF9fdTMyKV0gfD0gICAxIDw8ICh0eXBlICUgYnl0ZXMoX191MzIpKTsgICB9IHdoaWxlICgwKQorI2RlZmluZSBTQ1RQX0NIVU5LTUFQX1NFVChjaHVua21hcCx0eXBlKSBkbyB7IChjaHVua21hcClbdHlwZSAvIGJ5dGVzKF9fdTMyKV0gfD0gMSA8PCAodHlwZSAlIGJ5dGVzKF9fdTMyKSk7IH0gd2hpbGUoMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNDVFBfQ0hVTktNQVBfQ0xFQVIoY2h1bmttYXAsIHR5cGUpICAgZG8geyAgIChjaHVua21hcClbdHlwZSAvIGJ5dGVzKF9fdTMyKV0gJj0gICB+KDEgPDwgKHR5cGUgJSBieXRlcyhfX3UzMikpKTsgICB9IHdoaWxlICgwKQotI2RlZmluZSBTQ1RQX0NIVU5LTUFQX0lTX1NFVChjaHVua21hcCwgdHlwZSkgICh7ICAgKChjaHVua21hcClbdHlwZSAvIGJ5dGVzIChfX3UzMildICYgICAoMSA8PCAodHlwZSAlIGJ5dGVzIChfX3UzMikpKSkgPyAxOiAwOyAgfSkKLSNkZWZpbmUgU0NUUF9DSFVOS01BUF9SRVNFVChjaHVua21hcCkgICBtZW1zZXQoKGNodW5rbWFwKSwgMCwgc2l6ZW9mKGNodW5rbWFwKSkKLSNkZWZpbmUgU0NUUF9DSFVOS01BUF9TRVRfQUxMKGNodW5rbWFwKSAgIG1lbXNldCgoY2h1bmttYXApLCB+MFUsIHNpemVvZihjaHVua21hcCkpCisjZGVmaW5lIFNDVFBfQ0hVTktNQVBfQ0xFQVIoY2h1bmttYXAsdHlwZSkgZG8geyAoY2h1bmttYXApW3R5cGUgLyBieXRlcyhfX3UzMildICY9IH4oMSA8PCAodHlwZSAlIGJ5dGVzKF9fdTMyKSkpOyB9IHdoaWxlKDApCisjZGVmaW5lIFNDVFBfQ0hVTktNQVBfSVNfU0VUKGNodW5rbWFwLHR5cGUpIFwKKyh7ICgoY2h1bmttYXApW3R5cGUgLyBieXRlcyhfX3UzMildICYgKDEgPDwgKHR5cGUgJSBieXRlcyhfX3UzMikpKSkgPyAxIDogMDsgXAorfSkKKyNkZWZpbmUgU0NUUF9DSFVOS01BUF9SRVNFVChjaHVua21hcCkgbWVtc2V0KChjaHVua21hcCksIDAsIHNpemVvZihjaHVua21hcCkpCisjZGVmaW5lIFNDVFBfQ0hVTktNQVBfU0VUX0FMTChjaHVua21hcCkgbWVtc2V0KChjaHVua21hcCksIH4wVSwgc2l6ZW9mKGNodW5rbWFwKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNDVFBfQ0hVTktNQVBfQ09QWShkZXN0bWFwLCBzcmNtYXApICAgbWVtY3B5KChkZXN0bWFwKSwgKHNyY21hcCksIHNpemVvZihzcmNtYXApKQotI2RlZmluZSBTQ1RQX0NIVU5LTUFQX0lTX0NMRUFSKGNodW5rbWFwKSAgIF9fc2N0cF9jaHVua21hcF9pc19jbGVhcigoY2h1bmttYXApLCBBUlJBWV9TSVpFKGNodW5rbWFwKSkKLSNkZWZpbmUgU0NUUF9DSFVOS01BUF9JU19BTExfU0VUKGNodW5rbWFwKSAgIF9fc2N0cF9jaHVua21hcF9pc19hbGxfc2V0KChjaHVua21hcCksIEFSUkFZX1NJWkUoY2h1bmttYXApKQorI2RlZmluZSBTQ1RQX0NIVU5LTUFQX0NPUFkoZGVzdG1hcCxzcmNtYXApIG1lbWNweSgoZGVzdG1hcCksIChzcmNtYXApLCBzaXplb2Yoc3JjbWFwKSkKKyNkZWZpbmUgU0NUUF9DSFVOS01BUF9JU19DTEVBUihjaHVua21hcCkgX19zY3RwX2NodW5rbWFwX2lzX2NsZWFyKChjaHVua21hcCksIEFSUkFZX1NJWkUoY2h1bmttYXApKQorI2RlZmluZSBTQ1RQX0NIVU5LTUFQX0lTX0FMTF9TRVQoY2h1bmttYXApIF9fc2N0cF9jaHVua21hcF9pc19hbGxfc2V0KChjaHVua21hcCksIEFSUkFZX1NJWkUoY2h1bmttYXApKQogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc2V0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zZXQuaAppbmRleCAzZDI3ZTU3Li41YTJmZTAxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zZXQuaApAQCAtMjYsNTUgKzI2LDY0IEBACiAjZGVmaW5lIElQU0VUX01BVENIX0lOViAweDA0CiBzdHJ1Y3QgeHRfc2V0X2luZm9fdjAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpcF9zZXRfaWRfdCBpbmRleDsKLSB1bmlvbiB7Ci0gX191MzIgZmxhZ3NbSVBTRVRfRElNX01BWCArIDFdOwotIHN0cnVjdCB7CisgIGlwX3NldF9pZF90IGluZGV4OworICB1bmlvbiB7CisgICAgX191MzIgZmxhZ3NbSVBTRVRfRElNX01BWCArIDFdOworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIF9fZmxhZ3NbSVBTRVRfRElNX01BWF07Ci0gX191OCBkaW07Ci0gX191OCBmbGFnczsKLSB9IGNvbXBhdDsKKyAgICAgIF9fdTMyIF9fZmxhZ3NbSVBTRVRfRElNX01BWF07CisgICAgICBfX3U4IGRpbTsKKyAgICAgIF9fdTggZmxhZ3M7CisgICAgfSBjb21wYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gdTsKKyAgfSB1OwogfTsKIHN0cnVjdCB4dF9zZXRfaW5mb19tYXRjaF92MCB7Ci0gc3RydWN0IHh0X3NldF9pbmZvX3YwIG1hdGNoX3NldDsKKyAgc3RydWN0IHh0X3NldF9pbmZvX3YwIG1hdGNoX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X3NldF9pbmZvX3RhcmdldF92MCB7Ci0gc3RydWN0IHh0X3NldF9pbmZvX3YwIGFkZF9zZXQ7Ci0gc3RydWN0IHh0X3NldF9pbmZvX3YwIGRlbF9zZXQ7CisgIHN0cnVjdCB4dF9zZXRfaW5mb192MCBhZGRfc2V0OworICBzdHJ1Y3QgeHRfc2V0X2luZm9fdjAgZGVsX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X3NldF9pbmZvIHsKLSBpcF9zZXRfaWRfdCBpbmRleDsKLSBfX3U4IGRpbTsKKyAgaXBfc2V0X2lkX3QgaW5kZXg7CisgIF9fdTggZGltOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZsYWdzOworICBfX3U4IGZsYWdzOwogfTsKIHN0cnVjdCB4dF9zZXRfaW5mb19tYXRjaF92MSB7Ci0gc3RydWN0IHh0X3NldF9pbmZvIG1hdGNoX3NldDsKKyAgc3RydWN0IHh0X3NldF9pbmZvIG1hdGNoX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X3NldF9pbmZvX3RhcmdldF92MSB7Ci0gc3RydWN0IHh0X3NldF9pbmZvIGFkZF9zZXQ7Ci0gc3RydWN0IHh0X3NldF9pbmZvIGRlbF9zZXQ7CisgIHN0cnVjdCB4dF9zZXRfaW5mbyBhZGRfc2V0OworICBzdHJ1Y3QgeHRfc2V0X2luZm8gZGVsX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X3NldF9pbmZvX3RhcmdldF92MiB7Ci0gc3RydWN0IHh0X3NldF9pbmZvIGFkZF9zZXQ7Ci0gc3RydWN0IHh0X3NldF9pbmZvIGRlbF9zZXQ7CisgIHN0cnVjdCB4dF9zZXRfaW5mbyBhZGRfc2V0OworICBzdHJ1Y3QgeHRfc2V0X2luZm8gZGVsX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX191MzIgdGltZW91dDsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHRpbWVvdXQ7CiB9Owogc3RydWN0IHh0X3NldF9pbmZvX21hdGNoX3YzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHh0X3NldF9pbmZvIG1hdGNoX3NldDsKLSBzdHJ1Y3QgaXBfc2V0X2NvdW50ZXJfbWF0Y2ggcGFja2V0czsKLSBzdHJ1Y3QgaXBfc2V0X2NvdW50ZXJfbWF0Y2ggYnl0ZXM7Ci0gX191MzIgZmxhZ3M7CisgIHN0cnVjdCB4dF9zZXRfaW5mbyBtYXRjaF9zZXQ7CisgIHN0cnVjdCBpcF9zZXRfY291bnRlcl9tYXRjaCBwYWNrZXRzOworICBzdHJ1Y3QgaXBfc2V0X2NvdW50ZXJfbWF0Y2ggYnl0ZXM7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CitzdHJ1Y3QgeHRfc2V0X2luZm9fdGFyZ2V0X3YzIHsKKyAgc3RydWN0IHh0X3NldF9pbmZvIGFkZF9zZXQ7CisgIHN0cnVjdCB4dF9zZXRfaW5mbyBkZWxfc2V0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IHh0X3NldF9pbmZvIG1hcF9zZXQ7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiB0aW1lb3V0OworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3NvY2tldC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc29ja2V0LmgKaW5kZXggNDE3MGZlNi4uZmY1N2QyMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc29ja2V0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc29ja2V0LmgKQEAgLTIxLDE3ICsyMSwxNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfU09DS0VUX1RSQU5TUEFSRU5UID0gMSA8PCAwLAotIFhUX1NPQ0tFVF9OT1dJTERDQVJEID0gMSA8PCAxLAorICBYVF9TT0NLRVRfVFJBTlNQQVJFTlQgPSAxIDw8IDAsCisgIFhUX1NPQ0tFVF9OT1dJTERDQVJEID0gMSA8PCAxLAogfTsKIHN0cnVjdCB4dF9zb2NrZXRfbXRpbmZvMSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxhZ3M7CisgIF9fdTggZmxhZ3M7CiB9OwogI2RlZmluZSBYVF9TT0NLRVRfRkxBR1NfVjEgWFRfU09DS0VUX1RSQU5TUEFSRU5UCiBzdHJ1Y3QgeHRfc29ja2V0X210aW5mbzIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZsYWdzOworICBfX3U4IGZsYWdzOwogfTsKICNkZWZpbmUgWFRfU09DS0VUX0ZMQUdTX1YyIChYVF9TT0NLRVRfVFJBTlNQQVJFTlQgfCBYVF9TT0NLRVRfTk9XSUxEQ0FSRCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc3RhdGUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3N0YXRlLmgKaW5kZXggNmZmMTg4OS4uNWQyY2QxMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc3RhdGUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zdGF0ZS5oCkBAIC0xOCwxMiArMTgsMTIgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfWFRfU1RBVEVfSAogI2RlZmluZSBfWFRfU1RBVEVfSAotI2RlZmluZSBYVF9TVEFURV9CSVQoY3RpbmZvKSAoMSA8PCAoKGN0aW5mbyklSVBfQ1RfSVNfUkVQTFkrMSkpCisjZGVmaW5lIFhUX1NUQVRFX0JJVChjdGluZm8pICgxIDw8ICgoY3RpbmZvKSAlIElQX0NUX0lTX1JFUExZICsgMSkpCiAjZGVmaW5lIFhUX1NUQVRFX0lOVkFMSUQgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFhUX1NUQVRFX1VOVFJBQ0tFRCAoMSA8PCAoSVBfQ1RfTlVNQkVSICsgMSkpCiBzdHJ1Y3QgeHRfc3RhdGVfaW5mbyB7Ci0gdW5zaWduZWQgaW50IHN0YXRlbWFzazsKKyAgdW5zaWduZWQgaW50IHN0YXRlbWFzazsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF9zdGF0aXN0aWMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3N0YXRpc3RpYy5oCmluZGV4IDYyMTVhYWUuLjE5YzRlN2EgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3N0YXRpc3RpYy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3N0YXRpc3RpYy5oCkBAIC0yMSwzNSArMjEsMzUgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB4dF9zdGF0aXN0aWNfbW9kZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhUX1NUQVRJU1RJQ19NT0RFX1JBTkRPTSwKLSBYVF9TVEFUSVNUSUNfTU9ERV9OVEgsCi0gX19YVF9TVEFUSVNUSUNfTU9ERV9NQVgKKyAgWFRfU1RBVElTVElDX01PREVfUkFORE9NLAorICBYVF9TVEFUSVNUSUNfTU9ERV9OVEgsCisgIF9fWFRfU1RBVElTVElDX01PREVfTUFYCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfU1RBVElTVElDX01PREVfTUFYIChfX1hUX1NUQVRJU1RJQ19NT0RFX01BWCAtIDEpCiBlbnVtIHh0X3N0YXRpc3RpY19mbGFncyB7Ci0gWFRfU1RBVElTVElDX0lOVkVSVCA9IDB4MSwKKyAgWFRfU1RBVElTVElDX0lOVkVSVCA9IDB4MSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYVF9TVEFUSVNUSUNfTUFTSyAweDEKIHN0cnVjdCB4dF9zdGF0aXN0aWNfcHJpdjsKIHN0cnVjdCB4dF9zdGF0aXN0aWNfaW5mbyB7Ci0gX191MTYgbW9kZTsKKyAgX191MTYgbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmxhZ3M7Ci0gdW5pb24gewotIHN0cnVjdCB7Ci0gX191MzIgcHJvYmFiaWxpdHk7CisgIF9fdTE2IGZsYWdzOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTMyIHByb2JhYmlsaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHJhbmRvbTsKLSBzdHJ1Y3QgewotIF9fdTMyIGV2ZXJ5OwotIF9fdTMyIHBhY2tldDsKKyAgICB9IHJhbmRvbTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgZXZlcnk7CisgICAgICBfX3UzMiBwYWNrZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvdW50OwotIH0gbnRoOwotIH0gdTsKLSBzdHJ1Y3QgeHRfc3RhdGlzdGljX3ByaXYgKm1hc3RlciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisgICAgICBfX3UzMiBjb3VudDsKKyAgICB9IG50aDsKKyAgfSB1OworICBzdHJ1Y3QgeHRfc3RhdGlzdGljX3ByaXYgKiBtYXN0ZXIgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3N0cmluZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc3RyaW5nLmgKaW5kZXggMTk3Y2NmNC4uY2Y0NWE2OSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc3RyaW5nLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfc3RyaW5nLmgKQEAgLTIzLDI4ICsyMywyOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgWFRfU1RSSU5HX01BWF9BTEdPX05BTUVfU0laRSAxNgogZW51bSB7Ci0gWFRfU1RSSU5HX0ZMQUdfSU5WRVJUID0gMHgwMSwKLSBYVF9TVFJJTkdfRkxBR19JR05PUkVDQVNFID0gMHgwMgorICBYVF9TVFJJTkdfRkxBR19JTlZFUlQgPSAweDAxLAorICBYVF9TVFJJTkdfRkxBR19JR05PUkVDQVNFID0gMHgwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeHRfc3RyaW5nX2luZm8gewotIF9fdTE2IGZyb21fb2Zmc2V0OwotIF9fdTE2IHRvX29mZnNldDsKKyAgX191MTYgZnJvbV9vZmZzZXQ7CisgIF9fdTE2IHRvX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBhbGdvW1hUX1NUUklOR19NQVhfQUxHT19OQU1FX1NJWkVdOwotIGNoYXIgcGF0dGVybltYVF9TVFJJTkdfTUFYX1BBVFRFUk5fU0laRV07Ci0gX191OCBwYXRsZW47Ci0gdW5pb24geworICBjaGFyIGFsZ29bWFRfU1RSSU5HX01BWF9BTEdPX05BTUVfU0laRV07CisgIGNoYXIgcGF0dGVybltYVF9TVFJJTkdfTUFYX1BBVFRFUk5fU0laRV07CisgIF9fdTggcGF0bGVuOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX191OCBpbnZlcnQ7Ci0gfSB2MDsKLSBzdHJ1Y3QgeworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IGludmVydDsKKyAgICB9IHYwOworICAgIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxhZ3M7Ci0gfSB2MTsKLSB9IHU7Ci0gc3RydWN0IHRzX2NvbmZpZyBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSkgKmNvbmZpZzsKKyAgICAgIF9fdTggZmxhZ3M7CisgICAgfSB2MTsKKyAgfSB1OworICBzdHJ1Y3QgdHNfY29uZmlnIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKSAqIGNvbmZpZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF90Y3Btc3MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3RjcG1zcy5oCmluZGV4IGQxYmI3MDcuLmY4ZDA1OTcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3RjcG1zcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3RjcG1zcy5oCkBAIC0yMSw4ICsyMSw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB4dF90Y3Btc3NfbWF0Y2hfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG1zc19taW4sIG1zc19tYXg7Ci0gX191OCBpbnZlcnQ7CisgIF9fdTE2IG1zc19taW4sIG1zc19tYXg7CisgIF9fdTggaW52ZXJ0OwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3RjcHVkcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfdGNwdWRwLmgKaW5kZXggOTM4NjExMC4uMzVmNTMxYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfdGNwdWRwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfdGNwdWRwLmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgeHRfdGNwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc3B0c1syXTsKLSBfX3UxNiBkcHRzWzJdOwotIF9fdTggb3B0aW9uOwotIF9fdTggZmxnX21hc2s7CisgIF9fdTE2IHNwdHNbMl07CisgIF9fdTE2IGRwdHNbMl07CisgIF9fdTggb3B0aW9uOworICBfX3U4IGZsZ19tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZsZ19jbXA7Ci0gX191OCBpbnZmbGFnczsKKyAgX191OCBmbGdfY21wOworICBfX3U4IGludmZsYWdzOwogfTsKICNkZWZpbmUgWFRfVENQX0lOVl9TUkNQVCAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzcsOSArMzcsOSBAQAogI2RlZmluZSBYVF9UQ1BfSU5WX01BU0sgMHgwRgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4dF91ZHAgewotIF9fdTE2IHNwdHNbMl07Ci0gX191MTYgZHB0c1syXTsKLSBfX3U4IGludmZsYWdzOworICBfX3UxNiBzcHRzWzJdOworICBfX3UxNiBkcHRzWzJdOworICBfX3U4IGludmZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFhUX1VEUF9JTlZfU1JDUFQgMHgwMQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfdGltZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXIveHRfdGltZS5oCmluZGV4IDIzOGEyY2EuLjQzMDZiMDIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3RpbWUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF90aW1lLmgKQEAgLTIxLDI1ICsyMSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgeHRfdGltZV9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZGF0ZV9zdGFydDsKLSBfX3UzMiBkYXRlX3N0b3A7Ci0gX191MzIgZGF5dGltZV9zdGFydDsKLSBfX3UzMiBkYXl0aW1lX3N0b3A7CisgIF9fdTMyIGRhdGVfc3RhcnQ7CisgIF9fdTMyIGRhdGVfc3RvcDsKKyAgX191MzIgZGF5dGltZV9zdGFydDsKKyAgX191MzIgZGF5dGltZV9zdG9wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtb250aGRheXNfbWF0Y2g7Ci0gX191OCB3ZWVrZGF5c19tYXRjaDsKLSBfX3U4IGZsYWdzOworICBfX3UzMiBtb250aGRheXNfbWF0Y2g7CisgIF9fdTggd2Vla2RheXNfbWF0Y2g7CisgIF9fdTggZmxhZ3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFhUX1RJTUVfTE9DQUxfVFogPSAxIDw8IDAsCi0gWFRfVElNRV9DT05USUdVT1VTID0gMSA8PCAxLAotIFhUX1RJTUVfQUxMX01PTlRIREFZUyA9IDB4RkZGRkZGRkUsCisgIFhUX1RJTUVfTE9DQUxfVFogPSAxIDw8IDAsCisgIFhUX1RJTUVfQ09OVElHVU9VUyA9IDEgPDwgMSwKKyAgWFRfVElNRV9BTExfTU9OVEhEQVlTID0gMHhGRkZGRkZGRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfVElNRV9BTExfV0VFS0RBWVMgPSAweEZFLAotIFhUX1RJTUVfTUlOX0RBWVRJTUUgPSAwLAotIFhUX1RJTUVfTUFYX0RBWVRJTUUgPSAyNCAqIDYwICogNjAgLSAxLAorICBYVF9USU1FX0FMTF9XRUVLREFZUyA9IDB4RkUsCisgIFhUX1RJTUVfTUlOX0RBWVRJTUUgPSAwLAorICBYVF9USU1FX01BWF9EQVlUSU1FID0gMjQgKiA2MCAqIDYwIC0gMSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBYVF9USU1FX0FMTF9GTEFHUyAoWFRfVElNRV9MT0NBTF9UWnxYVF9USU1FX0NPTlRJR1VPVVMpCisjZGVmaW5lIFhUX1RJTUVfQUxMX0ZMQUdTIChYVF9USU1FX0xPQ0FMX1RaIHwgWFRfVElNRV9DT05USUdVT1VTKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlci94dF91MzIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3UzMi5oCmluZGV4IDAyNjhmYzAuLmFlYWUxYWYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3UzMi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyL3h0X3UzMi5oCkBAIC0yMSwzNSArMjEsMzUgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogZW51bSB4dF91MzJfb3BzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWFRfVTMyX0FORCwKLSBYVF9VMzJfTEVGVFNILAotIFhUX1UzMl9SSUdIVFNILAotIFhUX1UzMl9BVCwKKyAgWFRfVTMyX0FORCwKKyAgWFRfVTMyX0xFRlRTSCwKKyAgWFRfVTMyX1JJR0hUU0gsCisgIFhUX1UzMl9BVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHh0X3UzMl9sb2NhdGlvbl9lbGVtZW50IHsKLSBfX3UzMiBudW1iZXI7Ci0gX191OCBuZXh0b3A7CisgIF9fdTMyIG51bWJlcjsKKyAgX191OCBuZXh0b3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4dF91MzJfdmFsdWVfZWxlbWVudCB7Ci0gX191MzIgbWluOwotIF9fdTMyIG1heDsKKyAgX191MzIgbWluOworICBfX3UzMiBtYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgWFRfVTMyX01BWFNJWkUgMTAKIHN0cnVjdCB4dF91MzJfdGVzdCB7Ci0gc3RydWN0IHh0X3UzMl9sb2NhdGlvbl9lbGVtZW50IGxvY2F0aW9uW1hUX1UzMl9NQVhTSVpFKzFdOworICBzdHJ1Y3QgeHRfdTMyX2xvY2F0aW9uX2VsZW1lbnQgbG9jYXRpb25bWFRfVTMyX01BWFNJWkUgKyAxXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHh0X3UzMl92YWx1ZV9lbGVtZW50IHZhbHVlW1hUX1UzMl9NQVhTSVpFKzFdOwotIF9fdTggbm51bXM7Ci0gX191OCBudmFsdWVzOworICBzdHJ1Y3QgeHRfdTMyX3ZhbHVlX2VsZW1lbnQgdmFsdWVbWFRfVTMyX01BWFNJWkUgKyAxXTsKKyAgX191OCBubnVtczsKKyAgX191OCBudmFsdWVzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeHRfdTMyIHsKLSBzdHJ1Y3QgeHRfdTMyX3Rlc3QgdGVzdHNbWFRfVTMyX01BWFNJWkUrMV07Ci0gX191OCBudGVzdHM7Ci0gX191OCBpbnZlcnQ7CisgIHN0cnVjdCB4dF91MzJfdGVzdCB0ZXN0c1tYVF9VMzJfTUFYU0laRSArIDFdOworICBfX3U4IG50ZXN0czsKKyAgX191OCBpbnZlcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYXJwL2FycF90YWJsZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2FycC9hcnBfdGFibGVzLmgKaW5kZXggOTVlMWUyOS4uMTIzNjgzZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYXJwL2FycF90YWJsZXMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9hcnAvYXJwX3RhYmxlcy5oCkBAIC0zNywyOSArMzcsMjkgQEAKICNkZWZpbmUgQVJQVF9TVEFOREFSRF9UQVJHRVQgWFRfU1RBTkRBUkRfVEFSR0VUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBUlBUX0VSUk9SX1RBUkdFVCBYVF9FUlJPUl9UQVJHRVQKLSNkZWZpbmUgQVJQVF9FTlRSWV9JVEVSQVRFKGVudHJpZXMsIHNpemUsIGZuLCBhcmdzLi4uKSAgIFhUX0VOVFJZX0lURVJBVEUoc3RydWN0IGFycHRfZW50cnksIGVudHJpZXMsIHNpemUsIGZuLCAjIyBhcmdzKQorI2RlZmluZSBBUlBUX0VOVFJZX0lURVJBVEUoZW50cmllcyxzaXplLGZuLGFyZ3MuLi4pIFhUX0VOVFJZX0lURVJBVEUoc3RydWN0IGFycHRfZW50cnksIGVudHJpZXMsIHNpemUsIGZuLCAjI2FyZ3MpCiAjZGVmaW5lIEFSUFRfREVWX0FERFJfTEVOX01BWCAxNgogc3RydWN0IGFycHRfZGV2YWRkcl9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBhZGRyW0FSUFRfREVWX0FERFJfTEVOX01BWF07Ci0gY2hhciBtYXNrW0FSUFRfREVWX0FERFJfTEVOX01BWF07CisgIGNoYXIgYWRkcltBUlBUX0RFVl9BRERSX0xFTl9NQVhdOworICBjaGFyIG1hc2tbQVJQVF9ERVZfQUREUl9MRU5fTUFYXTsKIH07CiBzdHJ1Y3QgYXJwdF9hcnAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW5fYWRkciBzcmMsIHRndDsKLSBzdHJ1Y3QgaW5fYWRkciBzbXNrLCB0bXNrOwotIF9fdTggYXJobG4sIGFyaGxuX21hc2s7Ci0gc3RydWN0IGFycHRfZGV2YWRkcl9pbmZvIHNyY19kZXZhZGRyOworICBzdHJ1Y3QgaW5fYWRkciBzcmMsIHRndDsKKyAgc3RydWN0IGluX2FkZHIgc21zaywgdG1zazsKKyAgX191OCBhcmhsbiwgYXJobG5fbWFzazsKKyAgc3RydWN0IGFycHRfZGV2YWRkcl9pbmZvIHNyY19kZXZhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYXJwdF9kZXZhZGRyX2luZm8gdGd0X2RldmFkZHI7Ci0gX19iZTE2IGFycG9wLCBhcnBvcF9tYXNrOwotIF9fYmUxNiBhcmhyZCwgYXJocmRfbWFzazsKLSBfX2JlMTYgYXJwcm8sIGFycHJvX21hc2s7CisgIHN0cnVjdCBhcnB0X2RldmFkZHJfaW5mbyB0Z3RfZGV2YWRkcjsKKyAgX19iZTE2IGFycG9wLCBhcnBvcF9tYXNrOworICBfX2JlMTYgYXJocmQsIGFyaHJkX21hc2s7CisgIF9fYmUxNiBhcnBybywgYXJwcm9fbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBpbmlmYWNlW0lGTkFNU0laXSwgb3V0aWZhY2VbSUZOQU1TSVpdOwotIHVuc2lnbmVkIGNoYXIgaW5pZmFjZV9tYXNrW0lGTkFNU0laXSwgb3V0aWZhY2VfbWFza1tJRk5BTVNJWl07Ci0gX191OCBmbGFnczsKLSBfX3UxNiBpbnZmbGFnczsKKyAgY2hhciBpbmlmYWNlW0lGTkFNU0laXSwgb3V0aWZhY2VbSUZOQU1TSVpdOworICB1bnNpZ25lZCBjaGFyIGluaWZhY2VfbWFza1tJRk5BTVNJWl0sIG91dGlmYWNlX21hc2tbSUZOQU1TSVpdOworICBfX3U4IGZsYWdzOworICBfX3UxNiBpbnZmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBBUlBUX0ZfTUFTSyAweDAwCkBAIC03Nyw1NSArNzcsNTQgQEAKICNkZWZpbmUgQVJQVF9JTlZfQVJQSExOIDB4MDIwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVJQVF9JTlZfTUFTSyAweDAzRkYKLXN0cnVjdCBhcnB0X2VudHJ5Ci17Ci0gc3RydWN0IGFycHRfYXJwIGFycDsKK3N0cnVjdCBhcnB0X2VudHJ5IHsKKyAgc3RydWN0IGFycHRfYXJwIGFycDsKKyAgX191MTYgdGFyZ2V0X29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgdGFyZ2V0X29mZnNldDsKLSBfX3UxNiBuZXh0X29mZnNldDsKLSB1bnNpZ25lZCBpbnQgY29tZWZyb207Ci0gc3RydWN0IHh0X2NvdW50ZXJzIGNvdW50ZXJzOworICBfX3UxNiBuZXh0X29mZnNldDsKKyAgdW5zaWduZWQgaW50IGNvbWVmcm9tOworICBzdHJ1Y3QgeHRfY291bnRlcnMgY291bnRlcnM7CisgIHVuc2lnbmVkIGNoYXIgZWxlbXNbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZWxlbXNbMF07CiB9OwogI2RlZmluZSBBUlBUX0JBU0VfQ1RMIDk2CiAjZGVmaW5lIEFSUFRfU09fU0VUX1JFUExBQ0UgKEFSUFRfQkFTRV9DVEwpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBUlBUX1NPX1NFVF9BRERfQ09VTlRFUlMgKEFSUFRfQkFTRV9DVEwgKyAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVJQVF9TT19TRVRfTUFYIEFSUFRfU09fU0VUX0FERF9DT1VOVEVSUwogI2RlZmluZSBBUlBUX1NPX0dFVF9JTkZPIChBUlBUX0JBU0VfQ1RMKQogI2RlZmluZSBBUlBUX1NPX0dFVF9FTlRSSUVTIChBUlBUX0JBU0VfQ1RMICsgMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFSUFRfU09fR0VUX1JFVklTSU9OX1RBUkdFVCAoQVJQVF9CQVNFX0NUTCArIDMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBUlBUX1NPX0dFVF9NQVggKEFSUFRfU09fR0VUX1JFVklTSU9OX1RBUkdFVCkKIHN0cnVjdCBhcnB0X2dldGluZm8gewotIGNoYXIgbmFtZVtYVF9UQUJMRV9NQVhOQU1FTEVOXTsKKyAgY2hhciBuYW1lW1hUX1RBQkxFX01BWE5BTUVMRU5dOworICB1bnNpZ25lZCBpbnQgdmFsaWRfaG9va3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB2YWxpZF9ob29rczsKLSB1bnNpZ25lZCBpbnQgaG9va19lbnRyeVtORl9BUlBfTlVNSE9PS1NdOwotIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfQVJQX05VTUhPT0tTXTsKLSB1bnNpZ25lZCBpbnQgbnVtX2VudHJpZXM7CisgIHVuc2lnbmVkIGludCBob29rX2VudHJ5W05GX0FSUF9OVU1IT09LU107CisgIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfQVJQX05VTUhPT0tTXTsKKyAgdW5zaWduZWQgaW50IG51bV9lbnRyaWVzOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHNpemU7CiB9Owogc3RydWN0IGFycHRfcmVwbGFjZSB7Ci0gY2hhciBuYW1lW1hUX1RBQkxFX01BWE5BTUVMRU5dOworICBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CisgIHVuc2lnbmVkIGludCB2YWxpZF9ob29rczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHZhbGlkX2hvb2tzOwotIHVuc2lnbmVkIGludCBudW1fZW50cmllczsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKLSB1bnNpZ25lZCBpbnQgaG9va19lbnRyeVtORl9BUlBfTlVNSE9PS1NdOworICB1bnNpZ25lZCBpbnQgbnVtX2VudHJpZXM7CisgIHVuc2lnbmVkIGludCBzaXplOworICB1bnNpZ25lZCBpbnQgaG9va19lbnRyeVtORl9BUlBfTlVNSE9PS1NdOworICB1bnNpZ25lZCBpbnQgdW5kZXJmbG93W05GX0FSUF9OVU1IT09LU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfQVJQX05VTUhPT0tTXTsKLSB1bnNpZ25lZCBpbnQgbnVtX2NvdW50ZXJzOwotIHN0cnVjdCB4dF9jb3VudGVycyBfX3VzZXIgKmNvdW50ZXJzOwotIHN0cnVjdCBhcnB0X2VudHJ5IGVudHJpZXNbMF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBpbnQgbnVtX2NvdW50ZXJzOworICBzdHJ1Y3QgeHRfY291bnRlcnMgX191c2VyICogY291bnRlcnM7CisgIHN0cnVjdCBhcnB0X2VudHJ5IGVudHJpZXNbMF07CiB9Owotc3RydWN0IGFycHRfZ2V0X2VudHJpZXMgewotIGNoYXIgbmFtZVtYVF9UQUJMRV9NQVhOQU1FTEVOXTsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGFycHRfZW50cnkgZW50cnl0YWJsZVswXTsKK3N0cnVjdCBhcnB0X2dldF9lbnRyaWVzIHsKKyAgY2hhciBuYW1lW1hUX1RBQkxFX01BWE5BTUVMRU5dOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgc3RydWN0IGFycHRfZW50cnkgZW50cnl0YWJsZVswXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9hcnAvYXJwdF9tYW5nbGUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2FycC9hcnB0X21hbmdsZS5oCmluZGV4IDViMWZkMzAuLjkyZWVjMmQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2FycC9hcnB0X21hbmdsZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2FycC9hcnB0X21hbmdsZS5oCkBAIC0yMSwyNiArMjEsMjUgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXJfYXJwL2FycF90YWJsZXMuaD4KICNkZWZpbmUgQVJQVF9NQU5HTEVfQUREUl9MRU5fTUFYIHNpemVvZihzdHJ1Y3QgaW5fYWRkcikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgYXJwdF9tYW5nbGUKLXsKLSBjaGFyIHNyY19kZXZhZGRyW0FSUFRfREVWX0FERFJfTEVOX01BWF07Ci0gY2hhciB0Z3RfZGV2YWRkcltBUlBUX0RFVl9BRERSX0xFTl9NQVhdOworc3RydWN0IGFycHRfbWFuZ2xlIHsKKyAgY2hhciBzcmNfZGV2YWRkcltBUlBUX0RFVl9BRERSX0xFTl9NQVhdOworICBjaGFyIHRndF9kZXZhZGRyW0FSUFRfREVWX0FERFJfTEVOX01BWF07CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHN0cnVjdCBpbl9hZGRyIHNyY19pcDsKLSB9IHVfczsKLSB1bmlvbiB7CisgICAgc3RydWN0IGluX2FkZHIgc3JjX2lwOworICB9IHVfczsKKyAgdW5pb24geworICAgIHN0cnVjdCBpbl9hZGRyIHRndF9pcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGluX2FkZHIgdGd0X2lwOwotIH0gdV90OwotIHVfaW50OF90IGZsYWdzOwotIGludCB0YXJnZXQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB9IHVfdDsKKyAgX191OCBmbGFnczsKKyAgaW50IHRhcmdldDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBUlBUX01BTkdMRV9TREVWIDB4MDEKICNkZWZpbmUgQVJQVF9NQU5HTEVfVERFViAweDAyCiAjZGVmaW5lIEFSUFRfTUFOR0xFX1NJUCAweDA0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBUlBUX01BTkdMRV9USVAgMHgwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQVJQVF9NQU5HTEVfTUFTSyAweDBmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfODAyXzMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfODAyXzMuaAppbmRleCAwOWFlN2UwLi5jNjVjYzUzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0XzgwMl8zLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF84MDJfMy5oCkBAIC0yOSw0MCArMjksNDAgQEAKICNkZWZpbmUgSVNfVUkgMHgwMwogI2RlZmluZSBFQlRfODAyXzNfTUFTSyAoRUJUXzgwMl8zX1NBUCB8IEVCVF84MDJfM19UWVBFIHwgRUJUXzgwMl8zKQogc3RydWN0IGhkcl91aSB7Ci0gX191OCBkc2FwOworICBfX3U4IGRzYXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc3NhcDsKLSBfX3U4IGN0cmw7Ci0gX191OCBvcmlnWzNdOwotIF9fYmUxNiB0eXBlOworICBfX3U4IHNzYXA7CisgIF9fdTggY3RybDsKKyAgX191OCBvcmlnWzNdOworICBfX2JlMTYgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGhkcl9uaSB7Ci0gX191OCBkc2FwOwotIF9fdTggc3NhcDsKKyAgX191OCBkc2FwOworICBfX3U4IHNzYXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBjdHJsOwotIF9fdTggb3JpZ1szXTsKLSBfX2JlMTYgdHlwZTsKKyAgX19iZTE2IGN0cmw7CisgIF9fdTggb3JpZ1szXTsKKyAgX19iZTE2IHR5cGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBlYnRfODAyXzNfaGRyIHsKLSBfX3U4IGRhZGRyW0VUSF9BTEVOXTsKLSBfX3U4IHNhZGRyW0VUSF9BTEVOXTsKLSBfX2JlMTYgbGVuOworICBfX3U4IGRhZGRyW0VUSF9BTEVOXTsKKyAgX191OCBzYWRkcltFVEhfQUxFTl07CisgIF9fYmUxNiBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgaGRyX3VpIHVpOwotIHN0cnVjdCBoZHJfbmkgbmk7Ci0gfSBsbGM7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgaGRyX3VpIHVpOworICAgIHN0cnVjdCBoZHJfbmkgbmk7CisgIH0gbGxjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZWJ0XzgwMl8zX2luZm8gewotIF9fdTggc2FwOwotIF9fYmUxNiB0eXBlOworICBfX3U4IHNhcDsKKyAgX19iZTE2IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYml0bWFzazsKLSBfX3U4IGludmZsYWdzOworICBfX3U4IGJpdG1hc2s7CisgIF9fdTggaW52ZmxhZ3M7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9hbW9uZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9hbW9uZy5oCmluZGV4IGFlZTA5ZjcuLjY0MjZjMWIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfYW1vbmcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2Ftb25nLmgKQEAgLTIzLDI4ICsyMywyOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUJUX0FNT05HX1NSQyAweDAyCiBzdHJ1Y3QgZWJ0X21hY193b3JtaGFzaF90dXBsZSB7Ci0gX191MzIgY21wWzJdOwotIF9fYmUzMiBpcDsKKyAgX191MzIgY21wWzJdOworICBfX2JlMzIgaXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBlYnRfbWFjX3dvcm1oYXNoIHsKLSBpbnQgdGFibGVbMjU3XTsKLSBpbnQgcG9vbHNpemU7CisgIGludCB0YWJsZVsyNTddOworICBpbnQgcG9vbHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBlYnRfbWFjX3dvcm1oYXNoX3R1cGxlIHBvb2xbMF07CisgIHN0cnVjdCBlYnRfbWFjX3dvcm1oYXNoX3R1cGxlIHBvb2xbMF07CiB9OwotI2RlZmluZSBlYnRfbWFjX3dvcm1oYXNoX3NpemUoeCkgKCh4KSA/IHNpemVvZihzdHJ1Y3QgZWJ0X21hY193b3JtaGFzaCkgICArICh4KS0+cG9vbHNpemUgKiBzaXplb2Yoc3RydWN0IGVidF9tYWNfd29ybWhhc2hfdHVwbGUpIDogMCkKKyNkZWZpbmUgZWJ0X21hY193b3JtaGFzaF9zaXplKHgpICgoeCkgPyBzaXplb2Yoc3RydWN0IGVidF9tYWNfd29ybWhhc2gpICsgKHgpLT5wb29sc2l6ZSAqIHNpemVvZihzdHJ1Y3QgZWJ0X21hY193b3JtaGFzaF90dXBsZSkgOiAwKQogc3RydWN0IGVidF9hbW9uZ19pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHdoX2RzdF9vZnM7Ci0gaW50IHdoX3NyY19vZnM7Ci0gaW50IGJpdG1hc2s7CisgIGludCB3aF9kc3Rfb2ZzOworICBpbnQgd2hfc3JjX29mczsKKyAgaW50IGJpdG1hc2s7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUJUX0FNT05HX0RTVF9ORUcgMHgxCiAjZGVmaW5lIEVCVF9BTU9OR19TUkNfTkVHIDB4MgotI2RlZmluZSBlYnRfYW1vbmdfd2hfZHN0KHgpICgoeCktPndoX2RzdF9vZnMgPyAgIChzdHJ1Y3QgZWJ0X21hY193b3JtaGFzaCopKChjaGFyKikoeCkgKyAoeCktPndoX2RzdF9vZnMpIDogTlVMTCkKLSNkZWZpbmUgZWJ0X2Ftb25nX3doX3NyYyh4KSAoKHgpLT53aF9zcmNfb2ZzID8gICAoc3RydWN0IGVidF9tYWNfd29ybWhhc2gqKSgoY2hhciopKHgpICsgKHgpLT53aF9zcmNfb2ZzKSA6IE5VTEwpCisjZGVmaW5lIGVidF9hbW9uZ193aF9kc3QoeCkgKCh4KS0+d2hfZHN0X29mcyA/IChzdHJ1Y3QgZWJ0X21hY193b3JtaGFzaCAqKSAoKGNoYXIgKikgKHgpICsgKHgpLT53aF9kc3Rfb2ZzKSA6IE5VTEwpCisjZGVmaW5lIGVidF9hbW9uZ193aF9zcmMoeCkgKCh4KS0+d2hfc3JjX29mcyA/IChzdHJ1Y3QgZWJ0X21hY193b3JtaGFzaCAqKSAoKGNoYXIgKikgKHgpICsgKHgpLT53aF9zcmNfb2ZzKSA6IE5VTEwpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFQlRfQU1PTkdfTUFUQ0ggImFtb25nIgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2FycC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9hcnAuaAppbmRleCA3OTFiZDZlLi5mYjY3NmI2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2FycC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfYXJwLmgKQEAgLTI5LDI3ICsyOSwyNiBAQAogI2RlZmluZSBFQlRfQVJQX1NSQ19NQUMgMHgyMAogI2RlZmluZSBFQlRfQVJQX0RTVF9NQUMgMHg0MAogI2RlZmluZSBFQlRfQVJQX0dSQVQgMHg4MAotI2RlZmluZSBFQlRfQVJQX01BU0sgKEVCVF9BUlBfT1BDT0RFIHwgRUJUX0FSUF9IVFlQRSB8IEVCVF9BUlBfUFRZUEUgfCAgIEVCVF9BUlBfU1JDX0lQIHwgRUJUX0FSUF9EU1RfSVAgfCBFQlRfQVJQX1NSQ19NQUMgfCBFQlRfQVJQX0RTVF9NQUMgfCAgIEVCVF9BUlBfR1JBVCkKKyNkZWZpbmUgRUJUX0FSUF9NQVNLIChFQlRfQVJQX09QQ09ERSB8IEVCVF9BUlBfSFRZUEUgfCBFQlRfQVJQX1BUWVBFIHwgRUJUX0FSUF9TUkNfSVAgfCBFQlRfQVJQX0RTVF9JUCB8IEVCVF9BUlBfU1JDX01BQyB8IEVCVF9BUlBfRFNUX01BQyB8IEVCVF9BUlBfR1JBVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVCVF9BUlBfTUFUQ0ggImFycCIKLXN0cnVjdCBlYnRfYXJwX2luZm8KLXsKLSBfX2JlMTYgaHR5cGU7CitzdHJ1Y3QgZWJ0X2FycF9pbmZvIHsKKyAgX19iZTE2IGh0eXBlOworICBfX2JlMTYgcHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBwdHlwZTsKLSBfX2JlMTYgb3Bjb2RlOwotIF9fYmUzMiBzYWRkcjsKLSBfX2JlMzIgc21zazsKKyAgX19iZTE2IG9wY29kZTsKKyAgX19iZTMyIHNhZGRyOworICBfX2JlMzIgc21zazsKKyAgX19iZTMyIGRhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZGFkZHI7Ci0gX19iZTMyIGRtc2s7Ci0gdW5zaWduZWQgY2hhciBzbWFkZHJbRVRIX0FMRU5dOwotIHVuc2lnbmVkIGNoYXIgc21tc2tbRVRIX0FMRU5dOworICBfX2JlMzIgZG1zazsKKyAgdW5zaWduZWQgY2hhciBzbWFkZHJbRVRIX0FMRU5dOworICB1bnNpZ25lZCBjaGFyIHNtbXNrW0VUSF9BTEVOXTsKKyAgdW5zaWduZWQgY2hhciBkbWFkZHJbRVRIX0FMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGRtYWRkcltFVEhfQUxFTl07Ci0gdW5zaWduZWQgY2hhciBkbW1za1tFVEhfQUxFTl07Ci0gX191OCBiaXRtYXNrOwotIF9fdTggaW52ZmxhZ3M7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBjaGFyIGRtbXNrW0VUSF9BTEVOXTsKKyAgX191OCBiaXRtYXNrOworICBfX3U4IGludmZsYWdzOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfYXJwcmVwbHkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfYXJwcmVwbHkuaAppbmRleCBlMDU2ZDQ2Li5lMGNkNTAzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2FycHJlcGx5LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9hcnByZXBseS5oCkBAIC0xOSw5ICsxOSw5IEBACiAjaWZuZGVmIF9fTElOVVhfQlJJREdFX0VCVF9BUlBSRVBMWV9ICiAjZGVmaW5lIF9fTElOVVhfQlJJREdFX0VCVF9BUlBSRVBMWV9ICiBzdHJ1Y3QgZWJ0X2FycHJlcGx5X2luZm8gewotIHVuc2lnbmVkIGNoYXIgbWFjW0VUSF9BTEVOXTsKKyAgdW5zaWduZWQgY2hhciBtYWNbRVRIX0FMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdGFyZ2V0OworICBpbnQgdGFyZ2V0OwogfTsKICNkZWZpbmUgRUJUX0FSUFJFUExZX1RBUkdFVCAiYXJwcmVwbHkiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfaXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfaXAuaAppbmRleCBjZTllYWE3Li5lZjQ1YzY4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2lwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9pcC5oCkBAIC0yNywyMiArMjcsMjIgQEAKICNkZWZpbmUgRUJUX0lQX1NQT1JUIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVCVF9JUF9EUE9SVCAweDIwCi0jZGVmaW5lIEVCVF9JUF9NQVNLIChFQlRfSVBfU09VUkNFIHwgRUJUX0lQX0RFU1QgfCBFQlRfSVBfVE9TIHwgRUJUX0lQX1BST1RPIHwgIEVCVF9JUF9TUE9SVCB8IEVCVF9JUF9EUE9SVCApCisjZGVmaW5lIEVCVF9JUF9NQVNLIChFQlRfSVBfU09VUkNFIHwgRUJUX0lQX0RFU1QgfCBFQlRfSVBfVE9TIHwgRUJUX0lQX1BST1RPIHwgRUJUX0lQX1NQT1JUIHwgRUJUX0lQX0RQT1JUKQogI2RlZmluZSBFQlRfSVBfTUFUQ0ggImlwIgogc3RydWN0IGVidF9pcF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHNhZGRyOwotIF9fYmUzMiBkYWRkcjsKLSBfX2JlMzIgc21zazsKLSBfX2JlMzIgZG1zazsKKyAgX19iZTMyIHNhZGRyOworICBfX2JlMzIgZGFkZHI7CisgIF9fYmUzMiBzbXNrOworICBfX2JlMzIgZG1zazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0b3M7Ci0gX191OCBwcm90b2NvbDsKLSBfX3U4IGJpdG1hc2s7Ci0gX191OCBpbnZmbGFnczsKKyAgX191OCB0b3M7CisgIF9fdTggcHJvdG9jb2w7CisgIF9fdTggYml0bWFzazsKKyAgX191OCBpbnZmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc3BvcnRbMl07Ci0gX191MTYgZHBvcnRbMl07CisgIF9fdTE2IHNwb3J0WzJdOworICBfX3UxNiBkcG9ydFsyXTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2lwNi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9pcDYuaAppbmRleCA1NTJiMGQ3Li5hYzA2MDQ2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2lwNi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfaXA2LmgKQEAgLTI4LDI5ICsyOCwyOSBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUJUX0lQNl9EUE9SVCAweDIwCiAjZGVmaW5lIEVCVF9JUDZfSUNNUDYgMHg0MAotI2RlZmluZSBFQlRfSVA2X01BU0sgKEVCVF9JUDZfU09VUkNFIHwgRUJUX0lQNl9ERVNUIHwgRUJUX0lQNl9UQ0xBU1MgfCAgRUJUX0lQNl9QUk9UTyB8IEVCVF9JUDZfU1BPUlQgfCBFQlRfSVA2X0RQT1JUIHwgICBFQlRfSVA2X0lDTVA2KQorI2RlZmluZSBFQlRfSVA2X01BU0sgKEVCVF9JUDZfU09VUkNFIHwgRUJUX0lQNl9ERVNUIHwgRUJUX0lQNl9UQ0xBU1MgfCBFQlRfSVA2X1BST1RPIHwgRUJUX0lQNl9TUE9SVCB8IEVCVF9JUDZfRFBPUlQgfCBFQlRfSVA2X0lDTVA2KQogI2RlZmluZSBFQlRfSVA2X01BVENIICJpcDYiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGVidF9pcDZfaW5mbyB7Ci0gc3RydWN0IGluNl9hZGRyIHNhZGRyOwotIHN0cnVjdCBpbjZfYWRkciBkYWRkcjsKLSBzdHJ1Y3QgaW42X2FkZHIgc21zazsKKyAgc3RydWN0IGluNl9hZGRyIHNhZGRyOworICBzdHJ1Y3QgaW42X2FkZHIgZGFkZHI7CisgIHN0cnVjdCBpbjZfYWRkciBzbXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW42X2FkZHIgZG1zazsKLSBfX3U4IHRjbGFzczsKLSBfX3U4IHByb3RvY29sOwotIF9fdTggYml0bWFzazsKKyAgc3RydWN0IGluNl9hZGRyIGRtc2s7CisgIF9fdTggdGNsYXNzOworICBfX3U4IHByb3RvY29sOworICBfX3U4IGJpdG1hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW52ZmxhZ3M7Ci0gdW5pb24gewotIF9fdTE2IHNwb3J0WzJdOwotIF9fdTggaWNtcHY2X3R5cGVbMl07CisgIF9fdTggaW52ZmxhZ3M7CisgIHVuaW9uIHsKKyAgICBfX3UxNiBzcG9ydFsyXTsKKyAgICBfX3U4IGljbXB2Nl90eXBlWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OwotIHVuaW9uIHsKLSBfX3UxNiBkcG9ydFsyXTsKLSBfX3U4IGljbXB2Nl9jb2RlWzJdOworICB9OworICB1bmlvbiB7CisgICAgX191MTYgZHBvcnRbMl07CisgICAgX191OCBpY21wdjZfY29kZVsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKKyAgfTsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbGltaXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbGltaXQuaAppbmRleCAzMDNjMmJiLi4zNzU2NDcwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2xpbWl0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9saW1pdC5oCkBAIC0yMywxMiArMjMsMTIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVCVF9MSU1JVF9TQ0FMRSAxMDAwMAogc3RydWN0IGVidF9saW1pdF9pbmZvIHsKLSBfX3UzMiBhdmc7Ci0gX191MzIgYnVyc3Q7CisgIF9fdTMyIGF2ZzsKKyAgX191MzIgYnVyc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgcHJldjsKLSBfX3UzMiBjcmVkaXQ7Ci0gX191MzIgY3JlZGl0X2NhcCwgY29zdDsKKyAgdW5zaWduZWQgbG9uZyBwcmV2OworICBfX3UzMiBjcmVkaXQ7CisgIF9fdTMyIGNyZWRpdF9jYXAsIGNvc3Q7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9sb2cuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbG9nLmgKaW5kZXggNzJhMTA1ZC4uYjI3NmM1YSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9sb2cuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X2xvZy5oCkBAIC0yOSwxMCArMjksMTAgQEAKICNkZWZpbmUgRUJUX0xPR19QUkVGSVhfU0laRSAzMAogI2RlZmluZSBFQlRfTE9HX1dBVENIRVIgImxvZyIKIHN0cnVjdCBlYnRfbG9nX2luZm8gewotIF9fdTggbG9nbGV2ZWw7CisgIF9fdTggbG9nbGV2ZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcHJlZml4W0VCVF9MT0dfUFJFRklYX1NJWkVdOwotIF9fdTMyIGJpdG1hc2s7CisgIF9fdTggcHJlZml4W0VCVF9MT0dfUFJFRklYX1NJWkVdOworICBfX3UzMiBiaXRtYXNrOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbWFya19tLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X21hcmtfbS5oCmluZGV4IDVjMzI1MjIuLjQ5N2IwMTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbWFya19tLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9tYXJrX20uaApAQCAtMjQsMTAgKzI0LDEwIEBACiAjZGVmaW5lIEVCVF9NQVJLX09SIDB4MDIKICNkZWZpbmUgRUJUX01BUktfTUFTSyAoRUJUX01BUktfQU5EIHwgRUJUX01BUktfT1IpCiBzdHJ1Y3QgZWJ0X21hcmtfbV9pbmZvIHsKLSB1bnNpZ25lZCBsb25nIG1hcmssIG1hc2s7CisgIHVuc2lnbmVkIGxvbmcgbWFyaywgbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpbnZlcnQ7Ci0gX191OCBiaXRtYXNrOworICBfX3U4IGludmVydDsKKyAgX191OCBiaXRtYXNrOwogfTsKICNkZWZpbmUgRUJUX01BUktfTUFUQ0ggIm1hcmtfbSIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X21hcmtfdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9tYXJrX3QuaAppbmRleCBlZmM1Nzg2Li5kYmZkZmIzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X21hcmtfdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbWFya190LmgKQEAgLTI0LDkgKzI0LDkgQEAKICNkZWZpbmUgTUFSS19BTkRfVkFMVUUgKDB4ZmZmZmZmZDApCiAjZGVmaW5lIE1BUktfWE9SX1ZBTFVFICgweGZmZmZmZmMwKQogc3RydWN0IGVidF9tYXJrX3RfaW5mbyB7Ci0gdW5zaWduZWQgbG9uZyBtYXJrOworICB1bnNpZ25lZCBsb25nIG1hcms7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0YXJnZXQ7CisgIGludCB0YXJnZXQ7CiB9OwogI2RlZmluZSBFQlRfTUFSS19UQVJHRVQgIm1hcmsiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbmF0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X25hdC5oCmluZGV4IDI1N2NkYjEuLmViMzQxYzIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbmF0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9uYXQuaApAQCAtMjEsOCArMjEsOCBAQAogI2RlZmluZSBOQVRfQVJQX0JJVCAoMHgwMDAwMDAxMCkKIHN0cnVjdCBlYnRfbmF0X2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIG1hY1tFVEhfQUxFTl07Ci0gaW50IHRhcmdldDsKKyAgdW5zaWduZWQgY2hhciBtYWNbRVRIX0FMRU5dOworICBpbnQgdGFyZ2V0OwogfTsKICNkZWZpbmUgRUJUX1NOQVRfVEFSR0VUICJzbmF0IgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbmZsb2cuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfbmZsb2cuaAppbmRleCA5YmU2ODhhLi44YTllOThlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X25mbG9nLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9uZmxvZy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRUJUX05GTE9HX0RFRkFVTFRfVEhSRVNIT0xEIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZWJ0X25mbG9nX2luZm8gewotIF9fdTMyIGxlbjsKLSBfX3UxNiBncm91cDsKLSBfX3UxNiB0aHJlc2hvbGQ7CisgIF9fdTMyIGxlbjsKKyAgX191MTYgZ3JvdXA7CisgIF9fdTE2IHRocmVzaG9sZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmxhZ3M7Ci0gX191MTYgcGFkOwotIGNoYXIgcHJlZml4W0VCVF9ORkxPR19QUkVGSVhfU0laRV07CisgIF9fdTE2IGZsYWdzOworICBfX3UxNiBwYWQ7CisgIGNoYXIgcHJlZml4W0VCVF9ORkxPR19QUkVGSVhfU0laRV07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9wa3R0eXBlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X3BrdHR5cGUuaAppbmRleCBiYmNmZDBjLi4yZTY1MzVhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X3BrdHR5cGUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X3BrdHR5cGUuaApAQCAtMjEsOCArMjEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgZWJ0X3BrdHR5cGVfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGt0X3R5cGU7Ci0gX191OCBpbnZlcnQ7CisgIF9fdTggcGt0X3R5cGU7CisgIF9fdTggaW52ZXJ0OwogfTsKICNkZWZpbmUgRUJUX1BLVFRZUEVfTUFUQ0ggInBrdHR5cGUiCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9yZWRpcmVjdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9yZWRpcmVjdC5oCmluZGV4IGE4NmJhMmMuLmE5YTczMmMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfcmVkaXJlY3QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X3JlZGlyZWN0LmgKQEAgLTE5LDcgKzE5LDcgQEAKICNpZm5kZWYgX19MSU5VWF9CUklER0VfRUJUX1JFRElSRUNUX0gKICNkZWZpbmUgX19MSU5VWF9CUklER0VfRUJUX1JFRElSRUNUX0gKIHN0cnVjdCBlYnRfcmVkaXJlY3RfaW5mbyB7Ci0gaW50IHRhcmdldDsKKyAgaW50IHRhcmdldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBFQlRfUkVESVJFQ1RfVEFSR0VUICJyZWRpcmVjdCIKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfc3RwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X3N0cC5oCmluZGV4IDQ3OGJiNDkuLjRlNDIwNjAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfc3RwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF9zdHAuaApAQCAtMzksMjcgKzM5LDI3IEBACiAjZGVmaW5lIEVCVF9TVFBfQ09ORklHX01BU0sgMHgwZmZlCiAjZGVmaW5lIEVCVF9TVFBfTUFUQ0ggInN0cCIKIHN0cnVjdCBlYnRfc3RwX2NvbmZpZ19pbmZvIHsKLSBfX3U4IGZsYWdzOworICBfX3U4IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiByb290X3ByaW9sLCByb290X3ByaW91OwotIGNoYXIgcm9vdF9hZGRyWzZdLCByb290X2FkZHJtc2tbNl07Ci0gX191MzIgcm9vdF9jb3N0bCwgcm9vdF9jb3N0dTsKLSBfX3UxNiBzZW5kZXJfcHJpb2wsIHNlbmRlcl9wcmlvdTsKKyAgX191MTYgcm9vdF9wcmlvbCwgcm9vdF9wcmlvdTsKKyAgY2hhciByb290X2FkZHJbNl0sIHJvb3RfYWRkcm1za1s2XTsKKyAgX191MzIgcm9vdF9jb3N0bCwgcm9vdF9jb3N0dTsKKyAgX191MTYgc2VuZGVyX3ByaW9sLCBzZW5kZXJfcHJpb3U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc2VuZGVyX2FkZHJbNl0sIHNlbmRlcl9hZGRybXNrWzZdOwotIF9fdTE2IHBvcnRsLCBwb3J0dTsKLSBfX3UxNiBtc2dfYWdlbCwgbXNnX2FnZXU7Ci0gX191MTYgbWF4X2FnZWwsIG1heF9hZ2V1OworICBjaGFyIHNlbmRlcl9hZGRyWzZdLCBzZW5kZXJfYWRkcm1za1s2XTsKKyAgX191MTYgcG9ydGwsIHBvcnR1OworICBfX3UxNiBtc2dfYWdlbCwgbXNnX2FnZXU7CisgIF9fdTE2IG1heF9hZ2VsLCBtYXhfYWdldTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaGVsbG9fdGltZWwsIGhlbGxvX3RpbWV1OwotIF9fdTE2IGZvcndhcmRfZGVsYXlsLCBmb3J3YXJkX2RlbGF5dTsKKyAgX191MTYgaGVsbG9fdGltZWwsIGhlbGxvX3RpbWV1OworICBfX3UxNiBmb3J3YXJkX2RlbGF5bCwgZm9yd2FyZF9kZWxheXU7CiB9Owogc3RydWN0IGVidF9zdHBfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHlwZTsKLSBzdHJ1Y3QgZWJ0X3N0cF9jb25maWdfaW5mbyBjb25maWc7Ci0gX191MTYgYml0bWFzazsKLSBfX3UxNiBpbnZmbGFnczsKKyAgX191OCB0eXBlOworICBzdHJ1Y3QgZWJ0X3N0cF9jb25maWdfaW5mbyBjb25maWc7CisgIF9fdTE2IGJpdG1hc2s7CisgIF9fdTE2IGludmZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfdWxvZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF91bG9nLmgKaW5kZXggMzdlZTcyZC4uMDI5ZDZiMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF91bG9nLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfYnJpZGdlL2VidF91bG9nLmgKQEAgLTI5LDI4ICsyOSwyNyBAQAogI2RlZmluZSBFQlRfVUxPR19XQVRDSEVSICJ1bG9nIgogI2RlZmluZSBFQlRfVUxPR19WRVJTSU9OIDEKIHN0cnVjdCBlYnRfdWxvZ19pbmZvIHsKLSBfX3UzMiBubGdyb3VwOworICBfX3UzMiBubGdyb3VwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY3ByYW5nZTsKLSB1bnNpZ25lZCBpbnQgcXRocmVzaG9sZDsKLSBjaGFyIHByZWZpeFtFQlRfVUxPR19QUkVGSVhfTEVOXTsKKyAgdW5zaWduZWQgaW50IGNwcmFuZ2U7CisgIHVuc2lnbmVkIGludCBxdGhyZXNob2xkOworICBjaGFyIHByZWZpeFtFQlRfVUxPR19QUkVGSVhfTEVOXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgZWJ0X3Vsb2dfcGFja2V0X21zZyB7Ci0gaW50IHZlcnNpb247Ci0gY2hhciBpbmRldltJRk5BTVNJWl07Ci0gY2hhciBvdXRkZXZbSUZOQU1TSVpdOworICBpbnQgdmVyc2lvbjsKKyAgY2hhciBpbmRldltJRk5BTVNJWl07CisgIGNoYXIgb3V0ZGV2W0lGTkFNU0laXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBwaHlzaW5kZXZbSUZOQU1TSVpdOwotIGNoYXIgcGh5c291dGRldltJRk5BTVNJWl07Ci0gY2hhciBwcmVmaXhbRUJUX1VMT0dfUFJFRklYX0xFTl07Ci0gc3RydWN0IHRpbWV2YWwgc3RhbXA7CisgIGNoYXIgcGh5c2luZGV2W0lGTkFNU0laXTsKKyAgY2hhciBwaHlzb3V0ZGV2W0lGTkFNU0laXTsKKyAgY2hhciBwcmVmaXhbRUJUX1VMT0dfUFJFRklYX0xFTl07CisgIHN0cnVjdCB0aW1ldmFsIHN0YW1wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIG1hcms7Ci0gdW5zaWduZWQgaW50IGhvb2s7Ci0gc2l6ZV90IGRhdGFfbGVuOwotIHVuc2lnbmVkIGNoYXIgZGF0YVswXSBfX2F0dHJpYnV0ZV9fCisgIHVuc2lnbmVkIGxvbmcgbWFyazsKKyAgdW5zaWduZWQgaW50IGhvb2s7CisgIHNpemVfdCBkYXRhX2xlbjsKKyAgdW5zaWduZWQgY2hhciBkYXRhWzBdIF9fYXR0cmlidXRlX18oKGFsaWduZWQoX19hbGlnbm9mX18oc3RydWN0IGVidF91bG9nX2luZm8pKSkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSAoKGFsaWduZWQgKF9fYWxpZ25vZl9fKHN0cnVjdCBlYnRfdWxvZ19pbmZvKSkpKTsKIH0gZWJ0X3Vsb2dfcGFja2V0X21zZ190OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0X3ZsYW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfdmxhbi5oCmluZGV4IGE1MGQ4MzMuLjljNmE0MzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfdmxhbi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRfdmxhbi5oCkBAIC0yNywxMiArMjcsMTIgQEAKICNkZWZpbmUgRUJUX1ZMQU5fTUFUQ0ggInZsYW4iCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGVidF92bGFuX2luZm8gewotIF9fdTE2IGlkOwotIF9fdTggcHJpbzsKLSBfX2JlMTYgZW5jYXA7CisgIF9fdTE2IGlkOworICBfX3U4IHByaW87CisgIF9fYmUxNiBlbmNhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiaXRtYXNrOwotIF9fdTggaW52ZmxhZ3M7CisgIF9fdTggYml0bWFzazsKKyAgX191OCBpbnZmbGFnczsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9icmlkZ2UvZWJ0YWJsZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRhYmxlcy5oCmluZGV4IDI3Zjc2NWEuLjZiMjAxYTMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRhYmxlcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2JyaWRnZS9lYnRhYmxlcy5oCkBAIC0yNiwxMCArMjYsMTAgQEAKICNkZWZpbmUgRUJUX0NIQUlOX01BWE5BTUVMRU4gRUJUX1RBQkxFX01BWE5BTUVMRU4KICNkZWZpbmUgRUJUX0ZVTkNUSU9OX01BWE5BTUVMRU4gRUJUX1RBQkxFX01BWE5BTUVMRU4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEVCVF9BQ0NFUFQgLTEKLSNkZWZpbmUgRUJUX0RST1AgLTIKLSNkZWZpbmUgRUJUX0NPTlRJTlVFIC0zCi0jZGVmaW5lIEVCVF9SRVRVUk4gLTQKKyNkZWZpbmUgRUJUX0FDQ0VQVCAtIDEKKyNkZWZpbmUgRUJUX0RST1AgLSAyCisjZGVmaW5lIEVCVF9DT05USU5VRSAtIDMKKyNkZWZpbmUgRUJUX1JFVFVSTiAtIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5VTV9TVEFOREFSRF9UQVJHRVRTIDQKICNkZWZpbmUgRUJUX1ZFUkRJQ1RfQklUUyAweDAwMDAwMDBGCkBAIC0zNyw0MyArMzcsNDMgQEAKIHN0cnVjdCB4dF90YXJnZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGVidF9jb3VudGVyIHsKLSB1aW50NjRfdCBwY250OwotIHVpbnQ2NF90IGJjbnQ7CisgIHVpbnQ2NF90IHBjbnQ7CisgIHVpbnQ2NF90IGJjbnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBlYnRfcmVwbGFjZSB7Ci0gY2hhciBuYW1lW0VCVF9UQUJMRV9NQVhOQU1FTEVOXTsKLSB1bnNpZ25lZCBpbnQgdmFsaWRfaG9va3M7Ci0gdW5zaWduZWQgaW50IG5lbnRyaWVzOworICBjaGFyIG5hbWVbRUJUX1RBQkxFX01BWE5BTUVMRU5dOworICB1bnNpZ25lZCBpbnQgdmFsaWRfaG9va3M7CisgIHVuc2lnbmVkIGludCBuZW50cmllczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGVudHJpZXNfc2l6ZTsKLSBzdHJ1Y3QgZWJ0X2VudHJpZXMgX191c2VyICpob29rX2VudHJ5W05GX0JSX05VTUhPT0tTXTsKLSB1bnNpZ25lZCBpbnQgbnVtX2NvdW50ZXJzOwotIHN0cnVjdCBlYnRfY291bnRlciBfX3VzZXIgKmNvdW50ZXJzOworICB1bnNpZ25lZCBpbnQgZW50cmllc19zaXplOworICBzdHJ1Y3QgZWJ0X2VudHJpZXMgX191c2VyICogaG9va19lbnRyeVtORl9CUl9OVU1IT09LU107CisgIHVuc2lnbmVkIGludCBudW1fY291bnRlcnM7CisgIHN0cnVjdCBlYnRfY291bnRlciBfX3VzZXIgKiBjb3VudGVyczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBfX3VzZXIgKmVudHJpZXM7CisgIGNoYXIgX191c2VyICogZW50cmllczsKIH07CiBzdHJ1Y3QgZWJ0X3JlcGxhY2Vfa2VybmVsIHsKLSBjaGFyIG5hbWVbRUJUX1RBQkxFX01BWE5BTUVMRU5dOworICBjaGFyIG5hbWVbRUJUX1RBQkxFX01BWE5BTUVMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdmFsaWRfaG9va3M7Ci0gdW5zaWduZWQgaW50IG5lbnRyaWVzOwotIHVuc2lnbmVkIGludCBlbnRyaWVzX3NpemU7Ci0gc3RydWN0IGVidF9lbnRyaWVzICpob29rX2VudHJ5W05GX0JSX05VTUhPT0tTXTsKKyAgdW5zaWduZWQgaW50IHZhbGlkX2hvb2tzOworICB1bnNpZ25lZCBpbnQgbmVudHJpZXM7CisgIHVuc2lnbmVkIGludCBlbnRyaWVzX3NpemU7CisgIHN0cnVjdCBlYnRfZW50cmllcyAqIGhvb2tfZW50cnlbTkZfQlJfTlVNSE9PS1NdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbnVtX2NvdW50ZXJzOwotIHN0cnVjdCBlYnRfY291bnRlciAqY291bnRlcnM7Ci0gY2hhciAqZW50cmllczsKKyAgdW5zaWduZWQgaW50IG51bV9jb3VudGVyczsKKyAgc3RydWN0IGVidF9jb3VudGVyICogY291bnRlcnM7CisgIGNoYXIgKiBlbnRyaWVzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZWJ0X2VudHJpZXMgewotIHVuc2lnbmVkIGludCBkaXN0aW5ndWlzaGVyOwotIGNoYXIgbmFtZVtFQlRfQ0hBSU5fTUFYTkFNRUxFTl07Ci0gdW5zaWduZWQgaW50IGNvdW50ZXJfb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgZGlzdGluZ3Vpc2hlcjsKKyAgY2hhciBuYW1lW0VCVF9DSEFJTl9NQVhOQU1FTEVOXTsKKyAgdW5zaWduZWQgaW50IGNvdW50ZXJfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcG9saWN5OwotIHVuc2lnbmVkIGludCBuZW50cmllczsKLSBjaGFyIGRhdGFbMF0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKF9fYWxpZ25vZl9fKHN0cnVjdCBlYnRfcmVwbGFjZSkpKSk7CisgIGludCBwb2xpY3k7CisgIHVuc2lnbmVkIGludCBuZW50cmllczsKKyAgY2hhciBkYXRhWzBdIF9fYXR0cmlidXRlX18oKGFsaWduZWQoX19hbGlnbm9mX18oc3RydWN0IGVidF9yZXBsYWNlKSkpKTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFQlRfRU5UUllfT1JfRU5UUklFUyAweDAxCkBAIC04Miw3ICs4Miw3IEBACiAjZGVmaW5lIEVCVF9TT1VSQ0VNQUMgMHgwOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUJUX0RFU1RNQUMgMHgxMAotI2RlZmluZSBFQlRfRl9NQVNLIChFQlRfTk9QUk9UTyB8IEVCVF84MDJfMyB8IEVCVF9TT1VSQ0VNQUMgfCBFQlRfREVTVE1BQyAgIHwgRUJUX0VOVFJZX09SX0VOVFJJRVMpCisjZGVmaW5lIEVCVF9GX01BU0sgKEVCVF9OT1BST1RPIHwgRUJUXzgwMl8zIHwgRUJUX1NPVVJDRU1BQyB8IEVCVF9ERVNUTUFDIHwgRUJUX0VOVFJZX09SX0VOVFJJRVMpCiAjZGVmaW5lIEVCVF9JUFJPVE8gMHgwMQogI2RlZmluZSBFQlRfSUlOIDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC05Miw3OCArOTIsODQgQEAKICNkZWZpbmUgRUJUX0lMT0dJQ0FMSU4gMHgyMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUJUX0lMT0dJQ0FMT1VUIDB4NDAKLSNkZWZpbmUgRUJUX0lOVl9NQVNLIChFQlRfSVBST1RPIHwgRUJUX0lJTiB8IEVCVF9JT1VUIHwgRUJUX0lMT0dJQ0FMSU4gICB8IEVCVF9JTE9HSUNBTE9VVCB8IEVCVF9JU09VUkNFIHwgRUJUX0lERVNUKQorI2RlZmluZSBFQlRfSU5WX01BU0sgKEVCVF9JUFJPVE8gfCBFQlRfSUlOIHwgRUJUX0lPVVQgfCBFQlRfSUxPR0lDQUxJTiB8IEVCVF9JTE9HSUNBTE9VVCB8IEVCVF9JU09VUkNFIHwgRUJUX0lERVNUKQogc3RydWN0IGVidF9lbnRyeV9tYXRjaCB7Ci0gdW5pb24geworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtFQlRfRlVOQ1RJT05fTUFYTkFNRUxFTl07Ci0gc3RydWN0IHh0X21hdGNoICptYXRjaDsKLSB9IHU7Ci0gdW5zaWduZWQgaW50IG1hdGNoX3NpemU7CisgICAgY2hhciBuYW1lW0VCVF9GVU5DVElPTl9NQVhOQU1FTEVOXTsKKyAgICBzdHJ1Y3QgeHRfbWF0Y2ggKiBtYXRjaDsKKyAgfSB1OworICB1bnNpZ25lZCBpbnQgbWF0Y2hfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBkYXRhWzBdIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChfX2FsaWdub2ZfXyhzdHJ1Y3QgZWJ0X3JlcGxhY2UpKSkpOworICB1bnNpZ25lZCBjaGFyIGRhdGFbMF0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZChfX2FsaWdub2ZfXyhzdHJ1Y3QgZWJ0X3JlcGxhY2UpKSkpOwogfTsKIHN0cnVjdCBlYnRfZW50cnlfd2F0Y2hlciB7Ci0gdW5pb24geworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtFQlRfRlVOQ1RJT05fTUFYTkFNRUxFTl07Ci0gc3RydWN0IHh0X3RhcmdldCAqd2F0Y2hlcjsKLSB9IHU7Ci0gdW5zaWduZWQgaW50IHdhdGNoZXJfc2l6ZTsKKyAgICBjaGFyIG5hbWVbRUJUX0ZVTkNUSU9OX01BWE5BTUVMRU5dOworICAgIHN0cnVjdCB4dF90YXJnZXQgKiB3YXRjaGVyOworICB9IHU7CisgIHVuc2lnbmVkIGludCB3YXRjaGVyX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZGF0YVswXSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoX19hbGlnbm9mX18oc3RydWN0IGVidF9yZXBsYWNlKSkpKTsKKyAgdW5zaWduZWQgY2hhciBkYXRhWzBdIF9fYXR0cmlidXRlX18oKGFsaWduZWQoX19hbGlnbm9mX18oc3RydWN0IGVidF9yZXBsYWNlKSkpKTsKIH07CiBzdHJ1Y3QgZWJ0X2VudHJ5X3RhcmdldCB7Ci0gdW5pb24geworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtFQlRfRlVOQ1RJT05fTUFYTkFNRUxFTl07Ci0gc3RydWN0IHh0X3RhcmdldCAqdGFyZ2V0OwotIH0gdTsKLSB1bnNpZ25lZCBpbnQgdGFyZ2V0X3NpemU7CisgICAgY2hhciBuYW1lW0VCVF9GVU5DVElPTl9NQVhOQU1FTEVOXTsKKyAgICBzdHJ1Y3QgeHRfdGFyZ2V0ICogdGFyZ2V0OworICB9IHU7CisgIHVuc2lnbmVkIGludCB0YXJnZXRfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBkYXRhWzBdIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChfX2FsaWdub2ZfXyhzdHJ1Y3QgZWJ0X3JlcGxhY2UpKSkpOworICB1bnNpZ25lZCBjaGFyIGRhdGFbMF0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZChfX2FsaWdub2ZfXyhzdHJ1Y3QgZWJ0X3JlcGxhY2UpKSkpOwogfTsKICNkZWZpbmUgRUJUX1NUQU5EQVJEX1RBUkdFVCAic3RhbmRhcmQiCiBzdHJ1Y3QgZWJ0X3N0YW5kYXJkX3RhcmdldCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBlYnRfZW50cnlfdGFyZ2V0IHRhcmdldDsKLSBpbnQgdmVyZGljdDsKKyAgc3RydWN0IGVidF9lbnRyeV90YXJnZXQgdGFyZ2V0OworICBpbnQgdmVyZGljdDsKIH07CiBzdHJ1Y3QgZWJ0X2VudHJ5IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGJpdG1hc2s7Ci0gdW5zaWduZWQgaW50IGludmZsYWdzOwotIF9fYmUxNiBldGhwcm90bzsKLSBjaGFyIGluW0lGTkFNU0laXTsKKyAgdW5zaWduZWQgaW50IGJpdG1hc2s7CisgIHVuc2lnbmVkIGludCBpbnZmbGFnczsKKyAgX19iZTE2IGV0aHByb3RvOworICBjaGFyIGluW0lGTkFNU0laXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBsb2dpY2FsX2luW0lGTkFNU0laXTsKLSBjaGFyIG91dFtJRk5BTVNJWl07Ci0gY2hhciBsb2dpY2FsX291dFtJRk5BTVNJWl07Ci0gdW5zaWduZWQgY2hhciBzb3VyY2VtYWNbRVRIX0FMRU5dOworICBjaGFyIGxvZ2ljYWxfaW5bSUZOQU1TSVpdOworICBjaGFyIG91dFtJRk5BTVNJWl07CisgIGNoYXIgbG9naWNhbF9vdXRbSUZOQU1TSVpdOworICB1bnNpZ25lZCBjaGFyIHNvdXJjZW1hY1tFVEhfQUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgc291cmNlbXNrW0VUSF9BTEVOXTsKLSB1bnNpZ25lZCBjaGFyIGRlc3RtYWNbRVRIX0FMRU5dOwotIHVuc2lnbmVkIGNoYXIgZGVzdG1za1tFVEhfQUxFTl07Ci0gdW5zaWduZWQgaW50IHdhdGNoZXJzX29mZnNldDsKKyAgdW5zaWduZWQgY2hhciBzb3VyY2Vtc2tbRVRIX0FMRU5dOworICB1bnNpZ25lZCBjaGFyIGRlc3RtYWNbRVRIX0FMRU5dOworICB1bnNpZ25lZCBjaGFyIGRlc3Rtc2tbRVRIX0FMRU5dOworICB1bnNpZ25lZCBpbnQgd2F0Y2hlcnNfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdGFyZ2V0X29mZnNldDsKLSB1bnNpZ25lZCBpbnQgbmV4dF9vZmZzZXQ7Ci0gdW5zaWduZWQgY2hhciBlbGVtc1swXSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoX19hbGlnbm9mX18oc3RydWN0IGVidF9yZXBsYWNlKSkpKTsKKyAgdW5zaWduZWQgaW50IHRhcmdldF9vZmZzZXQ7CisgIHVuc2lnbmVkIGludCBuZXh0X29mZnNldDsKKyAgdW5zaWduZWQgY2hhciBlbGVtc1swXSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKF9fYWxpZ25vZl9fKHN0cnVjdCBlYnRfcmVwbGFjZSkpKSk7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUJUX0JBU0VfQ1RMIDEyOAogI2RlZmluZSBFQlRfU09fU0VUX0VOVFJJRVMgKEVCVF9CQVNFX0NUTCkKLSNkZWZpbmUgRUJUX1NPX1NFVF9DT1VOVEVSUyAoRUJUX1NPX1NFVF9FTlRSSUVTKzEpCi0jZGVmaW5lIEVCVF9TT19TRVRfTUFYIChFQlRfU09fU0VUX0NPVU5URVJTKzEpCisjZGVmaW5lIEVCVF9TT19TRVRfQ09VTlRFUlMgKEVCVF9TT19TRVRfRU5UUklFUyArIDEpCisjZGVmaW5lIEVCVF9TT19TRVRfTUFYIChFQlRfU09fU0VUX0NPVU5URVJTICsgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVCVF9TT19HRVRfSU5GTyAoRUJUX0JBU0VfQ1RMKQotI2RlZmluZSBFQlRfU09fR0VUX0VOVFJJRVMgKEVCVF9TT19HRVRfSU5GTysxKQotI2RlZmluZSBFQlRfU09fR0VUX0lOSVRfSU5GTyAoRUJUX1NPX0dFVF9FTlRSSUVTKzEpCi0jZGVmaW5lIEVCVF9TT19HRVRfSU5JVF9FTlRSSUVTIChFQlRfU09fR0VUX0lOSVRfSU5GTysxKQorI2RlZmluZSBFQlRfU09fR0VUX0VOVFJJRVMgKEVCVF9TT19HRVRfSU5GTyArIDEpCisjZGVmaW5lIEVCVF9TT19HRVRfSU5JVF9JTkZPIChFQlRfU09fR0VUX0VOVFJJRVMgKyAxKQorI2RlZmluZSBFQlRfU09fR0VUX0lOSVRfRU5UUklFUyAoRUJUX1NPX0dFVF9JTklUX0lORk8gKyAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRUJUX1NPX0dFVF9NQVggKEVCVF9TT19HRVRfSU5JVF9FTlRSSUVTKzEpCi0jZGVmaW5lIEVCVF9NQVRDSF9JVEVSQVRFKGUsIGZuLCBhcmdzLi4uKSAgKHsgICB1bnNpZ25lZCBpbnQgX19pOyAgIGludCBfX3JldCA9IDA7ICAgc3RydWN0IGVidF9lbnRyeV9tYXRjaCAqX19tYXRjaDsgICAgIGZvciAoX19pID0gc2l6ZW9mKHN0cnVjdCBlYnRfZW50cnkpOyAgIF9faSA8IChlKS0+d2F0Y2hlcnNfb2Zmc2V0OyAgIF9faSArPSBfX21hdGNoLT5tYXRjaF9zaXplICsgICBzaXplb2Yoc3RydWN0IGVidF9lbnRyeV9tYXRjaCkpIHsgICBfX21hdGNoID0gKHZvaWQgKikoZSkgKyBfX2k7ICAgICBfX3JldCA9IGZuKF9fbWF0Y2ggLCAjIyBhcmdzKTsgICBpZiAoX19yZXQgIT0gMCkgICBicmVhazsgICB9ICAgaWYgKF9fcmV0ID09IDApIHsgICBpZiAoX19pICE9IChlKS0+d2F0Y2hlcnNfb2Zmc2V0KSAgIF9fcmV0ID0gLUVJTlZBTDsgICB9ICAgX19yZXQ7ICB9KQotI2RlZmluZSBFQlRfV0FUQ0hFUl9JVEVSQVRFKGUsIGZuLCBhcmdzLi4uKSAgKHsgICB1bnNpZ25lZCBpbnQgX19pOyAgIGludCBfX3JldCA9IDA7ICAgc3RydWN0IGVidF9lbnRyeV93YXRjaGVyICpfX3dhdGNoZXI7ICAgICBmb3IgKF9faSA9IGUtPndhdGNoZXJzX29mZnNldDsgICBfX2kgPCAoZSktPnRhcmdldF9vZmZzZXQ7ICAgX19pICs9IF9fd2F0Y2hlci0+d2F0Y2hlcl9zaXplICsgICBzaXplb2Yoc3RydWN0IGVidF9lbnRyeV93YXRjaGVyKSkgeyAgIF9fd2F0Y2hlciA9ICh2b2lkICopKGUpICsgX19pOyAgICAgX19yZXQgPSBmbihfX3dhdGNoZXIgLCAjIyBhcmdzKTsgICBpZiAoX19yZXQgIT0gMCkgICBicmVhazsgICB9ICAgaWYgKF9fcmV0ID09IDApIHsgICBpZiAoX19pICE9IChlKS0+dGFyZ2V0X29mZnNldCkgICBfX3JldCA9IC1FSU5WQUw7ICAgfSAgIF9fcmV0OyAgfSkKLSNkZWZpbmUgRUJUX0VOVFJZX0lURVJBVEUoZW50cmllcywgc2l6ZSwgZm4sIGFyZ3MuLi4pICAoeyAgIHVuc2lnbmVkIGludCBfX2k7ICAgaW50IF9fcmV0ID0gMDsgICBzdHJ1Y3QgZWJ0X2VudHJ5ICpfX2VudHJ5OyAgICAgZm9yIChfX2kgPSAwOyBfX2kgPCAoc2l6ZSk7KSB7ICAgX19lbnRyeSA9ICh2b2lkICopKGVudHJpZXMpICsgX19pOyAgIF9fcmV0ID0gZm4oX19lbnRyeSAsICMjIGFyZ3MpOyAgIGlmIChfX3JldCAhPSAwKSAgIGJyZWFrOyAgIGlmIChfX2VudHJ5LT5iaXRtYXNrICE9IDApICAgX19pICs9IF9fZW50cnktPm5leHRfb2Zmc2V0OyAgIGVsc2UgICBfX2kgKz0gc2l6ZW9mKHN0cnVjdCBlYnRfZW50cmllcyk7ICAgfSAgIGlmIChfX3JldCA9PSAwKSB7ICAgaWYgKF9faSAhPSAoc2l6ZSkpICAgX19yZXQgPSAtRUlOVkFMOyAgIH0gICBfX3JldDsgIH0pCisjZGVmaW5lIEVCVF9TT19HRVRfTUFYIChFQlRfU09fR0VUX0lOSVRfRU5UUklFUyArIDEpCisjZGVmaW5lIEVCVF9NQVRDSF9JVEVSQVRFKGUsZm4sYXJncy4uLikgXAorKHsgdW5zaWduZWQgaW50IF9faTsgaW50IF9fcmV0ID0gMDsgc3RydWN0IGVidF9lbnRyeV9tYXRjaCAqIF9fbWF0Y2g7IGZvcihfX2kgPSBzaXplb2Yoc3RydWN0IGVidF9lbnRyeSk7IF9faSA8IChlKS0+d2F0Y2hlcnNfb2Zmc2V0OyBfX2kgKz0gX19tYXRjaC0+bWF0Y2hfc2l6ZSArIHNpemVvZihzdHJ1Y3QgZWJ0X2VudHJ5X21hdGNoKSkgeyBfX21hdGNoID0gKHZvaWQgKikgKGUpICsgX19pOyBfX3JldCA9IGZuKF9fbWF0Y2gsICMjYXJncyk7IGlmKF9fcmV0ICE9IDApIGJyZWFrOyB9IGlmKF9fcmV0ID09IDApIHsgaWYoX19pICE9IChlKS0+d2F0Y2hlcnNfb2Zmc2V0KSBfX3JldCA9IC0gRUlOVkFMOyB9IF9fcmV0OyBcCit9KQorI2RlZmluZSBFQlRfV0FUQ0hFUl9JVEVSQVRFKGUsZm4sYXJncy4uLikgXAorKHsgdW5zaWduZWQgaW50IF9faTsgaW50IF9fcmV0ID0gMDsgc3RydWN0IGVidF9lbnRyeV93YXRjaGVyICogX193YXRjaGVyOyBmb3IoX19pID0gZS0+d2F0Y2hlcnNfb2Zmc2V0OyBfX2kgPCAoZSktPnRhcmdldF9vZmZzZXQ7IF9faSArPSBfX3dhdGNoZXItPndhdGNoZXJfc2l6ZSArIHNpemVvZihzdHJ1Y3QgZWJ0X2VudHJ5X3dhdGNoZXIpKSB7IF9fd2F0Y2hlciA9ICh2b2lkICopIChlKSArIF9faTsgX19yZXQgPSBmbihfX3dhdGNoZXIsICMjYXJncyk7IGlmKF9fcmV0ICE9IDApIGJyZWFrOyB9IGlmKF9fcmV0ID09IDApIHsgaWYoX19pICE9IChlKS0+dGFyZ2V0X29mZnNldCkgX19yZXQgPSAtIEVJTlZBTDsgfSBfX3JldDsgXAorfSkKKyNkZWZpbmUgRUJUX0VOVFJZX0lURVJBVEUoZW50cmllcyxzaXplLGZuLGFyZ3MuLi4pIFwKKyh7IHVuc2lnbmVkIGludCBfX2k7IGludCBfX3JldCA9IDA7IHN0cnVjdCBlYnRfZW50cnkgKiBfX2VudHJ5OyBmb3IoX19pID0gMDsgX19pIDwgKHNpemUpOykgeyBfX2VudHJ5ID0gKHZvaWQgKikgKGVudHJpZXMpICsgX19pOyBfX3JldCA9IGZuKF9fZW50cnksICMjYXJncyk7IGlmKF9fcmV0ICE9IDApIGJyZWFrOyBpZihfX2VudHJ5LT5iaXRtYXNrICE9IDApIF9faSArPSBfX2VudHJ5LT5uZXh0X29mZnNldDsgZWxzZSBfX2kgKz0gc2l6ZW9mKHN0cnVjdCBlYnRfZW50cmllcyk7IH0gaWYoX19yZXQgPT0gMCkgeyBpZihfX2kgIT0gKHNpemUpKSBfX3JldCA9IC0gRUlOVkFMOyB9IF9fcmV0OyBcCit9KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfZGVjbmV0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9kZWNuZXQuaAppbmRleCA5NTUyZGQ1Li5kNWYyZmQ3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9kZWNuZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9kZWNuZXQuaApAQCAtMzcsMzQgKzM3LDM0IEBACiAjZGVmaW5lIE5GX0ROX05VTUhPT0tTIDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mX2RuX2hvb2tfcHJpb3JpdGllcyB7Ci0gTkZfRE5fUFJJX0ZJUlNUID0gSU5UX01JTiwKLSBORl9ETl9QUklfQ09OTlRSQUNLID0gLTIwMCwKLSBORl9ETl9QUklfTUFOR0xFID0gLTE1MCwKKyAgTkZfRE5fUFJJX0ZJUlNUID0gSU5UX01JTiwKKyAgTkZfRE5fUFJJX0NPTk5UUkFDSyA9IC0gMjAwLAorICBORl9ETl9QUklfTUFOR0xFID0gLSAxNTAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GX0ROX1BSSV9OQVRfRFNUID0gLTEwMCwKLSBORl9ETl9QUklfRklMVEVSID0gMCwKLSBORl9ETl9QUklfTkFUX1NSQyA9IDEwMCwKLSBORl9ETl9QUklfRE5SVE1TRyA9IDIwMCwKKyAgTkZfRE5fUFJJX05BVF9EU1QgPSAtIDEwMCwKKyAgTkZfRE5fUFJJX0ZJTFRFUiA9IDAsCisgIE5GX0ROX1BSSV9OQVRfU1JDID0gMTAwLAorICBORl9ETl9QUklfRE5SVE1TRyA9IDIwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZfRE5fUFJJX0xBU1QgPSBJTlRfTUFYLAorICBORl9ETl9QUklfTEFTVCA9IElOVF9NQVgsCiB9Owogc3RydWN0IG5mX2RuX3J0bXNnIHsKLSBpbnQgbmZkbl9pZmluZGV4OworICBpbnQgbmZkbl9pZmluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIE5GRE5fUlRNU0cocikgKCh1bnNpZ25lZCBjaGFyICopKHIpICsgTkxNU0dfQUxJR04oc2l6ZW9mKHN0cnVjdCBuZl9kbl9ydG1zZykpKQorI2RlZmluZSBORkROX1JUTVNHKHIpICgodW5zaWduZWQgY2hhciAqKSAocikgKyBOTE1TR19BTElHTihzaXplb2Yoc3RydWN0IG5mX2RuX3J0bXNnKSkpCiAjZGVmaW5lIEROUk1HX0wxX0dST1VQIDB4MDEKICNkZWZpbmUgRE5STUdfTDJfR1JPVVAgMHgwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIEROUk5HX05MR1JQX05PTkUsCisgIEROUk5HX05MR1JQX05PTkUsCiAjZGVmaW5lIEROUk5HX05MR1JQX05PTkUgRE5STkdfTkxHUlBfTk9ORQotIEROUk5HX05MR1JQX0wxLAorICBETlJOR19OTEdSUF9MMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEROUk5HX05MR1JQX0wxIEROUk5HX05MR1JQX0wxCi0gRE5STkdfTkxHUlBfTDIsCisgIEROUk5HX05MR1JQX0wyLAogI2RlZmluZSBETlJOR19OTEdSUF9MMiBETlJOR19OTEdSUF9MMgotIF9fRE5STkdfTkxHUlBfTUFYCisgIF9fRE5STkdfTkxHUlBfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRE5STkdfTkxHUlBfTUFYIChfX0ROUk5HX05MR1JQX01BWCAtIDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0LmgKaW5kZXggYWExZDczZC4uMjgyYTU0YyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQuaApAQCAtNDQsMjQgKzQ0LDI0IEBACiAjZGVmaW5lIE5GX0lQX1BPU1RfUk9VVElORyA0CiAjZGVmaW5lIE5GX0lQX05VTUhPT0tTIDUKIGVudW0gbmZfaXBfaG9va19wcmlvcml0aWVzIHsKLSBORl9JUF9QUklfRklSU1QgPSBJTlRfTUlOLAorICBORl9JUF9QUklfRklSU1QgPSBJTlRfTUlOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORl9JUF9QUklfQ09OTlRSQUNLX0RFRlJBRyA9IC00MDAsCi0gTkZfSVBfUFJJX1JBVyA9IC0zMDAsCi0gTkZfSVBfUFJJX1NFTElOVVhfRklSU1QgPSAtMjI1LAotIE5GX0lQX1BSSV9DT05OVFJBQ0sgPSAtMjAwLAorICBORl9JUF9QUklfQ09OTlRSQUNLX0RFRlJBRyA9IC0gNDAwLAorICBORl9JUF9QUklfUkFXID0gLSAzMDAsCisgIE5GX0lQX1BSSV9TRUxJTlVYX0ZJUlNUID0gLSAyMjUsCisgIE5GX0lQX1BSSV9DT05OVFJBQ0sgPSAtIDIwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZfSVBfUFJJX01BTkdMRSA9IC0xNTAsCi0gTkZfSVBfUFJJX05BVF9EU1QgPSAtMTAwLAotIE5GX0lQX1BSSV9GSUxURVIgPSAwLAotIE5GX0lQX1BSSV9TRUNVUklUWSA9IDUwLAorICBORl9JUF9QUklfTUFOR0xFID0gLSAxNTAsCisgIE5GX0lQX1BSSV9OQVRfRFNUID0gLSAxMDAsCisgIE5GX0lQX1BSSV9GSUxURVIgPSAwLAorICBORl9JUF9QUklfU0VDVVJJVFkgPSA1MCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZfSVBfUFJJX05BVF9TUkMgPSAxMDAsCi0gTkZfSVBfUFJJX1NFTElOVVhfTEFTVCA9IDIyNSwKLSBORl9JUF9QUklfQ09OTlRSQUNLX0hFTFBFUiA9IDMwMCwKLSBORl9JUF9QUklfQ09OTlRSQUNLX0NPTkZJUk0gPSBJTlRfTUFYLAorICBORl9JUF9QUklfTkFUX1NSQyA9IDEwMCwKKyAgTkZfSVBfUFJJX1NFTElOVVhfTEFTVCA9IDIyNSwKKyAgTkZfSVBfUFJJX0NPTk5UUkFDS19IRUxQRVIgPSAzMDAsCisgIE5GX0lQX1BSSV9DT05OVFJBQ0tfQ09ORklSTSA9IElOVF9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GX0lQX1BSSV9MQVNUID0gSU5UX01BWCwKKyAgTkZfSVBfUFJJX0xBU1QgPSBJTlRfTUFYLAogfTsKICNkZWZpbmUgU09fT1JJR0lOQUxfRFNUIDgwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXBfdGFibGVzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwX3RhYmxlcy5oCmluZGV4IDEzMmIwYWQuLjA0ODk2YzYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXBfdGFibGVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcF90YWJsZXMuaApAQCAtNTcsMTggKzU3LDE4IEBACiAjZGVmaW5lIElQVF9TVEFOREFSRF9UQVJHRVQgWFRfU1RBTkRBUkRfVEFSR0VUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJUFRfRVJST1JfVEFSR0VUIFhUX0VSUk9SX1RBUkdFVAotI2RlZmluZSBJUFRfTUFUQ0hfSVRFUkFURShlLCBmbiwgYXJncy4uLikgICBYVF9NQVRDSF9JVEVSQVRFKHN0cnVjdCBpcHRfZW50cnksIGUsIGZuLCAjIyBhcmdzKQotI2RlZmluZSBJUFRfRU5UUllfSVRFUkFURShlbnRyaWVzLCBzaXplLCBmbiwgYXJncy4uLikgICBYVF9FTlRSWV9JVEVSQVRFKHN0cnVjdCBpcHRfZW50cnksIGVudHJpZXMsIHNpemUsIGZuLCAjIyBhcmdzKQorI2RlZmluZSBJUFRfTUFUQ0hfSVRFUkFURShlLGZuLGFyZ3MuLi4pIFhUX01BVENIX0lURVJBVEUoc3RydWN0IGlwdF9lbnRyeSwgZSwgZm4sICMjYXJncykKKyNkZWZpbmUgSVBUX0VOVFJZX0lURVJBVEUoZW50cmllcyxzaXplLGZuLGFyZ3MuLi4pIFhUX0VOVFJZX0lURVJBVEUoc3RydWN0IGlwdF9lbnRyeSwgZW50cmllcywgc2l6ZSwgZm4sICMjYXJncykKIHN0cnVjdCBpcHRfaXAgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW5fYWRkciBzcmMsIGRzdDsKLSBzdHJ1Y3QgaW5fYWRkciBzbXNrLCBkbXNrOwotIGNoYXIgaW5pZmFjZVtJRk5BTVNJWl0sIG91dGlmYWNlW0lGTkFNU0laXTsKLSB1bnNpZ25lZCBjaGFyIGluaWZhY2VfbWFza1tJRk5BTVNJWl0sIG91dGlmYWNlX21hc2tbSUZOQU1TSVpdOworICBzdHJ1Y3QgaW5fYWRkciBzcmMsIGRzdDsKKyAgc3RydWN0IGluX2FkZHIgc21zaywgZG1zazsKKyAgY2hhciBpbmlmYWNlW0lGTkFNU0laXSwgb3V0aWZhY2VbSUZOQU1TSVpdOworICB1bnNpZ25lZCBjaGFyIGluaWZhY2VfbWFza1tJRk5BTVNJWl0sIG91dGlmYWNlX21hc2tbSUZOQU1TSVpdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBwcm90bzsKLSBfX3U4IGZsYWdzOwotIF9fdTggaW52ZmxhZ3M7CisgIF9fdTE2IHByb3RvOworICBfX3U4IGZsYWdzOworICBfX3U4IGludmZsYWdzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElQVF9GX0ZSQUcgMHgwMQpAQCAtODYsMTQgKzg2LDE0IEBACiAjZGVmaW5lIElQVF9JTlZfTUFTSyAweDdGCiBzdHJ1Y3QgaXB0X2VudHJ5IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGlwdF9pcCBpcDsKLSB1bnNpZ25lZCBpbnQgbmZjYWNoZTsKLSBfX3UxNiB0YXJnZXRfb2Zmc2V0OwotIF9fdTE2IG5leHRfb2Zmc2V0OworICBzdHJ1Y3QgaXB0X2lwIGlwOworICB1bnNpZ25lZCBpbnQgbmZjYWNoZTsKKyAgX191MTYgdGFyZ2V0X29mZnNldDsKKyAgX191MTYgbmV4dF9vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjb21lZnJvbTsKLSBzdHJ1Y3QgeHRfY291bnRlcnMgY291bnRlcnM7Ci0gdW5zaWduZWQgY2hhciBlbGVtc1swXTsKKyAgdW5zaWduZWQgaW50IGNvbWVmcm9tOworICBzdHJ1Y3QgeHRfY291bnRlcnMgY291bnRlcnM7CisgIHVuc2lnbmVkIGNoYXIgZWxlbXNbMF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBUX0JBU0VfQ1RMIDY0CkBAIC0xMDgsNDcgKzEwOCw0NCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBUX1NPX0dFVF9NQVggSVBUX1NPX0dFVF9SRVZJU0lPTl9UQVJHRVQKIHN0cnVjdCBpcHRfaWNtcCB7Ci0gX191OCB0eXBlOwotIF9fdTggY29kZVsyXTsKKyAgX191OCB0eXBlOworICBfX3U4IGNvZGVbMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW52ZmxhZ3M7CisgIF9fdTggaW52ZmxhZ3M7CiB9OwogI2RlZmluZSBJUFRfSUNNUF9JTlYgMHgwMQogc3RydWN0IGlwdF9nZXRpbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBuYW1lW1hUX1RBQkxFX01BWE5BTUVMRU5dOwotIHVuc2lnbmVkIGludCB2YWxpZF9ob29rczsKLSB1bnNpZ25lZCBpbnQgaG9va19lbnRyeVtORl9JTkVUX05VTUhPT0tTXTsKLSB1bnNpZ25lZCBpbnQgdW5kZXJmbG93W05GX0lORVRfTlVNSE9PS1NdOworICBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CisgIHVuc2lnbmVkIGludCB2YWxpZF9ob29rczsKKyAgdW5zaWduZWQgaW50IGhvb2tfZW50cnlbTkZfSU5FVF9OVU1IT09LU107CisgIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfSU5FVF9OVU1IT09LU107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBudW1fZW50cmllczsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgdW5zaWduZWQgaW50IG51bV9lbnRyaWVzOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKIH07CiBzdHJ1Y3QgaXB0X3JlcGxhY2UgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07Ci0gdW5zaWduZWQgaW50IHZhbGlkX2hvb2tzOwotIHVuc2lnbmVkIGludCBudW1fZW50cmllczsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgY2hhciBuYW1lW1hUX1RBQkxFX01BWE5BTUVMRU5dOworICB1bnNpZ25lZCBpbnQgdmFsaWRfaG9va3M7CisgIHVuc2lnbmVkIGludCBudW1fZW50cmllczsKKyAgdW5zaWduZWQgaW50IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBob29rX2VudHJ5W05GX0lORVRfTlVNSE9PS1NdOwotIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfSU5FVF9OVU1IT09LU107Ci0gdW5zaWduZWQgaW50IG51bV9jb3VudGVyczsKLSBzdHJ1Y3QgeHRfY291bnRlcnMgX191c2VyICpjb3VudGVyczsKKyAgdW5zaWduZWQgaW50IGhvb2tfZW50cnlbTkZfSU5FVF9OVU1IT09LU107CisgIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfSU5FVF9OVU1IT09LU107CisgIHVuc2lnbmVkIGludCBudW1fY291bnRlcnM7CisgIHN0cnVjdCB4dF9jb3VudGVycyBfX3VzZXIgKiBjb3VudGVyczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGlwdF9lbnRyeSBlbnRyaWVzWzBdOworICBzdHJ1Y3QgaXB0X2VudHJ5IGVudHJpZXNbMF07CiB9Owogc3RydWN0IGlwdF9nZXRfZW50cmllcyB7Ci0gY2hhciBuYW1lW1hUX1RBQkxFX01BWE5BTUVMRU5dOworICBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBzaXplOwotIHN0cnVjdCBpcHRfZW50cnkgZW50cnl0YWJsZVswXTsKKyAgdW5zaWduZWQgaW50IHNpemU7CisgIHN0cnVjdCBpcHRfZW50cnkgZW50cnl0YWJsZVswXTsKIH07Ci1zdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0ICoKK3N0YXRpYyBfX2lubGluZV9fIHN0cnVjdCB4dF9lbnRyeV90YXJnZXQgKiBpcHRfZ2V0X3RhcmdldChzdHJ1Y3QgaXB0X2VudHJ5ICogZSkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLWlwdF9nZXRfdGFyZ2V0KHN0cnVjdCBpcHRfZW50cnkgKmUpCi17Ci0gcmV0dXJuICh2b2lkICopZSArIGUtPnRhcmdldF9vZmZzZXQ7CisgIHJldHVybih2b2lkICopIGUgKyBlLT50YXJnZXRfb2Zmc2V0OwogfQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfQ0xVU1RFUklQLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9DTFVTVEVSSVAuaAppbmRleCA5NDY0NTQ1Li42MWY3MmE4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9DTFVTVEVSSVAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9DTFVTVEVSSVAuaApAQCAtMjIsOSArMjIsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBjbHVzdGVyaXBfaGFzaG1vZGUgewotIENMVVNURVJJUF9IQVNITU9ERV9TSVAgPSAwLAotIENMVVNURVJJUF9IQVNITU9ERV9TSVBfU1BULAotIENMVVNURVJJUF9IQVNITU9ERV9TSVBfU1BUX0RQVCwKKyAgQ0xVU1RFUklQX0hBU0hNT0RFX1NJUCA9IDAsCisgIENMVVNURVJJUF9IQVNITU9ERV9TSVBfU1BULAorICBDTFVTVEVSSVBfSEFTSE1PREVfU0lQX1NQVF9EUFQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQ0xVU1RFUklQX0hBU0hNT0RFX01BWCBDTFVTVEVSSVBfSEFTSE1PREVfU0lQX1NQVF9EUFQKQEAgLTMzLDE2ICszMywxNiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBjbHVzdGVyaXBfY29uZmlnOwogc3RydWN0IGlwdF9jbHVzdGVyaXBfdGd0X2luZm8gewotIF9fdTMyIGZsYWdzOwotIF9fdTggY2x1c3Rlcm1hY1tFVEhfQUxFTl07CisgIF9fdTMyIGZsYWdzOworICBfX3U4IGNsdXN0ZXJtYWNbRVRIX0FMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBudW1fdG90YWxfbm9kZXM7Ci0gX191MTYgbnVtX2xvY2FsX25vZGVzOwotIF9fdTE2IGxvY2FsX25vZGVzW0NMVVNURVJJUF9NQVhfTk9ERVNdOwotIF9fdTMyIGhhc2hfbW9kZTsKKyAgX191MTYgbnVtX3RvdGFsX25vZGVzOworICBfX3UxNiBudW1fbG9jYWxfbm9kZXM7CisgIF9fdTE2IGxvY2FsX25vZGVzW0NMVVNURVJJUF9NQVhfTk9ERVNdOworICBfX3UzMiBoYXNoX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhhc2hfaW5pdHZhbDsKLSBzdHJ1Y3QgY2x1c3RlcmlwX2NvbmZpZyAqY29uZmlnOworICBfX3UzMiBoYXNoX2luaXR2YWw7CisgIHN0cnVjdCBjbHVzdGVyaXBfY29uZmlnICogY29uZmlnOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X0VDTi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfRUNOLmgKaW5kZXggZGVmZjczMi4uOTVkZmQ5MiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfRUNOLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfRUNOLmgKQEAgLTI4LDE0ICsyOCwxNCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBUX0VDTl9PUF9NQVNLIDB4Y2UKIHN0cnVjdCBpcHRfRUNOX2luZm8gewotIF9fdTggb3BlcmF0aW9uOwotIF9fdTggaXBfZWN0OworICBfX3U4IG9wZXJhdGlvbjsKKyAgX191OCBpcF9lY3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIF9fdTggZWNlOjEsIGN3cjoxOwotIH0gdGNwOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggZWNlIDogMSwgY3dyIDogMTsKKyAgICB9IHRjcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBwcm90bzsKKyAgfSBwcm90bzsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X0xPRy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfTE9HLmgKaW5kZXggMGUwMTZiYi4uZWQwMjFlYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfTE9HLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfTE9HLmgKQEAgLTI5LDEwICsyOSwxMCBAQAogI2RlZmluZSBJUFRfTE9HX01BQ0RFQ09ERSAweDIwCiAjZGVmaW5lIElQVF9MT0dfTUFTSyAweDJmCiBzdHJ1Y3QgaXB0X2xvZ19pbmZvIHsKLSB1bnNpZ25lZCBjaGFyIGxldmVsOworICB1bnNpZ25lZCBjaGFyIGxldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGxvZ2ZsYWdzOwotIGNoYXIgcHJlZml4WzMwXTsKKyAgdW5zaWduZWQgY2hhciBsb2dmbGFnczsKKyAgY2hhciBwcmVmaXhbMzBdOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1JFSkVDVC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfUkVKRUNULmgKaW5kZXggZDEzM2I3MS4uOGUxNTY0NyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfUkVKRUNULmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfUkVKRUNULmgKQEAgLTE5LDIxICsxOSwyMSBAQAogI2lmbmRlZiBfSVBUX1JFSkVDVF9ICiAjZGVmaW5lIF9JUFRfUkVKRUNUX0gKIGVudW0gaXB0X3JlamVjdF93aXRoIHsKLSBJUFRfSUNNUF9ORVRfVU5SRUFDSEFCTEUsCisgIElQVF9JQ01QX05FVF9VTlJFQUNIQUJMRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBUX0lDTVBfSE9TVF9VTlJFQUNIQUJMRSwKLSBJUFRfSUNNUF9QUk9UX1VOUkVBQ0hBQkxFLAotIElQVF9JQ01QX1BPUlRfVU5SRUFDSEFCTEUsCi0gSVBUX0lDTVBfRUNIT1JFUExZLAorICBJUFRfSUNNUF9IT1NUX1VOUkVBQ0hBQkxFLAorICBJUFRfSUNNUF9QUk9UX1VOUkVBQ0hBQkxFLAorICBJUFRfSUNNUF9QT1JUX1VOUkVBQ0hBQkxFLAorICBJUFRfSUNNUF9FQ0hPUkVQTFksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQVF9JQ01QX05FVF9QUk9ISUJJVEVELAotIElQVF9JQ01QX0hPU1RfUFJPSElCSVRFRCwKLSBJUFRfVENQX1JFU0VULAotIElQVF9JQ01QX0FETUlOX1BST0hJQklURUQKKyAgSVBUX0lDTVBfTkVUX1BST0hJQklURUQsCisgIElQVF9JQ01QX0hPU1RfUFJPSElCSVRFRCwKKyAgSVBUX1RDUF9SRVNFVCwKKyAgSVBUX0lDTVBfQURNSU5fUFJPSElCSVRFRAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaXB0X3JlamVjdF9pbmZvIHsKLSBlbnVtIGlwdF9yZWplY3Rfd2l0aCB3aXRoOworICBlbnVtIGlwdF9yZWplY3Rfd2l0aCB3aXRoOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1RUTC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfVFRMLmgKaW5kZXggY2EyNzY4Yi4uOTUyYzkwYiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfVFRMLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfVFRMLmgKQEAgLTIxLDE1ICsyMSwxNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBUX1RUTF9TRVQgPSAwLAotIElQVF9UVExfSU5DLAotIElQVF9UVExfREVDCisgIElQVF9UVExfU0VUID0gMCwKKyAgSVBUX1RUTF9JTkMsCisgIElQVF9UVExfREVDCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVBUX1RUTF9NQVhNT0RFIElQVF9UVExfREVDCiBzdHJ1Y3QgaXB0X1RUTF9pbmZvIHsKLSBfX3U4IG1vZGU7Ci0gX191OCB0dGw7CisgIF9fdTggbW9kZTsKKyAgX191OCB0dGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfVUxPRy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfVUxPRy5oCmluZGV4IDhlOGY1NzIuLmVlNmE1NTcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1VMT0cuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9VTE9HLmgKQEAgLTI5LDI3ICsyOSwyNyBAQAogI2RlZmluZSBVTE9HX1BSRUZJWF9MRU4gMzIKICNkZWZpbmUgVUxPR19NQVhfUUxFTiA1MAogc3RydWN0IGlwdF91bG9nX2luZm8gewotIHVuc2lnbmVkIGludCBubF9ncm91cDsKKyAgdW5zaWduZWQgaW50IG5sX2dyb3VwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplX3QgY29weV9yYW5nZTsKLSBzaXplX3QgcXRocmVzaG9sZDsKLSBjaGFyIHByZWZpeFtVTE9HX1BSRUZJWF9MRU5dOworICBzaXplX3QgY29weV9yYW5nZTsKKyAgc2l6ZV90IHF0aHJlc2hvbGQ7CisgIGNoYXIgcHJlZml4W1VMT0dfUFJFRklYX0xFTl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHVsb2dfcGFja2V0X21zZyB7Ci0gdW5zaWduZWQgbG9uZyBtYXJrOwotIGxvbmcgdGltZXN0YW1wX3NlYzsKLSBsb25nIHRpbWVzdGFtcF91c2VjOworICB1bnNpZ25lZCBsb25nIG1hcms7CisgIGxvbmcgdGltZXN0YW1wX3NlYzsKKyAgbG9uZyB0aW1lc3RhbXBfdXNlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGhvb2s7Ci0gY2hhciBpbmRldl9uYW1lW0lGTkFNU0laXTsKLSBjaGFyIG91dGRldl9uYW1lW0lGTkFNU0laXTsKLSBzaXplX3QgZGF0YV9sZW47CisgIHVuc2lnbmVkIGludCBob29rOworICBjaGFyIGluZGV2X25hbWVbSUZOQU1TSVpdOworICBjaGFyIG91dGRldl9uYW1lW0lGTkFNU0laXTsKKyAgc2l6ZV90IGRhdGFfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHByZWZpeFtVTE9HX1BSRUZJWF9MRU5dOwotIHVuc2lnbmVkIGNoYXIgbWFjX2xlbjsKLSB1bnNpZ25lZCBjaGFyIG1hY1tVTE9HX01BQ19MRU5dOwotIHVuc2lnbmVkIGNoYXIgcGF5bG9hZFswXTsKKyAgY2hhciBwcmVmaXhbVUxPR19QUkVGSVhfTEVOXTsKKyAgdW5zaWduZWQgY2hhciBtYWNfbGVuOworICB1bnNpZ25lZCBjaGFyIG1hY1tVTE9HX01BQ19MRU5dOworICB1bnNpZ25lZCBjaGFyIHBheWxvYWRbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSB1bG9nX3BhY2tldF9tc2dfdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfYWguaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X2FoLmgKaW5kZXggMDQ4NWM2ZC4uYjhiOGIzNyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfYWguaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9haC5oCkBAIC0yMSw4ICsyMSw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBpcHRfYWggewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcGlzWzJdOwotIF9fdTggaW52ZmxhZ3M7CisgIF9fdTMyIHNwaXNbMl07CisgIF9fdTggaW52ZmxhZ3M7CiB9OwogI2RlZmluZSBJUFRfQUhfSU5WX1NQSSAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfZWNuLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9lY24uaAppbmRleCA4NWJkZDAxLi4yMGU3NTdlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9lY24uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF9lY24uaApAQCAtMjIsMTIgKzIyLDEyIEBACiAjZGVmaW5lIGlwdF9lY25faW5mbyB4dF9lY25faW5mbwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIElQVF9FQ05fSVBfTUFTSyA9IFhUX0VDTl9JUF9NQVNLLAotIElQVF9FQ05fT1BfTUFUQ0hfSVAgPSBYVF9FQ05fT1BfTUFUQ0hfSVAsCi0gSVBUX0VDTl9PUF9NQVRDSF9FQ0UgPSBYVF9FQ05fT1BfTUFUQ0hfRUNFLAorICBJUFRfRUNOX0lQX01BU0sgPSBYVF9FQ05fSVBfTUFTSywKKyAgSVBUX0VDTl9PUF9NQVRDSF9JUCA9IFhUX0VDTl9PUF9NQVRDSF9JUCwKKyAgSVBUX0VDTl9PUF9NQVRDSF9FQ0UgPSBYVF9FQ05fT1BfTUFUQ0hfRUNFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFRfRUNOX09QX01BVENIX0NXUiA9IFhUX0VDTl9PUF9NQVRDSF9DV1IsCi0gSVBUX0VDTl9PUF9NQVRDSF9NQVNLID0gWFRfRUNOX09QX01BVENIX01BU0ssCisgIElQVF9FQ05fT1BfTUFUQ0hfQ1dSID0gWFRfRUNOX09QX01BVENIX0NXUiwKKyAgSVBUX0VDTl9PUF9NQVRDSF9NQVNLID0gWFRfRUNOX09QX01BVENIX01BU0ssCiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2NC9pcHRfdHRsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF90dGwuaAppbmRleCBjNTY3ZDUzLi4xNTE5NWJjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF90dGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY0L2lwdF90dGwuaApAQCAtMjEsMTUgKzIxLDE1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFRfVFRMX0VRID0gMCwKLSBJUFRfVFRMX05FLAotIElQVF9UVExfTFQsCi0gSVBUX1RUTF9HVCwKKyAgSVBUX1RUTF9FUSA9IDAsCisgIElQVF9UVExfTkUsCisgIElQVF9UVExfTFQsCisgIElQVF9UVExfR1QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpcHRfdHRsX2luZm8gewotIF9fdTggbW9kZTsKLSBfX3U4IHR0bDsKKyAgX191OCBtb2RlOworICBfX3U4IHR0bDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2LmgKaW5kZXggMzUxNTM2Zi4uMmUyM2FhMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYuaApAQCAtNDQsMjIgKzQ0LDIyIEBACiAjZGVmaW5lIE5GX0lQNl9QT1NUX1JPVVRJTkcgNAogI2RlZmluZSBORl9JUDZfTlVNSE9PS1MgNQogZW51bSBuZl9pcDZfaG9va19wcmlvcml0aWVzIHsKLSBORl9JUDZfUFJJX0ZJUlNUID0gSU5UX01JTiwKKyAgTkZfSVA2X1BSSV9GSVJTVCA9IElOVF9NSU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GX0lQNl9QUklfQ09OTlRSQUNLX0RFRlJBRyA9IC00MDAsCi0gTkZfSVA2X1BSSV9SQVcgPSAtMzAwLAotIE5GX0lQNl9QUklfU0VMSU5VWF9GSVJTVCA9IC0yMjUsCi0gTkZfSVA2X1BSSV9DT05OVFJBQ0sgPSAtMjAwLAorICBORl9JUDZfUFJJX0NPTk5UUkFDS19ERUZSQUcgPSAtIDQwMCwKKyAgTkZfSVA2X1BSSV9SQVcgPSAtIDMwMCwKKyAgTkZfSVA2X1BSSV9TRUxJTlVYX0ZJUlNUID0gLSAyMjUsCisgIE5GX0lQNl9QUklfQ09OTlRSQUNLID0gLSAyMDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GX0lQNl9QUklfTUFOR0xFID0gLTE1MCwKLSBORl9JUDZfUFJJX05BVF9EU1QgPSAtMTAwLAotIE5GX0lQNl9QUklfRklMVEVSID0gMCwKLSBORl9JUDZfUFJJX1NFQ1VSSVRZID0gNTAsCisgIE5GX0lQNl9QUklfTUFOR0xFID0gLSAxNTAsCisgIE5GX0lQNl9QUklfTkFUX0RTVCA9IC0gMTAwLAorICBORl9JUDZfUFJJX0ZJTFRFUiA9IDAsCisgIE5GX0lQNl9QUklfU0VDVVJJVFkgPSA1MCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZfSVA2X1BSSV9OQVRfU1JDID0gMTAwLAotIE5GX0lQNl9QUklfU0VMSU5VWF9MQVNUID0gMjI1LAotIE5GX0lQNl9QUklfQ09OTlRSQUNLX0hFTFBFUiA9IDMwMCwKLSBORl9JUDZfUFJJX0xBU1QgPSBJTlRfTUFYLAorICBORl9JUDZfUFJJX05BVF9TUkMgPSAxMDAsCisgIE5GX0lQNl9QUklfU0VMSU5VWF9MQVNUID0gMjI1LAorICBORl9JUDZfUFJJX0NPTk5UUkFDS19IRUxQRVIgPSAzMDAsCisgIE5GX0lQNl9QUklfTEFTVCA9IElOVF9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZfdGFibGVzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNl90YWJsZXMuaAppbmRleCAxZWY2NjA0Li4zNzg4NGIwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNl90YWJsZXMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNl90YWJsZXMuaApAQCAtNTcsMTkgKzU3LDE5IEBACiAjZGVmaW5lIElQNlRfU1RBTkRBUkRfVEFSR0VUIFhUX1NUQU5EQVJEX1RBUkdFVAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVA2VF9FUlJPUl9UQVJHRVQgWFRfRVJST1JfVEFSR0VUCi0jZGVmaW5lIElQNlRfTUFUQ0hfSVRFUkFURShlLCBmbiwgYXJncy4uLikgICBYVF9NQVRDSF9JVEVSQVRFKHN0cnVjdCBpcDZ0X2VudHJ5LCBlLCBmbiwgIyMgYXJncykKLSNkZWZpbmUgSVA2VF9FTlRSWV9JVEVSQVRFKGVudHJpZXMsIHNpemUsIGZuLCBhcmdzLi4uKSAgIFhUX0VOVFJZX0lURVJBVEUoc3RydWN0IGlwNnRfZW50cnksIGVudHJpZXMsIHNpemUsIGZuLCAjIyBhcmdzKQorI2RlZmluZSBJUDZUX01BVENIX0lURVJBVEUoZSxmbixhcmdzLi4uKSBYVF9NQVRDSF9JVEVSQVRFKHN0cnVjdCBpcDZ0X2VudHJ5LCBlLCBmbiwgIyNhcmdzKQorI2RlZmluZSBJUDZUX0VOVFJZX0lURVJBVEUoZW50cmllcyxzaXplLGZuLGFyZ3MuLi4pIFhUX0VOVFJZX0lURVJBVEUoc3RydWN0IGlwNnRfZW50cnksIGVudHJpZXMsIHNpemUsIGZuLCAjI2FyZ3MpCiBzdHJ1Y3QgaXA2dF9pcDYgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaW42X2FkZHIgc3JjLCBkc3Q7Ci0gc3RydWN0IGluNl9hZGRyIHNtc2ssIGRtc2s7Ci0gY2hhciBpbmlmYWNlW0lGTkFNU0laXSwgb3V0aWZhY2VbSUZOQU1TSVpdOwotIHVuc2lnbmVkIGNoYXIgaW5pZmFjZV9tYXNrW0lGTkFNU0laXSwgb3V0aWZhY2VfbWFza1tJRk5BTVNJWl07CisgIHN0cnVjdCBpbjZfYWRkciBzcmMsIGRzdDsKKyAgc3RydWN0IGluNl9hZGRyIHNtc2ssIGRtc2s7CisgIGNoYXIgaW5pZmFjZVtJRk5BTVNJWl0sIG91dGlmYWNlW0lGTkFNU0laXTsKKyAgdW5zaWduZWQgY2hhciBpbmlmYWNlX21hc2tbSUZOQU1TSVpdLCBvdXRpZmFjZV9tYXNrW0lGTkFNU0laXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcHJvdG87Ci0gX191OCB0b3M7Ci0gX191OCBmbGFnczsKLSBfX3U4IGludmZsYWdzOworICBfX3UxNiBwcm90bzsKKyAgX191OCB0b3M7CisgIF9fdTggZmxhZ3M7CisgIF9fdTggaW52ZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSVA2VF9GX1BST1RPIDB4MDEKQEAgLTg4LDMwICs4OCwzNiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVA2VF9JTlZfTUFTSyAweDdGCiBzdHJ1Y3QgaXA2dF9lbnRyeSB7Ci0gc3RydWN0IGlwNnRfaXA2IGlwdjY7Ci0gdW5zaWduZWQgaW50IG5mY2FjaGU7CisgIHN0cnVjdCBpcDZ0X2lwNiBpcHY2OworICB1bnNpZ25lZCBpbnQgbmZjYWNoZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgdGFyZ2V0X29mZnNldDsKLSBfX3UxNiBuZXh0X29mZnNldDsKLSB1bnNpZ25lZCBpbnQgY29tZWZyb207Ci0gc3RydWN0IHh0X2NvdW50ZXJzIGNvdW50ZXJzOworICBfX3UxNiB0YXJnZXRfb2Zmc2V0OworICBfX3UxNiBuZXh0X29mZnNldDsKKyAgdW5zaWduZWQgaW50IGNvbWVmcm9tOworICBzdHJ1Y3QgeHRfY291bnRlcnMgY291bnRlcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZWxlbXNbMF07CisgIHVuc2lnbmVkIGNoYXIgZWxlbXNbMF07CiB9Owogc3RydWN0IGlwNnRfc3RhbmRhcmQgewotIHN0cnVjdCBpcDZ0X2VudHJ5IGVudHJ5OworICBzdHJ1Y3QgaXA2dF9lbnRyeSBlbnRyeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHh0X3N0YW5kYXJkX3RhcmdldCB0YXJnZXQ7CisgIHN0cnVjdCB4dF9zdGFuZGFyZF90YXJnZXQgdGFyZ2V0OwogfTsKIHN0cnVjdCBpcDZ0X2Vycm9yIHsKLSBzdHJ1Y3QgaXA2dF9lbnRyeSBlbnRyeTsKKyAgc3RydWN0IGlwNnRfZW50cnkgZW50cnk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB4dF9lcnJvcl90YXJnZXQgdGFyZ2V0OworICBzdHJ1Y3QgeHRfZXJyb3JfdGFyZ2V0IHRhcmdldDsKIH07Ci0jZGVmaW5lIElQNlRfRU5UUllfSU5JVChfX3NpemUpICB7ICAgLnRhcmdldF9vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGlwNnRfZW50cnkpLCAgIC5uZXh0X29mZnNldCA9IChfX3NpemUpLCAgfQotI2RlZmluZSBJUDZUX1NUQU5EQVJEX0lOSVQoX192ZXJkaWN0KSAgeyAgIC5lbnRyeSA9IElQNlRfRU5UUllfSU5JVChzaXplb2Yoc3RydWN0IGlwNnRfc3RhbmRhcmQpKSwgICAudGFyZ2V0ID0gWFRfVEFSR0VUX0lOSVQoWFRfU1RBTkRBUkRfVEFSR0VULCAgIHNpemVvZihzdHJ1Y3QgeHRfc3RhbmRhcmRfdGFyZ2V0KSksICAgLnRhcmdldC52ZXJkaWN0ID0gLShfX3ZlcmRpY3QpIC0gMSwgIH0KKyNkZWZpbmUgSVA2VF9FTlRSWV9JTklUKF9fc2l6ZSkgXAorey50YXJnZXRfb2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpcDZ0X2VudHJ5KSwubmV4dF9vZmZzZXQgPSAoX19zaXplKSwgXAorfQorI2RlZmluZSBJUDZUX1NUQU5EQVJEX0lOSVQoX192ZXJkaWN0KSBcCit7LmVudHJ5ID0gSVA2VF9FTlRSWV9JTklUKHNpemVvZihzdHJ1Y3QgaXA2dF9zdGFuZGFyZCkpLC50YXJnZXQgPSBYVF9UQVJHRVRfSU5JVChYVF9TVEFOREFSRF9UQVJHRVQsIHNpemVvZihzdHJ1Y3QgeHRfc3RhbmRhcmRfdGFyZ2V0KSksLnRhcmdldC52ZXJkaWN0ID0gLSAoX192ZXJkaWN0KSAtIDEsIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElQNlRfRVJST1JfSU5JVCAgeyAgIC5lbnRyeSA9IElQNlRfRU5UUllfSU5JVChzaXplb2Yoc3RydWN0IGlwNnRfZXJyb3IpKSwgICAudGFyZ2V0ID0gWFRfVEFSR0VUX0lOSVQoWFRfRVJST1JfVEFSR0VULCAgIHNpemVvZihzdHJ1Y3QgeHRfZXJyb3JfdGFyZ2V0KSksICAgLnRhcmdldC5lcnJvcm5hbWUgPSAiRVJST1IiLCAgfQorI2RlZmluZSBJUDZUX0VSUk9SX0lOSVQgXAorey5lbnRyeSA9IElQNlRfRU5UUllfSU5JVChzaXplb2Yoc3RydWN0IGlwNnRfZXJyb3IpKSwudGFyZ2V0ID0gWFRfVEFSR0VUX0lOSVQoWFRfRVJST1JfVEFSR0VULCBzaXplb2Yoc3RydWN0IHh0X2Vycm9yX3RhcmdldCkpLC50YXJnZXQuZXJyb3JuYW1lID0gIkVSUk9SIiwgXAorfQogI2RlZmluZSBJUDZUX0JBU0VfQ1RMIDY0CiAjZGVmaW5lIElQNlRfU09fU0VUX1JFUExBQ0UgKElQNlRfQkFTRV9DVEwpCiAjZGVmaW5lIElQNlRfU09fU0VUX0FERF9DT1VOVEVSUyAoSVA2VF9CQVNFX0NUTCArIDEpCkBAIC0xMjYsNDYgKzEzMiw0NCBAQAogI2RlZmluZSBJUDZUX1NPX09SSUdJTkFMX0RTVCA4MAogc3RydWN0IGlwNnRfaWNtcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHlwZTsKLSBfX3U4IGNvZGVbMl07Ci0gX191OCBpbnZmbGFnczsKKyAgX191OCB0eXBlOworICBfX3U4IGNvZGVbMl07CisgIF9fdTggaW52ZmxhZ3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVA2VF9JQ01QX0lOViAweDAxCiBzdHJ1Y3QgaXA2dF9nZXRpbmZvIHsKLSBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07Ci0gdW5zaWduZWQgaW50IHZhbGlkX2hvb2tzOworICBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CisgIHVuc2lnbmVkIGludCB2YWxpZF9ob29rczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGhvb2tfZW50cnlbTkZfSU5FVF9OVU1IT09LU107Ci0gdW5zaWduZWQgaW50IHVuZGVyZmxvd1tORl9JTkVUX05VTUhPT0tTXTsKLSB1bnNpZ25lZCBpbnQgbnVtX2VudHJpZXM7Ci0gdW5zaWduZWQgaW50IHNpemU7CisgIHVuc2lnbmVkIGludCBob29rX2VudHJ5W05GX0lORVRfTlVNSE9PS1NdOworICB1bnNpZ25lZCBpbnQgdW5kZXJmbG93W05GX0lORVRfTlVNSE9PS1NdOworICB1bnNpZ25lZCBpbnQgbnVtX2VudHJpZXM7CisgIHVuc2lnbmVkIGludCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaXA2dF9yZXBsYWNlIHsKLSBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07Ci0gdW5zaWduZWQgaW50IHZhbGlkX2hvb2tzOworICBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CisgIHVuc2lnbmVkIGludCB2YWxpZF9ob29rczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IG51bV9lbnRyaWVzOwotIHVuc2lnbmVkIGludCBzaXplOwotIHVuc2lnbmVkIGludCBob29rX2VudHJ5W05GX0lORVRfTlVNSE9PS1NdOwotIHVuc2lnbmVkIGludCB1bmRlcmZsb3dbTkZfSU5FVF9OVU1IT09LU107CisgIHVuc2lnbmVkIGludCBudW1fZW50cmllczsKKyAgdW5zaWduZWQgaW50IHNpemU7CisgIHVuc2lnbmVkIGludCBob29rX2VudHJ5W05GX0lORVRfTlVNSE9PS1NdOworICB1bnNpZ25lZCBpbnQgdW5kZXJmbG93W05GX0lORVRfTlVNSE9PS1NdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbnVtX2NvdW50ZXJzOwotIHN0cnVjdCB4dF9jb3VudGVycyBfX3VzZXIgKmNvdW50ZXJzOwotIHN0cnVjdCBpcDZ0X2VudHJ5IGVudHJpZXNbMF07CisgIHVuc2lnbmVkIGludCBudW1fY291bnRlcnM7CisgIHN0cnVjdCB4dF9jb3VudGVycyBfX3VzZXIgKiBjb3VudGVyczsKKyAgc3RydWN0IGlwNnRfZW50cnkgZW50cmllc1swXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwNnRfZ2V0X2VudHJpZXMgewotIGNoYXIgbmFtZVtYVF9UQUJMRV9NQVhOQU1FTEVOXTsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKLSBzdHJ1Y3QgaXA2dF9lbnRyeSBlbnRyeXRhYmxlWzBdOworICBjaGFyIG5hbWVbWFRfVEFCTEVfTUFYTkFNRUxFTl07CisgIHVuc2lnbmVkIGludCBzaXplOworICBzdHJ1Y3QgaXA2dF9lbnRyeSBlbnRyeXRhYmxlWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci1zdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0ICoKLWlwNnRfZ2V0X3RhcmdldChzdHJ1Y3QgaXA2dF9lbnRyeSAqZSkKLXsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gcmV0dXJuICh2b2lkICopZSArIGUtPnRhcmdldF9vZmZzZXQ7CitzdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgeHRfZW50cnlfdGFyZ2V0ICogaXA2dF9nZXRfdGFyZ2V0KHN0cnVjdCBpcDZ0X2VudHJ5ICogZSkgeworICByZXR1cm4odm9pZCAqKSBlICsgZS0+dGFyZ2V0X29mZnNldDsKIH0KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9ITC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X0hMLmgKaW5kZXggMGVkZWQwNi4uNGMzZmIxMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X0hMLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X0hMLmgKQEAgLTIxLDE1ICsyMSwxNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVA2VF9ITF9TRVQgPSAwLAotIElQNlRfSExfSU5DLAotIElQNlRfSExfREVDCisgIElQNlRfSExfU0VUID0gMCwKKyAgSVA2VF9ITF9JTkMsCisgIElQNlRfSExfREVDCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVA2VF9ITF9NQVhNT0RFIElQNlRfSExfREVDCiBzdHJ1Y3QgaXA2dF9ITF9pbmZvIHsKLSBfX3U4IG1vZGU7Ci0gX191OCBob3BfbGltaXQ7CisgIF9fdTggbW9kZTsKKyAgX191OCBob3BfbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X0xPRy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X0xPRy5oCmluZGV4IDU4MzI3NGMuLmZhMmU0MzAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9MT0cuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfTE9HLmgKQEAgLTI5LDEwICsyOSwxMCBAQAogI2RlZmluZSBJUDZUX0xPR19NQUNERUNPREUgMHgyMAogI2RlZmluZSBJUDZUX0xPR19NQVNLIDB4MmYKIHN0cnVjdCBpcDZ0X2xvZ19pbmZvIHsKLSB1bnNpZ25lZCBjaGFyIGxldmVsOworICB1bnNpZ25lZCBjaGFyIGxldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGxvZ2ZsYWdzOwotIGNoYXIgcHJlZml4WzMwXTsKKyAgdW5zaWduZWQgY2hhciBsb2dmbGFnczsKKyAgY2hhciBwcmVmaXhbMzBdOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9OUFQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9OUFQuaAppbmRleCBiOTIyZDFjLi5iYjlkNTgyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfTlBULmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X05QVC5oCkBAIC0yMiwxMiArMjIsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaXA2dF9ucHRfdGdpbmZvIHsKLSB1bmlvbiBuZl9pbmV0X2FkZHIgc3JjX3BmeDsKLSB1bmlvbiBuZl9pbmV0X2FkZHIgZHN0X3BmeDsKLSBfX3U4IHNyY19wZnhfbGVuOworICB1bmlvbiBuZl9pbmV0X2FkZHIgc3JjX3BmeDsKKyAgdW5pb24gbmZfaW5ldF9hZGRyIGRzdF9wZng7CisgIF9fdTggc3JjX3BmeF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZHN0X3BmeF9sZW47Ci0gX19zdW0xNiBhZGp1c3RtZW50OworICBfX3U4IGRzdF9wZnhfbGVuOworICBfX3N1bTE2IGFkanVzdG1lbnQ7CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X1JFSkVDVC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X1JFSkVDVC5oCmluZGV4IGM3ODQwMGQuLmFmZTVjZDUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9SRUpFQ1QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfUkVKRUNULmgKQEAgLTIxLDE4ICsyMSwxOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIGlwNnRfcmVqZWN0X3dpdGggewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUDZUX0lDTVA2X05PX1JPVVRFLAotIElQNlRfSUNNUDZfQURNX1BST0hJQklURUQsCi0gSVA2VF9JQ01QNl9OT1RfTkVJR0hCT1VSLAotIElQNlRfSUNNUDZfQUREUl9VTlJFQUNILAorICBJUDZUX0lDTVA2X05PX1JPVVRFLAorICBJUDZUX0lDTVA2X0FETV9QUk9ISUJJVEVELAorICBJUDZUX0lDTVA2X05PVF9ORUlHSEJPVVIsCisgIElQNlRfSUNNUDZfQUREUl9VTlJFQUNILAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUDZUX0lDTVA2X1BPUlRfVU5SRUFDSCwKLSBJUDZUX0lDTVA2X0VDSE9SRVBMWSwKLSBJUDZUX1RDUF9SRVNFVAorICBJUDZUX0lDTVA2X1BPUlRfVU5SRUFDSCwKKyAgSVA2VF9JQ01QNl9FQ0hPUkVQTFksCisgIElQNlRfVENQX1JFU0VUCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcDZ0X3JlamVjdF9pbmZvIHsKLSBfX3UzMiB3aXRoOworICBfX3UzMiB3aXRoOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9haC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2FoLmgKaW5kZXggMjM0ZGRlNC4uNzU4MmQwMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2FoLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2FoLmgKQEAgLTIxLDEwICsyMSwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgaXA2dF9haCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNwaXNbMl07Ci0gX191MzIgaGRybGVuOwotIF9fdTggaGRycmVzOwotIF9fdTggaW52ZmxhZ3M7CisgIF9fdTMyIHNwaXNbMl07CisgIF9fdTMyIGhkcmxlbjsKKyAgX191OCBoZHJyZXM7CisgIF9fdTggaW52ZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgSVA2VF9BSF9TUEkgMHgwMQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2ZyYWcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9mcmFnLmgKaW5kZXggYjQxNDVjYi4uY2ViNTYzYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2ZyYWcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfZnJhZy5oCkBAIC0yMSwxMCArMjEsMTAgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGlwNnRfZnJhZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlkc1syXTsKLSBfX3UzMiBoZHJsZW47Ci0gX191OCBmbGFnczsKLSBfX3U4IGludmZsYWdzOworICBfX3UzMiBpZHNbMl07CisgIF9fdTMyIGhkcmxlbjsKKyAgX191OCBmbGFnczsKKyAgX191OCBpbnZmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJUDZUX0ZSQUdfSURTIDB4MDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9obC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2hsLmgKaW5kZXggM2NmZjYxNS4uOGEyNzkzNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2hsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2hsLmgKQEAgLTIxLDE1ICsyMSwxNSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVA2VF9ITF9FUSA9IDAsCi0gSVA2VF9ITF9ORSwKLSBJUDZUX0hMX0xULAotIElQNlRfSExfR1QsCisgIElQNlRfSExfRVEgPSAwLAorICBJUDZUX0hMX05FLAorICBJUDZUX0hMX0xULAorICBJUDZUX0hMX0dULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaXA2dF9obF9pbmZvIHsKLSBfX3U4IG1vZGU7Ci0gX191OCBob3BfbGltaXQ7CisgIF9fdTggbW9kZTsKKyAgX191OCBob3BfbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2lwdjZoZWFkZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9pcHY2aGVhZGVyLmgKaW5kZXggM2RiN2NiZi4uZWMxYmE1NSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X2lwdjZoZWFkZXIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfaXB2NmhlYWRlci5oCkBAIC0yMSw5ICsyMSw5IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBpcDZ0X2lwdjZoZWFkZXJfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbWF0Y2hmbGFnczsKLSBfX3U4IGludmZsYWdzOwotIF9fdTggbW9kZWZsYWc7CisgIF9fdTggbWF0Y2hmbGFnczsKKyAgX191OCBpbnZmbGFnczsKKyAgX191OCBtb2RlZmxhZzsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNQVNLX0hPUE9QVFMgMTI4CmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfbWguaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9taC5oCmluZGV4IDEwYjJlYzQuLjlmZmMxMjcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9taC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9taC5oCkBAIC0yMSw4ICsyMSw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBpcDZ0X21oIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlc1syXTsKLSBfX3U4IGludmZsYWdzOworICBfX3U4IHR5cGVzWzJdOworICBfX3U4IGludmZsYWdzOwogfTsKICNkZWZpbmUgSVA2VF9NSF9JTlZfVFlQRSAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X29wdHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9vcHRzLmgKaW5kZXggYmQzYzMxOC4uMmQ5MTgxMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRmaWx0ZXJfaXB2Ni9pcDZ0X29wdHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfb3B0cy5oCkBAIC0yMiwxMiArMjIsMTIgQEAKICNkZWZpbmUgSVA2VF9PUFRTX09QVFNOUiAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpcDZ0X29wdHMgewotIF9fdTMyIGhkcmxlbjsKLSBfX3U4IGZsYWdzOwotIF9fdTggaW52ZmxhZ3M7CisgIF9fdTMyIGhkcmxlbjsKKyAgX191OCBmbGFnczsKKyAgX191OCBpbnZmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgb3B0c1tJUDZUX09QVFNfT1BUU05SXTsKLSBfX3U4IG9wdHNucjsKKyAgX191MTYgb3B0c1tJUDZUX09QVFNfT1BUU05SXTsKKyAgX191OCBvcHRzbnI7CiB9OwogI2RlZmluZSBJUDZUX09QVFNfTEVOIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGZpbHRlcl9pcHY2L2lwNnRfcnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9ydC5oCmluZGV4IDg2Y2E0NjIuLjAzNmIyNmEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9ydC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0ZmlsdGVyX2lwdjYvaXA2dF9ydC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgSVA2VF9SVF9IT1BTIDE2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlwNnRfcnQgewotIF9fdTMyIHJ0X3R5cGU7Ci0gX191MzIgc2Vnc2xlZnRbMl07Ci0gX191MzIgaGRybGVuOworICBfX3UzMiBydF90eXBlOworICBfX3UzMiBzZWdzbGVmdFsyXTsKKyAgX191MzIgaGRybGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZsYWdzOwotIF9fdTggaW52ZmxhZ3M7Ci0gc3RydWN0IGluNl9hZGRyIGFkZHJzW0lQNlRfUlRfSE9QU107Ci0gX191OCBhZGRybnI7CisgIF9fdTggZmxhZ3M7CisgIF9fdTggaW52ZmxhZ3M7CisgIHN0cnVjdCBpbjZfYWRkciBhZGRyc1tJUDZUX1JUX0hPUFNdOworICBfX3U4IGFkZHJucjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBJUDZUX1JUX1RZUCAweDAxCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0bGluay5oCmluZGV4IGI1NTY3YjAuLmJjYWYwMjAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0bGluay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0bGluay5oCkBAIC01MiwxOSArNTIsMTkgQEAKICNkZWZpbmUgTUFYX0xJTktTIDMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNvY2thZGRyX25sIHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBubF9mYW1pbHk7Ci0gdW5zaWduZWQgc2hvcnQgbmxfcGFkOwotIF9fdTMyIG5sX3BpZDsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3QgbmxfZmFtaWx5OworICB1bnNpZ25lZCBzaG9ydCBubF9wYWQ7CisgIF9fdTMyIG5sX3BpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbmxfZ3JvdXBzOworICBfX3UzMiBubF9ncm91cHM7CiB9Owogc3RydWN0IG5sbXNnaGRyIHsKLSBfX3UzMiBubG1zZ19sZW47CisgIF9fdTMyIG5sbXNnX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbmxtc2dfdHlwZTsKLSBfX3UxNiBubG1zZ19mbGFnczsKLSBfX3UzMiBubG1zZ19zZXE7Ci0gX191MzIgbmxtc2dfcGlkOworICBfX3UxNiBubG1zZ190eXBlOworICBfX3UxNiBubG1zZ19mbGFnczsKKyAgX191MzIgbmxtc2dfc2VxOworICBfX3UzMiBubG1zZ19waWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTkxNX0ZfUkVRVUVTVCAxCkBAIC03NywyMiArNzcsMjIgQEAKICNkZWZpbmUgTkxNX0ZfTUFUQ0ggMHgyMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5MTV9GX0FUT01JQyAweDQwMAotI2RlZmluZSBOTE1fRl9EVU1QIChOTE1fRl9ST09UfE5MTV9GX01BVENIKQorI2RlZmluZSBOTE1fRl9EVU1QIChOTE1fRl9ST09UIHwgTkxNX0ZfTUFUQ0gpCiAjZGVmaW5lIE5MTV9GX1JFUExBQ0UgMHgxMDAKICNkZWZpbmUgTkxNX0ZfRVhDTCAweDIwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkxNX0ZfQ1JFQVRFIDB4NDAwCiAjZGVmaW5lIE5MTV9GX0FQUEVORCAweDgwMAogI2RlZmluZSBOTE1TR19BTElHTlRPIDRVCi0jZGVmaW5lIE5MTVNHX0FMSUdOKGxlbikgKCAoKGxlbikrTkxNU0dfQUxJR05UTy0xKSAmIH4oTkxNU0dfQUxJR05UTy0xKSApCisjZGVmaW5lIE5MTVNHX0FMSUdOKGxlbikgKCgobGVuKSArIE5MTVNHX0FMSUdOVE8gLSAxKSAmIH4oTkxNU0dfQUxJR05UTyAtIDEpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkxNU0dfSERSTEVOICgoaW50KSBOTE1TR19BTElHTihzaXplb2Yoc3RydWN0IG5sbXNnaGRyKSkpCiAjZGVmaW5lIE5MTVNHX0xFTkdUSChsZW4pICgobGVuKSArIE5MTVNHX0hEUkxFTikKICNkZWZpbmUgTkxNU0dfU1BBQ0UobGVuKSBOTE1TR19BTElHTihOTE1TR19MRU5HVEgobGVuKSkKLSNkZWZpbmUgTkxNU0dfREFUQShubGgpICgodm9pZCopKCgoY2hhciopbmxoKSArIE5MTVNHX0xFTkdUSCgwKSkpCisjZGVmaW5lIE5MTVNHX0RBVEEobmxoKSAoKHZvaWQgKikgKCgoY2hhciAqKSBubGgpICsgTkxNU0dfTEVOR1RIKDApKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE5MTVNHX05FWFQobmxoLGxlbikgKChsZW4pIC09IE5MTVNHX0FMSUdOKChubGgpLT5ubG1zZ19sZW4pLCAgIChzdHJ1Y3Qgbmxtc2doZHIqKSgoKGNoYXIqKShubGgpKSArIE5MTVNHX0FMSUdOKChubGgpLT5ubG1zZ19sZW4pKSkKLSNkZWZpbmUgTkxNU0dfT0sobmxoLGxlbikgKChsZW4pID49IChpbnQpc2l6ZW9mKHN0cnVjdCBubG1zZ2hkcikgJiYgICAobmxoKS0+bmxtc2dfbGVuID49IHNpemVvZihzdHJ1Y3Qgbmxtc2doZHIpICYmICAgKG5saCktPm5sbXNnX2xlbiA8PSAobGVuKSkKKyNkZWZpbmUgTkxNU0dfTkVYVChubGgsbGVuKSAoKGxlbikgLT0gTkxNU0dfQUxJR04oKG5saCktPm5sbXNnX2xlbiksIChzdHJ1Y3Qgbmxtc2doZHIgKikgKCgoY2hhciAqKSAobmxoKSkgKyBOTE1TR19BTElHTigobmxoKS0+bmxtc2dfbGVuKSkpCisjZGVmaW5lIE5MTVNHX09LKG5saCxsZW4pICgobGVuKSA+PSAoaW50KSBzaXplb2Yoc3RydWN0IG5sbXNnaGRyKSAmJiAobmxoKS0+bmxtc2dfbGVuID49IHNpemVvZihzdHJ1Y3Qgbmxtc2doZHIpICYmIChubGgpLT5ubG1zZ19sZW4gPD0gKGxlbikpCiAjZGVmaW5lIE5MTVNHX1BBWUxPQUQobmxoLGxlbikgKChubGgpLT5ubG1zZ19sZW4gLSBOTE1TR19TUEFDRSgobGVuKSkpCiAjZGVmaW5lIE5MTVNHX05PT1AgMHgxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTAyLDggKzEwMiw4IEBACiAjZGVmaW5lIE5MTVNHX01JTl9UWVBFIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgbmxtc2dlcnIgewotIGludCBlcnJvcjsKLSBzdHJ1Y3Qgbmxtc2doZHIgbXNnOworICBpbnQgZXJyb3I7CisgIHN0cnVjdCBubG1zZ2hkciBtc2c7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkVUTElOS19BRERfTUVNQkVSU0hJUCAxCkBAIC0xMTYsMzMgKzExNiwzMyBAQAogI2RlZmluZSBORVRMSU5LX1RYX1JJTkcgNwogc3RydWN0IG5sX3BrdGluZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBncm91cDsKKyAgX191MzIgZ3JvdXA7CiB9Owogc3RydWN0IG5sX21tYXBfcmVxIHsKLSB1bnNpZ25lZCBpbnQgbm1fYmxvY2tfc2l6ZTsKKyAgdW5zaWduZWQgaW50IG5tX2Jsb2NrX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBubV9ibG9ja19ucjsKLSB1bnNpZ25lZCBpbnQgbm1fZnJhbWVfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgbm1fZnJhbWVfbnI7CisgIHVuc2lnbmVkIGludCBubV9ibG9ja19ucjsKKyAgdW5zaWduZWQgaW50IG5tX2ZyYW1lX3NpemU7CisgIHVuc2lnbmVkIGludCBubV9mcmFtZV9ucjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5sX21tYXBfaGRyIHsKLSB1bnNpZ25lZCBpbnQgbm1fc3RhdHVzOwotIHVuc2lnbmVkIGludCBubV9sZW47Ci0gX191MzIgbm1fZ3JvdXA7CisgIHVuc2lnbmVkIGludCBubV9zdGF0dXM7CisgIHVuc2lnbmVkIGludCBubV9sZW47CisgIF9fdTMyIG5tX2dyb3VwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBubV9waWQ7Ci0gX191MzIgbm1fdWlkOwotIF9fdTMyIG5tX2dpZDsKKyAgX191MzIgbm1fcGlkOworICBfX3UzMiBubV91aWQ7CisgIF9fdTMyIG5tX2dpZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBubF9tbWFwX3N0YXR1cyB7Ci0gTkxfTU1BUF9TVEFUVVNfVU5VU0VELAotIE5MX01NQVBfU1RBVFVTX1JFU0VSVkVELAotIE5MX01NQVBfU1RBVFVTX1ZBTElELAorICBOTF9NTUFQX1NUQVRVU19VTlVTRUQsCisgIE5MX01NQVBfU1RBVFVTX1JFU0VSVkVELAorICBOTF9NTUFQX1NUQVRVU19WQUxJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkxfTU1BUF9TVEFUVVNfQ09QWSwKLSBOTF9NTUFQX1NUQVRVU19TS0lQLAorICBOTF9NTUFQX1NUQVRVU19DT1BZLAorICBOTF9NTUFQX1NUQVRVU19TS0lQLAogfTsKICNkZWZpbmUgTkxfTU1BUF9NU0dfQUxJR05NRU5UIE5MTVNHX0FMSUdOVE8KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xNTEsMTMgKzE1MSwxMyBAQAogI2RlZmluZSBORVRfTUFKT1IgMzYKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRMSU5LX1VOQ09OTkVDVEVEID0gMCwKLSBORVRMSU5LX0NPTk5FQ1RFRCwKKyAgTkVUTElOS19VTkNPTk5FQ1RFRCA9IDAsCisgIE5FVExJTktfQ09OTkVDVEVELAogfTsKIHN0cnVjdCBubGF0dHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBubGFfbGVuOwotIF9fdTE2IG5sYV90eXBlOworICBfX3UxNiBubGFfbGVuOworICBfX3UxNiBubGFfdHlwZTsKIH07CiAjZGVmaW5lIE5MQV9GX05FU1RFRCAoMSA8PCAxNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGxpbmtfZGlhZy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRsaW5rX2RpYWcuaAppbmRleCAwNmU1MDAyLi5lYmY2Mzc0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldGxpbmtfZGlhZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0bGlua19kaWFnLmgKQEAgLTIxLDQzICsyMSw0MyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgbmV0bGlua19kaWFnX3JlcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2RpYWdfZmFtaWx5OwotIF9fdTggc2RpYWdfcHJvdG9jb2w7Ci0gX191MTYgcGFkOwotIF9fdTMyIG5kaWFnX2lubzsKKyAgX191OCBzZGlhZ19mYW1pbHk7CisgIF9fdTggc2RpYWdfcHJvdG9jb2w7CisgIF9fdTE2IHBhZDsKKyAgX191MzIgbmRpYWdfaW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBuZGlhZ19zaG93OwotIF9fdTMyIG5kaWFnX2Nvb2tpZVsyXTsKKyAgX191MzIgbmRpYWdfc2hvdzsKKyAgX191MzIgbmRpYWdfY29va2llWzJdOwogfTsKIHN0cnVjdCBuZXRsaW5rX2RpYWdfbXNnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBuZGlhZ19mYW1pbHk7Ci0gX191OCBuZGlhZ190eXBlOwotIF9fdTggbmRpYWdfcHJvdG9jb2w7Ci0gX191OCBuZGlhZ19zdGF0ZTsKKyAgX191OCBuZGlhZ19mYW1pbHk7CisgIF9fdTggbmRpYWdfdHlwZTsKKyAgX191OCBuZGlhZ19wcm90b2NvbDsKKyAgX191OCBuZGlhZ19zdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbmRpYWdfcG9ydGlkOwotIF9fdTMyIG5kaWFnX2RzdF9wb3J0aWQ7Ci0gX191MzIgbmRpYWdfZHN0X2dyb3VwOwotIF9fdTMyIG5kaWFnX2lubzsKKyAgX191MzIgbmRpYWdfcG9ydGlkOworICBfX3UzMiBuZGlhZ19kc3RfcG9ydGlkOworICBfX3UzMiBuZGlhZ19kc3RfZ3JvdXA7CisgIF9fdTMyIG5kaWFnX2lubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbmRpYWdfY29va2llWzJdOworICBfX3UzMiBuZGlhZ19jb29raWVbMl07CiB9Owogc3RydWN0IG5ldGxpbmtfZGlhZ19yaW5nIHsKLSBfX3UzMiBuZHJfYmxvY2tfc2l6ZTsKKyAgX191MzIgbmRyX2Jsb2NrX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG5kcl9ibG9ja19ucjsKLSBfX3UzMiBuZHJfZnJhbWVfc2l6ZTsKLSBfX3UzMiBuZHJfZnJhbWVfbnI7CisgIF9fdTMyIG5kcl9ibG9ja19ucjsKKyAgX191MzIgbmRyX2ZyYW1lX3NpemU7CisgIF9fdTMyIG5kcl9mcmFtZV9ucjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gTkVUTElOS19ESUFHX01FTUlORk8sCi0gTkVUTElOS19ESUFHX0dST1VQUywKLSBORVRMSU5LX0RJQUdfUlhfUklORywKKyAgTkVUTElOS19ESUFHX01FTUlORk8sCisgIE5FVExJTktfRElBR19HUk9VUFMsCisgIE5FVExJTktfRElBR19SWF9SSU5HLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRMSU5LX0RJQUdfVFhfUklORywKLSBfX05FVExJTktfRElBR19NQVgsCisgIE5FVExJTktfRElBR19UWF9SSU5HLAorICBfX05FVExJTktfRElBR19NQVgsCiB9OwogI2RlZmluZSBORVRMSU5LX0RJQUdfTUFYIChfX05FVExJTktfRElBR19NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0cm9tLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25ldHJvbS5oCmluZGV4IGJiMGZkNTkuLjRlNDExZjIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmV0cm9tLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZXRyb20uaApAQCAtMjcsMjIgKzI3LDIyIEBACiAjZGVmaW5lIE5FVFJPTV9UNCA2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORVRST01fSURMRSA3Ci0jZGVmaW5lIFNJT0NOUkRFQ09CUyAoU0lPQ1BST1RPUFJJVkFURSsyKQorI2RlZmluZSBTSU9DTlJERUNPQlMgKFNJT0NQUk9UT1BSSVZBVEUgKyAyKQogc3RydWN0IG5yX3JvdXRlX3N0cnVjdCB7CiAjZGVmaW5lIE5FVFJPTV9ORUlHSCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORVRST01fTk9ERSAxCi0gaW50IHR5cGU7Ci0gYXgyNV9hZGRyZXNzIGNhbGxzaWduOwotIGNoYXIgZGV2aWNlWzE2XTsKKyAgaW50IHR5cGU7CisgIGF4MjVfYWRkcmVzcyBjYWxsc2lnbjsKKyAgY2hhciBkZXZpY2VbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcXVhbGl0eTsKLSBjaGFyIG1uZW1vbmljWzddOwotIGF4MjVfYWRkcmVzcyBuZWlnaGJvdXI7Ci0gdW5zaWduZWQgaW50IG9ic19jb3VudDsKKyAgdW5zaWduZWQgaW50IHF1YWxpdHk7CisgIGNoYXIgbW5lbW9uaWNbN107CisgIGF4MjVfYWRkcmVzcyBuZWlnaGJvdXI7CisgIHVuc2lnbmVkIGludCBvYnNfY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBuZGlnaXM7Ci0gYXgyNV9hZGRyZXNzIGRpZ2lwZWF0ZXJzW0FYMjVfTUFYX0RJR0lTXTsKKyAgdW5zaWduZWQgaW50IG5kaWdpczsKKyAgYXgyNV9hZGRyZXNzIGRpZ2lwZWF0ZXJzW0FYMjVfTUFYX0RJR0lTXTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mYy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZmMuaAppbmRleCA4ODk3OWRlLi43YTgzYWM3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mYy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZjLmgKQEAgLTI2LDEwOSArMjYsMTE0IEBACiAjZGVmaW5lIE5GQ19HRU5MX01DQVNUX0VWRU5UX05BTUUgImV2ZW50cyIKIGVudW0gbmZjX2NvbW1hbmRzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDX0NNRF9VTlNQRUMsCi0gTkZDX0NNRF9HRVRfREVWSUNFLAotIE5GQ19DTURfREVWX1VQLAotIE5GQ19DTURfREVWX0RPV04sCisgIE5GQ19DTURfVU5TUEVDLAorICBORkNfQ01EX0dFVF9ERVZJQ0UsCisgIE5GQ19DTURfREVWX1VQLAorICBORkNfQ01EX0RFVl9ET1dOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORkNfQ01EX0RFUF9MSU5LX1VQLAotIE5GQ19DTURfREVQX0xJTktfRE9XTiwKLSBORkNfQ01EX1NUQVJUX1BPTEwsCi0gTkZDX0NNRF9TVE9QX1BPTEwsCisgIE5GQ19DTURfREVQX0xJTktfVVAsCisgIE5GQ19DTURfREVQX0xJTktfRE9XTiwKKyAgTkZDX0NNRF9TVEFSVF9QT0xMLAorICBORkNfQ01EX1NUT1BfUE9MTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDX0NNRF9HRVRfVEFSR0VULAotIE5GQ19FVkVOVF9UQVJHRVRTX0ZPVU5ELAotIE5GQ19FVkVOVF9ERVZJQ0VfQURERUQsCi0gTkZDX0VWRU5UX0RFVklDRV9SRU1PVkVELAorICBORkNfQ01EX0dFVF9UQVJHRVQsCisgIE5GQ19FVkVOVF9UQVJHRVRTX0ZPVU5ELAorICBORkNfRVZFTlRfREVWSUNFX0FEREVELAorICBORkNfRVZFTlRfREVWSUNFX1JFTU9WRUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ19FVkVOVF9UQVJHRVRfTE9TVCwKLSBORkNfRVZFTlRfVE1fQUNUSVZBVEVELAotIE5GQ19FVkVOVF9UTV9ERUFDVElWQVRFRCwKLSBORkNfQ01EX0xMQ19HRVRfUEFSQU1TLAorICBORkNfRVZFTlRfVEFSR0VUX0xPU1QsCisgIE5GQ19FVkVOVF9UTV9BQ1RJVkFURUQsCisgIE5GQ19FVkVOVF9UTV9ERUFDVElWQVRFRCwKKyAgTkZDX0NNRF9MTENfR0VUX1BBUkFNUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDX0NNRF9MTENfU0VUX1BBUkFNUywKLSBORkNfQ01EX0VOQUJMRV9TRSwKLSBORkNfQ01EX0RJU0FCTEVfU0UsCi0gTkZDX0NNRF9MTENfU0RSRVEsCisgIE5GQ19DTURfTExDX1NFVF9QQVJBTVMsCisgIE5GQ19DTURfRU5BQkxFX1NFLAorICBORkNfQ01EX0RJU0FCTEVfU0UsCisgIE5GQ19DTURfTExDX1NEUkVRLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORkNfRVZFTlRfTExDX1NEUkVTLAotIE5GQ19DTURfRldfRE9XTkxPQUQsCi0gTkZDX0VWRU5UX1NFX0FEREVELAotIE5GQ19FVkVOVF9TRV9SRU1PVkVELAorICBORkNfRVZFTlRfTExDX1NEUkVTLAorICBORkNfQ01EX0ZXX0RPV05MT0FELAorICBORkNfRVZFTlRfU0VfQURERUQsCisgIE5GQ19FVkVOVF9TRV9SRU1PVkVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORkNfRVZFTlRfU0VfQ09OTkVDVElWSVRZLAotIE5GQ19FVkVOVF9TRV9UUkFOU0FDVElPTiwKLSBORkNfQ01EX0dFVF9TRSwKLSBORkNfQ01EX1NFX0lPLAorICBORkNfRVZFTlRfU0VfQ09OTkVDVElWSVRZLAorICBORkNfRVZFTlRfU0VfVFJBTlNBQ1RJT04sCisgIE5GQ19DTURfR0VUX1NFLAorICBORkNfQ01EX1NFX0lPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05GQ19DTURfQUZURVJfTEFTVAorICBfX05GQ19DTURfQUZURVJfTEFTVAogfTsKICNkZWZpbmUgTkZDX0NNRF9NQVggKF9fTkZDX0NNRF9BRlRFUl9MQVNUIC0gMSkKIGVudW0gbmZjX2F0dHJzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDX0FUVFJfVU5TUEVDLAotIE5GQ19BVFRSX0RFVklDRV9JTkRFWCwKLSBORkNfQVRUUl9ERVZJQ0VfTkFNRSwKLSBORkNfQVRUUl9QUk9UT0NPTFMsCisgIE5GQ19BVFRSX1VOU1BFQywKKyAgTkZDX0FUVFJfREVWSUNFX0lOREVYLAorICBORkNfQVRUUl9ERVZJQ0VfTkFNRSwKKyAgTkZDX0FUVFJfUFJPVE9DT0xTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORkNfQVRUUl9UQVJHRVRfSU5ERVgsCi0gTkZDX0FUVFJfVEFSR0VUX1NFTlNfUkVTLAotIE5GQ19BVFRSX1RBUkdFVF9TRUxfUkVTLAotIE5GQ19BVFRSX1RBUkdFVF9ORkNJRDEsCisgIE5GQ19BVFRSX1RBUkdFVF9JTkRFWCwKKyAgTkZDX0FUVFJfVEFSR0VUX1NFTlNfUkVTLAorICBORkNfQVRUUl9UQVJHRVRfU0VMX1JFUywKKyAgTkZDX0FUVFJfVEFSR0VUX05GQ0lEMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZDX0FUVFJfVEFSR0VUX1NFTlNCX1JFUywKLSBORkNfQVRUUl9UQVJHRVRfU0VOU0ZfUkVTLAotIE5GQ19BVFRSX0NPTU1fTU9ERSwKLSBORkNfQVRUUl9SRl9NT0RFLAorICBORkNfQVRUUl9UQVJHRVRfU0VOU0JfUkVTLAorICBORkNfQVRUUl9UQVJHRVRfU0VOU0ZfUkVTLAorICBORkNfQVRUUl9DT01NX01PREUsCisgIE5GQ19BVFRSX1JGX01PREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ19BVFRSX0RFVklDRV9QT1dFUkVELAotIE5GQ19BVFRSX0lNX1BST1RPQ09MUywKLSBORkNfQVRUUl9UTV9QUk9UT0NPTFMsCi0gTkZDX0FUVFJfTExDX1BBUkFNX0xUTywKKyAgTkZDX0FUVFJfREVWSUNFX1BPV0VSRUQsCisgIE5GQ19BVFRSX0lNX1BST1RPQ09MUywKKyAgTkZDX0FUVFJfVE1fUFJPVE9DT0xTLAorICBORkNfQVRUUl9MTENfUEFSQU1fTFRPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORkNfQVRUUl9MTENfUEFSQU1fUlcsCi0gTkZDX0FUVFJfTExDX1BBUkFNX01JVVgsCi0gTkZDX0FUVFJfU0UsCi0gTkZDX0FUVFJfTExDX1NEUCwKKyAgTkZDX0FUVFJfTExDX1BBUkFNX1JXLAorICBORkNfQVRUUl9MTENfUEFSQU1fTUlVWCwKKyAgTkZDX0FUVFJfU0UsCisgIE5GQ19BVFRSX0xMQ19TRFAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ19BVFRSX0ZJUk1XQVJFX05BTUUsCi0gTkZDX0FUVFJfU0VfSU5ERVgsCi0gTkZDX0FUVFJfU0VfVFlQRSwKLSBORkNfQVRUUl9TRV9BSUQsCisgIE5GQ19BVFRSX0ZJUk1XQVJFX05BTUUsCisgIE5GQ19BVFRSX1NFX0lOREVYLAorICBORkNfQVRUUl9TRV9UWVBFLAorICBORkNfQVRUUl9TRV9BSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ19BVFRSX0ZJUk1XQVJFX0RPV05MT0FEX1NUQVRVUywKLSBORkNfQVRUUl9TRV9BUERVLAotIF9fTkZDX0FUVFJfQUZURVJfTEFTVAorICBORkNfQVRUUl9GSVJNV0FSRV9ET1dOTE9BRF9TVEFUVVMsCisgIE5GQ19BVFRSX1NFX0FQRFUsCisgIE5GQ19BVFRSX1RBUkdFVF9JU08xNTY5M19EU0ZJRCwKKyAgTkZDX0FUVFJfVEFSR0VUX0lTTzE1NjkzX1VJRCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fTkZDX0FUVFJfQUZURVJfTEFTVAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GQ19BVFRSX01BWCAoX19ORkNfQVRUUl9BRlRFUl9MQVNUIC0gMSkKIGVudW0gbmZjX3NkcF9hdHRyIHsKLSBORkNfU0RQX0FUVFJfVU5TUEVDLAotIE5GQ19TRFBfQVRUUl9VUkksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GQ19TRFBfQVRUUl9TQVAsCi0gX19ORkNfU0RQX0FUVFJfQUZURVJfTEFTVAorICBORkNfU0RQX0FUVFJfVU5TUEVDLAorICBORkNfU0RQX0FUVFJfVVJJLAorICBORkNfU0RQX0FUVFJfU0FQLAorICBfX05GQ19TRFBfQVRUUl9BRlRFUl9MQVNUCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTkZDX1NEUF9BVFRSX01BWCAoX19ORkNfU0RQX0FUVFJfQUZURVJfTEFTVCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNfREVWSUNFX05BTUVfTUFYU0laRSA4CiAjZGVmaW5lIE5GQ19ORkNJRDFfTUFYU0laRSAxMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZDX05GQ0lEMl9NQVhTSVpFIDgKICNkZWZpbmUgTkZDX05GQ0lEM19NQVhTSVpFIDEwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNfU0VOU0JfUkVTX01BWFNJWkUgMTIKICNkZWZpbmUgTkZDX1NFTlNGX1JFU19NQVhTSVpFIDE4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNfR0JfTUFYU0laRSA0OAogI2RlZmluZSBORkNfRklSTVdBUkVfTkFNRV9NQVhTSVpFIDMyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBORkNfSVNPMTU2OTNfVUlEX01BWFNJWkUgOAogI2RlZmluZSBORkNfUFJPVE9fSkVXRUwgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZDX1BST1RPX01JRkFSRSAyCiAjZGVmaW5lIE5GQ19QUk9UT19GRUxJQ0EgMwogI2RlZmluZSBORkNfUFJPVE9fSVNPMTQ0NDMgNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZDX1BST1RPX05GQ19ERVAgNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZDX1BST1RPX0lTTzE0NDQzX0IgNgotI2RlZmluZSBORkNfUFJPVE9fTUFYIDcKKyNkZWZpbmUgTkZDX1BST1RPX0lTTzE1NjkzIDcKKyNkZWZpbmUgTkZDX1BST1RPX01BWCA4CiAjZGVmaW5lIE5GQ19DT01NX0FDVElWRSAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNfQ09NTV9QQVNTSVZFIDEKQEAgLTE0Myw0NiArMTQ4LDU0IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNfUFJPVE9fTkZDX0RFUF9NQVNLICgxIDw8IE5GQ19QUk9UT19ORkNfREVQKQogI2RlZmluZSBORkNfUFJPVE9fSVNPMTQ0NDNfQl9NQVNLICgxIDw8IE5GQ19QUk9UT19JU08xNDQ0M19CKQorI2RlZmluZSBORkNfUFJPVE9fSVNPMTU2OTNfTUFTSyAoMSA8PCBORkNfUFJPVE9fSVNPMTU2OTMpCiAjZGVmaW5lIE5GQ19TRV9VSUNDIDB4MQotI2RlZmluZSBORkNfU0VfRU1CRURERUQgMHgyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBORkNfU0VfRU1CRURERUQgMHgyCiAjZGVmaW5lIE5GQ19TRV9ESVNBQkxFRCAweDAKICNkZWZpbmUgTkZDX1NFX0VOQUJMRUQgMHgxCiBzdHJ1Y3Qgc29ja2FkZHJfbmZjIHsKLSBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRldl9pZHg7Ci0gX191MzIgdGFyZ2V0X2lkeDsKLSBfX3UzMiBuZmNfcHJvdG9jb2w7CisgIHNhX2ZhbWlseV90IHNhX2ZhbWlseTsKKyAgX191MzIgZGV2X2lkeDsKKyAgX191MzIgdGFyZ2V0X2lkeDsKKyAgX191MzIgbmZjX3Byb3RvY29sOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORkNfTExDUF9NQVhfU0VSVklDRV9OQU1FIDYzCiBzdHJ1Y3Qgc29ja2FkZHJfbmZjX2xsY3AgewotIHNhX2ZhbWlseV90IHNhX2ZhbWlseTsKLSBfX3UzMiBkZXZfaWR4OworICBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRhcmdldF9pZHg7Ci0gX191MzIgbmZjX3Byb3RvY29sOwotIF9fdTggZHNhcDsKLSBfX3U4IHNzYXA7CisgIF9fdTMyIGRldl9pZHg7CisgIF9fdTMyIHRhcmdldF9pZHg7CisgIF9fdTMyIG5mY19wcm90b2NvbDsKKyAgX191OCBkc2FwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHNlcnZpY2VfbmFtZVtORkNfTExDUF9NQVhfU0VSVklDRV9OQU1FXTsgIDsKLSBzaXplX3Qgc2VydmljZV9uYW1lX2xlbjsKKyAgX191OCBzc2FwOworICBjaGFyIHNlcnZpY2VfbmFtZVtORkNfTExDUF9NQVhfU0VSVklDRV9OQU1FXTsKKzsKKyAgc2l6ZV90IHNlcnZpY2VfbmFtZV9sZW47CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTkZDX1NPQ0tQUk9UT19SQVcgMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZDX1NPQ0tQUk9UT19MTENQIDEKICNkZWZpbmUgTkZDX1NPQ0tQUk9UT19NQVggMgotI2RlZmluZSBORkNfSEVBREVSX1NJWkUgMQotI2RlZmluZSBORkNfTExDUF9SQVdfSEVBREVSX1NJWkUgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTkZDX0xMQ1BfRElSRUNUSU9OX1JYIDB4MDAKLSNkZWZpbmUgTkZDX0xMQ1BfRElSRUNUSU9OX1RYIDB4MDEKKyNkZWZpbmUgTkZDX0hFQURFUl9TSVpFIDEKKyNkZWZpbmUgTkZDX1JBV19IRUFERVJfU0laRSAyCisjZGVmaW5lIE5GQ19ESVJFQ1RJT05fUlggMHgwMAorI2RlZmluZSBORkNfRElSRUNUSU9OX1RYIDB4MDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJBV19QQVlMT0FEX0xMQ1AgMAorI2RlZmluZSBSQVdfUEFZTE9BRF9OQ0kgMQorI2RlZmluZSBSQVdfUEFZTE9BRF9IQ0kgMgorI2RlZmluZSBSQVdfUEFZTE9BRF9ESUdJVEFMIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFJBV19QQVlMT0FEX1BST1BSSUVUQVJZIDQKICNkZWZpbmUgTkZDX0xMQ1BfUlcgMAogI2RlZmluZSBORkNfTExDUF9NSVVYIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GQ19MTENQX1JFTU9URV9NSVUgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZDX0xMQ1BfUkVNT1RFX0xUTyAzCiAjZGVmaW5lIE5GQ19MTENQX1JFTU9URV9SVyA0CiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnMuaAppbmRleCA5YjYzNDg0Li4yNzA4M2EyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzLmgKQEAgLTI4LDcgKzI4LDcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GU19GSFNJWkUgMzIKICNkZWZpbmUgTkZTX0NPT0tJRVNJWkUgNAotI2RlZmluZSBORlNfRklGT19ERVYgKC0xKQorI2RlZmluZSBORlNfRklGT19ERVYgKC0gMSkKICNkZWZpbmUgTkZTTU9ERV9GTVQgMDE3MDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZTTU9ERV9ESVIgMDA0MDAwMApAQCAtNDQsMTExICs0NCwxMTEgQEAKICNkZWZpbmUgTkZTX01OVF9WRVJTSU9OIDEKICNkZWZpbmUgTkZTX01OVDNfVkVSU0lPTiAzCiAjZGVmaW5lIE5GU19QSVBFX0RJUk5BTUUgIm5mcyIKLSBlbnVtIG5mc19zdGF0IHsKK2VudW0gbmZzX3N0YXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlNfT0sgPSAwLAotIE5GU0VSUl9QRVJNID0gMSwKLSBORlNFUlJfTk9FTlQgPSAyLAotIE5GU0VSUl9JTyA9IDUsCisgIE5GU19PSyA9IDAsCisgIE5GU0VSUl9QRVJNID0gMSwKKyAgTkZTRVJSX05PRU5UID0gMiwKKyAgTkZTRVJSX0lPID0gNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX05YSU8gPSA2LAotIE5GU0VSUl9FQUdBSU4gPSAxMSwKLSBORlNFUlJfQUNDRVMgPSAxMywKLSBORlNFUlJfRVhJU1QgPSAxNywKKyAgTkZTRVJSX05YSU8gPSA2LAorICBORlNFUlJfRUFHQUlOID0gMTEsCisgIE5GU0VSUl9BQ0NFUyA9IDEzLAorICBORlNFUlJfRVhJU1QgPSAxNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX1hERVYgPSAxOCwKLSBORlNFUlJfTk9ERVYgPSAxOSwKLSBORlNFUlJfTk9URElSID0gMjAsCi0gTkZTRVJSX0lTRElSID0gMjEsCisgIE5GU0VSUl9YREVWID0gMTgsCisgIE5GU0VSUl9OT0RFViA9IDE5LAorICBORlNFUlJfTk9URElSID0gMjAsCisgIE5GU0VSUl9JU0RJUiA9IDIxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlNFUlJfSU5WQUwgPSAyMiwKLSBORlNFUlJfRkJJRyA9IDI3LAotIE5GU0VSUl9OT1NQQyA9IDI4LAotIE5GU0VSUl9ST0ZTID0gMzAsCisgIE5GU0VSUl9JTlZBTCA9IDIyLAorICBORlNFUlJfRkJJRyA9IDI3LAorICBORlNFUlJfTk9TUEMgPSAyOCwKKyAgTkZTRVJSX1JPRlMgPSAzMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX01MSU5LID0gMzEsCi0gTkZTRVJSX09QTk9UU1VQUCA9IDQ1LAotIE5GU0VSUl9OQU1FVE9PTE9ORyA9IDYzLAotIE5GU0VSUl9OT1RFTVBUWSA9IDY2LAorICBORlNFUlJfTUxJTksgPSAzMSwKKyAgTkZTRVJSX09QTk9UU1VQUCA9IDQ1LAorICBORlNFUlJfTkFNRVRPT0xPTkcgPSA2MywKKyAgTkZTRVJSX05PVEVNUFRZID0gNjYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9EUVVPVCA9IDY5LAotIE5GU0VSUl9TVEFMRSA9IDcwLAotIE5GU0VSUl9SRU1PVEUgPSA3MSwKLSBORlNFUlJfV0ZMVVNIID0gOTksCisgIE5GU0VSUl9EUVVPVCA9IDY5LAorICBORlNFUlJfU1RBTEUgPSA3MCwKKyAgTkZTRVJSX1JFTU9URSA9IDcxLAorICBORlNFUlJfV0ZMVVNIID0gOTksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9CQURIQU5ETEUgPSAxMDAwMSwKLSBORlNFUlJfTk9UX1NZTkMgPSAxMDAwMiwKLSBORlNFUlJfQkFEX0NPT0tJRSA9IDEwMDAzLAotIE5GU0VSUl9OT1RTVVBQID0gMTAwMDQsCisgIE5GU0VSUl9CQURIQU5ETEUgPSAxMDAwMSwKKyAgTkZTRVJSX05PVF9TWU5DID0gMTAwMDIsCisgIE5GU0VSUl9CQURfQ09PS0lFID0gMTAwMDMsCisgIE5GU0VSUl9OT1RTVVBQID0gMTAwMDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9UT09TTUFMTCA9IDEwMDA1LAotIE5GU0VSUl9TRVJWRVJGQVVMVCA9IDEwMDA2LAotIE5GU0VSUl9CQURUWVBFID0gMTAwMDcsCi0gTkZTRVJSX0pVS0VCT1ggPSAxMDAwOCwKKyAgTkZTRVJSX1RPT1NNQUxMID0gMTAwMDUsCisgIE5GU0VSUl9TRVJWRVJGQVVMVCA9IDEwMDA2LAorICBORlNFUlJfQkFEVFlQRSA9IDEwMDA3LAorICBORlNFUlJfSlVLRUJPWCA9IDEwMDA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlNFUlJfU0FNRSA9IDEwMDA5LAotIE5GU0VSUl9ERU5JRUQgPSAxMDAxMCwKLSBORlNFUlJfRVhQSVJFRCA9IDEwMDExLAotIE5GU0VSUl9MT0NLRUQgPSAxMDAxMiwKKyAgTkZTRVJSX1NBTUUgPSAxMDAwOSwKKyAgTkZTRVJSX0RFTklFRCA9IDEwMDEwLAorICBORlNFUlJfRVhQSVJFRCA9IDEwMDExLAorICBORlNFUlJfTE9DS0VEID0gMTAwMTIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9HUkFDRSA9IDEwMDEzLAotIE5GU0VSUl9GSEVYUElSRUQgPSAxMDAxNCwKLSBORlNFUlJfU0hBUkVfREVOSUVEID0gMTAwMTUsCi0gTkZTRVJSX1dST05HU0VDID0gMTAwMTYsCisgIE5GU0VSUl9HUkFDRSA9IDEwMDEzLAorICBORlNFUlJfRkhFWFBJUkVEID0gMTAwMTQsCisgIE5GU0VSUl9TSEFSRV9ERU5JRUQgPSAxMDAxNSwKKyAgTkZTRVJSX1dST05HU0VDID0gMTAwMTYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9DTElEX0lOVVNFID0gMTAwMTcsCi0gTkZTRVJSX1JFU09VUkNFID0gMTAwMTgsCi0gTkZTRVJSX01PVkVEID0gMTAwMTksCi0gTkZTRVJSX05PRklMRUhBTkRMRSA9IDEwMDIwLAorICBORlNFUlJfQ0xJRF9JTlVTRSA9IDEwMDE3LAorICBORlNFUlJfUkVTT1VSQ0UgPSAxMDAxOCwKKyAgTkZTRVJSX01PVkVEID0gMTAwMTksCisgIE5GU0VSUl9OT0ZJTEVIQU5ETEUgPSAxMDAyMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX01JTk9SX1ZFUlNfTUlTTUFUQ0ggPSAxMDAyMSwKLSBORlNFUlJfU1RBTEVfQ0xJRU5USUQgPSAxMDAyMiwKLSBORlNFUlJfU1RBTEVfU1RBVEVJRCA9IDEwMDIzLAotIE5GU0VSUl9PTERfU1RBVEVJRCA9IDEwMDI0LAorICBORlNFUlJfTUlOT1JfVkVSU19NSVNNQVRDSCA9IDEwMDIxLAorICBORlNFUlJfU1RBTEVfQ0xJRU5USUQgPSAxMDAyMiwKKyAgTkZTRVJSX1NUQUxFX1NUQVRFSUQgPSAxMDAyMywKKyAgTkZTRVJSX09MRF9TVEFURUlEID0gMTAwMjQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9CQURfU1RBVEVJRCA9IDEwMDI1LAotIE5GU0VSUl9CQURfU0VRSUQgPSAxMDAyNiwKLSBORlNFUlJfTk9UX1NBTUUgPSAxMDAyNywKLSBORlNFUlJfTE9DS19SQU5HRSA9IDEwMDI4LAorICBORlNFUlJfQkFEX1NUQVRFSUQgPSAxMDAyNSwKKyAgTkZTRVJSX0JBRF9TRVFJRCA9IDEwMDI2LAorICBORlNFUlJfTk9UX1NBTUUgPSAxMDAyNywKKyAgTkZTRVJSX0xPQ0tfUkFOR0UgPSAxMDAyOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX1NZTUxJTksgPSAxMDAyOSwKLSBORlNFUlJfUkVTVE9SRUZIID0gMTAwMzAsCi0gTkZTRVJSX0xFQVNFX01PVkVEID0gMTAwMzEsCi0gTkZTRVJSX0FUVFJOT1RTVVBQID0gMTAwMzIsCisgIE5GU0VSUl9TWU1MSU5LID0gMTAwMjksCisgIE5GU0VSUl9SRVNUT1JFRkggPSAxMDAzMCwKKyAgTkZTRVJSX0xFQVNFX01PVkVEID0gMTAwMzEsCisgIE5GU0VSUl9BVFRSTk9UU1VQUCA9IDEwMDMyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlNFUlJfTk9fR1JBQ0UgPSAxMDAzMywKLSBORlNFUlJfUkVDTEFJTV9CQUQgPSAxMDAzNCwKLSBORlNFUlJfUkVDTEFJTV9DT05GTElDVCA9IDEwMDM1LAotIE5GU0VSUl9CQURfWERSID0gMTAwMzYsCisgIE5GU0VSUl9OT19HUkFDRSA9IDEwMDMzLAorICBORlNFUlJfUkVDTEFJTV9CQUQgPSAxMDAzNCwKKyAgTkZTRVJSX1JFQ0xBSU1fQ09ORkxJQ1QgPSAxMDAzNSwKKyAgTkZTRVJSX0JBRF9YRFIgPSAxMDAzNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX0xPQ0tTX0hFTEQgPSAxMDAzNywKLSBORlNFUlJfT1BFTk1PREUgPSAxMDAzOCwKLSBORlNFUlJfQkFET1dORVIgPSAxMDAzOSwKLSBORlNFUlJfQkFEQ0hBUiA9IDEwMDQwLAorICBORlNFUlJfTE9DS1NfSEVMRCA9IDEwMDM3LAorICBORlNFUlJfT1BFTk1PREUgPSAxMDAzOCwKKyAgTkZTRVJSX0JBRE9XTkVSID0gMTAwMzksCisgIE5GU0VSUl9CQURDSEFSID0gMTAwNDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU0VSUl9CQUROQU1FID0gMTAwNDEsCi0gTkZTRVJSX0JBRF9SQU5HRSA9IDEwMDQyLAotIE5GU0VSUl9MT0NLX05PVFNVUFAgPSAxMDA0MywKLSBORlNFUlJfT1BfSUxMRUdBTCA9IDEwMDQ0LAorICBORlNFUlJfQkFETkFNRSA9IDEwMDQxLAorICBORlNFUlJfQkFEX1JBTkdFID0gMTAwNDIsCisgIE5GU0VSUl9MT0NLX05PVFNVUFAgPSAxMDA0MywKKyAgTkZTRVJSX09QX0lMTEVHQUwgPSAxMDA0NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZTRVJSX0RFQURMT0NLID0gMTAwNDUsCi0gTkZTRVJSX0ZJTEVfT1BFTiA9IDEwMDQ2LAotIE5GU0VSUl9BRE1JTl9SRVZPS0VEID0gMTAwNDcsCi0gTkZTRVJSX0NCX1BBVEhfRE9XTiA9IDEwMDQ4LAorICBORlNFUlJfREVBRExPQ0sgPSAxMDA0NSwKKyAgTkZTRVJSX0ZJTEVfT1BFTiA9IDEwMDQ2LAorICBORlNFUlJfQURNSU5fUkVWT0tFRCA9IDEwMDQ3LAorICBORlNFUlJfQ0JfUEFUSF9ET1dOID0gMTAwNDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gbmZzX2Z0eXBlIHsKLSBORk5PTiA9IDAsCi0gTkZSRUcgPSAxLAorICBORk5PTiA9IDAsCisgIE5GUkVHID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkZESVIgPSAyLAotIE5GQkxLID0gMywKLSBORkNIUiA9IDQsCi0gTkZMTksgPSA1LAorICBORkRJUiA9IDIsCisgIE5GQkxLID0gMywKKyAgTkZDSFIgPSA0LAorICBORkxOSyA9IDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GU09DSyA9IDYsCi0gTkZCQUQgPSA3LAotIE5GRklGTyA9IDgKKyAgTkZTT0NLID0gNiwKKyAgTkZCQUQgPSA3LAorICBORkZJRk8gPSA4CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnMyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczIuaAppbmRleCAzMWQ3MzFiLi4xMGFhZmU5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczIuaApAQCAtMjcsNyArMjcsNyBAQAogI2RlZmluZSBORlMyX0ZIU0laRSAzMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTkZTMl9DT09LSUVTSVpFIDQKLSNkZWZpbmUgTkZTMl9GSUZPX0RFViAoLTEpCisjZGVmaW5lIE5GUzJfRklGT19ERVYgKC0gMSkKICNkZWZpbmUgTkZTMk1PREVfRk1UIDAxNzAwMDAKICNkZWZpbmUgTkZTMk1PREVfRElSIDAwNDAwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0zOSwyMSArMzksMjEgQEAKICNkZWZpbmUgTkZTMk1PREVfU09DSyAwMTQwMDAwCiAjZGVmaW5lIE5GUzJNT0RFX0ZJRk8gMDAxMDAwMAogZW51bSBuZnMyX2Z0eXBlIHsKLSBORjJOT04gPSAwLAorICBORjJOT04gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORjJSRUcgPSAxLAotIE5GMkRJUiA9IDIsCi0gTkYyQkxLID0gMywKLSBORjJDSFIgPSA0LAorICBORjJSRUcgPSAxLAorICBORjJESVIgPSAyLAorICBORjJCTEsgPSAzLAorICBORjJDSFIgPSA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORjJMTksgPSA1LAotIE5GMlNPQ0sgPSA2LAotIE5GMkJBRCA9IDcsCi0gTkYyRklGTyA9IDgKKyAgTkYyTE5LID0gNSwKKyAgTkYyU09DSyA9IDYsCisgIE5GMkJBRCA9IDcsCisgIE5GMkZJRk8gPSA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBuZnMyX2ZoIHsKLSBjaGFyIGRhdGFbTkZTMl9GSFNJWkVdOworICBjaGFyIGRhdGFbTkZTMl9GSFNJWkVdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GUzJfVkVSU0lPTiAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzMy5oCmluZGV4IDJjZGNlNGIuLmRiNmRjNGIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzMy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzMy5oCkBAIC0zMSw3ICszMSw3IEBACiAjZGVmaW5lIE5GUzNfQ09PS0lFVkVSRlNJWkUgOAogI2RlZmluZSBORlMzX1dSSVRFVkVSRlNJWkUgOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTkZTM19GSUZPX0RFViAoLTEpCisjZGVmaW5lIE5GUzNfRklGT19ERVYgKC0gMSkKICNkZWZpbmUgTkZTM01PREVfRk1UIDAxNzAwMDAKICNkZWZpbmUgTkZTM01PREVfRElSIDAwNDAwMDAKICNkZWZpbmUgTkZTM01PREVfQ0hSIDAwMjAwMDAKQEAgLTUyLDkgKzUyLDkgQEAKICNkZWZpbmUgTkZTM19BQ0NFU1NfRlVMTCAweDAwM2YKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mczNfY3JlYXRlbW9kZSB7Ci0gTkZTM19DUkVBVEVfVU5DSEVDS0VEID0gMCwKLSBORlMzX0NSRUFURV9HVUFSREVEID0gMSwKLSBORlMzX0NSRUFURV9FWENMVVNJVkUgPSAyCisgIE5GUzNfQ1JFQVRFX1VOQ0hFQ0tFRCA9IDAsCisgIE5GUzNfQ1JFQVRFX0dVQVJERUQgPSAxLAorICBORlMzX0NSRUFURV9FWENMVVNJVkUgPSAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgTkZTM19GU0ZfTElOSyAweDAwMDEKQEAgLTY3LDIyICs2NywyMiBAQAogI2RlZmluZSBORlMzX0ZTRl9SRUFET05MWSAweDAwMDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5mczNfZnR5cGUgewotIE5GM05PTiA9IDAsCi0gTkYzUkVHID0gMSwKLSBORjNESVIgPSAyLAorICBORjNOT04gPSAwLAorICBORjNSRUcgPSAxLAorICBORjNESVIgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORjNCTEsgPSAzLAotIE5GM0NIUiA9IDQsCi0gTkYzTE5LID0gNSwKLSBORjNTT0NLID0gNiwKKyAgTkYzQkxLID0gMywKKyAgTkYzQ0hSID0gNCwKKyAgTkYzTE5LID0gNSwKKyAgTkYzU09DSyA9IDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5GM0ZJRk8gPSA3LAotIE5GM0JBRCA9IDgKKyAgTkYzRklGTyA9IDcsCisgIE5GM0JBRCA9IDgKIH07CiBzdHJ1Y3QgbmZzM19maCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHNpemU7Ci0gdW5zaWduZWQgY2hhciBkYXRhW05GUzNfRkhTSVpFXTsKKyAgdW5zaWduZWQgc2hvcnQgc2l6ZTsKKyAgdW5zaWduZWQgY2hhciBkYXRhW05GUzNfRkhTSVpFXTsKIH07CiAjZGVmaW5lIE5GUzNfVkVSU0lPTiAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnM0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczQuaAppbmRleCAyOTQ0NjkzLi5iMGRkOTI1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mczQuaApAQCAtMTU3LDE1ICsxNTcsMTUgQEAKICNkZWZpbmUgTkZTNF9TRUNJTkZPX1NUWUxFNF9DVVJSRU5UX0ZIIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GUzRfU0VDSU5GT19TVFlMRTRfUEFSRU5UIDEKLSNkZWZpbmUgTkZTNF9NQVhfVUlOVDY0ICh+KF9fdTY0KTApCisjZGVmaW5lIE5GUzRfTUFYX1VJTlQ2NCAofihfX3U2NCkgMCkKICNkZWZpbmUgTkZTNF9NQVhfT1BTIDgKICNkZWZpbmUgTkZTNF9NQVhfQkFDS19DSEFOTkVMX09QUyAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBuZnM0X2FjbF93aG90eXBlIHsKLSBORlM0X0FDTF9XSE9fTkFNRUQgPSAwLAotIE5GUzRfQUNMX1dIT19PV05FUiwKLSBORlM0X0FDTF9XSE9fR1JPVVAsCisgIE5GUzRfQUNMX1dIT19OQU1FRCA9IDAsCisgIE5GUzRfQUNMX1dIT19PV05FUiwKKyAgTkZTNF9BQ0xfV0hPX0dST1VQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORlM0X0FDTF9XSE9fRVZFUllPTkUsCisgIE5GUzRfQUNMX1dIT19FVkVSWU9ORSwKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzNF9tb3VudC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnM0X21vdW50LmgKaW5kZXggOGQ4NDQxNi4uNjRhYWRlOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnM0X21vdW50LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnM0X21vdW50LmgKQEAgLTIxLDMzICsyMSwzMyBAQAogI2RlZmluZSBORlM0X01PVU5UX1ZFUlNJT04gMQogc3RydWN0IG5mc19zdHJpbmcgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbGVuOwotIGNvbnN0IGNoYXIgX191c2VyICogZGF0YTsKKyAgdW5zaWduZWQgaW50IGxlbjsKKyAgY29uc3QgY2hhciBfX3VzZXIgKiBkYXRhOwogfTsKIHN0cnVjdCBuZnM0X21vdW50X2RhdGEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdmVyc2lvbjsKLSBpbnQgZmxhZ3M7Ci0gaW50IHJzaXplOwotIGludCB3c2l6ZTsKKyAgaW50IHZlcnNpb247CisgIGludCBmbGFnczsKKyAgaW50IHJzaXplOworICBpbnQgd3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0aW1lbzsKLSBpbnQgcmV0cmFuczsKLSBpbnQgYWNyZWdtaW47Ci0gaW50IGFjcmVnbWF4OworICBpbnQgdGltZW87CisgIGludCByZXRyYW5zOworICBpbnQgYWNyZWdtaW47CisgIGludCBhY3JlZ21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGFjZGlybWluOwotIGludCBhY2Rpcm1heDsKLSBzdHJ1Y3QgbmZzX3N0cmluZyBjbGllbnRfYWRkcjsKLSBzdHJ1Y3QgbmZzX3N0cmluZyBtbnRfcGF0aDsKKyAgaW50IGFjZGlybWluOworICBpbnQgYWNkaXJtYXg7CisgIHN0cnVjdCBuZnNfc3RyaW5nIGNsaWVudF9hZGRyOworICBzdHJ1Y3QgbmZzX3N0cmluZyBtbnRfcGF0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IG5mc19zdHJpbmcgaG9zdG5hbWU7Ci0gdW5zaWduZWQgaW50IGhvc3RfYWRkcmxlbjsKLSBzdHJ1Y3Qgc29ja2FkZHIgX191c2VyICogaG9zdF9hZGRyOwotIGludCBwcm90bzsKKyAgc3RydWN0IG5mc19zdHJpbmcgaG9zdG5hbWU7CisgIHVuc2lnbmVkIGludCBob3N0X2FkZHJsZW47CisgIHN0cnVjdCBzb2NrYWRkciBfX3VzZXIgKiBob3N0X2FkZHI7CisgIGludCBwcm90bzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGF1dGhfZmxhdm91cmxlbjsKLSBpbnQgX191c2VyICphdXRoX2ZsYXZvdXJzOworICBpbnQgYXV0aF9mbGF2b3VybGVuOworICBpbnQgX191c2VyICogYXV0aF9mbGF2b3VyczsKIH07CiAjZGVmaW5lIE5GUzRfTU9VTlRfU09GVCAweDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc19mcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNfZnMuaAppbmRleCBmMzQwZmIxLi5iNzcxY2ZiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc19mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzX2ZzLmgKQEAgLTI0LDkgKzI0LDkgQEAKICNkZWZpbmUgTkZTX0RFRl9VRFBfUkVUUkFOUyAoMykKICNkZWZpbmUgTkZTX0RFRl9UQ1BfVElNRU8gKDYwMCkKICNkZWZpbmUgTkZTX0RFRl9UQ1BfUkVUUkFOUyAoMikKLSNkZWZpbmUgTkZTX01BWF9VRFBfVElNRU9VVCAoNjAqSFopCisjZGVmaW5lIE5GU19NQVhfVURQX1RJTUVPVVQgKDYwICogSFopCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBORlNfTUFYX1RDUF9USU1FT1VUICg2MDAqSFopCisjZGVmaW5lIE5GU19NQVhfVENQX1RJTUVPVVQgKDYwMCAqIEhaKQogI2RlZmluZSBORlNfREVGX0FDUkVHTUlOICgzKQogI2RlZmluZSBORlNfREVGX0FDUkVHTUFYICg2MCkKICNkZWZpbmUgTkZTX0RFRl9BQ0RJUk1JTiAoMzApCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc19pZG1hcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNfaWRtYXAuaAppbmRleCAwMzliZjQwLi41ZjVjMGViIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc19pZG1hcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzX2lkbWFwLmgKQEAgLTMyLDEyICszMiwxMiBAQAogI2RlZmluZSBJRE1BUF9TVEFUVVNfU1VDQ0VTUyAweDA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlkbWFwX21zZyB7Ci0gX191OCBpbV90eXBlOwotIF9fdTggaW1fY29udjsKLSBjaGFyIGltX25hbWVbSURNQVBfTkFNRVNaXTsKKyAgX191OCBpbV90eXBlOworICBfX3U4IGltX2NvbnY7CisgIGNoYXIgaW1fbmFtZVtJRE1BUF9OQU1FU1pdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbV9pZDsKLSBfX3U4IGltX3N0YXR1czsKKyAgX191MzIgaW1faWQ7CisgIF9fdTggaW1fc3RhdHVzOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzX21vdW50LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc19tb3VudC5oCmluZGV4IGRjOTZlZDIuLjE2ZWQ0NjAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzX21vdW50LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNfbW91bnQuaApAQCAtMjcsMjkgKzI3LDI5IEBACiAjZGVmaW5lIE5GU19NQVhfQ09OVEVYVF9MRU4gMjU2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5mc19tb3VudF9kYXRhIHsKLSBpbnQgdmVyc2lvbjsKLSBpbnQgZmQ7Ci0gc3RydWN0IG5mczJfZmggb2xkX3Jvb3Q7CisgIGludCB2ZXJzaW9uOworICBpbnQgZmQ7CisgIHN0cnVjdCBuZnMyX2ZoIG9sZF9yb290OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZmxhZ3M7Ci0gaW50IHJzaXplOwotIGludCB3c2l6ZTsKLSBpbnQgdGltZW87CisgIGludCBmbGFnczsKKyAgaW50IHJzaXplOworICBpbnQgd3NpemU7CisgIGludCB0aW1lbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHJldHJhbnM7Ci0gaW50IGFjcmVnbWluOwotIGludCBhY3JlZ21heDsKLSBpbnQgYWNkaXJtaW47CisgIGludCByZXRyYW5zOworICBpbnQgYWNyZWdtaW47CisgIGludCBhY3JlZ21heDsKKyAgaW50IGFjZGlybWluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgYWNkaXJtYXg7Ci0gc3RydWN0IHNvY2thZGRyX2luIGFkZHI7Ci0gY2hhciBob3N0bmFtZVtORlNfTUFYTkFNTEVOICsgMV07Ci0gaW50IG5hbWxlbjsKKyAgaW50IGFjZGlybWF4OworICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcjsKKyAgY2hhciBob3N0bmFtZVtORlNfTUFYTkFNTEVOICsgMV07CisgIGludCBuYW1sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBic2l6ZTsKLSBzdHJ1Y3QgbmZzM19maCByb290OwotIGludCBwc2V1ZG9mbGF2b3I7Ci0gY2hhciBjb250ZXh0W05GU19NQVhfQ09OVEVYVF9MRU4gKyAxXTsKKyAgdW5zaWduZWQgaW50IGJzaXplOworICBzdHJ1Y3QgbmZzM19maCByb290OworICBpbnQgcHNldWRvZmxhdm9yOworICBjaGFyIGNvbnRleHRbTkZTX01BWF9DT05URVhUX0xFTiArIDFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIE5GU19NT1VOVF9TT0ZUIDB4MDAwMQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNkL2NsZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNkL2NsZC5oCmluZGV4IDE2YjM2MjkuLjM1OTM2MzQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzZC9jbGQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2QvY2xkLmgKQEAgLTIyLDI4ICsyMiwyOCBAQAogI2RlZmluZSBORlM0X09QQVFVRV9MSU1JVCAxMDI0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBjbGRfY29tbWFuZCB7Ci0gQ2xkX0NyZWF0ZSwKLSBDbGRfUmVtb3ZlLAotIENsZF9DaGVjaywKKyAgQ2xkX0NyZWF0ZSwKKyAgQ2xkX1JlbW92ZSwKKyAgQ2xkX0NoZWNrLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDbGRfR3JhY2VEb25lLAorICBDbGRfR3JhY2VEb25lLAogfTsKIHN0cnVjdCBjbGRfbmFtZSB7Ci0gdWludDE2X3QgY25fbGVuOworICB1aW50MTZfdCBjbl9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgY25faWRbTkZTNF9PUEFRVUVfTElNSVRdOworICB1bnNpZ25lZCBjaGFyIGNuX2lkW05GUzRfT1BBUVVFX0xJTUlUXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgY2xkX21zZyB7Ci0gdWludDhfdCBjbV92ZXJzOworICB1aW50OF90IGNtX3ZlcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ4X3QgY21fY21kOwotIGludDE2X3QgY21fc3RhdHVzOwotIHVpbnQzMl90IGNtX3hpZDsKLSB1bmlvbiB7CisgIHVpbnQ4X3QgY21fY21kOworICBpbnQxNl90IGNtX3N0YXR1czsKKyAgdWludDMyX3QgY21feGlkOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludDY0X3QgY21fZ3JhY2V0aW1lOwotIHN0cnVjdCBjbGRfbmFtZSBjbV9uYW1lOwotIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgY21fdTsKKyAgICBpbnQ2NF90IGNtX2dyYWNldGltZTsKKyAgICBzdHJ1Y3QgY2xkX25hbWUgY21fbmFtZTsKKyAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBjbV91OwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzZC9leHBvcnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmZzZC9leHBvcnQuaAppbmRleCA1ZjhhZDg4Li40ZDdiZmFkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2QvZXhwb3J0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNkL2V4cG9ydC5oCkBAIC0zMSwxNiArMzEsMTggQEAKICNkZWZpbmUgTkZTRVhQX0FTWU5DIDB4MDAxMAogI2RlZmluZSBORlNFWFBfR0FUSEVSRURfV1JJVEVTIDB4MDAyMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTkZTRVhQX05PUkVBRERJUlBMVVMgMHgwMDQwCiAjZGVmaW5lIE5GU0VYUF9OT0hJREUgMHgwMjAwCiAjZGVmaW5lIE5GU0VYUF9OT1NVQlRSRUVDSEVDSyAweDA0MDAKICNkZWZpbmUgTkZTRVhQX05PQVVUSE5MTSAweDA4MDAKLSNkZWZpbmUgTkZTRVhQX01TTkZTIDB4MTAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTkZTRVhQX01TTkZTIDB4MTAwMAogI2RlZmluZSBORlNFWFBfRlNJRCAweDIwMDAKICNkZWZpbmUgTkZTRVhQX0NST1NTTU9VTlQgMHg0MDAwCiAjZGVmaW5lIE5GU0VYUF9OT0FDTCAweDgwMDAKLSNkZWZpbmUgTkZTRVhQX1Y0Uk9PVCAweDEwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBORlNFWFBfQUxMRkxBR1MgMHgxN0UzRgotI2RlZmluZSBORlNFWFBfU0VDSU5GT19GTEFHUyAoTkZTRVhQX1JFQURPTkxZIHwgTkZTRVhQX1JPT1RTUVVBU0ggICB8IE5GU0VYUF9BTExTUVVBU0ggICB8IE5GU0VYUF9JTlNFQ1VSRV9QT1JUKQorI2RlZmluZSBORlNFWFBfVjRST09UIDB4MTAwMDAKKyNkZWZpbmUgTkZTRVhQX0FMTEZMQUdTIDB4MUZFN0YKKyNkZWZpbmUgTkZTRVhQX1NFQ0lORk9fRkxBR1MgKE5GU0VYUF9SRUFET05MWSB8IE5GU0VYUF9ST09UU1FVQVNIIHwgTkZTRVhQX0FMTFNRVUFTSCB8IE5GU0VYUF9JTlNFQ1VSRV9QT1JUKQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNkL25mc2ZoLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2QvbmZzZmguaAppbmRleCBkMDg5NDEyLi4yODU5MzZjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2QvbmZzZmguaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2QvbmZzZmguaApAQCAtMjYsMzMgKzI2LDMzIEBACiAjaW5jbHVkZSA8bGludXgvbmZzNC5oPgogc3RydWN0IG5mc19maGJhc2Vfb2xkIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmJfZGNvb2tpZTsKLSBfX3UzMiBmYl9pbm87Ci0gX191MzIgZmJfZGlyaW5vOwotIF9fdTMyIGZiX2RldjsKKyAgX191MzIgZmJfZGNvb2tpZTsKKyAgX191MzIgZmJfaW5vOworICBfX3UzMiBmYl9kaXJpbm87CisgIF9fdTMyIGZiX2RldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmJfeGRldjsKLSBfX3UzMiBmYl94aW5vOwotIF9fdTMyIGZiX2dlbmVyYXRpb247CisgIF9fdTMyIGZiX3hkZXY7CisgIF9fdTMyIGZiX3hpbm87CisgIF9fdTMyIGZiX2dlbmVyYXRpb247CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuZnNfZmhiYXNlX25ldyB7Ci0gX191OCBmYl92ZXJzaW9uOwotIF9fdTggZmJfYXV0aF90eXBlOwotIF9fdTggZmJfZnNpZF90eXBlOworICBfX3U4IGZiX3ZlcnNpb247CisgIF9fdTggZmJfYXV0aF90eXBlOworICBfX3U4IGZiX2ZzaWRfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmYl9maWxlaWRfdHlwZTsKLSBfX3UzMiBmYl9hdXRoWzFdOworICBfX3U4IGZiX2ZpbGVpZF90eXBlOworICBfX3UzMiBmYl9hdXRoWzFdOwogfTsKIHN0cnVjdCBrbmZzZF9maCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBmaF9zaXplOwotIHVuaW9uIHsKLSBzdHJ1Y3QgbmZzX2ZoYmFzZV9vbGQgZmhfb2xkOwotIF9fdTMyIGZoX3BhZFtORlM0X0ZIU0laRS80XTsKKyAgdW5zaWduZWQgaW50IGZoX3NpemU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgbmZzX2ZoYmFzZV9vbGQgZmhfb2xkOworICAgIF9fdTMyIGZoX3BhZFtORlM0X0ZIU0laRSAvIDRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgbmZzX2ZoYmFzZV9uZXcgZmhfbmV3OwotIH0gZmhfYmFzZTsKKyAgICBzdHJ1Y3QgbmZzX2ZoYmFzZV9uZXcgZmhfbmV3OworICB9IGZoX2Jhc2U7CiB9OwogI2RlZmluZSBvZmhfZGNvb2tpZSBmaF9iYXNlLmZoX29sZC5mYl9kY29va2llCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNjgsNyArNjgsNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgZmhfYXV0aF90eXBlIGZoX2Jhc2UuZmhfbmV3LmZiX2F1dGhfdHlwZQogI2RlZmluZSBmaF9maWxlaWRfdHlwZSBmaF9iYXNlLmZoX25ldy5mYl9maWxlaWRfdHlwZQotI2RlZmluZSBmaF9hdXRoIGZoX2Jhc2UuZmhfbmV3LmZiX2F1dGgKICNkZWZpbmUgZmhfZnNpZCBmaF9iYXNlLmZoX25ldy5mYl9hdXRoCisjZGVmaW5lIGZoX2F1dGggZmhfYmFzZS5maF9uZXcuZmJfYXV0aAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9uZnNkL3N0YXRzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2Qvc3RhdHMuaAppbmRleCA3NTdiN2Q3Li4zYzQ5YmJjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2Qvc3RhdHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L25mc2Qvc3RhdHMuaApAQCAtMTksNiArMTksNiBAQAogI2lmbmRlZiBfVUFQSUxJTlVYX05GU0RfU1RBVFNfSAogI2RlZmluZSBfVUFQSUxJTlVYX05GU0RfU1RBVFNfSAogI2luY2x1ZGUgPGxpbnV4L25mczQuaD4KLSNkZWZpbmUgTkZTRF9VU0FHRV9XUkFQIChIWioxMDAwMDAwKQorI2RlZmluZSBORlNEX1VTQUdFX1dSQVAgKEhaICogMTAwMDAwMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbmw4MDIxMS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ubDgwMjExLmgKaW5kZXggMDFjNTBjZC4uYWU2ZDZkOCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ubDgwMjExLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ubDgwMjExLmgKQEAgLTIyLDQxNiArMjIsNDM2IEBACiAjZGVmaW5lIE5MODAyMTFfR0VOTF9OQU1FICJubDgwMjExIgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9jb21tYW5kcyB7Ci0gTkw4MDIxMV9DTURfVU5TUEVDLAotIE5MODAyMTFfQ01EX0dFVF9XSVBIWSwKLSBOTDgwMjExX0NNRF9TRVRfV0lQSFksCisgIE5MODAyMTFfQ01EX1VOU1BFQywKKyAgTkw4MDIxMV9DTURfR0VUX1dJUEhZLAorICBOTDgwMjExX0NNRF9TRVRfV0lQSFksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX05FV19XSVBIWSwKLSBOTDgwMjExX0NNRF9ERUxfV0lQSFksCi0gTkw4MDIxMV9DTURfR0VUX0lOVEVSRkFDRSwKLSBOTDgwMjExX0NNRF9TRVRfSU5URVJGQUNFLAorICBOTDgwMjExX0NNRF9ORVdfV0lQSFksCisgIE5MODAyMTFfQ01EX0RFTF9XSVBIWSwKKyAgTkw4MDIxMV9DTURfR0VUX0lOVEVSRkFDRSwKKyAgTkw4MDIxMV9DTURfU0VUX0lOVEVSRkFDRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfTkVXX0lOVEVSRkFDRSwKLSBOTDgwMjExX0NNRF9ERUxfSU5URVJGQUNFLAotIE5MODAyMTFfQ01EX0dFVF9LRVksCi0gTkw4MDIxMV9DTURfU0VUX0tFWSwKKyAgTkw4MDIxMV9DTURfTkVXX0lOVEVSRkFDRSwKKyAgTkw4MDIxMV9DTURfREVMX0lOVEVSRkFDRSwKKyAgTkw4MDIxMV9DTURfR0VUX0tFWSwKKyAgTkw4MDIxMV9DTURfU0VUX0tFWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfTkVXX0tFWSwKLSBOTDgwMjExX0NNRF9ERUxfS0VZLAotIE5MODAyMTFfQ01EX0dFVF9CRUFDT04sCi0gTkw4MDIxMV9DTURfU0VUX0JFQUNPTiwKKyAgTkw4MDIxMV9DTURfTkVXX0tFWSwKKyAgTkw4MDIxMV9DTURfREVMX0tFWSwKKyAgTkw4MDIxMV9DTURfR0VUX0JFQUNPTiwKKyAgTkw4MDIxMV9DTURfU0VUX0JFQUNPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfU1RBUlRfQVAsCi0gTkw4MDIxMV9DTURfTkVXX0JFQUNPTiA9IE5MODAyMTFfQ01EX1NUQVJUX0FQLAotIE5MODAyMTFfQ01EX1NUT1BfQVAsCi0gTkw4MDIxMV9DTURfREVMX0JFQUNPTiA9IE5MODAyMTFfQ01EX1NUT1BfQVAsCisgIE5MODAyMTFfQ01EX1NUQVJUX0FQLAorICBOTDgwMjExX0NNRF9ORVdfQkVBQ09OID0gTkw4MDIxMV9DTURfU1RBUlRfQVAsCisgIE5MODAyMTFfQ01EX1NUT1BfQVAsCisgIE5MODAyMTFfQ01EX0RFTF9CRUFDT04gPSBOTDgwMjExX0NNRF9TVE9QX0FQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9HRVRfU1RBVElPTiwKLSBOTDgwMjExX0NNRF9TRVRfU1RBVElPTiwKLSBOTDgwMjExX0NNRF9ORVdfU1RBVElPTiwKLSBOTDgwMjExX0NNRF9ERUxfU1RBVElPTiwKKyAgTkw4MDIxMV9DTURfR0VUX1NUQVRJT04sCisgIE5MODAyMTFfQ01EX1NFVF9TVEFUSU9OLAorICBOTDgwMjExX0NNRF9ORVdfU1RBVElPTiwKKyAgTkw4MDIxMV9DTURfREVMX1NUQVRJT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX0dFVF9NUEFUSCwKLSBOTDgwMjExX0NNRF9TRVRfTVBBVEgsCi0gTkw4MDIxMV9DTURfTkVXX01QQVRILAotIE5MODAyMTFfQ01EX0RFTF9NUEFUSCwKKyAgTkw4MDIxMV9DTURfR0VUX01QQVRILAorICBOTDgwMjExX0NNRF9TRVRfTVBBVEgsCisgIE5MODAyMTFfQ01EX05FV19NUEFUSCwKKyAgTkw4MDIxMV9DTURfREVMX01QQVRILAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TRVRfQlNTLAotIE5MODAyMTFfQ01EX1NFVF9SRUcsCi0gTkw4MDIxMV9DTURfUkVRX1NFVF9SRUcsCi0gTkw4MDIxMV9DTURfR0VUX01FU0hfQ09ORklHLAorICBOTDgwMjExX0NNRF9TRVRfQlNTLAorICBOTDgwMjExX0NNRF9TRVRfUkVHLAorICBOTDgwMjExX0NNRF9SRVFfU0VUX1JFRywKKyAgTkw4MDIxMV9DTURfR0VUX01FU0hfQ09ORklHLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TRVRfTUVTSF9DT05GSUcsCi0gTkw4MDIxMV9DTURfU0VUX01HTVRfRVhUUkFfSUUgICwKLSBOTDgwMjExX0NNRF9HRVRfUkVHLAotIE5MODAyMTFfQ01EX0dFVF9TQ0FOLAorICBOTDgwMjExX0NNRF9TRVRfTUVTSF9DT05GSUcsCisgIE5MODAyMTFfQ01EX1NFVF9NR01UX0VYVFJBX0lFLAorICBOTDgwMjExX0NNRF9HRVRfUkVHLAorICBOTDgwMjExX0NNRF9HRVRfU0NBTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfVFJJR0dFUl9TQ0FOLAotIE5MODAyMTFfQ01EX05FV19TQ0FOX1JFU1VMVFMsCi0gTkw4MDIxMV9DTURfU0NBTl9BQk9SVEVELAotIE5MODAyMTFfQ01EX1JFR19DSEFOR0UsCisgIE5MODAyMTFfQ01EX1RSSUdHRVJfU0NBTiwKKyAgTkw4MDIxMV9DTURfTkVXX1NDQU5fUkVTVUxUUywKKyAgTkw4MDIxMV9DTURfU0NBTl9BQk9SVEVELAorICBOTDgwMjExX0NNRF9SRUdfQ0hBTkdFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9BVVRIRU5USUNBVEUsCi0gTkw4MDIxMV9DTURfQVNTT0NJQVRFLAotIE5MODAyMTFfQ01EX0RFQVVUSEVOVElDQVRFLAotIE5MODAyMTFfQ01EX0RJU0FTU09DSUFURSwKKyAgTkw4MDIxMV9DTURfQVVUSEVOVElDQVRFLAorICBOTDgwMjExX0NNRF9BU1NPQ0lBVEUsCisgIE5MODAyMTFfQ01EX0RFQVVUSEVOVElDQVRFLAorICBOTDgwMjExX0NNRF9ESVNBU1NPQ0lBVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX01JQ0hBRUxfTUlDX0ZBSUxVUkUsCi0gTkw4MDIxMV9DTURfUkVHX0JFQUNPTl9ISU5ULAotIE5MODAyMTFfQ01EX0pPSU5fSUJTUywKLSBOTDgwMjExX0NNRF9MRUFWRV9JQlNTLAorICBOTDgwMjExX0NNRF9NSUNIQUVMX01JQ19GQUlMVVJFLAorICBOTDgwMjExX0NNRF9SRUdfQkVBQ09OX0hJTlQsCisgIE5MODAyMTFfQ01EX0pPSU5fSUJTUywKKyAgTkw4MDIxMV9DTURfTEVBVkVfSUJTUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfVEVTVE1PREUsCi0gTkw4MDIxMV9DTURfQ09OTkVDVCwKLSBOTDgwMjExX0NNRF9ST0FNLAotIE5MODAyMTFfQ01EX0RJU0NPTk5FQ1QsCisgIE5MODAyMTFfQ01EX1RFU1RNT0RFLAorICBOTDgwMjExX0NNRF9DT05ORUNULAorICBOTDgwMjExX0NNRF9ST0FNLAorICBOTDgwMjExX0NNRF9ESVNDT05ORUNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TRVRfV0lQSFlfTkVUTlMsCi0gTkw4MDIxMV9DTURfR0VUX1NVUlZFWSwKLSBOTDgwMjExX0NNRF9ORVdfU1VSVkVZX1JFU1VMVFMsCi0gTkw4MDIxMV9DTURfU0VUX1BNS1NBLAorICBOTDgwMjExX0NNRF9TRVRfV0lQSFlfTkVUTlMsCisgIE5MODAyMTFfQ01EX0dFVF9TVVJWRVksCisgIE5MODAyMTFfQ01EX05FV19TVVJWRVlfUkVTVUxUUywKKyAgTkw4MDIxMV9DTURfU0VUX1BNS1NBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9ERUxfUE1LU0EsCi0gTkw4MDIxMV9DTURfRkxVU0hfUE1LU0EsCi0gTkw4MDIxMV9DTURfUkVNQUlOX09OX0NIQU5ORUwsCi0gTkw4MDIxMV9DTURfQ0FOQ0VMX1JFTUFJTl9PTl9DSEFOTkVMLAorICBOTDgwMjExX0NNRF9ERUxfUE1LU0EsCisgIE5MODAyMTFfQ01EX0ZMVVNIX1BNS1NBLAorICBOTDgwMjExX0NNRF9SRU1BSU5fT05fQ0hBTk5FTCwKKyAgTkw4MDIxMV9DTURfQ0FOQ0VMX1JFTUFJTl9PTl9DSEFOTkVMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TRVRfVFhfQklUUkFURV9NQVNLLAotIE5MODAyMTFfQ01EX1JFR0lTVEVSX0ZSQU1FLAotIE5MODAyMTFfQ01EX1JFR0lTVEVSX0FDVElPTiA9IE5MODAyMTFfQ01EX1JFR0lTVEVSX0ZSQU1FLAotIE5MODAyMTFfQ01EX0ZSQU1FLAorICBOTDgwMjExX0NNRF9TRVRfVFhfQklUUkFURV9NQVNLLAorICBOTDgwMjExX0NNRF9SRUdJU1RFUl9GUkFNRSwKKyAgTkw4MDIxMV9DTURfUkVHSVNURVJfQUNUSU9OID0gTkw4MDIxMV9DTURfUkVHSVNURVJfRlJBTUUsCisgIE5MODAyMTFfQ01EX0ZSQU1FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9BQ1RJT04gPSBOTDgwMjExX0NNRF9GUkFNRSwKLSBOTDgwMjExX0NNRF9GUkFNRV9UWF9TVEFUVVMsCi0gTkw4MDIxMV9DTURfQUNUSU9OX1RYX1NUQVRVUyA9IE5MODAyMTFfQ01EX0ZSQU1FX1RYX1NUQVRVUywKLSBOTDgwMjExX0NNRF9TRVRfUE9XRVJfU0FWRSwKKyAgTkw4MDIxMV9DTURfQUNUSU9OID0gTkw4MDIxMV9DTURfRlJBTUUsCisgIE5MODAyMTFfQ01EX0ZSQU1FX1RYX1NUQVRVUywKKyAgTkw4MDIxMV9DTURfQUNUSU9OX1RYX1NUQVRVUyA9IE5MODAyMTFfQ01EX0ZSQU1FX1RYX1NUQVRVUywKKyAgTkw4MDIxMV9DTURfU0VUX1BPV0VSX1NBVkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX0dFVF9QT1dFUl9TQVZFLAotIE5MODAyMTFfQ01EX1NFVF9DUU0sCi0gTkw4MDIxMV9DTURfTk9USUZZX0NRTSwKLSBOTDgwMjExX0NNRF9TRVRfQ0hBTk5FTCwKKyAgTkw4MDIxMV9DTURfR0VUX1BPV0VSX1NBVkUsCisgIE5MODAyMTFfQ01EX1NFVF9DUU0sCisgIE5MODAyMTFfQ01EX05PVElGWV9DUU0sCisgIE5MODAyMTFfQ01EX1NFVF9DSEFOTkVMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TRVRfV0RTX1BFRVIsCi0gTkw4MDIxMV9DTURfRlJBTUVfV0FJVF9DQU5DRUwsCi0gTkw4MDIxMV9DTURfSk9JTl9NRVNILAotIE5MODAyMTFfQ01EX0xFQVZFX01FU0gsCisgIE5MODAyMTFfQ01EX1NFVF9XRFNfUEVFUiwKKyAgTkw4MDIxMV9DTURfRlJBTUVfV0FJVF9DQU5DRUwsCisgIE5MODAyMTFfQ01EX0pPSU5fTUVTSCwKKyAgTkw4MDIxMV9DTURfTEVBVkVfTUVTSCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfVU5QUk9UX0RFQVVUSEVOVElDQVRFLAotIE5MODAyMTFfQ01EX1VOUFJPVF9ESVNBU1NPQ0lBVEUsCi0gTkw4MDIxMV9DTURfTkVXX1BFRVJfQ0FORElEQVRFLAotIE5MODAyMTFfQ01EX0dFVF9XT1dMQU4sCisgIE5MODAyMTFfQ01EX1VOUFJPVF9ERUFVVEhFTlRJQ0FURSwKKyAgTkw4MDIxMV9DTURfVU5QUk9UX0RJU0FTU09DSUFURSwKKyAgTkw4MDIxMV9DTURfTkVXX1BFRVJfQ0FORElEQVRFLAorICBOTDgwMjExX0NNRF9HRVRfV09XTEFOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TRVRfV09XTEFOLAotIE5MODAyMTFfQ01EX1NUQVJUX1NDSEVEX1NDQU4sCi0gTkw4MDIxMV9DTURfU1RPUF9TQ0hFRF9TQ0FOLAotIE5MODAyMTFfQ01EX1NDSEVEX1NDQU5fUkVTVUxUUywKKyAgTkw4MDIxMV9DTURfU0VUX1dPV0xBTiwKKyAgTkw4MDIxMV9DTURfU1RBUlRfU0NIRURfU0NBTiwKKyAgTkw4MDIxMV9DTURfU1RPUF9TQ0hFRF9TQ0FOLAorICBOTDgwMjExX0NNRF9TQ0hFRF9TQ0FOX1JFU1VMVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX1NDSEVEX1NDQU5fU1RPUFBFRCwKLSBOTDgwMjExX0NNRF9TRVRfUkVLRVlfT0ZGTE9BRCwKLSBOTDgwMjExX0NNRF9QTUtTQV9DQU5ESURBVEUsCi0gTkw4MDIxMV9DTURfVERMU19PUEVSLAorICBOTDgwMjExX0NNRF9TQ0hFRF9TQ0FOX1NUT1BQRUQsCisgIE5MODAyMTFfQ01EX1NFVF9SRUtFWV9PRkZMT0FELAorICBOTDgwMjExX0NNRF9QTUtTQV9DQU5ESURBVEUsCisgIE5MODAyMTFfQ01EX1RETFNfT1BFUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfVERMU19NR01ULAotIE5MODAyMTFfQ01EX1VORVhQRUNURURfRlJBTUUsCi0gTkw4MDIxMV9DTURfUFJPQkVfQ0xJRU5ULAotIE5MODAyMTFfQ01EX1JFR0lTVEVSX0JFQUNPTlMsCisgIE5MODAyMTFfQ01EX1RETFNfTUdNVCwKKyAgTkw4MDIxMV9DTURfVU5FWFBFQ1RFRF9GUkFNRSwKKyAgTkw4MDIxMV9DTURfUFJPQkVfQ0xJRU5ULAorICBOTDgwMjExX0NNRF9SRUdJU1RFUl9CRUFDT05TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9VTkVYUEVDVEVEXzRBRERSX0ZSQU1FLAotIE5MODAyMTFfQ01EX1NFVF9OT0FDS19NQVAsCi0gTkw4MDIxMV9DTURfQ0hfU1dJVENIX05PVElGWSwKLSBOTDgwMjExX0NNRF9TVEFSVF9QMlBfREVWSUNFLAorICBOTDgwMjExX0NNRF9VTkVYUEVDVEVEXzRBRERSX0ZSQU1FLAorICBOTDgwMjExX0NNRF9TRVRfTk9BQ0tfTUFQLAorICBOTDgwMjExX0NNRF9DSF9TV0lUQ0hfTk9USUZZLAorICBOTDgwMjExX0NNRF9TVEFSVF9QMlBfREVWSUNFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NNRF9TVE9QX1AyUF9ERVZJQ0UsCi0gTkw4MDIxMV9DTURfQ09OTl9GQUlMRUQsCi0gTkw4MDIxMV9DTURfU0VUX01DQVNUX1JBVEUsCi0gTkw4MDIxMV9DTURfU0VUX01BQ19BQ0wsCisgIE5MODAyMTFfQ01EX1NUT1BfUDJQX0RFVklDRSwKKyAgTkw4MDIxMV9DTURfQ09OTl9GQUlMRUQsCisgIE5MODAyMTFfQ01EX1NFVF9NQ0FTVF9SQVRFLAorICBOTDgwMjExX0NNRF9TRVRfTUFDX0FDTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DTURfUkFEQVJfREVURUNULAotIE5MODAyMTFfQ01EX0dFVF9QUk9UT0NPTF9GRUFUVVJFUywKLSBOTDgwMjExX0NNRF9VUERBVEVfRlRfSUVTLAotIE5MODAyMTFfQ01EX0ZUX0VWRU5ULAorICBOTDgwMjExX0NNRF9SQURBUl9ERVRFQ1QsCisgIE5MODAyMTFfQ01EX0dFVF9QUk9UT0NPTF9GRUFUVVJFUywKKyAgTkw4MDIxMV9DTURfVVBEQVRFX0ZUX0lFUywKKyAgTkw4MDIxMV9DTURfRlRfRVZFTlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX0NSSVRfUFJPVE9DT0xfU1RBUlQsCi0gTkw4MDIxMV9DTURfQ1JJVF9QUk9UT0NPTF9TVE9QLAotIE5MODAyMTFfQ01EX0dFVF9DT0FMRVNDRSwKLSBOTDgwMjExX0NNRF9TRVRfQ09BTEVTQ0UsCisgIE5MODAyMTFfQ01EX0NSSVRfUFJPVE9DT0xfU1RBUlQsCisgIE5MODAyMTFfQ01EX0NSSVRfUFJPVE9DT0xfU1RPUCwKKyAgTkw4MDIxMV9DTURfR0VUX0NPQUxFU0NFLAorICBOTDgwMjExX0NNRF9TRVRfQ09BTEVTQ0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX0NIQU5ORUxfU1dJVENILAotIE5MODAyMTFfQ01EX1ZFTkRPUiwKLSBOTDgwMjExX0NNRF9TRVRfUU9TX01BUCwKLSBfX05MODAyMTFfQ01EX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfQ01EX0NIQU5ORUxfU1dJVENILAorICBOTDgwMjExX0NNRF9WRU5ET1IsCisgIE5MODAyMTFfQ01EX1NFVF9RT1NfTUFQLAorICBOTDgwMjExX0NNRF9BRERfVFhfVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ01EX01BWCA9IF9fTkw4MDIxMV9DTURfQUZURVJfTEFTVCAtIDEKKyAgTkw4MDIxMV9DTURfREVMX1RYX1RTLAorICBfX05MODAyMTFfQ01EX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfQ01EX01BWCA9IF9fTkw4MDIxMV9DTURfQUZURVJfTEFTVCAtIDEKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX0NNRF9TRVRfQlNTIE5MODAyMTFfQ01EX1NFVF9CU1MKICNkZWZpbmUgTkw4MDIxMV9DTURfU0VUX01HTVRfRVhUUkFfSUUgTkw4MDIxMV9DTURfU0VUX01HTVRfRVhUUkFfSUUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5MODAyMTFfQ01EX1JFR19DSEFOR0UgTkw4MDIxMV9DTURfUkVHX0NIQU5HRQogI2RlZmluZSBOTDgwMjExX0NNRF9BVVRIRU5USUNBVEUgTkw4MDIxMV9DTURfQVVUSEVOVElDQVRFCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX0NNRF9BU1NPQ0lBVEUgTkw4MDIxMV9DTURfQVNTT0NJQVRFCiAjZGVmaW5lIE5MODAyMTFfQ01EX0RFQVVUSEVOVElDQVRFIE5MODAyMTFfQ01EX0RFQVVUSEVOVElDQVRFCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX0NNRF9ESVNBU1NPQ0lBVEUgTkw4MDIxMV9DTURfRElTQVNTT0NJQVRFCiAjZGVmaW5lIE5MODAyMTFfQ01EX1JFR19CRUFDT05fSElOVCBOTDgwMjExX0NNRF9SRUdfQkVBQ09OX0hJTlQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5MODAyMTFfQVRUUl9GRUFUVVJFX0ZMQUdTIE5MODAyMTFfQVRUUl9GRUFUVVJFX0ZMQUdTCiAjZGVmaW5lIE5MODAyMTFfQ01EX0dFVF9NRVNIX1BBUkFNUyBOTDgwMjExX0NNRF9HRVRfTUVTSF9DT05GSUcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5MODAyMTFfQ01EX1NFVF9NRVNIX1BBUkFNUyBOTDgwMjExX0NNRF9TRVRfTUVTSF9DT05GSUcKICNkZWZpbmUgTkw4MDIxMV9NRVNIX1NFVFVQX1ZFTkRPUl9QQVRIX1NFTF9JRSBOTDgwMjExX01FU0hfU0VUVVBfSUUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfYXR0cnMgewotIE5MODAyMTFfQVRUUl9VTlNQRUMsCisgIE5MODAyMTFfQVRUUl9VTlNQRUMsCisgIE5MODAyMTFfQVRUUl9XSVBIWSwKKyAgTkw4MDIxMV9BVFRSX1dJUEhZX05BTUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9XSVBIWSwKLSBOTDgwMjExX0FUVFJfV0lQSFlfTkFNRSwKLSBOTDgwMjExX0FUVFJfSUZJTkRFWCwKLSBOTDgwMjExX0FUVFJfSUZOQU1FLAorICBOTDgwMjExX0FUVFJfSUZJTkRFWCwKKyAgTkw4MDIxMV9BVFRSX0lGTkFNRSwKKyAgTkw4MDIxMV9BVFRSX0lGVFlQRSwKKyAgTkw4MDIxMV9BVFRSX01BQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0lGVFlQRSwKLSBOTDgwMjExX0FUVFJfTUFDLAotIE5MODAyMTFfQVRUUl9LRVlfREFUQSwKLSBOTDgwMjExX0FUVFJfS0VZX0lEWCwKKyAgTkw4MDIxMV9BVFRSX0tFWV9EQVRBLAorICBOTDgwMjExX0FUVFJfS0VZX0lEWCwKKyAgTkw4MDIxMV9BVFRSX0tFWV9DSVBIRVIsCisgIE5MODAyMTFfQVRUUl9LRVlfU0VRLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfS0VZX0NJUEhFUiwKLSBOTDgwMjExX0FUVFJfS0VZX1NFUSwKLSBOTDgwMjExX0FUVFJfS0VZX0RFRkFVTFQsCi0gTkw4MDIxMV9BVFRSX0JFQUNPTl9JTlRFUlZBTCwKKyAgTkw4MDIxMV9BVFRSX0tFWV9ERUZBVUxULAorICBOTDgwMjExX0FUVFJfQkVBQ09OX0lOVEVSVkFMLAorICBOTDgwMjExX0FUVFJfRFRJTV9QRVJJT0QsCisgIE5MODAyMTFfQVRUUl9CRUFDT05fSEVBRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0RUSU1fUEVSSU9ELAotIE5MODAyMTFfQVRUUl9CRUFDT05fSEVBRCwKLSBOTDgwMjExX0FUVFJfQkVBQ09OX1RBSUwsCi0gTkw4MDIxMV9BVFRSX1NUQV9BSUQsCisgIE5MODAyMTFfQVRUUl9CRUFDT05fVEFJTCwKKyAgTkw4MDIxMV9BVFRSX1NUQV9BSUQsCisgIE5MODAyMTFfQVRUUl9TVEFfRkxBR1MsCisgIE5MODAyMTFfQVRUUl9TVEFfTElTVEVOX0lOVEVSVkFMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfU1RBX0ZMQUdTLAotIE5MODAyMTFfQVRUUl9TVEFfTElTVEVOX0lOVEVSVkFMLAotIE5MODAyMTFfQVRUUl9TVEFfU1VQUE9SVEVEX1JBVEVTLAotIE5MODAyMTFfQVRUUl9TVEFfVkxBTiwKKyAgTkw4MDIxMV9BVFRSX1NUQV9TVVBQT1JURURfUkFURVMsCisgIE5MODAyMTFfQVRUUl9TVEFfVkxBTiwKKyAgTkw4MDIxMV9BVFRSX1NUQV9JTkZPLAorICBOTDgwMjExX0FUVFJfV0lQSFlfQkFORFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9TVEFfSU5GTywKLSBOTDgwMjExX0FUVFJfV0lQSFlfQkFORFMsCi0gTkw4MDIxMV9BVFRSX01OVFJfRkxBR1MsCi0gTkw4MDIxMV9BVFRSX01FU0hfSUQsCisgIE5MODAyMTFfQVRUUl9NTlRSX0ZMQUdTLAorICBOTDgwMjExX0FUVFJfTUVTSF9JRCwKKyAgTkw4MDIxMV9BVFRSX1NUQV9QTElOS19BQ1RJT04sCisgIE5MODAyMTFfQVRUUl9NUEFUSF9ORVhUX0hPUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1NUQV9QTElOS19BQ1RJT04sCi0gTkw4MDIxMV9BVFRSX01QQVRIX05FWFRfSE9QLAotIE5MODAyMTFfQVRUUl9NUEFUSF9JTkZPLAotIE5MODAyMTFfQVRUUl9CU1NfQ1RTX1BST1QsCisgIE5MODAyMTFfQVRUUl9NUEFUSF9JTkZPLAorICBOTDgwMjExX0FUVFJfQlNTX0NUU19QUk9ULAorICBOTDgwMjExX0FUVFJfQlNTX1NIT1JUX1BSRUFNQkxFLAorICBOTDgwMjExX0FUVFJfQlNTX1NIT1JUX1NMT1RfVElNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0JTU19TSE9SVF9QUkVBTUJMRSwKLSBOTDgwMjExX0FUVFJfQlNTX1NIT1JUX1NMT1RfVElNRSwKLSBOTDgwMjExX0FUVFJfSFRfQ0FQQUJJTElUWSwKLSBOTDgwMjExX0FUVFJfU1VQUE9SVEVEX0lGVFlQRVMsCisgIE5MODAyMTFfQVRUUl9IVF9DQVBBQklMSVRZLAorICBOTDgwMjExX0FUVFJfU1VQUE9SVEVEX0lGVFlQRVMsCisgIE5MODAyMTFfQVRUUl9SRUdfQUxQSEEyLAorICBOTDgwMjExX0FUVFJfUkVHX1JVTEVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfUkVHX0FMUEhBMiwKLSBOTDgwMjExX0FUVFJfUkVHX1JVTEVTLAotIE5MODAyMTFfQVRUUl9NRVNIX0NPTkZJRywKLSBOTDgwMjExX0FUVFJfQlNTX0JBU0lDX1JBVEVTLAorICBOTDgwMjExX0FUVFJfTUVTSF9DT05GSUcsCisgIE5MODAyMTFfQVRUUl9CU1NfQkFTSUNfUkFURVMsCisgIE5MODAyMTFfQVRUUl9XSVBIWV9UWFFfUEFSQU1TLAorICBOTDgwMjExX0FUVFJfV0lQSFlfRlJFUSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1dJUEhZX1RYUV9QQVJBTVMsCi0gTkw4MDIxMV9BVFRSX1dJUEhZX0ZSRVEsCi0gTkw4MDIxMV9BVFRSX1dJUEhZX0NIQU5ORUxfVFlQRSwKLSBOTDgwMjExX0FUVFJfS0VZX0RFRkFVTFRfTUdNVCwKKyAgTkw4MDIxMV9BVFRSX1dJUEhZX0NIQU5ORUxfVFlQRSwKKyAgTkw4MDIxMV9BVFRSX0tFWV9ERUZBVUxUX01HTVQsCisgIE5MODAyMTFfQVRUUl9NR01UX1NVQlRZUEUsCisgIE5MODAyMTFfQVRUUl9JRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX01HTVRfU1VCVFlQRSwKLSBOTDgwMjExX0FUVFJfSUUsCi0gTkw4MDIxMV9BVFRSX01BWF9OVU1fU0NBTl9TU0lEUywKLSBOTDgwMjExX0FUVFJfU0NBTl9GUkVRVUVOQ0lFUywKKyAgTkw4MDIxMV9BVFRSX01BWF9OVU1fU0NBTl9TU0lEUywKKyAgTkw4MDIxMV9BVFRSX1NDQU5fRlJFUVVFTkNJRVMsCisgIE5MODAyMTFfQVRUUl9TQ0FOX1NTSURTLAorICBOTDgwMjExX0FUVFJfR0VORVJBVElPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1NDQU5fU1NJRFMsCi0gTkw4MDIxMV9BVFRSX0dFTkVSQVRJT04sCi0gTkw4MDIxMV9BVFRSX0JTUywKLSBOTDgwMjExX0FUVFJfUkVHX0lOSVRJQVRPUiwKKyAgTkw4MDIxMV9BVFRSX0JTUywKKyAgTkw4MDIxMV9BVFRSX1JFR19JTklUSUFUT1IsCisgIE5MODAyMTFfQVRUUl9SRUdfVFlQRSwKKyAgTkw4MDIxMV9BVFRSX1NVUFBPUlRFRF9DT01NQU5EUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1JFR19UWVBFLAotIE5MODAyMTFfQVRUUl9TVVBQT1JURURfQ09NTUFORFMsCi0gTkw4MDIxMV9BVFRSX0ZSQU1FLAotIE5MODAyMTFfQVRUUl9TU0lELAorICBOTDgwMjExX0FUVFJfRlJBTUUsCisgIE5MODAyMTFfQVRUUl9TU0lELAorICBOTDgwMjExX0FUVFJfQVVUSF9UWVBFLAorICBOTDgwMjExX0FUVFJfUkVBU09OX0NPREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9BVVRIX1RZUEUsCi0gTkw4MDIxMV9BVFRSX1JFQVNPTl9DT0RFLAotIE5MODAyMTFfQVRUUl9LRVlfVFlQRSwKLSBOTDgwMjExX0FUVFJfTUFYX1NDQU5fSUVfTEVOLAorICBOTDgwMjExX0FUVFJfS0VZX1RZUEUsCisgIE5MODAyMTFfQVRUUl9NQVhfU0NBTl9JRV9MRU4sCisgIE5MODAyMTFfQVRUUl9DSVBIRVJfU1VJVEVTLAorICBOTDgwMjExX0FUVFJfRlJFUV9CRUZPUkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9DSVBIRVJfU1VJVEVTLAotIE5MODAyMTFfQVRUUl9GUkVRX0JFRk9SRSwKLSBOTDgwMjExX0FUVFJfRlJFUV9BRlRFUiwKLSBOTDgwMjExX0FUVFJfRlJFUV9GSVhFRCwKKyAgTkw4MDIxMV9BVFRSX0ZSRVFfQUZURVIsCisgIE5MODAyMTFfQVRUUl9GUkVRX0ZJWEVELAorICBOTDgwMjExX0FUVFJfV0lQSFlfUkVUUllfU0hPUlQsCisgIE5MODAyMTFfQVRUUl9XSVBIWV9SRVRSWV9MT05HLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfV0lQSFlfUkVUUllfU0hPUlQsCi0gTkw4MDIxMV9BVFRSX1dJUEhZX1JFVFJZX0xPTkcsCi0gTkw4MDIxMV9BVFRSX1dJUEhZX0ZSQUdfVEhSRVNIT0xELAotIE5MODAyMTFfQVRUUl9XSVBIWV9SVFNfVEhSRVNIT0xELAorICBOTDgwMjExX0FUVFJfV0lQSFlfRlJBR19USFJFU0hPTEQsCisgIE5MODAyMTFfQVRUUl9XSVBIWV9SVFNfVEhSRVNIT0xELAorICBOTDgwMjExX0FUVFJfVElNRURfT1VULAorICBOTDgwMjExX0FUVFJfVVNFX01GUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1RJTUVEX09VVCwKLSBOTDgwMjExX0FUVFJfVVNFX01GUCwKLSBOTDgwMjExX0FUVFJfU1RBX0ZMQUdTMiwKLSBOTDgwMjExX0FUVFJfQ09OVFJPTF9QT1JULAorICBOTDgwMjExX0FUVFJfU1RBX0ZMQUdTMiwKKyAgTkw4MDIxMV9BVFRSX0NPTlRST0xfUE9SVCwKKyAgTkw4MDIxMV9BVFRSX1RFU1REQVRBLAorICBOTDgwMjExX0FUVFJfUFJJVkFDWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1RFU1REQVRBLAotIE5MODAyMTFfQVRUUl9QUklWQUNZLAotIE5MODAyMTFfQVRUUl9ESVNDT05ORUNURURfQllfQVAsCi0gTkw4MDIxMV9BVFRSX1NUQVRVU19DT0RFLAorICBOTDgwMjExX0FUVFJfRElTQ09OTkVDVEVEX0JZX0FQLAorICBOTDgwMjExX0FUVFJfU1RBVFVTX0NPREUsCisgIE5MODAyMTFfQVRUUl9DSVBIRVJfU1VJVEVTX1BBSVJXSVNFLAorICBOTDgwMjExX0FUVFJfQ0lQSEVSX1NVSVRFX0dST1VQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfQ0lQSEVSX1NVSVRFU19QQUlSV0lTRSwKLSBOTDgwMjExX0FUVFJfQ0lQSEVSX1NVSVRFX0dST1VQLAotIE5MODAyMTFfQVRUUl9XUEFfVkVSU0lPTlMsCi0gTkw4MDIxMV9BVFRSX0FLTV9TVUlURVMsCisgIE5MODAyMTFfQVRUUl9XUEFfVkVSU0lPTlMsCisgIE5MODAyMTFfQVRUUl9BS01fU1VJVEVTLAorICBOTDgwMjExX0FUVFJfUkVRX0lFLAorICBOTDgwMjExX0FUVFJfUkVTUF9JRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1JFUV9JRSwKLSBOTDgwMjExX0FUVFJfUkVTUF9JRSwKLSBOTDgwMjExX0FUVFJfUFJFVl9CU1NJRCwKLSBOTDgwMjExX0FUVFJfS0VZLAorICBOTDgwMjExX0FUVFJfUFJFVl9CU1NJRCwKKyAgTkw4MDIxMV9BVFRSX0tFWSwKKyAgTkw4MDIxMV9BVFRSX0tFWVMsCisgIE5MODAyMTFfQVRUUl9QSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9LRVlTLAotIE5MODAyMTFfQVRUUl9QSUQsCi0gTkw4MDIxMV9BVFRSXzRBRERSLAotIE5MODAyMTFfQVRUUl9TVVJWRVlfSU5GTywKKyAgTkw4MDIxMV9BVFRSXzRBRERSLAorICBOTDgwMjExX0FUVFJfU1VSVkVZX0lORk8sCisgIE5MODAyMTFfQVRUUl9QTUtJRCwKKyAgTkw4MDIxMV9BVFRSX01BWF9OVU1fUE1LSURTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfUE1LSUQsCi0gTkw4MDIxMV9BVFRSX01BWF9OVU1fUE1LSURTLAotIE5MODAyMTFfQVRUUl9EVVJBVElPTiwKLSBOTDgwMjExX0FUVFJfQ09PS0lFLAorICBOTDgwMjExX0FUVFJfRFVSQVRJT04sCisgIE5MODAyMTFfQVRUUl9DT09LSUUsCisgIE5MODAyMTFfQVRUUl9XSVBIWV9DT1ZFUkFHRV9DTEFTUywKKyAgTkw4MDIxMV9BVFRSX1RYX1JBVEVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfV0lQSFlfQ09WRVJBR0VfQ0xBU1MsCi0gTkw4MDIxMV9BVFRSX1RYX1JBVEVTLAotIE5MODAyMTFfQVRUUl9GUkFNRV9NQVRDSCwKLSBOTDgwMjExX0FUVFJfQUNLLAorICBOTDgwMjExX0FUVFJfRlJBTUVfTUFUQ0gsCisgIE5MODAyMTFfQVRUUl9BQ0ssCisgIE5MODAyMTFfQVRUUl9QU19TVEFURSwKKyAgTkw4MDIxMV9BVFRSX0NRTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1BTX1NUQVRFLAotIE5MODAyMTFfQVRUUl9DUU0sCi0gTkw4MDIxMV9BVFRSX0xPQ0FMX1NUQVRFX0NIQU5HRSwKLSBOTDgwMjExX0FUVFJfQVBfSVNPTEFURSwKKyAgTkw4MDIxMV9BVFRSX0xPQ0FMX1NUQVRFX0NIQU5HRSwKKyAgTkw4MDIxMV9BVFRSX0FQX0lTT0xBVEUsCisgIE5MODAyMTFfQVRUUl9XSVBIWV9UWF9QT1dFUl9TRVRUSU5HLAorICBOTDgwMjExX0FUVFJfV0lQSFlfVFhfUE9XRVJfTEVWRUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9XSVBIWV9UWF9QT1dFUl9TRVRUSU5HLAotIE5MODAyMTFfQVRUUl9XSVBIWV9UWF9QT1dFUl9MRVZFTCwKLSBOTDgwMjExX0FUVFJfVFhfRlJBTUVfVFlQRVMsCi0gTkw4MDIxMV9BVFRSX1JYX0ZSQU1FX1RZUEVTLAorICBOTDgwMjExX0FUVFJfVFhfRlJBTUVfVFlQRVMsCisgIE5MODAyMTFfQVRUUl9SWF9GUkFNRV9UWVBFUywKKyAgTkw4MDIxMV9BVFRSX0ZSQU1FX1RZUEUsCisgIE5MODAyMTFfQVRUUl9DT05UUk9MX1BPUlRfRVRIRVJUWVBFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfRlJBTUVfVFlQRSwKLSBOTDgwMjExX0FUVFJfQ09OVFJPTF9QT1JUX0VUSEVSVFlQRSwKLSBOTDgwMjExX0FUVFJfQ09OVFJPTF9QT1JUX05PX0VOQ1JZUFQsCi0gTkw4MDIxMV9BVFRSX1NVUFBPUlRfSUJTU19SU04sCisgIE5MODAyMTFfQVRUUl9DT05UUk9MX1BPUlRfTk9fRU5DUllQVCwKKyAgTkw4MDIxMV9BVFRSX1NVUFBPUlRfSUJTU19SU04sCisgIE5MODAyMTFfQVRUUl9XSVBIWV9BTlRFTk5BX1RYLAorICBOTDgwMjExX0FUVFJfV0lQSFlfQU5URU5OQV9SWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1dJUEhZX0FOVEVOTkFfVFgsCi0gTkw4MDIxMV9BVFRSX1dJUEhZX0FOVEVOTkFfUlgsCi0gTkw4MDIxMV9BVFRSX01DQVNUX1JBVEUsCi0gTkw4MDIxMV9BVFRSX09GRkNIQU5ORUxfVFhfT0ssCisgIE5MODAyMTFfQVRUUl9NQ0FTVF9SQVRFLAorICBOTDgwMjExX0FUVFJfT0ZGQ0hBTk5FTF9UWF9PSywKKyAgTkw4MDIxMV9BVFRSX0JTU19IVF9PUE1PREUsCisgIE5MODAyMTFfQVRUUl9LRVlfREVGQVVMVF9UWVBFUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0JTU19IVF9PUE1PREUsCi0gTkw4MDIxMV9BVFRSX0tFWV9ERUZBVUxUX1RZUEVTLAotIE5MODAyMTFfQVRUUl9NQVhfUkVNQUlOX09OX0NIQU5ORUxfRFVSQVRJT04sCi0gTkw4MDIxMV9BVFRSX01FU0hfU0VUVVAsCisgIE5MODAyMTFfQVRUUl9NQVhfUkVNQUlOX09OX0NIQU5ORUxfRFVSQVRJT04sCisgIE5MODAyMTFfQVRUUl9NRVNIX1NFVFVQLAorICBOTDgwMjExX0FUVFJfV0lQSFlfQU5URU5OQV9BVkFJTF9UWCwKKyAgTkw4MDIxMV9BVFRSX1dJUEhZX0FOVEVOTkFfQVZBSUxfUlgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9XSVBIWV9BTlRFTk5BX0FWQUlMX1RYLAotIE5MODAyMTFfQVRUUl9XSVBIWV9BTlRFTk5BX0FWQUlMX1JYLAotIE5MODAyMTFfQVRUUl9TVVBQT1JUX01FU0hfQVVUSCwKLSBOTDgwMjExX0FUVFJfU1RBX1BMSU5LX1NUQVRFLAorICBOTDgwMjExX0FUVFJfU1VQUE9SVF9NRVNIX0FVVEgsCisgIE5MODAyMTFfQVRUUl9TVEFfUExJTktfU1RBVEUsCisgIE5MODAyMTFfQVRUUl9XT1dMQU5fVFJJR0dFUlMsCisgIE5MODAyMTFfQVRUUl9XT1dMQU5fVFJJR0dFUlNfU1VQUE9SVEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfV09XTEFOX1RSSUdHRVJTLAotIE5MODAyMTFfQVRUUl9XT1dMQU5fVFJJR0dFUlNfU1VQUE9SVEVELAotIE5MODAyMTFfQVRUUl9TQ0hFRF9TQ0FOX0lOVEVSVkFMLAotIE5MODAyMTFfQVRUUl9JTlRFUkZBQ0VfQ09NQklOQVRJT05TLAorICBOTDgwMjExX0FUVFJfU0NIRURfU0NBTl9JTlRFUlZBTCwKKyAgTkw4MDIxMV9BVFRSX0lOVEVSRkFDRV9DT01CSU5BVElPTlMsCisgIE5MODAyMTFfQVRUUl9TT0ZUV0FSRV9JRlRZUEVTLAorICBOTDgwMjExX0FUVFJfUkVLRVlfREFUQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1NPRlRXQVJFX0lGVFlQRVMsCi0gTkw4MDIxMV9BVFRSX1JFS0VZX0RBVEEsCi0gTkw4MDIxMV9BVFRSX01BWF9OVU1fU0NIRURfU0NBTl9TU0lEUywKLSBOTDgwMjExX0FUVFJfTUFYX1NDSEVEX1NDQU5fSUVfTEVOLAorICBOTDgwMjExX0FUVFJfTUFYX05VTV9TQ0hFRF9TQ0FOX1NTSURTLAorICBOTDgwMjExX0FUVFJfTUFYX1NDSEVEX1NDQU5fSUVfTEVOLAorICBOTDgwMjExX0FUVFJfU0NBTl9TVVBQX1JBVEVTLAorICBOTDgwMjExX0FUVFJfSElEREVOX1NTSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9TQ0FOX1NVUFBfUkFURVMsCi0gTkw4MDIxMV9BVFRSX0hJRERFTl9TU0lELAotIE5MODAyMTFfQVRUUl9JRV9QUk9CRV9SRVNQLAotIE5MODAyMTFfQVRUUl9JRV9BU1NPQ19SRVNQLAorICBOTDgwMjExX0FUVFJfSUVfUFJPQkVfUkVTUCwKKyAgTkw4MDIxMV9BVFRSX0lFX0FTU09DX1JFU1AsCisgIE5MODAyMTFfQVRUUl9TVEFfV01FLAorICBOTDgwMjExX0FUVFJfU1VQUE9SVF9BUF9VQVBTRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1NUQV9XTUUsCi0gTkw4MDIxMV9BVFRSX1NVUFBPUlRfQVBfVUFQU0QsCi0gTkw4MDIxMV9BVFRSX1JPQU1fU1VQUE9SVCwKLSBOTDgwMjExX0FUVFJfU0NIRURfU0NBTl9NQVRDSCwKKyAgTkw4MDIxMV9BVFRSX1JPQU1fU1VQUE9SVCwKKyAgTkw4MDIxMV9BVFRSX1NDSEVEX1NDQU5fTUFUQ0gsCisgIE5MODAyMTFfQVRUUl9NQVhfTUFUQ0hfU0VUUywKKyAgTkw4MDIxMV9BVFRSX1BNS1NBX0NBTkRJREFURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX01BWF9NQVRDSF9TRVRTLAotIE5MODAyMTFfQVRUUl9QTUtTQV9DQU5ESURBVEUsCi0gTkw4MDIxMV9BVFRSX1RYX05PX0NDS19SQVRFLAotIE5MODAyMTFfQVRUUl9URExTX0FDVElPTiwKKyAgTkw4MDIxMV9BVFRSX1RYX05PX0NDS19SQVRFLAorICBOTDgwMjExX0FUVFJfVERMU19BQ1RJT04sCisgIE5MODAyMTFfQVRUUl9URExTX0RJQUxPR19UT0tFTiwKKyAgTkw4MDIxMV9BVFRSX1RETFNfT1BFUkFUSU9OLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfVERMU19ESUFMT0dfVE9LRU4sCi0gTkw4MDIxMV9BVFRSX1RETFNfT1BFUkFUSU9OLAotIE5MODAyMTFfQVRUUl9URExTX1NVUFBPUlQsCi0gTkw4MDIxMV9BVFRSX1RETFNfRVhURVJOQUxfU0VUVVAsCisgIE5MODAyMTFfQVRUUl9URExTX1NVUFBPUlQsCisgIE5MODAyMTFfQVRUUl9URExTX0VYVEVSTkFMX1NFVFVQLAorICBOTDgwMjExX0FUVFJfREVWSUNFX0FQX1NNRSwKKyAgTkw4MDIxMV9BVFRSX0RPTlRfV0FJVF9GT1JfQUNLLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfREVWSUNFX0FQX1NNRSwKLSBOTDgwMjExX0FUVFJfRE9OVF9XQUlUX0ZPUl9BQ0ssCi0gTkw4MDIxMV9BVFRSX0ZFQVRVUkVfRkxBR1MsCi0gTkw4MDIxMV9BVFRSX1BST0JFX1JFU1BfT0ZGTE9BRCwKKyAgTkw4MDIxMV9BVFRSX0ZFQVRVUkVfRkxBR1MsCisgIE5MODAyMTFfQVRUUl9QUk9CRV9SRVNQX09GRkxPQUQsCisgIE5MODAyMTFfQVRUUl9QUk9CRV9SRVNQLAorICBOTDgwMjExX0FUVFJfREZTX1JFR0lPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1BST0JFX1JFU1AsCi0gTkw4MDIxMV9BVFRSX0RGU19SRUdJT04sCi0gTkw4MDIxMV9BVFRSX0RJU0FCTEVfSFQsCi0gTkw4MDIxMV9BVFRSX0hUX0NBUEFCSUxJVFlfTUFTSywKKyAgTkw4MDIxMV9BVFRSX0RJU0FCTEVfSFQsCisgIE5MODAyMTFfQVRUUl9IVF9DQVBBQklMSVRZX01BU0ssCisgIE5MODAyMTFfQVRUUl9OT0FDS19NQVAsCisgIE5MODAyMTFfQVRUUl9JTkFDVElWSVRZX1RJTUVPVVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9OT0FDS19NQVAsCi0gTkw4MDIxMV9BVFRSX0lOQUNUSVZJVFlfVElNRU9VVCwKLSBOTDgwMjExX0FUVFJfUlhfU0lHTkFMX0RCTSwKLSBOTDgwMjExX0FUVFJfQkdfU0NBTl9QRVJJT0QsCisgIE5MODAyMTFfQVRUUl9SWF9TSUdOQUxfREJNLAorICBOTDgwMjExX0FUVFJfQkdfU0NBTl9QRVJJT0QsCisgIE5MODAyMTFfQVRUUl9XREVWLAorICBOTDgwMjExX0FUVFJfVVNFUl9SRUdfSElOVF9UWVBFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfV0RFViwKLSBOTDgwMjExX0FUVFJfVVNFUl9SRUdfSElOVF9UWVBFLAotIE5MODAyMTFfQVRUUl9DT05OX0ZBSUxFRF9SRUFTT04sCi0gTkw4MDIxMV9BVFRSX1NBRV9EQVRBLAorICBOTDgwMjExX0FUVFJfQ09OTl9GQUlMRURfUkVBU09OLAorICBOTDgwMjExX0FUVFJfU0FFX0RBVEEsCisgIE5MODAyMTFfQVRUUl9WSFRfQ0FQQUJJTElUWSwKKyAgTkw4MDIxMV9BVFRSX1NDQU5fRkxBR1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9WSFRfQ0FQQUJJTElUWSwKLSBOTDgwMjExX0FUVFJfU0NBTl9GTEFHUywKLSBOTDgwMjExX0FUVFJfQ0hBTk5FTF9XSURUSCwKLSBOTDgwMjExX0FUVFJfQ0VOVEVSX0ZSRVExLAorICBOTDgwMjExX0FUVFJfQ0hBTk5FTF9XSURUSCwKKyAgTkw4MDIxMV9BVFRSX0NFTlRFUl9GUkVRMSwKKyAgTkw4MDIxMV9BVFRSX0NFTlRFUl9GUkVRMiwKKyAgTkw4MDIxMV9BVFRSX1AyUF9DVFdJTkRPVywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0NFTlRFUl9GUkVRMiwKLSBOTDgwMjExX0FUVFJfUDJQX0NUV0lORE9XLAotIE5MODAyMTFfQVRUUl9QMlBfT1BQUFMsCi0gTkw4MDIxMV9BVFRSX0xPQ0FMX01FU0hfUE9XRVJfTU9ERSwKKyAgTkw4MDIxMV9BVFRSX1AyUF9PUFBQUywKKyAgTkw4MDIxMV9BVFRSX0xPQ0FMX01FU0hfUE9XRVJfTU9ERSwKKyAgTkw4MDIxMV9BVFRSX0FDTF9QT0xJQ1ksCisgIE5MODAyMTFfQVRUUl9NQUNfQUREUlMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9BQ0xfUE9MSUNZLAotIE5MODAyMTFfQVRUUl9NQUNfQUREUlMsCi0gTkw4MDIxMV9BVFRSX01BQ19BQ0xfTUFYLAotIE5MODAyMTFfQVRUUl9SQURBUl9FVkVOVCwKKyAgTkw4MDIxMV9BVFRSX01BQ19BQ0xfTUFYLAorICBOTDgwMjExX0FUVFJfUkFEQVJfRVZFTlQsCisgIE5MODAyMTFfQVRUUl9FWFRfQ0FQQSwKKyAgTkw4MDIxMV9BVFRSX0VYVF9DQVBBX01BU0ssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9FWFRfQ0FQQSwKLSBOTDgwMjExX0FUVFJfRVhUX0NBUEFfTUFTSywKLSBOTDgwMjExX0FUVFJfU1RBX0NBUEFCSUxJVFksCi0gTkw4MDIxMV9BVFRSX1NUQV9FWFRfQ0FQQUJJTElUWSwKKyAgTkw4MDIxMV9BVFRSX1NUQV9DQVBBQklMSVRZLAorICBOTDgwMjExX0FUVFJfU1RBX0VYVF9DQVBBQklMSVRZLAorICBOTDgwMjExX0FUVFJfUFJPVE9DT0xfRkVBVFVSRVMsCisgIE5MODAyMTFfQVRUUl9TUExJVF9XSVBIWV9EVU1QLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfUFJPVE9DT0xfRkVBVFVSRVMsCi0gTkw4MDIxMV9BVFRSX1NQTElUX1dJUEhZX0RVTVAsCi0gTkw4MDIxMV9BVFRSX0RJU0FCTEVfVkhULAotIE5MODAyMTFfQVRUUl9WSFRfQ0FQQUJJTElUWV9NQVNLLAorICBOTDgwMjExX0FUVFJfRElTQUJMRV9WSFQsCisgIE5MODAyMTFfQVRUUl9WSFRfQ0FQQUJJTElUWV9NQVNLLAorICBOTDgwMjExX0FUVFJfTURJRCwKKyAgTkw4MDIxMV9BVFRSX0lFX1JJQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX01ESUQsCi0gTkw4MDIxMV9BVFRSX0lFX1JJQywKLSBOTDgwMjExX0FUVFJfQ1JJVF9QUk9UX0lELAotIE5MODAyMTFfQVRUUl9NQVhfQ1JJVF9QUk9UX0RVUkFUSU9OLAorICBOTDgwMjExX0FUVFJfQ1JJVF9QUk9UX0lELAorICBOTDgwMjExX0FUVFJfTUFYX0NSSVRfUFJPVF9EVVJBVElPTiwKKyAgTkw4MDIxMV9BVFRSX1BFRVJfQUlELAorICBOTDgwMjExX0FUVFJfQ09BTEVTQ0VfUlVMRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX1BFRVJfQUlELAotIE5MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFLAotIE5MODAyMTFfQVRUUl9DSF9TV0lUQ0hfQ09VTlQsCi0gTkw4MDIxMV9BVFRSX0NIX1NXSVRDSF9CTE9DS19UWCwKKyAgTkw4MDIxMV9BVFRSX0NIX1NXSVRDSF9DT1VOVCwKKyAgTkw4MDIxMV9BVFRSX0NIX1NXSVRDSF9CTE9DS19UWCwKKyAgTkw4MDIxMV9BVFRSX0NTQV9JRVMsCisgIE5MODAyMTFfQVRUUl9DU0FfQ19PRkZfQkVBQ09OLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfQ1NBX0lFUywKLSBOTDgwMjExX0FUVFJfQ1NBX0NfT0ZGX0JFQUNPTiwKLSBOTDgwMjExX0FUVFJfQ1NBX0NfT0ZGX1BSRVNQLAotIE5MODAyMTFfQVRUUl9SWE1HTVRfRkxBR1MsCisgIE5MODAyMTFfQVRUUl9DU0FfQ19PRkZfUFJFU1AsCisgIE5MODAyMTFfQVRUUl9SWE1HTVRfRkxBR1MsCisgIE5MODAyMTFfQVRUUl9TVEFfU1VQUE9SVEVEX0NIQU5ORUxTLAorICBOTDgwMjExX0FUVFJfU1RBX1NVUFBPUlRFRF9PUEVSX0NMQVNTRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9TVEFfU1VQUE9SVEVEX0NIQU5ORUxTLAotIE5MODAyMTFfQVRUUl9TVEFfU1VQUE9SVEVEX09QRVJfQ0xBU1NFUywKLSBOTDgwMjExX0FUVFJfSEFORExFX0RGUywKLSBOTDgwMjExX0FUVFJfU1VQUE9SVF81X01IWiwKKyAgTkw4MDIxMV9BVFRSX0hBTkRMRV9ERlMsCisgIE5MODAyMTFfQVRUUl9TVVBQT1JUXzVfTUhaLAorICBOTDgwMjExX0FUVFJfU1VQUE9SVF8xMF9NSFosCisgIE5MODAyMTFfQVRUUl9PUE1PREVfTk9USUYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9TVVBQT1JUXzEwX01IWiwKLSBOTDgwMjExX0FUVFJfT1BNT0RFX05PVElGLAotIE5MODAyMTFfQVRUUl9WRU5ET1JfSUQsCi0gTkw4MDIxMV9BVFRSX1ZFTkRPUl9TVUJDTUQsCisgIE5MODAyMTFfQVRUUl9WRU5ET1JfSUQsCisgIE5MODAyMTFfQVRUUl9WRU5ET1JfU1VCQ01ELAorICBOTDgwMjExX0FUVFJfVkVORE9SX0RBVEEsCisgIE5MODAyMTFfQVRUUl9WRU5ET1JfRVZFTlRTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfVkVORE9SX0RBVEEsCi0gTkw4MDIxMV9BVFRSX1ZFTkRPUl9FVkVOVFMsCi0gTkw4MDIxMV9BVFRSX1FPU19NQVAsCi0gX19OTDgwMjExX0FUVFJfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9BVFRSX1FPU19NQVAsCisgIE5MODAyMTFfQVRUUl9NQUNfSElOVCwKKyAgTkw4MDIxMV9BVFRSX1dJUEhZX0ZSRVFfSElOVCwKKyAgTkw4MDIxMV9BVFRSX01BWF9BUF9BU1NPQ19TVEEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVRUUl9NQVggPSBfX05MODAyMTFfQVRUUl9BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX0FUVFJfVERMU19QRUVSX0NBUEFCSUxJVFksCisgIE5MODAyMTFfQVRUUl9JRkFDRV9TT0NLRVRfT1dORVIsCisgIE5MODAyMTFfQVRUUl9DU0FfQ19PRkZTRVRTX1RYLAorICBOTDgwMjExX0FUVFJfTUFYX0NTQV9DT1VOVEVSUywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5MODAyMTFfQVRUUl9URExTX0lOSVRJQVRPUiwKKyAgTkw4MDIxMV9BVFRSX1VTRV9SUk0sCisgIE5MODAyMTFfQVRUUl9XSVBIWV9EWU5fQUNLLAorICBOTDgwMjExX0FUVFJfVFNJRCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5MODAyMTFfQVRUUl9VU0VSX1BSSU8sCisgIE5MODAyMTFfQVRUUl9BRE1JVFRFRF9USU1FLAorICBOTDgwMjExX0FUVFJfU01QU19NT0RFLAorICBfX05MODAyMTFfQVRUUl9BRlRFUl9MQVNULAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9BVFRSX01BWCA9IF9fTkw4MDIxMV9BVFRSX0FGVEVSX0xBU1QgLSAxCiB9OwogI2RlZmluZSBOTDgwMjExX0FUVFJfU0NBTl9HRU5FUkFUSU9OIE5MODAyMTFfQVRUUl9HRU5FUkFUSU9OCiAjZGVmaW5lIE5MODAyMTFfQVRUUl9NRVNIX1BBUkFNUyBOTDgwMjExX0FUVFJfTUVTSF9DT05GSUcKQEAgLTQ3NiwzODMgKzQ5NiwzOTMgQEAKICNkZWZpbmUgTkw4MDIxMV9NQVhfTlJfQUtNX1NVSVRFUyAyCiAjZGVmaW5lIE5MODAyMTFfTUlOX1JFTUFJTl9PTl9DSEFOTkVMX1RJTUUgMTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE5MODAyMTFfU0NBTl9SU1NJX1RIT0xEX09GRiAtMzAwCisjZGVmaW5lIE5MODAyMTFfU0NBTl9SU1NJX1RIT0xEX09GRiAtIDMwMAogI2RlZmluZSBOTDgwMjExX0NRTV9UWEVfTUFYX0lOVFZMIDE4MDAKIGVudW0gbmw4MDIxMV9pZnR5cGUgewotIE5MODAyMTFfSUZUWVBFX1VOU1BFQ0lGSUVELAorICBOTDgwMjExX0lGVFlQRV9VTlNQRUNJRklFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9JRlRZUEVfQURIT0MsCi0gTkw4MDIxMV9JRlRZUEVfU1RBVElPTiwKLSBOTDgwMjExX0lGVFlQRV9BUCwKLSBOTDgwMjExX0lGVFlQRV9BUF9WTEFOLAorICBOTDgwMjExX0lGVFlQRV9BREhPQywKKyAgTkw4MDIxMV9JRlRZUEVfU1RBVElPTiwKKyAgTkw4MDIxMV9JRlRZUEVfQVAsCisgIE5MODAyMTFfSUZUWVBFX0FQX1ZMQU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfSUZUWVBFX1dEUywKLSBOTDgwMjExX0lGVFlQRV9NT05JVE9SLAotIE5MODAyMTFfSUZUWVBFX01FU0hfUE9JTlQsCi0gTkw4MDIxMV9JRlRZUEVfUDJQX0NMSUVOVCwKKyAgTkw4MDIxMV9JRlRZUEVfV0RTLAorICBOTDgwMjExX0lGVFlQRV9NT05JVE9SLAorICBOTDgwMjExX0lGVFlQRV9NRVNIX1BPSU5ULAorICBOTDgwMjExX0lGVFlQRV9QMlBfQ0xJRU5ULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0lGVFlQRV9QMlBfR08sCi0gTkw4MDIxMV9JRlRZUEVfUDJQX0RFVklDRSwKLSBOVU1fTkw4MDIxMV9JRlRZUEVTLAotIE5MODAyMTFfSUZUWVBFX01BWCA9IE5VTV9OTDgwMjExX0lGVFlQRVMgLSAxCisgIE5MODAyMTFfSUZUWVBFX1AyUF9HTywKKyAgTkw4MDIxMV9JRlRZUEVfUDJQX0RFVklDRSwKKyAgTlVNX05MODAyMTFfSUZUWVBFUywKKyAgTkw4MDIxMV9JRlRZUEVfTUFYID0gTlVNX05MODAyMTFfSUZUWVBFUyAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBubDgwMjExX3N0YV9mbGFncyB7Ci0gX19OTDgwMjExX1NUQV9GTEFHX0lOVkFMSUQsCi0gTkw4MDIxMV9TVEFfRkxBR19BVVRIT1JJWkVELAorICBfX05MODAyMTFfU1RBX0ZMQUdfSU5WQUxJRCwKKyAgTkw4MDIxMV9TVEFfRkxBR19BVVRIT1JJWkVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1NUQV9GTEFHX1NIT1JUX1BSRUFNQkxFLAotIE5MODAyMTFfU1RBX0ZMQUdfV01FLAotIE5MODAyMTFfU1RBX0ZMQUdfTUZQLAotIE5MODAyMTFfU1RBX0ZMQUdfQVVUSEVOVElDQVRFRCwKKyAgTkw4MDIxMV9TVEFfRkxBR19TSE9SVF9QUkVBTUJMRSwKKyAgTkw4MDIxMV9TVEFfRkxBR19XTUUsCisgIE5MODAyMTFfU1RBX0ZMQUdfTUZQLAorICBOTDgwMjExX1NUQV9GTEFHX0FVVEhFTlRJQ0FURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfU1RBX0ZMQUdfVERMU19QRUVSLAotIE5MODAyMTFfU1RBX0ZMQUdfQVNTT0NJQVRFRCwKLSBfX05MODAyMTFfU1RBX0ZMQUdfQUZURVJfTEFTVCwKLSBOTDgwMjExX1NUQV9GTEFHX01BWCA9IF9fTkw4MDIxMV9TVEFfRkxBR19BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX1NUQV9GTEFHX1RETFNfUEVFUiwKKyAgTkw4MDIxMV9TVEFfRkxBR19BU1NPQ0lBVEVELAorICBfX05MODAyMTFfU1RBX0ZMQUdfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9TVEFfRkxBR19NQVggPSBfX05MODAyMTFfU1RBX0ZMQUdfQUZURVJfTEFTVCAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBOTDgwMjExX1NUQV9GTEFHX01BWF9PTERfQVBJIE5MODAyMTFfU1RBX0ZMQUdfVERMU19QRUVSCiBzdHJ1Y3Qgbmw4MDIxMV9zdGFfZmxhZ191cGRhdGUgewotIF9fdTMyIG1hc2s7CisgIF9fdTMyIG1hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNldDsKKyAgX191MzIgc2V0OwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIGVudW0gbmw4MDIxMV9yYXRlX2luZm8gewotIF9fTkw4MDIxMV9SQVRFX0lORk9fSU5WQUxJRCwKKyAgX19OTDgwMjExX1JBVEVfSU5GT19JTlZBTElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1JBVEVfSU5GT19CSVRSQVRFLAotIE5MODAyMTFfUkFURV9JTkZPX01DUywKLSBOTDgwMjExX1JBVEVfSU5GT180MF9NSFpfV0lEVEgsCi0gTkw4MDIxMV9SQVRFX0lORk9fU0hPUlRfR0ksCisgIE5MODAyMTFfUkFURV9JTkZPX0JJVFJBVEUsCisgIE5MODAyMTFfUkFURV9JTkZPX01DUywKKyAgTkw4MDIxMV9SQVRFX0lORk9fNDBfTUhaX1dJRFRILAorICBOTDgwMjExX1JBVEVfSU5GT19TSE9SVF9HSSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9SQVRFX0lORk9fQklUUkFURTMyLAotIE5MODAyMTFfUkFURV9JTkZPX1ZIVF9NQ1MsCi0gTkw4MDIxMV9SQVRFX0lORk9fVkhUX05TUywKLSBOTDgwMjExX1JBVEVfSU5GT184MF9NSFpfV0lEVEgsCisgIE5MODAyMTFfUkFURV9JTkZPX0JJVFJBVEUzMiwKKyAgTkw4MDIxMV9SQVRFX0lORk9fVkhUX01DUywKKyAgTkw4MDIxMV9SQVRFX0lORk9fVkhUX05TUywKKyAgTkw4MDIxMV9SQVRFX0lORk9fODBfTUhaX1dJRFRILAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1JBVEVfSU5GT184MFA4MF9NSFpfV0lEVEgsCi0gTkw4MDIxMV9SQVRFX0lORk9fMTYwX01IWl9XSURUSCwKLSBfX05MODAyMTFfUkFURV9JTkZPX0FGVEVSX0xBU1QsCi0gTkw4MDIxMV9SQVRFX0lORk9fTUFYID0gX19OTDgwMjExX1JBVEVfSU5GT19BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX1JBVEVfSU5GT184MFA4MF9NSFpfV0lEVEgsCisgIE5MODAyMTFfUkFURV9JTkZPXzE2MF9NSFpfV0lEVEgsCisgIF9fTkw4MDIxMV9SQVRFX0lORk9fQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9SQVRFX0lORk9fTUFYID0gX19OTDgwMjExX1JBVEVfSU5GT19BRlRFUl9MQVNUIC0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG5sODAyMTFfc3RhX2Jzc19wYXJhbSB7Ci0gX19OTDgwMjExX1NUQV9CU1NfUEFSQU1fSU5WQUxJRCwKLSBOTDgwMjExX1NUQV9CU1NfUEFSQU1fQ1RTX1BST1QsCisgIF9fTkw4MDIxMV9TVEFfQlNTX1BBUkFNX0lOVkFMSUQsCisgIE5MODAyMTFfU1RBX0JTU19QQVJBTV9DVFNfUFJPVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TVEFfQlNTX1BBUkFNX1NIT1JUX1BSRUFNQkxFLAotIE5MODAyMTFfU1RBX0JTU19QQVJBTV9TSE9SVF9TTE9UX1RJTUUsCi0gTkw4MDIxMV9TVEFfQlNTX1BBUkFNX0RUSU1fUEVSSU9ELAotIE5MODAyMTFfU1RBX0JTU19QQVJBTV9CRUFDT05fSU5URVJWQUwsCisgIE5MODAyMTFfU1RBX0JTU19QQVJBTV9TSE9SVF9QUkVBTUJMRSwKKyAgTkw4MDIxMV9TVEFfQlNTX1BBUkFNX1NIT1JUX1NMT1RfVElNRSwKKyAgTkw4MDIxMV9TVEFfQlNTX1BBUkFNX0RUSU1fUEVSSU9ELAorICBOTDgwMjExX1NUQV9CU1NfUEFSQU1fQkVBQ09OX0lOVEVSVkFMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05MODAyMTFfU1RBX0JTU19QQVJBTV9BRlRFUl9MQVNULAotIE5MODAyMTFfU1RBX0JTU19QQVJBTV9NQVggPSBfX05MODAyMTFfU1RBX0JTU19QQVJBTV9BRlRFUl9MQVNUIC0gMQorICBfX05MODAyMTFfU1RBX0JTU19QQVJBTV9BRlRFUl9MQVNULAorICBOTDgwMjExX1NUQV9CU1NfUEFSQU1fTUFYID0gX19OTDgwMjExX1NUQV9CU1NfUEFSQU1fQUZURVJfTEFTVCAtIDEKIH07CiBlbnVtIG5sODAyMTFfc3RhX2luZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05MODAyMTFfU1RBX0lORk9fSU5WQUxJRCwKLSBOTDgwMjExX1NUQV9JTkZPX0lOQUNUSVZFX1RJTUUsCi0gTkw4MDIxMV9TVEFfSU5GT19SWF9CWVRFUywKLSBOTDgwMjExX1NUQV9JTkZPX1RYX0JZVEVTLAorICBfX05MODAyMTFfU1RBX0lORk9fSU5WQUxJRCwKKyAgTkw4MDIxMV9TVEFfSU5GT19JTkFDVElWRV9USU1FLAorICBOTDgwMjExX1NUQV9JTkZPX1JYX0JZVEVTLAorICBOTDgwMjExX1NUQV9JTkZPX1RYX0JZVEVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1NUQV9JTkZPX0xMSUQsCi0gTkw4MDIxMV9TVEFfSU5GT19QTElELAotIE5MODAyMTFfU1RBX0lORk9fUExJTktfU1RBVEUsCi0gTkw4MDIxMV9TVEFfSU5GT19TSUdOQUwsCisgIE5MODAyMTFfU1RBX0lORk9fTExJRCwKKyAgTkw4MDIxMV9TVEFfSU5GT19QTElELAorICBOTDgwMjExX1NUQV9JTkZPX1BMSU5LX1NUQVRFLAorICBOTDgwMjExX1NUQV9JTkZPX1NJR05BTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TVEFfSU5GT19UWF9CSVRSQVRFLAotIE5MODAyMTFfU1RBX0lORk9fUlhfUEFDS0VUUywKLSBOTDgwMjExX1NUQV9JTkZPX1RYX1BBQ0tFVFMsCi0gTkw4MDIxMV9TVEFfSU5GT19UWF9SRVRSSUVTLAorICBOTDgwMjExX1NUQV9JTkZPX1RYX0JJVFJBVEUsCisgIE5MODAyMTFfU1RBX0lORk9fUlhfUEFDS0VUUywKKyAgTkw4MDIxMV9TVEFfSU5GT19UWF9QQUNLRVRTLAorICBOTDgwMjExX1NUQV9JTkZPX1RYX1JFVFJJRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfU1RBX0lORk9fVFhfRkFJTEVELAotIE5MODAyMTFfU1RBX0lORk9fU0lHTkFMX0FWRywKLSBOTDgwMjExX1NUQV9JTkZPX1JYX0JJVFJBVEUsCi0gTkw4MDIxMV9TVEFfSU5GT19CU1NfUEFSQU0sCisgIE5MODAyMTFfU1RBX0lORk9fVFhfRkFJTEVELAorICBOTDgwMjExX1NUQV9JTkZPX1NJR05BTF9BVkcsCisgIE5MODAyMTFfU1RBX0lORk9fUlhfQklUUkFURSwKKyAgTkw4MDIxMV9TVEFfSU5GT19CU1NfUEFSQU0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfU1RBX0lORk9fQ09OTkVDVEVEX1RJTUUsCi0gTkw4MDIxMV9TVEFfSU5GT19TVEFfRkxBR1MsCi0gTkw4MDIxMV9TVEFfSU5GT19CRUFDT05fTE9TUywKLSBOTDgwMjExX1NUQV9JTkZPX1RfT0ZGU0VULAorICBOTDgwMjExX1NUQV9JTkZPX0NPTk5FQ1RFRF9USU1FLAorICBOTDgwMjExX1NUQV9JTkZPX1NUQV9GTEFHUywKKyAgTkw4MDIxMV9TVEFfSU5GT19CRUFDT05fTE9TUywKKyAgTkw4MDIxMV9TVEFfSU5GT19UX09GRlNFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TVEFfSU5GT19MT0NBTF9QTSwKLSBOTDgwMjExX1NUQV9JTkZPX1BFRVJfUE0sCi0gTkw4MDIxMV9TVEFfSU5GT19OT05QRUVSX1BNLAotIE5MODAyMTFfU1RBX0lORk9fUlhfQllURVM2NCwKKyAgTkw4MDIxMV9TVEFfSU5GT19MT0NBTF9QTSwKKyAgTkw4MDIxMV9TVEFfSU5GT19QRUVSX1BNLAorICBOTDgwMjExX1NUQV9JTkZPX05PTlBFRVJfUE0sCisgIE5MODAyMTFfU1RBX0lORk9fUlhfQllURVM2NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TVEFfSU5GT19UWF9CWVRFUzY0LAotIE5MODAyMTFfU1RBX0lORk9fQ0hBSU5fU0lHTkFMLAotIE5MODAyMTFfU1RBX0lORk9fQ0hBSU5fU0lHTkFMX0FWRywKLSBfX05MODAyMTFfU1RBX0lORk9fQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9TVEFfSU5GT19UWF9CWVRFUzY0LAorICBOTDgwMjExX1NUQV9JTkZPX0NIQUlOX1NJR05BTCwKKyAgTkw4MDIxMV9TVEFfSU5GT19DSEFJTl9TSUdOQUxfQVZHLAorICBOTDgwMjExX1NUQV9JTkZPX0VYUEVDVEVEX1RIUk9VR0hQVVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfU1RBX0lORk9fTUFYID0gX19OTDgwMjExX1NUQV9JTkZPX0FGVEVSX0xBU1QgLSAxCisgIF9fTkw4MDIxMV9TVEFfSU5GT19BRlRFUl9MQVNULAorICBOTDgwMjExX1NUQV9JTkZPX01BWCA9IF9fTkw4MDIxMV9TVEFfSU5GT19BRlRFUl9MQVNUIC0gMQogfTsKIGVudW0gbmw4MDIxMV9tcGF0aF9mbGFncyB7Ci0gTkw4MDIxMV9NUEFUSF9GTEFHX0FDVElWRSA9IDE8PDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTVBBVEhfRkxBR19SRVNPTFZJTkcgPSAxPDwxLAotIE5MODAyMTFfTVBBVEhfRkxBR19TTl9WQUxJRCA9IDE8PDIsCi0gTkw4MDIxMV9NUEFUSF9GTEFHX0ZJWEVEID0gMTw8MywKLSBOTDgwMjExX01QQVRIX0ZMQUdfUkVTT0xWRUQgPSAxPDw0LAorICBOTDgwMjExX01QQVRIX0ZMQUdfQUNUSVZFID0gMSA8PCAwLAorICBOTDgwMjExX01QQVRIX0ZMQUdfUkVTT0xWSU5HID0gMSA8PCAxLAorICBOTDgwMjExX01QQVRIX0ZMQUdfU05fVkFMSUQgPSAxIDw8IDIsCisgIE5MODAyMTFfTVBBVEhfRkxBR19GSVhFRCA9IDEgPDwgMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5MODAyMTFfTVBBVEhfRkxBR19SRVNPTFZFRCA9IDEgPDwgNCwKIH07CiBlbnVtIG5sODAyMTFfbXBhdGhfaW5mbyB7Ci0gX19OTDgwMjExX01QQVRIX0lORk9fSU5WQUxJRCwKLSBOTDgwMjExX01QQVRIX0lORk9fRlJBTUVfUUxFTiwKKyAgX19OTDgwMjExX01QQVRIX0lORk9fSU5WQUxJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NUEFUSF9JTkZPX1NOLAotIE5MODAyMTFfTVBBVEhfSU5GT19NRVRSSUMsCi0gTkw4MDIxMV9NUEFUSF9JTkZPX0VYUFRJTUUsCi0gTkw4MDIxMV9NUEFUSF9JTkZPX0ZMQUdTLAorICBOTDgwMjExX01QQVRIX0lORk9fRlJBTUVfUUxFTiwKKyAgTkw4MDIxMV9NUEFUSF9JTkZPX1NOLAorICBOTDgwMjExX01QQVRIX0lORk9fTUVUUklDLAorICBOTDgwMjExX01QQVRIX0lORk9fRVhQVElNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NUEFUSF9JTkZPX0RJU0NPVkVSWV9USU1FT1VULAotIE5MODAyMTFfTVBBVEhfSU5GT19ESVNDT1ZFUllfUkVUUklFUywKLSBfX05MODAyMTFfTVBBVEhfSU5GT19BRlRFUl9MQVNULAotIE5MODAyMTFfTVBBVEhfSU5GT19NQVggPSBfX05MODAyMTFfTVBBVEhfSU5GT19BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX01QQVRIX0lORk9fRkxBR1MsCisgIE5MODAyMTFfTVBBVEhfSU5GT19ESVNDT1ZFUllfVElNRU9VVCwKKyAgTkw4MDIxMV9NUEFUSF9JTkZPX0RJU0NPVkVSWV9SRVRSSUVTLAorICBfX05MODAyMTFfTVBBVEhfSU5GT19BRlRFUl9MQVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9NUEFUSF9JTkZPX01BWCA9IF9fTkw4MDIxMV9NUEFUSF9JTkZPX0FGVEVSX0xBU1QgLSAxCiB9OwogZW51bSBubDgwMjExX2JhbmRfYXR0ciB7Ci0gX19OTDgwMjExX0JBTkRfQVRUUl9JTlZBTElELAotIE5MODAyMTFfQkFORF9BVFRSX0ZSRVFTLAorICBfX05MODAyMTFfQkFORF9BVFRSX0lOVkFMSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQkFORF9BVFRSX1JBVEVTLAotIE5MODAyMTFfQkFORF9BVFRSX0hUX01DU19TRVQsCi0gTkw4MDIxMV9CQU5EX0FUVFJfSFRfQ0FQQSwKLSBOTDgwMjExX0JBTkRfQVRUUl9IVF9BTVBEVV9GQUNUT1IsCisgIE5MODAyMTFfQkFORF9BVFRSX0ZSRVFTLAorICBOTDgwMjExX0JBTkRfQVRUUl9SQVRFUywKKyAgTkw4MDIxMV9CQU5EX0FUVFJfSFRfTUNTX1NFVCwKKyAgTkw4MDIxMV9CQU5EX0FUVFJfSFRfQ0FQQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9CQU5EX0FUVFJfSFRfQU1QRFVfREVOU0lUWSwKLSBOTDgwMjExX0JBTkRfQVRUUl9WSFRfTUNTX1NFVCwKLSBOTDgwMjExX0JBTkRfQVRUUl9WSFRfQ0FQQSwKLSBfX05MODAyMTFfQkFORF9BVFRSX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfQkFORF9BVFRSX0hUX0FNUERVX0ZBQ1RPUiwKKyAgTkw4MDIxMV9CQU5EX0FUVFJfSFRfQU1QRFVfREVOU0lUWSwKKyAgTkw4MDIxMV9CQU5EX0FUVFJfVkhUX01DU19TRVQsCisgIE5MODAyMTFfQkFORF9BVFRSX1ZIVF9DQVBBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0JBTkRfQVRUUl9NQVggPSBfX05MODAyMTFfQkFORF9BVFRSX0FGVEVSX0xBU1QgLSAxCisgIF9fTkw4MDIxMV9CQU5EX0FUVFJfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9CQU5EX0FUVFJfTUFYID0gX19OTDgwMjExX0JBTkRfQVRUUl9BRlRFUl9MQVNUIC0gMQogfTsKICNkZWZpbmUgTkw4MDIxMV9CQU5EX0FUVFJfSFRfQ0FQQSBOTDgwMjExX0JBTkRfQVRUUl9IVF9DQVBBCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBubDgwMjExX2ZyZXF1ZW5jeV9hdHRyIHsKKyAgX19OTDgwMjExX0ZSRVFVRU5DWV9BVFRSX0lOVkFMSUQsCisgIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfRlJFUSwKKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9ESVNBQkxFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19OTDgwMjExX0ZSRVFVRU5DWV9BVFRSX0lOVkFMSUQsCi0gTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9GUkVRLAotIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfRElTQUJMRUQsCi0gTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT19JUiwKKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT19JUiwKKyAgX19OTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PX0lCU1MsCisgIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfUkFEQVIsCisgIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfTUFYX1RYX1BPV0VSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05MODAyMTFfRlJFUVVFTkNZX0FUVFJfTk9fSUJTUywKLSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX1JBREFSLAotIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfTUFYX1RYX1BPV0VSLAotIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfREZTX1NUQVRFLAorICBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX0RGU19TVEFURSwKKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9ERlNfVElNRSwKKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT19IVDQwX01JTlVTLAorICBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PX0hUNDBfUExVUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9ERlNfVElNRSwKLSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PX0hUNDBfTUlOVVMsCi0gTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT19IVDQwX1BMVVMsCi0gTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT184ME1IWiwKKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT184ME1IWiwKKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT18xNjBNSFosCisgIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfREZTX0NBQ19USU1FLAorICBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX0lORE9PUl9PTkxZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PXzE2ME1IWiwKLSBfX05MODAyMTFfRlJFUVVFTkNZX0FUVFJfQUZURVJfTEFTVCwKLSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX01BWCA9IF9fTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX0dPX0NPTkNVUlJFTlQsCisgIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfTk9fMjBNSFosCisgIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfTk9fMTBNSFosCisgIF9fTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9BRlRFUl9MQVNULAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9NQVggPSBfX05MODAyMTFfRlJFUVVFTkNZX0FUVFJfQUZURVJfTEFTVCAtIDEKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX01BWF9UWF9QT1dFUiBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX01BWF9UWF9QT1dFUgogI2RlZmluZSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX1BBU1NJVkVfU0NBTiBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PX0lSCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PX0lCU1MgTkw4MDIxMV9GUkVRVUVOQ1lfQVRUUl9OT19JUgogI2RlZmluZSBOTDgwMjExX0ZSRVFVRU5DWV9BVFRSX05PX0lSIE5MODAyMTFfRlJFUVVFTkNZX0FUVFJfTk9fSVIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfYml0cmF0ZV9hdHRyIHsKLSBfX05MODAyMTFfQklUUkFURV9BVFRSX0lOVkFMSUQsCi0gTkw4MDIxMV9CSVRSQVRFX0FUVFJfUkFURSwKLSBOTDgwMjExX0JJVFJBVEVfQVRUUl8yR0haX1NIT1JUUFJFQU1CTEUsCisgIF9fTkw4MDIxMV9CSVRSQVRFX0FUVFJfSU5WQUxJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19OTDgwMjExX0JJVFJBVEVfQVRUUl9BRlRFUl9MQVNULAotIE5MODAyMTFfQklUUkFURV9BVFRSX01BWCA9IF9fTkw4MDIxMV9CSVRSQVRFX0FUVFJfQUZURVJfTEFTVCAtIDEKKyAgTkw4MDIxMV9CSVRSQVRFX0FUVFJfUkFURSwKKyAgTkw4MDIxMV9CSVRSQVRFX0FUVFJfMkdIWl9TSE9SVFBSRUFNQkxFLAorICBfX05MODAyMTFfQklUUkFURV9BVFRSX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfQklUUkFURV9BVFRSX01BWCA9IF9fTkw4MDIxMV9CSVRSQVRFX0FUVFJfQUZURVJfTEFTVCAtIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBubDgwMjExX3JlZ19pbml0aWF0b3IgeworICBOTDgwMjExX1JFR0RPTV9TRVRfQllfQ09SRSwKKyAgTkw4MDIxMV9SRUdET01fU0VUX0JZX1VTRVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfUkVHRE9NX1NFVF9CWV9DT1JFLAotIE5MODAyMTFfUkVHRE9NX1NFVF9CWV9VU0VSLAotIE5MODAyMTFfUkVHRE9NX1NFVF9CWV9EUklWRVIsCi0gTkw4MDIxMV9SRUdET01fU0VUX0JZX0NPVU5UUllfSUUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBOTDgwMjExX1JFR0RPTV9TRVRfQllfRFJJVkVSLAorICBOTDgwMjExX1JFR0RPTV9TRVRfQllfQ09VTlRSWV9JRSwKIH07CiBlbnVtIG5sODAyMTFfcmVnX3R5cGUgewotIE5MODAyMTFfUkVHRE9NX1RZUEVfQ09VTlRSWSwKLSBOTDgwMjExX1JFR0RPTV9UWVBFX1dPUkxELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1JFR0RPTV9UWVBFX0NVU1RPTV9XT1JMRCwKLSBOTDgwMjExX1JFR0RPTV9UWVBFX0lOVEVSU0VDVElPTiwKKyAgTkw4MDIxMV9SRUdET01fVFlQRV9DT1VOVFJZLAorICBOTDgwMjExX1JFR0RPTV9UWVBFX1dPUkxELAorICBOTDgwMjExX1JFR0RPTV9UWVBFX0NVU1RPTV9XT1JMRCwKKyAgTkw4MDIxMV9SRUdET01fVFlQRV9JTlRFUlNFQ1RJT04sCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gbmw4MDIxMV9yZWdfcnVsZV9hdHRyIHsKKyAgX19OTDgwMjExX1JFR19SVUxFX0FUVFJfSU5WQUxJRCwKKyAgTkw4MDIxMV9BVFRSX1JFR19SVUxFX0ZMQUdTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05MODAyMTFfUkVHX1JVTEVfQVRUUl9JTlZBTElELAotIE5MODAyMTFfQVRUUl9SRUdfUlVMRV9GTEFHUywKLSBOTDgwMjExX0FUVFJfRlJFUV9SQU5HRV9TVEFSVCwKLSBOTDgwMjExX0FUVFJfRlJFUV9SQU5HRV9FTkQsCisgIE5MODAyMTFfQVRUUl9GUkVRX1JBTkdFX1NUQVJULAorICBOTDgwMjExX0FUVFJfRlJFUV9SQU5HRV9FTkQsCisgIE5MODAyMTFfQVRUUl9GUkVRX1JBTkdFX01BWF9CVywKKyAgTkw4MDIxMV9BVFRSX1BPV0VSX1JVTEVfTUFYX0FOVF9HQUlOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0FUVFJfRlJFUV9SQU5HRV9NQVhfQlcsCi0gTkw4MDIxMV9BVFRSX1BPV0VSX1JVTEVfTUFYX0FOVF9HQUlOLAotIE5MODAyMTFfQVRUUl9QT1dFUl9SVUxFX01BWF9FSVJQLAotIF9fTkw4MDIxMV9SRUdfUlVMRV9BVFRSX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfQVRUUl9QT1dFUl9SVUxFX01BWF9FSVJQLAorICBOTDgwMjExX0FUVFJfREZTX0NBQ19USU1FLAorICBfX05MODAyMTFfUkVHX1JVTEVfQVRUUl9BRlRFUl9MQVNULAorICBOTDgwMjExX1JFR19SVUxFX0FUVFJfTUFYID0gX19OTDgwMjExX1JFR19SVUxFX0FUVFJfQUZURVJfTEFTVCAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9SRUdfUlVMRV9BVFRSX01BWCA9IF9fTkw4MDIxMV9SRUdfUlVMRV9BVFRSX0FGVEVSX0xBU1QgLSAxCiB9OwogZW51bSBubDgwMjExX3NjaGVkX3NjYW5fbWF0Y2hfYXR0ciB7Ci0gX19OTDgwMjExX1NDSEVEX1NDQU5fTUFUQ0hfQVRUUl9JTlZBTElELAorICBfX05MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX0lOVkFMSUQsCisgIE5MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX1NTSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX1NTSUQsCi0gTkw4MDIxMV9TQ0hFRF9TQ0FOX01BVENIX0FUVFJfUlNTSSwKLSBfX05MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX0FGVEVSX0xBU1QsCi0gTkw4MDIxMV9TQ0hFRF9TQ0FOX01BVENIX0FUVFJfTUFYID0KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19OTDgwMjExX1NDSEVEX1NDQU5fTUFUQ0hfQVRUUl9BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX1NDSEVEX1NDQU5fTUFUQ0hfQVRUUl9SU1NJLAorICBfX05MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX01BWCA9IF9fTkw4MDIxMV9TQ0hFRF9TQ0FOX01BVENIX0FUVFJfQUZURVJfTEFTVCAtIDEKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX0FUVFJfU0NIRURfU0NBTl9NQVRDSF9TU0lEIE5MODAyMTFfU0NIRURfU0NBTl9NQVRDSF9BVFRSX1NTSUQKIGVudW0gbmw4MDIxMV9yZWdfcnVsZV9mbGFncyB7CisgIE5MODAyMTFfUlJGX05PX09GRE0gPSAxIDw8IDAsCisgIE5MODAyMTFfUlJGX05PX0NDSyA9IDEgPDwgMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9SUkZfTk9fT0ZETSA9IDE8PDAsCi0gTkw4MDIxMV9SUkZfTk9fQ0NLID0gMTw8MSwKLSBOTDgwMjExX1JSRl9OT19JTkRPT1IgPSAxPDwyLAotIE5MODAyMTFfUlJGX05PX09VVERPT1IgPSAxPDwzLAorICBOTDgwMjExX1JSRl9OT19JTkRPT1IgPSAxIDw8IDIsCisgIE5MODAyMTFfUlJGX05PX09VVERPT1IgPSAxIDw8IDMsCisgIE5MODAyMTFfUlJGX0RGUyA9IDEgPDwgNCwKKyAgTkw4MDIxMV9SUkZfUFRQX09OTFkgPSAxIDw8IDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfUlJGX0RGUyA9IDE8PDQsCi0gTkw4MDIxMV9SUkZfUFRQX09OTFkgPSAxPDw1LAotIE5MODAyMTFfUlJGX1BUTVBfT05MWSA9IDE8PDYsCi0gTkw4MDIxMV9SUkZfTk9fSVIgPSAxPDw3LAorICBOTDgwMjExX1JSRl9QVE1QX09OTFkgPSAxIDw8IDYsCisgIE5MODAyMTFfUlJGX05PX0lSID0gMSA8PCA3LAorICBfX05MODAyMTFfUlJGX05PX0lCU1MgPSAxIDw8IDgsCisgIE5MODAyMTFfUlJGX0FVVE9fQlcgPSAxIDw8IDExLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05MODAyMTFfUlJGX05PX0lCU1MgPSAxPDw4LAogfTsKICNkZWZpbmUgTkw4MDIxMV9SUkZfUEFTU0lWRV9TQ0FOIE5MODAyMTFfUlJGX05PX0lSCiAjZGVmaW5lIE5MODAyMTFfUlJGX05PX0lCU1MgTkw4MDIxMV9SUkZfTk9fSVIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5MODAyMTFfUlJGX05PX0lSIE5MODAyMTFfUlJGX05PX0lSCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBOTDgwMjExX1JSRl9OT19JUl9BTEwgKE5MODAyMTFfUlJGX05PX0lSIHwgX19OTDgwMjExX1JSRl9OT19JQlNTKQogZW51bSBubDgwMjExX2Rmc19yZWdpb25zIHsKLSBOTDgwMjExX0RGU19VTlNFVCA9IDAsCisgIE5MODAyMTFfREZTX1VOU0VUID0gMCwKKyAgTkw4MDIxMV9ERlNfRkNDID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9ERlNfRkNDID0gMSwKLSBOTDgwMjExX0RGU19FVFNJID0gMiwKLSBOTDgwMjExX0RGU19KUCA9IDMsCisgIE5MODAyMTFfREZTX0VUU0kgPSAyLAorICBOTDgwMjExX0RGU19KUCA9IDMsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV91c2VyX3JlZ19oaW50X3R5cGUgewotIE5MODAyMTFfVVNFUl9SRUdfSElOVF9VU0VSID0gMCwKLSBOTDgwMjExX1VTRVJfUkVHX0hJTlRfQ0VMTF9CQVNFID0gMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5MODAyMTFfVVNFUl9SRUdfSElOVF9VU0VSID0gMCwKKyAgTkw4MDIxMV9VU0VSX1JFR19ISU5UX0NFTExfQkFTRSA9IDEsCisgIE5MODAyMTFfVVNFUl9SRUdfSElOVF9JTkRPT1IgPSAyLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfc3VydmV5X2luZm8gewotIF9fTkw4MDIxMV9TVVJWRVlfSU5GT19JTlZBTElELAotIE5MODAyMTFfU1VSVkVZX0lORk9fRlJFUVVFTkNZLAotIE5MODAyMTFfU1VSVkVZX0lORk9fTk9JU0UsCisgIF9fTkw4MDIxMV9TVVJWRVlfSU5GT19JTlZBTElELAorICBOTDgwMjExX1NVUlZFWV9JTkZPX0ZSRVFVRU5DWSwKKyAgTkw4MDIxMV9TVVJWRVlfSU5GT19OT0lTRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TVVJWRVlfSU5GT19JTl9VU0UsCi0gTkw4MDIxMV9TVVJWRVlfSU5GT19DSEFOTkVMX1RJTUUsCi0gTkw4MDIxMV9TVVJWRVlfSU5GT19DSEFOTkVMX1RJTUVfQlVTWSwKLSBOTDgwMjExX1NVUlZFWV9JTkZPX0NIQU5ORUxfVElNRV9FWFRfQlVTWSwKKyAgTkw4MDIxMV9TVVJWRVlfSU5GT19JTl9VU0UsCisgIE5MODAyMTFfU1VSVkVZX0lORk9fQ0hBTk5FTF9USU1FLAorICBOTDgwMjExX1NVUlZFWV9JTkZPX0NIQU5ORUxfVElNRV9CVVNZLAorICBOTDgwMjExX1NVUlZFWV9JTkZPX0NIQU5ORUxfVElNRV9FWFRfQlVTWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TVVJWRVlfSU5GT19DSEFOTkVMX1RJTUVfUlgsCi0gTkw4MDIxMV9TVVJWRVlfSU5GT19DSEFOTkVMX1RJTUVfVFgsCi0gX19OTDgwMjExX1NVUlZFWV9JTkZPX0FGVEVSX0xBU1QsCi0gTkw4MDIxMV9TVVJWRVlfSU5GT19NQVggPSBfX05MODAyMTFfU1VSVkVZX0lORk9fQUZURVJfTEFTVCAtIDEKKyAgTkw4MDIxMV9TVVJWRVlfSU5GT19DSEFOTkVMX1RJTUVfUlgsCisgIE5MODAyMTFfU1VSVkVZX0lORk9fQ0hBTk5FTF9USU1FX1RYLAorICBfX05MODAyMTFfU1VSVkVZX0lORk9fQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9TVVJWRVlfSU5GT19NQVggPSBfX05MODAyMTFfU1VSVkVZX0lORk9fQUZURVJfTEFTVCAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBubDgwMjExX21udHJfZmxhZ3MgewotIF9fTkw4MDIxMV9NTlRSX0ZMQUdfSU5WQUxJRCwKLSBOTDgwMjExX01OVFJfRkxBR19GQ1NGQUlMLAorICBfX05MODAyMTFfTU5UUl9GTEFHX0lOVkFMSUQsCisgIE5MODAyMTFfTU5UUl9GTEFHX0ZDU0ZBSUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTU5UUl9GTEFHX1BMQ1BGQUlMLAotIE5MODAyMTFfTU5UUl9GTEFHX0NPTlRST0wsCi0gTkw4MDIxMV9NTlRSX0ZMQUdfT1RIRVJfQlNTLAotIE5MODAyMTFfTU5UUl9GTEFHX0NPT0tfRlJBTUVTLAorICBOTDgwMjExX01OVFJfRkxBR19QTENQRkFJTCwKKyAgTkw4MDIxMV9NTlRSX0ZMQUdfQ09OVFJPTCwKKyAgTkw4MDIxMV9NTlRSX0ZMQUdfT1RIRVJfQlNTLAorICBOTDgwMjExX01OVFJfRkxBR19DT09LX0ZSQU1FUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NTlRSX0ZMQUdfQUNUSVZFLAotIF9fTkw4MDIxMV9NTlRSX0ZMQUdfQUZURVJfTEFTVCwKLSBOTDgwMjExX01OVFJfRkxBR19NQVggPSBfX05MODAyMTFfTU5UUl9GTEFHX0FGVEVSX0xBU1QgLSAxCisgIE5MODAyMTFfTU5UUl9GTEFHX0FDVElWRSwKKyAgX19OTDgwMjExX01OVFJfRkxBR19BRlRFUl9MQVNULAorICBOTDgwMjExX01OVFJfRkxBR19NQVggPSBfX05MODAyMTFfTU5UUl9GTEFHX0FGVEVSX0xBU1QgLSAxCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9tZXNoX3Bvd2VyX21vZGUgewotIE5MODAyMTFfTUVTSF9QT1dFUl9VTktOT1dOLAotIE5MODAyMTFfTUVTSF9QT1dFUl9BQ1RJVkUsCi0gTkw4MDIxMV9NRVNIX1BPV0VSX0xJR0hUX1NMRUVQLAorICBOTDgwMjExX01FU0hfUE9XRVJfVU5LTk9XTiwKKyAgTkw4MDIxMV9NRVNIX1BPV0VSX0FDVElWRSwKKyAgTkw4MDIxMV9NRVNIX1BPV0VSX0xJR0hUX1NMRUVQLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX01FU0hfUE9XRVJfREVFUF9TTEVFUCwKLSBfX05MODAyMTFfTUVTSF9QT1dFUl9BRlRFUl9MQVNULAotIE5MODAyMTFfTUVTSF9QT1dFUl9NQVggPSBfX05MODAyMTFfTUVTSF9QT1dFUl9BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX01FU0hfUE9XRVJfREVFUF9TTEVFUCwKKyAgX19OTDgwMjExX01FU0hfUE9XRVJfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9NRVNIX1BPV0VSX01BWCA9IF9fTkw4MDIxMV9NRVNIX1BPV0VSX0FGVEVSX0xBU1QgLSAxCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9tZXNoY29uZl9wYXJhbXMgewotIF9fTkw4MDIxMV9NRVNIQ09ORl9JTlZBTElELAotIE5MODAyMTFfTUVTSENPTkZfUkVUUllfVElNRU9VVCwKLSBOTDgwMjExX01FU0hDT05GX0NPTkZJUk1fVElNRU9VVCwKKyAgX19OTDgwMjExX01FU0hDT05GX0lOVkFMSUQsCisgIE5MODAyMTFfTUVTSENPTkZfUkVUUllfVElNRU9VVCwKKyAgTkw4MDIxMV9NRVNIQ09ORl9DT05GSVJNX1RJTUVPVVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTUVTSENPTkZfSE9MRElOR19USU1FT1VULAotIE5MODAyMTFfTUVTSENPTkZfTUFYX1BFRVJfTElOS1MsCi0gTkw4MDIxMV9NRVNIQ09ORl9NQVhfUkVUUklFUywKLSBOTDgwMjExX01FU0hDT05GX1RUTCwKKyAgTkw4MDIxMV9NRVNIQ09ORl9IT0xESU5HX1RJTUVPVVQsCisgIE5MODAyMTFfTUVTSENPTkZfTUFYX1BFRVJfTElOS1MsCisgIE5MODAyMTFfTUVTSENPTkZfTUFYX1JFVFJJRVMsCisgIE5MODAyMTFfTUVTSENPTkZfVFRMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX01FU0hDT05GX0FVVE9fT1BFTl9QTElOS1MsCi0gTkw4MDIxMV9NRVNIQ09ORl9IV01QX01BWF9QUkVRX1JFVFJJRVMsCi0gTkw4MDIxMV9NRVNIQ09ORl9QQVRIX1JFRlJFU0hfVElNRSwKLSBOTDgwMjExX01FU0hDT05GX01JTl9ESVNDT1ZFUllfVElNRU9VVCwKKyAgTkw4MDIxMV9NRVNIQ09ORl9BVVRPX09QRU5fUExJTktTLAorICBOTDgwMjExX01FU0hDT05GX0hXTVBfTUFYX1BSRVFfUkVUUklFUywKKyAgTkw4MDIxMV9NRVNIQ09ORl9QQVRIX1JFRlJFU0hfVElNRSwKKyAgTkw4MDIxMV9NRVNIQ09ORl9NSU5fRElTQ09WRVJZX1RJTUVPVVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9BQ1RJVkVfUEFUSF9USU1FT1VULAotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9QUkVRX01JTl9JTlRFUlZBTCwKLSBOTDgwMjExX01FU0hDT05GX0hXTVBfTkVUX0RJQU1fVFJWU19USU1FLAotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9ST09UTU9ERSwKKyAgTkw4MDIxMV9NRVNIQ09ORl9IV01QX0FDVElWRV9QQVRIX1RJTUVPVVQsCisgIE5MODAyMTFfTUVTSENPTkZfSFdNUF9QUkVRX01JTl9JTlRFUlZBTCwKKyAgTkw4MDIxMV9NRVNIQ09ORl9IV01QX05FVF9ESUFNX1RSVlNfVElNRSwKKyAgTkw4MDIxMV9NRVNIQ09ORl9IV01QX1JPT1RNT0RFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX01FU0hDT05GX0VMRU1FTlRfVFRMLAotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9SQU5OX0lOVEVSVkFMLAotIE5MODAyMTFfTUVTSENPTkZfR0FURV9BTk5PVU5DRU1FTlRTLAotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9QRVJSX01JTl9JTlRFUlZBTCwKKyAgTkw4MDIxMV9NRVNIQ09ORl9FTEVNRU5UX1RUTCwKKyAgTkw4MDIxMV9NRVNIQ09ORl9IV01QX1JBTk5fSU5URVJWQUwsCisgIE5MODAyMTFfTUVTSENPTkZfR0FURV9BTk5PVU5DRU1FTlRTLAorICBOTDgwMjExX01FU0hDT05GX0hXTVBfUEVSUl9NSU5fSU5URVJWQUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTUVTSENPTkZfRk9SV0FSRElORywKLSBOTDgwMjExX01FU0hDT05GX1JTU0lfVEhSRVNIT0xELAotIE5MODAyMTFfTUVTSENPTkZfU1lOQ19PRkZTRVRfTUFYX05FSUdIQk9SLAotIE5MODAyMTFfTUVTSENPTkZfSFRfT1BNT0RFLAorICBOTDgwMjExX01FU0hDT05GX0ZPUldBUkRJTkcsCisgIE5MODAyMTFfTUVTSENPTkZfUlNTSV9USFJFU0hPTEQsCisgIE5MODAyMTFfTUVTSENPTkZfU1lOQ19PRkZTRVRfTUFYX05FSUdIQk9SLAorICBOTDgwMjExX01FU0hDT05GX0hUX09QTU9ERSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NRVNIQ09ORl9IV01QX1BBVEhfVE9fUk9PVF9USU1FT1VULAotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9ST09UX0lOVEVSVkFMLAotIE5MODAyMTFfTUVTSENPTkZfSFdNUF9DT05GSVJNQVRJT05fSU5URVJWQUwsCi0gTkw4MDIxMV9NRVNIQ09ORl9QT1dFUl9NT0RFLAorICBOTDgwMjExX01FU0hDT05GX0hXTVBfUEFUSF9UT19ST09UX1RJTUVPVVQsCisgIE5MODAyMTFfTUVTSENPTkZfSFdNUF9ST09UX0lOVEVSVkFMLAorICBOTDgwMjExX01FU0hDT05GX0hXTVBfQ09ORklSTUFUSU9OX0lOVEVSVkFMLAorICBOTDgwMjExX01FU0hDT05GX1BPV0VSX01PREUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTUVTSENPTkZfQVdBS0VfV0lORE9XLAotIE5MODAyMTFfTUVTSENPTkZfUExJTktfVElNRU9VVCwKLSBfX05MODAyMTFfTUVTSENPTkZfQVRUUl9BRlRFUl9MQVNULAotIE5MODAyMTFfTUVTSENPTkZfQVRUUl9NQVggPSBfX05MODAyMTFfTUVTSENPTkZfQVRUUl9BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX01FU0hDT05GX0FXQUtFX1dJTkRPVywKKyAgTkw4MDIxMV9NRVNIQ09ORl9QTElOS19USU1FT1VULAorICBfX05MODAyMTFfTUVTSENPTkZfQVRUUl9BRlRFUl9MQVNULAorICBOTDgwMjExX01FU0hDT05GX0FUVFJfTUFYID0gX19OTDgwMjExX01FU0hDT05GX0FUVFJfQUZURVJfTEFTVCAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBubDgwMjExX21lc2hfc2V0dXBfcGFyYW1zIHsKLSBfX05MODAyMTFfTUVTSF9TRVRVUF9JTlZBTElELAotIE5MODAyMTFfTUVTSF9TRVRVUF9FTkFCTEVfVkVORE9SX1BBVEhfU0VMLAorICBfX05MODAyMTFfTUVTSF9TRVRVUF9JTlZBTElELAorICBOTDgwMjExX01FU0hfU0VUVVBfRU5BQkxFX1ZFTkRPUl9QQVRIX1NFTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NRVNIX1NFVFVQX0VOQUJMRV9WRU5ET1JfTUVUUklDLAotIE5MODAyMTFfTUVTSF9TRVRVUF9JRSwKLSBOTDgwMjExX01FU0hfU0VUVVBfVVNFUlNQQUNFX0FVVEgsCi0gTkw4MDIxMV9NRVNIX1NFVFVQX1VTRVJTUEFDRV9BTVBFLAorICBOTDgwMjExX01FU0hfU0VUVVBfRU5BQkxFX1ZFTkRPUl9NRVRSSUMsCisgIE5MODAyMTFfTUVTSF9TRVRVUF9JRSwKKyAgTkw4MDIxMV9NRVNIX1NFVFVQX1VTRVJTUEFDRV9BVVRILAorICBOTDgwMjExX01FU0hfU0VUVVBfVVNFUlNQQUNFX0FNUEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfTUVTSF9TRVRVUF9FTkFCTEVfVkVORE9SX1NZTkMsCi0gTkw4MDIxMV9NRVNIX1NFVFVQX1VTRVJTUEFDRV9NUE0sCi0gTkw4MDIxMV9NRVNIX1NFVFVQX0FVVEhfUFJPVE9DT0wsCi0gX19OTDgwMjExX01FU0hfU0VUVVBfQVRUUl9BRlRFUl9MQVNULAorICBOTDgwMjExX01FU0hfU0VUVVBfRU5BQkxFX1ZFTkRPUl9TWU5DLAorICBOTDgwMjExX01FU0hfU0VUVVBfVVNFUlNQQUNFX01QTSwKKyAgTkw4MDIxMV9NRVNIX1NFVFVQX0FVVEhfUFJPVE9DT0wsCisgIF9fTkw4MDIxMV9NRVNIX1NFVFVQX0FUVFJfQUZURVJfTEFTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NRVNIX1NFVFVQX0FUVFJfTUFYID0gX19OTDgwMjExX01FU0hfU0VUVVBfQVRUUl9BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX01FU0hfU0VUVVBfQVRUUl9NQVggPSBfX05MODAyMTFfTUVTSF9TRVRVUF9BVFRSX0FGVEVSX0xBU1QgLSAxCiB9OwogZW51bSBubDgwMjExX3R4cV9hdHRyIHsKLSBfX05MODAyMTFfVFhRX0FUVFJfSU5WQUxJRCwKKyAgX19OTDgwMjExX1RYUV9BVFRSX0lOVkFMSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfVFhRX0FUVFJfQUMsCi0gTkw4MDIxMV9UWFFfQVRUUl9UWE9QLAotIE5MODAyMTFfVFhRX0FUVFJfQ1dNSU4sCi0gTkw4MDIxMV9UWFFfQVRUUl9DV01BWCwKKyAgTkw4MDIxMV9UWFFfQVRUUl9BQywKKyAgTkw4MDIxMV9UWFFfQVRUUl9UWE9QLAorICBOTDgwMjExX1RYUV9BVFRSX0NXTUlOLAorICBOTDgwMjExX1RYUV9BVFRSX0NXTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1RYUV9BVFRSX0FJRlMsCi0gX19OTDgwMjExX1RYUV9BVFRSX0FGVEVSX0xBU1QsCi0gTkw4MDIxMV9UWFFfQVRUUl9NQVggPSBfX05MODAyMTFfVFhRX0FUVFJfQUZURVJfTEFTVCAtIDEKKyAgTkw4MDIxMV9UWFFfQVRUUl9BSUZTLAorICBfX05MODAyMTFfVFhRX0FUVFJfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9UWFFfQVRUUl9NQVggPSBfX05MODAyMTFfVFhRX0FUVFJfQUZURVJfTEFTVCAtIDEKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBubDgwMjExX2FjIHsKLSBOTDgwMjExX0FDX1ZPLAotIE5MODAyMTFfQUNfVkksCi0gTkw4MDIxMV9BQ19CRSwKKyAgTkw4MDIxMV9BQ19WTywKKyAgTkw4MDIxMV9BQ19WSSwKKyAgTkw4MDIxMV9BQ19CRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BQ19CSywKLSBOTDgwMjExX05VTV9BQ1MKKyAgTkw4MDIxMV9BQ19CSywKKyAgTkw4MDIxMV9OVU1fQUNTCiB9OwogI2RlZmluZSBOTDgwMjExX1RYUV9BVFRSX1FVRVVFIE5MODAyMTFfVFhRX0FUVFJfQUMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC04NjIsMTgzICs4OTIsMTkzIEBACiAjZGVmaW5lIE5MODAyMTFfVFhRX1FfQksgTkw4MDIxMV9BQ19CSwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9jaGFubmVsX3R5cGUgewotIE5MODAyMTFfQ0hBTl9OT19IVCwKLSBOTDgwMjExX0NIQU5fSFQyMCwKLSBOTDgwMjExX0NIQU5fSFQ0ME1JTlVTLAorICBOTDgwMjExX0NIQU5fTk9fSFQsCisgIE5MODAyMTFfQ0hBTl9IVDIwLAorICBOTDgwMjExX0NIQU5fSFQ0ME1JTlVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NIQU5fSFQ0MFBMVVMKKyAgTkw4MDIxMV9DSEFOX0hUNDBQTFVTCiB9OwogZW51bSBubDgwMjExX2NoYW5fd2lkdGggewotIE5MODAyMTFfQ0hBTl9XSURUSF8yMF9OT0hULAorICBOTDgwMjExX0NIQU5fV0lEVEhfMjBfTk9IVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9DSEFOX1dJRFRIXzIwLAotIE5MODAyMTFfQ0hBTl9XSURUSF80MCwKLSBOTDgwMjExX0NIQU5fV0lEVEhfODAsCi0gTkw4MDIxMV9DSEFOX1dJRFRIXzgwUDgwLAorICBOTDgwMjExX0NIQU5fV0lEVEhfMjAsCisgIE5MODAyMTFfQ0hBTl9XSURUSF80MCwKKyAgTkw4MDIxMV9DSEFOX1dJRFRIXzgwLAorICBOTDgwMjExX0NIQU5fV0lEVEhfODBQODAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQ0hBTl9XSURUSF8xNjAsCi0gTkw4MDIxMV9DSEFOX1dJRFRIXzUsCi0gTkw4MDIxMV9DSEFOX1dJRFRIXzEwLAorICBOTDgwMjExX0NIQU5fV0lEVEhfMTYwLAorICBOTDgwMjExX0NIQU5fV0lEVEhfNSwKKyAgTkw4MDIxMV9DSEFOX1dJRFRIXzEwLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfYnNzX3NjYW5fd2lkdGggewotIE5MODAyMTFfQlNTX0NIQU5fV0lEVEhfMjAsCi0gTkw4MDIxMV9CU1NfQ0hBTl9XSURUSF8xMCwKLSBOTDgwMjExX0JTU19DSEFOX1dJRFRIXzUsCisgIE5MODAyMTFfQlNTX0NIQU5fV0lEVEhfMjAsCisgIE5MODAyMTFfQlNTX0NIQU5fV0lEVEhfMTAsCisgIE5MODAyMTFfQlNTX0NIQU5fV0lEVEhfNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBubDgwMjExX2JzcyB7Ci0gX19OTDgwMjExX0JTU19JTlZBTElELAotIE5MODAyMTFfQlNTX0JTU0lELAorICBfX05MODAyMTFfQlNTX0lOVkFMSUQsCisgIE5MODAyMTFfQlNTX0JTU0lELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0JTU19GUkVRVUVOQ1ksCi0gTkw4MDIxMV9CU1NfVFNGLAotIE5MODAyMTFfQlNTX0JFQUNPTl9JTlRFUlZBTCwKLSBOTDgwMjExX0JTU19DQVBBQklMSVRZLAorICBOTDgwMjExX0JTU19GUkVRVUVOQ1ksCisgIE5MODAyMTFfQlNTX1RTRiwKKyAgTkw4MDIxMV9CU1NfQkVBQ09OX0lOVEVSVkFMLAorICBOTDgwMjExX0JTU19DQVBBQklMSVRZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0JTU19JTkZPUk1BVElPTl9FTEVNRU5UUywKLSBOTDgwMjExX0JTU19TSUdOQUxfTUJNLAotIE5MODAyMTFfQlNTX1NJR05BTF9VTlNQRUMsCi0gTkw4MDIxMV9CU1NfU1RBVFVTLAorICBOTDgwMjExX0JTU19JTkZPUk1BVElPTl9FTEVNRU5UUywKKyAgTkw4MDIxMV9CU1NfU0lHTkFMX01CTSwKKyAgTkw4MDIxMV9CU1NfU0lHTkFMX1VOU1BFQywKKyAgTkw4MDIxMV9CU1NfU1RBVFVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0JTU19TRUVOX01TX0FHTywKLSBOTDgwMjExX0JTU19CRUFDT05fSUVTLAotIE5MODAyMTFfQlNTX0NIQU5fV0lEVEgsCi0gX19OTDgwMjExX0JTU19BRlRFUl9MQVNULAorICBOTDgwMjExX0JTU19TRUVOX01TX0FHTywKKyAgTkw4MDIxMV9CU1NfQkVBQ09OX0lFUywKKyAgTkw4MDIxMV9CU1NfQ0hBTl9XSURUSCwKKyAgTkw4MDIxMV9CU1NfQkVBQ09OX1RTRiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9CU1NfTUFYID0gX19OTDgwMjExX0JTU19BRlRFUl9MQVNUIC0gMQorICBOTDgwMjExX0JTU19QUkVTUF9EQVRBLAorICBfX05MODAyMTFfQlNTX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfQlNTX01BWCA9IF9fTkw4MDIxMV9CU1NfQUZURVJfTEFTVCAtIDEKIH07Ci1lbnVtIG5sODAyMTFfYnNzX3N0YXR1cyB7Ci0gTkw4MDIxMV9CU1NfU1RBVFVTX0FVVEhFTlRJQ0FURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQlNTX1NUQVRVU19BU1NPQ0lBVEVELAotIE5MODAyMTFfQlNTX1NUQVRVU19JQlNTX0pPSU5FRCwKK2VudW0gbmw4MDIxMV9ic3Nfc3RhdHVzIHsKKyAgTkw4MDIxMV9CU1NfU1RBVFVTX0FVVEhFTlRJQ0FURUQsCisgIE5MODAyMTFfQlNTX1NUQVRVU19BU1NPQ0lBVEVELAorICBOTDgwMjExX0JTU19TVEFUVVNfSUJTU19KT0lORUQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gbmw4MDIxMV9hdXRoX3R5cGUgeworICBOTDgwMjExX0FVVEhUWVBFX09QRU5fU1lTVEVNLAorICBOTDgwMjExX0FVVEhUWVBFX1NIQVJFRF9LRVksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVVUSFRZUEVfT1BFTl9TWVNURU0sCi0gTkw4MDIxMV9BVVRIVFlQRV9TSEFSRURfS0VZLAotIE5MODAyMTFfQVVUSFRZUEVfRlQsCi0gTkw4MDIxMV9BVVRIVFlQRV9ORVRXT1JLX0VBUCwKKyAgTkw4MDIxMV9BVVRIVFlQRV9GVCwKKyAgTkw4MDIxMV9BVVRIVFlQRV9ORVRXT1JLX0VBUCwKKyAgTkw4MDIxMV9BVVRIVFlQRV9TQUUsCisgIF9fTkw4MDIxMV9BVVRIVFlQRV9OVU0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfQVVUSFRZUEVfU0FFLAotIF9fTkw4MDIxMV9BVVRIVFlQRV9OVU0sCi0gTkw4MDIxMV9BVVRIVFlQRV9NQVggPSBfX05MODAyMTFfQVVUSFRZUEVfTlVNIC0gMSwKLSBOTDgwMjExX0FVVEhUWVBFX0FVVE9NQVRJQwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9BVVRIVFlQRV9NQVggPSBfX05MODAyMTFfQVVUSFRZUEVfTlVNIC0gMSwKKyAgTkw4MDIxMV9BVVRIVFlQRV9BVVRPTUFUSUMKIH07CiBlbnVtIG5sODAyMTFfa2V5X3R5cGUgewotIE5MODAyMTFfS0VZVFlQRV9HUk9VUCwKLSBOTDgwMjExX0tFWVRZUEVfUEFJUldJU0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfS0VZVFlQRV9QRUVSS0VZLAotIE5VTV9OTDgwMjExX0tFWVRZUEVTCisgIE5MODAyMTFfS0VZVFlQRV9HUk9VUCwKKyAgTkw4MDIxMV9LRVlUWVBFX1BBSVJXSVNFLAorICBOTDgwMjExX0tFWVRZUEVfUEVFUktFWSwKKyAgTlVNX05MODAyMTFfS0VZVFlQRVMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBubDgwMjExX21mcCB7CisgIE5MODAyMTFfTUZQX05PLAorICBOTDgwMjExX01GUF9SRVFVSVJFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9NRlBfTk8sCi0gTkw4MDIxMV9NRlBfUkVRVUlSRUQsCiB9OwogZW51bSBubDgwMjExX3dwYV92ZXJzaW9ucyB7CisgIE5MODAyMTFfV1BBX1ZFUlNJT05fMSA9IDEgPDwgMCwKKyAgTkw4MDIxMV9XUEFfVkVSU0lPTl8yID0gMSA8PCAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1dQQV9WRVJTSU9OXzEgPSAxIDw8IDAsCi0gTkw4MDIxMV9XUEFfVkVSU0lPTl8yID0gMSA8PCAxLAogfTsKIGVudW0gbmw4MDIxMV9rZXlfZGVmYXVsdF90eXBlcyB7CisgIF9fTkw4MDIxMV9LRVlfREVGQVVMVF9UWVBFX0lOVkFMSUQsCisgIE5MODAyMTFfS0VZX0RFRkFVTFRfVFlQRV9VTklDQVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX05MODAyMTFfS0VZX0RFRkFVTFRfVFlQRV9JTlZBTElELAotIE5MODAyMTFfS0VZX0RFRkFVTFRfVFlQRV9VTklDQVNULAotIE5MODAyMTFfS0VZX0RFRkFVTFRfVFlQRV9NVUxUSUNBU1QsCi0gTlVNX05MODAyMTFfS0VZX0RFRkFVTFRfVFlQRVMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5MODAyMTFfS0VZX0RFRkFVTFRfVFlQRV9NVUxUSUNBU1QsCisgIE5VTV9OTDgwMjExX0tFWV9ERUZBVUxUX1RZUEVTCiB9OwogZW51bSBubDgwMjExX2tleV9hdHRyaWJ1dGVzIHsKLSBfX05MODAyMTFfS0VZX0lOVkFMSUQsCi0gTkw4MDIxMV9LRVlfREFUQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9LRVlfSURYLAotIE5MODAyMTFfS0VZX0NJUEhFUiwKLSBOTDgwMjExX0tFWV9TRVEsCi0gTkw4MDIxMV9LRVlfREVGQVVMVCwKKyAgX19OTDgwMjExX0tFWV9JTlZBTElELAorICBOTDgwMjExX0tFWV9EQVRBLAorICBOTDgwMjExX0tFWV9JRFgsCisgIE5MODAyMTFfS0VZX0NJUEhFUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9LRVlfREVGQVVMVF9NR01ULAotIE5MODAyMTFfS0VZX1RZUEUsCi0gTkw4MDIxMV9LRVlfREVGQVVMVF9UWVBFUywKLSBfX05MODAyMTFfS0VZX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfS0VZX1NFUSwKKyAgTkw4MDIxMV9LRVlfREVGQVVMVCwKKyAgTkw4MDIxMV9LRVlfREVGQVVMVF9NR01ULAorICBOTDgwMjExX0tFWV9UWVBFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0tFWV9NQVggPSBfX05MODAyMTFfS0VZX0FGVEVSX0xBU1QgLSAxCisgIE5MODAyMTFfS0VZX0RFRkFVTFRfVFlQRVMsCisgIF9fTkw4MDIxMV9LRVlfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9LRVlfTUFYID0gX19OTDgwMjExX0tFWV9BRlRFUl9MQVNUIC0gMQogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfdHhfcmF0ZV9hdHRyaWJ1dGVzIHsKLSBfX05MODAyMTFfVFhSQVRFX0lOVkFMSUQsCisgIF9fTkw4MDIxMV9UWFJBVEVfSU5WQUxJRCwKKyAgTkw4MDIxMV9UWFJBVEVfTEVHQUNZLAorICBOTDgwMjExX1RYUkFURV9IVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9UWFJBVEVfTEVHQUNZLAotIE5MODAyMTFfVFhSQVRFX0hULAotIE5MODAyMTFfVFhSQVRFX1ZIVCwKLSBfX05MODAyMTFfVFhSQVRFX0FGVEVSX0xBU1QsCisgIE5MODAyMTFfVFhSQVRFX1ZIVCwKKyAgTkw4MDIxMV9UWFJBVEVfR0ksCisgIF9fTkw4MDIxMV9UWFJBVEVfQUZURVJfTEFTVCwKKyAgTkw4MDIxMV9UWFJBVEVfTUFYID0gX19OTDgwMjExX1RYUkFURV9BRlRFUl9MQVNUIC0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1RYUkFURV9NQVggPSBfX05MODAyMTFfVFhSQVRFX0FGVEVSX0xBU1QgLSAxCiB9OwogI2RlZmluZSBOTDgwMjExX1RYUkFURV9NQ1MgTkw4MDIxMV9UWFJBVEVfSFQKICNkZWZpbmUgTkw4MDIxMV9WSFRfTlNTX01BWCA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5sODAyMTFfdHhyYXRlX3ZodCB7Ci0gX191MTYgbWNzW05MODAyMTFfVkhUX05TU19NQVhdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgbWNzW05MODAyMTFfVkhUX05TU19NQVhdOworfTsKK2VudW0gbmw4MDIxMV90eHJhdGVfZ2kgeworICBOTDgwMjExX1RYUkFURV9ERUZBVUxUX0dJLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9UWFJBVEVfRk9SQ0VfU0dJLAorICBOTDgwMjExX1RYUkFURV9GT1JDRV9MR0ksCiB9OwogZW51bSBubDgwMjExX2JhbmQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0JBTkRfMkdIWiwKLSBOTDgwMjExX0JBTkRfNUdIWiwKLSBOTDgwMjExX0JBTkRfNjBHSFosCisgIE5MODAyMTFfQkFORF8yR0haLAorICBOTDgwMjExX0JBTkRfNUdIWiwKKyAgTkw4MDIxMV9CQU5EXzYwR0haLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfcHNfc3RhdGUgewotIE5MODAyMTFfUFNfRElTQUJMRUQsCi0gTkw4MDIxMV9QU19FTkFCTEVELAorICBOTDgwMjExX1BTX0RJU0FCTEVELAorICBOTDgwMjExX1BTX0VOQUJMRUQsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9hdHRyX2NxbSB7Ci0gX19OTDgwMjExX0FUVFJfQ1FNX0lOVkFMSUQsCi0gTkw4MDIxMV9BVFRSX0NRTV9SU1NJX1RIT0xELAotIE5MODAyMTFfQVRUUl9DUU1fUlNTSV9IWVNULAorICBfX05MODAyMTFfQVRUUl9DUU1fSU5WQUxJRCwKKyAgTkw4MDIxMV9BVFRSX0NRTV9SU1NJX1RIT0xELAorICBOTDgwMjExX0FUVFJfQ1FNX1JTU0lfSFlTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0NRTV9SU1NJX1RIUkVTSE9MRF9FVkVOVCwKLSBOTDgwMjExX0FUVFJfQ1FNX1BLVF9MT1NTX0VWRU5ULAotIE5MODAyMTFfQVRUUl9DUU1fVFhFX1JBVEUsCi0gTkw4MDIxMV9BVFRSX0NRTV9UWEVfUEtUUywKKyAgTkw4MDIxMV9BVFRSX0NRTV9SU1NJX1RIUkVTSE9MRF9FVkVOVCwKKyAgTkw4MDIxMV9BVFRSX0NRTV9QS1RfTE9TU19FVkVOVCwKKyAgTkw4MDIxMV9BVFRSX0NRTV9UWEVfUkFURSwKKyAgTkw4MDIxMV9BVFRSX0NRTV9UWEVfUEtUUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0NRTV9UWEVfSU5UVkwsCi0gX19OTDgwMjExX0FUVFJfQ1FNX0FGVEVSX0xBU1QsCi0gTkw4MDIxMV9BVFRSX0NRTV9NQVggPSBfX05MODAyMTFfQVRUUl9DUU1fQUZURVJfTEFTVCAtIDEKKyAgTkw4MDIxMV9BVFRSX0NRTV9UWEVfSU5UVkwsCisgIF9fTkw4MDIxMV9BVFRSX0NRTV9BRlRFUl9MQVNULAorICBOTDgwMjExX0FUVFJfQ1FNX01BWCA9IF9fTkw4MDIxMV9BVFRSX0NRTV9BRlRFUl9MQVNUIC0gMQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfY3FtX3Jzc2lfdGhyZXNob2xkX2V2ZW50IHsKLSBOTDgwMjExX0NRTV9SU1NJX1RIUkVTSE9MRF9FVkVOVF9MT1csCi0gTkw4MDIxMV9DUU1fUlNTSV9USFJFU0hPTERfRVZFTlRfSElHSCwKLSBOTDgwMjExX0NRTV9SU1NJX0JFQUNPTl9MT1NTX0VWRU5ULAorICBOTDgwMjExX0NRTV9SU1NJX1RIUkVTSE9MRF9FVkVOVF9MT1csCisgIE5MODAyMTFfQ1FNX1JTU0lfVEhSRVNIT0xEX0VWRU5UX0hJR0gsCisgIE5MODAyMTFfQ1FNX1JTU0lfQkVBQ09OX0xPU1NfRVZFTlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gbmw4MDIxMV90eF9wb3dlcl9zZXR0aW5nIHsKLSBOTDgwMjExX1RYX1BPV0VSX0FVVE9NQVRJQywKLSBOTDgwMjExX1RYX1BPV0VSX0xJTUlURUQsCisgIE5MODAyMTFfVFhfUE9XRVJfQVVUT01BVElDLAorICBOTDgwMjExX1RYX1BPV0VSX0xJTUlURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfVFhfUE9XRVJfRklYRUQsCisgIE5MODAyMTFfVFhfUE9XRVJfRklYRUQsCiB9OwogZW51bSBubDgwMjExX3BhY2tldF9wYXR0ZXJuX2F0dHIgewotIF9fTkw4MDIxMV9QS1RQQVRfSU5WQUxJRCwKKyAgX19OTDgwMjExX1BLVFBBVF9JTlZBTElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1BLVFBBVF9NQVNLLAotIE5MODAyMTFfUEtUUEFUX1BBVFRFUk4sCi0gTkw4MDIxMV9QS1RQQVRfT0ZGU0VULAotIE5VTV9OTDgwMjExX1BLVFBBVCwKKyAgTkw4MDIxMV9QS1RQQVRfTUFTSywKKyAgTkw4MDIxMV9QS1RQQVRfUEFUVEVSTiwKKyAgTkw4MDIxMV9QS1RQQVRfT0ZGU0VULAorICBOVU1fTkw4MDIxMV9QS1RQQVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1BWF9OTDgwMjExX1BLVFBBVCA9IE5VTV9OTDgwMjExX1BLVFBBVCAtIDEsCisgIE1BWF9OTDgwMjExX1BLVFBBVCA9IE5VTV9OTDgwMjExX1BLVFBBVCAtIDEsCiB9Owogc3RydWN0IG5sODAyMTFfcGF0dGVybl9zdXBwb3J0IHsKLSBfX3UzMiBtYXhfcGF0dGVybnM7CisgIF9fdTMyIG1heF9wYXR0ZXJuczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWluX3BhdHRlcm5fbGVuOwotIF9fdTMyIG1heF9wYXR0ZXJuX2xlbjsKLSBfX3UzMiBtYXhfcGt0X29mZnNldDsKKyAgX191MzIgbWluX3BhdHRlcm5fbGVuOworICBfX3UzMiBtYXhfcGF0dGVybl9sZW47CisgIF9fdTMyIG1heF9wa3Rfb2Zmc2V0OwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fTkw4MDIxMV9XT1dMQU5fUEtUUEFUX0lOVkFMSUQgX19OTDgwMjExX1BLVFBBVF9JTlZBTElECkBAIC0xMDUxLDI1OSArMTA5MSwyODUgQEAKICNkZWZpbmUgbmw4MDIxMV93b3dsYW5fcGF0dGVybl9zdXBwb3J0IG5sODAyMTFfcGF0dGVybl9zdXBwb3J0CiBlbnVtIG5sODAyMTFfd293bGFuX3RyaWdnZXJzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19OTDgwMjExX1dPV0xBTl9UUklHX0lOVkFMSUQsCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19BTlksCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19ESVNDT05ORUNULAotIE5MODAyMTFfV09XTEFOX1RSSUdfTUFHSUNfUEtULAorICBfX05MODAyMTFfV09XTEFOX1RSSUdfSU5WQUxJRCwKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19BTlksCisgIE5MODAyMTFfV09XTEFOX1RSSUdfRElTQ09OTkVDVCwKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19NQUdJQ19QS1QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfV09XTEFOX1RSSUdfUEtUX1BBVFRFUk4sCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19HVEtfUkVLRVlfU1VQUE9SVEVELAotIE5MODAyMTFfV09XTEFOX1RSSUdfR1RLX1JFS0VZX0ZBSUxVUkUsCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19FQVBfSURFTlRfUkVRVUVTVCwKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19QS1RfUEFUVEVSTiwKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19HVEtfUkVLRVlfU1VQUE9SVEVELAorICBOTDgwMjExX1dPV0xBTl9UUklHX0dUS19SRUtFWV9GQUlMVVJFLAorICBOTDgwMjExX1dPV0xBTl9UUklHX0VBUF9JREVOVF9SRVFVRVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1dPV0xBTl9UUklHXzRXQVlfSEFORFNIQUtFLAotIE5MODAyMTFfV09XTEFOX1RSSUdfUkZLSUxMX1JFTEVBU0UsCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfUEtUXzgwMjExLAotIE5MODAyMTFfV09XTEFOX1RSSUdfV0FLRVVQX1BLVF84MDIxMV9MRU4sCisgIE5MODAyMTFfV09XTEFOX1RSSUdfNFdBWV9IQU5EU0hBS0UsCisgIE5MODAyMTFfV09XTEFOX1RSSUdfUkZLSUxMX1JFTEVBU0UsCisgIE5MODAyMTFfV09XTEFOX1RSSUdfV0FLRVVQX1BLVF84MDIxMSwKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfUEtUXzgwMjExX0xFTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfUEtUXzgwMjMsCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfUEtUXzgwMjNfTEVOLAotIE5MODAyMTFfV09XTEFOX1RSSUdfVENQX0NPTk5FQ1RJT04sCi0gTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfVENQX01BVENILAorICBOTDgwMjExX1dPV0xBTl9UUklHX1dBS0VVUF9QS1RfODAyMywKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfUEtUXzgwMjNfTEVOLAorICBOTDgwMjExX1dPV0xBTl9UUklHX1RDUF9DT05ORUNUSU9OLAorICBOTDgwMjExX1dPV0xBTl9UUklHX1dBS0VVUF9UQ1BfTUFUQ0gsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfV09XTEFOX1RSSUdfV0FLRVVQX1RDUF9DT05OTE9TVCwKLSBOTDgwMjExX1dPV0xBTl9UUklHX1dBS0VVUF9UQ1BfTk9NT1JFVE9LRU5TLAotIE5VTV9OTDgwMjExX1dPV0xBTl9UUklHLAotIE1BWF9OTDgwMjExX1dPV0xBTl9UUklHID0gTlVNX05MODAyMTFfV09XTEFOX1RSSUcgLSAxCisgIE5MODAyMTFfV09XTEFOX1RSSUdfV0FLRVVQX1RDUF9DT05OTE9TVCwKKyAgTkw4MDIxMV9XT1dMQU5fVFJJR19XQUtFVVBfVENQX05PTU9SRVRPS0VOUywKKyAgTlVNX05MODAyMTFfV09XTEFOX1RSSUcsCisgIE1BWF9OTDgwMjExX1dPV0xBTl9UUklHID0gTlVNX05MODAyMTFfV09XTEFOX1RSSUcgLSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBubDgwMjExX3dvd2xhbl90Y3BfZGF0YV9zZXEgewotIF9fdTMyIHN0YXJ0LCBvZmZzZXQsIGxlbjsKKyAgX191MzIgc3RhcnQsIG9mZnNldCwgbGVuOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgbmw4MDIxMV93b3dsYW5fdGNwX2RhdGFfdG9rZW4gewotIF9fdTMyIG9mZnNldCwgbGVuOwotIF9fdTggdG9rZW5fc3RyZWFtW107CisgIF9fdTMyIG9mZnNldCwgbGVuOworICBfX3U4IHRva2VuX3N0cmVhbVtdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgbmw4MDIxMV93b3dsYW5fdGNwX2RhdGFfdG9rZW5fZmVhdHVyZSB7Ci0gX191MzIgbWluX2xlbiwgbWF4X2xlbiwgYnVmc2l6ZTsKKyAgX191MzIgbWluX2xlbiwgbWF4X2xlbiwgYnVmc2l6ZTsKIH07CiBlbnVtIG5sODAyMTFfd293bGFuX3RjcF9hdHRycyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fTkw4MDIxMV9XT1dMQU5fVENQX0lOVkFMSUQsCi0gTkw4MDIxMV9XT1dMQU5fVENQX1NSQ19JUFY0LAotIE5MODAyMTFfV09XTEFOX1RDUF9EU1RfSVBWNCwKLSBOTDgwMjExX1dPV0xBTl9UQ1BfRFNUX01BQywKKyAgX19OTDgwMjExX1dPV0xBTl9UQ1BfSU5WQUxJRCwKKyAgTkw4MDIxMV9XT1dMQU5fVENQX1NSQ19JUFY0LAorICBOTDgwMjExX1dPV0xBTl9UQ1BfRFNUX0lQVjQsCisgIE5MODAyMTFfV09XTEFOX1RDUF9EU1RfTUFDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX1dPV0xBTl9UQ1BfU1JDX1BPUlQsCi0gTkw4MDIxMV9XT1dMQU5fVENQX0RTVF9QT1JULAotIE5MODAyMTFfV09XTEFOX1RDUF9EQVRBX1BBWUxPQUQsCi0gTkw4MDIxMV9XT1dMQU5fVENQX0RBVEFfUEFZTE9BRF9TRVEsCisgIE5MODAyMTFfV09XTEFOX1RDUF9TUkNfUE9SVCwKKyAgTkw4MDIxMV9XT1dMQU5fVENQX0RTVF9QT1JULAorICBOTDgwMjExX1dPV0xBTl9UQ1BfREFUQV9QQVlMT0FELAorICBOTDgwMjExX1dPV0xBTl9UQ1BfREFUQV9QQVlMT0FEX1NFUSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9XT1dMQU5fVENQX0RBVEFfUEFZTE9BRF9UT0tFTiwKLSBOTDgwMjExX1dPV0xBTl9UQ1BfREFUQV9JTlRFUlZBTCwKLSBOTDgwMjExX1dPV0xBTl9UQ1BfV0FLRV9QQVlMT0FELAotIE5MODAyMTFfV09XTEFOX1RDUF9XQUtFX01BU0ssCisgIE5MODAyMTFfV09XTEFOX1RDUF9EQVRBX1BBWUxPQURfVE9LRU4sCisgIE5MODAyMTFfV09XTEFOX1RDUF9EQVRBX0lOVEVSVkFMLAorICBOTDgwMjExX1dPV0xBTl9UQ1BfV0FLRV9QQVlMT0FELAorICBOTDgwMjExX1dPV0xBTl9UQ1BfV0FLRV9NQVNLLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVU1fTkw4MDIxMV9XT1dMQU5fVENQLAotIE1BWF9OTDgwMjExX1dPV0xBTl9UQ1AgPSBOVU1fTkw4MDIxMV9XT1dMQU5fVENQIC0gMQorICBOVU1fTkw4MDIxMV9XT1dMQU5fVENQLAorICBNQVhfTkw4MDIxMV9XT1dMQU5fVENQID0gTlVNX05MODAyMTFfV09XTEFOX1RDUCAtIDEKIH07CiBzdHJ1Y3Qgbmw4MDIxMV9jb2FsZXNjZV9ydWxlX3N1cHBvcnQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfcnVsZXM7Ci0gc3RydWN0IG5sODAyMTFfcGF0dGVybl9zdXBwb3J0IHBhdDsKLSBfX3UzMiBtYXhfZGVsYXk7CisgIF9fdTMyIG1heF9ydWxlczsKKyAgc3RydWN0IG5sODAyMTFfcGF0dGVybl9zdXBwb3J0IHBhdDsKKyAgX191MzIgbWF4X2RlbGF5OwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfYXR0cl9jb2FsZXNjZV9ydWxlIHsKLSBfX05MODAyMTFfQ09BTEVTQ0VfUlVMRV9JTlZBTElELAotIE5MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFX0RFTEFZLAotIE5MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFX0NPTkRJVElPTiwKKyAgX19OTDgwMjExX0NPQUxFU0NFX1JVTEVfSU5WQUxJRCwKKyAgTkw4MDIxMV9BVFRSX0NPQUxFU0NFX1JVTEVfREVMQVksCisgIE5MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFX0NPTkRJVElPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BVFRSX0NPQUxFU0NFX1JVTEVfUEtUX1BBVFRFUk4sCi0gTlVNX05MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFLAotIE5MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFX01BWCA9IE5VTV9OTDgwMjExX0FUVFJfQ09BTEVTQ0VfUlVMRSAtIDEKKyAgTkw4MDIxMV9BVFRSX0NPQUxFU0NFX1JVTEVfUEtUX1BBVFRFUk4sCisgIE5VTV9OTDgwMjExX0FUVFJfQ09BTEVTQ0VfUlVMRSwKKyAgTkw4MDIxMV9BVFRSX0NPQUxFU0NFX1JVTEVfTUFYID0gTlVNX05MODAyMTFfQVRUUl9DT0FMRVNDRV9SVUxFIC0gMQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG5sODAyMTFfY29hbGVzY2VfY29uZGl0aW9uIHsKLSBOTDgwMjExX0NPQUxFU0NFX0NPTkRJVElPTl9NQVRDSCwKLSBOTDgwMjExX0NPQUxFU0NFX0NPTkRJVElPTl9OT19NQVRDSAorICBOTDgwMjExX0NPQUxFU0NFX0NPTkRJVElPTl9NQVRDSCwKKyAgTkw4MDIxMV9DT0FMRVNDRV9DT05ESVRJT05fTk9fTUFUQ0gKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBubDgwMjExX2lmYWNlX2xpbWl0X2F0dHJzIHsKLSBOTDgwMjExX0lGQUNFX0xJTUlUX1VOU1BFQywKLSBOTDgwMjExX0lGQUNFX0xJTUlUX01BWCwKLSBOTDgwMjExX0lGQUNFX0xJTUlUX1RZUEVTLAorICBOTDgwMjExX0lGQUNFX0xJTUlUX1VOU1BFQywKKyAgTkw4MDIxMV9JRkFDRV9MSU1JVF9NQVgsCisgIE5MODAyMTFfSUZBQ0VfTElNSVRfVFlQRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VTV9OTDgwMjExX0lGQUNFX0xJTUlULAotIE1BWF9OTDgwMjExX0lGQUNFX0xJTUlUID0gTlVNX05MODAyMTFfSUZBQ0VfTElNSVQgLSAxCisgIE5VTV9OTDgwMjExX0lGQUNFX0xJTUlULAorICBNQVhfTkw4MDIxMV9JRkFDRV9MSU1JVCA9IE5VTV9OTDgwMjExX0lGQUNFX0xJTUlUIC0gMQogfTsKIGVudW0gbmw4MDIxMV9pZl9jb21iaW5hdGlvbl9hdHRycyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfSUZBQ0VfQ09NQl9VTlNQRUMsCi0gTkw4MDIxMV9JRkFDRV9DT01CX0xJTUlUUywKLSBOTDgwMjExX0lGQUNFX0NPTUJfTUFYTlVNLAotIE5MODAyMTFfSUZBQ0VfQ09NQl9TVEFfQVBfQklfTUFUQ0gsCisgIE5MODAyMTFfSUZBQ0VfQ09NQl9VTlNQRUMsCisgIE5MODAyMTFfSUZBQ0VfQ09NQl9MSU1JVFMsCisgIE5MODAyMTFfSUZBQ0VfQ09NQl9NQVhOVU0sCisgIE5MODAyMTFfSUZBQ0VfQ09NQl9TVEFfQVBfQklfTUFUQ0gsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfSUZBQ0VfQ09NQl9OVU1fQ0hBTk5FTFMsCi0gTkw4MDIxMV9JRkFDRV9DT01CX1JBREFSX0RFVEVDVF9XSURUSFMsCi0gTlVNX05MODAyMTFfSUZBQ0VfQ09NQiwKLSBNQVhfTkw4MDIxMV9JRkFDRV9DT01CID0gTlVNX05MODAyMTFfSUZBQ0VfQ09NQiAtIDEKKyAgTkw4MDIxMV9JRkFDRV9DT01CX05VTV9DSEFOTkVMUywKKyAgTkw4MDIxMV9JRkFDRV9DT01CX1JBREFSX0RFVEVDVF9XSURUSFMsCisgIE5MODAyMTFfSUZBQ0VfQ09NQl9SQURBUl9ERVRFQ1RfUkVHSU9OUywKKyAgTlVNX05MODAyMTFfSUZBQ0VfQ09NQiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE1BWF9OTDgwMjExX0lGQUNFX0NPTUIgPSBOVU1fTkw4MDIxMV9JRkFDRV9DT01CIC0gMQogfTsKIGVudW0gbmw4MDIxMV9wbGlua19zdGF0ZSB7Ci0gTkw4MDIxMV9QTElOS19MSVNURU4sCi0gTkw4MDIxMV9QTElOS19PUE5fU05ULAorICBOTDgwMjExX1BMSU5LX0xJU1RFTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9QTElOS19PUE5fUkNWRCwKLSBOTDgwMjExX1BMSU5LX0NORl9SQ1ZELAotIE5MODAyMTFfUExJTktfRVNUQUIsCi0gTkw4MDIxMV9QTElOS19IT0xESU5HLAorICBOTDgwMjExX1BMSU5LX09QTl9TTlQsCisgIE5MODAyMTFfUExJTktfT1BOX1JDVkQsCisgIE5MODAyMTFfUExJTktfQ05GX1JDVkQsCisgIE5MODAyMTFfUExJTktfRVNUQUIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfUExJTktfQkxPQ0tFRCwKLSBOVU1fTkw4MDIxMV9QTElOS19TVEFURVMsCi0gTUFYX05MODAyMTFfUExJTktfU1RBVEVTID0gTlVNX05MODAyMTFfUExJTktfU1RBVEVTIC0gMQorICBOTDgwMjExX1BMSU5LX0hPTERJTkcsCisgIE5MODAyMTFfUExJTktfQkxPQ0tFRCwKKyAgTlVNX05MODAyMTFfUExJTktfU1RBVEVTLAorICBNQVhfTkw4MDIxMV9QTElOS19TVEFURVMgPSBOVU1fTkw4MDIxMV9QTElOS19TVEFURVMgLSAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHBsaW5rX2FjdGlvbnMgewotIE5MODAyMTFfUExJTktfQUNUSU9OX05PX0FDVElPTiwKLSBOTDgwMjExX1BMSU5LX0FDVElPTl9PUEVOLAotIE5MODAyMTFfUExJTktfQUNUSU9OX0JMT0NLLAorICBOTDgwMjExX1BMSU5LX0FDVElPTl9OT19BQ1RJT04sCisgIE5MODAyMTFfUExJTktfQUNUSU9OX09QRU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VTV9OTDgwMjExX1BMSU5LX0FDVElPTlMsCisgIE5MODAyMTFfUExJTktfQUNUSU9OX0JMT0NLLAorICBOVU1fTkw4MDIxMV9QTElOS19BQ1RJT05TLAogfTsKICNkZWZpbmUgTkw4MDIxMV9LQ0tfTEVOIDE2Ci0jZGVmaW5lIE5MODAyMTFfS0VLX0xFTiAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTkw4MDIxMV9LRUtfTEVOIDE2CiAjZGVmaW5lIE5MODAyMTFfUkVQTEFZX0NUUl9MRU4gOAogZW51bSBubDgwMjExX3Jla2V5X2RhdGEgewotIF9fTkw4MDIxMV9SRUtFWV9EQVRBX0lOVkFMSUQsCi0gTkw4MDIxMV9SRUtFWV9EQVRBX0tFSywKKyAgX19OTDgwMjExX1JFS0VZX0RBVEFfSU5WQUxJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9SRUtFWV9EQVRBX0tDSywKLSBOTDgwMjExX1JFS0VZX0RBVEFfUkVQTEFZX0NUUiwKLSBOVU1fTkw4MDIxMV9SRUtFWV9EQVRBLAotIE1BWF9OTDgwMjExX1JFS0VZX0RBVEEgPSBOVU1fTkw4MDIxMV9SRUtFWV9EQVRBIC0gMQorICBOTDgwMjExX1JFS0VZX0RBVEFfS0VLLAorICBOTDgwMjExX1JFS0VZX0RBVEFfS0NLLAorICBOTDgwMjExX1JFS0VZX0RBVEFfUkVQTEFZX0NUUiwKKyAgTlVNX05MODAyMTFfUkVLRVlfREFUQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE1BWF9OTDgwMjExX1JFS0VZX0RBVEEgPSBOVU1fTkw4MDIxMV9SRUtFWV9EQVRBIC0gMQogfTsKIGVudW0gbmw4MDIxMV9oaWRkZW5fc3NpZCB7Ci0gTkw4MDIxMV9ISURERU5fU1NJRF9OT1RfSU5fVVNFLAotIE5MODAyMTFfSElEREVOX1NTSURfWkVST19MRU4sCisgIE5MODAyMTFfSElEREVOX1NTSURfTk9UX0lOX1VTRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9ISURERU5fU1NJRF9aRVJPX0NPTlRFTlRTCisgIE5MODAyMTFfSElEREVOX1NTSURfWkVST19MRU4sCisgIE5MODAyMTFfSElEREVOX1NTSURfWkVST19DT05URU5UUwogfTsKIGVudW0gbmw4MDIxMV9zdGFfd21lX2F0dHIgewotIF9fTkw4MDIxMV9TVEFfV01FX0lOVkFMSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfU1RBX1dNRV9VQVBTRF9RVUVVRVMsCi0gTkw4MDIxMV9TVEFfV01FX01BWF9TUCwKLSBfX05MODAyMTFfU1RBX1dNRV9BRlRFUl9MQVNULAotIE5MODAyMTFfU1RBX1dNRV9NQVggPSBfX05MODAyMTFfU1RBX1dNRV9BRlRFUl9MQVNUIC0gMQorICBfX05MODAyMTFfU1RBX1dNRV9JTlZBTElELAorICBOTDgwMjExX1NUQV9XTUVfVUFQU0RfUVVFVUVTLAorICBOTDgwMjExX1NUQV9XTUVfTUFYX1NQLAorICBfX05MODAyMTFfU1RBX1dNRV9BRlRFUl9MQVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9TVEFfV01FX01BWCA9IF9fTkw4MDIxMV9TVEFfV01FX0FGVEVSX0xBU1QgLSAxCiB9OwogZW51bSBubDgwMjExX3Bta3NhX2NhbmRpZGF0ZV9hdHRyIHsKLSBfX05MODAyMTFfUE1LU0FfQ0FORElEQVRFX0lOVkFMSUQsCi0gTkw4MDIxMV9QTUtTQV9DQU5ESURBVEVfSU5ERVgsCisgIF9fTkw4MDIxMV9QTUtTQV9DQU5ESURBVEVfSU5WQUxJRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9QTUtTQV9DQU5ESURBVEVfQlNTSUQsCi0gTkw4MDIxMV9QTUtTQV9DQU5ESURBVEVfUFJFQVVUSCwKLSBOVU1fTkw4MDIxMV9QTUtTQV9DQU5ESURBVEUsCi0gTUFYX05MODAyMTFfUE1LU0FfQ0FORElEQVRFID0gTlVNX05MODAyMTFfUE1LU0FfQ0FORElEQVRFIC0gMQorICBOTDgwMjExX1BNS1NBX0NBTkRJREFURV9JTkRFWCwKKyAgTkw4MDIxMV9QTUtTQV9DQU5ESURBVEVfQlNTSUQsCisgIE5MODAyMTFfUE1LU0FfQ0FORElEQVRFX1BSRUFVVEgsCisgIE5VTV9OTDgwMjExX1BNS1NBX0NBTkRJREFURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE1BWF9OTDgwMjExX1BNS1NBX0NBTkRJREFURSA9IE5VTV9OTDgwMjExX1BNS1NBX0NBTkRJREFURSAtIDEKIH07CiBlbnVtIG5sODAyMTFfdGRsc19vcGVyYXRpb24gewotIE5MODAyMTFfVERMU19ESVNDT1ZFUllfUkVRLAotIE5MODAyMTFfVERMU19TRVRVUCwKKyAgTkw4MDIxMV9URExTX0RJU0NPVkVSWV9SRVEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfVERMU19URUFSRE9XTiwKLSBOTDgwMjExX1RETFNfRU5BQkxFX0xJTkssCi0gTkw4MDIxMV9URExTX0RJU0FCTEVfTElOSywKKyAgTkw4MDIxMV9URExTX1NFVFVQLAorICBOTDgwMjExX1RETFNfVEVBUkRPV04sCisgIE5MODAyMTFfVERMU19FTkFCTEVfTElOSywKKyAgTkw4MDIxMV9URExTX0RJU0FCTEVfTElOSywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9mZWF0dXJlX2ZsYWdzIHsKLSBOTDgwMjExX0ZFQVRVUkVfU0tfVFhfU1RBVFVTID0gMSA8PCAwLAotIE5MODAyMTFfRkVBVFVSRV9IVF9JQlNTID0gMSA8PCAxLAotIE5MODAyMTFfRkVBVFVSRV9JTkFDVElWSVRZX1RJTUVSID0gMSA8PCAyLAorICBOTDgwMjExX0ZFQVRVUkVfU0tfVFhfU1RBVFVTID0gMSA8PCAwLAorICBOTDgwMjExX0ZFQVRVUkVfSFRfSUJTUyA9IDEgPDwgMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9GRUFUVVJFX0NFTExfQkFTRV9SRUdfSElOVFMgPSAxIDw8IDMsCi0gTkw4MDIxMV9GRUFUVVJFX1AyUF9ERVZJQ0VfTkVFRFNfQ0hBTk5FTCA9IDEgPDwgNCwKLSBOTDgwMjExX0ZFQVRVUkVfU0FFID0gMSA8PCA1LAotIE5MODAyMTFfRkVBVFVSRV9MT1dfUFJJT1JJVFlfU0NBTiA9IDEgPDwgNiwKKyAgTkw4MDIxMV9GRUFUVVJFX0lOQUNUSVZJVFlfVElNRVIgPSAxIDw8IDIsCisgIE5MODAyMTFfRkVBVFVSRV9DRUxMX0JBU0VfUkVHX0hJTlRTID0gMSA8PCAzLAorICBOTDgwMjExX0ZFQVRVUkVfUDJQX0RFVklDRV9ORUVEU19DSEFOTkVMID0gMSA8PCA0LAorICBOTDgwMjExX0ZFQVRVUkVfU0FFID0gMSA8PCA1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0ZFQVRVUkVfU0NBTl9GTFVTSCA9IDEgPDwgNywKLSBOTDgwMjExX0ZFQVRVUkVfQVBfU0NBTiA9IDEgPDwgOCwKLSBOTDgwMjExX0ZFQVRVUkVfVklGX1RYUE9XRVIgPSAxIDw8IDksCi0gTkw4MDIxMV9GRUFUVVJFX05FRURfT0JTU19TQ0FOID0gMSA8PCAxMCwKKyAgTkw4MDIxMV9GRUFUVVJFX0xPV19QUklPUklUWV9TQ0FOID0gMSA8PCA2LAorICBOTDgwMjExX0ZFQVRVUkVfU0NBTl9GTFVTSCA9IDEgPDwgNywKKyAgTkw4MDIxMV9GRUFUVVJFX0FQX1NDQU4gPSAxIDw8IDgsCisgIE5MODAyMTFfRkVBVFVSRV9WSUZfVFhQT1dFUiA9IDEgPDwgOSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9GRUFUVVJFX1AyUF9HT19DVFdJTiA9IDEgPDwgMTEsCi0gTkw4MDIxMV9GRUFUVVJFX1AyUF9HT19PUFBQUyA9IDEgPDwgMTIsCi0gTkw4MDIxMV9GRUFUVVJFX0FEVkVSVElTRV9DSEFOX0xJTUlUUyA9IDEgPDwgMTQsCi0gTkw4MDIxMV9GRUFUVVJFX0ZVTExfQVBfQ0xJRU5UX1NUQVRFID0gMSA8PCAxNSwKKyAgTkw4MDIxMV9GRUFUVVJFX05FRURfT0JTU19TQ0FOID0gMSA8PCAxMCwKKyAgTkw4MDIxMV9GRUFUVVJFX1AyUF9HT19DVFdJTiA9IDEgPDwgMTEsCisgIE5MODAyMTFfRkVBVFVSRV9QMlBfR09fT1BQUFMgPSAxIDw8IDEyLAorICBOTDgwMjExX0ZFQVRVUkVfQURWRVJUSVNFX0NIQU5fTElNSVRTID0gMSA8PCAxNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9GRUFUVVJFX1VTRVJTUEFDRV9NUE0gPSAxIDw8IDE2LAotIE5MODAyMTFfRkVBVFVSRV9BQ1RJVkVfTU9OSVRPUiA9IDEgPDwgMTcsCisgIE5MODAyMTFfRkVBVFVSRV9GVUxMX0FQX0NMSUVOVF9TVEFURSA9IDEgPDwgMTUsCisgIE5MODAyMTFfRkVBVFVSRV9VU0VSU1BBQ0VfTVBNID0gMSA8PCAxNiwKKyAgTkw4MDIxMV9GRUFUVVJFX0FDVElWRV9NT05JVE9SID0gMSA8PCAxNywKKyAgTkw4MDIxMV9GRUFUVVJFX0FQX01PREVfQ0hBTl9XSURUSF9DSEFOR0UgPSAxIDw8IDE4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9GRUFUVVJFX0RTX1BBUkFNX1NFVF9JRV9JTl9QUk9CRVMgPSAxIDw8IDE5LAorICBOTDgwMjExX0ZFQVRVUkVfV0ZBX1RQQ19JRV9JTl9QUk9CRVMgPSAxIDw8IDIwLAorICBOTDgwMjExX0ZFQVRVUkVfUVVJRVQgPSAxIDw8IDIxLAorICBOTDgwMjExX0ZFQVRVUkVfVFhfUE9XRVJfSU5TRVJUSU9OID0gMSA8PCAyMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5MODAyMTFfRkVBVFVSRV9BQ0tUT19FU1RJTUFUSU9OID0gMSA8PCAyMywKKyAgTkw4MDIxMV9GRUFUVVJFX1NUQVRJQ19TTVBTID0gMSA8PCAyNCwKKyAgTkw4MDIxMV9GRUFUVVJFX0RZTkFNSUNfU01QUyA9IDEgPDwgMjUsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9wcm9iZV9yZXNwX29mZmxvYWRfc3VwcG9ydF9hdHRyIHsKKyAgTkw4MDIxMV9QUk9CRV9SRVNQX09GRkxPQURfU1VQUE9SVF9XUFMgPSAxIDw8IDAsCisgIE5MODAyMTFfUFJPQkVfUkVTUF9PRkZMT0FEX1NVUFBPUlRfV1BTMiA9IDEgPDwgMSwKKyAgTkw4MDIxMV9QUk9CRV9SRVNQX09GRkxPQURfU1VQUE9SVF9QMlAgPSAxIDw8IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfUFJPQkVfUkVTUF9PRkZMT0FEX1NVUFBPUlRfV1BTID0gMTw8MCwKLSBOTDgwMjExX1BST0JFX1JFU1BfT0ZGTE9BRF9TVVBQT1JUX1dQUzIgPSAxPDwxLAotIE5MODAyMTFfUFJPQkVfUkVTUF9PRkZMT0FEX1NVUFBPUlRfUDJQID0gMTw8MiwKLSBOTDgwMjExX1BST0JFX1JFU1BfT0ZGTE9BRF9TVVBQT1JUXzgwMjExVSA9IDE8PDMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBOTDgwMjExX1BST0JFX1JFU1BfT0ZGTE9BRF9TVVBQT1JUXzgwMjExVSA9IDEgPDwgMywKIH07CiBlbnVtIG5sODAyMTFfY29ubmVjdF9mYWlsZWRfcmVhc29uIHsKLSBOTDgwMjExX0NPTk5fRkFJTF9NQVhfQ0xJRU5UUywKLSBOTDgwMjExX0NPTk5fRkFJTF9CTE9DS0VEX0NMSUVOVCwKKyAgTkw4MDIxMV9DT05OX0ZBSUxfTUFYX0NMSUVOVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBOTDgwMjExX0NPTk5fRkFJTF9CTE9DS0VEX0NMSUVOVCwKIH07CiBlbnVtIG5sODAyMTFfc2Nhbl9mbGFncyB7Ci0gTkw4MDIxMV9TQ0FOX0ZMQUdfTE9XX1BSSU9SSVRZID0gMTw8MCwKLSBOTDgwMjExX1NDQU5fRkxBR19GTFVTSCA9IDE8PDEsCisgIE5MODAyMTFfU0NBTl9GTEFHX0xPV19QUklPUklUWSA9IDEgPDwgMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9TQ0FOX0ZMQUdfQVAgPSAxPDwyLAorICBOTDgwMjExX1NDQU5fRkxBR19GTFVTSCA9IDEgPDwgMSwKKyAgTkw4MDIxMV9TQ0FOX0ZMQUdfQVAgPSAxIDw8IDIsCiB9OwogZW51bSBubDgwMjExX2FjbF9wb2xpY3kgewotIE5MODAyMTFfQUNMX1BPTElDWV9BQ0NFUFRfVU5MRVNTX0xJU1RFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkw4MDIxMV9BQ0xfUE9MSUNZX0RFTllfVU5MRVNTX0xJU1RFRCwKKyAgTkw4MDIxMV9BQ0xfUE9MSUNZX0FDQ0VQVF9VTkxFU1NfTElTVEVELAorICBOTDgwMjExX0FDTF9QT0xJQ1lfREVOWV9VTkxFU1NfTElTVEVELAorfTsKK2VudW0gbmw4MDIxMV9zbXBzX21vZGUgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkw4MDIxMV9TTVBTX09GRiwKKyAgTkw4MDIxMV9TTVBTX1NUQVRJQywKKyAgTkw4MDIxMV9TTVBTX0RZTkFNSUMsCisgIF9fTkw4MDIxMV9TTVBTX0FGVEVSX0xBU1QsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBOTDgwMjExX1NNUFNfTUFYID0gX19OTDgwMjExX1NNUFNfQUZURVJfTEFTVCAtIDEKIH07CiBlbnVtIG5sODAyMTFfcmFkYXJfZXZlbnQgewotIE5MODAyMTFfUkFEQVJfREVURUNURUQsCisgIE5MODAyMTFfUkFEQVJfREVURUNURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5MODAyMTFfUkFEQVJfQ0FDX0ZJTklTSEVELAotIE5MODAyMTFfUkFEQVJfQ0FDX0FCT1JURUQsCi0gTkw4MDIxMV9SQURBUl9OT1BfRklOSVNIRUQsCisgIE5MODAyMTFfUkFEQVJfQ0FDX0ZJTklTSEVELAorICBOTDgwMjExX1JBREFSX0NBQ19BQk9SVEVELAorICBOTDgwMjExX1JBREFSX05PUF9GSU5JU0hFRCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBubDgwMjExX2Rmc19zdGF0ZSB7Ci0gTkw4MDIxMV9ERlNfVVNBQkxFLAotIE5MODAyMTFfREZTX1VOQVZBSUxBQkxFLAotIE5MODAyMTFfREZTX0FWQUlMQUJMRSwKKyAgTkw4MDIxMV9ERlNfVVNBQkxFLAorICBOTDgwMjExX0RGU19VTkFWQUlMQUJMRSwKKyAgTkw4MDIxMV9ERlNfQVZBSUxBQkxFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG5sODAyMTFfcHJvdG9jb2xfZmVhdHVyZXMgewotIE5MODAyMTFfUFJPVE9DT0xfRkVBVFVSRV9TUExJVF9XSVBIWV9EVU1QID0gMSA8PCAwLAorICBOTDgwMjExX1BST1RPQ09MX0ZFQVRVUkVfU1BMSVRfV0lQSFlfRFVNUCA9IDEgPDwgMCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBubDgwMjExX2NyaXRfcHJvdG9faWQgewotIE5MODAyMTFfQ1JJVF9QUk9UT19VTlNQRUMsCi0gTkw4MDIxMV9DUklUX1BST1RPX0RIQ1AsCi0gTkw4MDIxMV9DUklUX1BST1RPX0VBUE9MLAorICBOTDgwMjExX0NSSVRfUFJPVE9fVU5TUEVDLAorICBOTDgwMjExX0NSSVRfUFJPVE9fREhDUCwKKyAgTkw4MDIxMV9DUklUX1BST1RPX0VBUE9MLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOTDgwMjExX0NSSVRfUFJPVE9fQVBJUEEsCi0gTlVNX05MODAyMTFfQ1JJVF9QUk9UTworICBOTDgwMjExX0NSSVRfUFJPVE9fQVBJUEEsCisgIE5VTV9OTDgwMjExX0NSSVRfUFJPVE8KIH07CiAjZGVmaW5lIE5MODAyMTFfQ1JJVF9QUk9UT19NQVhfRFVSQVRJT04gNTAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbmw4MDIxMV9yeG1nbXRfZmxhZ3MgewotIE5MODAyMTFfUlhNR01UX0ZMQUdfQU5TV0VSRUQgPSAxIDw8IDAsCisgIE5MODAyMTFfUlhNR01UX0ZMQUdfQU5TV0VSRUQgPSAxIDw8IDAsCiB9OwogI2RlZmluZSBOTDgwMjExX1ZFTkRPUl9JRF9JU19MSU5VWCAweDgwMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5sODAyMTFfdmVuZG9yX2NtZF9pbmZvIHsKLSBfX3UzMiB2ZW5kb3JfaWQ7Ci0gX191MzIgc3ViY21kOworICBfX3UzMiB2ZW5kb3JfaWQ7CisgIF9fdTMyIHN1YmNtZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSBubDgwMjExX3RkbHNfcGVlcl9jYXBhYmlsaXR5IHsKKyAgTkw4MDIxMV9URExTX1BFRVJfSFQgPSAxIDw8IDAsCisgIE5MODAyMTFfVERMU19QRUVSX1ZIVCA9IDEgPDwgMSwKKyAgTkw4MDIxMV9URExTX1BFRVJfV01NID0gMSA8PCAyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbnVidXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbnVidXMuaAppbmRleCA0NmQ2YWJjLi5kYWVlNjVmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L251YnVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9udWJ1cy5oCkBAIC0yMSwxODggKzIxLDE4NSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIG51YnVzX2NhdGVnb3J5IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfQ0FUX0JPQVJEID0gMHgwMDAxLAotIE5VQlVTX0NBVF9ESVNQTEFZID0gMHgwMDAzLAotIE5VQlVTX0NBVF9ORVRXT1JLID0gMHgwMDA0LAotIE5VQlVTX0NBVF9DT01NVU5JQ0FUSU9OUyA9IDB4MDAwNiwKKyAgTlVCVVNfQ0FUX0JPQVJEID0gMHgwMDAxLAorICBOVUJVU19DQVRfRElTUExBWSA9IDB4MDAwMywKKyAgTlVCVVNfQ0FUX05FVFdPUksgPSAweDAwMDQsCisgIE5VQlVTX0NBVF9DT01NVU5JQ0FUSU9OUyA9IDB4MDAwNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfQ0FUX0ZPTlQgPSAweDAwMDksCi0gTlVCVVNfQ0FUX0NQVSA9IDB4MDAwQSwKLSBOVUJVU19DQVRfRFVPRE9DSyA9IDB4MDAyMAorICBOVUJVU19DQVRfRk9OVCA9IDB4MDAwOSwKKyAgTlVCVVNfQ0FUX0NQVSA9IDB4MDAwQSwKKyAgTlVCVVNfQ0FUX0RVT0RPQ0sgPSAweDAwMjAKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBudWJ1c190eXBlX25ldHdvcmsgewotIE5VQlVTX1RZUEVfRVRIRVJORVQgPSAweDAwMDEsCi0gTlVCVVNfVFlQRV9SUzIzMiA9IDB4MDAwMgorICBOVUJVU19UWVBFX0VUSEVSTkVUID0gMHgwMDAxLAorICBOVUJVU19UWVBFX1JTMjMyID0gMHgwMDAyCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbnVidXNfdHlwZV9kaXNwbGF5IHsKLSBOVUJVU19UWVBFX1ZJREVPID0gMHgwMDAxCisgIE5VQlVTX1RZUEVfVklERU8gPSAweDAwMDEKIH07CiBlbnVtIG51YnVzX3R5cGVfY3B1IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfVFlQRV82ODAyMCA9IDB4MDAwMywKLSBOVUJVU19UWVBFXzY4MDMwID0gMHgwMDA0LAotIE5VQlVTX1RZUEVfNjgwNDAgPSAweDAwMDUKKyAgTlVCVVNfVFlQRV82ODAyMCA9IDB4MDAwMywKKyAgTlVCVVNfVFlQRV82ODAzMCA9IDB4MDAwNCwKKyAgTlVCVVNfVFlQRV82ODA0MCA9IDB4MDAwNQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG51YnVzX2Ryc3cgewotIE5VQlVTX0RSU1dfQVBQTEUgPSAweDAwMDEsCi0gTlVCVVNfRFJTV19BUFBMRV9ISVJFUyA9IDB4MDAxMywKLSBOVUJVU19EUlNXXzNDT00gPSAweDAwMDAsCisgIE5VQlVTX0RSU1dfQVBQTEUgPSAweDAwMDEsCisgIE5VQlVTX0RSU1dfQVBQTEVfSElSRVMgPSAweDAwMTMsCisgIE5VQlVTX0RSU1dfM0NPTSA9IDB4MDAwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfRFJTV19DQUJMRVRST04gPSAweDAwMDEsCi0gTlVCVVNfRFJTV19TT05JQ19MQyA9IDB4MDAwMSwKLSBOVUJVU19EUlNXX0tJTkVUSUNTID0gMHgwMTAzLAotIE5VQlVTX0RSU1dfQVNBTlRFID0gMHgwMTA0LAorICBOVUJVU19EUlNXX0NBQkxFVFJPTiA9IDB4MDAwMSwKKyAgTlVCVVNfRFJTV19TT05JQ19MQyA9IDB4MDAwMSwKKyAgTlVCVVNfRFJTV19LSU5FVElDUyA9IDB4MDEwMywKKyAgTlVCVVNfRFJTV19BU0FOVEUgPSAweDAxMDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX0RSU1dfVEVDSFdPUktTID0gMHgwMTA5LAotIE5VQlVTX0RSU1dfREFZTkEgPSAweDAxMGIsCi0gTlVCVVNfRFJTV19GQVJBTExPTiA9IDB4MDEwYywKLSBOVUJVU19EUlNXX0FQUExFX1NOID0gMHgwMTBmLAorICBOVUJVU19EUlNXX1RFQ0hXT1JLUyA9IDB4MDEwOSwKKyAgTlVCVVNfRFJTV19EQVlOQSA9IDB4MDEwYiwKKyAgTlVCVVNfRFJTV19GQVJBTExPTiA9IDB4MDEwYywKKyAgTlVCVVNfRFJTV19BUFBMRV9TTiA9IDB4MDEwZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfRFJTV19EQVlOQTIgPSAweDAxMTUsCi0gTlVCVVNfRFJTV19GT0NVUyA9IDB4MDExYSwKLSBOVUJVU19EUlNXX0FTQU5URV9DUyA9IDB4MDExZCwKLSBOVUJVU19EUlNXX0RBWU5BX0xDID0gMHgwMTFlLAorICBOVUJVU19EUlNXX0RBWU5BMiA9IDB4MDExNSwKKyAgTlVCVVNfRFJTV19GT0NVUyA9IDB4MDExYSwKKyAgTlVCVVNfRFJTV19BU0FOVEVfQ1MgPSAweDAxMWQsCisgIE5VQlVTX0RSU1dfREFZTkFfTEMgPSAweDAxMWUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX0RSU1dfTk9ORSA9IDB4MDAwMCwKKyAgTlVCVVNfRFJTV19OT05FID0gMHgwMDAwLAogfTsKIGVudW0gbnVidXNfZHJodyB7Ci0gTlVCVVNfRFJIV19BUFBMRV9URkIgPSAweDAwMDEsCisgIE5VQlVTX0RSSFdfQVBQTEVfVEZCID0gMHgwMDAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVUJVU19EUkhXX0FQUExFX1dWQyA9IDB4MDAwNiwKLSBOVUJVU19EUkhXX1NJR01BX0NMUk1BWCA9IDB4MDAwNywKLSBOVUJVU19EUkhXX0FQUExFX1NFMzAgPSAweDAwMDksCi0gTlVCVVNfRFJIV19BUFBMRV9IUlZDID0gMHgwMDEzLAorICBOVUJVU19EUkhXX0FQUExFX1dWQyA9IDB4MDAwNiwKKyAgTlVCVVNfRFJIV19TSUdNQV9DTFJNQVggPSAweDAwMDcsCisgIE5VQlVTX0RSSFdfQVBQTEVfU0UzMCA9IDB4MDAwOSwKKyAgTlVCVVNfRFJIV19BUFBMRV9IUlZDID0gMHgwMDEzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVUJVU19EUkhXX0FQUExFX1BWQyA9IDB4MDAxNywKLSBOVUJVU19EUkhXX0FQUExFX1JCVjEgPSAweDAwMTgsCi0gTlVCVVNfRFJIV19BUFBMRV9NREMgPSAweDAwMTksCi0gTlVCVVNfRFJIV19BUFBMRV9TT05PUkEgPSAweDAwMjIsCisgIE5VQlVTX0RSSFdfQVBQTEVfUFZDID0gMHgwMDE3LAorICBOVUJVU19EUkhXX0FQUExFX1JCVjEgPSAweDAwMTgsCisgIE5VQlVTX0RSSFdfQVBQTEVfTURDID0gMHgwMDE5LAorICBOVUJVU19EUkhXX0FQUExFX1NPTk9SQSA9IDB4MDAyMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfRFJIV19BUFBMRV8yNEFDID0gMHgwMDJiLAotIE5VQlVTX0RSSFdfQVBQTEVfVkFMS1lSSUUgPSAweDAwMmUsCi0gTlVCVVNfRFJIV19BUFBMRV9KRVQgPSAweDAwMjksCi0gTlVCVVNfRFJIV19TTUFDX0dGWCA9IDB4MDEwNSwKKyAgTlVCVVNfRFJIV19BUFBMRV8yNEFDID0gMHgwMDJiLAorICBOVUJVU19EUkhXX0FQUExFX1ZBTEtZUklFID0gMHgwMDJlLAorICBOVUJVU19EUkhXX0FQUExFX0pFVCA9IDB4MDAyOSwKKyAgTlVCVVNfRFJIV19TTUFDX0dGWCA9IDB4MDEwNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfRFJIV19SQVNURVJfQ0IyNjQgPSAweDAxM0IsCi0gTlVCVVNfRFJIV19NSUNST05fWENFRUQgPSAweDAxNDYsCi0gTlVCVVNfRFJIV19SRElVU19HU0MgPSAweDAxNTMsCi0gTlVCVVNfRFJIV19TTUFDX1NQRUM4ID0gMHgwMTdCLAorICBOVUJVU19EUkhXX1JBU1RFUl9DQjI2NCA9IDB4MDEzQiwKKyAgTlVCVVNfRFJIV19NSUNST05fWENFRUQgPSAweDAxNDYsCisgIE5VQlVTX0RSSFdfUkRJVVNfR1NDID0gMHgwMTUzLAorICBOVUJVU19EUkhXX1NNQUNfU1BFQzggPSAweDAxN0IsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX0RSSFdfU01BQ19TUEVDMjQgPSAweDAxN0MsCi0gTlVCVVNfRFJIV19SQVNURVJfQ0IzNjQgPSAweDAyNkYsCi0gTlVCVVNfRFJIV19SRElVU19EQ0dYID0gMHgwMjdDLAotIE5VQlVTX0RSSFdfUkRJVVNfUEM4ID0gMHgwMjkxLAorICBOVUJVU19EUkhXX1NNQUNfU1BFQzI0ID0gMHgwMTdDLAorICBOVUJVU19EUkhXX1JBU1RFUl9DQjM2NCA9IDB4MDI2RiwKKyAgTlVCVVNfRFJIV19SRElVU19EQ0dYID0gMHgwMjdDLAorICBOVUJVU19EUkhXX1JESVVTX1BDOCA9IDB4MDI5MSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfRFJIV19MQVBJU19QQ1M4ID0gMHgwMjkyLAotIE5VQlVTX0RSSFdfUkFTVEVSXzI0WExJID0gMHgwMkEwLAotIE5VQlVTX0RSSFdfUkFTVEVSX1BCUEdUID0gMHgwMkE1LAotIE5VQlVTX0RSSFdfRU1BQ0hfRlNYID0gMHgwMkFFLAorICBOVUJVU19EUkhXX0xBUElTX1BDUzggPSAweDAyOTIsCisgIE5VQlVTX0RSSFdfUkFTVEVSXzI0WExJID0gMHgwMkEwLAorICBOVUJVU19EUkhXX1JBU1RFUl9QQlBHVCA9IDB4MDJBNSwKKyAgTlVCVVNfRFJIV19FTUFDSF9GU1ggPSAweDAyQUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX0RSSFdfUkFTVEVSXzI0WExUViA9IDB4MDJCNywKLSBOVUJVU19EUkhXX1NNQUNfVEhVTkQyNCA9IDB4MDJDQiwKLSBOVUJVU19EUkhXX1NNQUNfVEhVTkRMR0hUID0gMHgwM0Q5LAotIE5VQlVTX0RSSFdfUkRJVVNfUEMyNFhQID0gMHgwNDA2LAorICBOVUJVU19EUkhXX1JBU1RFUl8yNFhMVFYgPSAweDAyQjcsCisgIE5VQlVTX0RSSFdfU01BQ19USFVORDI0ID0gMHgwMkNCLAorICBOVUJVU19EUkhXX1NNQUNfVEhVTkRMR0hUID0gMHgwM0Q5LAorICBOVUJVU19EUkhXX1JESVVTX1BDMjRYUCA9IDB4MDQwNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfRFJIV19SRElVU19QQzI0WCA9IDB4MDQwQSwKLSBOVUJVU19EUkhXX1JESVVTX1BDOFhKID0gMHgwNDBCLAotIE5VQlVTX0RSSFdfSU5URVJMQU4gPSAweDAxMDAsCi0gTlVCVVNfRFJIV19TTUM5MTk0ID0gMHgwMTAxLAorICBOVUJVU19EUkhXX1JESVVTX1BDMjRYID0gMHgwNDBBLAorICBOVUJVU19EUkhXX1JESVVTX1BDOFhKID0gMHgwNDBCLAorICBOVUJVU19EUkhXX0lOVEVSTEFOID0gMHgwMTAwLAorICBOVUJVU19EUkhXX1NNQzkxOTQgPSAweDAxMDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX0RSSFdfS0lORVRJQ1MgPSAweDAxMDYsCi0gTlVCVVNfRFJIV19DQUJMRVRST04gPSAweDAxMDksCi0gTlVCVVNfRFJIV19BU0FOVEVfTEMgPSAweDAxMGYsCi0gTlVCVVNfRFJIV19TT05JQyA9IDB4MDExMCwKKyAgTlVCVVNfRFJIV19LSU5FVElDUyA9IDB4MDEwNiwKKyAgTlVCVVNfRFJIV19DQUJMRVRST04gPSAweDAxMDksCisgIE5VQlVTX0RSSFdfQVNBTlRFX0xDID0gMHgwMTBmLAorICBOVUJVU19EUkhXX1NPTklDID0gMHgwMTEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVUJVU19EUkhXX1RFQ0hXT1JLUyA9IDB4MDExMiwKLSBOVUJVU19EUkhXX0FQUExFX1NPTklDX05CID0gMHgwMTE4LAotIE5VQlVTX0RSSFdfQVBQTEVfU09OSUNfTEMgPSAweDAxMTksCi0gTlVCVVNfRFJIV19GT0NVUyA9IDB4MDExYywKKyAgTlVCVVNfRFJIV19URUNIV09SS1MgPSAweDAxMTIsCisgIE5VQlVTX0RSSFdfQVBQTEVfU09OSUNfTkIgPSAweDAxMTgsCisgIE5VQlVTX0RSSFdfQVBQTEVfU09OSUNfTEMgPSAweDAxMTksCisgIE5VQlVTX0RSSFdfRk9DVVMgPSAweDAxMWMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX0RSSFdfU09OTkVUID0gMHgwMTFkLAorICBOVUJVU19EUkhXX1NPTk5FVCA9IDB4MDExZCwKIH07CiBlbnVtIG51YnVzX3Jlc19pZCB7Ci0gTlVCVVNfUkVTSURfVFlQRSA9IDB4MDAwMSwKKyAgTlVCVVNfUkVTSURfVFlQRSA9IDB4MDAwMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfUkVTSURfTkFNRSA9IDB4MDAwMiwKLSBOVUJVU19SRVNJRF9JQ09OID0gMHgwMDAzLAotIE5VQlVTX1JFU0lEX0RSVlJESVIgPSAweDAwMDQsCi0gTlVCVVNfUkVTSURfTE9BRFJFQyA9IDB4MDAwNSwKKyAgTlVCVVNfUkVTSURfTkFNRSA9IDB4MDAwMiwKKyAgTlVCVVNfUkVTSURfSUNPTiA9IDB4MDAwMywKKyAgTlVCVVNfUkVTSURfRFJWUkRJUiA9IDB4MDAwNCwKKyAgTlVCVVNfUkVTSURfTE9BRFJFQyA9IDB4MDAwNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfUkVTSURfQk9PVFJFQyA9IDB4MDAwNiwKLSBOVUJVU19SRVNJRF9GTEFHUyA9IDB4MDAwNywKLSBOVUJVU19SRVNJRF9IV0RFVklEID0gMHgwMDA4LAotIE5VQlVTX1JFU0lEX01JTk9SX0JBU0VPUyA9IDB4MDAwYSwKKyAgTlVCVVNfUkVTSURfQk9PVFJFQyA9IDB4MDAwNiwKKyAgTlVCVVNfUkVTSURfRkxBR1MgPSAweDAwMDcsCisgIE5VQlVTX1JFU0lEX0hXREVWSUQgPSAweDAwMDgsCisgIE5VQlVTX1JFU0lEX01JTk9SX0JBU0VPUyA9IDB4MDAwYSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfUkVTSURfTUlOT1JfTEVOR1RIID0gMHgwMDBiLAotIE5VQlVTX1JFU0lEX01BSk9SX0JBU0VPUyA9IDB4MDAwYywKLSBOVUJVU19SRVNJRF9NQUpPUl9MRU5HVEggPSAweDAwMGQsCi0gTlVCVVNfUkVTSURfQ0lDTiA9IDB4MDAwZiwKKyAgTlVCVVNfUkVTSURfTUlOT1JfTEVOR1RIID0gMHgwMDBiLAorICBOVUJVU19SRVNJRF9NQUpPUl9CQVNFT1MgPSAweDAwMGMsCisgIE5VQlVTX1JFU0lEX01BSk9SX0xFTkdUSCA9IDB4MDAwZCwKKyAgTlVCVVNfUkVTSURfQ0lDTiA9IDB4MDAwZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfUkVTSURfSUNMOCA9IDB4MDAxMCwKLSBOVUJVU19SRVNJRF9JQ0w0ID0gMHgwMDExLAorICBOVUJVU19SRVNJRF9JQ0w4ID0gMHgwMDEwLAorICBOVUJVU19SRVNJRF9JQ0w0ID0gMHgwMDExLAogfTsKIGVudW0gbnVidXNfYm9hcmRfcmVzX2lkIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfUkVTSURfQk9BUkRJRCA9IDB4MDAyMCwKLSBOVUJVU19SRVNJRF9QUkFNSU5JVERBVEEgPSAweDAwMjEsCi0gTlVCVVNfUkVTSURfUFJJTUFSWUlOSVQgPSAweDAwMjIsCi0gTlVCVVNfUkVTSURfVElNRU9VVENPTlNUID0gMHgwMDIzLAorICBOVUJVU19SRVNJRF9CT0FSRElEID0gMHgwMDIwLAorICBOVUJVU19SRVNJRF9QUkFNSU5JVERBVEEgPSAweDAwMjEsCisgIE5VQlVTX1JFU0lEX1BSSU1BUllJTklUID0gMHgwMDIyLAorICBOVUJVU19SRVNJRF9USU1FT1VUQ09OU1QgPSAweDAwMjMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX1JFU0lEX1ZFTkRPUklORk8gPSAweDAwMjQsCi0gTlVCVVNfUkVTSURfQk9BUkRGTEFHUyA9IDB4MDAyNSwKLSBOVUJVU19SRVNJRF9TRUNPTkRJTklUID0gMHgwMDI2LAotIE5VQlVTX1JFU0lEX1ZJRE5BTUVTID0gMHgwMDQxLAorICBOVUJVU19SRVNJRF9WRU5ET1JJTkZPID0gMHgwMDI0LAorICBOVUJVU19SRVNJRF9CT0FSREZMQUdTID0gMHgwMDI1LAorICBOVUJVU19SRVNJRF9TRUNPTkRJTklUID0gMHgwMDI2LAorICBOVUJVU19SRVNJRF9WSUROQU1FUyA9IDB4MDA0MSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVCVVNfUkVTSURfVklETU9ERVMgPSAweDAwN2UKKyAgTlVCVVNfUkVTSURfVklETU9ERVMgPSAweDAwN2UKIH07CiBlbnVtIG51YnVzX3ZlbmRvcl9yZXNfaWQgewotIE5VQlVTX1JFU0lEX1ZFTkRfSUQgPSAweDAwMDEsCisgIE5VQlVTX1JFU0lEX1ZFTkRfSUQgPSAweDAwMDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX1JFU0lEX1ZFTkRfU0VSSUFMID0gMHgwMDAyLAotIE5VQlVTX1JFU0lEX1ZFTkRfUkVWID0gMHgwMDAzLAotIE5VQlVTX1JFU0lEX1ZFTkRfUEFSVCA9IDB4MDAwNCwKLSBOVUJVU19SRVNJRF9WRU5EX0RBVEUgPSAweDAwMDUKKyAgTlVCVVNfUkVTSURfVkVORF9TRVJJQUwgPSAweDAwMDIsCisgIE5VQlVTX1JFU0lEX1ZFTkRfUkVWID0gMHgwMDAzLAorICBOVUJVU19SRVNJRF9WRU5EX1BBUlQgPSAweDAwMDQsCisgIE5VQlVTX1JFU0lEX1ZFTkRfREFURSA9IDB4MDAwNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIG51YnVzX25ldF9yZXNfaWQgewotIE5VQlVTX1JFU0lEX01BQ19BRERSRVNTID0gMHgwMDgwCisgIE5VQlVTX1JFU0lEX01BQ19BRERSRVNTID0gMHgwMDgwCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbnVidXNfY3B1X3Jlc19pZCB7Ci0gTlVCVVNfUkVTSURfTUVNSU5GTyA9IDB4MDA4MSwKLSBOVUJVU19SRVNJRF9ST01JTkZPID0gMHgwMDgyCisgIE5VQlVTX1JFU0lEX01FTUlORk8gPSAweDAwODEsCisgIE5VQlVTX1JFU0lEX1JPTUlORk8gPSAweDAwODIKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBudWJ1c19kaXNwbGF5X3Jlc19pZCB7Ci0gTlVCVVNfUkVTSURfR0FNTUFESVIgPSAweDAwNDAsCi0gTlVCVVNfUkVTSURfRklSU1RNT0RFID0gMHgwMDgwLAotIE5VQlVTX1JFU0lEX1NFQ09ORE1PREUgPSAweDAwODEsCisgIE5VQlVTX1JFU0lEX0dBTU1BRElSID0gMHgwMDQwLAorICBOVUJVU19SRVNJRF9GSVJTVE1PREUgPSAweDAwODAsCisgIE5VQlVTX1JFU0lEX1NFQ09ORE1PREUgPSAweDAwODEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5VQlVTX1JFU0lEX1RISVJETU9ERSA9IDB4MDA4MiwKLSBOVUJVU19SRVNJRF9GT1VSVEhNT0RFID0gMHgwMDgzLAotIE5VQlVTX1JFU0lEX0ZJRlRITU9ERSA9IDB4MDA4NCwKLSBOVUJVU19SRVNJRF9TSVhUSE1PREUgPSAweDAwODUKKyAgTlVCVVNfUkVTSURfVEhJUkRNT0RFID0gMHgwMDgyLAorICBOVUJVU19SRVNJRF9GT1VSVEhNT0RFID0gMHgwMDgzLAorICBOVUJVU19SRVNJRF9GSUZUSE1PREUgPSAweDAwODQsCisgIE5VQlVTX1JFU0lEX1NJWFRITU9ERSA9IDB4MDA4NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci1zdHJ1Y3QgbnVidXNfZGlyCi17Ci0gdW5zaWduZWQgY2hhciAqYmFzZTsKK3N0cnVjdCBudWJ1c19kaXIgeworICB1bnNpZ25lZCBjaGFyICogYmFzZTsKKyAgdW5zaWduZWQgY2hhciAqIHB0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciAqcHRyOwotIGludCBkb25lOwotIGludCBtYXNrOworICBpbnQgZG9uZTsKKyAgaW50IG1hc2s7CiB9Oworc3RydWN0IG51YnVzX2RpcmVudCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotc3RydWN0IG51YnVzX2RpcmVudAotewotIHVuc2lnbmVkIGNoYXIgKmJhc2U7Ci0gdW5zaWduZWQgY2hhciB0eXBlOworICB1bnNpZ25lZCBjaGFyICogYmFzZTsKKyAgdW5zaWduZWQgY2hhciB0eXBlOworICBfX3UzMiBkYXRhOworICBpbnQgbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZGF0YTsKLSBpbnQgbWFzazsKIH07CiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L252bWUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbnZtZS5oCmluZGV4IGVlZGVhOTAuLjAzMGYwMWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbnZtZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvbnZtZS5oCkBAIC0yMSw1MzQgKzIxLDU3NSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgbnZtZV9pZF9wb3dlcl9zdGF0ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiBtYXhfcG93ZXI7Ci0gX191OCByc3ZkMjsKLSBfX3U4IGZsYWdzOwotIF9fbGUzMiBlbnRyeV9sYXQ7CisgIF9fbGUxNiBtYXhfcG93ZXI7CisgIF9fdTggcnN2ZDI7CisgIF9fdTggZmxhZ3M7CisgIF9fbGUzMiBlbnRyeV9sYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBleGl0X2xhdDsKLSBfX3U4IHJlYWRfdHB1dDsKLSBfX3U4IHJlYWRfbGF0OwotIF9fdTggd3JpdGVfdHB1dDsKKyAgX19sZTMyIGV4aXRfbGF0OworICBfX3U4IHJlYWRfdHB1dDsKKyAgX191OCByZWFkX2xhdDsKKyAgX191OCB3cml0ZV90cHV0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHdyaXRlX2xhdDsKLSBfX3U4IHJzdmQxNlsxNl07CisgIF9fdTggd3JpdGVfbGF0OworICBfX2xlMTYgaWRsZV9wb3dlcjsKKyAgX191OCBpZGxlX3NjYWxlOworICBfX3U4IHJzdmQxOTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fbGUxNiBhY3RpdmVfcG93ZXI7CisgIF9fdTggYWN0aXZlX3dvcmtfc2NhbGU7CisgIF9fdTggcnN2ZDIzWzldOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9QU19GTEFHU19NQVhfUE9XRVJfU0NBTEUgPSAxIDw8IDAsCi0gTlZNRV9QU19GTEFHU19OT05fT1BfU1RBVEUgPSAxIDw8IDEsCisgIE5WTUVfUFNfRkxBR1NfTUFYX1BPV0VSX1NDQUxFID0gMSA8PCAwLAorICBOVk1FX1BTX0ZMQUdTX05PTl9PUF9TVEFURSA9IDEgPDwgMSwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG52bWVfaWRfY3RybCB7CisgIF9fbGUxNiB2aWQ7CisgIF9fbGUxNiBzc3ZpZDsKKyAgY2hhciBzblsyMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiB2aWQ7Ci0gX19sZTE2IHNzdmlkOwotIGNoYXIgc25bMjBdOwotIGNoYXIgbW5bNDBdOworICBjaGFyIG1uWzQwXTsKKyAgY2hhciBmcls4XTsKKyAgX191OCByYWI7CisgIF9fdTggaWVlZVszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBmcls4XTsKLSBfX3U4IHJhYjsKLSBfX3U4IGllZWVbM107Ci0gX191OCBtaWM7CisgIF9fdTggbWljOworICBfX3U4IG1kdHM7CisgIF9fdTE2IGNudGxpZDsKKyAgX191MzIgdmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1kdHM7Ci0gX191OCByc3ZkNzhbMTc4XTsKLSBfX2xlMTYgb2FjczsKLSBfX3U4IGFjbDsKKyAgX191OCByc3ZkODRbMTcyXTsKKyAgX19sZTE2IG9hY3M7CisgIF9fdTggYWNsOworICBfX3U4IGFlcmw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWVybDsKLSBfX3U4IGZybXc7Ci0gX191OCBscGE7Ci0gX191OCBlbHBlOworICBfX3U4IGZybXc7CisgIF9fdTggbHBhOworICBfX3U4IGVscGU7CisgIF9fdTggbnBzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBucHNzOwotIF9fdTggcnN2ZDI2NFsyNDhdOwotIF9fdTggc3FlczsKLSBfX3U4IGNxZXM7CisgIF9fdTggYXZzY2M7CisgIF9fdTggYXBzdGE7CisgIF9fbGUxNiB3Y3RlbXA7CisgIF9fbGUxNiBjY3RlbXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcnN2ZDUxNFsyXTsKLSBfX2xlMzIgbm47Ci0gX19sZTE2IG9uY3M7Ci0gX19sZTE2IGZ1c2VzOworICBfX3U4IHJzdmQyNzBbMjQyXTsKKyAgX191OCBzcWVzOworICBfX3U4IGNxZXM7CisgIF9fdTggcnN2ZDUxNFsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmbmE7Ci0gX191OCB2d2M7Ci0gX19sZTE2IGF3dW47Ci0gX19sZTE2IGF3dXBmOworICBfX2xlMzIgbm47CisgIF9fbGUxNiBvbmNzOworICBfX2xlMTYgZnVzZXM7CisgIF9fdTggZm5hOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJzdmQ1MzBbMTUxOF07Ci0gc3RydWN0IG52bWVfaWRfcG93ZXJfc3RhdGUgcHNkWzMyXTsKLSBfX3U4IHZzWzEwMjRdOworICBfX3U4IHZ3YzsKKyAgX19sZTE2IGF3dW47CisgIF9fbGUxNiBhd3VwZjsKKyAgX191OCBudnNjYzsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcnN2ZDUzMTsKKyAgX19sZTE2IGFjd3U7CisgIF9fdTggcnN2ZDUzNFsyXTsKKyAgX19sZTMyIHNnbHM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHJzdmQ1NDBbMTUwOF07CisgIHN0cnVjdCBudm1lX2lkX3Bvd2VyX3N0YXRlIHBzZFszMl07CisgIF9fdTggdnNbMTAyNF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIE5WTUVfQ1RSTF9PTkNTX0NPTVBBUkUgPSAxIDw8IDAsCi0gTlZNRV9DVFJMX09OQ1NfV1JJVEVfVU5DT1JSRUNUQUJMRSA9IDEgPDwgMSwKLSBOVk1FX0NUUkxfT05DU19EU00gPSAxIDw8IDIsCisgIE5WTUVfQ1RSTF9PTkNTX0NPTVBBUkUgPSAxIDw8IDAsCisgIE5WTUVfQ1RSTF9PTkNTX1dSSVRFX1VOQ09SUkVDVEFCTEUgPSAxIDw8IDEsCisgIE5WTUVfQ1RSTF9PTkNTX0RTTSA9IDEgPDwgMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5WTUVfQ1RSTF9WV0NfUFJFU0VOVCA9IDEgPDwgMCwKIH07CiBzdHJ1Y3QgbnZtZV9sYmFmIHsKLSBfX2xlMTYgbXM7Ci0gX191OCBkczsKKyAgX19sZTE2IG1zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJwOworICBfX3U4IGRzOworICBfX3U4IHJwOwogfTsKIHN0cnVjdCBudm1lX2lkX25zIHsKLSBfX2xlNjQgbnN6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTY0IG5jYXA7Ci0gX19sZTY0IG51c2U7Ci0gX191OCBuc2ZlYXQ7Ci0gX191OCBubGJhZjsKKyAgX19sZTY0IG5zemU7CisgIF9fbGU2NCBuY2FwOworICBfX2xlNjQgbnVzZTsKKyAgX191OCBuc2ZlYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxiYXM7Ci0gX191OCBtYzsKLSBfX3U4IGRwYzsKLSBfX3U4IGRwczsKKyAgX191OCBubGJhZjsKKyAgX191OCBmbGJhczsKKyAgX191OCBtYzsKKyAgX191OCBkcGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcnN2ZDMwWzk4XTsKLSBzdHJ1Y3QgbnZtZV9sYmFmIGxiYWZbMTZdOwotIF9fdTggcnN2ZDE5MlsxOTJdOwotIF9fdTggdnNbMzcxMl07CisgIF9fdTggZHBzOworICBfX3U4IG5taWM7CisgIF9fdTggcmVzY2FwOworICBfX3U4IGZwaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcnN2ZDMzOworICBfX2xlMTYgbmF3dW47CisgIF9fbGUxNiBuYXd1cGY7CisgIF9fbGUxNiBuYWN3dTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcnN2ZDQwWzgwXTsKKyAgX191OCBldWk2NFs4XTsKKyAgc3RydWN0IG52bWVfbGJhZiBsYmFmWzE2XTsKKyAgX191OCByc3ZkMTkyWzE5Ml07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHZzWzM3MTJdOwogfTsKIGVudW0gewotIE5WTUVfTlNfRkVBVF9USElOID0gMSA8PCAwLAotIE5WTUVfTEJBRl9SUF9CRVNUID0gMCwKKyAgTlZNRV9OU19GRUFUX1RISU4gPSAxIDw8IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfTEJBRl9SUF9CRVRURVIgPSAxLAotIE5WTUVfTEJBRl9SUF9HT09EID0gMiwKLSBOVk1FX0xCQUZfUlBfREVHUkFERUQgPSAzLAorICBOVk1FX0xCQUZfUlBfQkVTVCA9IDAsCisgIE5WTUVfTEJBRl9SUF9CRVRURVIgPSAxLAorICBOVk1FX0xCQUZfUlBfR09PRCA9IDIsCisgIE5WTUVfTEJBRl9SUF9ERUdSQURFRCA9IDMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbnZtZV9zbWFydF9sb2cgewotIF9fdTggY3JpdGljYWxfd2FybmluZzsKLSBfX3U4IHRlbXBlcmF0dXJlWzJdOwotIF9fdTggYXZhaWxfc3BhcmU7CisgIF9fdTggY3JpdGljYWxfd2FybmluZzsKKyAgX191OCB0ZW1wZXJhdHVyZVsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzcGFyZV90aHJlc2g7Ci0gX191OCBwZXJjZW50X3VzZWQ7Ci0gX191OCByc3ZkNlsyNl07Ci0gX191OCBkYXRhX3VuaXRzX3JlYWRbMTZdOworICBfX3U4IGF2YWlsX3NwYXJlOworICBfX3U4IHNwYXJlX3RocmVzaDsKKyAgX191OCBwZXJjZW50X3VzZWQ7CisgIF9fdTggcnN2ZDZbMjZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRhdGFfdW5pdHNfd3JpdHRlblsxNl07Ci0gX191OCBob3N0X3JlYWRzWzE2XTsKLSBfX3U4IGhvc3Rfd3JpdGVzWzE2XTsKLSBfX3U4IGN0cmxfYnVzeV90aW1lWzE2XTsKKyAgX191OCBkYXRhX3VuaXRzX3JlYWRbMTZdOworICBfX3U4IGRhdGFfdW5pdHNfd3JpdHRlblsxNl07CisgIF9fdTggaG9zdF9yZWFkc1sxNl07CisgIF9fdTggaG9zdF93cml0ZXNbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBvd2VyX2N5Y2xlc1sxNl07Ci0gX191OCBwb3dlcl9vbl9ob3Vyc1sxNl07Ci0gX191OCB1bnNhZmVfc2h1dGRvd25zWzE2XTsKLSBfX3U4IG1lZGlhX2Vycm9yc1sxNl07CisgIF9fdTggY3RybF9idXN5X3RpbWVbMTZdOworICBfX3U4IHBvd2VyX2N5Y2xlc1sxNl07CisgIF9fdTggcG93ZXJfb25faG91cnNbMTZdOworICBfX3U4IHVuc2FmZV9zaHV0ZG93bnNbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG51bV9lcnJfbG9nX2VudHJpZXNbMTZdOwotIF9fdTggcnN2ZDE5MlszMjBdOworICBfX3U4IG1lZGlhX2Vycm9yc1sxNl07CisgIF9fdTggbnVtX2Vycl9sb2dfZW50cmllc1sxNl07CisgIF9fbGUzMiB3YXJuaW5nX3RlbXBfdGltZTsKKyAgX19sZTMyIGNyaXRpY2FsX2NvbXBfdGltZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fbGUxNiB0ZW1wX3NlbnNvcls4XTsKKyAgX191OCByc3ZkMjE2WzI5Nl07CiB9OwogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfU01BUlRfQ1JJVF9TUEFSRSA9IDEgPDwgMCwKLSBOVk1FX1NNQVJUX0NSSVRfVEVNUEVSQVRVUkUgPSAxIDw8IDEsCi0gTlZNRV9TTUFSVF9DUklUX1JFTElBQklMSVRZID0gMSA8PCAyLAotIE5WTUVfU01BUlRfQ1JJVF9NRURJQSA9IDEgPDwgMywKKyAgTlZNRV9TTUFSVF9DUklUX1NQQVJFID0gMSA8PCAwLAorICBOVk1FX1NNQVJUX0NSSVRfVEVNUEVSQVRVUkUgPSAxIDw8IDEsCisgIE5WTUVfU01BUlRfQ1JJVF9SRUxJQUJJTElUWSA9IDEgPDwgMiwKKyAgTlZNRV9TTUFSVF9DUklUX01FRElBID0gMSA8PCAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX1NNQVJUX0NSSVRfVk9MQVRJTEVfTUVNT1JZID0gMSA8PCA0LAorICBOVk1FX1NNQVJUX0NSSVRfVk9MQVRJTEVfTUVNT1JZID0gMSA8PCA0LAogfTsKIHN0cnVjdCBudm1lX2xiYV9yYW5nZV90eXBlIHsKLSBfX3U4IHR5cGU7CisgIF9fdTggdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBhdHRyaWJ1dGVzOwotIF9fdTggcnN2ZDJbMTRdOwotIF9fdTY0IHNsYmE7Ci0gX191NjQgbmxiOworICBfX3U4IGF0dHJpYnV0ZXM7CisgIF9fdTggcnN2ZDJbMTRdOworICBfX3U2NCBzbGJhOworICBfX3U2NCBubGI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZ3VpZFsxNl07Ci0gX191OCByc3ZkNDhbMTZdOworICBfX3U4IGd1aWRbMTZdOworICBfX3U4IHJzdmQ0OFsxNl07CiB9OwogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfTEJBUlRfVFlQRV9GUyA9IDB4MDEsCi0gTlZNRV9MQkFSVF9UWVBFX1JBSUQgPSAweDAyLAotIE5WTUVfTEJBUlRfVFlQRV9DQUNIRSA9IDB4MDMsCi0gTlZNRV9MQkFSVF9UWVBFX1NXQVAgPSAweDA0LAorICBOVk1FX0xCQVJUX1RZUEVfRlMgPSAweDAxLAorICBOVk1FX0xCQVJUX1RZUEVfUkFJRCA9IDB4MDIsCisgIE5WTUVfTEJBUlRfVFlQRV9DQUNIRSA9IDB4MDMsCisgIE5WTUVfTEJBUlRfVFlQRV9TV0FQID0gMHgwNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9MQkFSVF9BVFRSSUJfVEVNUCA9IDEgPDwgMCwKLSBOVk1FX0xCQVJUX0FUVFJJQl9ISURFID0gMSA8PCAxLAorICBOVk1FX0xCQVJUX0FUVFJJQl9URU1QID0gMSA8PCAwLAorICBOVk1FX0xCQVJUX0FUVFJJQl9ISURFID0gMSA8PCAxLAogfTsKIGVudW0gbnZtZV9vcGNvZGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBudm1lX2NtZF9mbHVzaCA9IDB4MDAsCi0gbnZtZV9jbWRfd3JpdGUgPSAweDAxLAotIG52bWVfY21kX3JlYWQgPSAweDAyLAotIG52bWVfY21kX3dyaXRlX3VuY29yID0gMHgwNCwKKyAgbnZtZV9jbWRfZmx1c2ggPSAweDAwLAorICBudm1lX2NtZF93cml0ZSA9IDB4MDEsCisgIG52bWVfY21kX3JlYWQgPSAweDAyLAorICBudm1lX2NtZF93cml0ZV91bmNvciA9IDB4MDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG52bWVfY21kX2NvbXBhcmUgPSAweDA1LAotIG52bWVfY21kX2RzbSA9IDB4MDksCisgIG52bWVfY21kX2NvbXBhcmUgPSAweDA1LAorICBudm1lX2NtZF9kc20gPSAweDA5LAogfTsKIHN0cnVjdCBudm1lX2NvbW1vbl9jb21tYW5kIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBvcGNvZGU7Ci0gX191OCBmbGFnczsKLSBfX3UxNiBjb21tYW5kX2lkOwotIF9fbGUzMiBuc2lkOworICBfX3U4IG9wY29kZTsKKyAgX191OCBmbGFnczsKKyAgX191MTYgY29tbWFuZF9pZDsKKyAgX19sZTMyIG5zaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBjZHcyWzJdOwotIF9fbGU2NCBtZXRhZGF0YTsKLSBfX2xlNjQgcHJwMTsKLSBfX2xlNjQgcHJwMjsKKyAgX19sZTMyIGNkdzJbMl07CisgIF9fbGU2NCBtZXRhZGF0YTsKKyAgX19sZTY0IHBycDE7CisgIF9fbGU2NCBwcnAyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgY2R3MTBbNl07CisgIF9fbGUzMiBjZHcxMFs2XTsKIH07CiBzdHJ1Y3QgbnZtZV9yd19jb21tYW5kIHsKLSBfX3U4IG9wY29kZTsKKyAgX191OCBvcGNvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxhZ3M7Ci0gX191MTYgY29tbWFuZF9pZDsKLSBfX2xlMzIgbnNpZDsKLSBfX3U2NCByc3ZkMjsKKyAgX191OCBmbGFnczsKKyAgX191MTYgY29tbWFuZF9pZDsKKyAgX19sZTMyIG5zaWQ7CisgIF9fdTY0IHJzdmQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlNjQgbWV0YWRhdGE7Ci0gX19sZTY0IHBycDE7Ci0gX19sZTY0IHBycDI7Ci0gX19sZTY0IHNsYmE7CisgIF9fbGU2NCBtZXRhZGF0YTsKKyAgX19sZTY0IHBycDE7CisgIF9fbGU2NCBwcnAyOworICBfX2xlNjQgc2xiYTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IGxlbmd0aDsKLSBfX2xlMTYgY29udHJvbDsKLSBfX2xlMzIgZHNtZ210OwotIF9fbGUzMiByZWZ0YWc7CisgIF9fbGUxNiBsZW5ndGg7CisgIF9fbGUxNiBjb250cm9sOworICBfX2xlMzIgZHNtZ210OworICBfX2xlMzIgcmVmdGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgYXBwdGFnOwotIF9fbGUxNiBhcHBtYXNrOworICBfX2xlMTYgYXBwdGFnOworICBfX2xlMTYgYXBwbWFzazsKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9SV19MUiA9IDEgPDwgMTUsCi0gTlZNRV9SV19GVUEgPSAxIDw8IDE0LAotIE5WTUVfUldfRFNNX0ZSRVFfVU5TUEVDID0gMCwKLSBOVk1FX1JXX0RTTV9GUkVRX1RZUElDQUwgPSAxLAorICBOVk1FX1JXX0xSID0gMSA8PCAxNSwKKyAgTlZNRV9SV19GVUEgPSAxIDw8IDE0LAorICBOVk1FX1JXX0RTTV9GUkVRX1VOU1BFQyA9IDAsCisgIE5WTUVfUldfRFNNX0ZSRVFfVFlQSUNBTCA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfUldfRFNNX0ZSRVFfUkFSRSA9IDIsCi0gTlZNRV9SV19EU01fRlJFUV9SRUFEUyA9IDMsCi0gTlZNRV9SV19EU01fRlJFUV9XUklURVMgPSA0LAotIE5WTUVfUldfRFNNX0ZSRVFfUlcgPSA1LAorICBOVk1FX1JXX0RTTV9GUkVRX1JBUkUgPSAyLAorICBOVk1FX1JXX0RTTV9GUkVRX1JFQURTID0gMywKKyAgTlZNRV9SV19EU01fRlJFUV9XUklURVMgPSA0LAorICBOVk1FX1JXX0RTTV9GUkVRX1JXID0gNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9SV19EU01fRlJFUV9PTkNFID0gNiwKLSBOVk1FX1JXX0RTTV9GUkVRX1BSRUZFVENIID0gNywKLSBOVk1FX1JXX0RTTV9GUkVRX1RFTVAgPSA4LAotIE5WTUVfUldfRFNNX0xBVEVOQ1lfTk9ORSA9IDAgPDwgNCwKKyAgTlZNRV9SV19EU01fRlJFUV9PTkNFID0gNiwKKyAgTlZNRV9SV19EU01fRlJFUV9QUkVGRVRDSCA9IDcsCisgIE5WTUVfUldfRFNNX0ZSRVFfVEVNUCA9IDgsCisgIE5WTUVfUldfRFNNX0xBVEVOQ1lfTk9ORSA9IDAgPDwgNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9SV19EU01fTEFURU5DWV9JRExFID0gMSA8PCA0LAotIE5WTUVfUldfRFNNX0xBVEVOQ1lfTk9STSA9IDIgPDwgNCwKLSBOVk1FX1JXX0RTTV9MQVRFTkNZX0xPVyA9IDMgPDwgNCwKLSBOVk1FX1JXX0RTTV9TRVFfUkVRID0gMSA8PCA2LAorICBOVk1FX1JXX0RTTV9MQVRFTkNZX0lETEUgPSAxIDw8IDQsCisgIE5WTUVfUldfRFNNX0xBVEVOQ1lfTk9STSA9IDIgPDwgNCwKKyAgTlZNRV9SV19EU01fTEFURU5DWV9MT1cgPSAzIDw8IDQsCisgIE5WTUVfUldfRFNNX1NFUV9SRVEgPSAxIDw8IDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfUldfRFNNX0NPTVBSRVNTRUQgPSAxIDw8IDcsCisgIE5WTUVfUldfRFNNX0NPTVBSRVNTRUQgPSAxIDw8IDcsCiB9Owogc3RydWN0IG52bWVfZHNtX2NtZCB7Ci0gX191OCBvcGNvZGU7CisgIF9fdTggb3Bjb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZsYWdzOwotIF9fdTE2IGNvbW1hbmRfaWQ7Ci0gX19sZTMyIG5zaWQ7Ci0gX191NjQgcnN2ZDJbMl07CisgIF9fdTggZmxhZ3M7CisgIF9fdTE2IGNvbW1hbmRfaWQ7CisgIF9fbGUzMiBuc2lkOworICBfX3U2NCByc3ZkMlsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTY0IHBycDE7Ci0gX19sZTY0IHBycDI7Ci0gX19sZTMyIG5yOwotIF9fbGUzMiBhdHRyaWJ1dGVzOworICBfX2xlNjQgcHJwMTsKKyAgX19sZTY0IHBycDI7CisgIF9fbGUzMiBucjsKKyAgX19sZTMyIGF0dHJpYnV0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJzdmQxMls0XTsKKyAgX191MzIgcnN2ZDEyWzRdOwogfTsKIGVudW0gewotIE5WTUVfRFNNR01UX0lEUiA9IDEgPDwgMCwKKyAgTlZNRV9EU01HTVRfSURSID0gMSA8PCAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX0RTTUdNVF9JRFcgPSAxIDw8IDEsCi0gTlZNRV9EU01HTVRfQUQgPSAxIDw8IDIsCisgIE5WTUVfRFNNR01UX0lEVyA9IDEgPDwgMSwKKyAgTlZNRV9EU01HTVRfQUQgPSAxIDw8IDIsCiB9Owogc3RydWN0IG52bWVfZHNtX3JhbmdlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIGNhdHRyOwotIF9fbGUzMiBubGI7Ci0gX19sZTY0IHNsYmE7CisgIF9fbGUzMiBjYXR0cjsKKyAgX19sZTMyIG5sYjsKKyAgX19sZTY0IHNsYmE7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gbnZtZV9hZG1pbl9vcGNvZGUgewotIG52bWVfYWRtaW5fZGVsZXRlX3NxID0gMHgwMCwKLSBudm1lX2FkbWluX2NyZWF0ZV9zcSA9IDB4MDEsCi0gbnZtZV9hZG1pbl9nZXRfbG9nX3BhZ2UgPSAweDAyLAorICBudm1lX2FkbWluX2RlbGV0ZV9zcSA9IDB4MDAsCisgIG52bWVfYWRtaW5fY3JlYXRlX3NxID0gMHgwMSwKKyAgbnZtZV9hZG1pbl9nZXRfbG9nX3BhZ2UgPSAweDAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBudm1lX2FkbWluX2RlbGV0ZV9jcSA9IDB4MDQsCi0gbnZtZV9hZG1pbl9jcmVhdGVfY3EgPSAweDA1LAotIG52bWVfYWRtaW5faWRlbnRpZnkgPSAweDA2LAotIG52bWVfYWRtaW5fYWJvcnRfY21kID0gMHgwOCwKKyAgbnZtZV9hZG1pbl9kZWxldGVfY3EgPSAweDA0LAorICBudm1lX2FkbWluX2NyZWF0ZV9jcSA9IDB4MDUsCisgIG52bWVfYWRtaW5faWRlbnRpZnkgPSAweDA2LAorICBudm1lX2FkbWluX2Fib3J0X2NtZCA9IDB4MDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG52bWVfYWRtaW5fc2V0X2ZlYXR1cmVzID0gMHgwOSwKLSBudm1lX2FkbWluX2dldF9mZWF0dXJlcyA9IDB4MGEsCi0gbnZtZV9hZG1pbl9hc3luY19ldmVudCA9IDB4MGMsCi0gbnZtZV9hZG1pbl9hY3RpdmF0ZV9mdyA9IDB4MTAsCisgIG52bWVfYWRtaW5fc2V0X2ZlYXR1cmVzID0gMHgwOSwKKyAgbnZtZV9hZG1pbl9nZXRfZmVhdHVyZXMgPSAweDBhLAorICBudm1lX2FkbWluX2FzeW5jX2V2ZW50ID0gMHgwYywKKyAgbnZtZV9hZG1pbl9hY3RpdmF0ZV9mdyA9IDB4MTAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIG52bWVfYWRtaW5fZG93bmxvYWRfZncgPSAweDExLAotIG52bWVfYWRtaW5fZm9ybWF0X252bSA9IDB4ODAsCi0gbnZtZV9hZG1pbl9zZWN1cml0eV9zZW5kID0gMHg4MSwKLSBudm1lX2FkbWluX3NlY3VyaXR5X3JlY3YgPSAweDgyLAorICBudm1lX2FkbWluX2Rvd25sb2FkX2Z3ID0gMHgxMSwKKyAgbnZtZV9hZG1pbl9mb3JtYXRfbnZtID0gMHg4MCwKKyAgbnZtZV9hZG1pbl9zZWN1cml0eV9zZW5kID0gMHg4MSwKKyAgbnZtZV9hZG1pbl9zZWN1cml0eV9yZWN2ID0gMHg4MiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gTlZNRV9RVUVVRV9QSFlTX0NPTlRJRyA9ICgxIDw8IDApLAotIE5WTUVfQ1FfSVJRX0VOQUJMRUQgPSAoMSA8PCAxKSwKKyAgTlZNRV9RVUVVRV9QSFlTX0NPTlRJRyA9ICgxIDw8IDApLAorICBOVk1FX0NRX0lSUV9FTkFCTEVEID0gKDEgPDwgMSksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfU1FfUFJJT19VUkdFTlQgPSAoMCA8PCAxKSwKLSBOVk1FX1NRX1BSSU9fSElHSCA9ICgxIDw8IDEpLAotIE5WTUVfU1FfUFJJT19NRURJVU0gPSAoMiA8PCAxKSwKLSBOVk1FX1NRX1BSSU9fTE9XID0gKDMgPDwgMSksCisgIE5WTUVfU1FfUFJJT19VUkdFTlQgPSAoMCA8PCAxKSwKKyAgTlZNRV9TUV9QUklPX0hJR0ggPSAoMSA8PCAxKSwKKyAgTlZNRV9TUV9QUklPX01FRElVTSA9ICgyIDw8IDEpLAorICBOVk1FX1NRX1BSSU9fTE9XID0gKDMgPDwgMSksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfRkVBVF9BUkJJVFJBVElPTiA9IDB4MDEsCi0gTlZNRV9GRUFUX1BPV0VSX01HTVQgPSAweDAyLAotIE5WTUVfRkVBVF9MQkFfUkFOR0UgPSAweDAzLAotIE5WTUVfRkVBVF9URU1QX1RIUkVTSCA9IDB4MDQsCisgIE5WTUVfRkVBVF9BUkJJVFJBVElPTiA9IDB4MDEsCisgIE5WTUVfRkVBVF9QT1dFUl9NR01UID0gMHgwMiwKKyAgTlZNRV9GRUFUX0xCQV9SQU5HRSA9IDB4MDMsCisgIE5WTUVfRkVBVF9URU1QX1RIUkVTSCA9IDB4MDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfRkVBVF9FUlJfUkVDT1ZFUlkgPSAweDA1LAotIE5WTUVfRkVBVF9WT0xBVElMRV9XQyA9IDB4MDYsCi0gTlZNRV9GRUFUX05VTV9RVUVVRVMgPSAweDA3LAotIE5WTUVfRkVBVF9JUlFfQ09BTEVTQ0UgPSAweDA4LAorICBOVk1FX0ZFQVRfRVJSX1JFQ09WRVJZID0gMHgwNSwKKyAgTlZNRV9GRUFUX1ZPTEFUSUxFX1dDID0gMHgwNiwKKyAgTlZNRV9GRUFUX05VTV9RVUVVRVMgPSAweDA3LAorICBOVk1FX0ZFQVRfSVJRX0NPQUxFU0NFID0gMHgwOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9GRUFUX0lSUV9DT05GSUcgPSAweDA5LAotIE5WTUVfRkVBVF9XUklURV9BVE9NSUMgPSAweDBhLAotIE5WTUVfRkVBVF9BU1lOQ19FVkVOVCA9IDB4MGIsCi0gTlZNRV9GRUFUX1NXX1BST0dSRVNTID0gMHgwYywKKyAgTlZNRV9GRUFUX0lSUV9DT05GSUcgPSAweDA5LAorICBOVk1FX0ZFQVRfV1JJVEVfQVRPTUlDID0gMHgwYSwKKyAgTlZNRV9GRUFUX0FTWU5DX0VWRU5UID0gMHgwYiwKKyAgTlZNRV9GRUFUX1NXX1BST0dSRVNTID0gMHgwYywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9GV0FDVF9SRVBMID0gKDAgPDwgMyksCi0gTlZNRV9GV0FDVF9SRVBMX0FDVFYgPSAoMSA8PCAzKSwKLSBOVk1FX0ZXQUNUX0FDVFYgPSAoMiA8PCAzKSwKKyAgTlZNRV9MT0dfRVJST1IgPSAweDAxLAorICBOVk1FX0xPR19TTUFSVCA9IDB4MDIsCisgIE5WTUVfTE9HX0ZXX1NMT1QgPSAweDAzLAorICBOVk1FX0xPR19SRVNFUlZBVElPTiA9IDB4ODAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBOVk1FX0ZXQUNUX1JFUEwgPSAoMCA8PCAzKSwKKyAgTlZNRV9GV0FDVF9SRVBMX0FDVFYgPSAoMSA8PCAzKSwKKyAgTlZNRV9GV0FDVF9BQ1RWID0gKDIgPDwgMyksCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBudm1lX2lkZW50aWZ5IHsKLSBfX3U4IG9wY29kZTsKLSBfX3U4IGZsYWdzOwotIF9fdTE2IGNvbW1hbmRfaWQ7CisgIF9fdTggb3Bjb2RlOworICBfX3U4IGZsYWdzOworICBfX3UxNiBjb21tYW5kX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgbnNpZDsKLSBfX3U2NCByc3ZkMlsyXTsKLSBfX2xlNjQgcHJwMTsKLSBfX2xlNjQgcHJwMjsKKyAgX19sZTMyIG5zaWQ7CisgIF9fdTY0IHJzdmQyWzJdOworICBfX2xlNjQgcHJwMTsKKyAgX19sZTY0IHBycDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBjbnM7Ci0gX191MzIgcnN2ZDExWzVdOworICBfX2xlMzIgY25zOworICBfX3UzMiByc3ZkMTFbNV07CiB9Owogc3RydWN0IG52bWVfZmVhdHVyZXMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG9wY29kZTsKLSBfX3U4IGZsYWdzOwotIF9fdTE2IGNvbW1hbmRfaWQ7Ci0gX19sZTMyIG5zaWQ7CisgIF9fdTggb3Bjb2RlOworICBfX3U4IGZsYWdzOworICBfX3UxNiBjb21tYW5kX2lkOworICBfX2xlMzIgbnNpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcnN2ZDJbMl07Ci0gX19sZTY0IHBycDE7Ci0gX19sZTY0IHBycDI7Ci0gX19sZTMyIGZpZDsKKyAgX191NjQgcnN2ZDJbMl07CisgIF9fbGU2NCBwcnAxOworICBfX2xlNjQgcHJwMjsKKyAgX19sZTMyIGZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIGR3b3JkMTE7Ci0gX191MzIgcnN2ZDEyWzRdOworICBfX2xlMzIgZHdvcmQxMTsKKyAgX191MzIgcnN2ZDEyWzRdOwogfTsKIHN0cnVjdCBudm1lX2NyZWF0ZV9jcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggb3Bjb2RlOwotIF9fdTggZmxhZ3M7Ci0gX191MTYgY29tbWFuZF9pZDsKLSBfX3UzMiByc3ZkMVs1XTsKKyAgX191OCBvcGNvZGU7CisgIF9fdTggZmxhZ3M7CisgIF9fdTE2IGNvbW1hbmRfaWQ7CisgIF9fdTMyIHJzdmQxWzVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlNjQgcHJwMTsKLSBfX3U2NCByc3ZkODsKLSBfX2xlMTYgY3FpZDsKLSBfX2xlMTYgcXNpemU7CisgIF9fbGU2NCBwcnAxOworICBfX3U2NCByc3ZkODsKKyAgX19sZTE2IGNxaWQ7CisgIF9fbGUxNiBxc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IGNxX2ZsYWdzOwotIF9fbGUxNiBpcnFfdmVjdG9yOwotIF9fdTMyIHJzdmQxMls0XTsKKyAgX19sZTE2IGNxX2ZsYWdzOworICBfX2xlMTYgaXJxX3ZlY3RvcjsKKyAgX191MzIgcnN2ZDEyWzRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbnZtZV9jcmVhdGVfc3EgewotIF9fdTggb3Bjb2RlOwotIF9fdTggZmxhZ3M7Ci0gX191MTYgY29tbWFuZF9pZDsKKyAgX191OCBvcGNvZGU7CisgIF9fdTggZmxhZ3M7CisgIF9fdTE2IGNvbW1hbmRfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJzdmQxWzVdOwotIF9fbGU2NCBwcnAxOwotIF9fdTY0IHJzdmQ4OwotIF9fbGUxNiBzcWlkOworICBfX3UzMiByc3ZkMVs1XTsKKyAgX19sZTY0IHBycDE7CisgIF9fdTY0IHJzdmQ4OworICBfX2xlMTYgc3FpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHFzaXplOwotIF9fbGUxNiBzcV9mbGFnczsKLSBfX2xlMTYgY3FpZDsKLSBfX3UzMiByc3ZkMTJbNF07CisgIF9fbGUxNiBxc2l6ZTsKKyAgX19sZTE2IHNxX2ZsYWdzOworICBfX2xlMTYgY3FpZDsKKyAgX191MzIgcnN2ZDEyWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgbnZtZV9kZWxldGVfcXVldWUgewotIF9fdTggb3Bjb2RlOwotIF9fdTggZmxhZ3M7CisgIF9fdTggb3Bjb2RlOworICBfX3U4IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBjb21tYW5kX2lkOwotIF9fdTMyIHJzdmQxWzldOwotIF9fbGUxNiBxaWQ7Ci0gX191MTYgcnN2ZDEwOworICBfX3UxNiBjb21tYW5kX2lkOworICBfX3UzMiByc3ZkMVs5XTsKKyAgX19sZTE2IHFpZDsKKyAgX191MTYgcnN2ZDEwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByc3ZkMTFbNV07CisgIF9fdTMyIHJzdmQxMVs1XTsKIH07CiBzdHJ1Y3QgbnZtZV9hYm9ydF9jbWQgewotIF9fdTggb3Bjb2RlOworICBfX3U4IG9wY29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmbGFnczsKLSBfX3UxNiBjb21tYW5kX2lkOwotIF9fdTMyIHJzdmQxWzldOwotIF9fbGUxNiBzcWlkOworICBfX3U4IGZsYWdzOworICBfX3UxNiBjb21tYW5kX2lkOworICBfX3UzMiByc3ZkMVs5XTsKKyAgX19sZTE2IHNxaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGNpZDsKLSBfX3UzMiByc3ZkMTFbNV07CisgIF9fdTE2IGNpZDsKKyAgX191MzIgcnN2ZDExWzVdOwogfTsKIHN0cnVjdCBudm1lX2Rvd25sb2FkX2Zpcm13YXJlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBvcGNvZGU7Ci0gX191OCBmbGFnczsKLSBfX3UxNiBjb21tYW5kX2lkOwotIF9fdTMyIHJzdmQxWzVdOworICBfX3U4IG9wY29kZTsKKyAgX191OCBmbGFnczsKKyAgX191MTYgY29tbWFuZF9pZDsKKyAgX191MzIgcnN2ZDFbNV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGU2NCBwcnAxOwotIF9fbGU2NCBwcnAyOwotIF9fbGUzMiBudW1kOwotIF9fbGUzMiBvZmZzZXQ7CisgIF9fbGU2NCBwcnAxOworICBfX2xlNjQgcHJwMjsKKyAgX19sZTMyIG51bWQ7CisgIF9fbGUzMiBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJzdmQxMls0XTsKKyAgX191MzIgcnN2ZDEyWzRdOwogfTsKIHN0cnVjdCBudm1lX2Zvcm1hdF9jbWQgewotIF9fdTggb3Bjb2RlOworICBfX3U4IG9wY29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmbGFnczsKLSBfX3UxNiBjb21tYW5kX2lkOwotIF9fbGUzMiBuc2lkOwotIF9fdTY0IHJzdmQyWzRdOworICBfX3U4IGZsYWdzOworICBfX3UxNiBjb21tYW5kX2lkOworICBfX2xlMzIgbnNpZDsKKyAgX191NjQgcnN2ZDJbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBjZHcxMDsKLSBfX3UzMiByc3ZkMTFbNV07CisgIF9fbGUzMiBjZHcxMDsKKyAgX191MzIgcnN2ZDExWzVdOwogfTsKIHN0cnVjdCBudm1lX2NvbW1hbmQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IG52bWVfY29tbW9uX2NvbW1hbmQgY29tbW9uOwotIHN0cnVjdCBudm1lX3J3X2NvbW1hbmQgcnc7Ci0gc3RydWN0IG52bWVfaWRlbnRpZnkgaWRlbnRpZnk7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgbnZtZV9jb21tb25fY29tbWFuZCBjb21tb247CisgICAgc3RydWN0IG52bWVfcndfY29tbWFuZCBydzsKKyAgICBzdHJ1Y3QgbnZtZV9pZGVudGlmeSBpZGVudGlmeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IG52bWVfZmVhdHVyZXMgZmVhdHVyZXM7Ci0gc3RydWN0IG52bWVfY3JlYXRlX2NxIGNyZWF0ZV9jcTsKLSBzdHJ1Y3QgbnZtZV9jcmVhdGVfc3EgY3JlYXRlX3NxOwotIHN0cnVjdCBudm1lX2RlbGV0ZV9xdWV1ZSBkZWxldGVfcXVldWU7CisgICAgc3RydWN0IG52bWVfZmVhdHVyZXMgZmVhdHVyZXM7CisgICAgc3RydWN0IG52bWVfY3JlYXRlX2NxIGNyZWF0ZV9jcTsKKyAgICBzdHJ1Y3QgbnZtZV9jcmVhdGVfc3EgY3JlYXRlX3NxOworICAgIHN0cnVjdCBudm1lX2RlbGV0ZV9xdWV1ZSBkZWxldGVfcXVldWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBudm1lX2Rvd25sb2FkX2Zpcm13YXJlIGRsZnc7Ci0gc3RydWN0IG52bWVfZm9ybWF0X2NtZCBmb3JtYXQ7Ci0gc3RydWN0IG52bWVfZHNtX2NtZCBkc207Ci0gc3RydWN0IG52bWVfYWJvcnRfY21kIGFib3J0OworICAgIHN0cnVjdCBudm1lX2Rvd25sb2FkX2Zpcm13YXJlIGRsZnc7CisgICAgc3RydWN0IG52bWVfZm9ybWF0X2NtZCBmb3JtYXQ7CisgICAgc3RydWN0IG52bWVfZHNtX2NtZCBkc207CisgICAgc3RydWN0IG52bWVfYWJvcnRfY21kIGFib3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OworICB9OwogfTsKIGVudW0gewotIE5WTUVfU0NfU1VDQ0VTUyA9IDB4MCwKKyAgTlZNRV9TQ19TVUNDRVNTID0gMHgwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX1NDX0lOVkFMSURfT1BDT0RFID0gMHgxLAotIE5WTUVfU0NfSU5WQUxJRF9GSUVMRCA9IDB4MiwKLSBOVk1FX1NDX0NNRElEX0NPTkZMSUNUID0gMHgzLAotIE5WTUVfU0NfREFUQV9YRkVSX0VSUk9SID0gMHg0LAorICBOVk1FX1NDX0lOVkFMSURfT1BDT0RFID0gMHgxLAorICBOVk1FX1NDX0lOVkFMSURfRklFTEQgPSAweDIsCisgIE5WTUVfU0NfQ01ESURfQ09ORkxJQ1QgPSAweDMsCisgIE5WTUVfU0NfREFUQV9YRkVSX0VSUk9SID0gMHg0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX1NDX1BPV0VSX0xPU1MgPSAweDUsCi0gTlZNRV9TQ19JTlRFUk5BTCA9IDB4NiwKLSBOVk1FX1NDX0FCT1JUX1JFUSA9IDB4NywKLSBOVk1FX1NDX0FCT1JUX1FVRVVFID0gMHg4LAorICBOVk1FX1NDX1BPV0VSX0xPU1MgPSAweDUsCisgIE5WTUVfU0NfSU5URVJOQUwgPSAweDYsCisgIE5WTUVfU0NfQUJPUlRfUkVRID0gMHg3LAorICBOVk1FX1NDX0FCT1JUX1FVRVVFID0gMHg4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX1NDX0ZVU0VEX0ZBSUwgPSAweDksCi0gTlZNRV9TQ19GVVNFRF9NSVNTSU5HID0gMHhhLAotIE5WTUVfU0NfSU5WQUxJRF9OUyA9IDB4YiwKLSBOVk1FX1NDX0NNRF9TRVFfRVJST1IgPSAweGMsCisgIE5WTUVfU0NfRlVTRURfRkFJTCA9IDB4OSwKKyAgTlZNRV9TQ19GVVNFRF9NSVNTSU5HID0gMHhhLAorICBOVk1FX1NDX0lOVkFMSURfTlMgPSAweGIsCisgIE5WTUVfU0NfQ01EX1NFUV9FUlJPUiA9IDB4YywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9TQ19MQkFfUkFOR0UgPSAweDgwLAotIE5WTUVfU0NfQ0FQX0VYQ0VFREVEID0gMHg4MSwKLSBOVk1FX1NDX05TX05PVF9SRUFEWSA9IDB4ODIsCi0gTlZNRV9TQ19DUV9JTlZBTElEID0gMHgxMDAsCisgIE5WTUVfU0NfTEJBX1JBTkdFID0gMHg4MCwKKyAgTlZNRV9TQ19DQVBfRVhDRUVERUQgPSAweDgxLAorICBOVk1FX1NDX05TX05PVF9SRUFEWSA9IDB4ODIsCisgIE5WTUVfU0NfQ1FfSU5WQUxJRCA9IDB4MTAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX1NDX1FJRF9JTlZBTElEID0gMHgxMDEsCi0gTlZNRV9TQ19RVUVVRV9TSVpFID0gMHgxMDIsCi0gTlZNRV9TQ19BQk9SVF9MSU1JVCA9IDB4MTAzLAotIE5WTUVfU0NfQUJPUlRfTUlTU0lORyA9IDB4MTA0LAorICBOVk1FX1NDX1FJRF9JTlZBTElEID0gMHgxMDEsCisgIE5WTUVfU0NfUVVFVUVfU0laRSA9IDB4MTAyLAorICBOVk1FX1NDX0FCT1JUX0xJTUlUID0gMHgxMDMsCisgIE5WTUVfU0NfQUJPUlRfTUlTU0lORyA9IDB4MTA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOVk1FX1NDX0FTWU5DX0xJTUlUID0gMHgxMDUsCi0gTlZNRV9TQ19GSVJNV0FSRV9TTE9UID0gMHgxMDYsCi0gTlZNRV9TQ19GSVJNV0FSRV9JTUFHRSA9IDB4MTA3LAotIE5WTUVfU0NfSU5WQUxJRF9WRUNUT1IgPSAweDEwOCwKKyAgTlZNRV9TQ19BU1lOQ19MSU1JVCA9IDB4MTA1LAorICBOVk1FX1NDX0ZJUk1XQVJFX1NMT1QgPSAweDEwNiwKKyAgTlZNRV9TQ19GSVJNV0FSRV9JTUFHRSA9IDB4MTA3LAorICBOVk1FX1NDX0lOVkFMSURfVkVDVE9SID0gMHgxMDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5WTUVfU0NfSU5WQUxJRF9MT0dfUEFHRSA9IDB4MTA5LAotIE5WTUVfU0NfSU5WQUxJRF9GT1JNQVQgPSAweDEwYSwKLSBOVk1FX1NDX0JBRF9BVFRSSUJVVEVTID0gMHgxODAsCi0gTlZNRV9TQ19XUklURV9GQVVMVCA9IDB4MjgwLAorICBOVk1FX1NDX0lOVkFMSURfTE9HX1BBR0UgPSAweDEwOSwKKyAgTlZNRV9TQ19JTlZBTElEX0ZPUk1BVCA9IDB4MTBhLAorICBOVk1FX1NDX0JBRF9BVFRSSUJVVEVTID0gMHgxODAsCisgIE5WTUVfU0NfV1JJVEVfRkFVTFQgPSAweDI4MCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9TQ19SRUFEX0VSUk9SID0gMHgyODEsCi0gTlZNRV9TQ19HVUFSRF9DSEVDSyA9IDB4MjgyLAotIE5WTUVfU0NfQVBQVEFHX0NIRUNLID0gMHgyODMsCi0gTlZNRV9TQ19SRUZUQUdfQ0hFQ0sgPSAweDI4NCwKKyAgTlZNRV9TQ19SRUFEX0VSUk9SID0gMHgyODEsCisgIE5WTUVfU0NfR1VBUkRfQ0hFQ0sgPSAweDI4MiwKKyAgTlZNRV9TQ19BUFBUQUdfQ0hFQ0sgPSAweDI4MywKKyAgTlZNRV9TQ19SRUZUQUdfQ0hFQ0sgPSAweDI4NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlZNRV9TQ19DT01QQVJFX0ZBSUxFRCA9IDB4Mjg1LAotIE5WTUVfU0NfQUNDRVNTX0RFTklFRCA9IDB4Mjg2LAorICBOVk1FX1NDX0NPTVBBUkVfRkFJTEVEID0gMHgyODUsCisgIE5WTUVfU0NfQUNDRVNTX0RFTklFRCA9IDB4Mjg2LAorICBOVk1FX1NDX0ROUiA9IDB4NDAwMCwKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG52bWVfY29tcGxldGlvbiB7CisgIF9fbGUzMiByZXN1bHQ7CisgIF9fdTMyIHJzdmQ7CisgIF9fbGUxNiBzcV9oZWFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgcmVzdWx0OwotIF9fdTMyIHJzdmQ7Ci0gX19sZTE2IHNxX2hlYWQ7Ci0gX19sZTE2IHNxX2lkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBjb21tYW5kX2lkOwotIF9fbGUxNiBzdGF0dXM7CisgIF9fbGUxNiBzcV9pZDsKKyAgX191MTYgY29tbWFuZF9pZDsKKyAgX19sZTE2IHN0YXR1czsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG52bWVfdXNlcl9pbyB7CisgIF9fdTggb3Bjb2RlOworICBfX3U4IGZsYWdzOworICBfX3UxNiBjb250cm9sOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG9wY29kZTsKLSBfX3U4IGZsYWdzOwotIF9fdTE2IGNvbnRyb2w7Ci0gX191MTYgbmJsb2NrczsKKyAgX191MTYgbmJsb2NrczsKKyAgX191MTYgcnN2ZDsKKyAgX191NjQgbWV0YWRhdGE7CisgIF9fdTY0IGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHJzdmQ7Ci0gX191NjQgbWV0YWRhdGE7Ci0gX191NjQgYWRkcjsKLSBfX3U2NCBzbGJhOworICBfX3U2NCBzbGJhOworICBfX3UzMiBkc21nbXQ7CisgIF9fdTMyIHJlZnRhZzsKKyAgX191MTYgYXBwdGFnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkc21nbXQ7Ci0gX191MzIgcmVmdGFnOwotIF9fdTE2IGFwcHRhZzsKLSBfX3UxNiBhcHBtYXNrOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgYXBwbWFzazsKIH07CiBzdHJ1Y3QgbnZtZV9hZG1pbl9jbWQgewotIF9fdTggb3Bjb2RlOwotIF9fdTggZmxhZ3M7CisgIF9fdTggb3Bjb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiByc3ZkMTsKLSBfX3UzMiBuc2lkOwotIF9fdTMyIGNkdzI7Ci0gX191MzIgY2R3MzsKKyAgX191OCBmbGFnczsKKyAgX191MTYgcnN2ZDE7CisgIF9fdTMyIG5zaWQ7CisgIF9fdTMyIGNkdzI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG1ldGFkYXRhOwotIF9fdTY0IGFkZHI7Ci0gX191MzIgbWV0YWRhdGFfbGVuOwotIF9fdTMyIGRhdGFfbGVuOworICBfX3UzMiBjZHczOworICBfX3U2NCBtZXRhZGF0YTsKKyAgX191NjQgYWRkcjsKKyAgX191MzIgbWV0YWRhdGFfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjZHcxMDsKLSBfX3UzMiBjZHcxMTsKLSBfX3UzMiBjZHcxMjsKLSBfX3UzMiBjZHcxMzsKKyAgX191MzIgZGF0YV9sZW47CisgIF9fdTMyIGNkdzEwOworICBfX3UzMiBjZHcxMTsKKyAgX191MzIgY2R3MTI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNkdzE0OwotIF9fdTMyIGNkdzE1OwotIF9fdTMyIHRpbWVvdXRfbXM7Ci0gX191MzIgcmVzdWx0OworICBfX3UzMiBjZHcxMzsKKyAgX191MzIgY2R3MTQ7CisgIF9fdTMyIGNkdzE1OworICBfX3UzMiB0aW1lb3V0X21zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcmVzdWx0OwogfTsKICNkZWZpbmUgTlZNRV9JT0NUTF9JRCBfSU8oJ04nLCAweDQwKQogI2RlZmluZSBOVk1FX0lPQ1RMX0FETUlOX0NNRCBfSU9XUignTicsIDB4NDEsIHN0cnVjdCBudm1lX2FkbWluX2NtZCkKLSNkZWZpbmUgTlZNRV9JT0NUTF9TVUJNSVRfSU8gX0lPVygnTicsIDB4NDIsIHN0cnVjdCBudm1lX3VzZXJfaW8pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBOVk1FX0lPQ1RMX1NVQk1JVF9JTyBfSU9XKCdOJywgMHg0Miwgc3RydWN0IG52bWVfdXNlcl9pbykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9udnJhbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9udnJhbS5oCmluZGV4IDRjOGZjNTAuLmUwYzMyMGEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvbnZyYW0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L252cmFtLmgKQEAgLTIzLDYgKzIzLDYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5WUkFNX1NFVENLUyBfSU8oJ3AnLCAweDQxKQogI2RlZmluZSBOVlJBTV9GSVJTVF9CWVRFIDE0Ci0jZGVmaW5lIE5WUkFNX09GRlNFVCh4KSAoKHgpLU5WUkFNX0ZJUlNUX0JZVEUpCisjZGVmaW5lIE5WUkFNX09GRlNFVCh4KSAoKHgpIC0gTlZSQU1fRklSU1RfQllURSkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvb21hcDNpc3AuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvb21hcDNpc3AuaAppbmRleCBlMTAzODA4Li4zY2JhNGU0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L29tYXAzaXNwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9vbWFwM2lzcC5oCkBAIC0yMSwxNCArMjEsMTQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Mi5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVklESU9DX09NQVAzSVNQX0NDRENfQ0ZHICAgX0lPV1IoJ1YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgMSwgc3RydWN0IG9tYXAzaXNwX2NjZGNfdXBkYXRlX2NvbmZpZykKLSNkZWZpbmUgVklESU9DX09NQVAzSVNQX1BSVl9DRkcgICBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAyLCBzdHJ1Y3Qgb21hcDNpc3BfcHJldl91cGRhdGVfY29uZmlnKQotI2RlZmluZSBWSURJT0NfT01BUDNJU1BfQUVXQl9DRkcgICBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAzLCBzdHJ1Y3Qgb21hcDNpc3BfaDNhX2Fld2JfY29uZmlnKQotI2RlZmluZSBWSURJT0NfT01BUDNJU1BfSElTVF9DRkcgICBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyA0LCBzdHJ1Y3Qgb21hcDNpc3BfaGlzdF9jb25maWcpCisjZGVmaW5lIFZJRElPQ19PTUFQM0lTUF9DQ0RDX0NGRyBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAxLCBzdHJ1Y3Qgb21hcDNpc3BfY2NkY191cGRhdGVfY29uZmlnKQorI2RlZmluZSBWSURJT0NfT01BUDNJU1BfUFJWX0NGRyBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAyLCBzdHJ1Y3Qgb21hcDNpc3BfcHJldl91cGRhdGVfY29uZmlnKQorI2RlZmluZSBWSURJT0NfT01BUDNJU1BfQUVXQl9DRkcgX0lPV1IoJ1YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgMywgc3RydWN0IG9tYXAzaXNwX2gzYV9hZXdiX2NvbmZpZykKKyNkZWZpbmUgVklESU9DX09NQVAzSVNQX0hJU1RfQ0ZHIF9JT1dSKCdWJywgQkFTRV9WSURJT0NfUFJJVkFURSArIDQsIHN0cnVjdCBvbWFwM2lzcF9oaXN0X2NvbmZpZykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFZJRElPQ19PTUFQM0lTUF9BRl9DRkcgICBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyA1LCBzdHJ1Y3Qgb21hcDNpc3BfaDNhX2FmX2NvbmZpZykKLSNkZWZpbmUgVklESU9DX09NQVAzSVNQX1NUQVRfUkVRICAgX0lPV1IoJ1YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgNiwgc3RydWN0IG9tYXAzaXNwX3N0YXRfZGF0YSkKLSNkZWZpbmUgVklESU9DX09NQVAzSVNQX1NUQVRfRU4gICBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyA3LCB1bnNpZ25lZCBsb25nKQorI2RlZmluZSBWSURJT0NfT01BUDNJU1BfQUZfQ0ZHIF9JT1dSKCdWJywgQkFTRV9WSURJT0NfUFJJVkFURSArIDUsIHN0cnVjdCBvbWFwM2lzcF9oM2FfYWZfY29uZmlnKQorI2RlZmluZSBWSURJT0NfT01BUDNJU1BfU1RBVF9SRVEgX0lPV1IoJ1YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgNiwgc3RydWN0IG9tYXAzaXNwX3N0YXRfZGF0YSkKKyNkZWZpbmUgVklESU9DX09NQVAzSVNQX1NUQVRfRU4gX0lPV1IoJ1YnLCBCQVNFX1ZJRElPQ19QUklWQVRFICsgNywgdW5zaWduZWQgbG9uZykKICNkZWZpbmUgVjRMMl9FVkVOVF9PTUFQM0lTUF9DTEFTUyAoVjRMMl9FVkVOVF9QUklWQVRFX1NUQVJUIHwgMHgxMDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0VWRU5UX09NQVAzSVNQX0FFV0IgKFY0TDJfRVZFTlRfT01BUDNJU1BfQ0xBU1MgfCAweDEpCkBAIC0zNiw5ICszNiw5IEBACiAjZGVmaW5lIFY0TDJfRVZFTlRfT01BUDNJU1BfSElTVCAoVjRMMl9FVkVOVF9PTUFQM0lTUF9DTEFTUyB8IDB4MykKIHN0cnVjdCBvbWFwM2lzcF9zdGF0X2V2ZW50X3N0YXR1cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZyYW1lX251bWJlcjsKLSBfX3UxNiBjb25maWdfY291bnRlcjsKLSBfX3U4IGJ1Zl9lcnI7CisgIF9fdTMyIGZyYW1lX251bWJlcjsKKyAgX191MTYgY29uZmlnX2NvdW50ZXI7CisgIF9fdTggYnVmX2VycjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBPTUFQM0lTUF9BRVdCX01BWF9TQVRVUkFUSU9OX0xJTSAxMDIzCkBAIC04MywzMyArODMsMzMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE9NQVAzSVNQX0FGX01BWF9CVUZfU0laRSAyMjExODQKIHN0cnVjdCBvbWFwM2lzcF9oM2FfYWV3Yl9jb25maWcgewotIF9fdTMyIGJ1Zl9zaXplOwotIF9fdTE2IGNvbmZpZ19jb3VudGVyOworICBfX3UzMiBidWZfc2l6ZTsKKyAgX191MTYgY29uZmlnX2NvdW50ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhdHVyYXRpb25fbGltaXQ7Ci0gX191MTYgd2luX2hlaWdodDsKLSBfX3UxNiB3aW5fd2lkdGg7Ci0gX191MTYgdmVyX3dpbl9jb3VudDsKKyAgX191MTYgc2F0dXJhdGlvbl9saW1pdDsKKyAgX191MTYgd2luX2hlaWdodDsKKyAgX191MTYgd2luX3dpZHRoOworICBfX3UxNiB2ZXJfd2luX2NvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBob3Jfd2luX2NvdW50OwotIF9fdTE2IHZlcl93aW5fc3RhcnQ7Ci0gX191MTYgaG9yX3dpbl9zdGFydDsKLSBfX3UxNiBibGtfdmVyX3dpbl9zdGFydDsKKyAgX191MTYgaG9yX3dpbl9jb3VudDsKKyAgX191MTYgdmVyX3dpbl9zdGFydDsKKyAgX191MTYgaG9yX3dpbl9zdGFydDsKKyAgX191MTYgYmxrX3Zlcl93aW5fc3RhcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGJsa193aW5faGVpZ2h0OwotIF9fdTE2IHN1YnNhbXBsZV92ZXJfaW5jOwotIF9fdTE2IHN1YnNhbXBsZV9ob3JfaW5jOwotIF9fdTggYWxhd19lbmFibGU7CisgIF9fdTE2IGJsa193aW5faGVpZ2h0OworICBfX3UxNiBzdWJzYW1wbGVfdmVyX2luYzsKKyAgX191MTYgc3Vic2FtcGxlX2hvcl9pbmM7CisgIF9fdTggYWxhd19lbmFibGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBvbWFwM2lzcF9zdGF0X2RhdGEgewotIHN0cnVjdCB0aW1ldmFsIHRzOwotIHZvaWQgX191c2VyICpidWY7CisgIHN0cnVjdCB0aW1ldmFsIHRzOworICB2b2lkIF9fdXNlciAqIGJ1ZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYnVmX3NpemU7Ci0gX191MTYgZnJhbWVfbnVtYmVyOwotIF9fdTE2IGN1cl9mcmFtZTsKLSBfX3UxNiBjb25maWdfY291bnRlcjsKKyAgX191MzIgYnVmX3NpemU7CisgIF9fdTE2IGZyYW1lX251bWJlcjsKKyAgX191MTYgY3VyX2ZyYW1lOworICBfX3UxNiBjb25maWdfY291bnRlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBPTUFQM0lTUF9ISVNUX0JJTlNfMzIgMApAQCAtMTE3LDcgKzExNyw3IEBACiAjZGVmaW5lIE9NQVAzSVNQX0hJU1RfQklOU18xMjggMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgT01BUDNJU1BfSElTVF9CSU5TXzI1NiAzCi0jZGVmaW5lIE9NQVAzSVNQX0hJU1RfTUVNX1NJWkVfQklOUyhuKSAoKDEgPDwgKChuKSs1KSkqNCo0KQorI2RlZmluZSBPTUFQM0lTUF9ISVNUX01FTV9TSVpFX0JJTlMobikgKCgxIDw8ICgobikgKyA1KSkgKiA0ICogNCkKICNkZWZpbmUgT01BUDNJU1BfSElTVF9NRU1fU0laRSAxMDI0CiAjZGVmaW5lIE9NQVAzSVNQX0hJU1RfTUlOX1JFR0lPTlMgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTEzNiw3NCArMTM2LDc0IEBACiAjZGVmaW5lIE9NQVAzSVNQX0hJU1RfQ0ZBX0ZPVkVPTlgzIDEKIHN0cnVjdCBvbWFwM2lzcF9oaXN0X3JlZ2lvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGhfc3RhcnQ7Ci0gX191MTYgaF9lbmQ7Ci0gX191MTYgdl9zdGFydDsKLSBfX3UxNiB2X2VuZDsKKyAgX191MTYgaF9zdGFydDsKKyAgX191MTYgaF9lbmQ7CisgIF9fdTE2IHZfc3RhcnQ7CisgIF9fdTE2IHZfZW5kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgb21hcDNpc3BfaGlzdF9jb25maWcgewotIF9fdTMyIGJ1Zl9zaXplOwotIF9fdTE2IGNvbmZpZ19jb3VudGVyOworICBfX3UzMiBidWZfc2l6ZTsKKyAgX191MTYgY29uZmlnX2NvdW50ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbnVtX2FjY19mcmFtZXM7Ci0gX191MTYgaGlzdF9iaW5zOwotIF9fdTggY2ZhOwotIF9fdTggd2dbT01BUDNJU1BfSElTVF9NQVhfV0ddOworICBfX3U4IG51bV9hY2NfZnJhbWVzOworICBfX3UxNiBoaXN0X2JpbnM7CisgIF9fdTggY2ZhOworICBfX3U4IHdnW09NQVAzSVNQX0hJU1RfTUFYX1dHXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBudW1fcmVnaW9uczsKLSBzdHJ1Y3Qgb21hcDNpc3BfaGlzdF9yZWdpb24gcmVnaW9uW09NQVAzSVNQX0hJU1RfTUFYX1JFR0lPTlNdOworICBfX3U4IG51bV9yZWdpb25zOworICBzdHJ1Y3Qgb21hcDNpc3BfaGlzdF9yZWdpb24gcmVnaW9uW09NQVAzSVNQX0hJU1RfTUFYX1JFR0lPTlNdOwogfTsKICNkZWZpbmUgT01BUDNJU1BfQUZfTlVNX0NPRUYgMTEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG9tYXAzaXNwX2gzYV9hZl9mdm1vZGUgewotIE9NQVAzSVNQX0FGX01PREVfU1VNTUVEID0gMCwKLSBPTUFQM0lTUF9BRl9NT0RFX1BFQUsgPSAxCisgIE9NQVAzSVNQX0FGX01PREVfU1VNTUVEID0gMCwKKyAgT01BUDNJU1BfQUZfTU9ERV9QRUFLID0gMQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG9tYXAzaXNwX2gzYV9hZl9yZ2Jwb3MgewotIE9NQVAzSVNQX0FGX0dSX0dCX0JBWUVSID0gMCwKLSBPTUFQM0lTUF9BRl9SR19HQl9CQVlFUiA9IDEsCi0gT01BUDNJU1BfQUZfR1JfQkdfQkFZRVIgPSAyLAorICBPTUFQM0lTUF9BRl9HUl9HQl9CQVlFUiA9IDAsCisgIE9NQVAzSVNQX0FGX1JHX0dCX0JBWUVSID0gMSwKKyAgT01BUDNJU1BfQUZfR1JfQkdfQkFZRVIgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPTUFQM0lTUF9BRl9SR19CR19CQVlFUiA9IDMsCi0gT01BUDNJU1BfQUZfR0dfUkJfQ1VTVE9NID0gNCwKLSBPTUFQM0lTUF9BRl9SQl9HR19DVVNUT00gPSA1CisgIE9NQVAzSVNQX0FGX1JHX0JHX0JBWUVSID0gMywKKyAgT01BUDNJU1BfQUZfR0dfUkJfQ1VTVE9NID0gNCwKKyAgT01BUDNJU1BfQUZfUkJfR0dfQ1VTVE9NID0gNQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb21hcDNpc3BfaDNhX2FmX2htZiB7Ci0gX191OCBlbmFibGU7Ci0gX191OCB0aHJlc2hvbGQ7CisgIF9fdTggZW5hYmxlOworICBfX3U4IHRocmVzaG9sZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG9tYXAzaXNwX2gzYV9hZl9paXIgewotIF9fdTE2IGhfc3RhcnQ7Ci0gX191MTYgY29lZmZfc2V0MFtPTUFQM0lTUF9BRl9OVU1fQ09FRl07Ci0gX191MTYgY29lZmZfc2V0MVtPTUFQM0lTUF9BRl9OVU1fQ09FRl07CisgIF9fdTE2IGhfc3RhcnQ7CisgIF9fdTE2IGNvZWZmX3NldDBbT01BUDNJU1BfQUZfTlVNX0NPRUZdOworICBfX3UxNiBjb2VmZl9zZXQxW09NQVAzSVNQX0FGX05VTV9DT0VGXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG9tYXAzaXNwX2gzYV9hZl9wYXhlbCB7Ci0gX191MTYgaF9zdGFydDsKLSBfX3UxNiB2X3N0YXJ0OworICBfX3UxNiBoX3N0YXJ0OworICBfX3UxNiB2X3N0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHdpZHRoOwotIF9fdTggaGVpZ2h0OwotIF9fdTggaF9jbnQ7Ci0gX191OCB2X2NudDsKKyAgX191OCB3aWR0aDsKKyAgX191OCBoZWlnaHQ7CisgIF9fdTggaF9jbnQ7CisgIF9fdTggdl9jbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbGluZV9pbmM7CisgIF9fdTggbGluZV9pbmM7CiB9Owogc3RydWN0IG9tYXAzaXNwX2gzYV9hZl9jb25maWcgewotIF9fdTMyIGJ1Zl9zaXplOworICBfX3UzMiBidWZfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgY29uZmlnX2NvdW50ZXI7Ci0gc3RydWN0IG9tYXAzaXNwX2gzYV9hZl9obWYgaG1mOwotIHN0cnVjdCBvbWFwM2lzcF9oM2FfYWZfaWlyIGlpcjsKLSBzdHJ1Y3Qgb21hcDNpc3BfaDNhX2FmX3BheGVsIHBheGVsOworICBfX3UxNiBjb25maWdfY291bnRlcjsKKyAgc3RydWN0IG9tYXAzaXNwX2gzYV9hZl9obWYgaG1mOworICBzdHJ1Y3Qgb21hcDNpc3BfaDNhX2FmX2lpciBpaXI7CisgIHN0cnVjdCBvbWFwM2lzcF9oM2FfYWZfcGF4ZWwgcGF4ZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gb21hcDNpc3BfaDNhX2FmX3JnYnBvcyByZ2JfcG9zOwotIGVudW0gb21hcDNpc3BfaDNhX2FmX2Z2bW9kZSBmdm1vZGU7Ci0gX191OCBhbGF3X2VuYWJsZTsKKyAgZW51bSBvbWFwM2lzcF9oM2FfYWZfcmdicG9zIHJnYl9wb3M7CisgIGVudW0gb21hcDNpc3BfaDNhX2FmX2Z2bW9kZSBmdm1vZGU7CisgIF9fdTggYWxhd19lbmFibGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgT01BUDNJU1BfQ0NEQ19BTEFXICgxIDw8IDApCkBAIC0yMTgsNjggKzIxOCw2OCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgT01BUDNJU1BfUkdCX01BWCAzCiBlbnVtIG9tYXAzaXNwX2FsYXdfaXB3aWR0aCB7Ci0gT01BUDNJU1BfQUxBV19CSVQxMl8zID0gMHgzLAotIE9NQVAzSVNQX0FMQVdfQklUMTFfMiA9IDB4NCwKKyAgT01BUDNJU1BfQUxBV19CSVQxMl8zID0gMHgzLAorICBPTUFQM0lTUF9BTEFXX0JJVDExXzIgPSAweDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9NQVAzSVNQX0FMQVdfQklUMTBfMSA9IDB4NSwKLSBPTUFQM0lTUF9BTEFXX0JJVDlfMCA9IDB4NgorICBPTUFQM0lTUF9BTEFXX0JJVDEwXzEgPSAweDUsCisgIE9NQVAzSVNQX0FMQVdfQklUOV8wID0gMHg2CiB9Owogc3RydWN0IG9tYXAzaXNwX2NjZGNfbHNjX2NvbmZpZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG9mZnNldDsKLSBfX3U4IGdhaW5fbW9kZV9uOwotIF9fdTggZ2Fpbl9tb2RlX207Ci0gX191OCBnYWluX2Zvcm1hdDsKKyAgX191MTYgb2Zmc2V0OworICBfX3U4IGdhaW5fbW9kZV9uOworICBfX3U4IGdhaW5fbW9kZV9tOworICBfX3U4IGdhaW5fZm9ybWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBmbXRzcGg7Ci0gX191MTYgZm10bG5oOwotIF9fdTE2IGZtdHNsdjsKLSBfX3UxNiBmbXRsbnY7CisgIF9fdTE2IGZtdHNwaDsKKyAgX191MTYgZm10bG5oOworICBfX3UxNiBmbXRzbHY7CisgIF9fdTE2IGZtdGxudjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpbml0aWFsX3g7Ci0gX191OCBpbml0aWFsX3k7Ci0gX191MzIgc2l6ZTsKKyAgX191OCBpbml0aWFsX3g7CisgIF9fdTggaW5pdGlhbF95OworICBfX3UzMiBzaXplOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb21hcDNpc3BfY2NkY19iY2xhbXAgewotIF9fdTggb2JnYWluOwotIF9fdTggb2JzdHBpeGVsOwotIF9fdTggb2JsaW5lczsKKyAgX191OCBvYmdhaW47CisgIF9fdTggb2JzdHBpeGVsOworICBfX3U4IG9ibGluZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggb2JsZW47Ci0gX191MTYgZGNzdWJ2YWw7CisgIF9fdTggb2JsZW47CisgIF9fdTE2IGRjc3VidmFsOwogfTsKIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2ZwYyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGZwbnVtOwotIF9fdTMyIGZwY2FkZHI7CisgIF9fdTE2IGZwbnVtOworICBfX3UzMiBmcGNhZGRyOwogfTsKIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2JsY29tcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYl9tZzsKLSBfX3U4IGdiX2c7Ci0gX191OCBncl9jeTsKLSBfX3U4IHJfeWU7CisgIF9fdTggYl9tZzsKKyAgX191OCBnYl9nOworICBfX3U4IGdyX2N5OworICBfX3U4IHJfeWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2N1bGxpbmcgewotIF9fdTggdl9wYXR0ZXJuOwotIF9fdTE2IGhfb2RkOworICBfX3U4IHZfcGF0dGVybjsKKyAgX191MTYgaF9vZGQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGhfZXZlbjsKKyAgX191MTYgaF9ldmVuOwogfTsKIHN0cnVjdCBvbWFwM2lzcF9jY2RjX3VwZGF0ZV9jb25maWcgewotIF9fdTE2IHVwZGF0ZTsKKyAgX191MTYgdXBkYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBmbGFnOwotIGVudW0gb21hcDNpc3BfYWxhd19pcHdpZHRoIGFsYXdpcDsKLSBzdHJ1Y3Qgb21hcDNpc3BfY2NkY19iY2xhbXAgX191c2VyICpiY2xhbXA7Ci0gc3RydWN0IG9tYXAzaXNwX2NjZGNfYmxjb21wIF9fdXNlciAqYmxjb21wOworICBfX3UxNiBmbGFnOworICBlbnVtIG9tYXAzaXNwX2FsYXdfaXB3aWR0aCBhbGF3aXA7CisgIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2JjbGFtcCBfX3VzZXIgKiBiY2xhbXA7CisgIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2JsY29tcCBfX3VzZXIgKiBibGNvbXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2ZwYyBfX3VzZXIgKmZwYzsKLSBzdHJ1Y3Qgb21hcDNpc3BfY2NkY19sc2NfY29uZmlnIF9fdXNlciAqbHNjX2NmZzsKLSBzdHJ1Y3Qgb21hcDNpc3BfY2NkY19jdWxsaW5nIF9fdXNlciAqY3VsbDsKLSBfX3U4IF9fdXNlciAqbHNjOworICBzdHJ1Y3Qgb21hcDNpc3BfY2NkY19mcGMgX191c2VyICogZnBjOworICBzdHJ1Y3Qgb21hcDNpc3BfY2NkY19sc2NfY29uZmlnIF9fdXNlciAqIGxzY19jZmc7CisgIHN0cnVjdCBvbWFwM2lzcF9jY2RjX2N1bGxpbmcgX191c2VyICogY3VsbDsKKyAgX191OCBfX3VzZXIgKiBsc2M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgT01BUDNJU1BfUFJFVl9MVU1BRU5IICgxIDw8IDApCkBAIC0zMTEsMTA2ICszMTEsMTA2IEBACiAjZGVmaW5lIE9NQVAzSVNQX1BSRVZfREVURUNUX0NPUlJFQ1RfQ0hBTk5FTFMgNAogc3RydWN0IG9tYXAzaXNwX3ByZXZfaG1lZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggb2RkZGlzdDsKLSBfX3U4IGV2ZW5kaXN0OwotIF9fdTggdGhyZXM7CisgIF9fdTggb2RkZGlzdDsKKyAgX191OCBldmVuZGlzdDsKKyAgX191OCB0aHJlczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBvbWFwM2lzcF9jZmFfZm10IHsKLSBPTUFQM0lTUF9DRkFGTVRfQkFZRVIsCi0gT01BUDNJU1BfQ0ZBRk1UX1NPTllWR0EsCi0gT01BUDNJU1BfQ0ZBRk1UX1JHQkZPVkVPTiwKKyAgT01BUDNJU1BfQ0ZBRk1UX0JBWUVSLAorICBPTUFQM0lTUF9DRkFGTVRfU09OWVZHQSwKKyAgT01BUDNJU1BfQ0ZBRk1UX1JHQkZPVkVPTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT01BUDNJU1BfQ0ZBRk1UX0ROU1BMLAotIE9NQVAzSVNQX0NGQUZNVF9IT05FWUNPTUIsCi0gT01BUDNJU1BfQ0ZBRk1UX1JSR0dCQkZPVkVPTgorICBPTUFQM0lTUF9DRkFGTVRfRE5TUEwsCisgIE9NQVAzSVNQX0NGQUZNVF9IT05FWUNPTUIsCisgIE9NQVAzSVNQX0NGQUZNVF9SUkdHQkJGT1ZFT04KIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG9tYXAzaXNwX3ByZXZfY2ZhIHsKLSBlbnVtIG9tYXAzaXNwX2NmYV9mbXQgZm9ybWF0OwotIF9fdTggZ3JhZHRocnNfdmVydDsKLSBfX3U4IGdyYWR0aHJzX2hvcno7CisgIGVudW0gb21hcDNpc3BfY2ZhX2ZtdCBmb3JtYXQ7CisgIF9fdTggZ3JhZHRocnNfdmVydDsKKyAgX191OCBncmFkdGhyc19ob3J6OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0YWJsZVs0XVtPTUFQM0lTUF9QUkVWX0NGQV9CTEtfU0laRV07CisgIF9fdTMyIHRhYmxlWzRdW09NQVAzSVNQX1BSRVZfQ0ZBX0JMS19TSVpFXTsKIH07CiBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9jc3VwIHsKLSBfX3U4IGdhaW47CisgIF9fdTggZ2FpbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0aHJlczsKLSBfX3U4IGh5cGZfZW47CisgIF9fdTggdGhyZXM7CisgIF9fdTggaHlwZl9lbjsKIH07CiBzdHJ1Y3Qgb21hcDNpc3BfcHJldl93YmFsIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZGdhaW47Ci0gX191OCBjb2VmMzsKLSBfX3U4IGNvZWYyOwotIF9fdTggY29lZjE7CisgIF9fdTE2IGRnYWluOworICBfX3U4IGNvZWYzOworICBfX3U4IGNvZWYyOworICBfX3U4IGNvZWYxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNvZWYwOworICBfX3U4IGNvZWYwOwogfTsKIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2Jsa2FkaiB7Ci0gX191OCByZWQ7CisgIF9fdTggcmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGdyZWVuOwotIF9fdTggYmx1ZTsKKyAgX191OCBncmVlbjsKKyAgX191OCBibHVlOwogfTsKIHN0cnVjdCBvbWFwM2lzcF9wcmV2X3JnYnRvcmdiIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbWF0cml4W09NQVAzSVNQX1JHQl9NQVhdW09NQVAzSVNQX1JHQl9NQVhdOwotIF9fdTE2IG9mZnNldFtPTUFQM0lTUF9SR0JfTUFYXTsKKyAgX191MTYgbWF0cml4W09NQVAzSVNQX1JHQl9NQVhdW09NQVAzSVNQX1JHQl9NQVhdOworICBfX3UxNiBvZmZzZXRbT01BUDNJU1BfUkdCX01BWF07CiB9Owogc3RydWN0IG9tYXAzaXNwX3ByZXZfY3NjIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgbWF0cml4W09NQVAzSVNQX1JHQl9NQVhdW09NQVAzSVNQX1JHQl9NQVhdOwotIF9fczE2IG9mZnNldFtPTUFQM0lTUF9SR0JfTUFYXTsKKyAgX191MTYgbWF0cml4W09NQVAzSVNQX1JHQl9NQVhdW09NQVAzSVNQX1JHQl9NQVhdOworICBfX3MxNiBvZmZzZXRbT01BUDNJU1BfUkdCX01BWF07CiB9Owogc3RydWN0IG9tYXAzaXNwX3ByZXZfeWNsaW1pdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbWluQzsKLSBfX3U4IG1heEM7Ci0gX191OCBtaW5ZOwotIF9fdTggbWF4WTsKKyAgX191OCBtaW5DOworICBfX3U4IG1heEM7CisgIF9fdTggbWluWTsKKyAgX191OCBtYXhZOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9kY29yIHsKLSBfX3U4IGNvdXBsZXRfbW9kZV9lbjsKLSBfX3UzMiBkZXRlY3RfY29ycmVjdFtPTUFQM0lTUF9QUkVWX0RFVEVDVF9DT1JSRUNUX0NIQU5ORUxTXTsKKyAgX191OCBjb3VwbGV0X21vZGVfZW47CisgIF9fdTMyIGRldGVjdF9jb3JyZWN0W09NQVAzSVNQX1BSRVZfREVURUNUX0NPUlJFQ1RfQ0hBTk5FTFNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9uZiB7Ci0gX191OCBzcHJlYWQ7Ci0gX191MzIgdGFibGVbT01BUDNJU1BfUFJFVl9ORl9UQkxfU0laRV07CisgIF9fdTggc3ByZWFkOworICBfX3UzMiB0YWJsZVtPTUFQM0lTUF9QUkVWX05GX1RCTF9TSVpFXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG9tYXAzaXNwX3ByZXZfZ3RhYmxlcyB7Ci0gX191MzIgcmVkW09NQVAzSVNQX1BSRVZfR0FNTUFfVEJMX1NJWkVdOwotIF9fdTMyIGdyZWVuW09NQVAzSVNQX1BSRVZfR0FNTUFfVEJMX1NJWkVdOworICBfX3UzMiByZWRbT01BUDNJU1BfUFJFVl9HQU1NQV9UQkxfU0laRV07CisgIF9fdTMyIGdyZWVuW09NQVAzSVNQX1BSRVZfR0FNTUFfVEJMX1NJWkVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBibHVlW09NQVAzSVNQX1BSRVZfR0FNTUFfVEJMX1NJWkVdOworICBfX3UzMiBibHVlW09NQVAzSVNQX1BSRVZfR0FNTUFfVEJMX1NJWkVdOwogfTsKIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2x1bWEgewotIF9fdTMyIHRhYmxlW09NQVAzSVNQX1BSRVZfWUVOSF9UQkxfU0laRV07CisgIF9fdTMyIHRhYmxlW09NQVAzSVNQX1BSRVZfWUVOSF9UQkxfU0laRV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBvbWFwM2lzcF9wcmV2X3VwZGF0ZV9jb25maWcgewotIF9fdTMyIHVwZGF0ZTsKLSBfX3UzMiBmbGFnOworICBfX3UzMiB1cGRhdGU7CisgIF9fdTMyIGZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNoYWRpbmdfc2hpZnQ7Ci0gc3RydWN0IG9tYXAzaXNwX3ByZXZfbHVtYSBfX3VzZXIgKmx1bWE7Ci0gc3RydWN0IG9tYXAzaXNwX3ByZXZfaG1lZCBfX3VzZXIgKmhtZWQ7Ci0gc3RydWN0IG9tYXAzaXNwX3ByZXZfY2ZhIF9fdXNlciAqY2ZhOworICBfX3UzMiBzaGFkaW5nX3NoaWZ0OworICBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9sdW1hIF9fdXNlciAqIGx1bWE7CisgIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2htZWQgX191c2VyICogaG1lZDsKKyAgc3RydWN0IG9tYXAzaXNwX3ByZXZfY2ZhIF9fdXNlciAqIGNmYTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IG9tYXAzaXNwX3ByZXZfY3N1cCBfX3VzZXIgKmNzdXA7Ci0gc3RydWN0IG9tYXAzaXNwX3ByZXZfd2JhbCBfX3VzZXIgKndiYWw7Ci0gc3RydWN0IG9tYXAzaXNwX3ByZXZfYmxrYWRqIF9fdXNlciAqYmxrYWRqOwotIHN0cnVjdCBvbWFwM2lzcF9wcmV2X3JnYnRvcmdiIF9fdXNlciAqcmdiMnJnYjsKKyAgc3RydWN0IG9tYXAzaXNwX3ByZXZfY3N1cCBfX3VzZXIgKiBjc3VwOworICBzdHJ1Y3Qgb21hcDNpc3BfcHJldl93YmFsIF9fdXNlciAqIHdiYWw7CisgIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2Jsa2FkaiBfX3VzZXIgKiBibGthZGo7CisgIHN0cnVjdCBvbWFwM2lzcF9wcmV2X3JnYnRvcmdiIF9fdXNlciAqIHJnYjJyZ2I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2NzYyBfX3VzZXIgKmNzYzsKLSBzdHJ1Y3Qgb21hcDNpc3BfcHJldl95Y2xpbWl0IF9fdXNlciAqeWNsaW1pdDsKLSBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9kY29yIF9fdXNlciAqZGNvcjsKLSBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9uZiBfX3VzZXIgKm5mOworICBzdHJ1Y3Qgb21hcDNpc3BfcHJldl9jc2MgX191c2VyICogY3NjOworICBzdHJ1Y3Qgb21hcDNpc3BfcHJldl95Y2xpbWl0IF9fdXNlciAqIHljbGltaXQ7CisgIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2Rjb3IgX191c2VyICogZGNvcjsKKyAgc3RydWN0IG9tYXAzaXNwX3ByZXZfbmYgX191c2VyICogbmY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBvbWFwM2lzcF9wcmV2X2d0YWJsZXMgX191c2VyICpnYW1tYTsKKyAgc3RydWN0IG9tYXAzaXNwX3ByZXZfZ3RhYmxlcyBfX3VzZXIgKiBnYW1tYTsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvb21hcGZiLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L29tYXBmYi5oCmluZGV4IDA3ZThiOWYuLmQ4ZWRhZWYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvb21hcGZiLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9vbWFwZmIuaApAQCAtMjIsOSArMjIsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jZGVmaW5lIE9NQVBfSU9XKG51bSwgZHR5cGUpIF9JT1coJ08nLCBudW0sIGR0eXBlKQotI2RlZmluZSBPTUFQX0lPUihudW0sIGR0eXBlKSBfSU9SKCdPJywgbnVtLCBkdHlwZSkKLSNkZWZpbmUgT01BUF9JT1dSKG51bSwgZHR5cGUpIF9JT1dSKCdPJywgbnVtLCBkdHlwZSkKKyNkZWZpbmUgT01BUF9JT1cobnVtLGR0eXBlKSBfSU9XKCdPJywgbnVtLCBkdHlwZSkKKyNkZWZpbmUgT01BUF9JT1IobnVtLGR0eXBlKSBfSU9SKCdPJywgbnVtLCBkdHlwZSkKKyNkZWZpbmUgT01BUF9JT1dSKG51bSxkdHlwZSkgX0lPV1IoJ08nLCBudW0sIGR0eXBlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgT01BUF9JTyhudW0pIF9JTygnTycsIG51bSkKICNkZWZpbmUgT01BUEZCX01JUlJPUiBPTUFQX0lPVygzMSwgaW50KQpAQCAtODYsMTQ0ICs4NiwxNDQgQEAKICNkZWZpbmUgT01BUEZCX01FTV9JRFhfTUFTSyAweDdmCiBlbnVtIG9tYXBmYl9jb2xvcl9mb3JtYXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPTUFQRkJfQ09MT1JfUkdCNTY1ID0gMCwKLSBPTUFQRkJfQ09MT1JfWVVWNDIyLAotIE9NQVBGQl9DT0xPUl9ZVVY0MjAsCi0gT01BUEZCX0NPTE9SX0NMVVRfOEJQUCwKKyAgT01BUEZCX0NPTE9SX1JHQjU2NSA9IDAsCisgIE9NQVBGQl9DT0xPUl9ZVVY0MjIsCisgIE9NQVBGQl9DT0xPUl9ZVVY0MjAsCisgIE9NQVBGQl9DT0xPUl9DTFVUXzhCUFAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9NQVBGQl9DT0xPUl9DTFVUXzRCUFAsCi0gT01BUEZCX0NPTE9SX0NMVVRfMkJQUCwKLSBPTUFQRkJfQ09MT1JfQ0xVVF8xQlBQLAotIE9NQVBGQl9DT0xPUl9SR0I0NDQsCisgIE9NQVBGQl9DT0xPUl9DTFVUXzRCUFAsCisgIE9NQVBGQl9DT0xPUl9DTFVUXzJCUFAsCisgIE9NQVBGQl9DT0xPUl9DTFVUXzFCUFAsCisgIE9NQVBGQl9DT0xPUl9SR0I0NDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9NQVBGQl9DT0xPUl9ZVVk0MjIsCi0gT01BUEZCX0NPTE9SX0FSR0IxNiwKLSBPTUFQRkJfQ09MT1JfUkdCMjRVLAotIE9NQVBGQl9DT0xPUl9SR0IyNFAsCisgIE9NQVBGQl9DT0xPUl9ZVVk0MjIsCisgIE9NQVBGQl9DT0xPUl9BUkdCMTYsCisgIE9NQVBGQl9DT0xPUl9SR0IyNFUsCisgIE9NQVBGQl9DT0xPUl9SR0IyNFAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9NQVBGQl9DT0xPUl9BUkdCMzIsCi0gT01BUEZCX0NPTE9SX1JHQkEzMiwKLSBPTUFQRkJfQ09MT1JfUkdCWDMyLAorICBPTUFQRkJfQ09MT1JfQVJHQjMyLAorICBPTUFQRkJfQ09MT1JfUkdCQTMyLAorICBPTUFQRkJfQ09MT1JfUkdCWDMyLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb21hcGZiX3VwZGF0ZV93aW5kb3cgewotIF9fdTMyIHgsIHk7Ci0gX191MzIgd2lkdGgsIGhlaWdodDsKLSBfX3UzMiBmb3JtYXQ7CisgIF9fdTMyIHgsIHk7CisgIF9fdTMyIHdpZHRoLCBoZWlnaHQ7CisgIF9fdTMyIGZvcm1hdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgb3V0X3gsIG91dF95OwotIF9fdTMyIG91dF93aWR0aCwgb3V0X2hlaWdodDsKLSBfX3UzMiByZXNlcnZlZFs4XTsKKyAgX191MzIgb3V0X3gsIG91dF95OworICBfX3UzMiBvdXRfd2lkdGgsIG91dF9oZWlnaHQ7CisgIF9fdTMyIHJlc2VydmVkWzhdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb21hcGZiX3VwZGF0ZV93aW5kb3dfb2xkIHsKLSBfX3UzMiB4LCB5OwotIF9fdTMyIHdpZHRoLCBoZWlnaHQ7Ci0gX191MzIgZm9ybWF0OworICBfX3UzMiB4LCB5OworICBfX3UzMiB3aWR0aCwgaGVpZ2h0OworICBfX3UzMiBmb3JtYXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gb21hcGZiX3BsYW5lIHsKLSBPTUFQRkJfUExBTkVfR0ZYID0gMCwKLSBPTUFQRkJfUExBTkVfVklEMSwKKyAgT01BUEZCX1BMQU5FX0dGWCA9IDAsCisgIE9NQVBGQl9QTEFORV9WSUQxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPTUFQRkJfUExBTkVfVklEMiwKKyAgT01BUEZCX1BMQU5FX1ZJRDIsCiB9OwogZW51bSBvbWFwZmJfY2hhbm5lbF9vdXQgewotIE9NQVBGQl9DSEFOTkVMX09VVF9MQ0QgPSAwLAorICBPTUFQRkJfQ0hBTk5FTF9PVVRfTENEID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT01BUEZCX0NIQU5ORUxfT1VUX0RJR0lULAorICBPTUFQRkJfQ0hBTk5FTF9PVVRfRElHSVQsCiB9Owogc3RydWN0IG9tYXBmYl9wbGFuZV9pbmZvIHsKLSBfX3UzMiBwb3NfeDsKKyAgX191MzIgcG9zX3g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBvc195OwotIF9fdTggZW5hYmxlZDsKLSBfX3U4IGNoYW5uZWxfb3V0OwotIF9fdTggbWlycm9yOworICBfX3UzMiBwb3NfeTsKKyAgX191OCBlbmFibGVkOworICBfX3U4IGNoYW5uZWxfb3V0OworICBfX3U4IG1pcnJvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBtZW1faWR4OwotIF9fdTMyIG91dF93aWR0aDsKLSBfX3UzMiBvdXRfaGVpZ2h0OwotIF9fdTMyIHJlc2VydmVkMlsxMl07CisgIF9fdTggbWVtX2lkeDsKKyAgX191MzIgb3V0X3dpZHRoOworICBfX3UzMiBvdXRfaGVpZ2h0OworICBfX3UzMiByZXNlcnZlZDJbMTJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgb21hcGZiX21lbV9pbmZvIHsKLSBfX3UzMiBzaXplOwotIF9fdTggdHlwZTsKKyAgX191MzIgc2l6ZTsKKyAgX191OCB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc2VydmVkWzNdOworICBfX3U4IHJlc2VydmVkWzNdOwogfTsKIHN0cnVjdCBvbWFwZmJfY2FwcyB7Ci0gX191MzIgY3RybDsKKyAgX191MzIgY3RybDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGxhbmVfY29sb3I7Ci0gX191MzIgd25kX2NvbG9yOworICBfX3UzMiBwbGFuZV9jb2xvcjsKKyAgX191MzIgd25kX2NvbG9yOwogfTsKIGVudW0gb21hcGZiX2NvbG9yX2tleV90eXBlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT01BUEZCX0NPTE9SX0tFWV9ESVNBQkxFRCA9IDAsCi0gT01BUEZCX0NPTE9SX0tFWV9HRlhfRFNULAotIE9NQVBGQl9DT0xPUl9LRVlfVklEX1NSQywKKyAgT01BUEZCX0NPTE9SX0tFWV9ESVNBQkxFRCA9IDAsCisgIE9NQVBGQl9DT0xPUl9LRVlfR0ZYX0RTVCwKKyAgT01BUEZCX0NPTE9SX0tFWV9WSURfU1JDLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb21hcGZiX2NvbG9yX2tleSB7Ci0gX191OCBjaGFubmVsX291dDsKLSBfX3UzMiBiYWNrZ3JvdW5kOwotIF9fdTMyIHRyYW5zX2tleTsKKyAgX191OCBjaGFubmVsX291dDsKKyAgX191MzIgYmFja2dyb3VuZDsKKyAgX191MzIgdHJhbnNfa2V5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGtleV90eXBlOworICBfX3U4IGtleV90eXBlOwogfTsKIGVudW0gb21hcGZiX3VwZGF0ZV9tb2RlIHsKLSBPTUFQRkJfVVBEQVRFX0RJU0FCTEVEID0gMCwKKyAgT01BUEZCX1VQREFURV9ESVNBQkxFRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9NQVBGQl9BVVRPX1VQREFURSwKLSBPTUFQRkJfTUFOVUFMX1VQREFURQorICBPTUFQRkJfQVVUT19VUERBVEUsCisgIE9NQVBGQl9NQU5VQUxfVVBEQVRFCiB9Owogc3RydWN0IG9tYXBmYl9tZW1vcnlfcmVhZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHg7Ci0gX191MTYgeTsKLSBfX3UxNiB3OwotIF9fdTE2IGg7CisgIF9fdTE2IHg7CisgIF9fdTE2IHk7CisgIF9fdTE2IHc7CisgIF9fdTE2IGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpemVfdCBidWZmZXJfc2l6ZTsKLSB2b2lkIF9fdXNlciAqYnVmZmVyOworICBzaXplX3QgYnVmZmVyX3NpemU7CisgIHZvaWQgX191c2VyICogYnVmZmVyOwogfTsKIHN0cnVjdCBvbWFwZmJfb3ZsX2NvbG9ybW9kZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggb3ZlcmxheV9pZHg7Ci0gX191OCBtb2RlX2lkeDsKLSBfX3UzMiBiaXRzX3Blcl9waXhlbDsKLSBfX3UzMiBub25zdGQ7CisgIF9fdTggb3ZlcmxheV9pZHg7CisgIF9fdTggbW9kZV9pZHg7CisgIF9fdTMyIGJpdHNfcGVyX3BpeGVsOworICBfX3UzMiBub25zdGQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmYl9iaXRmaWVsZCByZWQ7Ci0gc3RydWN0IGZiX2JpdGZpZWxkIGdyZWVuOwotIHN0cnVjdCBmYl9iaXRmaWVsZCBibHVlOwotIHN0cnVjdCBmYl9iaXRmaWVsZCB0cmFuc3A7CisgIHN0cnVjdCBmYl9iaXRmaWVsZCByZWQ7CisgIHN0cnVjdCBmYl9iaXRmaWVsZCBncmVlbjsKKyAgc3RydWN0IGZiX2JpdGZpZWxkIGJsdWU7CisgIHN0cnVjdCBmYl9iaXRmaWVsZCB0cmFuc3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBvbWFwZmJfdnJhbV9pbmZvIHsKLSBfX3UzMiB0b3RhbDsKLSBfX3UzMiBmcmVlOworICBfX3UzMiB0b3RhbDsKKyAgX191MzIgZnJlZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGFyZ2VzdF9mcmVlX2Jsb2NrOwotIF9fdTMyIHJlc2VydmVkWzVdOworICBfX3UzMiBsYXJnZXN0X2ZyZWVfYmxvY2s7CisgIF9fdTMyIHJlc2VydmVkWzVdOwogfTsKIHN0cnVjdCBvbWFwZmJfdGVhcnN5bmNfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZW5hYmxlZDsKLSBfX3U4IHJlc2VydmVkMVszXTsKLSBfX3UxNiBsaW5lOwotIF9fdTE2IHJlc2VydmVkMjsKKyAgX191OCBlbmFibGVkOworICBfX3U4IHJlc2VydmVkMVszXTsKKyAgX191MTYgbGluZTsKKyAgX191MTYgcmVzZXJ2ZWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgb21hcGZiX2Rpc3BsYXlfaW5mbyB7Ci0gX191MTYgeHJlczsKLSBfX3UxNiB5cmVzOworICBfX3UxNiB4cmVzOworICBfX3UxNiB5cmVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7Ci0gX191MzIgcmVzZXJ2ZWRbNV07CisgIF9fdTMyIHdpZHRoOworICBfX3UzMiBoZWlnaHQ7CisgIF9fdTMyIHJlc2VydmVkWzVdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvb29tLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L29vbS5oCmluZGV4IGQzN2YzNmMuLjNkYjA1Y2EgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvb29tLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9vb20uaApAQCAtMTgsMTEgKzE4LDExIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX1VBUElfX0lOQ0xVREVfTElOVVhfT09NX0gKICNkZWZpbmUgX1VBUElfX0lOQ0xVREVfTElOVVhfT09NX0gKLSNkZWZpbmUgT09NX1NDT1JFX0FESl9NSU4gKC0xMDAwKQorI2RlZmluZSBPT01fU0NPUkVfQURKX01JTiAoLSAxMDAwKQogI2RlZmluZSBPT01fU0NPUkVfQURKX01BWCAxMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBPT01fRElTQUJMRSAoLTE3KQotI2RlZmluZSBPT01fQURKVVNUX01JTiAoLTE2KQorI2RlZmluZSBPT01fRElTQUJMRSAoLSAxNykKKyNkZWZpbmUgT09NX0FESlVTVF9NSU4gKC0gMTYpCiAjZGVmaW5lIE9PTV9BREpVU1RfTUFYIDE1CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L29wZW52c3dpdGNoLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L29wZW52c3dpdGNoLmgKaW5kZXggOTY0OWI2Yi4uNjYzZTM3ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9vcGVudnN3aXRjaC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvb3BlbnZzd2l0Y2guaApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG92c19oZWFkZXIgewotIGludCBkcF9pZmluZGV4OworICBpbnQgZHBfaWZpbmRleDsKIH07CiAjZGVmaW5lIE9WU19EQVRBUEFUSF9GQU1JTFkgIm92c19kYXRhcGF0aCIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0zMSwzMDggKzMxLDMyNiBAQAogI2RlZmluZSBPVlNfRFBfVkVSX0ZFQVRVUkVTIDIKIGVudW0gb3ZzX2RhdGFwYXRoX2NtZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19EUF9DTURfVU5TUEVDLAotIE9WU19EUF9DTURfTkVXLAotIE9WU19EUF9DTURfREVMLAotIE9WU19EUF9DTURfR0VULAorICBPVlNfRFBfQ01EX1VOU1BFQywKKyAgT1ZTX0RQX0NNRF9ORVcsCisgIE9WU19EUF9DTURfREVMLAorICBPVlNfRFBfQ01EX0dFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX0RQX0NNRF9TRVQKKyAgT1ZTX0RQX0NNRF9TRVQKIH07CiBlbnVtIG92c19kYXRhcGF0aF9hdHRyIHsKLSBPVlNfRFBfQVRUUl9VTlNQRUMsCisgIE9WU19EUF9BVFRSX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX0RQX0FUVFJfTkFNRSwKLSBPVlNfRFBfQVRUUl9VUENBTExfUElELAotIE9WU19EUF9BVFRSX1NUQVRTLAotIE9WU19EUF9BVFRSX01FR0FGTE9XX1NUQVRTLAorICBPVlNfRFBfQVRUUl9OQU1FLAorICBPVlNfRFBfQVRUUl9VUENBTExfUElELAorICBPVlNfRFBfQVRUUl9TVEFUUywKKyAgT1ZTX0RQX0FUVFJfTUVHQUZMT1dfU1RBVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19EUF9BVFRSX1VTRVJfRkVBVFVSRVMsCi0gX19PVlNfRFBfQVRUUl9NQVgKKyAgT1ZTX0RQX0FUVFJfVVNFUl9GRUFUVVJFUywKKyAgX19PVlNfRFBfQVRUUl9NQVgKIH07CiAjZGVmaW5lIE9WU19EUF9BVFRSX01BWCAoX19PVlNfRFBfQVRUUl9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBvdnNfZHBfc3RhdHMgewotIF9fdTY0IG5faGl0OwotIF9fdTY0IG5fbWlzc2VkOwotIF9fdTY0IG5fbG9zdDsKKyAgX191NjQgbl9oaXQ7CisgIF9fdTY0IG5fbWlzc2VkOworICBfX3U2NCBuX2xvc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG5fZmxvd3M7CisgIF9fdTY0IG5fZmxvd3M7CiB9Owogc3RydWN0IG92c19kcF9tZWdhZmxvd19zdGF0cyB7Ci0gX191NjQgbl9tYXNrX2hpdDsKKyAgX191NjQgbl9tYXNrX2hpdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbl9tYXNrczsKLSBfX3UzMiBwYWQwOwotIF9fdTY0IHBhZDE7Ci0gX191NjQgcGFkMjsKKyAgX191MzIgbl9tYXNrczsKKyAgX191MzIgcGFkMDsKKyAgX191NjQgcGFkMTsKKyAgX191NjQgcGFkMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IG92c192cG9ydF9zdGF0cyB7Ci0gX191NjQgcnhfcGFja2V0czsKLSBfX3U2NCB0eF9wYWNrZXRzOworICBfX3U2NCByeF9wYWNrZXRzOworICBfX3U2NCB0eF9wYWNrZXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByeF9ieXRlczsKLSBfX3U2NCB0eF9ieXRlczsKLSBfX3U2NCByeF9lcnJvcnM7Ci0gX191NjQgdHhfZXJyb3JzOworICBfX3U2NCByeF9ieXRlczsKKyAgX191NjQgdHhfYnl0ZXM7CisgIF9fdTY0IHJ4X2Vycm9yczsKKyAgX191NjQgdHhfZXJyb3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByeF9kcm9wcGVkOwotIF9fdTY0IHR4X2Ryb3BwZWQ7CisgIF9fdTY0IHJ4X2Ryb3BwZWQ7CisgIF9fdTY0IHR4X2Ryb3BwZWQ7CiB9OwogI2RlZmluZSBPVlNfRFBfRl9VTkFMSUdORUQgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE9WU1BfTE9DQUwgKChfX3UzMikwKQorI2RlZmluZSBPVlNfRFBfRl9WUE9SVF9QSURTICgxIDw8IDEpCisjZGVmaW5lIE9WU1BfTE9DQUwgKChfX3UzMikgMCkKICNkZWZpbmUgT1ZTX1BBQ0tFVF9GQU1JTFkgIm92c19wYWNrZXQiCiAjZGVmaW5lIE9WU19QQUNLRVRfVkVSU0lPTiAweDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG92c19wYWNrZXRfY21kIHsKKyAgT1ZTX1BBQ0tFVF9DTURfVU5TUEVDLAorICBPVlNfUEFDS0VUX0NNRF9NSVNTLAorICBPVlNfUEFDS0VUX0NNRF9BQ1RJT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19QQUNLRVRfQ01EX1VOU1BFQywKLSBPVlNfUEFDS0VUX0NNRF9NSVNTLAotIE9WU19QQUNLRVRfQ01EX0FDVElPTiwKLSBPVlNfUEFDS0VUX0NNRF9FWEVDVVRFCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBPVlNfUEFDS0VUX0NNRF9FWEVDVVRFCiB9OwogZW51bSBvdnNfcGFja2V0X2F0dHIgewotIE9WU19QQUNLRVRfQVRUUl9VTlNQRUMsCi0gT1ZTX1BBQ0tFVF9BVFRSX1BBQ0tFVCwKKyAgT1ZTX1BBQ0tFVF9BVFRSX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX1BBQ0tFVF9BVFRSX0tFWSwKLSBPVlNfUEFDS0VUX0FUVFJfQUNUSU9OUywKLSBPVlNfUEFDS0VUX0FUVFJfVVNFUkRBVEEsCi0gX19PVlNfUEFDS0VUX0FUVFJfTUFYCisgIE9WU19QQUNLRVRfQVRUUl9QQUNLRVQsCisgIE9WU19QQUNLRVRfQVRUUl9LRVksCisgIE9WU19QQUNLRVRfQVRUUl9BQ1RJT05TLAorICBPVlNfUEFDS0VUX0FUVFJfVVNFUkRBVEEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX09WU19QQUNLRVRfQVRUUl9NQVgKIH07CiAjZGVmaW5lIE9WU19QQUNLRVRfQVRUUl9NQVggKF9fT1ZTX1BBQ0tFVF9BVFRSX01BWCAtIDEpCiAjZGVmaW5lIE9WU19WUE9SVF9GQU1JTFkgIm92c192cG9ydCIKLSNkZWZpbmUgT1ZTX1ZQT1JUX01DR1JPVVAgIm92c192cG9ydCIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE9WU19WUE9SVF9NQ0dST1VQICJvdnNfdnBvcnQiCiAjZGVmaW5lIE9WU19WUE9SVF9WRVJTSU9OIDB4MQogZW51bSBvdnNfdnBvcnRfY21kIHsKLSBPVlNfVlBPUlRfQ01EX1VOU1BFQywKLSBPVlNfVlBPUlRfQ01EX05FVywKKyAgT1ZTX1ZQT1JUX0NNRF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19WUE9SVF9DTURfREVMLAotIE9WU19WUE9SVF9DTURfR0VULAotIE9WU19WUE9SVF9DTURfU0VUCisgIE9WU19WUE9SVF9DTURfTkVXLAorICBPVlNfVlBPUlRfQ01EX0RFTCwKKyAgT1ZTX1ZQT1JUX0NNRF9HRVQsCisgIE9WU19WUE9SVF9DTURfU0VUCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG92c192cG9ydF90eXBlIHsKLSBPVlNfVlBPUlRfVFlQRV9VTlNQRUMsCi0gT1ZTX1ZQT1JUX1RZUEVfTkVUREVWLAotIE9WU19WUE9SVF9UWVBFX0lOVEVSTkFMLAorICBPVlNfVlBPUlRfVFlQRV9VTlNQRUMsCisgIE9WU19WUE9SVF9UWVBFX05FVERFViwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX1ZQT1JUX1RZUEVfR1JFLAotIE9WU19WUE9SVF9UWVBFX1ZYTEFOLAotIF9fT1ZTX1ZQT1JUX1RZUEVfTUFYCisgIE9WU19WUE9SVF9UWVBFX0lOVEVSTkFMLAorICBPVlNfVlBPUlRfVFlQRV9HUkUsCisgIE9WU19WUE9SVF9UWVBFX1ZYTEFOLAorICBPVlNfVlBPUlRfVFlQRV9HRU5FVkUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX09WU19WUE9SVF9UWVBFX01BWAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE9WU19WUE9SVF9UWVBFX01BWCAoX19PVlNfVlBPUlRfVFlQRV9NQVggLSAxKQogZW51bSBvdnNfdnBvcnRfYXR0ciB7Ci0gT1ZTX1ZQT1JUX0FUVFJfVU5TUEVDLAotIE9WU19WUE9SVF9BVFRSX1BPUlRfTk8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19WUE9SVF9BVFRSX1RZUEUsCi0gT1ZTX1ZQT1JUX0FUVFJfTkFNRSwKLSBPVlNfVlBPUlRfQVRUUl9PUFRJT05TLAotIE9WU19WUE9SVF9BVFRSX1VQQ0FMTF9QSUQsCisgIE9WU19WUE9SVF9BVFRSX1VOU1BFQywKKyAgT1ZTX1ZQT1JUX0FUVFJfUE9SVF9OTywKKyAgT1ZTX1ZQT1JUX0FUVFJfVFlQRSwKKyAgT1ZTX1ZQT1JUX0FUVFJfTkFNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX1ZQT1JUX0FUVFJfU1RBVFMsCi0gX19PVlNfVlBPUlRfQVRUUl9NQVgKKyAgT1ZTX1ZQT1JUX0FUVFJfT1BUSU9OUywKKyAgT1ZTX1ZQT1JUX0FUVFJfVVBDQUxMX1BJRCwKKyAgT1ZTX1ZQT1JUX0FUVFJfU1RBVFMsCisgIF9fT1ZTX1ZQT1JUX0FUVFJfTUFYCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgT1ZTX1ZQT1JUX0FUVFJfTUFYIChfX09WU19WUE9SVF9BVFRSX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gT1ZTX1RVTk5FTF9BVFRSX1VOU1BFQywKLSBPVlNfVFVOTkVMX0FUVFJfRFNUX1BPUlQsCi0gX19PVlNfVFVOTkVMX0FUVFJfTUFYCisgIE9WU19UVU5ORUxfQVRUUl9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBPVlNfVFVOTkVMX0FUVFJfRFNUX1BPUlQsCisgIF9fT1ZTX1RVTk5FTF9BVFRSX01BWAogfTsKICNkZWZpbmUgT1ZTX1RVTk5FTF9BVFRSX01BWCAoX19PVlNfVFVOTkVMX0FUVFJfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE9WU19GTE9XX0ZBTUlMWSAib3ZzX2Zsb3ciCiAjZGVmaW5lIE9WU19GTE9XX01DR1JPVVAgIm92c19mbG93IgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgT1ZTX0ZMT1dfVkVSU0lPTiAweDEKIGVudW0gb3ZzX2Zsb3dfY21kIHsKLSBPVlNfRkxPV19DTURfVU5TUEVDLAotIE9WU19GTE9XX0NNRF9ORVcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19GTE9XX0NNRF9ERUwsCi0gT1ZTX0ZMT1dfQ01EX0dFVCwKLSBPVlNfRkxPV19DTURfU0VUCisgIE9WU19GTE9XX0NNRF9VTlNQRUMsCisgIE9WU19GTE9XX0NNRF9ORVcsCisgIE9WU19GTE9XX0NNRF9ERUwsCisgIE9WU19GTE9XX0NNRF9HRVQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBPVlNfRkxPV19DTURfU0VUCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBvdnNfZmxvd19zdGF0cyB7Ci0gX191NjQgbl9wYWNrZXRzOwotIF9fdTY0IG5fYnl0ZXM7CisgIF9fdTY0IG5fcGFja2V0czsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IG5fYnl0ZXM7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gb3ZzX2tleV9hdHRyIHsKLSBPVlNfS0VZX0FUVFJfVU5TUEVDLAotIE9WU19LRVlfQVRUUl9FTkNBUCwKLSBPVlNfS0VZX0FUVFJfUFJJT1JJVFksCisgIE9WU19LRVlfQVRUUl9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19LRVlfQVRUUl9JTl9QT1JULAotIE9WU19LRVlfQVRUUl9FVEhFUk5FVCwKLSBPVlNfS0VZX0FUVFJfVkxBTiwKLSBPVlNfS0VZX0FUVFJfRVRIRVJUWVBFLAorICBPVlNfS0VZX0FUVFJfRU5DQVAsCisgIE9WU19LRVlfQVRUUl9QUklPUklUWSwKKyAgT1ZTX0tFWV9BVFRSX0lOX1BPUlQsCisgIE9WU19LRVlfQVRUUl9FVEhFUk5FVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX0tFWV9BVFRSX0lQVjQsCi0gT1ZTX0tFWV9BVFRSX0lQVjYsCi0gT1ZTX0tFWV9BVFRSX1RDUCwKLSBPVlNfS0VZX0FUVFJfVURQLAorICBPVlNfS0VZX0FUVFJfVkxBTiwKKyAgT1ZTX0tFWV9BVFRSX0VUSEVSVFlQRSwKKyAgT1ZTX0tFWV9BVFRSX0lQVjQsCisgIE9WU19LRVlfQVRUUl9JUFY2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPVlNfS0VZX0FUVFJfSUNNUCwKLSBPVlNfS0VZX0FUVFJfSUNNUFY2LAotIE9WU19LRVlfQVRUUl9BUlAsCi0gT1ZTX0tFWV9BVFRSX05ELAorICBPVlNfS0VZX0FUVFJfVENQLAorICBPVlNfS0VZX0FUVFJfVURQLAorICBPVlNfS0VZX0FUVFJfSUNNUCwKKyAgT1ZTX0tFWV9BVFRSX0lDTVBWNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX0tFWV9BVFRSX1NLQl9NQVJLLAotIE9WU19LRVlfQVRUUl9UVU5ORUwsCi0gT1ZTX0tFWV9BVFRSX1NDVFAsCi0gT1ZTX0tFWV9BVFRSX1RDUF9GTEFHUywKKyAgT1ZTX0tFWV9BVFRSX0FSUCwKKyAgT1ZTX0tFWV9BVFRSX05ELAorICBPVlNfS0VZX0FUVFJfU0tCX01BUkssCisgIE9WU19LRVlfQVRUUl9UVU5ORUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fT1ZTX0tFWV9BVFRSX01BWAorICBPVlNfS0VZX0FUVFJfU0NUUCwKKyAgT1ZTX0tFWV9BVFRSX1RDUF9GTEFHUywKKyAgT1ZTX0tFWV9BVFRSX0RQX0hBU0gsCisgIE9WU19LRVlfQVRUUl9SRUNJUkNfSUQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX09WU19LRVlfQVRUUl9NQVgKIH07CiAjZGVmaW5lIE9WU19LRVlfQVRUUl9NQVggKF9fT1ZTX0tFWV9BVFRSX01BWCAtIDEpCiBlbnVtIG92c190dW5uZWxfa2V5X2F0dHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPVlNfVFVOTkVMX0tFWV9BVFRSX0lELAotIE9WU19UVU5ORUxfS0VZX0FUVFJfSVBWNF9TUkMsCi0gT1ZTX1RVTk5FTF9LRVlfQVRUUl9JUFY0X0RTVCwKLSBPVlNfVFVOTkVMX0tFWV9BVFRSX1RPUywKKyAgT1ZTX1RVTk5FTF9LRVlfQVRUUl9JRCwKKyAgT1ZTX1RVTk5FTF9LRVlfQVRUUl9JUFY0X1NSQywKKyAgT1ZTX1RVTk5FTF9LRVlfQVRUUl9JUFY0X0RTVCwKKyAgT1ZTX1RVTk5FTF9LRVlfQVRUUl9UT1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19UVU5ORUxfS0VZX0FUVFJfVFRMLAotIE9WU19UVU5ORUxfS0VZX0FUVFJfRE9OVF9GUkFHTUVOVCwKLSBPVlNfVFVOTkVMX0tFWV9BVFRSX0NTVU0sCi0gX19PVlNfVFVOTkVMX0tFWV9BVFRSX01BWAorICBPVlNfVFVOTkVMX0tFWV9BVFRSX1RUTCwKKyAgT1ZTX1RVTk5FTF9LRVlfQVRUUl9ET05UX0ZSQUdNRU5ULAorICBPVlNfVFVOTkVMX0tFWV9BVFRSX0NTVU0sCisgIE9WU19UVU5ORUxfS0VZX0FUVFJfT0FNLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgT1ZTX1RVTk5FTF9LRVlfQVRUUl9HRU5FVkVfT1BUUywKKyAgX19PVlNfVFVOTkVMX0tFWV9BVFRSX01BWAogfTsKICNkZWZpbmUgT1ZTX1RVTk5FTF9LRVlfQVRUUl9NQVggKF9fT1ZTX1RVTk5FTF9LRVlfQVRUUl9NQVggLSAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gb3ZzX2ZyYWdfdHlwZSB7Ci0gT1ZTX0ZSQUdfVFlQRV9OT05FLAorICBPVlNfRlJBR19UWVBFX05PTkUsCisgIE9WU19GUkFHX1RZUEVfRklSU1QsCisgIE9WU19GUkFHX1RZUEVfTEFURVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19GUkFHX1RZUEVfRklSU1QsCi0gT1ZTX0ZSQUdfVFlQRV9MQVRFUiwKLSBfX09WU19GUkFHX1RZUEVfTUFYCisgIF9fT1ZTX0ZSQUdfVFlQRV9NQVgKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBPVlNfRlJBR19UWVBFX01BWCAoX19PVlNfRlJBR19UWVBFX01BWCAtIDEpCiBzdHJ1Y3Qgb3ZzX2tleV9ldGhlcm5ldCB7Ci0gX191OCBldGhfc3JjW0VUSF9BTEVOXTsKLSBfX3U4IGV0aF9kc3RbRVRIX0FMRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBldGhfc3JjW0VUSF9BTEVOXTsKKyAgX191OCBldGhfZHN0W0VUSF9BTEVOXTsKIH07CiBzdHJ1Y3Qgb3ZzX2tleV9pcHY0IHsKLSBfX2JlMzIgaXB2NF9zcmM7Ci0gX19iZTMyIGlwdjRfZHN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGlwdjRfcHJvdG87Ci0gX191OCBpcHY0X3RvczsKLSBfX3U4IGlwdjRfdHRsOwotIF9fdTggaXB2NF9mcmFnOworICBfX2JlMzIgaXB2NF9zcmM7CisgIF9fYmUzMiBpcHY0X2RzdDsKKyAgX191OCBpcHY0X3Byb3RvOworICBfX3U4IGlwdjRfdG9zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBpcHY0X3R0bDsKKyAgX191OCBpcHY0X2ZyYWc7CiB9Owogc3RydWN0IG92c19rZXlfaXB2NiB7Ci0gX19iZTMyIGlwdjZfc3JjWzRdOwotIF9fYmUzMiBpcHY2X2RzdFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGlwdjZfbGFiZWw7Ci0gX191OCBpcHY2X3Byb3RvOwotIF9fdTggaXB2Nl90Y2xhc3M7Ci0gX191OCBpcHY2X2hsaW1pdDsKKyAgX19iZTMyIGlwdjZfc3JjWzRdOworICBfX2JlMzIgaXB2Nl9kc3RbNF07CisgIF9fYmUzMiBpcHY2X2xhYmVsOworICBfX3U4IGlwdjZfcHJvdG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaXB2Nl9mcmFnOworICBfX3U4IGlwdjZfdGNsYXNzOworICBfX3U4IGlwdjZfaGxpbWl0OworICBfX3U4IGlwdjZfZnJhZzsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG92c19rZXlfdGNwIHsKLSBfX2JlMTYgdGNwX3NyYzsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IHRjcF9kc3Q7CisgIF9fYmUxNiB0Y3Bfc3JjOworICBfX2JlMTYgdGNwX2RzdDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG92c19rZXlfdWRwIHsKLSBfX2JlMTYgdWRwX3NyYzsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IHVkcF9kc3Q7CisgIF9fYmUxNiB1ZHBfc3JjOworICBfX2JlMTYgdWRwX2RzdDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG92c19rZXlfc2N0cCB7Ci0gX19iZTE2IHNjdHBfc3JjOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgc2N0cF9kc3Q7CisgIF9fYmUxNiBzY3RwX3NyYzsKKyAgX19iZTE2IHNjdHBfZHN0OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb3ZzX2tleV9pY21wIHsKLSBfX3U4IGljbXBfdHlwZTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpY21wX2NvZGU7CisgIF9fdTggaWNtcF90eXBlOworICBfX3U4IGljbXBfY29kZTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG92c19rZXlfaWNtcHY2IHsKLSBfX3U4IGljbXB2Nl90eXBlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGljbXB2Nl9jb2RlOworICBfX3U4IGljbXB2Nl90eXBlOworICBfX3U4IGljbXB2Nl9jb2RlOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb3ZzX2tleV9hcnAgewotIF9fYmUzMiBhcnBfc2lwOworICBfX2JlMzIgYXJwX3NpcDsKKyAgX19iZTMyIGFycF90aXA7CisgIF9fYmUxNiBhcnBfb3A7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBhcnBfdGlwOwotIF9fYmUxNiBhcnBfb3A7Ci0gX191OCBhcnBfc2hhW0VUSF9BTEVOXTsKLSBfX3U4IGFycF90aGFbRVRIX0FMRU5dOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBhcnBfc2hhW0VUSF9BTEVOXTsKKyAgX191OCBhcnBfdGhhW0VUSF9BTEVOXTsKIH07CiBzdHJ1Y3Qgb3ZzX2tleV9uZCB7Ci0gX191MzIgbmRfdGFyZ2V0WzRdOwotIF9fdTggbmRfc2xsW0VUSF9BTEVOXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBuZF90bGxbRVRIX0FMRU5dOworICBfX3UzMiBuZF90YXJnZXRbNF07CisgIF9fdTggbmRfc2xsW0VUSF9BTEVOXTsKKyAgX191OCBuZF90bGxbRVRIX0FMRU5dOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG92c19mbG93X2F0dHIgewotIE9WU19GTE9XX0FUVFJfVU5TUEVDLAorICBPVlNfRkxPV19BVFRSX1VOU1BFQywKKyAgT1ZTX0ZMT1dfQVRUUl9LRVksCisgIE9WU19GTE9XX0FUVFJfQUNUSU9OUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX0ZMT1dfQVRUUl9LRVksCi0gT1ZTX0ZMT1dfQVRUUl9BQ1RJT05TLAotIE9WU19GTE9XX0FUVFJfU1RBVFMsCi0gT1ZTX0ZMT1dfQVRUUl9UQ1BfRkxBR1MsCisgIE9WU19GTE9XX0FUVFJfU1RBVFMsCisgIE9WU19GTE9XX0FUVFJfVENQX0ZMQUdTLAorICBPVlNfRkxPV19BVFRSX1VTRUQsCisgIE9WU19GTE9XX0FUVFJfQ0xFQVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE9WU19GTE9XX0FUVFJfVVNFRCwKLSBPVlNfRkxPV19BVFRSX0NMRUFSLAotIE9WU19GTE9XX0FUVFJfTUFTSywKLSBfX09WU19GTE9XX0FUVFJfTUFYCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBPVlNfRkxPV19BVFRSX01BU0ssCisgIF9fT1ZTX0ZMT1dfQVRUUl9NQVgKIH07CiAjZGVmaW5lIE9WU19GTE9XX0FUVFJfTUFYIChfX09WU19GTE9XX0FUVFJfTUFYIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIG92c19zYW1wbGVfYXR0ciB7Ci0gT1ZTX1NBTVBMRV9BVFRSX1VOU1BFQywKKyAgT1ZTX1NBTVBMRV9BVFRSX1VOU1BFQywKKyAgT1ZTX1NBTVBMRV9BVFRSX1BST0JBQklMSVRZLAorICBPVlNfU0FNUExFX0FUVFJfQUNUSU9OUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX1NBTVBMRV9BVFRSX1BST0JBQklMSVRZLAotIE9WU19TQU1QTEVfQVRUUl9BQ1RJT05TLAotIF9fT1ZTX1NBTVBMRV9BVFRSX01BWCwKKyAgX19PVlNfU0FNUExFX0FUVFJfTUFYLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE9WU19TQU1QTEVfQVRUUl9NQVggKF9fT1ZTX1NBTVBMRV9BVFRSX01BWCAtIDEpCiBlbnVtIG92c191c2Vyc3BhY2VfYXR0ciB7Ci0gT1ZTX1VTRVJTUEFDRV9BVFRSX1VOU1BFQywKLSBPVlNfVVNFUlNQQUNFX0FUVFJfUElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBPVlNfVVNFUlNQQUNFX0FUVFJfVVNFUkRBVEEsCi0gX19PVlNfVVNFUlNQQUNFX0FUVFJfTUFYCisgIE9WU19VU0VSU1BBQ0VfQVRUUl9VTlNQRUMsCisgIE9WU19VU0VSU1BBQ0VfQVRUUl9QSUQsCisgIE9WU19VU0VSU1BBQ0VfQVRUUl9VU0VSREFUQSwKKyAgX19PVlNfVVNFUlNQQUNFX0FUVFJfTUFYCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgT1ZTX1VTRVJTUEFDRV9BVFRSX01BWCAoX19PVlNfVVNFUlNQQUNFX0FUVFJfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb3ZzX2FjdGlvbl9wdXNoX3ZsYW4gewotIF9fYmUxNiB2bGFuX3RwaWQ7Ci0gX19iZTE2IHZsYW5fdGNpOworICBfX2JlMTYgdmxhbl90cGlkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19iZTE2IHZsYW5fdGNpOwogfTsKK2VudW0gb3ZzX2hhc2hfYWxnIHsKKyAgT1ZTX0hBU0hfQUxHX0w0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitzdHJ1Y3Qgb3ZzX2FjdGlvbl9oYXNoIHsKKyAgdWludDMyX3QgaGFzaF9hbGc7CisgIHVpbnQzMl90IGhhc2hfYmFzaXM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKIGVudW0gb3ZzX2FjdGlvbl9hdHRyIHsKLSBPVlNfQUNUSU9OX0FUVFJfVU5TUEVDLAotIE9WU19BQ1RJT05fQVRUUl9PVVRQVVQsCi0gT1ZTX0FDVElPTl9BVFRSX1VTRVJTUEFDRSwKKyAgT1ZTX0FDVElPTl9BVFRSX1VOU1BFQywKKyAgT1ZTX0FDVElPTl9BVFRSX09VVFBVVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gT1ZTX0FDVElPTl9BVFRSX1NFVCwKLSBPVlNfQUNUSU9OX0FUVFJfUFVTSF9WTEFOLAotIE9WU19BQ1RJT05fQVRUUl9QT1BfVkxBTiwKLSBPVlNfQUNUSU9OX0FUVFJfU0FNUExFLAorICBPVlNfQUNUSU9OX0FUVFJfVVNFUlNQQUNFLAorICBPVlNfQUNUSU9OX0FUVFJfU0VULAorICBPVlNfQUNUSU9OX0FUVFJfUFVTSF9WTEFOLAorICBPVlNfQUNUSU9OX0FUVFJfUE9QX1ZMQU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fT1ZTX0FDVElPTl9BVFRSX01BWAorICBPVlNfQUNUSU9OX0FUVFJfU0FNUExFLAorICBPVlNfQUNUSU9OX0FUVFJfUkVDSVJDLAorICBPVlNfQUNUSU9OX0FUVFJfSEFTSCwKKyAgX19PVlNfQUNUSU9OX0FUVFJfTUFYCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgT1ZTX0FDVElPTl9BVFRSX01BWCAoX19PVlNfQUNUSU9OX0FUVFJfTUFYIC0gMSkKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGFja2V0X2RpYWcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGFja2V0X2RpYWcuaAppbmRleCA4YTFiMWRhLi41ZjU5NjliIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BhY2tldF9kaWFnLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wYWNrZXRfZGlhZy5oCkBAIC0yMSwxMyArMjEsMTMgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHBhY2tldF9kaWFnX3JlcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2RpYWdfZmFtaWx5OwotIF9fdTggc2RpYWdfcHJvdG9jb2w7Ci0gX191MTYgcGFkOwotIF9fdTMyIHBkaWFnX2lubzsKKyAgX191OCBzZGlhZ19mYW1pbHk7CisgIF9fdTggc2RpYWdfcHJvdG9jb2w7CisgIF9fdTE2IHBhZDsKKyAgX191MzIgcGRpYWdfaW5vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwZGlhZ19zaG93OwotIF9fdTMyIHBkaWFnX2Nvb2tpZVsyXTsKKyAgX191MzIgcGRpYWdfc2hvdzsKKyAgX191MzIgcGRpYWdfY29va2llWzJdOwogfTsKICNkZWZpbmUgUEFDS0VUX1NIT1dfSU5GTyAweDAwMDAwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzgsMzcgKzM4LDM3IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQQUNLRVRfU0hPV19GSUxURVIgMHgwMDAwMDAyMAogc3RydWN0IHBhY2tldF9kaWFnX21zZyB7Ci0gX191OCBwZGlhZ19mYW1pbHk7Ci0gX191OCBwZGlhZ190eXBlOworICBfX3U4IHBkaWFnX2ZhbWlseTsKKyAgX191OCBwZGlhZ190eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBwZGlhZ19udW07Ci0gX191MzIgcGRpYWdfaW5vOwotIF9fdTMyIHBkaWFnX2Nvb2tpZVsyXTsKKyAgX191MTYgcGRpYWdfbnVtOworICBfX3UzMiBwZGlhZ19pbm87CisgIF9fdTMyIHBkaWFnX2Nvb2tpZVsyXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gUEFDS0VUX0RJQUdfSU5GTywKLSBQQUNLRVRfRElBR19NQ0xJU1QsCi0gUEFDS0VUX0RJQUdfUlhfUklORywKKyAgUEFDS0VUX0RJQUdfSU5GTywKKyAgUEFDS0VUX0RJQUdfTUNMSVNULAorICBQQUNLRVRfRElBR19SWF9SSU5HLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQQUNLRVRfRElBR19UWF9SSU5HLAotIFBBQ0tFVF9ESUFHX0ZBTk9VVCwKLSBQQUNLRVRfRElBR19VSUQsCi0gUEFDS0VUX0RJQUdfTUVNSU5GTywKKyAgUEFDS0VUX0RJQUdfVFhfUklORywKKyAgUEFDS0VUX0RJQUdfRkFOT1VULAorICBQQUNLRVRfRElBR19VSUQsCisgIFBBQ0tFVF9ESUFHX01FTUlORk8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBBQ0tFVF9ESUFHX0ZJTFRFUiwKLSBfX1BBQ0tFVF9ESUFHX01BWCwKKyAgUEFDS0VUX0RJQUdfRklMVEVSLAorICBfX1BBQ0tFVF9ESUFHX01BWCwKIH07CiAjZGVmaW5lIFBBQ0tFVF9ESUFHX01BWCAoX19QQUNLRVRfRElBR19NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBwYWNrZXRfZGlhZ19pbmZvIHsKLSBfX3UzMiBwZGlfaW5kZXg7Ci0gX191MzIgcGRpX3ZlcnNpb247Ci0gX191MzIgcGRpX3Jlc2VydmU7CisgIF9fdTMyIHBkaV9pbmRleDsKKyAgX191MzIgcGRpX3ZlcnNpb247CisgIF9fdTMyIHBkaV9yZXNlcnZlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwZGlfY29weV90aHJlc2g7Ci0gX191MzIgcGRpX3RzdGFtcDsKLSBfX3UzMiBwZGlfZmxhZ3M7CisgIF9fdTMyIHBkaV9jb3B5X3RocmVzaDsKKyAgX191MzIgcGRpX3RzdGFtcDsKKyAgX191MzIgcGRpX2ZsYWdzOwogI2RlZmluZSBQRElfUlVOTklORyAweDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBESV9BVVhEQVRBIDB4MgpAQCAtNzgsMjMgKzc4LDIzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBwYWNrZXRfZGlhZ19tY2xpc3QgewotIF9fdTMyIHBkbWNfaW5kZXg7Ci0gX191MzIgcGRtY19jb3VudDsKKyAgX191MzIgcGRtY19pbmRleDsKKyAgX191MzIgcGRtY19jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcGRtY190eXBlOwotIF9fdTE2IHBkbWNfYWxlbjsKLSBfX3U4IHBkbWNfYWRkcltNQVhfQUREUl9MRU5dOworICBfX3UxNiBwZG1jX3R5cGU7CisgIF9fdTE2IHBkbWNfYWxlbjsKKyAgX191OCBwZG1jX2FkZHJbTUFYX0FERFJfTEVOXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHBhY2tldF9kaWFnX3JpbmcgewotIF9fdTMyIHBkcl9ibG9ja19zaXplOwotIF9fdTMyIHBkcl9ibG9ja19ucjsKLSBfX3UzMiBwZHJfZnJhbWVfc2l6ZTsKKyAgX191MzIgcGRyX2Jsb2NrX3NpemU7CisgIF9fdTMyIHBkcl9ibG9ja19ucjsKKyAgX191MzIgcGRyX2ZyYW1lX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBkcl9mcmFtZV9ucjsKLSBfX3UzMiBwZHJfcmV0aXJlX3RtbzsKLSBfX3UzMiBwZHJfc2l6ZW9mX3ByaXY7Ci0gX191MzIgcGRyX2ZlYXR1cmVzOworICBfX3UzMiBwZHJfZnJhbWVfbnI7CisgIF9fdTMyIHBkcl9yZXRpcmVfdG1vOworICBfX3UzMiBwZHJfc2l6ZW9mX3ByaXY7CisgIF9fdTMyIHBkcl9mZWF0dXJlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BhcnBvcnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGFycG9ydC5oCmluZGV4IDM2N2FhZmIuLjgzYTdkMDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGFycG9ydC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGFycG9ydC5oCkBAIC0xOSwxNiArMTksMTYgQEAKICNpZm5kZWYgX1VBUElfUEFSUE9SVF9IXwogI2RlZmluZSBfVUFQSV9QQVJQT1JUX0hfCiAjZGVmaW5lIFBBUlBPUlRfTUFYIDE2Ci0jZGVmaW5lIFBBUlBPUlRfSVJRX05PTkUgLTEKKyNkZWZpbmUgUEFSUE9SVF9JUlFfTk9ORSAtIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBBUlBPUlRfRE1BX05PTkUgLTEKLSNkZWZpbmUgUEFSUE9SVF9JUlFfQVVUTyAtMgotI2RlZmluZSBQQVJQT1JUX0RNQV9BVVRPIC0yCi0jZGVmaW5lIFBBUlBPUlRfRE1BX05PRklGTyAtMworI2RlZmluZSBQQVJQT1JUX0RNQV9OT05FIC0gMQorI2RlZmluZSBQQVJQT1JUX0lSUV9BVVRPIC0gMgorI2RlZmluZSBQQVJQT1JUX0RNQV9BVVRPIC0gMgorI2RlZmluZSBQQVJQT1JUX0RNQV9OT0ZJRk8gLSAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQQVJQT1JUX0RJU0FCTEUgLTIKLSNkZWZpbmUgUEFSUE9SVF9JUlFfUFJPQkVPTkxZIC0zCi0jZGVmaW5lIFBBUlBPUlRfSU9ISV9BVVRPIC0xCisjZGVmaW5lIFBBUlBPUlRfRElTQUJMRSAtIDIKKyNkZWZpbmUgUEFSUE9SVF9JUlFfUFJPQkVPTkxZIC0gMworI2RlZmluZSBQQVJQT1JUX0lPSElfQVVUTyAtIDEKICNkZWZpbmUgUEFSUE9SVF9DT05UUk9MX1NUUk9CRSAweDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBBUlBPUlRfQ09OVFJPTF9BVVRPRkQgMHgyCkBAIC00Miw1MiArNDIsNTIgQEAKICNkZWZpbmUgUEFSUE9SVF9TVEFUVVNfQlVTWSAweDgwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBlbnVtIHsKLSBQQVJQT1JUX0NMQVNTX0xFR0FDWSA9IDAsCi0gUEFSUE9SVF9DTEFTU19QUklOVEVSLAotIFBBUlBPUlRfQ0xBU1NfTU9ERU0sCisgIFBBUlBPUlRfQ0xBU1NfTEVHQUNZID0gMCwKKyAgUEFSUE9SVF9DTEFTU19QUklOVEVSLAorICBQQVJQT1JUX0NMQVNTX01PREVNLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQQVJQT1JUX0NMQVNTX05FVCwKLSBQQVJQT1JUX0NMQVNTX0hEQywKLSBQQVJQT1JUX0NMQVNTX1BDTUNJQSwKLSBQQVJQT1JUX0NMQVNTX01FRElBLAorICBQQVJQT1JUX0NMQVNTX05FVCwKKyAgUEFSUE9SVF9DTEFTU19IREMsCisgIFBBUlBPUlRfQ0xBU1NfUENNQ0lBLAorICBQQVJQT1JUX0NMQVNTX01FRElBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQQVJQT1JUX0NMQVNTX0ZEQywKLSBQQVJQT1JUX0NMQVNTX1BPUlRTLAotIFBBUlBPUlRfQ0xBU1NfU0NBTk5FUiwKLSBQQVJQT1JUX0NMQVNTX0RJR0NBTSwKKyAgUEFSUE9SVF9DTEFTU19GREMsCisgIFBBUlBPUlRfQ0xBU1NfUE9SVFMsCisgIFBBUlBPUlRfQ0xBU1NfU0NBTk5FUiwKKyAgUEFSUE9SVF9DTEFTU19ESUdDQU0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBBUlBPUlRfQ0xBU1NfT1RIRVIsCi0gUEFSUE9SVF9DTEFTU19VTlNQRUMsCi0gUEFSUE9SVF9DTEFTU19TQ1NJQURBUFRFUgorICBQQVJQT1JUX0NMQVNTX09USEVSLAorICBQQVJQT1JUX0NMQVNTX1VOU1BFQywKKyAgUEFSUE9SVF9DTEFTU19TQ1NJQURBUFRFUgogfSBwYXJwb3J0X2RldmljZV9jbGFzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBBUlBPUlRfTU9ERV9QQ1NQUCAoMTw8MCkKLSNkZWZpbmUgUEFSUE9SVF9NT0RFX1RSSVNUQVRFICgxPDwxKQotI2RlZmluZSBQQVJQT1JUX01PREVfRVBQICgxPDwyKQotI2RlZmluZSBQQVJQT1JUX01PREVfRUNQICgxPDwzKQorI2RlZmluZSBQQVJQT1JUX01PREVfUENTUFAgKDEgPDwgMCkKKyNkZWZpbmUgUEFSUE9SVF9NT0RFX1RSSVNUQVRFICgxIDw8IDEpCisjZGVmaW5lIFBBUlBPUlRfTU9ERV9FUFAgKDEgPDwgMikKKyNkZWZpbmUgUEFSUE9SVF9NT0RFX0VDUCAoMSA8PCAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUEFSUE9SVF9NT0RFX0NPTVBBVCAoMTw8NCkKLSNkZWZpbmUgUEFSUE9SVF9NT0RFX0RNQSAoMTw8NSkKLSNkZWZpbmUgUEFSUE9SVF9NT0RFX1NBRkVJTklOVCAoMTw8NikKKyNkZWZpbmUgUEFSUE9SVF9NT0RFX0NPTVBBVCAoMSA8PCA0KQorI2RlZmluZSBQQVJQT1JUX01PREVfRE1BICgxIDw8IDUpCisjZGVmaW5lIFBBUlBPUlRfTU9ERV9TQUZFSU5JTlQgKDEgPDwgNikKICNkZWZpbmUgSUVFRTEyODRfTU9ERV9OSUJCTEUgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUVFRTEyODRfTU9ERV9CWVRFICgxPDwwKQotI2RlZmluZSBJRUVFMTI4NF9NT0RFX0NPTVBBVCAoMTw8OCkKLSNkZWZpbmUgSUVFRTEyODRfTU9ERV9CRUNQICgxPDw5KQotI2RlZmluZSBJRUVFMTI4NF9NT0RFX0VDUCAoMTw8NCkKKyNkZWZpbmUgSUVFRTEyODRfTU9ERV9CWVRFICgxIDw8IDApCisjZGVmaW5lIElFRUUxMjg0X01PREVfQ09NUEFUICgxIDw8IDgpCisjZGVmaW5lIElFRUUxMjg0X01PREVfQkVDUCAoMSA8PCA5KQorI2RlZmluZSBJRUVFMTI4NF9NT0RFX0VDUCAoMSA8PCA0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUVFRTEyODRfTU9ERV9FQ1BSTEUgKElFRUUxMjg0X01PREVfRUNQIHwgKDE8PDUpKQotI2RlZmluZSBJRUVFMTI4NF9NT0RFX0VDUFNXRSAoMTw8MTApCi0jZGVmaW5lIElFRUUxMjg0X01PREVfRVBQICgxPDw2KQotI2RlZmluZSBJRUVFMTI4NF9NT0RFX0VQUFNMICgxPDwxMSkKKyNkZWZpbmUgSUVFRTEyODRfTU9ERV9FQ1BSTEUgKElFRUUxMjg0X01PREVfRUNQIHwgKDEgPDwgNSkpCisjZGVmaW5lIElFRUUxMjg0X01PREVfRUNQU1dFICgxIDw8IDEwKQorI2RlZmluZSBJRUVFMTI4NF9NT0RFX0VQUCAoMSA8PCA2KQorI2RlZmluZSBJRUVFMTI4NF9NT0RFX0VQUFNMICgxIDw8IDExKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUVFRTEyODRfTU9ERV9FUFBTV0UgKDE8PDEyKQotI2RlZmluZSBJRUVFMTI4NF9ERVZJQ0VJRCAoMTw8MikKLSNkZWZpbmUgSUVFRTEyODRfRVhUX0xJTksgKDE8PDE0KQotI2RlZmluZSBJRUVFMTI4NF9BRERSICgxPDwxMykKKyNkZWZpbmUgSUVFRTEyODRfTU9ERV9FUFBTV0UgKDEgPDwgMTIpCisjZGVmaW5lIElFRUUxMjg0X0RFVklDRUlEICgxIDw8IDIpCisjZGVmaW5lIElFRUUxMjg0X0VYVF9MSU5LICgxIDw8IDE0KQorI2RlZmluZSBJRUVFMTI4NF9BRERSICgxIDw8IDEzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUVFRTEyODRfREFUQSAwCi0jZGVmaW5lIFBBUlBPUlRfRVBQX0ZBU1QgKDE8PDApCi0jZGVmaW5lIFBBUlBPUlRfVzkxMjg0UElDICgxPDwxKQorI2RlZmluZSBQQVJQT1JUX0VQUF9GQVNUICgxIDw8IDApCisjZGVmaW5lIFBBUlBPUlRfVzkxMjg0UElDICgxIDw8IDEpCiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BhdGNoa2V5LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BhdGNoa2V5LmgKaW5kZXggZDFkYTI2Ny4uNDA2ZDgwMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wYXRjaGtleS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGF0Y2hrZXkuaApAQCAtMjYsOSArMjYsOSBAQAogI2lmZGVmIF9fQllURV9PUkRFUgogI2lmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9QQVRDSEtFWShpZCkgKDB4ZmQwMHxpZCkKLSNlbGlmIF9fQllURV9PUkRFUiA9PSBfX0xJVFRMRV9FTkRJQU4KLSNkZWZpbmUgX1BBVENIS0VZKGlkKSAoKGlkPDw4KXwweDAwZmQpCisjZGVmaW5lIF9QQVRDSEtFWShpZCkgKDB4ZmQwMCB8IGlkKQorI2VsaWYgX19CWVRFX09SREVSPT1fX0xJVFRMRV9FTkRJQU4KKyNkZWZpbmUgX1BBVENIS0VZKGlkKSAoKGlkIDw8IDgpIHwgMHgwMGZkKQogI2Vsc2UKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZXJyb3IgImNvdWxkIG5vdCBkZXRlcm1pbmUgYnl0ZSBvcmRlciIKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGNpLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BjaS5oCmluZGV4IDIwMzUyNDYuLjc1NjljY2EgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGNpLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wY2kuaApAQCAtMTksNyArMTksNyBAQAogI2lmbmRlZiBfVUFQSUxJTlVYX1BDSV9ICiAjZGVmaW5lIF9VQVBJTElOVVhfUENJX0gKICNpbmNsdWRlIDxsaW51eC9wY2lfcmVncy5oPgotI2RlZmluZSBQQ0lfREVWRk4oc2xvdCwgZnVuYykgKCgoKHNsb3QpICYgMHgxZikgPDwgMykgfCAoKGZ1bmMpICYgMHgwNykpCisjZGVmaW5lIFBDSV9ERVZGTihzbG90LGZ1bmMpICgoKChzbG90KSAmIDB4MWYpIDw8IDMpIHwgKChmdW5jKSAmIDB4MDcpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUENJX1NMT1QoZGV2Zm4pICgoKGRldmZuKSA+PiAzKSAmIDB4MWYpCiAjZGVmaW5lIFBDSV9GVU5DKGRldmZuKSAoKGRldmZuKSAmIDB4MDcpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BjaV9yZWdzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BjaV9yZWdzLmgKaW5kZXggZDIwZjUwMC4uZDE5MTgyMSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wY2lfcmVncy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGNpX3JlZ3MuaApAQCAtNTkxLDM2MCArNTkxLDM2MSBAQAogI2RlZmluZSBQQ0lfRVhQX1JUQ1RMX0NSU1NWRSAweDAwMTAKICNkZWZpbmUgUENJX0VYUF9SVENBUCAzMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYUF9SVENBUF9DUlNWSVMgMHgwMDAxCiAjZGVmaW5lIFBDSV9FWFBfUlRTVEEgMzIKICNkZWZpbmUgUENJX0VYUF9SVFNUQV9QTUUgMHgwMDAxMDAwMAogI2RlZmluZSBQQ0lfRVhQX1JUU1RBX1BFTkRJTkcgMHgwMDAyMDAwMAotI2RlZmluZSBQQ0lfRVhQX0RFVkNBUDIgMzYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9FWFBfREVWQ0FQMiAzNgogI2RlZmluZSBQQ0lfRVhQX0RFVkNBUDJfQVJJIDB4MDAwMDAwMjAKICNkZWZpbmUgUENJX0VYUF9ERVZDQVAyX0xUUiAweDAwMDAwODAwCiAjZGVmaW5lIFBDSV9FWFBfREVWQ0FQMl9PQkZGX01BU0sgMHgwMDBjMDAwMAotI2RlZmluZSBQQ0lfRVhQX0RFVkNBUDJfT0JGRl9NU0cgMHgwMDA0MDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYUF9ERVZDQVAyX09CRkZfTVNHIDB4MDAwNDAwMDAKICNkZWZpbmUgUENJX0VYUF9ERVZDQVAyX09CRkZfV0FLRSAweDAwMDgwMDAwCiAjZGVmaW5lIFBDSV9FWFBfREVWQ1RMMiA0MAogI2RlZmluZSBQQ0lfRVhQX0RFVkNUTDJfQ09NUF9USU1FT1VUIDB4MDAwZgotI2RlZmluZSBQQ0lfRVhQX0RFVkNUTDJfQVJJIDB4MDAyMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYUF9ERVZDVEwyX0FSSSAweDAwMjAKICNkZWZpbmUgUENJX0VYUF9ERVZDVEwyX0lET19SRVFfRU4gMHgwMTAwCiAjZGVmaW5lIFBDSV9FWFBfREVWQ1RMMl9JRE9fQ01QX0VOIDB4MDIwMAogI2RlZmluZSBQQ0lfRVhQX0RFVkNUTDJfTFRSX0VOIDB4MDQwMAotI2RlZmluZSBQQ0lfRVhQX0RFVkNUTDJfT0JGRl9NU0dBX0VOIDB4MjAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYUF9ERVZDVEwyX09CRkZfTVNHQV9FTiAweDIwMDAKICNkZWZpbmUgUENJX0VYUF9ERVZDVEwyX09CRkZfTVNHQl9FTiAweDQwMDAKICNkZWZpbmUgUENJX0VYUF9ERVZDVEwyX09CRkZfV0FLRV9FTiAweDYwMDAKICNkZWZpbmUgUENJX0VYUF9ERVZTVEEyIDQyCi0jZGVmaW5lIFBDSV9DQVBfRVhQX0VORFBPSU5UX1NJWkVPRl9WMiA0NAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0NBUF9FWFBfRU5EUE9JTlRfU0laRU9GX1YyIDQ0CiAjZGVmaW5lIFBDSV9FWFBfTE5LQ0FQMiA0NAogI2RlZmluZSBQQ0lfRVhQX0xOS0NBUDJfU0xTXzJfNUdCIDB4MDAwMDAwMDIKICNkZWZpbmUgUENJX0VYUF9MTktDQVAyX1NMU181XzBHQiAweDAwMDAwMDA0Ci0jZGVmaW5lIFBDSV9FWFBfTE5LQ0FQMl9TTFNfOF8wR0IgMHgwMDAwMDAwOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYUF9MTktDQVAyX1NMU184XzBHQiAweDAwMDAwMDA4CiAjZGVmaW5lIFBDSV9FWFBfTE5LQ0FQMl9DUk9TU0xJTksgMHgwMDAwMDEwMAogI2RlZmluZSBQQ0lfRVhQX0xOS0NUTDIgNDgKICNkZWZpbmUgUENJX0VYUF9MTktTVEEyIDUwCi0jZGVmaW5lIFBDSV9FWFBfU0xUQ0FQMiA1MgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYUF9TTFRDQVAyIDUyCiAjZGVmaW5lIFBDSV9FWFBfU0xUQ1RMMiA1NgogI2RlZmluZSBQQ0lfRVhQX1NMVFNUQTIgNTgKICNkZWZpbmUgUENJX0VYVF9DQVBfSUQoaGVhZGVyKSAoaGVhZGVyICYgMHgwMDAwZmZmZikKLSNkZWZpbmUgUENJX0VYVF9DQVBfVkVSKGhlYWRlcikgKChoZWFkZXIgPj4gMTYpICYgMHhmKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYVF9DQVBfVkVSKGhlYWRlcikgKChoZWFkZXIgPj4gMTYpICYgMHhmKQogI2RlZmluZSBQQ0lfRVhUX0NBUF9ORVhUKGhlYWRlcikgKChoZWFkZXIgPj4gMjApICYgMHhmZmMpCiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX0VSUiAweDAxCiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1ZDIDB4MDIKLSNkZWZpbmUgUENJX0VYVF9DQVBfSURfRFNOIDB4MDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX0RTTiAweDAzCiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1BXUiAweDA0CiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1JDTEQgMHgwNQogI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9SQ0lMQyAweDA2Ci0jZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1JDRUMgMHgwNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYVF9DQVBfSURfUkNFQyAweDA3CiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX01GVkMgMHgwOAogI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9WQzkgMHgwOQogI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9SQ1JCIDB4MEEKLSNkZWZpbmUgUENJX0VYVF9DQVBfSURfVk5EUiAweDBCCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9WTkRSIDB4MEIKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfQ0FDIDB4MEMKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfQUNTIDB4MEQKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfQVJJIDB4MEUKLSNkZWZpbmUgUENJX0VYVF9DQVBfSURfQVRTIDB4MEYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX0FUUyAweDBGCiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1NSSU9WIDB4MTAKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfTVJJT1YgMHgxMQogI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9NQ0FTVCAweDEyCi0jZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1BSSSAweDEzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9QUkkgMHgxMwogI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9BTURfWFhYIDB4MTQKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfUkVCQVIgMHgxNQogI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9EUEEgMHgxNgotI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9UUEggMHgxNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VYVF9DQVBfSURfVFBIIDB4MTcKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfTFRSIDB4MTgKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfU0VDUENJIDB4MTkKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfUE1VWCAweDFBCi0jZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1BBU0lEIDB4MUIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX1BBU0lEIDB4MUIKICNkZWZpbmUgUENJX0VYVF9DQVBfSURfTUFYIFBDSV9FWFRfQ0FQX0lEX1BBU0lECiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0RTTl9TSVpFT0YgMTIKICNkZWZpbmUgUENJX0VYVF9DQVBfTUNBU1RfRU5EUE9JTlRfU0laRU9GIDQwCi0jZGVmaW5lIFBDSV9FUlJfVU5DT1JfU1RBVFVTIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBDSV9FUlJfVU5DX1RSQUlOIDB4MDAwMDAwMDEKKyNkZWZpbmUgUENJX0VSUl9VTkNPUl9TVEFUVVMgNAorI2RlZmluZSBQQ0lfRVJSX1VOQ19VTkQgMHgwMDAwMDAwMQogI2RlZmluZSBQQ0lfRVJSX1VOQ19ETFAgMHgwMDAwMDAxMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19TVVJQRE4gMHgwMDAwMDAyMAotI2RlZmluZSBQQ0lfRVJSX1VOQ19QT0lTT05fVExQIDB4MDAwMDEwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9FUlJfVU5DX1BPSVNPTl9UTFAgMHgwMDAwMTAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19GQ1AgMHgwMDAwMjAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19DT01QX1RJTUUgMHgwMDAwNDAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19DT01QX0FCT1JUIDB4MDAwMDgwMDAKLSNkZWZpbmUgUENJX0VSUl9VTkNfVU5YX0NPTVAgMHgwMDAxMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VSUl9VTkNfVU5YX0NPTVAgMHgwMDAxMDAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19SWF9PVkVSIDB4MDAwMjAwMDAKICNkZWZpbmUgUENJX0VSUl9VTkNfTUFMRl9UTFAgMHgwMDA0MDAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19FQ1JDIDB4MDAwODAwMDAKLSNkZWZpbmUgUENJX0VSUl9VTkNfVU5TVVAgMHgwMDEwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VSUl9VTkNfVU5TVVAgMHgwMDEwMDAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19BQ1NWIDB4MDAyMDAwMDAKICNkZWZpbmUgUENJX0VSUl9VTkNfSU5UTiAweDAwNDAwMDAwCiAjZGVmaW5lIFBDSV9FUlJfVU5DX01DQlRMUCAweDAwODAwMDAwCi0jZGVmaW5lIFBDSV9FUlJfVU5DX0FUT01FRyAweDAxMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfRVJSX1VOQ19BVE9NRUcgMHgwMTAwMDAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ19UTFBQUkUgMHgwMjAwMDAwMAogI2RlZmluZSBQQ0lfRVJSX1VOQ09SX01BU0sgOAogI2RlZmluZSBQQ0lfRVJSX1VOQ09SX1NFVkVSIDEyCi0jZGVmaW5lIFBDSV9FUlJfQ09SX1NUQVRVUyAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VSUl9DT1JfU1RBVFVTIDE2CiAjZGVmaW5lIFBDSV9FUlJfQ09SX1JDVlIgMHgwMDAwMDAwMQogI2RlZmluZSBQQ0lfRVJSX0NPUl9CQURfVExQIDB4MDAwMDAwNDAKICNkZWZpbmUgUENJX0VSUl9DT1JfQkFEX0RMTFAgMHgwMDAwMDA4MAotI2RlZmluZSBQQ0lfRVJSX0NPUl9SRVBfUk9MTCAweDAwMDAwMTAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfRVJSX0NPUl9SRVBfUk9MTCAweDAwMDAwMTAwCiAjZGVmaW5lIFBDSV9FUlJfQ09SX1JFUF9USU1FUiAweDAwMDAxMDAwCiAjZGVmaW5lIFBDSV9FUlJfQ09SX0FEVl9ORkFUIDB4MDAwMDIwMDAKICNkZWZpbmUgUENJX0VSUl9DT1JfSU5URVJOQUwgMHgwMDAwNDAwMAotI2RlZmluZSBQQ0lfRVJSX0NPUl9MT0dfT1ZFUiAweDAwMDA4MDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfRVJSX0NPUl9MT0dfT1ZFUiAweDAwMDA4MDAwCiAjZGVmaW5lIFBDSV9FUlJfQ09SX01BU0sgMjAKICNkZWZpbmUgUENJX0VSUl9DQVAgMjQKICNkZWZpbmUgUENJX0VSUl9DQVBfRkVQKHgpICgoeCkgJiAzMSkKLSNkZWZpbmUgUENJX0VSUl9DQVBfRUNSQ19HRU5DIDB4MDAwMDAwMjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9FUlJfQ0FQX0VDUkNfR0VOQyAweDAwMDAwMDIwCiAjZGVmaW5lIFBDSV9FUlJfQ0FQX0VDUkNfR0VORSAweDAwMDAwMDQwCiAjZGVmaW5lIFBDSV9FUlJfQ0FQX0VDUkNfQ0hLQyAweDAwMDAwMDgwCiAjZGVmaW5lIFBDSV9FUlJfQ0FQX0VDUkNfQ0hLRSAweDAwMDAwMTAwCi0jZGVmaW5lIFBDSV9FUlJfSEVBREVSX0xPRyAyOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VSUl9IRUFERVJfTE9HIDI4CiAjZGVmaW5lIFBDSV9FUlJfUk9PVF9DT01NQU5EIDQ0CiAjZGVmaW5lIFBDSV9FUlJfUk9PVF9DTURfQ09SX0VOIDB4MDAwMDAwMDEKICNkZWZpbmUgUENJX0VSUl9ST09UX0NNRF9OT05GQVRBTF9FTiAweDAwMDAwMDAyCi0jZGVmaW5lIFBDSV9FUlJfUk9PVF9DTURfRkFUQUxfRU4gMHgwMDAwMDAwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VSUl9ST09UX0NNRF9GQVRBTF9FTiAweDAwMDAwMDA0CiAjZGVmaW5lIFBDSV9FUlJfUk9PVF9TVEFUVVMgNDgKICNkZWZpbmUgUENJX0VSUl9ST09UX0NPUl9SQ1YgMHgwMDAwMDAwMQogI2RlZmluZSBQQ0lfRVJSX1JPT1RfTVVMVElfQ09SX1JDViAweDAwMDAwMDAyCi0jZGVmaW5lIFBDSV9FUlJfUk9PVF9VTkNPUl9SQ1YgMHgwMDAwMDAwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0VSUl9ST09UX1VOQ09SX1JDViAweDAwMDAwMDA0CiAjZGVmaW5lIFBDSV9FUlJfUk9PVF9NVUxUSV9VTkNPUl9SQ1YgMHgwMDAwMDAwOAogI2RlZmluZSBQQ0lfRVJSX1JPT1RfRklSU1RfRkFUQUwgMHgwMDAwMDAxMAogI2RlZmluZSBQQ0lfRVJSX1JPT1RfTk9ORkFUQUxfUkNWIDB4MDAwMDAwMjAKLSNkZWZpbmUgUENJX0VSUl9ST09UX0ZBVEFMX1JDViAweDAwMDAwMDQwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfRVJSX1JPT1RfRkFUQUxfUkNWIDB4MDAwMDAwNDAKICNkZWZpbmUgUENJX0VSUl9ST09UX0VSUl9TUkMgNTIKICNkZWZpbmUgUENJX1ZDX1BPUlRfQ0FQMSA0CiAjZGVmaW5lIFBDSV9WQ19DQVAxX0VWQ0MgMHgwMDAwMDAwNwotI2RlZmluZSBQQ0lfVkNfQ0FQMV9MUEVWQ0MgMHgwMDAwMDA3MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1ZDX0NBUDFfTFBFVkNDIDB4MDAwMDAwNzAKICNkZWZpbmUgUENJX1ZDX0NBUDFfQVJCX1NJWkUgMHgwMDAwMGMwMAogI2RlZmluZSBQQ0lfVkNfUE9SVF9DQVAyIDgKICNkZWZpbmUgUENJX1ZDX0NBUDJfMzJfUEhBU0UgMHgwMDAwMDAwMgotI2RlZmluZSBQQ0lfVkNfQ0FQMl82NF9QSEFTRSAweDAwMDAwMDA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfVkNfQ0FQMl82NF9QSEFTRSAweDAwMDAwMDA0CiAjZGVmaW5lIFBDSV9WQ19DQVAyXzEyOF9QSEFTRSAweDAwMDAwMDA4CiAjZGVmaW5lIFBDSV9WQ19DQVAyX0FSQl9PRkYgMHhmZjAwMDAwMAogI2RlZmluZSBQQ0lfVkNfUE9SVF9DVFJMIDEyCi0jZGVmaW5lIFBDSV9WQ19QT1JUX0NUUkxfTE9BRF9UQUJMRSAweDAwMDAwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfVkNfUE9SVF9DVFJMX0xPQURfVEFCTEUgMHgwMDAwMDAwMQogI2RlZmluZSBQQ0lfVkNfUE9SVF9TVEFUVVMgMTQKICNkZWZpbmUgUENJX1ZDX1BPUlRfU1RBVFVTX1RBQkxFIDB4MDAwMDAwMDEKICNkZWZpbmUgUENJX1ZDX1JFU19DQVAgMTYKLSNkZWZpbmUgUENJX1ZDX1JFU19DQVBfMzJfUEhBU0UgMHgwMDAwMDAwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1ZDX1JFU19DQVBfMzJfUEhBU0UgMHgwMDAwMDAwMgogI2RlZmluZSBQQ0lfVkNfUkVTX0NBUF82NF9QSEFTRSAweDAwMDAwMDA0CiAjZGVmaW5lIFBDSV9WQ19SRVNfQ0FQXzEyOF9QSEFTRSAweDAwMDAwMDA4CiAjZGVmaW5lIFBDSV9WQ19SRVNfQ0FQXzEyOF9QSEFTRV9UQiAweDAwMDAwMDEwCi0jZGVmaW5lIFBDSV9WQ19SRVNfQ0FQXzI1Nl9QSEFTRSAweDAwMDAwMDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfVkNfUkVTX0NBUF8yNTZfUEhBU0UgMHgwMDAwMDAyMAogI2RlZmluZSBQQ0lfVkNfUkVTX0NBUF9BUkJfT0ZGIDB4ZmYwMDAwMDAKICNkZWZpbmUgUENJX1ZDX1JFU19DVFJMIDIwCiAjZGVmaW5lIFBDSV9WQ19SRVNfQ1RSTF9MT0FEX1RBQkxFIDB4MDAwMTAwMDAKLSNkZWZpbmUgUENJX1ZDX1JFU19DVFJMX0FSQl9TRUxFQ1QgMHgwMDBlMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1ZDX1JFU19DVFJMX0FSQl9TRUxFQ1QgMHgwMDBlMDAwMAogI2RlZmluZSBQQ0lfVkNfUkVTX0NUUkxfSUQgMHgwNzAwMDAwMAogI2RlZmluZSBQQ0lfVkNfUkVTX0NUUkxfRU5BQkxFIDB4ODAwMDAwMDAKICNkZWZpbmUgUENJX1ZDX1JFU19TVEFUVVMgMjYKLSNkZWZpbmUgUENJX1ZDX1JFU19TVEFUVVNfVEFCTEUgMHgwMDAwMDAwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1ZDX1JFU19TVEFUVVNfVEFCTEUgMHgwMDAwMDAwMQogI2RlZmluZSBQQ0lfVkNfUkVTX1NUQVRVU19ORUdPIDB4MDAwMDAwMDIKICNkZWZpbmUgUENJX0NBUF9WQ19CQVNFX1NJWkVPRiAweDEwCiAjZGVmaW5lIFBDSV9DQVBfVkNfUEVSX1ZDX1NJWkVPRiAweDBDCi0jZGVmaW5lIFBDSV9QV1JfRFNSIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9QV1JfRFNSIDQKICNkZWZpbmUgUENJX1BXUl9EQVRBIDgKICNkZWZpbmUgUENJX1BXUl9EQVRBX0JBU0UoeCkgKCh4KSAmIDB4ZmYpCiAjZGVmaW5lIFBDSV9QV1JfREFUQV9TQ0FMRSh4KSAoKCh4KSA+PiA4KSAmIDMpCi0jZGVmaW5lIFBDSV9QV1JfREFUQV9QTV9TVUIoeCkgKCgoeCkgPj4gMTApICYgNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9QV1JfREFUQV9QTV9TVUIoeCkgKCgoeCkgPj4gMTApICYgNykKICNkZWZpbmUgUENJX1BXUl9EQVRBX1BNX1NUQVRFKHgpICgoKHgpID4+IDEzKSAmIDMpCiAjZGVmaW5lIFBDSV9QV1JfREFUQV9UWVBFKHgpICgoKHgpID4+IDE1KSAmIDcpCiAjZGVmaW5lIFBDSV9QV1JfREFUQV9SQUlMKHgpICgoKHgpID4+IDE4KSAmIDcpCi0jZGVmaW5lIFBDSV9QV1JfQ0FQIDEyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfUFdSX0NBUCAxMgogI2RlZmluZSBQQ0lfUFdSX0NBUF9CVURHRVQoeCkgKCh4KSAmIDEpCiAjZGVmaW5lIFBDSV9FWFRfQ0FQX1BXUl9TSVpFT0YgMTYKICNkZWZpbmUgUENJX1ZORFJfSEVBREVSIDQKLSNkZWZpbmUgUENJX1ZORFJfSEVBREVSX0lEKHgpICgoeCkgJiAweGZmZmYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfVk5EUl9IRUFERVJfSUQoeCkgKCh4KSAmIDB4ZmZmZikKICNkZWZpbmUgUENJX1ZORFJfSEVBREVSX1JFVih4KSAoKCh4KSA+PiAxNikgJiAweGYpCiAjZGVmaW5lIFBDSV9WTkRSX0hFQURFUl9MRU4oeCkgKCgoeCkgPj4gMjApICYgMHhmZmYpCiAjZGVmaW5lIEhUXzNCSVRfQ0FQX01BU0sgMHhFMAotI2RlZmluZSBIVF9DQVBUWVBFX1NMQVZFIDB4MDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEhUX0NBUFRZUEVfU0xBVkUgMHgwMAogI2RlZmluZSBIVF9DQVBUWVBFX0hPU1QgMHgyMAogI2RlZmluZSBIVF81QklUX0NBUF9NQVNLIDB4RjgKICNkZWZpbmUgSFRfQ0FQVFlQRV9JUlEgMHg4MAotI2RlZmluZSBIVF9DQVBUWVBFX1JFTUFQUElOR180MCAweEEwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBIVF9DQVBUWVBFX1JFTUFQUElOR180MCAweEEwCiAjZGVmaW5lIEhUX0NBUFRZUEVfUkVNQVBQSU5HXzY0IDB4QTIKICNkZWZpbmUgSFRfQ0FQVFlQRV9VTklUSURfQ0xVTVAgMHg5MAogI2RlZmluZSBIVF9DQVBUWVBFX0VYVENPTkYgMHg5OAotI2RlZmluZSBIVF9DQVBUWVBFX01TSV9NQVBQSU5HIDB4QTgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIEhUX0NBUFRZUEVfTVNJX01BUFBJTkcgMHhBOAogI2RlZmluZSBIVF9NU0lfRkxBR1MgMHgwMgogI2RlZmluZSBIVF9NU0lfRkxBR1NfRU5BQkxFIDB4MQogI2RlZmluZSBIVF9NU0lfRkxBR1NfRklYRUQgMHgyCi0jZGVmaW5lIEhUX01TSV9GSVhFRF9BRERSIDB4MDAwMDAwMDBGRUUwMDAwMFVMTAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSFRfTVNJX0ZJWEVEX0FERFIgMHgwMDAwMDAwMEZFRTAwMDAwVUxMCiAjZGVmaW5lIEhUX01TSV9BRERSX0xPIDB4MDQKICNkZWZpbmUgSFRfTVNJX0FERFJfTE9fTUFTSyAweEZGRjAwMDAwCiAjZGVmaW5lIEhUX01TSV9BRERSX0hJIDB4MDgKLSNkZWZpbmUgSFRfQ0FQVFlQRV9ESVJFQ1RfUk9VVEUgMHhCMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSFRfQ0FQVFlQRV9ESVJFQ1RfUk9VVEUgMHhCMAogI2RlZmluZSBIVF9DQVBUWVBFX1ZDU0VUIDB4QjgKICNkZWZpbmUgSFRfQ0FQVFlQRV9FUlJPUl9SRVRSWSAweEMwCiAjZGVmaW5lIEhUX0NBUFRZUEVfR0VOMyAweEQwCi0jZGVmaW5lIEhUX0NBUFRZUEVfUE0gMHhFMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSFRfQ0FQVFlQRV9QTSAweEUwCiAjZGVmaW5lIEhUX0NBUF9TSVpFT0ZfTE9ORyAyOAogI2RlZmluZSBIVF9DQVBfU0laRU9GX1NIT1JUIDI0CiAjZGVmaW5lIFBDSV9BUklfQ0FQIDB4MDQKLSNkZWZpbmUgUENJX0FSSV9DQVBfTUZWQyAweDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9BUklfQ0FQX01GVkMgMHgwMDAxCiAjZGVmaW5lIFBDSV9BUklfQ0FQX0FDUyAweDAwMDIKICNkZWZpbmUgUENJX0FSSV9DQVBfTkZOKHgpICgoKHgpID4+IDgpICYgMHhmZikKICNkZWZpbmUgUENJX0FSSV9DVFJMIDB4MDYKLSNkZWZpbmUgUENJX0FSSV9DVFJMX01GVkMgMHgwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfQVJJX0NUUkxfTUZWQyAweDAwMDEKICNkZWZpbmUgUENJX0FSSV9DVFJMX0FDUyAweDAwMDIKICNkZWZpbmUgUENJX0FSSV9DVFJMX0ZHKHgpICgoKHgpID4+IDQpICYgNykKICNkZWZpbmUgUENJX0VYVF9DQVBfQVJJX1NJWkVPRiA4Ci0jZGVmaW5lIFBDSV9BVFNfQ0FQIDB4MDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9BVFNfQ0FQIDB4MDQKICNkZWZpbmUgUENJX0FUU19DQVBfUURFUCh4KSAoKHgpICYgMHgxZikKICNkZWZpbmUgUENJX0FUU19NQVhfUURFUCAzMgogI2RlZmluZSBQQ0lfQVRTX0NUUkwgMHgwNgotI2RlZmluZSBQQ0lfQVRTX0NUUkxfRU5BQkxFIDB4ODAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0FUU19DVFJMX0VOQUJMRSAweDgwMDAKICNkZWZpbmUgUENJX0FUU19DVFJMX1NUVSh4KSAoKHgpICYgMHgxZikKICNkZWZpbmUgUENJX0FUU19NSU5fU1RVIDEyCiAjZGVmaW5lIFBDSV9FWFRfQ0FQX0FUU19TSVpFT0YgOAotI2RlZmluZSBQQ0lfUFJJX0NUUkwgMHgwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1BSSV9DVFJMIDB4MDQKICNkZWZpbmUgUENJX1BSSV9DVFJMX0VOQUJMRSAweDAxCiAjZGVmaW5lIFBDSV9QUklfQ1RSTF9SRVNFVCAweDAyCiAjZGVmaW5lIFBDSV9QUklfU1RBVFVTIDB4MDYKLSNkZWZpbmUgUENJX1BSSV9TVEFUVVNfUkYgMHgwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9QUklfU1RBVFVTX1JGIDB4MDAxCiAjZGVmaW5lIFBDSV9QUklfU1RBVFVTX1VQUkdJIDB4MDAyCiAjZGVmaW5lIFBDSV9QUklfU1RBVFVTX1NUT1BQRUQgMHgxMDAKICNkZWZpbmUgUENJX1BSSV9NQVhfUkVRIDB4MDgKLSNkZWZpbmUgUENJX1BSSV9BTExPQ19SRVEgMHgwYwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1BSSV9BTExPQ19SRVEgMHgwYwogI2RlZmluZSBQQ0lfRVhUX0NBUF9QUklfU0laRU9GIDE2CiAjZGVmaW5lIFBDSV9QQVNJRF9DQVAgMHgwNAogI2RlZmluZSBQQ0lfUEFTSURfQ0FQX0VYRUMgMHgwMgotI2RlZmluZSBQQ0lfUEFTSURfQ0FQX1BSSVYgMHgwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1BBU0lEX0NBUF9QUklWIDB4MDQKICNkZWZpbmUgUENJX1BBU0lEX0NUUkwgMHgwNgogI2RlZmluZSBQQ0lfUEFTSURfQ1RSTF9FTkFCTEUgMHgwMQogI2RlZmluZSBQQ0lfUEFTSURfQ1RSTF9FWEVDIDB4MDIKLSNkZWZpbmUgUENJX1BBU0lEX0NUUkxfUFJJViAweDA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfUEFTSURfQ1RSTF9QUklWIDB4MDQKICNkZWZpbmUgUENJX0VYVF9DQVBfUEFTSURfU0laRU9GIDgKICNkZWZpbmUgUENJX1NSSU9WX0NBUCAweDA0CiAjZGVmaW5lIFBDSV9TUklPVl9DQVBfVkZNIDB4MDEKLSNkZWZpbmUgUENJX1NSSU9WX0NBUF9JTlRSKHgpICgoeCkgPj4gMjEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfU1JJT1ZfQ0FQX0lOVFIoeCkgKCh4KSA+PiAyMSkKICNkZWZpbmUgUENJX1NSSU9WX0NUUkwgMHgwOAogI2RlZmluZSBQQ0lfU1JJT1ZfQ1RSTF9WRkUgMHgwMQogI2RlZmluZSBQQ0lfU1JJT1ZfQ1RSTF9WRk0gMHgwMgotI2RlZmluZSBQQ0lfU1JJT1ZfQ1RSTF9JTlRSIDB4MDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9TUklPVl9DVFJMX0lOVFIgMHgwNAogI2RlZmluZSBQQ0lfU1JJT1ZfQ1RSTF9NU0UgMHgwOAogI2RlZmluZSBQQ0lfU1JJT1ZfQ1RSTF9BUkkgMHgxMAogI2RlZmluZSBQQ0lfU1JJT1ZfU1RBVFVTIDB4MGEKLSNkZWZpbmUgUENJX1NSSU9WX1NUQVRVU19WRk0gMHgwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1NSSU9WX1NUQVRVU19WRk0gMHgwMQogI2RlZmluZSBQQ0lfU1JJT1ZfSU5JVElBTF9WRiAweDBjCiAjZGVmaW5lIFBDSV9TUklPVl9UT1RBTF9WRiAweDBlCiAjZGVmaW5lIFBDSV9TUklPVl9OVU1fVkYgMHgxMAotI2RlZmluZSBQQ0lfU1JJT1ZfRlVOQ19MSU5LIDB4MTIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9TUklPVl9GVU5DX0xJTksgMHgxMgogI2RlZmluZSBQQ0lfU1JJT1ZfVkZfT0ZGU0VUIDB4MTQKICNkZWZpbmUgUENJX1NSSU9WX1ZGX1NUUklERSAweDE2CiAjZGVmaW5lIFBDSV9TUklPVl9WRl9ESUQgMHgxYQotI2RlZmluZSBQQ0lfU1JJT1ZfU1VQX1BHU0laRSAweDFjCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfU1JJT1ZfU1VQX1BHU0laRSAweDFjCiAjZGVmaW5lIFBDSV9TUklPVl9TWVNfUEdTSVpFIDB4MjAKICNkZWZpbmUgUENJX1NSSU9WX0JBUiAweDI0CiAjZGVmaW5lIFBDSV9TUklPVl9OVU1fQkFSUyA2Ci0jZGVmaW5lIFBDSV9TUklPVl9WRk0gMHgzYwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1NSSU9WX1ZGTSAweDNjCiAjZGVmaW5lIFBDSV9TUklPVl9WRk1fQklSKHgpICgoeCkgJiA3KQogI2RlZmluZSBQQ0lfU1JJT1ZfVkZNX09GRlNFVCh4KSAoKHgpICYgfjcpCiAjZGVmaW5lIFBDSV9TUklPVl9WRk1fVUEgMHgwCi0jZGVmaW5lIFBDSV9TUklPVl9WRk1fTUkgMHgxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfU1JJT1ZfVkZNX01JIDB4MQogI2RlZmluZSBQQ0lfU1JJT1ZfVkZNX01PIDB4MgogI2RlZmluZSBQQ0lfU1JJT1ZfVkZNX0FWIDB4MwogI2RlZmluZSBQQ0lfRVhUX0NBUF9TUklPVl9TSVpFT0YgNjQKLSNkZWZpbmUgUENJX0xUUl9NQVhfU05PT1BfTEFUIDB4NAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0xUUl9NQVhfU05PT1BfTEFUIDB4NAogI2RlZmluZSBQQ0lfTFRSX01BWF9OT1NOT09QX0xBVCAweDYKICNkZWZpbmUgUENJX0xUUl9WQUxVRV9NQVNLIDB4MDAwMDAzZmYKICNkZWZpbmUgUENJX0xUUl9TQ0FMRV9NQVNLIDB4MDAwMDFjMDAKLSNkZWZpbmUgUENJX0xUUl9TQ0FMRV9TSElGVCAxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0xUUl9TQ0FMRV9TSElGVCAxMAogI2RlZmluZSBQQ0lfRVhUX0NBUF9MVFJfU0laRU9GIDgKICNkZWZpbmUgUENJX0FDU19DQVAgMHgwNAogI2RlZmluZSBQQ0lfQUNTX1NWIDB4MDEKLSNkZWZpbmUgUENJX0FDU19UQiAweDAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfQUNTX1RCIDB4MDIKICNkZWZpbmUgUENJX0FDU19SUiAweDA0CiAjZGVmaW5lIFBDSV9BQ1NfQ1IgMHgwOAogI2RlZmluZSBQQ0lfQUNTX1VGIDB4MTAKLSNkZWZpbmUgUENJX0FDU19FQyAweDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfQUNTX0VDIDB4MjAKICNkZWZpbmUgUENJX0FDU19EVCAweDQwCiAjZGVmaW5lIFBDSV9BQ1NfRUdSRVNTX0JJVFMgMHgwNQogI2RlZmluZSBQQ0lfQUNTX0NUUkwgMHgwNgotI2RlZmluZSBQQ0lfQUNTX0VHUkVTU19DVExfViAweDA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfQUNTX0VHUkVTU19DVExfViAweDA4CiAjZGVmaW5lIFBDSV9WU0VDX0hEUiA0CiAjZGVmaW5lIFBDSV9WU0VDX0hEUl9MRU5fU0hJRlQgMjAKICNkZWZpbmUgUENJX1NBVEFfUkVHUyA0Ci0jZGVmaW5lIFBDSV9TQVRBX1JFR1NfTUFTSyAweEYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9TQVRBX1JFR1NfTUFTSyAweEYKICNkZWZpbmUgUENJX1NBVEFfUkVHU19JTkxJTkUgMHhGCiAjZGVmaW5lIFBDSV9TQVRBX1NJWkVPRl9TSE9SVCA4CiAjZGVmaW5lIFBDSV9TQVRBX1NJWkVPRl9MT05HIDE2Ci0jZGVmaW5lIFBDSV9SRUJBUl9DVFJMIDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBDSV9SRUJBUl9DVFJMIDgKICNkZWZpbmUgUENJX1JFQkFSX0NUUkxfTkJBUl9NQVNLICg3IDw8IDUpCiAjZGVmaW5lIFBDSV9SRUJBUl9DVFJMX05CQVJfU0hJRlQgNQogI2RlZmluZSBQQ0lfRFBBX0NBUCA0Ci0jZGVmaW5lIFBDSV9EUEFfQ0FQX1NVQlNUQVRFX01BU0sgMHgxRgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX0RQQV9DQVBfU1VCU1RBVEVfTUFTSyAweDFGCiAjZGVmaW5lIFBDSV9EUEFfQkFTRV9TSVpFT0YgMTYKICNkZWZpbmUgUENJX1RQSF9DQVAgNAogI2RlZmluZSBQQ0lfVFBIX0NBUF9MT0NfTUFTSyAweDYwMAotI2RlZmluZSBQQ0lfVFBIX0xPQ19OT05FIDB4MDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQQ0lfVFBIX0xPQ19OT05FIDB4MDAwCiAjZGVmaW5lIFBDSV9UUEhfTE9DX0NBUCAweDIwMAogI2RlZmluZSBQQ0lfVFBIX0xPQ19NU0lYIDB4NDAwCiAjZGVmaW5lIFBDSV9UUEhfQ0FQX1NUX01BU0sgMHgwN0ZGMDAwMAotI2RlZmluZSBQQ0lfVFBIX0NBUF9TVF9TSElGVCAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUENJX1RQSF9DQVBfU1RfU0hJRlQgMTYKICNkZWZpbmUgUENJX1RQSF9CQVNFX1NJWkVPRiAxMgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BlcmZfZXZlbnQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGVyZl9ldmVudC5oCmluZGV4IDU5MjJjYmUuLmNjZWZhNzQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGVyZl9ldmVudC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGVyZl9ldmVudC5oCkBAIC0yMywzOTYgKzIzLDM1MiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiBlbnVtIHBlcmZfdHlwZV9pZCB7Ci0gUEVSRl9UWVBFX0hBUkRXQVJFID0gMCwKLSBQRVJGX1RZUEVfU09GVFdBUkUgPSAxLAorICBQRVJGX1RZUEVfSEFSRFdBUkUgPSAwLAorICBQRVJGX1RZUEVfU09GVFdBUkUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1RZUEVfVFJBQ0VQT0lOVCA9IDIsCi0gUEVSRl9UWVBFX0hXX0NBQ0hFID0gMywKLSBQRVJGX1RZUEVfUkFXID0gNCwKLSBQRVJGX1RZUEVfQlJFQUtQT0lOVCA9IDUsCisgIFBFUkZfVFlQRV9UUkFDRVBPSU5UID0gMiwKKyAgUEVSRl9UWVBFX0hXX0NBQ0hFID0gMywKKyAgUEVSRl9UWVBFX1JBVyA9IDQsCisgIFBFUkZfVFlQRV9CUkVBS1BPSU5UID0gNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9UWVBFX01BWCwKKyAgUEVSRl9UWVBFX01BWCwKIH07CiBlbnVtIHBlcmZfaHdfaWQgewotIFBFUkZfQ09VTlRfSFdfQ1BVX0NZQ0xFUyA9IDAsCisgIFBFUkZfQ09VTlRfSFdfQ1BVX0NZQ0xFUyA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfQ09VTlRfSFdfSU5TVFJVQ1RJT05TID0gMSwKLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX1JFRkVSRU5DRVMgPSAyLAotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTUlTU0VTID0gMywKLSBQRVJGX0NPVU5UX0hXX0JSQU5DSF9JTlNUUlVDVElPTlMgPSA0LAorICBQRVJGX0NPVU5UX0hXX0lOU1RSVUNUSU9OUyA9IDEsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfUkVGRVJFTkNFUyA9IDIsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTUlTU0VTID0gMywKKyAgUEVSRl9DT1VOVF9IV19CUkFOQ0hfSU5TVFJVQ1RJT05TID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9DT1VOVF9IV19CUkFOQ0hfTUlTU0VTID0gNSwKLSBQRVJGX0NPVU5UX0hXX0JVU19DWUNMRVMgPSA2LAotIFBFUkZfQ09VTlRfSFdfU1RBTExFRF9DWUNMRVNfRlJPTlRFTkQgPSA3LAotIFBFUkZfQ09VTlRfSFdfU1RBTExFRF9DWUNMRVNfQkFDS0VORCA9IDgsCisgIFBFUkZfQ09VTlRfSFdfQlJBTkNIX01JU1NFUyA9IDUsCisgIFBFUkZfQ09VTlRfSFdfQlVTX0NZQ0xFUyA9IDYsCisgIFBFUkZfQ09VTlRfSFdfU1RBTExFRF9DWUNMRVNfRlJPTlRFTkQgPSA3LAorICBQRVJGX0NPVU5UX0hXX1NUQUxMRURfQ1lDTEVTX0JBQ0tFTkQgPSA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPVU5UX0hXX1JFRl9DUFVfQ1lDTEVTID0gOSwKLSBQRVJGX0NPVU5UX0hXX01BWCwKKyAgUEVSRl9DT1VOVF9IV19SRUZfQ1BVX0NZQ0xFUyA9IDksCisgIFBFUkZfQ09VTlRfSFdfTUFYLAogfTsKIGVudW0gcGVyZl9od19jYWNoZV9pZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTDFEID0gMCwKLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX0wxSSA9IDEsCi0gUEVSRl9DT1VOVF9IV19DQUNIRV9MTCA9IDIsCi0gUEVSRl9DT1VOVF9IV19DQUNIRV9EVExCID0gMywKKyAgUEVSRl9DT1VOVF9IV19DQUNIRV9MMUQgPSAwLAorICBQRVJGX0NPVU5UX0hXX0NBQ0hFX0wxSSA9IDEsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTEwgPSAyLAorICBQRVJGX0NPVU5UX0hXX0NBQ0hFX0RUTEIgPSAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX0lUTEIgPSA0LAotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfQlBVID0gNSwKLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX05PREUgPSA2LAotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTUFYLAorICBQRVJGX0NPVU5UX0hXX0NBQ0hFX0lUTEIgPSA0LAorICBQRVJGX0NPVU5UX0hXX0NBQ0hFX0JQVSA9IDUsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTk9ERSA9IDYsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHBlcmZfaHdfY2FjaGVfb3BfaWQgewotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfT1BfUkVBRCA9IDAsCi0gUEVSRl9DT1VOVF9IV19DQUNIRV9PUF9XUklURSA9IDEsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfT1BfUkVBRCA9IDAsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfT1BfV1JJVEUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX09QX1BSRUZFVENIID0gMiwKLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX09QX01BWCwKKyAgUEVSRl9DT1VOVF9IV19DQUNIRV9PUF9QUkVGRVRDSCA9IDIsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfT1BfTUFYLAogfTsKIGVudW0gcGVyZl9od19jYWNoZV9vcF9yZXN1bHRfaWQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPVU5UX0hXX0NBQ0hFX1JFU1VMVF9BQ0NFU1MgPSAwLAotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfUkVTVUxUX01JU1MgPSAxLAotIFBFUkZfQ09VTlRfSFdfQ0FDSEVfUkVTVUxUX01BWCwKKyAgUEVSRl9DT1VOVF9IV19DQUNIRV9SRVNVTFRfQUNDRVNTID0gMCwKKyAgUEVSRl9DT1VOVF9IV19DQUNIRV9SRVNVTFRfTUlTUyA9IDEsCisgIFBFUkZfQ09VTlRfSFdfQ0FDSEVfUkVTVUxUX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBwZXJmX3N3X2lkcyB7Ci0gUEVSRl9DT1VOVF9TV19DUFVfQ0xPQ0sgPSAwLAotIFBFUkZfQ09VTlRfU1dfVEFTS19DTE9DSyA9IDEsCi0gUEVSRl9DT1VOVF9TV19QQUdFX0ZBVUxUUyA9IDIsCisgIFBFUkZfQ09VTlRfU1dfQ1BVX0NMT0NLID0gMCwKKyAgUEVSRl9DT1VOVF9TV19UQVNLX0NMT0NLID0gMSwKKyAgUEVSRl9DT1VOVF9TV19QQUdFX0ZBVUxUUyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfQ09VTlRfU1dfQ09OVEVYVF9TV0lUQ0hFUyA9IDMsCi0gUEVSRl9DT1VOVF9TV19DUFVfTUlHUkFUSU9OUyA9IDQsCi0gUEVSRl9DT1VOVF9TV19QQUdFX0ZBVUxUU19NSU4gPSA1LAotIFBFUkZfQ09VTlRfU1dfUEFHRV9GQVVMVFNfTUFKID0gNiwKKyAgUEVSRl9DT1VOVF9TV19DT05URVhUX1NXSVRDSEVTID0gMywKKyAgUEVSRl9DT1VOVF9TV19DUFVfTUlHUkFUSU9OUyA9IDQsCisgIFBFUkZfQ09VTlRfU1dfUEFHRV9GQVVMVFNfTUlOID0gNSwKKyAgUEVSRl9DT1VOVF9TV19QQUdFX0ZBVUxUU19NQUogPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPVU5UX1NXX0FMSUdOTUVOVF9GQVVMVFMgPSA3LAotIFBFUkZfQ09VTlRfU1dfRU1VTEFUSU9OX0ZBVUxUUyA9IDgsCi0gUEVSRl9DT1VOVF9TV19EVU1NWSA9IDksCi0gUEVSRl9DT1VOVF9TV19NQVgsCisgIFBFUkZfQ09VTlRfU1dfQUxJR05NRU5UX0ZBVUxUUyA9IDcsCisgIFBFUkZfQ09VTlRfU1dfRU1VTEFUSU9OX0ZBVUxUUyA9IDgsCisgIFBFUkZfQ09VTlRfU1dfRFVNTVkgPSA5LAorICBQRVJGX0NPVU5UX1NXX01BWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBwZXJmX2V2ZW50X3NhbXBsZV9mb3JtYXQgewotIFBFUkZfU0FNUExFX0lQID0gMVUgPDwgMCwKLSBQRVJGX1NBTVBMRV9USUQgPSAxVSA8PCAxLAorICBQRVJGX1NBTVBMRV9JUCA9IDFVIDw8IDAsCisgIFBFUkZfU0FNUExFX1RJRCA9IDFVIDw8IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfU0FNUExFX1RJTUUgPSAxVSA8PCAyLAotIFBFUkZfU0FNUExFX0FERFIgPSAxVSA8PCAzLAotIFBFUkZfU0FNUExFX1JFQUQgPSAxVSA8PCA0LAotIFBFUkZfU0FNUExFX0NBTExDSEFJTiA9IDFVIDw8IDUsCisgIFBFUkZfU0FNUExFX1RJTUUgPSAxVSA8PCAyLAorICBQRVJGX1NBTVBMRV9BRERSID0gMVUgPDwgMywKKyAgUEVSRl9TQU1QTEVfUkVBRCA9IDFVIDw8IDQsCisgIFBFUkZfU0FNUExFX0NBTExDSEFJTiA9IDFVIDw8IDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfU0FNUExFX0lEID0gMVUgPDwgNiwKLSBQRVJGX1NBTVBMRV9DUFUgPSAxVSA8PCA3LAotIFBFUkZfU0FNUExFX1BFUklPRCA9IDFVIDw8IDgsCi0gUEVSRl9TQU1QTEVfU1RSRUFNX0lEID0gMVUgPDwgOSwKKyAgUEVSRl9TQU1QTEVfSUQgPSAxVSA8PCA2LAorICBQRVJGX1NBTVBMRV9DUFUgPSAxVSA8PCA3LAorICBQRVJGX1NBTVBMRV9QRVJJT0QgPSAxVSA8PCA4LAorICBQRVJGX1NBTVBMRV9TVFJFQU1fSUQgPSAxVSA8PCA5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1NBTVBMRV9SQVcgPSAxVSA8PCAxMCwKLSBQRVJGX1NBTVBMRV9CUkFOQ0hfU1RBQ0sgPSAxVSA8PCAxMSwKLSBQRVJGX1NBTVBMRV9SRUdTX1VTRVIgPSAxVSA8PCAxMiwKLSBQRVJGX1NBTVBMRV9TVEFDS19VU0VSID0gMVUgPDwgMTMsCisgIFBFUkZfU0FNUExFX1JBVyA9IDFVIDw8IDEwLAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfU1RBQ0sgPSAxVSA8PCAxMSwKKyAgUEVSRl9TQU1QTEVfUkVHU19VU0VSID0gMVUgPDwgMTIsCisgIFBFUkZfU0FNUExFX1NUQUNLX1VTRVIgPSAxVSA8PCAxMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9TQU1QTEVfV0VJR0hUID0gMVUgPDwgMTQsCi0gUEVSRl9TQU1QTEVfREFUQV9TUkMgPSAxVSA8PCAxNSwKLSBQRVJGX1NBTVBMRV9JREVOVElGSUVSID0gMVUgPDwgMTYsCi0gUEVSRl9TQU1QTEVfVFJBTlNBQ1RJT04gPSAxVSA8PCAxNywKKyAgUEVSRl9TQU1QTEVfV0VJR0hUID0gMVUgPDwgMTQsCisgIFBFUkZfU0FNUExFX0RBVEFfU1JDID0gMVUgPDwgMTUsCisgIFBFUkZfU0FNUExFX0lERU5USUZJRVIgPSAxVSA8PCAxNiwKKyAgUEVSRl9TQU1QTEVfVFJBTlNBQ1RJT04gPSAxVSA8PCAxNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9TQU1QTEVfTUFYID0gMVUgPDwgMTgsCisgIFBFUkZfU0FNUExFX01BWCA9IDFVIDw8IDE4LAogfTsKIGVudW0gcGVyZl9icmFuY2hfc2FtcGxlX3R5cGUgewotIFBFUkZfU0FNUExFX0JSQU5DSF9VU0VSID0gMVUgPDwgMCwKKyAgUEVSRl9TQU1QTEVfQlJBTkNIX1VTRVIgPSAxVSA8PCAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1NBTVBMRV9CUkFOQ0hfS0VSTkVMID0gMVUgPDwgMSwKLSBQRVJGX1NBTVBMRV9CUkFOQ0hfSFYgPSAxVSA8PCAyLAotIFBFUkZfU0FNUExFX0JSQU5DSF9BTlkgPSAxVSA8PCAzLAotIFBFUkZfU0FNUExFX0JSQU5DSF9BTllfQ0FMTCA9IDFVIDw8IDQsCisgIFBFUkZfU0FNUExFX0JSQU5DSF9LRVJORUwgPSAxVSA8PCAxLAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfSFYgPSAxVSA8PCAyLAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfQU5ZID0gMVUgPDwgMywKKyAgUEVSRl9TQU1QTEVfQlJBTkNIX0FOWV9DQUxMID0gMVUgPDwgNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9TQU1QTEVfQlJBTkNIX0FOWV9SRVRVUk4gPSAxVSA8PCA1LAotIFBFUkZfU0FNUExFX0JSQU5DSF9JTkRfQ0FMTCA9IDFVIDw8IDYsCi0gUEVSRl9TQU1QTEVfQlJBTkNIX0FCT1JUX1RYID0gMVUgPDwgNywKLSBQRVJGX1NBTVBMRV9CUkFOQ0hfSU5fVFggPSAxVSA8PCA4LAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfQU5ZX1JFVFVSTiA9IDFVIDw8IDUsCisgIFBFUkZfU0FNUExFX0JSQU5DSF9JTkRfQ0FMTCA9IDFVIDw8IDYsCisgIFBFUkZfU0FNUExFX0JSQU5DSF9BQk9SVF9UWCA9IDFVIDw8IDcsCisgIFBFUkZfU0FNUExFX0JSQU5DSF9JTl9UWCA9IDFVIDw8IDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfU0FNUExFX0JSQU5DSF9OT19UWCA9IDFVIDw8IDksCi0gUEVSRl9TQU1QTEVfQlJBTkNIX01BWCA9IDFVIDw8IDEwLAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfTk9fVFggPSAxVSA8PCA5LAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfQ09ORCA9IDFVIDw8IDEwLAorICBQRVJGX1NBTVBMRV9CUkFOQ0hfTUFYID0gMVUgPDwgMTEsCiB9OwotI2RlZmluZSBQRVJGX1NBTVBMRV9CUkFOQ0hfUExNX0FMTCAgIChQRVJGX1NBTVBMRV9CUkFOQ0hfVVNFUnwgIFBFUkZfU0FNUExFX0JSQU5DSF9LRVJORUx8ICBQRVJGX1NBTVBMRV9CUkFOQ0hfSFYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQRVJGX1NBTVBMRV9CUkFOQ0hfUExNX0FMTCAoUEVSRl9TQU1QTEVfQlJBTkNIX1VTRVIgfCBQRVJGX1NBTVBMRV9CUkFOQ0hfS0VSTkVMIHwgUEVSRl9TQU1QTEVfQlJBTkNIX0hWKQogZW51bSBwZXJmX3NhbXBsZV9yZWdzX2FiaSB7Ci0gUEVSRl9TQU1QTEVfUkVHU19BQklfTk9ORSA9IDAsCi0gUEVSRl9TQU1QTEVfUkVHU19BQklfMzIgPSAxLAotIFBFUkZfU0FNUExFX1JFR1NfQUJJXzY0ID0gMiwKKyAgUEVSRl9TQU1QTEVfUkVHU19BQklfTk9ORSA9IDAsCisgIFBFUkZfU0FNUExFX1JFR1NfQUJJXzMyID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFBFUkZfU0FNUExFX1JFR1NfQUJJXzY0ID0gMiwKIH07CiBlbnVtIHsKLSBQRVJGX1RYTl9FTElTSU9OID0gKDEgPDwgMCksCi0gUEVSRl9UWE5fVFJBTlNBQ1RJT04gPSAoMSA8PCAxKSwKKyAgUEVSRl9UWE5fRUxJU0lPTiA9ICgxIDw8IDApLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1RYTl9TWU5DID0gKDEgPDwgMiksCi0gUEVSRl9UWE5fQVNZTkMgPSAoMSA8PCAzKSwKLSBQRVJGX1RYTl9SRVRSWSA9ICgxIDw8IDQpLAotIFBFUkZfVFhOX0NPTkZMSUNUID0gKDEgPDwgNSksCisgIFBFUkZfVFhOX1RSQU5TQUNUSU9OID0gKDEgPDwgMSksCisgIFBFUkZfVFhOX1NZTkMgPSAoMSA8PCAyKSwKKyAgUEVSRl9UWE5fQVNZTkMgPSAoMSA8PCAzKSwKKyAgUEVSRl9UWE5fUkVUUlkgPSAoMSA8PCA0KSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9UWE5fQ0FQQUNJVFlfV1JJVEUgPSAoMSA8PCA2KSwKLSBQRVJGX1RYTl9DQVBBQ0lUWV9SRUFEID0gKDEgPDwgNyksCi0gUEVSRl9UWE5fTUFYID0gKDEgPDwgOCksCi0gUEVSRl9UWE5fQUJPUlRfTUFTSyA9ICgweGZmZmZmZmZmVUxMIDw8IDMyKSwKKyAgUEVSRl9UWE5fQ09ORkxJQ1QgPSAoMSA8PCA1KSwKKyAgUEVSRl9UWE5fQ0FQQUNJVFlfV1JJVEUgPSAoMSA8PCA2KSwKKyAgUEVSRl9UWE5fQ0FQQUNJVFlfUkVBRCA9ICgxIDw8IDcpLAorICBQRVJGX1RYTl9NQVggPSAoMSA8PCA4KSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9UWE5fQUJPUlRfU0hJRlQgPSAzMiwKKyAgUEVSRl9UWE5fQUJPUlRfTUFTSyA9ICgweGZmZmZmZmZmVUxMIDw8IDMyKSwKKyAgUEVSRl9UWE5fQUJPUlRfU0hJRlQgPSAzMiwKIH07CiBlbnVtIHBlcmZfZXZlbnRfcmVhZF9mb3JtYXQgewotIFBFUkZfRk9STUFUX1RPVEFMX1RJTUVfRU5BQkxFRCA9IDFVIDw8IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUkZfRk9STUFUX1RPVEFMX1RJTUVfUlVOTklORyA9IDFVIDw8IDEsCi0gUEVSRl9GT1JNQVRfSUQgPSAxVSA8PCAyLAotIFBFUkZfRk9STUFUX0dST1VQID0gMVUgPDwgMywKLSBQRVJGX0ZPUk1BVF9NQVggPSAxVSA8PCA0LAorICBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX0VOQUJMRUQgPSAxVSA8PCAwLAorICBQRVJGX0ZPUk1BVF9UT1RBTF9USU1FX1JVTk5JTkcgPSAxVSA8PCAxLAorICBQRVJGX0ZPUk1BVF9JRCA9IDFVIDw8IDIsCisgIFBFUkZfRk9STUFUX0dST1VQID0gMVUgPDwgMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFBFUkZfRk9STUFUX01BWCA9IDFVIDw8IDQsCiB9OwogI2RlZmluZSBQRVJGX0FUVFJfU0laRV9WRVIwIDY0CiAjZGVmaW5lIFBFUkZfQVRUUl9TSVpFX1ZFUjEgNzIKLSNkZWZpbmUgUEVSRl9BVFRSX1NJWkVfVkVSMiA4MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUEVSRl9BVFRSX1NJWkVfVkVSMiA4MAogI2RlZmluZSBQRVJGX0FUVFJfU0laRV9WRVIzIDk2CiBzdHJ1Y3QgcGVyZl9ldmVudF9hdHRyIHsKLSBfX3UzMiB0eXBlOwotIF9fdTMyIHNpemU7CisgIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGNvbmZpZzsKLSB1bmlvbiB7Ci0gX191NjQgc2FtcGxlX3BlcmlvZDsKLSBfX3U2NCBzYW1wbGVfZnJlcTsKKyAgX191MzIgc2l6ZTsKKyAgX191NjQgY29uZmlnOworICB1bmlvbiB7CisgICAgX191NjQgc2FtcGxlX3BlcmlvZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKLSBfX3U2NCBzYW1wbGVfdHlwZTsKLSBfX3U2NCByZWFkX2Zvcm1hdDsKLSBfX3U2NCBkaXNhYmxlZCA6IDEsCisgICAgX191NjQgc2FtcGxlX2ZyZXE7CisgIH07CisgIF9fdTY0IHNhbXBsZV90eXBlOworICBfX3U2NCByZWFkX2Zvcm1hdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW5oZXJpdCA6IDEsCi0gcGlubmVkIDogMSwKLSBleGNsdXNpdmUgOiAxLAotIGV4Y2x1ZGVfdXNlciA6IDEsCisgIF9fdTY0IGRpc2FibGVkIDogMSwgaW5oZXJpdCA6IDEsIHBpbm5lZCA6IDEsIGV4Y2x1c2l2ZSA6IDEsIGV4Y2x1ZGVfdXNlciA6IDEsIGV4Y2x1ZGVfa2VybmVsIDogMSwgZXhjbHVkZV9odiA6IDEsIGV4Y2x1ZGVfaWRsZSA6IDEsIG1tYXAgOiAxLCBjb21tIDogMSwgZnJlcSA6IDEsIGluaGVyaXRfc3RhdCA6IDEsIGVuYWJsZV9vbl9leGVjIDogMSwgdGFzayA6IDEsIHdhdGVybWFyayA6IDEsIHByZWNpc2VfaXAgOiAyLCBtbWFwX2RhdGEgOiAxLCBzYW1wbGVfaWRfYWxsIDogMSwgZXhjbHVkZV9ob3N0IDogMSwgZXhjbHVkZV9ndWVzdCA6IDEsIGV4Y2x1ZGVfY2FsbGNoYWluX2tlcm5lbCA6IDEsIGV4Y2x1ZGVfY2FsbGNoYWluX3VzZXIgOiAxLCBtbWFwMiA6IDEsIGNvbW1fZXhlYyA6IDEsIF9fcmVzZXJ2ZWRfMSA6IDM5OworICB1bmlvbiB7CisgICAgX191MzIgd2FrZXVwX2V2ZW50czsKKyAgICBfX3UzMiB3YWtldXBfd2F0ZXJtYXJrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBleGNsdWRlX2tlcm5lbCA6IDEsCi0gZXhjbHVkZV9odiA6IDEsCi0gZXhjbHVkZV9pZGxlIDogMSwKLSBtbWFwIDogMSwKKyAgfTsKKyAgX191MzIgYnBfdHlwZTsKKyAgdW5pb24geworICAgIF9fdTY0IGJwX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNvbW0gOiAxLAotIGZyZXEgOiAxLAotIGluaGVyaXRfc3RhdCA6IDEsCi0gZW5hYmxlX29uX2V4ZWMgOiAxLAorICAgIF9fdTY0IGNvbmZpZzE7CisgIH07CisgIHVuaW9uIHsKKyAgICBfX3U2NCBicF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHRhc2sgOiAxLAotIHdhdGVybWFyayA6IDEsCi0gcHJlY2lzZV9pcCA6IDIsCi0gbW1hcF9kYXRhIDogMSwKKyAgICBfX3U2NCBjb25maWcyOworICB9OworICBfX3U2NCBicmFuY2hfc2FtcGxlX3R5cGU7CisgIF9fdTY0IHNhbXBsZV9yZWdzX3VzZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNhbXBsZV9pZF9hbGwgOiAxLAotIGV4Y2x1ZGVfaG9zdCA6IDEsCi0gZXhjbHVkZV9ndWVzdCA6IDEsCi0gZXhjbHVkZV9jYWxsY2hhaW5fa2VybmVsIDogMSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZXhjbHVkZV9jYWxsY2hhaW5fdXNlciA6IDEsCi0gbW1hcDIgOiAxLAotIF9fcmVzZXJ2ZWRfMSA6IDQwOwotIHVuaW9uIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgd2FrZXVwX2V2ZW50czsKLSBfX3UzMiB3YWtldXBfd2F0ZXJtYXJrOwotIH07Ci0gX191MzIgYnBfdHlwZTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIF9fdTY0IGJwX2FkZHI7Ci0gX191NjQgY29uZmlnMTsKLSB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gX191NjQgYnBfbGVuOwotIF9fdTY0IGNvbmZpZzI7Ci0gfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYnJhbmNoX3NhbXBsZV90eXBlOwotIF9fdTY0IHNhbXBsZV9yZWdzX3VzZXI7Ci0gX191MzIgc2FtcGxlX3N0YWNrX3VzZXI7Ci0gX191MzIgX19yZXNlcnZlZF8yOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgc2FtcGxlX3N0YWNrX3VzZXI7CisgIF9fdTMyIF9fcmVzZXJ2ZWRfMjsKIH07Ci0jZGVmaW5lIHBlcmZfZmxhZ3MoYXR0cikgKCooJihhdHRyKS0+cmVhZF9mb3JtYXQgKyAxKSkKLSNkZWZpbmUgUEVSRl9FVkVOVF9JT0NfRU5BQkxFIF9JTyAoJyQnLCAwKQotI2RlZmluZSBQRVJGX0VWRU5UX0lPQ19ESVNBQkxFIF9JTyAoJyQnLCAxKQorI2RlZmluZSBwZXJmX2ZsYWdzKGF0dHIpICgqICgmIChhdHRyKS0+cmVhZF9mb3JtYXQgKyAxKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBFUkZfRVZFTlRfSU9DX1JFRlJFU0ggX0lPICgnJCcsIDIpCi0jZGVmaW5lIFBFUkZfRVZFTlRfSU9DX1JFU0VUIF9JTyAoJyQnLCAzKQorI2RlZmluZSBQRVJGX0VWRU5UX0lPQ19FTkFCTEUgX0lPKCckJywgMCkKKyNkZWZpbmUgUEVSRl9FVkVOVF9JT0NfRElTQUJMRSBfSU8oJyQnLCAxKQorI2RlZmluZSBQRVJGX0VWRU5UX0lPQ19SRUZSRVNIIF9JTygnJCcsIDIpCisjZGVmaW5lIFBFUkZfRVZFTlRfSU9DX1JFU0VUIF9JTygnJCcsIDMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQRVJGX0VWRU5UX0lPQ19QRVJJT0QgX0lPVygnJCcsIDQsIF9fdTY0KQotI2RlZmluZSBQRVJGX0VWRU5UX0lPQ19TRVRfT1VUUFVUIF9JTyAoJyQnLCA1KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUEVSRl9FVkVOVF9JT0NfU0VUX09VVFBVVCBfSU8oJyQnLCA1KQogI2RlZmluZSBQRVJGX0VWRU5UX0lPQ19TRVRfRklMVEVSIF9JT1coJyQnLCA2LCBjaGFyICopCiAjZGVmaW5lIFBFUkZfRVZFTlRfSU9DX0lEIF9JT1IoJyQnLCA3LCBfX3U2NCAqKQotZW51bSBwZXJmX2V2ZW50X2lvY19mbGFncyB7Ci0gUEVSRl9JT0NfRkxBR19HUk9VUCA9IDFVIDw8IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSBwZXJmX2V2ZW50X2lvY19mbGFncyB7CisgIFBFUkZfSU9DX0ZMQUdfR1JPVVAgPSAxVSA8PCAwLAogfTsKIHN0cnVjdCBwZXJmX2V2ZW50X21tYXBfcGFnZSB7Ci0gX191MzIgdmVyc2lvbjsKLSBfX3UzMiBjb21wYXRfdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbG9jazsKLSBfX3UzMiBpbmRleDsKLSBfX3M2NCBvZmZzZXQ7Ci0gX191NjQgdGltZV9lbmFibGVkOworICBfX3UzMiB2ZXJzaW9uOworICBfX3UzMiBjb21wYXRfdmVyc2lvbjsKKyAgX191MzIgbG9jazsKKyAgX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHRpbWVfcnVubmluZzsKLSB1bmlvbiB7Ci0gX191NjQgY2FwYWJpbGl0aWVzOwotIHN0cnVjdCB7CisgIF9fczY0IG9mZnNldDsKKyAgX191NjQgdGltZV9lbmFibGVkOworICBfX3U2NCB0aW1lX3J1bm5pbmc7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgY2FwX2JpdDAgOiAxLAotIGNhcF9iaXQwX2lzX2RlcHJlY2F0ZWQgOiAxLAotIGNhcF91c2VyX3JkcG1jIDogMSwKLSBjYXBfdXNlcl90aW1lIDogMSwKKyAgICBfX3U2NCBjYXBhYmlsaXRpZXM7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IGNhcF9iaXQwIDogMSwgY2FwX2JpdDBfaXNfZGVwcmVjYXRlZCA6IDEsIGNhcF91c2VyX3JkcG1jIDogMSwgY2FwX3VzZXJfdGltZSA6IDEsIGNhcF91c2VyX3RpbWVfemVybyA6IDEsIGNhcF9fX19fcmVzIDogNTk7CisgICAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2FwX3VzZXJfdGltZV96ZXJvIDogMSwKLSBjYXBfX19fX3JlcyA6IDU5OwotIH07Ci0gfTsKKyAgfTsKKyAgX191MTYgcG1jX3dpZHRoOworICBfX3UxNiB0aW1lX3NoaWZ0OworICBfX3UzMiB0aW1lX211bHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHBtY193aWR0aDsKLSBfX3UxNiB0aW1lX3NoaWZ0OwotIF9fdTMyIHRpbWVfbXVsdDsKLSBfX3U2NCB0aW1lX29mZnNldDsKKyAgX191NjQgdGltZV9vZmZzZXQ7CisgIF9fdTY0IHRpbWVfemVybzsKKyAgX191MzIgc2l6ZTsKKyAgX191OCBfX3Jlc2VydmVkWzExOCAqIDggKyA0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdGltZV96ZXJvOwotIF9fdTMyIHNpemU7Ci0gX191OCBfX3Jlc2VydmVkWzExOCo4KzRdOwotIF9fdTY0IGRhdGFfaGVhZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZGF0YV90YWlsOworICBfX3U2NCBkYXRhX2hlYWQ7CisgIF9fdTY0IGRhdGFfdGFpbDsKIH07CiAjZGVmaW5lIFBFUkZfUkVDT1JEX01JU0NfQ1BVTU9ERV9NQVNLICg3IDw8IDApCi0jZGVmaW5lIFBFUkZfUkVDT1JEX01JU0NfQ1BVTU9ERV9VTktOT1dOICgwIDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQRVJGX1JFQ09SRF9NSVNDX0NQVU1PREVfVU5LTk9XTiAoMCA8PCAwKQogI2RlZmluZSBQRVJGX1JFQ09SRF9NSVNDX0tFUk5FTCAoMSA8PCAwKQogI2RlZmluZSBQRVJGX1JFQ09SRF9NSVNDX1VTRVIgKDIgPDwgMCkKICNkZWZpbmUgUEVSRl9SRUNPUkRfTUlTQ19IWVBFUlZJU09SICgzIDw8IDApCi0jZGVmaW5lIFBFUkZfUkVDT1JEX01JU0NfR1VFU1RfS0VSTkVMICg0IDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQRVJGX1JFQ09SRF9NSVNDX0dVRVNUX0tFUk5FTCAoNCA8PCAwKQogI2RlZmluZSBQRVJGX1JFQ09SRF9NSVNDX0dVRVNUX1VTRVIgKDUgPDwgMCkKICNkZWZpbmUgUEVSRl9SRUNPUkRfTUlTQ19NTUFQX0RBVEEgKDEgPDwgMTMpCisjZGVmaW5lIFBFUkZfUkVDT1JEX01JU0NfQ09NTV9FWEVDICgxIDw8IDEzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUEVSRl9SRUNPUkRfTUlTQ19FWEFDVF9JUCAoMSA8PCAxNCkKICNkZWZpbmUgUEVSRl9SRUNPUkRfTUlTQ19FWFRfUkVTRVJWRUQgKDEgPDwgMTUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHBlcmZfZXZlbnRfaGVhZGVyIHsKLSBfX3UzMiB0eXBlOwotIF9fdTE2IG1pc2M7Ci0gX191MTYgc2l6ZTsKKyAgX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IG1pc2M7CisgIF9fdTE2IHNpemU7CiB9OwogZW51bSBwZXJmX2V2ZW50X3R5cGUgewotIFBFUkZfUkVDT1JEX01NQVAgPSAxLAotIFBFUkZfUkVDT1JEX0xPU1QgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1JFQ09SRF9DT01NID0gMywKLSBQRVJGX1JFQ09SRF9FWElUID0gNCwKLSBQRVJGX1JFQ09SRF9USFJPVFRMRSA9IDUsCi0gUEVSRl9SRUNPUkRfVU5USFJPVFRMRSA9IDYsCisgIFBFUkZfUkVDT1JEX01NQVAgPSAxLAorICBQRVJGX1JFQ09SRF9MT1NUID0gMiwKKyAgUEVSRl9SRUNPUkRfQ09NTSA9IDMsCisgIFBFUkZfUkVDT1JEX0VYSVQgPSA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX1JFQ09SRF9GT1JLID0gNywKLSBQRVJGX1JFQ09SRF9SRUFEID0gOCwKLSBQRVJGX1JFQ09SRF9TQU1QTEUgPSA5LAotIFBFUkZfUkVDT1JEX01NQVAyID0gMTAsCisgIFBFUkZfUkVDT1JEX1RIUk9UVExFID0gNSwKKyAgUEVSRl9SRUNPUkRfVU5USFJPVFRMRSA9IDYsCisgIFBFUkZfUkVDT1JEX0ZPUksgPSA3LAorICBQRVJGX1JFQ09SRF9SRUFEID0gOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSRl9SRUNPUkRfTUFYLAorICBQRVJGX1JFQ09SRF9TQU1QTEUgPSA5LAorICBQRVJGX1JFQ09SRF9NTUFQMiA9IDEwLAorICBQRVJGX1JFQ09SRF9NQVgsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUEVSRl9NQVhfU1RBQ0tfREVQVEggMTI3CiBlbnVtIHBlcmZfY2FsbGNoYWluX2NvbnRleHQgeworICBQRVJGX0NPTlRFWFRfSFYgPSAoX191NjQpIC0gMzIsCisgIFBFUkZfQ09OVEVYVF9LRVJORUwgPSAoX191NjQpIC0gMTI4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPTlRFWFRfSFYgPSAoX191NjQpLTMyLAotIFBFUkZfQ09OVEVYVF9LRVJORUwgPSAoX191NjQpLTEyOCwKLSBQRVJGX0NPTlRFWFRfVVNFUiA9IChfX3U2NCktNTEyLAotIFBFUkZfQ09OVEVYVF9HVUVTVCA9IChfX3U2NCktMjA0OCwKKyAgUEVSRl9DT05URVhUX1VTRVIgPSAoX191NjQpIC0gNTEyLAorICBQRVJGX0NPTlRFWFRfR1VFU1QgPSAoX191NjQpIC0gMjA0OCwKKyAgUEVSRl9DT05URVhUX0dVRVNUX0tFUk5FTCA9IChfX3U2NCkgLSAyMTc2LAorICBQRVJGX0NPTlRFWFRfR1VFU1RfVVNFUiA9IChfX3U2NCkgLSAyNTYwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJGX0NPTlRFWFRfR1VFU1RfS0VSTkVMID0gKF9fdTY0KS0yMTc2LAotIFBFUkZfQ09OVEVYVF9HVUVTVF9VU0VSID0gKF9fdTY0KS0yNTYwLAotIFBFUkZfQ09OVEVYVF9NQVggPSAoX191NjQpLTQwOTUsCisgIFBFUkZfQ09OVEVYVF9NQVggPSAoX191NjQpIC0gNDA5NSwKIH07CisjZGVmaW5lIFBFUkZfRkxBR19GRF9OT19HUk9VUCAoMVVMIDw8IDApCisjZGVmaW5lIFBFUkZfRkxBR19GRF9PVVRQVVQgKDFVTCA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUEVSRl9GTEFHX0ZEX05PX0dST1VQICgxVSA8PCAwKQotI2RlZmluZSBQRVJGX0ZMQUdfRkRfT1VUUFVUICgxVSA8PCAxKQotI2RlZmluZSBQRVJGX0ZMQUdfUElEX0NHUk9VUCAoMVUgPDwgMikKLSNkZWZpbmUgUEVSRl9GTEFHX0ZEX0NMT0VYRUMgKDFVIDw8IDMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQRVJGX0ZMQUdfUElEX0NHUk9VUCAoMVVMIDw8IDIpCisjZGVmaW5lIFBFUkZfRkxBR19GRF9DTE9FWEVDICgxVUwgPDwgMykKIHVuaW9uIHBlcmZfbWVtX2RhdGFfc3JjIHsKLSBfX3U2NCB2YWw7Ci0gc3RydWN0IHsKLSBfX3U2NCBtZW1fb3A6NSwKKyAgX191NjQgdmFsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBtZW1fbHZsOjE0LAotIG1lbV9zbm9vcDo1LAotIG1lbV9sb2NrOjIsCi0gbWVtX2R0bGI6NywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbWVtX3JzdmQ6MzE7Ci0gfTsKKyAgc3RydWN0IHsKKyAgICBfX3U2NCBtZW1fb3AgOiA1LCBtZW1fbHZsIDogMTQsIG1lbV9zbm9vcCA6IDUsIG1lbV9sb2NrIDogMiwgbWVtX2R0bGIgOiA3LCBtZW1fcnN2ZCA6IDMxOworICB9OwogfTsKLSNkZWZpbmUgUEVSRl9NRU1fT1BfTkEgMHgwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUEVSRl9NRU1fT1BfTkEgMHgwMQogI2RlZmluZSBQRVJGX01FTV9PUF9MT0FEIDB4MDIKICNkZWZpbmUgUEVSRl9NRU1fT1BfU1RPUkUgMHgwNAogI2RlZmluZSBQRVJGX01FTV9PUF9QRkVUQ0ggMHgwOAotI2RlZmluZSBQRVJGX01FTV9PUF9FWEVDIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBFUkZfTUVNX09QX0VYRUMgMHgxMAogI2RlZmluZSBQRVJGX01FTV9PUF9TSElGVCAwCiAjZGVmaW5lIFBFUkZfTUVNX0xWTF9OQSAweDAxCiAjZGVmaW5lIFBFUkZfTUVNX0xWTF9ISVQgMHgwMgotI2RlZmluZSBQRVJGX01FTV9MVkxfTUlTUyAweDA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQRVJGX01FTV9MVkxfTUlTUyAweDA0CiAjZGVmaW5lIFBFUkZfTUVNX0xWTF9MMSAweDA4CiAjZGVmaW5lIFBFUkZfTUVNX0xWTF9MRkIgMHgxMAogI2RlZmluZSBQRVJGX01FTV9MVkxfTDIgMHgyMAotI2RlZmluZSBQRVJGX01FTV9MVkxfTDMgMHg0MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUEVSRl9NRU1fTFZMX0wzIDB4NDAKICNkZWZpbmUgUEVSRl9NRU1fTFZMX0xPQ19SQU0gMHg4MAogI2RlZmluZSBQRVJGX01FTV9MVkxfUkVNX1JBTTEgMHgxMDAKICNkZWZpbmUgUEVSRl9NRU1fTFZMX1JFTV9SQU0yIDB4MjAwCi0jZGVmaW5lIFBFUkZfTUVNX0xWTF9SRU1fQ0NFMSAweDQwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUEVSRl9NRU1fTFZMX1JFTV9DQ0UxIDB4NDAwCiAjZGVmaW5lIFBFUkZfTUVNX0xWTF9SRU1fQ0NFMiAweDgwMAogI2RlZmluZSBQRVJGX01FTV9MVkxfSU8gMHgxMDAwCiAjZGVmaW5lIFBFUkZfTUVNX0xWTF9VTkMgMHgyMDAwCi0jZGVmaW5lIFBFUkZfTUVNX0xWTF9TSElGVCA1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQRVJGX01FTV9MVkxfU0hJRlQgNQogI2RlZmluZSBQRVJGX01FTV9TTk9PUF9OQSAweDAxCiAjZGVmaW5lIFBFUkZfTUVNX1NOT09QX05PTkUgMHgwMgogI2RlZmluZSBQRVJGX01FTV9TTk9PUF9ISVQgMHgwNAotI2RlZmluZSBQRVJGX01FTV9TTk9PUF9NSVNTIDB4MDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBFUkZfTUVNX1NOT09QX01JU1MgMHgwOAogI2RlZmluZSBQRVJGX01FTV9TTk9PUF9ISVRNIDB4MTAKICNkZWZpbmUgUEVSRl9NRU1fU05PT1BfU0hJRlQgMTkKICNkZWZpbmUgUEVSRl9NRU1fTE9DS19OQSAweDAxCi0jZGVmaW5lIFBFUkZfTUVNX0xPQ0tfTE9DS0VEIDB4MDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBFUkZfTUVNX0xPQ0tfTE9DS0VEIDB4MDIKICNkZWZpbmUgUEVSRl9NRU1fTE9DS19TSElGVCAyNAogI2RlZmluZSBQRVJGX01FTV9UTEJfTkEgMHgwMQogI2RlZmluZSBQRVJGX01FTV9UTEJfSElUIDB4MDIKLSNkZWZpbmUgUEVSRl9NRU1fVExCX01JU1MgMHgwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUEVSRl9NRU1fVExCX01JU1MgMHgwNAogI2RlZmluZSBQRVJGX01FTV9UTEJfTDEgMHgwOAogI2RlZmluZSBQRVJGX01FTV9UTEJfTDIgMHgxMAogI2RlZmluZSBQRVJGX01FTV9UTEJfV0sgMHgyMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUEVSRl9NRU1fVExCX09TIDB4NDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBFUkZfTUVNX1RMQl9TSElGVCAyNgotI2RlZmluZSBQRVJGX01FTV9TKGEsIHMpICAgKCgoX191NjQpUEVSRl9NRU1fIyNhIyNfIyNzKSA8PCBQRVJGX01FTV8jI2EjI19TSElGVCkKKyNkZWZpbmUgUEVSRl9NRU1fUyhhLHMpICgoKF9fdTY0KSBQRVJGX01FTV8gIyNhICMjXyAjI3MpIDw8IFBFUkZfTUVNXyAjI2EgIyNfU0hJRlQpCiBzdHJ1Y3QgcGVyZl9icmFuY2hfZW50cnkgewotIF9fdTY0IGZyb207CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHRvOwotIF9fdTY0IG1pc3ByZWQ6MSwKLSBwcmVkaWN0ZWQ6MSwKLSBpbl90eDoxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBhYm9ydDoxLAotIHJlc2VydmVkOjYwOworICBfX3U2NCBmcm9tOworICBfX3U2NCB0bzsKKyAgX191NjQgbWlzcHJlZCA6IDEsIHByZWRpY3RlZCA6IDEsIGluX3R4IDogMSwgYWJvcnQgOiAxLCByZXNlcnZlZCA6IDYwOwogfTsKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wZXJzb25hbGl0eS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wZXJzb25hbGl0eS5oCmluZGV4IGU5NWE1MTQuLmZhNjMxYjUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGVyc29uYWxpdHkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BlcnNvbmFsaXR5LmgKQEAgLTE5LDUzICsxOSw1MiBAQAogI2lmbmRlZiBfVUFQSV9MSU5VWF9QRVJTT05BTElUWV9ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX1BFUlNPTkFMSVRZX0gKIGVudW0gewotIFVOQU1FMjYgPSAweDAwMjAwMDAsCisgIFVOQU1FMjYgPSAweDAwMjAwMDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEFERFJfTk9fUkFORE9NSVpFID0gMHgwMDQwMDAwLAotIEZEUElDX0ZVTkNQVFJTID0gMHgwMDgwMDAwLAotIE1NQVBfUEFHRV9aRVJPID0gMHgwMTAwMDAwLAotIEFERFJfQ09NUEFUX0xBWU9VVCA9IDB4MDIwMDAwMCwKKyAgQUREUl9OT19SQU5ET01JWkUgPSAweDAwNDAwMDAsCisgIEZEUElDX0ZVTkNQVFJTID0gMHgwMDgwMDAwLAorICBNTUFQX1BBR0VfWkVSTyA9IDB4MDEwMDAwMCwKKyAgQUREUl9DT01QQVRfTEFZT1VUID0gMHgwMjAwMDAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSRUFEX0lNUExJRVNfRVhFQyA9IDB4MDQwMDAwMCwKLSBBRERSX0xJTUlUXzMyQklUID0gMHgwODAwMDAwLAotIFNIT1JUX0lOT0RFID0gMHgxMDAwMDAwLAotIFdIT0xFX1NFQ09ORFMgPSAweDIwMDAwMDAsCisgIFJFQURfSU1QTElFU19FWEVDID0gMHgwNDAwMDAwLAorICBBRERSX0xJTUlUXzMyQklUID0gMHgwODAwMDAwLAorICBTSE9SVF9JTk9ERSA9IDB4MTAwMDAwMCwKKyAgV0hPTEVfU0VDT05EUyA9IDB4MjAwMDAwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU1RJQ0tZX1RJTUVPVVRTID0gMHg0MDAwMDAwLAotIEFERFJfTElNSVRfM0dCID0gMHg4MDAwMDAwLAorICBTVElDS1lfVElNRU9VVFMgPSAweDQwMDAwMDAsCisgIEFERFJfTElNSVRfM0dCID0gMHg4MDAwMDAwLAogfTsKLSNkZWZpbmUgUEVSX0NMRUFSX09OX1NFVElEIChSRUFEX0lNUExJRVNfRVhFQyB8ICAgQUREUl9OT19SQU5ET01JWkUgfCAgIEFERFJfQ09NUEFUX0xBWU9VVCB8ICAgTU1BUF9QQUdFX1pFUk8pCisjZGVmaW5lIFBFUl9DTEVBUl9PTl9TRVRJRCAoUkVBRF9JTVBMSUVTX0VYRUMgfCBBRERSX05PX1JBTkRPTUlaRSB8IEFERFJfQ09NUEFUX0xBWU9VVCB8IE1NQVBfUEFHRV9aRVJPKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFBFUl9MSU5VWCA9IDB4MDAwMCwKLSBQRVJfTElOVVhfMzJCSVQgPSAweDAwMDAgfCBBRERSX0xJTUlUXzMyQklULAotIFBFUl9MSU5VWF9GRFBJQyA9IDB4MDAwMCB8IEZEUElDX0ZVTkNQVFJTLAorICBQRVJfTElOVVggPSAweDAwMDAsCisgIFBFUl9MSU5VWF8zMkJJVCA9IDB4MDAwMCB8IEFERFJfTElNSVRfMzJCSVQsCisgIFBFUl9MSU5VWF9GRFBJQyA9IDB4MDAwMCB8IEZEUElDX0ZVTkNQVFJTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQRVJfU1ZSNCA9IDB4MDAwMSB8IFNUSUNLWV9USU1FT1VUUyB8IE1NQVBfUEFHRV9aRVJPLAotIFBFUl9TVlIzID0gMHgwMDAyIHwgU1RJQ0tZX1RJTUVPVVRTIHwgU0hPUlRfSU5PREUsCi0gUEVSX1NDT1NWUjMgPSAweDAwMDMgfCBTVElDS1lfVElNRU9VVFMgfAotIFdIT0xFX1NFQ09ORFMgfCBTSE9SVF9JTk9ERSwKKyAgUEVSX1NWUjQgPSAweDAwMDEgfCBTVElDS1lfVElNRU9VVFMgfCBNTUFQX1BBR0VfWkVSTywKKyAgUEVSX1NWUjMgPSAweDAwMDIgfCBTVElDS1lfVElNRU9VVFMgfCBTSE9SVF9JTk9ERSwKKyAgUEVSX1NDT1NWUjMgPSAweDAwMDMgfCBTVElDS1lfVElNRU9VVFMgfCBXSE9MRV9TRUNPTkRTIHwgU0hPUlRfSU5PREUsCisgIFBFUl9PU1I1ID0gMHgwMDAzIHwgU1RJQ0tZX1RJTUVPVVRTIHwgV0hPTEVfU0VDT05EUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSX09TUjUgPSAweDAwMDMgfCBTVElDS1lfVElNRU9VVFMgfCBXSE9MRV9TRUNPTkRTLAotIFBFUl9XWVNFVjM4NiA9IDB4MDAwNCB8IFNUSUNLWV9USU1FT1VUUyB8IFNIT1JUX0lOT0RFLAotIFBFUl9JU0NSNCA9IDB4MDAwNSB8IFNUSUNLWV9USU1FT1VUUywKLSBQRVJfQlNEID0gMHgwMDA2LAorICBQRVJfV1lTRVYzODYgPSAweDAwMDQgfCBTVElDS1lfVElNRU9VVFMgfCBTSE9SVF9JTk9ERSwKKyAgUEVSX0lTQ1I0ID0gMHgwMDA1IHwgU1RJQ0tZX1RJTUVPVVRTLAorICBQRVJfQlNEID0gMHgwMDA2LAorICBQRVJfU1VOT1MgPSAweDAwMDYgfCBTVElDS1lfVElNRU9VVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUl9TVU5PUyA9IDB4MDAwNiB8IFNUSUNLWV9USU1FT1VUUywKLSBQRVJfWEVOSVggPSAweDAwMDcgfCBTVElDS1lfVElNRU9VVFMgfCBTSE9SVF9JTk9ERSwKLSBQRVJfTElOVVgzMiA9IDB4MDAwOCwKLSBQRVJfTElOVVgzMl8zR0IgPSAweDAwMDggfCBBRERSX0xJTUlUXzNHQiwKKyAgUEVSX1hFTklYID0gMHgwMDA3IHwgU1RJQ0tZX1RJTUVPVVRTIHwgU0hPUlRfSU5PREUsCisgIFBFUl9MSU5VWDMyID0gMHgwMDA4LAorICBQRVJfTElOVVgzMl8zR0IgPSAweDAwMDggfCBBRERSX0xJTUlUXzNHQiwKKyAgUEVSX0lSSVgzMiA9IDB4MDAwOSB8IFNUSUNLWV9USU1FT1VUUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSX0lSSVgzMiA9IDB4MDAwOSB8IFNUSUNLWV9USU1FT1VUUywKLSBQRVJfSVJJWE4zMiA9IDB4MDAwYSB8IFNUSUNLWV9USU1FT1VUUywKLSBQRVJfSVJJWDY0ID0gMHgwMDBiIHwgU1RJQ0tZX1RJTUVPVVRTLAotIFBFUl9SSVNDT1MgPSAweDAwMGMsCisgIFBFUl9JUklYTjMyID0gMHgwMDBhIHwgU1RJQ0tZX1RJTUVPVVRTLAorICBQRVJfSVJJWDY0ID0gMHgwMDBiIHwgU1RJQ0tZX1RJTUVPVVRTLAorICBQRVJfUklTQ09TID0gMHgwMDBjLAorICBQRVJfU09MQVJJUyA9IDB4MDAwZCB8IFNUSUNLWV9USU1FT1VUUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEVSX1NPTEFSSVMgPSAweDAwMGQgfCBTVElDS1lfVElNRU9VVFMsCi0gUEVSX1VXNyA9IDB4MDAwZSB8IFNUSUNLWV9USU1FT1VUUyB8IE1NQVBfUEFHRV9aRVJPLAotIFBFUl9PU0Y0ID0gMHgwMDBmLAotIFBFUl9IUFVYID0gMHgwMDEwLAorICBQRVJfVVc3ID0gMHgwMDBlIHwgU1RJQ0tZX1RJTUVPVVRTIHwgTU1BUF9QQUdFX1pFUk8sCisgIFBFUl9PU0Y0ID0gMHgwMDBmLAorICBQRVJfSFBVWCA9IDB4MDAxMCwKKyAgUEVSX01BU0sgPSAweDAwZmYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBFUl9NQVNLID0gMHgwMGZmLAogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wZmtleXYyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Bma2V5djIuaAppbmRleCBiODdiNjk4Li5mNGRmNTc0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Bma2V5djIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Bma2V5djIuaApAQCAtMjMsMzQzICsyMywzNTYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBGS0VZVjJfUkVWSVNJT04gMTk5ODA2TAogc3RydWN0IHNhZGJfbXNnIHsKLSBfX3U4IHNhZGJfbXNnX3ZlcnNpb247Ci0gX191OCBzYWRiX21zZ190eXBlOworICBfX3U4IHNhZGJfbXNnX3ZlcnNpb247CisgIF9fdTggc2FkYl9tc2dfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzYWRiX21zZ19lcnJubzsKLSBfX3U4IHNhZGJfbXNnX3NhdHlwZTsKLSBfX3UxNiBzYWRiX21zZ19sZW47Ci0gX191MTYgc2FkYl9tc2dfcmVzZXJ2ZWQ7CisgIF9fdTggc2FkYl9tc2dfZXJybm87CisgIF9fdTggc2FkYl9tc2dfc2F0eXBlOworICBfX3UxNiBzYWRiX21zZ19sZW47CisgIF9fdTE2IHNhZGJfbXNnX3Jlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzYWRiX21zZ19zZXE7Ci0gX191MzIgc2FkYl9tc2dfcGlkOworICBfX3UzMiBzYWRiX21zZ19zZXE7CisgIF9fdTMyIHNhZGJfbXNnX3BpZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3Qgc2FkYl9leHQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzYWRiX2V4dF9sZW47Ci0gX191MTYgc2FkYl9leHRfdHlwZTsKKyAgX191MTYgc2FkYl9leHRfbGVuOworICBfX3UxNiBzYWRiX2V4dF90eXBlOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBzYWRiX3NhIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl9zYV9sZW47Ci0gX191MTYgc2FkYl9zYV9leHR0eXBlOwotIF9fYmUzMiBzYWRiX3NhX3NwaTsKLSBfX3U4IHNhZGJfc2FfcmVwbGF5OworICBfX3UxNiBzYWRiX3NhX2xlbjsKKyAgX191MTYgc2FkYl9zYV9leHR0eXBlOworICBfX2JlMzIgc2FkYl9zYV9zcGk7CisgIF9fdTggc2FkYl9zYV9yZXBsYXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2FkYl9zYV9zdGF0ZTsKLSBfX3U4IHNhZGJfc2FfYXV0aDsKLSBfX3U4IHNhZGJfc2FfZW5jcnlwdDsKLSBfX3UzMiBzYWRiX3NhX2ZsYWdzOworICBfX3U4IHNhZGJfc2Ffc3RhdGU7CisgIF9fdTggc2FkYl9zYV9hdXRoOworICBfX3U4IHNhZGJfc2FfZW5jcnlwdDsKKyAgX191MzIgc2FkYl9zYV9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHNhZGJfbGlmZXRpbWUgewotIF9fdTE2IHNhZGJfbGlmZXRpbWVfbGVuOwotIF9fdTE2IHNhZGJfbGlmZXRpbWVfZXh0dHlwZTsKKyAgX191MTYgc2FkYl9saWZldGltZV9sZW47CisgIF9fdTE2IHNhZGJfbGlmZXRpbWVfZXh0dHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2FkYl9saWZldGltZV9hbGxvY2F0aW9uczsKLSBfX3U2NCBzYWRiX2xpZmV0aW1lX2J5dGVzOwotIF9fdTY0IHNhZGJfbGlmZXRpbWVfYWRkdGltZTsKLSBfX3U2NCBzYWRiX2xpZmV0aW1lX3VzZXRpbWU7CisgIF9fdTMyIHNhZGJfbGlmZXRpbWVfYWxsb2NhdGlvbnM7CisgIF9fdTY0IHNhZGJfbGlmZXRpbWVfYnl0ZXM7CisgIF9fdTY0IHNhZGJfbGlmZXRpbWVfYWRkdGltZTsKKyAgX191NjQgc2FkYl9saWZldGltZV91c2V0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3Qgc2FkYl9hZGRyZXNzIHsKLSBfX3UxNiBzYWRiX2FkZHJlc3NfbGVuOwotIF9fdTE2IHNhZGJfYWRkcmVzc19leHR0eXBlOworICBfX3UxNiBzYWRiX2FkZHJlc3NfbGVuOworICBfX3UxNiBzYWRiX2FkZHJlc3NfZXh0dHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzYWRiX2FkZHJlc3NfcHJvdG87Ci0gX191OCBzYWRiX2FkZHJlc3NfcHJlZml4bGVuOwotIF9fdTE2IHNhZGJfYWRkcmVzc19yZXNlcnZlZDsKKyAgX191OCBzYWRiX2FkZHJlc3NfcHJvdG87CisgIF9fdTggc2FkYl9hZGRyZXNzX3ByZWZpeGxlbjsKKyAgX191MTYgc2FkYl9hZGRyZXNzX3Jlc2VydmVkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc2FkYl9rZXkgewotIF9fdTE2IHNhZGJfa2V5X2xlbjsKLSBfX3UxNiBzYWRiX2tleV9leHR0eXBlOwotIF9fdTE2IHNhZGJfa2V5X2JpdHM7CisgIF9fdTE2IHNhZGJfa2V5X2xlbjsKKyAgX191MTYgc2FkYl9rZXlfZXh0dHlwZTsKKyAgX191MTYgc2FkYl9rZXlfYml0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl9rZXlfcmVzZXJ2ZWQ7CisgIF9fdTE2IHNhZGJfa2V5X3Jlc2VydmVkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBzYWRiX2lkZW50IHsKLSBfX3UxNiBzYWRiX2lkZW50X2xlbjsKKyAgX191MTYgc2FkYl9pZGVudF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhZGJfaWRlbnRfZXh0dHlwZTsKLSBfX3UxNiBzYWRiX2lkZW50X3R5cGU7Ci0gX191MTYgc2FkYl9pZGVudF9yZXNlcnZlZDsKLSBfX3U2NCBzYWRiX2lkZW50X2lkOworICBfX3UxNiBzYWRiX2lkZW50X2V4dHR5cGU7CisgIF9fdTE2IHNhZGJfaWRlbnRfdHlwZTsKKyAgX191MTYgc2FkYl9pZGVudF9yZXNlcnZlZDsKKyAgX191NjQgc2FkYl9pZGVudF9pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHNhZGJfc2VucyB7Ci0gX191MTYgc2FkYl9zZW5zX2xlbjsKLSBfX3UxNiBzYWRiX3NlbnNfZXh0dHlwZTsKKyAgX191MTYgc2FkYl9zZW5zX2xlbjsKKyAgX191MTYgc2FkYl9zZW5zX2V4dHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNhZGJfc2Vuc19kcGQ7Ci0gX191OCBzYWRiX3NlbnNfc2Vuc19sZXZlbDsKLSBfX3U4IHNhZGJfc2Vuc19zZW5zX2xlbjsKLSBfX3U4IHNhZGJfc2Vuc19pbnRlZ19sZXZlbDsKKyAgX191MzIgc2FkYl9zZW5zX2RwZDsKKyAgX191OCBzYWRiX3NlbnNfc2Vuc19sZXZlbDsKKyAgX191OCBzYWRiX3NlbnNfc2Vuc19sZW47CisgIF9fdTggc2FkYl9zZW5zX2ludGVnX2xldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNhZGJfc2Vuc19pbnRlZ19sZW47Ci0gX191MzIgc2FkYl9zZW5zX3Jlc2VydmVkOworICBfX3U4IHNhZGJfc2Vuc19pbnRlZ19sZW47CisgIF9fdTMyIHNhZGJfc2Vuc19yZXNlcnZlZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3Qgc2FkYl9wcm9wIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl9wcm9wX2xlbjsKLSBfX3UxNiBzYWRiX3Byb3BfZXh0dHlwZTsKLSBfX3U4IHNhZGJfcHJvcF9yZXBsYXk7Ci0gX191OCBzYWRiX3Byb3BfcmVzZXJ2ZWRbM107CisgIF9fdTE2IHNhZGJfcHJvcF9sZW47CisgIF9fdTE2IHNhZGJfcHJvcF9leHR0eXBlOworICBfX3U4IHNhZGJfcHJvcF9yZXBsYXk7CisgIF9fdTggc2FkYl9wcm9wX3Jlc2VydmVkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3Qgc2FkYl9jb21iIHsKLSBfX3U4IHNhZGJfY29tYl9hdXRoOwotIF9fdTggc2FkYl9jb21iX2VuY3J5cHQ7CisgIF9fdTggc2FkYl9jb21iX2F1dGg7CisgIF9fdTggc2FkYl9jb21iX2VuY3J5cHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhZGJfY29tYl9mbGFnczsKLSBfX3UxNiBzYWRiX2NvbWJfYXV0aF9taW5iaXRzOwotIF9fdTE2IHNhZGJfY29tYl9hdXRoX21heGJpdHM7Ci0gX191MTYgc2FkYl9jb21iX2VuY3J5cHRfbWluYml0czsKKyAgX191MTYgc2FkYl9jb21iX2ZsYWdzOworICBfX3UxNiBzYWRiX2NvbWJfYXV0aF9taW5iaXRzOworICBfX3UxNiBzYWRiX2NvbWJfYXV0aF9tYXhiaXRzOworICBfX3UxNiBzYWRiX2NvbWJfZW5jcnlwdF9taW5iaXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzYWRiX2NvbWJfZW5jcnlwdF9tYXhiaXRzOwotIF9fdTMyIHNhZGJfY29tYl9yZXNlcnZlZDsKLSBfX3UzMiBzYWRiX2NvbWJfc29mdF9hbGxvY2F0aW9uczsKLSBfX3UzMiBzYWRiX2NvbWJfaGFyZF9hbGxvY2F0aW9uczsKKyAgX191MTYgc2FkYl9jb21iX2VuY3J5cHRfbWF4Yml0czsKKyAgX191MzIgc2FkYl9jb21iX3Jlc2VydmVkOworICBfX3UzMiBzYWRiX2NvbWJfc29mdF9hbGxvY2F0aW9uczsKKyAgX191MzIgc2FkYl9jb21iX2hhcmRfYWxsb2NhdGlvbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNhZGJfY29tYl9zb2Z0X2J5dGVzOwotIF9fdTY0IHNhZGJfY29tYl9oYXJkX2J5dGVzOwotIF9fdTY0IHNhZGJfY29tYl9zb2Z0X2FkZHRpbWU7Ci0gX191NjQgc2FkYl9jb21iX2hhcmRfYWRkdGltZTsKKyAgX191NjQgc2FkYl9jb21iX3NvZnRfYnl0ZXM7CisgIF9fdTY0IHNhZGJfY29tYl9oYXJkX2J5dGVzOworICBfX3U2NCBzYWRiX2NvbWJfc29mdF9hZGR0aW1lOworICBfX3U2NCBzYWRiX2NvbWJfaGFyZF9hZGR0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzYWRiX2NvbWJfc29mdF91c2V0aW1lOwotIF9fdTY0IHNhZGJfY29tYl9oYXJkX3VzZXRpbWU7CisgIF9fdTY0IHNhZGJfY29tYl9zb2Z0X3VzZXRpbWU7CisgIF9fdTY0IHNhZGJfY29tYl9oYXJkX3VzZXRpbWU7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHNhZGJfc3VwcG9ydGVkIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl9zdXBwb3J0ZWRfbGVuOwotIF9fdTE2IHNhZGJfc3VwcG9ydGVkX2V4dHR5cGU7Ci0gX191MzIgc2FkYl9zdXBwb3J0ZWRfcmVzZXJ2ZWQ7CisgIF9fdTE2IHNhZGJfc3VwcG9ydGVkX2xlbjsKKyAgX191MTYgc2FkYl9zdXBwb3J0ZWRfZXh0dHlwZTsKKyAgX191MzIgc2FkYl9zdXBwb3J0ZWRfcmVzZXJ2ZWQ7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzYWRiX2FsZyB7Ci0gX191OCBzYWRiX2FsZ19pZDsKLSBfX3U4IHNhZGJfYWxnX2l2bGVuOwotIF9fdTE2IHNhZGJfYWxnX21pbmJpdHM7CisgIF9fdTggc2FkYl9hbGdfaWQ7CisgIF9fdTggc2FkYl9hbGdfaXZsZW47CisgIF9fdTE2IHNhZGJfYWxnX21pbmJpdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhZGJfYWxnX21heGJpdHM7Ci0gX191MTYgc2FkYl9hbGdfcmVzZXJ2ZWQ7CisgIF9fdTE2IHNhZGJfYWxnX21heGJpdHM7CisgIF9fdTE2IHNhZGJfYWxnX3Jlc2VydmVkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBzYWRiX3NwaXJhbmdlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl9zcGlyYW5nZV9sZW47Ci0gX191MTYgc2FkYl9zcGlyYW5nZV9leHR0eXBlOwotIF9fdTMyIHNhZGJfc3BpcmFuZ2VfbWluOwotIF9fdTMyIHNhZGJfc3BpcmFuZ2VfbWF4OworICBfX3UxNiBzYWRiX3NwaXJhbmdlX2xlbjsKKyAgX191MTYgc2FkYl9zcGlyYW5nZV9leHR0eXBlOworICBfX3UzMiBzYWRiX3NwaXJhbmdlX21pbjsKKyAgX191MzIgc2FkYl9zcGlyYW5nZV9tYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNhZGJfc3BpcmFuZ2VfcmVzZXJ2ZWQ7CisgIF9fdTMyIHNhZGJfc3BpcmFuZ2VfcmVzZXJ2ZWQ7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHNhZGJfeF9rbXByaXZhdGUgewotIF9fdTE2IHNhZGJfeF9rbXByaXZhdGVfbGVuOworICBfX3UxNiBzYWRiX3hfa21wcml2YXRlX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl94X2ttcHJpdmF0ZV9leHR0eXBlOwotIF9fdTMyIHNhZGJfeF9rbXByaXZhdGVfcmVzZXJ2ZWQ7CisgIF9fdTE2IHNhZGJfeF9rbXByaXZhdGVfZXh0dHlwZTsKKyAgX191MzIgc2FkYl94X2ttcHJpdmF0ZV9yZXNlcnZlZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3Qgc2FkYl94X3NhMiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhZGJfeF9zYTJfbGVuOwotIF9fdTE2IHNhZGJfeF9zYTJfZXh0dHlwZTsKLSBfX3U4IHNhZGJfeF9zYTJfbW9kZTsKLSBfX3U4IHNhZGJfeF9zYTJfcmVzZXJ2ZWQxOworICBfX3UxNiBzYWRiX3hfc2EyX2xlbjsKKyAgX191MTYgc2FkYl94X3NhMl9leHR0eXBlOworICBfX3U4IHNhZGJfeF9zYTJfbW9kZTsKKyAgX191OCBzYWRiX3hfc2EyX3Jlc2VydmVkMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl94X3NhMl9yZXNlcnZlZDI7Ci0gX191MzIgc2FkYl94X3NhMl9zZXF1ZW5jZTsKLSBfX3UzMiBzYWRiX3hfc2EyX3JlcWlkOworICBfX3UxNiBzYWRiX3hfc2EyX3Jlc2VydmVkMjsKKyAgX191MzIgc2FkYl94X3NhMl9zZXF1ZW5jZTsKKyAgX191MzIgc2FkYl94X3NhMl9yZXFpZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNhZGJfeF9wb2xpY3kgewotIF9fdTE2IHNhZGJfeF9wb2xpY3lfbGVuOwotIF9fdTE2IHNhZGJfeF9wb2xpY3lfZXh0dHlwZTsKLSBfX3UxNiBzYWRiX3hfcG9saWN5X3R5cGU7CisgIF9fdTE2IHNhZGJfeF9wb2xpY3lfbGVuOworICBfX3UxNiBzYWRiX3hfcG9saWN5X2V4dHR5cGU7CisgIF9fdTE2IHNhZGJfeF9wb2xpY3lfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzYWRiX3hfcG9saWN5X2RpcjsKLSBfX3U4IHNhZGJfeF9wb2xpY3lfcmVzZXJ2ZWQ7Ci0gX191MzIgc2FkYl94X3BvbGljeV9pZDsKLSBfX3UzMiBzYWRiX3hfcG9saWN5X3ByaW9yaXR5OworICBfX3U4IHNhZGJfeF9wb2xpY3lfZGlyOworICBfX3U4IHNhZGJfeF9wb2xpY3lfcmVzZXJ2ZWQ7CisgIF9fdTMyIHNhZGJfeF9wb2xpY3lfaWQ7CisgIF9fdTMyIHNhZGJfeF9wb2xpY3lfcHJpb3JpdHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBzYWRiX3hfaXBzZWNyZXF1ZXN0IHsKLSBfX3UxNiBzYWRiX3hfaXBzZWNyZXF1ZXN0X2xlbjsKLSBfX3UxNiBzYWRiX3hfaXBzZWNyZXF1ZXN0X3Byb3RvOworICBfX3UxNiBzYWRiX3hfaXBzZWNyZXF1ZXN0X2xlbjsKKyAgX191MTYgc2FkYl94X2lwc2VjcmVxdWVzdF9wcm90bzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzYWRiX3hfaXBzZWNyZXF1ZXN0X21vZGU7Ci0gX191OCBzYWRiX3hfaXBzZWNyZXF1ZXN0X2xldmVsOwotIF9fdTE2IHNhZGJfeF9pcHNlY3JlcXVlc3RfcmVzZXJ2ZWQxOwotIF9fdTMyIHNhZGJfeF9pcHNlY3JlcXVlc3RfcmVxaWQ7CisgIF9fdTggc2FkYl94X2lwc2VjcmVxdWVzdF9tb2RlOworICBfX3U4IHNhZGJfeF9pcHNlY3JlcXVlc3RfbGV2ZWw7CisgIF9fdTE2IHNhZGJfeF9pcHNlY3JlcXVlc3RfcmVzZXJ2ZWQxOworICBfX3UzMiBzYWRiX3hfaXBzZWNyZXF1ZXN0X3JlcWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzYWRiX3hfaXBzZWNyZXF1ZXN0X3Jlc2VydmVkMjsKKyAgX191MzIgc2FkYl94X2lwc2VjcmVxdWVzdF9yZXNlcnZlZDI7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHNhZGJfeF9uYXRfdF90eXBlIHsKLSBfX3UxNiBzYWRiX3hfbmF0X3RfdHlwZV9sZW47CisgIF9fdTE2IHNhZGJfeF9uYXRfdF90eXBlX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2FkYl94X25hdF90X3R5cGVfZXh0dHlwZTsKLSBfX3U4IHNhZGJfeF9uYXRfdF90eXBlX3R5cGU7Ci0gX191OCBzYWRiX3hfbmF0X3RfdHlwZV9yZXNlcnZlZFszXTsKKyAgX191MTYgc2FkYl94X25hdF90X3R5cGVfZXh0dHlwZTsKKyAgX191OCBzYWRiX3hfbmF0X3RfdHlwZV90eXBlOworICBfX3U4IHNhZGJfeF9uYXRfdF90eXBlX3Jlc2VydmVkWzNdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc2FkYl94X25hdF90X3BvcnQgewotIF9fdTE2IHNhZGJfeF9uYXRfdF9wb3J0X2xlbjsKLSBfX3UxNiBzYWRiX3hfbmF0X3RfcG9ydF9leHR0eXBlOwotIF9fYmUxNiBzYWRiX3hfbmF0X3RfcG9ydF9wb3J0OworICBfX3UxNiBzYWRiX3hfbmF0X3RfcG9ydF9sZW47CisgIF9fdTE2IHNhZGJfeF9uYXRfdF9wb3J0X2V4dHR5cGU7CisgIF9fYmUxNiBzYWRiX3hfbmF0X3RfcG9ydF9wb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzYWRiX3hfbmF0X3RfcG9ydF9yZXNlcnZlZDsKKyAgX191MTYgc2FkYl94X25hdF90X3BvcnRfcmVzZXJ2ZWQ7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHNhZGJfeF9zZWNfY3R4IHsKLSBfX3UxNiBzYWRiX3hfc2VjX2xlbjsKKyAgX191MTYgc2FkYl94X3NlY19sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhZGJfeF9zZWNfZXh0dHlwZTsKLSBfX3U4IHNhZGJfeF9jdHhfYWxnOwotIF9fdTggc2FkYl94X2N0eF9kb2k7Ci0gX191MTYgc2FkYl94X2N0eF9sZW47CisgIF9fdTE2IHNhZGJfeF9zZWNfZXh0dHlwZTsKKyAgX191OCBzYWRiX3hfY3R4X2FsZzsKKyAgX191OCBzYWRiX3hfY3R4X2RvaTsKKyAgX191MTYgc2FkYl94X2N0eF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBzYWRiX3hfa21hZGRyZXNzIHsKLSBfX3UxNiBzYWRiX3hfa21hZGRyZXNzX2xlbjsKLSBfX3UxNiBzYWRiX3hfa21hZGRyZXNzX2V4dHR5cGU7CisgIF9fdTE2IHNhZGJfeF9rbWFkZHJlc3NfbGVuOworICBfX3UxNiBzYWRiX3hfa21hZGRyZXNzX2V4dHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNhZGJfeF9rbWFkZHJlc3NfcmVzZXJ2ZWQ7CisgIF9fdTMyIHNhZGJfeF9rbWFkZHJlc3NfcmVzZXJ2ZWQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworc3RydWN0IHNhZGJfeF9maWx0ZXIgeworICBfX3UxNiBzYWRiX3hfZmlsdGVyX2xlbjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHNhZGJfeF9maWx0ZXJfZXh0dHlwZTsKKyAgX191MzIgc2FkYl94X2ZpbHRlcl9zYWRkcls0XTsKKyAgX191MzIgc2FkYl94X2ZpbHRlcl9kYWRkcls0XTsKKyAgX191MTYgc2FkYl94X2ZpbHRlcl9mYW1pbHk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHNhZGJfeF9maWx0ZXJfc3BsZW47CisgIF9fdTggc2FkYl94X2ZpbHRlcl9kcGxlbjsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFNBREJfUkVTRVJWRUQgMAotI2RlZmluZSBTQURCX0dFVFNQSSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX0dFVFNQSSAxCiAjZGVmaW5lIFNBREJfVVBEQVRFIDIKICNkZWZpbmUgU0FEQl9BREQgMwogI2RlZmluZSBTQURCX0RFTEVURSA0Ci0jZGVmaW5lIFNBREJfR0VUIDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfR0VUIDUKICNkZWZpbmUgU0FEQl9BQ1FVSVJFIDYKICNkZWZpbmUgU0FEQl9SRUdJU1RFUiA3CiAjZGVmaW5lIFNBREJfRVhQSVJFIDgKLSNkZWZpbmUgU0FEQl9GTFVTSCA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX0ZMVVNIIDkKICNkZWZpbmUgU0FEQl9EVU1QIDEwCiAjZGVmaW5lIFNBREJfWF9QUk9NSVNDIDExCiAjZGVmaW5lIFNBREJfWF9QQ0hBTkdFIDEyCi0jZGVmaW5lIFNBREJfWF9TUERVUERBVEUgMTMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfWF9TUERVUERBVEUgMTMKICNkZWZpbmUgU0FEQl9YX1NQREFERCAxNAogI2RlZmluZSBTQURCX1hfU1BEREVMRVRFIDE1CiAjZGVmaW5lIFNBREJfWF9TUERHRVQgMTYKLSNkZWZpbmUgU0FEQl9YX1NQREFDUVVJUkUgMTcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfWF9TUERBQ1FVSVJFIDE3CiAjZGVmaW5lIFNBREJfWF9TUEREVU1QIDE4CiAjZGVmaW5lIFNBREJfWF9TUERGTFVTSCAxOQogI2RlZmluZSBTQURCX1hfU1BEU0VUSURYIDIwCi0jZGVmaW5lIFNBREJfWF9TUERFWFBJUkUgMjEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfWF9TUERFWFBJUkUgMjEKICNkZWZpbmUgU0FEQl9YX1NQRERFTEVURTIgMjIKICNkZWZpbmUgU0FEQl9YX05BVF9UX05FV19NQVBQSU5HIDIzCiAjZGVmaW5lIFNBREJfWF9NSUdSQVRFIDI0Ci0jZGVmaW5lIFNBREJfTUFYIDI0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX01BWCAyNAogI2RlZmluZSBTQURCX1NBRkxBR1NfUEZTIDEKICNkZWZpbmUgU0FEQl9TQUZMQUdTX05PUE1UVURJU0MgMHgyMDAwMDAwMAogI2RlZmluZSBTQURCX1NBRkxBR1NfREVDQVBfRFNDUCAweDQwMDAwMDAwCi0jZGVmaW5lIFNBREJfU0FGTEFHU19OT0VDTiAweDgwMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX1NBRkxBR1NfTk9FQ04gMHg4MDAwMDAwMAogI2RlZmluZSBTQURCX1NBU1RBVEVfTEFSVkFMIDAKICNkZWZpbmUgU0FEQl9TQVNUQVRFX01BVFVSRSAxCiAjZGVmaW5lIFNBREJfU0FTVEFURV9EWUlORyAyCi0jZGVmaW5lIFNBREJfU0FTVEFURV9ERUFEIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfU0FTVEFURV9ERUFEIDMKICNkZWZpbmUgU0FEQl9TQVNUQVRFX01BWCAzCiAjZGVmaW5lIFNBREJfU0FUWVBFX1VOU1BFQyAwCiAjZGVmaW5lIFNBREJfU0FUWVBFX0FIIDIKLSNkZWZpbmUgU0FEQl9TQVRZUEVfRVNQIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfU0FUWVBFX0VTUCAzCiAjZGVmaW5lIFNBREJfU0FUWVBFX1JTVlAgNQogI2RlZmluZSBTQURCX1NBVFlQRV9PU1BGVjIgNgogI2RlZmluZSBTQURCX1NBVFlQRV9SSVBWMiA3Ci0jZGVmaW5lIFNBREJfU0FUWVBFX01JUCA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX1NBVFlQRV9NSVAgOAogI2RlZmluZSBTQURCX1hfU0FUWVBFX0lQQ09NUCA5CiAjZGVmaW5lIFNBREJfU0FUWVBFX01BWCA5CiAjZGVmaW5lIFNBREJfQUFMR19OT05FIDAKLSNkZWZpbmUgU0FEQl9BQUxHX01ENUhNQUMgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9BQUxHX01ENUhNQUMgMgogI2RlZmluZSBTQURCX0FBTEdfU0hBMUhNQUMgMwogI2RlZmluZSBTQURCX1hfQUFMR19TSEEyXzI1NkhNQUMgNQogI2RlZmluZSBTQURCX1hfQUFMR19TSEEyXzM4NEhNQUMgNgotI2RlZmluZSBTQURCX1hfQUFMR19TSEEyXzUxMkhNQUMgNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9YX0FBTEdfU0hBMl81MTJITUFDIDcKICNkZWZpbmUgU0FEQl9YX0FBTEdfUklQRU1EMTYwSE1BQyA4CiAjZGVmaW5lIFNBREJfWF9BQUxHX0FFU19YQ0JDX01BQyA5CiAjZGVmaW5lIFNBREJfWF9BQUxHX05VTEwgMjUxCi0jZGVmaW5lIFNBREJfQUFMR19NQVggMjUxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX0FBTEdfTUFYIDI1MQogI2RlZmluZSBTQURCX0VBTEdfTk9ORSAwCiAjZGVmaW5lIFNBREJfRUFMR19ERVNDQkMgMgogI2RlZmluZSBTQURCX0VBTEdfM0RFU0NCQyAzCi0jZGVmaW5lIFNBREJfWF9FQUxHX0NBU1RDQkMgNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9YX0VBTEdfQ0FTVENCQyA2CiAjZGVmaW5lIFNBREJfWF9FQUxHX0JMT1dGSVNIQ0JDIDcKICNkZWZpbmUgU0FEQl9FQUxHX05VTEwgMTEKICNkZWZpbmUgU0FEQl9YX0VBTEdfQUVTQ0JDIDEyCi0jZGVmaW5lIFNBREJfWF9FQUxHX0FFU0NUUiAxMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9YX0VBTEdfQUVTQ1RSIDEzCiAjZGVmaW5lIFNBREJfWF9FQUxHX0FFU19DQ01fSUNWOCAxNAogI2RlZmluZSBTQURCX1hfRUFMR19BRVNfQ0NNX0lDVjEyIDE1CiAjZGVmaW5lIFNBREJfWF9FQUxHX0FFU19DQ01fSUNWMTYgMTYKLSNkZWZpbmUgU0FEQl9YX0VBTEdfQUVTX0dDTV9JQ1Y4IDE4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX1hfRUFMR19BRVNfR0NNX0lDVjggMTgKICNkZWZpbmUgU0FEQl9YX0VBTEdfQUVTX0dDTV9JQ1YxMiAxOQogI2RlZmluZSBTQURCX1hfRUFMR19BRVNfR0NNX0lDVjE2IDIwCiAjZGVmaW5lIFNBREJfWF9FQUxHX0NBTUVMTElBQ0JDIDIyCi0jZGVmaW5lIFNBREJfWF9FQUxHX05VTExfQUVTX0dNQUMgMjMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfWF9FQUxHX05VTExfQUVTX0dNQUMgMjMKICNkZWZpbmUgU0FEQl9FQUxHX01BWCAyNTMKICNkZWZpbmUgU0FEQl9YX0VBTEdfU0VSUEVOVENCQyAyNTIKICNkZWZpbmUgU0FEQl9YX0VBTEdfVFdPRklTSENCQyAyNTMKLSNkZWZpbmUgU0FEQl9YX0NBTEdfTk9ORSAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX1hfQ0FMR19OT05FIDAKICNkZWZpbmUgU0FEQl9YX0NBTEdfT1VJIDEKICNkZWZpbmUgU0FEQl9YX0NBTEdfREVGTEFURSAyCiAjZGVmaW5lIFNBREJfWF9DQUxHX0xaUyAzCi0jZGVmaW5lIFNBREJfWF9DQUxHX0xaSkggNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9YX0NBTEdfTFpKSCA0CiAjZGVmaW5lIFNBREJfWF9DQUxHX01BWCA0CiAjZGVmaW5lIFNBREJfRVhUX1JFU0VSVkVEIDAKICNkZWZpbmUgU0FEQl9FWFRfU0EgMQotI2RlZmluZSBTQURCX0VYVF9MSUZFVElNRV9DVVJSRU5UIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfRVhUX0xJRkVUSU1FX0NVUlJFTlQgMgogI2RlZmluZSBTQURCX0VYVF9MSUZFVElNRV9IQVJEIDMKICNkZWZpbmUgU0FEQl9FWFRfTElGRVRJTUVfU09GVCA0CiAjZGVmaW5lIFNBREJfRVhUX0FERFJFU1NfU1JDIDUKLSNkZWZpbmUgU0FEQl9FWFRfQUREUkVTU19EU1QgNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9FWFRfQUREUkVTU19EU1QgNgogI2RlZmluZSBTQURCX0VYVF9BRERSRVNTX1BST1hZIDcKICNkZWZpbmUgU0FEQl9FWFRfS0VZX0FVVEggOAogI2RlZmluZSBTQURCX0VYVF9LRVlfRU5DUllQVCA5Ci0jZGVmaW5lIFNBREJfRVhUX0lERU5USVRZX1NSQyAxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9FWFRfSURFTlRJVFlfU1JDIDEwCiAjZGVmaW5lIFNBREJfRVhUX0lERU5USVRZX0RTVCAxMQogI2RlZmluZSBTQURCX0VYVF9TRU5TSVRJVklUWSAxMgogI2RlZmluZSBTQURCX0VYVF9QUk9QT1NBTCAxMwotI2RlZmluZSBTQURCX0VYVF9TVVBQT1JURURfQVVUSCAxNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU0FEQl9FWFRfU1VQUE9SVEVEX0FVVEggMTQKICNkZWZpbmUgU0FEQl9FWFRfU1VQUE9SVEVEX0VOQ1JZUFQgMTUKICNkZWZpbmUgU0FEQl9FWFRfU1BJUkFOR0UgMTYKICNkZWZpbmUgU0FEQl9YX0VYVF9LTVBSSVZBVEUgMTcKLSNkZWZpbmUgU0FEQl9YX0VYVF9QT0xJQ1kgMTgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfWF9FWFRfUE9MSUNZIDE4CiAjZGVmaW5lIFNBREJfWF9FWFRfU0EyIDE5CiAjZGVmaW5lIFNBREJfWF9FWFRfTkFUX1RfVFlQRSAyMAogI2RlZmluZSBTQURCX1hfRVhUX05BVF9UX1NQT1JUIDIxCi0jZGVmaW5lIFNBREJfWF9FWFRfTkFUX1RfRFBPUlQgMjIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNBREJfWF9FWFRfTkFUX1RfRFBPUlQgMjIKICNkZWZpbmUgU0FEQl9YX0VYVF9OQVRfVF9PQSAyMwogI2RlZmluZSBTQURCX1hfRVhUX1NFQ19DVFggMjQKICNkZWZpbmUgU0FEQl9YX0VYVF9LTUFERFJFU1MgMjUKLSNkZWZpbmUgU0FEQl9FWFRfTUFYIDI1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQURCX1hfRVhUX0ZJTFRFUiAyNgorI2RlZmluZSBTQURCX0VYVF9NQVggMjYKICNkZWZpbmUgU0FEQl9JREVOVFRZUEVfUkVTRVJWRUQgMAogI2RlZmluZSBTQURCX0lERU5UVFlQRV9QUkVGSVggMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0FEQl9JREVOVFRZUEVfRlFETiAyCiAjZGVmaW5lIFNBREJfSURFTlRUWVBFX1VTRVJGUUROIDMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBREJfSURFTlRUWVBFX01BWCAzCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BnLmgKaW5kZXggODI2ODZkYS4uZGI4ODQ0MiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGcuaApAQCAtMjIsMTkgKzIyLDE5IEBACiAjZGVmaW5lIFBHX01BWF9EQVRBIDMyNzY4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHBnX3dyaXRlX2hkciB7Ci0gY2hhciBtYWdpYzsKLSBjaGFyIGZ1bmM7Ci0gaW50IGRsZW47CisgIGNoYXIgbWFnaWM7CisgIGNoYXIgZnVuYzsKKyAgaW50IGRsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0aW1lb3V0OwotIGNoYXIgcGFja2V0WzEyXTsKKyAgaW50IHRpbWVvdXQ7CisgIGNoYXIgcGFja2V0WzEyXTsKIH07CiBzdHJ1Y3QgcGdfcmVhZF9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG1hZ2ljOwotIGNoYXIgc2NzaTsKLSBpbnQgZGxlbjsKLSBpbnQgZHVyYXRpb247CisgIGNoYXIgbWFnaWM7CisgIGNoYXIgc2NzaTsKKyAgaW50IGRsZW47CisgIGludCBkdXJhdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBwYWRbMTJdOworICBjaGFyIHBhZFsxMl07CiB9OwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9waGFudG9tLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BoYW50b20uaAppbmRleCBkNDM2ZWMxLi4wZGExNDExIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BoYW50b20uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BoYW50b20uaApAQCAtMjEsMTQgKzIxLDE0IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBwaG1fcmVnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVnOwotIF9fdTMyIHZhbHVlOworICBfX3UzMiByZWc7CisgIF9fdTMyIHZhbHVlOwogfTsKIHN0cnVjdCBwaG1fcmVncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNvdW50OwotIF9fdTMyIG1hc2s7Ci0gX191MzIgdmFsdWVzWzhdOworICBfX3UzMiBjb3VudDsKKyAgX191MzIgbWFzazsKKyAgX191MzIgdmFsdWVzWzhdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBIX0lPQ19NQUdJQyAncCcKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGhvbmV0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Bob25ldC5oCmluZGV4IDQwMTMyYmQuLjJiNWU3ODcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGhvbmV0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9waG9uZXQuaApAQCAtNDMsMzIgKzQzLDMyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTSU9DUE5ERUxSRVNPVVJDRSAoU0lPQ1BST1RPUFJJVkFURSArIDE1KQogc3RydWN0IHBob25ldGhkciB7Ci0gX191OCBwbl9yZGV2OwotIF9fdTggcG5fc2RldjsKKyAgX191OCBwbl9yZGV2OworICBfX3U4IHBuX3NkZXY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcG5fcmVzOwotIF9fYmUxNiBwbl9sZW5ndGg7Ci0gX191OCBwbl9yb2JqOwotIF9fdTggcG5fc29iajsKKyAgX191OCBwbl9yZXM7CisgIF9fYmUxNiBwbl9sZW5ndGg7CisgIF9fdTggcG5fcm9iajsKKyAgX191OCBwbl9zb2JqOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgcGhvbmV0bXNnIHsKLSBfX3U4IHBuX3RyYW5zX2lkOwotIF9fdTggcG5fbXNnX2lkOworICBfX3U4IHBuX3RyYW5zX2lkOworICBfX3U4IHBuX21zZ19pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHN0cnVjdCB7Ci0gX191OCBwbl9zdWJtc2dfaWQ7Ci0gX191OCBwbl9kYXRhWzVdOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggcG5fc3VibXNnX2lkOworICAgICAgX191OCBwbl9kYXRhWzVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGJhc2U7Ci0gc3RydWN0IHsKLSBfX3UxNiBwbl9lX3Jlc19pZDsKLSBfX3U4IHBuX2Vfc3VibXNnX2lkOworICAgIH0gYmFzZTsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MTYgcG5fZV9yZXNfaWQ7CisgICAgICBfX3U4IHBuX2Vfc3VibXNnX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBuX2VfZGF0YVszXTsKLSB9IGV4dDsKLSB9IHBuX21zZ191OworICAgICAgX191OCBwbl9lX2RhdGFbM107CisgICAgfSBleHQ7CisgIH0gcG5fbXNnX3U7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUE5fQ09NTU9OX01FU1NBR0UgMHhGMApAQCAtODksMTIgKzg5LDEyIEBACiAjZGVmaW5lIHBuX2Vfb3JpZ19tc2dfaWQgcG5fZV9kYXRhWzBdCiAjZGVmaW5lIHBuX2Vfc3RhdHVzIHBuX2VfZGF0YVsxXQogc3RydWN0IHNvY2thZGRyX3BuIHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzcG5fZmFtaWx5OworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzcG5fZmFtaWx5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNwbl9vYmo7Ci0gX191OCBzcG5fZGV2OwotIF9fdTggc3BuX3Jlc291cmNlOwotIF9fdTggc3BuX3plcm9bc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikgLSBzaXplb2YoX19rZXJuZWxfc2FfZmFtaWx5X3QpIC0gM107CisgIF9fdTggc3BuX29iajsKKyAgX191OCBzcG5fZGV2OworICBfX3U4IHNwbl9yZXNvdXJjZTsKKyAgX191OCBzcG5femVyb1tzaXplb2Yoc3RydWN0IHNvY2thZGRyKSAtIHNpemVvZihfX2tlcm5lbF9zYV9mYW1pbHlfdCkgLSAzXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBQTl9ERVZfUEMgMHgxMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wa3RfY2xzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BrdF9jbHMuaAppbmRleCA5MmVhMGRmLi44Yzg3YmFlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BrdF9jbHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BrdF9jbHMuaApAQCAtMjMsMjggKzIzLDI4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfVENfTUFLRTMyKHgpICgoeCkpCiAjZGVmaW5lIF9UQ19NQUtFTUFTSzEobikgKF9UQ19NQUtFMzIoMSkgPDwgX1RDX01BS0UzMihuKSkKLSNkZWZpbmUgX1RDX01BS0VNQVNLKHYsbikgKF9UQ19NQUtFMzIoKF9UQ19NQUtFMzIoMSk8PCh2KSktMSkgPDwgX1RDX01BS0UzMihuKSkKKyNkZWZpbmUgX1RDX01BS0VNQVNLKHYsbikgKF9UQ19NQUtFMzIoKF9UQ19NQUtFMzIoMSkgPDwgKHYpKSAtIDEpIDw8IF9UQ19NQUtFMzIobikpCiAjZGVmaW5lIF9UQ19NQUtFVkFMVUUodixuKSAoX1RDX01BS0UzMih2KSA8PCBfVENfTUFLRTMyKG4pKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX1RDX0dFVFZBTFVFKHYsbixtKSAoKF9UQ19NQUtFMzIodikgJiBfVENfTUFLRTMyKG0pKSA+PiBfVENfTUFLRTMyKG4pKQogI2RlZmluZSBUQ19NVU5HRUQgX1RDX01BS0VNQVNLMSgwKQotI2RlZmluZSBTRVRfVENfTVVOR0VEKHYpICggVENfTVVOR0VEIHwgKHYgJiB+VENfTVVOR0VEKSkKLSNkZWZpbmUgQ0xSX1RDX01VTkdFRCh2KSAoIHYgJiB+VENfTVVOR0VEKQorI2RlZmluZSBTRVRfVENfTVVOR0VEKHYpIChUQ19NVU5HRUQgfCAodiAmIH5UQ19NVU5HRUQpKQorI2RlZmluZSBDTFJfVENfTVVOR0VEKHYpICh2ICYgflRDX01VTkdFRCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDX09LMk1VTkdFIF9UQ19NQUtFTUFTSzEoMSkKLSNkZWZpbmUgU0VUX1RDX09LMk1VTkdFKHYpICggVENfT0syTVVOR0UgfCAodiAmIH5UQ19PSzJNVU5HRSkpCi0jZGVmaW5lIENMUl9UQ19PSzJNVU5HRSh2KSAoIHYgJiB+VENfT0syTVVOR0UpCisjZGVmaW5lIFNFVF9UQ19PSzJNVU5HRSh2KSAoVENfT0syTVVOR0UgfCAodiAmIH5UQ19PSzJNVU5HRSkpCisjZGVmaW5lIENMUl9UQ19PSzJNVU5HRSh2KSAodiAmIH5UQ19PSzJNVU5HRSkKICNkZWZpbmUgU19UQ19WRVJEIF9UQ19NQUtFMzIoMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1fVENfVkVSRCBfVENfTUFLRU1BU0soNCxTX1RDX1ZFUkQpCi0jZGVmaW5lIEdfVENfVkVSRCh4KSBfVENfR0VUVkFMVUUoeCxTX1RDX1ZFUkQsTV9UQ19WRVJEKQotI2RlZmluZSBWX1RDX1ZFUkQoeCkgX1RDX01BS0VWQUxVRSh4LFNfVENfVkVSRCkKKyNkZWZpbmUgTV9UQ19WRVJEIF9UQ19NQUtFTUFTSyg0LCBTX1RDX1ZFUkQpCisjZGVmaW5lIEdfVENfVkVSRCh4KSBfVENfR0VUVkFMVUUoeCwgU19UQ19WRVJELCBNX1RDX1ZFUkQpCisjZGVmaW5lIFZfVENfVkVSRCh4KSBfVENfTUFLRVZBTFVFKHgsIFNfVENfVkVSRCkKICNkZWZpbmUgU0VUX1RDX1ZFUkQodixuKSAoKFZfVENfVkVSRChuKSkgfCAodiAmIH5NX1RDX1ZFUkQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU19UQ19GUk9NIF9UQ19NQUtFMzIoNikKLSNkZWZpbmUgTV9UQ19GUk9NIF9UQ19NQUtFTUFTSygyLFNfVENfRlJPTSkKLSNkZWZpbmUgR19UQ19GUk9NKHgpIF9UQ19HRVRWQUxVRSh4LFNfVENfRlJPTSxNX1RDX0ZST00pCi0jZGVmaW5lIFZfVENfRlJPTSh4KSBfVENfTUFLRVZBTFVFKHgsU19UQ19GUk9NKQorI2RlZmluZSBNX1RDX0ZST00gX1RDX01BS0VNQVNLKDIsIFNfVENfRlJPTSkKKyNkZWZpbmUgR19UQ19GUk9NKHgpIF9UQ19HRVRWQUxVRSh4LCBTX1RDX0ZST00sIE1fVENfRlJPTSkKKyNkZWZpbmUgVl9UQ19GUk9NKHgpIF9UQ19NQUtFVkFMVUUoeCwgU19UQ19GUk9NKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VUX1RDX0ZST00odixuKSAoKFZfVENfRlJPTShuKSkgfCAodiAmIH5NX1RDX0ZST00pKQogI2RlZmluZSBBVF9TVEFDSyAweDAKQEAgLTUyLDMzICs1MiwzMyBAQAogI2RlZmluZSBBVF9FR1JFU1MgMHgyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ19OQ0xTIF9UQ19NQUtFTUFTSzEoOCkKLSNkZWZpbmUgU0VUX1RDX05DTFModikgKCBUQ19OQ0xTIHwgKHYgJiB+VENfTkNMUykpCi0jZGVmaW5lIENMUl9UQ19OQ0xTKHYpICggdiAmIH5UQ19OQ0xTKQorI2RlZmluZSBTRVRfVENfTkNMUyh2KSAoVENfTkNMUyB8ICh2ICYgflRDX05DTFMpKQorI2RlZmluZSBDTFJfVENfTkNMUyh2KSAodiAmIH5UQ19OQ0xTKQogI2RlZmluZSBTX1RDX1JUVEwgX1RDX01BS0UzMig5KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTV9UQ19SVFRMIF9UQ19NQUtFTUFTSygzLFNfVENfUlRUTCkKLSNkZWZpbmUgR19UQ19SVFRMKHgpIF9UQ19HRVRWQUxVRSh4LFNfVENfUlRUTCxNX1RDX1JUVEwpCi0jZGVmaW5lIFZfVENfUlRUTCh4KSBfVENfTUFLRVZBTFVFKHgsU19UQ19SVFRMKQorI2RlZmluZSBNX1RDX1JUVEwgX1RDX01BS0VNQVNLKDMsIFNfVENfUlRUTCkKKyNkZWZpbmUgR19UQ19SVFRMKHgpIF9UQ19HRVRWQUxVRSh4LCBTX1RDX1JUVEwsIE1fVENfUlRUTCkKKyNkZWZpbmUgVl9UQ19SVFRMKHgpIF9UQ19NQUtFVkFMVUUoeCwgU19UQ19SVFRMKQogI2RlZmluZSBTRVRfVENfUlRUTCh2LG4pICgoVl9UQ19SVFRMKG4pKSB8ICh2ICYgfk1fVENfUlRUTCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTX1RDX0FUIF9UQ19NQUtFMzIoMTIpCi0jZGVmaW5lIE1fVENfQVQgX1RDX01BS0VNQVNLKDIsU19UQ19BVCkKLSNkZWZpbmUgR19UQ19BVCh4KSBfVENfR0VUVkFMVUUoeCxTX1RDX0FULE1fVENfQVQpCi0jZGVmaW5lIFZfVENfQVQoeCkgX1RDX01BS0VWQUxVRSh4LFNfVENfQVQpCisjZGVmaW5lIE1fVENfQVQgX1RDX01BS0VNQVNLKDIsIFNfVENfQVQpCisjZGVmaW5lIEdfVENfQVQoeCkgX1RDX0dFVFZBTFVFKHgsIFNfVENfQVQsIE1fVENfQVQpCisjZGVmaW5lIFZfVENfQVQoeCkgX1RDX01BS0VWQUxVRSh4LCBTX1RDX0FUKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VUX1RDX0FUKHYsbikgKChWX1RDX0FUKG4pKSB8ICh2ICYgfk1fVENfQVQpKQogZW51bSB7Ci0gVENBX0FDVF9VTlNQRUMsCi0gVENBX0FDVF9LSU5ELAorICBUQ0FfQUNUX1VOU1BFQywKKyAgVENBX0FDVF9LSU5ELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQUNUX09QVElPTlMsCi0gVENBX0FDVF9JTkRFWCwKLSBUQ0FfQUNUX1NUQVRTLAotIF9fVENBX0FDVF9NQVgKKyAgVENBX0FDVF9PUFRJT05TLAorICBUQ0FfQUNUX0lOREVYLAorICBUQ0FfQUNUX1NUQVRTLAorICBfX1RDQV9BQ1RfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVENBX0FDVF9NQVggX19UQ0FfQUNUX01BWAotI2RlZmluZSBUQ0FfT0xEX0NPTVBBVCAoVENBX0FDVF9NQVgrMSkKKyNkZWZpbmUgVENBX09MRF9DT01QQVQgKFRDQV9BQ1RfTUFYICsgMSkKICNkZWZpbmUgVENBX0FDVF9NQVhfUFJJTyAzMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX0FDVF9CSU5EIDEKQEAgLTkxLDcgKzkxLDcgQEAKICNkZWZpbmUgTUFYX1JFQ19MT09QIDQKICNkZWZpbmUgTUFYX1JFRF9MT09QIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFRDX0FDVF9VTlNQRUMgKC0xKQorI2RlZmluZSBUQ19BQ1RfVU5TUEVDICgtIDEpCiAjZGVmaW5lIFRDX0FDVF9PSyAwCiAjZGVmaW5lIFRDX0FDVF9SRUNMQVNTSUZZIDEKICNkZWZpbmUgVENfQUNUX1NIT1QgMgpAQCAtMTAzLDEyMCArMTAzLDEyMCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENfQUNUX0pVTVAgMHgxMDAwMDAwMAogZW51bSB7Ci0gVENBX0lEX1VOU1BFQz0wLAotIFRDQV9JRF9QT0xJQ0U9MSwKKyAgVENBX0lEX1VOU1BFQyA9IDAsCisgIFRDQV9JRF9QT0xJQ0UgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX1RDQV9JRF9NQVg9MjU1CisgIF9fVENBX0lEX01BWCA9IDI1NQogfTsKICNkZWZpbmUgVENBX0lEX01BWCBfX1RDQV9JRF9NQVgKIHN0cnVjdCB0Y19wb2xpY2UgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbmRleDsKLSBpbnQgYWN0aW9uOworICBfX3UzMiBpbmRleDsKKyAgaW50IGFjdGlvbjsKICNkZWZpbmUgVENfUE9MSUNFX1VOU1BFQyBUQ19BQ1RfVU5TUEVDCiAjZGVmaW5lIFRDX1BPTElDRV9PSyBUQ19BQ1RfT0sKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDX1BPTElDRV9SRUNMQVNTSUZZIFRDX0FDVF9SRUNMQVNTSUZZCiAjZGVmaW5lIFRDX1BPTElDRV9TSE9UIFRDX0FDVF9TSE9UCiAjZGVmaW5lIFRDX1BPTElDRV9QSVBFIFRDX0FDVF9QSVBFCi0gX191MzIgbGltaXQ7CisgIF9fdTMyIGxpbWl0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBidXJzdDsKLSBfX3UzMiBtdHU7Ci0gc3RydWN0IHRjX3JhdGVzcGVjIHJhdGU7Ci0gc3RydWN0IHRjX3JhdGVzcGVjIHBlYWtyYXRlOworICBfX3UzMiBidXJzdDsKKyAgX191MzIgbXR1OworICBzdHJ1Y3QgdGNfcmF0ZXNwZWMgcmF0ZTsKKyAgc3RydWN0IHRjX3JhdGVzcGVjIHBlYWtyYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcmVmY250OwotIGludCBiaW5kY250OwotIF9fdTMyIGNhcGFiOworICBpbnQgcmVmY250OworICBpbnQgYmluZGNudDsKKyAgX191MzIgY2FwYWI7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y2ZfdCB7Ci0gX191NjQgaW5zdGFsbDsKLSBfX3U2NCBsYXN0dXNlOwotIF9fdTY0IGV4cGlyZXM7CisgIF9fdTY0IGluc3RhbGw7CisgIF9fdTY0IGxhc3R1c2U7CisgIF9fdTY0IGV4cGlyZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB0Y19jbnQgewotIGludCByZWZjbnQ7Ci0gaW50IGJpbmRjbnQ7CisgIGludCByZWZjbnQ7CisgIGludCBiaW5kY250OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIHRjX2dlbiAgIF9fdTMyIGluZGV4OyAgIF9fdTMyIGNhcGFiOyAgIGludCBhY3Rpb247ICAgaW50IHJlZmNudDsgICBpbnQgYmluZGNudAorI2RlZmluZSB0Y19nZW4gX191MzIgaW5kZXg7IF9fdTMyIGNhcGFiOyBpbnQgYWN0aW9uOyBpbnQgcmVmY250OyBpbnQgYmluZGNudAogZW51bSB7Ci0gVENBX1BPTElDRV9VTlNQRUMsCisgIFRDQV9QT0xJQ0VfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfUE9MSUNFX1RCRiwKLSBUQ0FfUE9MSUNFX1JBVEUsCi0gVENBX1BPTElDRV9QRUFLUkFURSwKLSBUQ0FfUE9MSUNFX0FWUkFURSwKKyAgVENBX1BPTElDRV9UQkYsCisgIFRDQV9QT0xJQ0VfUkFURSwKKyAgVENBX1BPTElDRV9QRUFLUkFURSwKKyAgVENBX1BPTElDRV9BVlJBVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9QT0xJQ0VfUkVTVUxULAotIF9fVENBX1BPTElDRV9NQVgKKyAgVENBX1BPTElDRV9SRVNVTFQsCisgIF9fVENBX1BPTElDRV9NQVgKICNkZWZpbmUgVENBX1BPTElDRV9SRVNVTFQgVENBX1BPTElDRV9SRVNVTFQKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfUE9MSUNFX01BWCAoX19UQ0FfUE9MSUNFX01BWCAtIDEpCi0jZGVmaW5lIFRDX1UzMl9IVElEKGgpICgoaCkmMHhGRkYwMDAwMCkKLSNkZWZpbmUgVENfVTMyX1VTRVJIVElEKGgpIChUQ19VMzJfSFRJRChoKT4+MjApCi0jZGVmaW5lIFRDX1UzMl9IQVNIKGgpICgoKGgpPj4xMikmMHhGRikKKyNkZWZpbmUgVENfVTMyX0hUSUQoaCkgKChoKSAmIDB4RkZGMDAwMDApCisjZGVmaW5lIFRDX1UzMl9VU0VSSFRJRChoKSAoVENfVTMyX0hUSUQoaCkgPj4gMjApCisjZGVmaW5lIFRDX1UzMl9IQVNIKGgpICgoKGgpID4+IDEyKSAmIDB4RkYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBUQ19VMzJfTk9ERShoKSAoKGgpJjB4RkZGKQotI2RlZmluZSBUQ19VMzJfS0VZKGgpICgoaCkmMHhGRkZGRikKKyNkZWZpbmUgVENfVTMyX05PREUoaCkgKChoKSAmIDB4RkZGKQorI2RlZmluZSBUQ19VMzJfS0VZKGgpICgoaCkgJiAweEZGRkZGKQogI2RlZmluZSBUQ19VMzJfVU5TUEVDIDAKICNkZWZpbmUgVENfVTMyX1JPT1QgKDB4RkZGMDAwMDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVENBX1UzMl9VTlNQRUMsCi0gVENBX1UzMl9DTEFTU0lELAotIFRDQV9VMzJfSEFTSCwKKyAgVENBX1UzMl9VTlNQRUMsCisgIFRDQV9VMzJfQ0xBU1NJRCwKKyAgVENBX1UzMl9IQVNILAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfVTMyX0xJTkssCi0gVENBX1UzMl9ESVZJU09SLAotIFRDQV9VMzJfU0VMLAotIFRDQV9VMzJfUE9MSUNFLAorICBUQ0FfVTMyX0xJTkssCisgIFRDQV9VMzJfRElWSVNPUiwKKyAgVENBX1UzMl9TRUwsCisgIFRDQV9VMzJfUE9MSUNFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfVTMyX0FDVCwKLSBUQ0FfVTMyX0lOREVWLAotIFRDQV9VMzJfUENOVCwKLSBUQ0FfVTMyX01BUkssCisgIFRDQV9VMzJfQUNULAorICBUQ0FfVTMyX0lOREVWLAorICBUQ0FfVTMyX1BDTlQsCisgIFRDQV9VMzJfTUFSSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19UQ0FfVTMyX01BWAorICBfX1RDQV9VMzJfTUFYCiB9OwogI2RlZmluZSBUQ0FfVTMyX01BWCAoX19UQ0FfVTMyX01BWCAtIDEpCiBzdHJ1Y3QgdGNfdTMyX2tleSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBtYXNrOwotIF9fYmUzMiB2YWw7Ci0gaW50IG9mZjsKLSBpbnQgb2ZmbWFzazsKKyAgX19iZTMyIG1hc2s7CisgIF9fYmUzMiB2YWw7CisgIGludCBvZmY7CisgIGludCBvZmZtYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdGNfdTMyX3NlbCB7Ci0gdW5zaWduZWQgY2hhciBmbGFnczsKLSB1bnNpZ25lZCBjaGFyIG9mZnNoaWZ0OworICB1bnNpZ25lZCBjaGFyIGZsYWdzOworICB1bnNpZ25lZCBjaGFyIG9mZnNoaWZ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIG5rZXlzOwotIF9fYmUxNiBvZmZtYXNrOwotIF9fdTE2IG9mZjsKLSBzaG9ydCBvZmZvZmY7CisgIHVuc2lnbmVkIGNoYXIgbmtleXM7CisgIF9fYmUxNiBvZmZtYXNrOworICBfX3UxNiBvZmY7CisgIHNob3J0IG9mZm9mZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgaG9mZjsKLSBfX2JlMzIgaG1hc2s7Ci0gc3RydWN0IHRjX3UzMl9rZXkga2V5c1swXTsKKyAgc2hvcnQgaG9mZjsKKyAgX19iZTMyIGhtYXNrOworICBzdHJ1Y3QgdGNfdTMyX2tleSBrZXlzWzBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfdTMyX21hcmsgewotIF9fdTMyIHZhbDsKLSBfX3UzMiBtYXNrOwotIF9fdTMyIHN1Y2Nlc3M7CisgIF9fdTMyIHZhbDsKKyAgX191MzIgbWFzazsKKyAgX191MzIgc3VjY2VzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHRjX3UzMl9wY250IHsKLSBfX3U2NCByY250OwotIF9fdTY0IHJoaXQ7CisgIF9fdTY0IHJjbnQ7CisgIF9fdTY0IHJoaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGtjbnRzWzBdOworICBfX3U2NCBrY250c1swXTsKIH07CiAjZGVmaW5lIFRDX1UzMl9URVJNSU5BTCAxCiAjZGVmaW5lIFRDX1UzMl9PRkZTRVQgMgpAQCAtMjI2LDE5OSArMjI2LDE5OSBAQAogI2RlZmluZSBUQ19VMzJfTUFYREVQVEggOAogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9SU1ZQX1VOU1BFQywKLSBUQ0FfUlNWUF9DTEFTU0lELAotIFRDQV9SU1ZQX0RTVCwKLSBUQ0FfUlNWUF9TUkMsCisgIFRDQV9SU1ZQX1VOU1BFQywKKyAgVENBX1JTVlBfQ0xBU1NJRCwKKyAgVENBX1JTVlBfRFNULAorICBUQ0FfUlNWUF9TUkMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9SU1ZQX1BJTkZPLAotIFRDQV9SU1ZQX1BPTElDRSwKLSBUQ0FfUlNWUF9BQ1QsCi0gX19UQ0FfUlNWUF9NQVgKKyAgVENBX1JTVlBfUElORk8sCisgIFRDQV9SU1ZQX1BPTElDRSwKKyAgVENBX1JTVlBfQUNULAorICBfX1RDQV9SU1ZQX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIFRDQV9SU1ZQX01BWCAoX19UQ0FfUlNWUF9NQVggLSAxICkKKyNkZWZpbmUgVENBX1JTVlBfTUFYIChfX1RDQV9SU1ZQX01BWCAtIDEpCiBzdHJ1Y3QgdGNfcnN2cF9ncGkgewotIF9fdTMyIGtleTsKKyAgX191MzIga2V5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXNrOwotIGludCBvZmZzZXQ7CisgIF9fdTMyIG1hc2s7CisgIGludCBvZmZzZXQ7CiB9Owogc3RydWN0IHRjX3JzdnBfcGluZm8gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGNfcnN2cF9ncGkgZHBpOwotIHN0cnVjdCB0Y19yc3ZwX2dwaSBzcGk7Ci0gX191OCBwcm90b2NvbDsKLSBfX3U4IHR1bm5lbGlkOworICBzdHJ1Y3QgdGNfcnN2cF9ncGkgZHBpOworICBzdHJ1Y3QgdGNfcnN2cF9ncGkgc3BpOworICBfX3U4IHByb3RvY29sOworICBfX3U4IHR1bm5lbGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHR1bm5lbGhkcjsKLSBfX3U4IHBhZDsKKyAgX191OCB0dW5uZWxoZHI7CisgIF9fdTggcGFkOwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfUk9VVEU0X1VOU1BFQywKLSBUQ0FfUk9VVEU0X0NMQVNTSUQsCi0gVENBX1JPVVRFNF9UTywKLSBUQ0FfUk9VVEU0X0ZST00sCisgIFRDQV9ST1VURTRfVU5TUEVDLAorICBUQ0FfUk9VVEU0X0NMQVNTSUQsCisgIFRDQV9ST1VURTRfVE8sCisgIFRDQV9ST1VURTRfRlJPTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1JPVVRFNF9JSUYsCi0gVENBX1JPVVRFNF9QT0xJQ0UsCi0gVENBX1JPVVRFNF9BQ1QsCi0gX19UQ0FfUk9VVEU0X01BWAorICBUQ0FfUk9VVEU0X0lJRiwKKyAgVENBX1JPVVRFNF9QT0xJQ0UsCisgIFRDQV9ST1VURTRfQUNULAorICBfX1RDQV9ST1VURTRfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVENBX1JPVVRFNF9NQVggKF9fVENBX1JPVVRFNF9NQVggLSAxKQogZW51bSB7Ci0gVENBX0ZXX1VOU1BFQywKKyAgVENBX0ZXX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0ZXX0NMQVNTSUQsCi0gVENBX0ZXX1BPTElDRSwKLSBUQ0FfRldfSU5ERVYsCi0gVENBX0ZXX0FDVCwKKyAgVENBX0ZXX0NMQVNTSUQsCisgIFRDQV9GV19QT0xJQ0UsCisgIFRDQV9GV19JTkRFViwKKyAgVENBX0ZXX0FDVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0ZXX01BU0ssCi0gX19UQ0FfRldfTUFYCisgIFRDQV9GV19NQVNLLAorICBfX1RDQV9GV19NQVgKIH07CiAjZGVmaW5lIFRDQV9GV19NQVggKF9fVENBX0ZXX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVENBX1RDSU5ERVhfVU5TUEVDLAotIFRDQV9UQ0lOREVYX0hBU0gsCi0gVENBX1RDSU5ERVhfTUFTSywKKyAgVENBX1RDSU5ERVhfVU5TUEVDLAorICBUQ0FfVENJTkRFWF9IQVNILAorICBUQ0FfVENJTkRFWF9NQVNLLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfVENJTkRFWF9TSElGVCwKLSBUQ0FfVENJTkRFWF9GQUxMX1RIUk9VR0gsCi0gVENBX1RDSU5ERVhfQ0xBU1NJRCwKLSBUQ0FfVENJTkRFWF9QT0xJQ0UsCisgIFRDQV9UQ0lOREVYX1NISUZULAorICBUQ0FfVENJTkRFWF9GQUxMX1RIUk9VR0gsCisgIFRDQV9UQ0lOREVYX0NMQVNTSUQsCisgIFRDQV9UQ0lOREVYX1BPTElDRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1RDSU5ERVhfQUNULAotIF9fVENBX1RDSU5ERVhfTUFYCisgIFRDQV9UQ0lOREVYX0FDVCwKKyAgX19UQ0FfVENJTkRFWF9NQVgKIH07CiAjZGVmaW5lIFRDQV9UQ0lOREVYX01BWCAoX19UQ0FfVENJTkRFWF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIEZMT1dfS0VZX1NSQywKLSBGTE9XX0tFWV9EU1QsCi0gRkxPV19LRVlfUFJPVE8sCisgIEZMT1dfS0VZX1NSQywKKyAgRkxPV19LRVlfRFNULAorICBGTE9XX0tFWV9QUk9UTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkxPV19LRVlfUFJPVE9fU1JDLAotIEZMT1dfS0VZX1BST1RPX0RTVCwKLSBGTE9XX0tFWV9JSUYsCi0gRkxPV19LRVlfUFJJT1JJVFksCisgIEZMT1dfS0VZX1BST1RPX1NSQywKKyAgRkxPV19LRVlfUFJPVE9fRFNULAorICBGTE9XX0tFWV9JSUYsCisgIEZMT1dfS0VZX1BSSU9SSVRZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGTE9XX0tFWV9NQVJLLAotIEZMT1dfS0VZX05GQ1QsCi0gRkxPV19LRVlfTkZDVF9TUkMsCi0gRkxPV19LRVlfTkZDVF9EU1QsCisgIEZMT1dfS0VZX01BUkssCisgIEZMT1dfS0VZX05GQ1QsCisgIEZMT1dfS0VZX05GQ1RfU1JDLAorICBGTE9XX0tFWV9ORkNUX0RTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkxPV19LRVlfTkZDVF9QUk9UT19TUkMsCi0gRkxPV19LRVlfTkZDVF9QUk9UT19EU1QsCi0gRkxPV19LRVlfUlRDTEFTU0lELAotIEZMT1dfS0VZX1NLVUlELAorICBGTE9XX0tFWV9ORkNUX1BST1RPX1NSQywKKyAgRkxPV19LRVlfTkZDVF9QUk9UT19EU1QsCisgIEZMT1dfS0VZX1JUQ0xBU1NJRCwKKyAgRkxPV19LRVlfU0tVSUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZMT1dfS0VZX1NLR0lELAotIEZMT1dfS0VZX1ZMQU5fVEFHLAotIEZMT1dfS0VZX1JYSEFTSCwKLSBfX0ZMT1dfS0VZX01BWCwKKyAgRkxPV19LRVlfU0tHSUQsCisgIEZMT1dfS0VZX1ZMQU5fVEFHLAorICBGTE9XX0tFWV9SWEhBU0gsCisgIF9fRkxPV19LRVlfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIEZMT1dfS0VZX01BWCAoX19GTE9XX0tFWV9NQVggLSAxKQogZW51bSB7Ci0gRkxPV19NT0RFX01BUCwKKyAgRkxPV19NT0RFX01BUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkxPV19NT0RFX0hBU0gsCisgIEZMT1dfTU9ERV9IQVNILAogfTsKIGVudW0gewotIFRDQV9GTE9XX1VOU1BFQywKKyAgVENBX0ZMT1dfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfRkxPV19LRVlTLAotIFRDQV9GTE9XX01PREUsCi0gVENBX0ZMT1dfQkFTRUNMQVNTLAotIFRDQV9GTE9XX1JTSElGVCwKKyAgVENBX0ZMT1dfS0VZUywKKyAgVENBX0ZMT1dfTU9ERSwKKyAgVENBX0ZMT1dfQkFTRUNMQVNTLAorICBUQ0FfRkxPV19SU0hJRlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9GTE9XX0FEREVORCwKLSBUQ0FfRkxPV19NQVNLLAotIFRDQV9GTE9XX1hPUiwKLSBUQ0FfRkxPV19ESVZJU09SLAorICBUQ0FfRkxPV19BRERFTkQsCisgIFRDQV9GTE9XX01BU0ssCisgIFRDQV9GTE9XX1hPUiwKKyAgVENBX0ZMT1dfRElWSVNPUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0ZMT1dfQUNULAotIFRDQV9GTE9XX1BPTElDRSwKLSBUQ0FfRkxPV19FTUFUQ0hFUywKLSBUQ0FfRkxPV19QRVJUVVJCLAorICBUQ0FfRkxPV19BQ1QsCisgIFRDQV9GTE9XX1BPTElDRSwKKyAgVENBX0ZMT1dfRU1BVENIRVMsCisgIFRDQV9GTE9XX1BFUlRVUkIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENBX0ZMT1dfTUFYCisgIF9fVENBX0ZMT1dfTUFYCiB9OwogI2RlZmluZSBUQ0FfRkxPV19NQVggKF9fVENBX0ZMT1dfTUFYIC0gMSkKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQkFTSUNfVU5TUEVDLAotIFRDQV9CQVNJQ19DTEFTU0lELAotIFRDQV9CQVNJQ19FTUFUQ0hFUywKLSBUQ0FfQkFTSUNfQUNULAorICBUQ0FfQkFTSUNfVU5TUEVDLAorICBUQ0FfQkFTSUNfQ0xBU1NJRCwKKyAgVENBX0JBU0lDX0VNQVRDSEVTLAorICBUQ0FfQkFTSUNfQUNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQkFTSUNfUE9MSUNFLAotIF9fVENBX0JBU0lDX01BWAorICBUQ0FfQkFTSUNfUE9MSUNFLAorICBfX1RDQV9CQVNJQ19NQVgKIH07CiAjZGVmaW5lIFRDQV9CQVNJQ19NQVggKF9fVENBX0JBU0lDX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVENBX0NHUk9VUF9VTlNQRUMsCi0gVENBX0NHUk9VUF9BQ1QsCi0gVENBX0NHUk9VUF9QT0xJQ0UsCisgIFRDQV9DR1JPVVBfVU5TUEVDLAorICBUQ0FfQ0dST1VQX0FDVCwKKyAgVENBX0NHUk9VUF9QT0xJQ0UsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9DR1JPVVBfRU1BVENIRVMsCi0gX19UQ0FfQ0dST1VQX01BWCwKKyAgVENBX0NHUk9VUF9FTUFUQ0hFUywKKyAgX19UQ0FfQ0dST1VQX01BWCwKIH07CiAjZGVmaW5lIFRDQV9DR1JPVVBfTUFYIChfX1RDQV9DR1JPVVBfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBUQ0FfQlBGX1VOU1BFQywKLSBUQ0FfQlBGX0FDVCwKLSBUQ0FfQlBGX1BPTElDRSwKKyAgVENBX0JQRl9VTlNQRUMsCisgIFRDQV9CUEZfQUNULAorICBUQ0FfQlBGX1BPTElDRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0JQRl9DTEFTU0lELAotIFRDQV9CUEZfT1BTX0xFTiwKLSBUQ0FfQlBGX09QUywKLSBfX1RDQV9CUEZfTUFYLAorICBUQ0FfQlBGX0NMQVNTSUQsCisgIFRDQV9CUEZfT1BTX0xFTiwKKyAgVENBX0JQRl9PUFMsCisgIF9fVENBX0JQRl9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVENBX0JQRl9NQVggKF9fVENBX0JQRl9NQVggLSAxKQogc3RydWN0IHRjZl9lbWF0Y2hfdHJlZV9oZHIgewotIF9fdTE2IG5tYXRjaGVzOworICBfX3UxNiBubWF0Y2hlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcHJvZ2lkOworICBfX3UxNiBwcm9naWQ7CiB9OwogZW51bSB7Ci0gVENBX0VNQVRDSF9UUkVFX1VOU1BFQywKKyAgVENBX0VNQVRDSF9UUkVFX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0VNQVRDSF9UUkVFX0hEUiwKLSBUQ0FfRU1BVENIX1RSRUVfTElTVCwKLSBfX1RDQV9FTUFUQ0hfVFJFRV9NQVgKKyAgVENBX0VNQVRDSF9UUkVFX0hEUiwKKyAgVENBX0VNQVRDSF9UUkVFX0xJU1QsCisgIF9fVENBX0VNQVRDSF9UUkVFX01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDQV9FTUFUQ0hfVFJFRV9NQVggKF9fVENBX0VNQVRDSF9UUkVFX01BWCAtIDEpCiBzdHJ1Y3QgdGNmX2VtYXRjaF9oZHIgewotIF9fdTE2IG1hdGNoaWQ7Ci0gX191MTYga2luZDsKKyAgX191MTYgbWF0Y2hpZDsKKyAgX191MTYga2luZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZmxhZ3M7Ci0gX191MTYgcGFkOworICBfX3UxNiBmbGFnczsKKyAgX191MTYgcGFkOwogfTsKICNkZWZpbmUgVENGX0VNX1JFTF9FTkQgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVENGX0VNX1JFTF9BTkQgKDE8PDApCi0jZGVmaW5lIFRDRl9FTV9SRUxfT1IgKDE8PDEpCi0jZGVmaW5lIFRDRl9FTV9JTlZFUlQgKDE8PDIpCi0jZGVmaW5lIFRDRl9FTV9TSU1QTEUgKDE8PDMpCisjZGVmaW5lIFRDRl9FTV9SRUxfQU5EICgxIDw8IDApCisjZGVmaW5lIFRDRl9FTV9SRUxfT1IgKDEgPDwgMSkKKyNkZWZpbmUgVENGX0VNX0lOVkVSVCAoMSA8PCAyKQorI2RlZmluZSBUQ0ZfRU1fU0lNUExFICgxIDw8IDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0ZfRU1fUkVMX01BU0sgMwogI2RlZmluZSBUQ0ZfRU1fUkVMX1ZBTElEKHYpICgoKHYpICYgVENGX0VNX1JFTF9NQVNLKSAhPSBUQ0ZfRU1fUkVMX01BU0spCiBlbnVtIHsKLSBUQ0ZfTEFZRVJfTElOSywKKyAgVENGX0xBWUVSX0xJTkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDRl9MQVlFUl9ORVRXT1JLLAotIFRDRl9MQVlFUl9UUkFOU1BPUlQsCi0gX19UQ0ZfTEFZRVJfTUFYCisgIFRDRl9MQVlFUl9ORVRXT1JLLAorICBUQ0ZfTEFZRVJfVFJBTlNQT1JULAorICBfX1RDRl9MQVlFUl9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0ZfTEFZRVJfTUFYIChfX1RDRl9MQVlFUl9NQVggLSAxKQpAQCAtNDM2LDEzICs0MzYsMTMgQEAKICNkZWZpbmUgVENGX0VNX01BWCA4CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENGX0VNX1BST0dfVEMKKyAgVENGX0VNX1BST0dfVEMKIH07CiBlbnVtIHsKLSBUQ0ZfRU1fT1BORF9FUSwKKyAgVENGX0VNX09QTkRfRVEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDRl9FTV9PUE5EX0dULAotIFRDRl9FTV9PUE5EX0xUCisgIFRDRl9FTV9PUE5EX0dULAorICBUQ0ZfRU1fT1BORF9MVAogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGt0X3NjaGVkLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BrdF9zY2hlZC5oCmluZGV4IDViNjQwOTYuLjUxOGY4M2YgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGt0X3NjaGVkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wa3Rfc2NoZWQuaApAQCAtMjksODcgKzI5LDg3IEBACiAjZGVmaW5lIFRDX1BSSU9fQ09OVFJPTCA3CiAjZGVmaW5lIFRDX1BSSU9fTUFYIDE1CiBzdHJ1Y3QgdGNfc3RhdHMgewotIF9fdTY0IGJ5dGVzOworICBfX3U2NCBieXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGFja2V0czsKLSBfX3UzMiBkcm9wczsKLSBfX3UzMiBvdmVybGltaXRzOwotIF9fdTMyIGJwczsKKyAgX191MzIgcGFja2V0czsKKyAgX191MzIgZHJvcHM7CisgIF9fdTMyIG92ZXJsaW1pdHM7CisgIF9fdTMyIGJwczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHBzOwotIF9fdTMyIHFsZW47Ci0gX191MzIgYmFja2xvZzsKKyAgX191MzIgcHBzOworICBfX3UzMiBxbGVuOworICBfX3UzMiBiYWNrbG9nOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfZXN0aW1hdG9yIHsKLSBzaWduZWQgY2hhciBpbnRlcnZhbDsKLSB1bnNpZ25lZCBjaGFyIGV3bWFfbG9nOworICBzaWduZWQgY2hhciBpbnRlcnZhbDsKKyAgdW5zaWduZWQgY2hhciBld21hX2xvZzsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ19IX01BSl9NQVNLICgweEZGRkYwMDAwVSkKICNkZWZpbmUgVENfSF9NSU5fTUFTSyAoMHgwMDAwRkZGRlUpCi0jZGVmaW5lIFRDX0hfTUFKKGgpICgoaCkmVENfSF9NQUpfTUFTSykKLSNkZWZpbmUgVENfSF9NSU4oaCkgKChoKSZUQ19IX01JTl9NQVNLKQorI2RlZmluZSBUQ19IX01BSihoKSAoKGgpICYgVENfSF9NQUpfTUFTSykKKyNkZWZpbmUgVENfSF9NSU4oaCkgKChoKSAmIFRDX0hfTUlOX01BU0spCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBUQ19IX01BS0UobWFqLG1pbikgKCgobWFqKSZUQ19IX01BSl9NQVNLKXwoKG1pbikmVENfSF9NSU5fTUFTSykpCisjZGVmaW5lIFRDX0hfTUFLRShtYWosbWluKSAoKChtYWopICYgVENfSF9NQUpfTUFTSykgfCAoKG1pbikgJiBUQ19IX01JTl9NQVNLKSkKICNkZWZpbmUgVENfSF9VTlNQRUMgKDBVKQogI2RlZmluZSBUQ19IX1JPT1QgKDB4RkZGRkZGRkZVKQogI2RlZmluZSBUQ19IX0lOR1JFU1MgKDB4RkZGRkZGRjFVKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdGNfbGlua19sYXllciB7Ci0gVENfTElOS0xBWUVSX1VOQVdBUkUsCi0gVENfTElOS0xBWUVSX0VUSEVSTkVULAotIFRDX0xJTktMQVlFUl9BVE0sCisgIFRDX0xJTktMQVlFUl9VTkFXQVJFLAorICBUQ19MSU5LTEFZRVJfRVRIRVJORVQsCisgIFRDX0xJTktMQVlFUl9BVE0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVENfTElOS0xBWUVSX01BU0sgMHgwRgogc3RydWN0IHRjX3JhdGVzcGVjIHsKLSB1bnNpZ25lZCBjaGFyIGNlbGxfbG9nOworICB1bnNpZ25lZCBjaGFyIGNlbGxfbG9nOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGxpbmtsYXllcjsKLSB1bnNpZ25lZCBzaG9ydCBvdmVyaGVhZDsKLSBzaG9ydCBjZWxsX2FsaWduOwotIHVuc2lnbmVkIHNob3J0IG1wdTsKKyAgX191OCBsaW5rbGF5ZXI7CisgIHVuc2lnbmVkIHNob3J0IG92ZXJoZWFkOworICBzaG9ydCBjZWxsX2FsaWduOworICB1bnNpZ25lZCBzaG9ydCBtcHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJhdGU7CisgIF9fdTMyIHJhdGU7CiB9OwogI2RlZmluZSBUQ19SVEFCX1NJWkUgMTAyNAogc3RydWN0IHRjX3NpemVzcGVjIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjZWxsX2xvZzsKLSB1bnNpZ25lZCBjaGFyIHNpemVfbG9nOwotIHNob3J0IGNlbGxfYWxpZ247Ci0gaW50IG92ZXJoZWFkOworICB1bnNpZ25lZCBjaGFyIGNlbGxfbG9nOworICB1bnNpZ25lZCBjaGFyIHNpemVfbG9nOworICBzaG9ydCBjZWxsX2FsaWduOworICBpbnQgb3ZlcmhlYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBsaW5rbGF5ZXI7Ci0gdW5zaWduZWQgaW50IG1wdTsKLSB1bnNpZ25lZCBpbnQgbXR1OwotIHVuc2lnbmVkIGludCB0c2l6ZTsKKyAgdW5zaWduZWQgaW50IGxpbmtsYXllcjsKKyAgdW5zaWduZWQgaW50IG1wdTsKKyAgdW5zaWduZWQgaW50IG10dTsKKyAgdW5zaWduZWQgaW50IHRzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBUQ0FfU1RBQl9VTlNQRUMsCi0gVENBX1NUQUJfQkFTRSwKKyAgVENBX1NUQUJfVU5TUEVDLAorICBUQ0FfU1RBQl9CQVNFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfU1RBQl9EQVRBLAotIF9fVENBX1NUQUJfTUFYCisgIFRDQV9TVEFCX0RBVEEsCisgIF9fVENBX1NUQUJfTUFYCiB9OwogI2RlZmluZSBUQ0FfU1RBQl9NQVggKF9fVENBX1NUQUJfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfZmlmb19xb3B0IHsKLSBfX3UzMiBsaW1pdDsKKyAgX191MzIgbGltaXQ7CiB9OwogI2RlZmluZSBUQ1FfUFJJT19CQU5EUyAxNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENRX01JTl9QUklPX0JBTkRTIDIKIHN0cnVjdCB0Y19wcmlvX3FvcHQgewotIGludCBiYW5kczsKLSBfX3U4IHByaW9tYXBbVENfUFJJT19NQVgrMV07CisgIGludCBiYW5kczsKKyAgX191OCBwcmlvbWFwW1RDX1BSSU9fTUFYICsgMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB0Y19tdWx0aXFfcW9wdCB7Ci0gX191MTYgYmFuZHM7Ci0gX191MTYgbWF4X2JhbmRzOworICBfX3UxNiBiYW5kczsKKyAgX191MTYgbWF4X2JhbmRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFRDUV9QTFVHX0JVRkZFUiAwCkBAIC0xMTgsOTMgKzExOCw5MyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENRX1BMVUdfTElNSVQgMwogc3RydWN0IHRjX3BsdWdfcW9wdCB7Ci0gaW50IGFjdGlvbjsKLSBfX3UzMiBsaW1pdDsKKyAgaW50IGFjdGlvbjsKKyAgX191MzIgbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB0Y190YmZfcW9wdCB7Ci0gc3RydWN0IHRjX3JhdGVzcGVjIHJhdGU7Ci0gc3RydWN0IHRjX3JhdGVzcGVjIHBlYWtyYXRlOworICBzdHJ1Y3QgdGNfcmF0ZXNwZWMgcmF0ZTsKKyAgc3RydWN0IHRjX3JhdGVzcGVjIHBlYWtyYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsaW1pdDsKLSBfX3UzMiBidWZmZXI7Ci0gX191MzIgbXR1OworICBfX3UzMiBsaW1pdDsKKyAgX191MzIgYnVmZmVyOworICBfX3UzMiBtdHU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFRDQV9UQkZfVU5TUEVDLAotIFRDQV9UQkZfUEFSTVMsCi0gVENBX1RCRl9SVEFCLAorICBUQ0FfVEJGX1VOU1BFQywKKyAgVENBX1RCRl9QQVJNUywKKyAgVENBX1RCRl9SVEFCLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfVEJGX1BUQUIsCi0gVENBX1RCRl9SQVRFNjQsCi0gVENBX1RCRl9QUkFURTY0LAotIFRDQV9UQkZfQlVSU1QsCisgIFRDQV9UQkZfUFRBQiwKKyAgVENBX1RCRl9SQVRFNjQsCisgIFRDQV9UQkZfUFJBVEU2NCwKKyAgVENBX1RCRl9CVVJTVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1RCRl9QQlVSU1QsCi0gX19UQ0FfVEJGX01BWCwKKyAgVENBX1RCRl9QQlVSU1QsCisgIF9fVENBX1RCRl9NQVgsCiB9OwogI2RlZmluZSBUQ0FfVEJGX01BWCAoX19UQ0FfVEJGX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRjX3NmcV9xb3B0IHsKLSB1bnNpZ25lZCBxdWFudHVtOwotIGludCBwZXJ0dXJiX3BlcmlvZDsKLSBfX3UzMiBsaW1pdDsKKyAgdW5zaWduZWQgcXVhbnR1bTsKKyAgaW50IHBlcnR1cmJfcGVyaW9kOworICBfX3UzMiBsaW1pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgZGl2aXNvcjsKLSB1bnNpZ25lZCBmbG93czsKKyAgdW5zaWduZWQgZGl2aXNvcjsKKyAgdW5zaWduZWQgZmxvd3M7CiB9Owogc3RydWN0IHRjX3NmcXJlZF9zdGF0cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHByb2JfZHJvcDsKLSBfX3UzMiBmb3JjZWRfZHJvcDsKLSBfX3UzMiBwcm9iX21hcms7Ci0gX191MzIgZm9yY2VkX21hcms7CisgIF9fdTMyIHByb2JfZHJvcDsKKyAgX191MzIgZm9yY2VkX2Ryb3A7CisgIF9fdTMyIHByb2JfbWFyazsKKyAgX191MzIgZm9yY2VkX21hcms7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHByb2JfbWFya19oZWFkOwotIF9fdTMyIGZvcmNlZF9tYXJrX2hlYWQ7CisgIF9fdTMyIHByb2JfbWFya19oZWFkOworICBfX3UzMiBmb3JjZWRfbWFya19oZWFkOwogfTsKIHN0cnVjdCB0Y19zZnFfcW9wdF92MSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB0Y19zZnFfcW9wdCB2MDsKLSB1bnNpZ25lZCBpbnQgZGVwdGg7Ci0gdW5zaWduZWQgaW50IGhlYWRkcm9wOwotIF9fdTMyIGxpbWl0OworICBzdHJ1Y3QgdGNfc2ZxX3FvcHQgdjA7CisgIHVuc2lnbmVkIGludCBkZXB0aDsKKyAgdW5zaWduZWQgaW50IGhlYWRkcm9wOworICBfX3UzMiBsaW1pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXRoX21pbjsKLSBfX3UzMiBxdGhfbWF4OwotIHVuc2lnbmVkIGNoYXIgV2xvZzsKLSB1bnNpZ25lZCBjaGFyIFBsb2c7CisgIF9fdTMyIHF0aF9taW47CisgIF9fdTMyIHF0aF9tYXg7CisgIHVuc2lnbmVkIGNoYXIgV2xvZzsKKyAgdW5zaWduZWQgY2hhciBQbG9nOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIFNjZWxsX2xvZzsKLSB1bnNpZ25lZCBjaGFyIGZsYWdzOwotIF9fdTMyIG1heF9QOwotIHN0cnVjdCB0Y19zZnFyZWRfc3RhdHMgc3RhdHM7CisgIHVuc2lnbmVkIGNoYXIgU2NlbGxfbG9nOworICB1bnNpZ25lZCBjaGFyIGZsYWdzOworICBfX3UzMiBtYXhfUDsKKyAgc3RydWN0IHRjX3NmcXJlZF9zdGF0cyBzdGF0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHRjX3NmcV94c3RhdHMgewotIF9fczMyIGFsbG90OworICBfX3MzMiBhbGxvdDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVENBX1JFRF9VTlNQRUMsCi0gVENBX1JFRF9QQVJNUywKLSBUQ0FfUkVEX1NUQUIsCisgIFRDQV9SRURfVU5TUEVDLAorICBUQ0FfUkVEX1BBUk1TLAorICBUQ0FfUkVEX1NUQUIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9SRURfTUFYX1AsCi0gX19UQ0FfUkVEX01BWCwKKyAgVENBX1JFRF9NQVhfUCwKKyAgX19UQ0FfUkVEX01BWCwKIH07CiAjZGVmaW5lIFRDQV9SRURfTUFYIChfX1RDQV9SRURfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfcmVkX3FvcHQgewotIF9fdTMyIGxpbWl0OwotIF9fdTMyIHF0aF9taW47Ci0gX191MzIgcXRoX21heDsKKyAgX191MzIgbGltaXQ7CisgIF9fdTMyIHF0aF9taW47CisgIF9fdTMyIHF0aF9tYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgV2xvZzsKLSB1bnNpZ25lZCBjaGFyIFBsb2c7Ci0gdW5zaWduZWQgY2hhciBTY2VsbF9sb2c7Ci0gdW5zaWduZWQgY2hhciBmbGFnczsKKyAgdW5zaWduZWQgY2hhciBXbG9nOworICB1bnNpZ25lZCBjaGFyIFBsb2c7CisgIHVuc2lnbmVkIGNoYXIgU2NlbGxfbG9nOworICB1bnNpZ25lZCBjaGFyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENfUkVEX0VDTiAxCiAjZGVmaW5lIFRDX1JFRF9IQVJERFJPUCAyCkBAIC0yMTIsODQgKzIxMiw4NCBAQAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfcmVkX3hzdGF0cyB7Ci0gX191MzIgZWFybHk7Ci0gX191MzIgcGRyb3A7Ci0gX191MzIgb3RoZXI7CisgIF9fdTMyIGVhcmx5OworICBfX3UzMiBwZHJvcDsKKyAgX191MzIgb3RoZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1hcmtlZDsKKyAgX191MzIgbWFya2VkOwogfTsKICNkZWZpbmUgTUFYX0RQcyAxNgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9HUkVEX1VOU1BFQywKLSBUQ0FfR1JFRF9QQVJNUywKLSBUQ0FfR1JFRF9TVEFCLAotIFRDQV9HUkVEX0RQUywKKyAgVENBX0dSRURfVU5TUEVDLAorICBUQ0FfR1JFRF9QQVJNUywKKyAgVENBX0dSRURfU1RBQiwKKyAgVENBX0dSRURfRFBTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfR1JFRF9NQVhfUCwKLSBfX1RDQV9HUkVEX01BWCwKKyAgVENBX0dSRURfTUFYX1AsCisgIF9fVENBX0dSRURfTUFYLAogfTsKICNkZWZpbmUgVENBX0dSRURfTUFYIChfX1RDQV9HUkVEX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRjX2dyZWRfcW9wdCB7Ci0gX191MzIgbGltaXQ7Ci0gX191MzIgcXRoX21pbjsKLSBfX3UzMiBxdGhfbWF4OworICBfX3UzMiBsaW1pdDsKKyAgX191MzIgcXRoX21pbjsKKyAgX191MzIgcXRoX21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgRFA7Ci0gX191MzIgYmFja2xvZzsKLSBfX3UzMiBxYXZlOwotIF9fdTMyIGZvcmNlZDsKKyAgX191MzIgRFA7CisgIF9fdTMyIGJhY2tsb2c7CisgIF9fdTMyIHFhdmU7CisgIF9fdTMyIGZvcmNlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZWFybHk7Ci0gX191MzIgb3RoZXI7Ci0gX191MzIgcGRyb3A7Ci0gX191OCBXbG9nOworICBfX3UzMiBlYXJseTsKKyAgX191MzIgb3RoZXI7CisgIF9fdTMyIHBkcm9wOworICBfX3U4IFdsb2c7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggUGxvZzsKLSBfX3U4IFNjZWxsX2xvZzsKLSBfX3U4IHByaW87Ci0gX191MzIgcGFja2V0czsKKyAgX191OCBQbG9nOworICBfX3U4IFNjZWxsX2xvZzsKKyAgX191OCBwcmlvOworICBfX3UzMiBwYWNrZXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBieXRlc2luOworICBfX3UzMiBieXRlc2luOwogfTsKIHN0cnVjdCB0Y19ncmVkX3NvcHQgewotIF9fdTMyIERQczsKKyAgX191MzIgRFBzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkZWZfRFA7Ci0gX191OCBncmlvOwotIF9fdTggZmxhZ3M7Ci0gX191MTYgcGFkMTsKKyAgX191MzIgZGVmX0RQOworICBfX3U4IGdyaW87CisgIF9fdTggZmxhZ3M7CisgIF9fdTE2IHBhZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFRDQV9DSE9LRV9VTlNQRUMsCi0gVENBX0NIT0tFX1BBUk1TLAorICBUQ0FfQ0hPS0VfVU5TUEVDLAorICBUQ0FfQ0hPS0VfUEFSTVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9DSE9LRV9TVEFCLAotIFRDQV9DSE9LRV9NQVhfUCwKLSBfX1RDQV9DSE9LRV9NQVgsCisgIFRDQV9DSE9LRV9TVEFCLAorICBUQ0FfQ0hPS0VfTUFYX1AsCisgIF9fVENBX0NIT0tFX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfQ0hPS0VfTUFYIChfX1RDQV9DSE9LRV9NQVggLSAxKQogc3RydWN0IHRjX2Nob2tlX3FvcHQgewotIF9fdTMyIGxpbWl0OwotIF9fdTMyIHF0aF9taW47CisgIF9fdTMyIGxpbWl0OworICBfX3UzMiBxdGhfbWluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBxdGhfbWF4OwotIHVuc2lnbmVkIGNoYXIgV2xvZzsKLSB1bnNpZ25lZCBjaGFyIFBsb2c7Ci0gdW5zaWduZWQgY2hhciBTY2VsbF9sb2c7CisgIF9fdTMyIHF0aF9tYXg7CisgIHVuc2lnbmVkIGNoYXIgV2xvZzsKKyAgdW5zaWduZWQgY2hhciBQbG9nOworICB1bnNpZ25lZCBjaGFyIFNjZWxsX2xvZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBmbGFnczsKKyAgdW5zaWduZWQgY2hhciBmbGFnczsKIH07CiBzdHJ1Y3QgdGNfY2hva2VfeHN0YXRzIHsKLSBfX3UzMiBlYXJseTsKKyAgX191MzIgZWFybHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBkcm9wOwotIF9fdTMyIG90aGVyOwotIF9fdTMyIG1hcmtlZDsKLSBfX3UzMiBtYXRjaGVkOworICBfX3UzMiBwZHJvcDsKKyAgX191MzIgb3RoZXI7CisgIF9fdTMyIG1hcmtlZDsKKyAgX191MzIgbWF0Y2hlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBUQ19IVEJfTlVNUFJJTyA4CkBAIC0yOTcsNzMgKzI5Nyw3MyBAQAogI2RlZmluZSBUQ19IVEJfUFJPVE9WRVIgMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19odGJfb3B0IHsKLSBzdHJ1Y3QgdGNfcmF0ZXNwZWMgcmF0ZTsKLSBzdHJ1Y3QgdGNfcmF0ZXNwZWMgY2VpbDsKLSBfX3UzMiBidWZmZXI7CisgIHN0cnVjdCB0Y19yYXRlc3BlYyByYXRlOworICBzdHJ1Y3QgdGNfcmF0ZXNwZWMgY2VpbDsKKyAgX191MzIgYnVmZmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjYnVmZmVyOwotIF9fdTMyIHF1YW50dW07Ci0gX191MzIgbGV2ZWw7Ci0gX191MzIgcHJpbzsKKyAgX191MzIgY2J1ZmZlcjsKKyAgX191MzIgcXVhbnR1bTsKKyAgX191MzIgbGV2ZWw7CisgIF9fdTMyIHByaW87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB0Y19odGJfZ2xvYiB7Ci0gX191MzIgdmVyc2lvbjsKLSBfX3UzMiByYXRlMnF1YW50dW07CisgIF9fdTMyIHZlcnNpb247CisgIF9fdTMyIHJhdGUycXVhbnR1bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZGVmY2xzOwotIF9fdTMyIGRlYnVnOwotIF9fdTMyIGRpcmVjdF9wa3RzOworICBfX3UzMiBkZWZjbHM7CisgIF9fdTMyIGRlYnVnOworICBfX3UzMiBkaXJlY3RfcGt0czsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVENBX0hUQl9VTlNQRUMsCi0gVENBX0hUQl9QQVJNUywKLSBUQ0FfSFRCX0lOSVQsCisgIFRDQV9IVEJfVU5TUEVDLAorICBUQ0FfSFRCX1BBUk1TLAorICBUQ0FfSFRCX0lOSVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9IVEJfQ1RBQiwKLSBUQ0FfSFRCX1JUQUIsCi0gVENBX0hUQl9ESVJFQ1RfUUxFTiwKLSBUQ0FfSFRCX1JBVEU2NCwKKyAgVENBX0hUQl9DVEFCLAorICBUQ0FfSFRCX1JUQUIsCisgIFRDQV9IVEJfRElSRUNUX1FMRU4sCisgIFRDQV9IVEJfUkFURTY0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfSFRCX0NFSUw2NCwKLSBfX1RDQV9IVEJfTUFYLAorICBUQ0FfSFRCX0NFSUw2NCwKKyAgX19UQ0FfSFRCX01BWCwKIH07CiAjZGVmaW5lIFRDQV9IVEJfTUFYIChfX1RDQV9IVEJfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfaHRiX3hzdGF0cyB7Ci0gX191MzIgbGVuZHM7Ci0gX191MzIgYm9ycm93czsKLSBfX3UzMiBnaWFudHM7CisgIF9fdTMyIGxlbmRzOworICBfX3UzMiBib3Jyb3dzOworICBfX3UzMiBnaWFudHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRva2VuczsKLSBfX3UzMiBjdG9rZW5zOworICBfX3UzMiB0b2tlbnM7CisgIF9fdTMyIGN0b2tlbnM7CiB9Owogc3RydWN0IHRjX2hmc2NfcW9wdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGRlZmNsczsKKyAgX191MTYgZGVmY2xzOwogfTsKIHN0cnVjdCB0Y19zZXJ2aWNlX2N1cnZlIHsKLSBfX3UzMiBtMTsKKyAgX191MzIgbTE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGQ7Ci0gX191MzIgbTI7CisgIF9fdTMyIGQ7CisgIF9fdTMyIG0yOwogfTsKIHN0cnVjdCB0Y19oZnNjX3N0YXRzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgd29yazsKLSBfX3U2NCBydHdvcms7Ci0gX191MzIgcGVyaW9kOwotIF9fdTMyIGxldmVsOworICBfX3U2NCB3b3JrOworICBfX3U2NCBydHdvcms7CisgIF9fdTMyIHBlcmlvZDsKKyAgX191MzIgbGV2ZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFRDQV9IRlNDX1VOU1BFQywKLSBUQ0FfSEZTQ19SU0MsCisgIFRDQV9IRlNDX1VOU1BFQywKKyAgVENBX0hGU0NfUlNDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfSEZTQ19GU0MsCi0gVENBX0hGU0NfVVNDLAotIF9fVENBX0hGU0NfTUFYLAorICBUQ0FfSEZTQ19GU0MsCisgIFRDQV9IRlNDX1VTQywKKyAgX19UQ0FfSEZTQ19NQVgsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX0hGU0NfTUFYIChfX1RDQV9IRlNDX01BWCAtIDEpCkBAIC0zNzIsMTMgKzM3MiwxMyBAQAogI2RlZmluZSBUQ19DQlFfREVGX0VXTUEgNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19jYnFfbHNzb3B0IHsKLSB1bnNpZ25lZCBjaGFyIGNoYW5nZTsKLSB1bnNpZ25lZCBjaGFyIGZsYWdzOworICB1bnNpZ25lZCBjaGFyIGNoYW5nZTsKKyAgdW5zaWduZWQgY2hhciBmbGFnczsKICNkZWZpbmUgVENGX0NCUV9MU1NfQk9VTkRFRCAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0ZfQ0JRX0xTU19JU09MQVRFRCAyCi0gdW5zaWduZWQgY2hhciBld21hX2xvZzsKLSB1bnNpZ25lZCBjaGFyIGxldmVsOworICB1bnNpZ25lZCBjaGFyIGV3bWFfbG9nOworICB1bnNpZ25lZCBjaGFyIGxldmVsOwogI2RlZmluZSBUQ0ZfQ0JRX0xTU19GTEFHUyAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0ZfQ0JRX0xTU19FV01BIDIKQEAgLTM4NywyNCArMzg3LDI0IEBACiAjZGVmaW5lIFRDRl9DQlFfTFNTX09GRlRJTUUgMHgxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENGX0NCUV9MU1NfQVZQS1QgMHgyMAotIF9fdTMyIG1heGlkbGU7Ci0gX191MzIgbWluaWRsZTsKLSBfX3UzMiBvZmZ0aW1lOworICBfX3UzMiBtYXhpZGxlOworICBfX3UzMiBtaW5pZGxlOworICBfX3UzMiBvZmZ0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhdnBrdDsKKyAgX191MzIgYXZwa3Q7CiB9Owogc3RydWN0IHRjX2NicV93cnJvcHQgewotIHVuc2lnbmVkIGNoYXIgZmxhZ3M7CisgIHVuc2lnbmVkIGNoYXIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcHJpb3JpdHk7Ci0gdW5zaWduZWQgY2hhciBjcHJpb3JpdHk7Ci0gdW5zaWduZWQgY2hhciBfX3Jlc2VydmVkOwotIF9fdTMyIGFsbG90OworICB1bnNpZ25lZCBjaGFyIHByaW9yaXR5OworICB1bnNpZ25lZCBjaGFyIGNwcmlvcml0eTsKKyAgdW5zaWduZWQgY2hhciBfX3Jlc2VydmVkOworICBfX3UzMiBhbGxvdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgd2VpZ2h0OworICBfX3UzMiB3ZWlnaHQ7CiB9Owogc3RydWN0IHRjX2NicV9vdmwgewotIHVuc2lnbmVkIGNoYXIgc3RyYXRlZ3k7CisgIHVuc2lnbmVkIGNoYXIgc3RyYXRlZ3k7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ19DQlFfT1ZMX0NMQVNTSUMgMAogI2RlZmluZSBUQ19DQlFfT1ZMX0RFTEFZIDEKQEAgLTQxMiwzNzcgKzQxMiwzNzcgQEAKICNkZWZpbmUgVENfQ0JRX09WTF9EUk9QIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDX0NCUV9PVkxfUkNMQVNTSUMgNAotIHVuc2lnbmVkIGNoYXIgcHJpb3JpdHkyOwotIF9fdTE2IHBhZDsKLSBfX3UzMiBwZW5hbHR5OworICB1bnNpZ25lZCBjaGFyIHByaW9yaXR5MjsKKyAgX191MTYgcGFkOworICBfX3UzMiBwZW5hbHR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdGNfY2JxX3BvbGljZSB7Ci0gdW5zaWduZWQgY2hhciBwb2xpY2U7Ci0gdW5zaWduZWQgY2hhciBfX3JlczE7CisgIHVuc2lnbmVkIGNoYXIgcG9saWNlOworICB1bnNpZ25lZCBjaGFyIF9fcmVzMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgX19yZXMyOworICB1bnNpZ25lZCBzaG9ydCBfX3JlczI7CiB9Owogc3RydWN0IHRjX2NicV9mb3B0IHsKLSBfX3UzMiBzcGxpdDsKKyAgX191MzIgc3BsaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRlZm1hcDsKLSBfX3UzMiBkZWZjaGFuZ2U7CisgIF9fdTMyIGRlZm1hcDsKKyAgX191MzIgZGVmY2hhbmdlOwogfTsKIHN0cnVjdCB0Y19jYnFfeHN0YXRzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYm9ycm93czsKLSBfX3UzMiBvdmVyYWN0aW9uczsKLSBfX3MzMiBhdmdpZGxlOwotIF9fczMyIHVuZGVydGltZTsKKyAgX191MzIgYm9ycm93czsKKyAgX191MzIgb3ZlcmFjdGlvbnM7CisgIF9fczMyIGF2Z2lkbGU7CisgIF9fczMyIHVuZGVydGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gVENBX0NCUV9VTlNQRUMsCi0gVENBX0NCUV9MU1NPUFQsCisgIFRDQV9DQlFfVU5TUEVDLAorICBUQ0FfQ0JRX0xTU09QVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0NCUV9XUlJPUFQsCi0gVENBX0NCUV9GT1BULAotIFRDQV9DQlFfT1ZMX1NUUkFURUdZLAotIFRDQV9DQlFfUkFURSwKKyAgVENBX0NCUV9XUlJPUFQsCisgIFRDQV9DQlFfRk9QVCwKKyAgVENBX0NCUV9PVkxfU1RSQVRFR1ksCisgIFRDQV9DQlFfUkFURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0NCUV9SVEFCLAotIFRDQV9DQlFfUE9MSUNFLAotIF9fVENBX0NCUV9NQVgsCisgIFRDQV9DQlFfUlRBQiwKKyAgVENBX0NCUV9QT0xJQ0UsCisgIF9fVENBX0NCUV9NQVgsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX0NCUV9NQVggKF9fVENBX0NCUV9NQVggLSAxKQogZW51bSB7Ci0gVENBX0RTTUFSS19VTlNQRUMsCi0gVENBX0RTTUFSS19JTkRJQ0VTLAorICBUQ0FfRFNNQVJLX1VOU1BFQywKKyAgVENBX0RTTUFSS19JTkRJQ0VTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfRFNNQVJLX0RFRkFVTFRfSU5ERVgsCi0gVENBX0RTTUFSS19TRVRfVENfSU5ERVgsCi0gVENBX0RTTUFSS19NQVNLLAotIFRDQV9EU01BUktfVkFMVUUsCisgIFRDQV9EU01BUktfREVGQVVMVF9JTkRFWCwKKyAgVENBX0RTTUFSS19TRVRfVENfSU5ERVgsCisgIFRDQV9EU01BUktfTUFTSywKKyAgVENBX0RTTUFSS19WQUxVRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19UQ0FfRFNNQVJLX01BWCwKKyAgX19UQ0FfRFNNQVJLX01BWCwKIH07CiAjZGVmaW5lIFRDQV9EU01BUktfTUFYIChfX1RDQV9EU01BUktfTUFYIC0gMSkKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQVRNX1VOU1BFQywKLSBUQ0FfQVRNX0ZELAotIFRDQV9BVE1fUFRSLAotIFRDQV9BVE1fSERSLAorICBUQ0FfQVRNX1VOU1BFQywKKyAgVENBX0FUTV9GRCwKKyAgVENBX0FUTV9QVFIsCisgIFRDQV9BVE1fSERSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQVRNX0VYQ0VTUywKLSBUQ0FfQVRNX0FERFIsCi0gVENBX0FUTV9TVEFURSwKLSBfX1RDQV9BVE1fTUFYLAorICBUQ0FfQVRNX0VYQ0VTUywKKyAgVENBX0FUTV9BRERSLAorICBUQ0FfQVRNX1NUQVRFLAorICBfX1RDQV9BVE1fTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFRDQV9BVE1fTUFYIChfX1RDQV9BVE1fTUFYIC0gMSkKIGVudW0gewotIFRDQV9ORVRFTV9VTlNQRUMsCisgIFRDQV9ORVRFTV9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9ORVRFTV9DT1JSLAotIFRDQV9ORVRFTV9ERUxBWV9ESVNULAotIFRDQV9ORVRFTV9SRU9SREVSLAotIFRDQV9ORVRFTV9DT1JSVVBULAorICBUQ0FfTkVURU1fQ09SUiwKKyAgVENBX05FVEVNX0RFTEFZX0RJU1QsCisgIFRDQV9ORVRFTV9SRU9SREVSLAorICBUQ0FfTkVURU1fQ09SUlVQVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX05FVEVNX0xPU1MsCi0gVENBX05FVEVNX1JBVEUsCi0gVENBX05FVEVNX0VDTiwKLSBUQ0FfTkVURU1fUkFURTY0LAorICBUQ0FfTkVURU1fTE9TUywKKyAgVENBX05FVEVNX1JBVEUsCisgIFRDQV9ORVRFTV9FQ04sCisgIFRDQV9ORVRFTV9SQVRFNjQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENBX05FVEVNX01BWCwKKyAgX19UQ0FfTkVURU1fTUFYLAogfTsKICNkZWZpbmUgVENBX05FVEVNX01BWCAoX19UQ0FfTkVURU1fTUFYIC0gMSkKIHN0cnVjdCB0Y19uZXRlbV9xb3B0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGF0ZW5jeTsKLSBfX3UzMiBsaW1pdDsKLSBfX3UzMiBsb3NzOwotIF9fdTMyIGdhcDsKKyAgX191MzIgbGF0ZW5jeTsKKyAgX191MzIgbGltaXQ7CisgIF9fdTMyIGxvc3M7CisgIF9fdTMyIGdhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZHVwbGljYXRlOwotIF9fdTMyIGppdHRlcjsKKyAgX191MzIgZHVwbGljYXRlOworICBfX3UzMiBqaXR0ZXI7CiB9Owogc3RydWN0IHRjX25ldGVtX2NvcnIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkZWxheV9jb3JyOwotIF9fdTMyIGxvc3NfY29ycjsKLSBfX3UzMiBkdXBfY29ycjsKKyAgX191MzIgZGVsYXlfY29ycjsKKyAgX191MzIgbG9zc19jb3JyOworICBfX3UzMiBkdXBfY29ycjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRjX25ldGVtX3Jlb3JkZXIgewotIF9fdTMyIHByb2JhYmlsaXR5OwotIF9fdTMyIGNvcnJlbGF0aW9uOworICBfX3UzMiBwcm9iYWJpbGl0eTsKKyAgX191MzIgY29ycmVsYXRpb247CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19uZXRlbV9jb3JydXB0IHsKLSBfX3UzMiBwcm9iYWJpbGl0eTsKLSBfX3UzMiBjb3JyZWxhdGlvbjsKKyAgX191MzIgcHJvYmFiaWxpdHk7CisgIF9fdTMyIGNvcnJlbGF0aW9uOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfbmV0ZW1fcmF0ZSB7Ci0gX191MzIgcmF0ZTsKLSBfX3MzMiBwYWNrZXRfb3ZlcmhlYWQ7Ci0gX191MzIgY2VsbF9zaXplOworICBfX3UzMiByYXRlOworICBfX3MzMiBwYWNrZXRfb3ZlcmhlYWQ7CisgIF9fdTMyIGNlbGxfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgY2VsbF9vdmVyaGVhZDsKKyAgX19zMzIgY2VsbF9vdmVyaGVhZDsKIH07CiBlbnVtIHsKLSBORVRFTV9MT1NTX1VOU1BFQywKKyAgTkVURU1fTE9TU19VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVEVNX0xPU1NfR0ksCi0gTkVURU1fTE9TU19HRSwKLSBfX05FVEVNX0xPU1NfTUFYCisgIE5FVEVNX0xPU1NfR0ksCisgIE5FVEVNX0xPU1NfR0UsCisgIF9fTkVURU1fTE9TU19NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBORVRFTV9MT1NTX01BWCAoX19ORVRFTV9MT1NTX01BWCAtIDEpCiBzdHJ1Y3QgdGNfbmV0ZW1fZ2ltb2RlbCB7Ci0gX191MzIgcDEzOwotIF9fdTMyIHAzMTsKKyAgX191MzIgcDEzOworICBfX3UzMiBwMzE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHAzMjsKLSBfX3UzMiBwMTQ7Ci0gX191MzIgcDIzOworICBfX3UzMiBwMzI7CisgIF9fdTMyIHAxNDsKKyAgX191MzIgcDIzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfbmV0ZW1fZ2Vtb2RlbCB7Ci0gX191MzIgcDsKLSBfX3UzMiByOwotIF9fdTMyIGg7CisgIF9fdTMyIHA7CisgIF9fdTMyIHI7CisgIF9fdTMyIGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGsxOworICBfX3UzMiBrMTsKIH07CiAjZGVmaW5lIE5FVEVNX0RJU1RfU0NBTEUgODE5MgogI2RlZmluZSBORVRFTV9ESVNUX01BWCAxNjM4NAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFRDQV9EUlJfVU5TUEVDLAotIFRDQV9EUlJfUVVBTlRVTSwKLSBfX1RDQV9EUlJfTUFYCisgIFRDQV9EUlJfVU5TUEVDLAorICBUQ0FfRFJSX1FVQU5UVU0sCisgIF9fVENBX0RSUl9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBUQ0FfRFJSX01BWCAoX19UQ0FfRFJSX01BWCAtIDEpCiBzdHJ1Y3QgdGNfZHJyX3N0YXRzIHsKLSBfX3UzMiBkZWZpY2l0OworICBfX3UzMiBkZWZpY2l0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFRDX1FPUFRfQklUTUFTSyAxNQogI2RlZmluZSBUQ19RT1BUX01BWF9RVUVVRSAxNgogc3RydWN0IHRjX21xcHJpb19xb3B0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBudW1fdGM7Ci0gX191OCBwcmlvX3RjX21hcFtUQ19RT1BUX0JJVE1BU0sgKyAxXTsKLSBfX3U4IGh3OwotIF9fdTE2IGNvdW50W1RDX1FPUFRfTUFYX1FVRVVFXTsKKyAgX191OCBudW1fdGM7CisgIF9fdTggcHJpb190Y19tYXBbVENfUU9QVF9CSVRNQVNLICsgMV07CisgIF9fdTggaHc7CisgIF9fdTE2IGNvdW50W1RDX1FPUFRfTUFYX1FVRVVFXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgb2Zmc2V0W1RDX1FPUFRfTUFYX1FVRVVFXTsKKyAgX191MTYgb2Zmc2V0W1RDX1FPUFRfTUFYX1FVRVVFXTsKIH07CiBlbnVtIHsKLSBUQ0FfU0ZCX1VOU1BFQywKKyAgVENBX1NGQl9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9TRkJfUEFSTVMsCi0gX19UQ0FfU0ZCX01BWCwKKyAgVENBX1NGQl9QQVJNUywKKyAgX19UQ0FfU0ZCX01BWCwKIH07CiAjZGVmaW5lIFRDQV9TRkJfTUFYIChfX1RDQV9TRkJfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfc2ZiX3FvcHQgewotIF9fdTMyIHJlaGFzaF9pbnRlcnZhbDsKLSBfX3UzMiB3YXJtdXBfdGltZTsKLSBfX3UzMiBtYXg7CisgIF9fdTMyIHJlaGFzaF9pbnRlcnZhbDsKKyAgX191MzIgd2FybXVwX3RpbWU7CisgIF9fdTMyIG1heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYmluX3NpemU7Ci0gX191MzIgaW5jcmVtZW50OwotIF9fdTMyIGRlY3JlbWVudDsKLSBfX3UzMiBsaW1pdDsKKyAgX191MzIgYmluX3NpemU7CisgIF9fdTMyIGluY3JlbWVudDsKKyAgX191MzIgZGVjcmVtZW50OworICBfX3UzMiBsaW1pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGVuYWx0eV9yYXRlOwotIF9fdTMyIHBlbmFsdHlfYnVyc3Q7CisgIF9fdTMyIHBlbmFsdHlfcmF0ZTsKKyAgX191MzIgcGVuYWx0eV9idXJzdDsKIH07CiBzdHJ1Y3QgdGNfc2ZiX3hzdGF0cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVhcmx5ZHJvcDsKLSBfX3UzMiBwZW5hbHR5ZHJvcDsKLSBfX3UzMiBidWNrZXRkcm9wOwotIF9fdTMyIHF1ZXVlZHJvcDsKKyAgX191MzIgZWFybHlkcm9wOworICBfX3UzMiBwZW5hbHR5ZHJvcDsKKyAgX191MzIgYnVja2V0ZHJvcDsKKyAgX191MzIgcXVldWVkcm9wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjaGlsZGRyb3A7Ci0gX191MzIgbWFya2VkOwotIF9fdTMyIG1heHFsZW47Ci0gX191MzIgbWF4cHJvYjsKKyAgX191MzIgY2hpbGRkcm9wOworICBfX3UzMiBtYXJrZWQ7CisgIF9fdTMyIG1heHFsZW47CisgIF9fdTMyIG1heHByb2I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGF2Z3Byb2I7CisgIF9fdTMyIGF2Z3Byb2I7CiB9OwogI2RlZmluZSBTRkJfTUFYX1BST0IgMHhGRkZGCiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1FGUV9VTlNQRUMsCi0gVENBX1FGUV9XRUlHSFQsCi0gVENBX1FGUV9MTUFYLAotIF9fVENBX1FGUV9NQVgKKyAgVENBX1FGUV9VTlNQRUMsCisgIFRDQV9RRlFfV0VJR0hULAorICBUQ0FfUUZRX0xNQVgsCisgIF9fVENBX1FGUV9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBUQ0FfUUZRX01BWCAoX19UQ0FfUUZRX01BWCAtIDEpCiBzdHJ1Y3QgdGNfcWZxX3N0YXRzIHsKLSBfX3UzMiB3ZWlnaHQ7CisgIF9fdTMyIHdlaWdodDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbG1heDsKKyAgX191MzIgbG1heDsKIH07CiBlbnVtIHsKLSBUQ0FfQ09ERUxfVU5TUEVDLAorICBUQ0FfQ09ERUxfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQ09ERUxfVEFSR0VULAotIFRDQV9DT0RFTF9MSU1JVCwKLSBUQ0FfQ09ERUxfSU5URVJWQUwsCi0gVENBX0NPREVMX0VDTiwKKyAgVENBX0NPREVMX1RBUkdFVCwKKyAgVENBX0NPREVMX0xJTUlULAorICBUQ0FfQ09ERUxfSU5URVJWQUwsCisgIFRDQV9DT0RFTF9FQ04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENBX0NPREVMX01BWAorICBfX1RDQV9DT0RFTF9NQVgKIH07CiAjZGVmaW5lIFRDQV9DT0RFTF9NQVggKF9fVENBX0NPREVMX01BWCAtIDEpCiBzdHJ1Y3QgdGNfY29kZWxfeHN0YXRzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4cGFja2V0OwotIF9fdTMyIGNvdW50OwotIF9fdTMyIGxhc3Rjb3VudDsKLSBfX3UzMiBsZGVsYXk7CisgIF9fdTMyIG1heHBhY2tldDsKKyAgX191MzIgY291bnQ7CisgIF9fdTMyIGxhc3Rjb3VudDsKKyAgX191MzIgbGRlbGF5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBkcm9wX25leHQ7Ci0gX191MzIgZHJvcF9vdmVybGltaXQ7Ci0gX191MzIgZWNuX21hcms7Ci0gX191MzIgZHJvcHBpbmc7CisgIF9fczMyIGRyb3BfbmV4dDsKKyAgX191MzIgZHJvcF9vdmVybGltaXQ7CisgIF9fdTMyIGVjbl9tYXJrOworICBfX3UzMiBkcm9wcGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gVENBX0ZRX0NPREVMX1VOU1BFQywKLSBUQ0FfRlFfQ09ERUxfVEFSR0VULAorICBUQ0FfRlFfQ09ERUxfVU5TUEVDLAorICBUQ0FfRlFfQ09ERUxfVEFSR0VULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfRlFfQ09ERUxfTElNSVQsCi0gVENBX0ZRX0NPREVMX0lOVEVSVkFMLAotIFRDQV9GUV9DT0RFTF9FQ04sCi0gVENBX0ZRX0NPREVMX0ZMT1dTLAorICBUQ0FfRlFfQ09ERUxfTElNSVQsCisgIFRDQV9GUV9DT0RFTF9JTlRFUlZBTCwKKyAgVENBX0ZRX0NPREVMX0VDTiwKKyAgVENBX0ZRX0NPREVMX0ZMT1dTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfRlFfQ09ERUxfUVVBTlRVTSwKLSBfX1RDQV9GUV9DT0RFTF9NQVgKKyAgVENBX0ZRX0NPREVMX1FVQU5UVU0sCisgIF9fVENBX0ZRX0NPREVMX01BWAogfTsKICNkZWZpbmUgVENBX0ZRX0NPREVMX01BWCAoX19UQ0FfRlFfQ09ERUxfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBUQ0FfRlFfQ09ERUxfWFNUQVRTX1FESVNDLAotIFRDQV9GUV9DT0RFTF9YU1RBVFNfQ0xBU1MsCisgIFRDQV9GUV9DT0RFTF9YU1RBVFNfUURJU0MsCisgIFRDQV9GUV9DT0RFTF9YU1RBVFNfQ0xBU1MsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19mcV9jb2RlbF9xZF9zdGF0cyB7Ci0gX191MzIgbWF4cGFja2V0OwotIF9fdTMyIGRyb3Bfb3ZlcmxpbWl0OwotIF9fdTMyIGVjbl9tYXJrOworICBfX3UzMiBtYXhwYWNrZXQ7CisgIF9fdTMyIGRyb3Bfb3ZlcmxpbWl0OworICBfX3UzMiBlY25fbWFyazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbmV3X2Zsb3dfY291bnQ7Ci0gX191MzIgbmV3X2Zsb3dzX2xlbjsKLSBfX3UzMiBvbGRfZmxvd3NfbGVuOworICBfX3UzMiBuZXdfZmxvd19jb3VudDsKKyAgX191MzIgbmV3X2Zsb3dzX2xlbjsKKyAgX191MzIgb2xkX2Zsb3dzX2xlbjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRjX2ZxX2NvZGVsX2NsX3N0YXRzIHsKLSBfX3MzMiBkZWZpY2l0OwotIF9fdTMyIGxkZWxheTsKLSBfX3UzMiBjb3VudDsKKyAgX19zMzIgZGVmaWNpdDsKKyAgX191MzIgbGRlbGF5OworICBfX3UzMiBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGFzdGNvdW50OwotIF9fdTMyIGRyb3BwaW5nOwotIF9fczMyIGRyb3BfbmV4dDsKKyAgX191MzIgbGFzdGNvdW50OworICBfX3UzMiBkcm9wcGluZzsKKyAgX19zMzIgZHJvcF9uZXh0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNfZnFfY29kZWxfeHN0YXRzIHsKLSBfX3UzMiB0eXBlOwotIHVuaW9uIHsKLSBzdHJ1Y3QgdGNfZnFfY29kZWxfcWRfc3RhdHMgcWRpc2Nfc3RhdHM7CisgIF9fdTMyIHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgdGNfZnFfY29kZWxfcWRfc3RhdHMgcWRpc2Nfc3RhdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB0Y19mcV9jb2RlbF9jbF9zdGF0cyBjbGFzc19zdGF0czsKLSB9OworICAgIHN0cnVjdCB0Y19mcV9jb2RlbF9jbF9zdGF0cyBjbGFzc19zdGF0czsKKyAgfTsKIH07CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0ZRX1VOU1BFQywKLSBUQ0FfRlFfUExJTUlULAotIFRDQV9GUV9GTE9XX1BMSU1JVCwKLSBUQ0FfRlFfUVVBTlRVTSwKKyAgVENBX0ZRX1VOU1BFQywKKyAgVENBX0ZRX1BMSU1JVCwKKyAgVENBX0ZRX0ZMT1dfUExJTUlULAorICBUQ0FfRlFfUVVBTlRVTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0ZRX0lOSVRJQUxfUVVBTlRVTSwKLSBUQ0FfRlFfUkFURV9FTkFCTEUsCi0gVENBX0ZRX0ZMT1dfREVGQVVMVF9SQVRFLAotIFRDQV9GUV9GTE9XX01BWF9SQVRFLAorICBUQ0FfRlFfSU5JVElBTF9RVUFOVFVNLAorICBUQ0FfRlFfUkFURV9FTkFCTEUsCisgIFRDQV9GUV9GTE9XX0RFRkFVTFRfUkFURSwKKyAgVENBX0ZRX0ZMT1dfTUFYX1JBVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9GUV9CVUNLRVRTX0xPRywKLSBUQ0FfRlFfRkxPV19SRUZJTExfREVMQVksCi0gX19UQ0FfRlFfTUFYCisgIFRDQV9GUV9CVUNLRVRTX0xPRywKKyAgVENBX0ZRX0ZMT1dfUkVGSUxMX0RFTEFZLAorICBfX1RDQV9GUV9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfRlFfTUFYIChfX1RDQV9GUV9NQVggLSAxKQogc3RydWN0IHRjX2ZxX3FkX3N0YXRzIHsKLSBfX3U2NCBnY19mbG93czsKLSBfX3U2NCBoaWdocHJpb19wYWNrZXRzOworICBfX3U2NCBnY19mbG93czsKKyAgX191NjQgaGlnaHByaW9fcGFja2V0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdGNwX3JldHJhbnM7Ci0gX191NjQgdGhyb3R0bGVkOwotIF9fdTY0IGZsb3dzX3BsaW1pdDsKLSBfX3U2NCBwa3RzX3Rvb19sb25nOworICBfX3U2NCB0Y3BfcmV0cmFuczsKKyAgX191NjQgdGhyb3R0bGVkOworICBfX3U2NCBmbG93c19wbGltaXQ7CisgIF9fdTY0IHBrdHNfdG9vX2xvbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGFsbG9jYXRpb25fZXJyb3JzOwotIF9fczY0IHRpbWVfbmV4dF9kZWxheWVkX2Zsb3c7Ci0gX191MzIgZmxvd3M7Ci0gX191MzIgaW5hY3RpdmVfZmxvd3M7CisgIF9fdTY0IGFsbG9jYXRpb25fZXJyb3JzOworICBfX3M2NCB0aW1lX25leHRfZGVsYXllZF9mbG93OworICBfX3UzMiBmbG93czsKKyAgX191MzIgaW5hY3RpdmVfZmxvd3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRocm90dGxlZF9mbG93czsKLSBfX3UzMiBwYWQ7CisgIF9fdTMyIHRocm90dGxlZF9mbG93czsKKyAgX191MzIgcGFkOwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfSEhGX1VOU1BFQywKLSBUQ0FfSEhGX0JBQ0tMT0dfTElNSVQsCi0gVENBX0hIRl9RVUFOVFVNLAotIFRDQV9ISEZfSEhfRkxPV1NfTElNSVQsCisgIFRDQV9ISEZfVU5TUEVDLAorICBUQ0FfSEhGX0JBQ0tMT0dfTElNSVQsCisgIFRDQV9ISEZfUVVBTlRVTSwKKyAgVENBX0hIRl9ISF9GTE9XU19MSU1JVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0hIRl9SRVNFVF9USU1FT1VULAotIFRDQV9ISEZfQURNSVRfQllURVMsCi0gVENBX0hIRl9FVklDVF9USU1FT1VULAotIFRDQV9ISEZfTk9OX0hIX1dFSUdIVCwKKyAgVENBX0hIRl9SRVNFVF9USU1FT1VULAorICBUQ0FfSEhGX0FETUlUX0JZVEVTLAorICBUQ0FfSEhGX0VWSUNUX1RJTUVPVVQsCisgIFRDQV9ISEZfTk9OX0hIX1dFSUdIVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19UQ0FfSEhGX01BWAorICBfX1RDQV9ISEZfTUFYCiB9OwogI2RlZmluZSBUQ0FfSEhGX01BWCAoX19UQ0FfSEhGX01BWCAtIDEpCiBzdHJ1Y3QgdGNfaGhmX3hzdGF0cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRyb3Bfb3ZlcmxpbWl0OwotIF9fdTMyIGhoX292ZXJsaW1pdDsKLSBfX3UzMiBoaF90b3RfY291bnQ7Ci0gX191MzIgaGhfY3VyX2NvdW50OworICBfX3UzMiBkcm9wX292ZXJsaW1pdDsKKyAgX191MzIgaGhfb3ZlcmxpbWl0OworICBfX3UzMiBoaF90b3RfY291bnQ7CisgIF9fdTMyIGhoX2N1cl9jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gVENBX1BJRV9VTlNQRUMsCi0gVENBX1BJRV9UQVJHRVQsCisgIFRDQV9QSUVfVU5TUEVDLAorICBUQ0FfUElFX1RBUkdFVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1BJRV9MSU1JVCwKLSBUQ0FfUElFX1RVUERBVEUsCi0gVENBX1BJRV9BTFBIQSwKLSBUQ0FfUElFX0JFVEEsCisgIFRDQV9QSUVfTElNSVQsCisgIFRDQV9QSUVfVFVQREFURSwKKyAgVENBX1BJRV9BTFBIQSwKKyAgVENBX1BJRV9CRVRBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfUElFX0VDTiwKLSBUQ0FfUElFX0JZVEVNT0RFLAotIF9fVENBX1BJRV9NQVgKKyAgVENBX1BJRV9FQ04sCisgIFRDQV9QSUVfQllURU1PREUsCisgIF9fVENBX1BJRV9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfUElFX01BWCAoX19UQ0FfUElFX01BWCAtIDEpCiBzdHJ1Y3QgdGNfcGllX3hzdGF0cyB7Ci0gX191MzIgcHJvYjsKLSBfX3UzMiBkZWxheTsKKyAgX191MzIgcHJvYjsKKyAgX191MzIgZGVsYXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGF2Z19kcV9yYXRlOwotIF9fdTMyIHBhY2tldHNfaW47Ci0gX191MzIgZHJvcHBlZDsKLSBfX3UzMiBvdmVybGltaXQ7CisgIF9fdTMyIGF2Z19kcV9yYXRlOworICBfX3UzMiBwYWNrZXRzX2luOworICBfX3UzMiBkcm9wcGVkOworICBfX3UzMiBvdmVybGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1heHE7Ci0gX191MzIgZWNuX21hcms7CisgIF9fdTMyIG1heHE7CisgIF9fdTMyIGVjbl9tYXJrOwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcGt0Y2R2ZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wa3RjZHZkLmgKaW5kZXggYzgwZThlYi4uNWQ3YTI0NiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wa3RjZHZkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wa3RjZHZkLmgKQEAgLTU4LDEzICs1OCwxMyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUEtUX0NUUkxfQ01EX1NUQVRVUyAyCiBzdHJ1Y3QgcGt0X2N0cmxfY29tbWFuZCB7Ci0gX191MzIgY29tbWFuZDsKLSBfX3UzMiBkZXZfaW5kZXg7CisgIF9fdTMyIGNvbW1hbmQ7CisgIF9fdTMyIGRldl9pbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZGV2OwotIF9fdTMyIHBrdF9kZXY7Ci0gX191MzIgbnVtX2RldmljZXM7Ci0gX191MzIgcGFkZGluZzsKKyAgX191MzIgZGV2OworICBfX3UzMiBwa3RfZGV2OworICBfX3UzMiBudW1fZGV2aWNlczsKKyAgX191MzIgcGFkZGluZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBQQUNLRVRfSU9DVExfTUFHSUMgKCdYJykKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcG11LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BtdS5oCmluZGV4IDM3MmJkMTkuLjVhM2Q4YzIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcG11LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wbXUuaApAQCAtODgsMzMgKzg4LDMzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQTVVfSTJDX1NUQVRVU19CVVNZIDB4ZmUKIGVudW0gewotIFBNVV9VTktOT1dOLAotIFBNVV9PSEFSRV9CQVNFRCwKKyAgUE1VX1VOS05PV04sCisgIFBNVV9PSEFSRV9CQVNFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUE1VX0hFQVRIUk9XX0JBU0VELAotIFBNVV9QQURESU5HVE9OX0JBU0VELAotIFBNVV9LRVlMQVJHT19CQVNFRCwKLSBQTVVfNjhLX1YxLAorICBQTVVfSEVBVEhST1dfQkFTRUQsCisgIFBNVV9QQURESU5HVE9OX0JBU0VELAorICBQTVVfS0VZTEFSR09fQkFTRUQsCisgIFBNVV82OEtfVjEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBNVV82OEtfVjIsCisgIFBNVV82OEtfVjIsCiB9OwogZW51bSB7Ci0gUE1VX1BXUl9HRVRfUE9XRVJVUF9FVkVOVFMgPSAweDAwLAorICBQTVVfUFdSX0dFVF9QT1dFUlVQX0VWRU5UUyA9IDB4MDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBNVV9QV1JfU0VUX1BPV0VSVVBfRVZFTlRTID0gMHgwMSwKLSBQTVVfUFdSX0NMUl9QT1dFUlVQX0VWRU5UUyA9IDB4MDIsCi0gUE1VX1BXUl9HRVRfV0FLRVVQX0VWRU5UUyA9IDB4MDMsCi0gUE1VX1BXUl9TRVRfV0FLRVVQX0VWRU5UUyA9IDB4MDQsCisgIFBNVV9QV1JfU0VUX1BPV0VSVVBfRVZFTlRTID0gMHgwMSwKKyAgUE1VX1BXUl9DTFJfUE9XRVJVUF9FVkVOVFMgPSAweDAyLAorICBQTVVfUFdSX0dFVF9XQUtFVVBfRVZFTlRTID0gMHgwMywKKyAgUE1VX1BXUl9TRVRfV0FLRVVQX0VWRU5UUyA9IDB4MDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBNVV9QV1JfQ0xSX1dBS0VVUF9FVkVOVFMgPSAweDA1LAorICBQTVVfUFdSX0NMUl9XQUtFVVBfRVZFTlRTID0gMHgwNSwKIH07CiBlbnVtIHsKLSBQTVVfUFdSX1dBS0VVUF9LRVkgPSAweDAxLAorICBQTVVfUFdSX1dBS0VVUF9LRVkgPSAweDAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQTVVfUFdSX1dBS0VVUF9BQ19JTlNFUlQgPSAweDAyLAotIFBNVV9QV1JfV0FLRVVQX0FDX0NIQU5HRSA9IDB4MDQsCi0gUE1VX1BXUl9XQUtFVVBfTElEX09QRU4gPSAweDA4LAotIFBNVV9QV1JfV0FLRVVQX1JJTkcgPSAweDEwLAorICBQTVVfUFdSX1dBS0VVUF9BQ19JTlNFUlQgPSAweDAyLAorICBQTVVfUFdSX1dBS0VVUF9BQ19DSEFOR0UgPSAweDA0LAorICBQTVVfUFdSX1dBS0VVUF9MSURfT1BFTiA9IDB4MDgsCisgIFBNVV9QV1JfV0FLRVVQX1JJTkcgPSAweDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcG9zaXhfdHlwZXMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcG9zaXhfdHlwZXMuaAppbmRleCBjMTk3NTE5Li5iMGUxYzVmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Bvc2l4X3R5cGVzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wb3NpeF90eXBlcy5oCkBAIC0yMywxMCArMjMsMTAgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIF9fRkRfU0VUU0laRSAxMDI0CiB0eXBlZGVmIHN0cnVjdCB7Ci0gdW5zaWduZWQgbG9uZyBmZHNfYml0c1tfX0ZEX1NFVFNJWkUgLyAoOCAqIHNpemVvZihsb25nKSldOworICB1bnNpZ25lZCBsb25nIGZkc19iaXRzW19fRkRfU0VUU0laRSAvICg4ICogc2l6ZW9mKGxvbmcpKV07CiB9IF9fa2VybmVsX2ZkX3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi10eXBlZGVmIHZvaWQgKCpfX2tlcm5lbF9zaWdoYW5kbGVyX3QpKGludCk7Cit0eXBlZGVmIHZvaWQoKiBfX2tlcm5lbF9zaWdoYW5kbGVyX3QpIChpbnQpOwogdHlwZWRlZiBpbnQgX19rZXJuZWxfa2V5X3Q7CiB0eXBlZGVmIGludCBfX2tlcm5lbF9tcWRfdDsKICNpbmNsdWRlIDxhc20vcG9zaXhfdHlwZXMuaD4KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHBkZXYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHBkZXYuaAppbmRleCAyZmE3ODVjLi41ZDAzZjQzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BwZGV2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcGRldi5oCkBAIC0yNCw5ICsyNCw5IEBACiAjZGVmaW5lIFBQUkNPTlRST0wgX0lPUihQUF9JT0NUTCwgMHg4MywgdW5zaWduZWQgY2hhcikKICNkZWZpbmUgUFBXQ09OVFJPTCBfSU9XKFBQX0lPQ1RMLCAweDg0LCB1bnNpZ25lZCBjaGFyKQogc3RydWN0IHBwZGV2X2Zyb2Jfc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIG1hc2s7CisgIHVuc2lnbmVkIGNoYXIgbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciB2YWw7CisgIHVuc2lnbmVkIGNoYXIgdmFsOwogfTsKICNkZWZpbmUgUFBGQ09OVFJPTCBfSU9XKFBQX0lPQ1RMLCAweDhlLCBzdHJ1Y3QgcHBkZXZfZnJvYl9zdHJ1Y3QpCiAjZGVmaW5lIFBQUkRBVEEgX0lPUihQUF9JT0NUTCwgMHg4NSwgdW5zaWduZWQgY2hhcikKQEAgLTU3LDggKzU3LDggQEAKICNkZWZpbmUgUFBHRVRGTEFHUyBfSU9SKFBQX0lPQ1RMLCAweDlhLCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQUFNFVEZMQUdTIF9JT1coUFBfSU9DVEwsIDB4OWIsIGludCkKLSNkZWZpbmUgUFBfRkFTVFdSSVRFICgxPDwyKQotI2RlZmluZSBQUF9GQVNUUkVBRCAoMTw8MykKLSNkZWZpbmUgUFBfVzkxMjg0UElDICgxPDw0KQorI2RlZmluZSBQUF9GQVNUV1JJVEUgKDEgPDwgMikKKyNkZWZpbmUgUFBfRkFTVFJFQUQgKDEgPDwgMykKKyNkZWZpbmUgUFBfVzkxMjg0UElDICgxIDw8IDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQUF9GTEFHTUFTSyAoUFBfRkFTVFdSSVRFIHwgUFBfRkFTVFJFQUQgfCBQUF9XOTEyODRQSUMpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BwcC1jb21wLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BwcC1jb21wLmgKaW5kZXggODY2YjBmZi4uZDk1MzMzMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcHAtY29tcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHBwLWNvbXAuaApAQCAtNDIsNyArNDIsNyBAQAogI2RlZmluZSBCU0RfVkVSU0lPTih4KSAoKHgpID4+IDUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBCU0RfQ1VSUkVOVF9WRVJTSU9OIDEKLSNkZWZpbmUgQlNEX01BS0VfT1BUKHYsIG4pICgoKHYpIDw8IDUpIHwgKG4pKQorI2RlZmluZSBCU0RfTUFLRV9PUFQodixuKSAoKCh2KSA8PCA1KSB8IChuKSkKICNkZWZpbmUgQlNEX01JTl9CSVRTIDkKICNkZWZpbmUgQlNEX01BWF9CSVRTIDE1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcHAtaW9jdGwuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHBwLWlvY3RsLmgKaW5kZXggZmEyNDIzYy4uMzkxNzAzNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcHAtaW9jdGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BwcC1pb2N0bC5oCkBAIC02MSwzMCArNjEsMzAgQEAKICNkZWZpbmUgU0NfRENfRVJST1IgMHgwMDQwMDAwMAogc3RydWN0IG5waW9jdGwgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcHJvdG9jb2w7Ci0gZW51bSBOUG1vZGUgbW9kZTsKKyAgaW50IHByb3RvY29sOworICBlbnVtIE5QbW9kZSBtb2RlOwogfTsKIHN0cnVjdCBwcHBfb3B0aW9uX2RhdGEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IF9fdXNlciAqcHRyOwotIF9fdTMyIGxlbmd0aDsKLSBpbnQgdHJhbnNtaXQ7CisgIF9fdTggX191c2VyICogcHRyOworICBfX3UzMiBsZW5ndGg7CisgIGludCB0cmFuc21pdDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHBwcG9sMnRwX2lvY19zdGF0cyB7Ci0gX191MTYgdHVubmVsX2lkOwotIF9fdTE2IHNlc3Npb25faWQ7Ci0gX191MzIgdXNpbmdfaXBzZWM6MTsKKyAgX191MTYgdHVubmVsX2lkOworICBfX3UxNiBzZXNzaW9uX2lkOworICBfX3UzMiB1c2luZ19pcHNlYyA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYWxpZ25lZF91NjQgdHhfcGFja2V0czsKLSBfX2FsaWduZWRfdTY0IHR4X2J5dGVzOwotIF9fYWxpZ25lZF91NjQgdHhfZXJyb3JzOwotIF9fYWxpZ25lZF91NjQgcnhfcGFja2V0czsKKyAgX19hbGlnbmVkX3U2NCB0eF9wYWNrZXRzOworICBfX2FsaWduZWRfdTY0IHR4X2J5dGVzOworICBfX2FsaWduZWRfdTY0IHR4X2Vycm9yczsKKyAgX19hbGlnbmVkX3U2NCByeF9wYWNrZXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2FsaWduZWRfdTY0IHJ4X2J5dGVzOwotIF9fYWxpZ25lZF91NjQgcnhfc2VxX2Rpc2NhcmRzOwotIF9fYWxpZ25lZF91NjQgcnhfb29zX3BhY2tldHM7Ci0gX19hbGlnbmVkX3U2NCByeF9lcnJvcnM7CisgIF9fYWxpZ25lZF91NjQgcnhfYnl0ZXM7CisgIF9fYWxpZ25lZF91NjQgcnhfc2VxX2Rpc2NhcmRzOworICBfX2FsaWduZWRfdTY0IHJ4X29vc19wYWNrZXRzOworICBfX2FsaWduZWRfdTY0IHJ4X2Vycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBQUFBJT0NHRkxBR1MgX0lPUigndCcsIDkwLCBpbnQpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BwcF9kZWZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BwcF9kZWZzLmgKaW5kZXggNjY1NDA1OC4uZmYxYWZiYiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcHBfZGVmcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHBwX2RlZnMuaApAQCAtMjMsMTAgKzIzLDEwIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQUFBfRkNTTEVOIDIKICNkZWZpbmUgUFBQX01SVSAxNTAwCi0jZGVmaW5lIFBQUF9BRERSRVNTKHApICgoKF9fdTggKikocCkpWzBdKQotI2RlZmluZSBQUFBfQ09OVFJPTChwKSAoKChfX3U4ICopKHApKVsxXSkKKyNkZWZpbmUgUFBQX0FERFJFU1MocCkgKCgoX191OCAqKSAocCkpWzBdKQorI2RlZmluZSBQUFBfQ09OVFJPTChwKSAoKChfX3U4ICopIChwKSlbMV0pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQUFBfUFJPVE9DT0wocCkgKCgoKF9fdTggKikocCkpWzJdIDw8IDgpICsgKChfX3U4ICopKHApKVszXSkKKyNkZWZpbmUgUFBQX1BST1RPQ09MKHApICgoKChfX3U4ICopIChwKSlbMl0gPDwgOCkgKyAoKF9fdTggKikgKHApKVszXSkKICNkZWZpbmUgUFBQX0FMTFNUQVRJT05TIDB4ZmYKICNkZWZpbmUgUFBQX1VJIDB4MDMKICNkZWZpbmUgUFBQX0ZMQUcgMHg3ZQpAQCAtNjcsNjggKzY3LDY4IEBACiB0eXBlZGVmIF9fdTMyIGV4dF9hY2NtWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gTlBtb2RlIHsKLSBOUE1PREVfUEFTUywKLSBOUE1PREVfRFJPUCwKLSBOUE1PREVfRVJST1IsCisgIE5QTU9ERV9QQVNTLAorICBOUE1PREVfRFJPUCwKKyAgTlBNT0RFX0VSUk9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBOUE1PREVfUVVFVUUKKyAgTlBNT0RFX1FVRVVFCiB9Owogc3RydWN0IHBwcHN0YXQgewotIF9fdTMyIHBwcF9kaXNjYXJkczsKKyAgX191MzIgcHBwX2Rpc2NhcmRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwcHBfaWJ5dGVzOwotIF9fdTMyIHBwcF9pb2N0ZWN0czsKLSBfX3UzMiBwcHBfaXBhY2tldHM7Ci0gX191MzIgcHBwX2llcnJvcnM7CisgIF9fdTMyIHBwcF9pYnl0ZXM7CisgIF9fdTMyIHBwcF9pb2N0ZWN0czsKKyAgX191MzIgcHBwX2lwYWNrZXRzOworICBfX3UzMiBwcHBfaWVycm9yczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHBwX2lscXJzOwotIF9fdTMyIHBwcF9vYnl0ZXM7Ci0gX191MzIgcHBwX29vY3RlY3RzOwotIF9fdTMyIHBwcF9vcGFja2V0czsKKyAgX191MzIgcHBwX2lscXJzOworICBfX3UzMiBwcHBfb2J5dGVzOworICBfX3UzMiBwcHBfb29jdGVjdHM7CisgIF9fdTMyIHBwcF9vcGFja2V0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcHBwX29lcnJvcnM7Ci0gX191MzIgcHBwX29scXJzOworICBfX3UzMiBwcHBfb2Vycm9yczsKKyAgX191MzIgcHBwX29scXJzOwogfTsKIHN0cnVjdCB2anN0YXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB2anNfcGFja2V0czsKLSBfX3UzMiB2anNfY29tcHJlc3NlZDsKLSBfX3UzMiB2anNfc2VhcmNoZXM7Ci0gX191MzIgdmpzX21pc3NlczsKKyAgX191MzIgdmpzX3BhY2tldHM7CisgIF9fdTMyIHZqc19jb21wcmVzc2VkOworICBfX3UzMiB2anNfc2VhcmNoZXM7CisgIF9fdTMyIHZqc19taXNzZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHZqc191bmNvbXByZXNzZWRpbjsKLSBfX3UzMiB2anNfY29tcHJlc3NlZGluOwotIF9fdTMyIHZqc19lcnJvcmluOwotIF9fdTMyIHZqc190b3NzZWQ7CisgIF9fdTMyIHZqc191bmNvbXByZXNzZWRpbjsKKyAgX191MzIgdmpzX2NvbXByZXNzZWRpbjsKKyAgX191MzIgdmpzX2Vycm9yaW47CisgIF9fdTMyIHZqc190b3NzZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBjb21wc3RhdCB7Ci0gX191MzIgdW5jX2J5dGVzOwotIF9fdTMyIHVuY19wYWNrZXRzOworICBfX3UzMiB1bmNfYnl0ZXM7CisgIF9fdTMyIHVuY19wYWNrZXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb21wX2J5dGVzOwotIF9fdTMyIGNvbXBfcGFja2V0czsKLSBfX3UzMiBpbmNfYnl0ZXM7Ci0gX191MzIgaW5jX3BhY2tldHM7CisgIF9fdTMyIGNvbXBfYnl0ZXM7CisgIF9fdTMyIGNvbXBfcGFja2V0czsKKyAgX191MzIgaW5jX2J5dGVzOworICBfX3UzMiBpbmNfcGFja2V0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW5fY291bnQ7Ci0gX191MzIgYnl0ZXNfb3V0OwotIGRvdWJsZSByYXRpbzsKKyAgX191MzIgaW5fY291bnQ7CisgIF9fdTMyIGJ5dGVzX291dDsKKyAgZG91YmxlIHJhdGlvOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcHBwX3N0YXRzIHsKLSBzdHJ1Y3QgcHBwc3RhdCBwOwotIHN0cnVjdCB2anN0YXQgdmo7CisgIHN0cnVjdCBwcHBzdGF0IHA7CisgIHN0cnVjdCB2anN0YXQgdmo7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBwcHBfY29tcF9zdGF0cyB7Ci0gc3RydWN0IGNvbXBzdGF0IGM7Ci0gc3RydWN0IGNvbXBzdGF0IGQ7CisgIHN0cnVjdCBjb21wc3RhdCBjOworICBzdHJ1Y3QgY29tcHN0YXQgZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHBwcF9pZGxlIHsKLSBfX2tlcm5lbF90aW1lX3QgeG1pdF9pZGxlOwotIF9fa2VybmVsX3RpbWVfdCByZWN2X2lkbGU7CisgIF9fa2VybmVsX3RpbWVfdCB4bWl0X2lkbGU7CisgIF9fa2VybmVsX3RpbWVfdCByZWN2X2lkbGU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHBzLmgKaW5kZXggY2I4YTQxOC4uNjk4OThhMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Bwcy5oCkBAIC0yNywyNyArMjcsMjcgQEAKICNkZWZpbmUgUFBTX01BWF9OQU1FX0xFTiAzMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBwcHNfa3RpbWUgewotIF9fczY0IHNlYzsKLSBfX3MzMiBuc2VjOwotIF9fdTMyIGZsYWdzOworICBfX3M2NCBzZWM7CisgIF9fczMyIG5zZWM7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIFBQU19USU1FX0lOVkFMSUQgKDE8PDApCisjZGVmaW5lIFBQU19USU1FX0lOVkFMSUQgKDEgPDwgMCkKIHN0cnVjdCBwcHNfa2luZm8gewotIF9fdTMyIGFzc2VydF9zZXF1ZW5jZTsKKyAgX191MzIgYXNzZXJ0X3NlcXVlbmNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjbGVhcl9zZXF1ZW5jZTsKLSBzdHJ1Y3QgcHBzX2t0aW1lIGFzc2VydF90dTsKLSBzdHJ1Y3QgcHBzX2t0aW1lIGNsZWFyX3R1OwotIGludCBjdXJyZW50X21vZGU7CisgIF9fdTMyIGNsZWFyX3NlcXVlbmNlOworICBzdHJ1Y3QgcHBzX2t0aW1lIGFzc2VydF90dTsKKyAgc3RydWN0IHBwc19rdGltZSBjbGVhcl90dTsKKyAgaW50IGN1cnJlbnRfbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHBwc19rcGFyYW1zIHsKLSBpbnQgYXBpX3ZlcnNpb247Ci0gaW50IG1vZGU7CisgIGludCBhcGlfdmVyc2lvbjsKKyAgaW50IG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBwcHNfa3RpbWUgYXNzZXJ0X29mZl90dTsKLSBzdHJ1Y3QgcHBzX2t0aW1lIGNsZWFyX29mZl90dTsKKyAgc3RydWN0IHBwc19rdGltZSBhc3NlcnRfb2ZmX3R1OworICBzdHJ1Y3QgcHBzX2t0aW1lIGNsZWFyX29mZl90dTsKIH07CiAjZGVmaW5lIFBQU19DQVBUVVJFQVNTRVJUIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC02OCwxNSArNjgsMTUgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBQU19LQ19IQVJEUFBTX0ZMTCAyCiBzdHJ1Y3QgcHBzX2ZkYXRhIHsKLSBzdHJ1Y3QgcHBzX2tpbmZvIGluZm87Ci0gc3RydWN0IHBwc19rdGltZSB0aW1lb3V0OworICBzdHJ1Y3QgcHBzX2tpbmZvIGluZm87CisgIHN0cnVjdCBwcHNfa3RpbWUgdGltZW91dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHBwc19iaW5kX2FyZ3MgewotIGludCB0c2Zvcm1hdDsKLSBpbnQgZWRnZTsKKyAgaW50IHRzZm9ybWF0OworICBpbnQgZWRnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNvbnN1bWVyOworICBpbnQgY29uc3VtZXI7CiB9OwogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CiAjZGVmaW5lIFBQU19HRVRQQVJBTVMgX0lPUigncCcsIDB4YTEsIHN0cnVjdCBwcHNfa3BhcmFtcyAqKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcmN0bC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wcmN0bC5oCmluZGV4IGExMjdiNWEuLjA3ODk4Y2MgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHJjdGwuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ByY3RsLmgKQEAgLTE4LDEwMyArMTgsMTI5IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0xJTlVYX1BSQ1RMX0gKICNkZWZpbmUgX0xJTlVYX1BSQ1RMX0gKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2RlZmluZSBQUl9TRVRfUERFQVRIU0lHIDEKLSNkZWZpbmUgUFJfR0VUX1BERUFUSFNJRyAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQUl9HRVRfUERFQVRIU0lHIDIKICNkZWZpbmUgUFJfR0VUX0RVTVBBQkxFIDMKICNkZWZpbmUgUFJfU0VUX0RVTVBBQkxFIDQKICNkZWZpbmUgUFJfR0VUX1VOQUxJR04gNQotI2RlZmluZSBQUl9TRVRfVU5BTElHTiA2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQUl9TRVRfVU5BTElHTiA2CiAjZGVmaW5lIFBSX1VOQUxJR05fTk9QUklOVCAxCiAjZGVmaW5lIFBSX1VOQUxJR05fU0lHQlVTIDIKICNkZWZpbmUgUFJfR0VUX0tFRVBDQVBTIDcKLSNkZWZpbmUgUFJfU0VUX0tFRVBDQVBTIDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX1NFVF9LRUVQQ0FQUyA4CiAjZGVmaW5lIFBSX0dFVF9GUEVNVSA5CiAjZGVmaW5lIFBSX1NFVF9GUEVNVSAxMAogI2RlZmluZSBQUl9GUEVNVV9OT1BSSU5UIDEKLSNkZWZpbmUgUFJfRlBFTVVfU0lHRlBFIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX0ZQRU1VX1NJR0ZQRSAyCiAjZGVmaW5lIFBSX0dFVF9GUEVYQyAxMQogI2RlZmluZSBQUl9TRVRfRlBFWEMgMTIKICNkZWZpbmUgUFJfRlBfRVhDX1NXX0VOQUJMRSAweDgwCi0jZGVmaW5lIFBSX0ZQX0VYQ19ESVYgMHgwMTAwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX0ZQX0VYQ19ESVYgMHgwMTAwMDAKICNkZWZpbmUgUFJfRlBfRVhDX09WRiAweDAyMDAwMAogI2RlZmluZSBQUl9GUF9FWENfVU5EIDB4MDQwMDAwCiAjZGVmaW5lIFBSX0ZQX0VYQ19SRVMgMHgwODAwMDAKLSNkZWZpbmUgUFJfRlBfRVhDX0lOViAweDEwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFJfRlBfRVhDX0lOViAweDEwMDAwMAogI2RlZmluZSBQUl9GUF9FWENfRElTQUJMRUQgMAogI2RlZmluZSBQUl9GUF9FWENfTk9OUkVDT1YgMQogI2RlZmluZSBQUl9GUF9FWENfQVNZTkMgMgotI2RlZmluZSBQUl9GUF9FWENfUFJFQ0lTRSAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQUl9GUF9FWENfUFJFQ0lTRSAzCiAjZGVmaW5lIFBSX0dFVF9USU1JTkcgMTMKICNkZWZpbmUgUFJfU0VUX1RJTUlORyAxNAogI2RlZmluZSBQUl9USU1JTkdfU1RBVElTVElDQUwgMAotI2RlZmluZSBQUl9USU1JTkdfVElNRVNUQU1QIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX1RJTUlOR19USU1FU1RBTVAgMQogI2RlZmluZSBQUl9TRVRfTkFNRSAxNQogI2RlZmluZSBQUl9HRVRfTkFNRSAxNgogI2RlZmluZSBQUl9HRVRfRU5ESUFOIDE5Ci0jZGVmaW5lIFBSX1NFVF9FTkRJQU4gMjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX1NFVF9FTkRJQU4gMjAKICNkZWZpbmUgUFJfRU5ESUFOX0JJRyAwCiAjZGVmaW5lIFBSX0VORElBTl9MSVRUTEUgMQogI2RlZmluZSBQUl9FTkRJQU5fUFBDX0xJVFRMRSAyCi0jZGVmaW5lIFBSX0dFVF9TRUNDT01QIDIxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQUl9HRVRfU0VDQ09NUCAyMQogI2RlZmluZSBQUl9TRVRfU0VDQ09NUCAyMgogI2RlZmluZSBQUl9DQVBCU0VUX1JFQUQgMjMKICNkZWZpbmUgUFJfQ0FQQlNFVF9EUk9QIDI0Ci0jZGVmaW5lIFBSX0dFVF9UU0MgMjUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX0dFVF9UU0MgMjUKICNkZWZpbmUgUFJfU0VUX1RTQyAyNgogI2RlZmluZSBQUl9UU0NfRU5BQkxFIDEKICNkZWZpbmUgUFJfVFNDX1NJR1NFR1YgMgotI2RlZmluZSBQUl9HRVRfU0VDVVJFQklUUyAyNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFJfR0VUX1NFQ1VSRUJJVFMgMjcKICNkZWZpbmUgUFJfU0VUX1NFQ1VSRUJJVFMgMjgKICNkZWZpbmUgUFJfU0VUX1RJTUVSU0xBQ0sgMjkKICNkZWZpbmUgUFJfR0VUX1RJTUVSU0xBQ0sgMzAKLSNkZWZpbmUgUFJfVEFTS19QRVJGX0VWRU5UU19ESVNBQkxFIDMxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQUl9UQVNLX1BFUkZfRVZFTlRTX0RJU0FCTEUgMzEKICNkZWZpbmUgUFJfVEFTS19QRVJGX0VWRU5UU19FTkFCTEUgMzIKICNkZWZpbmUgUFJfTUNFX0tJTEwgMzMKICNkZWZpbmUgUFJfTUNFX0tJTExfQ0xFQVIgMAotI2RlZmluZSBQUl9NQ0VfS0lMTF9TRVQgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFJfTUNFX0tJTExfU0VUIDEKICNkZWZpbmUgUFJfTUNFX0tJTExfTEFURSAwCiAjZGVmaW5lIFBSX01DRV9LSUxMX0VBUkxZIDEKICNkZWZpbmUgUFJfTUNFX0tJTExfREVGQVVMVCAyCi0jZGVmaW5lIFBSX01DRV9LSUxMX0dFVCAzNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFJfTUNFX0tJTExfR0VUIDM0CiAjZGVmaW5lIFBSX1NFVF9NTSAzNQogI2RlZmluZSBQUl9TRVRfTU1fU1RBUlRfQ09ERSAxCiAjZGVmaW5lIFBSX1NFVF9NTV9FTkRfQ09ERSAyCi0jZGVmaW5lIFBSX1NFVF9NTV9TVEFSVF9EQVRBIDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX1NFVF9NTV9TVEFSVF9EQVRBIDMKICNkZWZpbmUgUFJfU0VUX01NX0VORF9EQVRBIDQKICNkZWZpbmUgUFJfU0VUX01NX1NUQVJUX1NUQUNLIDUKICNkZWZpbmUgUFJfU0VUX01NX1NUQVJUX0JSSyA2Ci0jZGVmaW5lIFBSX1NFVF9NTV9CUksgNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFJfU0VUX01NX0JSSyA3CiAjZGVmaW5lIFBSX1NFVF9NTV9BUkdfU1RBUlQgOAogI2RlZmluZSBQUl9TRVRfTU1fQVJHX0VORCA5CiAjZGVmaW5lIFBSX1NFVF9NTV9FTlZfU1RBUlQgMTAKLSNkZWZpbmUgUFJfU0VUX01NX0VOVl9FTkQgMTEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX1NFVF9NTV9FTlZfRU5EIDExCiAjZGVmaW5lIFBSX1NFVF9NTV9BVVhWIDEyCiAjZGVmaW5lIFBSX1NFVF9NTV9FWEVfRklMRSAxMwotI2RlZmluZSBQUl9TRVRfUFRSQUNFUiAweDU5NjE2ZDYxCi0jZGVmaW5lIFBSX1NFVF9QVFJBQ0VSX0FOWSAoKHVuc2lnbmVkIGxvbmcpLTEpCisjZGVmaW5lIFBSX1NFVF9NTV9NQVAgMTQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBSX1NFVF9NTV9NQVBfU0laRSAxNQorc3RydWN0IHByY3RsX21tX21hcCB7CisgIF9fdTY0IHN0YXJ0X2NvZGU7CisgIF9fdTY0IGVuZF9jb2RlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgc3RhcnRfZGF0YTsKKyAgX191NjQgZW5kX2RhdGE7CisgIF9fdTY0IHN0YXJ0X2JyazsKKyAgX191NjQgYnJrOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgc3RhcnRfc3RhY2s7CisgIF9fdTY0IGFyZ19zdGFydDsKKyAgX191NjQgYXJnX2VuZDsKKyAgX191NjQgZW52X3N0YXJ0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgZW52X2VuZDsKKyAgX191NjQgKiBhdXh2OworICBfX3UzMiBhdXh2X3NpemU7CisgIF9fdTMyIGV4ZV9mZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworI2RlZmluZSBQUl9TRVRfUFRSQUNFUiAweDU5NjE2ZDYxCisjZGVmaW5lIFBSX1NFVF9QVFJBQ0VSX0FOWSAoKHVuc2lnbmVkIGxvbmcpIC0gMSkKICNkZWZpbmUgUFJfU0VUX0NISUxEX1NVQlJFQVBFUiAzNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUFJfR0VUX0NISUxEX1NVQlJFQVBFUiAzNwogI2RlZmluZSBQUl9TRVRfTk9fTkVXX1BSSVZTIDM4CiAjZGVmaW5lIFBSX0dFVF9OT19ORVdfUFJJVlMgMzkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBSX0dFVF9USURfQUREUkVTUyA0MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFJfU0VUX1RIUF9ESVNBQkxFIDQxCisjZGVmaW5lIFBSX0dFVF9USFBfRElTQUJMRSA0MgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BzY2kuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHNjaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MjNhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3BzY2kuaApAQCAtMCwwICsxLDc5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9VQVBJX0xJTlVYX1BTQ0lfSAorI2RlZmluZSBfVUFQSV9MSU5VWF9QU0NJX0gKKyNkZWZpbmUgUFNDSV8wXzJfRk5fQkFTRSAweDg0MDAwMDAwCisjZGVmaW5lIFBTQ0lfMF8yX0ZOKG4pIChQU0NJXzBfMl9GTl9CQVNFICsgKG4pKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFNDSV8wXzJfNjRCSVQgMHg0MDAwMDAwMAorI2RlZmluZSBQU0NJXzBfMl9GTjY0X0JBU0UgKFBTQ0lfMF8yX0ZOX0JBU0UgKyBQU0NJXzBfMl82NEJJVCkKKyNkZWZpbmUgUFNDSV8wXzJfRk42NChuKSAoUFNDSV8wXzJfRk42NF9CQVNFICsgKG4pKQorI2RlZmluZSBQU0NJXzBfMl9GTl9QU0NJX1ZFUlNJT04gUFNDSV8wXzJfRk4oMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBTQ0lfMF8yX0ZOX0NQVV9TVVNQRU5EIFBTQ0lfMF8yX0ZOKDEpCisjZGVmaW5lIFBTQ0lfMF8yX0ZOX0NQVV9PRkYgUFNDSV8wXzJfRk4oMikKKyNkZWZpbmUgUFNDSV8wXzJfRk5fQ1BVX09OIFBTQ0lfMF8yX0ZOKDMpCisjZGVmaW5lIFBTQ0lfMF8yX0ZOX0FGRklOSVRZX0lORk8gUFNDSV8wXzJfRk4oNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBTQ0lfMF8yX0ZOX01JR1JBVEUgUFNDSV8wXzJfRk4oNSkKKyNkZWZpbmUgUFNDSV8wXzJfRk5fTUlHUkFURV9JTkZPX1RZUEUgUFNDSV8wXzJfRk4oNikKKyNkZWZpbmUgUFNDSV8wXzJfRk5fTUlHUkFURV9JTkZPX1VQX0NQVSBQU0NJXzBfMl9GTig3KQorI2RlZmluZSBQU0NJXzBfMl9GTl9TWVNURU1fT0ZGIFBTQ0lfMF8yX0ZOKDgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBQU0NJXzBfMl9GTl9TWVNURU1fUkVTRVQgUFNDSV8wXzJfRk4oOSkKKyNkZWZpbmUgUFNDSV8wXzJfRk42NF9DUFVfU1VTUEVORCBQU0NJXzBfMl9GTjY0KDEpCisjZGVmaW5lIFBTQ0lfMF8yX0ZONjRfQ1BVX09OIFBTQ0lfMF8yX0ZONjQoMykKKyNkZWZpbmUgUFNDSV8wXzJfRk42NF9BRkZJTklUWV9JTkZPIFBTQ0lfMF8yX0ZONjQoNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBTQ0lfMF8yX0ZONjRfTUlHUkFURSBQU0NJXzBfMl9GTjY0KDUpCisjZGVmaW5lIFBTQ0lfMF8yX0ZONjRfTUlHUkFURV9JTkZPX1VQX0NQVSBQU0NJXzBfMl9GTjY0KDcpCisjZGVmaW5lIFBTQ0lfMF8yX1BPV0VSX1NUQVRFX0lEX01BU0sgMHhmZmZmCisjZGVmaW5lIFBTQ0lfMF8yX1BPV0VSX1NUQVRFX0lEX1NISUZUIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBTQ0lfMF8yX1BPV0VSX1NUQVRFX1RZUEVfU0hJRlQgMTYKKyNkZWZpbmUgUFNDSV8wXzJfUE9XRVJfU1RBVEVfVFlQRV9NQVNLICgweDEgPDwgUFNDSV8wXzJfUE9XRVJfU1RBVEVfVFlQRV9TSElGVCkKKyNkZWZpbmUgUFNDSV8wXzJfUE9XRVJfU1RBVEVfQUZGTF9TSElGVCAyNAorI2RlZmluZSBQU0NJXzBfMl9QT1dFUl9TVEFURV9BRkZMX01BU0sgKDB4MyA8PCBQU0NJXzBfMl9QT1dFUl9TVEFURV9BRkZMX1NISUZUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFNDSV8wXzJfQUZGSU5JVFlfTEVWRUxfT04gMAorI2RlZmluZSBQU0NJXzBfMl9BRkZJTklUWV9MRVZFTF9PRkYgMQorI2RlZmluZSBQU0NJXzBfMl9BRkZJTklUWV9MRVZFTF9PTl9QRU5ESU5HIDIKKyNkZWZpbmUgUFNDSV8wXzJfVE9TX1VQX01JR1JBVEUgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFNDSV8wXzJfVE9TX1VQX05PX01JR1JBVEUgMQorI2RlZmluZSBQU0NJXzBfMl9UT1NfTVAgMgorI2RlZmluZSBQU0NJX1ZFUlNJT05fTUFKT1JfU0hJRlQgMTYKKyNkZWZpbmUgUFNDSV9WRVJTSU9OX01JTk9SX01BU0sgKCgxVSA8PCBQU0NJX1ZFUlNJT05fTUFKT1JfU0hJRlQpIC0gMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBTQ0lfVkVSU0lPTl9NQUpPUl9NQVNLIH5QU0NJX1ZFUlNJT05fTUlOT1JfTUFTSworI2RlZmluZSBQU0NJX1ZFUlNJT05fTUFKT1IodmVyKSAoKCh2ZXIpICYgUFNDSV9WRVJTSU9OX01BSk9SX01BU0spID4+IFBTQ0lfVkVSU0lPTl9NQUpPUl9TSElGVCkKKyNkZWZpbmUgUFNDSV9WRVJTSU9OX01JTk9SKHZlcikgKCh2ZXIpICYgUFNDSV9WRVJTSU9OX01JTk9SX01BU0spCisjZGVmaW5lIFBTQ0lfUkVUX1NVQ0NFU1MgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUFNDSV9SRVRfTk9UX1NVUFBPUlRFRCAtIDEKKyNkZWZpbmUgUFNDSV9SRVRfSU5WQUxJRF9QQVJBTVMgLSAyCisjZGVmaW5lIFBTQ0lfUkVUX0RFTklFRCAtIDMKKyNkZWZpbmUgUFNDSV9SRVRfQUxSRUFEWV9PTiAtIDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFBTQ0lfUkVUX09OX1BFTkRJTkcgLSA1CisjZGVmaW5lIFBTQ0lfUkVUX0lOVEVSTkFMX0ZBSUxVUkUgLSA2CisjZGVmaW5lIFBTQ0lfUkVUX05PVF9QUkVTRU5UIC0gNworI2RlZmluZSBQU0NJX1JFVF9ESVNBQkxFRCAtIDgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHRwX2Nsb2NrLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3B0cF9jbG9jay5oCmluZGV4IDAxYjE1ZDAuLmJiOWQ2ZDkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHRwX2Nsb2NrLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wdHBfY2xvY2suaApAQCAtMjEsNjEgKzIxLDgxIEBACiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUFRQX0VOQUJMRV9GRUFUVVJFICgxPDwwKQotI2RlZmluZSBQVFBfUklTSU5HX0VER0UgKDE8PDEpCi0jZGVmaW5lIFBUUF9GQUxMSU5HX0VER0UgKDE8PDIpCisjZGVmaW5lIFBUUF9FTkFCTEVfRkVBVFVSRSAoMSA8PCAwKQorI2RlZmluZSBQVFBfUklTSU5HX0VER0UgKDEgPDwgMSkKKyNkZWZpbmUgUFRQX0ZBTExJTkdfRURHRSAoMSA8PCAyKQogc3RydWN0IHB0cF9jbG9ja190aW1lIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zNjQgc2VjOwotIF9fdTMyIG5zZWM7Ci0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fczY0IHNlYzsKKyAgX191MzIgbnNlYzsKKyAgX191MzIgcmVzZXJ2ZWQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBwdHBfY2xvY2tfY2FwcyB7Ci0gaW50IG1heF9hZGo7Ci0gaW50IG5fYWxhcm07Ci0gaW50IG5fZXh0X3RzOworICBpbnQgbWF4X2FkajsKKyAgaW50IG5fYWxhcm07CisgIGludCBuX2V4dF90czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG5fcGVyX291dDsKLSBpbnQgcHBzOwotIGludCByc3ZbMTVdOworICBpbnQgbl9wZXJfb3V0OworICBpbnQgcHBzOworICBpbnQgbl9waW5zOworICBpbnQgcnN2WzE0XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBwdHBfZXh0dHNfcmVxdWVzdCB7Ci0gdW5zaWduZWQgaW50IGluZGV4OwotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bnNpZ25lZCBpbnQgcnN2WzJdOworICB1bnNpZ25lZCBpbnQgaW5kZXg7CisgIHVuc2lnbmVkIGludCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGludCByc3ZbMl07CiB9Owogc3RydWN0IHB0cF9wZXJvdXRfcmVxdWVzdCB7Ci0gc3RydWN0IHB0cF9jbG9ja190aW1lIHN0YXJ0OwotIHN0cnVjdCBwdHBfY2xvY2tfdGltZSBwZXJpb2Q7CisgIHN0cnVjdCBwdHBfY2xvY2tfdGltZSBzdGFydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGluZGV4OwotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bnNpZ25lZCBpbnQgcnN2WzRdOworICBzdHJ1Y3QgcHRwX2Nsb2NrX3RpbWUgcGVyaW9kOworICB1bnNpZ25lZCBpbnQgaW5kZXg7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdW5zaWduZWQgaW50IHJzdls0XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUFRQX01BWF9TQU1QTEVTIDI1CiBzdHJ1Y3QgcHRwX3N5c19vZmZzZXQgewotIHVuc2lnbmVkIGludCBuX3NhbXBsZXM7Ci0gdW5zaWduZWQgaW50IHJzdlszXTsKKyAgdW5zaWduZWQgaW50IG5fc2FtcGxlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHB0cF9jbG9ja190aW1lIHRzWzIgKiBQVFBfTUFYX1NBTVBMRVMgKyAxXTsKKyAgdW5zaWduZWQgaW50IHJzdlszXTsKKyAgc3RydWN0IHB0cF9jbG9ja190aW1lIHRzWzIgKiBQVFBfTUFYX1NBTVBMRVMgKyAxXTsKIH07CitlbnVtIHB0cF9waW5fZnVuY3Rpb24geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgUFRQX1BGX05PTkUsCisgIFBUUF9QRl9FWFRUUywKKyAgUFRQX1BGX1BFUk9VVCwKKyAgUFRQX1BGX1BIWVNZTkMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK3N0cnVjdCBwdHBfcGluX2Rlc2MgeworICBjaGFyIG5hbWVbNjRdOworICB1bnNpZ25lZCBpbnQgaW5kZXg7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBpbnQgZnVuYzsKKyAgdW5zaWduZWQgaW50IGNoYW47CisgIHVuc2lnbmVkIGludCByc3ZbNV07Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUFRQX0NMS19NQUdJQyAnPScKICNkZWZpbmUgUFRQX0NMT0NLX0dFVENBUFMgX0lPUihQVFBfQ0xLX01BR0lDLCAxLCBzdHJ1Y3QgcHRwX2Nsb2NrX2NhcHMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQVFBfRVhUVFNfUkVRVUVTVCBfSU9XKFBUUF9DTEtfTUFHSUMsIDIsIHN0cnVjdCBwdHBfZXh0dHNfcmVxdWVzdCkKICNkZWZpbmUgUFRQX1BFUk9VVF9SRVFVRVNUIF9JT1coUFRQX0NMS19NQUdJQywgMywgc3RydWN0IHB0cF9wZXJvdXRfcmVxdWVzdCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFBUUF9FTkFCTEVfUFBTIF9JT1coUFRQX0NMS19NQUdJQywgNCwgaW50KQogI2RlZmluZSBQVFBfU1lTX09GRlNFVCBfSU9XKFBUUF9DTEtfTUFHSUMsIDUsIHN0cnVjdCBwdHBfc3lzX29mZnNldCkKKyNkZWZpbmUgUFRQX1BJTl9HRVRGVU5DIF9JT1dSKFBUUF9DTEtfTUFHSUMsIDYsIHN0cnVjdCBwdHBfcGluX2Rlc2MpCisjZGVmaW5lIFBUUF9QSU5fU0VURlVOQyBfSU9XKFBUUF9DTEtfTUFHSUMsIDcsIHN0cnVjdCBwdHBfcGluX2Rlc2MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHB0cF9leHR0c19ldmVudCB7Ci0gc3RydWN0IHB0cF9jbG9ja190aW1lIHQ7Ci0gdW5zaWduZWQgaW50IGluZGV4OwotIHVuc2lnbmVkIGludCBmbGFnczsKKyAgc3RydWN0IHB0cF9jbG9ja190aW1lIHQ7CisgIHVuc2lnbmVkIGludCBpbmRleDsKKyAgdW5zaWduZWQgaW50IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcnN2WzJdOworICB1bnNpZ25lZCBpbnQgcnN2WzJdOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wdHJhY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcHRyYWNlLmgKaW5kZXggNmY3MWI2ZC4uYTMyNDRlOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9wdHJhY2UuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3B0cmFjZS5oCkBAIC00OSwxMCArNDksMTAgQEAKICNkZWZpbmUgUFRSQUNFX0xJU1RFTiAweDQyMDgKICNkZWZpbmUgUFRSQUNFX1BFRUtTSUdJTkZPIDB4NDIwOQogc3RydWN0IHB0cmFjZV9wZWVrc2lnaW5mb19hcmdzIHsKLSBfX3U2NCBvZmY7CisgIF9fdTY0IG9mZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7Ci0gX19zMzIgbnI7CisgIF9fdTMyIGZsYWdzOworICBfX3MzMiBucjsKIH07CiAjZGVmaW5lIFBUUkFDRV9HRVRTSUdNQVNLIDB4NDIwYQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcW54NF9mcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xbng0X2ZzLmgKaW5kZXggYWU1ZTNlZS4uYjBlNTE3ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xbng0X2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xbng0X2ZzLmgKQEAgLTQ4LDU0ICs0OCw1NCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUU5YNF9OQU1FX01BWCA0OAogc3RydWN0IHFueDRfaW5vZGVfZW50cnkgewotIGNoYXIgZGlfZm5hbWVbUU5YNF9TSE9SVF9OQU1FX01BWF07Ci0gcW54NF9vZmZfdCBkaV9zaXplOworICBjaGFyIGRpX2ZuYW1lW1FOWDRfU0hPUlRfTkFNRV9NQVhdOworICBxbng0X29mZl90IGRpX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHFueDRfeHRudF90IGRpX2ZpcnN0X3h0bnQ7Ci0gX19sZTMyIGRpX3hibGs7Ci0gX19sZTMyIGRpX2Z0aW1lOwotIF9fbGUzMiBkaV9tdGltZTsKKyAgcW54NF94dG50X3QgZGlfZmlyc3RfeHRudDsKKyAgX19sZTMyIGRpX3hibGs7CisgIF9fbGUzMiBkaV9mdGltZTsKKyAgX19sZTMyIGRpX210aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgZGlfYXRpbWU7Ci0gX19sZTMyIGRpX2N0aW1lOwotIHFueDRfbnh0bnRfdCBkaV9udW1feHRudHM7Ci0gcW54NF9tb2RlX3QgZGlfbW9kZTsKKyAgX19sZTMyIGRpX2F0aW1lOworICBfX2xlMzIgZGlfY3RpbWU7CisgIHFueDRfbnh0bnRfdCBkaV9udW1feHRudHM7CisgIHFueDRfbW9kZV90IGRpX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHFueDRfbXVpZF90IGRpX3VpZDsKLSBxbng0X21naWRfdCBkaV9naWQ7Ci0gcW54NF9ubGlua190IGRpX25saW5rOwotIF9fdTggZGlfemVyb1s0XTsKKyAgcW54NF9tdWlkX3QgZGlfdWlkOworICBxbng0X21naWRfdCBkaV9naWQ7CisgIHFueDRfbmxpbmtfdCBkaV9ubGluazsKKyAgX191OCBkaV96ZXJvWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBxbng0X2Z0eXBlX3QgZGlfdHlwZTsKLSBfX3U4IGRpX3N0YXR1czsKKyAgcW54NF9mdHlwZV90IGRpX3R5cGU7CisgIF9fdTggZGlfc3RhdHVzOwogfTsKIHN0cnVjdCBxbng0X2xpbmtfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZGxfZm5hbWVbUU5YNF9OQU1FX01BWF07Ci0gX19sZTMyIGRsX2lub2RlX2JsazsKLSBfX3U4IGRsX2lub2RlX25keDsKLSBfX3U4IGRsX3NwYXJlWzEwXTsKKyAgY2hhciBkbF9mbmFtZVtRTlg0X05BTUVfTUFYXTsKKyAgX19sZTMyIGRsX2lub2RlX2JsazsKKyAgX191OCBkbF9pbm9kZV9uZHg7CisgIF9fdTggZGxfc3BhcmVbMTBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRsX3N0YXR1czsKKyAgX191OCBkbF9zdGF0dXM7CiB9Owogc3RydWN0IHFueDRfeGJsayB7Ci0gX19sZTMyIHhibGtfbmV4dF94YmxrOworICBfX2xlMzIgeGJsa19uZXh0X3hibGs7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiB4YmxrX3ByZXZfeGJsazsKLSBfX3U4IHhibGtfbnVtX3h0bnRzOwotIF9fdTggeGJsa19zcGFyZVszXTsKLSBfX2xlMzIgeGJsa19udW1fYmxvY2tzOworICBfX2xlMzIgeGJsa19wcmV2X3hibGs7CisgIF9fdTggeGJsa19udW1feHRudHM7CisgIF9fdTggeGJsa19zcGFyZVszXTsKKyAgX19sZTMyIHhibGtfbnVtX2Jsb2NrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gcW54NF94dG50X3QgeGJsa194dG50c1tRTlg0X01BWF9YVE5UU19QRVJfWEJMS107Ci0gY2hhciB4YmxrX3NpZ25hdHVyZVs4XTsKLSBxbng0X3h0bnRfdCB4YmxrX2ZpcnN0X3h0bnQ7CisgIHFueDRfeHRudF90IHhibGtfeHRudHNbUU5YNF9NQVhfWFROVFNfUEVSX1hCTEtdOworICBjaGFyIHhibGtfc2lnbmF0dXJlWzhdOworICBxbng0X3h0bnRfdCB4YmxrX2ZpcnN0X3h0bnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBxbng0X3N1cGVyX2Jsb2NrIHsKLSBzdHJ1Y3QgcW54NF9pbm9kZV9lbnRyeSBSb290RGlyOwotIHN0cnVjdCBxbng0X2lub2RlX2VudHJ5IElub2RlOwotIHN0cnVjdCBxbng0X2lub2RlX2VudHJ5IEJvb3Q7CisgIHN0cnVjdCBxbng0X2lub2RlX2VudHJ5IFJvb3REaXI7CisgIHN0cnVjdCBxbng0X2lub2RlX2VudHJ5IElub2RlOworICBzdHJ1Y3QgcW54NF9pbm9kZV9lbnRyeSBCb290OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgcW54NF9pbm9kZV9lbnRyeSBBbHRCb290OworICBzdHJ1Y3QgcW54NF9pbm9kZV9lbnRyeSBBbHRCb290OwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xbnh0eXBlcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xbnh0eXBlcy5oCmluZGV4IDQxMjEwMjUuLmQ2YmExMjUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcW54dHlwZXMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3FueHR5cGVzLmgKQEAgLTIzLDggKzIzLDggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIF9fdTggcW54NF9mdHlwZV90OwogdHlwZWRlZiBzdHJ1Y3QgewotIF9fbGUzMiB4dG50X2JsazsKLSBfX2xlMzIgeHRudF9zaXplOworICBfX2xlMzIgeHRudF9ibGs7CisgIF9fbGUzMiB4dG50X3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBxbng0X3h0bnRfdDsKIHR5cGVkZWYgX19sZTE2IHFueDRfbW9kZV90OwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xdW90YS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9xdW90YS5oCmluZGV4IDkyMzJkNjQuLmQ1ZmM3MDcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcXVvdGEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3F1b3RhLmgKQEAgLTI2LDEwICsyNiwxMSBAQAogI2RlZmluZSBVU1JRVU9UQSAwCiAjZGVmaW5lIEdSUFFVT1RBIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIElOSVRRRk5BTUVTIHsgICAidXNlciIsICAgICAiZ3JvdXAiLCAgICAgInVuZGVmaW5lZCIsICB9OworI2RlZmluZSBJTklUUUZOQU1FUyB7ICJ1c2VyIiwgImdyb3VwIiwgInVuZGVmaW5lZCIsIFwKK307CiAjZGVmaW5lIFNVQkNNRE1BU0sgMHgwMGZmCiAjZGVmaW5lIFNVQkNNRFNISUZUIDgKLSNkZWZpbmUgUUNNRChjbWQsIHR5cGUpICgoKGNtZCkgPDwgU1VCQ01EU0hJRlQpIHwgKCh0eXBlKSAmIFNVQkNNRE1BU0spKQorI2RlZmluZSBRQ01EKGNtZCx0eXBlKSAoKChjbWQpIDw8IFNVQkNNRFNISUZUKSB8ICgodHlwZSkgJiBTVUJDTURNQVNLKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFFfU1lOQyAweDgwMDAwMQogI2RlZmluZSBRX1FVT1RBT04gMHg4MDAwMDIKQEAgLTQ5LDE0ICs1MCwxNCBAQAogI2RlZmluZSBRSUZfRFFCTEtTSVpFX0JJVFMgMTAKICNkZWZpbmUgUUlGX0RRQkxLU0laRSAoMSA8PCBRSUZfRFFCTEtTSVpFX0JJVFMpCiBlbnVtIHsKLSBRSUZfQkxJTUlUU19CID0gMCwKKyAgUUlGX0JMSU1JVFNfQiA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFFJRl9TUEFDRV9CLAotIFFJRl9JTElNSVRTX0IsCi0gUUlGX0lOT0RFU19CLAotIFFJRl9CVElNRV9CLAorICBRSUZfU1BBQ0VfQiwKKyAgUUlGX0lMSU1JVFNfQiwKKyAgUUlGX0lOT0RFU19CLAorICBRSUZfQlRJTUVfQiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUUlGX0lUSU1FX0IsCisgIFFJRl9JVElNRV9CLAogfTsKICNkZWZpbmUgUUlGX0JMSU1JVFMgKDEgPDwgUUlGX0JMSU1JVFNfQikKICNkZWZpbmUgUUlGX1NQQUNFICgxIDw8IFFJRl9TUEFDRV9CKQpAQCAtNzIsMTcgKzczLDE3IEBACiAjZGVmaW5lIFFJRl9BTEwgKFFJRl9MSU1JVFMgfCBRSUZfVVNBR0UgfCBRSUZfVElNRVMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlmX2RxYmxrIHsKLSBfX3U2NCBkcWJfYmhhcmRsaW1pdDsKLSBfX3U2NCBkcWJfYnNvZnRsaW1pdDsKLSBfX3U2NCBkcWJfY3Vyc3BhY2U7CisgIF9fdTY0IGRxYl9iaGFyZGxpbWl0OworICBfX3U2NCBkcWJfYnNvZnRsaW1pdDsKKyAgX191NjQgZHFiX2N1cnNwYWNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkcWJfaWhhcmRsaW1pdDsKLSBfX3U2NCBkcWJfaXNvZnRsaW1pdDsKLSBfX3U2NCBkcWJfY3VyaW5vZGVzOwotIF9fdTY0IGRxYl9idGltZTsKKyAgX191NjQgZHFiX2loYXJkbGltaXQ7CisgIF9fdTY0IGRxYl9pc29mdGxpbWl0OworICBfX3U2NCBkcWJfY3VyaW5vZGVzOworICBfX3U2NCBkcWJfYnRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRxYl9pdGltZTsKLSBfX3UzMiBkcWJfdmFsaWQ7CisgIF9fdTY0IGRxYl9pdGltZTsKKyAgX191MzIgZHFiX3ZhbGlkOwogfTsKICNkZWZpbmUgSUlGX0JHUkFDRSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtOTEsMTAgKzkyLDEwIEBACiAjZGVmaW5lIElJRl9BTEwgKElJRl9CR1JBQ0UgfCBJSUZfSUdSQUNFIHwgSUlGX0ZMQUdTKQogc3RydWN0IGlmX2RxaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRxaV9iZ3JhY2U7Ci0gX191NjQgZHFpX2lncmFjZTsKLSBfX3UzMiBkcWlfZmxhZ3M7Ci0gX191MzIgZHFpX3ZhbGlkOworICBfX3U2NCBkcWlfYmdyYWNlOworICBfX3U2NCBkcWlfaWdyYWNlOworICBfX3UzMiBkcWlfZmxhZ3M7CisgIF9fdTMyIGRxaV92YWxpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBRVU9UQV9OTF9OT1dBUk4gMApAQCAtMTEyLDIzICsxMTMsMjMgQEAKICNkZWZpbmUgUVVPVEFfTkxfQlNPRlRCRUxPVyAxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFFVT1RBX05MX0NfVU5TUEVDLAotIFFVT1RBX05MX0NfV0FSTklORywKLSBfX1FVT1RBX05MX0NfTUFYLAorICBRVU9UQV9OTF9DX1VOU1BFQywKKyAgUVVPVEFfTkxfQ19XQVJOSU5HLAorICBfX1FVT1RBX05MX0NfTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFFVT1RBX05MX0NfTUFYIChfX1FVT1RBX05MX0NfTUFYIC0gMSkKIGVudW0gewotIFFVT1RBX05MX0FfVU5TUEVDLAorICBRVU9UQV9OTF9BX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUVVPVEFfTkxfQV9RVFlQRSwKLSBRVU9UQV9OTF9BX0VYQ0VTU19JRCwKLSBRVU9UQV9OTF9BX1dBUk5JTkcsCi0gUVVPVEFfTkxfQV9ERVZfTUFKT1IsCisgIFFVT1RBX05MX0FfUVRZUEUsCisgIFFVT1RBX05MX0FfRVhDRVNTX0lELAorICBRVU9UQV9OTF9BX1dBUk5JTkcsCisgIFFVT1RBX05MX0FfREVWX01BSk9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBRVU9UQV9OTF9BX0RFVl9NSU5PUiwKLSBRVU9UQV9OTF9BX0NBVVNFRF9JRCwKLSBfX1FVT1RBX05MX0FfTUFYLAorICBRVU9UQV9OTF9BX0RFVl9NSU5PUiwKKyAgUVVPVEFfTkxfQV9DQVVTRURfSUQsCisgIF9fUVVPVEFfTkxfQV9NQVgsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUVVPVEFfTkxfQV9NQVggKF9fUVVPVEFfTkxfQV9NQVggLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yYWlkL21kX3AuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmFpZC9tZF9wLmgKaW5kZXggZmM2ZTIwZS4uYmRmOGU3YyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yYWlkL21kX3AuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JhaWQvbWRfcC5oCkBAIC00MSw3ICs0MSw3IEBACiAjZGVmaW5lIE1EX1NCX0RFU0NSSVBUT1JfV09SRFMgMzIKICNkZWZpbmUgTURfU0JfRElTS1MgMjcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1EX1NCX0RJU0tTX1dPUkRTIChNRF9TQl9ESVNLUypNRF9TQl9ERVNDUklQVE9SX1dPUkRTKQorI2RlZmluZSBNRF9TQl9ESVNLU19XT1JEUyAoTURfU0JfRElTS1MgKiBNRF9TQl9ERVNDUklQVE9SX1dPUkRTKQogI2RlZmluZSBNRF9TQl9SRVNFUlZFRF9XT1JEUyAoMTAyNCAtIE1EX1NCX0dFTkVSSUNfV09SRFMgLSBNRF9TQl9QRVJTT05BTElUWV9XT1JEUyAtIE1EX1NCX0RJU0tTX1dPUkRTIC0gTURfU0JfREVTQ1JJUFRPUl9XT1JEUykKICNkZWZpbmUgTURfU0JfRVFVQUxfV09SRFMgKE1EX1NCX0dFTkVSSUNfV09SRFMgKyBNRF9TQl9QRVJTT05BTElUWV9XT1JEUyArIE1EX1NCX0RJU0tTX1dPUkRTKQogI2RlZmluZSBNRF9ESVNLX0ZBVUxUWSAwCkBAIC01MiwxMyArNTIsMTMgQEAKICNkZWZpbmUgTURfRElTS19XUklURU1PU1RMWSA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgbWRwX2RldmljZV9kZXNjcmlwdG9yX3MgewotIF9fdTMyIG51bWJlcjsKLSBfX3UzMiBtYWpvcjsKLSBfX3UzMiBtaW5vcjsKKyAgX191MzIgbnVtYmVyOworICBfX3UzMiBtYWpvcjsKKyAgX191MzIgbWlub3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJhaWRfZGlzazsKLSBfX3UzMiBzdGF0ZTsKLSBfX3UzMiByZXNlcnZlZFtNRF9TQl9ERVNDUklQVE9SX1dPUkRTIC0gNV07CisgIF9fdTMyIHJhaWRfZGlzazsKKyAgX191MzIgc3RhdGU7CisgIF9fdTMyIHJlc2VydmVkW01EX1NCX0RFU0NSSVBUT1JfV09SRFMgLSA1XTsKIH0gbWRwX2Rpc2tfdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1EX1NCX01BR0lDIDB4YTkyYjRlZmMKQEAgLTY3LDEyMiArNjcsMTIyIEBACiAjZGVmaW5lIE1EX1NCX0JJVE1BUF9QUkVTRU5UIDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBtZHBfc3VwZXJibG9ja19zIHsKLSBfX3UzMiBtZF9tYWdpYzsKLSBfX3UzMiBtYWpvcl92ZXJzaW9uOwotIF9fdTMyIG1pbm9yX3ZlcnNpb247CisgIF9fdTMyIG1kX21hZ2ljOworICBfX3UzMiBtYWpvcl92ZXJzaW9uOworICBfX3UzMiBtaW5vcl92ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYXRjaF92ZXJzaW9uOwotIF9fdTMyIGd2YWxpZF93b3JkczsKLSBfX3UzMiBzZXRfdXVpZDA7Ci0gX191MzIgY3RpbWU7CisgIF9fdTMyIHBhdGNoX3ZlcnNpb247CisgIF9fdTMyIGd2YWxpZF93b3JkczsKKyAgX191MzIgc2V0X3V1aWQwOworICBfX3UzMiBjdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGV2ZWw7Ci0gX191MzIgc2l6ZTsKLSBfX3UzMiBucl9kaXNrczsKLSBfX3UzMiByYWlkX2Rpc2tzOworICBfX3UzMiBsZXZlbDsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgbnJfZGlza3M7CisgIF9fdTMyIHJhaWRfZGlza3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1kX21pbm9yOwotIF9fdTMyIG5vdF9wZXJzaXN0ZW50OwotIF9fdTMyIHNldF91dWlkMTsKLSBfX3UzMiBzZXRfdXVpZDI7CisgIF9fdTMyIG1kX21pbm9yOworICBfX3UzMiBub3RfcGVyc2lzdGVudDsKKyAgX191MzIgc2V0X3V1aWQxOworICBfX3UzMiBzZXRfdXVpZDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNldF91dWlkMzsKLSBfX3UzMiBnc3RhdGVfY3Jlc2VydmVkW01EX1NCX0dFTkVSSUNfQ09OU1RBTlRfV09SRFMgLSAxNl07Ci0gX191MzIgdXRpbWU7Ci0gX191MzIgc3RhdGU7CisgIF9fdTMyIHNldF91dWlkMzsKKyAgX191MzIgZ3N0YXRlX2NyZXNlcnZlZFtNRF9TQl9HRU5FUklDX0NPTlNUQU5UX1dPUkRTIC0gMTZdOworICBfX3UzMiB1dGltZTsKKyAgX191MzIgc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGFjdGl2ZV9kaXNrczsKLSBfX3UzMiB3b3JraW5nX2Rpc2tzOwotIF9fdTMyIGZhaWxlZF9kaXNrczsKLSBfX3UzMiBzcGFyZV9kaXNrczsKKyAgX191MzIgYWN0aXZlX2Rpc2tzOworICBfX3UzMiB3b3JraW5nX2Rpc2tzOworICBfX3UzMiBmYWlsZWRfZGlza3M7CisgIF9fdTMyIHNwYXJlX2Rpc2tzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzYl9jc3VtOworICBfX3UzMiBzYl9jc3VtOwogI2lmIGRlZmluZWQoX19CWVRFX09SREVSKSA/IF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4gOiBkZWZpbmVkKF9fQklHX0VORElBTikKLSBfX3UzMiBldmVudHNfaGk7Ci0gX191MzIgZXZlbnRzX2xvOworICBfX3UzMiBldmVudHNfaGk7CisgIF9fdTMyIGV2ZW50c19sbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY3BfZXZlbnRzX2hpOwotIF9fdTMyIGNwX2V2ZW50c19sbzsKLSNlbGlmIGRlZmluZWQoX19CWVRFX09SREVSKSA/IF9fQllURV9PUkRFUiA9PSBfX0xJVFRMRV9FTkRJQU4gOiBkZWZpbmVkKF9fTElUVExFX0VORElBTikKLSBfX3UzMiBldmVudHNfbG87CisgIF9fdTMyIGNwX2V2ZW50c19oaTsKKyAgX191MzIgY3BfZXZlbnRzX2xvOworI2VsaWYgZGVmaW5lZChfX0JZVEVfT1JERVIpP19fQllURV9PUkRFUj09X19MSVRUTEVfRU5ESUFOOmRlZmluZWQoX19MSVRUTEVfRU5ESUFOKQorICBfX3UzMiBldmVudHNfbG87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGV2ZW50c19oaTsKLSBfX3UzMiBjcF9ldmVudHNfbG87Ci0gX191MzIgY3BfZXZlbnRzX2hpOworICBfX3UzMiBldmVudHNfaGk7CisgIF9fdTMyIGNwX2V2ZW50c19sbzsKKyAgX191MzIgY3BfZXZlbnRzX2hpOwogI2Vsc2UKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZXJyb3IgdW5zcGVjaWZpZWQgZW5kaWFubmVzcwogI2VuZGlmCi0gX191MzIgcmVjb3ZlcnlfY3A7Ci0gX191NjQgcmVzaGFwZV9wb3NpdGlvbjsKKyAgX191MzIgcmVjb3ZlcnlfY3A7CisgIF9fdTY0IHJlc2hhcGVfcG9zaXRpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG5ld19sZXZlbDsKLSBfX3UzMiBkZWx0YV9kaXNrczsKLSBfX3UzMiBuZXdfbGF5b3V0OwotIF9fdTMyIG5ld19jaHVuazsKKyAgX191MzIgbmV3X2xldmVsOworICBfX3UzMiBkZWx0YV9kaXNrczsKKyAgX191MzIgbmV3X2xheW91dDsKKyAgX191MzIgbmV3X2NodW5rOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBnc3RhdGVfc3Jlc2VydmVkW01EX1NCX0dFTkVSSUNfU1RBVEVfV09SRFMgLSAxOF07Ci0gX191MzIgbGF5b3V0OwotIF9fdTMyIGNodW5rX3NpemU7Ci0gX191MzIgcm9vdF9wdjsKKyAgX191MzIgZ3N0YXRlX3NyZXNlcnZlZFtNRF9TQl9HRU5FUklDX1NUQVRFX1dPUkRTIC0gMThdOworICBfX3UzMiBsYXlvdXQ7CisgIF9fdTMyIGNodW5rX3NpemU7CisgIF9fdTMyIHJvb3RfcHY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJvb3RfYmxvY2s7Ci0gX191MzIgcHN0YXRlX3Jlc2VydmVkW01EX1NCX1BFUlNPTkFMSVRZX1dPUkRTIC0gNF07Ci0gbWRwX2Rpc2tfdCBkaXNrc1tNRF9TQl9ESVNLU107Ci0gX191MzIgcmVzZXJ2ZWRbTURfU0JfUkVTRVJWRURfV09SRFNdOworICBfX3UzMiByb290X2Jsb2NrOworICBfX3UzMiBwc3RhdGVfcmVzZXJ2ZWRbTURfU0JfUEVSU09OQUxJVFlfV09SRFMgLSA0XTsKKyAgbWRwX2Rpc2tfdCBkaXNrc1tNRF9TQl9ESVNLU107CisgIF9fdTMyIHJlc2VydmVkW01EX1NCX1JFU0VSVkVEX1dPUkRTXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gbWRwX2Rpc2tfdCB0aGlzX2Rpc2s7CisgIG1kcF9kaXNrX3QgdGhpc19kaXNrOwogfSBtZHBfc3VwZXJfdDsKLSNkZWZpbmUgTURfU1VQRVJCTE9DS18xX1RJTUVfU0VDX01BU0sgKCgxVUxMPDw0MCkgLSAxKQorI2RlZmluZSBNRF9TVVBFUkJMT0NLXzFfVElNRV9TRUNfTUFTSyAoKDFVTEwgPDwgNDApIC0gMSkKIHN0cnVjdCBtZHBfc3VwZXJibG9ja18xIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIG1hZ2ljOwotIF9fbGUzMiBtYWpvcl92ZXJzaW9uOwotIF9fbGUzMiBmZWF0dXJlX21hcDsKLSBfX2xlMzIgcGFkMDsKKyAgX19sZTMyIG1hZ2ljOworICBfX2xlMzIgbWFqb3JfdmVyc2lvbjsKKyAgX19sZTMyIGZlYXR1cmVfbWFwOworICBfX2xlMzIgcGFkMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzZXRfdXVpZFsxNl07Ci0gY2hhciBzZXRfbmFtZVszMl07Ci0gX19sZTY0IGN0aW1lOwotIF9fbGUzMiBsZXZlbDsKKyAgX191OCBzZXRfdXVpZFsxNl07CisgIGNoYXIgc2V0X25hbWVbMzJdOworICBfX2xlNjQgY3RpbWU7CisgIF9fbGUzMiBsZXZlbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIGxheW91dDsKLSBfX2xlNjQgc2l6ZTsKLSBfX2xlMzIgY2h1bmtzaXplOwotIF9fbGUzMiByYWlkX2Rpc2tzOworICBfX2xlMzIgbGF5b3V0OworICBfX2xlNjQgc2l6ZTsKKyAgX19sZTMyIGNodW5rc2l6ZTsKKyAgX19sZTMyIHJhaWRfZGlza3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBiaXRtYXBfb2Zmc2V0OwotIF9fbGUzMiBuZXdfbGV2ZWw7Ci0gX19sZTY0IHJlc2hhcGVfcG9zaXRpb247Ci0gX19sZTMyIGRlbHRhX2Rpc2tzOworICBfX2xlMzIgYml0bWFwX29mZnNldDsKKyAgX19sZTMyIG5ld19sZXZlbDsKKyAgX19sZTY0IHJlc2hhcGVfcG9zaXRpb247CisgIF9fbGUzMiBkZWx0YV9kaXNrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIG5ld19sYXlvdXQ7Ci0gX19sZTMyIG5ld19jaHVuazsKLSBfX2xlMzIgbmV3X29mZnNldDsKLSBfX2xlNjQgZGF0YV9vZmZzZXQ7CisgIF9fbGUzMiBuZXdfbGF5b3V0OworICBfX2xlMzIgbmV3X2NodW5rOworICBfX2xlMzIgbmV3X29mZnNldDsKKyAgX19sZTY0IGRhdGFfb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlNjQgZGF0YV9zaXplOwotIF9fbGU2NCBzdXBlcl9vZmZzZXQ7Ci0gX19sZTY0IHJlY292ZXJ5X29mZnNldDsKLSBfX2xlMzIgZGV2X251bWJlcjsKKyAgX19sZTY0IGRhdGFfc2l6ZTsKKyAgX19sZTY0IHN1cGVyX29mZnNldDsKKyAgX19sZTY0IHJlY292ZXJ5X29mZnNldDsKKyAgX19sZTMyIGRldl9udW1iZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBjbnRfY29ycmVjdGVkX3JlYWQ7Ci0gX191OCBkZXZpY2VfdXVpZFsxNl07Ci0gX191OCBkZXZmbGFnczsKKyAgX19sZTMyIGNudF9jb3JyZWN0ZWRfcmVhZDsKKyAgX191OCBkZXZpY2VfdXVpZFsxNl07CisgIF9fdTggZGV2ZmxhZ3M7CiAjZGVmaW5lIFdyaXRlTW9zdGx5MSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYmJsb2dfc2hpZnQ7Ci0gX19sZTE2IGJibG9nX3NpemU7Ci0gX19sZTMyIGJibG9nX29mZnNldDsKLSBfX2xlNjQgdXRpbWU7CisgIF9fdTggYmJsb2dfc2hpZnQ7CisgIF9fbGUxNiBiYmxvZ19zaXplOworICBfX2xlMzIgYmJsb2dfb2Zmc2V0OworICBfX2xlNjQgdXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGU2NCBldmVudHM7Ci0gX19sZTY0IHJlc3luY19vZmZzZXQ7Ci0gX19sZTMyIHNiX2NzdW07Ci0gX19sZTMyIG1heF9kZXY7CisgIF9fbGU2NCBldmVudHM7CisgIF9fbGU2NCByZXN5bmNfb2Zmc2V0OworICBfX2xlMzIgc2JfY3N1bTsKKyAgX19sZTMyIG1heF9kZXY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGFkM1s2NC0zMl07Ci0gX19sZTE2IGRldl9yb2xlc1swXTsKKyAgX191OCBwYWQzWzY0IC0gMzJdOworICBfX2xlMTYgZGV2X3JvbGVzWzBdOwogfTsKICNkZWZpbmUgTURfRkVBVFVSRV9CSVRNQVBfT0ZGU0VUIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xOTQsNiArMTk0LDYgQEAKICNkZWZpbmUgTURfRkVBVFVSRV9SRVNIQVBFX0JBQ0tXQVJEUyAzMgogI2RlZmluZSBNRF9GRUFUVVJFX05FV19PRkZTRVQgNjQKICNkZWZpbmUgTURfRkVBVFVSRV9SRUNPVkVSWV9CSVRNQVAgMTI4Ci0jZGVmaW5lIE1EX0ZFQVRVUkVfQUxMIChNRF9GRUFUVVJFX0JJVE1BUF9PRkZTRVQgICB8TURfRkVBVFVSRV9SRUNPVkVSWV9PRkZTRVQgICB8TURfRkVBVFVSRV9SRVNIQVBFX0FDVElWRSAgIHxNRF9GRUFUVVJFX0JBRF9CTE9DS1MgICB8TURfRkVBVFVSRV9SRVBMQUNFTUVOVCAgIHxNRF9GRUFUVVJFX1JFU0hBUEVfQkFDS1dBUkRTICAgfE1EX0ZFQVRVUkVfTkVXX09GRlNFVCAgIHxNRF9GRUFUVVJFX1JFQ09WRVJZX0JJVE1BUCAgICkKKyNkZWZpbmUgTURfRkVBVFVSRV9BTEwgKE1EX0ZFQVRVUkVfQklUTUFQX09GRlNFVCB8IE1EX0ZFQVRVUkVfUkVDT1ZFUllfT0ZGU0VUIHwgTURfRkVBVFVSRV9SRVNIQVBFX0FDVElWRSB8IE1EX0ZFQVRVUkVfQkFEX0JMT0NLUyB8IE1EX0ZFQVRVUkVfUkVQTEFDRU1FTlQgfCBNRF9GRUFUVVJFX1JFU0hBUEVfQkFDS1dBUkRTIHwgTURfRkVBVFVSRV9ORVdfT0ZGU0VUIHwgTURfRkVBVFVSRV9SRUNPVkVSWV9CSVRNQVApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JhaWQvbWRfdS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yYWlkL21kX3UuaAppbmRleCA5NDAyYzc3Li43YTlmYTYxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JhaWQvbWRfdS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmFpZC9tZF91LmgKQEAgLTIyLDk4ICsyMiw5NCBAQAogI2RlZmluZSBNRF9NSU5PUl9WRVJTSU9OIDkwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNRF9QQVRDSExFVkVMX1ZFUlNJT04gMwotI2RlZmluZSBSQUlEX1ZFUlNJT04gX0lPUiAoTURfTUFKT1IsIDB4MTAsIG1kdV92ZXJzaW9uX3QpCi0jZGVmaW5lIEdFVF9BUlJBWV9JTkZPIF9JT1IgKE1EX01BSk9SLCAweDExLCBtZHVfYXJyYXlfaW5mb190KQotI2RlZmluZSBHRVRfRElTS19JTkZPIF9JT1IgKE1EX01BSk9SLCAweDEyLCBtZHVfZGlza19pbmZvX3QpCisjZGVmaW5lIFJBSURfVkVSU0lPTiBfSU9SKE1EX01BSk9SLCAweDEwLCBtZHVfdmVyc2lvbl90KQorI2RlZmluZSBHRVRfQVJSQVlfSU5GTyBfSU9SKE1EX01BSk9SLCAweDExLCBtZHVfYXJyYXlfaW5mb190KQorI2RlZmluZSBHRVRfRElTS19JTkZPIF9JT1IoTURfTUFKT1IsIDB4MTIsIG1kdV9kaXNrX2luZm9fdCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBSSU5UX1JBSURfREVCVUcgX0lPIChNRF9NQUpPUiwgMHgxMykKLSNkZWZpbmUgUkFJRF9BVVRPUlVOIF9JTyAoTURfTUFKT1IsIDB4MTQpCi0jZGVmaW5lIEdFVF9CSVRNQVBfRklMRSBfSU9SIChNRF9NQUpPUiwgMHgxNSwgbWR1X2JpdG1hcF9maWxlX3QpCi0jZGVmaW5lIENMRUFSX0FSUkFZIF9JTyAoTURfTUFKT1IsIDB4MjApCisjZGVmaW5lIFJBSURfQVVUT1JVTiBfSU8oTURfTUFKT1IsIDB4MTQpCisjZGVmaW5lIEdFVF9CSVRNQVBfRklMRSBfSU9SKE1EX01BSk9SLCAweDE1LCBtZHVfYml0bWFwX2ZpbGVfdCkKKyNkZWZpbmUgQ0xFQVJfQVJSQVkgX0lPKE1EX01BSk9SLCAweDIwKQorI2RlZmluZSBBRERfTkVXX0RJU0sgX0lPVyhNRF9NQUpPUiwgMHgyMSwgbWR1X2Rpc2tfaW5mb190KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQUREX05FV19ESVNLIF9JT1cgKE1EX01BSk9SLCAweDIxLCBtZHVfZGlza19pbmZvX3QpCi0jZGVmaW5lIEhPVF9SRU1PVkVfRElTSyBfSU8gKE1EX01BSk9SLCAweDIyKQotI2RlZmluZSBTRVRfQVJSQVlfSU5GTyBfSU9XIChNRF9NQUpPUiwgMHgyMywgbWR1X2FycmF5X2luZm9fdCkKLSNkZWZpbmUgU0VUX0RJU0tfSU5GTyBfSU8gKE1EX01BSk9SLCAweDI0KQorI2RlZmluZSBIT1RfUkVNT1ZFX0RJU0sgX0lPKE1EX01BSk9SLCAweDIyKQorI2RlZmluZSBTRVRfQVJSQVlfSU5GTyBfSU9XKE1EX01BSk9SLCAweDIzLCBtZHVfYXJyYXlfaW5mb190KQorI2RlZmluZSBTRVRfRElTS19JTkZPIF9JTyhNRF9NQUpPUiwgMHgyNCkKKyNkZWZpbmUgV1JJVEVfUkFJRF9JTkZPIF9JTyhNRF9NQUpPUiwgMHgyNSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFdSSVRFX1JBSURfSU5GTyBfSU8gKE1EX01BSk9SLCAweDI1KQotI2RlZmluZSBVTlBST1RFQ1RfQVJSQVkgX0lPIChNRF9NQUpPUiwgMHgyNikKLSNkZWZpbmUgUFJPVEVDVF9BUlJBWSBfSU8gKE1EX01BSk9SLCAweDI3KQotI2RlZmluZSBIT1RfQUREX0RJU0sgX0lPIChNRF9NQUpPUiwgMHgyOCkKKyNkZWZpbmUgVU5QUk9URUNUX0FSUkFZIF9JTyhNRF9NQUpPUiwgMHgyNikKKyNkZWZpbmUgUFJPVEVDVF9BUlJBWSBfSU8oTURfTUFKT1IsIDB4MjcpCisjZGVmaW5lIEhPVF9BRERfRElTSyBfSU8oTURfTUFKT1IsIDB4MjgpCisjZGVmaW5lIFNFVF9ESVNLX0ZBVUxUWSBfSU8oTURfTUFKT1IsIDB4MjkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTRVRfRElTS19GQVVMVFkgX0lPIChNRF9NQUpPUiwgMHgyOSkKLSNkZWZpbmUgSE9UX0dFTkVSQVRFX0VSUk9SIF9JTyAoTURfTUFKT1IsIDB4MmEpCi0jZGVmaW5lIFNFVF9CSVRNQVBfRklMRSBfSU9XIChNRF9NQUpPUiwgMHgyYiwgaW50KQotI2RlZmluZSBSVU5fQVJSQVkgX0lPVyAoTURfTUFKT1IsIDB4MzAsIG1kdV9wYXJhbV90KQorI2RlZmluZSBIT1RfR0VORVJBVEVfRVJST1IgX0lPKE1EX01BSk9SLCAweDJhKQorI2RlZmluZSBTRVRfQklUTUFQX0ZJTEUgX0lPVyhNRF9NQUpPUiwgMHgyYiwgaW50KQorI2RlZmluZSBSVU5fQVJSQVkgX0lPVyhNRF9NQUpPUiwgMHgzMCwgbWR1X3BhcmFtX3QpCisjZGVmaW5lIFNUT1BfQVJSQVkgX0lPKE1EX01BSk9SLCAweDMyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU1RPUF9BUlJBWSBfSU8gKE1EX01BSk9SLCAweDMyKQotI2RlZmluZSBTVE9QX0FSUkFZX1JPIF9JTyAoTURfTUFKT1IsIDB4MzMpCi0jZGVmaW5lIFJFU1RBUlRfQVJSQVlfUlcgX0lPIChNRF9NQUpPUiwgMHgzNCkKKyNkZWZpbmUgU1RPUF9BUlJBWV9STyBfSU8oTURfTUFKT1IsIDB4MzMpCisjZGVmaW5lIFJFU1RBUlRfQVJSQVlfUlcgX0lPKE1EX01BSk9SLCAweDM0KQogI2RlZmluZSBNZHBNaW5vclNoaWZ0IDYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBtZHVfdmVyc2lvbl9zIHsKLSBpbnQgbWFqb3I7Ci0gaW50IG1pbm9yOwotIGludCBwYXRjaGxldmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IG1ham9yOworICBpbnQgbWlub3I7CisgIGludCBwYXRjaGxldmVsOwogfSBtZHVfdmVyc2lvbl90OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IG1kdV9hcnJheV9pbmZvX3MgewotIGludCBtYWpvcl92ZXJzaW9uOwotIGludCBtaW5vcl92ZXJzaW9uOworICBpbnQgbWFqb3JfdmVyc2lvbjsKKyAgaW50IG1pbm9yX3ZlcnNpb247CisgIGludCBwYXRjaF92ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcGF0Y2hfdmVyc2lvbjsKLSBpbnQgY3RpbWU7Ci0gaW50IGxldmVsOwotIGludCBzaXplOworICBpbnQgY3RpbWU7CisgIGludCBsZXZlbDsKKyAgaW50IHNpemU7CisgIGludCBucl9kaXNrczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG5yX2Rpc2tzOwotIGludCByYWlkX2Rpc2tzOwotIGludCBtZF9taW5vcjsKLSBpbnQgbm90X3BlcnNpc3RlbnQ7CisgIGludCByYWlkX2Rpc2tzOworICBpbnQgbWRfbWlub3I7CisgIGludCBub3RfcGVyc2lzdGVudDsKKyAgaW50IHV0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdXRpbWU7Ci0gaW50IHN0YXRlOwotIGludCBhY3RpdmVfZGlza3M7Ci0gaW50IHdvcmtpbmdfZGlza3M7CisgIGludCBzdGF0ZTsKKyAgaW50IGFjdGl2ZV9kaXNrczsKKyAgaW50IHdvcmtpbmdfZGlza3M7CisgIGludCBmYWlsZWRfZGlza3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBmYWlsZWRfZGlza3M7Ci0gaW50IHNwYXJlX2Rpc2tzOwotIGludCBsYXlvdXQ7Ci0gaW50IGNodW5rX3NpemU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBpbnQgc3BhcmVfZGlza3M7CisgIGludCBsYXlvdXQ7CisgIGludCBjaHVua19zaXplOwogfSBtZHVfYXJyYXlfaW5mb190OwotI2RlZmluZSBMRVZFTF9NVUxUSVBBVEggKC00KQotI2RlZmluZSBMRVZFTF9MSU5FQVIgKC0xKQotI2RlZmluZSBMRVZFTF9GQVVMVFkgKC01KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTEVWRUxfTk9ORSAoLTEwMDAwMDApCisjZGVmaW5lIExFVkVMX01VTFRJUEFUSCAoLSA0KQorI2RlZmluZSBMRVZFTF9MSU5FQVIgKC0gMSkKKyNkZWZpbmUgTEVWRUxfRkFVTFRZICgtIDUpCisjZGVmaW5lIExFVkVMX05PTkUgKC0gMTAwMDAwMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBtZHVfZGlza19pbmZvX3MgewotIGludCBudW1iZXI7Ci0gaW50IG1ham9yOworICBpbnQgbnVtYmVyOworICBpbnQgbWFqb3I7CisgIGludCBtaW5vcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG1pbm9yOwotIGludCByYWlkX2Rpc2s7Ci0gaW50IHN0YXRlOworICBpbnQgcmFpZF9kaXNrOworICBpbnQgc3RhdGU7CiB9IG1kdV9kaXNrX2luZm9fdDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHN0cnVjdCBtZHVfc3RhcnRfaW5mb19zIHsKLSBpbnQgbWFqb3I7Ci0gaW50IG1pbm9yOwotIGludCByYWlkX2Rpc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzdGF0ZTsKKyAgaW50IG1ham9yOworICBpbnQgbWlub3I7CisgIGludCByYWlkX2Rpc2s7CisgIGludCBzdGF0ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IG1kdV9zdGFydF9pbmZvX3Q7Ci10eXBlZGVmIHN0cnVjdCBtZHVfYml0bWFwX2ZpbGVfcwotewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHBhdGhuYW1lWzQwOTZdOwordHlwZWRlZiBzdHJ1Y3QgbWR1X2JpdG1hcF9maWxlX3MgeworICBjaGFyIHBhdGhuYW1lWzQwOTZdOwogfSBtZHVfYml0bWFwX2ZpbGVfdDsKLXR5cGVkZWYgc3RydWN0IG1kdV9wYXJhbV9zCi17CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwZXJzb25hbGl0eTsKLSBpbnQgY2h1bmtfc2l6ZTsKLSBpbnQgbWF4X2ZhdWx0OwordHlwZWRlZiBzdHJ1Y3QgbWR1X3BhcmFtX3MgeworICBpbnQgcGVyc29uYWxpdHk7CisgIGludCBjaHVua19zaXplOworICBpbnQgbWF4X2ZhdWx0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gbWR1X3BhcmFtX3Q7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JhbmRvbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yYW5kb20uaAppbmRleCA2MjE1ZDA4Li4yMjMzMmQxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JhbmRvbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmFuZG9tLmgKQEAgLTIyLDE4ICsyMiwyMCBAQAogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L2lycW5yLmg+Ci0jZGVmaW5lIFJOREdFVEVOVENOVCBfSU9SKCAnUicsIDB4MDAsIGludCApCi0jZGVmaW5lIFJOREFERFRPRU5UQ05UIF9JT1coICdSJywgMHgwMSwgaW50ICkKLSNkZWZpbmUgUk5ER0VUUE9PTCBfSU9SKCAnUicsIDB4MDIsIGludCBbMl0gKQorI2RlZmluZSBSTkRHRVRFTlRDTlQgX0lPUignUicsIDB4MDAsIGludCkKKyNkZWZpbmUgUk5EQUREVE9FTlRDTlQgX0lPVygnUicsIDB4MDEsIGludCkKKyNkZWZpbmUgUk5ER0VUUE9PTCBfSU9SKCdSJywgMHgwMiwgaW50WzJdKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUk5EQURERU5UUk9QWSBfSU9XKCAnUicsIDB4MDMsIGludCBbMl0gKQotI2RlZmluZSBSTkRaQVBFTlRDTlQgX0lPKCAnUicsIDB4MDQgKQotI2RlZmluZSBSTkRDTEVBUlBPT0wgX0lPKCAnUicsIDB4MDYgKQorI2RlZmluZSBSTkRBRERFTlRST1BZIF9JT1coJ1InLCAweDAzLCBpbnRbMl0pCisjZGVmaW5lIFJORFpBUEVOVENOVCBfSU8oJ1InLCAweDA0KQorI2RlZmluZSBSTkRDTEVBUlBPT0wgX0lPKCdSJywgMHgwNikKIHN0cnVjdCByYW5kX3Bvb2xfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBlbnRyb3B5X2NvdW50OwotIGludCBidWZfc2l6ZTsKLSBfX3UzMiBidWZbMF07CisgIGludCBlbnRyb3B5X2NvdW50OworICBpbnQgYnVmX3NpemU7CisgIF9fdTMyIGJ1ZlswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBHUk5EX05PTkJMT0NLIDB4MDAwMQorI2RlZmluZSBHUk5EX1JBTkRPTSAweDAwMDIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yYXcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmF3LmgKaW5kZXggNTJlMmJhOS4uMjMyMDcyNyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yYXcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Jhdy5oCkBAIC0xOSwxNiArMTksMTUgQEAKICNpZm5kZWYgX19MSU5VWF9SQVdfSAogI2RlZmluZSBfX0xJTlVYX1JBV19ICiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNkZWZpbmUgUkFXX1NFVEJJTkQgX0lPKCAweGFjLCAwICkKKyNkZWZpbmUgUkFXX1NFVEJJTkQgX0lPKDB4YWMsIDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBSQVdfR0VUQklORCBfSU8oIDB4YWMsIDEgKQotc3RydWN0IHJhd19jb25maWdfcmVxdWVzdAotewotIGludCByYXdfbWlub3I7CisjZGVmaW5lIFJBV19HRVRCSU5EIF9JTygweGFjLCAxKQorc3RydWN0IHJhd19jb25maWdfcmVxdWVzdCB7CisgIGludCByYXdfbWlub3I7CisgIF9fdTY0IGJsb2NrX21ham9yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBibG9ja19tYWpvcjsKLSBfX3U2NCBibG9ja19taW5vcjsKKyAgX191NjQgYmxvY2tfbWlub3I7CiB9OwogI2RlZmluZSBNQVhfUkFXX01JTk9SUyBDT05GSUdfTUFYX1JBV19ERVZTCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yZHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmRzLmgKaW5kZXggOThjNTY0NC4uNjZjYjkwNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yZHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Jkcy5oCkBAIC01Niw4ICs1Niw4IEBACiAjZGVmaW5lIFJEU19JTkZPX0xBU1QgMTAwMTAKIHN0cnVjdCByZHNfaW5mb19jb3VudGVyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDhfdCBuYW1lWzMyXTsKLSB1aW50NjRfdCB2YWx1ZTsKKyAgdWludDhfdCBuYW1lWzMyXTsKKyAgdWludDY0X3QgdmFsdWU7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBSRFNfSU5GT19DT05ORUNUSU9OX0ZMQUdfU0VORElORyAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNjYsNjcgKzY2LDY3IEBACiAjZGVmaW5lIFRSQU5TTkFNU0laIDE2CiBzdHJ1Y3QgcmRzX2luZm9fY29ubmVjdGlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IG5leHRfdHhfc2VxOwotIHVpbnQ2NF90IG5leHRfcnhfc2VxOwotIF9fYmUzMiBsYWRkcjsKLSBfX2JlMzIgZmFkZHI7CisgIHVpbnQ2NF90IG5leHRfdHhfc2VxOworICB1aW50NjRfdCBuZXh0X3J4X3NlcTsKKyAgX19iZTMyIGxhZGRyOworICBfX2JlMzIgZmFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ4X3QgdHJhbnNwb3J0W1RSQU5TTkFNU0laXTsKLSB1aW50OF90IGZsYWdzOworICB1aW50OF90IHRyYW5zcG9ydFtUUkFOU05BTVNJWl07CisgIHVpbnQ4X3QgZmxhZ3M7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBSRFNfSU5GT19NRVNTQUdFX0ZMQUdfQUNLIDB4MDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJEU19JTkZPX01FU1NBR0VfRkxBR19GQVNUX0FDSyAweDAyCiBzdHJ1Y3QgcmRzX2luZm9fbWVzc2FnZSB7Ci0gdWludDY0X3Qgc2VxOwotIHVpbnQzMl90IGxlbjsKKyAgdWludDY0X3Qgc2VxOworICB1aW50MzJfdCBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBsYWRkcjsKLSBfX2JlMzIgZmFkZHI7Ci0gX19iZTE2IGxwb3J0OwotIF9fYmUxNiBmcG9ydDsKKyAgX19iZTMyIGxhZGRyOworICBfX2JlMzIgZmFkZHI7CisgIF9fYmUxNiBscG9ydDsKKyAgX19iZTE2IGZwb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50OF90IGZsYWdzOworICB1aW50OF90IGZsYWdzOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCByZHNfaW5mb19zb2NrZXQgewotIHVpbnQzMl90IHNuZGJ1ZjsKKyAgdWludDMyX3Qgc25kYnVmOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgYm91bmRfYWRkcjsKLSBfX2JlMzIgY29ubmVjdGVkX2FkZHI7Ci0gX19iZTE2IGJvdW5kX3BvcnQ7Ci0gX19iZTE2IGNvbm5lY3RlZF9wb3J0OworICBfX2JlMzIgYm91bmRfYWRkcjsKKyAgX19iZTMyIGNvbm5lY3RlZF9hZGRyOworICBfX2JlMTYgYm91bmRfcG9ydDsKKyAgX19iZTE2IGNvbm5lY3RlZF9wb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCByY3ZidWY7Ci0gdWludDY0X3QgaW51bTsKKyAgdWludDMyX3QgcmN2YnVmOworICB1aW50NjRfdCBpbnVtOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCByZHNfaW5mb190Y3Bfc29ja2V0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIGxvY2FsX2FkZHI7Ci0gX19iZTE2IGxvY2FsX3BvcnQ7Ci0gX19iZTMyIHBlZXJfYWRkcjsKLSBfX2JlMTYgcGVlcl9wb3J0OworICBfX2JlMzIgbG9jYWxfYWRkcjsKKyAgX19iZTE2IGxvY2FsX3BvcnQ7CisgIF9fYmUzMiBwZWVyX2FkZHI7CisgIF9fYmUxNiBwZWVyX3BvcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGhkcl9yZW07Ci0gdWludDY0X3QgZGF0YV9yZW07Ci0gdWludDMyX3QgbGFzdF9zZW50X254dDsKLSB1aW50MzJfdCBsYXN0X2V4cGVjdGVkX3VuYTsKKyAgdWludDY0X3QgaGRyX3JlbTsKKyAgdWludDY0X3QgZGF0YV9yZW07CisgIHVpbnQzMl90IGxhc3Rfc2VudF9ueHQ7CisgIHVpbnQzMl90IGxhc3RfZXhwZWN0ZWRfdW5hOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBsYXN0X3NlZW5fdW5hOworICB1aW50MzJfdCBsYXN0X3NlZW5fdW5hOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgUkRTX0lCX0dJRF9MRU4gMTYKIHN0cnVjdCByZHNfaW5mb19yZG1hX2Nvbm5lY3Rpb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgc3JjX2FkZHI7Ci0gX19iZTMyIGRzdF9hZGRyOwotIHVpbnQ4X3Qgc3JjX2dpZFtSRFNfSUJfR0lEX0xFTl07Ci0gdWludDhfdCBkc3RfZ2lkW1JEU19JQl9HSURfTEVOXTsKKyAgX19iZTMyIHNyY19hZGRyOworICBfX2JlMzIgZHN0X2FkZHI7CisgIHVpbnQ4X3Qgc3JjX2dpZFtSRFNfSUJfR0lEX0xFTl07CisgIHVpbnQ4X3QgZHN0X2dpZFtSRFNfSUJfR0lEX0xFTl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IG1heF9zZW5kX3dyOwotIHVpbnQzMl90IG1heF9yZWN2X3dyOwotIHVpbnQzMl90IG1heF9zZW5kX3NnZTsKLSB1aW50MzJfdCByZG1hX21yX21heDsKKyAgdWludDMyX3QgbWF4X3NlbmRfd3I7CisgIHVpbnQzMl90IG1heF9yZWN2X3dyOworICB1aW50MzJfdCBtYXhfc2VuZF9zZ2U7CisgIHVpbnQzMl90IHJkbWFfbXJfbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCByZG1hX21yX3NpemU7CisgIHVpbnQzMl90IHJkbWFfbXJfc2l6ZTsKIH07CiAjZGVmaW5lIFJEU19DT05HX01PTklUT1JfU0laRSA2NAogI2RlZmluZSBSRFNfQ09OR19NT05JVE9SX0JJVChwb3J0KSAoKCh1bnNpZ25lZCBpbnQpIHBvcnQpICUgUkRTX0NPTkdfTU9OSVRPUl9TSVpFKQpAQCAtMTM0LDc1ICsxMzQsNzUgQEAKICNkZWZpbmUgUkRTX0NPTkdfTU9OSVRPUl9NQVNLKHBvcnQpICgxVUxMIDw8IFJEU19DT05HX01PTklUT1JfQklUKHBvcnQpKQogdHlwZWRlZiB1aW50NjRfdCByZHNfcmRtYV9jb29raWVfdDsKIHN0cnVjdCByZHNfaW92ZWMgewotIHVpbnQ2NF90IGFkZHI7CisgIHVpbnQ2NF90IGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGJ5dGVzOworICB1aW50NjRfdCBieXRlczsKIH07CiBzdHJ1Y3QgcmRzX2dldF9tcl9hcmdzIHsKLSBzdHJ1Y3QgcmRzX2lvdmVjIHZlYzsKKyAgc3RydWN0IHJkc19pb3ZlYyB2ZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGNvb2tpZV9hZGRyOwotIHVpbnQ2NF90IGZsYWdzOworICB1aW50NjRfdCBjb29raWVfYWRkcjsKKyAgdWludDY0X3QgZmxhZ3M7CiB9Owogc3RydWN0IHJkc19nZXRfbXJfZm9yX2Rlc3RfYXJncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGRlc3RfYWRkcjsKLSBzdHJ1Y3QgcmRzX2lvdmVjIHZlYzsKLSB1aW50NjRfdCBjb29raWVfYWRkcjsKLSB1aW50NjRfdCBmbGFnczsKKyAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgZGVzdF9hZGRyOworICBzdHJ1Y3QgcmRzX2lvdmVjIHZlYzsKKyAgdWludDY0X3QgY29va2llX2FkZHI7CisgIHVpbnQ2NF90IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgcmRzX2ZyZWVfbXJfYXJncyB7Ci0gcmRzX3JkbWFfY29va2llX3QgY29va2llOwotIHVpbnQ2NF90IGZsYWdzOworICByZHNfcmRtYV9jb29raWVfdCBjb29raWU7CisgIHVpbnQ2NF90IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgcmRzX3JkbWFfYXJncyB7Ci0gcmRzX3JkbWFfY29va2llX3QgY29va2llOwotIHN0cnVjdCByZHNfaW92ZWMgcmVtb3RlX3ZlYzsKKyAgcmRzX3JkbWFfY29va2llX3QgY29va2llOworICBzdHJ1Y3QgcmRzX2lvdmVjIHJlbW90ZV92ZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGxvY2FsX3ZlY19hZGRyOwotIHVpbnQ2NF90IG5yX2xvY2FsOwotIHVpbnQ2NF90IGZsYWdzOwotIHVpbnQ2NF90IHVzZXJfdG9rZW47CisgIHVpbnQ2NF90IGxvY2FsX3ZlY19hZGRyOworICB1aW50NjRfdCBucl9sb2NhbDsKKyAgdWludDY0X3QgZmxhZ3M7CisgIHVpbnQ2NF90IHVzZXJfdG9rZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCByZHNfYXRvbWljX2FyZ3MgewotIHJkc19yZG1hX2Nvb2tpZV90IGNvb2tpZTsKLSB1aW50NjRfdCBsb2NhbF9hZGRyOworICByZHNfcmRtYV9jb29raWVfdCBjb29raWU7CisgIHVpbnQ2NF90IGxvY2FsX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHJlbW90ZV9hZGRyOwotIHVuaW9uIHsKLSBzdHJ1Y3QgewotIHVpbnQ2NF90IGNvbXBhcmU7CisgIHVpbnQ2NF90IHJlbW90ZV9hZGRyOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIHVpbnQ2NF90IGNvbXBhcmU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHN3YXA7Ci0gfSBjc3dwOwotIHN0cnVjdCB7Ci0gdWludDY0X3QgYWRkOworICAgICAgdWludDY0X3Qgc3dhcDsKKyAgICB9IGNzd3A7CisgICAgc3RydWN0IHsKKyAgICAgIHVpbnQ2NF90IGFkZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBmYWRkOwotIHN0cnVjdCB7Ci0gdWludDY0X3QgY29tcGFyZTsKLSB1aW50NjRfdCBzd2FwOworICAgIH0gZmFkZDsKKyAgICBzdHJ1Y3QgeworICAgICAgdWludDY0X3QgY29tcGFyZTsKKyAgICAgIHVpbnQ2NF90IHN3YXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGNvbXBhcmVfbWFzazsKLSB1aW50NjRfdCBzd2FwX21hc2s7Ci0gfSBtX2Nzd3A7Ci0gc3RydWN0IHsKKyAgICAgIHVpbnQ2NF90IGNvbXBhcmVfbWFzazsKKyAgICAgIHVpbnQ2NF90IHN3YXBfbWFzazsKKyAgICB9IG1fY3N3cDsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCBhZGQ7Ci0gdWludDY0X3Qgbm9jYXJyeV9tYXNrOwotIH0gbV9mYWRkOwotIH07CisgICAgICB1aW50NjRfdCBhZGQ7CisgICAgICB1aW50NjRfdCBub2NhcnJ5X21hc2s7CisgICAgfSBtX2ZhZGQ7CisgIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IGZsYWdzOwotIHVpbnQ2NF90IHVzZXJfdG9rZW47CisgIHVpbnQ2NF90IGZsYWdzOworICB1aW50NjRfdCB1c2VyX3Rva2VuOwogfTsKIHN0cnVjdCByZHNfcmRtYV9ub3RpZnkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50NjRfdCB1c2VyX3Rva2VuOwotIGludDMyX3Qgc3RhdHVzOworICB1aW50NjRfdCB1c2VyX3Rva2VuOworICBpbnQzMl90IHN0YXR1czsKIH07CiAjZGVmaW5lIFJEU19SRE1BX1NVQ0NFU1MgMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmVpc2VyZnNfZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmVpc2VyZnNfZnMuaAppbmRleCA1MDExYjExLi5iMGVjMDNiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JlaXNlcmZzX2ZzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yZWlzZXJmc19mcy5oCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9tYWdpYy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUkVJU0VSRlNfSU9DX1VOUEFDSyBfSU9XKDB4Q0QsMSxsb25nKQorI2RlZmluZSBSRUlTRVJGU19JT0NfVU5QQUNLIF9JT1coMHhDRCwgMSwgbG9uZykKICNkZWZpbmUgUkVJU0VSRlNfSU9DX0dFVEZMQUdTIEZTX0lPQ19HRVRGTEFHUwogI2RlZmluZSBSRUlTRVJGU19JT0NfU0VURkxBR1MgRlNfSU9DX1NFVEZMQUdTCiAjZGVmaW5lIFJFSVNFUkZTX0lPQ19HRVRWRVJTSU9OIEZTX0lPQ19HRVRWRVJTSU9OCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JlaXNlcmZzX3hhdHRyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JlaXNlcmZzX3hhdHRyLmgKaW5kZXggOTA1NmRlMi4uY2MxYmY5ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yZWlzZXJmc194YXR0ci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmVpc2VyZnNfeGF0dHIuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5lIFJFSVNFUkZTX1hBVFRSX01BR0lDIDB4NTI0NjU4NDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmVpc2VyZnNfeGF0dHJfaGVhZGVyIHsKLSBfX2xlMzIgaF9tYWdpYzsKLSBfX2xlMzIgaF9oYXNoOworICBfX2xlMzIgaF9tYWdpYzsKKyAgX19sZTMyIGhfaGFzaDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHJlaXNlcmZzX3NlY3VyaXR5X2hhbmRsZSB7Ci0gY29uc3QgY2hhciAqbmFtZTsKLSB2b2lkICp2YWx1ZTsKLSBzaXplX3QgbGVuZ3RoOworICBjb25zdCBjaGFyICogbmFtZTsKKyAgdm9pZCAqIHZhbHVlOworICBzaXplX3QgbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmVzb3VyY2UuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmVzb3VyY2UuaAppbmRleCA5ZDI2MGMyLi5lYWY5ZmM0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Jlc291cmNlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yZXNvdXJjZS5oCkBAIC0yMiw1MiArMjIsNTIgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlVTQUdFX1NFTEYgMAotI2RlZmluZSBSVVNBR0VfQ0hJTERSRU4gKC0xKQotI2RlZmluZSBSVVNBR0VfQk9USCAoLTIpCisjZGVmaW5lIFJVU0FHRV9DSElMRFJFTiAoLSAxKQorI2RlZmluZSBSVVNBR0VfQk9USCAoLSAyKQogI2RlZmluZSBSVVNBR0VfVEhSRUFEIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcnVzYWdlIHsKLSBzdHJ1Y3QgdGltZXZhbCBydV91dGltZTsKLSBzdHJ1Y3QgdGltZXZhbCBydV9zdGltZTsKLSBfX2tlcm5lbF9sb25nX3QgcnVfbWF4cnNzOworICBzdHJ1Y3QgdGltZXZhbCBydV91dGltZTsKKyAgc3RydWN0IHRpbWV2YWwgcnVfc3RpbWU7CisgIF9fa2VybmVsX2xvbmdfdCBydV9tYXhyc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX2xvbmdfdCBydV9peHJzczsKLSBfX2tlcm5lbF9sb25nX3QgcnVfaWRyc3M7Ci0gX19rZXJuZWxfbG9uZ190IHJ1X2lzcnNzOwotIF9fa2VybmVsX2xvbmdfdCBydV9taW5mbHQ7CisgIF9fa2VybmVsX2xvbmdfdCBydV9peHJzczsKKyAgX19rZXJuZWxfbG9uZ190IHJ1X2lkcnNzOworICBfX2tlcm5lbF9sb25nX3QgcnVfaXNyc3M7CisgIF9fa2VybmVsX2xvbmdfdCBydV9taW5mbHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX2xvbmdfdCBydV9tYWpmbHQ7Ci0gX19rZXJuZWxfbG9uZ190IHJ1X25zd2FwOwotIF9fa2VybmVsX2xvbmdfdCBydV9pbmJsb2NrOwotIF9fa2VybmVsX2xvbmdfdCBydV9vdWJsb2NrOworICBfX2tlcm5lbF9sb25nX3QgcnVfbWFqZmx0OworICBfX2tlcm5lbF9sb25nX3QgcnVfbnN3YXA7CisgIF9fa2VybmVsX2xvbmdfdCBydV9pbmJsb2NrOworICBfX2tlcm5lbF9sb25nX3QgcnVfb3VibG9jazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfbG9uZ190IHJ1X21zZ3NuZDsKLSBfX2tlcm5lbF9sb25nX3QgcnVfbXNncmN2OwotIF9fa2VybmVsX2xvbmdfdCBydV9uc2lnbmFsczsKLSBfX2tlcm5lbF9sb25nX3QgcnVfbnZjc3c7CisgIF9fa2VybmVsX2xvbmdfdCBydV9tc2dzbmQ7CisgIF9fa2VybmVsX2xvbmdfdCBydV9tc2dyY3Y7CisgIF9fa2VybmVsX2xvbmdfdCBydV9uc2lnbmFsczsKKyAgX19rZXJuZWxfbG9uZ190IHJ1X252Y3N3OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9sb25nX3QgcnVfbml2Y3N3OworICBfX2tlcm5lbF9sb25nX3QgcnVfbml2Y3N3OwogfTsKIHN0cnVjdCBybGltaXQgewotIF9fa2VybmVsX3Vsb25nX3QgcmxpbV9jdXI7CisgIF9fa2VybmVsX3Vsb25nX3QgcmxpbV9jdXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3Vsb25nX3QgcmxpbV9tYXg7CisgIF9fa2VybmVsX3Vsb25nX3QgcmxpbV9tYXg7CiB9OwogI2RlZmluZSBSTElNNjRfSU5GSU5JVFkgKH4wVUxMKQogc3RydWN0IHJsaW1pdDY0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmxpbV9jdXI7Ci0gX191NjQgcmxpbV9tYXg7CisgIF9fdTY0IHJsaW1fY3VyOworICBfX3U2NCBybGltX21heDsKIH07Ci0jZGVmaW5lIFBSSU9fTUlOICgtMjApCisjZGVmaW5lIFBSSU9fTUlOICgtIDIwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUFJJT19NQVggMjAKICNkZWZpbmUgUFJJT19QUk9DRVNTIDAKICNkZWZpbmUgUFJJT19QR1JQIDEKICNkZWZpbmUgUFJJT19VU0VSIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9TVEtfTElNICg4KjEwMjQqMTAyNCkKLSNkZWZpbmUgTUxPQ0tfTElNSVQgKChQQUdFX1NJWkUgPiA2NCoxMDI0KSA/IFBBR0VfU0laRSA6IDY0KjEwMjQpCisjZGVmaW5lIF9TVEtfTElNICg4ICogMTAyNCAqIDEwMjQpCisjZGVmaW5lIE1MT0NLX0xJTUlUICgoUEFHRV9TSVpFID4gNjQgKiAxMDI0KSA/IFBBR0VfU0laRSA6IDY0ICogMTAyNCkKICNpbmNsdWRlIDxhc20vcmVzb3VyY2UuaD4KICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmZraWxsLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Jma2lsbC5oCmluZGV4IDkxNGNjMWQuLjU3MzgwNGMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcmZraWxsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yZmtpbGwuaApAQCAtMjQsMzQgKzI0LDM0IEBACiAjZGVmaW5lIFJGS0lMTF9TVEFURV9VTkJMT0NLRUQgMQogI2RlZmluZSBSRktJTExfU1RBVEVfSEFSRF9CTE9DS0VEIDIKIGVudW0gcmZraWxsX3R5cGUgewotIFJGS0lMTF9UWVBFX0FMTCA9IDAsCisgIFJGS0lMTF9UWVBFX0FMTCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJGS0lMTF9UWVBFX1dMQU4sCi0gUkZLSUxMX1RZUEVfQkxVRVRPT1RILAotIFJGS0lMTF9UWVBFX1VXQiwKLSBSRktJTExfVFlQRV9XSU1BWCwKKyAgUkZLSUxMX1RZUEVfV0xBTiwKKyAgUkZLSUxMX1RZUEVfQkxVRVRPT1RILAorICBSRktJTExfVFlQRV9VV0IsCisgIFJGS0lMTF9UWVBFX1dJTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSRktJTExfVFlQRV9XV0FOLAotIFJGS0lMTF9UWVBFX0dQUywKLSBSRktJTExfVFlQRV9GTSwKLSBSRktJTExfVFlQRV9ORkMsCisgIFJGS0lMTF9UWVBFX1dXQU4sCisgIFJGS0lMTF9UWVBFX0dQUywKKyAgUkZLSUxMX1RZUEVfRk0sCisgIFJGS0lMTF9UWVBFX05GQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTlVNX1JGS0lMTF9UWVBFUywKKyAgTlVNX1JGS0lMTF9UWVBFUywKIH07CiBlbnVtIHJma2lsbF9vcGVyYXRpb24gewotIFJGS0lMTF9PUF9BREQgPSAwLAorICBSRktJTExfT1BfQUREID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUkZLSUxMX09QX0RFTCwKLSBSRktJTExfT1BfQ0hBTkdFLAotIFJGS0lMTF9PUF9DSEFOR0VfQUxMLAorICBSRktJTExfT1BfREVMLAorICBSRktJTExfT1BfQ0hBTkdFLAorICBSRktJTExfT1BfQ0hBTkdFX0FMTCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHJma2lsbF9ldmVudCB7Ci0gX191MzIgaWR4OwotIF9fdTggdHlwZTsKLSBfX3U4IG9wOworICBfX3UzMiBpZHg7CisgIF9fdTggdHlwZTsKKyAgX191OCBvcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzb2Z0LCBoYXJkOworICBfX3U4IHNvZnQsIGhhcmQ7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBSRktJTExfRVZFTlRfU0laRV9WMSA4CiAjZGVmaW5lIFJGS0lMTF9JT0NfTUFHSUMgJ1InCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JvbWZzX2ZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JvbWZzX2ZzLmgKaW5kZXggZDRlZmY4Zi4uMmEwOTU3ZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yb21mc19mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcm9tZnNfZnMuaApAQCAtMjMsMzIgKzIzLDMyIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBST01CU0laRSBCTE9DS19TSVpFCiAjZGVmaW5lIFJPTUJTQklUUyBCTE9DS19TSVpFX0JJVFMKLSNkZWZpbmUgUk9NQk1BU0sgKFJPTUJTSVpFLTEpCisjZGVmaW5lIFJPTUJNQVNLIChST01CU0laRSAtIDEpCiAjZGVmaW5lIFJPTUZTX01BR0lDIDB4NzI3NQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUk9NRlNfTUFYRk4gMTI4Ci0jZGVmaW5lIF9fbWt3KGgsbCkgKCgoaCkmMHgwMGZmKTw8IDh8KChsKSYweDAwZmYpKQotI2RlZmluZSBfX21rbChoLGwpICgoKGgpJjB4ZmZmZik8PDE2fCgobCkmMHhmZmZmKSkKLSNkZWZpbmUgX19tazQoYSxiLGMsZCkgY3B1X3RvX2JlMzIoX19ta2woX19ta3coYSxiKSxfX21rdyhjLGQpKSkKKyNkZWZpbmUgX19ta3coaCxsKSAoKChoKSAmIDB4MDBmZikgPDwgOCB8ICgobCkgJiAweDAwZmYpKQorI2RlZmluZSBfX21rbChoLGwpICgoKGgpICYgMHhmZmZmKSA8PCAxNiB8ICgobCkgJiAweGZmZmYpKQorI2RlZmluZSBfX21rNChhLGIsYyxkKSBjcHVfdG9fYmUzMihfX21rbChfX21rdyhhLCBiKSwgX19ta3coYywgZCkpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUk9NU0JfV09SRDAgX19tazQoJy0nLCdyJywnbycsJ20nKQotI2RlZmluZSBST01TQl9XT1JEMSBfX21rNCgnMScsJ2YnLCdzJywnLScpCisjZGVmaW5lIFJPTVNCX1dPUkQwIF9fbWs0KCctJywgJ3InLCAnbycsICdtJykKKyNkZWZpbmUgUk9NU0JfV09SRDEgX19tazQoJzEnLCAnZicsICdzJywgJy0nKQogc3RydWN0IHJvbWZzX3N1cGVyX2Jsb2NrIHsKLSBfX2JlMzIgd29yZDA7CisgIF9fYmUzMiB3b3JkMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHdvcmQxOwotIF9fYmUzMiBzaXplOwotIF9fYmUzMiBjaGVja3N1bTsKLSBjaGFyIG5hbWVbMF07CisgIF9fYmUzMiB3b3JkMTsKKyAgX19iZTMyIHNpemU7CisgIF9fYmUzMiBjaGVja3N1bTsKKyAgY2hhciBuYW1lWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgcm9tZnNfaW5vZGUgewotIF9fYmUzMiBuZXh0OwotIF9fYmUzMiBzcGVjOworICBfX2JlMzIgbmV4dDsKKyAgX19iZTMyIHNwZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBzaXplOwotIF9fYmUzMiBjaGVja3N1bTsKLSBjaGFyIG5hbWVbMF07CisgIF9fYmUzMiBzaXplOworICBfX2JlMzIgY2hlY2tzdW07CisgIGNoYXIgbmFtZVswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBST01GSF9UWVBFIDcKQEAgLTY0LDcgKzY0LDcgQEAKICNkZWZpbmUgUk9NRkhfRklGIDcKICNkZWZpbmUgUk9NRkhfRVhFQyA4CiAjZGVmaW5lIFJPTUZIX1NJWkUgMTYKLSNkZWZpbmUgUk9NRkhfUEFEIChST01GSF9TSVpFLTEpCisjZGVmaW5lIFJPTUZIX1BBRCAoUk9NRkhfU0laRSAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBST01GSF9NQVNLICh+Uk9NRkhfUEFEKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Jvc2UuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcm9zZS5oCmluZGV4IDlmNDUwOTIuLmJhOTFmNDkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcm9zZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcm9zZS5oCkBAIC0zMiwxNiArMzIsMTYgQEAKICNkZWZpbmUgUk9TRV9RQklUSU5DTCA2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBST1NFX0hPTERCQUNLIDcKLSNkZWZpbmUgU0lPQ1JTR0NBVVNFIChTSU9DUFJPVE9QUklWQVRFKzApCi0jZGVmaW5lIFNJT0NSU1NDQVVTRSAoU0lPQ1BST1RPUFJJVkFURSsxKQotI2RlZmluZSBTSU9DUlNMMkNBTEwgKFNJT0NQUk9UT1BSSVZBVEUrMikKKyNkZWZpbmUgU0lPQ1JTR0NBVVNFIChTSU9DUFJPVE9QUklWQVRFICsgMCkKKyNkZWZpbmUgU0lPQ1JTU0NBVVNFIChTSU9DUFJPVE9QUklWQVRFICsgMSkKKyNkZWZpbmUgU0lPQ1JTTDJDQUxMIChTSU9DUFJPVE9QUklWQVRFICsgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNJT0NSU1NMMkNBTEwgKFNJT0NQUk9UT1BSSVZBVEUrMikKLSNkZWZpbmUgU0lPQ1JTQUNDRVBUIChTSU9DUFJPVE9QUklWQVRFKzMpCi0jZGVmaW5lIFNJT0NSU0NMUlJUIChTSU9DUFJPVE9QUklWQVRFKzQpCi0jZGVmaW5lIFNJT0NSU0dMMkNBTEwgKFNJT0NQUk9UT1BSSVZBVEUrNSkKKyNkZWZpbmUgU0lPQ1JTU0wyQ0FMTCAoU0lPQ1BST1RPUFJJVkFURSArIDIpCisjZGVmaW5lIFNJT0NSU0FDQ0VQVCAoU0lPQ1BST1RPUFJJVkFURSArIDMpCisjZGVmaW5lIFNJT0NSU0NMUlJUIChTSU9DUFJPVE9QUklWQVRFICsgNCkKKyNkZWZpbmUgU0lPQ1JTR0wyQ0FMTCAoU0lPQ1BST1RPUFJJVkFURSArIDUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTSU9DUlNHRkFDSUxJVElFUyAoU0lPQ1BST1RPUFJJVkFURSs2KQorI2RlZmluZSBTSU9DUlNHRkFDSUxJVElFUyAoU0lPQ1BST1RPUFJJVkFURSArIDYpCiAjZGVmaW5lIFJPU0VfRFRFX09SSUdJTkFURUQgMHgwMAogI2RlZmluZSBST1NFX05VTUJFUl9CVVNZIDB4MDEKICNkZWZpbmUgUk9TRV9JTlZBTElEX0ZBQ0lMSVRZIDB4MDMKQEAgLTU2LDUxICs1Niw1MSBAQAogI2RlZmluZSBST1NFX1NISVBfQUJTRU5UIDB4MzkKIHR5cGVkZWYgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciByb3NlX2FkZHJbNV07CisgIGNoYXIgcm9zZV9hZGRyWzVdOwogfSByb3NlX2FkZHJlc3M7CiBzdHJ1Y3Qgc29ja2FkZHJfcm9zZSB7Ci0gX19rZXJuZWxfc2FfZmFtaWx5X3Qgc3Jvc2VfZmFtaWx5OworICBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzcm9zZV9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHJvc2VfYWRkcmVzcyBzcm9zZV9hZGRyOwotIGF4MjVfYWRkcmVzcyBzcm9zZV9jYWxsOwotIGludCBzcm9zZV9uZGlnaXM7Ci0gYXgyNV9hZGRyZXNzIHNyb3NlX2RpZ2k7CisgIHJvc2VfYWRkcmVzcyBzcm9zZV9hZGRyOworICBheDI1X2FkZHJlc3Mgc3Jvc2VfY2FsbDsKKyAgaW50IHNyb3NlX25kaWdpczsKKyAgYXgyNV9hZGRyZXNzIHNyb3NlX2RpZ2k7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmdWxsX3NvY2thZGRyX3Jvc2UgewotIF9fa2VybmVsX3NhX2ZhbWlseV90IHNyb3NlX2ZhbWlseTsKLSByb3NlX2FkZHJlc3Mgc3Jvc2VfYWRkcjsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc3Jvc2VfZmFtaWx5OworICByb3NlX2FkZHJlc3Mgc3Jvc2VfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gYXgyNV9hZGRyZXNzIHNyb3NlX2NhbGw7Ci0gdW5zaWduZWQgaW50IHNyb3NlX25kaWdpczsKLSBheDI1X2FkZHJlc3Mgc3Jvc2VfZGlnaXNbUk9TRV9NQVhfRElHSVNdOworICBheDI1X2FkZHJlc3Mgc3Jvc2VfY2FsbDsKKyAgdW5zaWduZWQgaW50IHNyb3NlX25kaWdpczsKKyAgYXgyNV9hZGRyZXNzIHNyb3NlX2RpZ2lzW1JPU0VfTUFYX0RJR0lTXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHJvc2Vfcm91dGVfc3RydWN0IHsKLSByb3NlX2FkZHJlc3MgYWRkcmVzczsKLSB1bnNpZ25lZCBzaG9ydCBtYXNrOwotIGF4MjVfYWRkcmVzcyBuZWlnaGJvdXI7CisgIHJvc2VfYWRkcmVzcyBhZGRyZXNzOworICB1bnNpZ25lZCBzaG9ydCBtYXNrOworICBheDI1X2FkZHJlc3MgbmVpZ2hib3VyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRldmljZVsxNl07Ci0gdW5zaWduZWQgY2hhciBuZGlnaXM7Ci0gYXgyNV9hZGRyZXNzIGRpZ2lwZWF0ZXJzW0FYMjVfTUFYX0RJR0lTXTsKKyAgY2hhciBkZXZpY2VbMTZdOworICB1bnNpZ25lZCBjaGFyIG5kaWdpczsKKyAgYXgyNV9hZGRyZXNzIGRpZ2lwZWF0ZXJzW0FYMjVfTUFYX0RJR0lTXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHJvc2VfY2F1c2Vfc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNhdXNlOwotIHVuc2lnbmVkIGNoYXIgZGlhZ25vc3RpYzsKKyAgdW5zaWduZWQgY2hhciBjYXVzZTsKKyAgdW5zaWduZWQgY2hhciBkaWFnbm9zdGljOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgcm9zZV9mYWNpbGl0aWVzX3N0cnVjdCB7Ci0gcm9zZV9hZGRyZXNzIHNvdXJjZV9hZGRyLCBkZXN0X2FkZHI7Ci0gYXgyNV9hZGRyZXNzIHNvdXJjZV9jYWxsLCBkZXN0X2NhbGw7Ci0gdW5zaWduZWQgY2hhciBzb3VyY2VfbmRpZ2lzLCBkZXN0X25kaWdpczsKKyAgcm9zZV9hZGRyZXNzIHNvdXJjZV9hZGRyLCBkZXN0X2FkZHI7CisgIGF4MjVfYWRkcmVzcyBzb3VyY2VfY2FsbCwgZGVzdF9jYWxsOworICB1bnNpZ25lZCBjaGFyIHNvdXJjZV9uZGlnaXMsIGRlc3RfbmRpZ2lzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBheDI1X2FkZHJlc3Mgc291cmNlX2RpZ2lzW1JPU0VfTUFYX0RJR0lTXTsKLSBheDI1X2FkZHJlc3MgZGVzdF9kaWdpc1tST1NFX01BWF9ESUdJU107Ci0gdW5zaWduZWQgaW50IHJhbmQ7Ci0gcm9zZV9hZGRyZXNzIGZhaWxfYWRkcjsKKyAgYXgyNV9hZGRyZXNzIHNvdXJjZV9kaWdpc1tST1NFX01BWF9ESUdJU107CisgIGF4MjVfYWRkcmVzcyBkZXN0X2RpZ2lzW1JPU0VfTUFYX0RJR0lTXTsKKyAgdW5zaWduZWQgaW50IHJhbmQ7CisgIHJvc2VfYWRkcmVzcyBmYWlsX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGF4MjVfYWRkcmVzcyBmYWlsX2NhbGw7CisgIGF4MjVfYWRkcmVzcyBmYWlsX2NhbGw7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JvdXRlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3JvdXRlLmgKaW5kZXggNzQzZjAwYy4uYjZhNTgwOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9yb3V0ZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcm91dGUuaApAQCAtMjIsMjMgKzIyLDIzIEBACiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcnRlbnRyeSB7Ci0gdW5zaWduZWQgbG9uZyBydF9wYWQxOwotIHN0cnVjdCBzb2NrYWRkciBydF9kc3Q7Ci0gc3RydWN0IHNvY2thZGRyIHJ0X2dhdGV3YXk7CisgIHVuc2lnbmVkIGxvbmcgcnRfcGFkMTsKKyAgc3RydWN0IHNvY2thZGRyIHJ0X2RzdDsKKyAgc3RydWN0IHNvY2thZGRyIHJ0X2dhdGV3YXk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzb2NrYWRkciBydF9nZW5tYXNrOwotIHVuc2lnbmVkIHNob3J0IHJ0X2ZsYWdzOwotIHNob3J0IHJ0X3BhZDI7Ci0gdW5zaWduZWQgbG9uZyBydF9wYWQzOworICBzdHJ1Y3Qgc29ja2FkZHIgcnRfZ2VubWFzazsKKyAgdW5zaWduZWQgc2hvcnQgcnRfZmxhZ3M7CisgIHNob3J0IHJ0X3BhZDI7CisgIHVuc2lnbmVkIGxvbmcgcnRfcGFkMzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCAqcnRfcGFkNDsKLSBzaG9ydCBydF9tZXRyaWM7Ci0gY2hhciBfX3VzZXIgKnJ0X2RldjsKLSB1bnNpZ25lZCBsb25nIHJ0X210dTsKKyAgdm9pZCAqIHJ0X3BhZDQ7CisgIHNob3J0IHJ0X21ldHJpYzsKKyAgY2hhciBfX3VzZXIgKiBydF9kZXY7CisgIHVuc2lnbmVkIGxvbmcgcnRfbXR1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgcnRfbXNzIHJ0X210dQotIHVuc2lnbmVkIGxvbmcgcnRfd2luZG93OwotIHVuc2lnbmVkIHNob3J0IHJ0X2lydHQ7CisgIHVuc2lnbmVkIGxvbmcgcnRfd2luZG93OworICB1bnNpZ25lZCBzaG9ydCBydF9pcnR0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJURl9VUCAweDAwMDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcnRjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3J0Yy5oCmluZGV4IGFjYjQ5ZDYuLmYwZTQzNTAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvcnRjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ydGMuaApAQCAtMTksMzUgKzE5LDM1IEBACiAjaWZuZGVmIF9VQVBJX0xJTlVYX1JUQ19IXwogI2RlZmluZSBfVUFQSV9MSU5VWF9SVENfSF8KIHN0cnVjdCBydGNfdGltZSB7Ci0gaW50IHRtX3NlYzsKKyAgaW50IHRtX3NlYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHRtX21pbjsKLSBpbnQgdG1faG91cjsKLSBpbnQgdG1fbWRheTsKLSBpbnQgdG1fbW9uOworICBpbnQgdG1fbWluOworICBpbnQgdG1faG91cjsKKyAgaW50IHRtX21kYXk7CisgIGludCB0bV9tb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0bV95ZWFyOwotIGludCB0bV93ZGF5OwotIGludCB0bV95ZGF5OwotIGludCB0bV9pc2RzdDsKKyAgaW50IHRtX3llYXI7CisgIGludCB0bV93ZGF5OworICBpbnQgdG1feWRheTsKKyAgaW50IHRtX2lzZHN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgcnRjX3drYWxybSB7Ci0gdW5zaWduZWQgY2hhciBlbmFibGVkOwotIHVuc2lnbmVkIGNoYXIgcGVuZGluZzsKKyAgdW5zaWduZWQgY2hhciBlbmFibGVkOworICB1bnNpZ25lZCBjaGFyIHBlbmRpbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBydGNfdGltZSB0aW1lOworICBzdHJ1Y3QgcnRjX3RpbWUgdGltZTsKIH07CiBzdHJ1Y3QgcnRjX3BsbF9pbmZvIHsKLSBpbnQgcGxsX2N0cmw7CisgIGludCBwbGxfY3RybDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBsbF92YWx1ZTsKLSBpbnQgcGxsX21heDsKLSBpbnQgcGxsX21pbjsKLSBpbnQgcGxsX3Bvc211bHQ7CisgIGludCBwbGxfdmFsdWU7CisgIGludCBwbGxfbWF4OworICBpbnQgcGxsX21pbjsKKyAgaW50IHBsbF9wb3NtdWx0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcGxsX25lZ211bHQ7Ci0gbG9uZyBwbGxfY2xvY2s7CisgIGludCBwbGxfbmVnbXVsdDsKKyAgbG9uZyBwbGxfY2xvY2s7CiB9OwogI2RlZmluZSBSVENfQUlFX09OIF9JTygncCcsIDB4MDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ydG5ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvcnRuZXRsaW5rLmgKaW5kZXggM2EwM2U4OC4uZjA3NzljZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9ydG5ldGxpbmsuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3J0bmV0bGluay5oCkBAIC0yOSwxMjIgKzI5LDEyMiBAQAogI2RlZmluZSBSVE5MX0ZBTUlMWV9JUDZNUiAxMjkKICNkZWZpbmUgUlROTF9GQU1JTFlfTUFYIDEyOQogZW51bSB7Ci0gUlRNX0JBU0UgPSAxNiwKKyAgUlRNX0JBU0UgPSAxNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTV9CQVNFIFJUTV9CQVNFCi0gUlRNX05FV0xJTksgPSAxNiwKKyAgUlRNX05FV0xJTksgPSAxNiwKICNkZWZpbmUgUlRNX05FV0xJTksgUlRNX05FV0xJTksKLSBSVE1fREVMTElOSywKKyAgUlRNX0RFTExJTkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fREVMTElOSyBSVE1fREVMTElOSwotIFJUTV9HRVRMSU5LLAorICBSVE1fR0VUTElOSywKICNkZWZpbmUgUlRNX0dFVExJTksgUlRNX0dFVExJTksKLSBSVE1fU0VUTElOSywKKyAgUlRNX1NFVExJTkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fU0VUTElOSyBSVE1fU0VUTElOSwotIFJUTV9ORVdBRERSID0gMjAsCisgIFJUTV9ORVdBRERSID0gMjAsCiAjZGVmaW5lIFJUTV9ORVdBRERSIFJUTV9ORVdBRERSCi0gUlRNX0RFTEFERFIsCisgIFJUTV9ERUxBRERSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0RFTEFERFIgUlRNX0RFTEFERFIKLSBSVE1fR0VUQUREUiwKKyAgUlRNX0dFVEFERFIsCiAjZGVmaW5lIFJUTV9HRVRBRERSIFJUTV9HRVRBRERSCi0gUlRNX05FV1JPVVRFID0gMjQsCisgIFJUTV9ORVdST1VURSA9IDI0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX05FV1JPVVRFIFJUTV9ORVdST1VURQotIFJUTV9ERUxST1VURSwKKyAgUlRNX0RFTFJPVVRFLAogI2RlZmluZSBSVE1fREVMUk9VVEUgUlRNX0RFTFJPVVRFCi0gUlRNX0dFVFJPVVRFLAorICBSVE1fR0VUUk9VVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fR0VUUk9VVEUgUlRNX0dFVFJPVVRFCi0gUlRNX05FV05FSUdIID0gMjgsCisgIFJUTV9ORVdORUlHSCA9IDI4LAogI2RlZmluZSBSVE1fTkVXTkVJR0ggUlRNX05FV05FSUdICi0gUlRNX0RFTE5FSUdILAorICBSVE1fREVMTkVJR0gsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fREVMTkVJR0ggUlRNX0RFTE5FSUdICi0gUlRNX0dFVE5FSUdILAorICBSVE1fR0VUTkVJR0gsCiAjZGVmaW5lIFJUTV9HRVRORUlHSCBSVE1fR0VUTkVJR0gKLSBSVE1fTkVXUlVMRSA9IDMyLAorICBSVE1fTkVXUlVMRSA9IDMyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX05FV1JVTEUgUlRNX05FV1JVTEUKLSBSVE1fREVMUlVMRSwKKyAgUlRNX0RFTFJVTEUsCiAjZGVmaW5lIFJUTV9ERUxSVUxFIFJUTV9ERUxSVUxFCi0gUlRNX0dFVFJVTEUsCisgIFJUTV9HRVRSVUxFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0dFVFJVTEUgUlRNX0dFVFJVTEUKLSBSVE1fTkVXUURJU0MgPSAzNiwKKyAgUlRNX05FV1FESVNDID0gMzYsCiAjZGVmaW5lIFJUTV9ORVdRRElTQyBSVE1fTkVXUURJU0MKLSBSVE1fREVMUURJU0MsCisgIFJUTV9ERUxRRElTQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTV9ERUxRRElTQyBSVE1fREVMUURJU0MKLSBSVE1fR0VUUURJU0MsCisgIFJUTV9HRVRRRElTQywKICNkZWZpbmUgUlRNX0dFVFFESVNDIFJUTV9HRVRRRElTQwotIFJUTV9ORVdUQ0xBU1MgPSA0MCwKKyAgUlRNX05FV1RDTEFTUyA9IDQwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX05FV1RDTEFTUyBSVE1fTkVXVENMQVNTCi0gUlRNX0RFTFRDTEFTUywKKyAgUlRNX0RFTFRDTEFTUywKICNkZWZpbmUgUlRNX0RFTFRDTEFTUyBSVE1fREVMVENMQVNTCi0gUlRNX0dFVFRDTEFTUywKKyAgUlRNX0dFVFRDTEFTUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTV9HRVRUQ0xBU1MgUlRNX0dFVFRDTEFTUwotIFJUTV9ORVdURklMVEVSID0gNDQsCisgIFJUTV9ORVdURklMVEVSID0gNDQsCiAjZGVmaW5lIFJUTV9ORVdURklMVEVSIFJUTV9ORVdURklMVEVSCi0gUlRNX0RFTFRGSUxURVIsCisgIFJUTV9ERUxURklMVEVSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0RFTFRGSUxURVIgUlRNX0RFTFRGSUxURVIKLSBSVE1fR0VUVEZJTFRFUiwKKyAgUlRNX0dFVFRGSUxURVIsCiAjZGVmaW5lIFJUTV9HRVRURklMVEVSIFJUTV9HRVRURklMVEVSCi0gUlRNX05FV0FDVElPTiA9IDQ4LAorICBSVE1fTkVXQUNUSU9OID0gNDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fTkVXQUNUSU9OIFJUTV9ORVdBQ1RJT04KLSBSVE1fREVMQUNUSU9OLAorICBSVE1fREVMQUNUSU9OLAogI2RlZmluZSBSVE1fREVMQUNUSU9OIFJUTV9ERUxBQ1RJT04KLSBSVE1fR0VUQUNUSU9OLAorICBSVE1fR0VUQUNUSU9OLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0dFVEFDVElPTiBSVE1fR0VUQUNUSU9OCi0gUlRNX05FV1BSRUZJWCA9IDUyLAorICBSVE1fTkVXUFJFRklYID0gNTIsCiAjZGVmaW5lIFJUTV9ORVdQUkVGSVggUlRNX05FV1BSRUZJWAotIFJUTV9HRVRNVUxUSUNBU1QgPSA1OCwKKyAgUlRNX0dFVE1VTFRJQ0FTVCA9IDU4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0dFVE1VTFRJQ0FTVCBSVE1fR0VUTVVMVElDQVNUCi0gUlRNX0dFVEFOWUNBU1QgPSA2MiwKKyAgUlRNX0dFVEFOWUNBU1QgPSA2MiwKICNkZWZpbmUgUlRNX0dFVEFOWUNBU1QgUlRNX0dFVEFOWUNBU1QKLSBSVE1fTkVXTkVJR0hUQkwgPSA2NCwKKyAgUlRNX05FV05FSUdIVEJMID0gNjQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fTkVXTkVJR0hUQkwgUlRNX05FV05FSUdIVEJMCi0gUlRNX0dFVE5FSUdIVEJMID0gNjYsCisgIFJUTV9HRVRORUlHSFRCTCA9IDY2LAogI2RlZmluZSBSVE1fR0VUTkVJR0hUQkwgUlRNX0dFVE5FSUdIVEJMCi0gUlRNX1NFVE5FSUdIVEJMLAorICBSVE1fU0VUTkVJR0hUQkwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fU0VUTkVJR0hUQkwgUlRNX1NFVE5FSUdIVEJMCi0gUlRNX05FV05EVVNFUk9QVCA9IDY4LAorICBSVE1fTkVXTkRVU0VST1BUID0gNjgsCiAjZGVmaW5lIFJUTV9ORVdORFVTRVJPUFQgUlRNX05FV05EVVNFUk9QVAotIFJUTV9ORVdBRERSTEFCRUwgPSA3MiwKKyAgUlRNX05FV0FERFJMQUJFTCA9IDcyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX05FV0FERFJMQUJFTCBSVE1fTkVXQUREUkxBQkVMCi0gUlRNX0RFTEFERFJMQUJFTCwKKyAgUlRNX0RFTEFERFJMQUJFTCwKICNkZWZpbmUgUlRNX0RFTEFERFJMQUJFTCBSVE1fREVMQUREUkxBQkVMCi0gUlRNX0dFVEFERFJMQUJFTCwKKyAgUlRNX0dFVEFERFJMQUJFTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTV9HRVRBRERSTEFCRUwgUlRNX0dFVEFERFJMQUJFTAotIFJUTV9HRVREQ0IgPSA3OCwKKyAgUlRNX0dFVERDQiA9IDc4LAogI2RlZmluZSBSVE1fR0VURENCIFJUTV9HRVREQ0IKLSBSVE1fU0VURENCLAorICBSVE1fU0VURENCLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX1NFVERDQiBSVE1fU0VURENCCi0gUlRNX05FV05FVENPTkYgPSA4MCwKKyAgUlRNX05FV05FVENPTkYgPSA4MCwKICNkZWZpbmUgUlRNX05FV05FVENPTkYgUlRNX05FV05FVENPTkYKLSBSVE1fR0VUTkVUQ09ORiA9IDgyLAorICBSVE1fR0VUTkVUQ09ORiA9IDgyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0dFVE5FVENPTkYgUlRNX0dFVE5FVENPTkYKLSBSVE1fTkVXTURCID0gODQsCisgIFJUTV9ORVdNREIgPSA4NCwKICNkZWZpbmUgUlRNX05FV01EQiBSVE1fTkVXTURCCi0gUlRNX0RFTE1EQiA9IDg1LAorICBSVE1fREVMTURCID0gODUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fREVMTURCIFJUTV9ERUxNREIKLSBSVE1fR0VUTURCID0gODYsCisgIFJUTV9HRVRNREIgPSA4NiwKICNkZWZpbmUgUlRNX0dFVE1EQiBSVE1fR0VUTURCCi0gX19SVE1fTUFYLAorICBfX1JUTV9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1fTUFYICgoKF9fUlRNX01BWCArIDMpICYgfjMpIC0gMSkKIH07CkBAIC0xNTMsNTEgKzE1Myw1MSBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNX0ZBTShjbWQpICgoKGNtZCkgLSBSVE1fQkFTRSkgPj4gMikKIHN0cnVjdCBydGF0dHIgewotIHVuc2lnbmVkIHNob3J0IHJ0YV9sZW47Ci0gdW5zaWduZWQgc2hvcnQgcnRhX3R5cGU7CisgIHVuc2lnbmVkIHNob3J0IHJ0YV9sZW47CisgIHVuc2lnbmVkIHNob3J0IHJ0YV90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFJUQV9BTElHTlRPIDQKLSNkZWZpbmUgUlRBX0FMSUdOKGxlbikgKCAoKGxlbikrUlRBX0FMSUdOVE8tMSkgJiB+KFJUQV9BTElHTlRPLTEpICkKLSNkZWZpbmUgUlRBX09LKHJ0YSxsZW4pICgobGVuKSA+PSAoaW50KXNpemVvZihzdHJ1Y3QgcnRhdHRyKSAmJiAgIChydGEpLT5ydGFfbGVuID49IHNpemVvZihzdHJ1Y3QgcnRhdHRyKSAmJiAgIChydGEpLT5ydGFfbGVuIDw9IChsZW4pKQorI2RlZmluZSBSVEFfQUxJR04obGVuKSAoKChsZW4pICsgUlRBX0FMSUdOVE8gLSAxKSAmIH4oUlRBX0FMSUdOVE8gLSAxKSkKKyNkZWZpbmUgUlRBX09LKHJ0YSxsZW4pICgobGVuKSA+PSAoaW50KSBzaXplb2Yoc3RydWN0IHJ0YXR0cikgJiYgKHJ0YSktPnJ0YV9sZW4gPj0gc2l6ZW9mKHN0cnVjdCBydGF0dHIpICYmIChydGEpLT5ydGFfbGVuIDw9IChsZW4pKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUlRBX05FWFQocnRhLGF0dHJsZW4pICgoYXR0cmxlbikgLT0gUlRBX0FMSUdOKChydGEpLT5ydGFfbGVuKSwgICAoc3RydWN0IHJ0YXR0ciopKCgoY2hhciopKHJ0YSkpICsgUlRBX0FMSUdOKChydGEpLT5ydGFfbGVuKSkpCisjZGVmaW5lIFJUQV9ORVhUKHJ0YSxhdHRybGVuKSAoKGF0dHJsZW4pIC09IFJUQV9BTElHTigocnRhKS0+cnRhX2xlbiksIChzdHJ1Y3QgcnRhdHRyICopICgoKGNoYXIgKikgKHJ0YSkpICsgUlRBX0FMSUdOKChydGEpLT5ydGFfbGVuKSkpCiAjZGVmaW5lIFJUQV9MRU5HVEgobGVuKSAoUlRBX0FMSUdOKHNpemVvZihzdHJ1Y3QgcnRhdHRyKSkgKyAobGVuKSkKICNkZWZpbmUgUlRBX1NQQUNFKGxlbikgUlRBX0FMSUdOKFJUQV9MRU5HVEgobGVuKSkKLSNkZWZpbmUgUlRBX0RBVEEocnRhKSAoKHZvaWQqKSgoKGNoYXIqKShydGEpKSArIFJUQV9MRU5HVEgoMCkpKQorI2RlZmluZSBSVEFfREFUQShydGEpICgodm9pZCAqKSAoKChjaGFyICopIChydGEpKSArIFJUQV9MRU5HVEgoMCkpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUlRBX1BBWUxPQUQocnRhKSAoKGludCkoKHJ0YSktPnJ0YV9sZW4pIC0gUlRBX0xFTkdUSCgwKSkKKyNkZWZpbmUgUlRBX1BBWUxPQUQocnRhKSAoKGludCkgKChydGEpLT5ydGFfbGVuKSAtIFJUQV9MRU5HVEgoMCkpCiBzdHJ1Y3QgcnRtc2cgewotIHVuc2lnbmVkIGNoYXIgcnRtX2ZhbWlseTsKLSB1bnNpZ25lZCBjaGFyIHJ0bV9kc3RfbGVuOworICB1bnNpZ25lZCBjaGFyIHJ0bV9mYW1pbHk7CisgIHVuc2lnbmVkIGNoYXIgcnRtX2RzdF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcnRtX3NyY19sZW47Ci0gdW5zaWduZWQgY2hhciBydG1fdG9zOwotIHVuc2lnbmVkIGNoYXIgcnRtX3RhYmxlOwotIHVuc2lnbmVkIGNoYXIgcnRtX3Byb3RvY29sOworICB1bnNpZ25lZCBjaGFyIHJ0bV9zcmNfbGVuOworICB1bnNpZ25lZCBjaGFyIHJ0bV90b3M7CisgIHVuc2lnbmVkIGNoYXIgcnRtX3RhYmxlOworICB1bnNpZ25lZCBjaGFyIHJ0bV9wcm90b2NvbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBydG1fc2NvcGU7Ci0gdW5zaWduZWQgY2hhciBydG1fdHlwZTsKLSB1bnNpZ25lZCBydG1fZmxhZ3M7CisgIHVuc2lnbmVkIGNoYXIgcnRtX3Njb3BlOworICB1bnNpZ25lZCBjaGFyIHJ0bV90eXBlOworICB1bnNpZ25lZCBydG1fZmxhZ3M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFJUTl9VTlNQRUMsCi0gUlROX1VOSUNBU1QsCi0gUlROX0xPQ0FMLAorICBSVE5fVU5TUEVDLAorICBSVE5fVU5JQ0FTVCwKKyAgUlROX0xPQ0FMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVE5fQlJPQURDQVNULAotIFJUTl9BTllDQVNULAotIFJUTl9NVUxUSUNBU1QsCi0gUlROX0JMQUNLSE9MRSwKKyAgUlROX0JST0FEQ0FTVCwKKyAgUlROX0FOWUNBU1QsCisgIFJUTl9NVUxUSUNBU1QsCisgIFJUTl9CTEFDS0hPTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUTl9VTlJFQUNIQUJMRSwKLSBSVE5fUFJPSElCSVQsCi0gUlROX1RIUk9XLAotIFJUTl9OQVQsCisgIFJUTl9VTlJFQUNIQUJMRSwKKyAgUlROX1BST0hJQklULAorICBSVE5fVEhST1csCisgIFJUTl9OQVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUTl9YUkVTT0xWRSwKLSBfX1JUTl9NQVgKKyAgUlROX1hSRVNPTFZFLAorICBfX1JUTl9NQVgKIH07CiAjZGVmaW5lIFJUTl9NQVggKF9fUlROX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMjIxLDEyICsyMjEsMTIgQEAKICNkZWZpbmUgUlRQUk9UX01ST1VURUQgMTcKIGVudW0gcnRfc2NvcGVfdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUX1NDT1BFX1VOSVZFUlNFPTAsCi0gUlRfU0NPUEVfU0lURT0yMDAsCi0gUlRfU0NPUEVfTElOSz0yNTMsCi0gUlRfU0NPUEVfSE9TVD0yNTQsCisgIFJUX1NDT1BFX1VOSVZFUlNFID0gMCwKKyAgUlRfU0NPUEVfU0lURSA9IDIwMCwKKyAgUlRfU0NPUEVfTElOSyA9IDI1MywKKyAgUlRfU0NPUEVfSE9TVCA9IDI1NCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRfU0NPUEVfTk9XSEVSRT0yNTUKKyAgUlRfU0NPUEVfTk9XSEVSRSA9IDI1NQogfTsKICNkZWZpbmUgUlRNX0ZfTk9USUZZIDB4MTAwCiAjZGVmaW5lIFJUTV9GX0NMT05FRCAweDIwMApAQCAtMjM0LDUxICsyMzQsNTEgQEAKICNkZWZpbmUgUlRNX0ZfRVFVQUxJWkUgMHg0MDAKICNkZWZpbmUgUlRNX0ZfUFJFRklYIDB4ODAwCiBlbnVtIHJ0X2NsYXNzX3QgewotIFJUX1RBQkxFX1VOU1BFQz0wLAorICBSVF9UQUJMRV9VTlNQRUMgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVF9UQUJMRV9DT01QQVQ9MjUyLAotIFJUX1RBQkxFX0RFRkFVTFQ9MjUzLAotIFJUX1RBQkxFX01BSU49MjU0LAotIFJUX1RBQkxFX0xPQ0FMPTI1NSwKKyAgUlRfVEFCTEVfQ09NUEFUID0gMjUyLAorICBSVF9UQUJMRV9ERUZBVUxUID0gMjUzLAorICBSVF9UQUJMRV9NQUlOID0gMjU0LAorICBSVF9UQUJMRV9MT0NBTCA9IDI1NSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRfVEFCTEVfTUFYPTB4RkZGRkZGRkYKKyAgUlRfVEFCTEVfTUFYID0gMHhGRkZGRkZGRgogfTsKIGVudW0gcnRhdHRyX3R5cGVfdCB7Ci0gUlRBX1VOU1BFQywKKyAgUlRBX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRBX0RTVCwKLSBSVEFfU1JDLAotIFJUQV9JSUYsCi0gUlRBX09JRiwKKyAgUlRBX0RTVCwKKyAgUlRBX1NSQywKKyAgUlRBX0lJRiwKKyAgUlRBX09JRiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRBX0dBVEVXQVksCi0gUlRBX1BSSU9SSVRZLAotIFJUQV9QUkVGU1JDLAotIFJUQV9NRVRSSUNTLAorICBSVEFfR0FURVdBWSwKKyAgUlRBX1BSSU9SSVRZLAorICBSVEFfUFJFRlNSQywKKyAgUlRBX01FVFJJQ1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUQV9NVUxUSVBBVEgsCi0gUlRBX1BST1RPSU5GTywKLSBSVEFfRkxPVywKLSBSVEFfQ0FDSEVJTkZPLAorICBSVEFfTVVMVElQQVRILAorICBSVEFfUFJPVE9JTkZPLAorICBSVEFfRkxPVywKKyAgUlRBX0NBQ0hFSU5GTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRBX1NFU1NJT04sCi0gUlRBX01QX0FMR08sCi0gUlRBX1RBQkxFLAotIFJUQV9NQVJLLAorICBSVEFfU0VTU0lPTiwKKyAgUlRBX01QX0FMR08sCisgIFJUQV9UQUJMRSwKKyAgUlRBX01BUkssCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUQV9NRkNfU1RBVFMsCi0gX19SVEFfTUFYCisgIFJUQV9NRkNfU1RBVFMsCisgIF9fUlRBX01BWAogfTsKICNkZWZpbmUgUlRBX01BWCAoX19SVEFfTUFYIC0gMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFJUTV9SVEEocikgKChzdHJ1Y3QgcnRhdHRyKikoKChjaGFyKikocikpICsgTkxNU0dfQUxJR04oc2l6ZW9mKHN0cnVjdCBydG1zZykpKSkKLSNkZWZpbmUgUlRNX1BBWUxPQUQobikgTkxNU0dfUEFZTE9BRChuLHNpemVvZihzdHJ1Y3QgcnRtc2cpKQorI2RlZmluZSBSVE1fUlRBKHIpICgoc3RydWN0IHJ0YXR0ciAqKSAoKChjaGFyICopIChyKSkgKyBOTE1TR19BTElHTihzaXplb2Yoc3RydWN0IHJ0bXNnKSkpKQorI2RlZmluZSBSVE1fUEFZTE9BRChuKSBOTE1TR19QQVlMT0FEKG4sIHNpemVvZihzdHJ1Y3QgcnRtc2cpKQogc3RydWN0IHJ0bmV4dGhvcCB7Ci0gdW5zaWduZWQgc2hvcnQgcnRuaF9sZW47CisgIHVuc2lnbmVkIHNob3J0IHJ0bmhfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHJ0bmhfZmxhZ3M7Ci0gdW5zaWduZWQgY2hhciBydG5oX2hvcHM7Ci0gaW50IHJ0bmhfaWZpbmRleDsKKyAgdW5zaWduZWQgY2hhciBydG5oX2ZsYWdzOworICB1bnNpZ25lZCBjaGFyIHJ0bmhfaG9wczsKKyAgaW50IHJ0bmhfaWZpbmRleDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE5IX0ZfREVBRCAxCkBAIC0yODYsNjkgKzI4Niw2OSBAQAogI2RlZmluZSBSVE5IX0ZfT05MSU5LIDQKICNkZWZpbmUgUlROSF9BTElHTlRPIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFJUTkhfQUxJR04obGVuKSAoICgobGVuKStSVE5IX0FMSUdOVE8tMSkgJiB+KFJUTkhfQUxJR05UTy0xKSApCi0jZGVmaW5lIFJUTkhfT0socnRuaCxsZW4pICgocnRuaCktPnJ0bmhfbGVuID49IHNpemVvZihzdHJ1Y3QgcnRuZXh0aG9wKSAmJiAgICgoaW50KShydG5oKS0+cnRuaF9sZW4pIDw9IChsZW4pKQotI2RlZmluZSBSVE5IX05FWFQocnRuaCkgKChzdHJ1Y3QgcnRuZXh0aG9wKikoKChjaGFyKikocnRuaCkpICsgUlROSF9BTElHTigocnRuaCktPnJ0bmhfbGVuKSkpCisjZGVmaW5lIFJUTkhfQUxJR04obGVuKSAoKChsZW4pICsgUlROSF9BTElHTlRPIC0gMSkgJiB+KFJUTkhfQUxJR05UTyAtIDEpKQorI2RlZmluZSBSVE5IX09LKHJ0bmgsbGVuKSAoKHJ0bmgpLT5ydG5oX2xlbiA+PSBzaXplb2Yoc3RydWN0IHJ0bmV4dGhvcCkgJiYgKChpbnQpIChydG5oKS0+cnRuaF9sZW4pIDw9IChsZW4pKQorI2RlZmluZSBSVE5IX05FWFQocnRuaCkgKChzdHJ1Y3QgcnRuZXh0aG9wICopICgoKGNoYXIgKikgKHJ0bmgpKSArIFJUTkhfQUxJR04oKHJ0bmgpLT5ydG5oX2xlbikpKQogI2RlZmluZSBSVE5IX0xFTkdUSChsZW4pIChSVE5IX0FMSUdOKHNpemVvZihzdHJ1Y3QgcnRuZXh0aG9wKSkgKyAobGVuKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTkhfU1BBQ0UobGVuKSBSVE5IX0FMSUdOKFJUTkhfTEVOR1RIKGxlbikpCi0jZGVmaW5lIFJUTkhfREFUQShydG5oKSAoKHN0cnVjdCBydGF0dHIqKSgoKGNoYXIqKShydG5oKSkgKyBSVE5IX0xFTkdUSCgwKSkpCisjZGVmaW5lIFJUTkhfREFUQShydG5oKSAoKHN0cnVjdCBydGF0dHIgKikgKCgoY2hhciAqKSAocnRuaCkpICsgUlROSF9MRU5HVEgoMCkpKQogc3RydWN0IHJ0YV9jYWNoZWluZm8gewotIF9fdTMyIHJ0YV9jbG50cmVmOworICBfX3UzMiBydGFfY2xudHJlZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcnRhX2xhc3R1c2U7Ci0gX19zMzIgcnRhX2V4cGlyZXM7Ci0gX191MzIgcnRhX2Vycm9yOwotIF9fdTMyIHJ0YV91c2VkOworICBfX3UzMiBydGFfbGFzdHVzZTsKKyAgX19zMzIgcnRhX2V4cGlyZXM7CisgIF9fdTMyIHJ0YV9lcnJvcjsKKyAgX191MzIgcnRhX3VzZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE5FVExJTktfSEFWRV9QRUVSSU5GTyAxCi0gX191MzIgcnRhX2lkOwotIF9fdTMyIHJ0YV90czsKLSBfX3UzMiBydGFfdHNhZ2U7CisgIF9fdTMyIHJ0YV9pZDsKKyAgX191MzIgcnRhX3RzOworICBfX3UzMiBydGFfdHNhZ2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFJUQVhfVU5TUEVDLAorICBSVEFYX1VOU1BFQywKICNkZWZpbmUgUlRBWF9VTlNQRUMgUlRBWF9VTlNQRUMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRBWF9MT0NLLAorICBSVEFYX0xPQ0ssCiAjZGVmaW5lIFJUQVhfTE9DSyBSVEFYX0xPQ0sKLSBSVEFYX01UVSwKKyAgUlRBWF9NVFUsCiAjZGVmaW5lIFJUQVhfTVRVIFJUQVhfTVRVCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUQVhfV0lORE9XLAorICBSVEFYX1dJTkRPVywKICNkZWZpbmUgUlRBWF9XSU5ET1cgUlRBWF9XSU5ET1cKLSBSVEFYX1JUVCwKKyAgUlRBWF9SVFQsCiAjZGVmaW5lIFJUQVhfUlRUIFJUQVhfUlRUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUQVhfUlRUVkFSLAorICBSVEFYX1JUVFZBUiwKICNkZWZpbmUgUlRBWF9SVFRWQVIgUlRBWF9SVFRWQVIKLSBSVEFYX1NTVEhSRVNILAorICBSVEFYX1NTVEhSRVNILAogI2RlZmluZSBSVEFYX1NTVEhSRVNIIFJUQVhfU1NUSFJFU0gKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlRBWF9DV05ELAorICBSVEFYX0NXTkQsCiAjZGVmaW5lIFJUQVhfQ1dORCBSVEFYX0NXTkQKLSBSVEFYX0FEVk1TUywKKyAgUlRBWF9BRFZNU1MsCiAjZGVmaW5lIFJUQVhfQURWTVNTIFJUQVhfQURWTVNTCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUQVhfUkVPUkRFUklORywKKyAgUlRBWF9SRU9SREVSSU5HLAogI2RlZmluZSBSVEFYX1JFT1JERVJJTkcgUlRBWF9SRU9SREVSSU5HCi0gUlRBWF9IT1BMSU1JVCwKKyAgUlRBWF9IT1BMSU1JVCwKICNkZWZpbmUgUlRBWF9IT1BMSU1JVCBSVEFYX0hPUExJTUlUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUQVhfSU5JVENXTkQsCisgIFJUQVhfSU5JVENXTkQsCiAjZGVmaW5lIFJUQVhfSU5JVENXTkQgUlRBWF9JTklUQ1dORAotIFJUQVhfRkVBVFVSRVMsCisgIFJUQVhfRkVBVFVSRVMsCiAjZGVmaW5lIFJUQVhfRkVBVFVSRVMgUlRBWF9GRUFUVVJFUwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVEFYX1JUT19NSU4sCisgIFJUQVhfUlRPX01JTiwKICNkZWZpbmUgUlRBWF9SVE9fTUlOIFJUQVhfUlRPX01JTgotIFJUQVhfSU5JVFJXTkQsCisgIFJUQVhfSU5JVFJXTkQsCiAjZGVmaW5lIFJUQVhfSU5JVFJXTkQgUlRBWF9JTklUUldORAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVEFYX1FVSUNLQUNLLAorICBSVEFYX1FVSUNLQUNLLAogI2RlZmluZSBSVEFYX1FVSUNLQUNLIFJUQVhfUVVJQ0tBQ0sKLSBfX1JUQVhfTUFYCisgIF9fUlRBWF9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVEFYX01BWCAoX19SVEFYX01BWCAtIDEpCkBAIC0zNTgsMjI0ICszNTgsMjIzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVEFYX0ZFQVRVUkVfQUxMRlJBRyAweDAwMDAwMDA4CiBzdHJ1Y3QgcnRhX3Nlc3Npb24gewotIF9fdTggcHJvdG87Ci0gX191OCBwYWQxOworICBfX3U4IHByb3RvOworICBfX3U4IHBhZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHBhZDI7Ci0gdW5pb24gewotIHN0cnVjdCB7Ci0gX191MTYgc3BvcnQ7CisgIF9fdTE2IHBhZDI7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MTYgc3BvcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGRwb3J0OwotIH0gcG9ydHM7Ci0gc3RydWN0IHsKLSBfX3U4IHR5cGU7CisgICAgICBfX3UxNiBkcG9ydDsKKyAgICB9IHBvcnRzOworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY29kZTsKLSBfX3UxNiBpZGVudDsKLSB9IGljbXB0OwotIF9fdTMyIHNwaTsKKyAgICAgIF9fdTggY29kZTsKKyAgICAgIF9fdTE2IGlkZW50OworICAgIH0gaWNtcHQ7CisgICAgX191MzIgc3BpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHU7CisgIH0gdTsKIH07CiBzdHJ1Y3QgcnRhX21mY19zdGF0cyB7Ci0gX191NjQgbWZjc19wYWNrZXRzOworICBfX3U2NCBtZmNzX3BhY2tldHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG1mY3NfYnl0ZXM7Ci0gX191NjQgbWZjc193cm9uZ19pZjsKKyAgX191NjQgbWZjc19ieXRlczsKKyAgX191NjQgbWZjc193cm9uZ19pZjsKIH07CiBzdHJ1Y3QgcnRnZW5tc2cgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHJ0Z2VuX2ZhbWlseTsKKyAgdW5zaWduZWQgY2hhciBydGdlbl9mYW1pbHk7CiB9Owogc3RydWN0IGlmaW5mb21zZyB7Ci0gdW5zaWduZWQgY2hhciBpZmlfZmFtaWx5OworICB1bnNpZ25lZCBjaGFyIGlmaV9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgX19pZmlfcGFkOwotIHVuc2lnbmVkIHNob3J0IGlmaV90eXBlOwotIGludCBpZmlfaW5kZXg7Ci0gdW5zaWduZWQgaWZpX2ZsYWdzOworICB1bnNpZ25lZCBjaGFyIF9faWZpX3BhZDsKKyAgdW5zaWduZWQgc2hvcnQgaWZpX3R5cGU7CisgIGludCBpZmlfaW5kZXg7CisgIHVuc2lnbmVkIGlmaV9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaWZpX2NoYW5nZTsKKyAgdW5zaWduZWQgaWZpX2NoYW5nZTsKIH07CiBzdHJ1Y3QgcHJlZml4bXNnIHsKLSB1bnNpZ25lZCBjaGFyIHByZWZpeF9mYW1pbHk7CisgIHVuc2lnbmVkIGNoYXIgcHJlZml4X2ZhbWlseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBwcmVmaXhfcGFkMTsKLSB1bnNpZ25lZCBzaG9ydCBwcmVmaXhfcGFkMjsKLSBpbnQgcHJlZml4X2lmaW5kZXg7Ci0gdW5zaWduZWQgY2hhciBwcmVmaXhfdHlwZTsKKyAgdW5zaWduZWQgY2hhciBwcmVmaXhfcGFkMTsKKyAgdW5zaWduZWQgc2hvcnQgcHJlZml4X3BhZDI7CisgIGludCBwcmVmaXhfaWZpbmRleDsKKyAgdW5zaWduZWQgY2hhciBwcmVmaXhfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBwcmVmaXhfbGVuOwotIHVuc2lnbmVkIGNoYXIgcHJlZml4X2ZsYWdzOwotIHVuc2lnbmVkIGNoYXIgcHJlZml4X3BhZDM7CisgIHVuc2lnbmVkIGNoYXIgcHJlZml4X2xlbjsKKyAgdW5zaWduZWQgY2hhciBwcmVmaXhfZmxhZ3M7CisgIHVuc2lnbmVkIGNoYXIgcHJlZml4X3BhZDM7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLWVudW0KLXsKLSBQUkVGSVhfVU5TUEVDLAotIFBSRUZJWF9BRERSRVNTLAorZW51bSB7CisgIFBSRUZJWF9VTlNQRUMsCisgIFBSRUZJWF9BRERSRVNTLAorICBQUkVGSVhfQ0FDSEVJTkZPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQUkVGSVhfQ0FDSEVJTkZPLAotIF9fUFJFRklYX01BWAorICBfX1BSRUZJWF9NQVgKIH07CiAjZGVmaW5lIFBSRUZJWF9NQVggKF9fUFJFRklYX01BWCAtIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHByZWZpeF9jYWNoZWluZm8gewotIF9fdTMyIHByZWZlcnJlZF90aW1lOwotIF9fdTMyIHZhbGlkX3RpbWU7Ci19OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcHJlZmVycmVkX3RpbWU7CisgIF9fdTMyIHZhbGlkX3RpbWU7Cit9Owogc3RydWN0IHRjbXNnIHsKLSB1bnNpZ25lZCBjaGFyIHRjbV9mYW1pbHk7Ci0gdW5zaWduZWQgY2hhciB0Y21fX3BhZDE7Ci0gdW5zaWduZWQgc2hvcnQgdGNtX19wYWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgdGNtX2lmaW5kZXg7Ci0gX191MzIgdGNtX2hhbmRsZTsKLSBfX3UzMiB0Y21fcGFyZW50OwotIF9fdTMyIHRjbV9pbmZvOworICB1bnNpZ25lZCBjaGFyIHRjbV9mYW1pbHk7CisgIHVuc2lnbmVkIGNoYXIgdGNtX19wYWQxOworICB1bnNpZ25lZCBzaG9ydCB0Y21fX3BhZDI7CisgIGludCB0Y21faWZpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHRjbV9oYW5kbGU7CisgIF9fdTMyIHRjbV9wYXJlbnQ7CisgIF9fdTMyIHRjbV9pbmZvOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBUQ0FfVU5TUEVDLAotIFRDQV9LSU5ELAorICBUQ0FfVU5TUEVDLAorICBUQ0FfS0lORCwKKyAgVENBX09QVElPTlMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9PUFRJT05TLAotIFRDQV9TVEFUUywKLSBUQ0FfWFNUQVRTLAotIFRDQV9SQVRFLAorICBUQ0FfU1RBVFMsCisgIFRDQV9YU1RBVFMsCisgIFRDQV9SQVRFLAorICBUQ0FfRkNOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0ZDTlQsCi0gVENBX1NUQVRTMiwKLSBUQ0FfU1RBQiwKLSBfX1RDQV9NQVgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFRDQV9TVEFUUzIsCisgIFRDQV9TVEFCLAorICBfX1RDQV9NQVgKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfTUFYIChfX1RDQV9NQVggLSAxKQotI2RlZmluZSBUQ0FfUlRBKHIpICgoc3RydWN0IHJ0YXR0ciopKCgoY2hhciopKHIpKSArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgdGNtc2cpKSkpCi0jZGVmaW5lIFRDQV9QQVlMT0FEKG4pIE5MTVNHX1BBWUxPQUQobixzaXplb2Yoc3RydWN0IHRjbXNnKSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRDQV9SVEEocikgKChzdHJ1Y3QgcnRhdHRyICopICgoKGNoYXIgKikgKHIpKSArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgdGNtc2cpKSkpCisjZGVmaW5lIFRDQV9QQVlMT0FEKG4pIE5MTVNHX1BBWUxPQUQobiwgc2l6ZW9mKHN0cnVjdCB0Y21zZykpCiBzdHJ1Y3QgbmR1c2Vyb3B0bXNnIHsKLSB1bnNpZ25lZCBjaGFyIG5kdXNlcm9wdF9mYW1pbHk7Ci0gdW5zaWduZWQgY2hhciBuZHVzZXJvcHRfcGFkMTsKLSB1bnNpZ25lZCBzaG9ydCBuZHVzZXJvcHRfb3B0c19sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBuZHVzZXJvcHRfaWZpbmRleDsKLSBfX3U4IG5kdXNlcm9wdF9pY21wX3R5cGU7Ci0gX191OCBuZHVzZXJvcHRfaWNtcF9jb2RlOwotIHVuc2lnbmVkIHNob3J0IG5kdXNlcm9wdF9wYWQyOworICB1bnNpZ25lZCBjaGFyIG5kdXNlcm9wdF9mYW1pbHk7CisgIHVuc2lnbmVkIGNoYXIgbmR1c2Vyb3B0X3BhZDE7CisgIHVuc2lnbmVkIHNob3J0IG5kdXNlcm9wdF9vcHRzX2xlbjsKKyAgaW50IG5kdXNlcm9wdF9pZmluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbmR1c2Vyb3B0X3BhZDM7CisgIF9fdTggbmR1c2Vyb3B0X2ljbXBfdHlwZTsKKyAgX191OCBuZHVzZXJvcHRfaWNtcF9jb2RlOworICB1bnNpZ25lZCBzaG9ydCBuZHVzZXJvcHRfcGFkMjsKKyAgdW5zaWduZWQgaW50IG5kdXNlcm9wdF9wYWQzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBORFVTRVJPUFRfVU5TUEVDLAorICBORFVTRVJPUFRfVU5TUEVDLAorICBORFVTRVJPUFRfU1JDQUREUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkRVU0VST1BUX1NSQ0FERFIsCi0gX19ORFVTRVJPUFRfTUFYCisgIF9fTkRVU0VST1BUX01BWAogfTsKICNkZWZpbmUgTkRVU0VST1BUX01BWCAoX19ORFVTRVJPUFRfTUFYIC0gMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTUdSUF9MSU5LIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTUdSUF9OT1RJRlkgMgogI2RlZmluZSBSVE1HUlBfTkVJR0ggNAogI2RlZmluZSBSVE1HUlBfVEMgOAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNR1JQX0lQVjRfSUZBRERSIDB4MTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTUdSUF9JUFY0X01ST1VURSAweDIwCiAjZGVmaW5lIFJUTUdSUF9JUFY0X1JPVVRFIDB4NDAKICNkZWZpbmUgUlRNR1JQX0lQVjRfUlVMRSAweDgwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVE1HUlBfSVBWNl9JRkFERFIgMHgxMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTUdSUF9JUFY2X01ST1VURSAweDIwMAogI2RlZmluZSBSVE1HUlBfSVBWNl9ST1VURSAweDQwMAogI2RlZmluZSBSVE1HUlBfSVBWNl9JRklORk8gMHg4MDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFJUTUdSUF9ERUNuZXRfSUZBRERSIDB4MTAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRNR1JQX0RFQ25ldF9ST1VURSAweDQwMDAKICNkZWZpbmUgUlRNR1JQX0lQVjZfUFJFRklYIDB4MjAwMDAKIGVudW0gcnRuZXRsaW5rX2dyb3VwcyB7CisgIFJUTkxHUlBfTk9ORSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlROTEdSUF9OT05FLAogI2RlZmluZSBSVE5MR1JQX05PTkUgUlROTEdSUF9OT05FCi0gUlROTEdSUF9MSU5LLAorICBSVE5MR1JQX0xJTkssCiAjZGVmaW5lIFJUTkxHUlBfTElOSyBSVE5MR1JQX0xJTksKKyAgUlROTEdSUF9OT1RJRlksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUTkxHUlBfTk9USUZZLAogI2RlZmluZSBSVE5MR1JQX05PVElGWSBSVE5MR1JQX05PVElGWQotIFJUTkxHUlBfTkVJR0gsCisgIFJUTkxHUlBfTkVJR0gsCiAjZGVmaW5lIFJUTkxHUlBfTkVJR0ggUlROTEdSUF9ORUlHSAorICBSVE5MR1JQX1RDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVE5MR1JQX1RDLAogI2RlZmluZSBSVE5MR1JQX1RDIFJUTkxHUlBfVEMKLSBSVE5MR1JQX0lQVjRfSUZBRERSLAorICBSVE5MR1JQX0lQVjRfSUZBRERSLAogI2RlZmluZSBSVE5MR1JQX0lQVjRfSUZBRERSIFJUTkxHUlBfSVBWNF9JRkFERFIKKyAgUlROTEdSUF9JUFY0X01ST1VURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlROTEdSUF9JUFY0X01ST1VURSwKICNkZWZpbmUgUlROTEdSUF9JUFY0X01ST1VURSBSVE5MR1JQX0lQVjRfTVJPVVRFCi0gUlROTEdSUF9JUFY0X1JPVVRFLAorICBSVE5MR1JQX0lQVjRfUk9VVEUsCiAjZGVmaW5lIFJUTkxHUlBfSVBWNF9ST1VURSBSVE5MR1JQX0lQVjRfUk9VVEUKKyAgUlROTEdSUF9JUFY0X1JVTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUTkxHUlBfSVBWNF9SVUxFLAogI2RlZmluZSBSVE5MR1JQX0lQVjRfUlVMRSBSVE5MR1JQX0lQVjRfUlVMRQotIFJUTkxHUlBfSVBWNl9JRkFERFIsCisgIFJUTkxHUlBfSVBWNl9JRkFERFIsCiAjZGVmaW5lIFJUTkxHUlBfSVBWNl9JRkFERFIgUlROTEdSUF9JUFY2X0lGQUREUgorICBSVE5MR1JQX0lQVjZfTVJPVVRFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVE5MR1JQX0lQVjZfTVJPVVRFLAogI2RlZmluZSBSVE5MR1JQX0lQVjZfTVJPVVRFIFJUTkxHUlBfSVBWNl9NUk9VVEUKLSBSVE5MR1JQX0lQVjZfUk9VVEUsCisgIFJUTkxHUlBfSVBWNl9ST1VURSwKICNkZWZpbmUgUlROTEdSUF9JUFY2X1JPVVRFIFJUTkxHUlBfSVBWNl9ST1VURQorICBSVE5MR1JQX0lQVjZfSUZJTkZPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSVE5MR1JQX0lQVjZfSUZJTkZPLAogI2RlZmluZSBSVE5MR1JQX0lQVjZfSUZJTkZPIFJUTkxHUlBfSVBWNl9JRklORk8KLSBSVE5MR1JQX0RFQ25ldF9JRkFERFIsCisgIFJUTkxHUlBfREVDbmV0X0lGQUREUiwKICNkZWZpbmUgUlROTEdSUF9ERUNuZXRfSUZBRERSIFJUTkxHUlBfREVDbmV0X0lGQUREUgorICBSVE5MR1JQX05PUDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUTkxHUlBfTk9QMiwKLSBSVE5MR1JQX0RFQ25ldF9ST1VURSwKKyAgUlROTEdSUF9ERUNuZXRfUk9VVEUsCiAjZGVmaW5lIFJUTkxHUlBfREVDbmV0X1JPVVRFIFJUTkxHUlBfREVDbmV0X1JPVVRFCi0gUlROTEdSUF9ERUNuZXRfUlVMRSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFJUTkxHUlBfREVDbmV0X1JVTEUsCiAjZGVmaW5lIFJUTkxHUlBfREVDbmV0X1JVTEUgUlROTEdSUF9ERUNuZXRfUlVMRQotIFJUTkxHUlBfTk9QNCwKLSBSVE5MR1JQX0lQVjZfUFJFRklYLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgUlROTEdSUF9OT1A0LAorICBSVE5MR1JQX0lQVjZfUFJFRklYLAogI2RlZmluZSBSVE5MR1JQX0lQVjZfUFJFRklYIFJUTkxHUlBfSVBWNl9QUkVGSVgKKyAgUlROTEdSUF9JUFY2X1JVTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJUTkxHUlBfSVBWNl9SVUxFLAogI2RlZmluZSBSVE5MR1JQX0lQVjZfUlVMRSBSVE5MR1JQX0lQVjZfUlVMRQotIFJUTkxHUlBfTkRfVVNFUk9QVCwKKyAgUlROTEdSUF9ORF9VU0VST1BULAogI2RlZmluZSBSVE5MR1JQX05EX1VTRVJPUFQgUlROTEdSUF9ORF9VU0VST1BUCisgIFJUTkxHUlBfUEhPTkVUX0lGQUREUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlROTEdSUF9QSE9ORVRfSUZBRERSLAogI2RlZmluZSBSVE5MR1JQX1BIT05FVF9JRkFERFIgUlROTEdSUF9QSE9ORVRfSUZBRERSCi0gUlROTEdSUF9QSE9ORVRfUk9VVEUsCisgIFJUTkxHUlBfUEhPTkVUX1JPVVRFLAogI2RlZmluZSBSVE5MR1JQX1BIT05FVF9ST1VURSBSVE5MR1JQX1BIT05FVF9ST1VURQorICBSVE5MR1JQX0RDQiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlROTEdSUF9EQ0IsCiAjZGVmaW5lIFJUTkxHUlBfRENCIFJUTkxHUlBfRENCCi0gUlROTEdSUF9JUFY0X05FVENPTkYsCisgIFJUTkxHUlBfSVBWNF9ORVRDT05GLAogI2RlZmluZSBSVE5MR1JQX0lQVjRfTkVUQ09ORiBSVE5MR1JQX0lQVjRfTkVUQ09ORgorICBSVE5MR1JQX0lQVjZfTkVUQ09ORiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUlROTEdSUF9JUFY2X05FVENPTkYsCiAjZGVmaW5lIFJUTkxHUlBfSVBWNl9ORVRDT05GIFJUTkxHUlBfSVBWNl9ORVRDT05GCi0gUlROTEdSUF9NREIsCisgIFJUTkxHUlBfTURCLAogI2RlZmluZSBSVE5MR1JQX01EQiBSVE5MR1JQX01EQgorICBfX1JUTkxHUlBfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fUlROTEdSUF9NQVgKIH07CiAjZGVmaW5lIFJUTkxHUlBfTUFYIChfX1JUTkxHUlBfTUFYIC0gMSkKIHN0cnVjdCB0Y2Ftc2cgeworICB1bnNpZ25lZCBjaGFyIHRjYV9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgdGNhX2ZhbWlseTsKLSB1bnNpZ25lZCBjaGFyIHRjYV9fcGFkMTsKLSB1bnNpZ25lZCBzaG9ydCB0Y2FfX3BhZDI7CisgIHVuc2lnbmVkIGNoYXIgdGNhX19wYWQxOworICB1bnNpZ25lZCBzaG9ydCB0Y2FfX3BhZDI7CiB9OworI2RlZmluZSBUQV9SVEEocikgKChzdHJ1Y3QgcnRhdHRyICopICgoKGNoYXIgKikgKHIpKSArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgdGNhbXNnKSkpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVEFfUlRBKHIpICgoc3RydWN0IHJ0YXR0ciopKCgoY2hhciopKHIpKSArIE5MTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgdGNhbXNnKSkpKQotI2RlZmluZSBUQV9QQVlMT0FEKG4pIE5MTVNHX1BBWUxPQUQobixzaXplb2Yoc3RydWN0IHRjYW1zZykpCisjZGVmaW5lIFRBX1BBWUxPQUQobikgTkxNU0dfUEFZTE9BRChuLCBzaXplb2Yoc3RydWN0IHRjYW1zZykpCiAjZGVmaW5lIFRDQV9BQ1RfVEFCIDEKICNkZWZpbmUgVENBQV9NQVggMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgUlRFWFRfRklMVEVSX1ZGICgxIDw8IDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVEVYVF9GSUxURVJfQlJWTEFOICgxIDw8IDEpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2NjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NjYy5oCmluZGV4IDRhOTVlYWQuLjhhNDMwNTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2NjLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zY2MuaApAQCAtMjcsMTQzICsyNywxNDMgQEAKICNkZWZpbmUgQkFZQ09NIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIFNDQ19pb2N0bF9jbWRzIHsKLSBTSU9DU0NDUkVTRVJWRUQgPSBTSU9DREVWUFJJVkFURSwKLSBTSU9DU0NDQ0ZHLAotIFNJT0NTQ0NJTkksCisgIFNJT0NTQ0NSRVNFUlZFRCA9IFNJT0NERVZQUklWQVRFLAorICBTSU9DU0NDQ0ZHLAorICBTSU9DU0NDSU5JLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTSU9DU0NDQ0hBTklOSSwKLSBTSU9DU0NDU01FTSwKLSBTSU9DU0NDR0tJU1MsCi0gU0lPQ1NDQ1NLSVNTLAorICBTSU9DU0NDQ0hBTklOSSwKKyAgU0lPQ1NDQ1NNRU0sCisgIFNJT0NTQ0NHS0lTUywKKyAgU0lPQ1NDQ1NLSVNTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTSU9DU0NDR1NUQVQsCi0gU0lPQ1NDQ0NBTAorICBTSU9DU0NDR1NUQVQsCisgIFNJT0NTQ0NDQUwKIH07CiBlbnVtIEwxX3BhcmFtcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBBUkFNX0RBVEEsCi0gUEFSQU1fVFhERUxBWSwKLSBQQVJBTV9QRVJTSVNULAotIFBBUkFNX1NMT1RUSU1FLAorICBQQVJBTV9EQVRBLAorICBQQVJBTV9UWERFTEFZLAorICBQQVJBTV9QRVJTSVNULAorICBQQVJBTV9TTE9UVElNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUEFSQU1fVFhUQUlMLAotIFBBUkFNX0ZVTExEVVAsCi0gUEFSQU1fU09GVERDRCwKLSBQQVJBTV9NVVRFLAorICBQQVJBTV9UWFRBSUwsCisgIFBBUkFNX0ZVTExEVVAsCisgIFBBUkFNX1NPRlREQ0QsCisgIFBBUkFNX01VVEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBBUkFNX0RUUiwKLSBQQVJBTV9SVFMsCi0gUEFSQU1fU1BFRUQsCi0gUEFSQU1fRU5EREVMQVksCisgIFBBUkFNX0RUUiwKKyAgUEFSQU1fUlRTLAorICBQQVJBTV9TUEVFRCwKKyAgUEFSQU1fRU5EREVMQVksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBBUkFNX0dST1VQLAotIFBBUkFNX0lETEUsCi0gUEFSQU1fTUlOLAotIFBBUkFNX01BWEtFWSwKKyAgUEFSQU1fR1JPVVAsCisgIFBBUkFNX0lETEUsCisgIFBBUkFNX01JTiwKKyAgUEFSQU1fTUFYS0VZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBQQVJBTV9XQUlULAotIFBBUkFNX01BWERFRkVSLAotIFBBUkFNX1RYLAotIFBBUkFNX0hXRVZFTlQgPSAzMSwKKyAgUEFSQU1fV0FJVCwKKyAgUEFSQU1fTUFYREVGRVIsCisgIFBBUkFNX1RYLAorICBQQVJBTV9IV0VWRU5UID0gMzEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFBBUkFNX1JFVFVSTiA9IDI1NQorICBQQVJBTV9SRVRVUk4gPSAyNTUKIH07CiBlbnVtIEZVTExEVVBfbW9kZXMgewotIEtJU1NfRFVQTEVYX0hBTEYsCisgIEtJU1NfRFVQTEVYX0hBTEYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEtJU1NfRFVQTEVYX0ZVTEwsCi0gS0lTU19EVVBMRVhfTElOSywKLSBLSVNTX0RVUExFWF9PUFRJTUEKKyAgS0lTU19EVVBMRVhfRlVMTCwKKyAgS0lTU19EVVBMRVhfTElOSywKKyAgS0lTU19EVVBMRVhfT1BUSU1BCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElNRVJfT0ZGIDY1NTM1VQogI2RlZmluZSBOT19TVUNIX1BBUkFNIDY1NTM0VQogZW51bSBIV0VWRU5UX29wdHMgewotIEhXRVZfRENEX09OLAorICBIV0VWX0RDRF9PTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSFdFVl9EQ0RfT0ZGLAotIEhXRVZfQUxMX1NFTlQKKyAgSFdFVl9EQ0RfT0ZGLAorICBIV0VWX0FMTF9TRU5UCiB9OwogI2RlZmluZSBSWEdST1VQIDAxMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRYR1JPVVAgMDIwMAogZW51bSBDTE9DS19zb3VyY2VzIHsKLSBDTEtfRFBMTCwKLSBDTEtfRVhURVJOQUwsCisgIENMS19EUExMLAorICBDTEtfRVhURVJOQUwsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENMS19ESVZJREVSLAotIENMS19CUkcKKyAgQ0xLX0RJVklERVIsCisgIENMS19CUkcKIH07CiBlbnVtIFRYX3N0YXRlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVFhTX0lETEUsCi0gVFhTX0JVU1ksCi0gVFhTX0FDVElWRSwKLSBUWFNfTkVXRlJBTUUsCisgIFRYU19JRExFLAorICBUWFNfQlVTWSwKKyAgVFhTX0FDVElWRSwKKyAgVFhTX05FV0ZSQU1FLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUWFNfSURMRTIsCi0gVFhTX1dBSVQsCi0gVFhTX1RJTUVPVVQKKyAgVFhTX0lETEUyLAorICBUWFNfV0FJVCwKKyAgVFhTX1RJTUVPVVQKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiB1bnNpZ25lZCBsb25nIGlvX3BvcnQ7CiBzdHJ1Y3Qgc2NjX3N0YXQgewotIGxvbmcgcnhpbnRzOwotIGxvbmcgdHhpbnRzOworICBsb25nIHJ4aW50czsKKyAgbG9uZyB0eGludHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgZXhpbnRzOwotIGxvbmcgc3BpbnRzOwotIGxvbmcgdHhmcmFtZXM7Ci0gbG9uZyByeGZyYW1lczsKKyAgbG9uZyBleGludHM7CisgIGxvbmcgc3BpbnRzOworICBsb25nIHR4ZnJhbWVzOworICBsb25nIHJ4ZnJhbWVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBsb25nIHJ4ZXJyczsKLSBsb25nIHR4ZXJyczsKLSB1bnNpZ25lZCBpbnQgbm9zcGFjZTsKLSB1bnNpZ25lZCBpbnQgcnhfb3ZlcjsKKyAgbG9uZyByeGVycnM7CisgIGxvbmcgdHhlcnJzOworICB1bnNpZ25lZCBpbnQgbm9zcGFjZTsKKyAgdW5zaWduZWQgaW50IHJ4X292ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0eF91bmRlcjsKLSB1bnNpZ25lZCBpbnQgdHhfc3RhdGU7Ci0gaW50IHR4X3F1ZXVlZDsKLSB1bnNpZ25lZCBpbnQgbWF4cXVldWU7CisgIHVuc2lnbmVkIGludCB0eF91bmRlcjsKKyAgdW5zaWduZWQgaW50IHR4X3N0YXRlOworICBpbnQgdHhfcXVldWVkOworICB1bnNpZ25lZCBpbnQgbWF4cXVldWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBidWZzaXplOworICB1bnNpZ25lZCBpbnQgYnVmc2l6ZTsKIH07CiBzdHJ1Y3Qgc2NjX21vZGVtIHsKLSBsb25nIHNwZWVkOworICBsb25nIHNwZWVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGNsb2Nrc3JjOwotIGNoYXIgbnJ6OworICBjaGFyIGNsb2Nrc3JjOworICBjaGFyIG5yejsKIH07CiBzdHJ1Y3Qgc2NjX2tpc3NfY21kIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGNvbW1hbmQ7Ci0gdW5zaWduZWQgcGFyYW07CisgIGludCBjb21tYW5kOworICB1bnNpZ25lZCBwYXJhbTsKIH07CiBzdHJ1Y3Qgc2NjX2h3X2NvbmZpZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGlvX3BvcnQgZGF0YV9hOwotIGlvX3BvcnQgY3RybF9hOwotIGlvX3BvcnQgZGF0YV9iOwotIGlvX3BvcnQgY3RybF9iOworICBpb19wb3J0IGRhdGFfYTsKKyAgaW9fcG9ydCBjdHJsX2E7CisgIGlvX3BvcnQgZGF0YV9iOworICBpb19wb3J0IGN0cmxfYjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW9fcG9ydCB2ZWN0b3JfbGF0Y2g7Ci0gaW9fcG9ydCBzcGVjaWFsOwotIGludCBpcnE7Ci0gbG9uZyBjbG9jazsKKyAgaW9fcG9ydCB2ZWN0b3JfbGF0Y2g7CisgIGlvX3BvcnQgc3BlY2lhbDsKKyAgaW50IGlycTsKKyAgbG9uZyBjbG9jazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBvcHRpb247Ci0gY2hhciBicmFuZDsKLSBjaGFyIGVzY2M7CisgIGNoYXIgb3B0aW9uOworICBjaGFyIGJyYW5kOworICBjaGFyIGVzY2M7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzY2NfbWVtX2NvbmZpZyB7Ci0gdW5zaWduZWQgaW50IGR1bW15OwotIHVuc2lnbmVkIGludCBidWZzaXplOworICB1bnNpZ25lZCBpbnQgZHVtbXk7CisgIHVuc2lnbmVkIGludCBidWZzaXplOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc2NjX2NhbGlicmF0ZSB7Ci0gdW5zaWduZWQgaW50IHRpbWU7Ci0gdW5zaWduZWQgY2hhciBwYXR0ZXJuOworICB1bnNpZ25lZCBpbnQgdGltZTsKKyAgdW5zaWduZWQgY2hhciBwYXR0ZXJuOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2NyZWVuX2luZm8uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2NyZWVuX2luZm8uaAppbmRleCBlMDNmZWVmLi5jZmUyMmZkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NjcmVlbl9pbmZvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zY3JlZW5faW5mby5oCkBAIC0yMSw0OCArMjEsNDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHNjcmVlbl9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBvcmlnX3g7Ci0gX191OCBvcmlnX3k7Ci0gX191MTYgZXh0X21lbV9rOwotIF9fdTE2IG9yaWdfdmlkZW9fcGFnZTsKKyAgX191OCBvcmlnX3g7CisgIF9fdTggb3JpZ195OworICBfX3UxNiBleHRfbWVtX2s7CisgIF9fdTE2IG9yaWdfdmlkZW9fcGFnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBvcmlnX3ZpZGVvX21vZGU7Ci0gX191OCBvcmlnX3ZpZGVvX2NvbHM7Ci0gX191OCBmbGFnczsKLSBfX3U4IHVudXNlZDI7CisgIF9fdTggb3JpZ192aWRlb19tb2RlOworICBfX3U4IG9yaWdfdmlkZW9fY29sczsKKyAgX191OCBmbGFnczsKKyAgX191OCB1bnVzZWQyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBvcmlnX3ZpZGVvX2VnYV9ieDsKLSBfX3UxNiB1bnVzZWQzOwotIF9fdTggb3JpZ192aWRlb19saW5lczsKLSBfX3U4IG9yaWdfdmlkZW9faXNWR0E7CisgIF9fdTE2IG9yaWdfdmlkZW9fZWdhX2J4OworICBfX3UxNiB1bnVzZWQzOworICBfX3U4IG9yaWdfdmlkZW9fbGluZXM7CisgIF9fdTggb3JpZ192aWRlb19pc1ZHQTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgb3JpZ192aWRlb19wb2ludHM7Ci0gX191MTYgbGZiX3dpZHRoOwotIF9fdTE2IGxmYl9oZWlnaHQ7Ci0gX191MTYgbGZiX2RlcHRoOworICBfX3UxNiBvcmlnX3ZpZGVvX3BvaW50czsKKyAgX191MTYgbGZiX3dpZHRoOworICBfX3UxNiBsZmJfaGVpZ2h0OworICBfX3UxNiBsZmJfZGVwdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGxmYl9iYXNlOwotIF9fdTMyIGxmYl9zaXplOwotIF9fdTE2IGNsX21hZ2ljLCBjbF9vZmZzZXQ7Ci0gX191MTYgbGZiX2xpbmVsZW5ndGg7CisgIF9fdTMyIGxmYl9iYXNlOworICBfX3UzMiBsZmJfc2l6ZTsKKyAgX191MTYgY2xfbWFnaWMsIGNsX29mZnNldDsKKyAgX191MTYgbGZiX2xpbmVsZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmVkX3NpemU7Ci0gX191OCByZWRfcG9zOwotIF9fdTggZ3JlZW5fc2l6ZTsKLSBfX3U4IGdyZWVuX3BvczsKKyAgX191OCByZWRfc2l6ZTsKKyAgX191OCByZWRfcG9zOworICBfX3U4IGdyZWVuX3NpemU7CisgIF9fdTggZ3JlZW5fcG9zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJsdWVfc2l6ZTsKLSBfX3U4IGJsdWVfcG9zOwotIF9fdTggcnN2ZF9zaXplOwotIF9fdTggcnN2ZF9wb3M7CisgIF9fdTggYmx1ZV9zaXplOworICBfX3U4IGJsdWVfcG9zOworICBfX3U4IHJzdmRfc2l6ZTsKKyAgX191OCByc3ZkX3BvczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgdmVzYXBtX3NlZzsKLSBfX3UxNiB2ZXNhcG1fb2ZmOwotIF9fdTE2IHBhZ2VzOwotIF9fdTE2IHZlc2FfYXR0cmlidXRlczsKKyAgX191MTYgdmVzYXBtX3NlZzsKKyAgX191MTYgdmVzYXBtX29mZjsKKyAgX191MTYgcGFnZXM7CisgIF9fdTE2IHZlc2FfYXR0cmlidXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY2FwYWJpbGl0aWVzOwotIF9fdTggX3Jlc2VydmVkWzZdOworICBfX3UzMiBjYXBhYmlsaXRpZXM7CisgIF9fdTggX3Jlc2VydmVkWzZdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVklERU9fVFlQRV9NREEgMHgxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2N0cC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zY3RwLmgKaW5kZXggZmU3YzM3Ni4uMjllNGI5ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zY3RwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zY3RwLmgKQEAgLTY0LDQ2MyArNjQsNTExIEBACiAjZGVmaW5lIFNDVFBfR0VUX0FTU09DX0lEX0xJU1QgMjkKICNkZWZpbmUgU0NUUF9BVVRPX0FTQ09ORiAzMAogI2RlZmluZSBTQ1RQX1BFRVJfQUREUl9USExEUyAzMQotI2RlZmluZSBTQ1RQX1NPQ0tPUFRfQklORFhfQUREIDEwMAorI2RlZmluZSBTQ1RQX1JFQ1ZSQ1ZJTkZPIDMyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTQ1RQX1JFQ1ZOWFRJTkZPIDMzCisjZGVmaW5lIFNDVFBfREVGQVVMVF9TTkRJTkZPIDM0CisjZGVmaW5lIFNDVFBfU09DS09QVF9CSU5EWF9BREQgMTAwCiAjZGVmaW5lIFNDVFBfU09DS09QVF9CSU5EWF9SRU0gMTAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTQ1RQX1NPQ0tPUFRfUEVFTE9GRiAxMDIKICNkZWZpbmUgU0NUUF9TT0NLT1BUX0NPTk5FQ1RYX09MRCAxMDcKICNkZWZpbmUgU0NUUF9HRVRfUEVFUl9BRERSUyAxMDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNDVFBfR0VUX0xPQ0FMX0FERFJTIDEwOQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0NUUF9TT0NLT1BUX0NPTk5FQ1RYIDExMAogI2RlZmluZSBTQ1RQX1NPQ0tPUFRfQ09OTkVDVFgzIDExMQogI2RlZmluZSBTQ1RQX0dFVF9BU1NPQ19TVEFUUyAxMTIKK2VudW0gc2N0cF9tc2dfZmxhZ3MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTVNHX05PVElGSUNBVElPTiA9IDB4ODAwMCwKKyNkZWZpbmUgTVNHX05PVElGSUNBVElPTiBNU0dfTk9USUZJQ0FUSU9OCit9Owogc3RydWN0IHNjdHBfaW5pdG1zZyB7Ci0gX191MTYgc2luaXRfbnVtX29zdHJlYW1zOwotIF9fdTE2IHNpbml0X21heF9pbnN0cmVhbXM7Ci0gX191MTYgc2luaXRfbWF4X2F0dGVtcHRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzaW5pdF9tYXhfaW5pdF90aW1lbzsKKyAgX191MTYgc2luaXRfbnVtX29zdHJlYW1zOworICBfX3UxNiBzaW5pdF9tYXhfaW5zdHJlYW1zOworICBfX3UxNiBzaW5pdF9tYXhfYXR0ZW1wdHM7CisgIF9fdTE2IHNpbml0X21heF9pbml0X3RpbWVvOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc2N0cF9zbmRyY3ZpbmZvIHsKLSBfX3UxNiBzaW5mb19zdHJlYW07CisgIF9fdTE2IHNpbmZvX3N0cmVhbTsKKyAgX191MTYgc2luZm9fc3NuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzaW5mb19zc247Ci0gX191MTYgc2luZm9fZmxhZ3M7Ci0gX191MzIgc2luZm9fcHBpZDsKLSBfX3UzMiBzaW5mb19jb250ZXh0OworICBfX3UxNiBzaW5mb19mbGFnczsKKyAgX191MzIgc2luZm9fcHBpZDsKKyAgX191MzIgc2luZm9fY29udGV4dDsKKyAgX191MzIgc2luZm9fdGltZXRvbGl2ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2luZm9fdGltZXRvbGl2ZTsKLSBfX3UzMiBzaW5mb190c247Ci0gX191MzIgc2luZm9fY3VtdHNuOwotIHNjdHBfYXNzb2NfdCBzaW5mb19hc3NvY19pZDsKKyAgX191MzIgc2luZm9fdHNuOworICBfX3UzMiBzaW5mb19jdW10c247CisgIHNjdHBfYXNzb2NfdCBzaW5mb19hc3NvY19pZDsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHNjdHBfc25kaW5mbyB7CisgIF9fdTE2IHNuZF9zaWQ7CisgIF9fdTE2IHNuZF9mbGFnczsKKyAgX191MzIgc25kX3BwaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBzbmRfY29udGV4dDsKKyAgc2N0cF9hc3NvY190IHNuZF9hc3NvY19pZDsKK307CitzdHJ1Y3Qgc2N0cF9yY3ZpbmZvIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHJjdl9zaWQ7CisgIF9fdTE2IHJjdl9zc247CisgIF9fdTE2IHJjdl9mbGFnczsKKyAgX191MzIgcmN2X3BwaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiByY3ZfdHNuOworICBfX3UzMiByY3ZfY3VtdHNuOworICBfX3UzMiByY3ZfY29udGV4dDsKKyAgc2N0cF9hc3NvY190IHJjdl9hc3NvY19pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotZW51bSBzY3RwX3NpbmZvX2ZsYWdzIHsKLSBTQ1RQX1VOT1JERVJFRCA9IDEsCi0gU0NUUF9BRERSX09WRVIgPSAyLAorc3RydWN0IHNjdHBfbnh0aW5mbyB7CisgIF9fdTE2IG54dF9zaWQ7CisgIF9fdTE2IG54dF9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9BQk9SVD00LAotIFNDVFBfU0FDS19JTU1FRElBVEVMWSA9IDgsCi0gU0NUUF9FT0Y9TVNHX0ZJTiwKKyAgX191MzIgbnh0X3BwaWQ7CisgIF9fdTMyIG54dF9sZW5ndGg7CisgIHNjdHBfYXNzb2NfdCBueHRfYXNzb2NfaWQ7Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gc2N0cF9zaW5mb19mbGFncyB7CisgIFNDVFBfVU5PUkRFUkVEID0gKDEgPDwgMCksCisgIFNDVFBfQUREUl9PVkVSID0gKDEgPDwgMSksCisgIFNDVFBfQUJPUlQgPSAoMSA8PCAyKSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNDVFBfU0FDS19JTU1FRElBVEVMWSA9ICgxIDw8IDMpLAorICBTQ1RQX05PVElGSUNBVElPTiA9IE1TR19OT1RJRklDQVRJT04sCisgIFNDVFBfRU9GID0gTVNHX0ZJTiwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiB1bmlvbiB7Ci0gX191OCByYXc7Ci0gc3RydWN0IHNjdHBfaW5pdG1zZyBpbml0OwotIHN0cnVjdCBzY3RwX3NuZHJjdmluZm8gc25kcmN2OworICBfX3U4IHJhdzsKKyAgc3RydWN0IHNjdHBfaW5pdG1zZyBpbml0OworICBzdHJ1Y3Qgc2N0cF9zbmRyY3ZpbmZvIHNuZHJjdjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IHNjdHBfY21zZ19kYXRhX3Q7CiB0eXBlZGVmIGVudW0gc2N0cF9jbXNnX3R5cGUgewotIFNDVFBfSU5JVCwKKyAgU0NUUF9JTklULAogI2RlZmluZSBTQ1RQX0lOSVQgU0NUUF9JTklUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNDVFBfU05EUkNWLAorICBTQ1RQX1NORFJDViwKICNkZWZpbmUgU0NUUF9TTkRSQ1YgU0NUUF9TTkRSQ1YKKyAgU0NUUF9TTkRJTkZPLAorI2RlZmluZSBTQ1RQX1NORElORk8gU0NUUF9TTkRJTkZPCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX1JDVklORk8sCisjZGVmaW5lIFNDVFBfUkNWSU5GTyBTQ1RQX1JDVklORk8KKyAgU0NUUF9OWFRJTkZPLAorI2RlZmluZSBTQ1RQX05YVElORk8gU0NUUF9OWFRJTkZPCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBzY3RwX2Ntc2dfdDsKIHN0cnVjdCBzY3RwX2Fzc29jX2NoYW5nZSB7CisgIF9fdTE2IHNhY190eXBlOworICBfX3UxNiBzYWNfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNhY190eXBlOwotIF9fdTE2IHNhY19mbGFnczsKLSBfX3UzMiBzYWNfbGVuZ3RoOwotIF9fdTE2IHNhY19zdGF0ZTsKKyAgX191MzIgc2FjX2xlbmd0aDsKKyAgX191MTYgc2FjX3N0YXRlOworICBfX3UxNiBzYWNfZXJyb3I7CisgIF9fdTE2IHNhY19vdXRib3VuZF9zdHJlYW1zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzYWNfZXJyb3I7Ci0gX191MTYgc2FjX291dGJvdW5kX3N0cmVhbXM7Ci0gX191MTYgc2FjX2luYm91bmRfc3RyZWFtczsKLSBzY3RwX2Fzc29jX3Qgc2FjX2Fzc29jX2lkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNhY19pbmZvWzBdOworICBfX3UxNiBzYWNfaW5ib3VuZF9zdHJlYW1zOworICBzY3RwX2Fzc29jX3Qgc2FjX2Fzc29jX2lkOworICBfX3U4IHNhY19pbmZvWzBdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHNjdHBfc2FjX3N0YXRlIHsKLSBTQ1RQX0NPTU1fVVAsCisgIFNDVFBfQ09NTV9VUCwKKyAgU0NUUF9DT01NX0xPU1QsCisgIFNDVFBfUkVTVEFSVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9DT01NX0xPU1QsCi0gU0NUUF9SRVNUQVJULAotIFNDVFBfU0hVVERPV05fQ09NUCwKLSBTQ1RQX0NBTlRfU1RSX0FTU09DLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU0NUUF9TSFVURE9XTl9DT01QLAorICBTQ1RQX0NBTlRfU1RSX0FTU09DLAogfTsKIHN0cnVjdCBzY3RwX3BhZGRyX2NoYW5nZSB7Ci0gX191MTYgc3BjX3R5cGU7Ci0gX191MTYgc3BjX2ZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcGNfbGVuZ3RoOwotIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNwY19hYWRkcjsKLSBpbnQgc3BjX3N0YXRlOwotIGludCBzcGNfZXJyb3I7CisgIF9fdTE2IHNwY190eXBlOworICBfX3UxNiBzcGNfZmxhZ3M7CisgIF9fdTMyIHNwY19sZW5ndGg7CisgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNwY19hYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2N0cF9hc3NvY190IHNwY19hc3NvY19pZDsKKyAgaW50IHNwY19zdGF0ZTsKKyAgaW50IHNwY19lcnJvcjsKKyAgc2N0cF9hc3NvY190IHNwY19hc3NvY19pZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBzY3RwX3NwY19zdGF0ZSB7Ci0gU0NUUF9BRERSX0FWQUlMQUJMRSwKKyAgU0NUUF9BRERSX0FWQUlMQUJMRSwKKyAgU0NUUF9BRERSX1VOUkVBQ0hBQkxFLAorICBTQ1RQX0FERFJfUkVNT1ZFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9BRERSX1VOUkVBQ0hBQkxFLAotIFNDVFBfQUREUl9SRU1PVkVELAotIFNDVFBfQUREUl9BRERFRCwKLSBTQ1RQX0FERFJfTUFERV9QUklNLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTQ1RQX0FERFJfQ09ORklSTUVELAorICBTQ1RQX0FERFJfQURERUQsCisgIFNDVFBfQUREUl9NQURFX1BSSU0sCisgIFNDVFBfQUREUl9DT05GSVJNRUQsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzY3RwX3JlbW90ZV9lcnJvciB7Ci0gX191MTYgc3JlX3R5cGU7CisgIF9fdTE2IHNyZV90eXBlOworICBfX3UxNiBzcmVfZmxhZ3M7CisgIF9fdTMyIHNyZV9sZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNyZV9mbGFnczsKLSBfX3UzMiBzcmVfbGVuZ3RoOwotIF9fdTE2IHNyZV9lcnJvcjsKLSBzY3RwX2Fzc29jX3Qgc3JlX2Fzc29jX2lkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNyZV9kYXRhWzBdOworICBfX3UxNiBzcmVfZXJyb3I7CisgIHNjdHBfYXNzb2NfdCBzcmVfYXNzb2NfaWQ7CisgIF9fdTggc3JlX2RhdGFbMF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzY3RwX3NlbmRfZmFpbGVkIHsKLSBfX3UxNiBzc2ZfdHlwZTsKKyAgX191MTYgc3NmX3R5cGU7CisgIF9fdTE2IHNzZl9mbGFnczsKKyAgX191MzIgc3NmX2xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc3NmX2ZsYWdzOwotIF9fdTMyIHNzZl9sZW5ndGg7Ci0gX191MzIgc3NmX2Vycm9yOwotIHN0cnVjdCBzY3RwX3NuZHJjdmluZm8gc3NmX2luZm87CisgIF9fdTMyIHNzZl9lcnJvcjsKKyAgc3RydWN0IHNjdHBfc25kcmN2aW5mbyBzc2ZfaW5mbzsKKyAgc2N0cF9hc3NvY190IHNzZl9hc3NvY19pZDsKKyAgX191OCBzc2ZfZGF0YVswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2N0cF9hc3NvY190IHNzZl9hc3NvY19pZDsKLSBfX3U4IHNzZl9kYXRhWzBdOwogfTsKIGVudW0gc2N0cF9zc2ZfZmxhZ3MgeworICBTQ1RQX0RBVEFfVU5TRU5ULAorICBTQ1RQX0RBVEFfU0VOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9EQVRBX1VOU0VOVCwKLSBTQ1RQX0RBVEFfU0VOVCwKIH07CiBzdHJ1Y3Qgc2N0cF9zaHV0ZG93bl9ldmVudCB7CisgIF9fdTE2IHNzZV90eXBlOworICBfX3UxNiBzc2VfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNzZV90eXBlOwotIF9fdTE2IHNzZV9mbGFnczsKLSBfX3UzMiBzc2VfbGVuZ3RoOwotIHNjdHBfYXNzb2NfdCBzc2VfYXNzb2NfaWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBzc2VfbGVuZ3RoOworICBzY3RwX2Fzc29jX3Qgc3NlX2Fzc29jX2lkOwogfTsKIHN0cnVjdCBzY3RwX2FkYXB0YXRpb25fZXZlbnQgewotIF9fdTE2IHNhaV90eXBlOwotIF9fdTE2IHNhaV9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2FpX2xlbmd0aDsKLSBfX3UzMiBzYWlfYWRhcHRhdGlvbl9pbmQ7Ci0gc2N0cF9hc3NvY190IHNhaV9hc3NvY19pZDsKKyAgX191MTYgc2FpX3R5cGU7CisgIF9fdTE2IHNhaV9mbGFnczsKKyAgX191MzIgc2FpX2xlbmd0aDsKKyAgX191MzIgc2FpX2FkYXB0YXRpb25faW5kOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc2N0cF9hc3NvY190IHNhaV9hc3NvY19pZDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNjdHBfcGRhcGlfZXZlbnQgewotIF9fdTE2IHBkYXBpX3R5cGU7Ci0gX191MTYgcGRhcGlfZmxhZ3M7Ci0gX191MzIgcGRhcGlfbGVuZ3RoOworICBfX3UxNiBwZGFwaV90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwZGFwaV9pbmRpY2F0aW9uOwotIHNjdHBfYXNzb2NfdCBwZGFwaV9hc3NvY19pZDsKLX07Ci1lbnVtIHsgU0NUUF9QQVJUSUFMX0RFTElWRVJZX0FCT1JURUQ9MCwgfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3Qgc2N0cF9hdXRoa2V5X2V2ZW50IHsKLSBfX3UxNiBhdXRoX3R5cGU7Ci0gX191MTYgYXV0aF9mbGFnczsKLSBfX3UzMiBhdXRoX2xlbmd0aDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgYXV0aF9rZXludW1iZXI7Ci0gX191MTYgYXV0aF9hbHRrZXludW1iZXI7Ci0gX191MzIgYXV0aF9pbmRpY2F0aW9uOwotIHNjdHBfYXNzb2NfdCBhdXRoX2Fzc29jX2lkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX07Ci1lbnVtIHsgU0NUUF9BVVRIX05FV0tFWSA9IDAsIH07Ci1zdHJ1Y3Qgc2N0cF9zZW5kZXJfZHJ5X2V2ZW50IHsKLSBfX3UxNiBzZW5kZXJfZHJ5X3R5cGU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNlbmRlcl9kcnlfZmxhZ3M7Ci0gX191MzIgc2VuZGVyX2RyeV9sZW5ndGg7Ci0gc2N0cF9hc3NvY190IHNlbmRlcl9kcnlfYXNzb2NfaWQ7Ci19OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBzY3RwX2V2ZW50X3N1YnNjcmliZSB7Ci0gX191OCBzY3RwX2RhdGFfaW9fZXZlbnQ7Ci0gX191OCBzY3RwX2Fzc29jaWF0aW9uX2V2ZW50OwotIF9fdTggc2N0cF9hZGRyZXNzX2V2ZW50OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNjdHBfc2VuZF9mYWlsdXJlX2V2ZW50OwotIF9fdTggc2N0cF9wZWVyX2Vycm9yX2V2ZW50OwotIF9fdTggc2N0cF9zaHV0ZG93bl9ldmVudDsKLSBfX3U4IHNjdHBfcGFydGlhbF9kZWxpdmVyeV9ldmVudDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzY3RwX2FkYXB0YXRpb25fbGF5ZXJfZXZlbnQ7Ci0gX191OCBzY3RwX2F1dGhlbnRpY2F0aW9uX2V2ZW50OwotIF9fdTggc2N0cF9zZW5kZXJfZHJ5X2V2ZW50OwotfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi11bmlvbiBzY3RwX25vdGlmaWNhdGlvbiB7Ci0gc3RydWN0IHsKLSBfX3UxNiBzbl90eXBlOwotIF9fdTE2IHNuX2ZsYWdzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzbl9sZW5ndGg7Ci0gfSBzbl9oZWFkZXI7Ci0gc3RydWN0IHNjdHBfYXNzb2NfY2hhbmdlIHNuX2Fzc29jX2NoYW5nZTsKLSBzdHJ1Y3Qgc2N0cF9wYWRkcl9jaGFuZ2Ugc25fcGFkZHJfY2hhbmdlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc2N0cF9yZW1vdGVfZXJyb3Igc25fcmVtb3RlX2Vycm9yOwotIHN0cnVjdCBzY3RwX3NlbmRfZmFpbGVkIHNuX3NlbmRfZmFpbGVkOwotIHN0cnVjdCBzY3RwX3NodXRkb3duX2V2ZW50IHNuX3NodXRkb3duX2V2ZW50OwotIHN0cnVjdCBzY3RwX2FkYXB0YXRpb25fZXZlbnQgc25fYWRhcHRhdGlvbl9ldmVudDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNjdHBfcGRhcGlfZXZlbnQgc25fcGRhcGlfZXZlbnQ7Ci0gc3RydWN0IHNjdHBfYXV0aGtleV9ldmVudCBzbl9hdXRoa2V5X2V2ZW50OwotIHN0cnVjdCBzY3RwX3NlbmRlcl9kcnlfZXZlbnQgc25fc2VuZGVyX2RyeV9ldmVudDsKLX07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotZW51bSBzY3RwX3NuX3R5cGUgewotIFNDVFBfU05fVFlQRV9CQVNFID0gKDE8PDE1KSwKLSBTQ1RQX0FTU09DX0NIQU5HRSwKLSNkZWZpbmUgU0NUUF9BU1NPQ19DSEFOR0UgU0NUUF9BU1NPQ19DSEFOR0UKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9QRUVSX0FERFJfQ0hBTkdFLAotI2RlZmluZSBTQ1RQX1BFRVJfQUREUl9DSEFOR0UgU0NUUF9QRUVSX0FERFJfQ0hBTkdFCi0gU0NUUF9TRU5EX0ZBSUxFRCwKLSNkZWZpbmUgU0NUUF9TRU5EX0ZBSUxFRCBTQ1RQX1NFTkRfRkFJTEVECi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNDVFBfUkVNT1RFX0VSUk9SLAotI2RlZmluZSBTQ1RQX1JFTU9URV9FUlJPUiBTQ1RQX1JFTU9URV9FUlJPUgotIFNDVFBfU0hVVERPV05fRVZFTlQsCi0jZGVmaW5lIFNDVFBfU0hVVERPV05fRVZFTlQgU0NUUF9TSFVURE9XTl9FVkVOVAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTQ1RQX1BBUlRJQUxfREVMSVZFUllfRVZFTlQsCi0jZGVmaW5lIFNDVFBfUEFSVElBTF9ERUxJVkVSWV9FVkVOVCBTQ1RQX1BBUlRJQUxfREVMSVZFUllfRVZFTlQKLSBTQ1RQX0FEQVBUQVRJT05fSU5ESUNBVElPTiwKLSNkZWZpbmUgU0NUUF9BREFQVEFUSU9OX0lORElDQVRJT04gU0NUUF9BREFQVEFUSU9OX0lORElDQVRJT04KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9BVVRIRU5USUNBVElPTl9FVkVOVCwKLSNkZWZpbmUgU0NUUF9BVVRIRU5USUNBVElPTl9JTkRJQ0FUSU9OIFNDVFBfQVVUSEVOVElDQVRJT05fRVZFTlQKLSBTQ1RQX1NFTkRFUl9EUllfRVZFTlQsCi0jZGVmaW5lIFNDVFBfU0VOREVSX0RSWV9FVkVOVCBTQ1RQX1NFTkRFUl9EUllfRVZFTlQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OwotdHlwZWRlZiBlbnVtIHNjdHBfc25fZXJyb3IgewotIFNDVFBfRkFJTEVEX1RIUkVTSE9MRCwKLSBTQ1RQX1JFQ0VJVkVEX1NBQ0ssCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNDVFBfSEVBUlRCRUFUX1NVQ0NFU1MsCi0gU0NUUF9SRVNQT05TRV9UT19VU0VSX1JFUSwKLSBTQ1RQX0lOVEVSTkFMX0VSUk9SLAotIFNDVFBfU0hVVERPV05fR1VBUkRfRVhQSVJFUywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9QRUVSX0ZBVUxUWSwKLX0gc2N0cF9zbl9lcnJvcl90Owotc3RydWN0IHNjdHBfcnRvaW5mbyB7Ci0gc2N0cF9hc3NvY190IHNydG9fYXNzb2NfaWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNydG9faW5pdGlhbDsKLSBfX3UzMiBzcnRvX21heDsKLSBfX3UzMiBzcnRvX21pbjsKLX07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotc3RydWN0IHNjdHBfYXNzb2NwYXJhbXMgewotIHNjdHBfYXNzb2NfdCBzYXNvY19hc3NvY19pZDsKLSBfX3UxNiBzYXNvY19hc29jbWF4cnh0OwotIF9fdTE2IHNhc29jX251bWJlcl9wZWVyX2Rlc3RpbmF0aW9uczsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2Fzb2NfcGVlcl9yd25kOwotIF9fdTMyIHNhc29jX2xvY2FsX3J3bmQ7Ci0gX191MzIgc2Fzb2NfY29va2llX2xpZmU7Ci19OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBzY3RwX3NldHBlZXJwcmltIHsKLSBzY3RwX2Fzc29jX3Qgc3NwcF9hc3NvY19pZDsKLSBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzc3BwX2FkZHI7Ci19IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBzY3RwX3ByaW0gewotIHNjdHBfYXNzb2NfdCBzc3BfYXNzb2NfaWQ7Ci0gc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3NwX2FkZHI7Ci19IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgc2N0cF9zZXRwcmltIHNjdHBfcHJpbQotc3RydWN0IHNjdHBfc2V0YWRhcHRhdGlvbiB7Ci0gX191MzIgc3NiX2FkYXB0YXRpb25faW5kOwotfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1lbnVtIHNjdHBfc3BwX2ZsYWdzIHsKLSBTUFBfSEJfRU5BQkxFID0gMTw8MCwKLSBTUFBfSEJfRElTQUJMRSA9IDE8PDEsCi0gU1BQX0hCID0gU1BQX0hCX0VOQUJMRSB8IFNQUF9IQl9ESVNBQkxFLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTUFBfSEJfREVNQU5EID0gMTw8MiwKLSBTUFBfUE1UVURfRU5BQkxFID0gMTw8MywKLSBTUFBfUE1UVURfRElTQUJMRSA9IDE8PDQsCi0gU1BQX1BNVFVEID0gU1BQX1BNVFVEX0VOQUJMRSB8IFNQUF9QTVRVRF9ESVNBQkxFLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTUFBfU0FDS0RFTEFZX0VOQUJMRSA9IDE8PDUsCi0gU1BQX1NBQ0tERUxBWV9ESVNBQkxFID0gMTw8NiwKLSBTUFBfU0FDS0RFTEFZID0gU1BQX1NBQ0tERUxBWV9FTkFCTEUgfCBTUFBfU0FDS0RFTEFZX0RJU0FCTEUsCi0gU1BQX0hCX1RJTUVfSVNfWkVSTyA9IDE8PDcsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKLXN0cnVjdCBzY3RwX3BhZGRycGFyYW1zIHsKLSBzY3RwX2Fzc29jX3Qgc3BwX2Fzc29jX2lkOwotIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNwcF9hZGRyZXNzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcHBfaGJpbnRlcnZhbDsKLSBfX3UxNiBzcHBfcGF0aG1heHJ4dDsKLSBfX3UzMiBzcHBfcGF0aG10dTsKLSBfX3UzMiBzcHBfc2Fja2RlbGF5OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcHBfZmxhZ3M7Ci19IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwotc3RydWN0IHNjdHBfYXV0aGNodW5rIHsKLSBfX3U4IHNhdXRoX2NodW5rOworICBfX3UxNiBwZGFwaV9mbGFnczsKKyAgX191MzIgcGRhcGlfbGVuZ3RoOworICBfX3UzMiBwZGFwaV9pbmRpY2F0aW9uOworICBzY3RwX2Fzc29jX3QgcGRhcGlfYXNzb2NfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFNDVFBfQVVUSF9ITUFDX0lEX1NIQTEgPSAxLAotIFNDVFBfQVVUSF9ITUFDX0lEX1NIQTI1NiA9IDMsCisgIFNDVFBfUEFSVElBTF9ERUxJVkVSWV9BQk9SVEVEID0gMCwKK307CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHNjdHBfYXV0aGtleV9ldmVudCB7CisgIF9fdTE2IGF1dGhfdHlwZTsKKyAgX191MTYgYXV0aF9mbGFnczsKKyAgX191MzIgYXV0aF9sZW5ndGg7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBhdXRoX2tleW51bWJlcjsKKyAgX191MTYgYXV0aF9hbHRrZXludW1iZXI7CisgIF9fdTMyIGF1dGhfaW5kaWNhdGlvbjsKKyAgc2N0cF9hc3NvY190IGF1dGhfYXNzb2NfaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0geworICBTQ1RQX0FVVEhfTkVXS0VZID0gMCwKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHNjdHBfc2VuZGVyX2RyeV9ldmVudCB7CisgIF9fdTE2IHNlbmRlcl9kcnlfdHlwZTsKKyAgX191MTYgc2VuZGVyX2RyeV9mbGFnczsKKyAgX191MzIgc2VuZGVyX2RyeV9sZW5ndGg7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzY3RwX2Fzc29jX3Qgc2VuZGVyX2RyeV9hc3NvY19pZDsKK307CitzdHJ1Y3Qgc2N0cF9ldmVudF9zdWJzY3JpYmUgeworICBfX3U4IHNjdHBfZGF0YV9pb19ldmVudDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggc2N0cF9hc3NvY2lhdGlvbl9ldmVudDsKKyAgX191OCBzY3RwX2FkZHJlc3NfZXZlbnQ7CisgIF9fdTggc2N0cF9zZW5kX2ZhaWx1cmVfZXZlbnQ7CisgIF9fdTggc2N0cF9wZWVyX2Vycm9yX2V2ZW50OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBzY3RwX3NodXRkb3duX2V2ZW50OworICBfX3U4IHNjdHBfcGFydGlhbF9kZWxpdmVyeV9ldmVudDsKKyAgX191OCBzY3RwX2FkYXB0YXRpb25fbGF5ZXJfZXZlbnQ7CisgIF9fdTggc2N0cF9hdXRoZW50aWNhdGlvbl9ldmVudDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggc2N0cF9zZW5kZXJfZHJ5X2V2ZW50OworfTsKK3VuaW9uIHNjdHBfbm90aWZpY2F0aW9uIHsKKyAgc3RydWN0IHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgX191MTYgc25fdHlwZTsKKyAgICBfX3UxNiBzbl9mbGFnczsKKyAgICBfX3UzMiBzbl9sZW5ndGg7CisgIH0gc25faGVhZGVyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IHNjdHBfYXNzb2NfY2hhbmdlIHNuX2Fzc29jX2NoYW5nZTsKKyAgc3RydWN0IHNjdHBfcGFkZHJfY2hhbmdlIHNuX3BhZGRyX2NoYW5nZTsKKyAgc3RydWN0IHNjdHBfcmVtb3RlX2Vycm9yIHNuX3JlbW90ZV9lcnJvcjsKKyAgc3RydWN0IHNjdHBfc2VuZF9mYWlsZWQgc25fc2VuZF9mYWlsZWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3Qgc2N0cF9zaHV0ZG93bl9ldmVudCBzbl9zaHV0ZG93bl9ldmVudDsKKyAgc3RydWN0IHNjdHBfYWRhcHRhdGlvbl9ldmVudCBzbl9hZGFwdGF0aW9uX2V2ZW50OworICBzdHJ1Y3Qgc2N0cF9wZGFwaV9ldmVudCBzbl9wZGFwaV9ldmVudDsKKyAgc3RydWN0IHNjdHBfYXV0aGtleV9ldmVudCBzbl9hdXRoa2V5X2V2ZW50OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IHNjdHBfc2VuZGVyX2RyeV9ldmVudCBzbl9zZW5kZXJfZHJ5X2V2ZW50OworfTsKK2VudW0gc2N0cF9zbl90eXBlIHsKKyAgU0NUUF9TTl9UWVBFX0JBU0UgPSAoMSA8PCAxNSksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX0FTU09DX0NIQU5HRSwKKyNkZWZpbmUgU0NUUF9BU1NPQ19DSEFOR0UgU0NUUF9BU1NPQ19DSEFOR0UKKyAgU0NUUF9QRUVSX0FERFJfQ0hBTkdFLAorI2RlZmluZSBTQ1RQX1BFRVJfQUREUl9DSEFOR0UgU0NUUF9QRUVSX0FERFJfQ0hBTkdFCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX1NFTkRfRkFJTEVELAorI2RlZmluZSBTQ1RQX1NFTkRfRkFJTEVEIFNDVFBfU0VORF9GQUlMRUQKKyAgU0NUUF9SRU1PVEVfRVJST1IsCisjZGVmaW5lIFNDVFBfUkVNT1RFX0VSUk9SIFNDVFBfUkVNT1RFX0VSUk9SCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX1NIVVRET1dOX0VWRU5ULAorI2RlZmluZSBTQ1RQX1NIVVRET1dOX0VWRU5UIFNDVFBfU0hVVERPV05fRVZFTlQKKyAgU0NUUF9QQVJUSUFMX0RFTElWRVJZX0VWRU5ULAorI2RlZmluZSBTQ1RQX1BBUlRJQUxfREVMSVZFUllfRVZFTlQgU0NUUF9QQVJUSUFMX0RFTElWRVJZX0VWRU5UCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX0FEQVBUQVRJT05fSU5ESUNBVElPTiwKKyNkZWZpbmUgU0NUUF9BREFQVEFUSU9OX0lORElDQVRJT04gU0NUUF9BREFQVEFUSU9OX0lORElDQVRJT04KKyAgU0NUUF9BVVRIRU5USUNBVElPTl9FVkVOVCwKKyNkZWZpbmUgU0NUUF9BVVRIRU5USUNBVElPTl9JTkRJQ0FUSU9OIFNDVFBfQVVUSEVOVElDQVRJT05fRVZFTlQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNDVFBfU0VOREVSX0RSWV9FVkVOVCwKKyNkZWZpbmUgU0NUUF9TRU5ERVJfRFJZX0VWRU5UIFNDVFBfU0VOREVSX0RSWV9FVkVOVAorfTsKK3R5cGVkZWYgZW51bSBzY3RwX3NuX2Vycm9yIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNDVFBfRkFJTEVEX1RIUkVTSE9MRCwKKyAgU0NUUF9SRUNFSVZFRF9TQUNLLAorICBTQ1RQX0hFQVJUQkVBVF9TVUNDRVNTLAorICBTQ1RQX1JFU1BPTlNFX1RPX1VTRVJfUkVRLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU0NUUF9JTlRFUk5BTF9FUlJPUiwKKyAgU0NUUF9TSFVURE9XTl9HVUFSRF9FWFBJUkVTLAorICBTQ1RQX1BFRVJfRkFVTFRZLAorfSBzY3RwX3NuX2Vycm9yX3Q7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHNjdHBfcnRvaW5mbyB7CisgIHNjdHBfYXNzb2NfdCBzcnRvX2Fzc29jX2lkOworICBfX3UzMiBzcnRvX2luaXRpYWw7CisgIF9fdTMyIHNydG9fbWF4OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgc3J0b19taW47Cit9Oworc3RydWN0IHNjdHBfYXNzb2NwYXJhbXMgeworICBzY3RwX2Fzc29jX3Qgc2Fzb2NfYXNzb2NfaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBzYXNvY19hc29jbWF4cnh0OworICBfX3UxNiBzYXNvY19udW1iZXJfcGVlcl9kZXN0aW5hdGlvbnM7CisgIF9fdTMyIHNhc29jX3BlZXJfcnduZDsKKyAgX191MzIgc2Fzb2NfbG9jYWxfcnduZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHNhc29jX2Nvb2tpZV9saWZlOworfTsKK3N0cnVjdCBzY3RwX3NldHBlZXJwcmltIHsKKyAgc2N0cF9hc3NvY190IHNzcHBfYXNzb2NfaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzc3BwX2FkZHI7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOworc3RydWN0IHNjdHBfcHJpbSB7CisgIHNjdHBfYXNzb2NfdCBzc3BfYXNzb2NfaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzc3BfYWRkcjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CisjZGVmaW5lIHNjdHBfc2V0cHJpbSBzY3RwX3ByaW0KK3N0cnVjdCBzY3RwX3NldGFkYXB0YXRpb24geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgc3NiX2FkYXB0YXRpb25faW5kOworfTsKK2VudW0gc2N0cF9zcHBfZmxhZ3MgeworICBTUFBfSEJfRU5BQkxFID0gMSA8PCAwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU1BQX0hCX0RJU0FCTEUgPSAxIDw8IDEsCisgIFNQUF9IQiA9IFNQUF9IQl9FTkFCTEUgfCBTUFBfSEJfRElTQUJMRSwKKyAgU1BQX0hCX0RFTUFORCA9IDEgPDwgMiwKKyAgU1BQX1BNVFVEX0VOQUJMRSA9IDEgPDwgMywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNQUF9QTVRVRF9ESVNBQkxFID0gMSA8PCA0LAorICBTUFBfUE1UVUQgPSBTUFBfUE1UVURfRU5BQkxFIHwgU1BQX1BNVFVEX0RJU0FCTEUsCisgIFNQUF9TQUNLREVMQVlfRU5BQkxFID0gMSA8PCA1LAorICBTUFBfU0FDS0RFTEFZX0RJU0FCTEUgPSAxIDw8IDYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTUFBfU0FDS0RFTEFZID0gU1BQX1NBQ0tERUxBWV9FTkFCTEUgfCBTUFBfU0FDS0RFTEFZX0RJU0FCTEUsCisgIFNQUF9IQl9USU1FX0lTX1pFUk8gPSAxIDw8IDcsCit9Oworc3RydWN0IHNjdHBfcGFkZHJwYXJhbXMgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc2N0cF9hc3NvY190IHNwcF9hc3NvY19pZDsKKyAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3BwX2FkZHJlc3M7CisgIF9fdTMyIHNwcF9oYmludGVydmFsOworICBfX3UxNiBzcHBfcGF0aG1heHJ4dDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHNwcF9wYXRobXR1OworICBfX3UzMiBzcHBfc2Fja2RlbGF5OworICBfX3UzMiBzcHBfZmxhZ3M7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBzY3RwX2F1dGhjaHVuayB7CisgIF9fdTggc2F1dGhfY2h1bms7Cit9OworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX0FVVEhfSE1BQ19JRF9TSEExID0gMSwKKyAgU0NUUF9BVVRIX0hNQUNfSURfU0hBMjU2ID0gMywKIH07CiBzdHJ1Y3Qgc2N0cF9obWFjYWxnbyB7Ci0gX191MzIgc2htYWNfbnVtX2lkZW50czsKLSBfX3UxNiBzaG1hY19pZGVudHNbXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHNobWFjX251bV9pZGVudHM7CisgIF9fdTE2IHNobWFjX2lkZW50c1tdOwogfTsKICNkZWZpbmUgc2htYWNfbnVtYmVyX29mX2lkZW50cyBzaG1hY19udW1faWRlbnRzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNjdHBfYXV0aGtleSB7Ci0gc2N0cF9hc3NvY190IHNjYV9hc3NvY19pZDsKKyAgc2N0cF9hc3NvY190IHNjYV9hc3NvY19pZDsKKyAgX191MTYgc2NhX2tleW51bWJlcjsKKyAgX191MTYgc2NhX2tleWxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2NhX2tleW51bWJlcjsKLSBfX3UxNiBzY2Ffa2V5bGVuZ3RoOwotIF9fdTggc2NhX2tleVtdOworICBfX3U4IHNjYV9rZXlbXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNjdHBfYXV0aGtleWlkIHsKLSBzY3RwX2Fzc29jX3Qgc2NhY3RfYXNzb2NfaWQ7Ci0gX191MTYgc2NhY3Rfa2V5bnVtYmVyOworICBzY3RwX2Fzc29jX3Qgc2NhY3RfYXNzb2NfaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBzY2FjdF9rZXludW1iZXI7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzY3RwX3NhY2tfaW5mbyB7Ci0gc2N0cF9hc3NvY190IHNhY2tfYXNzb2NfaWQ7Ci0gdWludDMyX3Qgc2Fja19kZWxheTsKLSB1aW50MzJfdCBzYWNrX2ZyZXE7CisgIHNjdHBfYXNzb2NfdCBzYWNrX2Fzc29jX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdWludDMyX3Qgc2Fja19kZWxheTsKKyAgdWludDMyX3Qgc2Fja19mcmVxOwogfTsKIHN0cnVjdCBzY3RwX2Fzc29jX3ZhbHVlIHsKLSBzY3RwX2Fzc29jX3QgYXNzb2NfaWQ7Ci0gdWludDMyX3QgYXNzb2NfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzY3RwX2Fzc29jX3QgYXNzb2NfaWQ7CisgIHVpbnQzMl90IGFzc29jX3ZhbHVlOwogfTsKIHN0cnVjdCBzY3RwX3BhZGRyaW5mbyB7Ci0gc2N0cF9hc3NvY190IHNwaW5mb19hc3NvY19pZDsKLSBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzcGluZm9fYWRkcmVzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgc3BpbmZvX3N0YXRlOwotIF9fdTMyIHNwaW5mb19jd25kOwotIF9fdTMyIHNwaW5mb19zcnR0OwotIF9fdTMyIHNwaW5mb19ydG87CisgIHNjdHBfYXNzb2NfdCBzcGluZm9fYXNzb2NfaWQ7CisgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNwaW5mb19hZGRyZXNzOworICBfX3MzMiBzcGluZm9fc3RhdGU7CisgIF9fdTMyIHNwaW5mb19jd25kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcGluZm9fbXR1OworICBfX3UzMiBzcGluZm9fc3J0dDsKKyAgX191MzIgc3BpbmZvX3J0bzsKKyAgX191MzIgc3BpbmZvX210dTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBzY3RwX3NwaW5mb19zdGF0ZSB7Ci0gU0NUUF9JTkFDVElWRSwKKyAgU0NUUF9JTkFDVElWRSwKKyAgU0NUUF9QRiwKKyAgU0NUUF9BQ1RJVkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNDVFBfUEYsCi0gU0NUUF9BQ1RJVkUsCi0gU0NUUF9VTkNPTkZJUk1FRCwKLSBTQ1RQX1VOS05PV04gPSAweGZmZmYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNDVFBfVU5DT05GSVJNRUQsCisgIFNDVFBfVU5LTk9XTiA9IDB4ZmZmZgogfTsKIHN0cnVjdCBzY3RwX3N0YXR1cyB7Ci0gc2N0cF9hc3NvY190IHNzdGF0X2Fzc29jX2lkOwotIF9fczMyIHNzdGF0X3N0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzc3RhdF9yd25kOwotIF9fdTE2IHNzdGF0X3VuYWNrZGF0YTsKLSBfX3UxNiBzc3RhdF9wZW5kZGF0YTsKLSBfX3UxNiBzc3RhdF9pbnN0cm1zOworICBzY3RwX2Fzc29jX3Qgc3N0YXRfYXNzb2NfaWQ7CisgIF9fczMyIHNzdGF0X3N0YXRlOworICBfX3UzMiBzc3RhdF9yd25kOworICBfX3UxNiBzc3RhdF91bmFja2RhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNzdGF0X291dHN0cm1zOwotIF9fdTMyIHNzdGF0X2ZyYWdtZW50YXRpb25fcG9pbnQ7Ci0gc3RydWN0IHNjdHBfcGFkZHJpbmZvIHNzdGF0X3ByaW1hcnk7CisgIF9fdTE2IHNzdGF0X3BlbmRkYXRhOworICBfX3UxNiBzc3RhdF9pbnN0cm1zOworICBfX3UxNiBzc3RhdF9vdXRzdHJtczsKKyAgX191MzIgc3N0YXRfZnJhZ21lbnRhdGlvbl9wb2ludDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBzY3RwX3BhZGRyaW5mbyBzc3RhdF9wcmltYXJ5OwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc2N0cF9hdXRoY2h1bmtzIHsKLSBzY3RwX2Fzc29jX3QgZ2F1dGhfYXNzb2NfaWQ7Ci0gX191MzIgZ2F1dGhfbnVtYmVyX29mX2NodW5rczsKLSB1aW50OF90IGdhdXRoX2NodW5rc1tdOworICBzY3RwX2Fzc29jX3QgZ2F1dGhfYXNzb2NfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBnYXV0aF9udW1iZXJfb2ZfY2h1bmtzOworICB1aW50OF90IGdhdXRoX2NodW5rc1tdOwogfTsKICNkZWZpbmUgZ3V0aF9udW1iZXJfb2ZfY2h1bmtzIGdhdXRoX251bWJlcl9vZl9jaHVua3MKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHNjdHBfc3N0YXRfc3RhdGUgewotIFNDVFBfRU1QVFkgPSAwLAorICBTQ1RQX0VNUFRZID0gMCwKKyAgU0NUUF9DTE9TRUQgPSAxLAorICBTQ1RQX0NPT0tJRV9XQUlUID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0NUUF9DTE9TRUQgPSAxLAotIFNDVFBfQ09PS0lFX1dBSVQgPSAyLAotIFNDVFBfQ09PS0lFX0VDSE9FRCA9IDMsCi0gU0NUUF9FU1RBQkxJU0hFRCA9IDQsCisgIFNDVFBfQ09PS0lFX0VDSE9FRCA9IDMsCisgIFNDVFBfRVNUQUJMSVNIRUQgPSA0LAorICBTQ1RQX1NIVVRET1dOX1BFTkRJTkcgPSA1LAorICBTQ1RQX1NIVVRET1dOX1NFTlQgPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTQ1RQX1NIVVRET1dOX1BFTkRJTkcgPSA1LAotIFNDVFBfU0hVVERPV05fU0VOVCA9IDYsCi0gU0NUUF9TSFVURE9XTl9SRUNFSVZFRCA9IDcsCi0gU0NUUF9TSFVURE9XTl9BQ0tfU0VOVCA9IDgsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTQ1RQX1NIVVRET1dOX1JFQ0VJVkVEID0gNywKKyAgU0NUUF9TSFVURE9XTl9BQ0tfU0VOVCA9IDgsCiB9Owogc3RydWN0IHNjdHBfYXNzb2NfaWRzIHsKLSBfX3UzMiBnYWlkc19udW1iZXJfb2ZfaWRzOwotIHNjdHBfYXNzb2NfdCBnYWlkc19hc3NvY19pZFtdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZ2FpZHNfbnVtYmVyX29mX2lkczsKKyAgc2N0cF9hc3NvY190IGdhaWRzX2Fzc29jX2lkW107CiB9Owogc3RydWN0IHNjdHBfZ2V0YWRkcnNfb2xkIHsKLSBzY3RwX2Fzc29jX3QgYXNzb2NfaWQ7Ci0gaW50IGFkZHJfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJzOworICBzY3RwX2Fzc29jX3QgYXNzb2NfaWQ7CisgIGludCBhZGRyX251bTsKKyAgc3RydWN0IHNvY2thZGRyICogYWRkcnM7CiB9Owotc3RydWN0IHNjdHBfZ2V0YWRkcnMgewotIHNjdHBfYXNzb2NfdCBhc3NvY19pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYWRkcl9udW07Ci0gX191OCBhZGRyc1swXTsKK3N0cnVjdCBzY3RwX2dldGFkZHJzIHsKKyAgc2N0cF9hc3NvY190IGFzc29jX2lkOworICBfX3UzMiBhZGRyX251bTsKKyAgX191OCBhZGRyc1swXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHNjdHBfYXNzb2Nfc3RhdHMgeworICBzY3RwX2Fzc29jX3Qgc2FzX2Fzc29jX2lkOworICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzYXNfb2JzX3J0b19pcGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNjdHBfYXNzb2NfdCBzYXNfYXNzb2NfaWQ7Ci0gc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc2FzX29ic19ydG9faXBhZGRyOwotIF9fdTY0IHNhc19tYXhydG87Ci0gX191NjQgc2FzX2lzYWNrczsKKyAgX191NjQgc2FzX21heHJ0bzsKKyAgX191NjQgc2FzX2lzYWNrczsKKyAgX191NjQgc2FzX29zYWNrczsKKyAgX191NjQgc2FzX29wYWNrZXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzYXNfb3NhY2tzOwotIF9fdTY0IHNhc19vcGFja2V0czsKLSBfX3U2NCBzYXNfaXBhY2tldHM7Ci0gX191NjQgc2FzX3J0eGNodW5rczsKKyAgX191NjQgc2FzX2lwYWNrZXRzOworICBfX3U2NCBzYXNfcnR4Y2h1bmtzOworICBfX3U2NCBzYXNfb3V0b2ZzZXF0c25zOworICBfX3U2NCBzYXNfaWR1cGNodW5rczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgc2FzX291dG9mc2VxdHNuczsKLSBfX3U2NCBzYXNfaWR1cGNodW5rczsKLSBfX3U2NCBzYXNfZ2FwY250OwotIF9fdTY0IHNhc19vdW9kY2h1bmtzOworICBfX3U2NCBzYXNfZ2FwY250OworICBfX3U2NCBzYXNfb3VvZGNodW5rczsKKyAgX191NjQgc2FzX2l1b2RjaHVua3M7CisgIF9fdTY0IHNhc19vb2RjaHVua3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNhc19pdW9kY2h1bmtzOwotIF9fdTY0IHNhc19vb2RjaHVua3M7Ci0gX191NjQgc2FzX2lvZGNodW5rczsKLSBfX3U2NCBzYXNfb2N0cmxjaHVua3M7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNhc19pY3RybGNodW5rczsKKyAgX191NjQgc2FzX2lvZGNodW5rczsKKyAgX191NjQgc2FzX29jdHJsY2h1bmtzOworICBfX3U2NCBzYXNfaWN0cmxjaHVua3M7CiB9OwotZW51bSBzY3RwX21zZ19mbGFncyB7Ci0gTVNHX05PVElGSUNBVElPTiA9IDB4ODAwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1TR19OT1RJRklDQVRJT04gTVNHX05PVElGSUNBVElPTgotfTsKICNkZWZpbmUgU0NUUF9CSU5EWF9BRERfQUREUiAweDAxCiAjZGVmaW5lIFNDVFBfQklORFhfUkVNX0FERFIgMHgwMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHsKLSBzY3RwX2Fzc29jX3QgYXNzb2NpZDsKLSBpbnQgc2Q7CisgIHNjdHBfYXNzb2NfdCBhc3NvY2lkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IHNkOwogfSBzY3RwX3BlZWxvZmZfYXJnX3Q7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNjdHBfcGFkZHJ0aGxkcyB7Ci0gc2N0cF9hc3NvY190IHNwdF9hc3NvY19pZDsKLSBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzcHRfYWRkcmVzczsKLSBfX3UxNiBzcHRfcGF0aG1heHJ4dDsKKyAgc2N0cF9hc3NvY190IHNwdF9hc3NvY19pZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc3B0X3BhdGhwZnRobGQ7CisgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNwdF9hZGRyZXNzOworICBfX3UxNiBzcHRfcGF0aG1heHJ4dDsKKyAgX191MTYgc3B0X3BhdGhwZnRobGQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZGxhLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NkbGEuaAppbmRleCBhZTVkMTYxLi5iZDk1N2I0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NkbGEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NkbGEuaApAQCAtMjcsNyArMjcsNyBAQAogI2RlZmluZSBTRExBX1M1MDggNTA4MAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0RMQV9TNTA5IDUwOTAKLSNkZWZpbmUgU0RMQV9VTktOT1dOIC0xCisjZGVmaW5lIFNETEFfVU5LTk9XTiAtIDEKICNkZWZpbmUgU0RMQV9TNTA4X1BPUlRfVjM1IDB4MDAKICNkZWZpbmUgU0RMQV9TNTA4X1BPUlRfUlMyMzIgMHgwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTQ4LDEwICs0OCwxMCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0RMQV9SRUFETUVNIChGUkFEX0xBU1RfSU9DVEwgKyA2KQogc3RydWN0IHNkbGFfbWVtIHsKLSBpbnQgYWRkcjsKLSBpbnQgbGVuOworICBpbnQgYWRkcjsKKyAgaW50IGxlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKmRhdGE7CisgIHZvaWQgX191c2VyICogZGF0YTsKIH07CiAjZGVmaW5lIFNETEFfU1RBUlQgKEZSQURfTEFTVF9JT0NUTCArIDcpCiAjZGVmaW5lIFNETEFfU1RPUCAoRlJBRF9MQVNUX0lPQ1RMICsgOCkKQEAgLTY4LDQyICs2OCw0MiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0RMQV9NQVhfRExDSSAyNAogc3RydWN0IHNkbGFfY29uZiB7Ci0gc2hvcnQgc3RhdGlvbjsKLSBzaG9ydCBjb25maWc7CisgIHNob3J0IHN0YXRpb247CisgIHNob3J0IGNvbmZpZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQga2JhdWQ7Ci0gc2hvcnQgY2xvY2tpbmc7Ci0gc2hvcnQgbWF4X2ZybTsKLSBzaG9ydCBUMzkxOworICBzaG9ydCBrYmF1ZDsKKyAgc2hvcnQgY2xvY2tpbmc7CisgIHNob3J0IG1heF9mcm07CisgIHNob3J0IFQzOTE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IFQzOTI7Ci0gc2hvcnQgTjM5MTsKLSBzaG9ydCBOMzkyOwotIHNob3J0IE4zOTM7CisgIHNob3J0IFQzOTI7CisgIHNob3J0IE4zOTE7CisgIHNob3J0IE4zOTI7CisgIHNob3J0IE4zOTM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IENJUl9md2Q7Ci0gc2hvcnQgQmNfZndkOwotIHNob3J0IEJlX2Z3ZDsKLSBzaG9ydCBDSVJfYndkOworICBzaG9ydCBDSVJfZndkOworICBzaG9ydCBCY19md2Q7CisgIHNob3J0IEJlX2Z3ZDsKKyAgc2hvcnQgQ0lSX2J3ZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgQmNfYndkOwotIHNob3J0IEJlX2J3ZDsKKyAgc2hvcnQgQmNfYndkOworICBzaG9ydCBCZV9id2Q7CiB9Owogc3RydWN0IHNkbGFfZGxjaV9jb25mIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgY29uZmlnOwotIHNob3J0IENJUl9md2Q7Ci0gc2hvcnQgQmNfZndkOwotIHNob3J0IEJlX2Z3ZDsKKyAgc2hvcnQgY29uZmlnOworICBzaG9ydCBDSVJfZndkOworICBzaG9ydCBCY19md2Q7CisgIHNob3J0IEJlX2Z3ZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgQ0lSX2J3ZDsKLSBzaG9ydCBCY19id2Q7Ci0gc2hvcnQgQmVfYndkOwotIHNob3J0IFRjX2Z3ZDsKKyAgc2hvcnQgQ0lSX2J3ZDsKKyAgc2hvcnQgQmNfYndkOworICBzaG9ydCBCZV9id2Q7CisgIHNob3J0IFRjX2Z3ZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2hvcnQgVGNfYndkOwotIHNob3J0IFRmX21heDsKLSBzaG9ydCBUYl9tYXg7CisgIHNob3J0IFRjX2J3ZDsKKyAgc2hvcnQgVGZfbWF4OworICBzaG9ydCBUYl9tYXg7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZWNjb21wLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlY2NvbXAuaAppbmRleCA5MDc4OTVlLi43YzBhNTFhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlY2NvbXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlY2NvbXAuaApAQCAtMjQsMjEgKzI0LDI1IEBACiAjZGVmaW5lIFNFQ0NPTVBfTU9ERV9ESVNBQkxFRCAwCiAjZGVmaW5lIFNFQ0NPTVBfTU9ERV9TVFJJQ1QgMQogI2RlZmluZSBTRUNDT01QX01PREVfRklMVEVSIDIKLSNkZWZpbmUgU0VDQ09NUF9SRVRfS0lMTCAweDAwMDAwMDAwVQorI2RlZmluZSBTRUNDT01QX1NFVF9NT0RFX1NUUklDVCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTRUNDT01QX1NFVF9NT0RFX0ZJTFRFUiAxCisjZGVmaW5lIFNFQ0NPTVBfRklMVEVSX0ZMQUdfVFNZTkMgMQorI2RlZmluZSBTRUNDT01QX1JFVF9LSUxMIDB4MDAwMDAwMDBVCiAjZGVmaW5lIFNFQ0NPTVBfUkVUX1RSQVAgMHgwMDAzMDAwMFUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFQ0NPTVBfUkVUX0VSUk5PIDB4MDAwNTAwMDBVCiAjZGVmaW5lIFNFQ0NPTVBfUkVUX1RSQUNFIDB4N2ZmMDAwMDBVCiAjZGVmaW5lIFNFQ0NPTVBfUkVUX0FMTE9XIDB4N2ZmZjAwMDBVCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRUNDT01QX1JFVF9BQ1RJT04gMHg3ZmZmMDAwMFUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFQ0NPTVBfUkVUX0RBVEEgMHgwMDAwZmZmZlUKIHN0cnVjdCBzZWNjb21wX2RhdGEgewotIGludCBucjsKKyAgaW50IG5yOworICBfX3UzMiBhcmNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhcmNoOwotIF9fdTY0IGluc3RydWN0aW9uX3BvaW50ZXI7Ci0gX191NjQgYXJnc1s2XTsKKyAgX191NjQgaW5zdHJ1Y3Rpb25fcG9pbnRlcjsKKyAgX191NjQgYXJnc1s2XTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZWN1cmViaXRzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlY3VyZWJpdHMuaAppbmRleCBhMjhhYmU4Li5hNjQ0ZDVhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlY3VyZWJpdHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlY3VyZWJpdHMuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIFNFQ1VSRV9OT19TRVRVSURfRklYVVAgMgogI2RlZmluZSBTRUNVUkVfTk9fU0VUVUlEX0ZJWFVQX0xPQ0tFRCAzCiAjZGVmaW5lIFNFQ0JJVF9OT19TRVRVSURfRklYVVAgKGlzc2VjdXJlX21hc2soU0VDVVJFX05PX1NFVFVJRF9GSVhVUCkpCi0jZGVmaW5lIFNFQ0JJVF9OT19TRVRVSURfRklYVVBfTE9DS0VEICAgKGlzc2VjdXJlX21hc2soU0VDVVJFX05PX1NFVFVJRF9GSVhVUF9MT0NLRUQpKQorI2RlZmluZSBTRUNCSVRfTk9fU0VUVUlEX0ZJWFVQX0xPQ0tFRCAoaXNzZWN1cmVfbWFzayhTRUNVUkVfTk9fU0VUVUlEX0ZJWFVQX0xPQ0tFRCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRUNVUkVfS0VFUF9DQVBTIDQKICNkZWZpbmUgU0VDVVJFX0tFRVBfQ0FQU19MT0NLRUQgNQogI2RlZmluZSBTRUNCSVRfS0VFUF9DQVBTIChpc3NlY3VyZV9tYXNrKFNFQ1VSRV9LRUVQX0NBUFMpKQogI2RlZmluZSBTRUNCSVRfS0VFUF9DQVBTX0xPQ0tFRCAoaXNzZWN1cmVfbWFzayhTRUNVUkVfS0VFUF9DQVBTX0xPQ0tFRCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTRUNVUkVfQUxMX0JJVFMgKGlzc2VjdXJlX21hc2soU0VDVVJFX05PUk9PVCkgfCAgIGlzc2VjdXJlX21hc2soU0VDVVJFX05PX1NFVFVJRF9GSVhVUCkgfCAgIGlzc2VjdXJlX21hc2soU0VDVVJFX0tFRVBfQ0FQUykpCisjZGVmaW5lIFNFQ1VSRV9BTExfQklUUyAoaXNzZWN1cmVfbWFzayhTRUNVUkVfTk9ST09UKSB8IGlzc2VjdXJlX21hc2soU0VDVVJFX05PX1NFVFVJRF9GSVhVUCkgfCBpc3NlY3VyZV9tYXNrKFNFQ1VSRV9LRUVQX0NBUFMpKQogI2RlZmluZSBTRUNVUkVfQUxMX0xPQ0tTIChTRUNVUkVfQUxMX0JJVFMgPDwgMSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZWxpbnV4X25ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2VsaW51eF9uZXRsaW5rLmgKaW5kZXggYzVkZGQyYi4uOGU0NjJjOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZWxpbnV4X25ldGxpbmsuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlbGludXhfbmV0bGluay5oCkBAIC0yMiw5ICsyMiw5IEBACiAjZGVmaW5lIFNFTE5MX01TR19CQVNFIDB4MTAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBTRUxOTF9NU0dfU0VURU5GT1JDRSA9IFNFTE5MX01TR19CQVNFLAotIFNFTE5MX01TR19QT0xJQ1lMT0FELAotIFNFTE5MX01TR19NQVgKKyAgU0VMTkxfTVNHX1NFVEVORk9SQ0UgPSBTRUxOTF9NU0dfQkFTRSwKKyAgU0VMTkxfTVNHX1BPTElDWUxPQUQsCisgIFNFTE5MX01TR19NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBTRUxOTF9HUlBfTk9ORSAweDAwMDAwMDAwCkBAIC0zMiwyMCArMzIsMjAgQEAKICNkZWZpbmUgU0VMTkxfR1JQX0FMTCAweGZmZmZmZmZmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBzZWxpbnV4X25sZ3JvdXBzIHsKLSBTRUxOTEdSUF9OT05FLAorICBTRUxOTEdSUF9OT05FLAogI2RlZmluZSBTRUxOTEdSUF9OT05FIFNFTE5MR1JQX05PTkUKLSBTRUxOTEdSUF9BVkMsCisgIFNFTE5MR1JQX0FWQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFTE5MR1JQX0FWQyBTRUxOTEdSUF9BVkMKLSBfX1NFTE5MR1JQX01BWAorICBfX1NFTE5MR1JQX01BWAogfTsKICNkZWZpbmUgU0VMTkxHUlBfTUFYIChfX1NFTE5MR1JQX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNlbG5sX21zZ19zZXRlbmZvcmNlIHsKLSBfX3MzMiB2YWw7CisgIF9fczMyIHZhbDsKIH07CiBzdHJ1Y3Qgc2VsbmxfbXNnX3BvbGljeWxvYWQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzZXFubzsKKyAgX191MzIgc2Vxbm87CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZW0uaAppbmRleCA4OGIyZjE5Li4wNDkwOWQ1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2VtLmgKQEAgLTMzLDUyICszMyw1MiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VNX0lORk8gMTkKIHN0cnVjdCBzZW1pZF9kcyB7Ci0gc3RydWN0IGlwY19wZXJtIHNlbV9wZXJtOwotIF9fa2VybmVsX3RpbWVfdCBzZW1fb3RpbWU7CisgIHN0cnVjdCBpcGNfcGVybSBzZW1fcGVybTsKKyAgX19rZXJuZWxfdGltZV90IHNlbV9vdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfdGltZV90IHNlbV9jdGltZTsKLSBzdHJ1Y3Qgc2VtICpzZW1fYmFzZTsKLSBzdHJ1Y3Qgc2VtX3F1ZXVlICpzZW1fcGVuZGluZzsKLSBzdHJ1Y3Qgc2VtX3F1ZXVlICoqc2VtX3BlbmRpbmdfbGFzdDsKKyAgX19rZXJuZWxfdGltZV90IHNlbV9jdGltZTsKKyAgc3RydWN0IHNlbSAqIHNlbV9iYXNlOworICBzdHJ1Y3Qgc2VtX3F1ZXVlICogc2VtX3BlbmRpbmc7CisgIHN0cnVjdCBzZW1fcXVldWUgKiAqIHNlbV9wZW5kaW5nX2xhc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzZW1fdW5kbyAqdW5kbzsKLSB1bnNpZ25lZCBzaG9ydCBzZW1fbnNlbXM7CisgIHN0cnVjdCBzZW1fdW5kbyAqIHVuZG87CisgIHVuc2lnbmVkIHNob3J0IHNlbV9uc2VtczsKIH07CiAjaW5jbHVkZSA8YXNtL3NlbWJ1Zi5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzZW1idWYgewotIHVuc2lnbmVkIHNob3J0IHNlbV9udW07Ci0gc2hvcnQgc2VtX29wOwotIHNob3J0IHNlbV9mbGc7CisgIHVuc2lnbmVkIHNob3J0IHNlbV9udW07CisgIHNob3J0IHNlbV9vcDsKKyAgc2hvcnQgc2VtX2ZsZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogdW5pb24gc2VtdW4gewotIGludCB2YWw7Ci0gc3RydWN0IHNlbWlkX2RzIF9fdXNlciAqYnVmOworICBpbnQgdmFsOworICBzdHJ1Y3Qgc2VtaWRfZHMgX191c2VyICogYnVmOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKmFycmF5OwotIHN0cnVjdCBzZW1pbmZvIF9fdXNlciAqX19idWY7Ci0gdm9pZCBfX3VzZXIgKl9fcGFkOworICB1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKiBhcnJheTsKKyAgc3RydWN0IHNlbWluZm8gX191c2VyICogX19idWY7CisgIHZvaWQgX191c2VyICogX19wYWQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzZW1pbmZvIHsKLSBpbnQgc2VtbWFwOwotIGludCBzZW1tbmk7Ci0gaW50IHNlbW1uczsKKyAgaW50IHNlbW1hcDsKKyAgaW50IHNlbW1uaTsKKyAgaW50IHNlbW1uczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHNlbW1udTsKLSBpbnQgc2VtbXNsOwotIGludCBzZW1vcG07Ci0gaW50IHNlbXVtZTsKKyAgaW50IHNlbW1udTsKKyAgaW50IHNlbW1zbDsKKyAgaW50IHNlbW9wbTsKKyAgaW50IHNlbXVtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHNlbXVzejsKLSBpbnQgc2Vtdm14OwotIGludCBzZW1hZW07CisgIGludCBzZW11c3o7CisgIGludCBzZW12bXg7CisgIGludCBzZW1hZW07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VNTU5JIDEyOAogI2RlZmluZSBTRU1NU0wgMjUwCi0jZGVmaW5lIFNFTU1OUyAoU0VNTU5JKlNFTU1TTCkKKyNkZWZpbmUgU0VNTU5TIChTRU1NTkkgKiBTRU1NU0wpCiAjZGVmaW5lIFNFTU9QTSAzMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VNVk1YIDMyNzY3CmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZXJpYWwuaAppbmRleCBlNjIyNjgyLi4zMDAxNzZiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2VyaWFsLmgKQEAgLTIyLDI4ICsyMiwyOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGFncy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzZXJpYWxfc3RydWN0IHsKLSBpbnQgdHlwZTsKLSBpbnQgbGluZTsKLSB1bnNpZ25lZCBpbnQgcG9ydDsKKyAgaW50IHR5cGU7CisgIGludCBsaW5lOworICB1bnNpZ25lZCBpbnQgcG9ydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGlycTsKLSBpbnQgZmxhZ3M7Ci0gaW50IHhtaXRfZmlmb19zaXplOwotIGludCBjdXN0b21fZGl2aXNvcjsKKyAgaW50IGlycTsKKyAgaW50IGZsYWdzOworICBpbnQgeG1pdF9maWZvX3NpemU7CisgIGludCBjdXN0b21fZGl2aXNvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGJhdWRfYmFzZTsKLSB1bnNpZ25lZCBzaG9ydCBjbG9zZV9kZWxheTsKLSBjaGFyIGlvX3R5cGU7Ci0gY2hhciByZXNlcnZlZF9jaGFyWzFdOworICBpbnQgYmF1ZF9iYXNlOworICB1bnNpZ25lZCBzaG9ydCBjbG9zZV9kZWxheTsKKyAgY2hhciBpb190eXBlOworICBjaGFyIHJlc2VydmVkX2NoYXJbMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBodWI2OwotIHVuc2lnbmVkIHNob3J0IGNsb3Npbmdfd2FpdDsKLSB1bnNpZ25lZCBzaG9ydCBjbG9zaW5nX3dhaXQyOwotIHVuc2lnbmVkIGNoYXIgKmlvbWVtX2Jhc2U7CisgIGludCBodWI2OworICB1bnNpZ25lZCBzaG9ydCBjbG9zaW5nX3dhaXQ7CisgIHVuc2lnbmVkIHNob3J0IGNsb3Npbmdfd2FpdDI7CisgIHVuc2lnbmVkIGNoYXIgKiBpb21lbV9iYXNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBpb21lbV9yZWdfc2hpZnQ7Ci0gdW5zaWduZWQgaW50IHBvcnRfaGlnaDsKLSB1bnNpZ25lZCBsb25nIGlvbWFwX2Jhc2U7CisgIHVuc2lnbmVkIHNob3J0IGlvbWVtX3JlZ19zaGlmdDsKKyAgdW5zaWduZWQgaW50IHBvcnRfaGlnaDsKKyAgdW5zaWduZWQgbG9uZyBpb21hcF9iYXNlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFTWU5DX0NMT1NJTkdfV0FJVF9JTkYgMApAQCAtNzcsNDAgKzc3LDQwIEBACiAjZGVmaW5lIFVBUlRfTkFUU0VNSSAweDA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNlcmlhbF9tdWx0aXBvcnRfc3RydWN0IHsKLSBpbnQgaXJxOwotIGludCBwb3J0MTsKLSB1bnNpZ25lZCBjaGFyIG1hc2sxLCBtYXRjaDE7CisgIGludCBpcnE7CisgIGludCBwb3J0MTsKKyAgdW5zaWduZWQgY2hhciBtYXNrMSwgbWF0Y2gxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcG9ydDI7Ci0gdW5zaWduZWQgY2hhciBtYXNrMiwgbWF0Y2gyOwotIGludCBwb3J0MzsKLSB1bnNpZ25lZCBjaGFyIG1hc2szLCBtYXRjaDM7CisgIGludCBwb3J0MjsKKyAgdW5zaWduZWQgY2hhciBtYXNrMiwgbWF0Y2gyOworICBpbnQgcG9ydDM7CisgIHVuc2lnbmVkIGNoYXIgbWFzazMsIG1hdGNoMzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBvcnQ0OwotIHVuc2lnbmVkIGNoYXIgbWFzazQsIG1hdGNoNDsKLSBpbnQgcG9ydF9tb25pdG9yOwotIGludCByZXNlcnZlZFszMl07CisgIGludCBwb3J0NDsKKyAgdW5zaWduZWQgY2hhciBtYXNrNCwgbWF0Y2g0OworICBpbnQgcG9ydF9tb25pdG9yOworICBpbnQgcmVzZXJ2ZWRbMzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc2VyaWFsX2ljb3VudGVyX3N0cnVjdCB7Ci0gaW50IGN0cywgZHNyLCBybmcsIGRjZDsKLSBpbnQgcngsIHR4OworICBpbnQgY3RzLCBkc3IsIHJuZywgZGNkOworICBpbnQgcngsIHR4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZnJhbWUsIG92ZXJydW4sIHBhcml0eSwgYnJrOwotIGludCBidWZfb3ZlcnJ1bjsKLSBpbnQgcmVzZXJ2ZWRbOV07CisgIGludCBmcmFtZSwgb3ZlcnJ1biwgcGFyaXR5LCBicms7CisgIGludCBidWZfb3ZlcnJ1bjsKKyAgaW50IHJlc2VydmVkWzldOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc2VyaWFsX3JzNDg1IHsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgZmxhZ3M7CiAjZGVmaW5lIFNFUl9SUzQ4NV9FTkFCTEVEICgxIDw8IDApCiAjZGVmaW5lIFNFUl9SUzQ4NV9SVFNfT05fU0VORCAoMSA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VSX1JTNDg1X1JUU19BRlRFUl9TRU5EICgxIDw8IDIpCiAjZGVmaW5lIFNFUl9SUzQ4NV9SWF9EVVJJTkdfVFggKDEgPDwgNCkKLSBfX3UzMiBkZWxheV9ydHNfYmVmb3JlX3NlbmQ7Ci0gX191MzIgZGVsYXlfcnRzX2FmdGVyX3NlbmQ7CisgIF9fdTMyIGRlbGF5X3J0c19iZWZvcmVfc2VuZDsKKyAgX191MzIgZGVsYXlfcnRzX2FmdGVyX3NlbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBhZGRpbmdbNV07CisgIF9fdTMyIHBhZGRpbmdbNV07CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbF9jb3JlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbF9jb3JlLmgKaW5kZXggNTlmYzMyYS4uZTMxMGY4ZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZXJpYWxfY29yZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2VyaWFsX2NvcmUuaApAQCAtMTQzLDQgKzE0Myw4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQT1JUX0FTQyAxMDUKICNkZWZpbmUgUE9SVF9USUxFR1ggMTA2CisjZGVmaW5lIFBPUlRfTUVOX1oxMzUgMTA3CisjZGVmaW5lIFBPUlRfU0MxNklTN1hYIDEwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgUE9SVF9NRVNPTiAxMDkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZXJpYWxfcmVnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbF9yZWcuaAppbmRleCAxYjBiYWRhLi5mNjhjNTRiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbF9yZWcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlhbF9yZWcuaApAQCAtMzEsNyArMzEsNyBAQAogI2RlZmluZSBVQVJUX0lJUiAyCiAjZGVmaW5lIFVBUlRfSUlSX05PX0lOVCAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBVQVJUX0lJUl9JRCAweDA2CisjZGVmaW5lIFVBUlRfSUlSX0lEIDB4MGUKICNkZWZpbmUgVUFSVF9JSVJfTVNJIDB4MDAKICNkZWZpbmUgVUFSVF9JSVJfVEhSSSAweDAyCiAjZGVmaW5lIFVBUlRfSUlSX1JESSAweDA0CkBAIC03NiwyMzkgKzc2LDI0MyBAQAogI2RlZmluZSBVQVJUX0ZDUjZfVF9UUklHR0VSXzMwIDB4MzAKICNkZWZpbmUgVUFSVF9GQ1I3XzY0QllURSAweDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVQVJUX0ZDUl9SX1RSSUdfU0hJRlQgNgorI2RlZmluZSBVQVJUX0ZDUl9SX1RSSUdfQklUUyh4KSAoKCh4KSAmIFVBUlRfRkNSX1RSSUdHRVJfTUFTSykgPj4gVUFSVF9GQ1JfUl9UUklHX1NISUZUKQorI2RlZmluZSBVQVJUX0ZDUl9SX1RSSUdfTUFYX1NUQVRFIDQKICNkZWZpbmUgVUFSVF9MQ1IgMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9MQ1JfRExBQiAweDgwCiAjZGVmaW5lIFVBUlRfTENSX1NCQyAweDQwCiAjZGVmaW5lIFVBUlRfTENSX1NQQVIgMHgyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9MQ1JfRVBBUiAweDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0xDUl9QQVJJVFkgMHgwOAogI2RlZmluZSBVQVJUX0xDUl9TVE9QIDB4MDQKICNkZWZpbmUgVUFSVF9MQ1JfV0xFTjUgMHgwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9MQ1JfV0xFTjYgMHgwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9MQ1JfV0xFTjcgMHgwMgogI2RlZmluZSBVQVJUX0xDUl9XTEVOOCAweDAzCiAjZGVmaW5lIFVBUlRfTENSX0NPTkZfTU9ERV9BIFVBUlRfTENSX0RMQUIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTENSX0NPTkZfTU9ERV9CIDB4QkYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTUNSIDQKICNkZWZpbmUgVUFSVF9NQ1JfQ0xLU0VMIDB4ODAKICNkZWZpbmUgVUFSVF9NQ1JfVENSVExSIDB4NDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTUNSX1hPTkFOWSAweDIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX01DUl9BRkUgMHgyMAogI2RlZmluZSBVQVJUX01DUl9MT09QIDB4MTAKICNkZWZpbmUgVUFSVF9NQ1JfT1VUMiAweDA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX01DUl9PVVQxIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTUNSX1JUUyAweDAyCiAjZGVmaW5lIFVBUlRfTUNSX0RUUiAweDAxCiAjZGVmaW5lIFVBUlRfTFNSIDUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTFNSX0ZJRk9FIDB4ODAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTFNSX1RFTVQgMHg0MAogI2RlZmluZSBVQVJUX0xTUl9USFJFIDB4MjAKICNkZWZpbmUgVUFSVF9MU1JfQkkgMHgxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9MU1JfRkUgMHgwOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9MU1JfUEUgMHgwNAogI2RlZmluZSBVQVJUX0xTUl9PRSAweDAyCiAjZGVmaW5lIFVBUlRfTFNSX0RSIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTFNSX0JSS19FUlJPUl9CSVRTIDB4MUUKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTVNSIDYKICNkZWZpbmUgVUFSVF9NU1JfRENEIDB4ODAKICNkZWZpbmUgVUFSVF9NU1JfUkkgMHg0MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9NU1JfRFNSIDB4MjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTVNSX0NUUyAweDEwCiAjZGVmaW5lIFVBUlRfTVNSX0REQ0QgMHgwOAogI2RlZmluZSBVQVJUX01TUl9URVJJIDB4MDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfTVNSX0REU1IgMHgwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9NU1JfRENUUyAweDAxCiAjZGVmaW5lIFVBUlRfTVNSX0FOWV9ERUxUQSAweDBGCiAjZGVmaW5lIFVBUlRfU0NSIDcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRExMIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRExNIDEKICNkZWZpbmUgVUFSVF9FRlIgMgogI2RlZmluZSBVQVJUX1hSX0VGUiA5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0VGUl9DVFMgMHg4MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9FRlJfUlRTIDB4NDAKICNkZWZpbmUgVUFSVF9FRlJfU0NEIDB4MjAKICNkZWZpbmUgVUFSVF9FRlJfRUNCIDB4MTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfWE9OMSA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1hPTjIgNQogI2RlZmluZSBVQVJUX1hPRkYxIDYKICNkZWZpbmUgVUFSVF9YT0ZGMiA3Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1RJNzUyX1RDUiA2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1RJNzUyX1RMUiA3CiAjZGVmaW5lIFVBUlRfVFJHIDAKICNkZWZpbmUgVUFSVF9UUkdfMSAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1RSR180IDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfVFJHXzggMHgwOAogI2RlZmluZSBVQVJUX1RSR18xNiAweDEwCiAjZGVmaW5lIFVBUlRfVFJHXzMyIDB4MjAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfVFJHXzY0IDB4NDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfVFJHXzk2IDB4NjAKICNkZWZpbmUgVUFSVF9UUkdfMTIwIDB4NzgKICNkZWZpbmUgVUFSVF9UUkdfMTI4IDB4ODAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUiAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0ZDVFJfUlRTX05PREVMQVkgMHgwMAogI2RlZmluZSBVQVJUX0ZDVFJfUlRTXzRERUxBWSAweDAxCiAjZGVmaW5lIFVBUlRfRkNUUl9SVFNfNkRFTEFZIDB4MDIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9SVFNfOERFTEFZIDB4MDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9JUkRBIDB4MDQKICNkZWZpbmUgVUFSVF9GQ1RSX1RYX0lOVCAweDA4CiAjZGVmaW5lIFVBUlRfRkNUUl9UUkdBIDB4MDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9UUkdCIDB4MTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9UUkdDIDB4MjAKICNkZWZpbmUgVUFSVF9GQ1RSX1RSR0QgMHgzMAogI2RlZmluZSBVQVJUX0ZDVFJfU0NSX1NXQVAgMHg0MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9GQ1RSX1JYIDB4MDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9UWCAweDgwCiAjZGVmaW5lIFVBUlRfRU1TUiA3CiAjZGVmaW5lIFVBUlRfRU1TUl9GSUZPX0NPVU5UIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRU1TUl9BTFRfQ09VTlQgMHgwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9JRVJfRE1BRSAweDgwCiAjZGVmaW5lIFVBUlRfSUVSX1VVRSAweDQwCiAjZGVmaW5lIFVBUlRfSUVSX05SWkUgMHgyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9JRVJfUlRPSUUgMHgxMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9JSVJfVE9EIDB4MDgKICNkZWZpbmUgVUFSVF9GQ1JfUFhBUjEgMHgwMAogI2RlZmluZSBVQVJUX0ZDUl9QWEFSOCAweDQwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0ZDUl9QWEFSMTYgMHg4MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9GQ1JfUFhBUjMyIDB4YzAKICNkZWZpbmUgVUFSVF9GQ1JfSFNVXzY0XzFCIDB4MDAKICNkZWZpbmUgVUFSVF9GQ1JfSFNVXzY0XzE2QiAweDQwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0ZDUl9IU1VfNjRfMzJCIDB4ODAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNSX0hTVV82NF81NkIgMHhjMAogI2RlZmluZSBVQVJUX0ZDUl9IU1VfMTZfMUIgMHgwMAogI2RlZmluZSBVQVJUX0ZDUl9IU1VfMTZfNEIgMHg0MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9GQ1JfSFNVXzE2XzhCIDB4ODAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNSX0hTVV8xNl8xNEIgMHhjMAogI2RlZmluZSBVQVJUX0ZDUl9IU1VfNjRCX0ZJRk8gMHgyMAogI2RlZmluZSBVQVJUX0ZDUl9IU1VfMTZCX0ZJRk8gMHgwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9GQ1JfSEFMRl9FTVBUX1RYSSAweDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0ZDUl9GVUxMX0VNUFRfVFhJIDB4MDgKICNkZWZpbmUgVUFSVF9BU1IgMHgwMQogI2RlZmluZSBVQVJUX1JGTCAweDAzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1RGTCAweDA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0lDUiAweDA1CiAjZGVmaW5lIFVBUlRfQUNSIDB4MDAKICNkZWZpbmUgVUFSVF9DUFIgMHgwMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9UQ1IgMHgwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9DS1MgMHgwMwogI2RlZmluZSBVQVJUX1RUTCAweDA0CiAjZGVmaW5lIFVBUlRfUlRMIDB4MDUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNMIDB4MDYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNIIDB4MDcKICNkZWZpbmUgVUFSVF9JRDEgMHgwOAogI2RlZmluZSBVQVJUX0lEMiAweDA5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0lEMyAweDBBCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1JFViAweDBCCiAjZGVmaW5lIFVBUlRfQ1NSIDB4MEMKICNkZWZpbmUgVUFSVF9OTVIgMHgwRAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9DVFIgMHhGRgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9BQ1JfUlhESVMgMHgwMQogI2RlZmluZSBVQVJUX0FDUl9UWERJUyAweDAyCiAjZGVmaW5lIFVBUlRfQUNSX0RTUkZDIDB4MDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfQUNSX1RMRU5CIDB4MjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfQUNSX0lDUlJEIDB4NDAKICNkZWZpbmUgVUFSVF9BQ1JfQVNSRU4gMHg4MAotI2RlZmluZSBVQVJUX1JTQV9CQVNFICgtOCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFVBUlRfUlNBX0JBU0UgKC0gOCkKICNkZWZpbmUgVUFSVF9SU0FfTVNSICgoVUFSVF9SU0FfQkFTRSkgKyAwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9SU0FfTVNSX1NXQVAgKDEgPDwgMCkKICNkZWZpbmUgVUFSVF9SU0FfTVNSX0ZJRk8gKDEgPDwgMikKICNkZWZpbmUgVUFSVF9SU0FfTVNSX0ZMT1cgKDEgPDwgMykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfUlNBX01TUl9JVFlQICgxIDw8IDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1JTQV9JRVIgKChVQVJUX1JTQV9CQVNFKSArIDEpCiAjZGVmaW5lIFVBUlRfUlNBX0lFUl9SeF9GSUZPX0ggKDEgPDwgMCkKICNkZWZpbmUgVUFSVF9SU0FfSUVSX1R4X0ZJRk9fSCAoMSA8PCAxKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9SU0FfSUVSX1R4X0ZJRk9fRSAoMSA8PCAyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9SU0FfSUVSX1J4X1RPVVQgKDEgPDwgMykKICNkZWZpbmUgVUFSVF9SU0FfSUVSX1RJTUVSICgxIDw8IDQpCiAjZGVmaW5lIFVBUlRfUlNBX1NSUiAoKFVBUlRfUlNBX0JBU0UpICsgMikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfUlNBX1NSUl9UeF9GSUZPX05FTVAgKDEgPDwgMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfUlNBX1NSUl9UeF9GSUZPX05IRkwgKDEgPDwgMSkKICNkZWZpbmUgVUFSVF9SU0FfU1JSX1R4X0ZJRk9fTkZVTCAoMSA8PCAyKQogI2RlZmluZSBVQVJUX1JTQV9TUlJfUnhfRklGT19ORU1QICgxIDw8IDMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1JTQV9TUlJfUnhfRklGT19OSEZMICgxIDw8IDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX1JTQV9TUlJfUnhfRklGT19ORlVMICgxIDw8IDUpCiAjZGVmaW5lIFVBUlRfUlNBX1NSUl9SeF9UT1VUICgxIDw8IDYpCiAjZGVmaW5lIFVBUlRfUlNBX1NSUl9USU1FUiAoMSA8PCA3KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9SU0FfRlJSICgoVUFSVF9SU0FfQkFTRSkgKyAyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9SU0FfVElWU1IgKChVQVJUX1JTQV9CQVNFKSArIDMpCiAjZGVmaW5lIFVBUlRfUlNBX1RDUiAoKFVBUlRfUlNBX0JBU0UpICsgNCkKICNkZWZpbmUgVUFSVF9SU0FfVENSX1NXSVRDSCAoMSA8PCAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VSSUFMX1JTQV9CQVVEX0JBU0UgKDkyMTYwMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFUklBTF9SU0FfQkFVRF9CQVNFX0xPIChTRVJJQUxfUlNBX0JBVURfQkFTRSAvIDgpCiAjZGVmaW5lIFVBUlRfT01BUF9NRFIxIDB4MDgKICNkZWZpbmUgVUFSVF9PTUFQX01EUjIgMHgwOQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9PTUFQX1NDUiAweDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX09NQVBfU1NSIDB4MTEKICNkZWZpbmUgVUFSVF9PTUFQX0VCTFIgMHgxMgogI2RlZmluZSBVQVJUX09NQVBfT1NDXzEyTV9TRUwgMHgxMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9PTUFQX01WRVIgMHgxNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9PTUFQX1NZU0MgMHgxNQogI2RlZmluZSBVQVJUX09NQVBfU1lTUyAweDE2CiAjZGVmaW5lIFVBUlRfT01BUF9XRVIgMHgxNwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9PTUFQX01EUjFfMTZYX01PREUgMHgwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9PTUFQX01EUjFfU0lSX01PREUgMHgwMQogI2RlZmluZSBVQVJUX09NQVBfTURSMV8xNlhfQUJBVURfTU9ERSAweDAyCiAjZGVmaW5lIFVBUlRfT01BUF9NRFIxXzEzWF9NT0RFIDB4MDMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfT01BUF9NRFIxX01JUl9NT0RFIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfT01BUF9NRFIxX0ZJUl9NT0RFIDB4MDUKICNkZWZpbmUgVUFSVF9PTUFQX01EUjFfQ0lSX01PREUgMHgwNgogI2RlZmluZSBVQVJUX09NQVBfTURSMV9ESVNBQkxFIDB4MDcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRVhBUl84WE1PREUgMHg4OAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9FWEFSX1NMRUVQIDB4OGIKICNkZWZpbmUgVUFSVF9FWEFSX0RWSUQgMHg4ZAogI2RlZmluZSBVQVJUX0VYQVJfRkNUUiAweDA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQVJUX0ZDVFJfRVhBUl9JUkRBIDB4MDgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9FWEFSXzQ4NSAweDEwCiAjZGVmaW5lIFVBUlRfRkNUUl9FWEFSX1RSR0EgMHgwMAogI2RlZmluZSBVQVJUX0ZDVFJfRVhBUl9UUkdCIDB4NjAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVBUlRfRkNUUl9FWEFSX1RSR0MgMHg4MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFSVF9GQ1RSX0VYQVJfVFJHRCAweGMwCiAjZGVmaW5lIFVBUlRfRVhBUl9UWFRSRyAweDBhCiAjZGVmaW5lIFVBUlRfRVhBUl9SWFRSRyAweDBiCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZXJpby5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zZXJpby5oCmluZGV4IDdhZmIxYTIuLmE4ZmNmZDkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2VyaW8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NlcmlvLmgKQEAgLTg0LDUgKzg0LDYgQEAKICNkZWZpbmUgU0VSSU9fSEFNUFNISVJFIDB4M2IKICNkZWZpbmUgU0VSSU9fUFMyTVVMVCAweDNjCiAjZGVmaW5lIFNFUklPX1RTQzQwIDB4M2QKLSNlbmRpZgorI2RlZmluZSBTRVJJT19XQUNPTV9JViAweDNlCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NobS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zaG0uaAppbmRleCAyOGUxNjcwLi5iYjdmOTA3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NobS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2htLmgKQEAgLTIyLDI3ICsyMiwyNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2RlZmluZSBTSE1NQVggMHgyMDAwMDAwCiAjZGVmaW5lIFNITU1JTiAxCiAjZGVmaW5lIFNITU1OSSA0MDk2CisjZGVmaW5lIFNITU1BWCAoVUxPTkdfTUFYIC0gKDFVTCA8PCAyNCkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTSE1BTEwgKFNITU1BWC9nZXRwYWdlc2l6ZSgpKihTSE1NTkkvMTYpKQorI2RlZmluZSBTSE1BTEwgKFVMT05HX01BWCAtICgxVUwgPDwgMjQpKQogI2RlZmluZSBTSE1TRUcgU0hNTU5JCiBzdHJ1Y3Qgc2htaWRfZHMgewotIHN0cnVjdCBpcGNfcGVybSBzaG1fcGVybTsKKyAgc3RydWN0IGlwY19wZXJtIHNobV9wZXJtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgc2htX3NlZ3N6OwotIF9fa2VybmVsX3RpbWVfdCBzaG1fYXRpbWU7Ci0gX19rZXJuZWxfdGltZV90IHNobV9kdGltZTsKLSBfX2tlcm5lbF90aW1lX3Qgc2htX2N0aW1lOworICBpbnQgc2htX3NlZ3N6OworICBfX2tlcm5lbF90aW1lX3Qgc2htX2F0aW1lOworICBfX2tlcm5lbF90aW1lX3Qgc2htX2R0aW1lOworICBfX2tlcm5lbF90aW1lX3Qgc2htX2N0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9pcGNfcGlkX3Qgc2htX2NwaWQ7Ci0gX19rZXJuZWxfaXBjX3BpZF90IHNobV9scGlkOwotIHVuc2lnbmVkIHNob3J0IHNobV9uYXR0Y2g7Ci0gdW5zaWduZWQgc2hvcnQgc2htX3VudXNlZDsKKyAgX19rZXJuZWxfaXBjX3BpZF90IHNobV9jcGlkOworICBfX2tlcm5lbF9pcGNfcGlkX3Qgc2htX2xwaWQ7CisgIHVuc2lnbmVkIHNob3J0IHNobV9uYXR0Y2g7CisgIHVuc2lnbmVkIHNob3J0IHNobV91bnVzZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHZvaWQgKnNobV91bnVzZWQyOwotIHZvaWQgKnNobV91bnVzZWQzOworICB2b2lkICogc2htX3VudXNlZDI7CisgIHZvaWQgKiBzaG1fdW51c2VkMzsKIH07CiAjaW5jbHVkZSA8YXNtL3NobWJ1Zi5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTU5LDIyICs1OSwyMiBAQAogI2RlZmluZSBTSE1fU1RBVCAxMwogI2RlZmluZSBTSE1fSU5GTyAxNAogc3RydWN0IHNobWluZm8gewotIGludCBzaG1tYXg7CisgIGludCBzaG1tYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzaG1taW47Ci0gaW50IHNobW1uaTsKLSBpbnQgc2htc2VnOwotIGludCBzaG1hbGw7CisgIGludCBzaG1taW47CisgIGludCBzaG1tbmk7CisgIGludCBzaG1zZWc7CisgIGludCBzaG1hbGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzaG1faW5mbyB7Ci0gaW50IHVzZWRfaWRzOwotIF9fa2VybmVsX3Vsb25nX3Qgc2htX3RvdDsKKyAgaW50IHVzZWRfaWRzOworICBfX2tlcm5lbF91bG9uZ190IHNobV90b3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3Vsb25nX3Qgc2htX3JzczsKLSBfX2tlcm5lbF91bG9uZ190IHNobV9zd3A7Ci0gX19rZXJuZWxfdWxvbmdfdCBzd2FwX2F0dGVtcHRzOwotIF9fa2VybmVsX3Vsb25nX3Qgc3dhcF9zdWNjZXNzZXM7CisgIF9fa2VybmVsX3Vsb25nX3Qgc2htX3JzczsKKyAgX19rZXJuZWxfdWxvbmdfdCBzaG1fc3dwOworICBfX2tlcm5lbF91bG9uZ190IHN3YXBfYXR0ZW1wdHM7CisgIF9fa2VybmVsX3Vsb25nX3Qgc3dhcF9zdWNjZXNzZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zaWduYWxmZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zaWduYWxmZC5oCmluZGV4IDg5NzUxMzAuLmRjY2Q2NWIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc2lnbmFsZmQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NpZ25hbGZkLmgKQEAgLTI0LDI4ICsyNCwyOCBAQAogI2RlZmluZSBTRkRfQ0xPRVhFQyBPX0NMT0VYRUMKICNkZWZpbmUgU0ZEX05PTkJMT0NLIE9fTk9OQkxPQ0sKIHN0cnVjdCBzaWduYWxmZF9zaWdpbmZvIHsKLSBfX3UzMiBzc2lfc2lnbm87CisgIF9fdTMyIHNzaV9zaWdubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgc3NpX2Vycm5vOwotIF9fczMyIHNzaV9jb2RlOwotIF9fdTMyIHNzaV9waWQ7Ci0gX191MzIgc3NpX3VpZDsKKyAgX19zMzIgc3NpX2Vycm5vOworICBfX3MzMiBzc2lfY29kZTsKKyAgX191MzIgc3NpX3BpZDsKKyAgX191MzIgc3NpX3VpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgc3NpX2ZkOwotIF9fdTMyIHNzaV90aWQ7Ci0gX191MzIgc3NpX2JhbmQ7Ci0gX191MzIgc3NpX292ZXJydW47CisgIF9fczMyIHNzaV9mZDsKKyAgX191MzIgc3NpX3RpZDsKKyAgX191MzIgc3NpX2JhbmQ7CisgIF9fdTMyIHNzaV9vdmVycnVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzc2lfdHJhcG5vOwotIF9fczMyIHNzaV9zdGF0dXM7Ci0gX19zMzIgc3NpX2ludDsKLSBfX3U2NCBzc2lfcHRyOworICBfX3UzMiBzc2lfdHJhcG5vOworICBfX3MzMiBzc2lfc3RhdHVzOworICBfX3MzMiBzc2lfaW50OworICBfX3U2NCBzc2lfcHRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzc2lfdXRpbWU7Ci0gX191NjQgc3NpX3N0aW1lOwotIF9fdTY0IHNzaV9hZGRyOwotIF9fdTE2IHNzaV9hZGRyX2xzYjsKKyAgX191NjQgc3NpX3V0aW1lOworICBfX3U2NCBzc2lfc3RpbWU7CisgIF9fdTY0IHNzaV9hZGRyOworICBfX3UxNiBzc2lfYWRkcl9sc2I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggX19wYWRbNDZdOworICBfX3U4IF9fcGFkWzQ2XTsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc21pYXBwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NtaWFwcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMmE0NjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NtaWFwcC5oCkBAIC0wLDAgKzEsMjggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKgorICoqKiAgIFRoaXMgaGVhZGVyIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGEgTGludXgga2VybmVsIGhlYWRlcgorICoqKiAgIG9mIHRoZSBzYW1lIG5hbWUsIHRvIG1ha2UgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IGZvciB1c2Vyc3BhY2UgdG8KKyAqKiogICBjYWxsIGludG8gdGhlIGtlcm5lbCBhdmFpbGFibGUgdG8gbGliYy4gIEl0IGNvbnRhaW5zIG9ubHkgY29uc3RhbnRzLAorICoqKiAgIHN0cnVjdHVyZXMsIGFuZCBtYWNyb3MgZ2VuZXJhdGVkIGZyb20gdGhlIG9yaWdpbmFsIGhlYWRlciwgYW5kIHRodXMsCisgKioqICAgY29udGFpbnMgbm8gY29weXJpZ2h0YWJsZSBpbmZvcm1hdGlvbi4KKyAqKioKKyAqKiogICBUbyBlZGl0IHRoZSBjb250ZW50IG9mIHRoaXMgaGVhZGVyLCBtb2RpZnkgdGhlIGNvcnJlc3BvbmRpbmcKKyAqKiogICBzb3VyY2UgZmlsZSAoZS5nLiB1bmRlciBleHRlcm5hbC9rZXJuZWwtaGVhZGVycy9vcmlnaW5hbC8pIHRoZW4KKyAqKiogICBydW4gYmlvbmljL2xpYmMva2VybmVsL3Rvb2xzL3VwZGF0ZV9hbGwucHkKKyAqKioKKyAqKiogICBBbnkgbWFudWFsIGNoYW5nZSBoZXJlIHdpbGwgYmUgbG9zdCB0aGUgbmV4dCB0aW1lIHRoaXMgc2NyaXB0IHdpbGwKKyAqKiogICBiZSBydW4uIFlvdSd2ZSBiZWVuIHdhcm5lZCEKKyAqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX19VQVBJX0xJTlVYX1NNSUFQUF9IXworI2RlZmluZSBfX1VBUElfTElOVVhfU01JQVBQX0hfCisjZGVmaW5lIFY0TDJfU01JQVBQX1RFU1RfUEFUVEVSTl9NT0RFX0RJU0FCTEVEIDAKKyNkZWZpbmUgVjRMMl9TTUlBUFBfVEVTVF9QQVRURVJOX01PREVfU09MSURfQ09MT1VSIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfU01JQVBQX1RFU1RfUEFUVEVSTl9NT0RFX0NPTE9VUl9CQVJTIDIKKyNkZWZpbmUgVjRMMl9TTUlBUFBfVEVTVF9QQVRURVJOX01PREVfQ09MT1VSX0JBUlNfR1JFWSAzCisjZGVmaW5lIFY0TDJfU01JQVBQX1RFU1RfUEFUVEVSTl9NT0RFX1BOOSA0CisjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NubXAuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc25tcC5oCmluZGV4IDlkNWZiMDkuLmFiMTYzY2MgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc25tcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc25tcC5oCkBAIC0xOCwzMTcgKzE4LDMxNiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9MSU5VWF9TTk1QX0gKICNkZWZpbmUgX0xJTlVYX1NOTVBfSAotZW51bQoteworZW51bSB7CisgIElQU1RBVFNfTUlCX05VTSA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU1RBVFNfTUlCX05VTSA9IDAsCi0gSVBTVEFUU19NSUJfSU5QS1RTLAotIElQU1RBVFNfTUlCX0lOT0NURVRTLAotIElQU1RBVFNfTUlCX0lOREVMSVZFUlMsCisgIElQU1RBVFNfTUlCX0lOUEtUUywKKyAgSVBTVEFUU19NSUJfSU5PQ1RFVFMsCisgIElQU1RBVFNfTUlCX0lOREVMSVZFUlMsCisgIElQU1RBVFNfTUlCX09VVEZPUldEQVRBR1JBTVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU1RBVFNfTUlCX09VVEZPUldEQVRBR1JBTVMsCi0gSVBTVEFUU19NSUJfT1VUUEtUUywKLSBJUFNUQVRTX01JQl9PVVRPQ1RFVFMsCi0gSVBTVEFUU19NSUJfSU5IRFJFUlJPUlMsCisgIElQU1RBVFNfTUlCX09VVFBLVFMsCisgIElQU1RBVFNfTUlCX09VVE9DVEVUUywKKyAgSVBTVEFUU19NSUJfSU5IRFJFUlJPUlMsCisgIElQU1RBVFNfTUlCX0lOVE9PQklHRVJST1JTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNUQVRTX01JQl9JTlRPT0JJR0VSUk9SUywKLSBJUFNUQVRTX01JQl9JTk5PUk9VVEVTLAotIElQU1RBVFNfTUlCX0lOQUREUkVSUk9SUywKLSBJUFNUQVRTX01JQl9JTlVOS05PV05QUk9UT1MsCisgIElQU1RBVFNfTUlCX0lOTk9ST1VURVMsCisgIElQU1RBVFNfTUlCX0lOQUREUkVSUk9SUywKKyAgSVBTVEFUU19NSUJfSU5VTktOT1dOUFJPVE9TLAorICBJUFNUQVRTX01JQl9JTlRSVU5DQVRFRFBLVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU1RBVFNfTUlCX0lOVFJVTkNBVEVEUEtUUywKLSBJUFNUQVRTX01JQl9JTkRJU0NBUkRTLAotIElQU1RBVFNfTUlCX09VVERJU0NBUkRTLAotIElQU1RBVFNfTUlCX09VVE5PUk9VVEVTLAorICBJUFNUQVRTX01JQl9JTkRJU0NBUkRTLAorICBJUFNUQVRTX01JQl9PVVRESVNDQVJEUywKKyAgSVBTVEFUU19NSUJfT1VUTk9ST1VURVMsCisgIElQU1RBVFNfTUlCX1JFQVNNVElNRU9VVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSVBTVEFUU19NSUJfUkVBU01USU1FT1VULAotIElQU1RBVFNfTUlCX1JFQVNNUkVRRFMsCi0gSVBTVEFUU19NSUJfUkVBU01PS1MsCi0gSVBTVEFUU19NSUJfUkVBU01GQUlMUywKKyAgSVBTVEFUU19NSUJfUkVBU01SRVFEUywKKyAgSVBTVEFUU19NSUJfUkVBU01PS1MsCisgIElQU1RBVFNfTUlCX1JFQVNNRkFJTFMsCisgIElQU1RBVFNfTUlCX0ZSQUdPS1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU1RBVFNfTUlCX0ZSQUdPS1MsCi0gSVBTVEFUU19NSUJfRlJBR0ZBSUxTLAotIElQU1RBVFNfTUlCX0ZSQUdDUkVBVEVTLAotIElQU1RBVFNfTUlCX0lOTUNBU1RQS1RTLAorICBJUFNUQVRTX01JQl9GUkFHRkFJTFMsCisgIElQU1RBVFNfTUlCX0ZSQUdDUkVBVEVTLAorICBJUFNUQVRTX01JQl9JTk1DQVNUUEtUUywKKyAgSVBTVEFUU19NSUJfT1VUTUNBU1RQS1RTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNUQVRTX01JQl9PVVRNQ0FTVFBLVFMsCi0gSVBTVEFUU19NSUJfSU5CQ0FTVFBLVFMsCi0gSVBTVEFUU19NSUJfT1VUQkNBU1RQS1RTLAotIElQU1RBVFNfTUlCX0lOTUNBU1RPQ1RFVFMsCisgIElQU1RBVFNfTUlCX0lOQkNBU1RQS1RTLAorICBJUFNUQVRTX01JQl9PVVRCQ0FTVFBLVFMsCisgIElQU1RBVFNfTUlCX0lOTUNBU1RPQ1RFVFMsCisgIElQU1RBVFNfTUlCX09VVE1DQVNUT0NURVRTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJUFNUQVRTX01JQl9PVVRNQ0FTVE9DVEVUUywKLSBJUFNUQVRTX01JQl9JTkJDQVNUT0NURVRTLAotIElQU1RBVFNfTUlCX09VVEJDQVNUT0NURVRTLAotIElQU1RBVFNfTUlCX0NTVU1FUlJPUlMsCisgIElQU1RBVFNfTUlCX0lOQkNBU1RPQ1RFVFMsCisgIElQU1RBVFNfTUlCX09VVEJDQVNUT0NURVRTLAorICBJUFNUQVRTX01JQl9DU1VNRVJST1JTLAorICBJUFNUQVRTX01JQl9OT0VDVFBLVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElQU1RBVFNfTUlCX05PRUNUUEtUUywKLSBJUFNUQVRTX01JQl9FQ1QxUEtUUywKLSBJUFNUQVRTX01JQl9FQ1QwUEtUUywKLSBJUFNUQVRTX01JQl9DRVBLVFMsCisgIElQU1RBVFNfTUlCX0VDVDFQS1RTLAorICBJUFNUQVRTX01JQl9FQ1QwUEtUUywKKyAgSVBTVEFUU19NSUJfQ0VQS1RTLAorICBfX0lQU1RBVFNfTUlCX01BWAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lQU1RBVFNfTUlCX01BWAogfTsKLWVudW0KLXsKK2VudW0geworICBJQ01QX01JQl9OVU0gPSAwLAorICBJQ01QX01JQl9JTk1TR1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElDTVBfTUlCX05VTSA9IDAsCi0gSUNNUF9NSUJfSU5NU0dTLAotIElDTVBfTUlCX0lORVJST1JTLAotIElDTVBfTUlCX0lOREVTVFVOUkVBQ0hTLAorICBJQ01QX01JQl9JTkVSUk9SUywKKyAgSUNNUF9NSUJfSU5ERVNUVU5SRUFDSFMsCisgIElDTVBfTUlCX0lOVElNRUVYQ0RTLAorICBJQ01QX01JQl9JTlBBUk1QUk9CUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUNNUF9NSUJfSU5USU1FRVhDRFMsCi0gSUNNUF9NSUJfSU5QQVJNUFJPQlMsCi0gSUNNUF9NSUJfSU5TUkNRVUVOQ0hTLAotIElDTVBfTUlCX0lOUkVESVJFQ1RTLAorICBJQ01QX01JQl9JTlNSQ1FVRU5DSFMsCisgIElDTVBfTUlCX0lOUkVESVJFQ1RTLAorICBJQ01QX01JQl9JTkVDSE9TLAorICBJQ01QX01JQl9JTkVDSE9SRVBTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJQ01QX01JQl9JTkVDSE9TLAotIElDTVBfTUlCX0lORUNIT1JFUFMsCi0gSUNNUF9NSUJfSU5USU1FU1RBTVBTLAotIElDTVBfTUlCX0lOVElNRVNUQU1QUkVQUywKKyAgSUNNUF9NSUJfSU5USU1FU1RBTVBTLAorICBJQ01QX01JQl9JTlRJTUVTVEFNUFJFUFMsCisgIElDTVBfTUlCX0lOQUREUk1BU0tTLAorICBJQ01QX01JQl9JTkFERFJNQVNLUkVQUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUNNUF9NSUJfSU5BRERSTUFTS1MsCi0gSUNNUF9NSUJfSU5BRERSTUFTS1JFUFMsCi0gSUNNUF9NSUJfT1VUTVNHUywKLSBJQ01QX01JQl9PVVRFUlJPUlMsCisgIElDTVBfTUlCX09VVE1TR1MsCisgIElDTVBfTUlCX09VVEVSUk9SUywKKyAgSUNNUF9NSUJfT1VUREVTVFVOUkVBQ0hTLAorICBJQ01QX01JQl9PVVRUSU1FRVhDRFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElDTVBfTUlCX09VVERFU1RVTlJFQUNIUywKLSBJQ01QX01JQl9PVVRUSU1FRVhDRFMsCi0gSUNNUF9NSUJfT1VUUEFSTVBST0JTLAotIElDTVBfTUlCX09VVFNSQ1FVRU5DSFMsCisgIElDTVBfTUlCX09VVFBBUk1QUk9CUywKKyAgSUNNUF9NSUJfT1VUU1JDUVVFTkNIUywKKyAgSUNNUF9NSUJfT1VUUkVESVJFQ1RTLAorICBJQ01QX01JQl9PVVRFQ0hPUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUNNUF9NSUJfT1VUUkVESVJFQ1RTLAotIElDTVBfTUlCX09VVEVDSE9TLAotIElDTVBfTUlCX09VVEVDSE9SRVBTLAotIElDTVBfTUlCX09VVFRJTUVTVEFNUFMsCisgIElDTVBfTUlCX09VVEVDSE9SRVBTLAorICBJQ01QX01JQl9PVVRUSU1FU1RBTVBTLAorICBJQ01QX01JQl9PVVRUSU1FU1RBTVBSRVBTLAorICBJQ01QX01JQl9PVVRBRERSTUFTS1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElDTVBfTUlCX09VVFRJTUVTVEFNUFJFUFMsCi0gSUNNUF9NSUJfT1VUQUREUk1BU0tTLAotIElDTVBfTUlCX09VVEFERFJNQVNLUkVQUywKLSBJQ01QX01JQl9DU1VNRVJST1JTLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX0lDTVBfTUlCX01BWAorICBJQ01QX01JQl9PVVRBRERSTUFTS1JFUFMsCisgIElDTVBfTUlCX0NTVU1FUlJPUlMsCisgIF9fSUNNUF9NSUJfTUFYCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX19JQ01QTVNHX01JQl9NQVggNTEyCi1lbnVtCitlbnVtIHsKKyAgSUNNUDZfTUlCX05VTSA9IDAsCisgIElDTVA2X01JQl9JTk1TR1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIElDTVA2X01JQl9OVU0gPSAwLAotIElDTVA2X01JQl9JTk1TR1MsCi0gSUNNUDZfTUlCX0lORVJST1JTLAorICBJQ01QNl9NSUJfSU5FUlJPUlMsCisgIElDTVA2X01JQl9PVVRNU0dTLAorICBJQ01QNl9NSUJfT1VURVJST1JTLAorICBJQ01QNl9NSUJfQ1NVTUVSUk9SUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUNNUDZfTUlCX09VVE1TR1MsCi0gSUNNUDZfTUlCX09VVEVSUk9SUywKLSBJQ01QNl9NSUJfQ1NVTUVSUk9SUywKLSBfX0lDTVA2X01JQl9NQVgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fSUNNUDZfTUlCX01BWAogfTsKICNkZWZpbmUgX19JQ01QNk1TR19NSUJfTUFYIDUxMgotZW51bQoteworZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDUF9NSUJfTlVNID0gMCwKLSBUQ1BfTUlCX1JUT0FMR09SSVRITSwKLSBUQ1BfTUlCX1JUT01JTiwKLSBUQ1BfTUlCX1JUT01BWCwKKyAgVENQX01JQl9OVU0gPSAwLAorICBUQ1BfTUlCX1JUT0FMR09SSVRITSwKKyAgVENQX01JQl9SVE9NSU4sCisgIFRDUF9NSUJfUlRPTUFYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfTUlCX01BWENPTk4sCi0gVENQX01JQl9BQ1RJVkVPUEVOUywKLSBUQ1BfTUlCX1BBU1NJVkVPUEVOUywKLSBUQ1BfTUlCX0FUVEVNUFRGQUlMUywKKyAgVENQX01JQl9NQVhDT05OLAorICBUQ1BfTUlCX0FDVElWRU9QRU5TLAorICBUQ1BfTUlCX1BBU1NJVkVPUEVOUywKKyAgVENQX01JQl9BVFRFTVBURkFJTFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDUF9NSUJfRVNUQUJSRVNFVFMsCi0gVENQX01JQl9DVVJSRVNUQUIsCi0gVENQX01JQl9JTlNFR1MsCi0gVENQX01JQl9PVVRTRUdTLAorICBUQ1BfTUlCX0VTVEFCUkVTRVRTLAorICBUQ1BfTUlCX0NVUlJFU1RBQiwKKyAgVENQX01JQl9JTlNFR1MsCisgIFRDUF9NSUJfT1VUU0VHUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENQX01JQl9SRVRSQU5TU0VHUywKLSBUQ1BfTUlCX0lORVJSUywKLSBUQ1BfTUlCX09VVFJTVFMsCi0gVENQX01JQl9DU1VNRVJST1JTLAorICBUQ1BfTUlCX1JFVFJBTlNTRUdTLAorICBUQ1BfTUlCX0lORVJSUywKKyAgVENQX01JQl9PVVRSU1RTLAorICBUQ1BfTUlCX0NTVU1FUlJPUlMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENQX01JQl9NQVgKKyAgX19UQ1BfTUlCX01BWAogfTsKLWVudW0KLXsKK2VudW0geworICBVRFBfTUlCX05VTSA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFVEUF9NSUJfTlVNID0gMCwKLSBVRFBfTUlCX0lOREFUQUdSQU1TLAotIFVEUF9NSUJfTk9QT1JUUywKLSBVRFBfTUlCX0lORVJST1JTLAorICBVRFBfTUlCX0lOREFUQUdSQU1TLAorICBVRFBfTUlCX05PUE9SVFMsCisgIFVEUF9NSUJfSU5FUlJPUlMsCisgIFVEUF9NSUJfT1VUREFUQUdSQU1TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBVRFBfTUlCX09VVERBVEFHUkFNUywKLSBVRFBfTUlCX1JDVkJVRkVSUk9SUywKLSBVRFBfTUlCX1NOREJVRkVSUk9SUywKLSBVRFBfTUlCX0NTVU1FUlJPUlMsCisgIFVEUF9NSUJfUkNWQlVGRVJST1JTLAorICBVRFBfTUlCX1NOREJVRkVSUk9SUywKKyAgVURQX01JQl9DU1VNRVJST1JTLAorICBfX1VEUF9NSUJfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVURQX01JQl9NQVgKIH07Ci1lbnVtCi17CitlbnVtIHsKKyAgTElOVVhfTUlCX05VTSA9IDAsCisgIExJTlVYX01JQl9TWU5DT09LSUVTU0VOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX05VTSA9IDAsCi0gTElOVVhfTUlCX1NZTkNPT0tJRVNTRU5ULAotIExJTlVYX01JQl9TWU5DT09LSUVTUkVDViwKLSBMSU5VWF9NSUJfU1lOQ09PS0lFU0ZBSUxFRCwKKyAgTElOVVhfTUlCX1NZTkNPT0tJRVNSRUNWLAorICBMSU5VWF9NSUJfU1lOQ09PS0lFU0ZBSUxFRCwKKyAgTElOVVhfTUlCX0VNQlJZT05JQ1JTVFMsCisgIExJTlVYX01JQl9QUlVORUNBTExFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX0VNQlJZT05JQ1JTVFMsCi0gTElOVVhfTUlCX1BSVU5FQ0FMTEVELAotIExJTlVYX01JQl9SQ1ZQUlVORUQsCi0gTElOVVhfTUlCX09GT1BSVU5FRCwKKyAgTElOVVhfTUlCX1JDVlBSVU5FRCwKKyAgTElOVVhfTUlCX09GT1BSVU5FRCwKKyAgTElOVVhfTUlCX09VVE9GV0lORE9XSUNNUFMsCisgIExJTlVYX01JQl9MT0NLRFJPUFBFRElDTVBTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfT1VUT0ZXSU5ET1dJQ01QUywKLSBMSU5VWF9NSUJfTE9DS0RST1BQRURJQ01QUywKLSBMSU5VWF9NSUJfQVJQRklMVEVSLAotIExJTlVYX01JQl9USU1FV0FJVEVELAorICBMSU5VWF9NSUJfQVJQRklMVEVSLAorICBMSU5VWF9NSUJfVElNRVdBSVRFRCwKKyAgTElOVVhfTUlCX1RJTUVXQUlUUkVDWUNMRUQsCisgIExJTlVYX01JQl9USU1FV0FJVEtJTExFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1RJTUVXQUlUUkVDWUNMRUQsCi0gTElOVVhfTUlCX1RJTUVXQUlUS0lMTEVELAotIExJTlVYX01JQl9QQVdTUEFTU0lWRVJFSkVDVEVELAotIExJTlVYX01JQl9QQVdTQUNUSVZFUkVKRUNURUQsCisgIExJTlVYX01JQl9QQVdTUEFTU0lWRVJFSkVDVEVELAorICBMSU5VWF9NSUJfUEFXU0FDVElWRVJFSkVDVEVELAorICBMSU5VWF9NSUJfUEFXU0VTVEFCUkVKRUNURUQsCisgIExJTlVYX01JQl9ERUxBWUVEQUNLUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1BBV1NFU1RBQlJFSkVDVEVELAotIExJTlVYX01JQl9ERUxBWUVEQUNLUywKLSBMSU5VWF9NSUJfREVMQVlFREFDS0xPQ0tFRCwKLSBMSU5VWF9NSUJfREVMQVlFREFDS0xPU1QsCisgIExJTlVYX01JQl9ERUxBWUVEQUNLTE9DS0VELAorICBMSU5VWF9NSUJfREVMQVlFREFDS0xPU1QsCisgIExJTlVYX01JQl9MSVNURU5PVkVSRkxPV1MsCisgIExJTlVYX01JQl9MSVNURU5EUk9QUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX0xJU1RFTk9WRVJGTE9XUywKLSBMSU5VWF9NSUJfTElTVEVORFJPUFMsCi0gTElOVVhfTUlCX1RDUFBSRVFVRVVFRCwKLSBMSU5VWF9NSUJfVENQRElSRUNUQ09QWUZST01CQUNLTE9HLAorICBMSU5VWF9NSUJfVENQUFJFUVVFVUVELAorICBMSU5VWF9NSUJfVENQRElSRUNUQ09QWUZST01CQUNLTE9HLAorICBMSU5VWF9NSUJfVENQRElSRUNUQ09QWUZST01QUkVRVUVVRSwKKyAgTElOVVhfTUlCX1RDUFBSRVFVRVVFRFJPUFBFRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1RDUERJUkVDVENPUFlGUk9NUFJFUVVFVUUsCi0gTElOVVhfTUlCX1RDUFBSRVFVRVVFRFJPUFBFRCwKLSBMSU5VWF9NSUJfVENQSFBISVRTLAotIExJTlVYX01JQl9UQ1BIUEhJVFNUT1VTRVIsCisgIExJTlVYX01JQl9UQ1BIUEhJVFMsCisgIExJTlVYX01JQl9UQ1BIUEhJVFNUT1VTRVIsCisgIExJTlVYX01JQl9UQ1BQVVJFQUNLUywKKyAgTElOVVhfTUlCX1RDUEhQQUNLUywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1RDUFBVUkVBQ0tTLAotIExJTlVYX01JQl9UQ1BIUEFDS1MsCi0gTElOVVhfTUlCX1RDUFJFTk9SRUNPVkVSWSwKLSBMSU5VWF9NSUJfVENQU0FDS1JFQ09WRVJZLAorICBMSU5VWF9NSUJfVENQUkVOT1JFQ09WRVJZLAorICBMSU5VWF9NSUJfVENQU0FDS1JFQ09WRVJZLAorICBMSU5VWF9NSUJfVENQU0FDS1JFTkVHSU5HLAorICBMSU5VWF9NSUJfVENQRkFDS1JFT1JERVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9UQ1BTQUNLUkVORUdJTkcsCi0gTElOVVhfTUlCX1RDUEZBQ0tSRU9SREVSLAotIExJTlVYX01JQl9UQ1BTQUNLUkVPUkRFUiwKLSBMSU5VWF9NSUJfVENQUkVOT1JFT1JERVIsCisgIExJTlVYX01JQl9UQ1BTQUNLUkVPUkRFUiwKKyAgTElOVVhfTUlCX1RDUFJFTk9SRU9SREVSLAorICBMSU5VWF9NSUJfVENQVFNSRU9SREVSLAorICBMSU5VWF9NSUJfVENQRlVMTFVORE8sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9UQ1BUU1JFT1JERVIsCi0gTElOVVhfTUlCX1RDUEZVTExVTkRPLAotIExJTlVYX01JQl9UQ1BQQVJUSUFMVU5ETywKLSBMSU5VWF9NSUJfVENQRFNBQ0tVTkRPLAorICBMSU5VWF9NSUJfVENQUEFSVElBTFVORE8sCisgIExJTlVYX01JQl9UQ1BEU0FDS1VORE8sCisgIExJTlVYX01JQl9UQ1BMT1NTVU5ETywKKyAgTElOVVhfTUlCX1RDUExPU1RSRVRSQU5TTUlULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQTE9TU1VORE8sCi0gTElOVVhfTUlCX1RDUExPU1RSRVRSQU5TTUlULAotIExJTlVYX01JQl9UQ1BSRU5PRkFJTFVSRVMsCi0gTElOVVhfTUlCX1RDUFNBQ0tGQUlMVVJFUywKKyAgTElOVVhfTUlCX1RDUFJFTk9GQUlMVVJFUywKKyAgTElOVVhfTUlCX1RDUFNBQ0tGQUlMVVJFUywKKyAgTElOVVhfTUlCX1RDUExPU1NGQUlMVVJFUywKKyAgTElOVVhfTUlCX1RDUEZBU1RSRVRSQU5TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQTE9TU0ZBSUxVUkVTLAotIExJTlVYX01JQl9UQ1BGQVNUUkVUUkFOUywKLSBMSU5VWF9NSUJfVENQRk9SV0FSRFJFVFJBTlMsCi0gTElOVVhfTUlCX1RDUFNMT1dTVEFSVFJFVFJBTlMsCisgIExJTlVYX01JQl9UQ1BGT1JXQVJEUkVUUkFOUywKKyAgTElOVVhfTUlCX1RDUFNMT1dTVEFSVFJFVFJBTlMsCisgIExJTlVYX01JQl9UQ1BUSU1FT1VUUywKKyAgTElOVVhfTUlCX1RDUExPU1NQUk9CRVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9UQ1BUSU1FT1VUUywKLSBMSU5VWF9NSUJfVENQTE9TU1BST0JFUywKLSBMSU5VWF9NSUJfVENQTE9TU1BST0JFUkVDT1ZFUlksCi0gTElOVVhfTUlCX1RDUFJFTk9SRUNPVkVSWUZBSUwsCisgIExJTlVYX01JQl9UQ1BMT1NTUFJPQkVSRUNPVkVSWSwKKyAgTElOVVhfTUlCX1RDUFJFTk9SRUNPVkVSWUZBSUwsCisgIExJTlVYX01JQl9UQ1BTQUNLUkVDT1ZFUllGQUlMLAorICBMSU5VWF9NSUJfVENQU0NIRURVTEVSRkFJTEVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQU0FDS1JFQ09WRVJZRkFJTCwKLSBMSU5VWF9NSUJfVENQU0NIRURVTEVSRkFJTEVELAotIExJTlVYX01JQl9UQ1BSQ1ZDT0xMQVBTRUQsCi0gTElOVVhfTUlCX1RDUERTQUNLT0xEU0VOVCwKKyAgTElOVVhfTUlCX1RDUFJDVkNPTExBUFNFRCwKKyAgTElOVVhfTUlCX1RDUERTQUNLT0xEU0VOVCwKKyAgTElOVVhfTUlCX1RDUERTQUNLT0ZPU0VOVCwKKyAgTElOVVhfTUlCX1RDUERTQUNLUkVDViwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1RDUERTQUNLT0ZPU0VOVCwKLSBMSU5VWF9NSUJfVENQRFNBQ0tSRUNWLAotIExJTlVYX01JQl9UQ1BEU0FDS09GT1JFQ1YsCi0gTElOVVhfTUlCX1RDUEFCT1JUT05EQVRBLAorICBMSU5VWF9NSUJfVENQRFNBQ0tPRk9SRUNWLAorICBMSU5VWF9NSUJfVENQQUJPUlRPTkRBVEEsCisgIExJTlVYX01JQl9UQ1BBQk9SVE9OQ0xPU0UsCisgIExJTlVYX01JQl9UQ1BBQk9SVE9OTUVNT1JZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQQUJPUlRPTkNMT1NFLAotIExJTlVYX01JQl9UQ1BBQk9SVE9OTUVNT1JZLAotIExJTlVYX01JQl9UQ1BBQk9SVE9OVElNRU9VVCwKLSBMSU5VWF9NSUJfVENQQUJPUlRPTkxJTkdFUiwKKyAgTElOVVhfTUlCX1RDUEFCT1JUT05USU1FT1VULAorICBMSU5VWF9NSUJfVENQQUJPUlRPTkxJTkdFUiwKKyAgTElOVVhfTUlCX1RDUEFCT1JURkFJTEVELAorICBMSU5VWF9NSUJfVENQTUVNT1JZUFJFU1NVUkVTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQQUJPUlRGQUlMRUQsCi0gTElOVVhfTUlCX1RDUE1FTU9SWVBSRVNTVVJFUywKLSBMSU5VWF9NSUJfVENQU0FDS0RJU0NBUkQsCi0gTElOVVhfTUlCX1RDUERTQUNLSUdOT1JFRE9MRCwKKyAgTElOVVhfTUlCX1RDUFNBQ0tESVNDQVJELAorICBMSU5VWF9NSUJfVENQRFNBQ0tJR05PUkVET0xELAorICBMSU5VWF9NSUJfVENQRFNBQ0tJR05PUkVETk9VTkRPLAorICBMSU5VWF9NSUJfVENQU1BVUklPVVNSVE9TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQRFNBQ0tJR05PUkVETk9VTkRPLAotIExJTlVYX01JQl9UQ1BTUFVSSU9VU1JUT1MsCi0gTElOVVhfTUlCX1RDUE1ENU5PVEZPVU5ELAotIExJTlVYX01JQl9UQ1BNRDVVTkVYUEVDVEVELAorICBMSU5VWF9NSUJfVENQTUQ1Tk9URk9VTkQsCisgIExJTlVYX01JQl9UQ1BNRDVVTkVYUEVDVEVELAorICBMSU5VWF9NSUJfU0FDS1NISUZURUQsCisgIExJTlVYX01JQl9TQUNLTUVSR0VELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfU0FDS1NISUZURUQsCi0gTElOVVhfTUlCX1NBQ0tNRVJHRUQsCi0gTElOVVhfTUlCX1NBQ0tTSElGVEZBTExCQUNLLAotIExJTlVYX01JQl9UQ1BCQUNLTE9HRFJPUCwKKyAgTElOVVhfTUlCX1NBQ0tTSElGVEZBTExCQUNLLAorICBMSU5VWF9NSUJfVENQQkFDS0xPR0RST1AsCisgIExJTlVYX01JQl9UQ1BNSU5UVExEUk9QLAorICBMSU5VWF9NSUJfVENQREVGRVJBQ0NFUFREUk9QLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQTUlOVFRMRFJPUCwKLSBMSU5VWF9NSUJfVENQREVGRVJBQ0NFUFREUk9QLAotIExJTlVYX01JQl9JUFJQRklMVEVSLAotIExJTlVYX01JQl9UQ1BUSU1FV0FJVE9WRVJGTE9XLAorICBMSU5VWF9NSUJfSVBSUEZJTFRFUiwKKyAgTElOVVhfTUlCX1RDUFRJTUVXQUlUT1ZFUkZMT1csCisgIExJTlVYX01JQl9UQ1BSRVFRRlVMTERPQ09PS0lFUywKKyAgTElOVVhfTUlCX1RDUFJFUVFGVUxMRFJPUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1RDUFJFUVFGVUxMRE9DT09LSUVTLAotIExJTlVYX01JQl9UQ1BSRVFRRlVMTERST1AsCi0gTElOVVhfTUlCX1RDUFJFVFJBTlNGQUlMLAotIExJTlVYX01JQl9UQ1BSQ1ZDT0FMRVNDRSwKKyAgTElOVVhfTUlCX1RDUFJFVFJBTlNGQUlMLAorICBMSU5VWF9NSUJfVENQUkNWQ09BTEVTQ0UsCisgIExJTlVYX01JQl9UQ1BPRk9RVUVVRSwKKyAgTElOVVhfTUlCX1RDUE9GT0RST1AsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9UQ1BPRk9RVUVVRSwKLSBMSU5VWF9NSUJfVENQT0ZPRFJPUCwKLSBMSU5VWF9NSUJfVENQT0ZPTUVSR0UsCi0gTElOVVhfTUlCX1RDUENIQUxMRU5HRUFDSywKKyAgTElOVVhfTUlCX1RDUE9GT01FUkdFLAorICBMSU5VWF9NSUJfVENQQ0hBTExFTkdFQUNLLAorICBMSU5VWF9NSUJfVENQU1lOQ0hBTExFTkdFLAorICBMSU5VWF9NSUJfVENQRkFTVE9QRU5BQ1RJVkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9UQ1BTWU5DSEFMTEVOR0UsCi0gTElOVVhfTUlCX1RDUEZBU1RPUEVOQUNUSVZFLAotIExJTlVYX01JQl9UQ1BGQVNUT1BFTlBBU1NJVkUsCi0gTElOVVhfTUlCX1RDUEZBU1RPUEVOUEFTU0lWRUZBSUwsCisgIExJTlVYX01JQl9UQ1BGQVNUT1BFTkFDVElWRUZBSUwsCisgIExJTlVYX01JQl9UQ1BGQVNUT1BFTlBBU1NJVkUsCisgIExJTlVYX01JQl9UQ1BGQVNUT1BFTlBBU1NJVkVGQUlMLAorICBMSU5VWF9NSUJfVENQRkFTVE9QRU5MSVNURU5PVkVSRkxPVywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1RDUEZBU1RPUEVOTElTVEVOT1ZFUkZMT1csCi0gTElOVVhfTUlCX1RDUEZBU1RPUEVOQ09PS0lFUkVRRCwKLSBMSU5VWF9NSUJfVENQU1BVUklPVVNfUlRYX0hPU1RRVUVVRVMsCi0gTElOVVhfTUlCX0JVU1lQT0xMUlhQQUNLRVRTLAorICBMSU5VWF9NSUJfVENQRkFTVE9QRU5DT09LSUVSRVFELAorICBMSU5VWF9NSUJfVENQU1BVUklPVVNfUlRYX0hPU1RRVUVVRVMsCisgIExJTlVYX01JQl9CVVNZUE9MTFJYUEFDS0VUUywKKyAgTElOVVhfTUlCX1RDUEFVVE9DT1JLSU5HLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfVENQQVVUT0NPUktJTkcsCi0gX19MSU5VWF9NSUJfTUFYCisgIExJTlVYX01JQl9UQ1BGUk9NWkVST1dJTkRPV0FEViwKKyAgTElOVVhfTUlCX1RDUFRPWkVST1dJTkRPV0FEViwKKyAgTElOVVhfTUlCX1RDUFdBTlRaRVJPV0lORE9XQURWLAorICBMSU5VWF9NSUJfVENQU1lOUkVUUkFOUywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIExJTlVYX01JQl9UQ1BPUklHREFUQVNFTlQsCisgIF9fTElOVVhfTUlCX01BWAogfTsKLWVudW0KK2VudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSBMSU5VWF9NSUJfWEZSTU5VTSA9IDAsCi0gTElOVVhfTUlCX1hGUk1JTkVSUk9SLAotIExJTlVYX01JQl9YRlJNSU5CVUZGRVJFUlJPUiwKKyAgTElOVVhfTUlCX1hGUk1OVU0gPSAwLAorICBMSU5VWF9NSUJfWEZSTUlORVJST1IsCisgIExJTlVYX01JQl9YRlJNSU5CVUZGRVJFUlJPUiwKKyAgTElOVVhfTUlCX1hGUk1JTkhEUkVSUk9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfWEZSTUlOSERSRVJST1IsCi0gTElOVVhfTUlCX1hGUk1JTk5PU1RBVEVTLAotIExJTlVYX01JQl9YRlJNSU5TVEFURVBST1RPRVJST1IsCi0gTElOVVhfTUlCX1hGUk1JTlNUQVRFTU9ERUVSUk9SLAorICBMSU5VWF9NSUJfWEZSTUlOTk9TVEFURVMsCisgIExJTlVYX01JQl9YRlJNSU5TVEFURVBST1RPRVJST1IsCisgIExJTlVYX01JQl9YRlJNSU5TVEFURU1PREVFUlJPUiwKKyAgTElOVVhfTUlCX1hGUk1JTlNUQVRFU0VRRVJST1IsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9YRlJNSU5TVEFURVNFUUVSUk9SLAotIExJTlVYX01JQl9YRlJNSU5TVEFURUVYUElSRUQsCi0gTElOVVhfTUlCX1hGUk1JTlNUQVRFTUlTTUFUQ0gsCi0gTElOVVhfTUlCX1hGUk1JTlNUQVRFSU5WQUxJRCwKKyAgTElOVVhfTUlCX1hGUk1JTlNUQVRFRVhQSVJFRCwKKyAgTElOVVhfTUlCX1hGUk1JTlNUQVRFTUlTTUFUQ0gsCisgIExJTlVYX01JQl9YRlJNSU5TVEFURUlOVkFMSUQsCisgIExJTlVYX01JQl9YRlJNSU5UTVBMTUlTTUFUQ0gsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIExJTlVYX01JQl9YRlJNSU5UTVBMTUlTTUFUQ0gsCi0gTElOVVhfTUlCX1hGUk1JTk5PUE9MUywKLSBMSU5VWF9NSUJfWEZSTUlOUE9MQkxPQ0ssCi0gTElOVVhfTUlCX1hGUk1JTlBPTEVSUk9SLAorICBMSU5VWF9NSUJfWEZSTUlOTk9QT0xTLAorICBMSU5VWF9NSUJfWEZSTUlOUE9MQkxPQ0ssCisgIExJTlVYX01JQl9YRlJNSU5QT0xFUlJPUiwKKyAgTElOVVhfTUlCX1hGUk1PVVRFUlJPUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1hGUk1PVVRFUlJPUiwKLSBMSU5VWF9NSUJfWEZSTU9VVEJVTkRMRUdFTkVSUk9SLAotIExJTlVYX01JQl9YRlJNT1VUQlVORExFQ0hFQ0tFUlJPUiwKLSBMSU5VWF9NSUJfWEZSTU9VVE5PU1RBVEVTLAorICBMSU5VWF9NSUJfWEZSTU9VVEJVTkRMRUdFTkVSUk9SLAorICBMSU5VWF9NSUJfWEZSTU9VVEJVTkRMRUNIRUNLRVJST1IsCisgIExJTlVYX01JQl9YRlJNT1VUTk9TVEFURVMsCisgIExJTlVYX01JQl9YRlJNT1VUU1RBVEVQUk9UT0VSUk9SLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfWEZSTU9VVFNUQVRFUFJPVE9FUlJPUiwKLSBMSU5VWF9NSUJfWEZSTU9VVFNUQVRFTU9ERUVSUk9SLAotIExJTlVYX01JQl9YRlJNT1VUU1RBVEVTRVFFUlJPUiwKLSBMSU5VWF9NSUJfWEZSTU9VVFNUQVRFRVhQSVJFRCwKKyAgTElOVVhfTUlCX1hGUk1PVVRTVEFURU1PREVFUlJPUiwKKyAgTElOVVhfTUlCX1hGUk1PVVRTVEFURVNFUUVSUk9SLAorICBMSU5VWF9NSUJfWEZSTU9VVFNUQVRFRVhQSVJFRCwKKyAgTElOVVhfTUlCX1hGUk1PVVRQT0xCTE9DSywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTElOVVhfTUlCX1hGUk1PVVRQT0xCTE9DSywKLSBMSU5VWF9NSUJfWEZSTU9VVFBPTERFQUQsCi0gTElOVVhfTUlCX1hGUk1PVVRQT0xFUlJPUiwKLSBMSU5VWF9NSUJfWEZSTUZXREhEUkVSUk9SLAorICBMSU5VWF9NSUJfWEZSTU9VVFBPTERFQUQsCisgIExJTlVYX01JQl9YRlJNT1VUUE9MRVJST1IsCisgIExJTlVYX01JQl9YRlJNRldESERSRVJST1IsCisgIExJTlVYX01JQl9YRlJNT1VUU1RBVEVJTlZBTElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBMSU5VWF9NSUJfWEZSTU9VVFNUQVRFSU5WQUxJRCwKLSBMSU5VWF9NSUJfWEZSTUFDUVVJUkVFUlJPUiwKLSBfX0xJTlVYX01JQl9YRlJNTUFYCisgIExJTlVYX01JQl9YRlJNQUNRVUlSRUVSUk9SLAorICBfX0xJTlVYX01JQl9YRlJNTUFYCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc29ja19kaWFnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvY2tfZGlhZy5oCmluZGV4IDBkYzI5MDIuLjA1Mjc3OWUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc29ja19kaWFnLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb2NrX2RpYWcuaApAQCAtMjIsMjIgKzIyLDIyIEBACiAjZGVmaW5lIFNPQ0tfRElBR19CWV9GQU1JTFkgMjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc29ja19kaWFnX3JlcSB7Ci0gX191OCBzZGlhZ19mYW1pbHk7Ci0gX191OCBzZGlhZ19wcm90b2NvbDsKKyAgX191OCBzZGlhZ19mYW1pbHk7CisgIF9fdTggc2RpYWdfcHJvdG9jb2w7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFNLX01FTUlORk9fUk1FTV9BTExPQywKLSBTS19NRU1JTkZPX1JDVkJVRiwKLSBTS19NRU1JTkZPX1dNRU1fQUxMT0MsCisgIFNLX01FTUlORk9fUk1FTV9BTExPQywKKyAgU0tfTUVNSU5GT19SQ1ZCVUYsCisgIFNLX01FTUlORk9fV01FTV9BTExPQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0tfTUVNSU5GT19TTkRCVUYsCi0gU0tfTUVNSU5GT19GV0RfQUxMT0MsCi0gU0tfTUVNSU5GT19XTUVNX1FVRVVFRCwKLSBTS19NRU1JTkZPX09QVE1FTSwKKyAgU0tfTUVNSU5GT19TTkRCVUYsCisgIFNLX01FTUlORk9fRldEX0FMTE9DLAorICBTS19NRU1JTkZPX1dNRU1fUVVFVUVELAorICBTS19NRU1JTkZPX09QVE1FTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU0tfTUVNSU5GT19CQUNLTE9HLAotIFNLX01FTUlORk9fVkFSUywKKyAgU0tfTUVNSU5GT19CQUNLTE9HLAorICBTS19NRU1JTkZPX1ZBUlMsCiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb2NrZXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc29ja2V0LmgKaW5kZXggMjNhYWU3Mi4uMjkyZGQxNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb2NrZXQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvY2tldC5oCkBAIC0xOSwxMiArMTksMTIgQEAKICNpZm5kZWYgX1VBUElfTElOVVhfU09DS0VUX0gKICNkZWZpbmUgX1VBUElfTElOVVhfU09DS0VUX0gKICNkZWZpbmUgX0tfU1NfTUFYU0laRSAxMjgKLSNkZWZpbmUgX0tfU1NfQUxJR05TSVpFIChfX2FsaWdub2ZfXyAoc3RydWN0IHNvY2thZGRyICopKQorI2RlZmluZSBfS19TU19BTElHTlNJWkUgKF9fYWxpZ25vZl9fKHN0cnVjdCBzb2NrYWRkciAqKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IF9fa2VybmVsX3NhX2ZhbWlseV90Owogc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgewotIF9fa2VybmVsX3NhX2ZhbWlseV90IHNzX2ZhbWlseTsKLSBjaGFyIF9fZGF0YVtfS19TU19NQVhTSVpFIC0gc2l6ZW9mKHVuc2lnbmVkIHNob3J0KV07CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHNzX2ZhbWlseTsKKyAgY2hhciBfX2RhdGFbX0tfU1NfTUFYU0laRSAtIHNpemVvZih1bnNpZ25lZCBzaG9ydCldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoX0tfU1NfQUxJR05TSVpFKSkpOworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKF9LX1NTX0FMSUdOU0laRSkpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb20uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc29tLmgKaW5kZXggMTA5OWRkNC4uY2I3NmU3MCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb20uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvbS5oCkBAIC0yMiw0NiArMjIsNDYgQEAKICNkZWZpbmUgU09NX1BBR0VTSVpFIDQwOTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc29tX2hkciB7Ci0gc2hvcnQgc3lzdGVtX2lkOwotIHNob3J0IGFfbWFnaWM7Ci0gdW5zaWduZWQgaW50IHZlcnNpb25faWQ7CisgIHNob3J0IHN5c3RlbV9pZDsKKyAgc2hvcnQgYV9tYWdpYzsKKyAgdW5zaWduZWQgaW50IHZlcnNpb25faWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB0aW1lc3BlYyBmaWxlX3RpbWU7Ci0gdW5zaWduZWQgaW50IGVudHJ5X3NwYWNlOwotIHVuc2lnbmVkIGludCBlbnRyeV9zdWJzcGFjZTsKLSB1bnNpZ25lZCBpbnQgZW50cnlfb2Zmc2V0OworICBzdHJ1Y3QgdGltZXNwZWMgZmlsZV90aW1lOworICB1bnNpZ25lZCBpbnQgZW50cnlfc3BhY2U7CisgIHVuc2lnbmVkIGludCBlbnRyeV9zdWJzcGFjZTsKKyAgdW5zaWduZWQgaW50IGVudHJ5X29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGF1eF9oZWFkZXJfbG9jYXRpb247Ci0gdW5zaWduZWQgaW50IGF1eF9oZWFkZXJfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgc29tX2xlbmd0aDsKLSB1bnNpZ25lZCBpbnQgcHJlc3VtZWRfZHA7CisgIHVuc2lnbmVkIGludCBhdXhfaGVhZGVyX2xvY2F0aW9uOworICB1bnNpZ25lZCBpbnQgYXV4X2hlYWRlcl9zaXplOworICB1bnNpZ25lZCBpbnQgc29tX2xlbmd0aDsKKyAgdW5zaWduZWQgaW50IHByZXN1bWVkX2RwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3BhY2VfbG9jYXRpb247Ci0gdW5zaWduZWQgaW50IHNwYWNlX3RvdGFsOwotIHVuc2lnbmVkIGludCBzdWJzcGFjZV9sb2NhdGlvbjsKLSB1bnNpZ25lZCBpbnQgc3Vic3BhY2VfdG90YWw7CisgIHVuc2lnbmVkIGludCBzcGFjZV9sb2NhdGlvbjsKKyAgdW5zaWduZWQgaW50IHNwYWNlX3RvdGFsOworICB1bnNpZ25lZCBpbnQgc3Vic3BhY2VfbG9jYXRpb247CisgIHVuc2lnbmVkIGludCBzdWJzcGFjZV90b3RhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGxvYWRlcl9maXh1cF9sb2NhdGlvbjsKLSB1bnNpZ25lZCBpbnQgbG9hZGVyX2ZpeHVwX3RvdGFsOwotIHVuc2lnbmVkIGludCBzcGFjZV9zdHJpbmdzX2xvY2F0aW9uOwotIHVuc2lnbmVkIGludCBzcGFjZV9zdHJpbmdzX3NpemU7CisgIHVuc2lnbmVkIGludCBsb2FkZXJfZml4dXBfbG9jYXRpb247CisgIHVuc2lnbmVkIGludCBsb2FkZXJfZml4dXBfdG90YWw7CisgIHVuc2lnbmVkIGludCBzcGFjZV9zdHJpbmdzX2xvY2F0aW9uOworICB1bnNpZ25lZCBpbnQgc3BhY2Vfc3RyaW5nc19zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgaW5pdF9hcnJheV9sb2NhdGlvbjsKLSB1bnNpZ25lZCBpbnQgaW5pdF9hcnJheV90b3RhbDsKLSB1bnNpZ25lZCBpbnQgY29tcGlsZXJfbG9jYXRpb247Ci0gdW5zaWduZWQgaW50IGNvbXBpbGVyX3RvdGFsOworICB1bnNpZ25lZCBpbnQgaW5pdF9hcnJheV9sb2NhdGlvbjsKKyAgdW5zaWduZWQgaW50IGluaXRfYXJyYXlfdG90YWw7CisgIHVuc2lnbmVkIGludCBjb21waWxlcl9sb2NhdGlvbjsKKyAgdW5zaWduZWQgaW50IGNvbXBpbGVyX3RvdGFsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3ltYm9sX2xvY2F0aW9uOwotIHVuc2lnbmVkIGludCBzeW1ib2xfdG90YWw7Ci0gdW5zaWduZWQgaW50IGZpeHVwX3JlcXVlc3RfbG9jYXRpb247Ci0gdW5zaWduZWQgaW50IGZpeHVwX3JlcXVlc3RfdG90YWw7CisgIHVuc2lnbmVkIGludCBzeW1ib2xfbG9jYXRpb247CisgIHVuc2lnbmVkIGludCBzeW1ib2xfdG90YWw7CisgIHVuc2lnbmVkIGludCBmaXh1cF9yZXF1ZXN0X2xvY2F0aW9uOworICB1bnNpZ25lZCBpbnQgZml4dXBfcmVxdWVzdF90b3RhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN5bWJvbF9zdHJpbmdzX2xvY2F0aW9uOwotIHVuc2lnbmVkIGludCBzeW1ib2xfc3RyaW5nc19zaXplOwotIHVuc2lnbmVkIGludCB1bmxvYWRhYmxlX3NwX2xvY2F0aW9uOwotIHVuc2lnbmVkIGludCB1bmxvYWRhYmxlX3NwX3NpemU7CisgIHVuc2lnbmVkIGludCBzeW1ib2xfc3RyaW5nc19sb2NhdGlvbjsKKyAgdW5zaWduZWQgaW50IHN5bWJvbF9zdHJpbmdzX3NpemU7CisgIHVuc2lnbmVkIGludCB1bmxvYWRhYmxlX3NwX2xvY2F0aW9uOworICB1bnNpZ25lZCBpbnQgdW5sb2FkYWJsZV9zcF9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY2hlY2tzdW07CisgIHVuc2lnbmVkIGludCBjaGVja3N1bTsKIH07CiAjZGVmaW5lIFNPTV9TSURfUEFSSVNDXzFfMCAweDAyMGIKICNkZWZpbmUgU09NX1NJRF9QQVJJU0NfMV8xIDB4MDIxMApAQCAtODEsOTAgKzgxLDkwIEBACiAjZGVmaW5lIFNPTV9JRF9ORVcgODcxMDI0MTIKIHN0cnVjdCBhdXhfaWQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgbWFuZGF0b3J5IDoxOwotIHVuc2lnbmVkIGludCBjb3B5IDoxOwotIHVuc2lnbmVkIGludCBhcHBlbmQgOjE7Ci0gdW5zaWduZWQgaW50IGlnbm9yZSA6MTsKKyAgdW5zaWduZWQgaW50IG1hbmRhdG9yeSA6IDE7CisgIHVuc2lnbmVkIGludCBjb3B5IDogMTsKKyAgdW5zaWduZWQgaW50IGFwcGVuZCA6IDE7CisgIHVuc2lnbmVkIGludCBpZ25vcmUgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQgOjEyOwotIHVuc2lnbmVkIGludCB0eXBlIDoxNjsKLSB1bnNpZ25lZCBpbnQgbGVuZ3RoOworICB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQgOiAxMjsKKyAgdW5zaWduZWQgaW50IHR5cGUgOiAxNjsKKyAgdW5zaWduZWQgaW50IGxlbmd0aDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNvbV9leGVjX2F1eGhkciB7Ci0gc3RydWN0IGF1eF9pZCBzb21fYXV4aGRyOwotIGludCBleGVjX3RzaXplOwotIGludCBleGVjX3RtZW07CisgIHN0cnVjdCBhdXhfaWQgc29tX2F1eGhkcjsKKyAgaW50IGV4ZWNfdHNpemU7CisgIGludCBleGVjX3RtZW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBleGVjX3RmaWxlOwotIGludCBleGVjX2RzaXplOwotIGludCBleGVjX2RtZW07Ci0gaW50IGV4ZWNfZGZpbGU7CisgIGludCBleGVjX3RmaWxlOworICBpbnQgZXhlY19kc2l6ZTsKKyAgaW50IGV4ZWNfZG1lbTsKKyAgaW50IGV4ZWNfZGZpbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBleGVjX2JzaXplOwotIGludCBleGVjX2VudHJ5OwotIGludCBleGVjX2ZsYWdzOwotIGludCBleGVjX2JmaWxsOworICBpbnQgZXhlY19ic2l6ZTsKKyAgaW50IGV4ZWNfZW50cnk7CisgIGludCBleGVjX2ZsYWdzOworICBpbnQgZXhlY19iZmlsbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogdW5pb24gbmFtZV9wdCB7Ci0gY2hhciAqIG5fbmFtZTsKLSB1bnNpZ25lZCBpbnQgbl9zdHJ4OworICBjaGFyICogbl9uYW1lOworICB1bnNpZ25lZCBpbnQgbl9zdHJ4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc3BhY2VfZGljdGlvbmFyeV9yZWNvcmQgewotIHVuaW9uIG5hbWVfcHQgbmFtZTsKLSB1bnNpZ25lZCBpbnQgaXNfbG9hZGFibGUgOjE7CisgIHVuaW9uIG5hbWVfcHQgbmFtZTsKKyAgdW5zaWduZWQgaW50IGlzX2xvYWRhYmxlIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGlzX2RlZmluZWQgOjE7Ci0gdW5zaWduZWQgaW50IGlzX3ByaXZhdGUgOjE7Ci0gdW5zaWduZWQgaW50IGhhc19pbnRlcm1lZGlhdGVfY29kZSA6MTsKLSB1bnNpZ25lZCBpbnQgaXNfdHNwZWNpZmljIDoxOworICB1bnNpZ25lZCBpbnQgaXNfZGVmaW5lZCA6IDE7CisgIHVuc2lnbmVkIGludCBpc19wcml2YXRlIDogMTsKKyAgdW5zaWduZWQgaW50IGhhc19pbnRlcm1lZGlhdGVfY29kZSA6IDE7CisgIHVuc2lnbmVkIGludCBpc190c3BlY2lmaWMgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQgOjExOwotIHVuc2lnbmVkIGludCBzb3J0X2tleSA6ODsKLSB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQyIDo4OwotIGludCBzcGFjZV9udW1iZXI7CisgIHVuc2lnbmVkIGludCByZXNlcnZlZCA6IDExOworICB1bnNpZ25lZCBpbnQgc29ydF9rZXkgOiA4OworICB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQyIDogODsKKyAgaW50IHNwYWNlX251bWJlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHN1YnNwYWNlX2luZGV4OwotIHVuc2lnbmVkIGludCBzdWJzcGFjZV9xdWFudGl0eTsKLSBpbnQgbG9hZGVyX2ZpeF9pbmRleDsKLSB1bnNpZ25lZCBpbnQgbG9hZGVyX2ZpeF9xdWFudGl0eTsKKyAgaW50IHN1YnNwYWNlX2luZGV4OworICB1bnNpZ25lZCBpbnQgc3Vic3BhY2VfcXVhbnRpdHk7CisgIGludCBsb2FkZXJfZml4X2luZGV4OworICB1bnNpZ25lZCBpbnQgbG9hZGVyX2ZpeF9xdWFudGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGluaXRfcG9pbnRlcl9pbmRleDsKLSB1bnNpZ25lZCBpbnQgaW5pdF9wb2ludGVyX3F1YW50aXR5OworICBpbnQgaW5pdF9wb2ludGVyX2luZGV4OworICB1bnNpZ25lZCBpbnQgaW5pdF9wb2ludGVyX3F1YW50aXR5OwogfTsKIHN0cnVjdCBzdWJzcGFjZV9kaWN0aW9uYXJ5X3JlY29yZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzcGFjZV9pbmRleDsKLSB1bnNpZ25lZCBpbnQgYWNjZXNzX2NvbnRyb2xfYml0cyA6NzsKLSB1bnNpZ25lZCBpbnQgbWVtb3J5X3Jlc2lkZW50IDoxOwotIHVuc2lnbmVkIGludCBkdXBfY29tbW9uIDoxOworICBpbnQgc3BhY2VfaW5kZXg7CisgIHVuc2lnbmVkIGludCBhY2Nlc3NfY29udHJvbF9iaXRzIDogNzsKKyAgdW5zaWduZWQgaW50IG1lbW9yeV9yZXNpZGVudCA6IDE7CisgIHVuc2lnbmVkIGludCBkdXBfY29tbW9uIDogMTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGlzX2NvbW1vbiA6MTsKLSB1bnNpZ25lZCBpbnQgcXVhZHJhbnQgOjI7Ci0gdW5zaWduZWQgaW50IGluaXRpYWxseV9mcm96ZW4gOjE7Ci0gdW5zaWduZWQgaW50IGlzX2ZpcnN0IDoxOworICB1bnNpZ25lZCBpbnQgaXNfY29tbW9uIDogMTsKKyAgdW5zaWduZWQgaW50IHF1YWRyYW50IDogMjsKKyAgdW5zaWduZWQgaW50IGluaXRpYWxseV9mcm96ZW4gOiAxOworICB1bnNpZ25lZCBpbnQgaXNfZmlyc3QgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY29kZV9vbmx5IDoxOwotIHVuc2lnbmVkIGludCBzb3J0X2tleSA6ODsKLSB1bnNpZ25lZCBpbnQgcmVwbGljYXRlX2luaXQgOjE7Ci0gdW5zaWduZWQgaW50IGNvbnRpbnVhdGlvbiA6MTsKKyAgdW5zaWduZWQgaW50IGNvZGVfb25seSA6IDE7CisgIHVuc2lnbmVkIGludCBzb3J0X2tleSA6IDg7CisgIHVuc2lnbmVkIGludCByZXBsaWNhdGVfaW5pdCA6IDE7CisgIHVuc2lnbmVkIGludCBjb250aW51YXRpb24gOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgaXNfdHNwZWNpZmljIDoxOwotIHVuc2lnbmVkIGludCBpc19jb21kYXQgOjE7Ci0gdW5zaWduZWQgaW50IHJlc2VydmVkIDo0OwotIGludCBmaWxlX2xvY19pbml0X3ZhbHVlOworICB1bnNpZ25lZCBpbnQgaXNfdHNwZWNpZmljIDogMTsKKyAgdW5zaWduZWQgaW50IGlzX2NvbWRhdCA6IDE7CisgIHVuc2lnbmVkIGludCByZXNlcnZlZCA6IDQ7CisgIGludCBmaWxlX2xvY19pbml0X3ZhbHVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgaW5pdGlhbGl6YXRpb25fbGVuZ3RoOwotIHVuc2lnbmVkIGludCBzdWJzcGFjZV9zdGFydDsKLSB1bnNpZ25lZCBpbnQgc3Vic3BhY2VfbGVuZ3RoOwotIHVuc2lnbmVkIGludCByZXNlcnZlZDIgOjU7CisgIHVuc2lnbmVkIGludCBpbml0aWFsaXphdGlvbl9sZW5ndGg7CisgIHVuc2lnbmVkIGludCBzdWJzcGFjZV9zdGFydDsKKyAgdW5zaWduZWQgaW50IHN1YnNwYWNlX2xlbmd0aDsKKyAgdW5zaWduZWQgaW50IHJlc2VydmVkMiA6IDU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBhbGlnbm1lbnQgOjI3OwotIHVuaW9uIG5hbWVfcHQgbmFtZTsKLSBpbnQgZml4dXBfcmVxdWVzdF9pbmRleDsKLSB1bnNpZ25lZCBpbnQgZml4dXBfcmVxdWVzdF9xdWFudGl0eTsKKyAgdW5zaWduZWQgaW50IGFsaWdubWVudCA6IDI3OworICB1bmlvbiBuYW1lX3B0IG5hbWU7CisgIGludCBmaXh1cF9yZXF1ZXN0X2luZGV4OworICB1bnNpZ25lZCBpbnQgZml4dXBfcmVxdWVzdF9xdWFudGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvbmV0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvbmV0LmgKaW5kZXggMzcwNGU4Yy4uMWUzNDg0MSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb25ldC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc29uZXQuaApAQCAtMTgsMjMgKzE4LDIzIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX1VBUElMSU5VWF9TT05FVF9ICiAjZGVmaW5lIF9VQVBJTElOVVhfU09ORVRfSAotI2RlZmluZSBfX1NPTkVUX0lURU1TICAgX19IQU5ETEVfSVRFTShzZWN0aW9uX2JpcCk7ICAgICBfX0hBTkRMRV9JVEVNKGxpbmVfYmlwKTsgICAgIF9fSEFORExFX0lURU0ocGF0aF9iaXApOyAgICAgX19IQU5ETEVfSVRFTShsaW5lX2ZlYmUpOyAgICAgX19IQU5ETEVfSVRFTShwYXRoX2ZlYmUpOyAgICAgX19IQU5ETEVfSVRFTShjb3JyX2hjcyk7ICAgICBfX0hBTkRMRV9JVEVNKHVuY29ycl9oY3MpOyAgICAgX19IQU5ETEVfSVRFTSh0eF9jZWxscyk7ICAgICBfX0hBTkRMRV9JVEVNKHJ4X2NlbGxzKTsKKyNkZWZpbmUgX19TT05FVF9JVEVNUyBfX0hBTkRMRV9JVEVNKHNlY3Rpb25fYmlwKTsgX19IQU5ETEVfSVRFTShsaW5lX2JpcCk7IF9fSEFORExFX0lURU0ocGF0aF9iaXApOyBfX0hBTkRMRV9JVEVNKGxpbmVfZmViZSk7IF9fSEFORExFX0lURU0ocGF0aF9mZWJlKTsgX19IQU5ETEVfSVRFTShjb3JyX2hjcyk7IF9fSEFORExFX0lURU0odW5jb3JyX2hjcyk7IF9fSEFORExFX0lURU0odHhfY2VsbHMpOyBfX0hBTkRMRV9JVEVNKHJ4X2NlbGxzKTsKIHN0cnVjdCBzb25ldF9zdGF0cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfX0hBTkRMRV9JVEVNKGkpIGludCBpCi0gX19TT05FVF9JVEVNUworICBfX1NPTkVUX0lURU1TCiAjdW5kZWYgX19IQU5ETEVfSVRFTQotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU09ORVRfR0VUU1RBVCBfSU9SKCdhJyxBVE1JT0NfUEhZVFlQLHN0cnVjdCBzb25ldF9zdGF0cykKLSNkZWZpbmUgU09ORVRfR0VUU1RBVFogX0lPUignYScsQVRNSU9DX1BIWVRZUCsxLHN0cnVjdCBzb25ldF9zdGF0cykKLSNkZWZpbmUgU09ORVRfU0VURElBRyBfSU9XUignYScsQVRNSU9DX1BIWVRZUCsyLGludCkKLSNkZWZpbmUgU09ORVRfQ0xSRElBRyBfSU9XUignYScsQVRNSU9DX1BIWVRZUCszLGludCkKKyNkZWZpbmUgU09ORVRfR0VUU1RBVCBfSU9SKCdhJywgQVRNSU9DX1BIWVRZUCwgc3RydWN0IHNvbmV0X3N0YXRzKQorI2RlZmluZSBTT05FVF9HRVRTVEFUWiBfSU9SKCdhJywgQVRNSU9DX1BIWVRZUCArIDEsIHN0cnVjdCBzb25ldF9zdGF0cykKKyNkZWZpbmUgU09ORVRfU0VURElBRyBfSU9XUignYScsIEFUTUlPQ19QSFlUWVAgKyAyLCBpbnQpCisjZGVmaW5lIFNPTkVUX0NMUkRJQUcgX0lPV1IoJ2EnLCBBVE1JT0NfUEhZVFlQICsgMywgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU09ORVRfR0VURElBRyBfSU9SKCdhJyxBVE1JT0NfUEhZVFlQKzQsaW50KQotI2RlZmluZSBTT05FVF9TRVRGUkFNSU5HIF9JT1coJ2EnLEFUTUlPQ19QSFlUWVArNSxpbnQpCi0jZGVmaW5lIFNPTkVUX0dFVEZSQU1JTkcgX0lPUignYScsQVRNSU9DX1BIWVRZUCs2LGludCkKLSNkZWZpbmUgU09ORVRfR0VURlJTRU5TRSBfSU9SKCdhJyxBVE1JT0NfUEhZVFlQKzcsICAgdW5zaWduZWQgY2hhcltTT05FVF9GUlNFTlNFX1NJWkVdKQorI2RlZmluZSBTT05FVF9HRVRESUFHIF9JT1IoJ2EnLCBBVE1JT0NfUEhZVFlQICsgNCwgaW50KQorI2RlZmluZSBTT05FVF9TRVRGUkFNSU5HIF9JT1coJ2EnLCBBVE1JT0NfUEhZVFlQICsgNSwgaW50KQorI2RlZmluZSBTT05FVF9HRVRGUkFNSU5HIF9JT1IoJ2EnLCBBVE1JT0NfUEhZVFlQICsgNiwgaW50KQorI2RlZmluZSBTT05FVF9HRVRGUlNFTlNFIF9JT1IoJ2EnLCBBVE1JT0NfUEhZVFlQICsgNywgdW5zaWduZWQgY2hhcltTT05FVF9GUlNFTlNFX1NJWkVdKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09ORVRfSU5TX1NCSVAgMQogI2RlZmluZSBTT05FVF9JTlNfTEJJUCAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvdW5kY2FyZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zb3VuZGNhcmQuaAppbmRleCAzNTJmNjZkLi4xMWFmNzYzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3NvdW5kY2FyZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc291bmRjYXJkLmgKQEAgLTgyLDEzICs4MiwxMyBAQAogI2RlZmluZSBTSU9DX09VVCAweDIwMDAwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTSU9DX0lOIDB4NDAwMDAwMDAKLSNkZWZpbmUgU0lPQ19JTk9VVCAoU0lPQ19JTnxTSU9DX09VVCkKLSNkZWZpbmUgX1NJTyh4LHkpICgoaW50KShTSU9DX1ZPSUR8KHg8PDgpfHkpKQotI2RlZmluZSBfU0lPUih4LHksdCkgKChpbnQpKFNJT0NfT1VUfCgoc2l6ZW9mKHQpJlNJT0NQQVJNX01BU0spPDwxNil8KHg8PDgpfHkpKQorI2RlZmluZSBTSU9DX0lOT1VUIChTSU9DX0lOIHwgU0lPQ19PVVQpCisjZGVmaW5lIF9TSU8oeCx5KSAoKGludCkgKFNJT0NfVk9JRCB8ICh4IDw8IDgpIHwgeSkpCisjZGVmaW5lIF9TSU9SKHgseSx0KSAoKGludCkgKFNJT0NfT1VUIHwgKChzaXplb2YodCkgJiBTSU9DUEFSTV9NQVNLKSA8PCAxNikgfCAoeCA8PCA4KSB8IHkpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgX1NJT1coeCx5LHQpICgoaW50KShTSU9DX0lOfCgoc2l6ZW9mKHQpJlNJT0NQQVJNX01BU0spPDwxNil8KHg8PDgpfHkpKQotI2RlZmluZSBfU0lPV1IoeCx5LHQpICgoaW50KShTSU9DX0lOT1VUfCgoc2l6ZW9mKHQpJlNJT0NQQVJNX01BU0spPDwxNil8KHg8PDgpfHkpKQotI2RlZmluZSBfU0lPQ19TSVpFKHgpICgoeD4+MTYpJlNJT0NQQVJNX01BU0spCisjZGVmaW5lIF9TSU9XKHgseSx0KSAoKGludCkgKFNJT0NfSU4gfCAoKHNpemVvZih0KSAmIFNJT0NQQVJNX01BU0spIDw8IDE2KSB8ICh4IDw8IDgpIHwgeSkpCisjZGVmaW5lIF9TSU9XUih4LHksdCkgKChpbnQpIChTSU9DX0lOT1VUIHwgKChzaXplb2YodCkgJiBTSU9DUEFSTV9NQVNLKSA8PCAxNikgfCAoeCA8PCA4KSB8IHkpKQorI2RlZmluZSBfU0lPQ19TSVpFKHgpICgoeCA+PiAxNikgJiBTSU9DUEFSTV9NQVNLKQogI2RlZmluZSBfU0lPQ19ESVIoeCkgKHggJiAweGYwMDAwMDAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgX1NJT0NfTk9ORSBTSU9DX1ZPSUQKQEAgLTk3LDY0MiArOTcsNjM3IEBACiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSNkZWZpbmUgU05EQ1RMX1NFUV9SRVNFVCBfU0lPICgnUScsIDApCi0jZGVmaW5lIFNORENUTF9TRVFfU1lOQyBfU0lPICgnUScsIDEpCisjZGVmaW5lIFNORENUTF9TRVFfUkVTRVQgX1NJTygnUScsIDApCisjZGVmaW5lIFNORENUTF9TRVFfU1lOQyBfU0lPKCdRJywgMSkKICNkZWZpbmUgU05EQ1RMX1NZTlRIX0lORk8gX1NJT1dSKCdRJywgMiwgc3RydWN0IHN5bnRoX2luZm8pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRDVExfU0VRX0NUUkxSQVRFIF9TSU9XUignUScsIDMsIGludCkKLSNkZWZpbmUgU05EQ1RMX1NFUV9HRVRPVVRDT1VOVCBfU0lPUiAoJ1EnLCA0LCBpbnQpCi0jZGVmaW5lIFNORENUTF9TRVFfR0VUSU5DT1VOVCBfU0lPUiAoJ1EnLCA1LCBpbnQpCi0jZGVmaW5lIFNORENUTF9TRVFfUEVSQ01PREUgX1NJT1cgKCdRJywgNiwgaW50KQorI2RlZmluZSBTTkRDVExfU0VRX0dFVE9VVENPVU5UIF9TSU9SKCdRJywgNCwgaW50KQorI2RlZmluZSBTTkRDVExfU0VRX0dFVElOQ09VTlQgX1NJT1IoJ1EnLCA1LCBpbnQpCisjZGVmaW5lIFNORENUTF9TRVFfUEVSQ01PREUgX1NJT1coJ1EnLCA2LCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRDVExfRk1fTE9BRF9JTlNUUiBfU0lPVyAoJ1EnLCA3LCBzdHJ1Y3Qgc2JpX2luc3RydW1lbnQpCi0jZGVmaW5lIFNORENUTF9TRVFfVEVTVE1JREkgX1NJT1cgKCdRJywgOCwgaW50KQotI2RlZmluZSBTTkRDVExfU0VRX1JFU0VUU0FNUExFUyBfU0lPVyAoJ1EnLCA5LCBpbnQpCi0jZGVmaW5lIFNORENUTF9TRVFfTlJTWU5USFMgX1NJT1IgKCdRJywxMCwgaW50KQorI2RlZmluZSBTTkRDVExfRk1fTE9BRF9JTlNUUiBfU0lPVygnUScsIDcsIHN0cnVjdCBzYmlfaW5zdHJ1bWVudCkKKyNkZWZpbmUgU05EQ1RMX1NFUV9URVNUTUlESSBfU0lPVygnUScsIDgsIGludCkKKyNkZWZpbmUgU05EQ1RMX1NFUV9SRVNFVFNBTVBMRVMgX1NJT1coJ1EnLCA5LCBpbnQpCisjZGVmaW5lIFNORENUTF9TRVFfTlJTWU5USFMgX1NJT1IoJ1EnLCAxMCwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EQ1RMX1NFUV9OUk1JRElTIF9TSU9SICgnUScsMTEsIGludCkKLSNkZWZpbmUgU05EQ1RMX01JRElfSU5GTyBfU0lPV1IoJ1EnLDEyLCBzdHJ1Y3QgbWlkaV9pbmZvKQotI2RlZmluZSBTTkRDVExfU0VRX1RIUkVTSE9MRCBfU0lPVyAoJ1EnLDEzLCBpbnQpCi0jZGVmaW5lIFNORENUTF9TWU5USF9NRU1BVkwgX1NJT1dSKCdRJywxNCwgaW50KQorI2RlZmluZSBTTkRDVExfU0VRX05STUlESVMgX1NJT1IoJ1EnLCAxMSwgaW50KQorI2RlZmluZSBTTkRDVExfTUlESV9JTkZPIF9TSU9XUignUScsIDEyLCBzdHJ1Y3QgbWlkaV9pbmZvKQorI2RlZmluZSBTTkRDVExfU0VRX1RIUkVTSE9MRCBfU0lPVygnUScsIDEzLCBpbnQpCisjZGVmaW5lIFNORENUTF9TWU5USF9NRU1BVkwgX1NJT1dSKCdRJywgMTQsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORENUTF9GTV80T1BfRU5BQkxFIF9TSU9XICgnUScsMTUsIGludCkKLSNkZWZpbmUgU05EQ1RMX1NFUV9QQU5JQyBfU0lPICgnUScsMTcpCi0jZGVmaW5lIFNORENUTF9TRVFfT1VUT0ZCQU5EIF9TSU9XICgnUScsMTgsIHN0cnVjdCBzZXFfZXZlbnRfcmVjKQotI2RlZmluZSBTTkRDVExfU0VRX0dFVFRJTUUgX1NJT1IgKCdRJywxOSwgaW50KQorI2RlZmluZSBTTkRDVExfRk1fNE9QX0VOQUJMRSBfU0lPVygnUScsIDE1LCBpbnQpCisjZGVmaW5lIFNORENUTF9TRVFfUEFOSUMgX1NJTygnUScsIDE3KQorI2RlZmluZSBTTkRDVExfU0VRX09VVE9GQkFORCBfU0lPVygnUScsIDE4LCBzdHJ1Y3Qgc2VxX2V2ZW50X3JlYykKKyNkZWZpbmUgU05EQ1RMX1NFUV9HRVRUSU1FIF9TSU9SKCdRJywgMTksIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORENUTF9TWU5USF9JRCBfU0lPV1IoJ1EnLDIwLCBzdHJ1Y3Qgc3ludGhfaW5mbykKLSNkZWZpbmUgU05EQ1RMX1NZTlRIX0NPTlRST0wgX1NJT1dSKCdRJywyMSwgc3RydWN0IHN5bnRoX2NvbnRyb2wpCi0jZGVmaW5lIFNORENUTF9TWU5USF9SRU1PVkVTQU1QTEUgX1NJT1dSKCdRJywyMiwgc3RydWN0IHJlbW92ZV9zYW1wbGUpCi10eXBlZGVmIHN0cnVjdCBzeW50aF9jb250cm9sCisjZGVmaW5lIFNORENUTF9TWU5USF9JRCBfU0lPV1IoJ1EnLCAyMCwgc3RydWN0IHN5bnRoX2luZm8pCisjZGVmaW5lIFNORENUTF9TWU5USF9DT05UUk9MIF9TSU9XUignUScsIDIxLCBzdHJ1Y3Qgc3ludGhfY29udHJvbCkKKyNkZWZpbmUgU05EQ1RMX1NZTlRIX1JFTU9WRVNBTVBMRSBfU0lPV1IoJ1EnLCAyMiwgc3RydWN0IHJlbW92ZV9zYW1wbGUpCit0eXBlZGVmIHN0cnVjdCBzeW50aF9jb250cm9sIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gaW50IGRldm5vOwotIGNoYXIgZGF0YVs0MDAwXTsKLX1zeW50aF9jb250cm9sOworICBpbnQgZGV2bm87CisgIGNoYXIgZGF0YVs0MDAwXTsKK30gc3ludGhfY29udHJvbDsKK3R5cGVkZWYgc3RydWN0IHJlbW92ZV9zYW1wbGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXR5cGVkZWYgc3RydWN0IHJlbW92ZV9zYW1wbGUKLXsKLSBpbnQgZGV2bm87Ci0gaW50IGJhbmtubzsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGluc3Rybm87CisgIGludCBkZXZubzsKKyAgaW50IGJhbmtubzsKKyAgaW50IGluc3Rybm87CiB9IHJlbW92ZV9zYW1wbGU7Ci10eXBlZGVmIHN0cnVjdCBzZXFfZXZlbnRfcmVjIHsKLSB1bnNpZ25lZCBjaGFyIGFycls4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit0eXBlZGVmIHN0cnVjdCBzZXFfZXZlbnRfcmVjIHsKKyAgdW5zaWduZWQgY2hhciBhcnJbOF07CiB9IHNlcV9ldmVudF9yZWM7CiAjZGVmaW5lIFNORENUTF9UTVJfVElNRUJBU0UgX1NJT1dSKCdUJywgMSwgaW50KQotI2RlZmluZSBTTkRDVExfVE1SX1NUQVJUIF9TSU8gKCdUJywgMikKLSNkZWZpbmUgU05EQ1RMX1RNUl9TVE9QIF9TSU8gKCdUJywgMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORENUTF9UTVJfQ09OVElOVUUgX1NJTyAoJ1QnLCA0KQorI2RlZmluZSBTTkRDVExfVE1SX1NUQVJUIF9TSU8oJ1QnLCAyKQorI2RlZmluZSBTTkRDVExfVE1SX1NUT1AgX1NJTygnVCcsIDMpCisjZGVmaW5lIFNORENUTF9UTVJfQ09OVElOVUUgX1NJTygnVCcsIDQpCiAjZGVmaW5lIFNORENUTF9UTVJfVEVNUE8gX1NJT1dSKCdUJywgNSwgaW50KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EQ1RMX1RNUl9TT1VSQ0UgX1NJT1dSKCdUJywgNiwgaW50KQogI2RlZmluZSBUTVJfSU5URVJOQUwgMHgwMDAwMDAwMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVE1SX0VYVEVSTkFMIDB4MDAwMDAwMDIKICNkZWZpbmUgVE1SX01PREVfTUlESSAweDAwMDAwMDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUTVJfTU9ERV9GU0sgMHgwMDAwMDAyMAogI2RlZmluZSBUTVJfTU9ERV9DTFMgMHgwMDAwMDA0MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVE1SX01PREVfU01QVEUgMHgwMDAwMDA4MAotI2RlZmluZSBTTkRDVExfVE1SX01FVFJPTk9NRSBfU0lPVyAoJ1QnLCA3LCBpbnQpCi0jZGVmaW5lIFNORENUTF9UTVJfU0VMRUNUIF9TSU9XICgnVCcsIDgsIGludCkKLSNkZWZpbmUgX0xJTlVYX1BBVENIS0VZX0hfSU5ESVJFQ1QKKyNkZWZpbmUgU05EQ1RMX1RNUl9NRVRST05PTUUgX1NJT1coJ1QnLCA3LCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRDVExfVE1SX1NFTEVDVCBfU0lPVygnVCcsIDgsIGludCkKKyNkZWZpbmUgX0xJTlVYX1BBVENIS0VZX0hfSU5ESVJFQ1QKICNpbmNsdWRlIDxsaW51eC9wYXRjaGtleS5oPgogI3VuZGVmIF9MSU5VWF9QQVRDSEtFWV9IX0lORElSRUNUCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmZGVmIF9fQllURV9PUkRFUgogI2lmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFGTVRfUzE2X05FIEFGTVRfUzE2X0JFCi0jZWxpZiBfX0JZVEVfT1JERVIgPT0gX19MSVRUTEVfRU5ESUFOCisjZWxpZiBfX0JZVEVfT1JERVI9PV9fTElUVExFX0VORElBTgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUZNVF9TMTZfTkUgQUZNVF9TMTZfTEUKICNlbHNlCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2Vycm9yICJjb3VsZCBub3QgZGV0ZXJtaW5lIGJ5dGUgb3JkZXIiCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKIHN0cnVjdCBwYXRjaF9pbmZvIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQga2V5OworICB1bnNpZ25lZCBzaG9ydCBrZXk7CiAjZGVmaW5lIFdBVkVfUEFUQ0ggX1BBVENIS0VZKDB4MDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBHVVNfUEFUQ0ggV0FWRV9QQVRDSAogI2RlZmluZSBXQVZFRlJPTlRfUEFUQ0ggX1BBVENIS0VZKDB4MDYpCisgIHNob3J0IGRldmljZV9ubzsKKyAgc2hvcnQgaW5zdHJfbm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IGRldmljZV9ubzsKLSBzaG9ydCBpbnN0cl9ubzsKLSB1bnNpZ25lZCBpbnQgbW9kZTsKKyAgdW5zaWduZWQgaW50IG1vZGU7CiAjZGVmaW5lIFdBVkVfMTZfQklUUyAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBXQVZFX1VOU0lHTkVEIDB4MDIKICNkZWZpbmUgV0FWRV9MT09QSU5HIDB4MDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdBVkVfQklESVJfTE9PUCAweDA4CiAjZGVmaW5lIFdBVkVfTE9PUF9CQUNLIDB4MTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdBVkVfU1VTVEFJTl9PTiAweDIwCiAjZGVmaW5lIFdBVkVfRU5WRUxPUEVTIDB4NDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdBVkVfRkFTVF9SRUxFQVNFIDB4ODAKICNkZWZpbmUgV0FWRV9WSUJSQVRPIDB4MDAwMTAwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdBVkVfVFJFTU9MTyAweDAwMDIwMDAwCiAjZGVmaW5lIFdBVkVfU0NBTEUgMHgwMDA0MDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgV0FWRV9GUkFDVElPTlMgMHgwMDA4MDAwMAogI2RlZmluZSBXQVZFX1JPTSAweDQwMDAwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBXQVZFX01VTEFXIDB4MjAwMDAwMDAKLSBpbnQgbGVuOwotIGludCBsb29wX3N0YXJ0LCBsb29wX2VuZDsKLSB1bnNpZ25lZCBpbnQgYmFzZV9mcmVxOworICBpbnQgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgYmFzZV9ub3RlOwotIHVuc2lnbmVkIGludCBoaWdoX25vdGU7Ci0gdW5zaWduZWQgaW50IGxvd19ub3RlOwotIGludCBwYW5uaW5nOworICBpbnQgbG9vcF9zdGFydCwgbG9vcF9lbmQ7CisgIHVuc2lnbmVkIGludCBiYXNlX2ZyZXE7CisgIHVuc2lnbmVkIGludCBiYXNlX25vdGU7CisgIHVuc2lnbmVkIGludCBoaWdoX25vdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBkZXR1bmluZzsKLSB1bnNpZ25lZCBjaGFyIGVudl9yYXRlWyA2IF07Ci0gdW5zaWduZWQgY2hhciBlbnZfb2Zmc2V0WyA2IF07Ci0gdW5zaWduZWQgY2hhciB0cmVtb2xvX3N3ZWVwOworICB1bnNpZ25lZCBpbnQgbG93X25vdGU7CisgIGludCBwYW5uaW5nOworICBpbnQgZGV0dW5pbmc7CisgIHVuc2lnbmVkIGNoYXIgZW52X3JhdGVbNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgdHJlbW9sb19yYXRlOwotIHVuc2lnbmVkIGNoYXIgdHJlbW9sb19kZXB0aDsKLSB1bnNpZ25lZCBjaGFyIHZpYnJhdG9fc3dlZXA7Ci0gdW5zaWduZWQgY2hhciB2aWJyYXRvX3JhdGU7CisgIHVuc2lnbmVkIGNoYXIgZW52X29mZnNldFs2XTsKKyAgdW5zaWduZWQgY2hhciB0cmVtb2xvX3N3ZWVwOworICB1bnNpZ25lZCBjaGFyIHRyZW1vbG9fcmF0ZTsKKyAgdW5zaWduZWQgY2hhciB0cmVtb2xvX2RlcHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHZpYnJhdG9fZGVwdGg7Ci0gaW50IHNjYWxlX2ZyZXF1ZW5jeTsKLSB1bnNpZ25lZCBpbnQgc2NhbGVfZmFjdG9yOwotIGludCB2b2x1bWU7CisgIHVuc2lnbmVkIGNoYXIgdmlicmF0b19zd2VlcDsKKyAgdW5zaWduZWQgY2hhciB2aWJyYXRvX3JhdGU7CisgIHVuc2lnbmVkIGNoYXIgdmlicmF0b19kZXB0aDsKKyAgaW50IHNjYWxlX2ZyZXF1ZW5jeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGZyYWN0aW9uczsKLSBpbnQgcmVzZXJ2ZWQxOwotIGludCBzcGFyZVsyXTsKLSBjaGFyIGRhdGFbMV07CisgIHVuc2lnbmVkIGludCBzY2FsZV9mYWN0b3I7CisgIGludCB2b2x1bWU7CisgIGludCBmcmFjdGlvbnM7CisgIGludCByZXNlcnZlZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07CisgIGludCBzcGFyZVsyXTsKKyAgY2hhciBkYXRhWzFdOworfTsKIHN0cnVjdCBzeXNleF9pbmZvIHsKLSBzaG9ydCBrZXk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzaG9ydCBrZXk7CiAjZGVmaW5lIFNZU0VYX1BBVENIIF9QQVRDSEtFWSgweDA1KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUFVSV9QQVRDSCBfUEFUQ0hLRVkoMHgwNikKLSBzaG9ydCBkZXZpY2Vfbm87Ci0gaW50IGxlbjsKLSB1bnNpZ25lZCBjaGFyIGRhdGFbMV07CisgIHNob3J0IGRldmljZV9ubzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKKyAgaW50IGxlbjsKKyAgdW5zaWduZWQgY2hhciBkYXRhWzFdOworfTsKICNkZWZpbmUgU0VRX05PVEVPRkYgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VRX0ZNTk9URU9GRiBTRVFfTk9URU9GRgogI2RlZmluZSBTRVFfTk9URU9OIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFUV9GTU5PVEVPTiBTRVFfTk9URU9OCiAjZGVmaW5lIFNFUV9XQUlUIFRNUl9XQUlUX0FCUworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VRX1BHTUNIQU5HRSAzCiAjZGVmaW5lIFNFUV9GTVBHTUNIQU5HRSBTRVFfUEdNQ0hBTkdFCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRVFfU1lOQ1RJTUVSIFRNUl9TVEFSVAogI2RlZmluZSBTRVFfTUlESVBVVEMgNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0VRX0RSVU1PTiA2CiAjZGVmaW5lIFNFUV9EUlVNT0ZGIDcKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFUV9FQ0hPIFRNUl9FQ0hPCiAjZGVmaW5lIFNFUV9BRlRFUlRPVUNIIDkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFUV9DT05UUk9MTEVSIDEwCiAjZGVmaW5lIENUTF9CQU5LX1NFTEVDVCAweDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfTU9EV0hFRUwgMHgwMQogI2RlZmluZSBDVExfQlJFQVRIIDB4MDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUTF9GT09UIDB4MDQKICNkZWZpbmUgQ1RMX1BPUlRBTUVOVE9fVElNRSAweDA1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfREFUQV9FTlRSWSAweDA2CiAjZGVmaW5lIENUTF9NQUlOX1ZPTFVNRSAweDA3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfQkFMQU5DRSAweDA4CiAjZGVmaW5lIENUTF9QQU4gMHgwYQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1RMX0VYUFJFU1NJT04gMHgwYgogI2RlZmluZSBDVExfR0VORVJBTF9QVVJQT1NFMSAweDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfR0VORVJBTF9QVVJQT1NFMiAweDExCiAjZGVmaW5lIENUTF9HRU5FUkFMX1BVUlBPU0UzIDB4MTIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUTF9HRU5FUkFMX1BVUlBPU0U0IDB4MTMKICNkZWZpbmUgQ1RMX0RBTVBFUl9QRURBTCAweDQwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfU1VTVEFJTiAweDQwCiAjZGVmaW5lIENUTF9IT0xEIDB4NDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUTF9QT1JUQU1FTlRPIDB4NDEKICNkZWZpbmUgQ1RMX1NPU1RFTlVUTyAweDQyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfU09GVF9QRURBTCAweDQzCiAjZGVmaW5lIENUTF9IT0xEMiAweDQ1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfR0VORVJBTF9QVVJQT1NFNSAweDUwCiAjZGVmaW5lIENUTF9HRU5FUkFMX1BVUlBPU0U2IDB4NTEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUTF9HRU5FUkFMX1BVUlBPU0U3IDB4NTIKICNkZWZpbmUgQ1RMX0dFTkVSQUxfUFVSUE9TRTggMHg1MwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1RMX0VYVF9FRkZfREVQVEggMHg1YgogI2RlZmluZSBDVExfVFJFTU9MT19ERVBUSCAweDVjCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfQ0hPUlVTX0RFUFRIIDB4NWQKICNkZWZpbmUgQ1RMX0RFVFVORV9ERVBUSCAweDVlCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVExfQ0VMRVNURV9ERVBUSCAweDVlCiAjZGVmaW5lIENUTF9QSEFTRVJfREVQVEggMHg1ZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1RMX0RBVEFfSU5DUkVNRU5UIDB4NjAKICNkZWZpbmUgQ1RMX0RBVEFfREVDUkVNRU5UIDB4NjEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENUTF9OT05SRUdfUEFSTV9OVU1fTFNCIDB4NjIKICNkZWZpbmUgQ1RMX05PTlJFR19QQVJNX05VTV9NU0IgMHg2MworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1RMX1JFR0lTVF9QQVJNX05VTV9MU0IgMHg2NAogI2RlZmluZSBDVExfUkVHSVNUX1BBUk1fTlVNX01TQiAweDY1Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVFJMX1BJVENIX0JFTkRFUiAyNTUKICNkZWZpbmUgQ1RSTF9QSVRDSF9CRU5ERVJfUkFOR0UgMjU0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBDVFJMX0VYUFJFU1NJT04gMjUzCiAjZGVmaW5lIENUUkxfTUFJTl9WT0xVTUUgMjUyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRVFfQkFMQU5DRSAxMQogI2RlZmluZSBTRVFfVk9MTU9ERSAxMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVk9MX01FVEhPRF9BREFHSU8gMQogI2RlZmluZSBWT0xfTUVUSE9EX0xJTkVBUiAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRVFfRlVMTFNJWkUgMHhmZAogI2RlZmluZSBTRVFfUFJJVkFURSAweGZlCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRVFfRVhURU5ERUQgMHhmZgogdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHNiaV9pbnN0cl9kYXRhWzMyXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc2JpX2luc3RydW1lbnQgewotIHVuc2lnbmVkIHNob3J0IGtleTsKKyAgdW5zaWduZWQgc2hvcnQga2V5OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRk1fUEFUQ0ggX1BBVENIS0VZKDB4MDEpCiAjZGVmaW5lIE9QTDNfUEFUQ0ggX1BBVENIS0VZKDB4MDMpCisgIHNob3J0IGRldmljZTsKKyAgaW50IGNoYW5uZWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IGRldmljZTsKLSBpbnQgY2hhbm5lbDsKLSBzYmlfaW5zdHJfZGF0YSBvcGVyYXRvcnM7Ci0gfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHNiaV9pbnN0cl9kYXRhIG9wZXJhdG9yczsKK307CiBzdHJ1Y3Qgc3ludGhfaW5mbyB7Ci0gY2hhciBuYW1lWzMwXTsKLSBpbnQgZGV2aWNlOwotIGludCBzeW50aF90eXBlOworICBjaGFyIG5hbWVbMzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IGRldmljZTsKKyAgaW50IHN5bnRoX3R5cGU7CiAjZGVmaW5lIFNZTlRIX1RZUEVfRk0gMAogI2RlZmluZSBTWU5USF9UWVBFX1NBTVBMRSAxCi0jZGVmaW5lIFNZTlRIX1RZUEVfTUlESSAyCi0gaW50IHN5bnRoX3N1YnR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTWU5USF9UWVBFX01JREkgMgorICBpbnQgc3ludGhfc3VidHlwZTsKICNkZWZpbmUgRk1fVFlQRV9BRExJQiAweDAwCiAjZGVmaW5lIEZNX1RZUEVfT1BMMyAweDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNSURJX1RZUEVfTVBVNDAxIDB4NDAxCiAjZGVmaW5lIFNBTVBMRV9UWVBFX0JBU0lDIDB4MTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNBTVBMRV9UWVBFX0dVUyBTQU1QTEVfVFlQRV9CQVNJQwogI2RlZmluZSBTQU1QTEVfVFlQRV9XQVZFRlJPTlQgMHgxMQotIGludCBwZXJjX21vZGU7Ci0gaW50IG5yX3ZvaWNlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG5yX2RydW1zOwotIGludCBpbnN0cl9iYW5rX3NpemU7Ci0gdW5zaWduZWQgaW50IGNhcGFiaWxpdGllczsKKyAgaW50IHBlcmNfbW9kZTsKKyAgaW50IG5yX3ZvaWNlczsKKyAgaW50IG5yX2RydW1zOworICBpbnQgaW5zdHJfYmFua19zaXplOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IGNhcGFiaWxpdGllczsKICNkZWZpbmUgU1lOVEhfQ0FQX1BFUkNNT0RFIDB4MDAwMDAwMDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNZTlRIX0NBUF9PUEwzIDB4MDAwMDAwMDIKICNkZWZpbmUgU1lOVEhfQ0FQX0lOUFVUIDB4MDAwMDAwMDQKLSBpbnQgZHVtbWllc1sxOV07Ci0gfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBkdW1taWVzWzE5XTsKK307CiBzdHJ1Y3Qgc291bmRfdGltZXJfaW5mbyB7Ci0gY2hhciBuYW1lWzMyXTsKLSBpbnQgY2FwczsKLSB9OworICBjaGFyIG5hbWVbMzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IGNhcHM7Cit9OwogI2RlZmluZSBNSURJX0NBUF9NUFU0MDEgMQogc3RydWN0IG1pZGlfaW5mbyB7Ci0gY2hhciBuYW1lWzMwXTsKLSBpbnQgZGV2aWNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY2FwYWJpbGl0aWVzOwotIGludCBkZXZfdHlwZTsKLSBpbnQgZHVtbWllc1sxOF07Ci0gfTsKKyAgY2hhciBuYW1lWzMwXTsKKyAgaW50IGRldmljZTsKKyAgdW5zaWduZWQgaW50IGNhcGFiaWxpdGllczsKKyAgaW50IGRldl90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IGR1bW1pZXNbMThdOworfTsKIHR5cGVkZWYgc3RydWN0IHsKLSB1bnNpZ25lZCBjaGFyIGNtZDsKLSBjaGFyIG5yX2FyZ3MsIG5yX3JldHVybnM7Ci0gdW5zaWduZWQgY2hhciBkYXRhWzMwXTsKKyAgdW5zaWduZWQgY2hhciBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gbXB1X2NvbW1hbmRfcmVjOworICBjaGFyIG5yX2FyZ3MsIG5yX3JldHVybnM7CisgIHVuc2lnbmVkIGNoYXIgZGF0YVszMF07Cit9IG1wdV9jb21tYW5kX3JlYzsKICNkZWZpbmUgU05EQ1RMX01JRElfUFJFVElNRSBfU0lPV1IoJ20nLCAwLCBpbnQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRDVExfTUlESV9NUFVNT0RFIF9TSU9XUignbScsIDEsIGludCkKICNkZWZpbmUgU05EQ1RMX01JRElfTVBVQ01EIF9TSU9XUignbScsIDIsIG1wdV9jb21tYW5kX3JlYykKKyNkZWZpbmUgU05EQ1RMX0RTUF9SRVNFVCBfU0lPKCdQJywgMCkKKyNkZWZpbmUgU05EQ1RMX0RTUF9TWU5DIF9TSU8oJ1AnLCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EQ1RMX0RTUF9SRVNFVCBfU0lPICgnUCcsIDApCi0jZGVmaW5lIFNORENUTF9EU1BfU1lOQyBfU0lPICgnUCcsIDEpCiAjZGVmaW5lIFNORENUTF9EU1BfU1BFRUQgX1NJT1dSKCdQJywgMiwgaW50KQogI2RlZmluZSBTTkRDVExfRFNQX1NURVJFTyBfU0lPV1IoJ1AnLCAzLCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRDVExfRFNQX0dFVEJMS1NJWkUgX1NJT1dSKCdQJywgNCwgaW50KQogI2RlZmluZSBTTkRDVExfRFNQX1NBTVBMRVNJWkUgU05EQ1RMX0RTUF9TRVRGTVQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORENUTF9EU1BfQ0hBTk5FTFMgX1NJT1dSKCdQJywgNiwgaW50KQogI2RlZmluZSBTT1VORF9QQ01fV1JJVEVfQ0hBTk5FTFMgU05EQ1RMX0RTUF9DSEFOTkVMUwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfUENNX1dSSVRFX0ZJTFRFUiBfU0lPV1IoJ1AnLCA3LCBpbnQpCi0jZGVmaW5lIFNORENUTF9EU1BfUE9TVCBfU0lPICgnUCcsIDgpCi0jZGVmaW5lIFNORENUTF9EU1BfU1VCRElWSURFIF9TSU9XUignUCcsIDksIGludCkKLSNkZWZpbmUgU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCBfU0lPV1IoJ1AnLDEwLCBpbnQpCisjZGVmaW5lIFNORENUTF9EU1BfUE9TVCBfU0lPKCdQJywgOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORENUTF9EU1BfR0VURk1UUyBfU0lPUiAoJ1AnLDExLCBpbnQpCi0jZGVmaW5lIFNORENUTF9EU1BfU0VURk1UIF9TSU9XUignUCcsNSwgaW50KQorI2RlZmluZSBTTkRDVExfRFNQX1NVQkRJVklERSBfU0lPV1IoJ1AnLCA5LCBpbnQpCisjZGVmaW5lIFNORENUTF9EU1BfU0VURlJBR01FTlQgX1NJT1dSKCdQJywgMTAsIGludCkKKyNkZWZpbmUgU05EQ1RMX0RTUF9HRVRGTVRTIF9TSU9SKCdQJywgMTEsIGludCkKKyNkZWZpbmUgU05EQ1RMX0RTUF9TRVRGTVQgX1NJT1dSKCdQJywgNSwgaW50KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUZNVF9RVUVSWSAweDAwMDAwMDAwCiAjZGVmaW5lIEFGTVRfTVVfTEFXIDB4MDAwMDAwMDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFGTVRfQV9MQVcgMHgwMDAwMDAwMgogI2RlZmluZSBBRk1UX0lNQV9BRFBDTSAweDAwMDAwMDA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBRk1UX1U4IDB4MDAwMDAwMDgKICNkZWZpbmUgQUZNVF9TMTZfTEUgMHgwMDAwMDAxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUZNVF9TMTZfQkUgMHgwMDAwMDAyMAogI2RlZmluZSBBRk1UX1M4IDB4MDAwMDAwNDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFGTVRfVTE2X0xFIDB4MDAwMDAwODAKICNkZWZpbmUgQUZNVF9VMTZfQkUgMHgwMDAwMDEwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQUZNVF9NUEVHIDB4MDAwMDAyMDAKICNkZWZpbmUgQUZNVF9BQzMgMHgwMDAwMDQwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IGF1ZGlvX2J1Zl9pbmZvIHsKLSBpbnQgZnJhZ21lbnRzOworICBpbnQgZnJhZ21lbnRzOworICBpbnQgZnJhZ3N0b3RhbDsKKyAgaW50IGZyYWdzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZnJhZ3N0b3RhbDsKLSBpbnQgZnJhZ3NpemU7Ci0gaW50IGJ5dGVzOwotIH0gYXVkaW9fYnVmX2luZm87CisgIGludCBieXRlczsKK30gYXVkaW9fYnVmX2luZm87CisjZGVmaW5lIFNORENUTF9EU1BfR0VUT1NQQUNFIF9TSU9SKCdQJywgMTIsIGF1ZGlvX2J1Zl9pbmZvKQorI2RlZmluZSBTTkRDVExfRFNQX0dFVElTUEFDRSBfU0lPUignUCcsIDEzLCBhdWRpb19idWZfaW5mbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORENUTF9EU1BfR0VUT1NQQUNFIF9TSU9SICgnUCcsMTIsIGF1ZGlvX2J1Zl9pbmZvKQotI2RlZmluZSBTTkRDVExfRFNQX0dFVElTUEFDRSBfU0lPUiAoJ1AnLDEzLCBhdWRpb19idWZfaW5mbykKLSNkZWZpbmUgU05EQ1RMX0RTUF9OT05CTE9DSyBfU0lPICgnUCcsMTQpCi0jZGVmaW5lIFNORENUTF9EU1BfR0VUQ0FQUyBfU0lPUiAoJ1AnLDE1LCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRDVExfRFNQX05PTkJMT0NLIF9TSU8oJ1AnLCAxNCkKKyNkZWZpbmUgU05EQ1RMX0RTUF9HRVRDQVBTIF9TSU9SKCdQJywgMTUsIGludCkKICNkZWZpbmUgRFNQX0NBUF9SRVZJU0lPTiAweDAwMDAwMGZmCiAjZGVmaW5lIERTUF9DQVBfRFVQTEVYIDB4MDAwMDAxMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERTUF9DQVBfUkVBTFRJTUUgMHgwMDAwMDIwMAogI2RlZmluZSBEU1BfQ0FQX0JBVENIIDB4MDAwMDA0MDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERTUF9DQVBfQ09QUk9DIDB4MDAwMDA4MDAKICNkZWZpbmUgRFNQX0NBUF9UUklHR0VSIDB4MDAwMDEwMDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERTUF9DQVBfTU1BUCAweDAwMDAyMDAwCiAjZGVmaW5lIERTUF9DQVBfTVVMVEkgMHgwMDAwNDAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFNQX0NBUF9CSU5EIDB4MDAwMDgwMDAKLSNkZWZpbmUgU05EQ1RMX0RTUF9HRVRUUklHR0VSIF9TSU9SICgnUCcsMTYsIGludCkKLSNkZWZpbmUgU05EQ1RMX0RTUF9TRVRUUklHR0VSIF9TSU9XICgnUCcsMTYsIGludCkKLSNkZWZpbmUgUENNX0VOQUJMRV9JTlBVVCAweDAwMDAwMDAxCisjZGVmaW5lIFNORENUTF9EU1BfR0VUVFJJR0dFUiBfU0lPUignUCcsIDE2LCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRDVExfRFNQX1NFVFRSSUdHRVIgX1NJT1coJ1AnLCAxNiwgaW50KQorI2RlZmluZSBQQ01fRU5BQkxFX0lOUFVUIDB4MDAwMDAwMDEKICNkZWZpbmUgUENNX0VOQUJMRV9PVVRQVVQgMHgwMDAwMDAwMgogdHlwZWRlZiBzdHJ1Y3QgY291bnRfaW5mbyB7Ci0gaW50IGJ5dGVzOwotIGludCBibG9ja3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwdHI7Ci0gfSBjb3VudF9pbmZvOwotI2RlZmluZSBTTkRDVExfRFNQX0dFVElQVFIgX1NJT1IgKCdQJywxNywgY291bnRfaW5mbykKLSNkZWZpbmUgU05EQ1RMX0RTUF9HRVRPUFRSIF9TSU9SICgnUCcsMTgsIGNvdW50X2luZm8pCisgIGludCBieXRlczsKKyAgaW50IGJsb2NrczsKKyAgaW50IHB0cjsKK30gY291bnRfaW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORENUTF9EU1BfR0VUSVBUUiBfU0lPUignUCcsIDE3LCBjb3VudF9pbmZvKQorI2RlZmluZSBTTkRDVExfRFNQX0dFVE9QVFIgX1NJT1IoJ1AnLCAxOCwgY291bnRfaW5mbykKIHR5cGVkZWYgc3RydWN0IGJ1ZmZtZW1fZGVzYyB7Ci0gdW5zaWduZWQgKmJ1ZmZlcjsKLSBpbnQgc2l6ZTsKLSB9IGJ1ZmZtZW1fZGVzYzsKKyAgdW5zaWduZWQgKiBidWZmZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRDVExfRFNQX01BUElOQlVGIF9TSU9SICgnUCcsIDE5LCBidWZmbWVtX2Rlc2MpCi0jZGVmaW5lIFNORENUTF9EU1BfTUFQT1VUQlVGIF9TSU9SICgnUCcsIDIwLCBidWZmbWVtX2Rlc2MpCi0jZGVmaW5lIFNORENUTF9EU1BfU0VUU1lOQ1JPIF9TSU8gKCdQJywgMjEpCi0jZGVmaW5lIFNORENUTF9EU1BfU0VURFVQTEVYIF9TSU8gKCdQJywgMjIpCisgIGludCBzaXplOworfSBidWZmbWVtX2Rlc2M7CisjZGVmaW5lIFNORENUTF9EU1BfTUFQSU5CVUYgX1NJT1IoJ1AnLCAxOSwgYnVmZm1lbV9kZXNjKQorI2RlZmluZSBTTkRDVExfRFNQX01BUE9VVEJVRiBfU0lPUignUCcsIDIwLCBidWZmbWVtX2Rlc2MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRDVExfRFNQX0dFVE9ERUxBWSBfU0lPUiAoJ1AnLCAyMywgaW50KQorI2RlZmluZSBTTkRDVExfRFNQX1NFVFNZTkNSTyBfU0lPKCdQJywgMjEpCisjZGVmaW5lIFNORENUTF9EU1BfU0VURFVQTEVYIF9TSU8oJ1AnLCAyMikKKyNkZWZpbmUgU05EQ1RMX0RTUF9HRVRPREVMQVkgX1NJT1IoJ1AnLCAyMywgaW50KQogI2RlZmluZSBTTkRDVExfRFNQX0dFVENIQU5ORUxNQVNLIF9TSU9XUignUCcsIDY0LCBpbnQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRDVExfRFNQX0JJTkRfQ0hBTk5FTCBfU0lPV1IoJ1AnLCA2NSwgaW50KQogI2RlZmluZSBEU1BfQklORF9RVUVSWSAweDAwMDAwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEU1BfQklORF9GUk9OVCAweDAwMDAwMDAxCiAjZGVmaW5lIERTUF9CSU5EX1NVUlIgMHgwMDAwMDAwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFNQX0JJTkRfQ0VOVEVSX0xGRSAweDAwMDAwMDA0CiAjZGVmaW5lIERTUF9CSU5EX0hBTkRTRVQgMHgwMDAwMDAwOAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRFNQX0JJTkRfTUlDIDB4MDAwMDAwMTAKICNkZWZpbmUgRFNQX0JJTkRfTU9ERU0xIDB4MDAwMDAwMjAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERTUF9CSU5EX01PREVNMiAweDAwMDAwMDQwCiAjZGVmaW5lIERTUF9CSU5EX0kyUyAweDAwMDAwMDgwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEU1BfQklORF9TUERJRiAweDAwMDAwMTAwCi0jZGVmaW5lIFNORENUTF9EU1BfU0VUU1BESUYgX1NJT1cgKCdQJywgNjYsIGludCkKLSNkZWZpbmUgU05EQ1RMX0RTUF9HRVRTUERJRiBfU0lPUiAoJ1AnLCA2NywgaW50KQotI2RlZmluZSBTUERJRl9QUk8gMHgwMDAxCisjZGVmaW5lIFNORENUTF9EU1BfU0VUU1BESUYgX1NJT1coJ1AnLCA2NiwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EQ1RMX0RTUF9HRVRTUERJRiBfU0lPUignUCcsIDY3LCBpbnQpCisjZGVmaW5lIFNQRElGX1BSTyAweDAwMDEKICNkZWZpbmUgU1BESUZfTl9BVUQgMHgwMDAyCiAjZGVmaW5lIFNQRElGX0NPUFkgMHgwMDA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTUERJRl9QUkUgMHgwMDA4CiAjZGVmaW5lIFNQRElGX0NDIDB4MDdmMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU1BESUZfTCAweDA4MDAKICNkZWZpbmUgU1BESUZfRFJTIDB4NDAwMAotI2RlZmluZSBTUERJRl9WIDB4ODAwMAotI2RlZmluZSBTTkRDVExfRFNQX1BST0ZJTEUgX1NJT1cgKCdQJywgMjMsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNQRElGX1YgMHg4MDAwCisjZGVmaW5lIFNORENUTF9EU1BfUFJPRklMRSBfU0lPVygnUCcsIDIzLCBpbnQpCiAjZGVmaW5lIEFQRl9OT1JNQUwgMAogI2RlZmluZSBBUEZfTkVUV09SSyAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBUEZfQ1BVSU5URU5TIDIKLSNkZWZpbmUgU09VTkRfUENNX1JFQURfUkFURSBfU0lPUiAoJ1AnLCAyLCBpbnQpCisjZGVmaW5lIFNPVU5EX1BDTV9SRUFEX1JBVEUgX1NJT1IoJ1AnLCAyLCBpbnQpCisjZGVmaW5lIFNPVU5EX1BDTV9SRUFEX0NIQU5ORUxTIF9TSU9SKCdQJywgNiwgaW50KQorI2RlZmluZSBTT1VORF9QQ01fUkVBRF9CSVRTIF9TSU9SKCdQJywgNSwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU09VTkRfUENNX1JFQURfQ0hBTk5FTFMgX1NJT1IgKCdQJywgNiwgaW50KQotI2RlZmluZSBTT1VORF9QQ01fUkVBRF9CSVRTIF9TSU9SICgnUCcsIDUsIGludCkKLSNkZWZpbmUgU09VTkRfUENNX1JFQURfRklMVEVSIF9TSU9SICgnUCcsIDcsIGludCkKKyNkZWZpbmUgU09VTkRfUENNX1JFQURfRklMVEVSIF9TSU9SKCdQJywgNywgaW50KQogI2RlZmluZSBTT1VORF9QQ01fV1JJVEVfQklUUyBTTkRDVExfRFNQX1NFVEZNVAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfUENNX1dSSVRFX1JBVEUgU05EQ1RMX0RTUF9TUEVFRAogI2RlZmluZSBTT1VORF9QQ01fUE9TVCBTTkRDVExfRFNQX1BPU1QKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX1BDTV9SRVNFVCBTTkRDVExfRFNQX1JFU0VUCiAjZGVmaW5lIFNPVU5EX1BDTV9TWU5DIFNORENUTF9EU1BfU1lOQwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfUENNX1NVQkRJVklERSBTTkRDVExfRFNQX1NVQkRJVklERQogI2RlZmluZSBTT1VORF9QQ01fU0VURlJBR01FTlQgU05EQ1RMX0RTUF9TRVRGUkFHTUVOVAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfUENNX0dFVEZNVFMgU05EQ1RMX0RTUF9HRVRGTVRTCiAjZGVmaW5lIFNPVU5EX1BDTV9TRVRGTVQgU05EQ1RMX0RTUF9TRVRGTVQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX1BDTV9HRVRPU1BBQ0UgU05EQ1RMX0RTUF9HRVRPU1BBQ0UKICNkZWZpbmUgU09VTkRfUENNX0dFVElTUEFDRSBTTkRDVExfRFNQX0dFVElTUEFDRQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfUENNX05PTkJMT0NLIFNORENUTF9EU1BfTk9OQkxPQ0sKICNkZWZpbmUgU09VTkRfUENNX0dFVENBUFMgU05EQ1RMX0RTUF9HRVRDQVBTCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9QQ01fR0VUVFJJR0dFUiBTTkRDVExfRFNQX0dFVFRSSUdHRVIKICNkZWZpbmUgU09VTkRfUENNX1NFVFRSSUdHRVIgU05EQ1RMX0RTUF9TRVRUUklHR0VSCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9QQ01fU0VUU1lOQ1JPIFNORENUTF9EU1BfU0VUU1lOQ1JPCiAjZGVmaW5lIFNPVU5EX1BDTV9HRVRJUFRSIFNORENUTF9EU1BfR0VUSVBUUgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfUENNX0dFVE9QVFIgU05EQ1RMX0RTUF9HRVRPUFRSCiAjZGVmaW5lIFNPVU5EX1BDTV9NQVBJTkJVRiBTTkRDVExfRFNQX01BUElOQlVGCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9QQ01fTUFQT1VUQlVGIFNORENUTF9EU1BfTUFQT1VUQlVGCiB0eXBlZGVmIHN0cnVjdCBjb3ByX2J1ZmZlciB7CisgIGludCBjb21tYW5kOworICBpbnQgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjb21tYW5kOwotIGludCBmbGFnczsKICNkZWZpbmUgQ1BGX05PTkUgMHgwMDAwCiAjZGVmaW5lIENQRl9GSVJTVCAweDAwMDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIENQRl9MQVNUIDB4MDAwMgotIGludCBsZW47Ci0gaW50IG9mZnM7Ci0gdW5zaWduZWQgY2hhciBkYXRhWzQwMDBdOworICBpbnQgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGNvcHJfYnVmZmVyOworICBpbnQgb2ZmczsKKyAgdW5zaWduZWQgY2hhciBkYXRhWzQwMDBdOworfSBjb3ByX2J1ZmZlcjsKIHR5cGVkZWYgc3RydWN0IGNvcHJfZGVidWdfYnVmIHsKLSBpbnQgY29tbWFuZDsKLSBpbnQgcGFybTE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBwYXJtMjsKLSBpbnQgZmxhZ3M7Ci0gaW50IGxlbjsKLSB9IGNvcHJfZGVidWdfYnVmOworICBpbnQgY29tbWFuZDsKKyAgaW50IHBhcm0xOworICBpbnQgcGFybTI7CisgIGludCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBsZW47Cit9IGNvcHJfZGVidWdfYnVmOwogdHlwZWRlZiBzdHJ1Y3QgY29wcl9tc2cgewotIGludCBsZW47Ci0gdW5zaWduZWQgY2hhciBkYXRhWzQwMDBdOwotIH0gY29wcl9tc2c7CisgIGludCBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRDVExfQ09QUl9SRVNFVCBfU0lPICgnQycsIDApCisgIHVuc2lnbmVkIGNoYXIgZGF0YVs0MDAwXTsKK30gY29wcl9tc2c7CisjZGVmaW5lIFNORENUTF9DT1BSX1JFU0VUIF9TSU8oJ0MnLCAwKQogI2RlZmluZSBTTkRDVExfQ09QUl9MT0FEIF9TSU9XUignQycsIDEsIGNvcHJfYnVmZmVyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EQ1RMX0NPUFJfUkRBVEEgX1NJT1dSKCdDJywgMiwgY29wcl9kZWJ1Z19idWYpCiAjZGVmaW5lIFNORENUTF9DT1BSX1JDT0RFIF9TSU9XUignQycsIDMsIGNvcHJfZGVidWdfYnVmKQorI2RlZmluZSBTTkRDVExfQ09QUl9XREFUQSBfU0lPVygnQycsIDQsIGNvcHJfZGVidWdfYnVmKQorI2RlZmluZSBTTkRDVExfQ09QUl9XQ09ERSBfU0lPVygnQycsIDUsIGNvcHJfZGVidWdfYnVmKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EQ1RMX0NPUFJfV0RBVEEgX1NJT1cgKCdDJywgNCwgY29wcl9kZWJ1Z19idWYpCi0jZGVmaW5lIFNORENUTF9DT1BSX1dDT0RFIF9TSU9XICgnQycsIDUsIGNvcHJfZGVidWdfYnVmKQogI2RlZmluZSBTTkRDVExfQ09QUl9SVU4gX1NJT1dSKCdDJywgNiwgY29wcl9kZWJ1Z19idWYpCiAjZGVmaW5lIFNORENUTF9DT1BSX0hBTFQgX1NJT1dSKCdDJywgNywgY29wcl9kZWJ1Z19idWYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRDVExfQ09QUl9TRU5ETVNHIF9TSU9XUignQycsIDgsIGNvcHJfbXNnKQotI2RlZmluZSBTTkRDVExfQ09QUl9SQ1ZNU0cgX1NJT1IgKCdDJywgOSwgY29wcl9tc2cpCisjZGVmaW5lIFNORENUTF9DT1BSX1JDVk1TRyBfU0lPUignQycsIDksIGNvcHJfbXNnKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfTlJERVZJQ0VTIDI1CiAjZGVmaW5lIFNPVU5EX01JWEVSX1ZPTFVNRSAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9CQVNTIDEKICNkZWZpbmUgU09VTkRfTUlYRVJfVFJFQkxFIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1NZTlRIIDMKICNkZWZpbmUgU09VTkRfTUlYRVJfUENNIDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1NQRUFLRVIgNQogI2RlZmluZSBTT1VORF9NSVhFUl9MSU5FIDYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX01JQyA3CiAjZGVmaW5lIFNPVU5EX01JWEVSX0NEIDgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX0lNSVggOQogI2RlZmluZSBTT1VORF9NSVhFUl9BTFRQQ00gMTAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQ0xFViAxMQogI2RlZmluZSBTT1VORF9NSVhFUl9JR0FJTiAxMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfT0dBSU4gMTMKICNkZWZpbmUgU09VTkRfTUlYRVJfTElORTEgMTQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX0xJTkUyIDE1CiAjZGVmaW5lIFNPVU5EX01JWEVSX0xJTkUzIDE2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9ESUdJVEFMMSAxNwogI2RlZmluZSBTT1VORF9NSVhFUl9ESUdJVEFMMiAxOAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfRElHSVRBTDMgMTkKICNkZWZpbmUgU09VTkRfTUlYRVJfUEhPTkVJTiAyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfUEhPTkVPVVQgMjEKICNkZWZpbmUgU09VTkRfTUlYRVJfVklERU8gMjIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JBRElPIDIzCiAjZGVmaW5lIFNPVU5EX01JWEVSX01PTklUT1IgMjQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX09OT0ZGX01JTiAyOAogI2RlZmluZSBTT1VORF9PTk9GRl9NQVggMzAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX05PTkUgMzEKICNkZWZpbmUgU09VTkRfTUlYRVJfRU5IQU5DRSBTT1VORF9NSVhFUl9OT05FCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9NVVRFIFNPVU5EX01JWEVSX05PTkUKICNkZWZpbmUgU09VTkRfTUlYRVJfTE9VRCBTT1VORF9NSVhFUl9OT05FCi0jZGVmaW5lIFNPVU5EX0RFVklDRV9MQUJFTFMgeyJWb2wgICIsICJCYXNzICIsICJUcmVibCIsICJTeW50aCIsICJQY20gICIsICJTcGtyICIsICJMaW5lICIsICAgIk1pYyAgIiwgIkNEICAgIiwgIk1peCAgIiwgIlBjbTIgIiwgIlJlYyAgIiwgIklHYWluIiwgIk9HYWluIiwgICAiTGluZTEiLCAiTGluZTIiLCAiTGluZTMiLCAiRGlnaXRhbDEiLCAiRGlnaXRhbDIiLCAiRGlnaXRhbDMiLCAgICJQaG9uZUluIiwgIlBob25lT3V0IiwgIlZpZGVvIiwgIlJhZGlvIiwgIk1vbml0b3IifQotI2RlZmluZSBTT1VORF9ERVZJQ0VfTkFNRVMgeyJ2b2wiLCAiYmFzcyIsICJ0cmVibGUiLCAic3ludGgiLCAicGNtIiwgInNwZWFrZXIiLCAibGluZSIsICAgIm1pYyIsICJjZCIsICJtaXgiLCAicGNtMiIsICJyZWMiLCAiaWdhaW4iLCAib2dhaW4iLCAgICJsaW5lMSIsICJsaW5lMiIsICJsaW5lMyIsICJkaWcxIiwgImRpZzIiLCAiZGlnMyIsICAgInBoaW4iLCAicGhvdXQiLCAidmlkZW8iLCAicmFkaW8iLCAibW9uaXRvciJ9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTT1VORF9ERVZJQ0VfTEFCRUxTIHsgIlZvbCAgIiwgIkJhc3MgIiwgIlRyZWJsIiwgIlN5bnRoIiwgIlBjbSAgIiwgIlNwa3IgIiwgIkxpbmUgIiwgIk1pYyAgIiwgIkNEICAgIiwgIk1peCAgIiwgIlBjbTIgIiwgIlJlYyAgIiwgIklHYWluIiwgIk9HYWluIiwgIkxpbmUxIiwgIkxpbmUyIiwgIkxpbmUzIiwgIkRpZ2l0YWwxIiwgIkRpZ2l0YWwyIiwgIkRpZ2l0YWwzIiwgIlBob25lSW4iLCAiUGhvbmVPdXQiLCAiVmlkZW8iLCAiUmFkaW8iLCAiTW9uaXRvciIgfQorI2RlZmluZSBTT1VORF9ERVZJQ0VfTkFNRVMgeyAidm9sIiwgImJhc3MiLCAidHJlYmxlIiwgInN5bnRoIiwgInBjbSIsICJzcGVha2VyIiwgImxpbmUiLCAibWljIiwgImNkIiwgIm1peCIsICJwY20yIiwgInJlYyIsICJpZ2FpbiIsICJvZ2FpbiIsICJsaW5lMSIsICJsaW5lMiIsICJsaW5lMyIsICJkaWcxIiwgImRpZzIiLCAiZGlnMyIsICJwaGluIiwgInBob3V0IiwgInZpZGVvIiwgInJhZGlvIiwgIm1vbml0b3IiIH0KICNkZWZpbmUgU09VTkRfTUlYRVJfUkVDU1JDIDB4ZmYKICNkZWZpbmUgU09VTkRfTUlYRVJfREVWTUFTSyAweGZlCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9SRUNNQVNLIDB4ZmQKICNkZWZpbmUgU09VTkRfTUlYRVJfQ0FQUyAweGZjCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9DQVBfRVhDTF9JTlBVVCAweDAwMDAwMDAxCiAjZGVmaW5lIFNPVU5EX01JWEVSX1NURVJFT0RFVlMgMHhmYgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfT1VUU1JDIDB4ZmEKICNkZWZpbmUgU09VTkRfTUlYRVJfT1VUTUFTSyAweGY5Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NQVNLX1ZPTFVNRSAoMSA8PCBTT1VORF9NSVhFUl9WT0xVTUUpCiAjZGVmaW5lIFNPVU5EX01BU0tfQkFTUyAoMSA8PCBTT1VORF9NSVhFUl9CQVNTKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUFTS19UUkVCTEUgKDEgPDwgU09VTkRfTUlYRVJfVFJFQkxFKQogI2RlZmluZSBTT1VORF9NQVNLX1NZTlRIICgxIDw8IFNPVU5EX01JWEVSX1NZTlRIKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUFTS19QQ00gKDEgPDwgU09VTkRfTUlYRVJfUENNKQogI2RlZmluZSBTT1VORF9NQVNLX1NQRUFLRVIgKDEgPDwgU09VTkRfTUlYRVJfU1BFQUtFUikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01BU0tfTElORSAoMSA8PCBTT1VORF9NSVhFUl9MSU5FKQogI2RlZmluZSBTT1VORF9NQVNLX01JQyAoMSA8PCBTT1VORF9NSVhFUl9NSUMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NQVNLX0NEICgxIDw8IFNPVU5EX01JWEVSX0NEKQogI2RlZmluZSBTT1VORF9NQVNLX0lNSVggKDEgPDwgU09VTkRfTUlYRVJfSU1JWCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01BU0tfQUxUUENNICgxIDw8IFNPVU5EX01JWEVSX0FMVFBDTSkKICNkZWZpbmUgU09VTkRfTUFTS19SRUNMRVYgKDEgPDwgU09VTkRfTUlYRVJfUkVDTEVWKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUFTS19JR0FJTiAoMSA8PCBTT1VORF9NSVhFUl9JR0FJTikKICNkZWZpbmUgU09VTkRfTUFTS19PR0FJTiAoMSA8PCBTT1VORF9NSVhFUl9PR0FJTikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01BU0tfTElORTEgKDEgPDwgU09VTkRfTUlYRVJfTElORTEpCiAjZGVmaW5lIFNPVU5EX01BU0tfTElORTIgKDEgPDwgU09VTkRfTUlYRVJfTElORTIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NQVNLX0xJTkUzICgxIDw8IFNPVU5EX01JWEVSX0xJTkUzKQogI2RlZmluZSBTT1VORF9NQVNLX0RJR0lUQUwxICgxIDw8IFNPVU5EX01JWEVSX0RJR0lUQUwxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUFTS19ESUdJVEFMMiAoMSA8PCBTT1VORF9NSVhFUl9ESUdJVEFMMikKICNkZWZpbmUgU09VTkRfTUFTS19ESUdJVEFMMyAoMSA8PCBTT1VORF9NSVhFUl9ESUdJVEFMMykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01BU0tfUEhPTkVJTiAoMSA8PCBTT1VORF9NSVhFUl9QSE9ORUlOKQogI2RlZmluZSBTT1VORF9NQVNLX1BIT05FT1VUICgxIDw8IFNPVU5EX01JWEVSX1BIT05FT1VUKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUFTS19SQURJTyAoMSA8PCBTT1VORF9NSVhFUl9SQURJTykKICNkZWZpbmUgU09VTkRfTUFTS19WSURFTyAoMSA8PCBTT1VORF9NSVhFUl9WSURFTykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01BU0tfTU9OSVRPUiAoMSA8PCBTT1VORF9NSVhFUl9NT05JVE9SKQogI2RlZmluZSBTT1VORF9NQVNLX01VVEUgKDEgPDwgU09VTkRfTUlYRVJfTVVURSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01BU0tfRU5IQU5DRSAoMSA8PCBTT1VORF9NSVhFUl9FTkhBTkNFKQogI2RlZmluZSBTT1VORF9NQVNLX0xPVUQgKDEgPDwgU09VTkRfTUlYRVJfTE9VRCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1JWEVSX1JFQUQoZGV2KSBfU0lPUignTScsIGRldiwgaW50KQogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX1ZPTFVNRSBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1ZPTFVNRSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfQkFTUyBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX0JBU1MpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfVFJFQkxFIE1JWEVSX1JFQUQoU09VTkRfTUlYRVJfVFJFQkxFKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfUkVBRF9TWU5USCBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1NZTlRIKQogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX1BDTSBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1BDTSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfU1BFQUtFUiBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1NQRUFLRVIpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfTElORSBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX0xJTkUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX01JQyBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX01JQykKICNkZWZpbmUgU09VTkRfTUlYRVJfUkVBRF9DRCBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX0NEKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfUkVBRF9JTUlYIE1JWEVSX1JFQUQoU09VTkRfTUlYRVJfSU1JWCkKICNkZWZpbmUgU09VTkRfTUlYRVJfUkVBRF9BTFRQQ00gTUlYRVJfUkVBRChTT1VORF9NSVhFUl9BTFRQQ00pCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX1JFQ0xFViBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1JFQ0xFVikKICNkZWZpbmUgU09VTkRfTUlYRVJfUkVBRF9JR0FJTiBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX0lHQUlOKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfUkVBRF9PR0FJTiBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX09HQUlOKQogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX0xJTkUxIE1JWEVSX1JFQUQoU09VTkRfTUlYRVJfTElORTEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX0xJTkUyIE1JWEVSX1JFQUQoU09VTkRfTUlYRVJfTElORTIpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfTElORTMgTUlYRVJfUkVBRChTT1VORF9NSVhFUl9MSU5FMykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfTVVURSBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX01VVEUpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfRU5IQU5DRSBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX0VOSEFOQ0UpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX0xPVUQgTUlYRVJfUkVBRChTT1VORF9NSVhFUl9MT1VEKQogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX1JFQ1NSQyBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1JFQ1NSQykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfREVWTUFTSyBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX0RFVk1BU0spCiAjZGVmaW5lIFNPVU5EX01JWEVSX1JFQURfUkVDTUFTSyBNSVhFUl9SRUFEKFNPVU5EX01JWEVSX1JFQ01BU0spCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX1NURVJFT0RFVlMgTUlYRVJfUkVBRChTT1VORF9NSVhFUl9TVEVSRU9ERVZTKQogI2RlZmluZSBTT1VORF9NSVhFUl9SRUFEX0NBUFMgTUlYRVJfUkVBRChTT1VORF9NSVhFUl9DQVBTKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUlYRVJfV1JJVEUoZGV2KSBfU0lPV1IoJ00nLCBkZXYsIGludCkKICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfVk9MVU1FIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX1ZPTFVNRSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX0JBU1MgTUlYRVJfV1JJVEUoU09VTkRfTUlYRVJfQkFTUykKICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfVFJFQkxFIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX1RSRUJMRSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX1NZTlRIIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX1NZTlRIKQogI2RlZmluZSBTT1VORF9NSVhFUl9XUklURV9QQ00gTUlYRVJfV1JJVEUoU09VTkRfTUlYRVJfUENNKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfU1BFQUtFUiBNSVhFUl9XUklURShTT1VORF9NSVhFUl9TUEVBS0VSKQogI2RlZmluZSBTT1VORF9NSVhFUl9XUklURV9MSU5FIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0xJTkUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9XUklURV9NSUMgTUlYRVJfV1JJVEUoU09VTkRfTUlYRVJfTUlDKQogI2RlZmluZSBTT1VORF9NSVhFUl9XUklURV9DRCBNSVhFUl9XUklURShTT1VORF9NSVhFUl9DRCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX0lNSVggTUlYRVJfV1JJVEUoU09VTkRfTUlYRVJfSU1JWCkKICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfQUxUUENNIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0FMVFBDTSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX1JFQ0xFViBNSVhFUl9XUklURShTT1VORF9NSVhFUl9SRUNMRVYpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX0lHQUlOIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0lHQUlOKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfT0dBSU4gTUlYRVJfV1JJVEUoU09VTkRfTUlYRVJfT0dBSU4pCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX0xJTkUxIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0xJTkUxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfTElORTIgTUlYRVJfV1JJVEUoU09VTkRfTUlYRVJfTElORTIpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX0xJTkUzIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0xJTkUzKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU09VTkRfTUlYRVJfV1JJVEVfTVVURSBNSVhFUl9XUklURShTT1VORF9NSVhFUl9NVVRFKQogI2RlZmluZSBTT1VORF9NSVhFUl9XUklURV9FTkhBTkNFIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0VOSEFOQ0UpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9XUklURV9MT1VEIE1JWEVSX1dSSVRFKFNPVU5EX01JWEVSX0xPVUQpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1dSSVRFX1JFQ1NSQyBNSVhFUl9XUklURShTT1VORF9NSVhFUl9SRUNTUkMpCit0eXBlZGVmIHN0cnVjdCBtaXhlcl9pbmZvIHsKKyAgY2hhciBpZFsxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotdHlwZWRlZiBzdHJ1Y3QgbWl4ZXJfaW5mbwotewotIGNoYXIgaWRbMTZdOwotIGNoYXIgbmFtZVszMl07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBtb2RpZnlfY291bnRlcjsKLSBpbnQgZmlsbGVyc1sxMF07CisgIGNoYXIgbmFtZVszMl07CisgIGludCBtb2RpZnlfY291bnRlcjsKKyAgaW50IGZpbGxlcnNbMTBdOwogfSBtaXhlcl9pbmZvOwotdHlwZWRlZiBzdHJ1Y3QgX29sZF9taXhlcl9pbmZvCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIGNoYXIgaWRbMTZdOwotIGNoYXIgbmFtZVszMl07Cit0eXBlZGVmIHN0cnVjdCBfb2xkX21peGVyX2luZm8geworICBjaGFyIGlkWzE2XTsKKyAgY2hhciBuYW1lWzMyXTsKIH0gX29sZF9taXhlcl9pbmZvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU09VTkRfTUlYRVJfSU5GTyBfU0lPUiAoJ00nLCAxMDEsIG1peGVyX2luZm8pCi0jZGVmaW5lIFNPVU5EX09MRF9NSVhFUl9JTkZPIF9TSU9SICgnTScsIDEwMSwgX29sZF9taXhlcl9pbmZvKQorI2RlZmluZSBTT1VORF9NSVhFUl9JTkZPIF9TSU9SKCdNJywgMTAxLCBtaXhlcl9pbmZvKQorI2RlZmluZSBTT1VORF9PTERfTUlYRVJfSU5GTyBfU0lPUignTScsIDEwMSwgX29sZF9taXhlcl9pbmZvKQogdHlwZWRlZiB1bnNpZ25lZCBjaGFyIG1peGVyX3JlY29yZFsxMjhdOwogI2RlZmluZSBTT1VORF9NSVhFUl9BQ0NFU1MgX1NJT1dSKCdNJywgMTAyLCBtaXhlcl9yZWNvcmQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNzQ2LDE0ICs3NDEsMTQgQEAKICNkZWZpbmUgU09VTkRfTUlYRVJfUFJJVkFURTUgX1NJT1dSKCdNJywgMTE1LCBpbnQpCiB0eXBlZGVmIHN0cnVjdCBtaXhlcl92b2xfdGFibGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbnVtOwotIGNoYXIgbmFtZVszMl07Ci0gaW50IGxldmVsc1szMl07CisgIGludCBudW07CisgIGNoYXIgbmFtZVszMl07CisgIGludCBsZXZlbHNbMzJdOwogfSBtaXhlcl92b2xfdGFibGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT1VORF9NSVhFUl9HRVRMRVZFTFMgX1NJT1dSKCdNJywgMTE2LCBtaXhlcl92b2xfdGFibGUpCiAjZGVmaW5lIFNPVU5EX01JWEVSX1NFVExFVkVMUyBfU0lPV1IoJ00nLCAxMTcsIG1peGVyX3ZvbF90YWJsZSkKLSNkZWZpbmUgT1NTX0dFVFZFUlNJT04gX1NJT1IgKCdNJywgMTE4LCBpbnQpCisjZGVmaW5lIE9TU19HRVRWRVJTSU9OIF9TSU9SKCdNJywgMTE4LCBpbnQpCiAjZGVmaW5lIEVWX1NFUV9MT0NBTCAweDgwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBFVl9USU1JTkcgMHg4MQpAQCAtNzg3LDE0ICs3ODIsMTQgQEAKICNkZWZpbmUgU0VRX0RFQ0xBUkVCVUYoKSBTRVFfVVNFX0VYVEJVRigpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRVFfUE1fREVGSU5FUyBpbnQgX19mb29fYmFyX19fCi0jZGVmaW5lIFNFUV9MT0FEX0dNSU5TVFIoZGV2LCBpbnN0cikKLSNkZWZpbmUgU0VRX0xPQURfR01EUlVNKGRldiwgZHJ1bSkKKyNkZWZpbmUgU0VRX0xPQURfR01JTlNUUihkZXYsaW5zdHIpCisjZGVmaW5lIFNFUV9MT0FEX0dNRFJVTShkZXYsZHJ1bSkKICNkZWZpbmUgX1NFUV9FWFRFUk4gZXh0ZXJuCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTRVFfVVNFX0VYVEJVRigpICAgX1NFUV9FWFRFUk4gdW5zaWduZWQgY2hhciBfc2VxYnVmW107ICAgX1NFUV9FWFRFUk4gaW50IF9zZXFidWZsZW47IF9TRVFfRVhURVJOIGludCBfc2VxYnVmcHRyCisjZGVmaW5lIFNFUV9VU0VfRVhUQlVGKCkgX1NFUV9FWFRFUk4gdW5zaWduZWQgY2hhciBfc2VxYnVmW107IF9TRVFfRVhURVJOIGludCBfc2VxYnVmbGVuOyBfU0VRX0VYVEVSTiBpbnQgX3NlcWJ1ZnB0cgogI2lmbmRlZiBVU0VfU0lNUExFX01BQ1JPUwotI2RlZmluZSBTRVFfREVGSU5FQlVGKGxlbikgdW5zaWduZWQgY2hhciBfc2VxYnVmW2xlbl07IGludCBfc2VxYnVmbGVuID0gbGVuO2ludCBfc2VxYnVmcHRyID0gMAotI2RlZmluZSBfU0VRX05FRURCVUYobGVuKSBpZiAoKF9zZXFidWZwdHIrKGxlbikpID4gX3NlcWJ1Zmxlbikgc2VxYnVmX2R1bXAoKQorI2RlZmluZSBTRVFfREVGSU5FQlVGKGxlbikgdW5zaWduZWQgY2hhciBfc2VxYnVmW2xlbl07IGludCBfc2VxYnVmbGVuID0gbGVuOyBpbnQgX3NlcWJ1ZnB0ciA9IDAKKyNkZWZpbmUgX1NFUV9ORUVEQlVGKGxlbikgaWYoKF9zZXFidWZwdHIgKyAobGVuKSkgPiBfc2VxYnVmbGVuKSBzZXFidWZfZHVtcCgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfU0VRX0FEVkJVRihsZW4pIF9zZXFidWZwdHIgKz0gbGVuCiAjZGVmaW5lIFNFUV9EVU1QQlVGIHNlcWJ1Zl9kdW1wCkBAIC04MDIsMjkgKzc5NywyOSBAQAogI2RlZmluZSBfU0VRX05FRURCVUYobGVuKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgotI2RlZmluZSBTRVFfVk9MVU1FX01PREUoZGV2LCBtb2RlKSB7X1NFUV9ORUVEQlVGKDgpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IFNFUV9FWFRFTkRFRDsgIF9zZXFidWZbX3NlcWJ1ZnB0cisxXSA9IFNFUV9WT0xNT0RFOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzJdID0gKGRldik7ICBfc2VxYnVmW19zZXFidWZwdHIrM10gPSAobW9kZSk7ICBfc2VxYnVmW19zZXFidWZwdHIrNF0gPSAwOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzVdID0gMDsgIF9zZXFidWZbX3NlcWJ1ZnB0cis2XSA9IDA7ICBfc2VxYnVmW19zZXFidWZwdHIrN10gPSAwOyAgX1NFUV9BRFZCVUYoOCk7fQotI2RlZmluZSBfQ0hOX1ZPSUNFKGRldiwgZXZlbnQsIGNobiwgbm90ZSwgcGFybSkgICB7X1NFUV9ORUVEQlVGKDgpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IEVWX0NITl9WT0lDRTsgIF9zZXFidWZbX3NlcWJ1ZnB0cisxXSA9IChkZXYpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzJdID0gKGV2ZW50KTsgIF9zZXFidWZbX3NlcWJ1ZnB0ciszXSA9IChjaG4pOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzRdID0gKG5vdGUpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzVdID0gKHBhcm0pOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzZdID0gKDApOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzddID0gMDsgIF9TRVFfQURWQlVGKDgpO30KLSNkZWZpbmUgU0VRX1NUQVJUX05PVEUoZGV2LCBjaG4sIG5vdGUsIHZvbCkgICBfQ0hOX1ZPSUNFKGRldiwgTUlESV9OT1RFT04sIGNobiwgbm90ZSwgdm9sKQorI2RlZmluZSBTRVFfVk9MVU1FX01PREUoZGV2LG1vZGUpIHsgX1NFUV9ORUVEQlVGKDgpOyBfc2VxYnVmW19zZXFidWZwdHJdID0gU0VRX0VYVEVOREVEOyBfc2VxYnVmW19zZXFidWZwdHIgKyAxXSA9IFNFUV9WT0xNT0RFOyBfc2VxYnVmW19zZXFidWZwdHIgKyAyXSA9IChkZXYpOyBfc2VxYnVmW19zZXFidWZwdHIgKyAzXSA9IChtb2RlKTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgNF0gPSAwOyBfc2VxYnVmW19zZXFidWZwdHIgKyA1XSA9IDA7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDZdID0gMDsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgN10gPSAwOyBfU0VRX0FEVkJVRig4KTsgfQorI2RlZmluZSBfQ0hOX1ZPSUNFKGRldixldmVudCxjaG4sbm90ZSxwYXJtKSB7IF9TRVFfTkVFREJVRig4KTsgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IEVWX0NITl9WT0lDRTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMV0gPSAoZGV2KTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMl0gPSAoZXZlbnQpOyBfc2VxYnVmW19zZXFidWZwdHIgKyAzXSA9IChjaG4pOyBfc2VxYnVmW19zZXFidWZwdHIgKyA0XSA9IChub3RlKTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgNV0gPSAocGFybSk7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDZdID0gKDApOyBfc2VxYnVmW19zZXFidWZwdHIgKyA3XSA9IDA7IF9TRVFfQURWQlVGKDgpOyB9CisjZGVmaW5lIFNFUV9TVEFSVF9OT1RFKGRldixjaG4sbm90ZSx2b2wpIF9DSE5fVk9JQ0UoZGV2LCBNSURJX05PVEVPTiwgY2huLCBub3RlLCB2b2wpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTRVFfU1RPUF9OT1RFKGRldiwgY2huLCBub3RlLCB2b2wpICAgX0NITl9WT0lDRShkZXYsIE1JRElfTk9URU9GRiwgY2huLCBub3RlLCB2b2wpCi0jZGVmaW5lIFNFUV9LRVlfUFJFU1NVUkUoZGV2LCBjaG4sIG5vdGUsIHByZXNzdXJlKSAgIF9DSE5fVk9JQ0UoZGV2LCBNSURJX0tFWV9QUkVTU1VSRSwgY2huLCBub3RlLCBwcmVzc3VyZSkKLSNkZWZpbmUgX0NITl9DT01NT04oZGV2LCBldmVudCwgY2huLCBwMSwgcDIsIHcxNCkgICB7X1NFUV9ORUVEQlVGKDgpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IEVWX0NITl9DT01NT047ICBfc2VxYnVmW19zZXFidWZwdHIrMV0gPSAoZGV2KTsgIF9zZXFidWZbX3NlcWJ1ZnB0cisyXSA9IChldmVudCk7ICBfc2VxYnVmW19zZXFidWZwdHIrM10gPSAoY2huKTsgIF9zZXFidWZbX3NlcWJ1ZnB0cis0XSA9IChwMSk7ICBfc2VxYnVmW19zZXFidWZwdHIrNV0gPSAocDIpOyAgKihzaG9ydCAqKSZfc2VxYnVmW19zZXFidWZwdHIrNl0gPSAodzE0KTsgIF9TRVFfQURWQlVGKDgpO30KLSNkZWZpbmUgU0VRX1NZU0VYKGRldiwgYnVmLCBsZW4pICAge2ludCBpaSwgbGw9KGxlbik7ICAgdW5zaWduZWQgY2hhciAqYnVmcD1idWY7ICBpZiAobGw+NilsbD02OyAgX1NFUV9ORUVEQlVGKDgpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IEVWX1NZU0VYOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzFdID0gKGRldik7ICBmb3IoaWk9MDtpaTxsbDtpaSsrKSAgX3NlcWJ1Zltfc2VxYnVmcHRyK2lpKzJdID0gYnVmcFtpaV07ICBmb3IoaWk9bGw7aWk8NjtpaSsrKSAgX3NlcWJ1Zltfc2VxYnVmcHRyK2lpKzJdID0gMHhmZjsgIF9TRVFfQURWQlVGKDgpO30KKyNkZWZpbmUgU0VRX1NUT1BfTk9URShkZXYsY2huLG5vdGUsdm9sKSBfQ0hOX1ZPSUNFKGRldiwgTUlESV9OT1RFT0ZGLCBjaG4sIG5vdGUsIHZvbCkKKyNkZWZpbmUgU0VRX0tFWV9QUkVTU1VSRShkZXYsY2huLG5vdGUscHJlc3N1cmUpIF9DSE5fVk9JQ0UoZGV2LCBNSURJX0tFWV9QUkVTU1VSRSwgY2huLCBub3RlLCBwcmVzc3VyZSkKKyNkZWZpbmUgX0NITl9DT01NT04oZGV2LGV2ZW50LGNobixwMSxwMix3MTQpIHsgX1NFUV9ORUVEQlVGKDgpOyBfc2VxYnVmW19zZXFidWZwdHJdID0gRVZfQ0hOX0NPTU1PTjsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMV0gPSAoZGV2KTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMl0gPSAoZXZlbnQpOyBfc2VxYnVmW19zZXFidWZwdHIgKyAzXSA9IChjaG4pOyBfc2VxYnVmW19zZXFidWZwdHIgKyA0XSA9IChwMSk7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDVdID0gKHAyKTsgKiAoc2hvcnQgKikgJiBfc2VxYnVmW19zZXFidWZwdHIgKyA2XSA9ICh3MTQpOyBfU0VRX0FEVkJVRig4KTsgfQorI2RlZmluZSBTRVFfU1lTRVgoZGV2LGJ1ZixsZW4pIHsgaW50IGlpLCBsbCA9IChsZW4pOyB1bnNpZ25lZCBjaGFyICogYnVmcCA9IGJ1ZjsgaWYobGwgPiA2KSBsbCA9IDY7IF9TRVFfTkVFREJVRig4KTsgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IEVWX1NZU0VYOyBfc2VxYnVmW19zZXFidWZwdHIgKyAxXSA9IChkZXYpOyBmb3IoaWkgPSAwOyBpaSA8IGxsOyBpaSArKykgX3NlcWJ1Zltfc2VxYnVmcHRyICsgaWkgKyAyXSA9IGJ1ZnBbaWldOyBmb3IoaWkgPSBsbDsgaWkgPCA2OyBpaSArKykgX3NlcWJ1Zltfc2VxYnVmcHRyICsgaWkgKyAyXSA9IDB4ZmY7IF9TRVFfQURWQlVGKDgpOyB9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTRVFfQ0hOX1BSRVNTVVJFKGRldiwgY2huLCBwcmVzc3VyZSkgICBfQ0hOX0NPTU1PTihkZXYsIE1JRElfQ0hOX1BSRVNTVVJFLCBjaG4sIHByZXNzdXJlLCAwLCAwKQorI2RlZmluZSBTRVFfQ0hOX1BSRVNTVVJFKGRldixjaG4scHJlc3N1cmUpIF9DSE5fQ09NTU9OKGRldiwgTUlESV9DSE5fUFJFU1NVUkUsIGNobiwgcHJlc3N1cmUsIDAsIDApCiAjZGVmaW5lIFNFUV9TRVRfUEFUQ0ggU0VRX1BHTV9DSEFOR0UKLSNkZWZpbmUgU0VRX1BHTV9DSEFOR0UoZGV2LCBjaG4sIHBhdGNoKSAgIF9DSE5fQ09NTU9OKGRldiwgTUlESV9QR01fQ0hBTkdFLCBjaG4sIHBhdGNoLCAwLCAwKQotI2RlZmluZSBTRVFfQ09OVFJPTChkZXYsIGNobiwgY29udHJvbGxlciwgdmFsdWUpICAgX0NITl9DT01NT04oZGV2LCBNSURJX0NUTF9DSEFOR0UsIGNobiwgY29udHJvbGxlciwgMCwgdmFsdWUpCisjZGVmaW5lIFNFUV9QR01fQ0hBTkdFKGRldixjaG4scGF0Y2gpIF9DSE5fQ09NTU9OKGRldiwgTUlESV9QR01fQ0hBTkdFLCBjaG4sIHBhdGNoLCAwLCAwKQorI2RlZmluZSBTRVFfQ09OVFJPTChkZXYsY2huLGNvbnRyb2xsZXIsdmFsdWUpIF9DSE5fQ09NTU9OKGRldiwgTUlESV9DVExfQ0hBTkdFLCBjaG4sIGNvbnRyb2xsZXIsIDAsIHZhbHVlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0VRX0JFTkRFUihkZXYsIGNobiwgdmFsdWUpICAgX0NITl9DT01NT04oZGV2LCBNSURJX1BJVENIX0JFTkQsIGNobiwgMCwgMCwgdmFsdWUpCi0jZGVmaW5lIFNFUV9WMl9YX0NPTlRST0woZGV2LCB2b2ljZSwgY29udHJvbGxlciwgdmFsdWUpIHtfU0VRX05FRURCVUYoOCk7ICBfc2VxYnVmW19zZXFidWZwdHJdID0gU0VRX0VYVEVOREVEOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzFdID0gU0VRX0NPTlRST0xMRVI7ICBfc2VxYnVmW19zZXFidWZwdHIrMl0gPSAoZGV2KTsgIF9zZXFidWZbX3NlcWJ1ZnB0ciszXSA9ICh2b2ljZSk7ICBfc2VxYnVmW19zZXFidWZwdHIrNF0gPSAoY29udHJvbGxlcik7ICBfc2VxYnVmW19zZXFidWZwdHIrNV0gPSAoKHZhbHVlKSYweGZmKTsgIF9zZXFidWZbX3NlcWJ1ZnB0cis2XSA9ICgodmFsdWU+PjgpJjB4ZmYpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzddID0gMDsgIF9TRVFfQURWQlVGKDgpO30KLSNkZWZpbmUgU0VRX1BJVENIQkVORChkZXYsIHZvaWNlLCB2YWx1ZSkgU0VRX1YyX1hfQ09OVFJPTChkZXYsIHZvaWNlLCBDVFJMX1BJVENIX0JFTkRFUiwgdmFsdWUpCi0jZGVmaW5lIFNFUV9CRU5ERVJfUkFOR0UoZGV2LCB2b2ljZSwgdmFsdWUpIFNFUV9WMl9YX0NPTlRST0woZGV2LCB2b2ljZSwgQ1RSTF9QSVRDSF9CRU5ERVJfUkFOR0UsIHZhbHVlKQorI2RlZmluZSBTRVFfQkVOREVSKGRldixjaG4sdmFsdWUpIF9DSE5fQ09NTU9OKGRldiwgTUlESV9QSVRDSF9CRU5ELCBjaG4sIDAsIDAsIHZhbHVlKQorI2RlZmluZSBTRVFfVjJfWF9DT05UUk9MKGRldix2b2ljZSxjb250cm9sbGVyLHZhbHVlKSB7IF9TRVFfTkVFREJVRig4KTsgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IFNFUV9FWFRFTkRFRDsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMV0gPSBTRVFfQ09OVFJPTExFUjsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMl0gPSAoZGV2KTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgM10gPSAodm9pY2UpOyBfc2VxYnVmW19zZXFidWZwdHIgKyA0XSA9IChjb250cm9sbGVyKTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgNV0gPSAoKHZhbHVlKSAmIDB4ZmYpOyBfc2VxYnVmW19zZXFidWZwdHIgKyA2XSA9ICgodmFsdWUgPj4gOCkgJiAweGZmKTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgN10gPSAwOyBfU0VRX0FEVkJVRig4KTsgfQorI2RlZmluZSBTRVFfUElUQ0hCRU5EKGRldix2b2ljZSx2YWx1ZSkgU0VRX1YyX1hfQ09OVFJPTChkZXYsIHZvaWNlLCBDVFJMX1BJVENIX0JFTkRFUiwgdmFsdWUpCisjZGVmaW5lIFNFUV9CRU5ERVJfUkFOR0UoZGV2LHZvaWNlLHZhbHVlKSBTRVFfVjJfWF9DT05UUk9MKGRldiwgdm9pY2UsIENUUkxfUElUQ0hfQkVOREVSX1JBTkdFLCB2YWx1ZSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNFUV9FWFBSRVNTSU9OKGRldiwgdm9pY2UsIHZhbHVlKSBTRVFfQ09OVFJPTChkZXYsIHZvaWNlLCBDVExfRVhQUkVTU0lPTiwgdmFsdWUqMTI4KQotI2RlZmluZSBTRVFfTUFJTl9WT0xVTUUoZGV2LCB2b2ljZSwgdmFsdWUpIFNFUV9DT05UUk9MKGRldiwgdm9pY2UsIENUTF9NQUlOX1ZPTFVNRSwgKHZhbHVlKjE2MzgzKS8xMDApCi0jZGVmaW5lIFNFUV9QQU5OSU5HKGRldiwgdm9pY2UsIHBvcykgU0VRX0NPTlRST0woZGV2LCB2b2ljZSwgQ1RMX1BBTiwgKHBvcysxMjgpIC8gMikKLSNkZWZpbmUgX1RJTUVSX0VWRU5UKGV2LCBwYXJtKSB7X1NFUV9ORUVEQlVGKDgpOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzBdID0gRVZfVElNSU5HOyAgIF9zZXFidWZbX3NlcWJ1ZnB0cisxXSA9IChldik7ICAgX3NlcWJ1Zltfc2VxYnVmcHRyKzJdID0gMDsgIF9zZXFidWZbX3NlcWJ1ZnB0ciszXSA9IDA7ICAqKHVuc2lnbmVkIGludCAqKSZfc2VxYnVmW19zZXFidWZwdHIrNF0gPSAocGFybSk7ICAgX1NFUV9BRFZCVUYoOCk7fQorI2RlZmluZSBTRVFfRVhQUkVTU0lPTihkZXYsdm9pY2UsdmFsdWUpIFNFUV9DT05UUk9MKGRldiwgdm9pY2UsIENUTF9FWFBSRVNTSU9OLCB2YWx1ZSAqIDEyOCkKKyNkZWZpbmUgU0VRX01BSU5fVk9MVU1FKGRldix2b2ljZSx2YWx1ZSkgU0VRX0NPTlRST0woZGV2LCB2b2ljZSwgQ1RMX01BSU5fVk9MVU1FLCAodmFsdWUgKiAxNjM4MykgLyAxMDApCisjZGVmaW5lIFNFUV9QQU5OSU5HKGRldix2b2ljZSxwb3MpIFNFUV9DT05UUk9MKGRldiwgdm9pY2UsIENUTF9QQU4sIChwb3MgKyAxMjgpIC8gMikKKyNkZWZpbmUgX1RJTUVSX0VWRU5UKGV2LHBhcm0pIHsgX1NFUV9ORUVEQlVGKDgpOyBfc2VxYnVmW19zZXFidWZwdHIgKyAwXSA9IEVWX1RJTUlORzsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMV0gPSAoZXYpOyBfc2VxYnVmW19zZXFidWZwdHIgKyAyXSA9IDA7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDNdID0gMDsgKiAodW5zaWduZWQgaW50ICopICYgX3NlcWJ1Zltfc2VxYnVmcHRyICsgNF0gPSAocGFybSk7IF9TRVFfQURWQlVGKDgpOyB9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTRVFfU1RBUlRfVElNRVIoKSBfVElNRVJfRVZFTlQoVE1SX1NUQVJULCAwKQogI2RlZmluZSBTRVFfU1RPUF9USU1FUigpIF9USU1FUl9FVkVOVChUTVJfU1RPUCwgMCkKQEAgLTgzNywxMCArODMyLDEwIEBACiAjZGVmaW5lIFNFUV9TT05HUE9TKHBvcykgX1RJTUVSX0VWRU5UKFRNUl9TUFAsIHBvcykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNFUV9USU1FX1NJR05BVFVSRShzaWcpIF9USU1FUl9FVkVOVChUTVJfVElNRVNJRywgc2lnKQotI2RlZmluZSBfTE9DQUxfRVZFTlQoZXYsIHBhcm0pIHtfU0VRX05FRURCVUYoOCk7ICBfc2VxYnVmW19zZXFidWZwdHIrMF0gPSBFVl9TRVFfTE9DQUw7ICAgX3NlcWJ1Zltfc2VxYnVmcHRyKzFdID0gKGV2KTsgICBfc2VxYnVmW19zZXFidWZwdHIrMl0gPSAwOyAgX3NlcWJ1Zltfc2VxYnVmcHRyKzNdID0gMDsgICoodW5zaWduZWQgaW50ICopJl9zZXFidWZbX3NlcWJ1ZnB0cis0XSA9IChwYXJtKTsgICBfU0VRX0FEVkJVRig4KTt9CisjZGVmaW5lIF9MT0NBTF9FVkVOVChldixwYXJtKSB7IF9TRVFfTkVFREJVRig4KTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMF0gPSBFVl9TRVFfTE9DQUw7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDFdID0gKGV2KTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMl0gPSAwOyBfc2VxYnVmW19zZXFidWZwdHIgKyAzXSA9IDA7ICogKHVuc2lnbmVkIGludCAqKSAmIF9zZXFidWZbX3NlcWJ1ZnB0ciArIDRdID0gKHBhcm0pOyBfU0VRX0FEVkJVRig4KTsgfQogI2RlZmluZSBTRVFfUExBWUFVRElPKGRldm1hc2spIF9MT0NBTF9FVkVOVChMT0NMX1NUQVJUQVVESU8sIGRldm1hc2spCi0jZGVmaW5lIFNFUV9NSURJT1VUKGRldmljZSwgYnl0ZSkge19TRVFfTkVFREJVRig0KTsgIF9zZXFidWZbX3NlcWJ1ZnB0cl0gPSBTRVFfTUlESVBVVEM7ICBfc2VxYnVmW19zZXFidWZwdHIrMV0gPSAoYnl0ZSk7ICBfc2VxYnVmW19zZXFidWZwdHIrMl0gPSAoZGV2aWNlKTsgIF9zZXFidWZbX3NlcWJ1ZnB0ciszXSA9IDA7ICBfU0VRX0FEVkJVRig0KTt9CisjZGVmaW5lIFNFUV9NSURJT1VUKGRldmljZSxieXRlKSB7IF9TRVFfTkVFREJVRig0KTsgX3NlcWJ1Zltfc2VxYnVmcHRyXSA9IFNFUV9NSURJUFVUQzsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMV0gPSAoYnl0ZSk7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDJdID0gKGRldmljZSk7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDNdID0gMDsgX1NFUV9BRFZCVUYoNCk7IH0KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNFUV9XUlBBVENIKHBhdGNoeCwgbGVuKSAgIHtpZiAoX3NlcWJ1ZnB0cikgU0VRX0RVTVBCVUYoKTsgIGlmICh3cml0ZShzZXFmZCwgKGNoYXIqKShwYXRjaHgpLCBsZW4pPT0tMSkgICBwZXJyb3IoIldyaXRlIHBhdGNoOiAvZGV2L3NlcXVlbmNlciIpO30KLSNkZWZpbmUgU0VRX1dSUEFUQ0gyKHBhdGNoeCwgbGVuKSAgIChTRVFfRFVNUEJVRigpLCB3cml0ZShzZXFmZCwgKGNoYXIqKShwYXRjaHgpLCBsZW4pKQorI2RlZmluZSBTRVFfV1JQQVRDSChwYXRjaHgsbGVuKSB7IGlmKF9zZXFidWZwdHIpIFNFUV9EVU1QQlVGKCk7IGlmKHdyaXRlKHNlcWZkLCAoY2hhciAqKSAocGF0Y2h4KSwgbGVuKSA9PSAtIDEpIHBlcnJvcigiV3JpdGUgcGF0Y2g6IC9kZXYvc2VxdWVuY2VyIik7IH0KKyNkZWZpbmUgU0VRX1dSUEFUQ0gyKHBhdGNoeCxsZW4pIChTRVFfRFVNUEJVRigpLCB3cml0ZShzZXFmZCwgKGNoYXIgKikgKHBhdGNoeCksIGxlbikpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc3BpL3NwaWRldi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zcGkvc3BpZGV2LmgKaW5kZXggMjQxZGM5NS4uYzEwYmY4ZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zcGkvc3BpZGV2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zcGkvc3BpZGV2LmgKQEAgLTIyLDExICsyMiwxMSBAQAogI2RlZmluZSBTUElfQ1BIQSAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTUElfQ1BPTCAweDAyCi0jZGVmaW5lIFNQSV9NT0RFXzAgKDB8MCkKLSNkZWZpbmUgU1BJX01PREVfMSAoMHxTUElfQ1BIQSkKLSNkZWZpbmUgU1BJX01PREVfMiAoU1BJX0NQT0x8MCkKKyNkZWZpbmUgU1BJX01PREVfMCAoMCB8IDApCisjZGVmaW5lIFNQSV9NT0RFXzEgKDAgfCBTUElfQ1BIQSkKKyNkZWZpbmUgU1BJX01PREVfMiAoU1BJX0NQT0wgfCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU1BJX01PREVfMyAoU1BJX0NQT0x8U1BJX0NQSEEpCisjZGVmaW5lIFNQSV9NT0RFXzMgKFNQSV9DUE9MIHwgU1BJX0NQSEEpCiAjZGVmaW5lIFNQSV9DU19ISUdIIDB4MDQKICNkZWZpbmUgU1BJX0xTQl9GSVJTVCAweDA4CiAjZGVmaW5lIFNQSV8zV0lSRSAweDEwCkBAIC0zNCwzMSArMzQsNDEgQEAKICNkZWZpbmUgU1BJX0xPT1AgMHgyMAogI2RlZmluZSBTUElfTk9fQ1MgMHg0MAogI2RlZmluZSBTUElfUkVBRFkgMHg4MAorI2RlZmluZSBTUElfVFhfRFVBTCAweDEwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU1BJX1RYX1FVQUQgMHgyMDAKKyNkZWZpbmUgU1BJX1JYX0RVQUwgMHg0MDAKKyNkZWZpbmUgU1BJX1JYX1FVQUQgMHg4MDAKICNkZWZpbmUgU1BJX0lPQ19NQUdJQyAnaycKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc3BpX2lvY190cmFuc2ZlciB7Ci0gX191NjQgdHhfYnVmOwotIF9fdTY0IHJ4X2J1ZjsKLSBfX3UzMiBsZW47CisgIF9fdTY0IHR4X2J1ZjsKKyAgX191NjQgcnhfYnVmOworICBfX3UzMiBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNwZWVkX2h6OwotIF9fdTE2IGRlbGF5X3VzZWNzOwotIF9fdTggYml0c19wZXJfd29yZDsKLSBfX3U4IGNzX2NoYW5nZTsKKyAgX191MzIgc3BlZWRfaHo7CisgIF9fdTE2IGRlbGF5X3VzZWNzOworICBfX3U4IGJpdHNfcGVyX3dvcmQ7CisgIF9fdTggY3NfY2hhbmdlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYWQ7CisgIF9fdTggdHhfbmJpdHM7CisgIF9fdTggcnhfbmJpdHM7CisgIF9fdTE2IHBhZDsKIH07Ci0jZGVmaW5lIFNQSV9NU0dTSVpFKE4pICAgKCgoKE4pKihzaXplb2YgKHN0cnVjdCBzcGlfaW9jX3RyYW5zZmVyKSkpIDwgKDEgPDwgX0lPQ19TSVpFQklUUykpICAgPyAoKE4pKihzaXplb2YgKHN0cnVjdCBzcGlfaW9jX3RyYW5zZmVyKSkpIDogMCkKLSNkZWZpbmUgU1BJX0lPQ19NRVNTQUdFKE4pIF9JT1coU1BJX0lPQ19NQUdJQywgMCwgY2hhcltTUElfTVNHU0laRShOKV0pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTUElfTVNHU0laRShOKSAoKCgoTikgKiAoc2l6ZW9mKHN0cnVjdCBzcGlfaW9jX3RyYW5zZmVyKSkpIDwgKDEgPDwgX0lPQ19TSVpFQklUUykpID8gKChOKSAqIChzaXplb2Yoc3RydWN0IHNwaV9pb2NfdHJhbnNmZXIpKSkgOiAwKQorI2RlZmluZSBTUElfSU9DX01FU1NBR0UoTikgX0lPVyhTUElfSU9DX01BR0lDLCAwLCBjaGFyW1NQSV9NU0dTSVpFKE4pXSkKICNkZWZpbmUgU1BJX0lPQ19SRF9NT0RFIF9JT1IoU1BJX0lPQ19NQUdJQywgMSwgX191OCkKICNkZWZpbmUgU1BJX0lPQ19XUl9NT0RFIF9JT1coU1BJX0lPQ19NQUdJQywgMSwgX191OCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNQSV9JT0NfUkRfTFNCX0ZJUlNUIF9JT1IoU1BJX0lPQ19NQUdJQywgMiwgX191OCkKICNkZWZpbmUgU1BJX0lPQ19XUl9MU0JfRklSU1QgX0lPVyhTUElfSU9DX01BR0lDLCAyLCBfX3U4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU1BJX0lPQ19SRF9CSVRTX1BFUl9XT1JEIF9JT1IoU1BJX0lPQ19NQUdJQywgMywgX191OCkKICNkZWZpbmUgU1BJX0lPQ19XUl9CSVRTX1BFUl9XT1JEIF9JT1coU1BJX0lPQ19NQUdJQywgMywgX191OCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNQSV9JT0NfUkRfTUFYX1NQRUVEX0haIF9JT1IoU1BJX0lPQ19NQUdJQywgNCwgX191MzIpCiAjZGVmaW5lIFNQSV9JT0NfV1JfTUFYX1NQRUVEX0haIF9JT1coU1BJX0lPQ19NQUdJQywgNCwgX191MzIpCisjZGVmaW5lIFNQSV9JT0NfUkRfTU9ERTMyIF9JT1IoU1BJX0lPQ19NQUdJQywgNSwgX191MzIpCisjZGVmaW5lIFNQSV9JT0NfV1JfTU9ERTMyIF9JT1coU1BJX0lPQ19NQUdJQywgNSwgX191MzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N1bnJwYy9kZWJ1Zy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zdW5ycGMvZGVidWcuaAppbmRleCAwYzI1NGMxLi4zZjA5ZjZkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N1bnJwYy9kZWJ1Zy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc3VucnBjL2RlYnVnLmgKQEAgLTM2LDE1ICszNiwxNSBAQAogI2RlZmluZSBSUENEQkdfQUxMIDB4N2ZmZgogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIENUTF9SUENERUJVRyA9IDEsCi0gQ1RMX05GU0RFQlVHLAotIENUTF9ORlNEREVCVUcsCi0gQ1RMX05MTURFQlVHLAorICBDVExfUlBDREVCVUcgPSAxLAorICBDVExfTkZTREVCVUcsCisgIENUTF9ORlNEREVCVUcsCisgIENUTF9OTE1ERUJVRywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RMX1NMT1RUQUJMRV9VRFAsCi0gQ1RMX1NMT1RUQUJMRV9UQ1AsCi0gQ1RMX01JTl9SRVNWUE9SVCwKLSBDVExfTUFYX1JFU1ZQT1JULAorICBDVExfU0xPVFRBQkxFX1VEUCwKKyAgQ1RMX1NMT1RUQUJMRV9UQ1AsCisgIENUTF9NSU5fUkVTVlBPUlQsCisgIENUTF9NQVhfUkVTVlBPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zdXNwZW5kX2lvY3Rscy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zdXNwZW5kX2lvY3Rscy5oCmluZGV4IDQwYjE3ZTQuLjZlZjE5MmYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc3VzcGVuZF9pb2N0bHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N1c3BlbmRfaW9jdGxzLmgKQEAgLTIxLDggKzIxLDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHJlc3VtZV9zd2FwX2FyZWEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF9sb2ZmX3Qgb2Zmc2V0OwotIF9fdTMyIGRldjsKKyAgX19rZXJuZWxfbG9mZl90IG9mZnNldDsKKyAgX191MzIgZGV2OwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgU05BUFNIT1RfSU9DX01BR0lDICczJwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTMzLDcgKzMzLDcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNOQVBTSE9UX0ZSRUVfU1dBUF9QQUdFUyBfSU8oU05BUFNIT1RfSU9DX01BR0lDLCA5KQogI2RlZmluZSBTTkFQU0hPVF9TMlJBTSBfSU8oU05BUFNIT1RfSU9DX01BR0lDLCAxMSkKLSNkZWZpbmUgU05BUFNIT1RfU0VUX1NXQVBfQVJFQSBfSU9XKFNOQVBTSE9UX0lPQ19NQUdJQywgMTMsICAgc3RydWN0IHJlc3VtZV9zd2FwX2FyZWEpCisjZGVmaW5lIFNOQVBTSE9UX1NFVF9TV0FQX0FSRUEgX0lPVyhTTkFQU0hPVF9JT0NfTUFHSUMsIDEzLCBzdHJ1Y3QgcmVzdW1lX3N3YXBfYXJlYSkKICNkZWZpbmUgU05BUFNIT1RfR0VUX0lNQUdFX1NJWkUgX0lPUihTTkFQU0hPVF9JT0NfTUFHSUMsIDE0LCBfX2tlcm5lbF9sb2ZmX3QpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkFQU0hPVF9QTEFURk9STV9TVVBQT1JUIF9JTyhTTkFQU0hPVF9JT0NfTUFHSUMsIDE1KQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zd19zeW5jLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N3X3N5bmMuaAppbmRleCA4YWI1MzFjLi5hYzUwMDAwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N3X3N5bmMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N3X3N5bmMuaApAQCAtMjEsMTMgKzIxLDEzIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCBzd19zeW5jX2NyZWF0ZV9mZW5jZV9kYXRhIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdmFsdWU7Ci0gY2hhciBuYW1lWzMyXTsKLSBfX3MzMiBmZW5jZTsKKyAgX191MzIgdmFsdWU7CisgIGNoYXIgbmFtZVszMl07CisgIF9fczMyIGZlbmNlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNXX1NZTkNfSU9DX01BR0lDICdXJwotI2RlZmluZSBTV19TWU5DX0lPQ19DUkVBVEVfRkVOQ0UgX0lPV1IoU1dfU1lOQ19JT0NfTUFHSUMsIDAsICBzdHJ1Y3Qgc3dfc3luY19jcmVhdGVfZmVuY2VfZGF0YSkKKyNkZWZpbmUgU1dfU1lOQ19JT0NfQ1JFQVRFX0ZFTkNFIF9JT1dSKFNXX1NZTkNfSU9DX01BR0lDLCAwLCBzdHJ1Y3Qgc3dfc3luY19jcmVhdGVfZmVuY2VfZGF0YSkKICNkZWZpbmUgU1dfU1lOQ19JT0NfSU5DIF9JT1coU1dfU1lOQ19JT0NfTUFHSUMsIDEsIF9fdTMyKQogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zd2FiLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N3YWIuaAppbmRleCA4YmU4NWE4Li5kN2Q2ZmE2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N3YWIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N3YWIuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8YXNtL3N3YWIuaD4KLSNkZWZpbmUgX19fY29uc3RhbnRfc3dhYjE2KHgpICgoX191MTYpKCAgICgoKF9fdTE2KSh4KSAmIChfX3UxNikweDAwZmZVKSA8PCA4KSB8ICAgKCgoX191MTYpKHgpICYgKF9fdTE2KTB4ZmYwMFUpID4+IDgpKSkKLSNkZWZpbmUgX19fY29uc3RhbnRfc3dhYjMyKHgpICgoX191MzIpKCAgICgoKF9fdTMyKSh4KSAmIChfX3UzMikweDAwMDAwMGZmVUwpIDw8IDI0KSB8ICAgKCgoX191MzIpKHgpICYgKF9fdTMyKTB4MDAwMGZmMDBVTCkgPDwgOCkgfCAgICgoKF9fdTMyKSh4KSAmIChfX3UzMikweDAwZmYwMDAwVUwpID4+IDgpIHwgICAoKChfX3UzMikoeCkgJiAoX191MzIpMHhmZjAwMDAwMFVMKSA+PiAyNCkpKQotI2RlZmluZSBfX19jb25zdGFudF9zd2FiNjQoeCkgKChfX3U2NCkoICAgKCgoX191NjQpKHgpICYgKF9fdTY0KTB4MDAwMDAwMDAwMDAwMDBmZlVMTCkgPDwgNTYpIHwgICAoKChfX3U2NCkoeCkgJiAoX191NjQpMHgwMDAwMDAwMDAwMDBmZjAwVUxMKSA8PCA0MCkgfCAgICgoKF9fdTY0KSh4KSAmIChfX3U2NCkweDAwMDAwMDAwMDBmZjAwMDBVTEwpIDw8IDI0KSB8ICAgKCgoX191NjQpKHgpICYgKF9fdTY0KTB4MDAwMDAwMDBmZjAwMDAwMFVMTCkgPDwgOCkgfCAgICgoKF9fdTY0KSh4KSAmIChfX3U2NCkweDAwMDAwMGZmMDAwMDAwMDBVTEwpID4+IDgpIHwgICAoKChfX3U2NCkoeCkgJiAoX191NjQpMHgwMDAwZmYwMDAwMDAwMDAwVUxMKSA+PiAyNCkgfCAgICgoKF9fdTY0KSh4KSAmIChfX3U2NCkweDAwZmYwMDAwMDAwMDAwMDBVTEwpID4+IDQwKSB8ICAgKCgoX191NjQpKHgpICYgKF9fdTY0KTB4ZmYwMDAwMDAwMDAwMDAwMFVMTCkgPj4gNTYpKSkKKyNkZWZpbmUgX19fY29uc3RhbnRfc3dhYjE2KHgpICgoX191MTYpICgoKChfX3UxNikgKHgpICYgKF9fdTE2KSAweDAwZmZVKSA8PCA4KSB8ICgoKF9fdTE2KSAoeCkgJiAoX191MTYpIDB4ZmYwMFUpID4+IDgpKSkKKyNkZWZpbmUgX19fY29uc3RhbnRfc3dhYjMyKHgpICgoX191MzIpICgoKChfX3UzMikgKHgpICYgKF9fdTMyKSAweDAwMDAwMGZmVUwpIDw8IDI0KSB8ICgoKF9fdTMyKSAoeCkgJiAoX191MzIpIDB4MDAwMGZmMDBVTCkgPDwgOCkgfCAoKChfX3UzMikgKHgpICYgKF9fdTMyKSAweDAwZmYwMDAwVUwpID4+IDgpIHwgKCgoX191MzIpICh4KSAmIChfX3UzMikgMHhmZjAwMDAwMFVMKSA+PiAyNCkpKQorI2RlZmluZSBfX19jb25zdGFudF9zd2FiNjQoeCkgKChfX3U2NCkgKCgoKF9fdTY0KSAoeCkgJiAoX191NjQpIDB4MDAwMDAwMDAwMDAwMDBmZlVMTCkgPDwgNTYpIHwgKCgoX191NjQpICh4KSAmIChfX3U2NCkgMHgwMDAwMDAwMDAwMDBmZjAwVUxMKSA8PCA0MCkgfCAoKChfX3U2NCkgKHgpICYgKF9fdTY0KSAweDAwMDAwMDAwMDBmZjAwMDBVTEwpIDw8IDI0KSB8ICgoKF9fdTY0KSAoeCkgJiAoX191NjQpIDB4MDAwMDAwMDBmZjAwMDAwMFVMTCkgPDwgOCkgfCAoKChfX3U2NCkgKHgpICYgKF9fdTY0KSAweDAwMDAwMGZmMDAwMDAwMDBVTEwpID4+IDgpIHwgKCgoX191NjQpICh4KSAmIChfX3U2NCkgMHgwMDAwZmYwMDAwMDAwMDAwVUxMKSA+PiAyNCkgfCAoKChfX3U2NCkgKHgpICYgKF9fdTY0KSAweDAwZmYwMDAwMDAwMDAwMDBVTEwpID4+IDQwKSB8ICgoKF9fdTY0KSAoeCkgJiAoX191NjQpIDB4ZmYwMDAwMDAwMDAwMDAwMFVMTCkgPj4gNTYpKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fX2NvbnN0YW50X3N3YWh3MzIoeCkgKChfX3UzMikoICAgKCgoX191MzIpKHgpICYgKF9fdTMyKTB4MDAwMGZmZmZVTCkgPDwgMTYpIHwgICAoKChfX3UzMikoeCkgJiAoX191MzIpMHhmZmZmMDAwMFVMKSA+PiAxNikpKQotI2RlZmluZSBfX19jb25zdGFudF9zd2FoYjMyKHgpICgoX191MzIpKCAgICgoKF9fdTMyKSh4KSAmIChfX3UzMikweDAwZmYwMGZmVUwpIDw8IDgpIHwgICAoKChfX3UzMikoeCkgJiAoX191MzIpMHhmZjAwZmYwMFVMKSA+PiA4KSkpCisjZGVmaW5lIF9fX2NvbnN0YW50X3N3YWh3MzIoeCkgKChfX3UzMikgKCgoKF9fdTMyKSAoeCkgJiAoX191MzIpIDB4MDAwMGZmZmZVTCkgPDwgMTYpIHwgKCgoX191MzIpICh4KSAmIChfX3UzMikgMHhmZmZmMDAwMFVMKSA+PiAxNikpKQorI2RlZmluZSBfX19jb25zdGFudF9zd2FoYjMyKHgpICgoX191MzIpICgoKChfX3UzMikgKHgpICYgKF9fdTMyKSAweDAwZmYwMGZmVUwpIDw8IDgpIHwgKCgoX191MzIpICh4KSAmIChfX3UzMikgMHhmZjAwZmYwMFVMKSA+PiA4KSkpCiAjaWZkZWYgX19IQVZFX0JVSUxUSU5fQlNXQVAxNl9fCi0jZWxpZiBkZWZpbmVkIChfX2FyY2hfc3dhYjE2KQorI2VsaWYgZGVmaW5lZChfX2FyY2hfc3dhYjE2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbHNlCiAjZW5kaWYKQEAgLTM5LDcgKzM5LDcgQEAKICNlbHNlCiAjZW5kaWYKICNpZmRlZiBfX0hBVkVfQlVJTFRJTl9CU1dBUDY0X18KLSNlbGlmIGRlZmluZWQgKF9fYXJjaF9zd2FiNjQpCisjZWxpZiBkZWZpbmVkKF9fYXJjaF9zd2FiNjQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VsaWYgZGVmaW5lZChfX1NXQUJfNjRfVEhSVV8zMl9fKQogI2Vsc2UKQEAgLTUyLDEyICs1MiwxMiBAQAogI2Vsc2UKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKLSNkZWZpbmUgX19zd2FiMTYoeCkgICAoX19idWlsdGluX2NvbnN0YW50X3AoKF9fdTE2KSh4KSkgPyAgIF9fX2NvbnN0YW50X3N3YWIxNih4KSA6ICAgX19mc3dhYjE2KHgpKQotI2RlZmluZSBfX3N3YWIzMih4KSAgIChfX2J1aWx0aW5fY29uc3RhbnRfcCgoX191MzIpKHgpKSA/ICAgX19fY29uc3RhbnRfc3dhYjMyKHgpIDogICBfX2Zzd2FiMzIoeCkpCi0jZGVmaW5lIF9fc3dhYjY0KHgpICAgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3U2NCkoeCkpID8gICBfX19jb25zdGFudF9zd2FiNjQoeCkgOiAgIF9fZnN3YWI2NCh4KSkKKyNkZWZpbmUgX19zd2FiMTYoeCkgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3UxNikgKHgpKSA/IF9fX2NvbnN0YW50X3N3YWIxNih4KSA6IF9fZnN3YWIxNih4KSkKKyNkZWZpbmUgX19zd2FiMzIoeCkgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3UzMikgKHgpKSA/IF9fX2NvbnN0YW50X3N3YWIzMih4KSA6IF9fZnN3YWIzMih4KSkKKyNkZWZpbmUgX19zd2FiNjQoeCkgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3U2NCkgKHgpKSA/IF9fX2NvbnN0YW50X3N3YWI2NCh4KSA6IF9fZnN3YWI2NCh4KSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIF9fc3dhaHczMih4KSAgIChfX2J1aWx0aW5fY29uc3RhbnRfcCgoX191MzIpKHgpKSA/ICAgX19fY29uc3RhbnRfc3dhaHczMih4KSA6ICAgX19mc3dhaHczMih4KSkKLSNkZWZpbmUgX19zd2FoYjMyKHgpICAgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3UzMikoeCkpID8gICBfX19jb25zdGFudF9zd2FoYjMyKHgpIDogICBfX2Zzd2FoYjMyKHgpKQorI2RlZmluZSBfX3N3YWh3MzIoeCkgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3UzMikgKHgpKSA/IF9fX2NvbnN0YW50X3N3YWh3MzIoeCkgOiBfX2Zzd2FodzMyKHgpKQorI2RlZmluZSBfX3N3YWhiMzIoeCkgKF9fYnVpbHRpbl9jb25zdGFudF9wKChfX3UzMikgKHgpKSA/IF9fX2NvbnN0YW50X3N3YWhiMzIoeCkgOiBfX2Zzd2FoYjMyKHgpKQogI2lmZGVmIF9fYXJjaF9zd2FiMTZwCiAjZWxzZQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvc3luYy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zeW5jLmgKaW5kZXggZWY3NGZhZi4uYmJmNjY0MSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zeW5jLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zeW5jLmgKQEAgLTIyLDMyICsyMiwzMiBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHN5bmNfbWVyZ2VfZGF0YSB7Ci0gX19zMzIgZmQyOwotIGNoYXIgbmFtZVszMl07Ci0gX19zMzIgZmVuY2U7CisgIF9fczMyIGZkMjsKKyAgY2hhciBuYW1lWzMyXTsKKyAgX19zMzIgZmVuY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzeW5jX3B0X2luZm8gewotIF9fdTMyIGxlbjsKLSBjaGFyIG9ial9uYW1lWzMyXTsKKyAgX191MzIgbGVuOworICBjaGFyIG9ial9uYW1lWzMyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBkcml2ZXJfbmFtZVszMl07Ci0gX19zMzIgc3RhdHVzOwotIF9fdTY0IHRpbWVzdGFtcF9uczsKLSBfX3U4IGRyaXZlcl9kYXRhWzBdOworICBjaGFyIGRyaXZlcl9uYW1lWzMyXTsKKyAgX19zMzIgc3RhdHVzOworICBfX3U2NCB0aW1lc3RhbXBfbnM7CisgIF9fdTggZHJpdmVyX2RhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzeW5jX2ZlbmNlX2luZm9fZGF0YSB7Ci0gX191MzIgbGVuOwotIGNoYXIgbmFtZVszMl07CisgIF9fdTMyIGxlbjsKKyAgY2hhciBuYW1lWzMyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgc3RhdHVzOwotIF9fdTggcHRfaW5mb1swXTsKKyAgX19zMzIgc3RhdHVzOworICBfX3U4IHB0X2luZm9bMF07CiB9OwogI2RlZmluZSBTWU5DX0lPQ19NQUdJQyAnPicKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNZTkNfSU9DX1dBSVQgX0lPVyhTWU5DX0lPQ19NQUdJQywgMCwgX19zMzIpCiAjZGVmaW5lIFNZTkNfSU9DX01FUkdFIF9JT1dSKFNZTkNfSU9DX01BR0lDLCAxLCBzdHJ1Y3Qgc3luY19tZXJnZV9kYXRhKQotI2RlZmluZSBTWU5DX0lPQ19GRU5DRV9JTkZPIF9JT1dSKFNZTkNfSU9DX01BR0lDLCAyLCAgc3RydWN0IHN5bmNfZmVuY2VfaW5mb19kYXRhKQorI2RlZmluZSBTWU5DX0lPQ19GRU5DRV9JTkZPIF9JT1dSKFNZTkNfSU9DX01BR0lDLCAyLCBzdHJ1Y3Qgc3luY19mZW5jZV9pbmZvX2RhdGEpCiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5bmNsaW5rLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5bmNsaW5rLmgKaW5kZXggN2ZmODA1ZC4uYmE1MzcyZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zeW5jbGluay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc3luY2xpbmsuaApAQCAtMTYyLDE0MCArMTYyLDEzOSBAQAogI2RlZmluZSBNR1NMX0lOVEVSRkFDRV9STCAweDQwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNR1NMX0lOVEVSRkFDRV9NU0JfRklSU1QgMHg4MAotdHlwZWRlZiBzdHJ1Y3QgX01HU0xfUEFSQU1TCi17Ci0gdW5zaWduZWQgbG9uZyBtb2RlOwordHlwZWRlZiBzdHJ1Y3QgX01HU0xfUEFSQU1TIHsKKyAgdW5zaWduZWQgbG9uZyBtb2RlOworICB1bnNpZ25lZCBjaGFyIGxvb3BiYWNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGxvb3BiYWNrOwotIHVuc2lnbmVkIHNob3J0IGZsYWdzOwotIHVuc2lnbmVkIGNoYXIgZW5jb2Rpbmc7Ci0gdW5zaWduZWQgbG9uZyBjbG9ja19zcGVlZDsKKyAgdW5zaWduZWQgc2hvcnQgZmxhZ3M7CisgIHVuc2lnbmVkIGNoYXIgZW5jb2Rpbmc7CisgIHVuc2lnbmVkIGxvbmcgY2xvY2tfc3BlZWQ7CisgIHVuc2lnbmVkIGNoYXIgYWRkcl9maWx0ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgYWRkcl9maWx0ZXI7Ci0gdW5zaWduZWQgc2hvcnQgY3JjX3R5cGU7Ci0gdW5zaWduZWQgY2hhciBwcmVhbWJsZV9sZW5ndGg7Ci0gdW5zaWduZWQgY2hhciBwcmVhbWJsZTsKKyAgdW5zaWduZWQgc2hvcnQgY3JjX3R5cGU7CisgIHVuc2lnbmVkIGNoYXIgcHJlYW1ibGVfbGVuZ3RoOworICB1bnNpZ25lZCBjaGFyIHByZWFtYmxlOworICB1bnNpZ25lZCBsb25nIGRhdGFfcmF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgbG9uZyBkYXRhX3JhdGU7Ci0gdW5zaWduZWQgY2hhciBkYXRhX2JpdHM7Ci0gdW5zaWduZWQgY2hhciBzdG9wX2JpdHM7Ci0gdW5zaWduZWQgY2hhciBwYXJpdHk7CisgIHVuc2lnbmVkIGNoYXIgZGF0YV9iaXRzOworICB1bnNpZ25lZCBjaGFyIHN0b3BfYml0czsKKyAgdW5zaWduZWQgY2hhciBwYXJpdHk7Cit9IE1HU0xfUEFSQU1TLCAqIFBNR1NMX1BBUkFNUzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IE1HU0xfUEFSQU1TLCAqUE1HU0xfUEFSQU1TOwogI2RlZmluZSBNSUNST0dBVEVfVkVORE9SX0lEIDB4MTNjMAogI2RlZmluZSBTWU5DTElOS19ERVZJQ0VfSUQgMHgwMDEwCiAjZGVmaW5lIE1HU0NDX0RFVklDRV9JRCAweDAwMjAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNZTkNMSU5LX1NDQV9ERVZJQ0VfSUQgMHgwMDMwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTWU5DTElOS19HVF9ERVZJQ0VfSUQgMHgwMDcwCiAjZGVmaW5lIFNZTkNMSU5LX0dUNF9ERVZJQ0VfSUQgMHgwMDgwCiAjZGVmaW5lIFNZTkNMSU5LX0FDX0RFVklDRV9JRCAweDAwOTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNZTkNMSU5LX0dUMl9ERVZJQ0VfSUQgMHgwMEEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNR1NMX01BWF9TRVJJQUxfTlVNQkVSIDMwCiAjZGVmaW5lIERpYWdTdGF0dXNfT0sgMAogI2RlZmluZSBEaWFnU3RhdHVzX0FkZHJlc3NGYWlsdXJlIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERpYWdTdGF0dXNfQWRkcmVzc0NvbmZsaWN0IDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIERpYWdTdGF0dXNfSXJxRmFpbHVyZSAzCiAjZGVmaW5lIERpYWdTdGF0dXNfSXJxQ29uZmxpY3QgNAogI2RlZmluZSBEaWFnU3RhdHVzX0RtYUZhaWx1cmUgNQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRGlhZ1N0YXR1c19EbWFDb25mbGljdCA2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEaWFnU3RhdHVzX1BjaUFkYXB0ZXJOb3RGb3VuZCA3CiAjZGVmaW5lIERpYWdTdGF0dXNfQ2FudEFzc2lnblBjaVJlc291cmNlcyA4CiAjZGVmaW5lIERpYWdTdGF0dXNfQ2FudEFzc2lnblBjaU1lbUFkZHIgOQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRGlhZ1N0YXR1c19DYW50QXNzaWduUGNpSW9BZGRyIDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBEaWFnU3RhdHVzX0NhbnRBc3NpZ25QY2lJcnEgMTEKICNkZWZpbmUgRGlhZ1N0YXR1c19NZW1vcnlFcnJvciAxMgogI2RlZmluZSBTZXJpYWxTaWduYWxfRENEIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNlcmlhbFNpZ25hbF9UWEQgMHgwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU2VyaWFsU2lnbmFsX1JJIDB4MDQKICNkZWZpbmUgU2VyaWFsU2lnbmFsX1JYRCAweDA4CiAjZGVmaW5lIFNlcmlhbFNpZ25hbF9DVFMgMHgxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU2VyaWFsU2lnbmFsX1JUUyAweDIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTZXJpYWxTaWduYWxfRFNSIDB4NDAKICNkZWZpbmUgU2VyaWFsU2lnbmFsX0RUUiAweDgwCiBzdHJ1Y3QgbWdzbF9pY291bnQgeworICBfX3UzMiBjdHMsIGRzciwgcm5nLCBkY2QsIHR4LCByeDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY3RzLCBkc3IsIHJuZywgZGNkLCB0eCwgcng7Ci0gX191MzIgZnJhbWUsIHBhcml0eSwgb3ZlcnJ1biwgYnJrOwotIF9fdTMyIGJ1Zl9vdmVycnVuOwotIF9fdTMyIHR4b2s7CisgIF9fdTMyIGZyYW1lLCBwYXJpdHksIG92ZXJydW4sIGJyazsKKyAgX191MzIgYnVmX292ZXJydW47CisgIF9fdTMyIHR4b2s7CisgIF9fdTMyIHR4dW5kZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR4dW5kZXI7Ci0gX191MzIgdHhhYm9ydDsKLSBfX3UzMiB0eHRpbWVvdXQ7Ci0gX191MzIgcnhzaG9ydDsKKyAgX191MzIgdHhhYm9ydDsKKyAgX191MzIgdHh0aW1lb3V0OworICBfX3UzMiByeHNob3J0OworICBfX3UzMiByeGxvbmc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJ4bG9uZzsKLSBfX3UzMiByeGFib3J0OwotIF9fdTMyIHJ4b3ZlcjsKLSBfX3UzMiByeGNyYzsKKyAgX191MzIgcnhhYm9ydDsKKyAgX191MzIgcnhvdmVyOworICBfX3UzMiByeGNyYzsKKyAgX191MzIgcnhvazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcnhvazsKLSBfX3UzMiBleGl0aHVudDsKLSBfX3UzMiByeGlkbGU7CisgIF9fdTMyIGV4aXRodW50OworICBfX3UzMiByeGlkbGU7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBncGlvX2Rlc2MgewotIF9fdTMyIHN0YXRlOwotIF9fdTMyIHNtYXNrOwotIF9fdTMyIGRpcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZG1hc2s7CisgIF9fdTMyIHN0YXRlOworICBfX3UzMiBzbWFzazsKKyAgX191MzIgZGlyOworICBfX3UzMiBkbWFzazsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBERUJVR19MRVZFTF9EQVRBIDEKICNkZWZpbmUgREVCVUdfTEVWRUxfRVJST1IgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgREVCVUdfTEVWRUxfSU5GTyAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBERUJVR19MRVZFTF9CSCA0CiAjZGVmaW5lIERFQlVHX0xFVkVMX0lTUiA1CiAjZGVmaW5lIE1nc2xFdmVudF9Ec3JBY3RpdmUgMHgwMDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNZ3NsRXZlbnRfRHNySW5hY3RpdmUgMHgwMDAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNZ3NsRXZlbnRfRHNyIDB4MDAwMwogI2RlZmluZSBNZ3NsRXZlbnRfQ3RzQWN0aXZlIDB4MDAwNAogI2RlZmluZSBNZ3NsRXZlbnRfQ3RzSW5hY3RpdmUgMHgwMDA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNZ3NsRXZlbnRfQ3RzIDB4MDAwYworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTWdzbEV2ZW50X0RjZEFjdGl2ZSAweDAwMTAKICNkZWZpbmUgTWdzbEV2ZW50X0RjZEluYWN0aXZlIDB4MDAyMAogI2RlZmluZSBNZ3NsRXZlbnRfRGNkIDB4MDAzMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTWdzbEV2ZW50X1JpQWN0aXZlIDB4MDA0MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTWdzbEV2ZW50X1JpSW5hY3RpdmUgMHgwMDgwCiAjZGVmaW5lIE1nc2xFdmVudF9SaSAweDAwYzAKICNkZWZpbmUgTWdzbEV2ZW50X0V4aXRIdW50TW9kZSAweDAxMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1nc2xFdmVudF9JZGxlUmVjZWl2ZWQgMHgwMjAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNR1NMX01BR0lDX0lPQyAnbScKLSNkZWZpbmUgTUdTTF9JT0NTUEFSQU1TIF9JT1coTUdTTF9NQUdJQ19JT0MsMCxzdHJ1Y3QgX01HU0xfUEFSQU1TKQotI2RlZmluZSBNR1NMX0lPQ0dQQVJBTVMgX0lPUihNR1NMX01BR0lDX0lPQywxLHN0cnVjdCBfTUdTTF9QQVJBTVMpCisjZGVmaW5lIE1HU0xfSU9DU1BBUkFNUyBfSU9XKE1HU0xfTUFHSUNfSU9DLCAwLCBzdHJ1Y3QgX01HU0xfUEFSQU1TKQorI2RlZmluZSBNR1NMX0lPQ0dQQVJBTVMgX0lPUihNR1NMX01BR0lDX0lPQywgMSwgc3RydWN0IF9NR1NMX1BBUkFNUykKKyNkZWZpbmUgTUdTTF9JT0NTVFhJRExFIF9JTyhNR1NMX01BR0lDX0lPQywgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE1HU0xfSU9DU1RYSURMRSBfSU8oTUdTTF9NQUdJQ19JT0MsMikKLSNkZWZpbmUgTUdTTF9JT0NHVFhJRExFIF9JTyhNR1NMX01BR0lDX0lPQywzKQotI2RlZmluZSBNR1NMX0lPQ1RYRU5BQkxFIF9JTyhNR1NMX01BR0lDX0lPQyw0KQotI2RlZmluZSBNR1NMX0lPQ1JYRU5BQkxFIF9JTyhNR1NMX01BR0lDX0lPQyw1KQorI2RlZmluZSBNR1NMX0lPQ0dUWElETEUgX0lPKE1HU0xfTUFHSUNfSU9DLCAzKQorI2RlZmluZSBNR1NMX0lPQ1RYRU5BQkxFIF9JTyhNR1NMX01BR0lDX0lPQywgNCkKKyNkZWZpbmUgTUdTTF9JT0NSWEVOQUJMRSBfSU8oTUdTTF9NQUdJQ19JT0MsIDUpCisjZGVmaW5lIE1HU0xfSU9DVFhBQk9SVCBfSU8oTUdTTF9NQUdJQ19JT0MsIDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNR1NMX0lPQ1RYQUJPUlQgX0lPKE1HU0xfTUFHSUNfSU9DLDYpCi0jZGVmaW5lIE1HU0xfSU9DR1NUQVRTIF9JTyhNR1NMX01BR0lDX0lPQyw3KQotI2RlZmluZSBNR1NMX0lPQ1dBSVRFVkVOVCBfSU9XUihNR1NMX01BR0lDX0lPQyw4LGludCkKLSNkZWZpbmUgTUdTTF9JT0NDTFJNT0RDT1VOVCBfSU8oTUdTTF9NQUdJQ19JT0MsMTUpCisjZGVmaW5lIE1HU0xfSU9DR1NUQVRTIF9JTyhNR1NMX01BR0lDX0lPQywgNykKKyNkZWZpbmUgTUdTTF9JT0NXQUlURVZFTlQgX0lPV1IoTUdTTF9NQUdJQ19JT0MsIDgsIGludCkKKyNkZWZpbmUgTUdTTF9JT0NDTFJNT0RDT1VOVCBfSU8oTUdTTF9NQUdJQ19JT0MsIDE1KQorI2RlZmluZSBNR1NMX0lPQ0xPT1BUWERPTkUgX0lPKE1HU0xfTUFHSUNfSU9DLCA5KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTUdTTF9JT0NMT09QVFhET05FIF9JTyhNR1NMX01BR0lDX0lPQyw5KQotI2RlZmluZSBNR1NMX0lPQ1NJRiBfSU8oTUdTTF9NQUdJQ19JT0MsMTApCi0jZGVmaW5lIE1HU0xfSU9DR0lGIF9JTyhNR1NMX01BR0lDX0lPQywxMSkKLSNkZWZpbmUgTUdTTF9JT0NTR1BJTyBfSU9XKE1HU0xfTUFHSUNfSU9DLDE2LHN0cnVjdCBncGlvX2Rlc2MpCisjZGVmaW5lIE1HU0xfSU9DU0lGIF9JTyhNR1NMX01BR0lDX0lPQywgMTApCisjZGVmaW5lIE1HU0xfSU9DR0lGIF9JTyhNR1NMX01BR0lDX0lPQywgMTEpCisjZGVmaW5lIE1HU0xfSU9DU0dQSU8gX0lPVyhNR1NMX01BR0lDX0lPQywgMTYsIHN0cnVjdCBncGlvX2Rlc2MpCisjZGVmaW5lIE1HU0xfSU9DR0dQSU8gX0lPUihNR1NMX01BR0lDX0lPQywgMTcsIHN0cnVjdCBncGlvX2Rlc2MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBNR1NMX0lPQ0dHUElPIF9JT1IoTUdTTF9NQUdJQ19JT0MsMTcsc3RydWN0IGdwaW9fZGVzYykKLSNkZWZpbmUgTUdTTF9JT0NXQUlUR1BJTyBfSU9XUihNR1NMX01BR0lDX0lPQywxOCxzdHJ1Y3QgZ3Bpb19kZXNjKQorI2RlZmluZSBNR1NMX0lPQ1dBSVRHUElPIF9JT1dSKE1HU0xfTUFHSUNfSU9DLCAxOCwgc3RydWN0IGdwaW9fZGVzYykKICNkZWZpbmUgTUdTTF9JT0NTWFNZTkMgX0lPKE1HU0xfTUFHSUNfSU9DLCAxOSkKICNkZWZpbmUgTUdTTF9JT0NHWFNZTkMgX0lPKE1HU0xfTUFHSUNfSU9DLCAyMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1HU0xfSU9DU1hDVFJMIF9JTyhNR1NMX01BR0lDX0lPQywgMjEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNR1NMX0lPQ0dYQ1RSTCBfSU8oTUdTTF9NQUdJQ19JT0MsIDIyKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5c2N0bC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zeXNjdGwuaAppbmRleCA4OGNiMDFjLi4yY2FjNWYzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5c2N0bC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvc3lzY3RsLmgKQEAgLTI2LDk1OCArMjYsOTM1IEBACiAjZGVmaW5lIENUTF9NQVhOQU1FIDEwCiBzdHJ1Y3QgX19zeXNjdGxfYXJncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBfX3VzZXIgKm5hbWU7Ci0gaW50IG5sZW47Ci0gdm9pZCBfX3VzZXIgKm9sZHZhbDsKLSBzaXplX3QgX191c2VyICpvbGRsZW5wOworICBpbnQgX191c2VyICogbmFtZTsKKyAgaW50IG5sZW47CisgIHZvaWQgX191c2VyICogb2xkdmFsOworICBzaXplX3QgX191c2VyICogb2xkbGVucDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKm5ld3ZhbDsKLSBzaXplX3QgbmV3bGVuOwotIHVuc2lnbmVkIGxvbmcgX19saW51eF91bnVzZWRbNF07Ci19OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLWVudW0KLXsKLSBDVExfS0VSTj0xLAotIENUTF9WTT0yLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBDVExfTkVUPTMsCi0gQ1RMX1BST0M9NCwKLSBDVExfRlM9NSwKLSBDVExfREVCVUc9NiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RMX0RFVj03LAotIENUTF9CVVM9OCwKLSBDVExfQUJJPTksCi0gQ1RMX0NQVT0xMCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RMX0FSTEFOPTI1NCwKLSBDVExfUzM5MERCRj01Njc3LAotIENUTF9TVU5SUEM9NzI0OSwKLSBDVExfUE09OTg5OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RMX0ZSVj05ODk4LAotfTsKLWVudW0KLXsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQ1RMX0JVU19JU0E9MQotfTsKLWVudW0KLXsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSU5PVElGWV9NQVhfVVNFUl9JTlNUQU5DRVM9MSwKLSBJTk9USUZZX01BWF9VU0VSX1dBVENIRVM9MiwKLSBJTk9USUZZX01BWF9RVUVVRURfRVZFTlRTPTMKLX07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotZW51bQotewotIEtFUk5fT1NUWVBFPTEsCi0gS0VSTl9PU1JFTEVBU0U9MiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gS0VSTl9PU1JFVj0zLAotIEtFUk5fVkVSU0lPTj00LAotIEtFUk5fU0VDVVJFTUFTSz01LAotIEtFUk5fUFJPRj02LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX05PREVOQU1FPTcsCi0gS0VSTl9ET01BSU5OQU1FPTgsCi0gS0VSTl9QQU5JQz0xNSwKLSBLRVJOX1JFQUxST09UREVWPTE2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX1NQQVJDX1JFQk9PVD0yMSwKLSBLRVJOX0NUTEFMVERFTD0yMiwKLSBLRVJOX1BSSU5USz0yMywKLSBLRVJOX05BTUVUUkFOUz0yNCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gS0VSTl9QUENfSFRBQlJFQ0xBSU09MjUsCi0gS0VSTl9QUENfWkVST1BBR0VEPTI2LAotIEtFUk5fUFBDX1BPV0VSU0FWRV9OQVA9MjcsCi0gS0VSTl9NT0RQUk9CRT0yOCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gS0VSTl9TR19CSUdfQlVGRj0yOSwKLSBLRVJOX0FDQ1Q9MzAsCi0gS0VSTl9QUENfTDJDUj0zMSwKLSBLRVJOX1JUU0lHTlI9MzIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEtFUk5fUlRTSUdNQVg9MzMsCi0gS0VSTl9TSE1NQVg9MzQsCi0gS0VSTl9NU0dNQVg9MzUsCi0gS0VSTl9NU0dNTkI9MzYsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEtFUk5fTVNHUE9PTD0zNywKLSBLRVJOX1NZU1JRPTM4LAotIEtFUk5fTUFYX1RIUkVBRFM9MzksCi0gS0VSTl9SQU5ET009NDAsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEtFUk5fU0hNQUxMPTQxLAotIEtFUk5fTVNHTU5JPTQyLAotIEtFUk5fU0VNPTQzLAotIEtFUk5fU1BBUkNfU1RPUF9BPTQ0LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX1NITU1OST00NSwKLSBLRVJOX09WRVJGTE9XVUlEPTQ2LAotIEtFUk5fT1ZFUkZMT1dHSUQ9NDcsCi0gS0VSTl9TSE1QQVRIPTQ4LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX0hPVFBMVUc9NDksCi0gS0VSTl9JRUVFX0VNVUxBVElPTl9XQVJOSU5HUz01MCwKLSBLRVJOX1MzOTBfVVNFUl9ERUJVR19MT0dHSU5HPTUxLAotIEtFUk5fQ09SRV9VU0VTX1BJRD01MiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gS0VSTl9UQUlOVEVEPTUzLAotIEtFUk5fQ0FEUElEPTU0LAotIEtFUk5fUElETUFYPTU1LAotIEtFUk5fQ09SRV9QQVRURVJOPTU2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX1BBTklDX09OX09PUFM9NTcsCi0gS0VSTl9IUFBBX1BXUlNXPTU4LAotIEtFUk5fSFBQQV9VTkFMSUdORUQ9NTksCi0gS0VSTl9QUklOVEtfUkFURUxJTUlUPTYwLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX1BSSU5US19SQVRFTElNSVRfQlVSU1Q9NjEsCi0gS0VSTl9QVFk9NjIsCi0gS0VSTl9OR1JPVVBTX01BWD02MywKLSBLRVJOX1NQQVJDX1NDT05TX1BXUk9GRj02NCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gS0VSTl9IWl9USU1FUj02NSwKLSBLRVJOX1VOS05PV05fTk1JX1BBTklDPTY2LAotIEtFUk5fQk9PVExPQURFUl9UWVBFPTY3LAotIEtFUk5fUkFORE9NSVpFPTY4LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBLRVJOX1NFVFVJRF9EVU1QQUJMRT02OSwKLSBLRVJOX1NQSU5fUkVUUlk9NzAsCi0gS0VSTl9BQ1BJX1ZJREVPX0ZMQUdTPTcxLAotIEtFUk5fSUE2NF9VTkFMSUdORUQ9NzIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEtFUk5fQ09NUEFUX0xPRz03MywKLSBLRVJOX01BWF9MT0NLX0RFUFRIPTc0LAotIEtFUk5fTk1JX1dBVENIRE9HPTc1LAotIEtFUk5fUEFOSUNfT05fTk1JPTc2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX07Ci1lbnVtCi17Ci0gVk1fVU5VU0VEMT0xLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWTV9VTlVTRUQyPTIsCi0gVk1fVU5VU0VEMz0zLAotIFZNX1VOVVNFRDQ9NCwKLSBWTV9PVkVSQ09NTUlUX01FTU9SWT01LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWTV9VTlVTRUQ1PTYsCi0gVk1fVU5VU0VENz03LAotIFZNX1VOVVNFRDg9OCwKLSBWTV9VTlVTRUQ5PTksCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZNX1BBR0VfQ0xVU1RFUj0xMCwKLSBWTV9ESVJUWV9CQUNLR1JPVU5EPTExLAotIFZNX0RJUlRZX1JBVElPPTEyLAotIFZNX0RJUlRZX1dCX0NTPTEzLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWTV9ESVJUWV9FWFBJUkVfQ1M9MTQsCi0gVk1fTlJfUERGTFVTSF9USFJFQURTPTE1LAotIFZNX09WRVJDT01NSVRfUkFUSU89MTYsCi0gVk1fUEFHRUJVRj0xNywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVk1fSFVHRVRMQl9QQUdFUz0xOCwKLSBWTV9TV0FQUElORVNTPTE5LAotIFZNX0xPV01FTV9SRVNFUlZFX1JBVElPPTIwLAotIFZNX01JTl9GUkVFX0tCWVRFUz0yMSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVk1fTUFYX01BUF9DT1VOVD0yMiwKLSBWTV9MQVBUT1BfTU9ERT0yMywKLSBWTV9CTE9DS19EVU1QPTI0LAotIFZNX0hVR0VUTEJfR1JPVVA9MjUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZNX1ZGU19DQUNIRV9QUkVTU1VSRT0yNiwKLSBWTV9MRUdBQ1lfVkFfTEFZT1VUPTI3LAotIFZNX1NXQVBfVE9LRU5fVElNRU9VVD0yOCwKLSBWTV9EUk9QX1BBR0VDQUNIRT0yOSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVk1fUEVSQ1BVX1BBR0VMSVNUX0ZSQUNUSU9OPTMwLAotIFZNX1pPTkVfUkVDTEFJTV9NT0RFPTMxLAotIFZNX01JTl9VTk1BUFBFRD0zMiwKLSBWTV9QQU5JQ19PTl9PT009MzMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFZNX1ZEU09fRU5BQkxFRD0zNCwKLSBWTV9NSU5fU0xBQj0zNSwKLX07Ci1lbnVtCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIE5FVF9DT1JFPTEsCi0gTkVUX0VUSEVSPTIsCi0gTkVUXzgwMj0zLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfVU5JWD00LAotIE5FVF9JUFY0PTUsCi0gTkVUX0lQWD02LAotIE5FVF9BVEFMSz03LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkVUUk9NPTgsCi0gTkVUX0FYMjU9OSwKLSBORVRfQlJJREdFPTEwLAotIE5FVF9ST1NFPTExLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNj0xMiwKLSBORVRfWDI1PTEzLAotIE5FVF9UUj0xNCwKLSBORVRfREVDTkVUPTE1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfRUNPTkVUPTE2LAotIE5FVF9TQ1RQPTE3LAotIE5FVF9MTEM9MTgsCi0gTkVUX05FVEZJTFRFUj0xOSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0RDQ1A9MjAsCi0gTkVUX0lSREE9NDEyLAotfTsKLWVudW0KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gUkFORE9NX1BPT0xTSVpFPTEsCi0gUkFORE9NX0VOVFJPUFlfQ09VTlQ9MiwKLSBSQU5ET01fUkVBRF9USFJFU0g9MywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUkFORE9NX1dSSVRFX1RIUkVTSD00LAotIFJBTkRPTV9CT09UX0lEPTUsCi0gUkFORE9NX1VVSUQ9NgotfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1lbnVtCi17Ci0gUFRZX01BWD0xLAotIFBUWV9OUj0yCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKLWVudW0KLXsKLSBCVVNfSVNBX01FTV9CQVNFPTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEJVU19JU0FfUE9SVF9CQVNFPTIsCi0gQlVTX0lTQV9QT1JUX1NISUZUPTMKLX07Ci1lbnVtCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIE5FVF9DT1JFX1dNRU1fTUFYPTEsCi0gTkVUX0NPUkVfUk1FTV9NQVg9MiwKLSBORVRfQ09SRV9XTUVNX0RFRkFVTFQ9MywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0NPUkVfUk1FTV9ERUZBVUxUPTQsCi0gTkVUX0NPUkVfTUFYX0JBQ0tMT0c9NiwKLSBORVRfQ09SRV9GQVNUUk9VVEU9NywKLSBORVRfQ09SRV9NU0dfQ09TVD04LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfQ09SRV9NU0dfQlVSU1Q9OSwKLSBORVRfQ09SRV9PUFRNRU1fTUFYPTEwLAotIE5FVF9DT1JFX0hPVF9MSVNUX0xFTkdUSD0xMSwKLSBORVRfQ09SRV9ESVZFUlRfVkVSU0lPTj0xMiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0NPUkVfTk9fQ09OR19USFJFU0g9MTMsCi0gTkVUX0NPUkVfTk9fQ09ORz0xNCwKLSBORVRfQ09SRV9MT19DT05HPTE1LAotIE5FVF9DT1JFX01PRF9DT05HPTE2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfQ09SRV9ERVZfV0VJR0hUPTE3LAotIE5FVF9DT1JFX1NPTUFYQ09OTj0xOCwKLSBORVRfQ09SRV9CVURHRVQ9MTksCi0gTkVUX0NPUkVfQUVWRU5UX0VUSU1FPTIwLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfQ09SRV9BRVZFTlRfUlNFUVRIPTIxLAotIE5FVF9DT1JFX1dBUk5JTkdTPTIyLAotfTsKLWVudW0KLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gTkVUX1VOSVhfREVTVFJPWV9ERUxBWT0xLAotIE5FVF9VTklYX0RFTEVURV9ERUxBWT0yLAotIE5FVF9VTklYX01BWF9ER1JBTV9RTEVOPTMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKLWVudW0KLXsKLSBORVRfTkZfQ09OTlRSQUNLX01BWD0xLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1NZTl9TRU5UPTIsCi0gTkVUX05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9TWU5fUkVDVj0zLAotIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfRVNUQUJMSVNIRUQ9NCwKLSBORVRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX0ZJTl9XQUlUPTUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfQ0xPU0VfV0FJVD02LAotIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfTEFTVF9BQ0s9NywKLSBORVRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1RJTUVfV0FJVD04LAotIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfQ0xPU0U9OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX05GX0NPTk5UUkFDS19VRFBfVElNRU9VVD0xMCwKLSBORVRfTkZfQ09OTlRSQUNLX1VEUF9USU1FT1VUX1NUUkVBTT0xMSwKLSBORVRfTkZfQ09OTlRSQUNLX0lDTVBfVElNRU9VVD0xMiwKLSBORVRfTkZfQ09OTlRSQUNLX0dFTkVSSUNfVElNRU9VVD0xMywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX05GX0NPTk5UUkFDS19CVUNLRVRTPTE0LAotIE5FVF9ORl9DT05OVFJBQ0tfTE9HX0lOVkFMSUQ9MTUsCi0gTkVUX05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9NQVhfUkVUUkFOUz0xNiwKLSBORVRfTkZfQ09OTlRSQUNLX1RDUF9MT09TRT0xNywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX05GX0NPTk5UUkFDS19UQ1BfQkVfTElCRVJBTD0xOCwKLSBORVRfTkZfQ09OTlRSQUNLX1RDUF9NQVhfUkVUUkFOUz0xOSwKLSBORVRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9DTE9TRUQ9MjAsCi0gTkVUX05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfQ09PS0lFX1dBSVQ9MjEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ORl9DT05OVFJBQ0tfU0NUUF9USU1FT1VUX0NPT0tJRV9FQ0hPRUQ9MjIsCi0gTkVUX05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfRVNUQUJMSVNIRUQ9MjMsCi0gTkVUX05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfU0hVVERPV05fU0VOVD0yNCwKLSBORVRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9SRUNEPTI1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9BQ0tfU0VOVD0yNiwKLSBORVRfTkZfQ09OTlRSQUNLX0NPVU5UPTI3LAotIE5FVF9ORl9DT05OVFJBQ0tfSUNNUFY2X1RJTUVPVVQ9MjgsCi0gTkVUX05GX0NPTk5UUkFDS19GUkFHNl9USU1FT1VUPTI5LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkZfQ09OTlRSQUNLX0ZSQUc2X0xPV19USFJFU0g9MzAsCi0gTkVUX05GX0NPTk5UUkFDS19GUkFHNl9ISUdIX1RIUkVTSD0zMSwKLSBORVRfTkZfQ09OTlRSQUNLX0NIRUNLU1VNPTMyLAotfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1lbnVtCi17Ci0gTkVUX0lQVjRfRk9SV0FSRD04LAotIE5FVF9JUFY0X0RZTkFERFI9OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfQ09ORj0xNiwKLSBORVRfSVBWNF9ORUlHSD0xNywKLSBORVRfSVBWNF9ST1VURT0xOCwKLSBORVRfSVBWNF9GSUJfSEFTSD0xOSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTkVURklMVEVSPTIwLAotIE5FVF9JUFY0X1RDUF9USU1FU1RBTVBTPTMzLAotIE5FVF9JUFY0X1RDUF9XSU5ET1dfU0NBTElORz0zNCwKLSBORVRfSVBWNF9UQ1BfU0FDSz0zNSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfVENQX1JFVFJBTlNfQ09MTEFQU0U9MzYsCi0gTkVUX0lQVjRfREVGQVVMVF9UVEw9MzcsCi0gTkVUX0lQVjRfQVVUT0NPTkZJRz0zOCwKLSBORVRfSVBWNF9OT19QTVRVX0RJU0M9MzksCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY0X1RDUF9TWU5fUkVUUklFUz00MCwKLSBORVRfSVBWNF9JUEZSQUdfSElHSF9USFJFU0g9NDEsCi0gTkVUX0lQVjRfSVBGUkFHX0xPV19USFJFU0g9NDIsCi0gTkVUX0lQVjRfSVBGUkFHX1RJTUU9NDMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY0X1RDUF9NQVhfS0FfUFJPQkVTPTQ0LAotIE5FVF9JUFY0X1RDUF9LRUVQQUxJVkVfVElNRT00NSwKLSBORVRfSVBWNF9UQ1BfS0VFUEFMSVZFX1BST0JFUz00NiwKLSBORVRfSVBWNF9UQ1BfUkVUUklFUzE9NDcsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY0X1RDUF9SRVRSSUVTMj00OCwKLSBORVRfSVBWNF9UQ1BfRklOX1RJTUVPVVQ9NDksCi0gTkVUX0lQVjRfSVBfTUFTUV9ERUJVRz01MCwKLSBORVRfVENQX1NZTkNPT0tJRVM9NTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9UQ1BfU1REVVJHPTUyLAotIE5FVF9UQ1BfUkZDMTMzNz01MywKLSBORVRfVENQX1NZTl9UQUlMRFJPUD01NCwKLSBORVRfVENQX01BWF9TWU5fQkFDS0xPRz01NSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTE9DQUxfUE9SVF9SQU5HRT01NiwKLSBORVRfSVBWNF9JQ01QX0VDSE9fSUdOT1JFX0FMTD01NywKLSBORVRfSVBWNF9JQ01QX0VDSE9fSUdOT1JFX0JST0FEQ0FTVFM9NTgsCi0gTkVUX0lQVjRfSUNNUF9TT1VSQ0VRVUVOQ0hfUkFURT01OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfSUNNUF9ERVNUVU5SRUFDSF9SQVRFPTYwLAotIE5FVF9JUFY0X0lDTVBfVElNRUVYQ0VFRF9SQVRFPTYxLAotIE5FVF9JUFY0X0lDTVBfUEFSQU1QUk9CX1JBVEU9NjIsCi0gTkVUX0lQVjRfSUNNUF9FQ0hPUkVQTFlfUkFURT02MywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfSUNNUF9JR05PUkVfQk9HVVNfRVJST1JfUkVTUE9OU0VTPTY0LAotIE5FVF9JUFY0X0lHTVBfTUFYX01FTUJFUlNISVBTPTY1LAotIE5FVF9UQ1BfVFdfUkVDWUNMRT02NiwKLSBORVRfSVBWNF9BTFdBWVNfREVGUkFHPTY3LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9UQ1BfS0VFUEFMSVZFX0lOVFZMPTY4LAotIE5FVF9JUFY0X0lORVRfUEVFUl9USFJFU0hPTEQ9NjksCi0gTkVUX0lQVjRfSU5FVF9QRUVSX01JTlRUTD03MCwKLSBORVRfSVBWNF9JTkVUX1BFRVJfTUFYVFRMPTcxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9JTkVUX1BFRVJfR0NfTUlOVElNRT03MiwKLSBORVRfSVBWNF9JTkVUX1BFRVJfR0NfTUFYVElNRT03MywKLSBORVRfVENQX09SUEhBTl9SRVRSSUVTPTc0LAotIE5FVF9UQ1BfQUJPUlRfT05fT1ZFUkZMT1c9NzUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9UQ1BfU1lOQUNLX1JFVFJJRVM9NzYsCi0gTkVUX1RDUF9NQVhfT1JQSEFOUz03NywKLSBORVRfVENQX01BWF9UV19CVUNLRVRTPTc4LAotIE5FVF9UQ1BfRkFDSz03OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1RDUF9SRU9SREVSSU5HPTgwLAotIE5FVF9UQ1BfRUNOPTgxLAotIE5FVF9UQ1BfRFNBQ0s9ODIsCi0gTkVUX1RDUF9NRU09ODMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9UQ1BfV01FTT04NCwKLSBORVRfVENQX1JNRU09ODUsCi0gTkVUX1RDUF9BUFBfV0lOPTg2LAotIE5FVF9UQ1BfQURWX1dJTl9TQ0FMRT04NywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTk9OTE9DQUxfQklORD04OCwKLSBORVRfSVBWNF9JQ01QX1JBVEVMSU1JVD04OSwKLSBORVRfSVBWNF9JQ01QX1JBVEVNQVNLPTkwLAotIE5FVF9UQ1BfVFdfUkVVU0U9OTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9UQ1BfRlJUTz05MiwKLSBORVRfVENQX0xPV19MQVRFTkNZPTkzLAotIE5FVF9JUFY0X0lQRlJBR19TRUNSRVRfSU5URVJWQUw9OTQsCi0gTkVUX0lQVjRfSUdNUF9NQVhfTVNGPTk2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfVENQX05PX01FVFJJQ1NfU0FWRT05NywKLSBORVRfVENQX0RFRkFVTFRfV0lOX1NDQUxFPTEwNSwKLSBORVRfVENQX01PREVSQVRFX1JDVkJVRj0xMDYsCi0gTkVUX1RDUF9UU09fV0lOX0RJVklTT1I9MTA3LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfVENQX0JJQ19CRVRBPTEwOCwKLSBORVRfSVBWNF9JQ01QX0VSUk9SU19VU0VfSU5CT1VORF9JRkFERFI9MTA5LAotIE5FVF9UQ1BfQ09OR19DT05UUk9MPTExMCwKLSBORVRfVENQX0FCQz0xMTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY0X0lQRlJBR19NQVhfRElTVD0xMTIsCi0gTkVUX1RDUF9NVFVfUFJPQklORz0xMTMsCi0gTkVUX1RDUF9CQVNFX01TUz0xMTQsCi0gTkVUX0lQVjRfVENQX1dPUktBUk9VTkRfU0lHTkVEX1dJTkRPV1M9MTE1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfVENQX0RNQV9DT1BZQlJFQUs9MTE2LAotIE5FVF9UQ1BfU0xPV19TVEFSVF9BRlRFUl9JRExFPTExNywKLSBORVRfQ0lQU09WNF9DQUNIRV9FTkFCTEU9MTE4LAotIE5FVF9DSVBTT1Y0X0NBQ0hFX0JVQ0tFVF9TSVpFPTExOSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0NJUFNPVjRfUkJNX09QVEZNVD0xMjAsCi0gTkVUX0NJUFNPVjRfUkJNX1NUUklDVFZBTElEPTEyMSwKLSBORVRfVENQX0FWQUlMX0NPTkdfQ09OVFJPTD0xMjIsCi0gTkVUX1RDUF9BTExPV0VEX0NPTkdfQ09OVFJPTD0xMjMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9UQ1BfTUFYX1NTVEhSRVNIPTEyNCwKLSBORVRfVENQX0ZSVE9fUkVTUE9OU0U9MTI1LAotfTsKLWVudW0gewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9ST1VURV9GTFVTSD0xLAotIE5FVF9JUFY0X1JPVVRFX01JTl9ERUxBWT0yLAotIE5FVF9JUFY0X1JPVVRFX01BWF9ERUxBWT0zLAotIE5FVF9JUFY0X1JPVVRFX0dDX1RIUkVTSD00LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9ST1VURV9NQVhfU0laRT01LAotIE5FVF9JUFY0X1JPVVRFX0dDX01JTl9JTlRFUlZBTD02LAotIE5FVF9JUFY0X1JPVVRFX0dDX1RJTUVPVVQ9NywKLSBORVRfSVBWNF9ST1VURV9HQ19JTlRFUlZBTD04LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9ST1VURV9SRURJUkVDVF9MT0FEPTksCi0gTkVUX0lQVjRfUk9VVEVfUkVESVJFQ1RfTlVNQkVSPTEwLAotIE5FVF9JUFY0X1JPVVRFX1JFRElSRUNUX1NJTEVOQ0U9MTEsCi0gTkVUX0lQVjRfUk9VVEVfRVJST1JfQ09TVD0xMiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfUk9VVEVfRVJST1JfQlVSU1Q9MTMsCi0gTkVUX0lQVjRfUk9VVEVfR0NfRUxBU1RJQ0lUWT0xNCwKLSBORVRfSVBWNF9ST1VURV9NVFVfRVhQSVJFUz0xNSwKLSBORVRfSVBWNF9ST1VURV9NSU5fUE1UVT0xNiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfUk9VVEVfTUlOX0FEVk1TUz0xNywKLSBORVRfSVBWNF9ST1VURV9TRUNSRVRfSU5URVJWQUw9MTgsCi0gTkVUX0lQVjRfUk9VVEVfR0NfTUlOX0lOVEVSVkFMX01TPTE5LAotfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1lbnVtCi17Ci0gTkVUX1BST1RPX0NPTkZfQUxMPS0yLAotIE5FVF9QUk9UT19DT05GX0RFRkFVTFQ9LTMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OwotZW51bQotewotIE5FVF9JUFY0X0NPTkZfRk9SV0FSRElORz0xLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9DT05GX01DX0ZPUldBUkRJTkc9MiwKLSBORVRfSVBWNF9DT05GX1BST1hZX0FSUD0zLAotIE5FVF9JUFY0X0NPTkZfQUNDRVBUX1JFRElSRUNUUz00LAotIE5FVF9JUFY0X0NPTkZfU0VDVVJFX1JFRElSRUNUUz01LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9DT05GX1NFTkRfUkVESVJFQ1RTPTYsCi0gTkVUX0lQVjRfQ09ORl9TSEFSRURfTUVESUE9NywKLSBORVRfSVBWNF9DT05GX1JQX0ZJTFRFUj04LAotIE5FVF9JUFY0X0NPTkZfQUNDRVBUX1NPVVJDRV9ST1VURT05LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9DT05GX0JPT1RQX1JFTEFZPTEwLAotIE5FVF9JUFY0X0NPTkZfTE9HX01BUlRJQU5TPTExLAotIE5FVF9JUFY0X0NPTkZfVEFHPTEyLAotIE5FVF9JUFY0X0NPTkZfQVJQRklMVEVSPTEzLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9DT05GX01FRElVTV9JRD0xNCwKLSBORVRfSVBWNF9DT05GX05PWEZSTT0xNSwKLSBORVRfSVBWNF9DT05GX05PUE9MSUNZPTE2LAotIE5FVF9JUFY0X0NPTkZfRk9SQ0VfSUdNUF9WRVJTSU9OPTE3LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9DT05GX0FSUF9BTk5PVU5DRT0xOCwKLSBORVRfSVBWNF9DT05GX0FSUF9JR05PUkU9MTksCi0gTkVUX0lQVjRfQ09ORl9QUk9NT1RFX1NFQ09OREFSSUVTPTIwLAotIE5FVF9JUFY0X0NPTkZfQVJQX0FDQ0VQVD0yMSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfQ09ORl9BUlBfTk9USUZZPTIyLAotfTsKLWVudW0KLXsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX01BWD0xLAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9TWU5fU0VOVD0yLAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9TWU5fUkVDVj0zLAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9FU1RBQkxJU0hFRD00LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfRklOX1dBSVQ9NSwKLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfQ0xPU0VfV0FJVD02LAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9MQVNUX0FDSz03LAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9USU1FX1dBSVQ9OCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX0NMT1NFPTksCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1VEUF9USU1FT1VUPTEwLAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19VRFBfVElNRU9VVF9TVFJFQU09MTEsCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX0lDTVBfVElNRU9VVD0xMiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX0dFTkVSSUNfVElNRU9VVD0xMywKLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfQlVDS0VUUz0xNCwKLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfTE9HX0lOVkFMSUQ9MTUsCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX01BWF9SRVRSQU5TPTE2LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVENQX0xPT1NFPTE3LAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfQkVfTElCRVJBTD0xOCwKLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVENQX01BWF9SRVRSQU5TPTE5LAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfQ0xPU0VEPTIwLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfU0NUUF9USU1FT1VUX0NPT0tJRV9XQUlUPTIxLAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfQ09PS0lFX0VDSE9FRD0yMiwKLSBORVRfSVBWNF9ORl9DT05OVFJBQ0tfU0NUUF9USU1FT1VUX0VTVEFCTElTSEVEPTIzLAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfU0hVVERPV05fU0VOVD0yNCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9SRUNEPTI1LAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfU0hVVERPV05fQUNLX1NFTlQ9MjYsCi0gTkVUX0lQVjRfTkZfQ09OTlRSQUNLX0NPVU5UPTI3LAotIE5FVF9JUFY0X05GX0NPTk5UUkFDS19DSEVDS1NVTT0yOCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OwotZW51bSB7Ci0gTkVUX0lQVjZfQ09ORj0xNiwKLSBORVRfSVBWNl9ORUlHSD0xNywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjZfUk9VVEU9MTgsCi0gTkVUX0lQVjZfSUNNUD0xOSwKLSBORVRfSVBWNl9CSU5EVjZPTkxZPTIwLAotIE5FVF9JUFY2X0lQNkZSQUdfSElHSF9USFJFU0g9MjEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY2X0lQNkZSQUdfTE9XX1RIUkVTSD0yMiwKLSBORVRfSVBWNl9JUDZGUkFHX1RJTUU9MjMsCi0gTkVUX0lQVjZfSVA2RlJBR19TRUNSRVRfSU5URVJWQUw9MjQsCi0gTkVUX0lQVjZfTUxEX01BWF9NU0Y9MjUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKLWVudW0gewotIE5FVF9JUFY2X1JPVVRFX0ZMVVNIPTEsCi0gTkVUX0lQVjZfUk9VVEVfR0NfVEhSRVNIPTIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY2X1JPVVRFX01BWF9TSVpFPTMsCi0gTkVUX0lQVjZfUk9VVEVfR0NfTUlOX0lOVEVSVkFMPTQsCi0gTkVUX0lQVjZfUk9VVEVfR0NfVElNRU9VVD01LAotIE5FVF9JUFY2X1JPVVRFX0dDX0lOVEVSVkFMPTYsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY2X1JPVVRFX0dDX0VMQVNUSUNJVFk9NywKLSBORVRfSVBWNl9ST1VURV9NVFVfRVhQSVJFUz04LAotIE5FVF9JUFY2X1JPVVRFX01JTl9BRFZNU1M9OSwKLSBORVRfSVBWNl9ST1VURV9HQ19NSU5fSU5URVJWQUxfTVM9MTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OwotZW51bSB7Ci0gTkVUX0lQVjZfRk9SV0FSRElORz0xLAotIE5FVF9JUFY2X0hPUF9MSU1JVD0yLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBWNl9NVFU9MywKLSBORVRfSVBWNl9BQ0NFUFRfUkE9NCwKLSBORVRfSVBWNl9BQ0NFUFRfUkVESVJFQ1RTPTUsCi0gTkVUX0lQVjZfQVVUT0NPTkY9NiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjZfREFEX1RSQU5TTUlUUz03LAotIE5FVF9JUFY2X1JUUl9TT0xJQ0lUUz04LAotIE5FVF9JUFY2X1JUUl9TT0xJQ0lUX0lOVEVSVkFMPTksCi0gTkVUX0lQVjZfUlRSX1NPTElDSVRfREVMQVk9MTAsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY2X1VTRV9URU1QQUREUj0xMSwKLSBORVRfSVBWNl9URU1QX1ZBTElEX0xGVD0xMiwKLSBORVRfSVBWNl9URU1QX1BSRUZFUkVEX0xGVD0xMywKLSBORVRfSVBWNl9SRUdFTl9NQVhfUkVUUlk9MTQsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY2X01BWF9ERVNZTkNfRkFDVE9SPTE1LAotIE5FVF9JUFY2X01BWF9BRERSRVNTRVM9MTYsCi0gTkVUX0lQVjZfRk9SQ0VfTUxEX1ZFUlNJT049MTcsCi0gTkVUX0lQVjZfQUNDRVBUX1JBX0RFRlJUUj0xOCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0lQVjZfQUNDRVBUX1JBX1BJTkZPPTE5LAotIE5FVF9JUFY2X0FDQ0VQVF9SQV9SVFJfUFJFRj0yMCwKLSBORVRfSVBWNl9SVFJfUFJPQkVfSU5URVJWQUw9MjEsCi0gTkVUX0lQVjZfQUNDRVBUX1JBX1JUX0lORk9fTUFYX1BMRU49MjIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUFY2X1BST1hZX05EUD0yMywKLSBORVRfSVBWNl9BQ0NFUFRfU09VUkNFX1JPVVRFPTI1LAotIF9fTkVUX0lQVjZfTUFYCisgIHZvaWQgX191c2VyICogbmV3dmFsOworICBzaXplX3QgbmV3bGVuOworICB1bnNpZ25lZCBsb25nIF9fbGludXhfdW51c2VkWzRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBORVRfSVBWNl9JQ01QX1JBVEVMSU1JVD0xCi19OwotZW51bSB7CisgIENUTF9LRVJOID0gMSwKKyAgQ1RMX1ZNID0gMiwKKyAgQ1RMX05FVCA9IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ORUlHSF9NQ0FTVF9TT0xJQ0lUPTEsCi0gTkVUX05FSUdIX1VDQVNUX1NPTElDSVQ9MiwKLSBORVRfTkVJR0hfQVBQX1NPTElDSVQ9MywKLSBORVRfTkVJR0hfUkVUUkFOU19USU1FPTQsCisgIENUTF9QUk9DID0gNCwKKyAgQ1RMX0ZTID0gNSwKKyAgQ1RMX0RFQlVHID0gNiwKKyAgQ1RMX0RFViA9IDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ORUlHSF9SRUFDSEFCTEVfVElNRT01LAotIE5FVF9ORUlHSF9ERUxBWV9QUk9CRV9USU1FPTYsCi0gTkVUX05FSUdIX0dDX1NUQUxFX1RJTUU9NywKLSBORVRfTkVJR0hfVU5SRVNfUUxFTj04LAorICBDVExfQlVTID0gOCwKKyAgQ1RMX0FCSSA9IDksCisgIENUTF9DUFUgPSAxMCwKKyAgQ1RMX0FSTEFOID0gMjU0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkVJR0hfUFJPWFlfUUxFTj05LAotIE5FVF9ORUlHSF9BTllDQVNUX0RFTEFZPTEwLAotIE5FVF9ORUlHSF9QUk9YWV9ERUxBWT0xMSwKLSBORVRfTkVJR0hfTE9DS1RJTUU9MTIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ORUlHSF9HQ19JTlRFUlZBTD0xMywKLSBORVRfTkVJR0hfR0NfVEhSRVNIMT0xNCwKLSBORVRfTkVJR0hfR0NfVEhSRVNIMj0xNSwKLSBORVRfTkVJR0hfR0NfVEhSRVNIMz0xNiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX05FSUdIX1JFVFJBTlNfVElNRV9NUz0xNywKLSBORVRfTkVJR0hfUkVBQ0hBQkxFX1RJTUVfTVM9MTgsCi19OwotZW51bSB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9EQ0NQX0RFRkFVTFQ9MSwKLX07Ci1lbnVtIHsKLSBORVRfSVBYX1BQUk9QX0JST0FEQ0FTVElORz0xLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVBYX0ZPUldBUkRJTkc9MgotfTsKLWVudW0gewotIE5FVF9MTEMyPTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9MTENfU1RBVElPTj0yLAotfTsKLWVudW0gewotIE5FVF9MTEMyX1RJTUVPVVQ9MSwKKyAgQ1RMX1MzOTBEQkYgPSA1Njc3LAorICBDVExfU1VOUlBDID0gNzI0OSwKKyAgQ1RMX1BNID0gOTg5OSwKKyAgQ1RMX0ZSViA9IDk4OTgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIE5FVF9MTENfU1RBVElPTl9BQ0tfVElNRU9VVD0xLAorICBDVExfQlVTX0lTQSA9IDEKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gTkVUX0xMQzJfQUNLX1RJTUVPVVQ9MSwKLSBORVRfTExDMl9QX1RJTUVPVVQ9MiwKLSBORVRfTExDMl9SRUpfVElNRU9VVD0zLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTExDMl9CVVNZX1RJTUVPVVQ9NCwKLX07Ci1lbnVtIHsKLSBORVRfQVRBTEtfQUFSUF9FWFBJUllfVElNRT0xLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfQVRBTEtfQUFSUF9USUNLX1RJTUU9MiwKLSBORVRfQVRBTEtfQUFSUF9SRVRSQU5TTUlUX0xJTUlUPTMsCi0gTkVUX0FUQUxLX0FBUlBfUkVTT0xWRV9USU1FPTQKLX07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotZW51bSB7Ci0gTkVUX05FVFJPTV9ERUZBVUxUX1BBVEhfUVVBTElUWT0xLAotIE5FVF9ORVRST01fT0JTT0xFU0NFTkNFX0NPVU5UX0lOSVRJQUxJU0VSPTIsCi0gTkVUX05FVFJPTV9ORVRXT1JLX1RUTF9JTklUSUFMSVNFUj0zLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkVUUk9NX1RSQU5TUE9SVF9USU1FT1VUPTQsCi0gTkVUX05FVFJPTV9UUkFOU1BPUlRfTUFYSU1VTV9UUklFUz01LAotIE5FVF9ORVRST01fVFJBTlNQT1JUX0FDS05PV0xFREdFX0RFTEFZPTYsCi0gTkVUX05FVFJPTV9UUkFOU1BPUlRfQlVTWV9ERUxBWT03LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkVUUk9NX1RSQU5TUE9SVF9SRVFVRVNURURfV0lORE9XX1NJWkU9OCwKLSBORVRfTkVUUk9NX1RSQU5TUE9SVF9OT19BQ1RJVklUWV9USU1FT1VUPTksCi0gTkVUX05FVFJPTV9ST1VUSU5HX0NPTlRST0w9MTAsCi0gTkVUX05FVFJPTV9MSU5LX0ZBSUxTX0NPVU5UPTExLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfTkVUUk9NX1JFU0VUPTEyCi19OwotZW51bSB7Ci0gTkVUX0FYMjVfSVBfREVGQVVMVF9NT0RFPTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9BWDI1X0RFRkFVTFRfTU9ERT0yLAotIE5FVF9BWDI1X0JBQ0tPRkZfVFlQRT0zLAotIE5FVF9BWDI1X0NPTk5FQ1RfTU9ERT00LAotIE5FVF9BWDI1X1NUQU5EQVJEX1dJTkRPVz01LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfQVgyNV9FWFRFTkRFRF9XSU5ET1c9NiwKLSBORVRfQVgyNV9UMV9USU1FT1VUPTcsCi0gTkVUX0FYMjVfVDJfVElNRU9VVD04LAotIE5FVF9BWDI1X1QzX1RJTUVPVVQ9OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0FYMjVfSURMRV9USU1FT1VUPTEwLAotIE5FVF9BWDI1X04yPTExLAotIE5FVF9BWDI1X1BBQ0xFTj0xMiwKLSBORVRfQVgyNV9QUk9UT0NPTD0xMywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0FYMjVfREFNQV9TTEFWRV9USU1FT1VUPTE0Ci19OwotZW51bSB7Ci0gTkVUX1JPU0VfUkVTVEFSVF9SRVFVRVNUX1RJTUVPVVQ9MSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1JPU0VfQ0FMTF9SRVFVRVNUX1RJTUVPVVQ9MiwKLSBORVRfUk9TRV9SRVNFVF9SRVFVRVNUX1RJTUVPVVQ9MywKLSBORVRfUk9TRV9DTEVBUl9SRVFVRVNUX1RJTUVPVVQ9NCwKLSBORVRfUk9TRV9BQ0tfSE9MRF9CQUNLX1RJTUVPVVQ9NSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1JPU0VfUk9VVElOR19DT05UUk9MPTYsCi0gTkVUX1JPU0VfTElOS19GQUlMX1RJTUVPVVQ9NywKLSBORVRfUk9TRV9NQVhfVkNTPTgsCi0gTkVUX1JPU0VfV0lORE9XX1NJWkU9OSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1JPU0VfTk9fQUNUSVZJVFlfVElNRU9VVD0xMAotfTsKLWVudW0gewotIE5FVF9YMjVfUkVTVEFSVF9SRVFVRVNUX1RJTUVPVVQ9MSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1gyNV9DQUxMX1JFUVVFU1RfVElNRU9VVD0yLAotIE5FVF9YMjVfUkVTRVRfUkVRVUVTVF9USU1FT1VUPTMsCi0gTkVUX1gyNV9DTEVBUl9SRVFVRVNUX1RJTUVPVVQ9NCwKLSBORVRfWDI1X0FDS19IT0xEX0JBQ0tfVElNRU9VVD01LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfWDI1X0ZPUldBUkQ9NgotfTsKLWVudW0KLXsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1RSX1JJRl9USU1FT1VUPTEKLX07Ci1lbnVtIHsKLSBORVRfREVDTkVUX05PREVfVFlQRSA9IDEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ERUNORVRfTk9ERV9BRERSRVNTID0gMiwKLSBORVRfREVDTkVUX05PREVfTkFNRSA9IDMsCi0gTkVUX0RFQ05FVF9ERUZBVUxUX0RFVklDRSA9IDQsCi0gTkVUX0RFQ05FVF9USU1FX1dBSVQgPSA1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfREVDTkVUX0ROX0NPVU5UID0gNiwKLSBORVRfREVDTkVUX0RJX0NPVU5UID0gNywKLSBORVRfREVDTkVUX0RSX0NPVU5UID0gOCwKLSBORVRfREVDTkVUX0RTVF9HQ19JTlRFUlZBTCA9IDksCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ERUNORVRfQ09ORiA9IDEwLAotIE5FVF9ERUNORVRfTk9fRkNfTUFYX0NXTkQgPSAxMSwKLSBORVRfREVDTkVUX01FTSA9IDEyLAotIE5FVF9ERUNORVRfUk1FTSA9IDEzLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfREVDTkVUX1dNRU0gPSAxNCwKLSBORVRfREVDTkVUX0RFQlVHX0xFVkVMID0gMjU1Ci19OwotZW51bSB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ERUNORVRfQ09ORl9MT09QQkFDSyA9IC0yLAotIE5FVF9ERUNORVRfQ09ORl9ERENNUCA9IC0zLAotIE5FVF9ERUNORVRfQ09ORl9QUFAgPSAtNCwKLSBORVRfREVDTkVUX0NPTkZfWDI1ID0gLTUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9ERUNORVRfQ09ORl9HUkUgPSAtNiwKLSBORVRfREVDTkVUX0NPTkZfRVRIRVIgPSAtNwotfTsKLWVudW0gewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfREVDTkVUX0NPTkZfREVWX1BSSU9SSVRZID0gMSwKLSBORVRfREVDTkVUX0NPTkZfREVWX1QxID0gMiwKLSBORVRfREVDTkVUX0NPTkZfREVWX1QyID0gMywKLSBORVRfREVDTkVUX0NPTkZfREVWX1QzID0gNCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0RFQ05FVF9DT05GX0RFVl9GT1JXQVJESU5HID0gNSwKLSBORVRfREVDTkVUX0NPTkZfREVWX0JMS1NJWkUgPSA2LAotIE5FVF9ERUNORVRfQ09ORl9ERVZfU1RBVEUgPSA3Ci19OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLWVudW0gewotIE5FVF9TQ1RQX1JUT19JTklUSUFMID0gMSwKLSBORVRfU0NUUF9SVE9fTUlOID0gMiwKLSBORVRfU0NUUF9SVE9fTUFYID0gMywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1NDVFBfUlRPX0FMUEhBID0gNCwKLSBORVRfU0NUUF9SVE9fQkVUQSA9IDUsCi0gTkVUX1NDVFBfVkFMSURfQ09PS0lFX0xJRkUgPSA2LAotIE5FVF9TQ1RQX0FTU09DSUFUSU9OX01BWF9SRVRSQU5TID0gNywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX1NDVFBfUEFUSF9NQVhfUkVUUkFOUyA9IDgsCi0gTkVUX1NDVFBfTUFYX0lOSVRfUkVUUkFOU01JVFMgPSA5LAotIE5FVF9TQ1RQX0hCX0lOVEVSVkFMID0gMTAsCi0gTkVUX1NDVFBfUFJFU0VSVkVfRU5BQkxFID0gMTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9TQ1RQX01BWF9CVVJTVCA9IDEyLAotIE5FVF9TQ1RQX0FERElQX0VOQUJMRSA9IDEzLAotIE5FVF9TQ1RQX1BSU0NUUF9FTkFCTEUgPSAxNCwKLSBORVRfU0NUUF9TTkRCVUZfUE9MSUNZID0gMTUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9TQ1RQX1NBQ0tfVElNRU9VVCA9IDE2LAotIE5FVF9TQ1RQX1JDVkJVRl9QT0xJQ1kgPSAxNywKLX07Ci1lbnVtIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gTkVUX0JSSURHRV9ORl9DQUxMX0FSUFRBQkxFUyA9IDEsCi0gTkVUX0JSSURHRV9ORl9DQUxMX0lQVEFCTEVTID0gMiwKLSBORVRfQlJJREdFX05GX0NBTExfSVA2VEFCTEVTID0gMywKLSBORVRfQlJJREdFX05GX0ZJTFRFUl9WTEFOX1RBR0dFRCA9IDQsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9CUklER0VfTkZfRklMVEVSX1BQUE9FX1RBR0dFRCA9IDUsCi19OwotZW51bSB7Ci0gTkVUX0lSREFfRElTQ09WRVJZPTEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUkRBX0RFVk5BTUU9MiwKLSBORVRfSVJEQV9ERUJVRz0zLAotIE5FVF9JUkRBX0ZBU1RfUE9MTD00LAotIE5FVF9JUkRBX0RJU0NPVkVSWV9TTE9UUz01LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVJEQV9ESVNDT1ZFUllfVElNRU9VVD02LAotIE5FVF9JUkRBX1NMT1RfVElNRU9VVD03LAotIE5FVF9JUkRBX01BWF9CQVVEX1JBVEU9OCwKLSBORVRfSVJEQV9NSU5fVFhfVFVSTl9USU1FPTksCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE5FVF9JUkRBX01BWF9UWF9EQVRBX1NJWkU9MTAsCi0gTkVUX0lSREFfTUFYX1RYX1dJTkRPVz0xMSwKLSBORVRfSVJEQV9NQVhfTk9SRVBMWV9USU1FPTEyLAotIE5FVF9JUkRBX1dBUk5fTk9SRVBMWV9USU1FPTEzLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBORVRfSVJEQV9MQVBfS0VFUEFMSVZFX1RJTUU9MTQsCi19OwotZW51bQotewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGU19OUklOT0RFPTEsCi0gRlNfU1RBVElOT0RFPTIsCi0gRlNfTUFYSU5PREU9MywKLSBGU19OUkRRVU9UPTQsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZTX01BWERRVU9UPTUsCi0gRlNfTlJGSUxFPTYsCi0gRlNfTUFYRklMRT03LAotIEZTX0RFTlRSWT04LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGU19OUlNVUEVSPTksCi0gRlNfTUFYU1VQRVI9MTAsCi0gRlNfT1ZFUkZMT1dVSUQ9MTEsCi0gRlNfT1ZFUkZMT1dHSUQ9MTIsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZTX0xFQVNFUz0xMywKLSBGU19ESVJfTk9USUZZPTE0LAotIEZTX0xFQVNFX1RJTUU9MTUsCi0gRlNfRFFTVEFUUz0xNiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlNfWEZTPTE3LAotIEZTX0FJT19OUj0xOCwKLSBGU19BSU9fTUFYX05SPTE5LAotIEZTX0lOT1RJRlk9MjAsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZTX09DRlMyPTk4OCwKLX07Ci1lbnVtIHsKLSBGU19EUV9MT09LVVBTID0gMSwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlNfRFFfRFJPUFMgPSAyLAotIEZTX0RRX1JFQURTID0gMywKLSBGU19EUV9XUklURVMgPSA0LAotIEZTX0RRX0NBQ0hFX0hJVFMgPSA1LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGU19EUV9BTExPQ0FURUQgPSA2LAotIEZTX0RRX0ZSRUUgPSA3LAotIEZTX0RRX1NZTkNTID0gOCwKLSBGU19EUV9XQVJOSU5HUyA9IDksCisgIElOT1RJRllfTUFYX1VTRVJfSU5TVEFOQ0VTID0gMSwKKyAgSU5PVElGWV9NQVhfVVNFUl9XQVRDSEVTID0gMiwKKyAgSU5PVElGWV9NQVhfUVVFVUVEX0VWRU5UUyA9IDMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gREVWX0NEUk9NPTEsCi0gREVWX0hXTU9OPTIsCisgIEtFUk5fT1NUWVBFID0gMSwKKyAgS0VSTl9PU1JFTEVBU0UgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBERVZfUEFSUE9SVD0zLAotIERFVl9SQUlEPTQsCi0gREVWX01BQ19ISUQ9NSwKLSBERVZfU0NTST02LAorICBLRVJOX09TUkVWID0gMywKKyAgS0VSTl9WRVJTSU9OID0gNCwKKyAgS0VSTl9TRUNVUkVNQVNLID0gNSwKKyAgS0VSTl9QUk9GID0gNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gREVWX0lQTUk9NywKLX07Ci1lbnVtIHsKLSBERVZfQ0RST01fSU5GTz0xLAorICBLRVJOX05PREVOQU1FID0gNywKKyAgS0VSTl9ET01BSU5OQU1FID0gOCwKKyAgS0VSTl9QQU5JQyA9IDE1LAorICBLRVJOX1JFQUxST09UREVWID0gMTYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERFVl9DRFJPTV9BVVRPQ0xPU0U9MiwKLSBERVZfQ0RST01fQVVUT0VKRUNUPTMsCi0gREVWX0NEUk9NX0RFQlVHPTQsCi0gREVWX0NEUk9NX0xPQ0s9NSwKKyAgS0VSTl9TUEFSQ19SRUJPT1QgPSAyMSwKKyAgS0VSTl9DVExBTFRERUwgPSAyMiwKKyAgS0VSTl9QUklOVEsgPSAyMywKKyAgS0VSTl9OQU1FVFJBTlMgPSAyNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gREVWX0NEUk9NX0NIRUNLX01FRElBPTYKLX07Ci1lbnVtIHsKLSBERVZfUEFSUE9SVF9ERUZBVUxUPS0zCisgIEtFUk5fUFBDX0hUQUJSRUNMQUlNID0gMjUsCisgIEtFUk5fUFBDX1pFUk9QQUdFRCA9IDI2LAorICBLRVJOX1BQQ19QT1dFUlNBVkVfTkFQID0gMjcsCisgIEtFUk5fTU9EUFJPQkUgPSAyOCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEtFUk5fU0dfQklHX0JVRkYgPSAyOSwKKyAgS0VSTl9BQ0NUID0gMzAsCisgIEtFUk5fUFBDX0wyQ1IgPSAzMSwKKyAgS0VSTl9SVFNJR05SID0gMzIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBLRVJOX1JUU0lHTUFYID0gMzMsCisgIEtFUk5fU0hNTUFYID0gMzQsCisgIEtFUk5fTVNHTUFYID0gMzUsCisgIEtFUk5fTVNHTU5CID0gMzYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBLRVJOX01TR1BPT0wgPSAzNywKKyAgS0VSTl9TWVNSUSA9IDM4LAorICBLRVJOX01BWF9USFJFQURTID0gMzksCisgIEtFUk5fUkFORE9NID0gNDAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBLRVJOX1NITUFMTCA9IDQxLAorICBLRVJOX01TR01OSSA9IDQyLAorICBLRVJOX1NFTSA9IDQzLAorICBLRVJOX1NQQVJDX1NUT1BfQSA9IDQ0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS0VSTl9TSE1NTkkgPSA0NSwKKyAgS0VSTl9PVkVSRkxPV1VJRCA9IDQ2LAorICBLRVJOX09WRVJGTE9XR0lEID0gNDcsCisgIEtFUk5fU0hNUEFUSCA9IDQ4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS0VSTl9IT1RQTFVHID0gNDksCisgIEtFUk5fSUVFRV9FTVVMQVRJT05fV0FSTklOR1MgPSA1MCwKKyAgS0VSTl9TMzkwX1VTRVJfREVCVUdfTE9HR0lORyA9IDUxLAorICBLRVJOX0NPUkVfVVNFU19QSUQgPSA1MiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEtFUk5fVEFJTlRFRCA9IDUzLAorICBLRVJOX0NBRFBJRCA9IDU0LAorICBLRVJOX1BJRE1BWCA9IDU1LAorICBLRVJOX0NPUkVfUEFUVEVSTiA9IDU2LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS0VSTl9QQU5JQ19PTl9PT1BTID0gNTcsCisgIEtFUk5fSFBQQV9QV1JTVyA9IDU4LAorICBLRVJOX0hQUEFfVU5BTElHTkVEID0gNTksCisgIEtFUk5fUFJJTlRLX1JBVEVMSU1JVCA9IDYwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS0VSTl9QUklOVEtfUkFURUxJTUlUX0JVUlNUID0gNjEsCisgIEtFUk5fUFRZID0gNjIsCisgIEtFUk5fTkdST1VQU19NQVggPSA2MywKKyAgS0VSTl9TUEFSQ19TQ09OU19QV1JPRkYgPSA2NCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEtFUk5fSFpfVElNRVIgPSA2NSwKKyAgS0VSTl9VTktOT1dOX05NSV9QQU5JQyA9IDY2LAorICBLRVJOX0JPT1RMT0FERVJfVFlQRSA9IDY3LAorICBLRVJOX1JBTkRPTUlaRSA9IDY4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgS0VSTl9TRVRVSURfRFVNUEFCTEUgPSA2OSwKKyAgS0VSTl9TUElOX1JFVFJZID0gNzAsCisgIEtFUk5fQUNQSV9WSURFT19GTEFHUyA9IDcxLAorICBLRVJOX0lBNjRfVU5BTElHTkVEID0gNzIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBLRVJOX0NPTVBBVF9MT0cgPSA3MywKKyAgS0VSTl9NQVhfTE9DS19ERVBUSCA9IDc0LAorICBLRVJOX05NSV9XQVRDSERPRyA9IDc1LAorICBLRVJOX1BBTklDX09OX05NSSA9IDc2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBERVZfUkFJRF9TUEVFRF9MSU1JVF9NSU49MSwKLSBERVZfUkFJRF9TUEVFRF9MSU1JVF9NQVg9MgorICBWTV9VTlVTRUQxID0gMSwKKyAgVk1fVU5VU0VEMiA9IDIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWTV9VTlVTRUQzID0gMywKKyAgVk1fVU5VU0VENCA9IDQsCisgIFZNX09WRVJDT01NSVRfTUVNT1JZID0gNSwKKyAgVk1fVU5VU0VENSA9IDYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWTV9VTlVTRUQ3ID0gNywKKyAgVk1fVU5VU0VEOCA9IDgsCisgIFZNX1VOVVNFRDkgPSA5LAorICBWTV9QQUdFX0NMVVNURVIgPSAxMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFZNX0RJUlRZX0JBQ0tHUk9VTkQgPSAxMSwKKyAgVk1fRElSVFlfUkFUSU8gPSAxMiwKKyAgVk1fRElSVFlfV0JfQ1MgPSAxMywKKyAgVk1fRElSVFlfRVhQSVJFX0NTID0gMTQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWTV9OUl9QREZMVVNIX1RIUkVBRFMgPSAxNSwKKyAgVk1fT1ZFUkNPTU1JVF9SQVRJTyA9IDE2LAorICBWTV9QQUdFQlVGID0gMTcsCisgIFZNX0hVR0VUTEJfUEFHRVMgPSAxOCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFZNX1NXQVBQSU5FU1MgPSAxOSwKKyAgVk1fTE9XTUVNX1JFU0VSVkVfUkFUSU8gPSAyMCwKKyAgVk1fTUlOX0ZSRUVfS0JZVEVTID0gMjEsCisgIFZNX01BWF9NQVBfQ09VTlQgPSAyMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFZNX0xBUFRPUF9NT0RFID0gMjMsCisgIFZNX0JMT0NLX0RVTVAgPSAyNCwKKyAgVk1fSFVHRVRMQl9HUk9VUCA9IDI1LAorICBWTV9WRlNfQ0FDSEVfUFJFU1NVUkUgPSAyNiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFZNX0xFR0FDWV9WQV9MQVlPVVQgPSAyNywKKyAgVk1fU1dBUF9UT0tFTl9USU1FT1VUID0gMjgsCisgIFZNX0RST1BfUEFHRUNBQ0hFID0gMjksCisgIFZNX1BFUkNQVV9QQUdFTElTVF9GUkFDVElPTiA9IDMwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVk1fWk9ORV9SRUNMQUlNX01PREUgPSAzMSwKKyAgVk1fTUlOX1VOTUFQUEVEID0gMzIsCisgIFZNX1BBTklDX09OX09PTSA9IDMzLAorICBWTV9WRFNPX0VOQUJMRUQgPSAzNCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFZNX01JTl9TTEFCID0gMzUsCit9OworZW51bSB7CisgIE5FVF9DT1JFID0gMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9FVEhFUiA9IDIsCisgIE5FVF84MDIgPSAzLAorICBORVRfVU5JWCA9IDQsCisgIE5FVF9JUFY0ID0gNSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFggPSA2LAorICBORVRfQVRBTEsgPSA3LAorICBORVRfTkVUUk9NID0gOCwKKyAgTkVUX0FYMjUgPSA5LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0JSSURHRSA9IDEwLAorICBORVRfUk9TRSA9IDExLAorICBORVRfSVBWNiA9IDEyLAorICBORVRfWDI1ID0gMTMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfVFIgPSAxNCwKKyAgTkVUX0RFQ05FVCA9IDE1LAorICBORVRfRUNPTkVUID0gMTYsCisgIE5FVF9TQ1RQID0gMTcsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTExDID0gMTgsCisgIE5FVF9ORVRGSUxURVIgPSAxOSwKKyAgTkVUX0RDQ1AgPSAyMCwKKyAgTkVUX0lSREEgPSA0MTIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIERFVl9QQVJQT1JUX0RFRkFVTFRfVElNRVNMSUNFPTEsCi0gREVWX1BBUlBPUlRfREVGQVVMVF9TUElOVElNRT0yCisgIFJBTkRPTV9QT09MU0laRSA9IDEsCisgIFJBTkRPTV9FTlRST1BZX0NPVU5UID0gMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFJBTkRPTV9SRUFEX1RIUkVTSCA9IDMsCisgIFJBTkRPTV9XUklURV9USFJFU0ggPSA0LAorICBSQU5ET01fQk9PVF9JRCA9IDUsCisgIFJBTkRPTV9VVUlEID0gNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHsKLSBERVZfUEFSUE9SVF9TUElOVElNRT0xLAotIERFVl9QQVJQT1JUX0JBU0VfQUREUj0yLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBERVZfUEFSUE9SVF9JUlE9MywKLSBERVZfUEFSUE9SVF9ETUE9NCwKLSBERVZfUEFSUE9SVF9NT0RFUz01LAotIERFVl9QQVJQT1JUX0RFVklDRVM9NiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gREVWX1BBUlBPUlRfQVVUT1BST0JFPTE2Ci19OwotZW51bSB7Ci0gREVWX1BBUlBPUlRfREVWSUNFU19BQ1RJVkU9LTMsCisgIFBUWV9NQVggPSAxLAorICBQVFlfTlIgPSAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIERFVl9QQVJQT1JUX0RFVklDRV9USU1FU0xJQ0U9MSwKKyAgQlVTX0lTQV9NRU1fQkFTRSA9IDEsCisgIEJVU19JU0FfUE9SVF9CQVNFID0gMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEJVU19JU0FfUE9SVF9TSElGVCA9IDMKK307CitlbnVtIHsKKyAgTkVUX0NPUkVfV01FTV9NQVggPSAxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0NPUkVfUk1FTV9NQVggPSAyLAorICBORVRfQ09SRV9XTUVNX0RFRkFVTFQgPSAzLAorICBORVRfQ09SRV9STUVNX0RFRkFVTFQgPSA0LAorICBORVRfQ09SRV9NQVhfQkFDS0xPRyA9IDYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQ09SRV9GQVNUUk9VVEUgPSA3LAorICBORVRfQ09SRV9NU0dfQ09TVCA9IDgsCisgIE5FVF9DT1JFX01TR19CVVJTVCA9IDksCisgIE5FVF9DT1JFX09QVE1FTV9NQVggPSAxMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9DT1JFX0hPVF9MSVNUX0xFTkdUSCA9IDExLAorICBORVRfQ09SRV9ESVZFUlRfVkVSU0lPTiA9IDEyLAorICBORVRfQ09SRV9OT19DT05HX1RIUkVTSCA9IDEzLAorICBORVRfQ09SRV9OT19DT05HID0gMTQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQ09SRV9MT19DT05HID0gMTUsCisgIE5FVF9DT1JFX01PRF9DT05HID0gMTYsCisgIE5FVF9DT1JFX0RFVl9XRUlHSFQgPSAxNywKKyAgTkVUX0NPUkVfU09NQVhDT05OID0gMTgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQ09SRV9CVURHRVQgPSAxOSwKKyAgTkVUX0NPUkVfQUVWRU5UX0VUSU1FID0gMjAsCisgIE5FVF9DT1JFX0FFVkVOVF9SU0VRVEggPSAyMSwKKyAgTkVUX0NPUkVfV0FSTklOR1MgPSAyMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworZW51bSB7CisgIE5FVF9VTklYX0RFU1RST1lfREVMQVkgPSAxLAorICBORVRfVU5JWF9ERUxFVEVfREVMQVkgPSAyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1VOSVhfTUFYX0RHUkFNX1FMRU4gPSAzLAorfTsKK2VudW0geworICBORVRfTkZfQ09OTlRSQUNLX01BWCA9IDEsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1NZTl9TRU5UID0gMiwKKyAgTkVUX05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9TWU5fUkVDViA9IDMsCisgIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfRVNUQUJMSVNIRUQgPSA0LAorICBORVRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX0ZJTl9XQUlUID0gNSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfQ0xPU0VfV0FJVCA9IDYsCisgIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfTEFTVF9BQ0sgPSA3LAorICBORVRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1RJTUVfV0FJVCA9IDgsCisgIE5FVF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfQ0xPU0UgPSA5LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX05GX0NPTk5UUkFDS19VRFBfVElNRU9VVCA9IDEwLAorICBORVRfTkZfQ09OTlRSQUNLX1VEUF9USU1FT1VUX1NUUkVBTSA9IDExLAorICBORVRfTkZfQ09OTlRSQUNLX0lDTVBfVElNRU9VVCA9IDEyLAorICBORVRfTkZfQ09OTlRSQUNLX0dFTkVSSUNfVElNRU9VVCA9IDEzLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX05GX0NPTk5UUkFDS19CVUNLRVRTID0gMTQsCisgIE5FVF9ORl9DT05OVFJBQ0tfTE9HX0lOVkFMSUQgPSAxNSwKKyAgTkVUX05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9NQVhfUkVUUkFOUyA9IDE2LAorICBORVRfTkZfQ09OTlRSQUNLX1RDUF9MT09TRSA9IDE3LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX05GX0NPTk5UUkFDS19UQ1BfQkVfTElCRVJBTCA9IDE4LAorICBORVRfTkZfQ09OTlRSQUNLX1RDUF9NQVhfUkVUUkFOUyA9IDE5LAorICBORVRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9DTE9TRUQgPSAyMCwKKyAgTkVUX05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfQ09PS0lFX1dBSVQgPSAyMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ORl9DT05OVFJBQ0tfU0NUUF9USU1FT1VUX0NPT0tJRV9FQ0hPRUQgPSAyMiwKKyAgTkVUX05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfRVNUQUJMSVNIRUQgPSAyMywKKyAgTkVUX05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfU0hVVERPV05fU0VOVCA9IDI0LAorICBORVRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9SRUNEID0gMjUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9BQ0tfU0VOVCA9IDI2LAorICBORVRfTkZfQ09OTlRSQUNLX0NPVU5UID0gMjcsCisgIE5FVF9ORl9DT05OVFJBQ0tfSUNNUFY2X1RJTUVPVVQgPSAyOCwKKyAgTkVUX05GX0NPTk5UUkFDS19GUkFHNl9USU1FT1VUID0gMjksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkZfQ09OTlRSQUNLX0ZSQUc2X0xPV19USFJFU0ggPSAzMCwKKyAgTkVUX05GX0NPTk5UUkFDS19GUkFHNl9ISUdIX1RIUkVTSCA9IDMxLAorICBORVRfTkZfQ09OTlRSQUNLX0NIRUNLU1VNID0gMzIsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIERFVl9NQUNfSElEX0tFWUJPQVJEX1NFTkRTX0xJTlVYX0tFWUNPREVTPTEsCi0gREVWX01BQ19ISURfS0VZQk9BUkRfTE9DS19LRVlDT0RFUz0yLAotIERFVl9NQUNfSElEX01PVVNFX0JVVFRPTl9FTVVMQVRJT049MywKKyAgTkVUX0lQVjRfRk9SV0FSRCA9IDgsCisgIE5FVF9JUFY0X0RZTkFERFIgPSA5LAorICBORVRfSVBWNF9DT05GID0gMTYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIERFVl9NQUNfSElEX01PVVNFX0JVVFRPTjJfS0VZQ09ERT00LAotIERFVl9NQUNfSElEX01PVVNFX0JVVFRPTjNfS0VZQ09ERT01LAotIERFVl9NQUNfSElEX0FEQl9NT1VTRV9TRU5EU19LRVlDT0RFUz02CisgIE5FVF9JUFY0X05FSUdIID0gMTcsCisgIE5FVF9JUFY0X1JPVVRFID0gMTgsCisgIE5FVF9JUFY0X0ZJQl9IQVNIID0gMTksCisgIE5FVF9JUFY0X05FVEZJTFRFUiA9IDIwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjRfVENQX1RJTUVTVEFNUFMgPSAzMywKKyAgTkVUX0lQVjRfVENQX1dJTkRPV19TQ0FMSU5HID0gMzQsCisgIE5FVF9JUFY0X1RDUF9TQUNLID0gMzUsCisgIE5FVF9JUFY0X1RDUF9SRVRSQU5TX0NPTExBUFNFID0gMzYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ERUZBVUxUX1RUTCA9IDM3LAorICBORVRfSVBWNF9BVVRPQ09ORklHID0gMzgsCisgIE5FVF9JUFY0X05PX1BNVFVfRElTQyA9IDM5LAorICBORVRfSVBWNF9UQ1BfU1lOX1JFVFJJRVMgPSA0MCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X0lQRlJBR19ISUdIX1RIUkVTSCA9IDQxLAorICBORVRfSVBWNF9JUEZSQUdfTE9XX1RIUkVTSCA9IDQyLAorICBORVRfSVBWNF9JUEZSQUdfVElNRSA9IDQzLAorICBORVRfSVBWNF9UQ1BfTUFYX0tBX1BST0JFUyA9IDQ0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjRfVENQX0tFRVBBTElWRV9USU1FID0gNDUsCisgIE5FVF9JUFY0X1RDUF9LRUVQQUxJVkVfUFJPQkVTID0gNDYsCisgIE5FVF9JUFY0X1RDUF9SRVRSSUVTMSA9IDQ3LAorICBORVRfSVBWNF9UQ1BfUkVUUklFUzIgPSA0OCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X1RDUF9GSU5fVElNRU9VVCA9IDQ5LAorICBORVRfSVBWNF9JUF9NQVNRX0RFQlVHID0gNTAsCisgIE5FVF9UQ1BfU1lOQ09PS0lFUyA9IDUxLAorICBORVRfVENQX1NURFVSRyA9IDUyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1RDUF9SRkMxMzM3ID0gNTMsCisgIE5FVF9UQ1BfU1lOX1RBSUxEUk9QID0gNTQsCisgIE5FVF9UQ1BfTUFYX1NZTl9CQUNLTE9HID0gNTUsCisgIE5FVF9JUFY0X0xPQ0FMX1BPUlRfUkFOR0UgPSA1NiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X0lDTVBfRUNIT19JR05PUkVfQUxMID0gNTcsCisgIE5FVF9JUFY0X0lDTVBfRUNIT19JR05PUkVfQlJPQURDQVNUUyA9IDU4LAorICBORVRfSVBWNF9JQ01QX1NPVVJDRVFVRU5DSF9SQVRFID0gNTksCisgIE5FVF9JUFY0X0lDTVBfREVTVFVOUkVBQ0hfUkFURSA9IDYwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjRfSUNNUF9USU1FRVhDRUVEX1JBVEUgPSA2MSwKKyAgTkVUX0lQVjRfSUNNUF9QQVJBTVBST0JfUkFURSA9IDYyLAorICBORVRfSVBWNF9JQ01QX0VDSE9SRVBMWV9SQVRFID0gNjMsCisgIE5FVF9JUFY0X0lDTVBfSUdOT1JFX0JPR1VTX0VSUk9SX1JFU1BPTlNFUyA9IDY0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjRfSUdNUF9NQVhfTUVNQkVSU0hJUFMgPSA2NSwKKyAgTkVUX1RDUF9UV19SRUNZQ0xFID0gNjYsCisgIE5FVF9JUFY0X0FMV0FZU19ERUZSQUcgPSA2NywKKyAgTkVUX0lQVjRfVENQX0tFRVBBTElWRV9JTlRWTCA9IDY4LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjRfSU5FVF9QRUVSX1RIUkVTSE9MRCA9IDY5LAorICBORVRfSVBWNF9JTkVUX1BFRVJfTUlOVFRMID0gNzAsCisgIE5FVF9JUFY0X0lORVRfUEVFUl9NQVhUVEwgPSA3MSwKKyAgTkVUX0lQVjRfSU5FVF9QRUVSX0dDX01JTlRJTUUgPSA3MiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X0lORVRfUEVFUl9HQ19NQVhUSU1FID0gNzMsCisgIE5FVF9UQ1BfT1JQSEFOX1JFVFJJRVMgPSA3NCwKKyAgTkVUX1RDUF9BQk9SVF9PTl9PVkVSRkxPVyA9IDc1LAorICBORVRfVENQX1NZTkFDS19SRVRSSUVTID0gNzYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfVENQX01BWF9PUlBIQU5TID0gNzcsCisgIE5FVF9UQ1BfTUFYX1RXX0JVQ0tFVFMgPSA3OCwKKyAgTkVUX1RDUF9GQUNLID0gNzksCisgIE5FVF9UQ1BfUkVPUkRFUklORyA9IDgwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1RDUF9FQ04gPSA4MSwKKyAgTkVUX1RDUF9EU0FDSyA9IDgyLAorICBORVRfVENQX01FTSA9IDgzLAorICBORVRfVENQX1dNRU0gPSA4NCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9UQ1BfUk1FTSA9IDg1LAorICBORVRfVENQX0FQUF9XSU4gPSA4NiwKKyAgTkVUX1RDUF9BRFZfV0lOX1NDQUxFID0gODcsCisgIE5FVF9JUFY0X05PTkxPQ0FMX0JJTkQgPSA4OCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X0lDTVBfUkFURUxJTUlUID0gODksCisgIE5FVF9JUFY0X0lDTVBfUkFURU1BU0sgPSA5MCwKKyAgTkVUX1RDUF9UV19SRVVTRSA9IDkxLAorICBORVRfVENQX0ZSVE8gPSA5MiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9UQ1BfTE9XX0xBVEVOQ1kgPSA5MywKKyAgTkVUX0lQVjRfSVBGUkFHX1NFQ1JFVF9JTlRFUlZBTCA9IDk0LAorICBORVRfSVBWNF9JR01QX01BWF9NU0YgPSA5NiwKKyAgTkVUX1RDUF9OT19NRVRSSUNTX1NBVkUgPSA5NywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9UQ1BfREVGQVVMVF9XSU5fU0NBTEUgPSAxMDUsCisgIE5FVF9UQ1BfTU9ERVJBVEVfUkNWQlVGID0gMTA2LAorICBORVRfVENQX1RTT19XSU5fRElWSVNPUiA9IDEwNywKKyAgTkVUX1RDUF9CSUNfQkVUQSA9IDEwOCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X0lDTVBfRVJST1JTX1VTRV9JTkJPVU5EX0lGQUREUiA9IDEwOSwKKyAgTkVUX1RDUF9DT05HX0NPTlRST0wgPSAxMTAsCisgIE5FVF9UQ1BfQUJDID0gMTExLAorICBORVRfSVBWNF9JUEZSQUdfTUFYX0RJU1QgPSAxMTIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfVENQX01UVV9QUk9CSU5HID0gMTEzLAorICBORVRfVENQX0JBU0VfTVNTID0gMTE0LAorICBORVRfSVBWNF9UQ1BfV09SS0FST1VORF9TSUdORURfV0lORE9XUyA9IDExNSwKKyAgTkVUX1RDUF9ETUFfQ09QWUJSRUFLID0gMTE2LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1RDUF9TTE9XX1NUQVJUX0FGVEVSX0lETEUgPSAxMTcsCisgIE5FVF9DSVBTT1Y0X0NBQ0hFX0VOQUJMRSA9IDExOCwKKyAgTkVUX0NJUFNPVjRfQ0FDSEVfQlVDS0VUX1NJWkUgPSAxMTksCisgIE5FVF9DSVBTT1Y0X1JCTV9PUFRGTVQgPSAxMjAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQ0lQU09WNF9SQk1fU1RSSUNUVkFMSUQgPSAxMjEsCisgIE5FVF9UQ1BfQVZBSUxfQ09OR19DT05UUk9MID0gMTIyLAorICBORVRfVENQX0FMTE9XRURfQ09OR19DT05UUk9MID0gMTIzLAorICBORVRfVENQX01BWF9TU1RIUkVTSCA9IDEyNCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9UQ1BfRlJUT19SRVNQT05TRSA9IDEyNSwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gREVWX1NDU0lfTE9HR0lOR19MRVZFTD0xLAorICBORVRfSVBWNF9ST1VURV9GTFVTSCA9IDEsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ST1VURV9NSU5fREVMQVkgPSAyLAorICBORVRfSVBWNF9ST1VURV9NQVhfREVMQVkgPSAzLAorICBORVRfSVBWNF9ST1VURV9HQ19USFJFU0ggPSA0LAorICBORVRfSVBWNF9ST1VURV9NQVhfU0laRSA9IDUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ST1VURV9HQ19NSU5fSU5URVJWQUwgPSA2LAorICBORVRfSVBWNF9ST1VURV9HQ19USU1FT1VUID0gNywKKyAgTkVUX0lQVjRfUk9VVEVfR0NfSU5URVJWQUwgPSA4LAorICBORVRfSVBWNF9ST1VURV9SRURJUkVDVF9MT0FEID0gOSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X1JPVVRFX1JFRElSRUNUX05VTUJFUiA9IDEwLAorICBORVRfSVBWNF9ST1VURV9SRURJUkVDVF9TSUxFTkNFID0gMTEsCisgIE5FVF9JUFY0X1JPVVRFX0VSUk9SX0NPU1QgPSAxMiwKKyAgTkVUX0lQVjRfUk9VVEVfRVJST1JfQlVSU1QgPSAxMywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X1JPVVRFX0dDX0VMQVNUSUNJVFkgPSAxNCwKKyAgTkVUX0lQVjRfUk9VVEVfTVRVX0VYUElSRVMgPSAxNSwKKyAgTkVUX0lQVjRfUk9VVEVfTUlOX1BNVFUgPSAxNiwKKyAgTkVUX0lQVjRfUk9VVEVfTUlOX0FEVk1TUyA9IDE3LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjRfUk9VVEVfU0VDUkVUX0lOVEVSVkFMID0gMTgsCisgIE5FVF9JUFY0X1JPVVRFX0dDX01JTl9JTlRFUlZBTF9NUyA9IDE5LAogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBERVZfSVBNSV9QT1dFUk9GRl9QT1dFUkNZQ0xFPTEsCisgIE5FVF9QUk9UT19DT05GX0FMTCA9IC0gMiwKKyAgTkVUX1BST1RPX0NPTkZfREVGQVVMVCA9IC0gMwogfTsKLWVudW0KLXsKK2VudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBBQklfREVGSEFORExFUl9DT0ZGPTEsCi0gQUJJX0RFRkhBTkRMRVJfRUxGPTIsCi0gQUJJX0RFRkhBTkRMRVJfTENBTEw3PTMsCi0gQUJJX0RFRkhBTkRMRVJfTElCQ1NPPTQsCisgIE5FVF9JUFY0X0NPTkZfRk9SV0FSRElORyA9IDEsCisgIE5FVF9JUFY0X0NPTkZfTUNfRk9SV0FSRElORyA9IDIsCisgIE5FVF9JUFY0X0NPTkZfUFJPWFlfQVJQID0gMywKKyAgTkVUX0lQVjRfQ09ORl9BQ0NFUFRfUkVESVJFQ1RTID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQUJJX1RSQUNFPTUsCi0gQUJJX0ZBS0VfVVRTTkFNRT02LAorICBORVRfSVBWNF9DT05GX1NFQ1VSRV9SRURJUkVDVFMgPSA1LAorICBORVRfSVBWNF9DT05GX1NFTkRfUkVESVJFQ1RTID0gNiwKKyAgTkVUX0lQVjRfQ09ORl9TSEFSRURfTUVESUEgPSA3LAorICBORVRfSVBWNF9DT05GX1JQX0ZJTFRFUiA9IDgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9DT05GX0FDQ0VQVF9TT1VSQ0VfUk9VVEUgPSA5LAorICBORVRfSVBWNF9DT05GX0JPT1RQX1JFTEFZID0gMTAsCisgIE5FVF9JUFY0X0NPTkZfTE9HX01BUlRJQU5TID0gMTEsCisgIE5FVF9JUFY0X0NPTkZfVEFHID0gMTIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9DT05GX0FSUEZJTFRFUiA9IDEzLAorICBORVRfSVBWNF9DT05GX01FRElVTV9JRCA9IDE0LAorICBORVRfSVBWNF9DT05GX05PWEZSTSA9IDE1LAorICBORVRfSVBWNF9DT05GX05PUE9MSUNZID0gMTYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9DT05GX0ZPUkNFX0lHTVBfVkVSU0lPTiA9IDE3LAorICBORVRfSVBWNF9DT05GX0FSUF9BTk5PVU5DRSA9IDE4LAorICBORVRfSVBWNF9DT05GX0FSUF9JR05PUkUgPSAxOSwKKyAgTkVUX0lQVjRfQ09ORl9QUk9NT1RFX1NFQ09OREFSSUVTID0gMjAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9DT05GX0FSUF9BQ0NFUFQgPSAyMSwKKyAgTkVUX0lQVjRfQ09ORl9BUlBfTk9USUZZID0gMjIsCit9OworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfTUFYID0gMSwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1NZTl9TRU5UID0gMiwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1NZTl9SRUNWID0gMywKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX0VTVEFCTElTSEVEID0gNCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9GSU5fV0FJVCA9IDUsCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfVElNRU9VVF9DTE9TRV9XQUlUID0gNiwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX0xBU1RfQUNLID0gNywKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9USU1FT1VUX1RJTUVfV0FJVCA9IDgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfQ0xPU0UgPSA5LAorICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVURQX1RJTUVPVVQgPSAxMCwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1VEUF9USU1FT1VUX1NUUkVBTSA9IDExLAorICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfSUNNUF9USU1FT1VUID0gMTIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfR0VORVJJQ19USU1FT1VUID0gMTMsCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19CVUNLRVRTID0gMTQsCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19MT0dfSU5WQUxJRCA9IDE1LAorICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfVENQX1RJTUVPVVRfTUFYX1JFVFJBTlMgPSAxNiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfTE9PU0UgPSAxNywKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1RDUF9CRV9MSUJFUkFMID0gMTgsCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19UQ1BfTUFYX1JFVFJBTlMgPSAxOSwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9DTE9TRUQgPSAyMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfQ09PS0lFX1dBSVQgPSAyMSwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9DT09LSUVfRUNIT0VEID0gMjIsCisgIE5FVF9JUFY0X05GX0NPTk5UUkFDS19TQ1RQX1RJTUVPVVRfRVNUQUJMSVNIRUQgPSAyMywKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9TRU5UID0gMjQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfU0NUUF9USU1FT1VUX1NIVVRET1dOX1JFQ0QgPSAyNSwKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX1NDVFBfVElNRU9VVF9TSFVURE9XTl9BQ0tfU0VOVCA9IDI2LAorICBORVRfSVBWNF9ORl9DT05OVFJBQ0tfQ09VTlQgPSAyNywKKyAgTkVUX0lQVjRfTkZfQ09OTlRSQUNLX0NIRUNLU1VNID0gMjgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0geworICBORVRfSVBWNl9DT05GID0gMTYsCisgIE5FVF9JUFY2X05FSUdIID0gMTcsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNl9ST1VURSA9IDE4LAorICBORVRfSVBWNl9JQ01QID0gMTksCisgIE5FVF9JUFY2X0JJTkRWNk9OTFkgPSAyMCwKKyAgTkVUX0lQVjZfSVA2RlJBR19ISUdIX1RIUkVTSCA9IDIxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjZfSVA2RlJBR19MT1dfVEhSRVNIID0gMjIsCisgIE5FVF9JUFY2X0lQNkZSQUdfVElNRSA9IDIzLAorICBORVRfSVBWNl9JUDZGUkFHX1NFQ1JFVF9JTlRFUlZBTCA9IDI0LAorICBORVRfSVBWNl9NTERfTUFYX01TRiA9IDI1LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIHsKKyAgTkVUX0lQVjZfUk9VVEVfRkxVU0ggPSAxLAorICBORVRfSVBWNl9ST1VURV9HQ19USFJFU0ggPSAyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjZfUk9VVEVfTUFYX1NJWkUgPSAzLAorICBORVRfSVBWNl9ST1VURV9HQ19NSU5fSU5URVJWQUwgPSA0LAorICBORVRfSVBWNl9ST1VURV9HQ19USU1FT1VUID0gNSwKKyAgTkVUX0lQVjZfUk9VVEVfR0NfSU5URVJWQUwgPSA2LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjZfUk9VVEVfR0NfRUxBU1RJQ0lUWSA9IDcsCisgIE5FVF9JUFY2X1JPVVRFX01UVV9FWFBJUkVTID0gOCwKKyAgTkVUX0lQVjZfUk9VVEVfTUlOX0FEVk1TUyA9IDksCisgIE5FVF9JUFY2X1JPVVRFX0dDX01JTl9JTlRFUlZBTF9NUyA9IDEwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0geworICBORVRfSVBWNl9GT1JXQVJESU5HID0gMSwKKyAgTkVUX0lQVjZfSE9QX0xJTUlUID0gMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9JUFY2X01UVSA9IDMsCisgIE5FVF9JUFY2X0FDQ0VQVF9SQSA9IDQsCisgIE5FVF9JUFY2X0FDQ0VQVF9SRURJUkVDVFMgPSA1LAorICBORVRfSVBWNl9BVVRPQ09ORiA9IDYsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNl9EQURfVFJBTlNNSVRTID0gNywKKyAgTkVUX0lQVjZfUlRSX1NPTElDSVRTID0gOCwKKyAgTkVUX0lQVjZfUlRSX1NPTElDSVRfSU5URVJWQUwgPSA5LAorICBORVRfSVBWNl9SVFJfU09MSUNJVF9ERUxBWSA9IDEwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjZfVVNFX1RFTVBBRERSID0gMTEsCisgIE5FVF9JUFY2X1RFTVBfVkFMSURfTEZUID0gMTIsCisgIE5FVF9JUFY2X1RFTVBfUFJFRkVSRURfTEZUID0gMTMsCisgIE5FVF9JUFY2X1JFR0VOX01BWF9SRVRSWSA9IDE0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjZfTUFYX0RFU1lOQ19GQUNUT1IgPSAxNSwKKyAgTkVUX0lQVjZfTUFYX0FERFJFU1NFUyA9IDE2LAorICBORVRfSVBWNl9GT1JDRV9NTERfVkVSU0lPTiA9IDE3LAorICBORVRfSVBWNl9BQ0NFUFRfUkFfREVGUlRSID0gMTgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBWNl9BQ0NFUFRfUkFfUElORk8gPSAxOSwKKyAgTkVUX0lQVjZfQUNDRVBUX1JBX1JUUl9QUkVGID0gMjAsCisgIE5FVF9JUFY2X1JUUl9QUk9CRV9JTlRFUlZBTCA9IDIxLAorICBORVRfSVBWNl9BQ0NFUFRfUkFfUlRfSU5GT19NQVhfUExFTiA9IDIyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lQVjZfUFJPWFlfTkRQID0gMjMsCisgIE5FVF9JUFY2X0FDQ0VQVF9TT1VSQ0VfUk9VVEUgPSAyNSwKKyAgTkVUX0lQVjZfQUNDRVBUX1JBX0ZST01fTE9DQUwgPSAyNiwKKyAgX19ORVRfSVBWNl9NQVgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworZW51bSB7CisgIE5FVF9JUFY2X0lDTVBfUkFURUxJTUlUID0gMQorfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitlbnVtIHsKKyAgTkVUX05FSUdIX01DQVNUX1NPTElDSVQgPSAxLAorICBORVRfTkVJR0hfVUNBU1RfU09MSUNJVCA9IDIsCisgIE5FVF9ORUlHSF9BUFBfU09MSUNJVCA9IDMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkVJR0hfUkVUUkFOU19USU1FID0gNCwKKyAgTkVUX05FSUdIX1JFQUNIQUJMRV9USU1FID0gNSwKKyAgTkVUX05FSUdIX0RFTEFZX1BST0JFX1RJTUUgPSA2LAorICBORVRfTkVJR0hfR0NfU1RBTEVfVElNRSA9IDcsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkVJR0hfVU5SRVNfUUxFTiA9IDgsCisgIE5FVF9ORUlHSF9QUk9YWV9RTEVOID0gOSwKKyAgTkVUX05FSUdIX0FOWUNBU1RfREVMQVkgPSAxMCwKKyAgTkVUX05FSUdIX1BST1hZX0RFTEFZID0gMTEsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkVJR0hfTE9DS1RJTUUgPSAxMiwKKyAgTkVUX05FSUdIX0dDX0lOVEVSVkFMID0gMTMsCisgIE5FVF9ORUlHSF9HQ19USFJFU0gxID0gMTQsCisgIE5FVF9ORUlHSF9HQ19USFJFU0gyID0gMTUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfTkVJR0hfR0NfVEhSRVNIMyA9IDE2LAorICBORVRfTkVJR0hfUkVUUkFOU19USU1FX01TID0gMTcsCisgIE5FVF9ORUlHSF9SRUFDSEFCTEVfVElNRV9NUyA9IDE4LAorfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitlbnVtIHsKKyAgTkVUX0RDQ1BfREVGQVVMVCA9IDEsCit9OworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVBYX1BQUk9QX0JST0FEQ0FTVElORyA9IDEsCisgIE5FVF9JUFhfRk9SV0FSRElORyA9IDIKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9MTEMyID0gMSwKKyAgTkVUX0xMQ19TVEFUSU9OID0gMiwKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9MTEMyX1RJTUVPVVQgPSAxLAorfTsKK2VudW0geworICBORVRfTExDX1NUQVRJT05fQUNLX1RJTUVPVVQgPSAxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIHsKKyAgTkVUX0xMQzJfQUNLX1RJTUVPVVQgPSAxLAorICBORVRfTExDMl9QX1RJTUVPVVQgPSAyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0xMQzJfUkVKX1RJTUVPVVQgPSAzLAorICBORVRfTExDMl9CVVNZX1RJTUVPVVQgPSA0LAorfTsKK2VudW0geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0FUQUxLX0FBUlBfRVhQSVJZX1RJTUUgPSAxLAorICBORVRfQVRBTEtfQUFSUF9USUNLX1RJTUUgPSAyLAorICBORVRfQVRBTEtfQUFSUF9SRVRSQU5TTUlUX0xJTUlUID0gMywKKyAgTkVUX0FUQUxLX0FBUlBfUkVTT0xWRV9USU1FID0gNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIHsKKyAgTkVUX05FVFJPTV9ERUZBVUxUX1BBVEhfUVVBTElUWSA9IDEsCisgIE5FVF9ORVRST01fT0JTT0xFU0NFTkNFX0NPVU5UX0lOSVRJQUxJU0VSID0gMiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ORVRST01fTkVUV09SS19UVExfSU5JVElBTElTRVIgPSAzLAorICBORVRfTkVUUk9NX1RSQU5TUE9SVF9USU1FT1VUID0gNCwKKyAgTkVUX05FVFJPTV9UUkFOU1BPUlRfTUFYSU1VTV9UUklFUyA9IDUsCisgIE5FVF9ORVRST01fVFJBTlNQT1JUX0FDS05PV0xFREdFX0RFTEFZID0gNiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ORVRST01fVFJBTlNQT1JUX0JVU1lfREVMQVkgPSA3LAorICBORVRfTkVUUk9NX1RSQU5TUE9SVF9SRVFVRVNURURfV0lORE9XX1NJWkUgPSA4LAorICBORVRfTkVUUk9NX1RSQU5TUE9SVF9OT19BQ1RJVklUWV9USU1FT1VUID0gOSwKKyAgTkVUX05FVFJPTV9ST1VUSU5HX0NPTlRST0wgPSAxMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ORVRST01fTElOS19GQUlMU19DT1VOVCA9IDExLAorICBORVRfTkVUUk9NX1JFU0VUID0gMTIKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9BWDI1X0lQX0RFRkFVTFRfTU9ERSA9IDEsCisgIE5FVF9BWDI1X0RFRkFVTFRfTU9ERSA9IDIsCisgIE5FVF9BWDI1X0JBQ0tPRkZfVFlQRSA9IDMsCisgIE5FVF9BWDI1X0NPTk5FQ1RfTU9ERSA9IDQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQVgyNV9TVEFOREFSRF9XSU5ET1cgPSA1LAorICBORVRfQVgyNV9FWFRFTkRFRF9XSU5ET1cgPSA2LAorICBORVRfQVgyNV9UMV9USU1FT1VUID0gNywKKyAgTkVUX0FYMjVfVDJfVElNRU9VVCA9IDgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQVgyNV9UM19USU1FT1VUID0gOSwKKyAgTkVUX0FYMjVfSURMRV9USU1FT1VUID0gMTAsCisgIE5FVF9BWDI1X04yID0gMTEsCisgIE5FVF9BWDI1X1BBQ0xFTiA9IDEyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0FYMjVfUFJPVE9DT0wgPSAxMywKKyAgTkVUX0FYMjVfREFNQV9TTEFWRV9USU1FT1VUID0gMTQKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ST1NFX1JFU1RBUlRfUkVRVUVTVF9USU1FT1VUID0gMSwKKyAgTkVUX1JPU0VfQ0FMTF9SRVFVRVNUX1RJTUVPVVQgPSAyLAorICBORVRfUk9TRV9SRVNFVF9SRVFVRVNUX1RJTUVPVVQgPSAzLAorICBORVRfUk9TRV9DTEVBUl9SRVFVRVNUX1RJTUVPVVQgPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1JPU0VfQUNLX0hPTERfQkFDS19USU1FT1VUID0gNSwKKyAgTkVUX1JPU0VfUk9VVElOR19DT05UUk9MID0gNiwKKyAgTkVUX1JPU0VfTElOS19GQUlMX1RJTUVPVVQgPSA3LAorICBORVRfUk9TRV9NQVhfVkNTID0gOCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ST1NFX1dJTkRPV19TSVpFID0gOSwKKyAgTkVUX1JPU0VfTk9fQUNUSVZJVFlfVElNRU9VVCA9IDEwCit9OworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfWDI1X1JFU1RBUlRfUkVRVUVTVF9USU1FT1VUID0gMSwKKyAgTkVUX1gyNV9DQUxMX1JFUVVFU1RfVElNRU9VVCA9IDIsCisgIE5FVF9YMjVfUkVTRVRfUkVRVUVTVF9USU1FT1VUID0gMywKKyAgTkVUX1gyNV9DTEVBUl9SRVFVRVNUX1RJTUVPVVQgPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1gyNV9BQ0tfSE9MRF9CQUNLX1RJTUVPVVQgPSA1LAorICBORVRfWDI1X0ZPUldBUkQgPSA2Cit9OworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfVFJfUklGX1RJTUVPVVQgPSAxCit9OworZW51bSB7CisgIE5FVF9ERUNORVRfTk9ERV9UWVBFID0gMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ERUNORVRfTk9ERV9BRERSRVNTID0gMiwKKyAgTkVUX0RFQ05FVF9OT0RFX05BTUUgPSAzLAorICBORVRfREVDTkVUX0RFRkFVTFRfREVWSUNFID0gNCwKKyAgTkVUX0RFQ05FVF9USU1FX1dBSVQgPSA1LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0RFQ05FVF9ETl9DT1VOVCA9IDYsCisgIE5FVF9ERUNORVRfRElfQ09VTlQgPSA3LAorICBORVRfREVDTkVUX0RSX0NPVU5UID0gOCwKKyAgTkVUX0RFQ05FVF9EU1RfR0NfSU5URVJWQUwgPSA5LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0RFQ05FVF9DT05GID0gMTAsCisgIE5FVF9ERUNORVRfTk9fRkNfTUFYX0NXTkQgPSAxMSwKKyAgTkVUX0RFQ05FVF9NRU0gPSAxMiwKKyAgTkVUX0RFQ05FVF9STUVNID0gMTMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfREVDTkVUX1dNRU0gPSAxNCwKKyAgTkVUX0RFQ05FVF9ERUJVR19MRVZFTCA9IDI1NQorfTsKK2VudW0geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0RFQ05FVF9DT05GX0xPT1BCQUNLID0gLSAyLAorICBORVRfREVDTkVUX0NPTkZfRERDTVAgPSAtIDMsCisgIE5FVF9ERUNORVRfQ09ORl9QUFAgPSAtIDQsCisgIE5FVF9ERUNORVRfQ09ORl9YMjUgPSAtIDUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfREVDTkVUX0NPTkZfR1JFID0gLSA2LAorICBORVRfREVDTkVUX0NPTkZfRVRIRVIgPSAtIDcKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9ERUNORVRfQ09ORl9ERVZfUFJJT1JJVFkgPSAxLAorICBORVRfREVDTkVUX0NPTkZfREVWX1QxID0gMiwKKyAgTkVUX0RFQ05FVF9DT05GX0RFVl9UMiA9IDMsCisgIE5FVF9ERUNORVRfQ09ORl9ERVZfVDMgPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0RFQ05FVF9DT05GX0RFVl9GT1JXQVJESU5HID0gNSwKKyAgTkVUX0RFQ05FVF9DT05GX0RFVl9CTEtTSVpFID0gNiwKKyAgTkVUX0RFQ05FVF9DT05GX0RFVl9TVEFURSA9IDcKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSB7CisgIE5FVF9TQ1RQX1JUT19JTklUSUFMID0gMSwKKyAgTkVUX1NDVFBfUlRPX01JTiA9IDIsCisgIE5FVF9TQ1RQX1JUT19NQVggPSAzLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1NDVFBfUlRPX0FMUEhBID0gNCwKKyAgTkVUX1NDVFBfUlRPX0JFVEEgPSA1LAorICBORVRfU0NUUF9WQUxJRF9DT09LSUVfTElGRSA9IDYsCisgIE5FVF9TQ1RQX0FTU09DSUFUSU9OX01BWF9SRVRSQU5TID0gNywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9TQ1RQX1BBVEhfTUFYX1JFVFJBTlMgPSA4LAorICBORVRfU0NUUF9NQVhfSU5JVF9SRVRSQU5TTUlUUyA9IDksCisgIE5FVF9TQ1RQX0hCX0lOVEVSVkFMID0gMTAsCisgIE5FVF9TQ1RQX1BSRVNFUlZFX0VOQUJMRSA9IDExLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX1NDVFBfTUFYX0JVUlNUID0gMTIsCisgIE5FVF9TQ1RQX0FERElQX0VOQUJMRSA9IDEzLAorICBORVRfU0NUUF9QUlNDVFBfRU5BQkxFID0gMTQsCisgIE5FVF9TQ1RQX1NOREJVRl9QT0xJQ1kgPSAxNSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9TQ1RQX1NBQ0tfVElNRU9VVCA9IDE2LAorICBORVRfU0NUUF9SQ1ZCVUZfUE9MSUNZID0gMTcsCit9OworZW51bSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfQlJJREdFX05GX0NBTExfQVJQVEFCTEVTID0gMSwKKyAgTkVUX0JSSURHRV9ORl9DQUxMX0lQVEFCTEVTID0gMiwKKyAgTkVUX0JSSURHRV9ORl9DQUxMX0lQNlRBQkxFUyA9IDMsCisgIE5FVF9CUklER0VfTkZfRklMVEVSX1ZMQU5fVEFHR0VEID0gNCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIE5FVF9CUklER0VfTkZfRklMVEVSX1BQUE9FX1RBR0dFRCA9IDUsCit9OworZW51bSB7CisgIE5FVF9JUkRBX0RJU0NPVkVSWSA9IDEsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVJEQV9ERVZOQU1FID0gMiwKKyAgTkVUX0lSREFfREVCVUcgPSAzLAorICBORVRfSVJEQV9GQVNUX1BPTEwgPSA0LAorICBORVRfSVJEQV9ESVNDT1ZFUllfU0xPVFMgPSA1LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lSREFfRElTQ09WRVJZX1RJTUVPVVQgPSA2LAorICBORVRfSVJEQV9TTE9UX1RJTUVPVVQgPSA3LAorICBORVRfSVJEQV9NQVhfQkFVRF9SQVRFID0gOCwKKyAgTkVUX0lSREFfTUlOX1RYX1RVUk5fVElNRSA9IDksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBORVRfSVJEQV9NQVhfVFhfREFUQV9TSVpFID0gMTAsCisgIE5FVF9JUkRBX01BWF9UWF9XSU5ET1cgPSAxMSwKKyAgTkVUX0lSREFfTUFYX05PUkVQTFlfVElNRSA9IDEyLAorICBORVRfSVJEQV9XQVJOX05PUkVQTFlfVElNRSA9IDEzLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTkVUX0lSREFfTEFQX0tFRVBBTElWRV9USU1FID0gMTQsCit9OworZW51bSB7CisgIEZTX05SSU5PREUgPSAxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRlNfU1RBVElOT0RFID0gMiwKKyAgRlNfTUFYSU5PREUgPSAzLAorICBGU19OUkRRVU9UID0gNCwKKyAgRlNfTUFYRFFVT1QgPSA1LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRlNfTlJGSUxFID0gNiwKKyAgRlNfTUFYRklMRSA9IDcsCisgIEZTX0RFTlRSWSA9IDgsCisgIEZTX05SU1VQRVIgPSA5LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRlNfTUFYU1VQRVIgPSAxMCwKKyAgRlNfT1ZFUkZMT1dVSUQgPSAxMSwKKyAgRlNfT1ZFUkZMT1dHSUQgPSAxMiwKKyAgRlNfTEVBU0VTID0gMTMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBGU19ESVJfTk9USUZZID0gMTQsCisgIEZTX0xFQVNFX1RJTUUgPSAxNSwKKyAgRlNfRFFTVEFUUyA9IDE2LAorICBGU19YRlMgPSAxNywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEZTX0FJT19OUiA9IDE4LAorICBGU19BSU9fTUFYX05SID0gMTksCisgIEZTX0lOT1RJRlkgPSAyMCwKKyAgRlNfT0NGUzIgPSA5ODgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0geworICBGU19EUV9MT09LVVBTID0gMSwKKyAgRlNfRFFfRFJPUFMgPSAyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRlNfRFFfUkVBRFMgPSAzLAorICBGU19EUV9XUklURVMgPSA0LAorICBGU19EUV9DQUNIRV9ISVRTID0gNSwKKyAgRlNfRFFfQUxMT0NBVEVEID0gNiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIEZTX0RRX0ZSRUUgPSA3LAorICBGU19EUV9TWU5DUyA9IDgsCisgIEZTX0RRX1dBUk5JTkdTID0gOSwKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSB7CisgIERFVl9DRFJPTSA9IDEsCisgIERFVl9IV01PTiA9IDIsCisgIERFVl9QQVJQT1JUID0gMywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIERFVl9SQUlEID0gNCwKKyAgREVWX01BQ19ISUQgPSA1LAorICBERVZfU0NTSSA9IDYsCisgIERFVl9JUE1JID0gNywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworZW51bSB7CisgIERFVl9DRFJPTV9JTkZPID0gMSwKKyAgREVWX0NEUk9NX0FVVE9DTE9TRSA9IDIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBERVZfQ0RST01fQVVUT0VKRUNUID0gMywKKyAgREVWX0NEUk9NX0RFQlVHID0gNCwKKyAgREVWX0NEUk9NX0xPQ0sgPSA1LAorICBERVZfQ0RST01fQ0hFQ0tfTUVESUEgPSA2CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK2VudW0geworICBERVZfUEFSUE9SVF9ERUZBVUxUID0gLSAzCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0geworICBERVZfUkFJRF9TUEVFRF9MSU1JVF9NSU4gPSAxLAorICBERVZfUkFJRF9TUEVFRF9MSU1JVF9NQVggPSAyCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0geworICBERVZfUEFSUE9SVF9ERUZBVUxUX1RJTUVTTElDRSA9IDEsCisgIERFVl9QQVJQT1JUX0RFRkFVTFRfU1BJTlRJTUUgPSAyCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0geworICBERVZfUEFSUE9SVF9TUElOVElNRSA9IDEsCisgIERFVl9QQVJQT1JUX0JBU0VfQUREUiA9IDIsCisgIERFVl9QQVJQT1JUX0lSUSA9IDMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBERVZfUEFSUE9SVF9ETUEgPSA0LAorICBERVZfUEFSUE9SVF9NT0RFUyA9IDUsCisgIERFVl9QQVJQT1JUX0RFVklDRVMgPSA2LAorICBERVZfUEFSUE9SVF9BVVRPUFJPQkUgPSAxNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIHsKKyAgREVWX1BBUlBPUlRfREVWSUNFU19BQ1RJVkUgPSAtIDMsCit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0geworICBERVZfUEFSUE9SVF9ERVZJQ0VfVElNRVNMSUNFID0gMSwKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIERFVl9NQUNfSElEX0tFWUJPQVJEX1NFTkRTX0xJTlVYX0tFWUNPREVTID0gMSwKKyAgREVWX01BQ19ISURfS0VZQk9BUkRfTE9DS19LRVlDT0RFUyA9IDIsCisgIERFVl9NQUNfSElEX01PVVNFX0JVVFRPTl9FTVVMQVRJT04gPSAzLAorICBERVZfTUFDX0hJRF9NT1VTRV9CVVRUT04yX0tFWUNPREUgPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgREVWX01BQ19ISURfTU9VU0VfQlVUVE9OM19LRVlDT0RFID0gNSwKKyAgREVWX01BQ19ISURfQURCX01PVVNFX1NFTkRTX0tFWUNPREVTID0gNgorfTsKK2VudW0geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgREVWX1NDU0lfTE9HR0lOR19MRVZFTCA9IDEsCit9OworZW51bSB7CisgIERFVl9JUE1JX1BPV0VST0ZGX1BPV0VSQ1lDTEUgPSAxLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitlbnVtIHsKKyAgQUJJX0RFRkhBTkRMRVJfQ09GRiA9IDEsCisgIEFCSV9ERUZIQU5ETEVSX0VMRiA9IDIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBBQklfREVGSEFORExFUl9MQ0FMTDcgPSAzLAorICBBQklfREVGSEFORExFUl9MSUJDU08gPSA0LAorICBBQklfVFJBQ0UgPSA1LAorICBBQklfRkFLRV9VVFNOQU1FID0gNiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC9zeXNpbmZvLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5c2luZm8uaAppbmRleCBjNzJmNDExLi43NWM2NzY5IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5c2luZm8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3N5c2luZm8uaApAQCAtMjIsMjMgKzIyLDIzIEBACiAjZGVmaW5lIFNJX0xPQURfU0hJRlQgMTYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc3lzaW5mbyB7Ci0gX19rZXJuZWxfbG9uZ190IHVwdGltZTsKLSBfX2tlcm5lbF91bG9uZ190IGxvYWRzWzNdOwotIF9fa2VybmVsX3Vsb25nX3QgdG90YWxyYW07CisgIF9fa2VybmVsX2xvbmdfdCB1cHRpbWU7CisgIF9fa2VybmVsX3Vsb25nX3QgbG9hZHNbM107CisgIF9fa2VybmVsX3Vsb25nX3QgdG90YWxyYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3Vsb25nX3QgZnJlZXJhbTsKLSBfX2tlcm5lbF91bG9uZ190IHNoYXJlZHJhbTsKLSBfX2tlcm5lbF91bG9uZ190IGJ1ZmZlcnJhbTsKLSBfX2tlcm5lbF91bG9uZ190IHRvdGFsc3dhcDsKKyAgX19rZXJuZWxfdWxvbmdfdCBmcmVlcmFtOworICBfX2tlcm5lbF91bG9uZ190IHNoYXJlZHJhbTsKKyAgX19rZXJuZWxfdWxvbmdfdCBidWZmZXJyYW07CisgIF9fa2VybmVsX3Vsb25nX3QgdG90YWxzd2FwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF91bG9uZ190IGZyZWVzd2FwOwotIF9fdTE2IHByb2NzOwotIF9fdTE2IHBhZDsKLSBfX2tlcm5lbF91bG9uZ190IHRvdGFsaGlnaDsKKyAgX19rZXJuZWxfdWxvbmdfdCBmcmVlc3dhcDsKKyAgX191MTYgcHJvY3M7CisgIF9fdTE2IHBhZDsKKyAgX19rZXJuZWxfdWxvbmdfdCB0b3RhbGhpZ2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3Vsb25nX3QgZnJlZWhpZ2g7Ci0gX191MzIgbWVtX3VuaXQ7Ci0gY2hhciBfZlsyMC0yKnNpemVvZihfX2tlcm5lbF91bG9uZ190KS1zaXplb2YoX191MzIpXTsKKyAgX19rZXJuZWxfdWxvbmdfdCBmcmVlaGlnaDsKKyAgX191MzIgbWVtX3VuaXQ7CisgIGNoYXIgX2ZbMjAgLSAyICogc2l6ZW9mKF9fa2VybmVsX3Vsb25nX3QpIC0gc2l6ZW9mKF9fdTMyKV07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90YXJnZXRfY29yZV91c2VyLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RhcmdldF9jb3JlX3VzZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTBjZjQzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90YXJnZXRfY29yZV91c2VyLmgKQEAgLTAsMCArMSw5MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqCisgKioqICAgVGhpcyBoZWFkZXIgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gYSBMaW51eCBrZXJuZWwgaGVhZGVyCisgKioqICAgb2YgdGhlIHNhbWUgbmFtZSwgdG8gbWFrZSBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgZm9yIHVzZXJzcGFjZSB0bworICoqKiAgIGNhbGwgaW50byB0aGUga2VybmVsIGF2YWlsYWJsZSB0byBsaWJjLiAgSXQgY29udGFpbnMgb25seSBjb25zdGFudHMsCisgKioqICAgc3RydWN0dXJlcywgYW5kIG1hY3JvcyBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaGVhZGVyLCBhbmQgdGh1cywKKyAqKiogICBjb250YWlucyBubyBjb3B5cmlnaHRhYmxlIGluZm9ybWF0aW9uLgorICoqKgorICoqKiAgIFRvIGVkaXQgdGhlIGNvbnRlbnQgb2YgdGhpcyBoZWFkZXIsIG1vZGlmeSB0aGUgY29ycmVzcG9uZGluZworICoqKiAgIHNvdXJjZSBmaWxlIChlLmcuIHVuZGVyIGV4dGVybmFsL2tlcm5lbC1oZWFkZXJzL29yaWdpbmFsLykgdGhlbgorICoqKiAgIHJ1biBiaW9uaWMvbGliYy9rZXJuZWwvdG9vbHMvdXBkYXRlX2FsbC5weQorICoqKgorICoqKiAgIEFueSBtYW51YWwgY2hhbmdlIGhlcmUgd2lsbCBiZSBsb3N0IHRoZSBuZXh0IHRpbWUgdGhpcyBzY3JpcHQgd2lsbAorICoqKiAgIGJlIHJ1bi4gWW91J3ZlIGJlZW4gd2FybmVkIQorICoqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfX1RBUkdFVF9DT1JFX1VTRVJfSAorI2RlZmluZSBfX1RBUkdFVF9DT1JFX1VTRVJfSAorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvdWlvLmg+CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUQ01VX1ZFUlNJT04gIjEuMCIKKyNkZWZpbmUgVENNVV9NQUlMQk9YX1ZFUlNJT04gMQorI2RlZmluZSBBTElHTl9TSVpFIDY0CitzdHJ1Y3QgdGNtdV9tYWlsYm94IHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHZlcnNpb247CisgIF9fdTE2IGZsYWdzOworICBfX3UzMiBjbWRyX29mZjsKKyAgX191MzIgY21kcl9zaXplOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgY21kX2hlYWQ7CisgIF9fdTMyIGNtZF90YWlsIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKEFMSUdOX1NJWkUpKSk7Cit9IF9fcGFja2VkOworZW51bSB0Y211X29wY29kZSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBUQ01VX09QX1BBRCA9IDAsCisgIFRDTVVfT1BfQ01ELAorfTsKK3N0cnVjdCB0Y211X2NtZF9lbnRyeV9oZHIgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgbGVuX29wOworfSBfX3BhY2tlZDsKKyNkZWZpbmUgVENNVV9PUF9NQVNLIDB4NworI2RlZmluZSBUQ01VX1NFTlNFX0JVRkZFUlNJWkUgOTYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgdGNtdV9jbWRfZW50cnkgeworICBzdHJ1Y3QgdGNtdV9jbWRfZW50cnlfaGRyIGhkcjsKKyAgdWludDE2X3QgY21kX2lkOworICB1aW50MTZfdCBfX3BhZDE7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIHVpbnQ2NF90IGNkYl9vZmY7CisgICAgICB1aW50NjRfdCBpb3ZfY250OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICAgIHN0cnVjdCBpb3ZlYyBpb3ZbMF07CisgICAgfSByZXE7CisgICAgc3RydWN0IHsKKyAgICAgIHVpbnQ4X3Qgc2NzaV9zdGF0dXM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICAgICAgdWludDhfdCBfX3BhZDE7CisgICAgICB1aW50MTZfdCBfX3BhZDI7CisgICAgICB1aW50MzJfdCBfX3BhZDM7CisgICAgICBjaGFyIHNlbnNlX2J1ZmZlcltUQ01VX1NFTlNFX0JVRkZFUlNJWkVdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICB9IHJzcDsKKyAgfTsKK30gX19wYWNrZWQ7CisjZGVmaW5lIFRDTVVfT1BfQUxJR05fU0laRSBzaXplb2YodWludDY0X3QpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworZW51bSB0Y211X2dlbmxfY21kIHsKKyAgVENNVV9DTURfVU5TUEVDLAorICBUQ01VX0NNRF9BRERFRF9ERVZJQ0UsCisgIFRDTVVfQ01EX1JFTU9WRURfREVWSUNFLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19UQ01VX0NNRF9NQVgsCit9OworI2RlZmluZSBUQ01VX0NNRF9NQVggKF9fVENNVV9DTURfTUFYIC0gMSkKK2VudW0gdGNtdV9nZW5sX2F0dHIgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVENNVV9BVFRSX1VOU1BFQywKKyAgVENNVV9BVFRSX0RFVklDRSwKKyAgVENNVV9BVFRSX01JTk9SLAorICBfX1RDTVVfQVRUUl9NQVgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKKyNkZWZpbmUgVENNVV9BVFRSX01BWCAoX19UQ01VX0FUVFJfTUFYIC0gMSkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90YXNrc3RhdHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGFza3N0YXRzLmgKaW5kZXggZmQ3ZTllZC4uMjk4ZWJmMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90YXNrc3RhdHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Rhc2tzdGF0cy5oCkBAIC0yMyw5MyArMjMsOTMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRTX0NPTU1fTEVOIDMyCiBzdHJ1Y3QgdGFza3N0YXRzIHsKLSBfX3UxNiB2ZXJzaW9uOwotIF9fdTMyIGFjX2V4aXRjb2RlOworICBfX3UxNiB2ZXJzaW9uOworICBfX3UzMiBhY19leGl0Y29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBhY19mbGFnOwotIF9fdTggYWNfbmljZTsKLSBfX3U2NCBjcHVfY291bnQgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwotIF9fdTY0IGNwdV9kZWxheV90b3RhbDsKKyAgX191OCBhY19mbGFnOworICBfX3U4IGFjX25pY2U7CisgIF9fdTY0IGNwdV9jb3VudCBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisgIF9fdTY0IGNwdV9kZWxheV90b3RhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgYmxraW9fY291bnQ7Ci0gX191NjQgYmxraW9fZGVsYXlfdG90YWw7Ci0gX191NjQgc3dhcGluX2NvdW50OwotIF9fdTY0IHN3YXBpbl9kZWxheV90b3RhbDsKKyAgX191NjQgYmxraW9fY291bnQ7CisgIF9fdTY0IGJsa2lvX2RlbGF5X3RvdGFsOworICBfX3U2NCBzd2FwaW5fY291bnQ7CisgIF9fdTY0IHN3YXBpbl9kZWxheV90b3RhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgY3B1X3J1bl9yZWFsX3RvdGFsOwotIF9fdTY0IGNwdV9ydW5fdmlydHVhbF90b3RhbDsKLSBjaGFyIGFjX2NvbW1bVFNfQ09NTV9MRU5dOwotIF9fdTggYWNfc2NoZWQgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICBfX3U2NCBjcHVfcnVuX3JlYWxfdG90YWw7CisgIF9fdTY0IGNwdV9ydW5fdmlydHVhbF90b3RhbDsKKyAgY2hhciBhY19jb21tW1RTX0NPTU1fTEVOXTsKKyAgX191OCBhY19zY2hlZCBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWNfcGFkWzNdOwotIF9fdTMyIGFjX3VpZCBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7Ci0gX191MzIgYWNfZ2lkOwotIF9fdTMyIGFjX3BpZDsKKyAgX191OCBhY19wYWRbM107CisgIF9fdTMyIGFjX3VpZCBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisgIF9fdTMyIGFjX2dpZDsKKyAgX191MzIgYWNfcGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhY19wcGlkOwotIF9fdTMyIGFjX2J0aW1lOwotIF9fdTY0IGFjX2V0aW1lIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKLSBfX3U2NCBhY191dGltZTsKKyAgX191MzIgYWNfcHBpZDsKKyAgX191MzIgYWNfYnRpbWU7CisgIF9fdTY0IGFjX2V0aW1lIF9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpKTsKKyAgX191NjQgYWNfdXRpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGFjX3N0aW1lOwotIF9fdTY0IGFjX21pbmZsdDsKLSBfX3U2NCBhY19tYWpmbHQ7Ci0gX191NjQgY29yZW1lbTsKKyAgX191NjQgYWNfc3RpbWU7CisgIF9fdTY0IGFjX21pbmZsdDsKKyAgX191NjQgYWNfbWFqZmx0OworICBfX3U2NCBjb3JlbWVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB2aXJ0bWVtOwotIF9fdTY0IGhpd2F0ZXJfcnNzOwotIF9fdTY0IGhpd2F0ZXJfdm07Ci0gX191NjQgcmVhZF9jaGFyOworICBfX3U2NCB2aXJ0bWVtOworICBfX3U2NCBoaXdhdGVyX3JzczsKKyAgX191NjQgaGl3YXRlcl92bTsKKyAgX191NjQgcmVhZF9jaGFyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB3cml0ZV9jaGFyOwotIF9fdTY0IHJlYWRfc3lzY2FsbHM7Ci0gX191NjQgd3JpdGVfc3lzY2FsbHM7CisgIF9fdTY0IHdyaXRlX2NoYXI7CisgIF9fdTY0IHJlYWRfc3lzY2FsbHM7CisgIF9fdTY0IHdyaXRlX3N5c2NhbGxzOwogI2RlZmluZSBUQVNLU1RBVFNfSEFTX0lPX0FDQ09VTlRJTkcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVhZF9ieXRlczsKLSBfX3U2NCB3cml0ZV9ieXRlczsKLSBfX3U2NCBjYW5jZWxsZWRfd3JpdGVfYnl0ZXM7Ci0gX191NjQgbnZjc3c7CisgIF9fdTY0IHJlYWRfYnl0ZXM7CisgIF9fdTY0IHdyaXRlX2J5dGVzOworICBfX3U2NCBjYW5jZWxsZWRfd3JpdGVfYnl0ZXM7CisgIF9fdTY0IG52Y3N3OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBuaXZjc3c7Ci0gX191NjQgYWNfdXRpbWVzY2FsZWQ7Ci0gX191NjQgYWNfc3RpbWVzY2FsZWQ7Ci0gX191NjQgY3B1X3NjYWxlZF9ydW5fcmVhbF90b3RhbDsKKyAgX191NjQgbml2Y3N3OworICBfX3U2NCBhY191dGltZXNjYWxlZDsKKyAgX191NjQgYWNfc3RpbWVzY2FsZWQ7CisgIF9fdTY0IGNwdV9zY2FsZWRfcnVuX3JlYWxfdG90YWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGZyZWVwYWdlc19jb3VudDsKLSBfX3U2NCBmcmVlcGFnZXNfZGVsYXlfdG90YWw7CisgIF9fdTY0IGZyZWVwYWdlc19jb3VudDsKKyAgX191NjQgZnJlZXBhZ2VzX2RlbGF5X3RvdGFsOwogfTsKIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQVNLU1RBVFNfQ01EX1VOU1BFQyA9IDAsCi0gVEFTS1NUQVRTX0NNRF9HRVQsCi0gVEFTS1NUQVRTX0NNRF9ORVcsCi0gX19UQVNLU1RBVFNfQ01EX01BWCwKKyAgVEFTS1NUQVRTX0NNRF9VTlNQRUMgPSAwLAorICBUQVNLU1RBVFNfQ01EX0dFVCwKKyAgVEFTS1NUQVRTX0NNRF9ORVcsCisgIF9fVEFTS1NUQVRTX0NNRF9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVEFTS1NUQVRTX0NNRF9NQVggKF9fVEFTS1NUQVRTX0NNRF9NQVggLSAxKQogZW51bSB7Ci0gVEFTS1NUQVRTX1RZUEVfVU5TUEVDID0gMCwKKyAgVEFTS1NUQVRTX1RZUEVfVU5TUEVDID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVEFTS1NUQVRTX1RZUEVfUElELAotIFRBU0tTVEFUU19UWVBFX1RHSUQsCi0gVEFTS1NUQVRTX1RZUEVfU1RBVFMsCi0gVEFTS1NUQVRTX1RZUEVfQUdHUl9QSUQsCisgIFRBU0tTVEFUU19UWVBFX1BJRCwKKyAgVEFTS1NUQVRTX1RZUEVfVEdJRCwKKyAgVEFTS1NUQVRTX1RZUEVfU1RBVFMsCisgIFRBU0tTVEFUU19UWVBFX0FHR1JfUElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQVNLU1RBVFNfVFlQRV9BR0dSX1RHSUQsCi0gVEFTS1NUQVRTX1RZUEVfTlVMTCwKLSBfX1RBU0tTVEFUU19UWVBFX01BWCwKKyAgVEFTS1NUQVRTX1RZUEVfQUdHUl9UR0lELAorICBUQVNLU1RBVFNfVFlQRV9OVUxMLAorICBfX1RBU0tTVEFUU19UWVBFX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQVNLU1RBVFNfVFlQRV9NQVggKF9fVEFTS1NUQVRTX1RZUEVfTUFYIC0gMSkKIGVudW0gewotIFRBU0tTVEFUU19DTURfQVRUUl9VTlNQRUMgPSAwLAotIFRBU0tTVEFUU19DTURfQVRUUl9QSUQsCisgIFRBU0tTVEFUU19DTURfQVRUUl9VTlNQRUMgPSAwLAorICBUQVNLU1RBVFNfQ01EX0FUVFJfUElELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQVNLU1RBVFNfQ01EX0FUVFJfVEdJRCwKLSBUQVNLU1RBVFNfQ01EX0FUVFJfUkVHSVNURVJfQ1BVTUFTSywKLSBUQVNLU1RBVFNfQ01EX0FUVFJfREVSRUdJU1RFUl9DUFVNQVNLLAotIF9fVEFTS1NUQVRTX0NNRF9BVFRSX01BWCwKKyAgVEFTS1NUQVRTX0NNRF9BVFRSX1RHSUQsCisgIFRBU0tTVEFUU19DTURfQVRUUl9SRUdJU1RFUl9DUFVNQVNLLAorICBUQVNLU1RBVFNfQ01EX0FUVFJfREVSRUdJU1RFUl9DUFVNQVNLLAorICBfX1RBU0tTVEFUU19DTURfQVRUUl9NQVgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVEFTS1NUQVRTX0NNRF9BVFRSX01BWCAoX19UQVNLU1RBVFNfQ01EX0FUVFJfTUFYIC0gMSkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2NzdW0uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2NzdW0uaAppbmRleCA4ODllZGE4Li44M2MwMGI2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19jc3VtLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfY3N1bS5oCkBAIC0yMywyNyArMjMsMjcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDQV9BQ1RfQ1NVTSAxNgogZW51bSB7Ci0gVENBX0NTVU1fVU5TUEVDLAotIFRDQV9DU1VNX1BBUk1TLAorICBUQ0FfQ1NVTV9VTlNQRUMsCisgIFRDQV9DU1VNX1BBUk1TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQ1NVTV9UTSwKLSBfX1RDQV9DU1VNX01BWAorICBUQ0FfQ1NVTV9UTSwKKyAgX19UQ0FfQ1NVTV9NQVgKIH07CiAjZGVmaW5lIFRDQV9DU1VNX01BWCAoX19UQ0FfQ1NVTV9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFRDQV9DU1VNX1VQREFURV9GTEFHX0lQVjRIRFIgPSAxLAotIFRDQV9DU1VNX1VQREFURV9GTEFHX0lDTVAgPSAyLAotIFRDQV9DU1VNX1VQREFURV9GTEFHX0lHTVAgPSA0LAorICBUQ0FfQ1NVTV9VUERBVEVfRkxBR19JUFY0SERSID0gMSwKKyAgVENBX0NTVU1fVVBEQVRFX0ZMQUdfSUNNUCA9IDIsCisgIFRDQV9DU1VNX1VQREFURV9GTEFHX0lHTVAgPSA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfQ1NVTV9VUERBVEVfRkxBR19UQ1AgPSA4LAotIFRDQV9DU1VNX1VQREFURV9GTEFHX1VEUCA9IDE2LAotIFRDQV9DU1VNX1VQREFURV9GTEFHX1VEUExJVEUgPSAzMgorICBUQ0FfQ1NVTV9VUERBVEVfRkxBR19UQ1AgPSA4LAorICBUQ0FfQ1NVTV9VUERBVEVfRkxBR19VRFAgPSAxNiwKKyAgVENBX0NTVU1fVVBEQVRFX0ZMQUdfVURQTElURSA9IDMyCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19jc3VtIHsKLSB0Y19nZW47Ci0gX191MzIgdXBkYXRlX2ZsYWdzOworICB0Y19nZW47CisgIF9fdTMyIHVwZGF0ZV9mbGFnczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19kZWZhY3QuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2RlZmFjdC5oCmluZGV4IDQ0NTRkZmMuLmI5NmJjZDUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2RlZmFjdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2RlZmFjdC5oCkBAIC0yMSwxNSArMjEsMTUgQEAKICNpbmNsdWRlIDxsaW51eC9wa3RfY2xzLmg+CiBzdHJ1Y3QgdGNfZGVmYWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdGNfZ2VuOworICB0Y19nZW47CiB9OwogZW51bSB7Ci0gVENBX0RFRl9VTlNQRUMsCisgIFRDQV9ERUZfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfREVGX1RNLAotIFRDQV9ERUZfUEFSTVMsCi0gVENBX0RFRl9EQVRBLAotIF9fVENBX0RFRl9NQVgKKyAgVENBX0RFRl9UTSwKKyAgVENBX0RFRl9QQVJNUywKKyAgVENBX0RFRl9EQVRBLAorICBfX1RDQV9ERUZfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVENBX0RFRl9NQVggKF9fVENBX0RFRl9NQVggLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfZ2FjdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfZ2FjdC5oCmluZGV4IDkwNTM4ZTEuLjE4MTUyZTIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2dhY3QuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19nYWN0LmgKQEAgLTIzLDcgKzIzLDcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDQV9BQ1RfR0FDVCA1CiBzdHJ1Y3QgdGNfZ2FjdCB7Ci0gdGNfZ2VuOworICB0Y19nZW47CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19nYWN0X3AgewpAQCAtMzEsMTkgKzMxLDE5IEBACiAjZGVmaW5lIFBHQUNUX05FVFJBTkQgMQogI2RlZmluZSBQR0FDVF9ERVRFUk0gMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgTUFYX1JBTkQgKFBHQUNUX0RFVEVSTSArIDEgKQotIF9fdTE2IHB0eXBlOwotIF9fdTE2IHB2YWw7Ci0gaW50IHBhY3Rpb247CisjZGVmaW5lIE1BWF9SQU5EIChQR0FDVF9ERVRFUk0gKyAxKQorICBfX3UxNiBwdHlwZTsKKyAgX191MTYgcHZhbDsKKyAgaW50IHBhY3Rpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFRDQV9HQUNUX1VOU1BFQywKLSBUQ0FfR0FDVF9UTSwKKyAgVENBX0dBQ1RfVU5TUEVDLAorICBUQ0FfR0FDVF9UTSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0dBQ1RfUEFSTVMsCi0gVENBX0dBQ1RfUFJPQiwKLSBfX1RDQV9HQUNUX01BWAorICBUQ0FfR0FDVF9QQVJNUywKKyAgVENBX0dBQ1RfUFJPQiwKKyAgX19UQ0FfR0FDVF9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfR0FDVF9NQVggKF9fVENBX0dBQ1RfTUFYIC0gMSkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX2lwdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfaXB0LmgKaW5kZXggMDBiODhiOC4uMTBiODgwNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfaXB0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfaXB0LmgKQEAgLTIzLDE2ICsyMywxNiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX0FDVF9YVCAxMAogZW51bSB7Ci0gVENBX0lQVF9VTlNQRUMsCi0gVENBX0lQVF9UQUJMRSwKKyAgVENBX0lQVF9VTlNQRUMsCisgIFRDQV9JUFRfVEFCTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9JUFRfSE9PSywKLSBUQ0FfSVBUX0lOREVYLAotIFRDQV9JUFRfQ05ULAotIFRDQV9JUFRfVE0sCisgIFRDQV9JUFRfSE9PSywKKyAgVENBX0lQVF9JTkRFWCwKKyAgVENBX0lQVF9DTlQsCisgIFRDQV9JUFRfVE0sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9JUFRfVEFSRywKLSBfX1RDQV9JUFRfTUFYCisgIFRDQV9JUFRfVEFSRywKKyAgX19UQ0FfSVBUX01BWAogfTsKICNkZWZpbmUgVENBX0lQVF9NQVggKF9fVENBX0lQVF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX21pcnJlZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfbWlycmVkLmgKaW5kZXggZDk4MmIzMi4uOTgzY2U5MiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfbWlycmVkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfbWlycmVkLmgKQEAgLTI4LDE3ICsyOCwxNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX0lOR1JFU1NfTUlSUk9SIDQKIHN0cnVjdCB0Y19taXJyZWQgewotIHRjX2dlbjsKLSBpbnQgZWFjdGlvbjsKKyAgdGNfZ2VuOworICBpbnQgZWFjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWZpbmRleDsKKyAgX191MzIgaWZpbmRleDsKIH07CiBlbnVtIHsKLSBUQ0FfTUlSUkVEX1VOU1BFQywKKyAgVENBX01JUlJFRF9VTlNQRUMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDQV9NSVJSRURfVE0sCi0gVENBX01JUlJFRF9QQVJNUywKLSBfX1RDQV9NSVJSRURfTUFYCisgIFRDQV9NSVJSRURfVE0sCisgIFRDQV9NSVJSRURfUEFSTVMsCisgIF9fVENBX01JUlJFRF9NQVgKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0FfTUlSUkVEX01BWCAoX19UQ0FfTUlSUkVEX01BWCAtIDEpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19uYXQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX25hdC5oCmluZGV4IGY4ZGFkZjMuLmU4MTJkNTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX25hdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX25hdC5oCkBAIC0yMywyMiArMjMsMjIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDQV9BQ1RfTkFUIDkKIGVudW0gewotIFRDQV9OQVRfVU5TUEVDLAotIFRDQV9OQVRfUEFSTVMsCisgIFRDQV9OQVRfVU5TUEVDLAorICBUQ0FfTkFUX1BBUk1TLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfTkFUX1RNLAotIF9fVENBX05BVF9NQVgKKyAgVENBX05BVF9UTSwKKyAgX19UQ0FfTkFUX01BWAogfTsKICNkZWZpbmUgVENBX05BVF9NQVggKF9fVENBX05BVF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX05BVF9GTEFHX0VHUkVTUyAxCiBzdHJ1Y3QgdGNfbmF0IHsKLSB0Y19nZW47Ci0gX19iZTMyIG9sZF9hZGRyOworICB0Y19nZW47CisgIF9fYmUzMiBvbGRfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIG5ld19hZGRyOwotIF9fYmUzMiBtYXNrOwotIF9fdTMyIGZsYWdzOworICBfX2JlMzIgbmV3X2FkZHI7CisgIF9fYmUzMiBtYXNrOworICBfX3UzMiBmbGFnczsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19wZWRpdC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfcGVkaXQuaAppbmRleCBiYWU1ZmUwLi40YTE3MjFhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19wZWRpdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX3BlZGl0LmgKQEAgLTIzLDMwICsyMywzMCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENBX0FDVF9QRURJVCA3CiBlbnVtIHsKLSBUQ0FfUEVESVRfVU5TUEVDLAotIFRDQV9QRURJVF9UTSwKKyAgVENBX1BFRElUX1VOU1BFQywKKyAgVENBX1BFRElUX1RNLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0FfUEVESVRfUEFSTVMsCi0gX19UQ0FfUEVESVRfTUFYCisgIFRDQV9QRURJVF9QQVJNUywKKyAgX19UQ0FfUEVESVRfTUFYCiB9OwogI2RlZmluZSBUQ0FfUEVESVRfTUFYIChfX1RDQV9QRURJVF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y19wZWRpdF9rZXkgewotIF9fdTMyIG1hc2s7Ci0gX191MzIgdmFsOwotIF9fdTMyIG9mZjsKKyAgX191MzIgbWFzazsKKyAgX191MzIgdmFsOworICBfX3UzMiBvZmY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGF0OwotIF9fdTMyIG9mZm1hc2s7Ci0gX191MzIgc2hpZnQ7CisgIF9fdTMyIGF0OworICBfX3UzMiBvZmZtYXNrOworICBfX3UzMiBzaGlmdDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRjX3BlZGl0X3NlbCB7Ci0gdGNfZ2VuOwotIHVuc2lnbmVkIGNoYXIgbmtleXM7Ci0gdW5zaWduZWQgY2hhciBmbGFnczsKKyAgdGNfZ2VuOworICB1bnNpZ25lZCBjaGFyIG5rZXlzOworICB1bnNpZ25lZCBjaGFyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGNfcGVkaXRfa2V5IGtleXNbMF07CisgIHN0cnVjdCB0Y19wZWRpdF9rZXkga2V5c1swXTsKIH07CiAjZGVmaW5lIHRjX3BlZGl0IHRjX3BlZGl0X3NlbAogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19za2JlZGl0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2FjdC90Y19za2JlZGl0LmgKaW5kZXggM2ZmYWMwNS4uNzNmZDNhOSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19hY3QvdGNfc2tiZWRpdC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfYWN0L3RjX3NrYmVkaXQuaApAQCAtMjYsMTggKzI2LDE4IEBACiAjZGVmaW5lIFNLQkVESVRfRl9NQVJLIDB4NAogc3RydWN0IHRjX3NrYmVkaXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB0Y19nZW47CisgIHRjX2dlbjsKIH07CiBlbnVtIHsKLSBUQ0FfU0tCRURJVF9VTlNQRUMsCisgIFRDQV9TS0JFRElUX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1NLQkVESVRfVE0sCi0gVENBX1NLQkVESVRfUEFSTVMsCi0gVENBX1NLQkVESVRfUFJJT1JJVFksCi0gVENBX1NLQkVESVRfUVVFVUVfTUFQUElORywKKyAgVENBX1NLQkVESVRfVE0sCisgIFRDQV9TS0JFRElUX1BBUk1TLAorICBUQ0FfU0tCRURJVF9QUklPUklUWSwKKyAgVENBX1NLQkVESVRfUVVFVUVfTUFQUElORywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX1NLQkVESVRfTUFSSywKLSBfX1RDQV9TS0JFRElUX01BWAorICBUQ0FfU0tCRURJVF9NQVJLLAorICBfX1RDQV9TS0JFRElUX01BWAogfTsKICNkZWZpbmUgVENBX1NLQkVESVRfTUFYIChfX1RDQV9TS0JFRElUX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19lbWF0Y2gvdGNfZW1fY21wLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2VtYXRjaC90Y19lbV9jbXAuaAppbmRleCA4MDMyZTBmLi5kNTQ1ZGFlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2VtYXRjaC90Y19lbV9jbXAuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2VtYXRjaC90Y19lbV9jbXAuaApAQCAtMjIsMjEgKzIyLDIxIEBACiAjaW5jbHVkZSA8bGludXgvcGt0X2Nscy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y2ZfZW1fY21wIHsKLSBfX3UzMiB2YWw7Ci0gX191MzIgbWFzazsKLSBfX3UxNiBvZmY7CisgIF9fdTMyIHZhbDsKKyAgX191MzIgbWFzazsKKyAgX191MTYgb2ZmOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGFsaWduOjQ7Ci0gX191OCBmbGFnczo0OwotIF9fdTggbGF5ZXI6NDsKLSBfX3U4IG9wbmQ6NDsKKyAgX191OCBhbGlnbiA6IDQ7CisgIF9fdTggZmxhZ3MgOiA0OworICBfX3U4IGxheWVyIDogNDsKKyAgX191OCBvcG5kIDogNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gVENGX0VNX0FMSUdOX1U4ID0gMSwKLSBUQ0ZfRU1fQUxJR05fVTE2ID0gMiwKKyAgVENGX0VNX0FMSUdOX1U4ID0gMSwKKyAgVENGX0VNX0FMSUdOX1UxNiA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDRl9FTV9BTElHTl9VMzIgPSA0CisgIFRDRl9FTV9BTElHTl9VMzIgPSA0CiB9OwogI2RlZmluZSBUQ0ZfRU1fQ01QX1RSQU5TIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19lbWF0Y2gvdGNfZW1fbWV0YS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19lbWF0Y2gvdGNfZW1fbWV0YS5oCmluZGV4IGUwN2UzYjMuLjExYTFkNzIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfZW1hdGNoL3RjX2VtX21ldGEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2VtYXRjaC90Y19lbV9tZXRhLmgKQEAgLTIyLDE5ICsyMiwxOSBAQAogI2luY2x1ZGUgPGxpbnV4L3BrdF9jbHMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBUQ0FfRU1fTUVUQV9VTlNQRUMsCi0gVENBX0VNX01FVEFfSERSLAotIFRDQV9FTV9NRVRBX0xWQUxVRSwKKyAgVENBX0VNX01FVEFfVU5TUEVDLAorICBUQ0FfRU1fTUVUQV9IRFIsCisgIFRDQV9FTV9NRVRBX0xWQUxVRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENBX0VNX01FVEFfUlZBTFVFLAotIF9fVENBX0VNX01FVEFfTUFYCisgIFRDQV9FTV9NRVRBX1JWQUxVRSwKKyAgX19UQ0FfRU1fTUVUQV9NQVgKIH07CiAjZGVmaW5lIFRDQV9FTV9NRVRBX01BWCAoX19UQ0FfRU1fTUVUQV9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y2ZfbWV0YV92YWwgewotIF9fdTE2IGtpbmQ7Ci0gX191OCBzaGlmdDsKLSBfX3U4IG9wOworICBfX3UxNiBraW5kOworICBfX3U4IHNoaWZ0OworICBfX3U4IG9wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFRDRl9NRVRBX1RZUEVfTUFTSyAoMHhmIDw8IDEyKQpAQCAtNDMsODEgKzQzLDgxIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ0ZfTUVUQV9JRChraW5kKSAoKGtpbmQpICYgVENGX01FVEFfSURfTUFTSykKIGVudW0gewotIFRDRl9NRVRBX1RZUEVfVkFSLAotIFRDRl9NRVRBX1RZUEVfSU5ULAorICBUQ0ZfTUVUQV9UWVBFX1ZBUiwKKyAgVENGX01FVEFfVFlQRV9JTlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENGX01FVEFfVFlQRV9NQVgKKyAgX19UQ0ZfTUVUQV9UWVBFX01BWAogfTsKICNkZWZpbmUgVENGX01FVEFfVFlQRV9NQVggKF9fVENGX01FVEFfVFlQRV9NQVggLSAxKQogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDRl9NRVRBX0lEX1ZBTFVFLAotIFRDRl9NRVRBX0lEX1JBTkRPTSwKLSBUQ0ZfTUVUQV9JRF9MT0FEQVZHXzAsCi0gVENGX01FVEFfSURfTE9BREFWR18xLAorICBUQ0ZfTUVUQV9JRF9WQUxVRSwKKyAgVENGX01FVEFfSURfUkFORE9NLAorICBUQ0ZfTUVUQV9JRF9MT0FEQVZHXzAsCisgIFRDRl9NRVRBX0lEX0xPQURBVkdfMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENGX01FVEFfSURfTE9BREFWR18yLAotIFRDRl9NRVRBX0lEX0RFViwKLSBUQ0ZfTUVUQV9JRF9QUklPUklUWSwKLSBUQ0ZfTUVUQV9JRF9QUk9UT0NPTCwKKyAgVENGX01FVEFfSURfTE9BREFWR18yLAorICBUQ0ZfTUVUQV9JRF9ERVYsCisgIFRDRl9NRVRBX0lEX1BSSU9SSVRZLAorICBUQ0ZfTUVUQV9JRF9QUk9UT0NPTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENGX01FVEFfSURfUEtUVFlQRSwKLSBUQ0ZfTUVUQV9JRF9QS1RMRU4sCi0gVENGX01FVEFfSURfREFUQUxFTiwKLSBUQ0ZfTUVUQV9JRF9NQUNMRU4sCisgIFRDRl9NRVRBX0lEX1BLVFRZUEUsCisgIFRDRl9NRVRBX0lEX1BLVExFTiwKKyAgVENGX01FVEFfSURfREFUQUxFTiwKKyAgVENGX01FVEFfSURfTUFDTEVOLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0ZfTUVUQV9JRF9ORk1BUkssCi0gVENGX01FVEFfSURfVENJTkRFWCwKLSBUQ0ZfTUVUQV9JRF9SVENMQVNTSUQsCi0gVENGX01FVEFfSURfUlRJSUYsCisgIFRDRl9NRVRBX0lEX05GTUFSSywKKyAgVENGX01FVEFfSURfVENJTkRFWCwKKyAgVENGX01FVEFfSURfUlRDTEFTU0lELAorICBUQ0ZfTUVUQV9JRF9SVElJRiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENGX01FVEFfSURfU0tfRkFNSUxZLAotIFRDRl9NRVRBX0lEX1NLX1NUQVRFLAotIFRDRl9NRVRBX0lEX1NLX1JFVVNFLAotIFRDRl9NRVRBX0lEX1NLX0JPVU5EX0lGLAorICBUQ0ZfTUVUQV9JRF9TS19GQU1JTFksCisgIFRDRl9NRVRBX0lEX1NLX1NUQVRFLAorICBUQ0ZfTUVUQV9JRF9TS19SRVVTRSwKKyAgVENGX01FVEFfSURfU0tfQk9VTkRfSUYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDRl9NRVRBX0lEX1NLX1JFRkNOVCwKLSBUQ0ZfTUVUQV9JRF9TS19TSFVURE9XTiwKLSBUQ0ZfTUVUQV9JRF9TS19QUk9UTywKLSBUQ0ZfTUVUQV9JRF9TS19UWVBFLAorICBUQ0ZfTUVUQV9JRF9TS19SRUZDTlQsCisgIFRDRl9NRVRBX0lEX1NLX1NIVVRET1dOLAorICBUQ0ZfTUVUQV9JRF9TS19QUk9UTywKKyAgVENGX01FVEFfSURfU0tfVFlQRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENGX01FVEFfSURfU0tfUkNWQlVGLAotIFRDRl9NRVRBX0lEX1NLX1JNRU1fQUxMT0MsCi0gVENGX01FVEFfSURfU0tfV01FTV9BTExPQywKLSBUQ0ZfTUVUQV9JRF9TS19PTUVNX0FMTE9DLAorICBUQ0ZfTUVUQV9JRF9TS19SQ1ZCVUYsCisgIFRDRl9NRVRBX0lEX1NLX1JNRU1fQUxMT0MsCisgIFRDRl9NRVRBX0lEX1NLX1dNRU1fQUxMT0MsCisgIFRDRl9NRVRBX0lEX1NLX09NRU1fQUxMT0MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDRl9NRVRBX0lEX1NLX1dNRU1fUVVFVUVELAotIFRDRl9NRVRBX0lEX1NLX1JDVl9RTEVOLAotIFRDRl9NRVRBX0lEX1NLX1NORF9RTEVOLAotIFRDRl9NRVRBX0lEX1NLX0VSUl9RTEVOLAorICBUQ0ZfTUVUQV9JRF9TS19XTUVNX1FVRVVFRCwKKyAgVENGX01FVEFfSURfU0tfUkNWX1FMRU4sCisgIFRDRl9NRVRBX0lEX1NLX1NORF9RTEVOLAorICBUQ0ZfTUVUQV9JRF9TS19FUlJfUUxFTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENGX01FVEFfSURfU0tfRk9SV0FSRF9BTExPQ1MsCi0gVENGX01FVEFfSURfU0tfU05EQlVGLAotIFRDRl9NRVRBX0lEX1NLX0FMTE9DUywKLSBfX1RDRl9NRVRBX0lEX1NLX1JPVVRFX0NBUFMsCisgIFRDRl9NRVRBX0lEX1NLX0ZPUldBUkRfQUxMT0NTLAorICBUQ0ZfTUVUQV9JRF9TS19TTkRCVUYsCisgIFRDRl9NRVRBX0lEX1NLX0FMTE9DUywKKyAgX19UQ0ZfTUVUQV9JRF9TS19ST1VURV9DQVBTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0ZfTUVUQV9JRF9TS19IQVNILAotIFRDRl9NRVRBX0lEX1NLX0xJTkdFUlRJTUUsCi0gVENGX01FVEFfSURfU0tfQUNLX0JBQ0tMT0csCi0gVENGX01FVEFfSURfU0tfTUFYX0FDS19CQUNLTE9HLAorICBUQ0ZfTUVUQV9JRF9TS19IQVNILAorICBUQ0ZfTUVUQV9JRF9TS19MSU5HRVJUSU1FLAorICBUQ0ZfTUVUQV9JRF9TS19BQ0tfQkFDS0xPRywKKyAgVENGX01FVEFfSURfU0tfTUFYX0FDS19CQUNLTE9HLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0ZfTUVUQV9JRF9TS19QUklPLAotIFRDRl9NRVRBX0lEX1NLX1JDVkxPV0FULAotIFRDRl9NRVRBX0lEX1NLX1JDVlRJTUVPLAotIFRDRl9NRVRBX0lEX1NLX1NORFRJTUVPLAorICBUQ0ZfTUVUQV9JRF9TS19QUklPLAorICBUQ0ZfTUVUQV9JRF9TS19SQ1ZMT1dBVCwKKyAgVENGX01FVEFfSURfU0tfUkNWVElNRU8sCisgIFRDRl9NRVRBX0lEX1NLX1NORFRJTUVPLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ0ZfTUVUQV9JRF9TS19TRU5ETVNHX09GRiwKLSBUQ0ZfTUVUQV9JRF9TS19XUklURV9QRU5ESU5HLAotIFRDRl9NRVRBX0lEX1ZMQU5fVEFHLAotIFRDRl9NRVRBX0lEX1JYSEFTSCwKKyAgVENGX01FVEFfSURfU0tfU0VORE1TR19PRkYsCisgIFRDRl9NRVRBX0lEX1NLX1dSSVRFX1BFTkRJTkcsCisgIFRDRl9NRVRBX0lEX1ZMQU5fVEFHLAorICBUQ0ZfTUVUQV9JRF9SWEhBU0gsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENGX01FVEFfSURfTUFYCisgIF9fVENGX01FVEFfSURfTUFYCiB9OwogI2RlZmluZSBUQ0ZfTUVUQV9JRF9NQVggKF9fVENGX01FVEFfSURfTUFYIC0gMSkKIHN0cnVjdCB0Y2ZfbWV0YV9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGNmX21ldGFfdmFsIGxlZnQ7Ci0gc3RydWN0IHRjZl9tZXRhX3ZhbCByaWdodDsKKyAgc3RydWN0IHRjZl9tZXRhX3ZhbCBsZWZ0OworICBzdHJ1Y3QgdGNmX21ldGFfdmFsIHJpZ2h0OwogfTsKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfZW1hdGNoL3RjX2VtX25ieXRlLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2VtYXRjaC90Y19lbV9uYnl0ZS5oCmluZGV4IGVhMzdlNjcuLmNjMjZjMWQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfZW1hdGNoL3RjX2VtX25ieXRlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19lbWF0Y2gvdGNfZW1fbmJ5dGUuaApAQCAtMjIsOSArMjIsOSBAQAogI2luY2x1ZGUgPGxpbnV4L3BrdF9jbHMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNmX2VtX25ieXRlIHsKLSBfX3UxNiBvZmY7Ci0gX191MTYgbGVuOjEyOwotIF9fdTggbGF5ZXI6NDsKKyAgX191MTYgb2ZmOworICBfX3UxNiBsZW4gOiAxMjsKKyAgX191OCBsYXllciA6IDQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19lbWF0Y2gvdGNfZW1fdGV4dC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y19lbWF0Y2gvdGNfZW1fdGV4dC5oCmluZGV4IDIwMDU3NDYuLjdmNWE0MGUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNfZW1hdGNoL3RjX2VtX3RleHQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjX2VtYXRjaC90Y19lbV90ZXh0LmgKQEAgLTIzLDE0ICsyMywxNCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENfRU1fVEVYVF9BTEdPU0laIDE2CiBzdHJ1Y3QgdGNmX2VtX3RleHQgewotIGNoYXIgYWxnb1tUQ19FTV9URVhUX0FMR09TSVpdOwotIF9fdTE2IGZyb21fb2Zmc2V0OworICBjaGFyIGFsZ29bVENfRU1fVEVYVF9BTEdPU0laXTsKKyAgX191MTYgZnJvbV9vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHRvX29mZnNldDsKLSBfX3UxNiBwYXR0ZXJuX2xlbjsKLSBfX3U4IGZyb21fbGF5ZXI6NDsKLSBfX3U4IHRvX2xheWVyOjQ7CisgIF9fdTE2IHRvX29mZnNldDsKKyAgX191MTYgcGF0dGVybl9sZW47CisgIF9fdTggZnJvbV9sYXllciA6IDQ7CisgIF9fdTggdG9fbGF5ZXIgOiA0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBhZDsKKyAgX191OCBwYWQ7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y3AuaAppbmRleCBhN2I1YzVlLi4zMzQ3YmMxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjcC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNwLmgKQEAgLTIzLDE4NiArMjMsMTY2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L3NvY2tldC5oPgogc3RydWN0IHRjcGhkciB7Ci0gX19iZTE2IHNvdXJjZTsKLSBfX2JlMTYgZGVzdDsKKyAgX19iZTE2IHNvdXJjZTsKKyAgX19iZTE2IGRlc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBzZXE7Ci0gX19iZTMyIGFja19zZXE7CisgIF9fYmUzMiBzZXE7CisgIF9fYmUzMiBhY2tfc2VxOwogI2lmZGVmIF9fTElUVExFX0VORElBTl9CSVRGSUVMRAotIF9fdTE2IHJlczE6NCwKKyAgX191MTYgcmVzMSA6IDQsIGRvZmYgOiA0LCBmaW4gOiAxLCBzeW4gOiAxLCByc3QgOiAxLCBwc2ggOiAxLCBhY2sgOiAxLCB1cmcgOiAxLCBlY2UgOiAxLCBjd3IgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBkb2ZmOjQsCi0gZmluOjEsCi0gc3luOjEsCi0gcnN0OjEsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHBzaDoxLAotIGFjazoxLAotIHVyZzoxLAotIGVjZToxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjd3I6MTsKICNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQotIF9fdTE2IGRvZmY6NCwKLSByZXMxOjQsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGN3cjoxLAotIGVjZToxLAotIHVyZzoxLAotIGFjazoxLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBwc2g6MSwKLSByc3Q6MSwKLSBzeW46MSwKLSBmaW46MTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IGRvZmYgOiA0LCByZXMxIDogNCwgY3dyIDogMSwgZWNlIDogMSwgdXJnIDogMSwgYWNrIDogMSwgcHNoIDogMSwgcnN0IDogMSwgc3luIDogMSwgZmluIDogMTsKICNlbHNlCiAjZXJyb3IgIkFkanVzdCB5b3VyIDxhc20vYnl0ZW9yZGVyLmg+IGRlZmluZXMiCi0jZW5kaWYKLSBfX2JlMTYgd2luZG93OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3N1bTE2IGNoZWNrOwotIF9fYmUxNiB1cmdfcHRyOworI2VuZGlmCisgIF9fYmUxNiB3aW5kb3c7CisgIF9fc3VtMTYgY2hlY2s7CisgIF9fYmUxNiB1cmdfcHRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiB1bmlvbiB0Y3Bfd29yZF9oZHIgeworICBzdHJ1Y3QgdGNwaGRyIGhkcjsKKyAgX19iZTMyIHdvcmRzWzVdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGNwaGRyIGhkcjsKLSBfX2JlMzIgd29yZHNbNV07CiB9OwotI2RlZmluZSB0Y3BfZmxhZ193b3JkKHRwKSAoICgodW5pb24gdGNwX3dvcmRfaGRyICopKHRwKSktPndvcmRzIFszXSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIHRjcF9mbGFnX3dvcmQodHApICgoKHVuaW9uIHRjcF93b3JkX2hkciAqKSAodHApKS0+d29yZHNbM10pCiBlbnVtIHsKLSBUQ1BfRkxBR19DV1IgPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA4MDAwMDApLAotIFRDUF9GTEFHX0VDRSA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDQwMDAwMCksCi0gVENQX0ZMQUdfVVJHID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMjAwMDAwKSwKKyAgVENQX0ZMQUdfQ1dSID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwODAwMDAwKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENQX0ZMQUdfQUNLID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMTAwMDAwKSwKLSBUQ1BfRkxBR19QU0ggPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwODAwMDApLAotIFRDUF9GTEFHX1JTVCA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDA0MDAwMCksCi0gVENQX0ZMQUdfU1lOID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDIwMDAwKSwKKyAgVENQX0ZMQUdfRUNFID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwNDAwMDAwKSwKKyAgVENQX0ZMQUdfVVJHID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMjAwMDAwKSwKKyAgVENQX0ZMQUdfQUNLID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMTAwMDAwKSwKKyAgVENQX0ZMQUdfUFNIID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDgwMDAwKSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVENQX0ZMQUdfRklOID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDEwMDAwKSwKLSBUQ1BfUkVTRVJWRURfQklUUyA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwRjAwMDAwMCksCi0gVENQX0RBVEFfT0ZGU0VUID0gX19jb25zdGFudF9jcHVfdG9fYmUzMigweEYwMDAwMDAwKQorICBUQ1BfRkxBR19SU1QgPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwNDAwMDApLAorICBUQ1BfRkxBR19TWU4gPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMjAwMDApLAorICBUQ1BfRkxBR19GSU4gPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMTAwMDApLAorICBUQ1BfUkVTRVJWRURfQklUUyA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwRjAwMDAwMCksCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBUQ1BfREFUQV9PRkZTRVQgPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4RjAwMDAwMDApCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX01TU19ERUZBVUxUIDUzNlUKICNkZWZpbmUgVENQX01TU19ERVNJUkVEIDEyMjBVCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ1BfTk9ERUxBWSAxCiAjZGVmaW5lIFRDUF9NQVhTRUcgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX0NPUksgMwogI2RlZmluZSBUQ1BfS0VFUElETEUgNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX0tFRVBJTlRWTCA1CiAjZGVmaW5lIFRDUF9LRUVQQ05UIDYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDUF9TWU5DTlQgNwogI2RlZmluZSBUQ1BfTElOR0VSMiA4CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ1BfREVGRVJfQUNDRVBUIDkKICNkZWZpbmUgVENQX1dJTkRPV19DTEFNUCAxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX0lORk8gMTEKICNkZWZpbmUgVENQX1FVSUNLQUNLIDEyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ1BfQ09OR0VTVElPTiAxMwogI2RlZmluZSBUQ1BfTUQ1U0lHIDE0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ1BfVEhJTl9MSU5FQVJfVElNRU9VVFMgMTYKICNkZWZpbmUgVENQX1RISU5fRFVQQUNLIDE3CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ1BfVVNFUl9USU1FT1VUIDE4CiAjZGVmaW5lIFRDUF9SRVBBSVIgMTkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDUF9SRVBBSVJfUVVFVUUgMjAKICNkZWZpbmUgVENQX1FVRVVFX1NFUSAyMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX1JFUEFJUl9PUFRJT05TIDIyCiAjZGVmaW5lIFRDUF9GQVNUT1BFTiAyMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX1RJTUVTVEFNUCAyNAogI2RlZmluZSBUQ1BfTk9UU0VOVF9MT1dBVCAyNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0Y3BfcmVwYWlyX29wdCB7Ci0gX191MzIgb3B0X2NvZGU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9wdF92YWw7CisgIF9fdTMyIG9wdF9jb2RlOworICBfX3UzMiBvcHRfdmFsOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBUQ1BfTk9fUVVFVUUsCisgIFRDUF9OT19RVUVVRSwKKyAgVENQX1JFQ1ZfUVVFVUUsCisgIFRDUF9TRU5EX1FVRVVFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfUkVDVl9RVUVVRSwKLSBUQ1BfU0VORF9RVUVVRSwKLSBUQ1BfUVVFVUVTX05SLAorICBUQ1BfUVVFVUVTX05SLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDUElfT1BUX1RJTUVTVEFNUFMgMQogI2RlZmluZSBUQ1BJX09QVF9TQUNLIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDUElfT1BUX1dTQ0FMRSA0CiAjZGVmaW5lIFRDUElfT1BUX0VDTiA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUQ1BJX09QVF9FQ05fU0VFTiAxNgogI2RlZmluZSBUQ1BJX09QVF9TWU5fREFUQSAzMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdGNwX2NhX3N0YXRlIHsKLSBUQ1BfQ0FfT3BlbiA9IDAsCisgIFRDUF9DQV9PcGVuID0gMCwKKyNkZWZpbmUgVENQRl9DQV9PcGVuICgxIDw8IFRDUF9DQV9PcGVuKQorICBUQ1BfQ0FfRGlzb3JkZXIgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVENQRl9DQV9PcGVuICgxPDxUQ1BfQ0FfT3BlbikKLSBUQ1BfQ0FfRGlzb3JkZXIgPSAxLAotI2RlZmluZSBUQ1BGX0NBX0Rpc29yZGVyICgxPDxUQ1BfQ0FfRGlzb3JkZXIpCi0gVENQX0NBX0NXUiA9IDIsCisjZGVmaW5lIFRDUEZfQ0FfRGlzb3JkZXIgKDEgPDwgVENQX0NBX0Rpc29yZGVyKQorICBUQ1BfQ0FfQ1dSID0gMiwKKyNkZWZpbmUgVENQRl9DQV9DV1IgKDEgPDwgVENQX0NBX0NXUikKKyAgVENQX0NBX1JlY292ZXJ5ID0gMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFRDUEZfQ0FfQ1dSICgxPDxUQ1BfQ0FfQ1dSKQotIFRDUF9DQV9SZWNvdmVyeSA9IDMsCi0jZGVmaW5lIFRDUEZfQ0FfUmVjb3ZlcnkgKDE8PFRDUF9DQV9SZWNvdmVyeSkKLSBUQ1BfQ0FfTG9zcyA9IDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFRDUEZfQ0FfTG9zcyAoMTw8VENQX0NBX0xvc3MpCisjZGVmaW5lIFRDUEZfQ0FfUmVjb3ZlcnkgKDEgPDwgVENQX0NBX1JlY292ZXJ5KQorICBUQ1BfQ0FfTG9zcyA9IDQKKyNkZWZpbmUgVENQRl9DQV9Mb3NzICgxIDw8IFRDUF9DQV9Mb3NzKQogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGNwX2luZm8gewotIF9fdTggdGNwaV9zdGF0ZTsKKyAgX191OCB0Y3BpX3N0YXRlOworICBfX3U4IHRjcGlfY2Ffc3RhdGU7CisgIF9fdTggdGNwaV9yZXRyYW5zbWl0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0Y3BpX2NhX3N0YXRlOwotIF9fdTggdGNwaV9yZXRyYW5zbWl0czsKLSBfX3U4IHRjcGlfcHJvYmVzOwotIF9fdTggdGNwaV9iYWNrb2ZmOworICBfX3U4IHRjcGlfcHJvYmVzOworICBfX3U4IHRjcGlfYmFja29mZjsKKyAgX191OCB0Y3BpX29wdGlvbnM7CisgIF9fdTggdGNwaV9zbmRfd3NjYWxlIDogNCwgdGNwaV9yY3Zfd3NjYWxlIDogNDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0Y3BpX29wdGlvbnM7Ci0gX191OCB0Y3BpX3NuZF93c2NhbGUgOiA0LCB0Y3BpX3Jjdl93c2NhbGUgOiA0OwotIF9fdTMyIHRjcGlfcnRvOwotIF9fdTMyIHRjcGlfYXRvOworICBfX3UzMiB0Y3BpX3J0bzsKKyAgX191MzIgdGNwaV9hdG87CisgIF9fdTMyIHRjcGlfc25kX21zczsKKyAgX191MzIgdGNwaV9yY3ZfbXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0Y3BpX3NuZF9tc3M7Ci0gX191MzIgdGNwaV9yY3ZfbXNzOwotIF9fdTMyIHRjcGlfdW5hY2tlZDsKLSBfX3UzMiB0Y3BpX3NhY2tlZDsKKyAgX191MzIgdGNwaV91bmFja2VkOworICBfX3UzMiB0Y3BpX3NhY2tlZDsKKyAgX191MzIgdGNwaV9sb3N0OworICBfX3UzMiB0Y3BpX3JldHJhbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHRjcGlfbG9zdDsKLSBfX3UzMiB0Y3BpX3JldHJhbnM7Ci0gX191MzIgdGNwaV9mYWNrZXRzOwotIF9fdTMyIHRjcGlfbGFzdF9kYXRhX3NlbnQ7CisgIF9fdTMyIHRjcGlfZmFja2V0czsKKyAgX191MzIgdGNwaV9sYXN0X2RhdGFfc2VudDsKKyAgX191MzIgdGNwaV9sYXN0X2Fja19zZW50OworICBfX3UzMiB0Y3BpX2xhc3RfZGF0YV9yZWN2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0Y3BpX2xhc3RfYWNrX3NlbnQ7Ci0gX191MzIgdGNwaV9sYXN0X2RhdGFfcmVjdjsKLSBfX3UzMiB0Y3BpX2xhc3RfYWNrX3JlY3Y7Ci0gX191MzIgdGNwaV9wbXR1OworICBfX3UzMiB0Y3BpX2xhc3RfYWNrX3JlY3Y7CisgIF9fdTMyIHRjcGlfcG10dTsKKyAgX191MzIgdGNwaV9yY3Zfc3N0aHJlc2g7CisgIF9fdTMyIHRjcGlfcnR0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0Y3BpX3Jjdl9zc3RocmVzaDsKLSBfX3UzMiB0Y3BpX3J0dDsKLSBfX3UzMiB0Y3BpX3J0dHZhcjsKLSBfX3UzMiB0Y3BpX3NuZF9zc3RocmVzaDsKKyAgX191MzIgdGNwaV9ydHR2YXI7CisgIF9fdTMyIHRjcGlfc25kX3NzdGhyZXNoOworICBfX3UzMiB0Y3BpX3NuZF9jd25kOworICBfX3UzMiB0Y3BpX2Fkdm1zczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdGNwaV9zbmRfY3duZDsKLSBfX3UzMiB0Y3BpX2Fkdm1zczsKLSBfX3UzMiB0Y3BpX3Jlb3JkZXJpbmc7Ci0gX191MzIgdGNwaV9yY3ZfcnR0OworICBfX3UzMiB0Y3BpX3Jlb3JkZXJpbmc7CisgIF9fdTMyIHRjcGlfcmN2X3J0dDsKKyAgX191MzIgdGNwaV9yY3Zfc3BhY2U7CisgIF9fdTMyIHRjcGlfdG90YWxfcmV0cmFuczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdGNwaV9yY3Zfc3BhY2U7Ci0gX191MzIgdGNwaV90b3RhbF9yZXRyYW5zOworICBfX3U2NCB0Y3BpX3BhY2luZ19yYXRlOworICBfX3U2NCB0Y3BpX21heF9wYWNpbmdfcmF0ZTsKIH07CiAjZGVmaW5lIFRDUF9NRDVTSUdfTUFYS0VZTEVOIDgwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRjcF9tZDVzaWcgewotIHN0cnVjdCBfX2tlcm5lbF9zb2NrYWRkcl9zdG9yYWdlIHRjcG1fYWRkcjsKLSBfX3UxNiBfX3RjcG1fcGFkMTsKLSBfX3UxNiB0Y3BtX2tleWxlbjsKKyAgc3RydWN0IF9fa2VybmVsX3NvY2thZGRyX3N0b3JhZ2UgdGNwbV9hZGRyOworICBfX3UxNiBfX3RjcG1fcGFkMTsKKyAgX191MTYgdGNwbV9rZXlsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIF9fdGNwbV9wYWQyOwotIF9fdTggdGNwbV9rZXlbVENQX01ENVNJR19NQVhLRVlMRU5dOworICBfX3UzMiBfX3RjcG1fcGFkMjsKKyAgX191OCB0Y3BtX2tleVtUQ1BfTUQ1U0lHX01BWEtFWUxFTl07CiB9OwogI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y3BfbWV0cmljcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90Y3BfbWV0cmljcy5oCmluZGV4IDQ0OWVjOTUuLjRiYzNlNDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGNwX21ldHJpY3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RjcF9tZXRyaWNzLmgKQEAgLTIzLDQ0ICsyMyw0NyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVENQX01FVFJJQ1NfR0VOTF9WRVJTSU9OIDB4MQogZW51bSB0Y3BfbWV0cmljX2luZGV4IHsKLSBUQ1BfTUVUUklDX1JUVCwKLSBUQ1BfTUVUUklDX1JUVFZBUiwKKyAgVENQX01FVFJJQ19SVFQsCisgIFRDUF9NRVRSSUNfUlRUVkFSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfTUVUUklDX1NTVEhSRVNILAotIFRDUF9NRVRSSUNfQ1dORCwKLSBUQ1BfTUVUUklDX1JFT1JERVJJTkcsCi0gX19UQ1BfTUVUUklDX01BWCwKKyAgVENQX01FVFJJQ19TU1RIUkVTSCwKKyAgVENQX01FVFJJQ19DV05ELAorICBUQ1BfTUVUUklDX1JFT1JERVJJTkcsCisgIFRDUF9NRVRSSUNfUlRUX1VTLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVENQX01FVFJJQ19SVFRWQVJfVVMsCisgIF9fVENQX01FVFJJQ19NQVgsCiB9OwogI2RlZmluZSBUQ1BfTUVUUklDX01BWCAoX19UQ1BfTUVUUklDX01BWCAtIDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVENQX01FVFJJQ1NfQVRUUl9VTlNQRUMsCisgIFRDUF9NRVRSSUNTX0FUVFJfVU5TUEVDLAorICBUQ1BfTUVUUklDU19BVFRSX0FERFJfSVBWNCwKKyAgVENQX01FVFJJQ1NfQVRUUl9BRERSX0lQVjYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDUF9NRVRSSUNTX0FUVFJfQUREUl9JUFY0LAotIFRDUF9NRVRSSUNTX0FUVFJfQUREUl9JUFY2LAotIFRDUF9NRVRSSUNTX0FUVFJfQUdFLAotIFRDUF9NRVRSSUNTX0FUVFJfVFdfVFNWQUwsCisgIFRDUF9NRVRSSUNTX0FUVFJfQUdFLAorICBUQ1BfTUVUUklDU19BVFRSX1RXX1RTVkFMLAorICBUQ1BfTUVUUklDU19BVFRSX1RXX1RTX1NUQU1QLAorICBUQ1BfTUVUUklDU19BVFRSX1ZBTFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFRDUF9NRVRSSUNTX0FUVFJfVFdfVFNfU1RBTVAsCi0gVENQX01FVFJJQ1NfQVRUUl9WQUxTLAotIFRDUF9NRVRSSUNTX0FUVFJfRk9QRU5fTVNTLAotIFRDUF9NRVRSSUNTX0FUVFJfRk9QRU5fU1lOX0RST1BTLAorICBUQ1BfTUVUUklDU19BVFRSX0ZPUEVOX01TUywKKyAgVENQX01FVFJJQ1NfQVRUUl9GT1BFTl9TWU5fRFJPUFMsCisgIFRDUF9NRVRSSUNTX0FUVFJfRk9QRU5fU1lOX0RST1BfVFMsCisgIFRDUF9NRVRSSUNTX0FUVFJfRk9QRU5fQ09PS0lFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfTUVUUklDU19BVFRSX0ZPUEVOX1NZTl9EUk9QX1RTLAotIFRDUF9NRVRSSUNTX0FUVFJfRk9QRU5fQ09PS0lFLAotIFRDUF9NRVRSSUNTX0FUVFJfU0FERFJfSVBWNCwKLSBUQ1BfTUVUUklDU19BVFRSX1NBRERSX0lQVjYsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fVENQX01FVFJJQ1NfQVRUUl9NQVgsCisgIFRDUF9NRVRSSUNTX0FUVFJfU0FERFJfSVBWNCwKKyAgVENQX01FVFJJQ1NfQVRUUl9TQUREUl9JUFY2LAorICBfX1RDUF9NRVRSSUNTX0FUVFJfTUFYLAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDUF9NRVRSSUNTX0FUVFJfTUFYIChfX1RDUF9NRVRSSUNTX0FUVFJfTUFYIC0gMSkKIGVudW0geworICBUQ1BfTUVUUklDU19DTURfVU5TUEVDLAorICBUQ1BfTUVUUklDU19DTURfR0VULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBUQ1BfTUVUUklDU19DTURfVU5TUEVDLAotIFRDUF9NRVRSSUNTX0NNRF9HRVQsCi0gVENQX01FVFJJQ1NfQ01EX0RFTCwKLSBfX1RDUF9NRVRSSUNTX0NNRF9NQVgsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBUQ1BfTUVUUklDU19DTURfREVMLAorICBfX1RDUF9NRVRSSUNTX0NNRF9NQVgsCiB9OwogI2RlZmluZSBUQ1BfTUVUUklDU19DTURfTUFYIChfX1RDUF9NRVRSSUNTX0NNRF9NQVggLSAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90ZWxlcGhvbnkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGVsZXBob255LmgKaW5kZXggZjRjNmQ2My4uNzRhNDkyMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90ZWxlcGhvbnkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RlbGVwaG9ueS5oCkBAIC0zNCwxNTcgKzM0LDE1NSBAQAogI2RlZmluZSBRVElfUEhPTkVKQUNLX1BDSSA1MDAKICNkZWZpbmUgUVRJX1BIT05FQ0FSRCA2MDAKIHR5cGVkZWYgZW51bSB7Ci0gdmVuZG9yID0gMCwKKyAgdmVuZG9yID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZGV2aWNlLAotIHBvcnQsCi0gY29kZWMsCi0gZHNwCisgIGRldmljZSwKKyAgcG9ydCwKKyAgY29kZWMsCisgIGRzcAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gcGhvbmVfY2FwOwogc3RydWN0IHBob25lX2NhcGFiaWxpdHkgewotIGNoYXIgZGVzY1s4MF07Ci0gcGhvbmVfY2FwIGNhcHR5cGU7CisgIGNoYXIgZGVzY1s4MF07CisgIHBob25lX2NhcCBjYXB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2FwOwotIGludCBoYW5kbGU7CisgIGludCBjYXA7CisgIGludCBoYW5kbGU7CiB9OwogdHlwZWRlZiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gcG90cyA9IDAsCi0gcHN0biwKLSBoYW5kc2V0LAotIHNwZWFrZXIKKyAgcG90cyA9IDAsCisgIHBzdG4sCisgIGhhbmRzZXQsCisgIHNwZWFrZXIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IHBob25lX3BvcnRzOwotI2RlZmluZSBQSE9ORV9DQVBBQklMSVRJRVMgX0lPICgncScsIDB4ODApCi0jZGVmaW5lIFBIT05FX0NBUEFCSUxJVElFU19MSVNUIF9JT1IgKCdxJywgMHg4MSwgc3RydWN0IHBob25lX2NhcGFiaWxpdHkgKikKLSNkZWZpbmUgUEhPTkVfQ0FQQUJJTElUSUVTX0NIRUNLIF9JT1cgKCdxJywgMHg4Miwgc3RydWN0IHBob25lX2NhcGFiaWxpdHkgKikKKyNkZWZpbmUgUEhPTkVfQ0FQQUJJTElUSUVTIF9JTygncScsIDB4ODApCisjZGVmaW5lIFBIT05FX0NBUEFCSUxJVElFU19MSVNUIF9JT1IoJ3EnLCAweDgxLCBzdHJ1Y3QgcGhvbmVfY2FwYWJpbGl0eSAqKQorI2RlZmluZSBQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0sgX0lPVygncScsIDB4ODIsIHN0cnVjdCBwaG9uZV9jYXBhYmlsaXR5ICopCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBzdHJ1Y3QgewotIGNoYXIgbW9udGhbM107Ci0gY2hhciBkYXlbM107Ci0gY2hhciBob3VyWzNdOworICBjaGFyIG1vbnRoWzNdOworICBjaGFyIGRheVszXTsKKyAgY2hhciBob3VyWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG1pblszXTsKLSBpbnQgbnVtbGVuOwotIGNoYXIgbnVtYmVyWzExXTsKLSBpbnQgbmFtZWxlbjsKKyAgY2hhciBtaW5bM107CisgIGludCBudW1sZW47CisgIGNoYXIgbnVtYmVyWzExXTsKKyAgaW50IG5hbWVsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVs4MF07CisgIGNoYXIgbmFtZVs4MF07CiB9IFBIT05FX0NJRDsKLSNkZWZpbmUgUEhPTkVfUklORyBfSU8gKCdxJywgMHg4MykKLSNkZWZpbmUgUEhPTkVfSE9PS1NUQVRFIF9JTyAoJ3EnLCAweDg0KQorI2RlZmluZSBQSE9ORV9SSU5HIF9JTygncScsIDB4ODMpCisjZGVmaW5lIFBIT05FX0hPT0tTVEFURSBfSU8oJ3EnLCAweDg0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUEhPTkVfTUFYUklOR1MgX0lPVyAoJ3EnLCAweDg1LCBjaGFyKQotI2RlZmluZSBQSE9ORV9SSU5HX0NBREVOQ0UgX0lPVyAoJ3EnLCAweDg2LCBzaG9ydCkKLSNkZWZpbmUgT0xEX1BIT05FX1JJTkdfU1RBUlQgX0lPICgncScsIDB4ODcpCi0jZGVmaW5lIFBIT05FX1JJTkdfU1RBUlQgX0lPVyAoJ3EnLCAweDg3LCBQSE9ORV9DSUQgKikKKyNkZWZpbmUgUEhPTkVfTUFYUklOR1MgX0lPVygncScsIDB4ODUsIGNoYXIpCisjZGVmaW5lIFBIT05FX1JJTkdfQ0FERU5DRSBfSU9XKCdxJywgMHg4Niwgc2hvcnQpCisjZGVmaW5lIE9MRF9QSE9ORV9SSU5HX1NUQVJUIF9JTygncScsIDB4ODcpCisjZGVmaW5lIFBIT05FX1JJTkdfU1RBUlQgX0lPVygncScsIDB4ODcsIFBIT05FX0NJRCAqKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUEhPTkVfUklOR19TVE9QIF9JTyAoJ3EnLCAweDg4KQorI2RlZmluZSBQSE9ORV9SSU5HX1NUT1AgX0lPKCdxJywgMHg4OCkKICNkZWZpbmUgVVNBX1JJTkdfQ0FERU5DRSAweEMwQzAKLSNkZWZpbmUgUEhPTkVfUkVDX0NPREVDIF9JT1cgKCdxJywgMHg4OSwgaW50KQotI2RlZmluZSBQSE9ORV9SRUNfU1RBUlQgX0lPICgncScsIDB4OEEpCisjZGVmaW5lIFBIT05FX1JFQ19DT0RFQyBfSU9XKCdxJywgMHg4OSwgaW50KQorI2RlZmluZSBQSE9ORV9SRUNfU1RBUlQgX0lPKCdxJywgMHg4QSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBIT05FX1JFQ19TVE9QIF9JTyAoJ3EnLCAweDhCKQotI2RlZmluZSBQSE9ORV9SRUNfREVQVEggX0lPVyAoJ3EnLCAweDhDLCBpbnQpCi0jZGVmaW5lIFBIT05FX0ZSQU1FIF9JT1cgKCdxJywgMHg4RCwgaW50KQotI2RlZmluZSBQSE9ORV9SRUNfVk9MVU1FIF9JT1cgKCdxJywgMHg4RSwgaW50KQorI2RlZmluZSBQSE9ORV9SRUNfU1RPUCBfSU8oJ3EnLCAweDhCKQorI2RlZmluZSBQSE9ORV9SRUNfREVQVEggX0lPVygncScsIDB4OEMsIGludCkKKyNkZWZpbmUgUEhPTkVfRlJBTUUgX0lPVygncScsIDB4OEQsIGludCkKKyNkZWZpbmUgUEhPTkVfUkVDX1ZPTFVNRSBfSU9XKCdxJywgMHg4RSwgaW50KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIgX0lPVyAoJ3EnLCAweERCLCBpbnQpCi0jZGVmaW5lIFBIT05FX1JFQ19MRVZFTCBfSU8gKCdxJywgMHg4RikKLSNkZWZpbmUgUEhPTkVfUExBWV9DT0RFQyBfSU9XICgncScsIDB4OTAsIGludCkKLSNkZWZpbmUgUEhPTkVfUExBWV9TVEFSVCBfSU8gKCdxJywgMHg5MSkKKyNkZWZpbmUgUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIgX0lPVygncScsIDB4REIsIGludCkKKyNkZWZpbmUgUEhPTkVfUkVDX0xFVkVMIF9JTygncScsIDB4OEYpCisjZGVmaW5lIFBIT05FX1BMQVlfQ09ERUMgX0lPVygncScsIDB4OTAsIGludCkKKyNkZWZpbmUgUEhPTkVfUExBWV9TVEFSVCBfSU8oJ3EnLCAweDkxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgUEhPTkVfUExBWV9TVE9QIF9JTyAoJ3EnLCAweDkyKQotI2RlZmluZSBQSE9ORV9QTEFZX0RFUFRIIF9JT1cgKCdxJywgMHg5MywgaW50KQotI2RlZmluZSBQSE9ORV9QTEFZX1ZPTFVNRSBfSU9XICgncScsIDB4OTQsIGludCkKLSNkZWZpbmUgUEhPTkVfUExBWV9WT0xVTUVfTElORUFSIF9JT1cgKCdxJywgMHhEQywgaW50KQorI2RlZmluZSBQSE9ORV9QTEFZX1NUT1AgX0lPKCdxJywgMHg5MikKKyNkZWZpbmUgUEhPTkVfUExBWV9ERVBUSCBfSU9XKCdxJywgMHg5MywgaW50KQorI2RlZmluZSBQSE9ORV9QTEFZX1ZPTFVNRSBfSU9XKCdxJywgMHg5NCwgaW50KQorI2RlZmluZSBQSE9ORV9QTEFZX1ZPTFVNRV9MSU5FQVIgX0lPVygncScsIDB4REMsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFBIT05FX1BMQVlfTEVWRUwgX0lPICgncScsIDB4OTUpCi0jZGVmaW5lIFBIT05FX0RUTUZfUkVBRFkgX0lPUiAoJ3EnLCAweDk2LCBpbnQpCi0jZGVmaW5lIFBIT05FX0dFVF9EVE1GIF9JT1IgKCdxJywgMHg5NywgaW50KQotI2RlZmluZSBQSE9ORV9HRVRfRFRNRl9BU0NJSSBfSU9SICgncScsIDB4OTgsIGludCkKKyNkZWZpbmUgUEhPTkVfUExBWV9MRVZFTCBfSU8oJ3EnLCAweDk1KQorI2RlZmluZSBQSE9ORV9EVE1GX1JFQURZIF9JT1IoJ3EnLCAweDk2LCBpbnQpCisjZGVmaW5lIFBIT05FX0dFVF9EVE1GIF9JT1IoJ3EnLCAweDk3LCBpbnQpCisjZGVmaW5lIFBIT05FX0dFVF9EVE1GX0FTQ0lJIF9JT1IoJ3EnLCAweDk4LCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQSE9ORV9EVE1GX09PQiBfSU9XICgncScsIDB4OTksIGludCkKLSNkZWZpbmUgUEhPTkVfRVhDRVBUSU9OIF9JT1IgKCdxJywgMHg5QSwgaW50KQotI2RlZmluZSBQSE9ORV9QTEFZX1RPTkUgX0lPVyAoJ3EnLCAweDlCLCBjaGFyKQotI2RlZmluZSBQSE9ORV9TRVRfVE9ORV9PTl9USU1FIF9JT1cgKCdxJywgMHg5QywgaW50KQorI2RlZmluZSBQSE9ORV9EVE1GX09PQiBfSU9XKCdxJywgMHg5OSwgaW50KQorI2RlZmluZSBQSE9ORV9FWENFUFRJT04gX0lPUigncScsIDB4OUEsIGludCkKKyNkZWZpbmUgUEhPTkVfUExBWV9UT05FIF9JT1coJ3EnLCAweDlCLCBjaGFyKQorI2RlZmluZSBQSE9ORV9TRVRfVE9ORV9PTl9USU1FIF9JT1coJ3EnLCAweDlDLCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQSE9ORV9TRVRfVE9ORV9PRkZfVElNRSBfSU9XICgncScsIDB4OUQsIGludCkKLSNkZWZpbmUgUEhPTkVfR0VUX1RPTkVfT05fVElNRSBfSU8gKCdxJywgMHg5RSkKLSNkZWZpbmUgUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUgX0lPICgncScsIDB4OUYpCi0jZGVmaW5lIFBIT05FX0dFVF9UT05FX1NUQVRFIF9JTyAoJ3EnLCAweEEwKQorI2RlZmluZSBQSE9ORV9TRVRfVE9ORV9PRkZfVElNRSBfSU9XKCdxJywgMHg5RCwgaW50KQorI2RlZmluZSBQSE9ORV9HRVRfVE9ORV9PTl9USU1FIF9JTygncScsIDB4OUUpCisjZGVmaW5lIFBIT05FX0dFVF9UT05FX09GRl9USU1FIF9JTygncScsIDB4OUYpCisjZGVmaW5lIFBIT05FX0dFVF9UT05FX1NUQVRFIF9JTygncScsIDB4QTApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQSE9ORV9CVVNZIF9JTyAoJ3EnLCAweEExKQotI2RlZmluZSBQSE9ORV9SSU5HQkFDSyBfSU8gKCdxJywgMHhBMikKLSNkZWZpbmUgUEhPTkVfRElBTFRPTkUgX0lPICgncScsIDB4QTMpCi0jZGVmaW5lIFBIT05FX0NQVF9TVE9QIF9JTyAoJ3EnLCAweEE0KQorI2RlZmluZSBQSE9ORV9CVVNZIF9JTygncScsIDB4QTEpCisjZGVmaW5lIFBIT05FX1JJTkdCQUNLIF9JTygncScsIDB4QTIpCisjZGVmaW5lIFBIT05FX0RJQUxUT05FIF9JTygncScsIDB4QTMpCisjZGVmaW5lIFBIT05FX0NQVF9TVE9QIF9JTygncScsIDB4QTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQSE9ORV9QU1ROX1NFVF9TVEFURSBfSU9XICgncScsIDB4QTQsIGludCkKLSNkZWZpbmUgUEhPTkVfUFNUTl9HRVRfU1RBVEUgX0lPICgncScsIDB4QTUpCisjZGVmaW5lIFBIT05FX1BTVE5fU0VUX1NUQVRFIF9JT1coJ3EnLCAweEE0LCBpbnQpCisjZGVmaW5lIFBIT05FX1BTVE5fR0VUX1NUQVRFIF9JTygncScsIDB4QTUpCiAjZGVmaW5lIFBTVE5fT05fSE9PSyAwCiAjZGVmaW5lIFBTVE5fUklOR0lORyAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBQU1ROX09GRl9IT09LIDIKICNkZWZpbmUgUFNUTl9QVUxTRV9ESUFMIDMKLSNkZWZpbmUgUEhPTkVfV0lOS19EVVJBVElPTiBfSU9XICgncScsIDB4QTYsIGludCkKLSNkZWZpbmUgUEhPTkVfV0lOSyBfSU9XICgncScsIDB4QUEsIGludCkKKyNkZWZpbmUgUEhPTkVfV0lOS19EVVJBVElPTiBfSU9XKCdxJywgMHhBNiwgaW50KQorI2RlZmluZSBQSE9ORV9XSU5LIF9JT1coJ3EnLCAweEFBLCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdHlwZWRlZiBlbnVtIHsKLSBHNzIzXzYzID0gMSwKLSBHNzIzXzUzID0gMiwKLSBUUzg1ID0gMywKKyAgRzcyM182MyA9IDEsCisgIEc3MjNfNTMgPSAyLAorICBUUzg1ID0gMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVFM0OCA9IDQsCi0gVFM0MSA9IDUsCi0gRzcyOCA9IDYsCi0gRzcyOSA9IDcsCisgIFRTNDggPSA0LAorICBUUzQxID0gNSwKKyAgRzcyOCA9IDYsCisgIEc3MjkgPSA3LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBVTEFXID0gOCwKLSBBTEFXID0gOSwKLSBMSU5FQVIxNiA9IDEwLAotIExJTkVBUjggPSAxMSwKKyAgVUxBVyA9IDgsCisgIEFMQVcgPSA5LAorICBMSU5FQVIxNiA9IDEwLAorICBMSU5FQVI4ID0gMTEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFdTUyA9IDEyLAotIEc3MjlCID0gMTMKKyAgV1NTID0gMTIsCisgIEc3MjlCID0gMTMKIH0gcGhvbmVfY29kZWM7Ci1zdHJ1Y3QgcGhvbmVfY29kZWNfZGF0YQorc3RydWN0IHBob25lX2NvZGVjX2RhdGEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSBwaG9uZV9jb2RlYyB0eXBlOwotIHVuc2lnbmVkIHNob3J0IGJ1Zl9taW4sIGJ1Zl9vcHQsIGJ1Zl9tYXg7CisgIHBob25lX2NvZGVjIHR5cGU7CisgIHVuc2lnbmVkIHNob3J0IGJ1Zl9taW4sIGJ1Zl9vcHQsIGJ1Zl9tYXg7CiB9OworI2RlZmluZSBQSE9ORV9RVUVSWV9DT0RFQyBfSU9XUigncScsIDB4QTcsIHN0cnVjdCBwaG9uZV9jb2RlY19kYXRhICopCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBQSE9ORV9RVUVSWV9DT0RFQyBfSU9XUiAoJ3EnLCAweEE3LCBzdHJ1Y3QgcGhvbmVfY29kZWNfZGF0YSAqKQotI2RlZmluZSBQSE9ORV9QU1ROX0xJTkVURVNUIF9JTyAoJ3EnLCAweEE4KQotI2RlZmluZSBQSE9ORV9WQUQgX0lPVyAoJ3EnLCAweEE5LCBpbnQpCi1zdHJ1Y3QgcGhvbmVfZXhjZXB0CisjZGVmaW5lIFBIT05FX1BTVE5fTElORVRFU1QgX0lPKCdxJywgMHhBOCkKKyNkZWZpbmUgUEhPTkVfVkFEIF9JT1coJ3EnLCAweEE5LCBpbnQpCitzdHJ1Y3QgcGhvbmVfZXhjZXB0IHsKKyAgdW5zaWduZWQgaW50IGR0bWZfcmVhZHkgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSB1bnNpZ25lZCBpbnQgZHRtZl9yZWFkeToxOwotIHVuc2lnbmVkIGludCBob29rc3RhdGU6MTsKLSB1bnNpZ25lZCBpbnQgcHN0bl9yaW5nOjE7CisgIHVuc2lnbmVkIGludCBob29rc3RhdGUgOiAxOworICB1bnNpZ25lZCBpbnQgcHN0bl9yaW5nIDogMTsKKyAgdW5zaWduZWQgaW50IGNhbGxlcl9pZCA6IDE7CisgIHVuc2lnbmVkIGludCBwc3RuX3dpbmsgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY2FsbGVyX2lkOjE7Ci0gdW5zaWduZWQgaW50IHBzdG5fd2luazoxOwotIHVuc2lnbmVkIGludCBmMDoxOwotIHVuc2lnbmVkIGludCBmMToxOworICB1bnNpZ25lZCBpbnQgZjAgOiAxOworICB1bnNpZ25lZCBpbnQgZjEgOiAxOworICB1bnNpZ25lZCBpbnQgZjIgOiAxOworICB1bnNpZ25lZCBpbnQgZjMgOiAxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZjI6MTsKLSB1bnNpZ25lZCBpbnQgZjM6MTsKLSB1bnNpZ25lZCBpbnQgZmxhc2g6MTsKLSB1bnNpZ25lZCBpbnQgZmMwOjE7CisgIHVuc2lnbmVkIGludCBmbGFzaCA6IDE7CisgIHVuc2lnbmVkIGludCBmYzAgOiAxOworICB1bnNpZ25lZCBpbnQgZmMxIDogMTsKKyAgdW5zaWduZWQgaW50IGZjMiA6IDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBmYzE6MTsKLSB1bnNpZ25lZCBpbnQgZmMyOjE7Ci0gdW5zaWduZWQgaW50IGZjMzoxOwotIHVuc2lnbmVkIGludCByZXNlcnZlZDoxODsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGludCBmYzMgOiAxOworICB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQgOiAxODsKIH07CiB1bmlvbiB0ZWxlcGhvbnlfZXhjZXB0aW9uIHsKLSBzdHJ1Y3QgcGhvbmVfZXhjZXB0IGJpdHM7Ci0gdW5zaWduZWQgaW50IGJ5dGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IHBob25lX2V4Y2VwdCBiaXRzOworICB1bnNpZ25lZCBpbnQgYnl0ZXM7CiB9OwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90ZXJtaW9zLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Rlcm1pb3MuaAppbmRleCAyYWMwMDgzLi4wZTdhMzkxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Rlcm1pb3MuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Rlcm1pb3MuaApAQCAtMjIsMTggKzIyLDE3IEBACiAjaW5jbHVkZSA8YXNtL3Rlcm1pb3MuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE5GRiA1Ci1zdHJ1Y3QgdGVybWlveAotewotIF9fdTE2IHhfaGZsYWc7CitzdHJ1Y3QgdGVybWlveCB7CisgIF9fdTE2IHhfaGZsYWc7CisgIF9fdTE2IHhfY2ZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHhfY2ZsYWc7Ci0gX191MTYgeF9yZmxhZ1tORkZdOwotIF9fdTE2IHhfc2ZsYWc7CisgIF9fdTE2IHhfcmZsYWdbTkZGXTsKKyAgX191MTYgeF9zZmxhZzsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSVFNYT0ZGIDB4MDAwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQ1RTWE9OIDB4MDAwMgogI2RlZmluZSBEVFJYT0ZGIDB4MDAwNAogI2RlZmluZSBEU1JYT04gMHgwMDA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aW1lLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpbWUuaAppbmRleCA2MmZiN2RmLi5iZjI0NWZjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpbWUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpbWUuaApAQCAtMjMsMzMgKzIzLDMzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBfU1RSVUNUX1RJTUVTUEVDCiBzdHJ1Y3QgdGltZXNwZWMgewotIF9fa2VybmVsX3RpbWVfdCB0dl9zZWM7Ci0gbG9uZyB0dl9uc2VjOworICBfX2tlcm5lbF90aW1lX3QgdHZfc2VjOworICBsb25nIHR2X25zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgogc3RydWN0IHRpbWV2YWwgewotIF9fa2VybmVsX3RpbWVfdCB0dl9zZWM7CisgIF9fa2VybmVsX3RpbWVfdCB0dl9zZWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3N1c2Vjb25kc190IHR2X3VzZWM7CisgIF9fa2VybmVsX3N1c2Vjb25kc190IHR2X3VzZWM7CiB9Owogc3RydWN0IHRpbWV6b25lIHsKLSBpbnQgdHpfbWludXRlc3dlc3Q7CisgIGludCB0el9taW51dGVzd2VzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHR6X2RzdHRpbWU7CisgIGludCB0el9kc3R0aW1lOwogfTsKICNkZWZpbmUgSVRJTUVSX1JFQUwgMAogI2RlZmluZSBJVElNRVJfVklSVFVBTCAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJVElNRVJfUFJPRiAyCiBzdHJ1Y3QgaXRpbWVyc3BlYyB7Ci0gc3RydWN0IHRpbWVzcGVjIGl0X2ludGVydmFsOwotIHN0cnVjdCB0aW1lc3BlYyBpdF92YWx1ZTsKKyAgc3RydWN0IHRpbWVzcGVjIGl0X2ludGVydmFsOworICBzdHJ1Y3QgdGltZXNwZWMgaXRfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpdGltZXJ2YWwgewotIHN0cnVjdCB0aW1ldmFsIGl0X2ludGVydmFsOwotIHN0cnVjdCB0aW1ldmFsIGl0X3ZhbHVlOworICBzdHJ1Y3QgdGltZXZhbCBpdF9pbnRlcnZhbDsKKyAgc3RydWN0IHRpbWV2YWwgaXRfdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQ0xPQ0tfUkVBTFRJTUUgMApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aW1lcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aW1lcy5oCmluZGV4IGMxZGE4YWUuLmQwNDk0ZDcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGltZXMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpbWVzLmgKQEAgLTIxLDEwICsyMSwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgdG1zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfY2xvY2tfdCB0bXNfdXRpbWU7Ci0gX19rZXJuZWxfY2xvY2tfdCB0bXNfc3RpbWU7Ci0gX19rZXJuZWxfY2xvY2tfdCB0bXNfY3V0aW1lOwotIF9fa2VybmVsX2Nsb2NrX3QgdG1zX2NzdGltZTsKKyAgX19rZXJuZWxfY2xvY2tfdCB0bXNfdXRpbWU7CisgIF9fa2VybmVsX2Nsb2NrX3QgdG1zX3N0aW1lOworICBfX2tlcm5lbF9jbG9ja190IHRtc19jdXRpbWU7CisgIF9fa2VybmVsX2Nsb2NrX3QgdG1zX2NzdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpbWV4LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpbWV4LmgKaW5kZXggYTU5NjY5OC4uMDA4NDY4ZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aW1leC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGltZXguaApAQCAtMjIsMzQgKzIyLDQ0IEBACiAjZGVmaW5lIE5UUF9BUEkgNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0aW1leCB7Ci0gdW5zaWduZWQgaW50IG1vZGVzOwotIF9fa2VybmVsX2xvbmdfdCBvZmZzZXQ7Ci0gX19rZXJuZWxfbG9uZ190IGZyZXE7CisgIHVuc2lnbmVkIGludCBtb2RlczsKKyAgX19rZXJuZWxfbG9uZ190IG9mZnNldDsKKyAgX19rZXJuZWxfbG9uZ190IGZyZXE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX2xvbmdfdCBtYXhlcnJvcjsKLSBfX2tlcm5lbF9sb25nX3QgZXN0ZXJyb3I7Ci0gaW50IHN0YXR1czsKLSBfX2tlcm5lbF9sb25nX3QgY29uc3RhbnQ7CisgIF9fa2VybmVsX2xvbmdfdCBtYXhlcnJvcjsKKyAgX19rZXJuZWxfbG9uZ190IGVzdGVycm9yOworICBpbnQgc3RhdHVzOworICBfX2tlcm5lbF9sb25nX3QgY29uc3RhbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX2xvbmdfdCBwcmVjaXNpb247Ci0gX19rZXJuZWxfbG9uZ190IHRvbGVyYW5jZTsKLSBzdHJ1Y3QgdGltZXZhbCB0aW1lOwotIF9fa2VybmVsX2xvbmdfdCB0aWNrOworICBfX2tlcm5lbF9sb25nX3QgcHJlY2lzaW9uOworICBfX2tlcm5lbF9sb25nX3QgdG9sZXJhbmNlOworICBzdHJ1Y3QgdGltZXZhbCB0aW1lOworICBfX2tlcm5lbF9sb25nX3QgdGljazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfbG9uZ190IHBwc2ZyZXE7Ci0gX19rZXJuZWxfbG9uZ190IGppdHRlcjsKLSBpbnQgc2hpZnQ7Ci0gX19rZXJuZWxfbG9uZ190IHN0YWJpbDsKKyAgX19rZXJuZWxfbG9uZ190IHBwc2ZyZXE7CisgIF9fa2VybmVsX2xvbmdfdCBqaXR0ZXI7CisgIGludCBzaGlmdDsKKyAgX19rZXJuZWxfbG9uZ190IHN0YWJpbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19rZXJuZWxfbG9uZ190IGppdGNudDsKLSBfX2tlcm5lbF9sb25nX3QgY2FsY250OwotIF9fa2VybmVsX2xvbmdfdCBlcnJjbnQ7Ci0gX19rZXJuZWxfbG9uZ190IHN0YmNudDsKKyAgX19rZXJuZWxfbG9uZ190IGppdGNudDsKKyAgX19rZXJuZWxfbG9uZ190IGNhbGNudDsKKyAgX19rZXJuZWxfbG9uZ190IGVycmNudDsKKyAgX19rZXJuZWxfbG9uZ190IHN0YmNudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHRhaTsKLSBpbnQgOjMyOyBpbnQgOjMyOyBpbnQgOjMyOyBpbnQgOjMyOwotIGludCA6MzI7IGludCA6MzI7IGludCA6MzI7IGludCA6MzI7Ci0gaW50IDozMjsgaW50IDozMjsgaW50IDozMjsKKyAgaW50IHRhaTsKKyAgaW50IDogMzI7CisgIGludCA6IDMyOworICBpbnQgOiAzMjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCA6IDMyOworICBpbnQgOiAzMjsKKyAgaW50IDogMzI7CisgIGludCA6IDMyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgaW50IDogMzI7CisgIGludCA6IDMyOworICBpbnQgOiAzMjsKKyAgaW50IDogMzI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQURKX09GRlNFVCAweDAwMDEKQEAgLTk5LDcgKzEwOSw3IEBACiAjZGVmaW5lIFNUQV9OQU5PIDB4MjAwMAogI2RlZmluZSBTVEFfTU9ERSAweDQwMDAKICNkZWZpbmUgU1RBX0NMSyAweDgwMDAKLSNkZWZpbmUgU1RBX1JPTkxZIChTVEFfUFBTU0lHTkFMIHwgU1RBX1BQU0pJVFRFUiB8IFNUQV9QUFNXQU5ERVIgfCAgIFNUQV9QUFNFUlJPUiB8IFNUQV9DTE9DS0VSUiB8IFNUQV9OQU5PIHwgU1RBX01PREUgfCBTVEFfQ0xLKQorI2RlZmluZSBTVEFfUk9OTFkgKFNUQV9QUFNTSUdOQUwgfCBTVEFfUFBTSklUVEVSIHwgU1RBX1BQU1dBTkRFUiB8IFNUQV9QUFNFUlJPUiB8IFNUQV9DTE9DS0VSUiB8IFNUQV9OQU5PIHwgU1RBX01PREUgfCBTVEFfQ0xLKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElNRV9PSyAwCiAjZGVmaW5lIFRJTUVfSU5TIDEKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGlvY2wuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGlvY2wuaAppbmRleCBmMzgxOGZjLi43NTNkNjExIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Rpb2NsLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aW9jbC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgVElPQ0xfU0VMTU9VU0VSRVBPUlQgMTYKICNkZWZpbmUgVElPQ0xfU0VMQlVUVE9OTUFTSyAxNQogc3RydWN0IHRpb2NsX3NlbGVjdGlvbiB7Ci0gdW5zaWduZWQgc2hvcnQgeHM7CisgIHVuc2lnbmVkIHNob3J0IHhzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB5czsKLSB1bnNpZ25lZCBzaG9ydCB4ZTsKLSB1bnNpZ25lZCBzaG9ydCB5ZTsKLSB1bnNpZ25lZCBzaG9ydCBzZWxfbW9kZTsKKyAgdW5zaWduZWQgc2hvcnQgeXM7CisgIHVuc2lnbmVkIHNob3J0IHhlOworICB1bnNpZ25lZCBzaG9ydCB5ZTsKKyAgdW5zaWduZWQgc2hvcnQgc2VsX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVElPQ0xfUEFTVEVTRUwgMwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aXBjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpcGMuaAppbmRleCA2NDVjNjEwLi4yMzBmZjFjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpcGMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpcGMuaApAQCAtMTksMTExICsxOSwxMjYgQEAKICNpZm5kZWYgX0xJTlVYX1RJUENfSF8KICNkZWZpbmUgX0xJTlVYX1RJUENfSF8KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGlwY19wb3J0aWQgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZWY7Ci0gX191MzIgbm9kZTsKKyAgX191MzIgcmVmOworICBfX3UzMiBub2RlOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGlwY19uYW1lIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UzMiBpbnN0YW5jZTsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgaW5zdGFuY2U7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0aXBjX25hbWVfc2VxIHsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgbG93ZXI7CisgIF9fdTMyIHVwcGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIF9fdTMyIGxvd2VyOwotIF9fdTMyIHVwcGVyOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJUENfQ0ZHX1NSViAwCiAjZGVmaW5lIFRJUENfVE9QX1NSViAxCisjZGVmaW5lIFRJUENfTElOS19TVEFURSAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX1JFU0VSVkVEX1RZUEVTIDY0CiAjZGVmaW5lIFRJUENfWk9ORV9TQ09QRSAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0NMVVNURVJfU0NPUEUgMgogI2RlZmluZSBUSVBDX05PREVfU0NPUEUgMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19NQVhfVVNFUl9NU0dfU0laRSA2NjAwMFUKICNkZWZpbmUgVElQQ19MT1dfSU1QT1JUQU5DRSAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX01FRElVTV9JTVBPUlRBTkNFIDEKICNkZWZpbmUgVElQQ19ISUdIX0lNUE9SVEFOQ0UgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19DUklUSUNBTF9JTVBPUlRBTkNFIDMKICNkZWZpbmUgVElQQ19PSyAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0VSUl9OT19OQU1FIDEKICNkZWZpbmUgVElQQ19FUlJfTk9fUE9SVCAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0VSUl9OT19OT0RFIDMKICNkZWZpbmUgVElQQ19FUlJfT1ZFUkxPQUQgNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19DT05OX1NIVVRET1dOIDUKICNkZWZpbmUgVElQQ19TVUJfUE9SVFMgMHgwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19TVUJfU0VSVklDRSAweDAyCiAjZGVmaW5lIFRJUENfU1VCX0NBTkNFTCAweDA0Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX1dBSVRfRk9SRVZFUiAofjApCiBzdHJ1Y3QgdGlwY19zdWJzY3IgewotIHN0cnVjdCB0aXBjX25hbWVfc2VxIHNlcTsKLSBfX3UzMiB0aW1lb3V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmaWx0ZXI7Ci0gY2hhciB1c3JfaGFuZGxlWzhdOworICBzdHJ1Y3QgdGlwY19uYW1lX3NlcSBzZXE7CisgIF9fdTMyIHRpbWVvdXQ7CisgIF9fdTMyIGZpbHRlcjsKKyAgY2hhciB1c3JfaGFuZGxlWzhdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFRJUENfUFVCTElTSEVEIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJUENfV0lUSERSQVdOIDIKICNkZWZpbmUgVElQQ19TVUJTQ1JfVElNRU9VVCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRpcGNfZXZlbnQgewotIF9fdTMyIGV2ZW50OworICBfX3UzMiBldmVudDsKKyAgX191MzIgZm91bmRfbG93ZXI7CisgIF9fdTMyIGZvdW5kX3VwcGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmb3VuZF9sb3dlcjsKLSBfX3UzMiBmb3VuZF91cHBlcjsKLSBzdHJ1Y3QgdGlwY19wb3J0aWQgcG9ydDsKLSBzdHJ1Y3QgdGlwY19zdWJzY3IgczsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCB0aXBjX3BvcnRpZCBwb3J0OworICBzdHJ1Y3QgdGlwY19zdWJzY3IgczsKIH07CiAjaWZuZGVmIEFGX1RJUEMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEFGX1RJUEMgMzAKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpZm5kZWYgUEZfVElQQwogI2RlZmluZSBQRl9USVBDIEFGX1RJUEMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKICNpZm5kZWYgU09MX1RJUEMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNPTF9USVBDIDI3MQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0FERFJfTkFNRVNFUSAxCiAjZGVmaW5lIFRJUENfQUREUl9NQ0FTVCAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0FERFJfTkFNRSAyCiAjZGVmaW5lIFRJUENfQUREUl9JRCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNvY2thZGRyX3RpcGMgewotIHVuc2lnbmVkIHNob3J0IGZhbWlseTsKKyAgdW5zaWduZWQgc2hvcnQgZmFtaWx5OworICB1bnNpZ25lZCBjaGFyIGFkZHJ0eXBlOworICBzaWduZWQgY2hhciBzY29wZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBhZGRydHlwZTsKLSBzaWduZWQgY2hhciBzY29wZTsKLSB1bmlvbiB7Ci0gc3RydWN0IHRpcGNfcG9ydGlkIGlkOworICB1bmlvbiB7CisgICAgc3RydWN0IHRpcGNfcG9ydGlkIGlkOworICAgIHN0cnVjdCB0aXBjX25hbWVfc2VxIG5hbWVzZXE7CisgICAgc3RydWN0IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRpcGNfbmFtZV9zZXEgbmFtZXNlcTsKLSBzdHJ1Y3QgewotIHN0cnVjdCB0aXBjX25hbWUgbmFtZTsKLSBfX3UzMiBkb21haW47CisgICAgICBzdHJ1Y3QgdGlwY19uYW1lIG5hbWU7CisgICAgICBfX3UzMiBkb21haW47CisgICAgfSBuYW1lOworICB9IGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gbmFtZTsKLSB9IGFkZHI7CiB9OwogI2RlZmluZSBUSVBDX0VSUklORk8gMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19SRVREQVRBIDIKICNkZWZpbmUgVElQQ19ERVNUTkFNRSAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0lNUE9SVEFOQ0UgMTI3CiAjZGVmaW5lIFRJUENfU1JDX0RST1BQQUJMRSAxMjgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJUENfREVTVF9EUk9QUEFCTEUgMTI5CiAjZGVmaW5lIFRJUENfQ09OTl9USU1FT1VUIDEzMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19OT0RFX1JFQ1ZRX0RFUFRIIDEzMQogI2RlZmluZSBUSVBDX1NPQ0tfUkVDVlFfREVQVEggMTMyCisjZGVmaW5lIFRJUENfTUFYX01FRElBX05BTUUgMTYKKyNkZWZpbmUgVElQQ19NQVhfSUZfTkFNRSAxNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVElQQ19NQVhfQkVBUkVSX05BTUUgMzIKKyNkZWZpbmUgVElQQ19NQVhfTElOS19OQU1FIDYwCisjZGVmaW5lIFNJT0NHRVRMSU5LTkFNRSBTSU9DUFJPVE9QUklWQVRFCitzdHJ1Y3QgdGlwY19zaW9jX2xuX3JlcSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBwZWVyOworICBfX3UzMiBiZWFyZXJfaWQ7CisgIGNoYXIgbGlua25hbWVbVElQQ19NQVhfTElOS19OQU1FXTsKK307CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpcGNfY29uZmlnLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3RpcGNfY29uZmlnLmgKaW5kZXggNmVjYWJkYS4uNzY0MGQ3OSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC90aXBjX2NvbmZpZy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdGlwY19jb25maWcuaApAQCAtMjEsMTc2ICsyMSwxNzMgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpbmNsdWRlIDxsaW51eC90aXBjLmg+CiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgogI2luY2x1ZGUgPGFycGEvaW5ldC5oPgogI2RlZmluZSBUSVBDX0NNRF9OT09QIDB4MDAwMAotI2RlZmluZSBUSVBDX0NNRF9HRVRfTk9ERVMgMHgwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUSVBDX0NNRF9HRVRfTk9ERVMgMHgwMDAxCiAjZGVmaW5lIFRJUENfQ01EX0dFVF9NRURJQV9OQU1FUyAweDAwMDIKICNkZWZpbmUgVElQQ19DTURfR0VUX0JFQVJFUl9OQU1FUyAweDAwMDMKICNkZWZpbmUgVElQQ19DTURfR0VUX0xJTktTIDB4MDAwNAotI2RlZmluZSBUSVBDX0NNRF9TSE9XX05BTUVfVEFCTEUgMHgwMDA1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUSVBDX0NNRF9TSE9XX05BTUVfVEFCTEUgMHgwMDA1CiAjZGVmaW5lIFRJUENfQ01EX1NIT1dfUE9SVFMgMHgwMDA2CiAjZGVmaW5lIFRJUENfQ01EX1NIT1dfTElOS19TVEFUUyAweDAwMEIKICNkZWZpbmUgVElQQ19DTURfU0hPV19TVEFUUyAweDAwMEYKLSNkZWZpbmUgVElQQ19DTURfR0VUX1JFTU9URV9NTkcgMHg0MDAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUSVBDX0NNRF9HRVRfUkVNT1RFX01ORyAweDQwMDMKICNkZWZpbmUgVElQQ19DTURfR0VUX01BWF9QT1JUUyAweDQwMDQKICNkZWZpbmUgVElQQ19DTURfR0VUX01BWF9QVUJMIDB4NDAwNQogI2RlZmluZSBUSVBDX0NNRF9HRVRfTUFYX1NVQlNDUiAweDQwMDYKLSNkZWZpbmUgVElQQ19DTURfR0VUX01BWF9aT05FUyAweDQwMDcKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfQ01EX0dFVF9NQVhfWk9ORVMgMHg0MDA3CiAjZGVmaW5lIFRJUENfQ01EX0dFVF9NQVhfQ0xVU1RFUlMgMHg0MDA4CiAjZGVmaW5lIFRJUENfQ01EX0dFVF9NQVhfTk9ERVMgMHg0MDA5CiAjZGVmaW5lIFRJUENfQ01EX0dFVF9NQVhfU0xBVkVTIDB4NDAwQQotI2RlZmluZSBUSVBDX0NNRF9HRVRfTkVUSUQgMHg0MDBCCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUSVBDX0NNRF9HRVRfTkVUSUQgMHg0MDBCCiAjZGVmaW5lIFRJUENfQ01EX0VOQUJMRV9CRUFSRVIgMHg0MTAxCiAjZGVmaW5lIFRJUENfQ01EX0RJU0FCTEVfQkVBUkVSIDB4NDEwMgogI2RlZmluZSBUSVBDX0NNRF9TRVRfTElOS19UT0wgMHg0MTA3Ci0jZGVmaW5lIFRJUENfQ01EX1NFVF9MSU5LX1BSSSAweDQxMDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfQ01EX1NFVF9MSU5LX1BSSSAweDQxMDgKICNkZWZpbmUgVElQQ19DTURfU0VUX0xJTktfV0lORE9XIDB4NDEwOQogI2RlZmluZSBUSVBDX0NNRF9TRVRfTE9HX1NJWkUgMHg0MTBBCiAjZGVmaW5lIFRJUENfQ01EX0RVTVBfTE9HIDB4NDEwQgotI2RlZmluZSBUSVBDX0NNRF9SRVNFVF9MSU5LX1NUQVRTIDB4NDEwQwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVElQQ19DTURfUkVTRVRfTElOS19TVEFUUyAweDQxMEMKICNkZWZpbmUgVElQQ19DTURfU0VUX05PREVfQUREUiAweDgwMDEKICNkZWZpbmUgVElQQ19DTURfU0VUX1JFTU9URV9NTkcgMHg4MDAzCiAjZGVmaW5lIFRJUENfQ01EX1NFVF9NQVhfUE9SVFMgMHg4MDA0Ci0jZGVmaW5lIFRJUENfQ01EX1NFVF9NQVhfUFVCTCAweDgwMDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfQ01EX1NFVF9NQVhfUFVCTCAweDgwMDUKICNkZWZpbmUgVElQQ19DTURfU0VUX01BWF9TVUJTQ1IgMHg4MDA2CiAjZGVmaW5lIFRJUENfQ01EX1NFVF9NQVhfWk9ORVMgMHg4MDA3CiAjZGVmaW5lIFRJUENfQ01EX1NFVF9NQVhfQ0xVU1RFUlMgMHg4MDA4Ci0jZGVmaW5lIFRJUENfQ01EX1NFVF9NQVhfTk9ERVMgMHg4MDA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUSVBDX0NNRF9TRVRfTUFYX05PREVTIDB4ODAwOQogI2RlZmluZSBUSVBDX0NNRF9TRVRfTUFYX1NMQVZFUyAweDgwMEEKICNkZWZpbmUgVElQQ19DTURfU0VUX05FVElEIDB4ODAwQgogI2RlZmluZSBUSVBDX0NNRF9OT1RfTkVUX0FETUlOIDB4QzAwMQotI2RlZmluZSBUSVBDX1RMVl9OT05FIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfVExWX05PTkUgMAogI2RlZmluZSBUSVBDX1RMVl9WT0lEIDEKICNkZWZpbmUgVElQQ19UTFZfVU5TSUdORUQgMgogI2RlZmluZSBUSVBDX1RMVl9TVFJJTkcgMwotI2RlZmluZSBUSVBDX1RMVl9MQVJHRV9TVFJJTkcgNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVElQQ19UTFZfTEFSR0VfU1RSSU5HIDQKICNkZWZpbmUgVElQQ19UTFZfVUxUUkFfU1RSSU5HIDUKICNkZWZpbmUgVElQQ19UTFZfRVJST1JfU1RSSU5HIDE2CiAjZGVmaW5lIFRJUENfVExWX05FVF9BRERSIDE3Ci0jZGVmaW5lIFRJUENfVExWX01FRElBX05BTUUgMTgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfVExWX01FRElBX05BTUUgMTgKICNkZWZpbmUgVElQQ19UTFZfQkVBUkVSX05BTUUgMTkKICNkZWZpbmUgVElQQ19UTFZfTElOS19OQU1FIDIwCiAjZGVmaW5lIFRJUENfVExWX05PREVfSU5GTyAyMQotI2RlZmluZSBUSVBDX1RMVl9MSU5LX0lORk8gMjIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfVExWX0xJTktfSU5GTyAyMgogI2RlZmluZSBUSVBDX1RMVl9CRUFSRVJfQ09ORklHIDIzCiAjZGVmaW5lIFRJUENfVExWX0xJTktfQ09ORklHIDI0CiAjZGVmaW5lIFRJUENfVExWX05BTUVfVEJMX1FVRVJZIDI1CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX1RMVl9QT1JUX1JFRiAyNgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVElQQ19NQVhfTUVESUFfTkFNRSAxNgotI2RlZmluZSBUSVBDX01BWF9JRl9OQU1FIDE2Ci0jZGVmaW5lIFRJUENfTUFYX0JFQVJFUl9OQU1FIDMyCi0jZGVmaW5lIFRJUENfTUFYX0xJTktfTkFNRSA2MAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19NSU5fTElOS19QUkkgMAogI2RlZmluZSBUSVBDX0RFRl9MSU5LX1BSSSAxMAogI2RlZmluZSBUSVBDX01BWF9MSU5LX1BSSSAzMQotI2RlZmluZSBUSVBDX01FRElBX0xJTktfUFJJIChUSVBDX01BWF9MSU5LX1BSSSArIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBUSVBDX01FRElBX0xJTktfUFJJIChUSVBDX01BWF9MSU5LX1BSSSArIDEpCiAjZGVmaW5lIFRJUENfTUlOX0xJTktfVE9MIDUwCiAjZGVmaW5lIFRJUENfREVGX0xJTktfVE9MIDE1MDAKICNkZWZpbmUgVElQQ19NQVhfTElOS19UT0wgMzAwMDAKLSNpZiBUSVBDX01JTl9MSU5LX1RPTCA8IDE2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2lmIFRJUENfTUlOX0xJTktfVE9MIDwgMTYKICNlcnJvciAiVElQQ19NSU5fTElOS19UT0wgaXMgdG9vIHNtYWxsIChhYm9ydCBsaW1pdCBtYXkgYmUgTmFOKSIKICNlbmRpZgogI2RlZmluZSBUSVBDX01JTl9MSU5LX1dJTiAxNgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVElQQ19ERUZfTElOS19XSU4gNTAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFRJUENfTUFYX0xJTktfV0lOIDE1MAorI2RlZmluZSBUSVBDX01BWF9MSU5LX1dJTiA4MTkxCiBzdHJ1Y3QgdGlwY19ub2RlX2luZm8gewotIF9fYmUzMiBhZGRyOwotIF9fYmUzMiB1cDsKKyAgX19iZTMyIGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2JlMzIgdXA7CiB9Owogc3RydWN0IHRpcGNfbGlua19pbmZvIHsKLSBfX2JlMzIgZGVzdDsKLSBfX2JlMzIgdXA7CisgIF9fYmUzMiBkZXN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHN0cltUSVBDX01BWF9MSU5LX05BTUVdOworICBfX2JlMzIgdXA7CisgIGNoYXIgc3RyW1RJUENfTUFYX0xJTktfTkFNRV07CiB9Owogc3RydWN0IHRpcGNfYmVhcmVyX2NvbmZpZyB7Ci0gX19iZTMyIHByaW9yaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgZGlzY19kb21haW47Ci0gY2hhciBuYW1lW1RJUENfTUFYX0JFQVJFUl9OQU1FXTsKKyAgX19iZTMyIHByaW9yaXR5OworICBfX2JlMzIgZGlzY19kb21haW47CisgIGNoYXIgbmFtZVtUSVBDX01BWF9CRUFSRVJfTkFNRV07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0aXBjX2xpbmtfY29uZmlnIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHZhbHVlOwotIGNoYXIgbmFtZVtUSVBDX01BWF9MSU5LX05BTUVdOworICBfX2JlMzIgdmFsdWU7CisgIGNoYXIgbmFtZVtUSVBDX01BWF9MSU5LX05BTUVdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJUENfTlRRX0FMTFRZUEVTIDB4ODAwMDAwMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdGlwY19uYW1lX3RhYmxlX3F1ZXJ5IHsKLSBfX2JlMzIgZGVwdGg7Ci0gX19iZTMyIHR5cGU7Ci0gX19iZTMyIGxvd2JvdW5kOworICBfX2JlMzIgZGVwdGg7CisgIF9fYmUzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgdXBib3VuZDsKKyAgX19iZTMyIGxvd2JvdW5kOworICBfX2JlMzIgdXBib3VuZDsKIH07CiAjZGVmaW5lIFRJUENfQ0ZHX1RMVl9FUlJPUiAiXHg4MCIKLSNkZWZpbmUgVElQQ19DRkdfTk9UX05FVF9BRE1JTiAiXHg4MSIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRJUENfQ0ZHX05PVF9ORVRfQURNSU4gIlx4ODEiCiAjZGVmaW5lIFRJUENfQ0ZHX05PVF9aT05FX01TVFIgIlx4ODIiCiAjZGVmaW5lIFRJUENfQ0ZHX05PX1JFTU9URSAiXHg4MyIKICNkZWZpbmUgVElQQ19DRkdfTk9UX1NVUFBPUlRFRCAiXHg4NCIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRJUENfQ0ZHX0lOVkFMSURfVkFMVUUgIlx4ODUiCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHRsdl9kZXNjIHsKLSBfX2JlMTYgdGx2X2xlbjsKLSBfX2JlMTYgdGx2X3R5cGU7CisgIF9fYmUxNiB0bHZfbGVuOworICBfX2JlMTYgdGx2X3R5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRMVl9BTElHTlRPIDQKLSNkZWZpbmUgVExWX0FMSUdOKGRhdGFsZW4pICgoKGRhdGFsZW4pKyhUTFZfQUxJR05UTy0xKSkgJiB+KFRMVl9BTElHTlRPLTEpKQorI2RlZmluZSBUTFZfQUxJR04oZGF0YWxlbikgKCgoZGF0YWxlbikgKyAoVExWX0FMSUdOVE8gLSAxKSkgJiB+KFRMVl9BTElHTlRPIC0gMSkpCiAjZGVmaW5lIFRMVl9MRU5HVEgoZGF0YWxlbikgKHNpemVvZihzdHJ1Y3QgdGx2X2Rlc2MpICsgKGRhdGFsZW4pKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVExWX1NQQUNFKGRhdGFsZW4pIChUTFZfQUxJR04oVExWX0xFTkdUSChkYXRhbGVuKSkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBUTFZfREFUQSh0bHYpICgodm9pZCAqKSgoY2hhciAqKSh0bHYpICsgVExWX0xFTkdUSCgwKSkpCisjZGVmaW5lIFRMVl9EQVRBKHRsdikgKCh2b2lkICopICgoY2hhciAqKSAodGx2KSArIFRMVl9MRU5HVEgoMCkpKQogc3RydWN0IHRsdl9saXN0X2Rlc2MgewotIHN0cnVjdCB0bHZfZGVzYyAqdGx2X3B0cjsKLSBfX3UzMiB0bHZfc3BhY2U7CisgIHN0cnVjdCB0bHZfZGVzYyAqIHRsdl9wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiB0bHZfc3BhY2U7CiB9OwogI2RlZmluZSBUSVBDX0dFTkxfTkFNRSAiVElQQyIKICNkZWZpbmUgVElQQ19HRU5MX1ZFUlNJT04gMHgxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUSVBDX0dFTkxfQ01EIDB4MQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB0aXBjX2dlbmxtc2doZHIgewotIF9fdTMyIGRlc3Q7Ci0gX191MTYgY21kOwotIF9fdTE2IHJlc2VydmVkOworICBfX3UzMiBkZXN0OworICBfX3UxNiBjbWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiByZXNlcnZlZDsKIH07CiAjZGVmaW5lIFRJUENfR0VOTF9IRFJMRU4gTkxNU0dfQUxJR04oc2l6ZW9mKHN0cnVjdCB0aXBjX2dlbmxtc2doZHIpKQogc3RydWN0IHRpcGNfY2ZnX21zZ19oZHIgewotIF9fYmUzMiB0Y21fbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgdGNtX3R5cGU7Ci0gX19iZTE2IHRjbV9mbGFnczsKLSBjaGFyIHRjbV9yZXNlcnZlZFs4XTsKKyAgX19iZTMyIHRjbV9sZW47CisgIF9fYmUxNiB0Y21fdHlwZTsKKyAgX19iZTE2IHRjbV9mbGFnczsKKyAgY2hhciB0Y21fcmVzZXJ2ZWRbOF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRDTV9GX1JFUVVFU1QgMHgxCiAjZGVmaW5lIFRDTV9GX01PUkUgMHgyCi0jZGVmaW5lIFRDTV9BTElHTihkYXRhbGVuKSAoKChkYXRhbGVuKSszKSAmIH4zKQotI2RlZmluZSBUQ01fTEVOR1RIKGRhdGFsZW4pIChzaXplb2Yoc3RydWN0IHRpcGNfY2ZnX21zZ19oZHIpICsgZGF0YWxlbikKKyNkZWZpbmUgVENNX0FMSUdOKGRhdGFsZW4pICgoKGRhdGFsZW4pICsgMykgJiB+MykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFRDTV9MRU5HVEgoZGF0YWxlbikgKHNpemVvZihzdHJ1Y3QgdGlwY19jZmdfbXNnX2hkcikgKyBkYXRhbGVuKQogI2RlZmluZSBUQ01fU1BBQ0UoZGF0YWxlbikgKFRDTV9BTElHTihUQ01fTEVOR1RIKGRhdGFsZW4pKSkKLSNkZWZpbmUgVENNX0RBVEEodGNtX2hkcikgKCh2b2lkICopKChjaGFyICopKHRjbV9oZHIpICsgVENNX0xFTkdUSCgwKSkpCisjZGVmaW5lIFRDTV9EQVRBKHRjbV9oZHIpICgodm9pZCAqKSAoKGNoYXIgKikgKHRjbV9oZHIpICsgVENNX0xFTkdUSCgwKSkpCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Rvc2hpYmEuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdG9zaGliYS5oCmluZGV4IDA5YjIwYjUuLjA0ZThlZTUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdG9zaGliYS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdG9zaGliYS5oCkBAIC0yMywxMyArMjMsMTMgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFRPU0hfU01NIF9JT1dSKCd0JywgMHg5MCwgaW50KQogdHlwZWRlZiBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBlYXg7Ci0gdW5zaWduZWQgaW50IGVieCBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIHVuc2lnbmVkIGludCBlYXg7CisgIHVuc2lnbmVkIGludCBlYnggX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBlY3ggX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotIHVuc2lnbmVkIGludCBlZHggX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotIHVuc2lnbmVkIGludCBlc2kgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotIHVuc2lnbmVkIGludCBlZGkgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICB1bnNpZ25lZCBpbnQgZWN4IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworICB1bnNpZ25lZCBpbnQgZWR4IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworICB1bnNpZ25lZCBpbnQgZXNpIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworICB1bnNpZ25lZCBpbnQgZWRpIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gU01NUmVnaXN0ZXJzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3R0eV9mbGFncy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC90dHlfZmxhZ3MuaAppbmRleCAyM2QxZTVkLi5iY2M1ZjYwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3R0eV9mbGFncy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdHR5X2ZsYWdzLmgKQEAgLTc0LDExICs3NCwxMSBAQAogI2RlZmluZSBBU1lOQ19CVUdHWV9VQVJUICgxVSA8PCBBU1lOQ0JfQlVHR1lfVUFSVCkKICNkZWZpbmUgQVNZTkNfQVVUT1BST0JFICgxVSA8PCBBU1lOQ0JfQVVUT1BST0JFKQogI2RlZmluZSBBU1lOQ19GTEFHUyAoKDFVIDw8IChBU1lOQ0JfTEFTVF9VU0VSICsgMSkpIC0gMSkKLSNkZWZpbmUgQVNZTkNfVVNSX01BU0sgKEFTWU5DX1NQRF9NQVNLfEFTWU5DX0NBTExPVVRfTk9IVVB8ICAgQVNZTkNfTE9XX0xBVEVOQ1kpCisjZGVmaW5lIEFTWU5DX1VTUl9NQVNLIChBU1lOQ19TUERfTUFTSyB8IEFTWU5DX0NBTExPVVRfTk9IVVAgfCBBU1lOQ19MT1dfTEFURU5DWSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFTWU5DX1NQRF9DVVNUIChBU1lOQ19TUERfSEl8QVNZTkNfU1BEX1ZISSkKLSNkZWZpbmUgQVNZTkNfU1BEX1dBUlAgKEFTWU5DX1NQRF9ISXxBU1lOQ19TUERfU0hJKQotI2RlZmluZSBBU1lOQ19TUERfTUFTSyAoQVNZTkNfU1BEX0hJfEFTWU5DX1NQRF9WSEl8QVNZTkNfU1BEX1NISSkKKyNkZWZpbmUgQVNZTkNfU1BEX0NVU1QgKEFTWU5DX1NQRF9ISSB8IEFTWU5DX1NQRF9WSEkpCisjZGVmaW5lIEFTWU5DX1NQRF9XQVJQIChBU1lOQ19TUERfSEkgfCBBU1lOQ19TUERfU0hJKQorI2RlZmluZSBBU1lOQ19TUERfTUFTSyAoQVNZTkNfU1BEX0hJIHwgQVNZTkNfU1BEX1ZISSB8IEFTWU5DX1NQRF9TSEkpCiAjZGVmaW5lIEFTWU5DX0lOSVRJQUxJWkVEICgxVSA8PCBBU1lOQ0JfSU5JVElBTElaRUQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBBU1lOQ19OT1JNQUxfQUNUSVZFICgxVSA8PCBBU1lOQ0JfTk9STUFMX0FDVElWRSkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWRwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VkcC5oCmluZGV4IDQxYTA1OTIuLmUxZDU0NmMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWRwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91ZHAuaApAQCAtMjEsMTYgKzIxLDE5IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB1ZHBoZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgc291cmNlOwotIF9fYmUxNiBkZXN0OwotIF9fYmUxNiBsZW47Ci0gX19zdW0xNiBjaGVjazsKKyAgX19iZTE2IHNvdXJjZTsKKyAgX19iZTE2IGRlc3Q7CisgIF9fYmUxNiBsZW47CisgIF9fc3VtMTYgY2hlY2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVURQX0NPUksgMQogI2RlZmluZSBVRFBfRU5DQVAgMTAwCi0jZGVmaW5lIFVEUF9FTkNBUF9FU1BJTlVEUF9OT05fSUtFIDEKKyNkZWZpbmUgVURQX05PX0NIRUNLNl9UWCAxMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFVEUF9OT19DSEVDSzZfUlggMTAyCisjZGVmaW5lIFVEUF9FTkNBUF9FU1BJTlVEUF9OT05fSUtFIDEKICNkZWZpbmUgVURQX0VOQ0FQX0VTUElOVURQIDIKICNkZWZpbmUgVURQX0VOQ0FQX0wyVFBJTlVEUCAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VoaWQuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWhpZC5oCmluZGV4IDM3YzNiMTcuLmUwMTJhOGQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWhpZC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWhpZC5oCkBAIC0yMSw4OCArMjEsMTY5IEBACiAjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNpbmNsdWRlIDxsaW51eC9oaWQuaD4KIGVudW0gdWhpZF9ldmVudF90eXBlIHsKLSBVSElEX0NSRUFURSwKLSBVSElEX0RFU1RST1ksCi0gVUhJRF9TVEFSVCwKKyAgX19VSElEX0xFR0FDWV9DUkVBVEUsCisgIFVISURfREVTVFJPWSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVUhJRF9TVE9QLAotIFVISURfT1BFTiwKLSBVSElEX0NMT1NFLAotIFVISURfT1VUUFVULAorICBVSElEX1NUQVJULAorICBVSElEX1NUT1AsCisgIFVISURfT1BFTiwKKyAgVUhJRF9DTE9TRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVUhJRF9PVVRQVVRfRVYsCi0gVUhJRF9JTlBVVCwKLSBVSElEX0ZFQVRVUkUsCi0gVUhJRF9GRUFUVVJFX0FOU1dFUiwKKyAgVUhJRF9PVVRQVVQsCisgIF9fVUhJRF9MRUdBQ1lfT1VUUFVUX0VWLAorICBfX1VISURfTEVHQUNZX0lOUFVULAorICBVSElEX0dFVF9SRVBPUlQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBVSElEX0dFVF9SRVBPUlRfUkVQTFksCisgIFVISURfQ1JFQVRFMiwKKyAgVUhJRF9JTlBVVDIsCisgIFVISURfU0VUX1JFUE9SVCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFVISURfU0VUX1JFUE9SVF9SRVBMWSwKIH07Ci1zdHJ1Y3QgdWhpZF9jcmVhdGVfcmVxIHsKLSBfX3U4IG5hbWVbMTI4XTsKLSBfX3U4IHBoeXNbNjRdOworc3RydWN0IHVoaWRfY3JlYXRlMl9yZXEgeworICBfX3U4IG5hbWVbMTI4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB1bmlxWzY0XTsKLSBfX3U4IF9fdXNlciAqcmRfZGF0YTsKLSBfX3UxNiByZF9zaXplOwotIF9fdTE2IGJ1czsKKyAgX191OCBwaHlzWzY0XTsKKyAgX191OCB1bmlxWzY0XTsKKyAgX191MTYgcmRfc2l6ZTsKKyAgX191MTYgYnVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB2ZW5kb3I7Ci0gX191MzIgcHJvZHVjdDsKLSBfX3UzMiB2ZXJzaW9uOwotIF9fdTMyIGNvdW50cnk7CisgIF9fdTMyIHZlbmRvcjsKKyAgX191MzIgcHJvZHVjdDsKKyAgX191MzIgdmVyc2lvbjsKKyAgX191MzIgY291bnRyeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcmRfZGF0YVtISURfTUFYX0RFU0NSSVBUT1JfU0laRV07CiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKK2VudW0gdWhpZF9kZXZfZmxhZyB7CisgIFVISURfREVWX05VTUJFUkVEX0ZFQVRVUkVfUkVQT1JUUyA9ICgxVUxMIDw8IDApLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVUhJRF9ERVZfTlVNQkVSRURfT1VUUFVUX1JFUE9SVFMgPSAoMVVMTCA8PCAxKSwKKyAgVUhJRF9ERVZfTlVNQkVSRURfSU5QVVRfUkVQT1JUUyA9ICgxVUxMIDw8IDIpLAorfTsKK3N0cnVjdCB1aGlkX3N0YXJ0X3JlcSB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBkZXZfZmxhZ3M7Cit9OwogI2RlZmluZSBVSElEX0RBVEFfTUFYIDQwOTYKIGVudW0gdWhpZF9yZXBvcnRfdHlwZSB7Ci0gVUhJRF9GRUFUVVJFX1JFUE9SVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVUhJRF9PVVRQVVRfUkVQT1JULAotIFVISURfSU5QVVRfUkVQT1JULAorICBVSElEX0ZFQVRVUkVfUkVQT1JULAorICBVSElEX09VVFBVVF9SRVBPUlQsCisgIFVISURfSU5QVVRfUkVQT1JULAogfTsKLXN0cnVjdCB1aGlkX2lucHV0X3JlcSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGF0YVtVSElEX0RBVEFfTUFYXTsKLSBfX3UxNiBzaXplOworc3RydWN0IHVoaWRfaW5wdXQyX3JlcSB7CisgIF9fdTE2IHNpemU7CisgIF9fdTggZGF0YVtVSElEX0RBVEFfTUFYXTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1aGlkX291dHB1dF9yZXEgeworICBfX3U4IGRhdGFbVUhJRF9EQVRBX01BWF07CisgIF9fdTE2IHNpemU7CisgIF9fdTggcnR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGF0YVtVSElEX0RBVEFfTUFYXTsKLSBfX3UxNiBzaXplOwotIF9fdTggcnR5cGU7Cit9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKK3N0cnVjdCB1aGlkX2dldF9yZXBvcnRfcmVxIHsKKyAgX191MzIgaWQ7CisgIF9fdTggcm51bTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcnR5cGU7Cit9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKK3N0cnVjdCB1aGlkX2dldF9yZXBvcnRfcmVwbHlfcmVxIHsKKyAgX191MzIgaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBlcnI7CisgIF9fdTE2IHNpemU7CisgIF9fdTggZGF0YVtVSElEX0RBVEFfTUFYXTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCB1aGlkX291dHB1dF9ldl9yZXEgewotIF9fdTE2IHR5cGU7Ci0gX191MTYgY29kZTsKLSBfX3MzMiB2YWx1ZTsKK3N0cnVjdCB1aGlkX3NldF9yZXBvcnRfcmVxIHsKKyAgX191MzIgaWQ7CisgIF9fdTggcm51bTsKKyAgX191OCBydHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHNpemU7CisgIF9fdTggZGF0YVtVSElEX0RBVEFfTUFYXTsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworc3RydWN0IHVoaWRfc2V0X3JlcG9ydF9yZXBseV9yZXEgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgaWQ7CisgIF9fdTE2IGVycjsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworZW51bSB1aGlkX2xlZ2FjeV9ldmVudF90eXBlIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFVISURfQ1JFQVRFID0gX19VSElEX0xFR0FDWV9DUkVBVEUsCisgIFVISURfT1VUUFVUX0VWID0gX19VSElEX0xFR0FDWV9PVVRQVVRfRVYsCisgIFVISURfSU5QVVQgPSBfX1VISURfTEVHQUNZX0lOUFVULAorICBVSElEX0ZFQVRVUkUgPSBVSElEX0dFVF9SRVBPUlQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBVSElEX0ZFQVRVUkVfQU5TV0VSID0gVUhJRF9HRVRfUkVQT1JUX1JFUExZLAorfTsKK3N0cnVjdCB1aGlkX2NyZWF0ZV9yZXEgeworICBfX3U4IG5hbWVbMTI4XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcGh5c1s2NF07CisgIF9fdTggdW5pcVs2NF07CisgIF9fdTggX191c2VyICogcmRfZGF0YTsKKyAgX191MTYgcmRfc2l6ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IGJ1czsKKyAgX191MzIgdmVuZG9yOworICBfX3UzMiBwcm9kdWN0OworICBfX3UzMiB2ZXJzaW9uOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgY291bnRyeTsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworc3RydWN0IHVoaWRfaW5wdXRfcmVxIHsKKyAgX191OCBkYXRhW1VISURfREFUQV9NQVhdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgc2l6ZTsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworc3RydWN0IHVoaWRfb3V0cHV0X2V2X3JlcSB7CisgIF9fdTE2IHR5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBjb2RlOworICBfX3MzMiB2YWx1ZTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogc3RydWN0IHVoaWRfZmVhdHVyZV9yZXEgewotIF9fdTMyIGlkOwotIF9fdTggcm51bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBydHlwZTsKKyAgX191MzIgaWQ7CisgIF9fdTggcm51bTsKKyAgX191OCBydHlwZTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1aGlkX2ZlYXR1cmVfYW5zd2VyX3JlcSB7Ci0gX191MzIgaWQ7CisgIF9fdTMyIGlkOworICBfX3UxNiBlcnI7CisgIF9fdTE2IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGVycjsKLSBfX3UxNiBzaXplOwotIF9fdTggZGF0YVtVSElEX0RBVEFfTUFYXTsKKyAgX191OCBkYXRhW1VISURfREFUQV9NQVhdOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVoaWRfZXZlbnQgewotIF9fdTMyIHR5cGU7Ci0gdW5pb24gewotIHN0cnVjdCB1aGlkX2NyZWF0ZV9yZXEgY3JlYXRlOworICBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdWhpZF9pbnB1dF9yZXEgaW5wdXQ7Ci0gc3RydWN0IHVoaWRfb3V0cHV0X3JlcSBvdXRwdXQ7Ci0gc3RydWN0IHVoaWRfb3V0cHV0X2V2X3JlcSBvdXRwdXRfZXY7Ci0gc3RydWN0IHVoaWRfZmVhdHVyZV9yZXEgZmVhdHVyZTsKKyAgdW5pb24geworICAgIHN0cnVjdCB1aGlkX2NyZWF0ZV9yZXEgY3JlYXRlOworICAgIHN0cnVjdCB1aGlkX2lucHV0X3JlcSBpbnB1dDsKKyAgICBzdHJ1Y3QgdWhpZF9vdXRwdXRfcmVxIG91dHB1dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHVoaWRfZmVhdHVyZV9hbnN3ZXJfcmVxIGZlYXR1cmVfYW5zd2VyOwotIH0gdTsKKyAgICBzdHJ1Y3QgdWhpZF9vdXRwdXRfZXZfcmVxIG91dHB1dF9ldjsKKyAgICBzdHJ1Y3QgdWhpZF9mZWF0dXJlX3JlcSBmZWF0dXJlOworICAgIHN0cnVjdCB1aGlkX2dldF9yZXBvcnRfcmVxIGdldF9yZXBvcnQ7CisgICAgc3RydWN0IHVoaWRfZmVhdHVyZV9hbnN3ZXJfcmVxIGZlYXR1cmVfYW5zd2VyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBzdHJ1Y3QgdWhpZF9nZXRfcmVwb3J0X3JlcGx5X3JlcSBnZXRfcmVwb3J0X3JlcGx5OworICAgIHN0cnVjdCB1aGlkX2NyZWF0ZTJfcmVxIGNyZWF0ZTI7CisgICAgc3RydWN0IHVoaWRfaW5wdXQyX3JlcSBpbnB1dDI7CisgICAgc3RydWN0IHVoaWRfc2V0X3JlcG9ydF9yZXEgc2V0X3JlcG9ydDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgc3RydWN0IHVoaWRfc2V0X3JlcG9ydF9yZXBseV9yZXEgc2V0X3JlcG9ydF9yZXBseTsKKyAgICBzdHJ1Y3QgdWhpZF9zdGFydF9yZXEgc3RhcnQ7CisgIH0gdTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VpbnB1dC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91aW5wdXQuaAppbmRleCA2YWQwMzM0Li44NDVhZmZjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VpbnB1dC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWlucHV0LmgKQEAgLTIxLDE5ICsyMSwxOSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFVJTlBVVF9WRVJTSU9OIDMKKyNkZWZpbmUgVUlOUFVUX1ZFUlNJT04gNAogc3RydWN0IHVpbnB1dF9mZl91cGxvYWQgewotIF9fdTMyIHJlcXVlc3RfaWQ7Ci0gX19zMzIgcmV0dmFsOworICBfX3UzMiByZXF1ZXN0X2lkOworICBfX3MzMiByZXR2YWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmZl9lZmZlY3QgZWZmZWN0OwotIHN0cnVjdCBmZl9lZmZlY3Qgb2xkOworICBzdHJ1Y3QgZmZfZWZmZWN0IGVmZmVjdDsKKyAgc3RydWN0IGZmX2VmZmVjdCBvbGQ7CiB9Owogc3RydWN0IHVpbnB1dF9mZl9lcmFzZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlcXVlc3RfaWQ7Ci0gX19zMzIgcmV0dmFsOwotIF9fdTMyIGVmZmVjdF9pZDsKKyAgX191MzIgcmVxdWVzdF9pZDsKKyAgX19zMzIgcmV0dmFsOworICBfX3UzMiBlZmZlY3RfaWQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUlOUFVUX0lPQ1RMX0JBU0UgJ1UnCkBAIC00OSw3ICs0OSw3IEBACiAjZGVmaW5lIFVJX1NFVF9MRURCSVQgX0lPVyhVSU5QVVRfSU9DVExfQkFTRSwgMTA1LCBpbnQpCiAjZGVmaW5lIFVJX1NFVF9TTkRCSVQgX0lPVyhVSU5QVVRfSU9DVExfQkFTRSwgMTA2LCBpbnQpCiAjZGVmaW5lIFVJX1NFVF9GRkJJVCBfSU9XKFVJTlBVVF9JT0NUTF9CQVNFLCAxMDcsIGludCkKLSNkZWZpbmUgVUlfU0VUX1BIWVMgX0lPVyhVSU5QVVRfSU9DVExfQkFTRSwgMTA4LCBjaGFyKikKKyNkZWZpbmUgVUlfU0VUX1BIWVMgX0lPVyhVSU5QVVRfSU9DVExfQkFTRSwgMTA4LCBjaGFyICopCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVSV9TRVRfU1dCSVQgX0lPVyhVSU5QVVRfSU9DVExfQkFTRSwgMTA5LCBpbnQpCiAjZGVmaW5lIFVJX1NFVF9QUk9QQklUIF9JT1coVUlOUFVUX0lPQ1RMX0JBU0UsIDExMCwgaW50KQpAQCAtNTgsMjEgKzU4LDIzIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVSV9CRUdJTl9GRl9FUkFTRSBfSU9XUihVSU5QVVRfSU9DVExfQkFTRSwgMjAyLCBzdHJ1Y3QgdWlucHV0X2ZmX2VyYXNlKQogI2RlZmluZSBVSV9FTkRfRkZfRVJBU0UgX0lPVyhVSU5QVVRfSU9DVExfQkFTRSwgMjAzLCBzdHJ1Y3QgdWlucHV0X2ZmX2VyYXNlKQorI2RlZmluZSBVSV9HRVRfU1lTTkFNRShsZW4pIF9JT0MoX0lPQ19SRUFELCBVSU5QVVRfSU9DVExfQkFTRSwgMzAwLCBsZW4pCisjZGVmaW5lIFVJX0dFVF9WRVJTSU9OIF9JT1IoVUlOUFVUX0lPQ1RMX0JBU0UsIDMwMSwgdW5zaWduZWQgaW50KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRVZfVUlOUFVUIDB4MDEwMQogI2RlZmluZSBVSV9GRl9VUExPQUQgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUlfRkZfRVJBU0UgMgogI2RlZmluZSBVSU5QVVRfTUFYX05BTUVfU0laRSA4MAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1aW5wdXRfdXNlcl9kZXYgewotIGNoYXIgbmFtZVtVSU5QVVRfTUFYX05BTUVfU0laRV07CisgIGNoYXIgbmFtZVtVSU5QVVRfTUFYX05BTUVfU0laRV07CisgIHN0cnVjdCBpbnB1dF9pZCBpZDsKKyAgX191MzIgZmZfZWZmZWN0c19tYXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpbnB1dF9pZCBpZDsKLSBfX3UzMiBmZl9lZmZlY3RzX21heDsKLSBfX3MzMiBhYnNtYXhbQUJTX0NOVF07Ci0gX19zMzIgYWJzbWluW0FCU19DTlRdOworICBfX3MzMiBhYnNtYXhbQUJTX0NOVF07CisgIF9fczMyIGFic21pbltBQlNfQ05UXTsKKyAgX19zMzIgYWJzZnV6eltBQlNfQ05UXTsKKyAgX19zMzIgYWJzZmxhdFtBQlNfQ05UXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgYWJzZnV6eltBQlNfQ05UXTsKLSBfX3MzMiBhYnNmbGF0W0FCU19DTlRdOwogfTsKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWlvLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Vpby5oCmluZGV4IDQ0OTQwYzEuLmVlYWNiNTkgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdWlvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91aW8uaApAQCAtMjEsMTMgKzIxLDExIEBACiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBpb3ZlYwotewotIHZvaWQgX191c2VyICppb3ZfYmFzZTsKLSBfX2tlcm5lbF9zaXplX3QgaW92X2xlbjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgaW92ZWMgeworICB2b2lkIF9fdXNlciAqIGlvdl9iYXNlOworICBfX2tlcm5lbF9zaXplX3QgaW92X2xlbjsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVSU9fRkFTVElPViA4CiAjZGVmaW5lIFVJT19NQVhJT1YgMTAyNAogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91bHRyYXNvdW5kLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VsdHJhc291bmQuaAppbmRleCAzM2M0YjViLi5kOTU4MmJlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VsdHJhc291bmQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VsdHJhc291bmQuaApAQCAtMzksMjcgKzM5LDI3IEBACiAjZGVmaW5lIF9HVVNfVk9MVU1FX1NDQUxFIDB4MGUKICNkZWZpbmUgX0dVU19WT0lDRVZPTDIgMHgwZgogI2RlZmluZSBfR1VTX1ZPSUNFX1BPUyAweDEwCi0jZGVmaW5lIF9HVVNfQ01EKGNobiwgdm9pY2UsIGNtZCwgcDEsIHAyKSAgIHtfU0VRX05FRURCVUYoOCk7IF9zZXFidWZbX3NlcWJ1ZnB0cl0gPSBTRVFfUFJJVkFURTsgIF9zZXFidWZbX3NlcWJ1ZnB0cisxXSA9IChjaG4pOyBfc2VxYnVmW19zZXFidWZwdHIrMl0gPSBjbWQ7ICBfc2VxYnVmW19zZXFidWZwdHIrM10gPSB2b2ljZTsgICoodW5zaWduZWQgc2hvcnQqKSZfc2VxYnVmW19zZXFidWZwdHIrNF0gPSBwMTsgICoodW5zaWduZWQgc2hvcnQqKSZfc2VxYnVmW19zZXFidWZwdHIrNl0gPSBwMjsgIF9TRVFfQURWQlVGKDgpO30KKyNkZWZpbmUgX0dVU19DTUQoY2huLHZvaWNlLGNtZCxwMSxwMikgeyBfU0VRX05FRURCVUYoOCk7IF9zZXFidWZbX3NlcWJ1ZnB0cl0gPSBTRVFfUFJJVkFURTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMV0gPSAoY2huKTsgX3NlcWJ1Zltfc2VxYnVmcHRyICsgMl0gPSBjbWQ7IF9zZXFidWZbX3NlcWJ1ZnB0ciArIDNdID0gdm9pY2U7ICogKHVuc2lnbmVkIHNob3J0ICopICYgX3NlcWJ1Zltfc2VxYnVmcHRyICsgNF0gPSBwMTsgKiAodW5zaWduZWQgc2hvcnQgKikgJiBfc2VxYnVmW19zZXFidWZwdHIgKyA2XSA9IHAyOyBfU0VRX0FEVkJVRig4KTsgfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgR1VTX05VTVZPSUNFUyhjaG4sIHAxKSBfR1VTX0NNRChjaG4sIDAsIF9HVVNfTlVNVk9JQ0VTLCAocDEpLCAwKQotI2RlZmluZSBHVVNfVk9JQ0VTQU1QTEUoY2huLCB2b2ljZSwgcDEpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VTQU1QTEUsIChwMSksIDApCi0jZGVmaW5lIEdVU19WT0lDRU9OKGNobiwgdm9pY2UsIHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPSUNFT04sIChwMSksIDApCi0jZGVmaW5lIEdVU19WT0lDRU9GRihjaG4sIHZvaWNlKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPSUNFT0ZGLCAwLCAwKQorI2RlZmluZSBHVVNfTlVNVk9JQ0VTKGNobixwMSkgX0dVU19DTUQoY2huLCAwLCBfR1VTX05VTVZPSUNFUywgKHAxKSwgMCkKKyNkZWZpbmUgR1VTX1ZPSUNFU0FNUExFKGNobix2b2ljZSxwMSkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRVNBTVBMRSwgKHAxKSwgMCkKKyNkZWZpbmUgR1VTX1ZPSUNFT04oY2huLHZvaWNlLHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPSUNFT04sIChwMSksIDApCisjZGVmaW5lIEdVU19WT0lDRU9GRihjaG4sdm9pY2UpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VPRkYsIDAsIDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBHVVNfVk9JQ0VGQURFKGNobiwgdm9pY2UpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VGQURFLCAwLCAwKQotI2RlZmluZSBHVVNfVk9JQ0VNT0RFKGNobiwgdm9pY2UsIHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPSUNFTU9ERSwgKHAxKSwgMCkKLSNkZWZpbmUgR1VTX1ZPSUNFQkFMQShjaG4sIHZvaWNlLCBwMSkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRUJBTEEsIChwMSksIDApCi0jZGVmaW5lIEdVU19WT0lDRUZSRVEoY2huLCB2b2ljZSwgcCkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRUZSRVEsICAgKHApICYgMHhmZmZmLCAoKHApID4+IDE2KSAmIDB4ZmZmZikKKyNkZWZpbmUgR1VTX1ZPSUNFRkFERShjaG4sdm9pY2UpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VGQURFLCAwLCAwKQorI2RlZmluZSBHVVNfVk9JQ0VNT0RFKGNobix2b2ljZSxwMSkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRU1PREUsIChwMSksIDApCisjZGVmaW5lIEdVU19WT0lDRUJBTEEoY2huLHZvaWNlLHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPSUNFQkFMQSwgKHAxKSwgMCkKKyNkZWZpbmUgR1VTX1ZPSUNFRlJFUShjaG4sdm9pY2UscCkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRUZSRVEsIChwKSAmIDB4ZmZmZiwgKChwKSA+PiAxNikgJiAweGZmZmYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBHVVNfVk9JQ0VWT0woY2huLCB2b2ljZSwgcDEpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VWT0wsIChwMSksIDApCi0jZGVmaW5lIEdVU19WT0lDRVZPTDIoY2huLCB2b2ljZSwgcDEpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VWT0wyLCAocDEpLCAwKQotI2RlZmluZSBHVVNfUkFNUFJBTkdFKGNobiwgdm9pY2UsIGxvdywgaGlnaCkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19SQU1QUkFOR0UsIChsb3cpLCAoaGlnaCkpCi0jZGVmaW5lIEdVU19SQU1QUkFURShjaG4sIHZvaWNlLCBwMSwgcDIpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfUkFNUFJBVEUsIChwMSksIChwMikpCisjZGVmaW5lIEdVU19WT0lDRVZPTChjaG4sdm9pY2UscDEpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfVk9JQ0VWT0wsIChwMSksIDApCisjZGVmaW5lIEdVU19WT0lDRVZPTDIoY2huLHZvaWNlLHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPSUNFVk9MMiwgKHAxKSwgMCkKKyNkZWZpbmUgR1VTX1JBTVBSQU5HRShjaG4sdm9pY2UsbG93LGhpZ2gpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfUkFNUFJBTkdFLCAobG93KSwgKGhpZ2gpKQorI2RlZmluZSBHVVNfUkFNUFJBVEUoY2huLHZvaWNlLHAxLHAyKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1JBTVBSQVRFLCAocDEpLCAocDIpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgR1VTX1JBTVBNT0RFKGNobiwgdm9pY2UsIHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1JBTVBNT0RFLCAocDEpLCAwKQotI2RlZmluZSBHVVNfUkFNUE9OKGNobiwgdm9pY2UsIHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1JBTVBPTiwgKHAxKSwgMCkKLSNkZWZpbmUgR1VTX1JBTVBPRkYoY2huLCB2b2ljZSkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19SQU1QT0ZGLCAwLCAwKQotI2RlZmluZSBHVVNfVk9MVU1FX1NDQUxFKGNobiwgdm9pY2UsIHAxLCBwMikgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0xVTUVfU0NBTEUsIChwMSksIChwMikpCisjZGVmaW5lIEdVU19SQU1QTU9ERShjaG4sdm9pY2UscDEpIF9HVVNfQ01EKGNobiwgdm9pY2UsIF9HVVNfUkFNUE1PREUsIChwMSksIDApCisjZGVmaW5lIEdVU19SQU1QT04oY2huLHZvaWNlLHAxKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1JBTVBPTiwgKHAxKSwgMCkKKyNkZWZpbmUgR1VTX1JBTVBPRkYoY2huLHZvaWNlKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1JBTVBPRkYsIDAsIDApCisjZGVmaW5lIEdVU19WT0xVTUVfU0NBTEUoY2huLHZvaWNlLHAxLHAyKSBfR1VTX0NNRChjaG4sIHZvaWNlLCBfR1VTX1ZPTFVNRV9TQ0FMRSwgKHAxKSwgKHAyKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEdVU19WT0lDRV9QT1MoY2huLCB2b2ljZSwgcCkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRV9QT1MsICAgKHApICYgMHhmZmZmLCAoKHApID4+IDE2KSAmIDB4ZmZmZikKKyNkZWZpbmUgR1VTX1ZPSUNFX1BPUyhjaG4sdm9pY2UscCkgX0dVU19DTUQoY2huLCB2b2ljZSwgX0dVU19WT0lDRV9QT1MsIChwKSAmIDB4ZmZmZiwgKChwKSA+PiAxNikgJiAweGZmZmYpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdW4uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdW4uaAppbmRleCA3MzZiNWJmLi4wN2Y2MTVlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VuLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91bi5oCkBAIC0yMiw4ICsyMiw4IEBACiAjZGVmaW5lIFVOSVhfUEFUSF9NQVggMTA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNvY2thZGRyX3VuIHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzdW5fZmFtaWx5OwotIGNoYXIgc3VuX3BhdGhbVU5JWF9QQVRIX01BWF07CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHN1bl9mYW1pbHk7CisgIGNoYXIgc3VuX3BhdGhbVU5JWF9QQVRIX01BWF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91bml4X2RpYWcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdW5peF9kaWFnLmgKaW5kZXggNDc1NTgzZS4uZmYyMTM4ZSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91bml4X2RpYWcuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VuaXhfZGlhZy5oCkBAIC0yMSwxNCArMjEsMTQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHVuaXhfZGlhZ19yZXEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNkaWFnX2ZhbWlseTsKLSBfX3U4IHNkaWFnX3Byb3RvY29sOwotIF9fdTE2IHBhZDsKLSBfX3UzMiB1ZGlhZ19zdGF0ZXM7CisgIF9fdTggc2RpYWdfZmFtaWx5OworICBfX3U4IHNkaWFnX3Byb3RvY29sOworICBfX3UxNiBwYWQ7CisgIF9fdTMyIHVkaWFnX3N0YXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdWRpYWdfaW5vOwotIF9fdTMyIHVkaWFnX3Nob3c7Ci0gX191MzIgdWRpYWdfY29va2llWzJdOworICBfX3UzMiB1ZGlhZ19pbm87CisgIF9fdTMyIHVkaWFnX3Nob3c7CisgIF9fdTMyIHVkaWFnX2Nvb2tpZVsyXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVRElBR19TSE9XX05BTUUgMHgwMDAwMDAwMQpAQCAtMzksMzcgKzM5LDM3IEBACiAjZGVmaW5lIFVESUFHX1NIT1dfUlFMRU4gMHgwMDAwMDAxMAogI2RlZmluZSBVRElBR19TSE9XX01FTUlORk8gMHgwMDAwMDAyMAogc3RydWN0IHVuaXhfZGlhZ19tc2cgewotIF9fdTggdWRpYWdfZmFtaWx5OworICBfX3U4IHVkaWFnX2ZhbWlseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB1ZGlhZ190eXBlOwotIF9fdTggdWRpYWdfc3RhdGU7Ci0gX191OCBwYWQ7Ci0gX191MzIgdWRpYWdfaW5vOworICBfX3U4IHVkaWFnX3R5cGU7CisgIF9fdTggdWRpYWdfc3RhdGU7CisgIF9fdTggcGFkOworICBfX3UzMiB1ZGlhZ19pbm87CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHVkaWFnX2Nvb2tpZVsyXTsKKyAgX191MzIgdWRpYWdfY29va2llWzJdOwogfTsKIGVudW0gewotIFVOSVhfRElBR19OQU1FLAorICBVTklYX0RJQUdfTkFNRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVU5JWF9ESUFHX1ZGUywKLSBVTklYX0RJQUdfUEVFUiwKLSBVTklYX0RJQUdfSUNPTlMsCi0gVU5JWF9ESUFHX1JRTEVOLAorICBVTklYX0RJQUdfVkZTLAorICBVTklYX0RJQUdfUEVFUiwKKyAgVU5JWF9ESUFHX0lDT05TLAorICBVTklYX0RJQUdfUlFMRU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFVOSVhfRElBR19NRU1JTkZPLAotIFVOSVhfRElBR19TSFVURE9XTiwKLSBfX1VOSVhfRElBR19NQVgsCisgIFVOSVhfRElBR19NRU1JTkZPLAorICBVTklYX0RJQUdfU0hVVERPV04sCisgIF9fVU5JWF9ESUFHX01BWCwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVTklYX0RJQUdfTUFYIChfX1VOSVhfRElBR19NQVggLSAxKQogc3RydWN0IHVuaXhfZGlhZ192ZnMgewotIF9fdTMyIHVkaWFnX3Zmc19pbm87Ci0gX191MzIgdWRpYWdfdmZzX2RldjsKKyAgX191MzIgdWRpYWdfdmZzX2lubzsKKyAgX191MzIgdWRpYWdfdmZzX2RldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHVuaXhfZGlhZ19ycWxlbiB7Ci0gX191MzIgdWRpYWdfcnF1ZXVlOwotIF9fdTMyIHVkaWFnX3dxdWV1ZTsKKyAgX191MzIgdWRpYWdfcnF1ZXVlOworICBfX3UzMiB1ZGlhZ193cXVldWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvYXVkaW8uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2F1ZGlvLmgKaW5kZXggNDBkZjc1ZC4uNDU5NTE2YyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvYXVkaW8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9hdWRpby5oCkBAIC0xMjMsMzMgKzEyMywzNCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFDX1RFUk1JTkFMX1ZFTkRPUl9TUEVDIDB4MUZGCiBzdHJ1Y3QgdWFjMV9hY19oZWFkZXJfZGVzY3JpcHRvciB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX2xlMTYgYmNkQURDOwotIF9fbGUxNiB3VG90YWxMZW5ndGg7Ci0gX191OCBiSW5Db2xsZWN0aW9uOworICBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKKyAgX19sZTE2IGJjZEFEQzsKKyAgX19sZTE2IHdUb3RhbExlbmd0aDsKKyAgX191OCBiSW5Db2xsZWN0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJhSW50ZXJmYWNlTnJbXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJhSW50ZXJmYWNlTnJbXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVBQ19EVF9BQ19IRUFERVJfU0laRShuKSAoOCArIChuKSkKLSNkZWZpbmUgREVDTEFSRV9VQUNfQUNfSEVBREVSX0RFU0NSSVBUT1IobikgIHN0cnVjdCB1YWMxX2FjX2hlYWRlcl9kZXNjcmlwdG9yXyMjbiB7ICAgX191OCBiTGVuZ3RoOyAgIF9fdTggYkRlc2NyaXB0b3JUeXBlOyAgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOyAgIF9fbGUxNiBiY2RBREM7ICAgX19sZTE2IHdUb3RhbExlbmd0aDsgICBfX3U4IGJJbkNvbGxlY3Rpb247ICAgX191OCBiYUludGVyZmFjZU5yW25dOyAgfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkKKyNkZWZpbmUgREVDTEFSRV9VQUNfQUNfSEVBREVSX0RFU0NSSVBUT1Iobikgc3RydWN0IHVhYzFfYWNfaGVhZGVyX2Rlc2NyaXB0b3JfICMjbiB7IF9fdTggYkxlbmd0aDsgX191OCBiRGVzY3JpcHRvclR5cGU7IF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOyBfX2xlMTYgYmNkQURDOyBfX2xlMTYgd1RvdGFsTGVuZ3RoOyBfX3U4IGJJbkNvbGxlY3Rpb247IF9fdTggYmFJbnRlcmZhY2VOcltuXTsgXAorfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1YWNfaW5wdXRfdGVybWluYWxfZGVzY3JpcHRvciB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiVGVybWluYWxJRDsKLSBfX2xlMTYgd1Rlcm1pbmFsVHlwZTsKLSBfX3U4IGJBc3NvY1Rlcm1pbmFsOwotIF9fdTggYk5yQ2hhbm5lbHM7CisgIF9fdTggYlRlcm1pbmFsSUQ7CisgIF9fbGUxNiB3VGVybWluYWxUeXBlOworICBfX3U4IGJBc3NvY1Rlcm1pbmFsOworICBfX3U4IGJOckNoYW5uZWxzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgd0NoYW5uZWxDb25maWc7Ci0gX191OCBpQ2hhbm5lbE5hbWVzOwotIF9fdTggaVRlcm1pbmFsOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUxNiB3Q2hhbm5lbENvbmZpZzsKKyAgX191OCBpQ2hhbm5lbE5hbWVzOworICBfX3U4IGlUZXJtaW5hbDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQUNfRFRfSU5QVVRfVEVSTUlOQUxfU0laRSAxMgogI2RlZmluZSBVQUNfSU5QVVRfVEVSTUlOQUxfVU5ERUZJTkVEIDB4MjAwCkBAIC0xNjMsMTcgKzE2NCwxNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFDX1RFUk1JTkFMX0NTX0NPUFlfUFJPVEVDVF9DT05UUk9MIDB4MDEKIHN0cnVjdCB1YWMxX291dHB1dF90ZXJtaW5hbF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOwotIF9fdTggYlRlcm1pbmFsSUQ7Ci0gX19sZTE2IHdUZXJtaW5hbFR5cGU7Ci0gX191OCBiQXNzb2NUZXJtaW5hbDsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYlRlcm1pbmFsSUQ7CisgIF9fbGUxNiB3VGVybWluYWxUeXBlOworICBfX3U4IGJBc3NvY1Rlcm1pbmFsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJTb3VyY2VJRDsKLSBfX3U4IGlUZXJtaW5hbDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJTb3VyY2VJRDsKKyAgX191OCBpVGVybWluYWw7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVQUNfRFRfT1VUUFVUX1RFUk1JTkFMX1NJWkUgOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFDX09VVFBVVF9URVJNSU5BTF9VTkRFRklORUQgMHgzMDAKQEAgLTE4Nyw1OSArMTg4LDYwIEBACiAjZGVmaW5lIFVBQ19PVVRQVVRfVEVSTUlOQUxfTE9XX0ZSRVFfRUZGRUNUU19TUEVBS0VSIDB4MzA3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQUNfRFRfRkVBVFVSRV9VTklUX1NJWkUoY2gpICg3ICsgKChjaCkgKyAxKSAqIDIpCi0jZGVmaW5lIERFQ0xBUkVfVUFDX0ZFQVRVUkVfVU5JVF9ERVNDUklQVE9SKGNoKSAgc3RydWN0IHVhY19mZWF0dXJlX3VuaXRfZGVzY3JpcHRvcl8jI2NoIHsgICBfX3U4IGJMZW5ndGg7ICAgX191OCBiRGVzY3JpcHRvclR5cGU7ICAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7ICAgX191OCBiVW5pdElEOyAgIF9fdTggYlNvdXJjZUlEOyAgIF9fdTggYkNvbnRyb2xTaXplOyAgIF9fbGUxNiBibWFDb250cm9sc1tjaCArIDFdOyAgIF9fdTggaUZlYXR1cmU7ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBERUNMQVJFX1VBQ19GRUFUVVJFX1VOSVRfREVTQ1JJUFRPUihjaCkgc3RydWN0IHVhY19mZWF0dXJlX3VuaXRfZGVzY3JpcHRvcl8gIyNjaCB7IF9fdTggYkxlbmd0aDsgX191OCBiRGVzY3JpcHRvclR5cGU7IF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOyBfX3U4IGJVbml0SUQ7IF9fdTggYlNvdXJjZUlEOyBfX3U4IGJDb250cm9sU2l6ZTsgX19sZTE2IGJtYUNvbnRyb2xzW2NoICsgMV07IF9fdTggaUZlYXR1cmU7IFwKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSkKIHN0cnVjdCB1YWNfbWl4ZXJfdW5pdF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7Ci0gX191OCBiVW5pdElEOwotIF9fdTggYk5ySW5QaW5zOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYlVuaXRJRDsKKyAgX191OCBiTnJJblBpbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYmFTb3VyY2VJRFtdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTggYmFTb3VyY2VJRFtdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1YWNfc2VsZWN0b3JfdW5pdF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7Ci0gX191OCBiVWludElEOwotIF9fdTggYk5ySW5QaW5zOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYlVpbnRJRDsKKyAgX191OCBiTnJJblBpbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYmFTb3VyY2VJRFtdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTggYmFTb3VyY2VJRFtdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1YWNfZmVhdHVyZV91bml0X2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKKyAgX191OCBiTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX3U4IGJVbml0SUQ7Ci0gX191OCBiU291cmNlSUQ7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKKyAgX191OCBiVW5pdElEOworICBfX3U4IGJTb3VyY2VJRDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiQ29udHJvbFNpemU7Ci0gX191OCBibWFDb250cm9sc1swXTsKKyAgX191OCBiQ29udHJvbFNpemU7CisgIF9fdTggYm1hQ29udHJvbHNbMF07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVhY19wcm9jZXNzaW5nX3VuaXRfZGVzY3JpcHRvciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX3U4IGJVbml0SUQ7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOworICBfX3U4IGJVbml0SUQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHdQcm9jZXNzVHlwZTsKLSBfX3U4IGJOckluUGluczsKLSBfX3U4IGJhU291cmNlSURbXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3UxNiB3UHJvY2Vzc1R5cGU7CisgIF9fdTggYk5ySW5QaW5zOworICBfX3U4IGJhU291cmNlSURbXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVhYzFfYXNfaGVhZGVyX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlRlcm1pbmFsTGluazsKLSBfX3U4IGJEZWxheTsKLSBfX2xlMTYgd0Zvcm1hdFRhZzsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJUZXJtaW5hbExpbms7CisgIF9fdTggYkRlbGF5OworICBfX2xlMTYgd0Zvcm1hdFRhZzsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQUNfRFRfQVNfSEVBREVSX1NJWkUgNwogI2RlZmluZSBVQUNfRk9STUFUX1RZUEVfSV9VTkRFRklORUQgMHgwCkBAIC0yNTEsNzcgKzI1Myw3OCBAQAogI2RlZmluZSBVQUNfRk9STUFUX1RZUEVfSV9NVUxBVyAweDUKIHN0cnVjdCB1YWNfZm9ybWF0X3R5cGVfaV9jb250aW51b3VzX2Rlc2NyaXB0b3IgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7Ci0gX191OCBiRm9ybWF0VHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYkZvcm1hdFR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYk5yQ2hhbm5lbHM7Ci0gX191OCBiU3ViZnJhbWVTaXplOwotIF9fdTggYkJpdFJlc29sdXRpb247Ci0gX191OCBiU2FtRnJlcVR5cGU7CisgIF9fdTggYk5yQ2hhbm5lbHM7CisgIF9fdTggYlN1YmZyYW1lU2l6ZTsKKyAgX191OCBiQml0UmVzb2x1dGlvbjsKKyAgX191OCBiU2FtRnJlcVR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdExvd2VyU2FtRnJlcVszXTsKLSBfX3U4IHRVcHBlclNhbUZyZXFbM107Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCB0TG93ZXJTYW1GcmVxWzNdOworICBfX3U4IHRVcHBlclNhbUZyZXFbM107Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVQUNfRk9STUFUX1RZUEVfSV9DT05USU5VT1VTX0RFU0NfU0laRSAxNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1YWNfZm9ybWF0X3R5cGVfaV9kaXNjcmV0ZV9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJGb3JtYXRUeXBlOwotIF9fdTggYk5yQ2hhbm5lbHM7Ci0gX191OCBiU3ViZnJhbWVTaXplOwotIF9fdTggYkJpdFJlc29sdXRpb247CisgIF9fdTggYkZvcm1hdFR5cGU7CisgIF9fdTggYk5yQ2hhbm5lbHM7CisgIF9fdTggYlN1YmZyYW1lU2l6ZTsKKyAgX191OCBiQml0UmVzb2x1dGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiU2FtRnJlcVR5cGU7Ci0gX191OCB0U2FtRnJlcVtdWzNdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0jZGVmaW5lIERFQ0xBUkVfVUFDX0ZPUk1BVF9UWVBFX0lfRElTQ1JFVEVfREVTQyhuKSAgc3RydWN0IHVhY19mb3JtYXRfdHlwZV9pX2Rpc2NyZXRlX2Rlc2NyaXB0b3JfIyNuIHsgICBfX3U4IGJMZW5ndGg7ICAgX191OCBiRGVzY3JpcHRvclR5cGU7ICAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7ICAgX191OCBiRm9ybWF0VHlwZTsgICBfX3U4IGJOckNoYW5uZWxzOyAgIF9fdTggYlN1YmZyYW1lU2l6ZTsgICBfX3U4IGJCaXRSZXNvbHV0aW9uOyAgIF9fdTggYlNhbUZyZXFUeXBlOyAgIF9fdTggdFNhbUZyZXFbbl1bM107ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorICBfX3U4IGJTYW1GcmVxVHlwZTsKKyAgX191OCB0U2FtRnJlcVtdWzNdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKyNkZWZpbmUgREVDTEFSRV9VQUNfRk9STUFUX1RZUEVfSV9ESVNDUkVURV9ERVNDKG4pIHN0cnVjdCB1YWNfZm9ybWF0X3R5cGVfaV9kaXNjcmV0ZV9kZXNjcmlwdG9yXyAjI24geyBfX3U4IGJMZW5ndGg7IF9fdTggYkRlc2NyaXB0b3JUeXBlOyBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsgX191OCBiRm9ybWF0VHlwZTsgX191OCBiTnJDaGFubmVsczsgX191OCBiU3ViZnJhbWVTaXplOyBfX3U4IGJCaXRSZXNvbHV0aW9uOyBfX3U4IGJTYW1GcmVxVHlwZTsgX191OCB0U2FtRnJlcVtuXVszXTsgXAorfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFDX0ZPUk1BVF9UWVBFX0lfRElTQ1JFVEVfREVTQ19TSVpFKG4pICg4ICsgKG4gKiAzKSkKIHN0cnVjdCB1YWNfZm9ybWF0X3R5cGVfaV9leHRfZGVzY3JpcHRvciB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX3U4IGJGb3JtYXRUeXBlOwotIF9fdTggYlN1YnNsb3RTaXplOwotIF9fdTggYkJpdFJlc29sdXRpb247CisgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOworICBfX3U4IGJGb3JtYXRUeXBlOworICBfX3U4IGJTdWJzbG90U2l6ZTsKKyAgX191OCBiQml0UmVzb2x1dGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiSGVhZGVyTGVuZ3RoOwotIF9fdTggYkNvbnRyb2xTaXplOwotIF9fdTggYlNpZGVCYW5kUHJvdG9jb2w7CisgIF9fdTggYkhlYWRlckxlbmd0aDsKKyAgX191OCBiQ29udHJvbFNpemU7CisgIF9fdTggYlNpZGVCYW5kUHJvdG9jb2w7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFDX0ZPUk1BVF9UWVBFX0lJX01QRUcgMHgxMDAxCiAjZGVmaW5lIFVBQ19GT1JNQVRfVFlQRV9JSV9BQzMgMHgxMDAyCiBzdHJ1Y3QgdWFjX2Zvcm1hdF90eXBlX2lpX2Rpc2NyZXRlX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKKyAgX191OCBiTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX3U4IGJGb3JtYXRUeXBlOwotIF9fbGUxNiB3TWF4Qml0UmF0ZTsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOworICBfX3U4IGJGb3JtYXRUeXBlOworICBfX2xlMTYgd01heEJpdFJhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiB3U2FtcGxlc1BlckZyYW1lOwotIF9fdTggYlNhbUZyZXFUeXBlOwotIF9fdTggdFNhbUZyZXFbXVszXTsKKyAgX19sZTE2IHdTYW1wbGVzUGVyRnJhbWU7CisgIF9fdTggYlNhbUZyZXFUeXBlOworICBfX3U4IHRTYW1GcmVxW11bM107CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1YWNfZm9ybWF0X3R5cGVfaWlfZXh0X2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkZvcm1hdFR5cGU7Ci0gX191MTYgd01heEJpdFJhdGU7Ci0gX191MTYgd1NhbXBsZXNQZXJGcmFtZTsKLSBfX3U4IGJIZWFkZXJMZW5ndGg7CisgIF9fdTggYkZvcm1hdFR5cGU7CisgIF9fdTE2IHdNYXhCaXRSYXRlOworICBfX3UxNiB3U2FtcGxlc1BlckZyYW1lOworICBfX3U4IGJIZWFkZXJMZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlNpZGVCYW5kUHJvdG9jb2w7CisgIF9fdTggYlNpZGVCYW5kUHJvdG9jb2w7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVQUNfRk9STUFUX1RZUEVfSUlJX0lFQzE5MzdfQUMzIDB4MjAwMQogI2RlZmluZSBVQUNfRk9STUFUX1RZUEVfSUlJX0lFQzE5MzdfTVBFRzFfTEFZRVIxIDB4MjAwMgpAQCAtMzQxLDEzICszNDQsMTMgQEAKICNkZWZpbmUgVUFDX0VYVF9GT1JNQVRfVFlQRV9JSUkgMHg4Mwogc3RydWN0IHVhY19pc29fZW5kcG9pbnRfZGVzY3JpcHRvciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX3U4IGJtQXR0cmlidXRlczsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYm1BdHRyaWJ1dGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJMb2NrRGVsYXlVbml0czsKLSBfX2xlMTYgd0xvY2tEZWxheTsKKyAgX191OCBiTG9ja0RlbGF5VW5pdHM7CisgIF9fbGUxNiB3TG9ja0RlbGF5OwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVUFDX0lTT19FTkRQT0lOVF9ERVNDX1NJWkUgNwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTM2Myw4ICszNjYsOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVUFDMV9TVEFUVVNfVFlQRV9NRU1fQ0hBTkdFRCAoMSA8PCA2KQogc3RydWN0IHVhYzFfc3RhdHVzX3dvcmQgewotIF9fdTggYlN0YXR1c1R5cGU7Ci0gX191OCBiT3JpZ2luYXRvcjsKKyAgX191OCBiU3RhdHVzVHlwZTsKKyAgX191OCBiT3JpZ2luYXRvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jZGMtd2RtLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jZGMtd2RtLmgKaW5kZXggZTE3MGY1OS4uMjM4NTViZCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvY2RjLXdkbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2NkYy13ZG0uaApAQCAtMTgsNiArMTgsNyBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9VQVBJX19MSU5VWF9VU0JfQ0RDX1dETV9ICiAjZGVmaW5lIF9VQVBJX19MSU5VWF9VU0JfQ0RDX1dETV9ICisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNkZWZpbmUgSU9DVExfV0RNX01BWF9DT01NQU5EIF9JT1IoJ0gnLCAweEEwLCBfX3UxNikKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvY2RjLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jZGMuaAppbmRleCAxNzI3OGUxLi44MTEyM2NiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jZGMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jZGMuaApAQCAtNjIsMzEyICs2MiwzMjMgQEAKICNkZWZpbmUgVVNCX0NEQ19OQ01fVFlQRSAweDFhCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVU0JfQ0RDX01CSU1fVFlQRSAweDFiCisjZGVmaW5lIFVTQl9DRENfTUJJTV9FWFRFTkRFRF9UWVBFIDB4MWMKIHN0cnVjdCB1c2JfY2RjX2hlYWRlcl9kZXNjIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7Ci0gX19sZTE2IGJjZENEQzsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fbGUxNiBiY2RDREM7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1c2JfY2RjX2NhbGxfbWdtdF9kZXNjcmlwdG9yIHsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJtQ2FwYWJpbGl0aWVzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBibUNhcGFiaWxpdGllczsKICNkZWZpbmUgVVNCX0NEQ19DQUxMX01HTVRfQ0FQX0NBTExfTUdNVCAweDAxCiAjZGVmaW5lIFVTQl9DRENfQ0FMTF9NR01UX0NBUF9EQVRBX0lOVEYgMHgwMgotIF9fdTggYkRhdGFJbnRlcmZhY2U7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiRGF0YUludGVyZmFjZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfYWNtX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBibUNhcGFiaWxpdGllczsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBibUNhcGFiaWxpdGllczsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9DRENfQ09NTV9GRUFUVVJFIDB4MDEKLSNkZWZpbmUgVVNCX0NEQ19DQVBfTElORSAweDAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVU0JfQ0RDX0NBUF9MSU5FIDB4MDIKICNkZWZpbmUgVVNCX0NEQ19DQVBfQlJLIDB4MDQKICNkZWZpbmUgVVNCX0NEQ19DQVBfTk9USUZZIDB4MDgKIHN0cnVjdCB1c2JfY2RjX3VuaW9uX2Rlc2MgewotIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7Ci0gX191OCBiTWFzdGVySW50ZXJmYWNlMDsKLSBfX3U4IGJTbGF2ZUludGVyZmFjZTA7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX3U4IGJNYXN0ZXJJbnRlcmZhY2UwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJTbGF2ZUludGVyZmFjZTA7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfY291bnRyeV9mdW5jdGlvbmFsX2Rlc2MgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGlDb3VudHJ5Q29kZVJlbERhdGU7Ci0gX19sZTE2IHdDb3VudHlDb2RlMDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggaUNvdW50cnlDb2RlUmVsRGF0ZTsKKyAgX19sZTE2IHdDb3VudHlDb2RlMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfbmV0d29ya190ZXJtaW5hbF9kZXNjIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkVudGl0eUlkOwotIF9fdTggaU5hbWU7Ci0gX191OCBiQ2hhbm5lbEluZGV4OwotIF9fdTggYlBoeXNpY2FsSW50ZXJmYWNlOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiRW50aXR5SWQ7CisgIF9fdTggaU5hbWU7CisgIF9fdTggYkNoYW5uZWxJbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiUGh5c2ljYWxJbnRlcmZhY2U7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfZXRoZXJfZGVzYyB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJMZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOwotIF9fdTggaU1BQ0FkZHJlc3M7Ci0gX19sZTMyIGJtRXRoZXJuZXRTdGF0aXN0aWNzOwotIF9fbGUxNiB3TWF4U2VnbWVudFNpemU7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBpTUFDQWRkcmVzczsKKyAgX19sZTMyIGJtRXRoZXJuZXRTdGF0aXN0aWNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgd051bWJlck1DRmlsdGVyczsKLSBfX3U4IGJOdW1iZXJQb3dlckZpbHRlcnM7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX19sZTE2IHdNYXhTZWdtZW50U2l6ZTsKKyAgX19sZTE2IHdOdW1iZXJNQ0ZpbHRlcnM7CisgIF9fdTggYk51bWJlclBvd2VyRmlsdGVyczsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9jZGNfZG1tX2Rlc2MgeworICBfX3U4IGJGdW5jdGlvbkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJGdW5jdGlvbkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX3UxNiBiY2RWZXJzaW9uOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgd01heENvbW1hbmQ7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191MTYgYmNkVmVyc2lvbjsKKyAgX19sZTE2IHdNYXhDb21tYW5kOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1c2JfY2RjX21kbG1fZGVzYyB7Ci0gX191OCBiTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX2xlMTYgYmNkVmVyc2lvbjsKLSBfX3U4IGJHVUlEWzE2XTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fbGUxNiBiY2RWZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJHVUlEWzE2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdXNiX2NkY19tZGxtX2RldGFpbF9kZXNjIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7Ci0gX191OCBiR3VpZERlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRldGFpbERhdGFbMF07Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX3U4IGJHdWlkRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRldGFpbERhdGFbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1c2JfY2RjX29iZXhfZGVzYyB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgYmNkVmVyc2lvbjsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX19sZTE2IGJjZFZlcnNpb247Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfbmNtX2Rlc2MgewotIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7Ci0gX19sZTE2IGJjZE5jbVZlcnNpb247Ci0gX191OCBibU5ldHdvcmtDYXBhYmlsaXRpZXM7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX2xlMTYgYmNkTmNtVmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBibU5ldHdvcmtDYXBhYmlsaXRpZXM7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfbWJpbV9kZXNjIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7Ci0gX19sZTE2IGJjZE1CSU1WZXJzaW9uOwotIF9fbGUxNiB3TWF4Q29udHJvbE1lc3NhZ2U7Ci0gX191OCBiTnVtYmVyRmlsdGVyczsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX2xlMTYgYmNkTUJJTVZlcnNpb247CisgIF9fbGUxNiB3TWF4Q29udHJvbE1lc3NhZ2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYk1heEZpbHRlclNpemU7Ci0gX19sZTE2IHdNYXhTZWdtZW50U2l6ZTsKLSBfX3U4IGJtTmV0d29ya0NhcGFiaWxpdGllczsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJOdW1iZXJGaWx0ZXJzOworICBfX3U4IGJNYXhGaWx0ZXJTaXplOworICBfX2xlMTYgd01heFNlZ21lbnRTaXplOworICBfX3U4IGJtTmV0d29ya0NhcGFiaWxpdGllczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworc3RydWN0IHVzYl9jZGNfbWJpbV9leHRlbmRlZF9kZXNjIHsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX2xlMTYgYmNkTUJJTUV4dGVuZGVkVmVyc2lvbjsKKyAgX191OCBiTWF4T3V0c3RhbmRpbmdDb21tYW5kTWVzc2FnZXM7CisgIF9fbGUxNiB3TVRVOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9DRENfU0VORF9FTkNBUFNVTEFURURfQ09NTUFORCAweDAwCiAjZGVmaW5lIFVTQl9DRENfR0VUX0VOQ0FQU1VMQVRFRF9SRVNQT05TRSAweDAxCiAjZGVmaW5lIFVTQl9DRENfUkVRX1NFVF9MSU5FX0NPRElORyAweDIwCi0jZGVmaW5lIFVTQl9DRENfUkVRX0dFVF9MSU5FX0NPRElORyAweDIxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVU0JfQ0RDX1JFUV9HRVRfTElORV9DT0RJTkcgMHgyMQogI2RlZmluZSBVU0JfQ0RDX1JFUV9TRVRfQ09OVFJPTF9MSU5FX1NUQVRFIDB4MjIKICNkZWZpbmUgVVNCX0NEQ19SRVFfU0VORF9CUkVBSyAweDIzCiAjZGVmaW5lIFVTQl9DRENfU0VUX0VUSEVSTkVUX01VTFRJQ0FTVF9GSUxURVJTIDB4NDAKLSNkZWZpbmUgVVNCX0NEQ19TRVRfRVRIRVJORVRfUE1fUEFUVEVSTl9GSUxURVIgMHg0MQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCX0NEQ19TRVRfRVRIRVJORVRfUE1fUEFUVEVSTl9GSUxURVIgMHg0MQogI2RlZmluZSBVU0JfQ0RDX0dFVF9FVEhFUk5FVF9QTV9QQVRURVJOX0ZJTFRFUiAweDQyCiAjZGVmaW5lIFVTQl9DRENfU0VUX0VUSEVSTkVUX1BBQ0tFVF9GSUxURVIgMHg0MwogI2RlZmluZSBVU0JfQ0RDX0dFVF9FVEhFUk5FVF9TVEFUSVNUSUMgMHg0NAotI2RlZmluZSBVU0JfQ0RDX0dFVF9OVEJfUEFSQU1FVEVSUyAweDgwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVU0JfQ0RDX0dFVF9OVEJfUEFSQU1FVEVSUyAweDgwCiAjZGVmaW5lIFVTQl9DRENfR0VUX05FVF9BRERSRVNTIDB4ODEKICNkZWZpbmUgVVNCX0NEQ19TRVRfTkVUX0FERFJFU1MgMHg4MgogI2RlZmluZSBVU0JfQ0RDX0dFVF9OVEJfRk9STUFUIDB4ODMKLSNkZWZpbmUgVVNCX0NEQ19TRVRfTlRCX0ZPUk1BVCAweDg0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVU0JfQ0RDX1NFVF9OVEJfRk9STUFUIDB4ODQKICNkZWZpbmUgVVNCX0NEQ19HRVRfTlRCX0lOUFVUX1NJWkUgMHg4NQogI2RlZmluZSBVU0JfQ0RDX1NFVF9OVEJfSU5QVVRfU0laRSAweDg2CiAjZGVmaW5lIFVTQl9DRENfR0VUX01BWF9EQVRBR1JBTV9TSVpFIDB4ODcKLSNkZWZpbmUgVVNCX0NEQ19TRVRfTUFYX0RBVEFHUkFNX1NJWkUgMHg4OAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCX0NEQ19TRVRfTUFYX0RBVEFHUkFNX1NJWkUgMHg4OAogI2RlZmluZSBVU0JfQ0RDX0dFVF9DUkNfTU9ERSAweDg5CiAjZGVmaW5lIFVTQl9DRENfU0VUX0NSQ19NT0RFIDB4OGEKIHN0cnVjdCB1c2JfY2RjX2xpbmVfY29kaW5nIHsKLSBfX2xlMzIgZHdEVEVSYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJDaGFyRm9ybWF0OworICBfX2xlMzIgZHdEVEVSYXRlOworICBfX3U4IGJDaGFyRm9ybWF0OwogI2RlZmluZSBVU0JfQ0RDXzFfU1RPUF9CSVRTIDAKICNkZWZpbmUgVVNCX0NEQ18xXzVfU1RPUF9CSVRTIDEKLSNkZWZpbmUgVVNCX0NEQ18yX1NUT1BfQklUUyAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlBhcml0eVR5cGU7CisjZGVmaW5lIFVTQl9DRENfMl9TVE9QX0JJVFMgMgorICBfX3U4IGJQYXJpdHlUeXBlOwogI2RlZmluZSBVU0JfQ0RDX05PX1BBUklUWSAwCiAjZGVmaW5lIFVTQl9DRENfT0REX1BBUklUWSAxCi0jZGVmaW5lIFVTQl9DRENfRVZFTl9QQVJJVFkgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCX0NEQ19FVkVOX1BBUklUWSAyCiAjZGVmaW5lIFVTQl9DRENfTUFSS19QQVJJVFkgMwogI2RlZmluZSBVU0JfQ0RDX1NQQUNFX1BBUklUWSA0Ci0gX191OCBiRGF0YUJpdHM7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiRGF0YUJpdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVVNCX0NEQ19QQUNLRVRfVFlQRV9QUk9NSVNDVU9VUyAoMSA8PCAwKQogI2RlZmluZSBVU0JfQ0RDX1BBQ0tFVF9UWVBFX0FMTF9NVUxUSUNBU1QgKDEgPDwgMSkKICNkZWZpbmUgVVNCX0NEQ19QQUNLRVRfVFlQRV9ESVJFQ1RFRCAoMSA8PCAyKQotI2RlZmluZSBVU0JfQ0RDX1BBQ0tFVF9UWVBFX0JST0FEQ0FTVCAoMSA8PCAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCX0NEQ19QQUNLRVRfVFlQRV9CUk9BRENBU1QgKDEgPDwgMykKICNkZWZpbmUgVVNCX0NEQ19QQUNLRVRfVFlQRV9NVUxUSUNBU1QgKDEgPDwgNCkKICNkZWZpbmUgVVNCX0NEQ19OT1RJRllfTkVUV09SS19DT05ORUNUSU9OIDB4MDAKICNkZWZpbmUgVVNCX0NEQ19OT1RJRllfUkVTUE9OU0VfQVZBSUxBQkxFIDB4MDEKLSNkZWZpbmUgVVNCX0NEQ19OT1RJRllfU0VSSUFMX1NUQVRFIDB4MjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFVTQl9DRENfTk9USUZZX1NFUklBTF9TVEFURSAweDIwCiAjZGVmaW5lIFVTQl9DRENfTk9USUZZX1NQRUVEX0NIQU5HRSAweDJhCiBzdHJ1Y3QgdXNiX2NkY19ub3RpZmljYXRpb24gewotIF9fdTggYm1SZXF1ZXN0VHlwZTsKLSBfX3U4IGJOb3RpZmljYXRpb25UeXBlOworICBfX3U4IGJtUmVxdWVzdFR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiB3VmFsdWU7Ci0gX19sZTE2IHdJbmRleDsKLSBfX2xlMTYgd0xlbmd0aDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJOb3RpZmljYXRpb25UeXBlOworICBfX2xlMTYgd1ZhbHVlOworICBfX2xlMTYgd0luZGV4OworICBfX2xlMTYgd0xlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jZGNfc3BlZWRfY2hhbmdlIHsKLSBfX2xlMzIgRExCaXRSUmF0ZTsKLSBfX2xlMzIgVUxCaXRSYXRlOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUzMiBETEJpdFJSYXRlOworICBfX2xlMzIgVUxCaXRSYXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdXNiX2NkY19uY21fbnRiX3BhcmFtZXRlcnMgewotIF9fbGUxNiB3TGVuZ3RoOwotIF9fbGUxNiBibU50YkZvcm1hdHNTdXBwb3J0ZWQ7Ci0gX19sZTMyIGR3TnRiSW5NYXhTaXplOworICBfX2xlMTYgd0xlbmd0aDsKKyAgX19sZTE2IGJtTnRiRm9ybWF0c1N1cHBvcnRlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHdOZHBJbkRpdmlzb3I7Ci0gX19sZTE2IHdOZHBJblBheWxvYWRSZW1haW5kZXI7Ci0gX19sZTE2IHdOZHBJbkFsaWdubWVudDsKLSBfX2xlMTYgd1BhZGRpbmcxOworICBfX2xlMzIgZHdOdGJJbk1heFNpemU7CisgIF9fbGUxNiB3TmRwSW5EaXZpc29yOworICBfX2xlMTYgd05kcEluUGF5bG9hZFJlbWFpbmRlcjsKKyAgX19sZTE2IHdOZHBJbkFsaWdubWVudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIGR3TnRiT3V0TWF4U2l6ZTsKLSBfX2xlMTYgd05kcE91dERpdmlzb3I7Ci0gX19sZTE2IHdOZHBPdXRQYXlsb2FkUmVtYWluZGVyOwotIF9fbGUxNiB3TmRwT3V0QWxpZ25tZW50OworICBfX2xlMTYgd1BhZGRpbmcxOworICBfX2xlMzIgZHdOdGJPdXRNYXhTaXplOworICBfX2xlMTYgd05kcE91dERpdmlzb3I7CisgIF9fbGUxNiB3TmRwT3V0UGF5bG9hZFJlbWFpbmRlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHdOdGJPdXRNYXhEYXRhZ3JhbXM7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX19sZTE2IHdOZHBPdXRBbGlnbm1lbnQ7CisgIF9fbGUxNiB3TnRiT3V0TWF4RGF0YWdyYW1zOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVVNCX0NEQ19OQ01fTlRIMTZfU0lHTiAweDQ4NEQ0MzRFCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVU0JfQ0RDX05DTV9OVEgzMl9TSUdOIDB4Njg2RDYzNkUKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX2NkY19uY21fbnRoMTYgewotIF9fbGUzMiBkd1NpZ25hdHVyZTsKLSBfX2xlMTYgd0hlYWRlckxlbmd0aDsKLSBfX2xlMTYgd1NlcXVlbmNlOworICBfX2xlMzIgZHdTaWduYXR1cmU7CisgIF9fbGUxNiB3SGVhZGVyTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgd0Jsb2NrTGVuZ3RoOwotIF9fbGUxNiB3TmRwSW5kZXg7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX19sZTE2IHdTZXF1ZW5jZTsKKyAgX19sZTE2IHdCbG9ja0xlbmd0aDsKKyAgX19sZTE2IHdOZHBJbmRleDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9jZGNfbmNtX250aDMyIHsKKyAgX19sZTMyIGR3U2lnbmF0dXJlOworICBfX2xlMTYgd0hlYWRlckxlbmd0aDsKKyAgX19sZTE2IHdTZXF1ZW5jZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIGR3U2lnbmF0dXJlOwotIF9fbGUxNiB3SGVhZGVyTGVuZ3RoOwotIF9fbGUxNiB3U2VxdWVuY2U7Ci0gX19sZTMyIGR3QmxvY2tMZW5ndGg7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBkd05kcEluZGV4OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUzMiBkd0Jsb2NrTGVuZ3RoOworICBfX2xlMzIgZHdOZHBJbmRleDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9DRENfTkNNX05EUDE2X0NSQ19TSUdOIDB4MzE0RDQzNEUKLSNkZWZpbmUgVVNCX0NEQ19OQ01fTkRQMTZfTk9DUkNfU0lHTiAweDMwNEQ0MzRFCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVU0JfQ0RDX05DTV9ORFAxNl9OT0NSQ19TSUdOIDB4MzA0RDQzNEUKICNkZWZpbmUgVVNCX0NEQ19OQ01fTkRQMzJfQ1JDX1NJR04gMHgzMTZENjM2RQogI2RlZmluZSBVU0JfQ0RDX05DTV9ORFAzMl9OT0NSQ19TSUdOIDB4MzA2RDYzNkUKICNkZWZpbmUgVVNCX0NEQ19NQklNX05EUDE2X0lQU19TSUdOIDB4MDA1MzUwNDkKLSNkZWZpbmUgVVNCX0NEQ19NQklNX05EUDMyX0lQU19TSUdOIDB4MDA3MzcwNjkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFVTQl9DRENfTUJJTV9ORFAzMl9JUFNfU0lHTiAweDAwNzM3MDY5CiAjZGVmaW5lIFVTQl9DRENfTUJJTV9ORFAxNl9EU1NfU0lHTiAweDAwNTM1MzQ0CiAjZGVmaW5lIFVTQl9DRENfTUJJTV9ORFAzMl9EU1NfU0lHTiAweDAwNzM3MzY0CiBzdHJ1Y3QgdXNiX2NkY19uY21fZHBlMTYgewotIF9fbGUxNiB3RGF0YWdyYW1JbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHdEYXRhZ3JhbUxlbmd0aDsKKyAgX19sZTE2IHdEYXRhZ3JhbUluZGV4OworICBfX2xlMTYgd0RhdGFncmFtTGVuZ3RoOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiBzdHJ1Y3QgdXNiX2NkY19uY21fbmRwMTYgewotIF9fbGUzMiBkd1NpZ25hdHVyZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHdMZW5ndGg7Ci0gX19sZTE2IHdOZXh0TmRwSW5kZXg7Ci0gc3RydWN0IHVzYl9jZGNfbmNtX2RwZTE2IGRwZTE2WzBdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUzMiBkd1NpZ25hdHVyZTsKKyAgX19sZTE2IHdMZW5ndGg7CisgIF9fbGUxNiB3TmV4dE5kcEluZGV4OworICBzdHJ1Y3QgdXNiX2NkY19uY21fZHBlMTYgZHBlMTZbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1c2JfY2RjX25jbV9kcGUzMiB7Ci0gX19sZTMyIGR3RGF0YWdyYW1JbmRleDsKLSBfX2xlMzIgZHdEYXRhZ3JhbUxlbmd0aDsKKyAgX19sZTMyIGR3RGF0YWdyYW1JbmRleDsKKyAgX19sZTMyIGR3RGF0YWdyYW1MZW5ndGg7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9jZGNfbmNtX25kcDMyIHsKLSBfX2xlMzIgZHdTaWduYXR1cmU7Ci0gX19sZTE2IHdMZW5ndGg7Ci0gX19sZTE2IHdSZXNlcnZlZDY7CisgIF9fbGUzMiBkd1NpZ25hdHVyZTsKKyAgX19sZTE2IHdMZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBkd05leHROZHBJbmRleDsKLSBfX2xlMzIgZHdSZXNlcnZlZDEyOwotIHN0cnVjdCB1c2JfY2RjX25jbV9kcGUzMiBkcGUzMlswXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX2xlMTYgd1Jlc2VydmVkNjsKKyAgX19sZTMyIGR3TmV4dE5kcEluZGV4OworICBfX2xlMzIgZHdSZXNlcnZlZDEyOworICBzdHJ1Y3QgdXNiX2NkY19uY21fZHBlMzIgZHBlMzJbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVVNCX0NEQ19OQ01fTkRQMTZfSU5ERVhfTUlOIDB4MDAwQwogI2RlZmluZSBVU0JfQ0RDX05DTV9ORFAzMl9JTkRFWF9NSU4gMHgwMDEwCiAjZGVmaW5lIFVTQl9DRENfTkNNX0RBVEFHUkFNX0ZPUk1BVF9DUkMgMHgzMAotI2RlZmluZSBVU0JfQ0RDX05DTV9EQVRBR1JBTV9GT1JNQVRfTk9DUkMgMFgzMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCX0NEQ19OQ01fREFUQUdSQU1fRk9STUFUX05PQ1JDIDBYMzEKICNkZWZpbmUgVVNCX0NEQ19OQ01fUFJPVE9fQ09ERV9OT19FTkNBUF9DT01NQU5EUyAweDAwCiAjZGVmaW5lIFVTQl9DRENfTkNNX1BST1RPX0NPREVfRVhURVJOX1BST1RPIDB4RkUKICNkZWZpbmUgVVNCX0NEQ19OQ01fTkNBUF9FVEhfRklMVEVSICgxIDw8IDApCi0jZGVmaW5lIFVTQl9DRENfTkNNX05DQVBfTkVUX0FERFJFU1MgKDEgPDwgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFVTQl9DRENfTkNNX05DQVBfTkVUX0FERFJFU1MgKDEgPDwgMSkKICNkZWZpbmUgVVNCX0NEQ19OQ01fTkNBUF9FTkNBUF9DT01NQU5EICgxIDw8IDIpCiAjZGVmaW5lIFVTQl9DRENfTkNNX05DQVBfTUFYX0RBVEFHUkFNX1NJWkUgKDEgPDwgMykKICNkZWZpbmUgVVNCX0NEQ19OQ01fTkNBUF9DUkNfTU9ERSAoMSA8PCA0KQotI2RlZmluZSBVU0JfQ0RDX05DTV9OQ0FQX05UQl9JTlBVVF9TSVpFICgxIDw8IDUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBVU0JfQ0RDX05DTV9OQ0FQX05UQl9JTlBVVF9TSVpFICgxIDw8IDUpCiAjZGVmaW5lIFVTQl9DRENfTkNNX05UQjE2X1NVUFBPUlRFRCAoMSA8PCAwKQogI2RlZmluZSBVU0JfQ0RDX05DTV9OVEIzMl9TVVBQT1JURUQgKDEgPDwgMSkKICNkZWZpbmUgVVNCX0NEQ19OQ01fTkRQX0FMSUdOX01JTl9TSVpFIDB4MDQKLSNkZWZpbmUgVVNCX0NEQ19OQ01fTlRCX01BWF9MRU5HVEggMHgxQwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCX0NEQ19OQ01fTlRCX01BWF9MRU5HVEggMHgxQwogI2RlZmluZSBVU0JfQ0RDX05DTV9OVEIxNl9GT1JNQVQgMHgwMAogI2RlZmluZSBVU0JfQ0RDX05DTV9OVEIzMl9GT1JNQVQgMHgwMQogI2RlZmluZSBVU0JfQ0RDX05DTV9OVEJfTUlOX0lOX1NJWkUgMjA0OAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCX0NEQ19OQ01fTlRCX01JTl9PVVRfU0laRSAyMDQ4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9jZGNfbmNtX25kcF9pbnB1dF9zaXplIHsKLSBfX2xlMzIgZHdOdGJJbk1heFNpemU7Ci0gX19sZTE2IHdOdGJJbk1heERhdGFncmFtczsKLSBfX2xlMTYgd1Jlc2VydmVkOworICBfX2xlMzIgZHdOdGJJbk1heFNpemU7CisgIF9fbGUxNiB3TnRiSW5NYXhEYXRhZ3JhbXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUxNiB3UmVzZXJ2ZWQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfQ0RDX05DTV9DUkNfTk9UX0FQUEVOREVEIDB4MDAKICNkZWZpbmUgVVNCX0NEQ19OQ01fQ1JDX0FQUEVOREVEIDB4MDEKLSNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvY2gxMS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvY2gxMS5oCmluZGV4IGNiZTNkNzAuLmY4NTg1ZGYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2NoMTEuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jaDExLmgKQEAgLTcxLDkgKzcxLDkgQEAKICNkZWZpbmUgVVNCX1BPUlRfRkVBVF9SRU1PVEVfV0FLRV9PVkVSX0NVUlJFTlQgKDEgPDwgMTApCiBzdHJ1Y3QgdXNiX3BvcnRfc3RhdHVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IHdQb3J0U3RhdHVzOwotIF9fbGUxNiB3UG9ydENoYW5nZTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX2xlMTYgd1BvcnRTdGF0dXM7CisgIF9fbGUxNiB3UG9ydENoYW5nZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9QT1JUX1NUQVRfQ09OTkVDVElPTiAweDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQl9QT1JUX1NUQVRfRU5BQkxFIDB4MDAwMgpAQCAtOTMsNyArOTMsNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCX1NTX1BPUlRfU1RBVF9TUEVFRCAweDFjMDAKICNkZWZpbmUgVVNCX1BPUlRfU1RBVF9TUEVFRF81R0JQUyAweDAwMDAKLSNkZWZpbmUgVVNCX1NTX1BPUlRfU1RBVF9NQVNLIChVU0JfUE9SVF9TVEFUX0NPTk5FQ1RJT04gfCAgIFVTQl9QT1JUX1NUQVRfRU5BQkxFIHwgICBVU0JfUE9SVF9TVEFUX09WRVJDVVJSRU5UIHwgICBVU0JfUE9SVF9TVEFUX1JFU0VUKQorI2RlZmluZSBVU0JfU1NfUE9SVF9TVEFUX01BU0sgKFVTQl9QT1JUX1NUQVRfQ09OTkVDVElPTiB8IFVTQl9QT1JUX1NUQVRfRU5BQkxFIHwgVVNCX1BPUlRfU1RBVF9PVkVSQ1VSUkVOVCB8IFVTQl9QT1JUX1NUQVRfUkVTRVQpCiAjZGVmaW5lIFVTQl9TU19QT1JUX0xTX1UwIDB4MDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCX1NTX1BPUlRfTFNfVTEgMHgwMDIwCkBAIC0xMzYsOSArMTM2LDkgQEAKICNkZWZpbmUgSFVCX0NIQVJfUE9SVElORCAweDAwODAKIHN0cnVjdCB1c2JfaHViX3N0YXR1cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiB3SHViU3RhdHVzOwotIF9fbGUxNiB3SHViQ2hhbmdlOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUxNiB3SHViU3RhdHVzOworICBfX2xlMTYgd0h1YkNoYW5nZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIEhVQl9TVEFUVVNfTE9DQUxfUE9XRVIgMHgwMDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBIVUJfU1RBVFVTX09WRVJDVVJSRU5UIDB4MDAwMgpAQCAtMTU3LDI4ICsxNTcsMjggQEAKICNkZWZpbmUgVVNCX0hVQl9QUl9TUyAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9odWJfZGVzY3JpcHRvciB7Ci0gX191OCBiRGVzY0xlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJOYnJQb3J0czsKKyAgX191OCBiRGVzY0xlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYk5iclBvcnRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgd0h1YkNoYXJhY3RlcmlzdGljczsKLSBfX3U4IGJQd3JPbjJQd3JHb29kOwotIF9fdTggYkh1YkNvbnRyQ3VycmVudDsKLSB1bmlvbiB7CisgIF9fbGUxNiB3SHViQ2hhcmFjdGVyaXN0aWNzOworICBfX3U4IGJQd3JPbjJQd3JHb29kOworICBfX3U4IGJIdWJDb250ckN1cnJlbnQ7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3U4IERldmljZVJlbW92YWJsZVsoVVNCX01BWENISUxEUkVOICsgMSArIDcpIC8gOF07Ci0gX191OCBQb3J0UHdyQ3RybE1hc2tbKFVTQl9NQVhDSElMRFJFTiArIDEgKyA3KSAvIDhdOwotIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGhzOworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IERldmljZVJlbW92YWJsZVsoVVNCX01BWENISUxEUkVOICsgMSArIDcpIC8gOF07CisgICAgICBfX3U4IFBvcnRQd3JDdHJsTWFza1soVVNCX01BWENISUxEUkVOICsgMSArIDcpIC8gOF07CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBoczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3U4IGJIdWJIZHJEZWNMYXQ7Ci0gX19sZTE2IHdIdWJEZWxheTsKLSBfX2xlMTYgRGV2aWNlUmVtb3ZhYmxlOworICAgIHN0cnVjdCB7CisgICAgICBfX3U4IGJIdWJIZHJEZWNMYXQ7CisgICAgICBfX2xlMTYgd0h1YkRlbGF5OworICAgICAgX19sZTE2IERldmljZVJlbW92YWJsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgc3M7Ci0gfSB1OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBzczsKKyAgfSB1OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgSFVCX0xFRF9BVVRPIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEhVQl9MRURfQU1CRVIgMQpAQCAtMTg2LDE2ICsxODYsMjAgQEAKICNkZWZpbmUgSFVCX0xFRF9PRkYgMwogZW51bSBodWJfbGVkX21vZGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJTkRJQ0FUT1JfQVVUTyA9IDAsCi0gSU5ESUNBVE9SX0NZQ0xFLAotIElORElDQVRPUl9HUkVFTl9CTElOSywgSU5ESUNBVE9SX0dSRUVOX0JMSU5LX09GRiwKLSBJTkRJQ0FUT1JfQU1CRVJfQkxJTkssIElORElDQVRPUl9BTUJFUl9CTElOS19PRkYsCisgIElORElDQVRPUl9BVVRPID0gMCwKKyAgSU5ESUNBVE9SX0NZQ0xFLAorICBJTkRJQ0FUT1JfR1JFRU5fQkxJTkssCisgIElORElDQVRPUl9HUkVFTl9CTElOS19PRkYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElORElDQVRPUl9BTFRfQkxJTkssIElORElDQVRPUl9BTFRfQkxJTktfT0ZGCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgSU5ESUNBVE9SX0FNQkVSX0JMSU5LLAorICBJTkRJQ0FUT1JfQU1CRVJfQkxJTktfT0ZGLAorICBJTkRJQ0FUT1JfQUxUX0JMSU5LLAorICBJTkRJQ0FUT1JfQUxUX0JMSU5LX09GRgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIEhVQl9UVFRUXzhfQklUUyAweDAwCiAjZGVmaW5lIEhVQl9UVFRUXzE2X0JJVFMgMHgyMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSFVCX1RUVFRfMjRfQklUUyAweDQwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBIVUJfVFRUVF8zMl9CSVRTIDB4NjAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvY2g5LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jaDkuaAppbmRleCAzZjViOTliLi5jMmRkOTJkIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jaDkuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9jaDkuaApAQCAtMTA2LDEzICsxMDYsMTMgQEAKICNkZWZpbmUgVVNCX0RFVl9TVEFUX0xUTV9FTkFCTEVEIDQKIHN0cnVjdCB1c2JfY3RybHJlcXVlc3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJSZXF1ZXN0VHlwZTsKLSBfX3U4IGJSZXF1ZXN0OwotIF9fbGUxNiB3VmFsdWU7Ci0gX19sZTE2IHdJbmRleDsKKyAgX191OCBiUmVxdWVzdFR5cGU7CisgIF9fdTggYlJlcXVlc3Q7CisgIF9fbGUxNiB3VmFsdWU7CisgIF9fbGUxNiB3SW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiB3TGVuZ3RoOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUxNiB3TGVuZ3RoOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVVNCX0RUX0RFVklDRSAweDAxCiAjZGVmaW5lIFVTQl9EVF9DT05GSUcgMHgwMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTE0OCwzMCArMTQ4LDMwIEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVU0JfRFRfQ1NfRU5EUE9JTlQgKFVTQl9UWVBFX0NMQVNTIHwgVVNCX0RUX0VORFBPSU5UKQogc3RydWN0IHVzYl9kZXNjcmlwdG9yX2hlYWRlciB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1c2JfZGV2aWNlX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTE2IGJjZFVTQjsKLSBfX3U4IGJEZXZpY2VDbGFzczsKLSBfX3U4IGJEZXZpY2VTdWJDbGFzczsKLSBfX3U4IGJEZXZpY2VQcm90b2NvbDsKKyAgX19sZTE2IGJjZFVTQjsKKyAgX191OCBiRGV2aWNlQ2xhc3M7CisgIF9fdTggYkRldmljZVN1YkNsYXNzOworICBfX3U4IGJEZXZpY2VQcm90b2NvbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTWF4UGFja2V0U2l6ZTA7Ci0gX19sZTE2IGlkVmVuZG9yOwotIF9fbGUxNiBpZFByb2R1Y3Q7Ci0gX19sZTE2IGJjZERldmljZTsKKyAgX191OCBiTWF4UGFja2V0U2l6ZTA7CisgIF9fbGUxNiBpZFZlbmRvcjsKKyAgX19sZTE2IGlkUHJvZHVjdDsKKyAgX19sZTE2IGJjZERldmljZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpTWFudWZhY3R1cmVyOwotIF9fdTggaVByb2R1Y3Q7Ci0gX191OCBpU2VyaWFsTnVtYmVyOwotIF9fdTggYk51bUNvbmZpZ3VyYXRpb25zOworICBfX3U4IGlNYW51ZmFjdHVyZXI7CisgIF9fdTggaVByb2R1Y3Q7CisgIF9fdTggaVNlcmlhbE51bWJlcjsKKyAgX191OCBiTnVtQ29uZmlndXJhdGlvbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfRFRfREVWSUNFX1NJWkUgMTgKICNkZWZpbmUgVVNCX0NMQVNTX1BFUl9JTlRFUkZBQ0UgMAogI2RlZmluZSBVU0JfQ0xBU1NfQVVESU8gMQpAQCAtMTk3LDE3ICsxOTcsMTcgQEAKICNkZWZpbmUgVVNCX1NVQkNMQVNTX1ZFTkRPUl9TUEVDIDB4ZmYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX2NvbmZpZ19kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX19sZTE2IHdUb3RhbExlbmd0aDsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX19sZTE2IHdUb3RhbExlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTnVtSW50ZXJmYWNlczsKLSBfX3U4IGJDb25maWd1cmF0aW9uVmFsdWU7Ci0gX191OCBpQ29uZmlndXJhdGlvbjsKLSBfX3U4IGJtQXR0cmlidXRlczsKKyAgX191OCBiTnVtSW50ZXJmYWNlczsKKyAgX191OCBiQ29uZmlndXJhdGlvblZhbHVlOworICBfX3U4IGlDb25maWd1cmF0aW9uOworICBfX3U4IGJtQXR0cmlidXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTWF4UG93ZXI7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiTWF4UG93ZXI7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfRFRfQ09ORklHX1NJWkUgOQogI2RlZmluZSBVU0JfQ09ORklHX0FUVF9PTkUgKDEgPDwgNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0yMTYsMzggKzIxNiwzOCBAQAogI2RlZmluZSBVU0JfQ09ORklHX0FUVF9CQVRURVJZICgxIDw8IDQpCiBzdHJ1Y3QgdXNiX3N0cmluZ19kZXNjcmlwdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fbGUxNiB3RGF0YVsxXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX2xlMTYgd0RhdGFbMV07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1c2JfaW50ZXJmYWNlX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJJbnRlcmZhY2VOdW1iZXI7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkludGVyZmFjZU51bWJlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiQWx0ZXJuYXRlU2V0dGluZzsKLSBfX3U4IGJOdW1FbmRwb2ludHM7Ci0gX191OCBiSW50ZXJmYWNlQ2xhc3M7Ci0gX191OCBiSW50ZXJmYWNlU3ViQ2xhc3M7CisgIF9fdTggYkFsdGVybmF0ZVNldHRpbmc7CisgIF9fdTggYk51bUVuZHBvaW50czsKKyAgX191OCBiSW50ZXJmYWNlQ2xhc3M7CisgIF9fdTggYkludGVyZmFjZVN1YkNsYXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJJbnRlcmZhY2VQcm90b2NvbDsKLSBfX3U4IGlJbnRlcmZhY2U7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiSW50ZXJmYWNlUHJvdG9jb2w7CisgIF9fdTggaUludGVyZmFjZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9EVF9JTlRFUkZBQ0VfU0laRSA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRW5kcG9pbnRBZGRyZXNzOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJFbmRwb2ludEFkZHJlc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYm1BdHRyaWJ1dGVzOwotIF9fbGUxNiB3TWF4UGFja2V0U2l6ZTsKLSBfX3U4IGJJbnRlcnZhbDsKLSBfX3U4IGJSZWZyZXNoOworICBfX3U4IGJtQXR0cmlidXRlczsKKyAgX19sZTE2IHdNYXhQYWNrZXRTaXplOworICBfX3U4IGJJbnRlcnZhbDsKKyAgX191OCBiUmVmcmVzaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiU3luY2hBZGRyZXNzOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTggYlN5bmNoQWRkcmVzczsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9EVF9FTkRQT0lOVF9TSVpFIDcKICNkZWZpbmUgVVNCX0RUX0VORFBPSU5UX0FVRElPX1NJWkUgOQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTI3NywxMTggKzI3NywxMTggQEAKICNkZWZpbmUgVVNCX0VORFBPSU5UX1VTQUdFX0lNUExJQ0lUX0ZCIDB4MjAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX3NzX2VwX2NvbXBfZGVzY3JpcHRvciB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYk1heEJ1cnN0OworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJNYXhCdXJzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBibUF0dHJpYnV0ZXM7Ci0gX19sZTE2IHdCeXRlc1BlckludGVydmFsOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTggYm1BdHRyaWJ1dGVzOworICBfX2xlMTYgd0J5dGVzUGVySW50ZXJ2YWw7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfRFRfU1NfRVBfQ09NUF9TSVpFIDYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQl9TU19NVUxUKHApICgxICsgKChwKSAmIDB4MykpCiBzdHJ1Y3QgdXNiX3F1YWxpZmllcl9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiBiY2RVU0I7Ci0gX191OCBiRGV2aWNlQ2xhc3M7Ci0gX191OCBiRGV2aWNlU3ViQ2xhc3M7Ci0gX191OCBiRGV2aWNlUHJvdG9jb2w7CisgIF9fbGUxNiBiY2RVU0I7CisgIF9fdTggYkRldmljZUNsYXNzOworICBfX3U4IGJEZXZpY2VTdWJDbGFzczsKKyAgX191OCBiRGV2aWNlUHJvdG9jb2w7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYk1heFBhY2tldFNpemUwOwotIF9fdTggYk51bUNvbmZpZ3VyYXRpb25zOwotIF9fdTggYlJFU0VSVkVEOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTggYk1heFBhY2tldFNpemUwOworICBfX3U4IGJOdW1Db25maWd1cmF0aW9uczsKKyAgX191OCBiUkVTRVJWRUQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1c2Jfb3RnX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJtQXR0cmlidXRlczsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBibUF0dHJpYnV0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfT1RHX1NSUCAoMSA8PCAwKQogI2RlZmluZSBVU0JfT1RHX0hOUCAoMSA8PCAxKQogc3RydWN0IHVzYl9kZWJ1Z19kZXNjcmlwdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRlYnVnSW5FbmRwb2ludDsKLSBfX3U4IGJEZWJ1Z091dEVuZHBvaW50OworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZWJ1Z0luRW5kcG9pbnQ7CisgIF9fdTggYkRlYnVnT3V0RW5kcG9pbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1c2JfaW50ZXJmYWNlX2Fzc29jX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRmlyc3RJbnRlcmZhY2U7Ci0gX191OCBiSW50ZXJmYWNlQ291bnQ7Ci0gX191OCBiRnVuY3Rpb25DbGFzczsKLSBfX3U4IGJGdW5jdGlvblN1YkNsYXNzOworICBfX3U4IGJGaXJzdEludGVyZmFjZTsKKyAgX191OCBiSW50ZXJmYWNlQ291bnQ7CisgIF9fdTggYkZ1bmN0aW9uQ2xhc3M7CisgIF9fdTggYkZ1bmN0aW9uU3ViQ2xhc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkZ1bmN0aW9uUHJvdG9jb2w7Ci0gX191OCBpRnVuY3Rpb247Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBiRnVuY3Rpb25Qcm90b2NvbDsKKyAgX191OCBpRnVuY3Rpb247Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9zZWN1cml0eV9kZXNjcmlwdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fbGUxNiB3VG90YWxMZW5ndGg7Ci0gX191OCBiTnVtRW5jcnlwdGlvblR5cGVzOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX2xlMTYgd1RvdGFsTGVuZ3RoOworICBfX3U4IGJOdW1FbmNyeXB0aW9uVHlwZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB1c2Jfa2V5X2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0VEtJRFszXTsKLSBfX3U4IGJSZXNlcnZlZDsKLSBfX3U4IGJLZXlEYXRhWzBdOworICBfX3U4IHRUS0lEWzNdOworICBfX3U4IGJSZXNlcnZlZDsKKyAgX191OCBiS2V5RGF0YVswXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9lbmNyeXB0aW9uX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJFbmNyeXB0aW9uVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRW5jcnlwdGlvblR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVU0JfRU5DX1RZUEVfVU5TRUNVUkUgMAogI2RlZmluZSBVU0JfRU5DX1RZUEVfV0lSRUQgMQogI2RlZmluZSBVU0JfRU5DX1RZUEVfQ0NNXzEgMgogI2RlZmluZSBVU0JfRU5DX1RZUEVfUlNBXzEgMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJFbmNyeXB0aW9uVmFsdWU7Ci0gX191OCBiQXV0aEtleUluZGV4OworICBfX3U4IGJFbmNyeXB0aW9uVmFsdWU7CisgIF9fdTggYkF1dGhLZXlJbmRleDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdXNiX2Jvc19kZXNjcmlwdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fbGUxNiB3VG90YWxMZW5ndGg7Ci0gX191OCBiTnVtRGV2aWNlQ2FwczsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX19sZTE2IHdUb3RhbExlbmd0aDsKKyAgX191OCBiTnVtRGV2aWNlQ2FwczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfRFRfQk9TX1NJWkUgNQogc3RydWN0IHVzYl9kZXZfY2FwX2hlYWRlciB7Ci0gX191OCBiTGVuZ3RoOworICBfX3U4IGJMZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRldkNhcGFiaWxpdHlUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGV2Q2FwYWJpbGl0eVR5cGU7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfQ0FQX1RZUEVfV0lSRUxFU1NfVVNCIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX3dpcmVsZXNzX2NhcF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGV2Q2FwYWJpbGl0eVR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRldkNhcGFiaWxpdHlUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJtQXR0cmlidXRlczsKKyAgX191OCBibUF0dHJpYnV0ZXM7CiAjZGVmaW5lIFVTQl9XSVJFTEVTU19QMlBfRFJEICgxIDw8IDEpCiAjZGVmaW5lIFVTQl9XSVJFTEVTU19CRUFDT05fTUFTSyAoMyA8PCAyKQogI2RlZmluZSBVU0JfV0lSRUxFU1NfQkVBQ09OX1NFTEYgKDEgPDwgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQl9XSVJFTEVTU19CRUFDT05fRElSRUNURUQgKDIgPDwgMikKICNkZWZpbmUgVVNCX1dJUkVMRVNTX0JFQUNPTl9OT05FICgzIDw8IDIpCi0gX19sZTE2IHdQSFlSYXRlczsKKyAgX19sZTE2IHdQSFlSYXRlczsKICNkZWZpbmUgVVNCX1dJUkVMRVNTX1BIWV81MyAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCX1dJUkVMRVNTX1BIWV84MCAoMSA8PCAxKQpAQCAtMzk5LDIwICszOTksMjAgQEAKICNkZWZpbmUgVVNCX1dJUkVMRVNTX1BIWV8zMjAgKDEgPDwgNSkKICNkZWZpbmUgVVNCX1dJUkVMRVNTX1BIWV80MDAgKDEgPDwgNikKICNkZWZpbmUgVVNCX1dJUkVMRVNTX1BIWV80ODAgKDEgPDwgNykKLSBfX3U4IGJtVEZJVFhQb3dlckluZm87CisgIF9fdTggYm1URklUWFBvd2VySW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBibUZGSVRYUG93ZXJJbmZvOwotIF9fbGUxNiBibUJhbmRHcm91cDsKLSBfX3U4IGJSZXNlcnZlZDsKKyAgX191OCBibUZGSVRYUG93ZXJJbmZvOworICBfX2xlMTYgYm1CYW5kR3JvdXA7CisgIF9fdTggYlJlc2VydmVkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQl9DQVBfVFlQRV9FWFQgMgogc3RydWN0IHVzYl9leHRfY2FwX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGV2Q2FwYWJpbGl0eVR5cGU7Ci0gX19sZTMyIGJtQXR0cmlidXRlczsKKyAgX191OCBiRGV2Q2FwYWJpbGl0eVR5cGU7CisgIF9fbGUzMiBibUF0dHJpYnV0ZXM7CiAjZGVmaW5lIFVTQl9MUE1fU1VQUE9SVCAoMSA8PCAxKQogI2RlZmluZSBVU0JfQkVTTF9TVVBQT1JUICgxIDw8IDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNDI2LDQ3ICs0MjYsNDcgQEAKICNkZWZpbmUgVVNCX1NTX0NBUF9UWVBFIDMKIHN0cnVjdCB1c2Jfc3NfY2FwX2Rlc2NyaXB0b3IgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGV2Q2FwYWJpbGl0eVR5cGU7Ci0gX191OCBibUF0dHJpYnV0ZXM7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRldkNhcGFiaWxpdHlUeXBlOworICBfX3U4IGJtQXR0cmlidXRlczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQl9MVE1fU1VQUE9SVCAoMSA8PCAxKQotIF9fbGUxNiB3U3BlZWRTdXBwb3J0ZWQ7CisgIF9fbGUxNiB3U3BlZWRTdXBwb3J0ZWQ7CiAjZGVmaW5lIFVTQl9MT1dfU1BFRURfT1BFUkFUSU9OICgxKQogI2RlZmluZSBVU0JfRlVMTF9TUEVFRF9PUEVSQVRJT04gKDEgPDwgMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQl9ISUdIX1NQRUVEX09QRVJBVElPTiAoMSA8PCAyKQogI2RlZmluZSBVU0JfNUdCUFNfT1BFUkFUSU9OICgxIDw8IDMpCi0gX191OCBiRnVuY3Rpb25hbGl0eVN1cHBvcnQ7Ci0gX191OCBiVTFkZXZFeGl0TGF0OworICBfX3U4IGJGdW5jdGlvbmFsaXR5U3VwcG9ydDsKKyAgX191OCBiVTFkZXZFeGl0TGF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgYlUyRGV2RXhpdExhdDsKKyAgX19sZTE2IGJVMkRldkV4aXRMYXQ7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0JfRFRfVVNCX1NTX0NBUF9TSVpFIDEwCiAjZGVmaW5lIENPTlRBSU5FUl9JRF9UWVBFIDQKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX3NzX2NvbnRhaW5lcl9pZF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGV2Q2FwYWJpbGl0eVR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRldkNhcGFiaWxpdHlUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJSZXNlcnZlZDsKLSBfX3U4IENvbnRhaW5lcklEWzE2XTsKKyAgX191OCBiUmVzZXJ2ZWQ7CisgIF9fdTggQ29udGFpbmVySURbMTZdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVVNCX0RUX1VTQl9TU19DT05UTl9JRF9TSVpFIDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl93aXJlbGVzc19lcF9jb21wX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJNYXhCdXJzdDsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTWF4QnVyc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYk1heFNlcXVlbmNlOwotIF9fbGUxNiB3TWF4U3RyZWFtRGVsYXk7Ci0gX19sZTE2IHdPdmVyVGhlQWlyUGFja2V0U2l6ZTsKLSBfX3U4IGJPdmVyVGhlQWlySW50ZXJ2YWw7CisgIF9fdTggYk1heFNlcXVlbmNlOworICBfX2xlMTYgd01heFN0cmVhbURlbGF5OworICBfX2xlMTYgd092ZXJUaGVBaXJQYWNrZXRTaXplOworICBfX3U4IGJPdmVyVGhlQWlySW50ZXJ2YWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYm1Db21wQXR0cmlidXRlczsKKyAgX191OCBibUNvbXBBdHRyaWJ1dGVzOwogI2RlZmluZSBVU0JfRU5EUE9JTlRfU1dJVENIX01BU0sgMHgwMwogI2RlZmluZSBVU0JfRU5EUE9JTlRfU1dJVENIX05PIDAKICNkZWZpbmUgVVNCX0VORFBPSU5UX1NXSVRDSF9TV0lUQ0ggMQpAQCAtNDc0LDY3ICs0NzQsNjggQEAKICNkZWZpbmUgVVNCX0VORFBPSU5UX1NXSVRDSF9TQ0FMRSAyCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9oYW5kc2hha2UgewotIF9fdTggYk1lc3NhZ2VOdW1iZXI7CisgIF9fdTggYk1lc3NhZ2VOdW1iZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlN0YXR1czsKLSBfX3U4IHRUS0lEWzNdOwotIF9fdTggYlJlc2VydmVkOwotIF9fdTggQ0RJRFsxNl07CisgIF9fdTggYlN0YXR1czsKKyAgX191OCB0VEtJRFszXTsKKyAgX191OCBiUmVzZXJ2ZWQ7CisgIF9fdTggQ0RJRFsxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbm9uY2VbMTZdOwotIF9fdTggTUlDWzhdOworICBfX3U4IG5vbmNlWzE2XTsKKyAgX191OCBNSUNbOF07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9jb25uZWN0aW9uX2NvbnRleHQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IENISURbMTZdOwotIF9fdTggQ0RJRFsxNl07Ci0gX191OCBDS1sxNl07CisgIF9fdTggQ0hJRFsxNl07CisgIF9fdTggQ0RJRFsxNl07CisgIF9fdTggQ0tbMTZdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHVzYl9kZXZpY2Vfc3BlZWQgewotIFVTQl9TUEVFRF9VTktOT1dOID0gMCwKLSBVU0JfU1BFRURfTE9XLCBVU0JfU1BFRURfRlVMTCwKLSBVU0JfU1BFRURfSElHSCwKKyAgVVNCX1NQRUVEX1VOS05PV04gPSAwLAorICBVU0JfU1BFRURfTE9XLAorICBVU0JfU1BFRURfRlVMTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVVNCX1NQRUVEX1dJUkVMRVNTLAotIFVTQl9TUEVFRF9TVVBFUiwKKyAgVVNCX1NQRUVEX0hJR0gsCisgIFVTQl9TUEVFRF9XSVJFTEVTUywKKyAgVVNCX1NQRUVEX1NVUEVSLAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHVzYl9kZXZpY2Vfc3RhdGUgeworICBVU0JfU1RBVEVfTk9UQVRUQUNIRUQgPSAwLAorICBVU0JfU1RBVEVfQVRUQUNIRUQsCisgIFVTQl9TVEFURV9QT1dFUkVELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBVU0JfU1RBVEVfTk9UQVRUQUNIRUQgPSAwLAotIFVTQl9TVEFURV9BVFRBQ0hFRCwKLSBVU0JfU1RBVEVfUE9XRVJFRCwKLSBVU0JfU1RBVEVfUkVDT05ORUNUSU5HLAorICBVU0JfU1RBVEVfUkVDT05ORUNUSU5HLAorICBVU0JfU1RBVEVfVU5BVVRIRU5USUNBVEVELAorICBVU0JfU1RBVEVfREVGQVVMVCwKKyAgVVNCX1NUQVRFX0FERFJFU1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFVTQl9TVEFURV9VTkFVVEhFTlRJQ0FURUQsCi0gVVNCX1NUQVRFX0RFRkFVTFQsCi0gVVNCX1NUQVRFX0FERFJFU1MsCi0gVVNCX1NUQVRFX0NPTkZJR1VSRUQsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFVTQl9TVEFURV9TVVNQRU5ERUQKKyAgVVNCX1NUQVRFX0NPTkZJR1VSRUQsCisgIFVTQl9TVEFURV9TVVNQRU5ERUQKIH07CiBlbnVtIHVzYjNfbGlua19zdGF0ZSB7Ci0gVVNCM19MUE1fVTAgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBVU0IzX0xQTV9VMSwKLSBVU0IzX0xQTV9VMiwKLSBVU0IzX0xQTV9VMworICBVU0IzX0xQTV9VMCA9IDAsCisgIFVTQjNfTFBNX1UxLAorICBVU0IzX0xQTV9VMiwKKyAgVVNCM19MUE1fVTMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCM19MUE1fRElTQUJMRUQgMHgwCiAjZGVmaW5lIFVTQjNfTFBNX1UxX01BWF9USU1FT1VUIDB4N0YKICNkZWZpbmUgVVNCM19MUE1fVTJfTUFYX1RJTUVPVVQgMHhGRQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCM19MUE1fREVWSUNFX0lOSVRJQVRFRCAweEZGCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYl9zZXRfc2VsX3JlcSB7Ci0gX191OCB1MV9zZWw7Ci0gX191OCB1MV9wZWw7Ci0gX19sZTE2IHUyX3NlbDsKKyAgX191OCB1MV9zZWw7CisgIF9fdTggdTFfcGVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgdTJfcGVsOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUxNiB1Ml9zZWw7CisgIF9fbGUxNiB1Ml9wZWw7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBVU0IzX0xQTV9NQVhfVTFfU0VMX1BFTCAweEZGCi0jZGVmaW5lIFVTQjNfTFBNX01BWF9VMl9TRUxfUEVMIDB4RkZGRgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVVNCM19MUE1fTUFYX1UyX1NFTF9QRUwgMHhGRkZGCiAjZGVmaW5lIFVTQl9TRUxGX1BPV0VSX1ZCVVNfTUFYX0RSQVcgMTAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2ZfbXRwLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9mX210cC5oCmluZGV4IDNjMTgzNTMuLjIyZWM3NzEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2ZfbXRwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvZl9tdHAuaApAQCAtMjIsMTcgKzIyLDE3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbXRwX2ZpbGVfcmFuZ2UgewotIGludCBmZDsKLSBsb2ZmX3Qgb2Zmc2V0OwotIGludDY0X3QgbGVuZ3RoOworICBpbnQgZmQ7CisgIGxvZmZfdCBvZmZzZXQ7CisgIGludDY0X3QgbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MTZfdCBjb21tYW5kOwotIHVpbnQzMl90IHRyYW5zYWN0aW9uX2lkOworICB1aW50MTZfdCBjb21tYW5kOworICB1aW50MzJfdCB0cmFuc2FjdGlvbl9pZDsKIH07CiBzdHJ1Y3QgbXRwX2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2l6ZV90IGxlbmd0aDsKLSB2b2lkICpkYXRhOworICBzaXplX3QgbGVuZ3RoOworICB2b2lkICogZGF0YTsKIH07CiAjZGVmaW5lIE1UUF9TRU5EX0ZJTEUgX0lPVygnTScsIDAsIHN0cnVjdCBtdHBfZmlsZV9yYW5nZSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9mdW5jdGlvbmZzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9mdW5jdGlvbmZzLmgKaW5kZXggM2VhMTg1YS4uZjNmNGRhNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvZnVuY3Rpb25mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2Z1bmN0aW9uZnMuaApAQCAtMjMsNTkgKzIzLDEwOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpbmNsdWRlIDxsaW51eC91c2IvY2g5Lmg+CiBlbnVtIHsKLSBGVU5DVElPTkZTX0RFU0NSSVBUT1JTX01BR0lDID0gMSwKLSBGVU5DVElPTkZTX1NUUklOR1NfTUFHSUMgPSAyCisgIEZVTkNUSU9ORlNfREVTQ1JJUFRPUlNfTUFHSUMgPSAxLAorICBGVU5DVElPTkZTX1NUUklOR1NfTUFHSUMgPSAyLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgRlVOQ1RJT05GU19ERVNDUklQVE9SU19NQUdJQ19WMiA9IDMsCit9OworZW51bSBmdW5jdGlvbmZzX2ZsYWdzIHsKKyAgRlVOQ1RJT05GU19IQVNfRlNfREVTQyA9IDEsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBGVU5DVElPTkZTX0hBU19IU19ERVNDID0gMiwKKyAgRlVOQ1RJT05GU19IQVNfU1NfREVTQyA9IDQsCisgIEZVTkNUSU9ORlNfSEFTX01TX09TX0RFU0MgPSA4LAorICBGVU5DVElPTkZTX1ZJUlRVQUxfQUREUiA9IDE2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3Jfbm9fYXVkaW8gewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRW5kcG9pbnRBZGRyZXNzOwotIF9fdTggYm1BdHRyaWJ1dGVzOwotIF9fbGUxNiB3TWF4UGFja2V0U2l6ZTsKLSBfX3U4IGJJbnRlcnZhbDsKKyAgX191OCBiRW5kcG9pbnRBZGRyZXNzOworICBfX3U4IGJtQXR0cmlidXRlczsKKyAgX19sZTE2IHdNYXhQYWNrZXRTaXplOworICBfX3U4IGJJbnRlcnZhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworc3RydWN0IHVzYl9mdW5jdGlvbmZzX2Rlc2NzX2hlYWRfdjIgeworICBfX2xlMzIgbWFnaWM7CisgIF9fbGUzMiBsZW5ndGg7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2xlMzIgZmxhZ3M7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9mdW5jdGlvbmZzX2Rlc2NzX2hlYWQgewotIF9fbGUzMiBtYWdpYzsKLSBfX2xlMzIgbGVuZ3RoOworICBfX2xlMzIgbWFnaWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBmc19jb3VudDsKLSBfX2xlMzIgaHNfY291bnQ7CisgIF9fbGUzMiBsZW5ndGg7CisgIF9fbGUzMiBmc19jb3VudDsKKyAgX19sZTMyIGhzX2NvdW50OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGRlcHJlY2F0ZWQpKTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgdXNiX29zX2Rlc2NfaGVhZGVyIHsKKyAgX191OCBpbnRlcmZhY2U7CisgIF9fbGUzMiBkd0xlbmd0aDsKKyAgX19sZTE2IGJjZFZlcnNpb247CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2xlMTYgd0luZGV4OworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTggYkNvdW50OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICAgIF9fdTggUmVzZXJ2ZWQ7CisgICAgfTsKKyAgICBfX2xlMTYgd0NvdW50OworICB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CitzdHJ1Y3QgdXNiX2V4dF9jb21wYXRfZGVzYyB7CisgIF9fdTggYkZpcnN0SW50ZXJmYWNlTnVtYmVyOworICBfX3U4IFJlc2VydmVkMTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggQ29tcGF0aWJsZUlEWzhdOworICBfX3U4IFN1YkNvbXBhdGlibGVJRFs4XTsKKyAgX191OCBSZXNlcnZlZDJbNl07Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCB1c2JfZXh0X3Byb3BfZGVzYyB7CisgIF9fbGUzMiBkd1NpemU7CisgIF9fbGUzMiBkd1Byb3BlcnR5RGF0YVR5cGU7CisgIF9fbGUxNiB3UHJvcGVydHlOYW1lTGVuZ3RoOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdXNiX2Z1bmN0aW9uZnNfc3RyaW5nc19oZWFkIHsKKyAgX19sZTMyIG1hZ2ljOworICBfX2xlMzIgbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgbWFnaWM7Ci0gX19sZTMyIGxlbmd0aDsKLSBfX2xlMzIgc3RyX2NvdW50OwotIF9fbGUzMiBsYW5nX2NvdW50OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19sZTMyIHN0cl9jb3VudDsKKyAgX19sZTMyIGxhbmdfY291bnQ7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogZW51bSB1c2JfZnVuY3Rpb25mc19ldmVudF90eXBlIHsKLSBGVU5DVElPTkZTX0JJTkQsCi0gRlVOQ1RJT05GU19VTkJJTkQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZVTkNUSU9ORlNfRU5BQkxFLAotIEZVTkNUSU9ORlNfRElTQUJMRSwKLSBGVU5DVElPTkZTX1NFVFVQLAotIEZVTkNUSU9ORlNfU1VTUEVORCwKKyAgRlVOQ1RJT05GU19CSU5ELAorICBGVU5DVElPTkZTX1VOQklORCwKKyAgRlVOQ1RJT05GU19FTkFCTEUsCisgIEZVTkNUSU9ORlNfRElTQUJMRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRlVOQ1RJT05GU19SRVNVTUUKKyAgRlVOQ1RJT05GU19TRVRVUCwKKyAgRlVOQ1RJT05GU19TVVNQRU5ELAorICBGVU5DVElPTkZTX1JFU1VNRQogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX2Z1bmN0aW9uZnNfZXZlbnQgewotIHVuaW9uIHsKKyAgdW5pb24geworICAgIHN0cnVjdCB1c2JfY3RybHJlcXVlc3Qgc2V0dXA7CisgIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHVzYl9jdHJscmVxdWVzdCBzZXR1cDsKLSB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHU7Ci0gX191OCB0eXBlOwotIF9fdTggX3BhZFszXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggdHlwZTsKKyAgX191OCBfcGFkWzNdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgRlVOQ1RJT05GU19GSUZPX1NUQVRVUyBfSU8oJ2cnLCAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlVOQ1RJT05GU19GSUZPX0ZMVVNIIF9JTygnZycsIDIpCiAjZGVmaW5lIEZVTkNUSU9ORlNfQ0xFQVJfSEFMVCBfSU8oJ2cnLCAzKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRlVOQ1RJT05GU19JTlRFUkZBQ0VfUkVWTUFQIF9JTygnZycsIDEyOCkKICNkZWZpbmUgRlVOQ1RJT05GU19FTkRQT0lOVF9SRVZNQVAgX0lPKCdnJywgMTI5KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRlVOQ1RJT05GU19FTkRQT0lOVF9ERVNDIF9JT1IoJ2cnLCAxMzAsIHN0cnVjdCB1c2JfZW5kcG9pbnRfZGVzY3JpcHRvcikKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvZ2FkZ2V0ZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL2dhZGdldGZzLmgKaW5kZXggNGI2Y2EwMC4uMzlkYTE4YSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvZ2FkZ2V0ZnMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9nYWRnZXRmcy5oCkBAIC0yMywyMSArMjMsMjEgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjaW5jbHVkZSA8bGludXgvdXNiL2NoOS5oPgogZW51bSB1c2JfZ2FkZ2V0ZnNfZXZlbnRfdHlwZSB7Ci0gR0FER0VURlNfTk9QID0gMCwKLSBHQURHRVRGU19DT05ORUNULAorICBHQURHRVRGU19OT1AgPSAwLAorICBHQURHRVRGU19DT05ORUNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBHQURHRVRGU19ESVNDT05ORUNULAotIEdBREdFVEZTX1NFVFVQLAotIEdBREdFVEZTX1NVU1BFTkQsCisgIEdBREdFVEZTX0RJU0NPTk5FQ1QsCisgIEdBREdFVEZTX1NFVFVQLAorICBHQURHRVRGU19TVVNQRU5ELAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiX2dhZGdldGZzX2V2ZW50IHsKLSB1bmlvbiB7Ci0gZW51bSB1c2JfZGV2aWNlX3NwZWVkIHNwZWVkOwotIHN0cnVjdCB1c2JfY3RybHJlcXVlc3Qgc2V0dXA7CisgIHVuaW9uIHsKKyAgICBlbnVtIHVzYl9kZXZpY2Vfc3BlZWQgc3BlZWQ7CisgICAgc3RydWN0IHVzYl9jdHJscmVxdWVzdCBzZXR1cDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSB1OwotIGVudW0gdXNiX2dhZGdldGZzX2V2ZW50X3R5cGUgdHlwZTsKKyAgfSB1OworICBlbnVtIHVzYl9nYWRnZXRmc19ldmVudF90eXBlIHR5cGU7CiB9OwogI2RlZmluZSBHQURHRVRGU19GSUZPX1NUQVRVUyBfSU8oJ2cnLCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL21pZGkuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL21pZGkuaAppbmRleCA5OWMzNmY3Li4wMzExMTZiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi9taWRpLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvbWlkaS5oCkBAIC0yOSw1NSArMjksNTcgQEAKICNkZWZpbmUgVVNCX01TX0VNQkVEREVEIDB4MDEKICNkZWZpbmUgVVNCX01TX0VYVEVSTkFMIDB4MDIKIHN0cnVjdCB1c2JfbXNfaGVhZGVyX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKKyAgX191OCBiTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKLSBfX2xlMTYgYmNkTVNDOwotIF9fbGUxNiB3VG90YWxMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKKyAgX19sZTE2IGJjZE1TQzsKKyAgX19sZTE2IHdUb3RhbExlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9EVF9NU19IRUFERVJfU0laRSA3CiBzdHJ1Y3QgdXNiX21pZGlfaW5famFja19kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7Ci0gX191OCBiSmFja1R5cGU7Ci0gX191OCBiSmFja0lEOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7CisgIF9fdTggYkphY2tUeXBlOworICBfX3U4IGJKYWNrSUQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaUphY2s7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyAgX191OCBpSmFjazsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFVTQl9EVF9NSURJX0lOX1NJWkUgNgogc3RydWN0IHVzYl9taWRpX3NvdXJjZV9waW4gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJhU291cmNlSUQ7Ci0gX191OCBiYVNvdXJjZVBpbjsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJhU291cmNlSUQ7CisgIF9fdTggYmFTb3VyY2VQaW47Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHVzYl9taWRpX291dF9qYWNrX2Rlc2NyaXB0b3IgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7Ci0gX191OCBiSmFja1R5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOworICBfX3U4IGJKYWNrVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiSmFja0lEOwotIF9fdTggYk5ySW5wdXRQaW5zOwotIHN0cnVjdCB1c2JfbWlkaV9zb3VyY2VfcGluIHBpbnNbXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGJKYWNrSUQ7CisgIF9fdTggYk5ySW5wdXRQaW5zOworICBzdHJ1Y3QgdXNiX21pZGlfc291cmNlX3BpbiBwaW5zW107Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCX0RUX01JRElfT1VUX1NJWkUocCkgKDcgKyAyICogKHApKQotI2RlZmluZSBERUNMQVJFX1VTQl9NSURJX09VVF9KQUNLX0RFU0NSSVBUT1IocCkgIHN0cnVjdCB1c2JfbWlkaV9vdXRfamFja19kZXNjcmlwdG9yXyMjcCB7ICAgX191OCBiTGVuZ3RoOyAgIF9fdTggYkRlc2NyaXB0b3JUeXBlOyAgIF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOyAgIF9fdTggYkphY2tUeXBlOyAgIF9fdTggYkphY2tJRDsgICBfX3U4IGJOcklucHV0UGluczsgICBzdHJ1Y3QgdXNiX21pZGlfc291cmNlX3BpbiBwaW5zW3BdOyAgIF9fdTggaUphY2s7ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBERUNMQVJFX1VTQl9NSURJX09VVF9KQUNLX0RFU0NSSVBUT1IocCkgc3RydWN0IHVzYl9taWRpX291dF9qYWNrX2Rlc2NyaXB0b3JfICMjcCB7IF9fdTggYkxlbmd0aDsgX191OCBiRGVzY3JpcHRvclR5cGU7IF9fdTggYkRlc2NyaXB0b3JTdWJ0eXBlOyBfX3U4IGJKYWNrVHlwZTsgX191OCBiSmFja0lEOyBfX3U4IGJOcklucHV0UGluczsgc3RydWN0IHVzYl9taWRpX3NvdXJjZV9waW4gcGluc1twXTsgX191OCBpSmFjazsgXAorfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQogc3RydWN0IHVzYl9tc19lbmRwb2ludF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YnR5cGU7Ci0gX191OCBiTnVtRW1iTUlESUphY2s7Ci0gX191OCBiYUFzc29jSmFja0lEW107CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsKKyAgX191OCBiTnVtRW1iTUlESUphY2s7CisgIF9fdTggYmFBc3NvY0phY2tJRFtdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVVNCX0RUX01TX0VORFBPSU5UX1NJWkUobikgKDQgKyAobikpCi0jZGVmaW5lIERFQ0xBUkVfVVNCX01TX0VORFBPSU5UX0RFU0NSSVBUT1IobikgIHN0cnVjdCB1c2JfbXNfZW5kcG9pbnRfZGVzY3JpcHRvcl8jI24geyAgIF9fdTggYkxlbmd0aDsgICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsgICBfX3U4IGJEZXNjcmlwdG9yU3VidHlwZTsgICBfX3U4IGJOdW1FbWJNSURJSmFjazsgICBfX3U4IGJhQXNzb2NKYWNrSURbbl07ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBERUNMQVJFX1VTQl9NU19FTkRQT0lOVF9ERVNDUklQVE9SKG4pIHN0cnVjdCB1c2JfbXNfZW5kcG9pbnRfZGVzY3JpcHRvcl8gIyNuIHsgX191OCBiTGVuZ3RoOyBfX3U4IGJEZXNjcmlwdG9yVHlwZTsgX191OCBiRGVzY3JpcHRvclN1YnR5cGU7IF9fdTggYk51bUVtYk1JRElKYWNrOyBfX3U4IGJhQXNzb2NKYWNrSURbbl07IFwKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL3ZpZGVvLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYi92aWRlby5oCmluZGV4IDdhYmFlYWQuLmFiMTBlZDggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiL3ZpZGVvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2IvdmlkZW8uaApAQCAtMTY5LDI4NSArMTY5LDI5MiBAQAogI2RlZmluZSBVVkNfQ09OVFJPTF9DQVBfQVVUT1VQREFURSAoMSA8PCAzKQogI2RlZmluZSBVVkNfQ09OVFJPTF9DQVBfQVNZTkNIUk9OT1VTICgxIDw8IDQpCiBzdHJ1Y3QgdXZjX2Rlc2NyaXB0b3JfaGVhZGVyIHsKLSBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdXZjX2hlYWRlcl9kZXNjcmlwdG9yIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOwotIF9fdTE2IGJjZFVWQzsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTE2IGJjZFVWQzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgd1RvdGFsTGVuZ3RoOwotIF9fdTMyIGR3Q2xvY2tGcmVxdWVuY3k7Ci0gX191OCBiSW5Db2xsZWN0aW9uOwotIF9fdTggYmFJbnRlcmZhY2VOcltdOworICBfX3UxNiB3VG90YWxMZW5ndGg7CisgIF9fdTMyIGR3Q2xvY2tGcmVxdWVuY3k7CisgIF9fdTggYkluQ29sbGVjdGlvbjsKKyAgX191OCBiYUludGVyZmFjZU5yW107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7Ci0jZGVmaW5lIFVWQ19EVF9IRUFERVJfU0laRShuKSAoMTIrKG4pKQotI2RlZmluZSBVVkNfSEVBREVSX0RFU0NSSVBUT1IobikgICB1dmNfaGVhZGVyX2Rlc2NyaXB0b3JfIyNuCi0jZGVmaW5lIERFQ0xBUkVfVVZDX0hFQURFUl9ERVNDUklQVE9SKG4pICBzdHJ1Y3QgVVZDX0hFQURFUl9ERVNDUklQVE9SKG4pIHsgICBfX3U4IGJMZW5ndGg7ICAgX191OCBiRGVzY3JpcHRvclR5cGU7ICAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7ICAgX191MTYgYmNkVVZDOyAgIF9fdTE2IHdUb3RhbExlbmd0aDsgICBfX3UzMiBkd0Nsb2NrRnJlcXVlbmN5OyAgIF9fdTggYkluQ29sbGVjdGlvbjsgICBfX3U4IGJhSW50ZXJmYWNlTnJbbl07ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBVVkNfRFRfSEVBREVSX1NJWkUobikgKDEyICsgKG4pKQorI2RlZmluZSBVVkNfSEVBREVSX0RFU0NSSVBUT1IobikgdXZjX2hlYWRlcl9kZXNjcmlwdG9yXyAjI24KKyNkZWZpbmUgREVDTEFSRV9VVkNfSEVBREVSX0RFU0NSSVBUT1Iobikgc3RydWN0IFVWQ19IRUFERVJfREVTQ1JJUFRPUihuKSB7IF9fdTggYkxlbmd0aDsgX191OCBiRGVzY3JpcHRvclR5cGU7IF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOyBfX3UxNiBiY2RVVkM7IF9fdTE2IHdUb3RhbExlbmd0aDsgX191MzIgZHdDbG9ja0ZyZXF1ZW5jeTsgX191OCBiSW5Db2xsZWN0aW9uOyBfX3U4IGJhSW50ZXJmYWNlTnJbbl07IFwKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXZjX2lucHV0X3Rlcm1pbmFsX2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlRlcm1pbmFsSUQ7Ci0gX191MTYgd1Rlcm1pbmFsVHlwZTsKLSBfX3U4IGJBc3NvY1Rlcm1pbmFsOwotIF9fdTggaVRlcm1pbmFsOworICBfX3U4IGJUZXJtaW5hbElEOworICBfX3UxNiB3VGVybWluYWxUeXBlOworICBfX3U4IGJBc3NvY1Rlcm1pbmFsOworICBfX3U4IGlUZXJtaW5hbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKICNkZWZpbmUgVVZDX0RUX0lOUFVUX1RFUk1JTkFMX1NJWkUgOAogc3RydWN0IHV2Y19vdXRwdXRfdGVybWluYWxfZGVzY3JpcHRvciB7Ci0gX191OCBiTGVuZ3RoOworICBfX3U4IGJMZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOwotIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOwotIF9fdTggYlRlcm1pbmFsSUQ7Ci0gX191MTYgd1Rlcm1pbmFsVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX3U4IGJUZXJtaW5hbElEOworICBfX3UxNiB3VGVybWluYWxUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJBc3NvY1Rlcm1pbmFsOwotIF9fdTggYlNvdXJjZUlEOwotIF9fdTggaVRlcm1pbmFsOworICBfX3U4IGJBc3NvY1Rlcm1pbmFsOworICBfX3U4IGJTb3VyY2VJRDsKKyAgX191OCBpVGVybWluYWw7CiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVWQ19EVF9PVVRQVVRfVEVSTUlOQUxfU0laRSA5CiBzdHJ1Y3QgdXZjX2NhbWVyYV90ZXJtaW5hbF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOwotIF9fdTggYlRlcm1pbmFsSUQ7Ci0gX191MTYgd1Rlcm1pbmFsVHlwZTsKLSBfX3U4IGJBc3NvY1Rlcm1pbmFsOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiVGVybWluYWxJRDsKKyAgX191MTYgd1Rlcm1pbmFsVHlwZTsKKyAgX191OCBiQXNzb2NUZXJtaW5hbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpVGVybWluYWw7Ci0gX191MTYgd09iamVjdGl2ZUZvY2FsTGVuZ3RoTWluOwotIF9fdTE2IHdPYmplY3RpdmVGb2NhbExlbmd0aE1heDsKLSBfX3UxNiB3T2N1bGFyRm9jYWxMZW5ndGg7CisgIF9fdTggaVRlcm1pbmFsOworICBfX3UxNiB3T2JqZWN0aXZlRm9jYWxMZW5ndGhNaW47CisgIF9fdTE2IHdPYmplY3RpdmVGb2NhbExlbmd0aE1heDsKKyAgX191MTYgd09jdWxhckZvY2FsTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJDb250cm9sU2l6ZTsKLSBfX3U4IGJtQ29udHJvbHNbM107CisgIF9fdTggYkNvbnRyb2xTaXplOworICBfX3U4IGJtQ29udHJvbHNbM107CiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKLSNkZWZpbmUgVVZDX0RUX0NBTUVSQV9URVJNSU5BTF9TSVpFKG4pICgxNSsobikpCisjZGVmaW5lIFVWQ19EVF9DQU1FUkFfVEVSTUlOQUxfU0laRShuKSAoMTUgKyAobikpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHV2Y19zZWxlY3Rvcl91bml0X2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlVuaXRJRDsKLSBfX3U4IGJOckluUGluczsKLSBfX3U4IGJhU291cmNlSURbMF07Ci0gX191OCBpU2VsZWN0b3I7CisgIF9fdTggYlVuaXRJRDsKKyAgX191OCBiTnJJblBpbnM7CisgIF9fdTggYmFTb3VyY2VJRFswXTsKKyAgX191OCBpU2VsZWN0b3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7Ci0jZGVmaW5lIFVWQ19EVF9TRUxFQ1RPUl9VTklUX1NJWkUobikgKDYrKG4pKQotI2RlZmluZSBVVkNfU0VMRUNUT1JfVU5JVF9ERVNDUklQVE9SKG4pICAgdXZjX3NlbGVjdG9yX3VuaXRfZGVzY3JpcHRvcl8jI24KLSNkZWZpbmUgREVDTEFSRV9VVkNfU0VMRUNUT1JfVU5JVF9ERVNDUklQVE9SKG4pICBzdHJ1Y3QgVVZDX1NFTEVDVE9SX1VOSVRfREVTQ1JJUFRPUihuKSB7ICAgX191OCBiTGVuZ3RoOyAgIF9fdTggYkRlc2NyaXB0b3JUeXBlOyAgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOyAgIF9fdTggYlVuaXRJRDsgICBfX3U4IGJOckluUGluczsgICBfX3U4IGJhU291cmNlSURbbl07ICAgX191OCBpU2VsZWN0b3I7ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBVVkNfRFRfU0VMRUNUT1JfVU5JVF9TSVpFKG4pICg2ICsgKG4pKQorI2RlZmluZSBVVkNfU0VMRUNUT1JfVU5JVF9ERVNDUklQVE9SKG4pIHV2Y19zZWxlY3Rvcl91bml0X2Rlc2NyaXB0b3JfICMjbgorI2RlZmluZSBERUNMQVJFX1VWQ19TRUxFQ1RPUl9VTklUX0RFU0NSSVBUT1Iobikgc3RydWN0IFVWQ19TRUxFQ1RPUl9VTklUX0RFU0NSSVBUT1IobikgeyBfX3U4IGJMZW5ndGg7IF9fdTggYkRlc2NyaXB0b3JUeXBlOyBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsgX191OCBiVW5pdElEOyBfX3U4IGJOckluUGluczsgX191OCBiYVNvdXJjZUlEW25dOyBfX3U4IGlTZWxlY3RvcjsgXAorfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1dmNfcHJvY2Vzc2luZ191bml0X2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlVuaXRJRDsKLSBfX3U4IGJTb3VyY2VJRDsKLSBfX3UxNiB3TWF4TXVsdGlwbGllcjsKLSBfX3U4IGJDb250cm9sU2l6ZTsKKyAgX191OCBiVW5pdElEOworICBfX3U4IGJTb3VyY2VJRDsKKyAgX191MTYgd01heE11bHRpcGxpZXI7CisgIF9fdTggYkNvbnRyb2xTaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJtQ29udHJvbHNbMl07Ci0gX191OCBpUHJvY2Vzc2luZzsKKyAgX191OCBibUNvbnRyb2xzWzJdOworICBfX3U4IGlQcm9jZXNzaW5nOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7Ci0jZGVmaW5lIFVWQ19EVF9QUk9DRVNTSU5HX1VOSVRfU0laRShuKSAoOSsobikpCisjZGVmaW5lIFVWQ19EVF9QUk9DRVNTSU5HX1VOSVRfU0laRShuKSAoOSArIChuKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXZjX2V4dGVuc2lvbl91bml0X2Rlc2NyaXB0b3IgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYlVuaXRJRDsKLSBfX3U4IGd1aWRFeHRlbnNpb25Db2RlWzE2XTsKLSBfX3U4IGJOdW1Db250cm9sczsKLSBfX3U4IGJOckluUGluczsKKyAgX191OCBiVW5pdElEOworICBfX3U4IGd1aWRFeHRlbnNpb25Db2RlWzE2XTsKKyAgX191OCBiTnVtQ29udHJvbHM7CisgIF9fdTggYk5ySW5QaW5zOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJhU291cmNlSURbMF07Ci0gX191OCBiQ29udHJvbFNpemU7Ci0gX191OCBibUNvbnRyb2xzWzBdOwotIF9fdTggaUV4dGVuc2lvbjsKKyAgX191OCBiYVNvdXJjZUlEWzBdOworICBfX3U4IGJDb250cm9sU2l6ZTsKKyAgX191OCBibUNvbnRyb2xzWzBdOworICBfX3U4IGlFeHRlbnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7Ci0jZGVmaW5lIFVWQ19EVF9FWFRFTlNJT05fVU5JVF9TSVpFKHAsIG4pICgyNCsocCkrKG4pKQotI2RlZmluZSBVVkNfRVhURU5TSU9OX1VOSVRfREVTQ1JJUFRPUihwLCBuKSAgIHV2Y19leHRlbnNpb25fdW5pdF9kZXNjcmlwdG9yXyMjcF8jI24KLSNkZWZpbmUgREVDTEFSRV9VVkNfRVhURU5TSU9OX1VOSVRfREVTQ1JJUFRPUihwLCBuKSAgc3RydWN0IFVWQ19FWFRFTlNJT05fVU5JVF9ERVNDUklQVE9SKHAsIG4pIHsgICBfX3U4IGJMZW5ndGg7ICAgX191OCBiRGVzY3JpcHRvclR5cGU7ICAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7ICAgX191OCBiVW5pdElEOyAgIF9fdTggZ3VpZEV4dGVuc2lvbkNvZGVbMTZdOyAgIF9fdTggYk51bUNvbnRyb2xzOyAgIF9fdTggYk5ySW5QaW5zOyAgIF9fdTggYmFTb3VyY2VJRFtwXTsgICBfX3U4IGJDb250cm9sU2l6ZTsgICBfX3U4IGJtQ29udHJvbHNbbl07ICAgX191OCBpRXh0ZW5zaW9uOyAgfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkKKyNkZWZpbmUgVVZDX0RUX0VYVEVOU0lPTl9VTklUX1NJWkUocCxuKSAoMjQgKyAocCkgKyAobikpCisjZGVmaW5lIFVWQ19FWFRFTlNJT05fVU5JVF9ERVNDUklQVE9SKHAsbikgdXZjX2V4dGVuc2lvbl91bml0X2Rlc2NyaXB0b3JfICMjcF8gIyNuCisjZGVmaW5lIERFQ0xBUkVfVVZDX0VYVEVOU0lPTl9VTklUX0RFU0NSSVBUT1IocCxuKSBzdHJ1Y3QgVVZDX0VYVEVOU0lPTl9VTklUX0RFU0NSSVBUT1IocCwgbikgeyBfX3U4IGJMZW5ndGg7IF9fdTggYkRlc2NyaXB0b3JUeXBlOyBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsgX191OCBiVW5pdElEOyBfX3U4IGd1aWRFeHRlbnNpb25Db2RlWzE2XTsgX191OCBiTnVtQ29udHJvbHM7IF9fdTggYk5ySW5QaW5zOyBfX3U4IGJhU291cmNlSURbcF07IF9fdTggYkNvbnRyb2xTaXplOyBfX3U4IGJtQ29udHJvbHNbbl07IF9fdTggaUV4dGVuc2lvbjsgXAorfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1dmNfY29udHJvbF9lbmRwb2ludF9kZXNjcmlwdG9yIHsKLSBfX3U4IGJMZW5ndGg7Ci0gX191OCBiRGVzY3JpcHRvclR5cGU7Ci0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkxlbmd0aDsKKyAgX191OCBiRGVzY3JpcHRvclR5cGU7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB3TWF4VHJhbnNmZXJTaXplOworICBfX3UxNiB3TWF4VHJhbnNmZXJTaXplOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiAjZGVmaW5lIFVWQ19EVF9DT05UUk9MX0VORFBPSU5UX1NJWkUgNQogc3RydWN0IHV2Y19pbnB1dF9oZWFkZXJfZGVzY3JpcHRvciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJOdW1Gb3JtYXRzOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiTnVtRm9ybWF0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgd1RvdGFsTGVuZ3RoOwotIF9fdTggYkVuZHBvaW50QWRkcmVzczsKLSBfX3U4IGJtSW5mbzsKLSBfX3U4IGJUZXJtaW5hbExpbms7CisgIF9fdTE2IHdUb3RhbExlbmd0aDsKKyAgX191OCBiRW5kcG9pbnRBZGRyZXNzOworICBfX3U4IGJtSW5mbzsKKyAgX191OCBiVGVybWluYWxMaW5rOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJTdGlsbENhcHR1cmVNZXRob2Q7Ci0gX191OCBiVHJpZ2dlclN1cHBvcnQ7Ci0gX191OCBiVHJpZ2dlclVzYWdlOwotIF9fdTggYkNvbnRyb2xTaXplOworICBfX3U4IGJTdGlsbENhcHR1cmVNZXRob2Q7CisgIF9fdTggYlRyaWdnZXJTdXBwb3J0OworICBfX3U4IGJUcmlnZ2VyVXNhZ2U7CisgIF9fdTggYkNvbnRyb2xTaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJtYUNvbnRyb2xzW107CisgIF9fdTggYm1hQ29udHJvbHNbXTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwotI2RlZmluZSBVVkNfRFRfSU5QVVRfSEVBREVSX1NJWkUobiwgcCkgKDEzKyhuKnApKQotI2RlZmluZSBVVkNfSU5QVVRfSEVBREVSX0RFU0NSSVBUT1IobiwgcCkgICB1dmNfaW5wdXRfaGVhZGVyX2Rlc2NyaXB0b3JfIyNuXyMjcAorI2RlZmluZSBVVkNfRFRfSU5QVVRfSEVBREVSX1NJWkUobixwKSAoMTMgKyAobiAqIHApKQorI2RlZmluZSBVVkNfSU5QVVRfSEVBREVSX0RFU0NSSVBUT1IobixwKSB1dmNfaW5wdXRfaGVhZGVyX2Rlc2NyaXB0b3JfICMjbl8gIyNwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBERUNMQVJFX1VWQ19JTlBVVF9IRUFERVJfREVTQ1JJUFRPUihuLCBwKSAgc3RydWN0IFVWQ19JTlBVVF9IRUFERVJfREVTQ1JJUFRPUihuLCBwKSB7ICAgX191OCBiTGVuZ3RoOyAgIF9fdTggYkRlc2NyaXB0b3JUeXBlOyAgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOyAgIF9fdTggYk51bUZvcm1hdHM7ICAgX191MTYgd1RvdGFsTGVuZ3RoOyAgIF9fdTggYkVuZHBvaW50QWRkcmVzczsgICBfX3U4IGJtSW5mbzsgICBfX3U4IGJUZXJtaW5hbExpbms7ICAgX191OCBiU3RpbGxDYXB0dXJlTWV0aG9kOyAgIF9fdTggYlRyaWdnZXJTdXBwb3J0OyAgIF9fdTggYlRyaWdnZXJVc2FnZTsgICBfX3U4IGJDb250cm9sU2l6ZTsgICBfX3U4IGJtYUNvbnRyb2xzW3BdW25dOyAgfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkKKyNkZWZpbmUgREVDTEFSRV9VVkNfSU5QVVRfSEVBREVSX0RFU0NSSVBUT1IobixwKSBzdHJ1Y3QgVVZDX0lOUFVUX0hFQURFUl9ERVNDUklQVE9SKG4sIHApIHsgX191OCBiTGVuZ3RoOyBfX3U4IGJEZXNjcmlwdG9yVHlwZTsgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7IF9fdTggYk51bUZvcm1hdHM7IF9fdTE2IHdUb3RhbExlbmd0aDsgX191OCBiRW5kcG9pbnRBZGRyZXNzOyBfX3U4IGJtSW5mbzsgX191OCBiVGVybWluYWxMaW5rOyBfX3U4IGJTdGlsbENhcHR1cmVNZXRob2Q7IF9fdTggYlRyaWdnZXJTdXBwb3J0OyBfX3U4IGJUcmlnZ2VyVXNhZ2U7IF9fdTggYkNvbnRyb2xTaXplOyBfX3U4IGJtYUNvbnRyb2xzW3BdW25dOyBcCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCiBzdHJ1Y3QgdXZjX291dHB1dF9oZWFkZXJfZGVzY3JpcHRvciB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJOdW1Gb3JtYXRzOwotIF9fdTE2IHdUb3RhbExlbmd0aDsKLSBfX3U4IGJFbmRwb2ludEFkZHJlc3M7CisgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOworICBfX3U4IGJOdW1Gb3JtYXRzOworICBfX3UxNiB3VG90YWxMZW5ndGg7CisgIF9fdTggYkVuZHBvaW50QWRkcmVzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiVGVybWluYWxMaW5rOwotIF9fdTggYkNvbnRyb2xTaXplOwotIF9fdTggYm1hQ29udHJvbHNbXTsKKyAgX191OCBiVGVybWluYWxMaW5rOworICBfX3U4IGJDb250cm9sU2l6ZTsKKyAgX191OCBibWFDb250cm9sc1tdOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBVVkNfRFRfT1VUUFVUX0hFQURFUl9TSVpFKG4sIHApICg5KyhuKnApKQotI2RlZmluZSBVVkNfT1VUUFVUX0hFQURFUl9ERVNDUklQVE9SKG4sIHApICAgdXZjX291dHB1dF9oZWFkZXJfZGVzY3JpcHRvcl8jI25fIyNwCi0jZGVmaW5lIERFQ0xBUkVfVVZDX09VVFBVVF9IRUFERVJfREVTQ1JJUFRPUihuLCBwKSAgc3RydWN0IFVWQ19PVVRQVVRfSEVBREVSX0RFU0NSSVBUT1IobiwgcCkgeyAgIF9fdTggYkxlbmd0aDsgICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsgICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsgICBfX3U4IGJOdW1Gb3JtYXRzOyAgIF9fdTE2IHdUb3RhbExlbmd0aDsgICBfX3U4IGJFbmRwb2ludEFkZHJlc3M7ICAgX191OCBiVGVybWluYWxMaW5rOyAgIF9fdTggYkNvbnRyb2xTaXplOyAgIF9fdTggYm1hQ29udHJvbHNbcF1bbl07ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBVVkNfRFRfT1VUUFVUX0hFQURFUl9TSVpFKG4scCkgKDkgKyAobiAqIHApKQorI2RlZmluZSBVVkNfT1VUUFVUX0hFQURFUl9ERVNDUklQVE9SKG4scCkgdXZjX291dHB1dF9oZWFkZXJfZGVzY3JpcHRvcl8gIyNuXyAjI3AKKyNkZWZpbmUgREVDTEFSRV9VVkNfT1VUUFVUX0hFQURFUl9ERVNDUklQVE9SKG4scCkgc3RydWN0IFVWQ19PVVRQVVRfSEVBREVSX0RFU0NSSVBUT1IobiwgcCkgeyBfX3U4IGJMZW5ndGg7IF9fdTggYkRlc2NyaXB0b3JUeXBlOyBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsgX191OCBiTnVtRm9ybWF0czsgX191MTYgd1RvdGFsTGVuZ3RoOyBfX3U4IGJFbmRwb2ludEFkZHJlc3M7IF9fdTggYlRlcm1pbmFsTGluazsgX191OCBiQ29udHJvbFNpemU7IF9fdTggYm1hQ29udHJvbHNbcF1bbl07IFwKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSkKIHN0cnVjdCB1dmNfY29sb3JfbWF0Y2hpbmdfZGVzY3JpcHRvciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJDb2xvclByaW1hcmllczsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkNvbG9yUHJpbWFyaWVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJUcmFuc2ZlckNoYXJhY3RlcmlzdGljczsKLSBfX3U4IGJNYXRyaXhDb2VmZmljaWVudHM7CisgIF9fdTggYlRyYW5zZmVyQ2hhcmFjdGVyaXN0aWNzOworICBfX3U4IGJNYXRyaXhDb2VmZmljaWVudHM7CiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKICNkZWZpbmUgVVZDX0RUX0NPTE9SX01BVENISU5HX1NJWkUgNgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1dmNfc3RyZWFtaW5nX2NvbnRyb2wgewotIF9fdTE2IGJtSGludDsKLSBfX3U4IGJGb3JtYXRJbmRleDsKLSBfX3U4IGJGcmFtZUluZGV4OworICBfX3UxNiBibUhpbnQ7CisgIF9fdTggYkZvcm1hdEluZGV4OworICBfX3U4IGJGcmFtZUluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkd0ZyYW1lSW50ZXJ2YWw7Ci0gX191MTYgd0tleUZyYW1lUmF0ZTsKLSBfX3UxNiB3UEZyYW1lUmF0ZTsKLSBfX3UxNiB3Q29tcFF1YWxpdHk7CisgIF9fdTMyIGR3RnJhbWVJbnRlcnZhbDsKKyAgX191MTYgd0tleUZyYW1lUmF0ZTsKKyAgX191MTYgd1BGcmFtZVJhdGU7CisgIF9fdTE2IHdDb21wUXVhbGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgd0NvbXBXaW5kb3dTaXplOwotIF9fdTE2IHdEZWxheTsKLSBfX3UzMiBkd01heFZpZGVvRnJhbWVTaXplOwotIF9fdTMyIGR3TWF4UGF5bG9hZFRyYW5zZmVyU2l6ZTsKKyAgX191MTYgd0NvbXBXaW5kb3dTaXplOworICBfX3UxNiB3RGVsYXk7CisgIF9fdTMyIGR3TWF4VmlkZW9GcmFtZVNpemU7CisgIF9fdTMyIGR3TWF4UGF5bG9hZFRyYW5zZmVyU2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZHdDbG9ja0ZyZXF1ZW5jeTsKLSBfX3U4IGJtRnJhbWluZ0luZm87Ci0gX191OCBiUHJlZmVyZWRWZXJzaW9uOwotIF9fdTggYk1pblZlcnNpb247CisgIF9fdTMyIGR3Q2xvY2tGcmVxdWVuY3k7CisgIF9fdTggYm1GcmFtaW5nSW5mbzsKKyAgX191OCBiUHJlZmVyZWRWZXJzaW9uOworICBfX3U4IGJNaW5WZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJNYXhWZXJzaW9uOworICBfX3U4IGJNYXhWZXJzaW9uOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiBzdHJ1Y3QgdXZjX2Zvcm1hdF91bmNvbXByZXNzZWQgewotIF9fdTggYkxlbmd0aDsKKyAgX191OCBiTGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJGb3JtYXRJbmRleDsKLSBfX3U4IGJOdW1GcmFtZURlc2NyaXB0b3JzOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkZvcm1hdEluZGV4OworICBfX3U4IGJOdW1GcmFtZURlc2NyaXB0b3JzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGd1aWRGb3JtYXRbMTZdOwotIF9fdTggYkJpdHNQZXJQaXhlbDsKLSBfX3U4IGJEZWZhdWx0RnJhbWVJbmRleDsKLSBfX3U4IGJBc3BlY3RSYXRpb1g7CisgIF9fdTggZ3VpZEZvcm1hdFsxNl07CisgIF9fdTggYkJpdHNQZXJQaXhlbDsKKyAgX191OCBiRGVmYXVsdEZyYW1lSW5kZXg7CisgIF9fdTggYkFzcGVjdFJhdGlvWDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiQXNwZWN0UmF0aW9ZOwotIF9fdTggYm1JbnRlcmZhY2VGbGFnczsKLSBfX3U4IGJDb3B5UHJvdGVjdDsKKyAgX191OCBiQXNwZWN0UmF0aW9ZOworICBfX3U4IGJtSW50ZXJmYWNlRmxhZ3M7CisgIF9fdTggYkNvcHlQcm90ZWN0OwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVVkNfRFRfRk9STUFUX1VOQ09NUFJFU1NFRF9TSVpFIDI3CiBzdHJ1Y3QgdXZjX2ZyYW1lX3VuY29tcHJlc3NlZCB7Ci0gX191OCBiTGVuZ3RoOwotIF9fdTggYkRlc2NyaXB0b3JUeXBlOworICBfX3U4IGJMZW5ndGg7CisgIF9fdTggYkRlc2NyaXB0b3JUeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJGcmFtZUluZGV4OwotIF9fdTggYm1DYXBhYmlsaXRpZXM7Ci0gX191MTYgd1dpZHRoOworICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKKyAgX191OCBiRnJhbWVJbmRleDsKKyAgX191OCBibUNhcGFiaWxpdGllczsKKyAgX191MTYgd1dpZHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB3SGVpZ2h0OwotIF9fdTMyIGR3TWluQml0UmF0ZTsKLSBfX3UzMiBkd01heEJpdFJhdGU7Ci0gX191MzIgZHdNYXhWaWRlb0ZyYW1lQnVmZmVyU2l6ZTsKKyAgX191MTYgd0hlaWdodDsKKyAgX191MzIgZHdNaW5CaXRSYXRlOworICBfX3UzMiBkd01heEJpdFJhdGU7CisgIF9fdTMyIGR3TWF4VmlkZW9GcmFtZUJ1ZmZlclNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGR3RGVmYXVsdEZyYW1lSW50ZXJ2YWw7Ci0gX191OCBiRnJhbWVJbnRlcnZhbFR5cGU7Ci0gX191MzIgZHdGcmFtZUludGVydmFsW107CisgIF9fdTMyIGR3RGVmYXVsdEZyYW1lSW50ZXJ2YWw7CisgIF9fdTggYkZyYW1lSW50ZXJ2YWxUeXBlOworICBfX3UzMiBkd0ZyYW1lSW50ZXJ2YWxbXTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVVZDX0RUX0ZSQU1FX1VOQ09NUFJFU1NFRF9TSVpFKG4pICgyNis0KihuKSkKLSNkZWZpbmUgVVZDX0ZSQU1FX1VOQ09NUFJFU1NFRChuKSAgIHV2Y19mcmFtZV91bmNvbXByZXNzZWRfIyNuCi0jZGVmaW5lIERFQ0xBUkVfVVZDX0ZSQU1FX1VOQ09NUFJFU1NFRChuKSAgc3RydWN0IFVWQ19GUkFNRV9VTkNPTVBSRVNTRUQobikgeyAgIF9fdTggYkxlbmd0aDsgICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsgICBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsgICBfX3U4IGJGcmFtZUluZGV4OyAgIF9fdTggYm1DYXBhYmlsaXRpZXM7ICAgX191MTYgd1dpZHRoOyAgIF9fdTE2IHdIZWlnaHQ7ICAgX191MzIgZHdNaW5CaXRSYXRlOyAgIF9fdTMyIGR3TWF4Qml0UmF0ZTsgICBfX3UzMiBkd01heFZpZGVvRnJhbWVCdWZmZXJTaXplOyAgIF9fdTMyIGR3RGVmYXVsdEZyYW1lSW50ZXJ2YWw7ICAgX191OCBiRnJhbWVJbnRlcnZhbFR5cGU7ICAgX191MzIgZHdGcmFtZUludGVydmFsW25dOyAgfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkKKyNkZWZpbmUgVVZDX0RUX0ZSQU1FX1VOQ09NUFJFU1NFRF9TSVpFKG4pICgyNiArIDQgKiAobikpCisjZGVmaW5lIFVWQ19GUkFNRV9VTkNPTVBSRVNTRUQobikgdXZjX2ZyYW1lX3VuY29tcHJlc3NlZF8gIyNuCisjZGVmaW5lIERFQ0xBUkVfVVZDX0ZSQU1FX1VOQ09NUFJFU1NFRChuKSBzdHJ1Y3QgVVZDX0ZSQU1FX1VOQ09NUFJFU1NFRChuKSB7IF9fdTggYkxlbmd0aDsgX191OCBiRGVzY3JpcHRvclR5cGU7IF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOyBfX3U4IGJGcmFtZUluZGV4OyBfX3U4IGJtQ2FwYWJpbGl0aWVzOyBfX3UxNiB3V2lkdGg7IF9fdTE2IHdIZWlnaHQ7IF9fdTMyIGR3TWluQml0UmF0ZTsgX191MzIgZHdNYXhCaXRSYXRlOyBfX3UzMiBkd01heFZpZGVvRnJhbWVCdWZmZXJTaXplOyBfX3UzMiBkd0RlZmF1bHRGcmFtZUludGVydmFsOyBfX3U4IGJGcmFtZUludGVydmFsVHlwZTsgX191MzIgZHdGcmFtZUludGVydmFsW25dOyBcCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCiBzdHJ1Y3QgdXZjX2Zvcm1hdF9tanBlZyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKLSBfX3U4IGJEZXNjcmlwdG9yU3ViVHlwZTsKLSBfX3U4IGJGb3JtYXRJbmRleDsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkZvcm1hdEluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJOdW1GcmFtZURlc2NyaXB0b3JzOwotIF9fdTggYm1GbGFnczsKLSBfX3U4IGJEZWZhdWx0RnJhbWVJbmRleDsKLSBfX3U4IGJBc3BlY3RSYXRpb1g7CisgIF9fdTggYk51bUZyYW1lRGVzY3JpcHRvcnM7CisgIF9fdTggYm1GbGFnczsKKyAgX191OCBiRGVmYXVsdEZyYW1lSW5kZXg7CisgIF9fdTggYkFzcGVjdFJhdGlvWDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiQXNwZWN0UmF0aW9ZOwotIF9fdTggYm1JbnRlcmZhY2VGbGFnczsKLSBfX3U4IGJDb3B5UHJvdGVjdDsKKyAgX191OCBiQXNwZWN0UmF0aW9ZOworICBfX3U4IGJtSW50ZXJmYWNlRmxhZ3M7CisgIF9fdTggYkNvcHlQcm90ZWN0OwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVVkNfRFRfRk9STUFUX01KUEVHX1NJWkUgMTEKIHN0cnVjdCB1dmNfZnJhbWVfbWpwZWcgewotIF9fdTggYkxlbmd0aDsKLSBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKKyAgX191OCBiTGVuZ3RoOworICBfX3U4IGJEZXNjcmlwdG9yVHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBiRGVzY3JpcHRvclN1YlR5cGU7Ci0gX191OCBiRnJhbWVJbmRleDsKLSBfX3U4IGJtQ2FwYWJpbGl0aWVzOwotIF9fdTE2IHdXaWR0aDsKKyAgX191OCBiRGVzY3JpcHRvclN1YlR5cGU7CisgIF9fdTggYkZyYW1lSW5kZXg7CisgIF9fdTggYm1DYXBhYmlsaXRpZXM7CisgIF9fdTE2IHdXaWR0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgd0hlaWdodDsKLSBfX3UzMiBkd01pbkJpdFJhdGU7Ci0gX191MzIgZHdNYXhCaXRSYXRlOwotIF9fdTMyIGR3TWF4VmlkZW9GcmFtZUJ1ZmZlclNpemU7CisgIF9fdTE2IHdIZWlnaHQ7CisgIF9fdTMyIGR3TWluQml0UmF0ZTsKKyAgX191MzIgZHdNYXhCaXRSYXRlOworICBfX3UzMiBkd01heFZpZGVvRnJhbWVCdWZmZXJTaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBkd0RlZmF1bHRGcmFtZUludGVydmFsOwotIF9fdTggYkZyYW1lSW50ZXJ2YWxUeXBlOwotIF9fdTMyIGR3RnJhbWVJbnRlcnZhbFtdOworICBfX3UzMiBkd0RlZmF1bHRGcmFtZUludGVydmFsOworICBfX3U4IGJGcmFtZUludGVydmFsVHlwZTsKKyAgX191MzIgZHdGcmFtZUludGVydmFsW107CiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFVWQ19EVF9GUkFNRV9NSlBFR19TSVpFKG4pICgyNis0KihuKSkKLSNkZWZpbmUgVVZDX0ZSQU1FX01KUEVHKG4pICAgdXZjX2ZyYW1lX21qcGVnXyMjbgotI2RlZmluZSBERUNMQVJFX1VWQ19GUkFNRV9NSlBFRyhuKSAgc3RydWN0IFVWQ19GUkFNRV9NSlBFRyhuKSB7ICAgX191OCBiTGVuZ3RoOyAgIF9fdTggYkRlc2NyaXB0b3JUeXBlOyAgIF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOyAgIF9fdTggYkZyYW1lSW5kZXg7ICAgX191OCBibUNhcGFiaWxpdGllczsgICBfX3UxNiB3V2lkdGg7ICAgX191MTYgd0hlaWdodDsgICBfX3UzMiBkd01pbkJpdFJhdGU7ICAgX191MzIgZHdNYXhCaXRSYXRlOyAgIF9fdTMyIGR3TWF4VmlkZW9GcmFtZUJ1ZmZlclNpemU7ICAgX191MzIgZHdEZWZhdWx0RnJhbWVJbnRlcnZhbDsgICBfX3U4IGJGcmFtZUludGVydmFsVHlwZTsgICBfX3UzMiBkd0ZyYW1lSW50ZXJ2YWxbbl07ICB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorI2RlZmluZSBVVkNfRFRfRlJBTUVfTUpQRUdfU0laRShuKSAoMjYgKyA0ICogKG4pKQorI2RlZmluZSBVVkNfRlJBTUVfTUpQRUcobikgdXZjX2ZyYW1lX21qcGVnXyAjI24KKyNkZWZpbmUgREVDTEFSRV9VVkNfRlJBTUVfTUpQRUcobikgc3RydWN0IFVWQ19GUkFNRV9NSlBFRyhuKSB7IF9fdTggYkxlbmd0aDsgX191OCBiRGVzY3JpcHRvclR5cGU7IF9fdTggYkRlc2NyaXB0b3JTdWJUeXBlOyBfX3U4IGJGcmFtZUluZGV4OyBfX3U4IGJtQ2FwYWJpbGl0aWVzOyBfX3UxNiB3V2lkdGg7IF9fdTE2IHdIZWlnaHQ7IF9fdTMyIGR3TWluQml0UmF0ZTsgX191MzIgZHdNYXhCaXRSYXRlOyBfX3UzMiBkd01heFZpZGVvRnJhbWVCdWZmZXJTaXplOyBfX3UzMiBkd0RlZmF1bHRGcmFtZUludGVydmFsOyBfX3U4IGJGcmFtZUludGVydmFsVHlwZTsgX191MzIgZHdGcmFtZUludGVydmFsW25dOyBcCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpCiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYmRldmljZV9mcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2JkZXZpY2VfZnMuaAppbmRleCAwYzE3ODFkLi4wYWEyMDYyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYmRldmljZV9mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXNiZGV2aWNlX2ZzLmgKQEAgLTIyLDQzICsyMiw0MyBAQAogI2luY2x1ZGUgPGxpbnV4L21hZ2ljLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHVzYmRldmZzX2N0cmx0cmFuc2ZlciB7Ci0gX191OCBiUmVxdWVzdFR5cGU7Ci0gX191OCBiUmVxdWVzdDsKLSBfX3UxNiB3VmFsdWU7CisgIF9fdTggYlJlcXVlc3RUeXBlOworICBfX3U4IGJSZXF1ZXN0OworICBfX3UxNiB3VmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHdJbmRleDsKLSBfX3UxNiB3TGVuZ3RoOwotIF9fdTMyIHRpbWVvdXQ7Ci0gdm9pZCBfX3VzZXIgKmRhdGE7CisgIF9fdTE2IHdJbmRleDsKKyAgX191MTYgd0xlbmd0aDsKKyAgX191MzIgdGltZW91dDsKKyAgdm9pZCBfX3VzZXIgKiBkYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdXNiZGV2ZnNfYnVsa3RyYW5zZmVyIHsKLSB1bnNpZ25lZCBpbnQgZXA7Ci0gdW5zaWduZWQgaW50IGxlbjsKKyAgdW5zaWduZWQgaW50IGVwOworICB1bnNpZ25lZCBpbnQgbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdGltZW91dDsKLSB2b2lkIF9fdXNlciAqZGF0YTsKKyAgdW5zaWduZWQgaW50IHRpbWVvdXQ7CisgIHZvaWQgX191c2VyICogZGF0YTsKIH07CiBzdHJ1Y3QgdXNiZGV2ZnNfc2V0aW50ZXJmYWNlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGludGVyZmFjZTsKLSB1bnNpZ25lZCBpbnQgYWx0c2V0dGluZzsKKyAgdW5zaWduZWQgaW50IGludGVyZmFjZTsKKyAgdW5zaWduZWQgaW50IGFsdHNldHRpbmc7CiB9Owogc3RydWN0IHVzYmRldmZzX2Rpc2Nvbm5lY3RzaWduYWwgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc2lnbnI7Ci0gdm9pZCBfX3VzZXIgKmNvbnRleHQ7CisgIHVuc2lnbmVkIGludCBzaWducjsKKyAgdm9pZCBfX3VzZXIgKiBjb250ZXh0OwogfTsKICNkZWZpbmUgVVNCREVWRlNfTUFYRFJJVkVSTkFNRSAyNTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiZGV2ZnNfZ2V0ZHJpdmVyIHsKLSB1bnNpZ25lZCBpbnQgaW50ZXJmYWNlOwotIGNoYXIgZHJpdmVyW1VTQkRFVkZTX01BWERSSVZFUk5BTUUgKyAxXTsKKyAgdW5zaWduZWQgaW50IGludGVyZmFjZTsKKyAgY2hhciBkcml2ZXJbVVNCREVWRlNfTUFYRFJJVkVSTkFNRSArIDFdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXNiZGV2ZnNfY29ubmVjdGluZm8gewotIHVuc2lnbmVkIGludCBkZXZudW07Ci0gdW5zaWduZWQgY2hhciBzbG93OworICB1bnNpZ25lZCBpbnQgZGV2bnVtOworICB1bnNpZ25lZCBjaGFyIHNsb3c7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCREVWRlNfVVJCX1NIT1JUX05PVF9PSyAweDAxCkBAIC03NCw1NCArNzQsNjQgQEAKICNkZWZpbmUgVVNCREVWRlNfVVJCX1RZUEVfQ09OVFJPTCAyCiAjZGVmaW5lIFVTQkRFVkZTX1VSQl9UWVBFX0JVTEsgMwogc3RydWN0IHVzYmRldmZzX2lzb19wYWNrZXRfZGVzYyB7Ci0gdW5zaWduZWQgaW50IGxlbmd0aDsKKyAgdW5zaWduZWQgaW50IGxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGFjdHVhbF9sZW5ndGg7Ci0gdW5zaWduZWQgaW50IHN0YXR1czsKKyAgdW5zaWduZWQgaW50IGFjdHVhbF9sZW5ndGg7CisgIHVuc2lnbmVkIGludCBzdGF0dXM7CiB9Owogc3RydWN0IHVzYmRldmZzX3VyYiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgdHlwZTsKLSB1bnNpZ25lZCBjaGFyIGVuZHBvaW50OwotIGludCBzdGF0dXM7Ci0gdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBjaGFyIHR5cGU7CisgIHVuc2lnbmVkIGNoYXIgZW5kcG9pbnQ7CisgIGludCBzdGF0dXM7CisgIHVuc2lnbmVkIGludCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKmJ1ZmZlcjsKLSBpbnQgYnVmZmVyX2xlbmd0aDsKLSBpbnQgYWN0dWFsX2xlbmd0aDsKLSBpbnQgc3RhcnRfZnJhbWU7CisgIHZvaWQgX191c2VyICogYnVmZmVyOworICBpbnQgYnVmZmVyX2xlbmd0aDsKKyAgaW50IGFjdHVhbF9sZW5ndGg7CisgIGludCBzdGFydF9mcmFtZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG51bWJlcl9vZl9wYWNrZXRzOwotIGludCBlcnJvcl9jb3VudDsKLSB1bnNpZ25lZCBpbnQgc2lnbnI7Ci0gdm9pZCBfX3VzZXIgKnVzZXJjb250ZXh0OworICB1bmlvbiB7CisgICAgaW50IG51bWJlcl9vZl9wYWNrZXRzOworICAgIHVuc2lnbmVkIGludCBzdHJlYW1faWQ7CisgIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB1c2JkZXZmc19pc29fcGFja2V0X2Rlc2MgaXNvX2ZyYW1lX2Rlc2NbMF07CisgIGludCBlcnJvcl9jb3VudDsKKyAgdW5zaWduZWQgaW50IHNpZ25yOworICB2b2lkIF9fdXNlciAqIHVzZXJjb250ZXh0OworICBzdHJ1Y3QgdXNiZGV2ZnNfaXNvX3BhY2tldF9kZXNjIGlzb19mcmFtZV9kZXNjWzBdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdXNiZGV2ZnNfaW9jdGwgewotIGludCBpZm5vOworICBpbnQgaWZubzsKKyAgaW50IGlvY3RsX2NvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBpb2N0bF9jb2RlOwotIHZvaWQgX191c2VyICpkYXRhOworICB2b2lkIF9fdXNlciAqIGRhdGE7CiB9Owogc3RydWN0IHVzYmRldmZzX2h1Yl9wb3J0aW5mbyB7CisgIGNoYXIgbnBvcnRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG5wb3J0czsKLSBjaGFyIHBvcnQgWzEyN107CisgIGNoYXIgcG9ydFsxMjddOwogfTsKICNkZWZpbmUgVVNCREVWRlNfQ0FQX1pFUk9fUEFDS0VUIDB4MDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVTQkRFVkZTX0NBUF9CVUxLX0NPTlRJTlVBVElPTiAweDAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVU0JERVZGU19DQVBfTk9fUEFDS0VUX1NJWkVfTElNIDB4MDQKICNkZWZpbmUgVVNCREVWRlNfQ0FQX0JVTEtfU0NBVFRFUl9HQVRIRVIgMHgwOAogI2RlZmluZSBVU0JERVZGU19ESVNDT05ORUNUX0NMQUlNX0lGX0RSSVZFUiAweDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVU0JERVZGU19ESVNDT05ORUNUX0NMQUlNX0VYQ0VQVF9EUklWRVIgMHgwMgotc3RydWN0IHVzYmRldmZzX2Rpc2Nvbm5lY3RfY2xhaW0gewotIHVuc2lnbmVkIGludCBpbnRlcmZhY2U7Ci0gdW5zaWduZWQgaW50IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRyaXZlcltVU0JERVZGU19NQVhEUklWRVJOQU1FICsgMV07CitzdHJ1Y3QgdXNiZGV2ZnNfZGlzY29ubmVjdF9jbGFpbSB7CisgIHVuc2lnbmVkIGludCBpbnRlcmZhY2U7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgY2hhciBkcml2ZXJbVVNCREVWRlNfTUFYRFJJVkVSTkFNRSArIDFdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitzdHJ1Y3QgdXNiZGV2ZnNfc3RyZWFtcyB7CisgIHVuc2lnbmVkIGludCBudW1fc3RyZWFtczsKKyAgdW5zaWduZWQgaW50IG51bV9lcHM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBjaGFyIGVwc1swXTsKIH07CiAjZGVmaW5lIFVTQkRFVkZTX0NPTlRST0wgX0lPV1IoJ1UnLCAwLCBzdHJ1Y3QgdXNiZGV2ZnNfY3RybHRyYW5zZmVyKQogI2RlZmluZSBVU0JERVZGU19DT05UUk9MMzIgX0lPV1IoJ1UnLCAwLCBzdHJ1Y3QgdXNiZGV2ZnNfY3RybHRyYW5zZmVyMzIpCkBAIC0xNjIsNCArMTcyLDcgQEAKICNkZWZpbmUgVVNCREVWRlNfR0VUX0NBUEFCSUxJVElFUyBfSU9SKCdVJywgMjYsIF9fdTMyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVVNCREVWRlNfRElTQ09OTkVDVF9DTEFJTSBfSU9SKCdVJywgMjcsIHN0cnVjdCB1c2JkZXZmc19kaXNjb25uZWN0X2NsYWltKQorI2RlZmluZSBVU0JERVZGU19BTExPQ19TVFJFQU1TIF9JT1IoJ1UnLCAyOCwgc3RydWN0IHVzYmRldmZzX3N0cmVhbXMpCisjZGVmaW5lIFVTQkRFVkZTX0ZSRUVfU1RSRUFNUyBfSU9SKCdVJywgMjksIHN0cnVjdCB1c2JkZXZmc19zdHJlYW1zKQogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2JpcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91c2JpcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZGE4YzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3VzYmlwLmgKQEAgLTAsMCArMSwzMyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqCisgKioqICAgVGhpcyBoZWFkZXIgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gYSBMaW51eCBrZXJuZWwgaGVhZGVyCisgKioqICAgb2YgdGhlIHNhbWUgbmFtZSwgdG8gbWFrZSBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgZm9yIHVzZXJzcGFjZSB0bworICoqKiAgIGNhbGwgaW50byB0aGUga2VybmVsIGF2YWlsYWJsZSB0byBsaWJjLiAgSXQgY29udGFpbnMgb25seSBjb25zdGFudHMsCisgKioqICAgc3RydWN0dXJlcywgYW5kIG1hY3JvcyBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaGVhZGVyLCBhbmQgdGh1cywKKyAqKiogICBjb250YWlucyBubyBjb3B5cmlnaHRhYmxlIGluZm9ybWF0aW9uLgorICoqKgorICoqKiAgIFRvIGVkaXQgdGhlIGNvbnRlbnQgb2YgdGhpcyBoZWFkZXIsIG1vZGlmeSB0aGUgY29ycmVzcG9uZGluZworICoqKiAgIHNvdXJjZSBmaWxlIChlLmcuIHVuZGVyIGV4dGVybmFsL2tlcm5lbC1oZWFkZXJzL29yaWdpbmFsLykgdGhlbgorICoqKiAgIHJ1biBiaW9uaWMvbGliYy9rZXJuZWwvdG9vbHMvdXBkYXRlX2FsbC5weQorICoqKgorICoqKiAgIEFueSBtYW51YWwgY2hhbmdlIGhlcmUgd2lsbCBiZSBsb3N0IHRoZSBuZXh0IHRpbWUgdGhpcyBzY3JpcHQgd2lsbAorICoqKiAgIGJlIHJ1bi4gWW91J3ZlIGJlZW4gd2FybmVkIQorICoqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfVUFQSV9MSU5VWF9VU0JJUF9ICisjZGVmaW5lIF9VQVBJX0xJTlVYX1VTQklQX0gKK2VudW0gdXNiaXBfZGV2aWNlX3N0YXR1cyB7CisgIFNERVZfU1RfQVZBSUxBQkxFID0gMHgwMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNERVZfU1RfVVNFRCwKKyAgU0RFVl9TVF9FUlJPUiwKKyAgVkRFVl9TVF9OVUxMLAorICBWREVWX1NUX05PVEFTU0lHTkVELAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVkRFVl9TVF9VU0VELAorICBWREVWX1NUX0VSUk9SCit9OworI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91dGltZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91dGltZS5oCmluZGV4IDRjYzA2MTcuLjJlOThhM2QgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXRpbWUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3V0aW1lLmgKQEAgLTIxLDggKzIxLDggQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IHV0aW1idWYgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2tlcm5lbF90aW1lX3QgYWN0aW1lOwotIF9fa2VybmVsX3RpbWVfdCBtb2R0aW1lOworICBfX2tlcm5lbF90aW1lX3QgYWN0aW1lOworICBfX2tlcm5lbF90aW1lX3QgbW9kdGltZTsKIH07CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3V0c25hbWUuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXRzbmFtZS5oCmluZGV4IGVlNWVlOTcuLjQ0NDdkMTggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXRzbmFtZS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXRzbmFtZS5oCkBAIC0yMSwzMSArMjEsMzEgQEAKICNkZWZpbmUgX19PTERfVVRTX0xFTiA4CiBzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIHN5c25hbWVbOV07Ci0gY2hhciBub2RlbmFtZVs5XTsKLSBjaGFyIHJlbGVhc2VbOV07Ci0gY2hhciB2ZXJzaW9uWzldOworICBjaGFyIHN5c25hbWVbOV07CisgIGNoYXIgbm9kZW5hbWVbOV07CisgIGNoYXIgcmVsZWFzZVs5XTsKKyAgY2hhciB2ZXJzaW9uWzldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIG1hY2hpbmVbOV07CisgIGNoYXIgbWFjaGluZVs5XTsKIH07CiAjZGVmaW5lIF9fTkVXX1VUU19MRU4gNjQKIHN0cnVjdCBvbGRfdXRzbmFtZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgc3lzbmFtZVs2NV07Ci0gY2hhciBub2RlbmFtZVs2NV07Ci0gY2hhciByZWxlYXNlWzY1XTsKLSBjaGFyIHZlcnNpb25bNjVdOworICBjaGFyIHN5c25hbWVbNjVdOworICBjaGFyIG5vZGVuYW1lWzY1XTsKKyAgY2hhciByZWxlYXNlWzY1XTsKKyAgY2hhciB2ZXJzaW9uWzY1XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBtYWNoaW5lWzY1XTsKKyAgY2hhciBtYWNoaW5lWzY1XTsKIH07CiBzdHJ1Y3QgbmV3X3V0c25hbWUgewotIGNoYXIgc3lzbmFtZVtfX05FV19VVFNfTEVOICsgMV07CisgIGNoYXIgc3lzbmFtZVtfX05FV19VVFNfTEVOICsgMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbm9kZW5hbWVbX19ORVdfVVRTX0xFTiArIDFdOwotIGNoYXIgcmVsZWFzZVtfX05FV19VVFNfTEVOICsgMV07Ci0gY2hhciB2ZXJzaW9uW19fTkVXX1VUU19MRU4gKyAxXTsKLSBjaGFyIG1hY2hpbmVbX19ORVdfVVRTX0xFTiArIDFdOworICBjaGFyIG5vZGVuYW1lW19fTkVXX1VUU19MRU4gKyAxXTsKKyAgY2hhciByZWxlYXNlW19fTkVXX1VUU19MRU4gKyAxXTsKKyAgY2hhciB2ZXJzaW9uW19fTkVXX1VUU19MRU4gKyAxXTsKKyAgY2hhciBtYWNoaW5lW19fTkVXX1VUU19MRU4gKyAxXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBkb21haW5uYW1lW19fTkVXX1VUU19MRU4gKyAxXTsKKyAgY2hhciBkb21haW5uYW1lW19fTkVXX1VUU19MRU4gKyAxXTsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXVpZC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91dWlkLmgKaW5kZXggNWMyOTgwOS4uY2M4NmZjMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC91dWlkLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91dWlkLmgKQEAgLTIyLDE1ICsyMiwxOSBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgc3RydWN0IHsKLSBfX3U4IGJbMTZdOworICBfX3U4IGJbMTZdOwogfSB1dWlkX2xlOwogdHlwZWRlZiBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJbMTZdOworICBfX3U4IGJbMTZdOwogfSB1dWlkX2JlOwotI2RlZmluZSBVVUlEX0xFKGEsIGIsIGMsIGQwLCBkMSwgZDIsIGQzLCBkNCwgZDUsIGQ2LCBkNykgICgodXVpZF9sZSkgIHt7IChhKSAmIDB4ZmYsICgoYSkgPj4gOCkgJiAweGZmLCAoKGEpID4+IDE2KSAmIDB4ZmYsICgoYSkgPj4gMjQpICYgMHhmZiwgICAoYikgJiAweGZmLCAoKGIpID4+IDgpICYgMHhmZiwgICAoYykgJiAweGZmLCAoKGMpID4+IDgpICYgMHhmZiwgICAoZDApLCAoZDEpLCAoZDIpLCAoZDMpLCAoZDQpLCAoZDUpLCAoZDYpLCAoZDcpIH19KQotI2RlZmluZSBVVUlEX0JFKGEsIGIsIGMsIGQwLCBkMSwgZDIsIGQzLCBkNCwgZDUsIGQ2LCBkNykgICgodXVpZF9iZSkgIHt7ICgoYSkgPj4gMjQpICYgMHhmZiwgKChhKSA+PiAxNikgJiAweGZmLCAoKGEpID4+IDgpICYgMHhmZiwgKGEpICYgMHhmZiwgICAoKGIpID4+IDgpICYgMHhmZiwgKGIpICYgMHhmZiwgICAoKGMpID4+IDgpICYgMHhmZiwgKGMpICYgMHhmZiwgICAoZDApLCAoZDEpLCAoZDIpLCAoZDMpLCAoZDQpLCAoZDUpLCAoZDYpLCAoZDcpIH19KQorI2RlZmluZSBVVUlEX0xFKGEsYixjLGQwLGQxLGQyLGQzLGQ0LGQ1LGQ2LGQ3KSBcCisoKHV1aWRfbGUpIFwKK3sgeyAoYSkgJiAweGZmLCAoKGEpID4+IDgpICYgMHhmZiwgKChhKSA+PiAxNikgJiAweGZmLCAoKGEpID4+IDI0KSAmIDB4ZmYsIChiKSAmIDB4ZmYsICgoYikgPj4gOCkgJiAweGZmLCAoYykgJiAweGZmLCAoKGMpID4+IDgpICYgMHhmZiwgKGQwKSwgKGQxKSwgKGQyKSwgKGQzKSwgKGQ0KSwgKGQ1KSwgKGQ2KSwgKGQ3KSB9IH0pCisjZGVmaW5lIFVVSURfQkUoYSxiLGMsZDAsZDEsZDIsZDMsZDQsZDUsZDYsZDcpIFwKKygodXVpZF9iZSkgXAoreyB7ICgoYSkgPj4gMjQpICYgMHhmZiwgKChhKSA+PiAxNikgJiAweGZmLCAoKGEpID4+IDgpICYgMHhmZiwgKGEpICYgMHhmZiwgKChiKSA+PiA4KSAmIDB4ZmYsIChiKSAmIDB4ZmYsICgoYykgPj4gOCkgJiAweGZmLCAoYykgJiAweGZmLCAoZDApLCAoZDEpLCAoZDIpLCAoZDMpLCAoZDQpLCAoZDUpLCAoZDYpLCAoZDcpIH0gfSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIE5VTExfVVVJRF9MRSAgIFVVSURfTEUoMHgwMDAwMDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCkKLSNkZWZpbmUgTlVMTF9VVUlEX0JFICAgVVVJRF9CRSgweDAwMDAwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgICAweDAwLCAweDAwLCAweDAwLCAweDAwKQorI2RlZmluZSBOVUxMX1VVSURfTEUgVVVJRF9MRSgweDAwMDAwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCkKKyNkZWZpbmUgTlVMTF9VVUlEX0JFIFVVSURfQkUoMHgwMDAwMDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDApCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXZjdmlkZW8uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdXZjdmlkZW8uaAppbmRleCAzZWViZTE3Li43MjQ2ZTMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3V2Y3ZpZGVvLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC91dmN2aWRlby5oCkBAIC0zOCwzNiArMzgsMzYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVWQ19DVFJMX0ZMQUdfUkVTVE9SRSAoMSA8PCA2KQogI2RlZmluZSBVVkNfQ1RSTF9GTEFHX0FVVE9fVVBEQVRFICgxIDw8IDcpCi0jZGVmaW5lIFVWQ19DVFJMX0ZMQUdfR0VUX1JBTkdFICAgKFVWQ19DVFJMX0ZMQUdfR0VUX0NVUiB8IFVWQ19DVFJMX0ZMQUdfR0VUX01JTiB8ICAgVVZDX0NUUkxfRkxBR19HRVRfTUFYIHwgVVZDX0NUUkxfRkxBR19HRVRfUkVTIHwgICBVVkNfQ1RSTF9GTEFHX0dFVF9ERUYpCisjZGVmaW5lIFVWQ19DVFJMX0ZMQUdfR0VUX1JBTkdFIChVVkNfQ1RSTF9GTEFHX0dFVF9DVVIgfCBVVkNfQ1RSTF9GTEFHX0dFVF9NSU4gfCBVVkNfQ1RSTF9GTEFHX0dFVF9NQVggfCBVVkNfQ1RSTF9GTEFHX0dFVF9SRVMgfCBVVkNfQ1RSTF9GTEFHX0dFVF9ERUYpCiBzdHJ1Y3QgdXZjX21lbnVfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHZhbHVlOwotIF9fdTggbmFtZVszMl07CisgIF9fdTMyIHZhbHVlOworICBfX3U4IG5hbWVbMzJdOwogfTsKIHN0cnVjdCB1dmNfeHVfY29udHJvbF9tYXBwaW5nIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWQ7Ci0gX191OCBuYW1lWzMyXTsKLSBfX3U4IGVudGl0eVsxNl07Ci0gX191OCBzZWxlY3RvcjsKKyAgX191MzIgaWQ7CisgIF9fdTggbmFtZVszMl07CisgIF9fdTggZW50aXR5WzE2XTsKKyAgX191OCBzZWxlY3RvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzaXplOwotIF9fdTggb2Zmc2V0OwotIF9fdTMyIHY0bDJfdHlwZTsKLSBfX3UzMiBkYXRhX3R5cGU7CisgIF9fdTggc2l6ZTsKKyAgX191OCBvZmZzZXQ7CisgIF9fdTMyIHY0bDJfdHlwZTsKKyAgX191MzIgZGF0YV90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdXZjX21lbnVfaW5mbyBfX3VzZXIgKm1lbnVfaW5mbzsKLSBfX3UzMiBtZW51X2NvdW50OwotIF9fdTMyIHJlc2VydmVkWzRdOworICBzdHJ1Y3QgdXZjX21lbnVfaW5mbyBfX3VzZXIgKiBtZW51X2luZm87CisgIF9fdTMyIG1lbnVfY291bnQ7CisgIF9fdTMyIHJlc2VydmVkWzRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdXZjX3h1X2NvbnRyb2xfcXVlcnkgewotIF9fdTggdW5pdDsKLSBfX3U4IHNlbGVjdG9yOwotIF9fdTggcXVlcnk7CisgIF9fdTggdW5pdDsKKyAgX191OCBzZWxlY3RvcjsKKyAgX191OCBxdWVyeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc2l6ZTsKLSBfX3U4IF9fdXNlciAqZGF0YTsKKyAgX191MTYgc2l6ZTsKKyAgX191OCBfX3VzZXIgKiBkYXRhOwogfTsKICNkZWZpbmUgVVZDSU9DX0NUUkxfTUFQIF9JT1dSKCd1JywgMHgyMCwgc3RydWN0IHV2Y194dV9jb250cm9sX21hcHBpbmcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92NGwyLWNvbW1vbi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92NGwyLWNvbW1vbi5oCmluZGV4IDgxNGQ5NjAuLmEzNzlhN2UgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1jb21tb24uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItY29tbW9uLmgKQEAgLTE4LDI4ICsxOCwzOCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fVjRMMl9DT01NT05fXwogI2RlZmluZSBfX1Y0TDJfQ09NTU9OX18KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2RlZmluZSBWNEwyX1NFTF9UR1RfQ1JPUCAweDAwMDAKLSNkZWZpbmUgVjRMMl9TRUxfVEdUX0NST1BfREVGQVVMVCAweDAwMDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfU0VMX1RHVF9DUk9QX0RFRkFVTFQgMHgwMDAxCiAjZGVmaW5lIFY0TDJfU0VMX1RHVF9DUk9QX0JPVU5EUyAweDAwMDIKICNkZWZpbmUgVjRMMl9TRUxfVEdUX0NPTVBPU0UgMHgwMTAwCiAjZGVmaW5lIFY0TDJfU0VMX1RHVF9DT01QT1NFX0RFRkFVTFQgMHgwMTAxCi0jZGVmaW5lIFY0TDJfU0VMX1RHVF9DT01QT1NFX0JPVU5EUyAweDAxMDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfU0VMX1RHVF9DT01QT1NFX0JPVU5EUyAweDAxMDIKICNkZWZpbmUgVjRMMl9TRUxfVEdUX0NPTVBPU0VfUEFEREVEIDB4MDEwMwogI2RlZmluZSBWNEwyX1NFTF9UR1RfQ1JPUF9BQ1RJVkUgVjRMMl9TRUxfVEdUX0NST1AKICNkZWZpbmUgVjRMMl9TRUxfVEdUX0NPTVBPU0VfQUNUSVZFIFY0TDJfU0VMX1RHVF9DT01QT1NFCi0jZGVmaW5lIFY0TDJfU1VCREVWX1NFTF9UR1RfQ1JPUF9BQ1RVQUwgVjRMMl9TRUxfVEdUX0NST1AKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfU1VCREVWX1NFTF9UR1RfQ1JPUF9BQ1RVQUwgVjRMMl9TRUxfVEdUX0NST1AKICNkZWZpbmUgVjRMMl9TVUJERVZfU0VMX1RHVF9DT01QT1NFX0FDVFVBTCBWNEwyX1NFTF9UR1RfQ09NUE9TRQogI2RlZmluZSBWNEwyX1NVQkRFVl9TRUxfVEdUX0NST1BfQk9VTkRTIFY0TDJfU0VMX1RHVF9DUk9QX0JPVU5EUwogI2RlZmluZSBWNEwyX1NVQkRFVl9TRUxfVEdUX0NPTVBPU0VfQk9VTkRTIFY0TDJfU0VMX1RHVF9DT01QT1NFX0JPVU5EUwotI2RlZmluZSBWNEwyX1NFTF9GTEFHX0dFICgxIDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1NFTF9GTEFHX0dFICgxIDw8IDApCiAjZGVmaW5lIFY0TDJfU0VMX0ZMQUdfTEUgKDEgPDwgMSkKICNkZWZpbmUgVjRMMl9TRUxfRkxBR19LRUVQX0NPTkZJRyAoMSA8PCAyKQogI2RlZmluZSBWNEwyX1NVQkRFVl9TRUxfRkxBR19TSVpFX0dFIFY0TDJfU0VMX0ZMQUdfR0UKLSNkZWZpbmUgVjRMMl9TVUJERVZfU0VMX0ZMQUdfU0laRV9MRSBWNEwyX1NFTF9GTEFHX0xFCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1NVQkRFVl9TRUxfRkxBR19TSVpFX0xFIFY0TDJfU0VMX0ZMQUdfTEUKICNkZWZpbmUgVjRMMl9TVUJERVZfU0VMX0ZMQUdfS0VFUF9DT05GSUcgVjRMMl9TRUxfRkxBR19LRUVQX0NPTkZJRworc3RydWN0IHY0bDJfZWRpZCB7CisgIF9fdTMyIHBhZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHN0YXJ0X2Jsb2NrOworICBfX3UzMiBibG9ja3M7CisgIF9fdTMyIHJlc2VydmVkWzVdOworICBfX3U4ICogZWRpZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItY29udHJvbHMuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1jb250cm9scy5oCmluZGV4IDIyMzZmZjcuLjAyNGFhNGQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1jb250cm9scy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1jb250cm9scy5oCkBAIC0zMSw5MDAgKzMxLDk2NCBAQAogI2RlZmluZSBWNEwyX0NUUkxfQ0xBU1NfRFYgMHgwMGEwMDAwMAogI2RlZmluZSBWNEwyX0NUUkxfQ0xBU1NfRk1fUlggMHgwMGExMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9DVFJMX0NMQVNTX1JGX1RVTkVSIDB4MDBhMjAwMDAKKyNkZWZpbmUgVjRMMl9DVFJMX0NMQVNTX0RFVEVDVCAweDAwYTMwMDAwCiAjZGVmaW5lIFY0TDJfQ0lEX0JBU0UgKFY0TDJfQ1RSTF9DTEFTU19VU0VSIHwgMHg5MDApCiAjZGVmaW5lIFY0TDJfQ0lEX1VTRVJfQkFTRSBWNEwyX0NJRF9CQVNFCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9VU0VSX0NMQVNTIChWNEwyX0NUUkxfQ0xBU1NfVVNFUiB8IDEpCi0jZGVmaW5lIFY0TDJfQ0lEX0JSSUdIVE5FU1MgKFY0TDJfQ0lEX0JBU0UrMCkKKyNkZWZpbmUgVjRMMl9DSURfQlJJR0hUTkVTUyAoVjRMMl9DSURfQkFTRSArIDApCisjZGVmaW5lIFY0TDJfQ0lEX0NPTlRSQVNUIChWNEwyX0NJRF9CQVNFICsgMSkKKyNkZWZpbmUgVjRMMl9DSURfU0FUVVJBVElPTiAoVjRMMl9DSURfQkFTRSArIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9DT05UUkFTVCAoVjRMMl9DSURfQkFTRSsxKQotI2RlZmluZSBWNEwyX0NJRF9TQVRVUkFUSU9OIChWNEwyX0NJRF9CQVNFKzIpCi0jZGVmaW5lIFY0TDJfQ0lEX0hVRSAoVjRMMl9DSURfQkFTRSszKQotI2RlZmluZSBWNEwyX0NJRF9BVURJT19WT0xVTUUgKFY0TDJfQ0lEX0JBU0UrNSkKKyNkZWZpbmUgVjRMMl9DSURfSFVFIChWNEwyX0NJRF9CQVNFICsgMykKKyNkZWZpbmUgVjRMMl9DSURfQVVESU9fVk9MVU1FIChWNEwyX0NJRF9CQVNFICsgNSkKKyNkZWZpbmUgVjRMMl9DSURfQVVESU9fQkFMQU5DRSAoVjRMMl9DSURfQkFTRSArIDYpCisjZGVmaW5lIFY0TDJfQ0lEX0FVRElPX0JBU1MgKFY0TDJfQ0lEX0JBU0UgKyA3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfQVVESU9fQkFMQU5DRSAoVjRMMl9DSURfQkFTRSs2KQotI2RlZmluZSBWNEwyX0NJRF9BVURJT19CQVNTIChWNEwyX0NJRF9CQVNFKzcpCi0jZGVmaW5lIFY0TDJfQ0lEX0FVRElPX1RSRUJMRSAoVjRMMl9DSURfQkFTRSs4KQotI2RlZmluZSBWNEwyX0NJRF9BVURJT19NVVRFIChWNEwyX0NJRF9CQVNFKzkpCisjZGVmaW5lIFY0TDJfQ0lEX0FVRElPX1RSRUJMRSAoVjRMMl9DSURfQkFTRSArIDgpCisjZGVmaW5lIFY0TDJfQ0lEX0FVRElPX01VVEUgKFY0TDJfQ0lEX0JBU0UgKyA5KQorI2RlZmluZSBWNEwyX0NJRF9BVURJT19MT1VETkVTUyAoVjRMMl9DSURfQkFTRSArIDEwKQorI2RlZmluZSBWNEwyX0NJRF9CTEFDS19MRVZFTCAoVjRMMl9DSURfQkFTRSArIDExKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfQVVESU9fTE9VRE5FU1MgKFY0TDJfQ0lEX0JBU0UrMTApCi0jZGVmaW5lIFY0TDJfQ0lEX0JMQUNLX0xFVkVMIChWNEwyX0NJRF9CQVNFKzExKQotI2RlZmluZSBWNEwyX0NJRF9BVVRPX1dISVRFX0JBTEFOQ0UgKFY0TDJfQ0lEX0JBU0UrMTIpCi0jZGVmaW5lIFY0TDJfQ0lEX0RPX1dISVRFX0JBTEFOQ0UgKFY0TDJfQ0lEX0JBU0UrMTMpCisjZGVmaW5lIFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRSAoVjRMMl9DSURfQkFTRSArIDEyKQorI2RlZmluZSBWNEwyX0NJRF9ET19XSElURV9CQUxBTkNFIChWNEwyX0NJRF9CQVNFICsgMTMpCisjZGVmaW5lIFY0TDJfQ0lEX1JFRF9CQUxBTkNFIChWNEwyX0NJRF9CQVNFICsgMTQpCisjZGVmaW5lIFY0TDJfQ0lEX0JMVUVfQkFMQU5DRSAoVjRMMl9DSURfQkFTRSArIDE1KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfUkVEX0JBTEFOQ0UgKFY0TDJfQ0lEX0JBU0UrMTQpCi0jZGVmaW5lIFY0TDJfQ0lEX0JMVUVfQkFMQU5DRSAoVjRMMl9DSURfQkFTRSsxNSkKLSNkZWZpbmUgVjRMMl9DSURfR0FNTUEgKFY0TDJfQ0lEX0JBU0UrMTYpCisjZGVmaW5lIFY0TDJfQ0lEX0dBTU1BIChWNEwyX0NJRF9CQVNFICsgMTYpCiAjZGVmaW5lIFY0TDJfQ0lEX1dISVRFTkVTUyAoVjRMMl9DSURfR0FNTUEpCisjZGVmaW5lIFY0TDJfQ0lEX0VYUE9TVVJFIChWNEwyX0NJRF9CQVNFICsgMTcpCisjZGVmaW5lIFY0TDJfQ0lEX0FVVE9HQUlOIChWNEwyX0NJRF9CQVNFICsgMTgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9FWFBPU1VSRSAoVjRMMl9DSURfQkFTRSsxNykKLSNkZWZpbmUgVjRMMl9DSURfQVVUT0dBSU4gKFY0TDJfQ0lEX0JBU0UrMTgpCi0jZGVmaW5lIFY0TDJfQ0lEX0dBSU4gKFY0TDJfQ0lEX0JBU0UrMTkpCi0jZGVmaW5lIFY0TDJfQ0lEX0hGTElQIChWNEwyX0NJRF9CQVNFKzIwKQorI2RlZmluZSBWNEwyX0NJRF9HQUlOIChWNEwyX0NJRF9CQVNFICsgMTkpCisjZGVmaW5lIFY0TDJfQ0lEX0hGTElQIChWNEwyX0NJRF9CQVNFICsgMjApCisjZGVmaW5lIFY0TDJfQ0lEX1ZGTElQIChWNEwyX0NJRF9CQVNFICsgMjEpCisjZGVmaW5lIFY0TDJfQ0lEX1BPV0VSX0xJTkVfRlJFUVVFTkNZIChWNEwyX0NJRF9CQVNFICsgMjQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9WRkxJUCAoVjRMMl9DSURfQkFTRSsyMSkKLSNkZWZpbmUgVjRMMl9DSURfUE9XRVJfTElORV9GUkVRVUVOQ1kgKFY0TDJfQ0lEX0JBU0UrMjQpCiBlbnVtIHY0bDJfcG93ZXJfbGluZV9mcmVxdWVuY3kgewotIFY0TDJfQ0lEX1BPV0VSX0xJTkVfRlJFUVVFTkNZX0RJU0FCTEVEID0gMCwKKyAgVjRMMl9DSURfUE9XRVJfTElORV9GUkVRVUVOQ1lfRElTQUJMRUQgPSAwLAorICBWNEwyX0NJRF9QT1dFUl9MSU5FX0ZSRVFVRU5DWV81MEhaID0gMSwKKyAgVjRMMl9DSURfUE9XRVJfTElORV9GUkVRVUVOQ1lfNjBIWiA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQ0lEX1BPV0VSX0xJTkVfRlJFUVVFTkNZXzUwSFogPSAxLAotIFY0TDJfQ0lEX1BPV0VSX0xJTkVfRlJFUVVFTkNZXzYwSFogPSAyLAotIFY0TDJfQ0lEX1BPV0VSX0xJTkVfRlJFUVVFTkNZX0FVVE8gPSAzLAorICBWNEwyX0NJRF9QT1dFUl9MSU5FX0ZSRVFVRU5DWV9BVVRPID0gMywKIH07CisjZGVmaW5lIFY0TDJfQ0lEX0hVRV9BVVRPIChWNEwyX0NJRF9CQVNFICsgMjUpCisjZGVmaW5lIFY0TDJfQ0lEX1dISVRFX0JBTEFOQ0VfVEVNUEVSQVRVUkUgKFY0TDJfQ0lEX0JBU0UgKyAyNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX0hVRV9BVVRPIChWNEwyX0NJRF9CQVNFKzI1KQotI2RlZmluZSBWNEwyX0NJRF9XSElURV9CQUxBTkNFX1RFTVBFUkFUVVJFIChWNEwyX0NJRF9CQVNFKzI2KQotI2RlZmluZSBWNEwyX0NJRF9TSEFSUE5FU1MgKFY0TDJfQ0lEX0JBU0UrMjcpCi0jZGVmaW5lIFY0TDJfQ0lEX0JBQ0tMSUdIVF9DT01QRU5TQVRJT04gKFY0TDJfQ0lEX0JBU0UrMjgpCisjZGVmaW5lIFY0TDJfQ0lEX1NIQVJQTkVTUyAoVjRMMl9DSURfQkFTRSArIDI3KQorI2RlZmluZSBWNEwyX0NJRF9CQUNLTElHSFRfQ09NUEVOU0FUSU9OIChWNEwyX0NJRF9CQVNFICsgMjgpCisjZGVmaW5lIFY0TDJfQ0lEX0NIUk9NQV9BR0MgKFY0TDJfQ0lEX0JBU0UgKyAyOSkKKyNkZWZpbmUgVjRMMl9DSURfQ09MT1JfS0lMTEVSIChWNEwyX0NJRF9CQVNFICsgMzApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9DSFJPTUFfQUdDIChWNEwyX0NJRF9CQVNFKzI5KQotI2RlZmluZSBWNEwyX0NJRF9DT0xPUl9LSUxMRVIgKFY0TDJfQ0lEX0JBU0UrMzApCi0jZGVmaW5lIFY0TDJfQ0lEX0NPTE9SRlggKFY0TDJfQ0lEX0JBU0UrMzEpCisjZGVmaW5lIFY0TDJfQ0lEX0NPTE9SRlggKFY0TDJfQ0lEX0JBU0UgKyAzMSkKIGVudW0gdjRsMl9jb2xvcmZ4IHsKKyAgVjRMMl9DT0xPUkZYX05PTkUgPSAwLAorICBWNEwyX0NPTE9SRlhfQlcgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0NPTE9SRlhfTk9ORSA9IDAsCi0gVjRMMl9DT0xPUkZYX0JXID0gMSwKLSBWNEwyX0NPTE9SRlhfU0VQSUEgPSAyLAotIFY0TDJfQ09MT1JGWF9ORUdBVElWRSA9IDMsCisgIFY0TDJfQ09MT1JGWF9TRVBJQSA9IDIsCisgIFY0TDJfQ09MT1JGWF9ORUdBVElWRSA9IDMsCisgIFY0TDJfQ09MT1JGWF9FTUJPU1MgPSA0LAorICBWNEwyX0NPTE9SRlhfU0tFVENIID0gNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9DT0xPUkZYX0VNQk9TUyA9IDQsCi0gVjRMMl9DT0xPUkZYX1NLRVRDSCA9IDUsCi0gVjRMMl9DT0xPUkZYX1NLWV9CTFVFID0gNiwKLSBWNEwyX0NPTE9SRlhfR1JBU1NfR1JFRU4gPSA3LAorICBWNEwyX0NPTE9SRlhfU0tZX0JMVUUgPSA2LAorICBWNEwyX0NPTE9SRlhfR1JBU1NfR1JFRU4gPSA3LAorICBWNEwyX0NPTE9SRlhfU0tJTl9XSElURU4gPSA4LAorICBWNEwyX0NPTE9SRlhfVklWSUQgPSA5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0NPTE9SRlhfU0tJTl9XSElURU4gPSA4LAotIFY0TDJfQ09MT1JGWF9WSVZJRCA9IDksCi0gVjRMMl9DT0xPUkZYX0FRVUEgPSAxMCwKLSBWNEwyX0NPTE9SRlhfQVJUX0ZSRUVaRSA9IDExLAorICBWNEwyX0NPTE9SRlhfQVFVQSA9IDEwLAorICBWNEwyX0NPTE9SRlhfQVJUX0ZSRUVaRSA9IDExLAorICBWNEwyX0NPTE9SRlhfU0lMSE9VRVRURSA9IDEyLAorICBWNEwyX0NPTE9SRlhfU09MQVJJWkFUSU9OID0gMTMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQ09MT1JGWF9TSUxIT1VFVFRFID0gMTIsCi0gVjRMMl9DT0xPUkZYX1NPTEFSSVpBVElPTiA9IDEzLAotIFY0TDJfQ09MT1JGWF9BTlRJUVVFID0gMTQsCi0gVjRMMl9DT0xPUkZYX1NFVF9DQkNSID0gMTUsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWNEwyX0NPTE9SRlhfQU5USVFVRSA9IDE0LAorICBWNEwyX0NPTE9SRlhfU0VUX0NCQ1IgPSAxNSwKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX0FVVE9CUklHSFRORVNTIChWNEwyX0NJRF9CQVNFKzMyKQotI2RlZmluZSBWNEwyX0NJRF9CQU5EX1NUT1BfRklMVEVSIChWNEwyX0NJRF9CQVNFKzMzKQotI2RlZmluZSBWNEwyX0NJRF9ST1RBVEUgKFY0TDJfQ0lEX0JBU0UrMzQpCisjZGVmaW5lIFY0TDJfQ0lEX0FVVE9CUklHSFRORVNTIChWNEwyX0NJRF9CQVNFICsgMzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9CR19DT0xPUiAoVjRMMl9DSURfQkFTRSszNSkKLSNkZWZpbmUgVjRMMl9DSURfQ0hST01BX0dBSU4gKFY0TDJfQ0lEX0JBU0UrMzYpCi0jZGVmaW5lIFY0TDJfQ0lEX0lMTFVNSU5BVE9SU18xIChWNEwyX0NJRF9CQVNFKzM3KQotI2RlZmluZSBWNEwyX0NJRF9JTExVTUlOQVRPUlNfMiAoVjRMMl9DSURfQkFTRSszOCkKKyNkZWZpbmUgVjRMMl9DSURfQkFORF9TVE9QX0ZJTFRFUiAoVjRMMl9DSURfQkFTRSArIDMzKQorI2RlZmluZSBWNEwyX0NJRF9ST1RBVEUgKFY0TDJfQ0lEX0JBU0UgKyAzNCkKKyNkZWZpbmUgVjRMMl9DSURfQkdfQ09MT1IgKFY0TDJfQ0lEX0JBU0UgKyAzNSkKKyNkZWZpbmUgVjRMMl9DSURfQ0hST01BX0dBSU4gKFY0TDJfQ0lEX0JBU0UgKyAzNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01JTl9CVUZGRVJTX0ZPUl9DQVBUVVJFIChWNEwyX0NJRF9CQVNFKzM5KQotI2RlZmluZSBWNEwyX0NJRF9NSU5fQlVGRkVSU19GT1JfT1VUUFVUIChWNEwyX0NJRF9CQVNFKzQwKQotI2RlZmluZSBWNEwyX0NJRF9BTFBIQV9DT01QT05FTlQgKFY0TDJfQ0lEX0JBU0UrNDEpCi0jZGVmaW5lIFY0TDJfQ0lEX0NPTE9SRlhfQ0JDUiAoVjRMMl9DSURfQkFTRSs0MikKKyNkZWZpbmUgVjRMMl9DSURfSUxMVU1JTkFUT1JTXzEgKFY0TDJfQ0lEX0JBU0UgKyAzNykKKyNkZWZpbmUgVjRMMl9DSURfSUxMVU1JTkFUT1JTXzIgKFY0TDJfQ0lEX0JBU0UgKyAzOCkKKyNkZWZpbmUgVjRMMl9DSURfTUlOX0JVRkZFUlNfRk9SX0NBUFRVUkUgKFY0TDJfQ0lEX0JBU0UgKyAzOSkKKyNkZWZpbmUgVjRMMl9DSURfTUlOX0JVRkZFUlNfRk9SX09VVFBVVCAoVjRMMl9DSURfQkFTRSArIDQwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTEFTVFAxIChWNEwyX0NJRF9CQVNFKzQzKQorI2RlZmluZSBWNEwyX0NJRF9BTFBIQV9DT01QT05FTlQgKFY0TDJfQ0lEX0JBU0UgKyA0MSkKKyNkZWZpbmUgVjRMMl9DSURfQ09MT1JGWF9DQkNSIChWNEwyX0NJRF9CQVNFICsgNDIpCisjZGVmaW5lIFY0TDJfQ0lEX0xBU1RQMSAoVjRMMl9DSURfQkFTRSArIDQzKQogI2RlZmluZSBWNEwyX0NJRF9VU0VSX01FWUVfQkFTRSAoVjRMMl9DSURfVVNFUl9CQVNFICsgMHgxMDAwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfVVNFUl9CVFRWX0JBU0UgKFY0TDJfQ0lEX1VTRVJfQkFTRSArIDB4MTAxMCkKICNkZWZpbmUgVjRMMl9DSURfVVNFUl9TMjI1NV9CQVNFIChWNEwyX0NJRF9VU0VSX0JBU0UgKyAweDEwMzApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9VU0VSX1NJNDc2WF9CQVNFIChWNEwyX0NJRF9VU0VSX0JBU0UgKyAweDEwNDApCiAjZGVmaW5lIFY0TDJfQ0lEX1VTRVJfVElfVlBFX0JBU0UgKFY0TDJfQ0lEX1VTRVJfQkFTRSArIDB4MTA1MCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX1VTRVJfU0FBNzEzNF9CQVNFIChWNEwyX0NJRF9VU0VSX0JBU0UgKyAweDEwNjApCiAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQkFTRSAoVjRMMl9DVFJMX0NMQVNTX01QRUcgfCAweDkwMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ0xBU1MgKFY0TDJfQ1RSTF9DTEFTU19NUEVHIHwgMSkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19TVFJFQU1fVFlQRSAoVjRMMl9DSURfTVBFR19CQVNFKzApCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1RZUEUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX21wZWdfc3RyZWFtX3R5cGUgewotIFY0TDJfTVBFR19TVFJFQU1fVFlQRV9NUEVHMl9QUyA9IDAsCisgIFY0TDJfTVBFR19TVFJFQU1fVFlQRV9NUEVHMl9QUyA9IDAsCisgIFY0TDJfTVBFR19TVFJFQU1fVFlQRV9NUEVHMl9UUyA9IDEsCisgIFY0TDJfTVBFR19TVFJFQU1fVFlQRV9NUEVHMV9TUyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19TVFJFQU1fVFlQRV9NUEVHMl9UUyA9IDEsCi0gVjRMMl9NUEVHX1NUUkVBTV9UWVBFX01QRUcxX1NTID0gMiwKLSBWNEwyX01QRUdfU1RSRUFNX1RZUEVfTVBFRzJfRFZEID0gMywKLSBWNEwyX01QRUdfU1RSRUFNX1RZUEVfTVBFRzFfVkNEID0gNCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1NUUkVBTV9UWVBFX01QRUcyX1NWQ0QgPSA1LAorICBWNEwyX01QRUdfU1RSRUFNX1RZUEVfTVBFRzJfRFZEID0gMywKKyAgVjRMMl9NUEVHX1NUUkVBTV9UWVBFX01QRUcxX1ZDRCA9IDQsCisgIFY0TDJfTVBFR19TVFJFQU1fVFlQRV9NUEVHMl9TVkNEID0gNSwKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1BJRF9QTVQgKFY0TDJfQ0lEX01QRUdfQkFTRSsxKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1NUUkVBTV9QSURfQVVESU8gKFY0TDJfQ0lEX01QRUdfQkFTRSsyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19TVFJFQU1fUElEX1ZJREVPIChWNEwyX0NJRF9NUEVHX0JBU0UrMykKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19TVFJFQU1fUElEX1BDUiAoVjRMMl9DSURfTVBFR19CQVNFKzQpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1BFU19JRF9BVURJTyAoVjRMMl9DSURfTVBFR19CQVNFKzUpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1BFU19JRF9WSURFTyAoVjRMMl9DSURfTVBFR19CQVNFKzYpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1BJRF9QTVQgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1BJRF9BVURJTyAoVjRMMl9DSURfTVBFR19CQVNFICsgMikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19TVFJFQU1fUElEX1ZJREVPIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1NUUkVBTV9QSURfUENSIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19TVFJFQU1fVkJJX0ZNVCAoVjRMMl9DSURfTVBFR19CQVNFKzcpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfU1RSRUFNX1BFU19JRF9BVURJTyAoVjRMMl9DSURfTVBFR19CQVNFICsgNSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19TVFJFQU1fUEVTX0lEX1ZJREVPIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA2KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1NUUkVBTV9WQklfRk1UIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA3KQogZW51bSB2NGwyX21wZWdfc3RyZWFtX3ZiaV9mbXQgewotIFY0TDJfTVBFR19TVFJFQU1fVkJJX0ZNVF9OT05FID0gMCwKLSBWNEwyX01QRUdfU1RSRUFNX1ZCSV9GTVRfSVZUViA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWNEwyX01QRUdfU1RSRUFNX1ZCSV9GTVRfTk9ORSA9IDAsCisgIFY0TDJfTVBFR19TVFJFQU1fVkJJX0ZNVF9JVlRWID0gMSwKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfQVVESU9fU0FNUExJTkdfRlJFUSAoVjRMMl9DSURfTVBFR19CQVNFKzEwMCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19TQU1QTElOR19GUkVRIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAxMDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX21wZWdfYXVkaW9fc2FtcGxpbmdfZnJlcSB7Ci0gVjRMMl9NUEVHX0FVRElPX1NBTVBMSU5HX0ZSRVFfNDQxMDAgPSAwLAorICBWNEwyX01QRUdfQVVESU9fU0FNUExJTkdfRlJFUV80NDEwMCA9IDAsCisgIFY0TDJfTVBFR19BVURJT19TQU1QTElOR19GUkVRXzQ4MDAwID0gMSwKKyAgVjRMMl9NUEVHX0FVRElPX1NBTVBMSU5HX0ZSRVFfMzIwMDAgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fU0FNUExJTkdfRlJFUV80ODAwMCA9IDEsCi0gVjRMMl9NUEVHX0FVRElPX1NBTVBMSU5HX0ZSRVFfMzIwMDAgPSAyLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19FTkNPRElORyAoVjRMMl9DSURfTVBFR19CQVNFKzEwMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQVVESU9fRU5DT0RJTkcgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEwMSkKIGVudW0gdjRsMl9tcGVnX2F1ZGlvX2VuY29kaW5nIHsKLSBWNEwyX01QRUdfQVVESU9fRU5DT0RJTkdfTEFZRVJfMSA9IDAsCi0gVjRMMl9NUEVHX0FVRElPX0VOQ09ESU5HX0xBWUVSXzIgPSAxLAotIFY0TDJfTVBFR19BVURJT19FTkNPRElOR19MQVlFUl8zID0gMiwKKyAgVjRMMl9NUEVHX0FVRElPX0VOQ09ESU5HX0xBWUVSXzEgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fRU5DT0RJTkdfQUFDID0gMywKLSBWNEwyX01QRUdfQVVESU9fRU5DT0RJTkdfQUMzID0gNCwKKyAgVjRMMl9NUEVHX0FVRElPX0VOQ09ESU5HX0xBWUVSXzIgPSAxLAorICBWNEwyX01QRUdfQVVESU9fRU5DT0RJTkdfTEFZRVJfMyA9IDIsCisgIFY0TDJfTVBFR19BVURJT19FTkNPRElOR19BQUMgPSAzLAorICBWNEwyX01QRUdfQVVESU9fRU5DT0RJTkdfQUMzID0gNCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0wxX0JJVFJBVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSsxMDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0wxX0JJVFJBVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEwMikKIGVudW0gdjRsMl9tcGVnX2F1ZGlvX2wxX2JpdHJhdGUgewotIFY0TDJfTVBFR19BVURJT19MMV9CSVRSQVRFXzMySyA9IDAsCi0gVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfNjRLID0gMSwKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV85NksgPSAyLAorICBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8zMksgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8xMjhLID0gMywKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8xNjBLID0gNCwKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8xOTJLID0gNSwKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8yMjRLID0gNiwKKyAgVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfNjRLID0gMSwKKyAgVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfOTZLID0gMiwKKyAgVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfMTI4SyA9IDMsCisgIFY0TDJfTVBFR19BVURJT19MMV9CSVRSQVRFXzE2MEsgPSA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8yNTZLID0gNywKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8yODhLID0gOCwKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8zMjBLID0gOSwKLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8zNTJLID0gMTAsCisgIFY0TDJfTVBFR19BVURJT19MMV9CSVRSQVRFXzE5MksgPSA1LAorICBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8yMjRLID0gNiwKKyAgVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfMjU2SyA9IDcsCisgIFY0TDJfTVBFR19BVURJT19MMV9CSVRSQVRFXzI4OEsgPSA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV8zODRLID0gMTEsCi0gVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfNDE2SyA9IDEyLAotIFY0TDJfTVBFR19BVURJT19MMV9CSVRSQVRFXzQ0OEsgPSAxMywKKyAgVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfMzIwSyA9IDksCisgIFY0TDJfTVBFR19BVURJT19MMV9CSVRSQVRFXzM1MksgPSAxMCwKKyAgVjRMMl9NUEVHX0FVRElPX0wxX0JJVFJBVEVfMzg0SyA9IDExLAorICBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV80MTZLID0gMTIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWNEwyX01QRUdfQVVESU9fTDFfQklUUkFURV80NDhLID0gMTMsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19MMl9CSVRSQVRFIChWNEwyX0NJRF9NUEVHX0JBU0UrMTAzKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0wyX0JJVFJBVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEwMykKIGVudW0gdjRsMl9tcGVnX2F1ZGlvX2wyX2JpdHJhdGUgewotIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzMySyA9IDAsCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfNDhLID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfNTZLID0gMiwKLSBWNEwyX01QRUdfQVVESU9fTDJfQklUUkFURV82NEsgPSAzLAotIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzgwSyA9IDQsCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfOTZLID0gNSwKKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMzJLID0gMCwKKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfNDhLID0gMSwKKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfNTZLID0gMiwKKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfNjRLID0gMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMTEySyA9IDYsCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMTI4SyA9IDcsCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMTYwSyA9IDgsCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMTkySyA9IDksCisgIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzgwSyA9IDQsCisgIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzk2SyA9IDUsCisgIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzExMksgPSA2LAorICBWNEwyX01QRUdfQVVESU9fTDJfQklUUkFURV8xMjhLID0gNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMjI0SyA9IDEwLAotIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzI1NksgPSAxMSwKLSBWNEwyX01QRUdfQVVESU9fTDJfQklUUkFURV8zMjBLID0gMTIsCi0gVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMzg0SyA9IDEzLAorICBWNEwyX01QRUdfQVVESU9fTDJfQklUUkFURV8xNjBLID0gOCwKKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMTkySyA9IDksCisgIFY0TDJfTVBFR19BVURJT19MMl9CSVRSQVRFXzIyNEsgPSAxMCwKKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMjU2SyA9IDExLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9NUEVHX0FVRElPX0wyX0JJVFJBVEVfMzIwSyA9IDEyLAorICBWNEwyX01QRUdfQVVESU9fTDJfQklUUkFURV8zODRLID0gMTMsCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0wzX0JJVFJBVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSsxMDQpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQVVESU9fTDNfQklUUkFURSAoVjRMMl9DSURfTVBFR19CQVNFICsgMTA0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9tcGVnX2F1ZGlvX2wzX2JpdHJhdGUgewotIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzMySyA9IDAsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzMySyA9IDAsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzQwSyA9IDEsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzQ4SyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzQwSyA9IDEsCi0gVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfNDhLID0gMiwKLSBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV81NksgPSAzLAotIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzY0SyA9IDQsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzU2SyA9IDMsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzY0SyA9IDQsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzgwSyA9IDUsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzk2SyA9IDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzgwSyA9IDUsCi0gVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfOTZLID0gNiwKLSBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV8xMTJLID0gNywKLSBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV8xMjhLID0gOCwKKyAgVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfMTEySyA9IDcsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzEyOEsgPSA4LAorICBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV8xNjBLID0gOSwKKyAgVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfMTkySyA9IDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV8xNjBLID0gOSwKLSBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV8xOTJLID0gMTAsCi0gVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfMjI0SyA9IDExLAotIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzI1NksgPSAxMiwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfMzIwSyA9IDEzLAorICBWNEwyX01QRUdfQVVESU9fTDNfQklUUkFURV8yMjRLID0gMTEsCisgIFY0TDJfTVBFR19BVURJT19MM19CSVRSQVRFXzI1NksgPSAxMiwKKyAgVjRMMl9NUEVHX0FVRElPX0wzX0JJVFJBVEVfMzIwSyA9IDEzLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19NT0RFIChWNEwyX0NJRF9NUEVHX0JBU0UrMTA1KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19NT0RFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAxMDUpCiBlbnVtIHY0bDJfbXBlZ19hdWRpb19tb2RlIHsKKyAgVjRMMl9NUEVHX0FVRElPX01PREVfU1RFUkVPID0gMCwKKyAgVjRMMl9NUEVHX0FVRElPX01PREVfSk9JTlRfU1RFUkVPID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX01PREVfU1RFUkVPID0gMCwKLSBWNEwyX01QRUdfQVVESU9fTU9ERV9KT0lOVF9TVEVSRU8gPSAxLAotIFY0TDJfTVBFR19BVURJT19NT0RFX0RVQUwgPSAyLAotIFY0TDJfTVBFR19BVURJT19NT0RFX01PTk8gPSAzLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9NUEVHX0FVRElPX01PREVfRFVBTCA9IDIsCisgIFY0TDJfTVBFR19BVURJT19NT0RFX01PTk8gPSAzLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19NT0RFX0VYVEVOU0lPTiAoVjRMMl9DSURfTVBFR19CQVNFKzEwNikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19NT0RFX0VYVEVOU0lPTiAoVjRMMl9DSURfTVBFR19CQVNFICsgMTA2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9tcGVnX2F1ZGlvX21vZGVfZXh0ZW5zaW9uIHsKLSBWNEwyX01QRUdfQVVESU9fTU9ERV9FWFRFTlNJT05fQk9VTkRfNCA9IDAsCisgIFY0TDJfTVBFR19BVURJT19NT0RFX0VYVEVOU0lPTl9CT1VORF80ID0gMCwKKyAgVjRMMl9NUEVHX0FVRElPX01PREVfRVhURU5TSU9OX0JPVU5EXzggPSAxLAorICBWNEwyX01QRUdfQVVESU9fTU9ERV9FWFRFTlNJT05fQk9VTkRfMTIgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fTU9ERV9FWFRFTlNJT05fQk9VTkRfOCA9IDEsCi0gVjRMMl9NUEVHX0FVRElPX01PREVfRVhURU5TSU9OX0JPVU5EXzEyID0gMiwKLSBWNEwyX01QRUdfQVVESU9fTU9ERV9FWFRFTlNJT05fQk9VTkRfMTYgPSAzLAorICBWNEwyX01QRUdfQVVESU9fTU9ERV9FWFRFTlNJT05fQk9VTkRfMTYgPSAzLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfQVVESU9fRU1QSEFTSVMgKFY0TDJfQ0lEX01QRUdfQkFTRSsxMDcpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQVVESU9fRU1QSEFTSVMgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEwNykKIGVudW0gdjRsMl9tcGVnX2F1ZGlvX2VtcGhhc2lzIHsKLSBWNEwyX01QRUdfQVVESU9fRU1QSEFTSVNfTk9ORSA9IDAsCi0gVjRMMl9NUEVHX0FVRElPX0VNUEhBU0lTXzUwX0RJVl8xNV91UyA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19BVURJT19FTVBIQVNJU19DQ0lUVF9KMTcgPSAyLAorICBWNEwyX01QRUdfQVVESU9fRU1QSEFTSVNfTk9ORSA9IDAsCisgIFY0TDJfTVBFR19BVURJT19FTVBIQVNJU181MF9ESVZfMTVfdVMgPSAxLAorICBWNEwyX01QRUdfQVVESU9fRU1QSEFTSVNfQ0NJVFRfSjE3ID0gMiwKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfQVVESU9fQ1JDIChWNEwyX0NJRF9NUEVHX0JBU0UrMTA4KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19DUkMgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEwOCkKIGVudW0gdjRsMl9tcGVnX2F1ZGlvX2NyYyB7CisgIFY0TDJfTVBFR19BVURJT19DUkNfTk9ORSA9IDAsCisgIFY0TDJfTVBFR19BVURJT19DUkNfQ1JDMTYgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fQ1JDX05PTkUgPSAwLAotIFY0TDJfTVBFR19BVURJT19DUkNfQ1JDMTYgPSAxLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19NVVRFIChWNEwyX0NJRF9NUEVHX0JBU0UrMTA5KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX01VVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDEwOSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19BQUNfQklUUkFURSAoVjRMMl9DSURfTVBFR19CQVNFICsgMTEwKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0FDM19CSVRSQVRFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAxMTEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0FBQ19CSVRSQVRFIChWNEwyX0NJRF9NUEVHX0JBU0UrMTEwKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0FDM19CSVRSQVRFIChWNEwyX0NJRF9NUEVHX0JBU0UrMTExKQogZW51bSB2NGwyX21wZWdfYXVkaW9fYWMzX2JpdHJhdGUgewotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV8zMksgPSAwLAorICBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfMzJLID0gMCwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzQwSyA9IDEsCisgIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV80OEsgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfNDBLID0gMSwKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfNDhLID0gMiwKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfNTZLID0gMywKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfNjRLID0gNCwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzU2SyA9IDMsCisgIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV82NEsgPSA0LAorICBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfODBLID0gNSwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzk2SyA9IDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV84MEsgPSA1LAotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV85NksgPSA2LAotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV8xMTJLID0gNywKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfMTI4SyA9IDgsCisgIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV8xMTJLID0gNywKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzEyOEsgPSA4LAorICBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfMTYwSyA9IDksCisgIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV8xOTJLID0gMTAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV8xNjBLID0gOSwKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfMTkySyA9IDEwLAotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV8yMjRLID0gMTEsCi0gVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzI1NksgPSAxMiwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzIyNEsgPSAxMSwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzI1NksgPSAxMiwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzMyMEsgPSAxMywKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzM4NEsgPSAxNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzMyMEsgPSAxMywKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfMzg0SyA9IDE0LAotIFY0TDJfTVBFR19BVURJT19BQzNfQklUUkFURV80NDhLID0gMTUsCi0gVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzUxMksgPSAxNiwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzQ0OEsgPSAxNSwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzUxMksgPSAxNiwKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzU3NksgPSAxNywKKyAgVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzY0MEsgPSAxOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0FVRElPX0FDM19CSVRSQVRFXzU3NksgPSAxNywKLSBWNEwyX01QRUdfQVVESU9fQUMzX0JJVFJBVEVfNjQwSyA9IDE4LAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19ERUNfUExBWUJBQ0sgKFY0TDJfQ0lEX01QRUdfQkFTRSsxMTIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0RFQ19QTEFZQkFDSyAoVjRMMl9DSURfTVBFR19CQVNFICsgMTEyKQogZW51bSB2NGwyX21wZWdfYXVkaW9fZGVjX3BsYXliYWNrIHsKLSBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX0FVVE8gPSAwLAotIFY0TDJfTVBFR19BVURJT19ERUNfUExBWUJBQ0tfU1RFUkVPID0gMSwKLSBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX0xFRlQgPSAyLAorICBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX0FVVE8gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX1JJR0hUID0gMywKLSBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX01PTk8gPSA0LAotIFY0TDJfTVBFR19BVURJT19ERUNfUExBWUJBQ0tfU1dBUFBFRF9TVEVSRU8gPSA1LAorICBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX1NURVJFTyA9IDEsCisgIFY0TDJfTVBFR19BVURJT19ERUNfUExBWUJBQ0tfTEVGVCA9IDIsCisgIFY0TDJfTVBFR19BVURJT19ERUNfUExBWUJBQ0tfUklHSFQgPSAzLAorICBWNEwyX01QRUdfQVVESU9fREVDX1BMQVlCQUNLX01PTk8gPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9NUEVHX0FVRElPX0RFQ19QTEFZQkFDS19TV0FQUEVEX1NURVJFTyA9IDUsCiB9OworI2RlZmluZSBWNEwyX0NJRF9NUEVHX0FVRElPX0RFQ19NVUxUSUxJTkdVQUxfUExBWUJBQ0sgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDExMykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19FTkNPRElORyAoVjRMMl9DSURfTVBFR19CQVNFICsgMjAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19BVURJT19ERUNfTVVMVElMSU5HVUFMX1BMQVlCQUNLIChWNEwyX0NJRF9NUEVHX0JBU0UrMTEzKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0VOQ09ESU5HIChWNEwyX0NJRF9NUEVHX0JBU0UrMjAwKQogZW51bSB2NGwyX21wZWdfdmlkZW9fZW5jb2RpbmcgewotIFY0TDJfTVBFR19WSURFT19FTkNPRElOR19NUEVHXzEgPSAwLAorICBWNEwyX01QRUdfVklERU9fRU5DT0RJTkdfTVBFR18xID0gMCwKKyAgVjRMMl9NUEVHX1ZJREVPX0VOQ09ESU5HX01QRUdfMiA9IDEsCisgIFY0TDJfTVBFR19WSURFT19FTkNPRElOR19NUEVHXzRfQVZDID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0VOQ09ESU5HX01QRUdfMiA9IDEsCi0gVjRMMl9NUEVHX1ZJREVPX0VOQ09ESU5HX01QRUdfNF9BVkMgPSAyLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19BU1BFQ1QgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0FTUEVDVCAoVjRMMl9DSURfTVBFR19CQVNFICsgMjAxKQogZW51bSB2NGwyX21wZWdfdmlkZW9fYXNwZWN0IHsKLSBWNEwyX01QRUdfVklERU9fQVNQRUNUXzF4MSA9IDAsCi0gVjRMMl9NUEVHX1ZJREVPX0FTUEVDVF80eDMgPSAxLAotIFY0TDJfTVBFR19WSURFT19BU1BFQ1RfMTZ4OSA9IDIsCisgIFY0TDJfTVBFR19WSURFT19BU1BFQ1RfMXgxID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0FTUEVDVF8yMjF4MTAwID0gMywKKyAgVjRMMl9NUEVHX1ZJREVPX0FTUEVDVF80eDMgPSAxLAorICBWNEwyX01QRUdfVklERU9fQVNQRUNUXzE2eDkgPSAyLAorICBWNEwyX01QRUdfVklERU9fQVNQRUNUXzIyMXgxMDAgPSAzLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19CX0ZSQU1FUyAoVjRMMl9DSURfTVBFR19CQVNFKzIwMikKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19HT1BfU0laRSAoVjRMMl9DSURfTVBFR19CQVNFKzIwMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fR09QX0NMT1NVUkUgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMDQpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fUFVMTERPV04gKFY0TDJfQ0lEX01QRUdfQkFTRSsyMDUpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fQklUUkFURV9NT0RFIChWNEwyX0NJRF9NUEVHX0JBU0UrMjA2KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0JfRlJBTUVTIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMDIpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fR09QX1NJWkUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIwMykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19HT1BfQ0xPU1VSRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjA0KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1BVTExET1dOIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMDUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0JJVFJBVEVfTU9ERSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjA2KQogZW51bSB2NGwyX21wZWdfdmlkZW9fYml0cmF0ZV9tb2RlIHsKKyAgVjRMMl9NUEVHX1ZJREVPX0JJVFJBVEVfTU9ERV9WQlIgPSAwLAorICBWNEwyX01QRUdfVklERU9fQklUUkFURV9NT0RFX0NCUiA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19CSVRSQVRFX01PREVfVkJSID0gMCwKLSBWNEwyX01QRUdfVklERU9fQklUUkFURV9NT0RFX0NCUiA9IDEsCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0JJVFJBVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMDcpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fQklUUkFURSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjA3KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0JJVFJBVEVfUEVBSyAoVjRMMl9DSURfTVBFR19CQVNFICsgMjA4KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1RFTVBPUkFMX0RFQ0lNQVRJT04gKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIwOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fQklUUkFURV9QRUFLIChWNEwyX0NJRF9NUEVHX0JBU0UrMjA4KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1RFTVBPUkFMX0RFQ0lNQVRJT04gKFY0TDJfQ0lEX01QRUdfQkFTRSsyMDkpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVVURSAoVjRMMl9DSURfTVBFR19CQVNFKzIxMCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NVVRFX1lVViAoVjRMMl9DSURfTVBFR19CQVNFKzIxMSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NVVRFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMTApCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVVURV9ZVVYgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIxMSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19ERUNPREVSX1NMSUNFX0lOVEVSRkFDRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjEyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0RFQ09ERVJfTVBFRzRfREVCTE9DS19GSUxURVIgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIxMykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fREVDT0RFUl9TTElDRV9JTlRFUkZBQ0UgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMTIpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fREVDT0RFUl9NUEVHNF9ERUJMT0NLX0ZJTFRFUiAoVjRMMl9DSURfTVBFR19CQVNFKzIxMykKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19DWUNMSUNfSU5UUkFfUkVGUkVTSF9NQiAoVjRMMl9DSURfTVBFR19CQVNFKzIxNCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19GUkFNRV9SQ19FTkFCTEUgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMTUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFQURFUl9NT0RFIChWNEwyX0NJRF9NUEVHX0JBU0UrMjE2KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0NZQ0xJQ19JTlRSQV9SRUZSRVNIX01CIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMTQpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fRlJBTUVfUkNfRU5BQkxFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMTUpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSEVBREVSX01PREUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIxNikKIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2hlYWRlcl9tb2RlIHsKLSBWNEwyX01QRUdfVklERU9fSEVBREVSX01PREVfU0VQQVJBVEUgPSAwLAotIFY0TDJfTVBFR19WSURFT19IRUFERVJfTU9ERV9KT0lORURfV0lUSF8xU1RfRlJBTUUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9NUEVHX1ZJREVPX0hFQURFUl9NT0RFX1NFUEFSQVRFID0gMCwKKyAgVjRMMl9NUEVHX1ZJREVPX0hFQURFUl9NT0RFX0pPSU5FRF9XSVRIXzFTVF9GUkFNRSA9IDEsCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01BWF9SRUZfUElDIChWNEwyX0NJRF9NUEVHX0JBU0UrMjE3KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01CX1JDX0VOQUJMRSAoVjRMMl9DSURfTVBFR19CQVNFKzIxOCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NVUxUSV9TTElDRV9NQVhfQllURVMgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMTkpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTUFYX1JFRl9QSUMgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIxNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVVMVElfU0xJQ0VfTUFYX01CIChWNEwyX0NJRF9NUEVHX0JBU0UrMjIwKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01VTFRJX1NMSUNFX01PREUgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMjEpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTUJfUkNfRU5BQkxFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMTgpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVVMVElfU0xJQ0VfTUFYX0JZVEVTIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMTkpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVVMVElfU0xJQ0VfTUFYX01CIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMjApCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVVMVElfU0xJQ0VfTU9ERSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjIxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9tcGVnX3ZpZGVvX211bHRpX3NsaWNlX21vZGUgewotIFY0TDJfTVBFR19WSURFT19NVUxUSV9TTElDRV9NT0RFX1NJTkdMRSA9IDAsCisgIFY0TDJfTVBFR19WSURFT19NVUxUSV9TTElDRV9NT0RFX1NJTkdMRSA9IDAsCisgIFY0TDJfTVBFR19WSURFT19NVUxUSV9TSUNFX01PREVfTUFYX01CID0gMSwKKyAgVjRMMl9NUEVHX1ZJREVPX01VTFRJX1NJQ0VfTU9ERV9NQVhfQllURVMgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fTVVMVElfU0lDRV9NT0RFX01BWF9NQiA9IDEsCi0gVjRMMl9NUEVHX1ZJREVPX01VTFRJX1NJQ0VfTU9ERV9NQVhfQllURVMgPSAyLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WQlZfU0laRSAoVjRMMl9DSURfTVBFR19CQVNFKzIyMikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WQlZfU0laRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjIyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0RFQ19QVFMgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIyMykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19ERUNfRlJBTUUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIyNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fREVDX1BUUyAoVjRMMl9DSURfTVBFR19CQVNFKzIyMykKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19ERUNfRlJBTUUgKFY0TDJfQ0lEX01QRUdfQkFTRSsyMjQpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVkJWX0RFTEFZIChWNEwyX0NJRF9NUEVHX0JBU0UrMjI1KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1JFUEVBVF9TRVFfSEVBREVSIChWNEwyX0NJRF9NUEVHX0JBU0UrMjI2KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZCVl9ERUxBWSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjI1KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1JFUEVBVF9TRVFfSEVBREVSIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAyMjYpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVZfSF9TRUFSQ0hfUkFOR0UgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDIyNykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NVl9WX1NFQVJDSF9SQU5HRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMjI4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX0lfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSszMDApCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2M19QX0ZSQU1FX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrMzAxKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjNfQl9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzMwMikKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX01JTl9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzMwMykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX0lfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDMwMCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX1BfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDMwMSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX0JfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDMwMikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX01JTl9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzAzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX01BWF9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzMwNCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0lfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSszNTApCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9QX0ZSQU1FX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrMzUxKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfQl9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzM1MikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX01BWF9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzA0KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSV9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzUwKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfUF9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzUxKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfQl9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzUyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X01JTl9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzM1MykKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X01BWF9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzM1NCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0XzhYOF9UUkFOU0ZPUk0gKFY0TDJfQ0lEX01QRUdfQkFTRSszNTUpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9DUEJfU0laRSAoVjRMMl9DSURfTVBFR19CQVNFKzM1NikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X01JTl9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzUzKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfTUFYX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzNTQpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF84WDhfVFJBTlNGT1JNIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzNTUpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9DUEJfU0laRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMzU2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0VOVFJPUFlfTU9ERSAoVjRMMl9DSURfTVBFR19CQVNFKzM1NykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0VOVFJPUFlfTU9ERSAoVjRMMl9DSURfTVBFR19CQVNFICsgMzU3KQogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9lbnRyb3B5X21vZGUgewotIFY0TDJfTVBFR19WSURFT19IMjY0X0VOVFJPUFlfTU9ERV9DQVZMQyA9IDAsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfRU5UUk9QWV9NT0RFX0NBQkFDID0gMSwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfRU5UUk9QWV9NT0RFX0NBVkxDID0gMCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfRU5UUk9QWV9NT0RFX0NBQkFDID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSV9QRVJJT0QgKFY0TDJfQ0lEX01QRUdfQkFTRSszNTgpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9MRVZFTCAoVjRMMl9DSURfTVBFR19CQVNFKzM1OSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0lfUEVSSU9EIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzNTgpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9MRVZFTCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzU5KQogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9sZXZlbCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzFfMCA9IDAsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfMUIgPSAxLAotIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzFfMSA9IDIsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfMV8yID0gMywKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfMV8wID0gMCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfMUIgPSAxLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8xXzEgPSAyLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8xXzIgPSAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8xXzMgPSA0LAotIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzJfMCA9IDUsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfMl8xID0gNiwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8yXzIgPSA3LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8xXzMgPSA0LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8yXzAgPSA1LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8yXzEgPSA2LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8yXzIgPSA3LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF8zXzAgPSA4LAotIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzNfMSA9IDksCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfM18yID0gMTAsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfNF8wID0gMTEsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzNfMCA9IDgsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzNfMSA9IDksCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzNfMiA9IDEwLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF80XzAgPSAxMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfNF8xID0gMTIsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfNF8yID0gMTMsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfNV8wID0gMTQsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfNV8xID0gMTUsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzRfMSA9IDEyLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MRVZFTF80XzIgPSAxMywKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfTEVWRUxfNV8wID0gMTQsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xFVkVMXzVfMSA9IDE1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9MT09QX0ZJTFRFUl9BTFBIQSAoVjRMMl9DSURfTVBFR19CQVNFKzM2MCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX0JFVEEgKFY0TDJfQ0lEX01QRUdfQkFTRSszNjEpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9MT09QX0ZJTFRFUl9NT0RFIChWNEwyX0NJRF9NUEVHX0JBU0UrMzYyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfTE9PUF9GSUxURVJfQUxQSEEgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2MCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX0JFVEEgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2MSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX01PREUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2MikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHY0bDJfbXBlZ192aWRlb19oMjY0X2xvb3BfZmlsdGVyX21vZGUgewotIFY0TDJfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX01PREVfRU5BQkxFRCA9IDAsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTE9PUF9GSUxURVJfTU9ERV9ESVNBQkxFRCA9IDEsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfTE9PUF9GSUxURVJfTU9ERV9ESVNBQkxFRF9BVF9TTElDRV9CT1VOREFSWSA9IDIsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX01PREVfRU5BQkxFRCA9IDAsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX01PREVfRElTQUJMRUQgPSAxLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9MT09QX0ZJTFRFUl9NT0RFX0RJU0FCTEVEX0FUX1NMSUNFX0JPVU5EQVJZID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRSAoVjRMMl9DSURfTVBFR19CQVNFKzM2MykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1BST0ZJTEUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2MykKIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2gyNjRfcHJvZmlsZSB7Ci0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9CQVNFTElORSA9IDAsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfQkFTRUxJTkUgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0NPTlNUUkFJTkVEX0JBU0VMSU5FID0gMSwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX01BSU4gPSAyLAotIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfRVhURU5ERUQgPSAzLAotIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfSElHSCA9IDQsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfQ09OU1RSQUlORURfQkFTRUxJTkUgPSAxLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX01BSU4gPSAyLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0VYVEVOREVEID0gMywKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9ISUdIID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9ISUdIXzEwID0gNSwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfNDIyID0gNiwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfNDQ0X1BSRURJQ1RJVkUgPSA3LAotIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfSElHSF8xMF9JTlRSQSA9IDgsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfSElHSF8xMCA9IDUsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfSElHSF80MjIgPSA2LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfNDQ0X1BSRURJQ1RJVkUgPSA3LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfMTBfSU5UUkEgPSA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfNDIyX0lOVFJBID0gOSwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfNDQ0X0lOVFJBID0gMTAsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9DQVZMQ180NDRfSU5UUkEgPSAxMSwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX1NDQUxBQkxFX0JBU0VMSU5FID0gMTIsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfSElHSF80MjJfSU5UUkEgPSA5LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX0hJR0hfNDQ0X0lOVFJBID0gMTAsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfQ0FWTENfNDQ0X0lOVFJBID0gMTEsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfU0NBTEFCTEVfQkFTRUxJTkUgPSAxMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9TQ0FMQUJMRV9ISUdIID0gMTMsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9TQ0FMQUJMRV9ISUdIX0lOVFJBID0gMTQsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9TVEVSRU9fSElHSCA9IDE1LAotIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfTVVMVElWSUVXX0hJR0ggPSAxNiwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRV9TQ0FMQUJMRV9ISUdIID0gMTMsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfU0NBTEFCTEVfSElHSF9JTlRSQSA9IDE0LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9QUk9GSUxFX1NURVJFT19ISUdIID0gMTUsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1BST0ZJTEVfTVVMVElWSUVXX0hJR0ggPSAxNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfVlVJX0VYVF9TQVJfSEVJR0hUIChWNEwyX0NJRF9NUEVHX0JBU0UrMzY0KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfVlVJX0VYVF9TQVJfV0lEVEggKFY0TDJfQ0lEX01QRUdfQkFTRSszNjUpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0VOQUJMRSAoVjRMMl9DSURfTVBFR19CQVNFKzM2NikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1ZVSV9FWFRfU0FSX0hFSUdIVCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzY0KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfVlVJX0VYVF9TQVJfV0lEVEggKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2NSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfRU5BQkxFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzNjYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JREMgKFY0TDJfQ0lEX01QRUdfQkFTRSszNjcpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQyAoVjRMMl9DSURfTVBFR19CQVNFICsgMzY3KQogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF92dWlfc2FyX2lkYyB7Ci0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfVU5TUEVDSUZJRUQgPSAwLAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzF4MSA9IDEsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDX1VOU1BFQ0lGSUVEID0gMCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMXgxID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMTJ4MTEgPSAyLAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzEweDExID0gMywKLSBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18xNngxMSA9IDQsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfNDB4MzMgPSA1LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18xMngxMSA9IDIsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzEweDExID0gMywKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMTZ4MTEgPSA0LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ180MHgzMyA9IDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzI0eDExID0gNiwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18yMHgxMSA9IDcsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMzJ4MTEgPSA4LAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzgweDMzID0gOSwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMjR4MTEgPSA2LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18yMHgxMSA9IDcsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzMyeDExID0gOCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfODB4MzMgPSA5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18xOHgxMSA9IDEwLAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzE1eDExID0gMTEsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfNjR4MzMgPSAxMiwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18xNjB4OTkgPSAxMywKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMTh4MTEgPSAxMCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMTV4MTEgPSAxMSwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfNjR4MzMgPSAxMiwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMTYweDk5ID0gMTMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzR4MyA9IDE0LAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzN4MiA9IDE1LAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzJ4MSA9IDE2LAotIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDX0VYVEVOREVEID0gMTcsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzR4MyA9IDE0LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQ18zeDIgPSAxNSwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfVlVJX1NBUl9JRENfMngxID0gMTYsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1ZVSV9TQVJfSURDX0VYVEVOREVEID0gMTcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1NFSV9GUkFNRV9QQUNLSU5HIChWNEwyX0NJRF9NUEVHX0JBU0UrMzY4KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfU0VJX0ZQX0NVUlJFTlRfRlJBTUVfMCAoVjRMMl9DSURfTVBFR19CQVNFKzM2OSkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFIChWNEwyX0NJRF9NUEVHX0JBU0UrMzcwKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfU0VJX0ZSQU1FX1BBQ0tJTkcgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2OCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1NFSV9GUF9DVVJSRU5UX0ZSQU1FXzAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM2OSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzNzApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9zZWlfZnBfYXJyYW5nZW1lbnRfdHlwZSB7Ci0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfU0VJX0ZQX0FSUkFOR0VNRU5UX1RZUEVfQ0hFQ0tFUkJPQVJEID0gMCwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9DT0xVTU4gPSAxLAotIFY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX1JPVyA9IDIsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX0NIRUNLRVJCT0FSRCA9IDAsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX0NPTFVNTiA9IDEsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX1JPVyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX1NJREVfQllfU0lERSA9IDMsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfU0VJX0ZQX0FSUkFOR0VNRU5UX1RZUEVfVE9QX0JPVFRPTSA9IDQsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfU0VJX0ZQX0FSUkFOR0VNRU5UX1RZUEVfVEVNUE9SQUwgPSA1LAorICBWNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9TSURFX0JZX1NJREUgPSAzLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9UT1BfQk9UVE9NID0gNCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfU0VJX0ZQX0FSUkFOR0VNRU5UX1RZUEVfVEVNUE9SQUwgPSA1LAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU8gKFY0TDJfQ0lEX01QRUdfQkFTRSszNzEpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEUgKFY0TDJfQ0lEX01QRUdfQkFTRSszNzIpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU8gKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM3MSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMzcyKQogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9mbW9fbWFwX3R5cGUgewotIFY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9JTlRFUkxFQVZFRF9TTElDRVMgPSAwLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEVfSU5URVJMRUFWRURfU0xJQ0VTID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1NDQVRURVJFRF9TTElDRVMgPSAxLAotIFY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9GT1JFR1JPVU5EX1dJVEhfTEVGVF9PVkVSID0gMiwKLSBWNEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEVfQk9YX09VVCA9IDMsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1JBU1RFUl9TQ0FOID0gNCwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1NDQVRURVJFRF9TTElDRVMgPSAxLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEVfRk9SRUdST1VORF9XSVRIX0xFRlRfT1ZFUiA9IDIsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9CT1hfT1VUID0gMywKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1JBU1RFUl9TQ0FOID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1dJUEVfU0NBTiA9IDUsCi0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX0VYUExJQ0lUID0gNiwKKyAgVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1dJUEVfU0NBTiA9IDUsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9FWFBMSUNJVCA9IDYsCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX1NMSUNFX0dST1VQIChWNEwyX0NJRF9NUEVHX0JBU0UrMzczKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX1NMSUNFX0dST1VQIChWNEwyX0NJRF9NUEVHX0JBU0UgKyAzNzMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX0NIQU5HRV9ESVJFQ1RJT04gKFY0TDJfQ0lEX01QRUdfQkFTRSszNzQpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU9fQ0hBTkdFX0RJUkVDVElPTiAoVjRMMl9DSURfTVBFR19CQVNFICsgMzc0KQogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9mbW9fY2hhbmdlX2RpciB7Ci0gVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX0NIQU5HRV9ESVJfUklHSFQgPSAwLAotIFY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19DSEFOR0VfRElSX0xFRlQgPSAxLAorICBWNEwyX01QRUdfVklERU9fSDI2NF9GTU9fQ0hBTkdFX0RJUl9SSUdIVCA9IDAsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19DSEFOR0VfRElSX0xFRlQgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU9fQ0hBTkdFX1JBVEUgKFY0TDJfQ0lEX01QRUdfQkFTRSszNzUpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU9fUlVOX0xFTkdUSCAoVjRMMl9DSURfTVBFR19CQVNFKzM3NikKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0FTTyAoVjRMMl9DSURfTVBFR19CQVNFKzM3NykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0ZNT19DSEFOR0VfUkFURSAoVjRMMl9DSURfTVBFR19CQVNFICsgMzc1KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX1JVTl9MRU5HVEggKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM3NikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0FTTyAoVjRMMl9DSURfTVBFR19CQVNFICsgMzc3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0FTT19TTElDRV9PUkRFUiAoVjRMMl9DSURfTVBFR19CQVNFKzM3OCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkcgKFY0TDJfQ0lEX01QRUdfQkFTRSszNzkpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HX1RZUEUgKFY0TDJfQ0lEX01QRUdfQkFTRSszODApCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9BU09fU0xJQ0VfT1JERVIgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM3OCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkcgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM3OSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkdfVFlQRSAoVjRMMl9DSURfTVBFR19CQVNFICsgMzgwKQogZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9oaWVyYXJjaGljYWxfY29kaW5nX3R5cGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HX0IgPSAwLAotIFY0TDJfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkdfUCA9IDEsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkdfQiA9IDAsCisgIFY0TDJfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkdfUCA9IDEsCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSElFUkFSQ0hJQ0FMX0NPRElOR19MQVlFUiAoVjRMMl9DSURfTVBFR19CQVNFKzM4MSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkdfTEFZRVIgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDM4MSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HX0xBWUVSX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrMzgyKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X0lfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSs0MDApCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVBFRzRfUF9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzQwMSkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9CX0ZSQU1FX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrNDAyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSElFUkFSQ0hJQ0FMX0NPRElOR19MQVlFUl9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgMzgyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X0lfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDQwMCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9QX0ZSQU1FX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA0MDEpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVBFRzRfQl9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgNDAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9NSU5fUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSs0MDMpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fTVBFRzRfTUFYX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrNDA0KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X0xFVkVMIChWNEwyX0NJRF9NUEVHX0JBU0UrNDA1KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X01JTl9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgNDAzKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X01BWF9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgNDA0KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X0xFVkVMIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA0MDUpCiBlbnVtIHY0bDJfbXBlZ192aWRlb19tcGVnNF9sZXZlbCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19NUEVHNF9MRVZFTF8wID0gMCwKLSBWNEwyX01QRUdfVklERU9fTVBFRzRfTEVWRUxfMEIgPSAxLAotIFY0TDJfTVBFR19WSURFT19NUEVHNF9MRVZFTF8xID0gMiwKLSBWNEwyX01QRUdfVklERU9fTVBFRzRfTEVWRUxfMiA9IDMsCisgIFY0TDJfTVBFR19WSURFT19NUEVHNF9MRVZFTF8wID0gMCwKKyAgVjRMMl9NUEVHX1ZJREVPX01QRUc0X0xFVkVMXzBCID0gMSwKKyAgVjRMMl9NUEVHX1ZJREVPX01QRUc0X0xFVkVMXzEgPSAyLAorICBWNEwyX01QRUdfVklERU9fTVBFRzRfTEVWRUxfMiA9IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19NUEVHNF9MRVZFTF8zID0gNCwKLSBWNEwyX01QRUdfVklERU9fTVBFRzRfTEVWRUxfM0IgPSA1LAotIFY0TDJfTVBFR19WSURFT19NUEVHNF9MRVZFTF80ID0gNiwKLSBWNEwyX01QRUdfVklERU9fTVBFRzRfTEVWRUxfNSA9IDcsCisgIFY0TDJfTVBFR19WSURFT19NUEVHNF9MRVZFTF8zID0gNCwKKyAgVjRMMl9NUEVHX1ZJREVPX01QRUc0X0xFVkVMXzNCID0gNSwKKyAgVjRMMl9NUEVHX1ZJREVPX01QRUc0X0xFVkVMXzQgPSA2LAorICBWNEwyX01QRUdfVklERU9fTVBFRzRfTEVWRUxfNSA9IDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFIChWNEwyX0NJRF9NUEVHX0JBU0UrNDA2KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X1BST0ZJTEUgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDQwNikKIGVudW0gdjRsMl9tcGVnX3ZpZGVvX21wZWc0X3Byb2ZpbGUgewotIFY0TDJfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFX1NJTVBMRSA9IDAsCisgIFY0TDJfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFX1NJTVBMRSA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFX0FEVkFOQ0VEX1NJTVBMRSA9IDEsCi0gVjRMMl9NUEVHX1ZJREVPX01QRUc0X1BST0ZJTEVfQ09SRSA9IDIsCi0gVjRMMl9NUEVHX1ZJREVPX01QRUc0X1BST0ZJTEVfU0lNUExFX1NDQUxBQkxFID0gMywKLSBWNEwyX01QRUdfVklERU9fTVBFRzRfUFJPRklMRV9BRFZBTkNFRF9DT0RJTkdfRUZGSUNJRU5DWSA9IDQsCisgIFY0TDJfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFX0FEVkFOQ0VEX1NJTVBMRSA9IDEsCisgIFY0TDJfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFX0NPUkUgPSAyLAorICBWNEwyX01QRUdfVklERU9fTVBFRzRfUFJPRklMRV9TSU1QTEVfU0NBTEFCTEUgPSAzLAorICBWNEwyX01QRUdfVklERU9fTVBFRzRfUFJPRklMRV9BRFZBTkNFRF9DT0RJTkdfRUZGSUNJRU5DWSA9IDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9RUEVMIChWNEwyX0NJRF9NUEVHX0JBU0UrNDA3KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9OVU1fUEFSVElUSU9OUyAoVjRMMl9DSURfTVBFR19CQVNFKzUwMCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9RUEVMIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA0MDcpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYX05VTV9QQVJUSVRJT05TIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA1MDApCiBlbnVtIHY0bDJfdnA4X251bV9wYXJ0aXRpb25zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9DSURfTVBFR19WSURFT19WUFhfMV9QQVJUSVRJT04gPSAwLAotIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYXzJfUEFSVElUSU9OUyA9IDEsCi0gVjRMMl9DSURfTVBFR19WSURFT19WUFhfNF9QQVJUSVRJT05TID0gMiwKLSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF84X1BBUlRJVElPTlMgPSAzLAorICBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF8xX1BBUlRJVElPTiA9IDAsCisgIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYXzJfUEFSVElUSU9OUyA9IDEsCisgIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYXzRfUEFSVElUSU9OUyA9IDIsCisgIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYXzhfUEFSVElUSU9OUyA9IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfSU1EX0RJU0FCTEVfNFg0IChWNEwyX0NJRF9NUEVHX0JBU0UrNTAxKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9OVU1fUkVGX0ZSQU1FUyAoVjRMMl9DSURfTVBFR19CQVNFKzUwMikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfSU1EX0RJU0FCTEVfNFg0IChWNEwyX0NJRF9NUEVHX0JBU0UgKyA1MDEpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYX05VTV9SRUZfRlJBTUVTIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA1MDIpCiBlbnVtIHY0bDJfdnA4X251bV9yZWZfZnJhbWVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9DSURfTVBFR19WSURFT19WUFhfMV9SRUZfRlJBTUUgPSAwLAotIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYXzJfUkVGX0ZSQU1FID0gMSwKLSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF8zX1JFRl9GUkFNRSA9IDIsCisgIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYXzFfUkVGX0ZSQU1FID0gMCwKKyAgVjRMMl9DSURfTVBFR19WSURFT19WUFhfMl9SRUZfRlJBTUUgPSAxLAorICBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF8zX1JFRl9GUkFNRSA9IDIsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfRklMVEVSX0xFVkVMIChWNEwyX0NJRF9NUEVHX0JBU0UrNTAzKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9GSUxURVJfU0hBUlBORVNTIChWNEwyX0NJRF9NUEVHX0JBU0UrNTA0KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9HT0xERU5fRlJBTUVfUkVGX1BFUklPRCAoVjRMMl9DSURfTVBFR19CQVNFKzUwNSkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfR09MREVOX0ZSQU1FX1NFTCAoVjRMMl9DSURfTVBFR19CQVNFKzUwNikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfRklMVEVSX0xFVkVMIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA1MDMpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYX0ZJTFRFUl9TSEFSUE5FU1MgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDUwNCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfR09MREVOX0ZSQU1FX1JFRl9QRVJJT0QgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDUwNSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfR09MREVOX0ZSQU1FX1NFTCAoVjRMMl9DSURfTVBFR19CQVNFICsgNTA2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl92cDhfZ29sZGVuX2ZyYW1lX3NlbCB7Ci0gVjRMMl9DSURfTVBFR19WSURFT19WUFhfR09MREVOX0ZSQU1FX1VTRV9QUkVWID0gMCwKLSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9HT0xERU5fRlJBTUVfVVNFX1JFRl9QRVJJT0QgPSAxLAorICBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9HT0xERU5fRlJBTUVfVVNFX1BSRVYgPSAwLAorICBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9HT0xERU5fRlJBTUVfVVNFX1JFRl9QRVJJT0QgPSAxLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYX01JTl9RUCAoVjRMMl9DSURfTVBFR19CQVNFKzUwNykKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfTUFYX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrNTA4KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9JX0ZSQU1FX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrNTA5KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9QX0ZSQU1FX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UrNTEwKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX1ZQWF9NSU5fUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDUwNykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfTUFYX1FQIChWNEwyX0NJRF9NUEVHX0JBU0UgKyA1MDgpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVlBYX0lfRlJBTUVfUVAgKFY0TDJfQ0lEX01QRUdfQkFTRSArIDUwOSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfUF9GUkFNRV9RUCAoVjRMMl9DSURfTVBFR19CQVNFICsgNTEwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfUFJPRklMRSAoVjRMMl9DSURfTVBFR19CQVNFKzUxMSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19WUFhfUFJPRklMRSAoVjRMMl9DSURfTVBFR19CQVNFICsgNTExKQogI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSAoVjRMMl9DVFJMX0NMQVNTX01QRUcgfCAweDEwMDApCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9WSURFT19TUEFUSUFMX0ZJTFRFUl9NT0RFIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSswKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fU1BBVElBTF9GSUxURVJfTU9ERSAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UgKyAwKQogZW51bSB2NGwyX21wZWdfY3gyMzQxeF92aWRlb19zcGF0aWFsX2ZpbHRlcl9tb2RlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fU1BBVElBTF9GSUxURVJfTU9ERV9NQU5VQUwgPSAwLAotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX1NQQVRJQUxfRklMVEVSX01PREVfQVVUTyA9IDEsCisgIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX1NQQVRJQUxfRklMVEVSX01PREVfTUFOVUFMID0gMCwKKyAgVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fU1BBVElBTF9GSUxURVJfTU9ERV9BVVRPID0gMSwKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9WSURFT19TUEFUSUFMX0ZJTFRFUiAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UrMSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1ZJREVPX1NQQVRJQUxfRklMVEVSIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSArIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9TUEFUSUFMX0ZJTFRFUl9UWVBFIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSsyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9TUEFUSUFMX0ZJTFRFUl9UWVBFIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSArIDIpCiBlbnVtIHY0bDJfbXBlZ19jeDIzNDF4X3ZpZGVvX2x1bWFfc3BhdGlhbF9maWx0ZXJfdHlwZSB7Ci0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9TUEFUSUFMX0ZJTFRFUl9UWVBFX09GRiA9IDAsCi0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9TUEFUSUFMX0ZJTFRFUl9UWVBFXzFEX0hPUiA9IDEsCisgIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX0xVTUFfU1BBVElBTF9GSUxURVJfVFlQRV9PRkYgPSAwLAorICBWNEwyX01QRUdfQ1gyMzQxWF9WSURFT19MVU1BX1NQQVRJQUxfRklMVEVSX1RZUEVfMURfSE9SID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9TUEFUSUFMX0ZJTFRFUl9UWVBFXzFEX1ZFUlQgPSAyLAotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX0xVTUFfU1BBVElBTF9GSUxURVJfVFlQRV8yRF9IVl9TRVBBUkFCTEUgPSAzLAotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX0xVTUFfU1BBVElBTF9GSUxURVJfVFlQRV8yRF9TWU1fTk9OX1NFUEFSQUJMRSA9IDQsCisgIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX0xVTUFfU1BBVElBTF9GSUxURVJfVFlQRV8xRF9WRVJUID0gMiwKKyAgVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9TUEFUSUFMX0ZJTFRFUl9UWVBFXzJEX0hWX1NFUEFSQUJMRSA9IDMsCisgIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX0xVTUFfU1BBVElBTF9GSUxURVJfVFlQRV8yRF9TWU1fTk9OX1NFUEFSQUJMRSA9IDQsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1ZJREVPX0NIUk9NQV9TUEFUSUFMX0ZJTFRFUl9UWVBFIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSszKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX1NQQVRJQUxfRklMVEVSX1RZUEUgKFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9CQVNFICsgMykKIGVudW0gdjRsMl9tcGVnX2N4MjM0MXhfdmlkZW9fY2hyb21hX3NwYXRpYWxfZmlsdGVyX3R5cGUgewotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX0NIUk9NQV9TUEFUSUFMX0ZJTFRFUl9UWVBFX09GRiA9IDAsCi0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX1NQQVRJQUxfRklMVEVSX1RZUEVfMURfSE9SID0gMSwKKyAgVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX1NQQVRJQUxfRklMVEVSX1RZUEVfT0ZGID0gMCwKKyAgVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX1NQQVRJQUxfRklMVEVSX1RZUEVfMURfSE9SID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fVEVNUE9SQUxfRklMVEVSX01PREUgKFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9CQVNFKzQpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9WSURFT19URU1QT1JBTF9GSUxURVJfTU9ERSAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UgKyA0KQogZW51bSB2NGwyX21wZWdfY3gyMzQxeF92aWRlb190ZW1wb3JhbF9maWx0ZXJfbW9kZSB7Ci0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fVEVNUE9SQUxfRklMVEVSX01PREVfTUFOVUFMID0gMCwKKyAgVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fVEVNUE9SQUxfRklMVEVSX01PREVfTUFOVUFMID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fVEVNUE9SQUxfRklMVEVSX01PREVfQVVUTyA9IDEsCisgIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX1RFTVBPUkFMX0ZJTFRFUl9NT0RFX0FVVE8gPSAxLAogfTsKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1ZJREVPX1RFTVBPUkFMX0ZJTFRFUiAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UrNSkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1ZJREVPX01FRElBTl9GSUxURVJfVFlQRSAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UrNikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1ZJREVPX1RFTVBPUkFMX0ZJTFRFUiAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UgKyA1KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fTUVESUFOX0ZJTFRFUl9UWVBFIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSArIDYpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX21wZWdfY3gyMzQxeF92aWRlb19tZWRpYW5fZmlsdGVyX3R5cGUgewotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX01FRElBTl9GSUxURVJfVFlQRV9PRkYgPSAwLAotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX01FRElBTl9GSUxURVJfVFlQRV9IT1IgPSAxLAotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX01FRElBTl9GSUxURVJfVFlQRV9WRVJUID0gMiwKKyAgVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fTUVESUFOX0ZJTFRFUl9UWVBFX09GRiA9IDAsCisgIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX01FRElBTl9GSUxURVJfVFlQRV9IT1IgPSAxLAorICBWNEwyX01QRUdfQ1gyMzQxWF9WSURFT19NRURJQU5fRklMVEVSX1RZUEVfVkVSVCA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTVBFR19DWDIzNDFYX1ZJREVPX01FRElBTl9GSUxURVJfVFlQRV9IT1JfVkVSVCA9IDMsCi0gVjRMMl9NUEVHX0NYMjM0MVhfVklERU9fTUVESUFOX0ZJTFRFUl9UWVBFX0RJQUcgPSA0LAorICBWNEwyX01QRUdfQ1gyMzQxWF9WSURFT19NRURJQU5fRklMVEVSX1RZUEVfSE9SX1ZFUlQgPSAzLAorICBWNEwyX01QRUdfQ1gyMzQxWF9WSURFT19NRURJQU5fRklMVEVSX1RZUEVfRElBRyA9IDQsCiB9OwotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9NRURJQU5fRklMVEVSX0JPVFRPTSAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UrNykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1ZJREVPX0xVTUFfTUVESUFOX0ZJTFRFUl9CT1RUT00gKFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9CQVNFICsgNykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9WSURFT19MVU1BX01FRElBTl9GSUxURVJfVE9QIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSs4KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX01FRElBTl9GSUxURVJfQk9UVE9NIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSs5KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX01FRElBTl9GSUxURVJfVE9QIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSsxMCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19DWDIzNDFYX1NUUkVBTV9JTlNFUlRfTkFWX1BBQ0tFVFMgKFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9CQVNFKzExKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fTFVNQV9NRURJQU5fRklMVEVSX1RPUCAoVjRMMl9DSURfTVBFR19DWDIzNDFYX0JBU0UgKyA4KQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX0NYMjM0MVhfVklERU9fQ0hST01BX01FRElBTl9GSUxURVJfQk9UVE9NIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSArIDkpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9WSURFT19DSFJPTUFfTUVESUFOX0ZJTFRFUl9UT1AgKFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9CQVNFICsgMTApCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfQ1gyMzQxWF9TVFJFQU1fSU5TRVJUX05BVl9QQUNLRVRTIChWNEwyX0NJRF9NUEVHX0NYMjM0MVhfQkFTRSArIDExKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFIChWNEwyX0NUUkxfQ0xBU1NfTVBFRyB8IDB4MTEwMCkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19ERUNPREVSX0gyNjRfRElTUExBWV9ERUxBWSAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFKzApCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fREVDT0RFUl9IMjY0X0RJU1BMQVlfREVMQVlfRU5BQkxFIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UrMSkKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19GUkFNRV9TS0lQX01PREUgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSsyKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX01GQzUxX1ZJREVPX0RFQ09ERVJfSDI2NF9ESVNQTEFZX0RFTEFZIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UgKyAwKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX01GQzUxX1ZJREVPX0RFQ09ERVJfSDI2NF9ESVNQTEFZX0RFTEFZX0VOQUJMRSAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgMSkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19GUkFNRV9TS0lQX01PREUgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSArIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX21wZWdfbWZjNTFfdmlkZW9fZnJhbWVfc2tpcF9tb2RlIHsKLSBWNEwyX01QRUdfTUZDNTFfVklERU9fRlJBTUVfU0tJUF9NT0RFX0RJU0FCTEVEID0gMCwKLSBWNEwyX01QRUdfTUZDNTFfVklERU9fRlJBTUVfU0tJUF9NT0RFX0xFVkVMX0xJTUlUID0gMSwKLSBWNEwyX01QRUdfTUZDNTFfVklERU9fRlJBTUVfU0tJUF9NT0RFX0JVRl9MSU1JVCA9IDIsCisgIFY0TDJfTVBFR19NRkM1MV9WSURFT19GUkFNRV9TS0lQX01PREVfRElTQUJMRUQgPSAwLAorICBWNEwyX01QRUdfTUZDNTFfVklERU9fRlJBTUVfU0tJUF9NT0RFX0xFVkVMX0xJTUlUID0gMSwKKyAgVjRMMl9NUEVHX01GQzUxX1ZJREVPX0ZSQU1FX1NLSVBfTU9ERV9CVUZfTElNSVQgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fRk9SQ0VfRlJBTUVfVFlQRSAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFKzMpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fRk9SQ0VfRlJBTUVfVFlQRSAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgMykKIGVudW0gdjRsMl9tcGVnX21mYzUxX3ZpZGVvX2ZvcmNlX2ZyYW1lX3R5cGUgewotIFY0TDJfTVBFR19NRkM1MV9WSURFT19GT1JDRV9GUkFNRV9UWVBFX0RJU0FCTEVEID0gMCwKKyAgVjRMMl9NUEVHX01GQzUxX1ZJREVPX0ZPUkNFX0ZSQU1FX1RZUEVfRElTQUJMRUQgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01QRUdfTUZDNTFfVklERU9fRk9SQ0VfRlJBTUVfVFlQRV9JX0ZSQU1FID0gMSwKLSBWNEwyX01QRUdfTUZDNTFfVklERU9fRk9SQ0VfRlJBTUVfVFlQRV9OT1RfQ09ERUQgPSAyLAorICBWNEwyX01QRUdfTUZDNTFfVklERU9fRk9SQ0VfRlJBTUVfVFlQRV9JX0ZSQU1FID0gMSwKKyAgVjRMMl9NUEVHX01GQzUxX1ZJREVPX0ZPUkNFX0ZSQU1FX1RZUEVfTk9UX0NPREVEID0gMiwKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fUEFERElORyAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFKzQpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fUEFERElORyAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fUEFERElOR19ZVVYgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSs1KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX01GQzUxX1ZJREVPX1JDX0ZJWEVEX1RBUkdFVF9CSVQgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSs2KQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX01GQzUxX1ZJREVPX1JDX1JFQUNUSU9OX0NPRUZGIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UrNykKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19IMjY0X0FEQVBUSVZFX1JDX0FDVElWSVRZIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UrNTApCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fUEFERElOR19ZVVYgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSArIDUpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fUkNfRklYRURfVEFSR0VUX0JJVCAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgNikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19SQ19SRUFDVElPTl9DT0VGRiAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgNykKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19IMjY0X0FEQVBUSVZFX1JDX0FDVElWSVRZIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UgKyA1MCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fSDI2NF9BREFQVElWRV9SQ19EQVJLIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UrNTEpCi0jZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fSDI2NF9BREFQVElWRV9SQ19TTU9PVEggKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSs1MikKLSNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19IMjY0X0FEQVBUSVZFX1JDX1NUQVRJQyAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFKzUzKQotI2RlZmluZSBWNEwyX0NJRF9NUEVHX01GQzUxX1ZJREVPX0gyNjRfTlVNX1JFRl9QSUNfRk9SX1AgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSs1NCkKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19IMjY0X0FEQVBUSVZFX1JDX0RBUksgKFY0TDJfQ0lEX01QRUdfTUZDNTFfQkFTRSArIDUxKQorI2RlZmluZSBWNEwyX0NJRF9NUEVHX01GQzUxX1ZJREVPX0gyNjRfQURBUFRJVkVfUkNfU01PT1RIIChWNEwyX0NJRF9NUEVHX01GQzUxX0JBU0UgKyA1MikKKyNkZWZpbmUgVjRMMl9DSURfTVBFR19NRkM1MV9WSURFT19IMjY0X0FEQVBUSVZFX1JDX1NUQVRJQyAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgNTMpCisjZGVmaW5lIFY0TDJfQ0lEX01QRUdfTUZDNTFfVklERU9fSDI2NF9OVU1fUkVGX1BJQ19GT1JfUCAoVjRMMl9DSURfTVBFR19NRkM1MV9CQVNFICsgNTQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSAoVjRMMl9DVFJMX0NMQVNTX0NBTUVSQSB8IDB4OTAwKQogI2RlZmluZSBWNEwyX0NJRF9DQU1FUkFfQ0xBU1MgKFY0TDJfQ1RSTF9DTEFTU19DQU1FUkEgfCAxKQotI2RlZmluZSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSsxKQorI2RlZmluZSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDEpCiBlbnVtIHY0bDJfZXhwb3N1cmVfYXV0b190eXBlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9FWFBPU1VSRV9BVVRPID0gMCwKLSBWNEwyX0VYUE9TVVJFX01BTlVBTCA9IDEsCi0gVjRMMl9FWFBPU1VSRV9TSFVUVEVSX1BSSU9SSVRZID0gMiwKLSBWNEwyX0VYUE9TVVJFX0FQRVJUVVJFX1BSSU9SSVRZID0gMworICBWNEwyX0VYUE9TVVJFX0FVVE8gPSAwLAorICBWNEwyX0VYUE9TVVJFX01BTlVBTCA9IDEsCisgIFY0TDJfRVhQT1NVUkVfU0hVVFRFUl9QUklPUklUWSA9IDIsCisgIFY0TDJfRVhQT1NVUkVfQVBFUlRVUkVfUFJJT1JJVFkgPSAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgVjRMMl9DSURfRVhQT1NVUkVfQUJTT0xVVEUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzIpCi0jZGVmaW5lIFY0TDJfQ0lEX0VYUE9TVVJFX0FVVE9fUFJJT1JJVFkgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzMpCi0jZGVmaW5lIFY0TDJfQ0lEX1BBTl9SRUxBVElWRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrNCkKKyNkZWZpbmUgVjRMMl9DSURfRVhQT1NVUkVfQUJTT0xVVEUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMikKKyNkZWZpbmUgVjRMMl9DSURfRVhQT1NVUkVfQVVUT19QUklPUklUWSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzKQorI2RlZmluZSBWNEwyX0NJRF9QQU5fUkVMQVRJVkUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX1RJTFRfUkVMQVRJVkUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzUpCi0jZGVmaW5lIFY0TDJfQ0lEX1BBTl9SRVNFVCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrNikKLSNkZWZpbmUgVjRMMl9DSURfVElMVF9SRVNFVCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrNykKLSNkZWZpbmUgVjRMMl9DSURfUEFOX0FCU09MVVRFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSs4KQorI2RlZmluZSBWNEwyX0NJRF9USUxUX1JFTEFUSVZFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDUpCisjZGVmaW5lIFY0TDJfQ0lEX1BBTl9SRVNFVCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyA2KQorI2RlZmluZSBWNEwyX0NJRF9USUxUX1JFU0VUIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDcpCisjZGVmaW5lIFY0TDJfQ0lEX1BBTl9BQlNPTFVURSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyA4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfVElMVF9BQlNPTFVURSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrOSkKLSNkZWZpbmUgVjRMMl9DSURfRk9DVVNfQUJTT0xVVEUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzEwKQotI2RlZmluZSBWNEwyX0NJRF9GT0NVU19SRUxBVElWRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrMTEpCi0jZGVmaW5lIFY0TDJfQ0lEX0ZPQ1VTX0FVVE8gKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzEyKQorI2RlZmluZSBWNEwyX0NJRF9USUxUX0FCU09MVVRFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDkpCisjZGVmaW5lIFY0TDJfQ0lEX0ZPQ1VTX0FCU09MVVRFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDEwKQorI2RlZmluZSBWNEwyX0NJRF9GT0NVU19SRUxBVElWRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAxMSkKKyNkZWZpbmUgVjRMMl9DSURfRk9DVVNfQVVUTyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAxMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX1pPT01fQUJTT0xVVEUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzEzKQotI2RlZmluZSBWNEwyX0NJRF9aT09NX1JFTEFUSVZFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSsxNCkKLSNkZWZpbmUgVjRMMl9DSURfWk9PTV9DT05USU5VT1VTIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSsxNSkKLSNkZWZpbmUgVjRMMl9DSURfUFJJVkFDWSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrMTYpCisjZGVmaW5lIFY0TDJfQ0lEX1pPT01fQUJTT0xVVEUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMTMpCisjZGVmaW5lIFY0TDJfQ0lEX1pPT01fUkVMQVRJVkUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMTQpCisjZGVmaW5lIFY0TDJfQ0lEX1pPT01fQ09OVElOVU9VUyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAxNSkKKyNkZWZpbmUgVjRMMl9DSURfUFJJVkFDWSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAxNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX0lSSVNfQUJTT0xVVEUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzE3KQotI2RlZmluZSBWNEwyX0NJRF9JUklTX1JFTEFUSVZFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSsxOCkKLSNkZWZpbmUgVjRMMl9DSURfQVVUT19FWFBPU1VSRV9CSUFTIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSsxOSkKLSNkZWZpbmUgVjRMMl9DSURfQVVUT19OX1BSRVNFVF9XSElURV9CQUxBTkNFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSsyMCkKKyNkZWZpbmUgVjRMMl9DSURfSVJJU19BQlNPTFVURSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAxNykKKyNkZWZpbmUgVjRMMl9DSURfSVJJU19SRUxBVElWRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAxOCkKKyNkZWZpbmUgVjRMMl9DSURfQVVUT19FWFBPU1VSRV9CSUFTIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDE5KQorI2RlZmluZSBWNEwyX0NJRF9BVVRPX05fUFJFU0VUX1dISVRFX0JBTEFOQ0UgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMjApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX2F1dG9fbl9wcmVzZXRfd2hpdGVfYmFsYW5jZSB7Ci0gVjRMMl9XSElURV9CQUxBTkNFX01BTlVBTCA9IDAsCi0gVjRMMl9XSElURV9CQUxBTkNFX0FVVE8gPSAxLAotIFY0TDJfV0hJVEVfQkFMQU5DRV9JTkNBTkRFU0NFTlQgPSAyLAorICBWNEwyX1dISVRFX0JBTEFOQ0VfTUFOVUFMID0gMCwKKyAgVjRMMl9XSElURV9CQUxBTkNFX0FVVE8gPSAxLAorICBWNEwyX1dISVRFX0JBTEFOQ0VfSU5DQU5ERVNDRU5UID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9XSElURV9CQUxBTkNFX0ZMVU9SRVNDRU5UID0gMywKLSBWNEwyX1dISVRFX0JBTEFOQ0VfRkxVT1JFU0NFTlRfSCA9IDQsCi0gVjRMMl9XSElURV9CQUxBTkNFX0hPUklaT04gPSA1LAotIFY0TDJfV0hJVEVfQkFMQU5DRV9EQVlMSUdIVCA9IDYsCisgIFY0TDJfV0hJVEVfQkFMQU5DRV9GTFVPUkVTQ0VOVCA9IDMsCisgIFY0TDJfV0hJVEVfQkFMQU5DRV9GTFVPUkVTQ0VOVF9IID0gNCwKKyAgVjRMMl9XSElURV9CQUxBTkNFX0hPUklaT04gPSA1LAorICBWNEwyX1dISVRFX0JBTEFOQ0VfREFZTElHSFQgPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX1dISVRFX0JBTEFOQ0VfRkxBU0ggPSA3LAotIFY0TDJfV0hJVEVfQkFMQU5DRV9DTE9VRFkgPSA4LAotIFY0TDJfV0hJVEVfQkFMQU5DRV9TSEFERSA9IDksCisgIFY0TDJfV0hJVEVfQkFMQU5DRV9GTEFTSCA9IDcsCisgIFY0TDJfV0hJVEVfQkFMQU5DRV9DTE9VRFkgPSA4LAorICBWNEwyX1dISVRFX0JBTEFOQ0VfU0hBREUgPSA5LAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX1dJREVfRFlOQU1JQ19SQU5HRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrMjEpCi0jZGVmaW5lIFY0TDJfQ0lEX0lNQUdFX1NUQUJJTElaQVRJT04gKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzIyKQotI2RlZmluZSBWNEwyX0NJRF9JU09fU0VOU0lUSVZJVFkgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzIzKQotI2RlZmluZSBWNEwyX0NJRF9JU09fU0VOU0lUSVZJVFlfQVVUTyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrMjQpCisjZGVmaW5lIFY0TDJfQ0lEX1dJREVfRFlOQU1JQ19SQU5HRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAyMSkKKyNkZWZpbmUgVjRMMl9DSURfSU1BR0VfU1RBQklMSVpBVElPTiAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAyMikKKyNkZWZpbmUgVjRMMl9DSURfSVNPX1NFTlNJVElWSVRZIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDIzKQorI2RlZmluZSBWNEwyX0NJRF9JU09fU0VOU0lUSVZJVFlfQVVUTyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAyNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHY0bDJfaXNvX3NlbnNpdGl2aXR5X2F1dG9fdHlwZSB7Ci0gVjRMMl9JU09fU0VOU0lUSVZJVFlfTUFOVUFMID0gMCwKLSBWNEwyX0lTT19TRU5TSVRJVklUWV9BVVRPID0gMSwKKyAgVjRMMl9JU09fU0VOU0lUSVZJVFlfTUFOVUFMID0gMCwKKyAgVjRMMl9JU09fU0VOU0lUSVZJVFlfQVVUTyA9IDEsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfRVhQT1NVUkVfTUVURVJJTkcgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzI1KQorI2RlZmluZSBWNEwyX0NJRF9FWFBPU1VSRV9NRVRFUklORyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAyNSkKIGVudW0gdjRsMl9leHBvc3VyZV9tZXRlcmluZyB7Ci0gVjRMMl9FWFBPU1VSRV9NRVRFUklOR19BVkVSQUdFID0gMCwKLSBWNEwyX0VYUE9TVVJFX01FVEVSSU5HX0NFTlRFUl9XRUlHSFRFRCA9IDEsCisgIFY0TDJfRVhQT1NVUkVfTUVURVJJTkdfQVZFUkFHRSA9IDAsCisgIFY0TDJfRVhQT1NVUkVfTUVURVJJTkdfQ0VOVEVSX1dFSUdIVEVEID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9FWFBPU1VSRV9NRVRFUklOR19TUE9UID0gMiwKLSBWNEwyX0VYUE9TVVJFX01FVEVSSU5HX01BVFJJWCA9IDMsCisgIFY0TDJfRVhQT1NVUkVfTUVURVJJTkdfU1BPVCA9IDIsCisgIFY0TDJfRVhQT1NVUkVfTUVURVJJTkdfTUFUUklYID0gMywKIH07Ci0jZGVmaW5lIFY0TDJfQ0lEX1NDRU5FX01PREUgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzI2KQorI2RlZmluZSBWNEwyX0NJRF9TQ0VORV9NT0RFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDI2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9zY2VuZV9tb2RlIHsKLSBWNEwyX1NDRU5FX01PREVfTk9ORSA9IDAsCi0gVjRMMl9TQ0VORV9NT0RFX0JBQ0tMSUdIVCA9IDEsCi0gVjRMMl9TQ0VORV9NT0RFX0JFQUNIX1NOT1cgPSAyLAorICBWNEwyX1NDRU5FX01PREVfTk9ORSA9IDAsCisgIFY0TDJfU0NFTkVfTU9ERV9CQUNLTElHSFQgPSAxLAorICBWNEwyX1NDRU5FX01PREVfQkVBQ0hfU05PVyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfU0NFTkVfTU9ERV9DQU5ETEVfTElHSFQgPSAzLAotIFY0TDJfU0NFTkVfTU9ERV9EQVdOX0RVU0sgPSA0LAotIFY0TDJfU0NFTkVfTU9ERV9GQUxMX0NPTE9SUyA9IDUsCi0gVjRMMl9TQ0VORV9NT0RFX0ZJUkVXT1JLUyA9IDYsCisgIFY0TDJfU0NFTkVfTU9ERV9DQU5ETEVfTElHSFQgPSAzLAorICBWNEwyX1NDRU5FX01PREVfREFXTl9EVVNLID0gNCwKKyAgVjRMMl9TQ0VORV9NT0RFX0ZBTExfQ09MT1JTID0gNSwKKyAgVjRMMl9TQ0VORV9NT0RFX0ZJUkVXT1JLUyA9IDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfU0NFTkVfTU9ERV9MQU5EU0NBUEUgPSA3LAotIFY0TDJfU0NFTkVfTU9ERV9OSUdIVCA9IDgsCi0gVjRMMl9TQ0VORV9NT0RFX1BBUlRZX0lORE9PUiA9IDksCi0gVjRMMl9TQ0VORV9NT0RFX1BPUlRSQUlUID0gMTAsCisgIFY0TDJfU0NFTkVfTU9ERV9MQU5EU0NBUEUgPSA3LAorICBWNEwyX1NDRU5FX01PREVfTklHSFQgPSA4LAorICBWNEwyX1NDRU5FX01PREVfUEFSVFlfSU5ET09SID0gOSwKKyAgVjRMMl9TQ0VORV9NT0RFX1BPUlRSQUlUID0gMTAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfU0NFTkVfTU9ERV9TUE9SVFMgPSAxMSwKLSBWNEwyX1NDRU5FX01PREVfU1VOU0VUID0gMTIsCi0gVjRMMl9TQ0VORV9NT0RFX1RFWFQgPSAxMywKKyAgVjRMMl9TQ0VORV9NT0RFX1NQT1JUUyA9IDExLAorICBWNEwyX1NDRU5FX01PREVfU1VOU0VUID0gMTIsCisgIFY0TDJfU0NFTkVfTU9ERV9URVhUID0gMTMsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9DSURfM0FfTE9DSyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrMjcpCisjZGVmaW5lIFY0TDJfQ0lEXzNBX0xPQ0sgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMjcpCiAjZGVmaW5lIFY0TDJfTE9DS19FWFBPU1VSRSAoMSA8PCAwKQogI2RlZmluZSBWNEwyX0xPQ0tfV0hJVEVfQkFMQU5DRSAoMSA8PCAxKQogI2RlZmluZSBWNEwyX0xPQ0tfRk9DVVMgKDEgPDwgMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQ0lEX0FVVE9fRk9DVVNfU1RBUlQgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzI4KQotI2RlZmluZSBWNEwyX0NJRF9BVVRPX0ZPQ1VTX1NUT1AgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFKzI5KQotI2RlZmluZSBWNEwyX0NJRF9BVVRPX0ZPQ1VTX1NUQVRVUyAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UrMzApCisjZGVmaW5lIFY0TDJfQ0lEX0FVVE9fRk9DVVNfU1RBUlQgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMjgpCisjZGVmaW5lIFY0TDJfQ0lEX0FVVE9fRk9DVVNfU1RPUCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAyOSkKKyNkZWZpbmUgVjRMMl9DSURfQVVUT19GT0NVU19TVEFUVVMgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMzApCiAjZGVmaW5lIFY0TDJfQVVUT19GT0NVU19TVEFUVVNfSURMRSAoMCA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9BVVRPX0ZPQ1VTX1NUQVRVU19CVVNZICgxIDw8IDApCiAjZGVmaW5lIFY0TDJfQVVUT19GT0NVU19TVEFUVVNfUkVBQ0hFRCAoMSA8PCAxKQogI2RlZmluZSBWNEwyX0FVVE9fRk9DVVNfU1RBVFVTX0ZBSUxFRCAoMSA8PCAyKQotI2RlZmluZSBWNEwyX0NJRF9BVVRPX0ZPQ1VTX1JBTkdFIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSszMSkKKyNkZWZpbmUgVjRMMl9DSURfQVVUT19GT0NVU19SQU5HRSAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHY0bDJfYXV0b19mb2N1c19yYW5nZSB7Ci0gVjRMMl9BVVRPX0ZPQ1VTX1JBTkdFX0FVVE8gPSAwLAotIFY0TDJfQVVUT19GT0NVU19SQU5HRV9OT1JNQUwgPSAxLAotIFY0TDJfQVVUT19GT0NVU19SQU5HRV9NQUNSTyA9IDIsCisgIFY0TDJfQVVUT19GT0NVU19SQU5HRV9BVVRPID0gMCwKKyAgVjRMMl9BVVRPX0ZPQ1VTX1JBTkdFX05PUk1BTCA9IDEsCisgIFY0TDJfQVVUT19GT0NVU19SQU5HRV9NQUNSTyA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQVVUT19GT0NVU19SQU5HRV9JTkZJTklUWSA9IDMsCisgIFY0TDJfQVVUT19GT0NVU19SQU5HRV9JTkZJTklUWSA9IDMsCiB9OworI2RlZmluZSBWNEwyX0NJRF9QQU5fU1BFRUQgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMzIpCisjZGVmaW5lIFY0TDJfQ0lEX1RJTFRfU1BFRUQgKFY0TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMzMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFIChWNEwyX0NUUkxfQ0xBU1NfRk1fVFggfCAweDkwMCkKICNkZWZpbmUgVjRMMl9DSURfRk1fVFhfQ0xBU1MgKFY0TDJfQ1RSTF9DTEFTU19GTV9UWCB8IDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9SRFNfVFhfREVWSUFUSU9OIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgMSkKICNkZWZpbmUgVjRMMl9DSURfUkRTX1RYX1BJIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX1JEU19UWF9QVFkgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyAzKQogI2RlZmluZSBWNEwyX0NJRF9SRFNfVFhfUFNfTkFNRSAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9SRFNfVFhfUkFESU9fVEVYVCAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDYpCisjZGVmaW5lIFY0TDJfQ0lEX1JEU19UWF9NT05PX1NURVJFTyAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9SRFNfVFhfQVJUSUZJQ0lBTF9IRUFEIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgOCkKKyNkZWZpbmUgVjRMMl9DSURfUkRTX1RYX0NPTVBSRVNTRUQgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyA5KQorI2RlZmluZSBWNEwyX0NJRF9SRFNfVFhfRFlOQU1JQ19QVFkgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyAxMCkKKyNkZWZpbmUgVjRMMl9DSURfUkRTX1RYX1RSQUZGSUNfQU5OT1VOQ0VNRU5UIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgMTEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9SRFNfVFhfVFJBRkZJQ19QUk9HUkFNIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgMTIpCisjZGVmaW5lIFY0TDJfQ0lEX1JEU19UWF9NVVNJQ19TUEVFQ0ggKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyAxMykKKyNkZWZpbmUgVjRMMl9DSURfUkRTX1RYX0FMVF9GUkVRU19FTkFCTEUgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyAxNCkKKyNkZWZpbmUgVjRMMl9DSURfUkRTX1RYX0FMVF9GUkVRUyAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDE1KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfQVVESU9fTElNSVRFUl9FTkFCTEVEIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgNjQpCiAjZGVmaW5lIFY0TDJfQ0lEX0FVRElPX0xJTUlURVJfUkVMRUFTRV9USU1FIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgNjUpCiAjZGVmaW5lIFY0TDJfQ0lEX0FVRElPX0xJTUlURVJfREVWSUFUSU9OIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgNjYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9BVURJT19DT01QUkVTU0lPTl9FTkFCTEVEIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgODApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9BVURJT19DT01QUkVTU0lPTl9HQUlOIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgODEpCiAjZGVmaW5lIFY0TDJfQ0lEX0FVRElPX0NPTVBSRVNTSU9OX1RIUkVTSE9MRCAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDgyKQogI2RlZmluZSBWNEwyX0NJRF9BVURJT19DT01QUkVTU0lPTl9BVFRBQ0tfVElNRSAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDgzKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfQVVESU9fQ09NUFJFU1NJT05fUkVMRUFTRV9USU1FIChWNEwyX0NJRF9GTV9UWF9DTEFTU19CQVNFICsgODQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9QSUxPVF9UT05FX0VOQUJMRUQgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyA5NikKICNkZWZpbmUgVjRMMl9DSURfUElMT1RfVE9ORV9ERVZJQVRJT04gKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyA5NykKICNkZWZpbmUgVjRMMl9DSURfUElMT1RfVE9ORV9GUkVRVUVOQ1kgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyA5OCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX1RVTkVfUFJFRU1QSEFTSVMgKFY0TDJfQ0lEX0ZNX1RYX0NMQVNTX0JBU0UgKyAxMTIpCi1lbnVtIHY0bDJfcHJlZW1waGFzaXMgewotIFY0TDJfUFJFRU1QSEFTSVNfRElTQUJMRUQgPSAwLAotIFY0TDJfUFJFRU1QSEFTSVNfNTBfdVMgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX1BSRUVNUEhBU0lTXzc1X3VTID0gMiwKK2VudW0gdjRsMl9wcmVlbXBoYXNpcyB7CisgIFY0TDJfUFJFRU1QSEFTSVNfRElTQUJMRUQgPSAwLAorICBWNEwyX1BSRUVNUEhBU0lTXzUwX3VTID0gMSwKKyAgVjRMMl9QUkVFTVBIQVNJU183NV91UyA9IDIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVjRMMl9DSURfVFVORV9QT1dFUl9MRVZFTCAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDExMykKICNkZWZpbmUgVjRMMl9DSURfVFVORV9BTlRFTk5BX0NBUEFDSVRPUiAoVjRMMl9DSURfRk1fVFhfQ0xBU1NfQkFTRSArIDExNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0ZMQVNIX0NMQVNTX0JBU0UgKFY0TDJfQ1RSTF9DTEFTU19GTEFTSCB8IDB4OTAwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfQ0xBU1MgKFY0TDJfQ1RSTF9DTEFTU19GTEFTSCB8IDEpCiAjZGVmaW5lIFY0TDJfQ0lEX0ZMQVNIX0xFRF9NT0RFIChWNEwyX0NJRF9GTEFTSF9DTEFTU19CQVNFICsgMSkKIGVudW0gdjRsMl9mbGFzaF9sZWRfbW9kZSB7CisgIFY0TDJfRkxBU0hfTEVEX01PREVfTk9ORSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9GTEFTSF9MRURfTU9ERV9OT05FLAotIFY0TDJfRkxBU0hfTEVEX01PREVfRkxBU0gsCi0gVjRMMl9GTEFTSF9MRURfTU9ERV9UT1JDSCwKKyAgVjRMMl9GTEFTSF9MRURfTU9ERV9GTEFTSCwKKyAgVjRMMl9GTEFTSF9MRURfTU9ERV9UT1JDSCwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9GTEFTSF9TVFJPQkVfU09VUkNFIChWNEwyX0NJRF9GTEFTSF9DTEFTU19CQVNFICsgMikKLWVudW0gdjRsMl9mbGFzaF9zdHJvYmVfc291cmNlIHsKLSBWNEwyX0ZMQVNIX1NUUk9CRV9TT1VSQ0VfU09GVFdBUkUsCi0gVjRMMl9GTEFTSF9TVFJPQkVfU09VUkNFX0VYVEVSTkFMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK2VudW0gdjRsMl9mbGFzaF9zdHJvYmVfc291cmNlIHsKKyAgVjRMMl9GTEFTSF9TVFJPQkVfU09VUkNFX1NPRlRXQVJFLAorICBWNEwyX0ZMQVNIX1NUUk9CRV9TT1VSQ0VfRVhURVJOQUwsCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfU1RST0JFIChWNEwyX0NJRF9GTEFTSF9DTEFTU19CQVNFICsgMykKICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfU1RST0JFX1NUT1AgKFY0TDJfQ0lEX0ZMQVNIX0NMQVNTX0JBU0UgKyA0KQogI2RlZmluZSBWNEwyX0NJRF9GTEFTSF9TVFJPQkVfU1RBVFVTIChWNEwyX0NJRF9GTEFTSF9DTEFTU19CQVNFICsgNSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0ZMQVNIX1RJTUVPVVQgKFY0TDJfQ0lEX0ZMQVNIX0NMQVNTX0JBU0UgKyA2KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfSU5URU5TSVRZIChWNEwyX0NJRF9GTEFTSF9DTEFTU19CQVNFICsgNykKICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfVE9SQ0hfSU5URU5TSVRZIChWNEwyX0NJRF9GTEFTSF9DTEFTU19CQVNFICsgOCkKICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfSU5ESUNBVE9SX0lOVEVOU0lUWSAoVjRMMl9DSURfRkxBU0hfQ0xBU1NfQkFTRSArIDkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9GTEFTSF9GQVVMVCAoVjRMMl9DSURfRkxBU0hfQ0xBU1NfQkFTRSArIDEwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9GTEFTSF9GQVVMVF9PVkVSX1ZPTFRBR0UgKDEgPDwgMCkKICNkZWZpbmUgVjRMMl9GTEFTSF9GQVVMVF9USU1FT1VUICgxIDw8IDEpCiAjZGVmaW5lIFY0TDJfRkxBU0hfRkFVTFRfT1ZFUl9URU1QRVJBVFVSRSAoMSA8PCAyKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9GTEFTSF9GQVVMVF9TSE9SVF9DSVJDVUlUICgxIDw8IDMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0ZMQVNIX0ZBVUxUX09WRVJfQ1VSUkVOVCAoMSA8PCA0KQogI2RlZmluZSBWNEwyX0ZMQVNIX0ZBVUxUX0lORElDQVRPUiAoMSA8PCA1KQotI2RlZmluZSBWNEwyX0NJRF9GTEFTSF9DSEFSR0UgKFY0TDJfQ0lEX0ZMQVNIX0NMQVNTX0JBU0UgKyAxMSkKKyNkZWZpbmUgVjRMMl9GTEFTSF9GQVVMVF9VTkRFUl9WT0xUQUdFICgxIDw8IDYpCisjZGVmaW5lIFY0TDJfRkxBU0hfRkFVTFRfSU5QVVRfVk9MVEFHRSAoMSA8PCA3KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9GTEFTSF9GQVVMVF9MRURfT1ZFUl9URU1QRVJBVFVSRSAoMSA8PCA4KQorI2RlZmluZSBWNEwyX0NJRF9GTEFTSF9DSEFSR0UgKFY0TDJfQ0lEX0ZMQVNIX0NMQVNTX0JBU0UgKyAxMSkKICNkZWZpbmUgVjRMMl9DSURfRkxBU0hfUkVBRFkgKFY0TDJfQ0lEX0ZMQVNIX0NMQVNTX0JBU0UgKyAxMikKICNkZWZpbmUgVjRMMl9DSURfSlBFR19DTEFTU19CQVNFIChWNEwyX0NUUkxfQ0xBU1NfSlBFRyB8IDB4OTAwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSURfSlBFR19DTEFTUyAoVjRMMl9DVFJMX0NMQVNTX0pQRUcgfCAxKQogI2RlZmluZSBWNEwyX0NJRF9KUEVHX0NIUk9NQV9TVUJTQU1QTElORyAoVjRMMl9DSURfSlBFR19DTEFTU19CQVNFICsgMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHY0bDJfanBlZ19jaHJvbWFfc3Vic2FtcGxpbmcgewotIFY0TDJfSlBFR19DSFJPTUFfU1VCU0FNUExJTkdfNDQ0ID0gMCwKLSBWNEwyX0pQRUdfQ0hST01BX1NVQlNBTVBMSU5HXzQyMiA9IDEsCi0gVjRMMl9KUEVHX0NIUk9NQV9TVUJTQU1QTElOR180MjAgPSAyLAorICBWNEwyX0pQRUdfQ0hST01BX1NVQlNBTVBMSU5HXzQ0NCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfSlBFR19DSFJPTUFfU1VCU0FNUExJTkdfNDExID0gMywKLSBWNEwyX0pQRUdfQ0hST01BX1NVQlNBTVBMSU5HXzQxMCA9IDQsCi0gVjRMMl9KUEVHX0NIUk9NQV9TVUJTQU1QTElOR19HUkFZID0gNSwKKyAgVjRMMl9KUEVHX0NIUk9NQV9TVUJTQU1QTElOR180MjIgPSAxLAorICBWNEwyX0pQRUdfQ0hST01BX1NVQlNBTVBMSU5HXzQyMCA9IDIsCisgIFY0TDJfSlBFR19DSFJPTUFfU1VCU0FNUExJTkdfNDExID0gMywKKyAgVjRMMl9KUEVHX0NIUk9NQV9TVUJTQU1QTElOR180MTAgPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9KUEVHX0NIUk9NQV9TVUJTQU1QTElOR19HUkFZID0gNSwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9KUEVHX1JFU1RBUlRfSU5URVJWQUwgKFY0TDJfQ0lEX0pQRUdfQ0xBU1NfQkFTRSArIDIpCiAjZGVmaW5lIFY0TDJfQ0lEX0pQRUdfQ09NUFJFU1NJT05fUVVBTElUWSAoVjRMMl9DSURfSlBFR19DTEFTU19CQVNFICsgMykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0pQRUdfQUNUSVZFX01BUktFUiAoVjRMMl9DSURfSlBFR19DTEFTU19CQVNFICsgNCkKICNkZWZpbmUgVjRMMl9KUEVHX0FDVElWRV9NQVJLRVJfQVBQMCAoMSA8PCAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9KUEVHX0FDVElWRV9NQVJLRVJfQVBQMSAoMSA8PCAxKQogI2RlZmluZSBWNEwyX0pQRUdfQUNUSVZFX01BUktFUl9DT00gKDEgPDwgMTYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0pQRUdfQUNUSVZFX01BUktFUl9EUVQgKDEgPDwgMTcpCiAjZGVmaW5lIFY0TDJfSlBFR19BQ1RJVkVfTUFSS0VSX0RIVCAoMSA8PCAxOCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0lNQUdFX1NPVVJDRV9DTEFTU19CQVNFIChWNEwyX0NUUkxfQ0xBU1NfSU1BR0VfU09VUkNFIHwgMHg5MDApCiAjZGVmaW5lIFY0TDJfQ0lEX0lNQUdFX1NPVVJDRV9DTEFTUyAoVjRMMl9DVFJMX0NMQVNTX0lNQUdFX1NPVVJDRSB8IDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9WQkxBTksgKFY0TDJfQ0lEX0lNQUdFX1NPVVJDRV9DTEFTU19CQVNFICsgMSkKICNkZWZpbmUgVjRMMl9DSURfSEJMQU5LIChWNEwyX0NJRF9JTUFHRV9TT1VSQ0VfQ0xBU1NfQkFTRSArIDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9BTkFMT0dVRV9HQUlOIChWNEwyX0NJRF9JTUFHRV9TT1VSQ0VfQ0xBU1NfQkFTRSArIDMpCisjZGVmaW5lIFY0TDJfQ0lEX1RFU1RfUEFUVEVSTl9SRUQgKFY0TDJfQ0lEX0lNQUdFX1NPVVJDRV9DTEFTU19CQVNFICsgNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0lEX1RFU1RfUEFUVEVSTl9HUkVFTlIgKFY0TDJfQ0lEX0lNQUdFX1NPVVJDRV9DTEFTU19CQVNFICsgNSkKKyNkZWZpbmUgVjRMMl9DSURfVEVTVF9QQVRURVJOX0JMVUUgKFY0TDJfQ0lEX0lNQUdFX1NPVVJDRV9DTEFTU19CQVNFICsgNikKKyNkZWZpbmUgVjRMMl9DSURfVEVTVF9QQVRURVJOX0dSRUVOQiAoVjRMMl9DSURfSU1BR0VfU09VUkNFX0NMQVNTX0JBU0UgKyA3KQogI2RlZmluZSBWNEwyX0NJRF9JTUFHRV9QUk9DX0NMQVNTX0JBU0UgKFY0TDJfQ1RSTF9DTEFTU19JTUFHRV9QUk9DIHwgMHg5MDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NJRF9JTUFHRV9QUk9DX0NMQVNTIChWNEwyX0NUUkxfQ0xBU1NfSU1BR0VfUFJPQyB8IDEpCiAjZGVmaW5lIFY0TDJfQ0lEX0xJTktfRlJFUSAoVjRMMl9DSURfSU1BR0VfUFJPQ19DTEFTU19CQVNFICsgMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX1BJWEVMX1JBVEUgKFY0TDJfQ0lEX0lNQUdFX1BST0NfQ0xBU1NfQkFTRSArIDIpCiAjZGVmaW5lIFY0TDJfQ0lEX1RFU1RfUEFUVEVSTiAoVjRMMl9DSURfSU1BR0VfUFJPQ19DTEFTU19CQVNFICsgMykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0RWX0NMQVNTX0JBU0UgKFY0TDJfQ1RSTF9DTEFTU19EViB8IDB4OTAwKQogI2RlZmluZSBWNEwyX0NJRF9EVl9DTEFTUyAoVjRMMl9DVFJMX0NMQVNTX0RWIHwgMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0RWX1RYX0hPVFBMVUcgKFY0TDJfQ0lEX0RWX0NMQVNTX0JBU0UgKyAxKQogI2RlZmluZSBWNEwyX0NJRF9EVl9UWF9SWFNFTlNFIChWNEwyX0NJRF9EVl9DTEFTU19CQVNFICsgMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0RWX1RYX0VESURfUFJFU0VOVCAoVjRMMl9DSURfRFZfQ0xBU1NfQkFTRSArIDMpCiAjZGVmaW5lIFY0TDJfQ0lEX0RWX1RYX01PREUgKFY0TDJfQ0lEX0RWX0NMQVNTX0JBU0UgKyA0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9kdl90eF9tb2RlIHsKLSBWNEwyX0RWX1RYX01PREVfRFZJX0QgPSAwLAotIFY0TDJfRFZfVFhfTU9ERV9IRE1JID0gMSwKLX07CisgIFY0TDJfRFZfVFhfTU9ERV9EVklfRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWNEwyX0RWX1RYX01PREVfSERNSSA9IDEsCit9OwogI2RlZmluZSBWNEwyX0NJRF9EVl9UWF9SR0JfUkFOR0UgKFY0TDJfQ0lEX0RWX0NMQVNTX0JBU0UgKyA1KQogZW51bSB2NGwyX2R2X3JnYl9yYW5nZSB7Ci0gVjRMMl9EVl9SR0JfUkFOR0VfQVVUTyA9IDAsCi0gVjRMMl9EVl9SR0JfUkFOR0VfTElNSVRFRCA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfRFZfUkdCX1JBTkdFX0ZVTEwgPSAyLAorICBWNEwyX0RWX1JHQl9SQU5HRV9BVVRPID0gMCwKKyAgVjRMMl9EVl9SR0JfUkFOR0VfTElNSVRFRCA9IDEsCisgIFY0TDJfRFZfUkdCX1JBTkdFX0ZVTEwgPSAyLAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0RWX1JYX1BPV0VSX1BSRVNFTlQgKFY0TDJfQ0lEX0RWX0NMQVNTX0JBU0UgKyAxMDApCiAjZGVmaW5lIFY0TDJfQ0lEX0RWX1JYX1JHQl9SQU5HRSAoVjRMMl9DSURfRFZfQ0xBU1NfQkFTRSArIDEwMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX0ZNX1JYX0NMQVNTX0JBU0UgKFY0TDJfQ1RSTF9DTEFTU19GTV9SWCB8IDB4OTAwKQogI2RlZmluZSBWNEwyX0NJRF9GTV9SWF9DTEFTUyAoVjRMMl9DVFJMX0NMQVNTX0ZNX1JYIHwgMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX1RVTkVfREVFTVBIQVNJUyAoVjRMMl9DSURfRk1fUlhfQ0xBU1NfQkFTRSArIDEpCiBlbnVtIHY0bDJfZGVlbXBoYXNpcyB7CisgIFY0TDJfREVFTVBIQVNJU19ESVNBQkxFRCA9IFY0TDJfUFJFRU1QSEFTSVNfRElTQUJMRUQsCisgIFY0TDJfREVFTVBIQVNJU181MF91UyA9IFY0TDJfUFJFRU1QSEFTSVNfNTBfdVMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfREVFTVBIQVNJU19ESVNBQkxFRCA9IFY0TDJfUFJFRU1QSEFTSVNfRElTQUJMRUQsCi0gVjRMMl9ERUVNUEhBU0lTXzUwX3VTID0gVjRMMl9QUkVFTVBIQVNJU181MF91UywKLSBWNEwyX0RFRU1QSEFTSVNfNzVfdVMgPSBWNEwyX1BSRUVNUEhBU0lTXzc1X3VTLAorICBWNEwyX0RFRU1QSEFTSVNfNzVfdVMgPSBWNEwyX1BSRUVNUEhBU0lTXzc1X3VTLAogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0lEX1JEU19SRUNFUFRJT04gKFY0TDJfQ0lEX0ZNX1JYX0NMQVNTX0JBU0UgKyAyKQorI2RlZmluZSBWNEwyX0NJRF9SRFNfUlhfUFRZIChWNEwyX0NJRF9GTV9SWF9DTEFTU19CQVNFICsgMykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0lEX1JEU19SWF9QU19OQU1FIChWNEwyX0NJRF9GTV9SWF9DTEFTU19CQVNFICsgNCkKKyNkZWZpbmUgVjRMMl9DSURfUkRTX1JYX1JBRElPX1RFWFQgKFY0TDJfQ0lEX0ZNX1JYX0NMQVNTX0JBU0UgKyA1KQorI2RlZmluZSBWNEwyX0NJRF9SRFNfUlhfVFJBRkZJQ19BTk5PVU5DRU1FTlQgKFY0TDJfQ0lEX0ZNX1JYX0NMQVNTX0JBU0UgKyA2KQorI2RlZmluZSBWNEwyX0NJRF9SRFNfUlhfVFJBRkZJQ19QUk9HUkFNIChWNEwyX0NJRF9GTV9SWF9DTEFTU19CQVNFICsgNykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0lEX1JEU19SWF9NVVNJQ19TUEVFQ0ggKFY0TDJfQ0lEX0ZNX1JYX0NMQVNTX0JBU0UgKyA4KQorI2RlZmluZSBWNEwyX0NJRF9SRl9UVU5FUl9DTEFTU19CQVNFIChWNEwyX0NUUkxfQ0xBU1NfUkZfVFVORVIgfCAweDkwMCkKKyNkZWZpbmUgVjRMMl9DSURfUkZfVFVORVJfQ0xBU1MgKFY0TDJfQ1RSTF9DTEFTU19SRl9UVU5FUiB8IDEpCisjZGVmaW5lIFY0TDJfQ0lEX1JGX1RVTkVSX0JBTkRXSURUSF9BVVRPIChWNEwyX0NJRF9SRl9UVU5FUl9DTEFTU19CQVNFICsgMTEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NJRF9SRl9UVU5FUl9CQU5EV0lEVEggKFY0TDJfQ0lEX1JGX1RVTkVSX0NMQVNTX0JBU0UgKyAxMikKKyNkZWZpbmUgVjRMMl9DSURfUkZfVFVORVJfTE5BX0dBSU5fQVVUTyAoVjRMMl9DSURfUkZfVFVORVJfQ0xBU1NfQkFTRSArIDQxKQorI2RlZmluZSBWNEwyX0NJRF9SRl9UVU5FUl9MTkFfR0FJTiAoVjRMMl9DSURfUkZfVFVORVJfQ0xBU1NfQkFTRSArIDQyKQorI2RlZmluZSBWNEwyX0NJRF9SRl9UVU5FUl9NSVhFUl9HQUlOX0FVVE8gKFY0TDJfQ0lEX1JGX1RVTkVSX0NMQVNTX0JBU0UgKyA1MSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0lEX1JGX1RVTkVSX01JWEVSX0dBSU4gKFY0TDJfQ0lEX1JGX1RVTkVSX0NMQVNTX0JBU0UgKyA1MikKKyNkZWZpbmUgVjRMMl9DSURfUkZfVFVORVJfSUZfR0FJTl9BVVRPIChWNEwyX0NJRF9SRl9UVU5FUl9DTEFTU19CQVNFICsgNjEpCisjZGVmaW5lIFY0TDJfQ0lEX1JGX1RVTkVSX0lGX0dBSU4gKFY0TDJfQ0lEX1JGX1RVTkVSX0NMQVNTX0JBU0UgKyA2MikKKyNkZWZpbmUgVjRMMl9DSURfUkZfVFVORVJfUExMX0xPQ0sgKFY0TDJfQ0lEX1JGX1RVTkVSX0NMQVNTX0JBU0UgKyA5MSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0lEX0RFVEVDVF9DTEFTU19CQVNFIChWNEwyX0NUUkxfQ0xBU1NfREVURUNUIHwgMHg5MDApCisjZGVmaW5lIFY0TDJfQ0lEX0RFVEVDVF9DTEFTUyAoVjRMMl9DVFJMX0NMQVNTX0RFVEVDVCB8IDEpCisjZGVmaW5lIFY0TDJfQ0lEX0RFVEVDVF9NRF9NT0RFIChWNEwyX0NJRF9ERVRFQ1RfQ0xBU1NfQkFTRSArIDEpCitlbnVtIHY0bDJfZGV0ZWN0X21kX21vZGUgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9ERVRFQ1RfTURfTU9ERV9ESVNBQkxFRCA9IDAsCisgIFY0TDJfREVURUNUX01EX01PREVfR0xPQkFMID0gMSwKKyAgVjRMMl9ERVRFQ1RfTURfTU9ERV9USFJFU0hPTERfR1JJRCA9IDIsCisgIFY0TDJfREVURUNUX01EX01PREVfUkVHSU9OX0dSSUQgPSAzLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CisjZGVmaW5lIFY0TDJfQ0lEX0RFVEVDVF9NRF9HTE9CQUxfVEhSRVNIT0xEIChWNEwyX0NJRF9ERVRFQ1RfQ0xBU1NfQkFTRSArIDIpCisjZGVmaW5lIFY0TDJfQ0lEX0RFVEVDVF9NRF9USFJFU0hPTERfR1JJRCAoVjRMMl9DSURfREVURUNUX0NMQVNTX0JBU0UgKyAzKQorI2RlZmluZSBWNEwyX0NJRF9ERVRFQ1RfTURfUkVHSU9OX0dSSUQgKFY0TDJfQ0lEX0RFVEVDVF9DTEFTU19CQVNFICsgNCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1kdi10aW1pbmdzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItZHYtdGltaW5ncy5oCmluZGV4IGJiMTM3NGEuLmE0ZjkxZWMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1kdi10aW1pbmdzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92NGwyLWR2LXRpbWluZ3MuaApAQCAtMTksMTM4ICsxOSwyNjUgQEAKICNpZm5kZWYgX1Y0TDJfRFZfVElNSU5HU19ICiAjZGVmaW5lIF9WNEwyX0RWX1RJTUlOR1NfSAogI2lmIF9fR05VQ19fIDwgNCB8fCBfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fIDwgNgotI2RlZmluZSBWNEwyX0lOSVRfQlRfVElNSU5HUyhfd2lkdGgsIGFyZ3MuLi4pICAgeyAuYnQgPSB7IF93aWR0aCAsICMjIGFyZ3MgfSB9CisjZGVmaW5lIFY0TDJfSU5JVF9CVF9USU1JTkdTKF93aWR0aCxhcmdzLi4uKSB7LmJ0ID0geyBfd2lkdGgsICMjYXJncyB9IH0KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZWxzZQotI2RlZmluZSBWNEwyX0lOSVRfQlRfVElNSU5HUyhfd2lkdGgsIGFyZ3MuLi4pICAgLmJ0ID0geyBfd2lkdGggLCAjIyBhcmdzIH0KKyNkZWZpbmUgVjRMMl9JTklUX0JUX1RJTUlOR1MoX3dpZHRoLGFyZ3MuLi4pIC4gYnQgPSB7IF93aWR0aCwgIyNhcmdzIH0KICNlbmRpZgotI2RlZmluZSBWNEwyX0RWX0JUX0NFQV82NDBYNDgwUDU5Xzk0IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoNjQwLCA0ODAsIDAsIDAsICAgMjUxNzUwMDAsIDE2LCA5NiwgNDgsIDEwLCAyLCAzMywgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApICB9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzY0MFg0ODBQNTlfOTQgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNjQwLCA0ODAsIDAsIDAsIDI1MTc1MDAwLCAxNiwgOTYsIDQ4LCAxMCwgMiwgMzMsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfNzIwWDQ4MEk1OV85NCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDcyMCwgNDgwLCAxLCAwLCAgIDEzNTAwMDAwLCAxOSwgNjIsIDU3LCA0LCAzLCAxNSwgNCwgMywgMTYsICAgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCBWNEwyX0RWX0ZMX0hBTEZfTElORSkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfNzIwWDQ4MFA1OV85NCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDcyMCwgNDgwLCAwLCAwLCAgIDI3MDAwMDAwLCAxNiwgNjIsIDYwLCA5LCA2LCAzMCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzcyMFg1NzZJNTAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg3MjAsIDU3NiwgMSwgMCwgICAxMzUwMDAwMCwgMTIsIDYzLCA2OSwgMiwgMywgMTksIDIsIDMsIDIwLCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9IQUxGX0xJTkUpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzcyMFg1NzZQNTAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg3MjAsIDU3NiwgMCwgMCwgICAyNzAwMDAwMCwgMTIsIDY0LCA2OCwgNSwgNSwgMzksIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV83MjBYNDgwSTU5Xzk0IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDcyMCwgNDgwLCAxLCAwLCAxMzUwMDAwMCwgMTksIDYyLCA1NywgNCwgMywgMTUsIDQsIDMsIDE2LCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfSEFMRl9MSU5FKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzcyMFg0ODBQNTlfOTQgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNzIwLCA0ODAsIDAsIDAsIDI3MDAwMDAwLCAxNiwgNjIsIDYwLCA5LCA2LCAzMCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzcyMFg1NzZJNTAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNzIwLCA1NzYsIDEsIDAsIDEzNTAwMDAwLCAxMiwgNjMsIDY5LCAyLCAzLCAxOSwgMiwgMywgMjAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9IQUxGX0xJTkUpIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfNzIwWDU3NlA1MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUyg3MjAsIDU3NiwgMCwgMCwgMjcwMDAwMDAsIDEyLCA2NCwgNjgsIDUsIDUsIDM5LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzEyODBYNzIwUDI0IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzIwLCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA1OTQwMDAwMCwgMTc2MCwgNDAsIDIyMCwgNSwgNSwgMjAsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAgIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzEyODBYNzIwUDI1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzIwLCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA3NDI1MDAwMCwgMjQyMCwgNDAsIDIyMCwgNSwgNSwgMjAsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8xMjgwWDcyMFAzMCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDcyMCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgNzQyNTAwMDAsIDE3NjAsIDQwLCAyMjAsIDUsIDUsIDIwLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTI4MFg3MjBQNTAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA3MjAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDc0MjUwMDAwLCA0NDAsIDQwLCAyMjAsIDUsIDUsIDIwLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTI4MFg3MjBQMjQgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzIwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDU5NDAwMDAwLCAxNzYwLCA0MCwgMjIwLCA1LCA1LCAyMCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCBWNEwyX0RWX0ZMX0NBTl9SRURVQ0VfRlBTKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzEyODBYNzIwUDI1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDcyMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA3NDI1MDAwMCwgMjQyMCwgNDAsIDIyMCwgNSwgNSwgMjAsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8xMjgwWDcyMFAzMCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA3MjAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgNzQyNTAwMDAsIDE3NjAsIDQwLCAyMjAsIDUsIDUsIDIwLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTI4MFg3MjBQNTAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzIwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDc0MjUwMDAwLCA0NDAsIDQwLCAyMjAsIDUsIDUsIDIwLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzEyODBYNzIwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzIwLCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA3NDI1MDAwMCwgMTEwLCA0MCwgMjIwLCA1LCA1LCAyMCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzE5MjBYMTA4MFAyNCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDc0MjUwMDAwLCA2MzgsIDQ0LCAxNDgsIDQsIDUsIDM2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTkyMFgxMDgwUDI1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTA4MCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgNzQyNTAwMDAsIDUyOCwgNDQsIDE0OCwgNCwgNSwgMzYsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8xOTIwWDEwODBQMzAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMDgwLCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA3NDI1MDAwMCwgODgsIDQ0LCAxNDgsIDQsIDUsIDM2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTI4MFg3MjBQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzIwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDc0MjUwMDAwLCAxMTAsIDQwLCAyMjAsIDUsIDUsIDIwLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTkyMFgxMDgwUDI0IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgNzQyNTAwMDAsIDYzOCwgNDQsIDE0OCwgNCwgNSwgMzYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8xOTIwWDEwODBQMjUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTA4MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA3NDI1MDAwMCwgNTI4LCA0NCwgMTQ4LCA0LCA1LCAzNiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzE5MjBYMTA4MFAzMCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMDgwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDc0MjUwMDAwLCA4OCwgNDQsIDE0OCwgNCwgNSwgMzYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTkyMFgxMDgwSTUwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTA4MCwgMSwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgNzQyNTAwMDAsIDUyOCwgNDQsIDE0OCwgMiwgNSwgMTUsIDIsIDUsIDE2LCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9IQUxGX0xJTkUpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzE5MjBYMTA4MFA1MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE0ODUwMDAwMCwgNTI4LCA0NCwgMTQ4LCA0LCA1LCAzNiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzE5MjBYMTA4MEk2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDEsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDc0MjUwMDAwLCA4OCwgNDQsIDE0OCwgMiwgNSwgMTUsIDIsIDUsIDE2LCAgIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgICBWNEwyX0RWX0ZMX0NBTl9SRURVQ0VfRlBTIHwgVjRMMl9EVl9GTF9IQUxGX0xJTkUpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzE5MjBYMTA4MFA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE0ODUwMDAwMCwgODgsIDQ0LCAxNDgsIDQsIDUsIDM2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgICBWNEwyX0RWX0ZMX0NBTl9SRURVQ0VfRlBTKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8xOTIwWDEwODBJNTAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTA4MCwgMSwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA3NDI1MDAwMCwgNTI4LCA0NCwgMTQ4LCAyLCA1LCAxNSwgMiwgNSwgMTYsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9IQUxGX0xJTkUpIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTkyMFgxMDgwUDUwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMTQ4NTAwMDAwLCA1MjgsIDQ0LCAxNDgsIDQsIDUsIDM2LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMTkyMFgxMDgwSTYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEwODAsIDEsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgNzQyNTAwMDAsIDg4LCA0NCwgMTQ4LCAyLCA1LCAxNSwgMiwgNSwgMTYsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUyB8IFY0TDJfRFZfRkxfSEFMRl9MSU5FKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzE5MjBYMTA4MFA2MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMDgwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDE0ODUwMDAwMCwgODgsIDQ0LCAxNDgsIDQsIDUsIDM2LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzY0MFgzNTBQODUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg2NDAsIDM1MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDMxNTAwMDAwLCAzMiwgNjQsIDk2LCAzMiwgMywgNjAsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF82NDBYNDAwUDg1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoNjQwLCA0MDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAzMTUwMDAwMCwgMzIsIDY0LCA5NiwgMSwgMywgNDEsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF83MjBYNDAwUDg1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoNzIwLCA0MDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAzNTUwMDAwMCwgMzYsIDcyLCAxMDgsIDEsIDMsIDQyLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfMzg0MFgyMTYwUDI0IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDM4NDAsIDIxNjAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgMjk3MDAwMDAwLCAxMjc2LCA4OCwgMjk2LCA4LCAxMCwgNzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8zODQwWDIxNjBQMjUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMzg0MCwgMjE2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAyOTcwMDAwMDAsIDEwNTYsIDg4LCAyOTYsIDgsIDEwLCA3MiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzM4NDBYMjE2MFAzMCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygzODQwLCAyMTYwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDI5NzAwMDAwMCwgMTc2LCA4OCwgMjk2LCA4LCAxMCwgNzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8zODQwWDIxNjBQNTAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMzg0MCwgMjE2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA1OTQwMDAwMDAsIDEwNTYsIDg4LCAyOTYsIDgsIDEwLCA3MiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfQ0VBODYxLCAwKSBcCit9CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0RWX0JUX0NFQV8zODQwWDIxNjBQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMzg0MCwgMjE2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA1OTQwMDAwMDAsIDE3NiwgODgsIDI5NiwgOCwgMTAsIDcyLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfNDA5NlgyMTYwUDI0IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDQwOTYsIDIxNjAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgMjk3MDAwMDAwLCAxMDIwLCA4OCwgMjk2LCA4LCAxMCwgNzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV80MDk2WDIxNjBQMjUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNDA5NiwgMjE2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAyOTcwMDAwMDAsIDk2OCwgODgsIDEyOCwgOCwgMTAsIDcyLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9DRUFfNDA5NlgyMTYwUDMwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDQwOTYsIDIxNjAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgMjk3MDAwMDAwLCA4OCwgODgsIDEyOCwgOCwgMTAsIDcyLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9DRUE4NjEsIFY0TDJfRFZfRkxfQ0FOX1JFRFVDRV9GUFMpIFwKK30KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfRFZfQlRfQ0VBXzQwOTZYMjE2MFA1MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUyg0MDk2LCAyMTYwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDU5NDAwMDAwMCwgOTY4LCA4OCwgMTI4LCA4LCAxMCwgNzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0NFQV80MDk2WDIxNjBQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNDA5NiwgMjE2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA1OTQwMDAwMDAsIDg4LCA4OCwgMTI4LCA4LCAxMCwgNzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0NFQTg2MSwgVjRMMl9EVl9GTF9DQU5fUkVEVUNFX0ZQUykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF82NDBYMzUwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDY0MCwgMzUwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDMxNTAwMDAwLCAzMiwgNjQsIDk2LCAzMiwgMywgNjAsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF82NDBYNDAwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDY0MCwgNDAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDMxNTAwMDAwLCAzMiwgNjQsIDk2LCAxLCAzLCA0MSwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0RWX0JUX0RNVF83MjBYNDAwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDcyMCwgNDAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDM1NTAwMDAwLCAzNiwgNzIsIDEwOCwgMSwgMywgNDIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQogI2RlZmluZSBWNEwyX0RWX0JUX0RNVF82NDBYNDgwUDYwIFY0TDJfRFZfQlRfQ0VBXzY0MFg0ODBQNTlfOTQKKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfNjQwWDQ4MFA3MiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUyg2NDAsIDQ4MCwgMCwgMCwgMzE1MDAwMDAsIDI0LCA0MCwgMTI4LCA5LCAzLCAyOCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzY0MFg0ODBQNzUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNjQwLCA0ODAsIDAsIDAsIDMxNTAwMDAwLCAxNiwgNjQsIDEyMCwgMSwgMywgMTYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfNjQwWDQ4MFA3MiB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDY0MCwgNDgwLCAwLCAwLCAgIDMxNTAwMDAwLCAyNCwgNDAsIDEyOCwgOSwgMywgMjgsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF82NDBYNDgwUDc1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoNjQwLCA0ODAsIDAsIDAsICAgMzE1MDAwMDAsIDE2LCA2NCwgMTIwLCAxLCAzLCAxNiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzY0MFg0ODBQODUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg2NDAsIDQ4MCwgMCwgMCwgICAzNjAwMDAwMCwgNTYsIDU2LCA4MCwgMSwgMywgMjUsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDU2IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoODAwLCA2MDAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDM2MDAwMDAwLCAyNCwgNzIsIDEyOCwgMSwgMiwgMjIsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF82NDBYNDgwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDY0MCwgNDgwLCAwLCAwLCAzNjAwMDAwMCwgNTYsIDU2LCA4MCwgMSwgMywgMjUsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDU2IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDgwMCwgNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDM2MDAwMDAwLCAyNCwgNzIsIDEyOCwgMSwgMiwgMjIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDgwMCwgNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDQwMDAwMDAwLCA0MCwgMTI4LCA4OCwgMSwgNCwgMjMsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDcyIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDgwMCwgNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDUwMDAwMDAwLCA1NiwgMTIwLCA2NCwgMzcsIDYsIDIzLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzgwMFg2MDBQNjAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg4MDAsIDYwMCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgNDAwMDAwMDAsIDQwLCAxMjgsIDg4LCAxLCA0LCAyMywgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzgwMFg2MDBQNzIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg4MDAsIDYwMCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgNTAwMDAwMDAsIDU2LCAxMjAsIDY0LCAzNywgNiwgMjMsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDc1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoODAwLCA2MDAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDQ5NTAwMDAwLCAxNiwgODAsIDE2MCwgMSwgMywgMjEsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDg1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoODAwLCA2MDAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDU2MjUwMDAwLCAzMiwgNjQsIDE1MiwgMSwgMywgMjcsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDc1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDgwMCwgNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDQ5NTAwMDAwLCAxNiwgODAsIDE2MCwgMSwgMywgMjEsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDgwMCwgNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDU2MjUwMDAwLCAzMiwgNjQsIDE1MiwgMSwgMywgMjcsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84MDBYNjAwUDEyMF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUyg4MDAsIDYwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA3MzI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgMjksIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzg0OFg0ODBQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoODQ4LCA0ODAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMzM3NTAwMDAsIDE2LCAxMTIsIDExMiwgNiwgOCwgMjMsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfODAwWDYwMFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUyg4MDAsIDYwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDczMjUwMDAwLCA0OCwgMzIsIDgwLCAzLCA0LCAyOSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF84NDhYNDgwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoODQ4LCA0ODAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDMzNzUwMDAwLCAxNiwgMTEyLCAxMTIsIDYsIDgsIDIzLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTAyNFg3NjhJNDMgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMDI0LCA3NjgsIDEsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDQ0OTAwMDAwLCA4LCAxNzYsIDU2LCAwLCA0LCAyMCwgMCwgNCwgMjEsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMDI0WDc2OFA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEwMjQsIDc2OCwgMCwgMCwgICA2NTAwMDAwMCwgMjQsIDEzNiwgMTYwLCAzLCA2LCAyOSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEwMjRYNzY4STQzIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEwMjQsIDc2OCwgMSwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA0NDkwMDAwMCwgOCwgMTc2LCA1NiwgMCwgNCwgMjAsIDAsIDQsIDIxLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTAyNFg3NjhQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTAyNCwgNzY4LCAwLCAwLCA2NTAwMDAwMCwgMjQsIDEzNiwgMTYwLCAzLCA2LCAyOSwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEwMjRYNzY4UDcwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEwMjQsIDc2OCwgMCwgMCwgNzUwMDAwMDAsIDI0LCAxMzYsIDE0NCwgMywgNiwgMjksIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMDI0WDc2OFA3NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMDI0LCA3NjgsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgNzg3NTAwMDAsIDE2LCA5NiwgMTc2LCAxLCAzLCAyOCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMDI0WDc2OFA3MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEwMjQsIDc2OCwgMCwgMCwgICA3NTAwMDAwMCwgMjQsIDEzNiwgMTQ0LCAzLCA2LCAyOSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEwMjRYNzY4UDc1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTAyNCwgNzY4LCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA3ODc1MDAwMCwgMTYsIDk2LCAxNzYsIDEsIDMsIDI4LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTAyNFg3NjhQODUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMDI0LCA3NjgsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDk0NTAwMDAwLCA0OCwgOTYsIDIwOCwgMSwgMywgMzYsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMDI0WDc2OFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMDI0LCA3NjgsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgICAxMTU1MDAwMDAsIDQ4LCAzMiwgODAsIDMsIDQsIDM4LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMTUyWDg2NFA3NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDExNTIsIDg2NCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTA4MDAwMDAwLCA2NCwgMTI4LCAyNTYsIDEsIDMsIDMyLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTAyNFg3NjhQODUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTAyNCwgNzY4LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDk0NTAwMDAwLCA0OCwgOTYsIDIwOCwgMSwgMywgMzYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMDI0WDc2OFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTAyNCwgNzY4LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDExNTUwMDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgMzgsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzExNTJYODY0UDc1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDExNTIsIDg2NCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMDgwMDAwMDAsIDY0LCAxMjgsIDI1NiwgMSwgMywgMzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQogI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDcyMFA2MCBWNEwyX0RWX0JUX0NFQV8xMjgwWDcyMFA2MAotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDc2OFA2MF9SQiB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDc2OCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDY4MjUwMDAwLCA0OCwgMzIsIDgwLCAzLCA3LCAxMiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDc2OFA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDc2OCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDc5NTAwMDAwLCA2NCwgMTI4LCAxOTIsIDMsIDcsIDIwLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYNzY4UDc1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzY4LCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTAyMjUwMDAwLCA4MCwgMTI4LCAyMDgsIDMsIDcsIDI3LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTI4MFg3NjhQODUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA3NjgsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAxMTc1MDAwMDAsIDgwLCAxMzYsIDIxNiwgMywgNywgMzEsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDc2OFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA3NjgsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgICAxNDAyNTAwMDAsIDQ4LCAzMiwgODAsIDMsIDcsIDM1LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDYwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgODAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgNzEwMDAwMDAsIDQ4LCAzMiwgODAsIDMsIDYsIDE0LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYNzY4UDYwX1JCIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDc2OCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA2ODI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNywgMTIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYNzY4UDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDc2OCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA3OTUwMDAwMCwgNjQsIDEyOCwgMTkyLCAzLCA3LCAyMCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYNzY4UDc1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDc2OCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMDIyNTAwMDAsIDgwLCAxMjgsIDIwOCwgMywgNywgMjcsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDc2OFA4NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA3NjgsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMTE3NTAwMDAwLCA4MCwgMTM2LCAyMTYsIDMsIDcsIDMxLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgODAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgODM1MDAwMDAsIDcyLCAxMjgsIDIwMCwgMywgNiwgMjIsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDgwMFA3NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDgwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDEwNjUwMDAwMCwgODAsIDEyOCwgMjA4LCAzLCA2LCAyOSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDg1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgODAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTIyNTAwMDAwLCA4MCwgMTM2LCAyMTYsIDMsIDYsIDM0LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTI4MFg4MDBQMTIwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgODAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMTQ2MjUwMDAwLCA0OCwgMzIsIDgwLCAzLCA2LCAzOCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDc2OFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgNzY4LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDE0MDI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNywgMzUsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDYwX1JCIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDgwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA3MTAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMTQsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDgwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA4MzUwMDAwMCwgNzIsIDEyOCwgMjAwLCAzLCA2LCAyMiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDc1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDgwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMDY1MDAwMDAsIDgwLCAxMjgsIDIwOCwgMywgNiwgMjksIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTI4MFg5NjBQNjAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA5NjAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDEwODAwMDAwMCwgOTYsIDExMiwgMzEyLCAxLCAzLCAzNiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYOTYwUDg1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgOTYwLCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAxNDg1MDAwMDAsIDY0LCAxNjAsIDIyNCwgMSwgMywgNDcsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDk2MFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA5NjAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgICAxNzU1MDAwMDAsIDQ4LCAzMiwgODAsIDMsIDQsIDUwLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDEwMjQsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDEwODAwMDAwMCwgNDgsIDExMiwgMjQ4LCAxLCAzLCAzOCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYODAwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDgwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMjI1MDAwMDAsIDgwLCAxMzYsIDIxNiwgMywgNiwgMzQsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDgwMFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgODAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDE0NjI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMzgsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYOTYwUDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDk2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMDgwMDAwMDAsIDk2LCAxMTIsIDMxMiwgMSwgMywgMzYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDk2MFA4NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCA5NjAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMTQ4NTAwMDAwLCA2NCwgMTYwLCAyMjQsIDEsIDMsIDQ3LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFA3NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDEwMjQsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDEzNTAwMDAwMCwgMTYsIDE0NCwgMjQ4LCAxLCAzLCAzOCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFA4NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEyODAsIDEwMjQsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE1NzUwMDAwMCwgNjQsIDE2MCwgMjI0LCAxLCAzLCA0NCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCAxMDI0LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMTg3MjUwMDAwLCA0OCwgMzIsIDgwLCAzLCA3LCA1MCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMzYwWDc2OFA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEzNjAsIDc2OCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgODU1MDAwMDAsIDY0LCAxMTIsIDI1NiwgMywgNiwgMTgsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMjgwWDk2MFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgOTYwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDE3NTUwMDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgNTAsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFA2MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCAxMDI0LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDEwODAwMDAwMCwgNDgsIDExMiwgMjQ4LCAxLCAzLCAzOCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFA3NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCAxMDI0LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDEzNTAwMDAwMCwgMTYsIDE0NCwgMjQ4LCAxLCAzLCAzOCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFA4NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMjgwLCAxMDI0LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDE1NzUwMDAwMCwgNjQsIDE2MCwgMjI0LCAxLCAzLCA0NCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMzYwWDc2OFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxMzYwLCA3NjgsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgICAxNDgyNTAwMDAsIDQ4LCAzMiwgODAsIDMsIDUsIDM3LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEzNjZYNzY4UDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTM2NiwgNzY4LCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA4NTUwMDAwMCwgNzAsIDE0MywgMjEzLCAzLCAzLCAyNCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEzNjZYNzY4UDYwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTM2NiwgNzY4LCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA3MjAwMDAwMCwgMTQsIDU2LCA2NCwgMSwgMywgMjgsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0MDBYMTA1MFA2MF9SQiB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE0MDAsIDEwNTAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgICAxMDEwMDAwMDAsIDQ4LCAzMiwgODAsIDMsIDQsIDIzLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEyODBYMTAyNFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTI4MCwgMTAyNCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAxODcyNTAwMDAsIDQ4LCAzMiwgODAsIDMsIDcsIDUwLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMzYwWDc2OFA2MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMzYwLCA3NjgsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgODU1MDAwMDAsIDY0LCAxMTIsIDI1NiwgMywgNiwgMTgsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMzYwWDc2OFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTM2MCwgNzY4LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDE0ODI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNSwgMzcsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzEzNjZYNzY4UDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDEzNjYsIDc2OCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA4NTUwMDAwMCwgNzAsIDE0MywgMjEzLCAzLCAzLCAyNCwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDAwWDEwNTBQNjAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNDAwLCAxMDUwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTIxNzUwMDAwLCA4OCwgMTQ0LCAyMzIsIDMsIDQsIDMyLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTQwMFgxMDUwUDc1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQwMCwgMTA1MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE1NjAwMDAwMCwgMTA0LCAxNDQsIDI0OCwgMywgNCwgNDIsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDAwWDEwNTBQODUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNDAwLCAxMDUwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTc5NTAwMDAwLCAxMDQsIDE1MiwgMjU2LCAzLCA0LCA0OCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0MDBYMTA1MFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNDAwLCAxMDUwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMjA4MDAwMDAwLCA0OCwgMzIsIDgwLCAzLCA0LCA1NSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xMzY2WDc2OFA2MF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxMzY2LCA3NjgsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgNzIwMDAwMDAsIDE0LCA1NiwgNjQsIDEsIDMsIDI4LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDAwWDEwNTBQNjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQwMCwgMTA1MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAxMDEwMDAwMDAsIDQ4LCAzMiwgODAsIDMsIDQsIDIzLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDAwWDEwNTBQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQwMCwgMTA1MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMjE3NTAwMDAsIDg4LCAxNDQsIDIzMiwgMywgNCwgMzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDAwWDEwNTBQNzUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQwMCwgMTA1MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxNTYwMDAwMDAsIDEwNCwgMTQ0LCAyNDgsIDMsIDQsIDQyLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0NDBYOTAwUDYwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQ0MCwgOTAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgODg3NTAwMDAsIDQ4LCAzMiwgODAsIDMsIDYsIDE3LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0NDBYOTAwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQ0MCwgOTAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTA2NTAwMDAwLCA4MCwgMTUyLCAyMzIsIDMsIDYsIDI1LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTQ0MFg5MDBQNzUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNDQwLCA5MDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAxMzY3NTAwMDAsIDk2LCAxNTIsIDI0OCwgMywgNiwgMzMsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDQwWDkwMFA4NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE0NDAsIDkwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE1NzAwMDAwMCwgMTA0LCAxNTIsIDI1NiwgMywgNiwgMzksIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNDAwWDEwNTBQODUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQwMCwgMTA1MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxNzk1MDAwMDAsIDEwNCwgMTUyLCAyNTYsIDMsIDQsIDQ4LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTQwMFgxMDUwUDEyMF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxNDAwLCAxMDUwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDIwODAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgNTUsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0NDBYOTAwUDYwX1JCIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE0NDAsIDkwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA4ODc1MDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMTcsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0NDBYOTAwUDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE0NDAsIDkwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxMDY1MDAwMDAsIDgwLCAxNTIsIDIzMiwgMywgNiwgMjUsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTQ0MFg5MDBQMTIwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQ0MCwgOTAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMTgyNzUwMDAwLCA0OCwgMzIsIDgwLCAzLCA2LCA0NCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjAwWDkwMFA2MF9SQiB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2MDAsIDkwMCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTA4MDAwMDAwLCAyNCwgODAsIDk2LCAxLCAzLCA5NiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTYwMFgxMjAwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTYwMCwgMTIwMCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTYyMDAwMDAwLCA2NCwgMTkyLCAzMDQsIDEsIDMsIDQ2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTYwMFgxMjAwUDY1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTYwMCwgMTIwMCwgMCwgICBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTc1NTAwMDAwLCA2NCwgMTkyLCAzMDQsIDEsIDMsIDQ2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTQ0MFg5MDBQNzUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTQ0MCwgOTAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDEzNjc1MDAwMCwgOTYsIDE1MiwgMjQ4LCAzLCA2LCAzMywgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE0NDBYOTAwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE0NDAsIDkwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxNTcwMDAwMDAsIDEwNCwgMTUyLCAyNTYsIDMsIDYsIDM5LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTQ0MFg5MDBQMTIwX1JCIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE0NDAsIDkwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAxODI3NTAwMDAsIDQ4LCAzMiwgODAsIDMsIDYsIDQ0LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjAwWDkwMFA2MF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxNjAwLCA5MDAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMTA4MDAwMDAwLCAyNCwgODAsIDk2LCAxLCAzLCA5NiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2MDBYMTIwMFA3MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2MDAsIDEyMDAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE4OTAwMDAwMCwgNjQsIDE5MiwgMzA0LCAxLCAzLCA0NiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2MDBYMTIwMFA3NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2MDAsIDEyMDAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDIwMjUwMDAwMCwgNjQsIDE5MiwgMzA0LCAxLCAzLCA0NiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2MDBYMTIwMFA4NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2MDAsIDEyMDAsIDAsICAgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDIyOTUwMDAwMCwgNjQsIDE5MiwgMzA0LCAxLCAzLCA0NiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2MDBYMTIwMFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNjAwLCAxMjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMjY4MjUwMDAwLCA0OCwgMzIsIDgwLCAzLCA0LCA2NCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjAwWDEyMDBQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTYwMCwgMTIwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxNjIwMDAwMDAsIDY0LCAxOTIsIDMwNCwgMSwgMywgNDYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjAwWDEyMDBQNjUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTYwMCwgMTIwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxNzU1MDAwMDAsIDY0LCAxOTIsIDMwNCwgMSwgMywgNDYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjAwWDEyMDBQNzAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTYwMCwgMTIwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxODkwMDAwMDAsIDY0LCAxOTIsIDMwNCwgMSwgMywgNDYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjAwWDEyMDBQNzUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTYwMCwgMTIwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MIHwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAyMDI1MDAwMDAsIDY0LCAxOTIsIDMwNCwgMSwgMywgNDYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTY4MFgxMDUwUDYwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTY4MCwgMTA1MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDExOTAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMjEsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAgIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTY4MFgxMDUwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTY4MCwgMTA1MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE0NjI1MDAwMCwgMTA0LCAxNzYsIDI4MCwgMywgNiwgMzAsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjgwWDEwNTBQNzUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNjgwLCAxMDUwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMTg3MDAwMDAwLCAxMjAsIDE3NiwgMjk2LCAzLCA2LCA0MCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2ODBYMTA1MFA4NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2ODAsIDEwNTAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAyMTQ3NTAwMDAsIDEyOCwgMTc2LCAzMDQsIDMsIDYsIDQ2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTYwMFgxMjAwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2MDAsIDEyMDAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMjI5NTAwMDAwLCA2NCwgMTkyLCAzMDQsIDEsIDMsIDQ2LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTYwMFgxMjAwUDEyMF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxNjAwLCAxMjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDI2ODI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgNjQsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2ODBYMTA1MFA2MF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxNjgwLCAxMDUwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDExOTAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMjEsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2ODBYMTA1MFA2MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxNjgwLCAxMDUwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDE0NjI1MDAwMCwgMTA0LCAxNzYsIDI4MCwgMywgNiwgMzAsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTY4MFgxMDUwUDEyMF9SQiB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2ODAsIDEwNTAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgICAyNDU1MDAwMDAsIDQ4LCAzMiwgODAsIDMsIDYsIDUzLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgICBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE3OTJYMTM0NFA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE3OTIsIDEzNDQsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAyMDQ3NTAwMDAsIDEyOCwgMjAwLCAzMjgsIDEsIDMsIDQ2LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgMCkgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTc5MlgxMzQ0UDc1IHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTc5MiwgMTM0NCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDI2MTAwMDAwMCwgOTYsIDIxNiwgMzUyLCAxLCAzLCA2OSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE3OTJYMTM0NFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxNzkyLCAxMzQ0LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMzMzMjUwMDAwLCA0OCwgMzIsIDgwLCAzLCA0LCA3MiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNjgwWDEwNTBQNzUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTY4MCwgMTA1MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAxODcwMDAwMDAsIDEyMCwgMTc2LCAyOTYsIDMsIDYsIDQwLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTY4MFgxMDUwUDg1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE2ODAsIDEwNTAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMjE0NzUwMDAwLCAxMjgsIDE3NiwgMzA0LCAzLCA2LCA0NiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE2ODBYMTA1MFAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTY4MCwgMTA1MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAyNDU1MDAwMDAsIDQ4LCAzMiwgODAsIDMsIDYsIDUzLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xNzkyWDEzNDRQNjAgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTc5MiwgMTM0NCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAyMDQ3NTAwMDAsIDEyOCwgMjAwLCAzMjgsIDEsIDMsIDQ2LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE4NTZYMTM5MlA2MCB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE4NTYsIDEzOTIsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAyMTgyNTAwMDAsIDk2LCAyMjQsIDM1MiwgMSwgMywgNDMsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xODU2WDEzOTJQNzUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxODU2LCAxMzkyLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMjg4MDAwMDAwLCAxMjgsIDIyNCwgMzUyLCAxLCAzLCAxMDQsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xODU2WDEzOTJQMTIwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTg1NiwgMTM5MiwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDM1NjUwMDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgNzUsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAgIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTc5MlgxMzQ0UDc1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE3OTIsIDEzNDQsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMjYxMDAwMDAwLCA5NiwgMjE2LCAzNTIsIDEsIDMsIDY5LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTc5MlgxMzQ0UDEyMF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxNzkyLCAxMzQ0LCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDMzMzI1MDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgNzIsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE4NTZYMTM5MlA2MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxODU2LCAxMzkyLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDIxODI1MDAwMCwgOTYsIDIyNCwgMzUyLCAxLCAzLCA0MywgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE4NTZYMTM5MlA3NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxODU2LCAxMzkyLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDI4ODAwMDAwMCwgMTI4LCAyMjQsIDM1MiwgMSwgMywgMTA0LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE4NTZYMTM5MlAxMjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTg1NiwgMTM5MiwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAzNTY1MDAwMDAsIDQ4LCAzMiwgODAsIDMsIDQsIDc1LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgXAorfQogI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xOTIwWDEwODBQNjAgVjRMMl9EVl9CVF9DRUFfMTkyMFgxMDgwUDYwCisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE5MjBYMTIwMFA2MF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDE1NDAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMjYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE5MjBYMTIwMFA2MCB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMjAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDE5MzI1MDAwMCwgMTM2LCAyMDAsIDMzNiwgMywgNiwgMzYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTkyMFgxMjAwUDYwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTIwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDE1NDAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMjYsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAgIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTkyMFgxMjAwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTIwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDE5MzI1MDAwMCwgMTM2LCAyMDAsIDMzNiwgMywgNiwgMzYsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xOTIwWDEyMDBQNzUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMjAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMjQ1MjUwMDAwLCAxMzYsIDIwOCwgMzQ0LCAzLCA2LCA0NiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE5MjBYMTIwMFA4NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEyMDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAyODEyNTAwMDAsIDE0NCwgMjA4LCAzNTIsIDMsIDYsIDUzLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTkyMFgxMjAwUDc1IHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEyMDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMjQ1MjUwMDAwLCAxMzYsIDIwOCwgMzQ0LCAzLCA2LCA0NiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE5MjBYMTIwMFA4NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxMjAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDI4MTI1MDAwMCwgMTQ0LCAyMDgsIDM1MiwgMywgNiwgNTMsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xOTIwWDEyMDBQMTIwX1JCIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDEyMDAsIDAsIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCwgMzE3MDAwMDAwLCA0OCwgMzIsIDgwLCAzLCA2LCA2MiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTkyMFgxNDQwUDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDE5MjAsIDE0NDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMjM0MDAwMDAwLCAxMjgsIDIwOCwgMzQ0LCAxLCAzLCA1NiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSBcCit9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xOTIwWDEyMDBQMTIwX1JCIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTIwMCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCAgIDMxNzAwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgNjIsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAgIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORykgIH0KLSNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTkyMFgxNDQwUDYwIHsgICAudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsICAgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTQ0MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAgIDIzNDAwMDAwMCwgMTI4LCAyMDgsIDM0NCwgMSwgMywgNTYsIDAsIDAsIDAsICAgVjRMMl9EVl9CVF9TVERfRE1ULCAwKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xOTIwWDE0NDBQNzUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxNDQwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMjk3MDAwMDAwLCAxNDQsIDIyNCwgMzUyLCAxLCAzLCA1NiwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzE5MjBYMTQ0MFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxNDQwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMzgwNTAwMDAwLCA0OCwgMzIsIDgwLCAzLCA0LCA3OCwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8xOTIwWDE0NDBQNzUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMTkyMCwgMTQ0MCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCAyOTcwMDAwMDAsIDE0NCwgMjI0LCAzNTIsIDEsIDMsIDU2LCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMTkyMFgxNDQwUDEyMF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygxOTIwLCAxNDQwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDM4MDUwMDAwMCwgNDgsIDMyLCA4MCwgMywgNCwgNzgsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzIwNDhYMTE1MlA2MF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygyMDQ4LCAxMTUyLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wgfCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDE2MjAwMDAwMCwgMjYsIDgwLCA5NiwgMSwgMywgNDQsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzI1NjBYMTYwMFA2MF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDI2ODUwMDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgMzcsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8yMDQ4WDExNTJQNjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygyMDQ4LCAxMTUyLCAwLCAgIFY0TDJfRFZfSFNZTkNfUE9TX1BPTCB8IFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICAxNjIwMDAwMDAsIDI2LCA4MCwgOTYsIDEsIDMsIDQ0LCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8yNTYwWDE2MDBQNjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgMjY4NTAwMDAwLCA0OCwgMzIsIDgwLCAzLCA2LCAzNywgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8yNTYwWDE2MDBQNjAgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgMzQ4NTAwMDAwLCAxOTIsIDI4MCwgNDcyLCAzLCA2LCA0OSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzI1NjBYMTYwMFA3NSB7ICAgLnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCAgIFY0TDJfSU5JVF9CVF9USU1JTkdTKDI1NjAsIDE2MDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgICA0NDMyNTAwMDAsIDIwOCwgMjgwLCA0ODgsIDMsIDYsIDYzLCAwLCAwLCAwLCAgIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgIH0KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMjU2MFgxNjAwUDYwIHsudHlwZSA9IFY0TDJfRFZfQlRfNjU2XzExMjAsIFY0TDJfSU5JVF9CVF9USU1JTkdTKDI1NjAsIDE2MDAsIDAsIFY0TDJfRFZfVlNZTkNfUE9TX1BPTCwgMzQ4NTAwMDAwLCAxOTIsIDI4MCwgNDcyLCAzLCA2LCA0OSwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCAwKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzI1NjBYMTYwMFA3NSB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsIDQ0MzI1MDAwMCwgMjA4LCAyODAsIDQ4OCwgMywgNiwgNjMsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgMCkgXAorfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8yNTYwWDE2MDBQODUgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoMjU2MCwgMTYwMCwgMCwgVjRMMl9EVl9WU1lOQ19QT1NfUE9MLCA1MDUyNTAwMDAsIDIwOCwgMjgwLCA0ODgsIDMsIDYsIDczLCAwLCAwLCAwLCBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApIFwKK30KKyNkZWZpbmUgVjRMMl9EVl9CVF9ETVRfMjU2MFgxNjAwUDEyMF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDU1Mjc1MDAwMCwgNDgsIDMyLCA4MCwgMywgNiwgODUsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0RNVF8yNTYwWDE2MDBQODUgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX1ZTWU5DX1BPU19QT0wsICAgNTA1MjUwMDAwLCAyMDgsIDI4MCwgNDg4LCAzLCA2LCA3MywgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsIDApICB9Ci0jZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzI1NjBYMTYwMFAxMjBfUkIgeyAgIC50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgICBWNEwyX0lOSVRfQlRfVElNSU5HUygyNTYwLCAxNjAwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsICAgNTUyNzUwMDAwLCA0OCwgMzIsIDgwLCAzLCA2LCA4NSwgMCwgMCwgMCwgICBWNEwyX0RWX0JUX1NURF9ETVQgfCBWNEwyX0RWX0JUX1NURF9DVlQsICAgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSAgfQorI2RlZmluZSBWNEwyX0RWX0JUX0RNVF80MDk2WDIxNjBQNjBfUkIgey50eXBlID0gVjRMMl9EVl9CVF82NTZfMTEyMCwgVjRMMl9JTklUX0JUX1RJTUlOR1MoNDA5NiwgMjE2MCwgMCwgVjRMMl9EVl9IU1lOQ19QT1NfUE9MLCA1NTY3NDQwMDAsIDgsIDMyLCA0MCwgNDgsIDgsIDYsIDAsIDAsIDAsIFY0TDJfRFZfQlRfU1REX0RNVCB8IFY0TDJfRFZfQlRfU1REX0NWVCwgVjRMMl9EVl9GTF9SRURVQ0VEX0JMQU5LSU5HKSBcCit9CisjZGVmaW5lIFY0TDJfRFZfQlRfRE1UXzQwOTZYMjE2MFA1OV85NF9SQiB7LnR5cGUgPSBWNEwyX0RWX0JUXzY1Nl8xMTIwLCBWNEwyX0lOSVRfQlRfVElNSU5HUyg0MDk2LCAyMTYwLCAwLCBWNEwyX0RWX0hTWU5DX1BPU19QT0wsIDU1NjE4ODAwMCwgOCwgMzIsIDQwLCA0OCwgOCwgNiwgMCwgMCwgMCwgVjRMMl9EVl9CVF9TVERfRE1UIHwgVjRMMl9EVl9CVF9TVERfQ1ZULCBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcpIFwKK30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92NGwyLW1lZGlhYnVzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItbWVkaWFidXMuaAppbmRleCA4NGFhNWQzLi4yYzJiMGU3IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItbWVkaWFidXMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItbWVkaWFidXMuaApAQCAtMjIsOTUgKzIyLDExMCBAQAogI2luY2x1ZGUgPGxpbnV4L3ZpZGVvZGV2Mi5oPgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9tYnVzX3BpeGVsY29kZSB7Ci0gVjRMMl9NQlVTX0ZNVF9GSVhFRCA9IDB4MDAwMSwKLSBWNEwyX01CVVNfRk1UX1JHQjQ0NF8yWDhfUEFESElfQkUgPSAweDEwMDEsCi0gVjRMMl9NQlVTX0ZNVF9SR0I0NDRfMlg4X1BBREhJX0xFID0gMHgxMDAyLAorICBWNEwyX01CVVNfRk1UX0ZJWEVEID0gMHgwMDAxLAorICBWNEwyX01CVVNfRk1UX1JHQjQ0NF8yWDhfUEFESElfQkUgPSAweDEwMDEsCisgIFY0TDJfTUJVU19GTVRfUkdCNDQ0XzJYOF9QQURISV9MRSA9IDB4MTAwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9SR0I1NTVfMlg4X1BBREhJX0JFID0gMHgxMDAzLAotIFY0TDJfTUJVU19GTVRfUkdCNTU1XzJYOF9QQURISV9MRSA9IDB4MTAwNCwKLSBWNEwyX01CVVNfRk1UX0JHUjU2NV8yWDhfQkUgPSAweDEwMDUsCi0gVjRMMl9NQlVTX0ZNVF9CR1I1NjVfMlg4X0xFID0gMHgxMDA2LAorICBWNEwyX01CVVNfRk1UX1JHQjU1NV8yWDhfUEFESElfQkUgPSAweDEwMDMsCisgIFY0TDJfTUJVU19GTVRfUkdCNTU1XzJYOF9QQURISV9MRSA9IDB4MTAwNCwKKyAgVjRMMl9NQlVTX0ZNVF9CR1I1NjVfMlg4X0JFID0gMHgxMDA1LAorICBWNEwyX01CVVNfRk1UX0JHUjU2NV8yWDhfTEUgPSAweDEwMDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTUJVU19GTVRfUkdCNTY1XzJYOF9CRSA9IDB4MTAwNywKLSBWNEwyX01CVVNfRk1UX1JHQjU2NV8yWDhfTEUgPSAweDEwMDgsCi0gVjRMMl9NQlVTX0ZNVF9SR0I2NjZfMVgxOCA9IDB4MTAwOSwKLSBWNEwyX01CVVNfRk1UX1JHQjg4OF8xWDI0ID0gMHgxMDBhLAorICBWNEwyX01CVVNfRk1UX1JHQjU2NV8yWDhfQkUgPSAweDEwMDcsCisgIFY0TDJfTUJVU19GTVRfUkdCNTY1XzJYOF9MRSA9IDB4MTAwOCwKKyAgVjRMMl9NQlVTX0ZNVF9SR0I2NjZfMVgxOCA9IDB4MTAwOSwKKyAgVjRMMl9NQlVTX0ZNVF9SR0I4ODhfMVgyNCA9IDB4MTAwYSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9SR0I4ODhfMlgxMl9CRSA9IDB4MTAwYiwKLSBWNEwyX01CVVNfRk1UX1JHQjg4OF8yWDEyX0xFID0gMHgxMDBjLAotIFY0TDJfTUJVU19GTVRfQVJHQjg4ODhfMVgzMiA9IDB4MTAwZCwKLSBWNEwyX01CVVNfRk1UX1k4XzFYOCA9IDB4MjAwMSwKKyAgVjRMMl9NQlVTX0ZNVF9SR0I4ODhfMlgxMl9CRSA9IDB4MTAwYiwKKyAgVjRMMl9NQlVTX0ZNVF9SR0I4ODhfMlgxMl9MRSA9IDB4MTAwYywKKyAgVjRMMl9NQlVTX0ZNVF9BUkdCODg4OF8xWDMyID0gMHgxMDBkLAorICBWNEwyX01CVVNfRk1UX1k4XzFYOCA9IDB4MjAwMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9VVjhfMVg4ID0gMHgyMDE1LAotIFY0TDJfTUJVU19GTVRfVVlWWThfMV81WDggPSAweDIwMDIsCi0gVjRMMl9NQlVTX0ZNVF9WWVVZOF8xXzVYOCA9IDB4MjAwMywKLSBWNEwyX01CVVNfRk1UX1lVWVY4XzFfNVg4ID0gMHgyMDA0LAorICBWNEwyX01CVVNfRk1UX1VWOF8xWDggPSAweDIwMTUsCisgIFY0TDJfTUJVU19GTVRfVVlWWThfMV81WDggPSAweDIwMDIsCisgIFY0TDJfTUJVU19GTVRfVllVWThfMV81WDggPSAweDIwMDMsCisgIFY0TDJfTUJVU19GTVRfWVVZVjhfMV81WDggPSAweDIwMDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTUJVU19GTVRfWVZZVThfMV81WDggPSAweDIwMDUsCi0gVjRMMl9NQlVTX0ZNVF9VWVZZOF8yWDggPSAweDIwMDYsCi0gVjRMMl9NQlVTX0ZNVF9WWVVZOF8yWDggPSAweDIwMDcsCi0gVjRMMl9NQlVTX0ZNVF9ZVVlWOF8yWDggPSAweDIwMDgsCisgIFY0TDJfTUJVU19GTVRfWVZZVThfMV81WDggPSAweDIwMDUsCisgIFY0TDJfTUJVU19GTVRfVVlWWThfMlg4ID0gMHgyMDA2LAorICBWNEwyX01CVVNfRk1UX1ZZVVk4XzJYOCA9IDB4MjAwNywKKyAgVjRMMl9NQlVTX0ZNVF9ZVVlWOF8yWDggPSAweDIwMDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTUJVU19GTVRfWVZZVThfMlg4ID0gMHgyMDA5LAotIFY0TDJfTUJVU19GTVRfWTEwXzFYMTAgPSAweDIwMGEsCi0gVjRMMl9NQlVTX0ZNVF9ZVVlWMTBfMlgxMCA9IDB4MjAwYiwKLSBWNEwyX01CVVNfRk1UX1lWWVUxMF8yWDEwID0gMHgyMDBjLAorICBWNEwyX01CVVNfRk1UX1lWWVU4XzJYOCA9IDB4MjAwOSwKKyAgVjRMMl9NQlVTX0ZNVF9ZMTBfMVgxMCA9IDB4MjAwYSwKKyAgVjRMMl9NQlVTX0ZNVF9VWVZZMTBfMlgxMCA9IDB4MjAxOCwKKyAgVjRMMl9NQlVTX0ZNVF9WWVVZMTBfMlgxMCA9IDB4MjAxOSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9ZMTJfMVgxMiA9IDB4MjAxMywKLSBWNEwyX01CVVNfRk1UX1VZVlk4XzFYMTYgPSAweDIwMGYsCi0gVjRMMl9NQlVTX0ZNVF9WWVVZOF8xWDE2ID0gMHgyMDEwLAotIFY0TDJfTUJVU19GTVRfWVVZVjhfMVgxNiA9IDB4MjAxMSwKKyAgVjRMMl9NQlVTX0ZNVF9ZVVlWMTBfMlgxMCA9IDB4MjAwYiwKKyAgVjRMMl9NQlVTX0ZNVF9ZVllVMTBfMlgxMCA9IDB4MjAwYywKKyAgVjRMMl9NQlVTX0ZNVF9ZMTJfMVgxMiA9IDB4MjAxMywKKyAgVjRMMl9NQlVTX0ZNVF9VWVZZOF8xWDE2ID0gMHgyMDBmLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01CVVNfRk1UX1lWWVU4XzFYMTYgPSAweDIwMTIsCi0gVjRMMl9NQlVTX0ZNVF9ZRFlVWURZVjhfMVgxNiA9IDB4MjAxNCwKLSBWNEwyX01CVVNfRk1UX1lVWVYxMF8xWDIwID0gMHgyMDBkLAotIFY0TDJfTUJVU19GTVRfWVZZVTEwXzFYMjAgPSAweDIwMGUsCisgIFY0TDJfTUJVU19GTVRfVllVWThfMVgxNiA9IDB4MjAxMCwKKyAgVjRMMl9NQlVTX0ZNVF9ZVVlWOF8xWDE2ID0gMHgyMDExLAorICBWNEwyX01CVVNfRk1UX1lWWVU4XzFYMTYgPSAweDIwMTIsCisgIFY0TDJfTUJVU19GTVRfWURZVVlEWVY4XzFYMTYgPSAweDIwMTQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTUJVU19GTVRfWVVWMTBfMVgzMCA9IDB4MjAxNiwKLSBWNEwyX01CVVNfRk1UX0FZVVY4XzFYMzIgPSAweDIwMTcsCi0gVjRMMl9NQlVTX0ZNVF9TQkdHUjhfMVg4ID0gMHgzMDAxLAotIFY0TDJfTUJVU19GTVRfU0dCUkc4XzFYOCA9IDB4MzAxMywKKyAgVjRMMl9NQlVTX0ZNVF9VWVZZMTBfMVgyMCA9IDB4MjAxYSwKKyAgVjRMMl9NQlVTX0ZNVF9WWVVZMTBfMVgyMCA9IDB4MjAxYiwKKyAgVjRMMl9NQlVTX0ZNVF9ZVVlWMTBfMVgyMCA9IDB4MjAwZCwKKyAgVjRMMl9NQlVTX0ZNVF9ZVllVMTBfMVgyMCA9IDB4MjAwZSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9TR1JCRzhfMVg4ID0gMHgzMDAyLAotIFY0TDJfTUJVU19GTVRfU1JHR0I4XzFYOCA9IDB4MzAxNCwKLSBWNEwyX01CVVNfRk1UX1NCR0dSMTBfQUxBVzhfMVg4ID0gMHgzMDE1LAotIFY0TDJfTUJVU19GTVRfU0dCUkcxMF9BTEFXOF8xWDggPSAweDMwMTYsCisgIFY0TDJfTUJVU19GTVRfWVVWMTBfMVgzMCA9IDB4MjAxNiwKKyAgVjRMMl9NQlVTX0ZNVF9BWVVWOF8xWDMyID0gMHgyMDE3LAorICBWNEwyX01CVVNfRk1UX1VZVlkxMl8yWDEyID0gMHgyMDFjLAorICBWNEwyX01CVVNfRk1UX1ZZVVkxMl8yWDEyID0gMHgyMDFkLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01CVVNfRk1UX1NHUkJHMTBfQUxBVzhfMVg4ID0gMHgzMDE3LAotIFY0TDJfTUJVU19GTVRfU1JHR0IxMF9BTEFXOF8xWDggPSAweDMwMTgsCi0gVjRMMl9NQlVTX0ZNVF9TQkdHUjEwX0RQQ004XzFYOCA9IDB4MzAwYiwKLSBWNEwyX01CVVNfRk1UX1NHQlJHMTBfRFBDTThfMVg4ID0gMHgzMDBjLAorICBWNEwyX01CVVNfRk1UX1lVWVYxMl8yWDEyID0gMHgyMDFlLAorICBWNEwyX01CVVNfRk1UX1lWWVUxMl8yWDEyID0gMHgyMDFmLAorICBWNEwyX01CVVNfRk1UX1VZVlkxMl8xWDI0ID0gMHgyMDIwLAorICBWNEwyX01CVVNfRk1UX1ZZVVkxMl8xWDI0ID0gMHgyMDIxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01CVVNfRk1UX1NHUkJHMTBfRFBDTThfMVg4ID0gMHgzMDA5LAotIFY0TDJfTUJVU19GTVRfU1JHR0IxMF9EUENNOF8xWDggPSAweDMwMGQsCi0gVjRMMl9NQlVTX0ZNVF9TQkdHUjEwXzJYOF9QQURISV9CRSA9IDB4MzAwMywKLSBWNEwyX01CVVNfRk1UX1NCR0dSMTBfMlg4X1BBREhJX0xFID0gMHgzMDA0LAorICBWNEwyX01CVVNfRk1UX1lVWVYxMl8xWDI0ID0gMHgyMDIyLAorICBWNEwyX01CVVNfRk1UX1lWWVUxMl8xWDI0ID0gMHgyMDIzLAorICBWNEwyX01CVVNfRk1UX1NCR0dSOF8xWDggPSAweDMwMDEsCisgIFY0TDJfTUJVU19GTVRfU0dCUkc4XzFYOCA9IDB4MzAxMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9TQkdHUjEwXzJYOF9QQURMT19CRSA9IDB4MzAwNSwKLSBWNEwyX01CVVNfRk1UX1NCR0dSMTBfMlg4X1BBRExPX0xFID0gMHgzMDA2LAotIFY0TDJfTUJVU19GTVRfU0JHR1IxMF8xWDEwID0gMHgzMDA3LAotIFY0TDJfTUJVU19GTVRfU0dCUkcxMF8xWDEwID0gMHgzMDBlLAorICBWNEwyX01CVVNfRk1UX1NHUkJHOF8xWDggPSAweDMwMDIsCisgIFY0TDJfTUJVU19GTVRfU1JHR0I4XzFYOCA9IDB4MzAxNCwKKyAgVjRMMl9NQlVTX0ZNVF9TQkdHUjEwX0FMQVc4XzFYOCA9IDB4MzAxNSwKKyAgVjRMMl9NQlVTX0ZNVF9TR0JSRzEwX0FMQVc4XzFYOCA9IDB4MzAxNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9TR1JCRzEwXzFYMTAgPSAweDMwMGEsCi0gVjRMMl9NQlVTX0ZNVF9TUkdHQjEwXzFYMTAgPSAweDMwMGYsCi0gVjRMMl9NQlVTX0ZNVF9TQkdHUjEyXzFYMTIgPSAweDMwMDgsCi0gVjRMMl9NQlVTX0ZNVF9TR0JSRzEyXzFYMTIgPSAweDMwMTAsCisgIFY0TDJfTUJVU19GTVRfU0dSQkcxMF9BTEFXOF8xWDggPSAweDMwMTcsCisgIFY0TDJfTUJVU19GTVRfU1JHR0IxMF9BTEFXOF8xWDggPSAweDMwMTgsCisgIFY0TDJfTUJVU19GTVRfU0JHR1IxMF9EUENNOF8xWDggPSAweDMwMGIsCisgIFY0TDJfTUJVU19GTVRfU0dCUkcxMF9EUENNOF8xWDggPSAweDMwMGMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfTUJVU19GTVRfU0dSQkcxMl8xWDEyID0gMHgzMDExLAotIFY0TDJfTUJVU19GTVRfU1JHR0IxMl8xWDEyID0gMHgzMDEyLAotIFY0TDJfTUJVU19GTVRfSlBFR18xWDggPSAweDQwMDEsCi0gVjRMMl9NQlVTX0ZNVF9TNUNfVVlWWV9KUEVHXzFYOCA9IDB4NTAwMSwKKyAgVjRMMl9NQlVTX0ZNVF9TR1JCRzEwX0RQQ004XzFYOCA9IDB4MzAwOSwKKyAgVjRMMl9NQlVTX0ZNVF9TUkdHQjEwX0RQQ004XzFYOCA9IDB4MzAwZCwKKyAgVjRMMl9NQlVTX0ZNVF9TQkdHUjEwXzJYOF9QQURISV9CRSA9IDB4MzAwMywKKyAgVjRMMl9NQlVTX0ZNVF9TQkdHUjEwXzJYOF9QQURISV9MRSA9IDB4MzAwNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9NQlVTX0ZNVF9BSFNWODg4OF8xWDMyID0gMHg2MDAxLAorICBWNEwyX01CVVNfRk1UX1NCR0dSMTBfMlg4X1BBRExPX0JFID0gMHgzMDA1LAorICBWNEwyX01CVVNfRk1UX1NCR0dSMTBfMlg4X1BBRExPX0xFID0gMHgzMDA2LAorICBWNEwyX01CVVNfRk1UX1NCR0dSMTBfMVgxMCA9IDB4MzAwNywKKyAgVjRMMl9NQlVTX0ZNVF9TR0JSRzEwXzFYMTAgPSAweDMwMGUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWNEwyX01CVVNfRk1UX1NHUkJHMTBfMVgxMCA9IDB4MzAwYSwKKyAgVjRMMl9NQlVTX0ZNVF9TUkdHQjEwXzFYMTAgPSAweDMwMGYsCisgIFY0TDJfTUJVU19GTVRfU0JHR1IxMl8xWDEyID0gMHgzMDA4LAorICBWNEwyX01CVVNfRk1UX1NHQlJHMTJfMVgxMiA9IDB4MzAxMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFY0TDJfTUJVU19GTVRfU0dSQkcxMl8xWDEyID0gMHgzMDExLAorICBWNEwyX01CVVNfRk1UX1NSR0dCMTJfMVgxMiA9IDB4MzAxMiwKKyAgVjRMMl9NQlVTX0ZNVF9KUEVHXzFYOCA9IDB4NDAwMSwKKyAgVjRMMl9NQlVTX0ZNVF9TNUNfVVlWWV9KUEVHXzFYOCA9IDB4NTAwMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFY0TDJfTUJVU19GTVRfQUhTVjg4ODhfMVgzMiA9IDB4NjAwMSwKIH07CiBzdHJ1Y3QgdjRsMl9tYnVzX2ZyYW1lZm10IHsKLSBfX3UzMiB3aWR0aDsKKyAgX191MzIgd2lkdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGhlaWdodDsKLSBfX3UzMiBjb2RlOwotIF9fdTMyIGZpZWxkOwotIF9fdTMyIGNvbG9yc3BhY2U7CisgIF9fdTMyIGhlaWdodDsKKyAgX191MzIgY29kZTsKKyAgX191MzIgZmllbGQ7CisgIF9fdTMyIGNvbG9yc3BhY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkWzddOworICBfX3UzMiByZXNlcnZlZFs3XTsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1zdWJkZXYuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdjRsMi1zdWJkZXYuaAppbmRleCBhZDljYjhiLi42NTNmODQ2IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Y0bDItc3ViZGV2LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92NGwyLXN1YmRldi5oCkBAIC0yNCw5NiArMjQsOTUgQEAKICNpbmNsdWRlIDxsaW51eC92NGwyLWNvbW1vbi5oPgogI2luY2x1ZGUgPGxpbnV4L3Y0bDItbWVkaWFidXMuaD4KIGVudW0gdjRsMl9zdWJkZXZfZm9ybWF0X3doZW5jZSB7Ci0gVjRMMl9TVUJERVZfRk9STUFUX1RSWSA9IDAsCisgIFY0TDJfU1VCREVWX0ZPUk1BVF9UUlkgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX1NVQkRFVl9GT1JNQVRfQUNUSVZFID0gMSwKKyAgVjRMMl9TVUJERVZfRk9STUFUX0FDVElWRSA9IDEsCiB9Owogc3RydWN0IHY0bDJfc3ViZGV2X2Zvcm1hdCB7Ci0gX191MzIgd2hpY2g7CisgIF9fdTMyIHdoaWNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwYWQ7Ci0gc3RydWN0IHY0bDJfbWJ1c19mcmFtZWZtdCBmb3JtYXQ7Ci0gX191MzIgcmVzZXJ2ZWRbOF07CisgIF9fdTMyIHBhZDsKKyAgc3RydWN0IHY0bDJfbWJ1c19mcmFtZWZtdCBmb3JtYXQ7CisgIF9fdTMyIHJlc2VydmVkWzhdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9zdWJkZXZfY3JvcCB7Ci0gX191MzIgd2hpY2g7Ci0gX191MzIgcGFkOwotIHN0cnVjdCB2NGwyX3JlY3QgcmVjdDsKKyAgX191MzIgd2hpY2g7CisgIF9fdTMyIHBhZDsKKyAgc3RydWN0IHY0bDJfcmVjdCByZWN0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNlcnZlZFs4XTsKKyAgX191MzIgcmVzZXJ2ZWRbOF07CiB9Owogc3RydWN0IHY0bDJfc3ViZGV2X21idXNfY29kZV9lbnVtIHsKLSBfX3UzMiBwYWQ7CisgIF9fdTMyIHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW5kZXg7Ci0gX191MzIgY29kZTsKLSBfX3UzMiByZXNlcnZlZFs5XTsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIGNvZGU7CisgIF9fdTMyIHJlc2VydmVkWzldOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9zdWJkZXZfZnJhbWVfc2l6ZV9lbnVtIHsKLSBfX3UzMiBpbmRleDsKLSBfX3UzMiBwYWQ7Ci0gX191MzIgY29kZTsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIHBhZDsKKyAgX191MzIgY29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWluX3dpZHRoOwotIF9fdTMyIG1heF93aWR0aDsKLSBfX3UzMiBtaW5faGVpZ2h0OwotIF9fdTMyIG1heF9oZWlnaHQ7CisgIF9fdTMyIG1pbl93aWR0aDsKKyAgX191MzIgbWF4X3dpZHRoOworICBfX3UzMiBtaW5faGVpZ2h0OworICBfX3UzMiBtYXhfaGVpZ2h0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNlcnZlZFs5XTsKKyAgX191MzIgcmVzZXJ2ZWRbOV07CiB9Owogc3RydWN0IHY0bDJfc3ViZGV2X2ZyYW1lX2ludGVydmFsIHsKLSBfX3UzMiBwYWQ7CisgIF9fdTMyIHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHY0bDJfZnJhY3QgaW50ZXJ2YWw7Ci0gX191MzIgcmVzZXJ2ZWRbOV07CisgIHN0cnVjdCB2NGwyX2ZyYWN0IGludGVydmFsOworICBfX3UzMiByZXNlcnZlZFs5XTsKIH07CiBzdHJ1Y3QgdjRsMl9zdWJkZXZfZnJhbWVfaW50ZXJ2YWxfZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGluZGV4OwotIF9fdTMyIHBhZDsKLSBfX3UzMiBjb2RlOwotIF9fdTMyIHdpZHRoOworICBfX3UzMiBpbmRleDsKKyAgX191MzIgcGFkOworICBfX3UzMiBjb2RlOworICBfX3UzMiB3aWR0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaGVpZ2h0OwotIHN0cnVjdCB2NGwyX2ZyYWN0IGludGVydmFsOwotIF9fdTMyIHJlc2VydmVkWzldOworICBfX3UzMiBoZWlnaHQ7CisgIHN0cnVjdCB2NGwyX2ZyYWN0IGludGVydmFsOworICBfX3UzMiByZXNlcnZlZFs5XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfc3ViZGV2X3NlbGVjdGlvbiB7Ci0gX191MzIgd2hpY2g7Ci0gX191MzIgcGFkOwotIF9fdTMyIHRhcmdldDsKKyAgX191MzIgd2hpY2g7CisgIF9fdTMyIHBhZDsKKyAgX191MzIgdGFyZ2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmbGFnczsKLSBzdHJ1Y3QgdjRsMl9yZWN0IHI7Ci0gX191MzIgcmVzZXJ2ZWRbOF07CisgIF9fdTMyIGZsYWdzOworICBzdHJ1Y3QgdjRsMl9yZWN0IHI7CisgIF9fdTMyIHJlc2VydmVkWzhdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgdjRsMl9zdWJkZXZfZWRpZCB7Ci0gX191MzIgcGFkOwotIF9fdTMyIHN0YXJ0X2Jsb2NrOwotIF9fdTMyIGJsb2NrczsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbNV07Ci0gX191OCBfX3VzZXIgKmVkaWQ7Ci19OworI2RlZmluZSB2NGwyX3N1YmRldl9lZGlkIHY0bDJfZWRpZAogI2RlZmluZSBWSURJT0NfU1VCREVWX0dfRk1UIF9JT1dSKCdWJywgNCwgc3RydWN0IHY0bDJfc3ViZGV2X2Zvcm1hdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJRElPQ19TVUJERVZfU19GTVQgX0lPV1IoJ1YnLCA1LCBzdHJ1Y3QgdjRsMl9zdWJkZXZfZm9ybWF0KQotI2RlZmluZSBWSURJT0NfU1VCREVWX0dfRlJBTUVfSU5URVJWQUwgICBfSU9XUignVicsIDIxLCBzdHJ1Y3QgdjRsMl9zdWJkZXZfZnJhbWVfaW50ZXJ2YWwpCi0jZGVmaW5lIFZJRElPQ19TVUJERVZfU19GUkFNRV9JTlRFUlZBTCAgIF9JT1dSKCdWJywgMjIsIHN0cnVjdCB2NGwyX3N1YmRldl9mcmFtZV9pbnRlcnZhbCkKLSNkZWZpbmUgVklESU9DX1NVQkRFVl9FTlVNX01CVVNfQ09ERSAgIF9JT1dSKCdWJywgMiwgc3RydWN0IHY0bDJfc3ViZGV2X21idXNfY29kZV9lbnVtKQorI2RlZmluZSBWSURJT0NfU1VCREVWX0dfRlJBTUVfSU5URVJWQUwgX0lPV1IoJ1YnLCAyMSwgc3RydWN0IHY0bDJfc3ViZGV2X2ZyYW1lX2ludGVydmFsKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVklESU9DX1NVQkRFVl9FTlVNX0ZSQU1FX1NJWkUgICBfSU9XUignVicsIDc0LCBzdHJ1Y3QgdjRsMl9zdWJkZXZfZnJhbWVfc2l6ZV9lbnVtKQotI2RlZmluZSBWSURJT0NfU1VCREVWX0VOVU1fRlJBTUVfSU5URVJWQUwgICBfSU9XUignVicsIDc1LCBzdHJ1Y3QgdjRsMl9zdWJkZXZfZnJhbWVfaW50ZXJ2YWxfZW51bSkKKyNkZWZpbmUgVklESU9DX1NVQkRFVl9TX0ZSQU1FX0lOVEVSVkFMIF9JT1dSKCdWJywgMjIsIHN0cnVjdCB2NGwyX3N1YmRldl9mcmFtZV9pbnRlcnZhbCkKKyNkZWZpbmUgVklESU9DX1NVQkRFVl9FTlVNX01CVVNfQ09ERSBfSU9XUignVicsIDIsIHN0cnVjdCB2NGwyX3N1YmRldl9tYnVzX2NvZGVfZW51bSkKKyNkZWZpbmUgVklESU9DX1NVQkRFVl9FTlVNX0ZSQU1FX1NJWkUgX0lPV1IoJ1YnLCA3NCwgc3RydWN0IHY0bDJfc3ViZGV2X2ZyYW1lX3NpemVfZW51bSkKKyNkZWZpbmUgVklESU9DX1NVQkRFVl9FTlVNX0ZSQU1FX0lOVEVSVkFMIF9JT1dSKCdWJywgNzUsIHN0cnVjdCB2NGwyX3N1YmRldl9mcmFtZV9pbnRlcnZhbF9lbnVtKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklESU9DX1NVQkRFVl9HX0NST1AgX0lPV1IoJ1YnLCA1OSwgc3RydWN0IHY0bDJfc3ViZGV2X2Nyb3ApCiAjZGVmaW5lIFZJRElPQ19TVUJERVZfU19DUk9QIF9JT1dSKCdWJywgNjAsIHN0cnVjdCB2NGwyX3N1YmRldl9jcm9wKQorI2RlZmluZSBWSURJT0NfU1VCREVWX0dfU0VMRUNUSU9OIF9JT1dSKCdWJywgNjEsIHN0cnVjdCB2NGwyX3N1YmRldl9zZWxlY3Rpb24pCisjZGVmaW5lIFZJRElPQ19TVUJERVZfU19TRUxFQ1RJT04gX0lPV1IoJ1YnLCA2Miwgc3RydWN0IHY0bDJfc3ViZGV2X3NlbGVjdGlvbikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFZJRElPQ19TVUJERVZfR19TRUxFQ1RJT04gICBfSU9XUignVicsIDYxLCBzdHJ1Y3QgdjRsMl9zdWJkZXZfc2VsZWN0aW9uKQotI2RlZmluZSBWSURJT0NfU1VCREVWX1NfU0VMRUNUSU9OICAgX0lPV1IoJ1YnLCA2Miwgc3RydWN0IHY0bDJfc3ViZGV2X3NlbGVjdGlvbikKLSNkZWZpbmUgVklESU9DX1NVQkRFVl9HX0VESUQgX0lPV1IoJ1YnLCA0MCwgc3RydWN0IHY0bDJfc3ViZGV2X2VkaWQpCi0jZGVmaW5lIFZJRElPQ19TVUJERVZfU19FRElEIF9JT1dSKCdWJywgNDEsIHN0cnVjdCB2NGwyX3N1YmRldl9lZGlkKQorI2RlZmluZSBWSURJT0NfU1VCREVWX0dfRURJRCBfSU9XUignVicsIDQwLCBzdHJ1Y3QgdjRsMl9lZGlkKQorI2RlZmluZSBWSURJT0NfU1VCREVWX1NfRURJRCBfSU9XUignVicsIDQxLCBzdHJ1Y3QgdjRsMl9lZGlkKQorI2RlZmluZSBWSURJT0NfU1VCREVWX1NfRFZfVElNSU5HUyBfSU9XUignVicsIDg3LCBzdHJ1Y3QgdjRsMl9kdl90aW1pbmdzKQorI2RlZmluZSBWSURJT0NfU1VCREVWX0dfRFZfVElNSU5HUyBfSU9XUignVicsIDg4LCBzdHJ1Y3QgdjRsMl9kdl90aW1pbmdzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVklESU9DX1NVQkRFVl9FTlVNX0RWX1RJTUlOR1MgX0lPV1IoJ1YnLCA5OCwgc3RydWN0IHY0bDJfZW51bV9kdl90aW1pbmdzKQorI2RlZmluZSBWSURJT0NfU1VCREVWX1FVRVJZX0RWX1RJTUlOR1MgX0lPUignVicsIDk5LCBzdHJ1Y3QgdjRsMl9kdl90aW1pbmdzKQorI2RlZmluZSBWSURJT0NfU1VCREVWX0RWX1RJTUlOR1NfQ0FQIF9JT1dSKCdWJywgMTAwLCBzdHJ1Y3QgdjRsMl9kdl90aW1pbmdzX2NhcCkKICNlbmRpZgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmVyc2lvbi5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92ZXJzaW9uLmgKaW5kZXggNzFlNTM3My4uYTZjNmEyZiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92ZXJzaW9uLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92ZXJzaW9uLmgKQEAgLTE2LDUgKzE2LDUgQEAKICAqKioKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNkZWZpbmUgTElOVVhfVkVSU0lPTl9DT0RFIDIwMDE5MgorI2RlZmluZSBMSU5VWF9WRVJTSU9OX0NPREUgMjAxMjI2CiAjZGVmaW5lIEtFUk5FTF9WRVJTSU9OKGEsYixjKSAoKChhKSA8PCAxNikgKyAoKGIpIDw8IDgpICsgKGMpKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92ZXRoLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZldGguaAppbmRleCAwMDBmNTZiLi5lMDhlYzIzIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZldGguaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZldGguaApAQCAtMTksMTAgKzE5LDEwIEBACiAjaWZuZGVmIF9fTkVUX1ZFVEhfSF8KICNkZWZpbmUgX19ORVRfVkVUSF9IXwogZW51bSB7Ci0gVkVUSF9JTkZPX1VOU1BFQywKKyAgVkVUSF9JTkZPX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVkVUSF9JTkZPX1BFRVIsCi0gX19WRVRIX0lORk9fTUFYCisgIFZFVEhfSU5GT19QRUVSLAorICBfX1ZFVEhfSU5GT19NQVgKICNkZWZpbmUgVkVUSF9JTkZPX01BWCAoX19WRVRIX0lORk9fTUFYIC0gMSkKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92ZmlvLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZmaW8uaAppbmRleCA4OGNiMDY3Li4zMmRiNzBlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZmaW8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZmaW8uaApAQCAtMjQsNiArMjQsMTEgQEAKICNkZWZpbmUgVkZJT19BUElfVkVSU0lPTiAwCiAjZGVmaW5lIFZGSU9fVFlQRTFfSU9NTVUgMQogI2RlZmluZSBWRklPX1NQQVBSX1RDRV9JT01NVSAyCisjZGVmaW5lIFZGSU9fVFlQRTF2Ml9JT01NVSAzCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWRklPX0RNQV9DQ19JT01NVSA0CisjZGVmaW5lIFZGSU9fRUVIIDUKKyNkZWZpbmUgVkZJT19UWVBFMV9ORVNUSU5HX0lPTU1VIDYKICNkZWZpbmUgVkZJT19UWVBFICgnOycpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWRklPX0JBU0UgMTAwCkBAIC0zMiw4ICszNyw4IEBACiAjZGVmaW5lIFZGSU9fU0VUX0lPTU1VIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHZmaW9fZ3JvdXBfc3RhdHVzIHsKLSBfX3UzMiBhcmdzejsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgYXJnc3o7CisgIF9fdTMyIGZsYWdzOwogI2RlZmluZSBWRklPX0dST1VQX0ZMQUdTX1ZJQUJMRSAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVkZJT19HUk9VUF9GTEFHU19DT05UQUlORVJfU0VUICgxIDw8IDEpCkBAIC00NCw0OSArNDksNDkgQEAKICNkZWZpbmUgVkZJT19HUk9VUF9VTlNFVF9DT05UQUlORVIgX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgNSkKICNkZWZpbmUgVkZJT19HUk9VUF9HRVRfREVWSUNFX0ZEIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDYpCiBzdHJ1Y3QgdmZpb19kZXZpY2VfaW5mbyB7Ci0gX191MzIgYXJnc3o7CisgIF9fdTMyIGFyZ3N6OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmbGFnczsKKyAgX191MzIgZmxhZ3M7CiAjZGVmaW5lIFZGSU9fREVWSUNFX0ZMQUdTX1JFU0VUICgxIDw8IDApCiAjZGVmaW5lIFZGSU9fREVWSUNFX0ZMQUdTX1BDSSAoMSA8PCAxKQotIF9fdTMyIG51bV9yZWdpb25zOworICBfX3UzMiBudW1fcmVnaW9uczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbnVtX2lycXM7CisgIF9fdTMyIG51bV9pcnFzOwogfTsKICNkZWZpbmUgVkZJT19ERVZJQ0VfR0VUX0lORk8gX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgNykKIHN0cnVjdCB2ZmlvX3JlZ2lvbl9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYXJnc3o7Ci0gX191MzIgZmxhZ3M7CisgIF9fdTMyIGFyZ3N6OworICBfX3UzMiBmbGFnczsKICNkZWZpbmUgVkZJT19SRUdJT05fSU5GT19GTEFHX1JFQUQgKDEgPDwgMCkKICNkZWZpbmUgVkZJT19SRUdJT05fSU5GT19GTEFHX1dSSVRFICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWRklPX1JFR0lPTl9JTkZPX0ZMQUdfTU1BUCAoMSA8PCAyKQotIF9fdTMyIGluZGV4OwotIF9fdTMyIHJlc3Y7Ci0gX191NjQgc2l6ZTsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIHJlc3Y7CisgIF9fdTY0IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IG9mZnNldDsKKyAgX191NjQgb2Zmc2V0OwogfTsKICNkZWZpbmUgVkZJT19ERVZJQ0VfR0VUX1JFR0lPTl9JTkZPIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDgpCiBzdHJ1Y3QgdmZpb19pcnFfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGFyZ3N6OwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBhcmdzejsKKyAgX191MzIgZmxhZ3M7CiAjZGVmaW5lIFZGSU9fSVJRX0lORk9fRVZFTlRGRCAoMSA8PCAwKQogI2RlZmluZSBWRklPX0lSUV9JTkZPX01BU0tBQkxFICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWRklPX0lSUV9JTkZPX0FVVE9NQVNLRUQgKDEgPDwgMikKICNkZWZpbmUgVkZJT19JUlFfSU5GT19OT1JFU0laRSAoMSA8PCAzKQotIF9fdTMyIGluZGV4OwotIF9fdTMyIGNvdW50OworICBfX3UzMiBpbmRleDsKKyAgX191MzIgY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVkZJT19ERVZJQ0VfR0VUX0lSUV9JTkZPIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDkpCiBzdHJ1Y3QgdmZpb19pcnFfc2V0IHsKLSBfX3UzMiBhcmdzejsKKyAgX191MzIgYXJnc3o7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBmbGFnczsKICNkZWZpbmUgVkZJT19JUlFfU0VUX0RBVEFfTk9ORSAoMSA8PCAwKQogI2RlZmluZSBWRklPX0lSUV9TRVRfREFUQV9CT09MICgxIDw8IDEpCiAjZGVmaW5lIFZGSU9fSVJRX1NFVF9EQVRBX0VWRU5URkQgKDEgPDwgMikKQEAgLTk0LDEwNiArOTksMTMxIEBACiAjZGVmaW5lIFZGSU9fSVJRX1NFVF9BQ1RJT05fTUFTSyAoMSA8PCAzKQogI2RlZmluZSBWRklPX0lSUV9TRVRfQUNUSU9OX1VOTUFTSyAoMSA8PCA0KQogI2RlZmluZSBWRklPX0lSUV9TRVRfQUNUSU9OX1RSSUdHRVIgKDEgPDwgNSkKLSBfX3UzMiBpbmRleDsKKyAgX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN0YXJ0OwotIF9fdTMyIGNvdW50OwotIF9fdTggZGF0YVtdOworICBfX3UzMiBzdGFydDsKKyAgX191MzIgY291bnQ7CisgIF9fdTggZGF0YVtdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZGSU9fREVWSUNFX1NFVF9JUlFTIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDEwKQotI2RlZmluZSBWRklPX0lSUV9TRVRfREFUQV9UWVBFX01BU0sgKFZGSU9fSVJRX1NFVF9EQVRBX05PTkUgfCAgIFZGSU9fSVJRX1NFVF9EQVRBX0JPT0wgfCAgIFZGSU9fSVJRX1NFVF9EQVRBX0VWRU5URkQpCi0jZGVmaW5lIFZGSU9fSVJRX1NFVF9BQ1RJT05fVFlQRV9NQVNLIChWRklPX0lSUV9TRVRfQUNUSU9OX01BU0sgfCAgIFZGSU9fSVJRX1NFVF9BQ1RJT05fVU5NQVNLIHwgICBWRklPX0lSUV9TRVRfQUNUSU9OX1RSSUdHRVIpCisjZGVmaW5lIFZGSU9fSVJRX1NFVF9EQVRBX1RZUEVfTUFTSyAoVkZJT19JUlFfU0VUX0RBVEFfTk9ORSB8IFZGSU9fSVJRX1NFVF9EQVRBX0JPT0wgfCBWRklPX0lSUV9TRVRfREFUQV9FVkVOVEZEKQorI2RlZmluZSBWRklPX0lSUV9TRVRfQUNUSU9OX1RZUEVfTUFTSyAoVkZJT19JUlFfU0VUX0FDVElPTl9NQVNLIHwgVkZJT19JUlFfU0VUX0FDVElPTl9VTk1BU0sgfCBWRklPX0lSUV9TRVRfQUNUSU9OX1RSSUdHRVIpCiAjZGVmaW5lIFZGSU9fREVWSUNFX1JFU0VUIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDExKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFZGSU9fUENJX0JBUjBfUkVHSU9OX0lOREVYLAotIFZGSU9fUENJX0JBUjFfUkVHSU9OX0lOREVYLAotIFZGSU9fUENJX0JBUjJfUkVHSU9OX0lOREVYLAorICBWRklPX1BDSV9CQVIwX1JFR0lPTl9JTkRFWCwKKyAgVkZJT19QQ0lfQkFSMV9SRUdJT05fSU5ERVgsCisgIFZGSU9fUENJX0JBUjJfUkVHSU9OX0lOREVYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWRklPX1BDSV9CQVIzX1JFR0lPTl9JTkRFWCwKLSBWRklPX1BDSV9CQVI0X1JFR0lPTl9JTkRFWCwKLSBWRklPX1BDSV9CQVI1X1JFR0lPTl9JTkRFWCwKLSBWRklPX1BDSV9ST01fUkVHSU9OX0lOREVYLAorICBWRklPX1BDSV9CQVIzX1JFR0lPTl9JTkRFWCwKKyAgVkZJT19QQ0lfQkFSNF9SRUdJT05fSU5ERVgsCisgIFZGSU9fUENJX0JBUjVfUkVHSU9OX0lOREVYLAorICBWRklPX1BDSV9ST01fUkVHSU9OX0lOREVYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWRklPX1BDSV9DT05GSUdfUkVHSU9OX0lOREVYLAotIFZGSU9fUENJX1ZHQV9SRUdJT05fSU5ERVgsCi0gVkZJT19QQ0lfTlVNX1JFR0lPTlMKKyAgVkZJT19QQ0lfQ09ORklHX1JFR0lPTl9JTkRFWCwKKyAgVkZJT19QQ0lfVkdBX1JFR0lPTl9JTkRFWCwKKyAgVkZJT19QQ0lfTlVNX1JFR0lPTlMKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVkZJT19QQ0lfSU5UWF9JUlFfSU5ERVgsCi0gVkZJT19QQ0lfTVNJX0lSUV9JTkRFWCwKLSBWRklPX1BDSV9NU0lYX0lSUV9JTkRFWCwKKyAgVkZJT19QQ0lfSU5UWF9JUlFfSU5ERVgsCisgIFZGSU9fUENJX01TSV9JUlFfSU5ERVgsCisgIFZGSU9fUENJX01TSVhfSVJRX0lOREVYLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWRklPX1BDSV9FUlJfSVJRX0lOREVYLAotIFZGSU9fUENJX05VTV9JUlFTCisgIFZGSU9fUENJX0VSUl9JUlFfSU5ERVgsCisgIFZGSU9fUENJX05VTV9JUlFTCiB9Owogc3RydWN0IHZmaW9fcGNpX2RlcGVuZGVudF9kZXZpY2UgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBncm91cF9pZDsKLSBfX3UxNiBzZWdtZW50OwotIF9fdTggYnVzOwotIF9fdTggZGV2Zm47CisgIF9fdTMyIGdyb3VwX2lkOworICBfX3UxNiBzZWdtZW50OworICBfX3U4IGJ1czsKKyAgX191OCBkZXZmbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHZmaW9fcGNpX2hvdF9yZXNldF9pbmZvIHsKLSBfX3UzMiBhcmdzejsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgYXJnc3o7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb3VudDsKLSBzdHJ1Y3QgdmZpb19wY2lfZGVwZW5kZW50X2RldmljZSBkZXZpY2VzW107CisgIF9fdTMyIGNvdW50OworICBzdHJ1Y3QgdmZpb19wY2lfZGVwZW5kZW50X2RldmljZSBkZXZpY2VzW107CiB9OwogI2RlZmluZSBWRklPX0RFVklDRV9HRVRfUENJX0hPVF9SRVNFVF9JTkZPIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDEyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2ZmlvX3BjaV9ob3RfcmVzZXQgewotIF9fdTMyIGFyZ3N6OwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIGNvdW50OworICBfX3UzMiBhcmdzejsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIGNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBncm91cF9mZHNbXTsKKyAgX19zMzIgZ3JvdXBfZmRzW107CiB9OwogI2RlZmluZSBWRklPX0RFVklDRV9QQ0lfSE9UX1JFU0VUIF9JTyhWRklPX1RZUEUsIFZGSU9fQkFTRSArIDEzKQogc3RydWN0IHZmaW9faW9tbXVfdHlwZTFfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGFyZ3N6OwotIF9fdTMyIGZsYWdzOworICBfX3UzMiBhcmdzejsKKyAgX191MzIgZmxhZ3M7CiAjZGVmaW5lIFZGSU9fSU9NTVVfSU5GT19QR1NJWkVTICgxIDw8IDApCi0gX191NjQgaW92YV9wZ3NpemVzOworICBfX3U2NCBpb3ZhX3Bnc2l6ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVkZJT19JT01NVV9HRVRfSU5GTyBfSU8oVkZJT19UWVBFLCBWRklPX0JBU0UgKyAxMikKIHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2RtYV9tYXAgewotIF9fdTMyIGFyZ3N6OworICBfX3UzMiBhcmdzejsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZmxhZ3M7CisgIF9fdTMyIGZsYWdzOwogI2RlZmluZSBWRklPX0RNQV9NQVBfRkxBR19SRUFEICgxIDw8IDApCiAjZGVmaW5lIFZGSU9fRE1BX01BUF9GTEFHX1dSSVRFICgxIDw8IDEpCi0gX191NjQgdmFkZHI7CisgIF9fdTY0IHZhZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBpb3ZhOwotIF9fdTY0IHNpemU7CisgIF9fdTY0IGlvdmE7CisgIF9fdTY0IHNpemU7CiB9OwogI2RlZmluZSBWRklPX0lPTU1VX01BUF9ETUEgX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHZmaW9faW9tbXVfdHlwZTFfZG1hX3VubWFwIHsKLSBfX3UzMiBhcmdzejsKLSBfX3UzMiBmbGFnczsKLSBfX3U2NCBpb3ZhOworICBfX3UzMiBhcmdzejsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTY0IGlvdmE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHNpemU7CisgIF9fdTY0IHNpemU7CiB9OwogI2RlZmluZSBWRklPX0lPTU1VX1VOTUFQX0RNQSBfSU8oVkZJT19UWVBFLCBWRklPX0JBU0UgKyAxNCkKICNkZWZpbmUgVkZJT19JT01NVV9FTkFCTEUgX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTUpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWRklPX0lPTU1VX0RJU0FCTEUgX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTYpCiBzdHJ1Y3QgdmZpb19pb21tdV9zcGFwcl90Y2VfaW5mbyB7Ci0gX191MzIgYXJnc3o7Ci0gX191MzIgZmxhZ3M7CisgIF9fdTMyIGFyZ3N6OworICBfX3UzMiBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZG1hMzJfd2luZG93X3N0YXJ0OwotIF9fdTMyIGRtYTMyX3dpbmRvd19zaXplOworICBfX3UzMiBkbWEzMl93aW5kb3dfc3RhcnQ7CisgIF9fdTMyIGRtYTMyX3dpbmRvd19zaXplOwogfTsKICNkZWZpbmUgVkZJT19JT01NVV9TUEFQUl9UQ0VfR0VUX0lORk8gX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHZmaW9fZWVoX3BlX29wIHsKKyAgX191MzIgYXJnc3o7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBvcDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworI2RlZmluZSBWRklPX0VFSF9QRV9ESVNBQkxFIDAKKyNkZWZpbmUgVkZJT19FRUhfUEVfRU5BQkxFIDEKKyNkZWZpbmUgVkZJT19FRUhfUEVfVU5GUkVFWkVfSU8gMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVkZJT19FRUhfUEVfVU5GUkVFWkVfRE1BIDMKKyNkZWZpbmUgVkZJT19FRUhfUEVfR0VUX1NUQVRFIDQKKyNkZWZpbmUgVkZJT19FRUhfUEVfU1RBVEVfTk9STUFMIDAKKyNkZWZpbmUgVkZJT19FRUhfUEVfU1RBVEVfUkVTRVQgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVkZJT19FRUhfUEVfU1RBVEVfU1RPUFBFRCAyCisjZGVmaW5lIFZGSU9fRUVIX1BFX1NUQVRFX1NUT1BQRURfRE1BIDQKKyNkZWZpbmUgVkZJT19FRUhfUEVfU1RBVEVfVU5BVkFJTCA1CisjZGVmaW5lIFZGSU9fRUVIX1BFX1JFU0VUX0RFQUNUSVZBVEUgNQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVkZJT19FRUhfUEVfUkVTRVRfSE9UIDYKKyNkZWZpbmUgVkZJT19FRUhfUEVfUkVTRVRfRlVOREFNRU5UQUwgNworI2RlZmluZSBWRklPX0VFSF9QRV9DT05GSUdVUkUgOAorI2RlZmluZSBWRklPX0VFSF9QRV9PUCBfSU8oVkZJT19UWVBFLCBWRklPX0JBU0UgKyAyMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmhvc3QuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmhvc3QuaAppbmRleCBjNDljMDcxLi4wYTY2ZTdhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Zob3N0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aG9zdC5oCkBAIC0yNiwzOSArMjYsMzkgQEAKICNpbmNsdWRlIDxsaW51eC92aXJ0aW9fcmluZy5oPgogc3RydWN0IHZob3N0X3ZyaW5nX3N0YXRlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGluZGV4OwotIHVuc2lnbmVkIGludCBudW07CisgIHVuc2lnbmVkIGludCBpbmRleDsKKyAgdW5zaWduZWQgaW50IG51bTsKIH07CiBzdHJ1Y3Qgdmhvc3RfdnJpbmdfZmlsZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBpbmRleDsKLSBpbnQgZmQ7CisgIHVuc2lnbmVkIGludCBpbmRleDsKKyAgaW50IGZkOwogfTsKIHN0cnVjdCB2aG9zdF92cmluZ19hZGRyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGluZGV4OwotIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdW5zaWduZWQgaW50IGluZGV4OworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAjZGVmaW5lIFZIT1NUX1ZSSU5HX0ZfTE9HIDAKLSBfX3U2NCBkZXNjX3VzZXJfYWRkcjsKKyAgX191NjQgZGVzY191c2VyX2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVzZWRfdXNlcl9hZGRyOwotIF9fdTY0IGF2YWlsX3VzZXJfYWRkcjsKLSBfX3U2NCBsb2dfZ3Vlc3RfYWRkcjsKKyAgX191NjQgdXNlZF91c2VyX2FkZHI7CisgIF9fdTY0IGF2YWlsX3VzZXJfYWRkcjsKKyAgX191NjQgbG9nX2d1ZXN0X2FkZHI7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2aG9zdF9tZW1vcnlfcmVnaW9uIHsKLSBfX3U2NCBndWVzdF9waHlzX2FkZHI7Ci0gX191NjQgbWVtb3J5X3NpemU7Ci0gX191NjQgdXNlcnNwYWNlX2FkZHI7CisgIF9fdTY0IGd1ZXN0X3BoeXNfYWRkcjsKKyAgX191NjQgbWVtb3J5X3NpemU7CisgIF9fdTY0IHVzZXJzcGFjZV9hZGRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBmbGFnc19wYWRkaW5nOworICBfX3U2NCBmbGFnc19wYWRkaW5nOwogfTsKICNkZWZpbmUgVkhPU1RfUEFHRV9TSVpFIDB4MTAwMAogc3RydWN0IHZob3N0X21lbW9yeSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG5yZWdpb25zOwotIF9fdTMyIHBhZGRpbmc7Ci0gc3RydWN0IHZob3N0X21lbW9yeV9yZWdpb24gcmVnaW9uc1swXTsKKyAgX191MzIgbnJlZ2lvbnM7CisgIF9fdTMyIHBhZGRpbmc7CisgIHN0cnVjdCB2aG9zdF9tZW1vcnlfcmVnaW9uIHJlZ2lvbnNbMF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVkhPU1RfVklSVElPIDB4QUYKQEAgLTg2LDEwICs4NiwxMCBAQAogI2RlZmluZSBWSE9TVF9TQ1NJX0FCSV9WRVJTSU9OIDEKIHN0cnVjdCB2aG9zdF9zY3NpX3RhcmdldCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBhYmlfdmVyc2lvbjsKLSBjaGFyIHZob3N0X3d3cG5bMjI0XTsKLSB1bnNpZ25lZCBzaG9ydCB2aG9zdF90cGd0OwotIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkOworICBpbnQgYWJpX3ZlcnNpb247CisgIGNoYXIgdmhvc3Rfd3dwblsyMjRdOworICB1bnNpZ25lZCBzaG9ydCB2aG9zdF90cGd0OworICB1bnNpZ25lZCBzaG9ydCByZXNlcnZlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBWSE9TVF9TQ1NJX1NFVF9FTkRQT0lOVCBfSU9XKFZIT1NUX1ZJUlRJTywgMHg0MCwgc3RydWN0IHZob3N0X3Njc2lfdGFyZ2V0KQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aWRlb2RldjIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlkZW9kZXYyLmgKaW5kZXggYjFjNjA0Mi4uZGYzZWJjMyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aWRlb2RldjIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oCkBAIC0yOCwxMzkxICsyOCwxNTA4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURFT19NQVhfRlJBTUUgMzIKICNkZWZpbmUgVklERU9fTUFYX1BMQU5FUyA4Ci0jZGVmaW5lIHY0bDJfZm91cmNjKGEsIGIsIGMsIGQpICAoKF9fdTMyKShhKSB8ICgoX191MzIpKGIpIDw8IDgpIHwgKChfX3UzMikoYykgPDwgMTYpIHwgKChfX3UzMikoZCkgPDwgMjQpKQorI2RlZmluZSB2NGwyX2ZvdXJjYyhhLGIsYyxkKSAoKF9fdTMyKSAoYSkgfCAoKF9fdTMyKSAoYikgPDwgOCkgfCAoKF9fdTMyKSAoYykgPDwgMTYpIHwgKChfX3UzMikgKGQpIDw8IDI0KSkKKyNkZWZpbmUgdjRsMl9mb3VyY2NfYmUoYSxiLGMsZCkgKHY0bDJfZm91cmNjKGEsIGIsIGMsIGQpIHwgKDEgPDwgMzEpKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9maWVsZCB7CisgIFY0TDJfRklFTERfQU5ZID0gMCwKKyAgVjRMMl9GSUVMRF9OT05FID0gMSwKKyAgVjRMMl9GSUVMRF9UT1AgPSAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0ZJRUxEX0FOWSA9IDAsCi0gVjRMMl9GSUVMRF9OT05FID0gMSwKLSBWNEwyX0ZJRUxEX1RPUCA9IDIsCi0gVjRMMl9GSUVMRF9CT1RUT00gPSAzLAorICBWNEwyX0ZJRUxEX0JPVFRPTSA9IDMsCisgIFY0TDJfRklFTERfSU5URVJMQUNFRCA9IDQsCisgIFY0TDJfRklFTERfU0VRX1RCID0gNSwKKyAgVjRMMl9GSUVMRF9TRVFfQlQgPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQgPSA0LAotIFY0TDJfRklFTERfU0VRX1RCID0gNSwKLSBWNEwyX0ZJRUxEX1NFUV9CVCA9IDYsCi0gVjRMMl9GSUVMRF9BTFRFUk5BVEUgPSA3LAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfVEIgPSA4LAotIFY0TDJfRklFTERfSU5URVJMQUNFRF9CVCA9IDksCisgIFY0TDJfRklFTERfQUxURVJOQVRFID0gNywKKyAgVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX1RCID0gOCwKKyAgVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX0JUID0gOSwKIH07Ci0jZGVmaW5lIFY0TDJfRklFTERfSEFTX1RPUChmaWVsZCkgICAoKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1RPUCB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQgfHwgIChmaWVsZCkgPT0gVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX1RCIHx8ICAoZmllbGQpID09IFY0TDJfRklFTERfSU5URVJMQUNFRF9CVCB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9UQiB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9CVCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfRklFTERfSEFTX0JPVFRPTShmaWVsZCkgICAoKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0JPVFRPTSB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQgfHwgIChmaWVsZCkgPT0gVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX1RCIHx8ICAoZmllbGQpID09IFY0TDJfRklFTERfSU5URVJMQUNFRF9CVCB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9UQiB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9CVCkKLSNkZWZpbmUgVjRMMl9GSUVMRF9IQVNfQk9USChmaWVsZCkgICAoKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQgfHwgIChmaWVsZCkgPT0gVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX1RCIHx8ICAoZmllbGQpID09IFY0TDJfRklFTERfSU5URVJMQUNFRF9CVCB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9UQiB8fCAgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9CVCkKKyNkZWZpbmUgVjRMMl9GSUVMRF9IQVNfVE9QKGZpZWxkKSAoKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1RPUCB8fCAoZmllbGQpID09IFY0TDJfRklFTERfSU5URVJMQUNFRCB8fCAoZmllbGQpID09IFY0TDJfRklFTERfSU5URVJMQUNFRF9UQiB8fCAoZmllbGQpID09IFY0TDJfRklFTERfSU5URVJMQUNFRF9CVCB8fCAoZmllbGQpID09IFY0TDJfRklFTERfU0VRX1RCIHx8IChmaWVsZCkgPT0gVjRMMl9GSUVMRF9TRVFfQlQpCisjZGVmaW5lIFY0TDJfRklFTERfSEFTX0JPVFRPTShmaWVsZCkgKChmaWVsZCkgPT0gVjRMMl9GSUVMRF9CT1RUT00gfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfVEIgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfQlQgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9UQiB8fCAoZmllbGQpID09IFY0TDJfRklFTERfU0VRX0JUKQorI2RlZmluZSBWNEwyX0ZJRUxEX0hBU19CT1RIKGZpZWxkKSAoKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfVEIgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0lOVEVSTEFDRURfQlQgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX1NFUV9UQiB8fCAoZmllbGQpID09IFY0TDJfRklFTERfU0VRX0JUKQorI2RlZmluZSBWNEwyX0ZJRUxEX0hBU19UX09SX0IoZmllbGQpICgoZmllbGQpID09IFY0TDJfRklFTERfQk9UVE9NIHx8IChmaWVsZCkgPT0gVjRMMl9GSUVMRF9UT1AgfHwgKGZpZWxkKSA9PSBWNEwyX0ZJRUxEX0FMVEVSTkFURSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHY0bDJfYnVmX3R5cGUgewotIFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRSA9IDEsCisgIFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRSA9IDEsCisgIFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUID0gMiwKKyAgVjRMMl9CVUZfVFlQRV9WSURFT19PVkVSTEFZID0gMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVQgPSAyLAotIFY0TDJfQlVGX1RZUEVfVklERU9fT1ZFUkxBWSA9IDMsCi0gVjRMMl9CVUZfVFlQRV9WQklfQ0FQVFVSRSA9IDQsCi0gVjRMMl9CVUZfVFlQRV9WQklfT1VUUFVUID0gNSwKKyAgVjRMMl9CVUZfVFlQRV9WQklfQ0FQVFVSRSA9IDQsCisgIFY0TDJfQlVGX1RZUEVfVkJJX09VVFBVVCA9IDUsCisgIFY0TDJfQlVGX1RZUEVfU0xJQ0VEX1ZCSV9DQVBUVVJFID0gNiwKKyAgVjRMMl9CVUZfVFlQRV9TTElDRURfVkJJX09VVFBVVCA9IDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQlVGX1RZUEVfU0xJQ0VEX1ZCSV9DQVBUVVJFID0gNiwKLSBWNEwyX0JVRl9UWVBFX1NMSUNFRF9WQklfT1VUUFVUID0gNywKLSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9PVkVSTEFZID0gOCwKLSBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkVfTVBMQU5FID0gOSwKKyAgVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVRfT1ZFUkxBWSA9IDgsCisgIFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRV9NUExBTkUgPSA5LAorICBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9NUExBTkUgPSAxMCwKKyAgVjRMMl9CVUZfVFlQRV9TRFJfQ0FQVFVSRSA9IDExLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9NUExBTkUgPSAxMCwKLSBWNEwyX0JVRl9UWVBFX1BSSVZBVEUgPSAweDgwLAorICBWNEwyX0JVRl9UWVBFX1BSSVZBVEUgPSAweDgwLAogfTsKLSNkZWZpbmUgVjRMMl9UWVBFX0lTX01VTFRJUExBTkFSKHR5cGUpICAgKCh0eXBlKSA9PSBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkVfTVBMQU5FICAgfHwgKHR5cGUpID09IFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX01QTEFORSkKKyNkZWZpbmUgVjRMMl9UWVBFX0lTX01VTFRJUExBTkFSKHR5cGUpICgodHlwZSkgPT0gVjRMMl9CVUZfVFlQRV9WSURFT19DQVBUVVJFX01QTEFORSB8fCAodHlwZSkgPT0gVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVRfTVBMQU5FKQorI2RlZmluZSBWNEwyX1RZUEVfSVNfT1VUUFVUKHR5cGUpICgodHlwZSkgPT0gVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVQgfHwgKHR5cGUpID09IFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX01QTEFORSB8fCAodHlwZSkgPT0gVjRMMl9CVUZfVFlQRV9WSURFT19PVkVSTEFZIHx8ICh0eXBlKSA9PSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9PVkVSTEFZIHx8ICh0eXBlKSA9PSBWNEwyX0JVRl9UWVBFX1ZCSV9PVVRQVVQgfHwgKHR5cGUpID09IFY0TDJfQlVGX1RZUEVfU0xJQ0VEX1ZCSV9PVVRQVVQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX1RZUEVfSVNfT1VUUFVUKHR5cGUpICAgKCh0eXBlKSA9PSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVCAgIHx8ICh0eXBlKSA9PSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9NUExBTkUgICB8fCAodHlwZSkgPT0gVjRMMl9CVUZfVFlQRV9WSURFT19PVkVSTEFZICAgfHwgKHR5cGUpID09IFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX09WRVJMQVkgICB8fCAodHlwZSkgPT0gVjRMMl9CVUZfVFlQRV9WQklfT1VUUFVUICAgfHwgKHR5cGUpID09IFY0TDJfQlVGX1RZUEVfU0xJQ0VEX1ZCSV9PVVRQVVQpCiBlbnVtIHY0bDJfdHVuZXJfdHlwZSB7Ci0gVjRMMl9UVU5FUl9SQURJTyA9IDEsCi0gVjRMMl9UVU5FUl9BTkFMT0dfVFYgPSAyLAorICBWNEwyX1RVTkVSX1JBRElPID0gMSwKKyAgVjRMMl9UVU5FUl9BTkFMT0dfVFYgPSAyLAorICBWNEwyX1RVTkVSX0RJR0lUQUxfVFYgPSAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX1RVTkVSX0RJR0lUQUxfVFYgPSAzLAorICBWNEwyX1RVTkVSX0FEQyA9IDQsCisgIFY0TDJfVFVORVJfUkYgPSA1LAogfTsKIGVudW0gdjRsMl9tZW1vcnkgewotIFY0TDJfTUVNT1JZX01NQVAgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX01FTU9SWV9VU0VSUFRSID0gMiwKLSBWNEwyX01FTU9SWV9PVkVSTEFZID0gMywKLSBWNEwyX01FTU9SWV9ETUFCVUYgPSA0LAorICBWNEwyX01FTU9SWV9NTUFQID0gMSwKKyAgVjRMMl9NRU1PUllfVVNFUlBUUiA9IDIsCisgIFY0TDJfTUVNT1JZX09WRVJMQVkgPSAzLAorICBWNEwyX01FTU9SWV9ETUFCVUYgPSA0LAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB2NGwyX2NvbG9yc3BhY2UgewotIFY0TDJfQ09MT1JTUEFDRV9TTVBURTE3ME0gPSAxLAotIFY0TDJfQ09MT1JTUEFDRV9TTVBURTI0ME0gPSAyLAotIFY0TDJfQ09MT1JTUEFDRV9SRUM3MDkgPSAzLAorICBWNEwyX0NPTE9SU1BBQ0VfU01QVEUxNzBNID0gMSwKKyAgVjRMMl9DT0xPUlNQQUNFX1NNUFRFMjQwTSA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQ09MT1JTUEFDRV9CVDg3OCA9IDQsCi0gVjRMMl9DT0xPUlNQQUNFXzQ3MF9TWVNURU1fTSA9IDUsCi0gVjRMMl9DT0xPUlNQQUNFXzQ3MF9TWVNURU1fQkcgPSA2LAotIFY0TDJfQ09MT1JTUEFDRV9KUEVHID0gNywKKyAgVjRMMl9DT0xPUlNQQUNFX1JFQzcwOSA9IDMsCisgIFY0TDJfQ09MT1JTUEFDRV9CVDg3OCA9IDQsCisgIFY0TDJfQ09MT1JTUEFDRV80NzBfU1lTVEVNX00gPSA1LAorICBWNEwyX0NPTE9SU1BBQ0VfNDcwX1NZU1RFTV9CRyA9IDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQ09MT1JTUEFDRV9TUkdCID0gOCwKKyAgVjRMMl9DT0xPUlNQQUNFX0pQRUcgPSA3LAorICBWNEwyX0NPTE9SU1BBQ0VfU1JHQiA9IDgsCiB9OwogZW51bSB2NGwyX3ByaW9yaXR5IHsKLSBWNEwyX1BSSU9SSVRZX1VOU0VUID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gVjRMMl9QUklPUklUWV9CQUNLR1JPVU5EID0gMSwKLSBWNEwyX1BSSU9SSVRZX0lOVEVSQUNUSVZFID0gMiwKLSBWNEwyX1BSSU9SSVRZX1JFQ09SRCA9IDMsCi0gVjRMMl9QUklPUklUWV9ERUZBVUxUID0gVjRMMl9QUklPUklUWV9JTlRFUkFDVElWRSwKKyAgVjRMMl9QUklPUklUWV9VTlNFVCA9IDAsCisgIFY0TDJfUFJJT1JJVFlfQkFDS0dST1VORCA9IDEsCisgIFY0TDJfUFJJT1JJVFlfSU5URVJBQ1RJVkUgPSAyLAorICBWNEwyX1BSSU9SSVRZX1JFQ09SRCA9IDMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBWNEwyX1BSSU9SSVRZX0RFRkFVTFQgPSBWNEwyX1BSSU9SSVRZX0lOVEVSQUNUSVZFLAogfTsKIHN0cnVjdCB2NGwyX3JlY3QgewotIF9fczMyIGxlZnQ7Ci0gX19zMzIgdG9wOworICBfX3MzMiBsZWZ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7CisgIF9fczMyIHRvcDsKKyAgX191MzIgd2lkdGg7CisgIF9fdTMyIGhlaWdodDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfZnJhY3QgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBudW1lcmF0b3I7Ci0gX191MzIgZGVub21pbmF0b3I7CisgIF9fdTMyIG51bWVyYXRvcjsKKyAgX191MzIgZGVub21pbmF0b3I7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2NhcGFiaWxpdHkgeworICBfX3U4IGRyaXZlclsxNl07CisgIF9fdTggY2FyZFszMl07CisgIF9fdTggYnVzX2luZm9bMzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGRyaXZlclsxNl07Ci0gX191OCBjYXJkWzMyXTsKLSBfX3U4IGJ1c19pbmZvWzMyXTsKLSBfX3UzMiB2ZXJzaW9uOworICBfX3UzMiB2ZXJzaW9uOworICBfX3UzMiBjYXBhYmlsaXRpZXM7CisgIF9fdTMyIGRldmljZV9jYXBzOworICBfX3UzMiByZXNlcnZlZFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY2FwYWJpbGl0aWVzOwotIF9fdTMyIGRldmljZV9jYXBzOwotIF9fdTMyIHJlc2VydmVkWzNdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0FQX1ZJREVPX0NBUFRVUkUgMHgwMDAwMDAwMQogI2RlZmluZSBWNEwyX0NBUF9WSURFT19PVVRQVVQgMHgwMDAwMDAwMgogI2RlZmluZSBWNEwyX0NBUF9WSURFT19PVkVSTEFZIDB4MDAwMDAwMDQKLSNkZWZpbmUgVjRMMl9DQVBfVkJJX0NBUFRVUkUgMHgwMDAwMDAxMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9DQVBfVkJJX0NBUFRVUkUgMHgwMDAwMDAxMAogI2RlZmluZSBWNEwyX0NBUF9WQklfT1VUUFVUIDB4MDAwMDAwMjAKICNkZWZpbmUgVjRMMl9DQVBfU0xJQ0VEX1ZCSV9DQVBUVVJFIDB4MDAwMDAwNDAKICNkZWZpbmUgVjRMMl9DQVBfU0xJQ0VEX1ZCSV9PVVRQVVQgMHgwMDAwMDA4MAotI2RlZmluZSBWNEwyX0NBUF9SRFNfQ0FQVFVSRSAweDAwMDAwMTAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NBUF9SRFNfQ0FQVFVSRSAweDAwMDAwMTAwCiAjZGVmaW5lIFY0TDJfQ0FQX1ZJREVPX09VVFBVVF9PVkVSTEFZIDB4MDAwMDAyMDAKICNkZWZpbmUgVjRMMl9DQVBfSFdfRlJFUV9TRUVLIDB4MDAwMDA0MDAKICNkZWZpbmUgVjRMMl9DQVBfUkRTX09VVFBVVCAweDAwMDAwODAwCi0jZGVmaW5lIFY0TDJfQ0FQX1ZJREVPX0NBUFRVUkVfTVBMQU5FIDB4MDAwMDEwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfQ0FQX1ZJREVPX0NBUFRVUkVfTVBMQU5FIDB4MDAwMDEwMDAKICNkZWZpbmUgVjRMMl9DQVBfVklERU9fT1VUUFVUX01QTEFORSAweDAwMDAyMDAwCiAjZGVmaW5lIFY0TDJfQ0FQX1ZJREVPX00yTV9NUExBTkUgMHgwMDAwNDAwMAogI2RlZmluZSBWNEwyX0NBUF9WSURFT19NMk0gMHgwMDAwODAwMAotI2RlZmluZSBWNEwyX0NBUF9UVU5FUiAweDAwMDEwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0NBUF9UVU5FUiAweDAwMDEwMDAwCiAjZGVmaW5lIFY0TDJfQ0FQX0FVRElPIDB4MDAwMjAwMDAKICNkZWZpbmUgVjRMMl9DQVBfUkFESU8gMHgwMDA0MDAwMAogI2RlZmluZSBWNEwyX0NBUF9NT0RVTEFUT1IgMHgwMDA4MDAwMAotI2RlZmluZSBWNEwyX0NBUF9SRUFEV1JJVEUgMHgwMTAwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9DQVBfU0RSX0NBUFRVUkUgMHgwMDEwMDAwMAorI2RlZmluZSBWNEwyX0NBUF9FWFRfUElYX0ZPUk1BVCAweDAwMjAwMDAwCisjZGVmaW5lIFY0TDJfQ0FQX1JFQURXUklURSAweDAxMDAwMDAwCiAjZGVmaW5lIFY0TDJfQ0FQX0FTWU5DSU8gMHgwMjAwMDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DQVBfU1RSRUFNSU5HIDB4MDQwMDAwMDAKICNkZWZpbmUgVjRMMl9DQVBfREVWSUNFX0NBUFMgMHg4MDAwMDAwMAogc3RydWN0IHY0bDJfcGl4X2Zvcm1hdCB7CisgIF9fdTMyIHdpZHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7Ci0gX191MzIgcGl4ZWxmb3JtYXQ7Ci0gX191MzIgZmllbGQ7CisgIF9fdTMyIGhlaWdodDsKKyAgX191MzIgcGl4ZWxmb3JtYXQ7CisgIF9fdTMyIGZpZWxkOworICBfX3UzMiBieXRlc3BlcmxpbmU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGJ5dGVzcGVybGluZTsKLSBfX3UzMiBzaXplaW1hZ2U7Ci0gX191MzIgY29sb3JzcGFjZTsKLSBfX3UzMiBwcml2OworICBfX3UzMiBzaXplaW1hZ2U7CisgIF9fdTMyIGNvbG9yc3BhY2U7CisgIF9fdTMyIHByaXY7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9SR0IzMzIgdjRsMl9mb3VyY2MoJ1InLCAnRycsICdCJywgJzEnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfUkdCNDQ0IHY0bDJfZm91cmNjKCdSJywgJzQnLCAnNCcsICc0JykKKyNkZWZpbmUgVjRMMl9QSVhfRk1UX0FSR0I0NDQgdjRsMl9mb3VyY2MoJ0EnLCAnUicsICcxJywgJzInKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9QSVhfRk1UX1hSR0I0NDQgdjRsMl9mb3VyY2MoJ1gnLCAnUicsICcxJywgJzInKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfUkdCNTU1IHY0bDJfZm91cmNjKCdSJywgJ0cnLCAnQicsICdPJykKKyNkZWZpbmUgVjRMMl9QSVhfRk1UX0FSR0I1NTUgdjRsMl9mb3VyY2MoJ0EnLCAnUicsICcxJywgJzUnKQorI2RlZmluZSBWNEwyX1BJWF9GTVRfWFJHQjU1NSB2NGwyX2ZvdXJjYygnWCcsICdSJywgJzEnLCAnNScpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfUkdCNTY1IHY0bDJfZm91cmNjKCdSJywgJ0cnLCAnQicsICdQJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1JHQjU1NVggdjRsMl9mb3VyY2MoJ1InLCAnRycsICdCJywgJ1EnKQorI2RlZmluZSBWNEwyX1BJWF9GTVRfQVJHQjU1NVggdjRsMl9mb3VyY2NfYmUoJ0EnLCAnUicsICcxJywgJzUnKQorI2RlZmluZSBWNEwyX1BJWF9GTVRfWFJHQjU1NVggdjRsMl9mb3VyY2NfYmUoJ1gnLCAnUicsICcxJywgJzUnKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1JHQjU2NVggdjRsMl9mb3VyY2MoJ1InLCAnRycsICdCJywgJ1InKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfQkdSNjY2IHY0bDJfZm91cmNjKCdCJywgJ0cnLCAnUicsICdIJykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9CR1IyNCB2NGwyX2ZvdXJjYygnQicsICdHJywgJ1InLCAnMycpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9SR0IyNCB2NGwyX2ZvdXJjYygnUicsICdHJywgJ0InLCAnMycpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfQkdSMzIgdjRsMl9mb3VyY2MoJ0InLCAnRycsICdSJywgJzQnKQorI2RlZmluZSBWNEwyX1BJWF9GTVRfQUJHUjMyIHY0bDJfZm91cmNjKCdBJywgJ1InLCAnMicsICc0JykKKyNkZWZpbmUgVjRMMl9QSVhfRk1UX1hCR1IzMiB2NGwyX2ZvdXJjYygnWCcsICdSJywgJzInLCAnNCcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9SR0IzMiB2NGwyX2ZvdXJjYygnUicsICdHJywgJ0InLCAnNCcpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1BJWF9GTVRfQVJHQjMyIHY0bDJfZm91cmNjKCdCJywgJ0EnLCAnMicsICc0JykKKyNkZWZpbmUgVjRMMl9QSVhfRk1UX1hSR0IzMiB2NGwyX2ZvdXJjYygnQicsICdYJywgJzInLCAnNCcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9HUkVZIHY0bDJfZm91cmNjKCdHJywgJ1InLCAnRScsICdZJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1k0IHY0bDJfZm91cmNjKCdZJywgJzAnLCAnNCcsICcgJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZNiB2NGwyX2ZvdXJjYygnWScsICcwJywgJzYnLCAnICcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZMTAgdjRsMl9mb3VyY2MoJ1knLCAnMScsICcwJywgJyAnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1kxMiB2NGwyX2ZvdXJjYygnWScsICcxJywgJzInLCAnICcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZMTYgdjRsMl9mb3VyY2MoJ1knLCAnMScsICc2JywgJyAnKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1kxMEJQQUNLIHY0bDJfZm91cmNjKCdZJywgJzEnLCAnMCcsICdCJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1BBTDggdjRsMl9mb3VyY2MoJ1AnLCAnQScsICdMJywgJzgnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1VWOCB2NGwyX2ZvdXJjYygnVScsICdWJywgJzgnLCAnICcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZVlU0MTAgdjRsMl9mb3VyY2MoJ1knLCAnVicsICdVJywgJzknKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1lWVTQyMCB2NGwyX2ZvdXJjYygnWScsICdWJywgJzEnLCAnMicpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZVVlWIHY0bDJfZm91cmNjKCdZJywgJ1UnLCAnWScsICdWJykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZWVVWIHY0bDJfZm91cmNjKCdZJywgJ1knLCAnVScsICdWJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1lWWVUgdjRsMl9mb3VyY2MoJ1knLCAnVicsICdZJywgJ1UnKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1VZVlkgdjRsMl9mb3VyY2MoJ1UnLCAnWScsICdWJywgJ1knKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfVllVWSB2NGwyX2ZvdXJjYygnVicsICdZJywgJ1UnLCAnWScpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfWVVWNDIyUCB2NGwyX2ZvdXJjYygnNCcsICcyJywgJzInLCAnUCcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZVVY0MTFQIHY0bDJfZm91cmNjKCc0JywgJzEnLCAnMScsICdQJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZNDFQIHY0bDJfZm91cmNjKCdZJywgJzQnLCAnMScsICdQJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1lVVjQ0NCB2NGwyX2ZvdXJjYygnWScsICc0JywgJzQnLCAnNCcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfWVVWNTU1IHY0bDJfZm91cmNjKCdZJywgJ1UnLCAnVicsICdPJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1lVVjU2NSB2NGwyX2ZvdXJjYygnWScsICdVJywgJ1YnLCAnUCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfWVVWMzIgdjRsMl9mb3VyY2MoJ1knLCAnVScsICdWJywgJzQnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfWVVWNDEwIHY0bDJfZm91cmNjKCdZJywgJ1UnLCAnVicsICc5JykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZVVY0MjAgdjRsMl9mb3VyY2MoJ1knLCAnVScsICcxJywgJzInKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfSEkyNDAgdjRsMl9mb3VyY2MoJ0gnLCAnSScsICcyJywgJzQnKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX0hNMTIgdjRsMl9mb3VyY2MoJ0gnLCAnTScsICcxJywgJzInKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfTTQyMCB2NGwyX2ZvdXJjYygnTScsICc0JywgJzInLCAnMCcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfTlYxMiB2NGwyX2ZvdXJjYygnTicsICdWJywgJzEnLCAnMicpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9OVjIxIHY0bDJfZm91cmNjKCdOJywgJ1YnLCAnMicsICcxJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9OVjE2IHY0bDJfZm91cmNjKCdOJywgJ1YnLCAnMScsICc2JykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX05WNjEgdjRsMl9mb3VyY2MoJ04nLCAnVicsICc2JywgJzEnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX05WMjQgdjRsMl9mb3VyY2MoJ04nLCAnVicsICcyJywgJzQnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfTlY0MiB2NGwyX2ZvdXJjYygnTicsICdWJywgJzQnLCAnMicpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfTlYxMk0gdjRsMl9mb3VyY2MoJ04nLCAnTScsICcxJywgJzInKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfTlYyMU0gdjRsMl9mb3VyY2MoJ04nLCAnTScsICcyJywgJzEnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX05WMTZNIHY0bDJfZm91cmNjKCdOJywgJ00nLCAnMScsICc2JykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX05WNjFNIHY0bDJfZm91cmNjKCdOJywgJ00nLCAnNicsICcxJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9OVjEyTVQgdjRsMl9mb3VyY2MoJ1QnLCAnTScsICcxJywgJzInKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfTlYxMk1UXzE2WDE2IHY0bDJfZm91cmNjKCdWJywgJ00nLCAnMScsICcyJykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9ZVVY0MjBNIHY0bDJfZm91cmNjKCdZJywgJ00nLCAnMScsICcyJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1lWVTQyME0gdjRsMl9mb3VyY2MoJ1knLCAnTScsICcyJywgJzEnKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NCR0dSOCB2NGwyX2ZvdXJjYygnQicsICdBJywgJzgnLCAnMScpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TR0JSRzggdjRsMl9mb3VyY2MoJ0cnLCAnQicsICdSJywgJ0cnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NHUkJHOCB2NGwyX2ZvdXJjYygnRycsICdSJywgJ0InLCAnRycpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TUkdHQjggdjRsMl9mb3VyY2MoJ1InLCAnRycsICdHJywgJ0InKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NCR0dSMTAgdjRsMl9mb3VyY2MoJ0InLCAnRycsICcxJywgJzAnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0dCUkcxMCB2NGwyX2ZvdXJjYygnRycsICdCJywgJzEnLCAnMCcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0dSQkcxMCB2NGwyX2ZvdXJjYygnQicsICdBJywgJzEnLCAnMCcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TUkdHQjEwIHY0bDJfZm91cmNjKCdSJywgJ0cnLCAnMScsICcwJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TQkdHUjEyIHY0bDJfZm91cmNjKCdCJywgJ0cnLCAnMScsICcyJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NHQlJHMTIgdjRsMl9mb3VyY2MoJ0cnLCAnQicsICcxJywgJzInKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NHUkJHMTIgdjRsMl9mb3VyY2MoJ0InLCAnQScsICcxJywgJzInKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfU1JHR0IxMiB2NGwyX2ZvdXJjYygnUicsICdHJywgJzEnLCAnMicpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0JHR1IxMEFMQVc4IHY0bDJfZm91cmNjKCdhJywgJ0InLCAnQScsICc4JykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NHQlJHMTBBTEFXOCB2NGwyX2ZvdXJjYygnYScsICdHJywgJ0EnLCAnOCcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0dSQkcxMEFMQVc4IHY0bDJfZm91cmNjKCdhJywgJ2cnLCAnQScsICc4JykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NSR0dCMTBBTEFXOCB2NGwyX2ZvdXJjYygnYScsICdSJywgJ0EnLCAnOCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0JHR1IxMERQQ004IHY0bDJfZm91cmNjKCdiJywgJ0InLCAnQScsICc4JykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NHQlJHMTBEUENNOCB2NGwyX2ZvdXJjYygnYicsICdHJywgJ0EnLCAnOCcpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0dSQkcxMERQQ004IHY0bDJfZm91cmNjKCdCJywgJ0QnLCAnMScsICcwJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NSR0dCMTBEUENNOCB2NGwyX2ZvdXJjYygnYicsICdSJywgJ0EnLCAnOCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfU0JHR1IxNiB2NGwyX2ZvdXJjYygnQicsICdZJywgJ1InLCAnMicpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9NSlBFRyB2NGwyX2ZvdXJjYygnTScsICdKJywgJ1AnLCAnRycpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfSlBFRyB2NGwyX2ZvdXJjYygnSicsICdQJywgJ0UnLCAnRycpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9EViB2NGwyX2ZvdXJjYygnZCcsICd2JywgJ3MnLCAnZCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfTVBFRyB2NGwyX2ZvdXJjYygnTScsICdQJywgJ0UnLCAnRycpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9IMjY0IHY0bDJfZm91cmNjKCdIJywgJzInLCAnNicsICc0JykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9IMjY0X05PX1NDIHY0bDJfZm91cmNjKCdBJywgJ1YnLCAnQycsICcxJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX0gyNjRfTVZDIHY0bDJfZm91cmNjKCdNJywgJzInLCAnNicsICc0JykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9IMjYzIHY0bDJfZm91cmNjKCdIJywgJzInLCAnNicsICczJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX01QRUcxIHY0bDJfZm91cmNjKCdNJywgJ1AnLCAnRycsICcxJykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9NUEVHMiB2NGwyX2ZvdXJjYygnTScsICdQJywgJ0cnLCAnMicpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9NUEVHNCB2NGwyX2ZvdXJjYygnTScsICdQJywgJ0cnLCAnNCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfWFZJRCB2NGwyX2ZvdXJjYygnWCcsICdWJywgJ0knLCAnRCcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9WQzFfQU5ORVhfRyB2NGwyX2ZvdXJjYygnVicsICdDJywgJzEnLCAnRycpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfVkMxX0FOTkVYX0wgdjRsMl9mb3VyY2MoJ1YnLCAnQycsICcxJywgJ0wnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfVlA4IHY0bDJfZm91cmNjKCdWJywgJ1AnLCAnOCcsICcwJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9DUElBMSB2NGwyX2ZvdXJjYygnQycsICdQJywgJ0knLCAnQScpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9XTlZBIHY0bDJfZm91cmNjKCdXJywgJ04nLCAnVicsICdBJykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TTjlDMTBYIHY0bDJfZm91cmNjKCdTJywgJzknLCAnMScsICcwJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NOOUMyMFhfSTQyMCB2NGwyX2ZvdXJjYygnUycsICc5JywgJzInLCAnMCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfUFdDMSB2NGwyX2ZvdXJjYygnUCcsICdXJywgJ0MnLCAnMScpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9QV0MyIHY0bDJfZm91cmNjKCdQJywgJ1cnLCAnQycsICcyJykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9FVDYxWDI1MSB2NGwyX2ZvdXJjYygnRScsICc2JywgJzInLCAnNScpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TUENBNTAxIHY0bDJfZm91cmNjKCdTJywgJzUnLCAnMCcsICcxJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TUENBNTA1IHY0bDJfZm91cmNjKCdTJywgJzUnLCAnMCcsICc1JykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NQQ0E1MDggdjRsMl9mb3VyY2MoJ1MnLCAnNScsICcwJywgJzgnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NQQ0E1NjEgdjRsMl9mb3VyY2MoJ1MnLCAnNScsICc2JywgJzEnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfUEFDMjA3IHY0bDJfZm91cmNjKCdQJywgJzInLCAnMCcsICc3JykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9NUjk3MzEwQSB2NGwyX2ZvdXJjYygnTScsICczJywgJzEnLCAnMCcpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9KTDIwMDVCQ0QgdjRsMl9mb3VyY2MoJ0onLCAnTCcsICcyJywgJzAnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NOOUMyMDI4IHY0bDJfZm91cmNjKCdTJywgJ08nLCAnTicsICdYJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX1NROTA1QyB2NGwyX2ZvdXJjYygnOScsICcwJywgJzUnLCAnQycpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfUEpQRyB2NGwyX2ZvdXJjYygnUCcsICdKJywgJ1AnLCAnRycpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9PVjUxMSB2NGwyX2ZvdXJjYygnTycsICc1JywgJzEnLCAnMScpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfT1Y1MTggdjRsMl9mb3VyY2MoJ08nLCAnNScsICcxJywgJzgnKQogI2RlZmluZSBWNEwyX1BJWF9GTVRfU1RWMDY4MCB2NGwyX2ZvdXJjYygnUycsICc2JywgJzgnLCAnMCcpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1BJWF9GTVRfVE02MDAwIHY0bDJfZm91cmNjKCdUJywgJ00nLCAnNicsICcwJykKICNkZWZpbmUgVjRMMl9QSVhfRk1UX0NJVF9ZWVZZVVkgdjRsMl9mb3VyY2MoJ0MnLCAnSScsICdUJywgJ1YnKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9QSVhfRk1UX0tPTklDQTQyMCB2NGwyX2ZvdXJjYygnSycsICdPJywgJ04nLCAnSScpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9KUEdMIHY0bDJfZm91cmNjKCdKJywgJ1AnLCAnRycsICdMJykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TRTQwMSB2NGwyX2ZvdXJjYygnUycsICc0JywgJzAnLCAnMScpCiAjZGVmaW5lIFY0TDJfUElYX0ZNVF9TNUNfVVlWWV9KUEcgdjRsMl9mb3VyY2MoJ1MnLCAnNScsICdDJywgJ0knKQorI2RlZmluZSBWNEwyX1NEUl9GTVRfQ1U4IHY0bDJfZm91cmNjKCdDJywgJ1UnLCAnMCcsICc4JykKKyNkZWZpbmUgVjRMMl9TRFJfRk1UX0NVMTZMRSB2NGwyX2ZvdXJjYygnQycsICdVJywgJzEnLCAnNicpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1NEUl9GTVRfQ1M4IHY0bDJfZm91cmNjKCdDJywgJ1MnLCAnMCcsICc4JykKKyNkZWZpbmUgVjRMMl9TRFJfRk1UX0NTMTRMRSB2NGwyX2ZvdXJjYygnQycsICdTJywgJzEnLCAnNCcpCisjZGVmaW5lIFY0TDJfU0RSX0ZNVF9SVTEyTEUgdjRsMl9mb3VyY2MoJ1InLCAnVScsICcxJywgJzInKQorI2RlZmluZSBWNEwyX1BJWF9GTVRfUFJJVl9NQUdJQyAweGZlZWRjYWZlCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1BJWF9GTVRfRkxBR19QUkVNVUxfQUxQSEEgMHgwMDAwMDAwMQogc3RydWN0IHY0bDJfZm10ZGVzYyB7Ci0gX191MzIgaW5kZXg7Ci0gX191MzIgdHlwZTsKLSBfX3UzMiBmbGFnczsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGVzY3JpcHRpb25bMzJdOwotIF9fdTMyIHBpeGVsZm9ybWF0OwotIF9fdTMyIHJlc2VydmVkWzRdOworICBfX3UzMiBmbGFnczsKKyAgX191OCBkZXNjcmlwdGlvblszMl07CisgIF9fdTMyIHBpeGVsZm9ybWF0OworICBfX3UzMiByZXNlcnZlZFs0XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9GTVRfRkxBR19DT01QUkVTU0VEIDB4MDAwMQogI2RlZmluZSBWNEwyX0ZNVF9GTEFHX0VNVUxBVEVEIDB4MDAwMgogZW51bSB2NGwyX2ZybXNpemV0eXBlcyB7Ci0gVjRMMl9GUk1TSVpFX1RZUEVfRElTQ1JFVEUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0ZSTVNJWkVfVFlQRV9DT05USU5VT1VTID0gMiwKLSBWNEwyX0ZSTVNJWkVfVFlQRV9TVEVQV0lTRSA9IDMsCisgIFY0TDJfRlJNU0laRV9UWVBFX0RJU0NSRVRFID0gMSwKKyAgVjRMMl9GUk1TSVpFX1RZUEVfQ09OVElOVU9VUyA9IDIsCisgIFY0TDJfRlJNU0laRV9UWVBFX1NURVBXSVNFID0gMywKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfZnJtc2l6ZV9kaXNjcmV0ZSB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHdpZHRoOwotIF9fdTMyIGhlaWdodDsKKyAgX191MzIgd2lkdGg7CisgIF9fdTMyIGhlaWdodDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfZnJtc2l6ZV9zdGVwd2lzZSB7CisgIF9fdTMyIG1pbl93aWR0aDsKKyAgX191MzIgbWF4X3dpZHRoOworICBfX3UzMiBzdGVwX3dpZHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtaW5fd2lkdGg7Ci0gX191MzIgbWF4X3dpZHRoOwotIF9fdTMyIHN0ZXBfd2lkdGg7Ci0gX191MzIgbWluX2hlaWdodDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X2hlaWdodDsKLSBfX3UzMiBzdGVwX2hlaWdodDsKKyAgX191MzIgbWluX2hlaWdodDsKKyAgX191MzIgbWF4X2hlaWdodDsKKyAgX191MzIgc3RlcF9oZWlnaHQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2ZybXNpemVlbnVtIHsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIHBpeGVsX2Zvcm1hdDsKKyAgX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW5kZXg7Ci0gX191MzIgcGl4ZWxfZm9ybWF0OwotIF9fdTMyIHR5cGU7Ci0gdW5pb24geworICB1bmlvbiB7CisgICAgc3RydWN0IHY0bDJfZnJtc2l6ZV9kaXNjcmV0ZSBkaXNjcmV0ZTsKKyAgICBzdHJ1Y3QgdjRsMl9mcm1zaXplX3N0ZXB3aXNlIHN0ZXB3aXNlOworICB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdjRsMl9mcm1zaXplX2Rpc2NyZXRlIGRpc2NyZXRlOwotIHN0cnVjdCB2NGwyX2ZybXNpemVfc3RlcHdpc2Ugc3RlcHdpc2U7Ci0gfTsKLSBfX3UzMiByZXNlcnZlZFsyXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHJlc2VydmVkWzJdOwogfTsKIGVudW0gdjRsMl9mcm1pdmFsdHlwZXMgewotIFY0TDJfRlJNSVZBTF9UWVBFX0RJU0NSRVRFID0gMSwKLSBWNEwyX0ZSTUlWQUxfVFlQRV9DT05USU5VT1VTID0gMiwKKyAgVjRMMl9GUk1JVkFMX1RZUEVfRElTQ1JFVEUgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0ZSTUlWQUxfVFlQRV9TVEVQV0lTRSA9IDMsCisgIFY0TDJfRlJNSVZBTF9UWVBFX0NPTlRJTlVPVVMgPSAyLAorICBWNEwyX0ZSTUlWQUxfVFlQRV9TVEVQV0lTRSA9IDMsCiB9Owogc3RydWN0IHY0bDJfZnJtaXZhbF9zdGVwd2lzZSB7Ci0gc3RydWN0IHY0bDJfZnJhY3QgbWluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdjRsMl9mcmFjdCBtYXg7Ci0gc3RydWN0IHY0bDJfZnJhY3Qgc3RlcDsKKyAgc3RydWN0IHY0bDJfZnJhY3QgbWluOworICBzdHJ1Y3QgdjRsMl9mcmFjdCBtYXg7CisgIHN0cnVjdCB2NGwyX2ZyYWN0IHN0ZXA7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2ZybWl2YWxlbnVtIHsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIHBpeGVsX2Zvcm1hdDsKKyAgX191MzIgd2lkdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGluZGV4OwotIF9fdTMyIHBpeGVsX2Zvcm1hdDsKLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7CisgIF9fdTMyIGhlaWdodDsKKyAgX191MzIgdHlwZTsKKyAgdW5pb24geworICAgIHN0cnVjdCB2NGwyX2ZyYWN0IGRpc2NyZXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIHVuaW9uIHsKLSBzdHJ1Y3QgdjRsMl9mcmFjdCBkaXNjcmV0ZTsKLSBzdHJ1Y3QgdjRsMl9mcm1pdmFsX3N0ZXB3aXNlIHN0ZXB3aXNlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OwotIF9fdTMyIHJlc2VydmVkWzJdOworICAgIHN0cnVjdCB2NGwyX2ZybWl2YWxfc3RlcHdpc2Ugc3RlcHdpc2U7CisgIH07CisgIF9fdTMyIHJlc2VydmVkWzJdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl90aW1lY29kZSB7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGZsYWdzOworICBfX3U4IGZyYW1lczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UzMiBmbGFnczsKLSBfX3U4IGZyYW1lczsKLSBfX3U4IHNlY29uZHM7CisgIF9fdTggc2Vjb25kczsKKyAgX191OCBtaW51dGVzOworICBfX3U4IGhvdXJzOworICBfX3U4IHVzZXJiaXRzWzRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1pbnV0ZXM7Ci0gX191OCBob3VyczsKLSBfX3U4IHVzZXJiaXRzWzRdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfVENfVFlQRV8yNEZQUyAxCiAjZGVmaW5lIFY0TDJfVENfVFlQRV8yNUZQUyAyCiAjZGVmaW5lIFY0TDJfVENfVFlQRV8zMEZQUyAzCi0jZGVmaW5lIFY0TDJfVENfVFlQRV81MEZQUyA0CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1RDX1RZUEVfNTBGUFMgNAogI2RlZmluZSBWNEwyX1RDX1RZUEVfNjBGUFMgNQogI2RlZmluZSBWNEwyX1RDX0ZMQUdfRFJPUEZSQU1FIDB4MDAwMQogI2RlZmluZSBWNEwyX1RDX0ZMQUdfQ09MT1JGUkFNRSAweDAwMDIKLSNkZWZpbmUgVjRMMl9UQ19VU0VSQklUU19maWVsZCAweDAwMEMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfVENfVVNFUkJJVFNfZmllbGQgMHgwMDBDCiAjZGVmaW5lIFY0TDJfVENfVVNFUkJJVFNfVVNFUkRFRklORUQgMHgwMDAwCiAjZGVmaW5lIFY0TDJfVENfVVNFUkJJVFNfOEJJVENIQVJTIDB4MDAwOAogc3RydWN0IHY0bDJfanBlZ2NvbXByZXNzaW9uIHsKLSBpbnQgcXVhbGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IEFQUG47Ci0gaW50IEFQUF9sZW47Ci0gY2hhciBBUFBfZGF0YVs2MF07Ci0gaW50IENPTV9sZW47CisgIGludCBxdWFsaXR5OworICBpbnQgQVBQbjsKKyAgaW50IEFQUF9sZW47CisgIGNoYXIgQVBQX2RhdGFbNjBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIENPTV9kYXRhWzYwXTsKLSBfX3UzMiBqcGVnX21hcmtlcnM7Ci0jZGVmaW5lIFY0TDJfSlBFR19NQVJLRVJfREhUICgxPDwzKQotI2RlZmluZSBWNEwyX0pQRUdfTUFSS0VSX0RRVCAoMTw8NCkKKyAgaW50IENPTV9sZW47CisgIGNoYXIgQ09NX2RhdGFbNjBdOworICBfX3UzMiBqcGVnX21hcmtlcnM7CisjZGVmaW5lIFY0TDJfSlBFR19NQVJLRVJfREhUICgxIDw8IDMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0pQRUdfTUFSS0VSX0RSSSAoMTw8NSkKLSNkZWZpbmUgVjRMMl9KUEVHX01BUktFUl9DT00gKDE8PDYpCi0jZGVmaW5lIFY0TDJfSlBFR19NQVJLRVJfQVBQICgxPDw3KQorI2RlZmluZSBWNEwyX0pQRUdfTUFSS0VSX0RRVCAoMSA8PCA0KQorI2RlZmluZSBWNEwyX0pQRUdfTUFSS0VSX0RSSSAoMSA8PCA1KQorI2RlZmluZSBWNEwyX0pQRUdfTUFSS0VSX0NPTSAoMSA8PCA2KQorI2RlZmluZSBWNEwyX0pQRUdfTUFSS0VSX0FQUCAoMSA8PCA3KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfcmVxdWVzdGJ1ZmZlcnMgewotIF9fdTMyIGNvdW50OwotIF9fdTMyIHR5cGU7Ci0gX191MzIgbWVtb3J5OworICBfX3UzMiBjb3VudDsKKyAgX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbMl07CisgIF9fdTMyIG1lbW9yeTsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CiB9Owogc3RydWN0IHY0bDJfcGxhbmUgewotIF9fdTMyIGJ5dGVzdXNlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGVuZ3RoOwotIHVuaW9uIHsKLSBfX3UzMiBtZW1fb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgdXNlcnB0cjsKKyAgX191MzIgYnl0ZXN1c2VkOworICBfX3UzMiBsZW5ndGg7CisgIHVuaW9uIHsKKyAgICBfX3UzMiBtZW1fb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBmZDsKLSB9IG07Ci0gX191MzIgZGF0YV9vZmZzZXQ7Ci0gX191MzIgcmVzZXJ2ZWRbMTFdOworICAgIHVuc2lnbmVkIGxvbmcgdXNlcnB0cjsKKyAgICBfX3MzMiBmZDsKKyAgfSBtOworICBfX3UzMiBkYXRhX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHJlc2VydmVkWzExXTsKIH07CiBzdHJ1Y3QgdjRsMl9idWZmZXIgewotIF9fdTMyIGluZGV4OwotIF9fdTMyIHR5cGU7CisgIF9fdTMyIGluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBieXRlc3VzZWQ7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgZmllbGQ7Ci0gc3RydWN0IHRpbWV2YWwgdGltZXN0YW1wOworICBfX3UzMiB0eXBlOworICBfX3UzMiBieXRlc3VzZWQ7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBmaWVsZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHY0bDJfdGltZWNvZGUgdGltZWNvZGU7Ci0gX191MzIgc2VxdWVuY2U7Ci0gX191MzIgbWVtb3J5OwotIHVuaW9uIHsKKyAgc3RydWN0IHRpbWV2YWwgdGltZXN0YW1wOworICBzdHJ1Y3QgdjRsMl90aW1lY29kZSB0aW1lY29kZTsKKyAgX191MzIgc2VxdWVuY2U7CisgIF9fdTMyIG1lbW9yeTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgb2Zmc2V0OwotIHVuc2lnbmVkIGxvbmcgdXNlcnB0cjsKLSBzdHJ1Y3QgdjRsMl9wbGFuZSAqcGxhbmVzOwotIF9fczMyIGZkOworICB1bmlvbiB7CisgICAgX191MzIgb2Zmc2V0OworICAgIHVuc2lnbmVkIGxvbmcgdXNlcnB0cjsKKyAgICBzdHJ1Y3QgdjRsMl9wbGFuZSAqIHBsYW5lczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBtOwotIF9fdTMyIGxlbmd0aDsKLSBfX3UzMiByZXNlcnZlZDI7Ci0gX191MzIgcmVzZXJ2ZWQ7CisgICAgX19zMzIgZmQ7CisgIH0gbTsKKyAgX191MzIgbGVuZ3RoOworICBfX3UzMiByZXNlcnZlZDI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiByZXNlcnZlZDsKIH07Ci0jZGVmaW5lIFY0TDJfQlVGX0ZMQUdfTUFQUEVEIDB4MDAwMQotI2RlZmluZSBWNEwyX0JVRl9GTEFHX1FVRVVFRCAweDAwMDIKLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19ET05FIDB4MDAwNAorI2RlZmluZSBWNEwyX0JVRl9GTEFHX01BUFBFRCAweDAwMDAwMDAxCisjZGVmaW5lIFY0TDJfQlVGX0ZMQUdfUVVFVUVEIDB4MDAwMDAwMDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfQlVGX0ZMQUdfS0VZRlJBTUUgMHgwMDA4Ci0jZGVmaW5lIFY0TDJfQlVGX0ZMQUdfUEZSQU1FIDB4MDAxMAotI2RlZmluZSBWNEwyX0JVRl9GTEFHX0JGUkFNRSAweDAwMjAKLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19FUlJPUiAweDAwNDAKKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19ET05FIDB4MDAwMDAwMDQKKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19LRVlGUkFNRSAweDAwMDAwMDA4CisjZGVmaW5lIFY0TDJfQlVGX0ZMQUdfUEZSQU1FIDB4MDAwMDAwMTAKKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19CRlJBTUUgMHgwMDAwMDAyMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FQ09ERSAweDAxMDAKLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19QUkVQQVJFRCAweDA0MDAKLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19OT19DQUNIRV9JTlZBTElEQVRFIDB4MDgwMAotI2RlZmluZSBWNEwyX0JVRl9GTEFHX05PX0NBQ0hFX0NMRUFOIDB4MTAwMAorI2RlZmluZSBWNEwyX0JVRl9GTEFHX0VSUk9SIDB4MDAwMDAwNDAKKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FQ09ERSAweDAwMDAwMTAwCisjZGVmaW5lIFY0TDJfQlVGX0ZMQUdfUFJFUEFSRUQgMHgwMDAwMDQwMAorI2RlZmluZSBWNEwyX0JVRl9GTEFHX05PX0NBQ0hFX0lOVkFMSURBVEUgMHgwMDAwMDgwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FU1RBTVBfTUFTSyAweGUwMDAKLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FU1RBTVBfVU5LTk9XTiAweDAwMDAKLSNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FU1RBTVBfTU9OT1RPTklDIDB4MjAwMAotI2RlZmluZSBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9DT1BZIDB4NDAwMAorI2RlZmluZSBWNEwyX0JVRl9GTEFHX05PX0NBQ0hFX0NMRUFOIDB4MDAwMDEwMDAKKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FU1RBTVBfTUFTSyAweDAwMDBlMDAwCisjZGVmaW5lIFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1QX1VOS05PV04gMHgwMDAwMDAwMAorI2RlZmluZSBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9NT05PVE9OSUMgMHgwMDAwMjAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19USU1FU1RBTVBfQ09QWSAweDAwMDA0MDAwCisjZGVmaW5lIFY0TDJfQlVGX0ZMQUdfVFNUQU1QX1NSQ19NQVNLIDB4MDAwNzAwMDAKKyNkZWZpbmUgVjRMMl9CVUZfRkxBR19UU1RBTVBfU1JDX0VPRiAweDAwMDAwMDAwCisjZGVmaW5lIFY0TDJfQlVGX0ZMQUdfVFNUQU1QX1NSQ19TT0UgMHgwMDAxMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2V4cG9ydGJ1ZmZlciB7Ci0gX191MzIgdHlwZTsKLSBfX3UzMiBpbmRleDsKLSBfX3UzMiBwbGFuZTsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgaW5kZXg7CisgIF9fdTMyIHBsYW5lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmbGFnczsKLSBfX3MzMiBmZDsKLSBfX3UzMiByZXNlcnZlZFsxMV07CisgIF9fdTMyIGZsYWdzOworICBfX3MzMiBmZDsKKyAgX191MzIgcmVzZXJ2ZWRbMTFdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9mcmFtZWJ1ZmZlciB7Ci0gX191MzIgY2FwYWJpbGl0eTsKLSBfX3UzMiBmbGFnczsKLSB2b2lkICpiYXNlOworICBfX3UzMiBjYXBhYmlsaXR5OworICBfX3UzMiBmbGFnczsKKyAgdm9pZCAqIGJhc2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2NGwyX3BpeF9mb3JtYXQgZm10OworICBzdHJ1Y3QgeworICAgIF9fdTMyIHdpZHRoOworICAgIF9fdTMyIGhlaWdodDsKKyAgICBfX3UzMiBwaXhlbGZvcm1hdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgX191MzIgZmllbGQ7CisgICAgX191MzIgYnl0ZXNwZXJsaW5lOworICAgIF9fdTMyIHNpemVpbWFnZTsKKyAgICBfX3UzMiBjb2xvcnNwYWNlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBfX3UzMiBwcml2OworICB9IGZtdDsKIH07CiAjZGVmaW5lIFY0TDJfRkJVRl9DQVBfRVhURVJOT1ZFUkxBWSAweDAwMDEKLSNkZWZpbmUgVjRMMl9GQlVGX0NBUF9DSFJPTUFLRVkgMHgwMDAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0ZCVUZfQ0FQX0NIUk9NQUtFWSAweDAwMDIKICNkZWZpbmUgVjRMMl9GQlVGX0NBUF9MSVNUX0NMSVBQSU5HIDB4MDAwNAogI2RlZmluZSBWNEwyX0ZCVUZfQ0FQX0JJVE1BUF9DTElQUElORyAweDAwMDgKICNkZWZpbmUgVjRMMl9GQlVGX0NBUF9MT0NBTF9BTFBIQSAweDAwMTAKLSNkZWZpbmUgVjRMMl9GQlVGX0NBUF9HTE9CQUxfQUxQSEEgMHgwMDIwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX0ZCVUZfQ0FQX0dMT0JBTF9BTFBIQSAweDAwMjAKICNkZWZpbmUgVjRMMl9GQlVGX0NBUF9MT0NBTF9JTlZfQUxQSEEgMHgwMDQwCiAjZGVmaW5lIFY0TDJfRkJVRl9DQVBfU1JDX0NIUk9NQUtFWSAweDAwODAKICNkZWZpbmUgVjRMMl9GQlVGX0ZMQUdfUFJJTUFSWSAweDAwMDEKLSNkZWZpbmUgVjRMMl9GQlVGX0ZMQUdfT1ZFUkxBWSAweDAwMDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfRkJVRl9GTEFHX09WRVJMQVkgMHgwMDAyCiAjZGVmaW5lIFY0TDJfRkJVRl9GTEFHX0NIUk9NQUtFWSAweDAwMDQKICNkZWZpbmUgVjRMMl9GQlVGX0ZMQUdfTE9DQUxfQUxQSEEgMHgwMDA4CiAjZGVmaW5lIFY0TDJfRkJVRl9GTEFHX0dMT0JBTF9BTFBIQSAweDAwMTAKLSNkZWZpbmUgVjRMMl9GQlVGX0ZMQUdfTE9DQUxfSU5WX0FMUEhBIDB4MDAyMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9GQlVGX0ZMQUdfTE9DQUxfSU5WX0FMUEhBIDB4MDAyMAogI2RlZmluZSBWNEwyX0ZCVUZfRkxBR19TUkNfQ0hST01BS0VZIDB4MDA0MAogc3RydWN0IHY0bDJfY2xpcCB7Ci0gc3RydWN0IHY0bDJfcmVjdCBjOwotIHN0cnVjdCB2NGwyX2NsaXAgX191c2VyICpuZXh0OworICBzdHJ1Y3QgdjRsMl9yZWN0IGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgdjRsMl9jbGlwIF9fdXNlciAqIG5leHQ7CiB9Owogc3RydWN0IHY0bDJfd2luZG93IHsKLSBzdHJ1Y3QgdjRsMl9yZWN0IHc7Ci0gX191MzIgZmllbGQ7CisgIHN0cnVjdCB2NGwyX3JlY3QgdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY2hyb21ha2V5OwotIHN0cnVjdCB2NGwyX2NsaXAgX191c2VyICpjbGlwczsKLSBfX3UzMiBjbGlwY291bnQ7Ci0gdm9pZCBfX3VzZXIgKmJpdG1hcDsKKyAgX191MzIgZmllbGQ7CisgIF9fdTMyIGNocm9tYWtleTsKKyAgc3RydWN0IHY0bDJfY2xpcCBfX3VzZXIgKiBjbGlwczsKKyAgX191MzIgY2xpcGNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGdsb2JhbF9hbHBoYTsKKyAgdm9pZCBfX3VzZXIgKiBiaXRtYXA7CisgIF9fdTggZ2xvYmFsX2FscGhhOwogfTsKIHN0cnVjdCB2NGwyX2NhcHR1cmVwYXJtIHsKLSBfX3UzMiBjYXBhYmlsaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjYXB0dXJlbW9kZTsKLSBzdHJ1Y3QgdjRsMl9mcmFjdCB0aW1lcGVyZnJhbWU7Ci0gX191MzIgZXh0ZW5kZWRtb2RlOwotIF9fdTMyIHJlYWRidWZmZXJzOworICBfX3UzMiBjYXBhYmlsaXR5OworICBfX3UzMiBjYXB0dXJlbW9kZTsKKyAgc3RydWN0IHY0bDJfZnJhY3QgdGltZXBlcmZyYW1lOworICBfX3UzMiBleHRlbmRlZG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkWzRdOworICBfX3UzMiByZWFkYnVmZmVyczsKKyAgX191MzIgcmVzZXJ2ZWRbNF07CiB9OwogI2RlZmluZSBWNEwyX01PREVfSElHSFFVQUxJVFkgMHgwMDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NBUF9USU1FUEVSRlJBTUUgMHgxMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfb3V0cHV0cGFybSB7Ci0gX191MzIgY2FwYWJpbGl0eTsKLSBfX3UzMiBvdXRwdXRtb2RlOwotIHN0cnVjdCB2NGwyX2ZyYWN0IHRpbWVwZXJmcmFtZTsKKyAgX191MzIgY2FwYWJpbGl0eTsKKyAgX191MzIgb3V0cHV0bW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZXh0ZW5kZWRtb2RlOwotIF9fdTMyIHdyaXRlYnVmZmVyczsKLSBfX3UzMiByZXNlcnZlZFs0XTsKKyAgc3RydWN0IHY0bDJfZnJhY3QgdGltZXBlcmZyYW1lOworICBfX3UzMiBleHRlbmRlZG1vZGU7CisgIF9fdTMyIHdyaXRlYnVmZmVyczsKKyAgX191MzIgcmVzZXJ2ZWRbNF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9jcm9wY2FwIHsKLSBfX3UzMiB0eXBlOwotIHN0cnVjdCB2NGwyX3JlY3QgYm91bmRzOwotIHN0cnVjdCB2NGwyX3JlY3QgZGVmcmVjdDsKKyAgX191MzIgdHlwZTsKKyAgc3RydWN0IHY0bDJfcmVjdCBib3VuZHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2NGwyX2ZyYWN0IHBpeGVsYXNwZWN0OworICBzdHJ1Y3QgdjRsMl9yZWN0IGRlZnJlY3Q7CisgIHN0cnVjdCB2NGwyX2ZyYWN0IHBpeGVsYXNwZWN0OwogfTsKIHN0cnVjdCB2NGwyX2Nyb3AgewotIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2NGwyX3JlY3QgYzsKKyAgX191MzIgdHlwZTsKKyAgc3RydWN0IHY0bDJfcmVjdCBjOwogfTsKIHN0cnVjdCB2NGwyX3NlbGVjdGlvbiB7Ci0gX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdGFyZ2V0OwotIF9fdTMyIGZsYWdzOwotIHN0cnVjdCB2NGwyX3JlY3QgcjsKLSBfX3UzMiByZXNlcnZlZFs5XTsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgdGFyZ2V0OworICBfX3UzMiBmbGFnczsKKyAgc3RydWN0IHY0bDJfcmVjdCByOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcmVzZXJ2ZWRbOV07CiB9OwogdHlwZWRlZiBfX3U2NCB2NGwyX3N0ZF9pZDsKLSNkZWZpbmUgVjRMMl9TVERfUEFMX0IgKCh2NGwyX3N0ZF9pZCkweDAwMDAwMDAxKQotI2RlZmluZSBWNEwyX1NURF9QQUxfQjEgKCh2NGwyX3N0ZF9pZCkweDAwMDAwMDAyKQorI2RlZmluZSBWNEwyX1NURF9QQUxfQiAoKHY0bDJfc3RkX2lkKSAweDAwMDAwMDAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9TVERfUEFMX0cgKCh2NGwyX3N0ZF9pZCkweDAwMDAwMDA0KQotI2RlZmluZSBWNEwyX1NURF9QQUxfSCAoKHY0bDJfc3RkX2lkKTB4MDAwMDAwMDgpCi0jZGVmaW5lIFY0TDJfU1REX1BBTF9JICgodjRsMl9zdGRfaWQpMHgwMDAwMDAxMCkKLSNkZWZpbmUgVjRMMl9TVERfUEFMX0QgKCh2NGwyX3N0ZF9pZCkweDAwMDAwMDIwKQorI2RlZmluZSBWNEwyX1NURF9QQUxfQjEgKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMDAwMikKKyNkZWZpbmUgVjRMMl9TVERfUEFMX0cgKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMDAwNCkKKyNkZWZpbmUgVjRMMl9TVERfUEFMX0ggKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMDAwOCkKKyNkZWZpbmUgVjRMMl9TVERfUEFMX0kgKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMDAxMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfU1REX1BBTF9EMSAoKHY0bDJfc3RkX2lkKTB4MDAwMDAwNDApCi0jZGVmaW5lIFY0TDJfU1REX1BBTF9LICgodjRsMl9zdGRfaWQpMHgwMDAwMDA4MCkKLSNkZWZpbmUgVjRMMl9TVERfUEFMX00gKCh2NGwyX3N0ZF9pZCkweDAwMDAwMTAwKQotI2RlZmluZSBWNEwyX1NURF9QQUxfTiAoKHY0bDJfc3RkX2lkKTB4MDAwMDAyMDApCisjZGVmaW5lIFY0TDJfU1REX1BBTF9EICgodjRsMl9zdGRfaWQpIDB4MDAwMDAwMjApCisjZGVmaW5lIFY0TDJfU1REX1BBTF9EMSAoKHY0bDJfc3RkX2lkKSAweDAwMDAwMDQwKQorI2RlZmluZSBWNEwyX1NURF9QQUxfSyAoKHY0bDJfc3RkX2lkKSAweDAwMDAwMDgwKQorI2RlZmluZSBWNEwyX1NURF9QQUxfTSAoKHY0bDJfc3RkX2lkKSAweDAwMDAwMTAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9TVERfUEFMX05jICgodjRsMl9zdGRfaWQpMHgwMDAwMDQwMCkKLSNkZWZpbmUgVjRMMl9TVERfUEFMXzYwICgodjRsMl9zdGRfaWQpMHgwMDAwMDgwMCkKLSNkZWZpbmUgVjRMMl9TVERfTlRTQ19NICgodjRsMl9zdGRfaWQpMHgwMDAwMTAwMCkKLSNkZWZpbmUgVjRMMl9TVERfTlRTQ19NX0pQICgodjRsMl9zdGRfaWQpMHgwMDAwMjAwMCkKKyNkZWZpbmUgVjRMMl9TVERfUEFMX04gKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMDIwMCkKKyNkZWZpbmUgVjRMMl9TVERfUEFMX05jICgodjRsMl9zdGRfaWQpIDB4MDAwMDA0MDApCisjZGVmaW5lIFY0TDJfU1REX1BBTF82MCAoKHY0bDJfc3RkX2lkKSAweDAwMDAwODAwKQorI2RlZmluZSBWNEwyX1NURF9OVFNDX00gKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMTAwMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfU1REX05UU0NfNDQzICgodjRsMl9zdGRfaWQpMHgwMDAwNDAwMCkKLSNkZWZpbmUgVjRMMl9TVERfTlRTQ19NX0tSICgodjRsMl9zdGRfaWQpMHgwMDAwODAwMCkKLSNkZWZpbmUgVjRMMl9TVERfU0VDQU1fQiAoKHY0bDJfc3RkX2lkKTB4MDAwMTAwMDApCi0jZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0QgKCh2NGwyX3N0ZF9pZCkweDAwMDIwMDAwKQorI2RlZmluZSBWNEwyX1NURF9OVFNDX01fSlAgKCh2NGwyX3N0ZF9pZCkgMHgwMDAwMjAwMCkKKyNkZWZpbmUgVjRMMl9TVERfTlRTQ180NDMgKCh2NGwyX3N0ZF9pZCkgMHgwMDAwNDAwMCkKKyNkZWZpbmUgVjRMMl9TVERfTlRTQ19NX0tSICgodjRsMl9zdGRfaWQpIDB4MDAwMDgwMDApCisjZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0IgKCh2NGwyX3N0ZF9pZCkgMHgwMDAxMDAwMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0cgKCh2NGwyX3N0ZF9pZCkweDAwMDQwMDAwKQotI2RlZmluZSBWNEwyX1NURF9TRUNBTV9IICgodjRsMl9zdGRfaWQpMHgwMDA4MDAwMCkKLSNkZWZpbmUgVjRMMl9TVERfU0VDQU1fSyAoKHY0bDJfc3RkX2lkKTB4MDAxMDAwMDApCi0jZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0sxICgodjRsMl9zdGRfaWQpMHgwMDIwMDAwMCkKKyNkZWZpbmUgVjRMMl9TVERfU0VDQU1fRCAoKHY0bDJfc3RkX2lkKSAweDAwMDIwMDAwKQorI2RlZmluZSBWNEwyX1NURF9TRUNBTV9HICgodjRsMl9zdGRfaWQpIDB4MDAwNDAwMDApCisjZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0ggKCh2NGwyX3N0ZF9pZCkgMHgwMDA4MDAwMCkKKyNkZWZpbmUgVjRMMl9TVERfU0VDQU1fSyAoKHY0bDJfc3RkX2lkKSAweDAwMTAwMDAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9TVERfU0VDQU1fTCAoKHY0bDJfc3RkX2lkKTB4MDA0MDAwMDApCi0jZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0xDICgodjRsMl9zdGRfaWQpMHgwMDgwMDAwMCkKLSNkZWZpbmUgVjRMMl9TVERfQVRTQ184X1ZTQiAoKHY0bDJfc3RkX2lkKTB4MDEwMDAwMDApCi0jZGVmaW5lIFY0TDJfU1REX0FUU0NfMTZfVlNCICgodjRsMl9zdGRfaWQpMHgwMjAwMDAwMCkKKyNkZWZpbmUgVjRMMl9TVERfU0VDQU1fSzEgKCh2NGwyX3N0ZF9pZCkgMHgwMDIwMDAwMCkKKyNkZWZpbmUgVjRMMl9TVERfU0VDQU1fTCAoKHY0bDJfc3RkX2lkKSAweDAwNDAwMDAwKQorI2RlZmluZSBWNEwyX1NURF9TRUNBTV9MQyAoKHY0bDJfc3RkX2lkKSAweDAwODAwMDAwKQorI2RlZmluZSBWNEwyX1NURF9BVFNDXzhfVlNCICgodjRsMl9zdGRfaWQpIDB4MDEwMDAwMDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX1NURF9OVFNDIChWNEwyX1NURF9OVFNDX00gfCAgVjRMMl9TVERfTlRTQ19NX0pQIHwgIFY0TDJfU1REX05UU0NfTV9LUikKLSNkZWZpbmUgVjRMMl9TVERfU0VDQU1fREsgKFY0TDJfU1REX1NFQ0FNX0QgfCAgVjRMMl9TVERfU0VDQU1fSyB8ICBWNEwyX1NURF9TRUNBTV9LMSkKLSNkZWZpbmUgVjRMMl9TVERfU0VDQU0gKFY0TDJfU1REX1NFQ0FNX0IgfCAgVjRMMl9TVERfU0VDQU1fRyB8ICBWNEwyX1NURF9TRUNBTV9IIHwgIFY0TDJfU1REX1NFQ0FNX0RLIHwgIFY0TDJfU1REX1NFQ0FNX0wgfCAgVjRMMl9TVERfU0VDQU1fTEMpCi0jZGVmaW5lIFY0TDJfU1REX1BBTF9CRyAoVjRMMl9TVERfUEFMX0IgfCAgVjRMMl9TVERfUEFMX0IxIHwgIFY0TDJfU1REX1BBTF9HKQorI2RlZmluZSBWNEwyX1NURF9BVFNDXzE2X1ZTQiAoKHY0bDJfc3RkX2lkKSAweDAyMDAwMDAwKQorI2RlZmluZSBWNEwyX1NURF9OVFNDIChWNEwyX1NURF9OVFNDX00gfCBWNEwyX1NURF9OVFNDX01fSlAgfCBWNEwyX1NURF9OVFNDX01fS1IpCisjZGVmaW5lIFY0TDJfU1REX1NFQ0FNX0RLIChWNEwyX1NURF9TRUNBTV9EIHwgVjRMMl9TVERfU0VDQU1fSyB8IFY0TDJfU1REX1NFQ0FNX0sxKQorI2RlZmluZSBWNEwyX1NURF9TRUNBTSAoVjRMMl9TVERfU0VDQU1fQiB8IFY0TDJfU1REX1NFQ0FNX0cgfCBWNEwyX1NURF9TRUNBTV9IIHwgVjRMMl9TVERfU0VDQU1fREsgfCBWNEwyX1NURF9TRUNBTV9MIHwgVjRMMl9TVERfU0VDQU1fTEMpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX1NURF9QQUxfREsgKFY0TDJfU1REX1BBTF9EIHwgIFY0TDJfU1REX1BBTF9EMSB8ICBWNEwyX1NURF9QQUxfSykKLSNkZWZpbmUgVjRMMl9TVERfUEFMIChWNEwyX1NURF9QQUxfQkcgfCAgVjRMMl9TVERfUEFMX0RLIHwgIFY0TDJfU1REX1BBTF9IIHwgIFY0TDJfU1REX1BBTF9JKQotI2RlZmluZSBWNEwyX1NURF9CIChWNEwyX1NURF9QQUxfQiB8ICBWNEwyX1NURF9QQUxfQjEgfCAgVjRMMl9TVERfU0VDQU1fQikKLSNkZWZpbmUgVjRMMl9TVERfRyAoVjRMMl9TVERfUEFMX0cgfCAgVjRMMl9TVERfU0VDQU1fRykKKyNkZWZpbmUgVjRMMl9TVERfUEFMX0JHIChWNEwyX1NURF9QQUxfQiB8IFY0TDJfU1REX1BBTF9CMSB8IFY0TDJfU1REX1BBTF9HKQorI2RlZmluZSBWNEwyX1NURF9QQUxfREsgKFY0TDJfU1REX1BBTF9EIHwgVjRMMl9TVERfUEFMX0QxIHwgVjRMMl9TVERfUEFMX0spCisjZGVmaW5lIFY0TDJfU1REX1BBTCAoVjRMMl9TVERfUEFMX0JHIHwgVjRMMl9TVERfUEFMX0RLIHwgVjRMMl9TVERfUEFMX0ggfCBWNEwyX1NURF9QQUxfSSkKKyNkZWZpbmUgVjRMMl9TVERfQiAoVjRMMl9TVERfUEFMX0IgfCBWNEwyX1NURF9QQUxfQjEgfCBWNEwyX1NURF9TRUNBTV9CKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9TVERfSCAoVjRMMl9TVERfUEFMX0ggfCAgVjRMMl9TVERfU0VDQU1fSCkKLSNkZWZpbmUgVjRMMl9TVERfTCAoVjRMMl9TVERfU0VDQU1fTCB8ICBWNEwyX1NURF9TRUNBTV9MQykKLSNkZWZpbmUgVjRMMl9TVERfR0ggKFY0TDJfU1REX0cgfCAgVjRMMl9TVERfSCkKLSNkZWZpbmUgVjRMMl9TVERfREsgKFY0TDJfU1REX1BBTF9ESyB8ICBWNEwyX1NURF9TRUNBTV9ESykKKyNkZWZpbmUgVjRMMl9TVERfRyAoVjRMMl9TVERfUEFMX0cgfCBWNEwyX1NURF9TRUNBTV9HKQorI2RlZmluZSBWNEwyX1NURF9IIChWNEwyX1NURF9QQUxfSCB8IFY0TDJfU1REX1NFQ0FNX0gpCisjZGVmaW5lIFY0TDJfU1REX0wgKFY0TDJfU1REX1NFQ0FNX0wgfCBWNEwyX1NURF9TRUNBTV9MQykKKyNkZWZpbmUgVjRMMl9TVERfR0ggKFY0TDJfU1REX0cgfCBWNEwyX1NURF9IKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVjRMMl9TVERfQkcgKFY0TDJfU1REX0IgfCAgVjRMMl9TVERfRykKLSNkZWZpbmUgVjRMMl9TVERfTU4gKFY0TDJfU1REX1BBTF9NIHwgIFY0TDJfU1REX1BBTF9OIHwgIFY0TDJfU1REX1BBTF9OYyB8ICBWNEwyX1NURF9OVFNDKQotI2RlZmluZSBWNEwyX1NURF9NVFMgKFY0TDJfU1REX05UU0NfTSB8ICBWNEwyX1NURF9QQUxfTSB8ICBWNEwyX1NURF9QQUxfTiB8ICBWNEwyX1NURF9QQUxfTmMpCi0jZGVmaW5lIFY0TDJfU1REXzUyNV82MCAoVjRMMl9TVERfUEFMX00gfCAgVjRMMl9TVERfUEFMXzYwIHwgIFY0TDJfU1REX05UU0MgfCAgVjRMMl9TVERfTlRTQ180NDMpCisjZGVmaW5lIFY0TDJfU1REX0RLIChWNEwyX1NURF9QQUxfREsgfCBWNEwyX1NURF9TRUNBTV9ESykKKyNkZWZpbmUgVjRMMl9TVERfQkcgKFY0TDJfU1REX0IgfCBWNEwyX1NURF9HKQorI2RlZmluZSBWNEwyX1NURF9NTiAoVjRMMl9TVERfUEFMX00gfCBWNEwyX1NURF9QQUxfTiB8IFY0TDJfU1REX1BBTF9OYyB8IFY0TDJfU1REX05UU0MpCisjZGVmaW5lIFY0TDJfU1REX01UUyAoVjRMMl9TVERfTlRTQ19NIHwgVjRMMl9TVERfUEFMX00gfCBWNEwyX1NURF9QQUxfTiB8IFY0TDJfU1REX1BBTF9OYykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFY0TDJfU1REXzYyNV81MCAoVjRMMl9TVERfUEFMIHwgIFY0TDJfU1REX1BBTF9OIHwgIFY0TDJfU1REX1BBTF9OYyB8ICBWNEwyX1NURF9TRUNBTSkKLSNkZWZpbmUgVjRMMl9TVERfQVRTQyAoVjRMMl9TVERfQVRTQ184X1ZTQiB8ICBWNEwyX1NURF9BVFNDXzE2X1ZTQikKKyNkZWZpbmUgVjRMMl9TVERfNTI1XzYwIChWNEwyX1NURF9QQUxfTSB8IFY0TDJfU1REX1BBTF82MCB8IFY0TDJfU1REX05UU0MgfCBWNEwyX1NURF9OVFNDXzQ0MykKKyNkZWZpbmUgVjRMMl9TVERfNjI1XzUwIChWNEwyX1NURF9QQUwgfCBWNEwyX1NURF9QQUxfTiB8IFY0TDJfU1REX1BBTF9OYyB8IFY0TDJfU1REX1NFQ0FNKQorI2RlZmluZSBWNEwyX1NURF9BVFNDIChWNEwyX1NURF9BVFNDXzhfVlNCIHwgVjRMMl9TVERfQVRTQ18xNl9WU0IpCiAjZGVmaW5lIFY0TDJfU1REX1VOS05PV04gMAotI2RlZmluZSBWNEwyX1NURF9BTEwgKFY0TDJfU1REXzUyNV82MCB8ICBWNEwyX1NURF82MjVfNTApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1NURF9BTEwgKFY0TDJfU1REXzUyNV82MCB8IFY0TDJfU1REXzYyNV81MCkKIHN0cnVjdCB2NGwyX3N0YW5kYXJkIHsKLSBfX3UzMiBpbmRleDsKLSB2NGwyX3N0ZF9pZCBpZDsKLSBfX3U4IG5hbWVbMjRdOworICBfX3UzMiBpbmRleDsKKyAgdjRsMl9zdGRfaWQgaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2NGwyX2ZyYWN0IGZyYW1lcGVyaW9kOwotIF9fdTMyIGZyYW1lbGluZXM7Ci0gX191MzIgcmVzZXJ2ZWRbNF07CisgIF9fdTggbmFtZVsyNF07CisgIHN0cnVjdCB2NGwyX2ZyYWN0IGZyYW1lcGVyaW9kOworICBfX3UzMiBmcmFtZWxpbmVzOworICBfX3UzMiByZXNlcnZlZFs0XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2J0X3RpbWluZ3MgewotIF9fdTMyIHdpZHRoOwotIF9fdTMyIGhlaWdodDsKLSBfX3UzMiBpbnRlcmxhY2VkOworICBfX3UzMiB3aWR0aDsKKyAgX191MzIgaGVpZ2h0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwb2xhcml0aWVzOwotIF9fdTY0IHBpeGVsY2xvY2s7Ci0gX191MzIgaGZyb250cG9yY2g7Ci0gX191MzIgaHN5bmM7CisgIF9fdTMyIGludGVybGFjZWQ7CisgIF9fdTMyIHBvbGFyaXRpZXM7CisgIF9fdTY0IHBpeGVsY2xvY2s7CisgIF9fdTMyIGhmcm9udHBvcmNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBoYmFja3BvcmNoOwotIF9fdTMyIHZmcm9udHBvcmNoOwotIF9fdTMyIHZzeW5jOwotIF9fdTMyIHZiYWNrcG9yY2g7CisgIF9fdTMyIGhzeW5jOworICBfX3UzMiBoYmFja3BvcmNoOworICBfX3UzMiB2ZnJvbnRwb3JjaDsKKyAgX191MzIgdnN5bmM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlsX3Zmcm9udHBvcmNoOwotIF9fdTMyIGlsX3ZzeW5jOwotIF9fdTMyIGlsX3ZiYWNrcG9yY2g7Ci0gX191MzIgc3RhbmRhcmRzOworICBfX3UzMiB2YmFja3BvcmNoOworICBfX3UzMiBpbF92ZnJvbnRwb3JjaDsKKyAgX191MzIgaWxfdnN5bmM7CisgIF9fdTMyIGlsX3ZiYWNrcG9yY2g7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIHJlc2VydmVkWzE0XTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3UzMiBzdGFuZGFyZHM7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiByZXNlcnZlZFsxNF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9EVl9QUk9HUkVTU0lWRSAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0RWX0lOVEVSTEFDRUQgMQogI2RlZmluZSBWNEwyX0RWX1ZTWU5DX1BPU19QT0wgMHgwMDAwMDAwMQogI2RlZmluZSBWNEwyX0RWX0hTWU5DX1BPU19QT0wgMHgwMDAwMDAwMgotI2RlZmluZSBWNEwyX0RWX0JUX1NURF9DRUE4NjEgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfRFZfQlRfU1REX0NFQTg2MSAoMSA8PCAwKQogI2RlZmluZSBWNEwyX0RWX0JUX1NURF9ETVQgKDEgPDwgMSkKICNkZWZpbmUgVjRMMl9EVl9CVF9TVERfQ1ZUICgxIDw8IDIpCiAjZGVmaW5lIFY0TDJfRFZfQlRfU1REX0dURiAoMSA8PCAzKQotI2RlZmluZSBWNEwyX0RWX0ZMX1JFRFVDRURfQkxBTktJTkcgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfRFZfRkxfUkVEVUNFRF9CTEFOS0lORyAoMSA8PCAwKQogI2RlZmluZSBWNEwyX0RWX0ZMX0NBTl9SRURVQ0VfRlBTICgxIDw8IDEpCiAjZGVmaW5lIFY0TDJfRFZfRkxfUkVEVUNFRF9GUFMgKDEgPDwgMikKICNkZWZpbmUgVjRMMl9EVl9GTF9IQUxGX0xJTkUgKDEgPDwgMykKLSNkZWZpbmUgVjRMMl9EVl9CVF9CTEFOS0lOR19XSURUSChidCkgICAoYnQtPmhmcm9udHBvcmNoICsgYnQtPmhzeW5jICsgYnQtPmhiYWNrcG9yY2gpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBWNEwyX0RWX0JUX0ZSQU1FX1dJRFRIKGJ0KSAgIChidC0+d2lkdGggKyBWNEwyX0RWX0JUX0JMQU5LSU5HX1dJRFRIKGJ0KSkKLSNkZWZpbmUgVjRMMl9EVl9CVF9CTEFOS0lOR19IRUlHSFQoYnQpICAgKGJ0LT52ZnJvbnRwb3JjaCArIGJ0LT52c3luYyArIGJ0LT52YmFja3BvcmNoICsgICBidC0+aWxfdmZyb250cG9yY2ggKyBidC0+aWxfdnN5bmMgKyBidC0+aWxfdmJhY2twb3JjaCkKLSNkZWZpbmUgVjRMMl9EVl9CVF9GUkFNRV9IRUlHSFQoYnQpICAgKGJ0LT5oZWlnaHQgKyBWNEwyX0RWX0JUX0JMQU5LSU5HX0hFSUdIVChidCkpCisjZGVmaW5lIFY0TDJfRFZfQlRfQkxBTktJTkdfV0lEVEgoYnQpICgoYnQpLT5oZnJvbnRwb3JjaCArIChidCktPmhzeW5jICsgKGJ0KS0+aGJhY2twb3JjaCkKKyNkZWZpbmUgVjRMMl9EVl9CVF9GUkFNRV9XSURUSChidCkgKChidCktPndpZHRoICsgVjRMMl9EVl9CVF9CTEFOS0lOR19XSURUSChidCkpCisjZGVmaW5lIFY0TDJfRFZfQlRfQkxBTktJTkdfSEVJR0hUKGJ0KSAoKGJ0KS0+dmZyb250cG9yY2ggKyAoYnQpLT52c3luYyArIChidCktPnZiYWNrcG9yY2ggKyAoYnQpLT5pbF92ZnJvbnRwb3JjaCArIChidCktPmlsX3ZzeW5jICsgKGJ0KS0+aWxfdmJhY2twb3JjaCkKKyNkZWZpbmUgVjRMMl9EVl9CVF9GUkFNRV9IRUlHSFQoYnQpICgoYnQpLT5oZWlnaHQgKyBWNEwyX0RWX0JUX0JMQU5LSU5HX0hFSUdIVChidCkpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfZHZfdGltaW5ncyB7CisgIF9fdTMyIHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgdjRsMl9idF90aW1pbmdzIGJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIHVuaW9uIHsKLSBzdHJ1Y3QgdjRsMl9idF90aW1pbmdzIGJ0OwotIF9fdTMyIHJlc2VydmVkWzMyXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICAgIF9fdTMyIHJlc2VydmVkWzMyXTsKKyAgfTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFY0TDJfRFZfQlRfNjU2XzExMjAgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2VudW1fZHZfdGltaW5ncyB7CisgIF9fdTMyIGluZGV4OworICBfX3UzMiBwYWQ7CisgIF9fdTMyIHJlc2VydmVkWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpbmRleDsKLSBfX3UzMiByZXNlcnZlZFszXTsKLSBzdHJ1Y3QgdjRsMl9kdl90aW1pbmdzIHRpbWluZ3M7CisgIHN0cnVjdCB2NGwyX2R2X3RpbWluZ3MgdGltaW5nczsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfYnRfdGltaW5nc19jYXAgewotIF9fdTMyIG1pbl93aWR0aDsKLSBfX3UzMiBtYXhfd2lkdGg7Ci0gX191MzIgbWluX2hlaWdodDsKKyAgX191MzIgbWluX3dpZHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfaGVpZ2h0OwotIF9fdTY0IG1pbl9waXhlbGNsb2NrOwotIF9fdTY0IG1heF9waXhlbGNsb2NrOwotIF9fdTMyIHN0YW5kYXJkczsKKyAgX191MzIgbWF4X3dpZHRoOworICBfX3UzMiBtaW5faGVpZ2h0OworICBfX3UzMiBtYXhfaGVpZ2h0OworICBfX3U2NCBtaW5fcGl4ZWxjbG9jazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY2FwYWJpbGl0aWVzOwotIF9fdTMyIHJlc2VydmVkWzE2XTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U2NCBtYXhfcGl4ZWxjbG9jazsKKyAgX191MzIgc3RhbmRhcmRzOworICBfX3UzMiBjYXBhYmlsaXRpZXM7CisgIF9fdTMyIHJlc2VydmVkWzE2XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBWNEwyX0RWX0JUX0NBUF9JTlRFUkxBQ0VEICgxIDw8IDApCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0RWX0JUX0NBUF9QUk9HUkVTU0lWRSAoMSA8PCAxKQogI2RlZmluZSBWNEwyX0RWX0JUX0NBUF9SRURVQ0VEX0JMQU5LSU5HICgxIDw8IDIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0RWX0JUX0NBUF9DVVNUT00gKDEgPDwgMykKIHN0cnVjdCB2NGwyX2R2X3RpbWluZ3NfY2FwIHsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgcGFkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIF9fdTMyIHJlc2VydmVkWzNdOwotIHVuaW9uIHsKLSBzdHJ1Y3QgdjRsMl9idF90aW1pbmdzX2NhcCBidDsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgdjRsMl9idF90aW1pbmdzX2NhcCBidDsKKyAgICBfX3UzMiByYXdfZGF0YVszMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJhd19kYXRhWzMyXTsKLSB9OworICB9OwogfTsKIHN0cnVjdCB2NGwyX2lucHV0IHsKKyAgX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGluZGV4OwotIF9fdTggbmFtZVszMl07Ci0gX191MzIgdHlwZTsKLSBfX3UzMiBhdWRpb3NldDsKKyAgX191OCBuYW1lWzMyXTsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgYXVkaW9zZXQ7CisgIF9fdTMyIHR1bmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0dW5lcjsKLSB2NGwyX3N0ZF9pZCBzdGQ7Ci0gX191MzIgc3RhdHVzOwotIF9fdTMyIGNhcGFiaWxpdGllczsKKyAgdjRsMl9zdGRfaWQgc3RkOworICBfX3UzMiBzdGF0dXM7CisgIF9fdTMyIGNhcGFiaWxpdGllczsKKyAgX191MzIgcmVzZXJ2ZWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkWzNdOwogfTsKICNkZWZpbmUgVjRMMl9JTlBVVF9UWVBFX1RVTkVSIDEKICNkZWZpbmUgVjRMMl9JTlBVVF9UWVBFX0NBTUVSQSAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0lOX1NUX05PX1BPV0VSIDB4MDAwMDAwMDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfSU5fU1RfTk9fU0lHTkFMIDB4MDAwMDAwMDIKICNkZWZpbmUgVjRMMl9JTl9TVF9OT19DT0xPUiAweDAwMDAwMDA0CiAjZGVmaW5lIFY0TDJfSU5fU1RfSEZMSVAgMHgwMDAwMDAxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9JTl9TVF9WRkxJUCAweDAwMDAwMDIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0lOX1NUX05PX0hfTE9DSyAweDAwMDAwMTAwCiAjZGVmaW5lIFY0TDJfSU5fU1RfQ09MT1JfS0lMTCAweDAwMDAwMjAwCiAjZGVmaW5lIFY0TDJfSU5fU1RfTk9fU1lOQyAweDAwMDEwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0lOX1NUX05PX0VRVSAweDAwMDIwMDAwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0lOX1NUX05PX0NBUlJJRVIgMHgwMDA0MDAwMAogI2RlZmluZSBWNEwyX0lOX1NUX01BQ1JPVklTSU9OIDB4MDEwMDAwMDAKICNkZWZpbmUgVjRMMl9JTl9TVF9OT19BQ0NFU1MgMHgwMjAwMDAwMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9JTl9TVF9WVFIgMHgwNDAwMDAwMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9JTl9DQVBfRFZfVElNSU5HUyAweDAwMDAwMDAyCiAjZGVmaW5lIFY0TDJfSU5fQ0FQX0NVU1RPTV9USU1JTkdTIFY0TDJfSU5fQ0FQX0RWX1RJTUlOR1MKICNkZWZpbmUgVjRMMl9JTl9DQVBfU1REIDB4MDAwMDAwMDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9vdXRwdXQgewotIF9fdTMyIGluZGV4OwotIF9fdTggbmFtZVszMl07Ci0gX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYXVkaW9zZXQ7Ci0gX191MzIgbW9kdWxhdG9yOwotIHY0bDJfc3RkX2lkIHN0ZDsKLSBfX3UzMiBjYXBhYmlsaXRpZXM7CisgIF9fdTMyIGluZGV4OworICBfX3U4IG5hbWVbMzJdOworICBfX3UzMiB0eXBlOworICBfX3UzMiBhdWRpb3NldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbM107CisgIF9fdTMyIG1vZHVsYXRvcjsKKyAgdjRsMl9zdGRfaWQgc3RkOworICBfX3UzMiBjYXBhYmlsaXRpZXM7CisgIF9fdTMyIHJlc2VydmVkWzNdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFY0TDJfT1VUUFVUX1RZUEVfTU9EVUxBVE9SIDEKICNkZWZpbmUgVjRMMl9PVVRQVVRfVFlQRV9BTkFMT0cgMgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9PVVRQVVRfVFlQRV9BTkFMT0dWR0FPVkVSTEFZIDMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfT1VUX0NBUF9EVl9USU1JTkdTIDB4MDAwMDAwMDIKICNkZWZpbmUgVjRMMl9PVVRfQ0FQX0NVU1RPTV9USU1JTkdTIFY0TDJfT1VUX0NBUF9EVl9USU1JTkdTCiAjZGVmaW5lIFY0TDJfT1VUX0NBUF9TVEQgMHgwMDAwMDAwNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2NvbnRyb2wgewotIF9fdTMyIGlkOwotIF9fczMyIHZhbHVlOwotfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGlkOworICBfX3MzMiB2YWx1ZTsKK307CiBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbCB7Ci0gX191MzIgaWQ7Ci0gX191MzIgc2l6ZTsKLSBfX3UzMiByZXNlcnZlZDJbMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBfX3MzMiB2YWx1ZTsKLSBfX3M2NCB2YWx1ZTY0OwotIGNoYXIgKnN0cmluZzsKKyAgX191MzIgaWQ7CisgIF9fdTMyIHNpemU7CisgIF9fdTMyIHJlc2VydmVkMlsxXTsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgICAgX19zMzIgdmFsdWU7CisgICAgX19zNjQgdmFsdWU2NDsKKyAgICBjaGFyIF9fdXNlciAqIHN0cmluZzsKKyAgICBfX3U4IF9fdXNlciAqIHBfdTg7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICAgIF9fdTE2IF9fdXNlciAqIHBfdTE2OworICAgIF9fdTMyIF9fdXNlciAqIHBfdTMyOworICAgIHZvaWQgX191c2VyICogcHRyOworICB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbHMgewotIF9fdTMyIGN0cmxfY2xhc3M7CisgIF9fdTMyIGN0cmxfY2xhc3M7CisgIF9fdTMyIGNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb3VudDsKLSBfX3UzMiBlcnJvcl9pZHg7Ci0gX191MzIgcmVzZXJ2ZWRbMl07Ci0gc3RydWN0IHY0bDJfZXh0X2NvbnRyb2wgKmNvbnRyb2xzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZXJyb3JfaWR4OworICBfX3UzMiByZXNlcnZlZFsyXTsKKyAgc3RydWN0IHY0bDJfZXh0X2NvbnRyb2wgKiBjb250cm9sczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NUUkxfSURfTUFTSyAoMHgwZmZmZmZmZikKICNkZWZpbmUgVjRMMl9DVFJMX0lEMkNMQVNTKGlkKSAoKGlkKSAmIDB4MGZmZjAwMDBVTCkKICNkZWZpbmUgVjRMMl9DVFJMX0RSSVZFUl9QUklWKGlkKSAoKChpZCkgJiAweGZmZmYpID49IDB4MTAwMCkKKyNkZWZpbmUgVjRMMl9DVFJMX01BWF9ESU1TICg0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gdjRsMl9jdHJsX3R5cGUgewotIFY0TDJfQ1RSTF9UWVBFX0lOVEVHRVIgPSAxLAotIFY0TDJfQ1RSTF9UWVBFX0JPT0xFQU4gPSAyLAotIFY0TDJfQ1RSTF9UWVBFX01FTlUgPSAzLAorICBWNEwyX0NUUkxfVFlQRV9JTlRFR0VSID0gMSwKKyAgVjRMMl9DVFJMX1RZUEVfQk9PTEVBTiA9IDIsCisgIFY0TDJfQ1RSTF9UWVBFX01FTlUgPSAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBWNEwyX0NUUkxfVFlQRV9CVVRUT04gPSA0LAotIFY0TDJfQ1RSTF9UWVBFX0lOVEVHRVI2NCA9IDUsCi0gVjRMMl9DVFJMX1RZUEVfQ1RSTF9DTEFTUyA9IDYsCi0gVjRMMl9DVFJMX1RZUEVfU1RSSU5HID0gNywKKyAgVjRMMl9DVFJMX1RZUEVfQlVUVE9OID0gNCwKKyAgVjRMMl9DVFJMX1RZUEVfSU5URUdFUjY0ID0gNSwKKyAgVjRMMl9DVFJMX1RZUEVfQ1RSTF9DTEFTUyA9IDYsCisgIFY0TDJfQ1RSTF9UWVBFX1NUUklORyA9IDcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFY0TDJfQ1RSTF9UWVBFX0JJVE1BU0sgPSA4LAotIFY0TDJfQ1RSTF9UWVBFX0lOVEVHRVJfTUVOVSA9IDksCisgIFY0TDJfQ1RSTF9UWVBFX0JJVE1BU0sgPSA4LAorICBWNEwyX0NUUkxfVFlQRV9JTlRFR0VSX01FTlUgPSA5LAorICBWNEwyX0NUUkxfQ09NUE9VTkRfVFlQRVMgPSAweDAxMDAsCisgIFY0TDJfQ1RSTF9UWVBFX1U4ID0gMHgwMTAwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgVjRMMl9DVFJMX1RZUEVfVTE2ID0gMHgwMTAxLAorICBWNEwyX0NUUkxfVFlQRV9VMzIgPSAweDAxMDIsCiB9Owogc3RydWN0IHY0bDJfcXVlcnljdHJsIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWQ7Ci0gX191MzIgdHlwZTsKLSBfX3U4IG5hbWVbMzJdOwotIF9fczMyIG1pbmltdW07CisgIF9fdTMyIGlkOworICBfX3UzMiB0eXBlOworICBfX3U4IG5hbWVbMzJdOworICBfX3MzMiBtaW5pbXVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBtYXhpbXVtOwotIF9fczMyIHN0ZXA7Ci0gX19zMzIgZGVmYXVsdF92YWx1ZTsKLSBfX3UzMiBmbGFnczsKKyAgX19zMzIgbWF4aW11bTsKKyAgX19zMzIgc3RlcDsKKyAgX19zMzIgZGVmYXVsdF92YWx1ZTsKKyAgX191MzIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkWzJdOworICBfX3UzMiByZXNlcnZlZFsyXTsKK307CitzdHJ1Y3QgdjRsMl9xdWVyeV9leHRfY3RybCB7CisgIF9fdTMyIGlkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgdHlwZTsKKyAgY2hhciBuYW1lWzMyXTsKKyAgX19zNjQgbWluaW11bTsKKyAgX19zNjQgbWF4aW11bTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTY0IHN0ZXA7CisgIF9fczY0IGRlZmF1bHRfdmFsdWU7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBlbGVtX3NpemU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBlbGVtczsKKyAgX191MzIgbnJfb2ZfZGltczsKKyAgX191MzIgZGltc1tWNEwyX0NUUkxfTUFYX0RJTVNdOworICBfX3UzMiByZXNlcnZlZFszMl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB2NGwyX3F1ZXJ5bWVudSB7Ci0gX191MzIgaWQ7CisgIF9fdTMyIGlkOworICBfX3UzMiBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW5kZXg7Ci0gdW5pb24gewotIF9fdTggbmFtZVszMl07Ci0gX19zNjQgdmFsdWU7CisgIHVuaW9uIHsKKyAgICBfX3U4IG5hbWVbMzJdOworICAgIF9fczY0IHZhbHVlOworICB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9OwotIF9fdTMyIHJlc2VydmVkOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTMyIHJlc2VydmVkOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVjRMMl9DVFJMX0ZMQUdfRElTQUJMRUQgMHgwMDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0NUUkxfRkxBR19HUkFCQkVEIDB4MDAwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DVFJMX0ZMQUdfUkVBRF9PTkxZIDB4MDAwNAogI2RlZmluZSBWNEwyX0NUUkxfRkxBR19VUERBVEUgMHgwMDA4CiAjZGVmaW5lIFY0TDJfQ1RSTF9GTEFHX0lOQUNUSVZFIDB4MDAxMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DVFJMX0ZMQUdfU0xJREVSIDB4MDAyMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DVFJMX0ZMQUdfV1JJVEVfT05MWSAweDAwNDAKICNkZWZpbmUgVjRMMl9DVFJMX0ZMQUdfVk9MQVRJTEUgMHgwMDgwCisjZGVmaW5lIFY0TDJfQ1RSTF9GTEFHX0hBU19QQVlMT0FEIDB4MDEwMAogI2RlZmluZSBWNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwgMHg4MDAwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DT01QT1VORCAweDQwMDAwMDAwCiAjZGVmaW5lIFY0TDJfQ0lEX01BWF9DVFJMUyAxMDI0CiAjZGVmaW5lIFY0TDJfQ0lEX1BSSVZBVEVfQkFTRSAweDA4MDAwMDAwCiBzdHJ1Y3QgdjRsMl90dW5lciB7Ci0gX191MzIgaW5kZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbmFtZVszMl07Ci0gX191MzIgdHlwZTsKLSBfX3UzMiBjYXBhYmlsaXR5OwotIF9fdTMyIHJhbmdlbG93OworICBfX3UzMiBpbmRleDsKKyAgX191OCBuYW1lWzMyXTsKKyAgX191MzIgdHlwZTsKKyAgX191MzIgY2FwYWJpbGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmFuZ2VoaWdoOwotIF9fdTMyIHJ4c3ViY2hhbnM7Ci0gX191MzIgYXVkbW9kZTsKLSBfX3MzMiBzaWduYWw7CisgIF9fdTMyIHJhbmdlbG93OworICBfX3UzMiByYW5nZWhpZ2g7CisgIF9fdTMyIHJ4c3ViY2hhbnM7CisgIF9fdTMyIGF1ZG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIGFmYzsKLSBfX3UzMiByZXNlcnZlZFs0XTsKKyAgX19zMzIgc2lnbmFsOworICBfX3MzMiBhZmM7CisgIF9fdTMyIHJlc2VydmVkWzRdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9tb2R1bGF0b3IgeworICBfX3UzMiBpbmRleDsKKyAgX191OCBuYW1lWzMyXTsKKyAgX191MzIgY2FwYWJpbGl0eTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW5kZXg7Ci0gX191OCBuYW1lWzMyXTsKLSBfX3UzMiBjYXBhYmlsaXR5OwotIF9fdTMyIHJhbmdlbG93OworICBfX3UzMiByYW5nZWxvdzsKKyAgX191MzIgcmFuZ2VoaWdoOworICBfX3UzMiB0eHN1YmNoYW5zOworICBfX3UzMiByZXNlcnZlZFs0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmFuZ2VoaWdoOwotIF9fdTMyIHR4c3ViY2hhbnM7Ci0gX191MzIgcmVzZXJ2ZWRbNF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfTE9XIDB4MDAwMQogI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9OT1JNIDB4MDAwMgogI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9IV1NFRUtfQk9VTkRFRCAweDAwMDQKLSNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfSFdTRUVLX1dSQVAgMHgwMDA4CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9IV1NFRUtfV1JBUCAweDAwMDgKICNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfU1RFUkVPIDB4MDAxMAogI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9MQU5HMiAweDAwMjAKICNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfU0FQIDB4MDAyMAotI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9MQU5HMSAweDAwNDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfVFVORVJfQ0FQX0xBTkcxIDB4MDA0MAogI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9SRFMgMHgwMDgwCiAjZGVmaW5lIFY0TDJfVFVORVJfQ0FQX1JEU19CTE9DS19JTyAweDAxMDAKICNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfUkRTX0NPTlRST0xTIDB4MDIwMAotI2RlZmluZSBWNEwyX1RVTkVSX0NBUF9GUkVRX0JBTkRTIDB4MDQwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfRlJFUV9CQU5EUyAweDA0MDAKICNkZWZpbmUgVjRMMl9UVU5FUl9DQVBfSFdTRUVLX1BST0dfTElNIDB4MDgwMAorI2RlZmluZSBWNEwyX1RVTkVSX0NBUF8xSFogMHgxMDAwCiAjZGVmaW5lIFY0TDJfVFVORVJfU1VCX01PTk8gMHgwMDAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1RVTkVSX1NVQl9TVEVSRU8gMHgwMDAyCiAjZGVmaW5lIFY0TDJfVFVORVJfU1VCX0xBTkcyIDB4MDAwNAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9UVU5FUl9TVUJfU0FQIDB4MDAwNAogI2RlZmluZSBWNEwyX1RVTkVSX1NVQl9MQU5HMSAweDAwMDgKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfVFVORVJfU1VCX1JEUyAweDAwMTAKICNkZWZpbmUgVjRMMl9UVU5FUl9NT0RFX01PTk8gMHgwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1RVTkVSX01PREVfU1RFUkVPIDB4MDAwMQogI2RlZmluZSBWNEwyX1RVTkVSX01PREVfTEFORzIgMHgwMDAyCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1RVTkVSX01PREVfU0FQIDB4MDAwMgogI2RlZmluZSBWNEwyX1RVTkVSX01PREVfTEFORzEgMHgwMDAzCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX1RVTkVSX01PREVfTEFORzFfTEFORzIgMHgwMDA0CiBzdHJ1Y3QgdjRsMl9mcmVxdWVuY3kgewotIF9fdTMyIHR1bmVyOwotIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZyZXF1ZW5jeTsKLSBfX3UzMiByZXNlcnZlZFs4XTsKKyAgX191MzIgdHVuZXI7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGZyZXF1ZW5jeTsKKyAgX191MzIgcmVzZXJ2ZWRbOF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVjRMMl9CQU5EX01PRFVMQVRJT05fVlNCICgxIDw8IDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0JBTkRfTU9EVUxBVElPTl9GTSAoMSA8PCAyKQogI2RlZmluZSBWNEwyX0JBTkRfTU9EVUxBVElPTl9BTSAoMSA8PCAzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2ZyZXF1ZW5jeV9iYW5kIHsKLSBfX3UzMiB0dW5lcjsKKyAgX191MzIgdHVuZXI7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGluZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIF9fdTMyIGluZGV4OwotIF9fdTMyIGNhcGFiaWxpdHk7Ci0gX191MzIgcmFuZ2Vsb3c7CisgIF9fdTMyIGNhcGFiaWxpdHk7CisgIF9fdTMyIHJhbmdlbG93OworICBfX3UzMiByYW5nZWhpZ2g7CisgIF9fdTMyIG1vZHVsYXRpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJhbmdlaGlnaDsKLSBfX3UzMiBtb2R1bGF0aW9uOwotIF9fdTMyIHJlc2VydmVkWzldOworICBfX3UzMiByZXNlcnZlZFs5XTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfaHdfZnJlcV9zZWVrIHsKLSBfX3UzMiB0dW5lcjsKLSBfX3UzMiB0eXBlOwotIF9fdTMyIHNlZWtfdXB3YXJkOworICBfX3UzMiB0dW5lcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgd3JhcF9hcm91bmQ7Ci0gX191MzIgc3BhY2luZzsKLSBfX3UzMiByYW5nZWxvdzsKLSBfX3UzMiByYW5nZWhpZ2g7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIHNlZWtfdXB3YXJkOworICBfX3UzMiB3cmFwX2Fyb3VuZDsKKyAgX191MzIgc3BhY2luZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbNV07CisgIF9fdTMyIHJhbmdlbG93OworICBfX3UzMiByYW5nZWhpZ2g7CisgIF9fdTMyIHJlc2VydmVkWzVdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9yZHNfZGF0YSB7Ci0gX191OCBsc2I7CisgIF9fdTggbHNiOworICBfX3U4IG1zYjsKKyAgX191OCBibG9jazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBtc2I7Ci0gX191OCBibG9jazsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgVjRMMl9SRFNfQkxPQ0tfTVNLIDB4NwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9SRFNfQkxPQ0tfQSAwCiAjZGVmaW5lIFY0TDJfUkRTX0JMT0NLX0IgMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9SRFNfQkxPQ0tfQyAyCiAjZGVmaW5lIFY0TDJfUkRTX0JMT0NLX0QgMwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9SRFNfQkxPQ0tfQ19BTFQgNAogI2RlZmluZSBWNEwyX1JEU19CTE9DS19JTlZBTElEIDcKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfUkRTX0JMT0NLX0NPUlJFQ1RFRCAweDQwCiAjZGVmaW5lIFY0TDJfUkRTX0JMT0NLX0VSUk9SIDB4ODAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9hdWRpbyB7Ci0gX191MzIgaW5kZXg7Ci0gX191OCBuYW1lWzMyXTsKLSBfX3UzMiBjYXBhYmlsaXR5OworICBfX3UzMiBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbW9kZTsKLSBfX3UzMiByZXNlcnZlZFsyXTsKKyAgX191OCBuYW1lWzMyXTsKKyAgX191MzIgY2FwYWJpbGl0eTsKKyAgX191MzIgbW9kZTsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVjRMMl9BVURDQVBfU1RFUkVPIDB4MDAwMDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQVVEQ0FQX0FWTCAweDAwMDAyCiAjZGVmaW5lIFY0TDJfQVVETU9ERV9BVkwgMHgwMDAwMQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2NGwyX2F1ZGlvb3V0IHsKLSBfX3UzMiBpbmRleDsKKyAgX191MzIgaW5kZXg7CisgIF9fdTggbmFtZVszMl07CisgIF9fdTMyIGNhcGFiaWxpdHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbmFtZVszMl07Ci0gX191MzIgY2FwYWJpbGl0eTsKLSBfX3UzMiBtb2RlOwotIF9fdTMyIHJlc2VydmVkWzJdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgbW9kZTsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CiB9OwogI2RlZmluZSBWNEwyX0VOQ19JRFhfRlJBTUVfSSAoMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfRU5DX0lEWF9GUkFNRV9QICgxKQogI2RlZmluZSBWNEwyX0VOQ19JRFhfRlJBTUVfQiAoMikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfRU5DX0lEWF9GUkFNRV9NQVNLICgweGYpCiBzdHJ1Y3QgdjRsMl9lbmNfaWR4X2VudHJ5IHsKLSBfX3U2NCBvZmZzZXQ7Ci0gX191NjQgcHRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsZW5ndGg7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgcmVzZXJ2ZWRbMl07CisgIF9fdTY0IG9mZnNldDsKKyAgX191NjQgcHRzOworICBfX3UzMiBsZW5ndGg7CisgIF9fdTMyIGZsYWdzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcmVzZXJ2ZWRbMl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9FTkNfSURYX0VOVFJJRVMgKDY0KQogc3RydWN0IHY0bDJfZW5jX2lkeCB7Ci0gX191MzIgZW50cmllczsKLSBfX3UzMiBlbnRyaWVzX2NhcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRbNF07Ci0gc3RydWN0IHY0bDJfZW5jX2lkeF9lbnRyeSBlbnRyeVtWNEwyX0VOQ19JRFhfRU5UUklFU107CisgIF9fdTMyIGVudHJpZXM7CisgIF9fdTMyIGVudHJpZXNfY2FwOworICBfX3UzMiByZXNlcnZlZFs0XTsKKyAgc3RydWN0IHY0bDJfZW5jX2lkeF9lbnRyeSBlbnRyeVtWNEwyX0VOQ19JRFhfRU5UUklFU107CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVjRMMl9FTkNfQ01EX1NUQVJUICgwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9FTkNfQ01EX1NUT1AgKDEpCiAjZGVmaW5lIFY0TDJfRU5DX0NNRF9QQVVTRSAoMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfRU5DX0NNRF9SRVNVTUUgKDMpCiAjZGVmaW5lIFY0TDJfRU5DX0NNRF9TVE9QX0FUX0dPUF9FTkQgKDEgPDwgMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9lbmNvZGVyX2NtZCB7Ci0gX191MzIgY21kOwotIF9fdTMyIGZsYWdzOwotIHVuaW9uIHsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIF9fdTMyIGRhdGFbOF07Ci0gfSByYXc7Ci0gfTsKKyAgX191MzIgZmxhZ3M7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgZGF0YVs4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgICAgfSByYXc7CisgIH07CiB9OwogI2RlZmluZSBWNEwyX0RFQ19DTURfU1RBUlQgKDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0RFQ19DTURfU1RPUCAoMSkKICNkZWZpbmUgVjRMMl9ERUNfQ01EX1BBVVNFICgyKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9ERUNfQ01EX1JFU1VNRSAoMykKICNkZWZpbmUgVjRMMl9ERUNfQ01EX1NUQVJUX01VVEVfQVVESU8gKDEgPDwgMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfREVDX0NNRF9QQVVTRV9UT19CTEFDSyAoMSA8PCAwKQogI2RlZmluZSBWNEwyX0RFQ19DTURfU1RPUF9UT19CTEFDSyAoMSA8PCAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9ERUNfQ01EX1NUT1BfSU1NRURJQVRFTFkgKDEgPDwgMSkKICNkZWZpbmUgVjRMMl9ERUNfU1RBUlRfRk1UX05PTkUgKDApCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0RFQ19TVEFSVF9GTVRfR09QICgxKQogc3RydWN0IHY0bDJfZGVjb2Rlcl9jbWQgeworICBfX3UzMiBjbWQ7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjbWQ7Ci0gX191MzIgZmxhZ3M7Ci0gdW5pb24gewotIHN0cnVjdCB7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgeworICAgICAgX191NjQgcHRzOworICAgIH0gc3RvcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcHRzOwotIH0gc3RvcDsKLSBzdHJ1Y3QgewotIF9fczMyIHNwZWVkOworICAgIHN0cnVjdCB7CisgICAgICBfX3MzMiBzcGVlZDsKKyAgICAgIF9fdTMyIGZvcm1hdDsKKyAgICB9IHN0YXJ0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmb3JtYXQ7Ci0gfSBzdGFydDsKLSBzdHJ1Y3QgewotIF9fdTMyIGRhdGFbMTZdOworICAgIHN0cnVjdCB7CisgICAgICBfX3UzMiBkYXRhWzE2XTsKKyAgICB9IHJhdzsKKyAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSByYXc7Ci0gfTsKIH07CiBzdHJ1Y3QgdjRsMl92YmlfZm9ybWF0IHsKKyAgX191MzIgc2FtcGxpbmdfcmF0ZTsKKyAgX191MzIgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzYW1wbGluZ19yYXRlOwotIF9fdTMyIG9mZnNldDsKLSBfX3UzMiBzYW1wbGVzX3Blcl9saW5lOwotIF9fdTMyIHNhbXBsZV9mb3JtYXQ7CisgIF9fdTMyIHNhbXBsZXNfcGVyX2xpbmU7CisgIF9fdTMyIHNhbXBsZV9mb3JtYXQ7CisgIF9fczMyIHN0YXJ0WzJdOworICBfX3UzMiBjb3VudFsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgc3RhcnRbMl07Ci0gX191MzIgY291bnRbMl07Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgcmVzZXJ2ZWRbMl07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcmVzZXJ2ZWRbMl07CiB9OwogI2RlZmluZSBWNEwyX1ZCSV9VTlNZTkMgKDEgPDwgMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfVkJJX0lOVEVSTEFDRUQgKDEgPDwgMSkKKyNkZWZpbmUgVjRMMl9WQklfSVRVXzUyNV9GMV9TVEFSVCAoMSkKKyNkZWZpbmUgVjRMMl9WQklfSVRVXzUyNV9GMl9TVEFSVCAoMjY0KQorI2RlZmluZSBWNEwyX1ZCSV9JVFVfNjI1X0YxX1NUQVJUICgxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9WQklfSVRVXzYyNV9GMl9TVEFSVCAoMzE0KQogc3RydWN0IHY0bDJfc2xpY2VkX3ZiaV9mb3JtYXQgeworICBfX3UxNiBzZXJ2aWNlX3NldDsKKyAgX191MTYgc2VydmljZV9saW5lc1syXVsyNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNlcnZpY2Vfc2V0OwotIF9fdTE2IHNlcnZpY2VfbGluZXNbMl1bMjRdOwotIF9fdTMyIGlvX3NpemU7Ci0gX191MzIgcmVzZXJ2ZWRbMl07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBpb19zaXplOworICBfX3UzMiByZXNlcnZlZFsyXTsKIH07CiAjZGVmaW5lIFY0TDJfU0xJQ0VEX1RFTEVURVhUX0IgKDB4MDAwMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfU0xJQ0VEX1ZQUyAoMHgwNDAwKQogI2RlZmluZSBWNEwyX1NMSUNFRF9DQVBUSU9OXzUyNSAoMHgxMDAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9TTElDRURfV1NTXzYyNSAoMHg0MDAwKQogI2RlZmluZSBWNEwyX1NMSUNFRF9WQklfNTI1IChWNEwyX1NMSUNFRF9DQVBUSU9OXzUyNSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfU0xJQ0VEX1ZCSV82MjUgKFY0TDJfU0xJQ0VEX1RFTEVURVhUX0IgfCBWNEwyX1NMSUNFRF9WUFMgfCBWNEwyX1NMSUNFRF9XU1NfNjI1KQogc3RydWN0IHY0bDJfc2xpY2VkX3ZiaV9jYXAgeworICBfX3UxNiBzZXJ2aWNlX3NldDsKKyAgX191MTYgc2VydmljZV9saW5lc1syXVsyNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNlcnZpY2Vfc2V0OwotIF9fdTE2IHNlcnZpY2VfbGluZXNbMl1bMjRdOwotIF9fdTMyIHR5cGU7Ci0gX191MzIgcmVzZXJ2ZWRbM107Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiB0eXBlOworICBfX3UzMiByZXNlcnZlZFszXTsKIH07CiBzdHJ1Y3QgdjRsMl9zbGljZWRfdmJpX2RhdGEgewotIF9fdTMyIGlkOwotIF9fdTMyIGZpZWxkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsaW5lOwotIF9fdTMyIHJlc2VydmVkOwotIF9fdTggZGF0YVs0OF07CisgIF9fdTMyIGlkOworICBfX3UzMiBmaWVsZDsKKyAgX191MzIgbGluZTsKKyAgX191MzIgcmVzZXJ2ZWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGRhdGFbNDhdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfTVBFR19WQklfSVZUVl9URUxFVEVYVF9CICgxKQogI2RlZmluZSBWNEwyX01QRUdfVkJJX0lWVFZfQ0FQVElPTl81MjUgKDQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX01QRUdfVkJJX0lWVFZfV1NTXzYyNSAoNSkKICNkZWZpbmUgVjRMMl9NUEVHX1ZCSV9JVlRWX1ZQUyAoNykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdjRsMl9tcGVnX3ZiaV9pdHYwX2xpbmUgewotIF9fdTggaWQ7Ci0gX191OCBkYXRhWzQyXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBkYXRhWzQyXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdjRsMl9tcGVnX3ZiaV9pdHYwIHsKLSBfX2xlMzIgbGluZW1hc2tbMl07Ci0gc3RydWN0IHY0bDJfbXBlZ192YmlfaXR2MF9saW5lIGxpbmVbMzVdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fbGUzMiBsaW5lbWFza1syXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCB2NGwyX21wZWdfdmJpX2l0djBfbGluZSBsaW5lWzM1XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdjRsMl9tcGVnX3ZiaV9JVFYwIHsKLSBzdHJ1Y3QgdjRsMl9tcGVnX3ZiaV9pdHYwX2xpbmUgbGluZVszNl07Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLSNkZWZpbmUgVjRMMl9NUEVHX1ZCSV9JVlRWX01BR0lDMCAiaXR2MCIKKyAgc3RydWN0IHY0bDJfbXBlZ192YmlfaXR2MF9saW5lIGxpbmVbMzZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisjZGVmaW5lIFY0TDJfTVBFR19WQklfSVZUVl9NQUdJQzAgIml0djAiCiAjZGVmaW5lIFY0TDJfTVBFR19WQklfSVZUVl9NQUdJQzEgIklUVjAiCiBzdHJ1Y3QgdjRsMl9tcGVnX3ZiaV9mbXRfaXZ0diB7Ci0gX191OCBtYWdpY1s0XTsKLSB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2NGwyX21wZWdfdmJpX2l0djAgaXR2MDsKLSBzdHJ1Y3QgdjRsMl9tcGVnX3ZiaV9JVFYwIElUVjA7Ci0gfTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IG1hZ2ljWzRdOworICB1bmlvbiB7CisgICAgc3RydWN0IHY0bDJfbXBlZ192YmlfaXR2MCBpdHYwOworICAgIHN0cnVjdCB2NGwyX21wZWdfdmJpX0lUVjAgSVRWMDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIH07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHY0bDJfcGxhbmVfcGl4X2Zvcm1hdCB7Ci0gX191MzIgc2l6ZWltYWdlOwotIF9fdTE2IGJ5dGVzcGVybGluZTsKLSBfX3UxNiByZXNlcnZlZFs3XTsKKyAgX191MzIgc2l6ZWltYWdlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3UxNiBieXRlc3BlcmxpbmU7CisgIF9fdTE2IHJlc2VydmVkWzddOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB2NGwyX3BpeF9mb3JtYXRfbXBsYW5lIHsKLSBfX3UzMiB3aWR0aDsKLSBfX3UzMiBoZWlnaHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBpeGVsZm9ybWF0OwotIF9fdTMyIGZpZWxkOwotIF9fdTMyIGNvbG9yc3BhY2U7Ci0gc3RydWN0IHY0bDJfcGxhbmVfcGl4X2Zvcm1hdCBwbGFuZV9mbXRbVklERU9fTUFYX1BMQU5FU107CisgIF9fdTMyIHdpZHRoOworICBfX3UzMiBoZWlnaHQ7CisgIF9fdTMyIHBpeGVsZm9ybWF0OworICBfX3UzMiBmaWVsZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBudW1fcGxhbmVzOwotIF9fdTggcmVzZXJ2ZWRbMTFdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTMyIGNvbG9yc3BhY2U7CisgIHN0cnVjdCB2NGwyX3BsYW5lX3BpeF9mb3JtYXQgcGxhbmVfZm10W1ZJREVPX01BWF9QTEFORVNdOworICBfX3U4IG51bV9wbGFuZXM7CisgIF9fdTggZmxhZ3M7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHJlc2VydmVkWzEwXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CitzdHJ1Y3QgdjRsMl9zZHJfZm9ybWF0IHsKKyAgX191MzIgcGl4ZWxmb3JtYXQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBidWZmZXJzaXplOworICBfX3U4IHJlc2VydmVkWzI0XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgdjRsMl9mb3JtYXQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIHVuaW9uIHsKLSBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0IHBpeDsKLSBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0X21wbGFuZSBwaXhfbXA7CisgIF9fdTMyIHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0IHBpeDsKKyAgICBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0X21wbGFuZSBwaXhfbXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2NGwyX3dpbmRvdyB3aW47Ci0gc3RydWN0IHY0bDJfdmJpX2Zvcm1hdCB2Ymk7Ci0gc3RydWN0IHY0bDJfc2xpY2VkX3ZiaV9mb3JtYXQgc2xpY2VkOwotIF9fdTggcmF3X2RhdGFbMjAwXTsKKyAgICBzdHJ1Y3QgdjRsMl93aW5kb3cgd2luOworICAgIHN0cnVjdCB2NGwyX3ZiaV9mb3JtYXQgdmJpOworICAgIHN0cnVjdCB2NGwyX3NsaWNlZF92YmlfZm9ybWF0IHNsaWNlZDsKKyAgICBzdHJ1Y3QgdjRsMl9zZHJfZm9ybWF0IHNkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBmbXQ7CisgICAgX191OCByYXdfZGF0YVsyMDBdOworICB9IGZtdDsKIH07CiBzdHJ1Y3QgdjRsMl9zdHJlYW1wYXJtIHsKLSBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHY0bDJfY2FwdHVyZXBhcm0gY2FwdHVyZTsKLSBzdHJ1Y3QgdjRsMl9vdXRwdXRwYXJtIG91dHB1dDsKLSBfX3U4IHJhd19kYXRhWzIwMF07CisgIF9fdTMyIHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgdjRsMl9jYXB0dXJlcGFybSBjYXB0dXJlOworICAgIHN0cnVjdCB2NGwyX291dHB1dHBhcm0gb3V0cHV0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHBhcm07CisgICAgX191OCByYXdfZGF0YVsyMDBdOworICB9IHBhcm07CiB9OwogI2RlZmluZSBWNEwyX0VWRU5UX0FMTCAwCi0jZGVmaW5lIFY0TDJfRVZFTlRfVlNZTkMgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVjRMMl9FVkVOVF9WU1lOQyAxCiAjZGVmaW5lIFY0TDJfRVZFTlRfRU9TIDIKICNkZWZpbmUgVjRMMl9FVkVOVF9DVFJMIDMKICNkZWZpbmUgVjRMMl9FVkVOVF9GUkFNRV9TWU5DIDQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFY0TDJfRVZFTlRfU09VUkNFX0NIQU5HRSA1CisjZGVmaW5lIFY0TDJfRVZFTlRfTU9USU9OX0RFVCA2CiAjZGVmaW5lIFY0TDJfRVZFTlRfUFJJVkFURV9TVEFSVCAweDA4MDAwMDAwCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfZXZlbnRfdnN5bmMgewotIF9fdTggZmllbGQ7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLSNkZWZpbmUgVjRMMl9FVkVOVF9DVFJMX0NIX1ZBTFVFICgxIDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IGZpZWxkOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKyNkZWZpbmUgVjRMMl9FVkVOVF9DVFJMX0NIX1ZBTFVFICgxIDw8IDApCiAjZGVmaW5lIFY0TDJfRVZFTlRfQ1RSTF9DSF9GTEFHUyAoMSA8PCAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9FVkVOVF9DVFJMX0NIX1JBTkdFICgxIDw8IDIpCiBzdHJ1Y3QgdjRsMl9ldmVudF9jdHJsIHsKLSBfX3UzMiBjaGFuZ2VzOworICBfX3UzMiBjaGFuZ2VzOworICBfX3UzMiB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0eXBlOwotIHVuaW9uIHsKLSBfX3MzMiB2YWx1ZTsKLSBfX3M2NCB2YWx1ZTY0OworICB1bmlvbiB7CisgICAgX19zMzIgdmFsdWU7CisgICAgX19zNjQgdmFsdWU2NDsKKyAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfTsKLSBfX3UzMiBmbGFnczsKLSBfX3MzMiBtaW5pbXVtOwotIF9fczMyIG1heGltdW07CisgIF9fdTMyIGZsYWdzOworICBfX3MzMiBtaW5pbXVtOworICBfX3MzMiBtYXhpbXVtOworICBfX3MzMiBzdGVwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBzdGVwOwotIF9fczMyIGRlZmF1bHRfdmFsdWU7CisgIF9fczMyIGRlZmF1bHRfdmFsdWU7CiB9Owogc3RydWN0IHY0bDJfZXZlbnRfZnJhbWVfc3luYyB7CisgIF9fdTMyIGZyYW1lX3NlcXVlbmNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmcmFtZV9zZXF1ZW5jZTsKK307CisjZGVmaW5lIFY0TDJfRVZFTlRfU1JDX0NIX1JFU09MVVRJT04gKDEgPDwgMCkKK3N0cnVjdCB2NGwyX2V2ZW50X3NyY19jaGFuZ2UgeworICBfX3UzMiBjaGFuZ2VzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CisjZGVmaW5lIFY0TDJfRVZFTlRfTURfRkxfSEFWRV9GUkFNRV9TRVEgKDEgPDwgMCkKK3N0cnVjdCB2NGwyX2V2ZW50X21vdGlvbl9kZXQgeworICBfX3UzMiBmbGFnczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGZyYW1lX3NlcXVlbmNlOworICBfX3UzMiByZWdpb25fbWFzazsKIH07CiBzdHJ1Y3QgdjRsMl9ldmVudCB7Ci0gX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHN0cnVjdCB2NGwyX2V2ZW50X3ZzeW5jIHZzeW5jOwotIHN0cnVjdCB2NGwyX2V2ZW50X2N0cmwgY3RybDsKLSBzdHJ1Y3QgdjRsMl9ldmVudF9mcmFtZV9zeW5jIGZyYW1lX3N5bmM7CisgIF9fdTMyIHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgdjRsMl9ldmVudF92c3luYyB2c3luYzsKKyAgICBzdHJ1Y3QgdjRsMl9ldmVudF9jdHJsIGN0cmw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGF0YVs2NF07Ci0gfSB1OwotIF9fdTMyIHBlbmRpbmc7Ci0gX191MzIgc2VxdWVuY2U7CisgICAgc3RydWN0IHY0bDJfZXZlbnRfZnJhbWVfc3luYyBmcmFtZV9zeW5jOworICAgIHN0cnVjdCB2NGwyX2V2ZW50X3NyY19jaGFuZ2Ugc3JjX2NoYW5nZTsKKyAgICBzdHJ1Y3QgdjRsMl9ldmVudF9tb3Rpb25fZGV0IG1vdGlvbl9kZXQ7CisgICAgX191OCBkYXRhWzY0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRpbWVzcGVjIHRpbWVzdGFtcDsKLSBfX3UzMiBpZDsKLSBfX3UzMiByZXNlcnZlZFs4XTsKKyAgfSB1OworICBfX3UzMiBwZW5kaW5nOworICBfX3UzMiBzZXF1ZW5jZTsKKyAgc3RydWN0IHRpbWVzcGVjIHRpbWVzdGFtcDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGlkOworICBfX3UzMiByZXNlcnZlZFs4XTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWNEwyX0VWRU5UX1NVQl9GTF9TRU5EX0lOSVRJQUwgKDEgPDwgMCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfRVZFTlRfU1VCX0ZMX0FMTE9XX0ZFRURCQUNLICgxIDw8IDEpCiBzdHJ1Y3QgdjRsMl9ldmVudF9zdWJzY3JpcHRpb24gewotIF9fdTMyIHR5cGU7CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZDsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiByZXNlcnZlZFs1XTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTMyIHJlc2VydmVkWzVdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0hJUF9NQVRDSF9CUklER0UgMAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSElQX01BVENIX1NVQkRFViA0CiAjZGVmaW5lIFY0TDJfQ0hJUF9NQVRDSF9IT1NUIFY0TDJfQ0hJUF9NQVRDSF9CUklER0UKICNkZWZpbmUgVjRMMl9DSElQX01BVENIX0kyQ19EUklWRVIgMQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSElQX01BVENIX0kyQ19BRERSIDIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFY0TDJfQ0hJUF9NQVRDSF9BQzk3IDMKIHN0cnVjdCB2NGwyX2RiZ19tYXRjaCB7Ci0gX191MzIgdHlwZTsKKyAgX191MzIgdHlwZTsKKyAgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gX191MzIgYWRkcjsKLSBjaGFyIG5hbWVbMzJdOwotIH07CisgICAgX191MzIgYWRkcjsKKyAgICBjaGFyIG5hbWVbMzJdOworICB9OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKIHN0cnVjdCB2NGwyX2RiZ19yZWdpc3RlciB7Ci0gc3RydWN0IHY0bDJfZGJnX21hdGNoIG1hdGNoOwotIF9fdTMyIHNpemU7CisgIHN0cnVjdCB2NGwyX2RiZ19tYXRjaCBtYXRjaDsKKyAgX191MzIgc2l6ZTsKKyAgX191NjQgcmVnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZWc7Ci0gX191NjQgdmFsOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIF9fdTY0IHZhbDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZGVmaW5lIFY0TDJfQ0hJUF9GTF9SRUFEQUJMRSAoMSA8PCAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVjRMMl9DSElQX0ZMX1dSSVRBQkxFICgxIDw8IDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHY0bDJfZGJnX2NoaXBfaW5mbyB7Ci0gc3RydWN0IHY0bDJfZGJnX21hdGNoIG1hdGNoOwotIGNoYXIgbmFtZVszMl07CisgIHN0cnVjdCB2NGwyX2RiZ19tYXRjaCBtYXRjaDsKKyAgY2hhciBuYW1lWzMyXTsKKyAgX191MzIgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGZsYWdzOwotIF9fdTMyIHJlc2VydmVkWzMyXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3UzMiByZXNlcnZlZFszMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHY0bDJfY3JlYXRlX2J1ZmZlcnMgeworICBfX3UzMiBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW5kZXg7Ci0gX191MzIgY291bnQ7Ci0gX191MzIgbWVtb3J5OwotIHN0cnVjdCB2NGwyX2Zvcm1hdCBmb3JtYXQ7CisgIF9fdTMyIGNvdW50OworICBfX3UzMiBtZW1vcnk7CisgIHN0cnVjdCB2NGwyX2Zvcm1hdCBmb3JtYXQ7CisgIF9fdTMyIHJlc2VydmVkWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNlcnZlZFs4XTsKIH07CiAjZGVmaW5lIFZJRElPQ19RVUVSWUNBUCBfSU9SKCdWJywgMCwgc3RydWN0IHY0bDJfY2FwYWJpbGl0eSkKICNkZWZpbmUgVklESU9DX1JFU0VSVkVEIF9JTygnVicsIDEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURJT0NfRU5VTV9GTVQgX0lPV1IoJ1YnLCAyLCBzdHJ1Y3QgdjRsMl9mbXRkZXNjKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklESU9DX0dfRk1UIF9JT1dSKCdWJywgNCwgc3RydWN0IHY0bDJfZm9ybWF0KQogI2RlZmluZSBWSURJT0NfU19GTVQgX0lPV1IoJ1YnLCA1LCBzdHJ1Y3QgdjRsMl9mb3JtYXQpCiAjZGVmaW5lIFZJRElPQ19SRVFCVUZTIF9JT1dSKCdWJywgOCwgc3RydWN0IHY0bDJfcmVxdWVzdGJ1ZmZlcnMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURJT0NfUVVFUllCVUYgX0lPV1IoJ1YnLCA5LCBzdHJ1Y3QgdjRsMl9idWZmZXIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURJT0NfR19GQlVGIF9JT1IoJ1YnLCAxMCwgc3RydWN0IHY0bDJfZnJhbWVidWZmZXIpCiAjZGVmaW5lIFZJRElPQ19TX0ZCVUYgX0lPVygnVicsIDExLCBzdHJ1Y3QgdjRsMl9mcmFtZWJ1ZmZlcikKICNkZWZpbmUgVklESU9DX09WRVJMQVkgX0lPVygnVicsIDE0LCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURJT0NfUUJVRiBfSU9XUignVicsIDE1LCBzdHJ1Y3QgdjRsMl9idWZmZXIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURJT0NfRVhQQlVGIF9JT1dSKCdWJywgMTYsIHN0cnVjdCB2NGwyX2V4cG9ydGJ1ZmZlcikKICNkZWZpbmUgVklESU9DX0RRQlVGIF9JT1dSKCdWJywgMTcsIHN0cnVjdCB2NGwyX2J1ZmZlcikKICNkZWZpbmUgVklESU9DX1NUUkVBTU9OIF9JT1coJ1YnLCAxOCwgaW50KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklESU9DX1NUUkVBTU9GRiBfSU9XKCdWJywgMTksIGludCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJRElPQ19HX1BBUk0gX0lPV1IoJ1YnLCAyMSwgc3RydWN0IHY0bDJfc3RyZWFtcGFybSkKICNkZWZpbmUgVklESU9DX1NfUEFSTSBfSU9XUignVicsIDIyLCBzdHJ1Y3QgdjRsMl9zdHJlYW1wYXJtKQogI2RlZmluZSBWSURJT0NfR19TVEQgX0lPUignVicsIDIzLCB2NGwyX3N0ZF9pZCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJRElPQ19TX1NURCBfSU9XKCdWJywgMjQsIHY0bDJfc3RkX2lkKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklESU9DX0VOVU1TVEQgX0lPV1IoJ1YnLCAyNSwgc3RydWN0IHY0bDJfc3RhbmRhcmQpCiAjZGVmaW5lIFZJRElPQ19FTlVNSU5QVVQgX0lPV1IoJ1YnLCAyNiwgc3RydWN0IHY0bDJfaW5wdXQpCiAjZGVmaW5lIFZJRElPQ19HX0NUUkwgX0lPV1IoJ1YnLCAyNywgc3RydWN0IHY0bDJfY29udHJvbCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJRElPQ19TX0NUUkwgX0lPV1IoJ1YnLCAyOCwgc3RydWN0IHY0bDJfY29udHJvbCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJRElPQ19HX1RVTkVSIF9JT1dSKCdWJywgMjksIHN0cnVjdCB2NGwyX3R1bmVyKQogI2RlZmluZSBWSURJT0NfU19UVU5FUiBfSU9XKCdWJywgMzAsIHN0cnVjdCB2NGwyX3R1bmVyKQogI2RlZmluZSBWSURJT0NfR19BVURJTyBfSU9SKCdWJywgMzMsIHN0cnVjdCB2NGwyX2F1ZGlvKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklESU9DX1NfQVVESU8gX0lPVygnVicsIDM0LCBzdHJ1Y3QgdjRsMl9hdWRpbykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJRElPQ19RVUVSWUNUUkwgX0lPV1IoJ1YnLCAzNiwgc3RydWN0IHY0bDJfcXVlcnljdHJsKQogI2RlZmluZSBWSURJT0NfUVVFUllNRU5VIF9JT1dSKCdWJywgMzcsIHN0cnVjdCB2NGwyX3F1ZXJ5bWVudSkKICNkZWZpbmUgVklESU9DX0dfSU5QVVQgX0lPUignVicsIDM4LCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSURJT0NfU19JTlBVVCBfSU9XUignVicsIDM5LCBpbnQpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfR19FRElEIF9JT1dSKCdWJywgNDAsIHN0cnVjdCB2NGwyX2VkaWQpCisjZGVmaW5lIFZJRElPQ19TX0VESUQgX0lPV1IoJ1YnLCA0MSwgc3RydWN0IHY0bDJfZWRpZCkKICNkZWZpbmUgVklESU9DX0dfT1VUUFVUIF9JT1IoJ1YnLCA0NiwgaW50KQogI2RlZmluZSBWSURJT0NfU19PVVRQVVQgX0lPV1IoJ1YnLCA0NywgaW50KQotI2RlZmluZSBWSURJT0NfRU5VTU9VVFBVVCBfSU9XUignVicsIDQ4LCBzdHJ1Y3QgdjRsMl9vdXRwdXQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfRU5VTU9VVFBVVCBfSU9XUignVicsIDQ4LCBzdHJ1Y3QgdjRsMl9vdXRwdXQpCiAjZGVmaW5lIFZJRElPQ19HX0FVRE9VVCBfSU9SKCdWJywgNDksIHN0cnVjdCB2NGwyX2F1ZGlvb3V0KQogI2RlZmluZSBWSURJT0NfU19BVURPVVQgX0lPVygnVicsIDUwLCBzdHJ1Y3QgdjRsMl9hdWRpb291dCkKICNkZWZpbmUgVklESU9DX0dfTU9EVUxBVE9SIF9JT1dSKCdWJywgNTQsIHN0cnVjdCB2NGwyX21vZHVsYXRvcikKLSNkZWZpbmUgVklESU9DX1NfTU9EVUxBVE9SIF9JT1coJ1YnLCA1NSwgc3RydWN0IHY0bDJfbW9kdWxhdG9yKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVklESU9DX1NfTU9EVUxBVE9SIF9JT1coJ1YnLCA1NSwgc3RydWN0IHY0bDJfbW9kdWxhdG9yKQogI2RlZmluZSBWSURJT0NfR19GUkVRVUVOQ1kgX0lPV1IoJ1YnLCA1Niwgc3RydWN0IHY0bDJfZnJlcXVlbmN5KQogI2RlZmluZSBWSURJT0NfU19GUkVRVUVOQ1kgX0lPVygnVicsIDU3LCBzdHJ1Y3QgdjRsMl9mcmVxdWVuY3kpCiAjZGVmaW5lIFZJRElPQ19DUk9QQ0FQIF9JT1dSKCdWJywgNTgsIHN0cnVjdCB2NGwyX2Nyb3BjYXApCi0jZGVmaW5lIFZJRElPQ19HX0NST1AgX0lPV1IoJ1YnLCA1OSwgc3RydWN0IHY0bDJfY3JvcCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFZJRElPQ19HX0NST1AgX0lPV1IoJ1YnLCA1OSwgc3RydWN0IHY0bDJfY3JvcCkKICNkZWZpbmUgVklESU9DX1NfQ1JPUCBfSU9XKCdWJywgNjAsIHN0cnVjdCB2NGwyX2Nyb3ApCiAjZGVmaW5lIFZJRElPQ19HX0pQRUdDT01QIF9JT1IoJ1YnLCA2MSwgc3RydWN0IHY0bDJfanBlZ2NvbXByZXNzaW9uKQogI2RlZmluZSBWSURJT0NfU19KUEVHQ09NUCBfSU9XKCdWJywgNjIsIHN0cnVjdCB2NGwyX2pwZWdjb21wcmVzc2lvbikKLSNkZWZpbmUgVklESU9DX1FVRVJZU1REIF9JT1IoJ1YnLCA2MywgdjRsMl9zdGRfaWQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfUVVFUllTVEQgX0lPUignVicsIDYzLCB2NGwyX3N0ZF9pZCkKICNkZWZpbmUgVklESU9DX1RSWV9GTVQgX0lPV1IoJ1YnLCA2NCwgc3RydWN0IHY0bDJfZm9ybWF0KQogI2RlZmluZSBWSURJT0NfRU5VTUFVRElPIF9JT1dSKCdWJywgNjUsIHN0cnVjdCB2NGwyX2F1ZGlvKQogI2RlZmluZSBWSURJT0NfRU5VTUFVRE9VVCBfSU9XUignVicsIDY2LCBzdHJ1Y3QgdjRsMl9hdWRpb291dCkKLSNkZWZpbmUgVklESU9DX0dfUFJJT1JJVFkgX0lPUignVicsIDY3LCBfX3UzMikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFZJRElPQ19HX1BSSU9SSVRZIF9JT1IoJ1YnLCA2NywgX191MzIpCiAjZGVmaW5lIFZJRElPQ19TX1BSSU9SSVRZIF9JT1coJ1YnLCA2OCwgX191MzIpCiAjZGVmaW5lIFZJRElPQ19HX1NMSUNFRF9WQklfQ0FQIF9JT1dSKCdWJywgNjksIHN0cnVjdCB2NGwyX3NsaWNlZF92YmlfY2FwKQogI2RlZmluZSBWSURJT0NfTE9HX1NUQVRVUyBfSU8oJ1YnLCA3MCkKLSNkZWZpbmUgVklESU9DX0dfRVhUX0NUUkxTIF9JT1dSKCdWJywgNzEsIHN0cnVjdCB2NGwyX2V4dF9jb250cm9scykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFZJRElPQ19HX0VYVF9DVFJMUyBfSU9XUignVicsIDcxLCBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbHMpCiAjZGVmaW5lIFZJRElPQ19TX0VYVF9DVFJMUyBfSU9XUignVicsIDcyLCBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbHMpCiAjZGVmaW5lIFZJRElPQ19UUllfRVhUX0NUUkxTIF9JT1dSKCdWJywgNzMsIHN0cnVjdCB2NGwyX2V4dF9jb250cm9scykKICNkZWZpbmUgVklESU9DX0VOVU1fRlJBTUVTSVpFUyBfSU9XUignVicsIDc0LCBzdHJ1Y3QgdjRsMl9mcm1zaXplZW51bSkKLSNkZWZpbmUgVklESU9DX0VOVU1fRlJBTUVJTlRFUlZBTFMgX0lPV1IoJ1YnLCA3NSwgc3RydWN0IHY0bDJfZnJtaXZhbGVudW0pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfRU5VTV9GUkFNRUlOVEVSVkFMUyBfSU9XUignVicsIDc1LCBzdHJ1Y3QgdjRsMl9mcm1pdmFsZW51bSkKICNkZWZpbmUgVklESU9DX0dfRU5DX0lOREVYIF9JT1IoJ1YnLCA3Niwgc3RydWN0IHY0bDJfZW5jX2lkeCkKICNkZWZpbmUgVklESU9DX0VOQ09ERVJfQ01EIF9JT1dSKCdWJywgNzcsIHN0cnVjdCB2NGwyX2VuY29kZXJfY21kKQogI2RlZmluZSBWSURJT0NfVFJZX0VOQ09ERVJfQ01EIF9JT1dSKCdWJywgNzgsIHN0cnVjdCB2NGwyX2VuY29kZXJfY21kKQotI2RlZmluZSBWSURJT0NfREJHX1NfUkVHSVNURVIgX0lPVygnVicsIDc5LCBzdHJ1Y3QgdjRsMl9kYmdfcmVnaXN0ZXIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfREJHX1NfUkVHSVNURVIgX0lPVygnVicsIDc5LCBzdHJ1Y3QgdjRsMl9kYmdfcmVnaXN0ZXIpCiAjZGVmaW5lIFZJRElPQ19EQkdfR19SRUdJU1RFUiBfSU9XUignVicsIDgwLCBzdHJ1Y3QgdjRsMl9kYmdfcmVnaXN0ZXIpCiAjZGVmaW5lIFZJRElPQ19TX0hXX0ZSRVFfU0VFSyBfSU9XKCdWJywgODIsIHN0cnVjdCB2NGwyX2h3X2ZyZXFfc2VlaykKICNkZWZpbmUgVklESU9DX1NfRFZfVElNSU5HUyBfSU9XUignVicsIDg3LCBzdHJ1Y3QgdjRsMl9kdl90aW1pbmdzKQotI2RlZmluZSBWSURJT0NfR19EVl9USU1JTkdTIF9JT1dSKCdWJywgODgsIHN0cnVjdCB2NGwyX2R2X3RpbWluZ3MpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfR19EVl9USU1JTkdTIF9JT1dSKCdWJywgODgsIHN0cnVjdCB2NGwyX2R2X3RpbWluZ3MpCiAjZGVmaW5lIFZJRElPQ19EUUVWRU5UIF9JT1IoJ1YnLCA4OSwgc3RydWN0IHY0bDJfZXZlbnQpCiAjZGVmaW5lIFZJRElPQ19TVUJTQ1JJQkVfRVZFTlQgX0lPVygnVicsIDkwLCBzdHJ1Y3QgdjRsMl9ldmVudF9zdWJzY3JpcHRpb24pCiAjZGVmaW5lIFZJRElPQ19VTlNVQlNDUklCRV9FVkVOVCBfSU9XKCdWJywgOTEsIHN0cnVjdCB2NGwyX2V2ZW50X3N1YnNjcmlwdGlvbikKLSNkZWZpbmUgVklESU9DX0NSRUFURV9CVUZTIF9JT1dSKCdWJywgOTIsIHN0cnVjdCB2NGwyX2NyZWF0ZV9idWZmZXJzKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgVklESU9DX0NSRUFURV9CVUZTIF9JT1dSKCdWJywgOTIsIHN0cnVjdCB2NGwyX2NyZWF0ZV9idWZmZXJzKQogI2RlZmluZSBWSURJT0NfUFJFUEFSRV9CVUYgX0lPV1IoJ1YnLCA5Mywgc3RydWN0IHY0bDJfYnVmZmVyKQogI2RlZmluZSBWSURJT0NfR19TRUxFQ1RJT04gX0lPV1IoJ1YnLCA5NCwgc3RydWN0IHY0bDJfc2VsZWN0aW9uKQogI2RlZmluZSBWSURJT0NfU19TRUxFQ1RJT04gX0lPV1IoJ1YnLCA5NSwgc3RydWN0IHY0bDJfc2VsZWN0aW9uKQotI2RlZmluZSBWSURJT0NfREVDT0RFUl9DTUQgX0lPV1IoJ1YnLCA5Niwgc3RydWN0IHY0bDJfZGVjb2Rlcl9jbWQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfREVDT0RFUl9DTUQgX0lPV1IoJ1YnLCA5Niwgc3RydWN0IHY0bDJfZGVjb2Rlcl9jbWQpCiAjZGVmaW5lIFZJRElPQ19UUllfREVDT0RFUl9DTUQgX0lPV1IoJ1YnLCA5Nywgc3RydWN0IHY0bDJfZGVjb2Rlcl9jbWQpCiAjZGVmaW5lIFZJRElPQ19FTlVNX0RWX1RJTUlOR1MgX0lPV1IoJ1YnLCA5OCwgc3RydWN0IHY0bDJfZW51bV9kdl90aW1pbmdzKQogI2RlZmluZSBWSURJT0NfUVVFUllfRFZfVElNSU5HUyBfSU9SKCdWJywgOTksIHN0cnVjdCB2NGwyX2R2X3RpbWluZ3MpCi0jZGVmaW5lIFZJRElPQ19EVl9USU1JTkdTX0NBUCBfSU9XUignVicsIDEwMCwgc3RydWN0IHY0bDJfZHZfdGltaW5nc19jYXApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBWSURJT0NfRFZfVElNSU5HU19DQVAgX0lPV1IoJ1YnLCAxMDAsIHN0cnVjdCB2NGwyX2R2X3RpbWluZ3NfY2FwKQogI2RlZmluZSBWSURJT0NfRU5VTV9GUkVRX0JBTkRTIF9JT1dSKCdWJywgMTAxLCBzdHJ1Y3QgdjRsMl9mcmVxdWVuY3lfYmFuZCkKICNkZWZpbmUgVklESU9DX0RCR19HX0NISVBfSU5GTyBfSU9XUignVicsIDEwMiwgc3RydWN0IHY0bDJfZGJnX2NoaXBfaW5mbykKKyNkZWZpbmUgVklESU9DX1FVRVJZX0VYVF9DVFJMIF9JT1dSKCdWJywgMTAzLCBzdHJ1Y3QgdjRsMl9xdWVyeV9leHRfY3RybCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEJBU0VfVklESU9DX1BSSVZBVEUgMTkyCiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpcnRpb185cC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fOXAuaAppbmRleCAyYWRmMGRmLi43MmJjNjRiIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpcnRpb185cC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvXzlwLmgKQEAgLTI0LDggKzI0LDggQEAKICNpbmNsdWRlIDxsaW51eC92aXJ0aW9fY29uZmlnLmg+CiAjZGVmaW5lIFZJUlRJT185UF9NT1VOVF9UQUcgMAogc3RydWN0IHZpcnRpb185cF9jb25maWcgewotIF9fdTE2IHRhZ19sZW47CisgIF9fdTE2IHRhZ19sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdGFnWzBdOworICBfX3U4IHRhZ1swXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX2JhbGxvb24uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX2JhbGxvb24uaAppbmRleCBkNzlkYjZmLi4wMjdiNjVmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpcnRpb19iYWxsb29uLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fYmFsbG9vbi5oCkBAIC0yNCwyNSArMjQsMjMgQEAKICNkZWZpbmUgVklSVElPX0JBTExPT05fRl9NVVNUX1RFTExfSE9TVCAwCiAjZGVmaW5lIFZJUlRJT19CQUxMT09OX0ZfU1RBVFNfVlEgMQogI2RlZmluZSBWSVJUSU9fQkFMTE9PTl9QRk5fU0hJRlQgMTIKLXN0cnVjdCB2aXJ0aW9fYmFsbG9vbl9jb25maWcKK3N0cnVjdCB2aXJ0aW9fYmFsbG9vbl9jb25maWcgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSBfX2xlMzIgbnVtX3BhZ2VzOwotIF9fbGUzMiBhY3R1YWw7CisgIF9fbGUzMiBudW1fcGFnZXM7CisgIF9fbGUzMiBhY3R1YWw7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklSVElPX0JBTExPT05fU19TV0FQX0lOIDAKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJUlRJT19CQUxMT09OX1NfU1dBUF9PVVQgMQogI2RlZmluZSBWSVJUSU9fQkFMTE9PTl9TX01BSkZMVCAyCiAjZGVmaW5lIFZJUlRJT19CQUxMT09OX1NfTUlORkxUIDMKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJUlRJT19CQUxMT09OX1NfTUVNRlJFRSA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSVJUSU9fQkFMTE9PTl9TX01FTVRPVCA1CiAjZGVmaW5lIFZJUlRJT19CQUxMT09OX1NfTlIgNgogc3RydWN0IHZpcnRpb19iYWxsb29uX3N0YXQgeworICBfX3UxNiB0YWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHRhZzsKLSBfX3U2NCB2YWw7CisgIF9fdTY0IHZhbDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZW5kaWYKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpcnRpb19ibGsuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX2Jsay5oCmluZGV4IDc4ZWM1ZTAuLmI2YTIyZDAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX2Jsay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX2Jsay5oCkBAIC0zNCw1MiArMzQsNTYgQEAKICNkZWZpbmUgVklSVElPX0JMS19GX1dDRSA5CiAjZGVmaW5lIFZJUlRJT19CTEtfRl9UT1BPTE9HWSAxMAogI2RlZmluZSBWSVJUSU9fQkxLX0ZfQ09ORklHX1dDRSAxMQotI2RlZmluZSBWSVJUSU9fQkxLX0ZfRkxVU0ggVklSVElPX0JMS19GX1dDRQorI2RlZmluZSBWSVJUSU9fQkxLX0ZfTVEgMTIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFZJUlRJT19CTEtfRl9GTFVTSCBWSVJUSU9fQkxLX0ZfV0NFCiAjZGVmaW5lIFZJUlRJT19CTEtfSURfQllURVMgMjAKIHN0cnVjdCB2aXJ0aW9fYmxrX2NvbmZpZyB7Ci0gX191NjQgY2FwYWNpdHk7Ci0gX191MzIgc2l6ZV9tYXg7CisgIF9fdTY0IGNhcGFjaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzZWdfbWF4OwotIHN0cnVjdCB2aXJ0aW9fYmxrX2dlb21ldHJ5IHsKLSBfX3UxNiBjeWxpbmRlcnM7Ci0gX191OCBoZWFkczsKKyAgX191MzIgc2l6ZV9tYXg7CisgIF9fdTMyIHNlZ19tYXg7CisgIHN0cnVjdCB2aXJ0aW9fYmxrX2dlb21ldHJ5IHsKKyAgICBfX3UxNiBjeWxpbmRlcnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2VjdG9yczsKLSB9IGdlb21ldHJ5OwotIF9fdTMyIGJsa19zaXplOwotIF9fdTggcGh5c2ljYWxfYmxvY2tfZXhwOworICAgIF9fdTggaGVhZHM7CisgICAgX191OCBzZWN0b3JzOworICB9IGdlb21ldHJ5OworICBfX3UzMiBibGtfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBhbGlnbm1lbnRfb2Zmc2V0OwotIF9fdTE2IG1pbl9pb19zaXplOwotIF9fdTMyIG9wdF9pb19zaXplOwotIF9fdTggd2NlOworICBfX3U4IHBoeXNpY2FsX2Jsb2NrX2V4cDsKKyAgX191OCBhbGlnbm1lbnRfb2Zmc2V0OworICBfX3UxNiBtaW5faW9fc2l6ZTsKKyAgX191MzIgb3B0X2lvX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHdjZTsKKyAgX191OCB1bnVzZWQ7CisgIF9fdTE2IG51bV9xdWV1ZXM7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklSVElPX0JMS19UX0lOIDAKICNkZWZpbmUgVklSVElPX0JMS19UX09VVCAxCiAjZGVmaW5lIFZJUlRJT19CTEtfVF9TQ1NJX0NNRCAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWSVJUSU9fQkxLX1RfRkxVU0ggNAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklSVElPX0JMS19UX0dFVF9JRCA4CiAjZGVmaW5lIFZJUlRJT19CTEtfVF9CQVJSSUVSIDB4ODAwMDAwMDAKIHN0cnVjdCB2aXJ0aW9fYmxrX291dGhkciB7CisgIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHR5cGU7Ci0gX191MzIgaW9wcmlvOwotIF9fdTY0IHNlY3RvcjsKKyAgX191MzIgaW9wcmlvOworICBfX3U2NCBzZWN0b3I7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2aXJ0aW9fc2NzaV9pbmhkciB7Ci0gX191MzIgZXJyb3JzOwotIF9fdTMyIGRhdGFfbGVuOwotIF9fdTMyIHNlbnNlX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzaWR1YWw7CisgIF9fdTMyIGVycm9yczsKKyAgX191MzIgZGF0YV9sZW47CisgIF9fdTMyIHNlbnNlX2xlbjsKKyAgX191MzIgcmVzaWR1YWw7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgVklSVElPX0JMS19TX09LIDAKICNkZWZpbmUgVklSVElPX0JMS19TX0lPRVJSIDEKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJUlRJT19CTEtfU19VTlNVUFAgMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fY29uc29sZS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fY29uc29sZS5oCmluZGV4IDgxZDUxNWMuLjljY2Y3NzAgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX2NvbnNvbGUuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpcnRpb19jb25zb2xlLmgKQEAgLTI2LDE5ICsyNiwxOSBAQAogI2RlZmluZSBWSVJUSU9fQ09OU09MRV9GX01VTFRJUE9SVCAxCiAjZGVmaW5lIFZJUlRJT19DT05TT0xFX0ZfRU1FUkdfV1JJVEUgMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVklSVElPX0NPTlNPTEVfQkFEX0lEICh+KF9fdTMyKTApCisjZGVmaW5lIFZJUlRJT19DT05TT0xFX0JBRF9JRCAofihfX3UzMikgMCkKIHN0cnVjdCB2aXJ0aW9fY29uc29sZV9jb25maWcgewotIF9fdTE2IGNvbHM7Ci0gX191MTYgcm93czsKKyAgX191MTYgY29sczsKKyAgX191MTYgcm93czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X25yX3BvcnRzOwotIF9fdTMyIGVtZXJnX3dyOworICBfX3UzMiBtYXhfbnJfcG9ydHM7CisgIF9fdTMyIGVtZXJnX3dyOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCB2aXJ0aW9fY29uc29sZV9jb250cm9sIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWQ7Ci0gX191MTYgZXZlbnQ7Ci0gX191MTYgdmFsdWU7CisgIF9fdTMyIGlkOworICBfX3UxNiBldmVudDsKKyAgX191MTYgdmFsdWU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklSVElPX0NPTlNPTEVfREVWSUNFX1JFQURZIDAKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX25ldC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fbmV0LmgKaW5kZXggYWFmMWIyOS4uZmVmODA3MCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fbmV0LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fbmV0LmgKQEAgLTUzLDM4ICs1MywzOCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklSVElPX05FVF9TX0FOTk9VTkNFIDIKIHN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZyB7Ci0gX191OCBtYWNbRVRIX0FMRU5dOwotIF9fdTE2IHN0YXR1czsKKyAgX191OCBtYWNbRVRIX0FMRU5dOworICBfX3UxNiBzdGF0dXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IG1heF92aXJ0cXVldWVfcGFpcnM7CisgIF9fdTE2IG1heF92aXJ0cXVldWVfcGFpcnM7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IHZpcnRpb19uZXRfaGRyIHsKICNkZWZpbmUgVklSVElPX05FVF9IRFJfRl9ORUVEU19DU1VNIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZJUlRJT19ORVRfSERSX0ZfREFUQV9WQUxJRCAyCi0gX191OCBmbGFnczsKKyAgX191OCBmbGFnczsKICNkZWZpbmUgVklSVElPX05FVF9IRFJfR1NPX05PTkUgMAogI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fVENQVjQgMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVklSVElPX05FVF9IRFJfR1NPX1VEUCAzCiAjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19UQ1BWNiA0CiAjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19FQ04gMHg4MAotIF9fdTggZ3NvX3R5cGU7CisgIF9fdTggZ3NvX3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGhkcl9sZW47Ci0gX191MTYgZ3NvX3NpemU7Ci0gX191MTYgY3N1bV9zdGFydDsKLSBfX3UxNiBjc3VtX29mZnNldDsKKyAgX191MTYgaGRyX2xlbjsKKyAgX191MTYgZ3NvX3NpemU7CisgIF9fdTE2IGNzdW1fc3RhcnQ7CisgIF9fdTE2IGNzdW1fb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdmlydGlvX25ldF9oZHJfbXJnX3J4YnVmIHsKLSBzdHJ1Y3QgdmlydGlvX25ldF9oZHIgaGRyOwotIF9fdTE2IG51bV9idWZmZXJzOworICBzdHJ1Y3QgdmlydGlvX25ldF9oZHIgaGRyOworICBfX3UxNiBudW1fYnVmZmVyczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHZpcnRpb19uZXRfY3RybF9oZHIgewotIF9fdTggY2xhc3M7Ci0gX191OCBjbWQ7CisgIF9fdTggY2xhc3M7CisgIF9fdTggY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiB0eXBlZGVmIF9fdTggdmlydGlvX25ldF9jdHJsX2FjazsKQEAgLTEwMSw4ICsxMDEsOCBAQAogI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfTk9CQ0FTVCA1CiBzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX21hYyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVudHJpZXM7Ci0gX191OCBtYWNzW11bRVRIX0FMRU5dOworICBfX3UzMiBlbnRyaWVzOworICBfX3U4IG1hY3NbXVtFVEhfQUxFTl07CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTUFDIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xMTYsNyArMTE2LDcgQEAKICNkZWZpbmUgVklSVElPX05FVF9DVFJMX0FOTk9VTkNFX0FDSyAwCiBzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX21xIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgdmlydHF1ZXVlX3BhaXJzOworICBfX3UxNiB2aXJ0cXVldWVfcGFpcnM7CiB9OwogI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVEgNAogI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfU0VUIDAKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX3JpbmcuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdmlydGlvX3JpbmcuaAppbmRleCAwNTc0MGU3Li5hMTcxODc0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZpcnRpb19yaW5nLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC92aXJ0aW9fcmluZy5oCkBAIC0yOSwzOCArMjksMzggQEAKICNkZWZpbmUgVklSVElPX1JJTkdfRl9JTkRJUkVDVF9ERVNDIDI4CiAjZGVmaW5lIFZJUlRJT19SSU5HX0ZfRVZFTlRfSURYIDI5CiBzdHJ1Y3QgdnJpbmdfZGVzYyB7Ci0gX191NjQgYWRkcjsKKyAgX191NjQgYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGVuOwotIF9fdTE2IGZsYWdzOwotIF9fdTE2IG5leHQ7CisgIF9fdTMyIGxlbjsKKyAgX191MTYgZmxhZ3M7CisgIF9fdTE2IG5leHQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB2cmluZ19hdmFpbCB7Ci0gX191MTYgZmxhZ3M7Ci0gX191MTYgaWR4OwotIF9fdTE2IHJpbmdbXTsKKyAgX191MTYgZmxhZ3M7CisgIF9fdTE2IGlkeDsKKyAgX191MTYgcmluZ1tdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtIHsKLSBfX3UzMiBpZDsKLSBfX3UzMiBsZW47CisgIF9fdTMyIGlkOworICBfX3UzMiBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB2cmluZ191c2VkIHsKLSBfX3UxNiBmbGFnczsKLSBfX3UxNiBpZHg7CisgIF9fdTE2IGZsYWdzOworICBfX3UxNiBpZHg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2cmluZ191c2VkX2VsZW0gcmluZ1tdOworICBzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtIHJpbmdbXTsKIH07CiBzdHJ1Y3QgdnJpbmcgewotIHVuc2lnbmVkIGludCBudW07CisgIHVuc2lnbmVkIGludCBudW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB2cmluZ19kZXNjICpkZXNjOwotIHN0cnVjdCB2cmluZ19hdmFpbCAqYXZhaWw7Ci0gc3RydWN0IHZyaW5nX3VzZWQgKnVzZWQ7CisgIHN0cnVjdCB2cmluZ19kZXNjICogZGVzYzsKKyAgc3RydWN0IHZyaW5nX2F2YWlsICogYXZhaWw7CisgIHN0cnVjdCB2cmluZ191c2VkICogdXNlZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSB2cmluZ191c2VkX2V2ZW50KHZyKSAoKHZyKS0+YXZhaWwtPnJpbmdbKHZyKS0+bnVtXSkKLSNkZWZpbmUgdnJpbmdfYXZhaWxfZXZlbnQodnIpICgqKF9fdTE2ICopJih2ciktPnVzZWQtPnJpbmdbKHZyKS0+bnVtXSkKKyNkZWZpbmUgdnJpbmdfYXZhaWxfZXZlbnQodnIpICgqIChfX3UxNiAqKSAmICh2ciktPnVzZWQtPnJpbmdbKHZyKS0+bnVtXSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92bV9zb2NrZXRzLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZtX3NvY2tldHMuaAppbmRleCAyMGU3YjhjLi5jNWM2ZmQ0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZtX3NvY2tldHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZtX3NvY2tldHMuaApAQCAtMjgsMjkgKzI4LDI2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTT19WTV9TT0NLRVRTX0NPTk5FQ1RfVElNRU9VVCA2CiAjZGVmaW5lIFNPX1ZNX1NPQ0tFVFNfTk9OQkxPQ0tfVFhSWCA3Ci0jZGVmaW5lIFZNQUREUl9DSURfQU5ZIC0xVQotI2RlZmluZSBWTUFERFJfUE9SVF9BTlkgLTFVCisjZGVmaW5lIFZNQUREUl9DSURfQU5ZIC0gMVUKKyNkZWZpbmUgVk1BRERSX1BPUlRfQU5ZIC0gMVUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFZNQUREUl9DSURfSFlQRVJWSVNPUiAwCiAjZGVmaW5lIFZNQUREUl9DSURfUkVTRVJWRUQgMQogI2RlZmluZSBWTUFERFJfQ0lEX0hPU1QgMgotI2RlZmluZSBWTV9TT0NLRVRTX0lOVkFMSURfVkVSU0lPTiAtMVUKKyNkZWZpbmUgVk1fU09DS0VUU19JTlZBTElEX1ZFUlNJT04gLSAxVQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVk1fU09DS0VUU19WRVJTSU9OX0VQT0NIKF92KSAoKChfdikgJiAweEZGMDAwMDAwKSA+PiAyNCkKICNkZWZpbmUgVk1fU09DS0VUU19WRVJTSU9OX01BSk9SKF92KSAoKChfdikgJiAweDAwRkYwMDAwKSA+PiAxNikKICNkZWZpbmUgVk1fU09DS0VUU19WRVJTSU9OX01JTk9SKF92KSAoKChfdikgJiAweDAwMDBGRkZGKSkKIHN0cnVjdCBzb2NrYWRkcl92bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fa2VybmVsX3NhX2ZhbWlseV90IHN2bV9mYW1pbHk7Ci0gdW5zaWduZWQgc2hvcnQgc3ZtX3Jlc2VydmVkMTsKLSB1bnNpZ25lZCBpbnQgc3ZtX3BvcnQ7Ci0gdW5zaWduZWQgaW50IHN2bV9jaWQ7CisgIF9fa2VybmVsX3NhX2ZhbWlseV90IHN2bV9mYW1pbHk7CisgIHVuc2lnbmVkIHNob3J0IHN2bV9yZXNlcnZlZDE7CisgIHVuc2lnbmVkIGludCBzdm1fcG9ydDsKKyAgdW5zaWduZWQgaW50IHN2bV9jaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgc3ZtX3plcm9bc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikgLQotIHNpemVvZihzYV9mYW1pbHlfdCkgLQotIHNpemVvZih1bnNpZ25lZCBzaG9ydCkgLQotIHNpemVvZih1bnNpZ25lZCBpbnQpIC0gc2l6ZW9mKHVuc2lnbmVkIGludCldOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgY2hhciBzdm1femVyb1tzaXplb2Yoc3RydWN0IHNvY2thZGRyKSAtIHNpemVvZihzYV9mYW1pbHlfdCkgLSBzaXplb2YodW5zaWduZWQgc2hvcnQpIC0gc2l6ZW9mKHVuc2lnbmVkIGludCkgLSBzaXplb2YodW5zaWduZWQgaW50KV07CiB9OwogI2RlZmluZSBJT0NUTF9WTV9TT0NLRVRTX0dFVF9MT0NBTF9DSUQgX0lPKDcsIDB4YjkpCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3ZzcDEuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdnNwMS5oCmluZGV4IGI3NTIyZTcuLjI4ZjdmY2QgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvdnNwMS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdnNwMS5oCkBAIC0yMSw5ICsyMSw5IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC92aWRlb2RldjIuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFZJRElPQ19WU1AxX0xVVF9DT05GSUcgICBfSU9XUignVicsIEJBU0VfVklESU9DX1BSSVZBVEUgKyAxLCBzdHJ1Y3QgdnNwMV9sdXRfY29uZmlnKQorI2RlZmluZSBWSURJT0NfVlNQMV9MVVRfQ09ORklHIF9JT1dSKCdWJywgQkFTRV9WSURJT0NfUFJJVkFURSArIDEsIHN0cnVjdCB2c3AxX2x1dF9jb25maWcpCiBzdHJ1Y3QgdnNwMV9sdXRfY29uZmlnIHsKLSB1MzIgbHV0WzI1Nl07CisgIHUzMiBsdXRbMjU2XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Z0LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3Z0LmgKaW5kZXggNjY0ZjM3Zi4uYzlhODI0NSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC92dC5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvdnQuaApAQCAtMjQsMTIgKzI0LDEyIEBACiAjZGVmaW5lIE1BWF9OUl9VU0VSX0NPTlNPTEVTIDYzCiAjZGVmaW5lIFZUX09QRU5RUlkgMHg1NjAwCiBzdHJ1Y3QgdnRfbW9kZSB7Ci0gY2hhciBtb2RlOworICBjaGFyIG1vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgd2FpdHY7Ci0gc2hvcnQgcmVsc2lnOwotIHNob3J0IGFjcXNpZzsKLSBzaG9ydCBmcnNpZzsKKyAgY2hhciB3YWl0djsKKyAgc2hvcnQgcmVsc2lnOworICBzaG9ydCBhY3FzaWc7CisgIHNob3J0IGZyc2lnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFZUX0dFVE1PREUgMHg1NjAxCkBAIC0zOSwxMCArMzksMTAgQEAKICNkZWZpbmUgVlRfUFJPQ0VTUyAweDAxCiAjZGVmaW5lIFZUX0FDS0FDUSAweDAyCiBzdHJ1Y3QgdnRfc3RhdCB7Ci0gdW5zaWduZWQgc2hvcnQgdl9hY3RpdmU7CisgIHVuc2lnbmVkIHNob3J0IHZfYWN0aXZlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB2X3NpZ25hbDsKLSB1bnNpZ25lZCBzaG9ydCB2X3N0YXRlOworICB1bnNpZ25lZCBzaG9ydCB2X3NpZ25hbDsKKyAgdW5zaWduZWQgc2hvcnQgdl9zdGF0ZTsKIH07CiAjZGVmaW5lIFZUX0dFVFNUQVRFIDB4NTYwMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTUzLDIxICs1MywyMSBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVlRfRElTQUxMT0NBVEUgMHg1NjA4CiBzdHJ1Y3QgdnRfc2l6ZXMgewotIHVuc2lnbmVkIHNob3J0IHZfcm93czsKLSB1bnNpZ25lZCBzaG9ydCB2X2NvbHM7CisgIHVuc2lnbmVkIHNob3J0IHZfcm93czsKKyAgdW5zaWduZWQgc2hvcnQgdl9jb2xzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB2X3Njcm9sbHNpemU7CisgIHVuc2lnbmVkIHNob3J0IHZfc2Nyb2xsc2l6ZTsKIH07CiAjZGVmaW5lIFZUX1JFU0laRSAweDU2MDkKIHN0cnVjdCB2dF9jb25zaXplIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgdl9yb3dzOwotIHVuc2lnbmVkIHNob3J0IHZfY29sczsKLSB1bnNpZ25lZCBzaG9ydCB2X3ZsaW47Ci0gdW5zaWduZWQgc2hvcnQgdl9jbGluOworICB1bnNpZ25lZCBzaG9ydCB2X3Jvd3M7CisgIHVuc2lnbmVkIHNob3J0IHZfY29sczsKKyAgdW5zaWduZWQgc2hvcnQgdl92bGluOworICB1bnNpZ25lZCBzaG9ydCB2X2NsaW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHZfdmNvbDsKLSB1bnNpZ25lZCBzaG9ydCB2X2Njb2w7CisgIHVuc2lnbmVkIHNob3J0IHZfdmNvbDsKKyAgdW5zaWduZWQgc2hvcnQgdl9jY29sOwogfTsKICNkZWZpbmUgVlRfUkVTSVpFWCAweDU2MEEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC03NiwyNSArNzYsMjUgQEAKICNkZWZpbmUgVlRfR0VUSElGT05UTUFTSyAweDU2MEQKIHN0cnVjdCB2dF9ldmVudCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBldmVudDsKKyAgdW5zaWduZWQgaW50IGV2ZW50OwogI2RlZmluZSBWVF9FVkVOVF9TV0lUQ0ggMHgwMDAxCiAjZGVmaW5lIFZUX0VWRU5UX0JMQU5LIDB4MDAwMgogI2RlZmluZSBWVF9FVkVOVF9VTkJMQU5LIDB4MDAwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgVlRfRVZFTlRfUkVTSVpFIDB4MDAwOAogI2RlZmluZSBWVF9NQVhfRVZFTlQgMHgwMDBGCi0gdW5zaWduZWQgaW50IG9sZGV2OwotIHVuc2lnbmVkIGludCBuZXdldjsKKyAgdW5zaWduZWQgaW50IG9sZGV2OworICB1bnNpZ25lZCBpbnQgbmV3ZXY7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBwYWRbNF07CisgIHVuc2lnbmVkIGludCBwYWRbNF07CiB9OwogI2RlZmluZSBWVF9XQUlURVZFTlQgMHg1NjBFCiBzdHJ1Y3QgdnRfc2V0YWN0aXZhdGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY29uc29sZTsKLSBzdHJ1Y3QgdnRfbW9kZSBtb2RlOworICB1bnNpZ25lZCBpbnQgY29uc29sZTsKKyAgc3RydWN0IHZ0X21vZGUgbW9kZTsKIH07CiAjZGVmaW5lIFZUX1NFVEFDVElWQVRFIDB4NTYwRgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgdnRfZ2V0X2ttc2dfcmVkaXJlY3QoKSB2dF9rbXNnX3JlZGlyZWN0KC0xKQorI2RlZmluZSB2dF9nZXRfa21zZ19yZWRpcmVjdCgpIHZ0X2ttc2dfcmVkaXJlY3QoLSAxKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dhbnJvdXRlci5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC93YW5yb3V0ZXIuaAppbmRleCBkODc5NjAwLi5kNGY0ODIxIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dhbnJvdXRlci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2Fucm91dGVyLmgKQEAgLTE4LDEzICsxOCwxMiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9VQVBJX1JPVVRFUl9ICiAjZGVmaW5lIF9VQVBJX1JPVVRFUl9ICi1lbnVtIHdhbl9zdGF0ZXMKLXsKK2VudW0gd2FuX3N0YXRlcyB7CisgIFdBTl9VTkNPTkZJR1VSRUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFdBTl9VTkNPTkZJR1VSRUQsCi0gV0FOX0RJU0NPTk5FQ1RFRCwKLSBXQU5fQ09OTkVDVElORywKLSBXQU5fQ09OTkVDVEVECi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBXQU5fRElTQ09OTkVDVEVELAorICBXQU5fQ09OTkVDVElORywKKyAgV0FOX0NPTk5FQ1RFRAogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2F0Y2hkb2cuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2F0Y2hkb2cuaAppbmRleCAwNWE5YmM4Li5iOGE5YzMyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dhdGNoZG9nLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC93YXRjaGRvZy5oCkBAIC0yMywxMCArMjMsMTAgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdBVENIRE9HX0lPQ1RMX0JBU0UgJ1cnCiBzdHJ1Y3Qgd2F0Y2hkb2dfaW5mbyB7Ci0gX191MzIgb3B0aW9uczsKLSBfX3UzMiBmaXJtd2FyZV92ZXJzaW9uOworICBfX3UzMiBvcHRpb25zOworICBfX3UzMiBmaXJtd2FyZV92ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGlkZW50aXR5WzMyXTsKKyAgX191OCBpZGVudGl0eVszMl07CiB9OwogI2RlZmluZSBXRElPQ19HRVRTVVBQT1JUIF9JT1IoV0FUQ0hET0dfSU9DVExfQkFTRSwgMCwgc3RydWN0IHdhdGNoZG9nX2luZm8pCiAjZGVmaW5lIFdESU9DX0dFVFNUQVRVUyBfSU9SKFdBVENIRE9HX0lPQ1RMX0JBU0UsIDEsIGludCkKQEAgLTQyLDggKzQyLDggQEAKICNkZWZpbmUgV0RJT0NfR0VUUFJFVElNRU9VVCBfSU9SKFdBVENIRE9HX0lPQ1RMX0JBU0UsIDksIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFdESU9DX0dFVFRJTUVMRUZUIF9JT1IoV0FUQ0hET0dfSU9DVExfQkFTRSwgMTAsIGludCkKLSNkZWZpbmUgV0RJT0ZfVU5LTk9XTiAtMQotI2RlZmluZSBXRElPU19VTktOT1dOIC0xCisjZGVmaW5lIFdESU9GX1VOS05PV04gLSAxCisjZGVmaW5lIFdESU9TX1VOS05PV04gLSAxCiAjZGVmaW5lIFdESU9GX09WRVJIRUFUIDB4MDAwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgV0RJT0ZfRkFORkFVTFQgMHgwMDAyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dpbDYyMTBfdWFwaS5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aWw2MjEwX3VhcGkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmFlZDBmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aWw2MjEwX3VhcGkuaApAQCAtMCwwICsxLDUxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9fV0lMNjIxMF9VQVBJX0hfXworI2RlZmluZSBfX1dJTDYyMTBfVUFQSV9IX18KKyNkZWZpbmUgX191c2VyCisjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgV0lMX0lPQ1RMX01FTUlPIChTSU9DREVWUFJJVkFURSArIDIpCisjZGVmaW5lIFdJTF9JT0NUTF9NRU1JT19CTE9DSyAoU0lPQ0RFVlBSSVZBVEUgKyAzKQorZW51bSB3aWxfbWVtaW9fb3AgeworICB3aWxfbW1pb19yZWFkID0gMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHdpbF9tbWlvX3dyaXRlID0gMSwKKyAgd2lsX21taW9fb3BfbWFzayA9IDB4ZmYsCisgIHdpbF9tbWlvX2FkZHJfbGlua2VyID0gMCA8PCA4LAorICB3aWxfbW1pb19hZGRyX2FoYiA9IDEgPDwgOCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHdpbF9tbWlvX2FkZHJfYmFyID0gMiA8PCA4LAorICB3aWxfbW1pb19hZGRyX21hc2sgPSAweGZmMDAsCit9Oworc3RydWN0IHdpbF9tZW1pbyB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1aW50MzJfdCBvcDsKKyAgdWludDMyX3QgYWRkcjsKKyAgdWludDMyX3QgdmFsOworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3Qgd2lsX21lbWlvX2Jsb2NrIHsKKyAgdWludDMyX3Qgb3A7CisgIHVpbnQzMl90IGFkZHI7CisgIHVpbnQzMl90IHNpemU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB2b2lkIF9fdXNlciAqIGJsb2NrOworfTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aW1heC5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aW1heC5oCmluZGV4IDE1MWFiMGQuLjhhZmI1YzEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2ltYXguaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dpbWF4LmgKQEAgLTIxLDY1ICsyMSw2NSBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gV0lNQVhfR05MX1ZFUlNJT04gPSAwMSwKLSBXSU1BWF9HTkxfQVRUUl9JTlZBTElEID0gMHgwMCwKLSBXSU1BWF9HTkxfQVRUUl9NQVggPSAxMCwKKyAgV0lNQVhfR05MX1ZFUlNJT04gPSAwMSwKKyAgV0lNQVhfR05MX0FUVFJfSU5WQUxJRCA9IDB4MDAsCisgIFdJTUFYX0dOTF9BVFRSX01BWCA9IDEwLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBXSU1BWF9HTkxfT1BfTVNHX0ZST01fVVNFUiwKLSBXSU1BWF9HTkxfT1BfTVNHX1RPX1VTRVIsCi0gV0lNQVhfR05MX09QX1JGS0lMTCwKKyAgV0lNQVhfR05MX09QX01TR19GUk9NX1VTRVIsCisgIFdJTUFYX0dOTF9PUF9NU0dfVE9fVVNFUiwKKyAgV0lNQVhfR05MX09QX1JGS0lMTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gV0lNQVhfR05MX09QX1JFU0VULAotIFdJTUFYX0dOTF9SRV9TVEFURV9DSEFOR0UsCi0gV0lNQVhfR05MX09QX1NUQVRFX0dFVCwKKyAgV0lNQVhfR05MX09QX1JFU0VULAorICBXSU1BWF9HTkxfUkVfU1RBVEVfQ0hBTkdFLAorICBXSU1BWF9HTkxfT1BfU1RBVEVfR0VULAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBXSU1BWF9HTkxfTVNHX0lGSURYID0gMSwKLSBXSU1BWF9HTkxfTVNHX1BJUEVfTkFNRSwKLSBXSU1BWF9HTkxfTVNHX0RBVEEsCisgIFdJTUFYX0dOTF9NU0dfSUZJRFggPSAxLAorICBXSU1BWF9HTkxfTVNHX1BJUEVfTkFNRSwKKyAgV0lNQVhfR05MX01TR19EQVRBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIHdpbWF4X3JmX3N0YXRlIHsKLSBXSU1BWF9SRl9PRkYgPSAwLAotIFdJTUFYX1JGX09OID0gMSwKKyAgV0lNQVhfUkZfT0ZGID0gMCwKKyAgV0lNQVhfUkZfT04gPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBXSU1BWF9SRl9RVUVSWSA9IDIsCisgIFdJTUFYX1JGX1FVRVJZID0gMiwKIH07CiBlbnVtIHsKLSBXSU1BWF9HTkxfUkZLSUxMX0lGSURYID0gMSwKKyAgV0lNQVhfR05MX1JGS0lMTF9JRklEWCA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFdJTUFYX0dOTF9SRktJTExfU1RBVEUsCisgIFdJTUFYX0dOTF9SRktJTExfU1RBVEUsCiB9OwogZW51bSB7Ci0gV0lNQVhfR05MX1JFU0VUX0lGSURYID0gMSwKKyAgV0lNQVhfR05MX1JFU0VUX0lGSURYID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gV0lNQVhfR05MX1NUR0VUX0lGSURYID0gMSwKKyAgV0lNQVhfR05MX1NUR0VUX0lGSURYID0gMSwKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gV0lNQVhfR05MX1NUQ0hfSUZJRFggPSAxLAotIFdJTUFYX0dOTF9TVENIX1NUQVRFX09MRCwKLSBXSU1BWF9HTkxfU1RDSF9TVEFURV9ORVcsCisgIFdJTUFYX0dOTF9TVENIX0lGSURYID0gMSwKKyAgV0lNQVhfR05MX1NUQ0hfU1RBVEVfT0xELAorICBXSU1BWF9HTkxfU1RDSF9TVEFURV9ORVcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSBlbnVtIHdpbWF4X3N0IHsKLSBfX1dJTUFYX1NUX05VTEwgPSAwLAotIFdJTUFYX1NUX0RPV04sCitlbnVtIHdpbWF4X3N0IHsKKyAgX19XSU1BWF9TVF9OVUxMID0gMCwKKyAgV0lNQVhfU1RfRE9XTiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19XSU1BWF9TVF9RVUlFU0NJTkcsCi0gV0lNQVhfU1RfVU5JTklUSUFMSVpFRCwKLSBXSU1BWF9TVF9SQURJT19PRkYsCi0gV0lNQVhfU1RfUkVBRFksCisgIF9fV0lNQVhfU1RfUVVJRVNDSU5HLAorICBXSU1BWF9TVF9VTklOSVRJQUxJWkVELAorICBXSU1BWF9TVF9SQURJT19PRkYsCisgIFdJTUFYX1NUX1JFQURZLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBXSU1BWF9TVF9TQ0FOTklORywKLSBXSU1BWF9TVF9DT05ORUNUSU5HLAotIFdJTUFYX1NUX0NPTk5FQ1RFRCwKLSBfX1dJTUFYX1NUX0lOVkFMSUQKKyAgV0lNQVhfU1RfU0NBTk5JTkcsCisgIFdJTUFYX1NUX0NPTk5FQ1RJTkcsCisgIFdJTUFYX1NUX0NPTk5FQ1RFRCwKKyAgX19XSU1BWF9TVF9JTlZBTElECiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aW1heC9pMjQwMG0uaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2ltYXgvaTI0MDBtLmgKaW5kZXggMzA1ODVhOC4uZTI0NzI5YyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aW1heC9pMjQwMG0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dpbWF4L2kyNDAwbS5oCkBAIC0yMiwzNjAgKzIyLDM2MCBAQAogI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGkyNDAwbV9iY2ZfaGRyIHsKLSBfX2xlMzIgbW9kdWxlX3R5cGU7Ci0gX19sZTMyIGhlYWRlcl9sZW47Ci0gX19sZTMyIGhlYWRlcl92ZXJzaW9uOworICBfX2xlMzIgbW9kdWxlX3R5cGU7CisgIF9fbGUzMiBoZWFkZXJfbGVuOworICBfX2xlMzIgaGVhZGVyX3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBtb2R1bGVfaWQ7Ci0gX19sZTMyIG1vZHVsZV92ZW5kb3I7Ci0gX19sZTMyIGRhdGU7Ci0gX19sZTMyIHNpemU7CisgIF9fbGUzMiBtb2R1bGVfaWQ7CisgIF9fbGUzMiBtb2R1bGVfdmVuZG9yOworICBfX2xlMzIgZGF0ZTsKKyAgX19sZTMyIHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBrZXlfc2l6ZTsKLSBfX2xlMzIgbW9kdWx1c19zaXplOwotIF9fbGUzMiBleHBvbmVudF9zaXplOwotIF9fdTggcmVzZXJ2ZWRbODhdOworICBfX2xlMzIga2V5X3NpemU7CisgIF9fbGUzMiBtb2R1bHVzX3NpemU7CisgIF9fbGUzMiBleHBvbmVudF9zaXplOworICBfX3U4IHJlc2VydmVkWzg4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBlbnVtIGkyNDAwbV9icmhfb3Bjb2RlIHsKLSBJMjQwME1fQlJIX1JFQUQgPSAxLAotIEkyNDAwTV9CUkhfV1JJVEUgPSAyLAorICBJMjQwME1fQlJIX1JFQUQgPSAxLAorICBJMjQwME1fQlJIX1dSSVRFID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX0JSSF9KVU1QID0gMywKLSBJMjQwME1fQlJIX1NJR05FRF9KVU1QID0gOCwKLSBJMjQwME1fQlJIX0hBU0hfUEFZTE9BRF9PTkxZID0gOSwKKyAgSTI0MDBNX0JSSF9KVU1QID0gMywKKyAgSTI0MDBNX0JSSF9TSUdORURfSlVNUCA9IDgsCisgIEkyNDAwTV9CUkhfSEFTSF9QQVlMT0FEX09OTFkgPSA5LAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGkyNDAwbV9icmggewotIEkyNDAwTV9CUkhfU0lHTkFUVVJFID0gMHhjYmJjMDAwMCwKLSBJMjQwME1fQlJIX1NJR05BVFVSRV9NQVNLID0gMHhmZmZmMDAwMCwKLSBJMjQwME1fQlJIX1NJR05BVFVSRV9TSElGVCA9IDE2LAorICBJMjQwME1fQlJIX1NJR05BVFVSRSA9IDB4Y2JiYzAwMDAsCisgIEkyNDAwTV9CUkhfU0lHTkFUVVJFX01BU0sgPSAweGZmZmYwMDAwLAorICBJMjQwME1fQlJIX1NJR05BVFVSRV9TSElGVCA9IDE2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fQlJIX09QQ09ERV9NQVNLID0gMHgwMDAwMDAwZiwKLSBJMjQwME1fQlJIX1JFU1BPTlNFX01BU0sgPSAweDAwMDAwMGYwLAotIEkyNDAwTV9CUkhfUkVTUE9OU0VfU0hJRlQgPSA0LAotIEkyNDAwTV9CUkhfRElSRUNUX0FDQ0VTUyA9IDB4MDAwMDA0MDAsCisgIEkyNDAwTV9CUkhfT1BDT0RFX01BU0sgPSAweDAwMDAwMDBmLAorICBJMjQwME1fQlJIX1JFU1BPTlNFX01BU0sgPSAweDAwMDAwMGYwLAorICBJMjQwME1fQlJIX1JFU1BPTlNFX1NISUZUID0gNCwKKyAgSTI0MDBNX0JSSF9ESVJFQ1RfQUNDRVNTID0gMHgwMDAwMDQwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX0JSSF9SRVNQT05TRV9SRVFVSVJFRCA9IDB4MDAwMDAyMDAsCi0gSTI0MDBNX0JSSF9VU0VfQ0hFQ0tTVU0gPSAweDAwMDAwMTAwLAorICBJMjQwME1fQlJIX1JFU1BPTlNFX1JFUVVJUkVEID0gMHgwMDAwMDIwMCwKKyAgSTI0MDBNX0JSSF9VU0VfQ0hFQ0tTVU0gPSAweDAwMDAwMTAwLAogfTsKIHN0cnVjdCBpMjQwMG1fYm9vdHJvbV9oZWFkZXIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgY29tbWFuZDsKLSBfX2xlMzIgdGFyZ2V0X2FkZHI7Ci0gX19sZTMyIGRhdGFfc2l6ZTsKLSBfX2xlMzIgYmxvY2tfY2hlY2tzdW07CisgIF9fbGUzMiBjb21tYW5kOworICBfX2xlMzIgdGFyZ2V0X2FkZHI7CisgIF9fbGUzMiBkYXRhX3NpemU7CisgIF9fbGUzMiBibG9ja19jaGVja3N1bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBwYXlsb2FkWzBdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIGNoYXIgcGF5bG9hZFswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBlbnVtIGkyNDAwbV9wdCB7Ci0gSTI0MDBNX1BUX0RBVEEgPSAwLAorICBJMjQwME1fUFRfREFUQSA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9QVF9DVFJMLAotIEkyNDAwTV9QVF9UUkFDRSwKLSBJMjQwME1fUFRfUkVTRVRfV0FSTSwKLSBJMjQwME1fUFRfUkVTRVRfQ09MRCwKKyAgSTI0MDBNX1BUX0NUUkwsCisgIEkyNDAwTV9QVF9UUkFDRSwKKyAgSTI0MDBNX1BUX1JFU0VUX1dBUk0sCisgIEkyNDAwTV9QVF9SRVNFVF9DT0xELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fUFRfRURBVEEsCi0gSTI0MDBNX1BUX0lMTEVHQUwKKyAgSTI0MDBNX1BUX0VEQVRBLAorICBJMjQwME1fUFRfSUxMRUdBTAogfTsKIHN0cnVjdCBpMjQwMG1fcGxfZGF0YV9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMzIgcmVzZXJ2ZWQ7CisgIF9fbGUzMiByZXNlcnZlZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgaTI0MDBtX3BsX2VkYXRhX2hkciB7Ci0gX19sZTMyIHJlb3JkZXI7CisgIF9fbGUzMiByZW9yZGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNzOwotIF9fdTggcmVzZXJ2ZWRbMTFdOworICBfX3U4IGNzOworICBfX3U4IHJlc2VydmVkWzExXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBlbnVtIGkyNDAwbV9jcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9DU19JUFY0XzAgPSAwLAotIEkyNDAwTV9DU19JUFY0ID0gMiwKKyAgSTI0MDBNX0NTX0lQVjRfMCA9IDAsCisgIEkyNDAwTV9DU19JUFY0ID0gMiwKIH07CiBlbnVtIGkyNDAwbV9ybyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9ST19ORUVERUQgPSAweDAxLAotIEkyNDAwTV9ST19UWVBFID0gMHgwMywKLSBJMjQwME1fUk9fVFlQRV9TSElGVCA9IDEsCi0gSTI0MDBNX1JPX0NJTiA9IDB4MGYsCisgIEkyNDAwTV9ST19ORUVERUQgPSAweDAxLAorICBJMjQwME1fUk9fVFlQRSA9IDB4MDMsCisgIEkyNDAwTV9ST19UWVBFX1NISUZUID0gMSwKKyAgSTI0MDBNX1JPX0NJTiA9IDB4MGYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9ST19DSU5fU0hJRlQgPSA0LAotIEkyNDAwTV9ST19GQk4gPSAweDA3ZmYsCi0gSTI0MDBNX1JPX0ZCTl9TSElGVCA9IDgsCi0gSTI0MDBNX1JPX1NOID0gMHgwN2ZmLAorICBJMjQwME1fUk9fQ0lOX1NISUZUID0gNCwKKyAgSTI0MDBNX1JPX0ZCTiA9IDB4MDdmZiwKKyAgSTI0MDBNX1JPX0ZCTl9TSElGVCA9IDgsCisgIEkyNDAwTV9ST19TTiA9IDB4MDdmZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX1JPX1NOX1NISUZUID0gMjEsCisgIEkyNDAwTV9ST19TTl9TSElGVCA9IDIxLAogfTsKIGVudW0gaTI0MDBtX3JvX3R5cGUgewotIEkyNDAwTV9ST19UWVBFX1JFU0VUID0gMCwKKyAgSTI0MDBNX1JPX1RZUEVfUkVTRVQgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fUk9fVFlQRV9QQUNLRVQsCi0gSTI0MDBNX1JPX1RZUEVfV1MsCi0gSTI0MDBNX1JPX1RZUEVfUEFDS0VUX1dTLAorICBJMjQwME1fUk9fVFlQRV9QQUNLRVQsCisgIEkyNDAwTV9ST19UWVBFX1dTLAorICBJMjQwME1fUk9fVFlQRV9QQUNLRVRfV1MsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIEkyNDAwTV9QTF9BTElHTiA9IDE2LAotIEkyNDAwTV9QTF9TSVpFX01BWCA9IDB4M0VGRiwKLSBJMjQwME1fTUFYX1BMU19JTl9NU0cgPSA2MCwKKyAgSTI0MDBNX1BMX0FMSUdOID0gMTYsCisgIEkyNDAwTV9QTF9TSVpFX01BWCA9IDB4M0VGRiwKKyAgSTI0MDBNX01BWF9QTFNfSU5fTVNHID0gNjAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9IMkRfUFJFVklFV19CQVJLRVIgPSAweGNhZmU5MDBkLAotIEkyNDAwTV9DT0xEX1JFU0VUX0JBUktFUiA9IDB4YzAxZGMwMWQsCi0gSTI0MDBNX1dBUk1fUkVTRVRfQkFSS0VSID0gMHg1MGY3NTBmNywKLSBJMjQwME1fTkJPT1RfQkFSS0VSID0gMHhkZWFkYmVlZiwKKyAgSTI0MDBNX0gyRF9QUkVWSUVXX0JBUktFUiA9IDB4Y2FmZTkwMGQsCisgIEkyNDAwTV9DT0xEX1JFU0VUX0JBUktFUiA9IDB4YzAxZGMwMWQsCisgIEkyNDAwTV9XQVJNX1JFU0VUX0JBUktFUiA9IDB4NTBmNzUwZjcsCisgIEkyNDAwTV9OQk9PVF9CQVJLRVIgPSAweGRlYWRiZWVmLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fU0JPT1RfQkFSS0VSID0gMHgwZmYxYzFhMSwKLSBJMjQwME1fU0JPT1RfQkFSS0VSXzYwNTAgPSAweDgwMDAwMDAxLAotIEkyNDAwTV9BQ0tfQkFSS0VSID0gMHhmZWVkYmFiZSwKLSBJMjQwME1fRDJIX01TR19CQVJLRVIgPSAweGJlZWZiYWJlLAorICBJMjQwME1fU0JPT1RfQkFSS0VSID0gMHgwZmYxYzFhMSwKKyAgSTI0MDBNX1NCT09UX0JBUktFUl82MDUwID0gMHg4MDAwMDAwMSwKKyAgSTI0MDBNX0FDS19CQVJLRVIgPSAweGZlZWRiYWJlLAorICBJMjQwME1fRDJIX01TR19CQVJLRVIgPSAweGJlZWZiYWJlLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaTI0MDBtX3BsZCB7Ci0gX19sZTMyIHZhbDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX2xlMzIgdmFsOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEkyNDAwTV9QTERfU0laRV9NQVNLIDB4MDAwMDNmZmYKICNkZWZpbmUgSTI0MDBNX1BMRF9UWVBFX1NISUZUIDE2CiAjZGVmaW5lIEkyNDAwTV9QTERfVFlQRV9NQVNLIDB4MDAwZjAwMDAKIHN0cnVjdCBpMjQwMG1fbXNnX2hkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBfX2xlMzIgYmFya2VyOwotIF9fdTMyIHNpemU7Ci0gfTsKKyAgdW5pb24geworICAgIF9fbGUzMiBiYXJrZXI7CisgICAgX191MzIgc2l6ZTsKKyAgfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIF9fbGUzMiBzZXF1ZW5jZTsKLSBfX3UzMiBvZmZzZXQ7Ci0gfTsKKyAgdW5pb24geworICAgIF9fbGUzMiBzZXF1ZW5jZTsKKyAgICBfX3UzMiBvZmZzZXQ7CisgIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiBudW1fcGxzOwotIF9fbGUxNiByc3YxOwotIF9fbGUxNiBwYWRkaW5nOwotIF9fbGUxNiByc3YyOworICBfX2xlMTYgbnVtX3BsczsKKyAgX19sZTE2IHJzdjE7CisgIF9fbGUxNiBwYWRkaW5nOworICBfX2xlMTYgcnN2MjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGkyNDAwbV9wbGQgcGxkWzBdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisgIHN0cnVjdCBpMjQwMG1fcGxkIHBsZFswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBlbnVtIHsKLSBJMjQwME1fTDNMNF9WRVJTSU9OID0gMHgwMTAwLAorICBJMjQwME1fTDNMNF9WRVJTSU9OID0gMHgwMTAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGkyNDAwbV9tdCB7Ci0gSTI0MDBNX01UX1JFU0VSVkVEID0gMHgwMDAwLAotIEkyNDAwTV9NVF9JTlZBTElEID0gMHhmZmZmLAorICBJMjQwME1fTVRfUkVTRVJWRUQgPSAweDAwMDAsCisgIEkyNDAwTV9NVF9JTlZBTElEID0gMHhmZmZmLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fTVRfUkVQT1JUX01BU0sgPSAweDgwMDAsCi0gSTI0MDBNX01UX0dFVF9TQ0FOX1JFU1VMVCA9IDB4NDIwMiwKLSBJMjQwME1fTVRfU0VUX1NDQU5fUEFSQU0gPSAweDQ0MDIsCi0gSTI0MDBNX01UX0NNRF9SRl9DT05UUk9MID0gMHg0NjAyLAorICBJMjQwME1fTVRfUkVQT1JUX01BU0sgPSAweDgwMDAsCisgIEkyNDAwTV9NVF9HRVRfU0NBTl9SRVNVTFQgPSAweDQyMDIsCisgIEkyNDAwTV9NVF9TRVRfU0NBTl9QQVJBTSA9IDB4NDQwMiwKKyAgSTI0MDBNX01UX0NNRF9SRl9DT05UUk9MID0gMHg0NjAyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fTVRfQ01EX1NDQU4gPSAweDQ2MDMsCi0gSTI0MDBNX01UX0NNRF9DT05ORUNUID0gMHg0NjA0LAotIEkyNDAwTV9NVF9DTURfRElTQ09OTkVDVCA9IDB4NDYwNSwKLSBJMjQwME1fTVRfQ01EX0VYSVRfSURMRSA9IDB4NDYwNiwKKyAgSTI0MDBNX01UX0NNRF9TQ0FOID0gMHg0NjAzLAorICBJMjQwME1fTVRfQ01EX0NPTk5FQ1QgPSAweDQ2MDQsCisgIEkyNDAwTV9NVF9DTURfRElTQ09OTkVDVCA9IDB4NDYwNSwKKyAgSTI0MDBNX01UX0NNRF9FWElUX0lETEUgPSAweDQ2MDYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9NVF9HRVRfTE1fVkVSU0lPTiA9IDB4NTIwMSwKLSBJMjQwME1fTVRfR0VUX0RFVklDRV9JTkZPID0gMHg1MjAyLAotIEkyNDAwTV9NVF9HRVRfTElOS19TVEFUVVMgPSAweDUyMDMsCi0gSTI0MDBNX01UX0dFVF9TVEFUSVNUSUNTID0gMHg1MjA0LAorICBJMjQwME1fTVRfR0VUX0xNX1ZFUlNJT04gPSAweDUyMDEsCisgIEkyNDAwTV9NVF9HRVRfREVWSUNFX0lORk8gPSAweDUyMDIsCisgIEkyNDAwTV9NVF9HRVRfTElOS19TVEFUVVMgPSAweDUyMDMsCisgIEkyNDAwTV9NVF9HRVRfU1RBVElTVElDUyA9IDB4NTIwNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX01UX0dFVF9TVEFURSA9IDB4NTIwNSwKLSBJMjQwME1fTVRfR0VUX01FRElBX1NUQVRVUyA9IDB4NTIwNiwKLSBJMjQwME1fTVRfU0VUX0lOSVRfQ09ORklHID0gMHg1NDA0LAotIEkyNDAwTV9NVF9DTURfSU5JVCA9IDB4NTYwMSwKKyAgSTI0MDBNX01UX0dFVF9TVEFURSA9IDB4NTIwNSwKKyAgSTI0MDBNX01UX0dFVF9NRURJQV9TVEFUVVMgPSAweDUyMDYsCisgIEkyNDAwTV9NVF9TRVRfSU5JVF9DT05GSUcgPSAweDU0MDQsCisgIEkyNDAwTV9NVF9DTURfSU5JVCA9IDB4NTYwMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX01UX0NNRF9URVJNSU5BVEUgPSAweDU2MDIsCi0gSTI0MDBNX01UX0NNRF9NT0RFX09GX09QID0gMHg1NjAzLAotIEkyNDAwTV9NVF9DTURfUkVTRVRfREVWSUNFID0gMHg1NjA0LAotIEkyNDAwTV9NVF9DTURfTU9OSVRPUl9DT05UUk9MID0gMHg1NjA1LAorICBJMjQwME1fTVRfQ01EX1RFUk1JTkFURSA9IDB4NTYwMiwKKyAgSTI0MDBNX01UX0NNRF9NT0RFX09GX09QID0gMHg1NjAzLAorICBJMjQwME1fTVRfQ01EX1JFU0VUX0RFVklDRSA9IDB4NTYwNCwKKyAgSTI0MDBNX01UX0NNRF9NT05JVE9SX0NPTlRST0wgPSAweDU2MDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9NVF9DTURfRU5URVJfUE9XRVJTQVZFID0gMHg1NjA2LAotIEkyNDAwTV9NVF9HRVRfVExTX09QRVJBVElPTl9SRVNVTFQgPSAweDYyMDEsCi0gSTI0MDBNX01UX1NFVF9FQVBfU1VDQ0VTUyA9IDB4NjQwMiwKLSBJMjQwME1fTVRfU0VUX0VBUF9GQUlMID0gMHg2NDAzLAorICBJMjQwME1fTVRfQ01EX0VOVEVSX1BPV0VSU0FWRSA9IDB4NTYwNiwKKyAgSTI0MDBNX01UX0dFVF9UTFNfT1BFUkFUSU9OX1JFU1VMVCA9IDB4NjIwMSwKKyAgSTI0MDBNX01UX1NFVF9FQVBfU1VDQ0VTUyA9IDB4NjQwMiwKKyAgSTI0MDBNX01UX1NFVF9FQVBfRkFJTCA9IDB4NjQwMywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX01UX1NFVF9FQVBfS0VZID0gMHg2NDA0LAotIEkyNDAwTV9NVF9DTURfU0VORF9FQVBfUkVTUE9OU0UgPSAweDY2MDIsCi0gSTI0MDBNX01UX1JFUE9SVF9TQ0FOX1JFU1VMVCA9IDB4YzAwMiwKLSBJMjQwME1fTVRfUkVQT1JUX1NUQVRFID0gMHhkMDAyLAorICBJMjQwME1fTVRfU0VUX0VBUF9LRVkgPSAweDY0MDQsCisgIEkyNDAwTV9NVF9DTURfU0VORF9FQVBfUkVTUE9OU0UgPSAweDY2MDIsCisgIEkyNDAwTV9NVF9SRVBPUlRfU0NBTl9SRVNVTFQgPSAweGMwMDIsCisgIEkyNDAwTV9NVF9SRVBPUlRfU1RBVEUgPSAweGQwMDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9NVF9SRVBPUlRfUE9XRVJTQVZFX1JFQURZID0gMHhkMDA1LAotIEkyNDAwTV9NVF9SRVBPUlRfRUFQX1JFUVVFU1QgPSAweGUwMDIsCi0gSTI0MDBNX01UX1JFUE9SVF9FQVBfUkVTVEFSVCA9IDB4ZTAwMywKLSBJMjQwME1fTVRfUkVQT1JUX0FMVF9BQ0NFUFQgPSAweGUwMDQsCisgIEkyNDAwTV9NVF9SRVBPUlRfUE9XRVJTQVZFX1JFQURZID0gMHhkMDA1LAorICBJMjQwME1fTVRfUkVQT1JUX0VBUF9SRVFVRVNUID0gMHhlMDAyLAorICBJMjQwME1fTVRfUkVQT1JUX0VBUF9SRVNUQVJUID0gMHhlMDAzLAorICBJMjQwME1fTVRfUkVQT1JUX0FMVF9BQ0NFUFQgPSAweGUwMDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9NVF9SRVBPUlRfS0VZX1JFUVVFU1QgPSAweGUwMDUsCisgIEkyNDAwTV9NVF9SRVBPUlRfS0VZX1JFUVVFU1QgPSAweGUwMDUsCiB9OwogZW51bSBpMjQwMG1fbXMgewotIEkyNDAwTV9NU19ET05FX09LID0gMCwKKyAgSTI0MDBNX01TX0RPTkVfT0sgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fTVNfRE9ORV9JTl9QUk9HUkVTUyA9IDEsCi0gSTI0MDBNX01TX0lOVkFMSURfT1AgPSAyLAotIEkyNDAwTV9NU19CQURfU1RBVEUgPSAzLAotIEkyNDAwTV9NU19JTExFR0FMX1ZBTFVFID0gNCwKKyAgSTI0MDBNX01TX0RPTkVfSU5fUFJPR1JFU1MgPSAxLAorICBJMjQwME1fTVNfSU5WQUxJRF9PUCA9IDIsCisgIEkyNDAwTV9NU19CQURfU1RBVEUgPSAzLAorICBJMjQwME1fTVNfSUxMRUdBTF9WQUxVRSA9IDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9NU19NSVNTSU5HX1BBUkFNUyA9IDUsCi0gSTI0MDBNX01TX1ZFUlNJT05fRVJST1IgPSA2LAotIEkyNDAwTV9NU19BQ0NFU1NJQklMSVRZX0VSUk9SID0gNywKLSBJMjQwME1fTVNfQlVTWSA9IDgsCisgIEkyNDAwTV9NU19NSVNTSU5HX1BBUkFNUyA9IDUsCisgIEkyNDAwTV9NU19WRVJTSU9OX0VSUk9SID0gNiwKKyAgSTI0MDBNX01TX0FDQ0VTU0lCSUxJVFlfRVJST1IgPSA3LAorICBJMjQwME1fTVNfQlVTWSA9IDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9NU19DT1JSVVBURURfVExWID0gOSwKLSBJMjQwME1fTVNfVU5JTklUSUFMSVpFRCA9IDEwLAotIEkyNDAwTV9NU19VTktOT1dOX0VSUk9SID0gMTEsCi0gSTI0MDBNX01TX1BST0RVQ1RJT05fRVJST1IgPSAxMiwKKyAgSTI0MDBNX01TX0NPUlJVUFRFRF9UTFYgPSA5LAorICBJMjQwME1fTVNfVU5JTklUSUFMSVpFRCA9IDEwLAorICBJMjQwME1fTVNfVU5LTk9XTl9FUlJPUiA9IDExLAorICBJMjQwME1fTVNfUFJPRFVDVElPTl9FUlJPUiA9IDEyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fTVNfTk9fUkYgPSAxMywKLSBJMjQwME1fTVNfTk9UX1JFQURZX0ZPUl9QT1dFUlNBVkUgPSAxNCwKLSBJMjQwME1fTVNfVEhFUk1BTF9DUklUSUNBTCA9IDE1LAotIEkyNDAwTV9NU19NQVgKKyAgSTI0MDBNX01TX05PX1JGID0gMTMsCisgIEkyNDAwTV9NU19OT1RfUkVBRFlfRk9SX1BPV0VSU0FWRSA9IDE0LAorICBJMjQwME1fTVNfVEhFUk1BTF9DUklUSUNBTCA9IDE1LAorICBJMjQwME1fTVNfTUFYCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gaTI0MDBtX3RsdiB7Ci0gSTI0MDBNX1RMVl9MNF9NRVNTQUdFX1ZFUlNJT05TID0gMTI5LAotIEkyNDAwTV9UTFZfU1lTVEVNX1NUQVRFID0gMTQxLAorICBJMjQwME1fVExWX0w0X01FU1NBR0VfVkVSU0lPTlMgPSAxMjksCisgIEkyNDAwTV9UTFZfU1lTVEVNX1NUQVRFID0gMTQxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fVExWX01FRElBX1NUQVRVUyA9IDE2MSwKLSBJMjQwME1fVExWX1JGX09QRVJBVElPTiA9IDE2MiwKLSBJMjQwME1fVExWX1JGX1NUQVRVUyA9IDE2MywKLSBJMjQwME1fVExWX0RFVklDRV9SRVNFVF9UWVBFID0gMTMyLAorICBJMjQwME1fVExWX01FRElBX1NUQVRVUyA9IDE2MSwKKyAgSTI0MDBNX1RMVl9SRl9PUEVSQVRJT04gPSAxNjIsCisgIEkyNDAwTV9UTFZfUkZfU1RBVFVTID0gMTYzLAorICBJMjQwME1fVExWX0RFVklDRV9SRVNFVF9UWVBFID0gMTMyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fVExWX0NPTkZJR19JRExFX1BBUkFNRVRFUlMgPSA2MDEsCi0gSTI0MDBNX1RMVl9DT05GSUdfSURMRV9USU1FT1VUID0gNjExLAotIEkyNDAwTV9UTFZfQ09ORklHX0QySF9EQVRBX0ZPUk1BVCA9IDYxNCwKLSBJMjQwME1fVExWX0NPTkZJR19ETF9IT1NUX1JFT1JERVIgPSA2MTUsCisgIEkyNDAwTV9UTFZfQ09ORklHX0lETEVfUEFSQU1FVEVSUyA9IDYwMSwKKyAgSTI0MDBNX1RMVl9DT05GSUdfSURMRV9USU1FT1VUID0gNjExLAorICBJMjQwME1fVExWX0NPTkZJR19EMkhfREFUQV9GT1JNQVQgPSA2MTQsCisgIEkyNDAwTV9UTFZfQ09ORklHX0RMX0hPU1RfUkVPUkRFUiA9IDYxNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGkyNDAwbV90bHZfaGRyIHsKLSBfX2xlMTYgdHlwZTsKLSBfX2xlMTYgbGVuZ3RoOworICBfX2xlMTYgdHlwZTsKKyAgX19sZTE2IGxlbmd0aDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwbFswXTsKKyAgX191OCBwbFswXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgaTI0MDBtX2wzbDRfaGRyIHsKLSBfX2xlMTYgdHlwZTsKKyAgX19sZTE2IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiBsZW5ndGg7Ci0gX19sZTE2IHZlcnNpb247Ci0gX19sZTE2IHJlc3YxOwotIF9fbGUxNiBzdGF0dXM7CisgIF9fbGUxNiBsZW5ndGg7CisgIF9fbGUxNiB2ZXJzaW9uOworICBfX2xlMTYgcmVzdjE7CisgIF9fbGUxNiBzdGF0dXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUxNiByZXN2MjsKLSBzdHJ1Y3QgaTI0MDBtX3Rsdl9oZHIgcGxbMF07CisgIF9fbGUxNiByZXN2MjsKKyAgc3RydWN0IGkyNDAwbV90bHZfaGRyIHBsWzBdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIGVudW0gaTI0MDBtX3N5c3RlbV9zdGF0ZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9TU19VTklOSVRJQUxJWkVEID0gMSwKLSBJMjQwME1fU1NfSU5JVCwKLSBJMjQwME1fU1NfUkVBRFksCi0gSTI0MDBNX1NTX1NDQU4sCisgIEkyNDAwTV9TU19VTklOSVRJQUxJWkVEID0gMSwKKyAgSTI0MDBNX1NTX0lOSVQsCisgIEkyNDAwTV9TU19SRUFEWSwKKyAgSTI0MDBNX1NTX1NDQU4sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9TU19TVEFOREJZLAotIEkyNDAwTV9TU19DT05ORUNUSU5HLAotIEkyNDAwTV9TU19XSU1BWF9DT05ORUNURUQsCi0gSTI0MDBNX1NTX0RBVEFfUEFUSF9DT05ORUNURUQsCisgIEkyNDAwTV9TU19TVEFOREJZLAorICBJMjQwME1fU1NfQ09OTkVDVElORywKKyAgSTI0MDBNX1NTX1dJTUFYX0NPTk5FQ1RFRCwKKyAgSTI0MDBNX1NTX0RBVEFfUEFUSF9DT05ORUNURUQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9TU19JRExFLAotIEkyNDAwTV9TU19ESVNDT05ORUNUSU5HLAotIEkyNDAwTV9TU19PVVRfT0ZfWk9ORSwKLSBJMjQwME1fU1NfU0xFRVBBQ1RJVkUsCisgIEkyNDAwTV9TU19JRExFLAorICBJMjQwME1fU1NfRElTQ09OTkVDVElORywKKyAgSTI0MDBNX1NTX09VVF9PRl9aT05FLAorICBJMjQwME1fU1NfU0xFRVBBQ1RJVkUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9TU19QUk9EVUNUSU9OLAotIEkyNDAwTV9TU19DT05GSUcsCi0gSTI0MDBNX1NTX1JGX09GRiwKLSBJMjQwME1fU1NfUkZfU0hVVERPV04sCisgIEkyNDAwTV9TU19QUk9EVUNUSU9OLAorICBJMjQwME1fU1NfQ09ORklHLAorICBJMjQwME1fU1NfUkZfT0ZGLAorICBJMjQwME1fU1NfUkZfU0hVVERPV04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEkyNDAwTV9TU19ERVZJQ0VfRElTQ09OTkVDVCwKLSBJMjQwME1fU1NfTUFYLAorICBJMjQwME1fU1NfREVWSUNFX0RJU0NPTk5FQ1QsCisgIEkyNDAwTV9TU19NQVgsCiB9Owogc3RydWN0IGkyNDAwbV90bHZfc3lzdGVtX3N0YXRlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKLSBfX2xlMzIgc3RhdGU7CisgIHN0cnVjdCBpMjQwMG1fdGx2X2hkciBoZHI7CisgIF9fbGUzMiBzdGF0ZTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgaTI0MDBtX3Rsdl9sNF9tZXNzYWdlX3ZlcnNpb25zIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKLSBfX2xlMTYgbWFqb3I7Ci0gX19sZTE2IG1pbm9yOwotIF9fbGUxNiBicmFuY2g7CisgIHN0cnVjdCBpMjQwMG1fdGx2X2hkciBoZHI7CisgIF9fbGUxNiBtYWpvcjsKKyAgX19sZTE2IG1pbm9yOworICBfX2xlMTYgYnJhbmNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2xlMTYgcmVzZXJ2ZWQ7CisgIF9fbGUxNiByZXNlcnZlZDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgaTI0MDBtX3Rsdl9kZXRhaWxlZF9kZXZpY2VfaW5mbyB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKKyAgc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDFbNDAwXTsKLSBfX3U4IG1hY19hZGRyZXNzW0VUSF9BTEVOXTsKLSBfX3U4IHJlc2VydmVkMlsyXTsKKyAgX191OCByZXNlcnZlZDFbNDAwXTsKKyAgX191OCBtYWNfYWRkcmVzc1tFVEhfQUxFTl07CisgIF9fdTggcmVzZXJ2ZWQyWzJdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGkyNDAwbV9yZl9zd2l0Y2hfc3RhdHVzIHsKLSBJMjQwME1fUkZfU1dJVENIX09OID0gMSwKLSBJMjQwME1fUkZfU1dJVENIX09GRiA9IDIsCisgIEkyNDAwTV9SRl9TV0lUQ0hfT04gPSAxLAorICBJMjQwME1fUkZfU1dJVENIX09GRiA9IDIsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpMjQwMG1fdGx2X3JmX3N3aXRjaGVzX3N0YXR1cyB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKLSBfX3U4IHN3X3JmX3N3aXRjaDsKLSBfX3U4IGh3X3JmX3N3aXRjaDsKKyAgc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKKyAgX191OCBzd19yZl9zd2l0Y2g7CisgIF9fdTggaHdfcmZfc3dpdGNoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc2VydmVkWzJdOworICBfX3U4IHJlc2VydmVkWzJdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIGVudW0gewotIGkyNDAwbV9yZl9vcGVyYXRpb25fb24gPSAxLAorICBpMjQwMG1fcmZfb3BlcmF0aW9uX29uID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaTI0MDBtX3JmX29wZXJhdGlvbl9vZmYgPSAyCisgIGkyNDAwbV9yZl9vcGVyYXRpb25fb2ZmID0gMgogfTsKIHN0cnVjdCBpMjQwMG1fdGx2X3JmX29wZXJhdGlvbiB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKKyAgc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIHN0YXR1czsKKyAgX19sZTMyIHN0YXR1czsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBlbnVtIGkyNDAwbV90bHZfcmVzZXRfdHlwZSB7Ci0gSTI0MDBNX1JFU0VUX1RZUEVfQ09MRCA9IDEsCisgIEkyNDAwTV9SRVNFVF9UWVBFX0NPTEQgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJMjQwME1fUkVTRVRfVFlQRV9XQVJNCisgIEkyNDAwTV9SRVNFVF9UWVBFX1dBUk0KIH07CiBzdHJ1Y3QgaTI0MDBtX3Rsdl9kZXZpY2VfcmVzZXRfdHlwZSB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKKyAgc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19sZTMyIHJlc2V0X3R5cGU7CisgIF9fbGUzMiByZXNldF90eXBlOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBpMjQwMG1fdGx2X2NvbmZpZ19pZGxlX3BhcmFtZXRlcnMgewotIHN0cnVjdCBpMjQwMG1fdGx2X2hkciBoZHI7CisgIHN0cnVjdCBpMjQwMG1fdGx2X2hkciBoZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fbGUzMiBpZGxlX3RpbWVvdXQ7Ci0gX19sZTMyIGlkbGVfcGFnaW5nX2ludGVydmFsOworICBfX2xlMzIgaWRsZV90aW1lb3V0OworICBfX2xlMzIgaWRsZV9wYWdpbmdfaW50ZXJ2YWw7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogZW51bSBpMjQwMG1fbWVkaWFfc3RhdHVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSTI0MDBNX01FRElBX1NUQVRVU19MSU5LX1VQID0gMSwKLSBJMjQwME1fTUVESUFfU1RBVFVTX0xJTktfRE9XTiwKLSBJMjQwME1fTUVESUFfU1RBVFVTX0xJTktfUkVORVcsCisgIEkyNDAwTV9NRURJQV9TVEFUVVNfTElOS19VUCA9IDEsCisgIEkyNDAwTV9NRURJQV9TVEFUVVNfTElOS19ET1dOLAorICBJMjQwME1fTUVESUFfU1RBVFVTX0xJTktfUkVORVcsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpMjQwMG1fdGx2X21lZGlhX3N0YXR1cyB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKLSBfX2xlMzIgbWVkaWFfc3RhdHVzOworICBzdHJ1Y3QgaTI0MDBtX3Rsdl9oZHIgaGRyOworICBfX2xlMzIgbWVkaWFfc3RhdHVzOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaTI0MDBtX3Rsdl9jb25maWdfaWRsZV90aW1lb3V0IHsKLSBzdHJ1Y3QgaTI0MDBtX3Rsdl9oZHIgaGRyOwotIF9fbGUzMiB0aW1lb3V0OworICBzdHJ1Y3QgaTI0MDBtX3Rsdl9oZHIgaGRyOworICBfX2xlMzIgdGltZW91dDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGkyNDAwbV90bHZfY29uZmlnX2QyaF9kYXRhX2Zvcm1hdCB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKLSBfX3U4IGZvcm1hdDsKLSBfX3U4IHJlc2VydmVkWzNdOworICBzdHJ1Y3QgaTI0MDBtX3Rsdl9oZHIgaGRyOworICBfX3U4IGZvcm1hdDsKKyAgX191OCByZXNlcnZlZFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IGkyNDAwbV90bHZfY29uZmlnX2RsX2hvc3RfcmVvcmRlciB7Ci0gc3RydWN0IGkyNDAwbV90bHZfaGRyIGhkcjsKLSBfX3U4IHJlb3JkZXI7CisgIHN0cnVjdCBpMjQwMG1fdGx2X2hkciBoZHI7CisgIF9fdTggcmVvcmRlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZFszXTsKKyAgX191OCByZXNlcnZlZFszXTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2lyZWxlc3MuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgvd2lyZWxlc3MuaAppbmRleCBkY2I5ZjFmLi5kMDE4MDUwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3dpcmVsZXNzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC93aXJlbGVzcy5oCkBAIC05Myw4ICs5Myw4IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTSU9DSVdMQVNUIFNJT0NJV0xBU1RQUklWCiAjZGVmaW5lIElXX0lPQ1RMX0lEWChjbWQpICgoY21kKSAtIFNJT0NJV0ZJUlNUKQotI2RlZmluZSBJV19IQU5ETEVSKGlkLCBmdW5jKSAgIFtJV19JT0NUTF9JRFgoaWQpXSA9IGZ1bmMKLSNkZWZpbmUgSVdfSVNfU0VUKGNtZCkgKCEoKGNtZCkgJiAweDEpKQorI2RlZmluZSBJV19IQU5ETEVSKGlkLGZ1bmMpIFtJV19JT0NUTF9JRFgoaWQpXSA9IGZ1bmMKKyNkZWZpbmUgSVdfSVNfU0VUKGNtZCkgKCEgKChjbWQpICYgMHgxKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElXX0lTX0dFVChjbWQpICgoY21kKSAmIDB4MSkKICNkZWZpbmUgSVdFVlRYRFJPUCAweDhDMDAKQEAgLTMwNywyNTMgKzMwNywyMjggQEAKICNkZWZpbmUgSVdfRU5DX0NBUEFfQ0lQSEVSX0NDTVAgMHgwMDAwMDAwOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSVdfRU5DX0NBUEFfNFdBWV9IQU5EU0hBS0UgMHgwMDAwMDAxMAotI2RlZmluZSBJV19FVkVOVF9DQVBBX0JBU0UoY21kKSAoKGNtZCA+PSBTSU9DSVdGSVJTVFBSSVYpID8gICAoY21kIC0gU0lPQ0lXRklSU1RQUklWICsgMHg2MCkgOiAgIChjbWQgLSBTSU9DSVdGSVJTVCkpCisjZGVmaW5lIElXX0VWRU5UX0NBUEFfQkFTRShjbWQpICgoY21kID49IFNJT0NJV0ZJUlNUUFJJVikgPyAoY21kIC0gU0lPQ0lXRklSU1RQUklWICsgMHg2MCkgOiAoY21kIC0gU0lPQ0lXRklSU1QpKQogI2RlZmluZSBJV19FVkVOVF9DQVBBX0lOREVYKGNtZCkgKElXX0VWRU5UX0NBUEFfQkFTRShjbWQpID4+IDUpCiAjZGVmaW5lIElXX0VWRU5UX0NBUEFfTUFTSyhjbWQpICgxIDw8IChJV19FVkVOVF9DQVBBX0JBU0UoY21kKSAmIDB4MUYpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVdfRVZFTlRfQ0FQQV9LXzAgKElXX0VWRU5UX0NBUEFfTUFTSygweDhCMDQpIHwgICBJV19FVkVOVF9DQVBBX01BU0soMHg4QjA2KSB8ICAgSVdfRVZFTlRfQ0FQQV9NQVNLKDB4OEIxQSkpCisjZGVmaW5lIElXX0VWRU5UX0NBUEFfS18wIChJV19FVkVOVF9DQVBBX01BU0soMHg4QjA0KSB8IElXX0VWRU5UX0NBUEFfTUFTSygweDhCMDYpIHwgSVdfRVZFTlRfQ0FQQV9NQVNLKDB4OEIxQSkpCiAjZGVmaW5lIElXX0VWRU5UX0NBUEFfS18xIChJV19FVkVOVF9DQVBBX01BU0soMHg4QjJBKSkKLSNkZWZpbmUgSVdfRVZFTlRfQ0FQQV9TRVQoZXZlbnRfY2FwYSwgY21kKSAoZXZlbnRfY2FwYVtJV19FVkVOVF9DQVBBX0lOREVYKGNtZCldIHw9IElXX0VWRU5UX0NBUEFfTUFTSyhjbWQpKQotI2RlZmluZSBJV19FVkVOVF9DQVBBX1NFVF9LRVJORUwoZXZlbnRfY2FwYSkge2V2ZW50X2NhcGFbMF0gfD0gSVdfRVZFTlRfQ0FQQV9LXzA7IGV2ZW50X2NhcGFbMV0gfD0gSVdfRVZFTlRfQ0FQQV9LXzE7IH0KKyNkZWZpbmUgSVdfRVZFTlRfQ0FQQV9TRVQoZXZlbnRfY2FwYSxjbWQpIChldmVudF9jYXBhW0lXX0VWRU5UX0NBUEFfSU5ERVgoY21kKV0gfD0gSVdfRVZFTlRfQ0FQQV9NQVNLKGNtZCkpCisjZGVmaW5lIElXX0VWRU5UX0NBUEFfU0VUX0tFUk5FTChldmVudF9jYXBhKSB7IGV2ZW50X2NhcGFbMF0gfD0gSVdfRVZFTlRfQ0FQQV9LXzA7IGV2ZW50X2NhcGFbMV0gfD0gSVdfRVZFTlRfQ0FQQV9LXzE7IH0KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgaXdfcGFyYW0KLXsKLSBfX3MzMiB2YWx1ZTsKLSBfX3U4IGZpeGVkOworc3RydWN0IGl3X3BhcmFtIHsKKyAgX19zMzIgdmFsdWU7CisgIF9fdTggZml4ZWQ7CisgIF9fdTggZGlzYWJsZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZGlzYWJsZWQ7Ci0gX191MTYgZmxhZ3M7CisgIF9fdTE2IGZsYWdzOwogfTsKLXN0cnVjdCBpd19wb2ludAorc3RydWN0IGl3X3BvaW50IHsKKyAgdm9pZCBfX3VzZXIgKiBwb2ludGVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSB2b2lkIF9fdXNlciAqcG9pbnRlcjsKLSBfX3UxNiBsZW5ndGg7Ci0gX191MTYgZmxhZ3M7CisgIF9fdTE2IGxlbmd0aDsKKyAgX191MTYgZmxhZ3M7Cit9Oworc3RydWN0IGl3X2ZyZXEgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19zMzIgbTsKKyAgX19zMTYgZTsKKyAgX191OCBpOworICBfX3U4IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci1zdHJ1Y3QgaXdfZnJlcQotewotIF9fczMyIG07CitzdHJ1Y3QgaXdfcXVhbGl0eSB7CisgIF9fdTggcXVhbDsKKyAgX191OCBsZXZlbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMTYgZTsKLSBfX3U4IGk7Ci0gX191OCBmbGFnczsKKyAgX191OCBub2lzZTsKKyAgX191OCB1cGRhdGVkOworfTsKK3N0cnVjdCBpd19kaXNjYXJkZWQgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgbndpZDsKKyAgX191MzIgY29kZTsKKyAgX191MzIgZnJhZ21lbnQ7CisgIF9fdTMyIHJldHJpZXM7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBtaXNjOworfTsKK3N0cnVjdCBpd19taXNzZWQgeworICBfX3UzMiBiZWFjb247CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK3N0cnVjdCBpd190aHJzcHkgeworICBzdHJ1Y3Qgc29ja2FkZHIgYWRkcjsKKyAgc3RydWN0IGl3X3F1YWxpdHkgcXVhbDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBpd19xdWFsaXR5IGxvdzsKKyAgc3RydWN0IGl3X3F1YWxpdHkgaGlnaDsKK307CitzdHJ1Y3QgaXdfc2Nhbl9yZXEgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBzY2FuX3R5cGU7CisgIF9fdTggZXNzaWRfbGVuOworICBfX3U4IG51bV9jaGFubmVsczsKKyAgX191OCBmbGFnczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBzb2NrYWRkciBic3NpZDsKKyAgX191OCBlc3NpZFtJV19FU1NJRF9NQVhfU0laRV07CisgIF9fdTMyIG1pbl9jaGFubmVsX3RpbWU7CisgIF9fdTMyIG1heF9jaGFubmVsX3RpbWU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgaXdfZnJlcSBjaGFubmVsX2xpc3RbSVdfTUFYX0ZSRVFVRU5DSUVTXTsKK307CitzdHJ1Y3QgaXdfZW5jb2RlX2V4dCB7CisgIF9fdTMyIGV4dF9mbGFnczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggdHhfc2VxW0lXX0VOQ09ERV9TRVFfTUFYX1NJWkVdOworICBfX3U4IHJ4X3NlcVtJV19FTkNPREVfU0VRX01BWF9TSVpFXTsKKyAgc3RydWN0IHNvY2thZGRyIGFkZHI7CisgIF9fdTE2IGFsZzsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IGtleV9sZW47CisgIF9fdTgga2V5WzBdOworfTsKK3N0cnVjdCBpd19tbG1lIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IGNtZDsKKyAgX191MTYgcmVhc29uX2NvZGU7CisgIHN0cnVjdCBzb2NrYWRkciBhZGRyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgaXdfcXVhbGl0eQotewotIF9fdTggcXVhbDsKLSBfX3U4IGxldmVsOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG5vaXNlOwotIF9fdTggdXBkYXRlZDsKLX07Ci1zdHJ1Y3QgaXdfZGlzY2FyZGVkCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotewotIF9fdTMyIG53aWQ7Ci0gX191MzIgY29kZTsKLSBfX3UzMiBmcmFnbWVudDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmV0cmllczsKLSBfX3UzMiBtaXNjOwotfTsKLXN0cnVjdCBpd19taXNzZWQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gX191MzIgYmVhY29uOwotfTsKLXN0cnVjdCBpd190aHJzcHkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi17Ci0gc3RydWN0IHNvY2thZGRyIGFkZHI7Ci0gc3RydWN0IGl3X3F1YWxpdHkgcXVhbDsKLSBzdHJ1Y3QgaXdfcXVhbGl0eSBsb3c7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpd19xdWFsaXR5IGhpZ2g7Ci19Owotc3RydWN0IGl3X3NjYW5fcmVxCi17Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2Nhbl90eXBlOwotIF9fdTggZXNzaWRfbGVuOwotIF9fdTggbnVtX2NoYW5uZWxzOwotIF9fdTggZmxhZ3M7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzb2NrYWRkciBic3NpZDsKLSBfX3U4IGVzc2lkW0lXX0VTU0lEX01BWF9TSVpFXTsKLSBfX3UzMiBtaW5fY2hhbm5lbF90aW1lOwotIF9fdTMyIG1heF9jaGFubmVsX3RpbWU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpd19mcmVxIGNoYW5uZWxfbGlzdFtJV19NQVhfRlJFUVVFTkNJRVNdOwotfTsKLXN0cnVjdCBpd19lbmNvZGVfZXh0Ci17Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGV4dF9mbGFnczsKLSBfX3U4IHR4X3NlcVtJV19FTkNPREVfU0VRX01BWF9TSVpFXTsKLSBfX3U4IHJ4X3NlcVtJV19FTkNPREVfU0VRX01BWF9TSVpFXTsKLSBzdHJ1Y3Qgc29ja2FkZHIgYWRkcjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgYWxnOwotIF9fdTE2IGtleV9sZW47Ci0gX191OCBrZXlbMF07Ci19OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXN0cnVjdCBpd19tbG1lCi17Ci0gX191MTYgY21kOwotIF9fdTE2IHJlYXNvbl9jb2RlOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHIgYWRkcjsKLX07CiAjZGVmaW5lIElXX1BNS1NBX0FERCAxCiAjZGVmaW5lIElXX1BNS1NBX1JFTU9WRSAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJV19QTUtTQV9GTFVTSCAzCiAjZGVmaW5lIElXX1BNS0lEX0xFTiAxNgotc3RydWN0IGl3X3Bta3NhCi17CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNtZDsKLSBzdHJ1Y3Qgc29ja2FkZHIgYnNzaWQ7Ci0gX191OCBwbWtpZFtJV19QTUtJRF9MRU5dOworc3RydWN0IGl3X3Bta3NhIHsKKyAgX191MzIgY21kOworICBzdHJ1Y3Qgc29ja2FkZHIgYnNzaWQ7CisgIF9fdTggcG1raWRbSVdfUE1LSURfTEVOXTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Oworc3RydWN0IGl3X21pY2hhZWxtaWNmYWlsdXJlIHsKKyAgX191MzIgZmxhZ3M7CisgIHN0cnVjdCBzb2NrYWRkciBzcmNfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi1zdHJ1Y3QgaXdfbWljaGFlbG1pY2ZhaWx1cmUKLXsKLSBfX3UzMiBmbGFnczsKLSBzdHJ1Y3Qgc29ja2FkZHIgc3JjX2FkZHI7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHNjW0lXX0VOQ09ERV9TRVFfTUFYX1NJWkVdOworICBfX3U4IHRzY1tJV19FTkNPREVfU0VRX01BWF9TSVpFXTsKIH07CiAjZGVmaW5lIElXX1BNS0lEX0NBTkRfUFJFQVVUSCAweDAwMDAwMDAxCi1zdHJ1Y3QgaXdfcG1raWRfY2FuZAorc3RydWN0IGl3X3Bta2lkX2NhbmQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBpbmRleDsKLSBzdHJ1Y3Qgc29ja2FkZHIgYnNzaWQ7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKLXN0cnVjdCBpd19zdGF0aXN0aWNzCi17Ci0gX191MTYgc3RhdHVzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaXdfcXVhbGl0eSBxdWFsOwotIHN0cnVjdCBpd19kaXNjYXJkZWQgZGlzY2FyZDsKLSBzdHJ1Y3QgaXdfbWlzc2VkIG1pc3M7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiBpbmRleDsKKyAgc3RydWN0IHNvY2thZGRyIGJzc2lkOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi11bmlvbiBpd3JlcV9kYXRhCi17Ci0gY2hhciBuYW1lW0lGTkFNU0laXTsKLSBzdHJ1Y3QgaXdfcG9pbnQgZXNzaWQ7CitzdHJ1Y3QgaXdfc3RhdGlzdGljcyB7CisgIF9fdTE2IHN0YXR1czsKKyAgc3RydWN0IGl3X3F1YWxpdHkgcXVhbDsKKyAgc3RydWN0IGl3X2Rpc2NhcmRlZCBkaXNjYXJkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaXdfcGFyYW0gbndpZDsKLSBzdHJ1Y3QgaXdfZnJlcSBmcmVxOwotIHN0cnVjdCBpd19wYXJhbSBzZW5zOwotIHN0cnVjdCBpd19wYXJhbSBiaXRyYXRlOworICBzdHJ1Y3QgaXdfbWlzc2VkIG1pc3M7Cit9OwordW5pb24gaXdyZXFfZGF0YSB7CisgIGNoYXIgbmFtZVtJRk5BTVNJWl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpd19wYXJhbSB0eHBvd2VyOwotIHN0cnVjdCBpd19wYXJhbSBydHM7Ci0gc3RydWN0IGl3X3BhcmFtIGZyYWc7Ci0gX191MzIgbW9kZTsKKyAgc3RydWN0IGl3X3BvaW50IGVzc2lkOworICBzdHJ1Y3QgaXdfcGFyYW0gbndpZDsKKyAgc3RydWN0IGl3X2ZyZXEgZnJlcTsKKyAgc3RydWN0IGl3X3BhcmFtIHNlbnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpd19wYXJhbSByZXRyeTsKLSBzdHJ1Y3QgaXdfcG9pbnQgZW5jb2Rpbmc7Ci0gc3RydWN0IGl3X3BhcmFtIHBvd2VyOwotIHN0cnVjdCBpd19xdWFsaXR5IHF1YWw7CisgIHN0cnVjdCBpd19wYXJhbSBiaXRyYXRlOworICBzdHJ1Y3QgaXdfcGFyYW0gdHhwb3dlcjsKKyAgc3RydWN0IGl3X3BhcmFtIHJ0czsKKyAgc3RydWN0IGl3X3BhcmFtIGZyYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzb2NrYWRkciBhcF9hZGRyOwotIHN0cnVjdCBzb2NrYWRkciBhZGRyOwotIHN0cnVjdCBpd19wYXJhbSBwYXJhbTsKLSBzdHJ1Y3QgaXdfcG9pbnQgZGF0YTsKKyAgX191MzIgbW9kZTsKKyAgc3RydWN0IGl3X3BhcmFtIHJldHJ5OworICBzdHJ1Y3QgaXdfcG9pbnQgZW5jb2Rpbmc7CisgIHN0cnVjdCBpd19wYXJhbSBwb3dlcjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBpd19xdWFsaXR5IHF1YWw7CisgIHN0cnVjdCBzb2NrYWRkciBhcF9hZGRyOworICBzdHJ1Y3Qgc29ja2FkZHIgYWRkcjsKKyAgc3RydWN0IGl3X3BhcmFtIHBhcmFtOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGl3X3BvaW50IGRhdGE7Cit9Oworc3RydWN0IGl3cmVxIHsKKyAgdW5pb24geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgICBjaGFyIGlmcm5fbmFtZVtJRk5BTVNJWl07CisgIH0gaWZyX2lmcm47CisgIHVuaW9uIGl3cmVxX2RhdGEgdTsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGl3X3JhbmdlIHsKKyAgX191MzIgdGhyb3VnaHB1dDsKKyAgX191MzIgbWluX253aWQ7CisgIF9fdTMyIG1heF9ud2lkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgb2xkX251bV9jaGFubmVsczsKKyAgX191OCBvbGRfbnVtX2ZyZXF1ZW5jeTsKKyAgX191OCBzY2FuX2NhcGE7CisgIF9fdTMyIGV2ZW50X2NhcGFbNl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3MzMiBzZW5zaXRpdml0eTsKKyAgc3RydWN0IGl3X3F1YWxpdHkgbWF4X3F1YWw7CisgIHN0cnVjdCBpd19xdWFsaXR5IGF2Z19xdWFsOworICBfX3U4IG51bV9iaXRyYXRlczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fczMyIGJpdHJhdGVbSVdfTUFYX0JJVFJBVEVTXTsKKyAgX19zMzIgbWluX3J0czsKKyAgX19zMzIgbWF4X3J0czsKKyAgX19zMzIgbWluX2ZyYWc7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3MzMiBtYXhfZnJhZzsKKyAgX19zMzIgbWluX3BtcDsKKyAgX19zMzIgbWF4X3BtcDsKKyAgX19zMzIgbWluX3BtdDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fczMyIG1heF9wbXQ7CisgIF9fdTE2IHBtcF9mbGFnczsKKyAgX191MTYgcG10X2ZsYWdzOworICBfX3UxNiBwbV9jYXBhOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgZW5jb2Rpbmdfc2l6ZVtJV19NQVhfRU5DT0RJTkdfU0laRVNdOworICBfX3U4IG51bV9lbmNvZGluZ19zaXplczsKKyAgX191OCBtYXhfZW5jb2RpbmdfdG9rZW5zOworICBfX3U4IGVuY29kaW5nX2xvZ2luX2luZGV4OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgdHhwb3dlcl9jYXBhOworICBfX3U4IG51bV90eHBvd2VyOworICBfX3MzMiB0eHBvd2VyW0lXX01BWF9UWFBPV0VSXTsKKyAgX191OCB3ZV92ZXJzaW9uX2NvbXBpbGVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCB3ZV92ZXJzaW9uX3NvdXJjZTsKKyAgX191MTYgcmV0cnlfY2FwYTsKKyAgX191MTYgcmV0cnlfZmxhZ3M7CisgIF9fdTE2IHJfdGltZV9mbGFnczsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fczMyIG1pbl9yZXRyeTsKKyAgX19zMzIgbWF4X3JldHJ5OworICBfX3MzMiBtaW5fcl90aW1lOworICBfX3MzMiBtYXhfcl90aW1lOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgbnVtX2NoYW5uZWxzOworICBfX3U4IG51bV9mcmVxdWVuY3k7CisgIHN0cnVjdCBpd19mcmVxIGZyZXFbSVdfTUFYX0ZSRVFVRU5DSUVTXTsKKyAgX191MzIgZW5jX2NhcGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLXN0cnVjdCBpd3JlcQotewotIHVuaW9uCitzdHJ1Y3QgaXdfcHJpdl9hcmdzIHsKKyAgX191MzIgY21kOworICBfX3UxNiBzZXRfYXJnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gewotIGNoYXIgaWZybl9uYW1lW0lGTkFNU0laXTsKLSB9IGlmcl9pZnJuOwotIHVuaW9uIGl3cmVxX2RhdGEgdTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IGdldF9hcmdzOworICBjaGFyIG5hbWVbSUZOQU1TSVpdOwogfTsKLXN0cnVjdCBpd19yYW5nZQotewotIF9fdTMyIHRocm91Z2hwdXQ7CitzdHJ1Y3QgaXdfZXZlbnQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtaW5fbndpZDsKLSBfX3UzMiBtYXhfbndpZDsKLSBfX3UxNiBvbGRfbnVtX2NoYW5uZWxzOwotIF9fdTggb2xkX251bV9mcmVxdWVuY3k7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2Nhbl9jYXBhOwotIF9fdTMyIGV2ZW50X2NhcGFbNl07Ci0gX19zMzIgc2Vuc2l0aXZpdHk7Ci0gc3RydWN0IGl3X3F1YWxpdHkgbWF4X3F1YWw7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpd19xdWFsaXR5IGF2Z19xdWFsOwotIF9fdTggbnVtX2JpdHJhdGVzOwotIF9fczMyIGJpdHJhdGVbSVdfTUFYX0JJVFJBVEVTXTsKLSBfX3MzMiBtaW5fcnRzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBtYXhfcnRzOwotIF9fczMyIG1pbl9mcmFnOwotIF9fczMyIG1heF9mcmFnOwotIF9fczMyIG1pbl9wbXA7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIG1heF9wbXA7Ci0gX19zMzIgbWluX3BtdDsKLSBfX3MzMiBtYXhfcG10OwotIF9fdTE2IHBtcF9mbGFnczsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcG10X2ZsYWdzOwotIF9fdTE2IHBtX2NhcGE7Ci0gX191MTYgZW5jb2Rpbmdfc2l6ZVtJV19NQVhfRU5DT0RJTkdfU0laRVNdOwotIF9fdTggbnVtX2VuY29kaW5nX3NpemVzOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1heF9lbmNvZGluZ190b2tlbnM7Ci0gX191OCBlbmNvZGluZ19sb2dpbl9pbmRleDsKLSBfX3UxNiB0eHBvd2VyX2NhcGE7Ci0gX191OCBudW1fdHhwb3dlcjsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgdHhwb3dlcltJV19NQVhfVFhQT1dFUl07Ci0gX191OCB3ZV92ZXJzaW9uX2NvbXBpbGVkOwotIF9fdTggd2VfdmVyc2lvbl9zb3VyY2U7Ci0gX191MTYgcmV0cnlfY2FwYTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcmV0cnlfZmxhZ3M7Ci0gX191MTYgcl90aW1lX2ZsYWdzOwotIF9fczMyIG1pbl9yZXRyeTsKLSBfX3MzMiBtYXhfcmV0cnk7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIG1pbl9yX3RpbWU7Ci0gX19zMzIgbWF4X3JfdGltZTsKLSBfX3UxNiBudW1fY2hhbm5lbHM7Ci0gX191OCBudW1fZnJlcXVlbmN5OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaXdfZnJlcSBmcmVxW0lXX01BWF9GUkVRVUVOQ0lFU107Ci0gX191MzIgZW5jX2NhcGE7Ci19Owotc3RydWN0IGl3X3ByaXZfYXJncwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLXsKLSBfX3UzMiBjbWQ7Ci0gX191MTYgc2V0X2FyZ3M7Ci0gX191MTYgZ2V0X2FyZ3M7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVtJRk5BTVNJWl07Ci19Owotc3RydWN0IGl3X2V2ZW50Ci17Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGxlbjsKLSBfX3UxNiBjbWQ7Ci0gdW5pb24gaXdyZXFfZGF0YSB1OworICBfX3UxNiBsZW47CisgIF9fdTE2IGNtZDsKKyAgdW5pb24gaXdyZXFfZGF0YSB1OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElXX0VWX0xDUF9MRU4gKHNpemVvZihzdHJ1Y3QgaXdfZXZlbnQpIC0gc2l6ZW9mKHVuaW9uIGl3cmVxX2RhdGEpKQpAQCAtNTY0LDkgKzUzOSw5IEBACiAjZGVmaW5lIElXX0VWX1BBUkFNX0xFTiAoSVdfRVZfTENQX0xFTiArIHNpemVvZihzdHJ1Y3QgaXdfcGFyYW0pKQogI2RlZmluZSBJV19FVl9BRERSX0xFTiAoSVdfRVZfTENQX0xFTiArIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKQogI2RlZmluZSBJV19FVl9RVUFMX0xFTiAoSVdfRVZfTENQX0xFTiArIHNpemVvZihzdHJ1Y3QgaXdfcXVhbGl0eSkpCi0jZGVmaW5lIElXX0VWX1BPSU5UX09GRiAoKChjaGFyICopICYoKChzdHJ1Y3QgaXdfcG9pbnQgKikgTlVMTCktPmxlbmd0aCkpIC0gICAoY2hhciAqKSBOVUxMKQorI2RlZmluZSBJV19FVl9QT0lOVF9PRkYgKCgoY2hhciAqKSAmICgoKHN0cnVjdCBpd19wb2ludCAqKSBOVUxMKS0+bGVuZ3RoKSkgLSAoY2hhciAqKSBOVUxMKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSVdfRVZfUE9JTlRfTEVOIChJV19FVl9MQ1BfTEVOICsgc2l6ZW9mKHN0cnVjdCBpd19wb2ludCkgLSAgIElXX0VWX1BPSU5UX09GRikKKyNkZWZpbmUgSVdfRVZfUE9JTlRfTEVOIChJV19FVl9MQ1BfTEVOICsgc2l6ZW9mKHN0cnVjdCBpd19wb2ludCkgLSBJV19FVl9QT0lOVF9PRkYpCiAjZGVmaW5lIElXX0VWX0xDUF9QS19MRU4gKDQpCiAjZGVmaW5lIElXX0VWX0NIQVJfUEtfTEVOIChJV19FVl9MQ1BfUEtfTEVOICsgSUZOQU1TSVopCiAjZGVmaW5lIElXX0VWX1VJTlRfUEtfTEVOIChJV19FVl9MQ1BfUEtfTEVOICsgc2l6ZW9mKF9fdTMyKSkKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgveDI1LmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3gyNS5oCmluZGV4IGU5OGQxMjMuLjcxNGMyMmEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgveDI1LmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC94MjUuaApAQCAtNTEsMTggKzUxLDE4IEBACiAjZGVmaW5lIFgyNV9QUzQwOTYgMTIKIHN0cnVjdCB4MjVfYWRkcmVzcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgeDI1X2FkZHJbMTZdOworICBjaGFyIHgyNV9hZGRyWzE2XTsKIH07CiBzdHJ1Y3Qgc29ja2FkZHJfeDI1IHsKLSBfX2tlcm5lbF9zYV9mYW1pbHlfdCBzeDI1X2ZhbWlseTsKKyAgX19rZXJuZWxfc2FfZmFtaWx5X3Qgc3gyNV9mYW1pbHk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB4MjVfYWRkcmVzcyBzeDI1X2FkZHI7CisgIHN0cnVjdCB4MjVfYWRkcmVzcyBzeDI1X2FkZHI7CiB9Owogc3RydWN0IHgyNV9zdWJzY3JpcF9zdHJ1Y3QgewotIGNoYXIgZGV2aWNlWzIwMC1zaXplb2YodW5zaWduZWQgbG9uZyldOworICBjaGFyIGRldmljZVsyMDAgLSBzaXplb2YodW5zaWduZWQgbG9uZyldOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIGdsb2JhbF9mYWNpbF9tYXNrOwotIHVuc2lnbmVkIGludCBleHRlbmRlZDsKKyAgdW5zaWduZWQgbG9uZyBnbG9iYWxfZmFjaWxfbWFzazsKKyAgdW5zaWduZWQgaW50IGV4dGVuZGVkOwogfTsKICNkZWZpbmUgWDI1X01BU0tfUkVWRVJTRSAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNzMsNDQgKzczLDQ0IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYMjVfTUFTS19DQUxMRURfQUUgMHgyMAogc3RydWN0IHgyNV9yb3V0ZV9zdHJ1Y3QgewotIHN0cnVjdCB4MjVfYWRkcmVzcyBhZGRyZXNzOwotIHVuc2lnbmVkIGludCBzaWdkaWdpdHM7CisgIHN0cnVjdCB4MjVfYWRkcmVzcyBhZGRyZXNzOworICB1bnNpZ25lZCBpbnQgc2lnZGlnaXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGRldmljZVsyMDBdOworICBjaGFyIGRldmljZVsyMDBdOwogfTsKIHN0cnVjdCB4MjVfZmFjaWxpdGllcyB7Ci0gdW5zaWduZWQgaW50IHdpbnNpemVfaW4sIHdpbnNpemVfb3V0OworICB1bnNpZ25lZCBpbnQgd2luc2l6ZV9pbiwgd2luc2l6ZV9vdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBwYWNzaXplX2luLCBwYWNzaXplX291dDsKLSB1bnNpZ25lZCBpbnQgdGhyb3VnaHB1dDsKLSB1bnNpZ25lZCBpbnQgcmV2ZXJzZTsKKyAgdW5zaWduZWQgaW50IHBhY3NpemVfaW4sIHBhY3NpemVfb3V0OworICB1bnNpZ25lZCBpbnQgdGhyb3VnaHB1dDsKKyAgdW5zaWduZWQgaW50IHJldmVyc2U7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4MjVfZHRlX2ZhY2lsaXRpZXMgewotIF9fdTE2IGRlbGF5X2N1bXVsOwotIF9fdTE2IGRlbGF5X3RhcmdldDsKLSBfX3UxNiBkZWxheV9tYXg7CisgIF9fdTE2IGRlbGF5X2N1bXVsOworICBfX3UxNiBkZWxheV90YXJnZXQ7CisgIF9fdTE2IGRlbGF5X21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBtaW5fdGhyb3VnaHB1dDsKLSBfX3U4IGV4cGVkaXRlZDsKLSBfX3U4IGNhbGxpbmdfbGVuOwotIF9fdTggY2FsbGVkX2xlbjsKKyAgX191OCBtaW5fdGhyb3VnaHB1dDsKKyAgX191OCBleHBlZGl0ZWQ7CisgIF9fdTggY2FsbGluZ19sZW47CisgIF9fdTggY2FsbGVkX2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjYWxsaW5nX2FlWzIwXTsKLSBfX3U4IGNhbGxlZF9hZVsyMF07CisgIF9fdTggY2FsbGluZ19hZVsyMF07CisgIF9fdTggY2FsbGVkX2FlWzIwXTsKIH07CiBzdHJ1Y3QgeDI1X2NhbGx1c2VyZGF0YSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjdWRsZW5ndGg7Ci0gdW5zaWduZWQgY2hhciBjdWRkYXRhWzEyOF07CisgIHVuc2lnbmVkIGludCBjdWRsZW5ndGg7CisgIHVuc2lnbmVkIGNoYXIgY3VkZGF0YVsxMjhdOwogfTsKIHN0cnVjdCB4MjVfY2F1c2VkaWFnIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjYXVzZTsKLSB1bnNpZ25lZCBjaGFyIGRpYWdub3N0aWM7CisgIHVuc2lnbmVkIGNoYXIgY2F1c2U7CisgIHVuc2lnbmVkIGNoYXIgZGlhZ25vc3RpYzsKIH07CiBzdHJ1Y3QgeDI1X3N1YmFkZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY3VkbWF0Y2hsZW5ndGg7CisgIHVuc2lnbmVkIGludCBjdWRtYXRjaGxlbmd0aDsKIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbGludXgveGF0dHIuaCBiL2xpYmMva2VybmVsL3VhcGkvbGludXgveGF0dHIuaAppbmRleCBlY2FkYzZhLi5hM2JiYTc0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3hhdHRyLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC94YXR0ci5oCkBAIC0xNiwxMCArMTYsMTUgQEAKICAqKioKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlIDxsaW51eC9saWJjLWNvbXBhdC5oPgogI2lmbmRlZiBfVUFQSV9MSU5VWF9YQVRUUl9ICiAjZGVmaW5lIF9VQVBJX0xJTlVYX1hBVFRSX0gKKyNpZiBfX1VBUElfREVGX1hBVFRSCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBfX1VTRV9LRVJORUxfWEFUVFJfREVGUwogI2RlZmluZSBYQVRUUl9DUkVBVEUgMHgxCiAjZGVmaW5lIFhBVFRSX1JFUExBQ0UgMHgyCisjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFhBVFRSX09TMl9QUkVGSVggIm9zMi4iCiAjZGVmaW5lIFhBVFRSX09TMl9QUkVGSVhfTEVOIChzaXplb2YoWEFUVFJfT1MyX1BSRUZJWCkgLSAxKQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC94ZnJtLmggYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3hmcm0uaAppbmRleCA0YjA5ZWU4Li4zYWIxNzNhIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3hmcm0uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3hmcm0uaApAQCAtMjEsMjMgKzIxLDIzIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHR5cGVkZWYgdW5pb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgYTQ7Ci0gX19iZTMyIGE2WzRdOworICBfX2JlMzIgYTQ7CisgIF9fYmUzMiBhNls0XTsKIH0geGZybV9hZGRyZXNzX3Q7CiBzdHJ1Y3QgeGZybV9pZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHhmcm1fYWRkcmVzc190IGRhZGRyOwotIF9fYmUzMiBzcGk7Ci0gX191OCBwcm90bzsKKyAgeGZybV9hZGRyZXNzX3QgZGFkZHI7CisgIF9fYmUzMiBzcGk7CisgIF9fdTggcHJvdG87CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4ZnJtX3NlY19jdHggewotIF9fdTggY3R4X2RvaTsKLSBfX3U4IGN0eF9hbGc7Ci0gX191MTYgY3R4X2xlbjsKKyAgX191OCBjdHhfZG9pOworICBfX3U4IGN0eF9hbGc7CisgIF9fdTE2IGN0eF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGN0eF9zaWQ7Ci0gY2hhciBjdHhfc3RyWzBdOworICBfX3UzMiBjdHhfc2lkOworICBjaGFyIGN0eF9zdHJbMF07CiB9OwogI2RlZmluZSBYRlJNX1NDX0RPSV9SRVNFUlZFRCAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtNDYsMTEyICs0NiwxMTIgQEAKICNkZWZpbmUgWEZSTV9TQ19BTEdfU0VMSU5VWCAxCiBzdHJ1Y3QgeGZybV9zZWxlY3RvciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHhmcm1fYWRkcmVzc190IGRhZGRyOwotIHhmcm1fYWRkcmVzc190IHNhZGRyOwotIF9fYmUxNiBkcG9ydDsKLSBfX2JlMTYgZHBvcnRfbWFzazsKKyAgeGZybV9hZGRyZXNzX3QgZGFkZHI7CisgIHhmcm1fYWRkcmVzc190IHNhZGRyOworICBfX2JlMTYgZHBvcnQ7CisgIF9fYmUxNiBkcG9ydF9tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgc3BvcnQ7Ci0gX19iZTE2IHNwb3J0X21hc2s7Ci0gX191MTYgZmFtaWx5OwotIF9fdTggcHJlZml4bGVuX2Q7CisgIF9fYmUxNiBzcG9ydDsKKyAgX19iZTE2IHNwb3J0X21hc2s7CisgIF9fdTE2IGZhbWlseTsKKyAgX191OCBwcmVmaXhsZW5fZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwcmVmaXhsZW5fczsKLSBfX3U4IHByb3RvOwotIGludCBpZmluZGV4OwotIF9fa2VybmVsX3VpZDMyX3QgdXNlcjsKKyAgX191OCBwcmVmaXhsZW5fczsKKyAgX191OCBwcm90bzsKKyAgaW50IGlmaW5kZXg7CisgIF9fa2VybmVsX3VpZDMyX3QgdXNlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBYRlJNX0lORiAofihfX3U2NCkwKQorI2RlZmluZSBYRlJNX0lORiAofihfX3U2NCkgMCkKIHN0cnVjdCB4ZnJtX2xpZmV0aW1lX2NmZyB7Ci0gX191NjQgc29mdF9ieXRlX2xpbWl0OworICBfX3U2NCBzb2Z0X2J5dGVfbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGhhcmRfYnl0ZV9saW1pdDsKLSBfX3U2NCBzb2Z0X3BhY2tldF9saW1pdDsKLSBfX3U2NCBoYXJkX3BhY2tldF9saW1pdDsKLSBfX3U2NCBzb2Z0X2FkZF9leHBpcmVzX3NlY29uZHM7CisgIF9fdTY0IGhhcmRfYnl0ZV9saW1pdDsKKyAgX191NjQgc29mdF9wYWNrZXRfbGltaXQ7CisgIF9fdTY0IGhhcmRfcGFja2V0X2xpbWl0OworICBfX3U2NCBzb2Z0X2FkZF9leHBpcmVzX3NlY29uZHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGhhcmRfYWRkX2V4cGlyZXNfc2Vjb25kczsKLSBfX3U2NCBzb2Z0X3VzZV9leHBpcmVzX3NlY29uZHM7Ci0gX191NjQgaGFyZF91c2VfZXhwaXJlc19zZWNvbmRzOworICBfX3U2NCBoYXJkX2FkZF9leHBpcmVzX3NlY29uZHM7CisgIF9fdTY0IHNvZnRfdXNlX2V4cGlyZXNfc2Vjb25kczsKKyAgX191NjQgaGFyZF91c2VfZXhwaXJlc19zZWNvbmRzOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeGZybV9saWZldGltZV9jdXIgewotIF9fdTY0IGJ5dGVzOwotIF9fdTY0IHBhY2tldHM7Ci0gX191NjQgYWRkX3RpbWU7CisgIF9fdTY0IGJ5dGVzOworICBfX3U2NCBwYWNrZXRzOworICBfX3U2NCBhZGRfdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgdXNlX3RpbWU7CisgIF9fdTY0IHVzZV90aW1lOwogfTsKIHN0cnVjdCB4ZnJtX3JlcGxheV9zdGF0ZSB7Ci0gX191MzIgb3NlcTsKKyAgX191MzIgb3NlcTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2VxOwotIF9fdTMyIGJpdG1hcDsKKyAgX191MzIgc2VxOworICBfX3UzMiBiaXRtYXA7CiB9OwogI2RlZmluZSBYRlJNQV9SRVBMQVlfRVNOX01BWCA0MDk2CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHhmcm1fcmVwbGF5X3N0YXRlX2VzbiB7Ci0gdW5zaWduZWQgaW50IGJtcF9sZW47Ci0gX191MzIgb3NlcTsKLSBfX3UzMiBzZXE7CisgIHVuc2lnbmVkIGludCBibXBfbGVuOworICBfX3UzMiBvc2VxOworICBfX3UzMiBzZXE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9zZXFfaGk7Ci0gX191MzIgc2VxX2hpOwotIF9fdTMyIHJlcGxheV93aW5kb3c7Ci0gX191MzIgYm1wWzBdOworICBfX3UzMiBvc2VxX2hpOworICBfX3UzMiBzZXFfaGk7CisgIF9fdTMyIHJlcGxheV93aW5kb3c7CisgIF9fdTMyIGJtcFswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHhmcm1fYWxnbyB7Ci0gY2hhciBhbGdfbmFtZVs2NF07Ci0gdW5zaWduZWQgaW50IGFsZ19rZXlfbGVuOworICBjaGFyIGFsZ19uYW1lWzY0XTsKKyAgdW5zaWduZWQgaW50IGFsZ19rZXlfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBjaGFyIGFsZ19rZXlbMF07CisgIGNoYXIgYWxnX2tleVswXTsKIH07CiBzdHJ1Y3QgeGZybV9hbGdvX2F1dGggewotIGNoYXIgYWxnX25hbWVbNjRdOworICBjaGFyIGFsZ19uYW1lWzY0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGFsZ19rZXlfbGVuOwotIHVuc2lnbmVkIGludCBhbGdfdHJ1bmNfbGVuOwotIGNoYXIgYWxnX2tleVswXTsKKyAgdW5zaWduZWQgaW50IGFsZ19rZXlfbGVuOworICB1bnNpZ25lZCBpbnQgYWxnX3RydW5jX2xlbjsKKyAgY2hhciBhbGdfa2V5WzBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeGZybV9hbGdvX2FlYWQgewotIGNoYXIgYWxnX25hbWVbNjRdOwotIHVuc2lnbmVkIGludCBhbGdfa2V5X2xlbjsKLSB1bnNpZ25lZCBpbnQgYWxnX2ljdl9sZW47CisgIGNoYXIgYWxnX25hbWVbNjRdOworICB1bnNpZ25lZCBpbnQgYWxnX2tleV9sZW47CisgIHVuc2lnbmVkIGludCBhbGdfaWN2X2xlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY2hhciBhbGdfa2V5WzBdOworICBjaGFyIGFsZ19rZXlbMF07CiB9Owogc3RydWN0IHhmcm1fc3RhdHMgewotIF9fdTMyIHJlcGxheV93aW5kb3c7CisgIF9fdTMyIHJlcGxheV93aW5kb3c7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlcGxheTsKLSBfX3UzMiBpbnRlZ3JpdHlfZmFpbGVkOworICBfX3UzMiByZXBsYXk7CisgIF9fdTMyIGludGVncml0eV9mYWlsZWQ7CiB9OwogZW51bSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhGUk1fUE9MSUNZX1RZUEVfTUFJTiA9IDAsCi0gWEZSTV9QT0xJQ1lfVFlQRV9TVUIgPSAxLAotIFhGUk1fUE9MSUNZX1RZUEVfTUFYID0gMiwKLSBYRlJNX1BPTElDWV9UWVBFX0FOWSA9IDI1NQorICBYRlJNX1BPTElDWV9UWVBFX01BSU4gPSAwLAorICBYRlJNX1BPTElDWV9UWVBFX1NVQiA9IDEsCisgIFhGUk1fUE9MSUNZX1RZUEVfTUFYID0gMiwKKyAgWEZSTV9QT0xJQ1lfVFlQRV9BTlkgPSAyNTUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gWEZSTV9QT0xJQ1lfSU4gPSAwLAotIFhGUk1fUE9MSUNZX09VVCA9IDEsCisgIFhGUk1fUE9MSUNZX0lOID0gMCwKKyAgWEZSTV9QT0xJQ1lfT1VUID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9QT0xJQ1lfRldEID0gMiwKLSBYRlJNX1BPTElDWV9NQVNLID0gMywKLSBYRlJNX1BPTElDWV9NQVggPSAzCisgIFhGUk1fUE9MSUNZX0ZXRCA9IDIsCisgIFhGUk1fUE9MSUNZX01BU0sgPSAzLAorICBYRlJNX1BPTElDWV9NQVggPSAzCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFhGUk1fU0hBUkVfQU5ZLAotIFhGUk1fU0hBUkVfU0VTU0lPTiwKLSBYRlJNX1NIQVJFX1VTRVIsCisgIFhGUk1fU0hBUkVfQU5ZLAorICBYRlJNX1NIQVJFX1NFU1NJT04sCisgIFhGUk1fU0hBUkVfVVNFUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9TSEFSRV9VTklRVUUKKyAgWEZSTV9TSEFSRV9VTklRVUUKIH07CiAjZGVmaW5lIFhGUk1fTU9ERV9UUkFOU1BPUlQgMAogI2RlZmluZSBYRlJNX01PREVfVFVOTkVMIDEKQEAgLTE2MiwyMTcgKzE2MiwyMjcgQEAKICNkZWZpbmUgWEZSTV9NT0RFX01BWCA1CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gWEZSTV9NU0dfQkFTRSA9IDB4MTAsCi0gWEZSTV9NU0dfTkVXU0EgPSAweDEwLAorICBYRlJNX01TR19CQVNFID0gMHgxMCwKKyAgWEZSTV9NU0dfTkVXU0EgPSAweDEwLAogI2RlZmluZSBYRlJNX01TR19ORVdTQSBYRlJNX01TR19ORVdTQQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNX01TR19ERUxTQSwKKyAgWEZSTV9NU0dfREVMU0EsCiAjZGVmaW5lIFhGUk1fTVNHX0RFTFNBIFhGUk1fTVNHX0RFTFNBCi0gWEZSTV9NU0dfR0VUU0EsCisgIFhGUk1fTVNHX0dFVFNBLAogI2RlZmluZSBYRlJNX01TR19HRVRTQSBYRlJNX01TR19HRVRTQQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNX01TR19ORVdQT0xJQ1ksCisgIFhGUk1fTVNHX05FV1BPTElDWSwKICNkZWZpbmUgWEZSTV9NU0dfTkVXUE9MSUNZIFhGUk1fTVNHX05FV1BPTElDWQotIFhGUk1fTVNHX0RFTFBPTElDWSwKKyAgWEZSTV9NU0dfREVMUE9MSUNZLAogI2RlZmluZSBYRlJNX01TR19ERUxQT0xJQ1kgWEZSTV9NU0dfREVMUE9MSUNZCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhGUk1fTVNHX0dFVFBPTElDWSwKKyAgWEZSTV9NU0dfR0VUUE9MSUNZLAogI2RlZmluZSBYRlJNX01TR19HRVRQT0xJQ1kgWEZSTV9NU0dfR0VUUE9MSUNZCi0gWEZSTV9NU0dfQUxMT0NTUEksCisgIFhGUk1fTVNHX0FMTE9DU1BJLAogI2RlZmluZSBYRlJNX01TR19BTExPQ1NQSSBYRlJNX01TR19BTExPQ1NQSQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNX01TR19BQ1FVSVJFLAorICBYRlJNX01TR19BQ1FVSVJFLAogI2RlZmluZSBYRlJNX01TR19BQ1FVSVJFIFhGUk1fTVNHX0FDUVVJUkUKLSBYRlJNX01TR19FWFBJUkUsCisgIFhGUk1fTVNHX0VYUElSRSwKICNkZWZpbmUgWEZSTV9NU0dfRVhQSVJFIFhGUk1fTVNHX0VYUElSRQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNX01TR19VUERQT0xJQ1ksCisgIFhGUk1fTVNHX1VQRFBPTElDWSwKICNkZWZpbmUgWEZSTV9NU0dfVVBEUE9MSUNZIFhGUk1fTVNHX1VQRFBPTElDWQotIFhGUk1fTVNHX1VQRFNBLAorICBYRlJNX01TR19VUERTQSwKICNkZWZpbmUgWEZSTV9NU0dfVVBEU0EgWEZSTV9NU0dfVVBEU0EKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9NU0dfUE9MRVhQSVJFLAorICBYRlJNX01TR19QT0xFWFBJUkUsCiAjZGVmaW5lIFhGUk1fTVNHX1BPTEVYUElSRSBYRlJNX01TR19QT0xFWFBJUkUKLSBYRlJNX01TR19GTFVTSFNBLAorICBYRlJNX01TR19GTFVTSFNBLAogI2RlZmluZSBYRlJNX01TR19GTFVTSFNBIFhGUk1fTVNHX0ZMVVNIU0EKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9NU0dfRkxVU0hQT0xJQ1ksCisgIFhGUk1fTVNHX0ZMVVNIUE9MSUNZLAogI2RlZmluZSBYRlJNX01TR19GTFVTSFBPTElDWSBYRlJNX01TR19GTFVTSFBPTElDWQotIFhGUk1fTVNHX05FV0FFLAorICBYRlJNX01TR19ORVdBRSwKICNkZWZpbmUgWEZSTV9NU0dfTkVXQUUgWEZSTV9NU0dfTkVXQUUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9NU0dfR0VUQUUsCisgIFhGUk1fTVNHX0dFVEFFLAogI2RlZmluZSBYRlJNX01TR19HRVRBRSBYRlJNX01TR19HRVRBRQotIFhGUk1fTVNHX1JFUE9SVCwKKyAgWEZSTV9NU0dfUkVQT1JULAogI2RlZmluZSBYRlJNX01TR19SRVBPUlQgWEZSTV9NU0dfUkVQT1JUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhGUk1fTVNHX01JR1JBVEUsCisgIFhGUk1fTVNHX01JR1JBVEUsCiAjZGVmaW5lIFhGUk1fTVNHX01JR1JBVEUgWEZSTV9NU0dfTUlHUkFURQotIFhGUk1fTVNHX05FV1NBRElORk8sCisgIFhGUk1fTVNHX05FV1NBRElORk8sCiAjZGVmaW5lIFhGUk1fTVNHX05FV1NBRElORk8gWEZSTV9NU0dfTkVXU0FESU5GTwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNX01TR19HRVRTQURJTkZPLAorICBYRlJNX01TR19HRVRTQURJTkZPLAogI2RlZmluZSBYRlJNX01TR19HRVRTQURJTkZPIFhGUk1fTVNHX0dFVFNBRElORk8KLSBYRlJNX01TR19ORVdTUERJTkZPLAorICBYRlJNX01TR19ORVdTUERJTkZPLAogI2RlZmluZSBYRlJNX01TR19ORVdTUERJTkZPIFhGUk1fTVNHX05FV1NQRElORk8KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9NU0dfR0VUU1BESU5GTywKKyAgWEZSTV9NU0dfR0VUU1BESU5GTywKICNkZWZpbmUgWEZSTV9NU0dfR0VUU1BESU5GTyBYRlJNX01TR19HRVRTUERJTkZPCi0gWEZSTV9NU0dfTUFQUElORywKKyAgWEZSTV9NU0dfTUFQUElORywKICNkZWZpbmUgWEZSTV9NU0dfTUFQUElORyBYRlJNX01TR19NQVBQSU5HCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fWEZSTV9NU0dfTUFYCisgIF9fWEZSTV9NU0dfTUFYCiB9OwogI2RlZmluZSBYRlJNX01TR19NQVggKF9fWEZSTV9NU0dfTUFYIC0gMSkKICNkZWZpbmUgWEZSTV9OUl9NU0dUWVBFUyAoWEZSTV9NU0dfTUFYICsgMSAtIFhGUk1fTVNHX0JBU0UpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4IHsKLSBfX3UxNiBsZW47Ci0gX191MTYgZXh0dHlwZTsKLSBfX3U4IGN0eF9hbGc7CisgIF9fdTE2IGxlbjsKKyAgX191MTYgZXh0dHlwZTsKKyAgX191OCBjdHhfYWxnOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGN0eF9kb2k7Ci0gX191MTYgY3R4X2xlbjsKKyAgX191OCBjdHhfZG9pOworICBfX3UxNiBjdHhfbGVuOwogfTsKIHN0cnVjdCB4ZnJtX3VzZXJfdG1wbCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB4ZnJtX2lkIGlkOwotIF9fdTE2IGZhbWlseTsKLSB4ZnJtX2FkZHJlc3NfdCBzYWRkcjsKLSBfX3UzMiByZXFpZDsKKyAgc3RydWN0IHhmcm1faWQgaWQ7CisgIF9fdTE2IGZhbWlseTsKKyAgeGZybV9hZGRyZXNzX3Qgc2FkZHI7CisgIF9fdTMyIHJlcWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1vZGU7Ci0gX191OCBzaGFyZTsKLSBfX3U4IG9wdGlvbmFsOwotIF9fdTMyIGFhbGdvczsKKyAgX191OCBtb2RlOworICBfX3U4IHNoYXJlOworICBfX3U4IG9wdGlvbmFsOworICBfX3UzMiBhYWxnb3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVhbGdvczsKLSBfX3UzMiBjYWxnb3M7CisgIF9fdTMyIGVhbGdvczsKKyAgX191MzIgY2FsZ29zOwogfTsKIHN0cnVjdCB4ZnJtX2VuY2FwX3RtcGwgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBlbmNhcF90eXBlOwotIF9fYmUxNiBlbmNhcF9zcG9ydDsKLSBfX2JlMTYgZW5jYXBfZHBvcnQ7Ci0geGZybV9hZGRyZXNzX3QgZW5jYXBfb2E7CisgIF9fdTE2IGVuY2FwX3R5cGU7CisgIF9fYmUxNiBlbmNhcF9zcG9ydDsKKyAgX19iZTE2IGVuY2FwX2Rwb3J0OworICB4ZnJtX2FkZHJlc3NfdCBlbmNhcF9vYTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB4ZnJtX2FlX2Z0eXBlX3QgewotIFhGUk1fQUVfVU5TUEVDLAotIFhGUk1fQUVfUlRIUj0xLAorICBYRlJNX0FFX1VOU1BFQywKKyAgWEZSTV9BRV9SVEhSID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTV9BRV9SVkFMPTIsCi0gWEZSTV9BRV9MVkFMPTQsCi0gWEZSTV9BRV9FVEhSPTgsCi0gWEZSTV9BRV9DUj0xNiwKKyAgWEZSTV9BRV9SVkFMID0gMiwKKyAgWEZSTV9BRV9MVkFMID0gNCwKKyAgWEZSTV9BRV9FVEhSID0gOCwKKyAgWEZSTV9BRV9DUiA9IDE2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNX0FFX0NFPTMyLAotIFhGUk1fQUVfQ1U9NjQsCi0gX19YRlJNX0FFX01BWAorICBYRlJNX0FFX0NFID0gMzIsCisgIFhGUk1fQUVfQ1UgPSA2NCwKKyAgX19YRlJNX0FFX01BWAogI2RlZmluZSBYRlJNX0FFX01BWCAoX19YRlJNX0FFX01BWCAtIDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4ZnJtX3VzZXJwb2xpY3lfdHlwZSB7Ci0gX191OCB0eXBlOwotIF9fdTE2IHJlc2VydmVkMTsKKyAgX191OCB0eXBlOworICBfX3UxNiByZXNlcnZlZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmVzZXJ2ZWQyOworICBfX3U4IHJlc2VydmVkMjsKIH07CiBlbnVtIHhmcm1fYXR0cl90eXBlX3QgewotIFhGUk1BX1VOU1BFQywKKyAgWEZSTUFfVU5TUEVDLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNQV9BTEdfQVVUSCwKLSBYRlJNQV9BTEdfQ1JZUFQsCi0gWEZSTUFfQUxHX0NPTVAsCi0gWEZSTUFfRU5DQVAsCisgIFhGUk1BX0FMR19BVVRILAorICBYRlJNQV9BTEdfQ1JZUFQsCisgIFhGUk1BX0FMR19DT01QLAorICBYRlJNQV9FTkNBUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTUFfVE1QTCwKLSBYRlJNQV9TQSwKLSBYRlJNQV9QT0xJQ1ksCi0gWEZSTUFfU0VDX0NUWCwKKyAgWEZSTUFfVE1QTCwKKyAgWEZSTUFfU0EsCisgIFhGUk1BX1BPTElDWSwKKyAgWEZSTUFfU0VDX0NUWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTUFfTFRJTUVfVkFMLAotIFhGUk1BX1JFUExBWV9WQUwsCi0gWEZSTUFfUkVQTEFZX1RIUkVTSCwKLSBYRlJNQV9FVElNRVJfVEhSRVNILAorICBYRlJNQV9MVElNRV9WQUwsCisgIFhGUk1BX1JFUExBWV9WQUwsCisgIFhGUk1BX1JFUExBWV9USFJFU0gsCisgIFhGUk1BX0VUSU1FUl9USFJFU0gsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhGUk1BX1NSQ0FERFIsCi0gWEZSTUFfQ09BRERSLAotIFhGUk1BX0xBU1RVU0VELAotIFhGUk1BX1BPTElDWV9UWVBFLAorICBYRlJNQV9TUkNBRERSLAorICBYRlJNQV9DT0FERFIsCisgIFhGUk1BX0xBU1RVU0VELAorICBYRlJNQV9QT0xJQ1lfVFlQRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTUFfTUlHUkFURSwKLSBYRlJNQV9BTEdfQUVBRCwKLSBYRlJNQV9LTUFERFJFU1MsCi0gWEZSTUFfQUxHX0FVVEhfVFJVTkMsCisgIFhGUk1BX01JR1JBVEUsCisgIFhGUk1BX0FMR19BRUFELAorICBYRlJNQV9LTUFERFJFU1MsCisgIFhGUk1BX0FMR19BVVRIX1RSVU5DLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNQV9NQVJLLAotIFhGUk1BX1RGQ1BBRCwKLSBYRlJNQV9SRVBMQVlfRVNOX1ZBTCwKLSBYRlJNQV9TQV9FWFRSQV9GTEFHUywKKyAgWEZSTUFfTUFSSywKKyAgWEZSTUFfVEZDUEFELAorICBYRlJNQV9SRVBMQVlfRVNOX1ZBTCwKKyAgWEZSTUFfU0FfRVhUUkFfRkxBR1MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fWEZSTUFfTUFYCisgIFhGUk1BX1BST1RPLAorICBYRlJNQV9BRERSRVNTX0ZJTFRFUiwKKyAgX19YRlJNQV9NQVgKICNkZWZpbmUgWEZSTUFfTUFYIChfX1hGUk1BX01BWCAtIDEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4ZnJtX21hcmsgeworICBfX3UzMiB2OworICBfX3UzMiBtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB2OwotIF9fdTMyIG07CiB9OwogZW51bSB4ZnJtX3NhZGF0dHJfdHlwZV90IHsKKyAgWEZSTUFfU0FEX1VOU1BFQywKKyAgWEZSTUFfU0FEX0NOVCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTUFfU0FEX1VOU1BFQywKLSBYRlJNQV9TQURfQ05ULAotIFhGUk1BX1NBRF9ISU5GTywKLSBfX1hGUk1BX1NBRF9NQVgKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFhGUk1BX1NBRF9ISU5GTywKKyAgX19YRlJNQV9TQURfTUFYCiAjZGVmaW5lIFhGUk1BX1NBRF9NQVggKF9fWEZSTUFfU0FEX01BWCAtIDEpCiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4ZnJtdV9zYWRoaW5mbyB7Ci0gX191MzIgc2FkaGNudDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc2FkaG1jbnQ7CisgIF9fdTMyIHNhZGhjbnQ7CisgIF9fdTMyIHNhZGhtY250OwogfTsKLWVudW0geGZybV9zcGRhdHRyX3R5cGVfdCB7Ci0gWEZSTUFfU1BEX1VOU1BFQywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTUFfU1BEX0lORk8sCi0gWEZSTUFfU1BEX0hJTkZPLAotIF9fWEZSTUFfU1BEX01BWAorZW51bSB4ZnJtX3NwZGF0dHJfdHlwZV90IHsKKyAgWEZSTUFfU1BEX1VOU1BFQywKKyAgWEZSTUFfU1BEX0lORk8sCisgIFhGUk1BX1NQRF9ISU5GTywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFhGUk1BX1NQRF9JUFY0X0hUSFJFU0gsCisgIFhGUk1BX1NQRF9JUFY2X0hUSFJFU0gsCisgIF9fWEZSTUFfU1BEX01BWAogI2RlZmluZSBYRlJNQV9TUERfTUFYIChfX1hGUk1BX1NQRF9NQVggLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeGZybXVfc3BkaW5mbyB7Ci0gX191MzIgaW5jbnQ7Ci0gX191MzIgb3V0Y250OworICBfX3UzMiBpbmNudDsKKyAgX191MzIgb3V0Y250OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmd2RjbnQ7Ci0gX191MzIgaW5zY250OwotIF9fdTMyIG91dHNjbnQ7Ci0gX191MzIgZndkc2NudDsKKyAgX191MzIgZndkY250OworICBfX3UzMiBpbnNjbnQ7CisgIF9fdTMyIG91dHNjbnQ7CisgIF9fdTMyIGZ3ZHNjbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCB4ZnJtdV9zcGRoaW5mbyB7Ci0gX191MzIgc3BkaGNudDsKLSBfX3UzMiBzcGRobWNudDsKKyAgX191MzIgc3BkaGNudDsKKyAgX191MzIgc3BkaG1jbnQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK3N0cnVjdCB4ZnJtdV9zcGRodGhyZXNoIHsKKyAgX191OCBsYml0czsKKyAgX191OCByYml0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHhmcm1fdXNlcnNhX2luZm8gewotIHN0cnVjdCB4ZnJtX3NlbGVjdG9yIHNlbDsKLSBzdHJ1Y3QgeGZybV9pZCBpZDsKKyAgc3RydWN0IHhmcm1fc2VsZWN0b3Igc2VsOworICBzdHJ1Y3QgeGZybV9pZCBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0geGZybV9hZGRyZXNzX3Qgc2FkZHI7Ci0gc3RydWN0IHhmcm1fbGlmZXRpbWVfY2ZnIGxmdDsKLSBzdHJ1Y3QgeGZybV9saWZldGltZV9jdXIgY3VybGZ0OwotIHN0cnVjdCB4ZnJtX3N0YXRzIHN0YXRzOworICB4ZnJtX2FkZHJlc3NfdCBzYWRkcjsKKyAgc3RydWN0IHhmcm1fbGlmZXRpbWVfY2ZnIGxmdDsKKyAgc3RydWN0IHhmcm1fbGlmZXRpbWVfY3VyIGN1cmxmdDsKKyAgc3RydWN0IHhmcm1fc3RhdHMgc3RhdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNlcTsKLSBfX3UzMiByZXFpZDsKLSBfX3UxNiBmYW1pbHk7Ci0gX191OCBtb2RlOworICBfX3UzMiBzZXE7CisgIF9fdTMyIHJlcWlkOworICBfX3UxNiBmYW1pbHk7CisgIF9fdTggbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXBsYXlfd2luZG93OwotIF9fdTggZmxhZ3M7CisgIF9fdTggcmVwbGF5X3dpbmRvdzsKKyAgX191OCBmbGFnczsKICNkZWZpbmUgWEZSTV9TVEFURV9OT0VDTiAxCiAjZGVmaW5lIFhGUk1fU1RBVEVfREVDQVBfRFNDUCAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMzg3LDE0NyArMzk3LDE1NSBAQAogI2RlZmluZSBYRlJNX1NBX1hGTEFHX0RPTlRfRU5DQVBfRFNDUCAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHhmcm1fdXNlcnNhX2lkIHsKLSB4ZnJtX2FkZHJlc3NfdCBkYWRkcjsKLSBfX2JlMzIgc3BpOwotIF9fdTE2IGZhbWlseTsKKyAgeGZybV9hZGRyZXNzX3QgZGFkZHI7CisgIF9fYmUzMiBzcGk7CisgIF9fdTE2IGZhbWlseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwcm90bzsKKyAgX191OCBwcm90bzsKIH07CiBzdHJ1Y3QgeGZybV9hZXZlbnRfaWQgewotIHN0cnVjdCB4ZnJtX3VzZXJzYV9pZCBzYV9pZDsKKyAgc3RydWN0IHhmcm1fdXNlcnNhX2lkIHNhX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB4ZnJtX2FkZHJlc3NfdCBzYWRkcjsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiByZXFpZDsKKyAgeGZybV9hZGRyZXNzX3Qgc2FkZHI7CisgIF9fdTMyIGZsYWdzOworICBfX3UzMiByZXFpZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHhmcm1fdXNlcnNwaV9pbmZvIHsKLSBzdHJ1Y3QgeGZybV91c2Vyc2FfaW5mbyBpbmZvOwotIF9fdTMyIG1pbjsKLSBfX3UzMiBtYXg7CisgIHN0cnVjdCB4ZnJtX3VzZXJzYV9pbmZvIGluZm87CisgIF9fdTMyIG1pbjsKKyAgX191MzIgbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeGZybV91c2VycG9saWN5X2luZm8gewotIHN0cnVjdCB4ZnJtX3NlbGVjdG9yIHNlbDsKLSBzdHJ1Y3QgeGZybV9saWZldGltZV9jZmcgbGZ0OworICBzdHJ1Y3QgeGZybV9zZWxlY3RvciBzZWw7CisgIHN0cnVjdCB4ZnJtX2xpZmV0aW1lX2NmZyBsZnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB4ZnJtX2xpZmV0aW1lX2N1ciBjdXJsZnQ7Ci0gX191MzIgcHJpb3JpdHk7Ci0gX191MzIgaW5kZXg7Ci0gX191OCBkaXI7CisgIHN0cnVjdCB4ZnJtX2xpZmV0aW1lX2N1ciBjdXJsZnQ7CisgIF9fdTMyIHByaW9yaXR5OworICBfX3UzMiBpbmRleDsKKyAgX191OCBkaXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWN0aW9uOworICBfX3U4IGFjdGlvbjsKICNkZWZpbmUgWEZSTV9QT0xJQ1lfQUxMT1cgMAogI2RlZmluZSBYRlJNX1BPTElDWV9CTE9DSyAxCi0gX191OCBmbGFnczsKKyAgX191OCBmbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFhGUk1fUE9MSUNZX0xPQ0FMT0sgMQogI2RlZmluZSBYRlJNX1BPTElDWV9JQ01QIDIKLSBfX3U4IHNoYXJlOworICBfX3U4IHNoYXJlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeGZybV91c2VycG9saWN5X2lkIHsKLSBzdHJ1Y3QgeGZybV9zZWxlY3RvciBzZWw7Ci0gX191MzIgaW5kZXg7Ci0gX191OCBkaXI7CisgIHN0cnVjdCB4ZnJtX3NlbGVjdG9yIHNlbDsKKyAgX191MzIgaW5kZXg7CisgIF9fdTggZGlyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgeGZybV91c2VyX2FjcXVpcmUgewotIHN0cnVjdCB4ZnJtX2lkIGlkOwotIHhmcm1fYWRkcmVzc190IHNhZGRyOworICBzdHJ1Y3QgeGZybV9pZCBpZDsKKyAgeGZybV9hZGRyZXNzX3Qgc2FkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB4ZnJtX3NlbGVjdG9yIHNlbDsKLSBzdHJ1Y3QgeGZybV91c2VycG9saWN5X2luZm8gcG9saWN5OwotIF9fdTMyIGFhbGdvczsKLSBfX3UzMiBlYWxnb3M7CisgIHN0cnVjdCB4ZnJtX3NlbGVjdG9yIHNlbDsKKyAgc3RydWN0IHhmcm1fdXNlcnBvbGljeV9pbmZvIHBvbGljeTsKKyAgX191MzIgYWFsZ29zOworICBfX3UzMiBlYWxnb3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNhbGdvczsKLSBfX3UzMiBzZXE7CisgIF9fdTMyIGNhbGdvczsKKyAgX191MzIgc2VxOwogfTsKIHN0cnVjdCB4ZnJtX3VzZXJfZXhwaXJlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHhmcm1fdXNlcnNhX2luZm8gc3RhdGU7Ci0gX191OCBoYXJkOworICBzdHJ1Y3QgeGZybV91c2Vyc2FfaW5mbyBzdGF0ZTsKKyAgX191OCBoYXJkOwogfTsKIHN0cnVjdCB4ZnJtX3VzZXJfcG9sZXhwaXJlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHhmcm1fdXNlcnBvbGljeV9pbmZvIHBvbDsKLSBfX3U4IGhhcmQ7CisgIHN0cnVjdCB4ZnJtX3VzZXJwb2xpY3lfaW5mbyBwb2w7CisgIF9fdTggaGFyZDsKIH07CiBzdHJ1Y3QgeGZybV91c2Vyc2FfZmx1c2ggewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHByb3RvOworICBfX3U4IHByb3RvOwogfTsKIHN0cnVjdCB4ZnJtX3VzZXJfcmVwb3J0IHsKLSBfX3U4IHByb3RvOworICBfX3U4IHByb3RvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgeGZybV9zZWxlY3RvciBzZWw7CisgIHN0cnVjdCB4ZnJtX3NlbGVjdG9yIHNlbDsKIH07CiBzdHJ1Y3QgeGZybV91c2VyX2ttYWRkcmVzcyB7Ci0geGZybV9hZGRyZXNzX3QgbG9jYWw7CisgIHhmcm1fYWRkcmVzc190IGxvY2FsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB4ZnJtX2FkZHJlc3NfdCByZW1vdGU7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191MTYgZmFtaWx5OworICB4ZnJtX2FkZHJlc3NfdCByZW1vdGU7CisgIF9fdTMyIHJlc2VydmVkOworICBfX3UxNiBmYW1pbHk7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB4ZnJtX3VzZXJfbWlncmF0ZSB7Ci0geGZybV9hZGRyZXNzX3Qgb2xkX2RhZGRyOwotIHhmcm1fYWRkcmVzc190IG9sZF9zYWRkcjsKLSB4ZnJtX2FkZHJlc3NfdCBuZXdfZGFkZHI7CisgIHhmcm1fYWRkcmVzc190IG9sZF9kYWRkcjsKKyAgeGZybV9hZGRyZXNzX3Qgb2xkX3NhZGRyOworICB4ZnJtX2FkZHJlc3NfdCBuZXdfZGFkZHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHhmcm1fYWRkcmVzc190IG5ld19zYWRkcjsKLSBfX3U4IHByb3RvOwotIF9fdTggbW9kZTsKLSBfX3UxNiByZXNlcnZlZDsKKyAgeGZybV9hZGRyZXNzX3QgbmV3X3NhZGRyOworICBfX3U4IHByb3RvOworICBfX3U4IG1vZGU7CisgIF9fdTE2IHJlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXFpZDsKLSBfX3UxNiBvbGRfZmFtaWx5OwotIF9fdTE2IG5ld19mYW1pbHk7CisgIF9fdTMyIHJlcWlkOworICBfX3UxNiBvbGRfZmFtaWx5OworICBfX3UxNiBuZXdfZmFtaWx5OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgeGZybV91c2VyX21hcHBpbmcgewotIHN0cnVjdCB4ZnJtX3VzZXJzYV9pZCBpZDsKLSBfX3UzMiByZXFpZDsKLSB4ZnJtX2FkZHJlc3NfdCBvbGRfc2FkZHI7CisgIHN0cnVjdCB4ZnJtX3VzZXJzYV9pZCBpZDsKKyAgX191MzIgcmVxaWQ7CisgIHhmcm1fYWRkcmVzc190IG9sZF9zYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0geGZybV9hZGRyZXNzX3QgbmV3X3NhZGRyOwotIF9fYmUxNiBvbGRfc3BvcnQ7Ci0gX19iZTE2IG5ld19zcG9ydDsKKyAgeGZybV9hZGRyZXNzX3QgbmV3X3NhZGRyOworICBfX2JlMTYgb2xkX3Nwb3J0OworICBfX2JlMTYgbmV3X3Nwb3J0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgeGZybV9hZGRyZXNzX2ZpbHRlciB7CisgIHhmcm1fYWRkcmVzc190IHNhZGRyOworICB4ZnJtX2FkZHJlc3NfdCBkYWRkcjsKKyAgX191MTYgZmFtaWx5OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCBzcGxlbjsKKyAgX191OCBkcGxlbjsKK307CiAjZGVmaW5lIFhGUk1HUlBfQUNRVUlSRSAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYRlJNR1JQX0VYUElSRSAyCiAjZGVmaW5lIFhGUk1HUlBfU0EgNAogI2RlZmluZSBYRlJNR1JQX1BPTElDWSA4Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBYRlJNR1JQX1JFUE9SVCAweDIwCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB4ZnJtX25sZ3JvdXBzIHsKLSBYRlJNTkxHUlBfTk9ORSwKKyAgWEZSTU5MR1JQX05PTkUsCiAjZGVmaW5lIFhGUk1OTEdSUF9OT05FIFhGUk1OTEdSUF9OT05FCisgIFhGUk1OTEdSUF9BQ1FVSVJFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNTkxHUlBfQUNRVUlSRSwKICNkZWZpbmUgWEZSTU5MR1JQX0FDUVVJUkUgWEZSTU5MR1JQX0FDUVVJUkUKLSBYRlJNTkxHUlBfRVhQSVJFLAorICBYRlJNTkxHUlBfRVhQSVJFLAogI2RlZmluZSBYRlJNTkxHUlBfRVhQSVJFIFhGUk1OTEdSUF9FWFBJUkUKKyAgWEZSTU5MR1JQX1NBLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBYRlJNTkxHUlBfU0EsCiAjZGVmaW5lIFhGUk1OTEdSUF9TQSBYRlJNTkxHUlBfU0EKLSBYRlJNTkxHUlBfUE9MSUNZLAorICBYRlJNTkxHUlBfUE9MSUNZLAogI2RlZmluZSBYRlJNTkxHUlBfUE9MSUNZIFhGUk1OTEdSUF9QT0xJQ1kKKyAgWEZSTU5MR1JQX0FFVkVOVFMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFhGUk1OTEdSUF9BRVZFTlRTLAogI2RlZmluZSBYRlJNTkxHUlBfQUVWRU5UUyBYRlJNTkxHUlBfQUVWRU5UUwotIFhGUk1OTEdSUF9SRVBPUlQsCisgIFhGUk1OTEdSUF9SRVBPUlQsCiAjZGVmaW5lIFhGUk1OTEdSUF9SRVBPUlQgWEZSTU5MR1JQX1JFUE9SVAorICBYRlJNTkxHUlBfTUlHUkFURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gWEZSTU5MR1JQX01JR1JBVEUsCiAjZGVmaW5lIFhGUk1OTEdSUF9NSUdSQVRFIFhGUk1OTEdSUF9NSUdSQVRFCi0gWEZSTU5MR1JQX01BUFBJTkcsCisgIFhGUk1OTEdSUF9NQVBQSU5HLAogI2RlZmluZSBYRlJNTkxHUlBfTUFQUElORyBYRlJNTkxHUlBfTUFQUElORworICBfX1hGUk1OTEdSUF9NQVgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19YRlJNTkxHUlBfTUFYCiB9OwogI2RlZmluZSBYRlJNTkxHUlBfTUFYIChfX1hGUk1OTEdSUF9NQVggLSAxKQogI2VuZGlmCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9saW51eC96b3Jyby5oIGIvbGliYy9rZXJuZWwvdWFwaS9saW51eC96b3Jyby5oCmluZGV4IDIxOWVmNzAuLjE4MWNkOGYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbGludXgvem9ycm8uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL2xpbnV4L3pvcnJvLmgKQEAgLTIzLDcgKzIzLDcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFpPUlJPX1BST0QoaWQpICgoKGlkKSA+PiA4KSAmIDB4ZmYpCiAjZGVmaW5lIFpPUlJPX0VQQyhpZCkgKChpZCkgJiAweGZmKQotI2RlZmluZSBaT1JST19JRChtYW51ZiwgcHJvZCwgZXBjKSAgICgoWk9SUk9fTUFOVUZfIyNtYW51ZiA8PCAxNikgfCAoKHByb2QpIDw8IDgpIHwgKGVwYykpCisjZGVmaW5lIFpPUlJPX0lEKG1hbnVmLHByb2QsZXBjKSAoKFpPUlJPX01BTlVGXyAjI21hbnVmIDw8IDE2KSB8ICgocHJvZCkgPDwgOCkgfCAoZXBjKSkKIHR5cGVkZWYgX191MzIgem9ycm9faWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2luY2x1ZGUgPGxpbnV4L3pvcnJvX2lkcy5oPgpAQCAtMzEsMzkgKzMxLDM5IEBACiAjZGVmaW5lIEdWUF9TQ1NJQ0xLTUFTSyAoMHgwMSkKIGVudW0gR1ZQX2ZsYWdzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gR1ZQX0lPID0gMHgwMSwKLSBHVlBfQUNDRUwgPSAweDAyLAotIEdWUF9TQ1NJID0gMHgwNCwKLSBHVlBfMjRCSVRETUEgPSAweDA4LAorICBHVlBfSU8gPSAweDAxLAorICBHVlBfQUNDRUwgPSAweDAyLAorICBHVlBfU0NTSSA9IDB4MDQsCisgIEdWUF8yNEJJVERNQSA9IDB4MDgsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEdWUF8yNUJJVERNQSA9IDB4MTAsCi0gR1ZQX05PQkFOSyA9IDB4MjAsCi0gR1ZQXzE0TUhaID0gMHg0MCwKKyAgR1ZQXzI1QklURE1BID0gMHgxMCwKKyAgR1ZQX05PQkFOSyA9IDB4MjAsCisgIEdWUF8xNE1IWiA9IDB4NDAsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBOb2RlIHsKLSBfX2JlMzIgbG5fU3VjYzsKLSBfX2JlMzIgbG5fUHJlZDsKLSBfX3U4IGxuX1R5cGU7CisgIF9fYmUzMiBsbl9TdWNjOworICBfX2JlMzIgbG5fUHJlZDsKKyAgX191OCBsbl9UeXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3M4IGxuX1ByaTsKLSBfX2JlMzIgbG5fTmFtZTsKKyAgX19zOCBsbl9Qcmk7CisgIF9fYmUzMiBsbl9OYW1lOwogfSBfX3BhY2tlZDsKIHN0cnVjdCBFeHBhbnNpb25Sb20gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGVyX1R5cGU7Ci0gX191OCBlcl9Qcm9kdWN0OwotIF9fdTggZXJfRmxhZ3M7Ci0gX191OCBlcl9SZXNlcnZlZDAzOworICBfX3U4IGVyX1R5cGU7CisgIF9fdTggZXJfUHJvZHVjdDsKKyAgX191OCBlcl9GbGFnczsKKyAgX191OCBlcl9SZXNlcnZlZDAzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgZXJfTWFudWZhY3R1cmVyOwotIF9fYmUzMiBlcl9TZXJpYWxOdW1iZXI7Ci0gX19iZTE2IGVyX0luaXREaWFnVmVjOwotIF9fdTggZXJfUmVzZXJ2ZWQwYzsKKyAgX19iZTE2IGVyX01hbnVmYWN0dXJlcjsKKyAgX19iZTMyIGVyX1NlcmlhbE51bWJlcjsKKyAgX19iZTE2IGVyX0luaXREaWFnVmVjOworICBfX3U4IGVyX1Jlc2VydmVkMGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZXJfUmVzZXJ2ZWQwZDsKLSBfX3U4IGVyX1Jlc2VydmVkMGU7Ci0gX191OCBlcl9SZXNlcnZlZDBmOworICBfX3U4IGVyX1Jlc2VydmVkMGQ7CisgIF9fdTggZXJfUmVzZXJ2ZWQwZTsKKyAgX191OCBlcl9SZXNlcnZlZDBmOwogfSBfX3BhY2tlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEVSVF9UWVBFTUFTSyAweGMwCkBAIC03MSwyMiArNzEsMjIgQEAKICNkZWZpbmUgRVJUX1pPUlJPSUlJIDB4ODAKICNkZWZpbmUgRVJUQl9NRU1MSVNUIDUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEVSVEZfTUVNTElTVCAoMTw8NSkKKyNkZWZpbmUgRVJURl9NRU1MSVNUICgxIDw8IDUpCiBzdHJ1Y3QgQ29uZmlnRGV2IHsKLSBzdHJ1Y3QgTm9kZSBjZF9Ob2RlOwotIF9fdTggY2RfRmxhZ3M7CisgIHN0cnVjdCBOb2RlIGNkX05vZGU7CisgIF9fdTggY2RfRmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY2RfUGFkOwotIHN0cnVjdCBFeHBhbnNpb25Sb20gY2RfUm9tOwotIF9fYmUzMiBjZF9Cb2FyZEFkZHI7Ci0gX19iZTMyIGNkX0JvYXJkU2l6ZTsKKyAgX191OCBjZF9QYWQ7CisgIHN0cnVjdCBFeHBhbnNpb25Sb20gY2RfUm9tOworICBfX2JlMzIgY2RfQm9hcmRBZGRyOworICBfX2JlMzIgY2RfQm9hcmRTaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgY2RfU2xvdEFkZHI7Ci0gX19iZTE2IGNkX1Nsb3RTaXplOwotIF9fYmUzMiBjZF9Ecml2ZXI7Ci0gX19iZTMyIGNkX05leHRDRDsKKyAgX19iZTE2IGNkX1Nsb3RBZGRyOworICBfX2JlMTYgY2RfU2xvdFNpemU7CisgIF9fYmUzMiBjZF9Ecml2ZXI7CisgIF9fYmUzMiBjZF9OZXh0Q0Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBjZF9VbnVzZWRbNF07CisgIF9fYmUzMiBjZF9VbnVzZWRbNF07CiB9IF9fcGFja2VkOwogI2RlZmluZSBaT1JST19OVU1fQVVUTyAxNgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL21pc2MvY3hsLmggYi9saWJjL2tlcm5lbC91YXBpL21pc2MvY3hsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUwYTBkOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbWlzYy9jeGwuaApAQCAtMCwwICsxLDk2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKioKKyAqKiogICBUaGlzIGhlYWRlciB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBhIExpbnV4IGtlcm5lbCBoZWFkZXIKKyAqKiogICBvZiB0aGUgc2FtZSBuYW1lLCB0byBtYWtlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSBmb3IgdXNlcnNwYWNlIHRvCisgKioqICAgY2FsbCBpbnRvIHRoZSBrZXJuZWwgYXZhaWxhYmxlIHRvIGxpYmMuICBJdCBjb250YWlucyBvbmx5IGNvbnN0YW50cywKKyAqKiogICBzdHJ1Y3R1cmVzLCBhbmQgbWFjcm9zIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBoZWFkZXIsIGFuZCB0aHVzLAorICoqKiAgIGNvbnRhaW5zIG5vIGNvcHlyaWdodGFibGUgaW5mb3JtYXRpb24uCisgKioqCisgKioqICAgVG8gZWRpdCB0aGUgY29udGVudCBvZiB0aGlzIGhlYWRlciwgbW9kaWZ5IHRoZSBjb3JyZXNwb25kaW5nCisgKioqICAgc291cmNlIGZpbGUgKGUuZy4gdW5kZXIgZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMvb3JpZ2luYWwvKSB0aGVuCisgKioqICAgcnVuIGJpb25pYy9saWJjL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CisgKioqCisgKioqICAgQW55IG1hbnVhbCBjaGFuZ2UgaGVyZSB3aWxsIGJlIGxvc3QgdGhlIG5leHQgdGltZSB0aGlzIHNjcmlwdCB3aWxsCisgKioqICAgYmUgcnVuLiBZb3UndmUgYmVlbiB3YXJuZWQhCisgKioqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9VQVBJX01JU0NfQ1hMX0gKKyNkZWZpbmUgX1VBUElfTUlTQ19DWExfSAorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgY3hsX2lvY3RsX3N0YXJ0X3dvcmsgeworICBfX3U2NCBmbGFnczsKKyAgX191NjQgd29ya19lbGVtZW50X2Rlc2NyaXB0b3I7CisgIF9fdTY0IGFtcjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fczE2IG51bV9pbnRlcnJ1cHRzOworICBfX3MxNiByZXNlcnZlZDE7CisgIF9fczMyIHJlc2VydmVkMjsKKyAgX191NjQgcmVzZXJ2ZWQzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgcmVzZXJ2ZWQ0OworICBfX3U2NCByZXNlcnZlZDU7CisgIF9fdTY0IHJlc2VydmVkNjsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBDWExfU1RBUlRfV09SS19BTVIgMHgwMDAwMDAwMDAwMDAwMDAxVUxMCisjZGVmaW5lIENYTF9TVEFSVF9XT1JLX05VTV9JUlFTIDB4MDAwMDAwMDAwMDAwMDAwMlVMTAorI2RlZmluZSBDWExfU1RBUlRfV09SS19BTEwgKENYTF9TVEFSVF9XT1JLX0FNUiB8IENYTF9TVEFSVF9XT1JLX05VTV9JUlFTKQorI2RlZmluZSBDWExfTUFHSUMgMHhDQQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgQ1hMX0lPQ1RMX1NUQVJUX1dPUksgX0lPVyhDWExfTUFHSUMsIDB4MDAsIHN0cnVjdCBjeGxfaW9jdGxfc3RhcnRfd29yaykKKyNkZWZpbmUgQ1hMX0lPQ1RMX0dFVF9QUk9DRVNTX0VMRU1FTlQgX0lPUihDWExfTUFHSUMsIDB4MDEsIF9fdTMyKQorI2RlZmluZSBDWExfUkVBRF9NSU5fU0laRSAweDEwMDAKK2VudW0gY3hsX2V2ZW50X3R5cGUgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgQ1hMX0VWRU5UX1JFU0VSVkVEID0gMCwKKyAgQ1hMX0VWRU5UX0FGVV9JTlRFUlJVUFQgPSAxLAorICBDWExfRVZFTlRfREFUQV9TVE9SQUdFID0gMiwKKyAgQ1hMX0VWRU5UX0FGVV9FUlJPUiA9IDMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKK3N0cnVjdCBjeGxfZXZlbnRfaGVhZGVyIHsKKyAgX191MTYgdHlwZTsKKyAgX191MTYgc2l6ZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTE2IHByb2Nlc3NfZWxlbWVudDsKKyAgX191MTYgcmVzZXJ2ZWQxOworfTsKK3N0cnVjdCBjeGxfZXZlbnRfYWZ1X2ludGVycnVwdCB7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UxNiBmbGFnczsKKyAgX191MTYgaXJxOworICBfX3UzMiByZXNlcnZlZDE7Cit9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK3N0cnVjdCBjeGxfZXZlbnRfZGF0YV9zdG9yYWdlIHsKKyAgX191MTYgZmxhZ3M7CisgIF9fdTE2IHJlc2VydmVkMTsKKyAgX191MzIgcmVzZXJ2ZWQyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgYWRkcjsKKyAgX191NjQgZHNpc3I7CisgIF9fdTY0IHJlc2VydmVkMzsKK307CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGN4bF9ldmVudF9hZnVfZXJyb3IgeworICBfX3UxNiBmbGFnczsKKyAgX191MTYgcmVzZXJ2ZWQxOworICBfX3UzMiByZXNlcnZlZDI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBlcnJvcjsKK307CitzdHJ1Y3QgY3hsX2V2ZW50IHsKKyAgc3RydWN0IGN4bF9ldmVudF9oZWFkZXIgaGVhZGVyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5pb24geworICAgIHN0cnVjdCBjeGxfZXZlbnRfYWZ1X2ludGVycnVwdCBpcnE7CisgICAgc3RydWN0IGN4bF9ldmVudF9kYXRhX3N0b3JhZ2UgZmF1bHQ7CisgICAgc3RydWN0IGN4bF9ldmVudF9hZnVfZXJyb3IgYWZ1X2Vycm9yOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgfTsKK307CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbXRkL2luZnRsLXVzZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbXRkL2luZnRsLXVzZXIuaAppbmRleCA5MjZkZTAxLi44NWVmMGI1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL210ZC9pbmZ0bC11c2VyLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9tdGQvaW5mdGwtdXNlci5oCkBAIC0yNCw3MiArMjQsNzIgQEAKICNkZWZpbmUgUEVSQ0VOVFVTRUQgOTgKICNkZWZpbmUgU0VDVE9SU0laRSA1MTIKIHN0cnVjdCBpbmZ0bF9iY2kgewotIF9fdTggRUNDc2lnWzZdOworICBfX3U4IEVDQ3NpZ1s2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBTdGF0dXM7Ci0gX191OCBTdGF0dXMxOworICBfX3U4IFN0YXR1czsKKyAgX191OCBTdGF0dXMxOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBpbmZ0bF91bml0aGVhZDEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiB2aXJ0dWFsVW5pdE5vOwotIF9fdTE2IHByZXZVbml0Tm87Ci0gX191OCBBTkFDOwotIF9fdTggTkFDczsKKyAgX191MTYgdmlydHVhbFVuaXRObzsKKyAgX191MTYgcHJldlVuaXRObzsKKyAgX191OCBBTkFDOworICBfX3U4IE5BQ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcGFyaXR5UGVyRmllbGQ7Ci0gX191OCBkaXNjYXJkZWQ7CisgIF9fdTggcGFyaXR5UGVyRmllbGQ7CisgIF9fdTggZGlzY2FyZGVkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBpbmZ0bF91bml0aGVhZDIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBhcml0eVBlckZpZWxkOwotIF9fdTggQU5BQzsKLSBfX3UxNiBwcmV2VW5pdE5vOwotIF9fdTE2IHZpcnR1YWxVbml0Tm87CisgIF9fdTggcGFyaXR5UGVyRmllbGQ7CisgIF9fdTggQU5BQzsKKyAgX191MTYgcHJldlVuaXRObzsKKyAgX191MTYgdmlydHVhbFVuaXRObzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBOQUNzOwotIF9fdTggZGlzY2FyZGVkOworICBfX3U4IE5BQ3M7CisgIF9fdTggZGlzY2FyZGVkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBpbmZ0bF91bml0dGFpbCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggUmVzZXJ2ZWRbNF07Ci0gX191MTYgRXJhc2VNYXJrOwotIF9fdTE2IEVyYXNlTWFyazE7CisgIF9fdTggUmVzZXJ2ZWRbNF07CisgIF9fdTE2IEVyYXNlTWFyazsKKyAgX191MTYgRXJhc2VNYXJrMTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdW5pb24gaW5mdGxfdWNpIHsKLSBzdHJ1Y3QgaW5mdGxfdW5pdGhlYWQxIGE7Ci0gc3RydWN0IGluZnRsX3VuaXRoZWFkMiBiOwotIHN0cnVjdCBpbmZ0bF91bml0dGFpbCBjOworICBzdHJ1Y3QgaW5mdGxfdW5pdGhlYWQxIGE7CisgIHN0cnVjdCBpbmZ0bF91bml0aGVhZDIgYjsKKyAgc3RydWN0IGluZnRsX3VuaXR0YWlsIGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpbmZ0bF9vb2IgewotIHN0cnVjdCBpbmZ0bF9iY2kgYjsKLSB1bmlvbiBpbmZ0bF91Y2kgdTsKKyAgc3RydWN0IGluZnRsX2JjaSBiOworICB1bmlvbiBpbmZ0bF91Y2kgdTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IElORlRMUGFydGl0aW9uIHsKLSBfX3UzMiB2aXJ0dWFsVW5pdHM7Ci0gX191MzIgZmlyc3RVbml0OworICBfX3UzMiB2aXJ0dWFsVW5pdHM7CisgIF9fdTMyIGZpcnN0VW5pdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGFzdFVuaXQ7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgc3BhcmVVbml0czsKLSBfX3UzMiBSZXNlcnZlZDA7CisgIF9fdTMyIGxhc3RVbml0OworICBfX3UzMiBmbGFnczsKKyAgX191MzIgc3BhcmVVbml0czsKKyAgX191MzIgUmVzZXJ2ZWQwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBSZXNlcnZlZDE7CisgIF9fdTMyIFJlc2VydmVkMTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgSU5GVExNZWRpYUhlYWRlciB7Ci0gY2hhciBib290UmVjb3JkSURbOF07CisgIGNoYXIgYm9vdFJlY29yZElEWzhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBOb09mQm9vdEltYWdlQmxvY2tzOwotIF9fdTMyIE5vT2ZCaW5hcnlQYXJ0aXRpb25zOwotIF9fdTMyIE5vT2ZCRFRMUGFydGl0aW9uczsKLSBfX3UzMiBCbG9ja011bHRpcGxpZXJCaXRzOworICBfX3UzMiBOb09mQm9vdEltYWdlQmxvY2tzOworICBfX3UzMiBOb09mQmluYXJ5UGFydGl0aW9uczsKKyAgX191MzIgTm9PZkJEVExQYXJ0aXRpb25zOworICBfX3UzMiBCbG9ja011bHRpcGxpZXJCaXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBGb3JtYXRGbGFnczsKLSBfX3UzMiBPc2FrVmVyc2lvbjsKLSBfX3UzMiBQZXJjZW50VXNlZDsKLSBzdHJ1Y3QgSU5GVExQYXJ0aXRpb24gUGFydGl0aW9uc1s0XTsKKyAgX191MzIgRm9ybWF0RmxhZ3M7CisgIF9fdTMyIE9zYWtWZXJzaW9uOworICBfX3UzMiBQZXJjZW50VXNlZDsKKyAgc3RydWN0IElORlRMUGFydGl0aW9uIFBhcnRpdGlvbnNbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKICNkZWZpbmUgSU5GVExfQklOQVJZIDB4MjAwMDAwMDAKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvbXRkL210ZC1hYmkuaCBiL2xpYmMva2VybmVsL3VhcGkvbXRkL210ZC1hYmkuaAppbmRleCAwYmI3YzYxLi40ZmUxOTczIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL210ZC9tdGQtYWJpLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9tdGQvbXRkLWFiaS5oCkBAIC0yMSw0NCArMjEsNDQgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGVyYXNlX2luZm9fdXNlciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN0YXJ0OwotIF9fdTMyIGxlbmd0aDsKKyAgX191MzIgc3RhcnQ7CisgIF9fdTMyIGxlbmd0aDsKIH07CiBzdHJ1Y3QgZXJhc2VfaW5mb191c2VyNjQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzdGFydDsKLSBfX3U2NCBsZW5ndGg7CisgIF9fdTY0IHN0YXJ0OworICBfX3U2NCBsZW5ndGg7CiB9Owogc3RydWN0IG10ZF9vb2JfYnVmIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3RhcnQ7Ci0gX191MzIgbGVuZ3RoOwotIHVuc2lnbmVkIGNoYXIgX191c2VyICpwdHI7CisgIF9fdTMyIHN0YXJ0OworICBfX3UzMiBsZW5ndGg7CisgIHVuc2lnbmVkIGNoYXIgX191c2VyICogcHRyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbXRkX29vYl9idWY2NCB7Ci0gX191NjQgc3RhcnQ7Ci0gX191MzIgcGFkOwotIF9fdTMyIGxlbmd0aDsKKyAgX191NjQgc3RhcnQ7CisgIF9fdTMyIHBhZDsKKyAgX191MzIgbGVuZ3RoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1c3JfcHRyOworICBfX3U2NCB1c3JfcHRyOwogfTsKIGVudW0gewotIE1URF9PUFNfUExBQ0VfT09CID0gMCwKKyAgTVREX09QU19QTEFDRV9PT0IgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNVERfT1BTX0FVVE9fT09CID0gMSwKLSBNVERfT1BTX1JBVyA9IDIsCisgIE1URF9PUFNfQVVUT19PT0IgPSAxLAorICBNVERfT1BTX1JBVyA9IDIsCiB9Owogc3RydWN0IG10ZF93cml0ZV9yZXEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBzdGFydDsKLSBfX3U2NCBsZW47Ci0gX191NjQgb29ibGVuOwotIF9fdTY0IHVzcl9kYXRhOworICBfX3U2NCBzdGFydDsKKyAgX191NjQgbGVuOworICBfX3U2NCBvb2JsZW47CisgIF9fdTY0IHVzcl9kYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB1c3Jfb29iOwotIF9fdTggbW9kZTsKLSBfX3U4IHBhZGRpbmdbN107CisgIF9fdTY0IHVzcl9vb2I7CisgIF9fdTggbW9kZTsKKyAgX191OCBwYWRkaW5nWzddOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1URF9BQlNFTlQgMApAQCAtODEsMTA1ICs4MSwxMDYgQEAKICNkZWZpbmUgTVREX0NBUF9OT1JGTEFTSCAoTVREX1dSSVRFQUJMRSB8IE1URF9CSVRfV1JJVEVBQkxFKQogI2RlZmluZSBNVERfQ0FQX05BTkRGTEFTSCAoTVREX1dSSVRFQUJMRSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1URF9DQVBfTlZSQU0gKE1URF9XUklURUFCTEUgfCBNVERfQklUX1dSSVRFQUJMRSB8IE1URF9OT19FUkFTRSkKICNkZWZpbmUgTVREX05BTkRFQ0NfT0ZGIDAKICNkZWZpbmUgTVREX05BTkRFQ0NfUExBQ0UgMQogI2RlZmluZSBNVERfTkFOREVDQ19BVVRPUExBQ0UgMgotI2RlZmluZSBNVERfTkFOREVDQ19QTEFDRU9OTFkgMwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTVREX05BTkRFQ0NfUExBQ0VPTkxZIDMKICNkZWZpbmUgTVREX05BTkRFQ0NfQVVUT1BMX1VTUiA0CiAjZGVmaW5lIE1URF9PVFBfT0ZGIDAKICNkZWZpbmUgTVREX09UUF9GQUNUT1JZIDEKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1URF9PVFBfVVNFUiAyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG10ZF9pbmZvX3VzZXIgewotIF9fdTggdHlwZTsKLSBfX3UzMiBmbGFnczsKLSBfX3UzMiBzaXplOworICBfX3U4IHR5cGU7CisgIF9fdTMyIGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlcmFzZXNpemU7Ci0gX191MzIgd3JpdGVzaXplOwotIF9fdTMyIG9vYnNpemU7Ci0gX191NjQgcGFkZGluZzsKKyAgX191MzIgc2l6ZTsKKyAgX191MzIgZXJhc2VzaXplOworICBfX3UzMiB3cml0ZXNpemU7CisgIF9fdTMyIG9vYnNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBwYWRkaW5nOwogfTsKIHN0cnVjdCByZWdpb25faW5mb191c2VyIHsKLSBfX3UzMiBvZmZzZXQ7Ci0gX191MzIgZXJhc2VzaXplOworICBfX3UzMiBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG51bWJsb2NrczsKLSBfX3UzMiByZWdpb25pbmRleDsKKyAgX191MzIgZXJhc2VzaXplOworICBfX3UzMiBudW1ibG9ja3M7CisgIF9fdTMyIHJlZ2lvbmluZGV4OwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgb3RwX2luZm8geworICBfX3UzMiBzdGFydDsKKyAgX191MzIgbGVuZ3RoOworICBfX3UzMiBsb2NrZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN0YXJ0OwotIF9fdTMyIGxlbmd0aDsKLSBfX3UzMiBsb2NrZWQ7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgTUVNR0VUSU5GTyBfSU9SKCdNJywgMSwgc3RydWN0IG10ZF9pbmZvX3VzZXIpCiAjZGVmaW5lIE1FTUVSQVNFIF9JT1coJ00nLCAyLCBzdHJ1Y3QgZXJhc2VfaW5mb191c2VyKQogI2RlZmluZSBNRU1XUklURU9PQiBfSU9XUignTScsIDMsIHN0cnVjdCBtdGRfb29iX2J1ZikKLSNkZWZpbmUgTUVNUkVBRE9PQiBfSU9XUignTScsIDQsIHN0cnVjdCBtdGRfb29iX2J1ZikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE1FTVJFQURPT0IgX0lPV1IoJ00nLCA0LCBzdHJ1Y3QgbXRkX29vYl9idWYpCiAjZGVmaW5lIE1FTUxPQ0sgX0lPVygnTScsIDUsIHN0cnVjdCBlcmFzZV9pbmZvX3VzZXIpCiAjZGVmaW5lIE1FTVVOTE9DSyBfSU9XKCdNJywgNiwgc3RydWN0IGVyYXNlX2luZm9fdXNlcikKICNkZWZpbmUgTUVNR0VUUkVHSU9OQ09VTlQgX0lPUignTScsIDcsIGludCkKLSNkZWZpbmUgTUVNR0VUUkVHSU9OSU5GTyBfSU9XUignTScsIDgsIHN0cnVjdCByZWdpb25faW5mb191c2VyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUVNR0VUUkVHSU9OSU5GTyBfSU9XUignTScsIDgsIHN0cnVjdCByZWdpb25faW5mb191c2VyKQogI2RlZmluZSBNRU1HRVRPT0JTRUwgX0lPUignTScsIDEwLCBzdHJ1Y3QgbmFuZF9vb2JpbmZvKQogI2RlZmluZSBNRU1HRVRCQURCTE9DSyBfSU9XKCdNJywgMTEsIF9fa2VybmVsX2xvZmZfdCkKICNkZWZpbmUgTUVNU0VUQkFEQkxPQ0sgX0lPVygnTScsIDEyLCBfX2tlcm5lbF9sb2ZmX3QpCi0jZGVmaW5lIE9UUFNFTEVDVCBfSU9SKCdNJywgMTMsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIE9UUFNFTEVDVCBfSU9SKCdNJywgMTMsIGludCkKICNkZWZpbmUgT1RQR0VUUkVHSU9OQ09VTlQgX0lPVygnTScsIDE0LCBpbnQpCiAjZGVmaW5lIE9UUEdFVFJFR0lPTklORk8gX0lPVygnTScsIDE1LCBzdHJ1Y3Qgb3RwX2luZm8pCiAjZGVmaW5lIE9UUExPQ0sgX0lPUignTScsIDE2LCBzdHJ1Y3Qgb3RwX2luZm8pCi0jZGVmaW5lIEVDQ0dFVExBWU9VVCBfSU9SKCdNJywgMTcsIHN0cnVjdCBuYW5kX2VjY2xheW91dF91c2VyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgRUNDR0VUTEFZT1VUIF9JT1IoJ00nLCAxNywgc3RydWN0IG5hbmRfZWNjbGF5b3V0X3VzZXIpCiAjZGVmaW5lIEVDQ0dFVFNUQVRTIF9JT1IoJ00nLCAxOCwgc3RydWN0IG10ZF9lY2Nfc3RhdHMpCiAjZGVmaW5lIE1UREZJTEVNT0RFIF9JTygnTScsIDE5KQogI2RlZmluZSBNRU1FUkFTRTY0IF9JT1coJ00nLCAyMCwgc3RydWN0IGVyYXNlX2luZm9fdXNlcjY0KQotI2RlZmluZSBNRU1XUklURU9PQjY0IF9JT1dSKCdNJywgMjEsIHN0cnVjdCBtdGRfb29iX2J1ZjY0KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgTUVNV1JJVEVPT0I2NCBfSU9XUignTScsIDIxLCBzdHJ1Y3QgbXRkX29vYl9idWY2NCkKICNkZWZpbmUgTUVNUkVBRE9PQjY0IF9JT1dSKCdNJywgMjIsIHN0cnVjdCBtdGRfb29iX2J1ZjY0KQogI2RlZmluZSBNRU1JU0xPQ0tFRCBfSU9SKCdNJywgMjMsIHN0cnVjdCBlcmFzZV9pbmZvX3VzZXIpCiAjZGVmaW5lIE1FTVdSSVRFIF9JT1dSKCdNJywgMjQsIHN0cnVjdCBtdGRfd3JpdGVfcmVxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBuYW5kX29vYmluZm8geworICBfX3UzMiB1c2VlY2M7CisgIF9fdTMyIGVjY2J5dGVzOworICBfX3UzMiBvb2JmcmVlWzhdWzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB1c2VlY2M7Ci0gX191MzIgZWNjYnl0ZXM7Ci0gX191MzIgb29iZnJlZVs4XVsyXTsKLSBfX3UzMiBlY2Nwb3NbMzJdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZWNjcG9zWzMyXTsKIH07CiBzdHJ1Y3QgbmFuZF9vb2JmcmVlIHsKLSBfX3UzMiBvZmZzZXQ7Ci0gX191MzIgbGVuZ3RoOworICBfX3UzMiBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3UzMiBsZW5ndGg7CiB9OwogI2RlZmluZSBNVERfTUFYX09PQkZSRUVfRU5UUklFUyA4CiAjZGVmaW5lIE1URF9NQVhfRUNDUE9TX0VOVFJJRVMgNjQKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgbmFuZF9lY2NsYXlvdXRfdXNlciB7CisgIF9fdTMyIGVjY2J5dGVzOworICBfX3UzMiBlY2Nwb3NbTVREX01BWF9FQ0NQT1NfRU5UUklFU107CisgIF9fdTMyIG9vYmF2YWlsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlY2NieXRlczsKLSBfX3UzMiBlY2Nwb3NbTVREX01BWF9FQ0NQT1NfRU5UUklFU107Ci0gX191MzIgb29iYXZhaWw7Ci0gc3RydWN0IG5hbmRfb29iZnJlZSBvb2JmcmVlW01URF9NQVhfT09CRlJFRV9FTlRSSUVTXTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHN0cnVjdCBuYW5kX29vYmZyZWUgb29iZnJlZVtNVERfTUFYX09PQkZSRUVfRU5UUklFU107CiB9Owogc3RydWN0IG10ZF9lY2Nfc3RhdHMgewotIF9fdTMyIGNvcnJlY3RlZDsKLSBfX3UzMiBmYWlsZWQ7CisgIF9fdTMyIGNvcnJlY3RlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYmFkYmxvY2tzOwotIF9fdTMyIGJidGJsb2NrczsKKyAgX191MzIgZmFpbGVkOworICBfX3UzMiBiYWRibG9ja3M7CisgIF9fdTMyIGJidGJsb2NrczsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBtdGRfZmlsZV9tb2RlcyB7CisgIE1URF9GSUxFX01PREVfTk9STUFMID0gTVREX09UUF9PRkYsCisgIE1URF9GSUxFX01PREVfT1RQX0ZBQ1RPUlkgPSBNVERfT1RQX0ZBQ1RPUlksCisgIE1URF9GSUxFX01PREVfT1RQX1VTRVIgPSBNVERfT1RQX1VTRVIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIE1URF9GSUxFX01PREVfTk9STUFMID0gTVREX09UUF9PRkYsCi0gTVREX0ZJTEVfTU9ERV9PVFBfRkFDVE9SWSA9IE1URF9PVFBfRkFDVE9SWSwKLSBNVERfRklMRV9NT0RFX09UUF9VU0VSID0gTVREX09UUF9VU0VSLAotIE1URF9GSUxFX01PREVfUkFXLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgTVREX0ZJTEVfTU9ERV9SQVcsCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL210ZC9uZnRsLXVzZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvbXRkL25mdGwtdXNlci5oCmluZGV4IGRjN2I4OTYuLjk4YTdlOGEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvbXRkL25mdGwtdXNlci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbXRkL25mdGwtdXNlci5oCkBAIC0yMSw0OSArMjEsNDkgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IG5mdGxfYmNpIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBFQ0NTaWdbNl07Ci0gX191OCBTdGF0dXM7Ci0gX191OCBTdGF0dXMxOwotfV9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworICB1bnNpZ25lZCBjaGFyIEVDQ1NpZ1s2XTsKKyAgX191OCBTdGF0dXM7CisgIF9fdTggU3RhdHVzMTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IG5mdGxfdWNpMCB7Ci0gX191MTYgVmlydFVuaXROdW07Ci0gX191MTYgUmVwbFVuaXROdW07Ci0gX191MTYgU3BhcmVWaXJ0VW5pdE51bTsKKyAgX191MTYgVmlydFVuaXROdW07CisgIF9fdTE2IFJlcGxVbml0TnVtOworICBfX3UxNiBTcGFyZVZpcnRVbml0TnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBTcGFyZVJlcGxVbml0TnVtOworICBfX3UxNiBTcGFyZVJlcGxVbml0TnVtOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIHN0cnVjdCBuZnRsX3VjaTEgewotIF9fdTMyIFdlYXJJbmZvOworICBfX3UzMiBXZWFySW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgRXJhc2VNYXJrOwotIF9fdTE2IEVyYXNlTWFyazE7CisgIF9fdTE2IEVyYXNlTWFyazsKKyAgX191MTYgRXJhc2VNYXJrMTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3QgbmZ0bF91Y2kyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgRm9sZE1hcms7Ci0gX191MTYgRm9sZE1hcmsxOwotIF9fdTMyIHVudXNlZDsKKyAgX191MTYgRm9sZE1hcms7CisgIF9fdTE2IEZvbGRNYXJrMTsKKyAgX191MzIgdW51c2VkOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB1bmlvbiBuZnRsX3VjaSB7Ci0gc3RydWN0IG5mdGxfdWNpMCBhOwotIHN0cnVjdCBuZnRsX3VjaTEgYjsKLSBzdHJ1Y3QgbmZ0bF91Y2kyIGM7CisgIHN0cnVjdCBuZnRsX3VjaTAgYTsKKyAgc3RydWN0IG5mdGxfdWNpMSBiOworICBzdHJ1Y3QgbmZ0bF91Y2kyIGM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBuZnRsX29vYiB7Ci0gc3RydWN0IG5mdGxfYmNpIGI7Ci0gdW5pb24gbmZ0bF91Y2kgdTsKKyAgc3RydWN0IG5mdGxfYmNpIGI7CisgIHVuaW9uIG5mdGxfdWNpIHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBORlRMTWVkaWFIZWFkZXIgewotIGNoYXIgRGF0YU9yZ0lEWzZdOwotIF9fdTE2IE51bUVyYXNlVW5pdHM7CisgIGNoYXIgRGF0YU9yZ0lEWzZdOworICBfX3UxNiBOdW1FcmFzZVVuaXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBGaXJzdFBoeXNpY2FsRVVOOwotIF9fdTMyIEZvcm1hdHRlZFNpemU7Ci0gdW5zaWduZWQgY2hhciBVbml0U2l6ZUZhY3RvcjsKKyAgX191MTYgRmlyc3RQaHlzaWNhbEVVTjsKKyAgX191MzIgRm9ybWF0dGVkU2l6ZTsKKyAgdW5zaWduZWQgY2hhciBVbml0U2l6ZUZhY3RvcjsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBNQVhfRVJBU0VfWk9ORVMgKDgxOTIgLSA1MTIpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL210ZC91YmktdXNlci5oIGIvbGliYy9rZXJuZWwvdWFwaS9tdGQvdWJpLXVzZXIuaAppbmRleCBmYTZiZTMyLi5lMDU1MTcyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL210ZC91YmktdXNlci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvbXRkL3ViaS11c2VyLmgKQEAgLTE5LDkgKzE5LDkgQEAKICNpZm5kZWYgX19VQklfVVNFUl9IX18KICNkZWZpbmUgX19VQklfVVNFUl9IX18KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2RlZmluZSBVQklfVk9MX05VTV9BVVRPICgtMSkKKyNkZWZpbmUgVUJJX1ZPTF9OVU1fQVVUTyAoLSAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgVUJJX0RFVl9OVU1fQVVUTyAoLTEpCisjZGVmaW5lIFVCSV9ERVZfTlVNX0FVVE8gKC0gMSkKICNkZWZpbmUgVUJJX01BWF9WT0xVTUVfTkFNRSAxMjcKICNkZWZpbmUgVUJJX0lPQ19NQUdJQyAnbycKICNkZWZpbmUgVUJJX0lPQ01LVk9MIF9JT1coVUJJX0lPQ19NQUdJQywgMCwgc3RydWN0IHViaV9ta3ZvbF9yZXEpCkBAIC00Miw3NSArNDIsODIgQEAKICNkZWZpbmUgVUJJX0lPQ0VCVU5NQVAgX0lPVyhVQklfVk9MX0lPQ19NQUdJQywgNCwgX19zMzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBVQklfSU9DRUJJU01BUCBfSU9SKFVCSV9WT0xfSU9DX01BR0lDLCA1LCBfX3MzMikKLSNkZWZpbmUgVUJJX0lPQ1NFVFZPTFBST1AgX0lPVyhVQklfVk9MX0lPQ19NQUdJQywgNiwgICBzdHJ1Y3QgdWJpX3NldF92b2xfcHJvcF9yZXEpCisjZGVmaW5lIFVCSV9JT0NTRVRWT0xQUk9QIF9JT1coVUJJX1ZPTF9JT0NfTUFHSUMsIDYsIHN0cnVjdCB1Ymlfc2V0X3ZvbF9wcm9wX3JlcSkKKyNkZWZpbmUgVUJJX0lPQ1ZPTENSQkxLIF9JT1coVUJJX1ZPTF9JT0NfTUFHSUMsIDcsIHN0cnVjdCB1YmlfYmxrY3JlYXRlX3JlcSkKKyNkZWZpbmUgVUJJX0lPQ1ZPTFJNQkxLIF9JTyhVQklfVk9MX0lPQ19NQUdJQywgOCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIE1BWF9VQklfTVREX05BTUVfTEVOIDEyNwogI2RlZmluZSBVQklfTUFYX1JOVk9MIDMyCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gVUJJX0RZTkFNSUNfVk9MVU1FID0gMywKLSBVQklfU1RBVElDX1ZPTFVNRSA9IDQsCisgIFVCSV9EWU5BTUlDX1ZPTFVNRSA9IDMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBVQklfU1RBVElDX1ZPTFVNRSA9IDQsCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFVCSV9WT0xfUFJPUF9ESVJFQ1RfV1JJVEUgPSAxLAorICBVQklfVk9MX1BST1BfRElSRUNUX1dSSVRFID0gMSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHViaV9hdHRhY2hfcmVxIHsKKyAgX19zMzIgdWJpX251bTsKKyAgX19zMzIgbXRkX251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgdWJpX251bTsKLSBfX3MzMiBtdGRfbnVtOwotIF9fczMyIHZpZF9oZHJfb2Zmc2V0OwotIF9fczE2IG1heF9iZWJfcGVyMTAyNDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zOCBwYWRkaW5nWzEwXTsKKyAgX19zMzIgdmlkX2hkcl9vZmZzZXQ7CisgIF9fczE2IG1heF9iZWJfcGVyMTAyNDsKKyAgX19zOCBwYWRkaW5nWzEwXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHViaV9ta3ZvbF9yZXEgewotIF9fczMyIHZvbF9pZDsKKyAgX19zMzIgdm9sX2lkOworICBfX3MzMiBhbGlnbm1lbnQ7CisgIF9fczY0IGJ5dGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiBhbGlnbm1lbnQ7Ci0gX19zNjQgYnl0ZXM7Ci0gX19zOCB2b2xfdHlwZTsKLSBfX3M4IHBhZGRpbmcxOworICBfX3M4IHZvbF90eXBlOworICBfX3M4IHBhZGRpbmcxOworICBfX3MxNiBuYW1lX2xlbjsKKyAgX19zOCBwYWRkaW5nMls0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMTYgbmFtZV9sZW47Ci0gX19zOCBwYWRkaW5nMls0XTsKLSBjaGFyIG5hbWVbVUJJX01BWF9WT0xVTUVfTkFNRSArIDFdOworICBjaGFyIG5hbWVbVUJJX01BWF9WT0xVTUVfTkFNRSArIDFdOwogfSBfX3BhY2tlZDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgdWJpX3Jzdm9sX3JlcSB7Ci0gX19zNjQgYnl0ZXM7Ci0gX19zMzIgdm9sX2lkOwotfSBfX3BhY2tlZDsKKyAgX19zNjQgYnl0ZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3MzMiB2b2xfaWQ7Cit9IF9fcGFja2VkOwogc3RydWN0IHViaV9ybnZvbF9yZXEgewotIF9fczMyIGNvdW50OwotIF9fczggcGFkZGluZzFbMTJdOwotIHN0cnVjdCB7CisgIF9fczMyIGNvdW50OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3MzMiB2b2xfaWQ7Ci0gX19zMTYgbmFtZV9sZW47Ci0gX19zOCBwYWRkaW5nMlsyXTsKLSBjaGFyIG5hbWVbVUJJX01BWF9WT0xVTUVfTkFNRSArIDFdOworICBfX3M4IHBhZGRpbmcxWzEyXTsKKyAgc3RydWN0IHsKKyAgICBfX3MzMiB2b2xfaWQ7CisgICAgX19zMTYgbmFtZV9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gZW50c1tVQklfTUFYX1JOVk9MXTsKKyAgICBfX3M4IHBhZGRpbmcyWzJdOworICAgIGNoYXIgbmFtZVtVQklfTUFYX1ZPTFVNRV9OQU1FICsgMV07CisgIH0gZW50c1tVQklfTUFYX1JOVk9MXTsKIH0gX19wYWNrZWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHViaV9sZWJfY2hhbmdlX3JlcSB7Ci0gX19zMzIgbG51bTsKKyAgX19zMzIgbG51bTsKKyAgX19zMzIgYnl0ZXM7CisgIF9fczggZHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIGJ5dGVzOwotIF9fczggZHR5cGU7Ci0gX19zOCBwYWRkaW5nWzddOworICBfX3M4IHBhZGRpbmdbN107CiB9IF9fcGFja2VkOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCB1YmlfbWFwX3JlcSB7Ci0gX19zMzIgbG51bTsKLSBfX3M4IGR0eXBlOwotIF9fczggcGFkZGluZ1szXTsKKyAgX19zMzIgbG51bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fczggZHR5cGU7CisgIF9fczggcGFkZGluZ1szXTsKIH0gX19wYWNrZWQ7CiBzdHJ1Y3QgdWJpX3NldF92b2xfcHJvcF9yZXEgewotIF9fdTggcHJvcGVydHk7Ci0gX191OCBwYWRkaW5nWzddOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCB2YWx1ZTsKKyAgX191OCBwcm9wZXJ0eTsKKyAgX191OCBwYWRkaW5nWzddOworICBfX3U2NCB2YWx1ZTsKK30gX19wYWNrZWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IHViaV9ibGtjcmVhdGVfcmVxIHsKKyAgX19zOCBwYWRkaW5nWzEyOF07CiB9IF9fcGFja2VkOwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9yZG1hL2liX3VzZXJfY20uaCBiL2xpYmMva2VybmVsL3VhcGkvcmRtYS9pYl91c2VyX2NtLmgKaW5kZXggMGE5ZmYyNi4uYzQ3NWZmYyAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9yZG1hL2liX3VzZXJfY20uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl9jbS5oCkBAIC0yMywyNzcgKzIzLDI3NyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgSUJfVVNFUl9DTV9BQklfVkVSU0lPTiA1CiBlbnVtIHsKLSBJQl9VU0VSX0NNX0NNRF9DUkVBVEVfSUQsCi0gSUJfVVNFUl9DTV9DTURfREVTVFJPWV9JRCwKKyAgSUJfVVNFUl9DTV9DTURfQ1JFQVRFX0lELAorICBJQl9VU0VSX0NNX0NNRF9ERVNUUk9ZX0lELAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJQl9VU0VSX0NNX0NNRF9BVFRSX0lELAotIElCX1VTRVJfQ01fQ01EX0xJU1RFTiwKLSBJQl9VU0VSX0NNX0NNRF9OT1RJRlksCi0gSUJfVVNFUl9DTV9DTURfU0VORF9SRVEsCisgIElCX1VTRVJfQ01fQ01EX0FUVFJfSUQsCisgIElCX1VTRVJfQ01fQ01EX0xJU1RFTiwKKyAgSUJfVVNFUl9DTV9DTURfTk9USUZZLAorICBJQl9VU0VSX0NNX0NNRF9TRU5EX1JFUSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUJfVVNFUl9DTV9DTURfU0VORF9SRVAsCi0gSUJfVVNFUl9DTV9DTURfU0VORF9SVFUsCi0gSUJfVVNFUl9DTV9DTURfU0VORF9EUkVRLAotIElCX1VTRVJfQ01fQ01EX1NFTkRfRFJFUCwKKyAgSUJfVVNFUl9DTV9DTURfU0VORF9SRVAsCisgIElCX1VTRVJfQ01fQ01EX1NFTkRfUlRVLAorICBJQl9VU0VSX0NNX0NNRF9TRU5EX0RSRVEsCisgIElCX1VTRVJfQ01fQ01EX1NFTkRfRFJFUCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUJfVVNFUl9DTV9DTURfU0VORF9SRUosCi0gSUJfVVNFUl9DTV9DTURfU0VORF9NUkEsCi0gSUJfVVNFUl9DTV9DTURfU0VORF9MQVAsCi0gSUJfVVNFUl9DTV9DTURfU0VORF9BUFIsCisgIElCX1VTRVJfQ01fQ01EX1NFTkRfUkVKLAorICBJQl9VU0VSX0NNX0NNRF9TRU5EX01SQSwKKyAgSUJfVVNFUl9DTV9DTURfU0VORF9MQVAsCisgIElCX1VTRVJfQ01fQ01EX1NFTkRfQVBSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJQl9VU0VSX0NNX0NNRF9TRU5EX1NJRFJfUkVRLAotIElCX1VTRVJfQ01fQ01EX1NFTkRfU0lEUl9SRVAsCi0gSUJfVVNFUl9DTV9DTURfRVZFTlQsCi0gSUJfVVNFUl9DTV9DTURfSU5JVF9RUF9BVFRSLAorICBJQl9VU0VSX0NNX0NNRF9TRU5EX1NJRFJfUkVRLAorICBJQl9VU0VSX0NNX0NNRF9TRU5EX1NJRFJfUkVQLAorICBJQl9VU0VSX0NNX0NNRF9FVkVOVCwKKyAgSUJfVVNFUl9DTV9DTURfSU5JVF9RUF9BVFRSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdWNtX2NtZF9oZHIgewotIF9fdTMyIGNtZDsKLSBfX3UxNiBpbjsKKyAgX191MzIgY21kOworICBfX3UxNiBpbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgb3V0OworICBfX3UxNiBvdXQ7CiB9Owogc3RydWN0IGliX3VjbV9jcmVhdGVfaWQgewotIF9fdTY0IHVpZDsKKyAgX191NjQgdWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgcmVzcG9uc2U7CiB9Owogc3RydWN0IGliX3VjbV9jcmVhdGVfaWRfcmVzcCB7Ci0gX191MzIgaWQ7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdWNtX2Rlc3Ryb3lfaWQgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTMyIGlkOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiByZXNlcnZlZDsKIH07CiBzdHJ1Y3QgaWJfdWNtX2Rlc3Ryb3lfaWRfcmVzcCB7Ci0gX191MzIgZXZlbnRzX3JlcG9ydGVkOworICBfX3UzMiBldmVudHNfcmVwb3J0ZWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpYl91Y21fYXR0cl9pZCB7Ci0gX191NjQgcmVzcG9uc2U7Ci0gX191MzIgaWQ7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTMyIHJlc2VydmVkOwogfTsKIHN0cnVjdCBpYl91Y21fYXR0cl9pZF9yZXNwIHsKLSBfX2JlNjQgc2VydmljZV9pZDsKKyAgX19iZTY0IHNlcnZpY2VfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCBzZXJ2aWNlX21hc2s7Ci0gX19iZTMyIGxvY2FsX2lkOwotIF9fYmUzMiByZW1vdGVfaWQ7CisgIF9fYmU2NCBzZXJ2aWNlX21hc2s7CisgIF9fYmUzMiBsb2NhbF9pZDsKKyAgX19iZTMyIHJlbW90ZV9pZDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3VjbV9pbml0X3FwX2F0dHIgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTMyIGlkOwotIF9fdTMyIHFwX3N0YXRlOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgaWQ7CisgIF9fdTMyIHFwX3N0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdWNtX2xpc3RlbiB7Ci0gX19iZTY0IHNlcnZpY2VfaWQ7Ci0gX19iZTY0IHNlcnZpY2VfbWFzazsKKyAgX19iZTY0IHNlcnZpY2VfaWQ7CisgIF9fYmU2NCBzZXJ2aWNlX21hc2s7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlkOwotIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiBpZDsKKyAgX191MzIgcmVzZXJ2ZWQ7CiB9Owogc3RydWN0IGliX3VjbV9ub3RpZnkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZDsKLSBfX3UzMiBldmVudDsKKyAgX191MzIgaWQ7CisgIF9fdTMyIGV2ZW50OwogfTsKIHN0cnVjdCBpYl91Y21fcHJpdmF0ZV9kYXRhIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZGF0YTsKLSBfX3UzMiBpZDsKLSBfX3U4IGxlbjsKLSBfX3U4IHJlc2VydmVkWzNdOworICBfX3U2NCBkYXRhOworICBfX3UzMiBpZDsKKyAgX191OCBsZW47CisgIF9fdTggcmVzZXJ2ZWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpYl91Y21fcmVxIHsKLSBfX3UzMiBpZDsKLSBfX3UzMiBxcG47CisgIF9fdTMyIGlkOworICBfX3UzMiBxcG47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFwX3R5cGU7Ci0gX191MzIgcHNuOwotIF9fYmU2NCBzaWQ7Ci0gX191NjQgZGF0YTsKKyAgX191MzIgcXBfdHlwZTsKKyAgX191MzIgcHNuOworICBfX2JlNjQgc2lkOworICBfX3U2NCBkYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBwcmltYXJ5X3BhdGg7Ci0gX191NjQgYWx0ZXJuYXRlX3BhdGg7Ci0gX191OCBsZW47Ci0gX191OCBwZWVyX3RvX3BlZXI7CisgIF9fdTY0IHByaW1hcnlfcGF0aDsKKyAgX191NjQgYWx0ZXJuYXRlX3BhdGg7CisgIF9fdTggbGVuOworICBfX3U4IHBlZXJfdG9fcGVlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNwb25kZXJfcmVzb3VyY2VzOwotIF9fdTggaW5pdGlhdG9yX2RlcHRoOwotIF9fdTggcmVtb3RlX2NtX3Jlc3BvbnNlX3RpbWVvdXQ7Ci0gX191OCBmbG93X2NvbnRyb2w7CisgIF9fdTggcmVzcG9uZGVyX3Jlc291cmNlczsKKyAgX191OCBpbml0aWF0b3JfZGVwdGg7CisgIF9fdTggcmVtb3RlX2NtX3Jlc3BvbnNlX3RpbWVvdXQ7CisgIF9fdTggZmxvd19jb250cm9sOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGxvY2FsX2NtX3Jlc3BvbnNlX3RpbWVvdXQ7Ci0gX191OCByZXRyeV9jb3VudDsKLSBfX3U4IHJucl9yZXRyeV9jb3VudDsKLSBfX3U4IG1heF9jbV9yZXRyaWVzOworICBfX3U4IGxvY2FsX2NtX3Jlc3BvbnNlX3RpbWVvdXQ7CisgIF9fdTggcmV0cnlfY291bnQ7CisgIF9fdTggcm5yX3JldHJ5X2NvdW50OworICBfX3U4IG1heF9jbV9yZXRyaWVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNycTsKLSBfX3U4IHJlc2VydmVkWzVdOworICBfX3U4IHNycTsKKyAgX191OCByZXNlcnZlZFs1XTsKIH07CiBzdHJ1Y3QgaWJfdWNtX3JlcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVpZDsKLSBfX3U2NCBkYXRhOwotIF9fdTMyIGlkOwotIF9fdTMyIHFwbjsKKyAgX191NjQgdWlkOworICBfX3U2NCBkYXRhOworICBfX3UzMiBpZDsKKyAgX191MzIgcXBuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwc247Ci0gX191OCBsZW47Ci0gX191OCByZXNwb25kZXJfcmVzb3VyY2VzOwotIF9fdTggaW5pdGlhdG9yX2RlcHRoOworICBfX3UzMiBwc247CisgIF9fdTggbGVuOworICBfX3U4IHJlc3BvbmRlcl9yZXNvdXJjZXM7CisgIF9fdTggaW5pdGlhdG9yX2RlcHRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHRhcmdldF9hY2tfZGVsYXk7Ci0gX191OCBmYWlsb3Zlcl9hY2NlcHRlZDsKLSBfX3U4IGZsb3dfY29udHJvbDsKLSBfX3U4IHJucl9yZXRyeV9jb3VudDsKKyAgX191OCB0YXJnZXRfYWNrX2RlbGF5OworICBfX3U4IGZhaWxvdmVyX2FjY2VwdGVkOworICBfX3U4IGZsb3dfY29udHJvbDsKKyAgX191OCBybnJfcmV0cnlfY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc3JxOwotIF9fdTggcmVzZXJ2ZWRbNF07CisgIF9fdTggc3JxOworICBfX3U4IHJlc2VydmVkWzRdOwogfTsKIHN0cnVjdCBpYl91Y21faW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGlkOwotIF9fdTMyIHN0YXR1czsKLSBfX3U2NCBpbmZvOwotIF9fdTY0IGRhdGE7CisgIF9fdTMyIGlkOworICBfX3UzMiBzdGF0dXM7CisgIF9fdTY0IGluZm87CisgIF9fdTY0IGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW5mb19sZW47Ci0gX191OCBkYXRhX2xlbjsKLSBfX3U4IHJlc2VydmVkWzZdOworICBfX3U4IGluZm9fbGVuOworICBfX3U4IGRhdGFfbGVuOworICBfX3U4IHJlc2VydmVkWzZdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdWNtX21yYSB7Ci0gX191NjQgZGF0YTsKLSBfX3UzMiBpZDsKLSBfX3U4IGxlbjsKKyAgX191NjQgZGF0YTsKKyAgX191MzIgaWQ7CisgIF9fdTggbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHRpbWVvdXQ7Ci0gX191OCByZXNlcnZlZFsyXTsKKyAgX191OCB0aW1lb3V0OworICBfX3U4IHJlc2VydmVkWzJdOwogfTsKIHN0cnVjdCBpYl91Y21fbGFwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcGF0aDsKLSBfX3U2NCBkYXRhOwotIF9fdTMyIGlkOwotIF9fdTggbGVuOworICBfX3U2NCBwYXRoOworICBfX3U2NCBkYXRhOworICBfX3UzMiBpZDsKKyAgX191OCBsZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmVzZXJ2ZWRbM107CisgIF9fdTggcmVzZXJ2ZWRbM107CiB9Owogc3RydWN0IGliX3VjbV9zaWRyX3JlcSB7Ci0gX191MzIgaWQ7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0aW1lb3V0OwotIF9fYmU2NCBzaWQ7Ci0gX191NjQgZGF0YTsKLSBfX3U2NCBwYXRoOworICBfX3UzMiB0aW1lb3V0OworICBfX2JlNjQgc2lkOworICBfX3U2NCBkYXRhOworICBfX3U2NCBwYXRoOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiByZXNlcnZlZF9wa2V5OwotIF9fdTggbGVuOwotIF9fdTggbWF4X2NtX3JldHJpZXM7Ci0gX191OCByZXNlcnZlZFs0XTsKKyAgX191MTYgcmVzZXJ2ZWRfcGtleTsKKyAgX191OCBsZW47CisgIF9fdTggbWF4X2NtX3JldHJpZXM7CisgIF9fdTggcmVzZXJ2ZWRbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpYl91Y21fc2lkcl9yZXAgewotIF9fdTMyIGlkOwotIF9fdTMyIHFwbjsKKyAgX191MzIgaWQ7CisgIF9fdTMyIHFwbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcWtleTsKLSBfX3UzMiBzdGF0dXM7Ci0gX191NjQgaW5mbzsKLSBfX3U2NCBkYXRhOworICBfX3UzMiBxa2V5OworICBfX3UzMiBzdGF0dXM7CisgIF9fdTY0IGluZm87CisgIF9fdTY0IGRhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggaW5mb19sZW47Ci0gX191OCBkYXRhX2xlbjsKLSBfX3U4IHJlc2VydmVkWzZdOworICBfX3U4IGluZm9fbGVuOworICBfX3U4IGRhdGFfbGVuOworICBfX3U4IHJlc2VydmVkWzZdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdWNtX2V2ZW50X2dldCB7Ci0gX191NjQgcmVzcG9uc2U7Ci0gX191NjQgZGF0YTsKLSBfX3U2NCBpbmZvOworICBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgZGF0YTsKKyAgX191NjQgaW5mbzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBkYXRhX2xlbjsKLSBfX3U4IGluZm9fbGVuOwotIF9fdTggcmVzZXJ2ZWRbNl07CisgIF9fdTggZGF0YV9sZW47CisgIF9fdTggaW5mb19sZW47CisgIF9fdTggcmVzZXJ2ZWRbNl07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91Y21fcmVxX2V2ZW50X3Jlc3AgewotIHN0cnVjdCBpYl91c2VyX3BhdGhfcmVjIHByaW1hcnlfcGF0aDsKLSBzdHJ1Y3QgaWJfdXNlcl9wYXRoX3JlYyBhbHRlcm5hdGVfcGF0aDsKLSBfX2JlNjQgcmVtb3RlX2NhX2d1aWQ7CisgIHN0cnVjdCBpYl91c2VyX3BhdGhfcmVjIHByaW1hcnlfcGF0aDsKKyAgc3RydWN0IGliX3VzZXJfcGF0aF9yZWMgYWx0ZXJuYXRlX3BhdGg7CisgIF9fYmU2NCByZW1vdGVfY2FfZ3VpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVtb3RlX3FrZXk7Ci0gX191MzIgcmVtb3RlX3FwbjsKLSBfX3UzMiBxcF90eXBlOwotIF9fdTMyIHN0YXJ0aW5nX3BzbjsKKyAgX191MzIgcmVtb3RlX3FrZXk7CisgIF9fdTMyIHJlbW90ZV9xcG47CisgIF9fdTMyIHFwX3R5cGU7CisgIF9fdTMyIHN0YXJ0aW5nX3BzbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNwb25kZXJfcmVzb3VyY2VzOwotIF9fdTggaW5pdGlhdG9yX2RlcHRoOwotIF9fdTggbG9jYWxfY21fcmVzcG9uc2VfdGltZW91dDsKLSBfX3U4IGZsb3dfY29udHJvbDsKKyAgX191OCByZXNwb25kZXJfcmVzb3VyY2VzOworICBfX3U4IGluaXRpYXRvcl9kZXB0aDsKKyAgX191OCBsb2NhbF9jbV9yZXNwb25zZV90aW1lb3V0OworICBfX3U4IGZsb3dfY29udHJvbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZW1vdGVfY21fcmVzcG9uc2VfdGltZW91dDsKLSBfX3U4IHJldHJ5X2NvdW50OwotIF9fdTggcm5yX3JldHJ5X2NvdW50OwotIF9fdTggc3JxOworICBfX3U4IHJlbW90ZV9jbV9yZXNwb25zZV90aW1lb3V0OworICBfX3U4IHJldHJ5X2NvdW50OworICBfX3U4IHJucl9yZXRyeV9jb3VudDsKKyAgX191OCBzcnE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcG9ydDsKLSBfX3U4IHJlc2VydmVkWzddOworICBfX3U4IHBvcnQ7CisgIF9fdTggcmVzZXJ2ZWRbN107CiB9Owogc3RydWN0IGliX3VjbV9yZXBfZXZlbnRfcmVzcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCByZW1vdGVfY2FfZ3VpZDsKLSBfX3UzMiByZW1vdGVfcWtleTsKLSBfX3UzMiByZW1vdGVfcXBuOwotIF9fdTMyIHN0YXJ0aW5nX3BzbjsKKyAgX19iZTY0IHJlbW90ZV9jYV9ndWlkOworICBfX3UzMiByZW1vdGVfcWtleTsKKyAgX191MzIgcmVtb3RlX3FwbjsKKyAgX191MzIgc3RhcnRpbmdfcHNuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc3BvbmRlcl9yZXNvdXJjZXM7Ci0gX191OCBpbml0aWF0b3JfZGVwdGg7Ci0gX191OCB0YXJnZXRfYWNrX2RlbGF5OwotIF9fdTggZmFpbG92ZXJfYWNjZXB0ZWQ7CisgIF9fdTggcmVzcG9uZGVyX3Jlc291cmNlczsKKyAgX191OCBpbml0aWF0b3JfZGVwdGg7CisgIF9fdTggdGFyZ2V0X2Fja19kZWxheTsKKyAgX191OCBmYWlsb3Zlcl9hY2NlcHRlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmbG93X2NvbnRyb2w7Ci0gX191OCBybnJfcmV0cnlfY291bnQ7Ci0gX191OCBzcnE7Ci0gX191OCByZXNlcnZlZFs1XTsKKyAgX191OCBmbG93X2NvbnRyb2w7CisgIF9fdTggcm5yX3JldHJ5X2NvdW50OworICBfX3U4IHNycTsKKyAgX191OCByZXNlcnZlZFs1XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3VjbV9yZWpfZXZlbnRfcmVzcCB7Ci0gX191MzIgcmVhc29uOworICBfX3UzMiByZWFzb247CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91Y21fbXJhX2V2ZW50X3Jlc3AgewotIF9fdTggdGltZW91dDsKLSBfX3U4IHJlc2VydmVkWzNdOworICBfX3U4IHRpbWVvdXQ7CisgIF9fdTggcmVzZXJ2ZWRbM107CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91Y21fbGFwX2V2ZW50X3Jlc3AgewotIHN0cnVjdCBpYl91c2VyX3BhdGhfcmVjIHBhdGg7CisgIHN0cnVjdCBpYl91c2VyX3BhdGhfcmVjIHBhdGg7CiB9Owogc3RydWN0IGliX3VjbV9hcHJfZXZlbnRfcmVzcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHN0YXR1czsKKyAgX191MzIgc3RhdHVzOwogfTsKIHN0cnVjdCBpYl91Y21fc2lkcl9yZXFfZXZlbnRfcmVzcCB7Ci0gX191MTYgcGtleTsKKyAgX191MTYgcGtleTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwb3J0OwotIF9fdTggcmVzZXJ2ZWQ7CisgIF9fdTggcG9ydDsKKyAgX191OCByZXNlcnZlZDsKIH07CiBzdHJ1Y3QgaWJfdWNtX3NpZHJfcmVwX2V2ZW50X3Jlc3AgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdGF0dXM7Ci0gX191MzIgcWtleTsKLSBfX3UzMiBxcG47CisgIF9fdTMyIHN0YXR1czsKKyAgX191MzIgcWtleTsKKyAgX191MzIgcXBuOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElCX1VDTV9QUkVTX0RBVEEgMHgwMQpAQCAtMzAyLDI1ICszMDIsMjUgQEAKICNkZWZpbmUgSUJfVUNNX1BSRVNfQUxURVJOQVRFIDB4MDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdWNtX2V2ZW50X3Jlc3AgewotIF9fdTY0IHVpZDsKLSBfX3UzMiBpZDsKLSBfX3UzMiBldmVudDsKKyAgX191NjQgdWlkOworICBfX3UzMiBpZDsKKyAgX191MzIgZXZlbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHByZXNlbnQ7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gdW5pb24gewotIHN0cnVjdCBpYl91Y21fcmVxX2V2ZW50X3Jlc3AgcmVxX3Jlc3A7CisgIF9fdTMyIHByZXNlbnQ7CisgIF9fdTMyIHJlc2VydmVkOworICB1bmlvbiB7CisgICAgc3RydWN0IGliX3VjbV9yZXFfZXZlbnRfcmVzcCByZXFfcmVzcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGliX3VjbV9yZXBfZXZlbnRfcmVzcCByZXBfcmVzcDsKLSBzdHJ1Y3QgaWJfdWNtX3Jlal9ldmVudF9yZXNwIHJlal9yZXNwOwotIHN0cnVjdCBpYl91Y21fbXJhX2V2ZW50X3Jlc3AgbXJhX3Jlc3A7Ci0gc3RydWN0IGliX3VjbV9sYXBfZXZlbnRfcmVzcCBsYXBfcmVzcDsKKyAgICBzdHJ1Y3QgaWJfdWNtX3JlcF9ldmVudF9yZXNwIHJlcF9yZXNwOworICAgIHN0cnVjdCBpYl91Y21fcmVqX2V2ZW50X3Jlc3AgcmVqX3Jlc3A7CisgICAgc3RydWN0IGliX3VjbV9tcmFfZXZlbnRfcmVzcCBtcmFfcmVzcDsKKyAgICBzdHJ1Y3QgaWJfdWNtX2xhcF9ldmVudF9yZXNwIGxhcF9yZXNwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaWJfdWNtX2Fwcl9ldmVudF9yZXNwIGFwcl9yZXNwOwotIHN0cnVjdCBpYl91Y21fc2lkcl9yZXFfZXZlbnRfcmVzcCBzaWRyX3JlcV9yZXNwOwotIHN0cnVjdCBpYl91Y21fc2lkcl9yZXBfZXZlbnRfcmVzcCBzaWRyX3JlcF9yZXNwOwotIF9fdTMyIHNlbmRfc3RhdHVzOworICAgIHN0cnVjdCBpYl91Y21fYXByX2V2ZW50X3Jlc3AgYXByX3Jlc3A7CisgICAgc3RydWN0IGliX3VjbV9zaWRyX3JlcV9ldmVudF9yZXNwIHNpZHJfcmVxX3Jlc3A7CisgICAgc3RydWN0IGliX3VjbV9zaWRyX3JlcF9ldmVudF9yZXNwIHNpZHJfcmVwX3Jlc3A7CisgICAgX191MzIgc2VuZF9zdGF0dXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gdTsKKyAgfSB1OwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9yZG1hL2liX3VzZXJfbWFkLmggYi9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl9tYWQuaAppbmRleCBkZTVhM2Y5Li4zMTE3ODg4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl9tYWQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl9tYWQuaApAQCAtMjMsNzQgKzIzLDk2IEBACiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBJQl9VU0VSX01BRF9BQklfVkVSU0lPTiA1CiBzdHJ1Y3QgaWJfdXNlcl9tYWRfaGRyX29sZCB7Ci0gX191MzIgaWQ7Ci0gX191MzIgc3RhdHVzOworICBfX3UzMiBpZDsKKyAgX191MzIgc3RhdHVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiB0aW1lb3V0X21zOwotIF9fdTMyIHJldHJpZXM7Ci0gX191MzIgbGVuZ3RoOwotIF9fYmUzMiBxcG47CisgIF9fdTMyIHRpbWVvdXRfbXM7CisgIF9fdTMyIHJldHJpZXM7CisgIF9fdTMyIGxlbmd0aDsKKyAgX19iZTMyIHFwbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHFrZXk7Ci0gX19iZTE2IGxpZDsKLSBfX3U4IHNsOwotIF9fdTggcGF0aF9iaXRzOworICBfX2JlMzIgcWtleTsKKyAgX19iZTE2IGxpZDsKKyAgX191OCBzbDsKKyAgX191OCBwYXRoX2JpdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZ3JoX3ByZXNlbnQ7Ci0gX191OCBnaWRfaW5kZXg7Ci0gX191OCBob3BfbGltaXQ7Ci0gX191OCB0cmFmZmljX2NsYXNzOworICBfX3U4IGdyaF9wcmVzZW50OworICBfX3U4IGdpZF9pbmRleDsKKyAgX191OCBob3BfbGltaXQ7CisgIF9fdTggdHJhZmZpY19jbGFzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBnaWRbMTZdOwotIF9fYmUzMiBmbG93X2xhYmVsOworICBfX3U4IGdpZFsxNl07CisgIF9fYmUzMiBmbG93X2xhYmVsOwogfTsKIHN0cnVjdCBpYl91c2VyX21hZF9oZHIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBpZDsKLSBfX3UzMiBzdGF0dXM7Ci0gX191MzIgdGltZW91dF9tczsKLSBfX3UzMiByZXRyaWVzOworICBfX3UzMiBpZDsKKyAgX191MzIgc3RhdHVzOworICBfX3UzMiB0aW1lb3V0X21zOworICBfX3UzMiByZXRyaWVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBsZW5ndGg7Ci0gX19iZTMyIHFwbjsKLSBfX2JlMzIgcWtleTsKLSBfX2JlMTYgbGlkOworICBfX3UzMiBsZW5ndGg7CisgIF9fYmUzMiBxcG47CisgIF9fYmUzMiBxa2V5OworICBfX2JlMTYgbGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNsOwotIF9fdTggcGF0aF9iaXRzOwotIF9fdTggZ3JoX3ByZXNlbnQ7Ci0gX191OCBnaWRfaW5kZXg7CisgIF9fdTggc2w7CisgIF9fdTggcGF0aF9iaXRzOworICBfX3U4IGdyaF9wcmVzZW50OworICBfX3U4IGdpZF9pbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBob3BfbGltaXQ7Ci0gX191OCB0cmFmZmljX2NsYXNzOwotIF9fdTggZ2lkWzE2XTsKLSBfX2JlMzIgZmxvd19sYWJlbDsKKyAgX191OCBob3BfbGltaXQ7CisgIF9fdTggdHJhZmZpY19jbGFzczsKKyAgX191OCBnaWRbMTZdOworICBfX2JlMzIgZmxvd19sYWJlbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcGtleV9pbmRleDsKLSBfX3U4IHJlc2VydmVkWzZdOworICBfX3UxNiBwa2V5X2luZGV4OworICBfX3U4IHJlc2VydmVkWzZdOwogfTsKIHN0cnVjdCBpYl91c2VyX21hZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBpYl91c2VyX21hZF9oZHIgaGRyOwotIF9fdTY0IGRhdGFbMF07CisgIHN0cnVjdCBpYl91c2VyX21hZF9oZHIgaGRyOworICBfX3U2NCBkYXRhWzBdOwogfTsKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDQpKSkgcGFja2VkX3Vsb25nOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSUJfVVNFUl9NQURfTE9OR1NfUEVSX01FVEhPRF9NQVNLICgxMjggLyAoOCAqIHNpemVvZiAobG9uZykpKQorI2RlZmluZSBJQl9VU0VSX01BRF9MT05HU19QRVJfTUVUSE9EX01BU0sgKDEyOCAvICg4ICogc2l6ZW9mKGxvbmcpKSkKIHN0cnVjdCBpYl91c2VyX21hZF9yZWdfcmVxIHsKLSBfX3UzMiBpZDsKLSBwYWNrZWRfdWxvbmcgbWV0aG9kX21hc2tbSUJfVVNFUl9NQURfTE9OR1NfUEVSX01FVEhPRF9NQVNLXTsKKyAgX191MzIgaWQ7CisgIHBhY2tlZF91bG9uZyBtZXRob2RfbWFza1tJQl9VU0VSX01BRF9MT05HU19QRVJfTUVUSE9EX01BU0tdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHFwbjsKLSBfX3U4IG1nbXRfY2xhc3M7Ci0gX191OCBtZ210X2NsYXNzX3ZlcnNpb247Ci0gX191OCBvdWlbM107CisgIF9fdTggcXBuOworICBfX3U4IG1nbXRfY2xhc3M7CisgIF9fdTggbWdtdF9jbGFzc192ZXJzaW9uOworICBfX3U4IG91aVszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBybXBwX3ZlcnNpb247CisgIF9fdTggcm1wcF92ZXJzaW9uOworfTsKK2VudW0geworICBJQl9VU0VSX01BRF9VU0VSX1JNUFAgPSAoMSA8PCAwKSwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworI2RlZmluZSBJQl9VU0VSX01BRF9SRUdfRkxBR1NfQ0FQIChJQl9VU0VSX01BRF9VU0VSX1JNUFApCitzdHJ1Y3QgaWJfdXNlcl9tYWRfcmVnX3JlcTIgeworICBfX3UzMiBpZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHFwbjsKKyAgX191OCBtZ210X2NsYXNzOworICBfX3U4IG1nbXRfY2xhc3NfdmVyc2lvbjsKKyAgX191MTYgcmVzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZmxhZ3M7CisgIF9fdTY0IG1ldGhvZF9tYXNrWzJdOworICBfX3UzMiBvdWk7CisgIF9fdTggcm1wcF92ZXJzaW9uOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCByZXNlcnZlZFszXTsKIH07CiAjZGVmaW5lIElCX0lPQ1RMX01BR0lDIDB4MWIKLSNkZWZpbmUgSUJfVVNFUl9NQURfUkVHSVNURVJfQUdFTlQgX0lPV1IoSUJfSU9DVExfTUFHSUMsIDEsICAgc3RydWN0IGliX3VzZXJfbWFkX3JlZ19yZXEpCisjZGVmaW5lIElCX1VTRVJfTUFEX1JFR0lTVEVSX0FHRU5UIF9JT1dSKElCX0lPQ1RMX01BR0lDLCAxLCBzdHJ1Y3QgaWJfdXNlcl9tYWRfcmVnX3JlcSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElCX1VTRVJfTUFEX1VOUkVHSVNURVJfQUdFTlQgX0lPVyhJQl9JT0NUTF9NQUdJQywgMiwgX191MzIpCiAjZGVmaW5lIElCX1VTRVJfTUFEX0VOQUJMRV9QS0VZIF9JTyhJQl9JT0NUTF9NQUdJQywgMykKKyNkZWZpbmUgSUJfVVNFUl9NQURfUkVHSVNURVJfQUdFTlQyIF9JT1dSKElCX0lPQ1RMX01BR0lDLCA0LCBzdHJ1Y3QgaWJfdXNlcl9tYWRfcmVnX3JlcTIpCiAjZW5kaWYKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl9zYS5oIGIvbGliYy9rZXJuZWwvdWFwaS9yZG1hL2liX3VzZXJfc2EuaAppbmRleCBkZTVkZjg5Li4zNmY0YTgwIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl9zYS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvcmRtYS9pYl91c2VyX3NhLmgKQEAgLTIxLDQ2ICsyMSw0NiBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBlbnVtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUJfUEFUSF9HTVAgPSAxLAotIElCX1BBVEhfUFJJTUFSWSA9ICgxPDwxKSwKLSBJQl9QQVRIX0FMVEVSTkFURSA9ICgxPDwyKSwKLSBJQl9QQVRIX09VVEJPVU5EID0gKDE8PDMpLAorICBJQl9QQVRIX0dNUCA9IDEsCisgIElCX1BBVEhfUFJJTUFSWSA9ICgxIDw8IDEpLAorICBJQl9QQVRIX0FMVEVSTkFURSA9ICgxIDw8IDIpLAorICBJQl9QQVRIX09VVEJPVU5EID0gKDEgPDwgMyksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElCX1BBVEhfSU5CT1VORCA9ICgxPDw0KSwKLSBJQl9QQVRIX0lOQk9VTkRfUkVWRVJTRSA9ICgxPDw1KSwKLSBJQl9QQVRIX0JJRElSRUNUSU9OQUwgPSBJQl9QQVRIX09VVEJPVU5EIHwgSUJfUEFUSF9JTkJPVU5EX1JFVkVSU0UKKyAgSUJfUEFUSF9JTkJPVU5EID0gKDEgPDwgNCksCisgIElCX1BBVEhfSU5CT1VORF9SRVZFUlNFID0gKDEgPDwgNSksCisgIElCX1BBVEhfQklESVJFQ1RJT05BTCA9IElCX1BBVEhfT1VUQk9VTkQgfCBJQl9QQVRIX0lOQk9VTkRfUkVWRVJTRQogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfcGF0aF9yZWNfZGF0YSB7Ci0gX191MzIgZmxhZ3M7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191MzIgcGF0aF9yZWNbMTZdOworICBfX3UzMiBmbGFnczsKKyAgX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTMyIHBhdGhfcmVjWzE2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3VzZXJfcGF0aF9yZWMgewotIF9fdTggZGdpZFsxNl07Ci0gX191OCBzZ2lkWzE2XTsKKyAgX191OCBkZ2lkWzE2XTsKKyAgX191OCBzZ2lkWzE2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTE2IGRsaWQ7Ci0gX19iZTE2IHNsaWQ7Ci0gX191MzIgcmF3X3RyYWZmaWM7Ci0gX19iZTMyIGZsb3dfbGFiZWw7CisgIF9fYmUxNiBkbGlkOworICBfX2JlMTYgc2xpZDsKKyAgX191MzIgcmF3X3RyYWZmaWM7CisgIF9fYmUzMiBmbG93X2xhYmVsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXZlcnNpYmxlOwotIF9fdTMyIG10dTsKLSBfX2JlMTYgcGtleTsKLSBfX3U4IGhvcF9saW1pdDsKKyAgX191MzIgcmV2ZXJzaWJsZTsKKyAgX191MzIgbXR1OworICBfX2JlMTYgcGtleTsKKyAgX191OCBob3BfbGltaXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHJhZmZpY19jbGFzczsKLSBfX3U4IG51bWJfcGF0aDsKLSBfX3U4IHNsOwotIF9fdTggbXR1X3NlbGVjdG9yOworICBfX3U4IHRyYWZmaWNfY2xhc3M7CisgIF9fdTggbnVtYl9wYXRoOworICBfX3U4IHNsOworICBfX3U4IG10dV9zZWxlY3RvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByYXRlX3NlbGVjdG9yOwotIF9fdTggcmF0ZTsKLSBfX3U4IHBhY2tldF9saWZlX3RpbWVfc2VsZWN0b3I7Ci0gX191OCBwYWNrZXRfbGlmZV90aW1lOworICBfX3U4IHJhdGVfc2VsZWN0b3I7CisgIF9fdTggcmF0ZTsKKyAgX191OCBwYWNrZXRfbGlmZV90aW1lX3NlbGVjdG9yOworICBfX3U4IHBhY2tldF9saWZlX3RpbWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcHJlZmVyZW5jZTsKKyAgX191OCBwcmVmZXJlbmNlOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9yZG1hL2liX3VzZXJfdmVyYnMuaCBiL2xpYmMva2VybmVsL3VhcGkvcmRtYS9pYl91c2VyX3ZlcmJzLmgKaW5kZXggZGQ5MzFkOC4uOWMyM2FjMiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9yZG1hL2liX3VzZXJfdmVyYnMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3JkbWEvaWJfdXNlcl92ZXJicy5oCkBAIC0yMyw3MiArMjMsNzIgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElCX1VTRVJfVkVSQlNfQ01EX1RIUkVTSE9MRCA1MAogZW51bSB7Ci0gSUJfVVNFUl9WRVJCU19DTURfR0VUX0NPTlRFWFQsCi0gSUJfVVNFUl9WRVJCU19DTURfUVVFUllfREVWSUNFLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9HRVRfQ09OVEVYVCwKKyAgSUJfVVNFUl9WRVJCU19DTURfUVVFUllfREVWSUNFLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJQl9VU0VSX1ZFUkJTX0NNRF9RVUVSWV9QT1JULAotIElCX1VTRVJfVkVSQlNfQ01EX0FMTE9DX1BELAotIElCX1VTRVJfVkVSQlNfQ01EX0RFQUxMT0NfUEQsCi0gSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX0FILAorICBJQl9VU0VSX1ZFUkJTX0NNRF9RVUVSWV9QT1JULAorICBJQl9VU0VSX1ZFUkJTX0NNRF9BTExPQ19QRCwKKyAgSUJfVVNFUl9WRVJCU19DTURfREVBTExPQ19QRCwKKyAgSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX0FILAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJQl9VU0VSX1ZFUkJTX0NNRF9NT0RJRllfQUgsCi0gSUJfVVNFUl9WRVJCU19DTURfUVVFUllfQUgsCi0gSUJfVVNFUl9WRVJCU19DTURfREVTVFJPWV9BSCwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9SRUdfTVIsCisgIElCX1VTRVJfVkVSQlNfQ01EX01PRElGWV9BSCwKKyAgSUJfVVNFUl9WRVJCU19DTURfUVVFUllfQUgsCisgIElCX1VTRVJfVkVSQlNfQ01EX0RFU1RST1lfQUgsCisgIElCX1VTRVJfVkVSQlNfQ01EX1JFR19NUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUJfVVNFUl9WRVJCU19DTURfUkVHX1NNUiwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9SRVJFR19NUiwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9RVUVSWV9NUiwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9ERVJFR19NUiwKKyAgSUJfVVNFUl9WRVJCU19DTURfUkVHX1NNUiwKKyAgSUJfVVNFUl9WRVJCU19DTURfUkVSRUdfTVIsCisgIElCX1VTRVJfVkVSQlNfQ01EX1FVRVJZX01SLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9ERVJFR19NUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUJfVVNFUl9WRVJCU19DTURfQUxMT0NfTVcsCi0gSUJfVVNFUl9WRVJCU19DTURfQklORF9NVywKLSBJQl9VU0VSX1ZFUkJTX0NNRF9ERUFMTE9DX01XLAotIElCX1VTRVJfVkVSQlNfQ01EX0NSRUFURV9DT01QX0NIQU5ORUwsCisgIElCX1VTRVJfVkVSQlNfQ01EX0FMTE9DX01XLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9CSU5EX01XLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9ERUFMTE9DX01XLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9DUkVBVEVfQ09NUF9DSEFOTkVMLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBJQl9VU0VSX1ZFUkJTX0NNRF9DUkVBVEVfQ1EsCi0gSUJfVVNFUl9WRVJCU19DTURfUkVTSVpFX0NRLAotIElCX1VTRVJfVkVSQlNfQ01EX0RFU1RST1lfQ1EsCi0gSUJfVVNFUl9WRVJCU19DTURfUE9MTF9DUSwKKyAgSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX0NRLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9SRVNJWkVfQ1EsCisgIElCX1VTRVJfVkVSQlNfQ01EX0RFU1RST1lfQ1EsCisgIElCX1VTRVJfVkVSQlNfQ01EX1BPTExfQ1EsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElCX1VTRVJfVkVSQlNfQ01EX1BFRUtfQ1EsCi0gSUJfVVNFUl9WRVJCU19DTURfUkVRX05PVElGWV9DUSwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9DUkVBVEVfUVAsCi0gSUJfVVNFUl9WRVJCU19DTURfUVVFUllfUVAsCisgIElCX1VTRVJfVkVSQlNfQ01EX1BFRUtfQ1EsCisgIElCX1VTRVJfVkVSQlNfQ01EX1JFUV9OT1RJRllfQ1EsCisgIElCX1VTRVJfVkVSQlNfQ01EX0NSRUFURV9RUCwKKyAgSUJfVVNFUl9WRVJCU19DTURfUVVFUllfUVAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElCX1VTRVJfVkVSQlNfQ01EX01PRElGWV9RUCwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9ERVNUUk9ZX1FQLAotIElCX1VTRVJfVkVSQlNfQ01EX1BPU1RfU0VORCwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9QT1NUX1JFQ1YsCisgIElCX1VTRVJfVkVSQlNfQ01EX01PRElGWV9RUCwKKyAgSUJfVVNFUl9WRVJCU19DTURfREVTVFJPWV9RUCwKKyAgSUJfVVNFUl9WRVJCU19DTURfUE9TVF9TRU5ELAorICBJQl9VU0VSX1ZFUkJTX0NNRF9QT1NUX1JFQ1YsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElCX1VTRVJfVkVSQlNfQ01EX0FUVEFDSF9NQ0FTVCwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9ERVRBQ0hfTUNBU1QsCi0gSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX1NSUSwKLSBJQl9VU0VSX1ZFUkJTX0NNRF9NT0RJRllfU1JRLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9BVFRBQ0hfTUNBU1QsCisgIElCX1VTRVJfVkVSQlNfQ01EX0RFVEFDSF9NQ0FTVCwKKyAgSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX1NSUSwKKyAgSUJfVVNFUl9WRVJCU19DTURfTU9ESUZZX1NSUSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSUJfVVNFUl9WRVJCU19DTURfUVVFUllfU1JRLAotIElCX1VTRVJfVkVSQlNfQ01EX0RFU1RST1lfU1JRLAotIElCX1VTRVJfVkVSQlNfQ01EX1BPU1RfU1JRX1JFQ1YsCi0gSUJfVVNFUl9WRVJCU19DTURfT1BFTl9YUkNELAorICBJQl9VU0VSX1ZFUkJTX0NNRF9RVUVSWV9TUlEsCisgIElCX1VTRVJfVkVSQlNfQ01EX0RFU1RST1lfU1JRLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9QT1NUX1NSUV9SRUNWLAorICBJQl9VU0VSX1ZFUkJTX0NNRF9PUEVOX1hSQ0QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIElCX1VTRVJfVkVSQlNfQ01EX0NMT1NFX1hSQ0QsCi0gSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX1hTUlEsCi0gSUJfVVNFUl9WRVJCU19DTURfT1BFTl9RUCwKKyAgSUJfVVNFUl9WRVJCU19DTURfQ0xPU0VfWFJDRCwKKyAgSUJfVVNFUl9WRVJCU19DTURfQ1JFQVRFX1hTUlEsCisgIElCX1VTRVJfVkVSQlNfQ01EX09QRU5fUVAsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIElCX1VTRVJfVkVSQlNfRVhfQ01EX0NSRUFURV9GTE9XID0gSUJfVVNFUl9WRVJCU19DTURfVEhSRVNIT0xELAotIElCX1VTRVJfVkVSQlNfRVhfQ01EX0RFU1RST1lfRkxPVworICBJQl9VU0VSX1ZFUkJTX0VYX0NNRF9DUkVBVEVfRkxPVyA9IElCX1VTRVJfVkVSQlNfQ01EX1RIUkVTSE9MRCwKKyAgSUJfVVNFUl9WRVJCU19FWF9DTURfREVTVFJPWV9GTE9XCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfYXN5bmNfZXZlbnRfZGVzYyB7Ci0gX191NjQgZWxlbWVudDsKLSBfX3UzMiBldmVudF90eXBlOwotIF9fdTMyIHJlc2VydmVkOworICBfX3U2NCBlbGVtZW50OworICBfX3UzMiBldmVudF90eXBlOworICBfX3UzMiByZXNlcnZlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3V2ZXJic19jb21wX2V2ZW50X2Rlc2MgewotIF9fdTY0IGNxX2hhbmRsZTsKKyAgX191NjQgY3FfaGFuZGxlOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIElCX1VTRVJfVkVSQlNfQ01EX0NPTU1BTkRfTUFTSyAweGZmCkBAIC05Nyw3OTUgKzk3LDgxMyBAQAogI2RlZmluZSBJQl9VU0VSX1ZFUkJTX0NNRF9GTEFHX0VYVEVOREVEIDB4ODAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX2NtZF9oZHIgewotIF9fdTMyIGNvbW1hbmQ7Ci0gX191MTYgaW5fd29yZHM7Ci0gX191MTYgb3V0X3dvcmRzOworICBfX3UzMiBjb21tYW5kOworICBfX3UxNiBpbl93b3JkczsKKyAgX191MTYgb3V0X3dvcmRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2V4X2NtZF9oZHIgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTE2IHByb3ZpZGVyX2luX3dvcmRzOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MTYgcHJvdmlkZXJfaW5fd29yZHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHByb3ZpZGVyX291dF93b3JkczsKLSBfX3UzMiBjbWRfaGRyX3Jlc2VydmVkOworICBfX3UxNiBwcm92aWRlcl9vdXRfd29yZHM7CisgIF9fdTMyIGNtZF9oZHJfcmVzZXJ2ZWQ7CiB9Owogc3RydWN0IGliX3V2ZXJic19nZXRfY29udGV4dCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOworICBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9Owogc3RydWN0IGliX3V2ZXJic19nZXRfY29udGV4dF9yZXNwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYXN5bmNfZmQ7Ci0gX191MzIgbnVtX2NvbXBfdmVjdG9yczsKKyAgX191MzIgYXN5bmNfZmQ7CisgIF9fdTMyIG51bV9jb21wX3ZlY3RvcnM7CiB9Owogc3RydWN0IGliX3V2ZXJic19xdWVyeV9kZXZpY2UgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNwb25zZTsKLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfcXVlcnlfZGV2aWNlX3Jlc3AgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBmd192ZXI7Ci0gX19iZTY0IG5vZGVfZ3VpZDsKLSBfX2JlNjQgc3lzX2ltYWdlX2d1aWQ7Ci0gX191NjQgbWF4X21yX3NpemU7CisgIF9fdTY0IGZ3X3ZlcjsKKyAgX19iZTY0IG5vZGVfZ3VpZDsKKyAgX19iZTY0IHN5c19pbWFnZV9ndWlkOworICBfX3U2NCBtYXhfbXJfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcGFnZV9zaXplX2NhcDsKLSBfX3UzMiB2ZW5kb3JfaWQ7Ci0gX191MzIgdmVuZG9yX3BhcnRfaWQ7Ci0gX191MzIgaHdfdmVyOworICBfX3U2NCBwYWdlX3NpemVfY2FwOworICBfX3UzMiB2ZW5kb3JfaWQ7CisgIF9fdTMyIHZlbmRvcl9wYXJ0X2lkOworICBfX3UzMiBod192ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1heF9xcDsKLSBfX3UzMiBtYXhfcXBfd3I7Ci0gX191MzIgZGV2aWNlX2NhcF9mbGFnczsKLSBfX3UzMiBtYXhfc2dlOworICBfX3UzMiBtYXhfcXA7CisgIF9fdTMyIG1heF9xcF93cjsKKyAgX191MzIgZGV2aWNlX2NhcF9mbGFnczsKKyAgX191MzIgbWF4X3NnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X3NnZV9yZDsKLSBfX3UzMiBtYXhfY3E7Ci0gX191MzIgbWF4X2NxZTsKLSBfX3UzMiBtYXhfbXI7CisgIF9fdTMyIG1heF9zZ2VfcmQ7CisgIF9fdTMyIG1heF9jcTsKKyAgX191MzIgbWF4X2NxZTsKKyAgX191MzIgbWF4X21yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfcGQ7Ci0gX191MzIgbWF4X3FwX3JkX2F0b207Ci0gX191MzIgbWF4X2VlX3JkX2F0b207Ci0gX191MzIgbWF4X3Jlc19yZF9hdG9tOworICBfX3UzMiBtYXhfcGQ7CisgIF9fdTMyIG1heF9xcF9yZF9hdG9tOworICBfX3UzMiBtYXhfZWVfcmRfYXRvbTsKKyAgX191MzIgbWF4X3Jlc19yZF9hdG9tOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfcXBfaW5pdF9yZF9hdG9tOwotIF9fdTMyIG1heF9lZV9pbml0X3JkX2F0b207Ci0gX191MzIgYXRvbWljX2NhcDsKLSBfX3UzMiBtYXhfZWU7CisgIF9fdTMyIG1heF9xcF9pbml0X3JkX2F0b207CisgIF9fdTMyIG1heF9lZV9pbml0X3JkX2F0b207CisgIF9fdTMyIGF0b21pY19jYXA7CisgIF9fdTMyIG1heF9lZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X3JkZDsKLSBfX3UzMiBtYXhfbXc7Ci0gX191MzIgbWF4X3Jhd19pcHY2X3FwOwotIF9fdTMyIG1heF9yYXdfZXRoeV9xcDsKKyAgX191MzIgbWF4X3JkZDsKKyAgX191MzIgbWF4X213OworICBfX3UzMiBtYXhfcmF3X2lwdjZfcXA7CisgIF9fdTMyIG1heF9yYXdfZXRoeV9xcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X21jYXN0X2dycDsKLSBfX3UzMiBtYXhfbWNhc3RfcXBfYXR0YWNoOwotIF9fdTMyIG1heF90b3RhbF9tY2FzdF9xcF9hdHRhY2g7Ci0gX191MzIgbWF4X2FoOworICBfX3UzMiBtYXhfbWNhc3RfZ3JwOworICBfX3UzMiBtYXhfbWNhc3RfcXBfYXR0YWNoOworICBfX3UzMiBtYXhfdG90YWxfbWNhc3RfcXBfYXR0YWNoOworICBfX3UzMiBtYXhfYWg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG1heF9mbXI7Ci0gX191MzIgbWF4X21hcF9wZXJfZm1yOwotIF9fdTMyIG1heF9zcnE7Ci0gX191MzIgbWF4X3NycV93cjsKKyAgX191MzIgbWF4X2ZtcjsKKyAgX191MzIgbWF4X21hcF9wZXJfZm1yOworICBfX3UzMiBtYXhfc3JxOworICBfX3UzMiBtYXhfc3JxX3dyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfc3JxX3NnZTsKLSBfX3UxNiBtYXhfcGtleXM7Ci0gX191OCBsb2NhbF9jYV9hY2tfZGVsYXk7Ci0gX191OCBwaHlzX3BvcnRfY250OworICBfX3UzMiBtYXhfc3JxX3NnZTsKKyAgX191MTYgbWF4X3BrZXlzOworICBfX3U4IGxvY2FsX2NhX2Fja19kZWxheTsKKyAgX191OCBwaHlzX3BvcnRfY250OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc2VydmVkWzRdOworICBfX3U4IHJlc2VydmVkWzRdOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfcXVlcnlfcG9ydCB7Ci0gX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHJlc3BvbnNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBvcnRfbnVtOwotIF9fdTggcmVzZXJ2ZWRbN107Ci0gX191NjQgZHJpdmVyX2RhdGFbMF07CisgIF9fdTggcG9ydF9udW07CisgIF9fdTggcmVzZXJ2ZWRbN107CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX3F1ZXJ5X3BvcnRfcmVzcCB7Ci0gX191MzIgcG9ydF9jYXBfZmxhZ3M7Ci0gX191MzIgbWF4X21zZ19zejsKLSBfX3UzMiBiYWRfcGtleV9jbnRyOworICBfX3UzMiBwb3J0X2NhcF9mbGFnczsKKyAgX191MzIgbWF4X21zZ19zejsKKyAgX191MzIgYmFkX3BrZXlfY250cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcWtleV92aW9sX2NudHI7Ci0gX191MzIgZ2lkX3RibF9sZW47Ci0gX191MTYgcGtleV90YmxfbGVuOwotIF9fdTE2IGxpZDsKKyAgX191MzIgcWtleV92aW9sX2NudHI7CisgIF9fdTMyIGdpZF90YmxfbGVuOworICBfX3UxNiBwa2V5X3RibF9sZW47CisgIF9fdTE2IGxpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgc21fbGlkOwotIF9fdTggc3RhdGU7Ci0gX191OCBtYXhfbXR1OwotIF9fdTggYWN0aXZlX210dTsKKyAgX191MTYgc21fbGlkOworICBfX3U4IHN0YXRlOworICBfX3U4IG1heF9tdHU7CisgIF9fdTggYWN0aXZlX210dTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBsbWM7Ci0gX191OCBtYXhfdmxfbnVtOwotIF9fdTggc21fc2w7Ci0gX191OCBzdWJuZXRfdGltZW91dDsKKyAgX191OCBsbWM7CisgIF9fdTggbWF4X3ZsX251bTsKKyAgX191OCBzbV9zbDsKKyAgX191OCBzdWJuZXRfdGltZW91dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBpbml0X3R5cGVfcmVwbHk7Ci0gX191OCBhY3RpdmVfd2lkdGg7Ci0gX191OCBhY3RpdmVfc3BlZWQ7Ci0gX191OCBwaHlzX3N0YXRlOworICBfX3U4IGluaXRfdHlwZV9yZXBseTsKKyAgX191OCBhY3RpdmVfd2lkdGg7CisgIF9fdTggYWN0aXZlX3NwZWVkOworICBfX3U4IHBoeXNfc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbGlua19sYXllcjsKLSBfX3U4IHJlc2VydmVkWzJdOworICBfX3U4IGxpbmtfbGF5ZXI7CisgIF9fdTggcmVzZXJ2ZWRbMl07CiB9Owogc3RydWN0IGliX3V2ZXJic19hbGxvY19wZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOworICBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9Owogc3RydWN0IGliX3V2ZXJic19hbGxvY19wZF9yZXNwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGRfaGFuZGxlOworICBfX3UzMiBwZF9oYW5kbGU7CiB9Owogc3RydWN0IGliX3V2ZXJic19kZWFsbG9jX3BkIHsKLSBfX3UzMiBwZF9oYW5kbGU7CisgIF9fdTMyIHBkX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3V2ZXJic19vcGVuX3hyY2QgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTMyIGZkOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgZmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9mbGFnczsKLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191MzIgb2ZsYWdzOworICBfX3U2NCBkcml2ZXJfZGF0YVswXTsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX29wZW5feHJjZF9yZXNwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgeHJjZF9oYW5kbGU7CisgIF9fdTMyIHhyY2RfaGFuZGxlOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfY2xvc2VfeHJjZCB7Ci0gX191MzIgeHJjZF9oYW5kbGU7CisgIF9fdTMyIHhyY2RfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX3JlZ19tciB7Ci0gX191NjQgcmVzcG9uc2U7Ci0gX191NjQgc3RhcnQ7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3U2NCBzdGFydDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbGVuZ3RoOwotIF9fdTY0IGhjYV92YTsKLSBfX3UzMiBwZF9oYW5kbGU7Ci0gX191MzIgYWNjZXNzX2ZsYWdzOworICBfX3U2NCBsZW5ndGg7CisgIF9fdTY0IGhjYV92YTsKKyAgX191MzIgcGRfaGFuZGxlOworICBfX3UzMiBhY2Nlc3NfZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOworICBfX3U2NCBkcml2ZXJfZGF0YVswXTsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX3JlZ19tcl9yZXNwIHsKLSBfX3UzMiBtcl9oYW5kbGU7CisgIF9fdTMyIG1yX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbGtleTsKLSBfX3UzMiBya2V5OworICBfX3UzMiBsa2V5OworICBfX3UzMiBya2V5OworfTsKK3N0cnVjdCBpYl91dmVyYnNfcmVyZWdfbXIgeworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTMyIG1yX2hhbmRsZTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTY0IHN0YXJ0OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191NjQgbGVuZ3RoOworICBfX3U2NCBoY2FfdmE7CisgIF9fdTMyIHBkX2hhbmRsZTsKKyAgX191MzIgYWNjZXNzX2ZsYWdzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KK307CitzdHJ1Y3QgaWJfdXZlcmJzX3JlcmVnX21yX3Jlc3AgeworICBfX3UzMiBsa2V5OworICBfX3UzMiBya2V5OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2RlcmVnX21yIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbXJfaGFuZGxlOworICBfX3UzMiBtcl9oYW5kbGU7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfYWxsb2NfbXcgewotIF9fdTY0IHJlc3BvbnNlOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgcGRfaGFuZGxlOworICBfX3U4IG13X3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBkX2hhbmRsZTsKLSBfX3U4IG13X3R5cGU7Ci0gX191OCByZXNlcnZlZFszXTsKKyAgX191OCByZXNlcnZlZFszXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19hbGxvY19td19yZXNwIHsKLSBfX3UzMiBtd19oYW5kbGU7Ci0gX191MzIgcmtleTsKLX07CisgIF9fdTMyIG13X2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHJrZXk7Cit9Owogc3RydWN0IGliX3V2ZXJic19kZWFsbG9jX213IHsKLSBfX3UzMiBtd19oYW5kbGU7CisgIF9fdTMyIG13X2hhbmRsZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3V2ZXJic19jcmVhdGVfY29tcF9jaGFubmVsIHsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHJlc3BvbnNlOwogfTsKLXN0cnVjdCBpYl91dmVyYnNfY3JlYXRlX2NvbXBfY2hhbm5lbF9yZXNwIHsKLSBfX3UzMiBmZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgaWJfdXZlcmJzX2NyZWF0ZV9jb21wX2NoYW5uZWxfcmVzcCB7CisgIF9fdTMyIGZkOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfY3JlYXRlX2NxIHsKLSBfX3U2NCByZXNwb25zZTsKLSBfX3U2NCB1c2VyX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY3FlOwotIF9fdTMyIGNvbXBfdmVjdG9yOwotIF9fczMyIGNvbXBfY2hhbm5lbDsKLSBfX3UzMiByZXNlcnZlZDsKKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHVzZXJfaGFuZGxlOworICBfX3UzMiBjcWU7CisgIF9fdTMyIGNvbXBfdmVjdG9yOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX19zMzIgY29tcF9jaGFubmVsOworICBfX3UzMiByZXNlcnZlZDsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfY3JlYXRlX2NxX3Jlc3AgewotIF9fdTMyIGNxX2hhbmRsZTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgY3FlOworICBfX3UzMiBjcV9oYW5kbGU7CisgIF9fdTMyIGNxZTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19yZXNpemVfY3EgewotIF9fdTY0IHJlc3BvbnNlOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgY3FfaGFuZGxlOworICBfX3UzMiBjcWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGNxX2hhbmRsZTsKLSBfX3UzMiBjcWU7Ci0gX191NjQgZHJpdmVyX2RhdGFbMF07CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX3Jlc2l6ZV9jcV9yZXNwIHsKLSBfX3UzMiBjcWU7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191NjQgZHJpdmVyX2RhdGFbMF07CisgIF9fdTMyIGNxZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHJlc2VydmVkOworICBfX3U2NCBkcml2ZXJfZGF0YVswXTsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX3BvbGxfY3EgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTMyIGNxX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbmU7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBjcV9oYW5kbGU7CisgIF9fdTMyIG5lOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX3djIHsKLSBfX3U2NCB3cl9pZDsKKyAgX191NjQgd3JfaWQ7CisgIF9fdTMyIHN0YXR1czsKKyAgX191MzIgb3Bjb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdGF0dXM7Ci0gX191MzIgb3Bjb2RlOwotIF9fdTMyIHZlbmRvcl9lcnI7Ci0gX191MzIgYnl0ZV9sZW47CisgIF9fdTMyIHZlbmRvcl9lcnI7CisgIF9fdTMyIGJ5dGVfbGVuOworICB1bmlvbiB7CisgICAgX191MzIgaW1tX2RhdGE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBfX3UzMiBpbW1fZGF0YTsKLSBfX3UzMiBpbnZhbGlkYXRlX3JrZXk7Ci0gfSBleDsKKyAgICBfX3UzMiBpbnZhbGlkYXRlX3JrZXk7CisgIH0gZXg7CisgIF9fdTMyIHFwX251bTsKKyAgX191MzIgc3JjX3FwOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBxcF9udW07Ci0gX191MzIgc3JjX3FwOwotIF9fdTMyIHdjX2ZsYWdzOwotIF9fdTE2IHBrZXlfaW5kZXg7CisgIF9fdTMyIHdjX2ZsYWdzOworICBfX3UxNiBwa2V5X2luZGV4OworICBfX3UxNiBzbGlkOworICBfX3U4IHNsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBzbGlkOwotIF9fdTggc2w7Ci0gX191OCBkbGlkX3BhdGhfYml0czsKLSBfX3U4IHBvcnRfbnVtOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlc2VydmVkOworICBfX3U4IGRsaWRfcGF0aF9iaXRzOworICBfX3U4IHBvcnRfbnVtOworICBfX3U4IHJlc2VydmVkOwogfTsKLXN0cnVjdCBpYl91dmVyYnNfcG9sbF9jcV9yZXNwIHsKLSBfX3UzMiBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQ7Ci0gc3RydWN0IGliX3V2ZXJic193YyB3Y1swXTsKK3N0cnVjdCBpYl91dmVyYnNfcG9sbF9jcV9yZXNwIHsKKyAgX191MzIgY291bnQ7CisgIF9fdTMyIHJlc2VydmVkOworICBzdHJ1Y3QgaWJfdXZlcmJzX3djIHdjWzBdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX3JlcV9ub3RpZnlfY3EgeworICBfX3UzMiBjcV9oYW5kbGU7CisgIF9fdTMyIHNvbGljaXRlZF9vbmx5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjcV9oYW5kbGU7Ci0gX191MzIgc29saWNpdGVkX29ubHk7CiB9Owogc3RydWN0IGliX3V2ZXJic19kZXN0cm95X2NxIHsKKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTMyIGNxX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzcG9uc2U7Ci0gX191MzIgY3FfaGFuZGxlOwotIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiByZXNlcnZlZDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19kZXN0cm95X2NxX3Jlc3AgewotIF9fdTMyIGNvbXBfZXZlbnRzX3JlcG9ydGVkOwotIF9fdTMyIGFzeW5jX2V2ZW50c19yZXBvcnRlZDsKLX07CisgIF9fdTMyIGNvbXBfZXZlbnRzX3JlcG9ydGVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgYXN5bmNfZXZlbnRzX3JlcG9ydGVkOworfTsKIHN0cnVjdCBpYl91dmVyYnNfZ2xvYmFsX3JvdXRlIHsKLSBfX3U4IGRnaWRbMTZdOwotIF9fdTMyIGZsb3dfbGFiZWw7Ci0gX191OCBzZ2lkX2luZGV4OworICBfX3U4IGRnaWRbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGhvcF9saW1pdDsKLSBfX3U4IHRyYWZmaWNfY2xhc3M7Ci0gX191OCByZXNlcnZlZDsKKyAgX191MzIgZmxvd19sYWJlbDsKKyAgX191OCBzZ2lkX2luZGV4OworICBfX3U4IGhvcF9saW1pdDsKKyAgX191OCB0cmFmZmljX2NsYXNzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCByZXNlcnZlZDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19haF9hdHRyIHsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2dsb2JhbF9yb3V0ZSBncmg7Ci0gX191MTYgZGxpZDsKLSBfX3U4IHNsOworICBzdHJ1Y3QgaWJfdXZlcmJzX2dsb2JhbF9yb3V0ZSBncmg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc3JjX3BhdGhfYml0czsKLSBfX3U4IHN0YXRpY19yYXRlOwotIF9fdTggaXNfZ2xvYmFsOwotIF9fdTggcG9ydF9udW07CisgIF9fdTE2IGRsaWQ7CisgIF9fdTggc2w7CisgIF9fdTggc3JjX3BhdGhfYml0czsKKyAgX191OCBzdGF0aWNfcmF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZXNlcnZlZDsKKyAgX191OCBpc19nbG9iYWw7CisgIF9fdTggcG9ydF9udW07CisgIF9fdTggcmVzZXJ2ZWQ7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfcXBfYXR0ciB7Ci0gX191MzIgcXBfYXR0cl9tYXNrOworICBfX3UzMiBxcF9hdHRyX21hc2s7CisgIF9fdTMyIHFwX3N0YXRlOworICBfX3UzMiBjdXJfcXBfc3RhdGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFwX3N0YXRlOwotIF9fdTMyIGN1cl9xcF9zdGF0ZTsKLSBfX3UzMiBwYXRoX210dTsKLSBfX3UzMiBwYXRoX21pZ19zdGF0ZTsKKyAgX191MzIgcGF0aF9tdHU7CisgIF9fdTMyIHBhdGhfbWlnX3N0YXRlOworICBfX3UzMiBxa2V5OworICBfX3UzMiBycV9wc247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFrZXk7Ci0gX191MzIgcnFfcHNuOwotIF9fdTMyIHNxX3BzbjsKLSBfX3UzMiBkZXN0X3FwX251bTsKKyAgX191MzIgc3FfcHNuOworICBfX3UzMiBkZXN0X3FwX251bTsKKyAgX191MzIgcXBfYWNjZXNzX2ZsYWdzOworICBzdHJ1Y3QgaWJfdXZlcmJzX2FoX2F0dHIgYWhfYXR0cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXBfYWNjZXNzX2ZsYWdzOwotIHN0cnVjdCBpYl91dmVyYnNfYWhfYXR0ciBhaF9hdHRyOwotIHN0cnVjdCBpYl91dmVyYnNfYWhfYXR0ciBhbHRfYWhfYXR0cjsKLSBfX3UzMiBtYXhfc2VuZF93cjsKKyAgc3RydWN0IGliX3V2ZXJic19haF9hdHRyIGFsdF9haF9hdHRyOworICBfX3UzMiBtYXhfc2VuZF93cjsKKyAgX191MzIgbWF4X3JlY3Zfd3I7CisgIF9fdTMyIG1heF9zZW5kX3NnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X3JlY3Zfd3I7Ci0gX191MzIgbWF4X3NlbmRfc2dlOwotIF9fdTMyIG1heF9yZWN2X3NnZTsKLSBfX3UzMiBtYXhfaW5saW5lX2RhdGE7CisgIF9fdTMyIG1heF9yZWN2X3NnZTsKKyAgX191MzIgbWF4X2lubGluZV9kYXRhOworICBfX3UxNiBwa2V5X2luZGV4OworICBfX3UxNiBhbHRfcGtleV9pbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcGtleV9pbmRleDsKLSBfX3UxNiBhbHRfcGtleV9pbmRleDsKLSBfX3U4IGVuX3NxZF9hc3luY19ub3RpZnk7Ci0gX191OCBzcV9kcmFpbmluZzsKKyAgX191OCBlbl9zcWRfYXN5bmNfbm90aWZ5OworICBfX3U4IHNxX2RyYWluaW5nOworICBfX3U4IG1heF9yZF9hdG9taWM7CisgIF9fdTggbWF4X2Rlc3RfcmRfYXRvbWljOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1heF9yZF9hdG9taWM7Ci0gX191OCBtYXhfZGVzdF9yZF9hdG9taWM7Ci0gX191OCBtaW5fcm5yX3RpbWVyOwotIF9fdTggcG9ydF9udW07CisgIF9fdTggbWluX3Jucl90aW1lcjsKKyAgX191OCBwb3J0X251bTsKKyAgX191OCB0aW1lb3V0OworICBfX3U4IHJldHJ5X2NudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0aW1lb3V0OwotIF9fdTggcmV0cnlfY250OwotIF9fdTggcm5yX3JldHJ5OwotIF9fdTggYWx0X3BvcnRfbnVtOworICBfX3U4IHJucl9yZXRyeTsKKyAgX191OCBhbHRfcG9ydF9udW07CisgIF9fdTggYWx0X3RpbWVvdXQ7CisgIF9fdTggcmVzZXJ2ZWRbNV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggYWx0X3RpbWVvdXQ7Ci0gX191OCByZXNlcnZlZFs1XTsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2NyZWF0ZV9xcCB7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3U2NCB1c2VyX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgcmVzcG9uc2U7Ci0gX191NjQgdXNlcl9oYW5kbGU7Ci0gX191MzIgcGRfaGFuZGxlOwotIF9fdTMyIHNlbmRfY3FfaGFuZGxlOworICBfX3UzMiBwZF9oYW5kbGU7CisgIF9fdTMyIHNlbmRfY3FfaGFuZGxlOworICBfX3UzMiByZWN2X2NxX2hhbmRsZTsKKyAgX191MzIgc3JxX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVjdl9jcV9oYW5kbGU7Ci0gX191MzIgc3JxX2hhbmRsZTsKLSBfX3UzMiBtYXhfc2VuZF93cjsKLSBfX3UzMiBtYXhfcmVjdl93cjsKKyAgX191MzIgbWF4X3NlbmRfd3I7CisgIF9fdTMyIG1heF9yZWN2X3dyOworICBfX3UzMiBtYXhfc2VuZF9zZ2U7CisgIF9fdTMyIG1heF9yZWN2X3NnZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X3NlbmRfc2dlOwotIF9fdTMyIG1heF9yZWN2X3NnZTsKLSBfX3UzMiBtYXhfaW5saW5lX2RhdGE7Ci0gX191OCBzcV9zaWdfYWxsOworICBfX3UzMiBtYXhfaW5saW5lX2RhdGE7CisgIF9fdTggc3Ffc2lnX2FsbDsKKyAgX191OCBxcF90eXBlOworICBfX3U4IGlzX3NycTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBxcF90eXBlOwotIF9fdTggaXNfc3JxOwotIF9fdTggcmVzZXJ2ZWQ7Ci0gX191NjQgZHJpdmVyX2RhdGFbMF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHJlc2VydmVkOworICBfX3U2NCBkcml2ZXJfZGF0YVswXTsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX29wZW5fcXAgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTY0IHVzZXJfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBwZF9oYW5kbGU7Ci0gX191MzIgcXBuOwotIF9fdTggcXBfdHlwZTsKLSBfX3U4IHJlc2VydmVkWzddOworICBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgdXNlcl9oYW5kbGU7CisgIF9fdTMyIHBkX2hhbmRsZTsKKyAgX191MzIgcXBuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191OCBxcF90eXBlOworICBfX3U4IHJlc2VydmVkWzddOworICBfX3U2NCBkcml2ZXJfZGF0YVswXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19jcmVhdGVfcXBfcmVzcCB7Ci0gX191MzIgcXBfaGFuZGxlOworICBfX3UzMiBxcF9oYW5kbGU7CisgIF9fdTMyIHFwbjsKKyAgX191MzIgbWF4X3NlbmRfd3I7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFwbjsKLSBfX3UzMiBtYXhfc2VuZF93cjsKLSBfX3UzMiBtYXhfcmVjdl93cjsKLSBfX3UzMiBtYXhfc2VuZF9zZ2U7CisgIF9fdTMyIG1heF9yZWN2X3dyOworICBfX3UzMiBtYXhfc2VuZF9zZ2U7CisgIF9fdTMyIG1heF9yZWN2X3NnZTsKKyAgX191MzIgbWF4X2lubGluZV9kYXRhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfcmVjdl9zZ2U7Ci0gX191MzIgbWF4X2lubGluZV9kYXRhOwotIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiByZXNlcnZlZDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19xcF9kZXN0IHsKLSBfX3U4IGRnaWRbMTZdOwotIF9fdTMyIGZsb3dfbGFiZWw7Ci0gX191MTYgZGxpZDsKKyAgX191OCBkZ2lkWzE2XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgcmVzZXJ2ZWQ7Ci0gX191OCBzZ2lkX2luZGV4OwotIF9fdTggaG9wX2xpbWl0OwotIF9fdTggdHJhZmZpY19jbGFzczsKKyAgX191MzIgZmxvd19sYWJlbDsKKyAgX191MTYgZGxpZDsKKyAgX191MTYgcmVzZXJ2ZWQ7CisgIF9fdTggc2dpZF9pbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzbDsKLSBfX3U4IHNyY19wYXRoX2JpdHM7Ci0gX191OCBzdGF0aWNfcmF0ZTsKLSBfX3U4IGlzX2dsb2JhbDsKKyAgX191OCBob3BfbGltaXQ7CisgIF9fdTggdHJhZmZpY19jbGFzczsKKyAgX191OCBzbDsKKyAgX191OCBzcmNfcGF0aF9iaXRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBvcnRfbnVtOworICBfX3U4IHN0YXRpY19yYXRlOworICBfX3U4IGlzX2dsb2JhbDsKKyAgX191OCBwb3J0X251bTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19xdWVyeV9xcCB7Ci0gX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBxcF9oYW5kbGU7CisgIF9fdTMyIGF0dHJfbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXBfaGFuZGxlOwotIF9fdTMyIGF0dHJfbWFzazsKLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfcXVlcnlfcXBfcmVzcCB7Ci0gc3RydWN0IGliX3V2ZXJic19xcF9kZXN0IGRlc3Q7Ci0gc3RydWN0IGliX3V2ZXJic19xcF9kZXN0IGFsdF9kZXN0OwotIF9fdTMyIG1heF9zZW5kX3dyOworICBzdHJ1Y3QgaWJfdXZlcmJzX3FwX2Rlc3QgZGVzdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X3JlY3Zfd3I7Ci0gX191MzIgbWF4X3NlbmRfc2dlOwotIF9fdTMyIG1heF9yZWN2X3NnZTsKLSBfX3UzMiBtYXhfaW5saW5lX2RhdGE7CisgIHN0cnVjdCBpYl91dmVyYnNfcXBfZGVzdCBhbHRfZGVzdDsKKyAgX191MzIgbWF4X3NlbmRfd3I7CisgIF9fdTMyIG1heF9yZWN2X3dyOworICBfX3UzMiBtYXhfc2VuZF9zZ2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFrZXk7Ci0gX191MzIgcnFfcHNuOwotIF9fdTMyIHNxX3BzbjsKLSBfX3UzMiBkZXN0X3FwX251bTsKKyAgX191MzIgbWF4X3JlY3Zfc2dlOworICBfX3UzMiBtYXhfaW5saW5lX2RhdGE7CisgIF9fdTMyIHFrZXk7CisgIF9fdTMyIHJxX3BzbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXBfYWNjZXNzX2ZsYWdzOwotIF9fdTE2IHBrZXlfaW5kZXg7Ci0gX191MTYgYWx0X3BrZXlfaW5kZXg7Ci0gX191OCBxcF9zdGF0ZTsKKyAgX191MzIgc3FfcHNuOworICBfX3UzMiBkZXN0X3FwX251bTsKKyAgX191MzIgcXBfYWNjZXNzX2ZsYWdzOworICBfX3UxNiBwa2V5X2luZGV4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGN1cl9xcF9zdGF0ZTsKLSBfX3U4IHBhdGhfbXR1OwotIF9fdTggcGF0aF9taWdfc3RhdGU7Ci0gX191OCBzcV9kcmFpbmluZzsKKyAgX191MTYgYWx0X3BrZXlfaW5kZXg7CisgIF9fdTggcXBfc3RhdGU7CisgIF9fdTggY3VyX3FwX3N0YXRlOworICBfX3U4IHBhdGhfbXR1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IG1heF9yZF9hdG9taWM7Ci0gX191OCBtYXhfZGVzdF9yZF9hdG9taWM7Ci0gX191OCBtaW5fcm5yX3RpbWVyOwotIF9fdTggcG9ydF9udW07CisgIF9fdTggcGF0aF9taWdfc3RhdGU7CisgIF9fdTggc3FfZHJhaW5pbmc7CisgIF9fdTggbWF4X3JkX2F0b21pYzsKKyAgX191OCBtYXhfZGVzdF9yZF9hdG9taWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdGltZW91dDsKLSBfX3U4IHJldHJ5X2NudDsKLSBfX3U4IHJucl9yZXRyeTsKLSBfX3U4IGFsdF9wb3J0X251bTsKKyAgX191OCBtaW5fcm5yX3RpbWVyOworICBfX3U4IHBvcnRfbnVtOworICBfX3U4IHRpbWVvdXQ7CisgIF9fdTggcmV0cnlfY250OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGFsdF90aW1lb3V0OwotIF9fdTggc3Ffc2lnX2FsbDsKLSBfX3U4IHJlc2VydmVkWzVdOwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOworICBfX3U4IHJucl9yZXRyeTsKKyAgX191OCBhbHRfcG9ydF9udW07CisgIF9fdTggYWx0X3RpbWVvdXQ7CisgIF9fdTggc3Ffc2lnX2FsbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcmVzZXJ2ZWRbNV07CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfbW9kaWZ5X3FwIHsKLSBzdHJ1Y3QgaWJfdXZlcmJzX3FwX2Rlc3QgZGVzdDsKLSBzdHJ1Y3QgaWJfdXZlcmJzX3FwX2Rlc3QgYWx0X2Rlc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFwX2hhbmRsZTsKLSBfX3UzMiBhdHRyX21hc2s7Ci0gX191MzIgcWtleTsKLSBfX3UzMiBycV9wc247CisgIHN0cnVjdCBpYl91dmVyYnNfcXBfZGVzdCBkZXN0OworICBzdHJ1Y3QgaWJfdXZlcmJzX3FwX2Rlc3QgYWx0X2Rlc3Q7CisgIF9fdTMyIHFwX2hhbmRsZTsKKyAgX191MzIgYXR0cl9tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcV9wc247Ci0gX191MzIgZGVzdF9xcF9udW07Ci0gX191MzIgcXBfYWNjZXNzX2ZsYWdzOwotIF9fdTE2IHBrZXlfaW5kZXg7CisgIF9fdTMyIHFrZXk7CisgIF9fdTMyIHJxX3BzbjsKKyAgX191MzIgc3FfcHNuOworICBfX3UzMiBkZXN0X3FwX251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgYWx0X3BrZXlfaW5kZXg7Ci0gX191OCBxcF9zdGF0ZTsKLSBfX3U4IGN1cl9xcF9zdGF0ZTsKLSBfX3U4IHBhdGhfbXR1OworICBfX3UzMiBxcF9hY2Nlc3NfZmxhZ3M7CisgIF9fdTE2IHBrZXlfaW5kZXg7CisgIF9fdTE2IGFsdF9wa2V5X2luZGV4OworICBfX3U4IHFwX3N0YXRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHBhdGhfbWlnX3N0YXRlOwotIF9fdTggZW5fc3FkX2FzeW5jX25vdGlmeTsKLSBfX3U4IG1heF9yZF9hdG9taWM7Ci0gX191OCBtYXhfZGVzdF9yZF9hdG9taWM7CisgIF9fdTggY3VyX3FwX3N0YXRlOworICBfX3U4IHBhdGhfbXR1OworICBfX3U4IHBhdGhfbWlnX3N0YXRlOworICBfX3U4IGVuX3NxZF9hc3luY19ub3RpZnk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbWluX3Jucl90aW1lcjsKLSBfX3U4IHBvcnRfbnVtOwotIF9fdTggdGltZW91dDsKLSBfX3U4IHJldHJ5X2NudDsKKyAgX191OCBtYXhfcmRfYXRvbWljOworICBfX3U4IG1heF9kZXN0X3JkX2F0b21pYzsKKyAgX191OCBtaW5fcm5yX3RpbWVyOworICBfX3U4IHBvcnRfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJucl9yZXRyeTsKLSBfX3U4IGFsdF9wb3J0X251bTsKLSBfX3U4IGFsdF90aW1lb3V0OwotIF9fdTggcmVzZXJ2ZWRbMl07CisgIF9fdTggdGltZW91dDsKKyAgX191OCByZXRyeV9jbnQ7CisgIF9fdTggcm5yX3JldHJ5OworICBfX3U4IGFsdF9wb3J0X251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgZHJpdmVyX2RhdGFbMF07CisgIF9fdTggYWx0X3RpbWVvdXQ7CisgIF9fdTggcmVzZXJ2ZWRbMl07CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX21vZGlmeV9xcF9yZXNwIHsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19kZXN0cm95X3FwIHsKLSBfX3U2NCByZXNwb25zZTsKLSBfX3UzMiBxcF9oYW5kbGU7Ci0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTY0IHJlc3BvbnNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgcXBfaGFuZGxlOworICBfX3UzMiByZXNlcnZlZDsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2Rlc3Ryb3lfcXBfcmVzcCB7Ci0gX191MzIgZXZlbnRzX3JlcG9ydGVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgZXZlbnRzX3JlcG9ydGVkOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX3NnZSB7Ci0gX191NjQgYWRkcjsKLSBfX3UzMiBsZW5ndGg7Ci0gX191MzIgbGtleTsKKyAgX191NjQgYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGxlbmd0aDsKKyAgX191MzIgbGtleTsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX3NlbmRfd3IgewotIF9fdTY0IHdyX2lkOwotIF9fdTMyIG51bV9zZ2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9wY29kZTsKLSBfX3UzMiBzZW5kX2ZsYWdzOwotIHVuaW9uIHsKLSBfX3UzMiBpbW1fZGF0YTsKKyAgX191NjQgd3JfaWQ7CisgIF9fdTMyIG51bV9zZ2U7CisgIF9fdTMyIG9wY29kZTsKKyAgX191MzIgc2VuZF9mbGFnczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW52YWxpZGF0ZV9ya2V5OwotIH0gZXg7Ci0gdW5pb24gewotIHN0cnVjdCB7CisgIHVuaW9uIHsKKyAgICBfX3UzMiBpbW1fZGF0YTsKKyAgICBfX3UzMiBpbnZhbGlkYXRlX3JrZXk7CisgIH0gZXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlbW90ZV9hZGRyOwotIF9fdTMyIHJrZXk7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gfSByZG1hOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIF9fdTY0IHJlbW90ZV9hZGRyOworICAgICAgX191MzIgcmtleTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX3U2NCByZW1vdGVfYWRkcjsKLSBfX3U2NCBjb21wYXJlX2FkZDsKLSBfX3U2NCBzd2FwOworICAgICAgX191MzIgcmVzZXJ2ZWQ7CisgICAgfSByZG1hOworICAgIHN0cnVjdCB7CisgICAgICBfX3U2NCByZW1vdGVfYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmtleTsKLSBfX3UzMiByZXNlcnZlZDsKLSB9IGF0b21pYzsKLSBzdHJ1Y3QgeworICAgICAgX191NjQgY29tcGFyZV9hZGQ7CisgICAgICBfX3U2NCBzd2FwOworICAgICAgX191MzIgcmtleTsKKyAgICAgIF9fdTMyIHJlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhaDsKLSBfX3UzMiByZW1vdGVfcXBuOwotIF9fdTMyIHJlbW90ZV9xa2V5OwotIF9fdTMyIHJlc2VydmVkOworICAgIH0gYXRvbWljOworICAgIHN0cnVjdCB7CisgICAgICBfX3UzMiBhaDsKKyAgICAgIF9fdTMyIHJlbW90ZV9xcG47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gdWQ7Ci0gfSB3cjsKKyAgICAgIF9fdTMyIHJlbW90ZV9xa2V5OworICAgICAgX191MzIgcmVzZXJ2ZWQ7CisgICAgfSB1ZDsKKyAgfSB3cjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3V2ZXJic19wb3N0X3NlbmQgeworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgcXBfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNwb25zZTsKLSBfX3UzMiBxcF9oYW5kbGU7Ci0gX191MzIgd3JfY291bnQ7Ci0gX191MzIgc2dlX2NvdW50OworICBfX3UzMiB3cl9jb3VudDsKKyAgX191MzIgc2dlX2NvdW50OworICBfX3UzMiB3cWVfc2l6ZTsKKyAgc3RydWN0IGliX3V2ZXJic19zZW5kX3dyIHNlbmRfd3JbMF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHdxZV9zaXplOwotIHN0cnVjdCBpYl91dmVyYnNfc2VuZF93ciBzZW5kX3dyWzBdOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfcG9zdF9zZW5kX3Jlc3AgewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBiYWRfd3I7CisgIF9fdTMyIGJhZF93cjsKIH07Ci1zdHJ1Y3QgaWJfdXZlcmJzX3JlY3Zfd3IgewotIF9fdTY0IHdyX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBudW1fc2dlOwotIF9fdTMyIHJlc2VydmVkOworc3RydWN0IGliX3V2ZXJic19yZWN2X3dyIHsKKyAgX191NjQgd3JfaWQ7CisgIF9fdTMyIG51bV9zZ2U7CisgIF9fdTMyIHJlc2VydmVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX3Bvc3RfcmVjdiB7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBxcF9oYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTMyIHFwX2hhbmRsZTsKLSBfX3UzMiB3cl9jb3VudDsKLSBfX3UzMiBzZ2VfY291bnQ7CisgIF9fdTMyIHdyX2NvdW50OworICBfX3UzMiBzZ2VfY291bnQ7CisgIF9fdTMyIHdxZV9zaXplOworICBzdHJ1Y3QgaWJfdXZlcmJzX3JlY3Zfd3IgcmVjdl93clswXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgd3FlX3NpemU7Ci0gc3RydWN0IGliX3V2ZXJic19yZWN2X3dyIHJlY3Zfd3JbMF07CiB9Owogc3RydWN0IGliX3V2ZXJic19wb3N0X3JlY3ZfcmVzcCB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGJhZF93cjsKKyAgX191MzIgYmFkX3dyOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX3Bvc3Rfc3JxX3JlY3YgewotIF9fdTY0IHJlc3BvbnNlOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgc3JxX2hhbmRsZTsKKyAgX191MzIgd3JfY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNycV9oYW5kbGU7Ci0gX191MzIgd3JfY291bnQ7Ci0gX191MzIgc2dlX2NvdW50OwotIF9fdTMyIHdxZV9zaXplOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaWJfdXZlcmJzX3JlY3Zfd3IgcmVjdlswXTsKKyAgX191MzIgc2dlX2NvdW50OworICBfX3UzMiB3cWVfc2l6ZTsKKyAgc3RydWN0IGliX3V2ZXJic19yZWN2X3dyIHJlY3ZbMF07CiB9Owotc3RydWN0IGliX3V2ZXJic19wb3N0X3NycV9yZWN2X3Jlc3AgewotIF9fdTMyIGJhZF93cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitzdHJ1Y3QgaWJfdXZlcmJzX3Bvc3Rfc3JxX3JlY3ZfcmVzcCB7CisgIF9fdTMyIGJhZF93cjsKIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2NyZWF0ZV9haCB7Ci0gX191NjQgcmVzcG9uc2U7Ci0gX191NjQgdXNlcl9oYW5kbGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBkX2hhbmRsZTsKLSBfX3UzMiByZXNlcnZlZDsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2FoX2F0dHIgYXR0cjsKKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHVzZXJfaGFuZGxlOworICBfX3UzMiBwZF9oYW5kbGU7CisgIF9fdTMyIHJlc2VydmVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgc3RydWN0IGliX3V2ZXJic19haF9hdHRyIGF0dHI7CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfY3JlYXRlX2FoX3Jlc3AgewotIF9fdTMyIGFoX2hhbmRsZTsKKyAgX191MzIgYWhfaGFuZGxlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2Rlc3Ryb3lfYWggewotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBhaF9oYW5kbGU7CisgIF9fdTMyIGFoX2hhbmRsZTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19hdHRhY2hfbWNhc3QgewotIF9fdTggZ2lkWzE2XTsKKyAgX191OCBnaWRbMTZdOworICBfX3UzMiBxcF9oYW5kbGU7CisgIF9fdTE2IG1saWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHFwX2hhbmRsZTsKLSBfX3UxNiBtbGlkOwotIF9fdTE2IHJlc2VydmVkOwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MTYgcmVzZXJ2ZWQ7CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKIHN0cnVjdCBpYl91dmVyYnNfZGV0YWNoX21jYXN0IHsKLSBfX3U4IGdpZFsxNl07Ci0gX191MzIgcXBfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBtbGlkOwotIF9fdTE2IHJlc2VydmVkOwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOworICBfX3U4IGdpZFsxNl07CisgIF9fdTMyIHFwX2hhbmRsZTsKKyAgX191MTYgbWxpZDsKKyAgX191MTYgcmVzZXJ2ZWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U2NCBkcml2ZXJfZGF0YVswXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19mbG93X3NwZWNfaGRyIHsKLSBfX3UzMiB0eXBlOwotIF9fdTE2IHNpemU7Ci0gX191MTYgcmVzZXJ2ZWQ7CisgIF9fdTMyIHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IGZsb3dfc3BlY19kYXRhWzBdOworICBfX3UxNiBzaXplOworICBfX3UxNiByZXNlcnZlZDsKKyAgX191NjQgZmxvd19zcGVjX2RhdGFbMF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfZmxvd19ldGhfZmlsdGVyIHsKLSBfX3U4IGRzdF9tYWNbNl07CisgIF9fdTggZHN0X21hY1s2XTsKKyAgX191OCBzcmNfbWFjWzZdOworICBfX2JlMTYgZXRoZXJfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzcmNfbWFjWzZdOwotIF9fYmUxNiBldGhlcl90eXBlOwotIF9fYmUxNiB2bGFuX3RhZzsKKyAgX19iZTE2IHZsYW5fdGFnOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfc3BlY19ldGggewotIHVuaW9uIHsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfc3BlY19oZHIgaGRyOwotIHN0cnVjdCB7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UxNiBzaXplOwotIF9fdTE2IHJlc2VydmVkOwotIH07CisgICAgc3RydWN0IGliX3V2ZXJic19mbG93X3NwZWNfaGRyIGhkcjsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgdHlwZTsKKyAgICAgIF9fdTE2IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07Ci0gc3RydWN0IGliX3V2ZXJic19mbG93X2V0aF9maWx0ZXIgdmFsOwotIHN0cnVjdCBpYl91dmVyYnNfZmxvd19ldGhfZmlsdGVyIG1hc2s7CisgICAgICBfX3UxNiByZXNlcnZlZDsKKyAgICB9OworICB9OworICBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfZXRoX2ZpbHRlciB2YWw7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfZXRoX2ZpbHRlciBtYXNrOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfaXB2NF9maWx0ZXIgewotIF9fYmUzMiBzcmNfaXA7Ci0gX19iZTMyIGRzdF9pcDsKLX07CisgIF9fYmUzMiBzcmNfaXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2JlMzIgZHN0X2lwOworfTsKIHN0cnVjdCBpYl91dmVyYnNfZmxvd19zcGVjX2lwdjQgewotIHVuaW9uIHsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfc3BlY19oZHIgaGRyOwotIHN0cnVjdCB7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UxNiBzaXplOwotIF9fdTE2IHJlc2VydmVkOwotIH07CisgICAgc3RydWN0IGliX3V2ZXJic19mbG93X3NwZWNfaGRyIGhkcjsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgdHlwZTsKKyAgICAgIF9fdTE2IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07Ci0gc3RydWN0IGliX3V2ZXJic19mbG93X2lwdjRfZmlsdGVyIHZhbDsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfaXB2NF9maWx0ZXIgbWFzazsKKyAgICAgIF9fdTE2IHJlc2VydmVkOworICAgIH07CisgIH07CisgIHN0cnVjdCBpYl91dmVyYnNfZmxvd19pcHY0X2ZpbHRlciB2YWw7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfaXB2NF9maWx0ZXIgbWFzazsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19mbG93X3RjcF91ZHBfZmlsdGVyIHsKLSBfX2JlMTYgZHN0X3BvcnQ7Ci0gX19iZTE2IHNyY19wb3J0OwotfTsKKyAgX19iZTE2IGRzdF9wb3J0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX19iZTE2IHNyY19wb3J0OworfTsKIHN0cnVjdCBpYl91dmVyYnNfZmxvd19zcGVjX3RjcF91ZHAgewotIHVuaW9uIHsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfc3BlY19oZHIgaGRyOwotIHN0cnVjdCB7CisgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdHlwZTsKLSBfX3UxNiBzaXplOwotIF9fdTE2IHJlc2VydmVkOwotIH07CisgICAgc3RydWN0IGliX3V2ZXJic19mbG93X3NwZWNfaGRyIGhkcjsKKyAgICBzdHJ1Y3QgeworICAgICAgX191MzIgdHlwZTsKKyAgICAgIF9fdTE2IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH07Ci0gc3RydWN0IGliX3V2ZXJic19mbG93X3RjcF91ZHBfZmlsdGVyIHZhbDsKLSBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfdGNwX3VkcF9maWx0ZXIgbWFzazsKKyAgICAgIF9fdTE2IHJlc2VydmVkOworICAgIH07CisgIH07CisgIHN0cnVjdCBpYl91dmVyYnNfZmxvd190Y3BfdWRwX2ZpbHRlciB2YWw7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgaWJfdXZlcmJzX2Zsb3dfdGNwX3VkcF9maWx0ZXIgbWFzazsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGliX3V2ZXJic19mbG93X2F0dHIgewotIF9fdTMyIHR5cGU7Ci0gX191MTYgc2l6ZTsKLSBfX3UxNiBwcmlvcml0eTsKKyAgX191MzIgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBudW1fb2Zfc3BlY3M7Ci0gX191OCByZXNlcnZlZFsyXTsKLSBfX3U4IHBvcnQ7Ci0gX191MzIgZmxhZ3M7CisgIF9fdTE2IHNpemU7CisgIF9fdTE2IHByaW9yaXR5OworICBfX3U4IG51bV9vZl9zcGVjczsKKyAgX191OCByZXNlcnZlZFsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGliX3V2ZXJic19mbG93X3NwZWNfaGRyIGZsb3dfc3BlY3NbMF07CisgIF9fdTggcG9ydDsKKyAgX191MzIgZmxhZ3M7CisgIHN0cnVjdCBpYl91dmVyYnNfZmxvd19zcGVjX2hkciBmbG93X3NwZWNzWzBdOwogfTsKLXN0cnVjdCBpYl91dmVyYnNfY3JlYXRlX2Zsb3cgewotIF9fdTMyIGNvbXBfbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXBfaGFuZGxlOwotIHN0cnVjdCBpYl91dmVyYnNfZmxvd19hdHRyIGZsb3dfYXR0cjsKK3N0cnVjdCBpYl91dmVyYnNfY3JlYXRlX2Zsb3cgeworICBfX3UzMiBjb21wX21hc2s7CisgIF9fdTMyIHFwX2hhbmRsZTsKKyAgc3RydWN0IGliX3V2ZXJic19mbG93X2F0dHIgZmxvd19hdHRyOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgaWJfdXZlcmJzX2NyZWF0ZV9mbG93X3Jlc3AgeworICBfX3UzMiBjb21wX21hc2s7CisgIF9fdTMyIGZsb3dfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb21wX21hc2s7Ci0gX191MzIgZmxvd19oYW5kbGU7CiB9Owogc3RydWN0IGliX3V2ZXJic19kZXN0cm95X2Zsb3cgeworICBfX3UzMiBjb21wX21hc2s7CisgIF9fdTMyIGZsb3dfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjb21wX21hc2s7Ci0gX191MzIgZmxvd19oYW5kbGU7CiB9Owogc3RydWN0IGliX3V2ZXJic19jcmVhdGVfc3JxIHsKKyAgX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHVzZXJfaGFuZGxlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNwb25zZTsKLSBfX3U2NCB1c2VyX2hhbmRsZTsKLSBfX3UzMiBwZF9oYW5kbGU7Ci0gX191MzIgbWF4X3dyOworICBfX3UzMiBwZF9oYW5kbGU7CisgIF9fdTMyIG1heF93cjsKKyAgX191MzIgbWF4X3NnZTsKKyAgX191MzIgc3JxX2xpbWl0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfc2dlOwotIF9fdTMyIHNycV9saW1pdDsKLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfY3JlYXRlX3hzcnEgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTY0IHVzZXJfaGFuZGxlOwotIF9fdTMyIHNycV90eXBlOworICBfX3U2NCByZXNwb25zZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcGRfaGFuZGxlOwotIF9fdTMyIG1heF93cjsKLSBfX3UzMiBtYXhfc2dlOwotIF9fdTMyIHNycV9saW1pdDsKKyAgX191NjQgdXNlcl9oYW5kbGU7CisgIF9fdTMyIHNycV90eXBlOworICBfX3UzMiBwZF9oYW5kbGU7CisgIF9fdTMyIG1heF93cjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQ7Ci0gX191MzIgeHJjZF9oYW5kbGU7Ci0gX191MzIgY3FfaGFuZGxlOwotIF9fdTY0IGRyaXZlcl9kYXRhWzBdOworICBfX3UzMiBtYXhfc2dlOworICBfX3UzMiBzcnFfbGltaXQ7CisgIF9fdTMyIHJlc2VydmVkOworICBfX3UzMiB4cmNkX2hhbmRsZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGNxX2hhbmRsZTsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9Owogc3RydWN0IGliX3V2ZXJic19jcmVhdGVfc3JxX3Jlc3AgewotIF9fdTMyIHNycV9oYW5kbGU7Ci0gX191MzIgbWF4X3dyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYXhfc2dlOwotIF9fdTMyIHNycW47CisgIF9fdTMyIHNycV9oYW5kbGU7CisgIF9fdTMyIG1heF93cjsKKyAgX191MzIgbWF4X3NnZTsKKyAgX191MzIgc3JxbjsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGliX3V2ZXJic19tb2RpZnlfc3JxIHsKKyAgX191MzIgc3JxX2hhbmRsZTsKKyAgX191MzIgYXR0cl9tYXNrOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzcnFfaGFuZGxlOwotIF9fdTMyIGF0dHJfbWFzazsKLSBfX3UzMiBtYXhfd3I7Ci0gX191MzIgc3JxX2xpbWl0OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191MzIgbWF4X3dyOworICBfX3UzMiBzcnFfbGltaXQ7CisgIF9fdTY0IGRyaXZlcl9kYXRhWzBdOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaWJfdXZlcmJzX3F1ZXJ5X3NycSB7Ci0gX191NjQgcmVzcG9uc2U7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBzcnFfaGFuZGxlOworICBfX3UzMiByZXNlcnZlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3JxX2hhbmRsZTsKLSBfX3UzMiByZXNlcnZlZDsKLSBfX3U2NCBkcml2ZXJfZGF0YVswXTsKKyAgX191NjQgZHJpdmVyX2RhdGFbMF07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpYl91dmVyYnNfcXVlcnlfc3JxX3Jlc3AgewotIF9fdTMyIG1heF93cjsKLSBfX3UzMiBtYXhfc2dlOwotIF9fdTMyIHNycV9saW1pdDsKKyAgX191MzIgbWF4X3dyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNlcnZlZDsKKyAgX191MzIgbWF4X3NnZTsKKyAgX191MzIgc3JxX2xpbWl0OworICBfX3UzMiByZXNlcnZlZDsKIH07Ci1zdHJ1Y3QgaWJfdXZlcmJzX2Rlc3Ryb3lfc3JxIHsKLSBfX3U2NCByZXNwb25zZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgc3JxX2hhbmRsZTsKLSBfX3UzMiByZXNlcnZlZDsKK3N0cnVjdCBpYl91dmVyYnNfZGVzdHJveV9zcnEgeworICBfX3U2NCByZXNwb25zZTsKKyAgX191MzIgc3JxX2hhbmRsZTsKKyAgX191MzIgcmVzZXJ2ZWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBpYl91dmVyYnNfZGVzdHJveV9zcnFfcmVzcCB7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGV2ZW50c19yZXBvcnRlZDsKKyAgX191MzIgZXZlbnRzX3JlcG9ydGVkOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvcmRtYS9yZG1hX25ldGxpbmsuaCBiL2xpYmMva2VybmVsL3VhcGkvcmRtYS9yZG1hX25ldGxpbmsuaAppbmRleCAxOTViN2YxLi5lNDliZmZmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3JkbWEvcmRtYV9uZXRsaW5rLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9yZG1hL3JkbWFfbmV0bGluay5oCkBAIC0yMSwzNCArMjEsMTM1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSRE1BX05MX1JETUFfQ00gPSAxCisgIFJETUFfTkxfUkRNQV9DTSA9IDEsCisgIFJETUFfTkxfTkVTLAorICBSRE1BX05MX0M0SVcsCisgIFJETUFfTkxfTlVNX0NMSUVOVFMKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCit9OworZW51bSB7CisgIFJETUFfTkxfR1JPVVBfQ00gPSAxLAorICBSRE1BX05MX0dST1VQX0lXUE0sCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBSRE1BX05MX05VTV9HUk9VUFMKIH07CiAjZGVmaW5lIFJETUFfTkxfR0VUX0NMSUVOVCh0eXBlKSAoKHR5cGUgJiAoKCgxIDw8IDYpIC0gMSkgPDwgMTApKSA+PiAxMCkKICNkZWZpbmUgUkRNQV9OTF9HRVRfT1AodHlwZSkgKHR5cGUgJiAoKDEgPDwgMTApIC0gMSkpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBSRE1BX05MX0dFVF9UWVBFKGNsaWVudCwgb3ApICgoY2xpZW50IDw8IDEwKSArIG9wKQorI2RlZmluZSBSRE1BX05MX0dFVF9UWVBFKGNsaWVudCxvcCkgKChjbGllbnQgPDwgMTApICsgb3ApCiBlbnVtIHsKLSBSRE1BX05MX1JETUFfQ01fSURfU1RBVFMgPSAwLAotIFJETUFfTkxfUkRNQV9DTV9OVU1fT1BTCisgIFJETUFfTkxfUkRNQV9DTV9JRF9TVEFUUyA9IDAsCisgIFJETUFfTkxfUkRNQV9DTV9OVU1fT1BTCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gewotIFJETUFfTkxfUkRNQV9DTV9BVFRSX1NSQ19BRERSID0gMSwKLSBSRE1BX05MX1JETUFfQ01fQVRUUl9EU1RfQUREUiwKKyAgUkRNQV9OTF9SRE1BX0NNX0FUVFJfU1JDX0FERFIgPSAxLAorICBSRE1BX05MX1JETUFfQ01fQVRUUl9EU1RfQUREUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUkRNQV9OTF9SRE1BX0NNX05VTV9BVFRSLAorICBSRE1BX05MX1JETUFfQ01fTlVNX0FUVFIsCiB9OworZW51bSB7CisgIFJETUFfTkxfSVdQTV9SRUdfUElEID0gMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFJETUFfTkxfSVdQTV9BRERfTUFQUElORywKKyAgUkRNQV9OTF9JV1BNX1FVRVJZX01BUFBJTkcsCisgIFJETUFfTkxfSVdQTV9SRU1PVkVfTUFQUElORywKKyAgUkRNQV9OTF9JV1BNX0hBTkRMRV9FUlIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBSRE1BX05MX0lXUE1fTUFQSU5GTywKKyAgUkRNQV9OTF9JV1BNX01BUElORk9fTlVNLAorICBSRE1BX05MX0lXUE1fTlVNX09QUworfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV9jbV9pZF9zdGF0cyB7Ci0gX191MzIgcXBfbnVtOworICBfX3UzMiBxcF9udW07CisgIF9fdTMyIGJvdW5kX2Rldl9pZjsKKyAgX191MzIgcG9ydF9zcGFjZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYm91bmRfZGV2X2lmOwotIF9fdTMyIHBvcnRfc3BhY2U7Ci0gX19zMzIgcGlkOwotIF9fdTggY21fc3RhdGU7CisgIF9fczMyIHBpZDsKKyAgX191OCBjbV9zdGF0ZTsKKyAgX191OCBub2RlX3R5cGU7CisgIF9fdTggcG9ydF9udW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbm9kZV90eXBlOwotIF9fdTggcG9ydF9udW07Ci0gX191OCBxcF90eXBlOworICBfX3U4IHFwX3R5cGU7Cit9OworZW51bSB7CisgIElXUE1fTkxBX1JFR19QSURfVU5TUEVDID0gMCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIElXUE1fTkxBX1JFR19QSURfU0VRLAorICBJV1BNX05MQV9SRUdfSUZfTkFNRSwKKyAgSVdQTV9OTEFfUkVHX0lCREVWX05BTUUsCisgIElXUE1fTkxBX1JFR19VTElCX05BTUUsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJV1BNX05MQV9SRUdfUElEX01BWAorfTsKK2VudW0geworICBJV1BNX05MQV9SUkVHX1BJRF9VTlNQRUMgPSAwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSVdQTV9OTEFfUlJFR19QSURfU0VRLAorICBJV1BNX05MQV9SUkVHX0lCREVWX05BTUUsCisgIElXUE1fTkxBX1JSRUdfVUxJQl9OQU1FLAorICBJV1BNX05MQV9SUkVHX1VMSUJfVkVSLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSVdQTV9OTEFfUlJFR19QSURfRVJSLAorICBJV1BNX05MQV9SUkVHX1BJRF9NQVgKK307CitlbnVtIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIElXUE1fTkxBX01BTkFHRV9NQVBQSU5HX1VOU1BFQyA9IDAsCisgIElXUE1fTkxBX01BTkFHRV9NQVBQSU5HX1NFUSwKKyAgSVdQTV9OTEFfTUFOQUdFX0FERFIsCisgIElXUE1fTkxBX01BTkFHRV9NQVBQRURfTE9DX0FERFIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJV1BNX05MQV9STUFOQUdFX01BUFBJTkdfRVJSLAorICBJV1BNX05MQV9STUFOQUdFX01BUFBJTkdfTUFYCit9OworI2RlZmluZSBJV1BNX05MQV9NQU5BR0VfTUFQUElOR19NQVggMworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgSVdQTV9OTEFfUVVFUllfTUFQUElOR19NQVggNAorI2RlZmluZSBJV1BNX05MQV9NQVBJTkZPX1NFTkRfTUFYIDMKK2VudW0geworICBJV1BNX05MQV9RVUVSWV9NQVBQSU5HX1VOU1BFQyA9IDAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJV1BNX05MQV9RVUVSWV9NQVBQSU5HX1NFUSwKKyAgSVdQTV9OTEFfUVVFUllfTE9DQUxfQUREUiwKKyAgSVdQTV9OTEFfUVVFUllfUkVNT1RFX0FERFIsCisgIElXUE1fTkxBX1JRVUVSWV9NQVBQRURfTE9DX0FERFIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJV1BNX05MQV9SUVVFUllfTUFQUEVEX1JFTV9BRERSLAorICBJV1BNX05MQV9SUVVFUllfTUFQUElOR19FUlIsCisgIElXUE1fTkxBX1JRVUVSWV9NQVBQSU5HX01BWAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitlbnVtIHsKKyAgSVdQTV9OTEFfTUFQSU5GT19SRVFfVU5TUEVDID0gMCwKKyAgSVdQTV9OTEFfTUFQSU5GT19VTElCX05BTUUsCisgIElXUE1fTkxBX01BUElORk9fVUxJQl9WRVIsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJV1BNX05MQV9NQVBJTkZPX1JFUV9NQVgKK307CitlbnVtIHsKKyAgSVdQTV9OTEFfTUFQSU5GT19VTlNQRUMgPSAwLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSVdQTV9OTEFfTUFQSU5GT19MT0NBTF9BRERSLAorICBJV1BNX05MQV9NQVBJTkZPX01BUFBFRF9BRERSLAorICBJV1BNX05MQV9NQVBJTkZPX01BWAorfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCitlbnVtIHsKKyAgSVdQTV9OTEFfTUFQSU5GT19OVU1fVU5TUEVDID0gMCwKKyAgSVdQTV9OTEFfTUFQSU5GT19TRVEsCisgIElXUE1fTkxBX01BUElORk9fU0VORF9OVU0sCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBJV1BNX05MQV9NQVBJTkZPX0FDS19OVU0sCisgIElXUE1fTkxBX01BUElORk9fTlVNX01BWAorfTsKK2VudW0geworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgSVdQTV9OTEFfRVJSX1VOU1BFQyA9IDAsCisgIElXUE1fTkxBX0VSUl9TRVEsCisgIElXUE1fTkxBX0VSUl9DT0RFLAorICBJV1BNX05MQV9FUlJfTUFYCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9yZG1hL3JkbWFfdXNlcl9jbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9yZG1hL3JkbWFfdXNlcl9jbS5oCmluZGV4IDc0ZTVhMDUuLmYyNDQ5MjYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvcmRtYS9yZG1hX3VzZXJfY20uaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3JkbWEvcmRtYV91c2VyX2NtLmgKQEAgLTE5LDI4MyArMTksMjg1IEBACiAjaWZuZGVmIFJETUFfVVNFUl9DTV9ICiAjZGVmaW5lIFJETUFfVVNFUl9DTV9ICiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbjYuaD4KKyNpbmNsdWRlIDxsaW51eC9zb2NrZXQuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjaW5jbHVkZSA8bGludXgvaW42Lmg+CiAjaW5jbHVkZSA8cmRtYS9pYl91c2VyX3ZlcmJzLmg+CiAjaW5jbHVkZSA8cmRtYS9pYl91c2VyX3NhLmg+CiAjZGVmaW5lIFJETUFfVVNFUl9DTV9BQklfVkVSU0lPTiA0CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBSRE1BX01BWF9QUklWQVRFX0RBVEEgMjU2Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gUkRNQV9VU0VSX0NNX0NNRF9DUkVBVEVfSUQsCi0gUkRNQV9VU0VSX0NNX0NNRF9ERVNUUk9ZX0lELAotIFJETUFfVVNFUl9DTV9DTURfQklORF9JUCwKKyAgUkRNQV9VU0VSX0NNX0NNRF9DUkVBVEVfSUQsCisgIFJETUFfVVNFUl9DTV9DTURfREVTVFJPWV9JRCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUkRNQV9VU0VSX0NNX0NNRF9SRVNPTFZFX0lQLAotIFJETUFfVVNFUl9DTV9DTURfUkVTT0xWRV9ST1VURSwKLSBSRE1BX1VTRVJfQ01fQ01EX1FVRVJZX1JPVVRFLAotIFJETUFfVVNFUl9DTV9DTURfQ09OTkVDVCwKKyAgUkRNQV9VU0VSX0NNX0NNRF9CSU5EX0lQLAorICBSRE1BX1VTRVJfQ01fQ01EX1JFU09MVkVfSVAsCisgIFJETUFfVVNFUl9DTV9DTURfUkVTT0xWRV9ST1VURSwKKyAgUkRNQV9VU0VSX0NNX0NNRF9RVUVSWV9ST1VURSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gUkRNQV9VU0VSX0NNX0NNRF9MSVNURU4sCi0gUkRNQV9VU0VSX0NNX0NNRF9BQ0NFUFQsCi0gUkRNQV9VU0VSX0NNX0NNRF9SRUpFQ1QsCi0gUkRNQV9VU0VSX0NNX0NNRF9ESVNDT05ORUNULAorICBSRE1BX1VTRVJfQ01fQ01EX0NPTk5FQ1QsCisgIFJETUFfVVNFUl9DTV9DTURfTElTVEVOLAorICBSRE1BX1VTRVJfQ01fQ01EX0FDQ0VQVCwKKyAgUkRNQV9VU0VSX0NNX0NNRF9SRUpFQ1QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJETUFfVVNFUl9DTV9DTURfSU5JVF9RUF9BVFRSLAotIFJETUFfVVNFUl9DTV9DTURfR0VUX0VWRU5ULAotIFJETUFfVVNFUl9DTV9DTURfR0VUX09QVElPTiwKLSBSRE1BX1VTRVJfQ01fQ01EX1NFVF9PUFRJT04sCisgIFJETUFfVVNFUl9DTV9DTURfRElTQ09OTkVDVCwKKyAgUkRNQV9VU0VSX0NNX0NNRF9JTklUX1FQX0FUVFIsCisgIFJETUFfVVNFUl9DTV9DTURfR0VUX0VWRU5ULAorICBSRE1BX1VTRVJfQ01fQ01EX0dFVF9PUFRJT04sCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJETUFfVVNFUl9DTV9DTURfTk9USUZZLAotIFJETUFfVVNFUl9DTV9DTURfSk9JTl9JUF9NQ0FTVCwKLSBSRE1BX1VTRVJfQ01fQ01EX0xFQVZFX01DQVNULAotIFJETUFfVVNFUl9DTV9DTURfTUlHUkFURV9JRCwKKyAgUkRNQV9VU0VSX0NNX0NNRF9TRVRfT1BUSU9OLAorICBSRE1BX1VTRVJfQ01fQ01EX05PVElGWSwKKyAgUkRNQV9VU0VSX0NNX0NNRF9KT0lOX0lQX01DQVNULAorICBSRE1BX1VTRVJfQ01fQ01EX0xFQVZFX01DQVNULAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBSRE1BX1VTRVJfQ01fQ01EX1FVRVJZLAotIFJETUFfVVNFUl9DTV9DTURfQklORCwKLSBSRE1BX1VTRVJfQ01fQ01EX1JFU09MVkVfQUREUiwKLSBSRE1BX1VTRVJfQ01fQ01EX0pPSU5fTUNBU1QKKyAgUkRNQV9VU0VSX0NNX0NNRF9NSUdSQVRFX0lELAorICBSRE1BX1VTRVJfQ01fQ01EX1FVRVJZLAorICBSRE1BX1VTRVJfQ01fQ01EX0JJTkQsCisgIFJETUFfVVNFUl9DTV9DTURfUkVTT0xWRV9BRERSLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgUkRNQV9VU0VSX0NNX0NNRF9KT0lOX01DQVNUCiB9Owogc3RydWN0IHJkbWFfdWNtX2NtZF9oZHIgewotIF9fdTMyIGNtZDsKLSBfX3UxNiBpbjsKKyAgX191MzIgY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBvdXQ7CisgIF9fdTE2IGluOworICBfX3UxNiBvdXQ7CiB9Owogc3RydWN0IHJkbWFfdWNtX2NyZWF0ZV9pZCB7Ci0gX191NjQgdWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNwb25zZTsKLSBfX3UxNiBwczsKLSBfX3U4IHFwX3R5cGU7Ci0gX191OCByZXNlcnZlZFs1XTsKKyAgX191NjQgdWlkOworICBfX3U2NCByZXNwb25zZTsKKyAgX191MTYgcHM7CisgIF9fdTggcXBfdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggcmVzZXJ2ZWRbNV07CiB9Owogc3RydWN0IHJkbWFfdWNtX2NyZWF0ZV9pZF9yZXNwIHsKLSBfX3UzMiBpZDsKKyAgX191MzIgaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV91Y21fZGVzdHJveV9pZCB7Ci0gX191NjQgcmVzcG9uc2U7Ci0gX191MzIgaWQ7Ci0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHJlc2VydmVkOwogfTsKIHN0cnVjdCByZG1hX3VjbV9kZXN0cm95X2lkX3Jlc3AgewotIF9fdTMyIGV2ZW50c19yZXBvcnRlZDsKKyAgX191MzIgZXZlbnRzX3JlcG9ydGVkOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHJkbWFfdWNtX2JpbmRfaXAgewotIF9fdTY0IHJlc3BvbnNlOwotIHN0cnVjdCBzb2NrYWRkcl9pbjYgYWRkcjsKLSBfX3UzMiBpZDsKKyAgX191NjQgcmVzcG9uc2U7CisgIHN0cnVjdCBzb2NrYWRkcl9pbjYgYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGlkOwogfTsKIHN0cnVjdCByZG1hX3VjbV9iaW5kIHsKLSBfX3UzMiBpZDsKLSBfX3UxNiBhZGRyX3NpemU7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiByZXNlcnZlZDsKLSBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBhZGRyOworICBfX3UxNiBhZGRyX3NpemU7CisgIF9fdTE2IHJlc2VydmVkOworICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBhZGRyOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV91Y21fcmVzb2x2ZV9pcCB7CisgIHN0cnVjdCBzb2NrYWRkcl9pbjYgc3JjX2FkZHI7CisgIHN0cnVjdCBzb2NrYWRkcl9pbjYgZHN0X2FkZHI7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHJfaW42IHNyY19hZGRyOwotIHN0cnVjdCBzb2NrYWRkcl9pbjYgZHN0X2FkZHI7Ci0gX191MzIgaWQ7Ci0gX191MzIgdGltZW91dF9tczsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIHRpbWVvdXRfbXM7CiB9Owogc3RydWN0IHJkbWFfdWNtX3Jlc29sdmVfYWRkciB7Ci0gX191MzIgaWQ7Ci0gX191MzIgdGltZW91dF9tczsKKyAgX191MzIgaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IHNyY19zaXplOwotIF9fdTE2IGRzdF9zaXplOwotIF9fdTMyIHJlc2VydmVkOwotIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNyY19hZGRyOworICBfX3UzMiB0aW1lb3V0X21zOworICBfX3UxNiBzcmNfc2l6ZTsKKyAgX191MTYgZHN0X3NpemU7CisgIF9fdTMyIHJlc2VydmVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBkc3RfYWRkcjsKKyAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3JjX2FkZHI7CisgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGRzdF9hZGRyOwogfTsKIHN0cnVjdCByZG1hX3VjbV9yZXNvbHZlX3JvdXRlIHsKLSBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgdGltZW91dF9tczsKKyAgX191MzIgaWQ7CisgIF9fdTMyIHRpbWVvdXRfbXM7CiB9OwogZW51bSB7Ci0gUkRNQV9VU0VSX0NNX1FVRVJZX0FERFIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJETUFfVVNFUl9DTV9RVUVSWV9QQVRILAotIFJETUFfVVNFUl9DTV9RVUVSWV9HSUQKKyAgUkRNQV9VU0VSX0NNX1FVRVJZX0FERFIsCisgIFJETUFfVVNFUl9DTV9RVUVSWV9QQVRILAorICBSRE1BX1VTRVJfQ01fUVVFUllfR0lECiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCByZG1hX3VjbV9xdWVyeSB7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBpZDsKKyAgX191MzIgb3B0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U2NCByZXNwb25zZTsKLSBfX3UzMiBpZDsKLSBfX3UzMiBvcHRpb247CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCByZG1hX3VjbV9xdWVyeV9yb3V0ZV9yZXNwIHsKLSBfX3U2NCBub2RlX2d1aWQ7Ci0gc3RydWN0IGliX3VzZXJfcGF0aF9yZWMgaWJfcm91dGVbMl07Ci0gc3RydWN0IHNvY2thZGRyX2luNiBzcmNfYWRkcjsKKyAgX191NjQgbm9kZV9ndWlkOworICBzdHJ1Y3QgaWJfdXNlcl9wYXRoX3JlYyBpYl9yb3V0ZVsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNvY2thZGRyX2luNiBkc3RfYWRkcjsKLSBfX3UzMiBudW1fcGF0aHM7Ci0gX191OCBwb3J0X251bTsKLSBfX3U4IHJlc2VydmVkWzNdOworICBzdHJ1Y3Qgc29ja2FkZHJfaW42IHNyY19hZGRyOworICBzdHJ1Y3Qgc29ja2FkZHJfaW42IGRzdF9hZGRyOworICBfX3UzMiBudW1fcGF0aHM7CisgIF9fdTggcG9ydF9udW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX3U4IHJlc2VydmVkWzNdOwogfTsKIHN0cnVjdCByZG1hX3VjbV9xdWVyeV9hZGRyX3Jlc3AgewotIF9fdTY0IG5vZGVfZ3VpZDsKLSBfX3U4IHBvcnRfbnVtOworICBfX3U2NCBub2RlX2d1aWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmVzZXJ2ZWQ7Ci0gX191MTYgcGtleTsKLSBfX3UxNiBzcmNfc2l6ZTsKLSBfX3UxNiBkc3Rfc2l6ZTsKKyAgX191OCBwb3J0X251bTsKKyAgX191OCByZXNlcnZlZDsKKyAgX191MTYgcGtleTsKKyAgX191MTYgc3JjX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIHNyY19hZGRyOwotIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGRzdF9hZGRyOworICBfX3UxNiBkc3Rfc2l6ZTsKKyAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3JjX2FkZHI7CisgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGRzdF9hZGRyOwogfTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV91Y21fcXVlcnlfcGF0aF9yZXNwIHsKKyAgX191MzIgbnVtX3BhdGhzOworICBfX3UzMiByZXNlcnZlZDsKKyAgc3RydWN0IGliX3BhdGhfcmVjX2RhdGEgcGF0aF9kYXRhWzBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBudW1fcGF0aHM7Ci0gX191MzIgcmVzZXJ2ZWQ7Ci0gc3RydWN0IGliX3BhdGhfcmVjX2RhdGEgcGF0aF9kYXRhWzBdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV91Y21fY29ubl9wYXJhbSB7Ci0gX191MzIgcXBfbnVtOwotIF9fdTMyIHFrZXk7Ci0gX191OCBwcml2YXRlX2RhdGFbUkRNQV9NQVhfUFJJVkFURV9EQVRBXTsKKyAgX191MzIgcXBfbnVtOworICBfX3UzMiBxa2V5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHByaXZhdGVfZGF0YV9sZW47Ci0gX191OCBzcnE7Ci0gX191OCByZXNwb25kZXJfcmVzb3VyY2VzOwotIF9fdTggaW5pdGlhdG9yX2RlcHRoOworICBfX3U4IHByaXZhdGVfZGF0YVtSRE1BX01BWF9QUklWQVRFX0RBVEFdOworICBfX3U4IHByaXZhdGVfZGF0YV9sZW47CisgIF9fdTggc3JxOworICBfX3U4IHJlc3BvbmRlcl9yZXNvdXJjZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxvd19jb250cm9sOwotIF9fdTggcmV0cnlfY291bnQ7Ci0gX191OCBybnJfcmV0cnlfY291bnQ7Ci0gX191OCB2YWxpZDsKKyAgX191OCBpbml0aWF0b3JfZGVwdGg7CisgIF9fdTggZmxvd19jb250cm9sOworICBfX3U4IHJldHJ5X2NvdW50OworICBfX3U4IHJucl9yZXRyeV9jb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTggdmFsaWQ7CiB9Owogc3RydWN0IHJkbWFfdWNtX3VkX3BhcmFtIHsKLSBfX3UzMiBxcF9udW07Ci0gX191MzIgcWtleTsKKyAgX191MzIgcXBfbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaWJfdXZlcmJzX2FoX2F0dHIgYWhfYXR0cjsKLSBfX3U4IHByaXZhdGVfZGF0YVtSRE1BX01BWF9QUklWQVRFX0RBVEFdOwotIF9fdTggcHJpdmF0ZV9kYXRhX2xlbjsKLSBfX3U4IHJlc2VydmVkWzddOworICBfX3UzMiBxa2V5OworICBzdHJ1Y3QgaWJfdXZlcmJzX2FoX2F0dHIgYWhfYXR0cjsKKyAgX191OCBwcml2YXRlX2RhdGFbUkRNQV9NQVhfUFJJVkFURV9EQVRBXTsKKyAgX191OCBwcml2YXRlX2RhdGFfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191OCByZXNlcnZlZFs3XTsKIH07CiBzdHJ1Y3QgcmRtYV91Y21fY29ubmVjdCB7Ci0gc3RydWN0IHJkbWFfdWNtX2Nvbm5fcGFyYW0gY29ubl9wYXJhbTsKLSBfX3UzMiBpZDsKKyAgc3RydWN0IHJkbWFfdWNtX2Nvbm5fcGFyYW0gY29ubl9wYXJhbTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWQ7CisgIF9fdTMyIGlkOworICBfX3UzMiByZXNlcnZlZDsKIH07CiBzdHJ1Y3QgcmRtYV91Y21fbGlzdGVuIHsKLSBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgYmFja2xvZzsKKyAgX191MzIgaWQ7CisgIF9fdTMyIGJhY2tsb2c7CiB9Owogc3RydWN0IHJkbWFfdWNtX2FjY2VwdCB7Ci0gX191NjQgdWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgcmRtYV91Y21fY29ubl9wYXJhbSBjb25uX3BhcmFtOwotIF9fdTMyIGlkOwotIF9fdTMyIHJlc2VydmVkOworICBfX3U2NCB1aWQ7CisgIHN0cnVjdCByZG1hX3VjbV9jb25uX3BhcmFtIGNvbm5fcGFyYW07CisgIF9fdTMyIGlkOworICBfX3UzMiByZXNlcnZlZDsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCByZG1hX3VjbV9yZWplY3QgewotIF9fdTMyIGlkOwotIF9fdTggcHJpdmF0ZV9kYXRhX2xlbjsKLSBfX3U4IHJlc2VydmVkWzNdOworICBfX3UzMiBpZDsKKyAgX191OCBwcml2YXRlX2RhdGFfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHByaXZhdGVfZGF0YVtSRE1BX01BWF9QUklWQVRFX0RBVEFdOworICBfX3U4IHJlc2VydmVkWzNdOworICBfX3U4IHByaXZhdGVfZGF0YVtSRE1BX01BWF9QUklWQVRFX0RBVEFdOwogfTsKIHN0cnVjdCByZG1hX3VjbV9kaXNjb25uZWN0IHsKLSBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fdTMyIGlkOwogfTsKIHN0cnVjdCByZG1hX3VjbV9pbml0X3FwX2F0dHIgewotIF9fdTY0IHJlc3BvbnNlOwotIF9fdTMyIGlkOworICBfX3U2NCByZXNwb25zZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcXBfc3RhdGU7CisgIF9fdTMyIGlkOworICBfX3UzMiBxcF9zdGF0ZTsKIH07CiBzdHJ1Y3QgcmRtYV91Y21fbm90aWZ5IHsKLSBfX3UzMiBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZXZlbnQ7CisgIF9fdTMyIGlkOworICBfX3UzMiBldmVudDsKIH07CiBzdHJ1Y3QgcmRtYV91Y21fam9pbl9pcF9tY2FzdCB7Ci0gX191NjQgcmVzcG9uc2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVpZDsKLSBzdHJ1Y3Qgc29ja2FkZHJfaW42IGFkZHI7Ci0gX191MzIgaWQ7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3U2NCB1aWQ7CisgIHN0cnVjdCBzb2NrYWRkcl9pbjYgYWRkcjsKKyAgX191MzIgaWQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV91Y21fam9pbl9tY2FzdCB7Ci0gX191NjQgcmVzcG9uc2U7Ci0gX191NjQgdWlkOwotIF9fdTMyIGlkOworICBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgdWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBhZGRyX3NpemU7Ci0gX191MTYgcmVzZXJ2ZWQ7Ci0gc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgYWRkcjsKKyAgX191MzIgaWQ7CisgIF9fdTE2IGFkZHJfc2l6ZTsKKyAgX191MTYgcmVzZXJ2ZWQ7CisgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGFkZHI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgcmRtYV91Y21fZ2V0X2V2ZW50IHsKLSBfX3U2NCByZXNwb25zZTsKKyAgX191NjQgcmVzcG9uc2U7CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCByZG1hX3VjbV9ldmVudF9yZXNwIHsKKyAgX191NjQgdWlkOworICBfX3UzMiBpZDsKKyAgX191MzIgZXZlbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTY0IHVpZDsKLSBfX3UzMiBpZDsKLSBfX3UzMiBldmVudDsKLSBfX3UzMiBzdGF0dXM7CisgIF9fdTMyIHN0YXR1czsKKyAgdW5pb24geworICAgIHN0cnVjdCByZG1hX3VjbV9jb25uX3BhcmFtIGNvbm47CisgICAgc3RydWN0IHJkbWFfdWNtX3VkX3BhcmFtIHVkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bmlvbiB7Ci0gc3RydWN0IHJkbWFfdWNtX2Nvbm5fcGFyYW0gY29ubjsKLSBzdHJ1Y3QgcmRtYV91Y21fdWRfcGFyYW0gdWQ7Ci0gfSBwYXJhbTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIH0gcGFyYW07CiB9OwogZW51bSB7Ci0gUkRNQV9PUFRJT05fSUQgPSAwLAotIFJETUFfT1BUSU9OX0lCID0gMQorICBSRE1BX09QVElPTl9JRCA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBSRE1BX09QVElPTl9JQiA9IDEKIH07CiBlbnVtIHsKLSBSRE1BX09QVElPTl9JRF9UT1MgPSAwLAotIFJETUFfT1BUSU9OX0lEX1JFVVNFQUREUiA9IDEsCisgIFJETUFfT1BUSU9OX0lEX1RPUyA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJETUFfT1BUSU9OX0lEX0FGT05MWSA9IDIsCi0gUkRNQV9PUFRJT05fSUJfUEFUSCA9IDEKKyAgUkRNQV9PUFRJT05fSURfUkVVU0VBRERSID0gMSwKKyAgUkRNQV9PUFRJT05fSURfQUZPTkxZID0gMiwKKyAgUkRNQV9PUFRJT05fSUJfUEFUSCA9IDEKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHJkbWFfdWNtX3NldF9vcHRpb24geworICBfX3U2NCBvcHR2YWw7CisgIF9fdTMyIGlkOworICBfX3UzMiBsZXZlbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgb3B0dmFsOwotIF9fdTMyIGlkOwotIF9fdTMyIGxldmVsOwotIF9fdTMyIG9wdG5hbWU7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9wdGxlbjsKKyAgX191MzIgb3B0bmFtZTsKKyAgX191MzIgb3B0bGVuOwogfTsKIHN0cnVjdCByZG1hX3VjbV9taWdyYXRlX2lkIHsKLSBfX3U2NCByZXNwb25zZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaWQ7Ci0gX191MzIgZmQ7CisgIF9fdTY0IHJlc3BvbnNlOworICBfX3UzMiBpZDsKKyAgX191MzIgZmQ7CiB9Owotc3RydWN0IHJkbWFfdWNtX21pZ3JhdGVfcmVzcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGV2ZW50c19yZXBvcnRlZDsKK3N0cnVjdCByZG1hX3VjbV9taWdyYXRlX3Jlc3AgeworICBfX3UzMiBldmVudHNfcmVwb3J0ZWQ7CiB9OwogI2VuZGlmCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9zY3NpL2ZjL2ZjX2Vscy5oIGIvbGliYy9rZXJuZWwvdWFwaS9zY3NpL2ZjL2ZjX2Vscy5oCmluZGV4IDRlMmE5MjAuLmMxZjllOTQgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19lbHMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3Njc2kvZmMvZmNfZWxzLmgKQEAgLTIxLDE1MiArMjEsMTUzIEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGVudW0gZmNfZWxzX2NtZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19MU19SSlQgPSAweDAxLAotIEVMU19MU19BQ0MgPSAweDAyLAotIEVMU19QTE9HSSA9IDB4MDMsCi0gRUxTX0ZMT0dJID0gMHgwNCwKKyAgRUxTX0xTX1JKVCA9IDB4MDEsCisgIEVMU19MU19BQ0MgPSAweDAyLAorICBFTFNfUExPR0kgPSAweDAzLAorICBFTFNfRkxPR0kgPSAweDA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfTE9HTyA9IDB4MDUsCi0gRUxTX0FCVFggPSAweDA2LAotIEVMU19SQ1MgPSAweDA3LAotIEVMU19SRVMgPSAweDA4LAorICBFTFNfTE9HTyA9IDB4MDUsCisgIEVMU19BQlRYID0gMHgwNiwKKyAgRUxTX1JDUyA9IDB4MDcsCisgIEVMU19SRVMgPSAweDA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfUlNTID0gMHgwOSwKLSBFTFNfUlNJID0gMHgwYSwKLSBFTFNfRVNUUyA9IDB4MGIsCi0gRUxTX0VTVEMgPSAweDBjLAorICBFTFNfUlNTID0gMHgwOSwKKyAgRUxTX1JTSSA9IDB4MGEsCisgIEVMU19FU1RTID0gMHgwYiwKKyAgRUxTX0VTVEMgPSAweDBjLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfQURWQyA9IDB4MGQsCi0gRUxTX1JUViA9IDB4MGUsCi0gRUxTX1JMUyA9IDB4MGYsCi0gRUxTX0VDSE8gPSAweDEwLAorICBFTFNfQURWQyA9IDB4MGQsCisgIEVMU19SVFYgPSAweDBlLAorICBFTFNfUkxTID0gMHgwZiwKKyAgRUxTX0VDSE8gPSAweDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfVEVTVCA9IDB4MTEsCi0gRUxTX1JSUSA9IDB4MTIsCi0gRUxTX1JFQyA9IDB4MTMsCi0gRUxTX1NSUiA9IDB4MTQsCisgIEVMU19URVNUID0gMHgxMSwKKyAgRUxTX1JSUSA9IDB4MTIsCisgIEVMU19SRUMgPSAweDEzLAorICBFTFNfU1JSID0gMHgxNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1BSTEkgPSAweDIwLAotIEVMU19QUkxPID0gMHgyMSwKLSBFTFNfU0NOID0gMHgyMiwKLSBFTFNfVFBMUyA9IDB4MjMsCisgIEVMU19QUkxJID0gMHgyMCwKKyAgRUxTX1BSTE8gPSAweDIxLAorICBFTFNfU0NOID0gMHgyMiwKKyAgRUxTX1RQTFMgPSAweDIzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfVFBSTE8gPSAweDI0LAotIEVMU19MQ0xNID0gMHgyNSwKLSBFTFNfR0FJRCA9IDB4MzAsCi0gRUxTX0ZBQ1QgPSAweDMxLAorICBFTFNfVFBSTE8gPSAweDI0LAorICBFTFNfTENMTSA9IDB4MjUsCisgIEVMU19HQUlEID0gMHgzMCwKKyAgRUxTX0ZBQ1QgPSAweDMxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfRkRBQ0RUID0gMHgzMiwKLSBFTFNfTkFDVCA9IDB4MzMsCi0gRUxTX05EQUNUID0gMHgzNCwKLSBFTFNfUU9TUiA9IDB4NDAsCisgIEVMU19GREFDRFQgPSAweDMyLAorICBFTFNfTkFDVCA9IDB4MzMsCisgIEVMU19OREFDVCA9IDB4MzQsCisgIEVMU19RT1NSID0gMHg0MCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1JWQ1MgPSAweDQxLAotIEVMU19QRElTQyA9IDB4NTAsCi0gRUxTX0ZESVNDID0gMHg1MSwKLSBFTFNfQURJU0MgPSAweDUyLAorICBFTFNfUlZDUyA9IDB4NDEsCisgIEVMU19QRElTQyA9IDB4NTAsCisgIEVMU19GRElTQyA9IDB4NTEsCisgIEVMU19BRElTQyA9IDB4NTIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19STkMgPSAweDUzLAotIEVMU19GQVJQX1JFUSA9IDB4NTQsCi0gRUxTX0ZBUlBfUkVQTCA9IDB4NTUsCi0gRUxTX1JQUyA9IDB4NTYsCisgIEVMU19STkMgPSAweDUzLAorICBFTFNfRkFSUF9SRVEgPSAweDU0LAorICBFTFNfRkFSUF9SRVBMID0gMHg1NSwKKyAgRUxTX1JQUyA9IDB4NTYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19SUEwgPSAweDU3LAotIEVMU19SUEJDID0gMHg1OCwKLSBFTFNfRkFOID0gMHg2MCwKLSBFTFNfUlNDTiA9IDB4NjEsCisgIEVMU19SUEwgPSAweDU3LAorICBFTFNfUlBCQyA9IDB4NTgsCisgIEVMU19GQU4gPSAweDYwLAorICBFTFNfUlNDTiA9IDB4NjEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19TQ1IgPSAweDYyLAotIEVMU19STkZUID0gMHg2MywKLSBFTFNfQ1NSID0gMHg2OCwKLSBFTFNfQ1NVID0gMHg2OSwKKyAgRUxTX1NDUiA9IDB4NjIsCisgIEVMU19STkZUID0gMHg2MywKKyAgRUxTX0NTUiA9IDB4NjgsCisgIEVMU19DU1UgPSAweDY5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfTElOSVQgPSAweDcwLAotIEVMU19MU1RTID0gMHg3MiwKLSBFTFNfUk5JRCA9IDB4NzgsCi0gRUxTX1JMSVIgPSAweDc5LAorICBFTFNfTElOSVQgPSAweDcwLAorICBFTFNfTFNUUyA9IDB4NzIsCisgIEVMU19STklEID0gMHg3OCwKKyAgRUxTX1JMSVIgPSAweDc5LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfTElSUiA9IDB4N2EsCi0gRUxTX1NSTCA9IDB4N2IsCi0gRUxTX1NCUlAgPSAweDdjLAotIEVMU19SUFNDID0gMHg3ZCwKKyAgRUxTX0xJUlIgPSAweDdhLAorICBFTFNfU1JMID0gMHg3YiwKKyAgRUxTX1NCUlAgPSAweDdjLAorICBFTFNfUlBTQyA9IDB4N2QsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19RU0EgPSAweDdlLAotIEVMU19FVkZQID0gMHg3ZiwKLSBFTFNfTEtBID0gMHg4MCwKLSBFTFNfQVVUSF9FTFMgPSAweDkwLAorICBFTFNfUVNBID0gMHg3ZSwKKyAgRUxTX0VWRlAgPSAweDdmLAorICBFTFNfTEtBID0gMHg4MCwKKyAgRUxTX0FVVEhfRUxTID0gMHg5MCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBGQ19FTFNfQ01EU19JTklUIHsgICBbRUxTX0xTX1JKVF0gPSAiTFNfUkpUIiwgICBbRUxTX0xTX0FDQ10gPSAiTFNfQUNDIiwgICBbRUxTX1BMT0dJXSA9ICJQTE9HSSIsICAgW0VMU19GTE9HSV0gPSAiRkxPR0kiLCAgIFtFTFNfTE9HT10gPSAiTE9HTyIsICAgW0VMU19BQlRYXSA9ICJBQlRYIiwgICBbRUxTX1JDU10gPSAiUkNTIiwgICBbRUxTX1JFU10gPSAiUkVTIiwgICBbRUxTX1JTU10gPSAiUlNTIiwgICBbRUxTX1JTSV0gPSAiUlNJIiwgICBbRUxTX0VTVFNdID0gIkVTVFMiLCAgIFtFTFNfRVNUQ10gPSAiRVNUQyIsICAgW0VMU19BRFZDXSA9ICJBRFZDIiwgICBbRUxTX1JUVl0gPSAiUlRWIiwgICBbRUxTX1JMU10gPSAiUkxTIiwgICBbRUxTX0VDSE9dID0gIkVDSE8iLCAgIFtFTFNfVEVTVF0gPSAiVEVTVCIsICAgW0VMU19SUlFdID0gIlJSUSIsICAgW0VMU19SRUNdID0gIlJFQyIsICAgW0VMU19TUlJdID0gIlNSUiIsICAgW0VMU19QUkxJXSA9ICJQUkxJIiwgICBbRUxTX1BSTE9dID0gIlBSTE8iLCAgIFtFTFNfU0NOXSA9ICJTQ04iLCAgIFtFTFNfVFBMU10gPSAiVFBMUyIsICAgW0VMU19UUFJMT10gPSAiVFBSTE8iLCAgIFtFTFNfTENMTV0gPSAiTENMTSIsICAgW0VMU19HQUlEXSA9ICJHQUlEIiwgICBbRUxTX0ZBQ1RdID0gIkZBQ1QiLCAgIFtFTFNfRkRBQ0RUXSA9ICJGREFDRFQiLCAgIFtFTFNfTkFDVF0gPSAiTkFDVCIsICAgW0VMU19OREFDVF0gPSAiTkRBQ1QiLCAgIFtFTFNfUU9TUl0gPSAiUU9TUiIsICAgW0VMU19SVkNTXSA9ICJSVkNTIiwgICBbRUxTX1BESVNDXSA9ICJQRElTQyIsICAgW0VMU19GRElTQ10gPSAiRkRJU0MiLCAgIFtFTFNfQURJU0NdID0gIkFESVNDIiwgICBbRUxTX1JOQ10gPSAiUk5DIiwgICBbRUxTX0ZBUlBfUkVRXSA9ICJGQVJQX1JFUSIsICAgW0VMU19GQVJQX1JFUExdID0gIkZBUlBfUkVQTCIsICAgW0VMU19SUFNdID0gIlJQUyIsICAgW0VMU19SUExdID0gIlJQTCIsICAgW0VMU19SUEJDXSA9ICJSUEJDIiwgICBbRUxTX0ZBTl0gPSAiRkFOIiwgICBbRUxTX1JTQ05dID0gIlJTQ04iLCAgIFtFTFNfU0NSXSA9ICJTQ1IiLCAgIFtFTFNfUk5GVF0gPSAiUk5GVCIsICAgW0VMU19DU1JdID0gIkNTUiIsICAgW0VMU19DU1VdID0gIkNTVSIsICAgW0VMU19MSU5JVF0gPSAiTElOSVQiLCAgIFtFTFNfTFNUU10gPSAiTFNUUyIsICAgW0VMU19STklEXSA9ICJSTklEIiwgICBbRUxTX1JMSVJdID0gIlJMSVIiLCAgIFtFTFNfTElSUl0gPSAiTElSUiIsICAgW0VMU19TUkxdID0gIlNSTCIsICAgW0VMU19TQlJQXSA9ICJTQlJQIiwgICBbRUxTX1JQU0NdID0gIlJQU0MiLCAgIFtFTFNfUVNBXSA9ICJRU0EiLCAgIFtFTFNfRVZGUF0gPSAiRVZGUCIsICAgW0VMU19MS0FdID0gIkxLQSIsICAgW0VMU19BVVRIX0VMU10gPSAiQVVUSF9FTFMiLCAgfQorI2RlZmluZSBGQ19FTFNfQ01EU19JTklUIHtbRUxTX0xTX1JKVF0gPSAiTFNfUkpUIixbRUxTX0xTX0FDQ10gPSAiTFNfQUNDIixbRUxTX1BMT0dJXSA9ICJQTE9HSSIsW0VMU19GTE9HSV0gPSAiRkxPR0kiLFtFTFNfTE9HT10gPSAiTE9HTyIsW0VMU19BQlRYXSA9ICJBQlRYIixbRUxTX1JDU10gPSAiUkNTIixbRUxTX1JFU10gPSAiUkVTIixbRUxTX1JTU10gPSAiUlNTIixbRUxTX1JTSV0gPSAiUlNJIixbRUxTX0VTVFNdID0gIkVTVFMiLFtFTFNfRVNUQ10gPSAiRVNUQyIsW0VMU19BRFZDXSA9ICJBRFZDIixbRUxTX1JUVl0gPSAiUlRWIixbRUxTX1JMU10gPSAiUkxTIixbRUxTX0VDSE9dID0gIkVDSE8iLFtFTFNfVEVTVF0gPSAiVEVTVCIsW0VMU19SUlFdID0gIlJSUSIsW0VMU19SRUNdID0gIlJFQyIsW0VMU19TUlJdID0gIlNSUiIsW0VMU19QUkxJXSA9ICJQUkxJIixbRUxTX1BSTE9dID0gIlBSTE8iLFtFTFNfU0NOXSA9ICJTQ04iLFtFTFNfVFBMU10gPSAiVFBMUyIsW0VMU19UUFJMT10gPSAiVFBSTE8iLFtFTFNfTENMTV0gPSAiTENMTSIsW0VMU19HQUlEXSA9ICJHQUlEIixbRUxTX0ZBQ1RdID0gIkZBQ1QiLFtFTFNfRkRBQ0RUXSA9ICJGREFDRFQiLFtFTFNfTkFDVF0gPSAiTkFDVCIsW0VMU19OREFDVF0gPSAiTkRBQ1QiLFtFTFNfUU9TUl0gPSAiUU9TUiIsW0VMU19SVkNTXSA9ICJSVkNTIixbRUxTX1BESVNDXSA9ICJQRElTQyIsW0VMU19GRElTQ10gPSAiRkRJU0MiLFtFTFNfQURJU0NdID0gIkFESVNDIixbRUxTX1JOQ10gPSAiUk5DIixbRUxTX0ZBUlBfUkVRXSA9ICJGQVJQX1JFUSIsW0VMU19GQVJQX1JFUExdID0gIkZBUlBfUkVQTCIsW0VMU19SUFNdID0gIlJQUyIsW0VMU19SUExdID0gIlJQTCIsW0VMU19SUEJDXSA9ICJSUEJDIixbRUxTX0ZBTl0gPSAiRkFOIixbRUxTX1JTQ05dID0gIlJTQ04iLFtFTFNfU0NSXSA9ICJTQ1IiLFtFTFNfUk5GVF0gPSAiUk5GVCIsW0VMU19DU1JdID0gIkNTUiIsW0VMU19DU1VdID0gIkNTVSIsW0VMU19MSU5JVF0gPSAiTElOSVQiLFtFTFNfTFNUU10gPSAiTFNUUyIsW0VMU19STklEXSA9ICJSTklEIixbRUxTX1JMSVJdID0gIlJMSVIiLFtFTFNfTElSUl0gPSAiTElSUiIsW0VMU19TUkxdID0gIlNSTCIsW0VMU19TQlJQXSA9ICJTQlJQIixbRUxTX1JQU0NdID0gIlJQU0MiLFtFTFNfUVNBXSA9ICJRU0EiLFtFTFNfRVZGUF0gPSAiRVZGUCIsW0VMU19MS0FdID0gIkxLQSIsW0VMU19BVVRIX0VMU10gPSAiQVVUSF9FTFMiLCBcCit9CiBzdHJ1Y3QgZmNfZWxzX2xzX2FjYyB7Ci0gX191OCBsYV9jbWQ7CisgIF9fdTggbGFfY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGxhX3Jlc3ZbM107CisgIF9fdTggbGFfcmVzdlszXTsKIH07CiBzdHJ1Y3QgZmNfZWxzX2xzX3JqdCB7Ci0gX191OCBlcl9jbWQ7CisgIF9fdTggZXJfY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGVyX3Jlc3ZbNF07Ci0gX191OCBlcl9yZWFzb247Ci0gX191OCBlcl9leHBsYW47Ci0gX191OCBlcl92ZW5kb3I7CisgIF9fdTggZXJfcmVzdls0XTsKKyAgX191OCBlcl9yZWFzb247CisgIF9fdTggZXJfZXhwbGFuOworICBfX3U4IGVyX3ZlbmRvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBmY19lbHNfcmp0X3JlYXNvbiB7Ci0gRUxTX1JKVF9OT05FID0gMCwKLSBFTFNfUkpUX0lOVkFMID0gMHgwMSwKKyAgRUxTX1JKVF9OT05FID0gMCwKKyAgRUxTX1JKVF9JTlZBTCA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19SSlRfTE9HSUMgPSAweDAzLAotIEVMU19SSlRfQlVTWSA9IDB4MDUsCi0gRUxTX1JKVF9QUk9UID0gMHgwNywKLSBFTFNfUkpUX1VOQUIgPSAweDA5LAorICBFTFNfUkpUX0xPR0lDID0gMHgwMywKKyAgRUxTX1JKVF9CVVNZID0gMHgwNSwKKyAgRUxTX1JKVF9QUk9UID0gMHgwNywKKyAgRUxTX1JKVF9VTkFCID0gMHgwOSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1JKVF9VTlNVUCA9IDB4MGIsCi0gRUxTX1JKVF9JTlBST0cgPSAweDBlLAotIEVMU19SSlRfRklQID0gMHgyMCwKLSBFTFNfUkpUX1ZFTkRPUiA9IDB4ZmYsCisgIEVMU19SSlRfVU5TVVAgPSAweDBiLAorICBFTFNfUkpUX0lOUFJPRyA9IDB4MGUsCisgIEVMU19SSlRfRklQID0gMHgyMCwKKyAgRUxTX1JKVF9WRU5ET1IgPSAweGZmLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGZjX2Vsc19yanRfZXhwbGFuIHsKLSBFTFNfRVhQTF9OT05FID0gMHgwMCwKLSBFTFNfRVhQTF9TUFBfT1BUX0VSUiA9IDB4MDEsCisgIEVMU19FWFBMX05PTkUgPSAweDAwLAorICBFTFNfRVhQTF9TUFBfT1BUX0VSUiA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19FWFBMX1NQUF9JQ1RMX0VSUiA9IDB4MDMsCi0gRUxTX0VYUExfQUggPSAweDExLAotIEVMU19FWFBMX0FIX1JFUSA9IDB4MTMsCi0gRUxTX0VYUExfU0lEID0gMHgxNSwKKyAgRUxTX0VYUExfU1BQX0lDVExfRVJSID0gMHgwMywKKyAgRUxTX0VYUExfQUggPSAweDExLAorICBFTFNfRVhQTF9BSF9SRVEgPSAweDEzLAorICBFTFNfRVhQTF9TSUQgPSAweDE1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfRVhQTF9PWElEX1JYSUQgPSAweDE3LAotIEVMU19FWFBMX0lOUFJPRyA9IDB4MTksCi0gRUxTX0VYUExfUExPR0lfUkVRRCA9IDB4MWUsCi0gRUxTX0VYUExfSU5TVUZfUkVTID0gMHgyOSwKKyAgRUxTX0VYUExfT1hJRF9SWElEID0gMHgxNywKKyAgRUxTX0VYUExfSU5QUk9HID0gMHgxOSwKKyAgRUxTX0VYUExfUExPR0lfUkVRRCA9IDB4MWUsCisgIEVMU19FWFBMX0lOU1VGX1JFUyA9IDB4MjksCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19FWFBMX1VOQUJfREFUQSA9IDB4MmEsCi0gRUxTX0VYUExfVU5TVVBSID0gMHgyYywKLSBFTFNfRVhQTF9JTlZfTEVOID0gMHgyZCwKLSBFTFNfRVhQTF9OT1RfTkVJR0hCT1IgPSAweDYyLAorICBFTFNfRVhQTF9VTkFCX0RBVEEgPSAweDJhLAorICBFTFNfRVhQTF9VTlNVUFIgPSAweDJjLAorICBFTFNfRVhQTF9JTlZfTEVOID0gMHgyZCwKKyAgRUxTX0VYUExfTk9UX05FSUdIQk9SID0gMHg2MiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZjX2Vsc19jc3AgewotIF9fdTggc3BfaGlfdmVyOwotIF9fdTggc3BfbG9fdmVyOworICBfX3U4IHNwX2hpX3ZlcjsKKyAgX191OCBzcF9sb192ZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBzcF9iYl9jcmVkOwotIF9fYmUxNiBzcF9mZWF0dXJlczsKLSBfX2JlMTYgc3BfYmJfZGF0YTsKLSB1bmlvbiB7CisgIF9fYmUxNiBzcF9iYl9jcmVkOworICBfX2JlMTYgc3BfZmVhdHVyZXM7CisgIF9fYmUxNiBzcF9iYl9kYXRhOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB7Ci0gX19iZTE2IF9zcF90b3Rfc2VxOwotIF9fYmUxNiBfc3BfcmVsX29mZjsKLSB9IHNwX3Bsb2dpOworICAgIHN0cnVjdCB7CisgICAgICBfX2JlMTYgX3NwX3RvdF9zZXE7CisgICAgICBfX2JlMTYgX3NwX3JlbF9vZmY7CisgICAgfSBzcF9wbG9naTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHsKLSBfX2JlMzIgX3NwX3JfYV90b3Y7Ci0gfSBzcF9mbG9naV9hY2M7Ci0gfSBzcF91OworICAgIHN0cnVjdCB7CisgICAgICBfX2JlMzIgX3NwX3JfYV90b3Y7CisgICAgfSBzcF9mbG9naV9hY2M7CisgIH0gc3BfdTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHNwX2VfZF90b3Y7CisgIF9fYmUzMiBzcF9lX2RfdG92OwogfTsKICNkZWZpbmUgc3BfdG90X3NlcSBzcF91LnNwX3Bsb2dpLl9zcF90b3Rfc2VxCiAjZGVmaW5lIHNwX3JlbF9vZmYgc3BfdS5zcF9wbG9naS5fc3BfcmVsX29mZgpAQCAtMjAxLDE3ICsyMDIsMTcgQEAKICNkZWZpbmUgRkNfU1BfRlRfUEFZTCAweDAwMDEKIHN0cnVjdCBmY19lbHNfY3NzcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBjcF9jbGFzczsKLSBfX2JlMTYgY3BfaW5pdDsKLSBfX2JlMTYgY3BfcmVjaXA7Ci0gX19iZTE2IGNwX3JkZnM7CisgIF9fYmUxNiBjcF9jbGFzczsKKyAgX19iZTE2IGNwX2luaXQ7CisgIF9fYmUxNiBjcF9yZWNpcDsKKyAgX19iZTE2IGNwX3JkZnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBjcF9jb25fc2VxOwotIF9fYmUxNiBjcF9lZV9jcmVkOwotIF9fdTggY3BfcmVzdjE7Ci0gX191OCBjcF9vcGVuX3NlcTsKKyAgX19iZTE2IGNwX2Nvbl9zZXE7CisgIF9fYmUxNiBjcF9lZV9jcmVkOworICBfX3U4IGNwX3Jlc3YxOworICBfX3U4IGNwX29wZW5fc2VxOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IF9jcF9yZXN2MlsyXTsKKyAgX191OCBfY3BfcmVzdjJbMl07CiB9OwogI2RlZmluZSBGQ19DUENfVkFMSUQgMHg4MDAwCiAjZGVmaW5lIEZDX0NQQ19JTUlYIDB4NDAwMApAQCAtMjIzLDI2ICsyMjQsMjYgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZDX0NQUl9DU1lOIDB4MDAwOAogc3RydWN0IGZjX2Vsc19mbG9naSB7Ci0gX191OCBmbF9jbWQ7Ci0gX191OCBfZmxfcmVzdmRbM107CisgIF9fdTggZmxfY21kOworICBfX3U4IF9mbF9yZXN2ZFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGZjX2Vsc19jc3AgZmxfY3NwOwotIF9fYmU2NCBmbF93d3BuOwotIF9fYmU2NCBmbF93d25uOwotIHN0cnVjdCBmY19lbHNfY3NzcCBmbF9jc3NwWzRdOworICBzdHJ1Y3QgZmNfZWxzX2NzcCBmbF9jc3A7CisgIF9fYmU2NCBmbF93d3BuOworICBfX2JlNjQgZmxfd3dubjsKKyAgc3RydWN0IGZjX2Vsc19jc3NwIGZsX2Nzc3BbNF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmxfdmVuZFsxNl07CisgIF9fdTggZmxfdmVuZFsxNl07CiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKIHN0cnVjdCBmY19lbHNfc3BwIHsKLSBfX3U4IHNwcF90eXBlOworICBfX3U4IHNwcF90eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNwcF90eXBlX2V4dDsKLSBfX3U4IHNwcF9mbGFnczsKLSBfX3U4IF9zcHBfcmVzdmQ7Ci0gX19iZTMyIHNwcF9vcmlnX3BhOworICBfX3U4IHNwcF90eXBlX2V4dDsKKyAgX191OCBzcHBfZmxhZ3M7CisgIF9fdTggX3NwcF9yZXN2ZDsKKyAgX19iZTMyIHNwcF9vcmlnX3BhOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgc3BwX3Jlc3BfcGE7Ci0gX19iZTMyIHNwcF9wYXJhbXM7CisgIF9fYmUzMiBzcHBfcmVzcF9wYTsKKyAgX19iZTMyIHNwcF9wYXJhbXM7CiB9OwogI2RlZmluZSBGQ19TUFBfT1BBX1ZBTCAweDgwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMjUxLDEyNSArMjUyLDEyNSBAQAogI2RlZmluZSBGQ19TUFBfUkVTUF9NQVNLIDB4MGYKIGVudW0gZmNfZWxzX3NwcF9yZXNwIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfU1BQX1JFU1BfQUNLID0gMSwKLSBGQ19TUFBfUkVTUF9SRVMgPSAyLAotIEZDX1NQUF9SRVNQX0lOSVQgPSAzLAotIEZDX1NQUF9SRVNQX05PX1BBID0gNCwKKyAgRkNfU1BQX1JFU1BfQUNLID0gMSwKKyAgRkNfU1BQX1JFU1BfUkVTID0gMiwKKyAgRkNfU1BQX1JFU1BfSU5JVCA9IDMsCisgIEZDX1NQUF9SRVNQX05PX1BBID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfU1BQX1JFU1BfQ09ORiA9IDUsCi0gRkNfU1BQX1JFU1BfQ09ORCA9IDYsCi0gRkNfU1BQX1JFU1BfTVVMVCA9IDcsCi0gRkNfU1BQX1JFU1BfSU5WTCA9IDgsCisgIEZDX1NQUF9SRVNQX0NPTkYgPSA1LAorICBGQ19TUFBfUkVTUF9DT05EID0gNiwKKyAgRkNfU1BQX1JFU1BfTVVMVCA9IDcsCisgIEZDX1NQUF9SRVNQX0lOVkwgPSA4LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JycSB7Ci0gX191OCBycnFfY21kOwotIF9fdTggcnJxX3plcm9bM107CisgIF9fdTggcnJxX2NtZDsKKyAgX191OCBycnFfemVyb1szXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBycnFfcmVzdmQ7Ci0gX191OCBycnFfc19pZFszXTsKLSBfX2JlMTYgcnJxX294X2lkOwotIF9fYmUxNiBycnFfcnhfaWQ7CisgIF9fdTggcnJxX3Jlc3ZkOworICBfX3U4IHJycV9zX2lkWzNdOworICBfX2JlMTYgcnJxX294X2lkOworICBfX2JlMTYgcnJxX3J4X2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JlYyB7Ci0gX191OCByZWNfY21kOwotIF9fdTggcmVjX3plcm9bM107CisgIF9fdTggcmVjX2NtZDsKKyAgX191OCByZWNfemVyb1szXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCByZWNfcmVzdmQ7Ci0gX191OCByZWNfc19pZFszXTsKLSBfX2JlMTYgcmVjX294X2lkOwotIF9fYmUxNiByZWNfcnhfaWQ7CisgIF9fdTggcmVjX3Jlc3ZkOworICBfX3U4IHJlY19zX2lkWzNdOworICBfX2JlMTYgcmVjX294X2lkOworICBfX2JlMTYgcmVjX3J4X2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JlY19hY2MgewotIF9fdTggcmVjYV9jbWQ7Ci0gX191OCByZWNhX3plcm9bM107CisgIF9fdTggcmVjYV9jbWQ7CisgIF9fdTggcmVjYV96ZXJvWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgcmVjYV9veF9pZDsKLSBfX2JlMTYgcmVjYV9yeF9pZDsKLSBfX3U4IHJlY2FfcmVzdmQxOwotIF9fdTggcmVjYV9vZmlkWzNdOworICBfX2JlMTYgcmVjYV9veF9pZDsKKyAgX19iZTE2IHJlY2FfcnhfaWQ7CisgIF9fdTggcmVjYV9yZXN2ZDE7CisgIF9fdTggcmVjYV9vZmlkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJlY2FfcmVzdmQyOwotIF9fdTggcmVjYV9yZmlkWzNdOwotIF9fYmUzMiByZWNhX2ZjNHZhbHVlOwotIF9fYmUzMiByZWNhX2Vfc3RhdDsKKyAgX191OCByZWNhX3Jlc3ZkMjsKKyAgX191OCByZWNhX3JmaWRbM107CisgIF9fYmUzMiByZWNhX2ZjNHZhbHVlOworICBfX2JlMzIgcmVjYV9lX3N0YXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19lbHNfcHJsaSB7Ci0gX191OCBwcmxpX2NtZDsKLSBfX3U4IHBybGlfc3BwX2xlbjsKKyAgX191OCBwcmxpX2NtZDsKKyAgX191OCBwcmxpX3NwcF9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBwcmxpX2xlbjsKKyAgX19iZTE2IHBybGlfbGVuOwogfTsKIHN0cnVjdCBmY19lbHNfcHJsbyB7Ci0gX191OCBwcmxvX2NtZDsKKyAgX191OCBwcmxvX2NtZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBwcmxvX29iczsKLSBfX2JlMTYgcHJsb19sZW47CisgIF9fdTggcHJsb19vYnM7CisgIF9fYmUxNiBwcmxvX2xlbjsKIH07CiBzdHJ1Y3QgZmNfZWxzX2FkaXNjIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBhZGlzY19jbWQ7Ci0gX191OCBhZGlzY19yZXN2WzNdOwotIF9fdTggYWRpc2NfcmVzdjE7Ci0gX191OCBhZGlzY19oYXJkX2FkZHJbM107CisgIF9fdTggYWRpc2NfY21kOworICBfX3U4IGFkaXNjX3Jlc3ZbM107CisgIF9fdTggYWRpc2NfcmVzdjE7CisgIF9fdTggYWRpc2NfaGFyZF9hZGRyWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlNjQgYWRpc2Nfd3dwbjsKLSBfX2JlNjQgYWRpc2Nfd3dubjsKLSBfX3U4IGFkaXNjX3Jlc3YyOwotIF9fdTggYWRpc2NfcG9ydF9pZFszXTsKKyAgX19iZTY0IGFkaXNjX3d3cG47CisgIF9fYmU2NCBhZGlzY193d25uOworICBfX3U4IGFkaXNjX3Jlc3YyOworICBfX3U4IGFkaXNjX3BvcnRfaWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiBzdHJ1Y3QgZmNfZWxzX2xvZ28gewotIF9fdTggZmxfY21kOwotIF9fdTggZmxfemVyb1szXTsKKyAgX191OCBmbF9jbWQ7CisgIF9fdTggZmxfemVyb1szXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmbF9yZXN2ZDsKLSBfX3U4IGZsX25fcG9ydF9pZFszXTsKLSBfX2JlNjQgZmxfbl9wb3J0X3d3bjsKKyAgX191OCBmbF9yZXN2ZDsKKyAgX191OCBmbF9uX3BvcnRfaWRbM107CisgIF9fYmU2NCBmbF9uX3BvcnRfd3duOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmNfZWxzX3J0diB7Ci0gX191OCBydHZfY21kOwotIF9fdTggcnR2X3plcm9bM107CisgIF9fdTggcnR2X2NtZDsKKyAgX191OCBydHZfemVyb1szXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZjX2Vsc19ydHZfYWNjIHsKLSBfX3U4IHJ0dl9jbWQ7Ci0gX191OCBydHZfemVyb1szXTsKLSBfX2JlMzIgcnR2X3JfYV90b3Y7CisgIF9fdTggcnR2X2NtZDsKKyAgX191OCBydHZfemVyb1szXTsKKyAgX19iZTMyIHJ0dl9yX2FfdG92OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgcnR2X2VfZF90b3Y7Ci0gX19iZTMyIHJ0dl90b3E7CisgIF9fYmUzMiBydHZfZV9kX3RvdjsKKyAgX19iZTMyIHJ0dl90b3E7CiB9OwogI2RlZmluZSBGQ19FTFNfUlRWX0VEUkVTICgxIDw8IDI2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkNfRUxTX1JUVl9SVFRPViAoMSA8PCAxOSkKIHN0cnVjdCBmY19lbHNfc2NyIHsKLSBfX3U4IHNjcl9jbWQ7Ci0gX191OCBzY3JfcmVzdls2XTsKKyAgX191OCBzY3JfY21kOworICBfX3U4IHNjcl9yZXN2WzZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNjcl9yZWdfZnVuYzsKKyAgX191OCBzY3JfcmVnX2Z1bmM7CiB9OwogZW51bSBmY19lbHNfc2NyX2Z1bmMgewotIEVMU19TQ1JGX0ZBQiA9IDEsCisgIEVMU19TQ1JGX0ZBQiA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19TQ1JGX05QT1JUID0gMiwKLSBFTFNfU0NSRl9GVUxMID0gMywKLSBFTFNfU0NSRl9DTEVBUiA9IDI1NSwKKyAgRUxTX1NDUkZfTlBPUlQgPSAyLAorICBFTFNfU0NSRl9GVUxMID0gMywKKyAgRUxTX1NDUkZfQ0xFQVIgPSAyNTUsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmY19lbHNfcnNjbiB7Ci0gX191OCByc2NuX2NtZDsKLSBfX3U4IHJzY25fcGFnZV9sZW47Ci0gX19iZTE2IHJzY25fcGxlbjsKKyAgX191OCByc2NuX2NtZDsKKyAgX191OCByc2NuX3BhZ2VfbGVuOworICBfX2JlMTYgcnNjbl9wbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JzY25fcGFnZSB7Ci0gX191OCByc2NuX3BhZ2VfZmxhZ3M7Ci0gX191OCByc2NuX2ZpZFszXTsKKyAgX191OCByc2NuX3BhZ2VfZmxhZ3M7CisgIF9fdTggcnNjbl9maWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRUxTX1JTQ05fRVZfUVVBTF9CSVQgMgpAQCAtMzc4LDI5OCArMzc5LDI5OCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRUxTX1JTQ05fQUREUl9GTVRfTUFTSyAweDMKIGVudW0gZmNfZWxzX3JzY25fZXZfcXVhbCB7Ci0gRUxTX0VWX1FVQUxfTk9ORSA9IDAsCi0gRUxTX0VWX1FVQUxfTlNfT0JKID0gMSwKKyAgRUxTX0VWX1FVQUxfTk9ORSA9IDAsCisgIEVMU19FVl9RVUFMX05TX09CSiA9IDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19FVl9RVUFMX1BPUlRfQVRUUiA9IDIsCi0gRUxTX0VWX1FVQUxfU0VSVl9PQkogPSAzLAotIEVMU19FVl9RVUFMX1NXX0NPTkZJRyA9IDQsCi0gRUxTX0VWX1FVQUxfUkVNX09CSiA9IDUsCisgIEVMU19FVl9RVUFMX1BPUlRfQVRUUiA9IDIsCisgIEVMU19FVl9RVUFMX1NFUlZfT0JKID0gMywKKyAgRUxTX0VWX1FVQUxfU1dfQ09ORklHID0gNCwKKyAgRUxTX0VWX1FVQUxfUkVNX09CSiA9IDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZmNfZWxzX3JzY25fYWRkcl9mbXQgewotIEVMU19BRERSX0ZNVF9QT1JUID0gMCwKLSBFTFNfQUREUl9GTVRfQVJFQSA9IDEsCisgIEVMU19BRERSX0ZNVF9QT1JUID0gMCwKKyAgRUxTX0FERFJfRk1UX0FSRUEgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfQUREUl9GTVRfRE9NID0gMiwKLSBFTFNfQUREUl9GTVRfRkFCID0gMywKKyAgRUxTX0FERFJfRk1UX0RPTSA9IDIsCisgIEVMU19BRERSX0ZNVF9GQUIgPSAzLAogfTsKIHN0cnVjdCBmY19lbHNfcm5pZCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcm5pZF9jbWQ7Ci0gX191OCBybmlkX3Jlc3ZbM107Ci0gX191OCBybmlkX2ZtdDsKLSBfX3U4IHJuaWRfcmVzdjJbM107CisgIF9fdTggcm5pZF9jbWQ7CisgIF9fdTggcm5pZF9yZXN2WzNdOworICBfX3U4IHJuaWRfZm10OworICBfX3U4IHJuaWRfcmVzdjJbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZmNfZWxzX3JuaWRfZm10IHsKLSBFTFNfUk5JREZfTk9ORSA9IDAsCi0gRUxTX1JOSURGX0dFTiA9IDB4ZGYsCisgIEVMU19STklERl9OT05FID0gMCwKKyAgRUxTX1JOSURGX0dFTiA9IDB4ZGYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19lbHNfcm5pZF9yZXNwIHsKLSBfX3U4IHJuaWRfY21kOwotIF9fdTggcm5pZF9yZXN2WzNdOworICBfX3U4IHJuaWRfY21kOworICBfX3U4IHJuaWRfcmVzdlszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBybmlkX2ZtdDsKLSBfX3U4IHJuaWRfY2lkX2xlbjsKLSBfX3U4IHJuaWRfcmVzdjI7Ci0gX191OCBybmlkX3NpZF9sZW47CisgIF9fdTggcm5pZF9mbXQ7CisgIF9fdTggcm5pZF9jaWRfbGVuOworICBfX3U4IHJuaWRfcmVzdjI7CisgIF9fdTggcm5pZF9zaWRfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JuaWRfY2lkIHsKLSBfX2JlNjQgcm5pZF93d3BuOwotIF9fYmU2NCBybmlkX3d3bm47CisgIF9fYmU2NCBybmlkX3d3cG47CisgIF9fYmU2NCBybmlkX3d3bm47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19lbHNfcm5pZF9nZW4gewotIF9fdTggcm5pZF92ZW5kX2lkWzE2XTsKLSBfX2JlMzIgcm5pZF9hdHlwZTsKKyAgX191OCBybmlkX3ZlbmRfaWRbMTZdOworICBfX2JlMzIgcm5pZF9hdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTMyIHJuaWRfcGh5c19wb3J0OwotIF9fYmUzMiBybmlkX2F0dF9ub2RlczsKLSBfX3U4IHJuaWRfbm9kZV9tZ210OwotIF9fdTggcm5pZF9pcF92ZXI7CisgIF9fYmUzMiBybmlkX3BoeXNfcG9ydDsKKyAgX19iZTMyIHJuaWRfYXR0X25vZGVzOworICBfX3U4IHJuaWRfbm9kZV9tZ210OworICBfX3U4IHJuaWRfaXBfdmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMTYgcm5pZF9wcm90X3BvcnQ7Ci0gX19iZTMyIHJuaWRfaXBfYWRkcls0XTsKLSBfX3U4IHJuaWRfcmVzdmRbMl07Ci0gX19iZTE2IHJuaWRfdmVuZF9zcGVjOworICBfX2JlMTYgcm5pZF9wcm90X3BvcnQ7CisgIF9fYmUzMiBybmlkX2lwX2FkZHJbNF07CisgIF9fdTggcm5pZF9yZXN2ZFsyXTsKKyAgX19iZTE2IHJuaWRfdmVuZF9zcGVjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGZjX2Vsc19ybmlkX2F0eXBlIHsKLSBFTFNfUk5JREFfVU5LID0gMHgwMSwKLSBFTFNfUk5JREFfT1RIRVIgPSAweDAyLAorICBFTFNfUk5JREFfVU5LID0gMHgwMSwKKyAgRUxTX1JOSURBX09USEVSID0gMHgwMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1JOSURBX0hVQiA9IDB4MDMsCi0gRUxTX1JOSURBX1NXSVRDSCA9IDB4MDQsCi0gRUxTX1JOSURBX0dBVEVXQVkgPSAweDA1LAotIEVMU19STklEQV9DT05WID0gMHgwNiwKKyAgRUxTX1JOSURBX0hVQiA9IDB4MDMsCisgIEVMU19STklEQV9TV0lUQ0ggPSAweDA0LAorICBFTFNfUk5JREFfR0FURVdBWSA9IDB4MDUsCisgIEVMU19STklEQV9DT05WID0gMHgwNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1JOSURBX0hCQSA9IDB4MDcsCi0gRUxTX1JOSURBX1BST1hZID0gMHgwOCwKLSBFTFNfUk5JREFfU1RPUkFHRSA9IDB4MDksCi0gRUxTX1JOSURBX0hPU1QgPSAweDBhLAorICBFTFNfUk5JREFfSEJBID0gMHgwNywKKyAgRUxTX1JOSURBX1BST1hZID0gMHgwOCwKKyAgRUxTX1JOSURBX1NUT1JBR0UgPSAweDA5LAorICBFTFNfUk5JREFfSE9TVCA9IDB4MGEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19STklEQV9TVUJTWVMgPSAweDBiLAotIEVMU19STklEQV9BQ0NFU1MgPSAweDBlLAotIEVMU19STklEQV9OQVMgPSAweDExLAotIEVMU19STklEQV9CUklER0UgPSAweDEyLAorICBFTFNfUk5JREFfU1VCU1lTID0gMHgwYiwKKyAgRUxTX1JOSURBX0FDQ0VTUyA9IDB4MGUsCisgIEVMU19STklEQV9OQVMgPSAweDExLAorICBFTFNfUk5JREFfQlJJREdFID0gMHgxMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1JOSURBX1ZJUlQgPSAweDEzLAotIEVMU19STklEQV9NRiA9IDB4ZmYsCi0gRUxTX1JOSURBX01GX0hVQiA9IDFVTCA8PCAzMSwKLSBFTFNfUk5JREFfTUZfU1cgPSAxVUwgPDwgMzAsCisgIEVMU19STklEQV9WSVJUID0gMHgxMywKKyAgRUxTX1JOSURBX01GID0gMHhmZiwKKyAgRUxTX1JOSURBX01GX0hVQiA9IDFVTCA8PCAzMSwKKyAgRUxTX1JOSURBX01GX1NXID0gMVVMIDw8IDMwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfUk5JREFfTUZfR1cgPSAxVUwgPDwgMjksCi0gRUxTX1JOSURBX01GX1NUID0gMVVMIDw8IDI4LAotIEVMU19STklEQV9NRl9IT1NUID0gMVVMIDw8IDI3LAotIEVMU19STklEQV9NRl9TVUIgPSAxVUwgPDwgMjYsCisgIEVMU19STklEQV9NRl9HVyA9IDFVTCA8PCAyOSwKKyAgRUxTX1JOSURBX01GX1NUID0gMVVMIDw8IDI4LAorICBFTFNfUk5JREFfTUZfSE9TVCA9IDFVTCA8PCAyNywKKyAgRUxTX1JOSURBX01GX1NVQiA9IDFVTCA8PCAyNiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX1JOSURBX01GX0FDQyA9IDFVTCA8PCAyNSwKLSBFTFNfUk5JREFfTUZfV0RNID0gMVVMIDw8IDI0LAotIEVMU19STklEQV9NRl9OQVMgPSAxVUwgPDwgMjMsCi0gRUxTX1JOSURBX01GX0JSID0gMVVMIDw8IDIyLAorICBFTFNfUk5JREFfTUZfQUNDID0gMVVMIDw8IDI1LAorICBFTFNfUk5JREFfTUZfV0RNID0gMVVMIDw8IDI0LAorICBFTFNfUk5JREFfTUZfTkFTID0gMVVMIDw8IDIzLAorICBFTFNfUk5JREFfTUZfQlIgPSAxVUwgPDwgMjIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19STklEQV9NRl9WSVJUID0gMVVMIDw8IDIxLAorICBFTFNfUk5JREFfTUZfVklSVCA9IDFVTCA8PCAyMSwKIH07CiBlbnVtIGZjX2Vsc19ybmlkX21nbXQgewotIEVMU19STklETV9TTk1QID0gMCwKKyAgRUxTX1JOSURNX1NOTVAgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfUk5JRE1fVEVMTkVUID0gMSwKLSBFTFNfUk5JRE1fSFRUUCA9IDIsCi0gRUxTX1JOSURNX0hUVFBTID0gMywKLSBFTFNfUk5JRE1fWE1MID0gNCwKKyAgRUxTX1JOSURNX1RFTE5FVCA9IDEsCisgIEVMU19STklETV9IVFRQID0gMiwKKyAgRUxTX1JOSURNX0hUVFBTID0gMywKKyAgRUxTX1JOSURNX1hNTCA9IDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZmNfZWxzX3JuaWRfaXB2ZXIgewotIEVMU19STklESVBfTk9ORSA9IDAsCi0gRUxTX1JOSURJUF9WNCA9IDEsCisgIEVMU19STklESVBfTk9ORSA9IDAsCisgIEVMU19STklESVBfVjQgPSAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfUk5JRElQX1Y2ID0gMiwKKyAgRUxTX1JOSURJUF9WNiA9IDIsCiB9Owogc3RydWN0IGZjX2Vsc19ycGwgewotIF9fdTggcnBsX2NtZDsKKyAgX191OCBycGxfY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJwbF9yZXN2WzVdOwotIF9fYmUxNiBycGxfbWF4X3NpemU7Ci0gX191OCBycGxfcmVzdjE7Ci0gX191OCBycGxfaW5kZXhbM107CisgIF9fdTggcnBsX3Jlc3ZbNV07CisgIF9fYmUxNiBycGxfbWF4X3NpemU7CisgIF9fdTggcnBsX3Jlc3YxOworICBfX3U4IHJwbF9pbmRleFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IGZjX2Vsc19wbmIgewotIF9fYmUzMiBwbmJfcGh5c19wbjsKLSBfX3U4IHBuYl9yZXN2OworICBfX2JlMzIgcG5iX3BoeXNfcG47CisgIF9fdTggcG5iX3Jlc3Y7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcG5iX3BvcnRfaWRbM107Ci0gX19iZTY0IHBuYl93d3BuOworICBfX3U4IHBuYl9wb3J0X2lkWzNdOworICBfX2JlNjQgcG5iX3d3cG47CiB9Owogc3RydWN0IGZjX2Vsc19ycGxfcmVzcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcnBsX2NtZDsKLSBfX3U4IHJwbF9yZXN2MTsKLSBfX2JlMTYgcnBsX3BsZW47Ci0gX191OCBycGxfcmVzdjI7CisgIF9fdTggcnBsX2NtZDsKKyAgX191OCBycGxfcmVzdjE7CisgIF9fYmUxNiBycGxfcGxlbjsKKyAgX191OCBycGxfcmVzdjI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcnBsX2xsZW5bM107Ci0gX191OCBycGxfcmVzdjM7Ci0gX191OCBycGxfaW5kZXhbM107Ci0gc3RydWN0IGZjX2Vsc19wbmIgcnBsX3BuYlsxXTsKKyAgX191OCBycGxfbGxlblszXTsKKyAgX191OCBycGxfcmVzdjM7CisgIF9fdTggcnBsX2luZGV4WzNdOworICBzdHJ1Y3QgZmNfZWxzX3BuYiBycGxfcG5iWzFdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX2xlc2IgewotIF9fYmUzMiBsZXNiX2xpbmtfZmFpbDsKLSBfX2JlMzIgbGVzYl9zeW5jX2xvc3M7CisgIF9fYmUzMiBsZXNiX2xpbmtfZmFpbDsKKyAgX19iZTMyIGxlc2Jfc3luY19sb3NzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX2JlMzIgbGVzYl9zaWdfbG9zczsKLSBfX2JlMzIgbGVzYl9wcmltX2VycjsKLSBfX2JlMzIgbGVzYl9pbnZfd29yZDsKLSBfX2JlMzIgbGVzYl9pbnZfY3JjOworICBfX2JlMzIgbGVzYl9zaWdfbG9zczsKKyAgX19iZTMyIGxlc2JfcHJpbV9lcnI7CisgIF9fYmUzMiBsZXNiX2ludl93b3JkOworICBfX2JlMzIgbGVzYl9pbnZfY3JjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JwcyB7Ci0gX191OCBycHNfY21kOwotIF9fdTggcnBzX3Jlc3ZbMl07CisgIF9fdTggcnBzX2NtZDsKKyAgX191OCBycHNfcmVzdlsyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBycHNfZmxhZzsKLSBfX2JlNjQgcnBzX3BvcnRfc3BlYzsKKyAgX191OCBycHNfZmxhZzsKKyAgX19iZTY0IHJwc19wb3J0X3NwZWM7CiB9OwogZW51bSBmY19lbHNfcnBzX2ZsYWcgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19FTFNfUlBTX0RJRCA9IDB4MDAsCi0gRkNfRUxTX1JQU19QUE4gPSAweDAxLAotIEZDX0VMU19SUFNfV1dQTiA9IDB4MDIsCisgIEZDX0VMU19SUFNfRElEID0gMHgwMCwKKyAgRkNfRUxTX1JQU19QUE4gPSAweDAxLAorICBGQ19FTFNfUlBTX1dXUE4gPSAweDAyLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmNfZWxzX3Jwc19yZXNwIHsKLSBfX3U4IHJwc19jbWQ7Ci0gX191OCBycHNfcmVzdlsyXTsKLSBfX3U4IHJwc19mbGFnOworICBfX3U4IHJwc19jbWQ7CisgIF9fdTggcnBzX3Jlc3ZbMl07CisgIF9fdTggcnBzX2ZsYWc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcnBzX3Jlc3YyWzJdOwotIF9fYmUxNiBycHNfc3RhdHVzOwotIHN0cnVjdCBmY19lbHNfbGVzYiBycHNfbGVzYjsKKyAgX191OCBycHNfcmVzdjJbMl07CisgIF9fYmUxNiBycHNfc3RhdHVzOworICBzdHJ1Y3QgZmNfZWxzX2xlc2IgcnBzX2xlc2I7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gZmNfZWxzX3Jwc19yZXNwX2ZsYWcgewotIEZDX0VMU19SUFNfTFBFViA9IDB4MDEsCisgIEZDX0VMU19SUFNfTFBFViA9IDB4MDEsCiB9OwogZW51bSBmY19lbHNfcnBzX3Jlc3Bfc3RhdHVzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfRUxTX1JQU19QVFAgPSAxIDw8IDUsCi0gRkNfRUxTX1JQU19MT09QID0gMSA8PCA0LAotIEZDX0VMU19SUFNfRkFCID0gMSA8PCAzLAotIEZDX0VMU19SUFNfTk9fU0lHID0gMSA8PCAyLAorICBGQ19FTFNfUlBTX1BUUCA9IDEgPDwgNSwKKyAgRkNfRUxTX1JQU19MT09QID0gMSA8PCA0LAorICBGQ19FTFNfUlBTX0ZBQiA9IDEgPDwgMywKKyAgRkNfRUxTX1JQU19OT19TSUcgPSAxIDw8IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX0VMU19SUFNfTk9fU1lOQyA9IDEgPDwgMSwKLSBGQ19FTFNfUlBTX1JFU0VUID0gMSA8PCAwLAorICBGQ19FTFNfUlBTX05PX1NZTkMgPSAxIDw8IDEsCisgIEZDX0VMU19SUFNfUkVTRVQgPSAxIDw8IDAsCiB9Owogc3RydWN0IGZjX2Vsc19saXJyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBsaXJyX2NtZDsKLSBfX3U4IGxpcnJfcmVzdlszXTsKLSBfX3U4IGxpcnJfZnVuYzsKLSBfX3U4IGxpcnJfZm10OworICBfX3U4IGxpcnJfY21kOworICBfX3U4IGxpcnJfcmVzdlszXTsKKyAgX191OCBsaXJyX2Z1bmM7CisgIF9fdTggbGlycl9mbXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggbGlycl9yZXN2MlsyXTsKKyAgX191OCBsaXJyX3Jlc3YyWzJdOwogfTsKIGVudW0gZmNfZWxzX2xpcnJfZnVuYyB7Ci0gRUxTX0xJUlJfU0VUX0NPTkQgPSAweDAxLAorICBFTFNfTElSUl9TRVRfQ09ORCA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19MSVJSX1NFVF9VTkNPTkQgPSAweDAyLAotIEVMU19MSVJSX0NMRUFSID0gMHhmZgorICBFTFNfTElSUl9TRVRfVU5DT05EID0gMHgwMiwKKyAgRUxTX0xJUlJfQ0xFQVIgPSAweGZmCiB9Owogc3RydWN0IGZjX2Vsc19zcmwgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNybF9jbWQ7Ci0gX191OCBzcmxfcmVzdlszXTsKLSBfX3U4IHNybF9mbGFnOwotIF9fdTggc3JsX2ZsYWdfcGFyYW1bM107CisgIF9fdTggc3JsX2NtZDsKKyAgX191OCBzcmxfcmVzdlszXTsKKyAgX191OCBzcmxfZmxhZzsKKyAgX191OCBzcmxfZmxhZ19wYXJhbVszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBmY19lbHNfc3JsX2ZsYWcgewotIEZDX0VMU19TUkxfQUxMID0gMHgwMCwKLSBGQ19FTFNfU1JMX09ORSA9IDB4MDEsCisgIEZDX0VMU19TUkxfQUxMID0gMHgwMCwKKyAgRkNfRUxTX1NSTF9PTkUgPSAweDAxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19FTFNfU1JMX0VOX1BFUiA9IDB4MDIsCi0gRkNfRUxTX1NSTF9ESVNfUEVSID0gMHgwMywKKyAgRkNfRUxTX1NSTF9FTl9QRVIgPSAweDAyLAorICBGQ19FTFNfU1JMX0RJU19QRVIgPSAweDAzLAogfTsKIHN0cnVjdCBmY19lbHNfcmxzIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBybHNfY21kOwotIF9fdTggcmxzX3Jlc3ZbNF07Ci0gX191OCBybHNfcG9ydF9pZFszXTsKKyAgX191OCBybHNfY21kOworICBfX3U4IHJsc19yZXN2WzRdOworICBfX3U4IHJsc19wb3J0X2lkWzNdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgZmNfZWxzX3Jsc19yZXNwIHsKLSBfX3U4IHJsc19jbWQ7Ci0gX191OCBybHNfcmVzdlszXTsKLSBzdHJ1Y3QgZmNfZWxzX2xlc2IgcmxzX2xlc2I7CisgIF9fdTggcmxzX2NtZDsKKyAgX191OCBybHNfcmVzdlszXTsKKyAgc3RydWN0IGZjX2Vsc19sZXNiIHJsc19sZXNiOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX3JsaXIgewotIF9fdTggcmxpcl9jbWQ7Ci0gX191OCBybGlyX3Jlc3ZbM107CisgIF9fdTggcmxpcl9jbWQ7CisgIF9fdTggcmxpcl9yZXN2WzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHJsaXJfZm10OwotIF9fdTggcmxpcl9jbHJfbGVuOwotIF9fdTggcmxpcl9jbGRfbGVuOwotIF9fdTggcmxpcl9zbHJfbGVuOworICBfX3U4IHJsaXJfZm10OworICBfX3U4IHJsaXJfY2xyX2xlbjsKKyAgX191OCBybGlyX2NsZF9sZW47CisgIF9fdTggcmxpcl9zbHJfbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfZWxzX2NsaXIgewotIF9fYmU2NCBjbGlyX3d3cG47Ci0gX19iZTY0IGNsaXJfd3dubjsKKyAgX19iZTY0IGNsaXJfd3dwbjsKKyAgX19iZTY0IGNsaXJfd3dubjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjbGlyX3BvcnRfdHlwZTsKLSBfX3U4IGNsaXJfcG9ydF9pZFszXTsKLSBfX2JlNjQgY2xpcl9jb25uX3d3cG47Ci0gX19iZTY0IGNsaXJfY29ubl93d25uOworICBfX3U4IGNsaXJfcG9ydF90eXBlOworICBfX3U4IGNsaXJfcG9ydF9pZFszXTsKKyAgX19iZTY0IGNsaXJfY29ubl93d3BuOworICBfX2JlNjQgY2xpcl9jb25uX3d3bm47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmU2NCBjbGlyX2ZhYl9uYW1lOwotIF9fYmUzMiBjbGlyX3BoeXNfcG9ydDsKLSBfX2JlMzIgY2xpcl90cmFuc19pZDsKLSBfX3U4IGNsaXJfcmVzdlszXTsKKyAgX19iZTY0IGNsaXJfZmFiX25hbWU7CisgIF9fYmUzMiBjbGlyX3BoeXNfcG9ydDsKKyAgX19iZTMyIGNsaXJfdHJhbnNfaWQ7CisgIF9fdTggY2xpcl9yZXN2WzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGNsaXJfdHNfZm10OwotIF9fYmU2NCBjbGlyX3RpbWVzdGFtcDsKKyAgX191OCBjbGlyX3RzX2ZtdDsKKyAgX19iZTY0IGNsaXJfdGltZXN0YW1wOwogfTsKIGVudW0gZmNfZWxzX2NsaXJfdHNfZm10IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX0NMSVJfVFNfVU5LTk9XTiA9IDAsCi0gRUxTX0NMSVJfVFNfU0VDX0ZSQUMgPSAxLAotIEVMU19DTElSX1RTX0NTVSA9IDIsCisgIEVMU19DTElSX1RTX1VOS05PV04gPSAwLAorICBFTFNfQ0xJUl9UU19TRUNfRlJBQyA9IDEsCisgIEVMU19DTElSX1RTX0NTVSA9IDIsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmY19lbHNfY2xpZCB7Ci0gX191OCBjbGlkX2lxOwotIF9fdTggY2xpZF9pYzsKLSBfX2JlMTYgY2xpZF9lcGFpOworICBfX3U4IGNsaWRfaXE7CisgIF9fdTggY2xpZF9pYzsKKyAgX19iZTE2IGNsaWRfZXBhaTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBmY19lbHNfY2xpZF9pcSB7Ci0gRUxTX0NMSURfU1dJVENIID0gMHgyMCwKLSBFTFNfQ0xJRF9FX1BPUlQgPSAweDEwLAorICBFTFNfQ0xJRF9TV0lUQ0ggPSAweDIwLAorICBFTFNfQ0xJRF9FX1BPUlQgPSAweDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBFTFNfQ0xJRF9TRVZfTUFTSyA9IDB4MGMsCi0gRUxTX0NMSURfU0VWX0lORk8gPSAweDAwLAotIEVMU19DTElEX1NFVl9JTk9QID0gMHgwOCwKLSBFTFNfQ0xJRF9TRVZfREVHID0gMHgwNCwKKyAgRUxTX0NMSURfU0VWX01BU0sgPSAweDBjLAorICBFTFNfQ0xJRF9TRVZfSU5GTyA9IDB4MDAsCisgIEVMU19DTElEX1NFVl9JTk9QID0gMHgwOCwKKyAgRUxTX0NMSURfU0VWX0RFRyA9IDB4MDQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19DTElEX0xBU0VSID0gMHgwMiwKLSBFTFNfQ0xJRF9GUlUgPSAweDAxLAorICBFTFNfQ0xJRF9MQVNFUiA9IDB4MDIsCisgIEVMU19DTElEX0ZSVSA9IDB4MDEsCiB9OwogZW51bSBmY19lbHNfY2xpZF9pYyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEVMU19DTElEX0lDX0lNUEwgPSAxLAotIEVMU19DTElEX0lDX0JFUiA9IDIsCi0gRUxTX0NMSURfSUNfTE9TID0gMywKLSBFTFNfQ0xJRF9JQ19OT1MgPSA0LAorICBFTFNfQ0xJRF9JQ19JTVBMID0gMSwKKyAgRUxTX0NMSURfSUNfQkVSID0gMiwKKyAgRUxTX0NMSURfSUNfTE9TID0gMywKKyAgRUxTX0NMSURfSUNfTk9TID0gNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRUxTX0NMSURfSUNfUFNUID0gNSwKLSBFTFNfQ0xJRF9JQ19JTlZBTCA9IDYsCi0gRUxTX0NMSURfSUNfTE9PUF9UTyA9IDcsCi0gRUxTX0NMSURfSUNfTElQID0gOCwKKyAgRUxTX0NMSURfSUNfUFNUID0gNSwKKyAgRUxTX0NMSURfSUNfSU5WQUwgPSA2LAorICBFTFNfQ0xJRF9JQ19MT09QX1RPID0gNywKKyAgRUxTX0NMSURfSUNfTElQID0gOCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3Njc2kvZmMvZmNfZnMuaCBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19mcy5oCmluZGV4IDYyYjdmNGEuLmJkYzYxN2UgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19mcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19mcy5oCkBAIC0yMSwyMCArMjEsMjAgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogc3RydWN0IGZjX2ZyYW1lX2hlYWRlciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZmhfcl9jdGw7Ci0gX191OCBmaF9kX2lkWzNdOwotIF9fdTggZmhfY3NfY3RsOwotIF9fdTggZmhfc19pZFszXTsKKyAgX191OCBmaF9yX2N0bDsKKyAgX191OCBmaF9kX2lkWzNdOworICBfX3U4IGZoX2NzX2N0bDsKKyAgX191OCBmaF9zX2lkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZoX3R5cGU7Ci0gX191OCBmaF9mX2N0bFszXTsKLSBfX3U4IGZoX3NlcV9pZDsKLSBfX3U4IGZoX2RmX2N0bDsKKyAgX191OCBmaF90eXBlOworICBfX3U4IGZoX2ZfY3RsWzNdOworICBfX3U4IGZoX3NlcV9pZDsKKyAgX191OCBmaF9kZl9jdGw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBmaF9zZXFfY250OwotIF9fYmUxNiBmaF9veF9pZDsKLSBfX2JlMTYgZmhfcnhfaWQ7Ci0gX19iZTMyIGZoX3Bhcm1fb2Zmc2V0OworICBfX2JlMTYgZmhfc2VxX2NudDsKKyAgX19iZTE2IGZoX294X2lkOworICBfX2JlMTYgZmhfcnhfaWQ7CisgIF9fYmUzMiBmaF9wYXJtX29mZnNldDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBGQ19GUkFNRV9IRUFERVJfTEVOIDI0CkBAIC00NCw2NSArNDQsNjYgQEAKICNkZWZpbmUgRkNfTUFYX0ZSQU1FIChGQ19NQVhfUEFZTE9BRCArIEZDX0ZSQU1FX0hFQURFUl9MRU4pCiAjZGVmaW5lIEZDX01JTl9NQVhfRlJBTUUgKEZDX01JTl9NQVhfUEFZTE9BRCArIEZDX0ZSQU1FX0hFQURFUl9MRU4pCiBlbnVtIGZjX3JjdGwgewotIEZDX1JDVExfRERfVU5DQVQgPSAweDAwLAorICBGQ19SQ1RMX0REX1VOQ0FUID0gMHgwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkNUTF9ERF9TT0xfREFUQSA9IDB4MDEsCi0gRkNfUkNUTF9ERF9VTlNPTF9DVEwgPSAweDAyLAotIEZDX1JDVExfRERfU09MX0NUTCA9IDB4MDMsCi0gRkNfUkNUTF9ERF9VTlNPTF9EQVRBID0gMHgwNCwKKyAgRkNfUkNUTF9ERF9TT0xfREFUQSA9IDB4MDEsCisgIEZDX1JDVExfRERfVU5TT0xfQ1RMID0gMHgwMiwKKyAgRkNfUkNUTF9ERF9TT0xfQ1RMID0gMHgwMywKKyAgRkNfUkNUTF9ERF9VTlNPTF9EQVRBID0gMHgwNCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkNUTF9ERF9EQVRBX0RFU0MgPSAweDA1LAotIEZDX1JDVExfRERfVU5TT0xfQ01EID0gMHgwNiwKLSBGQ19SQ1RMX0REX0NNRF9TVEFUVVMgPSAweDA3LAorICBGQ19SQ1RMX0REX0RBVEFfREVTQyA9IDB4MDUsCisgIEZDX1JDVExfRERfVU5TT0xfQ01EID0gMHgwNiwKKyAgRkNfUkNUTF9ERF9DTURfU1RBVFVTID0gMHgwNywKICNkZWZpbmUgRkNfUkNUTF9JTFNfUkVRIEZDX1JDVExfRERfVU5TT0xfQ1RMCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBGQ19SQ1RMX0lMU19SRVAgRkNfUkNUTF9ERF9TT0xfQ1RMCi0gRkNfUkNUTF9FTFNfUkVRID0gMHgyMiwKLSBGQ19SQ1RMX0VMU19SRVAgPSAweDIzLAotIEZDX1JDVExfRUxTNF9SRVEgPSAweDMyLAorICBGQ19SQ1RMX0VMU19SRVEgPSAweDIyLAorICBGQ19SQ1RMX0VMU19SRVAgPSAweDIzLAorICBGQ19SQ1RMX0VMUzRfUkVRID0gMHgzMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkNUTF9FTFM0X1JFUCA9IDB4MzMsCi0gRkNfUkNUTF9WRlRIID0gMHg1MCwKLSBGQ19SQ1RMX0lGUkggPSAweDUxLAotIEZDX1JDVExfRU5DSCA9IDB4NTIsCisgIEZDX1JDVExfRUxTNF9SRVAgPSAweDMzLAorICBGQ19SQ1RMX1ZGVEggPSAweDUwLAorICBGQ19SQ1RMX0lGUkggPSAweDUxLAorICBGQ19SQ1RMX0VOQ0ggPSAweDUyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19SQ1RMX0JBX05PUCA9IDB4ODAsCi0gRkNfUkNUTF9CQV9BQlRTID0gMHg4MSwKLSBGQ19SQ1RMX0JBX1JNQyA9IDB4ODIsCi0gRkNfUkNUTF9CQV9BQ0MgPSAweDg0LAorICBGQ19SQ1RMX0JBX05PUCA9IDB4ODAsCisgIEZDX1JDVExfQkFfQUJUUyA9IDB4ODEsCisgIEZDX1JDVExfQkFfUk1DID0gMHg4MiwKKyAgRkNfUkNUTF9CQV9BQ0MgPSAweDg0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19SQ1RMX0JBX1JKVCA9IDB4ODUsCi0gRkNfUkNUTF9CQV9QUk1UID0gMHg4NiwKLSBGQ19SQ1RMX0FDS18xID0gMHhjMCwKLSBGQ19SQ1RMX0FDS18wID0gMHhjMSwKKyAgRkNfUkNUTF9CQV9SSlQgPSAweDg1LAorICBGQ19SQ1RMX0JBX1BSTVQgPSAweDg2LAorICBGQ19SQ1RMX0FDS18xID0gMHhjMCwKKyAgRkNfUkNUTF9BQ0tfMCA9IDB4YzEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX1JDVExfUF9SSlQgPSAweGMyLAotIEZDX1JDVExfRl9SSlQgPSAweGMzLAotIEZDX1JDVExfUF9CU1kgPSAweGM0LAotIEZDX1JDVExfRl9CU1kgPSAweGM1LAorICBGQ19SQ1RMX1BfUkpUID0gMHhjMiwKKyAgRkNfUkNUTF9GX1JKVCA9IDB4YzMsCisgIEZDX1JDVExfUF9CU1kgPSAweGM0LAorICBGQ19SQ1RMX0ZfQlNZID0gMHhjNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkNUTF9GX0JTWUwgPSAweGM2LAotIEZDX1JDVExfTENSID0gMHhjNywKLSBGQ19SQ1RMX0VORCA9IDB4YzksCisgIEZDX1JDVExfRl9CU1lMID0gMHhjNiwKKyAgRkNfUkNUTF9MQ1IgPSAweGM3LAorICBGQ19SQ1RMX0VORCA9IDB4YzksCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgRkNfUkNUTF9OQU1FU19JTklUIHsgICBbRkNfUkNUTF9ERF9VTkNBVF0gPSAidW5jYXQiLCAgIFtGQ19SQ1RMX0REX1NPTF9EQVRBXSA9ICJzb2wgZGF0YSIsICAgW0ZDX1JDVExfRERfVU5TT0xfQ1RMXSA9ICJ1bnNvbCBjdGwiLCAgIFtGQ19SQ1RMX0REX1NPTF9DVExdID0gInNvbCBjdGwvcmVwbHkiLCAgIFtGQ19SQ1RMX0REX1VOU09MX0RBVEFdID0gInVuc29sIGRhdGEiLCAgIFtGQ19SQ1RMX0REX0RBVEFfREVTQ10gPSAiZGF0YSBkZXNjIiwgICBbRkNfUkNUTF9ERF9VTlNPTF9DTURdID0gInVuc29sIGNtZCIsICAgW0ZDX1JDVExfRERfQ01EX1NUQVRVU10gPSAiY21kIHN0YXR1cyIsICAgW0ZDX1JDVExfRUxTX1JFUV0gPSAiRUxTIHJlcSIsICAgW0ZDX1JDVExfRUxTX1JFUF0gPSAiRUxTIHJlcCIsICAgW0ZDX1JDVExfRUxTNF9SRVFdID0gIkZDLTQgRUxTIHJlcSIsICAgW0ZDX1JDVExfRUxTNF9SRVBdID0gIkZDLTQgRUxTIHJlcCIsICAgW0ZDX1JDVExfQkFfTk9QXSA9ICJCTFMgTk9QIiwgICBbRkNfUkNUTF9CQV9BQlRTXSA9ICJCTFMgYWJvcnQiLCAgIFtGQ19SQ1RMX0JBX1JNQ10gPSAiQkxTIHJlbW92ZSBjb25uZWN0aW9uIiwgICBbRkNfUkNUTF9CQV9BQ0NdID0gIkJMUyBhY2NlcHQiLCAgIFtGQ19SQ1RMX0JBX1JKVF0gPSAiQkxTIHJlamVjdCIsICAgW0ZDX1JDVExfQkFfUFJNVF0gPSAiQkxTIGRlZGljYXRlZCBjb25uZWN0aW9uIHByZWVtcHRlZCIsICAgW0ZDX1JDVExfQUNLXzFdID0gIkxDIEFDS18xIiwgICBbRkNfUkNUTF9BQ0tfMF0gPSAiTEMgQUNLXzAiLCAgIFtGQ19SQ1RMX1BfUkpUXSA9ICJMQyBwb3J0IHJlamVjdCIsICAgW0ZDX1JDVExfRl9SSlRdID0gIkxDIGZhYnJpYyByZWplY3QiLCAgIFtGQ19SQ1RMX1BfQlNZXSA9ICJMQyBwb3J0IGJ1c3kiLCAgIFtGQ19SQ1RMX0ZfQlNZXSA9ICJMQyBmYWJyaWMgYnVzeSB0byBkYXRhIGZyYW1lIiwgICBbRkNfUkNUTF9GX0JTWUxdID0gIkxDIGZhYnJpYyBidXN5IHRvIGxpbmsgY29udHJvbCBmcmFtZSIsICBbRkNfUkNUTF9MQ1JdID0gIkxDIGxpbmsgY3JlZGl0IHJlc2V0IiwgICBbRkNfUkNUTF9FTkRdID0gIkxDIGVuZCIsICB9CisjZGVmaW5lIEZDX1JDVExfTkFNRVNfSU5JVCB7W0ZDX1JDVExfRERfVU5DQVRdID0gInVuY2F0IixbRkNfUkNUTF9ERF9TT0xfREFUQV0gPSAic29sIGRhdGEiLFtGQ19SQ1RMX0REX1VOU09MX0NUTF0gPSAidW5zb2wgY3RsIixbRkNfUkNUTF9ERF9TT0xfQ1RMXSA9ICJzb2wgY3RsL3JlcGx5IixbRkNfUkNUTF9ERF9VTlNPTF9EQVRBXSA9ICJ1bnNvbCBkYXRhIixbRkNfUkNUTF9ERF9EQVRBX0RFU0NdID0gImRhdGEgZGVzYyIsW0ZDX1JDVExfRERfVU5TT0xfQ01EXSA9ICJ1bnNvbCBjbWQiLFtGQ19SQ1RMX0REX0NNRF9TVEFUVVNdID0gImNtZCBzdGF0dXMiLFtGQ19SQ1RMX0VMU19SRVFdID0gIkVMUyByZXEiLFtGQ19SQ1RMX0VMU19SRVBdID0gIkVMUyByZXAiLFtGQ19SQ1RMX0VMUzRfUkVRXSA9ICJGQy00IEVMUyByZXEiLFtGQ19SQ1RMX0VMUzRfUkVQXSA9ICJGQy00IEVMUyByZXAiLFtGQ19SQ1RMX0JBX05PUF0gPSAiQkxTIE5PUCIsW0ZDX1JDVExfQkFfQUJUU10gPSAiQkxTIGFib3J0IixbRkNfUkNUTF9CQV9STUNdID0gIkJMUyByZW1vdmUgY29ubmVjdGlvbiIsW0ZDX1JDVExfQkFfQUNDXSA9ICJCTFMgYWNjZXB0IixbRkNfUkNUTF9CQV9SSlRdID0gIkJMUyByZWplY3QiLFtGQ19SQ1RMX0JBX1BSTVRdID0gIkJMUyBkZWRpY2F0ZWQgY29ubmVjdGlvbiBwcmVlbXB0ZWQiLFtGQ19SQ1RMX0FDS18xXSA9ICJMQyBBQ0tfMSIsW0ZDX1JDVExfQUNLXzBdID0gIkxDIEFDS18wIixbRkNfUkNUTF9QX1JKVF0gPSAiTEMgcG9ydCByZWplY3QiLFtGQ19SQ1RMX0ZfUkpUXSA9ICJMQyBmYWJyaWMgcmVqZWN0IixbRkNfUkNUTF9QX0JTWV0gPSAiTEMgcG9ydCBidXN5IixbRkNfUkNUTF9GX0JTWV0gPSAiTEMgZmFicmljIGJ1c3kgdG8gZGF0YSBmcmFtZSIsW0ZDX1JDVExfRl9CU1lMXSA9ICJMQyBmYWJyaWMgYnVzeSB0byBsaW5rIGNvbnRyb2wgZnJhbWUiLFtGQ19SQ1RMX0xDUl0gPSAiTEMgbGluayBjcmVkaXQgcmVzZXQiLFtGQ19SQ1RMX0VORF0gPSAiTEMgZW5kIiwgXAorfQogZW51bSBmY193ZWxsX2tub3duX2ZpZCB7Ci0gRkNfRklEX05PTkUgPSAweDAwMDAwMCwKLSBGQ19GSURfQkNBU1QgPSAweGZmZmZmZiwKKyAgRkNfRklEX05PTkUgPSAweDAwMDAwMCwKKyAgRkNfRklEX0JDQVNUID0gMHhmZmZmZmYsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX0ZJRF9GTE9HSSA9IDB4ZmZmZmZlLAotIEZDX0ZJRF9GQ1RSTCA9IDB4ZmZmZmZkLAotIEZDX0ZJRF9ESVJfU0VSViA9IDB4ZmZmZmZjLAotIEZDX0ZJRF9USU1FX1NFUlYgPSAweGZmZmZmYiwKKyAgRkNfRklEX0ZMT0dJID0gMHhmZmZmZmUsCisgIEZDX0ZJRF9GQ1RSTCA9IDB4ZmZmZmZkLAorICBGQ19GSURfRElSX1NFUlYgPSAweGZmZmZmYywKKyAgRkNfRklEX1RJTUVfU0VSViA9IDB4ZmZmZmZiLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19GSURfTUdNVF9TRVJWID0gMHhmZmZmZmEsCi0gRkNfRklEX1FPUyA9IDB4ZmZmZmY5LAotIEZDX0ZJRF9BTElBU0VTID0gMHhmZmZmZjgsCi0gRkNfRklEX1NFQ19LRVkgPSAweGZmZmZmNywKKyAgRkNfRklEX01HTVRfU0VSViA9IDB4ZmZmZmZhLAorICBGQ19GSURfUU9TID0gMHhmZmZmZjksCisgIEZDX0ZJRF9BTElBU0VTID0gMHhmZmZmZjgsCisgIEZDX0ZJRF9TRUNfS0VZID0gMHhmZmZmZjcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX0ZJRF9DTE9DSyA9IDB4ZmZmZmY2LAotIEZDX0ZJRF9NQ0FTVF9TRVJWID0gMHhmZmZmZjUsCisgIEZDX0ZJRF9DTE9DSyA9IDB4ZmZmZmY2LAorICBGQ19GSURfTUNBU1RfU0VSViA9IDB4ZmZmZmY1LAogfTsKICNkZWZpbmUgRkNfRklEX1dFTExfS05PV05fTUFYIDB4ZmZmZmZmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTEzLDE2ICsxMTQsMTcgQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZDX0ZJRF9MSU5LIDIKIGVudW0gZmNfZmhfdHlwZSB7Ci0gRkNfVFlQRV9CTFMgPSAweDAwLAotIEZDX1RZUEVfRUxTID0gMHgwMSwKKyAgRkNfVFlQRV9CTFMgPSAweDAwLAorICBGQ19UWVBFX0VMUyA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX1RZUEVfSVAgPSAweDA1LAotIEZDX1RZUEVfRkNQID0gMHgwOCwKLSBGQ19UWVBFX0NUID0gMHgyMCwKLSBGQ19UWVBFX0lMUyA9IDB4MjIsCisgIEZDX1RZUEVfSVAgPSAweDA1LAorICBGQ19UWVBFX0ZDUCA9IDB4MDgsCisgIEZDX1RZUEVfQ1QgPSAweDIwLAorICBGQ19UWVBFX0lMUyA9IDB4MjIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgRkNfVFlQRV9OQU1FU19JTklUIHsgICBbRkNfVFlQRV9CTFNdID0gIkJMUyIsICAgW0ZDX1RZUEVfRUxTXSA9ICJFTFMiLCAgIFtGQ19UWVBFX0lQXSA9ICJJUCIsICAgW0ZDX1RZUEVfRkNQXSA9ICJGQ1AiLCAgIFtGQ19UWVBFX0NUXSA9ICJDVCIsICAgW0ZDX1RZUEVfSUxTXSA9ICJJTFMiLCAgfQorI2RlZmluZSBGQ19UWVBFX05BTUVTX0lOSVQge1tGQ19UWVBFX0JMU10gPSAiQkxTIixbRkNfVFlQRV9FTFNdID0gIkVMUyIsW0ZDX1RZUEVfSVBdID0gIklQIixbRkNfVFlQRV9GQ1BdID0gIkZDUCIsW0ZDX1RZUEVfQ1RdID0gIkNUIixbRkNfVFlQRV9JTFNdID0gIklMUyIsIFwKK30KICNkZWZpbmUgRkNfWElEX1VOS05PV04gMHhmZmZmCiAjZGVmaW5lIEZDX1hJRF9NSU4gMHgwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwpAQCAtMTU2LDk3ICsxNTgsOTcgQEAKICNkZWZpbmUgRkNfRkNfRklMTChpKSAoKGkpICYgMykKIHN0cnVjdCBmY19iYV9hY2MgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJhX3NlcV9pZF92YWw7CisgIF9fdTggYmFfc2VxX2lkX3ZhbDsKICNkZWZpbmUgRkNfQkFfU0VRX0lEX1ZBTCAweDgwCi0gX191OCBiYV9zZXFfaWQ7Ci0gX191OCBiYV9yZXN2ZFsyXTsKKyAgX191OCBiYV9zZXFfaWQ7CisgIF9fdTggYmFfcmVzdmRbMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUxNiBiYV9veF9pZDsKLSBfX2JlMTYgYmFfcnhfaWQ7Ci0gX19iZTE2IGJhX2xvd19zZXFfY250OwotIF9fYmUxNiBiYV9oaWdoX3NlcV9jbnQ7CisgIF9fYmUxNiBiYV9veF9pZDsKKyAgX19iZTE2IGJhX3J4X2lkOworICBfX2JlMTYgYmFfbG93X3NlcV9jbnQ7CisgIF9fYmUxNiBiYV9oaWdoX3NlcV9jbnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19iYV9yanQgewotIF9fdTggYnJfcmVzdmQ7Ci0gX191OCBicl9yZWFzb247CisgIF9fdTggYnJfcmVzdmQ7CisgIF9fdTggYnJfcmVhc29uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGJyX2V4cGxhbjsKLSBfX3U4IGJyX3ZlbmRvcjsKKyAgX191OCBicl9leHBsYW47CisgIF9fdTggYnJfdmVuZG9yOwogfTsKIGVudW0gZmNfYmFfcmp0X3JlYXNvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX0JBX1JKVF9OT05FID0gMCwKLSBGQ19CQV9SSlRfSU5WTF9DTUQgPSAweDAxLAotIEZDX0JBX1JKVF9MT0dfRVJSID0gMHgwMywKLSBGQ19CQV9SSlRfTE9HX0JVU1kgPSAweDA1LAorICBGQ19CQV9SSlRfTk9ORSA9IDAsCisgIEZDX0JBX1JKVF9JTlZMX0NNRCA9IDB4MDEsCisgIEZDX0JBX1JKVF9MT0dfRVJSID0gMHgwMywKKyAgRkNfQkFfUkpUX0xPR19CVVNZID0gMHgwNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfQkFfUkpUX1BST1RPX0VSUiA9IDB4MDcsCi0gRkNfQkFfUkpUX1VOQUJMRSA9IDB4MDksCi0gRkNfQkFfUkpUX1ZFTkRPUiA9IDB4ZmYsCisgIEZDX0JBX1JKVF9QUk9UT19FUlIgPSAweDA3LAorICBGQ19CQV9SSlRfVU5BQkxFID0gMHgwOSwKKyAgRkNfQkFfUkpUX1ZFTkRPUiA9IDB4ZmYsCiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gZmNfYmFfcmp0X2V4cGxhbiB7Ci0gRkNfQkFfUkpUX0VYUF9OT05FID0gMHgwMCwKLSBGQ19CQV9SSlRfSU5WX1hJRCA9IDB4MDMsCi0gRkNfQkFfUkpUX0FCVCA9IDB4MDUsCisgIEZDX0JBX1JKVF9FWFBfTk9ORSA9IDB4MDAsCisgIEZDX0JBX1JKVF9JTlZfWElEID0gMHgwMywKKyAgRkNfQkFfUkpUX0FCVCA9IDB4MDUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19wZl9yanQgewotIF9fdTggcmpfYWN0aW9uOwotIF9fdTggcmpfcmVhc29uOworICBfX3U4IHJqX2FjdGlvbjsKKyAgX191OCByal9yZWFzb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmpfcmVzdmQ7Ci0gX191OCByal92ZW5kb3I7CisgIF9fdTggcmpfcmVzdmQ7CisgIF9fdTggcmpfdmVuZG9yOwogfTsKIGVudW0gZmNfcGZfcmp0X3JlYXNvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX1JKVF9OT05FID0gMCwKLSBGQ19SSlRfSU5WTF9ESUQgPSAweDAxLAotIEZDX1JKVF9JTlZMX1NJRCA9IDB4MDIsCi0gRkNfUkpUX1BfVU5BVl9UID0gMHgwMywKKyAgRkNfUkpUX05PTkUgPSAwLAorICBGQ19SSlRfSU5WTF9ESUQgPSAweDAxLAorICBGQ19SSlRfSU5WTF9TSUQgPSAweDAyLAorICBGQ19SSlRfUF9VTkFWX1QgPSAweDAzLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19SSlRfUF9VTkFWID0gMHgwNCwKLSBGQ19SSlRfQ0xTX1VOU1VQID0gMHgwNSwKLSBGQ19SSlRfREVMX1VTQUdFID0gMHgwNiwKLSBGQ19SSlRfVFlQRV9VTlNVUCA9IDB4MDcsCisgIEZDX1JKVF9QX1VOQVYgPSAweDA0LAorICBGQ19SSlRfQ0xTX1VOU1VQID0gMHgwNSwKKyAgRkNfUkpUX0RFTF9VU0FHRSA9IDB4MDYsCisgIEZDX1JKVF9UWVBFX1VOU1VQID0gMHgwNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkpUX0xJTktfQ1RMID0gMHgwOCwKLSBGQ19SSlRfUl9DVEwgPSAweDA5LAotIEZDX1JKVF9GX0NUTCA9IDB4MGEsCi0gRkNfUkpUX09YX0lEID0gMHgwYiwKKyAgRkNfUkpUX0xJTktfQ1RMID0gMHgwOCwKKyAgRkNfUkpUX1JfQ1RMID0gMHgwOSwKKyAgRkNfUkpUX0ZfQ1RMID0gMHgwYSwKKyAgRkNfUkpUX09YX0lEID0gMHgwYiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkpUX1JYX0lEID0gMHgwYywKLSBGQ19SSlRfU0VRX0lEID0gMHgwZCwKLSBGQ19SSlRfREZfQ1RMID0gMHgwZSwKLSBGQ19SSlRfU0VRX0NOVCA9IDB4MGYsCisgIEZDX1JKVF9SWF9JRCA9IDB4MGMsCisgIEZDX1JKVF9TRVFfSUQgPSAweDBkLAorICBGQ19SSlRfREZfQ1RMID0gMHgwZSwKKyAgRkNfUkpUX1NFUV9DTlQgPSAweDBmLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19SSlRfUEFSQU0gPSAweDEwLAotIEZDX1JKVF9FWENIX0VSUiA9IDB4MTEsCi0gRkNfUkpUX1BST1RPID0gMHgxMiwKLSBGQ19SSlRfTEVOID0gMHgxMywKKyAgRkNfUkpUX1BBUkFNID0gMHgxMCwKKyAgRkNfUkpUX0VYQ0hfRVJSID0gMHgxMSwKKyAgRkNfUkpUX1BST1RPID0gMHgxMiwKKyAgRkNfUkpUX0xFTiA9IDB4MTMsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX1JKVF9VTkVYUF9BQ0sgPSAweDE0LAotIEZDX1JKVF9GQUJfQ0xBU1MgPSAweDE1LAotIEZDX1JKVF9MT0dJX1JFUSA9IDB4MTYsCi0gRkNfUkpUX1NFUV9YUyA9IDB4MTcsCisgIEZDX1JKVF9VTkVYUF9BQ0sgPSAweDE0LAorICBGQ19SSlRfRkFCX0NMQVNTID0gMHgxNSwKKyAgRkNfUkpUX0xPR0lfUkVRID0gMHgxNiwKKyAgRkNfUkpUX1NFUV9YUyA9IDB4MTcsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX1JKVF9FWENIX0VTVCA9IDB4MTgsCi0gRkNfUkpUX0ZBQl9VTkFWID0gMHgxYSwKLSBGQ19SSlRfVkNfSUQgPSAweDFiLAotIEZDX1JKVF9DU19DVEwgPSAweDFjLAorICBGQ19SSlRfRVhDSF9FU1QgPSAweDE4LAorICBGQ19SSlRfRkFCX1VOQVYgPSAweDFhLAorICBGQ19SSlRfVkNfSUQgPSAweDFiLAorICBGQ19SSlRfQ1NfQ1RMID0gMHgxYywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkpUX0lOU1VGX1JFUyA9IDB4MWQsCi0gRkNfUkpUX0lOVkxfQ0xTID0gMHgxZiwKLSBGQ19SSlRfUFJFRU1UX1JKVCA9IDB4MjAsCi0gRkNfUkpUX1BSRUVNVF9ESVMgPSAweDIxLAorICBGQ19SSlRfSU5TVUZfUkVTID0gMHgxZCwKKyAgRkNfUkpUX0lOVkxfQ0xTID0gMHgxZiwKKyAgRkNfUkpUX1BSRUVNVF9SSlQgPSAweDIwLAorICBGQ19SSlRfUFJFRU1UX0RJUyA9IDB4MjEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX1JKVF9NQ0FTVF9FUlIgPSAweDIyLAotIEZDX1JKVF9NQ0FTVF9FVCA9IDB4MjMsCi0gRkNfUkpUX1BSTElfUkVRID0gMHgyNCwKLSBGQ19SSlRfSU5WTF9BVFQgPSAweDI1LAorICBGQ19SSlRfTUNBU1RfRVJSID0gMHgyMiwKKyAgRkNfUkpUX01DQVNUX0VUID0gMHgyMywKKyAgRkNfUkpUX1BSTElfUkVRID0gMHgyNCwKKyAgRkNfUkpUX0lOVkxfQVRUID0gMHgyNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfUkpUX1ZFTkRPUiA9IDB4ZmYsCisgIEZDX1JKVF9WRU5ET1IgPSAweGZmLAogfTsKICNkZWZpbmUgRkNfREVGX0VfRF9UT1YgMjAwMFVMCiAjZGVmaW5lIEZDX0RFRl9SX0FfVE9WIDEwMDAwVUwKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19ncy5oIGIvbGliYy9rZXJuZWwvdWFwaS9zY3NpL2ZjL2ZjX2dzLmgKaW5kZXggYjQxZmM1Ni4uMDViNmM1MiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9zY3NpL2ZjL2ZjX2dzLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9zY3NpL2ZjL2ZjX2dzLmgKQEAgLTIxLDYwICsyMSw2MCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBzdHJ1Y3QgZmNfY3RfaGRyIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBjdF9yZXY7Ci0gX191OCBjdF9pbl9pZFszXTsKLSBfX3U4IGN0X2ZzX3R5cGU7Ci0gX191OCBjdF9mc19zdWJ0eXBlOworICBfX3U4IGN0X3JldjsKKyAgX191OCBjdF9pbl9pZFszXTsKKyAgX191OCBjdF9mc190eXBlOworICBfX3U4IGN0X2ZzX3N1YnR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggY3Rfb3B0aW9uczsKLSBfX3U4IF9jdF9yZXN2ZDE7Ci0gX19iZTE2IGN0X2NtZDsKLSBfX2JlMTYgY3RfbXJfc2l6ZTsKKyAgX191OCBjdF9vcHRpb25zOworICBfX3U4IF9jdF9yZXN2ZDE7CisgIF9fYmUxNiBjdF9jbWQ7CisgIF9fYmUxNiBjdF9tcl9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IF9jdF9yZXN2ZDI7Ci0gX191OCBjdF9yZWFzb247Ci0gX191OCBjdF9leHBsYW47Ci0gX191OCBjdF92ZW5kb3I7CisgIF9fdTggX2N0X3Jlc3ZkMjsKKyAgX191OCBjdF9yZWFzb247CisgIF9fdTggY3RfZXhwbGFuOworICBfX3U4IGN0X3ZlbmRvcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBGQ19DVF9IRFJfTEVOIDE2CiBlbnVtIGZjX2N0X3JldiB7Ci0gRkNfQ1RfUkVWID0gMQorICBGQ19DVF9SRVYgPSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZmNfY3RfZnNfdHlwZSB7Ci0gRkNfRlNUX0FMSUFTID0gMHhmOCwKLSBGQ19GU1RfTUdNVCA9IDB4ZmEsCisgIEZDX0ZTVF9BTElBUyA9IDB4ZjgsCisgIEZDX0ZTVF9NR01UID0gMHhmYSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfRlNUX1RJTUUgPSAweGZiLAotIEZDX0ZTVF9ESVIgPSAweGZjLAorICBGQ19GU1RfVElNRSA9IDB4ZmIsCisgIEZDX0ZTVF9ESVIgPSAweGZjLAogfTsKIGVudW0gZmNfY3RfY21kIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfRlNfUkpUID0gMHg4MDAxLAotIEZDX0ZTX0FDQyA9IDB4ODAwMiwKKyAgRkNfRlNfUkpUID0gMHg4MDAxLAorICBGQ19GU19BQ0MgPSAweDgwMDIsCiB9OwogZW51bSBmY19jdF9yZWFzb24gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19GU19SSlRfQ01EID0gMHgwMSwKLSBGQ19GU19SSlRfVkVSID0gMHgwMiwKLSBGQ19GU19SSlRfTE9HID0gMHgwMywKLSBGQ19GU19SSlRfSVVTSVogPSAweDA0LAorICBGQ19GU19SSlRfQ01EID0gMHgwMSwKKyAgRkNfRlNfUkpUX1ZFUiA9IDB4MDIsCisgIEZDX0ZTX1JKVF9MT0cgPSAweDAzLAorICBGQ19GU19SSlRfSVVTSVogPSAweDA0LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19GU19SSlRfQlNZID0gMHgwNSwKLSBGQ19GU19SSlRfUFJPVE8gPSAweDA3LAotIEZDX0ZTX1JKVF9VTkFCTCA9IDB4MDksCi0gRkNfRlNfUkpUX1VOU1VQID0gMHgwYiwKKyAgRkNfRlNfUkpUX0JTWSA9IDB4MDUsCisgIEZDX0ZTX1JKVF9QUk9UTyA9IDB4MDcsCisgIEZDX0ZTX1JKVF9VTkFCTCA9IDB4MDksCisgIEZDX0ZTX1JKVF9VTlNVUCA9IDB4MGIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gZmNfY3RfZXhwbGFuIHsKLSBGQ19GU19FWFBfTk9ORSA9IDB4MDAsCi0gRkNfRlNfRVhQX1BJRCA9IDB4MDEsCisgIEZDX0ZTX0VYUF9OT05FID0gMHgwMCwKKyAgRkNfRlNfRVhQX1BJRCA9IDB4MDEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX0ZTX0VYUF9QTkFNID0gMHgwMiwKLSBGQ19GU19FWFBfTk5BTSA9IDB4MDMsCi0gRkNfRlNfRVhQX0NPUyA9IDB4MDQsCi0gRkNfRlNfRVhQX0ZUTlIgPSAweDA3LAorICBGQ19GU19FWFBfUE5BTSA9IDB4MDIsCisgIEZDX0ZTX0VYUF9OTkFNID0gMHgwMywKKyAgRkNfRlNfRVhQX0NPUyA9IDB4MDQsCisgIEZDX0ZTX0VYUF9GVE5SID0gMHgwNywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3Njc2kvZmMvZmNfbnMuaCBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19ucy5oCmluZGV4IDYyN2NkNDYuLmNkMDI4ZjMgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19ucy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9mYy9mY19ucy5oCkBAIC0yMiw0OCArMjIsNDggQEAKICNkZWZpbmUgRkNfTlNfU1VCVFlQRSAyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBmY19uc19yZXEgewotIEZDX05TX0dBX05YVCA9IDB4MDEwMCwKLSBGQ19OU19HSV9BID0gMHgwMTAxLAotIEZDX05TX0dQTl9JRCA9IDB4MDExMiwKKyAgRkNfTlNfR0FfTlhUID0gMHgwMTAwLAorICBGQ19OU19HSV9BID0gMHgwMTAxLAorICBGQ19OU19HUE5fSUQgPSAweDAxMTIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX05TX0dOTl9JRCA9IDB4MDExMywKLSBGQ19OU19HU1BOX0lEID0gMHgwMTE4LAotIEZDX05TX0dJRF9QTiA9IDB4MDEyMSwKLSBGQ19OU19HSURfTk4gPSAweDAxMzEsCisgIEZDX05TX0dOTl9JRCA9IDB4MDExMywKKyAgRkNfTlNfR1NQTl9JRCA9IDB4MDExOCwKKyAgRkNfTlNfR0lEX1BOID0gMHgwMTIxLAorICBGQ19OU19HSURfTk4gPSAweDAxMzEsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX05TX0dJRF9GVCA9IDB4MDE3MSwKLSBGQ19OU19HUE5fRlQgPSAweDAxNzIsCi0gRkNfTlNfR0lEX1BUID0gMHgwMWExLAotIEZDX05TX1JQTl9JRCA9IDB4MDIxMiwKKyAgRkNfTlNfR0lEX0ZUID0gMHgwMTcxLAorICBGQ19OU19HUE5fRlQgPSAweDAxNzIsCisgIEZDX05TX0dJRF9QVCA9IDB4MDFhMSwKKyAgRkNfTlNfUlBOX0lEID0gMHgwMjEyLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19OU19STk5fSUQgPSAweDAyMTMsCi0gRkNfTlNfUkZUX0lEID0gMHgwMjE3LAotIEZDX05TX1JTUE5fSUQgPSAweDAyMTgsCi0gRkNfTlNfUkZGX0lEID0gMHgwMjFmLAorICBGQ19OU19STk5fSUQgPSAweDAyMTMsCisgIEZDX05TX1JGVF9JRCA9IDB4MDIxNywKKyAgRkNfTlNfUlNQTl9JRCA9IDB4MDIxOCwKKyAgRkNfTlNfUkZGX0lEID0gMHgwMjFmLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBGQ19OU19SU05OX05OID0gMHgwMjM5LAorICBGQ19OU19SU05OX05OID0gMHgwMjM5LAogfTsKIGVudW0gZmNfbnNfcHQgewotIEZDX05TX1VOSURfUE9SVCA9IDB4MDAsCisgIEZDX05TX1VOSURfUE9SVCA9IDB4MDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIEZDX05TX05fUE9SVCA9IDB4MDEsCi0gRkNfTlNfTkxfUE9SVCA9IDB4MDIsCi0gRkNfTlNfRk5MX1BPUlQgPSAweDAzLAotIEZDX05TX05YX1BPUlQgPSAweDdmLAorICBGQ19OU19OX1BPUlQgPSAweDAxLAorICBGQ19OU19OTF9QT1JUID0gMHgwMiwKKyAgRkNfTlNfRk5MX1BPUlQgPSAweDAzLAorICBGQ19OU19OWF9QT1JUID0gMHg3ZiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gRkNfTlNfRl9QT1JUID0gMHg4MSwKLSBGQ19OU19GTF9QT1JUID0gMHg4MiwKLSBGQ19OU19FX1BPUlQgPSAweDg0LAotIEZDX05TX0JfUE9SVCA9IDB4ODUsCisgIEZDX05TX0ZfUE9SVCA9IDB4ODEsCisgIEZDX05TX0ZMX1BPUlQgPSAweDgyLAorICBGQ19OU19FX1BPUlQgPSAweDg0LAorICBGQ19OU19CX1BPUlQgPSAweDg1LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfbnNfcHRfb2JqIHsKLSBfX3U4IHB0X3R5cGU7CisgIF9fdTggcHRfdHlwZTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGZjX25zX2ZpZCB7Ci0gX191OCBmcF9mbGFnczsKLSBfX3U4IGZwX2ZpZFszXTsKKyAgX191OCBmcF9mbGFnczsKKyAgX191OCBmcF9maWRbM107CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkNfTlNfRklEX0xBU1QgMHg4MApAQCAtNzEsNzYgKzcxLDc2IEBACiAjZGVmaW5lIEZDX05TX0JQVyAzMgogc3RydWN0IGZjX25zX2Z0cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBmZl90eXBlX21hcFtGQ19OU19UWVBFUyAvIEZDX05TX0JQV107CisgIF9fYmUzMiBmZl90eXBlX21hcFtGQ19OU19UWVBFUyAvIEZDX05TX0JQV107CiB9Owogc3RydWN0IGZjX25zX2ZmIHsKLSBfX2JlMzIgZmRfZmVhdFtGQ19OU19UWVBFUyAqIDQgLyBGQ19OU19CUFddOworICBfX2JlMzIgZmRfZmVhdFtGQ19OU19UWVBFUyAqIDQgLyBGQ19OU19CUFddOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfbnNfZ2lkX3B0IHsKLSBfX3U4IGZuX3B0X3R5cGU7Ci0gX191OCBmbl9kb21haW5faWRfc2NvcGU7CisgIF9fdTggZm5fcHRfdHlwZTsKKyAgX191OCBmbl9kb21haW5faWRfc2NvcGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZm5fYXJlYV9pZF9zY29wZTsKLSBfX3U4IGZuX3Jlc3ZkOworICBfX3U4IGZuX2FyZWFfaWRfc2NvcGU7CisgIF9fdTggZm5fcmVzdmQ7CiB9Owogc3RydWN0IGZjX25zX2dpZF9mdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZm5fcmVzdmQ7Ci0gX191OCBmbl9kb21haW5faWRfc2NvcGU7Ci0gX191OCBmbl9hcmVhX2lkX3Njb3BlOwotIF9fdTggZm5fZmM0X3R5cGU7CisgIF9fdTggZm5fcmVzdmQ7CisgIF9fdTggZm5fZG9tYWluX2lkX3Njb3BlOworICBfX3U4IGZuX2FyZWFfaWRfc2NvcGU7CisgIF9fdTggZm5fZmM0X3R5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19ncG5fZnRfcmVzcCB7Ci0gX191OCBmcF9mbGFnczsKLSBfX3U4IGZwX2ZpZFszXTsKKyAgX191OCBmcF9mbGFnczsKKyAgX191OCBmcF9maWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fYmUzMiBmcF9yZXN2ZDsKLSBfX2JlNjQgZnBfd3dwbjsKKyAgX19iZTMyIGZwX3Jlc3ZkOworICBfX2JlNjQgZnBfd3dwbjsKIH07CiBzdHJ1Y3QgZmNfbnNfZ2lkX3BuIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTY0IGZuX3d3cG47CisgIF9fYmU2NCBmbl93d3BuOwogfTsKIHN0cnVjdCBmY19naWRfcG5fcmVzcCB7Ci0gX191OCBmcF9yZXN2ZDsKKyAgX191OCBmcF9yZXN2ZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBmcF9maWRbM107CisgIF9fdTggZnBfZmlkWzNdOwogfTsKIHN0cnVjdCBmY19nc3BuX3Jlc3AgewotIF9fdTggZnBfbmFtZV9sZW47CisgIF9fdTggZnBfbmFtZV9sZW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgZnBfbmFtZVtdOworICBjaGFyIGZwX25hbWVbXTsKIH07CiBzdHJ1Y3QgZmNfbnNfcmZ0X2lkIHsKLSBzdHJ1Y3QgZmNfbnNfZmlkIGZyX2ZpZDsKKyAgc3RydWN0IGZjX25zX2ZpZCBmcl9maWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmY19uc19mdHMgZnJfZnRzOworICBzdHJ1Y3QgZmNfbnNfZnRzIGZyX2Z0czsKIH07CiBzdHJ1Y3QgZmNfbnNfcm5faWQgewotIHN0cnVjdCBmY19uc19maWQgZnJfZmlkOworICBzdHJ1Y3QgZmNfbnNfZmlkIGZyX2ZpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19iZTY0IGZyX3d3bjsKKyAgX19iZTY0IGZyX3d3bjsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogc3RydWN0IGZjX25zX3Jzbm4gewotIF9fYmU2NCBmcl93d247CisgIF9fYmU2NCBmcl93d247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggZnJfbmFtZV9sZW47Ci0gY2hhciBmcl9uYW1lW107CisgIF9fdTggZnJfbmFtZV9sZW47CisgIGNoYXIgZnJfbmFtZVtdOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CiBzdHJ1Y3QgZmNfbnNfcnNwbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmY19uc19maWQgZnJfZmlkOwotIF9fdTggZnJfbmFtZV9sZW47Ci0gY2hhciBmcl9uYW1lW107CisgIHN0cnVjdCBmY19uc19maWQgZnJfZmlkOworICBfX3U4IGZyX25hbWVfbGVuOworICBjaGFyIGZyX25hbWVbXTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmY19uc19yZmZfaWQgewotIHN0cnVjdCBmY19uc19maWQgZnJfZmlkOwotIF9fdTggZnJfcmVzdmRbMl07Ci0gX191OCBmcl9mZWF0OworICBzdHJ1Y3QgZmNfbnNfZmlkIGZyX2ZpZDsKKyAgX191OCBmcl9yZXN2ZFsyXTsKKyAgX191OCBmcl9mZWF0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IGZyX3R5cGU7CisgIF9fdTggZnJfdHlwZTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3Njc2kvc2NzaV9ic2dfZmMuaCBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9zY3NpX2JzZ19mYy5oCmluZGV4IGFjZDk4NzQuLjhlOThmZTYgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc2NzaS9zY3NpX2JzZ19mYy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9zY3NpX2JzZ19mYy5oCkBAIC0zMywxOCArMzMsMTggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIEZDX0JTR19SUFRfQ1QgKEZDX0JTR19SUFRfTUFTSyB8IDB4MDAwMDAwMDIpCiBzdHJ1Y3QgZmNfYnNnX2hvc3RfYWRkX3Jwb3J0IHsKLSB1aW50OF90IHJlc2VydmVkOwotIHVpbnQ4X3QgcG9ydF9pZFszXTsKKyAgdWludDhfdCByZXNlcnZlZDsKKyAgdWludDhfdCBwb3J0X2lkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfYnNnX2hvc3RfZGVsX3Jwb3J0IHsKLSB1aW50OF90IHJlc2VydmVkOwotIHVpbnQ4X3QgcG9ydF9pZFszXTsKKyAgdWludDhfdCByZXNlcnZlZDsKKyAgdWludDhfdCBwb3J0X2lkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3QgZmNfYnNnX2hvc3RfZWxzIHsKLSB1aW50OF90IGNvbW1hbmRfY29kZTsKLSB1aW50OF90IHBvcnRfaWRbM107CisgIHVpbnQ4X3QgY29tbWFuZF9jb2RlOworICB1aW50OF90IHBvcnRfaWRbM107CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgRkNfQ1RFTFNfU1RBVFVTX09LIDB4MDAwMDAwMDAKQEAgLTU2LDY2ICs1Niw2NiBAQAogI2RlZmluZSBGQ19DVEVMU19TVEFUVVNfRl9CU1kgMHgwMDAwMDAwNgogc3RydWN0IGZjX2JzZ19jdGVsc19yZXBseSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHN0YXR1czsKLSBzdHJ1Y3QgewotIHVpbnQ4X3QgYWN0aW9uOwotIHVpbnQ4X3QgcmVhc29uX2NvZGU7CisgIHVpbnQzMl90IHN0YXR1czsKKyAgc3RydWN0IHsKKyAgICB1aW50OF90IGFjdGlvbjsKKyAgICB1aW50OF90IHJlYXNvbl9jb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50OF90IHJlYXNvbl9leHBsYW5hdGlvbjsKLSB1aW50OF90IHZlbmRvcl91bmlxdWU7Ci0gfSByanRfZGF0YTsKKyAgICB1aW50OF90IHJlYXNvbl9leHBsYW5hdGlvbjsKKyAgICB1aW50OF90IHZlbmRvcl91bmlxdWU7CisgIH0gcmp0X2RhdGE7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBmY19ic2dfaG9zdF9jdCB7Ci0gdWludDhfdCByZXNlcnZlZDsKLSB1aW50OF90IHBvcnRfaWRbM107Ci0gdWludDMyX3QgcHJlYW1ibGVfd29yZDA7CisgIHVpbnQ4X3QgcmVzZXJ2ZWQ7CisgIHVpbnQ4X3QgcG9ydF9pZFszXTsKKyAgdWludDMyX3QgcHJlYW1ibGVfd29yZDA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHByZWFtYmxlX3dvcmQxOwotIHVpbnQzMl90IHByZWFtYmxlX3dvcmQyOworICB1aW50MzJfdCBwcmVhbWJsZV93b3JkMTsKKyAgdWludDMyX3QgcHJlYW1ibGVfd29yZDI7CiB9Owogc3RydWN0IGZjX2JzZ19ob3N0X3ZlbmRvciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHZlbmRvcl9pZDsKLSB1aW50MzJfdCB2ZW5kb3JfY21kWzBdOworICB1aW50NjRfdCB2ZW5kb3JfaWQ7CisgIHVpbnQzMl90IHZlbmRvcl9jbWRbMF07CiB9Owogc3RydWN0IGZjX2JzZ19ob3N0X3ZlbmRvcl9yZXBseSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHZlbmRvcl9yc3BbMF07CisgIHVpbnQzMl90IHZlbmRvcl9yc3BbMF07CiB9Owogc3RydWN0IGZjX2JzZ19ycG9ydF9lbHMgewotIHVpbnQ4X3QgZWxzX2NvZGU7CisgIHVpbnQ4X3QgZWxzX2NvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBmY19ic2dfcnBvcnRfY3QgewotIHVpbnQzMl90IHByZWFtYmxlX3dvcmQwOwotIHVpbnQzMl90IHByZWFtYmxlX3dvcmQxOworICB1aW50MzJfdCBwcmVhbWJsZV93b3JkMDsKKyAgdWludDMyX3QgcHJlYW1ibGVfd29yZDE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHByZWFtYmxlX3dvcmQyOworICB1aW50MzJfdCBwcmVhbWJsZV93b3JkMjsKIH07CiBzdHJ1Y3QgZmNfYnNnX3JlcXVlc3QgewotIHVpbnQzMl90IG1zZ2NvZGU7CisgIHVpbnQzMl90IG1zZ2NvZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBzdHJ1Y3QgZmNfYnNnX2hvc3RfYWRkX3Jwb3J0IGhfYWRkcnBvcnQ7Ci0gc3RydWN0IGZjX2JzZ19ob3N0X2RlbF9ycG9ydCBoX2RlbHJwb3J0OwotIHN0cnVjdCBmY19ic2dfaG9zdF9lbHMgaF9lbHM7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgZmNfYnNnX2hvc3RfYWRkX3Jwb3J0IGhfYWRkcnBvcnQ7CisgICAgc3RydWN0IGZjX2JzZ19ob3N0X2RlbF9ycG9ydCBoX2RlbHJwb3J0OworICAgIHN0cnVjdCBmY19ic2dfaG9zdF9lbHMgaF9lbHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBmY19ic2dfaG9zdF9jdCBoX2N0OwotIHN0cnVjdCBmY19ic2dfaG9zdF92ZW5kb3IgaF92ZW5kb3I7Ci0gc3RydWN0IGZjX2JzZ19ycG9ydF9lbHMgcl9lbHM7Ci0gc3RydWN0IGZjX2JzZ19ycG9ydF9jdCByX2N0OworICAgIHN0cnVjdCBmY19ic2dfaG9zdF9jdCBoX2N0OworICAgIHN0cnVjdCBmY19ic2dfaG9zdF92ZW5kb3IgaF92ZW5kb3I7CisgICAgc3RydWN0IGZjX2JzZ19ycG9ydF9lbHMgcl9lbHM7CisgICAgc3RydWN0IGZjX2JzZ19ycG9ydF9jdCByX2N0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IHJxc3RfZGF0YTsKKyAgfSBycXN0X2RhdGE7CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogc3RydWN0IGZjX2JzZ19yZXBseSB7Ci0gdWludDMyX3QgcmVzdWx0OworICB1aW50MzJfdCByZXN1bHQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IHJlcGx5X3BheWxvYWRfcmN2X2xlbjsKLSB1bmlvbiB7Ci0gc3RydWN0IGZjX2JzZ19ob3N0X3ZlbmRvcl9yZXBseSB2ZW5kb3JfcmVwbHk7Ci0gc3RydWN0IGZjX2JzZ19jdGVsc19yZXBseSBjdGVsc19yZXBseTsKKyAgdWludDMyX3QgcmVwbHlfcGF5bG9hZF9yY3ZfbGVuOworICB1bmlvbiB7CisgICAgc3RydWN0IGZjX2JzZ19ob3N0X3ZlbmRvcl9yZXBseSB2ZW5kb3JfcmVwbHk7CisgICAgc3RydWN0IGZjX2JzZ19jdGVsc19yZXBseSBjdGVsc19yZXBseTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSByZXBseV9kYXRhOworICB9IHJlcGx5X2RhdGE7CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3Njc2kvc2NzaV9uZXRsaW5rLmggYi9saWJjL2tlcm5lbC91YXBpL3Njc2kvc2NzaV9uZXRsaW5rLmgKaW5kZXggYjA0ZjQ2NC4uZGJjM2M5OSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9zY3NpL3Njc2lfbmV0bGluay5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc2NzaS9zY3NpX25ldGxpbmsuaApAQCAtMjIsMTYgKzIyLDE2IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNDU0lfVFJBTlNQT1JUX01TRyBOTE1TR19NSU5fVFlQRSArIDEKLSNkZWZpbmUgU0NTSV9OTF9HUlBfRkNfRVZFTlRTICgxPDwyKQorI2RlZmluZSBTQ1NJX05MX0dSUF9GQ19FVkVOVFMgKDEgPDwgMikKICNkZWZpbmUgU0NTSV9OTF9HUlBfQ05UIDMKIHN0cnVjdCBzY3NpX25sX2hkciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ4X3QgdmVyc2lvbjsKLSB1aW50OF90IHRyYW5zcG9ydDsKLSB1aW50MTZfdCBtYWdpYzsKLSB1aW50MTZfdCBtc2d0eXBlOworICB1aW50OF90IHZlcnNpb247CisgIHVpbnQ4X3QgdHJhbnNwb3J0OworICB1aW50MTZfdCBtYWdpYzsKKyAgdWludDE2X3QgbXNndHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDE2X3QgbXNnbGVuOworICB1aW50MTZfdCBtc2dsZW47CiB9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoc2l6ZW9mKHVpbnQ2NF90KSkpKTsKICNkZWZpbmUgU0NTSV9OTF9WRVJTSU9OIDEKICNkZWZpbmUgU0NTSV9OTF9NQUdJQyAweEExQjIKQEAgLTQzLDE3ICs0MywxNyBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU0NTSV9OTF9NU0dBTElHTihsZW4pICgoKGxlbikgKyA3KSAmIH43KQogc3RydWN0IHNjc2lfbmxfaG9zdF92ZW5kb3JfbXNnIHsKLSBzdHJ1Y3Qgc2NzaV9ubF9oZHIgc25saDsKLSB1aW50NjRfdCB2ZW5kb3JfaWQ7CisgIHN0cnVjdCBzY3NpX25sX2hkciBzbmxoOworICB1aW50NjRfdCB2ZW5kb3JfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQxNl90IGhvc3Rfbm87Ci0gdWludDE2X3Qgdm1zZ19kYXRhbGVuOworICB1aW50MTZfdCBob3N0X25vOworICB1aW50MTZfdCB2bXNnX2RhdGFsZW47CiB9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoc2l6ZW9mKHVpbnQ2NF90KSkpKTsKICNkZWZpbmUgU0NTSV9OTF9WSURfVFlQRV9TSElGVCA1NgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0NTSV9OTF9WSURfVFlQRV9NQVNLICgoX191NjQpMHhGRiA8PCBTQ1NJX05MX1ZJRF9UWVBFX1NISUZUKQotI2RlZmluZSBTQ1NJX05MX1ZJRF9UWVBFX1BDSSAoKF9fdTY0KTB4MDEgPDwgU0NTSV9OTF9WSURfVFlQRV9TSElGVCkKLSNkZWZpbmUgU0NTSV9OTF9WSURfSURfTUFTSyAofiBTQ1NJX05MX1ZJRF9UWVBFX01BU0spCi0jZGVmaW5lIElOSVRfU0NTSV9OTF9IRFIoaGRyLCB0LCBtdHlwZSwgbWxlbikgICB7ICAgKGhkciktPnZlcnNpb24gPSBTQ1NJX05MX1ZFUlNJT047ICAgKGhkciktPnRyYW5zcG9ydCA9IHQ7ICAgKGhkciktPm1hZ2ljID0gU0NTSV9OTF9NQUdJQzsgICAoaGRyKS0+bXNndHlwZSA9IG10eXBlOyAgIChoZHIpLT5tc2dsZW4gPSBtbGVuOyAgIH0KKyNkZWZpbmUgU0NTSV9OTF9WSURfVFlQRV9NQVNLICgoX191NjQpIDB4RkYgPDwgU0NTSV9OTF9WSURfVFlQRV9TSElGVCkKKyNkZWZpbmUgU0NTSV9OTF9WSURfVFlQRV9QQ0kgKChfX3U2NCkgMHgwMSA8PCBTQ1NJX05MX1ZJRF9UWVBFX1NISUZUKQorI2RlZmluZSBTQ1NJX05MX1ZJRF9JRF9NQVNLICh+U0NTSV9OTF9WSURfVFlQRV9NQVNLKQorI2RlZmluZSBJTklUX1NDU0lfTkxfSERSKGhkcix0LG10eXBlLG1sZW4pIHsgKGhkciktPnZlcnNpb24gPSBTQ1NJX05MX1ZFUlNJT047IChoZHIpLT50cmFuc3BvcnQgPSB0OyAoaGRyKS0+bWFnaWMgPSBTQ1NJX05MX01BR0lDOyAoaGRyKS0+bXNndHlwZSA9IG10eXBlOyAoaGRyKS0+bXNnbGVuID0gbWxlbjsgfQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9zY3NpL3Njc2lfbmV0bGlua19mYy5oIGIvbGliYy9rZXJuZWwvdWFwaS9zY3NpL3Njc2lfbmV0bGlua19mYy5oCmluZGV4IGM0NzUxOTkuLmRkNGU4MzcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc2NzaS9zY3NpX25ldGxpbmtfZmMuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3Njc2kvc2NzaV9uZXRsaW5rX2ZjLmgKQEAgLTIzLDE2ICsyMywxNiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgRkNfTkxfTVNHQUxJR04obGVuKSAoKChsZW4pICsgNykgJiB+NykKIHN0cnVjdCBmY19ubF9ldmVudCB7Ci0gc3RydWN0IHNjc2lfbmxfaGRyIHNubGg7Ci0gdWludDY0X3Qgc2Vjb25kczsKKyAgc3RydWN0IHNjc2lfbmxfaGRyIHNubGg7CisgIHVpbnQ2NF90IHNlY29uZHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ2NF90IHZlbmRvcl9pZDsKLSB1aW50MTZfdCBob3N0X25vOwotIHVpbnQxNl90IGV2ZW50X2RhdGFsZW47Ci0gdWludDMyX3QgZXZlbnRfbnVtOworICB1aW50NjRfdCB2ZW5kb3JfaWQ7CisgIHVpbnQxNl90IGhvc3Rfbm87CisgIHVpbnQxNl90IGV2ZW50X2RhdGFsZW47CisgIHVpbnQzMl90IGV2ZW50X251bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZXZlbnRfY29kZTsKLSB1aW50MzJfdCBldmVudF9kYXRhOworICB1aW50MzJfdCBldmVudF9jb2RlOworICB1aW50MzJfdCBldmVudF9kYXRhOwogfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHNpemVvZih1aW50NjRfdCkpKSk7CiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2FzZXF1ZW5jZXIuaCBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvYXNlcXVlbmNlci5oCmluZGV4IGQ1YTRjZjYuLmZiNTg5OTEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvYXNlcXVlbmNlci5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvYXNlcXVlbmNlci5oCkBAIC0xOCw3ICsxOCw3IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX1VBUElfX1NPVU5EX0FTRVFVRU5DRVJfSAogI2RlZmluZSBfVUFQSV9fU09VTkRfQVNFUVVFTkNFUl9ICi0jZGVmaW5lIFNORFJWX1NFUV9WRVJTSU9OIFNORFJWX1BST1RPQ09MX1ZFUlNJT04gKDEsIDAsIDEpCisjZGVmaW5lIFNORFJWX1NFUV9WRVJTSU9OIFNORFJWX1BST1RPQ09MX1ZFUlNJT04oMSwgMCwgMSkKICNkZWZpbmUgU05EUlZfU0VRX0VWRU5UX1NZU1RFTSAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9TRVFfRVZFTlRfUkVTVUxUIDEKQEAgLTk3LDEzICs5NywxMyBAQAogdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHNuZF9zZXFfZXZlbnRfdHlwZV90OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzbmRfc2VxX2FkZHIgewotIHVuc2lnbmVkIGNoYXIgY2xpZW50OwotIHVuc2lnbmVkIGNoYXIgcG9ydDsKKyAgdW5zaWduZWQgY2hhciBjbGllbnQ7CisgIHVuc2lnbmVkIGNoYXIgcG9ydDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9zZXFfY29ubmVjdCB7Ci0gc3RydWN0IHNuZF9zZXFfYWRkciBzZW5kZXI7Ci0gc3RydWN0IHNuZF9zZXFfYWRkciBkZXN0OworICBzdHJ1Y3Qgc25kX3NlcV9hZGRyIHNlbmRlcjsKKyAgc3RydWN0IHNuZF9zZXFfYWRkciBkZXN0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NFUV9BRERSRVNTX1VOS05PV04gMjUzCkBAIC0xMTEsMTQ0ICsxMTEsMTQ0IEBACiAjZGVmaW5lIFNORFJWX1NFUV9BRERSRVNTX0JST0FEQ0FTVCAyNTUKICNkZWZpbmUgU05EUlZfU0VRX1FVRVVFX0RJUkVDVCAyNTMKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX1NFUV9USU1FX1NUQU1QX1RJQ0sgKDA8PDApCi0jZGVmaW5lIFNORFJWX1NFUV9USU1FX1NUQU1QX1JFQUwgKDE8PDApCi0jZGVmaW5lIFNORFJWX1NFUV9USU1FX1NUQU1QX01BU0sgKDE8PDApCi0jZGVmaW5lIFNORFJWX1NFUV9USU1FX01PREVfQUJTICgwPDwxKQorI2RlZmluZSBTTkRSVl9TRVFfVElNRV9TVEFNUF9USUNLICgwIDw8IDApCisjZGVmaW5lIFNORFJWX1NFUV9USU1FX1NUQU1QX1JFQUwgKDEgPDwgMCkKKyNkZWZpbmUgU05EUlZfU0VRX1RJTUVfU1RBTVBfTUFTSyAoMSA8PCAwKQorI2RlZmluZSBTTkRSVl9TRVFfVElNRV9NT0RFX0FCUyAoMCA8PCAxKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1RJTUVfTU9ERV9SRUwgKDE8PDEpCi0jZGVmaW5lIFNORFJWX1NFUV9USU1FX01PREVfTUFTSyAoMTw8MSkKLSNkZWZpbmUgU05EUlZfU0VRX0VWRU5UX0xFTkdUSF9GSVhFRCAoMDw8MikKLSNkZWZpbmUgU05EUlZfU0VRX0VWRU5UX0xFTkdUSF9WQVJJQUJMRSAoMTw8MikKKyNkZWZpbmUgU05EUlZfU0VRX1RJTUVfTU9ERV9SRUwgKDEgPDwgMSkKKyNkZWZpbmUgU05EUlZfU0VRX1RJTUVfTU9ERV9NQVNLICgxIDw8IDEpCisjZGVmaW5lIFNORFJWX1NFUV9FVkVOVF9MRU5HVEhfRklYRUQgKDAgPDwgMikKKyNkZWZpbmUgU05EUlZfU0VRX0VWRU5UX0xFTkdUSF9WQVJJQUJMRSAoMSA8PCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX0VWRU5UX0xFTkdUSF9WQVJVU1IgKDI8PDIpCi0jZGVmaW5lIFNORFJWX1NFUV9FVkVOVF9MRU5HVEhfTUFTSyAoMzw8MikKLSNkZWZpbmUgU05EUlZfU0VRX1BSSU9SSVRZX05PUk1BTCAoMDw8NCkKLSNkZWZpbmUgU05EUlZfU0VRX1BSSU9SSVRZX0hJR0ggKDE8PDQpCisjZGVmaW5lIFNORFJWX1NFUV9FVkVOVF9MRU5HVEhfVkFSVVNSICgyIDw8IDIpCisjZGVmaW5lIFNORFJWX1NFUV9FVkVOVF9MRU5HVEhfTUFTSyAoMyA8PCAyKQorI2RlZmluZSBTTkRSVl9TRVFfUFJJT1JJVFlfTk9STUFMICgwIDw8IDQpCisjZGVmaW5lIFNORFJWX1NFUV9QUklPUklUWV9ISUdIICgxIDw8IDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9TRVFfUFJJT1JJVFlfTUFTSyAoMTw8NCkKKyNkZWZpbmUgU05EUlZfU0VRX1BSSU9SSVRZX01BU0sgKDEgPDwgNCkKIHN0cnVjdCBzbmRfc2VxX2V2X25vdGUgewotIHVuc2lnbmVkIGNoYXIgY2hhbm5lbDsKLSB1bnNpZ25lZCBjaGFyIG5vdGU7CisgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbDsKKyAgdW5zaWduZWQgY2hhciBub3RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHZlbG9jaXR5OwotIHVuc2lnbmVkIGNoYXIgb2ZmX3ZlbG9jaXR5OwotIHVuc2lnbmVkIGludCBkdXJhdGlvbjsKKyAgdW5zaWduZWQgY2hhciB2ZWxvY2l0eTsKKyAgdW5zaWduZWQgY2hhciBvZmZfdmVsb2NpdHk7CisgIHVuc2lnbmVkIGludCBkdXJhdGlvbjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9zZXFfZXZfY3RybCB7Ci0gdW5zaWduZWQgY2hhciBjaGFubmVsOwotIHVuc2lnbmVkIGNoYXIgdW51c2VkMSwgdW51c2VkMiwgdW51c2VkMzsKLSB1bnNpZ25lZCBpbnQgcGFyYW07CisgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbDsKKyAgdW5zaWduZWQgY2hhciB1bnVzZWQxLCB1bnVzZWQyLCB1bnVzZWQzOworICB1bnNpZ25lZCBpbnQgcGFyYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNpZ25lZCBpbnQgdmFsdWU7CisgIHNpZ25lZCBpbnQgdmFsdWU7CiB9Owogc3RydWN0IHNuZF9zZXFfZXZfcmF3OCB7Ci0gdW5zaWduZWQgY2hhciBkWzEyXTsKKyAgdW5zaWduZWQgY2hhciBkWzEyXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHNuZF9zZXFfZXZfcmF3MzIgewotIHVuc2lnbmVkIGludCBkWzNdOworICB1bnNpZ25lZCBpbnQgZFszXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9zZXFfZXZfZXh0IHsKLSB1bnNpZ25lZCBpbnQgbGVuOwotIHZvaWQgKnB0cjsKKyAgdW5zaWduZWQgaW50IGxlbjsKKyAgdm9pZCAqIHB0cjsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9zZXFfcmVzdWx0IHsKLSBpbnQgZXZlbnQ7Ci0gaW50IHJlc3VsdDsKKyAgaW50IGV2ZW50OworICBpbnQgcmVzdWx0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX3NlcV9yZWFsX3RpbWUgewotIHVuc2lnbmVkIGludCB0dl9zZWM7Ci0gdW5zaWduZWQgaW50IHR2X25zZWM7CisgIHVuc2lnbmVkIGludCB0dl9zZWM7CisgIHVuc2lnbmVkIGludCB0dl9uc2VjOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB0eXBlZGVmIHVuc2lnbmVkIGludCBzbmRfc2VxX3RpY2tfdGltZV90OwogdW5pb24gc25kX3NlcV90aW1lc3RhbXAgewotIHNuZF9zZXFfdGlja190aW1lX3QgdGljazsKLSBzdHJ1Y3Qgc25kX3NlcV9yZWFsX3RpbWUgdGltZTsKKyAgc25kX3NlcV90aWNrX3RpbWVfdCB0aWNrOworICBzdHJ1Y3Qgc25kX3NlcV9yZWFsX3RpbWUgdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHNuZF9zZXFfcXVldWVfc2tldyB7Ci0gdW5zaWduZWQgaW50IHZhbHVlOwotIHVuc2lnbmVkIGludCBiYXNlOworICB1bnNpZ25lZCBpbnQgdmFsdWU7CisgIHVuc2lnbmVkIGludCBiYXNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc25kX3NlcV9ldl9xdWV1ZV9jb250cm9sIHsKLSB1bnNpZ25lZCBjaGFyIHF1ZXVlOwotIHVuc2lnbmVkIGNoYXIgcGFkWzNdOworICB1bnNpZ25lZCBjaGFyIHF1ZXVlOworICB1bnNpZ25lZCBjaGFyIHBhZFszXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIHNpZ25lZCBpbnQgdmFsdWU7Ci0gdW5pb24gc25kX3NlcV90aW1lc3RhbXAgdGltZTsKLSB1bnNpZ25lZCBpbnQgcG9zaXRpb247CisgIHVuaW9uIHsKKyAgICBzaWduZWQgaW50IHZhbHVlOworICAgIHVuaW9uIHNuZF9zZXFfdGltZXN0YW1wIHRpbWU7CisgICAgdW5zaWduZWQgaW50IHBvc2l0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9za2V3IHNrZXc7Ci0gdW5zaWduZWQgaW50IGQzMlsyXTsKLSB1bnNpZ25lZCBjaGFyIGQ4WzhdOwotIH0gcGFyYW07CisgICAgc3RydWN0IHNuZF9zZXFfcXVldWVfc2tldyBza2V3OworICAgIHVuc2lnbmVkIGludCBkMzJbMl07CisgICAgdW5zaWduZWQgY2hhciBkOFs4XTsKKyAgfSBwYXJhbTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHNuZF9zZXFfZXZfcXVvdGUgewotIHN0cnVjdCBzbmRfc2VxX2FkZHIgb3JpZ2luOwotIHVuc2lnbmVkIHNob3J0IHZhbHVlOworICBzdHJ1Y3Qgc25kX3NlcV9hZGRyIG9yaWdpbjsKKyAgdW5zaWduZWQgc2hvcnQgdmFsdWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzbmRfc2VxX2V2ZW50ICpldmVudDsKKyAgc3RydWN0IHNuZF9zZXFfZXZlbnQgKiBldmVudDsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiBzdHJ1Y3Qgc25kX3NlcV9ldmVudCB7Ci0gc25kX3NlcV9ldmVudF90eXBlX3QgdHlwZTsKKyAgc25kX3NlcV9ldmVudF90eXBlX3QgdHlwZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBmbGFnczsKLSBjaGFyIHRhZzsKLSB1bnNpZ25lZCBjaGFyIHF1ZXVlOwotIHVuaW9uIHNuZF9zZXFfdGltZXN0YW1wIHRpbWU7CisgIHVuc2lnbmVkIGNoYXIgZmxhZ3M7CisgIGNoYXIgdGFnOworICB1bnNpZ25lZCBjaGFyIHF1ZXVlOworICB1bmlvbiBzbmRfc2VxX3RpbWVzdGFtcCB0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc25kX3NlcV9hZGRyIHNvdXJjZTsKLSBzdHJ1Y3Qgc25kX3NlcV9hZGRyIGRlc3Q7Ci0gdW5pb24gewotIHN0cnVjdCBzbmRfc2VxX2V2X25vdGUgbm90ZTsKKyAgc3RydWN0IHNuZF9zZXFfYWRkciBzb3VyY2U7CisgIHN0cnVjdCBzbmRfc2VxX2FkZHIgZGVzdDsKKyAgdW5pb24geworICAgIHN0cnVjdCBzbmRfc2VxX2V2X25vdGUgbm90ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNuZF9zZXFfZXZfY3RybCBjb250cm9sOwotIHN0cnVjdCBzbmRfc2VxX2V2X3JhdzggcmF3ODsKLSBzdHJ1Y3Qgc25kX3NlcV9ldl9yYXczMiByYXczMjsKLSBzdHJ1Y3Qgc25kX3NlcV9ldl9leHQgZXh0OworICAgIHN0cnVjdCBzbmRfc2VxX2V2X2N0cmwgY29udHJvbDsKKyAgICBzdHJ1Y3Qgc25kX3NlcV9ldl9yYXc4IHJhdzg7CisgICAgc3RydWN0IHNuZF9zZXFfZXZfcmF3MzIgcmF3MzI7CisgICAgc3RydWN0IHNuZF9zZXFfZXZfZXh0IGV4dDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNuZF9zZXFfZXZfcXVldWVfY29udHJvbCBxdWV1ZTsKLSB1bmlvbiBzbmRfc2VxX3RpbWVzdGFtcCB0aW1lOwotIHN0cnVjdCBzbmRfc2VxX2FkZHIgYWRkcjsKLSBzdHJ1Y3Qgc25kX3NlcV9jb25uZWN0IGNvbm5lY3Q7CisgICAgc3RydWN0IHNuZF9zZXFfZXZfcXVldWVfY29udHJvbCBxdWV1ZTsKKyAgICB1bmlvbiBzbmRfc2VxX3RpbWVzdGFtcCB0aW1lOworICAgIHN0cnVjdCBzbmRfc2VxX2FkZHIgYWRkcjsKKyAgICBzdHJ1Y3Qgc25kX3NlcV9jb25uZWN0IGNvbm5lY3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzbmRfc2VxX3Jlc3VsdCByZXN1bHQ7Ci0gc3RydWN0IHNuZF9zZXFfZXZfcXVvdGUgcXVvdGU7Ci0gfSBkYXRhOworICAgIHN0cnVjdCBzbmRfc2VxX3Jlc3VsdCByZXN1bHQ7CisgICAgc3RydWN0IHNuZF9zZXFfZXZfcXVvdGUgcXVvdGU7CisgIH0gZGF0YTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9zZXFfZXZlbnRfYm91bmNlIHsKLSBpbnQgZXJyOwotIHN0cnVjdCBzbmRfc2VxX2V2ZW50IGV2ZW50OworICBpbnQgZXJyOworICBzdHJ1Y3Qgc25kX3NlcV9ldmVudCBldmVudDsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9zZXFfc3lzdGVtX2luZm8gewotIGludCBxdWV1ZXM7Ci0gaW50IGNsaWVudHM7Ci0gaW50IHBvcnRzOworICBpbnQgcXVldWVzOworICBpbnQgY2xpZW50czsKKyAgaW50IHBvcnRzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2hhbm5lbHM7Ci0gaW50IGN1cl9jbGllbnRzOwotIGludCBjdXJfcXVldWVzOwotIGNoYXIgcmVzZXJ2ZWRbMjRdOworICBpbnQgY2hhbm5lbHM7CisgIGludCBjdXJfY2xpZW50czsKKyAgaW50IGN1cl9xdWV1ZXM7CisgIGNoYXIgcmVzZXJ2ZWRbMjRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc25kX3NlcV9ydW5uaW5nX2luZm8gewotIHVuc2lnbmVkIGNoYXIgY2xpZW50OwotIHVuc2lnbmVkIGNoYXIgYmlnX2VuZGlhbjsKKyAgdW5zaWduZWQgY2hhciBjbGllbnQ7CisgIHVuc2lnbmVkIGNoYXIgYmlnX2VuZGlhbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBjcHVfbW9kZTsKLSB1bnNpZ25lZCBjaGFyIHBhZDsKLSB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzEyXTsKKyAgdW5zaWduZWQgY2hhciBjcHVfbW9kZTsKKyAgdW5zaWduZWQgY2hhciBwYWQ7CisgIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbMTJdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NFUV9DTElFTlRfU1lTVEVNIDAKQEAgLTI1OSwxNDYgKzI1OSwxNDYgQEAKICNkZWZpbmUgTk9fQ0xJRU5UICgoX19mb3JjZSBzbmRfc2VxX2NsaWVudF90eXBlX3QpIDApCiAjZGVmaW5lIFVTRVJfQ0xJRU5UICgoX19mb3JjZSBzbmRfc2VxX2NsaWVudF90eXBlX3QpIDEpCiAjZGVmaW5lIEtFUk5FTF9DTElFTlQgKChfX2ZvcmNlIHNuZF9zZXFfY2xpZW50X3R5cGVfdCkgMikKLSNkZWZpbmUgU05EUlZfU0VRX0ZJTFRFUl9CUk9BRENBU1QgKDE8PDApCisjZGVmaW5lIFNORFJWX1NFUV9GSUxURVJfQlJPQURDQVNUICgxIDw8IDApCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9TRVFfRklMVEVSX01VTFRJQ0FTVCAoMTw8MSkKLSNkZWZpbmUgU05EUlZfU0VRX0ZJTFRFUl9CT1VOQ0UgKDE8PDIpCi0jZGVmaW5lIFNORFJWX1NFUV9GSUxURVJfVVNFX0VWRU5UICgxPDwzMSkKKyNkZWZpbmUgU05EUlZfU0VRX0ZJTFRFUl9NVUxUSUNBU1QgKDEgPDwgMSkKKyNkZWZpbmUgU05EUlZfU0VRX0ZJTFRFUl9CT1VOQ0UgKDEgPDwgMikKKyNkZWZpbmUgU05EUlZfU0VRX0ZJTFRFUl9VU0VfRVZFTlQgKDEgPDwgMzEpCiBzdHJ1Y3Qgc25kX3NlcV9jbGllbnRfaW5mbyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBjbGllbnQ7Ci0gc25kX3NlcV9jbGllbnRfdHlwZV90IHR5cGU7Ci0gY2hhciBuYW1lWzY0XTsKLSB1bnNpZ25lZCBpbnQgZmlsdGVyOworICBpbnQgY2xpZW50OworICBzbmRfc2VxX2NsaWVudF90eXBlX3QgdHlwZTsKKyAgY2hhciBuYW1lWzY0XTsKKyAgdW5zaWduZWQgaW50IGZpbHRlcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBtdWx0aWNhc3RfZmlsdGVyWzhdOwotIHVuc2lnbmVkIGNoYXIgZXZlbnRfZmlsdGVyWzMyXTsKLSBpbnQgbnVtX3BvcnRzOwotIGludCBldmVudF9sb3N0OworICB1bnNpZ25lZCBjaGFyIG11bHRpY2FzdF9maWx0ZXJbOF07CisgIHVuc2lnbmVkIGNoYXIgZXZlbnRfZmlsdGVyWzMyXTsKKyAgaW50IG51bV9wb3J0czsKKyAgaW50IGV2ZW50X2xvc3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcmVzZXJ2ZWRbNjRdOworICBjaGFyIHJlc2VydmVkWzY0XTsKIH07CiBzdHJ1Y3Qgc25kX3NlcV9jbGllbnRfcG9vbCB7Ci0gaW50IGNsaWVudDsKKyAgaW50IGNsaWVudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IG91dHB1dF9wb29sOwotIGludCBpbnB1dF9wb29sOwotIGludCBvdXRwdXRfcm9vbTsKLSBpbnQgb3V0cHV0X2ZyZWU7CisgIGludCBvdXRwdXRfcG9vbDsKKyAgaW50IGlucHV0X3Bvb2w7CisgIGludCBvdXRwdXRfcm9vbTsKKyAgaW50IG91dHB1dF9mcmVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgaW5wdXRfZnJlZTsKLSBjaGFyIHJlc2VydmVkWzY0XTsKKyAgaW50IGlucHV0X2ZyZWU7CisgIGNoYXIgcmVzZXJ2ZWRbNjRdOwogfTsKLSNkZWZpbmUgU05EUlZfU0VRX1JFTU9WRV9JTlBVVCAoMTw8MCkKKyNkZWZpbmUgU05EUlZfU0VRX1JFTU9WRV9JTlBVVCAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1JFTU9WRV9PVVRQVVQgKDE8PDEpCi0jZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfREVTVCAoMTw8MikKLSNkZWZpbmUgU05EUlZfU0VRX1JFTU9WRV9ERVNUX0NIQU5ORUwgKDE8PDMpCi0jZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfVElNRV9CRUZPUkUgKDE8PDQpCisjZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfT1VUUFVUICgxIDw8IDEpCisjZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfREVTVCAoMSA8PCAyKQorI2RlZmluZSBTTkRSVl9TRVFfUkVNT1ZFX0RFU1RfQ0hBTk5FTCAoMSA8PCAzKQorI2RlZmluZSBTTkRSVl9TRVFfUkVNT1ZFX1RJTUVfQkVGT1JFICgxIDw8IDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9TRVFfUkVNT1ZFX1RJTUVfQUZURVIgKDE8PDUpCi0jZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfVElNRV9USUNLICgxPDw2KQotI2RlZmluZSBTTkRSVl9TRVFfUkVNT1ZFX0VWRU5UX1RZUEUgKDE8PDcpCi0jZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfSUdOT1JFX09GRiAoMTw8OCkKKyNkZWZpbmUgU05EUlZfU0VRX1JFTU9WRV9USU1FX0FGVEVSICgxIDw8IDUpCisjZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfVElNRV9USUNLICgxIDw8IDYpCisjZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfRVZFTlRfVFlQRSAoMSA8PCA3KQorI2RlZmluZSBTTkRSVl9TRVFfUkVNT1ZFX0lHTk9SRV9PRkYgKDEgPDwgOCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX1NFUV9SRU1PVkVfVEFHX01BVENIICgxPDw5KQorI2RlZmluZSBTTkRSVl9TRVFfUkVNT1ZFX1RBR19NQVRDSCAoMSA8PCA5KQogc3RydWN0IHNuZF9zZXFfcmVtb3ZlX2V2ZW50cyB7Ci0gdW5zaWduZWQgaW50IHJlbW92ZV9tb2RlOwotIHVuaW9uIHNuZF9zZXFfdGltZXN0YW1wIHRpbWU7CisgIHVuc2lnbmVkIGludCByZW1vdmVfbW9kZTsKKyAgdW5pb24gc25kX3NlcV90aW1lc3RhbXAgdGltZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBxdWV1ZTsKLSBzdHJ1Y3Qgc25kX3NlcV9hZGRyIGRlc3Q7Ci0gdW5zaWduZWQgY2hhciBjaGFubmVsOwotIGludCB0eXBlOworICB1bnNpZ25lZCBjaGFyIHF1ZXVlOworICBzdHJ1Y3Qgc25kX3NlcV9hZGRyIGRlc3Q7CisgIHVuc2lnbmVkIGNoYXIgY2hhbm5lbDsKKyAgaW50IHR5cGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgdGFnOwotIGludCByZXNlcnZlZFsxMF07CisgIGNoYXIgdGFnOworICBpbnQgcmVzZXJ2ZWRbMTBdOwogfTsKICNkZWZpbmUgU05EUlZfU0VRX1BPUlRfU1lTVEVNX1RJTUVSIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NFUV9QT1JUX1NZU1RFTV9BTk5PVU5DRSAxCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX0NBUF9SRUFEICgxPDwwKQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9DQVBfV1JJVEUgKDE8PDEpCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX0NBUF9TWU5DX1JFQUQgKDE8PDIpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX0NBUF9SRUFEICgxIDw8IDApCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX0NBUF9XUklURSAoMSA8PCAxKQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9DQVBfU1lOQ19SRUFEICgxIDw8IDIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9DQVBfU1lOQ19XUklURSAoMTw8MykKLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfQ0FQX0RVUExFWCAoMTw8NCkKLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfQ0FQX1NVQlNfUkVBRCAoMTw8NSkKLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfQ0FQX1NVQlNfV1JJVEUgKDE8PDYpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX0NBUF9TWU5DX1dSSVRFICgxIDw8IDMpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX0NBUF9EVVBMRVggKDEgPDwgNCkKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfQ0FQX1NVQlNfUkVBRCAoMSA8PCA1KQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9DQVBfU1VCU19XUklURSAoMSA8PCA2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfQ0FQX05PX0VYUE9SVCAoMTw8NykKLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9TUEVDSUZJQyAoMTw8MCkKLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9NSURJX0dFTkVSSUMgKDE8PDEpCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfTUlESV9HTSAoMTw8MikKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfQ0FQX05PX0VYUE9SVCAoMSA8PCA3KQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX1NQRUNJRklDICgxIDw8IDApCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfTUlESV9HRU5FUklDICgxIDw8IDEpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfTUlESV9HTSAoMSA8PCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9NSURJX0dTICgxPDwzKQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX01JRElfWEcgKDE8PDQpCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfTUlESV9NVDMyICgxPDw1KQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX01JRElfR00yICgxPDw2KQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX01JRElfR1MgKDEgPDwgMykKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9NSURJX1hHICgxIDw8IDQpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfTUlESV9NVDMyICgxIDw8IDUpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfTUlESV9HTTIgKDEgPDwgNikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfU1lOVEggKDE8PDEwKQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX0RJUkVDVF9TQU1QTEUgKDE8PDExKQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX1NBTVBMRSAoMTw8MTIpCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfSEFSRFdBUkUgKDE8PDE2KQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX1NZTlRIICgxIDw8IDEwKQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX0RJUkVDVF9TQU1QTEUgKDEgPDwgMTEpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfU0FNUExFICgxIDw8IDEyKQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX0hBUkRXQVJFICgxIDw8IDE2KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9TT0ZUV0FSRSAoMTw8MTcpCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX1RZUEVfU1lOVEhFU0laRVIgKDE8PDE4KQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX1BPUlQgKDE8PDE5KQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX0FQUExJQ0FUSU9OICgxPDwyMCkKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9TT0ZUV0FSRSAoMSA8PCAxNykKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9TWU5USEVTSVpFUiAoMSA8PCAxOCkKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfVFlQRV9QT1JUICgxIDw8IDE5KQorI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9UWVBFX0FQUExJQ0FUSU9OICgxIDw8IDIwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfRkxHX0dJVkVOX1BPUlQgKDE8PDApCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX0ZMR19USU1FU1RBTVAgKDE8PDEpCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX0ZMR19USU1FX1JFQUwgKDE8PDIpCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX0ZMR19HSVZFTl9QT1JUICgxIDw8IDApCisjZGVmaW5lIFNORFJWX1NFUV9QT1JUX0ZMR19USU1FU1RBTVAgKDEgPDwgMSkKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfRkxHX1RJTUVfUkVBTCAoMSA8PCAyKQogc3RydWN0IHNuZF9zZXFfcG9ydF9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNuZF9zZXFfYWRkciBhZGRyOwotIGNoYXIgbmFtZVs2NF07Ci0gdW5zaWduZWQgaW50IGNhcGFiaWxpdHk7Ci0gdW5zaWduZWQgaW50IHR5cGU7CisgIHN0cnVjdCBzbmRfc2VxX2FkZHIgYWRkcjsKKyAgY2hhciBuYW1lWzY0XTsKKyAgdW5zaWduZWQgaW50IGNhcGFiaWxpdHk7CisgIHVuc2lnbmVkIGludCB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbWlkaV9jaGFubmVsczsKLSBpbnQgbWlkaV92b2ljZXM7Ci0gaW50IHN5bnRoX3ZvaWNlczsKLSBpbnQgcmVhZF91c2U7CisgIGludCBtaWRpX2NoYW5uZWxzOworICBpbnQgbWlkaV92b2ljZXM7CisgIGludCBzeW50aF92b2ljZXM7CisgIGludCByZWFkX3VzZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHdyaXRlX3VzZTsKLSB2b2lkICprZXJuZWw7Ci0gdW5zaWduZWQgaW50IGZsYWdzOwotIHVuc2lnbmVkIGNoYXIgdGltZV9xdWV1ZTsKKyAgaW50IHdyaXRlX3VzZTsKKyAgdm9pZCAqIGtlcm5lbDsKKyAgdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBjaGFyIHRpbWVfcXVldWU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcmVzZXJ2ZWRbNTldOworICBjaGFyIHJlc2VydmVkWzU5XTsKIH07Ci0jZGVmaW5lIFNORFJWX1NFUV9RVUVVRV9GTEdfU1lOQyAoMTw8MCkKKyNkZWZpbmUgU05EUlZfU0VRX1FVRVVFX0ZMR19TWU5DICgxIDw8IDApCiBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9pbmZvIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHF1ZXVlOwotIGludCBvd25lcjsKLSB1bnNpZ25lZCBsb2NrZWQ6MTsKLSBjaGFyIG5hbWVbNjRdOworICBpbnQgcXVldWU7CisgIGludCBvd25lcjsKKyAgdW5zaWduZWQgbG9ja2VkIDogMTsKKyAgY2hhciBuYW1lWzY0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGZsYWdzOwotIGNoYXIgcmVzZXJ2ZWRbNjBdOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CisgIGNoYXIgcmVzZXJ2ZWRbNjBdOwogfTsKIHN0cnVjdCBzbmRfc2VxX3F1ZXVlX3N0YXR1cyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBxdWV1ZTsKLSBpbnQgZXZlbnRzOwotIHNuZF9zZXFfdGlja190aW1lX3QgdGljazsKLSBzdHJ1Y3Qgc25kX3NlcV9yZWFsX3RpbWUgdGltZTsKKyAgaW50IHF1ZXVlOworICBpbnQgZXZlbnRzOworICBzbmRfc2VxX3RpY2tfdGltZV90IHRpY2s7CisgIHN0cnVjdCBzbmRfc2VxX3JlYWxfdGltZSB0aW1lOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcnVubmluZzsKLSBpbnQgZmxhZ3M7Ci0gY2hhciByZXNlcnZlZFs2NF07CisgIGludCBydW5uaW5nOworICBpbnQgZmxhZ3M7CisgIGNoYXIgcmVzZXJ2ZWRbNjRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV90ZW1wbyB7Ci0gaW50IHF1ZXVlOwotIHVuc2lnbmVkIGludCB0ZW1wbzsKLSBpbnQgcHBxOworICBpbnQgcXVldWU7CisgIHVuc2lnbmVkIGludCB0ZW1wbzsKKyAgaW50IHBwcTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHNrZXdfdmFsdWU7Ci0gdW5zaWduZWQgaW50IHNrZXdfYmFzZTsKLSBjaGFyIHJlc2VydmVkWzI0XTsKKyAgdW5zaWduZWQgaW50IHNrZXdfdmFsdWU7CisgIHVuc2lnbmVkIGludCBza2V3X2Jhc2U7CisgIGNoYXIgcmVzZXJ2ZWRbMjRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NFUV9USU1FUl9BTFNBIDAKQEAgLTQwNiw5MiArNDA2LDkyIEBACiAjZGVmaW5lIFNORFJWX1NFUV9USU1FUl9NSURJX1RJQ0sgMgogc3RydWN0IHNuZF9zZXFfcXVldWVfdGltZXIgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgcXVldWU7Ci0gaW50IHR5cGU7Ci0gdW5pb24gewotIHN0cnVjdCB7CisgIGludCBxdWV1ZTsKKyAgaW50IHR5cGU7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc25kX3RpbWVyX2lkIGlkOwotIHVuc2lnbmVkIGludCByZXNvbHV0aW9uOwotIH0gYWxzYTsKLSB9IHU7CisgICAgICBzdHJ1Y3Qgc25kX3RpbWVyX2lkIGlkOworICAgICAgdW5zaWduZWQgaW50IHJlc29sdXRpb247CisgICAgfSBhbHNhOworICB9IHU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgcmVzZXJ2ZWRbNjRdOworICBjaGFyIHJlc2VydmVkWzY0XTsKIH07CiBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9jbGllbnQgewotIGludCBxdWV1ZTsKKyAgaW50IHF1ZXVlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgY2xpZW50OwotIGludCB1c2VkOwotIGNoYXIgcmVzZXJ2ZWRbNjRdOworICBpbnQgY2xpZW50OworICBpbnQgdXNlZDsKKyAgY2hhciByZXNlcnZlZFs2NF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX1BPUlRfU1VCU19FWENMVVNJVkUgKDE8PDApCi0jZGVmaW5lIFNORFJWX1NFUV9QT1JUX1NVQlNfVElNRVNUQU1QICgxPDwxKQotI2RlZmluZSBTTkRSVl9TRVFfUE9SVF9TVUJTX1RJTUVfUkVBTCAoMTw8MikKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfU1VCU19FWENMVVNJVkUgKDEgPDwgMCkKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfU1VCU19USU1FU1RBTVAgKDEgPDwgMSkKKyNkZWZpbmUgU05EUlZfU0VRX1BPUlRfU1VCU19USU1FX1JFQUwgKDEgPDwgMikKIHN0cnVjdCBzbmRfc2VxX3BvcnRfc3Vic2NyaWJlIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNuZF9zZXFfYWRkciBzZW5kZXI7Ci0gc3RydWN0IHNuZF9zZXFfYWRkciBkZXN0OwotIHVuc2lnbmVkIGludCB2b2ljZXM7Ci0gdW5zaWduZWQgaW50IGZsYWdzOworICBzdHJ1Y3Qgc25kX3NlcV9hZGRyIHNlbmRlcjsKKyAgc3RydWN0IHNuZF9zZXFfYWRkciBkZXN0OworICB1bnNpZ25lZCBpbnQgdm9pY2VzOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcXVldWU7Ci0gdW5zaWduZWQgY2hhciBwYWRbM107Ci0gY2hhciByZXNlcnZlZFs2NF07CisgIHVuc2lnbmVkIGNoYXIgcXVldWU7CisgIHVuc2lnbmVkIGNoYXIgcGFkWzNdOworICBjaGFyIHJlc2VydmVkWzY0XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9TRVFfUVVFUllfU1VCU19SRUFEIDAKICNkZWZpbmUgU05EUlZfU0VRX1FVRVJZX1NVQlNfV1JJVEUgMQogc3RydWN0IHNuZF9zZXFfcXVlcnlfc3VicyB7Ci0gc3RydWN0IHNuZF9zZXFfYWRkciByb290OworICBzdHJ1Y3Qgc25kX3NlcV9hZGRyIHJvb3Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCB0eXBlOwotIGludCBpbmRleDsKLSBpbnQgbnVtX3N1YnM7Ci0gc3RydWN0IHNuZF9zZXFfYWRkciBhZGRyOworICBpbnQgdHlwZTsKKyAgaW50IGluZGV4OworICBpbnQgbnVtX3N1YnM7CisgIHN0cnVjdCBzbmRfc2VxX2FkZHIgYWRkcjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBxdWV1ZTsKLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gY2hhciByZXNlcnZlZFs2NF07CisgIHVuc2lnbmVkIGNoYXIgcXVldWU7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgY2hhciByZXNlcnZlZFs2NF07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1BWRVJTSU9OIF9JT1IgKCdTJywgMHgwMCwgaW50KQotI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfQ0xJRU5UX0lEIF9JT1IgKCdTJywgMHgwMSwgaW50KQorI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfUFZFUlNJT04gX0lPUignUycsIDB4MDAsIGludCkKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX0NMSUVOVF9JRCBfSU9SKCdTJywgMHgwMSwgaW50KQogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU1lTVEVNX0lORk8gX0lPV1IoJ1MnLCAweDAyLCBzdHJ1Y3Qgc25kX3NlcV9zeXN0ZW1faW5mbykKICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1JVTk5JTkdfTU9ERSBfSU9XUignUycsIDB4MDMsIHN0cnVjdCBzbmRfc2VxX3J1bm5pbmdfaW5mbykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9HRVRfQ0xJRU5UX0lORk8gX0lPV1IoJ1MnLCAweDEwLCBzdHJ1Y3Qgc25kX3NlcV9jbGllbnRfaW5mbykKLSNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NFVF9DTElFTlRfSU5GTyBfSU9XICgnUycsIDB4MTEsIHN0cnVjdCBzbmRfc2VxX2NsaWVudF9pbmZvKQorI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU0VUX0NMSUVOVF9JTkZPIF9JT1coJ1MnLCAweDExLCBzdHJ1Y3Qgc25kX3NlcV9jbGllbnRfaW5mbykKICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX0NSRUFURV9QT1JUIF9JT1dSKCdTJywgMHgyMCwgc3RydWN0IHNuZF9zZXFfcG9ydF9pbmZvKQotI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfREVMRVRFX1BPUlQgX0lPVyAoJ1MnLCAweDIxLCBzdHJ1Y3Qgc25kX3NlcV9wb3J0X2luZm8pCisjZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9ERUxFVEVfUE9SVCBfSU9XKCdTJywgMHgyMSwgc3RydWN0IHNuZF9zZXFfcG9ydF9pbmZvKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX0dFVF9QT1JUX0lORk8gX0lPV1IoJ1MnLCAweDIyLCBzdHJ1Y3Qgc25kX3NlcV9wb3J0X2luZm8pCi0jZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9TRVRfUE9SVF9JTkZPIF9JT1cgKCdTJywgMHgyMywgc3RydWN0IHNuZF9zZXFfcG9ydF9pbmZvKQotI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU1VCU0NSSUJFX1BPUlQgX0lPVyAoJ1MnLCAweDMwLCBzdHJ1Y3Qgc25kX3NlcV9wb3J0X3N1YnNjcmliZSkKLSNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1VOU1VCU0NSSUJFX1BPUlQgX0lPVyAoJ1MnLCAweDMxLCBzdHJ1Y3Qgc25kX3NlcV9wb3J0X3N1YnNjcmliZSkKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NFVF9QT1JUX0lORk8gX0lPVygnUycsIDB4MjMsIHN0cnVjdCBzbmRfc2VxX3BvcnRfaW5mbykKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NVQlNDUklCRV9QT1JUIF9JT1coJ1MnLCAweDMwLCBzdHJ1Y3Qgc25kX3NlcV9wb3J0X3N1YnNjcmliZSkKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1VOU1VCU0NSSUJFX1BPUlQgX0lPVygnUycsIDB4MzEsIHN0cnVjdCBzbmRfc2VxX3BvcnRfc3Vic2NyaWJlKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX0NSRUFURV9RVUVVRSBfSU9XUignUycsIDB4MzIsIHN0cnVjdCBzbmRfc2VxX3F1ZXVlX2luZm8pCi0jZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9ERUxFVEVfUVVFVUUgX0lPVyAoJ1MnLCAweDMzLCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9pbmZvKQorI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfREVMRVRFX1FVRVVFIF9JT1coJ1MnLCAweDMzLCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9pbmZvKQogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfR0VUX1FVRVVFX0lORk8gX0lPV1IoJ1MnLCAweDM0LCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9pbmZvKQogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU0VUX1FVRVVFX0lORk8gX0lPV1IoJ1MnLCAweDM1LCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9pbmZvKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX0dFVF9OQU1FRF9RVUVVRSBfSU9XUignUycsIDB4MzYsIHN0cnVjdCBzbmRfc2VxX3F1ZXVlX2luZm8pCiAjZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9HRVRfUVVFVUVfU1RBVFVTIF9JT1dSKCdTJywgMHg0MCwgc3RydWN0IHNuZF9zZXFfcXVldWVfc3RhdHVzKQogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfR0VUX1FVRVVFX1RFTVBPIF9JT1dSKCdTJywgMHg0MSwgc3RydWN0IHNuZF9zZXFfcXVldWVfdGVtcG8pCi0jZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9TRVRfUVVFVUVfVEVNUE8gX0lPVyAoJ1MnLCAweDQyLCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV90ZW1wbykKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9URU1QTyBfSU9XKCdTJywgMHg0Miwgc3RydWN0IHNuZF9zZXFfcXVldWVfdGVtcG8pCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfR0VUX1FVRVVFX09XTkVSIF9JT1dSKCdTJywgMHg0Mywgc3RydWN0IHNuZF9zZXFfcXVldWVfb3duZXIpCi0jZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9TRVRfUVVFVUVfT1dORVIgX0lPVyAoJ1MnLCAweDQ0LCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV9vd25lcikKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9PV05FUiBfSU9XKCdTJywgMHg0NCwgc3RydWN0IHNuZF9zZXFfcXVldWVfb3duZXIpCiAjZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9HRVRfUVVFVUVfVElNRVIgX0lPV1IoJ1MnLCAweDQ1LCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV90aW1lcikKLSNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9USU1FUiBfSU9XICgnUycsIDB4NDYsIHN0cnVjdCBzbmRfc2VxX3F1ZXVlX3RpbWVyKQorI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU0VUX1FVRVVFX1RJTUVSIF9JT1coJ1MnLCAweDQ2LCBzdHJ1Y3Qgc25kX3NlcV9xdWV1ZV90aW1lcikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9HRVRfUVVFVUVfQ0xJRU5UIF9JT1dSKCdTJywgMHg0OSwgc3RydWN0IHNuZF9zZXFfcXVldWVfY2xpZW50KQotI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU0VUX1FVRVVFX0NMSUVOVCBfSU9XICgnUycsIDB4NGEsIHN0cnVjdCBzbmRfc2VxX3F1ZXVlX2NsaWVudCkKKyNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9DTElFTlQgX0lPVygnUycsIDB4NGEsIHN0cnVjdCBzbmRfc2VxX3F1ZXVlX2NsaWVudCkKICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX0dFVF9DTElFTlRfUE9PTCBfSU9XUignUycsIDB4NGIsIHN0cnVjdCBzbmRfc2VxX2NsaWVudF9wb29sKQotI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfU0VUX0NMSUVOVF9QT09MIF9JT1cgKCdTJywgMHg0Yywgc3RydWN0IHNuZF9zZXFfY2xpZW50X3Bvb2wpCisjZGVmaW5lIFNORFJWX1NFUV9JT0NUTF9TRVRfQ0xJRU5UX1BPT0wgX0lPVygnUycsIDB4NGMsIHN0cnVjdCBzbmRfc2VxX2NsaWVudF9wb29sKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1JFTU9WRV9FVkVOVFMgX0lPVyAoJ1MnLCAweDRlLCBzdHJ1Y3Qgc25kX3NlcV9yZW1vdmVfZXZlbnRzKQorI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfUkVNT1ZFX0VWRU5UUyBfSU9XKCdTJywgMHg0ZSwgc3RydWN0IHNuZF9zZXFfcmVtb3ZlX2V2ZW50cykKICNkZWZpbmUgU05EUlZfU0VRX0lPQ1RMX1FVRVJZX1NVQlMgX0lPV1IoJ1MnLCAweDRmLCBzdHJ1Y3Qgc25kX3NlcV9xdWVyeV9zdWJzKQogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfR0VUX1NVQlNDUklQVElPTiBfSU9XUignUycsIDB4NTAsIHN0cnVjdCBzbmRfc2VxX3BvcnRfc3Vic2NyaWJlKQogI2RlZmluZSBTTkRSVl9TRVFfSU9DVExfUVVFUllfTkVYVF9DTElFTlQgX0lPV1IoJ1MnLCAweDUxLCBzdHJ1Y3Qgc25kX3NlcV9jbGllbnRfaW5mbykKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvYXNvdW5kLmggYi9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2Fzb3VuZC5oCmluZGV4IDlkMTg3YWEuLjE0MTlmZTggMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvYXNvdW5kLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9hc291bmQuaApAQCAtMTksOTczICsxOSw5NzcgQEAKICNpZm5kZWYgX1VBUElfX1NPVU5EX0FTT1VORF9ICiAjZGVmaW5lIF9VQVBJX19TT1VORF9BU09VTkRfSAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jZGVmaW5lIFNORFJWX1BST1RPQ09MX1ZFUlNJT04obWFqb3IsIG1pbm9yLCBzdWJtaW5vcikgKCgobWFqb3IpPDwxNil8KChtaW5vcik8PDgpfChzdWJtaW5vcikpCisjZGVmaW5lIFNORFJWX1BST1RPQ09MX1ZFUlNJT04obWFqb3IsbWlub3Isc3VibWlub3IpICgoKG1ham9yKSA8PCAxNikgfCAoKG1pbm9yKSA8PCA4KSB8IChzdWJtaW5vcikpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9QUk9UT0NPTF9NQUpPUih2ZXJzaW9uKSAoKCh2ZXJzaW9uKT4+MTYpJjB4ZmZmZikKLSNkZWZpbmUgU05EUlZfUFJPVE9DT0xfTUlOT1IodmVyc2lvbikgKCgodmVyc2lvbik+PjgpJjB4ZmYpCi0jZGVmaW5lIFNORFJWX1BST1RPQ09MX01JQ1JPKHZlcnNpb24pICgodmVyc2lvbikmMHhmZikKLSNkZWZpbmUgU05EUlZfUFJPVE9DT0xfSU5DT01QQVRJQkxFKGt2ZXJzaW9uLCB1dmVyc2lvbikgICAoU05EUlZfUFJPVE9DT0xfTUFKT1Ioa3ZlcnNpb24pICE9IFNORFJWX1BST1RPQ09MX01BSk9SKHV2ZXJzaW9uKSB8fCAgIChTTkRSVl9QUk9UT0NPTF9NQUpPUihrdmVyc2lvbikgPT0gU05EUlZfUFJPVE9DT0xfTUFKT1IodXZlcnNpb24pICYmICAgU05EUlZfUFJPVE9DT0xfTUlOT1Ioa3ZlcnNpb24pICE9IFNORFJWX1BST1RPQ09MX01JTk9SKHV2ZXJzaW9uKSkpCisjZGVmaW5lIFNORFJWX1BST1RPQ09MX01BSk9SKHZlcnNpb24pICgoKHZlcnNpb24pID4+IDE2KSAmIDB4ZmZmZikKKyNkZWZpbmUgU05EUlZfUFJPVE9DT0xfTUlOT1IodmVyc2lvbikgKCgodmVyc2lvbikgPj4gOCkgJiAweGZmKQorI2RlZmluZSBTTkRSVl9QUk9UT0NPTF9NSUNSTyh2ZXJzaW9uKSAoKHZlcnNpb24pICYgMHhmZikKKyNkZWZpbmUgU05EUlZfUFJPVE9DT0xfSU5DT01QQVRJQkxFKGt2ZXJzaW9uLHV2ZXJzaW9uKSAoU05EUlZfUFJPVE9DT0xfTUFKT1Ioa3ZlcnNpb24pICE9IFNORFJWX1BST1RPQ09MX01BSk9SKHV2ZXJzaW9uKSB8fCAoU05EUlZfUFJPVE9DT0xfTUFKT1Ioa3ZlcnNpb24pID09IFNORFJWX1BST1RPQ09MX01BSk9SKHV2ZXJzaW9uKSAmJiBTTkRSVl9QUk9UT0NPTF9NSU5PUihrdmVyc2lvbikgIT0gU05EUlZfUFJPVE9DT0xfTUlOT1IodXZlcnNpb24pKSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX2Flc19pZWM5NTggewotIHVuc2lnbmVkIGNoYXIgc3RhdHVzWzI0XTsKLSB1bnNpZ25lZCBjaGFyIHN1YmNvZGVbMTQ3XTsKLSB1bnNpZ25lZCBjaGFyIHBhZDsKKyAgdW5zaWduZWQgY2hhciBzdGF0dXNbMjRdOworICB1bnNpZ25lZCBjaGFyIHN1YmNvZGVbMTQ3XTsKKyAgdW5zaWduZWQgY2hhciBwYWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZGlnX3N1YmZyYW1lWzRdOworICB1bnNpZ25lZCBjaGFyIGRpZ19zdWJmcmFtZVs0XTsKIH07CiBzdHJ1Y3Qgc25kX2NlYV84NjFfYXVkX2lmIHsKLSB1bnNpZ25lZCBjaGFyIGRiMV9jdF9jYzsKKyAgdW5zaWduZWQgY2hhciBkYjFfY3RfY2M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZGIyX3NmX3NzOwotIHVuc2lnbmVkIGNoYXIgZGIzOwotIHVuc2lnbmVkIGNoYXIgZGI0X2NhOwotIHVuc2lnbmVkIGNoYXIgZGI1X2RtaW5oX2xzdjsKKyAgdW5zaWduZWQgY2hhciBkYjJfc2Zfc3M7CisgIHVuc2lnbmVkIGNoYXIgZGIzOworICB1bnNpZ25lZCBjaGFyIGRiNF9jYTsKKyAgdW5zaWduZWQgY2hhciBkYjVfZG1pbmhfbHN2OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFNORFJWX0hXREVQX1ZFUlNJT04gU05EUlZfUFJPVE9DT0xfVkVSU0lPTigxLCAwLCAxKQogZW51bSB7Ci0gU05EUlZfSFdERVBfSUZBQ0VfT1BMMiA9IDAsCisgIFNORFJWX0hXREVQX0lGQUNFX09QTDIgPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9IV0RFUF9JRkFDRV9PUEwzLAotIFNORFJWX0hXREVQX0lGQUNFX09QTDQsCi0gU05EUlZfSFdERVBfSUZBQ0VfU0IxNkNTUCwKLSBTTkRSVl9IV0RFUF9JRkFDRV9FTVUxMEsxLAorICBTTkRSVl9IV0RFUF9JRkFDRV9PUEwzLAorICBTTkRSVl9IV0RFUF9JRkFDRV9PUEw0LAorICBTTkRSVl9IV0RFUF9JRkFDRV9TQjE2Q1NQLAorICBTTkRSVl9IV0RFUF9JRkFDRV9FTVUxMEsxLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9IV0RFUF9JRkFDRV9ZU1MyMjUsCi0gU05EUlZfSFdERVBfSUZBQ0VfSUNTMjExNSwKLSBTTkRSVl9IV0RFUF9JRkFDRV9TU0NBUEUsCi0gU05EUlZfSFdERVBfSUZBQ0VfVlgsCisgIFNORFJWX0hXREVQX0lGQUNFX1lTUzIyNSwKKyAgU05EUlZfSFdERVBfSUZBQ0VfSUNTMjExNSwKKyAgU05EUlZfSFdERVBfSUZBQ0VfU1NDQVBFLAorICBTTkRSVl9IV0RFUF9JRkFDRV9WWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfSFdERVBfSUZBQ0VfTUlYQVJULAotIFNORFJWX0hXREVQX0lGQUNFX1VTWDJZLAotIFNORFJWX0hXREVQX0lGQUNFX0VNVVhfV0FWRVRBQkxFLAotIFNORFJWX0hXREVQX0lGQUNFX0JMVUVUT09USCwKKyAgU05EUlZfSFdERVBfSUZBQ0VfTUlYQVJULAorICBTTkRSVl9IV0RFUF9JRkFDRV9VU1gyWSwKKyAgU05EUlZfSFdERVBfSUZBQ0VfRU1VWF9XQVZFVEFCTEUsCisgIFNORFJWX0hXREVQX0lGQUNFX0JMVUVUT09USCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfSFdERVBfSUZBQ0VfVVNYMllfUENNLAotIFNORFJWX0hXREVQX0lGQUNFX1BDWEhSLAotIFNORFJWX0hXREVQX0lGQUNFX1NCX1JDLAotIFNORFJWX0hXREVQX0lGQUNFX0hEQSwKKyAgU05EUlZfSFdERVBfSUZBQ0VfVVNYMllfUENNLAorICBTTkRSVl9IV0RFUF9JRkFDRV9QQ1hIUiwKKyAgU05EUlZfSFdERVBfSUZBQ0VfU0JfUkMsCisgIFNORFJWX0hXREVQX0lGQUNFX0hEQSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfSFdERVBfSUZBQ0VfVVNCX1NUUkVBTSwKLSBTTkRSVl9IV0RFUF9JRkFDRV9GV19ESUNFLAotIFNORFJWX0hXREVQX0lGQUNFX0xBU1QgPSBTTkRSVl9IV0RFUF9JRkFDRV9GV19ESUNFCisgIFNORFJWX0hXREVQX0lGQUNFX1VTQl9TVFJFQU0sCisgIFNORFJWX0hXREVQX0lGQUNFX0ZXX0RJQ0UsCisgIFNORFJWX0hXREVQX0lGQUNFX0ZXX0ZJUkVXT1JLUywKKyAgU05EUlZfSFdERVBfSUZBQ0VfRldfQkVCT0IsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTTkRSVl9IV0RFUF9JRkFDRV9MQVNUID0gU05EUlZfSFdERVBfSUZBQ0VfRldfQkVCT0IKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9od2RlcF9pbmZvIHsKLSB1bnNpZ25lZCBpbnQgZGV2aWNlOwotIGludCBjYXJkOwotIHVuc2lnbmVkIGNoYXIgaWRbNjRdOworICB1bnNpZ25lZCBpbnQgZGV2aWNlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIG5hbWVbODBdOwotIGludCBpZmFjZTsKLSB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0XTsKKyAgaW50IGNhcmQ7CisgIHVuc2lnbmVkIGNoYXIgaWRbNjRdOworICB1bnNpZ25lZCBjaGFyIG5hbWVbODBdOworICBpbnQgaWZhY2U7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0XTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9od2RlcF9kc3Bfc3RhdHVzIHsKLSB1bnNpZ25lZCBpbnQgdmVyc2lvbjsKLSB1bnNpZ25lZCBjaGFyIGlkWzMyXTsKLSB1bnNpZ25lZCBpbnQgbnVtX2RzcHM7CisgIHVuc2lnbmVkIGludCB2ZXJzaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZHNwX2xvYWRlZDsKLSB1bnNpZ25lZCBpbnQgY2hpcF9yZWFkeTsKLSB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzE2XTsKKyAgdW5zaWduZWQgY2hhciBpZFszMl07CisgIHVuc2lnbmVkIGludCBudW1fZHNwczsKKyAgdW5zaWduZWQgaW50IGRzcF9sb2FkZWQ7CisgIHVuc2lnbmVkIGludCBjaGlwX3JlYWR5OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFsxNl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzbmRfaHdkZXBfZHNwX2ltYWdlIHsKLSB1bnNpZ25lZCBpbnQgaW5kZXg7Ci0gdW5zaWduZWQgY2hhciBuYW1lWzY0XTsKLSB1bnNpZ25lZCBjaGFyIF9fdXNlciAqaW1hZ2U7CisgIHVuc2lnbmVkIGludCBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2l6ZV90IGxlbmd0aDsKLSB1bnNpZ25lZCBsb25nIGRyaXZlcl9kYXRhOworICB1bnNpZ25lZCBjaGFyIG5hbWVbNjRdOworICB1bnNpZ25lZCBjaGFyIF9fdXNlciAqIGltYWdlOworICBzaXplX3QgbGVuZ3RoOworICB1bnNpZ25lZCBsb25nIGRyaXZlcl9kYXRhOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07Ci0jZGVmaW5lIFNORFJWX0hXREVQX0lPQ1RMX1BWRVJTSU9OIF9JT1IgKCdIJywgMHgwMCwgaW50KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfSFdERVBfSU9DVExfSU5GTyBfSU9SICgnSCcsIDB4MDEsIHN0cnVjdCBzbmRfaHdkZXBfaW5mbykKKyNkZWZpbmUgU05EUlZfSFdERVBfSU9DVExfUFZFUlNJT04gX0lPUignSCcsIDB4MDAsIGludCkKKyNkZWZpbmUgU05EUlZfSFdERVBfSU9DVExfSU5GTyBfSU9SKCdIJywgMHgwMSwgc3RydWN0IHNuZF9od2RlcF9pbmZvKQogI2RlZmluZSBTTkRSVl9IV0RFUF9JT0NUTF9EU1BfU1RBVFVTIF9JT1IoJ0gnLCAweDAyLCBzdHJ1Y3Qgc25kX2h3ZGVwX2RzcF9zdGF0dXMpCi0jZGVmaW5lIFNORFJWX0hXREVQX0lPQ1RMX0RTUF9MT0FEIF9JT1coJ0gnLCAweDAzLCBzdHJ1Y3Qgc25kX2h3ZGVwX2RzcF9pbWFnZSkKLSNkZWZpbmUgU05EUlZfUENNX1ZFUlNJT04gU05EUlZfUFJPVE9DT0xfVkVSU0lPTigyLCAwLCAxMSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX0hXREVQX0lPQ1RMX0RTUF9MT0FEIF9JT1coJ0gnLCAweDAzLCBzdHJ1Y3Qgc25kX2h3ZGVwX2RzcF9pbWFnZSkKKyNkZWZpbmUgU05EUlZfUENNX1ZFUlNJT04gU05EUlZfUFJPVE9DT0xfVkVSU0lPTigyLCAwLCAxMikKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBzbmRfcGNtX3VmcmFtZXNfdDsKIHR5cGVkZWYgc2lnbmVkIGxvbmcgc25kX3BjbV9zZnJhbWVzX3Q7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gU05EUlZfUENNX0NMQVNTX0dFTkVSSUMgPSAwLAorICBTTkRSVl9QQ01fQ0xBU1NfR0VORVJJQyA9IDAsCisgIFNORFJWX1BDTV9DTEFTU19NVUxUSSwKKyAgU05EUlZfUENNX0NMQVNTX01PREVNLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9QQ01fQ0xBU1NfTVVMVEksCi0gU05EUlZfUENNX0NMQVNTX01PREVNLAotIFNORFJWX1BDTV9DTEFTU19ESUdJVElaRVIsCi0gU05EUlZfUENNX0NMQVNTX0xBU1QgPSBTTkRSVl9QQ01fQ0xBU1NfRElHSVRJWkVSLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU05EUlZfUENNX0NMQVNTX0RJR0lUSVpFUiwKKyAgU05EUlZfUENNX0NMQVNTX0xBU1QgPSBTTkRSVl9QQ01fQ0xBU1NfRElHSVRJWkVSLAogfTsKIGVudW0gewotIFNORFJWX1BDTV9TVUJDTEFTU19HRU5FUklDX01JWCA9IDAsCi0gU05EUlZfUENNX1NVQkNMQVNTX01VTFRJX01JWCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfUENNX1NVQkNMQVNTX0xBU1QgPSBTTkRSVl9QQ01fU1VCQ0xBU1NfTVVMVElfTUlYLAorICBTTkRSVl9QQ01fU1VCQ0xBU1NfR0VORVJJQ19NSVggPSAwLAorICBTTkRSVl9QQ01fU1VCQ0xBU1NfTVVMVElfTUlYLAorICBTTkRSVl9QQ01fU1VCQ0xBU1NfTEFTVCA9IFNORFJWX1BDTV9TVUJDTEFTU19NVUxUSV9NSVgsCiB9OwotZW51bSB7Ci0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyA9IDAsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSwKLSBTTkRSVl9QQ01fU1RSRUFNX0xBU1QgPSBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkUsCitlbnVtIHsKKyAgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyA9IDAsCisgIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSwKKyAgU05EUlZfUENNX1NUUkVBTV9MQVNUID0gU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiB0eXBlZGVmIGludCBfX2JpdHdpc2Ugc25kX3BjbV9hY2Nlc3NfdDsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9BQ0NFU1NfTU1BUF9JTlRFUkxFQVZFRCAoKF9fZm9yY2Ugc25kX3BjbV9hY2Nlc3NfdCkgMCkKICNkZWZpbmUgU05EUlZfUENNX0FDQ0VTU19NTUFQX05PTklOVEVSTEVBVkVEICgoX19mb3JjZSBzbmRfcGNtX2FjY2Vzc190KSAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0FDQ0VTU19NTUFQX0NPTVBMRVggKChfX2ZvcmNlIHNuZF9wY21fYWNjZXNzX3QpIDIpCiAjZGVmaW5lIFNORFJWX1BDTV9BQ0NFU1NfUldfSU5URVJMRUFWRUQgKChfX2ZvcmNlIHNuZF9wY21fYWNjZXNzX3QpIDMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fQUNDRVNTX1JXX05PTklOVEVSTEVBVkVEICgoX19mb3JjZSBzbmRfcGNtX2FjY2Vzc190KSA0KQogI2RlZmluZSBTTkRSVl9QQ01fQUNDRVNTX0xBU1QgU05EUlZfUENNX0FDQ0VTU19SV19OT05JTlRFUkxFQVZFRAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgaW50IF9fYml0d2lzZSBzbmRfcGNtX2Zvcm1hdF90OwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1M4ICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSAwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VOCAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMSkKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMykKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VMTZfTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UxNl9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgNSkKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMjRfTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1MyNF9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgNykKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VMjRfTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDgpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UyNF9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgOSkKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMzJfTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDEwKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMzJfQkUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDExKQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UzMl9MRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMTIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UzMl9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMTMpCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfRkxPQVRfTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDE0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9GTE9BVF9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMTUpCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfRkxPQVQ2NF9MRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMTYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0ZMT0FUNjRfQkUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDE3KQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0lFQzk1OF9TVUJGUkFNRV9MRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMTgpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0lFQzk1OF9TVUJGUkFNRV9CRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMTkpCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfTVVfTEFXICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSAyMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfQV9MQVcgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDIxKQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0lNQV9BRFBDTSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMjIpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX01QRUcgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDIzKQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0dTTSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMjQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1NQRUNJQUwgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDMxKQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1MyNF8zTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDMyKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMjRfM0JFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSAzMykKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VMjRfM0xFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSAzNCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfVTI0XzNCRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMzUpCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfUzIwXzNMRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgMzYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1MyMF8zQkUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDM3KQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UyMF8zTEUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDM4KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VMjBfM0JFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSAzOSkKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMThfM0xFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA0MCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfUzE4XzNCRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgNDEpCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfVTE4XzNMRSAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgNDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UxOF8zQkUgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDQzKQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0c3MjNfMjQgKChfX2ZvcmNlIHNuZF9wY21fZm9ybWF0X3QpIDQ0KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9HNzIzXzI0XzFCICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA0NSkKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9HNzIzXzQwICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA0NikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfRzcyM180MF8xQiAoKF9fZm9yY2Ugc25kX3BjbV9mb3JtYXRfdCkgNDcpCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfRFNEX1U4ICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA0OCkKLSNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9EU0RfVTE2X0xFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA0OSkKLSNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9MQVNUIFNORFJWX1BDTV9GT1JNQVRfRFNEX1UxNl9MRQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9EU0RfVTE2X0xFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA0OSkKKyNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9EU0RfVTMyX0xFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA1MCkKKyNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9EU0RfVTE2X0JFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA1MSkKKyNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9EU0RfVTMyX0JFICgoX19mb3JjZSBzbmRfcGNtX2Zvcm1hdF90KSA1MikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfTEFTVCBTTkRSVl9QQ01fRk9STUFUX0RTRF9VMzJfQkUKICNpZmRlZiBTTkRSVl9MSVRUTEVfRU5ESUFOCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfUzE2IFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfVTE2IFNORFJWX1BDTV9GT1JNQVRfVTE2X0xFCi0jZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfUzI0IFNORFJWX1BDTV9GT1JNQVRfUzI0X0xFCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1MyNCBTTkRSVl9QQ01fRk9STUFUX1MyNF9MRQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UyNCBTTkRSVl9QQ01fRk9STUFUX1UyNF9MRQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1MzMiBTTkRSVl9QQ01fRk9STUFUX1MzMl9MRQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX1UzMiBTTkRSVl9QQ01fRk9STUFUX1UzMl9MRQotI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0ZMT0FUIFNORFJWX1BDTV9GT1JNQVRfRkxPQVRfTEUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfRkxPQVQgU05EUlZfUENNX0ZPUk1BVF9GTE9BVF9MRQogI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0ZMT0FUNjQgU05EUlZfUENNX0ZPUk1BVF9GTE9BVDY0X0xFCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfSUVDOTU4X1NVQkZSQU1FIFNORFJWX1BDTV9GT1JNQVRfSUVDOTU4X1NVQkZSQU1FX0xFCiAjZW5kaWYKLSNpZmRlZiBTTkRSVl9CSUdfRU5ESUFOCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2lmZGVmIFNORFJWX0JJR19FTkRJQU4KICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMTYgU05EUlZfUENNX0ZPUk1BVF9TMTZfQkUKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VMTYgU05EUlZfUENNX0ZPUk1BVF9VMTZfQkUKICNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9TMjQgU05EUlZfUENNX0ZPUk1BVF9TMjRfQkUKLSNkZWZpbmUgU05EUlZfUENNX0ZPUk1BVF9VMjQgU05EUlZfUENNX0ZPUk1BVF9VMjRfQkUKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfVTI0IFNORFJWX1BDTV9GT1JNQVRfVTI0X0JFCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfUzMyIFNORFJWX1BDTV9GT1JNQVRfUzMyX0JFCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfVTMyIFNORFJWX1BDTV9GT1JNQVRfVTMyX0JFCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfRkxPQVQgU05EUlZfUENNX0ZPUk1BVF9GTE9BVF9CRQotI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0ZMT0FUNjQgU05EUlZfUENNX0ZPUk1BVF9GTE9BVDY0X0JFCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRSVl9QQ01fRk9STUFUX0ZMT0FUNjQgU05EUlZfUENNX0ZPUk1BVF9GTE9BVDY0X0JFCiAjZGVmaW5lIFNORFJWX1BDTV9GT1JNQVRfSUVDOTU4X1NVQkZSQU1FIFNORFJWX1BDTV9GT1JNQVRfSUVDOTU4X1NVQkZSQU1FX0JFCiAjZW5kaWYKIHR5cGVkZWYgaW50IF9fYml0d2lzZSBzbmRfcGNtX3N1YmZvcm1hdF90OwotI2RlZmluZSBTTkRSVl9QQ01fU1VCRk9STUFUX1NURCAoKF9fZm9yY2Ugc25kX3BjbV9zdWJmb3JtYXRfdCkgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9TVUJGT1JNQVRfU1REICgoX19mb3JjZSBzbmRfcGNtX3N1YmZvcm1hdF90KSAwKQogI2RlZmluZSBTTkRSVl9QQ01fU1VCRk9STUFUX0xBU1QgU05EUlZfUENNX1NVQkZPUk1BVF9TVEQKICNkZWZpbmUgU05EUlZfUENNX0lORk9fTU1BUCAweDAwMDAwMDAxCiAjZGVmaW5lIFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgMHgwMDAwMDAwMgotI2RlZmluZSBTTkRSVl9QQ01fSU5GT19ET1VCTEUgMHgwMDAwMDAwNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfUENNX0lORk9fRE9VQkxFIDB4MDAwMDAwMDQKICNkZWZpbmUgU05EUlZfUENNX0lORk9fQkFUQ0ggMHgwMDAwMDAxMAogI2RlZmluZSBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCAweDAwMDAwMTAwCiAjZGVmaW5lIFNORFJWX1BDTV9JTkZPX05PTklOVEVSTEVBVkVEIDB4MDAwMDAyMDAKLSNkZWZpbmUgU05EUlZfUENNX0lORk9fQ09NUExFWCAweDAwMDAwNDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRSVl9QQ01fSU5GT19DT01QTEVYIDB4MDAwMDA0MDAKICNkZWZpbmUgU05EUlZfUENNX0lORk9fQkxPQ0tfVFJBTlNGRVIgMHgwMDAxMDAwMAogI2RlZmluZSBTTkRSVl9QQ01fSU5GT19PVkVSUkFOR0UgMHgwMDAyMDAwMAogI2RlZmluZSBTTkRSVl9QQ01fSU5GT19SRVNVTUUgMHgwMDA0MDAwMAotI2RlZmluZSBTTkRSVl9QQ01fSU5GT19QQVVTRSAweDAwMDgwMDAwCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRSVl9QQ01fSU5GT19QQVVTRSAweDAwMDgwMDAwCiAjZGVmaW5lIFNORFJWX1BDTV9JTkZPX0hBTEZfRFVQTEVYIDB4MDAxMDAwMDAKICNkZWZpbmUgU05EUlZfUENNX0lORk9fSk9JTlRfRFVQTEVYIDB4MDAyMDAwMDAKICNkZWZpbmUgU05EUlZfUENNX0lORk9fU1lOQ19TVEFSVCAweDAwNDAwMDAwCi0jZGVmaW5lIFNORFJWX1BDTV9JTkZPX05PX1BFUklPRF9XQUtFVVAgMHgwMDgwMDAwMAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfUENNX0lORk9fTk9fUEVSSU9EX1dBS0VVUCAweDAwODAwMDAwCiAjZGVmaW5lIFNORFJWX1BDTV9JTkZPX0hBU19XQUxMX0NMT0NLIDB4MDEwMDAwMDAKICNkZWZpbmUgU05EUlZfUENNX0lORk9fRklGT19JTl9GUkFNRVMgMHg4MDAwMDAwMAogdHlwZWRlZiBpbnQgX19iaXR3aXNlIHNuZF9wY21fc3RhdGVfdDsKLSNkZWZpbmUgU05EUlZfUENNX1NUQVRFX09QRU4gKChfX2ZvcmNlIHNuZF9wY21fc3RhdGVfdCkgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9TVEFURV9PUEVOICgoX19mb3JjZSBzbmRfcGNtX3N0YXRlX3QpIDApCiAjZGVmaW5lIFNORFJWX1BDTV9TVEFURV9TRVRVUCAoKF9fZm9yY2Ugc25kX3BjbV9zdGF0ZV90KSAxKQogI2RlZmluZSBTTkRSVl9QQ01fU1RBVEVfUFJFUEFSRUQgKChfX2ZvcmNlIHNuZF9wY21fc3RhdGVfdCkgMikKICNkZWZpbmUgU05EUlZfUENNX1NUQVRFX1JVTk5JTkcgKChfX2ZvcmNlIHNuZF9wY21fc3RhdGVfdCkgMykKLSNkZWZpbmUgU05EUlZfUENNX1NUQVRFX1hSVU4gKChfX2ZvcmNlIHNuZF9wY21fc3RhdGVfdCkgNCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9TVEFURV9YUlVOICgoX19mb3JjZSBzbmRfcGNtX3N0YXRlX3QpIDQpCiAjZGVmaW5lIFNORFJWX1BDTV9TVEFURV9EUkFJTklORyAoKF9fZm9yY2Ugc25kX3BjbV9zdGF0ZV90KSA1KQogI2RlZmluZSBTTkRSVl9QQ01fU1RBVEVfUEFVU0VEICgoX19mb3JjZSBzbmRfcGNtX3N0YXRlX3QpIDYpCiAjZGVmaW5lIFNORFJWX1BDTV9TVEFURV9TVVNQRU5ERUQgKChfX2ZvcmNlIHNuZF9wY21fc3RhdGVfdCkgNykKLSNkZWZpbmUgU05EUlZfUENNX1NUQVRFX0RJU0NPTk5FQ1RFRCAoKF9fZm9yY2Ugc25kX3BjbV9zdGF0ZV90KSA4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfUENNX1NUQVRFX0RJU0NPTk5FQ1RFRCAoKF9fZm9yY2Ugc25kX3BjbV9zdGF0ZV90KSA4KQogI2RlZmluZSBTTkRSVl9QQ01fU1RBVEVfTEFTVCBTTkRSVl9QQ01fU1RBVEVfRElTQ09OTkVDVEVECiBlbnVtIHsKLSBTTkRSVl9QQ01fTU1BUF9PRkZTRVRfREFUQSA9IDB4MDAwMDAwMDAsCi0gU05EUlZfUENNX01NQVBfT0ZGU0VUX1NUQVRVUyA9IDB4ODAwMDAwMDAsCisgIFNORFJWX1BDTV9NTUFQX09GRlNFVF9EQVRBID0gMHgwMDAwMDAwMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfUENNX01NQVBfT0ZGU0VUX0NPTlRST0wgPSAweDgxMDAwMDAwLAorICBTTkRSVl9QQ01fTU1BUF9PRkZTRVRfU1RBVFVTID0gMHg4MDAwMDAwMCwKKyAgU05EUlZfUENNX01NQVBfT0ZGU0VUX0NPTlRST0wgPSAweDgxMDAwMDAwLAogfTsKIHVuaW9uIHNuZF9wY21fc3luY19pZCB7Ci0gdW5zaWduZWQgY2hhciBpZFsxNl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IGlkMTZbOF07Ci0gdW5zaWduZWQgaW50IGlkMzJbNF07CisgIHVuc2lnbmVkIGNoYXIgaWRbMTZdOworICB1bnNpZ25lZCBzaG9ydCBpZDE2WzhdOworICB1bnNpZ25lZCBpbnQgaWQzMls0XTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9wY21faW5mbyB7CisgIHVuc2lnbmVkIGludCBkZXZpY2U7CisgIHVuc2lnbmVkIGludCBzdWJkZXZpY2U7CisgIGludCBzdHJlYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBkZXZpY2U7Ci0gdW5zaWduZWQgaW50IHN1YmRldmljZTsKLSBpbnQgc3RyZWFtOwotIGludCBjYXJkOworICBpbnQgY2FyZDsKKyAgdW5zaWduZWQgY2hhciBpZFs2NF07CisgIHVuc2lnbmVkIGNoYXIgbmFtZVs4MF07CisgIHVuc2lnbmVkIGNoYXIgc3VibmFtZVszMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgaWRbNjRdOwotIHVuc2lnbmVkIGNoYXIgbmFtZVs4MF07Ci0gdW5zaWduZWQgY2hhciBzdWJuYW1lWzMyXTsKLSBpbnQgZGV2X2NsYXNzOworICBpbnQgZGV2X2NsYXNzOworICBpbnQgZGV2X3N1YmNsYXNzOworICB1bnNpZ25lZCBpbnQgc3ViZGV2aWNlc19jb3VudDsKKyAgdW5zaWduZWQgaW50IHN1YmRldmljZXNfYXZhaWw7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBkZXZfc3ViY2xhc3M7Ci0gdW5zaWduZWQgaW50IHN1YmRldmljZXNfY291bnQ7Ci0gdW5zaWduZWQgaW50IHN1YmRldmljZXNfYXZhaWw7Ci0gdW5pb24gc25kX3BjbV9zeW5jX2lkIHN5bmM7Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNjRdOworICB1bmlvbiBzbmRfcGNtX3N5bmNfaWQgc3luYzsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFs2NF07CiB9OwogdHlwZWRlZiBpbnQgc25kX3BjbV9od19wYXJhbV90OwotI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fQUNDRVNTIDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9BQ0NFU1MgMAogI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fRk9STUFUIDEKICNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX1NVQkZPUk1BVCAyCiAjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9GSVJTVF9NQVNLIFNORFJWX1BDTV9IV19QQVJBTV9BQ0NFU1MKLSNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX0xBU1RfTUFTSyBTTkRSVl9QQ01fSFdfUEFSQU1fU1VCRk9STUFUCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fTEFTVF9NQVNLIFNORFJWX1BDTV9IV19QQVJBTV9TVUJGT1JNQVQKICNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX1NBTVBMRV9CSVRTIDgKICNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX0ZSQU1FX0JJVFMgOQogI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fQ0hBTk5FTFMgMTAKLSNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUgMTEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFIDExCiAjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9QRVJJT0RfVElNRSAxMgogI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fUEVSSU9EX1NJWkUgMTMKICNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX1BFUklPRF9CWVRFUyAxNAotI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fUEVSSU9EUyAxNQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX1BFUklPRFMgMTUKICNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX0JVRkZFUl9USU1FIDE2CiAjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9CVUZGRVJfU0laRSAxNwogI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fQlVGRkVSX0JZVEVTIDE4Ci0jZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9USUNLX1RJTUUgMTkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTV9USUNLX1RJTUUgMTkKICNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNX0ZJUlNUX0lOVEVSVkFMIFNORFJWX1BDTV9IV19QQVJBTV9TQU1QTEVfQklUUwogI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1fTEFTVF9JTlRFUlZBTCBTTkRSVl9QQ01fSFdfUEFSQU1fVElDS19USU1FCi0jZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTVNfTk9SRVNBTVBMRSAoMTw8MCkKLSNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNU19FWFBPUlRfQlVGRkVSICgxPDwxKQorI2RlZmluZSBTTkRSVl9QQ01fSFdfUEFSQU1TX05PUkVTQU1QTEUgKDEgPDwgMCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTVNfTk9fUEVSSU9EX1dBS0VVUCAoMTw8MikKKyNkZWZpbmUgU05EUlZfUENNX0hXX1BBUkFNU19FWFBPUlRfQlVGRkVSICgxIDw8IDEpCisjZGVmaW5lIFNORFJWX1BDTV9IV19QQVJBTVNfTk9fUEVSSU9EX1dBS0VVUCAoMSA8PCAyKQogc3RydWN0IHNuZF9pbnRlcnZhbCB7Ci0gdW5zaWduZWQgaW50IG1pbiwgbWF4OwotIHVuc2lnbmVkIGludCBvcGVubWluOjEsCisgIHVuc2lnbmVkIGludCBtaW4sIG1heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gb3Blbm1heDoxLAotIGludGVnZXI6MSwKLSBlbXB0eToxOworICB1bnNpZ25lZCBpbnQgb3Blbm1pbiA6IDEsIG9wZW5tYXggOiAxLCBpbnRlZ2VyIDogMSwgZW1wdHkgOiAxOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX01BU0tfTUFYIDI1Ngogc3RydWN0IHNuZF9tYXNrIHsKLSBfX3UzMiBiaXRzWyhTTkRSVl9NQVNLX01BWCszMSkvMzJdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgX191MzIgYml0c1soU05EUlZfTUFTS19NQVggKyAzMSkgLyAzMl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyB7Ci0gdW5zaWduZWQgaW50IGZsYWdzOwotIHN0cnVjdCBzbmRfbWFzayBtYXNrc1tTTkRSVl9QQ01fSFdfUEFSQU1fTEFTVF9NQVNLIC0KLSBTTkRSVl9QQ01fSFdfUEFSQU1fRklSU1RfTUFTSyArIDFdOworICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzbmRfbWFzayBtcmVzWzVdOwotIHN0cnVjdCBzbmRfaW50ZXJ2YWwgaW50ZXJ2YWxzW1NORFJWX1BDTV9IV19QQVJBTV9MQVNUX0lOVEVSVkFMIC0KLSBTTkRSVl9QQ01fSFdfUEFSQU1fRklSU1RfSU5URVJWQUwgKyAxXTsKLSBzdHJ1Y3Qgc25kX2ludGVydmFsIGlyZXNbOV07CisgIHN0cnVjdCBzbmRfbWFzayBtYXNrc1tTTkRSVl9QQ01fSFdfUEFSQU1fTEFTVF9NQVNLIC0gU05EUlZfUENNX0hXX1BBUkFNX0ZJUlNUX01BU0sgKyAxXTsKKyAgc3RydWN0IHNuZF9tYXNrIG1yZXNbNV07CisgIHN0cnVjdCBzbmRfaW50ZXJ2YWwgaW50ZXJ2YWxzW1NORFJWX1BDTV9IV19QQVJBTV9MQVNUX0lOVEVSVkFMIC0gU05EUlZfUENNX0hXX1BBUkFNX0ZJUlNUX0lOVEVSVkFMICsgMV07CisgIHN0cnVjdCBzbmRfaW50ZXJ2YWwgaXJlc1s5XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHJtYXNrOwotIHVuc2lnbmVkIGludCBjbWFzazsKLSB1bnNpZ25lZCBpbnQgaW5mbzsKLSB1bnNpZ25lZCBpbnQgbXNiaXRzOworICB1bnNpZ25lZCBpbnQgcm1hc2s7CisgIHVuc2lnbmVkIGludCBjbWFzazsKKyAgdW5zaWduZWQgaW50IGluZm87CisgIHVuc2lnbmVkIGludCBtc2JpdHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCByYXRlX251bTsKLSB1bnNpZ25lZCBpbnQgcmF0ZV9kZW47Ci0gc25kX3BjbV91ZnJhbWVzX3QgZmlmb19zaXplOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNjRdOworICB1bnNpZ25lZCBpbnQgcmF0ZV9udW07CisgIHVuc2lnbmVkIGludCByYXRlX2RlbjsKKyAgc25kX3BjbV91ZnJhbWVzX3QgZmlmb19zaXplOworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSB7Ci0gU05EUlZfUENNX1RTVEFNUF9OT05FID0gMCwKLSBTTkRSVl9QQ01fVFNUQU1QX0VOQUJMRSwKKyAgU05EUlZfUENNX1RTVEFNUF9OT05FID0gMCwKKyAgU05EUlZfUENNX1RTVEFNUF9FTkFCTEUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX1BDTV9UU1RBTVBfTEFTVCA9IFNORFJWX1BDTV9UU1RBTVBfRU5BQkxFLAorICBTTkRSVl9QQ01fVFNUQU1QX0xBU1QgPSBTTkRSVl9QQ01fVFNUQU1QX0VOQUJMRSwKIH07CiBzdHJ1Y3Qgc25kX3BjbV9zd19wYXJhbXMgewotIGludCB0c3RhbXBfbW9kZTsKKyAgaW50IHRzdGFtcF9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcGVyaW9kX3N0ZXA7Ci0gdW5zaWduZWQgaW50IHNsZWVwX21pbjsKLSBzbmRfcGNtX3VmcmFtZXNfdCBhdmFpbF9taW47Ci0gc25kX3BjbV91ZnJhbWVzX3QgeGZlcl9hbGlnbjsKKyAgdW5zaWduZWQgaW50IHBlcmlvZF9zdGVwOworICB1bnNpZ25lZCBpbnQgc2xlZXBfbWluOworICBzbmRfcGNtX3VmcmFtZXNfdCBhdmFpbF9taW47CisgIHNuZF9wY21fdWZyYW1lc190IHhmZXJfYWxpZ247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNuZF9wY21fdWZyYW1lc190IHN0YXJ0X3RocmVzaG9sZDsKLSBzbmRfcGNtX3VmcmFtZXNfdCBzdG9wX3RocmVzaG9sZDsKLSBzbmRfcGNtX3VmcmFtZXNfdCBzaWxlbmNlX3RocmVzaG9sZDsKLSBzbmRfcGNtX3VmcmFtZXNfdCBzaWxlbmNlX3NpemU7CisgIHNuZF9wY21fdWZyYW1lc190IHN0YXJ0X3RocmVzaG9sZDsKKyAgc25kX3BjbV91ZnJhbWVzX3Qgc3RvcF90aHJlc2hvbGQ7CisgIHNuZF9wY21fdWZyYW1lc190IHNpbGVuY2VfdGhyZXNob2xkOworICBzbmRfcGNtX3VmcmFtZXNfdCBzaWxlbmNlX3NpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNuZF9wY21fdWZyYW1lc190IGJvdW5kYXJ5OwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNjRdOworICBzbmRfcGNtX3VmcmFtZXNfdCBib3VuZGFyeTsKKyAgdW5zaWduZWQgaW50IHByb3RvOworICB1bnNpZ25lZCBpbnQgdHN0YW1wX3R5cGU7CisgIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNTZdOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc25kX3BjbV9jaGFubmVsX2luZm8geworICB1bnNpZ25lZCBpbnQgY2hhbm5lbDsKKyAgX19rZXJuZWxfb2ZmX3Qgb2Zmc2V0OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgY2hhbm5lbDsKLSBfX2tlcm5lbF9vZmZfdCBvZmZzZXQ7Ci0gdW5zaWduZWQgaW50IGZpcnN0OwotIHVuc2lnbmVkIGludCBzdGVwOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IGZpcnN0OworICB1bnNpZ25lZCBpbnQgc3RlcDsKIH07CiBzdHJ1Y3Qgc25kX3BjbV9zdGF0dXMgewotIHNuZF9wY21fc3RhdGVfdCBzdGF0ZTsKLSBzdHJ1Y3QgdGltZXNwZWMgdHJpZ2dlcl90c3RhbXA7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCB0aW1lc3BlYyB0c3RhbXA7Ci0gc25kX3BjbV91ZnJhbWVzX3QgYXBwbF9wdHI7Ci0gc25kX3BjbV91ZnJhbWVzX3QgaHdfcHRyOwotIHNuZF9wY21fc2ZyYW1lc190IGRlbGF5OworICBzbmRfcGNtX3N0YXRlX3Qgc3RhdGU7CisgIHN0cnVjdCB0aW1lc3BlYyB0cmlnZ2VyX3RzdGFtcDsKKyAgc3RydWN0IHRpbWVzcGVjIHRzdGFtcDsKKyAgc25kX3BjbV91ZnJhbWVzX3QgYXBwbF9wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNuZF9wY21fdWZyYW1lc190IGF2YWlsOwotIHNuZF9wY21fdWZyYW1lc190IGF2YWlsX21heDsKLSBzbmRfcGNtX3VmcmFtZXNfdCBvdmVycmFuZ2U7Ci0gc25kX3BjbV9zdGF0ZV90IHN1c3BlbmRlZF9zdGF0ZTsKKyAgc25kX3BjbV91ZnJhbWVzX3QgaHdfcHRyOworICBzbmRfcGNtX3NmcmFtZXNfdCBkZWxheTsKKyAgc25kX3BjbV91ZnJhbWVzX3QgYXZhaWw7CisgIHNuZF9wY21fdWZyYW1lc190IGF2YWlsX21heDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmVzZXJ2ZWRfYWxpZ25tZW50OwotIHN0cnVjdCB0aW1lc3BlYyBhdWRpb190c3RhbXA7Ci0gdW5zaWduZWQgY2hhciByZXNlcnZlZFs1Ni1zaXplb2Yoc3RydWN0IHRpbWVzcGVjKV07CisgIHNuZF9wY21fdWZyYW1lc190IG92ZXJyYW5nZTsKKyAgc25kX3BjbV9zdGF0ZV90IHN1c3BlbmRlZF9zdGF0ZTsKKyAgX191MzIgcmVzZXJ2ZWRfYWxpZ25tZW50OworICBzdHJ1Y3QgdGltZXNwZWMgYXVkaW9fdHN0YW1wOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFs1NiAtIHNpemVvZihzdHJ1Y3QgdGltZXNwZWMpXTsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9wY21fbW1hcF9zdGF0dXMgewotIHNuZF9wY21fc3RhdGVfdCBzdGF0ZTsKLSBpbnQgcGFkMTsKLSBzbmRfcGNtX3VmcmFtZXNfdCBod19wdHI7CisgIHNuZF9wY21fc3RhdGVfdCBzdGF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHRpbWVzcGVjIHRzdGFtcDsKLSBzbmRfcGNtX3N0YXRlX3Qgc3VzcGVuZGVkX3N0YXRlOwotIHN0cnVjdCB0aW1lc3BlYyBhdWRpb190c3RhbXA7CisgIGludCBwYWQxOworICBzbmRfcGNtX3VmcmFtZXNfdCBod19wdHI7CisgIHN0cnVjdCB0aW1lc3BlYyB0c3RhbXA7CisgIHNuZF9wY21fc3RhdGVfdCBzdXNwZW5kZWRfc3RhdGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3QgdGltZXNwZWMgYXVkaW9fdHN0YW1wOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX3BjbV9tbWFwX2NvbnRyb2wgewotIHNuZF9wY21fdWZyYW1lc190IGFwcGxfcHRyOwotIHNuZF9wY21fdWZyYW1lc190IGF2YWlsX21pbjsKLX07CisgIHNuZF9wY21fdWZyYW1lc190IGFwcGxfcHRyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfUENNX1NZTkNfUFRSX0hXU1lOQyAoMTw8MCkKLSNkZWZpbmUgU05EUlZfUENNX1NZTkNfUFRSX0FQUEwgKDE8PDEpCi0jZGVmaW5lIFNORFJWX1BDTV9TWU5DX1BUUl9BVkFJTF9NSU4gKDE8PDIpCisgIHNuZF9wY21fdWZyYW1lc190IGF2YWlsX21pbjsKK307CisjZGVmaW5lIFNORFJWX1BDTV9TWU5DX1BUUl9IV1NZTkMgKDEgPDwgMCkKKyNkZWZpbmUgU05EUlZfUENNX1NZTkNfUFRSX0FQUEwgKDEgPDwgMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNORFJWX1BDTV9TWU5DX1BUUl9BVkFJTF9NSU4gKDEgPDwgMikKIHN0cnVjdCBzbmRfcGNtX3N5bmNfcHRyIHsKKyAgdW5zaWduZWQgaW50IGZsYWdzOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBmbGFnczsKLSB1bmlvbiB7Ci0gc3RydWN0IHNuZF9wY21fbW1hcF9zdGF0dXMgc3RhdHVzOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNjRdOworICAgIHN0cnVjdCBzbmRfcGNtX21tYXBfc3RhdHVzIHN0YXR1czsKKyAgICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0XTsKKyAgfSBzOworICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gczsKLSB1bmlvbiB7Ci0gc3RydWN0IHNuZF9wY21fbW1hcF9jb250cm9sIGNvbnRyb2w7Ci0gdW5zaWduZWQgY2hhciByZXNlcnZlZFs2NF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIH0gYzsKKyAgICBzdHJ1Y3Qgc25kX3BjbV9tbWFwX2NvbnRyb2wgY29udHJvbDsKKyAgICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0XTsKKyAgfSBjOwogfTsKLXN0cnVjdCBzbmRfeGZlcmkgewotIHNuZF9wY21fc2ZyYW1lc190IHJlc3VsdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdm9pZCBfX3VzZXIgKmJ1ZjsKLSBzbmRfcGNtX3VmcmFtZXNfdCBmcmFtZXM7CitzdHJ1Y3Qgc25kX3hmZXJpIHsKKyAgc25kX3BjbV9zZnJhbWVzX3QgcmVzdWx0OworICB2b2lkIF9fdXNlciAqIGJ1ZjsKKyAgc25kX3BjbV91ZnJhbWVzX3QgZnJhbWVzOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc25kX3hmZXJuIHsKKyAgc25kX3BjbV9zZnJhbWVzX3QgcmVzdWx0OworICB2b2lkIF9fdXNlciAqIF9fdXNlciAqIGJ1ZnM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNuZF9wY21fc2ZyYW1lc190IHJlc3VsdDsKLSB2b2lkIF9fdXNlciAqIF9fdXNlciAqYnVmczsKLSBzbmRfcGNtX3VmcmFtZXNfdCBmcmFtZXM7CisgIHNuZF9wY21fdWZyYW1lc190IGZyYW1lczsKK307CitlbnVtIHsKKyAgU05EUlZfUENNX1RTVEFNUF9UWVBFX0dFVFRJTUVPRkRBWSA9IDAsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTTkRSVl9QQ01fVFNUQU1QX1RZUEVfTU9OT1RPTklDLAorICBTTkRSVl9QQ01fVFNUQU1QX1RZUEVfTU9OT1RPTklDX1JBVywKKyAgU05EUlZfUENNX1RTVEFNUF9UWVBFX0xBU1QgPSBTTkRSVl9QQ01fVFNUQU1QX1RZUEVfTU9OT1RPTklDX1JBVywKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSB7Ci0gU05EUlZfUENNX1RTVEFNUF9UWVBFX0dFVFRJTUVPRkRBWSA9IDAsCi0gU05EUlZfUENNX1RTVEFNUF9UWVBFX01PTk9UT05JQywKLSBTTkRSVl9QQ01fVFNUQU1QX1RZUEVfTEFTVCA9IFNORFJWX1BDTV9UU1RBTVBfVFlQRV9NT05PVE9OSUMsCisgIFNORFJWX0NITUFQX1VOS05PV04gPSAwLAorICBTTkRSVl9DSE1BUF9OQSwKKyAgU05EUlZfQ0hNQVBfTU9OTywKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNORFJWX0NITUFQX0ZMLAorICBTTkRSVl9DSE1BUF9GUiwKKyAgU05EUlZfQ0hNQVBfUkwsCisgIFNORFJWX0NITUFQX1JSLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU05EUlZfQ0hNQVBfRkMsCisgIFNORFJWX0NITUFQX0xGRSwKKyAgU05EUlZfQ0hNQVBfU0wsCisgIFNORFJWX0NITUFQX1NSLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU05EUlZfQ0hNQVBfUkMsCisgIFNORFJWX0NITUFQX0ZMQywKKyAgU05EUlZfQ0hNQVBfRlJDLAorICBTTkRSVl9DSE1BUF9STEMsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTTkRSVl9DSE1BUF9SUkMsCisgIFNORFJWX0NITUFQX0ZMVywKKyAgU05EUlZfQ0hNQVBfRlJXLAorICBTTkRSVl9DSE1BUF9GTEgsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTTkRSVl9DSE1BUF9GQ0gsCisgIFNORFJWX0NITUFQX0ZSSCwKKyAgU05EUlZfQ0hNQVBfVEMsCisgIFNORFJWX0NITUFQX1RGTCwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNORFJWX0NITUFQX1RGUiwKKyAgU05EUlZfQ0hNQVBfVEZDLAorICBTTkRSVl9DSE1BUF9UUkwsCisgIFNORFJWX0NITUFQX1RSUiwKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNORFJWX0NITUFQX1RSQywKKyAgU05EUlZfQ0hNQVBfVEZMQywKKyAgU05EUlZfQ0hNQVBfVEZSQywKKyAgU05EUlZfQ0hNQVBfVFNMLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU05EUlZfQ0hNQVBfVFNSLAorICBTTkRSVl9DSE1BUF9MTEZFLAorICBTTkRSVl9DSE1BUF9STEZFLAorICBTTkRSVl9DSE1BUF9CQywKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIFNORFJWX0NITUFQX0JMQywKKyAgU05EUlZfQ0hNQVBfQlJDLAorICBTTkRSVl9DSE1BUF9MQVNUID0gU05EUlZfQ0hNQVBfQlJDLAogfTsKLWVudW0gewotIFNORFJWX0NITUFQX1VOS05PV04gPSAwLAotIFNORFJWX0NITUFQX05BLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9DSE1BUF9NT05PLAotIFNORFJWX0NITUFQX0ZMLAotIFNORFJWX0NITUFQX0ZSLAotIFNORFJWX0NITUFQX1JMLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9DSE1BUF9SUiwKLSBTTkRSVl9DSE1BUF9GQywKLSBTTkRSVl9DSE1BUF9MRkUsCi0gU05EUlZfQ0hNQVBfU0wsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX0NITUFQX1NSLAotIFNORFJWX0NITUFQX1JDLAotIFNORFJWX0NITUFQX0ZMQywKLSBTTkRSVl9DSE1BUF9GUkMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX0NITUFQX1JMQywKLSBTTkRSVl9DSE1BUF9SUkMsCi0gU05EUlZfQ0hNQVBfRkxXLAotIFNORFJWX0NITUFQX0ZSVywKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfQ0hNQVBfRkxILAotIFNORFJWX0NITUFQX0ZDSCwKLSBTTkRSVl9DSE1BUF9GUkgsCi0gU05EUlZfQ0hNQVBfVEMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX0NITUFQX1RGTCwKLSBTTkRSVl9DSE1BUF9URlIsCi0gU05EUlZfQ0hNQVBfVEZDLAotIFNORFJWX0NITUFQX1RSTCwKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfQ0hNQVBfVFJSLAotIFNORFJWX0NITUFQX1RSQywKLSBTTkRSVl9DSE1BUF9URkxDLAotIFNORFJWX0NITUFQX1RGUkMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX0NITUFQX1RTTCwKLSBTTkRSVl9DSE1BUF9UU1IsCi0gU05EUlZfQ0hNQVBfTExGRSwKLSBTTkRSVl9DSE1BUF9STEZFLAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9DSE1BUF9CQywKLSBTTkRSVl9DSE1BUF9CTEMsCi0gU05EUlZfQ0hNQVBfQlJDLAotIFNORFJWX0NITUFQX0xBU1QgPSBTTkRSVl9DSE1BUF9CUkMsCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKICNkZWZpbmUgU05EUlZfQ0hNQVBfUE9TSVRJT05fTUFTSyAweGZmZmYKICNkZWZpbmUgU05EUlZfQ0hNQVBfUEhBU0VfSU5WRVJTRSAoMHgwMSA8PCAxNikKICNkZWZpbmUgU05EUlZfQ0hNQVBfRFJJVkVSX1NQRUMgKDB4MDIgPDwgMTYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfUFZFUlNJT04gX0lPUignQScsIDB4MDAsIGludCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9JTkZPIF9JT1IoJ0EnLCAweDAxLCBzdHJ1Y3Qgc25kX3BjbV9pbmZvKQogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfVFNUQU1QIF9JT1coJ0EnLCAweDAyLCBpbnQpCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9UVFNUQU1QIF9JT1coJ0EnLCAweDAzLCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfSFdfUkVGSU5FIF9JT1dSKCdBJywgMHgxMCwgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX0hXX1BBUkFNUyBfSU9XUignQScsIDB4MTEsIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcykKICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX0hXX0ZSRUUgX0lPKCdBJywgMHgxMikKICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX1NXX1BBUkFNUyBfSU9XUignQScsIDB4MTMsIHN0cnVjdCBzbmRfcGNtX3N3X3BhcmFtcykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9TVEFUVVMgX0lPUignQScsIDB4MjAsIHN0cnVjdCBzbmRfcGNtX3N0YXR1cykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9ERUxBWSBfSU9SKCdBJywgMHgyMSwgc25kX3BjbV9zZnJhbWVzX3QpCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9IV1NZTkMgX0lPKCdBJywgMHgyMikKICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX1NZTkNfUFRSIF9JT1dSKCdBJywgMHgyMywgc3RydWN0IHNuZF9wY21fc3luY19wdHIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfQ0hBTk5FTF9JTkZPIF9JT1IoJ0EnLCAweDMyLCBzdHJ1Y3Qgc25kX3BjbV9jaGFubmVsX2luZm8pCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfUFJFUEFSRSBfSU8oJ0EnLCAweDQwKQogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfUkVTRVQgX0lPKCdBJywgMHg0MSkKICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX1NUQVJUIF9JTygnQScsIDB4NDIpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfRFJPUCBfSU8oJ0EnLCAweDQzKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX0RSQUlOIF9JTygnQScsIDB4NDQpCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9QQVVTRSBfSU9XKCdBJywgMHg0NSwgaW50KQogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfUkVXSU5EIF9JT1coJ0EnLCAweDQ2LCBzbmRfcGNtX3VmcmFtZXNfdCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9SRVNVTUUgX0lPKCdBJywgMHg0NykKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9YUlVOIF9JTygnQScsIDB4NDgpCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9GT1JXQVJEIF9JT1coJ0EnLCAweDQ5LCBzbmRfcGNtX3VmcmFtZXNfdCkKICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX1dSSVRFSV9GUkFNRVMgX0lPVygnQScsIDB4NTAsIHN0cnVjdCBzbmRfeGZlcmkpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfUkVBRElfRlJBTUVTIF9JT1IoJ0EnLCAweDUxLCBzdHJ1Y3Qgc25kX3hmZXJpKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUENNX0lPQ1RMX1dSSVRFTl9GUkFNRVMgX0lPVygnQScsIDB4NTIsIHN0cnVjdCBzbmRfeGZlcm4pCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9SRUFETl9GUkFNRVMgX0lPUignQScsIDB4NTMsIHN0cnVjdCBzbmRfeGZlcm4pCiAjZGVmaW5lIFNORFJWX1BDTV9JT0NUTF9MSU5LIF9JT1coJ0EnLCAweDYwLCBpbnQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9QQ01fSU9DVExfVU5MSU5LIF9JTygnQScsIDB4NjEpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9SQVdNSURJX1ZFUlNJT04gU05EUlZfUFJPVE9DT0xfVkVSU0lPTigyLCAwLCAwKQogZW51bSB7Ci0gU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVUID0gMCwKKyAgU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVUID0gMCwKKyAgU05EUlZfUkFXTUlESV9TVFJFQU1fSU5QVVQsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX1JBV01JRElfU1RSRUFNX0lOUFVULAotIFNORFJWX1JBV01JRElfU1RSRUFNX0xBU1QgPSBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVCwKKyAgU05EUlZfUkFXTUlESV9TVFJFQU1fTEFTVCA9IFNORFJWX1JBV01JRElfU1RSRUFNX0lOUFVULAogfTsKICNkZWZpbmUgU05EUlZfUkFXTUlESV9JTkZPX09VVFBVVCAweDAwMDAwMDAxCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9SQVdNSURJX0lORk9fSU5QVVQgMHgwMDAwMDAwMgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUkFXTUlESV9JTkZPX0RVUExFWCAweDAwMDAwMDA0CiBzdHJ1Y3Qgc25kX3Jhd21pZGlfaW5mbyB7Ci0gdW5zaWduZWQgaW50IGRldmljZTsKKyAgdW5zaWduZWQgaW50IGRldmljZTsKKyAgdW5zaWduZWQgaW50IHN1YmRldmljZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN1YmRldmljZTsKLSBpbnQgc3RyZWFtOwotIGludCBjYXJkOwotIHVuc2lnbmVkIGludCBmbGFnczsKKyAgaW50IHN0cmVhbTsKKyAgaW50IGNhcmQ7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgdW5zaWduZWQgY2hhciBpZFs2NF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgaWRbNjRdOwotIHVuc2lnbmVkIGNoYXIgbmFtZVs4MF07Ci0gdW5zaWduZWQgY2hhciBzdWJuYW1lWzMyXTsKLSB1bnNpZ25lZCBpbnQgc3ViZGV2aWNlc19jb3VudDsKKyAgdW5zaWduZWQgY2hhciBuYW1lWzgwXTsKKyAgdW5zaWduZWQgY2hhciBzdWJuYW1lWzMyXTsKKyAgdW5zaWduZWQgaW50IHN1YmRldmljZXNfY291bnQ7CisgIHVuc2lnbmVkIGludCBzdWJkZXZpY2VzX2F2YWlsOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3ViZGV2aWNlc19hdmFpbDsKLSB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0XTsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFs2NF07CiB9Owogc3RydWN0IHNuZF9yYXdtaWRpX3BhcmFtcyB7CisgIGludCBzdHJlYW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBzdHJlYW07Ci0gc2l6ZV90IGJ1ZmZlcl9zaXplOwotIHNpemVfdCBhdmFpbF9taW47Ci0gdW5zaWduZWQgaW50IG5vX2FjdGl2ZV9zZW5zaW5nOiAxOworICBzaXplX3QgYnVmZmVyX3NpemU7CisgIHNpemVfdCBhdmFpbF9taW47CisgIHVuc2lnbmVkIGludCBub19hY3RpdmVfc2Vuc2luZyA6IDE7CisgIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbMTZdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzE2XTsKIH07CiBzdHJ1Y3Qgc25kX3Jhd21pZGlfc3RhdHVzIHsKLSBpbnQgc3RyZWFtOworICBpbnQgc3RyZWFtOworICBzdHJ1Y3QgdGltZXNwZWMgdHN0YW1wOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgdGltZXNwZWMgdHN0YW1wOwotIHNpemVfdCBhdmFpbDsKLSBzaXplX3QgeHJ1bnM7Ci0gdW5zaWduZWQgY2hhciByZXNlcnZlZFsxNl07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzaXplX3QgYXZhaWw7CisgIHNpemVfdCB4cnVuczsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFsxNl07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfUkFXTUlESV9JT0NUTF9QVkVSU0lPTiBfSU9SKCdXJywgMHgwMCwgaW50KQogI2RlZmluZSBTTkRSVl9SQVdNSURJX0lPQ1RMX0lORk8gX0lPUignVycsIDB4MDEsIHN0cnVjdCBzbmRfcmF3bWlkaV9pbmZvKQogI2RlZmluZSBTTkRSVl9SQVdNSURJX0lPQ1RMX1BBUkFNUyBfSU9XUignVycsIDB4MTAsIHN0cnVjdCBzbmRfcmF3bWlkaV9wYXJhbXMpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9SQVdNSURJX0lPQ1RMX1NUQVRVUyBfSU9XUignVycsIDB4MjAsIHN0cnVjdCBzbmRfcmF3bWlkaV9zdGF0dXMpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9SQVdNSURJX0lPQ1RMX0RST1AgX0lPVygnVycsIDB4MzAsIGludCkKICNkZWZpbmUgU05EUlZfUkFXTUlESV9JT0NUTF9EUkFJTiBfSU9XKCdXJywgMHgzMSwgaW50KQogI2RlZmluZSBTTkRSVl9USU1FUl9WRVJTSU9OIFNORFJWX1BST1RPQ09MX1ZFUlNJT04oMiwgMCwgNikKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIHsKLSBTTkRSVl9USU1FUl9DTEFTU19OT05FID0gLTEsCi0gU05EUlZfVElNRVJfQ0xBU1NfU0xBVkUgPSAwLAotIFNORFJWX1RJTUVSX0NMQVNTX0dMT0JBTCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfVElNRVJfQ0xBU1NfQ0FSRCwKLSBTTkRSVl9USU1FUl9DTEFTU19QQ00sCi0gU05EUlZfVElNRVJfQ0xBU1NfTEFTVCA9IFNORFJWX1RJTUVSX0NMQVNTX1BDTSwKKyAgU05EUlZfVElNRVJfQ0xBU1NfTk9ORSA9IC0gMSwKKyAgU05EUlZfVElNRVJfQ0xBU1NfU0xBVkUgPSAwLAorICBTTkRSVl9USU1FUl9DTEFTU19HTE9CQUwsCisgIFNORFJWX1RJTUVSX0NMQVNTX0NBUkQsCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBTTkRSVl9USU1FUl9DTEFTU19QQ00sCisgIFNORFJWX1RJTUVSX0NMQVNTX0xBU1QgPSBTTkRSVl9USU1FUl9DTEFTU19QQ00sCiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gewotIFNORFJWX1RJTUVSX1NDTEFTU19OT05FID0gMCwKLSBTTkRSVl9USU1FUl9TQ0xBU1NfQVBQTElDQVRJT04sCi0gU05EUlZfVElNRVJfU0NMQVNTX1NFUVVFTkNFUiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfVElNRVJfU0NMQVNTX09TU19TRVFVRU5DRVIsCi0gU05EUlZfVElNRVJfU0NMQVNTX0xBU1QgPSBTTkRSVl9USU1FUl9TQ0xBU1NfT1NTX1NFUVVFTkNFUiwKKyAgU05EUlZfVElNRVJfU0NMQVNTX05PTkUgPSAwLAorICBTTkRSVl9USU1FUl9TQ0xBU1NfQVBQTElDQVRJT04sCisgIFNORFJWX1RJTUVSX1NDTEFTU19TRVFVRU5DRVIsCisgIFNORFJWX1RJTUVSX1NDTEFTU19PU1NfU0VRVUVOQ0VSLAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgU05EUlZfVElNRVJfU0NMQVNTX0xBU1QgPSBTTkRSVl9USU1FUl9TQ0xBU1NfT1NTX1NFUVVFTkNFUiwKIH07CiAjZGVmaW5lIFNORFJWX1RJTUVSX0dMT0JBTF9TWVNURU0gMAotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfVElNRVJfR0xPQkFMX1JUQyAxCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9USU1FUl9HTE9CQUxfSFBFVCAyCiAjZGVmaW5lIFNORFJWX1RJTUVSX0dMT0JBTF9IUlRJTUVSIDMKLSNkZWZpbmUgU05EUlZfVElNRVJfRkxHX1NMQVZFICgxPDwwKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfVElNRVJfRkxHX1NMQVZFICgxIDw8IDApCiBzdHJ1Y3Qgc25kX3RpbWVyX2lkIHsKLSBpbnQgZGV2X2NsYXNzOwotIGludCBkZXZfc2NsYXNzOwotIGludCBjYXJkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgZGV2aWNlOwotIGludCBzdWJkZXZpY2U7CisgIGludCBkZXZfY2xhc3M7CisgIGludCBkZXZfc2NsYXNzOworICBpbnQgY2FyZDsKKyAgaW50IGRldmljZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBzdWJkZXZpY2U7CiB9Owogc3RydWN0IHNuZF90aW1lcl9naW5mbyB7CisgIHN0cnVjdCBzbmRfdGltZXJfaWQgdGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3Qgc25kX3RpbWVyX2lkIHRpZDsKLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gaW50IGNhcmQ7Ci0gdW5zaWduZWQgY2hhciBpZFs2NF07CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgaW50IGNhcmQ7CisgIHVuc2lnbmVkIGNoYXIgaWRbNjRdOworICB1bnNpZ25lZCBjaGFyIG5hbWVbODBdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIG5hbWVbODBdOwotIHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWQwOwotIHVuc2lnbmVkIGxvbmcgcmVzb2x1dGlvbjsKLSB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fbWluOworICB1bnNpZ25lZCBsb25nIHJlc2VydmVkMDsKKyAgdW5zaWduZWQgbG9uZyByZXNvbHV0aW9uOworICB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fbWluOworICB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fbWF4OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fbWF4OwotIHVuc2lnbmVkIGludCBjbGllbnRzOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbMzJdOworICB1bnNpZ25lZCBpbnQgY2xpZW50czsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFszMl07CiB9OwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzbmRfdGltZXJfZ3BhcmFtcyB7Ci0gc3RydWN0IHNuZF90aW1lcl9pZCB0aWQ7Ci0gdW5zaWduZWQgbG9uZyBwZXJpb2RfbnVtOwotIHVuc2lnbmVkIGxvbmcgcGVyaW9kX2RlbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciByZXNlcnZlZFszMl07CisgIHN0cnVjdCBzbmRfdGltZXJfaWQgdGlkOworICB1bnNpZ25lZCBsb25nIHBlcmlvZF9udW07CisgIHVuc2lnbmVkIGxvbmcgcGVyaW9kX2RlbjsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFszMl07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzbmRfdGltZXJfZ3N0YXR1cyB7Ci0gc3RydWN0IHNuZF90aW1lcl9pZCB0aWQ7CisgIHN0cnVjdCBzbmRfdGltZXJfaWQgdGlkOworICB1bnNpZ25lZCBsb25nIHJlc29sdXRpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGxvbmcgcmVzb2x1dGlvbjsKLSB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fbnVtOwotIHVuc2lnbmVkIGxvbmcgcmVzb2x1dGlvbl9kZW47Ci0gdW5zaWduZWQgY2hhciByZXNlcnZlZFszMl07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fbnVtOworICB1bnNpZ25lZCBsb25nIHJlc29sdXRpb25fZGVuOworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzMyXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF90aW1lcl9zZWxlY3QgewotIHN0cnVjdCBzbmRfdGltZXJfaWQgaWQ7Ci0gdW5zaWduZWQgY2hhciByZXNlcnZlZFszMl07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3Qgc25kX3RpbWVyX2lkIGlkOworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzMyXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF90aW1lcl9pbmZvIHsKLSB1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0gaW50IGNhcmQ7CisgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgaW50IGNhcmQ7CisgIHVuc2lnbmVkIGNoYXIgaWRbNjRdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGlkWzY0XTsKLSB1bnNpZ25lZCBjaGFyIG5hbWVbODBdOwotIHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWQwOwotIHVuc2lnbmVkIGxvbmcgcmVzb2x1dGlvbjsKKyAgdW5zaWduZWQgY2hhciBuYW1lWzgwXTsKKyAgdW5zaWduZWQgbG9uZyByZXNlcnZlZDA7CisgIHVuc2lnbmVkIGxvbmcgcmVzb2x1dGlvbjsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFs2NF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNjRdOwogfTsKLSNkZWZpbmUgU05EUlZfVElNRVJfUFNGTEdfQVVUTyAoMTw8MCkKLSNkZWZpbmUgU05EUlZfVElNRVJfUFNGTEdfRVhDTFVTSVZFICgxPDwxKQorI2RlZmluZSBTTkRSVl9USU1FUl9QU0ZMR19BVVRPICgxIDw8IDApCisjZGVmaW5lIFNORFJWX1RJTUVSX1BTRkxHX0VYQ0xVU0lWRSAoMSA8PCAxKQorI2RlZmluZSBTTkRSVl9USU1FUl9QU0ZMR19FQVJMWV9FVkVOVCAoMSA8PCAyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfVElNRVJfUFNGTEdfRUFSTFlfRVZFTlQgKDE8PDIpCiBzdHJ1Y3Qgc25kX3RpbWVyX3BhcmFtcyB7Ci0gdW5zaWduZWQgaW50IGZsYWdzOwotIHVuc2lnbmVkIGludCB0aWNrczsKKyAgdW5zaWduZWQgaW50IGZsYWdzOworICB1bnNpZ25lZCBpbnQgdGlja3M7CisgIHVuc2lnbmVkIGludCBxdWV1ZV9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcXVldWVfc2l6ZTsKLSB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQwOwotIHVuc2lnbmVkIGludCBmaWx0ZXI7Ci0gdW5zaWduZWQgY2hhciByZXNlcnZlZFs2MF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQwOworICB1bnNpZ25lZCBpbnQgZmlsdGVyOworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzYwXTsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF90aW1lcl9zdGF0dXMgewotIHN0cnVjdCB0aW1lc3BlYyB0c3RhbXA7Ci0gdW5zaWduZWQgaW50IHJlc29sdXRpb247CisgIHN0cnVjdCB0aW1lc3BlYyB0c3RhbXA7CisgIHVuc2lnbmVkIGludCByZXNvbHV0aW9uOworICB1bnNpZ25lZCBpbnQgbG9zdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGxvc3Q7Ci0gdW5zaWduZWQgaW50IG92ZXJydW47Ci0gdW5zaWduZWQgaW50IHF1ZXVlOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNjRdOwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IG92ZXJydW47CisgIHVuc2lnbmVkIGludCBxdWV1ZTsKKyAgdW5zaWduZWQgY2hhciByZXNlcnZlZFs2NF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfUFZFUlNJT04gX0lPUignVCcsIDB4MDAsIGludCkKICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfTkVYVF9ERVZJQ0UgX0lPV1IoJ1QnLCAweDAxLCBzdHJ1Y3Qgc25kX3RpbWVyX2lkKQogI2RlZmluZSBTTkRSVl9USU1FUl9JT0NUTF9UUkVBRCBfSU9XKCdUJywgMHgwMiwgaW50KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfR0lORk8gX0lPV1IoJ1QnLCAweDAzLCBzdHJ1Y3Qgc25kX3RpbWVyX2dpbmZvKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfR1BBUkFNUyBfSU9XKCdUJywgMHgwNCwgc3RydWN0IHNuZF90aW1lcl9ncGFyYW1zKQogI2RlZmluZSBTTkRSVl9USU1FUl9JT0NUTF9HU1RBVFVTIF9JT1dSKCdUJywgMHgwNSwgc3RydWN0IHNuZF90aW1lcl9nc3RhdHVzKQogI2RlZmluZSBTTkRSVl9USU1FUl9JT0NUTF9TRUxFQ1QgX0lPVygnVCcsIDB4MTAsIHN0cnVjdCBzbmRfdGltZXJfc2VsZWN0KQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfSU5GTyBfSU9SKCdUJywgMHgxMSwgc3RydWN0IHNuZF90aW1lcl9pbmZvKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfUEFSQU1TIF9JT1coJ1QnLCAweDEyLCBzdHJ1Y3Qgc25kX3RpbWVyX3BhcmFtcykKICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfU1RBVFVTIF9JT1IoJ1QnLCAweDE0LCBzdHJ1Y3Qgc25kX3RpbWVyX3N0YXR1cykKICNkZWZpbmUgU05EUlZfVElNRVJfSU9DVExfU1RBUlQgX0lPKCdUJywgMHhhMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1RJTUVSX0lPQ1RMX1NUT1AgX0lPKCdUJywgMHhhMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1RJTUVSX0lPQ1RMX0NPTlRJTlVFIF9JTygnVCcsIDB4YTIpCiAjZGVmaW5lIFNORFJWX1RJTUVSX0lPQ1RMX1BBVVNFIF9JTygnVCcsIDB4YTMpCiBzdHJ1Y3Qgc25kX3RpbWVyX3JlYWQgeworICB1bnNpZ25lZCBpbnQgcmVzb2x1dGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHJlc29sdXRpb247Ci0gdW5zaWduZWQgaW50IHRpY2tzOworICB1bnNpZ25lZCBpbnQgdGlja3M7CiB9OwogZW51bSB7CisgIFNORFJWX1RJTUVSX0VWRU5UX1JFU09MVVRJT04gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9USU1FUl9FVkVOVF9SRVNPTFVUSU9OID0gMCwKLSBTTkRSVl9USU1FUl9FVkVOVF9USUNLLAotIFNORFJWX1RJTUVSX0VWRU5UX1NUQVJULAotIFNORFJWX1RJTUVSX0VWRU5UX1NUT1AsCisgIFNORFJWX1RJTUVSX0VWRU5UX1RJQ0ssCisgIFNORFJWX1RJTUVSX0VWRU5UX1NUQVJULAorICBTTkRSVl9USU1FUl9FVkVOVF9TVE9QLAorICBTTkRSVl9USU1FUl9FVkVOVF9DT05USU5VRSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EUlZfVElNRVJfRVZFTlRfQ09OVElOVUUsCi0gU05EUlZfVElNRVJfRVZFTlRfUEFVU0UsCi0gU05EUlZfVElNRVJfRVZFTlRfRUFSTFksCi0gU05EUlZfVElNRVJfRVZFTlRfU1VTUEVORCwKKyAgU05EUlZfVElNRVJfRVZFTlRfUEFVU0UsCisgIFNORFJWX1RJTUVSX0VWRU5UX0VBUkxZLAorICBTTkRSVl9USU1FUl9FVkVOVF9TVVNQRU5ELAorICBTTkRSVl9USU1FUl9FVkVOVF9SRVNVTUUsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFNORFJWX1RJTUVSX0VWRU5UX1JFU1VNRSwKLSBTTkRSVl9USU1FUl9FVkVOVF9NU1RBUlQgPSBTTkRSVl9USU1FUl9FVkVOVF9TVEFSVCArIDEwLAotIFNORFJWX1RJTUVSX0VWRU5UX01TVE9QID0gU05EUlZfVElNRVJfRVZFTlRfU1RPUCArIDEwLAotIFNORFJWX1RJTUVSX0VWRU5UX01DT05USU5VRSA9IFNORFJWX1RJTUVSX0VWRU5UX0NPTlRJTlVFICsgMTAsCisgIFNORFJWX1RJTUVSX0VWRU5UX01TVEFSVCA9IFNORFJWX1RJTUVSX0VWRU5UX1NUQVJUICsgMTAsCisgIFNORFJWX1RJTUVSX0VWRU5UX01TVE9QID0gU05EUlZfVElNRVJfRVZFTlRfU1RPUCArIDEwLAorICBTTkRSVl9USU1FUl9FVkVOVF9NQ09OVElOVUUgPSBTTkRSVl9USU1FUl9FVkVOVF9DT05USU5VRSArIDEwLAorICBTTkRSVl9USU1FUl9FVkVOVF9NUEFVU0UgPSBTTkRSVl9USU1FUl9FVkVOVF9QQVVTRSArIDEwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9USU1FUl9FVkVOVF9NUEFVU0UgPSBTTkRSVl9USU1FUl9FVkVOVF9QQVVTRSArIDEwLAotIFNORFJWX1RJTUVSX0VWRU5UX01TVVNQRU5EID0gU05EUlZfVElNRVJfRVZFTlRfU1VTUEVORCArIDEwLAotIFNORFJWX1RJTUVSX0VWRU5UX01SRVNVTUUgPSBTTkRSVl9USU1FUl9FVkVOVF9SRVNVTUUgKyAxMCwKKyAgU05EUlZfVElNRVJfRVZFTlRfTVNVU1BFTkQgPSBTTkRSVl9USU1FUl9FVkVOVF9TVVNQRU5EICsgMTAsCisgIFNORFJWX1RJTUVSX0VWRU5UX01SRVNVTUUgPSBTTkRSVl9USU1FUl9FVkVOVF9SRVNVTUUgKyAxMCwKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF90aW1lcl90cmVhZCB7Ci0gaW50IGV2ZW50OwotIHN0cnVjdCB0aW1lc3BlYyB0c3RhbXA7Ci0gdW5zaWduZWQgaW50IHZhbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGludCBldmVudDsKKyAgc3RydWN0IHRpbWVzcGVjIHRzdGFtcDsKKyAgdW5zaWduZWQgaW50IHZhbDsKIH07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfVkVSU0lPTiBTTkRSVl9QUk9UT0NPTF9WRVJTSU9OKDIsIDAsIDcpCiBzdHJ1Y3Qgc25kX2N0bF9jYXJkX2luZm8gewotIGludCBjYXJkOworICBpbnQgY2FyZDsKKyAgaW50IHBhZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IHBhZDsKLSB1bnNpZ25lZCBjaGFyIGlkWzE2XTsKLSB1bnNpZ25lZCBjaGFyIGRyaXZlclsxNl07Ci0gdW5zaWduZWQgY2hhciBuYW1lWzMyXTsKKyAgdW5zaWduZWQgY2hhciBpZFsxNl07CisgIHVuc2lnbmVkIGNoYXIgZHJpdmVyWzE2XTsKKyAgdW5zaWduZWQgY2hhciBuYW1lWzMyXTsKKyAgdW5zaWduZWQgY2hhciBsb25nbmFtZVs4MF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgbG9uZ25hbWVbODBdOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRfWzE2XTsKLSB1bnNpZ25lZCBjaGFyIG1peGVybmFtZVs4MF07Ci0gdW5zaWduZWQgY2hhciBjb21wb25lbnRzWzEyOF07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkX1sxNl07CisgIHVuc2lnbmVkIGNoYXIgbWl4ZXJuYW1lWzgwXTsKKyAgdW5zaWduZWQgY2hhciBjb21wb25lbnRzWzEyOF07CiB9OworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHR5cGVkZWYgaW50IF9fYml0d2lzZSBzbmRfY3RsX2VsZW1fdHlwZV90OwogI2RlZmluZSBTTkRSVl9DVExfRUxFTV9UWVBFX05PTkUgKChfX2ZvcmNlIHNuZF9jdGxfZWxlbV90eXBlX3QpIDApCiAjZGVmaW5lIFNORFJWX0NUTF9FTEVNX1RZUEVfQk9PTEVBTiAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX3R5cGVfdCkgMSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9FTEVNX1RZUEVfSU5URUdFUiAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX3R5cGVfdCkgMikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9FTEVNX1RZUEVfRU5VTUVSQVRFRCAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX3R5cGVfdCkgMykKICNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fVFlQRV9CWVRFUyAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX3R5cGVfdCkgNCkKICNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fVFlQRV9JRUM5NTggKChfX2ZvcmNlIHNuZF9jdGxfZWxlbV90eXBlX3QpIDUpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI2NCAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX3R5cGVfdCkgNikKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9FTEVNX1RZUEVfTEFTVCBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI2NAogdHlwZWRlZiBpbnQgX19iaXR3aXNlIHNuZF9jdGxfZWxlbV9pZmFjZV90OwogI2RlZmluZSBTTkRSVl9DVExfRUxFTV9JRkFDRV9DQVJEICgoX19mb3JjZSBzbmRfY3RsX2VsZW1faWZhY2VfdCkgMCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9FTEVNX0lGQUNFX0hXREVQICgoX19mb3JjZSBzbmRfY3RsX2VsZW1faWZhY2VfdCkgMSkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSICgoX19mb3JjZSBzbmRfY3RsX2VsZW1faWZhY2VfdCkgMikKICNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fSUZBQ0VfUENNICgoX19mb3JjZSBzbmRfY3RsX2VsZW1faWZhY2VfdCkgMykKICNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fSUZBQ0VfUkFXTUlESSAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX2lmYWNlX3QpIDQpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfRUxFTV9JRkFDRV9USU1FUiAoKF9fZm9yY2Ugc25kX2N0bF9lbGVtX2lmYWNlX3QpIDUpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfRUxFTV9JRkFDRV9TRVFVRU5DRVIgKChfX2ZvcmNlIHNuZF9jdGxfZWxlbV9pZmFjZV90KSA2KQogI2RlZmluZSBTTkRSVl9DVExfRUxFTV9JRkFDRV9MQVNUIFNORFJWX0NUTF9FTEVNX0lGQUNFX1NFUVVFTkNFUgotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRCAoMTw8MCkKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQUQgKDEgPDwgMCkKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1dSSVRFICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfV1JJVEUgKDE8PDEpCi0jZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUgKFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEfFNORFJWX0NUTF9FTEVNX0FDQ0VTU19XUklURSkKLSNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1ZPTEFUSUxFICgxPDwyKQotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVElNRVNUQU1QICgxPDwzKQorI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFIChTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRCB8IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19XUklURSkKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1ZPTEFUSUxFICgxIDw8IDIpCisjZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19USU1FU1RBTVAgKDEgPDwgMykKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1RMVl9SRUFEICgxIDw8IDQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUQgKDE8PDQpCi0jZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfV1JJVEUgKDE8PDUpCi0jZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRFdSSVRFIChTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUR8U05EUlZfQ1RMX0VMRU1fQUNDRVNTX1RMVl9XUklURSkKLSNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1RMVl9DT01NQU5EICgxPDw2KQorI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1dSSVRFICgxIDw8IDUpCisjZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRFdSSVRFIChTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUQgfCBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1dSSVRFKQorI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX0NPTU1BTkQgKDEgPDwgNikKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX0lOQUNUSVZFICgxIDw8IDgpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfSU5BQ1RJVkUgKDE8PDgpCi0jZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19MT0NLICgxPDw5KQotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfT1dORVIgKDE8PDEwKQotI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX0NBTExCQUNLICgxPDwyOCkKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX0xPQ0sgKDEgPDwgOSkKKyNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX09XTkVSICgxIDw8IDEwKQorI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX0NBTExCQUNLICgxIDw8IDI4KQorI2RlZmluZSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVVNFUiAoMSA8PCAyOSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19VU0VSICgxPDwyOSkKICNkZWZpbmUgU05EUlZfQ1RMX1BPV0VSX0QwIDB4MDAwMAogI2RlZmluZSBTTkRSVl9DVExfUE9XRVJfRDEgMHgwMTAwCiAjZGVmaW5lIFNORFJWX0NUTF9QT1dFUl9EMiAweDAyMDAKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9QT1dFUl9EMyAweDAzMDAKLSNkZWZpbmUgU05EUlZfQ1RMX1BPV0VSX0QzaG90IChTTkRSVl9DVExfUE9XRVJfRDN8MHgwMDAwKQotI2RlZmluZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkIChTTkRSVl9DVExfUE9XRVJfRDN8MHgwMDAxKQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfQ1RMX1BPV0VSX0QzaG90IChTTkRSVl9DVExfUE9XRVJfRDMgfCAweDAwMDApCisjZGVmaW5lIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQgKFNORFJWX0NUTF9QT1dFUl9EMyB8IDB4MDAwMSkKICNkZWZpbmUgU05EUlZfQ1RMX0VMRU1fSURfTkFNRV9NQVhMRU4gNDQKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkIHsKLSB1bnNpZ25lZCBpbnQgbnVtaWQ7Ci0gc25kX2N0bF9lbGVtX2lmYWNlX3QgaWZhY2U7Ci0gdW5zaWduZWQgaW50IGRldmljZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHN1YmRldmljZTsKLSB1bnNpZ25lZCBjaGFyIG5hbWVbNDRdOwotIHVuc2lnbmVkIGludCBpbmRleDsKKyAgdW5zaWduZWQgaW50IG51bWlkOworICBzbmRfY3RsX2VsZW1faWZhY2VfdCBpZmFjZTsKKyAgdW5zaWduZWQgaW50IGRldmljZTsKKyAgdW5zaWduZWQgaW50IHN1YmRldmljZTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGNoYXIgbmFtZVs0NF07CisgIHVuc2lnbmVkIGludCBpbmRleDsKIH07Ci0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9jdGxfZWxlbV9saXN0IHsKLSB1bnNpZ25lZCBpbnQgb2Zmc2V0OwotIHVuc2lnbmVkIGludCBzcGFjZTsKLSB1bnNpZ25lZCBpbnQgdXNlZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGNvdW50OwotIHN0cnVjdCBzbmRfY3RsX2VsZW1faWQgX191c2VyICpwaWRzOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNTBdOworICB1bnNpZ25lZCBpbnQgb2Zmc2V0OworICB1bnNpZ25lZCBpbnQgc3BhY2U7CisgIHVuc2lnbmVkIGludCB1c2VkOworICB1bnNpZ25lZCBpbnQgY291bnQ7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkIF9fdXNlciAqIHBpZHM7CisgIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbNTBdOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gewotIHN0cnVjdCBzbmRfY3RsX2VsZW1faWQgaWQ7Ci0gc25kX2N0bF9lbGVtX3R5cGVfdCB0eXBlOwotIHVuc2lnbmVkIGludCBhY2Nlc3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBjb3VudDsKLSBfX2tlcm5lbF9waWRfdCBvd25lcjsKLSB1bmlvbiB7Ci0gc3RydWN0IHsKKyAgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKyAgc25kX2N0bF9lbGVtX3R5cGVfdCB0eXBlOworICB1bnNpZ25lZCBpbnQgYWNjZXNzOworICB1bnNpZ25lZCBpbnQgY291bnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGxvbmcgbWluOwotIGxvbmcgbWF4OwotIGxvbmcgc3RlcDsKLSB9IGludGVnZXI7CisgIF9fa2VybmVsX3BpZF90IG93bmVyOworICB1bmlvbiB7CisgICAgc3RydWN0IHsKKyAgICAgIGxvbmcgbWluOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgewotIGxvbmcgbG9uZyBtaW47Ci0gbG9uZyBsb25nIG1heDsKLSBsb25nIGxvbmcgc3RlcDsKKyAgICAgIGxvbmcgbWF4OworICAgICAgbG9uZyBzdGVwOworICAgIH0gaW50ZWdlcjsKKyAgICBzdHJ1Y3QgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB9IGludGVnZXI2NDsKLSBzdHJ1Y3QgewotIHVuc2lnbmVkIGludCBpdGVtczsKLSB1bnNpZ25lZCBpbnQgaXRlbTsKKyAgICAgIGxvbmcgbG9uZyBtaW47CisgICAgICBsb25nIGxvbmcgbWF4OworICAgICAgbG9uZyBsb25nIHN0ZXA7CisgICAgfSBpbnRlZ2VyNjQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbmFtZVs2NF07Ci0gX191NjQgbmFtZXNfcHRyOwotIHVuc2lnbmVkIGludCBuYW1lc19sZW5ndGg7Ci0gfSBlbnVtZXJhdGVkOworICAgIHN0cnVjdCB7CisgICAgICB1bnNpZ25lZCBpbnQgaXRlbXM7CisgICAgICB1bnNpZ25lZCBpbnQgaXRlbTsKKyAgICAgIGNoYXIgbmFtZVs2NF07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbMTI4XTsKLSB9IHZhbHVlOwotIHVuaW9uIHsKLSB1bnNpZ25lZCBzaG9ydCBkWzRdOworICAgICAgX191NjQgbmFtZXNfcHRyOworICAgICAgdW5zaWduZWQgaW50IG5hbWVzX2xlbmd0aDsKKyAgICB9IGVudW1lcmF0ZWQ7CisgICAgdW5zaWduZWQgY2hhciByZXNlcnZlZFsxMjhdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCAqZF9wdHI7Ci0gfSBkaW1lbjsKLSB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0LTQqc2l6ZW9mKHVuc2lnbmVkIHNob3J0KV07CisgIH0gdmFsdWU7CisgIHVuaW9uIHsKKyAgICB1bnNpZ25lZCBzaG9ydCBkWzRdOworICAgIHVuc2lnbmVkIHNob3J0ICogZF9wdHI7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB9IGRpbWVuOworICB1bnNpZ25lZCBjaGFyIHJlc2VydmVkWzY0IC0gNCAqIHNpemVvZih1bnNpZ25lZCBzaG9ydCldOwogfTsKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlIHsKLSBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkIGlkOwotIHVuc2lnbmVkIGludCBpbmRpcmVjdDogMTsKLSB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSBsb25nIHZhbHVlWzEyOF07Ci0gbG9uZyAqdmFsdWVfcHRyOwotIH0gaW50ZWdlcjsKKyAgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKyAgdW5zaWduZWQgaW50IGluZGlyZWN0IDogMTsKKyAgdW5pb24geworICAgIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5pb24gewotIGxvbmcgbG9uZyB2YWx1ZVs2NF07Ci0gbG9uZyBsb25nICp2YWx1ZV9wdHI7Ci0gfSBpbnRlZ2VyNjQ7CisgICAgICBsb25nIHZhbHVlWzEyOF07CisgICAgICBsb25nICogdmFsdWVfcHRyOworICAgIH0gaW50ZWdlcjsKKyAgICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSB1bnNpZ25lZCBpbnQgaXRlbVsxMjhdOwotIHVuc2lnbmVkIGludCAqaXRlbV9wdHI7Ci0gfSBlbnVtZXJhdGVkOworICAgICAgbG9uZyBsb25nIHZhbHVlWzY0XTsKKyAgICAgIGxvbmcgbG9uZyAqIHZhbHVlX3B0cjsKKyAgICB9IGludGVnZXI2NDsKKyAgICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuaW9uIHsKLSB1bnNpZ25lZCBjaGFyIGRhdGFbNTEyXTsKLSB1bnNpZ25lZCBjaGFyICpkYXRhX3B0cjsKLSB9IGJ5dGVzOworICAgICAgdW5zaWduZWQgaW50IGl0ZW1bMTI4XTsKKyAgICAgIHVuc2lnbmVkIGludCAqIGl0ZW1fcHRyOworICAgIH0gZW51bWVyYXRlZDsKKyAgICB1bmlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzbmRfYWVzX2llYzk1OCBpZWM5NTg7Ci0gfSB2YWx1ZTsKLSBzdHJ1Y3QgdGltZXNwZWMgdHN0YW1wOwotIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbMTI4LXNpemVvZihzdHJ1Y3QgdGltZXNwZWMpXTsKKyAgICAgIHVuc2lnbmVkIGNoYXIgZGF0YVs1MTJdOworICAgICAgdW5zaWduZWQgY2hhciAqIGRhdGFfcHRyOworICAgIH0gYnl0ZXM7CisgICAgc3RydWN0IHNuZF9hZXNfaWVjOTU4IGllYzk1ODsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIH0gdmFsdWU7CisgIHN0cnVjdCB0aW1lc3BlYyB0c3RhbXA7CisgIHVuc2lnbmVkIGNoYXIgcmVzZXJ2ZWRbMTI4IC0gc2l6ZW9mKHN0cnVjdCB0aW1lc3BlYyldOwogfTsKLXN0cnVjdCBzbmRfY3RsX3RsdiB7Ci0gdW5zaWduZWQgaW50IG51bWlkOwotIHVuc2lnbmVkIGludCBsZW5ndGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCB0bHZbMF07CitzdHJ1Y3Qgc25kX2N0bF90bHYgeworICB1bnNpZ25lZCBpbnQgbnVtaWQ7CisgIHVuc2lnbmVkIGludCBsZW5ndGg7CisgIHVuc2lnbmVkIGludCB0bHZbMF07CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgU05EUlZfQ1RMX0lPQ1RMX1BWRVJTSU9OIF9JT1IoJ1UnLCAweDAwLCBpbnQpCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9DQVJEX0lORk8gX0lPUignVScsIDB4MDEsIHN0cnVjdCBzbmRfY3RsX2NhcmRfaW5mbykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9FTEVNX0xJU1QgX0lPV1IoJ1UnLCAweDEwLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2xpc3QpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfRUxFTV9JTkZPIF9JT1dSKCdVJywgMHgxMSwgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvKQogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfRUxFTV9SRUFEIF9JT1dSKCdVJywgMHgxMiwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSkKICNkZWZpbmUgU05EUlZfQ1RMX0lPQ1RMX0VMRU1fV1JJVEUgX0lPV1IoJ1UnLCAweDEzLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlKQotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfQ1RMX0lPQ1RMX0VMRU1fTE9DSyBfSU9XKCdVJywgMHgxNCwgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9FTEVNX1VOTE9DSyBfSU9XKCdVJywgMHgxNSwgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCkKICNkZWZpbmUgU05EUlZfQ1RMX0lPQ1RMX1NVQlNDUklCRV9FVkVOVFMgX0lPV1IoJ1UnLCAweDE2LCBpbnQpCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9FTEVNX0FERCBfSU9XUignVScsIDB4MTcsIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9FTEVNX1JFUExBQ0UgX0lPV1IoJ1UnLCAweDE4LCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8pCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfRUxFTV9SRU1PVkUgX0lPV1IoJ1UnLCAweDE5LCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkKQogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfVExWX1JFQUQgX0lPV1IoJ1UnLCAweDFhLCBzdHJ1Y3Qgc25kX2N0bF90bHYpCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9UTFZfV1JJVEUgX0lPV1IoJ1UnLCAweDFiLCBzdHJ1Y3Qgc25kX2N0bF90bHYpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfVExWX0NPTU1BTkQgX0lPV1IoJ1UnLCAweDFjLCBzdHJ1Y3Qgc25kX2N0bF90bHYpCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfSFdERVBfTkVYVF9ERVZJQ0UgX0lPV1IoJ1UnLCAweDIwLCBpbnQpCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9IV0RFUF9JTkZPIF9JT1IoJ1UnLCAweDIxLCBzdHJ1Y3Qgc25kX2h3ZGVwX2luZm8pCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9QQ01fTkVYVF9ERVZJQ0UgX0lPUignVScsIDB4MzAsIGludCkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9QQ01fSU5GTyBfSU9XUignVScsIDB4MzEsIHN0cnVjdCBzbmRfcGNtX2luZm8pCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfSU9DVExfUENNX1BSRUZFUl9TVUJERVZJQ0UgX0lPVygnVScsIDB4MzIsIGludCkKICNkZWZpbmUgU05EUlZfQ1RMX0lPQ1RMX1JBV01JRElfTkVYVF9ERVZJQ0UgX0lPV1IoJ1UnLCAweDQwLCBpbnQpCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9SQVdNSURJX0lORk8gX0lPV1IoJ1UnLCAweDQxLCBzdHJ1Y3Qgc25kX3Jhd21pZGlfaW5mbykKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9SQVdNSURJX1BSRUZFUl9TVUJERVZJQ0UgX0lPVygnVScsIDB4NDIsIGludCkKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9JT0NUTF9QT1dFUiBfSU9XUignVScsIDB4ZDAsIGludCkKICNkZWZpbmUgU05EUlZfQ1RMX0lPQ1RMX1BPV0VSX1NUQVRFIF9JT1IoJ1UnLCAweGQxLCBpbnQpCiBlbnVtIHNuZHJ2X2N0bF9ldmVudF90eXBlIHsKKyAgU05EUlZfQ1RMX0VWRU5UX0VMRU0gPSAwLAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBTTkRSVl9DVExfRVZFTlRfRUxFTSA9IDAsCi0gU05EUlZfQ1RMX0VWRU5UX0xBU1QgPSBTTkRSVl9DVExfRVZFTlRfRUxFTSwKKyAgU05EUlZfQ1RMX0VWRU5UX0xBU1QgPSBTTkRSVl9DVExfRVZFTlRfRUxFTSwKIH07Ci0jZGVmaW5lIFNORFJWX0NUTF9FVkVOVF9NQVNLX1ZBTFVFICgxPDwwKQorI2RlZmluZSBTTkRSVl9DVExfRVZFTlRfTUFTS19WQUxVRSAoMSA8PCAwKQorI2RlZmluZSBTTkRSVl9DVExfRVZFTlRfTUFTS19JTkZPICgxIDw8IDEpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9DVExfRVZFTlRfTUFTS19JTkZPICgxPDwxKQotI2RlZmluZSBTTkRSVl9DVExfRVZFTlRfTUFTS19BREQgKDE8PDIpCi0jZGVmaW5lIFNORFJWX0NUTF9FVkVOVF9NQVNLX1RMViAoMTw8MykKKyNkZWZpbmUgU05EUlZfQ1RMX0VWRU5UX01BU0tfQUREICgxIDw8IDIpCisjZGVmaW5lIFNORFJWX0NUTF9FVkVOVF9NQVNLX1RMViAoMSA8PCAzKQogI2RlZmluZSBTTkRSVl9DVExfRVZFTlRfTUFTS19SRU1PVkUgKH4wVSkKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX2N0bF9ldmVudCB7Ci0gaW50IHR5cGU7Ci0gdW5pb24gewotIHN0cnVjdCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBtYXNrOwotIHN0cnVjdCBzbmRfY3RsX2VsZW1faWQgaWQ7Ci0gfSBlbGVtOwotIHVuc2lnbmVkIGNoYXIgZGF0YThbNjBdOworICBpbnQgdHlwZTsKKyAgdW5pb24geworICAgIHN0cnVjdCB7CisgICAgICB1bnNpZ25lZCBpbnQgbWFzazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gfSBkYXRhOworICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKyAgICB9IGVsZW07CisgICAgdW5zaWduZWQgY2hhciBkYXRhOFs2MF07CisgIH0gZGF0YTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBTTkRSVl9DVExfTkFNRV9OT05FICIiCiAjZGVmaW5lIFNORFJWX0NUTF9OQU1FX1BMQVlCQUNLICJQbGF5YmFjayAiCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfTkFNRV9DQVBUVVJFICJDYXB0dXJlICIKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9OQU1FX0lFQzk1OF9OT05FICIiCiAjZGVmaW5lIFNORFJWX0NUTF9OQU1FX0lFQzk1OF9TV0lUQ0ggIlN3aXRjaCIKICNkZWZpbmUgU05EUlZfQ1RMX05BTUVfSUVDOTU4X1ZPTFVNRSAiVm9sdW1lIgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfQ1RMX05BTUVfSUVDOTU4X0RFRkFVTFQgIkRlZmF1bHQiCisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9DVExfTkFNRV9JRUM5NThfTUFTSyAiTWFzayIKICNkZWZpbmUgU05EUlZfQ1RMX05BTUVfSUVDOTU4X0NPTl9NQVNLICJDb24gTWFzayIKICNkZWZpbmUgU05EUlZfQ1RMX05BTUVfSUVDOTU4X1BST19NQVNLICJQcm8gTWFzayIKLS8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NUTF9OQU1FX0lFQzk1OF9QQ01fU1RSRUFNICJQQ00gU3RyZWFtIgotI2RlZmluZSBTTkRSVl9DVExfTkFNRV9JRUM5NTgoZXhwbCxkaXJlY3Rpb24sd2hhdCkgIklFQzk1OCAiIGV4cGwgU05EUlZfQ1RMX05BTUVfIyNkaXJlY3Rpb24gU05EUlZfQ1RMX05BTUVfSUVDOTU4XyMjd2hhdAorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyNkZWZpbmUgU05EUlZfQ1RMX05BTUVfSUVDOTU4KGV4cGwsZGlyZWN0aW9uLHdoYXQpICJJRUM5NTggIiBleHBsIFNORFJWX0NUTF9OQU1FXyAjI2RpcmVjdGlvbiBTTkRSVl9DVExfTkFNRV9JRUM5NThfICMjd2hhdAogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2Fzb3VuZF9mbS5oIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9hc291bmRfZm0uaAppbmRleCA1MWEwM2YxLi4wODE5ZWZlIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2Fzb3VuZF9mbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvYXNvdW5kX2ZtLmgKQEAgLTIyLDU4ICsyMiw1OCBAQAogI2RlZmluZSBTTkRSVl9ETV9GTV9NT0RFX09QTDMgMHgwMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzbmRfZG1fZm1faW5mbyB7Ci0gdW5zaWduZWQgY2hhciBmbV9tb2RlOwotIHVuc2lnbmVkIGNoYXIgcmh5dGhtOworICB1bnNpZ25lZCBjaGFyIGZtX21vZGU7CisgIHVuc2lnbmVkIGNoYXIgcmh5dGhtOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc25kX2RtX2ZtX3ZvaWNlIHsKLSB1bnNpZ25lZCBjaGFyIG9wOwotIHVuc2lnbmVkIGNoYXIgdm9pY2U7Ci0gdW5zaWduZWQgY2hhciBhbTsKKyAgdW5zaWduZWQgY2hhciBvcDsKKyAgdW5zaWduZWQgY2hhciB2b2ljZTsKKyAgdW5zaWduZWQgY2hhciBhbTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciB2aWJyYXRvOwotIHVuc2lnbmVkIGNoYXIgZG9fc3VzdGFpbjsKLSB1bnNpZ25lZCBjaGFyIGtiZF9zY2FsZTsKLSB1bnNpZ25lZCBjaGFyIGhhcm1vbmljOworICB1bnNpZ25lZCBjaGFyIHZpYnJhdG87CisgIHVuc2lnbmVkIGNoYXIgZG9fc3VzdGFpbjsKKyAgdW5zaWduZWQgY2hhciBrYmRfc2NhbGU7CisgIHVuc2lnbmVkIGNoYXIgaGFybW9uaWM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgc2NhbGVfbGV2ZWw7Ci0gdW5zaWduZWQgY2hhciB2b2x1bWU7Ci0gdW5zaWduZWQgY2hhciBhdHRhY2s7Ci0gdW5zaWduZWQgY2hhciBkZWNheTsKKyAgdW5zaWduZWQgY2hhciBzY2FsZV9sZXZlbDsKKyAgdW5zaWduZWQgY2hhciB2b2x1bWU7CisgIHVuc2lnbmVkIGNoYXIgYXR0YWNrOworICB1bnNpZ25lZCBjaGFyIGRlY2F5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHN1c3RhaW47Ci0gdW5zaWduZWQgY2hhciByZWxlYXNlOwotIHVuc2lnbmVkIGNoYXIgZmVlZGJhY2s7Ci0gdW5zaWduZWQgY2hhciBjb25uZWN0aW9uOworICB1bnNpZ25lZCBjaGFyIHN1c3RhaW47CisgIHVuc2lnbmVkIGNoYXIgcmVsZWFzZTsKKyAgdW5zaWduZWQgY2hhciBmZWVkYmFjazsKKyAgdW5zaWduZWQgY2hhciBjb25uZWN0aW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGxlZnQ7Ci0gdW5zaWduZWQgY2hhciByaWdodDsKLSB1bnNpZ25lZCBjaGFyIHdhdmVmb3JtOworICB1bnNpZ25lZCBjaGFyIGxlZnQ7CisgIHVuc2lnbmVkIGNoYXIgcmlnaHQ7CisgIHVuc2lnbmVkIGNoYXIgd2F2ZWZvcm07CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBzbmRfZG1fZm1fbm90ZSB7Ci0gdW5zaWduZWQgY2hhciB2b2ljZTsKLSB1bnNpZ25lZCBjaGFyIG9jdGF2ZTsKLSB1bnNpZ25lZCBpbnQgZm51bTsKKyAgdW5zaWduZWQgY2hhciB2b2ljZTsKKyAgdW5zaWduZWQgY2hhciBvY3RhdmU7CisgIHVuc2lnbmVkIGludCBmbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGtleV9vbjsKKyAgdW5zaWduZWQgY2hhciBrZXlfb247CiB9Owogc3RydWN0IHNuZF9kbV9mbV9wYXJhbXMgewotIHVuc2lnbmVkIGNoYXIgYW1fZGVwdGg7CisgIHVuc2lnbmVkIGNoYXIgYW1fZGVwdGg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgdmliX2RlcHRoOwotIHVuc2lnbmVkIGNoYXIga2JkX3NwbGl0OwotIHVuc2lnbmVkIGNoYXIgcmh5dGhtOwotIHVuc2lnbmVkIGNoYXIgYmFzczsKKyAgdW5zaWduZWQgY2hhciB2aWJfZGVwdGg7CisgIHVuc2lnbmVkIGNoYXIga2JkX3NwbGl0OworICB1bnNpZ25lZCBjaGFyIHJoeXRobTsKKyAgdW5zaWduZWQgY2hhciBiYXNzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIHNuYXJlOwotIHVuc2lnbmVkIGNoYXIgdG9tdG9tOwotIHVuc2lnbmVkIGNoYXIgY3ltYmFsOwotIHVuc2lnbmVkIGNoYXIgaGloYXQ7CisgIHVuc2lnbmVkIGNoYXIgc25hcmU7CisgIHVuc2lnbmVkIGNoYXIgdG9tdG9tOworICB1bnNpZ25lZCBjaGFyIGN5bWJhbDsKKyAgdW5zaWduZWQgY2hhciBoaWhhdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBTTkRSVl9ETV9GTV9JT0NUTF9JTkZPIF9JT1IoJ0gnLCAweDIwLCBzdHJ1Y3Qgc25kX2RtX2ZtX2luZm8pCi0jZGVmaW5lIFNORFJWX0RNX0ZNX0lPQ1RMX1JFU0VUIF9JTyAoJ0gnLCAweDIxKQorI2RlZmluZSBTTkRSVl9ETV9GTV9JT0NUTF9SRVNFVCBfSU8oJ0gnLCAweDIxKQogI2RlZmluZSBTTkRSVl9ETV9GTV9JT0NUTF9QTEFZX05PVEUgX0lPVygnSCcsIDB4MjIsIHN0cnVjdCBzbmRfZG1fZm1fbm90ZSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0RNX0ZNX0lPQ1RMX1NFVF9WT0lDRSBfSU9XKCdIJywgMHgyMywgc3RydWN0IHNuZF9kbV9mbV92b2ljZSkKQEAgLTgxLDcgKzgxLDcgQEAKICNkZWZpbmUgU05EUlZfRE1fRk1fSU9DVExfU0VUX01PREUgX0lPVygnSCcsIDB4MjUsIGludCkKICNkZWZpbmUgU05EUlZfRE1fRk1fSU9DVExfU0VUX0NPTk5FQ1RJT04gX0lPVygnSCcsIDB4MjYsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX0RNX0ZNX0lPQ1RMX0NMRUFSX1BBVENIRVMgX0lPICgnSCcsIDB4NDApCisjZGVmaW5lIFNORFJWX0RNX0ZNX0lPQ1RMX0NMRUFSX1BBVENIRVMgX0lPKCdIJywgMHg0MCkKICNkZWZpbmUgU05EUlZfRE1fRk1fT1NTX0lPQ1RMX1JFU0VUIDB4MjAKICNkZWZpbmUgU05EUlZfRE1fRk1fT1NTX0lPQ1RMX1BMQVlfTk9URSAweDIxCiAjZGVmaW5lIFNORFJWX0RNX0ZNX09TU19JT0NUTF9TRVRfVk9JQ0UgMHgyMgpAQCAtOTQsMTMgKzk0LDEzIEBACiAjZGVmaW5lIEZNX0tFWV8yT1AgIjJPUFwwMzIiCiAjZGVmaW5lIEZNX0tFWV80T1AgIjRPUFwwMzIiCiBzdHJ1Y3Qgc2JpX3BhdGNoIHsKLSB1bnNpZ25lZCBjaGFyIHByb2c7CisgIHVuc2lnbmVkIGNoYXIgcHJvZzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBiYW5rOwotIGNoYXIga2V5WzRdOwotIGNoYXIgbmFtZVsyNV07Ci0gY2hhciBleHRlbnNpb25bN107CisgIHVuc2lnbmVkIGNoYXIgYmFuazsKKyAgY2hhciBrZXlbNF07CisgIGNoYXIgbmFtZVsyNV07CisgIGNoYXIgZXh0ZW5zaW9uWzddOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGRhdGFbMzJdOworICB1bnNpZ25lZCBjaGFyIGRhdGFbMzJdOwogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9jb21wcmVzc19vZmZsb2FkLmggYi9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2NvbXByZXNzX29mZmxvYWQuaAppbmRleCA1YjA2NzQxLi44OTI4Y2JmIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2NvbXByZXNzX29mZmxvYWQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2NvbXByZXNzX29mZmxvYWQuaApAQCAtMjQsNzIgKzI0LDcyIEBACiAjaW5jbHVkZSA8c291bmQvY29tcHJlc3NfcGFyYW1zLmg+CiAjZGVmaW5lIFNORFJWX0NPTVBSRVNTX1ZFUlNJT04gU05EUlZfUFJPVE9DT0xfVkVSU0lPTigwLCAxLCAyKQogc3RydWN0IHNuZF9jb21wcmVzc2VkX2J1ZmZlciB7Ci0gX191MzIgZnJhZ21lbnRfc2l6ZTsKKyAgX191MzIgZnJhZ21lbnRfc2l6ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZnJhZ21lbnRzOwotfTsKKyAgX191MzIgZnJhZ21lbnRzOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIHN0cnVjdCBzbmRfY29tcHJfcGFyYW1zIHsKLSBzdHJ1Y3Qgc25kX2NvbXByZXNzZWRfYnVmZmVyIGJ1ZmZlcjsKKyAgc3RydWN0IHNuZF9jb21wcmVzc2VkX2J1ZmZlciBidWZmZXI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzbmRfY29kZWMgY29kZWM7Ci0gX191OCBub193YWtlX21vZGU7Ci19OworICBzdHJ1Y3Qgc25kX2NvZGVjIGNvZGVjOworICBfX3U4IG5vX3dha2VfbW9kZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CiBzdHJ1Y3Qgc25kX2NvbXByX3RzdGFtcCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGJ5dGVfb2Zmc2V0OwotIF9fdTMyIGNvcGllZF90b3RhbDsKLSBfX3UzMiBwY21fZnJhbWVzOwotIF9fdTMyIHBjbV9pb19mcmFtZXM7CisgIF9fdTMyIGJ5dGVfb2Zmc2V0OworICBfX3UzMiBjb3BpZWRfdG90YWw7CisgIF9fdTMyIHBjbV9mcmFtZXM7CisgIF9fdTMyIHBjbV9pb19mcmFtZXM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNhbXBsaW5nX3JhdGU7Ci19OworICBfX3UzMiBzYW1wbGluZ19yYXRlOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIHN0cnVjdCBzbmRfY29tcHJfYXZhaWwgewotIF9fdTY0IGF2YWlsOworICBfX3U2NCBhdmFpbDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNuZF9jb21wcl90c3RhbXAgdHN0YW1wOwotfTsKKyAgc3RydWN0IHNuZF9jb21wcl90c3RhbXAgdHN0YW1wOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIGVudW0gc25kX2NvbXByX2RpcmVjdGlvbiB7Ci0gU05EX0NPTVBSRVNTX1BMQVlCQUNLID0gMCwKKyAgU05EX0NPTVBSRVNTX1BMQVlCQUNLID0gMCwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gU05EX0NPTVBSRVNTX0NBUFRVUkUKKyAgU05EX0NPTVBSRVNTX0NBUFRVUkUKIH07CiBzdHJ1Y3Qgc25kX2NvbXByX2NhcHMgewotIF9fdTMyIG51bV9jb2RlY3M7CisgIF9fdTMyIG51bV9jb2RlY3M7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGRpcmVjdGlvbjsKLSBfX3UzMiBtaW5fZnJhZ21lbnRfc2l6ZTsKLSBfX3UzMiBtYXhfZnJhZ21lbnRfc2l6ZTsKLSBfX3UzMiBtaW5fZnJhZ21lbnRzOworICBfX3UzMiBkaXJlY3Rpb247CisgIF9fdTMyIG1pbl9mcmFnbWVudF9zaXplOworICBfX3UzMiBtYXhfZnJhZ21lbnRfc2l6ZTsKKyAgX191MzIgbWluX2ZyYWdtZW50czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbWF4X2ZyYWdtZW50czsKLSBfX3UzMiBjb2RlY3NbTUFYX05VTV9DT0RFQ1NdOwotIF9fdTMyIHJlc2VydmVkWzExXTsKLX07CisgIF9fdTMyIG1heF9mcmFnbWVudHM7CisgIF9fdTMyIGNvZGVjc1tNQVhfTlVNX0NPREVDU107CisgIF9fdTMyIHJlc2VydmVkWzExXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9jb21wcl9jb2RlY19jYXBzIHsKLSBfX3UzMiBjb2RlYzsKLSBfX3UzMiBudW1fZGVzY3JpcHRvcnM7Ci0gc3RydWN0IHNuZF9jb2RlY19kZXNjIGRlc2NyaXB0b3JbTUFYX05VTV9DT0RFQ19ERVNDUklQVE9SU107CisgIF9fdTMyIGNvZGVjOworICBfX3UzMiBudW1fZGVzY3JpcHRvcnM7CisgIHN0cnVjdCBzbmRfY29kZWNfZGVzYyBkZXNjcmlwdG9yW01BWF9OVU1fQ09ERUNfREVTQ1JJUFRPUlNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwogZW51bSB7Ci0gU05EUlZfQ09NUFJFU1NfRU5DT0RFUl9QQURESU5HID0gMSwKLSBTTkRSVl9DT01QUkVTU19FTkNPREVSX0RFTEFZID0gMiwKKyAgU05EUlZfQ09NUFJFU1NfRU5DT0RFUl9QQURESU5HID0gMSwKKyAgU05EUlZfQ09NUFJFU1NfRU5DT0RFUl9ERUxBWSA9IDIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzbmRfY29tcHJfbWV0YWRhdGEgewotIF9fdTMyIGtleTsKLSBfX3UzMiB2YWx1ZVs4XTsKKyAgX191MzIga2V5OworICBfX3UzMiB2YWx1ZVs4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKICNkZWZpbmUgU05EUlZfQ09NUFJFU1NfSU9DVExfVkVSU0lPTiBfSU9SKCdDJywgMHgwMCwgaW50KQogI2RlZmluZSBTTkRSVl9DT01QUkVTU19HRVRfQ0FQUyBfSU9XUignQycsIDB4MTAsIHN0cnVjdCBzbmRfY29tcHJfY2FwcykKLSNkZWZpbmUgU05EUlZfQ09NUFJFU1NfR0VUX0NPREVDX0NBUFMgX0lPV1IoJ0MnLCAweDExLCAgc3RydWN0IHNuZF9jb21wcl9jb2RlY19jYXBzKQorI2RlZmluZSBTTkRSVl9DT01QUkVTU19HRVRfQ09ERUNfQ0FQUyBfSU9XUignQycsIDB4MTEsIHN0cnVjdCBzbmRfY29tcHJfY29kZWNfY2FwcykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0NPTVBSRVNTX1NFVF9QQVJBTVMgX0lPVygnQycsIDB4MTIsIHN0cnVjdCBzbmRfY29tcHJfcGFyYW1zKQogI2RlZmluZSBTTkRSVl9DT01QUkVTU19HRVRfUEFSQU1TIF9JT1IoJ0MnLCAweDEzLCBzdHJ1Y3Qgc25kX2NvZGVjKQotI2RlZmluZSBTTkRSVl9DT01QUkVTU19TRVRfTUVUQURBVEEgX0lPVygnQycsIDB4MTQsICBzdHJ1Y3Qgc25kX2NvbXByX21ldGFkYXRhKQotI2RlZmluZSBTTkRSVl9DT01QUkVTU19HRVRfTUVUQURBVEEgX0lPV1IoJ0MnLCAweDE1LCAgc3RydWN0IHNuZF9jb21wcl9tZXRhZGF0YSkKKyNkZWZpbmUgU05EUlZfQ09NUFJFU1NfU0VUX01FVEFEQVRBIF9JT1coJ0MnLCAweDE0LCBzdHJ1Y3Qgc25kX2NvbXByX21ldGFkYXRhKQorI2RlZmluZSBTTkRSVl9DT01QUkVTU19HRVRfTUVUQURBVEEgX0lPV1IoJ0MnLCAweDE1LCBzdHJ1Y3Qgc25kX2NvbXByX21ldGFkYXRhKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfQ09NUFJFU1NfVFNUQU1QIF9JT1IoJ0MnLCAweDIwLCBzdHJ1Y3Qgc25kX2NvbXByX3RzdGFtcCkKICNkZWZpbmUgU05EUlZfQ09NUFJFU1NfQVZBSUwgX0lPUignQycsIDB4MjEsIHN0cnVjdCBzbmRfY29tcHJfYXZhaWwpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2NvbXByZXNzX3BhcmFtcy5oIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9jb21wcmVzc19wYXJhbXMuaAppbmRleCA4YWEwYmZlLi5iMTcwM2RjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2NvbXByZXNzX3BhcmFtcy5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvY29tcHJlc3NfcGFyYW1zLmgKQEAgLTE3MSw3NSArMTcxLDc1IEBACiAjZGVmaW5lIFNORF9SQVRFQ09OVFJPTE1PREVfVkFSSUFCTEVCSVRSQVRFICgoX191MzIpIDB4MDAwMDAwMDIpCiBzdHJ1Y3Qgc25kX2VuY193bWEgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzdXBlcl9ibG9ja19hbGlnbjsKKyAgX191MzIgc3VwZXJfYmxvY2tfYWxpZ247CiB9Owogc3RydWN0IHNuZF9lbmNfdm9yYmlzIHsKLSBfX3MzMiBxdWFsaXR5OworICBfX3MzMiBxdWFsaXR5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtYW5hZ2VkOwotIF9fdTMyIG1heF9iaXRfcmF0ZTsKLSBfX3UzMiBtaW5fYml0X3JhdGU7Ci0gX191MzIgZG93bm1peDsKKyAgX191MzIgbWFuYWdlZDsKKyAgX191MzIgbWF4X2JpdF9yYXRlOworICBfX3UzMiBtaW5fYml0X3JhdGU7CisgIF9fdTMyIGRvd25taXg7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotfTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CiBzdHJ1Y3Qgc25kX2VuY19yZWFsIHsKLSBfX3UzMiBxdWFudF9iaXRzOwotIF9fdTMyIHN0YXJ0X3JlZ2lvbjsKKyAgX191MzIgcXVhbnRfYml0czsKKyAgX191MzIgc3RhcnRfcmVnaW9uOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBudW1fcmVnaW9uczsKLX07CisgIF9fdTMyIG51bV9yZWdpb25zOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIHN0cnVjdCBzbmRfZW5jX2ZsYWMgewotIF9fdTMyIG51bTsKKyAgX191MzIgbnVtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBnYWluOwotfTsKKyAgX191MzIgZ2FpbjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CiBzdHJ1Y3Qgc25kX2VuY19nZW5lcmljIHsKLSBfX3UzMiBidzsKKyAgX191MzIgYnc7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fczMyIHJlc2VydmVkWzE1XTsKLX07CisgIF9fczMyIHJlc2VydmVkWzE1XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLCBhbGlnbmVkKDQpKSk7CiB1bmlvbiBzbmRfY29kZWNfb3B0aW9ucyB7Ci0gc3RydWN0IHNuZF9lbmNfd21hIHdtYTsKKyAgc3RydWN0IHNuZF9lbmNfd21hIHdtYTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IHNuZF9lbmNfdm9yYmlzIHZvcmJpczsKLSBzdHJ1Y3Qgc25kX2VuY19yZWFsIHJlYWw7Ci0gc3RydWN0IHNuZF9lbmNfZmxhYyBmbGFjOwotIHN0cnVjdCBzbmRfZW5jX2dlbmVyaWMgZ2VuZXJpYzsKKyAgc3RydWN0IHNuZF9lbmNfdm9yYmlzIHZvcmJpczsKKyAgc3RydWN0IHNuZF9lbmNfcmVhbCByZWFsOworICBzdHJ1Y3Qgc25kX2VuY19mbGFjIGZsYWM7CisgIHN0cnVjdCBzbmRfZW5jX2dlbmVyaWMgZ2VuZXJpYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi19OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIHN0cnVjdCBzbmRfY29kZWNfZGVzYyB7Ci0gX191MzIgbWF4X2NoOwotIF9fdTMyIHNhbXBsZV9yYXRlc1tNQVhfTlVNX1NBTVBMRV9SQVRFU107CisgIF9fdTMyIG1heF9jaDsKKyAgX191MzIgc2FtcGxlX3JhdGVzW01BWF9OVU1fU0FNUExFX1JBVEVTXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgbnVtX3NhbXBsZV9yYXRlczsKLSBfX3UzMiBiaXRfcmF0ZVtNQVhfTlVNX0JJVFJBVEVTXTsKLSBfX3UzMiBudW1fYml0cmF0ZXM7Ci0gX191MzIgcmF0ZV9jb250cm9sOworICBfX3UzMiBudW1fc2FtcGxlX3JhdGVzOworICBfX3UzMiBiaXRfcmF0ZVtNQVhfTlVNX0JJVFJBVEVTXTsKKyAgX191MzIgbnVtX2JpdHJhdGVzOworICBfX3UzMiByYXRlX2NvbnRyb2w7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHByb2ZpbGVzOwotIF9fdTMyIG1vZGVzOwotIF9fdTMyIGZvcm1hdHM7Ci0gX191MzIgbWluX2J1ZmZlcjsKKyAgX191MzIgcHJvZmlsZXM7CisgIF9fdTMyIG1vZGVzOworICBfX3UzMiBmb3JtYXRzOworICBfX3UzMiBtaW5fYnVmZmVyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiByZXNlcnZlZFsxNV07Ci19OworICBfX3UzMiByZXNlcnZlZFsxNV07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwogc3RydWN0IHNuZF9jb2RlYyB7Ci0gX191MzIgaWQ7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBjaF9pbjsKLSBfX3UzMiBjaF9vdXQ7Ci0gX191MzIgc2FtcGxlX3JhdGU7Ci0gX191MzIgYml0X3JhdGU7CisgIF9fdTMyIGNoX2luOworICBfX3UzMiBjaF9vdXQ7CisgIF9fdTMyIHNhbXBsZV9yYXRlOworICBfX3UzMiBiaXRfcmF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgcmF0ZV9jb250cm9sOwotIF9fdTMyIHByb2ZpbGU7Ci0gX191MzIgbGV2ZWw7Ci0gX191MzIgY2hfbW9kZTsKKyAgX191MzIgcmF0ZV9jb250cm9sOworICBfX3UzMiBwcm9maWxlOworICBfX3UzMiBsZXZlbDsKKyAgX191MzIgY2hfbW9kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZm9ybWF0OwotIF9fdTMyIGFsaWduOwotIHVuaW9uIHNuZF9jb2RlY19vcHRpb25zIG9wdGlvbnM7Ci0gX191MzIgcmVzZXJ2ZWRbM107CisgIF9fdTMyIGZvcm1hdDsKKyAgX191MzIgYWxpZ247CisgIHVuaW9uIHNuZF9jb2RlY19vcHRpb25zIG9wdGlvbnM7CisgIF9fdTMyIHJlc2VydmVkWzNdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLX07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2VtdTEwazEuaCBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvZW11MTBrMS5oCmluZGV4IGNiZmM5ZjkuLjk3MDEyMjcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvZW11MTBrMS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvZW11MTBrMS5oCkBAIC0yNjksMTQgKzI2OSwxNCBAQAogI2RlZmluZSBUQU5LTUVNQUREUlJFR19XUklURSAweDAwMjAwMDAwCiAjZGVmaW5lIFRBTktNRU1BRERSUkVHX1JFQUQgMHgwMDEwMDAwMAogc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9pbmZvIHsKLSB1bnNpZ25lZCBpbnQgaW50ZXJuYWxfdHJhbV9zaXplOworICB1bnNpZ25lZCBpbnQgaW50ZXJuYWxfdHJhbV9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgZXh0ZXJuYWxfdHJhbV9zaXplOwotIGNoYXIgZnhidXNfbmFtZXNbMTZdWzMyXTsKLSBjaGFyIGV4dGluX25hbWVzWzE2XVszMl07Ci0gY2hhciBleHRvdXRfbmFtZXNbMzJdWzMyXTsKKyAgdW5zaWduZWQgaW50IGV4dGVybmFsX3RyYW1fc2l6ZTsKKyAgY2hhciBmeGJ1c19uYW1lc1sxNl1bMzJdOworICBjaGFyIGV4dGluX25hbWVzWzE2XVszMl07CisgIGNoYXIgZXh0b3V0X25hbWVzWzMyXVszMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBncHJfY29udHJvbHM7CisgIHVuc2lnbmVkIGludCBncHJfY29udHJvbHM7CiB9OwogI2RlZmluZSBFTVUxMEsxX0dQUl9UUkFOU0xBVElPTl9OT05FIDAKICNkZWZpbmUgRU1VMTBLMV9HUFJfVFJBTlNMQVRJT05fVEFCTEUxMDAgMQpAQCAtMjg2LDk3ICsyODYsOTcgQEAKICNkZWZpbmUgRU1VMTBLMV9HUFJfVFJBTlNMQVRJT05fT05PRkYgNAogc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9jb250cm9sX2dwciB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHN0cnVjdCBzbmRfY3RsX2VsZW1faWQgaWQ7Ci0gdW5zaWduZWQgaW50IHZjb3VudDsKLSB1bnNpZ25lZCBpbnQgY291bnQ7Ci0gdW5zaWduZWQgc2hvcnQgZ3ByWzMyXTsKKyAgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKyAgdW5zaWduZWQgaW50IHZjb3VudDsKKyAgdW5zaWduZWQgaW50IGNvdW50OworICB1bnNpZ25lZCBzaG9ydCBncHJbMzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgdmFsdWVbMzJdOwotIHVuc2lnbmVkIGludCBtaW47Ci0gdW5zaWduZWQgaW50IG1heDsKLSB1bnNpZ25lZCBpbnQgdHJhbnNsYXRpb247CisgIHVuc2lnbmVkIGludCB2YWx1ZVszMl07CisgIHVuc2lnbmVkIGludCBtaW47CisgIHVuc2lnbmVkIGludCBtYXg7CisgIHVuc2lnbmVkIGludCB0cmFuc2xhdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gY29uc3QgdW5zaWduZWQgaW50ICp0bHY7CisgIGNvbnN0IHVuc2lnbmVkIGludCAqIHRsdjsKIH07CiBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2NvbnRyb2xfb2xkX2dwciB7Ci0gc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKyAgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHZjb3VudDsKLSB1bnNpZ25lZCBpbnQgY291bnQ7Ci0gdW5zaWduZWQgc2hvcnQgZ3ByWzMyXTsKLSB1bnNpZ25lZCBpbnQgdmFsdWVbMzJdOworICB1bnNpZ25lZCBpbnQgdmNvdW50OworICB1bnNpZ25lZCBpbnQgY291bnQ7CisgIHVuc2lnbmVkIHNob3J0IGdwclszMl07CisgIHVuc2lnbmVkIGludCB2YWx1ZVszMl07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBtaW47Ci0gdW5zaWduZWQgaW50IG1heDsKLSB1bnNpZ25lZCBpbnQgdHJhbnNsYXRpb247CisgIHVuc2lnbmVkIGludCBtaW47CisgIHVuc2lnbmVkIGludCBtYXg7CisgIHVuc2lnbmVkIGludCB0cmFuc2xhdGlvbjsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9jb2RlIHsKLSBjaGFyIG5hbWVbMTI4XTsKLSBERUNMQVJFX0JJVE1BUChncHJfdmFsaWQsIDB4MjAwKTsKLSBfX3UzMiBfX3VzZXIgKmdwcl9tYXA7CisgIGNoYXIgbmFtZVsxMjhdOworICBERUNMQVJFX0JJVE1BUChncHJfdmFsaWQsIDB4MjAwKTsKKyAgX191MzIgX191c2VyICogZ3ByX21hcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGdwcl9hZGRfY29udHJvbF9jb3VudDsKLSBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2NvbnRyb2xfZ3ByIF9fdXNlciAqZ3ByX2FkZF9jb250cm9sczsKLSB1bnNpZ25lZCBpbnQgZ3ByX2RlbF9jb250cm9sX2NvdW50OwotIHN0cnVjdCBzbmRfY3RsX2VsZW1faWQgX191c2VyICpncHJfZGVsX2NvbnRyb2xzOworICB1bnNpZ25lZCBpbnQgZ3ByX2FkZF9jb250cm9sX2NvdW50OworICBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2NvbnRyb2xfZ3ByIF9fdXNlciAqIGdwcl9hZGRfY29udHJvbHM7CisgIHVuc2lnbmVkIGludCBncHJfZGVsX2NvbnRyb2xfY291bnQ7CisgIHN0cnVjdCBzbmRfY3RsX2VsZW1faWQgX191c2VyICogZ3ByX2RlbF9jb250cm9sczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGdwcl9saXN0X2NvbnRyb2xfY291bnQ7Ci0gdW5zaWduZWQgaW50IGdwcl9saXN0X2NvbnRyb2xfdG90YWw7Ci0gc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9jb250cm9sX2dwciBfX3VzZXIgKmdwcl9saXN0X2NvbnRyb2xzOwotIERFQ0xBUkVfQklUTUFQKHRyYW1fdmFsaWQsIDB4MTAwKTsKKyAgdW5zaWduZWQgaW50IGdwcl9saXN0X2NvbnRyb2xfY291bnQ7CisgIHVuc2lnbmVkIGludCBncHJfbGlzdF9jb250cm9sX3RvdGFsOworICBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2NvbnRyb2xfZ3ByIF9fdXNlciAqIGdwcl9saXN0X2NvbnRyb2xzOworICBERUNMQVJFX0JJVE1BUCh0cmFtX3ZhbGlkLCAweDEwMCk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIF9fdXNlciAqdHJhbV9kYXRhX21hcDsKLSBfX3UzMiBfX3VzZXIgKnRyYW1fYWRkcl9tYXA7Ci0gREVDTEFSRV9CSVRNQVAoY29kZV92YWxpZCwgMTAyNCk7Ci0gX191MzIgX191c2VyICpjb2RlOworICBfX3UzMiBfX3VzZXIgKiB0cmFtX2RhdGFfbWFwOworICBfX3UzMiBfX3VzZXIgKiB0cmFtX2FkZHJfbWFwOworICBERUNMQVJFX0JJVE1BUChjb2RlX3ZhbGlkLCAxMDI0KTsKKyAgX191MzIgX191c2VyICogY29kZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF90cmFtIHsKLSB1bnNpZ25lZCBpbnQgYWRkcmVzczsKLSB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgdW5zaWduZWQgaW50IGFkZHJlc3M7CisgIHVuc2lnbmVkIGludCBzaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgKnNhbXBsZXM7CisgIHVuc2lnbmVkIGludCAqIHNhbXBsZXM7CiB9Owogc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9wY21fcmVjIHsKLSB1bnNpZ25lZCBpbnQgc3Vic3RyZWFtOworICB1bnNpZ25lZCBpbnQgc3Vic3RyZWFtOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVzMTsKLSB1bnNpZ25lZCBpbnQgY2hhbm5lbHM7Ci0gdW5zaWduZWQgaW50IHRyYW1fc3RhcnQ7Ci0gdW5zaWduZWQgaW50IGJ1ZmZlcl9zaXplOworICB1bnNpZ25lZCBpbnQgcmVzMTsKKyAgdW5zaWduZWQgaW50IGNoYW5uZWxzOworICB1bnNpZ25lZCBpbnQgdHJhbV9zdGFydDsKKyAgdW5zaWduZWQgaW50IGJ1ZmZlcl9zaXplOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBncHJfc2l6ZTsKLSB1bnNpZ25lZCBzaG9ydCBncHJfcHRyOwotIHVuc2lnbmVkIHNob3J0IGdwcl9jb3VudDsKLSB1bnNpZ25lZCBzaG9ydCBncHJfdG1wY291bnQ7CisgIHVuc2lnbmVkIHNob3J0IGdwcl9zaXplOworICB1bnNpZ25lZCBzaG9ydCBncHJfcHRyOworICB1bnNpZ25lZCBzaG9ydCBncHJfY291bnQ7CisgIHVuc2lnbmVkIHNob3J0IGdwcl90bXBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgZ3ByX3RyaWdnZXI7Ci0gdW5zaWduZWQgc2hvcnQgZ3ByX3J1bm5pbmc7Ci0gdW5zaWduZWQgY2hhciBwYWQ7Ci0gdW5zaWduZWQgY2hhciBldHJhbVszMl07CisgIHVuc2lnbmVkIHNob3J0IGdwcl90cmlnZ2VyOworICB1bnNpZ25lZCBzaG9ydCBncHJfcnVubmluZzsKKyAgdW5zaWduZWQgY2hhciBwYWQ7CisgIHVuc2lnbmVkIGNoYXIgZXRyYW1bMzJdOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVzMjsKKyAgdW5zaWduZWQgaW50IHJlczI7CiB9OwogI2RlZmluZSBTTkRSVl9FTVUxMEsxX1ZFUlNJT04gU05EUlZfUFJPVE9DT0xfVkVSU0lPTigxLCAwLCAxKQotI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX0lORk8gX0lPUiAoJ0gnLCAweDEwLCBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2luZm8pCisjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfSU5GTyBfSU9SKCdIJywgMHgxMCwgc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9pbmZvKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9DT0RFX1BPS0UgX0lPVyAoJ0gnLCAweDExLCBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2NvZGUpCisjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfQ09ERV9QT0tFIF9JT1coJ0gnLCAweDExLCBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX2NvZGUpCiAjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfQ09ERV9QRUVLIF9JT1dSKCdIJywgMHgxMiwgc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9jb2RlKQotI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX1RSQU1fU0VUVVAgX0lPVyAoJ0gnLCAweDIwLCBpbnQpCi0jZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfVFJBTV9QT0tFIF9JT1cgKCdIJywgMHgyMSwgc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF90cmFtKQorI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX1RSQU1fU0VUVVAgX0lPVygnSCcsIDB4MjAsIGludCkKKyNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9UUkFNX1BPS0UgX0lPVygnSCcsIDB4MjEsIHN0cnVjdCBzbmRfZW11MTBrMV9meDgwMTBfdHJhbSkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfVFJBTV9QRUVLIF9JT1dSKCdIJywgMHgyMiwgc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF90cmFtKQotI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX1BDTV9QT0tFIF9JT1cgKCdIJywgMHgzMCwgc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9wY21fcmVjKQorI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX1BDTV9QT0tFIF9JT1coJ0gnLCAweDMwLCBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX3BjbV9yZWMpCiAjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfUENNX1BFRUsgX0lPV1IoJ0gnLCAweDMxLCBzdHJ1Y3Qgc25kX2VtdTEwazFfZng4MDEwX3BjbV9yZWMpCi0jZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfUFZFUlNJT04gX0lPUiAoJ0gnLCAweDQwLCBpbnQpCisjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfUFZFUlNJT04gX0lPUignSCcsIDB4NDAsIGludCkKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfU1RPUCBfSU8gKCdIJywgMHg4MCkKLSNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9DT05USU5VRSBfSU8gKCdIJywgMHg4MSkKLSNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9aRVJPX1RSQU1fQ09VTlRFUiBfSU8gKCdIJywgMHg4MikKLSNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9TSU5HTEVfU1RFUCBfSU9XICgnSCcsIDB4ODMsIGludCkKKyNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9TVE9QIF9JTygnSCcsIDB4ODApCisjZGVmaW5lIFNORFJWX0VNVTEwSzFfSU9DVExfQ09OVElOVUUgX0lPKCdIJywgMHg4MSkKKyNkZWZpbmUgU05EUlZfRU1VMTBLMV9JT0NUTF9aRVJPX1RSQU1fQ09VTlRFUiBfSU8oJ0gnLCAweDgyKQorI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX1NJTkdMRV9TVEVQIF9JT1coJ0gnLCAweDgzLCBpbnQpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX0RCR19SRUFEIF9JT1IgKCdIJywgMHg4NCwgaW50KQorI2RlZmluZSBTTkRSVl9FTVUxMEsxX0lPQ1RMX0RCR19SRUFEIF9JT1IoJ0gnLCAweDg0LCBpbnQpCiB0eXBlZGVmIHN0cnVjdCBzbmRfZW11MTBrMV9meDgwMTBfaW5mbyBlbXUxMGsxX2Z4ODAxMF9pbmZvX3Q7CiB0eXBlZGVmIHN0cnVjdCBzbmRfZW11MTBrMV9meDgwMTBfY29udHJvbF9ncHIgZW11MTBrMV9meDgwMTBfY29udHJvbF9ncHJfdDsKIHR5cGVkZWYgc3RydWN0IHNuZF9lbXUxMGsxX2Z4ODAxMF9jb2RlIGVtdTEwazFfZng4MDEwX2NvZGVfdDsKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvZmlyZXdpcmUuaCBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvZmlyZXdpcmUuaAppbmRleCA1ZDBmZDE0Li43OTY1ZmM0IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2ZpcmV3aXJlLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9maXJld2lyZS5oCkBAIC0xOSw0MCArMTksNjMgQEAKICNpZm5kZWYgX1VBUElfU09VTkRfRklSRVdJUkVfSF9JTkNMVURFRAogI2RlZmluZSBfVUFQSV9TT1VORF9GSVJFV0lSRV9IX0lOQ0xVREVECiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfRklSRVdJUkVfRVZFTlRfTE9DS19TVEFUVVMgMHgwMDAwMTBjYwotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfRklSRVdJUkVfRVZFTlRfRElDRV9OT1RJRklDQVRJT04gMHhkMWNlMDA0ZQorI2RlZmluZSBTTkRSVl9GSVJFV0lSRV9FVkVOVF9FRldfUkVTUE9OU0UgMHg0ZTYxNzQ3NQogc3RydWN0IHNuZF9maXJld2lyZV9ldmVudF9jb21tb24gewotIHVuc2lnbmVkIGludCB0eXBlOwotfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIHVuc2lnbmVkIGludCB0eXBlOworfTsKIHN0cnVjdCBzbmRfZmlyZXdpcmVfZXZlbnRfbG9ja19zdGF0dXMgewotIHVuc2lnbmVkIGludCB0eXBlOwotIHVuc2lnbmVkIGludCBzdGF0dXM7CisgIHVuc2lnbmVkIGludCB0eXBlOworLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyAgdW5zaWduZWQgaW50IHN0YXR1czsKK307CitzdHJ1Y3Qgc25kX2ZpcmV3aXJlX2V2ZW50X2RpY2Vfbm90aWZpY2F0aW9uIHsKKyAgdW5zaWduZWQgaW50IHR5cGU7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICB1bnNpZ25lZCBpbnQgbm90aWZpY2F0aW9uOworfTsKKyNkZWZpbmUgU05EX0VGV19UUkFOU0FDVElPTl9VU0VSX1NFUU5VTV9NQVggKChfX3UzMikgKChfX3UxNikgfjApIC0gMSkKK3N0cnVjdCBzbmRfZWZ3X3RyYW5zYWN0aW9uIHsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIF9fYmUzMiBsZW5ndGg7CisgIF9fYmUzMiB2ZXJzaW9uOworICBfX2JlMzIgc2VxbnVtOworICBfX2JlMzIgY2F0ZWdvcnk7CisvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBfX2JlMzIgY29tbWFuZDsKKyAgX19iZTMyIHN0YXR1czsKKyAgX19iZTMyIHBhcmFtc1swXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotc3RydWN0IHNuZF9maXJld2lyZV9ldmVudF9kaWNlX25vdGlmaWNhdGlvbiB7Ci0gdW5zaWduZWQgaW50IHR5cGU7Ci0gdW5zaWduZWQgaW50IG5vdGlmaWNhdGlvbjsKK3N0cnVjdCBzbmRfZmlyZXdpcmVfZXZlbnRfZWZ3X3Jlc3BvbnNlIHsKKyAgdW5zaWduZWQgaW50IHR5cGU7CisgIF9fYmUzMiByZXNwb25zZVswXTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogdW5pb24gc25kX2ZpcmV3aXJlX2V2ZW50IHsKLSBzdHJ1Y3Qgc25kX2ZpcmV3aXJlX2V2ZW50X2NvbW1vbiBjb21tb247Ci0gc3RydWN0IHNuZF9maXJld2lyZV9ldmVudF9sb2NrX3N0YXR1cyBsb2NrX3N0YXR1czsKLSBzdHJ1Y3Qgc25kX2ZpcmV3aXJlX2V2ZW50X2RpY2Vfbm90aWZpY2F0aW9uIGRpY2Vfbm90aWZpY2F0aW9uOworICBzdHJ1Y3Qgc25kX2ZpcmV3aXJlX2V2ZW50X2NvbW1vbiBjb21tb247CisgIHN0cnVjdCBzbmRfZmlyZXdpcmVfZXZlbnRfbG9ja19zdGF0dXMgbG9ja19zdGF0dXM7CisgIHN0cnVjdCBzbmRfZmlyZXdpcmVfZXZlbnRfZGljZV9ub3RpZmljYXRpb24gZGljZV9ub3RpZmljYXRpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworICBzdHJ1Y3Qgc25kX2ZpcmV3aXJlX2V2ZW50X2Vmd19yZXNwb25zZSBlZndfcmVzcG9uc2U7CiB9OwogI2RlZmluZSBTTkRSVl9GSVJFV0lSRV9JT0NUTF9HRVRfSU5GTyBfSU9SKCdIJywgMHhmOCwgc3RydWN0IHNuZF9maXJld2lyZV9nZXRfaW5mbykKICNkZWZpbmUgU05EUlZfRklSRVdJUkVfSU9DVExfTE9DSyBfSU8oJ0gnLCAweGY5KQorLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfRklSRVdJUkVfSU9DVExfVU5MT0NLIF9JTygnSCcsIDB4ZmEpCi0vKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9GSVJFV0lSRV9UWVBFX0RJQ0UgMQotc3RydWN0IHNuZF9maXJld2lyZV9nZXRfaW5mbyB7Ci0gdW5zaWduZWQgaW50IHR5cGU7Ci0gdW5zaWduZWQgaW50IGNhcmQ7CisjZGVmaW5lIFNORFJWX0ZJUkVXSVJFX1RZUEVfRklSRVdPUktTIDIKKyNkZWZpbmUgU05EUlZfRklSRVdJUkVfVFlQRV9CRUJPQiAzCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgZ3VpZFs4XTsKLSBjaGFyIGRldmljZV9uYW1lWzE2XTsKK3N0cnVjdCBzbmRfZmlyZXdpcmVfZ2V0X2luZm8geworICB1bnNpZ25lZCBpbnQgdHlwZTsKKyAgdW5zaWduZWQgaW50IGNhcmQ7CisgIHVuc2lnbmVkIGNoYXIgZ3VpZFs4XTsKKy8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgIGNoYXIgZGV2aWNlX25hbWVbMTZdOwogfTsKICNlbmRpZgotLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvaGRzcC5oIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9oZHNwLmgKaW5kZXggODE4NTViNy4uZDIxNTVlNCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9oZHNwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9oZHNwLmgKQEAgLTIyLDc4ICsyMiw3OCBAQAogI2RlZmluZSBIRFNQX01BVFJJWF9NSVhFUl9TSVpFIDIwNDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIEhEU1BfSU9fVHlwZSB7Ci0gRGlnaWZhY2UsCi0gTXVsdGlmYWNlLAotIEg5NjUyLAorICBEaWdpZmFjZSwKKyAgTXVsdGlmYWNlLAorICBIOTY1MiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gSDk2MzIsCi0gUlBNLAotIFVuZGVmaW5lZCwKKyAgSDk2MzIsCisgIFJQTSwKKyAgVW5kZWZpbmVkLAogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaGRzcF9wZWFrX3JtcyB7Ci0gX191MzIgaW5wdXRfcGVha3NbMjZdOwotIF9fdTMyIHBsYXliYWNrX3BlYWtzWzI2XTsKLSBfX3UzMiBvdXRwdXRfcGVha3NbMjhdOworICBfX3UzMiBpbnB1dF9wZWFrc1syNl07CisgIF9fdTMyIHBsYXliYWNrX3BlYWtzWzI2XTsKKyAgX191MzIgb3V0cHV0X3BlYWtzWzI4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgaW5wdXRfcm1zWzI2XTsKLSBfX3U2NCBwbGF5YmFja19ybXNbMjZdOwotIF9fdTY0IG91dHB1dF9ybXNbMjZdOworICBfX3U2NCBpbnB1dF9ybXNbMjZdOworICBfX3U2NCBwbGF5YmFja19ybXNbMjZdOworICBfX3U2NCBvdXRwdXRfcm1zWzI2XTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9IRFNQX0lPQ1RMX0dFVF9QRUFLX1JNUyBfSU9SKCdIJywgMHg0MCwgc3RydWN0IGhkc3BfcGVha19ybXMpCiBzdHJ1Y3QgaGRzcF9jb25maWdfaW5mbyB7Ci0gdW5zaWduZWQgY2hhciBwcmVmX3N5bmNfcmVmOwotIHVuc2lnbmVkIGNoYXIgd29yZGNsb2NrX3N5bmNfY2hlY2s7CisgIHVuc2lnbmVkIGNoYXIgcHJlZl9zeW5jX3JlZjsKKyAgdW5zaWduZWQgY2hhciB3b3JkY2xvY2tfc3luY19jaGVjazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBzcGRpZl9zeW5jX2NoZWNrOwotIHVuc2lnbmVkIGNoYXIgYWRhdHN5bmNfc3luY19jaGVjazsKLSB1bnNpZ25lZCBjaGFyIGFkYXRfc3luY19jaGVja1szXTsKLSB1bnNpZ25lZCBjaGFyIHNwZGlmX2luOworICB1bnNpZ25lZCBjaGFyIHNwZGlmX3N5bmNfY2hlY2s7CisgIHVuc2lnbmVkIGNoYXIgYWRhdHN5bmNfc3luY19jaGVjazsKKyAgdW5zaWduZWQgY2hhciBhZGF0X3N5bmNfY2hlY2tbM107CisgIHVuc2lnbmVkIGNoYXIgc3BkaWZfaW47CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgc3BkaWZfb3V0OwotIHVuc2lnbmVkIGNoYXIgc3BkaWZfcHJvZmVzc2lvbmFsOwotIHVuc2lnbmVkIGNoYXIgc3BkaWZfZW1waGFzaXM7Ci0gdW5zaWduZWQgY2hhciBzcGRpZl9ub25hdWRpbzsKKyAgdW5zaWduZWQgY2hhciBzcGRpZl9vdXQ7CisgIHVuc2lnbmVkIGNoYXIgc3BkaWZfcHJvZmVzc2lvbmFsOworICB1bnNpZ25lZCBjaGFyIHNwZGlmX2VtcGhhc2lzOworICB1bnNpZ25lZCBjaGFyIHNwZGlmX25vbmF1ZGlvOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgc3BkaWZfc2FtcGxlX3JhdGU7Ci0gdW5zaWduZWQgaW50IHN5c3RlbV9zYW1wbGVfcmF0ZTsKLSB1bnNpZ25lZCBpbnQgYXV0b3N5bmNfc2FtcGxlX3JhdGU7Ci0gdW5zaWduZWQgY2hhciBzeXN0ZW1fY2xvY2tfbW9kZTsKKyAgdW5zaWduZWQgaW50IHNwZGlmX3NhbXBsZV9yYXRlOworICB1bnNpZ25lZCBpbnQgc3lzdGVtX3NhbXBsZV9yYXRlOworICB1bnNpZ25lZCBpbnQgYXV0b3N5bmNfc2FtcGxlX3JhdGU7CisgIHVuc2lnbmVkIGNoYXIgc3lzdGVtX2Nsb2NrX21vZGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgY2xvY2tfc291cmNlOwotIHVuc2lnbmVkIGNoYXIgYXV0b3N5bmNfcmVmOwotIHVuc2lnbmVkIGNoYXIgbGluZV9vdXQ7Ci0gdW5zaWduZWQgY2hhciBwYXNzdGhydTsKKyAgdW5zaWduZWQgY2hhciBjbG9ja19zb3VyY2U7CisgIHVuc2lnbmVkIGNoYXIgYXV0b3N5bmNfcmVmOworICB1bnNpZ25lZCBjaGFyIGxpbmVfb3V0OworICB1bnNpZ25lZCBjaGFyIHBhc3N0aHJ1OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGRhX2dhaW47Ci0gdW5zaWduZWQgY2hhciBhZF9nYWluOwotIHVuc2lnbmVkIGNoYXIgcGhvbmVfZ2FpbjsKLSB1bnNpZ25lZCBjaGFyIHhscl9icmVha291dF9jYWJsZTsKKyAgdW5zaWduZWQgY2hhciBkYV9nYWluOworICB1bnNpZ25lZCBjaGFyIGFkX2dhaW47CisgIHVuc2lnbmVkIGNoYXIgcGhvbmVfZ2FpbjsKKyAgdW5zaWduZWQgY2hhciB4bHJfYnJlYWtvdXRfY2FibGU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgYW5hbG9nX2V4dGVuc2lvbl9ib2FyZDsKKyAgdW5zaWduZWQgY2hhciBhbmFsb2dfZXh0ZW5zaW9uX2JvYXJkOwogfTsKICNkZWZpbmUgU05EUlZfSERTUF9JT0NUTF9HRVRfQ09ORklHX0lORk8gX0lPUignSCcsIDB4NDEsIHN0cnVjdCBoZHNwX2NvbmZpZ19pbmZvKQogc3RydWN0IGhkc3BfZmlybXdhcmUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB2b2lkIF9fdXNlciAqZmlybXdhcmVfZGF0YTsKKyAgdm9pZCBfX3VzZXIgKiBmaXJtd2FyZV9kYXRhOwogfTsKICNkZWZpbmUgU05EUlZfSERTUF9JT0NUTF9VUExPQURfRklSTVdBUkUgX0lPVygnSCcsIDB4NDIsIHN0cnVjdCBoZHNwX2Zpcm13YXJlKQogc3RydWN0IGhkc3BfdmVyc2lvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGVudW0gSERTUF9JT19UeXBlIGlvX3R5cGU7Ci0gdW5zaWduZWQgc2hvcnQgZmlybXdhcmVfcmV2OworICBlbnVtIEhEU1BfSU9fVHlwZSBpb190eXBlOworICB1bnNpZ25lZCBzaG9ydCBmaXJtd2FyZV9yZXY7CiB9OwogI2RlZmluZSBTTkRSVl9IRFNQX0lPQ1RMX0dFVF9WRVJTSU9OIF9JT1IoJ0gnLCAweDQzLCBzdHJ1Y3QgaGRzcF92ZXJzaW9uKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBoZHNwX21peGVyIHsKLSB1bnNpZ25lZCBzaG9ydCBtYXRyaXhbSERTUF9NQVRSSVhfTUlYRVJfU0laRV07CisgIHVuc2lnbmVkIHNob3J0IG1hdHJpeFtIRFNQX01BVFJJWF9NSVhFUl9TSVpFXTsKIH07CiAjZGVmaW5lIFNORFJWX0hEU1BfSU9DVExfR0VUX01JWEVSIF9JT1IoJ0gnLCAweDQ0LCBzdHJ1Y3QgaGRzcF9taXhlcikKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaGRzcF85NjMyX2FlYiB7Ci0gaW50IGFlYmk7Ci0gaW50IGFlYm87CisgIGludCBhZWJpOworICBpbnQgYWVibzsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9IRFNQX0lPQ1RMX0dFVF85NjMyX0FFQiBfSU9SKCdIJywgMHg0NSwgc3RydWN0IGhkc3BfOTYzMl9hZWIpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2hkc3BtLmggYi9saWJjL2tlcm5lbC91YXBpL3NvdW5kL2hkc3BtLmgKaW5kZXggOGIzNjg4Zi4uMTZkMDNiYSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9oZHNwbS5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvaGRzcG0uaApAQCAtMjEsMTU3ICsyMSwxNTcgQEAKICNkZWZpbmUgSERTUE1fTUFYX0NIQU5ORUxTIDY0CiBlbnVtIGhkc3BtX2lvX3R5cGUgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBNQURJLAotIE1BRElmYWNlLAotIEFJTywKLSBBRVMzMiwKKyAgTUFESSwKKyAgTUFESWZhY2UsCisgIEFJTywKKyAgQUVTMzIsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIFJheURBVAorICBSYXlEQVQKIH07CiBlbnVtIGhkc3BtX3NwZWVkIHsKLSBzcywKKyAgc3MsCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGRzLAotIHFzCisgIGRzLAorICBxcwogfTsKIHN0cnVjdCBoZHNwbV9wZWFrX3JtcyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQzMl90IGlucHV0X3BlYWtzWzY0XTsKLSB1aW50MzJfdCBwbGF5YmFja19wZWFrc1s2NF07Ci0gdWludDMyX3Qgb3V0cHV0X3BlYWtzWzY0XTsKLSB1aW50NjRfdCBpbnB1dF9ybXNbNjRdOworICB1aW50MzJfdCBpbnB1dF9wZWFrc1s2NF07CisgIHVpbnQzMl90IHBsYXliYWNrX3BlYWtzWzY0XTsKKyAgdWludDMyX3Qgb3V0cHV0X3BlYWtzWzY0XTsKKyAgdWludDY0X3QgaW5wdXRfcm1zWzY0XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgcGxheWJhY2tfcm1zWzY0XTsKLSB1aW50NjRfdCBvdXRwdXRfcm1zWzY0XTsKLSB1aW50OF90IHNwZWVkOwotIGludCBzdGF0dXMyOworICB1aW50NjRfdCBwbGF5YmFja19ybXNbNjRdOworICB1aW50NjRfdCBvdXRwdXRfcm1zWzY0XTsKKyAgdWludDhfdCBzcGVlZDsKKyAgaW50IHN0YXR1czI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgU05EUlZfSERTUE1fSU9DVExfR0VUX1BFQUtfUk1TICAgX0lPUignSCcsIDB4NDIsIHN0cnVjdCBoZHNwbV9wZWFrX3JtcykKKyNkZWZpbmUgU05EUlZfSERTUE1fSU9DVExfR0VUX1BFQUtfUk1TIF9JT1IoJ0gnLCAweDQyLCBzdHJ1Y3QgaGRzcG1fcGVha19ybXMpCiBzdHJ1Y3QgaGRzcG1fY29uZmlnIHsKLSB1bnNpZ25lZCBjaGFyIHByZWZfc3luY19yZWY7CisgIHVuc2lnbmVkIGNoYXIgcHJlZl9zeW5jX3JlZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciB3b3JkY2xvY2tfc3luY19jaGVjazsKLSB1bnNpZ25lZCBjaGFyIG1hZGlfc3luY19jaGVjazsKLSB1bnNpZ25lZCBpbnQgc3lzdGVtX3NhbXBsZV9yYXRlOwotIHVuc2lnbmVkIGludCBhdXRvc3luY19zYW1wbGVfcmF0ZTsKKyAgdW5zaWduZWQgY2hhciB3b3JkY2xvY2tfc3luY19jaGVjazsKKyAgdW5zaWduZWQgY2hhciBtYWRpX3N5bmNfY2hlY2s7CisgIHVuc2lnbmVkIGludCBzeXN0ZW1fc2FtcGxlX3JhdGU7CisgIHVuc2lnbmVkIGludCBhdXRvc3luY19zYW1wbGVfcmF0ZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgY2hhciBzeXN0ZW1fY2xvY2tfbW9kZTsKLSB1bnNpZ25lZCBjaGFyIGNsb2NrX3NvdXJjZTsKLSB1bnNpZ25lZCBjaGFyIGF1dG9zeW5jX3JlZjsKLSB1bnNpZ25lZCBjaGFyIGxpbmVfb3V0OworICB1bnNpZ25lZCBjaGFyIHN5c3RlbV9jbG9ja19tb2RlOworICB1bnNpZ25lZCBjaGFyIGNsb2NrX3NvdXJjZTsKKyAgdW5zaWduZWQgY2hhciBhdXRvc3luY19yZWY7CisgIHVuc2lnbmVkIGNoYXIgbGluZV9vdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBwYXNzdGhydTsKLSB1bnNpZ25lZCBpbnQgYW5hbG9nX291dDsKKyAgdW5zaWduZWQgaW50IHBhc3N0aHJ1OworICB1bnNpZ25lZCBpbnQgYW5hbG9nX291dDsKIH07Ci0jZGVmaW5lIFNORFJWX0hEU1BNX0lPQ1RMX0dFVF9DT05GSUcgICBfSU9SKCdIJywgMHg0MSwgc3RydWN0IGhkc3BtX2NvbmZpZykKKyNkZWZpbmUgU05EUlZfSERTUE1fSU9DVExfR0VUX0NPTkZJRyBfSU9SKCdIJywgMHg0MSwgc3RydWN0IGhkc3BtX2NvbmZpZykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBlbnVtIGhkc3BtX2x0Y19mb3JtYXQgewotIGZvcm1hdF9pbnZhbGlkLAotIGZwc18yNCwKLSBmcHNfMjUsCisgIGZvcm1hdF9pbnZhbGlkLAorICBmcHNfMjQsCisgIGZwc18yNSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZnBzXzI5OTcsCi0gZnBzXzMwCisgIGZwc18yOTk3LAorICBmcHNfMzAKIH07CiBlbnVtIGhkc3BtX2x0Y19mcmFtZSB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGZyYW1lX2ludmFsaWQsCi0gZHJvcF9mcmFtZSwKLSBmdWxsX2ZyYW1lCisgIGZyYW1lX2ludmFsaWQsCisgIGRyb3BfZnJhbWUsCisgIGZ1bGxfZnJhbWUKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogZW51bSBoZHNwbV9sdGNfaW5wdXRfZm9ybWF0IHsKLSBudHNjLAotIHBhbCwKLSBub192aWRlbworICBudHNjLAorICBwYWwsCisgIG5vX3ZpZGVvCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBoZHNwbV9sdGMgewotIHVuc2lnbmVkIGludCBsdGM7Ci0gZW51bSBoZHNwbV9sdGNfZm9ybWF0IGZvcm1hdDsKKyAgdW5zaWduZWQgaW50IGx0YzsKKyAgZW51bSBoZHNwbV9sdGNfZm9ybWF0IGZvcm1hdDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZW51bSBoZHNwbV9sdGNfZnJhbWUgZnJhbWU7Ci0gZW51bSBoZHNwbV9sdGNfaW5wdXRfZm9ybWF0IGlucHV0X2Zvcm1hdDsKKyAgZW51bSBoZHNwbV9sdGNfZnJhbWUgZnJhbWU7CisgIGVudW0gaGRzcG1fbHRjX2lucHV0X2Zvcm1hdCBpbnB1dF9mb3JtYXQ7CiB9OwogI2RlZmluZSBTTkRSVl9IRFNQTV9JT0NUTF9HRVRfTFRDIF9JT1IoJ0gnLCAweDQ2LCBzdHJ1Y3QgaGRzcG1fbHRjKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gaGRzcG1fc3luYyB7Ci0gaGRzcG1fc3luY19ub19sb2NrID0gMCwKLSBoZHNwbV9zeW5jX2xvY2sgPSAxLAotIGhkc3BtX3N5bmNfc3luYyA9IDIKKyAgaGRzcG1fc3luY19ub19sb2NrID0gMCwKKyAgaGRzcG1fc3luY19sb2NrID0gMSwKKyAgaGRzcG1fc3luY19zeW5jID0gMgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGhkc3BtX21hZGlfaW5wdXQgewotIGhkc3BtX2lucHV0X29wdGljYWwgPSAwLAotIGhkc3BtX2lucHV0X2NvYXggPSAxCisgIGhkc3BtX2lucHV0X29wdGljYWwgPSAwLAorICBoZHNwbV9pbnB1dF9jb2F4ID0gMQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBlbnVtIGhkc3BtX21hZGlfY2hhbm5lbF9mb3JtYXQgewotIGhkc3BtX2Zvcm1hdF9jaF82NCA9IDAsCi0gaGRzcG1fZm9ybWF0X2NoXzU2ID0gMQorICBoZHNwbV9mb3JtYXRfY2hfNjQgPSAwLAorICBoZHNwbV9mb3JtYXRfY2hfNTYgPSAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIGVudW0gaGRzcG1fbWFkaV9mcmFtZV9mb3JtYXQgewotIGhkc3BtX2ZyYW1lXzQ4ID0gMCwKLSBoZHNwbV9mcmFtZV85NiA9IDEKKyAgaGRzcG1fZnJhbWVfNDggPSAwLAorICBoZHNwbV9mcmFtZV85NiA9IDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogZW51bSBoZHNwbV9zeW5jc291cmNlIHsKLSBzeW5jc291cmNlX3djID0gMCwKLSBzeW5jc291cmNlX21hZGkgPSAxLAorICBzeW5jc291cmNlX3djID0gMCwKKyAgc3luY3NvdXJjZV9tYWRpID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3luY3NvdXJjZV90Y28gPSAyLAotIHN5bmNzb3VyY2Vfc3luYyA9IDMsCi0gc3luY3NvdXJjZV9ub25lID0gNAorICBzeW5jc291cmNlX3RjbyA9IDIsCisgIHN5bmNzb3VyY2Vfc3luYyA9IDMsCisgIHN5bmNzb3VyY2Vfbm9uZSA9IDQKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGhkc3BtX3N0YXR1cyB7Ci0gdWludDhfdCBjYXJkX3R5cGU7Ci0gZW51bSBoZHNwbV9zeW5jc291cmNlIGF1dG9zeW5jX3NvdXJjZTsKLSB1aW50NjRfdCBjYXJkX2Nsb2NrOworICB1aW50OF90IGNhcmRfdHlwZTsKKyAgZW51bSBoZHNwbV9zeW5jc291cmNlIGF1dG9zeW5jX3NvdXJjZTsKKyAgdWludDY0X3QgY2FyZF9jbG9jazsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgbWFzdGVyX3BlcmlvZDsKLSB1bmlvbiB7Ci0gc3RydWN0IHsKLSB1aW50OF90IHN5bmNfd2M7CisgIHVpbnQzMl90IG1hc3Rlcl9wZXJpb2Q7CisgIHVuaW9uIHsKKyAgICBzdHJ1Y3QgeworICAgICAgdWludDhfdCBzeW5jX3djOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50OF90IHN5bmNfbWFkaTsKLSB1aW50OF90IHN5bmNfdGNvOwotIHVpbnQ4X3Qgc3luY19pbjsKLSB1aW50OF90IG1hZGlfaW5wdXQ7CisgICAgICB1aW50OF90IHN5bmNfbWFkaTsKKyAgICAgIHVpbnQ4X3Qgc3luY190Y287CisgICAgICB1aW50OF90IHN5bmNfaW47CisgICAgICB1aW50OF90IG1hZGlfaW5wdXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ4X3QgY2hhbm5lbF9mb3JtYXQ7Ci0gdWludDhfdCBmcmFtZV9mb3JtYXQ7Ci0gfSBtYWRpOwotIH0gY2FyZF9zcGVjaWZpYzsKKyAgICAgIHVpbnQ4X3QgY2hhbm5lbF9mb3JtYXQ7CisgICAgICB1aW50OF90IGZyYW1lX2Zvcm1hdDsKKyAgICB9IG1hZGk7CisgIH0gY2FyZF9zcGVjaWZpYzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwotI2RlZmluZSBTTkRSVl9IRFNQTV9JT0NUTF9HRVRfU1RBVFVTICAgX0lPUignSCcsIDB4NDcsIHN0cnVjdCBoZHNwbV9zdGF0dXMpCisjZGVmaW5lIFNORFJWX0hEU1BNX0lPQ1RMX0dFVF9TVEFUVVMgX0lPUignSCcsIDB4NDcsIHN0cnVjdCBoZHNwbV9zdGF0dXMpCiAjZGVmaW5lIEhEU1BNX0FERE9OX1RDTyAxCiBzdHJ1Y3QgaGRzcG1fdmVyc2lvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQ4X3QgY2FyZF90eXBlOwotIGNoYXIgY2FyZG5hbWVbMjBdOwotIHVuc2lnbmVkIGludCBzZXJpYWw7Ci0gdW5zaWduZWQgc2hvcnQgZmlybXdhcmVfcmV2OworICB1aW50OF90IGNhcmRfdHlwZTsKKyAgY2hhciBjYXJkbmFtZVsyMF07CisgIHVuc2lnbmVkIGludCBzZXJpYWw7CisgIHVuc2lnbmVkIHNob3J0IGZpcm13YXJlX3JldjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gaW50IGFkZG9uczsKKyAgaW50IGFkZG9uczsKIH07CiAjZGVmaW5lIFNORFJWX0hEU1BNX0lPQ1RMX0dFVF9WRVJTSU9OIF9JT1IoJ0gnLCAweDQ4LCBzdHJ1Y3QgaGRzcG1fdmVyc2lvbikKICNkZWZpbmUgSERTUE1fTUlYRVJfQ0hBTk5FTFMgSERTUE1fTUFYX0NIQU5ORUxTCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGhkc3BtX2NoYW5uZWxmYWRlciB7Ci0gdW5zaWduZWQgaW50IGluW0hEU1BNX01JWEVSX0NIQU5ORUxTXTsKLSB1bnNpZ25lZCBpbnQgcGJbSERTUE1fTUlYRVJfQ0hBTk5FTFNdOworICB1bnNpZ25lZCBpbnQgaW5bSERTUE1fTUlYRVJfQ0hBTk5FTFNdOworICB1bnNpZ25lZCBpbnQgcGJbSERTUE1fTUlYRVJfQ0hBTk5FTFNdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3QgaGRzcG1fbWl4ZXIgewotIHN0cnVjdCBoZHNwbV9jaGFubmVsZmFkZXIgY2hbSERTUE1fTUlYRVJfQ0hBTk5FTFNdOworICBzdHJ1Y3QgaGRzcG1fY2hhbm5lbGZhZGVyIGNoW0hEU1BNX01JWEVSX0NIQU5ORUxTXTsKIH07CiBzdHJ1Y3QgaGRzcG1fbWl4ZXJfaW9jdGwgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgaGRzcG1fbWl4ZXIgKm1peGVyOworICBzdHJ1Y3QgaGRzcG1fbWl4ZXIgKiBtaXhlcjsKIH07CiAjZGVmaW5lIFNORFJWX0hEU1BNX0lPQ1RMX0dFVF9NSVhFUiBfSU9SKCdIJywgMHg0NCwgc3RydWN0IGhkc3BtX21peGVyX2lvY3RsKQogdHlwZWRlZiBzdHJ1Y3QgaGRzcG1fcGVha19ybXMgaGRzcG1fcGVha19ybXNfdDsKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkvc291bmQvc2IxNl9jc3AuaCBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvc2IxNl9jc3AuaAppbmRleCAyOWMxYTAxLi5hMDJlNmJjIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL3NiMTZfY3NwLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9zYjE2X2NzcC5oCkBAIC00OCwzOCArNDgsMzggQEAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NCX0NTUF9NQVhfTUlDUk9DT0RFX0ZJTEVfU0laRSAweDMwMDAKIHN0cnVjdCBzbmRfc2JfY3NwX21jX2hlYWRlciB7Ci0gY2hhciBjb2RlY19uYW1lWzE2XTsKLSB1bnNpZ25lZCBzaG9ydCBmdW5jX3JlcTsKKyAgY2hhciBjb2RlY19uYW1lWzE2XTsKKyAgdW5zaWduZWQgc2hvcnQgZnVuY19yZXE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzbmRfc2JfY3NwX21pY3JvY29kZSB7Ci0gc3RydWN0IHNuZF9zYl9jc3BfbWNfaGVhZGVyIGluZm87Ci0gdW5zaWduZWQgY2hhciBkYXRhW1NORFJWX1NCX0NTUF9NQVhfTUlDUk9DT0RFX0ZJTEVfU0laRV07CisgIHN0cnVjdCBzbmRfc2JfY3NwX21jX2hlYWRlciBpbmZvOworICB1bnNpZ25lZCBjaGFyIGRhdGFbU05EUlZfU0JfQ1NQX01BWF9NSUNST0NPREVfRklMRV9TSVpFXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9Owogc3RydWN0IHNuZF9zYl9jc3Bfc3RhcnQgewotIGludCBzYW1wbGVfd2lkdGg7Ci0gaW50IGNoYW5uZWxzOworICBpbnQgc2FtcGxlX3dpZHRoOworICBpbnQgY2hhbm5lbHM7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBzbmRfc2JfY3NwX2luZm8gewotIGNoYXIgY29kZWNfbmFtZVsxNl07Ci0gdW5zaWduZWQgc2hvcnQgZnVuY19ucjsKKyAgY2hhciBjb2RlY19uYW1lWzE2XTsKKyAgdW5zaWduZWQgc2hvcnQgZnVuY19ucjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IGFjY19mb3JtYXQ7Ci0gdW5zaWduZWQgc2hvcnQgYWNjX2NoYW5uZWxzOwotIHVuc2lnbmVkIHNob3J0IGFjY193aWR0aDsKLSB1bnNpZ25lZCBzaG9ydCBhY2NfcmF0ZXM7CisgIHVuc2lnbmVkIGludCBhY2NfZm9ybWF0OworICB1bnNpZ25lZCBzaG9ydCBhY2NfY2hhbm5lbHM7CisgIHVuc2lnbmVkIHNob3J0IGFjY193aWR0aDsKKyAgdW5zaWduZWQgc2hvcnQgYWNjX3JhdGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBjc3BfbW9kZTsKLSB1bnNpZ25lZCBzaG9ydCBydW5fY2hhbm5lbHM7Ci0gdW5zaWduZWQgc2hvcnQgcnVuX3dpZHRoOwotIHVuc2lnbmVkIHNob3J0IHZlcnNpb247CisgIHVuc2lnbmVkIHNob3J0IGNzcF9tb2RlOworICB1bnNpZ25lZCBzaG9ydCBydW5fY2hhbm5lbHM7CisgIHVuc2lnbmVkIHNob3J0IHJ1bl93aWR0aDsKKyAgdW5zaWduZWQgc2hvcnQgdmVyc2lvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgc3RhdGU7CisgIHVuc2lnbmVkIHNob3J0IHN0YXRlOwogfTsKICNkZWZpbmUgU05EUlZfU0JfQ1NQX0lPQ1RMX0lORk8gX0lPUignSCcsIDB4MTAsIHN0cnVjdCBzbmRfc2JfY3NwX2luZm8pCi0jZGVmaW5lIFNORFJWX1NCX0NTUF9JT0NUTF9MT0FEX0NPREUgICBfSU9DKF9JT0NfV1JJVEUsICdIJywgMHgxMSwgc2l6ZW9mKHN0cnVjdCBzbmRfc2JfY3NwX21pY3JvY29kZSkpCisjZGVmaW5lIFNORFJWX1NCX0NTUF9JT0NUTF9MT0FEX0NPREUgX0lPQyhfSU9DX1dSSVRFLCAnSCcsIDB4MTEsIHNpemVvZihzdHJ1Y3Qgc25kX3NiX2NzcF9taWNyb2NvZGUpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfU0JfQ1NQX0lPQ1RMX1VOTE9BRF9DT0RFIF9JTygnSCcsIDB4MTIpCiAjZGVmaW5lIFNORFJWX1NCX0NTUF9JT0NUTF9TVEFSVCBfSU9XKCdIJywgMHgxMywgc3RydWN0IHNuZF9zYl9jc3Bfc3RhcnQpCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL3NmbnRfaW5mby5oIGIvbGliYy9rZXJuZWwvdWFwaS9zb3VuZC9zZm50X2luZm8uaAppbmRleCBhYmU2YTU1Li5lNGQzMWM4IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3NvdW5kL3NmbnRfaW5mby5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvc291bmQvc2ZudF9pbmZvLmgKQEAgLTIxLDIwICsyMSwyMCBAQAogI2luY2x1ZGUgPHNvdW5kL2Fzb3VuZC5oPgogI2lmZGVmIFNORFJWX0JJR19FTkRJQU4KIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIFNORFJWX09TU19QQVRDSEtFWShpZCkgKDB4ZmQwMHxpZCkKKyNkZWZpbmUgU05EUlZfT1NTX1BBVENIS0VZKGlkKSAoMHhmZDAwIHwgaWQpCiAjZWxzZQotI2RlZmluZSBTTkRSVl9PU1NfUEFUQ0hLRVkoaWQpICgoaWQ8PDgpfDB4ZmQpCisjZGVmaW5lIFNORFJWX09TU19QQVRDSEtFWShpZCkgKChpZCA8PCA4KSB8IDB4ZmQpCiAjZW5kaWYKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc291bmRmb250X3BhdGNoX2luZm8gewotIHVuc2lnbmVkIHNob3J0IGtleTsKKyAgdW5zaWduZWQgc2hvcnQga2V5OwogI2RlZmluZSBTTkRSVl9PU1NfU09VTkRGT05UX1BBVENIIFNORFJWX09TU19QQVRDSEtFWSgweDA3KQotIHNob3J0IGRldmljZV9ubzsKKyAgc2hvcnQgZGV2aWNlX25vOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzZl9pZDsKLSBzaG9ydCBvcHRhcmc7Ci0gaW50IGxlbjsKLSBzaG9ydCB0eXBlOworICB1bnNpZ25lZCBzaG9ydCBzZl9pZDsKKyAgc2hvcnQgb3B0YXJnOworICBpbnQgbGVuOworICBzaG9ydCB0eXBlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfU0ZOVF9MT0FEX0lORk8gMAogI2RlZmluZSBTTkRSVl9TRk5UX0xPQURfREFUQSAxCkBAIC00Niw1OSArNDYsNTkgQEAKICNkZWZpbmUgU05EUlZfU0ZOVF9QUk9CRV9EQVRBIDgKICNkZWZpbmUgU05EUlZfU0ZOVF9SRU1PVkVfSU5GTyA5CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IHJlc2VydmVkOworICBzaG9ydCByZXNlcnZlZDsKIH07CiAjZGVmaW5lIFNORFJWX1NGTlRfUEFUQ0hfTkFNRV9MRU4gMzIKIHN0cnVjdCBzb3VuZGZvbnRfb3Blbl9wYXJtIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgdHlwZTsKKyAgdW5zaWduZWQgc2hvcnQgdHlwZTsKICNkZWZpbmUgU05EUlZfU0ZOVF9QQVRfVFlQRV9NSVNDIDAKICNkZWZpbmUgU05EUlZfU0ZOVF9QQVRfVFlQRV9HVVMgNgogI2RlZmluZSBTTkRSVl9TRk5UX1BBVF9UWVBFX01BUCA3CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBTTkRSVl9TRk5UX1BBVF9MT0NLRUQgMHgxMDAKICNkZWZpbmUgU05EUlZfU0ZOVF9QQVRfU0hBUkVEIDB4MjAwCi0gc2hvcnQgcmVzZXJ2ZWQ7Ci0gY2hhciBuYW1lW1NORFJWX1NGTlRfUEFUQ0hfTkFNRV9MRU5dOworICBzaG9ydCByZXNlcnZlZDsKKyAgY2hhciBuYW1lW1NORFJWX1NGTlRfUEFUQ0hfTkFNRV9MRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc291bmRmb250X3ZvaWNlX3Bhcm0gewotIHVuc2lnbmVkIHNob3J0IG1vZGRlbGF5OwotIHVuc2lnbmVkIHNob3J0IG1vZGF0a2hsZDsKKyAgdW5zaWduZWQgc2hvcnQgbW9kZGVsYXk7CisgIHVuc2lnbmVkIHNob3J0IG1vZGF0a2hsZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgbW9kZGN5c3VzOwotIHVuc2lnbmVkIHNob3J0IG1vZHJlbGVhc2U7Ci0gc2hvcnQgbW9ka2V5aG9sZCwgbW9ka2V5ZGVjYXk7Ci0gdW5zaWduZWQgc2hvcnQgdm9sZGVsYXk7CisgIHVuc2lnbmVkIHNob3J0IG1vZGRjeXN1czsKKyAgdW5zaWduZWQgc2hvcnQgbW9kcmVsZWFzZTsKKyAgc2hvcnQgbW9ka2V5aG9sZCwgbW9ka2V5ZGVjYXk7CisgIHVuc2lnbmVkIHNob3J0IHZvbGRlbGF5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCB2b2xhdGtobGQ7Ci0gdW5zaWduZWQgc2hvcnQgdm9sZGN5c3VzOwotIHVuc2lnbmVkIHNob3J0IHZvbHJlbGVhc2U7Ci0gc2hvcnQgdm9sa2V5aG9sZCwgdm9sa2V5ZGVjYXk7CisgIHVuc2lnbmVkIHNob3J0IHZvbGF0a2hsZDsKKyAgdW5zaWduZWQgc2hvcnQgdm9sZGN5c3VzOworICB1bnNpZ25lZCBzaG9ydCB2b2xyZWxlYXNlOworICBzaG9ydCB2b2xrZXlob2xkLCB2b2xrZXlkZWNheTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgc2hvcnQgbGZvMWRlbGF5OwotIHVuc2lnbmVkIHNob3J0IGxmbzJkZWxheTsKLSB1bnNpZ25lZCBzaG9ydCBwZWZlOwotIHVuc2lnbmVkIHNob3J0IGZtbW9kOworICB1bnNpZ25lZCBzaG9ydCBsZm8xZGVsYXk7CisgIHVuc2lnbmVkIHNob3J0IGxmbzJkZWxheTsKKyAgdW5zaWduZWQgc2hvcnQgcGVmZTsKKyAgdW5zaWduZWQgc2hvcnQgZm1tb2Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIHNob3J0IHRyZW1mcnE7Ci0gdW5zaWduZWQgc2hvcnQgZm0yZnJxMjsKLSB1bnNpZ25lZCBjaGFyIGN1dG9mZjsKLSB1bnNpZ25lZCBjaGFyIGZpbHRlclE7CisgIHVuc2lnbmVkIHNob3J0IHRyZW1mcnE7CisgIHVuc2lnbmVkIHNob3J0IGZtMmZycTI7CisgIHVuc2lnbmVkIGNoYXIgY3V0b2ZmOworICB1bnNpZ25lZCBjaGFyIGZpbHRlclE7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGNoYXIgY2hvcnVzOwotIHVuc2lnbmVkIGNoYXIgcmV2ZXJiOwotIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkWzRdOworICB1bnNpZ25lZCBjaGFyIGNob3J1czsKKyAgdW5zaWduZWQgY2hhciByZXZlcmI7CisgIHVuc2lnbmVkIHNob3J0IHJlc2VydmVkWzRdOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiBzdHJ1Y3Qgc291bmRmb250X3ZvaWNlX2luZm8gewotIHVuc2lnbmVkIHNob3J0IHNmX2lkOwotIHVuc2lnbmVkIHNob3J0IHNhbXBsZTsKLSBpbnQgc3RhcnQsIGVuZDsKKyAgdW5zaWduZWQgc2hvcnQgc2ZfaWQ7CisgIHVuc2lnbmVkIHNob3J0IHNhbXBsZTsKKyAgaW50IHN0YXJ0LCBlbmQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBsb29wc3RhcnQsIGxvb3BlbmQ7Ci0gc2hvcnQgcmF0ZV9vZmZzZXQ7Ci0gdW5zaWduZWQgc2hvcnQgbW9kZTsKKyAgaW50IGxvb3BzdGFydCwgbG9vcGVuZDsKKyAgc2hvcnQgcmF0ZV9vZmZzZXQ7CisgIHVuc2lnbmVkIHNob3J0IG1vZGU7CiAjZGVmaW5lIFNORFJWX1NGTlRfTU9ERV9ST01TT1VORCAweDgwMDAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NGTlRfTU9ERV9TVEVSRU8gMQpAQCAtMTA2LDQzICsxMDYsNDMgQEAKICNkZWZpbmUgU05EUlZfU0ZOVF9NT0RFX05PUkVMRUFTRSA0CiAjZGVmaW5lIFNORFJWX1NGTlRfTU9ERV9JTklUX1BBUk0gOAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaG9ydCByb290OwotIHNob3J0IHR1bmU7Ci0gdW5zaWduZWQgY2hhciBsb3csIGhpZ2g7Ci0gdW5zaWduZWQgY2hhciB2ZWxsb3csIHZlbGhpZ2g7CisgIHNob3J0IHJvb3Q7CisgIHNob3J0IHR1bmU7CisgIHVuc2lnbmVkIGNoYXIgbG93LCBoaWdoOworICB1bnNpZ25lZCBjaGFyIHZlbGxvdywgdmVsaGlnaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2lnbmVkIGNoYXIgZml4a2V5LCBmaXh2ZWw7Ci0gc2lnbmVkIGNoYXIgcGFuLCBmaXhwYW47Ci0gc2hvcnQgZXhjbHVzaXZlQ2xhc3M7Ci0gdW5zaWduZWQgY2hhciBhbXBsaXR1ZGU7CisgIHNpZ25lZCBjaGFyIGZpeGtleSwgZml4dmVsOworICBzaWduZWQgY2hhciBwYW4sIGZpeHBhbjsKKyAgc2hvcnQgZXhjbHVzaXZlQ2xhc3M7CisgIHVuc2lnbmVkIGNoYXIgYW1wbGl0dWRlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBjaGFyIGF0dGVudWF0aW9uOwotIHNob3J0IHNjYWxlVHVuaW5nOwotIHN0cnVjdCBzb3VuZGZvbnRfdm9pY2VfcGFybSBwYXJtOwotIHVuc2lnbmVkIHNob3J0IHNhbXBsZV9tb2RlOworICB1bnNpZ25lZCBjaGFyIGF0dGVudWF0aW9uOworICBzaG9ydCBzY2FsZVR1bmluZzsKKyAgc3RydWN0IHNvdW5kZm9udF92b2ljZV9wYXJtIHBhcm07CisgIHVuc2lnbmVkIHNob3J0IHNhbXBsZV9tb2RlOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiBzdHJ1Y3Qgc291bmRmb250X3ZvaWNlX3JlY19oZHIgewotIHVuc2lnbmVkIGNoYXIgYmFuazsKLSB1bnNpZ25lZCBjaGFyIGluc3RyOworICB1bnNpZ25lZCBjaGFyIGJhbms7CisgIHVuc2lnbmVkIGNoYXIgaW5zdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGNoYXIgbnZvaWNlczsKLSBjaGFyIHdyaXRlX21vZGU7CisgIGNoYXIgbnZvaWNlczsKKyAgY2hhciB3cml0ZV9tb2RlOwogI2RlZmluZSBTTkRSVl9TRk5UX1dSX0FQUEVORCAwCiAjZGVmaW5lIFNORFJWX1NGTlRfV1JfRVhDTFVTSVZFIDEKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX1NGTlRfV1JfUkVQTEFDRSAyCiB9Owogc3RydWN0IHNvdW5kZm9udF9zYW1wbGVfaW5mbyB7Ci0gdW5zaWduZWQgc2hvcnQgc2ZfaWQ7CisgIHVuc2lnbmVkIHNob3J0IHNmX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBzaG9ydCBzYW1wbGU7Ci0gaW50IHN0YXJ0LCBlbmQ7Ci0gaW50IGxvb3BzdGFydCwgbG9vcGVuZDsKLSBpbnQgc2l6ZTsKKyAgdW5zaWduZWQgc2hvcnQgc2FtcGxlOworICBpbnQgc3RhcnQsIGVuZDsKKyAgaW50IGxvb3BzdGFydCwgbG9vcGVuZDsKKyAgaW50IHNpemU7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHNob3J0IGR1bW15OwotIHVuc2lnbmVkIHNob3J0IG1vZGVfZmxhZ3M7CisgIHNob3J0IGR1bW15OworICB1bnNpZ25lZCBzaG9ydCBtb2RlX2ZsYWdzOwogI2RlZmluZSBTTkRSVl9TRk5UX1NBTVBMRV84QklUUyAxCiAjZGVmaW5lIFNORFJWX1NGTlRfU0FNUExFX1VOU0lHTkVEIDIKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCkBAIC0xNTMsMjIgKzE1MywyMiBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfU0ZOVF9TQU1QTEVfU1RFUkVPX1JJR0hUIDY0CiAjZGVmaW5lIFNORFJWX1NGTlRfU0FNUExFX1JFVkVSU0VfTE9PUCAxMjgKLSB1bnNpZ25lZCBpbnQgdHJ1ZXNpemU7CisgIHVuc2lnbmVkIGludCB0cnVlc2l6ZTsKIH07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNvdW5kZm9udF92b2ljZV9tYXAgewotIGludCBtYXBfYmFuaywgbWFwX2luc3RyLCBtYXBfa2V5OwotIGludCBzcmNfYmFuaywgc3JjX2luc3RyLCBzcmNfa2V5OworICBpbnQgbWFwX2JhbmssIG1hcF9pbnN0ciwgbWFwX2tleTsKKyAgaW50IHNyY19iYW5rLCBzcmNfaW5zdHIsIHNyY19rZXk7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgU05EUlZfRU1VWF9IV0RFUF9OQU1FICJFbXV4IFdhdmVUYWJsZSIKICNkZWZpbmUgU05EUlZfRU1VWF9WRVJTSU9OICgoMSA8PCAxNikgfCAoMCA8PCA4KSB8IDApCiBzdHJ1Y3Qgc25kX2VtdXhfbWlzY19tb2RlIHsKLSBpbnQgcG9ydDsKKyAgaW50IHBvcnQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIGludCBtb2RlOwotIGludCB2YWx1ZTsKLSBpbnQgdmFsdWUyOworICBpbnQgbW9kZTsKKyAgaW50IHZhbHVlOworICBpbnQgdmFsdWUyOwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNORFJWX0VNVVhfSU9DVExfVkVSU0lPTiBfSU9SKCdIJywgMHg4MCwgdW5zaWduZWQgaW50KQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS92aWRlby9hZGYuaCBiL2xpYmMva2VybmVsL3VhcGkvdmlkZW8vYWRmLmgKaW5kZXggZmUyM2UwMS4uNzcyMDNhNSAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS92aWRlby9hZGYuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL2FkZi5oCkBAIC0yNywxMzcgKzI3LDEzNyBAQAogI2RlZmluZSBBREZfTUFYX0NVU1RPTV9EQVRBX1NJWkUgNDA5NgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIGVudW0gYWRmX2ludGVyZmFjZV90eXBlIHsKLSBBREZfSU5URl9EU0kgPSAwLAotIEFERl9JTlRGX2VEUCA9IDEsCi0gQURGX0lOVEZfRFBJID0gMiwKKyAgQURGX0lOVEZfRFNJID0gMCwKKyAgQURGX0lOVEZfZURQID0gMSwKKyAgQURGX0lOVEZfRFBJID0gMiwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQURGX0lOVEZfVkdBID0gMywKLSBBREZfSU5URl9EVkkgPSA0LAotIEFERl9JTlRGX0hETUkgPSA1LAotIEFERl9JTlRGX01FTU9SWSA9IDYsCisgIEFERl9JTlRGX1ZHQSA9IDMsCisgIEFERl9JTlRGX0RWSSA9IDQsCisgIEFERl9JTlRGX0hETUkgPSA1LAorICBBREZfSU5URl9NRU1PUlkgPSA2LAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBBREZfSU5URl9UWVBFX0RFVklDRV9DVVNUT00gPSAxMjgsCi0gQURGX0lOVEZfVFlQRV9NQVggPSAofihfX3UzMikwKSwKKyAgQURGX0lOVEZfVFlQRV9ERVZJQ0VfQ1VTVE9NID0gMTI4LAorICBBREZfSU5URl9UWVBFX01BWCA9ICh+KF9fdTMyKSAwKSwKIH07CiAjZGVmaW5lIEFERl9JTlRGX0ZMQUdfUFJJTUFSWSAoMSA8PCAwKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQURGX0lOVEZfRkxBR19FWFRFUk5BTCAoMSA8PCAxKQogZW51bSBhZGZfZXZlbnRfdHlwZSB7Ci0gQURGX0VWRU5UX1ZTWU5DID0gMCwKLSBBREZfRVZFTlRfSE9UUExVRyA9IDEsCisgIEFERl9FVkVOVF9WU1lOQyA9IDAsCisgIEFERl9FVkVOVF9IT1RQTFVHID0gMSwKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gQURGX0VWRU5UX0RFVklDRV9DVVNUT00gPSAxMjgsCi0gQURGX0VWRU5UX1RZUEVfTUFYID0gMjU1LAorICBBREZfRVZFTlRfREVWSUNFX0NVU1RPTSA9IDEyOCwKKyAgQURGX0VWRU5UX1RZUEVfTUFYID0gMjU1LAogfTsKIHN0cnVjdCBhZGZfc2V0X2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCB0eXBlOwotIF9fdTggZW5hYmxlZDsKKyAgX191OCB0eXBlOworICBfX3U4IGVuYWJsZWQ7CiB9Owogc3RydWN0IGFkZl9ldmVudCB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggdHlwZTsKLSBfX3UzMiBsZW5ndGg7CisgIF9fdTggdHlwZTsKKyAgX191MzIgbGVuZ3RoOwogfTsKIHN0cnVjdCBhZGZfdnN5bmNfZXZlbnQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzdHJ1Y3QgYWRmX2V2ZW50IGJhc2U7Ci0gX19hbGlnbmVkX3U2NCB0aW1lc3RhbXA7CisgIHN0cnVjdCBhZGZfZXZlbnQgYmFzZTsKKyAgX19hbGlnbmVkX3U2NCB0aW1lc3RhbXA7CiB9Owogc3RydWN0IGFkZl9ob3RwbHVnX2V2ZW50IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGFkZl9ldmVudCBiYXNlOwotIF9fdTggY29ubmVjdGVkOworICBzdHJ1Y3QgYWRmX2V2ZW50IGJhc2U7CisgIF9fdTggY29ubmVjdGVkOwogfTsKICNkZWZpbmUgQURGX01BWF9QTEFORVMgNAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBhZGZfYnVmZmVyX2NvbmZpZyB7Ci0gX191MzIgb3ZlcmxheV9lbmdpbmU7Ci0gX191MzIgdzsKLSBfX3UzMiBoOworICBfX3UzMiBvdmVybGF5X2VuZ2luZTsKKyAgX191MzIgdzsKKyAgX191MzIgaDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZm9ybWF0OwotIF9fczMyIGZkW0FERl9NQVhfUExBTkVTXTsKLSBfX3UzMiBvZmZzZXRbQURGX01BWF9QTEFORVNdOwotIF9fdTMyIHBpdGNoW0FERl9NQVhfUExBTkVTXTsKKyAgX191MzIgZm9ybWF0OworICBfX3MzMiBmZFtBREZfTUFYX1BMQU5FU107CisgIF9fdTMyIG9mZnNldFtBREZfTUFYX1BMQU5FU107CisgIF9fdTMyIHBpdGNoW0FERl9NQVhfUExBTkVTXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBuX3BsYW5lczsKLSBfX3MzMiBhY3F1aXJlX2ZlbmNlOworICBfX3U4IG5fcGxhbmVzOworICBfX3MzMiBhY3F1aXJlX2ZlbmNlOwogfTsKICNkZWZpbmUgQURGX01BWF9CVUZGRVJTICg0MDk2IC8gc2l6ZW9mKHN0cnVjdCBhZGZfYnVmZmVyX2NvbmZpZykpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGFkZl9wb3N0X2NvbmZpZyB7Ci0gc2l6ZV90IG5faW50ZXJmYWNlczsKLSBfX3UzMiBfX3VzZXIgKmludGVyZmFjZXM7Ci0gc2l6ZV90IG5fYnVmczsKKyAgc2l6ZV90IG5faW50ZXJmYWNlczsKKyAgX191MzIgX191c2VyICogaW50ZXJmYWNlczsKKyAgc2l6ZV90IG5fYnVmczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc3RydWN0IGFkZl9idWZmZXJfY29uZmlnIF9fdXNlciAqYnVmczsKLSBzaXplX3QgY3VzdG9tX2RhdGFfc2l6ZTsKLSB2b2lkIF9fdXNlciAqY3VzdG9tX2RhdGE7Ci0gX19zMzIgY29tcGxldGVfZmVuY2U7CisgIHN0cnVjdCBhZGZfYnVmZmVyX2NvbmZpZyBfX3VzZXIgKiBidWZzOworICBzaXplX3QgY3VzdG9tX2RhdGFfc2l6ZTsKKyAgdm9pZCBfX3VzZXIgKiBjdXN0b21fZGF0YTsKKyAgX19zMzIgY29tcGxldGVfZmVuY2U7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKICNkZWZpbmUgQURGX01BWF9JTlRFUkZBQ0VTICg0MDk2IC8gc2l6ZW9mKF9fdTMyKSkKIHN0cnVjdCBhZGZfc2ltcGxlX2J1ZmZlcl9hbGxvYyB7Ci0gX191MTYgdzsKKyAgX191MTYgdzsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgaDsKLSBfX3UzMiBmb3JtYXQ7Ci0gX19zMzIgZmQ7Ci0gX191MzIgb2Zmc2V0OworICBfX3UxNiBoOworICBfX3UzMiBmb3JtYXQ7CisgIF9fczMyIGZkOworICBfX3UzMiBvZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHBpdGNoOworICBfX3UzMiBwaXRjaDsKIH07CiBzdHJ1Y3QgYWRmX3NpbXBsZV9wb3N0X2NvbmZpZyB7Ci0gc3RydWN0IGFkZl9idWZmZXJfY29uZmlnIGJ1ZjsKKyAgc3RydWN0IGFkZl9idWZmZXJfY29uZmlnIGJ1ZjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX19zMzIgY29tcGxldGVfZmVuY2U7CisgIF9fczMyIGNvbXBsZXRlX2ZlbmNlOwogfTsKIHN0cnVjdCBhZGZfYXR0YWNobWVudF9jb25maWcgewotIF9fdTMyIG92ZXJsYXlfZW5naW5lOworICBfX3UzMiBvdmVybGF5X2VuZ2luZTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgaW50ZXJmYWNlOworICBfX3UzMiBpbnRlcmZhY2U7CiB9Owogc3RydWN0IGFkZl9kZXZpY2VfZGF0YSB7Ci0gY2hhciBuYW1lW0FERl9OQU1FX0xFTl07CisgIGNoYXIgbmFtZVtBREZfTkFNRV9MRU5dOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplX3Qgbl9hdHRhY2htZW50czsKLSBzdHJ1Y3QgYWRmX2F0dGFjaG1lbnRfY29uZmlnIF9fdXNlciAqYXR0YWNobWVudHM7Ci0gc2l6ZV90IG5fYWxsb3dlZF9hdHRhY2htZW50czsKLSBzdHJ1Y3QgYWRmX2F0dGFjaG1lbnRfY29uZmlnIF9fdXNlciAqYWxsb3dlZF9hdHRhY2htZW50czsKKyAgc2l6ZV90IG5fYXR0YWNobWVudHM7CisgIHN0cnVjdCBhZGZfYXR0YWNobWVudF9jb25maWcgX191c2VyICogYXR0YWNobWVudHM7CisgIHNpemVfdCBuX2FsbG93ZWRfYXR0YWNobWVudHM7CisgIHN0cnVjdCBhZGZfYXR0YWNobWVudF9jb25maWcgX191c2VyICogYWxsb3dlZF9hdHRhY2htZW50czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2l6ZV90IGN1c3RvbV9kYXRhX3NpemU7Ci0gdm9pZCBfX3VzZXIgKmN1c3RvbV9kYXRhOworICBzaXplX3QgY3VzdG9tX2RhdGFfc2l6ZTsKKyAgdm9pZCBfX3VzZXIgKiBjdXN0b21fZGF0YTsKIH07CiAjZGVmaW5lIEFERl9NQVhfQVRUQUNITUVOVFMgKDQwOTYgLyBzaXplb2Yoc3RydWN0IGFkZl9hdHRhY2htZW50X2NvbmZpZykpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGFkZl9pbnRlcmZhY2VfZGF0YSB7Ci0gY2hhciBuYW1lW0FERl9OQU1FX0xFTl07Ci0gX191MzIgdHlwZTsKLSBfX3UzMiBpZDsKKyAgY2hhciBuYW1lW0FERl9OQU1FX0xFTl07CisgIF9fdTMyIHR5cGU7CisgIF9fdTMyIGlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBmbGFnczsKLSBfX3U4IGRwbXNfc3RhdGU7Ci0gX191OCBob3RwbHVnX2RldGVjdDsKLSBfX3UxNiB3aWR0aF9tbTsKKyAgX191MzIgZmxhZ3M7CisgIF9fdTggZHBtc19zdGF0ZTsKKyAgX191OCBob3RwbHVnX2RldGVjdDsKKyAgX191MTYgd2lkdGhfbW07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTE2IGhlaWdodF9tbTsKLSBzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gY3VycmVudF9tb2RlOwotIHNpemVfdCBuX2F2YWlsYWJsZV9tb2RlczsKLSBzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gX191c2VyICphdmFpbGFibGVfbW9kZXM7CisgIF9fdTE2IGhlaWdodF9tbTsKKyAgc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIGN1cnJlbnRfbW9kZTsKKyAgc2l6ZV90IG5fYXZhaWxhYmxlX21vZGVzOworICBzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gX191c2VyICogYXZhaWxhYmxlX21vZGVzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBzaXplX3QgY3VzdG9tX2RhdGFfc2l6ZTsKLSB2b2lkIF9fdXNlciAqY3VzdG9tX2RhdGE7CisgIHNpemVfdCBjdXN0b21fZGF0YV9zaXplOworICB2b2lkIF9fdXNlciAqIGN1c3RvbV9kYXRhOwogfTsKICNkZWZpbmUgQURGX01BWF9NT0RFUyAoNDA5NiAvIHNpemVvZihzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8pKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBhZGZfb3ZlcmxheV9lbmdpbmVfZGF0YSB7Ci0gY2hhciBuYW1lW0FERl9OQU1FX0xFTl07Ci0gc2l6ZV90IG5fc3VwcG9ydGVkX2Zvcm1hdHM7Ci0gX191MzIgX191c2VyICpzdXBwb3J0ZWRfZm9ybWF0czsKKyAgY2hhciBuYW1lW0FERl9OQU1FX0xFTl07CisgIHNpemVfdCBuX3N1cHBvcnRlZF9mb3JtYXRzOworICBfX3UzMiBfX3VzZXIgKiBzdXBwb3J0ZWRfZm9ybWF0czsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gc2l6ZV90IGN1c3RvbV9kYXRhX3NpemU7Ci0gdm9pZCBfX3VzZXIgKmN1c3RvbV9kYXRhOworICBzaXplX3QgY3VzdG9tX2RhdGFfc2l6ZTsKKyAgdm9pZCBfX3VzZXIgKiBjdXN0b21fZGF0YTsKIH07CiAjZGVmaW5lIEFERl9NQVhfU1VQUE9SVEVEX0ZPUk1BVFMgKDQwOTYgLyBzaXplb2YoX191MzIpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTE2NywxNCArMTY3LDE0IEBACiAjZGVmaW5lIEFERl9CTEFOSyBfSU9XKEFERl9JT0NUTF9UWVBFLCAxLCBfX3U4KQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNkZWZpbmUgQURGX1BPU1RfQ09ORklHIF9JT1coQURGX0lPQ1RMX1RZUEUsIDIsIHN0cnVjdCBhZGZfcG9zdF9jb25maWcpCi0jZGVmaW5lIEFERl9TRVRfTU9ERSBfSU9XKEFERl9JT0NUTF9UWVBFLCAzLCAgIHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbykKKyNkZWZpbmUgQURGX1NFVF9NT0RFIF9JT1coQURGX0lPQ1RMX1RZUEUsIDMsIHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbykKICNkZWZpbmUgQURGX0dFVF9ERVZJQ0VfREFUQSBfSU9SKEFERl9JT0NUTF9UWVBFLCA0LCBzdHJ1Y3QgYWRmX2RldmljZV9kYXRhKQotI2RlZmluZSBBREZfR0VUX0lOVEVSRkFDRV9EQVRBIF9JT1IoQURGX0lPQ1RMX1RZUEUsIDUsICAgc3RydWN0IGFkZl9pbnRlcmZhY2VfZGF0YSkKKyNkZWZpbmUgQURGX0dFVF9JTlRFUkZBQ0VfREFUQSBfSU9SKEFERl9JT0NUTF9UWVBFLCA1LCBzdHJ1Y3QgYWRmX2ludGVyZmFjZV9kYXRhKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgQURGX0dFVF9PVkVSTEFZX0VOR0lORV9EQVRBICAgX0lPUihBREZfSU9DVExfVFlQRSwgNiwgICBzdHJ1Y3QgYWRmX292ZXJsYXlfZW5naW5lX2RhdGEpCi0jZGVmaW5lIEFERl9TSU1QTEVfUE9TVF9DT05GSUcgX0lPVyhBREZfSU9DVExfVFlQRSwgNywgICBzdHJ1Y3QgYWRmX3NpbXBsZV9wb3N0X2NvbmZpZykKLSNkZWZpbmUgQURGX1NJTVBMRV9CVUZGRVJfQUxMT0MgX0lPVyhBREZfSU9DVExfVFlQRSwgOCwgICBzdHJ1Y3QgYWRmX3NpbXBsZV9idWZmZXJfYWxsb2MpCi0jZGVmaW5lIEFERl9BVFRBQ0ggX0lPVyhBREZfSU9DVExfVFlQRSwgOSwgICBzdHJ1Y3QgYWRmX2F0dGFjaG1lbnRfY29uZmlnKQorI2RlZmluZSBBREZfR0VUX09WRVJMQVlfRU5HSU5FX0RBVEEgX0lPUihBREZfSU9DVExfVFlQRSwgNiwgc3RydWN0IGFkZl9vdmVybGF5X2VuZ2luZV9kYXRhKQorI2RlZmluZSBBREZfU0lNUExFX1BPU1RfQ09ORklHIF9JT1coQURGX0lPQ1RMX1RZUEUsIDcsIHN0cnVjdCBhZGZfc2ltcGxlX3Bvc3RfY29uZmlnKQorI2RlZmluZSBBREZfU0lNUExFX0JVRkZFUl9BTExPQyBfSU9XKEFERl9JT0NUTF9UWVBFLCA4LCBzdHJ1Y3QgYWRmX3NpbXBsZV9idWZmZXJfYWxsb2MpCisjZGVmaW5lIEFERl9BVFRBQ0ggX0lPVyhBREZfSU9DVExfVFlQRSwgOSwgc3RydWN0IGFkZl9hdHRhY2htZW50X2NvbmZpZykKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0jZGVmaW5lIEFERl9ERVRBQ0ggX0lPVyhBREZfSU9DVExfVFlQRSwgMTAsICAgc3RydWN0IGFkZl9hdHRhY2htZW50X2NvbmZpZykKKyNkZWZpbmUgQURGX0RFVEFDSCBfSU9XKEFERl9JT0NUTF9UWVBFLCAxMCwgc3RydWN0IGFkZl9hdHRhY2htZW50X2NvbmZpZykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS92aWRlby9lZGlkLmggYi9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL2VkaWQuaAppbmRleCA2ODU1YzVlLi4yYWIyYjYyIDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL2VkaWQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL2VkaWQuaApAQCAtMTksNyArMTksNyBAQAogI2lmbmRlZiBfVUFQSV9fbGludXhfdmlkZW9fZWRpZF9oX18KICNkZWZpbmUgX1VBUElfX2xpbnV4X3ZpZGVvX2VkaWRfaF9fCiBzdHJ1Y3QgZWRpZF9pbmZvIHsKLSB1bnNpZ25lZCBjaGFyIGR1bW15WzEyOF07CisgIHVuc2lnbmVkIGNoYXIgZHVtbXlbMTI4XTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL3Npc2ZiLmggYi9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL3Npc2ZiLmgKaW5kZXggYTQ2NDUzMC4uMjljZGFlMCAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvdWFwaS92aWRlby9zaXNmYi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkvdmlkZW8vc2lzZmIuaApAQCAtNTIsNyArNTIsNyBAQAogI2RlZmluZSBDUlQyX0VOQUJMRSAoQ1JUMl9MQ0QgfCBDUlQyX1RWIHwgQ1JUMl9WR0EpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBUVl9TVEFOREFSRCAoVFZfTlRTQyB8IFRWX1BBTCB8IFRWX1BBTE0gfCBUVl9QQUxOIHwgVFZfTlRTQ0opCi0jZGVmaW5lIFRWX0lOVEVSRkFDRSAoVFZfQVZJREVPfFRWX1NWSURFT3xUVl9TQ0FSVHxUVl9ISVZJU0lPTnxUVl9ZUEJQUnxUVl9DSFNDQVJUfFRWX0NIWVBCUFI1MjVJKQorI2RlZmluZSBUVl9JTlRFUkZBQ0UgKFRWX0FWSURFTyB8IFRWX1NWSURFTyB8IFRWX1NDQVJUIHwgVFZfSElWSVNJT04gfCBUVl9ZUEJQUiB8IFRWX0NIU0NBUlQgfCBUVl9DSFlQQlBSNTI1SSkKICNkZWZpbmUgVFZfWVBCUFI1MjVJIFRWX05UU0MKICNkZWZpbmUgVFZfWVBCUFI1MjVQIFRWX1BBTAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KQEAgLTY5LDUyICs2OSw1MiBAQAogI2RlZmluZSBWQl9ESVNQTU9ERV9EVUFMIFZCX0RVQUxWSUVXX01PREUKICNkZWZpbmUgVkJfRElTUExBWV9NT0RFIChTSU5HTEVfTU9ERSB8IE1JUlJPUl9NT0RFIHwgRFVBTFZJRVdfTU9ERSkKIHN0cnVjdCBzaXNmYl9pbmZvIHsKLSBfX3UzMiBzaXNmYl9pZDsKKyAgX191MzIgc2lzZmJfaWQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2lmbmRlZiBTSVNGQl9JRAogI2RlZmluZSBTSVNGQl9JRCAweDUzNDk1MzQ2CiAjZW5kaWYKLSBfX3UzMiBjaGlwX2lkOworICBfX3UzMiBjaGlwX2lkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBtZW1vcnk7Ci0gX191MzIgaGVhcHN0YXJ0OwotIF9fdTggZmJ2aWRtb2RlOwotIF9fdTggc2lzZmJfdmVyc2lvbjsKKyAgX191MzIgbWVtb3J5OworICBfX3UzMiBoZWFwc3RhcnQ7CisgIF9fdTggZmJ2aWRtb2RlOworICBfX3U4IHNpc2ZiX3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggc2lzZmJfcmV2aXNpb247Ci0gX191OCBzaXNmYl9wYXRjaGxldmVsOwotIF9fdTggc2lzZmJfY2FwczsKLSBfX3UzMiBzaXNmYl90cWxlbjsKKyAgX191OCBzaXNmYl9yZXZpc2lvbjsKKyAgX191OCBzaXNmYl9wYXRjaGxldmVsOworICBfX3U4IHNpc2ZiX2NhcHM7CisgIF9fdTMyIHNpc2ZiX3RxbGVuOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzaXNmYl9wY2lidXM7Ci0gX191MzIgc2lzZmJfcGNpc2xvdDsKLSBfX3UzMiBzaXNmYl9wY2lmdW5jOwotIF9fdTggc2lzZmJfbGNkcGRjOworICBfX3UzMiBzaXNmYl9wY2lidXM7CisgIF9fdTMyIHNpc2ZiX3BjaXNsb3Q7CisgIF9fdTMyIHNpc2ZiX3BjaWZ1bmM7CisgIF9fdTggc2lzZmJfbGNkcGRjOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3U4IHNpc2ZiX2xjZGE7Ci0gX191MzIgc2lzZmJfdmJmbGFnczsKLSBfX3UzMiBzaXNmYl9jdXJyZW50dmJmbGFnczsKLSBfX3UzMiBzaXNmYl9zY2FsZWxjZDsKKyAgX191OCBzaXNmYl9sY2RhOworICBfX3UzMiBzaXNmYl92YmZsYWdzOworICBfX3UzMiBzaXNmYl9jdXJyZW50dmJmbGFnczsKKyAgX191MzIgc2lzZmJfc2NhbGVsY2Q7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNpc2ZiX3NwZWNpYWx0aW1pbmc7Ci0gX191OCBzaXNmYl9oYXZlZW1pOwotIF9fdTggc2lzZmJfZW1pMzAsc2lzZmJfZW1pMzEsc2lzZmJfZW1pMzIsc2lzZmJfZW1pMzM7Ci0gX191OCBzaXNmYl9oYXZlZW1pbGNkOworICBfX3UzMiBzaXNmYl9zcGVjaWFsdGltaW5nOworICBfX3U4IHNpc2ZiX2hhdmVlbWk7CisgIF9fdTggc2lzZmJfZW1pMzAsIHNpc2ZiX2VtaTMxLCBzaXNmYl9lbWkzMiwgc2lzZmJfZW1pMzM7CisgIF9fdTggc2lzZmJfaGF2ZWVtaWxjZDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzaXNmYl9sY2RwZGNhOwotIF9fdTE2IHNpc2ZiX3R2eHBvcywgc2lzZmJfdHZ5cG9zOwotIF9fdTMyIHNpc2ZiX2hlYXBzaXplOwotIF9fdTMyIHNpc2ZiX3ZpZGVvb2Zmc2V0OworICBfX3U4IHNpc2ZiX2xjZHBkY2E7CisgIF9fdTE2IHNpc2ZiX3R2eHBvcywgc2lzZmJfdHZ5cG9zOworICBfX3UzMiBzaXNmYl9oZWFwc2l6ZTsKKyAgX191MzIgc2lzZmJfdmlkZW9vZmZzZXQ7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIHNpc2ZiX2N1cmZzdG47Ci0gX191MzIgc2lzZmJfY3VyZHN0bjsKLSBfX3UxNiBzaXNmYl9wY2lfdmVuZG9yOwotIF9fdTMyIHNpc2ZiX3ZiZmxhZ3MyOworICBfX3UzMiBzaXNmYl9jdXJmc3RuOworICBfX3UzMiBzaXNmYl9jdXJkc3RuOworICBfX3UxNiBzaXNmYl9wY2lfdmVuZG9yOworICBfX3UzMiBzaXNmYl92YmZsYWdzMjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191OCBzaXNmYl9jYW5fcG9zdDsKLSBfX3U4IHNpc2ZiX2NhcmRfcG9zdGVkOwotIF9fdTggc2lzZmJfd2FzX2Jvb3RfZGV2aWNlOwotIF9fdTggcmVzZXJ2ZWRbMTgzXTsKKyAgX191OCBzaXNmYl9jYW5fcG9zdDsKKyAgX191OCBzaXNmYl9jYXJkX3Bvc3RlZDsKKyAgX191OCBzaXNmYl93YXNfYm9vdF9kZXZpY2U7CisgIF9fdTggcmVzZXJ2ZWRbMTgzXTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBTSVNGQl9DTURfR0VUVkJGTEFHUyAweDU1QUEwMDAxCkBAIC0xMjksMzEgKzEyOSwzMSBAQAogI2RlZmluZSBTSVNGQl9DTURfRVJSX1VOS05PV04gMHg4MDAwZmZmZgogI2RlZmluZSBTSVNGQl9DTURfRVJSX09USEVSIDB4ODAwMTAwMDAKIHN0cnVjdCBzaXNmYl9jbWQgewotIF9fdTMyIHNpc2ZiX2NtZDsKKyAgX191MzIgc2lzZmJfY21kOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBzaXNmYl9hcmdbMTZdOwotIF9fdTMyIHNpc2ZiX3Jlc3VsdFs0XTsKKyAgX191MzIgc2lzZmJfYXJnWzE2XTsKKyAgX191MzIgc2lzZmJfcmVzdWx0WzRdOwogfTsKLSNkZWZpbmUgU0lTRkJfR0VUX0lORk9fU0laRSBfSU9SKDB4RjMsMHgwMCxfX3UzMikKKyNkZWZpbmUgU0lTRkJfR0VUX0lORk9fU0laRSBfSU9SKDB4RjMsIDB4MDAsIF9fdTMyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0lTRkJfR0VUX0lORk8gX0lPUigweEYzLDB4MDEsc3RydWN0IHNpc2ZiX2luZm8pCi0jZGVmaW5lIFNJU0ZCX0dFVF9WQlJTVEFUVVMgX0lPUigweEYzLDB4MDIsX191MzIpCi0jZGVmaW5lIFNJU0ZCX0dFVF9BVVRPTUFYSU1JWkUgX0lPUigweEYzLDB4MDMsX191MzIpCi0jZGVmaW5lIFNJU0ZCX1NFVF9BVVRPTUFYSU1JWkUgX0lPVygweEYzLDB4MDMsX191MzIpCisjZGVmaW5lIFNJU0ZCX0dFVF9JTkZPIF9JT1IoMHhGMywgMHgwMSwgc3RydWN0IHNpc2ZiX2luZm8pCisjZGVmaW5lIFNJU0ZCX0dFVF9WQlJTVEFUVVMgX0lPUigweEYzLCAweDAyLCBfX3UzMikKKyNkZWZpbmUgU0lTRkJfR0VUX0FVVE9NQVhJTUlaRSBfSU9SKDB4RjMsIDB4MDMsIF9fdTMyKQorI2RlZmluZSBTSVNGQl9TRVRfQVVUT01BWElNSVpFIF9JT1coMHhGMywgMHgwMywgX191MzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotI2RlZmluZSBTSVNGQl9HRVRfVFZQT1NPRkZTRVQgX0lPUigweEYzLDB4MDQsX191MzIpCi0jZGVmaW5lIFNJU0ZCX1NFVF9UVlBPU09GRlNFVCBfSU9XKDB4RjMsMHgwNCxfX3UzMikKLSNkZWZpbmUgU0lTRkJfQ09NTUFORCBfSU9XUigweEYzLDB4MDUsc3RydWN0IHNpc2ZiX2NtZCkKLSNkZWZpbmUgU0lTRkJfU0VUX0xPQ0sgX0lPVygweEYzLDB4MDYsX191MzIpCisjZGVmaW5lIFNJU0ZCX0dFVF9UVlBPU09GRlNFVCBfSU9SKDB4RjMsIDB4MDQsIF9fdTMyKQorI2RlZmluZSBTSVNGQl9TRVRfVFZQT1NPRkZTRVQgX0lPVygweEYzLCAweDA0LCBfX3UzMikKKyNkZWZpbmUgU0lTRkJfQ09NTUFORCBfSU9XUigweEYzLCAweDA1LCBzdHJ1Y3Qgc2lzZmJfY21kKQorI2RlZmluZSBTSVNGQl9TRVRfTE9DSyBfSU9XKDB4RjMsIDB4MDYsIF9fdTMyKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgU0lTRkJfR0VUX0lORk9fT0xEIF9JT1IoJ24nLDB4RjgsX191MzIpCi0jZGVmaW5lIFNJU0ZCX0dFVF9WQlJTVEFUVVNfT0xEIF9JT1IoJ24nLDB4RjksX191MzIpCi0jZGVmaW5lIFNJU0ZCX0dFVF9BVVRPTUFYSU1JWkVfT0xEIF9JT1IoJ24nLDB4RkEsX191MzIpCi0jZGVmaW5lIFNJU0ZCX1NFVF9BVVRPTUFYSU1JWkVfT0xEIF9JT1coJ24nLDB4RkEsX191MzIpCisjZGVmaW5lIFNJU0ZCX0dFVF9JTkZPX09MRCBfSU9SKCduJywgMHhGOCwgX191MzIpCisjZGVmaW5lIFNJU0ZCX0dFVF9WQlJTVEFUVVNfT0xEIF9JT1IoJ24nLCAweEY5LCBfX3UzMikKKyNkZWZpbmUgU0lTRkJfR0VUX0FVVE9NQVhJTUlaRV9PTEQgX0lPUignbicsIDB4RkEsIF9fdTMyKQorI2RlZmluZSBTSVNGQl9TRVRfQVVUT01BWElNSVpFX09MRCBfSU9XKCduJywgMHhGQSwgX191MzIpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IHNpc19tZW1yZXEgewotIF9fdTMyIG9mZnNldDsKLSBfX3UzMiBzaXplOworICBfX3UzMiBvZmZzZXQ7CisgIF9fdTMyIHNpemU7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS92aWRlby91dmVzYWZiLmggYi9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL3V2ZXNhZmIuaAppbmRleCBhYzMzMDY0Li4yMjQwNzg1IDEwMDY0NAotLS0gYS9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL3V2ZXNhZmIuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3ZpZGVvL3V2ZXNhZmIuaApAQCAtMjEsMjUgKzIxLDI1IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIHN0cnVjdCB2ODZfcmVncyB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIGVieDsKLSBfX3UzMiBlY3g7Ci0gX191MzIgZWR4OwotIF9fdTMyIGVzaTsKKyAgX191MzIgZWJ4OworICBfX3UzMiBlY3g7CisgIF9fdTMyIGVkeDsKKyAgX191MzIgZXNpOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UzMiBlZGk7Ci0gX191MzIgZWJwOwotIF9fdTMyIGVheDsKLSBfX3UzMiBlaXA7CisgIF9fdTMyIGVkaTsKKyAgX191MzIgZWJwOworICBfX3UzMiBlYXg7CisgIF9fdTMyIGVpcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MzIgZWZsYWdzOwotIF9fdTMyIGVzcDsKLSBfX3UxNiBjczsKLSBfX3UxNiBzczsKKyAgX191MzIgZWZsYWdzOworICBfX3UzMiBlc3A7CisgIF9fdTE2IGNzOworICBfX3UxNiBzczsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191MTYgZXM7Ci0gX191MTYgZHM7Ci0gX191MTYgZnM7Ci0gX191MTYgZ3M7CisgIF9fdTE2IGVzOworICBfX3UxNiBkczsKKyAgX191MTYgZnM7CisgIF9fdTE2IGdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIH07CiAjZGVmaW5lIFRGX1ZCRUlCIDB4MDEKQEAgLTQ5LDMxICs0OSwzMSBAQAogI2RlZmluZSBURl9CVUZfUkVUIDB4MDgKICNkZWZpbmUgVEZfRVhJVCAweDEwCiBzdHJ1Y3QgdXZlc2FmYl90YXNrIHsKLSBfX3U4IGZsYWdzOworICBfX3U4IGZsYWdzOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgYnVmX2xlbjsKLSBzdHJ1Y3Qgdjg2X3JlZ3MgcmVnczsKKyAgaW50IGJ1Zl9sZW47CisgIHN0cnVjdCB2ODZfcmVncyByZWdzOwogfTsKICNkZWZpbmUgVkJFX0NBUF9DQU5fU1dJVENIX0RBQyAweDAxCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2RlZmluZSBWQkVfQ0FQX1ZHQUNPTVBBVCAweDAyCiBzdHJ1Y3QgdmJlX2liIHsKLSBjaGFyIHZiZV9zaWduYXR1cmVbNF07Ci0gX191MTYgdmJlX3ZlcnNpb247CisgIGNoYXIgdmJlX3NpZ25hdHVyZVs0XTsKKyAgX191MTYgdmJlX3ZlcnNpb247CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTMyIG9lbV9zdHJpbmdfcHRyOwotIF9fdTMyIGNhcGFiaWxpdGllczsKLSBfX3UzMiBtb2RlX2xpc3RfcHRyOwotIF9fdTE2IHRvdGFsX21lbW9yeTsKKyAgX191MzIgb2VtX3N0cmluZ19wdHI7CisgIF9fdTMyIGNhcGFiaWxpdGllczsKKyAgX191MzIgbW9kZV9saXN0X3B0cjsKKyAgX191MTYgdG90YWxfbWVtb3J5OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBfX3UxNiBvZW1fc29mdHdhcmVfcmV2OwotIF9fdTMyIG9lbV92ZW5kb3JfbmFtZV9wdHI7Ci0gX191MzIgb2VtX3Byb2R1Y3RfbmFtZV9wdHI7Ci0gX191MzIgb2VtX3Byb2R1Y3RfcmV2X3B0cjsKKyAgX191MTYgb2VtX3NvZnR3YXJlX3JldjsKKyAgX191MzIgb2VtX3ZlbmRvcl9uYW1lX3B0cjsKKyAgX191MzIgb2VtX3Byb2R1Y3RfbmFtZV9wdHI7CisgIF9fdTMyIG9lbV9wcm9kdWN0X3Jldl9wdHI7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIF9fdTggcmVzZXJ2ZWRbMjIyXTsKLSBjaGFyIG9lbV9kYXRhWzI1Nl07Ci0gY2hhciBtaXNjX2RhdGFbNTEyXTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworICBfX3U4IHJlc2VydmVkWzIyMl07CisgIGNoYXIgb2VtX2RhdGFbMjU2XTsKKyAgY2hhciBtaXNjX2RhdGFbNTEyXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3hlbi9ldnRjaG4uaCBiL2xpYmMva2VybmVsL3VhcGkveGVuL2V2dGNobi5oCmluZGV4IGQyMzVmNmEuLjJkZDIzYmUgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkveGVuL2V2dGNobi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkveGVuL2V2dGNobi5oCkBAIC0xOCwzMSArMTgsMzEgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfX0xJTlVYX1BVQkxJQ19FVlRDSE5fSF9fCiAjZGVmaW5lIF9fTElOVVhfUFVCTElDX0VWVENITl9IX18KLSNkZWZpbmUgSU9DVExfRVZUQ0hOX0JJTkRfVklSUSAgIF9JT0MoX0lPQ19OT05FLCAnRScsIDAsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZXZ0Y2huX2JpbmRfdmlycSkpCisjZGVmaW5lIElPQ1RMX0VWVENITl9CSU5EX1ZJUlEgX0lPQyhfSU9DX05PTkUsICdFJywgMCwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9ldnRjaG5fYmluZF92aXJxKSkKIHN0cnVjdCBpb2N0bF9ldnRjaG5fYmluZF92aXJxIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdW5zaWduZWQgaW50IHZpcnE7CisgIHVuc2lnbmVkIGludCB2aXJxOwogfTsKLSNkZWZpbmUgSU9DVExfRVZUQ0hOX0JJTkRfSU5URVJET01BSU4gICBfSU9DKF9JT0NfTk9ORSwgJ0UnLCAxLCBzaXplb2Yoc3RydWN0IGlvY3RsX2V2dGNobl9iaW5kX2ludGVyZG9tYWluKSkKKyNkZWZpbmUgSU9DVExfRVZUQ0hOX0JJTkRfSU5URVJET01BSU4gX0lPQyhfSU9DX05PTkUsICdFJywgMSwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9ldnRjaG5fYmluZF9pbnRlcmRvbWFpbikpCiBzdHJ1Y3QgaW9jdGxfZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4gewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVtb3RlX2RvbWFpbiwgcmVtb3RlX3BvcnQ7CisgIHVuc2lnbmVkIGludCByZW1vdGVfZG9tYWluLCByZW1vdGVfcG9ydDsKIH07Ci0jZGVmaW5lIElPQ1RMX0VWVENITl9CSU5EX1VOQk9VTkRfUE9SVCAgIF9JT0MoX0lPQ19OT05FLCAnRScsIDIsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZXZ0Y2huX2JpbmRfdW5ib3VuZF9wb3J0KSkKKyNkZWZpbmUgSU9DVExfRVZUQ0hOX0JJTkRfVU5CT1VORF9QT1JUIF9JT0MoX0lPQ19OT05FLCAnRScsIDIsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZXZ0Y2huX2JpbmRfdW5ib3VuZF9wb3J0KSkKIHN0cnVjdCBpb2N0bF9ldnRjaG5fYmluZF91bmJvdW5kX3BvcnQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcmVtb3RlX2RvbWFpbjsKKyAgdW5zaWduZWQgaW50IHJlbW90ZV9kb21haW47CiB9OwotI2RlZmluZSBJT0NUTF9FVlRDSE5fVU5CSU5EICAgX0lPQyhfSU9DX05PTkUsICdFJywgMywgc2l6ZW9mKHN0cnVjdCBpb2N0bF9ldnRjaG5fdW5iaW5kKSkKKyNkZWZpbmUgSU9DVExfRVZUQ0hOX1VOQklORCBfSU9DKF9JT0NfTk9ORSwgJ0UnLCAzLCBzaXplb2Yoc3RydWN0IGlvY3RsX2V2dGNobl91bmJpbmQpKQogc3RydWN0IGlvY3RsX2V2dGNobl91bmJpbmQgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcG9ydDsKKyAgdW5zaWduZWQgaW50IHBvcnQ7CiB9OwotI2RlZmluZSBJT0NUTF9FVlRDSE5fTk9USUZZICAgX0lPQyhfSU9DX05PTkUsICdFJywgNCwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9ldnRjaG5fbm90aWZ5KSkKKyNkZWZpbmUgSU9DVExfRVZUQ0hOX05PVElGWSBfSU9DKF9JT0NfTk9ORSwgJ0UnLCA0LCBzaXplb2Yoc3RydWN0IGlvY3RsX2V2dGNobl9ub3RpZnkpKQogc3RydWN0IGlvY3RsX2V2dGNobl9ub3RpZnkgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1bnNpZ25lZCBpbnQgcG9ydDsKKyAgdW5zaWduZWQgaW50IHBvcnQ7CiB9OwotI2RlZmluZSBJT0NUTF9FVlRDSE5fUkVTRVQgICBfSU9DKF9JT0NfTk9ORSwgJ0UnLCA1LCAwKQorI2RlZmluZSBJT0NUTF9FVlRDSE5fUkVTRVQgX0lPQyhfSU9DX05PTkUsICdFJywgNSwgMCkKICNlbmRpZgogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3VhcGkveGVuL2dudGFsbG9jLmggYi9saWJjL2tlcm5lbC91YXBpL3hlbi9nbnRhbGxvYy5oCmluZGV4IDIwNzY4NDMuLjE3MTBmNGEgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkveGVuL2dudGFsbG9jLmgKKysrIGIvbGliYy9rZXJuZWwvdWFwaS94ZW4vZ250YWxsb2MuaApAQCAtMTgsMzAgKzE4LDMwIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX19MSU5VWF9QVUJMSUNfR05UQUxMT0NfSF9fCiAjZGVmaW5lIF9fTElOVVhfUFVCTElDX0dOVEFMTE9DX0hfXwotI2RlZmluZSBJT0NUTF9HTlRBTExPQ19BTExPQ19HUkVGICBfSU9DKF9JT0NfTk9ORSwgJ0cnLCA1LCBzaXplb2Yoc3RydWN0IGlvY3RsX2dudGFsbG9jX2FsbG9jX2dyZWYpKQorI2RlZmluZSBJT0NUTF9HTlRBTExPQ19BTExPQ19HUkVGIF9JT0MoX0lPQ19OT05FLCAnRycsIDUsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZ250YWxsb2NfYWxsb2NfZ3JlZikpCiBzdHJ1Y3QgaW9jdGxfZ250YWxsb2NfYWxsb2NfZ3JlZiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVpbnQxNl90IGRvbWlkOwotIHVpbnQxNl90IGZsYWdzOwotIHVpbnQzMl90IGNvdW50OwotIHVpbnQ2NF90IGluZGV4OworICB1aW50MTZfdCBkb21pZDsKKyAgdWludDE2X3QgZmxhZ3M7CisgIHVpbnQzMl90IGNvdW50OworICB1aW50NjRfdCBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZ3JlZl9pZHNbMV07CisgIHVpbnQzMl90IGdyZWZfaWRzWzFdOwogfTsKICNkZWZpbmUgR05UQUxMT0NfRkxBR19XUklUQUJMRSAxCi0jZGVmaW5lIElPQ1RMX0dOVEFMTE9DX0RFQUxMT0NfR1JFRiAgX0lPQyhfSU9DX05PTkUsICdHJywgNiwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRhbGxvY19kZWFsbG9jX2dyZWYpKQorI2RlZmluZSBJT0NUTF9HTlRBTExPQ19ERUFMTE9DX0dSRUYgX0lPQyhfSU9DX05PTkUsICdHJywgNiwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRhbGxvY19kZWFsbG9jX2dyZWYpKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KIHN0cnVjdCBpb2N0bF9nbnRhbGxvY19kZWFsbG9jX2dyZWYgewotIHVpbnQ2NF90IGluZGV4OwotIHVpbnQzMl90IGNvdW50OworICB1aW50NjRfdCBpbmRleDsKKyAgdWludDMyX3QgY291bnQ7CiB9OwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSU9DVExfR05UQUxMT0NfU0VUX1VOTUFQX05PVElGWSAgX0lPQyhfSU9DX05PTkUsICdHJywgNywgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRhbGxvY191bm1hcF9ub3RpZnkpKQorI2RlZmluZSBJT0NUTF9HTlRBTExPQ19TRVRfVU5NQVBfTk9USUZZIF9JT0MoX0lPQ19OT05FLCAnRycsIDcsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZ250YWxsb2NfdW5tYXBfbm90aWZ5KSkKIHN0cnVjdCBpb2N0bF9nbnRhbGxvY191bm1hcF9ub3RpZnkgewotIHVpbnQ2NF90IGluZGV4OwotIHVpbnQzMl90IGFjdGlvbjsKKyAgdWludDY0X3QgaW5kZXg7CisgIHVpbnQzMl90IGFjdGlvbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgZXZlbnRfY2hhbm5lbF9wb3J0OworICB1aW50MzJfdCBldmVudF9jaGFubmVsX3BvcnQ7CiB9OwogI2RlZmluZSBVTk1BUF9OT1RJRllfQ0xFQVJfQllURSAweDEKICNkZWZpbmUgVU5NQVBfTk9USUZZX1NFTkRfRVZFTlQgMHgyCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC91YXBpL3hlbi9nbnRkZXYuaCBiL2xpYmMva2VybmVsL3VhcGkveGVuL2dudGRldi5oCmluZGV4IDI4YTJhM2EuLmMwMGU1YWIgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkveGVuL2dudGRldi5oCisrKyBiL2xpYmMva2VybmVsL3VhcGkveGVuL2dudGRldi5oCkBAIC0xOSw0NiArMTksNDYgQEAKICNpZm5kZWYgX19MSU5VWF9QVUJMSUNfR05UREVWX0hfXwogI2RlZmluZSBfX0xJTlVYX1BVQkxJQ19HTlRERVZfSF9fCiBzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dyYW50X3JlZiB7Ci0gdWludDMyX3QgZG9taWQ7CisgIHVpbnQzMl90IGRvbWlkOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCByZWY7CisgIHVpbnQzMl90IHJlZjsKIH07Ci0jZGVmaW5lIElPQ1RMX0dOVERFVl9NQVBfR1JBTlRfUkVGICBfSU9DKF9JT0NfTk9ORSwgJ0cnLCAwLCBzaXplb2Yoc3RydWN0IGlvY3RsX2dudGRldl9tYXBfZ3JhbnRfcmVmKSkKKyNkZWZpbmUgSU9DVExfR05UREVWX01BUF9HUkFOVF9SRUYgX0lPQyhfSU9DX05PTkUsICdHJywgMCwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRkZXZfbWFwX2dyYW50X3JlZikpCiBzdHJ1Y3QgaW9jdGxfZ250ZGV2X21hcF9ncmFudF9yZWYgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBjb3VudDsKLSB1aW50MzJfdCBwYWQ7Ci0gdWludDY0X3QgaW5kZXg7Ci0gc3RydWN0IGlvY3RsX2dudGRldl9ncmFudF9yZWYgcmVmc1sxXTsKKyAgdWludDMyX3QgY291bnQ7CisgIHVpbnQzMl90IHBhZDsKKyAgdWludDY0X3QgaW5kZXg7CisgIHN0cnVjdCBpb2N0bF9nbnRkZXZfZ3JhbnRfcmVmIHJlZnNbMV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKLSNkZWZpbmUgSU9DVExfR05UREVWX1VOTUFQX0dSQU5UX1JFRiAgX0lPQyhfSU9DX05PTkUsICdHJywgMSwgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRkZXZfdW5tYXBfZ3JhbnRfcmVmKSkKKyNkZWZpbmUgSU9DVExfR05UREVWX1VOTUFQX0dSQU5UX1JFRiBfSU9DKF9JT0NfTk9ORSwgJ0cnLCAxLCBzaXplb2Yoc3RydWN0IGlvY3RsX2dudGRldl91bm1hcF9ncmFudF9yZWYpKQogc3RydWN0IGlvY3RsX2dudGRldl91bm1hcF9ncmFudF9yZWYgewotIHVpbnQ2NF90IGluZGV4OworICB1aW50NjRfdCBpbmRleDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgY291bnQ7Ci0gdWludDMyX3QgcGFkOworICB1aW50MzJfdCBjb3VudDsKKyAgdWludDMyX3QgcGFkOwogfTsKLSNkZWZpbmUgSU9DVExfR05UREVWX0dFVF9PRkZTRVRfRk9SX1ZBRERSICBfSU9DKF9JT0NfTk9ORSwgJ0cnLCAyLCBzaXplb2Yoc3RydWN0IGlvY3RsX2dudGRldl9nZXRfb2Zmc2V0X2Zvcl92YWRkcikpCisjZGVmaW5lIElPQ1RMX0dOVERFVl9HRVRfT0ZGU0VUX0ZPUl9WQUREUiBfSU9DKF9JT0NfTk9ORSwgJ0cnLCAyLCBzaXplb2Yoc3RydWN0IGlvY3RsX2dudGRldl9nZXRfb2Zmc2V0X2Zvcl92YWRkcikpCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogc3RydWN0IGlvY3RsX2dudGRldl9nZXRfb2Zmc2V0X2Zvcl92YWRkciB7Ci0gdWludDY0X3QgdmFkZHI7Ci0gdWludDY0X3Qgb2Zmc2V0OwotIHVpbnQzMl90IGNvdW50OworICB1aW50NjRfdCB2YWRkcjsKKyAgdWludDY0X3Qgb2Zmc2V0OworICB1aW50MzJfdCBjb3VudDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDMyX3QgcGFkOworICB1aW50MzJfdCBwYWQ7CiB9OwotI2RlZmluZSBJT0NUTF9HTlRERVZfU0VUX01BWF9HUkFOVFMgIF9JT0MoX0lPQ19OT05FLCAnRycsIDMsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZ250ZGV2X3NldF9tYXhfZ3JhbnRzKSkKKyNkZWZpbmUgSU9DVExfR05UREVWX1NFVF9NQVhfR1JBTlRTIF9JT0MoX0lPQ19OT05FLCAnRycsIDMsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZ250ZGV2X3NldF9tYXhfZ3JhbnRzKSkKIHN0cnVjdCBpb2N0bF9nbnRkZXZfc2V0X21heF9ncmFudHMgewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSB1aW50MzJfdCBjb3VudDsKKyAgdWludDMyX3QgY291bnQ7CiB9OwotI2RlZmluZSBJT0NUTF9HTlRERVZfU0VUX1VOTUFQX05PVElGWSAgX0lPQyhfSU9DX05PTkUsICdHJywgNywgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRkZXZfdW5tYXBfbm90aWZ5KSkKKyNkZWZpbmUgSU9DVExfR05UREVWX1NFVF9VTk1BUF9OT1RJRlkgX0lPQyhfSU9DX05PTkUsICdHJywgNywgc2l6ZW9mKHN0cnVjdCBpb2N0bF9nbnRkZXZfdW5tYXBfbm90aWZ5KSkKIHN0cnVjdCBpb2N0bF9nbnRkZXZfdW5tYXBfbm90aWZ5IHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gdWludDY0X3QgaW5kZXg7Ci0gdWludDMyX3QgYWN0aW9uOwotIHVpbnQzMl90IGV2ZW50X2NoYW5uZWxfcG9ydDsKKyAgdWludDY0X3QgaW5kZXg7CisgIHVpbnQzMl90IGFjdGlvbjsKKyAgdWludDMyX3QgZXZlbnRfY2hhbm5lbF9wb3J0OwogfTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFVOTUFQX05PVElGWV9DTEVBUl9CWVRFIDB4MQpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdWFwaS94ZW4vcHJpdmNtZC5oIGIvbGliYy9rZXJuZWwvdWFwaS94ZW4vcHJpdmNtZC5oCmluZGV4IGVlMjA1NDQuLjEwYzBjNDcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL3VhcGkveGVuL3ByaXZjbWQuaAorKysgYi9saWJjL2tlcm5lbC91YXBpL3hlbi9wcml2Y21kLmgKQEAgLTIzLDQ0ICsyMyw0NCBAQAogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL3hlbi5oPgogc3RydWN0IHByaXZjbWRfaHlwZXJjYWxsIHsKLSBfX3U2NCBvcDsKLSBfX3U2NCBhcmdbNV07CisgIF9fdTY0IG9wOworICBfX3U2NCBhcmdbNV07CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwogfTsKIHN0cnVjdCBwcml2Y21kX21tYXBfZW50cnkgewotIF9fdTY0IHZhOwotIF9fdTY0IG1mbjsKKyAgX191NjQgdmE7CisgIF9fdTY0IG1mbjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gX191NjQgbnBhZ2VzOworICBfX3U2NCBucGFnZXM7CiB9Owogc3RydWN0IHByaXZjbWRfbW1hcCB7Ci0gaW50IG51bTsKKyAgaW50IG51bTsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCi0gZG9taWRfdCBkb207Ci0gc3RydWN0IHByaXZjbWRfbW1hcF9lbnRyeSBfX3VzZXIgKmVudHJ5OworICBkb21pZF90IGRvbTsKKyAgc3RydWN0IHByaXZjbWRfbW1hcF9lbnRyeSBfX3VzZXIgKiBlbnRyeTsKIH07CiBzdHJ1Y3QgcHJpdmNtZF9tbWFwYmF0Y2ggewogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgbnVtOwotIGRvbWlkX3QgZG9tOwotIF9fdTY0IGFkZHI7Ci0geGVuX3Bmbl90IF9fdXNlciAqYXJyOworICBpbnQgbnVtOworICBkb21pZF90IGRvbTsKKyAgX191NjQgYWRkcjsKKyAgeGVuX3Bmbl90IF9fdXNlciAqIGFycjsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiB9OwogI2RlZmluZSBQUklWQ01EX01NQVBCQVRDSF9NRk5fRVJST1IgMHhmMDAwMDAwMFUKICNkZWZpbmUgUFJJVkNNRF9NTUFQQkFUQ0hfUEFHRURfRVJST1IgMHg4MDAwMDAwMFUKIHN0cnVjdCBwcml2Y21kX21tYXBiYXRjaF92MiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLwotIHVuc2lnbmVkIGludCBudW07Ci0gZG9taWRfdCBkb207Ci0gX191NjQgYWRkcjsKLSBjb25zdCB4ZW5fcGZuX3QgX191c2VyICphcnI7CisgIHVuc2lnbmVkIGludCBudW07CisgIGRvbWlkX3QgZG9tOworICBfX3U2NCBhZGRyOworICBjb25zdCB4ZW5fcGZuX3QgX191c2VyICogYXJyOwogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSBpbnQgX191c2VyICplcnI7CisgIGludCBfX3VzZXIgKiBlcnI7CiB9OwotI2RlZmluZSBJT0NUTF9QUklWQ01EX0hZUEVSQ0FMTCAgIF9JT0MoX0lPQ19OT05FLCAnUCcsIDAsIHNpemVvZihzdHJ1Y3QgcHJpdmNtZF9oeXBlcmNhbGwpKQotI2RlZmluZSBJT0NUTF9QUklWQ01EX01NQVAgICBfSU9DKF9JT0NfTk9ORSwgJ1AnLCAyLCBzaXplb2Yoc3RydWN0IHByaXZjbWRfbW1hcCkpCisjZGVmaW5lIElPQ1RMX1BSSVZDTURfSFlQRVJDQUxMIF9JT0MoX0lPQ19OT05FLCAnUCcsIDAsIHNpemVvZihzdHJ1Y3QgcHJpdmNtZF9oeXBlcmNhbGwpKQorI2RlZmluZSBJT0NUTF9QUklWQ01EX01NQVAgX0lPQyhfSU9DX05PTkUsICdQJywgMiwgc2l6ZW9mKHN0cnVjdCBwcml2Y21kX21tYXApKQogLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KLSNkZWZpbmUgSU9DVExfUFJJVkNNRF9NTUFQQkFUQ0ggICBfSU9DKF9JT0NfTk9ORSwgJ1AnLCAzLCBzaXplb2Yoc3RydWN0IHByaXZjbWRfbW1hcGJhdGNoKSkKLSNkZWZpbmUgSU9DVExfUFJJVkNNRF9NTUFQQkFUQ0hfVjIgICBfSU9DKF9JT0NfTk9ORSwgJ1AnLCA0LCBzaXplb2Yoc3RydWN0IHByaXZjbWRfbW1hcGJhdGNoX3YyKSkKKyNkZWZpbmUgSU9DVExfUFJJVkNNRF9NTUFQQkFUQ0ggX0lPQyhfSU9DX05PTkUsICdQJywgMywgc2l6ZW9mKHN0cnVjdCBwcml2Y21kX21tYXBiYXRjaCkpCisjZGVmaW5lIElPQ1RMX1BSSVZDTURfTU1BUEJBVENIX1YyIF9JT0MoX0lPQ19OT05FLCAnUCcsIDQsIHNpemVvZihzdHJ1Y3QgcHJpdmNtZF9tbWFwYmF0Y2hfdjIpKQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvVGhyZWFkTG9jYWxCdWZmZXIuaCBiL2xpYmMvcHJpdmF0ZS9UaHJlYWRMb2NhbEJ1ZmZlci5oCmluZGV4IGU1YmQyOGMuLjVlNDM2NjUgMTAwNjQ0Ci0tLSBhL2xpYmMvcHJpdmF0ZS9UaHJlYWRMb2NhbEJ1ZmZlci5oCisrKyBiL2xpYmMvcHJpdmF0ZS9UaHJlYWRMb2NhbEJ1ZmZlci5oCkBAIC0zMiwzMCArMzIsMzAgQEAKICNpbmNsdWRlIDxtYWxsb2MuaD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+CiAKLS8vIGxpYnN0ZGMrKyBjdXJyZW50bHkgY29udGFpbnMgX19jeGFfZ3VhcmRfYWNxdWlyZSBhbmQgX19jeGFfZ3VhcmRfcmVsZWFzZSwKLS8vIHNvIHdlIG1ha2UgZG8gd2l0aCBtYWNyb3MgaW5zdGVhZCBvZiBhIEMrKyBjbGFzcy4KLS8vIFRPRE86IG1vdmUgX19jeGFfZ3VhcmRfYWNxdWlyZSBhbmQgX19jeGFfZ3VhcmRfcmVsZWFzZSBpbnRvIGxpYmMuCisvLyBUT0RPOiB1c2UgX190aHJlYWQgaW5zdGVhZD8KIAotLy8gV2UgdXNlZCB0byB1c2UgcHRocmVhZF9vbmNlIHRvIGluaXRpYWxpemUgdGhlIGtleXMsIGJ1dCBsaWZlIGlzIG1vcmUgcHJlZGljdGFibGUKLS8vIGlmIHdlIGFsbG9jYXRlIHRoZW0gYWxsIHVwIGZyb250IHdoZW4gdGhlIEMgbGlicmFyeSBzdGFydHMgdXAsIHZpYSBfX2NvbnN0cnVjdG9yX18uCi0KLSNkZWZpbmUgR0xPQkFMX0lOSVRfVEhSRUFEX0xPQ0FMX0JVRkZFUihuYW1lKSBcCi0gIHN0YXRpYyBwdGhyZWFkX2tleV90IF9fYmlvbmljX3Rsc18gIyMgbmFtZSAjIyBfa2V5OyBcCi0gIHN0YXRpYyB2b2lkIF9fYmlvbmljX3Rsc18gIyMgbmFtZSAjIyBfa2V5X2Rlc3Ryb3kodm9pZCogYnVmZmVyKSB7IFwKLSAgICBmcmVlKGJ1ZmZlcik7IFwKLSAgfSBcCi0gIF9fYXR0cmlidXRlX18oKGNvbnN0cnVjdG9yKSkgc3RhdGljIHZvaWQgX19iaW9uaWNfdGxzXyAjIyBuYW1lICMjIF9rZXlfaW5pdCgpIHsgXAotICAgIHB0aHJlYWRfa2V5X2NyZWF0ZSgmX19iaW9uaWNfdGxzXyAjIyBuYW1lICMjIF9rZXksIF9fYmlvbmljX3Rsc18gIyMgbmFtZSAjIyBfa2V5X2Rlc3Ryb3kpOyBcCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgc2l6ZV90IFNpemUgPSBzaXplb2YoVCk+CitjbGFzcyBUaHJlYWRMb2NhbEJ1ZmZlciB7CisgcHVibGljOgorICBUaHJlYWRMb2NhbEJ1ZmZlcigpIHsKKyAgICAvLyBXZSB1c2VkIHRvIHVzZSBwdGhyZWFkX29uY2UgdG8gaW5pdGlhbGl6ZSB0aGUga2V5cywgYnV0IGxpZmUgaXMgbW9yZSBwcmVkaWN0YWJsZQorICAgIC8vIGlmIHdlIGFsbG9jYXRlIHRoZW0gYWxsIHVwIGZyb250IHdoZW4gdGhlIEMgbGlicmFyeSBzdGFydHMgdXAsIHZpYSBfX2NvbnN0cnVjdG9yX18uCisgICAgcHRocmVhZF9rZXlfY3JlYXRlKCZrZXlfLCBmcmVlKTsKICAgfQogCi0vLyBMZWF2ZXMgIm5hbWVfdGxzX2J1ZmZlciIgYW5kICJuYW1lX3Rsc19idWZmZXJfc2l6ZSIgZGVmaW5lZCBhbmQgaW5pdGlhbGl6ZWQuCi0jZGVmaW5lIExPQ0FMX0lOSVRfVEhSRUFEX0xPQ0FMX0JVRkZFUih0eXBlLCBuYW1lLCBieXRlX2NvdW50KSBcCi0gIHR5cGUgbmFtZSAjIyBfdGxzX2J1ZmZlciA9IFwKLSAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dHlwZT4ocHRocmVhZF9nZXRzcGVjaWZpYyhfX2Jpb25pY190bHNfICMjIG5hbWUgIyMgX2tleSkpOyBcCi0gIGlmIChuYW1lICMjIF90bHNfYnVmZmVyID09IE5VTEwpIHsgXAotICAgIG5hbWUgIyMgX3Rsc19idWZmZXIgPSByZWludGVycHJldF9jYXN0PHR5cGU+KGNhbGxvYygxLCBieXRlX2NvdW50KSk7IFwKLSAgICBwdGhyZWFkX3NldHNwZWNpZmljKF9fYmlvbmljX3Rsc18gIyMgbmFtZSAjIyBfa2V5LCBuYW1lICMjIF90bHNfYnVmZmVyKTsgXAotICB9IFwKLSAgY29uc3Qgc2l6ZV90IG5hbWUgIyMgX3Rsc19idWZmZXJfc2l6ZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSA9IGJ5dGVfY291bnQKKyAgVCogZ2V0KCkgeworICAgIFQqIHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KHB0aHJlYWRfZ2V0c3BlY2lmaWMoa2V5XykpOworICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikgeworICAgICAgcmVzdWx0ID0gcmVpbnRlcnByZXRfY2FzdDxUKj4oY2FsbG9jKDEsIFNpemUpKTsKKyAgICAgIHB0aHJlYWRfc2V0c3BlY2lmaWMoa2V5XywgcmVzdWx0KTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKKyAgfQorCisgIHNpemVfdCBzaXplKCkgeyByZXR1cm4gU2l6ZTsgfQorCisgcHJpdmF0ZToKKyAgcHRocmVhZF9rZXlfdCBrZXlfOworfTsKIAogI2VuZGlmIC8vIF9CSU9OSUNfVEhSRUFEX0xPQ0FMX0JVRkZFUl9IX2luY2x1ZGVkCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX2FzbS5oIGIvbGliYy9wcml2YXRlL2Jpb25pY19hc20uaAppbmRleCA3YzI2ODZmLi41ZmNhMjIyIDEwMDY0NAotLS0gYS9saWJjL3ByaXZhdGUvYmlvbmljX2FzbS5oCisrKyBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXNtLmgKQEAgLTQxLDcgKzQxLDcgQEAKICNkZWZpbmUgRU5UUlkoZikgXAogICAgIC50ZXh0OyBcCiAgICAgLmdsb2JsIGY7IFwKLSAgICBfQUxJR05fVEVYVDsgXAorICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ247IFwKICAgICAudHlwZSBmLCBfX2Jpb25pY19hc21fZnVuY3Rpb25fdHlwZTsgXAogICAgIGY6IFwKICAgICBfX2Jpb25pY19hc21fY3VzdG9tX2VudHJ5KGYpOyBcCkBAIC01Nyw0ICs1Nyw4IEBACiAgICAgRU5UUlkoZik7IFwKICAgICAuaGlkZGVuIGYgXAogCisjZGVmaW5lIEFMSUFTX1NZTUJPTChhbGlhcywgb3JpZ2luYWwpIFwKKyAgICAuZ2xvYmwgYWxpYXM7IFwKKyAgICAuZXF1IGFsaWFzLCBvcmlnaW5hbAorCiAjZW5kaWYgLyogX1BSSVZBVEVfQklPTklDX0FTTV9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliYy9wcml2YXRlL2Jpb25pY19hdG9taWNfYXJtLmggYi9saWJjL3ByaXZhdGUvYmlvbmljX2F0b21pY19hcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjE1NmU2YS4uMDAwMDAwMAotLS0gYS9saWJjL3ByaXZhdGUvYmlvbmljX2F0b21pY19hcm0uaAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotI2lmbmRlZiBCSU9OSUNfQVRPTUlDX0FSTV9ICi0jZGVmaW5lIEJJT05JQ19BVE9NSUNfQVJNX0gKLQotX19BVE9NSUNfSU5MSU5FX18gdm9pZCBfX2Jpb25pY19tZW1vcnlfYmFycmllcigpIHsKLSNpZiBkZWZpbmVkKEFORFJPSURfU01QKSAmJiBBTkRST0lEX1NNUCA9PSAxCi0gIF9fYXNtX18gX192b2xhdGlsZV9fICggImRtYiBpc2giIDogOiA6ICJtZW1vcnkiICk7Ci0jZWxzZQotICAvKiBBIHNpbXBsZSBjb21waWxlciBiYXJyaWVyLiAqLwotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoICIiIDogOiA6ICJtZW1vcnkiICk7Ci0jZW5kaWYKLX0KLQotLyogQ29tcGFyZS1hbmQtc3dhcCwgd2l0aG91dCBhbnkgZXhwbGljaXQgYmFycmllcnMuIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uCi0gKiByZXR1cm5zIDAgb24gc3VjY2VzcywgYW5kIDEgb24gZmFpbHVyZS4gVGhlIG9wcG9zaXRlIGNvbnZlbnRpb24gaXMgdHlwaWNhbGx5Ci0gKiB1c2VkIG9uIG90aGVyIHBsYXRmb3Jtcy4KLSAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50IF9fYmlvbmljX2NtcHhjaGcoaW50MzJfdCBvbGRfdmFsdWUsIGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50MzJfdCBwcmV2LCBzdGF0dXM7Ci0gIGRvIHsKLSAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCi0gICAgICAgICAgImxkcmV4ICUwLCBbJTNdXG4iCi0gICAgICAgICAgIm1vdiAlMSwgIzBcbiIKLSAgICAgICAgICAidGVxICUwLCAlNFxuIgotI2lmZGVmIF9fdGh1bWIyX18KLSAgICAgICAgICAiaXQgZXFcbiIKLSNlbmRpZgotICAgICAgICAgICJzdHJleGVxICUxLCAlNSwgWyUzXSIKLSAgICAgICAgICA6ICI9JnIiIChwcmV2KSwgIj0mciIgKHN0YXR1cyksICIrbSIoKnB0cikKLSAgICAgICAgICA6ICJyIiAocHRyKSwgIklyIiAob2xkX3ZhbHVlKSwgInIiIChuZXdfdmFsdWUpCi0gICAgICAgICAgOiAiY2MiKTsKLSAgfSB3aGlsZSAoX19idWlsdGluX2V4cGVjdChzdGF0dXMgIT0gMCwgMCkpOwotICByZXR1cm4gcHJldiAhPSBvbGRfdmFsdWU7Ci19Ci0KLS8qIFN3YXAsIHdpdGhvdXQgYW55IGV4cGxpY2l0IGJhcnJpZXJzLiAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50MzJfdCBfX2Jpb25pY19zd2FwKGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50MzJfdCBwcmV2LCBzdGF0dXM7Ci0gIGRvIHsKLSAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCi0gICAgICAgICAgImxkcmV4ICUwLCBbJTNdXG4iCi0gICAgICAgICAgInN0cmV4ICUxLCAlNCwgWyUzXSIKLSAgICAgICAgICA6ICI9JnIiIChwcmV2KSwgIj0mciIgKHN0YXR1cyksICIrbSIgKCpwdHIpCi0gICAgICAgICAgOiAiciIgKHB0ciksICJyIiAobmV3X3ZhbHVlKQotICAgICAgICAgIDogImNjIik7Ci0gIH0gd2hpbGUgKF9fYnVpbHRpbl9leHBlY3Qoc3RhdHVzICE9IDAsIDApKTsKLSAgcmV0dXJuIHByZXY7Ci19Ci0KLS8qIEF0b21pYyBkZWNyZW1lbnQsIHdpdGhvdXQgZXhwbGljaXQgYmFycmllcnMuICovCi1fX0FUT01JQ19JTkxJTkVfXyBpbnQzMl90IF9fYmlvbmljX2F0b21pY19kZWModm9sYXRpbGUgaW50MzJfdCogcHRyKSB7Ci0gIGludDMyX3QgcHJldiwgdG1wLCBzdGF0dXM7Ci0gIGRvIHsKLSAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCi0gICAgICAgICAgImxkcmV4ICUwLCBbJTRdXG4iCi0gICAgICAgICAgInN1YiAlMSwgJTAsICMxXG4iCi0gICAgICAgICAgInN0cmV4ICUyLCAlMSwgWyU0XSIKLSAgICAgICAgICA6ICI9JnIiIChwcmV2KSwgIj0mciIgKHRtcCksICI9JnIiIChzdGF0dXMpLCAiK20iKCpwdHIpCi0gICAgICAgICAgOiAiciIgKHB0cikKLSAgICAgICAgICA6ICJjYyIpOwotICB9IHdoaWxlIChfX2J1aWx0aW5fZXhwZWN0KHN0YXR1cyAhPSAwLCAwKSk7Ci0gIHJldHVybiBwcmV2OwotfQotCi0jZW5kaWYgLyogU1lTX0FUT01JQ1NfQVJNX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX2FybTY0LmggYi9saWJjL3ByaXZhdGUvYmlvbmljX2F0b21pY19hcm02NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjM2EzNGUxLi4wMDAwMDAwCi0tLSBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX2FybTY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLSNpZm5kZWYgQklPTklDX0FUT01JQ19BQVJDSDY0X0gKLSNkZWZpbmUgQklPTklDX0FUT01JQ19BQVJDSDY0X0gKLQotLyogRm9yIEFSTXY4LCB3ZSBjYW4gdXNlIHRoZSAnZG1iJyBpbnN0cnVjdGlvbiBkaXJlY3RseSAqLwotX19BVE9NSUNfSU5MSU5FX18gdm9pZCBfX2Jpb25pY19tZW1vcnlfYmFycmllcigpIHsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCAiZG1iIGlzaCIgOiA6IDogIm1lbW9yeSIgKTsKLX0KLQotLyogQ29tcGFyZS1hbmQtc3dhcCwgd2l0aG91dCBhbnkgZXhwbGljaXQgYmFycmllcnMuIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uCi0gKiByZXR1cm5zIDAgb24gc3VjY2VzcywgYW5kIDEgb24gZmFpbHVyZS4gVGhlIG9wcG9zaXRlIGNvbnZlbnRpb24gaXMgdHlwaWNhbGx5Ci0gKiB1c2VkIG9uIG90aGVyIHBsYXRmb3Jtcy4KLSAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50IF9fYmlvbmljX2NtcHhjaGcoaW50MzJfdCBvbGRfdmFsdWUsIGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50MzJfdCB0bXAsIG9sZHZhbDsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKAotICAgICAgIi8vIGF0b21pY19jbXB4Y2hnXG4iCi0gICAgICAiMTogIGxkeHIgJXcxLCBbJTNdXG4iCi0gICAgICAiICAgIGNtcCAldzEsICV3NFxuIgotICAgICAgIiAgICBiLm5lIDJmXG4iCi0gICAgICAiICAgIHN0eHIgJXcwLCAldzUsIFslM11cbiIKLSAgICAgICIgICAgY2JueiAgJXcwLCAxYlxuIgotICAgICAgIjI6IgotICAgICAgOiAiPSZyIiAodG1wKSwgIj0mciIgKG9sZHZhbCksICIrbyIoKnB0cikKLSAgICAgIDogInIiIChwdHIpLCAiSXIiIChvbGRfdmFsdWUpLCAiciIgKG5ld192YWx1ZSkKLSAgICAgIDogImNjIiwgIm1lbW9yeSIpOwotICByZXR1cm4gb2xkdmFsICE9IG9sZF92YWx1ZTsKLX0KLQotLyogU3dhcCwgd2l0aG91dCBhbnkgZXhwbGljaXQgYmFycmllcnMuICAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50MzJfdCBfX2Jpb25pY19zd2FwKGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50MzJfdCBwcmV2LCBzdGF0dXM7Ci0gIF9fYXNtX18gX192b2xhdGlsZV9fICgKLSAgICAgICIvLyBhdG9taWNfc3dhcFxuIgotICAgICAgIjE6ICBsZHhyICV3MCwgWyUzXVxuIgotICAgICAgIiAgICBzdHhyICV3MSwgJXc0LCBbJTNdXG4iCi0gICAgICAiICAgIGNibnogJXcxLCAxYlxuIgotICAgICAgOiAiPSZyIiAocHJldiksICI9JnIiIChzdGF0dXMpLCAiK28iICgqcHRyKQotICAgICAgOiAiciIgKHB0ciksICJyIiAobmV3X3ZhbHVlKQotICAgICAgOiAiY2MiLCAibWVtb3J5Iik7Ci0gIHJldHVybiBwcmV2OwotfQotCi0vKiBBdG9taWMgZGVjcmVtZW50LCB3aXRob3V0IGV4cGxpY2l0IGJhcnJpZXJzLiAgKi8KLV9fQVRPTUlDX0lOTElORV9fIGludDMyX3QgX19iaW9uaWNfYXRvbWljX2RlYyh2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50MzJfdCBwcmV2LCB0bXAsIHN0YXR1czsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKAotICAgICAgIjE6ICBsZHhyICV3MCwgWyU0XVxuIgotICAgICAgIiAgICBzdWIgJXcxLCAldzAsICMxXG4iCi0gICAgICAiICAgIHN0eHIgJXcyLCAldzEsIFslNF1cbiIKLSAgICAgICIgICAgY2JueiAldzIsIDFiIgotICAgICAgOiAiPSZyIiAocHJldiksICI9JnIiICh0bXApLCAiPSZyIiAoc3RhdHVzKSwgIittIigqcHRyKQotICAgICAgOiAiciIgKHB0cikKLSAgICAgIDogImNjIiwgIm1lbW9yeSIpOwotICByZXR1cm4gcHJldjsKLX0KLQotI2VuZGlmIC8qIEJJT05JQ19BVE9NSUNTX0FBUkNINjRfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYy9wcml2YXRlL2Jpb25pY19hdG9taWNfZ2NjX2J1aWx0aW4uaCBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX2djY19idWlsdGluLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZWI4NjEuLjAwMDAwMDAKLS0tIGEvbGliYy9wcml2YXRlL2Jpb25pY19hdG9taWNfZ2NjX2J1aWx0aW4uaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotI2lmbmRlZiBCSU9OSUNfQVRPTUlDX0dDQ19CVUlMVElOX0gKLSNkZWZpbmUgQklPTklDX0FUT01JQ19HQ0NfQlVJTFRJTl9ICi0KLS8qCi0gKiBUaGlzIGhlYWRlciBmaWxlIGlzIHVzZWQgYnkgZGVmYXVsdCBpZiB3ZSBkb24ndCBoYXZlIG9wdGltaXplZCBhdG9taWMKLSAqIHJvdXRpbmVzIGZvciBhIGdpdmVuIHBsYXRmb3JtLiBTZWUgYmlvbmljX2F0b21pY19hcm0uaCBhbmQKLSAqIGJpb25pY19hdG9taWNfeDg2LmggZm9yIGV4YW1wbGVzLgotICoKLSAqIE5vdGUgdGhhdCB0aGUgR0NDIGJ1aWx0aW5zIGluY2x1ZGUgYmFycmllcnMgdGhhdCBhcmVuJ3QgcHJlc2VudCBpbgotICogdGhlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBhc3NlbWJsZXIgdmVyc2lvbnMuCi0gKi8KLQotX19BVE9NSUNfSU5MSU5FX18gdm9pZCBfX2Jpb25pY19tZW1vcnlfYmFycmllcigpIHsKLSAgX19zeW5jX3N5bmNocm9uaXplKCk7Ci19Ci0KLV9fQVRPTUlDX0lOTElORV9fIGludCBfX2Jpb25pY19jbXB4Y2hnKGludDMyX3Qgb2xkX3ZhbHVlLCBpbnQzMl90IG5ld192YWx1ZSwgdm9sYXRpbGUgaW50MzJfdCogcHRyKSB7Ci0gIC8qIFdlIG11c3QgcmV0dXJuIDAgb24gc3VjY2Vzcy4gKi8KLSAgcmV0dXJuIF9fc3luY192YWxfY29tcGFyZV9hbmRfc3dhcChwdHIsIG9sZF92YWx1ZSwgbmV3X3ZhbHVlKSAhPSBvbGRfdmFsdWU7Ci19Ci0KLV9fQVRPTUlDX0lOTElORV9fIGludDMyX3QgX19iaW9uaWNfc3dhcChpbnQzMl90IG5ld192YWx1ZSwgdm9sYXRpbGUgaW50MzJfdCogcHRyKSB7Ci0gIGludDMyX3Qgb2xkX3ZhbHVlOwotICBkbyB7Ci0gICAgb2xkX3ZhbHVlID0gKnB0cjsKLSAgfSB3aGlsZSAoX19zeW5jX3ZhbF9jb21wYXJlX2FuZF9zd2FwKHB0ciwgb2xkX3ZhbHVlLCBuZXdfdmFsdWUpICE9IG9sZF92YWx1ZSk7Ci0gIHJldHVybiBvbGRfdmFsdWU7Ci19Ci0KLV9fQVRPTUlDX0lOTElORV9fIGludDMyX3QgX19iaW9uaWNfYXRvbWljX2RlYyh2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgLyogV2UgbXVzdCByZXR1cm4gdGhlIG9sZCB2YWx1ZS4gKi8KLSAgcmV0dXJuIF9fc3luY19mZXRjaF9hbmRfYWRkKHB0ciwgLTEpOwotfQotCi0jZW5kaWYgLyogQklPTklDX0FUT01JQ19HQ0NfQlVJTFRJTl9IICovCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX2F0b21pY19pbmxpbmUuaCBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX2lubGluZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODM0YTI3Li4wMDAwMDAwCi0tLSBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX2lubGluZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICoKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICovCi0KLSNpZm5kZWYgQklPTklDX0FUT01JQ19JTkxJTkVfSAotI2RlZmluZSBCSU9OSUNfQVRPTUlDX0lOTElORV9ICi0KLS8qCi0gKiBJbmxpbmUgZGVjbGFyYXRpb25zIGFuZCBtYWNyb3MgZm9yIHNvbWUgc3BlY2lhbC1wdXJwb3NlIGF0b21pYwotICogb3BlcmF0aW9ucy4gIFRoZXNlIGFyZSBpbnRlbmRlZCBmb3IgcmFyZSBjaXJjdW1zdGFuY2VzIHdoZXJlIGEKLSAqIG1lbW9yeSBiYXJyaWVyIG5lZWRzIHRvIGJlIGlzc3VlZCBpbmxpbmUgcmF0aGVyIHRoYW4gYXMgYSBmdW5jdGlvbgotICogY2FsbC4KLSAqCi0gKiBNYWNyb3MgZGVmaW5lZCBpbiB0aGlzIGhlYWRlcjoKLSAqCi0gKiB2b2lkIEFORFJPSURfTUVNQkFSX0ZVTEwoKQotICogICBGdWxsIG1lbW9yeSBiYXJyaWVyLiAgUHJvdmlkZXMgYSBjb21waWxlciByZW9yZGVyaW5nIGJhcnJpZXIsIGFuZAotICogICBvbiBTTVAgc3lzdGVtcyBlbWl0cyBhbiBhcHByb3ByaWF0ZSBpbnN0cnVjdGlvbi4KLSAqLwotCi0jaWYgIWRlZmluZWQoQU5EUk9JRF9TTVApCi0jIGVycm9yICJNdXN0IGRlZmluZSBBTkRST0lEX1NNUCBiZWZvcmUgaW5jbHVkaW5nIGF0b21pYy1pbmxpbmUuaCIKLSNlbmRpZgotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLS8qIERlZmluZSBfX0FUT01JQ19JTkxJTkVfXyB0byBjb250cm9sIHRoZSBpbmxpbmluZyBvZiBhbGwgYXRvbWljcwotICogZnVuY3Rpb25zIGRlY2xhcmVkIGhlcmUuIEZvciBhIHNsaWdodCBwZXJmb3JtYW5jZSBib29zdCwgd2Ugd2FudAotICogYWxsIG9mIHRoZW0gdG8gYmUgYWx3YXlzX2lubGluZQotICovCi0jZGVmaW5lICBfX0FUT01JQ19JTkxJTkVfXyAgc3RhdGljIF9faW5saW5lX18gX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpCi0KLSNpZiBkZWZpbmVkKF9fYXJtX18pCi0jICBpbmNsdWRlICJiaW9uaWNfYXRvbWljX2FybS5oIgotI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLSMgIGluY2x1ZGUgImJpb25pY19hdG9taWNfYXJtNjQuaCIKLSNlbGlmIGRlZmluZWQoX19pMzg2X18pCi0jICBpbmNsdWRlICJiaW9uaWNfYXRvbWljX3g4Ni5oIgotI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSMgIGluY2x1ZGUgImJpb25pY19hdG9taWNfbWlwcy5oIgotI2Vsc2UKLSMgIGluY2x1ZGUgImJpb25pY19hdG9taWNfZ2NjX2J1aWx0aW4uaCIKLSNlbmRpZgotCi0jZGVmaW5lIEFORFJPSURfTUVNQkFSX0ZVTEwgIF9fYmlvbmljX21lbW9yeV9iYXJyaWVyCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfSAvLyBleHRlcm4gIkMiCi0jZW5kaWYKLQotI2VuZGlmIC8vIEJJT05JQ19BVE9NSUNfSU5MSU5FX0gKZGlmZiAtLWdpdCBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX21pcHMuaCBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX21pcHMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUwODExNi4uMDAwMDAwMAotLS0gYS9saWJjL3ByaXZhdGUvYmlvbmljX2F0b21pY19taXBzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLSNpZm5kZWYgQklPTklDX0FUT01JQ19NSVBTX0gKLSNkZWZpbmUgQklPTklDX0FUT01JQ19NSVBTX0gKLQotLyogRGVmaW5lIGEgZnVsbCBtZW1vcnkgYmFycmllciwgdGhpcyBpcyBvbmx5IG5lZWRlZCBpZiB3ZSBidWlsZCB0aGUKLSAqIHBsYXRmb3JtIGZvciBhIG11bHRpLWNvcmUgZGV2aWNlLgotICovCi0KLV9fQVRPTUlDX0lOTElORV9fIHZvaWQgX19iaW9uaWNfbWVtb3J5X2JhcnJpZXIoKSB7Ci0jaWYgZGVmaW5lZChBTkRST0lEX1NNUCkgJiYgQU5EUk9JRF9TTVAgPT0gMQotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoICJzeW5jIiA6IDogOiAibWVtb3J5IiApOwotI2Vsc2UKLSAgLyogQSBzaW1wbGUgY29tcGlsZXIgYmFycmllci4gKi8KLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCAiIiA6IDogOiAibWVtb3J5IiApOwotI2VuZGlmCi19Ci0KLS8qIENvbXBhcmUtYW5kLXN3YXAsIHdpdGhvdXQgYW55IGV4cGxpY2l0IGJhcnJpZXJzLiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbgotICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGFuZCAxIG9uIGZhaWx1cmUuIFRoZSBvcHBvc2l0ZSBjb252ZW50aW9uIGlzIHR5cGljYWxseQotICogdXNlZCBvbiBvdGhlciBwbGF0Zm9ybXMuCi0gKi8KLV9fQVRPTUlDX0lOTElORV9fIGludCBfX2Jpb25pY19jbXB4Y2hnKGludDMyX3Qgb2xkX3ZhbHVlLCBpbnQzMl90IG5ld192YWx1ZSwgdm9sYXRpbGUgaW50MzJfdCogcHRyKSB7Ci0gIGludDMyX3QgcHJldiwgc3RhdHVzOwotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIjE6IG1vdmUgJVtzdGF0dXNdLCAlW25ld192YWx1ZV0gIFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgIiAgIGxsICVbcHJldl0sIDAoJVtwdHJdKSAgICAgICAgIFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgIiAgIGJuZSAlW29sZF92YWx1ZV0sICVbcHJldl0sIDJmIFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgIiAgIHNjICAgJVtzdGF0dXNdLCAwKCVbcHRyXSkgICAgIFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgIiAgIGJlcXogJVtzdGF0dXNdLCAxYiAgICAgICAgICAgIFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotICAgICAgICAgICAgICAgICAgICAgICAgOiBbcHJldl0iPSZyIihwcmV2KSwgW3N0YXR1c10iPSZyIihzdGF0dXMpLCAiK20iKCpwdHIpCi0gICAgICAgICAgICAgICAgICAgICAgICA6IFtuZXdfdmFsdWVdInIiKG5ld192YWx1ZSksIFtvbGRfdmFsdWVdInIiKG9sZF92YWx1ZSksIFtwdHJdInIiKHB0cikKLSAgICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOwotICByZXR1cm4gcHJldiAhPSBvbGRfdmFsdWU7Ci19Ci0KLS8qIFN3YXAsIHdpdGhvdXQgYW55IGV4cGxpY2l0IGJhcnJpZXJzLiAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50MzJfdCBfX2Jpb25pY19zd2FwKGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50MzJfdCBwcmV2LCBzdGF0dXM7Ci0gIF9fYXNtX18gX192b2xhdGlsZV9fICgiMTogIG1vdmUgJVtzdGF0dXNdLCAlW25ld192YWx1ZV0gXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAiICAgIGxsICVbcHJldl0sIDAoJVtwdHJdKSAgICAgICAgXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAiICAgIHNjICVbc3RhdHVzXSwgMCglW3B0cl0pICAgICAgXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAiICAgIGJlcXogJVtzdGF0dXNdLCAxYiAgICAgICAgICAgXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICA6IFtwcmV2XSI9JnIiKHByZXYpLCBbc3RhdHVzXSI9JnIiKHN0YXR1cyksICIrbSIoKnB0cikKLSAgICAgICAgICAgICAgICAgICAgICAgIDogW3B0cl0iciIocHRyKSwgW25ld192YWx1ZV0iciIobmV3X3ZhbHVlKQotICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7Ci0gIHJldHVybiBwcmV2OwotfQotCi0vKiBBdG9taWMgZGVjcmVtZW50LCB3aXRob3V0IGV4cGxpY2l0IGJhcnJpZXJzLiAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50MzJfdCBfX2Jpb25pY19hdG9taWNfZGVjKHZvbGF0aWxlIGludDMyX3QqIHB0cikgewotICBpbnQzMl90IHByZXYsIHN0YXR1czsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCIxOiAgbGwgJVtwcmV2XSwgMCglW3B0cl0pICAgICAgICBcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICIgICAgYWRkaXUgJVtzdGF0dXNdLCAlW3ByZXZdLCAtMSBcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICIgICAgc2MgICAlW3N0YXR1c10sIDAoJVtwdHJdKSAgICBcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICIgICAgYmVxeiAlW3N0YXR1c10sIDFiICAgICAgICAgICBcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgIDogW3ByZXZdIj0mciIgKHByZXYpLCBbc3RhdHVzXSI9JnIiKHN0YXR1cyksICIrbSIgKCpwdHIpCi0gICAgICAgICAgICAgICAgICAgICAgICA6IFtwdHJdInIiKHB0cikKLSAgICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOwotICByZXR1cm4gcHJldjsKLX0KLQotI2VuZGlmIC8qIEJJT05JQ19BVE9NSUNfTUlQU19IICovCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX2F0b21pY194ODYuaCBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX3g4Ni5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTYzOWM4Li4wMDAwMDAwCi0tLSBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfYXRvbWljX3g4Ni5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICoKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICovCi0jaWZuZGVmIEJJT05JQ19BVE9NSUNfWDg2X0gKLSNkZWZpbmUgQklPTklDX0FUT01JQ19YODZfSAotCi0vKiBEZWZpbmUgYSBmdWxsIG1lbW9yeSBiYXJyaWVyLCB0aGlzIGlzIG9ubHkgbmVlZGVkIGlmIHdlIGJ1aWxkIHRoZQotICogcGxhdGZvcm0gZm9yIGEgbXVsdGktY29yZSBkZXZpY2UuCi0gKi8KLV9fQVRPTUlDX0lOTElORV9fIHZvaWQgX19iaW9uaWNfbWVtb3J5X2JhcnJpZXIoKSB7Ci0jaWYgZGVmaW5lZChBTkRST0lEX1NNUCkgJiYgQU5EUk9JRF9TTVAgPT0gMQotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoICJtZmVuY2UiIDogOiA6ICJtZW1vcnkiICk7Ci0jZWxzZQotICAvKiBBIHNpbXBsZSBjb21waWxlciBiYXJyaWVyLiAqLwotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoICIiIDogOiA6ICJtZW1vcnkiICk7Ci0jZW5kaWYKLX0KLQotLyogQ29tcGFyZS1hbmQtc3dhcCwgd2l0aG91dCBhbnkgZXhwbGljaXQgYmFycmllcnMuIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uCi0gKiByZXR1cm5zIDAgb24gc3VjY2VzcywgYW5kIDEgb24gZmFpbHVyZS4gVGhlIG9wcG9zaXRlIGNvbnZlbnRpb24gaXMgdHlwaWNhbGx5Ci0gKiB1c2VkIG9uIG90aGVyIHBsYXRmb3Jtcy4KLSAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50IF9fYmlvbmljX2NtcHhjaGcoaW50MzJfdCBvbGRfdmFsdWUsIGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgICBpbnQzMl90IHByZXY7Ci0gICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJsb2NrOyBjbXB4Y2hnbCAlMSwgJTIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDogIj1hIiAocHJldikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAicSIgKG5ld192YWx1ZSksICJtIiAoKnB0ciksICIwIiAob2xkX3ZhbHVlKQotICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiKTsKLSAgICByZXR1cm4gcHJldiAhPSBvbGRfdmFsdWU7Ci19Ci0KLS8qIFN3YXAsIHdpdGhvdXQgYW55IGV4cGxpY2l0IGJhcnJpZXJzLiAqLwotX19BVE9NSUNfSU5MSU5FX18gaW50MzJfdCBfX2Jpb25pY19zd2FwKGludDMyX3QgbmV3X3ZhbHVlLCB2b2xhdGlsZSBpbnQzMl90ICpwdHIpIHsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJ4Y2hnbCAlMSwgJTAiCi0gICAgICAgICAgICAgICAgICAgICAgICA6ICI9ciIgKG5ld192YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIDogIm0iICgqcHRyKSwgIjAiIChuZXdfdmFsdWUpCi0gICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiKTsKLSAgcmV0dXJuIG5ld192YWx1ZTsKLX0KLQotLyogQXRvbWljIGRlY3JlbWVudCwgd2l0aG91dCBleHBsaWNpdCBiYXJyaWVycy4gKi8KLV9fQVRPTUlDX0lOTElORV9fIGludDMyX3QgX19iaW9uaWNfYXRvbWljX2RlYyh2b2xhdGlsZSBpbnQzMl90KiBwdHIpIHsKLSAgaW50IGluY3JlbWVudCA9IC0xOwotICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImxvY2s7IHhhZGRsICUwLCAlMSIKLSAgICAgICAgICAgICAgICAgICAgICAgIDogIityIiAoaW5jcmVtZW50KSwgIittIiAoKnB0cikKLSAgICAgICAgICAgICAgICAgICAgICAgIDogOiAibWVtb3J5Iik7Ci0gIC8qIGluY3JlbWVudCBub3cgaG9sZHMgdGhlIG9sZCB2YWx1ZSBvZiAqcHRyICovCi0gIHJldHVybiBpbmNyZW1lbnQ7Ci19Ci0KLSNlbmRpZiAvKiBCSU9OSUNfQVRPTUlDX1g4Nl9IICovCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX2NvbnN0YW50cy5oIGIvbGliYy9wcml2YXRlL2Jpb25pY19jb25zdGFudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWUxYzhkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9wcml2YXRlL2Jpb25pY19jb25zdGFudHMuaApAQCAtMCwwICsxLDIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfQklPTklDX0NPTlNUQU5UU19IXworI2RlZmluZSBfQklPTklDX0NPTlNUQU5UU19IXworCisjZGVmaW5lIE5TX1BFUl9TIDEwMDAwMDAwMDAKKworI2VuZGlmIC8vIF9CSU9OSUNfQ09OU1RBTlRTX0hfCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX2Z1dGV4LmggYi9saWJjL3ByaXZhdGUvYmlvbmljX2Z1dGV4LmgKaW5kZXggYmQyYmQzNi4uNDAxNTc3YSAxMDA2NDQKLS0tIGEvbGliYy9wcml2YXRlL2Jpb25pY19mdXRleC5oCisrKyBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfZnV0ZXguaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHN0ZGRlZi5oPgogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAKIF9fQkVHSU5fREVDTFMKIApkaWZmIC0tZ2l0IGEvbGliYy9wcml2YXRlL2Jpb25pY19sb2NrLmggYi9saWJjL3ByaXZhdGUvYmlvbmljX2xvY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTBmZDA2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9wcml2YXRlL2Jpb25pY19sb2NrLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCisgKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKKyAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAorICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworI2lmbmRlZiBfQklPTklDX0xPQ0tfSAorI2RlZmluZSBfQklPTklDX0xPQ0tfSAorCisjaW5jbHVkZSA8c3RkYXRvbWljLmg+CisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfZnV0ZXguaCIKKworY2xhc3MgTG9jayB7CisgcHJpdmF0ZToKKyAgZW51bSBMb2NrU3RhdGUgeworICAgIFVubG9ja2VkID0gMCwKKyAgICBMb2NrZWRXaXRob3V0V2FpdGVyLAorICAgIExvY2tlZFdpdGhXYWl0ZXIsCisgIH07CisgIF9BdG9taWMoTG9ja1N0YXRlKSBzdGF0ZTsKKyAgYm9vbCBwcm9jZXNzX3NoYXJlZDsKKworIHB1YmxpYzoKKyAgTG9jayhib29sIHByb2Nlc3Nfc2hhcmVkID0gZmFsc2UpIHsKKyAgICBpbml0KHByb2Nlc3Nfc2hhcmVkKTsKKyAgfQorCisgIHZvaWQgaW5pdChib29sIHByb2Nlc3Nfc2hhcmVkKSB7CisgICAgYXRvbWljX2luaXQoJnN0YXRlLCBVbmxvY2tlZCk7CisgICAgdGhpcy0+cHJvY2Vzc19zaGFyZWQgPSBwcm9jZXNzX3NoYXJlZDsKKyAgfQorCisgIHZvaWQgbG9jaygpIHsKKyAgICBMb2NrU3RhdGUgb2xkX3N0YXRlID0gVW5sb2NrZWQ7CisgICAgaWYgKF9fcHJlZGljdF90cnVlKGF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZ19leHBsaWNpdCgmc3RhdGUsICZvbGRfc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgTG9ja2VkV2l0aG91dFdhaXRlciwgbWVtb3J5X29yZGVyX2FjcXVpcmUsIG1lbW9yeV9vcmRlcl9yZWxheGVkKSkpIHsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgd2hpbGUgKGF0b21pY19leGNoYW5nZV9leHBsaWNpdCgmc3RhdGUsIExvY2tlZFdpdGhXYWl0ZXIsIG1lbW9yeV9vcmRlcl9hY3F1aXJlKSAhPSBVbmxvY2tlZCkgeworICAgICAgLy8gVE9ETzogQXMgdGhlIGNyaXRpY2FsIHNlY3Rpb24gaXMgYnJpZWYsIGl0IGlzIGEgYmV0dGVyIGNob2ljZSB0byBzcGluIGEgZmV3IHRpbWVzIGJlZm9yIHNsZWVwaW5nLgorICAgICAgX19mdXRleF93YWl0X2V4KCZzdGF0ZSwgcHJvY2Vzc19zaGFyZWQsIExvY2tlZFdpdGhXYWl0ZXIsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm47CisgIH0KKworICB2b2lkIHVubG9jaygpIHsKKyAgICBpZiAoYXRvbWljX2V4Y2hhbmdlX2V4cGxpY2l0KCZzdGF0ZSwgVW5sb2NrZWQsIG1lbW9yeV9vcmRlcl9yZWxlYXNlKSA9PSBMb2NrZWRXaXRoV2FpdGVyKSB7CisgICAgICBfX2Z1dGV4X3dha2VfZXgoJnN0YXRlLCBwcm9jZXNzX3NoYXJlZCwgMSk7CisgICAgfQorICB9Cit9OworCisjZW5kaWYgIC8vIF9CSU9OSUNfTE9DS19ICmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX21hY3Jvcy5oIGIvbGliYy9wcml2YXRlL2Jpb25pY19tYWNyb3MuaAppbmRleCA0OTFiM2FjLi40ZjNjZjg5IDEwMDY0NAotLS0gYS9saWJjL3ByaXZhdGUvYmlvbmljX21hY3Jvcy5oCisrKyBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfbWFjcm9zLmgKQEAgLTE3LDExICsxNywxNiBAQAogI2lmbmRlZiBfQklPTklDX01BQ1JPU19IXwogI2RlZmluZSBfQklPTklDX01BQ1JPU19IXwogCisvLyBGcmFtZXdvcmtzIE9wZW5HTCBjb2RlIGN1cnJlbnRseSBsZWFrcyB0aGlzIGhlYWRlciBhbmQgYWxsb3dzCisvLyBjb2xsaXNpb25zIHdpdGggb3RoZXIgZGVjbGFyYXRpb25zLCBlLmcuLCBmcm9tIGxpYm5hdGl2ZWhlbHBlci4KKy8vIFRPRE86IFJlbW92ZSBvbmNlIGNsZWFuZWQgdXAuIGIvMTgzMzQ1MTYKKyNpZiAhZGVmaW5lZChESVNBTExPV19DT1BZX0FORF9BU1NJR04pCiAvLyBESVNBTExPV19DT1BZX0FORF9BU1NJR04gZGlzYWxsb3dzIHRoZSBjb3B5IGFuZCBvcGVyYXRvcj0gZnVuY3Rpb25zLgogLy8gSXQgZ29lcyBpbiB0aGUgcHJpdmF0ZTogZGVjbGFyYXRpb25zIGluIGEgY2xhc3MuCiAjZGVmaW5lIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihUeXBlTmFtZSkgXAogICBUeXBlTmFtZShjb25zdCBUeXBlTmFtZSYpID0gZGVsZXRlOyAgICAgIFwKICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgVHlwZU5hbWUmKSA9IGRlbGV0ZQorI2VuZGlmICAvLyAhZGVmaW5lZChESVNBTExPV19DT1BZX0FORF9BU1NJR04pCiAKIC8vIEEgbWFjcm8gdG8gZGlzYWxsb3cgYWxsIHRoZSBpbXBsaWNpdCBjb25zdHJ1Y3RvcnMsIG5hbWVseSB0aGUKIC8vIGRlZmF1bHQgY29uc3RydWN0b3IsIGNvcHkgY29uc3RydWN0b3IgYW5kIG9wZXJhdG9yPSBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX3B0aHJlYWQuaCBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfcHRocmVhZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2JjYmQ0Li4wMDAwMDAwCi0tLSBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfcHRocmVhZC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KLSAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTCi0gKiBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQKLSAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVAotICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIF9CSU9OSUNfUFRIUkVBRF9ICi0jZGVmaW5lIF9CSU9OSUNfUFRIUkVBRF9ICi0KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLQotX19CRUdJTl9ERUNMUwotCi0vKiBJbnRlcm5hbCwgbm90IGFuIE5ESyBBUEkgKi8KLWV4dGVybiBwaWRfdCBfX3B0aHJlYWRfZ2V0dGlkKHB0aHJlYWRfdCB0aGlkKTsKLQotX19FTkRfREVDTFMKLQotI2VuZGlmIC8qIF9CSU9OSUNfUFRIUkVBRF9IICovCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX3N5c3RyYWNlLmggYi9saWJjL3ByaXZhdGUvYmlvbmljX3N5c3RyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI0NTYwZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfc3lzdHJhY2UuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBCSU9OSUNfU1lTVFJBQ0VfSAorI2RlZmluZSBCSU9OSUNfU1lTVFJBQ0VfSAorCisjaW5jbHVkZSAiYmlvbmljX21hY3Jvcy5oIgorCisvLyBUcmFjaW5nIGNsYXNzIGZvciBiaW9uaWMuIFRvIGJlZ2luIGEgdHJhY2UgYXQgYSBzcGVjaWZpZWQgcG9pbnQ6CisvLyAgIFNjb3BlZFRyYWNlKCJUcmFjZSBtZXNzYWdlIik7CisvLyBUaGUgdHJhY2Ugd2lsbCBlbmQgd2hlbiB0aGUgY29udHJ1Y3RvciBnb2VzIG91dCBvZiBzY29wZS4KKworY2xhc3MgX19MSUJDX0hJRERFTl9fIFNjb3BlZFRyYWNlIHsKKyBwdWJsaWM6CisgIGV4cGxpY2l0IFNjb3BlZFRyYWNlKGNvbnN0IGNoYXIqIG1lc3NhZ2UpOworICB+U2NvcGVkVHJhY2UoKTsKKworIHByaXZhdGU6CisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTY29wZWRUcmFjZSk7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMvcHJpdmF0ZS9iaW9uaWNfdGltZV9jb252ZXJzaW9ucy5oIGIvbGliYy9wcml2YXRlL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmgKaW5kZXggNTFmNTQzZi4uY2YwMDQ2YSAxMDA2NDQKLS0tIGEvbGliYy9wcml2YXRlL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmgKKysrIGIvbGliYy9wcml2YXRlL2Jpb25pY190aW1lX2NvbnZlcnNpb25zLmgKQEAgLTM5LDYgKzM5LDggQEAKIAogX19MSUJDX0hJRERFTl9fIHZvaWQgdGltZXZhbF9mcm9tX3RpbWVzcGVjKHRpbWV2YWwmIHR2LCBjb25zdCB0aW1lc3BlYyYgdHMpOwogCitfX0xJQkNfSElEREVOX18gYm9vbCB0aW1lc3BlY19mcm9tX2Fic29sdXRlX3RpbWVzcGVjKHRpbWVzcGVjJiB0cywgY29uc3QgdGltZXNwZWMmIGFic190cywgY2xvY2tpZF90IGNsb2NrKTsKKwogX19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL3ByaXZhdGUvYmlvbmljX3Rscy5oIGIvbGliYy9wcml2YXRlL2Jpb25pY190bHMuaAppbmRleCA1NmE2MWJlLi4zMGRjMGViIDEwMDY0NAotLS0gYS9saWJjL3ByaXZhdGUvYmlvbmljX3Rscy5oCisrKyBiL2xpYmMvcHJpdmF0ZS9iaW9uaWNfdGxzLmgKQEAgLTY3LDMwICs2Nyw0OCBAQAogICBUTFNfU0xPVF9TVEFDS19HVUFSRCA9IDUsIC8vIEdDQyByZXF1aXJlcyB0aGlzIHNwZWNpZmljIHNsb3QgZm9yIHg4Ni4KICAgVExTX1NMT1RfRExFUlJPUiwKIAotICBUTFNfU0xPVF9GSVJTVF9VU0VSX1NMT1QgLy8gTXVzdCBjb21lIGxhc3QhCisgIEJJT05JQ19UTFNfU0xPVFMgLy8gTXVzdCBjb21lIGxhc3QhCiB9OwogCiAvKgotICogVGhlcmUgYXJlIHR3byBraW5kcyBvZiBzbG90IHVzZWQgaW50ZXJuYWxseSBieSBiaW9uaWMgLS0tIHRoZXJlIGFyZSB0aGUgd2VsbC1rbm93biBzbG90cwotICogZW51bWVyYXRlZCBhYm92ZSwgYW5kIHRoZW4gdGhlcmUgYXJlIHRob3NlIHRoYXQgYXJlIGFsbG9jYXRlZCBkdXJpbmcgc3RhcnR1cCBieSBjYWxscyB0bwotICogcHRocmVhZF9rZXlfY3JlYXRlOyBncmVwIGZvciBHTE9CQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSIHRvIGZpbmQgdGhvc2UuIFdlIG5lZWQgdG8gbWFudWFsbHkKLSAqIG1haW50YWluIHRoYXQgc2Vjb25kIG51bWJlciwgYnV0IHB0aHJlYWRfdGVzdCB3aWxsIGZhaWwgaWYgd2UgZm9yZ2V0LgorICogQmlvbmljIHVzZXMgc29tZSBwdGhyZWFkIGtleXMgaW50ZXJuYWxseS4gQWxsIHB0aHJlYWQga2V5cyB1c2VkIGludGVybmFsbHkKKyAqIHNob3VsZCBiZSBjcmVhdGVkIGluIGNvbnN0cnVjdG9ycywgZXhjZXB0IGZvciBrZXlzIHRoYXQgbWF5IGJlIHVzZWQgaW4gb3IKKyAqIGJlZm9yZSBjb25zdHJ1Y3RvcnMuCisgKgorICogV2UgbmVlZCB0byBtYW51YWxseSBtYWludGFpbiB0aGUgY291bnQgb2YgcHRocmVhZCBrZXlzIHVzZWQgaW50ZXJuYWxseSwgYnV0CisgKiBwdGhyZWFkX3Rlc3Qgc2hvdWxkIGZhaWwgaWYgd2UgZm9yZ2V0LgorICoKKyAqIFRoZXNlIGFyZSB0aGUgcHRocmVhZCBrZXlzIGN1cnJlbnRseSB1c2VkIGludGVybmFsbHkgYnkgbGliYzoKKyAqCisgKiAgYmFzZW5hbWUgICAgICAgICAgICAgICBsaWJjIChUaHJlYWRMb2NhbEJ1ZmZlcikKKyAqICBkaXJuYW1lICAgICAgICAgICAgICAgIGxpYmMgKFRocmVhZExvY2FsQnVmZmVyKQorICogIHVzZWxvY2FsZSAgICAgICAgICAgICAgbGliYyAoY2FuIGJlIHVzZWQgaW4gY29uc3RydWN0b3JzKQorICogIGdldG1udGVudF9tbnRlbnQgICAgICAgbGliYyAoVGhyZWFkTG9jYWxCdWZmZXIpCisgKiAgZ2V0bW50ZW50X3N0cmluZ3MgICAgICBsaWJjIChUaHJlYWRMb2NhbEJ1ZmZlcikKKyAqICBwdHNuYW1lICAgICAgICAgICAgICAgIGxpYmMgKFRocmVhZExvY2FsQnVmZmVyKQorICogIHR0eW5hbWUgICAgICAgICAgICAgICAgbGliYyAoVGhyZWFkTG9jYWxCdWZmZXIpCisgKiAgc3RyZXJyb3IgICAgICAgICAgICAgICBsaWJjIChUaHJlYWRMb2NhbEJ1ZmZlcikKKyAqICBzdHJzaWduYWwgICAgICAgICAgICAgIGxpYmMgKFRocmVhZExvY2FsQnVmZmVyKQorICogIHBhc3N3ZCAgICAgICAgICAgICAgICAgbGliYyAoVGhyZWFkTG9jYWxCdWZmZXIpCisgKiAgZ3JvdXAgICAgICAgICAgICAgICAgICBsaWJjIChUaHJlYWRMb2NhbEJ1ZmZlcikKKyAqICBfcmVzX2tleSAgICAgICAgICAgICAgIGxpYmMgKGNvbnN0cnVjdG9yIGluIEJTRCBjb2RlKQogICovCi0jZGVmaW5lIEdMT0JBTF9JTklUX1RIUkVBRF9MT0NBTF9CVUZGRVJfQ09VTlQgNQorCisjZGVmaW5lIExJQkNfUFRIUkVBRF9LRVlfUkVTRVJWRURfQ09VTlQgMTIKIAogI2lmIGRlZmluZWQoVVNFX0pFTUFMTE9DKQotLyogamVtYWxsb2MgdXNlcyA1IGtleXMgZm9yIGl0c2VsZi4gKi8KLSNkZWZpbmUgQklPTklDX1RMU19SRVNFUlZFRF9TTE9UUyAoR0xPQkFMX0lOSVRfVEhSRUFEX0xPQ0FMX0JVRkZFUl9DT1VOVCArIDUpCisvKiBJbnRlcm5hbGx5LCBqZW1hbGxvYyB1c2VzIGEgc2luZ2xlIGtleSBmb3IgcGVyIHRocmVhZCBkYXRhLiAqLworI2RlZmluZSBKRU1BTExPQ19QVEhSRUFEX0tFWV9SRVNFUlZFRF9DT1VOVCAxCisjZGVmaW5lIEJJT05JQ19QVEhSRUFEX0tFWV9SRVNFUlZFRF9DT1VOVCAoTElCQ19QVEhSRUFEX0tFWV9SRVNFUlZFRF9DT1VOVCArIEpFTUFMTE9DX1BUSFJFQURfS0VZX1JFU0VSVkVEX0NPVU5UKQogI2Vsc2UKLSNkZWZpbmUgQklPTklDX1RMU19SRVNFUlZFRF9TTE9UUyBHTE9CQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSX0NPVU5UCisjZGVmaW5lIEJJT05JQ19QVEhSRUFEX0tFWV9SRVNFUlZFRF9DT1VOVCBMSUJDX1BUSFJFQURfS0VZX1JFU0VSVkVEX0NPVU5UCiAjZW5kaWYKIAogLyoKLSAqIE1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBUTFMgYXJyYXkuCi0gKiBUaGlzIGluY2x1ZGVzIHNwYWNlIGZvciBwdGhyZWFkIGtleXMgYW5kIG91ciBvd24gaW50ZXJuYWwgc2xvdHMuCi0gKiBXZSBuZWVkIHRvIHJvdW5kIHVwIHRvIG1haW50YWluIHN0YWNrIGFsaWdubWVudC4KKyAqIE1heGltdW0gbnVtYmVyIG9mIHB0aHJlYWQga2V5cyBhbGxvY2F0ZWQuCisgKiBUaGlzIGluY2x1ZGVzIHB0aHJlYWQga2V5cyB1c2VkIGludGVybmFsbHkgYW5kIGV4dGVybmFsbHkuCiAgKi8KLSNkZWZpbmUgQklPTklDX1RMU19TTE9UUyBCSU9OSUNfQUxJR04oUFRIUkVBRF9LRVlTX01BWCArIFRMU19TTE9UX0ZJUlNUX1VTRVJfU0xPVCArIEJJT05JQ19UTFNfUkVTRVJWRURfU0xPVFMsIDQpCisjZGVmaW5lIEJJT05JQ19QVEhSRUFEX0tFWV9DT1VOVCAoQklPTklDX1BUSFJFQURfS0VZX1JFU0VSVkVEX0NPVU5UICsgUFRIUkVBRF9LRVlTX01BWCkKIAogX19FTkRfREVDTFMKIApkaWZmIC0tZ2l0IGEvbGliYy9wcml2YXRlL2tlcm5lbF9zaWdzZXRfdC5oIGIvbGliYy9wcml2YXRlL2tlcm5lbF9zaWdzZXRfdC5oCmluZGV4IGIyZDYzODYuLjk0MTVmY2YgMTAwNjQ0Ci0tLSBhL2xpYmMvcHJpdmF0ZS9rZXJuZWxfc2lnc2V0X3QuaAorKysgYi9saWJjL3ByaXZhdGUva2VybmVsX3NpZ3NldF90LmgKQEAgLTE3LDYgKzE3LDggQEAKICNpZm5kZWYgTElCQ19QUklWQVRFX0tFUk5FTF9TSUdTRVRfVF9IXwogI2RlZmluZSBMSUJDX1BSSVZBVEVfS0VSTkVMX1NJR1NFVF9UX0hfCiAKKyNpbmNsdWRlIDxzaWduYWwuaD4KKwogLy8gT3VyIHNpZ3NldF90IGlzIHdyb25nIGZvciBBUk0gYW5kIHg4Ni4gSXQncyAzMi1iaXQgYnV0IHRoZSBrZXJuZWwgZXhwZWN0cyA2NCBiaXRzLgogLy8gVGhpcyBtZWFucyB3ZSBjYW4ndCBzdXBwb3J0IHJlYWwtdGltZSBzaWduYWxzIGNvcnJlY3RseSB1bnRpbCB3ZSBjYW4gY2hhbmdlIHRoZSBBQkkuCiAvLyBJbiB0aGUgbWVhbnRpbWUsIHdlIGNhbiB1c2UgdGhpcyB1bmlvbiB0byBwYXNzIGFuIGFwcHJvcHJpYXRlbHktc2l6ZWQgYmxvY2sgb2YgbWVtb3J5CmRpZmYgLS1naXQgYS9saWJjL3N0ZGlvL2ZpbGVleHQuaCBiL2xpYmMvc3RkaW8vZmlsZWV4dC5oCmluZGV4IGMwNzRiNGIuLjZjYWNjMGYgMTAwNjQ0Ci0tLSBhL2xpYmMvc3RkaW8vZmlsZWV4dC5oCisrKyBiL2xpYmMvc3RkaW8vZmlsZWV4dC5oCkBAIC0zMyw2ICszMyw3IEBACiAjZGVmaW5lIF9GSUxFRVhUX0hfCiAKICNpbmNsdWRlIDxwdGhyZWFkLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgogCiBfX0JFR0lOX0RFQ0xTCiAKQEAgLTQwLDE0ICs0MSwxOCBAQAogICogZmlsZSBleHRlbnNpb24KICAqLwogc3RydWN0IF9fc2ZpbGVleHQgewotCXN0cnVjdAlfX3NidWYgX3ViOyAvKiB1bmdldGMgYnVmZmVyICovCisJc3RydWN0CV9fc2J1ZiBfdWI7CQkvKiB1bmdldGMgYnVmZmVyICovCiAJc3RydWN0IHdjaGFyX2lvX2RhdGEgX3djaW87CS8qIHdpZGUgY2hhciBpbyBzdGF0dXMgKi8KLQlwdGhyZWFkX211dGV4X3QgX2xvY2s7IC8qIGZpbGUgbG9jayAqLworCXB0aHJlYWRfbXV0ZXhfdCBfbG9jazsJCS8qIGZpbGUgbG9jayAqLworCWJvb2wgX3N0ZGlvX2hhbmRsZXNfbG9ja2luZzsJLyogX19mc2V0bG9ja2luZyBzdXBwb3J0ICovCiB9OwogCi0jZGVmaW5lIF9GSUxFRVhUX0lOSVRJQUxJWkVSICB7e05VTEwsMH0sezB9LFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSfQotCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKKyNkZWZpbmUgX0VYVChmcCkgcmVpbnRlcnByZXRfY2FzdDxfX3NmaWxlZXh0Kj4oKGZwKS0+X2V4dC5fYmFzZSkKKyNlbHNlCiAjZGVmaW5lIF9FWFQoZnApICgoc3RydWN0IF9fc2ZpbGVleHQgKikoKGZwKS0+X2V4dC5fYmFzZSkpCisjZW5kaWYKKwogI2RlZmluZSBfVUIoZnApIF9FWFQoZnApLT5fdWIKICNkZWZpbmUgX0ZMT0NLKGZwKSAgX0VYVChmcCktPl9sb2NrCiAKQEAgLTU2LDcgKzYxLDEyIEBACiAJX1VCKGZwKS5fYmFzZSA9IE5VTEw7IFwKIAlfVUIoZnApLl9zaXplID0gMDsgXAogCVdDSU9fSU5JVChmcCk7IFwKLSAgICAgICAgX0ZMT0NLKGZwKS52YWx1ZSA9IF9fUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfSU5JVF9WQUxVRTsgXAorCXB0aHJlYWRfbXV0ZXhhdHRyX3QgYXR0cjsgXAorCXB0aHJlYWRfbXV0ZXhhdHRyX2luaXQoJmF0dHIpOyBcCisJcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZSgmYXR0ciwgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUpOyBcCisJcHRocmVhZF9tdXRleF9pbml0KCZfRkxPQ0soZnApLCAmYXR0cik7IFwKKwlwdGhyZWFkX211dGV4YXR0cl9kZXN0cm95KCZhdHRyKTsgXAorCV9FWFQoZnApLT5fc3RkaW9faGFuZGxlc19sb2NraW5nID0gdHJ1ZTsgXAogfSB3aGlsZSAoMCkKIAogI2RlZmluZSBfRklMRUVYVF9TRVRVUChmLCBmZXh0KSBcCmRpZmYgLS1naXQgYS9saWJjL3N0ZGlvL2ZpbmRmcC5jIGIvbGliYy9zdGRpby9maW5kZnAuYwppbmRleCBjZmJiNjZiLi41ZTUxMTk4IDEwMDY0NAotLS0gYS9saWJjL3N0ZGlvL2ZpbmRmcC5jCisrKyBiL2xpYmMvc3RkaW8vZmluZGZwLmMKQEAgLTQ0LDE3ICs0NCwxMyBAQAogI2RlZmluZSBBTElHTkJZVEVTIChzaXplb2YodWludHB0cl90KSAtIDEpCiAjZGVmaW5lIEFMSUdOKHApICgoKHVpbnRwdHJfdCkocCkgKyBBTElHTkJZVEVTKSAmfiBBTElHTkJZVEVTKQogCi0jdW5kZWYgc3RkaW4KLSN1bmRlZiBzdGRvdXQKLSN1bmRlZiBzdGRlcnIKLQogaW50CV9fc2RpZGluaXQ7CiAKICNkZWZpbmUJTkRZTkFNSUMgMTAJCS8qIGFkZCB0ZW4gbW9yZSB3aGVuZXZlciBuZWNlc3NhcnkgKi8KIAogI2RlZmluZQlzdGQoZmxhZ3MsIGZpbGUpIFwKLQl7MCwwLDAsZmxhZ3MsZmlsZSx7MH0sMCxfX3NGK2ZpbGUsX19zY2xvc2UsX19zcmVhZCxfX3NzZWVrLF9fc3dyaXRlLCBcCi0JICAgIHsodW5zaWduZWQgY2hhciAqKShfX3NGZXh0K2ZpbGUpLCAwfSxOVUxMLDAsezB9LHswfSx7MH0sMCwwfQorCXswLDAsMCxmbGFncyxmaWxlLHswLDB9LDAsX19zRitmaWxlLF9fc2Nsb3NlLF9fc3JlYWQsX19zc2VlayxfX3N3cml0ZSwgXAorCSAgICB7KHVuc2lnbmVkIGNoYXIgKikoX19zRmV4dCtmaWxlKSwgMH0sTlVMTCwwLHswfSx7MH0sezAsMH0sMCwwfQogCiAJCQkJLyogdGhlIHVzdWFsIC0gKHN0ZGluICsgc3Rkb3V0ICsgc3RkZXJyKSAqLwogc3RhdGljIEZJTEUgdXN1YWxbRk9QRU5fTUFYIC0gM107CmRpZmYgLS1naXQgYS9saWJjL3N0ZGlvL2ZyZWFkLmMgYi9saWJjL3N0ZGlvL2ZyZWFkLmMKaW5kZXggZTA1MjEyOC4uZjNmMDEyNyAxMDA2NDQKLS0tIGEvbGliYy9zdGRpby9mcmVhZC5jCisrKyBiL2xpYmMvc3RkaW8vZnJlYWQuYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CiAjaW5jbHVkZSAibG9jYWwuaCIKIAogI2RlZmluZSBNVUxfTk9fT1ZFUkZMT1cJKDFVTCA8PCAoc2l6ZW9mKHNpemVfdCkgKiA0KSkKQEAgLTQyLDEzICs0Myw4IEBACiBzaXplX3QKIGZyZWFkKHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUsIHNpemVfdCBjb3VudCwgRklMRSAqZnApCiB7Ci0Jc2l6ZV90IHJlc2lkOwotCWNoYXIgKnA7Ci0JaW50IHI7Ci0Jc2l6ZV90IHRvdGFsOwotCiAJLyoKLQkgKiBFeHRlbnNpb246ICBDYXRjaCBpbnRlZ2VyIG92ZXJmbG93CisJICogRXh0ZW5zaW9uOiAgQ2F0Y2ggaW50ZWdlciBvdmVyZmxvdy4KIAkgKi8KIAlpZiAoKHNpemUgPj0gTVVMX05PX09WRVJGTE9XIHx8IGNvdW50ID49IE1VTF9OT19PVkVSRkxPVykgJiYKIAkgICAgc2l6ZSA+IDAgJiYgU0laRV9NQVggLyBzaXplIDwgY291bnQpIHsKQEAgLTU3LDQ4ICs1Myw4NyBAQAogCQlyZXR1cm4gKDApOwogCX0KIAorCWNvbnN0IHNpemVfdCBkZXNpcmVkX3RvdGFsID0gY291bnQgKiBzaXplOworCXNpemVfdCB0b3RhbCA9IGRlc2lyZWRfdG90YWw7CisKIAkvKgogCSAqIEFOU0kgYW5kIFNVU3YyIHJlcXVpcmUgYSByZXR1cm4gdmFsdWUgb2YgMCBpZiBzaXplIG9yIGNvdW50IGFyZSAwLgogCSAqLwotCWlmICgocmVzaWQgPSBjb3VudCAqIHNpemUpID09IDApCisJaWYgKHRvdGFsID09IDApIHsKIAkJcmV0dXJuICgwKTsKKwl9CisKIAlGTE9DS0ZJTEUoZnApOwogCV9TRVRfT1JJRU5UQVRJT04oZnAsIC0xKTsKKworCS8vIFRPRE86IGhvdyBjYW4gdGhpcyBldmVyIGhhcHBlbj8hCiAJaWYgKGZwLT5fciA8IDApCiAJCWZwLT5fciA9IDA7Ci0JdG90YWwgPSByZXNpZDsKLQlwID0gYnVmOwogCi0JLy8gQkVHSU4gYW5kcm9pZC1hZGRlZAotCS8vIEF2b2lkIHBhdGhvbG9naWNhbCBiZWhhdmlvciBvbiB1bmJ1ZmZlcmVkIGZpbGVzLiBPcGVuQlNECi0JLy8gd2lsbCBsb29wIHJlYWRpbmcgb25lIGJ5dGUgdGhlbiBtZW1jcHlpbmcgb25lIGJ5dGUhCi0JaWYgKChmcC0+X2ZsYWdzICYgX19TTkJGKSAhPSAwKSB7Ci0JCS8vIFdlIGtub3cgaWYgd2UncmUgdW5idWZmZXJlZCB0aGF0IG91ciBidWZmZXIgaXMgZW1wdHksIHNvCi0JCS8vIHdlIGNhbiBqdXN0IHJlYWQgZGlyZWN0bHkuCi0JCXdoaWxlIChyZXNpZCA+IDAgJiYgKHIgPSAoKmZwLT5fcmVhZCkoZnAtPl9jb29raWUsIHAsIHJlc2lkKSkgPiAwKSB7Ci0JCQlwICs9IHI7Ci0JCQlyZXNpZCAtPSByOwotCQl9Ci0JCUZVTkxPQ0tGSUxFKGZwKTsKLQkJcmV0dXJuICgodG90YWwgLSByZXNpZCkgLyBzaXplKTsKKwkvKgorCSAqIEVuc3VyZSBfYmYuX3NpemUgaXMgdmFsaWQuCisJICovCisJaWYgKGZwLT5fYmYuX2Jhc2UgPT0gTlVMTCkgeworCQlfX3NtYWtlYnVmKGZwKTsKIAl9Ci0JLy8gRU5EIGFuZHJvaWQtYWRkZWQKIAotCXdoaWxlIChyZXNpZCA+IChzaXplX3QpKHIgPSBmcC0+X3IpKSB7Ci0JCSh2b2lkKW1lbWNweSgodm9pZCAqKXAsICh2b2lkICopZnAtPl9wLCAoc2l6ZV90KXIpOwotCQlmcC0+X3AgKz0gcjsKLQkJLyogZnAtPl9yID0gMCAuLi4gZG9uZSBpbiBfX3NyZWZpbGwgKi8KLQkJcCArPSByOwotCQlyZXNpZCAtPSByOworCWNoYXIqIGRzdCA9IGJ1ZjsKKworCXdoaWxlICh0b3RhbCA+IDApIHsKKwkJLyoKKwkJICogQ29weSBkYXRhIG91dCBvZiB0aGUgYnVmZmVyLgorCQkgKi8KKwkJc2l6ZV90IGJ1ZmZlcmVkX2J5dGVzID0gTUlOKChzaXplX3QpIGZwLT5fciwgdG90YWwpOworCQltZW1jcHkoZHN0LCBmcC0+X3AsIGJ1ZmZlcmVkX2J5dGVzKTsKKwkJZnAtPl9wICs9IGJ1ZmZlcmVkX2J5dGVzOworCQlmcC0+X3IgLT0gYnVmZmVyZWRfYnl0ZXM7CisJCWRzdCArPSBidWZmZXJlZF9ieXRlczsKKwkJdG90YWwgLT0gYnVmZmVyZWRfYnl0ZXM7CisKKwkJLyoKKwkJICogQXJlIHdlIGRvbmU/CisJCSAqLworCQlpZiAodG90YWwgPT0gMCkgeworCQkJZ290byBvdXQ7CisJCX0KKworCQkvKgorCQkgKiBEbyB3ZSBoYXZlIHNvIG11Y2ggbW9yZSB0byByZWFkIHRoYXQgd2Ugc2hvdWxkCisJCSAqIGF2b2lkIGNvcHlpbmcgaXQgdGhyb3VnaCB0aGUgYnVmZmVyPworCQkgKi8KKwkJaWYgKHRvdGFsID4gKHNpemVfdCkgZnAtPl9iZi5fc2l6ZSkgeworCQkJLyoKKwkJCSAqIE1ha2Ugc3VyZSB0aGF0IGZzZWVrIGRvZXNuJ3QgdGhpbmsgaXQgY2FuCisJCQkgKiByZXVzZSB0aGUgYnVmZmVyIHNpbmNlIHdlIGFyZSBnb2luZyB0byByZWFkCisJCQkgKiBkaXJlY3RseSBmcm9tIHRoZSBmaWxlIGRlc2NyaXB0b3IuCisJCQkgKi8KKwkJCWZwLT5fZmxhZ3MgfD0gX19TTU9EOworCQkJYnJlYWs7CisJCX0KKworCQkvKgorCQkgKiBMZXNzIHRoYW4gYSBidWZmZXIgdG8gZ28sIHNvIHJlZmlsbCB0aGUgYnVmZmVyIGFuZAorCQkgKiBnbyBhcm91bmQgdGhlIGxvb3AgYWdhaW4uCisJCSAqLwogCQlpZiAoX19zcmVmaWxsKGZwKSkgewotCQkJLyogbm8gbW9yZSBpbnB1dDogcmV0dXJuIHBhcnRpYWwgcmVzdWx0ICovCi0JCQlGVU5MT0NLRklMRShmcCk7Ci0JCQlyZXR1cm4gKCh0b3RhbCAtIHJlc2lkKSAvIHNpemUpOworCQkJZ290byBvdXQ7CiAJCX0KIAl9Ci0JKHZvaWQpbWVtY3B5KCh2b2lkICopcCwgKHZvaWQgKilmcC0+X3AsIHJlc2lkKTsKLQlmcC0+X3IgLT0gcmVzaWQ7Ci0JZnAtPl9wICs9IHJlc2lkOworCisJLyoKKwkgKiBSZWFkIGRpcmVjdGx5IGludG8gdGhlIGNhbGxlcidzIGJ1ZmZlci4KKwkgKi8KKwl3aGlsZSAodG90YWwgPiAwKSB7CisJCXNzaXplX3QgYnl0ZXNfcmVhZCA9ICgqZnAtPl9yZWFkKShmcC0+X2Nvb2tpZSwgZHN0LCB0b3RhbCk7CisJCWlmIChieXRlc19yZWFkIDw9IDApIHsKKwkJCWZwLT5fZmxhZ3MgfD0gKGJ5dGVzX3JlYWQgPT0gMCkgPyBfX1NFT0YgOiBfX1NFUlI7CisJCQlicmVhazsKKwkJfQorCQlkc3QgKz0gYnl0ZXNfcmVhZDsKKwkJdG90YWwgLT0gYnl0ZXNfcmVhZDsKKwl9CisKK291dDoKIAlGVU5MT0NLRklMRShmcCk7Ci0JcmV0dXJuIChjb3VudCk7CisJcmV0dXJuICgoZGVzaXJlZF90b3RhbCAtIHRvdGFsKSAvIHNpemUpOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9zdGRpby9sb2NhbC5oIGIvbGliYy9zdGRpby9sb2NhbC5oCmluZGV4IDQ2YjExZjEuLmNlMDQxNDEgMTAwNjQ0Ci0tLSBhL2xpYmMvc3RkaW8vbG9jYWwuaAorKysgYi9saWJjL3N0ZGlvL2xvY2FsLmgKQEAgLTExMSw4ICsxMTEsOCBAQAogCShmcCktPl9sYi5fYmFzZSA9IE5VTEw7IFwKIH0KIAotI2RlZmluZSBGTE9DS0ZJTEUoZnApICAgZmxvY2tmaWxlKGZwKQotI2RlZmluZSBGVU5MT0NLRklMRShmcCkgZnVubG9ja2ZpbGUoZnApCisjZGVmaW5lIEZMT0NLRklMRShmcCkgICBpZiAoX0VYVChmcCktPl9zdGRpb19oYW5kbGVzX2xvY2tpbmcpIGZsb2NrZmlsZShmcCkKKyNkZWZpbmUgRlVOTE9DS0ZJTEUoZnApIGlmIChfRVhUKGZwKS0+X3N0ZGlvX2hhbmRsZXNfbG9ja2luZykgZnVubG9ja2ZpbGUoZnApCiAKICNkZWZpbmUgRkxPQVRJTkdfUE9JTlQKICNkZWZpbmUgUFJJTlRGX1dJREVfQ0hBUgpAQCAtMTI0LDYgKzEyNCw3IEBACiAjZGVmaW5lIF9fc2ZlcnJvcihwKSAgICgoKHApLT5fZmxhZ3MgJiBfX1NFUlIpICE9IDApCiAjZGVmaW5lIF9fc2NsZWFyZXJyKHApICgodm9pZCkoKHApLT5fZmxhZ3MgJj0gfihfX1NFUlJ8X19TRU9GKSkpCiAjZGVmaW5lIF9fc2ZpbGVubyhwKSAgICgocCktPl9maWxlKQorI2lmICFkZWZpbmVkKF9fY3BsdXNwbHVzKQogI2RlZmluZSBfX3NnZXRjKHApICgtLShwKS0+X3IgPCAwID8gX19zcmdldChwKSA6IChpbnQpKCoocCktPl9wKyspKQogc3RhdGljIF9faW5saW5lIGludCBfX3NwdXRjKGludCBfYywgRklMRSogX3ApIHsKICAgaWYgKC0tX3AtPl93ID49IDAgfHwgKF9wLT5fdyA+PSBfcC0+X2xiZnNpemUgJiYgKGNoYXIpX2MgIT0gJ1xuJykpIHsKQEAgLTEzMiw2ICsxMzMsNyBAQAogICAgIHJldHVybiAoX19zd2J1ZihfYywgX3ApKTsKICAgfQogfQorI2VuZGlmCiAKIC8qIE9wZW5CU0QgZGVjbGFyZXMgdGhlc2UgaW4gZnZ3cml0ZS5oIGJ1dCB3ZSB3YW50IHRvIGVuc3VyZSB0aGV5J3JlIGhpZGRlbi4gKi8KIHN0cnVjdCBfX3N1aW87CmRpZmYgLS1naXQgYS9saWJjL3N0ZGlvL3N0ZGlvLmMgYi9saWJjL3N0ZGlvL3N0ZGlvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNiOTg4NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvc3RkaW8vc3RkaW8uYwpAQCAtMCwwICsxLDkwIEBACisvKgkkT3BlbkJTRDogc3RkaW8uYyx2IDEuOSAyMDA1LzA4LzA4IDA4OjA1OjM2IGVzcGllIEV4cCAkICovCisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogQ2hyaXMgVG9yZWsuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlICJsb2NhbC5oIgorCisvKgorICogU21hbGwgc3RhbmRhcmQgSS9PL3NlZWsvY2xvc2UgZnVuY3Rpb25zLgorICogVGhlc2UgbWFpbnRhaW4gdGhlIGBrbm93biBzZWVrIG9mZnNldCcgZm9yIHNlZWsgb3B0aW1pc2F0aW9uLgorICovCitpbnQKK19fc3JlYWQodm9pZCAqY29va2llLCBjaGFyICpidWYsIGludCBuKQoreworCUZJTEUgKmZwID0gY29va2llOworCWludCByZXQ7CisJCisJcmV0ID0gVEVNUF9GQUlMVVJFX1JFVFJZKHJlYWQoZnAtPl9maWxlLCBidWYsIG4pKTsKKwkvKiBpZiB0aGUgcmVhZCBzdWNjZWVkZWQsIHVwZGF0ZSB0aGUgY3VycmVudCBvZmZzZXQgKi8KKwlpZiAocmV0ID49IDApCisJCWZwLT5fb2Zmc2V0ICs9IHJldDsKKwllbHNlCisJCWZwLT5fZmxhZ3MgJj0gfl9fU09GRjsJLyogcGFyYW5vaWEgKi8KKwlyZXR1cm4gKHJldCk7Cit9CisKK2ludAorX19zd3JpdGUodm9pZCAqY29va2llLCBjb25zdCBjaGFyICpidWYsIGludCBuKQoreworCUZJTEUgKmZwID0gY29va2llOworCisJaWYgKGZwLT5fZmxhZ3MgJiBfX1NBUFApCisJCSh2b2lkKSBURU1QX0ZBSUxVUkVfUkVUUlkobHNlZWsoZnAtPl9maWxlLCAob2ZmX3QpMCwgU0VFS19FTkQpKTsKKwlmcC0+X2ZsYWdzICY9IH5fX1NPRkY7CS8qIGluIGNhc2UgRkFQUEVORCBtb2RlIGlzIHNldCAqLworCXJldHVybiBURU1QX0ZBSUxVUkVfUkVUUlkod3JpdGUoZnAtPl9maWxlLCBidWYsIG4pKTsKK30KKworZnBvc190CitfX3NzZWVrKHZvaWQgKmNvb2tpZSwgZnBvc190IG9mZnNldCwgaW50IHdoZW5jZSkKK3sKKwlGSUxFICpmcCA9IGNvb2tpZTsKKwlvZmZfdCByZXQ7CisJCisJcmV0ID0gVEVNUF9GQUlMVVJFX1JFVFJZKGxzZWVrKGZwLT5fZmlsZSwgKG9mZl90KW9mZnNldCwgd2hlbmNlKSk7CisJaWYgKHJldCA9PSAob2ZmX3QpLTEpCisJCWZwLT5fZmxhZ3MgJj0gfl9fU09GRjsKKwllbHNlIHsKKwkJZnAtPl9mbGFncyB8PSBfX1NPRkY7CisJCWZwLT5fb2Zmc2V0ID0gcmV0OworCX0KKwlyZXR1cm4gKHJldCk7Cit9CisKK2ludAorX19zY2xvc2Uodm9pZCAqY29va2llKQoreworCXJldHVybiBURU1QX0ZBSUxVUkVfUkVUUlkoY2xvc2UoKChGSUxFICopY29va2llKS0+X2ZpbGUpKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvc3RkaW8vc3RkaW9fZXh0LmNwcCBiL2xpYmMvc3RkaW8vc3RkaW9fZXh0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWE0NGY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9zdGRpby9zdGRpb19leHQuY3BwCkBAIC0wLDAgKzEsMTAxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzdGRpb19leHQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2luY2x1ZGUgImxvY2FsLmgiCisjaW5jbHVkZSAicHJpdmF0ZS9saWJjX2xvZ2dpbmcuaCIKKworc2l6ZV90IF9fZmJ1ZnNpemUoRklMRSogZnApIHsKKyAgcmV0dXJuIGZwLT5fYmYuX3NpemU7Cit9CisKKy8qIEZvciBhIF9TUlcgc3RyZWFtLCB3ZSBkb24ndCBrbm93IHdoZXRoZXIgd2UgbGFzdCByZWFkIG9yIHdyb3RlLgoraW50IF9fZnJlYWRpbmcoRklMRSogZnApIHsKKyAgcmV0dXJuIChmcC0+X2ZsYWdzICYgX1NSRCkgIT0gMCB8fCAuLi47Cit9CisqLworCisvKiBGb3IgYSBfU1JXIHN0cmVhbSwgd2UgZG9uJ3Qga25vdyB3aGV0aGVyIHdlIGxhc3QgcmVhZCBvciB3cm90ZS4KK2ludCBfX2Z3cml0aW5nKEZJTEUqKSB7CisgIHJldHVybiAoZnAtPl9mbGFncyAmIF9TV1IpICE9IDAgfHwgLi4uOworfQorKi8KKworaW50IF9fZnJlYWRhYmxlKEZJTEUqIGZwKSB7CisgIHJldHVybiAoZnAtPl9mbGFncyAmIChfX1NSRHxfX1NSVykpICE9IDA7Cit9CisKK2ludCBfX2Z3cml0YWJsZShGSUxFKiBmcCkgeworICByZXR1cm4gKGZwLT5fZmxhZ3MgJiAoX19TV1J8X19TUlcpKSAhPSAwOworfQorCitpbnQgX19mbGJmKEZJTEUqIGZwKSB7CisgIHJldHVybiAoZnAtPl9mbGFncyAmIF9fU0xCRikgIT0gMDsKK30KKwordm9pZCBfX2ZwdXJnZShGSUxFKiBmcCkgeworICBmcHVyZ2UoZnApOworfQorCitzaXplX3QgX19mcGVuZGluZyhGSUxFKiBmcCkgeworICByZXR1cm4gZnAtPl9wIC0gZnAtPl9iZi5fYmFzZTsKK30KKwordm9pZCBfZmx1c2hsYmYoKSB7CisgIC8vIElmIHdlIGZsdXNoIGFsbCBzdHJlYW1zLCB3ZSBrbm93IHdlJ3ZlIGZsdXNoZWQgYWxsIHRoZSBsaW5lLWJ1ZmZlcmVkIHN0cmVhbXMuCisgIGZmbHVzaChOVUxMKTsKK30KKworaW50IF9fZnNldGxvY2tpbmcoRklMRSogZnAsIGludCB0eXBlKSB7CisgIGludCBvbGRfc3RhdGUgPSBfRVhUKGZwKS0+X3N0ZGlvX2hhbmRsZXNfbG9ja2luZyA/IEZTRVRMT0NLSU5HX0lOVEVSTkFMIDogRlNFVExPQ0tJTkdfQllDQUxMRVI7CisgIGlmICh0eXBlID09IEZTRVRMT0NLSU5HX1FVRVJZKSB7CisgICAgcmV0dXJuIG9sZF9zdGF0ZTsKKyAgfQorCisgIGlmICh0eXBlICE9IEZTRVRMT0NLSU5HX0lOVEVSTkFMICYmIHR5cGUgIT0gRlNFVExPQ0tJTkdfQllDQUxMRVIpIHsKKyAgICAvLyBUaGUgQVBJIGRvZXNuJ3QgbGV0IHVzIHJlcG9ydCBhbiBlcnJvciwgc28gYmxvdyB1cC4KKyAgICBfX2xpYmNfZmF0YWwoIkJhZCB0eXBlICglZCkgcGFzc2VkIHRvIF9fZnNldGxvY2tpbmciLCB0eXBlKTsKKyAgfQorCisgIF9FWFQoZnApLT5fc3RkaW9faGFuZGxlc19sb2NraW5nID0gKHR5cGUgPT0gRlNFVExPQ0tJTkdfSU5URVJOQUwpOworICByZXR1cm4gb2xkX3N0YXRlOworfQorCit2b2lkIGNsZWFyZXJyX3VubG9ja2VkKEZJTEUqIGZwKSB7CisgIHJldHVybiBfX3NjbGVhcmVycihmcCk7Cit9CisKK2ludCBmZW9mX3VubG9ja2VkKEZJTEUqIGZwKSB7CisgIHJldHVybiBfX3NmZW9mKGZwKTsKK30KKworaW50IGZlcnJvcl91bmxvY2tlZChGSUxFKiBmcCkgeworICByZXR1cm4gX19zZmVycm9yKGZwKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvc3RkbGliL2F0ZXhpdC5jIGIvbGliYy9zdGRsaWIvYXRleGl0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYyYjFiNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvc3RkbGliL2F0ZXhpdC5jCkBAIC0wLDAgKzEsMjEyIEBACisvKgkkT3BlbkJTRDogYXRleGl0LmMsdiAxLjIwIDIwMTQvMDcvMTEgMDk6NTE6Mzcga2V0dGVuaXMgRXhwICQgKi8KKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMDIgRGFuaWVsIEhhcnRtZWllcgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBIT0xERVJTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgImF0ZXhpdC5oIgorI2luY2x1ZGUgInByaXZhdGUvdGhyZWFkX3ByaXZhdGUuaCIKKworc3RydWN0IGF0ZXhpdCAqX19hdGV4aXQ7CitzdGF0aWMgaW50IHJlc3RhcnRsb29wOworCisvKiBCRUdJTiBhbmRyb2lkLWNoYW5nZWQ6IF9fdW5yZWdpc3Rlcl9hdGZvcmsgaXMgdXNlZCBieSBfX2N4YV9maW5hbGl6ZSAqLworZXh0ZXJuIHZvaWQgX191bnJlZ2lzdGVyX2F0Zm9yayh2b2lkKiBkc28pOworLyogRU5EIGFuZHJvaWQtY2hhbmdlZCAqLworCisvKgorICogRnVuY3Rpb24gcG9pbnRlcnMgYXJlIHN0b3JlZCBpbiBhIGxpbmtlZCBsaXN0IG9mIHBhZ2VzLiBUaGUgbGlzdAorICogaXMgaW5pdGlhbGx5IGVtcHR5LCBhbmQgcGFnZXMgYXJlIGFsbG9jYXRlZCBvbiBkZW1hbmQuIFRoZSBmaXJzdAorICogZnVuY3Rpb24gcG9pbnRlciBpbiB0aGUgZmlyc3QgYWxsb2NhdGVkIHBhZ2UgKHRoZSBsYXN0IG9uZSBpbgorICogdGhlIGxpbmtlZCBsaXN0KSBpcyByZXNlcnZlZCBmb3IgdGhlIGNsZWFudXAgZnVuY3Rpb24uCisgKgorICogT3V0c2lkZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucywgYWxsIHBhZ2VzIGFyZSBtcHJvdGVjdCgpJ2VkCisgKiB0byBwcmV2ZW50IHVuaW50ZW50aW9uYWwvbWFsaWNpb3VzIGNvcnJ1cHRpb24uCisgKi8KKworLyoKKyAqIFJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gYmUgcGVyZm9ybWVkIGF0IGV4aXQgb3Igd2hlbiBhIHNoYXJlZCBvYmplY3QKKyAqIHdpdGggdGhlIGdpdmVuIGRzbyBoYW5kbGUgaXMgdW5sb2FkZWQgZHluYW1pY2FsbHkuICBBbHNvIHVzZWQgYXMKKyAqIHRoZSBiYWNrZW5kIGZvciBhdGV4aXQoKS4gIEZvciBtb3JlIGluZm8gb24gdGhpcyBBUEksIHNlZToKKyAqCisgKglodHRwOi8vd3d3LmNvZGVzb3VyY2VyeS5jb20vY3h4LWFiaS9hYmkuaHRtbCNkc28tZHRvcgorICovCitpbnQKK19fY3hhX2F0ZXhpdCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnLCB2b2lkICpkc28pCit7CisJc3RydWN0IGF0ZXhpdCAqcCA9IF9fYXRleGl0OworCXN0cnVjdCBhdGV4aXRfZm4gKmZucDsKKwlzaXplX3QgcGdzaXplID0gZ2V0cGFnZXNpemUoKTsKKwlpbnQgcmV0ID0gLTE7CisKKwlpZiAocGdzaXplIDwgc2l6ZW9mKCpwKSkKKwkJcmV0dXJuICgtMSk7CisJX0FURVhJVF9MT0NLKCk7CisJcCA9IF9fYXRleGl0OworCWlmIChwICE9IE5VTEwpIHsKKwkJaWYgKHAtPmluZCArIDEgPj0gcC0+bWF4KQorCQkJcCA9IE5VTEw7CisJCWVsc2UgaWYgKG1wcm90ZWN0KHAsIHBnc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSkpCisJCQlnb3RvIHVubG9jazsKKwl9CisJaWYgKHAgPT0gTlVMTCkgeworCQlwID0gbW1hcChOVUxMLCBwZ3NpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCisJCSAgICBNQVBfQU5PTiB8IE1BUF9QUklWQVRFLCAtMSwgMCk7CisJCWlmIChwID09IE1BUF9GQUlMRUQpCisJCQlnb3RvIHVubG9jazsKKwkJaWYgKF9fYXRleGl0ID09IE5VTEwpIHsKKwkJCW1lbXNldCgmcC0+Zm5zWzBdLCAwLCBzaXplb2YocC0+Zm5zWzBdKSk7CisJCQlwLT5pbmQgPSAxOworCQl9IGVsc2UKKwkJCXAtPmluZCA9IDA7CisJCXAtPm1heCA9IChwZ3NpemUgLSAoKGNoYXIgKikmcC0+Zm5zWzBdIC0gKGNoYXIgKilwKSkgLworCQkgICAgc2l6ZW9mKHAtPmZuc1swXSk7CisJCXAtPm5leHQgPSBfX2F0ZXhpdDsKKwkJX19hdGV4aXQgPSBwOworCX0KKwlmbnAgPSAmcC0+Zm5zW3AtPmluZCsrXTsKKwlmbnAtPmZuX3B0ciA9IGZ1bmM7CisJZm5wLT5mbl9hcmcgPSBhcmc7CisJZm5wLT5mbl9kc28gPSBkc287CisJaWYgKG1wcm90ZWN0KHAsIHBnc2l6ZSwgUFJPVF9SRUFEKSkKKwkJZ290byB1bmxvY2s7CisJcmVzdGFydGxvb3AgPSAxOworCXJldCA9IDA7Cit1bmxvY2s6CisJX0FURVhJVF9VTkxPQ0soKTsKKwlyZXR1cm4gKHJldCk7Cit9CisKKy8qCisgKiBDYWxsIGFsbCBoYW5kbGVycyByZWdpc3RlcmVkIHdpdGggX19jeGFfYXRleGl0KCkgZm9yIHRoZSBzaGFyZWQKKyAqIG9iamVjdCBvd25pbmcgJ2RzbycuCisgKiBOb3RlOiBpZiAnZHNvJyBpcyBOVUxMLCB0aGVuIGFsbCByZW1haW5pbmcgaGFuZGxlcnMgYXJlIGNhbGxlZC4KKyAqLwordm9pZAorX19jeGFfZmluYWxpemUodm9pZCAqZHNvKQoreworCXN0cnVjdCBhdGV4aXQgKnAsICpxOworCXN0cnVjdCBhdGV4aXRfZm4gZm47CisJaW50IG4sIHBnc2l6ZSA9IGdldHBhZ2VzaXplKCk7CisJc3RhdGljIGludCBjYWxsX2RlcHRoOworCisJX0FURVhJVF9MT0NLKCk7CisJY2FsbF9kZXB0aCsrOworCityZXN0YXJ0OgorCXJlc3RhcnRsb29wID0gMDsKKwlmb3IgKHAgPSBfX2F0ZXhpdDsgcCAhPSBOVUxMOyBwID0gcC0+bmV4dCkgeworCQlmb3IgKG4gPSBwLT5pbmQ7IC0tbiA+PSAwOykgeworCQkJaWYgKHAtPmZuc1tuXS5mbl9wdHIgPT0gTlVMTCkKKwkJCQljb250aW51ZTsJLyogYWxyZWFkeSBjYWxsZWQgKi8KKwkJCWlmIChkc28gIT0gTlVMTCAmJiBkc28gIT0gcC0+Zm5zW25dLmZuX2RzbykKKwkJCQljb250aW51ZTsJLyogd3JvbmcgRFNPICovCisKKwkJCS8qCisJCQkgKiBNYXJrIGhhbmRsZXIgYXMgaGF2aW5nIGJlZW4gYWxyZWFkeSBjYWxsZWQgdG8gYXZvaWQKKwkJCSAqIGR1cGVzIGFuZCBsb29wcywgdGhlbiBjYWxsIHRoZSBhcHByb3ByaWF0ZSBmdW5jdGlvbi4KKwkJCSAqLworCQkJZm4gPSBwLT5mbnNbbl07CisJCQlpZiAobXByb3RlY3QocCwgcGdzaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKSA9PSAwKSB7CisJCQkJcC0+Zm5zW25dLmZuX3B0ciA9IE5VTEw7CisJCQkJbXByb3RlY3QocCwgcGdzaXplLCBQUk9UX1JFQUQpOworCQkJfQorCQkJX0FURVhJVF9VTkxPQ0soKTsKKwkJCSgqZm4uZm5fcHRyKShmbi5mbl9hcmcpOworCQkJX0FURVhJVF9MT0NLKCk7CisJCQlpZiAocmVzdGFydGxvb3ApCisJCQkJZ290byByZXN0YXJ0OworCQl9CisJfQorCisJY2FsbF9kZXB0aC0tOworCisJLyoKKwkgKiBJZiBjYWxsZWQgdmlhIGV4aXQoKSwgdW5tYXAgdGhlIHBhZ2VzIHNpbmNlIHdlIGhhdmUgbm93IHJ1bgorCSAqIGFsbCB0aGUgaGFuZGxlcnMuICBXZSBkZWZlciB0aGlzIHVudGlsIGNhbGxkZXB0aCA9PSAwIHNvIHRoYXQKKwkgKiB3ZSBkb24ndCB1bm1hcCB0aGluZ3MgcHJlbWF0dXJlbHkgaWYgY2FsbGVkIHJlY3Vyc2l2ZWx5LgorCSAqLworCWlmIChkc28gPT0gTlVMTCAmJiBjYWxsX2RlcHRoID09IDApIHsKKwkJZm9yIChwID0gX19hdGV4aXQ7IHAgIT0gTlVMTDsgKSB7CisJCQlxID0gcDsKKwkJCXAgPSBwLT5uZXh0OworCQkJbXVubWFwKHEsIHBnc2l6ZSk7CisJCX0KKwkJX19hdGV4aXQgPSBOVUxMOworCX0KKwlfQVRFWElUX1VOTE9DSygpOworCisgIC8qIEJFR0lOIGFuZHJvaWQtY2hhbmdlZDogY2FsbCBfX3VucmVnaXN0ZXJfYXRmb3JrIGlmIGRzbyBpcyBub3QgbnVsbCAqLworICBpZiAoZHNvICE9IE5VTEwpIHsKKyAgICBfX3VucmVnaXN0ZXJfYXRmb3JrKGRzbyk7CisgIH0KKyAgLyogRU5EIGFuZHJvaWQtY2hhbmdlZCAqLworfQorCisvKgorICogUmVnaXN0ZXIgdGhlIGNsZWFudXAgZnVuY3Rpb24KKyAqLwordm9pZAorX19hdGV4aXRfcmVnaXN0ZXJfY2xlYW51cCh2b2lkICgqZnVuYykodm9pZCkpCit7CisJc3RydWN0IGF0ZXhpdCAqcDsKKwlzaXplX3QgcGdzaXplID0gZ2V0cGFnZXNpemUoKTsKKworCWlmIChwZ3NpemUgPCBzaXplb2YoKnApKQorCQlyZXR1cm47CisJX0FURVhJVF9MT0NLKCk7CisJcCA9IF9fYXRleGl0OworCXdoaWxlIChwICE9IE5VTEwgJiYgcC0+bmV4dCAhPSBOVUxMKQorCQlwID0gcC0+bmV4dDsKKwlpZiAocCA9PSBOVUxMKSB7CisJCXAgPSBtbWFwKE5VTEwsIHBnc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKKwkJICAgIE1BUF9BTk9OIHwgTUFQX1BSSVZBVEUsIC0xLCAwKTsKKwkJaWYgKHAgPT0gTUFQX0ZBSUxFRCkKKwkJCWdvdG8gdW5sb2NrOworCQlwLT5pbmQgPSAxOworCQlwLT5tYXggPSAocGdzaXplIC0gKChjaGFyICopJnAtPmZuc1swXSAtIChjaGFyICopcCkpIC8KKwkJICAgIHNpemVvZihwLT5mbnNbMF0pOworCQlwLT5uZXh0ID0gTlVMTDsKKwkJX19hdGV4aXQgPSBwOworCX0gZWxzZSB7CisJCWlmIChtcHJvdGVjdChwLCBwZ3NpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpKQorCQkJZ290byB1bmxvY2s7CisJfQorCXAtPmZuc1swXS5mbl9wdHIgPSAodm9pZCAoKikodm9pZCAqKSlmdW5jOworCXAtPmZuc1swXS5mbl9hcmcgPSBOVUxMOworCXAtPmZuc1swXS5mbl9kc28gPSBOVUxMOworCW1wcm90ZWN0KHAsIHBnc2l6ZSwgUFJPVF9SRUFEKTsKKwlyZXN0YXJ0bG9vcCA9IDE7Cit1bmxvY2s6CisJX0FURVhJVF9VTkxPQ0soKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvYXRleGl0LmggYi9saWJjL3N0ZGxpYi9hdGV4aXQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9hdGV4aXQuaApyZW5hbWUgdG8gbGliYy9zdGRsaWIvYXRleGl0LmgKZGlmZiAtLWdpdCBhL2xpYmMvc3RkbGliL2V4aXQuYyBiL2xpYmMvc3RkbGliL2V4aXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGNlNjc0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9zdGRsaWIvZXhpdC5jCkBAIC0wLDAgKzEsNjYgQEAKKy8qCSRPcGVuQlNEOiBleGl0LmMsdiAxLjEyIDIwMDcvMDkvMDMgMTQ6NDA6MTYgbWlsbGVydCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisvKgorICogVGhpcyB2YXJpYWJsZSBpcyB6ZXJvIHVudGlsIGEgcHJvY2VzcyBoYXMgY3JlYXRlZCBhIHRocmVhZC4KKyAqIEl0IGlzIHVzZWQgdG8gYXZvaWQgY2FsbGluZyBsb2NraW5nIGZ1bmN0aW9ucyBpbiBsaWJjIHdoZW4gdGhleQorICogYXJlIG5vdCByZXF1aXJlZC4gQnkgZGVmYXVsdCwgbGliYyBpcyBpbnRlbmRlZCB0byBiZShjb21lKQorICogdGhyZWFkLXNhZmUsIGJ1dCB3aXRob3V0IGEgKHNpZ25pZmljYW50KSBwZW5hbHR5IHRvIG5vbi10aHJlYWRlZAorICogcHJvY2Vzc2VzLgorICovCitpbnQgICAgIF9faXN0aHJlYWRlZCAgICA9IDA7CisKKy8qIEJFR0lOIGFuZHJvaWQtYWRkZWQ6IHVzaW5nIF9fY3hhX2ZpbmFsaXplIGFuZCBfX2N4YV90aHJlYWRfZmluYWxpemUgKi8KK2V4dGVybiB2b2lkIF9fY3hhX2ZpbmFsaXplKHZvaWQqIGRzb19oYW5kbGUpOworZXh0ZXJuIHZvaWQgX19jeGFfdGhyZWFkX2ZpbmFsaXplKCk7CisvKiBFTkQgYW5kcm9pZC1hZGRlZCAqLworCisvKgorICogRXhpdCwgZmx1c2hpbmcgc3RkaW8gYnVmZmVycyBpZiBuZWNlc3NhcnkuCisgKi8KK3ZvaWQKK2V4aXQoaW50IHN0YXR1cykKK3sKKyAgLyogQkVHSU4gYW5kcm9pZC1hZGRlZDogY2FsbCB0aHJlYWRfbG9jYWwgZC10b3JzICovCisgIF9fY3hhX3RocmVhZF9maW5hbGl6ZSgpOworICAvKiBFTkQgYW5kcm9pZC1hZGRlZCAqLworCisJLyoKKwkgKiBDYWxsIGZ1bmN0aW9ucyByZWdpc3RlcmVkIGJ5IGF0ZXhpdCgpIG9yIF9jeGFfYXRleGl0KCkKKwkgKiAoaW5jbHVkaW5nIHRoZSBzdGRpbyBjbGVhbnVwIHJvdXRpbmUpIGFuZCB0aGVuIF9leGl0KCkuCisJICovCisJX19jeGFfZmluYWxpemUoTlVMTCk7CisJX2V4aXQoc3RhdHVzKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdG9vbHMvYmlvbmljX3V0aWxzLnB5IGIvbGliYy90b29scy9iaW9uaWNfdXRpbHMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzOGVmYjUuLjAwMDAwMDAKLS0tIGEvbGliYy90b29scy9iaW9uaWNfdXRpbHMucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNjUgKzAsMCBAQAotIyBjb21tb24gcHl0aG9uIHV0aWxpdHkgcm91dGluZXMgZm9yIHRoZSBCaW9uaWMgdG9vbCBzY3JpcHRzCi0KLWltcG9ydCBzeXMsIG9zLCBjb21tYW5kcywgc3RyaW5nCi0KLWFsbF9hcmNoZXMgPSBbICJhcm0iLCAiYXJtNjQiLCAibWlwcyIsICJtaXBzNjQiLCAieDg2IiwgIng4Nl82NCIgXQotCi0jIGJhc2ljIGRlYnVnZ2luZyB0cmFjZSBzdXBwb3J0Ci0jIGNhbGwgRF9zZXRsZXZlbCB0byBzZXQgdGhlIHZlcmJvc2l0eSBsZXZlbAotIyBhbmQgRCgpLCBEMigpLCBEMygpLCBENCgpIHRvIGFkZCB0cmFjZXMKLSMKLXZlcmJvc2UgPSAwCi0KLWRlZiBEKG1zZyk6Ci0gICAgZ2xvYmFsIHZlcmJvc2UKLSAgICBpZiB2ZXJib3NlID4gMDoKLSAgICAgICAgcHJpbnQgbXNnCi0KLWRlZiBEMihtc2cpOgotICAgIGdsb2JhbCB2ZXJib3NlCi0gICAgaWYgdmVyYm9zZSA+PSAyOgotICAgICAgICBwcmludCBtc2cKLQotZGVmIEQzKG1zZyk6Ci0gICAgZ2xvYmFsIHZlcmJvc2UKLSAgICBpZiB2ZXJib3NlID49IDM6Ci0gICAgICAgIHByaW50IG1zZwotCi1kZWYgRDQobXNnKToKLSAgICBnbG9iYWwgdmVyYm9zZQotICAgIGlmIHZlcmJvc2UgPj0gNDoKLSAgICAgICAgcHJpbnQgbXNnCi0KLWRlZiBEX3NldGxldmVsKGxldmVsKToKLSAgICBnbG9iYWwgdmVyYm9zZQotICAgIHZlcmJvc2UgPSBsZXZlbAotCi0KLSMgcGFyc2VyIGZvciB0aGUgU1lTQ0FMTFMuVFhUIGZpbGUKLSMKLWNsYXNzIFN5c0NhbGxzVHh0UGFyc2VyOgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc2VsZi5zeXNjYWxscyA9IFtdCi0gICAgICAgIHNlbGYubGluZW5vICAgPSAwCi0KLSAgICBkZWYgRShzZWxmLCBtc2cpOgotICAgICAgICBwcmludCAiJWQ6ICVzIiAlIChzZWxmLmxpbmVubywgbXNnKQotCi0gICAgZGVmIHBhcnNlX2xpbmUoc2VsZiwgbGluZSk6Ci0gICAgICAgICIiIiBwYXJzZSBhIHN5c2NhbGwgc3BlYyBsaW5lLgotCi0gICAgICAgIGxpbmUgcHJvY2Vzc2luZywgZm9ybWF0IGlzCi0gICAgICAgICAgIHJldHVybiB0eXBlICAgIGZ1bmNfbmFtZVt8YWxpYXNfbGlzdF1bOnN5c2NhbGxfbmFtZVs6c29ja2V0Y2FsbF9pZF1dICggW3BhcmFtbGlzdF0gKSBhcmNoaXRlY3R1cmVfbGlzdAotICAgICAgICAiIiIKLSAgICAgICAgcG9zX2xwYXJlbiA9IGxpbmUuZmluZCgnKCcpCi0gICAgICAgIEUgICAgICAgICAgPSBzZWxmLkUKLSAgICAgICAgaWYgcG9zX2xwYXJlbiA8IDA6Ci0gICAgICAgICAgICBFKCJtaXNzaW5nIGxlZnQgcGFyZW50aGVzaXMgaW4gJyVzJyIgJSBsaW5lKQotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgcG9zX3JwYXJlbiA9IGxpbmUucmZpbmQoJyknKQotICAgICAgICBpZiBwb3NfcnBhcmVuIDwgMCBvciBwb3NfcnBhcmVuIDw9IHBvc19scGFyZW46Ci0gICAgICAgICAgICBFKCJtaXNzaW5nIG9yIG1pc3BsYWNlZCByaWdodCBwYXJlbnRoZXNpcyBpbiAnJXMnIiAlIGxpbmUpCi0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICByZXR1cm5fdHlwZSA9IGxpbmVbOnBvc19scGFyZW5dLnN0cmlwKCkuc3BsaXQoKQotICAgICAgICBpZiBsZW4ocmV0dXJuX3R5cGUpIDwgMjoKLSAgICAgICAgICAgIEUoIm1pc3NpbmcgcmV0dXJuIHR5cGUgaW4gJyVzJyIgJSBsaW5lKQotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgc3lzY2FsbF9mdW5jID0gcmV0dXJuX3R5cGVbLTFdCi0gICAgICAgIHJldHVybl90eXBlICA9IHN0cmluZy5qb2luKHJldHVybl90eXBlWzotMV0sJyAnKQotICAgICAgICBzb2NrZXRjYWxsX2lkID0gLTEKLQotICAgICAgICBwb3NfY29sb24gPSBzeXNjYWxsX2Z1bmMuZmluZCgnOicpCi0gICAgICAgIGlmIHBvc19jb2xvbiA8IDA6Ci0gICAgICAgICAgICBzeXNjYWxsX25hbWUgPSBzeXNjYWxsX2Z1bmMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIHBvc19jb2xvbiA9PSAwIG9yIHBvc19jb2xvbisxID49IGxlbihzeXNjYWxsX2Z1bmMpOgotICAgICAgICAgICAgICAgIEUoIm1pc3BsYWNlZCBjb2xvbiBpbiAnJXMnIiAlIGxpbmUpCi0gICAgICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgICAgICMgbm93IGZpbmQgaWYgdGhlcmUgaXMgYSBzb2NrZXRjYWxsX2lkIGZvciBhIGRpc3BhdGNoLXR5cGUgc3lzY2FsbAotICAgICAgICAgICAgIyBhZnRlciB0aGUgb3B0aW9uYWwgMm5kIGNvbG9uCi0gICAgICAgICAgICBwb3NfY29sb24yID0gc3lzY2FsbF9mdW5jLmZpbmQoJzonLCBwb3NfY29sb24gKyAxKQotICAgICAgICAgICAgaWYgcG9zX2NvbG9uMiA8IDA6Ci0gICAgICAgICAgICAgICAgc3lzY2FsbF9uYW1lID0gc3lzY2FsbF9mdW5jW3Bvc19jb2xvbisxOl0KLSAgICAgICAgICAgICAgICBzeXNjYWxsX2Z1bmMgPSBzeXNjYWxsX2Z1bmNbOnBvc19jb2xvbl0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgcG9zX2NvbG9uMisxID49IGxlbihzeXNjYWxsX2Z1bmMpOgotICAgICAgICAgICAgICAgICAgICBFKCJtaXNwbGFjZWQgY29sb24yIGluICclcyciICUgbGluZSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICAgICAgc3lzY2FsbF9uYW1lID0gc3lzY2FsbF9mdW5jWyhwb3NfY29sb24rMSk6cG9zX2NvbG9uMl0KLSAgICAgICAgICAgICAgICBzb2NrZXRjYWxsX2lkID0gaW50KHN5c2NhbGxfZnVuY1twb3NfY29sb24yKzE6XSkKLSAgICAgICAgICAgICAgICBzeXNjYWxsX2Z1bmMgPSBzeXNjYWxsX2Z1bmNbOnBvc19jb2xvbl0KLQotICAgICAgICBhbGlhc19kZWxpbSA9IHN5c2NhbGxfZnVuYy5maW5kKCd8JykKLSAgICAgICAgaWYgYWxpYXNfZGVsaW0gPiAwOgotICAgICAgICAgICAgYWxpYXNfbGlzdCA9IHN5c2NhbGxfZnVuY1thbGlhc19kZWxpbSsxOl0uc3RyaXAoKQotICAgICAgICAgICAgc3lzY2FsbF9mdW5jID0gc3lzY2FsbF9mdW5jWzphbGlhc19kZWxpbV0KLSAgICAgICAgICAgIGFsaWFzX2RlbGltID0gc3lzY2FsbF9uYW1lLmZpbmQoJ3wnKQotICAgICAgICAgICAgaWYgYWxpYXNfZGVsaW0gPiAwOgotICAgICAgICAgICAgICAgIHN5c2NhbGxfbmFtZSA9IHN5c2NhbGxfbmFtZVs6YWxpYXNfZGVsaW1dCi0gICAgICAgICAgICBzeXNjYWxsX2FsaWFzZXMgPSBzdHJpbmcuc3BsaXQoYWxpYXNfbGlzdCwgJywnKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3lzY2FsbF9hbGlhc2VzID0gW10KLQotICAgICAgICBpZiBwb3NfcnBhcmVuID4gcG9zX2xwYXJlbisxOgotICAgICAgICAgICAgc3lzY2FsbF9wYXJhbXMgPSBsaW5lW3Bvc19scGFyZW4rMTpwb3NfcnBhcmVuXS5zcGxpdCgnLCcpCi0gICAgICAgICAgICBwYXJhbXMgICAgICAgICA9IHN0cmluZy5qb2luKHN5c2NhbGxfcGFyYW1zLCcsJykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHN5c2NhbGxfcGFyYW1zID0gW10KLSAgICAgICAgICAgIHBhcmFtcyAgICAgICAgID0gInZvaWQiCi0KLSAgICAgICAgdCA9IHsKLSAgICAgICAgICAgICAgIm5hbWUiICAgIDogc3lzY2FsbF9uYW1lLAotICAgICAgICAgICAgICAiZnVuYyIgICAgOiBzeXNjYWxsX2Z1bmMsCi0gICAgICAgICAgICAgICJhbGlhc2VzIiA6IHN5c2NhbGxfYWxpYXNlcywKLSAgICAgICAgICAgICAgInBhcmFtcyIgIDogc3lzY2FsbF9wYXJhbXMsCi0gICAgICAgICAgICAgICJkZWNsIiAgICA6ICIlLTE1cyAgJXMgKCVzKTsiICUgKHJldHVybl90eXBlLCBzeXNjYWxsX2Z1bmMsIHBhcmFtcyksCi0gICAgICAgICAgICAgICJzb2NrZXRjYWxsX2lkIiA6IHNvY2tldGNhbGxfaWQKLSAgICAgICAgfQotCi0gICAgICAgICMgUGFyc2UgdGhlIGFyY2hpdGVjdHVyZSBsaXN0LgotICAgICAgICBhcmNoX2xpc3QgPSBsaW5lW3Bvc19ycGFyZW4rMTpdLnN0cmlwKCkKLSAgICAgICAgaWYgYXJjaF9saXN0ID09ICJhbGwiOgotICAgICAgICAgICAgZm9yIGFyY2ggaW4gYWxsX2FyY2hlczoKLSAgICAgICAgICAgICAgICB0W2FyY2hdID0gVHJ1ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZm9yIGFyY2ggaW4gc3RyaW5nLnNwbGl0KGFyY2hfbGlzdCwgJywnKToKLSAgICAgICAgICAgICAgICBpZiBhcmNoIGluIGFsbF9hcmNoZXM6Ci0gICAgICAgICAgICAgICAgICAgIHRbYXJjaF0gPSBUcnVlCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgRSgiaW52YWxpZCBzeXNjYWxsIGFyY2hpdGVjdHVyZSAnJXMnIGluICclcyciICUgKGFyY2gsIGxpbmUpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBzZWxmLnN5c2NhbGxzLmFwcGVuZCh0KQotCi0gICAgICAgIGdsb2JhbCB2ZXJib3NlCi0gICAgICAgIGlmIHZlcmJvc2UgPj0gMjoKLSAgICAgICAgICAgIHByaW50IHQKLQotCi0gICAgZGVmIHBhcnNlX2ZpbGUoc2VsZiwgZmlsZV9wYXRoKToKLSAgICAgICAgRDIoInBhcnNlX2ZpbGU6ICVzIiAlIGZpbGVfcGF0aCkKLSAgICAgICAgZnAgPSBvcGVuKGZpbGVfcGF0aCkKLSAgICAgICAgZm9yIGxpbmUgaW4gZnAueHJlYWRsaW5lcygpOgotICAgICAgICAgICAgc2VsZi5saW5lbm8gKz0gMQotICAgICAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAoKQotICAgICAgICAgICAgaWYgbm90IGxpbmU6IGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBsaW5lWzBdID09ICcjJzogY29udGludWUKLSAgICAgICAgICAgIHNlbGYucGFyc2VfbGluZShsaW5lKQotCi0gICAgICAgIGZwLmNsb3NlKCkKLQotCi1jbGFzcyBTdHJpbmdPdXRwdXQ6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzZWxmLmxpbmUgPSAiIgotCi0gICAgZGVmIHdyaXRlKHNlbGYsbXNnKToKLSAgICAgICAgc2VsZi5saW5lICs9IG1zZwotICAgICAgICBEMigid3JpdGUgJyVzJyIgJSBtc2cpCi0KLSAgICBkZWYgZ2V0KHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5saW5lCmRpZmYgLS1naXQgYS9saWJjL3Rvb2xzL2NoZWNrLXN5bWJvbHMtZ2xpYmMucHkgYi9saWJjL3Rvb2xzL2NoZWNrLXN5bWJvbHMtZ2xpYmMucHkKaW5kZXggNThhMTBlMC4uMmMzNTJiMiAxMDA3NTUKLS0tIGEvbGliYy90b29scy9jaGVjay1zeW1ib2xzLWdsaWJjLnB5CisrKyBiL2xpYmMvdG9vbHMvY2hlY2stc3ltYm9scy1nbGliYy5weQpAQCAtMSw2NiArMSw3MyBAQAotIyEvdXNyL2Jpbi9weXRob24KLQorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKKyMgcHlsaW50OiBkaXNhYmxlPWJhZC1pbmRlbnRhdGlvbixiYWQtY29udGludWF0aW9uCiBpbXBvcnQgZ2xvYgogaW1wb3J0IG9zCiBpbXBvcnQgcmUKLWltcG9ydCBzdHJpbmcKLWltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiAKK2ltcG9ydCBzeW1ib2xzCisKK29ubHlfdW53YW50ZWQgPSBGYWxzZQoraWYgbGVuKHN5cy5hcmd2KSA+IDE6CisgIGlmIHN5cy5hcmd2WzFdIGluICgnLXUnLCAnLS11bndhbnRlZCcpOgorICAgIG9ubHlfdW53YW50ZWQgPSBUcnVlCisKIHRvb2xjaGFpbiA9IG9zLmVudmlyb25bJ0FORFJPSURfVE9PTENIQUlOJ10KIGFyY2ggPSByZS5zdWIocicuKi9saW51eC14ODYvKFteL10rKS8uKicsIHInXDEnLCB0b29sY2hhaW4pCi0KLWRlZiBHZXRTeW1ib2xzRnJvbVNvKHNvX2ZpbGUpOgotICAjIEV4YW1wbGUgcmVhZGVsZiBvdXRwdXQ6Ci0gICMgICAyNjQ6IDAwMDE2MjNjICAgICA0IEZVTkMgICAgR0xPQkFMIERFRkFVTFQgICAgOCBjYWJzZgotICAjICAgMjY2OiAwMDAxNjI0NCAgICAgNCBGVU5DICAgIEdMT0JBTCBERUZBVUxUICAgIDggZHJlbWYKLSAgIyAgIDI2NzogMDAwMTkwMTggICAgIDQgT0JKRUNUICBHTE9CQUwgREVGQVVMVCAgIDExIF9fZmVfZGZsX2VudgotICAjICAgMjY4OiAwMDAwMDAwMCAgICAgMCBGVU5DICAgIEdMT0JBTCBERUZBVUxUICBVTkQgX19hZWFiaV9kY21wbHQKLQotICByID0gcmUuY29tcGlsZShyJyArXGQrOiBbMC05YS1mXSsgK1xkKyAoST9GVU5DfE9CSkVDVCkgK1xTKyArXFMrICtcZCsgKFxTKyknKQotCi0gIHN5bWJvbHMgPSBzZXQoKQotCi0gIGZvciBsaW5lIGluIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsncmVhZGVsZicsICctLWR5bi1zeW1zJywgJy1XJywgc29fZmlsZV0pLnNwbGl0KCdcbicpOgotICAgIGlmICcgSElEREVOICcgaW4gbGluZSBvciAnIFVORCAnIGluIGxpbmU6Ci0gICAgICBjb250aW51ZQotICAgIG0gPSByLm1hdGNoKGxpbmUpCi0gICAgaWYgbToKLSAgICAgIHN5bWJvbCA9IG0uZ3JvdXAoMikKLSAgICAgIHN5bWJvbCA9IHJlLnN1YignQC4qJywgJycsIHN5bWJvbCkKLSAgICAgIHN5bWJvbHMuYWRkKHN5bWJvbCkKLQotICByZXR1cm4gc3ltYm9scwotCi1kZWYgR2V0U3ltYm9sc0Zyb21BbmRyb2lkU28oKmZpbGVzKToKLSAgc3ltYm9scyA9IHNldCgpCi0gIGZvciBmIGluIGZpbGVzOgotICAgIHN5bWJvbHMgPSBzeW1ib2xzIHwgR2V0U3ltYm9sc0Zyb21TbygnJXMvc3lzdGVtL2xpYjY0LyVzJyAlIChvcy5lbnZpcm9uWydBTkRST0lEX1BST0RVQ1RfT1VUJ10sIGYpKQotICByZXR1cm4gc3ltYm9scwotCi1kZWYgR2V0U3ltYm9sc0Zyb21TeXN0ZW1TbygqZmlsZXMpOgotICBzeW1ib2xzID0gc2V0KCkKLSAgZm9yIGYgaW4gZmlsZXM6Ci0gICAgZiA9IGdsb2IuZ2xvYignL2xpYi94ODZfNjQtbGludXgtZ251LyVzJyAlIGYpWy0xXQotICAgIHN5bWJvbHMgPSBzeW1ib2xzIHwgR2V0U3ltYm9sc0Zyb21TbyhmKQotICByZXR1cm4gc3ltYm9scworaWYgYXJjaCA9PSAnYWFyY2g2NCc6CisgIGFyY2ggPSAnYXJtNjQnCiAKIGRlZiBNYW5nbGVHbGliY05hbWVUb0Jpb25pYyhuYW1lKToKICAgaWYgbmFtZSBpbiBnbGliY190b19iaW9uaWNfbmFtZXM6CiAgICAgcmV0dXJuIGdsaWJjX3RvX2Jpb25pY19uYW1lc1tuYW1lXQogICByZXR1cm4gbmFtZQogCitkZWYgR2V0TmRrSWdub3JlZChhcmNoKTogICMgcHlsaW50OiBkaXNhYmxlPXJlZGVmaW5lZC1vdXRlci1uYW1lCisgIGlnbm9yZWRfc3ltYm9scyA9IHNldCgpCisgIGZpbGVzID0gZ2xvYi5nbG9iKCclcy9uZGsvYnVpbGQvdG9vbHMvdW53YW50ZWQtc3ltYm9scy8lcy8qJyAlCisgICAgICAgICAgICAgICAgICAgIChvcy5nZXRlbnYoJ0FORFJPSURfQlVJTERfVE9QJyksIGFyY2gpKQorICBmb3IgZiBpbiBmaWxlczoKKyAgICBpZ25vcmVkX3N5bWJvbHMgfD0gc2V0KG9wZW4oZiwgJ3InKS5yZWFkKCkuc3BsaXRsaW5lcygpKQorICByZXR1cm4gaWdub3JlZF9zeW1ib2xzCisKIGdsaWJjX3RvX2Jpb25pY19uYW1lcyA9IHsKICAgJ19fcmVzX2luaXQnOiAncmVzX2luaXQnLAogICAnX19yZXNfbWtxdWVyeSc6ICdyZXNfbWtxdWVyeScsCiAgICdfX3Jlc19xdWVyeSc6ICdyZXNfcXVlcnknLAogICAnX19yZXNfc2VhcmNoJzogJ3Jlc19zZWFyY2gnLAorICAnX194cGdfYmFzZW5hbWUnOiAnX19nbnVfYmFzZW5hbWUnLAogfQogCi1nbGliYyA9IEdldFN5bWJvbHNGcm9tU3lzdGVtU28oJ2xpYmMuc28uKicsICdsaWJydC5zby4qJywgJ2xpYnB0aHJlYWQuc28uKicsICdsaWJyZXNvbHYuc28uKicsICdsaWJtLnNvLionKQotYmlvbmljID0gR2V0U3ltYm9sc0Zyb21BbmRyb2lkU28oJ2xpYmMuc28nLCAnbGlibS5zbycpCitnbGliYyA9IHN5bWJvbHMuR2V0RnJvbVN5c3RlbVNvKFsKKyAgICAnbGliYy5zby4qJywKKyAgICAnbGlicnQuc28uKicsCisgICAgJ2xpYnB0aHJlYWQuc28uKicsCisgICAgJ2xpYnJlc29sdi5zby4qJywKKyAgICAnbGlibS5zby4qJywKKyAgICAnbGlidXRpbC5zby4qJywKK10pCiAKLWdsaWJjID0gbWFwKE1hbmdsZUdsaWJjTmFtZVRvQmlvbmljLCBnbGliYykKK2Jpb25pYyA9IHN5bWJvbHMuR2V0RnJvbUFuZHJvaWRTbyhbJ2xpYmMuc28nLCAnbGlibS5zbyddKQordGhpc19kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5yZWFscGF0aChfX2ZpbGVfXykpCitwb3NpeCA9IHN5bWJvbHMuR2V0RnJvbVR4dChvcy5wYXRoLmpvaW4odGhpc19kaXIsICdwb3NpeC0yMDEzLnR4dCcpKQorbmRrX2lnbm9yZWQgPSBHZXROZGtJZ25vcmVkKGFyY2gpCisKK2dsaWJjID0gc2V0KG1hcChNYW5nbGVHbGliY05hbWVUb0Jpb25pYywgZ2xpYmMpKQogCiAjIGJpb25pYyBpbmNsdWRlcyB2YXJpb3VzIEJTRCBzeW1ib2xzIHRvIGVhc2UgcG9ydGluZyBvdGhlciBCU0QtbGljZW5zZWQgY29kZS4KIGJzZF9zdHVmZiA9IHNldChbCkBAIC0xMDAsNiArMTA3LDE2IEBACiAgICdfX2Vycm5vJywKICAgJ19fZmVfZGZsX2VudicsCiAgICdfX2dldF9oX2Vycm5vJywKKyAgJ19fZnBjbGFzc2lmeWQnLAorICAnX19pc2Zpbml0ZScsCisgICdfX2lzZmluaXRlZicsCisgICdfX2lzZmluaXRlbCcsCisgICdfX2lzbm9ybWFsJywKKyAgJ19faXNub3JtYWxmJywKKyAgJ19faXNub3JtYWxsJywKKyAgJ19fc0YnLAorICAnX19wdGhyZWFkX2NsZWFudXBfcG9wJywKKyAgJ19fcHRocmVhZF9jbGVhbnVwX3B1c2gnLAogXSkKICMgYmlvbmljIGV4cG9zZXMgdmFyaW91cyBMaW51eCBmZWF0dXJlcyB0aGF0IGdsaWJjIGRvZXNuJ3QuCiBsaW51eF9zdHVmZiA9IHNldChbCkBAIC0xMzMsMjEgKzE1MCw1MyBAQAogICAnbWtub2RhdCcsCiAgICdzdGF0JywKICAgJ3N0YXQ2NCcsCisgICdvcHRyZXNldCcsCisgICdzaWdzZXRqbXAnLAorXSkKKyMgVGhlc2UgZXhpc3QgaW4gZ2xpYmMsIGJ1dCB1bmRlciBzbGlnaHRseSBkaWZmZXJlbnQgbmFtZXMgKGdlbmVyYWxseSBvbmUgZXh0cmEKKyMgb3Igb25lIGZld2VyIF8pLiBUT0RPOiBjaGVjayBhZ2FpbnN0IGdsaWJjIG5hbWVzLgorbGlicmVzb2x2X3N0dWZmID0gc2V0KFsKKyAgJ19fcmVzX3NlbmRfc2V0cWhvb2snLAorICAnX19yZXNfc2VuZF9zZXRyaG9vaycsCisgICdfcmVzb2x2X2ZsdXNoX2NhY2hlX2Zvcl9uZXQnLAorICAnX3Jlc29sdl9zZXRfbmFtZXNlcnZlcnNfZm9yX25ldCcsCisgICdkbl9leHBhbmQnLAorICAnbnNkaXNwYXRjaCcsCitdKQorIyBJbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHdlIGtub3cgd2UgZXhwb3J0IChhbmQgY2FuJ3QgZ2V0IGF3YXkgZnJvbSkuCitrbm93biA9IHNldChbCisgICdfY3R5cGVfJywKKyAgJ19fbGliY19pbml0JywKIF0pCiAKLXByaW50ICdnbGliYzonCi1mb3Igc3ltYm9sIGluIHNvcnRlZChnbGliYyk6Ci0gIHByaW50IHN5bWJvbAoraWYgbm90IG9ubHlfdW53YW50ZWQ6CisgICNwcmludCAnZ2xpYmM6JworICAjZm9yIHN5bWJvbCBpbiBzb3J0ZWQoZ2xpYmMpOgorICAjICBwcmludCBzeW1ib2wKKyAgI3ByaW50CiAKLXByaW50Ci1wcmludCAnYmlvbmljOicKLWZvciBzeW1ib2wgaW4gc29ydGVkKGJpb25pYyk6Ci0gIHByaW50IHN5bWJvbAorICAjcHJpbnQgJ2Jpb25pYzonCisgICNmb3Igc3ltYm9sIGluIHNvcnRlZChiaW9uaWMpOgorICAjICBwcmludCBzeW1ib2wKKyAgI3ByaW50CiAKLXByaW50Ci1wcmludCAnaW4gYmlvbmljIGJ1dCBub3QgZ2xpYmM6JwotYWxsb3dlZF9zdHVmZiA9IChic2Rfc3R1ZmYgfCBGT1JUSUZZX3N0dWZmIHwgbGludXhfc3R1ZmYgfCBtYWNyb19zdHVmZiB8IHN0ZF9zdHVmZiB8IHdlaXJkX3N0dWZmKQorICBwcmludCAnaW4gZ2xpYmMgKGJ1dCBub3QgcG9zaXgpIGJ1dCBub3QgYmlvbmljOicKKyAgZm9yIHN5bWJvbCBpbiBzb3J0ZWQoKGdsaWJjIC0gcG9zaXgpLmRpZmZlcmVuY2UoYmlvbmljKSk6CisgICAgcHJpbnQgc3ltYm9sCisgIHByaW50CisKKyAgcHJpbnQgJ2luIHBvc2l4IChhbmQgaW1wbGVtZW50ZWQgaW4gZ2xpYmMpIGJ1dCBub3QgYmlvbmljOicKKyAgZm9yIHN5bWJvbCBpbiBzb3J0ZWQoKHBvc2l4LmludGVyc2VjdGlvbihnbGliYykpLmRpZmZlcmVuY2UoYmlvbmljKSk6CisgICAgcHJpbnQgc3ltYm9sCisgIHByaW50CisKKyAgcHJpbnQgJ2luIGJpb25pYyBidXQgbm90IGdsaWJjOicKKworYWxsb3dlZF9zdHVmZiA9IChic2Rfc3R1ZmYgfCBGT1JUSUZZX3N0dWZmIHwgbGludXhfc3R1ZmYgfCBtYWNyb19zdHVmZiB8CisgICAgICAgICAgICAgICAgIHN0ZF9zdHVmZiB8IHdlaXJkX3N0dWZmIHwgbGlicmVzb2x2X3N0dWZmIHwga25vd24pCiBmb3Igc3ltYm9sIGluIHNvcnRlZCgoYmlvbmljIC0gYWxsb3dlZF9zdHVmZikuZGlmZmVyZW5jZShnbGliYykpOgorICBpZiBzeW1ib2wgaW4gbmRrX2lnbm9yZWQ6CisgICAgc3ltYm9sICs9ICcqJwogICBwcmludCBzeW1ib2wKIAogc3lzLmV4aXQoMCkKZGlmZiAtLWdpdCBhL2xpYmMvdG9vbHMvZ2VuZXJhdGUtTk9USUNFLnB5IGIvbGliYy90b29scy9nZW5lcmF0ZS1OT1RJQ0UucHkKaW5kZXggOGNkNzVhMy4uNzliNGVhOSAxMDA3NTUKLS0tIGEvbGliYy90b29scy9nZW5lcmF0ZS1OT1RJQ0UucHkKKysrIGIvbGliYy90b29scy9nZW5lcmF0ZS1OT1RJQ0UucHkKQEAgLTEsNyArMSw3IEBACiAjIS91c3IvYmluL3B5dGhvbgogIyBSdW4gd2l0aCBkaXJlY3RvcnkgYXJndW1lbnRzIGZyb20gYW55IGRpcmVjdG9yeSwgd2l0aCBubyBzcGVjaWFsIHNldHVwIHJlcXVpcmVkLgogIyBPcjoKLSMgZm9yIGkgaW4gbGliYyBsaWJkbCBsaWJtIGxpbmtlciBsaWJzdGRjKysgbGlidGhyZWFkX2RiIDsgZG8gLi9saWJjL3Rvb2xzL2dlbmVyYXRlLU5PVElDRS5weSAkaSA+ICRpL05PVElDRSA7IGRvbmUKKyMgZm9yIGkgaW4gbGliYyBsaWJkbCBsaWJtIGxpbmtlciBsaWJzdGRjKysgOyBkbyAuL2xpYmMvdG9vbHMvZ2VuZXJhdGUtTk9USUNFLnB5ICRpID4gJGkvTk9USUNFIDsgZG9uZQogCiBpbXBvcnQgZnRwbGliCiBpbXBvcnQgaGFzaGxpYgpAQCAtMTIxLDcgKzEyMSw2IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgY29udGVudCA9IG9wZW4ocGF0aCwgJ3InKS5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgIyBUT0RPOiB1cGRhdGUgaGFzaC5oLCBtZDUuYywgYW5kIG1kNS5oOyB1cHN0cmVhbSBpcyBwcm9iYWJseSBVVEYtOCBhbHJlYWR5LgogICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ3dhcm5pbmc6IGJhZCBVVEYtOCBpbiAlc1xuJyAlIHBhdGgpCiAgICAgICAgICAgICAgICAgY29udGVudCA9IG9wZW4ocGF0aCwgJ3InKS5yZWFkKCkuZGVjb2RlKCdpc28tODg1OS0xJykKIApkaWZmIC0tZ2l0IGEvbGliYy90b29scy9nZW5zeXNjYWxscy5weSBiL2xpYmMvdG9vbHMvZ2Vuc3lzY2FsbHMucHkKaW5kZXggZThlYzYzNi4uNGQwYWZlMiAxMDA3NTUKLS0tIGEvbGliYy90b29scy9nZW5zeXNjYWxscy5weQorKysgYi9saWJjL3Rvb2xzL2dlbnN5c2NhbGxzLnB5CkBAIC00LDIxICs0LDI5IEBACiAjIHRoZSBoZWFkZXIgZmlsZXMgbGlzdGluZyBhbGwgYXZhaWxhYmxlIHN5c3RlbSBjYWxscywgYW5kIHRoZQogIyBtYWtlZmlsZXMgdXNlZCB0byBidWlsZCBhbGwgdGhlIHN0dWJzLgogCitpbXBvcnQgYXRleGl0CiBpbXBvcnQgY29tbWFuZHMKIGltcG9ydCBmaWxlY21wCiBpbXBvcnQgZ2xvYgoraW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcy5wYXRoCiBpbXBvcnQgcmUKIGltcG9ydCBzaHV0aWwKIGltcG9ydCBzdGF0CitpbXBvcnQgc3RyaW5nCiBpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKIAotZnJvbSBiaW9uaWNfdXRpbHMgaW1wb3J0ICoKIAotYmlvbmljX2xpYmNfcm9vdCA9IG9zLmVudmlyb25bIkFORFJPSURfQlVJTERfVE9QIl0gKyAiL2Jpb25pYy9saWJjLyIKK2FsbF9hcmNoZXMgPSBbICJhcm0iLCAiYXJtNjQiLCAibWlwcyIsICJtaXBzNjQiLCAieDg2IiwgIng4Nl82NCIgXQorCiAKICMgdGVtcCBkaXJlY3Rvcnkgd2hlcmUgd2Ugc3RvcmUgYWxsIGludGVybWVkaWF0ZSBmaWxlcwotYmlvbmljX3RlbXAgPSAiL3RtcC9iaW9uaWNfZ2Vuc3lzY2FsbHMvIgorYmlvbmljX3RlbXAgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD0iYmlvbmljX2dlbnN5c2NhbGxzIik7CisjIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5IGlzIGRlbGV0ZWQgd2hlbiB0aGUgc2NyaXB0IGV4aXRzLgorYXRleGl0LnJlZ2lzdGVyKHNodXRpbC5ybXRyZWUsIGJpb25pY190ZW1wKQorCitiaW9uaWNfbGliY19yb290ID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bIkFORFJPSURfQlVJTERfVE9QIl0sICJiaW9uaWMvbGliYyIpCiAKIHdhcm5pbmcgPSAiR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4iCiAKQEAgLTM0LDkgKzQyLDEwIEBACiAKIAogZGVmIGNyZWF0ZV9maWxlKHJlbHBhdGgpOgotICAgIGRpciA9IG9zLnBhdGguZGlybmFtZShiaW9uaWNfdGVtcCArIHJlbHBhdGgpCisgICAgZnVsbF9wYXRoID0gb3MucGF0aC5qb2luKGJpb25pY190ZW1wLCByZWxwYXRoKQorICAgIGRpciA9IG9zLnBhdGguZGlybmFtZShmdWxsX3BhdGgpCiAgICAgbWFrZV9kaXIoZGlyKQotICAgIHJldHVybiBvcGVuKGJpb25pY190ZW1wICsgcmVscGF0aCwgInciKQorICAgIHJldHVybiBvcGVuKGZ1bGxfcGF0aCwgInciKQogCiAKIHN5c2NhbGxfc3R1Yl9oZWFkZXIgPSAiLyogIiArIHdhcm5pbmcgKyAiICovXG4iICsgXApAQCAtNDcsMTIgKzU2LDYgQEAKICIiIgogCiAKLWZ1bmN0aW9uX2FsaWFzID0gIiIiCi0gICAgLmdsb2JsICUoYWxpYXMpcwotICAgIC5lcXUgJShhbGlhcylzLCAlKGZ1bmMpcwotIiIiCi0KLQogIwogIyBBUk0gYXNzZW1ibGVyIHRlbXBsYXRlcyBmb3IgZWFjaCBzeXNjYWxsIHN0dWIKICMKQEAgLTI2NSw3ICsyNjgsNyBAQAogIyBUaGlzIGxldHMgdXMgc3VwcG9ydCByZWd1bGFyIHN5c3RlbSBjYWxscyBsaWtlIF9fTlJfd3JpdGUgYW5kIGFsc28gd2VpcmQKICMgb25lcyBsaWtlIF9fQVJNX05SX2NhY2hlZmx1c2gsIHdoZXJlIHRoZSBOUiBkb2Vzbid0IGNvbWUgYXQgdGhlIHN0YXJ0LgogZGVmIG1ha2VfX05SX25hbWUobmFtZSk6Ci0gICAgaWYgbmFtZS5zdGFydHN3aXRoKCJfXyIpOgorICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgiX19BUk1fTlJfIik6CiAgICAgICAgIHJldHVybiBuYW1lCiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuICJfX05SXyVzIiAlIChuYW1lKQpAQCAtMjc1LDEwICsyNzgsMTEgQEAKICAgICAjIEFkZCBhbnkgYWxpYXNlcyBmb3IgdGhpcyBzeXNjYWxsLgogICAgIGFsaWFzZXMgPSBzeXNjYWxsWyJhbGlhc2VzIl0KICAgICBmb3IgYWxpYXMgaW4gYWxpYXNlczoKLSAgICAgICAgc3R1YiArPSBmdW5jdGlvbl9hbGlhcyAlIHsgImZ1bmMiIDogc3lzY2FsbFsiZnVuYyJdLCAiYWxpYXMiIDogYWxpYXMgfQorICAgICAgICBzdHViICs9ICJcbkFMSUFTX1NZTUJPTCglcywgJXMpXG4iICUgKGFsaWFzLCBzeXNjYWxsWyJmdW5jIl0pCiAKLSAgICAjIFVzZSBoaWRkZW4gdmlzaWJpbGl0eSBmb3IgYW55IGZ1bmN0aW9ucyBiZWdpbm5pbmcgd2l0aCB1bmRlcnNjb3Jlcy4KLSAgICBpZiBwb2ludGVyX2xlbmd0aCA9PSA2NCBhbmQgc3lzY2FsbFsiZnVuYyJdLnN0YXJ0c3dpdGgoIl9fIik6CisgICAgIyBVc2UgaGlkZGVuIHZpc2liaWxpdHkgb24gTFA2NCBmb3IgYW55IGZ1bmN0aW9ucyBiZWdpbm5pbmcgd2l0aCB1bmRlcnNjb3Jlcy4KKyAgICAjIEZvcmNlIGhpZGRlbiB2aXNpYmlsaXR5IGZvciBhbnkgZnVuY3Rpb25zIHdoaWNoIGJlZ2luIHdpdGggMyB1bmRlcnNjb3JlcworICAgIGlmIChwb2ludGVyX2xlbmd0aCA9PSA2NCBhbmQgc3lzY2FsbFsiZnVuYyJdLnN0YXJ0c3dpdGgoIl9fIikpIG9yIHN5c2NhbGxbImZ1bmMiXS5zdGFydHN3aXRoKCJfX18iKToKICAgICAgICAgc3R1YiArPSAnLmhpZGRlbiAnICsgc3lzY2FsbFsiZnVuYyJdICsgJ1xuJwogCiAgICAgcmV0dXJuIHN0dWIKQEAgLTM4MCw2ICszODQsMTIwIEBACiAgICAgcmV0dXJuIHJlc3VsdAogCiAKK2NsYXNzIFN5c0NhbGxzVHh0UGFyc2VyOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5zeXNjYWxscyA9IFtdCisgICAgICAgIHNlbGYubGluZW5vICAgPSAwCisKKyAgICBkZWYgRShzZWxmLCBtc2cpOgorICAgICAgICBwcmludCAiJWQ6ICVzIiAlIChzZWxmLmxpbmVubywgbXNnKQorCisgICAgZGVmIHBhcnNlX2xpbmUoc2VsZiwgbGluZSk6CisgICAgICAgICIiIiBwYXJzZSBhIHN5c2NhbGwgc3BlYyBsaW5lLgorCisgICAgICAgIGxpbmUgcHJvY2Vzc2luZywgZm9ybWF0IGlzCisgICAgICAgICAgIHJldHVybiB0eXBlICAgIGZ1bmNfbmFtZVt8YWxpYXNfbGlzdF1bOnN5c2NhbGxfbmFtZVs6c29ja2V0Y2FsbF9pZF1dICggW3BhcmFtbGlzdF0gKSBhcmNoaXRlY3R1cmVfbGlzdAorICAgICAgICAiIiIKKyAgICAgICAgcG9zX2xwYXJlbiA9IGxpbmUuZmluZCgnKCcpCisgICAgICAgIEUgICAgICAgICAgPSBzZWxmLkUKKyAgICAgICAgaWYgcG9zX2xwYXJlbiA8IDA6CisgICAgICAgICAgICBFKCJtaXNzaW5nIGxlZnQgcGFyZW50aGVzaXMgaW4gJyVzJyIgJSBsaW5lKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgcG9zX3JwYXJlbiA9IGxpbmUucmZpbmQoJyknKQorICAgICAgICBpZiBwb3NfcnBhcmVuIDwgMCBvciBwb3NfcnBhcmVuIDw9IHBvc19scGFyZW46CisgICAgICAgICAgICBFKCJtaXNzaW5nIG9yIG1pc3BsYWNlZCByaWdodCBwYXJlbnRoZXNpcyBpbiAnJXMnIiAlIGxpbmUpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICByZXR1cm5fdHlwZSA9IGxpbmVbOnBvc19scGFyZW5dLnN0cmlwKCkuc3BsaXQoKQorICAgICAgICBpZiBsZW4ocmV0dXJuX3R5cGUpIDwgMjoKKyAgICAgICAgICAgIEUoIm1pc3NpbmcgcmV0dXJuIHR5cGUgaW4gJyVzJyIgJSBsaW5lKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc3lzY2FsbF9mdW5jID0gcmV0dXJuX3R5cGVbLTFdCisgICAgICAgIHJldHVybl90eXBlICA9IHN0cmluZy5qb2luKHJldHVybl90eXBlWzotMV0sJyAnKQorICAgICAgICBzb2NrZXRjYWxsX2lkID0gLTEKKworICAgICAgICBwb3NfY29sb24gPSBzeXNjYWxsX2Z1bmMuZmluZCgnOicpCisgICAgICAgIGlmIHBvc19jb2xvbiA8IDA6CisgICAgICAgICAgICBzeXNjYWxsX25hbWUgPSBzeXNjYWxsX2Z1bmMKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHBvc19jb2xvbiA9PSAwIG9yIHBvc19jb2xvbisxID49IGxlbihzeXNjYWxsX2Z1bmMpOgorICAgICAgICAgICAgICAgIEUoIm1pc3BsYWNlZCBjb2xvbiBpbiAnJXMnIiAlIGxpbmUpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgICMgbm93IGZpbmQgaWYgdGhlcmUgaXMgYSBzb2NrZXRjYWxsX2lkIGZvciBhIGRpc3BhdGNoLXR5cGUgc3lzY2FsbAorICAgICAgICAgICAgIyBhZnRlciB0aGUgb3B0aW9uYWwgMm5kIGNvbG9uCisgICAgICAgICAgICBwb3NfY29sb24yID0gc3lzY2FsbF9mdW5jLmZpbmQoJzonLCBwb3NfY29sb24gKyAxKQorICAgICAgICAgICAgaWYgcG9zX2NvbG9uMiA8IDA6CisgICAgICAgICAgICAgICAgc3lzY2FsbF9uYW1lID0gc3lzY2FsbF9mdW5jW3Bvc19jb2xvbisxOl0KKyAgICAgICAgICAgICAgICBzeXNjYWxsX2Z1bmMgPSBzeXNjYWxsX2Z1bmNbOnBvc19jb2xvbl0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgcG9zX2NvbG9uMisxID49IGxlbihzeXNjYWxsX2Z1bmMpOgorICAgICAgICAgICAgICAgICAgICBFKCJtaXNwbGFjZWQgY29sb24yIGluICclcyciICUgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgc3lzY2FsbF9uYW1lID0gc3lzY2FsbF9mdW5jWyhwb3NfY29sb24rMSk6cG9zX2NvbG9uMl0KKyAgICAgICAgICAgICAgICBzb2NrZXRjYWxsX2lkID0gaW50KHN5c2NhbGxfZnVuY1twb3NfY29sb24yKzE6XSkKKyAgICAgICAgICAgICAgICBzeXNjYWxsX2Z1bmMgPSBzeXNjYWxsX2Z1bmNbOnBvc19jb2xvbl0KKworICAgICAgICBhbGlhc19kZWxpbSA9IHN5c2NhbGxfZnVuYy5maW5kKCd8JykKKyAgICAgICAgaWYgYWxpYXNfZGVsaW0gPiAwOgorICAgICAgICAgICAgYWxpYXNfbGlzdCA9IHN5c2NhbGxfZnVuY1thbGlhc19kZWxpbSsxOl0uc3RyaXAoKQorICAgICAgICAgICAgc3lzY2FsbF9mdW5jID0gc3lzY2FsbF9mdW5jWzphbGlhc19kZWxpbV0KKyAgICAgICAgICAgIGFsaWFzX2RlbGltID0gc3lzY2FsbF9uYW1lLmZpbmQoJ3wnKQorICAgICAgICAgICAgaWYgYWxpYXNfZGVsaW0gPiAwOgorICAgICAgICAgICAgICAgIHN5c2NhbGxfbmFtZSA9IHN5c2NhbGxfbmFtZVs6YWxpYXNfZGVsaW1dCisgICAgICAgICAgICBzeXNjYWxsX2FsaWFzZXMgPSBzdHJpbmcuc3BsaXQoYWxpYXNfbGlzdCwgJywnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc3lzY2FsbF9hbGlhc2VzID0gW10KKworICAgICAgICBpZiBwb3NfcnBhcmVuID4gcG9zX2xwYXJlbisxOgorICAgICAgICAgICAgc3lzY2FsbF9wYXJhbXMgPSBsaW5lW3Bvc19scGFyZW4rMTpwb3NfcnBhcmVuXS5zcGxpdCgnLCcpCisgICAgICAgICAgICBwYXJhbXMgICAgICAgICA9IHN0cmluZy5qb2luKHN5c2NhbGxfcGFyYW1zLCcsJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN5c2NhbGxfcGFyYW1zID0gW10KKyAgICAgICAgICAgIHBhcmFtcyAgICAgICAgID0gInZvaWQiCisKKyAgICAgICAgdCA9IHsKKyAgICAgICAgICAgICAgIm5hbWUiICAgIDogc3lzY2FsbF9uYW1lLAorICAgICAgICAgICAgICAiZnVuYyIgICAgOiBzeXNjYWxsX2Z1bmMsCisgICAgICAgICAgICAgICJhbGlhc2VzIiA6IHN5c2NhbGxfYWxpYXNlcywKKyAgICAgICAgICAgICAgInBhcmFtcyIgIDogc3lzY2FsbF9wYXJhbXMsCisgICAgICAgICAgICAgICJkZWNsIiAgICA6ICIlLTE1cyAgJXMgKCVzKTsiICUgKHJldHVybl90eXBlLCBzeXNjYWxsX2Z1bmMsIHBhcmFtcyksCisgICAgICAgICAgICAgICJzb2NrZXRjYWxsX2lkIiA6IHNvY2tldGNhbGxfaWQKKyAgICAgICAgfQorCisgICAgICAgICMgUGFyc2UgdGhlIGFyY2hpdGVjdHVyZSBsaXN0LgorICAgICAgICBhcmNoX2xpc3QgPSBsaW5lW3Bvc19ycGFyZW4rMTpdLnN0cmlwKCkKKyAgICAgICAgaWYgYXJjaF9saXN0ID09ICJhbGwiOgorICAgICAgICAgICAgZm9yIGFyY2ggaW4gYWxsX2FyY2hlczoKKyAgICAgICAgICAgICAgICB0W2FyY2hdID0gVHJ1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIGFyY2ggaW4gc3RyaW5nLnNwbGl0KGFyY2hfbGlzdCwgJywnKToKKyAgICAgICAgICAgICAgICBpZiBhcmNoIGluIGFsbF9hcmNoZXM6CisgICAgICAgICAgICAgICAgICAgIHRbYXJjaF0gPSBUcnVlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgRSgiaW52YWxpZCBzeXNjYWxsIGFyY2hpdGVjdHVyZSAnJXMnIGluICclcyciICUgKGFyY2gsIGxpbmUpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLnN5c2NhbGxzLmFwcGVuZCh0KQorCisgICAgICAgIGxvZ2dpbmcuZGVidWcodCkKKworCisgICAgZGVmIHBhcnNlX2ZpbGUoc2VsZiwgZmlsZV9wYXRoKToKKyAgICAgICAgbG9nZ2luZy5kZWJ1ZygicGFyc2VfZmlsZTogJXMiICUgZmlsZV9wYXRoKQorICAgICAgICBmcCA9IG9wZW4oZmlsZV9wYXRoKQorICAgICAgICBmb3IgbGluZSBpbiBmcC54cmVhZGxpbmVzKCk6CisgICAgICAgICAgICBzZWxmLmxpbmVubyArPSAxCisgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisgICAgICAgICAgICBpZiBub3QgbGluZTogY29udGludWUKKyAgICAgICAgICAgIGlmIGxpbmVbMF0gPT0gJyMnOiBjb250aW51ZQorICAgICAgICAgICAgc2VsZi5wYXJzZV9saW5lKGxpbmUpCisKKyAgICAgICAgZnAuY2xvc2UoKQorCisKIGNsYXNzIFN0YXRlOgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi5vbGRfc3R1YnMgPSBbXQpAQCAtNDM3LDIyICs1NTUsMjIgQEAKICAgICBkZWYgZ2VuX2dsaWJjX3N5c2NhbGxzX2goc2VsZik6CiAgICAgICAgICMgVE9ETzogZ2VuZXJhdGUgYSBzZXBhcmF0ZSBmaWxlIGZvciBlYWNoIGFyY2hpdGVjdHVyZSwgbGlrZSBnbGliYydzIGJpdHMvc3lzY2FsbC5oLgogICAgICAgICBnbGliY19zeXNjYWxsc19oX3BhdGggPSAiaW5jbHVkZS9zeXMvZ2xpYmMtc3lzY2FsbHMuaCIKLSAgICAgICAgRCgiZ2VuZXJhdGluZyAiICsgZ2xpYmNfc3lzY2FsbHNfaF9wYXRoKQorICAgICAgICBsb2dnaW5nLmluZm8oImdlbmVyYXRpbmcgIiArIGdsaWJjX3N5c2NhbGxzX2hfcGF0aCkKICAgICAgICAgZ2xpYmNfZnAgPSBjcmVhdGVfZmlsZShnbGliY19zeXNjYWxsc19oX3BhdGgpCiAgICAgICAgIGdsaWJjX2ZwLndyaXRlKCIvKiAlcyAqL1xuIiAlIHdhcm5pbmcpCiAgICAgICAgIGdsaWJjX2ZwLndyaXRlKCIjaWZuZGVmIF9CSU9OSUNfR0xJQkNfU1lTQ0FMTFNfSF9cbiIpCiAgICAgICAgIGdsaWJjX2ZwLndyaXRlKCIjZGVmaW5lIF9CSU9OSUNfR0xJQkNfU1lTQ0FMTFNfSF9cbiIpCiAKICAgICAgICAgZ2xpYmNfZnAud3JpdGUoIiNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKVxuIikKLSAgICAgICAgc2VsZi5zY2FuX2xpbnV4X3VuaXN0ZF9oKGdsaWJjX2ZwLCBiaW9uaWNfbGliY19yb290ICsgIi9rZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy91bmlzdGQuaCIpCisgICAgICAgIHNlbGYuc2Nhbl9saW51eF91bmlzdGRfaChnbGliY19mcCwgb3MucGF0aC5qb2luKGJpb25pY19saWJjX3Jvb3QsICJrZXJuZWwvdWFwaS9hc20tZ2VuZXJpYy91bmlzdGQuaCIpKQogICAgICAgICBnbGliY19mcC53cml0ZSgiI2VsaWYgZGVmaW5lZChfX2FybV9fKVxuIikKLSAgICAgICAgc2VsZi5zY2FuX2xpbnV4X3VuaXN0ZF9oKGdsaWJjX2ZwLCBiaW9uaWNfbGliY19yb290ICsgIi9rZXJuZWwvdWFwaS9hc20tYXJtL2FzbS91bmlzdGQuaCIpCisgICAgICAgIHNlbGYuc2Nhbl9saW51eF91bmlzdGRfaChnbGliY19mcCwgb3MucGF0aC5qb2luKGJpb25pY19saWJjX3Jvb3QsICJrZXJuZWwvdWFwaS9hc20tYXJtL2FzbS91bmlzdGQuaCIpKQogICAgICAgICBnbGliY19mcC53cml0ZSgiI2VsaWYgZGVmaW5lZChfX21pcHNfXylcbiIpCi0gICAgICAgIHNlbGYuc2Nhbl9saW51eF91bmlzdGRfaChnbGliY19mcCwgYmlvbmljX2xpYmNfcm9vdCArICIva2VybmVsL3VhcGkvYXNtLW1pcHMvYXNtL3VuaXN0ZC5oIikKKyAgICAgICAgc2VsZi5zY2FuX2xpbnV4X3VuaXN0ZF9oKGdsaWJjX2ZwLCBvcy5wYXRoLmpvaW4oYmlvbmljX2xpYmNfcm9vdCwgImtlcm5lbC91YXBpL2FzbS1taXBzL2FzbS91bmlzdGQuaCIpKQogICAgICAgICBnbGliY19mcC53cml0ZSgiI2VsaWYgZGVmaW5lZChfX2kzODZfXylcbiIpCi0gICAgICAgIHNlbGYuc2Nhbl9saW51eF91bmlzdGRfaChnbGliY19mcCwgYmlvbmljX2xpYmNfcm9vdCArICIva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdW5pc3RkXzMyLmgiKQorICAgICAgICBzZWxmLnNjYW5fbGludXhfdW5pc3RkX2goZ2xpYmNfZnAsIG9zLnBhdGguam9pbihiaW9uaWNfbGliY19yb290LCAia2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdW5pc3RkXzMyLmgiKSkKICAgICAgICAgZ2xpYmNfZnAud3JpdGUoIiNlbGlmIGRlZmluZWQoX194ODZfNjRfXylcbiIpCi0gICAgICAgIHNlbGYuc2Nhbl9saW51eF91bmlzdGRfaChnbGliY19mcCwgYmlvbmljX2xpYmNfcm9vdCArICIva2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdW5pc3RkXzY0LmgiKQorICAgICAgICBzZWxmLnNjYW5fbGludXhfdW5pc3RkX2goZ2xpYmNfZnAsIG9zLnBhdGguam9pbihiaW9uaWNfbGliY19yb290LCAia2VybmVsL3VhcGkvYXNtLXg4Ni9hc20vdW5pc3RkXzY0LmgiKSkKICAgICAgICAgZ2xpYmNfZnAud3JpdGUoIiNlbmRpZlxuIikKIAogICAgICAgICBnbGliY19mcC53cml0ZSgiI2VuZGlmIC8qIF9CSU9OSUNfR0xJQkNfU1lTQ0FMTFNfSF8gKi9cbiIpCkBAIC00NjYsNyArNTg0LDcgQEAKICAgICAgICAgICAgIGZvciBhcmNoIGluIGFsbF9hcmNoZXM6CiAgICAgICAgICAgICAgICAgaWYgc3lzY2FsbC5oYXNfa2V5KCJhc20tJXMiICUgYXJjaCk6CiAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gImFyY2gtJXMvc3lzY2FsbHMvJXMuUyIgJSAoYXJjaCwgc3lzY2FsbFsiZnVuYyJdKQotICAgICAgICAgICAgICAgICAgICBEMigiPj4+IGdlbmVyYXRpbmcgIiArIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLmluZm8oIj4+PiBnZW5lcmF0aW5nICIgKyBmaWxlbmFtZSkKICAgICAgICAgICAgICAgICAgICAgZnAgPSBjcmVhdGVfZmlsZShmaWxlbmFtZSkKICAgICAgICAgICAgICAgICAgICAgZnAud3JpdGUoc3lzY2FsbFsiYXNtLSVzIiAlIGFyY2hdKQogICAgICAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCkBAIC00NzQsNDggKzU5Miw0OSBAQAogCiAKICAgICBkZWYgcmVnZW5lcmF0ZShzZWxmKToKLSAgICAgICAgRCgic2Nhbm5pbmcgZm9yIGV4aXN0aW5nIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBzdHViIGZpbGVzLi4uIikKLQotICAgICAgICBiaW9uaWNfbGliY19yb290X2xlbiA9IGxlbihiaW9uaWNfbGliY19yb290KQorICAgICAgICBsb2dnaW5nLmluZm8oInNjYW5uaW5nIGZvciBleGlzdGluZyBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgc3R1YiBmaWxlcy4uLiIpCiAKICAgICAgICAgZm9yIGFyY2ggaW4gYWxsX2FyY2hlczoKLSAgICAgICAgICAgIGFyY2hfcGF0aCA9IGJpb25pY19saWJjX3Jvb3QgKyAiYXJjaC0iICsgYXJjaAotICAgICAgICAgICAgRCgic2Nhbm5pbmcgIiArIGFyY2hfcGF0aCkKLSAgICAgICAgICAgIGZpbGVzID0gZ2xvYi5nbG9iKGFyY2hfcGF0aCArICIvc3lzY2FsbHMvKi5TIikKLSAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgotICAgICAgICAgICAgICAgIHNlbGYub2xkX3N0dWJzLmFwcGVuZChmW2Jpb25pY19saWJjX3Jvb3RfbGVuOl0pCisgICAgICAgICAgICBhcmNoX2RpciA9ICJhcmNoLSIgKyBhcmNoCisgICAgICAgICAgICBsb2dnaW5nLmluZm8oInNjYW5uaW5nICIgKyBvcy5wYXRoLmpvaW4oYmlvbmljX2xpYmNfcm9vdCwgYXJjaF9kaXIpKQorICAgICAgICAgICAgcmVsX3BhdGggPSBvcy5wYXRoLmpvaW4oYXJjaF9kaXIsICJzeXNjYWxscyIpCisgICAgICAgICAgICBmb3IgZmlsZSBpbiBvcy5saXN0ZGlyKG9zLnBhdGguam9pbihiaW9uaWNfbGliY19yb290LCByZWxfcGF0aCkpOgorICAgICAgICAgICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoIi5TIik6CisgICAgICAgICAgICAgICAgICBzZWxmLm9sZF9zdHVicy5hcHBlbmQob3MucGF0aC5qb2luKHJlbF9wYXRoLCBmaWxlKSkKIAotICAgICAgICBEKCJmb3VuZCAlZCBzdHViIGZpbGVzIiAlIGxlbihzZWxmLm9sZF9zdHVicykpCisgICAgICAgIGxvZ2dpbmcuaW5mbygiZm91bmQgJWQgc3R1YiBmaWxlcyIgJSBsZW4oc2VsZi5vbGRfc3R1YnMpKQogCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhiaW9uaWNfdGVtcCk6Ci0gICAgICAgICAgICBEKCJjcmVhdGluZyAlcy4uLiIgJSBiaW9uaWNfdGVtcCkKKyAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygiY3JlYXRpbmcgJXMuLi4iICUgYmlvbmljX3RlbXApCiAgICAgICAgICAgICBtYWtlX2RpcihiaW9uaWNfdGVtcCkKIAotICAgICAgICBEKCJyZS1nZW5lcmF0aW5nIHN0dWJzIGFuZCBzdXBwb3J0IGZpbGVzLi4uIikKKyAgICAgICAgbG9nZ2luZy5pbmZvKCJyZS1nZW5lcmF0aW5nIHN0dWJzIGFuZCBzdXBwb3J0IGZpbGVzLi4uIikKIAogICAgICAgICBzZWxmLmdlbl9nbGliY19zeXNjYWxsc19oKCkKICAgICAgICAgc2VsZi5nZW5fc3lzY2FsbF9zdHVicygpCiAKLSAgICAgICAgRCgiY29tcGFyaW5nIGZpbGVzLi4uIikKKyAgICAgICAgbG9nZ2luZy5pbmZvKCJjb21wYXJpbmcgZmlsZXMuLi4iKQogICAgICAgICBhZGRzICAgID0gW10KICAgICAgICAgZWRpdHMgICA9IFtdCiAKICAgICAgICAgZm9yIHN0dWIgaW4gc2VsZi5uZXdfc3R1YnMgKyBzZWxmLm90aGVyX2ZpbGVzOgotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGJpb25pY19saWJjX3Jvb3QgKyBzdHViKToKKyAgICAgICAgICAgIHRtcF9maWxlID0gb3MucGF0aC5qb2luKGJpb25pY190ZW1wLCBzdHViKQorICAgICAgICAgICAgbGliY19maWxlID0gb3MucGF0aC5qb2luKGJpb25pY19saWJjX3Jvb3QsIHN0dWIpCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMobGliY19maWxlKToKICAgICAgICAgICAgICAgICAjIG5ldyBmaWxlLCBnaXQgYWRkIGl0Ci0gICAgICAgICAgICAgICAgRCgibmV3IGZpbGU6ICAgICAiICsgc3R1YikKLSAgICAgICAgICAgICAgICBhZGRzLmFwcGVuZChiaW9uaWNfbGliY19yb290ICsgc3R1YikKLSAgICAgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUoYmlvbmljX3RlbXAgKyBzdHViLCBiaW9uaWNfbGliY19yb290ICsgc3R1YikKKyAgICAgICAgICAgICAgICBsb2dnaW5nLmluZm8oIm5ldyBmaWxlOiAgICAgIiArIHN0dWIpCisgICAgICAgICAgICAgICAgYWRkcy5hcHBlbmQobGliY19maWxlKQorICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZSh0bXBfZmlsZSwgbGliY19maWxlKQogCi0gICAgICAgICAgICBlbGlmIG5vdCBmaWxlY21wLmNtcChiaW9uaWNfdGVtcCArIHN0dWIsIGJpb25pY19saWJjX3Jvb3QgKyBzdHViKToKLSAgICAgICAgICAgICAgICBEKCJjaGFuZ2VkIGZpbGU6ICIgKyBzdHViKQorICAgICAgICAgICAgZWxpZiBub3QgZmlsZWNtcC5jbXAodG1wX2ZpbGUsIGxpYmNfZmlsZSk6CisgICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCJjaGFuZ2VkIGZpbGU6ICIgKyBzdHViKQogICAgICAgICAgICAgICAgIGVkaXRzLmFwcGVuZChzdHViKQogCiAgICAgICAgIGRlbGV0ZXMgPSBbXQogICAgICAgICBmb3Igc3R1YiBpbiBzZWxmLm9sZF9zdHViczoKICAgICAgICAgICAgIGlmIG5vdCBzdHViIGluIHNlbGYubmV3X3N0dWJzOgotICAgICAgICAgICAgICAgIEQoImRlbGV0ZWQgZmlsZTogIiArIHN0dWIpCi0gICAgICAgICAgICAgICAgZGVsZXRlcy5hcHBlbmQoYmlvbmljX2xpYmNfcm9vdCArIHN0dWIpCisgICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCJkZWxldGVkIGZpbGU6ICIgKyBzdHViKQorICAgICAgICAgICAgICAgIGRlbGV0ZXMuYXBwZW5kKG9zLnBhdGguam9pbihiaW9uaWNfbGliY19yb290LCBzdHViKSkKIAogICAgICAgICBpZiBub3QgRFJZX1JVTjoKICAgICAgICAgICAgIGlmIGFkZHM6CkBAIC01MjQsMTggKzY0MywxOSBAQAogICAgICAgICAgICAgICAgIGNvbW1hbmRzLmdldG91dHB1dCgiZ2l0IHJtICIgKyAiICIuam9pbihkZWxldGVzKSkKICAgICAgICAgICAgIGlmIGVkaXRzOgogICAgICAgICAgICAgICAgIGZvciBmaWxlIGluIGVkaXRzOgotICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUoYmlvbmljX3RlbXAgKyBmaWxlLCBiaW9uaWNfbGliY19yb290ICsgZmlsZSkKLSAgICAgICAgICAgICAgICBjb21tYW5kcy5nZXRvdXRwdXQoImdpdCBhZGQgIiArICIgIi5qb2luKChiaW9uaWNfbGliY19yb290ICsgZmlsZSkgZm9yIGZpbGUgaW4gZWRpdHMpKQorICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUob3MucGF0aC5qb2luKGJpb25pY190ZW1wLCBmaWxlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihiaW9uaWNfbGliY19yb290LCBmaWxlKSkKKyAgICAgICAgICAgICAgICBjb21tYW5kcy5nZXRvdXRwdXQoImdpdCBhZGQgIiArICIgIi5qb2luKChvcy5wYXRoLmpvaW4oYmlvbmljX2xpYmNfcm9vdCwgZmlsZSkpIGZvciBmaWxlIGluIGVkaXRzKSkKIAotICAgICAgICAgICAgY29tbWFuZHMuZ2V0b3V0cHV0KCJnaXQgYWRkICVzJXMiICUgKGJpb25pY19saWJjX3Jvb3QsIlNZU0NBTExTLlRYVCIpKQorICAgICAgICAgICAgY29tbWFuZHMuZ2V0b3V0cHV0KCJnaXQgYWRkICVzIiAlIChvcy5wYXRoLmpvaW4oYmlvbmljX2xpYmNfcm9vdCwgIlNZU0NBTExTLlRYVCIpKSkKIAogICAgICAgICBpZiAobm90IGFkZHMpIGFuZCAobm90IGRlbGV0ZXMpIGFuZCAobm90IGVkaXRzKToKLSAgICAgICAgICAgIEQoIm5vIGNoYW5nZXMgZGV0ZWN0ZWQhIikKKyAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygibm8gY2hhbmdlcyBkZXRlY3RlZCEiKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgRCgicmVhZHkgdG8gZ28hISIpCisgICAgICAgICAgICBsb2dnaW5nLmluZm8oInJlYWR5IHRvIGdvISEiKQogCi1EX3NldGxldmVsKDEpCitsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuSU5GTykKIAogc3RhdGUgPSBTdGF0ZSgpCi1zdGF0ZS5wcm9jZXNzX2ZpbGUoYmlvbmljX2xpYmNfcm9vdCsiU1lTQ0FMTFMuVFhUIikKK3N0YXRlLnByb2Nlc3NfZmlsZShvcy5wYXRoLmpvaW4oYmlvbmljX2xpYmNfcm9vdCwgIlNZU0NBTExTLlRYVCIpKQogc3RhdGUucmVnZW5lcmF0ZSgpCmRpZmYgLS1naXQgYS9saWJjL3Rvb2xzL25ka19taXNzaW5nX3N5bWJvbHMucHkgYi9saWJjL3Rvb2xzL25ka19taXNzaW5nX3N5bWJvbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTlmOTJiMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdG9vbHMvbmRrX21pc3Npbmdfc3ltYm9scy5weQpAQCAtMCwwICsxLDQ4IEBACisjIS91c3IvYmluL2VudiBweXRob24yCisjCisjIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworaW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCisKK2ltcG9ydCBzeW1ib2xzCisKKworZGVmIGFkYl9wdWxsKHNyYywgZHN0KToKKyAgICB3aXRoIG9wZW4ob3MuZGV2bnVsbCwgJ3cnKSBhcyBkZXZudWxsOgorICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWydhZGInLCAncHVsbCcsIHNyYywgZHN0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1kZXZudWxsLCBzdGRlcnI9ZGV2bnVsbCkKKworCitkZWYgbWFpbigpOgorICAgIHRtcF9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICBhZGJfcHVsbCgnL3N5c3RlbS9saWIvbGliYy5zbycsIHRtcF9kaXIpCisgICAgYWRiX3B1bGwoJy9zeXN0ZW0vbGliL2xpYm0uc28nLCB0bXBfZGlyKQorCisgICAgY3VycmVudCA9IHN5bWJvbHMuR2V0RnJvbUFuZHJvaWRTbyhbJ2xpYmMuc28nLCAnbGlibS5zbyddKQorICAgIGRldmljZSA9IChzeW1ib2xzLkdldEZyb21FbGYob3MucGF0aC5qb2luKHRtcF9kaXIsICdsaWJjLnNvJykpIHwKKyAgICAgICAgICAgICAgc3ltYm9scy5HZXRGcm9tRWxmKG9zLnBhdGguam9pbih0bXBfZGlyLCAnbGlibS5zbycpKSkKKyAgICBjb21wYXRfbGliID0gc3ltYm9scy5HZXRGcm9tQW5kcm9pZFN0YXRpY0xpYihbJ2xpYmNfbmRrLmEnXSkKKworICAgIG1pc3Npbmdfc3ltYm9scyA9IGN1cnJlbnQgLSBkZXZpY2UKKyAgICBjb21wYXRfbm90X2NvdmVyZWQgPSBtaXNzaW5nX3N5bWJvbHMgLSBjb21wYXRfbGliCisKKyAgICBmb3Igc3ltYm9sIGluIHNvcnRlZChjb21wYXRfbm90X2NvdmVyZWQpOgorICAgICAgICBwcmludCBzeW1ib2wKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvbGliYy90b29scy9wb3NpeC0yMDEzLnR4dCBiL2xpYmMvdG9vbHMvcG9zaXgtMjAxMy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk3MmM4MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdG9vbHMvcG9zaXgtMjAxMy50eHQKQEAgLTAsMCArMSwxMTkxIEBACitGRF9DTFIKK0ZEX0lTU0VUCitGRF9TRVQKK0ZEX1pFUk8KK19FeGl0CitfZXhpdAorX2xvbmdqbXAKK19zZXRqbXAKK190b2xvd2VyCitfdG91cHBlcgorYTY0bAorYWJvcnQKK2FicworYWNjZXB0CithY2Nlc3MKK2Fjb3NmCithY29zaGYKK2Fjb3NoCithY29zaGwKK2Fjb3MKK2Fjb3NsCithaW9fY2FuY2VsCithaW9fZXJyb3IKK2Fpb19mc3luYworYWlvX3JlYWQKK2Fpb19yZXR1cm4KK2Fpb19zdXNwZW5kCithaW9fd3JpdGUKK2FsYXJtCithbHBoYXNvcnQKK2FzY3RpbWUKK2FzY3RpbWVfcgorYXNpbmYKK2FzaW5oZgorYXNpbmgKK2FzaW5obAorYXNpbgorYXNpbmwKK2Fzc2VydAorYXRhbjJmCithdGFuMgorYXRhbjJsCithdGFuZgorYXRhbmhmCithdGFuaAorYXRhbmhsCithdGFuCithdGFubAorYXRleGl0CithdG9mCithdG9pCithdG9sCithdG9sbAorYmFzZW5hbWUKK2JpbmQKK2JzZWFyY2gKK2J0b3djCitjYWJzZgorY2FicworY2Fic2wKK2NhY29zZgorY2Fjb3NoZgorY2Fjb3NoCitjYWNvc2hsCitjYWNvcworY2Fjb3NsCitjYWxsb2MKK2NhcmdmCitjYXJnCitjYXJnbAorY2FzaW5mCitjYXNpbmhmCitjYXNpbmgKK2Nhc2luaGwKK2Nhc2luCitjYXNpbmwKK2NhdGFuZgorY2F0YW5oZgorY2F0YW5oCitjYXRhbmhsCitjYXRhbgorY2F0YW5sCitjYXRjbG9zZQorY2F0Z2V0cworY2F0b3BlbgorY2JydGYKK2NicnQKK2NicnRsCitjY29zZgorY2Nvc2hmCitjY29zaAorY2Nvc2hsCitjY29zCitjY29zbAorY2VpbGYKK2NlaWwKK2NlaWxsCitjZXhwZgorY2V4cAorY2V4cGwKK2NmZ2V0aXNwZWVkCitjZmdldG9zcGVlZAorY2ZzZXRpc3BlZWQKK2Nmc2V0b3NwZWVkCitjaGRpcgorY2htb2QKK2Nob3duCitjaW1hZ2YKK2NpbWFnCitjaW1hZ2wKK2NsZWFyZXJyCitjbG9ja19nZXRjcHVjbG9ja2lkCitjbG9ja19nZXRyZXMKK2Nsb2NrX2dldHRpbWUKK2Nsb2NrCitjbG9ja19uYW5vc2xlZXAKK2Nsb2NrX3NldHRpbWUKK2Nsb2dmCitjbG9nCitjbG9nbAorY2xvc2VkaXIKK2Nsb3NlCitjbG9zZWxvZworY29uZnN0cgorY29uamYKK2NvbmoKK2NvbmpsCitjb25uZWN0Citjb3B5c2lnbmYKK2NvcHlzaWduCitjb3B5c2lnbmwKK2Nvc2YKK2Nvc2hmCitjb3NoCitjb3NobAorY29zCitjb3NsCitjcG93ZgorY3BvdworY3Bvd2wKK2Nwcm9qZgorY3Byb2oKK2Nwcm9qbAorY3JlYWxmCitjcmVhbAorY3JlYWxsCitjcmVhdAorY3J5cHQKK2NzaW5mCitjc2luaGYKK2NzaW5oCitjc2luaGwKK2NzaW4KK2NzaW5sCitjc3FydGYKK2NzcXJ0Citjc3FydGwKK2N0YW5mCitjdGFuaGYKK2N0YW5oCitjdGFuaGwKK2N0YW4KK2N0YW5sCitjdGVybWlkCitjdGltZQorY3RpbWVfcgorZGF5bGlnaHQKK2RibV9jbGVhcmVycgorZGJtX2Nsb3NlCitkYm1fZGVsZXRlCitkYm1fZXJyb3IKK2RibV9mZXRjaAorZGJtX2ZpcnN0a2V5CitkYm1fbmV4dGtleQorZGJtX29wZW4KK2RibV9zdG9yZQorZGlmZnRpbWUKK2RpcmZkCitkaXJuYW1lCitkaXYKK2RsY2xvc2UKK2RsZXJyb3IKK2Rsb3BlbgorZGxzeW0KK2RwcmludGYKK2RyYW5kNDgKK2R1cDIKK2R1cAorZHVwbG9jYWxlCitlbmNyeXB0CitlbmRncmVudAorZW5kaG9zdGVudAorZW5kbmV0ZW50CitlbmRwcm90b2VudAorZW5kcHdlbnQKK2VuZHNlcnZlbnQKK2VuZHV0eGVudAorZW52aXJvbgorZXJhbmQ0OAorZXJmY2YKK2VyZmMKK2VyZmNsCitlcmZmCitlcmYKK2VyZmwKK2Vycm5vCitleGVjbGUKK2V4ZWNsCitleGVjbHAKK2V4ZWN2ZQorZXhlY3YKK2V4ZWN2cAorZXhpdAorZXhwMmYKK2V4cDIKK2V4cDJsCitleHBmCitleHAKK2V4cGwKK2V4cG0xZgorZXhwbTEKK2V4cG0xbAorZmFic2YKK2ZhYnMKK2ZhYnNsCitmYWNjZXNzYXQKK2ZhdHRhY2gKK2ZjaGRpcgorZmNobW9kYXQKK2ZjaG1vZAorZmNob3duYXQKK2ZjaG93bgorZmNsb3NlCitmY250bAorZmRhdGFzeW5jCitmZGV0YWNoCitmZGltZgorZmRpbQorZmRpbWwKK2Zkb3BlbmRpcgorZmRvcGVuCitmZWNsZWFyZXhjZXB0CitmZWdldGVudgorZmVnZXRleGNlcHRmbGFnCitmZWdldHJvdW5kCitmZWhvbGRleGNlcHQKK2Zlb2YKK2ZlcmFpc2VleGNlcHQKK2ZlcnJvcgorZmVzZXRlbnYKK2Zlc2V0ZXhjZXB0ZmxhZworZmVzZXRyb3VuZAorZmV0ZXN0ZXhjZXB0CitmZXVwZGF0ZWVudgorZmV4ZWN2ZQorZmZsdXNoCitmZnMKK2ZnZXRjCitmZ2V0cG9zCitmZ2V0cworZmdldHdjCitmZ2V0d3MKK2ZpbGVubworZmxvY2tmaWxlCitmbG9vcmYKK2Zsb29yCitmbG9vcmwKK2ZtYWYKK2ZtYQorZm1hbAorZm1heGYKK2ZtYXgKK2ZtYXhsCitmbWVtb3BlbgorZm1pbmYKK2ZtaW4KK2ZtaW5sCitmbW9kZgorZm1vZAorZm1vZGwKK2ZtdG1zZworZm5tYXRjaAorZm9wZW4KK2ZvcmsKK2ZwYXRoY29uZgorZnBjbGFzc2lmeQorZnByaW50ZgorZnB1dGMKK2ZwdXRzCitmcHV0d2MKK2ZwdXR3cworZnJlYWQKK2ZyZWVhZGRyaW5mbworZnJlZQorZnJlZWxvY2FsZQorZnJlb3BlbgorZnJleHBmCitmcmV4cAorZnJleHBsCitmc2NhbmYKK2ZzZWVrCitmc2Vla28KK2ZzZXRwb3MKK2ZzdGF0YXQKK2ZzdGF0Citmc3RhdHZmcworZnN5bmMKK2Z0ZWxsCitmdGVsbG8KK2Z0b2sKK2Z0cnVuY2F0ZQorZnRyeWxvY2tmaWxlCitmdHcKK2Z1bmxvY2tmaWxlCitmdXRpbWVucworZndpZGUKK2Z3cHJpbnRmCitmd3JpdGUKK2Z3c2NhbmYKK2dhaV9zdHJlcnJvcgorZ2V0YWRkcmluZm8KK2dldGNoYXIKK2dldGNoYXJfdW5sb2NrZWQKK2dldGMKK2dldGNfdW5sb2NrZWQKK2dldGN3ZAorZ2V0ZGF0ZV9lcnIKK2dldGRhdGUKK2dldGRlbGltCitnZXRlZ2lkCitnZXRlbnYKK2dldGV1aWQKK2dldGdpZAorZ2V0Z3JlbnQKK2dldGdyZ2lkCitnZXRncmdpZF9yCitnZXRncm5hbQorZ2V0Z3JuYW1fcgorZ2V0Z3JvdXBzCitnZXRob3N0ZW50CitnZXRob3N0aWQKK2dldGhvc3RuYW1lCitnZXRpdGltZXIKK2dldGxpbmUKK2dldGxvZ2luCitnZXRsb2dpbl9yCitnZXRtc2cKK2dldG5hbWVpbmZvCitnZXRuZXRieWFkZHIKK2dldG5ldGJ5bmFtZQorZ2V0bmV0ZW50CitnZXRvcHQKK2dldHBlZXJuYW1lCitnZXRwZ2lkCitnZXRwZ3JwCitnZXRwaWQKK2dldHBtc2cKK2dldHBwaWQKK2dldHByaW9yaXR5CitnZXRwcm90b2J5bmFtZQorZ2V0cHJvdG9ieW51bWJlcgorZ2V0cHJvdG9lbnQKK2dldHB3ZW50CitnZXRwd25hbQorZ2V0cHduYW1fcgorZ2V0cHd1aWQKK2dldHB3dWlkX3IKK2dldHJsaW1pdAorZ2V0cnVzYWdlCitnZXRzZXJ2YnluYW1lCitnZXRzZXJ2Ynlwb3J0CitnZXRzZXJ2ZW50CitnZXRzCitnZXRzaWQKK2dldHNvY2tuYW1lCitnZXRzb2Nrb3B0CitnZXRzdWJvcHQKK2dldHRpbWVvZmRheQorZ2V0dWlkCitnZXR1dHhlbnQKK2dldHV0eGlkCitnZXR1dHhsaW5lCitnZXR3Y2hhcgorZ2V0d2MKK2dsb2JmcmVlCitnbG9iCitnbXRpbWUKK2dtdGltZV9yCitncmFudHB0CitoY3JlYXRlCitoZGVzdHJveQoraHNlYXJjaAoraHRvbmwKK2h0b25zCitoeXBvdGYKK2h5cG90CitoeXBvdGwKK2ljb252X2Nsb3NlCitpY29udgoraWNvbnZfb3BlbgoraWZfZnJlZW5hbWVpbmRleAoraWZfaW5kZXh0b25hbWUKK2lmX25hbWVpbmRleAoraWZfbmFtZXRvaW5kZXgKK2lsb2diZgoraWxvZ2IKK2lsb2dibAoraW1heGFicworaW1heGRpdgoraW5ldF9hZGRyCitpbmV0X250b2EKK2luZXRfbnRvcAoraW5ldF9wdG9uCitpbml0c3RhdGUKK2luc3F1ZQoraW9jdGwKK2lzYWxudW0KK2lzYWxudW1fbAoraXNhbHBoYQoraXNhbHBoYV9sCitpc2FzY2lpCitpc2FzdHJlYW0KK2lzYXR0eQoraXNibGFuaworaXNibGFua19sCitpc2NudHJsCitpc2NudHJsX2wKK2lzZGlnaXQKK2lzZGlnaXRfbAoraXNmaW5pdGUKK2lzZ3JhcGgKK2lzZ3JhcGhfbAoraXNncmVhdGVyZXF1YWwKK2lzZ3JlYXRlcgoraXNpbmYKK2lzbGVzc2VxdWFsCitpc2xlc3NncmVhdGVyCitpc2xlc3MKK2lzbG93ZXIKK2lzbG93ZXJfbAoraXNuYW4KK2lzbm9ybWFsCitpc3ByaW50Citpc3ByaW50X2wKK2lzcHVuY3QKK2lzcHVuY3RfbAoraXNzcGFjZQoraXNzcGFjZV9sCitpc3Vub3JkZXJlZAoraXN1cHBlcgoraXN1cHBlcl9sCitpc3dhbG51bQoraXN3YWxudW1fbAoraXN3YWxwaGEKK2lzd2FscGhhX2wKK2lzd2JsYW5rCitpc3dibGFua19sCitpc3djbnRybAoraXN3Y250cmxfbAoraXN3Y3R5cGUKK2lzd2N0eXBlX2wKK2lzd2RpZ2l0Citpc3dkaWdpdF9sCitpc3dncmFwaAoraXN3Z3JhcGhfbAoraXN3bG93ZXIKK2lzd2xvd2VyX2wKK2lzd3ByaW50Citpc3dwcmludF9sCitpc3dwdW5jdAoraXN3cHVuY3RfbAoraXN3c3BhY2UKK2lzd3NwYWNlX2wKK2lzd3VwcGVyCitpc3d1cHBlcl9sCitpc3d4ZGlnaXQKK2lzd3hkaWdpdF9sCitpc3hkaWdpdAoraXN4ZGlnaXRfbAorajAKK2oxCitqbgoranJhbmQ0OAora2lsbAora2lsbHBnCitsNjRhCitsYWJzCitsY2hvd24KK2xjb25nNDgKK2xkZXhwZgorbGRleHAKK2xkZXhwbAorbGRpdgorbGZpbmQKK2xnYW1tYWYKK2xnYW1tYQorbGdhbW1hbAorbGlua2F0CitsaW5rCitsaW9fbGlzdGlvCitsaXN0ZW4KK2xsYWJzCitsbGRpdgorbGxyaW50ZgorbGxyaW50CitsbHJpbnRsCitsbHJvdW5kZgorbGxyb3VuZAorbGxyb3VuZGwKK2xvY2FsZWNvbnYKK2xvY2FsdGltZQorbG9jYWx0aW1lX3IKK2xvY2tmCitsb2cxMGYKK2xvZzEwCitsb2cxMGwKK2xvZzFwZgorbG9nMXAKK2xvZzFwbAorbG9nMmYKK2xvZzIKK2xvZzJsCitsb2diZgorbG9nYgorbG9nYmwKK2xvZ2YKK2xvZworbG9nbAorbG9uZ2ptcAorbHJhbmQ0OAorbHJpbnRmCitscmludAorbHJpbnRsCitscm91bmRmCitscm91bmQKK2xyb3VuZGwKK2xzZWFyY2gKK2xzZWVrCitsc3RhdAorbWFsbG9jCittYmxlbgorbWJybGVuCittYnJ0b3djCittYnNpbml0CittYnNucnRvd2NzCittYnNydG93Y3MKK21ic3Rvd2NzCittYnRvd2MKK21lbWNjcHkKK21lbWNocgorbWVtY21wCittZW1jcHkKK21lbW1vdmUKK21lbXNldAorbWtkaXJhdAorbWtkaXIKK21rZHRlbXAKK21rZmlmb2F0Citta2ZpZm8KK21rbm9kYXQKK21rbm9kCitta3N0ZW1wCitta3RpbWUKK21sb2NrYWxsCittbG9jaworbW1hcAorbW9kZmYKK21vZGYKK21vZGZsCittcHJvdGVjdAorbXFfY2xvc2UKK21xX2dldGF0dHIKK21xX25vdGlmeQorbXFfb3BlbgorbXFfcmVjZWl2ZQorbXFfc2VuZAorbXFfc2V0YXR0cgorbXFfdGltZWRyZWNlaXZlCittcV90aW1lZHNlbmQKK21xX3VubGluaworbXJhbmQ0OAorbXNnY3RsCittc2dnZXQKK21zZ3JjdgorbXNnc25kCittc3luYworbXVubG9ja2FsbAorbXVubG9jaworbXVubWFwCituYW5mCituYW4KK25hbmwKK25hbm9zbGVlcAorbmVhcmJ5aW50ZgorbmVhcmJ5aW50CituZWFyYnlpbnRsCituZXdsb2NhbGUKK25leHRhZnRlcmYKK25leHRhZnRlcgorbmV4dGFmdGVybAorbmV4dHRvd2FyZGYKK25leHR0b3dhcmQKK25leHR0b3dhcmRsCituZnR3CituaWNlCitubF9sYW5naW5mbworbmxfbGFuZ2luZm9fbAorbnJhbmQ0OAorbnRvaGwKK250b2hzCitvcGVuYXQKK29wZW5kaXIKK29wZW4KK29wZW5sb2cKK29wZW5fbWVtc3RyZWFtCitvcGVuX3dtZW1zdHJlYW0KK29wdGFyZworb3B0ZXJyCitvcHRpbmQKK29wdG9wdAorcGF0aGNvbmYKK3BhdXNlCitwY2xvc2UKK3BlcnJvcgorcGlwZQorcG9sbAorcG9wZW4KK3Bvc2l4X2ZhZHZpc2UKK3Bvc2l4X2ZhbGxvY2F0ZQorcG9zaXhfbWFkdmlzZQorcG9zaXhfbWVtYWxpZ24KK3Bvc2l4X21lbV9vZmZzZXQKK3Bvc2l4X29wZW5wdAorcG9zaXhfc3Bhd25hdHRyX2Rlc3Ryb3kKK3Bvc2l4X3NwYXduYXR0cl9nZXRmbGFncworcG9zaXhfc3Bhd25hdHRyX2dldHBncm91cAorcG9zaXhfc3Bhd25hdHRyX2dldHNjaGVkcGFyYW0KK3Bvc2l4X3NwYXduYXR0cl9nZXRzY2hlZHBvbGljeQorcG9zaXhfc3Bhd25hdHRyX2dldHNpZ2RlZmF1bHQKK3Bvc2l4X3NwYXduYXR0cl9nZXRzaWdtYXNrCitwb3NpeF9zcGF3bmF0dHJfaW5pdAorcG9zaXhfc3Bhd25hdHRyX3NldGZsYWdzCitwb3NpeF9zcGF3bmF0dHJfc2V0cGdyb3VwCitwb3NpeF9zcGF3bmF0dHJfc2V0c2NoZWRwYXJhbQorcG9zaXhfc3Bhd25hdHRyX3NldHNjaGVkcG9saWN5Citwb3NpeF9zcGF3bmF0dHJfc2V0c2lnZGVmYXVsdAorcG9zaXhfc3Bhd25hdHRyX3NldHNpZ21hc2sKK3Bvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19hZGRjbG9zZQorcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGR1cDIKK3Bvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19hZGRvcGVuCitwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfZGVzdHJveQorcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2luaXQKK3Bvc2l4X3NwYXduCitwb3NpeF9zcGF3bnAKK3Bvc2l4X3RyYWNlX2F0dHJfZGVzdHJveQorcG9zaXhfdHJhY2VfYXR0cl9nZXRjbG9ja3JlcworcG9zaXhfdHJhY2VfYXR0cl9nZXRjcmVhdGV0aW1lCitwb3NpeF90cmFjZV9hdHRyX2dldGdlbnZlcnNpb24KK3Bvc2l4X3RyYWNlX2F0dHJfZ2V0aW5oZXJpdGVkCitwb3NpeF90cmFjZV9hdHRyX2dldGxvZ2Z1bGxwb2xpY3kKK3Bvc2l4X3RyYWNlX2F0dHJfZ2V0bG9nc2l6ZQorcG9zaXhfdHJhY2VfYXR0cl9nZXRtYXhkYXRhc2l6ZQorcG9zaXhfdHJhY2VfYXR0cl9nZXRtYXhzeXN0ZW1ldmVudHNpemUKK3Bvc2l4X3RyYWNlX2F0dHJfZ2V0bWF4dXNlcmV2ZW50c2l6ZQorcG9zaXhfdHJhY2VfYXR0cl9nZXRuYW1lCitwb3NpeF90cmFjZV9hdHRyX2dldHN0cmVhbWZ1bGxwb2xpY3kKK3Bvc2l4X3RyYWNlX2F0dHJfZ2V0c3RyZWFtc2l6ZQorcG9zaXhfdHJhY2VfYXR0cl9pbml0Citwb3NpeF90cmFjZV9hdHRyX3NldGluaGVyaXRlZAorcG9zaXhfdHJhY2VfYXR0cl9zZXRsb2dmdWxscG9saWN5Citwb3NpeF90cmFjZV9hdHRyX3NldGxvZ3NpemUKK3Bvc2l4X3RyYWNlX2F0dHJfc2V0bWF4ZGF0YXNpemUKK3Bvc2l4X3RyYWNlX2F0dHJfc2V0bmFtZQorcG9zaXhfdHJhY2VfYXR0cl9zZXRzdHJlYW1mdWxscG9saWN5Citwb3NpeF90cmFjZV9hdHRyX3NldHN0cmVhbXNpemUKK3Bvc2l4X3RyYWNlX2NsZWFyCitwb3NpeF90cmFjZV9jbG9zZQorcG9zaXhfdHJhY2VfY3JlYXRlCitwb3NpeF90cmFjZV9jcmVhdGVfd2l0aGxvZworcG9zaXhfdHJhY2VfZXZlbnQKK3Bvc2l4X3RyYWNlX2V2ZW50aWRfZXF1YWwKK3Bvc2l4X3RyYWNlX2V2ZW50aWRfZ2V0X25hbWUKK3Bvc2l4X3RyYWNlX2V2ZW50aWRfb3BlbgorcG9zaXhfdHJhY2VfZXZlbnRzZXRfYWRkCitwb3NpeF90cmFjZV9ldmVudHNldF9kZWwKK3Bvc2l4X3RyYWNlX2V2ZW50c2V0X2VtcHR5Citwb3NpeF90cmFjZV9ldmVudHNldF9maWxsCitwb3NpeF90cmFjZV9ldmVudHNldF9pc21lbWJlcgorcG9zaXhfdHJhY2VfZXZlbnR0eXBlbGlzdF9nZXRuZXh0X2lkCitwb3NpeF90cmFjZV9ldmVudHR5cGVsaXN0X3Jld2luZAorcG9zaXhfdHJhY2VfZmx1c2gKK3Bvc2l4X3RyYWNlX2dldF9hdHRyCitwb3NpeF90cmFjZV9nZXRfZmlsdGVyCitwb3NpeF90cmFjZV9nZXRuZXh0X2V2ZW50Citwb3NpeF90cmFjZV9nZXRfc3RhdHVzCitwb3NpeF90cmFjZV9vcGVuCitwb3NpeF90cmFjZV9yZXdpbmQKK3Bvc2l4X3RyYWNlX3NldF9maWx0ZXIKK3Bvc2l4X3RyYWNlX3NodXRkb3duCitwb3NpeF90cmFjZV9zdGFydAorcG9zaXhfdHJhY2Vfc3RvcAorcG9zaXhfdHJhY2VfdGltZWRnZXRuZXh0X2V2ZW50Citwb3NpeF90cmFjZV90cmlkX2V2ZW50aWRfb3BlbgorcG9zaXhfdHJhY2VfdHJ5Z2V0bmV4dF9ldmVudAorcG9zaXhfdHlwZWRfbWVtX2dldF9pbmZvCitwb3NpeF90eXBlZF9tZW1fb3BlbgorcG93ZgorcG93Citwb3dsCitwcmVhZAorcHJpbnRmCitwc2VsZWN0Citwc2lnaW5mbworcHNpZ25hbAorcHRocmVhZF9hdGZvcmsKK3B0aHJlYWRfYXR0cl9kZXN0cm95CitwdGhyZWFkX2F0dHJfZ2V0ZGV0YWNoc3RhdGUKK3B0aHJlYWRfYXR0cl9nZXRndWFyZHNpemUKK3B0aHJlYWRfYXR0cl9nZXRpbmhlcml0c2NoZWQKK3B0aHJlYWRfYXR0cl9nZXRzY2hlZHBhcmFtCitwdGhyZWFkX2F0dHJfZ2V0c2NoZWRwb2xpY3kKK3B0aHJlYWRfYXR0cl9nZXRzY29wZQorcHRocmVhZF9hdHRyX2dldHN0YWNrCitwdGhyZWFkX2F0dHJfZ2V0c3RhY2tzaXplCitwdGhyZWFkX2F0dHJfaW5pdAorcHRocmVhZF9hdHRyX3NldGRldGFjaHN0YXRlCitwdGhyZWFkX2F0dHJfc2V0Z3VhcmRzaXplCitwdGhyZWFkX2F0dHJfc2V0aW5oZXJpdHNjaGVkCitwdGhyZWFkX2F0dHJfc2V0c2NoZWRwYXJhbQorcHRocmVhZF9hdHRyX3NldHNjaGVkcG9saWN5CitwdGhyZWFkX2F0dHJfc2V0c2NvcGUKK3B0aHJlYWRfYXR0cl9zZXRzdGFjaworcHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZQorcHRocmVhZF9iYXJyaWVyYXR0cl9kZXN0cm95CitwdGhyZWFkX2JhcnJpZXJhdHRyX2dldHBzaGFyZWQKK3B0aHJlYWRfYmFycmllcmF0dHJfaW5pdAorcHRocmVhZF9iYXJyaWVyYXR0cl9zZXRwc2hhcmVkCitwdGhyZWFkX2JhcnJpZXJfZGVzdHJveQorcHRocmVhZF9iYXJyaWVyX2luaXQKK3B0aHJlYWRfYmFycmllcl93YWl0CitwdGhyZWFkX2NhbmNlbAorcHRocmVhZF9jbGVhbnVwX3BvcAorcHRocmVhZF9jbGVhbnVwX3B1c2gKK3B0aHJlYWRfY29uZGF0dHJfZGVzdHJveQorcHRocmVhZF9jb25kYXR0cl9nZXRjbG9jaworcHRocmVhZF9jb25kYXR0cl9nZXRwc2hhcmVkCitwdGhyZWFkX2NvbmRhdHRyX2luaXQKK3B0aHJlYWRfY29uZGF0dHJfc2V0Y2xvY2sKK3B0aHJlYWRfY29uZGF0dHJfc2V0cHNoYXJlZAorcHRocmVhZF9jb25kX2Jyb2FkY2FzdAorcHRocmVhZF9jb25kX2Rlc3Ryb3kKK3B0aHJlYWRfY29uZF9pbml0CitwdGhyZWFkX2NvbmRfc2lnbmFsCitwdGhyZWFkX2NvbmRfdGltZWR3YWl0CitwdGhyZWFkX2NvbmRfd2FpdAorcHRocmVhZF9jcmVhdGUKK3B0aHJlYWRfZGV0YWNoCitwdGhyZWFkX2VxdWFsCitwdGhyZWFkX2V4aXQKK3B0aHJlYWRfZ2V0Y29uY3VycmVuY3kKK3B0aHJlYWRfZ2V0Y3B1Y2xvY2tpZAorcHRocmVhZF9nZXRzY2hlZHBhcmFtCitwdGhyZWFkX2dldHNwZWNpZmljCitwdGhyZWFkX2pvaW4KK3B0aHJlYWRfa2V5X2NyZWF0ZQorcHRocmVhZF9rZXlfZGVsZXRlCitwdGhyZWFkX2tpbGwKK3B0aHJlYWRfbXV0ZXhhdHRyX2Rlc3Ryb3kKK3B0aHJlYWRfbXV0ZXhhdHRyX2dldHByaW9jZWlsaW5nCitwdGhyZWFkX211dGV4YXR0cl9nZXRwcm90b2NvbAorcHRocmVhZF9tdXRleGF0dHJfZ2V0cHNoYXJlZAorcHRocmVhZF9tdXRleGF0dHJfZ2V0cm9idXN0CitwdGhyZWFkX211dGV4YXR0cl9nZXR0eXBlCitwdGhyZWFkX211dGV4YXR0cl9pbml0CitwdGhyZWFkX211dGV4YXR0cl9zZXRwcmlvY2VpbGluZworcHRocmVhZF9tdXRleGF0dHJfc2V0cHJvdG9jb2wKK3B0aHJlYWRfbXV0ZXhhdHRyX3NldHBzaGFyZWQKK3B0aHJlYWRfbXV0ZXhhdHRyX3NldHJvYnVzdAorcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZQorcHRocmVhZF9tdXRleF9jb25zaXN0ZW50CitwdGhyZWFkX211dGV4X2Rlc3Ryb3kKK3B0aHJlYWRfbXV0ZXhfZ2V0cHJpb2NlaWxpbmcKK3B0aHJlYWRfbXV0ZXhfaW5pdAorcHRocmVhZF9tdXRleF9sb2NrCitwdGhyZWFkX211dGV4X3NldHByaW9jZWlsaW5nCitwdGhyZWFkX211dGV4X3RpbWVkbG9jaworcHRocmVhZF9tdXRleF90cnlsb2NrCitwdGhyZWFkX211dGV4X3VubG9jaworcHRocmVhZF9vbmNlCitwdGhyZWFkX3J3bG9ja2F0dHJfZGVzdHJveQorcHRocmVhZF9yd2xvY2thdHRyX2dldHBzaGFyZWQKK3B0aHJlYWRfcndsb2NrYXR0cl9pbml0CitwdGhyZWFkX3J3bG9ja2F0dHJfc2V0cHNoYXJlZAorcHRocmVhZF9yd2xvY2tfZGVzdHJveQorcHRocmVhZF9yd2xvY2tfaW5pdAorcHRocmVhZF9yd2xvY2tfcmRsb2NrCitwdGhyZWFkX3J3bG9ja190aW1lZHJkbG9jaworcHRocmVhZF9yd2xvY2tfdGltZWR3cmxvY2sKK3B0aHJlYWRfcndsb2NrX3RyeXJkbG9jaworcHRocmVhZF9yd2xvY2tfdHJ5d3Jsb2NrCitwdGhyZWFkX3J3bG9ja191bmxvY2sKK3B0aHJlYWRfcndsb2NrX3dybG9jaworcHRocmVhZF9zZWxmCitwdGhyZWFkX3NldGNhbmNlbHN0YXRlCitwdGhyZWFkX3NldGNhbmNlbHR5cGUKK3B0aHJlYWRfc2V0Y29uY3VycmVuY3kKK3B0aHJlYWRfc2V0c2NoZWRwYXJhbQorcHRocmVhZF9zZXRzY2hlZHByaW8KK3B0aHJlYWRfc2V0c3BlY2lmaWMKK3B0aHJlYWRfc2lnbWFzaworcHRocmVhZF9zcGluX2Rlc3Ryb3kKK3B0aHJlYWRfc3Bpbl9pbml0CitwdGhyZWFkX3NwaW5fbG9jaworcHRocmVhZF9zcGluX3RyeWxvY2sKK3B0aHJlYWRfc3Bpbl91bmxvY2sKK3B0aHJlYWRfdGVzdGNhbmNlbAorcHRzbmFtZQorcHV0Y2hhcgorcHV0Y2hhcl91bmxvY2tlZAorcHV0YworcHV0Y191bmxvY2tlZAorcHV0ZW52CitwdXRtc2cKK3B1dHBtc2cKK3B1dHMKK3B1dHV0eGxpbmUKK3B1dHdjaGFyCitwdXR3YworcHdyaXRlCitxc29ydAorcmFpc2UKK3JhbmQKK3JhbmRvbQorcmFuZF9yCityZWFkZGlyCityZWFkZGlyX3IKK3JlYWQKK3JlYWRsaW5rYXQKK3JlYWRsaW5rCityZWFkdgorcmVhbGxvYworcmVhbHBhdGgKK3JlY3Zmcm9tCityZWN2CityZWN2bXNnCityZWdjb21wCityZWdlcnJvcgorcmVnZXhlYworcmVnZnJlZQorcmVtYWluZGVyZgorcmVtYWluZGVyCityZW1haW5kZXJsCityZW1vdmUKK3JlbXF1ZQorcmVtcXVvZgorcmVtcXVvCityZW1xdW9sCityZW5hbWVhdAorcmVuYW1lCityZXdpbmRkaXIKK3Jld2luZAorcmludGYKK3JpbnQKK3JpbnRsCitybWRpcgorcm91bmRmCityb3VuZAorcm91bmRsCitzY2FsYmxuZgorc2NhbGJsbgorc2NhbGJsbmwKK3NjYWxibmYKK3NjYWxibgorc2NhbGJubAorc2NhbmRpcgorc2NhbmYKK3NjaGVkX2dldHBhcmFtCitzY2hlZF9nZXRfcHJpb3JpdHlfbWF4CitzY2hlZF9nZXRfcHJpb3JpdHlfbWluCitzY2hlZF9nZXRzY2hlZHVsZXIKK3NjaGVkX3JyX2dldF9pbnRlcnZhbAorc2NoZWRfc2V0cGFyYW0KK3NjaGVkX3NldHNjaGVkdWxlcgorc2NoZWRfeWllbGQKK3NlZWQ0OAorc2Vla2Rpcgorc2VsZWN0CitzZW1fY2xvc2UKK3NlbWN0bAorc2VtX2Rlc3Ryb3kKK3NlbWdldAorc2VtX2dldHZhbHVlCitzZW1faW5pdAorc2VtX29wZW4KK3NlbW9wCitzZW1fcG9zdAorc2VtX3RpbWVkd2FpdAorc2VtX3RyeXdhaXQKK3NlbV91bmxpbmsKK3NlbV93YWl0CitzZW5kCitzZW5kbXNnCitzZW5kdG8KK3NldGJ1Zgorc2V0ZWdpZAorc2V0ZW52CitzZXRldWlkCitzZXRnaWQKK3NldGdyZW50CitzZXRob3N0ZW50CitzZXRpdGltZXIKK3NldGptcAorc2V0a2V5CitzZXRsb2NhbGUKK3NldGxvZ21hc2sKK3NldG5ldGVudAorc2V0cGdpZAorc2V0cGdycAorc2V0cHJpb3JpdHkKK3NldHByb3RvZW50CitzZXRwd2VudAorc2V0cmVnaWQKK3NldHJldWlkCitzZXRybGltaXQKK3NldHNlcnZlbnQKK3NldHNpZAorc2V0c29ja29wdAorc2V0c3RhdGUKK3NldHVpZAorc2V0dXR4ZW50CitzZXR2YnVmCitzaG1hdAorc2htY3RsCitzaG1kdAorc2htZ2V0CitzaG1fb3Blbgorc2htX3VubGluaworc2h1dGRvd24KK3NpZ2FjdGlvbgorc2lnYWRkc2V0CitzaWdhbHRzdGFjaworc2lnZGVsc2V0CitzaWdlbXB0eXNldAorc2lnZmlsbHNldAorc2lnaG9sZAorc2lnaWdub3JlCitzaWdpbnRlcnJ1cHQKK3NpZ2lzbWVtYmVyCitzaWdsb25nam1wCitzaWduYWwKK3NpZ25iaXQKK3NpZ25nYW0KK3NpZ3BhdXNlCitzaWdwZW5kaW5nCitzaWdwcm9jbWFzaworc2lncXVldWUKK3NpZ3JlbHNlCitzaWdzZXQKK3NpZ3NldGptcAorc2lnc3VzcGVuZAorc2lndGltZWR3YWl0CitzaWd3YWl0CitzaWd3YWl0aW5mbworc2luZgorc2luaGYKK3NpbmgKK3NpbmhsCitzaW4KK3NpbmwKK3NsZWVwCitzbnByaW50Zgorc29ja2F0bWFyaworc29ja2V0Citzb2NrZXRwYWlyCitzcHJpbnRmCitzcXJ0Zgorc3FydAorc3FydGwKK3NyYW5kNDgKK3NyYW5kCitzcmFuZG9tCitzc2NhbmYKK3N0YXQKK3N0YXR2ZnMKK3N0ZGVycgorc3RkaW4KK3N0ZG91dAorc3RwY3B5CitzdHBuY3B5CitzdHJjYXNlY21wCitzdHJjYXNlY21wX2wKK3N0cmNhdAorc3RyY2hyCitzdHJjbXAKK3N0cmNvbGwKK3N0cmNvbGxfbAorc3RyY3B5CitzdHJjc3BuCitzdHJkdXAKK3N0cmVycm9yCitzdHJlcnJvcl9sCitzdHJlcnJvcl9yCitzdHJmbW9uCitzdHJmbW9uX2wKK3N0cmZ0aW1lCitzdHJmdGltZV9sCitzdHJsZW4KK3N0cm5jYXNlY21wCitzdHJuY2FzZWNtcF9sCitzdHJuY2F0CitzdHJuY21wCitzdHJuY3B5CitzdHJuZHVwCitzdHJubGVuCitzdHJwYnJrCitzdHJwdGltZQorc3RycmNocgorc3Ryc2lnbmFsCitzdHJzcG4KK3N0cnN0cgorc3RydG9kCitzdHJ0b2YKK3N0cnRvaW1heAorc3RydG9rCitzdHJ0b2tfcgorc3RydG9sZAorc3RydG9sCitzdHJ0b2xsCitzdHJ0b3VsCitzdHJ0b3VsbAorc3RydG91bWF4CitzdHJ4ZnJtCitzdHJ4ZnJtX2wKK3N3YWIKK3N3cHJpbnRmCitzd3NjYW5mCitzeW1saW5rYXQKK3N5bWxpbmsKK3N5bmMKK3N5c2NvbmYKK3N5c2xvZworc3lzdGVtCit0YW5mCit0YW5oZgordGFuaAordGFuaGwKK3RhbgordGFubAordGNkcmFpbgordGNmbG93Cit0Y2ZsdXNoCit0Y2dldGF0dHIKK3RjZ2V0cGdycAordGNnZXRzaWQKK3Rjc2VuZGJyZWFrCit0Y3NldGF0dHIKK3Rjc2V0cGdycAordGRlbGV0ZQordGVsbGRpcgordGVtcG5hbQordGZpbmQKK3RnYW1tYWYKK3RnYW1tYQordGdhbW1hbAordGltZQordGltZXJfY3JlYXRlCit0aW1lcl9kZWxldGUKK3RpbWVyX2dldG92ZXJydW4KK3RpbWVyX2dldHRpbWUKK3RpbWVyX3NldHRpbWUKK3RpbWVzCit0aW1lem9uZQordG1wZmlsZQordG1wbmFtCit0b2FzY2lpCit0b2xvd2VyCit0b2xvd2VyX2wKK3RvdXBwZXIKK3RvdXBwZXJfbAordG93Y3RyYW5zCit0b3djdHJhbnNfbAordG93bG93ZXIKK3Rvd2xvd2VyX2wKK3Rvd3VwcGVyCit0b3d1cHBlcl9sCit0cnVuY2F0ZQordHJ1bmNmCit0cnVuYwordHJ1bmNsCit0c2VhcmNoCit0dHluYW1lCit0dHluYW1lX3IKK3R3YWxrCit0em5hbWUKK3R6c2V0Cit1bGltaXQKK3VtYXNrCit1bmFtZQordW5nZXRjCit1bmdldHdjCit1bmxpbmthdAordW5saW5rCit1bmxvY2twdAordW5zZXRlbnYKK3VzZWxvY2FsZQordXRpbWUKK3V0aW1lbnNhdAordXRpbWVzCit2YV9hcmcKK3ZhX2NvcHkKK3ZhX2VuZAordmFfc3RhcnQKK3ZkcHJpbnRmCit2ZnByaW50ZgordmZzY2FuZgordmZ3cHJpbnRmCit2ZndzY2FuZgordnByaW50ZgordnNjYW5mCit2c25wcmludGYKK3ZzcHJpbnRmCit2c3NjYW5mCit2c3dwcmludGYKK3Zzd3NjYW5mCit2d3ByaW50ZgordndzY2FuZgord2FpdAord2FpdGlkCit3YWl0cGlkCit3Y3BjcHkKK3djcG5jcHkKK3djcnRvbWIKK3djc2Nhc2VjbXAKK3djc2Nhc2VjbXBfbAord2NzY2F0Cit3Y3NjaHIKK3djc2NtcAord2NzY29sbAord2NzY29sbF9sCit3Y3NjcHkKK3djc2NzcG4KK3djc2R1cAord2NzZnRpbWUKK3djc2xlbgord2NzbmNhc2VjbXAKK3djc25jYXNlY21wX2wKK3djc25jYXQKK3djc25jbXAKK3djc25jcHkKK3djc25sZW4KK3djc25ydG9tYnMKK3djc3BicmsKK3djc3JjaHIKK3djc3J0b21icword2Nzc3BuCit3Y3NzdHIKK3djc3RvZAord2NzdG9mCit3Y3N0b2ltYXgKK3djc3Rvaword2NzdG9sZAord2NzdG9sCit3Y3N0b2xsCit3Y3N0b21icword2NzdG91bAord2NzdG91bGwKK3djc3RvdW1heAord2Nzd2lkdGgKK3djc3hmcm0KK3djc3hmcm1fbAord2N0b2IKK3djdG9tYgord2N0cmFucword2N0cmFuc19sCit3Y3R5cGUKK3djdHlwZV9sCit3Y3dpZHRoCit3bWVtY2hyCit3bWVtY21wCit3bWVtY3B5Cit3bWVtbW92ZQord21lbXNldAord29yZGV4cAord29yZGZyZWUKK3dwcmludGYKK3dyaXRlCit3cml0ZXYKK3dzY2FuZgoreTAKK3kxCit5bgpkaWZmIC0tZ2l0IGEvbGliYy90b29scy9zeW1ib2xzLnB5IGIvbGliYy90b29scy9zeW1ib2xzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNDBhYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL3Rvb2xzL3N5bWJvbHMucHkKQEAgLTAsMCArMSw5MCBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKK2ltcG9ydCBnbG9iCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN1YnByb2Nlc3MKKworCitkZWYgR2V0RnJvbVR4dCh0eHRfZmlsZSk6CisgICAgc3ltYm9scyA9IHNldCgpCisgICAgZiA9IG9wZW4odHh0X2ZpbGUsICdyJykKKyAgICBmb3IgbGluZSBpbiBmLnJlYWQoKS5zcGxpdGxpbmVzKCk6CisgICAgICAgIHN5bWJvbHMuYWRkKGxpbmUpCisgICAgZi5jbG9zZSgpCisgICAgcmV0dXJuIHN5bWJvbHMKKworCitkZWYgR2V0RnJvbUVsZihlbGZfZmlsZSwgc3ltX3R5cGU9Jy0tZHluLXN5bXMnKToKKyAgICAjIHB5bGludDogZGlzYWJsZT1saW5lLXRvby1sb25nCisgICAgIyBFeGFtcGxlIHJlYWRlbGYgb3V0cHV0OgorICAgICMgICAgIDI2NDogMDAwMTYyM2MgICAgICAgICA0IEZVTkMgICAgICAgIEdMT0JBTCBERUZBVUxUICAgICAgICA4IGNhYnNmCisgICAgIyAgICAgMjY2OiAwMDAxNjI0NCAgICAgICAgIDQgRlVOQyAgICAgICAgR0xPQkFMIERFRkFVTFQgICAgICAgIDggZHJlbWYKKyAgICAjICAgICAyNjc6IDAwMDE5MDE4ICAgICAgICAgNCBPQkpFQ1QgICAgR0xPQkFMIERFRkFVTFQgICAgIDExIF9fZmVfZGZsX2VudgorICAgICMgICAgIDI2ODogMDAwMDAwMDAgICAgICAgICAwIEZVTkMgICAgICAgIEdMT0JBTCBERUZBVUxUICAgIFVORCBfX2FlYWJpX2RjbXBsdAorCisgICAgciA9IHJlLmNvbXBpbGUoCisgICAgICAgIHInICtcZCs6IFswLTlhLWZdKyArXGQrIChJP0ZVTkN8T0JKRUNUKSArXFMrICtcUysgK1xkKyAoXFMrKScpCisKKyAgICBzeW1ib2xzID0gc2V0KCkKKworICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsncmVhZGVsZicsIHN5bV90eXBlLCAnLVcnLCBlbGZfZmlsZV0pCisgICAgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0KCdcbicpOgorICAgICAgICBpZiAnIEhJRERFTiAnIGluIGxpbmUgb3IgJyBVTkQgJyBpbiBsaW5lOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgbSA9IHIubWF0Y2gobGluZSkKKyAgICAgICAgaWYgbToKKyAgICAgICAgICAgIHN5bWJvbCA9IG0uZ3JvdXAoMikKKyAgICAgICAgICAgIHN5bWJvbCA9IHJlLnN1YignQC4qJywgJycsIHN5bWJvbCkKKyAgICAgICAgICAgIHN5bWJvbHMuYWRkKHN5bWJvbCkKKworICAgIHJldHVybiBzeW1ib2xzCisKKworZGVmIEdldEZyb21BbmRyb2lkU3RhdGljTGliKGZpbGVzKToKKyAgICBvdXRfZGlyID0gb3MuZW52aXJvblsnQU5EUk9JRF9QUk9EVUNUX09VVCddCisgICAgbGliX2RpciA9IG9zLnBhdGguam9pbihvdXRfZGlyLCAnb2JqJykKKworICAgIHJlc3VsdHMgPSBzZXQoKQorICAgIGZvciBmIGluIGZpbGVzOgorICAgICAgICBzdGF0aWNfbGliX2RpciA9IG9zLnBhdGguam9pbigKKyAgICAgICAgICAgIGxpYl9kaXIsCisgICAgICAgICAgICAnU1RBVElDX0xJQlJBUklFUycsCisgICAgICAgICAgICAne31faW50ZXJtZWRpYXRlcycuZm9ybWF0KG9zLnBhdGguc3BsaXRleHQoZilbMF0pKQorICAgICAgICByZXN1bHRzIHw9IEdldEZyb21FbGYoCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3RhdGljX2xpYl9kaXIsIGYpLAorICAgICAgICAgICAgc3ltX3R5cGU9Jy0tc3ltcycpCisgICAgcmV0dXJuIHJlc3VsdHMKKworCitkZWYgR2V0RnJvbUFuZHJvaWRTbyhmaWxlcyk6CisgICAgb3V0X2RpciA9IG9zLmVudmlyb25bJ0FORFJPSURfUFJPRFVDVF9PVVQnXQorICAgIGxpYl9kaXIgPSBvcy5wYXRoLmpvaW4ob3V0X2RpciwgJ3N5c3RlbS9saWI2NCcpCisgICAgaWYgbm90IG9zLnBhdGguaXNkaXIobGliX2Rpcik6CisgICAgICAgIGxpYl9kaXIgPSBvcy5wYXRoLmpvaW4ob3V0X2RpciwgJ3N5c3RlbS9saWInKQorCisgICAgcmVzdWx0cyA9IHNldCgpCisgICAgZm9yIGYgaW4gZmlsZXM6CisgICAgICAgIHJlc3VsdHMgfD0gR2V0RnJvbUVsZihvcy5wYXRoLmpvaW4obGliX2RpciwgZikpCisgICAgcmV0dXJuIHJlc3VsdHMKKworCitkZWYgR2V0RnJvbVN5c3RlbVNvKGZpbGVzKToKKyAgICBsaWJfZGlyID0gJy9saWIveDg2XzY0LWxpbnV4LWdudScKKyAgICByZXN1bHRzID0gc2V0KCkKKyAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgcmVzdWx0cyB8PSBHZXRGcm9tRWxmKGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4obGliX2RpciwgZikpWy0xXSkKKyAgICByZXR1cm4gcmVzdWx0cwpkaWZmIC0tZ2l0IGEvbGliYy90b29scy96b25laW5mby91cGRhdGUtdHpkYXRhLnB5IGIvbGliYy90b29scy96b25laW5mby91cGRhdGUtdHpkYXRhLnB5CmluZGV4IDQ4NDczNTYuLjY4YTVmZjUgMTAwNzU1Ci0tLSBhL2xpYmMvdG9vbHMvem9uZWluZm8vdXBkYXRlLXR6ZGF0YS5weQorKysgYi9saWJjL3Rvb2xzL3pvbmVpbmZvL3VwZGF0ZS10emRhdGEucHkKQEAgLTMzLDkgKzMzLDEyIEBACiBDaGVja0RpckV4aXN0cyhiaW9uaWNfbGliY190b29sc196b25laW5mb19kaXIsICdiaW9uaWMvbGliYy90b29scy96b25laW5mbycpCiBwcmludCAnRm91bmQgYmlvbmljIGluICVzIC4uLicgJSBiaW9uaWNfZGlyCiAKLSMgRmluZCB0aGUgaWN1NGMgZGlyZWN0b3J5LgotaWN1X2RpciA9IG9zLnBhdGgucmVhbHBhdGgoJyVzLy4uL2V4dGVybmFsL2ljdS9pY3U0Yy9zb3VyY2UnICUgYmlvbmljX2RpcikKLUNoZWNrRGlyRXhpc3RzKGljdV9kaXIsICdleHRlcm5hbC9pY3UvaWN1NGMvc291cmNlJykKKyMgRmluZCB0aGUgaWN1IGRpcmVjdG9yeS4KK2ljdV9kaXIgPSBvcy5wYXRoLnJlYWxwYXRoKCclcy8uLi9leHRlcm5hbC9pY3UnICUgYmlvbmljX2RpcikKK2ljdTRjX2RpciA9IG9zLnBhdGgucmVhbHBhdGgoJyVzL2ljdTRjL3NvdXJjZScgJSBpY3VfZGlyKQoraWN1NGpfZGlyID0gb3MucGF0aC5yZWFscGF0aCgnJXMvaWN1NGonICUgaWN1X2RpcikKK0NoZWNrRGlyRXhpc3RzKGljdTRjX2RpciwgJ2V4dGVybmFsL2ljdS9pY3U0Yy9zb3VyY2UnKQorQ2hlY2tEaXJFeGlzdHMoaWN1NGpfZGlyLCAnZXh0ZXJuYWwvaWN1L2ljdTRqJykKIHByaW50ICdGb3VuZCBpY3UgaW4gJXMgLi4uJyAlIGljdV9kaXIKIAogCkBAIC0xMTYsMTQgKzExOSwxNCBAQAogCiAgICMgQnVpbGQgdGhlIElDVSB0b29scy4KICAgcHJpbnQgJ0NvbmZpZ3VyaW5nIElDVSB0b29scy4uLicKLSAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsnJXMvcnVuQ29uZmlndXJlSUNVJyAlIGljdV9kaXIsICdMaW51eCddKQorICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyclcy9ydW5Db25maWd1cmVJQ1UnICUgaWN1NGNfZGlyLCAnTGludXgnXSkKIAogICAjIFJ1biB0aGUgSUNVIHRvb2xzLgogICBvcy5jaGRpcigndG9vbHMvdHpjb2RlJykKIAogICAjIFRoZSB0ejJpY3UgdG9vbCBvbmx5IHBpY2tzIHVwIGljdXJlZ2lvbnMgYW5kIGljdXpvbmVzIGluIHRoZXkgYXJlIGluIHRoZSBDV0QKICAgZm9yIGljdV9kYXRhX2ZpbGUgaW4gWyAnaWN1cmVnaW9ucycsICdpY3V6b25lcyddOgotICAgIGljdV9kYXRhX2ZpbGVfc291cmNlID0gJyVzL3Rvb2xzL3R6Y29kZS8lcycgJSAoaWN1X2RpciwgaWN1X2RhdGFfZmlsZSkKKyAgICBpY3VfZGF0YV9maWxlX3NvdXJjZSA9ICclcy90b29scy90emNvZGUvJXMnICUgKGljdTRjX2RpciwgaWN1X2RhdGFfZmlsZSkKICAgICBpY3VfZGF0YV9maWxlX3N5bWxpbmsgPSAnLi8lcycgJSBpY3VfZGF0YV9maWxlCiAgICAgb3Muc3ltbGluayhpY3VfZGF0YV9maWxlX3NvdXJjZSwgaWN1X2RhdGFfZmlsZV9zeW1saW5rKQogCkBAIC0xMzQsMTYgKzEzNywxNiBAQAogICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWydtYWtlJ10pCiAKICAgIyBDb3B5IHRoZSBzb3VyY2UgZmlsZSB0byBpdHMgdWx0aW1hdGUgZGVzdGluYXRpb24uCi0gIGljdV90eHRfZGF0YV9kaXIgPSAnJXMvZGF0YS9taXNjJyAlIGljdV9kaXIKKyAgaWN1X3R4dF9kYXRhX2RpciA9ICclcy9kYXRhL21pc2MnICUgaWN1NGNfZGlyCiAgIHByaW50ICdDb3B5aW5nIHpvbmVpbmZvNjQudHh0IHRvICVzIC4uLicgJSBpY3VfdHh0X2RhdGFfZGlyCiAgIHNodXRpbC5jb3B5KCd6b25laW5mbzY0LnR4dCcsIGljdV90eHRfZGF0YV9kaXIpCiAKICAgIyBSZWdlbmVyYXRlIHRoZSAuZGF0IGZpbGUuCiAgIG9zLmNoZGlyKGljdV93b3JraW5nX2RpcikKLSAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsnbWFrZScsICctajMyJ10pCisgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbJ21ha2UnLCAnSU5DTFVERV9VTklfQ09SRV9EQVRBPTEnLCAnLWozMiddKQogCiAgICMgQ29weSB0aGUgLmRhdCBmaWxlIHRvIGl0cyB1bHRpbWF0ZSBkZXN0aW5hdGlvbi4KLSAgaWN1X2RhdF9kYXRhX2RpciA9ICclcy9zdHViZGF0YScgJSBpY3VfZGlyCisgIGljdV9kYXRfZGF0YV9kaXIgPSAnJXMvc3R1YmRhdGEnICUgaWN1NGNfZGlyCiAgIGRhdGZpbGVzID0gZ2xvYi5nbG9iKCdkYXRhL291dC90bXAvaWN1ZHQ/P2wuZGF0JykKICAgaWYgbGVuKGRhdGZpbGVzKSAhPSAxOgogICAgIHByaW50ICdFUlJPUjogVW5leHBlY3RlZGx5IGZvdW5kICVkIC5kYXQgZmlsZXMgKCVzKS4gSGFsdGluZy4nICUgKGxlbihkYXRmaWxlcyksIGRhdGZpbGVzKQpAQCAtMTUyLDYgKzE1NSwyMCBAQAogICBwcmludCAnQ29weWluZyAlcyB0byAlcyAuLi4nICUgKGRhdGZpbGUsIGljdV9kYXRfZGF0YV9kaXIpCiAgIHNodXRpbC5jb3B5KGRhdGZpbGUsIGljdV9kYXRfZGF0YV9kaXIpCiAKKyAgIyBHZW5lcmF0ZSB0aGUgSUNVNEogLmphciBmaWxlcworICBvcy5jaGRpcignJXMvZGF0YScgJSBpY3Vfd29ya2luZ19kaXIpCisgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbJ21ha2UnLCAnaWN1NGotZGF0YSddKQorCisgICMgQ29weSB0aGUgSUNVNEogLmphciBmaWxlcyB0byB0aGVpciB1bHRpbWF0ZSBkZXN0aW5hdGlvbi4KKyAgaWN1X2phcl9kYXRhX2RpciA9ICclcy9tYWluL3NoYXJlZC9kYXRhJyAlIGljdTRqX2RpcgorICBqYXJmaWxlcyA9IGdsb2IuZ2xvYignb3V0L2ljdTRqLyouamFyJykKKyAgaWYgbGVuKGphcmZpbGVzKSAhPSAyOgorICAgIHByaW50ICdFUlJPUjogVW5leHBlY3RlZGx5IGZvdW5kICVkIC5qYXIgZmlsZXMgKCVzKS4gSGFsdGluZy4nICUgKGxlbihqYXJmaWxlcyksIGphcmZpbGVzKQorICAgIHN5cy5leGl0KDEpCisgIGZvciBqYXJmaWxlIGluIGphcmZpbGVzOgorICAgIHByaW50ICdDb3B5aW5nICVzIHRvICVzIC4uLicgJSAoamFyZmlsZSwgaWN1X2phcl9kYXRhX2RpcikKKyAgICBzaHV0aWwuY29weShqYXJmaWxlLCBpY3VfamFyX2RhdGFfZGlyKQorCiAgICMgU3dpdGNoIGJhY2sgdG8gdGhlIG9yaWdpbmFsIHdvcmtpbmcgY3dkLgogICBvcy5jaGRpcihvcmlnaW5hbF93b3JraW5nX2RpcikKIApkaWZmIC0tZ2l0IGEvbGliYy90emNvZGUvYXNjdGltZS5jIGIvbGliYy90emNvZGUvYXNjdGltZS5jCmluZGV4IDE1MmIwZGIuLmZlYTI0ZTQgMTAwNjQ0Ci0tLSBhL2xpYmMvdHpjb2RlL2FzY3RpbWUuYworKysgYi9saWJjL3R6Y29kZS9hc2N0aW1lLmMKQEAgLTEwMyw3ICsxMDMsNyBAQAogCS8qCiAJKiogV2UgYXZvaWQgdXNpbmcgc25wcmludGYgc2luY2UgaXQncyBub3QgYXZhaWxhYmxlIG9uIGFsbCBzeXN0ZW1zLgogCSovCi0JKHZvaWQpIHNwcmludGYocmVzdWx0LAorCSh2b2lkKSBzbnByaW50ZihyZXN1bHQsIHNpemVvZihyZXN1bHQpLCAvKiBBbmRyb2lkIGNoYW5nZTogdXNlIHNucHJpbnRmLiAqLwogCQkoKHN0cmxlbih5ZWFyKSA8PSA0KSA/IEFTQ1RJTUVfRk1UIDogQVNDVElNRV9GTVRfQiksCiAJCXduLCBtbiwKIAkJdGltZXB0ci0+dG1fbWRheSwgdGltZXB0ci0+dG1faG91ciwKZGlmZiAtLWdpdCBhL2xpYmMvdHpjb2RlL2xvY2FsdGltZS5jIGIvbGliYy90emNvZGUvbG9jYWx0aW1lLmMKaW5kZXggMjhkMTNmNC4uYmYwOWM1ZSAxMDA2NDQKLS0tIGEvbGliYy90emNvZGUvbG9jYWx0aW1lLmMKKysrIGIvbGliYy90emNvZGUvbG9jYWx0aW1lLmMKQEAgLTEyNTcsNiArMTI1Nyw3IEBACiAgICAgICAgIGxjbHB0ci0+dHRpc1swXS50dF9nbXRvZmYgPSAwOwogICAgICAgICBsY2xwdHItPnR0aXNbMF0udHRfYWJicmluZCA9IDA7CiAgICAgICAgICh2b2lkKSBzdHJjcHkobGNscHRyLT5jaGFycywgZ210KTsKKyAgICAgICAgbGNscHRyLT5kZWZhdWx0dHlwZSA9IDA7CiAgICAgfSBlbHNlIGlmICh0emxvYWQobmFtZSwgbGNscHRyLCBUUlVFKSAhPSAwKQogICAgICAgICBpZiAobmFtZVswXSA9PSAnOicgfHwgdHpwYXJzZShuYW1lLCBsY2xwdHIsIEZBTFNFKSAhPSAwKQogICAgICAgICAgICAgKHZvaWQpIGdtdGxvYWQobGNscHRyKTsKQEAgLTIyNTIsMTEgKzIyNTMsMTQgQEAKIH0KIAogc3RhdGljIGludCBfX2Jpb25pY19vcGVuX3R6ZGF0YShjb25zdCBjaGFyKiBvbHNvbl9pZCwgaW50KiBkYXRhX3NpemUpIHsKLSAgaW50IGZkID0gX19iaW9uaWNfb3Blbl90emRhdGFfcGF0aCgiQU5EUk9JRF9ST09UIiwgIi91c3Ivc2hhcmUvem9uZWluZm8vdHpkYXRhIiwgb2xzb25faWQsIGRhdGFfc2l6ZSk7Ci0gIGlmIChmZCA9PSAtMikgewotICAgIC8vIFRoZSBmaXJzdCB0aGluZyB0aGF0ICdyZWNvdmVyeScgZG9lcyBpcyB0cnkgdG8gZm9ybWF0IHRoZSBjdXJyZW50IHRpbWUuIEl0IGRvZXNuJ3QgaGF2ZQotICAgIC8vIGFueSB0emRhdGEgYXZhaWxhYmxlLCBzbyB3ZSBtdXN0IG5vdCBhYm9ydCBoZXJlIC0tLSBkb2luZyBzbyBicmVha3MgdGhlIHJlY292ZXJ5IGltYWdlIQotICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IGNvdWxkbid0IGZpbmQgYW55IHR6ZGF0YSB3aGVuIGxvb2tpbmcgZm9yICVzIVxuIiwgX19GVU5DVElPTl9fLCBvbHNvbl9pZCk7CisgIGludCBmZCA9IF9fYmlvbmljX29wZW5fdHpkYXRhX3BhdGgoIkFORFJPSURfREFUQSIsICIvbWlzYy96b25laW5mby9jdXJyZW50L3R6ZGF0YSIsIG9sc29uX2lkLCBkYXRhX3NpemUpOworICBpZiAoZmQgPCAwKSB7CisgICAgZmQgPSBfX2Jpb25pY19vcGVuX3R6ZGF0YV9wYXRoKCJBTkRST0lEX1JPT1QiLCAiL3Vzci9zaGFyZS96b25laW5mby90emRhdGEiLCBvbHNvbl9pZCwgZGF0YV9zaXplKTsKKyAgICBpZiAoZmQgPT0gLTIpIHsKKyAgICAgIC8vIFRoZSBmaXJzdCB0aGluZyB0aGF0ICdyZWNvdmVyeScgZG9lcyBpcyB0cnkgdG8gZm9ybWF0IHRoZSBjdXJyZW50IHRpbWUuIEl0IGRvZXNuJ3QgaGF2ZQorICAgICAgLy8gYW55IHR6ZGF0YSBhdmFpbGFibGUsIHNvIHdlIG11c3Qgbm90IGFib3J0IGhlcmUgLS0tIGRvaW5nIHNvIGJyZWFrcyB0aGUgcmVjb3ZlcnkgaW1hZ2UhCisgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiBjb3VsZG4ndCBmaW5kIGFueSB0emRhdGEgd2hlbiBsb29raW5nIGZvciAlcyFcbiIsIF9fRlVOQ1RJT05fXywgb2xzb25faWQpOworICAgIH0KICAgfQogICByZXR1cm4gZmQ7CiB9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLWZyZWVic2QvYW5kcm9pZC9pbmNsdWRlL2ZyZWVic2QtY29tcGF0LmggYi9saWJjL3Vwc3RyZWFtLWZyZWVic2QvYW5kcm9pZC9pbmNsdWRlL2ZyZWVic2QtY29tcGF0LmgKaW5kZXggZDVmMTQyNS4uN2FjZGY3YyAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1mcmVlYnNkL2FuZHJvaWQvaW5jbHVkZS9mcmVlYnNkLWNvbXBhdC5oCisrKyBiL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9hbmRyb2lkL2luY2x1ZGUvZnJlZWJzZC1jb21wYXQuaApAQCAtMTcsNyArMTcsNyBAQAogI2lmbmRlZiBfQklPTklDX0ZSRUVCU0RfQ09NUEFUX0hfaW5jbHVkZWQKICNkZWZpbmUgX0JJT05JQ19GUkVFQlNEX0NPTVBBVF9IX2luY2x1ZGVkCiAKLSNkZWZpbmUgX19VU0VfQlNECisjZGVmaW5lIF9CU0RfU09VUkNFCiAjZGVmaW5lIFJFUExBQ0VfR0VUT1BUCiAKIC8qCkBAIC0zOCwxNyArMzgsNiBAQAogI2RlZmluZSBfX3VzbGVlcCB1c2xlZXAKIAogLyogUmVkaXJlY3QgaW50ZXJuYWwgQyBsaWJyYXJ5IGNhbGxzIHRvIHRoZSBwdWJsaWMgZnVuY3Rpb24uICovCi0jZGVmaW5lIF9jbG9zZSBjbG9zZQotI2RlZmluZSBfZmNudGwgZmNudGwKLSNkZWZpbmUgX2ZzdGF0IGZzdGF0CiAjZGVmaW5lIF9uYW5vc2xlZXAgbmFub3NsZWVwCi0jZGVmaW5lIF9vcGVuIG9wZW4KLQotLyogVGhpcyBvbmUgaXMgb25seSBuZWVkZWQgYXMgbG9uZyBhcyB3ZSBoYXZlIGEgbWl4IG9mIE9wZW5CU0QgYW5kIEZyZWVCU0Qgc3RkaW8uICovCi0jZGVmaW5lIF9zc2VlayBfX3NzZWVrCi0KLS8qIFRoaXMgaXMgaW4gQlNEJ3MgPHN0ZGxpYi5oPi4gKi8KLSNpbmNsdWRlIDxzdGRpbnQuaD4KLWV4dGVybiB1aW50MzJfdCBhcmM0cmFuZG9tX3VuaWZvcm0odWludDMyX3QgdXBwZXJfYm91bmQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9hbmRyb2lkL2luY2x1ZGUvbGliY19wcml2YXRlLmggYi9saWJjL3Vwc3RyZWFtLWZyZWVic2QvYW5kcm9pZC9pbmNsdWRlL2xpYmNfcHJpdmF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmE2NDMzLi4wMDAwMDAwCi0tLSBhL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9hbmRyb2lkL2luY2x1ZGUvbGliY19wcml2YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2lmbmRlZiBfQklPTklDX0ZSRUVCU0RfTElCQ19QUklWQVRFX0hfaW5jbHVkZWQKLSNkZWZpbmUgX0JJT05JQ19GUkVFQlNEX0xJQkNfUFJJVkFURV9IX2luY2x1ZGVkCi0KLSNkZWZpbmUgU1RESU9fVEhSRUFEX0xPQ0soKSAgIC8qIFRPRE86IHVudGlsIHdlIGhhdmUgdGhlIEZyZWVCU0QgZmluZGZwLmMsIHRoaXMgaXMgdXNlbGVzcy4gKi8KLSNkZWZpbmUgU1RESU9fVEhSRUFEX1VOTE9DSygpIC8qIFRPRE86IHVudGlsIHdlIGhhdmUgdGhlIEZyZWVCU0QgZmluZGZwLmMsIHRoaXMgaXMgdXNlbGVzcy4gKi8KLQotI2RlZmluZSBPUklFTlQoZnAsIG8pIC8qIE9ubHkgbmVlZGVkIGZvciB3aWRlLWNoYXJhY3RlciBzdHJlYW0gc3VwcG9ydC4gKi8KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMgYi9saWJjL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZDhiMmMuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGlvL2ZjbG9zZS5jCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotLyotCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKLSAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKLSAqIENocmlzIFRvcmVrLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWYgZGVmaW5lZChMSUJDX1NDQ1MpICYmICFkZWZpbmVkKGxpbnQpCi1zdGF0aWMgY2hhciBzY2NzaWRbXSA9ICJAKCMpZmNsb3NlLmMJOC4xIChCZXJrZWxleSkgNi80LzkzIjsKLSNlbmRpZiAvKiBMSUJDX1NDQ1MgYW5kIG5vdCBsaW50ICovCi0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+Ci1fX0ZCU0RJRCgiJEZyZWVCU0QkIik7Ci0KLSNpbmNsdWRlICJuYW1lc3BhY2UuaCIKLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSAidW4tbmFtZXNwYWNlLmgiCi0jaW5jbHVkZSA8c3BpbmxvY2suaD4KLSNpbmNsdWRlICJsaWJjX3ByaXZhdGUuaCIKLSNpbmNsdWRlICJsb2NhbC5oIgotCi1pbnQKLWZjbG9zZShGSUxFICpmcCkKLXsKLQlpbnQgcjsKLQotCWlmIChmcC0+X2ZsYWdzID09IDApIHsJLyogbm90IG9wZW4hICovCi0JCWVycm5vID0gRUJBREY7Ci0JCXJldHVybiAoRU9GKTsKLQl9Ci0JRkxPQ0tGSUxFKGZwKTsKLQlyID0gZnAtPl9mbGFncyAmIF9fU1dSID8gX19zZmx1c2goZnApIDogMDsKLQlpZiAoZnAtPl9jbG9zZSAhPSBOVUxMICYmICgqZnAtPl9jbG9zZSkoZnAtPl9jb29raWUpIDwgMCkKLQkJciA9IEVPRjsKLQlpZiAoZnAtPl9mbGFncyAmIF9fU01CRikKLQkJZnJlZSgoY2hhciAqKWZwLT5fYmYuX2Jhc2UpOwotCWlmIChIQVNVQihmcCkpCi0JCUZSRUVVQihmcCk7Ci0JaWYgKEhBU0xCKGZwKSkKLQkJRlJFRUxCKGZwKTsKLQlmcC0+X2ZpbGUgPSAtMTsKLQlmcC0+X3IgPSBmcC0+X3cgPSAwOwkvKiBNZXNzIHVwIGlmIHJlYWNjZXNzZWQuICovCi0KLQkvKgotCSAqIExvY2sgdGhlIHNwaW5sb2NrIHVzZWQgdG8gcHJvdGVjdCBfX3NnbHVlIGxpc3Qgd2FsayBpbgotCSAqIF9fc2ZwKCkuICBUaGUgX19zZnAoKSB1c2VzIGZwLT5fZmxhZ3MgPT0gMCB0ZXN0IGFzIGFuCi0JICogaW5kaWNhdGlvbiBvZiB0aGUgdW51c2VkIEZJTEUuCi0JICoKLQkgKiBUYWtpbmcgdGhlIGxvY2sgcHJldmVudHMgcG9zc2libGUgY29tcGlsZXIgb3IgcHJvY2Vzc29yCi0JICogcmVvcmRlcmluZyBvZiB0aGUgd3JpdGVzIHBlcmZvcm1lZCBiZWZvcmUgdGhlIGZpbmFsIF9mbGFncwotCSAqIGNsZWFudXAsIG1ha2luZyBzdXJlIHRoYXQgd2UgYXJlIGRvbmUgd2l0aCB0aGUgRklMRSBiZWZvcmUKLQkgKiBpdCBpcyBjb25zaWRlcmVkIGF2YWlsYWJsZS4KLQkgKi8KLQlTVERJT19USFJFQURfTE9DSygpOwotCWZwLT5fZmxhZ3MgPSAwOwkJLyogUmVsZWFzZSB0aGlzIEZJTEUgZm9yIHJldXNlLiAqLwotCVNURElPX1RIUkVBRF9VTkxPQ0soKTsKLQlGVU5MT0NLRklMRShmcCk7Ci0JcmV0dXJuIChyKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRpby9mbGFncy5jIGIvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGlvL2ZsYWdzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4NzhjMmYuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGlvL2ZsYWdzLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotLyotCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKLSAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKLSAqIENocmlzIFRvcmVrLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWYgZGVmaW5lZChMSUJDX1NDQ1MpICYmICFkZWZpbmVkKGxpbnQpCi1zdGF0aWMgY2hhciBzY2NzaWRbXSA9ICJAKCMpZmxhZ3MuYwk4LjEgKEJlcmtlbGV5KSA2LzQvOTMiOwotI2VuZGlmIC8qIExJQkNfU0NDUyBhbmQgbm90IGxpbnQgKi8KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLV9fRkJTRElEKCIkRnJlZUJTRCQiKTsKLQotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9maWxlLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotCi0jaW5jbHVkZSAibG9jYWwuaCIKLQotLyoKLSAqIFJldHVybiB0aGUgKHN0ZGlvKSBmbGFncyBmb3IgYSBnaXZlbiBtb2RlLiAgU3RvcmUgdGhlIGZsYWdzCi0gKiB0byBiZSBwYXNzZWQgdG8gYW4gX29wZW4oKSBzeXNjYWxsIHRocm91Z2ggKm9wdHIuCi0gKiBSZXR1cm4gMCBvbiBlcnJvci4KLSAqLwotaW50Ci1fX3NmbGFncyhjb25zdCBjaGFyICptb2RlLCBpbnQgKm9wdHIpCi17Ci0JaW50IHJldCwgbSwgbzsKLQotCXN3aXRjaCAoKm1vZGUrKykgewotCi0JY2FzZSAncic6CS8qIG9wZW4gZm9yIHJlYWRpbmcgKi8KLQkJcmV0ID0gX19TUkQ7Ci0JCW0gPSBPX1JET05MWTsKLQkJbyA9IDA7Ci0JCWJyZWFrOwotCi0JY2FzZSAndyc6CS8qIG9wZW4gZm9yIHdyaXRpbmcgKi8KLQkJcmV0ID0gX19TV1I7Ci0JCW0gPSBPX1dST05MWTsKLQkJbyA9IE9fQ1JFQVQgfCBPX1RSVU5DOwotCQlicmVhazsKLQotCWNhc2UgJ2EnOgkvKiBvcGVuIGZvciBhcHBlbmRpbmcgKi8KLQkJcmV0ID0gX19TV1I7Ci0JCW0gPSBPX1dST05MWTsKLQkJbyA9IE9fQ1JFQVQgfCBPX0FQUEVORDsKLQkJYnJlYWs7Ci0KLQlkZWZhdWx0OgkvKiBpbGxlZ2FsIG1vZGUgKi8KLQkJZXJybm8gPSBFSU5WQUw7Ci0JCXJldHVybiAoMCk7Ci0JfQotCi0JLyogJ2InIChiaW5hcnkpIGlzIGlnbm9yZWQgKi8KLQlpZiAoKm1vZGUgPT0gJ2InKQotCQltb2RlKys7Ci0KLQkvKiBbcndhXVtiXVwrIG1lYW5zIHJlYWQgYW5kIHdyaXRlICovCi0JaWYgKCptb2RlID09ICcrJykgewotCQltb2RlKys7Ci0JCXJldCA9IF9fU1JXOwotCQltID0gT19SRFdSOwotCX0KLQotCS8qICdiJyAoYmluYXJ5KSBjYW4gYXBwZWFyIGhlcmUsIHRvbyAtLSBhbmQgaXMgaWdub3JlZCBhZ2FpbiAqLwotCWlmICgqbW9kZSA9PSAnYicpCi0JCW1vZGUrKzsKLQotCS8qICd4JyBtZWFucyBleGNsdXNpdmUgKGZhaWwgaWYgdGhlIGZpbGUgZXhpc3RzKSAqLwotCWlmICgqbW9kZSA9PSAneCcpIHsKLQkJbW9kZSsrOwotCQlpZiAobSA9PSBPX1JET05MWSkgewotCQkJZXJybm8gPSBFSU5WQUw7Ci0JCQlyZXR1cm4gKDApOwotCQl9Ci0JCW8gfD0gT19FWENMOwotCX0KLQotCS8qIHNldCBjbG9zZS1vbi1leGVjICovCi0JaWYgKCptb2RlID09ICdlJykKLQkJbyB8PSBPX0NMT0VYRUM7Ci0KLQkqb3B0ciA9IG0gfCBvOwotCXJldHVybiAocmV0KTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRpby9mb3Blbi5jIGIvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGlvL2ZvcGVuLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwOGUzMzYuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGlvL2ZvcGVuLmMKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi0vKi0KLSAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MwotICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQotICogQ2hyaXMgVG9yZWsuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZiBkZWZpbmVkKExJQkNfU0NDUykgJiYgIWRlZmluZWQobGludCkKLXN0YXRpYyBjaGFyIHNjY3NpZFtdID0gIkAoIylmb3Blbi5jCTguMSAoQmVya2VsZXkpIDYvNC85MyI7Ci0jZW5kaWYgLyogTElCQ19TQ0NTIGFuZCBub3QgbGludCAqLwotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotX19GQlNESUQoIiRGcmVlQlNEJCIpOwotCi0jaW5jbHVkZSAibmFtZXNwYWNlLmgiCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNpbmNsdWRlIDxmY250bC5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlICJ1bi1uYW1lc3BhY2UuaCIKLQotI2luY2x1ZGUgImxvY2FsLmgiCi0KLUZJTEUgKgotZm9wZW4oY29uc3QgY2hhciAqIF9fcmVzdHJpY3QgZmlsZSwgY29uc3QgY2hhciAqIF9fcmVzdHJpY3QgbW9kZSkKLXsKLQlGSUxFICpmcDsKLQlpbnQgZjsKLQlpbnQgZmxhZ3MsIG9mbGFnczsKLQotCWlmICgoZmxhZ3MgPSBfX3NmbGFncyhtb2RlLCAmb2ZsYWdzKSkgPT0gMCkKLQkJcmV0dXJuIChOVUxMKTsKLQlpZiAoKGZwID0gX19zZnAoKSkgPT0gTlVMTCkKLQkJcmV0dXJuIChOVUxMKTsKLQlpZiAoKGYgPSBfb3BlbihmaWxlLCBvZmxhZ3MsIERFRkZJTEVNT0RFKSkgPCAwKSB7Ci0JCWZwLT5fZmxhZ3MgPSAwOwkJCS8qIHJlbGVhc2UgKi8KLQkJcmV0dXJuIChOVUxMKTsKLQl9Ci0JLyoKLQkgKiBGaWxlIGRlc2NyaXB0b3JzIGFyZSBhIGZ1bGwgaW50LCBidXQgX2ZpbGUgaXMgb25seSBhIHNob3J0LgotCSAqIElmIHdlIGdldCBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvciB0aGF0IGlzIGdyZWF0ZXIgdGhhbgotCSAqIFNIUlRfTUFYLCB0aGVuIHRoZSBmZCB3aWxsIGdldCBzaWduLWV4dGVuZGVkIGludG8gYW4KLQkgKiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvci4gIEhhbmRsZSB0aGlzIGNhc2UgYnkgZmFpbGluZyB0aGUKLQkgKiBvcGVuLgotCSAqLwotCWlmIChmID4gU0hSVF9NQVgpIHsKLQkJZnAtPl9mbGFncyA9IDA7CQkJLyogcmVsZWFzZSAqLwotCQlfY2xvc2UoZik7Ci0JCWVycm5vID0gRU1GSUxFOwotCQlyZXR1cm4gKE5VTEwpOwotCX0KLQlmcC0+X2ZpbGUgPSBmOwotCWZwLT5fZmxhZ3MgPSBmbGFnczsKLQlmcC0+X2Nvb2tpZSA9IGZwOwotCWZwLT5fcmVhZCA9IF9fc3JlYWQ7Ci0JZnAtPl93cml0ZSA9IF9fc3dyaXRlOwotCWZwLT5fc2VlayA9IF9fc3NlZWs7Ci0JZnAtPl9jbG9zZSA9IF9fc2Nsb3NlOwotCS8qCi0JICogV2hlbiBvcGVuaW5nIGluIGFwcGVuZCBtb2RlLCBldmVuIHRob3VnaCB3ZSB1c2UgT19BUFBFTkQsCi0JICogd2UgbmVlZCB0byBzZWVrIHRvIHRoZSBlbmQgc28gdGhhdCBmdGVsbCgpIGdldHMgdGhlIHJpZ2h0Ci0JICogYW5zd2VyLiAgSWYgdGhlIHVzZXIgdGhlbiBhbHRlcnMgdGhlIHNlZWsgcG9pbnRlciwgb3IKLQkgKiB0aGUgZmlsZSBleHRlbmRzLCB0aGlzIHdpbGwgZmFpbCwgYnV0IHRoZXJlIGlzIG5vdCBtdWNoCi0JICogd2UgY2FuIGRvIGFib3V0IHRoaXMuICAoV2UgY291bGQgc2V0IF9fU0FQUCBhbmQgY2hlY2sgaW4KLQkgKiBmc2VlayBhbmQgZnRlbGwuKQotCSAqLwotCWlmIChvZmxhZ3MgJiBPX0FQUEVORCkKLQkJKHZvaWQpX3NzZWVrKGZwLCAoZnBvc190KTAsIFNFRUtfRU5EKTsKLQlyZXR1cm4gKGZwKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRsaWIvZ2V0b3B0X2xvbmcuYyBiL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRsaWIvZ2V0b3B0X2xvbmcuYwppbmRleCA5ZjdmNmQ1Li45NTM0YTJhIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RkbGliL2dldG9wdF9sb25nLmMKKysrIGIvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGxpYi9nZXRvcHRfbG9uZy5jCkBAIC0xLDQgKzEsNCBAQAotLyoJJE9wZW5CU0Q6IGdldG9wdF9sb25nLmMsdiAxLjIyIDIwMDYvMTAvMDQgMjE6Mjk6MDQgam1jIEV4cCAkCSovCisvKgkkT3BlbkJTRDogZ2V0b3B0X2xvbmcuYyx2IDEuMjYgMjAxMy8wNi8wOCAyMjo0Nzo1NiBtaWxsZXJ0IEV4cCAkCSovCiAvKgkkTmV0QlNEOiBnZXRvcHRfbG9uZy5jLHYgMS4xNSAyMDAyLzAxLzMxIDIyOjQzOjQwIHR2IEV4cCAkCSovCiAKIC8qCkBAIC0yNDgsNyArMjQ4LDcgQEAKIAkJaWYgKHNob3J0X3RvbyAmJiBjdXJyZW50X2FyZ3ZfbGVuID09IDEpCiAJCQljb250aW51ZTsKIAotCQlpZiAobWF0Y2ggPT0gLTEpICAgICAgICAvKiBmaXJzdCBwYXJ0aWFsIG1hdGNoICovCisJCWlmIChtYXRjaCA9PSAtMSkJLyogZmlyc3QgcGFydGlhbCBtYXRjaCAqLwogCQkJbWF0Y2ggPSBpOwogCQllbHNlIGlmICgoZmxhZ3MgJiBGTEFHX0xPTkdPTkxZKSB8fAogCQkJIGxvbmdfb3B0aW9uc1tpXS5oYXNfYXJnICE9CkBAIC0zNTksMzcgKzM1OSwzMSBAQAogewogCWNoYXIgKm9saTsJCQkJLyogb3B0aW9uIGxldHRlciBsaXN0IGluZGV4ICovCiAJaW50IG9wdGNoYXIsIHNob3J0X3RvbzsKLQlpbnQgcG9zaXhseV9jb3JyZWN0OwkvKiBubyBzdGF0aWMsIGNhbiBiZSBjaGFuZ2VkIG9uIHRoZSBmbHkgKi8KKwlzdGF0aWMgaW50IHBvc2l4bHlfY29ycmVjdCA9IC0xOwogCiAJaWYgKG9wdGlvbnMgPT0gTlVMTCkKIAkJcmV0dXJuICgtMSk7CiAKIAkvKgotCSAqIERpc2FibGUgR05VIGV4dGVuc2lvbnMgaWYgUE9TSVhMWV9DT1JSRUNUIGlzIHNldCBvciBvcHRpb25zCi0JICogc3RyaW5nIGJlZ2lucyB3aXRoIGEgJysnLgotCSAqLwotCXBvc2l4bHlfY29ycmVjdCA9IChnZXRlbnYoIlBPU0lYTFlfQ09SUkVDVCIpICE9IE5VTEwpOwotI2lmZGVmIEdOVV9DT01QQVRJQkxFCi0JaWYgKCpvcHRpb25zID09ICctJykKLQkJZmxhZ3MgfD0gRkxBR19BTExBUkdTOwotCWVsc2UgaWYgKHBvc2l4bHlfY29ycmVjdCB8fCAqb3B0aW9ucyA9PSAnKycpCi0JCWZsYWdzICY9IH5GTEFHX1BFUk1VVEU7Ci0jZWxzZQotCWlmIChwb3NpeGx5X2NvcnJlY3QgfHwgKm9wdGlvbnMgPT0gJysnKQotCQlmbGFncyAmPSB+RkxBR19QRVJNVVRFOwotCWVsc2UgaWYgKCpvcHRpb25zID09ICctJykKLQkJZmxhZ3MgfD0gRkxBR19BTExBUkdTOwotI2VuZGlmCi0JaWYgKCpvcHRpb25zID09ICcrJyB8fCAqb3B0aW9ucyA9PSAnLScpCi0JCW9wdGlvbnMrKzsKLQotCS8qCiAJICogWFhYIFNvbWUgR05VIHByb2dyYW1zIChsaWtlIGN2cykgc2V0IG9wdGluZCB0byAwIGluc3RlYWQgb2YKIAkgKiBYWFggdXNpbmcgb3B0cmVzZXQuICBXb3JrIGFyb3VuZCB0aGlzIGJyYWluZGFtYWdlLgogCSAqLwogCWlmIChvcHRpbmQgPT0gMCkKIAkJb3B0aW5kID0gb3B0cmVzZXQgPSAxOwogCisJLyoKKwkgKiBEaXNhYmxlIEdOVSBleHRlbnNpb25zIGlmIFBPU0lYTFlfQ09SUkVDVCBpcyBzZXQgb3Igb3B0aW9ucworCSAqIHN0cmluZyBiZWdpbnMgd2l0aCBhICcrJy4KKwkgKi8KKwlpZiAocG9zaXhseV9jb3JyZWN0ID09IC0xIHx8IG9wdHJlc2V0KQorCQlwb3NpeGx5X2NvcnJlY3QgPSAoZ2V0ZW52KCJQT1NJWExZX0NPUlJFQ1QiKSAhPSBOVUxMKTsKKwlpZiAoKm9wdGlvbnMgPT0gJy0nKQorCQlmbGFncyB8PSBGTEFHX0FMTEFSR1M7CisJZWxzZSBpZiAocG9zaXhseV9jb3JyZWN0IHx8ICpvcHRpb25zID09ICcrJykKKwkJZmxhZ3MgJj0gfkZMQUdfUEVSTVVURTsKKwlpZiAoKm9wdGlvbnMgPT0gJysnIHx8ICpvcHRpb25zID09ICctJykKKwkJb3B0aW9ucysrOworCiAJb3B0YXJnID0gTlVMTDsKIAlpZiAob3B0cmVzZXQpCiAJCW5vbm9wdF9zdGFydCA9IG5vbm9wdF9lbmQgPSAtMTsKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRsaWIvcmVhbHBhdGguYyBiL2xpYmMvdXBzdHJlYW0tZnJlZWJzZC9saWIvbGliYy9zdGRsaWIvcmVhbHBhdGguYwppbmRleCA4ZmQ1NDU3Li5jNGJkOTUzIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RkbGliL3JlYWxwYXRoLmMKKysrIGIvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0ZGxpYi9yZWFscGF0aC5jCkBAIC0xMzIsMjYgKzEzMiw3IEBACiAJCQlyZXNvbHZlZFtyZXNvbHZlZF9sZW5dID0gJ1wwJzsKIAkJfQogCQlpZiAobmV4dF90b2tlblswXSA9PSAnXDAnKSB7Ci0JCQkvKgotCQkJICogSGFuZGxlIGNvbnNlcXVlbnRpYWwgc2xhc2hlcy4gIFRoZSBwYXRoCi0JCQkgKiBiZWZvcmUgc2xhc2ggc2hhbGwgcG9pbnQgdG8gYSBkaXJlY3RvcnkuCi0JCQkgKgotCQkJICogT25seSB0aGUgdHJhaWxpbmcgc2xhc2hlcyBhcmUgbm90IGNvdmVyZWQKLQkJCSAqIGJ5IG90aGVyIGNoZWNrcyBpbiB0aGUgbG9vcCwgYnV0IHdlIHZlcmlmeQotCQkJICogdGhlIHByZWZpeCBmb3IgYW55IChyYXJlKSAiLy8iIG9yICIvXDAiCi0JCQkgKiBvY2N1cmVuY2UgdG8gbm90IGltcGxlbWVudCBsb29rYWhlYWQuCi0JCQkgKi8KLQkJCWlmIChsc3RhdChyZXNvbHZlZCwgJnNiKSAhPSAwKSB7Ci0JCQkJaWYgKG0pCi0JCQkJCWZyZWUocmVzb2x2ZWQpOwotCQkJCXJldHVybiAoTlVMTCk7Ci0JCQl9Ci0JCQlpZiAoIVNfSVNESVIoc2Iuc3RfbW9kZSkpIHsKLQkJCQlpZiAobSkKLQkJCQkJZnJlZShyZXNvbHZlZCk7Ci0JCQkJZXJybm8gPSBFTk9URElSOwotCQkJCXJldHVybiAoTlVMTCk7Ci0JCQl9CisJCQkvKiBIYW5kbGUgY29uc2VxdWVudGlhbCBzbGFzaGVzLiAqLwogCQkJY29udGludWU7CiAJCX0KIAkJZWxzZSBpZiAoc3RyY21wKG5leHRfdG9rZW4sICIuIikgPT0gMCkKQEAgLTIzNiw2ICsyMTcsMTEgQEAKIAkJCQl9CiAJCQl9CiAJCQlsZWZ0X2xlbiA9IHN0cmxjcHkobGVmdCwgc3ltbGluaywgc2l6ZW9mKGxlZnQpKTsKKwkJfSBlbHNlIGlmICghU19JU0RJUihzYi5zdF9tb2RlKSAmJiBwICE9IE5VTEwpIHsKKwkJCWlmIChtKQorCQkJCWZyZWUocmVzb2x2ZWQpOworCQkJZXJybm8gPSBFTk9URElSOworCQkJcmV0dXJuIChOVUxMKTsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1mcmVlYnNkL2xpYi9saWJjL3N0cmluZy93bWVtY3B5LmMgYi9saWJjL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1jcHkuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEwNzcwYy4uMDAwMDAwMAotLS0gYS9saWJjL3Vwc3RyZWFtLWZyZWVic2QvbGliL2xpYmMvc3RyaW5nL3dtZW1jcHkuYworKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qLQotICogQ29weXJpZ2h0IChjKTE5OTkgQ2l0cnVzIFByb2plY3QsCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICoKLSAqCWNpdHJ1cyBJZDogd21lbWNweS5jLHYgMS4yIDIwMDAvMTIvMjAgMTQ6MDg6MzEgaXRvanVuIEV4cAotICovCi0KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLSNpZiAwCi0jaWYgZGVmaW5lZChMSUJDX1NDQ1MpICYmICFkZWZpbmVkKGxpbnQpCi1fX1JDU0lEKCIkTmV0QlNEOiB3bWVtY3B5LmMsdiAxLjEgMjAwMC8xMi8yMyAyMzoxNDozNyBpdG9qdW4gRXhwICQiKTsKLSNlbmRpZiAvKiBMSUJDX1NDQ1MgYW5kIG5vdCBsaW50ICovCi0jZW5kaWYKLV9fRkJTRElEKCIkRnJlZUJTRCQiKTsKLQotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHdjaGFyLmg+Ci0KLXdjaGFyX3QgKgotd21lbWNweSh3Y2hhcl90ICogX19yZXN0cmljdCBkLCBjb25zdCB3Y2hhcl90ICogX19yZXN0cmljdCBzLCBzaXplX3QgbikKLXsKLQlyZXR1cm4gKHdjaGFyX3QgKiltZW1jcHkoZCwgcywgbiAqIHNpemVvZih3Y2hhcl90KSk7Ci19CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUvZmRfc2V0c2l6ZS5oIGIvbGliYy91cHN0cmVhbS1uZXRic2QvYW5kcm9pZC9pbmNsdWRlL2ZkX3NldHNpemUuaAppbmRleCBlNjlkZTI5Li40MWJmY2I3IDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUvZmRfc2V0c2l6ZS5oCisrKyBiL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZS9mZF9zZXRzaXplLmgKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZS9uYW1lc3BhY2UuaCBiL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZS9uYW1lc3BhY2UuaAppbmRleCA1ZGY1NDNjLi42MzBlYTliIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUvbmFtZXNwYWNlLmgKKysrIGIvbGliYy91cHN0cmVhbS1uZXRic2QvYW5kcm9pZC9pbmNsdWRlL25hbWVzcGFjZS5oCkBAIC0xNywxMSArMTcsNiBAQAogI2lmbmRlZiBfQklPTklDX05FVEJTRF9OQU1FU1BBQ0VfSF9pbmNsdWRlZAogI2RlZmluZSBfQklPTklDX05FVEJTRF9OQU1FU1BBQ0VfSF9pbmNsdWRlZAogCi0vLyBOZXRCU0QgdXNlcyBfX3dlYWtfYWxpYXMgb24gYSBsb3Qgb2YgZnVuY3Rpb25zLiBXZSBkb24ndCB3YW50IHRoYXQuCi0jaWYgZGVmaW5lZChfX3dlYWtfYWxpYXMpCi0jdW5kZWYgX193ZWFrX2FsaWFzCi0jZW5kaWYKLQogX19MSUJDX0hJRERFTl9fIGludCBfX3Jlc19lbmFibGVfbXQodm9pZCk7CiBfX0xJQkNfSElEREVOX18gaW50IF9fcmVzX2Rpc2FibGVfbXQodm9pZCk7CiAKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZS9uZXRic2QtY29tcGF0LmggYi9saWJjL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUvbmV0YnNkLWNvbXBhdC5oCmluZGV4IGY2MWU5MGEuLjhkMWM0NmIgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZS9uZXRic2QtY29tcGF0LmgKKysrIGIvbGliYy91cHN0cmVhbS1uZXRic2QvYW5kcm9pZC9pbmNsdWRlL25ldGJzZC1jb21wYXQuaApAQCAtMTcsNiArMTcsOSBAQAogI2lmbmRlZiBfQklPTklDX05FVEJTRF9DT01QQVRfSF9pbmNsdWRlZAogI2RlZmluZSBfQklPTklDX05FVEJTRF9DT01QQVRfSF9pbmNsdWRlZAogCisjZGVmaW5lIF9CU0RfU09VUkNFCisjZGVmaW5lIF9HTlVfU09VUkNFCisKIC8vIE5ldEJTRCB1c2VzIF9ESUFHQVNTRVJUIHRvIG51bGwtY2hlY2sgYXJndW1lbnRzIGFuZCB0aGUgbGlrZS4KICNpbmNsdWRlIDxhc3NlcnQuaD4KICNkZWZpbmUgX0RJQUdBU1NFUlQoZSkgKChlKSA/ICh2b2lkKSAwIDogX19hc3NlcnQyKF9fRklMRV9fLCBfX0xJTkVfXywgX19mdW5jX18sICNlKSkKQEAgLTI0LDkgKzI3LDYgQEAKIC8vIFRPRE86IHVwZGF0ZSBvdXIgPHN5cy9jZGVmcy5oPiB0byBzdXBwb3J0IHRoaXMgcHJvcGVybHkuCiAjZGVmaW5lIF9fdHlwZV9maXQodCwgYSkgKDAgPT0gMCkKIAotI2RlZmluZSBfR05VX1NPVVJDRQotI2RlZmluZSBfX1VTRV9CU0QKLQogLy8gVE9ETzogd2UgZG9uJ3QgeWV0IGhhdmUgdGhyZWFkLXNhZmUgZW52aXJvbm1lbnQgdmFyaWFibGVzLgogI2RlZmluZSBfX3JlYWRsb2NrZW52KCkgMAogI2RlZmluZSBfX3VubG9ja2VudigpIDAKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9pbnNxdWUuYyBiL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9pbnNxdWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDkwMjBhZS4uMDAwMDAwMAotLS0gYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvaW5zcXVlLmMKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoYykgMTk5MyBKb2huIEJyZXphawotICogIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogIGFyZSBtZXQ6Ci0gKiAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqICAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cwotICogICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKLSAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsCi0gKiBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsCi0gKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KLSAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQotICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2lmIGRlZmluZWQoTElCQ19TQ0NTKSAmJiAhZGVmaW5lZChsaW50KQotX19SQ1NJRCgiJE5ldEJTRDogaW5zcXVlLmMsdiAxLjMgMjAxMi8wNi8yNSAyMjozMjo0NSBhYnMgRXhwICQiKTsKLSNlbmRpZiAvKiBMSUJDX1NDQ1MgYW5kIG5vdCBsaW50ICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxzZWFyY2guaD4KLQotc3RydWN0IHFlbGVtIHsKLSAgICAgICAgc3RydWN0IHFlbGVtICpxX2Zvcnc7Ci0gICAgICAgIHN0cnVjdCBxZWxlbSAqcV9iYWNrOwotfTsKLQotdm9pZAotaW5zcXVlKHZvaWQgKmVudHJ5LCB2b2lkICpwcmVkKQotewotCXN0cnVjdCBxZWxlbSAqZSA9IChzdHJ1Y3QgcWVsZW0gKikgZW50cnk7Ci0Jc3RydWN0IHFlbGVtICpwID0gKHN0cnVjdCBxZWxlbSAqKSBwcmVkOwotCi0JX0RJQUdBU1NFUlQoZSAhPSAwKTsKLQotCWUtPnFfYmFjayA9IHA7Ci0JaWYgKHApIHsKLQkJZS0+cV9mb3J3ID0gcC0+cV9mb3J3OwotCQlpZiAocC0+cV9mb3J3KQotCQkJcC0+cV9mb3J3LT5xX2JhY2sgPSBlOwotCQlwLT5xX2ZvcncgPSBlOwotCX0gZWxzZQotCQllLT5xX2ZvcncgPSAwOwotfQpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RkbGliL2xjb25nNDguYyBiL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9sY29uZzQ4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJjZTk3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3N0ZGxpYi9sY29uZzQ4LmMKQEAgLTAsMCArMSw0MyBAQAorLyoJJE5ldEJTRDogbGNvbmc0OC5jLHYgMS44IDIwMDUvMDYvMTIgMDU6MjE6MjggbHVrZW0gRXhwICQJKi8KKworLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MyBNYXJ0aW4gQmlyZ21laWVyCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFlvdSBtYXkgcmVkaXN0cmlidXRlIHVubW9kaWZpZWQgb3IgbW9kaWZpZWQgdmVyc2lvbnMgb2YgdGhpcyBzb3VyY2UKKyAqIGNvZGUgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBhbmQgdGhlCisgKiBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgcmV0YWluZWQuCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBgYGFzIGlzJycsIGFuZCBjb21lcyB3aXRoIG5vIHdhcnJhbnRpZXMKKyAqIG9mIGFueSBraW5kLiBJIHNoYWxsIGluIG5vIGV2ZW50IGJlIGxpYWJsZSBmb3IgYW55dGhpbmcgdGhhdCBoYXBwZW5zCisgKiB0byBhbnlvbmUvYW55dGhpbmcgd2hlbiB1c2luZyB0aGlzIHNvZnR3YXJlLgorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKyNpZiBkZWZpbmVkKExJQkNfU0NDUykgJiYgIWRlZmluZWQobGludCkKK19fUkNTSUQoIiROZXRCU0Q6IGxjb25nNDguYyx2IDEuOCAyMDA1LzA2LzEyIDA1OjIxOjI4IGx1a2VtIEV4cCAkIik7CisjZW5kaWYgLyogTElCQ19TQ0NTIGFuZCBub3QgbGludCAqLworCisjaW5jbHVkZSAibmFtZXNwYWNlLmgiCisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2luY2x1ZGUgInJhbmQ0OC5oIgorCisjaWZkZWYgX193ZWFrX2FsaWFzCitfX3dlYWtfYWxpYXMobGNvbmc0OCxfbGNvbmc0OCkKKyNlbmRpZgorCit2b2lkCitsY29uZzQ4KHVuc2lnbmVkIHNob3J0IHBbN10pCit7CisJX0RJQUdBU1NFUlQocCAhPSBOVUxMKTsKKworCV9fcmFuZDQ4X3NlZWRbMF0gPSBwWzBdOworCV9fcmFuZDQ4X3NlZWRbMV0gPSBwWzFdOworCV9fcmFuZDQ4X3NlZWRbMl0gPSBwWzJdOworCV9fcmFuZDQ4X211bHRbMF0gPSBwWzNdOworCV9fcmFuZDQ4X211bHRbMV0gPSBwWzRdOworCV9fcmFuZDQ4X211bHRbMl0gPSBwWzVdOworCV9fcmFuZDQ4X2FkZCA9IHBbNl07Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvcmVtcXVlLmMgYi9saWJjL3Vwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9zdGRsaWIvcmVtcXVlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwNjBhZDguLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvc3RkbGliL3JlbXF1ZS5jCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDE5OTMgSm9obiBCcmV6YWsKLSAqICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqICBhcmUgbWV0OgotICogIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKLSAqICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULAotICogSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULAotICogU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCi0gKiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLSAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLSNpZiBkZWZpbmVkKExJQkNfU0NDUykgJiYgIWRlZmluZWQobGludCkKLV9fUkNTSUQoIiROZXRCU0Q6IHJlbXF1ZS5jLHYgMS4zIDIwMTIvMDYvMjUgMjI6MzI6NDUgYWJzIEV4cCAkIik7Ci0jZW5kaWYgLyogTElCQ19TQ0NTIGFuZCBub3QgbGludCAqLwotCi0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8c2VhcmNoLmg+Ci0KLXN0cnVjdCBxZWxlbSB7Ci0gICAgICAgIHN0cnVjdCBxZWxlbSAqcV9mb3J3OwotICAgICAgICBzdHJ1Y3QgcWVsZW0gKnFfYmFjazsKLX07Ci0KLXZvaWQKLXJlbXF1ZSh2b2lkICplbGVtZW50KQotewotCXN0cnVjdCBxZWxlbSAqZSA9IChzdHJ1Y3QgcWVsZW0gKikgZWxlbWVudDsKLQotCV9ESUFHQVNTRVJUKGUgIT0gMCk7Ci0KLQlpZiAoZS0+cV9mb3J3KQotCQllLT5xX2ZvcnctPnFfYmFjayA9IGUtPnFfYmFjazsKLQlpZiAoZS0+cV9iYWNrKQotCQllLT5xX2JhY2stPnFfZm9ydyA9IGUtPnFfZm9ydzsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3VuaXN0ZC9raWxscGcuYyBiL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL3VuaXN0ZC9raWxscGcuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2VhYzNmNC4uMDAwMDAwMAotLS0gYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9saWIvbGliYy91bmlzdGQva2lsbHBnLmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgkkTmV0QlNEOiBraWxscGcuYyx2IDEuOCAyMDAzLzA4LzA3IDE2OjQyOjM5IGFnYyBFeHAgJAkqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkzCi0gKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2lmIGRlZmluZWQoTElCQ19TQ0NTKSAmJiAhZGVmaW5lZChsaW50KQotI2lmIDAKLXN0YXRpYyBjaGFyIHNjY3NpZFtdID0gIkAoIylraWxscGcuYwk4LjEgKEJlcmtlbGV5KSA2LzIvOTMiOwotI2Vsc2UKLV9fUkNTSUQoIiROZXRCU0Q6IGtpbGxwZy5jLHYgMS44IDIwMDMvMDgvMDcgMTY6NDI6MzkgYWdjIEV4cCAkIik7Ci0jZW5kaWYKLSNlbmRpZiAvKiBMSUJDX1NDQ1MgYW5kIG5vdCBsaW50ICovCi0KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzaWduYWwuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotCi0vKgotICogQmFja3dhcmRzLWNvbXBhdGlibGUga2lsbHBnKCkuCi0gKi8KLWludAota2lsbHBnKHBpZF90IHBnaWQsIGludCBzaWcpCi17Ci0JaWYgKHBnaWQgPT0gMSkgewotCQllcnJubyA9IEVTUkNIOwotCQlyZXR1cm4gKC0xKTsKLQl9Ci0JcmV0dXJuIChraWxsKC1wZ2lkLCBzaWcpKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9hbmRyb2lkL2luY2x1ZGUvb3BlbmJzZC1jb21wYXQuaCBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9hbmRyb2lkL2luY2x1ZGUvb3BlbmJzZC1jb21wYXQuaAppbmRleCAzNGFkMmM1Li44ZjU1YTI2IDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvYW5kcm9pZC9pbmNsdWRlL29wZW5ic2QtY29tcGF0LmgKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2FuZHJvaWQvaW5jbHVkZS9vcGVuYnNkLWNvbXBhdC5oCkBAIC0xNywxMCArMTcsMjYgQEAKICNpZm5kZWYgX0JJT05JQ19PUEVOQlNEX0NPTVBBVF9IX2luY2x1ZGVkCiAjZGVmaW5lIF9CSU9OSUNfT1BFTkJTRF9DT01QQVRfSF9pbmNsdWRlZAogCisjZGVmaW5lIF9CU0RfU09VUkNFCisKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KICNpbmNsdWRlIDxzdGRkZWYuaD4gLy8gRm9yIHNpemVfdC4KIAotI2RlZmluZSBfX1VTRV9CU0QKKy8qIFJlZGlyZWN0IGludGVybmFsIEMgbGlicmFyeSBjYWxscyB0byB0aGUgcHVibGljIGZ1bmN0aW9uLiAqLworI2RlZmluZSBfZXJyIGVycgorI2RlZmluZSBfZXJyeCBlcnJ4CisjZGVmaW5lIF92ZXJyIHZlcnIKKyNkZWZpbmUgX3ZlcnJ4IHZlcnJ4CisjZGVmaW5lIF92d2FybiB2d2FybgorI2RlZmluZSBfdndhcm54IHZ3YXJueAorI2RlZmluZSBfd2FybiB3YXJuCisjZGVmaW5lIF93YXJueCB3YXJueAorCisvKiBJZ25vcmUgYWxsIF9fd2Vha19hbGlhcyBpbiBPcGVuQlNELiAqLworI2RlZmluZSBfX3dlYWtfYWxpYXMoYWxpYXMsc3ltKQorCisvKiBJZ25vcmUgYWxsIF9fd2Fybl9yZWZlcmVuY2VzIGluIE9wZW5CU0QuICovCisjZGVmaW5lIF9fd2Fybl9yZWZlcmVuY2VzKHN5bSxtc2cpCiAKIC8qIE9wZW5CU0QncyA8Y3R5cGUuaD4gdXNlcyB0aGVzZSBuYW1lcywgd2hpY2ggY29uZmxpY3RlZCB3aXRoIHN0bHBvcnQuCiAgKiBBZGRpdGlvbmFsbHksIHdlIGNoYW5nZWQgdGhlIG51bWVyaWMvZGlnaXQgdHlwZSBmcm9tIE4gdG8gRCBmb3IgbGliY3h4LgpAQCAtMzksOSArNTUsMjEgQEAKIAogI2RlZmluZSBleHBsaWNpdF9iemVybyhwLCBzKSBtZW1zZXQocCwgMCwgcykKIAorLyogT3BlbkJTRCBoYXMgdGhlc2UgaW4gPHN5cy9wYXJhbS5oPiwgYnV0ICJBTElHTiIgaXNuJ3Qgc29tZXRoaW5nIHdlIHdhbnQgdG8gcmVzZXJ2ZS4gKi8KKyNkZWZpbmUgQUxJR05CWVRFUyAoc2l6ZW9mKHVpbnRwdHJfdCkgLSAxKQorI2RlZmluZSBBTElHTihwKSAoKCh1aW50cHRyX3QpKHApICsgQUxJR05CWVRFUykgJn4gQUxJR05CWVRFUykKKworLyogT3BlbkJTRCBoYXMgdGhpcyBpbiBwYXRocy5oLiBCdXQgdGhpcyBkaXJlY3RvcnkgZG9lc24ndCBub3JtYWxseSBleGlzdC4KKyAqIEV2ZW4gd2hlbiBpdCBkb2VzIGV4aXN0LCBvbmx5IHRoZSAnc2hlbGwnIHVzZXIgaGFzIHBlcm1pc3Npb25zLgorICovCisjZGVmaW5lIF9QQVRIX1RNUCAiL2RhdGEvbG9jYWwvdG1wLyIKKwogLyogV2UgaGF2ZSBPcGVuQlNEJ3MgZ2V0ZW50cm9weV9saW51eC5jLCBidXQgd2UgZG9uJ3QgbWVudGlvbiBnZXRlbnRyb3B5IGluIGFueSBoZWFkZXIuICovCiBfX0xJQkNfSElEREVOX18gZXh0ZXJuIGludCBnZXRlbnRyb3B5KHZvaWQqLCBzaXplX3QpOwogCisvKiBPcGVuQlNEIGhhcyB0aGlzIGFzIEFQSSwgYnV0IHdlIGp1c3QgdXNlIGl0IGludGVybmFsbHkuICovCitfX0xJQkNfSElEREVOX18gdm9pZCogcmVhbGxvY2FycmF5KHZvaWQqLCBzaXplX3QsIHNpemVfdCk7CisKIC8qIExQMzIgTkRLIGN0eXBlLmggY29udGFpbmVkIHJlZmVyZW5jZXMgdG8gdGhlc2UuICovCiBfX0xJQkM2NF9ISURERU5fXyBleHRlcm4gY29uc3Qgc2hvcnQqIF90b2xvd2VyX3RhYl87CiBfX0xJQkM2NF9ISURERU5fXyBleHRlcm4gY29uc3Qgc2hvcnQqIF90b3VwcGVyX3RhYl87CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvY29tcGF0LTQzL2tpbGxwZy5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2NvbXBhdC00My9raWxscGcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWIxYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2NvbXBhdC00My9raWxscGcuYwpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworLyoKKyAqIEJhY2t3YXJkcy1jb21wYXRpYmxlIGtpbGxwZygpLgorICovCitpbnQKK2tpbGxwZyhwaWRfdCBwZ2lkLCBpbnQgc2lnKQoreworCWlmIChwZ2lkID09IDEpIHsKKwkJZXJybm8gPSBFU1JDSDsKKwkJcmV0dXJuICgtMSk7CisJfQorCXJldHVybiAoa2lsbCgtcGdpZCwgc2lnKSk7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2R0b2EvbGR0b2EuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZHRvYS9sZHRvYS5jCmluZGV4IDc5M2Q3MWMuLjE2ZjZmOWMgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZHRvYS9sZHRvYS5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZHRvYS9sZHRvYS5jCkBAIC0xLDQgKzEsNCBAQAotLyoJJE9wZW5CU0Q6IGxkdG9hLmMsdiAxLjEgMjAwOC8wOS8wNyAyMDozNjowOCBtYXJ0eW5hcyBFeHAgJAkqLworLyoJJE9wZW5CU0Q6IGxkdG9hLmMsdiAxLjIgMjAxNC8wOC8xMCAwMjoxNToxOCBndWVudGhlciBFeHAgJAkqLwogLyotCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDMgRGF2aWQgU2NodWx0eiA8ZGFzQEZyZWVCU0QuT1JHPgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxtYWNoaW5lL2llZWUuaD4KICNlbmRpZiAvKiAhX192YXhfXyAqLwogI2luY2x1ZGUgPGZsb2F0Lmg+Ci0jaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2RhZW1vbi5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9kYWVtb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWY0MjY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9kYWVtb24uYwpAQCAtMCwwICsxLDY0IEBACisvKgkkT3BlbkJTRDogZGFlbW9uLmMsdiAxLjcgMjAxMC8wNy8yNyAyMjoyOTowOSBtYXJjbyBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitpbnQKK2RhZW1vbihpbnQgbm9jaGRpciwgaW50IG5vY2xvc2UpCit7CisJaW50IGZkOworCisJc3dpdGNoIChmb3JrKCkpIHsKKwljYXNlIC0xOgorCQlyZXR1cm4gKC0xKTsKKwljYXNlIDA6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCV9leGl0KDApOworCX0KKworCWlmIChzZXRzaWQoKSA9PSAtMSkKKwkJcmV0dXJuICgtMSk7CisKKwlpZiAoIW5vY2hkaXIpCisJCSh2b2lkKWNoZGlyKCIvIik7CisKKwlpZiAoIW5vY2xvc2UgJiYgKGZkID0gb3BlbihfUEFUSF9ERVZOVUxMLCBPX1JEV1IsIDApKSAhPSAtMSkgeworCQkodm9pZClkdXAyKGZkLCBTVERJTl9GSUxFTk8pOworCQkodm9pZClkdXAyKGZkLCBTVERPVVRfRklMRU5PKTsKKwkJKHZvaWQpZHVwMihmZCwgU1RERVJSX0ZJTEVOTyk7CisJCWlmIChmZCA+IDIpCisJCQkodm9pZCljbG9zZShmZCk7CisJfQorCXJldHVybiAoMCk7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2Vyci5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9lcnIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lN2VjMjlkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9lcnIuYwpAQCAtMCwwICsxLDQ3IEBACisvKgkkT3BlbkJTRDogZXJyLmMsdiAxLjExIDIwMTIvMTIvMDUgMjM6MTk6NTkgZGVyYWFkdCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKy8qIFBSSU5URkxJS0UyICovCitfX2RlYWQgdm9pZAorX2VycihpbnQgZXZhbCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCV92ZXJyKGV2YWwsIGZtdCwgYXApOworCXZhX2VuZChhcCk7Cit9CisKKy8qIFBSSU5URkxJS0UyICovCitfX3dlYWtfYWxpYXMoZXJyLCBfZXJyKTsKKwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9lcnJ4LmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL2VycnguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjEzNDM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi9lcnJ4LmMKQEAgLTAsMCArMSw0NyBAQAorLyoJJE9wZW5CU0Q6IGVycnguYyx2IDEuMTAgMjAxMi8xMi8wNSAyMzoxOTo1OSBkZXJhYWR0IEV4cCAkICovCisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworLyogUFJJTlRGTElLRTIgKi8KK19fZGVhZCB2b2lkCitfZXJyeChpbnQgZXZhbCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCV92ZXJyeChldmFsLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworfQorCisvKiBQUklOVEZMSUtFMiAqLworX193ZWFrX2FsaWFzKGVycngsIF9lcnJ4KTsKKwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi92ZXJyLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3ZlcnIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2Q4ZWRjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi92ZXJyLmMKQEAgLTAsMCArMSw1NiBAQAorLyoJJE9wZW5CU0Q6IHZlcnIuYyx2IDEuOSAyMDEyLzEyLzA1IDIzOjIwOjAwIGRlcmFhZHQgRXhwICQgKi8KKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGVyci5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7CQkvKiBQcm9ncmFtIG5hbWUsIGZyb20gY3J0MC4gKi8KKworX19kZWFkIHZvaWQKK192ZXJyKGludCBldmFsLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJaW50IHN2ZXJybm87CisKKwlzdmVycm5vID0gZXJybm87CisJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogIiwgX19wcm9nbmFtZSk7CisJaWYgKGZtdCAhPSBOVUxMKSB7CisJCSh2b2lkKXZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcCk7CisJCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiOiAiKTsKKwl9CisJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlc1xuIiwgc3RyZXJyb3Ioc3ZlcnJubykpOworCWV4aXQoZXZhbCk7Cit9CisKK19fd2Vha19hbGlhcyh2ZXJyLCBfdmVycik7CisKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vdmVycnguYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vdmVycnguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGRhMDYyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi92ZXJyeC5jCkBAIC0wLDAgKzEsNDkgQEAKKy8qCSRPcGVuQlNEOiB2ZXJyeC5jLHYgMS45IDIwMTIvMTIvMDUgMjM6MjA6MDAgZGVyYWFkdCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7CQkvKiBQcm9ncmFtIG5hbWUsIGZyb20gY3J0MC4gKi8KKworX19kZWFkIHZvaWQKK192ZXJyeChpbnQgZXZhbCwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiJXM6ICIsIF9fcHJvZ25hbWUpOworCWlmIChmbXQgIT0gTlVMTCkKKwkJKHZvaWQpdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKwkodm9pZClmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisJZXhpdChldmFsKTsKK30KKworX193ZWFrX2FsaWFzKHZlcnJ4LCBfdmVycngpOworCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3Z3YXJuLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3Z3YXJuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZiNjBmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vdndhcm4uYwpAQCAtMCwwICsxLDU0IEBACisvKgkkT3BlbkJTRDogdndhcm4uYyx2IDEuOSAyMDEyLzEyLzA1IDIzOjIwOjAwIGRlcmFhZHQgRXhwICQgKi8KKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGVyci5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7CQkvKiBQcm9ncmFtIG5hbWUsIGZyb20gY3J0MC4gKi8KKwordm9pZAorX3Z3YXJuKGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKwlpbnQgc3ZlcnJubzsKKworCXN2ZXJybm8gPSBlcnJubzsKKwkodm9pZClmcHJpbnRmKHN0ZGVyciwgIiVzOiAiLCBfX3Byb2duYW1lKTsKKwlpZiAoZm10ICE9IE5VTEwpIHsKKwkJKHZvaWQpdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICI6ICIpOworCX0KKwkodm9pZClmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBzdHJlcnJvcihzdmVycm5vKSk7Cit9CisKK19fd2Vha19hbGlhcyh2d2FybiwgX3Z3YXJuKTsKKwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi92d2FybnguYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vdndhcm54LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZiMTk1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vdndhcm54LmMKQEAgLTAsMCArMSw0NyBAQAorLyoJJE9wZW5CU0Q6IHZ3YXJueC5jLHYgMS45IDIwMTIvMTIvMDUgMjM6MjA6MDAgZGVyYWFkdCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7CQkvKiBQcm9ncmFtIG5hbWUsIGZyb20gY3J0MC4gKi8KKwordm9pZAorX3Z3YXJueChjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogIiwgX19wcm9nbmFtZSk7CisJaWYgKGZtdCAhPSBOVUxMKQorCQkodm9pZCl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOworCSh2b2lkKWZwcmludGYoc3RkZXJyLCAiXG4iKTsKK30KKworX193ZWFrX2FsaWFzKHZ3YXJueCwgX3Z3YXJueCk7CisKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vd2Fybi5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL2dlbi93YXJuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFiNDdhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vd2Fybi5jCkBAIC0wLDAgKzEsNDcgQEAKKy8qCSRPcGVuQlNEOiB3YXJuLmMsdiAxLjEwIDIwMTIvMTIvMDUgMjM6MjA6MDAgZGVyYWFkdCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKy8qIFBSSU5URkxJS0UxICovCit2b2lkCitfd2Fybihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJX3Z3YXJuKGZtdCwgYXApOworCXZhX2VuZChhcCk7Cit9CisKKy8qIFBSSU5URkxJS0UxICovCitfX3dlYWtfYWxpYXMod2FybiwgX3dhcm4pOworCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3dhcm54LmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvZ2VuL3dhcm54LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYyYWI2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9nZW4vd2FybnguYwpAQCAtMCwwICsxLDQ3IEBACisvKgkkT3BlbkJTRDogd2FybnguYyx2IDEuOSAyMDEyLzEyLzA1IDIzOjIwOjAwIGRlcmFhZHQgRXhwICQgKi8KKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGVyci5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisvKiBQUklOVEZMSUtFMSAqLwordm9pZAorX3dhcm54KGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlfdndhcm54KGZtdCwgYXApOworCXZhX2VuZChhcCk7Cit9CisKKy8qIFBSSU5URkxJS0UxICovCitfX3dlYWtfYWxpYXMod2FybngsIF93YXJueCk7CisKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvaHRvbmwuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvaHRvbmwuYwppbmRleCA1YWI0MTg5Li42ZWU2ZTdlIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L2h0b25sLmMKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL25ldC9odG9ubC5jCkBAIC0xLDExICsxLDExIEBACi0vKgkkT3BlbkJTRDogaHRvbmwuYyx2IDEuNiAyMDA1LzA4LzA2IDIwOjMwOjAzIGVzcGllIEV4cCAkICovCisvKgkkT3BlbkJTRDogaHRvbmwuYyx2IDEuNyAyMDE0LzA3LzIxIDAxOjUxOjEwIGd1ZW50aGVyIEV4cCAkICovCiAvKgogICogV3JpdHRlbiBieSBKLlQuIENvbmtsaW4gPGp0Y0BuZXRic2Qub3JnPi4KICAqIFB1YmxpYyBkb21haW4uCiAgKi8KIAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CisjaW5jbHVkZSA8ZW5kaWFuLmg+CiAKICN1bmRlZiBodG9ubAogCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L2h0b25zLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L2h0b25zLmMKaW5kZXggYzhiNzNmZC4uZjQ4ZDkxZSAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL25ldC9odG9ucy5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvaHRvbnMuYwpAQCAtMSwxMSArMSwxMSBAQAotLyoJJE9wZW5CU0Q6IGh0b25zLmMsdiAxLjggMjAwNS8wOC8wNiAyMDozMDowMyBlc3BpZSBFeHAgJCAqLworLyoJJE9wZW5CU0Q6IGh0b25zLmMsdiAxLjkgMjAxNC8wNy8yMSAwMTo1MToxMCBndWVudGhlciBFeHAgJCAqLwogLyoKICAqIFdyaXR0ZW4gYnkgSi5ULiBDb25rbGluIDxqdGNAbmV0YnNkLm9yZz4uCiAgKiBQdWJsaWMgZG9tYWluLgogICovCiAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxtYWNoaW5lL2VuZGlhbi5oPgorI2luY2x1ZGUgPGVuZGlhbi5oPgogCiAjdW5kZWYgaHRvbnMKIApkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL25ldC9udG9obC5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL25ldC9udG9obC5jCmluZGV4IDM2NDE0YjcuLjBkMDViYWMgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvbnRvaGwuYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L250b2hsLmMKQEAgLTEsMTEgKzEsMTEgQEAKLS8qCSRPcGVuQlNEOiBudG9obC5jLHYgMS42IDIwMDUvMDgvMDYgMjA6MzA6MDMgZXNwaWUgRXhwICQgKi8KKy8qCSRPcGVuQlNEOiBudG9obC5jLHYgMS43IDIwMTQvMDcvMjEgMDE6NTE6MTAgZ3VlbnRoZXIgRXhwICQgKi8KIC8qCiAgKiBXcml0dGVuIGJ5IEouVC4gQ29ua2xpbiA8anRjQG5ldGJzZC5vcmc+LgogICogUHVibGljIGRvbWFpbi4KICAqLwogCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9lbmRpYW4uaD4KKyNpbmNsdWRlIDxlbmRpYW4uaD4KIAogI3VuZGVmIG50b2hsCiAKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvbnRvaHMuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvbnRvaHMuYwppbmRleCA4ZjM0NWU4Li5iNWVhMzYxIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L250b2hzLmMKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL25ldC9udG9ocy5jCkBAIC0xLDExICsxLDExIEBACi0vKgkkT3BlbkJTRDogbnRvaHMuYyx2IDEuOCAyMDA1LzA4LzA2IDIwOjMwOjAzIGVzcGllIEV4cCAkICovCisvKgkkT3BlbkJTRDogbnRvaHMuYyx2IDEuOSAyMDE0LzA3LzIxIDAxOjUxOjEwIGd1ZW50aGVyIEV4cCAkICovCiAvKgogICogV3JpdHRlbiBieSBKLlQuIENvbmtsaW4gPGp0Y0BuZXRic2Qub3JnPi4KICAqIFB1YmxpYyBkb21haW4uCiAgKi8KIAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CisjaW5jbHVkZSA8ZW5kaWFuLmg+CiAKICN1bmRlZiBudG9ocwogCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L3Jlc19yYW5kb20uYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9uZXQvcmVzX3JhbmRvbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyODY5MmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvbmV0L3Jlc19yYW5kb20uYwpAQCAtMCwwICsxLDI3NSBAQAorLyogJE9wZW5CU0Q6IHJlc19yYW5kb20uYyx2IDEuMjEgMjAxNC8wNy8yMCAwNDoyMjozNCBndWVudGhlciBFeHAgJCAqLworCisvKgorICogQ29weXJpZ2h0IDE5OTcgTmllbHMgUHJvdm9zIDxwcm92b3NAcGh5c25ldC51bmktaGFtYnVyZy5kZT4KKyAqIENvcHlyaWdodCAyMDA4IERhbWllbiBNaWxsZXIgPGRqbUBvcGVuYnNkLm9yZz4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhlbyBkZSBSYWFkdCA8ZGVyYWFkdEBvcGVuYnNkLm9yZz4gY2FtZSB1cCB3aXRoIHRoZSBpZGVhIG9mIHVzaW5nCisgKiBzdWNoIGEgbWF0aGVtYXRpY2FsIHN5c3RlbSB0byBnZW5lcmF0ZSBtb3JlIHJhbmRvbSAoeWV0IG5vbi1yZXBlYXRpbmcpCisgKiBpZHMgdG8gc29sdmUgdGhlIHJlc29sdmVyL25hbWVkIHByb2JsZW0uICBCdXQgTmllbHMgZGVzaWduZWQgdGhlCisgKiBhY3R1YWwgc3lzdGVtIGJhc2VkIG9uIHRoZSBjb25zdHJhaW50cy4KKyAqCisgKiBMYXRlciBtb2RpZmllZCBieSBEYW1pZW4gTWlsbGVyIHRvIHdyYXAgdGhlIExDRyBvdXRwdXQgaW4gYSAxNS1iaXQKKyAqIHBlcm11dGF0aW9uIGdlbmVyYXRvciBiYXNlZCBvbiBhIEx1YnktUmFja29mZiBibG9jayBjaXBoZXIuIFRoaXMKKyAqIGVuc3VyZXMgdGhlIG91dHB1dCBpcyBub24tcmVwZWF0aW5nIGFuZCBwcmVzZXJ2ZXMgdGhlIE1TQiB0d2lkZGxlCisgKiB0cmljaywgYnV0IG1ha2VzIGl0IG1vcmUgcmVzaXN0YW50IHRvIExDRyBwcmVkaWN0aW9uLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKiAKKyAqIHNlZWQgPSByYW5kb20gMTViaXQKKyAqIG4gPSBwcmltZSwgZzAgPSBnZW5lcmF0b3IgdG8gbiwKKyAqIGogPSByYW5kb20gc28gdGhhdCBnY2QoaixuLTEpID09IDEKKyAqIGcgPSBnMF5qIG1vZCBuIHdpbGwgYmUgYSBnZW5lcmF0b3IgYWdhaW4uCisgKgorICogWFswXSA9IHJhbmRvbSBzZWVkLgorICogWFtuXSA9IGEqWFtuLTFdK2IgbW9kIG0gaXMgYSBMaW5lYXIgQ29uZ3J1ZW50aWFsIEdlbmVyYXRvcgorICogd2l0aCBhID0gN14oZXZlbiByYW5kb20pIG1vZCBtLCAKKyAqICAgICAgYiA9IHJhbmRvbSB3aXRoIGdjZChiLG0pID09IDEKKyAqICAgICAgbSA9IDMxMTA0IGFuZCBhIG1heGltYWwgcGVyaW9kIG9mIG0tMS4KKyAqCisgKiBUaGUgdHJhbnNhY3Rpb24gaWQgaXMgZGV0ZXJtaW5lZCBieToKKyAqIGlkW25dID0gc2VlZCB4b3IgKGdeWFtuXSBtb2QgbikKKyAqCisgKiBFZmZlY3Rpdmx5IHRoZSBpZCBpcyByZXN0cmljdGVkIHRvIHRoZSBsb3dlciAxNSBiaXRzLCB0aHVzCisgKiB5aWVsZGluZyB0d28gZGlmZmVyZW50IGN5Y2xlcyBieSB0b2dnbGluZyB0aGUgbXNiIG9uIGFuZCBvZmYuCisgKiBUaGlzIGF2b2lkcyByZXVzZSBpc3N1ZXMgY2F1c2VkIGJ5IHJlc2VlZGluZy4KKyAqCisgKiBUaGUgb3V0cHV0IG9mIHRoaXMgZ2VuZXJhdG9yIGlzIHRoZW4gcmFuZG9tbHkgcGVybXV0ZWQgdGhvdWdoIGEKKyAqIGN1c3RvbSAxNSBiaXQgTHVieS1SYWNrb2ZmIGJsb2NrIGNpcGhlci4KKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8cmVzb2x2Lmg+CisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgInRocmVhZF9wcml2YXRlLmgiCisKKyNkZWZpbmUgUlVfT1VUICAJMTgwCS8qIFRpbWUgYWZ0ZXIgd2ljaCB3aWxsIGJlIHJlc2VlZGVkICovCisjZGVmaW5lIFJVX01BWAkJMzAwMDAJLyogVW5pcSBjeWNsZSwgYXZvaWQgYmxhY2tqYWNrIHByZWRpY3Rpb24gKi8KKyNkZWZpbmUgUlVfR0VOCQkyCS8qIFN0YXJ0aW5nIGdlbmVyYXRvciAqLworI2RlZmluZSBSVV9OCQkzMjc0OQkvKiBSVV9OLTEgPSAyKjIqMyoyNzI5ICovCisjZGVmaW5lIFJVX0FHRU4JCTcJLyogZGV0ZXJtaW5lIHJ1X2EgYXMgUlVfQUdFTl4oMipyYW5kKSAqLworI2RlZmluZSBSVV9NCQkzMTEwNAkvKiBSVV9NID0gMl43KjNeNSAtIGRvbid0IGNoYW5nZSAqLworI2RlZmluZSBSVV9ST1VORFMJMTEJLyogTnVtYmVyIG9mIHJvdW5kcyBmb3IgcGVybXV0ZSAob2RkKSAqLworCitzdHJ1Y3QgcHJmX2N0eCB7CisJLyogUFJGIGxvb2t1cCB0YWJsZSBmb3Igb2RkIHJvdW5kcyAoNyBiaXRzIGlucHV0IHRvIDggYml0cyBvdXRwdXQpICovCisJdV9jaGFyIHByZjdbKFJVX1JPVU5EUyAvIDIpICogKDEgPDwgNyldOworCisJLyogUFJGIGxvb2t1cCB0YWJsZSBmb3IgZXZlbiByb3VuZHMgKDggYml0cyBpbnB1dCB0byA3IGJpdHMgb3V0cHV0KSAqLworCXVfY2hhciBwcmY4WygoUlVfUk9VTkRTICsgMSkgLyAyKSAqICgxIDw8IDgpXTsKK307CisKKyNkZWZpbmUgUEZBQ19OIDMKK3N0YXRpYyBjb25zdCB1X2ludDE2X3QgcGZhY3RzW1BGQUNfTl0gPSB7CisJMiwgCisJMywKKwkyNzI5Cit9OworCitzdGF0aWMgdV9pbnQxNl90IHJ1X3g7CitzdGF0aWMgdV9pbnQxNl90IHJ1X3NlZWQsIHJ1X3NlZWQyOworc3RhdGljIHVfaW50MTZfdCBydV9hLCBydV9iOworc3RhdGljIHVfaW50MTZfdCBydV9nOworc3RhdGljIHVfaW50MTZfdCBydV9jb3VudGVyID0gMDsKK3N0YXRpYyB1X2ludDE2X3QgcnVfbXNiID0gMDsKK3N0YXRpYyBzdHJ1Y3QgcHJmX2N0eCAqcnVfcHJmID0gTlVMTDsKK3N0YXRpYyB0aW1lX3QgcnVfcmVzZWVkOworCitzdGF0aWMgdV9pbnQxNl90IHBtb2QodV9pbnQxNl90LCB1X2ludDE2X3QsIHVfaW50MTZfdCk7CitzdGF0aWMgdm9pZCByZXNfaW5pdGlkKHZvaWQpOworCisvKgorICogRG8gYSBmYXN0IG1vZHVsYXIgZXhwb25hdGlvbiwgcmV0dXJuZWQgdmFsdWUgd2lsbCBiZSBpbiB0aGUgcmFuZ2UKKyAqIG9mIDAgLSAobW9kLTEpCisgKi8KK3N0YXRpYyB1X2ludDE2X3QKK3Btb2QodV9pbnQxNl90IGdlbiwgdV9pbnQxNl90IGV4cCwgdV9pbnQxNl90IG1vZCkKK3sKKwl1X2ludDE2X3QgcywgdCwgdTsKKworCXMgPSAxOworCXQgPSBnZW47CisJdSA9IGV4cDsKKworCXdoaWxlICh1KSB7CisJCWlmICh1ICYgMSkKKwkJCXMgPSAocyAqIHQpICUgbW9kOworCQl1ID4+PSAxOworCQl0ID0gKHQgKiB0KSAlIG1vZDsKKwl9CisJcmV0dXJuIChzKTsKK30KKworLyoKKyAqIDE1LWJpdCBwZXJtdXRhdGlvbiBiYXNlZCBvbiBMdWJ5LVJhY2tvZmYgYmxvY2sgY2lwaGVyCisgKi8KK3N0YXRpYyB1X2ludAorcGVybXV0ZTE1KHVfaW50IGluKQoreworCWludCBpOworCXVfaW50IGxlZnQsIHJpZ2h0LCB0bXA7CisKKwlpZiAocnVfcHJmID09IE5VTEwpCisJCXJldHVybiBpbjsKKworCWxlZnQgPSAoaW4gPj4gOCkgJiAweDdmOworCXJpZ2h0ID0gaW4gJiAweGZmOworCisJLyoKKwkgKiBFYWNoIHJvdW5kIHN3YXBzIHRoZSB3aWR0aCBvZiBsZWZ0IGFuZCByaWdodC4gRXZlbiByb3VuZHMgaGF2ZQorCSAqIGEgNy1iaXQgbGVmdCwgb2RkIHJvdW5kcyBoYXZlIGFuIDgtYml0IGxlZnQuCVNpbmNlIHRoaXMgdXNlcyBhbgorCSAqIG9kZCBudW1iZXIgb2Ygcm91bmRzLCBsZWZ0IGlzIGFsd2F5cyA4IGJpdHMgd2lkZSBhdCB0aGUgZW5kLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBSVV9ST1VORFM7IGkrKykgeworCQlpZiAoKGkgJiAxKSA9PSAwKQorCQkJdG1wID0gcnVfcHJmLT5wcmY4WyhpIDw8ICg4IC0gMSkpIHwgcmlnaHRdICYgMHg3ZjsKKwkJZWxzZQorCQkJdG1wID0gcnVfcHJmLT5wcmY3WygoaSAtIDEpIDw8ICg3IC0gMSkpIHwgcmlnaHRdOworCQl0bXAgXj0gbGVmdDsKKwkJbGVmdCA9IHJpZ2h0OworCQlyaWdodCA9IHRtcDsKKwl9CisKKwlyZXR1cm4gKHJpZ2h0IDw8IDgpIHwgbGVmdDsKK30KKworLyogCisgKiBJbml0aWFsaXplcyB0aGUgc2VlZCBhbmQgY2hvb3NlcyBhIHN1aXRhYmxlIGdlbmVyYXRvci4gQWxzbyB0b2dnbGVzIAorICogdGhlIG1zYiBmbGFnLiBUaGUgbXNiIGZsYWcgaXMgdXNlZCB0byBnZW5lcmF0ZSB0d28gZGlzdGluY3QKKyAqIGN5Y2xlcyBvZiByYW5kb20gbnVtYmVycyBhbmQgdGh1cyBhdm9pZGluZyByZXVzZSBvZiBpZHMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSByZXNfcmFuZG9taWQoKSB3aGVuIG5lZWRlZCwgYW4gCisgKiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBoYXZlIHRvIHdvcnJ5IGFib3V0IGl0LgorICovCitzdGF0aWMgdm9pZCAKK3Jlc19pbml0aWQodm9pZCkKK3sKKwl1X2ludDE2X3QgaiwgaTsKKwl1X2ludDMyX3QgdG1wOworCWludCBub3ByaW1lID0gMTsKKwlzdHJ1Y3QgdGltZXNwZWMgdHM7CisKKwlydV94ID0gYXJjNHJhbmRvbV91bmlmb3JtKFJVX00pOworCisJLyogMTUgYml0cyBvZiByYW5kb20gc2VlZCAqLworCXRtcCA9IGFyYzRyYW5kb20oKTsKKwlydV9zZWVkID0gKHRtcCA+PiAxNikgJiAweDdGRkY7CisJcnVfc2VlZDIgPSB0bXAgJiAweDdGRkY7CisKKwkvKiBEZXRlcm1pbmUgdGhlIExDRyB3ZSB1c2UgKi8KKwl0bXAgPSBhcmM0cmFuZG9tKCk7CisJcnVfYiA9ICh0bXAgJiAweGZmZmUpIHwgMTsKKwlydV9hID0gcG1vZChSVV9BR0VOLCAodG1wID4+IDE2KSAmIDB4ZmZmZSwgUlVfTSk7CisJd2hpbGUgKHJ1X2IgJSAzID09IDApCisJCXJ1X2IgKz0gMjsKKwkKKwlqID0gYXJjNHJhbmRvbV91bmlmb3JtKFJVX04pOworCisJLyogCisJICogRG8gYSBmYXN0IGdjZChqLFJVX04tMSksIHNvIHdlIGNhbiBmaW5kIGEgaiB3aXRoCisJICogZ2NkKGosIFJVX04tMSkgPT0gMSwgZ2l2aW5nIGEgbmV3IGdlbmVyYXRvciBmb3IKKwkgKiBSVV9HRU5eaiBtb2QgUlVfTgorCSAqLworCisJd2hpbGUgKG5vcHJpbWUpIHsKKwkJZm9yIChpID0gMDsgaSA8IFBGQUNfTjsgaSsrKQorCQkJaWYgKGogJSBwZmFjdHNbaV0gPT0gMCkKKwkJCQlicmVhazsKKworCQlpZiAoaSA+PSBQRkFDX04pCisJCQlub3ByaW1lID0gMDsKKwkJZWxzZSAKKwkJCWogPSAoaiArIDEpICUgUlVfTjsKKwl9CisKKwlydV9nID0gcG1vZChSVV9HRU4sIGosIFJVX04pOworCXJ1X2NvdW50ZXIgPSAwOworCisJLyogSW5pdGlhbGlzZSBQUkYgZm9yIEx1YnktUmFja29mZiBwZXJtdXRhdGlvbiAqLworCWlmIChydV9wcmYgPT0gTlVMTCkKKwkJcnVfcHJmID0gbWFsbG9jKHNpemVvZigqcnVfcHJmKSk7CisJaWYgKHJ1X3ByZiAhPSBOVUxMKQorCQlhcmM0cmFuZG9tX2J1ZihydV9wcmYsIHNpemVvZigqcnVfcHJmKSk7CisKKwljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKTsKKwlydV9yZXNlZWQgPSB0cy50dl9zZWMgKyBSVV9PVVQ7CisJcnVfbXNiID0gcnVfbXNiID09IDB4ODAwMCA/IDAgOiAweDgwMDA7IAorfQorCit1X2ludAorcmVzX3JhbmRvbWlkKHZvaWQpCit7CisJc3RydWN0IHRpbWVzcGVjIHRzOworCXVfaW50IHI7CisJX1RIUkVBRF9QUklWQVRFX01VVEVYKHJhbmRvbSk7CisKKwljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKTsKKworCV9USFJFQURfUFJJVkFURV9NVVRFWF9MT0NLKHJhbmRvbSk7CisKKwlpZiAocnVfY291bnRlciA+PSBSVV9NQVggfHwgdHMudHZfc2VjID4gcnVfcmVzZWVkKQorCQlyZXNfaW5pdGlkKCk7CisKKwkvKiBMaW5lYXIgQ29uZ3J1ZW50aWFsIEdlbmVyYXRvciAqLworCXJ1X3ggPSAocnVfYSAqIHJ1X3ggKyBydV9iKSAlIFJVX007CisJcnVfY291bnRlcisrOworCisJciA9IHBlcm11dGUxNShydV9zZWVkIF4gcG1vZChydV9nLCBydV9zZWVkMiArIHJ1X3gsIFJVX04pKSB8IHJ1X21zYjsKKworCV9USFJFQURfUFJJVkFURV9NVVRFWF9VTkxPQ0socmFuZG9tKTsKKworCXJldHVybiAocik7Cit9CisKKyNpZiAwCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBpLCBuOworCXVfaW50MTZfdCB3ZXJ0OworCisJcmVzX2luaXRpZCgpOworCisJcHJpbnRmKCJHZW5lcmF0b3I6ICV1XG4iLCBydV9nKTsKKwlwcmludGYoIlNlZWQ6ICV1XG4iLCBydV9zZWVkKTsKKwlwcmludGYoIlJlc2VlZCBhdCAlbGRcbiIsIHJ1X3Jlc2VlZCk7CisJcHJpbnRmKCJSdV9YOiAldVxuIiwgcnVfeCk7CisJcHJpbnRmKCJSdV9BOiAldVxuIiwgcnVfYSk7CisJcHJpbnRmKCJSdV9COiAldVxuIiwgcnVfYik7CisKKwluID0gYXJnYyA+IDEgPyBhdG9pKGFyZ3ZbMV0pIDogNjAwMDE7CisJZm9yIChpPTA7aTxuO2krKykgeworCQl3ZXJ0ID0gcmVzX3JhbmRvbWlkKCk7CisJCXByaW50ZigiJXVcbiIsIHdlcnQpOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmNsb3NlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcyYWY1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mY2xvc2UuYwpAQCAtMCwwICsxLDYzIEBACisvKgkkT3BlbkJTRDogZmNsb3NlLmMsdiAxLjkgMjAwOS8xMS8wOSAwMDoxODoyNyBrdXJ0IEV4cCAkICovCisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogQ2hyaXMgVG9yZWsuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSAibG9jYWwuaCIKKworaW50CitmY2xvc2UoRklMRSAqZnApCit7CisJaW50IHI7CisKKwlpZiAoZnAtPl9mbGFncyA9PSAwKSB7CS8qIG5vdCBvcGVuISAqLworCQllcnJubyA9IEVCQURGOworCQlyZXR1cm4gKEVPRik7CisJfQorCUZMT0NLRklMRShmcCk7CisJV0NJT19GUkVFKGZwKTsKKwlyID0gZnAtPl9mbGFncyAmIF9fU1dSID8gX19zZmx1c2goZnApIDogMDsKKwlpZiAoZnAtPl9jbG9zZSAhPSBOVUxMICYmICgqZnAtPl9jbG9zZSkoZnAtPl9jb29raWUpIDwgMCkKKwkJciA9IEVPRjsKKwlpZiAoZnAtPl9mbGFncyAmIF9fU01CRikKKwkJZnJlZSgoY2hhciAqKWZwLT5fYmYuX2Jhc2UpOworCWlmIChIQVNVQihmcCkpCisJCUZSRUVVQihmcCk7CisJaWYgKEhBU0xCKGZwKSkKKwkJRlJFRUxCKGZwKTsKKwlmcC0+X3IgPSBmcC0+X3cgPSAwOwkvKiBNZXNzIHVwIGlmIHJlYWNjZXNzZWQuICovCisJZnAtPl9mbGFncyA9IDA7CQkvKiBSZWxlYXNlIHRoaXMgRklMRSBmb3IgcmV1c2UuICovCisJRlVOTE9DS0ZJTEUoZnApOworCXJldHVybiAocik7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmRvcGVuLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmRvcGVuLmMKaW5kZXggM2U0N2YyYy4uMWMwYzgxMyAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2Zkb3Blbi5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mZG9wZW4uYwpAQCAtMSw0ICsxLDQgQEAKLS8qCSRPcGVuQlNEOiBmZG9wZW4uYyx2IDEuNiAyMDA4LzA0LzIxIDEyOjI4OjM1IG90dG8gRXhwICQgKi8KKy8qCSRPcGVuQlNEOiBmZG9wZW4uYyx2IDEuNyAyMDE0LzA4LzMxIDAyOjIxOjE4IGd1ZW50aGVyIEV4cCAkICovCiAvKi0KICAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MwogICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC02Niw2ICs2Niw3IEBACiAJaWYgKChmcCA9IF9fc2ZwKCkpID09IE5VTEwpCiAJCXJldHVybiAoTlVMTCk7CiAJZnAtPl9mbGFncyA9IGZsYWdzOworCiAJLyoKIAkgKiBJZiBvcGVuZWQgZm9yIGFwcGVuZGluZywgYnV0IHVuZGVybHlpbmcgZGVzY3JpcHRvciBkb2VzIG5vdCBoYXZlCiAJICogT19BUFBFTkQgYml0IHNldCwgYXNzZXJ0IF9fU0FQUCBzbyB0aGF0IF9fc3dyaXRlKCkgd2lsbCBsc2VlayB0bwpAQCAtNzMsNiArNzQsMTMgQEAKIAkgKi8KIAlpZiAoKG9mbGFncyAmIE9fQVBQRU5EKSAmJiAhKGZkZmxhZ3MgJiBPX0FQUEVORCkpCiAJCWZwLT5fZmxhZ3MgfD0gX19TQVBQOworCisJLyoKKwkgKiBJZiBjbG9zZS1vbi1leGVjIHdhcyByZXF1ZXN0ZWQsIHRoZW4gdHVybiBpdCBvbiBpZiBub3QgYWxyZWFkeQorCSAqLworCWlmICgob2ZsYWdzICYgT19DTE9FWEVDKSAmJiAhKCh0bXAgPSBmY250bChmZCwgRl9HRVRGRCkpICYgRkRfQ0xPRVhFQykpCisJCWZjbnRsKGZkLCBGX1NFVEZELCB0bXAgfCBGRF9DTE9FWEVDKTsKKwogCWZwLT5fZmlsZSA9IGZkOwogCWZwLT5fY29va2llID0gZnA7CiAJZnAtPl9yZWFkID0gX19zcmVhZDsKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mZ2V0bG4uYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mZ2V0bG4uYwppbmRleCBkMGMwODA5Li4xMTA5Y2YyIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmdldGxuLmMKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZnZXRsbi5jCkBAIC0xLDQgKzEsNCBAQAotLyoJJE9wZW5CU0Q6IGZnZXRsbi5jLHYgMS4xMiAyMDEzLzExLzEyIDA3OjA0OjA2IGRlcmFhZHQgRXhwICQgKi8KKy8qCSRPcGVuQlNEOiBmZ2V0bG4uYyx2IDEuMTMgMjAxNS8wMS8wNSAyMTo1ODo1MiBtaWxsZXJ0IEV4cCAkICovCiAvKi0KICAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MwogICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0zOCwxOSArMzgsMTIgQEAKIAogLyoKICAqIEV4cGFuZCB0aGUgbGluZSBidWZmZXIuICBSZXR1cm4gLTEgb24gZXJyb3IuCi0jaWZkZWYgbm90ZGVmCi0gKiBUaGUgYG5ldyBzaXplJyBkb2VzIG5vdCBhY2NvdW50IGZvciBhIHRlcm1pbmF0aW5nICdcMCcsCi0gKiBzbyB3ZSBhZGQgMSBoZXJlLgotI2VuZGlmCiAgKi8KIHN0YXRpYyBpbnQKIF9fc2xiZXhwYW5kKEZJTEUgKmZwLCBzaXplX3QgbmV3c2l6ZSkKIHsKIAl2b2lkICpwOwogCi0jaWZkZWYgbm90ZGVmCi0JKytuZXdzaXplOwotI2VuZGlmCiAJaWYgKGZwLT5fbGIuX3NpemUgPj0gbmV3c2l6ZSkKIAkJcmV0dXJuICgwKTsKIAlpZiAoKHAgPSByZWFsbG9jKGZwLT5fbGIuX2Jhc2UsIG5ld3NpemUpKSA9PSBOVUxMKQpAQCAtMTQxLDE0ICsxMzQsMTEgQEAKIAl9CiAJKmxlbnAgPSBsZW47CiAJcmV0ID0gKGNoYXIgKilmcC0+X2xiLl9iYXNlOwotI2lmZGVmIG5vdGRlZgotCXJldFtsZW5dID0gJ1wwJzsKLSNlbmRpZgogCUZVTkxPQ0tGSUxFKGZwKTsKIAlyZXR1cm4gKHJldCk7CiAKIGVycm9yOgotCSpsZW5wID0gMDsJCS8qID8/PyAqLwogCUZVTkxPQ0tGSUxFKGZwKTsKLQlyZXR1cm4gKE5VTEwpOwkJLyogPz8/ICovCisJKmxlbnAgPSAwOworCXJldHVybiAoTlVMTCk7CiB9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmxhZ3MuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mbGFncy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZGY2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZmxhZ3MuYwpAQCAtMCwwICsxLDEwNSBAQAorLyoJJE9wZW5CU0Q6IGZsYWdzLmMsdiAxLjggMjAxNC8wOC8zMSAwMjoyMToxOCBndWVudGhlciBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKKyAqIENocmlzIFRvcmVrLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSAibG9jYWwuaCIKKworLyoKKyAqIFJldHVybiB0aGUgKHN0ZGlvKSBmbGFncyBmb3IgYSBnaXZlbiBtb2RlLiAgU3RvcmUgdGhlIGZsYWdzCisgKiB0byBiZSBwYXNzZWQgdG8gYW4gb3BlbigpIHN5c2NhbGwgdGhyb3VnaCAqb3B0ci4KKyAqIFJldHVybiAwIG9uIGVycm9yLgorICovCitpbnQKK19fc2ZsYWdzKGNvbnN0IGNoYXIgKm1vZGUsIGludCAqb3B0cikKK3sKKwlpbnQgcmV0LCBtLCBvOworCisJc3dpdGNoICgqbW9kZSsrKSB7CisKKwljYXNlICdyJzoJLyogb3BlbiBmb3IgcmVhZGluZyAqLworCQlyZXQgPSBfX1NSRDsKKwkJbSA9IE9fUkRPTkxZOworCQlvID0gMDsKKwkJYnJlYWs7CisKKwljYXNlICd3JzoJLyogb3BlbiBmb3Igd3JpdGluZyAqLworCQlyZXQgPSBfX1NXUjsKKwkJbSA9IE9fV1JPTkxZOworCQlvID0gT19DUkVBVCB8IE9fVFJVTkM7CisJCWJyZWFrOworCisJY2FzZSAnYSc6CS8qIG9wZW4gZm9yIGFwcGVuZGluZyAqLworCQlyZXQgPSBfX1NXUjsKKwkJbSA9IE9fV1JPTkxZOworCQlvID0gT19DUkVBVCB8IE9fQVBQRU5EOworCQlicmVhazsKKworCWRlZmF1bHQ6CS8qIGlsbGVnYWwgbW9kZSAqLworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuICgwKTsKKwl9CisKKwl3aGlsZSAoKm1vZGUgIT0gJ1wwJykgCisJCXN3aXRjaCAoKm1vZGUrKykgeworCQljYXNlICdiJzoKKwkJCWJyZWFrOworCQljYXNlICcrJzoKKwkJCXJldCA9IF9fU1JXOworCQkJbSA9IE9fUkRXUjsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCW8gfD0gT19DTE9FWEVDOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJaWYgKG8gJiBPX0NSRUFUKQorCQkJCW8gfD0gT19FWENMOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkvKgorCQkJICogTG90cyBvZiBzb2Z0d2FyZSBwYXNzZXMgb3RoZXIgZXh0ZW5zaW9uIG1vZGUKKwkJCSAqIGxldHRlcnMsIGxpa2UgV2luZG93J3MgJ3QnCisJCQkgKi8KKyNpZiAwCisJCQllcnJubyA9IEVJTlZBTDsKKwkJCXJldHVybiAoMCk7CisjZWxzZQorCQkJYnJlYWs7CisjZW5kaWYKKwkJfQorCisJKm9wdHIgPSBtIHwgbzsKKwlyZXR1cm4gKHJldCk7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZm1lbW9wZW4uYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mbWVtb3Blbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZGEwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZm1lbW9wZW4uYwpAQCAtMCwwICsxLDE4MyBAQAorLyoJJE9wZW5CU0Q6IGZtZW1vcGVuLmMsdiAxLjIgMjAxMy8wMy8yNyAxNTowNjoyNSBtcGkgRXhwICQJKi8KKworLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMSBNYXJ0aW4gUGlldWNob3QgPG1waUBvcGVuYnNkLm9yZz4KKyAqIENvcHlyaWdodCAoYykgMjAwOSBUZWQgVW5hbmdzdAorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMKKyAqIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SCisgKiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTCisgKiBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJsb2NhbC5oIgorCitzdHJ1Y3Qgc3RhdGUgeworCWNoYXIJCSpzdHJpbmc7CS8qIGFjdHVhbCBzdHJlYW0gKi8KKwlzaXplX3QJCSBwb3M7CQkvKiBjdXJyZW50IHBvc2l0aW9uICovCisJc2l6ZV90CQkgc2l6ZTsJCS8qIGFsbG9jYXRlZCBzaXplICovCisJc2l6ZV90CQkgbGVuOwkJLyogbGVuZ3RoIG9mIHRoZSBkYXRhICovCisJaW50CQkgdXBkYXRlOwkvKiBvcGVuIGZvciB1cGRhdGUgKi8KK307CisKK3N0YXRpYyBpbnQKK2ZtZW1vcGVuX3JlYWQodm9pZCAqdiwgY2hhciAqYiwgaW50IGwpCit7CisJc3RydWN0IHN0YXRlCSpzdCA9IHY7CisJaW50CQkgaTsKKworCWZvciAoaSA9IDA7IGkgPCBsICYmIGkgKyBzdC0+cG9zIDwgc3QtPmxlbjsgaSsrKQorCQliW2ldID0gc3QtPnN0cmluZ1tzdC0+cG9zICsgaV07CisJc3QtPnBvcyArPSBpOworCisJcmV0dXJuIChpKTsKK30KKworc3RhdGljIGludAorZm1lbW9wZW5fd3JpdGUodm9pZCAqdiwgY29uc3QgY2hhciAqYiwgaW50IGwpCit7CisJc3RydWN0IHN0YXRlCSpzdCA9IHY7CisJaW50CQlpOworCisJZm9yIChpID0gMDsgaSA8IGwgJiYgaSArIHN0LT5wb3MgPCBzdC0+c2l6ZTsgaSsrKQorCQlzdC0+c3RyaW5nW3N0LT5wb3MgKyBpXSA9IGJbaV07CisJc3QtPnBvcyArPSBpOworCisJaWYgKHN0LT5wb3MgPj0gc3QtPmxlbikgeworCQlzdC0+bGVuID0gc3QtPnBvczsKKworCQlpZiAoc3QtPmxlbiA8IHN0LT5zaXplKQorCQkJc3QtPnN0cmluZ1tzdC0+bGVuXSA9ICdcMCc7CisJCWVsc2UgaWYgKCFzdC0+dXBkYXRlKQorCQkJc3QtPnN0cmluZ1tzdC0+c2l6ZSAtIDFdID0gJ1wwJzsKKwl9CisKKwlyZXR1cm4gKGkpOworfQorCitzdGF0aWMgZnBvc190CitmbWVtb3Blbl9zZWVrKHZvaWQgKnYsIGZwb3NfdCBvZmYsIGludCB3aGVuY2UpCit7CisJc3RydWN0IHN0YXRlCSpzdCA9IHY7CisJc3NpemVfdAkJIGJhc2UgPSAwOworCisJc3dpdGNoICh3aGVuY2UpIHsKKwljYXNlIFNFRUtfU0VUOgorCQlicmVhazsKKwljYXNlIFNFRUtfQ1VSOgorCQliYXNlID0gc3QtPnBvczsKKwkJYnJlYWs7CisJY2FzZSBTRUVLX0VORDoKKwkJYmFzZSA9IHN0LT5sZW47CisJCWJyZWFrOworCX0KKworCWlmIChvZmYgPiBzdC0+c2l6ZSAtIGJhc2UgfHwgb2ZmIDwgLWJhc2UpIHsKKwkJZXJybm8gPSBFT1ZFUkZMT1c7CisJCXJldHVybiAoLTEpOworCX0KKworCXN0LT5wb3MgPSBiYXNlICsgb2ZmOworCisJcmV0dXJuIChzdC0+cG9zKTsKK30KKworc3RhdGljIGludAorZm1lbW9wZW5fY2xvc2Uodm9pZCAqdikKK3sKKwlmcmVlKHYpOworCisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIGludAorZm1lbW9wZW5fY2xvc2VfZnJlZSh2b2lkICp2KQoreworCXN0cnVjdCBzdGF0ZQkqc3QgPSB2OworCisJZnJlZShzdC0+c3RyaW5nKTsKKwlmcmVlKHN0KTsKKworCXJldHVybiAoMCk7Cit9CisKK0ZJTEUgKgorZm1lbW9wZW4odm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqbW9kZSkKK3sKKwlzdHJ1Y3Qgc3RhdGUJKnN0OworCUZJTEUJCSpmcDsKKwlpbnQJCSBmbGFncywgb2ZsYWdzOworCisJaWYgKHNpemUgPT0gMCkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisKKwlpZiAoKGZsYWdzID0gX19zZmxhZ3MobW9kZSwgJm9mbGFncykpID09IDApIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiAoTlVMTCk7CisJfQorCisJaWYgKGJ1ZiA9PSBOVUxMICYmICgob2ZsYWdzICYgT19SRFdSKSA9PSAwKSkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisKKwlpZiAoKHN0ID0gbWFsbG9jKHNpemVvZigqc3QpKSkgPT0gTlVMTCkKKwkJcmV0dXJuIChOVUxMKTsKKworCWlmICgoZnAgPSBfX3NmcCgpKSA9PSBOVUxMKSB7CisJCWZyZWUoc3QpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKworCXN0LT5wb3MgPSAwOworCXN0LT5sZW4gPSAob2ZsYWdzICYgT19XUk9OTFkpID8gMCA6IHNpemU7CisJc3QtPnNpemUgPSBzaXplOworCXN0LT51cGRhdGUgPSBvZmxhZ3MgJiBPX1JEV1I7CisKKwlpZiAoYnVmID09IE5VTEwpIHsKKwkJaWYgKChzdC0+c3RyaW5nID0gbWFsbG9jKHNpemUpKSA9PSBOVUxMKSB7CisJCQlmcmVlKHN0KTsKKwkJCWZwLT5fZmxhZ3MgPSAwOworCQkJcmV0dXJuIChOVUxMKTsKKwkJfQorCQkqc3QtPnN0cmluZyA9ICdcMCc7CisJfSBlbHNlIHsKKwkJc3QtPnN0cmluZyA9IChjaGFyICopYnVmOworCisJCWlmIChvZmxhZ3MgJiBPX1RSVU5DKQorCQkJKnN0LT5zdHJpbmcgPSAnXDAnOworCisJCWlmIChvZmxhZ3MgJiBPX0FQUEVORCkgeworCQkJY2hhcgkqcDsKKworCQkJaWYgKChwID0gbWVtY2hyKHN0LT5zdHJpbmcsICdcMCcsIHNpemUpKSAhPSBOVUxMKQorCQkJCXN0LT5wb3MgPSBzdC0+bGVuID0gKHAgLSBzdC0+c3RyaW5nKTsKKwkJCWVsc2UKKwkJCQlzdC0+cG9zID0gc3QtPmxlbiA9IHNpemU7CisJCX0KKwl9CisKKwlmcC0+X2ZsYWdzID0gKHNob3J0KWZsYWdzOworCWZwLT5fZmlsZSA9IC0xOworCWZwLT5fY29va2llID0gKHZvaWQgKilzdDsKKwlmcC0+X3JlYWQgPSAoZmxhZ3MgJiBfX1NXUikgPyBOVUxMIDogZm1lbW9wZW5fcmVhZDsKKwlmcC0+X3dyaXRlID0gKGZsYWdzICYgX19TUkQpID8gTlVMTCA6IGZtZW1vcGVuX3dyaXRlOworCWZwLT5fc2VlayA9IGZtZW1vcGVuX3NlZWs7CisJZnAtPl9jbG9zZSA9IChidWYgPT0gTlVMTCkgPyBmbWVtb3Blbl9jbG9zZV9mcmVlIDogZm1lbW9wZW5fY2xvc2U7CisKKwlyZXR1cm4gKGZwKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mb3Blbi5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZvcGVuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ2NTA1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mb3Blbi5jCkBAIC0wLDAgKzEsODYgQEAKKy8qCSRPcGVuQlNEOiBmb3Blbi5jLHYgMS43IDIwMDgvMDUvMDMgMTg6NDY6NDEgY2hsIEV4cCAkICovCisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogQ2hyaXMgVG9yZWsuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgImxvY2FsLmgiCisKK0ZJTEUgKgorZm9wZW4oY29uc3QgY2hhciAqZmlsZSwgY29uc3QgY2hhciAqbW9kZSkKK3sKKwlGSUxFICpmcDsKKwlpbnQgZjsKKwlpbnQgZmxhZ3MsIG9mbGFnczsKKworCWlmICgoZmxhZ3MgPSBfX3NmbGFncyhtb2RlLCAmb2ZsYWdzKSkgPT0gMCkKKwkJcmV0dXJuIChOVUxMKTsKKwlpZiAoKGZwID0gX19zZnAoKSkgPT0gTlVMTCkKKwkJcmV0dXJuIChOVUxMKTsKKwlpZiAoKGYgPSBvcGVuKGZpbGUsIG9mbGFncywgREVGRklMRU1PREUpKSA8IDApIHsKKwkJZnAtPl9mbGFncyA9IDA7CQkJLyogcmVsZWFzZSAqLworCQlyZXR1cm4gKE5VTEwpOworCX0KKworCS8qIF9maWxlIGlzIG9ubHkgYSBzaG9ydCAqLworCWlmIChmID4gU0hSVF9NQVgpIHsKKwkJZnAtPl9mbGFncyA9IDA7CQkJLyogcmVsZWFzZSAqLworCQljbG9zZShmKTsKKwkJZXJybm8gPSBFTUZJTEU7CisJCXJldHVybiAoTlVMTCk7CisJfQorCisJZnAtPl9maWxlID0gZjsKKwlmcC0+X2ZsYWdzID0gZmxhZ3M7CisJZnAtPl9jb29raWUgPSBmcDsKKwlmcC0+X3JlYWQgPSBfX3NyZWFkOworCWZwLT5fd3JpdGUgPSBfX3N3cml0ZTsKKwlmcC0+X3NlZWsgPSBfX3NzZWVrOworCWZwLT5fY2xvc2UgPSBfX3NjbG9zZTsKKworCS8qCisJICogV2hlbiBvcGVuaW5nIGluIGFwcGVuZCBtb2RlLCBldmVuIHRob3VnaCB3ZSB1c2UgT19BUFBFTkQsCisJICogd2UgbmVlZCB0byBzZWVrIHRvIHRoZSBlbmQgc28gdGhhdCBmdGVsbCgpIGdldHMgdGhlIHJpZ2h0CisJICogYW5zd2VyLiAgSWYgdGhlIHVzZXIgdGhlbiBhbHRlcnMgdGhlIHNlZWsgcG9pbnRlciwgb3IKKwkgKiB0aGUgZmlsZSBleHRlbmRzLCB0aGlzIHdpbGwgZmFpbCwgYnV0IHRoZXJlIGlzIG5vdCBtdWNoCisJICogd2UgY2FuIGRvIGFib3V0IHRoaXMuICAoV2UgY291bGQgc2V0IF9fU0FQUCBhbmQgY2hlY2sgaW4KKwkgKiBmc2VlayBhbmQgZnRlbGwuKQorCSAqLworCWlmIChvZmxhZ3MgJiBPX0FQUEVORCkKKwkJKHZvaWQpIF9fc3NlZWsoKHZvaWQgKilmcCwgKGZwb3NfdCkwLCBTRUVLX0VORCk7CisJcmV0dXJuIChmcCk7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZnJlb3Blbi5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2ZyZW9wZW4uYwppbmRleCAzMTU4ZmIxLi44MjcxN2IxIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vZnJlb3Blbi5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9mcmVvcGVuLmMKQEAgLTEsNCArMSw0IEBACi0vKgkkT3BlbkJTRDogZnJlb3Blbi5jLHYgMS4xMyAyMDA5LzExLzA5IDAwOjE4OjI3IGt1cnQgRXhwICQgKi8KKy8qCSRPcGVuQlNEOiBmcmVvcGVuLmMsdiAxLjE0IDIwMTQvMDgvMzEgMDI6MjE6MTggZ3VlbnRoZXIgRXhwICQgKi8KIC8qLQogICogQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkzCiAgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTEzNCw3ICsxMzQsNyBAQAogCSAqIGFzc3VtZSBzdGRlcnIgaXMgYWx3YXlzIGZkIFNUREVSUl9GSUxFTk8sIGV2ZW4gaWYgYmVpbmcgZnJlb3BlbidkLgogCSAqLwogCWlmICh3YW50ZmQgPj0gMCAmJiBmICE9IHdhbnRmZCkgewotCQlpZiAoZHVwMihmLCB3YW50ZmQpID49IDApIHsKKwkJaWYgKGR1cDMoZiwgd2FudGZkLCBvZmxhZ3MgJiBPX0NMT0VYRUMpID49IDApIHsKIAkJCSh2b2lkKSBjbG9zZShmKTsKIAkJCWYgPSB3YW50ZmQ7CiAJCX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9nZXRkZWxpbS5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2dldGRlbGltLmMKaW5kZXggZGNkZTBjMy4uNWU1ODNjYiAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2dldGRlbGltLmMKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL2dldGRlbGltLmMKQEAgLTEsNCArMSw0IEBACi0vKgkkT3BlbkJTRDogZ2V0ZGVsaW0uYyx2IDEuMSAyMDEyLzAzLzIxIDIzOjQ0OjM1IGZnc2NoIEV4cCAkCSovCisvKgkkT3BlbkJTRDogZ2V0ZGVsaW0uYyx2IDEuMiAyMDE0LzEwLzE2IDE3OjMxOjUxIG1pbGxlcnQgRXhwICQJKi8KIC8qICROZXRCU0Q6IGdldGRlbGltLmMsdiAxLjEzIDIwMTEvMDcvMjIgMjM6MTI6MzAgam9lcmcgRXhwICQgKi8KIAogLyoKQEAgLTc4LDEzICs3OCwxMiBAQAogCQllbHNlCiAJCQlsZW4gPSAocCAtIGZwLT5fcCkgKyAxOwogCi0JCW5ld2xlbiA9IG9mZiArIGxlbjsKIAkJLyogRW5zdXJlIHdlIGNhbiBoYW5kbGUgaXQgKi8KLQkJaWYgKG5ld2xlbiA8IG9mZiB8fCBuZXdsZW4gPiBTU0laRV9NQVgpIHsKKwkJaWYgKG9mZiA+IFNTSVpFX01BWCB8fCBsZW4gKyAxID4gU1NJWkVfTUFYIC0gb2ZmKSB7CiAJCQllcnJubyA9IEVPVkVSRkxPVzsKIAkJCWdvdG8gZXJyb3I7CiAJCX0KLQkJbmV3bGVuKys7IC8qIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBOVUxMIHRlcm1pbmF0b3IgKi8KKwkJbmV3bGVuID0gb2ZmICsgbGVuICsgMTsgLyogcmVzZXJ2ZSBzcGFjZSBmb3IgTlVMIHRlcm1pbmF0b3IgKi8KIAkJaWYgKG5ld2xlbiA+ICpidWZsZW4pIHsKIAkJCWlmIChuZXdsZW4gPCBNSU5CVUYpCiAJCQkJbmV3bGVuID0gTUlOQlVGOwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL21ha2VidWYuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9tYWtlYnVmLmMKaW5kZXggZDQ3ZTI3Yy4uNTZlNWYyMSAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL21ha2VidWYuYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vbWFrZWJ1Zi5jCkBAIC0xLDQgKzEsNCBAQAotLyoJJE9wZW5CU0Q6IG1ha2VidWYuYyx2IDEuOCAyMDA1LzEyLzI4IDE4OjUwOjIyIG1pbGxlcnQgRXhwICQgKi8KKy8qCSRPcGVuQlNEOiBtYWtlYnVmLmMsdiAxLjkgMjAxNS8wMS8xMyAwNzoxODoyMSBndWVudGhlciBFeHAgJCAqLwogLyotCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKICAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNjUsNyArNjUsNiBAQAogCQlmcC0+X2JmLl9zaXplID0gMTsKIAkJcmV0dXJuOwogCX0KLQlfX2F0ZXhpdF9yZWdpc3Rlcl9jbGVhbnVwKF9jbGVhbnVwKTsKIAlmbGFncyB8PSBfX1NNQkY7CiAJZnAtPl9iZi5fYmFzZSA9IGZwLT5fcCA9IHA7CiAJZnAtPl9iZi5fc2l6ZSA9IHNpemU7CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vbWt0ZW1wLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vbWt0ZW1wLmMKaW5kZXggY2IxNTRjNC4uOTU2NjA4YyAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL21rdGVtcC5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9ta3RlbXAuYwpAQCAtMSw0ICsxLDQgQEAKLS8qCSRPcGVuQlNEOiBta3RlbXAuYyx2IDEuMzMgMjAxNC8wNS8wNiAyMjo1NToyNyBtaWxsZXJ0IEV4cCAkICovCisvKgkkT3BlbkJTRDogbWt0ZW1wLmMsdiAxLjM1IDIwMTQvMTAvMzEgMTU6NTQ6MTQgbWlsbGVydCBFeHAgJCAqLwogLyoKICAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk4LCAyMDA4IFRoZW8gZGUgUmFhZHQKICAqIENvcHlyaWdodCAoYykgMTk5NywgMjAwOC0yMDA5IFRvZGQgQy4gTWlsbGVyCkBAIC0zNSwxNSArMzUsMTcgQEAKICNkZWZpbmUgTlVNX0NIQVJTCShzaXplb2YoVEVNUENIQVJTKSAtIDEpCiAjZGVmaW5lIE1JTl9YCQk2CiAKKyNkZWZpbmUgTUtPVEVNUF9GTEFHUwkoT19BUFBFTkQgfCBPX0NMT0VYRUMgfCBPX0RTWU5DIHwgT19SU1lOQyB8IE9fU1lOQykKKwogI2lmbmRlZiBuaXRlbXMKICNkZWZpbmUgbml0ZW1zKF9hKQkoc2l6ZW9mKChfYSkpIC8gc2l6ZW9mKChfYSlbMF0pKQogI2VuZGlmCiAKIHN0YXRpYyBpbnQKLW1rdGVtcF9pbnRlcm5hbChjaGFyICpwYXRoLCBpbnQgc2xlbiwgaW50IG1vZGUpCitta3RlbXBfaW50ZXJuYWwoY2hhciAqcGF0aCwgaW50IHNsZW4sIGludCBtb2RlLCBpbnQgZmxhZ3MpCiB7CiAJY2hhciAqc3RhcnQsICpjcCwgKmVwOwotCWNvbnN0IGNoYXIgKnRlbXBjaGFycyA9IFRFTVBDSEFSUzsKKwljb25zdCBjaGFyIHRlbXBjaGFyc1tdID0gVEVNUENIQVJTOwogCXVuc2lnbmVkIGludCB0cmllczsKIAlzdHJ1Y3Qgc3RhdCBzYjsKIAlzaXplX3QgbGVuOwpAQCAtNjMsNiArNjUsMTIgQEAKIAkJcmV0dXJuKC0xKTsKIAl9CiAKKwlpZiAoZmxhZ3MgJiB+TUtPVEVNUF9GTEFHUykgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuKC0xKTsKKwl9CisJZmxhZ3MgfD0gT19DUkVBVCB8IE9fRVhDTCB8IE9fUkRXUjsKKwogCXRyaWVzID0gSU5UX01BWDsKIAlkbyB7CiAJCWNwID0gc3RhcnQ7CkBAIC04NSw3ICs5Myw3IEBACiAJCQkJcmV0dXJuKGVycm5vID09IEVOT0VOVCA/IDAgOiAtMSk7CiAJCQlicmVhazsKIAkJY2FzZSBNS1RFTVBfRklMRToKLQkJCWZkID0gb3BlbihwYXRoLCBPX0NSRUFUfE9fRVhDTHxPX1JEV1IsIFNfSVJVU1J8U19JV1VTUik7CisJCQlmZCA9IG9wZW4ocGF0aCwgZmxhZ3MsIFNfSVJVU1J8U19JV1VTUik7CiAJCQlpZiAoZmQgIT0gLTEgfHwgZXJybm8gIT0gRUVYSVNUKQogCQkJCXJldHVybihmZCk7CiAJCQlicmVhazsKQEAgLTEwNyw3ICsxMTUsNyBAQAogY2hhciAqCiBfbWt0ZW1wKGNoYXIgKnBhdGgpCiB7Ci0JaWYgKG1rdGVtcF9pbnRlcm5hbChwYXRoLCAwLCBNS1RFTVBfTkFNRSkgPT0gLTEpCisJaWYgKG1rdGVtcF9pbnRlcm5hbChwYXRoLCAwLCBNS1RFTVBfTkFNRSwgMCkgPT0gLTEpCiAJCXJldHVybihOVUxMKTsKIAlyZXR1cm4ocGF0aCk7CiB9CkBAIC0xMjIsMTUgKzEzMCwyNyBAQAogfQogCiBpbnQKK21rb3N0ZW1wcyhjaGFyICpwYXRoLCBpbnQgc2xlbiwgaW50IGZsYWdzKQoreworCXJldHVybihta3RlbXBfaW50ZXJuYWwocGF0aCwgc2xlbiwgTUtURU1QX0ZJTEUsIGZsYWdzKSk7Cit9CisKK2ludAogbWtzdGVtcChjaGFyICpwYXRoKQogewotCXJldHVybihta3RlbXBfaW50ZXJuYWwocGF0aCwgMCwgTUtURU1QX0ZJTEUpKTsKKwlyZXR1cm4obWt0ZW1wX2ludGVybmFsKHBhdGgsIDAsIE1LVEVNUF9GSUxFLCAwKSk7Cit9CisKK2ludAorbWtvc3RlbXAoY2hhciAqcGF0aCwgaW50IGZsYWdzKQoreworCXJldHVybihta3RlbXBfaW50ZXJuYWwocGF0aCwgMCwgTUtURU1QX0ZJTEUsIGZsYWdzKSk7CiB9CiAKIGludAogbWtzdGVtcHMoY2hhciAqcGF0aCwgaW50IHNsZW4pCiB7Ci0JcmV0dXJuKG1rdGVtcF9pbnRlcm5hbChwYXRoLCBzbGVuLCBNS1RFTVBfRklMRSkpOworCXJldHVybihta3RlbXBfaW50ZXJuYWwocGF0aCwgc2xlbiwgTUtURU1QX0ZJTEUsIDApKTsKIH0KIAogY2hhciAqCkBAIC0xMzgsNiArMTU4LDYgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQllcnJvciA9IG1rdGVtcF9pbnRlcm5hbChwYXRoLCAwLCBNS1RFTVBfRElSKTsKKwllcnJvciA9IG1rdGVtcF9pbnRlcm5hbChwYXRoLCAwLCBNS1RFTVBfRElSLCAwKTsKIAlyZXR1cm4oZXJyb3IgPyBOVUxMIDogcGF0aCk7CiB9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vb3Blbl9tZW1zdHJlYW0uYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9vcGVuX21lbXN0cmVhbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MTA1MzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vb3Blbl9tZW1zdHJlYW0uYwpAQCAtMCwwICsxLDE1OCBAQAorLyoJJE9wZW5CU0Q6IG9wZW5fbWVtc3RyZWFtLmMsdiAxLjMgMjAxMy8wNC8wMyAwMzoxMTo1MyBndWVudGhlciBFeHAgJAkqLworCisvKgorICogQ29weXJpZ2h0IChjKSAyMDExIE1hcnRpbiBQaWV1Y2hvdCA8bXBpQG9wZW5ic2Qub3JnPgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMKKyAqIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SCisgKiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTCisgKiBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgImxvY2FsLmgiCisKK3N0cnVjdCBzdGF0ZSB7CisJY2hhcgkJICpzdHJpbmc7CS8qIGFjdHVhbCBzdHJlYW0gKi8KKwljaGFyCQkqKnBidWY7CQkvKiBwb2ludCB0byB0aGUgc3RyZWFtICovCisJc2l6ZV90CQkgKnBzaXplOwkvKiBwb2ludCB0byBtaW4ocG9zLCBsZW4pICovCisJc2l6ZV90CQkgIHBvczsJCS8qIGN1cnJlbnQgcG9zaXRpb24gKi8KKwlzaXplX3QJCSAgc2l6ZTsJCS8qIG51bWJlciBvZiBhbGxvY2F0ZWQgY2hhciAqLworCXNpemVfdAkJICBsZW47CQkvKiBsZW5ndGggb2YgdGhlIGRhdGEgKi8KK307CisKK3N0YXRpYyBpbnQKK21lbXN0cmVhbV93cml0ZSh2b2lkICp2LCBjb25zdCBjaGFyICpiLCBpbnQgbCkKK3sKKwlzdHJ1Y3Qgc3RhdGUJKnN0ID0gdjsKKwljaGFyCQkqcDsKKwlzaXplX3QJCSBpLCBlbmQ7CisKKwllbmQgPSAoc3QtPnBvcyArIGwpOworCisJaWYgKGVuZCA+PSBzdC0+c2l6ZSkgeworCQkvKiAxLjYgaXMgKHZlcnkpIGNsb3NlIHRvIHRoZSBnb2xkZW4gcmF0aW8uICovCisJCXNpemVfdAlzeiA9IHN0LT5zaXplICogOCAvIDU7CisKKwkJaWYgKHN6IDwgZW5kICsgMSkKKwkJCXN6ID0gZW5kICsgMTsKKwkJcCA9IHJlYWxsb2Moc3QtPnN0cmluZywgc3opOworCQlpZiAoIXApCisJCQlyZXR1cm4gKC0xKTsKKwkJYnplcm8ocCArIHN0LT5zaXplLCBzeiAtIHN0LT5zaXplKTsKKwkJKnN0LT5wYnVmID0gc3QtPnN0cmluZyA9IHA7CisJCXN0LT5zaXplID0gc3o7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGw7IGkrKykKKwkJc3QtPnN0cmluZ1tzdC0+cG9zICsgaV0gPSBiW2ldOworCXN0LT5wb3MgKz0gbDsKKworCWlmIChzdC0+cG9zID4gc3QtPmxlbikgeworCQlzdC0+bGVuID0gc3QtPnBvczsKKwkJc3QtPnN0cmluZ1tzdC0+bGVuXSA9ICdcMCc7CisJfQorCisJKnN0LT5wc2l6ZSA9IHN0LT5wb3M7CisKKwlyZXR1cm4gKGkpOworfQorCitzdGF0aWMgZnBvc190CittZW1zdHJlYW1fc2Vlayh2b2lkICp2LCBmcG9zX3Qgb2ZmLCBpbnQgd2hlbmNlKQoreworCXN0cnVjdCBzdGF0ZQkqc3QgPSB2OworCXNzaXplX3QJCSBiYXNlID0gMDsKKworCXN3aXRjaCAod2hlbmNlKSB7CisJY2FzZSBTRUVLX1NFVDoKKwkJYnJlYWs7CisJY2FzZSBTRUVLX0NVUjoKKwkJYmFzZSA9IHN0LT5wb3M7CisJCWJyZWFrOworCWNhc2UgU0VFS19FTkQ6CisJCWJhc2UgPSBzdC0+bGVuOworCQlicmVhazsKKwl9CisKKwlpZiAob2ZmID4gU0laRV9NQVggLSBiYXNlIHx8IG9mZiA8IC1iYXNlKSB7CisJCWVycm5vID0gRU9WRVJGTE9XOworCQlyZXR1cm4gKC0xKTsKKwl9CisKKwlzdC0+cG9zID0gYmFzZSArIG9mZjsKKwkqc3QtPnBzaXplID0gTUlOKHN0LT5wb3MsIHN0LT5sZW4pOworCisJcmV0dXJuIChzdC0+cG9zKTsKK30KKworc3RhdGljIGludAorbWVtc3RyZWFtX2Nsb3NlKHZvaWQgKnYpCit7CisJc3RydWN0IHN0YXRlCSpzdCA9IHY7CisKKwlmcmVlKHN0KTsKKworCXJldHVybiAoMCk7Cit9CisKK0ZJTEUgKgorb3Blbl9tZW1zdHJlYW0oY2hhciAqKnBidWYsIHNpemVfdCAqcHNpemUpCit7CisJc3RydWN0IHN0YXRlCSpzdDsKKwlGSUxFCQkqZnA7CisKKwlpZiAocGJ1ZiA9PSBOVUxMIHx8IHBzaXplID09IE5VTEwpIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiAoTlVMTCk7CisJfQorCisJaWYgKChzdCA9IG1hbGxvYyhzaXplb2YoKnN0KSkpID09IE5VTEwpCisJCXJldHVybiAoTlVMTCk7CisKKwlpZiAoKGZwID0gX19zZnAoKSkgPT0gTlVMTCkgeworCQlmcmVlKHN0KTsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisKKwlzdC0+c2l6ZSA9IEJVRlNJWjsKKwlpZiAoKHN0LT5zdHJpbmcgPSBjYWxsb2MoMSwgc3QtPnNpemUpKSA9PSBOVUxMKSB7CisJCWZyZWUoc3QpOworCQlmcC0+X2ZsYWdzID0gMDsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisKKwkqc3QtPnN0cmluZyA9ICdcMCc7CisJc3QtPnBvcyA9IDA7CisJc3QtPmxlbiA9IDA7CisJc3QtPnBidWYgPSBwYnVmOworCXN0LT5wc2l6ZSA9IHBzaXplOworCisJKnBidWYgPSBzdC0+c3RyaW5nOworCSpwc2l6ZSA9IHN0LT5sZW47CisKKwlmcC0+X2ZsYWdzID0gX19TV1I7CisJZnAtPl9maWxlID0gLTE7CisJZnAtPl9jb29raWUgPSBzdDsKKwlmcC0+X3JlYWQgPSBOVUxMOworCWZwLT5fd3JpdGUgPSBtZW1zdHJlYW1fd3JpdGU7CisJZnAtPl9zZWVrID0gbWVtc3RyZWFtX3NlZWs7CisJZnAtPl9jbG9zZSA9IG1lbXN0cmVhbV9jbG9zZTsKKwlfU0VUX09SSUVOVEFUSU9OKGZwLCAtMSk7CisKKwlyZXR1cm4gKGZwKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9vcGVuX3dtZW1zdHJlYW0uYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9vcGVuX3dtZW1zdHJlYW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTFhOTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL29wZW5fd21lbXN0cmVhbS5jCkBAIC0wLDAgKzEsMTY5IEBACisvKgkkT3BlbkJTRDogb3Blbl93bWVtc3RyZWFtLmMsdiAxLjQgMjAxNC8xMC8wOCAwNToyODoxOSBkZXJhYWR0IEV4cCAkCSovCisKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgTWFydGluIFBpZXVjaG90IDxtcGlAb3BlbmJzZC5vcmc+CisgKgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CisgKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUworICogV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IKKyAqIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMKKyAqIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAqIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlICJsb2NhbC5oIgorCitzdHJ1Y3Qgc3RhdGUgeworCXdjaGFyX3QJCSAqc3RyaW5nOwkvKiBhY3R1YWwgc3RyZWFtICovCisJd2NoYXJfdAkJKipwYnVmOwkJLyogcG9pbnQgdG8gdGhlIHN0cmVhbSAqLworCXNpemVfdAkJICpwc2l6ZTsJLyogcG9pbnQgdG8gbWluKHBvcywgbGVuKSAqLworCXNpemVfdAkJICBwb3M7CQkvKiBjdXJyZW50IHBvc2l0aW9uICovCisJc2l6ZV90CQkgIHNpemU7CQkvKiBudW1iZXIgb2YgYWxsb2NhdGVkIHdjaGFyX3QgKi8KKwlzaXplX3QJCSAgbGVuOwkJLyogbGVuZ3RoIG9mIHRoZSBkYXRhICovCisJbWJzdGF0ZV90CSAgbWJzOwkJLyogY29udmVyc2lvbiBzdGF0ZSBvZiB0aGUgc3RyZWFtICovCit9OworCitzdGF0aWMgaW50Cit3bWVtc3RyZWFtX3dyaXRlKHZvaWQgKnYsIGNvbnN0IGNoYXIgKmIsIGludCBsKQoreworCXN0cnVjdCBzdGF0ZQkqc3QgPSB2OworCXdjaGFyX3QJCSpwOworCXNpemVfdAkJIG5tYywgbGVuLCBlbmQ7CisKKwllbmQgPSAoc3QtPnBvcyArIGwpOworCisJaWYgKGVuZCA+PSBzdC0+c2l6ZSkgeworCQkvKiAxLjYgaXMgKHZlcnkpIGNsb3NlIHRvIHRoZSBnb2xkZW4gcmF0aW8uICovCisJCXNpemVfdAlzeiA9IHN0LT5zaXplICogOCAvIDU7CisKKwkJaWYgKHN6IDwgZW5kICsgMSkKKwkJCXN6ID0gZW5kICsgMTsKKwkJcCA9IHJlYWxsb2NhcnJheShzdC0+c3RyaW5nLCBzeiwgc2l6ZW9mKHdjaGFyX3QpKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuICgtMSk7CisJCWJ6ZXJvKHAgKyBzdC0+c2l6ZSwgKHN6IC0gc3QtPnNpemUpICogc2l6ZW9mKHdjaGFyX3QpKTsKKwkJKnN0LT5wYnVmID0gc3QtPnN0cmluZyA9IHA7CisJCXN0LT5zaXplID0gc3o7CisJfQorCisJbm1jID0gKHN0LT5zaXplIC0gc3QtPnBvcykgKiBzaXplb2Yod2NoYXJfdCk7CisJbGVuID0gbWJzbnJ0b3djcyhzdC0+c3RyaW5nICsgc3QtPnBvcywgJmIsIG5tYywgbCwgJnN0LT5tYnMpOworCWlmIChsZW4gPT0gKHNpemVfdCktMSkKKwkJcmV0dXJuICgtMSk7CisJc3QtPnBvcyArPSBsZW47CisKKwlpZiAoc3QtPnBvcyA+IHN0LT5sZW4pIHsKKwkJc3QtPmxlbiA9IHN0LT5wb3M7CisJCXN0LT5zdHJpbmdbc3QtPmxlbl0gPSBMJ1wwJzsKKwl9CisKKwkqc3QtPnBzaXplID0gc3QtPnBvczsKKworCXJldHVybiAobGVuKTsKK30KKworc3RhdGljIGZwb3NfdAord21lbXN0cmVhbV9zZWVrKHZvaWQgKnYsIGZwb3NfdCBvZmYsIGludCB3aGVuY2UpCit7CisJc3RydWN0IHN0YXRlCSpzdCA9IHY7CisJc3NpemVfdAkJIGJhc2UgPSAwOworCisJc3dpdGNoICh3aGVuY2UpIHsKKwljYXNlIFNFRUtfU0VUOgorCQlicmVhazsKKwljYXNlIFNFRUtfQ1VSOgorCQliYXNlID0gc3QtPnBvczsKKwkJYnJlYWs7CisJY2FzZSBTRUVLX0VORDoKKwkJYmFzZSA9IHN0LT5sZW47CisJCWJyZWFrOworCX0KKworCWlmIChvZmYgPiAoU0laRV9NQVggLyBzaXplb2Yod2NoYXJfdCkpIC0gYmFzZSB8fCBvZmYgPCAtYmFzZSkgeworCQllcnJubyA9IEVPVkVSRkxPVzsKKwkJcmV0dXJuICgtMSk7CisJfQorCisJLyoKKwkgKiBYWFggQ2xlYXJpbmcgbWJzIGhlcmUgaW52YWxpZGF0ZXMgc2hpZnQgc3RhdGUgZm9yIHN0YXRlLQorCSAqIGRlcGVuZGVudCBlbmNvZGluZ3MsIGJ1dCB0aGV5IGFyZSBub3QgKHlldCkgc3VwcG9ydGVkLgorCSAqLworCWJ6ZXJvKCZzdC0+bWJzLCBzaXplb2Yoc3QtPm1icykpOworCisJc3QtPnBvcyA9IGJhc2UgKyBvZmY7CisJKnN0LT5wc2l6ZSA9IE1JTihzdC0+cG9zLCBzdC0+bGVuKTsKKworCXJldHVybiAoc3QtPnBvcyk7Cit9CisKK3N0YXRpYyBpbnQKK3dtZW1zdHJlYW1fY2xvc2Uodm9pZCAqdikKK3sKKwlzdHJ1Y3Qgc3RhdGUJKnN0ID0gdjsKKworCWZyZWUoc3QpOworCisJcmV0dXJuICgwKTsKK30KKworRklMRSAqCitvcGVuX3dtZW1zdHJlYW0od2NoYXJfdCAqKnBidWYsIHNpemVfdCAqcHNpemUpCit7CisJc3RydWN0IHN0YXRlCSpzdDsKKwlGSUxFCQkqZnA7CisKKwlpZiAocGJ1ZiA9PSBOVUxMIHx8IHBzaXplID09IE5VTEwpIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiAoTlVMTCk7CisJfQorCisJaWYgKChzdCA9IG1hbGxvYyhzaXplb2YoKnN0KSkpID09IE5VTEwpCisJCXJldHVybiAoTlVMTCk7CisKKwlpZiAoKGZwID0gX19zZnAoKSkgPT0gTlVMTCkgeworCQlmcmVlKHN0KTsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisKKwlzdC0+c2l6ZSA9IEJVRlNJWiAqIHNpemVvZih3Y2hhcl90KTsKKwlpZiAoKHN0LT5zdHJpbmcgPSBjYWxsb2MoMSwgc3QtPnNpemUpKSA9PSBOVUxMKSB7CisJCWZyZWUoc3QpOworCQlmcC0+X2ZsYWdzID0gMDsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisKKwkqc3QtPnN0cmluZyA9IEwnXDAnOworCXN0LT5wb3MgPSAwOworCXN0LT5sZW4gPSAwOworCXN0LT5wYnVmID0gcGJ1ZjsKKwlzdC0+cHNpemUgPSBwc2l6ZTsKKwliemVybygmc3QtPm1icywgc2l6ZW9mKHN0LT5tYnMpKTsKKworCSpwYnVmID0gc3QtPnN0cmluZzsKKwkqcHNpemUgPSBzdC0+bGVuOworCisJZnAtPl9mbGFncyA9IF9fU1dSOworCWZwLT5fZmlsZSA9IC0xOworCWZwLT5fY29va2llID0gc3Q7CisJZnAtPl9yZWFkID0gTlVMTDsKKwlmcC0+X3dyaXRlID0gd21lbXN0cmVhbV93cml0ZTsKKwlmcC0+X3NlZWsgPSB3bWVtc3RyZWFtX3NlZWs7CisJZnAtPl9jbG9zZSA9IHdtZW1zdHJlYW1fY2xvc2U7CisJX1NFVF9PUklFTlRBVElPTihmcCwgMSk7CisKKwlyZXR1cm4gKGZwKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9zZXR2YnVmLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vc2V0dmJ1Zi5jCmluZGV4IDZjNDlmN2EuLjliMmFiNTcgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9zZXR2YnVmLmMKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3NldHZidWYuYwpAQCAtMSw0ICsxLDQgQEAKLS8qCSRPcGVuQlNEOiBzZXR2YnVmLmMsdiAxLjExIDIwMDkvMTEvMDkgMDA6MTg6Mjcga3VydCBFeHAgJCAqLworLyoJJE9wZW5CU0Q6IHNldHZidWYuYyx2IDEuMTIgMjAxNS8wMS8xMyAwNzoxODoyMSBndWVudGhlciBFeHAgJCAqLwogLyotCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKICAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTE1LDYgKzExNSwxMyBAQAogCX0KIAogCS8qCisJICogV2UncmUgY29tbWl0dGVkIHRvIGJ1ZmZlcmluZyBmcm9tIGhlcmUsIHNvIG1ha2Ugc3VyZSB3ZSd2ZQorCSAqIHJlZ2lzdGVyZWQgdG8gZmx1c2ggYnVmZmVycyBvbiBleGl0LgorCSAqLworCWlmICghX19zZGlkaW5pdCkKKwkJX19zaW5pdCgpOworCisJLyoKIAkgKiBLaWxsIGFueSBzZWVrIG9wdGltaXphdGlvbiBpZiB0aGUgYnVmZmVyIGlzIG5vdCB0aGUKIAkgKiByaWdodCBzaXplLgogCSAqCkBAIC0xMjQsOCArMTMxLDcgQEAKIAkJZmxhZ3MgfD0gX19TTlBUOwogCiAJLyoKLQkgKiBGaXggdXAgdGhlIEZJTEUgZmllbGRzLCBhbmQgc2V0IF9fY2xlYW51cCBmb3Igb3V0cHV0IGZsdXNoIG9uCi0JICogZXhpdCAoc2luY2Ugd2UgYXJlIGJ1ZmZlcmVkIGluIHNvbWUgd2F5KS4KKwkgKiBGaXggdXAgdGhlIEZJTEUgZmllbGRzLgogCSAqLwogCWlmIChtb2RlID09IF9JT0xCRikKIAkJZmxhZ3MgfD0gX19TTEJGOwpAQCAtMTQ4LDcgKzE1NCw2IEBACiAJCWZwLT5fdyA9IDA7CiAJfQogCUZVTkxPQ0tGSUxFKGZwKTsKLQlfX2F0ZXhpdF9yZWdpc3Rlcl9jbGVhbnVwKF9jbGVhbnVwKTsKIAogCXJldHVybiAocmV0KTsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby9zdGRpby5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3N0ZGlvLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0YTI3YjUuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3N0ZGlvLmMKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi0vKgkkT3BlbkJTRDogc3RkaW8uYyx2IDEuOSAyMDA1LzA4LzA4IDA4OjA1OjM2IGVzcGllIEV4cCAkICovCi0vKi0KLSAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MwotICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQotICogQ2hyaXMgVG9yZWsuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlIDxmY250bC5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSAibG9jYWwuaCIKLQotLyoKLSAqIFNtYWxsIHN0YW5kYXJkIEkvTy9zZWVrL2Nsb3NlIGZ1bmN0aW9ucy4KLSAqIFRoZXNlIG1haW50YWluIHRoZSBga25vd24gc2VlayBvZmZzZXQnIGZvciBzZWVrIG9wdGltaXNhdGlvbi4KLSAqLwotaW50Ci1fX3NyZWFkKHZvaWQgKmNvb2tpZSwgY2hhciAqYnVmLCBpbnQgbikKLXsKLQlGSUxFICpmcCA9IGNvb2tpZTsKLQlpbnQgcmV0OwotCQotCXJldCA9IHJlYWQoZnAtPl9maWxlLCBidWYsIG4pOwotCS8qIGlmIHRoZSByZWFkIHN1Y2NlZWRlZCwgdXBkYXRlIHRoZSBjdXJyZW50IG9mZnNldCAqLwotCWlmIChyZXQgPj0gMCkKLQkJZnAtPl9vZmZzZXQgKz0gcmV0OwotCWVsc2UKLQkJZnAtPl9mbGFncyAmPSB+X19TT0ZGOwkvKiBwYXJhbm9pYSAqLwotCXJldHVybiAocmV0KTsKLX0KLQotaW50Ci1fX3N3cml0ZSh2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKmJ1ZiwgaW50IG4pCi17Ci0JRklMRSAqZnAgPSBjb29raWU7Ci0KLQlpZiAoZnAtPl9mbGFncyAmIF9fU0FQUCkKLQkJKHZvaWQpIGxzZWVrKGZwLT5fZmlsZSwgKG9mZl90KTAsIFNFRUtfRU5EKTsKLQlmcC0+X2ZsYWdzICY9IH5fX1NPRkY7CS8qIGluIGNhc2UgRkFQUEVORCBtb2RlIGlzIHNldCAqLwotCXJldHVybiAod3JpdGUoZnAtPl9maWxlLCBidWYsIG4pKTsKLX0KLQotZnBvc190Ci1fX3NzZWVrKHZvaWQgKmNvb2tpZSwgZnBvc190IG9mZnNldCwgaW50IHdoZW5jZSkKLXsKLQlGSUxFICpmcCA9IGNvb2tpZTsKLQlvZmZfdCByZXQ7Ci0JCi0JcmV0ID0gbHNlZWsoZnAtPl9maWxlLCAob2ZmX3Qpb2Zmc2V0LCB3aGVuY2UpOwotCWlmIChyZXQgPT0gKG9mZl90KS0xKQotCQlmcC0+X2ZsYWdzICY9IH5fX1NPRkY7Ci0JZWxzZSB7Ci0JCWZwLT5fZmxhZ3MgfD0gX19TT0ZGOwotCQlmcC0+X29mZnNldCA9IHJldDsKLQl9Ci0JcmV0dXJuIChyZXQpOwotfQotCi1pbnQKLV9fc2Nsb3NlKHZvaWQgKmNvb2tpZSkKLXsKLQlyZXR1cm4gKGNsb3NlKCgoRklMRSAqKWNvb2tpZSktPl9maWxlKSk7Ci19CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vdW5nZXRjLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vdW5nZXRjLmMKaW5kZXggNjc1NzMzYS4uZWM5OGYyNiAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3VuZ2V0Yy5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby91bmdldGMuYwpAQCAtMSw0ICsxLDQgQEAKLS8qCSRPcGVuQlNEOiB1bmdldGMuYyx2IDEuMTIgMjAwOS8xMS8wOSAwMDoxODoyNyBrdXJ0IEV4cCAkICovCisvKgkkT3BlbkJTRDogdW5nZXRjLmMsdiAxLjEzIDIwMTQvMTAvMTEgMDQ6MDU6MTAgZGVyYWFkdCBFeHAgJCAqLwogLyotCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTMKICAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNjQsMTQgKzY0LDE0IEBACiAJCXJldHVybiAoMCk7CiAJfQogCWkgPSBfVUIoZnApLl9zaXplOwotCXAgPSByZWFsbG9jKF9VQihmcCkuX2Jhc2UsIGkgPDwgMSk7CisJcCA9IHJlYWxsb2NhcnJheShfVUIoZnApLl9iYXNlLCBpLCAyKTsKIAlpZiAocCA9PSBOVUxMKQogCQlyZXR1cm4gKEVPRik7CiAJLyogbm8gb3ZlcmxhcCAoaGVuY2UgY2FuIHVzZSBtZW1jcHkpIGJlY2F1c2Ugd2UgZG91YmxlZCB0aGUgc2l6ZSAqLwogCSh2b2lkKW1lbWNweSgodm9pZCAqKShwICsgaSksICh2b2lkICopcCwgKHNpemVfdClpKTsKIAlmcC0+X3AgPSBwICsgaTsKIAlfVUIoZnApLl9iYXNlID0gcDsKLQlfVUIoZnApLl9zaXplID0gaSA8PCAxOworCV9VQihmcCkuX3NpemUgPSBpICogMjsKIAlyZXR1cm4gKDApOwogfQogCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vdmZwcmludGYuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby92ZnByaW50Zi5jCmluZGV4IDdmOGZmMzEuLjVmNGZiN2YgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby92ZnByaW50Zi5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby92ZnByaW50Zi5jCkBAIC0xLDQgKzEsNCBAQAotLyoJJE9wZW5CU0Q6IHZmcHJpbnRmLmMsdiAxLjY2IDIwMTQvMDUvMDMgMTI6MzY6NDUgZGVyYWFkdCBFeHAgJAkqLworLyoJJE9wZW5CU0Q6IHZmcHJpbnRmLmMsdiAxLjY3IDIwMTQvMTIvMjEgMDA6MjM6MzAgZGFuaWVsIEV4cCAkCSovCiAvKi0KICAqIENvcHlyaWdodCAoYykgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTc1MywxMCArNzUzLDkgQEAKIAkJCWlmIChzaWduZmxhZykKIAkJCQlzaWduID0gJy0nOwogCQkJaWYgKGV4cHQgPT0gSU5UX01BWCkgewkvKiBpbmYgb3IgbmFuICovCi0JCQkJaWYgKCpjcCA9PSAnTicpIHsKKwkJCQlpZiAoKmNwID09ICdOJykKIAkJCQkJY3AgPSAoY2ggPj0gJ2EnKSA/ICJuYW4iIDogIk5BTiI7Ci0JCQkJCXNpZ24gPSAnXDAnOwotCQkJCX0gZWxzZQorCQkJCWVsc2UKIAkJCQkJY3AgPSAoY2ggPj0gJ2EnKSA/ICJpbmYiIDogIklORiI7CiAgCQkJCXNpemUgPSAzOwogCQkJCWZsYWdzICY9IH5aRVJPUEFEOwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3Zmd3ByaW50Zi5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGlvL3Zmd3ByaW50Zi5jCmluZGV4IGVmMGNhNDMuLmE2ZjQxMjMgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRpby92ZndwcmludGYuYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkaW8vdmZ3cHJpbnRmLmMKQEAgLTEsNCArMSw0IEBACi0vKgkkT3BlbkJTRDogdmZ3cHJpbnRmLmMsdiAxLjExIDIwMTQvMDYvMDQgMDc6NDU6MjUgc3RzcCBFeHAgJCAqLworLyoJJE9wZW5CU0Q6IHZmd3ByaW50Zi5jLHYgMS4xMiAyMDE0LzEyLzIxIDAwOjIzOjMwIGRhbmllbCBFeHAgJCAqLwogLyotCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC03MzEsMTAgKzczMSw5IEBACiAJCQlpZiAoc2lnbmZsYWcpCiAJCQkJc2lnbiA9ICctJzsKIAkJCWlmIChleHB0ID09IElOVF9NQVgpIHsJLyogaW5mIG9yIG5hbiAqLwotCQkJCWlmICgqY3AgPT0gJ04nKSB7CisJCQkJaWYgKCpjcCA9PSAnTicpCiAJCQkJCWNwID0gKGNoID49ICdhJykgPyBMIm5hbiIgOiBMIk5BTiI7Ci0JCQkJCXNpZ24gPSAnXDAnOwotCQkJCX0gZWxzZQorCQkJCWVsc2UKIAkJCQkJY3AgPSAoY2ggPj0gJ2EnKSA/IEwiaW5mIiA6IEwiSU5GIjsKICAJCQkJc2l6ZSA9IDM7CiAJCQkJZmxhZ3MgJj0gflpFUk9QQUQ7CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL2F0ZXhpdC5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9hdGV4aXQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjUzMmIzOC4uMDAwMDAwMAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL2F0ZXhpdC5jCisrKyAvZGV2L251bGwKQEAgLTEsMjAyICswLDAgQEAKLS8qCSRPcGVuQlNEOiBhdGV4aXQuYyx2IDEuMjAgMjAxNC8wNy8xMSAwOTo1MTozNyBrZXR0ZW5pcyBFeHAgJCAqLwotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwMiBEYW5pZWwgSGFydG1laWVyCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAotICogICAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0gKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQ09QWVJJR0hUIEhPTERFUlMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgotICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0gKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0jaW5jbHVkZSAiYXRleGl0LmgiCi0jaW5jbHVkZSAidGhyZWFkX3ByaXZhdGUuaCIKLQotc3RydWN0IGF0ZXhpdCAqX19hdGV4aXQ7Ci1zdGF0aWMgaW50IHJlc3RhcnRsb29wOwotCi0vKgotICogRnVuY3Rpb24gcG9pbnRlcnMgYXJlIHN0b3JlZCBpbiBhIGxpbmtlZCBsaXN0IG9mIHBhZ2VzLiBUaGUgbGlzdAotICogaXMgaW5pdGlhbGx5IGVtcHR5LCBhbmQgcGFnZXMgYXJlIGFsbG9jYXRlZCBvbiBkZW1hbmQuIFRoZSBmaXJzdAotICogZnVuY3Rpb24gcG9pbnRlciBpbiB0aGUgZmlyc3QgYWxsb2NhdGVkIHBhZ2UgKHRoZSBsYXN0IG9uZSBpbgotICogdGhlIGxpbmtlZCBsaXN0KSBpcyByZXNlcnZlZCBmb3IgdGhlIGNsZWFudXAgZnVuY3Rpb24uCi0gKgotICogT3V0c2lkZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucywgYWxsIHBhZ2VzIGFyZSBtcHJvdGVjdCgpJ2VkCi0gKiB0byBwcmV2ZW50IHVuaW50ZW50aW9uYWwvbWFsaWNpb3VzIGNvcnJ1cHRpb24uCi0gKi8KLQotLyoKLSAqIFJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gYmUgcGVyZm9ybWVkIGF0IGV4aXQgb3Igd2hlbiBhIHNoYXJlZCBvYmplY3QKLSAqIHdpdGggdGhlIGdpdmVuIGRzbyBoYW5kbGUgaXMgdW5sb2FkZWQgZHluYW1pY2FsbHkuICBBbHNvIHVzZWQgYXMKLSAqIHRoZSBiYWNrZW5kIGZvciBhdGV4aXQoKS4gIEZvciBtb3JlIGluZm8gb24gdGhpcyBBUEksIHNlZToKLSAqCi0gKglodHRwOi8vd3d3LmNvZGVzb3VyY2VyeS5jb20vY3h4LWFiaS9hYmkuaHRtbCNkc28tZHRvcgotICovCi1pbnQKLV9fY3hhX2F0ZXhpdCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnLCB2b2lkICpkc28pCi17Ci0Jc3RydWN0IGF0ZXhpdCAqcCA9IF9fYXRleGl0OwotCXN0cnVjdCBhdGV4aXRfZm4gKmZucDsKLQlpbnQgcGdzaXplID0gZ2V0cGFnZXNpemUoKTsKLQlpbnQgcmV0ID0gLTE7Ci0KLQlpZiAocGdzaXplIDwgc2l6ZW9mKCpwKSkKLQkJcmV0dXJuICgtMSk7Ci0JX0FURVhJVF9MT0NLKCk7Ci0JcCA9IF9fYXRleGl0OwotCWlmIChwICE9IE5VTEwpIHsKLQkJaWYgKHAtPmluZCArIDEgPj0gcC0+bWF4KQotCQkJcCA9IE5VTEw7Ci0JCWVsc2UgaWYgKG1wcm90ZWN0KHAsIHBnc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSkpCi0JCQlnb3RvIHVubG9jazsKLQl9Ci0JaWYgKHAgPT0gTlVMTCkgewotCQlwID0gbW1hcChOVUxMLCBwZ3NpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCi0JCSAgICBNQVBfQU5PTiB8IE1BUF9QUklWQVRFLCAtMSwgMCk7Ci0JCWlmIChwID09IE1BUF9GQUlMRUQpCi0JCQlnb3RvIHVubG9jazsKLQkJaWYgKF9fYXRleGl0ID09IE5VTEwpIHsKLQkJCW1lbXNldCgmcC0+Zm5zWzBdLCAwLCBzaXplb2YocC0+Zm5zWzBdKSk7Ci0JCQlwLT5pbmQgPSAxOwotCQl9IGVsc2UKLQkJCXAtPmluZCA9IDA7Ci0JCXAtPm1heCA9IChwZ3NpemUgLSAoKGNoYXIgKikmcC0+Zm5zWzBdIC0gKGNoYXIgKilwKSkgLwotCQkgICAgc2l6ZW9mKHAtPmZuc1swXSk7Ci0JCXAtPm5leHQgPSBfX2F0ZXhpdDsKLQkJX19hdGV4aXQgPSBwOwotCX0KLQlmbnAgPSAmcC0+Zm5zW3AtPmluZCsrXTsKLQlmbnAtPmZuX3B0ciA9IGZ1bmM7Ci0JZm5wLT5mbl9hcmcgPSBhcmc7Ci0JZm5wLT5mbl9kc28gPSBkc287Ci0JaWYgKG1wcm90ZWN0KHAsIHBnc2l6ZSwgUFJPVF9SRUFEKSkKLQkJZ290byB1bmxvY2s7Ci0JcmVzdGFydGxvb3AgPSAxOwotCXJldCA9IDA7Ci11bmxvY2s6Ci0JX0FURVhJVF9VTkxPQ0soKTsKLQlyZXR1cm4gKHJldCk7Ci19Ci0KLS8qCi0gKiBDYWxsIGFsbCBoYW5kbGVycyByZWdpc3RlcmVkIHdpdGggX19jeGFfYXRleGl0KCkgZm9yIHRoZSBzaGFyZWQKLSAqIG9iamVjdCBvd25pbmcgJ2RzbycuCi0gKiBOb3RlOiBpZiAnZHNvJyBpcyBOVUxMLCB0aGVuIGFsbCByZW1haW5pbmcgaGFuZGxlcnMgYXJlIGNhbGxlZC4KLSAqLwotdm9pZAotX19jeGFfZmluYWxpemUodm9pZCAqZHNvKQotewotCXN0cnVjdCBhdGV4aXQgKnAsICpxOwotCXN0cnVjdCBhdGV4aXRfZm4gZm47Ci0JaW50IG4sIHBnc2l6ZSA9IGdldHBhZ2VzaXplKCk7Ci0Jc3RhdGljIGludCBjYWxsX2RlcHRoOwotCi0JX0FURVhJVF9MT0NLKCk7Ci0JY2FsbF9kZXB0aCsrOwotCi1yZXN0YXJ0OgotCXJlc3RhcnRsb29wID0gMDsKLQlmb3IgKHAgPSBfX2F0ZXhpdDsgcCAhPSBOVUxMOyBwID0gcC0+bmV4dCkgewotCQlmb3IgKG4gPSBwLT5pbmQ7IC0tbiA+PSAwOykgewotCQkJaWYgKHAtPmZuc1tuXS5mbl9wdHIgPT0gTlVMTCkKLQkJCQljb250aW51ZTsJLyogYWxyZWFkeSBjYWxsZWQgKi8KLQkJCWlmIChkc28gIT0gTlVMTCAmJiBkc28gIT0gcC0+Zm5zW25dLmZuX2RzbykKLQkJCQljb250aW51ZTsJLyogd3JvbmcgRFNPICovCi0KLQkJCS8qCi0JCQkgKiBNYXJrIGhhbmRsZXIgYXMgaGF2aW5nIGJlZW4gYWxyZWFkeSBjYWxsZWQgdG8gYXZvaWQKLQkJCSAqIGR1cGVzIGFuZCBsb29wcywgdGhlbiBjYWxsIHRoZSBhcHByb3ByaWF0ZSBmdW5jdGlvbi4KLQkJCSAqLwotCQkJZm4gPSBwLT5mbnNbbl07Ci0JCQlpZiAobXByb3RlY3QocCwgcGdzaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKSA9PSAwKSB7Ci0JCQkJcC0+Zm5zW25dLmZuX3B0ciA9IE5VTEw7Ci0JCQkJbXByb3RlY3QocCwgcGdzaXplLCBQUk9UX1JFQUQpOwotCQkJfQotCQkJX0FURVhJVF9VTkxPQ0soKTsKLQkJCSgqZm4uZm5fcHRyKShmbi5mbl9hcmcpOwotCQkJX0FURVhJVF9MT0NLKCk7Ci0JCQlpZiAocmVzdGFydGxvb3ApCi0JCQkJZ290byByZXN0YXJ0OwotCQl9Ci0JfQotCi0JY2FsbF9kZXB0aC0tOwotCi0JLyoKLQkgKiBJZiBjYWxsZWQgdmlhIGV4aXQoKSwgdW5tYXAgdGhlIHBhZ2VzIHNpbmNlIHdlIGhhdmUgbm93IHJ1bgotCSAqIGFsbCB0aGUgaGFuZGxlcnMuICBXZSBkZWZlciB0aGlzIHVudGlsIGNhbGxkZXB0aCA9PSAwIHNvIHRoYXQKLQkgKiB3ZSBkb24ndCB1bm1hcCB0aGluZ3MgcHJlbWF0dXJlbHkgaWYgY2FsbGVkIHJlY3Vyc2l2ZWx5LgotCSAqLwotCWlmIChkc28gPT0gTlVMTCAmJiBjYWxsX2RlcHRoID09IDApIHsKLQkJZm9yIChwID0gX19hdGV4aXQ7IHAgIT0gTlVMTDsgKSB7Ci0JCQlxID0gcDsKLQkJCXAgPSBwLT5uZXh0OwotCQkJbXVubWFwKHEsIHBnc2l6ZSk7Ci0JCX0KLQkJX19hdGV4aXQgPSBOVUxMOwotCX0KLQlfQVRFWElUX1VOTE9DSygpOwotfQotCi0vKgotICogUmVnaXN0ZXIgdGhlIGNsZWFudXAgZnVuY3Rpb24KLSAqLwotdm9pZAotX19hdGV4aXRfcmVnaXN0ZXJfY2xlYW51cCh2b2lkICgqZnVuYykodm9pZCkpCi17Ci0Jc3RydWN0IGF0ZXhpdCAqcDsKLQlpbnQgcGdzaXplID0gZ2V0cGFnZXNpemUoKTsKLQotCWlmIChwZ3NpemUgPCBzaXplb2YoKnApKQotCQlyZXR1cm47Ci0JX0FURVhJVF9MT0NLKCk7Ci0JcCA9IF9fYXRleGl0OwotCXdoaWxlIChwICE9IE5VTEwgJiYgcC0+bmV4dCAhPSBOVUxMKQotCQlwID0gcC0+bmV4dDsKLQlpZiAocCA9PSBOVUxMKSB7Ci0JCXAgPSBtbWFwKE5VTEwsIHBnc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKLQkJICAgIE1BUF9BTk9OIHwgTUFQX1BSSVZBVEUsIC0xLCAwKTsKLQkJaWYgKHAgPT0gTUFQX0ZBSUxFRCkKLQkJCWdvdG8gdW5sb2NrOwotCQlwLT5pbmQgPSAxOwotCQlwLT5tYXggPSAocGdzaXplIC0gKChjaGFyICopJnAtPmZuc1swXSAtIChjaGFyICopcCkpIC8KLQkJICAgIHNpemVvZihwLT5mbnNbMF0pOwotCQlwLT5uZXh0ID0gTlVMTDsKLQkJX19hdGV4aXQgPSBwOwotCX0gZWxzZSB7Ci0JCWlmIChtcHJvdGVjdChwLCBwZ3NpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpKQotCQkJZ290byB1bmxvY2s7Ci0JfQotCXAtPmZuc1swXS5mbl9wdHIgPSAodm9pZCAoKikodm9pZCAqKSlmdW5jOwotCXAtPmZuc1swXS5mbl9hcmcgPSBOVUxMOwotCXAtPmZuc1swXS5mbl9kc28gPSBOVUxMOwotCW1wcm90ZWN0KHAsIHBnc2l6ZSwgUFJPVF9SRUFEKTsKLQlyZXN0YXJ0bG9vcCA9IDE7Ci11bmxvY2s6Ci0JX0FURVhJVF9VTkxPQ0soKTsKLX0KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvZXhpdC5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9leGl0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZmUzZDIuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9leGl0LmMKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0vKgkkT3BlbkJTRDogZXhpdC5jLHYgMS4xMiAyMDA3LzA5LzAzIDE0OjQwOjE2IG1pbGxlcnQgRXhwICQgKi8KLS8qLQotICogQ29weXJpZ2h0IChjKSAxOTkwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL21tYW4uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLSNpbmNsdWRlICJhdGV4aXQuaCIKLSNpbmNsdWRlICJ0aHJlYWRfcHJpdmF0ZS5oIgotCi0vKgotICogVGhpcyB2YXJpYWJsZSBpcyB6ZXJvIHVudGlsIGEgcHJvY2VzcyBoYXMgY3JlYXRlZCBhIHRocmVhZC4KLSAqIEl0IGlzIHVzZWQgdG8gYXZvaWQgY2FsbGluZyBsb2NraW5nIGZ1bmN0aW9ucyBpbiBsaWJjIHdoZW4gdGhleQotICogYXJlIG5vdCByZXF1aXJlZC4gQnkgZGVmYXVsdCwgbGliYyBpcyBpbnRlbmRlZCB0byBiZShjb21lKQotICogdGhyZWFkLXNhZmUsIGJ1dCB3aXRob3V0IGEgKHNpZ25pZmljYW50KSBwZW5hbHR5IHRvIG5vbi10aHJlYWRlZAotICogcHJvY2Vzc2VzLgotICovCi1pbnQgICAgIF9faXN0aHJlYWRlZCAgICA9IDA7Ci0KLS8qCi0gKiBFeGl0LCBmbHVzaGluZyBzdGRpbyBidWZmZXJzIGlmIG5lY2Vzc2FyeS4KLSAqLwotdm9pZAotZXhpdChpbnQgc3RhdHVzKQotewotCS8qCi0JICogQ2FsbCBmdW5jdGlvbnMgcmVnaXN0ZXJlZCBieSBhdGV4aXQoKSBvciBfY3hhX2F0ZXhpdCgpCi0JICogKGluY2x1ZGluZyB0aGUgc3RkaW8gY2xlYW51cCByb3V0aW5lKSBhbmQgdGhlbiBfZXhpdCgpLgotCSAqLwotCV9fY3hhX2ZpbmFsaXplKE5VTEwpOwotCV9leGl0KHN0YXR1cyk7Ci19CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL2luc3F1ZS5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9pbnNxdWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTBmZjgzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9pbnNxdWUuYwpAQCAtMCwwICsxLDU0IEBACisvKgkkT3BlbkJTRDogaW5zcXVlLmMsdiAxLjMgMjAxNC8wOC8xNSAwNDoxNDozNiBndWVudGhlciBFeHAgJAkqLworCisvKgorICogIENvcHlyaWdodCAoYykgMTk5MyBKb2huIEJyZXphaworICogIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqICBhcmUgbWV0OgorICogIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwKKyAqIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwKKyAqIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c2VhcmNoLmg+CisKK3N0cnVjdCBxZWxlbSB7CisgICAgICAgIHN0cnVjdCBxZWxlbSAqcV9mb3J3OworICAgICAgICBzdHJ1Y3QgcWVsZW0gKnFfYmFjazsKK307CisKK3ZvaWQKK2luc3F1ZSh2b2lkICplbnRyeSwgdm9pZCAqcHJlZCkKK3sKKwlzdHJ1Y3QgcWVsZW0gKmUgPSBlbnRyeTsKKwlzdHJ1Y3QgcWVsZW0gKnAgPSBwcmVkOworCisJaWYgKHAgPT0gTlVMTCkKKwkJZS0+cV9mb3J3ID0gZS0+cV9iYWNrID0gTlVMTDsKKwllbHNlIHsKKwkJZS0+cV9mb3J3ID0gcC0+cV9mb3J3OworCQllLT5xX2JhY2sgPSBwOworCQlpZiAocC0+cV9mb3J3ICE9IE5VTEwpCisJCQlwLT5xX2ZvcnctPnFfYmFjayA9IGU7CisJCXAtPnFfZm9ydyA9IGU7CisJfQorfQpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9yZWFsbG9jYXJyYXkuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvcmVhbGxvY2FycmF5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FjY2Q5OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvcmVhbGxvY2FycmF5LmMKQEAgLTAsMCArMSwzOCBAQAorLyoJJE9wZW5CU0Q6IHJlYWxsb2NhcnJheS5jLHYgMS4xIDIwMTQvMDUvMDggMjE6NDM6NDkgZGVyYWFkdCBFeHAgJAkqLworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBPdHRvIE1vZXJiZWVrIDxvdHRvQGRyaWpmLm5ldD4KKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTCisgKiBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUgorICogQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUworICogV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworLyoKKyAqIFRoaXMgaXMgc3FydChTSVpFX01BWCsxKSwgYXMgczEqczIgPD0gU0laRV9NQVgKKyAqIGlmIGJvdGggczEgPCBNVUxfTk9fT1ZFUkZMT1cgYW5kIHMyIDwgTVVMX05PX09WRVJGTE9XCisgKi8KKyNkZWZpbmUgTVVMX05PX09WRVJGTE9XCSgxVUwgPDwgKHNpemVvZihzaXplX3QpICogNCkpCisKK3ZvaWQgKgorcmVhbGxvY2FycmF5KHZvaWQgKm9wdHIsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUpCit7CisJaWYgKChubWVtYiA+PSBNVUxfTk9fT1ZFUkZMT1cgfHwgc2l6ZSA+PSBNVUxfTk9fT1ZFUkZMT1cpICYmCisJICAgIG5tZW1iID4gMCAmJiBTSVpFX01BWCAvIG5tZW1iIDwgc2l6ZSkgeworCQllcnJubyA9IEVOT01FTTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiByZWFsbG9jKG9wdHIsIHNpemUgKiBubWVtYik7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3JlbXF1ZS5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9yZW1xdWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWI3NGIyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9yZW1xdWUuYwpAQCAtMCwwICsxLDQ4IEBACisvKgkkT3BlbkJTRDogcmVtcXVlLmMsdiAxLjMgMjAxNC8wOC8xNSAwNDoxNDozNiBndWVudGhlciBFeHAgJAkqLworCisvKgorICogIENvcHlyaWdodCAoYykgMTk5MyBKb2huIEJyZXphaworICogIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqICBhcmUgbWV0OgorICogIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwKKyAqIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwKKyAqIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c2VhcmNoLmg+CisKK3N0cnVjdCBxZWxlbSB7CisgICAgICAgIHN0cnVjdCBxZWxlbSAqcV9mb3J3OworICAgICAgICBzdHJ1Y3QgcWVsZW0gKnFfYmFjazsKK307CisKK3ZvaWQKK3JlbXF1ZSh2b2lkICplbGVtZW50KQoreworCXN0cnVjdCBxZWxlbSAqZSA9IGVsZW1lbnQ7CisKKwlpZiAoZS0+cV9mb3J3ICE9IE5VTEwpCisJCWUtPnFfZm9ydy0+cV9iYWNrID0gZS0+cV9iYWNrOworCWlmIChlLT5xX2JhY2sgIT0gTlVMTCkKKwkJZS0+cV9iYWNrLT5xX2ZvcncgPSBlLT5xX2Zvcnc7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvaW1heC5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2ltYXguYwppbmRleCAyYzc3ZjQxLi4yZmMwNGU0IDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvaW1heC5jCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvc3RydG9pbWF4LmMKQEAgLTEsNiArMSw1IEBACi0vKgkkT3BlbkJTRDogc3RydG9pbWF4LmMsdiAxLjEgMjAwNi8wMS8xMyAxNzo1ODowOSBtaWxsZXJ0IEV4cCAkCSovCi0KLS8qLQorLyoJJE9wZW5CU0Q6IHN0cnRvaW1heC5jLHYgMS4yIDIwMTQvMDkvMTMgMjA6MTA6MTIgc2Nod2FyemUgRXhwICQJKi8KKy8qCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTIgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNDgsNiArNDcsMTcgQEAKIAlpbnQgbmVnLCBhbnksIGN1dGxpbTsKIAogCS8qCisJICogRW5zdXJlIHRoYXQgYmFzZSBpcyBiZXR3ZWVuIDIgYW5kIDM2IGluY2x1c2l2ZSwgb3IgdGhlIHNwZWNpYWwKKwkgKiB2YWx1ZSBvZiAwLgorCSAqLworCWlmIChiYXNlIDwgMCB8fCBiYXNlID09IDEgfHwgYmFzZSA+IDM2KSB7CisJCWlmIChlbmRwdHIgIT0gMCkKKwkJCSplbmRwdHIgPSAoY2hhciAqKW5wdHI7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgogCSAqIFNraXAgd2hpdGUgc3BhY2UgYW5kIHBpY2sgdXAgbGVhZGluZyArLy0gc2lnbiBpZiBhbnkuCiAJICogSWYgYmFzZSBpcyAwLCBhbGxvdyAweCBmb3IgaGV4IGFuZCAwIGZvciBvY3RhbCwgZWxzZQogCSAqIGFzc3VtZSBkZWNpbWFsOyBpZiBiYXNlIGlzIGFscmVhZHkgMTYsIGFsbG93IDB4LgpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2wuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvc3RydG9sLmMKaW5kZXggZGMyY2Y4OC4uODZjZWMzNSAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2wuYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvbC5jCkBAIC0xLDUgKzEsNSBAQAotLyoJJE9wZW5CU0Q6IHN0cnRvbC5jLHYgMS45IDIwMTMvMDQvMTcgMTc6NDA6MzUgdGVkdSBFeHAgJCAqLwotLyotCisvKgkkT3BlbkJTRDogc3RydG9sLmMsdiAxLjEwIDIwMTQvMDkvMTMgMjA6MTA6MTIgc2Nod2FyemUgRXhwICQgKi8KKy8qCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogCi0KIC8qCiAgKiBDb252ZXJ0IGEgc3RyaW5nIHRvIGEgbG9uZyBpbnRlZ2VyLgogICoKQEAgLTUyLDcgKzUxLDcgQEAKIAkgKiBFbnN1cmUgdGhhdCBiYXNlIGlzIGJldHdlZW4gMiBhbmQgMzYgaW5jbHVzaXZlLCBvciB0aGUgc3BlY2lhbAogCSAqIHZhbHVlIG9mIDAuCiAJICovCi0JaWYgKGJhc2UgIT0gMCAmJiAoYmFzZSA8IDIgfHwgYmFzZSA+IDM2KSkgeworCWlmIChiYXNlIDwgMCB8fCBiYXNlID09IDEgfHwgYmFzZSA+IDM2KSB7CiAJCWlmIChlbmRwdHIgIT0gMCkKIAkJCSplbmRwdHIgPSAoY2hhciAqKW5wdHI7CiAJCWVycm5vID0gRUlOVkFMOwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2xsLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvbGwuYwppbmRleCA0YmNjNTU2Li5jZjgyYzhlIDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvbGwuYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvbGwuYwpAQCAtMSw1ICsxLDUgQEAKLS8qICRPcGVuQlNEOiBzdHJ0b2xsLmMsdiAxLjcgMjAxMy8wMy8yOCAxODowOTozOCBtYXJ0eW5hcyBFeHAgJCAqLwotLyotCisvKgkkT3BlbkJTRDogc3RydG9sbC5jLHYgMS44IDIwMTQvMDkvMTMgMjA6MTA6MTIgc2Nod2FyemUgRXhwICQgKi8KKy8qCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTIgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNTAsNiArNTAsMTcgQEAKIAlpbnQgbmVnLCBhbnksIGN1dGxpbTsKIAogCS8qCisJICogRW5zdXJlIHRoYXQgYmFzZSBpcyBiZXR3ZWVuIDIgYW5kIDM2IGluY2x1c2l2ZSwgb3IgdGhlIHNwZWNpYWwKKwkgKiB2YWx1ZSBvZiAwLgorCSAqLworCWlmIChiYXNlIDwgMCB8fCBiYXNlID09IDEgfHwgYmFzZSA+IDM2KSB7CisJCWlmIChlbmRwdHIgIT0gMCkKKwkJCSplbmRwdHIgPSAoY2hhciAqKW5wdHI7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgogCSAqIFNraXAgd2hpdGUgc3BhY2UgYW5kIHBpY2sgdXAgbGVhZGluZyArLy0gc2lnbiBpZiBhbnkuCiAJICogSWYgYmFzZSBpcyAwLCBhbGxvdyAweCBmb3IgaGV4IGFuZCAwIGZvciBvY3RhbCwgZWxzZQogCSAqIGFzc3VtZSBkZWNpbWFsOyBpZiBiYXNlIGlzIGFscmVhZHkgMTYsIGFsbG93IDB4LgpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsLmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvdWwuYwppbmRleCBhMjM2MzY1Li4yYWE0MWI3IDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvdWwuYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvdWwuYwpAQCAtMSw2ICsxLDYgQEAKLS8qCSRPcGVuQlNEOiBzdHJ0b3VsLmMsdiAxLjggMjAxMy8wNC8xNyAxNzo0MDozNSB0ZWR1IEV4cCAkICovCisvKgkkT3BlbkJTRDogc3RydG91bC5jLHYgMS45IDIwMTQvMDkvMTMgMjA6MTA6MTIgc2Nod2FyemUgRXhwICQgKi8KIC8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTAgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQ29weXJpZ2h0IChjKSAxOTkwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTAsNiArNTAsMTMgQEAKIAkvKgogCSAqIFNlZSBzdHJ0b2wgZm9yIGNvbW1lbnRzIGFzIHRvIHRoZSBsb2dpYyB1c2VkLgogCSAqLworCWlmIChiYXNlIDwgMCB8fCBiYXNlID09IDEgfHwgYmFzZSA+IDM2KSB7CisJCWlmIChlbmRwdHIgIT0gMCkKKwkJCSplbmRwdHIgPSAoY2hhciAqKW5wdHI7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gMDsKKwl9CisKIAlzID0gbnB0cjsKIAlkbyB7CiAJCWMgPSAodW5zaWduZWQgY2hhcikgKnMrKzsKZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvc3RydG91bGwuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvc3RydG91bGwuYwppbmRleCAyOGY2MTNhLi44NDY0MTc2IDEwMDY0NAotLS0gYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvdWxsLmMKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsbC5jCkBAIC0xLDUgKzEsNSBAQAotLyoJJE9wZW5CU0Q6IHN0cnRvdWxsLmMsdiAxLjYgMjAxMy8wMy8yOCAxODowOTozOCBtYXJ0eW5hcyBFeHAgJCAqLwotLyotCisvKgkkT3BlbkJTRDogc3RydG91bGwuYyx2IDEuNyAyMDE0LzA5LzEzIDIwOjEwOjEyIHNjaHdhcnplIEV4cCAkICovCisvKgogICogQ29weXJpZ2h0IChjKSAxOTkyIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTUwLDggKzUwLDE1IEBACiAJaW50IG5lZywgYW55LCBjdXRsaW07CiAKIAkvKgotCSAqIFNlZSBzdHJ0b3EgZm9yIGNvbW1lbnRzIGFzIHRvIHRoZSBsb2dpYyB1c2VkLgorCSAqIFNlZSBzdHJ0b2xsIGZvciBjb21tZW50cyBhcyB0byB0aGUgbG9naWMgdXNlZC4KIAkgKi8KKwlpZiAoYmFzZSA8IDAgfHwgYmFzZSA9PSAxIHx8IGJhc2UgPiAzNikgeworCQlpZiAoZW5kcHRyICE9IDApCisJCQkqZW5kcHRyID0gKGNoYXIgKilucHRyOworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIDA7CisJfQorCiAJcyA9IG5wdHI7CiAJZG8gewogCQljID0gKHVuc2lnbmVkIGNoYXIpICpzKys7CkBAIC01OSw3ICs2Niw3IEBACiAJaWYgKGMgPT0gJy0nKSB7CiAJCW5lZyA9IDE7CiAJCWMgPSAqcysrOwotCX0gZWxzZSB7IAorCX0gZWxzZSB7CiAJCW5lZyA9IDA7CiAJCWlmIChjID09ICcrJykKIAkJCWMgPSAqcysrOwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VtYXguYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdGRsaWIvc3RydG91bWF4LmMKaW5kZXggY2U2ZTJjMC4uYzczZjdlNSAxMDA2NDQKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VtYXguYworKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RkbGliL3N0cnRvdW1heC5jCkBAIC0xLDYgKzEsNSBAQAotLyoJJE9wZW5CU0Q6IHN0cnRvdW1heC5jLHYgMS4xIDIwMDYvMDEvMTMgMTc6NTg6MDkgbWlsbGVydCBFeHAgJAkqLwotCi0vKi0KKy8qCSRPcGVuQlNEOiBzdHJ0b3VtYXguYyx2IDEuMiAyMDE0LzA5LzEzIDIwOjEwOjEyIHNjaHdhcnplIEV4cCAkCSovCisvKgogICogQ29weXJpZ2h0IChjKSAxOTkyIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQ4LDggKzQ3LDE1IEBACiAJaW50IG5lZywgYW55LCBjdXRsaW07CiAKIAkvKgotCSAqIFNlZSBzdHJ0b3EgZm9yIGNvbW1lbnRzIGFzIHRvIHRoZSBsb2dpYyB1c2VkLgorCSAqIFNlZSBzdHJ0b2ltYXggZm9yIGNvbW1lbnRzIGFzIHRvIHRoZSBsb2dpYyB1c2VkLgogCSAqLworCWlmIChiYXNlIDwgMCB8fCBiYXNlID09IDEgfHwgYmFzZSA+IDM2KSB7CisJCWlmIChlbmRwdHIgIT0gMCkKKwkJCSplbmRwdHIgPSAoY2hhciAqKW5wdHI7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gMDsKKwl9CisKIAlzID0gbnB0cjsKIAlkbyB7CiAJCWMgPSAodW5zaWduZWQgY2hhcikgKnMrKzsKQEAgLTU3LDcgKzYzLDcgQEAKIAlpZiAoYyA9PSAnLScpIHsKIAkJbmVnID0gMTsKIAkJYyA9ICpzKys7Ci0JfSBlbHNlIHsgCisJfSBlbHNlIHsKIAkJbmVnID0gMDsKIAkJaWYgKGMgPT0gJysnKQogCQkJYyA9ICpzKys7CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL2Jjb3B5LmMgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL2Jjb3B5LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzMDhjNjQuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9iY29weS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTI4ICswLDAgQEAKLS8qCSRPcGVuQlNEOiBiY29weS5jLHYgMS41IDIwMDUvMDgvMDggMDg6MDU6MzcgZXNwaWUgRXhwICQgKi8KLS8qLQotICogQ29weXJpZ2h0IChjKSAxOTkwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKLSAqIENocmlzIFRvcmVrLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0KLS8qCi0gKiBzaXplb2Yod29yZCkgTVVTVCBCRSBBIFBPV0VSIE9GIFRXTwotICogU08gVEhBVCB3bWFzayBCRUxPVyBJUyBBTEwgT05FUwotICovCi10eXBlZGVmCWxvbmcgd29yZDsJCS8qICJ3b3JkIiB1c2VkIGZvciBvcHRpbWFsIGNvcHkgc3BlZWQgKi8KLQotI2RlZmluZQl3c2l6ZQlzaXplb2Yod29yZCkKLSNkZWZpbmUJd21hc2sJKHdzaXplIC0gMSkKLQotLyoKLSAqIENvcHkgYSBibG9jayBvZiBtZW1vcnksIGhhbmRsaW5nIG92ZXJsYXAuCi0gKiBUaGlzIGlzIHRoZSByb3V0aW5lIHRoYXQgYWN0dWFsbHkgaW1wbGVtZW50cwotICogKHRoZSBwb3J0YWJsZSB2ZXJzaW9ucyBvZikgYmNvcHksIG1lbWNweSwgYW5kIG1lbW1vdmUuCi0gKi8KLSNpZmRlZiBNRU1DT1BZCi12b2lkICoKLW1lbWNweSh2b2lkICpkc3QwLCBjb25zdCB2b2lkICpzcmMwLCBzaXplX3QgbGVuZ3RoKQotI2Vsc2UKLSNpZmRlZiBNRU1NT1ZFCi12b2lkICoKLW1lbW1vdmUodm9pZCAqZHN0MCwgY29uc3Qgdm9pZCAqc3JjMCwgc2l6ZV90IGxlbmd0aCkKLSNlbHNlCi12b2lkCi1iY29weShjb25zdCB2b2lkICpzcmMwLCB2b2lkICpkc3QwLCBzaXplX3QgbGVuZ3RoKQotI2VuZGlmCi0jZW5kaWYKLXsKLQljaGFyICpkc3QgPSBkc3QwOwotCWNvbnN0IGNoYXIgKnNyYyA9IHNyYzA7Ci0Jc2l6ZV90IHQ7Ci0KLQlpZiAobGVuZ3RoID09IDAgfHwgZHN0ID09IHNyYykJCS8qIG5vdGhpbmcgdG8gZG8gKi8KLQkJZ290byBkb25lOwotCi0JLyoKLQkgKiBNYWNyb3M6IGxvb3AtdC10aW1lczsgYW5kIGxvb3AtdC10aW1lcywgdD4wCi0JICovCi0jZGVmaW5lCVRMT09QKHMpIGlmICh0KSBUTE9PUDEocykKLSNkZWZpbmUJVExPT1AxKHMpIGRvIHsgczsgfSB3aGlsZSAoLS10KQotCi0JaWYgKCh1bnNpZ25lZCBsb25nKWRzdCA8ICh1bnNpZ25lZCBsb25nKXNyYykgewotCQkvKgotCQkgKiBDb3B5IGZvcndhcmQuCi0JCSAqLwotCQl0ID0gKGxvbmcpc3JjOwkvKiBvbmx5IG5lZWQgbG93IGJpdHMgKi8KLQkJaWYgKCh0IHwgKGxvbmcpZHN0KSAmIHdtYXNrKSB7Ci0JCQkvKgotCQkJICogVHJ5IHRvIGFsaWduIG9wZXJhbmRzLiAgVGhpcyBjYW5ub3QgYmUgZG9uZQotCQkJICogdW5sZXNzIHRoZSBsb3cgYml0cyBtYXRjaC4KLQkJCSAqLwotCQkJaWYgKCh0IF4gKGxvbmcpZHN0KSAmIHdtYXNrIHx8IGxlbmd0aCA8IHdzaXplKQotCQkJCXQgPSBsZW5ndGg7Ci0JCQllbHNlCi0JCQkJdCA9IHdzaXplIC0gKHQgJiB3bWFzayk7Ci0JCQlsZW5ndGggLT0gdDsKLQkJCVRMT09QMSgqZHN0KysgPSAqc3JjKyspOwotCQl9Ci0JCS8qCi0JCSAqIENvcHkgd2hvbGUgd29yZHMsIHRoZW4gbW9wIHVwIGFueSB0cmFpbGluZyBieXRlcy4KLQkJICovCi0JCXQgPSBsZW5ndGggLyB3c2l6ZTsKLQkJVExPT1AoKih3b3JkICopZHN0ID0gKih3b3JkICopc3JjOyBzcmMgKz0gd3NpemU7IGRzdCArPSB3c2l6ZSk7Ci0JCXQgPSBsZW5ndGggJiB3bWFzazsKLQkJVExPT1AoKmRzdCsrID0gKnNyYysrKTsKLQl9IGVsc2UgewotCQkvKgotCQkgKiBDb3B5IGJhY2t3YXJkcy4gIE90aGVyd2lzZSBlc3NlbnRpYWxseSB0aGUgc2FtZS4KLQkJICogQWxpZ25tZW50IHdvcmtzIGFzIGJlZm9yZSwgZXhjZXB0IHRoYXQgaXQgdGFrZXMKLQkJICogKHQmd21hc2spIGJ5dGVzIHRvIGFsaWduLCBub3Qgd3NpemUtKHQmd21hc2spLgotCQkgKi8KLQkJc3JjICs9IGxlbmd0aDsKLQkJZHN0ICs9IGxlbmd0aDsKLQkJdCA9IChsb25nKXNyYzsKLQkJaWYgKCh0IHwgKGxvbmcpZHN0KSAmIHdtYXNrKSB7Ci0JCQlpZiAoKHQgXiAobG9uZylkc3QpICYgd21hc2sgfHwgbGVuZ3RoIDw9IHdzaXplKQotCQkJCXQgPSBsZW5ndGg7Ci0JCQllbHNlCi0JCQkJdCAmPSB3bWFzazsKLQkJCWxlbmd0aCAtPSB0OwotCQkJVExPT1AxKCotLWRzdCA9ICotLXNyYyk7Ci0JCX0KLQkJdCA9IGxlbmd0aCAvIHdzaXplOwotCQlUTE9PUChzcmMgLT0gd3NpemU7IGRzdCAtPSB3c2l6ZTsgKih3b3JkICopZHN0ID0gKih3b3JkICopc3JjKTsKLQkJdCA9IGxlbmd0aCAmIHdtYXNrOwotCQlUTE9PUCgqLS1kc3QgPSAqLS1zcmMpOwotCX0KLWRvbmU6Ci0jaWYgZGVmaW5lZChNRU1DT1BZKSB8fCBkZWZpbmVkKE1FTU1PVkUpCi0JcmV0dXJuIChkc3QwKTsKLSNlbHNlCi0JcmV0dXJuOwotI2VuZGlmCi19CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbWNoci5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9tZW1jaHIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTczZTNjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9tZW1jaHIuYwpAQCAtMCwwICsxLDQ4IEBACisvKgkkT3BlbkJTRDogbWVtY2hyLmMsdiAxLjcgMjAwNS8wOC8wOCAwODowNTozNyBlc3BpZSBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogQ2hyaXMgVG9yZWsuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKwordm9pZCAqCittZW1jaHIoY29uc3Qgdm9pZCAqcywgaW50IGMsIHNpemVfdCBuKQoreworCWlmIChuICE9IDApIHsKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IHM7CisKKwkJZG8geworCQkJaWYgKCpwKysgPT0gKHVuc2lnbmVkIGNoYXIpYykKKwkJCQlyZXR1cm4gKCh2b2lkICopKHAgLSAxKSk7CisJCX0gd2hpbGUgKC0tbiAhPSAwKTsKKwl9CisJcmV0dXJuIChOVUxMKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtbW92ZS5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy9tZW1tb3ZlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJhYWQ1MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtbW92ZS5jCkBAIC0wLDAgKzEsMTEyIEBACisvKgkkT3BlbkJTRDogbWVtbW92ZS5jLHYgMS4xIDIwMTQvMTEvMzAgMTk6NDM6NTYgZGVyYWFkdCBFeHAgJCAqLworLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogQ2hyaXMgVG9yZWsuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworLyoKKyAqIHNpemVvZih3b3JkKSBNVVNUIEJFIEEgUE9XRVIgT0YgVFdPCisgKiBTTyBUSEFUIHdtYXNrIEJFTE9XIElTIEFMTCBPTkVTCisgKi8KK3R5cGVkZWYJbG9uZyB3b3JkOwkJLyogIndvcmQiIHVzZWQgZm9yIG9wdGltYWwgY29weSBzcGVlZCAqLworCisjZGVmaW5lCXdzaXplCXNpemVvZih3b3JkKQorI2RlZmluZQl3bWFzawkod3NpemUgLSAxKQorCisvKgorICogQ29weSBhIGJsb2NrIG9mIG1lbW9yeSwgaGFuZGxpbmcgb3ZlcmxhcC4KKyAqLwordm9pZCAqCittZW1tb3ZlKHZvaWQgKmRzdDAsIGNvbnN0IHZvaWQgKnNyYzAsIHNpemVfdCBsZW5ndGgpCit7CisJY2hhciAqZHN0ID0gZHN0MDsKKwljb25zdCBjaGFyICpzcmMgPSBzcmMwOworCXNpemVfdCB0OworCisJaWYgKGxlbmd0aCA9PSAwIHx8IGRzdCA9PSBzcmMpCQkvKiBub3RoaW5nIHRvIGRvICovCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogTWFjcm9zOiBsb29wLXQtdGltZXM7IGFuZCBsb29wLXQtdGltZXMsIHQ+MAorCSAqLworI2RlZmluZQlUTE9PUChzKSBpZiAodCkgVExPT1AxKHMpCisjZGVmaW5lCVRMT09QMShzKSBkbyB7IHM7IH0gd2hpbGUgKC0tdCkKKworCWlmICgodW5zaWduZWQgbG9uZylkc3QgPCAodW5zaWduZWQgbG9uZylzcmMpIHsKKwkJLyoKKwkJICogQ29weSBmb3J3YXJkLgorCQkgKi8KKwkJdCA9IChsb25nKXNyYzsJLyogb25seSBuZWVkIGxvdyBiaXRzICovCisJCWlmICgodCB8IChsb25nKWRzdCkgJiB3bWFzaykgeworCQkJLyoKKwkJCSAqIFRyeSB0byBhbGlnbiBvcGVyYW5kcy4gIFRoaXMgY2Fubm90IGJlIGRvbmUKKwkJCSAqIHVubGVzcyB0aGUgbG93IGJpdHMgbWF0Y2guCisJCQkgKi8KKwkJCWlmICgodCBeIChsb25nKWRzdCkgJiB3bWFzayB8fCBsZW5ndGggPCB3c2l6ZSkKKwkJCQl0ID0gbGVuZ3RoOworCQkJZWxzZQorCQkJCXQgPSB3c2l6ZSAtICh0ICYgd21hc2spOworCQkJbGVuZ3RoIC09IHQ7CisJCQlUTE9PUDEoKmRzdCsrID0gKnNyYysrKTsKKwkJfQorCQkvKgorCQkgKiBDb3B5IHdob2xlIHdvcmRzLCB0aGVuIG1vcCB1cCBhbnkgdHJhaWxpbmcgYnl0ZXMuCisJCSAqLworCQl0ID0gbGVuZ3RoIC8gd3NpemU7CisJCVRMT09QKCood29yZCAqKWRzdCA9ICood29yZCAqKXNyYzsgc3JjICs9IHdzaXplOyBkc3QgKz0gd3NpemUpOworCQl0ID0gbGVuZ3RoICYgd21hc2s7CisJCVRMT09QKCpkc3QrKyA9ICpzcmMrKyk7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogQ29weSBiYWNrd2FyZHMuICBPdGhlcndpc2UgZXNzZW50aWFsbHkgdGhlIHNhbWUuCisJCSAqIEFsaWdubWVudCB3b3JrcyBhcyBiZWZvcmUsIGV4Y2VwdCB0aGF0IGl0IHRha2VzCisJCSAqICh0JndtYXNrKSBieXRlcyB0byBhbGlnbiwgbm90IHdzaXplLSh0JndtYXNrKS4KKwkJICovCisJCXNyYyArPSBsZW5ndGg7CisJCWRzdCArPSBsZW5ndGg7CisJCXQgPSAobG9uZylzcmM7CisJCWlmICgodCB8IChsb25nKWRzdCkgJiB3bWFzaykgeworCQkJaWYgKCh0IF4gKGxvbmcpZHN0KSAmIHdtYXNrIHx8IGxlbmd0aCA8PSB3c2l6ZSkKKwkJCQl0ID0gbGVuZ3RoOworCQkJZWxzZQorCQkJCXQgJj0gd21hc2s7CisJCQlsZW5ndGggLT0gdDsKKwkJCVRMT09QMSgqLS1kc3QgPSAqLS1zcmMpOworCQl9CisJCXQgPSBsZW5ndGggLyB3c2l6ZTsKKwkJVExPT1Aoc3JjIC09IHdzaXplOyBkc3QgLT0gd3NpemU7ICood29yZCAqKWRzdCA9ICood29yZCAqKXNyYyk7CisJCXQgPSBsZW5ndGggJiB3bWFzazsKKwkJVExPT1AoKi0tZHN0ID0gKi0tc3JjKTsKKwl9Citkb25lOgorCXJldHVybiAoZHN0MCk7Cit9CmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbXJjaHIuYyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvbWVtcmNoci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMjdlYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL3Vwc3RyZWFtLW9wZW5ic2QvbGliL2xpYmMvc3RyaW5nL21lbXJjaHIuYwpAQCAtMCwwICsxLDM4IEBACisvKgkkT3BlbkJTRDogbWVtcmNoci5jLHYgMS4yIDIwMDcvMTEvMjcgMTY6MjI6MTIgbWFydHluYXMgRXhwICQJKi8KKworLyoKKyAqIENvcHlyaWdodCAoYykgMjAwNyBUb2RkIEMuIE1pbGxlciA8VG9kZC5NaWxsZXJAY291cnRlc2FuLmNvbT4KKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTCisgKiBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUgorICogQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUworICogV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKy8qCisgKiBSZXZlcnNlIG1lbWNocigpCisgKiBGaW5kIHRoZSBsYXN0IG9jY3VycmVuY2Ugb2YgJ2MnIGluIHRoZSBidWZmZXIgJ3MnIG9mIHNpemUgJ24nLgorICovCit2b2lkICoKK21lbXJjaHIoY29uc3Qgdm9pZCAqcywgaW50IGMsIHNpemVfdCBuKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwOworCisJaWYgKG4gIT0gMCkgeworCQljcCA9ICh1bnNpZ25lZCBjaGFyICopcyArIG47CisJCWRvIHsKKwkJCWlmICgqKC0tY3ApID09ICh1bnNpZ25lZCBjaGFyKWMpCisJCQkJcmV0dXJuKCh2b2lkICopY3ApOworCQl9IHdoaWxlICgtLW4gIT0gMCk7CisJfQorCXJldHVybihOVUxMKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvd21lbWNweS5jIGIvbGliYy91cHN0cmVhbS1vcGVuYnNkL2xpYi9saWJjL3N0cmluZy93bWVtY3B5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJiZDgzNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdXBzdHJlYW0tb3BlbmJzZC9saWIvbGliYy9zdHJpbmcvd21lbWNweS5jCkBAIC0wLDAgKzEsNDAgQEAKKy8qCSRPcGVuQlNEOiB3bWVtY3B5LmMsdiAxLjMgMjAwNS8wOC8wOCAwODowNTozNyBlc3BpZSBFeHAgJAkqLworLyoJJE5ldEJTRDogd21lbWNweS5jLHYgMS4yIDIwMDEvMDEvMDMgMTQ6Mjk6MzcgbHVrZW0gRXhwICQJKi8KKworLyotCisgKiBDb3B5cmlnaHQgKGMpMTk5OSBDaXRydXMgUHJvamVjdCwKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICoJY2l0cnVzIElkOiB3bWVtY3B5LmMsdiAxLjIgMjAwMC8xMi8yMCAxNDowODozMSBpdG9qdW4gRXhwCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHdjaGFyLmg+CisKK3djaGFyX3QgKgord21lbWNweSh3Y2hhcl90ICpkLCBjb25zdCB3Y2hhcl90ICpzLCBzaXplX3QgbikKK3sKKworCXJldHVybiAod2NoYXJfdCAqKW1lbWNweShkLCBzLCBuICogc2l6ZW9mKHdjaGFyX3QpKTsKK30KZGlmZiAtLWdpdCBhL2xpYmMvdmVyc2lvbl9zY3JpcHQudHh0IGIvbGliYy92ZXJzaW9uX3NjcmlwdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ5YTJmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvdmVyc2lvbl9zY3JpcHQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0xJQkMgeworICBnbG9iYWw6CisgICAgLyogV29yay1hcm91bmQgZm9yIGh0dHA6Ly9iLzIwMDY1Nzc0LiAqLworICAgIF9fY2xlYXJfY2FjaGU7CisgICAgX1Vud2luZF9CYWNrdHJhY2U7CisgICAgX1Vud2luZF9HZXRJUDsKKyAgbG9jYWw6CisgICAgX1pTdDdub3Rocm93OworICAgIF9aZGFQdjsKKyAgICBfWmRhUHZSS1N0OW5vdGhyb3dfdDsKKyAgICBfWmRsUHY7CisgICAgX1pkbFB2UktTdDlub3Rocm93X3Q7CisgICAgX1puYWo7CisgICAgX1puYWpSS1N0OW5vdGhyb3dfdDsKKyAgICBfWm53ajsKKyAgICBfWm53alJLU3Q5bm90aHJvd190OworfTsKZGlmZiAtLWdpdCBhL2xpYmMvem9uZWluZm8vdHpkYXRhIGIvbGliYy96b25laW5mby90emRhdGEKaW5kZXggYjlhNjYyMS4uMzY2MWI2OCAxMDA2NDQKLS0tIGEvbGliYy96b25laW5mby90emRhdGEKKysrIGIvbGliYy96b25laW5mby90emRhdGEKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGliZGwvQW5kcm9pZC5tayBiL2xpYmRsL0FuZHJvaWQubWsKaW5kZXggY2IxY2I3ZC4uMmEwNzI0YSAxMDA2NDQKLS0tIGEvbGliZGwvQW5kcm9pZC5taworKysgYi9saWJkbC9BbmRyb2lkLm1rCkBAIC0yMyw2ICsyMyw3IEBACiAKIExPQ0FMX1NSQ19GSUxFUzo9IGxpYmRsLmMKIExPQ0FMX0NGTEFHUyA6PSAtV2FsbCAtV2V4dHJhIC1XdW51c2VkIC1XZXJyb3IKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQogCiBMT0NBTF9NT0RVTEUgOj0gbGliZGwKIExPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5tawpAQCAtMzUsNCArMzYsMTggQEAKIExPQ0FMX0FMTE9XX1VOREVGSU5FRF9TWU1CT0xTIDo9IHRydWUKIExPQ0FMX1NZU1RFTV9TSEFSRURfTElCUkFSSUVTIDo9CiAKK0xPQ0FMX0FERFJFU1NfU0FOSVRJWkVSIDo9IGZhbHNlCiBpbmNsdWRlICQoQlVJTERfU0hBUkVEX0xJQlJBUlkpCisKKyMgQSBkdW1teSBsaWJkbC5hLiBOZWVkIGZvciBzdGF0aWMgZXhlY3V0YWJsZXMgdXNpbmcgdGhlIExMVk0gdW53aW5kZXIuIE1vc3QKKyMgZnVuY3Rpb25zIGRlZmF1bHQgdG8gZmFpbHVyZSwgb3RoZXJzIHVzZSBhIHNlbnNpYmxlIGRlZmF1bHQgKGRsX2l0ZXJhdGVfcGhkcigpCisjIHJldHVybnMgMCwgYXMgd291bGQgaGFwcGVuIGlmIHRoZSB1c2VyIGl0ZXJhdGVkIG92ZXIgZXZlcnkgcGhkcikuCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKK0xPQ0FMX1NSQ19GSUxFUzo9IGxpYmRsLmMKK0xPQ0FMX0NGTEFHUyA6PSAtV2FsbCAtV2V4dHJhIC1XdW51c2VkIC1XZXJyb3IKK0xPQ0FMX0NYWF9TVEwgOj0gbm9uZQorCitMT0NBTF9NT0RVTEUgOj0gbGliZGwKK0xPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5taworTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK2luY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKZGlmZiAtLWdpdCBhL2xpYm0vQW5kcm9pZC5tayBiL2xpYm0vQW5kcm9pZC5tawppbmRleCA5OTRjYWEwLi42NDcyYTE1IDEwMDY0NAotLS0gYS9saWJtL0FuZHJvaWQubWsKKysrIGIvbGlibS9BbmRyb2lkLm1rCkBAIC0xLDM0ICsxLDM0IEBACiBpZm5lcSAoJChUQVJHRVRfVVNFX1BSSVZBVEVfTElCTSksdHJ1ZSkKIExPQ0FMX1BBVEg6PSAkKGNhbGwgbXktZGlyKQogCi0jIFRPRE86IHRoaXMgY29tZXMgZnJvbSBmcm9tIHVwc3RyZWFtJ3MgbGliYywgbm90IGxpYm0sIGJ1dCBpdCdzIGFuCi0jIGltcGxlbWVudGF0aW9uIGRldGFpbCB0aGF0IHNob3VsZCBoYXZlIGhpZGRlbiB2aXNpYmlsaXR5LCBzbyBpdCBuZWVkcwotIyB0byBiZSBpbiB3aGF0ZXZlciBsaWJyYXJ5IHRoZSBtYXRoIGNvZGUgaXMgaW4uCi1saWJtX2NvbW1vbl9zcmNfZmlsZXMgOj0gXAotICAgIGRpZ2l0dG9pbnQuYyAgXAorYmlvbmljX2NvdmVyYWdlIDo9IGZhbHNlCiAKLSMgVE9ETzogdGhpcyBpcyBub3QgaW4gdGhlIEJTRHMuCi1saWJtX2NvbW1vbl9zcmNfZmlsZXMgKz0gXAotICAgIHNpZ25pZmljYW5kbC5jIFwKLSAgICBzaW5jb3MuYyBcCitpZm5lcSAoLCQoZmlsdGVyICQoVEFSR0VUX0FSQ0gpLHg4NiB4ODZfNjQpKQorIyBDbGFuZyBoYXMgd3JvbmcgbG9uZyBkb3VibGUgc2l6ZXMgZm9yIHg4Ni4KK2xpYm1fY2xhbmcgOj0gZmFsc2UKK2VuZGlmCiAKLWxpYm1fY29tbW9uX3NyY19maWxlcyArPSBcCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxpYm0uYQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoraW5jbHVkZSAkKENMRUFSX1ZBUlMpCisKK0xPQ0FMX01PRFVMRSA6PSBsaWJtCisKK0xPQ0FMX1NSQ19GSUxFUyA6PSBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9ic2RzcmMvYl9leHAuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9ic2RzcmMvYl9sb2cuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9ic2RzcmMvYl90Z2FtbWEuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hY29zLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2NhdHJpZy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9jYXRyaWdmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYWNvc2YuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hY29zaC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Fjb3NoZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2FzaW4uYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hc2luZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2F0YW4yLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYXRhbjJmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYXRhbmguYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hdGFuaGYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9jb3NoLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfY29zaGYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9leHAuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9leHBmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfZm1vZC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Ztb2RmLmMgXApAQCAtMzYsNyArMzYsNiBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfZ2FtbWFmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfZ2FtbWFmX3IuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9nYW1tYV9yLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfaHlwb3QuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9oeXBvdGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9qMC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2owZi5jIFwKQEAgLTQ4LDEzICs0NywxMCBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbGdhbW1hZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYWZfci5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYV9yLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbG9nMTAuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sb2cxMGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sb2cyLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbG9nMmYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sb2cuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sb2dmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcG93LmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcG93Zi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3JlbWFpbmRlci5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3JlbWFpbmRlcmYuYyBcCkBAIC02MiwxMCArNTgsNyBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcmVtX3BpbzJmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2NhbGIuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zY2FsYmYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zaW5oLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2luaGYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zcXJ0LmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc3FydGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvaW1wcmVjaXNlLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2tfY29zLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2tfY29zZi5jIFwKQEAgLTc4LDUxICs3MSw0NyBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2tfdGFuZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2FzaW5oLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfYXNpbmhmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfYXRhbi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2F0YW5mLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2FyZy5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NhcmdmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2JydC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NhcmdsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2JydGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jY29zaC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Njb3NoZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NlaWwuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jZWlsZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NleHAuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jZXhwZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NpbWFnLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2ltYWdmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2ltYWdsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY29uai5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NvbmpmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY29uamwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jb3B5c2lnbi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NvcHlzaWduZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Nvcy5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Nvc2YuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jcHJvai5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Nwcm9qZi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Nwcm9qbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NyZWFsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY3JlYWxmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY3JlYWxsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY3NpbmguYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jc2luaGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jc3FydC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NzcXJ0Zi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NzcXJ0bC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2N0YW5oLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY3RhbmhmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXJmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXJmZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2V4cDIuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19leHAyZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2V4cG0xLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXhwbTFmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZmFicy5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZhYnNmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZmRpbS5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zpbml0ZS5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zpbml0ZWYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbG9vci5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zsb29yZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZtYS5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZtYWYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbWF4LmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZm1heGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbWluLmMgXApAQCAtMTMxLDE2ICsxMjAsMTEgQEAKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZyZXhwZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2lsb2diLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfaWxvZ2JmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50LmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50Zi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2xscm91bmQuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19sbHJvdW5kZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2xvZzFwLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbG9nMXBmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbG9nYi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2xvZ2JmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbHJpbnQuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19scmludGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19scm91bmQuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19scm91bmRmLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbW9kZi5jIFwKQEAgLTE1MSw4ICsxMzUsNiBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbmV4dGFmdGVyZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JlbXF1by5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JlbXF1b2YuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50LmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JvdW5kZi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3NjYWxibG4uYyBcCkBAIC0xNjEsMjUgKzE0MywyMCBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfc2lnbmdhbS5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3NpZ25pZmljYW5kLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfc2lnbmlmaWNhbmRmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfc2luLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfc2luZi5jIFwKLSAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3Rhbi5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmYuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5oLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdGFuaGYuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190Z2FtbWFmLmMgXAotICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdHJ1bmMuYyBcCi0gICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190cnVuY2YuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvd19jYWJzLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3dfY2Fic2YuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvd19jYWJzbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy93X2RyZW0uYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvd19kcmVtZi5jIFwKIAotbGlibV9jb21tb25fc3JjX2ZpbGVzICs9IFwKK0xPQ0FMX1NSQ19GSUxFU18zMiArPSBcCiAgICAgZmFrZV9sb25nX2RvdWJsZS5jIFwKLSAgICBzaWduYml0LmMgXAogCi1saWJtX2xkX3NyY19maWxlcyA9IFwKK0xPQ0FMX1NSQ19GSUxFU182NCA6PSBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hY29zbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Fjb3NobC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2FzaW5sLmMgXApAQCAtMTg3LDYgKzE2NCw3IEBACiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hdGFuaGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9mbW9kbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2h5cG90bC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYWwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9yZW1haW5kZXJsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc3FydGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19hc2luaGwuYyBcCkBAIC0xOTQsNiArMTcyLDcgQEAKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NicnRsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2VpbGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jb3B5c2lnbmwuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9jb3NobC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Nvc2wuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mYWJzbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zsb29ybC5jIFwKQEAgLTIxNSwyNSArMTk0LDI5NCBAQAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19zY2FsYm5sLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2luaGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19zaW5sLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdGFuaGwuYyBcCiAgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5sLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdHJ1bmNsLmMgXAogCi1saWJtX2xkX3NyY19maWxlcyArPSBcCitMT0NBTF9TUkNfRklMRVNfNjQgKz0gXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvaW52dHJpZy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2VfbGdhbW1hbF9yLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgva19jb3NsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgva19zaW5sLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgva190YW5sLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvc19lcmZsLmMgXAogICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvc19leHAybC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfZXhwbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfbG9nbC5jIFwKICAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfbmFubC5jIFwKIAotIyBUT0RPOiByZS1lbmFibGUgaTM4Ny9lX3NxcnRmLlMgZm9yIHg4NiwgYW5kIG1heWJlIG90aGVycy4KKyMgVE9ETzogdGhpcyBjb21lcyBmcm9tIGZyb20gdXBzdHJlYW0ncyBsaWJjLCBub3QgbGlibSwgYnV0IGl0J3MgYW4KKyMgaW1wbGVtZW50YXRpb24gZGV0YWlsIHRoYXQgc2hvdWxkIGhhdmUgaGlkZGVuIHZpc2liaWxpdHksIHNvIGl0IG5lZWRzCisjIHRvIGJlIGluIHdoYXRldmVyIGxpYnJhcnkgdGhlIG1hdGggY29kZSBpcyBpbi4KK0xPQ0FMX1NSQ19GSUxFUyArPSBcCisgICAgZGlnaXR0b2ludC5jICBcCiAKLWxpYm1fY29tbW9uX2NmbGFncyA6PSBcCisjIEZ1bmN0aW9uYWxpdHkgbm90IGluIHRoZSBCU0RzLgorTE9DQUxfU1JDX0ZJTEVTICs9IFwKKyAgICBzaWduaWZpY2FuZGwuYyBcCisgICAgc2luY29zLmMgXAorCisjIE1vZGlmaWVkIHZlcnNpb25zIG9mIEJTRCBjb2RlLgorTE9DQUxfU1JDX0ZJTEVTICs9IFwKKyAgICBzaWduYml0LmMgXAorCisjIEFyY2ggc3BlY2lmaWMgb3B0aW1pemF0aW9ucy4KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBhcm0KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xPQ0FMX1NSQ19GSUxFU19hcm0gKz0gXAorICAgIGFybS9mZW52LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYWNvcy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2FzaW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hdGFuMi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Nvc2guYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9leHAuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9oeXBvdC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xvZy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xvZzEwLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcG93LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2luaC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2F0YW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jYnJ0LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2VpbC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NlaWxmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY29zLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZm1hLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZm1hZi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zsb29yZi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2V4cG0xLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50Zi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2xvZzFwLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbHJpbnQuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19scmludGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19zaW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5oLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdHJ1bmMuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190cnVuY2YuYyBcCisKKyMgc19mbG9vci5TIHJlcXVpcmVzIG5lb24gaW5zdHJ1Y3Rpb25zLgoraWZkZWYgVEFSR0VUXzJORF9BUkNICithcmNoX3ZhcmlhbnQgOj0gJChUQVJHRVRfMk5EX0FSQ0hfVkFSSUFOVCkKK2Vsc2UKK2FyY2hfdmFyaWFudCA6PSAkKFRBUkdFVF9BUkNIX1ZBUklBTlQpCitlbmRpZgorCisjIFVzZSB0aGUgQyB2ZXJzaW9uIG9uIGFybXY3LWEgc2luY2UgaXQgZG9lc24ndCBzdXBwb3J0IG5lb24gaW5zdHJ1Y3Rpb25zLgoraWZlcSAoJChhcmNoX3ZhcmlhbnQpLGFybXY3LWEpCitMT0NBTF9TUkNfRklMRVNfYXJtICs9IFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3NxcnQuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zcXJ0Zi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zsb29yLmMgXAorCitlbHNlCitMT0NBTF9TUkNfRklMRVNfYXJtICs9IFwKKyAgICBhcm0vZV9zcXJ0LlMgXAorICAgIGFybS9lX3NxcnRmLlMgXAorICAgIGFybS9zX2Zsb29yLlMgXAorCitlbmRpZgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGFybTY0CisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMT0NBTF9TUkNfRklMRVNfYXJtNjQgKz0gXAorICAgIGFybTY0L2NlaWwuUyBcCisgICAgYXJtNjQvZmVudi5jIFwKKyAgICBhcm02NC9mbWEuUyBcCisgICAgYXJtNjQvZmxvb3IuUyBcCisgICAgYXJtNjQvbHJpbnQuUyBcCisgICAgYXJtNjQvcmludC5TIFwKKyAgICBhcm02NC9zcXJ0LlMgXAorICAgIGFybTY0L3RydW5jLlMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYWNvcy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2FzaW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hdGFuMi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Nvc2guYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9leHAuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9oeXBvdC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xvZy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xvZzEwLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcG93LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2luaC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2F0YW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jYnJ0LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY29zLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXhwbTEuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19sb2cxcC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3Npbi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3Rhbi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmguYyBcCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbWlwcworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlibV9taXBzX2FyY2hfZmlsZXMgOj0gXAorICAgIG1pcHMvZmVudi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Fjb3MuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hc2luLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYXRhbjIuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9jb3NoLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfZXhwLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfaHlwb3QuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sb2cuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sb2cxMC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3Bvdy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3NpbmguYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zcXJ0LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc3FydGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19hdGFuLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2JydC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NlaWwuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jZWlsZi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Nvcy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZtYS5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZtYWYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbG9vci5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zsb29yZi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2V4cG0xLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50Zi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2xvZzFwLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbHJpbnQuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19scmludGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19zaW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW4uYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5oLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdHJ1bmMuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190cnVuY2YuYyBcCisKK0xPQ0FMX1NSQ19GSUxFU19taXBzICs9ICQobGlibV9taXBzX2FyY2hfZmlsZXMpCitMT0NBTF9TUkNfRklMRVNfbWlwczY0ICs9ICQobGlibV9taXBzX2FyY2hfZmlsZXMpCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgeDg2CisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMT0NBTF9TUkNfRklMRVNfeDg2ICs9IFwKKyAgICBpMzg3L2ZlbnYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbWEuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbWFmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbGxyaW50Zi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2xyaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbHJpbnRmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JpbnRmLmMgXAorICAgIHg4Ni9zcXJ0LlMgXAorICAgIHg4Ni9zcXJ0Zi5TIFwKKyAgICB4ODYvZV9hY29zLlMgXAorICAgIHg4Ni9lX2FzaW4uUyBcCisgICAgeDg2L2VfYXRhbjIuUyBcCisgICAgeDg2L2VfY29zaC5TIFwKKyAgICB4ODYvZV9leHAuUyBcCisgICAgeDg2L2VfaHlwb3QuUyBcCisgICAgeDg2L2VfbG9nMTAuUyBcCisgICAgeDg2L2VfbG9nLlMgXAorICAgIHg4Ni9lX3Bvdy5TIFwKKyAgICB4ODYvZV9zaW5oLlMgXAorICAgIHg4Ni9saWJtX3JlZHVjZV9waTA0bC5TIFwKKyAgICB4ODYvbGlibV9zaW5jb3NfaHVnZS5TIFwKKyAgICB4ODYvbGlibV90YW5jb3RfaHVnZS5TIFwKKyAgICB4ODYvc19hdGFuLlMgXAorICAgIHg4Ni9zX2NicnQuUyBcCisgICAgeDg2L3NfY29zLlMgXAorICAgIHg4Ni9zX2V4cG0xLlMgXAorICAgIHg4Ni9zX2xvZzFwLlMgXAorICAgIHg4Ni9zX3Npbi5TIFwKKyAgICB4ODYvc190YW5oLlMgXAorICAgIHg4Ni9zX3Rhbi5TIFwKKworaWZlcSAoJChBUkNIX1g4Nl9IQVZFX1NTRTRfMSksdHJ1ZSkKK0xPQ0FMX1NSQ19GSUxFU194ODYgKz0gXAorICAgIHg4Ni9jZWlsLlMgXAorICAgIHg4Ni9jZWlsZi5TIFwKKyAgICB4ODYvZmxvb3IuUyBcCisgICAgeDg2L2Zsb29yZi5TIFwKKyAgICB4ODYvdHJ1bmMuUyBcCisgICAgeDg2L3RydW5jZi5TIFwKKworZWxzZQorTE9DQUxfU1JDX0ZJTEVTX3g4NiArPSBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19jZWlsLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2VpbGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbG9vci5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2Zsb29yZi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RydW5jLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdHJ1bmNmLmMgXAorCitlbmRpZgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIHg4Nl82NAorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTE9DQUxfU1JDX0ZJTEVTX3g4Nl82NCArPSBcCisgICAgYW1kNjQvZmVudi5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZtYS5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2ZtYWYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19sbHJpbnQuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19sbHJpbnRmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfbHJpbnQuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19scmludGYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50LmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludGYuYyBcCisgICAgeDg2XzY0L3NxcnQuUyBcCisgICAgeDg2XzY0L3NxcnRmLlMgXAorICAgIHg4Nl82NC9lX2Fjb3MuUyBcCisgICAgeDg2XzY0L2VfYXNpbi5TIFwKKyAgICB4ODZfNjQvZV9hdGFuMi5TIFwKKyAgICB4ODZfNjQvZV9jb3NoLlMgXAorICAgIHg4Nl82NC9lX2V4cC5TIFwKKyAgICB4ODZfNjQvZV9oeXBvdC5TIFwKKyAgICB4ODZfNjQvZV9sb2cxMC5TIFwKKyAgICB4ODZfNjQvZV9sb2cuUyBcCisgICAgeDg2XzY0L2VfcG93LlMgXAorICAgIHg4Nl82NC9lX3NpbmguUyBcCisgICAgeDg2XzY0L3NfYXRhbi5TIFwKKyAgICB4ODZfNjQvc19jYnJ0LlMgXAorICAgIHg4Nl82NC9zX2Nvcy5TIFwKKyAgICB4ODZfNjQvc19leHBtMS5TIFwKKyAgICB4ODZfNjQvc19sb2cxcC5TIFwKKyAgICB4ODZfNjQvc19zaW4uUyBcCisgICAgeDg2XzY0L3NfdGFuaC5TIFwKKyAgICB4ODZfNjQvc190YW4uUyBcCisKK2lmZXEgKCQoQVJDSF9YODZfSEFWRV9TU0U0XzEpLHRydWUpCitMT0NBTF9TUkNfRklMRVNfeDg2XzY0ICs9IFwKKyAgICB4ODZfNjQvY2VpbC5TIFwKKyAgICB4ODZfNjQvY2VpbGYuUyBcCisgICAgeDg2XzY0L2Zsb29yLlMgXAorICAgIHg4Nl82NC9mbG9vcmYuUyBcCisgICAgeDg2XzY0L3RydW5jLlMgXAorICAgIHg4Nl82NC90cnVuY2YuUyBcCisKK2Vsc2UKK0xPQ0FMX1NSQ19GSUxFU194ODZfNjQgKz0gXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfY2VpbC5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2NlaWxmLmMgXAorICAgIHVwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZmxvb3IuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19mbG9vcmYuYyBcCisgICAgdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190cnVuYy5jIFwKKyAgICB1cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RydW5jZi5jIFwKKworZW5kaWYKKworTE9DQUxfQ19JTkNMVURFU194ODYgKz0gJChMT0NBTF9QQVRIKS9pMzg3CisKK0xPQ0FMX0NfSU5DTFVERVMgKz0gJChMT0NBTF9QQVRIKS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy8KK0xPQ0FMX0NfSU5DTFVERVNfNjQgKz0gJChMT0NBTF9QQVRIKS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4LworCitMT0NBTF9DTEFORyA6PSAkKGxpYm1fY2xhbmcpCitMT0NBTF9BUk1fTU9ERSA6PSBhcm0KK0xPQ0FMX0NGTEFHUyA6PSBcCiAgICAgLURGTFRfRVZBTF9NRVRIT0Q9MCBcCi0gICAgLXN0ZD1jOTkgXAogICAgIC1pbmNsdWRlICQoTE9DQUxfUEFUSCkvZnJlZWJzZC1jb21wYXQuaCBcCiAgICAgLVduby1taXNzaW5nLWJyYWNlcyBcCiAgICAgLVduby1wYXJlbnRoZXNlcyBcCkBAIC0yNDIsNjEgKzQ5MCw0NiBAQAogICAgIC1Xbm8tdW5rbm93bi1wcmFnbWFzIFwKICAgICAtZnZpc2liaWxpdHk9aGlkZGVuIFwKIAorTE9DQUxfQVNGTEFHUyA6PSBcCisgICAgLUliaW9uaWMvbGliYyBcCisKICMgV29ya2Fyb3VuZCB0aGUgR0NDICIobG9uZylmbiAtPiBsZm4iIG9wdGltaXphdGlvbiBidWcgd2hpY2ggd2lsbCByZXN1bHQgaW4KICMgc2VsZiByZWN1cnNpb25zIGZvciBscmludCwgbHJpbnRmLCBhbmQgbHJpbnRsLgogIyBCVUc6IDE0MjI1OTY4Ci1saWJtX2NvbW1vbl9jZmxhZ3MgKz0gLWZuby1idWlsdGluLXJpbnQgLWZuby1idWlsdGluLXJpbnRmIC1mbm8tYnVpbHRpbi1yaW50bAorTE9DQUxfQ0ZMQUdTICs9IFwKKyAgICAtZm5vLWJ1aWx0aW4tcmludCBcCisgICAgLWZuby1idWlsdGluLXJpbnRmIFwKKyAgICAtZm5vLWJ1aWx0aW4tcmludGwgXAogCi1saWJtX2NvbW1vbl9pbmNsdWRlcyA6PSAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjLworTE9DQUxfQ09OTFlfRkxBR1MgOj0gXAorICAgIC1zdGQ9Yzk5IFwKIAotbGlibV9sZF9pbmNsdWRlcyA6PSAkKExPQ0FMX1BBVEgpL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvCi0KLSMKLSMgbGlibS5hIGZvciB0YXJnZXQuCi0jCi1pbmNsdWRlICQoQ0xFQVJfVkFSUykKLUxPQ0FMX01PRFVMRTo9IGxpYm0KLUxPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5tawotTE9DQUxfQVJNX01PREUgOj0gYXJtCi1MT0NBTF9DRkxBR1MgOj0gJChsaWJtX2NvbW1vbl9jZmxhZ3MpCi1MT0NBTF9DX0lOQ0xVREVTICs9ICQobGlibV9jb21tb25faW5jbHVkZXMpCi1MT0NBTF9TUkNfRklMRVMgOj0gJChsaWJtX2NvbW1vbl9zcmNfZmlsZXMpCi1MT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PSBsaWJjCi0KLSMgYXJjaC1zcGVjaWZpYyBzZXR0aW5ncwotTE9DQUxfQ19JTkNMVURFU19hcm0gOj0gJChMT0NBTF9QQVRIKS9hcm0KLUxPQ0FMX1NSQ19GSUxFU19hcm0gOj0gYXJtL2ZlbnYuYwotCi1MT0NBTF9DX0lOQ0xVREVTX2FybTY0IDo9ICQobGlibV9sZF9pbmNsdWRlcykKLUxPQ0FMX1NSQ19GSUxFU19hcm02NCA6PSBhcm02NC9mZW52LmMgJChsaWJtX2xkX3NyY19maWxlcykKLQotTE9DQUxfQ19JTkNMVURFU194ODYgOj0gJChMT0NBTF9QQVRIKS9pMzg3Ci1MT0NBTF9TUkNfRklMRVNfeDg2IDo9IGkzODcvZmVudi5jCi0KLUxPQ0FMX0NfSU5DTFVERVNfeDg2XzY0IDo9ICQobGlibV9sZF9pbmNsdWRlcykKLUxPQ0FMX1NSQ19GSUxFU194ODZfNjQgOj0gYW1kNjQvZmVudi5jICQobGlibV9sZF9zcmNfZmlsZXMpCi0KLUxPQ0FMX1NSQ19GSUxFU19taXBzIDo9IG1pcHMvZmVudi5jCi0KLUxPQ0FMX0NfSU5DTFVERVNfbWlwczY0IDo9ICQobGlibV9sZF9pbmNsdWRlcykKLUxPQ0FMX1NSQ19GSUxFU19taXBzNjQgOj0gbWlwcy9mZW52LmMgJChsaWJtX2xkX3NyY19maWxlcykKLQorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKIGluY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKIAotIwotIyBsaWJtLnNvIGZvciB0YXJnZXQuCi0jCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxpYm0uc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUgJChDTEVBUl9WQVJTKQotTE9DQUxfTU9EVUxFOj0gbGlibQotTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rCisKKyMgVE9ETzogVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBiLzE5MDU5ODg1LiBSZW1vdmUgYWZ0ZXIgcm9vdCBjYXVzZSBpcyBmaXhlZAorTE9DQUxfTERGTEFHU19hcm0gOj0gLVdsLC0taGFzaC1zdHlsZT1zeXN2CisKK0xPQ0FMX01PRFVMRSA6PSBsaWJtCitMT0NBTF9DTEFORyA6PSAkKGxpYm1fY2xhbmcpCiBMT0NBTF9TWVNURU1fU0hBUkVEX0xJQlJBUklFUyA6PSBsaWJjCiBMT0NBTF9XSE9MRV9TVEFUSUNfTElCUkFSSUVTIDo9IGxpYm0KIAorTE9DQUxfTkFUSVZFX0NPVkVSQUdFIDo9ICQoYmlvbmljX2NvdmVyYWdlKQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKKworTE9DQUxfQ1hYX1NUTCA6PSBub25lCisKICMgV2UnZCByZWFsbHkgbGlrZSB0byBkbyB0aGlzIGZvciBhbGwgYXJjaGl0ZWN0dXJlcywgYnV0IHNpbmNlIHRoaXMgd2Fzbid0IGRvbmUKICMgYmVmb3JlLCB0aGVzZSBzeW1ib2xzIG11c3QgY29udGludWUgdG8gYmUgZXhwb3J0ZWQgb24gTFAzMiBmb3IgYmluYXJ5CiAjIGNvbXBhdGliaWxpdHkuCi1MT0NBTF9MREZMQUdTX2FybTY0IDo9IC1XbCwtLWV4Y2x1ZGUtbGlicyxsaWJnY2MuYQotTE9DQUxfTERGTEFHU19taXBzNjQgOj0gLVdsLC0tZXhjbHVkZS1saWJzLGxpYmdjYy5hCi1MT0NBTF9MREZMQUdTX3g4Nl82NCA6PSAtV2wsLS1leGNsdWRlLWxpYnMsbGliZ2NjLmEKK0xPQ0FMX0xERkxBR1NfNjQgOj0gLVdsLC0tZXhjbHVkZS1saWJzLGxpYmdjYy5hCisKIGluY2x1ZGUgJChCVUlMRF9TSEFSRURfTElCUkFSWSkKIGVuZGlmCmRpZmYgLS1naXQgYS9saWJtL05PVElDRSBiL2xpYm0vTk9USUNFCmluZGV4IDViZTYwZGIuLjcwZjJmNDYgMTAwNjQ0Ci0tLSBhL2xpYm0vTk9USUNFCisrKyBiL2xpYm0vTk9USUNFCkBAIC01NDksMzIgKzU0OSw2IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQ29weXJpZ2h0IChjKSAyMDA0LTIwMTEgRGF2aWQgU2NodWx0eiA8ZGFzQEZyZWVCU0QuT1JHPgotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0xLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLUFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLUFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi1GT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLU9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLUxJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLU9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLVNVQ0ggREFNQUdFLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KIENvcHlyaWdodCAoYykgMjAwNSBCcnVjZSBELiBFdmFucyBhbmQgU3RldmVuIEcuIEthcmdsCiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCkBAIC05NzYsNiArOTUwLDMyIEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorQ29weXJpZ2h0IChjKSAyMDEyIFN0ZXBoZW4gTW9udGdvbWVyeS1TbWl0aCA8c3RlcGhlbkBGcmVlQlNELk9SRz4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCithcmUgbWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKK0lNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCitBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKK0RBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCitPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKK0hPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCitMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCitPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCitTVUNIIERBTUFHRS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBDb3B5cmlnaHQgKGMpIDIwMTMgRGF2aWQgQ2hpc25hbGwKIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKZGlmZiAtLWdpdCBhL2xpYm0vYXJtL2Vfc3FydC5TIGIvbGlibS9hcm0vZV9zcXJ0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTczMTJmNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vYXJtL2Vfc3FydC5TCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNCwgTlZJRElBIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIEpvaG5ueSBRaXUgPGpvcWl1QG52aWRpYS5jb20+CisgKiBTaHUgWmhhbmcgPGNoYXpoYW5nQG52aWRpYS5jb20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBUaGUgTGludXggRm91bmRhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVAorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisgKiBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRQorICogT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTgorICogSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGZsb2F0Lmg+CisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKHNxcnQpCisgICAgdm1vdi5mNjQgICAgZDAsIHIwLCByMQorICAgIHZzcXJ0LmY2NCAgIGQwLCBkMAorICAgIHZtb3YuZjY0ICAgIHIwLCByMSwgZDAKKyAgICBieCAgICAgICAgICBscgorRU5EKHNxcnQpCisKK0FMSUFTX1NZTUJPTChzcXJ0bCwgc3FydCk7CmRpZmYgLS1naXQgYS9saWJtL2FybS9lX3NxcnRmLlMgYi9saWJtL2FybS9lX3NxcnRmLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRlZmIyMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vYXJtL2Vfc3FydGYuUwpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTQsIE5WSURJQSBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBKb2hobm55IFFpdSA8am9xaXVAbnZpZGlhLmNvbT4KKyAqIFNodSBaaGFuZyA8Y2hhemhhbmdAbnZpZGlhLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFRoZSBMaW51eCBGb3VuZGF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5UCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyAqIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFCisgKiBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOCisgKiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKHNxcnRmKQorICAgIHZtb3YuZjMyICAgIHMwLCByMAorICAgIHZzcXJ0LmYzMiAgIHMwLCBzMAorICAgIHZtb3YuZjMyICAgIHIwLCBzMAorICAgIGJ4ICAgICAgICAgIGxyCitFTkQoc3FydGYpCmRpZmYgLS1naXQgYS9saWJtL2FybS9zX2Zsb29yLlMgYi9saWJtL2FybS9zX2Zsb29yLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FmOGY3NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vYXJtL3NfZmxvb3IuUwpAQCAtMCwwICsxLDEzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE0LCBOVklESUEgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogSm9obm55IFFpdSA8am9xaXVAbnZpZGlhLmNvbT4KKyAqIFNodSBaaGFuZyA8Y2hhemhhbmdAbnZpZGlhLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFRoZSBMaW51eCBGb3VuZGF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5UCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyAqIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFCisgKiBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOCisgKiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8ZmxvYXQuaD4KKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoZmxvb3IpICAgIC8qIHggaW4gcjAsIHIxICovCisKKyAgICAgICAgYW5kICAgICAgICAgICAgIHIzLCByMSwgIzB4ODAwMDAwMDAgICAgIC8qIHNpZ24oeCkgKi8KKyAgICAgICAgYmljICAgICAgICAgICAgIHIxLCByMSwgIzB4ODAwMDAwMDAgICAgIC8qIHggPSBhYnMoeCkgKi8KKworICAgICAgICAvKiBleHRyYWN0IGV4cCBvZiB4ICovCisgICAgICAgIGxzciAgICAgICAgICAgICByMiwgcjEsICMyMAorICAgICAgICBzdWIgICAgICAgICAgICAgcjIsIHIyLCAjMHgzZmMKKyAgICAgICAgc3VicyAgICAgICAgICAgIHIyLCByMiwgIzB4MyAgICAgICAgICAgIC8qIHIyIDwtIGV4cCAqLworCisgICAgICAgIC8qIHx4fCA8IDEuMD8gKi8KKyAgICAgICAgYmx0ICAgICAgICAgICAgIC5MeF9sdF9vbmUKKworICAgICAgICAvKiB4IDwgMD8gKi8KKyAgICAgICAgY21wICAgICAgICAgICAgIHIzLCAjMAorICAgICAgICBibmUgICAgICAgICAgICAgLkxjbHJfZnJhY19uZWcKKworICAgICAgICAvKiB8eHwgPD0gMl4yMD8gKi8KKyAgICAgICAgY21wICAgICAgICAgICAgIHIyLCAjMjAKKyAgICAgICAgYmxlICAgICAgICAgICAgIC5MY2xyX2ZyYWNfcjEKKworICAgICAgICAvKiB8eHwgPCAyXjUyPyAqLworICAgICAgICBjbXAgICAgICAgICAgICAgcjIsICM1MgorICAgICAgICBibHQgICAgICAgICAgICAgLkxjbHJfZnJhY19yMAorCisgICAgICAgIC8qIHJldHVybiB4ICovCisgICAgICAgIGJ4ICAgICAgICAgICAgICBscgorCisuTGNscl9mcmFjX3IxOgorICAgICAgICByc2IgICAgICAgICAgICAgcjIsIHIyLCAjMjAKKyAgICAgICAgbHNyICAgICAgICAgICAgIHIxLCByMSwgcjIKKyAgICAgICAgbHNsICAgICAgICAgICAgIHIxLCByMSwgcjIKKyAgICAgICAgbW92ICAgICAgICAgICAgIHIwLCAjMAorICAgICAgICBieCAgICAgICAgICAgICAgbHIKKworLkxjbHJfZnJhY19yMDoKKyAgICAgICAgcnNiICAgICAgICAgICAgIHIyLCByMiwgIzUyCisgICAgICAgIGxzciAgICAgICAgICAgICByMCwgcjAsIHIyCisgICAgICAgIGxzbCAgICAgICAgICAgICByMCwgcjAsIHIyCisgICAgICAgIGJ4ICAgICAgICAgICAgICBscgorCisuTGNscl9mcmFjX25lZzoKKyAgICAgICAgLyogfHh8IDw9IDJeMjA/ICovCisgICAgICAgIGNtcCAgICAgICAgICAgICByMiwgIzIwCisgICAgICAgIGJsZSAgICAgICAgICAgICAuTGNscl9mcmFjX3IxX25lZworCisgICAgICAgIC8qIHx4fCA8IDJeNTI/ICovCisgICAgICAgIGNtcCAgICAgICAgICAgICByMiwgIzUyCisgICAgICAgIGJsdCAgICAgICAgICAgICAuTGNscl9mcmFjX3IwX25lZworCisgICAgICAgIC8qIHJldHVybiB4ICovCisgICAgICAgIG9yciAgICAgICAgICAgICByMSwgcjEsICMweDgwMDAwMDAwCisgICAgICAgIGJ4ICAgICAgICAgICAgICBscgorCisuTGNscl9mcmFjX3IxX25lZzoKKyAgICAgICAgcnNiICAgICAgICAgICAgIHIyLCByMiwgIzIwCisgICAgICAgIG1vdiAgICAgICAgICAgICByMywgIzEKKyAgICAgICAgbHNsICAgICAgICAgICAgIHIzLCByMywgcjIKKyAgICAgICAgc3ViICAgICAgICAgICAgIHIzLCByMywgIzEKKyAgICAgICAgYW5kICAgICAgICAgICAgIHIzLCByMSwgcjMKKyAgICAgICAgb3JyICAgICAgICAgICAgIHIzLCByMywgcjAKKyAgICAgICAgbHNyICAgICAgICAgICAgIHIxLCByMSwgcjIKKyAgICAgICAgbHNsICAgICAgICAgICAgIHIxLCByMSwgcjIKKyAgICAgICAgbW92ICAgICAgICAgICAgIHIwLCAjMAorICAgICAgICBiICAgICAgICAgICAgICAgLkxyZXR1cm5feF9uZWcKKworLkxjbHJfZnJhY19yMF9uZWc6CisgICAgICAgIHJzYiAgICAgICAgICAgICByMiwgcjIsICM1MgorICAgICAgICBtb3YgICAgICAgICAgICAgcjMsICMxCisgICAgICAgIGxzbCAgICAgICAgICAgICByMywgcjMsIHIyCisgICAgICAgIHN1YiAgICAgICAgICAgICByMywgcjMsICMxCisgICAgICAgIGFuZCAgICAgICAgICAgICByMywgcjAsIHIzCisgICAgICAgIGxzciAgICAgICAgICAgICByMCwgcjAsIHIyCisgICAgICAgIGxzbCAgICAgICAgICAgICByMCwgcjAsIHIyCisgICAgICAgIGIgICAgICAgICAgICAgICAuTHJldHVybl94X25lZworCisuTHhfbHRfb25lOgorICAgICAgICAvKiB4ID09ICstMD8gKi8KKyAgICAgICAgY21wICAgICAgICAgICAgIHIwLCAjMAorICAgICAgICBjbXBlcSAgICAgICAgICAgcjEsICMwCisgICAgICAgIG9ycmVxICAgICAgICAgICByMSwgcjEsIHIzCisgICAgICAgIGJ4ZXEgICAgICAgICAgICBscgorCisgICAgICAgIC8qICh4ID4gMCkgPyAwIDogLTEgKi8KKyAgICAgICAgbW92ICAgICAgICAgICAgIHIxLCAjMHgwMDEwMDAwMAorICAgICAgICBtb3YgICAgICAgICAgICAgcjAsICMwCisgICAgICAgIGNtcCAgICAgICAgICAgICByMywgIzAKKyAgICAgICAgbW92bmUgICAgICAgICAgIHIxLCAjMHhjMDAwMDAwMAorICAgICAgICBzdWIgICAgICAgICAgICAgcjEsIHIxLCAjMHgwMDEwMDAwMAorICAgICAgICBieCAgICAgICAgICAgICAgbHIKKworLkxyZXR1cm5feF9uZWc6CisgICAgICAgIGNtcCAgICAgICAgICAgICByMywgIzAKKyAgICAgICAgb3JyICAgICAgICAgICAgIHIxLCByMSwgIzB4ODAwMDAwMDAKKyAgICAgICAgYnhlcSAgICAgICAgICAgIGxyCisKKyAgICAgICAgdm1vdiAgICAgICAgICAgIGQxNiwgcjAsIHIxCisgICAgICAgIHZtb3YuZjY0ICAgICAgICBkMTgsICMxLjAKKyAgICAgICAgdnN1Yi5mNjQgICAgICAgIGQxNiwgZDE2LCBkMTgKKyAgICAgICAgdm1vdiAgICAgICAgICAgIHIwLCByMSwgZDE2CisgICAgICAgIGJ4ICAgICAgICAgICAgICBscgorCitFTkQoZmxvb3IpCisKK0FMSUFTX1NZTUJPTChmbG9vcmwsIGZsb29yKTsKZGlmZiAtLWdpdCBhL2xpYm0vYXJtNjQvY2VpbC5TIGIvbGlibS9hcm02NC9jZWlsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA2Yzk4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vYXJtNjQvY2VpbC5TCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoY2VpbCkKKyAgZnJpbnRQIGQwLCBkMAorICByZXQKK0VORChjZWlsKQorCitFTlRSWShjZWlsZikKKyAgZnJpbnRQIHMwLCBzMAorICByZXQKK0VORChjZWlsZikKZGlmZiAtLWdpdCBhL2xpYm0vYXJtNjQvZmxvb3IuUyBiL2xpYm0vYXJtNjQvZmxvb3IuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDc5MmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS9hcm02NC9mbG9vci5TCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoZmxvb3IpCisgIGZyaW50TSBkMCwgZDAKKyAgcmV0CitFTkQoZmxvb3IpCisKK0VOVFJZKGZsb29yZikKKyAgZnJpbnRNIHMwLCBzMAorICByZXQKK0VORChmbG9vcmYpCmRpZmYgLS1naXQgYS9saWJtL2FybTY0L2ZtYS5TIGIvbGlibS9hcm02NC9mbWEuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjRlODA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS9hcm02NC9mbWEuUwpAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IDIwMTUsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKGZtYSkKKyAgZm1hZGQgZDAsIGQwLCBkMSwgZDIKKyAgcmV0CitFTkQoZm1hKQorCitFTlRSWShmbWFmKQorICBmbWFkZCBzMCwgczAsIHMxLCBzMgorICByZXQKK0VORChmbWFmKQpkaWZmIC0tZ2l0IGEvbGlibS9hcm02NC9scmludC5TIGIvbGlibS9hcm02NC9scmludC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NDI3NTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL2FybTY0L2xyaW50LlMKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE1LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShscmludCkKKyAgZnJpbnRYIGQwLCBkMAorICBmY3Z0enMgeDAsIGQwCisgIHJldAorRU5EKGxyaW50KQorCitFTlRSWShscmludGYpCisgIGZyaW50WCBzMCwgczAKKyAgZmN2dHpzIHgwLCBzMAorICByZXQKK0VORChscmludGYpCisKKy8vIHNpemVvZihsb25nKSBhbmQgc2l6ZW9mKGxvbmcgbG9uZykgYXJlIHRoZSBzYW1lIGZvciBhYXJjaDY0CitBTElBU19TWU1CT0wobGxyaW50LCBscmludCk7CisKK0FMSUFTX1NZTUJPTChsbHJpbnRmLCBscmludGYpOwpkaWZmIC0tZ2l0IGEvbGlibS9hcm02NC9yaW50LlMgYi9saWJtL2FybTY0L3JpbnQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODIwYzIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS9hcm02NC9yaW50LlMKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE1LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShyaW50KQorICBmcmludFggZDAsIGQwCisgIHJldAorRU5EKHJpbnQpCisKK0VOVFJZKHJpbnRmKQorICBmcmludFggczAsIHMwCisgIHJldAorRU5EKHJpbnRmKQpkaWZmIC0tZ2l0IGEvbGlibS9hcm02NC9zcXJ0LlMgYi9saWJtL2FybTY0L3NxcnQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTAwMjBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS9hcm02NC9zcXJ0LlMKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE1LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShzcXJ0KQorICBmc3FydCBkMCwgZDAKKyAgcmV0CitFTkQoc3FydCkKKworRU5UUlkoc3FydGYpCisgIGZzcXJ0IHMwLCBzMAorICByZXQKK0VORChzcXJ0ZikKZGlmZiAtLWdpdCBhL2xpYm0vYXJtNjQvdHJ1bmMuUyBiL2xpYm0vYXJtNjQvdHJ1bmMuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjljMDhkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS9hcm02NC90cnVuYy5TCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkodHJ1bmMpCisgIGZyaW50WiBkMCwgZDAKKyAgcmV0CitFTkQodHJ1bmMpCisKK0VOVFJZKHRydW5jZikKKyAgZnJpbnRaIHMwLCBzMAorICByZXQKK0VORCh0cnVuY2YpCmRpZmYgLS1naXQgYS9saWJtL2ZyZWVic2QtY29tcGF0LmggYi9saWJtL2ZyZWVic2QtY29tcGF0LmgKaW5kZXggMTQ4MWNjMi4uYTRkZDZjMiAxMDA2NDQKLS0tIGEvbGlibS9mcmVlYnNkLWNvbXBhdC5oCisrKyBiL2xpYm0vZnJlZWJzZC1jb21wYXQuaApAQCAtMjYsNiArMjYsOCBAQAogI2RlZmluZSBfX3N0cm9uZ19yZWZlcmVuY2Uoc3ltLGFsaWFzc3ltKSBcCiAgICAgZXh0ZXJuIF9fdHlwZW9mIChzeW0pIGFsaWFzc3ltIF9fYXR0cmlidXRlX18gKChfX2FsaWFzX18gKCNzeW0pKSkKIAorI2RlZmluZSBfX3dhcm5fcmVmZXJlbmNlcyhzeW0sbXNnKSAvKiBpZ25vcmVkICovCisKIC8qIGRpZ2l0dG9pbnQgaXMgaW4gQlNEJ3MgPGN0eXBlLmg+LiAqLwogaW50IGRpZ2l0dG9pbnQoY2hhciBjaCk7CiAKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2ZwdS5oIGIvbGlibS9pbmNsdWRlL2FtZDY0L21hY2hpbmUvZnB1LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGxpYmMvYXJjaC14ODZfNjQvaW5jbHVkZS9tYWNoaW5lL2ZwdS5oCnJlbmFtZSB0byBsaWJtL2luY2x1ZGUvYW1kNjQvbWFjaGluZS9mcHUuaApkaWZmIC0tZ2l0IGEvbGlibS9pbmNsdWRlL2NvbXBsZXguaCBiL2xpYm0vaW5jbHVkZS9jb21wbGV4LmgKaW5kZXggMDcwMjU0MS4uZmY2YjE2NiAxMDA2NDQKLS0tIGEvbGlibS9pbmNsdWRlL2NvbXBsZXguaAorKysgYi9saWJtL2luY2x1ZGUvY29tcGxleC5oCkBAIC00NiwxNCArNDYsMzkgQEAKICNkZWZpbmUJY29tcGxleAkJX0NvbXBsZXgKICNkZWZpbmUJSQkJX0NvbXBsZXhfSQogCisjaWYgX19JU09fQ19WSVNJQkxFID49IDIwMTEKKyNpZmRlZiBfX2NsYW5nX18KKyNkZWZpbmUJQ01QTFgoeCwgeSkJKChkb3VibGUgY29tcGxleCl7IHgsIHkgfSkKKyNkZWZpbmUJQ01QTFhGKHgsIHkpCSgoZmxvYXQgY29tcGxleCl7IHgsIHkgfSkKKyNkZWZpbmUJQ01QTFhMKHgsIHkpCSgobG9uZyBkb3VibGUgY29tcGxleCl7IHgsIHkgfSkKKyNlbGlmIF9fR05VQ19QUkVSRVFfXyg0LCA3KQorI2RlZmluZQlDTVBMWCh4LCB5KQlfX2J1aWx0aW5fY29tcGxleCgoZG91YmxlKSh4KSwgKGRvdWJsZSkoeSkpCisjZGVmaW5lCUNNUExYRih4LCB5KQlfX2J1aWx0aW5fY29tcGxleCgoZmxvYXQpKHgpLCAoZmxvYXQpKHkpKQorI2RlZmluZQlDTVBMWEwoeCwgeSkJX19idWlsdGluX2NvbXBsZXgoKGxvbmcgZG91YmxlKSh4KSwgKGxvbmcgZG91YmxlKSh5KSkKKyNlbmRpZgorI2VuZGlmIC8qIF9fSVNPX0NfVklTSUJMRSA+PSAyMDExICovCisKIF9fQkVHSU5fREVDTFMKKyNwcmFnbWEgR0NDIHZpc2liaWxpdHkgcHVzaChkZWZhdWx0KQogCiBkb3VibGUJCWNhYnMoZG91YmxlIGNvbXBsZXgpOwogZmxvYXQJCWNhYnNmKGZsb2F0IGNvbXBsZXgpOwogbG9uZyBkb3VibGUJY2Fic2wobG9uZyBkb3VibGUgY29tcGxleCk7Citkb3VibGUgY29tcGxleAljYWNvcyhkb3VibGUgY29tcGxleCk7CitmbG9hdCBjb21wbGV4CWNhY29zZihmbG9hdCBjb21wbGV4KTsKK2RvdWJsZSBjb21wbGV4CWNhY29zaChkb3VibGUgY29tcGxleCk7CitmbG9hdCBjb21wbGV4CWNhY29zaGYoZmxvYXQgY29tcGxleCk7CiBkb3VibGUJCWNhcmcoZG91YmxlIGNvbXBsZXgpOwogZmxvYXQJCWNhcmdmKGZsb2F0IGNvbXBsZXgpOwogbG9uZyBkb3VibGUJY2FyZ2wobG9uZyBkb3VibGUgY29tcGxleCk7Citkb3VibGUgY29tcGxleAljYXNpbihkb3VibGUgY29tcGxleCk7CitmbG9hdCBjb21wbGV4CWNhc2luZihmbG9hdCBjb21wbGV4KTsKK2RvdWJsZSBjb21wbGV4CWNhc2luaChkb3VibGUgY29tcGxleCk7CitmbG9hdCBjb21wbGV4CWNhc2luaGYoZmxvYXQgY29tcGxleCk7Citkb3VibGUgY29tcGxleAljYXRhbihkb3VibGUgY29tcGxleCk7CitmbG9hdCBjb21wbGV4CWNhdGFuZihmbG9hdCBjb21wbGV4KTsKK2RvdWJsZSBjb21wbGV4CWNhdGFuaChkb3VibGUgY29tcGxleCk7CitmbG9hdCBjb21wbGV4CWNhdGFuaGYoZmxvYXQgY29tcGxleCk7CiBkb3VibGUgY29tcGxleAljY29zKGRvdWJsZSBjb21wbGV4KTsKIGZsb2F0IGNvbXBsZXgJY2Nvc2YoZmxvYXQgY29tcGxleCk7CiBkb3VibGUgY29tcGxleAljY29zaChkb3VibGUgY29tcGxleCk7CkBAIC04Nyw2ICsxMTIsNyBAQAogZG91YmxlIGNvbXBsZXgJY3RhbmgoZG91YmxlIGNvbXBsZXgpOwogZmxvYXQgY29tcGxleAljdGFuaGYoZmxvYXQgY29tcGxleCk7CiAKKyNwcmFnbWEgR0NDIHZpc2liaWxpdHkgcG9wCiBfX0VORF9ERUNMUwogCiAjZW5kaWYgLyogX0NPTVBMRVhfSCAqLwpkaWZmIC0tZ2l0IGEvbGlibS9pbmNsdWRlL21hdGguaCBiL2xpYm0vaW5jbHVkZS9tYXRoLmgKaW5kZXggM2VjYTE0MC4uMTU0MjM3NCAxMDA2NDQKLS0tIGEvbGlibS9pbmNsdWRlL21hdGguaAorKysgYi9saWJtL2luY2x1ZGUvbWF0aC5oCkBAIC00NTksMTQgKzQ1OSwxNyBAQAogbG9uZyBkb3VibGUJdGFubChsb25nIGRvdWJsZSk7CiBsb25nIGRvdWJsZQl0Z2FtbWFsKGxvbmcgZG91YmxlKTsKIGxvbmcgZG91YmxlCXRydW5jbChsb25nIGRvdWJsZSk7Ci0KICNlbmRpZiAvKiBfX0lTT19DX1ZJU0lCTEUgPj0gMTk5OSAqLwogCi0jaWYgZGVmaW5lZChfR05VX1NPVVJDRSkKKyNpZiBfX0JTRF9WSVNJQkxFCitsb25nIGRvdWJsZQlsZ2FtbWFsX3IobG9uZyBkb3VibGUsIGludCAqKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX1VTRV9HTlUpCiB2b2lkIHNpbmNvcyhkb3VibGUsIGRvdWJsZSosIGRvdWJsZSopOwogdm9pZCBzaW5jb3NmKGZsb2F0LCBmbG9hdCosIGZsb2F0Kik7CiB2b2lkIHNpbmNvc2wobG9uZyBkb3VibGUsIGxvbmcgZG91YmxlKiwgbG9uZyBkb3VibGUqKTsKLSNlbmRpZiAvKiBfR05VX1NPVVJDRSAqLworI2VuZGlmIC8qIF9fVVNFX0dOVSAqLwogCiAjcHJhZ21hIEdDQyB2aXNpYmlsaXR5IHBvcAogX19FTkRfREVDTFMKZGlmZiAtLWdpdCBhL2xpYm0vc2luY29zLmMgYi9saWJtL3NpbmNvcy5jCmluZGV4IGFkNzU1NDkuLmE1NjA4Y2YgMTAwNjQ0Ci0tLSBhL2xpYm0vc2luY29zLmMKKysrIGIvbGlibS9zaW5jb3MuYwpAQCAtMjIsOCArMjIsOCBAQAogICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQogICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogICogU1VDSCBEQU1BR0UuCi0gKgogICovCisKICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQogI2luY2x1ZGUgPG1hdGguaD4KIApkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2VfbGdhbW1hbF9yLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvZV9sZ2FtbWFsX3IuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2QzYWYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2VfbGdhbW1hbF9yLmMKQEAgLTAsMCArMSwzMzAgQEAKKy8qIEAoIyllX2xnYW1tYV9yLmMgMS4zIDk1LzAxLzE4ICovCisvKgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IChDKSAxOTkzIGJ5IFN1biBNaWNyb3N5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBEZXZlbG9wZWQgYXQgU3VuU29mdCwgYSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJ1c2luZXNzLgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcworICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UKKyAqIGlzIHByZXNlcnZlZC4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqLworCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CitfX0ZCU0RJRCgiJEZyZWVCU0QkIik7CisKKy8qCisgKiBTZWUgZV9sZ2FtbWFfci5jIGZvciBjb21wbGV0ZSBjb21tZW50cy4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gbG9uZyBkb3VibGUgYnkgU3RldmVuIEcuIEthcmdsLgorICovCisKKyNpbmNsdWRlICJmcG1hdGguaCIKKyNpbmNsdWRlICJtYXRoLmgiCisjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCisKK3N0YXRpYyBjb25zdCB2b2xhdGlsZSBkb3VibGUgdnplcm8gPSAwOworCitzdGF0aWMgY29uc3QgZG91YmxlCit6ZXJvPSAgMCwKK2hhbGY9ICAwLjUsCitvbmUgPSAgMTsKKworc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCitwaSAgPSAgMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjI2NDMzODMyNzk1MDI4OGUrMDBMOworLyoKKyAqIERvbWFpbiB5IGluIFsweDFwLTExOSwgMC4yOF0sIHJhbmdlIH5bLTEuNDA2NWUtMzYsIDEuNDA2NWUtMzZdOgorICogfChsZ2FtbWEoMiAtIHkpICsgeSAvIDIpIC8geSAtIGEoeSl8IDwgMioqLTExOS4xCisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQorYTAgID0gIDcuNzIxNTY2NDkwMTUzMjg2MDYwNjUxMjA5MDA4MjQwMjQyOTZlLTAyTCwKK2ExICA9ICAzLjIyNDY3MDMzNDI0MTEzMjE4MjM2MjA3NTgzMzIzMDE4NDk4ZS0wMUwsCithMiAgPSAgNi43MzUyMzAxMDUzMTk4MDk1MTMzMjQ2MDUzODMzMDI4MjIxN2UtMDJMLAorYTMgID0gIDIuMDU4MDgwODQyNzc4NDU0Nzg3OTAwMDkyNTI4MDM0NjMxMjllLTAyTCwKK2E0ICA9ICA3LjM4NTU1MTAyODY3Mzk4NTI2NjI3MjkyODM5Mjk2MDAxNjI2ZS0wM0wsCithNSAgPSAgMi44OTA1MTAzMzA3NDE1MjMyODU3NjgyOTUwOTUyMjQ4MzQ2OGUtMDNMLAorYTYgID0gIDEuMTkyNzUzOTExNzAzMjYwOTc2MTgzNTczNDk4ODE4NDI5MTNlLTAzTCwKK2E3ICA9ICA1LjA5NjY5NTI0NzQzMDQyNDYyNTE1MjU2MzQwMjA2MjAzMDE5ZS0wNEwsCithOCAgPSAgMi4yMzE1NDc1ODQ1MzU3ODA5NjE0MzYwOTI1NTU1OTU3NjAxN2UtMDRMLAorYTkgID0gIDkuOTQ1NzUxMjc4MTgzOTc2MzIxMjY5Nzg3MzE1NDI3NTUxMjllLTA1TCwKK2ExMCA9ICA0LjQ5MjYyMzY3Mzc1NDIwNDcxMjg3NTQ1ODk1MDI3MDk4MTQ1ZS0wNUwsCithMTEgPSAgMi4wNTA3MjEyNzg0NTExNzk5NTQyNjUxOTY3MTQ4MTYyODg0OWUtMDVMLAorYTEyID0gIDkuNDM5NDg4MTY5NTkwOTY3NDg0NTQwODcxNDE0NDc5Mzk1MTNlLTA2TCwKK2ExMyA9ICA0LjM3NDg2NzgwNjk3MzU5MzMwMzAzODUyMDUwNzE4Mjg3NDE5ZS0wNkwsCithMTQgPSAgMi4wMzkyMDc4Mzg5MjM2MjU1ODI3NjAzNzM2Mzg0NzY1MTgwOWUtMDZMLAorYTE1ID0gIDkuNTUxOTEwNzAwNTc5NjcyODc4Nzc5MjMwNzMyMDAzMjQ2NDllLTA3TCwKK2ExNiA9ICA0LjQ4OTkzMjg2MTg1NzQwODUzMTcwNjU3MTM5NDg3NjIwNTYwZS0wN0wsCithMTcgPSAgMi4xMzEwNzU0MzU5NzYyMDkxMTY3NTMxNjcyODE3OTU2MzUyMmUtMDdMLAorYTE4ID0gIDkuNzA3NDUzNzk4NTUzMDQ0OTk4Njc1NDY1NDk1NTEwMjM0NzNlLTA4TCwKK2ExOSA9ICA1LjYxODg5OTcwMzkwMjkwMjU3OTI2NDg3NzM0Njk1NDAyMDc1ZS0wOEwsCithMjAgPSAgNi40MjczOTY1MzAyNDEzMDA3MTg2NjY4NDM1ODk2MDk2MDk1MWUtMDlMLAorYTIxID0gIDMuMzQ0OTEwNjIxNDM2NDkyOTE3NDYxOTU2MTI5OTE4NzAxMTllLTA4TCwKK2EyMiA9IC0xLjU3MDY4NTQ3Mzk0MzE1MjIzOTM0NjUzMDExNDQwNjQxNDcyZS0wOEwsCithMjMgPSAgMS4zMDgxMjgyNTQyMjQxNTg0MTIxMzczMzQ4Nzc0NTIwMDYzMmUtMDhMOworLyoKKyAqIERvbWFpbiB4IGluIFt0Yy0wLjI0LCB0YyswLjI4XSwgcmFuZ2UgflstNi4zMjAxZS0zNywgNi4zMjAxZS0zN106CisgKiB8KGxnYW1tYSh4KSAtIHRmKSAtIHQoeCAtIHRjKXwgPCAyKiotMTIwLjMuCisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQordGMgID0gIDEuNDYxNjMyMTQ0OTY4MzYyMzQxMjYyNjU5NTQyMzI1NzIxMzNlKzAwTCwKK3RmICA9IC0xLjIxNDg2MjkwNTM1ODQ5NjA4MDk1NTE0NTU3MTc3NjkxNTg0ZS0wMUwsCit0dCAgPSAgMS41NzA2MTczOTk0NTA3NzY3NTQ4NDIzNzgzNzk5Mjk1MTcwNGUtMzZMLAordDAgID0gLTEuOTkyMzgzMjk0OTkzMTQ2OTI3Mjg2NTU2MjM3NjcwMTkyNDBlLTM2TCwKK3QxICA9IC02LjA4NDUzNDMwNzExNzExNDA0MTE2ODg3NDU3NjYzMjgxNDE2ZS0zNUwsCit0MiAgPSAgNC44MzgzNjEyMjcyMzgxMDU4NTIxMzcyMjM4MDg1NDgyODkwNGUtMDFMLAordDMgID0gLTEuNDc1ODc3MjI5OTQ1MzA3MDIwMzA5NTUwOTM5NTA2NjgyNzVlLTAxTCwKK3Q0ICA9ICA2LjQ2MjQ5NDAyMzg5MTI3NTI2NTYxMDAzNDY0MjAyNjcxOTIzZS0wMkwsCit0NSAgPSAtMy4yNzg4NTQxMDg4NDgxMzA1NTAwODUwMjU4Njg2Mzc0ODA2M2UtMDJMLAordDYgID0gIDEuNzk3MDY3NTExNTIxMDM5NDI5Mjg2MzgyNzYwNjcxNjQ5MzVlLTAyTCwKK3Q3ICA9IC0xLjAzMTQyMjMwMzY2MzYzODcyNzUxNjAyMDI5NjcyNzY3OTc4ZS0wMkwsCit0OCAgPSAgNi4xMDA1MzYwMjA1MTc4ODg0MDMxMzU3MzE1MDc4NTA4MDk1OGUtMDNMLAordDkgID0gLTMuNjg0NTY5NjA4MzE2MzczMjU0NzA2NDEwMjE4OTI5Njg5NTRlLTAzTCwKK3QxMCA9ICAyLjI1OTc2NDgyMzIyMTgxMDQ2NjExNDQwODU1MzQwOTY4NTYwZS0wM0wsCit0MTEgPSAtMS40MDIyNTE0NDU5MDQ0NTA4MjkzMzQ5MDM5NTk1MDY2NDk2MWUtMDNMLAordDEyID0gIDguNzgyMzI2MzQ3MTc2ODEyNjQwMzUwMTQ4NzgxNzI0ODU1NzVlLTA0TCwKK3QxMyA9IC01LjU0MTk0OTUyNzk2NjgyMzAxMjIwNjg0NzYwNTkxNDAzODk5ZS0wNEwsCit0MTQgPSAgMy41MTkxMjk1NjgzNzg0ODIwOTIyMDQyMTIxMzk3NTAwMDI5OGUtMDRMLAordDE1ID0gLTIuMjQ2NTM0NDM2OTU5NDc0NTY1NDI2NjkyODkzNjcwNTU1NDJlLTA0TCwKK3QxNiA9ICAxLjQ0MDcwMzk1NDIwODQwNzM3Njk1NjExOTI5NjgwNTExODIzZS0wNEwsCit0MTcgPSAtOS4yNzYwOTg2NTU1MDM5NDE0MDA2NzA1OTQ4NzUxODg2MjUxMmUtMDVMLAordDE4ID0gIDUuOTkzNDczMzQ0Mzg0MzcwODE0MTI5NDU0MjgzNjU0MzMwNzNlLTA1TCwKK3QxOSA9IC0zLjg4NDU4Mzg4ODU0NTcyODI1NjAzOTY0Mjc0MTM0ODAxMDA5ZS0wNUwsCit0MjAgPSAgMi41MjQ3NjYzMTYxMDMyODEyOTIxNzg5NjQzNjE4NjU1MTA0M2UtMDVMLAordDIxID0gLTEuNjQ1MDg1ODQ5ODE2NTg2OTI1NTY5OTQyMTI0NTc1MTg1MzZlLTA1TCwKK3QyMiA9ICAxLjA3NDM0NTgzNDc1OTg3MDA3NDk1NTIzMzQwMjk2MTczODM5ZS0wNUwsCit0MjMgPSAtNy4wMzA3MDQwNzUxOTM5NzI2MDkyOTQ4MjU1MDQ0ODg3ODM5OWUtMDZMLAordDI0ID0gIDQuNjA5Njg1OTA2OTM3NTM1Nzk2NDgzODU2MjkwMDMxMDA0NjllLTA2TCwKK3QyNSA9IC0zLjAyNzY1NDczNzc4ODMyMDM2MDE4NDM4Njc2OTQ1NTEyNjYxZS0wNkwsCit0MjYgPSAgMS45OTIzODc3MTU0NTUwMzgxOTk3Mjc0MTI4ODUxMTMwMzQwMWUtMDZMLAordDI3ID0gLTEuMzEyODEyOTk4MjI2MTQwODQ4NjE4Njg4MTc5NTE3ODg1NzllLTA2TCwKK3QyOCA9ICA4LjYwODQ0NDMyMjY3Mzk5NjU1MDU1NTc0NjQyMDUyMzcwMjIzZS0wN0wsCit0MjkgPSAtNS42NDUzNTQ4NjQzMjM5NzQxMzI3MzI0ODM2MzU1MDUzNjM3NGUtMDdMLAordDMwID0gIDMuOTkzNTc3ODM2NzYyNzU2NjA5MzQ5MDMxMzk1OTI3Mjc3MzdlLTA3TCwKK3QzMSA9IC0yLjk1ODQ5MDI5MTkzNDMzMTIxNzk1NDk1MjE1ODY5MzExNjEwZS0wN0wsCit0MzIgPSAgMS4zNzc5MDE0NDQzNTA3MzEyNDk3NjY5NjI1MDgwNDk0MDM4NGUtMDdMOworLyoKKyAqIERvbWFpbiB5IGluIFstMC4xLCAwLjIzMl0sIHJhbmdlIH5bLTEuNDA0NmUtMzcsIDEuNDE4MWUtMzddOgorICogfChsZ2FtbWEoMSArIHkpICsgMC41ICogeSkgLyB5IC0gdSh5KSAvIHYoeSl8IDwgMioqLTEyMi44CisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQordTAgID0gLTcuNzIxNTY2NDkwMTUzMjg2MDYwNjUxMjA5MDA4MjQwMjQzMTFlLTAyTCwKK3UxICA9ICA0LjI0MDgyNzcyMjcxOTM4MTY3NDMwOTgzMTEzMjQyNDgyNjU2ZS0wMUwsCit1MiAgPSAgMi45NjE5NDAwMzQ4MTQ1NzEwMTA1ODMyMTk3NzQxMzMzMjE3MWUrMDBMLAordTMgID0gIDYuNDk1MDMyNjc3MTEyNTgwNDM5OTc3OTA5ODMwNzE1NDM3MTBlKzAwTCwKK3U0ICA9ICA3LjQwMDkwMDUxMjg4MTUwMTc3MTUyODM1Njk4OTQ4NjQ0NDgzZSswMEwsCit1NSAgPSAgNC45NDY5ODAzNjI5Njc1NjA0NDYxMDgwNTkwMDM0MDcyMzQ2NGUrMDBMLAordTYgID0gIDIuMDAxOTQyMjQ2MTA3OTYyOTQ3NjI0Njk1NTA2ODQ5NDc3NjhlKzAwTCwKK3U3ICA9ICA0LjgyMDczMDg3NzUwNjA4ODk1OTk2OTE1MDUxNTY4ODM0OTQ5ZS0wMUwsCit1OCAgPSAgNi40NjY5NDA1MjI4MDUwNjU2ODE5MjMzMzg0ODQzNzU4NTQyN2UtMDJMLAordTkgID0gIDQuMTc2ODU1MjY3NTUxMDAyNTkzMTY2MjUzNDg5MzMxMDg4MTBlLTAzTCwKK3UxMCA9ICA5LjA2MzYxMDAzNTUwMzE0MzI3MTQ0MTE5MzA3ODEwMDUzNDEwZS0wNUwsCit2MSAgPSAgNS4xNTkzNzA5ODU5Mjg4NzI3NTk5NDMyMDQ5Njk5OTk1MTk0N2UrMDBMLAordjIgID0gIDEuMTQwNjg0MTg3NjYyNTE0ODY3Nzc2MDQ0MDMzMDQ3MTc1NThlKzAxTCwKK3YzICA9ICAxLjQxMTY0ODM5NDM3NTI0NzQ0MDU1NzIzODcxODM5NzQ4NDg5ZSswMUwsCit2NCAgPSAgMS4wNzE3MDcwMjY1NjE3OTU4MjgwNTc5MTA2MzI3Nzk2MDUzMmUrMDFMLAordjUgID0gIDUuMTQ0NDg2OTQxNzkwNDc4Nzk5MTUwNDI5OTg0NTM2MzI0MzRlKzAwTCwKK3Y2ICA9ICAxLjU1MjEwMDg4MDk0NTg1NTQwNjM3NDkzODI2NDMxMTcwMjg5ZSswMEwsCit2NyAgPSAgMi44Mjk3NTczMjg0OTQyNDU2MjcxOTg5MzY1NzQxNjM2NTY3M2UtMDFMLAordjggID0gIDIuODY0MjQ2MjI3NTQ3NTMxOTgwMTA1MjU3ODYwMDU0NDM1MzllLTAyTCwKK3Y5ICA9ICAxLjM1MzY0MjUzNTcwNDAzNzcxMDA1OTIyNDQxNDQyNjg4OTc4ZS0wM0wsCit2MTAgPSAgMS45MTUxNDE3MzcwMjM5ODM3NTM0NjY1ODk0Mzc0OTU4MDY2NmUtMDVMLAordjExID0gLTMuMjUzNjQ2ODY4OTAyNDIzMjc5NDQ1ODQ2OTE0NjYwMzQyNjhlLTA4TDsKKy8qCisgKiBEb21haW4geCBpbiAoMiwgM10sIHJhbmdlIH5bLTEuMzM0MWUtMzYsIDEuMzUzNmUtMzZdOgorICogfChsZ2FtbWEoeSsyKSAtIDAuNSAqIHkpIC8geSAtIHMoeSkvcih5KXwgPCAyKiotMTIwLjEKKyAqIHdpdGggeSA9IHggLSAyLgorICovCitzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUKK3MwICA9IC03LjcyMTU2NjQ5MDE1MzI4NjA2MDY1MTIwOTAwODI0MDI0Mjk3ZS0wMkwsCitzMSAgPSAgMS4yMzIyMTY4Nzg1MDkxNjQ0ODkwMzkxNDE3MDgwNTg1MjI1M2UtMDFMLAorczIgID0gIDUuNDM2NzMxODg2OTk5MzcyMzk4MDgyNTUzNzgyOTM4MjAwMjBlLTAxTCwKK3MzICA9ICA2LjMxOTk4MTM3MTE5MDA1MjMzMzgzNjY2NzkxMTc2MzAxODAwZS0wMUwsCitzNCAgPSAgMy43NTg4NTM0MDE3OTQ3OTg1MDk5MzgxMTUwMTU5NjIxMzc2M2UtMDFMLAorczUgID0gIDEuMzE1NzI5MDg3NDMyNzUwNTI2MjM0MTAxOTUwMTEyNjE1NzVlLTAxTCwKK3M2ICA9ICAyLjgyNTI4NDUzMjk5MTM4Njg1NTA3MTg2Mjg3MTQ5Njk5NzQ5ZS0wMkwsCitzNyAgPSAgMy43MDI2MjAyMTU1MDM0MDgxNzg2NzY4ODcxNDg4MDc5NzAxOWUtMDNMLAorczggID0gIDIuODMzNzQwMDAzMTIzNzExOTk2MjU3NzQxMjkyOTA5NzM2NDhlLTA0TCwKK3M5ICA9ICAxLjE1MDkxODMwMjM5MTQ4MjkwNzU4ODgzNTA1NTgyMzQzNjkxZS0wNUwsCitzMTAgPSAgMi4wNDIwMzQ3NDI4MTQ5Mzk3MTMyNjUwNjM4NDY0NjY5MjQ0NmUtMDdMLAorczExID0gIDkuNzk1NDQxOTgwNzg5OTIwNTg1NDg2MDc0MDc2MzU2NDU3NjNlLTEwTCwKK3IxICA9ICAyLjU4MDM3NDY2NjU1NjA1Mjg1OTM3MTEyODMyMDM5NTM3NDkyZSswMEwsCityMiAgPSAgMi44NjI4OTQxMzM5Mjc3NjM5OTI2MjUxMzg0OTkxMTUzMTE4MGUrMDBMLAorcjMgID0gIDEuNzg2OTEwNDQ3MzUyNjc0OTc0NTI4NDc4Mjk1Nzk1MTQzNjdlKzAwTCwKK3I0ICA9ICA2Ljg5NDAwMzgxNDQ2NzI1MzQyODQ2ODU0MjE1NjAwMDA4MDU1ZS0wMUwsCityNSAgPSAgMS43MDEzNTg2NTQ2MjU2Nzk1NTg2NzEzNDE5NzU5NTM2NTM0M2UtMDFMLAorcjYgID0gIDIuNjg3OTQ4MTYxODM5NjQ0MjAzNzU0OTg5ODYxNTI3NjY3NjNlLTAyTCwKK3I3ICA9ICAyLjY0NjE3MjM0MjQ0ODYxODMyODcwMDg4ODkzMzMyMDA2Njc5ZS0wM0wsCityOCAgPSAgMS41Mjg4MTc2MTIzOTE4MDgwMDY0MDA2ODEyODY4MTcyNTcwMmUtMDRMLAorcjkgID0gIDQuNjMyNjQ4MTM3NjIyOTYwMjk4MjQ4NTEzNTEyNTc2Mzg1NThlLTA2TCwKK3IxMCA9ICA1Ljg5NDYxNTE5MTQ2OTU3MzQzMDgzODQ4OTY3MzMzNjcxMTQyZS0wOEwsCityMTEgPSAgMS43OTAyNzY3ODE3NjU4MjUyNzc5ODMyNzQ0MTYzNjU1Mjk2OGUtMTBMOworLyoKKyAqIERvbWFpbiB6IGluIFs4LCAweDFwNzBdLCByYW5nZSB+Wy05LjgyMTRlLTM1LCA5LjgyMTRlLTM1XToKKyAqIHxsZ2FtbWEoeCkgLSAoeCAtIDAuNSkgKiAobG9nKHgpIC0gMSkgLSB3KDEveCl8IDwgMioqLTExMy4wCisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQordzAgID0gIDQuMTg5Mzg1MzMyMDQ2NzI3NDE3ODAzMjk3MzY0MDU2MTc3MzhlLTAxTCwKK3cxICA9ICA4LjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyODUyMDI2ZS0wMkwsCit3MiAgPSAtMi43Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzcyNzgxMDEyMzUyOGUtMDNMLAordzMgID0gIDcuOTM2NTA3OTM2NTA3OTM2NTA3OTE3MDg5Mzk0OTM5MDczODBlLTA0TCwKK3c0ICA9IC01Ljk1MjM4MDk1MjM4MDk1MjM0MzkwNDUwMDA0NDQ0MzcwOTU5ZS0wNEwsCit3NSAgPSAgOC40MTc1MDg0MTc1MDgzNzYzMzg4NzgxNzY1ODg0ODg0NTY5NWUtMDRMLAordzYgID0gLTEuOTE3NTI2OTE3NTIzOTY4NDk5NDMxNzIzMzczNDcyNTk3NDNlLTAzTCwKK3c3ICA9ICA2LjQxMDI1NjQwODgwMzMzMDY5NDI5MTA2NTQxNDU5MDE1NTU3ZS0wM0wsCit3OCAgPSAtMi45NTUwNjUzMDgwMTczMjEzMzQzNzk5MDQzMzA4MDMyNzA3NGUtMDJMLAordzkgID0gIDEuNzk2NDQyMzczMjg0NDQxMDE1OTY3NjY1ODY5Nzk1NzY5MjdlLTAxTCwKK3cxMCA9IC0xLjM5MjQwNTM5MTA4MzY3NjQxOTIwMTcyNjQ5MjU5NzM2Mzk0ZSswMEwsCit3MTEgPSAgMS4zMzk4NzcwMTQ3OTAwNzIzMzMyNTI4ODg1Nzc1ODY0MTc2MWUrMDFMLAordzEyID0gLTEuNTYzNjM1OTY0MzEwODQyNzk3ODA5NjY1OTAxMTYwMDYyNTVlKzAyTCwKK3cxMyA9ICAyLjE0ODMwOTc4MDQ0NDEwMjY3MjAxMTcyMzMyOTUyMDQwNzc3ZSswM0wsCit3MTQgPSAtMy4yODYzNjA2NzQ3NDIyNzM3ODM1Mjc2MTUxNjU4OTA5MjMzNGUrMDRMLAordzE1ID0gIDUuMDYyMDEyNTc3NDc4NjUxMzg0MzI2NjM1NzQyNTE0NjI0ODVlKzA1TCwKK3cxNiA9IC02Ljc5NzIwMTIzMzUyMDIzNjM2NzA2MjQ3NTk5NzI4MDQ4MzQ0ZSswNkwsCit3MTcgPSAgNi41NzU1NjYwMTcwNTQ3MjEwNjk4OTQ5NzI4OTQ2NTk0OTI1NWUrMDdMLAordzE4ID0gLTMuMjYyMjkwNTgxNDExODE3ODM1MzQyNTc2MzIzODk0MTU1ODBlKzA4TDsKKworc3RhdGljIGxvbmcgZG91YmxlCitzaW5fcGlsKGxvbmcgZG91YmxlIHgpCit7CisJdm9sYXRpbGUgbG9uZyBkb3VibGUgdno7CisJbG9uZyBkb3VibGUgeSx6OworCXVpbnQ2NF90IGx4LCBuOworCXVpbnQxNl90IGh4OworCisJeSA9IC14OworCisJdnogPSB5KzB4MS5wMTEyOworCXogPSB2ei0weDEucDExMjsKKwlpZiAoeiA9PSB5KQorCSAgICByZXR1cm4gemVybzsKKworCXZ6ID0geSsweDEucDExMDsKKwlFWFRSQUNUX0xEQkwxMjhfV09SRFMoaHgsbHgsbix2eik7CisJeiA9IHZ6LTB4MS5wMTEwOworCWlmICh6ID4geSkgeworCSAgICB6IC09IDAuMjU7CisJICAgIG4tLTsKKwl9CisJbiAmPSA3OworCXkgPSB5IC0geiArIG4gKiAwLjI1OworCisJc3dpdGNoIChuKSB7CisJICAgIGNhc2UgMDogICB5ID0gIF9fa2VybmVsX3NpbmwocGkqeSx6ZXJvLDApOyBicmVhazsKKwkgICAgY2FzZSAxOgorCSAgICBjYXNlIDI6ICAgeSA9ICBfX2tlcm5lbF9jb3NsKHBpKigwLjUteSksemVybyk7IGJyZWFrOworCSAgICBjYXNlIDM6CisJICAgIGNhc2UgNDogICB5ID0gIF9fa2VybmVsX3NpbmwocGkqKG9uZS15KSx6ZXJvLDApOyBicmVhazsKKwkgICAgY2FzZSA1OgorCSAgICBjYXNlIDY6ICAgeSA9IC1fX2tlcm5lbF9jb3NsKHBpKih5LTEuNSksemVybyk7IGJyZWFrOworCSAgICBkZWZhdWx0OiAgeSA9ICBfX2tlcm5lbF9zaW5sKHBpKih5LTIuMCksemVybywwKTsgYnJlYWs7CisJICAgIH0KKwlyZXR1cm4gLXk7Cit9CisKK2xvbmcgZG91YmxlCitsZ2FtbWFsX3IobG9uZyBkb3VibGUgeCwgaW50ICpzaWduZ2FtcCkKK3sKKwlsb25nIGRvdWJsZSBuYWRqLHAscDEscDIscDMscSxyLHQsdyx5LHo7CisJdWludDY0X3QgbGx4LGx4OworCWludCBpOworCXVpbnQxNl90IGh4LGl4OworCisJRVhUUkFDVF9MREJMMTI4X1dPUkRTKGh4LGx4LGxseCx4KTsKKworICAgIC8qIHB1cmdlICstSW5mIGFuZCBOYU5zICovCisJKnNpZ25nYW1wID0gMTsKKwlpeCA9IGh4JjB4N2ZmZjsKKwlpZihpeD09MHg3ZmZmKSByZXR1cm4geCp4OworCisgICAvKiBwdXJnZSArLTAgYW5kIHRpbnkgYXJndW1lbnRzICovCisJKnNpZ25nYW1wID0gMS0yKihoeD4+MTUpOworCWlmKGl4PDB4M2ZmZi0xMTYpIHsJCS8qIHx4fDwyKiotKHArMyksIHJldHVybiAtbG9nKHx4fCkgKi8KKwkgICAgaWYoKGl4fGx4fGxseCk9PTApCisJCXJldHVybiBvbmUvdnplcm87CisJICAgIHJldHVybiAtbG9nbChmYWJzbCh4KSk7CisJfQorCisgICAgLyogcHVyZ2UgbmVnYXRpdmUgaW50ZWdlcnMgYW5kIHN0YXJ0IGV2YWx1YXRpb24gZm9yIG90aGVyIHggPCAwICovCisJaWYoaHgmMHg4MDAwKSB7CisJICAgICpzaWduZ2FtcCA9IDE7CisJICAgIGlmKGl4Pj0weDNmZmYrMTEyKSAJCS8qIHx4fD49MioqKHAtMSksIG11c3QgYmUgLWludGVnZXIgKi8KKwkJcmV0dXJuIG9uZS92emVybzsKKwkgICAgdCA9IHNpbl9waWwoeCk7CisJICAgIGlmKHQ9PXplcm8pIHJldHVybiBvbmUvdnplcm87CisJICAgIG5hZGogPSBsb2dsKHBpL2ZhYnNsKHQqeCkpOworCSAgICBpZih0PHplcm8pICpzaWduZ2FtcCA9IC0xOworCSAgICB4ID0gLXg7CisJfQorCisgICAgLyogcHVyZ2UgMSBhbmQgMiAqLworCWlmKChpeD09MHgzZmZmIHx8IGl4PT0weDQwMDApICYmIChseHxsbHgpPT0wKSByID0gMDsKKyAgICAvKiBmb3IgeCA8IDIuMCAqLworCWVsc2UgaWYoaXg8MHg0MDAwKSB7CisJICAgIGlmKHg8PTguOTk5OTk2MTg1MzAyNzM0NGUtMDEpIHsKKwkJciA9IC1sb2dsKHgpOworCQlpZih4Pj03LjMxNTk5ODA3NzM5MjU3ODFlLTAxKSB7eSA9IDEteDsgaT0gMDt9CisJCWVsc2UgaWYoeD49Mi4zMTYzOTk4MTI2OTgzNjQzZS0wMSkge3k9IHgtKHRjLTEpOyBpPTE7fQorCSAgCWVsc2Uge3kgPSB4OyBpPTI7fQorCSAgICB9IGVsc2UgeworCQlyID0gMDsKKwkgICAgICAgIGlmKHg+PTEuNzMxNjMxMjc4OTkxNjk5MmUrMDApIHt5PTIteDtpPTA7fQorCSAgICAgICAgZWxzZSBpZih4Pj0xLjIzMTYzMjIzMjY2NjAxNTZlKzAwKSB7eT14LXRjO2k9MTt9CisJCWVsc2Uge3k9eC0xO2k9Mjt9CisJICAgIH0KKwkgICAgc3dpdGNoKGkpIHsKKwkgICAgICBjYXNlIDA6CisJCXogPSB5Knk7CisJCXAxID0gYTAreiooYTIreiooYTQreiooYTYreiooYTgreiooYTEwK3oqKGExMit6KihhMTQreiooYTE2KworCQkgICAgeiooYTE4K3oqKGEyMCt6KmEyMikpKSkpKSkpKSk7CisJCXAyID0geiooYTEreiooYTMreiooYTUreiooYTcreiooYTkreiooYTExK3oqKGExMyt6KihhMTUrCisJCSAgICB6KihhMTcreiooYTE5K3oqKGEyMSt6KmEyMykpKSkpKSkpKSkpOworCQlwICA9IHkqcDErcDI7CisJCXIgICs9IHAteS8yOyBicmVhazsKKwkgICAgICBjYXNlIDE6CisJCXAgPSB0MCt5KnQxK3R0K3kqeSoodDIreSoodDMreSoodDQreSoodDUreSoodDYreSoodDcreSoodDgrCisJCSAgICB5Kih0OSt5Kih0MTAreSoodDExK3kqKHQxMit5Kih0MTMreSoodDE0K3kqKHQxNSt5Kih0MTYrCisJCSAgICB5Kih0MTcreSoodDE4K3kqKHQxOSt5Kih0MjAreSoodDIxK3kqKHQyMit5Kih0MjMrCisJCSAgICB5Kih0MjQreSoodDI1K3kqKHQyNit5Kih0MjcreSoodDI4K3kqKHQyOSt5Kih0MzArCisJCSAgICB5Kih0MzEreSp0MzIpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk7CisJCXIgKz0gdGYgKyBwOyBicmVhazsKKwkgICAgICBjYXNlIDI6CisJCXAxID0geSoodTAreSoodTEreSoodTIreSoodTMreSoodTQreSoodTUreSoodTYreSoodTcrCisJCSAgICB5Kih1OCt5Kih1OSt5KnUxMCkpKSkpKSkpKSk7CisJCXAyID0gb25lK3kqKHYxK3kqKHYyK3kqKHYzK3kqKHY0K3kqKHY1K3kqKHY2K3kqKHY3KworCQkgICAgeSoodjgreSoodjkreSoodjEwK3kqdjExKSkpKSkpKSkpKTsKKwkJciArPSBwMS9wMi15LzI7CisJICAgIH0KKwl9CisgICAgLyogeCA8IDguMCAqLworCWVsc2UgaWYoaXg8MHg0MDAyKSB7CisJICAgIGkgPSB4OworCSAgICB5ID0geC1pOworCSAgICBwID0geSooczAreSooczEreSooczIreSooczMreSooczQreSooczUreSooczYreSooczcreSooczgrCisJCXkqKHM5K3kqKHMxMCt5KnMxMSkpKSkpKSkpKSkpOworCSAgICBxID0gb25lK3kqKHIxK3kqKHIyK3kqKHIzK3kqKHI0K3kqKHI1K3kqKHI2K3kqKHI3K3kqKHI4KworCQl5KihyOSt5KihyMTAreSpyMTEpKSkpKSkpKSkpOworCSAgICByID0geS8yK3AvcTsKKwkgICAgeiA9IDE7CS8qIGxnYW1tYSgxK3MpID0gbG9nKHMpICsgbGdhbW1hKHMpICovCisJICAgIHN3aXRjaChpKSB7CisJICAgIGNhc2UgNzogeiAqPSAoeSs2KTsJCS8qIEZBTExUSFJVICovCisJICAgIGNhc2UgNjogeiAqPSAoeSs1KTsJCS8qIEZBTExUSFJVICovCisJICAgIGNhc2UgNTogeiAqPSAoeSs0KTsJCS8qIEZBTExUSFJVICovCisJICAgIGNhc2UgNDogeiAqPSAoeSszKTsJCS8qIEZBTExUSFJVICovCisJICAgIGNhc2UgMzogeiAqPSAoeSsyKTsJCS8qIEZBTExUSFJVICovCisJCSAgICByICs9IGxvZ2woeik7IGJyZWFrOworCSAgICB9CisgICAgLyogOC4wIDw9IHggPCAyKioocCszKSAqLworCX0gZWxzZSBpZiAoaXg8MHgzZmZmKzExNikgeworCSAgICB0ID0gbG9nbCh4KTsKKwkgICAgeiA9IG9uZS94OworCSAgICB5ID0geip6OworCSAgICB3ID0gdzAreioodzEreSoodzIreSoodzMreSoodzQreSoodzUreSoodzYreSoodzcreSoodzgrCisJCXkqKHc5K3kqKHcxMCt5Kih3MTEreSoodzEyK3kqKHcxMyt5Kih3MTQreSoodzE1K3kqKHcxNisKKwkJeSoodzE3K3kqdzE4KSkpKSkpKSkpKSkpKSkpKSk7CisJICAgIHIgPSAoeC1oYWxmKSoodC1vbmUpK3c7CisgICAgLyogMioqKHArMykgPD0geCA8PSBpbmYgKi8KKwl9IGVsc2UgCisJICAgIHIgPSAgeCoobG9nbCh4KS0xKTsKKwlpZihoeCYweDgwMDApIHIgPSBuYWRqIC0gcjsKKwlyZXR1cm4gcjsKK30KZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9lX3JlbV9waW8ybC5oIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2VfcmVtX3BpbzJsLmgKaW5kZXggMDc4ZDBjMy4uNWQ3OGM0ZCAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2VfcmVtX3BpbzJsLmgKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2VfcmVtX3BpbzJsLmgKQEAgLTYsNyArNiw3IEBACiAgKgogICogRGV2ZWxvcGVkIGF0IFN1blNvZnQsIGEgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBidXNpbmVzcy4KICAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMKLSAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlCisgKiBzb2Z0d2FyZSBpcyBmcmVlbHkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGlzIG5vdGljZSAKICAqIGlzIHByZXNlcnZlZC4KICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAqCkBAIC0xNyw4ICsxNyw4IEBACiBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7CiAKIC8qIGxkMTI4IHZlcnNpb24gb2YgX19pZWVlNzU0X3JlbV9waW8ybCh4LHkpCi0gKgotICogcmV0dXJuIHRoZSByZW1haW5kZXIgb2YgeCByZW0gcGkvMiBpbiB5WzBdK3lbMV0KKyAqIAorICogcmV0dXJuIHRoZSByZW1haW5kZXIgb2YgeCByZW0gcGkvMiBpbiB5WzBdK3lbMV0gCiAgKiB1c2UgX19rZXJuZWxfcmVtX3BpbzIoKQogICovCiAKQEAgLTg4LDI0ICs4OCwyNCBAQAogCQl1bmlvbiBJRUVFbDJiaXRzIHUyOwogCSAgICAgICAgaW50IGV4MTsKIAkgICAgICAgIGogID0gZXg7Ci0JICAgICAgICB5WzBdID0gci13OworCSAgICAgICAgeVswXSA9IHItdzsgCiAJCXUyLmUgPSB5WzBdOwogCQlleDEgPSB1Mi54Yml0cy5leHBzaWduICYgMHg3ZmZmOwogCSAgICAgICAgaSA9IGotZXgxOwogCSAgICAgICAgaWYoaT41MSkgeyAgLyogMm5kIGl0ZXJhdGlvbiBuZWVkZWQsIGdvb2QgdG8gMjQ4ICovCiAJCSAgICB0ICA9IHI7Ci0JCSAgICB3ICA9IGZuKnBpbzJfMjsKKwkJICAgIHcgID0gZm4qcGlvMl8yOwkKIAkJICAgIHIgID0gdC13OwotCQkgICAgdyAgPSBmbipwaW8yXzJ0LSgodC1yKS13KTsKKwkJICAgIHcgID0gZm4qcGlvMl8ydC0oKHQtciktdyk7CQogCQkgICAgeVswXSA9IHItdzsKIAkJICAgIHUyLmUgPSB5WzBdOwogCQkgICAgZXgxID0gdTIueGJpdHMuZXhwc2lnbiAmIDB4N2ZmZjsKIAkJICAgIGkgPSBqLWV4MTsKIAkJICAgIGlmKGk+MTE5KSB7CS8qIDNyZCBpdGVyYXRpb24gbmVlZCwgMzE2IGJpdHMgYWNjICovCiAJCSAgICAJdCAgPSByOwkvKiB3aWxsIGNvdmVyIGFsbCBwb3NzaWJsZSBjYXNlcyAqLwotCQkgICAgCXcgID0gZm4qcGlvMl8zOworCQkgICAgCXcgID0gZm4qcGlvMl8zOwkKIAkJICAgIAlyICA9IHQtdzsKLQkJICAgIAl3ICA9IGZuKnBpbzJfM3QtKCh0LXIpLXcpOworCQkgICAgCXcgID0gZm4qcGlvMl8zdC0oKHQtciktdyk7CQogCQkgICAgCXlbMF0gPSByLXc7CiAJCSAgICB9CiAJCX0KQEAgLTExMyw3ICsxMTMsNyBAQAogCSAgICB5WzFdID0gKHIteVswXSktdzsKIAkgICAgcmV0dXJuIG47CiAJfQotICAgIC8qCisgICAgLyogCiAgICAgICogYWxsIG90aGVyIChsYXJnZSkgYXJndW1lbnRzCiAgICAgICovCiAJaWYoZXg9PTB4N2ZmZikgewkJLyogeCBpcyBpbmYgb3IgTmFOICovCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvaW52dHJpZy5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2ludnRyaWcuYwppbmRleCBkZjY3ZDE2Li40Y2VjYThhIDEwMDY0NAotLS0gYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvaW52dHJpZy5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9pbnZ0cmlnLmMKQEAgLTU4LDggKzU4LDggQEAKICAqLwogY29uc3QgbG9uZyBkb3VibGUgYXRhbmhpW10gPSB7CiAJIDQuNjM2NDc2MDkwMDA4MDYxMTYyMTQyNTYyMzE0NjEyMTQzOTdlLTAxTCwKLQkgNy44NTM5ODE2MzM5NzQ0ODMwOTYxNTY2MDg0NTgxOTg3NTY5OWUtMDFMLAotCSA5LjgyNzkzNzIzMjQ3MzI5MDY3OTg1NzEwNjExMDE0NjY2MDM4ZS0wMUwsCisJIDcuODUzOTgxNjMzOTc0NDgzMDk2MTU2NjA4NDU4MTk4NzU2OTllLTAxTCwgICAgICAgCisJIDkuODI3OTM3MjMyNDczMjkwNjc5ODU3MTA2MTEwMTQ2NjYwMzhlLTAxTCwgICAgICAgCiAJIDEuNTcwNzk2MzI2Nzk0ODk2NjE5MjMxMzIxNjkxNjM5NzUxNDBlKzAwTCwKIH07CiAKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9rX2Nvc2wuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9rX2Nvc2wuYwppbmRleCA1ZjRhYTM3Li5mZTU3NzczIDEwMDY0NAotLS0gYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgva19jb3NsLmMKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2tfY29zbC5jCkBAIC02LDcgKzYsNyBAQAogICoKICAqIERldmVsb3BlZCBhdCBTdW5Tb2Z0LCBhIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gYnVzaW5lc3MuCiAgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzCi0gKiBzb2Z0d2FyZSBpcyBmcmVlbHkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGlzIG5vdGljZQorICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UgCiAgKiBpcyBwcmVzZXJ2ZWQuCiAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgKi8KZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9rX2V4cGwuaCBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9rX2V4cGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTY2OGZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2tfZXhwbC5oCkBAIC0wLDAgKzEsMzI4IEBACisvKiBmcm9tOiBGcmVlQlNEOiBoZWFkL2xpYi9tc3VuL2xkMTI4L3NfZXhwbC5jIDI1MTM0NSAyMDEzLTA2LTAzIDIwOjA5OjIyWiBrYXJnbCAqLworCisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDEzIFN0ZXZlbiBHLiBLYXJnbAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UgdW5tb2RpZmllZCwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIE9wdGltaXplZCBieSBCcnVjZSBELiBFdmFucy4KKyAqLworCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CitfX0ZCU0RJRCgiJEZyZWVCU0QkIik7CisKKy8qCisgKiBsZDEyOCB2ZXJzaW9uIG9mIGtfZXhwbC5oLiAgU2VlIC4uL2xkODAvc19leHBsLmMgZm9yIG1vc3QgY29tbWVudHMuCisgKgorICogU2VlIC4uL3NyYy9lX2V4cC5jIGFuZCAuLi9zcmMva19leHAuaCBmb3IgcHJlY2lzaW9uLWluZGVwZW5kZW50IGNvbW1lbnRzCisgKiBhYm91dCB0aGUgc2Vjb25kYXJ5IGtlcm5lbHMuCisgKi8KKworI2RlZmluZQlJTlRFUlZBTFMJMTI4CisjZGVmaW5lCUxPRzJfSU5URVJWQUxTCTcKKyNkZWZpbmUJQklBUwkoTERCTF9NQVhfRVhQIC0gMSkKKworc3RhdGljIGNvbnN0IGRvdWJsZQorLyoKKyAqIGxuMi9JTlRFUlZBTFMgPSBMMStMMiAoaGkrbG8gZGVjb21wb3NpdGlvbiBmb3IgbXVsdGlwbGljYXRpb24pLiAgTDEgbXVzdAorICogaGF2ZSBhdCBsZWFzdCAyMiAoPSBsb2cyKHxMREJMX01JTl9FWFAtZXh0cmFzfCkgKyBsb2cyKElOVEVSVkFMUykpIGxvd2VzdAorICogYml0cyB6ZXJvIHNvIHRoYXQgbXVsdGlwbGljYXRpb24gb2YgaXQgYnkgbiBpcyBleGFjdC4KKyAqLworSU5WX0wgPSAxLjg0NjY0OTY1MjMzNzg3MzFlKzIsCQkvKiAgMHgxNzE1NDc2NTJiODJmZS4wcC00NSAqLworTDIgPSAtMS4wMjUzNjcwNjM4ODk0NzMxZS0yOTsJCS8qIC0weDEuOWZmMDM0MjU0MmZjM3AtOTcgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQorLyogMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjgwMDAwMDBwLTggKi8KK0wxID0gIDUuNDE1MjEyMzQ4MTI0NTcyNzI5ODIyMTI1OTU5MTQ1Njc1MDhlLTNMOworCisvKgorICogWFhYIHZhbHVlcyBpbiBoZXggaW4gY29tbWVudHMgaGF2ZSBiZWVuIGxvc3QgKG9yIHdlcmUgbmV2ZXIgcHJlc2VudCkKKyAqIGZyb20gaGVyZS4KKyAqLworc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCisvKgorICogRG9tYWluIFstMC4wMDI3MDgsIDAuMDAyNzA4XSwgcmFuZ2UgflstMi40MDIxZS0zOCwgMi40MjM0ZS0zOF06CisgKiB8ZXhwKHgpIC0gcCh4KXwgPCAyKiotMTI0LjkKKyAqICgwLjAwMjcwOCBpcyBsbjIvKDIqSU5URVJWQUxTKSByb3VuZGVkIHVwIGEgbGl0dGxlKS4KKyAqCisgKiBYWFggdGhlIGNvZWZmcyBhcmVuJ3QgdmVyeSBjYXJlZnVsbHkgcm91bmRlZCwgYW5kIEkgZ2V0IDMuNiBtb3JlIGJpdHMuCisgKi8KK0EyICA9ICAwLjUsCitBMyAgPSAgMS42NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1MTA4NTUwMGUtMUwsCitBNCAgPSAgNC4xNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjQyNTg4NTMyMGUtMkwsCitBNSAgPSAgOC4zMzMzMzMzMzMzMzMzMzMzMzMzNDUyMjg3NzE2MDE3NTg0MmUtM0wsCitBNiAgPSAgMS4zODg4ODg4ODg4ODg4ODg4ODg4OTk3MTEzOTc1MTU5NjgzNmUtM0w7CisKK3N0YXRpYyBjb25zdCBkb3VibGUKK0E3ICA9ICAxLjk4NDEyNjk4NDEyNjk0NzBlLTQsCQkvKiAgMHgxLmEwMWEwMWEwMTlmOTFwLTEzICovCitBOCAgPSAgMi40ODAxNTg3MzAxNTg1Mjg2ZS01LAkJLyogIDB4MS43MWRlM2VjNzVhOTY3cC0xOSAqLworQTkgID0gIDIuNzU1NzMyNDI3NzQxMTIzNWUtNiwJCS8qICAweDEuNzFkZTNlYzc1YTk2N3AtMTkgKi8KK0ExMCA9ICAyLjc1NTczMzM3MjIzNzUwNjllLTc7CQkvKiAgMHgxLjI3ZTUwNWFiNTYyNTlwLTIyICovCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeworCS8qCisJICogaGkgbXVzdCBiZSByb3VuZGVkIHRvIGF0IG1vc3QgMTA2IGJpdHMgc28gdGhhdCBtdWx0aXBsaWNhdGlvbgorCSAqIGJ5IHIxIGluIGV4cG0xbCgpIGlzIGV4YWN0LCBidXQgaXQgaXMgcm91bmRlZCB0byA4OCBiaXRzIGR1ZSB0bworCSAqIGhpc3RvcmljYWwgYWNjaWRlbnRzLgorCSAqCisJICogWFhYIGl0IGlzIHdhc3RlZnVsIHRvIHVzZSBsb25nIGRvdWJsZSBmb3IgYm90aCBoaSBhbmQgbG8uICBsZDEyOAorCSAqIGV4cDJsKCkgdXNlcyBvbmx5IGZsb2F0IGZvciBsbyAoaW4gYSB2ZXJ5IGRpZmZlcmVudGx5IG9yZ2FuaXplZAorCSAqIHRhYmxlOyBsZDgwIGV4cDJsKCkgaXMgZGlmZmVyZW50IGFnYWluLiAgSXQgdXNlcyAyIGRvdWJsZXMgaW4gYQorCSAqIHRhYmxlIG9yZ2FuaXplZCBsaWtlIHRoaXMgb25lLiAgMSBkb3VibGUgYW5kIDEgZmxvYXQgd291bGQKKwkgKiBzdWZmaWNlKS4gIFRoZXJlIGFyZSBkaWZmZXJlbnQgcGFja2luZy9sb2NhbGl0eS9hbGlnbm1lbnQvY2FjaGluZworCSAqIHByb2JsZW1zIHdpdGggdGhlc2UgbWV0aG9kcy4KKwkgKgorCSAqIFhYWCBDJ3MgYmFkICVhIGZvcm1hdCBtYWtlcyB0aGUgYml0cyB1bnJlYWRhYmxlLiAgVGhleSBoYXBwZW4KKwkgKiB0byBhbGwgbGluZSB1cCBmb3IgdGhlIGhpIHZhbHVlcyAxIGJlZm9yZSB0aGUgcG9pbnQgYW5kIDg4CisJICogaW4gMjIgbnliYmxlcywgYnV0IGZvciB0aGUgbG93IHZhbHVlcyB0aGUgbnliYmxlcyBhcmUgc2hpZnRlZAorCSAqIHJhbmRvbWx5LgorCSAqLworCWxvbmcgZG91YmxlCWhpOworCWxvbmcgZG91YmxlCWxvOworfSB0YmxbSU5URVJWQUxTXSA9IHsKKwkweDFwMEwsIDB4MHAwTCwKKwkweDEuMDE2M2RhOWZiMzMzNTZkODRhNjZhZXAwTCwgMHgzLjM2ZGNkZmE0MDAzZWMwNGMzNjBiZTI0MDQwNzhwLTkyTCwKKwkweDEuMDJjOWEzZTc3ODA2MGVlNmY3Y2FjYXAwTCwgMHg0LmY3YTI5YmRlOTNkNzBhMmNhYmM1Y2I4OWJhMTBwLTkyTCwKKwkweDEuMDQzMTVlODZlN2Y4NGJkNzM4ZjlhMnAwTCwgMHhkLmE0N2U2ZWQwNDBiYjRiZmMwNWFmNjQ1NWU5YjhwLTk2TCwKKwkweDEuMDU5YjBkMzE1ODU3NDNhZTdjNTQ4ZXAwTCwgMHhiLjY4Y2E0MTdmZTUzZTM0OTVmN2RmNGJhZjg0YTBwLTkyTCwKKwkweDEuMDcwNmIyOWRkZjZkZGM2ZGM0MDNhOHAwTCwgMHgxLmQ4N2IyN2VkMDdjYjhiMDkyYWM3NWUzMTE3NTNwLTg4TCwKKwkweDEuMDg3NDUxODc1OWJjODA4YzM1ZjI1Y3AwTCwgMHgxLjk0MjdmYTJiMDQxYjJkNjgyOWQ4OTkzYTBkMDFwLTg4TCwKKwkweDEuMDllM2VjYWM2ZjM4MzQ1MjFlMDYwY3AwTCwgMHg1Ljg0ZDZiNzRiYTJlMDIzZGE3MzBlN2ZjY2I3NThwLTkyTCwKKwkweDEuMGI1NTg2Y2Y5ODkwZjYyOThiOTJiNnAwTCwgMHgxLjE4NDJhOTgzNjQyOTE0MDhiM2NlYjBhMmEyYmJwLTg4TCwKKwkweDEuMGNjOTIyYjcyNDdmNzQwN2I3MDViOHAwTCwgMHg5LjNkYzVlOGFhYzU2NGU2ZmUyZWYxZDQzMWZkOThwLTkyTCwKKwkweDEuMGUzZWMzMmQzZDFhMjAyMDc0MmU0ZXAwTCwgMHgxLjhhZjZhNTUyYWM0YjM1OGIxMTI5ZTlmOTY2YTRwLTg4TCwKKwkweDEuMGZiNjZhZmZlZDMxYWYyMzIwOTFkY3AwTCwgMHgxLjhhMTQyNjUxNGUwYjYyN2JkYTY5NGE0MDBhMjdwLTg4TCwKKwkweDEuMTEzMDFkMDEyNWI1MGE0ZWJiZjFhZXAwTCwgMHhkLjkzMThjZWFjNWNjNDdhYjE2NmVlNTc0MjcxNzhwLTkyTCwKKwkweDEuMTJhYmRjMDZjMzFjYmZiOTJiYWQzMnAwTCwgMHg0LmQ2OGUyZjcyNzBiZGY3Y2VkZjk0ZWIxY2I4MThwLTkyTCwKKwkweDEuMTQyOWFhZWE5MmRkZmIzNDEwMTk0MnAwTCwgMHgxLmIyNTg2ZDAxODQ0YjM4OWJlYTdhZWRkMjIxZDRwLTg4TCwKKwkweDEuMTVhOThjOGE1OGU1MTI0ODBkNTczY3AwTCwgMHgxLmQ1NjEzYmY5MmEyYjYxOGVlMzFiMzc2YzI2ODlwLTg4TCwKKwkweDEuMTcyYjgzYzdkNTE3YWRjZGY3YzhjNHAwTCwgMHgxLjBlYjE0YTc5MjAzNTUwOWZmN2Q3NTg2OTNmMjRwLTg4TCwKKwkweDEuMThhZjkzODhjOGRlOWJiYmY3MGI5YXAwTCwgMHgzLmMyNTA1Yzk3YzAxMDJlNWYxMjExOTQxZDI4NDBwLTkyTCwKKwkweDEuMWEzNWJlYjZmY2I3NTNjYjY5OGY2OHAwTCwgMHgxLjJkMWM4MzVhNmMzMDcyNGQ1Y2ZhZTMxYjg0ZTVwLTg4TCwKKwkweDEuMWJiZTA4NDA0NWNkMzlhYjFlNzJiNHAwTCwgMHg0LjI3ZTM1ZjlhY2I1N2U0NzM5MTU1MTlhMWI0NDhwLTkyTCwKKwkweDEuMWQ0ODczMTY4YjlhYTc4MDViODAyOHAwTCwgMHg5LjkwZjA3YTk4YjQyMjA2ZTQ2MTY2Y2YwNTFkNzBwLTkyTCwKKwkweDEuMWVkNTAyMmZjZDkxY2I4ODE5ZmY2MHAwTCwgMHgxLjEyMWQxZTUwNGQzNmM0NzQ3NGM5YjdkZTYwNjdwLTg4TCwKKwkweDEuMjA2M2I4ODYyOGNkNjNiOGVlYjAyOHAwTCwgMHgxLjUwOTI5ZDBmYzQ4N2QyMWMyYjg0MDA0MjY0ZGVwLTg4TCwKKwkweDEuMjFmNDk5MTdkZGM5NjI1NTJmZDI5MnAwTCwgMHg5LjRiZGI0YjYxZWE2MjQ3N2NhYTFkY2U4MjNiYTBwLTkyTCwKKwkweDEuMjM4N2E2ZTc1NjIzODY2YzFmYWRiMHAwTCwgMHgxLmMxNWNiNTkzYjAzMjg1NjY5MDJkZjY5ZTRkZTJwLTg4TCwKKwkweDEuMjUxY2U0ZmIyYTYzZjM1ODJhYjdkZXAwTCwgMHg5LmU5NDgxMWE5YzhhZmRjZjc5NjkzNGJjNjUyZDBwLTkyTCwKKwkweDEuMjZiNDU2NWUyN2NkZDI1N2E2NzMyOHAwTCwgMHgxLmQzYjI0OWRjZTRlOTE4NmRkZDVmZjQ0ZTZiMDhwLTkyTCwKKwkweDEuMjg0ZGZlMWY1NjM4MDk2Y2YxNWNmMHAwTCwgMHgzLmNhMDk2N2ZkYWEyZTUyZDdjODEwNmYyZTI2MmNwLTkyTCwKKwkweDEuMjllOWRmNTFmZGVlMTJjMjVkMTVmNHAwTCwgMHgxLmEyNGFhM2JjYTg5MGFjMDhkMjAzZmVkODBhMDdwLTg4TCwKKwkweDEuMmI4N2ZkMGRhZDk4ZmZkZGVhNDY1MnAwTCwgMHgxLjhmY2FiODg0NDJmZGMzY2I2ZGU0NTE5MTY1ZWRwLTg4TCwKKwkweDEuMmQyODVhNmU0MDMwYjQwMDkxZDUzNnAwTCwgMHhkLjA3NTM4NDU4OWMxY2QxYjNlNDAxOGE2YjEzNDhwLTkyTCwKKwkweDEuMmVjYWZhOTNlMmY1NjExY2EwZjQ1Y3AwTCwgMHgxLjUyMzgzM2FmNjExYmRjZGEyNTNjNTU0Y2YyNzhwLTg4TCwKKwkweDEuMzA2ZmUwYTMxYjcxNTJkZThkNWE0NnAwTCwgMHgzLjA1Yzg1ZWRlY2JjMjczNDM2MjlmNTAyZjFhZjJwLTkyTCwKKwkweDEuMzIxNzBmYzRjZDgzMTM1MzljZjFjMnAwTCwgMHgxLjAwOGY4NmRkZTMyMjBhZTE3YTAwNWI2NDEyYmVwLTg4TCwKKwkweDEuMzNjMDhiMjY0MTZmZjRjOWM4NjEwY3AwTCwgMHgxLjk2Njk2YmY5NWQxNTkzMDM5NTM5ZDk0ZDY2MmJwLTg4TCwKKwkweDEuMzU2YzU1ZjkyOWZmMGM5NDYyMzQ3NnAwTCwgMHgzLjczYWYzOGQ2ZDhkNmY5NTA2YzliYmM5M2NiYzBwLTkyTCwKKwkweDEuMzcxYTczNzNhYTljYWE3MTQ1NTAyZXAwTCwgMHgxLjQ1NDc5ODdlM2UxMjUxNmJmOWM2OTliZTQzMmZwLTg4TCwKKwkweDEuMzhjYWU2ZDA1ZDg2NTg1YTljYjBkOHAwTCwgMHgxLmJlZDBjODUzYmQzMGEwMjc5MDkzMWViMmU4ZjBwLTg4TCwKKwkweDEuM2E3ZGIzNGU1OWZmNmVhMWJjOTI5OHAwTCwgMHgxLmUwYTFkMzM2MTYzZmUyZjg1MmNlZWIxMzQwNjdwLTg4TCwKKwkweDEuM2MzMmRjMzEzYThlNDg0MDAxZjIyOHAwTCwgMHhiLjU4ZjM3NzVlMDZhYjY2MzUzMDAxZmFlOWZjYTBwLTkyTCwKKwkweDEuM2RlYTY0YzEyMzQyMjM1YjQxMjIzZXAwTCwgMHgxLjNkNzczZmJhMmNiODJiODI0NDI2N2M1NDQ0M2ZwLTkyTCwKKwkweDEuM2ZhNDUwNGFjODAxYmEwYmY3MDFhYXAwTCwgMHg0LjE4MzJmYjhjMWM4ZGJkZmYyYzQ5OTA5ZTZjNjBwLTkyTCwKKwkweDEuNDE2MGEyMWY3MmUyOWY4NDMyNWI4ZXAwTCwgMHgxLjNkYjYxZmIzNTJmMDU0MGU2YmEwNTYzNDQxM2VwLTg4TCwKKwkweDEuNDMxZjVkOTUwYTg5NmRjNzA0NDM5NHAwTCwgMHgxLjBjY2VjODFlMjRiMGNhZmY3NTgxZWY0MTI3ZjdwLTkyTCwKKwkweDEuNDRlMDg2MDYxODkyZDAzMTM2ZjQwOHAwTCwgMHgxLmRmMDE5ZmJkNGYzYjQ4NzA5Yjc4NTkxZDVjYjVwLTg4TCwKKwkweDEuNDZhNDFlZDFkMDA1NzcyNTEyZjQ1OHAwTCwgMHgxLjIyOWQ5N2RmNDA0ZmYyMWYzOWMxYjU5NGQzYThwLTg4TCwKKwkweDEuNDg2YTJiNWMxM2NkMDEzYzFhM2I2OHAwTCwgMHgxLjA2MmYwM2MzZGQ3NWNlODc1N2Y3ODBlNmVjOTlwLTg4TCwKKwkweDEuNGEzMmFmMGQ3ZDNkZTY3MmQ4YmNmNHAwTCwgMHg2LmY5NTg2NDYxZGIxZDg3OGIxZDE0OGJkM2NjYjhwLTkyTCwKKwkweDEuNGJmZGFkNTM2MmEyNzFkNDM5N2FmZXAwTCwgMHhjLjQyZTIwZTAzNjNiYTJlMTU5YzU3OWY4MmU0YjBwLTkyTCwKKwkweDEuNGRjYjI5OWZkZGQwZDYzYjM2ZWYxYXAwTCwgMHg5LmUwY2M0ODRiMjVhNTU2NmQwYmQ1ZjU4YWQyMzhwLTkyTCwKKwkweDEuNGY5YjI3NjlkMmNhNmFkMzNkOGI2OHAwTCwgMHgxLmFhMDczZWU1NWUwMjg0OTdhMzI5YTczMzNkYmFwLTg4TCwKKwkweDEuNTE2ZGFhMmNmNjY0MWMxMTJmNTJjOHAwTCwgMHg0LmQ4MjIxOTBlNzE4MjI2MTc3ZDc2MDhkMjAwMzhwLTkyTCwKKwkweDEuNTM0MmI1NjlkNGY4MWRmMGE4M2M0OHAwTCwgMHgxLmQ4NmE2M2Y0ZTY3MmEzZTQyOTgwNWIwNDk0NjVwLTg4TCwKKwkweDEuNTUxYTRjYTVkOTIwZWM1MmVjNjIwMnAwTCwgMHg0LjM0Y2E2NzI2NDVkYzZjMTI0ZDY2MTlhODc1NzRwLTkyTCwKKwkweDEuNTZmNDczNmI1MjdkYTY2ZWNiMDA0NnAwTCwgMHgxLjY0ZWIzYzAwZjJmNWFiM2Q4MDFkN2NjNzI3MmRwLTg4TCwKKwkweDEuNThkMTJkNDk3YzdmZDI1MmJjMmI3MnAwTCwgMHgxLjQzYmNmMmVjOTM2YTk3MGQ5Y2MyNjZmMDA3MmZwLTg4TCwKKwkweDEuNWFiMDdkZDQ4NTQyOTU4YzkzMDE1MHAwTCwgMHgxLjkxZWIzNDVkODhkN2M4MTI4MGUwNjlmYmRiNjNwLTg4TCwKKwkweDEuNWM5MjY4YTU5NDZiNzAxYzRiMWI4MHAwTCwgMHgxLjY5ODZhMjAzZDg0ZTZhNGE5MmYxNzllNzE4ODlwLTg4TCwKKwkweDEuNWU3NmYxNWFkMjE0ODZlOWJlNGMyMHAwTCwgMHgzLjk5NzY2YTA2NTQ4YTA1ODI5ZTg1M2JkYjJiNTJwLTkyTCwKKwkweDEuNjA1ZTFiOTc2ZGMwOGIwNzZmNTkyYXAwTCwgMHg0Ljg2ZTNiMzRlYWQxYjQ3NjlkZjg2N2I5Yzg5Y2NwLTkyTCwKKwkweDEuNjI0N2ViMDNhNTU4NGIxZjBmYTA2ZXAwTCwgMHgxLmQyZGE0MmJiMWNlYWY5ZjczMjI3NWI4YWVmMzBwLTg4TCwKKwkweDEuNjQzNDYzNGNjYzMxZmM3NmY4NzE0Y3AwTCwgMHg0LmVkOWE0ZTQxMDAwMzA3MTAzYTE4Y2Y3YTZlMDhwLTkyTCwKKwkweDEuNjYyMzg4MjU1MjIyNDkxMjdkOWUyOHAwTCwgMHgxLmI4ZjMxNGEzMzdmNGRjMGEzYWRmMTc4N2ZmNzRwLTg4TCwKKwkweDEuNjgxNTVkNDRjYTk3MzA4MWM1NzIyNnAwTCwgMHgxLmI5ZjMyNzA2YmZlNGU2MjdkODA5YTg1ZGNjNjZwLTg4TCwKKwkweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMnAwTCwgMHgxLjY2ZWE5NTdkM2UzYWRlYzE3NTEyNzc1MDk5ZGFwLTg4TCwKKwkweDEuNmMwMTI3NTBiZGFiZWVkNzZhOTk4MHAwTCwgMHhmLjRmMzNmZGViOGIwZWNkODMxMTA2ZjU3YjNkMDBwLTk2TCwKKwkweDEuNmRmYjIzYzY1MWEyZWYyMjBlMmNiZXAwTCwgMHgxLmJiYWE4MzRiM2YxMTU3N2NlZWZiZTZjMWM0MTFwLTkyTCwKKwkweDEuNmZmN2RmOTUxOTQ4M2NmODdlMWI0ZXAwTCwgMHgxLjNlMjEzYmZmOWI3MDJkNWFhNDc3YzEyNTIzY2VwLTg4TCwKKwkweDEuNzFmNzVlOGVjNWY3M2RkMjM3MGYyZXAwTCwgMHhmLjBhY2Q2Y2I0MzRiNTYyZDllOGEyMGFkZGE2NDhwLTkyTCwKKwkweDEuNzNmOWE0OGE1ODE3M2JkNWM5YTRlNnAwTCwgMHg4LmFiMTE4MmFlMjE3ZjNhNzY4MTc1OTU1M2U4NDBwLTkyTCwKKwkweDEuNzVmZWI1NjQyNjdjOGJmNmU5YWEzMnAwTCwgMHgxLmE0OGIyNzA3MTgwNWU2MWExN2I5NTRhMmRhZDhwLTg4TCwKKwkweDEuNzgwNjk0ZmRlNWQzZjYxOWFlMDI4MHAwTCwgMHg4LjU4YjJiYjJiZGNmODZjZDA4ZTM1ZmIwNGMwZjBwLTkyTCwKKwkweDEuN2ExMTQ3M2ViMDE4NmQ3ZDUxMDIzZXAwTCwgMHgxLjZjZGExZjVlZjQyYjY2OTc3OTYwNTMxZTgyMWJwLTg4TCwKKwkweDEuN2MxZWQwMTMwYzEzMjdjNDkzMzQ0NHAwTCwgMHgxLjkzNzU2MmIyZGM5MzNkNDRmYzgyOGVmZDRjOWNwLTg4TCwKKwkweDEuN2UyZjMzNmNmNGU2MjEwNWQwMmJhMHAwTCwgMHgxLjU3OTdlMTcwYTE0MjdmOGZjZGY1ZjM5MDYxMDhwLTg4TCwKKwkweDEuODA0Mjc1NDNlMWExMWI2MGRlNjc2NHAwTCwgMHg5LmEzNTRlYTcwNmI4ZTRkOGI3MThhNjcyYmY3YzhwLTkyTCwKKwkweDEuODI1ODk5OTRjY2UxMjhhY2Y4OGFmYXAwTCwgMHhiLjM0YTAxMGY2YWQ2NWNiYmFjMGY1MzJkMzliZTBwLTkyTCwKKwkweDEuODQ3MWE0NjIzYzdhY2NlNTJmNmI5NnAwTCwgMHgxLmM2NDA5NTM3MGY1MWY0ODgxNzkxNGRkNzg2NjVwLTg4TCwKKwkweDEuODY4ZDk5YjQ0OTJlYzgwZTQxZDkwYXAwTCwgMHhjLjI1MTcwNzQ4NGQ3M2YxMzZmYjU3Nzk2NTZiNzBwLTkyTCwKKwkweDEuODhhYzdkOThhNjY5OTY2NTMwYmNkZXAwTCwgMHgxLjJkNGU5ZDYxMjgzZWYzODVkZTE3MGFiMjBmOTZwLTg4TCwKKwkweDEuOGFjZTU0MjJhYTBkYjViYTdjNTVhMHAwTCwgMHgxLjkyYzliYjNlNmVkNjFmMjczMzMwNGEzNDZkOGZwLTg4TCwKKwkweDEuOGNmMzIxNmI1NDQ4YmVmMmFhMWNkMHAwTCwgMHgxLjYxYzU1ZDg0YTk4NDhmOGM0NTNiM2NhOGM5NDZwLTg4TCwKKwkweDEuOGYxYWU5OTE1NzczNjJiOTgyNzQ1Y3AwTCwgMHg3LjJlZDgwNGVmYzliNGFlMTQ1OGFlOTQ2MDk5ZDRwLTkyTCwKKwkweDEuOTE0NWIwYjkxZmZjNTg4YTYxYjQ2OHAwTCwgMHgxLmY2YjcwZTAxYzJhOTAyMjlhNGM0MzA5ZWE3MTlwLTg4TCwKKwkweDEuOTM3MzdiMGNkYzVlNGY0NTAxYzNmMnAwTCwgMHg1LjQwYTIyZDJmYzRhZjU4MWI2M2U4MzI2ZWZlOWNwLTkyTCwKKwkweDEuOTVhNDRjYmM4NTIwZWU5YjQ4MzY5NHAwTCwgMHgxLmEwZmM2ZjdjN2Q2MWIyYjNhMjJhMGVhYjJjYWRwLTg4TCwKKwkweDEuOTdkODI5ZmRlNGU0ZjhiOWU5MjBmOHAwTCwgMHgxLjFlOGJkN2VkYjlkNzE0NGI2ZjY4MTgwODRjYzdwLTg4TCwKKwkweDEuOWEwZjE3MGNhMDdiOWJhMzEwOWI4Y3AwTCwgMHg0LjY3MzdiZWIxOWUxZWFkYTY4MjVkM2M1NTc0MjhwLTkyTCwKKwkweDEuOWM0OTE4MmEzZjA5MDFjN2M0NmIwNnAwTCwgMHgxLjFmMmJlNThkZGFkZTUwYzIxNzE4NmM5MGI0NTdwLTg4TCwKKwkweDEuOWU4NjMxOWUzMjMyMzE4MjRjYTc4ZXAwTCwgMHg2LjRjNmUwMTBmOTJjMDgyYmJhZGZhZjYwNWNmZDRwLTkyTCwKKwkweDEuYTBjNjY3YjVkZTU2NGIyOWFkYThiOHAwTCwgMHhjLmFiMzQ5YWEwNDIyYThkYTdkNDUxMmVkYWM1NDhwLTkyTCwKKwkweDEuYTMwOWJlYzRhMmQzMzU4YzE3MWY3NnAwTCwgMHgxLjBkYWFkNTQ3ZmEyMmMyNmQxNjhlYTc2MmQ4NTRwLTg4TCwKKwkweDEuYTU1MDNiMjNlMjU1YzhiNDI0NDkxY3AwTCwgMHhhLmY4N2JjODA1MGE0MDUzODE3MDNlZjdjYWZmNTBwLTkyTCwKKwkweDEuYTc5OWUxMzMwYjM1ODZmMmRmYjJiMHAwTCwgMHgxLjU4ZjFhOTg3OTZjZTg5MDhhZTg1MjIzNmNhOTRwLTg4TCwKKwkweDEuYTllNmI1NTc5ZmRiZjQzZWIyNDNiY3AwTCwgMHgxLmZmNGM0YzU4YjU3MWNmNDY1Y2FmMDdiNGI5ZjVwLTg4TCwKKwkweDEuYWMzNmJiZmQzZjM3OWMwZGI5NjZhMnAwTCwgMHgxLjEyNjVmYzczZTQ4MDcxMmQyMGY4NTk3YThlN2JwLTg4TCwKKwkweDEuYWU4OWY5OTVhZDNhZDVlODczNGQxNnAwTCwgMHgxLjczMjA1YTdmYmMzYWU2NzVlYTQ0MGIxNjJkNmNwLTg4TCwKKwkweDEuYjBlMDcyOThkYjY2NTkwODQyYWNkZXAwTCwgMHgxLmM2ZjZjYTBlNWRjYWUyYWFmZmZhN2EwNTU0Y2JwLTg4TCwKKwkweDEuYjMzYTJiODRmMTVmYWY2YmZkMGU3YXAwTCwgMHgxLmQ5NDdjMjU3NTc4MWRiYjQ5YjEyMzdjODdiNmVwLTg4TCwKKwkweDEuYjU5NzI4ZGU1NTkzOThlMzg4MTExMHAwTCwgMHgxLjY0ODczYzcxNzFmZWZjNDEwNDE2YmUwYTY1MjVwLTg4TCwKKwkweDEuYjdmNzZmMmZiNWU0NmVhYTdiMDgxYXAwTCwgMHhiLjUzYzUzNTRjODkwM2MzNTZlNGI2MjVhYWNjMjhwLTkyTCwKKwkweDEuYmE1YjAzMGExMDY0OTg0MGNiM2M2YXAwTCwgMHhmLjViNDdmMjk3MjAzNzU3ZTFjYzZlYWRjOGJhZDBwLTkyTCwKKwkweDEuYmNjMWU5MDRiYzFkMjI0N2JhMGY0NHAwTCwgMHgxLmIzZDA4Y2QwYjIwMjg3MDkyYmQ1OWJlNGFkOThwLTg4TCwKKwkweDEuYmYyYzI1YmQ3MWUwODg0MDhkNzAyNHAwTCwgMHgxLjE4ZTM0NDlmYTA3M2IzNTY3NjZkZmI1NjhmZjRwLTg4TCwKKwkweDEuYzE5OWJkZDg1NTI5YzIyMjBjYjEyYXAwTCwgMHg5LjFiYTY2Nzk0NDQ5NjRhMzY2NjEyNDAwNDM5NzBwLTk2TCwKKwkweDEuYzQwYWI1ZmZmZDA3YTZkMTRkZjgyMHAwTCwgMHhmLjE4MjhhNTM2NmZkMzg3YTdiZGQ1NGNkZjczMDBwLTkyTCwKKwkweDEuYzY3ZjEyZTU3ZDE0YjRhMjEzN2ZkMnAwTCwgMHhmLjJiMzAxZGQ5ZTZiMTUxYTZkMWY5ZDVkNWY1MjBwLTk2TCwKKwkweDEuYzhmNmQ5NDA2ZTdiNTExYWNiYzQ4OHAwTCwgMHg1LmM0NDJkZGI1NTgyMDE3MWYzMTlkOWU1MDc2YThwLTk2TCwKKwkweDEuY2I3MjBkY2VmOTA2OTE1MDNjYmQxZXAwTCwgMHg5LjQ5ZGI3NjFkOTU1OWFjMGNiNmRkM2VkNTk5ZTBwLTkyTCwKKwkweDEuY2RmMGI1NTVkYzNmOWM0NGY4OTU4ZXAwTCwgMHgxLmFjNTFiZTUxNWY4YzU4YmRmYjZmNTc0MGEzYTRwLTg4TCwKKwkweDEuZDA3MmQ0YTA3ODk3YjhkMGYyMmYyMHAwTCwgMHgxLmExNThlMThmYmJmYzYyNWYwOWY0Y2NhNDA4NzRwLTg4TCwKKwkweDEuZDJmODcwODBkODlmMThhZGUxMjM5OHAwTCwgMHg5LmVhMjAyNWI0YzU2NTUzZjVjZGVlNGM5MjQ3MjhwLTkyTCwKKwkweDEuZDU4MThkY2ZiYTQ4NzI1ZGEwNWFlYXAwTCwgMHgxLjY2ZTBkY2E5ZjU4OWY1NTljMDg3NmZmMjM4MzBwLTg4TCwKKwkweDEuZDgwZTMxNmM5ODM5N2JiODRmOWQwNHAwTCwgMHg4LjgwNWY4NGJlYzYxNGRlMjY5OTAwZGRmOThkMjhwLTkyTCwKKwkweDEuZGE5ZTYwM2RiMzI4NTcwOGMwMWE1YXAwTCwgMHgxLjZkNGM5N2Y2MjQ2ZjBlYzYxNGVjOTVjOTkzOTJwLTg4TCwKKwkweDEuZGQzMjFmMzAxYjQ2MDRiNjk1ZGUzY3AwTCwgMHg2LjMwYTM5MzIxNTI5OWUzMGQ0ZmI3MzUwM2MzNDhwLTk2TCwKKwkweDEuZGZjOTczMzdiOWI1ZWI5NjhjYWMzOHAwTCwgMHgxLmVkMjkxYjcyMjVhOTQ0ZWZkNWJiNTUyNGI5MjdwLTg4TCwKKwkweDEuZTI2NDYxNGY1YTEyOGExMjc2MWZhMHAwTCwgMHgxLjdhZGE2NDY3ZTc3ZjczYmY2NWUwNGM5NWUyOWRwLTg4TCwKKwkweDEuZTUwMmVlNzhiM2ZmNjI3M2QxMzAxNHAwTCwgMHgxLjM5OTFlOGY0OTY1OWUxNjkzYmUxN2FlMWQyZjlwLTg4TCwKKwkweDEuZTdhNTFmYmM3NGM4MzRiNTQ4YjI4MnAwTCwgMHgxLjIzNzg2NzU4YTg0ZjQ5NTYzNTQ2MzRhNDE2Y2VwLTg4TCwKKwkweDEuZWE0YWZhMmE0OTBkOTg1OGY3M2ExOHAwTCwgMHhmLjVkYjMwMWY4NmRlYTIwNjEwY2VlZTEzZWI3YjhwLTkyTCwKKwkweDEuZWNmNDgyZDhlNjdmMDhkYjAzMTJmYXAwTCwgMHgxLjk0OWNlZjQ2MjAxMGJiNGJjNGNlNzJhOTAwZGZwLTg4TCwKKwkweDEuZWZhMWJlZTYxNWEyNzc3MWZkMjFhOHAwTCwgMHgxLjJkYWMxZjZkZDVkMjI5ZmY2OGU0NmYyN2UzZGZwLTg4TCwKKwkweDEuZjI1MmIzNzZiYmE5NzRlODY5NmZjMnAwTCwgMHgxLjYzOTBkNGM2YWQ1NDc2YjUxNjJmNDBlMWQ5YTlwLTg4TCwKKwkweDEuZjUwNzY1YjZlNDU0MDY3NGY4NGI3NnAwTCwgMHgyLjg2MmJhZmY5OTAwMGRmYzQzNTJiYTI5Yjg5MDhwLTkyTCwKKwkweDEuZjdiZmRhZDljYmUxMzg5MTNiNGJmZXAwTCwgMHg3LjJiZDk1YzVjZTcyODBmYTRkMjM0NGEzZjU2MThwLTkyTCwKKwkweDEuZmE3YzE4MTllOTBkODJlOTBhN2U3NHAwTCwgMHhiLjI2M2MxZGMwNjBjMzZmNzY1MGI0YzBmMjMzYThwLTkyTCwKKwkweDEuZmQzYzIyYjhmNzFmMTA5NzViYTRiMnAwTCwgMHgxLjJiY2YzYTVlMTJkMjY5ZDhhZDdjMWE0YTg4NzVwLTg4TAorfTsKKworLyoKKyAqIEtlcm5lbCBmb3IgZXhwbCh4KS4gIHggbXVzdCBiZSBmaW5pdGUgYW5kIG5vdCB0aW55IG9yIGh1Z2UuCisgKiAidGlueSIgaXMgYW55dGhpbmcgdGhhdCB3b3VsZCBtYWtlIHVzIHVuZGVyZmxvdyAofEE2KnheNnwgPCB+TERCTF9NSU4pLgorICogImh1Z2UiIGlzIGFueXRoaW5nIHRoYXQgd291bGQgbWFrZSBmbipMMSBpbmV4YWN0ICh8eHwgPiB+MioqMTcqbG4yKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkCitfX2tfZXhwbChsb25nIGRvdWJsZSB4LCBsb25nIGRvdWJsZSAqaGlwLCBsb25nIGRvdWJsZSAqbG9wLCBpbnQgKmtwKQoreworCWxvbmcgZG91YmxlIHEsIHIsIHIxLCB0OworCWRvdWJsZSBkciwgZm4sIHIyOworCWludCBuLCBuMjsKKworCS8qIFJlZHVjZSB4IHRvIChrKmxuMiArIGVuZHBvaW50W24yXSArIHIxICsgcjIpLiAqLworCS8qIFVzZSBhIHNwZWNpYWxpemVkIHJpbnQoKSB0byBnZXQgZm4uICBBc3N1bWUgcm91bmQtdG8tbmVhcmVzdC4gKi8KKwkvKiBYWFggYXNzdW1lIG5vIGV4dHJhIHByZWNpc2lvbiBmb3IgdGhlIGFkZGl0aW9ucywgYXMgZm9yIHRyaWcgZm5zLiAqLworCS8qIFhYWCB0aGlzIHNldCBvZiBjb21tZW50cyBpcyBub3cgcXVhZHJ1cGxpY2F0ZWQuICovCisJLyogWFhYIGJ1dCBzZWUgLi4vc3JjL2VfZXhwLmMgZm9yIGEgZml4IHVzaW5nIGRvdWJsZV90LiAqLworCWZuID0gKGRvdWJsZSl4ICogSU5WX0wgKyAweDEuOHA1MiAtIDB4MS44cDUyOworI2lmIGRlZmluZWQoSEFWRV9FRkZJQ0lFTlRfSVJJTlQpCisJbiA9IGlyaW50KGZuKTsKKyNlbHNlCisJbiA9IChpbnQpZm47CisjZW5kaWYKKwluMiA9ICh1bnNpZ25lZCluICUgSU5URVJWQUxTOworCS8qIERlcGVuZCBvbiB0aGUgc2lnbiBiaXQgYmVpbmcgcHJvcGFnYXRlZDogKi8KKwkqa3AgPSBuID4+IExPRzJfSU5URVJWQUxTOworCXIxID0geCAtIGZuICogTDE7CisJcjIgPSBmbiAqIC1MMjsKKwlyID0gcjEgKyByMjsKKworCS8qIEV2YWx1YXRlIGV4cGwoZW5kcG9pbnRbbjJdICsgcjEgKyByMikgPSB0YmxbbjJdICogZXhwbChyMSArIHIyKS4gKi8KKwlkciA9IHI7CisJcSA9IHIyICsgciAqIHIgKiAoQTIgKyByICogKEEzICsgciAqIChBNCArIHIgKiAoQTUgKyByICogKEE2ICsKKwkgICAgZHIgKiAoQTcgKyBkciAqIChBOCArIGRyICogKEE5ICsgZHIgKiBBMTApKSkpKSkpKTsKKwl0ID0gdGJsW24yXS5sbyArIHRibFtuMl0uaGk7CisJKmhpcCA9IHRibFtuMl0uaGk7CisJKmxvcCA9IHRibFtuMl0ubG8gKyB0ICogKHEgKyByMSk7Cit9CisKKy8qCisgKiBYWFg6IHRoZSByZXN0IG9mIHRoZSBmdW5jdGlvbnMgYXJlIGlkZW50aWNhbCBmb3IgbGQ4MCBhbmQgbGQxMjguCisgKiBIb3dldmVyLCB3ZSBzaG91bGQgdXNlIHNjYWxibmwoKSBmb3IgbGQxMjgsIHNpbmNlIGxvbmcgZG91YmxlCisgKiBtdWx0aXBsaWNhdGlvbiBpcyB2ZXJ5IHNsb3cgb24gdGhlIG9ubHkgc3VwcG9ydGVkIGxkMTI4IGFyY2ggKHNwYXJjNjQpLgorICovCisKK3N0YXRpYyBpbmxpbmUgdm9pZAora19oZXhwbChsb25nIGRvdWJsZSB4LCBsb25nIGRvdWJsZSAqaGlwLCBsb25nIGRvdWJsZSAqbG9wKQoreworCWZsb2F0IHR3b3BrbTE7CisJaW50IGs7CisKKwlfX2tfZXhwbCh4LCBoaXAsIGxvcCwgJmspOworCVNFVF9GTE9BVF9XT1JEKHR3b3BrbTEsIDB4M2Y4MDAwMDAgKyAoKGsgLSAxKSA8PCAyMykpOworCSpoaXAgKj0gdHdvcGttMTsKKwkqbG9wICo9IHR3b3BrbTE7Cit9CisKK3N0YXRpYyBpbmxpbmUgbG9uZyBkb3VibGUKK2hleHBsKGxvbmcgZG91YmxlIHgpCit7CisJbG9uZyBkb3VibGUgaGksIGxvLCB0d29wa20yOworCWludCBrOworCisJdHdvcGttMiA9IDE7CisJX19rX2V4cGwoeCwgJmhpLCAmbG8sICZrKTsKKwlTRVRfTERCTF9FWFBTSUdOKHR3b3BrbTIsIEJJQVMgKyBrIC0gMik7CisJcmV0dXJuIChsbyArIGhpKSAqIDIgKiB0d29wa20yOworfQorCisjaWZkZWYgX0NPTVBMRVhfSAorLyoKKyAqIFNlZSAuLi9zcmMva19leHAuYyBmb3IgZGV0YWlscy4KKyAqLworc3RhdGljIGlubGluZSBsb25nIGRvdWJsZSBjb21wbGV4CitfX2xkZXhwX2NleHBsKGxvbmcgZG91YmxlIGNvbXBsZXggeiwgaW50IGV4cHQpCit7CisJbG9uZyBkb3VibGUgZXhwX3gsIGhpLCBsbzsKKwlsb25nIGRvdWJsZSB4LCB5LCBzY2FsZTEsIHNjYWxlMjsKKwlpbnQgaGFsZl9leHB0LCBrOworCisJeCA9IGNyZWFsbCh6KTsKKwl5ID0gY2ltYWdsKHopOworCV9fa19leHBsKHgsICZoaSwgJmxvLCAmayk7CisKKwlleHBfeCA9IChsbyArIGhpKSAqIDB4MXAxNjM4MjsKKwlleHB0ICs9IGsgLSAxNjM4MjsKKworCXNjYWxlMSA9IDE7CisJaGFsZl9leHB0ID0gZXhwdCAvIDI7CisJU0VUX0xEQkxfRVhQU0lHTihzY2FsZTEsIEJJQVMgKyBoYWxmX2V4cHQpOworCXNjYWxlMiA9IDE7CisJU0VUX0xEQkxfRVhQU0lHTihzY2FsZTEsIEJJQVMgKyBleHB0IC0gaGFsZl9leHB0KTsKKworCXJldHVybiAoY3BhY2tsKGNvcyh5KSAqIGV4cF94ICogc2NhbGUxICogc2NhbGUyLAorCSAgICBzaW5sKHkpICogZXhwX3ggKiBzY2FsZTEgKiBzY2FsZTIpKTsKK30KKyNlbmRpZiAvKiBfQ09NUExFWF9IICovCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgva19zaW5sLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgva19zaW5sLmMKaW5kZXggYmQ0MTVjMC4uMDk0NzJkNiAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L2tfc2lubC5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9rX3NpbmwuYwpAQCAtNiw3ICs2LDcgQEAKICAqCiAgKiBEZXZlbG9wZWQgYXQgU3VuU29mdCwgYSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJ1c2luZXNzLgogICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcwotICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UKKyAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlIAogICogaXMgcHJlc2VydmVkLgogICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICovCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvc19lcmZsLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvc19lcmZsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI5Yzk2OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9zX2VyZmwuYwpAQCAtMCwwICsxLDMyOSBAQAorLyogQCgjKXNfZXJmLmMgNS4xIDkzLzA5LzI0ICovCisvKgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IChDKSAxOTkzIGJ5IFN1biBNaWNyb3N5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBEZXZlbG9wZWQgYXQgU3VuUHJvLCBhIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gYnVzaW5lc3MuCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzCisgKiBzb2Z0d2FyZSBpcyBmcmVlbHkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGlzIG5vdGljZQorICogaXMgcHJlc2VydmVkLgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KK19fRkJTRElEKCIkRnJlZUJTRCQiKTsKKworLyoKKyAqIFNlZSBzX2VyZi5jIGZvciBjb21wbGV0ZSBjb21tZW50cy4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gbG9uZyBkb3VibGUgYnkgU3RldmVuIEcuIEthcmdsLgorICovCisjaW5jbHVkZSA8ZmxvYXQuaD4KKworI2luY2x1ZGUgImZwbWF0aC5oIgorI2luY2x1ZGUgIm1hdGguaCIKKyNpbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIKKworLyogWFhYIFByZXZlbnQgY29tcGlsZXJzIGZyb20gZXJyb25lb3VzbHkgY29uc3RhbnQgZm9sZGluZyB0aGVzZTogKi8KK3N0YXRpYyBjb25zdCB2b2xhdGlsZSBsb25nIGRvdWJsZSB0aW55ID0gMHgxcC0xMDAwMEw7CisKK3N0YXRpYyBjb25zdCBkb3VibGUKK2hhbGY9IDAuNSwKK29uZSA9IDEsCit0d28gPSAyOworLyoKKyAqIEluIHRoZSBkb21haW4gWzAsIDIqKi00MF0sIG9ubHkgdGhlIGZpcnN0IHRlcm0gaW4gdGhlIHBvd2VyIHNlcmllcworICogZXhwYW5zaW9uIG9mIGVyZih4KSBpcyB1c2VkLiAgVGhlIG1hZ25pdHVkZSBvZiB0aGUgZmlyc3QgbmVnbGVjdGVkCisgKiB0ZXJtcyBpcyBsZXNzIHRoYW4gMioqLTEyMC4KKyAqLworc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCitlZnggID0gIDEuMjgzNzkxNjcwOTU1MTI1NzM4OTYxNTg5MDMxMjE1NDUxNjdlLTAxTCwJLyogMHhlY2JmZjZhNywgMHg0ODFkZDc4OCwgMHhiNjRkMjFhOCwgMHhlYjA2ZmMzZiAqLworZWZ4OCA9ICAxLjAyNzAzMzMzNjc2NDEwMDU5MTE2OTI3MTIyNDk3MjM2MTMzZSswMEwsCS8qIDB4ZWNiZmY2YTcsIDB4NDgxZGQ3ODgsIDB4YjY0ZDIxYTgsIDB4ZWIwNmZmM2YgKi8KKy8qCisgKiBEb21haW4gWzAsIDAuODQzNzVdLCByYW5nZSB+Wy0xLjkxOWUtMzgsIDEuOTE5ZS0zOF06CisgKiB8KGVyZih4KSAtIHgpL3ggLSBwcCh4KS9xcSh4KXwgPCAyKiotMTI1LjI5CisgKi8KK3BwMCAgPSAgMS4yODM3OTE2NzA5NTUxMjU3Mzg5NjE1ODkwMzEyMTU0NTE2N2UtMDFMLAkvKiAweDNmZmMwNmViLCAweGE4MjE0ZGI2LCAweDg4ZDcxZDQ4LCAweGE3ZjZiZmVjICovCitwcDEgID0gLTMuMTQ5MzE1NTQzOTY1Njg1NzM4MDIwNDY5MzExNTk2ODM0MDRlLTAxTCwJLyogMHhiZmZkNDI3ZCwgMHg2YWRhNzI2MywgMHg1NDdlYjA5NiwgMHg5NWYzNzQ2MyAqLworcHAyICA9IC01LjI3NTE0OTIwMjgyMTgzNDg3MTAzNTc2OTU2OTU2NzI1MzA5ZS0wMkwsCS8qIDB4YmZmYWIwMjMsIDB4ZTVhMjcxZTMsIDB4YjBlNzliMDEsIDB4MmY3YWM5NjIgKi8KK3BwMyAgPSAtMS4xMzIwMjgyODUwOTAwNTI4MTM1NTYwOTQ5NTUyMzQ1MjcxM2UtMDJMLAkvKiAweGJmZjg3MmYxLCAweDZhNTAyM2ExLCAweGUwOGIzODg0LCAweDMyNmFmMjBmICovCitwcDQgID0gLTkuMTg2MjYxNTU4NzI1MjI0NTM4NjU5OTgzOTEyMDYwNDg1MDZlLTA0TCwJLyogMHhiZmY0ZTE5ZiwgMHhlYTVmYjAyNCwgMHg0MzI0N2EzNywgMHhlNDMwYjA2YyAqLworcHA1ICA9IC03Ljg3NTE4ODYyNDA2MTc2Mjc0OTIyNTA2NDQ3MTU3Mjg0MjMwZS0wNUwsCS8qIDB4YmZmMTRhNGYsIDB4MzFhODVmZTAsIDB4N2ZmZjIyMDQsIDB4MDljNDliMzcgKi8KK3BwNiAgPSAtMy40MjM1Nzk0NDQ3MjI0MDQzNjU0ODExNTMzMTA5MDU2MDg4MWUtMDZMLAkvKiAweGJmZWNjYjgxLCAweDRiNDNjMzM2LCAweGNkMmViNmMyLCAweDkwM2YyZDg3ICovCitwcDcgID0gLTEuMzczMTc0MzI1NzM4OTA0MTI2MzQ3MTc4OTA3MjY3NDU0MjhlLTA3TCwJLyogMHhiZmU4MjZlMywgMHgwZTkxNWViNiwgMHg0MmFlZTQxNCwgMHhmN2UzNjgwNSAqLworcHA4ICA9IC0yLjcxMTE1MTcwMTEzODYxNzU1ODU1MDQ5MDA4NzMyMTEzNzI2ZS0wOUwsCS8qIDB4YmZlMjc0OWUsIDB4MmI5NGZkMDAsIDB4ZWNiNGQxNjYsIDB4MGVmYjkxZjggKi8KK3BwOSAgPSAtMy4zNzkyNTc1NjE5NjU1NTk1OTQ1NDAxODE4OTcxODExNzg2NGUtMTFMLAkvKiAweGJmZGMyOTNlLCAweDFkOTA2MGNiLCAweGQwNDMyMDRhLCAweDMxNGNkN2YwICovCitxcTEgID0gIDQuNzY2NzI2MjU0NzE1NTExNzA0ODk5Nzg1NTUxODI0NDk0NTBlLTAxTCwJLyogMHgzZmZkZTgxYywgMHhkZTY1MzFmMCwgMHg3NjgwM2JlZSwgMHg1MjZlMjllOSAqLworcXEyICA9ICAxLjA2NzEzMTQ0NjcyMjgxNTAyMDU4ODA3NTI1ODUwNzMyMjQwZS0wMUwsCS8qIDB4M2ZmYmI1MTgsIDB4ZDdhNmJiNzQsIDB4Y2Q5YmRkMzMsIDB4NzYwMWVlZTUgKi8KK3FxMyAgPSAgMS40Nzc0NzYxMzEyNzUxMzc2MTEwMjE4OTIwMTkyMzE0NzQ5MGUtMDJMLAkvKiAweDNmZjhlNDIzLCAweGFlNTI3ZTE4LCAweGYxMmNiNDQ3LCAweDcyM2I0NzQ5ICovCitxcTQgID0gIDEuMzk5MzkzNzc2NzIwMjg2NzE4OTExNDg3NzA5MDg4NzQ4MTZlLTAzTCwJLyogMHgzZmY1NmVkNywgMHhiYTA1NWQ4NCwgMHhjMjFiNDVjNCwgMHgzODhkMTgxMiAqLworcXE1ICA9ICA5LjQ0MzAyOTM5MzU5NDU1MjQxMjcxOTgzMzA5Mzc4NzM4Mjc2ZS0wNUwsCS8qIDB4M2ZmMThjMTEsIDB4YzE4Yzk5YTQsIDB4ODZkMGZlMDksIDB4NDYzODdiNGMgKi8KK3FxNiAgPSAgNC41NjE5OTM0MjMxMjUyMjg0MjE2MTMwMTY3MTc0NTM2NTY1MGUtMDZMLAkvKiAweDNmZWQzMjI2LCAweDczNDIxZDA1LCAweDA4ODc1MzAwLCAweDMyZmExNDMyICovCitxcTcgID0gIDEuNTMwMTkyNjA0ODM3NjQ3NzM4NDUyOTQ2MDAwOTIzNjExOTdlLTA3TCwJLyogMHgzZmU4NDg5YiwgMHgzYTYzZjYyNywgMHgyYjlhZDJjZSwgMHgyNjUxNmU1NyAqLworcXE4ICA9ICAzLjI1NTQyNjkxMTIxMzI0ODA1MDk0Nzc3OTAxMjUwMDA1NTA4ZS0wOUwsCS8qIDB4M2ZlMmJmNmMsIDB4MjZkOTNhMjksIDB4OTE0MmJlN2MsIDB4OWYxZGQwNDMgKi8KK3FxOSAgPSAgMy4zNzQwNTU4MTk2NDQ3ODA2MDQzNDQxMDE2NzI2MjY4NDk3OWUtMTFMOwkvKiAweDNmZGMyOGM4LCAweGZiOGZhMWJlLCAweDEwZTU3ZWVjLCAweGFhMTllNDlmICovCisKK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQorZXJ4ICA9ICA4LjQyNzAwNzkyOTQ5NzE0ODk0MTQyMjMyNDI0MjAxMjEwOTYxZS0wMUwsCS8qIDB4M2ZmZWFmNzYsIDB4N2E3NDEwODgsIDB4YjAwMDAwMDAsIDB4MDAwMDAwMDAgKi8KKy8qCisgKiBEb21haW4gWzAuODQzNzUsIDEuMjVdLCByYW5nZSB+Wy0yLjUyMWUtMzYsIDIuNTIzZS0zNl06CisgKiB8KGVyZih4KSAtIGVyeCkgLSBwYSh4KS9xYSh4KXwgPCAyKiotMTIwLjE1CisgKi8KK3BhMCAgPSAtMi40ODAxMDExNzg5MTE4NjAxNzAyNDQzODIzMzMyMzc5NTg5N2UtMTdMLAkvKiAweGJmYzdjOTdmLCAweDc3ODEyMjc5LCAweDZjODc3ZjIyLCAweGVmNGJmYjJlICovCitwYTEgID0gIDQuMTUxMDc0OTc0MjA1OTQ2ODA4OTQzMjc5Njk1MDQ1MjY0ODllLTAxTCwJLyogMHgzZmZkYTkxMSwgMHhmMDk2ZmJjMiwgMHg1NTY2MjAwNSwgMHgyMzM3ZmE2NCAqLworcGEyICA9IC0zLjk0MTgwNjI4MDg3MDg0ODQ2NzI0NDQ4NTE1ODUxODkyNjA5ZS0wMkwsCS8qIDB4YmZmYTQyZTksIDB4YWI1NDUyOGMsIDB4YWQ1MjlkYTEsIDB4NmVmYzJhZjMgKi8KK3BhMyAgPSAgNC40ODg5NzU5OTYyNTE5MjEwNzI5NTk1NDc5MDY4MTY3NzQ2MmUtMDJMLAkvKiAweDNmZmE2ZmJjLCAweGE2NWVkYmExLCAweDBlNGNiY2VhLCAweDczZWY5YTMxICovCitwYTQgID0gIDguMDIwNjkyNTIxNDMwMTY2MDAxMTA5NzIwMTkyMzI5OTU1MjhlLTAyTCwJLyogMHgzZmZiNDg4NywgMHgwZThiNTQ4ZSwgMHgzMjMwYjQxNywgMHgxMWI1NTNiMyAqLworcGE1ICA9IC0xLjAyNzI5ODE2NTMzNDM1Mjc5NDQzNjIxMTIwMjQyMzkxMjk1ZS0wMkwsCS8qIDB4YmZmODUwYTAsIDB4MDQxZGUzZWUsIDB4ZDViY2E2YzksIDB4NGVmNWY5ZjIgKi8KK3BhNiAgPSAgNS43MDc3NzY5NDUzMDc1NTYzNDg2NDgyMTA5NDQxOTk4MjA5NWUtMDNMLAkvKiAweDNmZjc3NjEwLCAweDliNTAxZTEwLCAweDRjOTc4MzgyLCAweDc0MmRmNjhmICovCitwYTcgID0gIDEuMjI2MzUxNTAyMzMwNzU1MjEwMTgyMzE3NzkyNjcwNzcwNzFlLTAzTCwJLyogMHgzZmY1NDE3YiwgMHgwZTYyMzY4MiwgMHg2MDMyN2RhMCwgMHg5NmI5MjE5ZSAqLworcGE4ICA9ICA1LjM2MTAwMjM0ODIwMjA0NTY5NDI4NDEyNTQyODU2NjY2NTAzZS0wNEwsCS8qIDB4M2ZmNDE5MTIsIDB4MjdjZWI0YzEsIDB4MWQzMjk4ZWMsIDB4ODRjZWQ2MjcgKi8KK3BhOSAgPSAtMS45Nzc1MzU3MTg0NjM2NTE2NzE3NzE4Nzg1ODY2NzU4MzE2NWUtMDRMLAkvKiAweGJmZjI5ZWI4LCAweDIzZjViY2YzLCAweDE1YzgzYzQ2LCAweGU0ZmRhOThiICovCitwYTEwID0gIDYuMTkzMzMwMzk5MDA4NDY5NzA2NzQ3OTQ3ODk1Njg0MTUxMDVlLTA1TCwJLyogMHgzZmYxMDNjNCwgMHg2MGY4OGU0NiwgMHhjMGM5ZmIwMiwgMHgxM2NjN2ZjMSAqLworcGExMSA9IC01LjQwNTMxNDAwNDM2NjQ1ODYxNDkyMjkwMjcwMzExNzUxMzQ5ZS0wNkwsCS8qIDB4YmZlZDZhYmUsIDB4OTY2NWY4YTgsIDB4ZGQwYWQzYmEsIDB4ZTVkYzBlZTMgKi8KK3FhMSAgPSAgOS4wNTA0MTMxMzI2NTQ5MDQ4Nzc5MzIzMTgxMDI5MTkwNzg1MWUtMDFMLAkvKiAweDNmZmVjZjYxLCAweDkzMzQwMjIyLCAweGU5OTMwNjIwLCAweGM0ZTYxMTY4ICovCitxYTIgID0gIDYuNzk4NDgwNjQ3MDg4ODY4NjQ3NjcyNDA4ODA4MzQ4NjgwOTJlLTAxTCwJLyogMHgzZmZlNWMxNSwgMHgwYmE4NThkYywgMHhmNzkwMGFlOSwgMHhmZWExZTA5YSAqLworcWEzICA9ICA0LjA0NzIwNjA5OTI2NDcxNjc3NTgxMDY2Njg5MzE2NTE2NDQ1ZS0wMUwsCS8qIDB4M2ZmZDllNmYsIDB4MTQ1ZTliMDAsIDB4NmQ4YzE3NDksIDB4ZDI5Mjg2MjMgKi8KK3FhNCAgPSAgMS42OTE4MzI3Mzg5ODM2OTk5NjM2NDY2MTA3NTY2NDMwMjIyNWUtMDFMLAkvKiAweDNmZmM1YTdjLCAweGMyYTM2M2MxLCAweGQ2YzE5MDk3LCAweGVmOWI0MDYzICovCitxYTUgID0gIDcuNDQ0NzYxODU5ODgwNjc5OTIzNDI0Nzk3NTA0ODY3NjQyNDhlLTAyTCwJLyogMHgzZmZiMzBlZiwgMHhmYzcyNTllZiwgMHgxYmNiYjA4OSwgMHg2ODZkZDYyZCAqLworcWE2ICA9ICAyLjAyOTgxMTcyNzI1ODkyNDA3MjAwNDIwMzg5NjA0Nzg4NTczZS0wMkwsCS8qIDB4M2ZmOTRjOTAsIDB4Nzk3NmNiMGUsIDB4MjFlMWQzNmIsIDB4MGYwOWNhMmIgKi8KK3FhNyAgPSAgNi45NDI4MTg2NjI3MTYwNzY2ODI2ODI2OTQwMzEwMjI3NzIzNGUtMDNMLAkvKiAweDNmZjdjNzAxLCAweDJiMTkzMjUwLCAweGM1ZDQ2ZWNjLCAweDM3NDg0M2Q4ICovCitxYTggID0gIDEuMTI5NTIyNzU0NjkxNzE1NTk2MTE2NTE1OTQ3MDY4MjAwMzRlLTAzTCwJLyogMHgzZmY1MjgxOCwgMHhmZDJhN2MwNiwgMHhkMTNlMzhmZCwgMHhkYTRiMzRmNSAqLworcWE5ICA9ICAzLjEzNzM2NjgzMjQxOTkyNzM3MTk3MjI2NTc4NTk3NzEwMTc5ZS0wNEwsCS8qIDB4M2ZmMzQ4ZmEsIDB4MGNiNDhkMTgsIDB4MDUxZjg0OWIsIDB4MTM1Y2NmNzQgKi8KK3FhMTAgPSAgMS4xNzAzNzY3NTIwNDAzMzIyNTQ3MDEyMTEzNDA4Nzc3MTQxMGUtMDVMLAkvKiAweDNmZWU4OGI2LCAweDk4ZjQ3NzA0LCAweGE1ZDhmOGYyLCAweGM2NDIyZTExICovCitxYTExID0gIDQuNjEzMTI1MTgyOTM4NTM5OTE0MzkzNjI4MDY4ODA5NzM1OTJlLTA2TCwJLyogMHgzZmVkMzU5NCwgMHhlMzFkYjk0ZiwgMHgzNTkyYjY5MywgMHhlZDQzODZiNCAqLworcWExMiA9IC0xLjAyMTU4NTcyMDM3NDU2ODkzNjg3NzM3NTUzNjU3NDMxNzcxZS0wNkw7CS8qIDB4YmZlYjEyM2EsIDB4ZDYwZDliMWUsIDB4MWY2ZmRlYjksIDB4N2RjODQxMGEgKi8KKy8qCisgKiBEb21haW4gWzEuMjUsMi44NTcxNV0sIHJhbmdlIH5bLTIuOTIyZS0zNywyLjkyMmUtMzddOgorICogfGxvZyh4KmVyZmMoeCkpICsgeCoqMiArIDAuNTYyNSAtIHJhKHgpL3NhKHgpfCA8IDIqKi0xMjEuMzYKKyAqLworc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCityYTAgID0gLTkuODY0OTQyOTI0NzAwNjkwMDk1NTU3MDY5OTQ0MjYwMTQ0NjFlLTAzTCwJLyogMHhiZmY4NDM0MSwgMHgyMzllODcwOSwgMHhlOTQxYjA2YSwgMHhjYjRiNmVjNSAqLworcmExICA9IC0xLjEzNTgwNDM2OTkyNTY1NjQwNDU3NTc5MDQwMTE3NTY4ODcwZSswMEwsCS8qIDB4YmZmZjIyYzQsIDB4MTMzZjdjMGQsIDB4NzJkNWUyMzEsIDB4MmViMWVlM2YgKi8KK3JhMiAgPSAtNC44OTc0NDMzMDI5NTI5MTk1MDY2MTE4NTcwNzA2NjkyMTc1NWUrMDFMLAkvKiAweGMwMDQ4N2NiLCAweGEzOGI0ZmMyLCAweGMxMzY2OTViLCAweGMxZGY4MDQ3ICovCityYTMgID0gLTEuMTA3NjYxNDkzMDAyMTU5MzcxNzM3NjgwNzI3MTUzNTIxNDBlKzAzTCwJLyogMHhjMDA5MTRlYSwgMHg1NWU2YmViMywgMHhhYmM1MGUwNywgMHhiNmU1NjY0ZCAqLworcmE0ICA9IC0xLjQ5OTkxMDMxMjMyMTcwOTM0OTY3NjQyNzk1NjAxOTUyMTAwZSswNEwsCS8qIDB4YzAwY2Q0YjgsIDB4ZDMzMjQzZTYsIDB4ZmZiZjY1NDUsIDB4M2M1N2VmNmUgKi8KK3JhNSAgPSAtMS4yOTgwNTc0OTczODMxODQ2Mjg4MjUyNDE4MTU1Njk5NjY5MmUrMDVMLAkvKiAweGMwMGZmYjBkLCAweGJmZWVkOWI2LCAweDViMmEzZmY0LCAweGUyNDViZDNjICovCityYTYgID0gLTcuNDI4Mjg0OTcwNDQ5NDAwNjU4Mjg4NzE5NzY2NDQ2NDc4NTBlKzA1TCwJLyogMHhjMDEyNmFiNSwgMHg4ZmU3Y2FjYSwgMHg0NzMzNTJkOSwgMHhjZDRlMGM5MCAqLworcmE3ICA9IC0yLjg1NjM3Mjk5NTgxODkwNzM0Mjg3OTk1MTcxMjQyNDIxMTA2ZSswNkwsCS8qIDB4YzAxNDVjYWQsIDB4YTdmNzZmZTcsIDB4M2UzNTgwNTEsIDB4MTc5OWY5MjcgKi8KK3JhOCAgPSAtNy40MDY3NDc5NzEyOTgyNDk5OTM4Mzc0ODg2NTU3MTAyNjA4NGUrMDZMLAkvKiAweGMwMTVjNDEyLCAweDZmZTI5YzAyLCAweDI5OGFkMTU4LCAweDdkMjRlNDVjICovCityYTkgID0gLTEuMjg2NTM0MjA5MTE5MzA5NzM5MTQwNzg3MjQyMDQxNTE3NTllKzA3TCwJLyogMHhjMDE2ODg5ZSwgMHg3YzJlYjBkYywgMHg5NWQ1ODYzYiwgMHgwYWEzNGRjMyAqLworcmExMCA9IC0xLjQ3MTk4MTYzNTk5MzMwMTc5NTUyOTMyNDg5MTA5NDUyNjM4ZSswN0wsCS8qIDB4YzAxNmMxMzYsIDB4OTBiODQ5MjMsIDB4ZjliY2I0OTcsIDB4MTliYmQwZjUgKi8KK3JhMTEgPSAtMS4wNzgxMjk5MjI1ODM4MjgwMDMxODY2NTI0ODMxMTUyMjYyNGUrMDdMLAkvKiAweGMwMTY0OTA0LCAweGU2NzNhMTEzLCAweDM1ZDdmMDc5LCAweGUxMzcwMWYzICovCityYTEyID0gLTQuODM1NDU1NjU2ODE3MDg2NDI2MzA0MTk5MDU1Mzc3NTYwNzZlKzA2TCwJLyogMHhjMDE1MjcyMSwgMHhmZWEwOTRhOCwgMHg4NjllYjM5ZCwgMHg0MTNkNmYxMyAqLworcmExMyA9IC0xLjIzOTU2NTIxMjAxNjczOTY0ODIyOTc2OTE3MzU2Njg1Mjg2ZSswNkwsCS8qIDB4YzAxMzJlYTAsIDB4ZDM2NDZiYWEsIDB4MmZlNjJiMGQsIDB4YmFlNWNlODUgKi8KK3JhMTQgPSAtMS42MjI4OTMzMzU1MzY1MjQxNzU5MTI3NTMzMzI0MDM3MTgxMmUrMDVMLAkvKiAweGMwMTAzY2Y4LCAweGFhYjFlMmQ2LCAweDRjMjVlMDE0LCAweDI0OGQ3NmFiICovCityYTE1ID0gLTguODI4OTAzOTI2MDExNzY5Njk3MjkxNjg4OTQzODk4MzMxMTBlKzAzTCwJLyogMHhjMDBjMTNlNywgMHgzYjNkOGY5NCwgMHg2ZmJkYTZmNiwgMHhlNzA0OWE4MiAqLworcmExNiA9IC0xLjIyNTkxODY2MzM3MjYxNzIwMDIzNjgxNTM1NTY4MzM0NjE5ZSswMkwsCS8qIDB4YzAwNWVhNWUsIDB4MTIzNTg4OTEsIDB4Y2ZhNzEyYzUsIDB4NzdmMDUwZDQgKi8KK3NhMSAgPSAgNi40NDUwODkxODg4NDcxMDgyOTM3MTg1MjcyMzM1Mzc5NDA0N2UrMDFMLAkvKiAweDQwMDUwMWNkLCAweGI2OWE2YzBmLCAweDU3MTZkZTE0LCAweDQ3MTYxYWY2ICovCitzYTIgID0gIDEuNzYxMTg0NzU0NzMxNzE0ODE1MjM3MDQ4MjQzMjczNTg1MzRlKzAzTCwJLyogMHg0MDA5Yjg0YiwgMHhkMzA1ODI5ZiwgMHhjNGM3NzFiMCwgMHhiZjFmN2Y5YiAqLworc2EzICA9ICAyLjY5NDQ4MzQ2OTY5NDg4Mzc0ODU3MDg3NjQ2MTMxOTUwMTg4ZSswNEwsCS8qIDB4NDAwZGE1MDMsIDB4NTZiYWNjMDUsIDB4NGZkYmE2OGQsIDB4MmNjYTI3ZTYgKi8KK3NhNCAgPSAgMi41NjgyNjYzMzM2OTk0MTQ1Njc3ODMyNjQ5NzM4NDU0Mzc2M2UrMDVMLAkvKiAweDQwMTBmNTlkLCAweDUxMTI0NDI4LCAweDY5YzQxZGU2LCAweGJkMGQ1NzUzICovCitzYTUgID0gIDEuNjA2NDc0MTMwOTIyNTcyMDY4NDc3MDAwNTQ2NDU5MDU4NTllKzA2TCwJLyogMHg0MDEzODgzNCwgMHhhMjE4NDI0NCwgMHg1NTdhMWJlZCwgMHg2OGM5ZDU1NiAqLworc2E2ICA9ICA2Ljc2OTYzMDc1MTY1MDk5NzE4NTc0NzUzNDQ3MTIyMzkzNzk3ZSswNkwsCS8qIDB4NDAxNTlkMmYsIDB4N2IwMWIwY2MsIDB4OGJhYzllOTUsIDB4NWQzNWQ1NmUgKi8KK3NhNyAgPSAgMS45NDI5NTY5MDkwNTM2MTg4NDI5MDk4NjkzMjQ5MzY0Nzc0MWUrMDdMLAkvKiAweDQwMTcyODc4LCAweGMxMTcyZDYxLCAweDMwNjg1MDFlLCAweDJmM2M3MWRhICovCitzYTggID0gIDMuNzk3NzQ3ODEwMTc3NTkxNDkwNjA4MzkyNTU1NDcwNzM1NDFlKzA3TCwJLyogMHg0MDE4MjFiZSwgMHhjMzBkMDZmZSwgMHg0MTA1NjNkNywgMHgwMzIxMTFmZCAqLworc2E5ICA9ICA1LjAwNjU5ODMxODQ2MDI5NDg0MjQ4MzAyMjM2NDU3NzI3Mzk3ZSswN0wsCS8qIDB4NDAxODdkZjksIDB4MWY5N2ExMTEsIDB4YzUxZDZhYzIsIDB4NGIzODk3OTMgKi8KK3NhMTAgPSAgNC4zNjQ4NjI4NzYyMDUwNjQ4NDI3NjEzMDUyNTk0MTk3MjU0MWUrMDdMLAkvKiAweDQwMTg0ZDAzLCAweDNhNjE4YWUwLCAweDJhNzIzMzU3LCAweGZhNDVjNjBhICovCitzYTExID0gIDIuNDM3Nzk2Nzg3OTEzMzM4OTQyNTU1MTA1MDgyNTM5NTE5MzRlKzA3TCwJLyogMHg0MDE3NzNmYSwgMHg2ZmUxMGVlMiwgMHhjNDY3ODUwZCwgMHhjNmI3ZmYzMCAqLworc2ExMiA9ICA4LjMwNzMyMzYwMzg0NDQzMjAyMDM5MzcyMzcyMjEyOTY2NTQyZSswNkwsCS8qIDB4NDAxNWZiMDksIDB4ZWU2YTU2MzEsIDB4ZGQ5OGRlN2UsIDB4OGIwMDQ2MWEgKi8KK3NhMTMgPSAgMS42MDE2MDg0Njk0MjA1MDUxNTczNDE5MjM5NzQ5NTEwNTY5M2UrMDZMLAkvKiAweDQwMTM4NzA0LCAweDg3ODJiZjEzLCAweDViOGZiMzE1LCAweGE4OThhYmU1ICovCitzYTE0ID0gIDEuNTQyNTU1MDUyNDI1MzMyOTEwMTQ1NTUxNTM3NTcwMDE4MjVlKzA1TCwJLyogMHg0MDEwMmQ0NywgMHhjMGFiYzk4ZSwgMHg4NDNjOTQ5MCwgMHhiNDM1MjQ0MCAqLworc2ExNSA9ICA1Ljg3OTQ5MjIwMDAyMzc1NTQ3NTYxNDY3Mjc1NDkzODg4ODI0ZSswM0wsCS8qIDB4NDAwYjZmNzcsIDB4ZTAwZDIxZDEsIDB4ZWM0ZDQxZTgsIDB4MmY4ZTE2NzMgKi8KK3NhMTYgPSAgNC45NzI3Mjk3NjM0Njc5MzE5Mzg2MDM4NTk4MzM3MjIzNzcxMGUrMDFMOwkvKiAweDQwMDQ4ZGQxLCAweDgxNmMxYjNmLCAweDI0ZjU0MGE2LCAweDRjZmUwM2NjICovCisvKgorICogRG9tYWluIFsyLjg1NzE1LDldLCByYW5nZSB+Wy03Ljg4NmUtMzcsNy45MThlLTM3XToKKyAqIHxsb2coeCplcmZjKHgpKSArIHgqKjIgKyAwLjU2MjUgLSByYih4KS9zYih4KXwgPCAyKiotMTIwCisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQorcmIwICA9IC05Ljg2NDk0MjkyNDcwMDA4NzA3MTcxMzcxOTk0NDc5MTYyMzY5ZS0zTCwgLyogMHhiZmY4NDM0MSwgMHgyMzllODZmNCwgMHgyZjU3ZTU2MSwgMHhmNDQ2OTM2MCAqLworcmIxICA9IC0xLjU3MDQ3MzI2NjI0MTEwNzI3OTg2MzI2NTAzNzI5NDQyODMwTCwgICAgLyogMHhiZmZmOTIwYSwgMHg4OTM1YmY3MywgMHg4ODAzYjg5NCwgMHg0NjU2NDgyZCAqLworcmIyICA9IC0xLjAzMjI4MTk2MzY0ODg1NDc0MzQyMTMyMjU1NDQwMzE3MDY1ZTJMLCAgLyogMHhjMDA1OWNlOSwgMHhhYzRlZDBmZiwgMHgyY2ZmMGZmNywgMHg1ZTcwZDFhYiAqLworcmIzICA9IC0zLjc0MDAwNTcwNjUzNDE4MjI3MTc5MzU4NzEwODY1MjI0Mzc2ZTNMLCAgLyogMHhjMDBhZDM4MCwgMHgyZWJmNzgzNSwgMHhmNmIwN2VkMiwgMHg4NjEyNDJmNyAqLworcmI0ICA9IC04LjM1NDM1NDc3NzM5MDk4MDQ0MTkwODYwMzkwNjMyODEzOTU2ZTRMLCAgLyogMHhjMDBmNDY1NywgMHg4YzNhZTkzNCwgMHgzNjQ3ZDdiMywgMHg4MGU3NmZiNyAqLworcmI1ICA9IC0xLjIxMzk4NjcyMDU1MjIzNjQyMTE4NzE2NjQwMjE2NzQ3MTUyZTZMLCAgLyogMHhjMDEzMjg2MiwgMHgyYjg3NjFjOCwgMHgyN2QxOGMwZiwgMHgxMzdjOTQ2MyAqLworcmI2ICA9IC0xLjE3NjY5MTc1ODc3MjQ4Nzk2MTAxNjY1MzQ0ODczMjczOTcwZTdMLCAgLyogMHhjMDE2NjcxOSwgMHgwYjJjZWE0NiwgMHg4MWYxNDE3NCwgMHgxMTYwMmVhNSAqLworcmI3ICA9IC03LjY2MTA4MDA2MDg2OTk4MjUzNjA2NzczMDY0MjY0NTk5NjE1ZTdMLCAgLyogMHhjMDE5MjQzZiwgMHgzYzI2ZjRmMCwgMHgxY2MwNTI0MSwgMHgzYjk1MzcyOCAqLworcmI4ICA9IC0zLjMyNTQ3MTE3NTU4MTQxODQ1OTY4NzA0NzI1MzUzMTMwODA0ZThMLCAgLyogMHhjMDFiM2QyNCwgMHg0MmQ4ZWUyNiwgMHgyNGVmNmYzYiwgMHg2MDRhOGM2NSAqLworcmI5ICA9IC05LjQxNTYxMjUyNDI2MzUwNjk2ODAyMTY3NzExMjIxNzM5NzQ2ZThMLCAgLyogMHhjMDFjYzBmOCwgMHhhZDIzNjkyYSwgMHg4ZGRiMjMxMCwgMHhlOTkzNzE0NSAqLworcmIxMCA9IC0xLjY3MTU3MTEwODA1MzkwOTQ0NTQ5NDI3MzI5NjI2MjgxMDYzZTlMLCAgLyogMHhjMDFkOGU4OCwgMHg5YTkwMzczNCwgMHgwOWE1NWZhMywgMHhkMjA1YzkwMyAqLworcmIxMSA9IC0xLjc0MzM5NjMxMDA0NDEwODQxMzM3NjQ1OTMxNDIxNDI3MzczZTlMLCAgLyogMHhjMDFkOWZhOCwgMHg3NzU4MmQyYSwgMHhjMTgzYjhhYiwgMHg3ZTAwY2IwNSAqLworcmIxMiA9IC05LjU3NjU1MjMzNTk2OTM0OTE1NzI3NTczMTQxMzU3NDcxNzAzZThMLCAgLyogMHhjMDFjYzhhNSwgMHg0NjBjYzY4NSwgMHhkMDI3MWZhMCwgMHg2YTcwZTNkYSAqLworcmIxMyA9IC0yLjI2MzIwMDYyNzMxMzM5MzUzMDM1MjU0NzA0MDgyNDk1MDY2ZThMLCAgLyogMHhjMDFhYWZhYiwgMHhkN2Q3NjcyMSwgMHhjOTcyMGUxMSwgMHg2YThiZDQ4OSAqLworcmIxNCA9IC0xLjQyNzc3MzAyOTk2MjYzMjU2Njg2MDAyOTczODUxODM3MDM5ZTdMLCAgLyogMHhjMDE2YjNiOCwgMHhjNDk5Njg5ZiwgMHgyYjg4ZDk2NSwgMHhjMzI0MTRmOSAqLworc2IxICA9ICAxLjA4NTEyODY5NzA1NTk0NTQwMjExMDMzNzMzOTc2MzQ4NTA2ZTJMLCAgLyogMHg0MDA1YjIwZCwgMHgyZGI3NTI4ZCwgMHgwMGQyMGRjYiwgMHg4NThmNjE5MSAqLworc2IyICA9ICA1LjAyNzU3NzEzNzYxMzkwNDYwNTM0NDk0NTMwNTM3NTcyODM0ZTNMLCAgLyogMHg0MDBiM2EzOSwgMHgzYmY0YTY5MCwgMHgzMDI1ZDI4ZCwgMHhmZDQwYTg5MSAqLworc2IzICA9ICAxLjMxMDE5MTA3MjA1NDEyODcwMDU5MzMxNjQ3MDc4MzI4NDMwZTVMLCAgLyogMHg0MDBmZmZjYiwgMHgxYjcxZDA1ZSwgMHgzYjI4MzYxZCwgMHgyYTNjMzY5MCAqLworc2I0ICA9ICAyLjEzMDIxNTU1MTUyMjk2ODQ2MTY2NzM2NzU3NDU1MDE4MDMwZTZMLCAgLyogMHg0MDE0MDQwOSwgMHgzYzY5ODRkZiwgMHhjNDQ5MWQ3YywgMHhiMDRhYTA4ZCAqLworc2I1ICA9ICAyLjI2NjQ5MTA1MjgxODIwODYxOTUzODY4NTY4NjE5NzY4Mjg2ZTdMLCAgLyogMHg0MDE3NTlkNiwgMHhjZTg3MzZmMCwgMHhmMjhhZDAzNywgMHgyYTkwMWUwYyAqLworc2I2ICA9ICAxLjYxMDcxOTM5NDkwODc1OTIxODEyMzE4Njg0MTQzMDc2MDgxZThMLCAgLyogMHg0MDFhMzMzOCwgMHg2ODZmYjU0MSwgMHg2YmQyN2QwNiwgMHg0Zjk1YzlhYyAqLworc2I3ICA9ICA3LjY2ODk1NjczODQ0MzAxODUyNjc2MDU2NzUwNDk3OTkxOTY2ZThMLCAgLyogMHg0MDFjNmRhZiwgMHgzMWNlYzEyMSwgMHg1NDY5OTEyNiwgMHg0YmQ5YmY5ZSAqLworc2I4ICA9ICAyLjQxODg0NDUwNDM2MTAxOTM2NDM2MDIzMDU4MTk2MDQyNTI2ZTlMLCAgLyogMHg0MDFlMjA1OSwgMHg0NmIwYjhkNywgMHg4N2I2NGNiZiwgMHg3OGJjMjk2ZCAqLworc2I5ICA9ICA0LjkyNDAzMDU1ODg0MDcxNjk1MDkzMzA1MjkxNTM1MTA3NjY2ZTlMLCAgLyogMHg0MDFmMjU3ZSwgMHhiZTVlZDczOSwgMHgzOWUxNzM0NiwgMHhjYWRkMmU1NSAqLworc2IxMCA9ICA2LjE4NjI3Nzg2MzY1NTg3NDg2NDU5NjMzNjE1NTczNzg2NDE2ZTlMLCAgLyogMHg0MDFmNzBiYiwgMHgxYmU3YTdlNywgMHg2YTQ1YjVhZSwgMHg2MDdjNzBmMCAqLworc2IxMSA9ICA0LjQ1ODk4MDEzNDI2NTAxMzc4MDk3NDMwMjI2MzI0NzQzMTk5ZTlMLCAgLyogMHg0MDFmMDljNiwgMHhhMzI2NDNkNywgMHhmMTcyNDYyMCwgMHg5ZWE0NmMzMiAqLworc2IxMiA9ICAxLjYzMDA2MTE1NzYzMzI5ODQ4MTE3MTYwMzQ0ODU0MjI0OTc1ZTlMLCAgLyogMHg0MDFkODRhMywgMHgwOTk2ODg3ZiwgMHg2NWE0ZjQzYiwgMHg5NzhjMWQ3NCAqLworc2IxMyA9ICAyLjM5MjE2NzE3MDEyNDIxNjk3NDQ2MzA0MDE1ODQ3NTY3NzIxZThMLCAgLyogMHg0MDFhYzg0NSwgMHgwOWEwNjVjMiwgMHgzMDA5NWRhNywgMHg5ZDcyZDZhZSAqLworc2IxNCA9ICA3Ljg0ODM3MzI5MDA5Mjc4Njk0OTM3MjUwMzU4ODEwMjI1NjA5ZTZMOyAgLyogMHg0MDE1ZGYwNiwgMHhkNTI5MGUxNSwgMHg2MzAzMWZhYywgMHg0ZDljODk0YyAqLworLyoKKyAqIERvbWFpbiBbOSwxMDhdLCByYW5nZSB+Wy01LjMyNGUtMzgsNS4zNDBlLTM4XToKKyAqIHxsb2coeCplcmZjKHgpKSArIHgqKjIgKyAwLjU2MjUgLSByKHgpL3MoeCl8IDwgMioqLTEyNAorICovCitzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUKK3JjMCAgPSAtOS44NjQ5NDI5MjQ3MDAwODcwNzE3MTM2NzU2NzY1MjkzNTY3M2UtM0wsIC8qIDB4YmZmODQzNDEsIDB4MjM5ZTg2ZjQsIDB4MmY1N2U1NWIsIDB4MWFhMTBmZDMgKi8KK3JjMSAgPSAtMS4yNjIyOTQ0Nzc0NzMxNTA5NjQwNjUxODg0NjQxMTU2MjI2NkwsICAgIC8qIDB4YmZmZjQzMjUsIDB4YmIxYWFiMjgsIDB4ZGEzOTVjZDksIDB4ZmI4NjFjMTUgKi8KK3JjMiAgPSAtNi4xMzc0MjYzNDQzODkyMjU5MTc4MDc0MjYzNzcyODY2NjE2MmUxTCwgIC8qIDB4YzAwNGVhZmUsIDB4N2RkNTFjZDgsIDB4M2M3YzU5MjgsIDB4NzUxZTUwY2YgKi8KK3JjMyAgPSAtMS41MDQ1NTgzNTQ3ODkwODI4MDQwMjkxMjg1NDMzODQyMTUxN2UzTCwgIC8qIDB4YzAwOTc4MjMsIDB4YmMxNWI5YWIsIDB4M2Q2MDc0NWMsIDB4NTIzZTgwYTUgKi8KK3JjNCAgPSAtMi4wNDQxNTYzMTg2NTg2MTU0OTkyMDE4NDAzOTkwMjk0NTY4NWU0TCwgIC8qIDB4YzAwZDNmNjYsIDB4NDBiM2ZjMDQsIDB4NTM4OGYyZWMsIDB4YjAwOWUxZjAgKi8KK3JjNSAgPSAtMS41NzYyNTY2Mjk4MTcxNDU4Mjc1MzQ5MDYxMDU2MDAzNzYzOGU1TCwgIC8qIDB4YzAxMDMzZGMsIDB4ZDRkYzk1YjYsIDB4ZmQ0ZGE5M2IsIDB4ZjM1NWI0YTkgKi8KK3JjNiAgPSAtNi43MzQ3MzQ1MTYxNjc1MjUyODQwMjkxNzUzODAzMzI4Mzc5NGU1TCwgIC8qIDB4YzAxMjQ4ZDgsIDB4MmU3M2E0ZjksIDB4Y2RlZDQ5YzUsIDB4ZmEzYmZlYjcgKi8KK3JjNyAgPSAtMS40NzQzMzE2NTQyMTM4NzQ4MzE2NzE4NjY4Mzc2NDM2NDg1N2U2TCwgIC8qIDB4YzAxMzY3ZjEsIDB4YmE3N2E4ZjcsIDB4Y2ZkZDBkYmIsIDB4MjVkNTU0YjMgKi8KK3JjOCAgPSAtMS4zODgxMTk4MTgwNzg2ODgyODU2Mzc5NDkyOTk5Nzc0NDEzOWU2TCwgIC8qIDB4YzAxMzUyZTUsIDB4N2QxNmQ5YWQsIDB4YmJkY2JmMzgsIDB4MzhmYmM1ZWEgKi8KK3JjOSAgPSAtMy41OTY1OTcwMDUzMDgzMTgyNTY0MDc2NjQ3OTY5ODE1NTA2MGU1TCwgIC8qIDB4YzAxMTVmM2EsIDB4ZWNkNTdmNDUsIDB4MjFmOGFkNmMsIDB4OTEwYTU5NTggKi8KK3NjMSAgPSAgNy43MjczMDc1MzAyMjkwODI5ODYzNzUwODk5ODA3MjYzNTY5NmUxTCwgIC8qIDB4NDAwNTM1MTcsIDB4YTEwZDUyYmMsIDB4ZGFiYjU1YjYsIDB4YmQwMzI4Y2QgKi8KK3NjMiAgPSAgMi4zNjgyNTc1NzM0MTY5NDA1MDUwMDMzMzI2MTc2OTA4MjE4MmUzTCwgIC8qIDB4NDAwYTI4MDgsIDB4M2UwYTliNDIsIDB4ODI5Nzc4NDIsIDB4OWM1ZGUyOWUgKi8KK3NjMyAgPSAgMy43MjIxMDU0MDE3MzAzNDczNTM1Mjg4ODg0NzEzNDA3MzA5OWU0TCwgIC8qIDB4NDAwZTIyY2EsIDB4MWJhODI3ZWYsIDB4YWM4MzkwZDcsIDB4MWZjMzlhNDEgKi8KK3NjNCAgPSAgMy4yNDEzNjAzMjY0NjQxODMzNjcxMjQ2MTAzMzU5MTM5MzQxMmU1TCwgIC8qIDB4NDAxMTNjOGEsIDB4MDIxNmUxMDAsIDB4YzU5ZDFlNDQsIDB4ZjBlNjhkOWQgKi8KK3NjNSAgPSAgMS41NzgzNjEzNTg1MTEzNDM5MzgwMjUwNTgyMzM3MDAwOTE3NWU2TCwgIC8qIDB4NDAxMzgxNTcsIDB4OTViYzc2NjQsIDB4MTc1NzU5NjEsIDB4ZGJlNThlZWIgKi8KK3NjNiAgPSAgNC4xMjg4MTk4MTM5MjA2MzczODAyNjY3OTA4OTcxNDE4MjM1NWU2TCwgIC8qIDB4NDAxNGY4MDEsIDB4OWU4MmU4ZDIsIDB4YjhiM2E3MGUsIDB4ZmQ4NDE4NWQgKi8KK3NjNyAgPSAgNS4yNDQzODQyNzI4OTIxMzQ4ODQxMDU5NjM5NTM2MTU0NDE0MmU2TCwgIC8qIDB4NDAxNTQwMTcsIDB4ODExNzcxMDksIDB4MmFhNmMzYjAsIDB4MWYxMDY2MjUgKi8KK3NjOCAgPSAgMi41OTkwOTU0NDU2MzYxNjEyMTczNTk2MzQyOTcxMDM4MjE0OWU2TCwgIC8qIDB4NDAxNDNkNDUsIDB4YmI5MGE5YjEsIDB4MTJiZjkzOTAsIDB4YTgyN2E3MDAgKi8KK3NjOSAgPSAgMi44MDkzMDY2NTE2OTI4MjUwMTYzOTY1MTk5NTA4MjMzNTY5M2U1TDsgIC8qIDB4NDAxMTEyNTgsIDB4YWE5MjIyMmUsIDB4YTk3ZTMyMTYsIDB4YTIzN2ZhNmMgKi8KKworbG9uZyBkb3VibGUKK2VyZmwobG9uZyBkb3VibGUgeCkKK3sKKwlsb25nIGRvdWJsZSBheCxSLFMsUCxRLHMseSx6LHI7CisJdWludDY0X3QgbHgsIGxseDsKKwlpbnQzMl90IGk7CisJdWludDE2X3QgaHg7CisKKwlFWFRSQUNUX0xEQkwxMjhfV09SRFMoaHgsIGx4LCBsbHgsIHgpOworCisJaWYoKGh4ICYgMHg3ZmZmKSA9PSAweDdmZmYpIHsJLyogZXJmbChuYW4pPW5hbiAqLworCQlpID0gKGh4Pj4xNSk8PDE7CisJCXJldHVybiAoMS1pKStvbmUveDsJLyogZXJmbCgrLWluZik9Ky0xICovCisJfQorCisJYXggPSBmYWJzbCh4KTsKKwlpZihheCA8IDAuODQzNzUpIHsKKwkgICAgaWYoYXggPCAweDFwLTQwTCkgeworCSAgICAgICAgaWYoYXggPCAweDFwLTE2MzczTCkJCisJCSAgICByZXR1cm4gKDgqeCtlZng4KngpLzg7CS8qIGF2b2lkIHNwdXJpb3VzIHVuZGVyZmxvdyAqLworCQlyZXR1cm4geCArIGVmeCp4OworCSAgICB9CisJICAgIHogPSB4Kng7CisJICAgIHIgPSBwcDAreioocHAxK3oqKHBwMit6KihwcDMreioocHA0K3oqKHBwNSt6KihwcDYreioocHA3KworCQl6KihwcDgreipwcDkpKSkpKSkpKTsKKwkgICAgcyA9IG9uZSt6KihxcTEreioocXEyK3oqKHFxMyt6KihxcTQreioocXE1K3oqKHFxNit6KihxcTcrCisJCXoqKHFxOCt6KnFxOSkpKSkpKSkpOworCSAgICB5ID0gci9zOworCSAgICByZXR1cm4geCArIHgqeTsKKwl9CisJaWYoYXggPCAxLjI1KSB7CisJICAgIHMgPSBheC1vbmU7CisJICAgIFAgPSBwYTArcyoocGExK3MqKHBhMitzKihwYTMrcyoocGE0K3MqKHBhNStzKihwYTYrcyoocGE3KworCQlzKihwYTgrcyoocGE5K3MqKHBhMTArcypwYTExKSkpKSkpKSkpKTsKKwkgICAgUSA9IG9uZStzKihxYTErcyoocWEyK3MqKHFhMytzKihxYTQrcyoocWE1K3MqKHFhNitzKihxYTcrCisJCXMqKHFhOCtzKihxYTkrcyoocWExMCtzKihxYTExK3MqcWExMikpKSkpKSkpKSkpOworCSAgICBpZih4Pj0wKSByZXR1cm4gKGVyeCArIFAvUSk7IGVsc2UgcmV0dXJuICgtZXJ4IC0gUC9RKTsKKwl9CisJaWYgKGF4ID49IDkpIHsJCQkvKiBpbmY+fHh8Pj0gOSAqLworCSAgICBpZih4Pj0wKSByZXR1cm4gKG9uZS10aW55KTsgZWxzZSByZXR1cm4gKHRpbnktb25lKTsKKwl9CisJcyA9IG9uZS8oYXgqYXgpOworCWlmKGF4IDwgMi44NTcxNSkgewkvKiB8eHwgPCAyLjg1NzE1ICovCisJICAgIFI9cmEwK3MqKHJhMStzKihyYTIrcyoocmEzK3MqKHJhNCtzKihyYTUrcyoocmE2K3MqKHJhNysKKwkJcyoocmE4K3MqKHJhOStzKihyYTEwK3MqKHJhMTErcyoocmExMitzKihyYTEzK3MqKHJhMTQrCisJCXMqKHJhMTUrcypyYTE2KSkpKSkpKSkpKSkpKSkpOworCSAgICBTPW9uZStzKihzYTErcyooc2EyK3MqKHNhMytzKihzYTQrcyooc2E1K3MqKHNhNitzKihzYTcrCisJCXMqKHNhOCtzKihzYTkrcyooc2ExMCtzKihzYTExK3MqKHNhMTIrcyooc2ExMytzKihzYTE0KworCQlzKihzYTE1K3Mqc2ExNikpKSkpKSkpKSkpKSkpKTsKKwl9IGVsc2UgewkvKiB8eHwgPj0gMi44NTcxNSAqLworCSAgICBSPXJiMCtzKihyYjErcyoocmIyK3MqKHJiMytzKihyYjQrcyoocmI1K3MqKHJiNitzKihyYjcrCisJCXMqKHJiOCtzKihyYjkrcyoocmIxMCtzKihyYjExK3MqKHJiMTIrcyoocmIxMysKKwkJcypyYjE0KSkpKSkpKSkpKSkpKTsKKwkgICAgUz1vbmUrcyooc2IxK3MqKHNiMitzKihzYjMrcyooc2I0K3MqKHNiNStzKihzYjYrcyooc2I3KworCQlzKihzYjgrcyooc2I5K3MqKHNiMTArcyooc2IxMStzKihzYjEyK3MqKHNiMTMrCisJCXMqc2IxNCkpKSkpKSkpKSkpKSk7CisJfQorCXogPSAoZmxvYXQpYXg7CisJciA9IGV4cGwoLXoqei0wLjU2MjUpKmV4cGwoKHotYXgpKih6K2F4KStSL1MpOworCWlmKHg+PTApIHJldHVybiAob25lLXIvYXgpOyBlbHNlIHJldHVybiAoci9heC1vbmUpOworfQorCitsb25nIGRvdWJsZQorZXJmY2wobG9uZyBkb3VibGUgeCkKK3sKKwlsb25nIGRvdWJsZSBheCxSLFMsUCxRLHMseSx6LHI7CisJdWludDY0X3QgbHgsIGxseDsKKwl1aW50MTZfdCBoeDsKKworCUVYVFJBQ1RfTERCTDEyOF9XT1JEUyhoeCwgbHgsIGxseCwgeCk7CisKKwlpZigoaHggJiAweDdmZmYpID09IDB4N2ZmZikgewkvKiBlcmZjbChuYW4pPW5hbiAqLworCQkJCQkvKiBlcmZjbCgrLWluZik9MCwyICovCisJICAgIHJldHVybiAoKGh4Pj4xNSk8PDEpK29uZS94OworCX0KKworCWF4ID0gZmFic2woeCk7CisJaWYoYXggPCAwLjg0Mzc1TCkgeworCSAgICBpZihheCA8IDB4MXAtMzRMKQorCQlyZXR1cm4gb25lLXg7CisJICAgIHogPSB4Kng7CisJICAgIHIgPSBwcDAreioocHAxK3oqKHBwMit6KihwcDMreioocHA0K3oqKHBwNSt6KihwcDYreioocHA3KworCQl6KihwcDgreipwcDkpKSkpKSkpKTsKKwkgICAgcyA9IG9uZSt6KihxcTEreioocXEyK3oqKHFxMyt6KihxcTQreioocXE1K3oqKHFxNit6KihxcTcrCisJCXoqKHFxOCt6KnFxOSkpKSkpKSkpOworCSAgICB5ID0gci9zOworCSAgICBpZihheCA8IDAuMjVMKSB7ICAJLyogeDwxLzQgKi8KKwkJcmV0dXJuIG9uZS0oeCt4KnkpOworCSAgICB9IGVsc2UgeworCQlyID0geCp5OworCQlyICs9ICh4LWhhbGYpOworCSAgICAgICByZXR1cm4gaGFsZiAtIHI7CisJICAgIH0KKwl9CisJaWYoYXggPCAxLjI1TCkgeworCSAgICBzID0gYXgtb25lOworCSAgICBQID0gcGEwK3MqKHBhMStzKihwYTIrcyoocGEzK3MqKHBhNCtzKihwYTUrcyoocGE2K3MqKHBhNysKKwkJICAgIHMqKHBhOCtzKihwYTkrcyoocGExMCtzKnBhMTEpKSkpKSkpKSkpOworCSAgICBRID0gb25lK3MqKHFhMStzKihxYTIrcyoocWEzK3MqKHFhNCtzKihxYTUrcyoocWE2K3MqKHFhNysKKwkJICAgIHMqKHFhOCtzKihxYTkrcyoocWExMCtzKihxYTExK3MqcWExMikpKSkpKSkpKSkpOworCSAgICBpZih4Pj0wKSB7CisJICAgICAgICB6ICA9IG9uZS1lcng7IHJldHVybiB6IC0gUC9ROworCSAgICB9IGVsc2UgeworCQl6ID0gZXJ4K1AvUTsgcmV0dXJuIG9uZSt6OworCSAgICB9CisJfQorCisJaWYoYXggPCAxMDgpIHsJCQkvKiB8eHwgPCAxMDggKi8KKyAJICAgIHMgPSBvbmUvKGF4KmF4KTsKKwkgICAgaWYoYXggPCAyLjg1NzE1KSB7CQkvKiB8eHwgPCAyLjg1NzE1ICovCisJICAgICAgICBSPXJhMCtzKihyYTErcyoocmEyK3MqKHJhMytzKihyYTQrcyoocmE1K3MqKHJhNitzKihyYTcrCisJCSAgICBzKihyYTgrcyoocmE5K3MqKHJhMTArcyoocmExMStzKihyYTEyK3MqKHJhMTMrcyoocmExNCsKKwkJICAgIHMqKHJhMTUrcypyYTE2KSkpKSkpKSkpKSkpKSkpOworCSAgICAgICAgUz1vbmUrcyooc2ExK3MqKHNhMitzKihzYTMrcyooc2E0K3MqKHNhNStzKihzYTYrcyooc2E3KworCQkgICAgcyooc2E4K3MqKHNhOStzKihzYTEwK3MqKHNhMTErcyooc2ExMitzKihzYTEzK3MqKHNhMTQrCisJCSAgICBzKihzYTE1K3Mqc2ExNikpKSkpKSkpKSkpKSkpKTsKKwkgICAgfSBlbHNlIGlmKGF4IDwgOSkgeworCQlSPXJiMCtzKihyYjErcyoocmIyK3MqKHJiMytzKihyYjQrcyoocmI1K3MqKHJiNitzKihyYjcrCisJCSAgICBzKihyYjgrcyoocmI5K3MqKHJiMTArcyoocmIxMStzKihyYjEyK3MqKHJiMTMrCisJCSAgICBzKnJiMTQpKSkpKSkpKSkpKSkpOworCQlTPW9uZStzKihzYjErcyooc2IyK3MqKHNiMytzKihzYjQrcyooc2I1K3MqKHNiNitzKihzYjcrCisJCSAgICBzKihzYjgrcyooc2I5K3MqKHNiMTArcyooc2IxMStzKihzYjEyK3MqKHNiMTMrCisJCSAgICBzKnNiMTQpKSkpKSkpKSkpKSkpOworCSAgICB9IGVsc2UgeworCQlpZih4IDwgLTkpIHJldHVybiB0d28tdGlueTsJLyogeCA8IC05ICovCisJCVI9cmMwK3MqKHJjMStzKihyYzIrcyoocmMzK3MqKHJjNCtzKihyYzUrcyoocmM2K3MqKHJjNysKKwkJICAgIHMqKHJjOCtzKnJjOSkpKSkpKSkpOworCQlTPW9uZStzKihzYzErcyooc2MyK3MqKHNjMytzKihzYzQrcyooc2M1K3MqKHNjNitzKihzYzcrCisJCSAgICBzKihzYzgrcypzYzkpKSkpKSkpKTsKKwkgICAgfQorCSAgICB6ID0gKGZsb2F0KWF4OworCSAgICByID0gZXhwbCgteip6LTAuNTYyNSkqZXhwbCgoei1heCkqKHorYXgpK1IvUyk7CisJICAgIGlmKHg+MCkgcmV0dXJuIHIvYXg7IGVsc2UgcmV0dXJuIHR3by1yL2F4OworCX0gZWxzZSB7CisJICAgIGlmKHg+MCkgcmV0dXJuIHRpbnkqdGlueTsgZWxzZSByZXR1cm4gdHdvLXRpbnk7CisJfQorfQpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfZXhwMmwuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9zX2V4cDJsLmMKaW5kZXggNWVkNTE0Yy4uNWFmYTM3ZSAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfZXhwMmwuYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvc19leHAybC5jCkBAIC0zNjksNyArMzY5LDcgQEAKIAkJCSAgICB8fCB1LnhiaXRzLm1hbmwgIT0gMAogCQkJICAgIHx8IChoeCAmIDB4ODAwMCkgPT0gMCkKIAkJCQlyZXR1cm4gKHggKyB4KTsJLyogeCBpcyBOYU4gb3IgK0luZiAqLwotCQkJZWxzZQorCQkJZWxzZSAKIAkJCQlyZXR1cm4gKDAuMCk7CS8qIHggaXMgLUluZiAqLwogCQl9CiAJCWlmICh4ID49IDE2Mzg0KQpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfZXhwbC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL2xkMTI4L3NfZXhwbC5jCmluZGV4IDE3NmM5MzIuLmE2YTk2NzYgMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9sZDEyOC9zX2V4cGwuYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vbGQxMjgvc19leHBsLmMKQEAgLTM4LDE2ICszOCwxNSBAQAogI2luY2x1ZGUgImZwbWF0aC5oIgogI2luY2x1ZGUgIm1hdGguaCIKICNpbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIKKyNpbmNsdWRlICJrX2V4cGwuaCIKIAotI2RlZmluZQlJTlRFUlZBTFMJMTI4Ci0jZGVmaW5lCUxPRzJfSU5URVJWQUxTCTcKLSNkZWZpbmUJQklBUwkoTERCTF9NQVhfRVhQIC0gMSkKKy8qIFhYWCBQcmV2ZW50IGNvbXBpbGVycyBmcm9tIGVycm9uZW91c2x5IGNvbnN0YW50IGZvbGRpbmcgdGhlc2U6ICovCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgbG9uZyBkb3VibGUKK2h1Z2UgPSAweDFwMTAwMDBMLAordGlueSA9IDB4MXAtMTAwMDBMOwogCiBzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUKLWh1Z2UgPSAweDFwMTAwMDBMLAogdHdvbTEwMDAwID0gMHgxcC0xMDAwMEw7Ci0vKiBYWFggUHJldmVudCBnY2MgZnJvbSBlcnJvbmVvdXNseSBjb25zdGFudCBmb2xkaW5nIHRoaXM6ICovCi1zdGF0aWMgdm9sYXRpbGUgY29uc3QgbG9uZyBkb3VibGUgdGlueSA9IDB4MXAtMTAwMDBMOwogCiBzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUKIC8qIGxvZygyKioxNjM4NCAtIDAuNSkgcm91bmRlZCB0b3dhcmRzIHplcm86ICovCkBAIC01NiwxODQgKzU1LDE2IEBACiAvKiBsb2coMioqKC0xNjM4MS02NC0xKSkgcm91bmRlZCB0b3dhcmRzIHplcm86ICovCiB1X3RocmVzaG9sZCA9IC0xMTQzMy40NjI3NDMzMzYyOTc4Nzg4MzcyNDM4NDM0NTI2MjE1MDNMOwogCi1zdGF0aWMgY29uc3QgZG91YmxlCi0vKgotICogbG4yL0lOVEVSVkFMUyA9IEwxK0wyIChoaStsbyBkZWNvbXBvc2l0aW9uIGZvciBtdWx0aXBsaWNhdGlvbikuICBMMSBtdXN0Ci0gKiBoYXZlIGF0IGxlYXN0IDIyICg9IGxvZzIofExEQkxfTUlOX0VYUC1leHRyYXN8KSArIGxvZzIoSU5URVJWQUxTKSkgbG93ZXN0Ci0gKiBiaXRzIHplcm8gc28gdGhhdCBtdWx0aXBsaWNhdGlvbiBvZiBpdCBieSBuIGlzIGV4YWN0LgotICovCi1JTlZfTCA9IDEuODQ2NjQ5NjUyMzM3ODczMWUrMiwJCS8qICAweDE3MTU0NzY1MmI4MmZlLjBwLTQ1ICovCi1MMiA9IC0xLjAyNTM2NzA2Mzg4OTQ3MzFlLTI5OwkJLyogLTB4MS45ZmYwMzQyNTQyZmMzcC05NyAqLwotc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCi0vKiAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2ODAwMDAwMHAtOCAqLwotTDEgPSAgNS40MTUyMTIzNDgxMjQ1NzI3Mjk4MjIxMjU5NTkxNDU2NzUwOGUtM0w7Ci0KLXN0YXRpYyBjb25zdCBsb25nIGRvdWJsZQotLyoKLSAqIERvbWFpbiBbLTAuMDAyNzA4LCAwLjAwMjcwOF0sIHJhbmdlIH5bLTIuNDAyMWUtMzgsIDIuNDIzNGUtMzhdOgotICogfGV4cCh4KSAtIHAoeCl8IDwgMioqLTEyNC45Ci0gKiAoMC4wMDI3MDggaXMgbG4yLygyKklOVEVSVkFMUykgcm91bmRlZCB1cCBhIGxpdHRsZSkuCi0gKi8KLUEyICA9ICAwLjUsCi1BMyAgPSAgMS42NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1MTA4NTUwMGUtMUwsCi1BNCAgPSAgNC4xNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjQyNTg4NTMyMGUtMkwsCi1BNSAgPSAgOC4zMzMzMzMzMzMzMzMzMzMzMzMzNDUyMjg3NzE2MDE3NTg0MmUtM0wsCi1BNiAgPSAgMS4zODg4ODg4ODg4ODg4ODg4ODg4OTk3MTEzOTc1MTU5NjgzNmUtM0w7Ci0KLXN0YXRpYyBjb25zdCBkb3VibGUKLUE3ICA9ICAxLjk4NDEyNjk4NDEyNjk0NzFlLTQsCi1BOCAgPSAgMi40ODAxNTg3MzAxNTg1Mjg0ZS01LAotQTkgID0gIDIuNzU1NzMyNDI3NzQxMTIzNGUtNiwKLUExMCA9ICAyLjc1NTczMzM3MjIzNzUwNzJlLTc7Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgewotCS8qCi0JICogaGkgbXVzdCBiZSByb3VuZGVkIHRvIGF0IG1vc3QgMTA2IGJpdHMgc28gdGhhdCBtdWx0aXBsaWNhdGlvbgotCSAqIGJ5IHIxIGluIGV4cG0xbCgpIGlzIGV4YWN0LCBidXQgaXQgaXMgcm91bmRlZCB0byA4OCBiaXRzIGR1ZSB0bwotCSAqIGhpc3RvcmljYWwgYWNjaWRlbnRzLgotCSAqLwotCWxvbmcgZG91YmxlCWhpOwotCWxvbmcgZG91YmxlCWxvOwotfSB0YmxbSU5URVJWQUxTXSA9IHsKLQkweDFwMEwsIDB4MHAwTCwKLQkweDEuMDE2M2RhOWZiMzMzNTZkODRhNjZhZXAwTCwgMHgzLjM2ZGNkZmE0MDAzZWMwNGMzNjBiZTI0MDQwNzhwLTkyTCwKLQkweDEuMDJjOWEzZTc3ODA2MGVlNmY3Y2FjYXAwTCwgMHg0LmY3YTI5YmRlOTNkNzBhMmNhYmM1Y2I4OWJhMTBwLTkyTCwKLQkweDEuMDQzMTVlODZlN2Y4NGJkNzM4ZjlhMnAwTCwgMHhkLmE0N2U2ZWQwNDBiYjRiZmMwNWFmNjQ1NWU5YjhwLTk2TCwKLQkweDEuMDU5YjBkMzE1ODU3NDNhZTdjNTQ4ZXAwTCwgMHhiLjY4Y2E0MTdmZTUzZTM0OTVmN2RmNGJhZjg0YTBwLTkyTCwKLQkweDEuMDcwNmIyOWRkZjZkZGM2ZGM0MDNhOHAwTCwgMHgxLmQ4N2IyN2VkMDdjYjhiMDkyYWM3NWUzMTE3NTNwLTg4TCwKLQkweDEuMDg3NDUxODc1OWJjODA4YzM1ZjI1Y3AwTCwgMHgxLjk0MjdmYTJiMDQxYjJkNjgyOWQ4OTkzYTBkMDFwLTg4TCwKLQkweDEuMDllM2VjYWM2ZjM4MzQ1MjFlMDYwY3AwTCwgMHg1Ljg0ZDZiNzRiYTJlMDIzZGE3MzBlN2ZjY2I3NThwLTkyTCwKLQkweDEuMGI1NTg2Y2Y5ODkwZjYyOThiOTJiNnAwTCwgMHgxLjE4NDJhOTgzNjQyOTE0MDhiM2NlYjBhMmEyYmJwLTg4TCwKLQkweDEuMGNjOTIyYjcyNDdmNzQwN2I3MDViOHAwTCwgMHg5LjNkYzVlOGFhYzU2NGU2ZmUyZWYxZDQzMWZkOThwLTkyTCwKLQkweDEuMGUzZWMzMmQzZDFhMjAyMDc0MmU0ZXAwTCwgMHgxLjhhZjZhNTUyYWM0YjM1OGIxMTI5ZTlmOTY2YTRwLTg4TCwKLQkweDEuMGZiNjZhZmZlZDMxYWYyMzIwOTFkY3AwTCwgMHgxLjhhMTQyNjUxNGUwYjYyN2JkYTY5NGE0MDBhMjdwLTg4TCwKLQkweDEuMTEzMDFkMDEyNWI1MGE0ZWJiZjFhZXAwTCwgMHhkLjkzMThjZWFjNWNjNDdhYjE2NmVlNTc0MjcxNzhwLTkyTCwKLQkweDEuMTJhYmRjMDZjMzFjYmZiOTJiYWQzMnAwTCwgMHg0LmQ2OGUyZjcyNzBiZGY3Y2VkZjk0ZWIxY2I4MThwLTkyTCwKLQkweDEuMTQyOWFhZWE5MmRkZmIzNDEwMTk0MnAwTCwgMHgxLmIyNTg2ZDAxODQ0YjM4OWJlYTdhZWRkMjIxZDRwLTg4TCwKLQkweDEuMTVhOThjOGE1OGU1MTI0ODBkNTczY3AwTCwgMHgxLmQ1NjEzYmY5MmEyYjYxOGVlMzFiMzc2YzI2ODlwLTg4TCwKLQkweDEuMTcyYjgzYzdkNTE3YWRjZGY3YzhjNHAwTCwgMHgxLjBlYjE0YTc5MjAzNTUwOWZmN2Q3NTg2OTNmMjRwLTg4TCwKLQkweDEuMThhZjkzODhjOGRlOWJiYmY3MGI5YXAwTCwgMHgzLmMyNTA1Yzk3YzAxMDJlNWYxMjExOTQxZDI4NDBwLTkyTCwKLQkweDEuMWEzNWJlYjZmY2I3NTNjYjY5OGY2OHAwTCwgMHgxLjJkMWM4MzVhNmMzMDcyNGQ1Y2ZhZTMxYjg0ZTVwLTg4TCwKLQkweDEuMWJiZTA4NDA0NWNkMzlhYjFlNzJiNHAwTCwgMHg0LjI3ZTM1ZjlhY2I1N2U0NzM5MTU1MTlhMWI0NDhwLTkyTCwKLQkweDEuMWQ0ODczMTY4YjlhYTc4MDViODAyOHAwTCwgMHg5LjkwZjA3YTk4YjQyMjA2ZTQ2MTY2Y2YwNTFkNzBwLTkyTCwKLQkweDEuMWVkNTAyMmZjZDkxY2I4ODE5ZmY2MHAwTCwgMHgxLjEyMWQxZTUwNGQzNmM0NzQ3NGM5YjdkZTYwNjdwLTg4TCwKLQkweDEuMjA2M2I4ODYyOGNkNjNiOGVlYjAyOHAwTCwgMHgxLjUwOTI5ZDBmYzQ4N2QyMWMyYjg0MDA0MjY0ZGVwLTg4TCwKLQkweDEuMjFmNDk5MTdkZGM5NjI1NTJmZDI5MnAwTCwgMHg5LjRiZGI0YjYxZWE2MjQ3N2NhYTFkY2U4MjNiYTBwLTkyTCwKLQkweDEuMjM4N2E2ZTc1NjIzODY2YzFmYWRiMHAwTCwgMHgxLmMxNWNiNTkzYjAzMjg1NjY5MDJkZjY5ZTRkZTJwLTg4TCwKLQkweDEuMjUxY2U0ZmIyYTYzZjM1ODJhYjdkZXAwTCwgMHg5LmU5NDgxMWE5YzhhZmRjZjc5NjkzNGJjNjUyZDBwLTkyTCwKLQkweDEuMjZiNDU2NWUyN2NkZDI1N2E2NzMyOHAwTCwgMHgxLmQzYjI0OWRjZTRlOTE4NmRkZDVmZjQ0ZTZiMDhwLTkyTCwKLQkweDEuMjg0ZGZlMWY1NjM4MDk2Y2YxNWNmMHAwTCwgMHgzLmNhMDk2N2ZkYWEyZTUyZDdjODEwNmYyZTI2MmNwLTkyTCwKLQkweDEuMjllOWRmNTFmZGVlMTJjMjVkMTVmNHAwTCwgMHgxLmEyNGFhM2JjYTg5MGFjMDhkMjAzZmVkODBhMDdwLTg4TCwKLQkweDEuMmI4N2ZkMGRhZDk4ZmZkZGVhNDY1MnAwTCwgMHgxLjhmY2FiODg0NDJmZGMzY2I2ZGU0NTE5MTY1ZWRwLTg4TCwKLQkweDEuMmQyODVhNmU0MDMwYjQwMDkxZDUzNnAwTCwgMHhkLjA3NTM4NDU4OWMxY2QxYjNlNDAxOGE2YjEzNDhwLTkyTCwKLQkweDEuMmVjYWZhOTNlMmY1NjExY2EwZjQ1Y3AwTCwgMHgxLjUyMzgzM2FmNjExYmRjZGEyNTNjNTU0Y2YyNzhwLTg4TCwKLQkweDEuMzA2ZmUwYTMxYjcxNTJkZThkNWE0NnAwTCwgMHgzLjA1Yzg1ZWRlY2JjMjczNDM2MjlmNTAyZjFhZjJwLTkyTCwKLQkweDEuMzIxNzBmYzRjZDgzMTM1MzljZjFjMnAwTCwgMHgxLjAwOGY4NmRkZTMyMjBhZTE3YTAwNWI2NDEyYmVwLTg4TCwKLQkweDEuMzNjMDhiMjY0MTZmZjRjOWM4NjEwY3AwTCwgMHgxLjk2Njk2YmY5NWQxNTkzMDM5NTM5ZDk0ZDY2MmJwLTg4TCwKLQkweDEuMzU2YzU1ZjkyOWZmMGM5NDYyMzQ3NnAwTCwgMHgzLjczYWYzOGQ2ZDhkNmY5NTA2YzliYmM5M2NiYzBwLTkyTCwKLQkweDEuMzcxYTczNzNhYTljYWE3MTQ1NTAyZXAwTCwgMHgxLjQ1NDc5ODdlM2UxMjUxNmJmOWM2OTliZTQzMmZwLTg4TCwKLQkweDEuMzhjYWU2ZDA1ZDg2NTg1YTljYjBkOHAwTCwgMHgxLmJlZDBjODUzYmQzMGEwMjc5MDkzMWViMmU4ZjBwLTg4TCwKLQkweDEuM2E3ZGIzNGU1OWZmNmVhMWJjOTI5OHAwTCwgMHgxLmUwYTFkMzM2MTYzZmUyZjg1MmNlZWIxMzQwNjdwLTg4TCwKLQkweDEuM2MzMmRjMzEzYThlNDg0MDAxZjIyOHAwTCwgMHhiLjU4ZjM3NzVlMDZhYjY2MzUzMDAxZmFlOWZjYTBwLTkyTCwKLQkweDEuM2RlYTY0YzEyMzQyMjM1YjQxMjIzZXAwTCwgMHgxLjNkNzczZmJhMmNiODJiODI0NDI2N2M1NDQ0M2ZwLTkyTCwKLQkweDEuM2ZhNDUwNGFjODAxYmEwYmY3MDFhYXAwTCwgMHg0LjE4MzJmYjhjMWM4ZGJkZmYyYzQ5OTA5ZTZjNjBwLTkyTCwKLQkweDEuNDE2MGEyMWY3MmUyOWY4NDMyNWI4ZXAwTCwgMHgxLjNkYjYxZmIzNTJmMDU0MGU2YmEwNTYzNDQxM2VwLTg4TCwKLQkweDEuNDMxZjVkOTUwYTg5NmRjNzA0NDM5NHAwTCwgMHgxLjBjY2VjODFlMjRiMGNhZmY3NTgxZWY0MTI3ZjdwLTkyTCwKLQkweDEuNDRlMDg2MDYxODkyZDAzMTM2ZjQwOHAwTCwgMHgxLmRmMDE5ZmJkNGYzYjQ4NzA5Yjc4NTkxZDVjYjVwLTg4TCwKLQkweDEuNDZhNDFlZDFkMDA1NzcyNTEyZjQ1OHAwTCwgMHgxLjIyOWQ5N2RmNDA0ZmYyMWYzOWMxYjU5NGQzYThwLTg4TCwKLQkweDEuNDg2YTJiNWMxM2NkMDEzYzFhM2I2OHAwTCwgMHgxLjA2MmYwM2MzZGQ3NWNlODc1N2Y3ODBlNmVjOTlwLTg4TCwKLQkweDEuNGEzMmFmMGQ3ZDNkZTY3MmQ4YmNmNHAwTCwgMHg2LmY5NTg2NDYxZGIxZDg3OGIxZDE0OGJkM2NjYjhwLTkyTCwKLQkweDEuNGJmZGFkNTM2MmEyNzFkNDM5N2FmZXAwTCwgMHhjLjQyZTIwZTAzNjNiYTJlMTU5YzU3OWY4MmU0YjBwLTkyTCwKLQkweDEuNGRjYjI5OWZkZGQwZDYzYjM2ZWYxYXAwTCwgMHg5LmUwY2M0ODRiMjVhNTU2NmQwYmQ1ZjU4YWQyMzhwLTkyTCwKLQkweDEuNGY5YjI3NjlkMmNhNmFkMzNkOGI2OHAwTCwgMHgxLmFhMDczZWU1NWUwMjg0OTdhMzI5YTczMzNkYmFwLTg4TCwKLQkweDEuNTE2ZGFhMmNmNjY0MWMxMTJmNTJjOHAwTCwgMHg0LmQ4MjIxOTBlNzE4MjI2MTc3ZDc2MDhkMjAwMzhwLTkyTCwKLQkweDEuNTM0MmI1NjlkNGY4MWRmMGE4M2M0OHAwTCwgMHgxLmQ4NmE2M2Y0ZTY3MmEzZTQyOTgwNWIwNDk0NjVwLTg4TCwKLQkweDEuNTUxYTRjYTVkOTIwZWM1MmVjNjIwMnAwTCwgMHg0LjM0Y2E2NzI2NDVkYzZjMTI0ZDY2MTlhODc1NzRwLTkyTCwKLQkweDEuNTZmNDczNmI1MjdkYTY2ZWNiMDA0NnAwTCwgMHgxLjY0ZWIzYzAwZjJmNWFiM2Q4MDFkN2NjNzI3MmRwLTg4TCwKLQkweDEuNThkMTJkNDk3YzdmZDI1MmJjMmI3MnAwTCwgMHgxLjQzYmNmMmVjOTM2YTk3MGQ5Y2MyNjZmMDA3MmZwLTg4TCwKLQkweDEuNWFiMDdkZDQ4NTQyOTU4YzkzMDE1MHAwTCwgMHgxLjkxZWIzNDVkODhkN2M4MTI4MGUwNjlmYmRiNjNwLTg4TCwKLQkweDEuNWM5MjY4YTU5NDZiNzAxYzRiMWI4MHAwTCwgMHgxLjY5ODZhMjAzZDg0ZTZhNGE5MmYxNzllNzE4ODlwLTg4TCwKLQkweDEuNWU3NmYxNWFkMjE0ODZlOWJlNGMyMHAwTCwgMHgzLjk5NzY2YTA2NTQ4YTA1ODI5ZTg1M2JkYjJiNTJwLTkyTCwKLQkweDEuNjA1ZTFiOTc2ZGMwOGIwNzZmNTkyYXAwTCwgMHg0Ljg2ZTNiMzRlYWQxYjQ3NjlkZjg2N2I5Yzg5Y2NwLTkyTCwKLQkweDEuNjI0N2ViMDNhNTU4NGIxZjBmYTA2ZXAwTCwgMHgxLmQyZGE0MmJiMWNlYWY5ZjczMjI3NWI4YWVmMzBwLTg4TCwKLQkweDEuNjQzNDYzNGNjYzMxZmM3NmY4NzE0Y3AwTCwgMHg0LmVkOWE0ZTQxMDAwMzA3MTAzYTE4Y2Y3YTZlMDhwLTkyTCwKLQkweDEuNjYyMzg4MjU1MjIyNDkxMjdkOWUyOHAwTCwgMHgxLmI4ZjMxNGEzMzdmNGRjMGEzYWRmMTc4N2ZmNzRwLTg4TCwKLQkweDEuNjgxNTVkNDRjYTk3MzA4MWM1NzIyNnAwTCwgMHgxLmI5ZjMyNzA2YmZlNGU2MjdkODA5YTg1ZGNjNjZwLTg4TCwKLQkweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMnAwTCwgMHgxLjY2ZWE5NTdkM2UzYWRlYzE3NTEyNzc1MDk5ZGFwLTg4TCwKLQkweDEuNmMwMTI3NTBiZGFiZWVkNzZhOTk4MHAwTCwgMHhmLjRmMzNmZGViOGIwZWNkODMxMTA2ZjU3YjNkMDBwLTk2TCwKLQkweDEuNmRmYjIzYzY1MWEyZWYyMjBlMmNiZXAwTCwgMHgxLmJiYWE4MzRiM2YxMTU3N2NlZWZiZTZjMWM0MTFwLTkyTCwKLQkweDEuNmZmN2RmOTUxOTQ4M2NmODdlMWI0ZXAwTCwgMHgxLjNlMjEzYmZmOWI3MDJkNWFhNDc3YzEyNTIzY2VwLTg4TCwKLQkweDEuNzFmNzVlOGVjNWY3M2RkMjM3MGYyZXAwTCwgMHhmLjBhY2Q2Y2I0MzRiNTYyZDllOGEyMGFkZGE2NDhwLTkyTCwKLQkweDEuNzNmOWE0OGE1ODE3M2JkNWM5YTRlNnAwTCwgMHg4LmFiMTE4MmFlMjE3ZjNhNzY4MTc1OTU1M2U4NDBwLTkyTCwKLQkweDEuNzVmZWI1NjQyNjdjOGJmNmU5YWEzMnAwTCwgMHgxLmE0OGIyNzA3MTgwNWU2MWExN2I5NTRhMmRhZDhwLTg4TCwKLQkweDEuNzgwNjk0ZmRlNWQzZjYxOWFlMDI4MHAwTCwgMHg4LjU4YjJiYjJiZGNmODZjZDA4ZTM1ZmIwNGMwZjBwLTkyTCwKLQkweDEuN2ExMTQ3M2ViMDE4NmQ3ZDUxMDIzZXAwTCwgMHgxLjZjZGExZjVlZjQyYjY2OTc3OTYwNTMxZTgyMWJwLTg4TCwKLQkweDEuN2MxZWQwMTMwYzEzMjdjNDkzMzQ0NHAwTCwgMHgxLjkzNzU2MmIyZGM5MzNkNDRmYzgyOGVmZDRjOWNwLTg4TCwKLQkweDEuN2UyZjMzNmNmNGU2MjEwNWQwMmJhMHAwTCwgMHgxLjU3OTdlMTcwYTE0MjdmOGZjZGY1ZjM5MDYxMDhwLTg4TCwKLQkweDEuODA0Mjc1NDNlMWExMWI2MGRlNjc2NHAwTCwgMHg5LmEzNTRlYTcwNmI4ZTRkOGI3MThhNjcyYmY3YzhwLTkyTCwKLQkweDEuODI1ODk5OTRjY2UxMjhhY2Y4OGFmYXAwTCwgMHhiLjM0YTAxMGY2YWQ2NWNiYmFjMGY1MzJkMzliZTBwLTkyTCwKLQkweDEuODQ3MWE0NjIzYzdhY2NlNTJmNmI5NnAwTCwgMHgxLmM2NDA5NTM3MGY1MWY0ODgxNzkxNGRkNzg2NjVwLTg4TCwKLQkweDEuODY4ZDk5YjQ0OTJlYzgwZTQxZDkwYXAwTCwgMHhjLjI1MTcwNzQ4NGQ3M2YxMzZmYjU3Nzk2NTZiNzBwLTkyTCwKLQkweDEuODhhYzdkOThhNjY5OTY2NTMwYmNkZXAwTCwgMHgxLjJkNGU5ZDYxMjgzZWYzODVkZTE3MGFiMjBmOTZwLTg4TCwKLQkweDEuOGFjZTU0MjJhYTBkYjViYTdjNTVhMHAwTCwgMHgxLjkyYzliYjNlNmVkNjFmMjczMzMwNGEzNDZkOGZwLTg4TCwKLQkweDEuOGNmMzIxNmI1NDQ4YmVmMmFhMWNkMHAwTCwgMHgxLjYxYzU1ZDg0YTk4NDhmOGM0NTNiM2NhOGM5NDZwLTg4TCwKLQkweDEuOGYxYWU5OTE1NzczNjJiOTgyNzQ1Y3AwTCwgMHg3LjJlZDgwNGVmYzliNGFlMTQ1OGFlOTQ2MDk5ZDRwLTkyTCwKLQkweDEuOTE0NWIwYjkxZmZjNTg4YTYxYjQ2OHAwTCwgMHgxLmY2YjcwZTAxYzJhOTAyMjlhNGM0MzA5ZWE3MTlwLTg4TCwKLQkweDEuOTM3MzdiMGNkYzVlNGY0NTAxYzNmMnAwTCwgMHg1LjQwYTIyZDJmYzRhZjU4MWI2M2U4MzI2ZWZlOWNwLTkyTCwKLQkweDEuOTVhNDRjYmM4NTIwZWU5YjQ4MzY5NHAwTCwgMHgxLmEwZmM2ZjdjN2Q2MWIyYjNhMjJhMGVhYjJjYWRwLTg4TCwKLQkweDEuOTdkODI5ZmRlNGU0ZjhiOWU5MjBmOHAwTCwgMHgxLjFlOGJkN2VkYjlkNzE0NGI2ZjY4MTgwODRjYzdwLTg4TCwKLQkweDEuOWEwZjE3MGNhMDdiOWJhMzEwOWI4Y3AwTCwgMHg0LjY3MzdiZWIxOWUxZWFkYTY4MjVkM2M1NTc0MjhwLTkyTCwKLQkweDEuOWM0OTE4MmEzZjA5MDFjN2M0NmIwNnAwTCwgMHgxLjFmMmJlNThkZGFkZTUwYzIxNzE4NmM5MGI0NTdwLTg4TCwKLQkweDEuOWU4NjMxOWUzMjMyMzE4MjRjYTc4ZXAwTCwgMHg2LjRjNmUwMTBmOTJjMDgyYmJhZGZhZjYwNWNmZDRwLTkyTCwKLQkweDEuYTBjNjY3YjVkZTU2NGIyOWFkYThiOHAwTCwgMHhjLmFiMzQ5YWEwNDIyYThkYTdkNDUxMmVkYWM1NDhwLTkyTCwKLQkweDEuYTMwOWJlYzRhMmQzMzU4YzE3MWY3NnAwTCwgMHgxLjBkYWFkNTQ3ZmEyMmMyNmQxNjhlYTc2MmQ4NTRwLTg4TCwKLQkweDEuYTU1MDNiMjNlMjU1YzhiNDI0NDkxY3AwTCwgMHhhLmY4N2JjODA1MGE0MDUzODE3MDNlZjdjYWZmNTBwLTkyTCwKLQkweDEuYTc5OWUxMzMwYjM1ODZmMmRmYjJiMHAwTCwgMHgxLjU4ZjFhOTg3OTZjZTg5MDhhZTg1MjIzNmNhOTRwLTg4TCwKLQkweDEuYTllNmI1NTc5ZmRiZjQzZWIyNDNiY3AwTCwgMHgxLmZmNGM0YzU4YjU3MWNmNDY1Y2FmMDdiNGI5ZjVwLTg4TCwKLQkweDEuYWMzNmJiZmQzZjM3OWMwZGI5NjZhMnAwTCwgMHgxLjEyNjVmYzczZTQ4MDcxMmQyMGY4NTk3YThlN2JwLTg4TCwKLQkweDEuYWU4OWY5OTVhZDNhZDVlODczNGQxNnAwTCwgMHgxLjczMjA1YTdmYmMzYWU2NzVlYTQ0MGIxNjJkNmNwLTg4TCwKLQkweDEuYjBlMDcyOThkYjY2NTkwODQyYWNkZXAwTCwgMHgxLmM2ZjZjYTBlNWRjYWUyYWFmZmZhN2EwNTU0Y2JwLTg4TCwKLQkweDEuYjMzYTJiODRmMTVmYWY2YmZkMGU3YXAwTCwgMHgxLmQ5NDdjMjU3NTc4MWRiYjQ5YjEyMzdjODdiNmVwLTg4TCwKLQkweDEuYjU5NzI4ZGU1NTkzOThlMzg4MTExMHAwTCwgMHgxLjY0ODczYzcxNzFmZWZjNDEwNDE2YmUwYTY1MjVwLTg4TCwKLQkweDEuYjdmNzZmMmZiNWU0NmVhYTdiMDgxYXAwTCwgMHhiLjUzYzUzNTRjODkwM2MzNTZlNGI2MjVhYWNjMjhwLTkyTCwKLQkweDEuYmE1YjAzMGExMDY0OTg0MGNiM2M2YXAwTCwgMHhmLjViNDdmMjk3MjAzNzU3ZTFjYzZlYWRjOGJhZDBwLTkyTCwKLQkweDEuYmNjMWU5MDRiYzFkMjI0N2JhMGY0NHAwTCwgMHgxLmIzZDA4Y2QwYjIwMjg3MDkyYmQ1OWJlNGFkOThwLTg4TCwKLQkweDEuYmYyYzI1YmQ3MWUwODg0MDhkNzAyNHAwTCwgMHgxLjE4ZTM0NDlmYTA3M2IzNTY3NjZkZmI1NjhmZjRwLTg4TCwKLQkweDEuYzE5OWJkZDg1NTI5YzIyMjBjYjEyYXAwTCwgMHg5LjFiYTY2Nzk0NDQ5NjRhMzY2NjEyNDAwNDM5NzBwLTk2TCwKLQkweDEuYzQwYWI1ZmZmZDA3YTZkMTRkZjgyMHAwTCwgMHhmLjE4MjhhNTM2NmZkMzg3YTdiZGQ1NGNkZjczMDBwLTkyTCwKLQkweDEuYzY3ZjEyZTU3ZDE0YjRhMjEzN2ZkMnAwTCwgMHhmLjJiMzAxZGQ5ZTZiMTUxYTZkMWY5ZDVkNWY1MjBwLTk2TCwKLQkweDEuYzhmNmQ5NDA2ZTdiNTExYWNiYzQ4OHAwTCwgMHg1LmM0NDJkZGI1NTgyMDE3MWYzMTlkOWU1MDc2YThwLTk2TCwKLQkweDEuY2I3MjBkY2VmOTA2OTE1MDNjYmQxZXAwTCwgMHg5LjQ5ZGI3NjFkOTU1OWFjMGNiNmRkM2VkNTk5ZTBwLTkyTCwKLQkweDEuY2RmMGI1NTVkYzNmOWM0NGY4OTU4ZXAwTCwgMHgxLmFjNTFiZTUxNWY4YzU4YmRmYjZmNTc0MGEzYTRwLTg4TCwKLQkweDEuZDA3MmQ0YTA3ODk3YjhkMGYyMmYyMHAwTCwgMHgxLmExNThlMThmYmJmYzYyNWYwOWY0Y2NhNDA4NzRwLTg4TCwKLQkweDEuZDJmODcwODBkODlmMThhZGUxMjM5OHAwTCwgMHg5LmVhMjAyNWI0YzU2NTUzZjVjZGVlNGM5MjQ3MjhwLTkyTCwKLQkweDEuZDU4MThkY2ZiYTQ4NzI1ZGEwNWFlYXAwTCwgMHgxLjY2ZTBkY2E5ZjU4OWY1NTljMDg3NmZmMjM4MzBwLTg4TCwKLQkweDEuZDgwZTMxNmM5ODM5N2JiODRmOWQwNHAwTCwgMHg4LjgwNWY4NGJlYzYxNGRlMjY5OTAwZGRmOThkMjhwLTkyTCwKLQkweDEuZGE5ZTYwM2RiMzI4NTcwOGMwMWE1YXAwTCwgMHgxLjZkNGM5N2Y2MjQ2ZjBlYzYxNGVjOTVjOTkzOTJwLTg4TCwKLQkweDEuZGQzMjFmMzAxYjQ2MDRiNjk1ZGUzY3AwTCwgMHg2LjMwYTM5MzIxNTI5OWUzMGQ0ZmI3MzUwM2MzNDhwLTk2TCwKLQkweDEuZGZjOTczMzdiOWI1ZWI5NjhjYWMzOHAwTCwgMHgxLmVkMjkxYjcyMjVhOTQ0ZWZkNWJiNTUyNGI5MjdwLTg4TCwKLQkweDEuZTI2NDYxNGY1YTEyOGExMjc2MWZhMHAwTCwgMHgxLjdhZGE2NDY3ZTc3ZjczYmY2NWUwNGM5NWUyOWRwLTg4TCwKLQkweDEuZTUwMmVlNzhiM2ZmNjI3M2QxMzAxNHAwTCwgMHgxLjM5OTFlOGY0OTY1OWUxNjkzYmUxN2FlMWQyZjlwLTg4TCwKLQkweDEuZTdhNTFmYmM3NGM4MzRiNTQ4YjI4MnAwTCwgMHgxLjIzNzg2NzU4YTg0ZjQ5NTYzNTQ2MzRhNDE2Y2VwLTg4TCwKLQkweDEuZWE0YWZhMmE0OTBkOTg1OGY3M2ExOHAwTCwgMHhmLjVkYjMwMWY4NmRlYTIwNjEwY2VlZTEzZWI3YjhwLTkyTCwKLQkweDEuZWNmNDgyZDhlNjdmMDhkYjAzMTJmYXAwTCwgMHgxLjk0OWNlZjQ2MjAxMGJiNGJjNGNlNzJhOTAwZGZwLTg4TCwKLQkweDEuZWZhMWJlZTYxNWEyNzc3MWZkMjFhOHAwTCwgMHgxLjJkYWMxZjZkZDVkMjI5ZmY2OGU0NmYyN2UzZGZwLTg4TCwKLQkweDEuZjI1MmIzNzZiYmE5NzRlODY5NmZjMnAwTCwgMHgxLjYzOTBkNGM2YWQ1NDc2YjUxNjJmNDBlMWQ5YTlwLTg4TCwKLQkweDEuZjUwNzY1YjZlNDU0MDY3NGY4NGI3NnAwTCwgMHgyLjg2MmJhZmY5OTAwMGRmYzQzNTJiYTI5Yjg5MDhwLTkyTCwKLQkweDEuZjdiZmRhZDljYmUxMzg5MTNiNGJmZXAwTCwgMHg3LjJiZDk1YzVjZTcyODBmYTRkMjM0NGEzZjU2MThwLTkyTCwKLQkweDEuZmE3YzE4MTllOTBkODJlOTBhN2U3NHAwTCwgMHhiLjI2M2MxZGMwNjBjMzZmNzY1MGI0YzBmMjMzYThwLTkyTCwKLQkweDEuZmQzYzIyYjhmNzFmMTA5NzViYTRiMnAwTCwgMHgxLjJiY2YzYTVlMTJkMjY5ZDhhZDdjMWE0YTg4NzVwLTg4TAotfTsKLQogbG9uZyBkb3VibGUKIGV4cGwobG9uZyBkb3VibGUgeCkKIHsKLQl1bmlvbiBJRUVFbDJiaXRzIHUsIHY7Ci0JbG9uZyBkb3VibGUgcSwgciwgcjEsIHQsIHR3b3BrLCB0d29wa3AxMDAwMDsKLQlkb3VibGUgZHIsIGZuLCByMjsKLQlpbnQgaywgbiwgbjI7CisJdW5pb24gSUVFRWwyYml0cyB1OworCWxvbmcgZG91YmxlIGhpLCBsbywgdCwgdHdvcGs7CisJaW50IGs7CiAJdWludDE2X3QgaHgsIGl4OwogCisJRE9QUklOVF9TVEFSVCgmeCk7CisKIAkvKiBGaWx0ZXIgb3V0IGV4Y2VwdGlvbmFsIGNhc2VzLiAqLwogCXUuZSA9IHg7CiAJaHggPSB1LnhiaXRzLmV4cHNpZ247CkBAIC0yNDEsNjAgKzcyLDMzIEBACiAJaWYgKGl4ID49IEJJQVMgKyAxMykgewkJLyogfHh8ID49IDgxOTIgb3IgeCBpcyBOYU4gKi8KIAkJaWYgKGl4ID09IEJJQVMgKyBMREJMX01BWF9FWFApIHsKIAkJCWlmIChoeCAmIDB4ODAwMCkgIC8qIHggaXMgLUluZiBvciAtTmFOICovCi0JCQkJcmV0dXJuICgtMSAvIHgpOwotCQkJcmV0dXJuICh4ICsgeCk7CS8qIHggaXMgK0luZiBvciArTmFOICovCisJCQkJUkVUVVJOUCgtMSAvIHgpOworCQkJUkVUVVJOUCh4ICsgeCk7CS8qIHggaXMgK0luZiBvciArTmFOICovCiAJCX0KIAkJaWYgKHggPiBvX3RocmVzaG9sZCkKLQkJCXJldHVybiAoaHVnZSAqIGh1Z2UpOworCQkJUkVUVVJOUChodWdlICogaHVnZSk7CiAJCWlmICh4IDwgdV90aHJlc2hvbGQpCi0JCQlyZXR1cm4gKHRpbnkgKiB0aW55KTsKKwkJCVJFVFVSTlAodGlueSAqIHRpbnkpOwogCX0gZWxzZSBpZiAoaXggPCBCSUFTIC0gMTE0KSB7CS8qIHx4fCA8IDB4MXAtMTE0ICovCi0JCXJldHVybiAoMSArIHgpOwkJLyogMSB3aXRoIGluZXhhY3QgaWZmIHggIT0gMCAqLworCQlSRVRVUk4yUCgxLCB4KTsJCS8qIDEgd2l0aCBpbmV4YWN0IGlmZiB4ICE9IDAgKi8KIAl9CiAKIAlFTlRFUkkoKTsKIAotCS8qIFJlZHVjZSB4IHRvIChrKmxuMiArIGVuZHBvaW50W24yXSArIHIxICsgcjIpLiAqLwotCS8qIFVzZSBhIHNwZWNpYWxpemVkIHJpbnQoKSB0byBnZXQgZm4uICBBc3N1bWUgcm91bmQtdG8tbmVhcmVzdC4gKi8KLQkvKiBYWFggYXNzdW1lIG5vIGV4dHJhIHByZWNpc2lvbiBmb3IgdGhlIGFkZGl0aW9ucywgYXMgZm9yIHRyaWcgZm5zLiAqLwotCS8qIFhYWCB0aGlzIHNldCBvZiBjb21tZW50cyBpcyBub3cgcXVhZHJ1cGxpY2F0ZWQuICovCi0JZm4gPSAoZG91YmxlKXggKiBJTlZfTCArIDB4MS44cDUyIC0gMHgxLjhwNTI7Ci0jaWYgZGVmaW5lZChIQVZFX0VGRklDSUVOVF9JUklOVCkKLQluID0gaXJpbnQoZm4pOwotI2Vsc2UKLQluID0gKGludClmbjsKLSNlbmRpZgotCW4yID0gKHVuc2lnbmVkKW4gJSBJTlRFUlZBTFM7Ci0JayA9IG4gPj4gTE9HMl9JTlRFUlZBTFM7Ci0JcjEgPSB4IC0gZm4gKiBMMTsKLQlyMiA9IGZuICogLUwyOwotCXIgPSByMSArIHIyOwotCi0JLyogUHJlcGFyZSBzY2FsZSBmYWN0b3JzLiAqLwotCS8qIFhYWCBzcGFyYzY0IG11bHRpcGxpY2F0aW9uIGlzIHNvIHNsb3cgdGhhdCBzY2FsYm5sKCkgaXMgZmFzdGVyLiAqLwotCXYuZSA9IDE7Ci0JaWYgKGsgPj0gTERCTF9NSU5fRVhQKSB7Ci0JCXYueGJpdHMuZXhwc2lnbiA9IEJJQVMgKyBrOwotCQl0d29wayA9IHYuZTsKLQl9IGVsc2UgewotCQl2LnhiaXRzLmV4cHNpZ24gPSBCSUFTICsgayArIDEwMDAwOwotCQl0d29wa3AxMDAwMCA9IHYuZTsKLQl9Ci0KLQkvKiBFdmFsdWF0ZSBleHBsKGVuZHBvaW50W24yXSArIHIxICsgcjIpID0gdGJsW24yXSAqIGV4cGwocjEgKyByMikuICovCi0JZHIgPSByOwotCXEgPSByMiArIHIgKiByICogKEEyICsgciAqIChBMyArIHIgKiAoQTQgKyByICogKEE1ICsgciAqIChBNiArCi0JICAgIGRyICogKEE3ICsgZHIgKiAoQTggKyBkciAqIChBOSArIGRyICogQTEwKSkpKSkpKSk7Ci0JdCA9IHRibFtuMl0ubG8gKyB0YmxbbjJdLmhpOwotCXQgPSB0YmxbbjJdLmxvICsgdCAqIChxICsgcjEpICsgdGJsW24yXS5oaTsKKwl0d29wayA9IDE7CisJX19rX2V4cGwoeCwgJmhpLCAmbG8sICZrKTsKKwl0ID0gU1VNMlAoaGksIGxvKTsKIAogCS8qIFNjYWxlIGJ5IDIqKmsuICovCisJLyogWFhYIHNwYXJjNjQgbXVsdGlwbGljYXRpb24gaXMgc28gc2xvdyB0aGF0IHNjYWxibmwoKSBpcyBmYXN0ZXIuICovCiAJaWYgKGsgPj0gTERCTF9NSU5fRVhQKSB7CiAJCWlmIChrID09IExEQkxfTUFYX0VYUCkKIAkJCVJFVFVSTkkodCAqIDIgKiAweDFwMTYzODNMKTsKKwkJU0VUX0xEQkxfRVhQU0lHTih0d29waywgQklBUyArIGspOwogCQlSRVRVUk5JKHQgKiB0d29wayk7CiAJfSBlbHNlIHsKLQkJUkVUVVJOSSh0ICogdHdvcGtwMTAwMDAgKiB0d29tMTAwMDApOworCQlTRVRfTERCTF9FWFBTSUdOKHR3b3BrLCBCSUFTICsgayArIDEwMDAwKTsKKwkJUkVUVVJOSSh0ICogdHdvcGsgKiB0d29tMTAwMDApOwogCX0KIH0KIApAQCAtMzEyLDYgKzExNiwxMiBAQAogICogU2V0dGluZyBUMyB0byAwIHdvdWxkIHJlcXVpcmUgdGhlIHx4fCA8IDB4MXAtMTEzIGNvbmRpdGlvbiB0byBhcHBlYXIKICAqIGluIGJvdGggc3ViaW50ZXJ2YWxzLCBzbyBzZXQgVDMgPSAyKiotNSwgd2hpY2ggcGxhY2VzIHRoZSBjb25kaXRpb24KICAqIGludG8gdGhlIFtUMSwgVDNdIGludGVydmFsLgorICoKKyAqIFhYWCB3ZSBub3cgZG8gdGhpcyBtb3JlIHRvIChwYXJ0aWFsbHkpIGJhbGFuY2UgdGhlIG51bWJlciBvZiB0ZXJtcworICogaW4gdGhlIEMgYW5kIEQgcG9seXMgdGhhbiB0byBhdm9pZCBjaGVja2luZyB0aGUgY29uZGl0aW9uIGluIGJvdGgKKyAqIGludGVydmFscy4KKyAqCisgKiBYWFggdGhlc2UgbWljcm8tb3B0aW1pemF0aW9ucyBhcmUgZXhjZXNzaXZlLgogICovCiBzdGF0aWMgY29uc3QgZG91YmxlCiBUMSA9IC0wLjE2NTksCQkJCS8qIH4tMzAuNjI1LzEyOCAqIGxvZygyKSAqLwpAQCAtMzIxLDYgKzEzMSwxMiBAQAogLyoKICAqIERvbWFpbiBbLTAuMTY1OSwgMC4wMzEyNV0sIHJhbmdlIH5bMi45MTM0ZS00NCwgMS44NDA0ZS0zN106CiAgKiB8KGV4cCh4KS0xLXgteCoqMi8yKS94IC0gcCh4KXwgPCAyKiotMTIyLjAzCisgKgorICogWFhYIG5vbmUgb2YgdGhlIGxvbmcgZG91YmxlIEMgb3IgRCBjb2VmZnMgZXhjZXB0IEMxMCBpcyBjb3JyZWN0bHkgcHJpbnRlZC4KKyAqIElmIHlvdSByZS1wcmludCB0aGVpciB2YWx1ZXMgaW4gJS4zNUxlIGZvcm1hdCwgdGhlIHJlc3VsdCBpcyBhbHdheXMKKyAqIGRpZmZlcmVudC4gIEZvciBleGFtcGxlLCB0aGUgbGFzdCAyIGRpZ2l0cyBpbiBDMyBzaG91bGQgYmUgNTksIG5vdCA2Ny4KKyAqIDY3IGlzIGFwcGFyZW50bHkgZnJvbSByb3VuZGluZyBhbiBleHRyYS1wcmVjaXNpb24gdmFsdWUgdG8gMzYgZGVjaW1hbAorICogcGxhY2VzLgogICovCiBzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUKIEMzICA9ICAxLjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY3ZS0xTCwKQEAgLTMzNSw2ICsxNTEsMTMgQEAKIEMxMiA9ICAyLjA4NzY3NTY5ODc4Njc5NTc2NDU3MjcyMjgyNTY2NTIwNjQ5ZS05TCwKIEMxMyA9ICAxLjYwNTkwNDM4MzY3MjUyNDcxNzgzNTQ4NzQ4ODI0MjU1NzA3ZS0xMEw7CiAKKy8qCisgKiBYWFggdGhpcyBoYXMgMSBtb3JlIGNvZWZmIHRoYW4gbmVlZGVkLgorICogWFhYIGNhbiBzdGFydCB0aGUgZG91YmxlIGNvZWZmcyBidXQgbm90IHRoZSBkb3VibGUgbXVsdHMgYXQgQzEwLgorICogV2l0aCBteSBjb2VmZnMgKEMxMC1DMTcgZG91YmxlOyBzID0gYmVzdF9zKToKKyAqIERvbWFpbiBbLTAuMTY1OSwgMC4wMzEyNV0sIHJhbmdlIH5bLTEuMTk3NmUtMzcsIDEuMTk3NmUtMzddOgorICogfChleHAoeCktMS14LXgqKjIvMikveCAtIHAoeCl8IH48IDIqKi0xMjIuNjUKKyAqLwogc3RhdGljIGNvbnN0IGRvdWJsZQogQzE0ID0gIDEuMTQ3MDc0NTU4MDQ5MTkzMmUtMTEsCQkvKiAgMHgxLjkzOTc0YTgxZGFlMzBwLTM3ICovCiBDMTUgPSAgNy42NDcxNjIwMTgxMDkwNDY4ZS0xMywJCS8qICAweDEuYWU3ZjM4MjBhZGFiMXAtNDEgKi8KQEAgLTM1OSw2ICsxODIsMTMgQEAKIEQxMiA9ICAyLjA4NzY3NTY5ODE5NzM4NTI0NDg4Njg2MzE4MDI0ODU0OTQyZS05TCwKIEQxMyA9ICAxLjYwNTkwNDQyMjk3MDA4NDk1MzAxOTI3NDQ4MTIyNDk5MzEzZS0xMEw7CiAKKy8qCisgKiBYWFggdGhpcyBoYXMgMSBtb3JlIGNvZWZmIHRoYW4gbmVlZGVkLgorICogWFhYIGNhbiBzdGFydCB0aGUgZG91YmxlIGNvZWZmcyBidXQgbm90IHRoZSBkb3VibGUgbXVsdHMgYXQgRDExLgorICogV2l0aCBteSBjb2VmZnMgKEQxMS1EMTYgZG91YmxlKToKKyAqIERvbWFpbiBbMC4wMzEyNSwgMC4xNjU5XSwgcmFuZ2UgflstMS4xOTgwZS0zNywgMS4xOTgwZS0zN106CisgKiB8KGV4cCh4KS0xLXgteCoqMi8yKS94IC0gcCh4KXwgfjwgMioqLTEyMi42NQorICovCiBzdGF0aWMgY29uc3QgZG91YmxlCiBEMTQgPSAgMS4xNDcwNzI2MTc2MjA0MzM2ZS0xMSwJCS8qICAweDEuOTM5NzFkYzM5NWQ5ZXAtMzcgKi8KIEQxNSA9ICA3LjY0Nzg1MzIyNDk1ODE2ODZlLTEzLAkJLyogIDB4MS5hZTg5MmUzRDE2ZmNlcC00MSAqLwpAQCAtMzc1LDYgKzIwNSw4IEBACiAJaW50IGssIG4sIG4yOwogCXVpbnQxNl90IGh4LCBpeDsKIAorCURPUFJJTlRfU1RBUlQoJngpOworCiAJLyogRmlsdGVyIG91dCBleGNlcHRpb25hbCBjYXNlcy4gKi8KIAl1LmUgPSB4OwogCWh4ID0gdS54Yml0cy5leHBzaWduOwpAQCAtMzgyLDExICsyMTQsMTEgQEAKIAlpZiAoaXggPj0gQklBUyArIDcpIHsJCS8qIHx4fCA+PSAxMjggb3IgeCBpcyBOYU4gKi8KIAkJaWYgKGl4ID09IEJJQVMgKyBMREJMX01BWF9FWFApIHsKIAkJCWlmIChoeCAmIDB4ODAwMCkgIC8qIHggaXMgLUluZiBvciAtTmFOICovCi0JCQkJcmV0dXJuICgtMSAvIHggLSAxKTsKLQkJCXJldHVybiAoeCArIHgpOwkvKiB4IGlzICtJbmYgb3IgK05hTiAqLworCQkJCVJFVFVSTlAoLTEgLyB4IC0gMSk7CisJCQlSRVRVUk5QKHggKyB4KTsJLyogeCBpcyArSW5mIG9yICtOYU4gKi8KIAkJfQogCQlpZiAoeCA+IG9fdGhyZXNob2xkKQotCQkJcmV0dXJuIChodWdlICogaHVnZSk7CisJCQlSRVRVUk5QKGh1Z2UgKiBodWdlKTsKIAkJLyoKIAkJICogZXhwbTFsKCkgbmV2ZXIgdW5kZXJmbG93cywgYnV0IGl0IG11c3QgYXZvaWQKIAkJICogdW5yZXByZXNlbnRhYmxlIGxhcmdlIG5lZ2F0aXZlIGV4cG9uZW50cy4gIFdlIHVzZWQgYQpAQCAtMzk1LDcgKzIyNyw3IEBACiAJCSAqIGluIHRoZSBzYW1lIHdheSBhcyBsYXJnZSBvbmVzIGhlcmUuCiAJCSAqLwogCQlpZiAoaHggJiAweDgwMDApCS8qIHggPD0gLTEyOCAqLwotCQkJcmV0dXJuICh0aW55IC0gMSk7CS8qIGdvb2QgZm9yIHggPCAtMTE0bG4yIC0gZXBzICovCisJCQlSRVRVUk4yUCh0aW55LCAtMSk7CS8qIGdvb2QgZm9yIHggPCAtMTE0bG4yIC0gZXBzICovCiAJfQogCiAJRU5URVJJKCk7CkBAIC00MDcsNyArMjM5LDcgQEAKIAkJaWYgKHggPCBUMykgewogCQkJaWYgKGl4IDwgQklBUyAtIDExMykgewkvKiB8eHwgPCAweDFwLTExMyAqLwogCQkJCS8qIHggKHJvdW5kZWQpIHdpdGggaW5leGFjdCBpZiB4ICE9IDA6ICovCi0JCQkJUkVUVVJOSSh4ID09IDAgPyB4IDoKKwkJCQlSRVRVUk5QSSh4ID09IDAgPyB4IDoKIAkJCQkgICAgKDB4MXAyMDAgKiB4ICsgZmFic2woeCkpICogMHgxcC0yMDApOwogCQkJfQogCQkJcSA9IHggKiB4MiAqIEMzICsgeDIgKiB4MiAqIChDNCArIHggKiAoQzUgKyB4ICogKEM2ICsKQEAgLTQyOCw5ICsyNjAsOSBAQAogCQloeDJfaGkgPSB4X2hpICogeF9oaSAvIDI7CiAJCWh4Ml9sbyA9IHhfbG8gKiAoeCArIHhfaGkpIC8gMjsKIAkJaWYgKGl4ID49IEJJQVMgLSA3KQotCQkJUkVUVVJOSShoeDJfbG8gKyB4X2xvICsgcSArIChoeDJfaGkgKyB4X2hpKSk7CisJCQlSRVRVUk4yUEkoaHgyX2hpICsgeF9oaSwgaHgyX2xvICsgeF9sbyArIHEpOwogCQllbHNlCi0JCQlSRVRVUk5JKGh4Ml9sbyArIHEgKyBoeDJfaGkgKyB4KTsKKwkJCVJFVFVSTjJQSSh4LCBoeDJfbG8gKyBxICsgaHgyX2hpKTsKIAl9CiAKIAkvKiBSZWR1Y2UgeCB0byAoaypsbjIgKyBlbmRwb2ludFtuMl0gKyByMSArIHIyKS4gKi8KQEAgLTQ2MywyMSArMjk1LDIxIEBACiAJdCA9IHRibFtuMl0ubG8gKyB0YmxbbjJdLmhpOwogCiAJaWYgKGsgPT0gMCkgewotCQl0ID0gdGJsW24yXS5sbyAqIChyMSArIDEpICsgdCAqIHEgKyB0YmxbbjJdLmhpICogcjEgKwotCQkgICAgKHRibFtuMl0uaGkgLSAxKTsKKwkJdCA9IFNVTTJQKHRibFtuMl0uaGkgLSAxLCB0YmxbbjJdLmxvICogKHIxICsgMSkgKyB0ICogcSArCisJCSAgICB0YmxbbjJdLmhpICogcjEpOwogCQlSRVRVUk5JKHQpOwogCX0KIAlpZiAoayA9PSAtMSkgewotCQl0ID0gdGJsW24yXS5sbyAqIChyMSArIDEpICsgdCAqIHEgKyB0YmxbbjJdLmhpICogcjEgKyAKLQkJICAgICh0YmxbbjJdLmhpIC0gMik7CisJCXQgPSBTVU0yUCh0YmxbbjJdLmhpIC0gMiwgdGJsW24yXS5sbyAqIChyMSArIDEpICsgdCAqIHEgKworCQkgICAgdGJsW24yXS5oaSAqIHIxKTsKIAkJUkVUVVJOSSh0IC8gMik7CiAJfQogCWlmIChrIDwgLTcpIHsKLQkJdCA9IHRibFtuMl0ubG8gKyB0ICogKHEgKyByMSkgKyB0YmxbbjJdLmhpOworCQl0ID0gU1VNMlAodGJsW24yXS5oaSwgdGJsW24yXS5sbyArIHQgKiAocSArIHIxKSk7CiAJCVJFVFVSTkkodCAqIHR3b3BrIC0gMSk7CiAJfQogCWlmIChrID4gMiAqIExEQkxfTUFOVF9ESUcgLSAxKSB7Ci0JCXQgPSB0YmxbbjJdLmxvICsgdCAqIChxICsgcjEpICsgdGJsW24yXS5oaTsKKwkJdCA9IFNVTTJQKHRibFtuMl0uaGksIHRibFtuMl0ubG8gKyB0ICogKHEgKyByMSkpOwogCQlpZiAoayA9PSBMREJMX01BWF9FWFApCiAJCQlSRVRVUk5JKHQgKiAyICogMHgxcDE2MzgzTCAtIDEpOwogCQlSRVRVUk5JKHQgKiB0d29wayAtIDEpOwpAQCAtNDg3LDggKzMxOSw4IEBACiAJdHdvbWsgPSB2LmU7CiAKIAlpZiAoayA+IExEQkxfTUFOVF9ESUcgLSAxKQotCQl0ID0gdGJsW24yXS5sbyAtIHR3b21rICsgdCAqIChxICsgcjEpICsgdGJsW24yXS5oaTsKKwkJdCA9IFNVTTJQKHRibFtuMl0uaGksIHRibFtuMl0ubG8gLSB0d29tayArIHQgKiAocSArIHIxKSk7CiAJZWxzZQotCQl0ID0gdGJsW24yXS5sbyArIHQgKiAocSArIHIxKSArICh0YmxbbjJdLmhpIC0gdHdvbWspOworCQl0ID0gU1VNMlAodGJsW24yXS5oaSAtIHR3b21rLCB0YmxbbjJdLmxvICsgdCAqIChxICsgcjEpKTsKIAlSRVRVUk5JKHQgKiB0d29wayk7CiB9CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2NhdHJpZy5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9jYXRyaWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDA5NzdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9jYXRyaWcuYwpAQCAtMCwwICsxLDYzOSBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIgU3RlcGhlbiBNb250Z29tZXJ5LVNtaXRoIDxzdGVwaGVuQEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CitfX0ZCU0RJRCgiJEZyZWVCU0QkIik7CisKKyNpbmNsdWRlIDxjb21wbGV4Lmg+CisjaW5jbHVkZSA8ZmxvYXQuaD4KKworI2luY2x1ZGUgIm1hdGguaCIKKyNpbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIKKworI3VuZGVmIGlzaW5mCisjZGVmaW5lIGlzaW5mKHgpCShmYWJzKHgpID09IElORklOSVRZKQorI3VuZGVmIGlzbmFuCisjZGVmaW5lIGlzbmFuKHgpCSgoeCkgIT0gKHgpKQorI2RlZmluZQlyYWlzZV9pbmV4YWN0KCkJZG8geyB2b2xhdGlsZSBmbG9hdCBqdW5rID0gMSArIHRpbnk7IH0gd2hpbGUoMCkKKyN1bmRlZiBzaWduYml0CisjZGVmaW5lIHNpZ25iaXQoeCkJKF9fYnVpbHRpbl9zaWduYml0KHgpKQorCisvKiBXZSBuZWVkIHRoYXQgREJMX0VQU0lMT05eMi8xMjggaXMgbGFyZ2VyIHRoYW4gRk9VUl9TUVJUX01JTi4gKi8KK3N0YXRpYyBjb25zdCBkb3VibGUKK0FfY3Jvc3NvdmVyID0JCTEwLCAvKiBIdWxsIGV0IGFsIHN1Z2dlc3QgMS41LCBidXQgMTAgd29ya3MgYmV0dGVyICovCitCX2Nyb3Nzb3ZlciA9CQkwLjY0MTcsCQkJLyogc3VnZ2VzdGVkIGJ5IEh1bGwgZXQgYWwgKi8KK0ZPVVJfU1FSVF9NSU4gPQkJMHgxcC01MDksCQkvKiA+PSA0ICogc3FydChEQkxfTUlOKSAqLworUVVBUlRFUl9TUVJUX01BWCA9CTB4MXA1MDksCQkvKiA8PSBzcXJ0KERCTF9NQVgpIC8gNCAqLworbV9lID0JCQkyLjcxODI4MTgyODQ1OTA0NTJlMCwJLyogIDB4MTViZjBhOGIxNDU3NjkuMHAtNTEgKi8KK21fbG4yID0JCQk2LjkzMTQ3MTgwNTU5OTQ1MzFlLTEsCS8qICAweDE2MmU0MmZlZmEzOWVmLjBwLTUzICovCitwaW8yX2hpID0JCTEuNTcwNzk2MzI2Nzk0ODk2NmUwLAkvKiAgMHgxOTIxZmI1NDQ0MmQxOC4wcC01MiAqLworUkVDSVBfRVBTSUxPTiA9CQkxIC8gREJMX0VQU0lMT04sCitTUVJUXzNfRVBTSUxPTiA9CTIuNTgwOTU2ODI3OTUxNzg0OWUtOCwJLyogIDB4MWJiNjdhZTg1ODRjYWEuMHAtNzggKi8KK1NRUlRfNl9FUFNJTE9OID0JMy42NTAwMjQxNDk5ODg4NTcxZS04LAkvKiAgMHgxMzk4OGUxNDA5MjEyZS4wcC03NyAqLworU1FSVF9NSU4gPQkJMHgxcC01MTE7CQkvKiA+PSBzcXJ0KERCTF9NSU4pICovCisKK3N0YXRpYyBjb25zdCB2b2xhdGlsZSBkb3VibGUKK3BpbzJfbG8gPQkJNi4xMjMyMzM5OTU3MzY3NjU5ZS0xNzsJLyogIDB4MTFhNjI2MzMxNDVjMDcuMHAtMTA2ICovCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgZmxvYXQKK3RpbnkgPQkJCTB4MXAtMTAwOyAKKworc3RhdGljIGRvdWJsZSBjb21wbGV4IGNsb2dfZm9yX2xhcmdlX3ZhbHVlcyhkb3VibGUgY29tcGxleCB6KTsKKworLyoKKyAqIFRlc3RpbmcgaW5kaWNhdGVzIHRoYXQgYWxsIHRoZXNlIGZ1bmN0aW9ucyBhcmUgYWNjdXJhdGUgdXAgdG8gNCBVTFAuCisgKiBUaGUgZnVuY3Rpb25zIGNhc2luKGgpIGFuZCBjYWNvcyhoKSBhcmUgYWJvdXQgMi41IHRpbWVzIHNsb3dlciB0aGFuIGFzaW5oLgorICogVGhlIGZ1bmN0aW9ucyBjYXRhbihoKSBhcmUgYSBsaXR0bGUgdW5kZXIgMiB0aW1lcyBzbG93ZXIgdGhhbiBhdGFuaC4KKyAqCisgKiBUaGUgY29kZSBmb3IgY2FzaW5oLCBjYXNpbiwgY2Fjb3MsIGFuZCBjYWNvc2ggY29tZXMgZmlyc3QuICBUaGUgY29kZSBpcworICogcmF0aGVyIGNvbXBsaWNhdGVkLCBhbmQgdGhlIGZvdXIgZnVuY3Rpb25zIGFyZSBoaWdobHkgaW50ZXJkZXBlbmRlbnQuCisgKgorICogVGhlIGNvZGUgZm9yIGNhdGFuaCBhbmQgY2F0YW4gY29tZXMgYXQgdGhlIGVuZC4gIEl0IGlzIG11Y2ggc2ltcGxlciB0aGFuCisgKiB0aGUgb3RoZXIgZnVuY3Rpb25zLCBhbmQgdGhlIGNvZGUgZm9yIHRoZXNlIGNhbiBiZSBkaXNjb25uZWN0ZWQgZnJvbSB0aGUKKyAqIHJlc3Qgb2YgdGhlIGNvZGUuCisgKi8KKworLyoKKyAqCQkJPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqCQkJfCBjYXNpbmgsIGNhc2luLCBjYWNvcywgY2Fjb3NoIHwKKyAqCQkJPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqLworCisvKgorICogVGhlIGFsZ29yaXRobSBpcyB2ZXJ5IGNsb3NlIHRvIHRoYXQgaW4gIkltcGxlbWVudGluZyB0aGUgY29tcGxleCBhcmNzaW5lCisgKiBhbmQgYXJjY29zaW5lIGZ1bmN0aW9ucyB1c2luZyBleGNlcHRpb24gaGFuZGxpbmciIGJ5IFQuIEUuIEh1bGwsIFRob21hcyBGLgorICogRmFpcmdyaWV2ZSwgYW5kIFBpbmcgVGFrIFBldGVyIFRhbmcsIHB1Ymxpc2hlZCBpbiBBQ00gVHJhbnNhY3Rpb25zIG9uCisgKiBNYXRoZW1hdGljYWwgU29mdHdhcmUsIFZvbHVtZSAyMyBJc3N1ZSAzLCAxOTk3LCBQYWdlcyAyOTktMzM1LAorICogaHR0cDovL2RsLmFjbS5vcmcvY2l0YXRpb24uY2ZtP2lkPTI3NTMyNC4KKyAqCisgKiBUaHJvdWdob3V0IHdlIHVzZSB0aGUgY29udmVudGlvbiB6ID0geCArIEkqeS4KKyAqCisgKiBjYXNpbmgoeikgPSBzaWduKHgpKmxvZyhBK3NxcnQoQSpBLTEpKSArIEkqYXNpbihCKQorICogd2hlcmUKKyAqIEEgPSAofHorSXwgKyB8ei1JfCkgLyAyCisgKiBCID0gKHx6K0l8IC0gfHotSXwpIC8gMiA9IHkvQQorICoKKyAqIFRoZXNlIGZvcm11bGFzIGJlY29tZSBudW1lcmljYWxseSB1bnN0YWJsZToKKyAqICAgKGEpIGZvciBSZShjYXNpbmgoeikpIHdoZW4geiBpcyBjbG9zZSB0byB0aGUgbGluZSBzZWdtZW50IFstSSwgSV0gKHRoYXQKKyAqICAgICAgIGlzLCBSZShjYXNpbmgoeikpIGlzIGNsb3NlIHRvIDApOworICogICAoYikgZm9yIEltKGNhc2luaCh6KSkgd2hlbiB6IGlzIGNsb3NlIHRvIGVpdGhlciBvZiB0aGUgaW50ZXJ2YWxzCisgKiAgICAgICBbSSwgSSppbmZpbml0eSkgb3IgKC1JKmluZmluaXR5LCAtSV0gKHRoYXQgaXMsIHxJbShjYXNpbmgoeikpfCBpcworICogICAgICAgY2xvc2UgdG8gUEkvMikuCisgKgorICogVGhlc2UgbnVtZXJpY2FsIHByb2JsZW1zIGFyZSBvdmVyY29tZSBieSBkZWZpbmluZworICogZihhLCBiKSA9IChoeXBvdChhLCBiKSAtIGIpIC8gMiA9IGEqYSAvIChoeXBvdChhLCBiKSArIGIpIC8gMgorICogVGhlbiBpZiBBIDwgQV9jcm9zc292ZXIsIHdlIHVzZQorICogICBsb2coQSArIHNxcnQoQSpBLTEpKSA9IGxvZzFwKChBLTEpICsgc3FydCgoQS0xKSooQSsxKSkpCisgKiAgIEEtMSA9IGYoeCwgMSt5KSArIGYoeCwgMS15KQorICogYW5kIGlmIEIgPiBCX2Nyb3Nzb3Zlciwgd2UgdXNlCisgKiAgIGFzaW4oQikgPSBhdGFuMih5LCBzcXJ0KEEqQSAtIHkqeSkpID0gYXRhbjIoeSwgc3FydCgoQSt5KSooQS15KSkpCisgKiAgIEEteSA9IGYoeCwgeSsxKSArIGYoeCwgeS0xKQorICogd2hlcmUgd2l0aG91dCBsb3NzIG9mIGdlbmVyYWxpdHkgd2UgaGF2ZSBhc3N1bWVkIHRoYXQgeCBhbmQgeSBhcmUKKyAqIG5vbi1uZWdhdGl2ZS4KKyAqCisgKiBNdWNoIG9mIHRoZSBkaWZmaWN1bHR5IGNvbWVzIGJlY2F1c2UgdGhlIGludGVybWVkaWF0ZSBjb21wdXRhdGlvbnMgbWF5CisgKiBwcm9kdWNlIG92ZXJmbG93cyBvciB1bmRlcmZsb3dzLiAgVGhpcyBpcyBkZWFsdCB3aXRoIGluIHRoZSBwYXBlciBieSBIdWxsCisgKiBldCBhbCBieSB1c2luZyBleGNlcHRpb24gaGFuZGxpbmcuICBXZSBkbyB0aGlzIGJ5IGRldGVjdGluZyB3aGVuCisgKiBjb21wdXRhdGlvbnMgcmlzayB1bmRlcmZsb3cgb3Igb3ZlcmZsb3cuICBUaGUgaGFyZGVzdCBwYXJ0IGlzIGhhbmRsaW5nIHRoZQorICogdW5kZXJmbG93cyB3aGVuIGNvbXB1dGluZyBmKGEsIGIpLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gZihhLCBiKSBkb2VzIG5vdCBhcHBlYXIgZXhwbGljaXRseSBpbiB0aGUgcGFwZXIgYnkKKyAqIEh1bGwgZXQgYWwsIGJ1dCB0aGUgaWRlYSBtYXkgYmUgZm91bmQgb24gcGFnZXMgMzA4IGFuZCAzMDkuICBJbnRyb2R1Y2luZyB0aGUKKyAqIGZ1bmN0aW9uIGYoYSwgYikgYWxsb3dzIHVzIHRvIGNvbmNlbnRyYXRlIG1hbnkgb2YgdGhlIGNsZXZlciB0cmlja3MgaW4gdGhpcworICogcGFwZXIgaW50byBvbmUgZnVuY3Rpb24uCisgKi8KKworLyoKKyAqIEZ1bmN0aW9uIGYoYSwgYiwgaHlwb3RfYV9iKSA9IChoeXBvdChhLCBiKSAtIGIpIC8gMi4KKyAqIFBhc3MgaHlwb3QoYSwgYikgYXMgdGhlIHRoaXJkIGFyZ3VtZW50LgorICovCitzdGF0aWMgaW5saW5lIGRvdWJsZQorZihkb3VibGUgYSwgZG91YmxlIGIsIGRvdWJsZSBoeXBvdF9hX2IpCit7CisJaWYgKGIgPCAwKQorCQlyZXR1cm4gKChoeXBvdF9hX2IgLSBiKSAvIDIpOworCWlmIChiID09IDApCisJCXJldHVybiAoYSAvIDIpOworCXJldHVybiAoYSAqIGEgLyAoaHlwb3RfYV9iICsgYikgLyAyKTsKK30KKworLyoKKyAqIEFsbCB0aGUgaGFyZCB3b3JrIGlzIGNvbnRhaW5lZCBpbiB0aGlzIGZ1bmN0aW9uLgorICogeCBhbmQgeSBhcmUgYXNzdW1lZCBwb3NpdGl2ZSBvciB6ZXJvLCBhbmQgbGVzcyB0aGFuIFJFQ0lQX0VQU0lMT04uCisgKiBVcG9uIHJldHVybjoKKyAqIHJ4ID0gUmUoY2FzaW5oKHopKSA9IC1JbShjYWNvcyh5ICsgSSp4KSkuCisgKiBCX2lzX3VzYWJsZSBpcyBzZXQgdG8gMSBpZiB0aGUgdmFsdWUgb2YgQiBpcyB1c2FibGUuCisgKiBJZiBCX2lzX3VzYWJsZSBpcyBzZXQgdG8gMCwgc3FydF9BMm15MiA9IHNxcnQoQSpBIC0geSp5KSwgYW5kIG5ld195ID0geS4KKyAqIElmIHJldHVybmluZyBzcXJ0X0EybXkyIGhhcyBwb3RlbnRpYWwgdG8gcmVzdWx0IGluIGFuIHVuZGVyZmxvdywgaXQgaXMKKyAqIHJlc2NhbGVkLCBhbmQgbmV3X3kgaXMgc2ltaWxhcmx5IHJlc2NhbGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQKK2RvX2hhcmRfd29yayhkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSAqcngsIGludCAqQl9pc191c2FibGUsIGRvdWJsZSAqQiwKKyAgICBkb3VibGUgKnNxcnRfQTJteTIsIGRvdWJsZSAqbmV3X3kpCit7CisJZG91YmxlIFIsIFMsIEE7IC8qIEEsIEIsIFIsIGFuZCBTIGFyZSBhcyBpbiBIdWxsIGV0IGFsLiAqLworCWRvdWJsZSBBbTEsIEFteTsgLyogQS0xLCBBLXkuICovCisKKwlSID0gaHlwb3QoeCwgeSArIDEpOwkJLyogfHorSXwgKi8KKwlTID0gaHlwb3QoeCwgeSAtIDEpOwkJLyogfHotSXwgKi8KKworCS8qIEEgPSAofHorSXwgKyB8ei1JfCkgLyAyICovCisJQSA9IChSICsgUykgLyAyOworCS8qCisJICogTWF0aGVtYXRpY2FsbHkgQSA+PSAxLiAgVGhlcmUgaXMgYSBzbWFsbCBjaGFuY2UgdGhhdCB0aGlzIHdpbGwgbm90CisJICogYmUgc28gYmVjYXVzZSBvZiByb3VuZGluZyBlcnJvcnMuICBTbyB3ZSB3aWxsIG1ha2UgY2VydGFpbiBpdCBpcworCSAqIHNvLgorCSAqLworCWlmIChBIDwgMSkKKwkJQSA9IDE7CisKKwlpZiAoQSA8IEFfY3Jvc3NvdmVyKSB7CisJCS8qCisJCSAqIEFtMSA9IGZwICsgZm0sIHdoZXJlIGZwID0gZih4LCAxK3kpLCBhbmQgZm0gPSBmKHgsIDEteSkuCisJCSAqIHJ4ID0gbG9nMXAoQW0xICsgc3FydChBbTEqKEErMSkpKQorCQkgKi8KKwkJaWYgKHkgPT0gMSAmJiB4IDwgREJMX0VQU0lMT04gKiBEQkxfRVBTSUxPTiAvIDEyOCkgeworCQkJLyoKKwkJCSAqIGZwIGlzIG9mIG9yZGVyIHheMiwgYW5kIGZtID0geC8yLgorCQkJICogQSA9IDEgKGluZXhhY3RseSkuCisJCQkgKi8KKwkJCSpyeCA9IHNxcnQoeCk7CisJCX0gZWxzZSBpZiAoeCA+PSBEQkxfRVBTSUxPTiAqIGZhYnMoeSAtIDEpKSB7CisJCQkvKgorCQkJICogVW5kZXJmbG93IHdpbGwgbm90IG9jY3VyIGJlY2F1c2UKKwkJCSAqIHggPj0gREJMX0VQU0lMT05eMi8xMjggPj0gRk9VUl9TUVJUX01JTgorCQkJICovCisJCQlBbTEgPSBmKHgsIDEgKyB5LCBSKSArIGYoeCwgMSAtIHksIFMpOworCQkJKnJ4ID0gbG9nMXAoQW0xICsgc3FydChBbTEgKiAoQSArIDEpKSk7CisJCX0gZWxzZSBpZiAoeSA8IDEpIHsKKwkJCS8qCisJCQkgKiBmcCA9IHgqeC8oMSt5KS80LCBmbSA9IHgqeC8oMS15KS80LCBhbmQKKwkJCSAqIEEgPSAxIChpbmV4YWN0bHkpLgorCQkJICovCisJCQkqcnggPSB4IC8gc3FydCgoMSAtIHkpICogKDEgKyB5KSk7CisJCX0gZWxzZSB7CQkvKiBpZiAoeSA+IDEpICovCisJCQkvKgorCQkJICogQS0xID0geS0xIChpbmV4YWN0bHkpLgorCQkJICovCisJCQkqcnggPSBsb2cxcCgoeSAtIDEpICsgc3FydCgoeSAtIDEpICogKHkgKyAxKSkpOworCQl9CisJfSBlbHNlIHsKKwkJKnJ4ID0gbG9nKEEgKyBzcXJ0KEEgKiBBIC0gMSkpOworCX0KKworCSpuZXdfeSA9IHk7CisKKwlpZiAoeSA8IEZPVVJfU1FSVF9NSU4pIHsKKwkJLyoKKwkJICogQXZvaWQgYSBwb3NzaWJsZSB1bmRlcmZsb3cgY2F1c2VkIGJ5IHkvQS4gIEZvciBjYXNpbmggdGhpcworCQkgKiB3b3VsZCBiZSBsZWdpdGltYXRlLCBidXQgd2lsbCBiZSBwaWNrZWQgdXAgYnkgaW52b2tpbmcgYXRhbjIKKwkJICogbGF0ZXIgb24uICBGb3IgY2Fjb3MgdGhpcyB3b3VsZCBub3QgYmUgbGVnaXRpbWF0ZS4KKwkJICovCisJCSpCX2lzX3VzYWJsZSA9IDA7CisJCSpzcXJ0X0EybXkyID0gQSAqICgyIC8gREJMX0VQU0lMT04pOworCQkqbmV3X3kgPSB5ICogKDIgLyBEQkxfRVBTSUxPTik7CisJCXJldHVybjsKKwl9CisKKwkvKiBCID0gKHx6K0l8IC0gfHotSXwpIC8gMiA9IHkvQSAqLworCSpCID0geSAvIEE7CisJKkJfaXNfdXNhYmxlID0gMTsKKworCWlmICgqQiA+IEJfY3Jvc3NvdmVyKSB7CisJCSpCX2lzX3VzYWJsZSA9IDA7CisJCS8qCisJCSAqIEFteSA9IGZwICsgZm0sIHdoZXJlIGZwID0gZih4LCB5KzEpLCBhbmQgZm0gPSBmKHgsIHktMSkuCisJCSAqIHNxcnRfQTJteTIgPSBzcXJ0KEFteSooQSt5KSkKKwkJICovCisJCWlmICh5ID09IDEgJiYgeCA8IERCTF9FUFNJTE9OIC8gMTI4KSB7CisJCQkvKgorCQkJICogZnAgaXMgb2Ygb3JkZXIgeF4yLCBhbmQgZm0gPSB4LzIuCisJCQkgKiBBID0gMSAoaW5leGFjdGx5KS4KKwkJCSAqLworCQkJKnNxcnRfQTJteTIgPSBzcXJ0KHgpICogc3FydCgoQSArIHkpIC8gMik7CisJCX0gZWxzZSBpZiAoeCA+PSBEQkxfRVBTSUxPTiAqIGZhYnMoeSAtIDEpKSB7CisJCQkvKgorCQkJICogVW5kZXJmbG93IHdpbGwgbm90IG9jY3VyIGJlY2F1c2UKKwkJCSAqIHggPj0gREJMX0VQU0lMT04vMTI4ID49IEZPVVJfU1FSVF9NSU4KKwkJCSAqIGFuZAorCQkJICogeCA+PSBEQkxfRVBTSUxPTl4yID49IEZPVVJfU1FSVF9NSU4KKwkJCSAqLworCQkJQW15ID0gZih4LCB5ICsgMSwgUikgKyBmKHgsIHkgLSAxLCBTKTsKKwkJCSpzcXJ0X0EybXkyID0gc3FydChBbXkgKiAoQSArIHkpKTsKKwkJfSBlbHNlIGlmICh5ID4gMSkgeworCQkJLyoKKwkJCSAqIGZwID0geCp4Lyh5KzEpLzQsIGZtID0geCp4Lyh5LTEpLzQsIGFuZAorCQkJICogQSA9IHkgKGluZXhhY3RseSkuCisJCQkgKgorCQkJICogeSA8IFJFQ0lQX0VQU0lMT04uICBTbyB0aGUgZm9sbG93aW5nCisJCQkgKiBzY2FsaW5nIHNob3VsZCBhdm9pZCBhbnkgdW5kZXJmbG93IHByb2JsZW1zLgorCQkJICovCisJCQkqc3FydF9BMm15MiA9IHggKiAoNCAvIERCTF9FUFNJTE9OIC8gREJMX0VQU0lMT04pICogeSAvCisJCQkgICAgc3FydCgoeSArIDEpICogKHkgLSAxKSk7CisJCQkqbmV3X3kgPSB5ICogKDQgLyBEQkxfRVBTSUxPTiAvIERCTF9FUFNJTE9OKTsKKwkJfSBlbHNlIHsJCS8qIGlmICh5IDwgMSkgKi8KKwkJCS8qCisJCQkgKiBmbSA9IDEteSA+PSBEQkxfRVBTSUxPTiwgZnAgaXMgb2Ygb3JkZXIgeF4yLCBhbmQKKwkJCSAqIEEgPSAxIChpbmV4YWN0bHkpLgorCQkJICovCisJCQkqc3FydF9BMm15MiA9IHNxcnQoKDEgLSB5KSAqICgxICsgeSkpOworCQl9CisJfQorfQorCisvKgorICogY2FzaW5oKHopID0geiArIE8oel4zKSAgIGFzIHogLT4gMAorICoKKyAqIGNhc2luaCh6KSA9IHNpZ24oeCkqY2xvZyhzaWduKHgpKnopICsgTygxL3peMikgICBhcyB6IC0+IGluZmluaXR5CisgKiBUaGUgYWJvdmUgZm9ybXVsYSB3b3JrcyBmb3IgdGhlIGltYWdpbmFyeSBwYXJ0IGFzIHdlbGwsIGJlY2F1c2UKKyAqIEltKGNhc2luaCh6KSkgPSBzaWduKHgpKmF0YW4yKHNpZ24oeCkqeSwgZmFicyh4KSkgKyBPKHkvel4zKQorICogICAgYXMgeiAtPiBpbmZpbml0eSwgdW5pZm9ybWx5IGluIHkKKyAqLworZG91YmxlIGNvbXBsZXgKK2Nhc2luaChkb3VibGUgY29tcGxleCB6KQoreworCWRvdWJsZSB4LCB5LCBheCwgYXksIHJ4LCByeSwgQiwgc3FydF9BMm15MiwgbmV3X3k7CisJaW50IEJfaXNfdXNhYmxlOworCWRvdWJsZSBjb21wbGV4IHc7CisKKwl4ID0gY3JlYWwoeik7CisJeSA9IGNpbWFnKHopOworCWF4ID0gZmFicyh4KTsKKwlheSA9IGZhYnMoeSk7CisKKwlpZiAoaXNuYW4oeCkgfHwgaXNuYW4oeSkpIHsKKwkJLyogY2FzaW5oKCstSW5mICsgSSpOYU4pID0gKy1JbmYgKyBJKk5hTiAqLworCQlpZiAoaXNpbmYoeCkpCisJCQlyZXR1cm4gKGNwYWNrKHgsIHkgKyB5KSk7CisJCS8qIGNhc2luaChOYU4gKyBJKistSW5mKSA9IG9wdCgrLSlJbmYgKyBJKk5hTiAqLworCQlpZiAoaXNpbmYoeSkpCisJCQlyZXR1cm4gKGNwYWNrKHksIHggKyB4KSk7CisJCS8qIGNhc2luaChOYU4gKyBJKjApID0gTmFOICsgSSowICovCisJCWlmICh5ID09IDApCisJCQlyZXR1cm4gKGNwYWNrKHggKyB4LCB5KSk7CisJCS8qCisJCSAqIEFsbCBvdGhlciBjYXNlcyBpbnZvbHZpbmcgTmFOIHJldHVybiBOYU4gKyBJKk5hTi4KKwkJICogQzk5IGxlYXZlcyBpdCBvcHRpb25hbCB3aGV0aGVyIHRvIHJhaXNlIGludmFsaWQgaWYgb25lIG9mCisJCSAqIHRoZSBhcmd1bWVudHMgaXMgbm90IE5hTiwgc28gd2Ugb3B0IG5vdCB0byByYWlzZSBpdC4KKwkJICovCisJCXJldHVybiAoY3BhY2soeCArIDAuMEwgKyAoeSArIDApLCB4ICsgMC4wTCArICh5ICsgMCkpKTsKKwl9CisKKwlpZiAoYXggPiBSRUNJUF9FUFNJTE9OIHx8IGF5ID4gUkVDSVBfRVBTSUxPTikgeworCQkvKiBjbG9nLi4uKCkgd2lsbCByYWlzZSBpbmV4YWN0IHVubGVzcyB4IG9yIHkgaXMgaW5maW5pdGUuICovCisJCWlmIChzaWduYml0KHgpID09IDApCisJCQl3ID0gY2xvZ19mb3JfbGFyZ2VfdmFsdWVzKHopICsgbV9sbjI7CisJCWVsc2UKKwkJCXcgPSBjbG9nX2Zvcl9sYXJnZV92YWx1ZXMoLXopICsgbV9sbjI7CisJCXJldHVybiAoY3BhY2soY29weXNpZ24oY3JlYWwodyksIHgpLCBjb3B5c2lnbihjaW1hZyh3KSwgeSkpKTsKKwl9CisKKwkvKiBBdm9pZCBzcHVyaW91c2x5IHJhaXNpbmcgaW5leGFjdCBmb3IgeiA9IDAuICovCisJaWYgKHggPT0gMCAmJiB5ID09IDApCisJCXJldHVybiAoeik7CisKKwkvKiBBbGwgcmVtYWluaW5nIGNhc2VzIGFyZSBpbmV4YWN0LiAqLworCXJhaXNlX2luZXhhY3QoKTsKKworCWlmIChheCA8IFNRUlRfNl9FUFNJTE9OIC8gNCAmJiBheSA8IFNRUlRfNl9FUFNJTE9OIC8gNCkKKwkJcmV0dXJuICh6KTsKKworCWRvX2hhcmRfd29yayhheCwgYXksICZyeCwgJkJfaXNfdXNhYmxlLCAmQiwgJnNxcnRfQTJteTIsICZuZXdfeSk7CisJaWYgKEJfaXNfdXNhYmxlKQorCQlyeSA9IGFzaW4oQik7CisJZWxzZQorCQlyeSA9IGF0YW4yKG5ld195LCBzcXJ0X0EybXkyKTsKKwlyZXR1cm4gKGNwYWNrKGNvcHlzaWduKHJ4LCB4KSwgY29weXNpZ24ocnksIHkpKSk7Cit9CisKKy8qCisgKiBjYXNpbih6KSA9IHJldmVyc2UoY2FzaW5oKHJldmVyc2UoeikpKQorICogd2hlcmUgcmV2ZXJzZSh4ICsgSSp5KSA9IHkgKyBJKnggPSBJKmNvbmooeikuCisgKi8KK2RvdWJsZSBjb21wbGV4CitjYXNpbihkb3VibGUgY29tcGxleCB6KQoreworCWRvdWJsZSBjb21wbGV4IHcgPSBjYXNpbmgoY3BhY2soY2ltYWcoeiksIGNyZWFsKHopKSk7CisKKwlyZXR1cm4gKGNwYWNrKGNpbWFnKHcpLCBjcmVhbCh3KSkpOworfQorCisvKgorICogY2Fjb3MoeikgPSBQSS8yIC0gY2FzaW4oeikKKyAqIGJ1dCBkbyB0aGUgY29tcHV0YXRpb24gY2FyZWZ1bGx5IHNvIGNhY29zKHopIGlzIGFjY3VyYXRlIHdoZW4geiBpcworICogY2xvc2UgdG8gMS4KKyAqCisgKiBjYWNvcyh6KSA9IFBJLzIgLSB6ICsgTyh6XjMpICAgYXMgeiAtPiAwCisgKgorICogY2Fjb3MoeikgPSAtc2lnbih5KSpJKmNsb2coeikgKyBPKDEvel4yKSAgIGFzIHogLT4gaW5maW5pdHkKKyAqIFRoZSBhYm92ZSBmb3JtdWxhIHdvcmtzIGZvciB0aGUgcmVhbCBwYXJ0IGFzIHdlbGwsIGJlY2F1c2UKKyAqIFJlKGNhY29zKHopKSA9IGF0YW4yKGZhYnMoeSksIHgpICsgTyh5L3peMykKKyAqICAgIGFzIHogLT4gaW5maW5pdHksIHVuaWZvcm1seSBpbiB5CisgKi8KK2RvdWJsZSBjb21wbGV4CitjYWNvcyhkb3VibGUgY29tcGxleCB6KQoreworCWRvdWJsZSB4LCB5LCBheCwgYXksIHJ4LCByeSwgQiwgc3FydF9BMm14MiwgbmV3X3g7CisJaW50IHN4LCBzeTsKKwlpbnQgQl9pc191c2FibGU7CisJZG91YmxlIGNvbXBsZXggdzsKKworCXggPSBjcmVhbCh6KTsKKwl5ID0gY2ltYWcoeik7CisJc3ggPSBzaWduYml0KHgpOworCXN5ID0gc2lnbmJpdCh5KTsKKwlheCA9IGZhYnMoeCk7CisJYXkgPSBmYWJzKHkpOworCisJaWYgKGlzbmFuKHgpIHx8IGlzbmFuKHkpKSB7CisJCS8qIGNhY29zKCstSW5mICsgSSpOYU4pID0gTmFOICsgSSpvcHQoLSlJbmYgKi8KKwkJaWYgKGlzaW5mKHgpKQorCQkJcmV0dXJuIChjcGFjayh5ICsgeSwgLUlORklOSVRZKSk7CisJCS8qIGNhY29zKE5hTiArIEkqKy1JbmYpID0gTmFOICsgSSotK0luZiAqLworCQlpZiAoaXNpbmYoeSkpCisJCQlyZXR1cm4gKGNwYWNrKHggKyB4LCAteSkpOworCQkvKiBjYWNvcygwICsgSSpOYU4pID0gUEkvMiArIEkqTmFOIHdpdGggaW5leGFjdCAqLworCQlpZiAoeCA9PSAwKQorCQkJcmV0dXJuIChjcGFjayhwaW8yX2hpICsgcGlvMl9sbywgeSArIHkpKTsKKwkJLyoKKwkJICogQWxsIG90aGVyIGNhc2VzIGludm9sdmluZyBOYU4gcmV0dXJuIE5hTiArIEkqTmFOLgorCQkgKiBDOTkgbGVhdmVzIGl0IG9wdGlvbmFsIHdoZXRoZXIgdG8gcmFpc2UgaW52YWxpZCBpZiBvbmUgb2YKKwkJICogdGhlIGFyZ3VtZW50cyBpcyBub3QgTmFOLCBzbyB3ZSBvcHQgbm90IHRvIHJhaXNlIGl0LgorCQkgKi8KKwkJcmV0dXJuIChjcGFjayh4ICsgMC4wTCArICh5ICsgMCksIHggKyAwLjBMICsgKHkgKyAwKSkpOworCX0KKworCWlmIChheCA+IFJFQ0lQX0VQU0lMT04gfHwgYXkgPiBSRUNJUF9FUFNJTE9OKSB7CisJCS8qIGNsb2cuLi4oKSB3aWxsIHJhaXNlIGluZXhhY3QgdW5sZXNzIHggb3IgeSBpcyBpbmZpbml0ZS4gKi8KKwkJdyA9IGNsb2dfZm9yX2xhcmdlX3ZhbHVlcyh6KTsKKwkJcnggPSBmYWJzKGNpbWFnKHcpKTsKKwkJcnkgPSBjcmVhbCh3KSArIG1fbG4yOworCQlpZiAoc3kgPT0gMCkKKwkJCXJ5ID0gLXJ5OworCQlyZXR1cm4gKGNwYWNrKHJ4LCByeSkpOworCX0KKworCS8qIEF2b2lkIHNwdXJpb3VzbHkgcmFpc2luZyBpbmV4YWN0IGZvciB6ID0gMS4gKi8KKwlpZiAoeCA9PSAxICYmIHkgPT0gMCkKKwkJcmV0dXJuIChjcGFjaygwLCAteSkpOworCisJLyogQWxsIHJlbWFpbmluZyBjYXNlcyBhcmUgaW5leGFjdC4gKi8KKwlyYWlzZV9pbmV4YWN0KCk7CisKKwlpZiAoYXggPCBTUVJUXzZfRVBTSUxPTiAvIDQgJiYgYXkgPCBTUVJUXzZfRVBTSUxPTiAvIDQpCisJCXJldHVybiAoY3BhY2socGlvMl9oaSAtICh4IC0gcGlvMl9sbyksIC15KSk7CisKKwlkb19oYXJkX3dvcmsoYXksIGF4LCAmcnksICZCX2lzX3VzYWJsZSwgJkIsICZzcXJ0X0EybXgyLCAmbmV3X3gpOworCWlmIChCX2lzX3VzYWJsZSkgeworCQlpZiAoc3ggPT0gMCkKKwkJCXJ4ID0gYWNvcyhCKTsKKwkJZWxzZQorCQkJcnggPSBhY29zKC1CKTsKKwl9IGVsc2UgeworCQlpZiAoc3ggPT0gMCkKKwkJCXJ4ID0gYXRhbjIoc3FydF9BMm14MiwgbmV3X3gpOworCQllbHNlCisJCQlyeCA9IGF0YW4yKHNxcnRfQTJteDIsIC1uZXdfeCk7CisJfQorCWlmIChzeSA9PSAwKQorCQlyeSA9IC1yeTsKKwlyZXR1cm4gKGNwYWNrKHJ4LCByeSkpOworfQorCisvKgorICogY2Fjb3NoKHopID0gSSpjYWNvcyh6KSBvciAtSSpjYWNvcyh6KQorICogd2hlcmUgdGhlIHNpZ24gaXMgY2hvc2VuIHNvIFJlKGNhY29zaCh6KSkgPj0gMC4KKyAqLworZG91YmxlIGNvbXBsZXgKK2NhY29zaChkb3VibGUgY29tcGxleCB6KQoreworCWRvdWJsZSBjb21wbGV4IHc7CisJZG91YmxlIHJ4LCByeTsKKworCXcgPSBjYWNvcyh6KTsKKwlyeCA9IGNyZWFsKHcpOworCXJ5ID0gY2ltYWcodyk7CisJLyogY2Fjb3NoKE5hTiArIEkqTmFOKSA9IE5hTiArIEkqTmFOICovCisJaWYgKGlzbmFuKHJ4KSAmJiBpc25hbihyeSkpCisJCXJldHVybiAoY3BhY2socnksIHJ4KSk7CisJLyogY2Fjb3NoKE5hTiArIEkqKy1JbmYpID0gK0luZiArIEkqTmFOICovCisJLyogY2Fjb3NoKCstSW5mICsgSSpOYU4pID0gK0luZiArIEkqTmFOICovCisJaWYgKGlzbmFuKHJ4KSkKKwkJcmV0dXJuIChjcGFjayhmYWJzKHJ5KSwgcngpKTsKKwkvKiBjYWNvc2goMCArIEkqTmFOKSA9IE5hTiArIEkqTmFOICovCisJaWYgKGlzbmFuKHJ5KSkKKwkJcmV0dXJuIChjcGFjayhyeSwgcnkpKTsKKwlyZXR1cm4gKGNwYWNrKGZhYnMocnkpLCBjb3B5c2lnbihyeCwgY2ltYWcoeikpKSk7Cit9CisKKy8qCisgKiBPcHRpbWl6ZWQgdmVyc2lvbiBvZiBjbG9nKCkgZm9yIHx6fCBmaW5pdGUgYW5kIGxhcmdlciB0aGFuIH5SRUNJUF9FUFNJTE9OLgorICovCitzdGF0aWMgZG91YmxlIGNvbXBsZXgKK2Nsb2dfZm9yX2xhcmdlX3ZhbHVlcyhkb3VibGUgY29tcGxleCB6KQoreworCWRvdWJsZSB4LCB5OworCWRvdWJsZSBheCwgYXksIHQ7CisKKwl4ID0gY3JlYWwoeik7CisJeSA9IGNpbWFnKHopOworCWF4ID0gZmFicyh4KTsKKwlheSA9IGZhYnMoeSk7CisJaWYgKGF4IDwgYXkpIHsKKwkJdCA9IGF4OworCQlheCA9IGF5OworCQlheSA9IHQ7CisJfQorCisJLyoKKwkgKiBBdm9pZCBvdmVyZmxvdyBpbiBoeXBvdCgpIHdoZW4geCBhbmQgeSBhcmUgYm90aCB2ZXJ5IGxhcmdlLgorCSAqIERpdmlkZSB4IGFuZCB5IGJ5IEUsIGFuZCB0aGVuIGFkZCAxIHRvIHRoZSBsb2dhcml0aG0uICBUaGlzIGRlcGVuZHMKKwkgKiBvbiBFIGJlaW5nIGxhcmdlciB0aGFuIHNxcnQoMikuCisJICogRGl2aWRpbmcgYnkgRSBjYXVzZXMgYW4gaW5zaWduaWZpY2FudCBsb3NzIG9mIGFjY3VyYWN5OyBob3dldmVyCisJICogdGhpcyBtZXRob2QgaXMgc3RpbGwgcG9vciBzaW5jZSBpdCBpcyB1bmVjY2Vzc2FyaWx5IHNsb3cuCisJICovCisJaWYgKGF4ID4gREJMX01BWCAvIDIpCisJCXJldHVybiAoY3BhY2sobG9nKGh5cG90KHggLyBtX2UsIHkgLyBtX2UpKSArIDEsIGF0YW4yKHksIHgpKSk7CisKKwkvKgorCSAqIEF2b2lkIG92ZXJmbG93IHdoZW4geCBvciB5IGlzIGxhcmdlLiAgQXZvaWQgdW5kZXJmbG93IHdoZW4geCBvcgorCSAqIHkgaXMgc21hbGwuCisJICovCisJaWYgKGF4ID4gUVVBUlRFUl9TUVJUX01BWCB8fCBheSA8IFNRUlRfTUlOKQorCQlyZXR1cm4gKGNwYWNrKGxvZyhoeXBvdCh4LCB5KSksIGF0YW4yKHksIHgpKSk7CisKKwlyZXR1cm4gKGNwYWNrKGxvZyhheCAqIGF4ICsgYXkgKiBheSkgLyAyLCBhdGFuMih5LCB4KSkpOworfQorCisvKgorICoJCQkJPT09PT09PT09PT09PT09PT0KKyAqCQkJCXwgY2F0YW5oLCBjYXRhbiB8CisgKgkJCQk9PT09PT09PT09PT09PT09PQorICovCisKKy8qCisgKiBzdW1fc3F1YXJlcyh4LHkpID0geCp4ICsgeSp5IChvciBqdXN0IHgqeCBpZiB5Knkgd291bGQgdW5kZXJmbG93KS4KKyAqIEFzc3VtZXMgeCp4IGFuZCB5Knkgd2lsbCBub3Qgb3ZlcmZsb3cuCisgKiBBc3N1bWVzIHggYW5kIHkgYXJlIGZpbml0ZS4KKyAqIEFzc3VtZXMgeSBpcyBub24tbmVnYXRpdmUuCisgKiBBc3N1bWVzIGZhYnMoeCkgPj0gREJMX0VQU0lMT04uCisgKi8KK3N0YXRpYyBpbmxpbmUgZG91YmxlCitzdW1fc3F1YXJlcyhkb3VibGUgeCwgZG91YmxlIHkpCit7CisKKwkvKiBBdm9pZCB1bmRlcmZsb3cgd2hlbiB5IGlzIHNtYWxsLiAqLworCWlmICh5IDwgU1FSVF9NSU4pCisJCXJldHVybiAoeCAqIHgpOworCisJcmV0dXJuICh4ICogeCArIHkgKiB5KTsKK30KKworLyoKKyAqIHJlYWxfcGFydF9yZWNpcHJvY2FsKHgsIHkpID0gUmUoMS8oeCtJKnkpKSA9IHgvKHgqeCArIHkqeSkuCisgKiBBc3N1bWVzIHggYW5kIHkgYXJlIG5vdCBOYU4sIGFuZCBvbmUgb2YgeCBhbmQgeSBpcyBsYXJnZXIgdGhhbgorICogUkVDSVBfRVBTSUxPTi4gIFdlIGF2b2lkIHVud2FycmFudGVkIHVuZGVyZmxvdy4gIEl0IGlzIGltcG9ydGFudCB0byBub3QgdXNlCisgKiB0aGUgY29kZSBjcmVhbCgxL3opLCBiZWNhdXNlIHRoZSBpbWFnaW5hcnkgcGFydCBtYXkgcHJvZHVjZSBhbiB1bndhbnRlZAorICogdW5kZXJmbG93LgorICogVGhpcyBpcyBvbmx5IGNhbGxlZCBpbiBhIGNvbnRleHQgd2hlcmUgaW5leGFjdCBpcyBhbHdheXMgcmFpc2VkIGJlZm9yZQorICogdGhlIGNhbGwsIHNvIG5vIGVmZm9ydCBpcyBtYWRlIHRvIGF2b2lkIG9yIGZvcmNlIGluZXhhY3QuCisgKi8KK3N0YXRpYyBpbmxpbmUgZG91YmxlCityZWFsX3BhcnRfcmVjaXByb2NhbChkb3VibGUgeCwgZG91YmxlIHkpCit7CisJZG91YmxlIHNjYWxlOworCXVpbnQzMl90IGh4LCBoeTsKKwlpbnQzMl90IGl4LCBpeTsKKworCS8qCisJICogVGhpcyBjb2RlIGlzIGluc3BpcmVkIGJ5IHRoZSBDOTkgZG9jdW1lbnQgbjExMjQucGRmLCBTZWN0aW9uIEcuNS4xLAorCSAqIGV4YW1wbGUgMi4KKwkgKi8KKwlHRVRfSElHSF9XT1JEKGh4LCB4KTsKKwlpeCA9IGh4ICYgMHg3ZmYwMDAwMDsKKwlHRVRfSElHSF9XT1JEKGh5LCB5KTsKKwlpeSA9IGh5ICYgMHg3ZmYwMDAwMDsKKyNkZWZpbmUJQklBUwkoREJMX01BWF9FWFAgLSAxKQorLyogWFhYIG1vcmUgZ3VhcmQgZGlnaXRzIGFyZSB1c2VmdWwgaWZmIHRoZXJlIGlzIGV4dHJhIHByZWNpc2lvbi4gKi8KKyNkZWZpbmUJQ1VUT0ZGCShEQkxfTUFOVF9ESUcgLyAyICsgMSkJLyoganVzdCBoYWxmIG9yIDEgZ3VhcmQgZGlnaXQgKi8KKwlpZiAoaXggLSBpeSA+PSBDVVRPRkYgPDwgMjAgfHwgaXNpbmYoeCkpCisJCXJldHVybiAoMSAvIHgpOwkJLyogKy1JbmYgLT4gKy0wIGlzIHNwZWNpYWwgKi8KKwlpZiAoaXkgLSBpeCA+PSBDVVRPRkYgPDwgMjApCisJCXJldHVybiAoeCAvIHkgLyB5KTsJLyogc2hvdWxkIGF2b2lkIGRvdWJsZSBkaXYsIGJ1dCBoYXJkICovCisJaWYgKGl4IDw9IChCSUFTICsgREJMX01BWF9FWFAgLyAyIC0gQ1VUT0ZGKSA8PCAyMCkKKwkJcmV0dXJuICh4IC8gKHggKiB4ICsgeSAqIHkpKTsKKwlzY2FsZSA9IDE7CisJU0VUX0hJR0hfV09SRChzY2FsZSwgMHg3ZmYwMDAwMCAtIGl4KTsJLyogMioqKDEtaWxvZ2IoeCkpICovCisJeCAqPSBzY2FsZTsKKwl5ICo9IHNjYWxlOworCXJldHVybiAoeCAvICh4ICogeCArIHkgKiB5KSAqIHNjYWxlKTsKK30KKworLyoKKyAqIGNhdGFuaCh6KSA9IGxvZygoMSt6KS8oMS16KSkgLyAyCisgKiAgICAgICAgICAgPSBsb2cxcCg0KnggLyB8ei0xfF4yKSAvIDQKKyAqICAgICAgICAgICAgICsgSSAqIGF0YW4yKDIqeSwgKDEteCkqKDEreCkteSp5KSAvIDIKKyAqCisgKiBjYXRhbmgoeikgPSB6ICsgTyh6XjMpICAgYXMgeiAtPiAwCisgKgorICogY2F0YW5oKHopID0gMS96ICsgc2lnbih5KSpJKlBJLzIgKyBPKDEvel4zKSAgIGFzIHogLT4gaW5maW5pdHkKKyAqIFRoZSBhYm92ZSBmb3JtdWxhIHdvcmtzIGZvciB0aGUgcmVhbCBwYXJ0IGFzIHdlbGwsIGJlY2F1c2UKKyAqIFJlKGNhdGFuaCh6KSkgPSB4L3x6fF4yICsgTyh4L3peNCkKKyAqICAgIGFzIHogLT4gaW5maW5pdHksIHVuaWZvcm1seSBpbiB4CisgKi8KK2RvdWJsZSBjb21wbGV4CitjYXRhbmgoZG91YmxlIGNvbXBsZXggeikKK3sKKwlkb3VibGUgeCwgeSwgYXgsIGF5LCByeCwgcnk7CisKKwl4ID0gY3JlYWwoeik7CisJeSA9IGNpbWFnKHopOworCWF4ID0gZmFicyh4KTsKKwlheSA9IGZhYnMoeSk7CisKKwkvKiBUaGlzIGhlbHBzIGhhbmRsZSBtYW55IGNhc2VzLiAqLworCWlmICh5ID09IDAgJiYgYXggPD0gMSkKKwkJcmV0dXJuIChjcGFjayhhdGFuaCh4KSwgeSkpOworCisJLyogVG8gZW5zdXJlIHRoZSBzYW1lIGFjY3VyYWN5IGFzIGF0YW4oKSwgYW5kIHRvIGZpbHRlciBvdXQgeiA9IDAuICovCisJaWYgKHggPT0gMCkKKwkJcmV0dXJuIChjcGFjayh4LCBhdGFuKHkpKSk7CisKKwlpZiAoaXNuYW4oeCkgfHwgaXNuYW4oeSkpIHsKKwkJLyogY2F0YW5oKCstSW5mICsgSSpOYU4pID0gKy0wICsgSSpOYU4gKi8KKwkJaWYgKGlzaW5mKHgpKQorCQkJcmV0dXJuIChjcGFjayhjb3B5c2lnbigwLCB4KSwgeSArIHkpKTsKKwkJLyogY2F0YW5oKE5hTiArIEkqKy1JbmYpID0gc2lnbihOYU4pMCArIEkqKy1QSS8yICovCisJCWlmIChpc2luZih5KSkKKwkJCXJldHVybiAoY3BhY2soY29weXNpZ24oMCwgeCksCisJCQkgICAgY29weXNpZ24ocGlvMl9oaSArIHBpbzJfbG8sIHkpKSk7CisJCS8qCisJCSAqIEFsbCBvdGhlciBjYXNlcyBpbnZvbHZpbmcgTmFOIHJldHVybiBOYU4gKyBJKk5hTi4KKwkJICogQzk5IGxlYXZlcyBpdCBvcHRpb25hbCB3aGV0aGVyIHRvIHJhaXNlIGludmFsaWQgaWYgb25lIG9mCisJCSAqIHRoZSBhcmd1bWVudHMgaXMgbm90IE5hTiwgc28gd2Ugb3B0IG5vdCB0byByYWlzZSBpdC4KKwkJICovCisJCXJldHVybiAoY3BhY2soeCArIDAuMEwgKyAoeSArIDApLCB4ICsgMC4wTCArICh5ICsgMCkpKTsKKwl9CisKKwlpZiAoYXggPiBSRUNJUF9FUFNJTE9OIHx8IGF5ID4gUkVDSVBfRVBTSUxPTikKKwkJcmV0dXJuIChjcGFjayhyZWFsX3BhcnRfcmVjaXByb2NhbCh4LCB5KSwKKwkJICAgIGNvcHlzaWduKHBpbzJfaGkgKyBwaW8yX2xvLCB5KSkpOworCisJaWYgKGF4IDwgU1FSVF8zX0VQU0lMT04gLyAyICYmIGF5IDwgU1FSVF8zX0VQU0lMT04gLyAyKSB7CisJCS8qCisJCSAqIHogPSAwIHdhcyBmaWx0ZXJlZCBvdXQgYWJvdmUuICBBbGwgb3RoZXIgY2FzZXMgbXVzdCByYWlzZQorCQkgKiBpbmV4YWN0LCBidXQgdGhpcyBpcyB0aGUgb25seSBvbmx5IHRoYXQgbmVlZHMgdG8gZG8gaXQKKwkJICogZXhwbGljaXRseS4KKwkJICovCisJCXJhaXNlX2luZXhhY3QoKTsKKwkJcmV0dXJuICh6KTsKKwl9CisKKwlpZiAoYXggPT0gMSAmJiBheSA8IERCTF9FUFNJTE9OKQorCQlyeCA9IChtX2xuMiAtIGxvZyhheSkpIC8gMjsKKwllbHNlCisJCXJ4ID0gbG9nMXAoNCAqIGF4IC8gc3VtX3NxdWFyZXMoYXggLSAxLCBheSkpIC8gNDsKKworCWlmIChheCA9PSAxKQorCQlyeSA9IGF0YW4yKDIsIC1heSkgLyAyOworCWVsc2UgaWYgKGF5IDwgREJMX0VQU0lMT04pCisJCXJ5ID0gYXRhbjIoMiAqIGF5LCAoMSAtIGF4KSAqICgxICsgYXgpKSAvIDI7CisJZWxzZQorCQlyeSA9IGF0YW4yKDIgKiBheSwgKDEgLSBheCkgKiAoMSArIGF4KSAtIGF5ICogYXkpIC8gMjsKKworCXJldHVybiAoY3BhY2soY29weXNpZ24ocngsIHgpLCBjb3B5c2lnbihyeSwgeSkpKTsKK30KKworLyoKKyAqIGNhdGFuKHopID0gcmV2ZXJzZShjYXRhbmgocmV2ZXJzZSh6KSkpCisgKiB3aGVyZSByZXZlcnNlKHggKyBJKnkpID0geSArIEkqeCA9IEkqY29uaih6KS4KKyAqLworZG91YmxlIGNvbXBsZXgKK2NhdGFuKGRvdWJsZSBjb21wbGV4IHopCit7CisJZG91YmxlIGNvbXBsZXggdyA9IGNhdGFuaChjcGFjayhjaW1hZyh6KSwgY3JlYWwoeikpKTsKKworCXJldHVybiAoY3BhY2soY2ltYWcodyksIGNyZWFsKHcpKSk7Cit9CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2NhdHJpZ2YuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvY2F0cmlnZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZWJlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2NhdHJpZ2YuYwpAQCAtMCwwICsxLDM5MyBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIgU3RlcGhlbiBNb250Z29tZXJ5LVNtaXRoIDxzdGVwaGVuQEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKgorICogVGhlIGFsZ29yaXRobSBpcyB2ZXJ5IGNsb3NlIHRvIHRoYXQgaW4gIkltcGxlbWVudGluZyB0aGUgY29tcGxleCBhcmNzaW5lCisgKiBhbmQgYXJjY29zaW5lIGZ1bmN0aW9ucyB1c2luZyBleGNlcHRpb24gaGFuZGxpbmciIGJ5IFQuIEUuIEh1bGwsIFRob21hcyBGLgorICogRmFpcmdyaWV2ZSwgYW5kIFBpbmcgVGFrIFBldGVyIFRhbmcsIHB1Ymxpc2hlZCBpbiBBQ00gVHJhbnNhY3Rpb25zIG9uCisgKiBNYXRoZW1hdGljYWwgU29mdHdhcmUsIFZvbHVtZSAyMyBJc3N1ZSAzLCAxOTk3LCBQYWdlcyAyOTktMzM1LAorICogaHR0cDovL2RsLmFjbS5vcmcvY2l0YXRpb24uY2ZtP2lkPTI3NTMyNC4KKyAqCisgKiBTZWUgY2F0cmlnLmMgZm9yIGNvbXBsZXRlIGNvbW1lbnRzLgorICoKKyAqIFhYWCBjb21tZW50cyB3ZXJlIHJlbW92ZWQgYXV0b21hdGljYWxseSwgYW5kIGV2ZW4gc2hvcnQgb25lcyBvbiB0aGUgcmlnaHQKKyAqIG9mIHN0YXRlbWVudHMgd2VyZSByZW1vdmVkIChhbGwgb2YgdGhlbSksIGNvbnRyYXJ5IHRvIG5vcm1hbCBzdHlsZS4gIE9ubHkKKyAqIGEgZmV3IGNvbW1lbnRzIG9uIHRoZSByaWdodCBvZiBkZWNsYXJhdGlvbnMgcmVtYWluLgorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KK19fRkJTRElEKCIkRnJlZUJTRCQiKTsKKworI2luY2x1ZGUgPGNvbXBsZXguaD4KKyNpbmNsdWRlIDxmbG9hdC5oPgorCisjaW5jbHVkZSAibWF0aC5oIgorI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgorCisjdW5kZWYgaXNpbmYKKyNkZWZpbmUgaXNpbmYoeCkJKGZhYnNmKHgpID09IElORklOSVRZKQorI3VuZGVmIGlzbmFuCisjZGVmaW5lIGlzbmFuKHgpCSgoeCkgIT0gKHgpKQorI2RlZmluZQlyYWlzZV9pbmV4YWN0KCkJZG8geyB2b2xhdGlsZSBmbG9hdCBqdW5rID0gMSArIHRpbnk7IH0gd2hpbGUoMCkKKyN1bmRlZiBzaWduYml0CisjZGVmaW5lIHNpZ25iaXQoeCkJKF9fYnVpbHRpbl9zaWduYml0Zih4KSkKKworc3RhdGljIGNvbnN0IGZsb2F0CitBX2Nyb3Nzb3ZlciA9CQkxMCwKK0JfY3Jvc3NvdmVyID0JCTAuNjQxNywKK0ZPVVJfU1FSVF9NSU4gPQkJMHgxcC02MSwKK1FVQVJURVJfU1FSVF9NQVggPQkweDFwNjEsCittX2UgPQkJCTIuNzE4MjgxODI4NWUwLAkJLyogIDB4YWRmODU0LjBwLTIyICovCittX2xuMiA9CQkJNi45MzE0NzE4MDU2ZS0xLAkvKiAgMHhiMTcyMTguMHAtMjQgKi8KK3BpbzJfaGkgPQkJMS41NzA3OTYyNTEzZTAsCQkvKiAgMHhjOTBmZGEuMHAtMjMgKi8KK1JFQ0lQX0VQU0lMT04gPQkJMSAvIEZMVF9FUFNJTE9OLAorU1FSVF8zX0VQU0lMT04gPQk1Ljk4MDE5OTU2NzNlLTQsCS8qICAweDljYzQ3MS4wcC0zNCAqLworU1FSVF82X0VQU0lMT04gPQk4LjQ1NzI3OTMzMzhlLTQsCS8qICAweGRkYjNkNy4wcC0zNCAqLworU1FSVF9NSU4gPQkJMHgxcC02MzsKKworc3RhdGljIGNvbnN0IHZvbGF0aWxlIGZsb2F0CitwaW8yX2xvID0JCTcuNTQ5Nzg5OTU0OWUtOCwJLyogIDB4YTIyMTY5LjBwLTQ3ICovCit0aW55ID0JCQkweDFwLTEwMDsKKworc3RhdGljIGZsb2F0IGNvbXBsZXggY2xvZ19mb3JfbGFyZ2VfdmFsdWVzKGZsb2F0IGNvbXBsZXggeik7CisKK3N0YXRpYyBpbmxpbmUgZmxvYXQKK2YoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgaHlwb3RfYV9iKQoreworCWlmIChiIDwgMCkKKwkJcmV0dXJuICgoaHlwb3RfYV9iIC0gYikgLyAyKTsKKwlpZiAoYiA9PSAwKQorCQlyZXR1cm4gKGEgLyAyKTsKKwlyZXR1cm4gKGEgKiBhIC8gKGh5cG90X2FfYiArIGIpIC8gMik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorZG9faGFyZF93b3JrKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0ICpyeCwgaW50ICpCX2lzX3VzYWJsZSwgZmxvYXQgKkIsCisgICAgZmxvYXQgKnNxcnRfQTJteTIsIGZsb2F0ICpuZXdfeSkKK3sKKwlmbG9hdCBSLCBTLCBBOworCWZsb2F0IEFtMSwgQW15OworCisJUiA9IGh5cG90Zih4LCB5ICsgMSk7CisJUyA9IGh5cG90Zih4LCB5IC0gMSk7CisKKwlBID0gKFIgKyBTKSAvIDI7CisJaWYgKEEgPCAxKQorCQlBID0gMTsKKworCWlmIChBIDwgQV9jcm9zc292ZXIpIHsKKwkJaWYgKHkgPT0gMSAmJiB4IDwgRkxUX0VQU0lMT04gKiBGTFRfRVBTSUxPTiAvIDEyOCkgeworCQkJKnJ4ID0gc3FydGYoeCk7CisJCX0gZWxzZSBpZiAoeCA+PSBGTFRfRVBTSUxPTiAqIGZhYnNmKHkgLSAxKSkgeworCQkJQW0xID0gZih4LCAxICsgeSwgUikgKyBmKHgsIDEgLSB5LCBTKTsKKwkJCSpyeCA9IGxvZzFwZihBbTEgKyBzcXJ0ZihBbTEgKiAoQSArIDEpKSk7CisJCX0gZWxzZSBpZiAoeSA8IDEpIHsKKwkJCSpyeCA9IHggLyBzcXJ0ZigoMSAtIHkpICogKDEgKyB5KSk7CisJCX0gZWxzZSB7CisJCQkqcnggPSBsb2cxcGYoKHkgLSAxKSArIHNxcnRmKCh5IC0gMSkgKiAoeSArIDEpKSk7CisJCX0KKwl9IGVsc2UgeworCQkqcnggPSBsb2dmKEEgKyBzcXJ0ZihBICogQSAtIDEpKTsKKwl9CisKKwkqbmV3X3kgPSB5OworCisJaWYgKHkgPCBGT1VSX1NRUlRfTUlOKSB7CisJCSpCX2lzX3VzYWJsZSA9IDA7CisJCSpzcXJ0X0EybXkyID0gQSAqICgyIC8gRkxUX0VQU0lMT04pOworCQkqbmV3X3kgPSB5ICogKDIgLyBGTFRfRVBTSUxPTik7CisJCXJldHVybjsKKwl9CisKKwkqQiA9IHkgLyBBOworCSpCX2lzX3VzYWJsZSA9IDE7CisKKwlpZiAoKkIgPiBCX2Nyb3Nzb3ZlcikgeworCQkqQl9pc191c2FibGUgPSAwOworCQlpZiAoeSA9PSAxICYmIHggPCBGTFRfRVBTSUxPTiAvIDEyOCkgeworCQkJKnNxcnRfQTJteTIgPSBzcXJ0Zih4KSAqIHNxcnRmKChBICsgeSkgLyAyKTsKKwkJfSBlbHNlIGlmICh4ID49IEZMVF9FUFNJTE9OICogZmFic2YoeSAtIDEpKSB7CisJCQlBbXkgPSBmKHgsIHkgKyAxLCBSKSArIGYoeCwgeSAtIDEsIFMpOworCQkJKnNxcnRfQTJteTIgPSBzcXJ0ZihBbXkgKiAoQSArIHkpKTsKKwkJfSBlbHNlIGlmICh5ID4gMSkgeworCQkJKnNxcnRfQTJteTIgPSB4ICogKDQgLyBGTFRfRVBTSUxPTiAvIEZMVF9FUFNJTE9OKSAqIHkgLworCQkJICAgIHNxcnRmKCh5ICsgMSkgKiAoeSAtIDEpKTsKKwkJCSpuZXdfeSA9IHkgKiAoNCAvIEZMVF9FUFNJTE9OIC8gRkxUX0VQU0lMT04pOworCQl9IGVsc2UgeworCQkJKnNxcnRfQTJteTIgPSBzcXJ0ZigoMSAtIHkpICogKDEgKyB5KSk7CisJCX0KKwl9Cit9CisKK2Zsb2F0IGNvbXBsZXgKK2Nhc2luaGYoZmxvYXQgY29tcGxleCB6KQoreworCWZsb2F0IHgsIHksIGF4LCBheSwgcngsIHJ5LCBCLCBzcXJ0X0EybXkyLCBuZXdfeTsKKwlpbnQgQl9pc191c2FibGU7CisJZmxvYXQgY29tcGxleCB3OworCisJeCA9IGNyZWFsZih6KTsKKwl5ID0gY2ltYWdmKHopOworCWF4ID0gZmFic2YoeCk7CisJYXkgPSBmYWJzZih5KTsKKworCWlmIChpc25hbih4KSB8fCBpc25hbih5KSkgeworCQlpZiAoaXNpbmYoeCkpCisJCQlyZXR1cm4gKGNwYWNrZih4LCB5ICsgeSkpOworCQlpZiAoaXNpbmYoeSkpCisJCQlyZXR1cm4gKGNwYWNrZih5LCB4ICsgeCkpOworCQlpZiAoeSA9PSAwKQorCQkJcmV0dXJuIChjcGFja2YoeCArIHgsIHkpKTsKKwkJcmV0dXJuIChjcGFja2YoeCArIDAuMEwgKyAoeSArIDApLCB4ICsgMC4wTCArICh5ICsgMCkpKTsKKwl9CisKKwlpZiAoYXggPiBSRUNJUF9FUFNJTE9OIHx8IGF5ID4gUkVDSVBfRVBTSUxPTikgeworCQlpZiAoc2lnbmJpdCh4KSA9PSAwKQorCQkJdyA9IGNsb2dfZm9yX2xhcmdlX3ZhbHVlcyh6KSArIG1fbG4yOworCQllbHNlCisJCQl3ID0gY2xvZ19mb3JfbGFyZ2VfdmFsdWVzKC16KSArIG1fbG4yOworCQlyZXR1cm4gKGNwYWNrZihjb3B5c2lnbmYoY3JlYWxmKHcpLCB4KSwKKwkJICAgIGNvcHlzaWduZihjaW1hZ2YodyksIHkpKSk7CisJfQorCisJaWYgKHggPT0gMCAmJiB5ID09IDApCisJCXJldHVybiAoeik7CisKKwlyYWlzZV9pbmV4YWN0KCk7CisKKwlpZiAoYXggPCBTUVJUXzZfRVBTSUxPTiAvIDQgJiYgYXkgPCBTUVJUXzZfRVBTSUxPTiAvIDQpCisJCXJldHVybiAoeik7CisKKwlkb19oYXJkX3dvcmsoYXgsIGF5LCAmcngsICZCX2lzX3VzYWJsZSwgJkIsICZzcXJ0X0EybXkyLCAmbmV3X3kpOworCWlmIChCX2lzX3VzYWJsZSkKKwkJcnkgPSBhc2luZihCKTsKKwllbHNlCisJCXJ5ID0gYXRhbjJmKG5ld195LCBzcXJ0X0EybXkyKTsKKwlyZXR1cm4gKGNwYWNrZihjb3B5c2lnbmYocngsIHgpLCBjb3B5c2lnbmYocnksIHkpKSk7Cit9CisKK2Zsb2F0IGNvbXBsZXgKK2Nhc2luZihmbG9hdCBjb21wbGV4IHopCit7CisJZmxvYXQgY29tcGxleCB3ID0gY2FzaW5oZihjcGFja2YoY2ltYWdmKHopLCBjcmVhbGYoeikpKTsKKworCXJldHVybiAoY3BhY2tmKGNpbWFnZih3KSwgY3JlYWxmKHcpKSk7Cit9CisKK2Zsb2F0IGNvbXBsZXgKK2NhY29zZihmbG9hdCBjb21wbGV4IHopCit7CisJZmxvYXQgeCwgeSwgYXgsIGF5LCByeCwgcnksIEIsIHNxcnRfQTJteDIsIG5ld194OworCWludCBzeCwgc3k7CisJaW50IEJfaXNfdXNhYmxlOworCWZsb2F0IGNvbXBsZXggdzsKKworCXggPSBjcmVhbGYoeik7CisJeSA9IGNpbWFnZih6KTsKKwlzeCA9IHNpZ25iaXQoeCk7CisJc3kgPSBzaWduYml0KHkpOworCWF4ID0gZmFic2YoeCk7CisJYXkgPSBmYWJzZih5KTsKKworCWlmIChpc25hbih4KSB8fCBpc25hbih5KSkgeworCQlpZiAoaXNpbmYoeCkpCisJCQlyZXR1cm4gKGNwYWNrZih5ICsgeSwgLUlORklOSVRZKSk7CisJCWlmIChpc2luZih5KSkKKwkJCXJldHVybiAoY3BhY2tmKHggKyB4LCAteSkpOworCQlpZiAoeCA9PSAwKQorCQkJcmV0dXJuIChjcGFja2YocGlvMl9oaSArIHBpbzJfbG8sIHkgKyB5KSk7CisJCXJldHVybiAoY3BhY2tmKHggKyAwLjBMICsgKHkgKyAwKSwgeCArIDAuMEwgKyAoeSArIDApKSk7CisJfQorCisJaWYgKGF4ID4gUkVDSVBfRVBTSUxPTiB8fCBheSA+IFJFQ0lQX0VQU0lMT04pIHsKKwkJdyA9IGNsb2dfZm9yX2xhcmdlX3ZhbHVlcyh6KTsKKwkJcnggPSBmYWJzZihjaW1hZ2YodykpOworCQlyeSA9IGNyZWFsZih3KSArIG1fbG4yOworCQlpZiAoc3kgPT0gMCkKKwkJCXJ5ID0gLXJ5OworCQlyZXR1cm4gKGNwYWNrZihyeCwgcnkpKTsKKwl9CisKKwlpZiAoeCA9PSAxICYmIHkgPT0gMCkKKwkJcmV0dXJuIChjcGFja2YoMCwgLXkpKTsKKworCXJhaXNlX2luZXhhY3QoKTsKKworCWlmIChheCA8IFNRUlRfNl9FUFNJTE9OIC8gNCAmJiBheSA8IFNRUlRfNl9FUFNJTE9OIC8gNCkKKwkJcmV0dXJuIChjcGFja2YocGlvMl9oaSAtICh4IC0gcGlvMl9sbyksIC15KSk7CisKKwlkb19oYXJkX3dvcmsoYXksIGF4LCAmcnksICZCX2lzX3VzYWJsZSwgJkIsICZzcXJ0X0EybXgyLCAmbmV3X3gpOworCWlmIChCX2lzX3VzYWJsZSkgeworCQlpZiAoc3ggPT0gMCkKKwkJCXJ4ID0gYWNvc2YoQik7CisJCWVsc2UKKwkJCXJ4ID0gYWNvc2YoLUIpOworCX0gZWxzZSB7CisJCWlmIChzeCA9PSAwKQorCQkJcnggPSBhdGFuMmYoc3FydF9BMm14MiwgbmV3X3gpOworCQllbHNlCisJCQlyeCA9IGF0YW4yZihzcXJ0X0EybXgyLCAtbmV3X3gpOworCX0KKwlpZiAoc3kgPT0gMCkKKwkJcnkgPSAtcnk7CisJcmV0dXJuIChjcGFja2YocngsIHJ5KSk7Cit9CisKK2Zsb2F0IGNvbXBsZXgKK2NhY29zaGYoZmxvYXQgY29tcGxleCB6KQoreworCWZsb2F0IGNvbXBsZXggdzsKKwlmbG9hdCByeCwgcnk7CisKKwl3ID0gY2Fjb3NmKHopOworCXJ4ID0gY3JlYWxmKHcpOworCXJ5ID0gY2ltYWdmKHcpOworCWlmIChpc25hbihyeCkgJiYgaXNuYW4ocnkpKQorCQlyZXR1cm4gKGNwYWNrZihyeSwgcngpKTsKKwlpZiAoaXNuYW4ocngpKQorCQlyZXR1cm4gKGNwYWNrZihmYWJzZihyeSksIHJ4KSk7CisJaWYgKGlzbmFuKHJ5KSkKKwkJcmV0dXJuIChjcGFja2YocnksIHJ5KSk7CisJcmV0dXJuIChjcGFja2YoZmFic2YocnkpLCBjb3B5c2lnbmYocngsIGNpbWFnZih6KSkpKTsKK30KKworc3RhdGljIGZsb2F0IGNvbXBsZXgKK2Nsb2dfZm9yX2xhcmdlX3ZhbHVlcyhmbG9hdCBjb21wbGV4IHopCit7CisJZmxvYXQgeCwgeTsKKwlmbG9hdCBheCwgYXksIHQ7CisKKwl4ID0gY3JlYWxmKHopOworCXkgPSBjaW1hZ2Yoeik7CisJYXggPSBmYWJzZih4KTsKKwlheSA9IGZhYnNmKHkpOworCWlmIChheCA8IGF5KSB7CisJCXQgPSBheDsKKwkJYXggPSBheTsKKwkJYXkgPSB0OworCX0KKworCWlmIChheCA+IEZMVF9NQVggLyAyKQorCQlyZXR1cm4gKGNwYWNrZihsb2dmKGh5cG90Zih4IC8gbV9lLCB5IC8gbV9lKSkgKyAxLAorCQkgICAgYXRhbjJmKHksIHgpKSk7CisKKwlpZiAoYXggPiBRVUFSVEVSX1NRUlRfTUFYIHx8IGF5IDwgU1FSVF9NSU4pCisJCXJldHVybiAoY3BhY2tmKGxvZ2YoaHlwb3RmKHgsIHkpKSwgYXRhbjJmKHksIHgpKSk7CisKKwlyZXR1cm4gKGNwYWNrZihsb2dmKGF4ICogYXggKyBheSAqIGF5KSAvIDIsIGF0YW4yZih5LCB4KSkpOworfQorCitzdGF0aWMgaW5saW5lIGZsb2F0CitzdW1fc3F1YXJlcyhmbG9hdCB4LCBmbG9hdCB5KQoreworCisJaWYgKHkgPCBTUVJUX01JTikKKwkJcmV0dXJuICh4ICogeCk7CisKKwlyZXR1cm4gKHggKiB4ICsgeSAqIHkpOworfQorCitzdGF0aWMgaW5saW5lIGZsb2F0CityZWFsX3BhcnRfcmVjaXByb2NhbChmbG9hdCB4LCBmbG9hdCB5KQoreworCWZsb2F0IHNjYWxlOworCXVpbnQzMl90IGh4LCBoeTsKKwlpbnQzMl90IGl4LCBpeTsKKworCUdFVF9GTE9BVF9XT1JEKGh4LCB4KTsKKwlpeCA9IGh4ICYgMHg3ZjgwMDAwMDsKKwlHRVRfRkxPQVRfV09SRChoeSwgeSk7CisJaXkgPSBoeSAmIDB4N2Y4MDAwMDA7CisjZGVmaW5lCUJJQVMJKEZMVF9NQVhfRVhQIC0gMSkKKyNkZWZpbmUJQ1VUT0ZGCShGTFRfTUFOVF9ESUcgLyAyICsgMSkKKwlpZiAoaXggLSBpeSA+PSBDVVRPRkYgPDwgMjMgfHwgaXNpbmYoeCkpCisJCXJldHVybiAoMSAvIHgpOworCWlmIChpeSAtIGl4ID49IENVVE9GRiA8PCAyMykKKwkJcmV0dXJuICh4IC8geSAvIHkpOworCWlmIChpeCA8PSAoQklBUyArIEZMVF9NQVhfRVhQIC8gMiAtIENVVE9GRikgPDwgMjMpCisJCXJldHVybiAoeCAvICh4ICogeCArIHkgKiB5KSk7CisJU0VUX0ZMT0FUX1dPUkQoc2NhbGUsIDB4N2Y4MDAwMDAgLSBpeCk7CisJeCAqPSBzY2FsZTsKKwl5ICo9IHNjYWxlOworCXJldHVybiAoeCAvICh4ICogeCArIHkgKiB5KSAqIHNjYWxlKTsKK30KKworZmxvYXQgY29tcGxleAorY2F0YW5oZihmbG9hdCBjb21wbGV4IHopCit7CisJZmxvYXQgeCwgeSwgYXgsIGF5LCByeCwgcnk7CisKKwl4ID0gY3JlYWxmKHopOworCXkgPSBjaW1hZ2Yoeik7CisJYXggPSBmYWJzZih4KTsKKwlheSA9IGZhYnNmKHkpOworCisJaWYgKHkgPT0gMCAmJiBheCA8PSAxKQorCQlyZXR1cm4gKGNwYWNrZihhdGFuaGYoeCksIHkpKTsKKworCWlmICh4ID09IDApCisJCXJldHVybiAoY3BhY2tmKHgsIGF0YW5mKHkpKSk7CisKKwlpZiAoaXNuYW4oeCkgfHwgaXNuYW4oeSkpIHsKKwkJaWYgKGlzaW5mKHgpKQorCQkJcmV0dXJuIChjcGFja2YoY29weXNpZ25mKDAsIHgpLCB5ICsgeSkpOworCQlpZiAoaXNpbmYoeSkpCisJCQlyZXR1cm4gKGNwYWNrZihjb3B5c2lnbmYoMCwgeCksCisJCQkgICAgY29weXNpZ25mKHBpbzJfaGkgKyBwaW8yX2xvLCB5KSkpOworCQlyZXR1cm4gKGNwYWNrZih4ICsgMC4wTCArICh5ICsgMCksIHggKyAwLjBMICsgKHkgKyAwKSkpOworCX0KKworCWlmIChheCA+IFJFQ0lQX0VQU0lMT04gfHwgYXkgPiBSRUNJUF9FUFNJTE9OKQorCQlyZXR1cm4gKGNwYWNrZihyZWFsX3BhcnRfcmVjaXByb2NhbCh4LCB5KSwKKwkJICAgIGNvcHlzaWduZihwaW8yX2hpICsgcGlvMl9sbywgeSkpKTsKKworCWlmIChheCA8IFNRUlRfM19FUFNJTE9OIC8gMiAmJiBheSA8IFNRUlRfM19FUFNJTE9OIC8gMikgeworCQlyYWlzZV9pbmV4YWN0KCk7CisJCXJldHVybiAoeik7CisJfQorCisJaWYgKGF4ID09IDEgJiYgYXkgPCBGTFRfRVBTSUxPTikKKwkJcnggPSAobV9sbjIgLSBsb2dmKGF5KSkgLyAyOworCWVsc2UKKwkJcnggPSBsb2cxcGYoNCAqIGF4IC8gc3VtX3NxdWFyZXMoYXggLSAxLCBheSkpIC8gNDsKKworCWlmIChheCA9PSAxKQorCQlyeSA9IGF0YW4yZigyLCAtYXkpIC8gMjsKKwllbHNlIGlmIChheSA8IEZMVF9FUFNJTE9OKQorCQlyeSA9IGF0YW4yZigyICogYXksICgxIC0gYXgpICogKDEgKyBheCkpIC8gMjsKKwllbHNlCisJCXJ5ID0gYXRhbjJmKDIgKiBheSwgKDEgLSBheCkgKiAoMSArIGF4KSAtIGF5ICogYXkpIC8gMjsKKworCXJldHVybiAoY3BhY2tmKGNvcHlzaWduZihyeCwgeCksIGNvcHlzaWduZihyeSwgeSkpKTsKK30KKworZmxvYXQgY29tcGxleAorY2F0YW5mKGZsb2F0IGNvbXBsZXggeikKK3sKKwlmbG9hdCBjb21wbGV4IHcgPSBjYXRhbmhmKGNwYWNrZihjaW1hZ2YoeiksIGNyZWFsZih6KSkpOworCisJcmV0dXJuIChjcGFja2YoY2ltYWdmKHcpLCBjcmVhbGYodykpKTsKK30KZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hY29zaGwuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hY29zaGwuYwppbmRleCA1OWZhZWIwLi5iOWYzYWVkIDEwMDY0NAotLS0gYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYWNvc2hsLmMKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Fjb3NobC5jCkBAIC03LDcgKzcsNyBAQAogICoKICAqIERldmVsb3BlZCBhdCBTdW5Tb2Z0LCBhIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gYnVzaW5lc3MuCiAgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzCi0gKiBzb2Z0d2FyZSBpcyBmcmVlbHkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGlzIG5vdGljZQorICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UgCiAgKiBpcyBwcmVzZXJ2ZWQuCiAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgKgpAQCAtNzUsNyArNzUsNyBAQAogCX0gZWxzZSBpZiAoaHggPj0gQklBUyArIEVYUF9MQVJHRSkgeyAvKiB4ID49IExBUkdFICovCiAJICAgIGlmIChoeCA+PSAweDdmZmYpIHsJCS8qIHggaXMgaW5mLCBOYU4gb3IgbWlzbm9ybWFsICovCiAJICAgICAgICBSRVRVUk5JKHgreCk7Ci0JICAgIH0gZWxzZQorCSAgICB9IGVsc2UgCiAJCVJFVFVSTkkobG9nbCh4KStsbjIpOwkvKiBhY29zaChodWdlKT1sb2coMngpLCBvciBtaXNub3JtYWwgKi8KIAl9IGVsc2UgaWYgKGh4ID09IDB4M2ZmZiAmJiB4ID09IDEpIHsKIAkgICAgUkVUVVJOSSgwLjApOwkJLyogYWNvc2goMSkgPSAwICovCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYXRhbmhsLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfYXRhbmhsLmMKaW5kZXggYTg4ODQyNi4uMTFkNTZlYSAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2F0YW5obC5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9hdGFuaGwuYwpAQCAtNyw3ICs3LDcgQEAKICAqCiAgKiBEZXZlbG9wZWQgYXQgU3VuU29mdCwgYSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJ1c2luZXNzLgogICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcwotICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UKKyAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlIAogICogaXMgcHJlc2VydmVkLgogICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICoKQEAgLTY4LDcgKzY4LDcgQEAKIAlpZiAoaXggPCAweDNmZmUpIHsJCS8qIHx4fCA8IDAuNSwgb3IgbWlzbm9ybWFsICovCiAJICAgIHQgPSB4K3g7CiAJICAgIHQgPSAwLjUqbG9nMXBsKHQrdCp4LyhvbmUteCkpOwotCX0gZWxzZQorCX0gZWxzZSAKIAkgICAgdCA9IDAuNSpsb2cxcGwoKHgreCkvKG9uZS14KSk7CiAJUkVUVVJOSSgoaHggJiAweDgwMDApID09IDAgPyB0IDogLXQpOwogfQpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Nvc2guYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9jb3NoLmMKaW5kZXggYTM2MzY5NS4uMjQ2YjVmYiAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Nvc2guYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfY29zaC5jCkBAIC0zNSw2ICszNSw4IEBACiAgKglvbmx5IGNvc2goMCk9MSBpcyBleGFjdCBmb3IgZmluaXRlIHguCiAgKi8KIAorI2luY2x1ZGUgPGZsb2F0Lmg+CisKICNpbmNsdWRlICJtYXRoLmgiCiAjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCiAKQEAgLTc3LDMgKzc5LDcgQEAKICAgICAvKiB8eHwgPiBvdmVyZmxvd3RocmVzb2xkLCBjb3NoKHgpIG92ZXJmbG93ICovCiAJcmV0dXJuIGh1Z2UqaHVnZTsKIH0KKworI2lmIChMREJMX01BTlRfRElHID09IDUzKQorX193ZWFrX3JlZmVyZW5jZShjb3NoLCBjb3NobCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9jb3NobC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2Nvc2hsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEyMTI3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9jb3NobC5jCkBAIC0wLDAgKzEsMTMwIEBACisvKiBmcm9tOiBGcmVlQlNEOiBoZWFkL2xpYi9tc3VuL3NyYy9lX2Nvc2hsLmMgWFhYICovCisKKy8qCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgKEMpIDE5OTMgYnkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIERldmVsb3BlZCBhdCBTdW5Qcm8sIGEgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBidXNpbmVzcy4KKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMKKyAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlCisgKiBpcyBwcmVzZXJ2ZWQuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorX19GQlNESUQoIiRGcmVlQlNEJCIpOworCisvKgorICogU2VlIGVfY29zaC5jIGZvciBjb21wbGV0ZSBjb21tZW50cy4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gbG9uZyBkb3VibGUgYnkgQnJ1Y2UgRC4gRXZhbnMuCisgKi8KKworI2luY2x1ZGUgPGZsb2F0Lmg+CisjaWZkZWYgX19pMzg2X18KKyNpbmNsdWRlIDxpZWVlZnAuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiZnBtYXRoLmgiCisjaW5jbHVkZSAibWF0aC5oIgorI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgorI2luY2x1ZGUgImtfZXhwbC5oIgorCisjaWYgTERCTF9NQVhfRVhQICE9IDB4NDAwMAorLyogV2UgYWxzbyByZXF1aXJlIHRoZSB1c3VhbCBleHBzaWduIGVuY29kaW5nLiAqLworI2Vycm9yICJVbnN1cHBvcnRlZCBsb25nIGRvdWJsZSBmb3JtYXQiCisjZW5kaWYKKworI2RlZmluZQlCSUFTCShMREJMX01BWF9FWFAgLSAxKQorCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgbG9uZyBkb3VibGUgaHVnZSA9IDB4MXAxMDAwMEwsIHRpbnkgPSAweDFwLTEwMDAwTDsKKyNpZiBMREJMX01BTlRfRElHID09IDY0CisvKgorICogRG9tYWluIFstMSwgMV0sIHJhbmdlIH5bLTEuODIxMWUtMjEsIDEuODIxMWUtMjFdOgorICogfGNvc2goeCkgLSBjKHgpfCA8IDIqKi02OC44CisgKi8KK3N0YXRpYyBjb25zdCB1bmlvbiBJRUVFbDJiaXRzCitDNHUgPSBMRDgwQygweGFhYWFhYWFhYWFhYWFjNzgsIC01LCAgNC4xNjY2NjY2NjY2NjY2NjY4MjI5N2UtMkwpOworI2RlZmluZQlDNAlDNHUuZQorc3RhdGljIGNvbnN0IGRvdWJsZQorQzIgID0gIDAuNSwKK0M2ICA9ICAxLjM4ODg4ODg4ODg4ODg2MTZlLTMsCQkvKiAgMHgxNmMxNmMxNmMxNmI5OS4wcC02MiAqLworQzggID0gIDIuNDgwMTU4NzMwMTc2Nzk1M2UtNSwJCS8qICAweDFhMDFhMDFhMDI3MDYxLjBwLTY4ICovCitDMTAgPSAgMi43NTU3MzE5MTYzMzAwMzk4ZS03LAkJLyogIDB4MTI3ZTRmYjZjOWI1NWYuMHAtNzQgKi8KK0MxMiA9ICAyLjA4NzY3NjgzNzEzOTMwNzVlLTksCQkvKiAgMHgxMWVlZDk5NDA2YTNmNC4wcC04MSAqLworQzE0ID0gIDEuMTQ2OTUzNzAzOTM3NDQ4MGUtMTEsCQkvKiAgMHgxOTM4YzY3Y2QxOGM0OC4wcC04OSAqLworQzE2ID0gIDQuODQ3MzQ5MDg5Njg1MjA0MWUtMTQ7CQkvKiAgMHgxYjQ5YzQyOTcwMWU0NS4wcC05NyAqLworI2VsaWYgTERCTF9NQU5UX0RJRyA9PSAxMTMKKy8qCisgKiBEb21haW4gWy0xLCAxXSwgcmFuZ2UgflstMi4zMTk0ZS0zNywgMi4zMTk0ZS0zN106CisgKiB8Y29zaCh4KSAtIGMoeCl8IDwgMioqLTEyMS42OQorICovCitzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUKK0M0ICA9ICA0LjE2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2MjI1ZS0yTCwJLyogIDB4MTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NGUuMHAtMTE3TCAqLworQzYgID0gIDEuMzg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODk0MzQ4MzFlLTNMLAkvKiAgMHgxNmMxNmMxNmMxNmMxNmMxNmMxNmMxNmMxZGQ3YS4wcC0xMjJMICovCitDOCAgPSAgMi40ODAxNTg3MzAxNTg3MzAxNTg3MzAxNTg3MTg3MDk2MjA4OWUtNUwsCS8qICAweDFhMDFhMDFhMDFhMDFhMDFhMDFhMDE3YWYyNzU2LjBwLTEyOEwgKi8KK0MxMCA9ICAyLjc1NTczMTkyMjM5ODU4OTA2NTI1NTc0MzE4NjAwODAwMjAxZS03TCwJLyogIDB4MTI3ZTRmYjc3ODlmNWM3MmVmMDFjOGEwNDA2NDAuMHAtMTM0TCAqLworQzEyID0gIDIuMDg3Njc1Njk4Nzg2ODA5ODk3OTE0NDQ2OTE3NTU0NjgyNjllLTlMLAkvKiAgMHgxMWVlZDhlZmY4ZDg5N2I1NDNkMDY3OTYwNzM5OS4wcC0xNDFMICovCitDMTQ9ICAxLjE0NzA3NDU1OTc3Mjk3MjQ3Mzg3ODAxMTg5NjUwNDk1MzUxZS0xMUwsCS8qICAweDE5Mzk3NGE4YzA3YzlkMjRhZTE2OWE3ZmE5YjU0LjBwLTE0OUwgKi8KK0MxNiA9ICA0Ljc3OTQ3NzMzMjM4NzM3ODgzNjI2NDE2ODc2NDg2Mjc5OTg1ZS0xNEw7CS8qICAweDFhZTdmM2U3MzNiODE0ZDRlMWI5MGY1NzI3ZmU0LjBwLTE1N0wgKi8KK3N0YXRpYyBjb25zdCBkb3VibGUKK0MyICA9ICAwLjUsCitDMTggPSAgMS41NjE5MjA2OTY4NTk3ODcxZS0xNiwJCS8qICAweDE2ODI3ODYzYjk5MDBiLjBwLTEwNSAqLworQzIwID0gIDQuMTEwMzE3NjIxODUyODA0OWUtMTksCQkvKiAgMHgxZTU0MmJhM2QzYzI2OS4wcC0xMTQgKi8KK0MyMiA9ICA4Ljg5Njc5MjY0MDE2NDE3MDFlLTIyLAkJLyogIDB4MTBjZTM5OTU0MmEwMTQuMHAtMTIyICovCitDMjQgPSAgMS42MTE2NjgxNjI2NTIzOTA0ZS0yNCwJCS8qICAweDFmMmM5ODFkMWYwY2I3LjBwLTEzMiAqLworQzI2ID0gIDIuNTAyMjM3NDczMjgwNDYzMmUtMjc7CQkvKiAgMHgxOGM3ZWNmOGIyYzRhMC4wcC0xNDEgKi8KKyNlbHNlCisjZXJyb3IgIlVuc3VwcG9ydGVkIGxvbmcgZG91YmxlIGZvcm1hdCIKKyNlbmRpZiAvKiBMREJMX01BTlRfRElHID09IDY0ICovCisKKy8qIGxvZygyKioxNjM4NSAtIDAuNSkgcm91bmRlZCB1cDogKi8KK3N0YXRpYyBjb25zdCBmbG9hdAorb190aHJlc2hvbGQgPSAgMS4xMzU3MjE2OGU0OwkJLyogIDB4YjE3NGRlLjBwLTEwICovCisKK2xvbmcgZG91YmxlCitjb3NobChsb25nIGRvdWJsZSB4KQoreworCWxvbmcgZG91YmxlIGhpLGxvLHgyLHg0OworCWRvdWJsZSBkeDI7CisJdWludDE2X3QgaXg7CisKKwlHRVRfTERCTF9FWFBTSUdOKGl4LHgpOworCWl4ICY9IDB4N2ZmZjsKKworICAgIC8qIHggaXMgSU5GIG9yIE5hTiAqLworCWlmKGl4Pj0weDdmZmYpIHJldHVybiB4Kng7CisKKwlFTlRFUkkoKTsKKworICAgIC8qIHx4fCA8IDEsIHJldHVybiAxIG9yIGMoeCkgKi8KKwlpZihpeDwweDNmZmYpIHsKKwkgICAgaWYgKGl4PEJJQVMtKExEQkxfTUFOVF9ESUcrMSkvMikgCS8qIHx4fCA8IFRJTlkgKi8KKwkJUkVUVVJOSSgxK3RpbnkpOwkvKiBjb3NoKHRpbnkpID0gMSgrKSB3aXRoIGluZXhhY3QgKi8KKwkgICAgeDIgPSB4Kng7CisjaWYgTERCTF9NQU5UX0RJRyA9PSA2NAorCSAgICB4NCA9IHgyKngyOworCSAgICBSRVRVUk5JKCgoQzE2KngyICsgQzE0KSp4NCArIChDMTIqeDIgKyBDMTApKSooeDQqeDQqeDIpICsKKwkJKChDOCp4MiArIEM2KSp4MiArIEM0KSp4NCArIEMyKngyICsgMSk7CisjZWxpZiBMREJMX01BTlRfRElHID09IDExMworCSAgICBkeDIgPSB4MjsKKwkgICAgUkVUVVJOSSgoKCgoKCgoKCgoKEMyNipkeDIgKyBDMjQpKmR4MiArIEMyMikqZHgyICsKKwkJQzIwKSp4MiArIEMxOCkqeDIgKworCQlDMTYpKngyICsgQzE0KSp4MiArIEMxMikqeDIgKyBDMTApKngyICsgQzgpKngyICsgQzYpKngyICsKKwkJQzQpKih4Mip4MikgKyBDMip4MiArIDEpOworI2VuZGlmCisJfQorCisgICAgLyogfHh8IGluIFsxLCA2NCksIHJldHVybiBhY2N1cmF0ZSBleHAofHh8KS8yKzEvZXhwKHx4fCkvMiAqLworCWlmIChpeCA8IDB4NDAwNSkgeworCSAgICBrX2hleHBsKGZhYnNsKHgpLCAmaGksICZsbyk7CisJICAgIFJFVFVSTkkobG8gKyAwLjI1LyhoaSArIGxvKSArIGhpKTsKKwl9CisKKyAgICAvKiB8eHwgaW4gWzY0LCBvX3RocmVzaG9sZF0sIHJldHVybiBjb3JyZWN0bHktb3ZlcmZsb3dpbmcgZXhwKHx4fCkvMiAqLworCWlmIChmYWJzbCh4KSA8PSBvX3RocmVzaG9sZCkKKwkgICAgUkVUVVJOSShoZXhwbChmYWJzbCh4KSkpOworCisgICAgLyogfHh8ID4gb190aHJlc2hvbGQsIGNvc2goeCkgb3ZlcmZsb3cgKi8KKwlSRVRVUk5JKGh1Z2UqaHVnZSk7Cit9CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbGdhbW1hLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbGdhbW1hLmMKaW5kZXggNDY3NGQ5Yi4uNDNmNTE3NSAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYS5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sZ2FtbWEuYwpAQCAtMjEsNiArMjEsOCBAQAogICogTWV0aG9kOiBjYWxsIF9faWVlZTc1NF9sZ2FtbWFfcgogICovCiAKKyNpbmNsdWRlIDxmbG9hdC5oPgorCiAjaW5jbHVkZSAibWF0aC5oIgogI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgogCkBAIC0zMSwzICszMyw3IEBACiB7CiAJcmV0dXJuIF9faWVlZTc1NF9sZ2FtbWFfcih4LCZzaWduZ2FtKTsKIH0KKworI2lmIChMREJMX01BTlRfRElHID09IDUzKQorX193ZWFrX3JlZmVyZW5jZShsZ2FtbWEsIGxnYW1tYWwpOworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbGdhbW1hX3IuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sZ2FtbWFfci5jCmluZGV4IDFjZmY1OTIuLmJlNzA3NjcgMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sZ2FtbWFfci5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sZ2FtbWFfci5jCkBAIC0xLDQgKzEsMyBAQAotCiAvKiBAKCMpZV9sZ2FtbWFfci5jIDEuMyA5NS8wMS8xOCAqLwogLyoKICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTYsMjIgKzUsMjEgQEAKICAqCiAgKiBEZXZlbG9wZWQgYXQgU3VuU29mdCwgYSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJ1c2luZXNzLgogICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcwotICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UgCisgKiBzb2Z0d2FyZSBpcyBmcmVlbHkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGlzIG5vdGljZQogICogaXMgcHJlc2VydmVkLgogICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICoKICAqLwogCiAjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CiBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7CiAKIC8qIF9faWVlZTc1NF9sZ2FtbWFfcih4LCBzaWduZ2FtcCkKLSAqIFJlZW50cmFudCB2ZXJzaW9uIG9mIHRoZSBsb2dhcml0aG0gb2YgdGhlIEdhbW1hIGZ1bmN0aW9uIAotICogd2l0aCB1c2VyIHByb3ZpZGUgcG9pbnRlciBmb3IgdGhlIHNpZ24gb2YgR2FtbWEoeCkuIAorICogUmVlbnRyYW50IHZlcnNpb24gb2YgdGhlIGxvZ2FyaXRobSBvZiB0aGUgR2FtbWEgZnVuY3Rpb24KKyAqIHdpdGggdXNlciBwcm92aWRlIHBvaW50ZXIgZm9yIHRoZSBzaWduIG9mIEdhbW1hKHgpLgogICoKICAqIE1ldGhvZDoKICAqICAgMS4gQXJndW1lbnQgUmVkdWN0aW9uIGZvciAwIDwgeCA8PSA4Ci0gKiAJU2luY2UgZ2FtbWEoMStzKT1zKmdhbW1hKHMpLCBmb3IgeCBpbiBbMCw4XSwgd2UgbWF5IAorICogCVNpbmNlIGdhbW1hKDErcyk9cypnYW1tYShzKSwgZm9yIHggaW4gWzAsOF0sIHdlIG1heQogICogCXJlZHVjZSB4IHRvIGEgbnVtYmVyIGluIFsxLjUsMi41XSBieQogICogCQlsZ2FtbWEoMStzKSA9IGxvZyhzKSArIGxnYW1tYShzKQogICoJZm9yIGV4YW1wbGUsCkBAIC01OSwyMCArNTcsMjAgQEAKICAqCWJ5CiAgKgkgIAkJCSAgICAzICAgICAgIDUgICAgICAgICAgICAgMTEKICAqCQl3ID0gdzAgKyB3MSp6ICsgdzIqeiAgKyB3Myp6ICArIC4uLiArIHc2KnoKLSAqCXdoZXJlIAorICoJd2hlcmUKICAqCQl8dyAtIGYoeil8IDwgMioqLTU4Ljc0Ci0gKgkJCisgKgogICogICA0LiBGb3IgbmVnYXRpdmUgeCwgc2luY2UgKEcgaXMgZ2FtbWEgZnVuY3Rpb24pCiAgKgkJLXgqRygteCkqRyh4KSA9IHBpL3NpbihwaSp4KSwKICAqIAl3ZSBoYXZlCiAgKiAJCUcoeCkgPSBwaS8oc2luKHBpKngpKigteCkqRygteCkpCiAgKglzaW5jZSBHKC14KSBpcyBwb3NpdGl2ZSwgc2lnbihHKHgpKSA9IHNpZ24oc2luKHBpKngpKSBmb3IgeDwwCi0gKglIZW5jZSwgZm9yIHg8MCwgc2lnbmdhbSA9IHNpZ24oc2luKHBpKngpKSBhbmQgCisgKglIZW5jZSwgZm9yIHg8MCwgc2lnbmdhbSA9IHNpZ24oc2luKHBpKngpKSBhbmQKICAqCQlsZ2FtbWEoeCkgPSBsb2cofEdhbW1hKHgpfCkKICAqCQkJICA9IGxvZyhwaS8ofHgqc2luKHBpKngpfCkpIC0gbGdhbW1hKC14KTsKLSAqCU5vdGU6IG9uZSBzaG91bGQgYXZvaWQgY29tcHV0ZSBwaSooLXgpIGRpcmVjdGx5IGluIHRoZSAKKyAqCU5vdGU6IG9uZSBzaG91bGQgYXZvaWQgY29tcHV0ZSBwaSooLXgpIGRpcmVjdGx5IGluIHRoZQogICoJICAgICAgY29tcHV0YXRpb24gb2Ygc2luKHBpKigteCkpLgotICoJCQorICoKICAqICAgNS4gU3BlY2lhbCBDYXNlcwogICoJCWxnYW1tYSgyK3MpIH4gcyooMS1FdWxlcikgZm9yIHRpbnkgcwogICoJCWxnYW1tYSgxKSA9IGxnYW1tYSgyKSA9IDAKQEAgLTgwLDE0ICs3OCwxNyBAQAogICoJCWxnYW1tYSgwKSA9IGxnYW1tYShuZWcuaW50ZWdlcikgPSBpbmYgYW5kIHJhaXNlIGRpdmlkZS1ieS16ZXJvCiAgKgkJbGdhbW1hKGluZikgPSBpbmYKICAqCQlsZ2FtbWEoLWluZikgPSBpbmYgKGJ1ZyBmb3IgYnVnIGNvbXBhdGlibGUgd2l0aCBDOTkhPykKLSAqCQogICovCiAKKyNpbmNsdWRlIDxmbG9hdC5oPgorCiAjaW5jbHVkZSAibWF0aC5oIgogI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgogCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgZG91YmxlIHZ6ZXJvID0gMDsKKwogc3RhdGljIGNvbnN0IGRvdWJsZQotdHdvNTI9ICA0LjUwMzU5OTYyNzM3MDQ5NjAwMDAwZSsxNSwgLyogMHg0MzMwMDAwMCwgMHgwMDAwMDAwMCAqLworemVybz0gIDAuMDAwMDAwMDAwMDAwMDAwMDAwMDBlKzAwLAogaGFsZj0gIDUuMDAwMDAwMDAwMDAwMDAwMDAwMDBlLTAxLCAvKiAweDNGRTAwMDAwLCAweDAwMDAwMDAwICovCiBvbmUgPSAgMS4wMDAwMDAwMDAwMDAwMDAwMDAwMGUrMDAsIC8qIDB4M0ZGMDAwMDAsIDB4MDAwMDAwMDAgKi8KIHBpICA9ICAzLjE0MTU5MjY1MzU4OTc5MzExNjAwZSswMCwgLyogMHg0MDA5MjFGQiwgMHg1NDQ0MkQxOCAqLwpAQCAtMTU0LDQ0ICsxNTUsNDAgQEAKIHc1ICA9ICA4LjM2MzM5OTE4OTk2MjgyMTM5MTI2ZS0wNCwgLyogMHgzRjRCNjdCQSwgMHg0Q0RBRDVEMSAqLwogdzYgID0gLTEuNjMwOTI5MzQwOTY1NzUyNzM5ODllLTAzOyAvKiAweEJGNUFCODlELCAweDBCOUU0M0U0ICovCiAKLXN0YXRpYyBjb25zdCBkb3VibGUgemVybz0gIDAuMDAwMDAwMDAwMDAwMDAwMDAwMDBlKzAwOwotCi0Jc3RhdGljIGRvdWJsZSBzaW5fcGkoZG91YmxlIHgpCisvKgorICogQ29tcHV0ZSBzaW4ocGkqeCkgd2l0aG91dCBhY3R1YWxseSBkb2luZyB0aGUgcGkqeCBtdWx0aXBsaWNhdGlvbi4KKyAqIHNpbl9waSh4KSBpcyBvbmx5IGNhbGxlZCBmb3IgeCA8IDAgYW5kIHx4fCA8IDIqKihwLTEpIHdoZXJlIHAgaXMKKyAqIHRoZSBwcmVjaXNpb24gb2YgeC4KKyAqLworc3RhdGljIGRvdWJsZQorc2luX3BpKGRvdWJsZSB4KQogeworCXZvbGF0aWxlIGRvdWJsZSB2ejsKIAlkb3VibGUgeSx6OwotCWludCBuLGl4OworCWludCBuOwogCi0JR0VUX0hJR0hfV09SRChpeCx4KTsKLQlpeCAmPSAweDdmZmZmZmZmOworCXkgPSAteDsKIAotCWlmKGl4PDB4M2ZkMDAwMDApIHJldHVybiBfX2tlcm5lbF9zaW4ocGkqeCx6ZXJvLDApOwotCXkgPSAteDsJCS8qIHggaXMgYXNzdW1lIG5lZ2F0aXZlICovCisJdnogPSB5KzB4MXA1MjsJCQkvKiBkZXBlbmQgb24gMCA8PSB5IDwgMHgxcDUyICovCisJeiA9IHZ6LTB4MXA1MjsJCQkvKiByaW50KHkpIGZvciB0aGUgYWJvdmUgcmFuZ2UgKi8KKwlpZiAoeiA9PSB5KQorCSAgICByZXR1cm4gemVybzsKIAotICAgIC8qCi0gICAgICogYXJndW1lbnQgcmVkdWN0aW9uLCBtYWtlIHN1cmUgaW5leGFjdCBmbGFnIG5vdCByYWlzZWQgaWYgaW5wdXQKLSAgICAgKiBpcyBhbiBpbnRlZ2VyCi0gICAgICovCi0JeiA9IGZsb29yKHkpOwotCWlmKHohPXkpIHsJCQkJLyogaW5leGFjdCBhbnl3YXkgKi8KLQkgICAgeSAgKj0gMC41OwotCSAgICB5ICAgPSAyLjAqKHkgLSBmbG9vcih5KSk7CQkvKiB5ID0gfHh8IG1vZCAyLjAgKi8KLQkgICAgbiAgID0gKGludCkgKHkqNC4wKTsKLQl9IGVsc2UgewotICAgICAgICAgICAgaWYoaXg+PTB4NDM0MDAwMDApIHsKLSAgICAgICAgICAgICAgICB5ID0gemVybzsgbiA9IDA7ICAgICAgICAgICAgICAgICAvKiB5IG11c3QgYmUgZXZlbiAqLwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZihpeDwweDQzMzAwMDAwKSB6ID0geSt0d281MjsJLyogZXhhY3QgKi8KLQkJR0VUX0xPV19XT1JEKG4seik7Ci0JCW4gJj0gMTsKLSAgICAgICAgICAgICAgICB5ICA9IG47Ci0gICAgICAgICAgICAgICAgbjw8PSAyOwotICAgICAgICAgICAgfQotICAgICAgICB9CisJdnogPSB5KzB4MXA1MDsKKwlHRVRfTE9XX1dPUkQobix2eik7CQkvKiBiaXRzIGZvciByb3VuZGVkIHkgKHVuaXRzIDAuMjUpICovCisJeiA9IHZ6LTB4MXA1MDsJCQkvKiB5IHJvdW5kZWQgdG8gYSBtdWx0aXBsZSBvZiAwLjI1ICovCisJaWYgKHogPiB5KSB7CisJICAgIHogLT0gMC4yNTsJCQkvKiBhZGp1c3QgdG8gcm91bmQgZG93biAqLworCSAgICBuLS07CisJfQorCW4gJj0gNzsJCQkJLyogb2N0YW50IG9mIHkgbW9kIDIgKi8KKwl5ID0geSAtIHogKyBuICogMC4yNTsJCS8qIHkgbW9kIDIgKi8KKwogCXN3aXRjaCAobikgewogCSAgICBjYXNlIDA6ICAgeSA9ICBfX2tlcm5lbF9zaW4ocGkqeSx6ZXJvLDApOyBicmVhazsKLQkgICAgY2FzZSAxOiAgIAorCSAgICBjYXNlIDE6CiAJICAgIGNhc2UgMjogICB5ID0gIF9fa2VybmVsX2NvcyhwaSooMC41LXkpLHplcm8pOyBicmVhazsKLQkgICAgY2FzZSAzOiAgCisJICAgIGNhc2UgMzoKIAkgICAgY2FzZSA0OiAgIHkgPSAgX19rZXJuZWxfc2luKHBpKihvbmUteSksemVybywwKTsgYnJlYWs7CiAJICAgIGNhc2UgNToKIAkgICAgY2FzZSA2OiAgIHkgPSAtX19rZXJuZWxfY29zKHBpKih5LTEuNSksemVybyk7IGJyZWFrOwpAQCAtMjA0LDM0ICsyMDEsMzggQEAKIGRvdWJsZQogX19pZWVlNzU0X2xnYW1tYV9yKGRvdWJsZSB4LCBpbnQgKnNpZ25nYW1wKQogewotCWRvdWJsZSB0LHkseixuYWRqLHAscDEscDIscDMscSxyLHc7CisJZG91YmxlIG5hZGoscCxwMSxwMixwMyxxLHIsdCx3LHksejsKIAlpbnQzMl90IGh4OwotCWludCBpLGx4LGl4OworCWludCBpLGl4LGx4OwogCiAJRVhUUkFDVF9XT1JEUyhoeCxseCx4KTsKIAotICAgIC8qIHB1cmdlIG9mZiArLWluZiwgTmFOLCArLTAsIHRpbnkgYW5kIG5lZ2F0aXZlIGFyZ3VtZW50cyAqLworICAgIC8qIHB1cmdlICstSW5mIGFuZCBOYU5zICovCiAJKnNpZ25nYW1wID0gMTsKIAlpeCA9IGh4JjB4N2ZmZmZmZmY7CiAJaWYoaXg+PTB4N2ZmMDAwMDApIHJldHVybiB4Kng7Ci0JaWYoKGl4fGx4KT09MCkgcmV0dXJuIG9uZS96ZXJvOwotCWlmKGl4PDB4M2I5MDAwMDApIHsJLyogfHh8PDIqKi03MCwgcmV0dXJuIC1sb2cofHh8KSAqLwotCSAgICBpZihoeDwwKSB7Ci0JICAgICAgICAqc2lnbmdhbXAgPSAtMTsKLQkgICAgICAgIHJldHVybiAtX19pZWVlNzU0X2xvZygteCk7Ci0JICAgIH0gZWxzZSByZXR1cm4gLV9faWVlZTc1NF9sb2coeCk7CisKKyAgICAvKiBwdXJnZSArLTAgYW5kIHRpbnkgYXJndW1lbnRzICovCisJKnNpZ25nYW1wID0gMS0yKigodWludDMyX3QpaHg+PjMxKTsKKwlpZihpeDwweDNjNzAwMDAwKSB7CS8qIHx4fDwyKiotNTYsIHJldHVybiAtbG9nKHx4fCkgKi8KKwkgICAgaWYoKGl4fGx4KT09MCkKKwkgICAgICAgIHJldHVybiBvbmUvdnplcm87CisJICAgIHJldHVybiAtX19pZWVlNzU0X2xvZyhmYWJzKHgpKTsKIAl9CisKKyAgICAvKiBwdXJnZSBuZWdhdGl2ZSBpbnRlZ2VycyBhbmQgc3RhcnQgZXZhbHVhdGlvbiBmb3Igb3RoZXIgeCA8IDAgKi8KIAlpZihoeDwwKSB7CisJICAgICpzaWduZ2FtcCA9IDE7CiAJICAgIGlmKGl4Pj0weDQzMzAwMDAwKSAJLyogfHh8Pj0yKio1MiwgbXVzdCBiZSAtaW50ZWdlciAqLwotCQlyZXR1cm4gb25lL3plcm87CisJCXJldHVybiBvbmUvdnplcm87CiAJICAgIHQgPSBzaW5fcGkoeCk7Ci0JICAgIGlmKHQ9PXplcm8pIHJldHVybiBvbmUvemVybzsgLyogLWludGVnZXIgKi8KKwkgICAgaWYodD09emVybykgcmV0dXJuIG9uZS92emVybzsgLyogLWludGVnZXIgKi8KIAkgICAgbmFkaiA9IF9faWVlZTc1NF9sb2cocGkvZmFicyh0KngpKTsKIAkgICAgaWYodDx6ZXJvKSAqc2lnbmdhbXAgPSAtMTsKIAkgICAgeCA9IC14OwogCX0KIAotICAgIC8qIHB1cmdlIG9mZiAxIGFuZCAyICovCisgICAgLyogcHVyZ2UgMSBhbmQgMiAqLwogCWlmKCgoKGl4LTB4M2ZmMDAwMDApfGx4KT09MCl8fCgoKGl4LTB4NDAwMDAwMDApfGx4KT09MCkpIHIgPSAwOwogICAgIC8qIGZvciB4IDwgMi4wICovCiAJZWxzZSBpZihpeDwweDQwMDAwMDAwKSB7CkBAIC0yNTIsNyArMjUzLDcgQEAKIAkJcDEgPSBhMCt6KihhMit6KihhNCt6KihhNit6KihhOCt6KmExMCkpKSk7CiAJCXAyID0geiooYTEreiooYTMreiooYTUreiooYTcreiooYTkreiphMTEpKSkpKTsKIAkJcCAgPSB5KnAxK3AyOwotCQlyICArPSAocC0wLjUqeSk7IGJyZWFrOworCQlyICArPSBwLXkvMjsgYnJlYWs7CiAJICAgICAgY2FzZSAxOgogCQl6ID0geSp5OwogCQl3ID0geip5OwpAQCAtMjYwLDM4ICsyNjEsNDMgQEAKIAkJcDIgPSB0MSt3Kih0NCt3Kih0Nyt3Kih0MTArdyp0MTMpKSk7CiAJCXAzID0gdDIrdyoodDUrdyoodDgrdyoodDExK3cqdDE0KSkpOwogCQlwICA9IHoqcDEtKHR0LXcqKHAyK3kqcDMpKTsKLQkJciArPSAodGYgKyBwKTsgYnJlYWs7Ci0JICAgICAgY2FzZSAyOgkKKwkJciArPSB0ZiArIHA7IGJyZWFrOworCSAgICAgIGNhc2UgMjoKIAkJcDEgPSB5Kih1MCt5Kih1MSt5Kih1Mit5Kih1Myt5Kih1NCt5KnU1KSkpKSk7CiAJCXAyID0gb25lK3kqKHYxK3kqKHYyK3kqKHYzK3kqKHY0K3kqdjUpKSkpOwotCQlyICs9ICgtMC41KnkgKyBwMS9wMik7CisJCXIgKz0gcDEvcDIteS8yOwogCSAgICB9CiAJfQotCWVsc2UgaWYoaXg8MHg0MDIwMDAwMCkgeyAJCQkvKiB4IDwgOC4wICovCi0JICAgIGkgPSAoaW50KXg7Ci0JICAgIHkgPSB4LShkb3VibGUpaTsKKyAgICAvKiB4IDwgOC4wICovCisJZWxzZSBpZihpeDwweDQwMjAwMDAwKSB7CisJICAgIGkgPSB4OworCSAgICB5ID0geC1pOwogCSAgICBwID0geSooczAreSooczEreSooczIreSooczMreSooczQreSooczUreSpzNikpKSkpKTsKIAkgICAgcSA9IG9uZSt5KihyMSt5KihyMit5KihyMyt5KihyNCt5KihyNSt5KnI2KSkpKSk7Ci0JICAgIHIgPSBoYWxmKnkrcC9xOworCSAgICByID0geS8yK3AvcTsKIAkgICAgeiA9IG9uZTsJLyogbGdhbW1hKDErcykgPSBsb2cocykgKyBsZ2FtbWEocykgKi8KIAkgICAgc3dpdGNoKGkpIHsKLQkgICAgY2FzZSA3OiB6ICo9ICh5KzYuMCk7CS8qIEZBTExUSFJVICovCi0JICAgIGNhc2UgNjogeiAqPSAoeSs1LjApOwkvKiBGQUxMVEhSVSAqLwotCSAgICBjYXNlIDU6IHogKj0gKHkrNC4wKTsJLyogRkFMTFRIUlUgKi8KLQkgICAgY2FzZSA0OiB6ICo9ICh5KzMuMCk7CS8qIEZBTExUSFJVICovCi0JICAgIGNhc2UgMzogeiAqPSAoeSsyLjApOwkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDc6IHogKj0gKHkrNik7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDY6IHogKj0gKHkrNSk7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDU6IHogKj0gKHkrNCk7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDQ6IHogKj0gKHkrMyk7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDM6IHogKj0gKHkrMik7CQkvKiBGQUxMVEhSVSAqLwogCQkgICAgciArPSBfX2llZWU3NTRfbG9nKHopOyBicmVhazsKIAkgICAgfQotICAgIC8qIDguMCA8PSB4IDwgMioqNTggKi8KLQl9IGVsc2UgaWYgKGl4IDwgMHg0MzkwMDAwMCkgeworICAgIC8qIDguMCA8PSB4IDwgMioqNTYgKi8KKwl9IGVsc2UgaWYgKGl4IDwgMHg0MzcwMDAwMCkgewogCSAgICB0ID0gX19pZWVlNzU0X2xvZyh4KTsKIAkgICAgeiA9IG9uZS94OwogCSAgICB5ID0geip6OwogCSAgICB3ID0gdzAreioodzEreSoodzIreSoodzMreSoodzQreSoodzUreSp3NikpKSkpOwogCSAgICByID0gKHgtaGFsZikqKHQtb25lKSt3OwotCX0gZWxzZSAKLSAgICAvKiAyKio1OCA8PSB4IDw9IGluZiAqLworCX0gZWxzZQorICAgIC8qIDIqKjU2IDw9IHggPD0gaW5mICovCiAJICAgIHIgPSAgeCooX19pZWVlNzU0X2xvZyh4KS1vbmUpOwogCWlmKGh4PDApIHIgPSBuYWRqIC0gcjsKIAlyZXR1cm4gcjsKIH0KKworI2lmIChMREJMX01BTlRfRElHID09IDUzKQorX193ZWFrX3JlZmVyZW5jZShsZ2FtbWFfciwgbGdhbW1hbF9yKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYWZfci5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYWZfci5jCmluZGV4IGUyZDkwZWYuLjkwODRlMTggMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9sZ2FtbWFmX3IuYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbGdhbW1hZl9yLmMKQEAgLTEsNSArMSw2IEBACiAvKiBlX2xnYW1tYWZfci5jIC0tIGZsb2F0IHZlcnNpb24gb2YgZV9sZ2FtbWFfci5jLgogICogQ29udmVyc2lvbiB0byBmbG9hdCBieSBJYW4gTGFuY2UgVGF5bG9yLCBDeWdudXMgU3VwcG9ydCwgaWFuQGN5Z251cy5jb20uCisgKiBDb252ZXJzaW9uIHRvIGZsb2F0IGZpeGVkIEJ5IFN0ZXZlbiBHLiBLYXJnbC4KICAqLwogCiAvKgpAQCAtMTksMTA3ICsyMCw5MSBAQAogI2luY2x1ZGUgIm1hdGguaCIKICNpbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIKIAorc3RhdGljIGNvbnN0IHZvbGF0aWxlIGZsb2F0IHZ6ZXJvID0gMDsKKwogc3RhdGljIGNvbnN0IGZsb2F0Ci10d28yMz0gIDguMzg4NjA4MDAwMGUrMDYsIC8qIDB4NGIwMDAwMDAgKi8KLWhhbGY9ICA1LjAwMDAwMDAwMDBlLTAxLCAvKiAweDNmMDAwMDAwICovCi1vbmUgPSAgMS4wMDAwMDAwMDAwZSswMCwgLyogMHgzZjgwMDAwMCAqLworemVybz0gIDAsCitoYWxmPSAgMC41LAorb25lID0gIDEsCiBwaSAgPSAgMy4xNDE1OTI3NDEwZSswMCwgLyogMHg0MDQ5MGZkYiAqLwotYTAgID0gIDcuNzIxNTY2NDA4OWUtMDIsIC8qIDB4M2Q5ZTIzM2YgKi8KLWExICA9ICAzLjIyNDY3MDI5MDllLTAxLCAvKiAweDNlYTUxYTY2ICovCi1hMiAgPSAgNi43MzUyMzAyMzcyZS0wMiwgLyogMHgzZDg5ZjAwMSAqLwotYTMgID0gIDIuMDU4MDgwNzcwMWUtMDIsIC8qIDB4M2NhODk5MTUgKi8KLWE0ICA9ICA3LjM4NTU1MDk5ODJlLTAzLCAvKiAweDNiZjIwMjdlICovCi1hNSAgPSAgMi44OTA1MTM3NDQyZS0wMywgLyogMHgzYjNkNmVjNiAqLwotYTYgID0gIDEuMTkyNzA3Njg0OGUtMDMsIC8qIDB4M2E5YzU0YTEgKi8KLWE3ICA9ICA1LjEwMDY5Nzc0NDZlLTA0LCAvKiAweDNhMDViNjM0ICovCi1hOCAgPSAgMi4yMDg2Mjc4NDc3ZS0wNCwgLyogMHgzOTY3OTc2NyAqLwotYTkgID0gIDEuMDgwMTE1Njg5NWUtMDQsIC8qIDB4MzhlMjg0NDUgKi8KLWExMCA9ICAyLjUyMTQ0NTY0MDBlLTA1LCAvKiAweDM3ZDM4M2EyICovCi1hMTEgPSAgNC40ODY0MDk2NzA4ZS0wNSwgLyogMHgzODNjMmM3NSAqLwotdGMgID0gIDEuNDYxNjMyMTMyNWUrMDAsIC8qIDB4M2ZiYjE2YzMgKi8KLXRmICA9IC0xLjIxNDg2MjgzODRlLTAxLCAvKiAweGJkZjhjZGNkICovCi0vKiB0dCA9IC0odGFpbCBvZiB0ZikgKi8KLXR0ICA9ICA2LjY5NzEwMDY1MThlLTA5LCAvKiAweDMxZTYxYzUyICovCi10MCAgPSAgNC44MzgzNjExNDQxZS0wMSwgLyogMHgzZWY3Yjk1ZSAqLwotdDEgID0gLTEuNDc1ODc3MTY1OGUtMDEsIC8qIDB4YmUxNzIxM2MgKi8KLXQyICA9ICA2LjQ2MjQ5NDI4MzllLTAyLCAvKiAweDNkODQ1YTE1ICovCi10MyAgPSAtMy4yNzg4NTQxMTY4ZS0wMiwgLyogMHhiZDA2NGQ0NyAqLwotdDQgID0gIDEuNzk3MDY3NTYwM2UtMDIsIC8qIDB4M2M5MzM3M2QgKi8KLXQ1ICA9IC0xLjAzMTQyMjQyODhlLTAyLCAvKiAweGJjMjhmY2ZlICovCi10NiAgPSAgNi4xMDA1Mzg2NTI0ZS0wMywgLyogMHgzYmM3ZTcwNyAqLwotdDcgID0gLTMuNjg0NTIwMjU1OGUtMDMsIC8qIDB4YmI3MTc3ZmUgKi8KLXQ4ICA9ICAyLjI1OTY0NzcwNjVlLTAzLCAvKiAweDNiMTQxNjk5ICovCi10OSAgPSAtMS40MDM0NjQ3MDI5ZS0wMywgLyogMHhiYWI3ZjQ3NiAqLwotdDEwID0gIDguODEwODE4NTQ0NmUtMDQsIC8qIDB4M2E2NmY4NjcgKi8KLXQxMSA9IC01LjM4NTk1MzExODFlLTA0LCAvKiAweGJhMGQzMDg1ICovCi10MTIgPSAgMy4xNTYzMjA1OTk0ZS0wNCwgLyogMHgzOWE1N2I2YiAqLwotdDEzID0gLTMuMTI3NTQxNTY3N2UtMDQsIC8qIDB4YjlhM2Y5MjcgKi8KLXQxNCA9ICAzLjM1NTI5MTg0NjdlLTA0LCAvKiAweDM5YWZlOWY3ICovCi11MCAgPSAtNy43MjE1NjY0MDg5ZS0wMiwgLyogMHhiZDllMjMzZiAqLwotdTEgID0gIDYuMzI4MjcwNDM1M2UtMDEsIC8qIDB4M2YyMjAwZjQgKi8KLXUyICA9ICAxLjQ1NDkyMjU1NjllKzAwLCAvKiAweDNmYmEzYWU3ICovCi11MyAgPSAgOS43NzcxNzUxODgxZS0wMSwgLyogMHgzZjdhNGJiMiAqLwotdTQgID0gIDIuMjg5NjM3MzI3MmUtMDEsIC8qIDB4M2U2YTc1NzggKi8KLXU1ICA9ICAxLjMzODEwOTE4NzhlLTAyLCAvKiAweDNjNWIzYzVlICovCi12MSAgPSAgMi40NTU5Nzc5MTY3ZSswMCwgLyogMHg0MDFkMmViZSAqLwotdjIgID0gIDIuMTI4NDg5NzMyN2UrMDAsIC8qIDB4NDAwODM5MmQgKi8KLXYzICA9ICA3LjY5Mjg1MTQyNDJlLTAxLCAvKiAweDNmNDRlZmRmICovCi12NCAgPSAgMS4wNDIyMjY0Nzg1ZS0wMSwgLyogMHgzZGQ1NzJhZiAqLwotdjUgID0gIDMuMjE3MDkyNDgyNGUtMDMsIC8qIDB4M2I1MmQ1ZGIgKi8KLXMwICA9IC03LjcyMTU2NjQwODllLTAyLCAvKiAweGJkOWUyMzNmICovCi1zMSAgPSAgMi4xNDk4MjQyMDIxZS0wMSwgLyogMHgzZTVjMjQ1YSAqLwotczIgID0gIDMuMjU3Nzg3ODIzN2UtMDEsIC8qIDB4M2VhNmNjN2EgKi8KLXMzICA9ICAxLjQ2MzUwNDczMTdlLTAxLCAvKiAweDNlMTVkY2U2ICovCi1zNCAgPSAgMi42NjQyMjcwMzg2ZS0wMiwgLyogMHgzY2RhNDBlNCAqLwotczUgID0gIDEuODQwMjg0NTU5OWUtMDMsIC8qIDB4M2FmMTM1YjQgKi8KLXM2ICA9ICAzLjE5NDc1MzI5ODllLTA1LCAvKiAweDM4MDVmZjY3ICovCi1yMSAgPSAgMS4zOTIwMDUzMjQ0ZSswMCwgLyogMHgzZmIyMmQzYiAqLwotcjIgID0gIDcuMjE5MzU1NzAyNGUtMDEsIC8qIDB4M2YzOGQwYzUgKi8KLXIzICA9ICAxLjcxOTMzODU5NTllLTAxLCAvKiAweDNlMzAwZjZlICovCi1yNCAgPSAgMS44NjQ1OTE5ODU5ZS0wMiwgLyogMHgzYzk4YmY1NCAqLwotcjUgID0gIDcuNzc5NDI0Nzc3M2UtMDQsIC8qIDB4M2E0YmVlZDYgKi8KLXI2ICA9ICA3LjMyNjY4NDIyNjRlLTA2LCAvKiAweDM2ZjVkN2JkICovCi13MCAgPSAgNC4xODkzODU0NzM3ZS0wMSwgLyogMHgzZWQ2N2YxZCAqLwotdzEgID0gIDguMzMzMzMzNTgxN2UtMDIsIC8qIDB4M2RhYWFhYWIgKi8KLXcyICA9IC0yLjc3Nzc3Nzg0NTBlLTAzLCAvKiAweGJiMzYwYjYxICovCi13MyAgPSAgNy45MzY1MDU3MTcyZS0wNCwgLyogMHgzYTUwMGNmZCAqLwotdzQgID0gLTUuOTUxODc1MzU1MWUtMDQsIC8qIDB4YmExYzA2NWMgKi8KLXc1ICA9ICA4LjM2MzM5ODk1NjFlLTA0LCAvKiAweDNhNWIzZGQyICovCi13NiAgPSAtMS42MzA5MjkyOTg3ZS0wMzsgLyogMHhiYWQ1YzRlOCAqLworLyoKKyAqIERvbWFpbiB5IGluIFsweDFwLTI3LCAwLjI3XSwgcmFuZ2UgflstMy40NTk5ZS0xMCwgMy40NTkwZS0xMF06CisgKiB8KGxnYW1tYSgyIC0geSkgKyAwLjUgKiB5KSAvIHkgLSBhKHkpfCA8IDIqKi0zMS40CisgKi8KK2EwICA9ICA3LjcyMTU2NjQxZS0wMiwgLyogMHgzZDllMjMzZiAqLworYTEgID0gIDMuMjI0NjcxMTllLTAxLCAvKiAweDNlYTUxYTY5ICovCithMiAgPSAgNi43MzQ4NDgwMmUtMDIsIC8qIDB4M2Q4OWVlMDAgKi8KK2EzICA9ICAyLjA2Mzk1NjY3ZS0wMiwgLyogMHgzY2E5MTQ0ZiAqLworYTQgID0gIDYuOTgyNzU2MzFlLTAzLCAvKiAweDNiZTRjZjliICovCithNSAgPSAgNC4xMTc2ODQ0NGUtMDMsIC8qIDB4M2I4NmVkYTQgKi8KKy8qCisgKiBEb21haW4geCBpbiBbdGMtMC4yNCwgdGMrMC4yOF0sIHJhbmdlIH5bLTUuNjU3N2UtMTAsIDUuNTY3N2UtMTBdOgorICogfChsZ2FtbWEoeCkgLSB0ZikgLSB0KHggLSB0Yyl8IDwgMioqLTMwLjguCisgKi8KK3RjICA9ICAxLjQ2MTYzMjEzZSswMCwgLyogMHgzZmJiMTZjMyAqLwordGYgID0gLTEuMjE0ODYyOTFlLTAxLCAvKiAweGJkZjhjZGNlICovCit0MCAgPSAtMi45NDA2NDQ2MGUtMTEsIC8qIDB4YWUwMTU0YjcgKi8KK3QxICA9IC0yLjM1OTM5ODM3ZS0wOCwgLyogMHhiMmNhYWJiOCAqLwordDIgID0gIDQuODM4MzY0MTJlLTAxLCAvKiAweDNlZjdiOTY4ICovCit0MyAgPSAtMS40NzU4NjIxMmUtMDEsIC8qIDB4YmUxNzIwZDcgKi8KK3Q0ICA9ICA2LjQ2MDEzMDk2ZS0wMiwgLyogMHgzZDg0NGRiMSAqLwordDUgID0gLTMuMjg0NTAzNTJlLTAyLCAvKiAweGJkMDY4ODg0ICovCit0NiAgPSAgMS44NjQ4Mzc0OGUtMDIsIC8qIDB4M2M5OGM0N2EgKi8KK3Q3ICA9IC05Ljg5MjA2MjI4ZS0wMywgLyogMHhiYzIyMTI1MSAqLworLyoKKyAqIERvbWFpbiB5IGluIFstMC4xLCAwLjIzMl0sIHJhbmdlIH5bLTguNDkzMWUtMTAsIDguNzc5NGUtMTBdOgorICogfChsZ2FtbWEoMSArIHkpICsgMC41ICogeSkgLyB5IC0gdSh5KSAvIHYoeSl8IDwgMioqLTMxLjIKKyAqLwordTAgID0gLTcuNzIxNTY2NDFlLTAyLCAvKiAweGJkOWUyMzNmICovCit1MSAgPSAgNy4zNjc4OTcwM2UtMDEsIC8qIDB4M2YzYzllNDAgKi8KK3UyICA9ICA0Ljk1NjQ5MDQwZS0wMSwgLyogMHgzZWZkYzViNiAqLwordjEgID0gIDEuMTA5NTg0MjFlKzAwLCAvKiAweDNmOGUwNmRiICovCit2MiAgPSAgMi4xMDU5ODExMWUtMDEsIC8qIDB4M2U1N2E3MDggKi8KK3YzICA9IC0xLjAyOTk1NDk0ZS0wMiwgLyogMHhiYzI4YmY3MSAqLworLyoKKyAqIERvbWFpbiB4IGluICgyLCAzXSwgcmFuZ2UgflstNS41MTg5ZS0xMSwgNS4yMzE3ZS0xMV06CisgKiB8KGxnYW1tYSh5KzIpIC0gMC41ICogeSkgLyB5IC0gcyh5KS9yKHkpfCA8IDIqKi0zNS4wCisgKiB3aXRoIHkgPSB4IC0gMi4KKyAqLworczAgPSAtNy43MjE1NjY0MWUtMDIsIC8qIDB4YmQ5ZTIzM2YgKi8KK3MxID0gIDIuNjk5ODc0MDRlLTAxLCAvKiAweDNlOGEzYmNhICovCitzMiA9ICAxLjQyODUxMDEwZS0wMSwgLyogMHgzZTEyNDc4OSAqLworczMgPSAgMS4xOTM4OTUxOWUtMDIsIC8qIDB4M2M0MzliOTggKi8KK3IxID0gIDYuNzk2NTAwNjhlLTAxLCAvKiAweDNmMmRmZDhjICovCityMiA9ICAxLjE2MDU4NzMwZS0wMSwgLyogMHgzZGVkYjAzMyAqLworcjMgPSAgMy43NTY3MzY4N2UtMDMsIC8qIDB4M2I3NjMzOTYgKi8KKy8qCisgKiBEb21haW4geiBpbiBbOCwgMHgxcDI0XSwgcmFuZ2UgflstMS4yNjQwZS0wOSwgMS4yNjQwZS0wOV06CisgKiB8bGdhbW1hKHgpIC0gKHggLSAwLjUpICogKGxvZyh4KSAtIDEpIC0gdygxL3gpfCA8IDIqKi0yOS42LgorICovCit3MCA9ICA0LjE4OTM4NTQ3ZS0wMSwgLyogMHgzZWQ2N2YxZCAqLwordzEgPSAgOC4zMzMzMjQ2NGUtMDIsIC8qIDB4M2RhYWFhOWYgKi8KK3cyID0gLTIuNzYxMjkwODdlLTAzOyAvKiAweGJiMzRmNmM2ICovCiAKLXN0YXRpYyBjb25zdCBmbG9hdCB6ZXJvPSAgMC4wMDAwMDAwMDAwZSswMDsKLQotCXN0YXRpYyBmbG9hdCBzaW5fcGlmKGZsb2F0IHgpCitzdGF0aWMgZmxvYXQKK3Npbl9waWYoZmxvYXQgeCkKIHsKKwl2b2xhdGlsZSBmbG9hdCB2ejsKIAlmbG9hdCB5LHo7Ci0JaW50IG4saXg7CisJaW50IG47CiAKLQlHRVRfRkxPQVRfV09SRChpeCx4KTsKLQlpeCAmPSAweDdmZmZmZmZmOworCXkgPSAteDsKIAotCWlmKGl4PDB4M2U4MDAwMDApIHJldHVybiBfX2tlcm5lbF9zaW5kZihwaSp4KTsKLQl5ID0gLXg7CQkvKiB4IGlzIGFzc3VtZSBuZWdhdGl2ZSAqLworCXZ6ID0geSsweDFwMjNGOwkJCS8qIGRlcGVuZCBvbiAwIDw9IHkgPCAweDFwMjMgKi8KKwl6ID0gdnotMHgxcDIzRjsJCQkvKiByaW50Zih5KSBmb3IgdGhlIGFib3ZlIHJhbmdlICovCisJaWYgKHogPT0geSkKKwkgICAgcmV0dXJuIHplcm87CiAKLSAgICAvKgotICAgICAqIGFyZ3VtZW50IHJlZHVjdGlvbiwgbWFrZSBzdXJlIGluZXhhY3QgZmxhZyBub3QgcmFpc2VkIGlmIGlucHV0Ci0gICAgICogaXMgYW4gaW50ZWdlcgotICAgICAqLwotCXogPSBmbG9vcmYoeSk7Ci0JaWYoeiE9eSkgewkJCQkvKiBpbmV4YWN0IGFueXdheSAqLwotCSAgICB5ICAqPSAoZmxvYXQpMC41OwotCSAgICB5ICAgPSAoZmxvYXQpMi4wKih5IC0gZmxvb3JmKHkpKTsJLyogeSA9IHx4fCBtb2QgMi4wICovCi0JICAgIG4gICA9IChpbnQpICh5KihmbG9hdCk0LjApOwotCX0gZWxzZSB7Ci0gICAgICAgICAgICBpZihpeD49MHg0YjgwMDAwMCkgewotICAgICAgICAgICAgICAgIHkgPSB6ZXJvOyBuID0gMDsgICAgICAgICAgICAgICAgIC8qIHkgbXVzdCBiZSBldmVuICovCi0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmKGl4PDB4NGIwMDAwMDApIHogPSB5K3R3bzIzOwkvKiBleGFjdCAqLwotCQlHRVRfRkxPQVRfV09SRChuLHopOwotCQluICY9IDE7Ci0gICAgICAgICAgICAgICAgeSAgPSBuOwotICAgICAgICAgICAgICAgIG48PD0gMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorCXZ6ID0geSsweDFwMjFGOworCUdFVF9GTE9BVF9XT1JEKG4sdnopOwkJLyogYml0cyBmb3Igcm91bmRlZCB5ICh1bml0cyAwLjI1KSAqLworCXogPSB2ei0weDFwMjFGOwkJCS8qIHkgcm91bmRlZCB0byBhIG11bHRpcGxlIG9mIDAuMjUgKi8KKwlpZiAoeiA+IHkpIHsKKwkgICAgeiAtPSAwLjI1RjsJCQkvKiBhZGp1c3QgdG8gcm91bmQgZG93biAqLworCSAgICBuLS07CisJfQorCW4gJj0gNzsJCQkJLyogb2N0YW50IG9mIHkgbW9kIDIgKi8KKwl5ID0geSAtIHogKyBuICogMC4yNUY7CQkvKiB5IG1vZCAyICovCisKIAlzd2l0Y2ggKG4pIHsKIAkgICAgY2FzZSAwOiAgIHkgPSAgX19rZXJuZWxfc2luZGYocGkqeSk7IGJyZWFrOwogCSAgICBjYXNlIDE6CkBAIC0xMzcsMzQgKzEyMiwzOCBAQAogZmxvYXQKIF9faWVlZTc1NF9sZ2FtbWFmX3IoZmxvYXQgeCwgaW50ICpzaWduZ2FtcCkKIHsKLQlmbG9hdCB0LHkseixuYWRqLHAscDEscDIscDMscSxyLHc7CisJZmxvYXQgbmFkaixwLHAxLHAyLHAzLHEscix0LHcseSx6OwogCWludDMyX3QgaHg7CiAJaW50IGksaXg7CiAKIAlHRVRfRkxPQVRfV09SRChoeCx4KTsKIAotICAgIC8qIHB1cmdlIG9mZiArLWluZiwgTmFOLCArLTAsIHRpbnkgYW5kIG5lZ2F0aXZlIGFyZ3VtZW50cyAqLworICAgIC8qIHB1cmdlICstSW5mIGFuZCBOYU5zICovCiAJKnNpZ25nYW1wID0gMTsKIAlpeCA9IGh4JjB4N2ZmZmZmZmY7CiAJaWYoaXg+PTB4N2Y4MDAwMDApIHJldHVybiB4Kng7Ci0JaWYoaXg9PTApIHJldHVybiBvbmUvemVybzsKLQlpZihpeDwweDM1MDAwMDAwKSB7CS8qIHx4fDwyKiotMjEsIHJldHVybiAtbG9nKHx4fCkgKi8KLQkgICAgaWYoaHg8MCkgewotCSAgICAgICAgKnNpZ25nYW1wID0gLTE7Ci0JICAgICAgICByZXR1cm4gLV9faWVlZTc1NF9sb2dmKC14KTsKLQkgICAgfSBlbHNlIHJldHVybiAtX19pZWVlNzU0X2xvZ2YoeCk7CisKKyAgICAvKiBwdXJnZSArLTAgYW5kIHRpbnkgYXJndW1lbnRzICovCisJKnNpZ25nYW1wID0gMS0yKigodWludDMyX3QpaHg+PjMxKTsKKwlpZihpeDwweDMyMDAwMDAwKSB7CQkvKiB8eHw8MioqLTI3LCByZXR1cm4gLWxvZyh8eHwpICovCisJICAgIGlmKGl4PT0wKQorCSAgICAgICAgcmV0dXJuIG9uZS92emVybzsKKwkgICAgcmV0dXJuIC1fX2llZWU3NTRfbG9nZihmYWJzZih4KSk7CiAJfQorCisgICAgLyogcHVyZ2UgbmVnYXRpdmUgaW50ZWdlcnMgYW5kIHN0YXJ0IGV2YWx1YXRpb24gZm9yIG90aGVyIHggPCAwICovCiAJaWYoaHg8MCkgewotCSAgICBpZihpeD49MHg0YjAwMDAwMCkgCS8qIHx4fD49MioqMjMsIG11c3QgYmUgLWludGVnZXIgKi8KLQkJcmV0dXJuIG9uZS96ZXJvOworCSAgICAqc2lnbmdhbXAgPSAxOworCSAgICBpZihpeD49MHg0YjAwMDAwMCkgCQkvKiB8eHw+PTIqKjIzLCBtdXN0IGJlIC1pbnRlZ2VyICovCisJCXJldHVybiBvbmUvdnplcm87CiAJICAgIHQgPSBzaW5fcGlmKHgpOwotCSAgICBpZih0PT16ZXJvKSByZXR1cm4gb25lL3plcm87IC8qIC1pbnRlZ2VyICovCisJICAgIGlmKHQ9PXplcm8pIHJldHVybiBvbmUvdnplcm87IC8qIC1pbnRlZ2VyICovCiAJICAgIG5hZGogPSBfX2llZWU3NTRfbG9nZihwaS9mYWJzZih0KngpKTsKIAkgICAgaWYodDx6ZXJvKSAqc2lnbmdhbXAgPSAtMTsKIAkgICAgeCA9IC14OwogCX0KIAotICAgIC8qIHB1cmdlIG9mZiAxIGFuZCAyICovCisgICAgLyogcHVyZ2UgMSBhbmQgMiAqLwogCWlmIChpeD09MHgzZjgwMDAwMHx8aXg9PTB4NDAwMDAwMDApIHIgPSAwOwogICAgIC8qIGZvciB4IDwgMi4wICovCiAJZWxzZSBpZihpeDwweDQwMDAwMDAwKSB7CkBAIC0xNzUsNTUgKzE2NCw1MSBAQAogCSAgCWVsc2Uge3kgPSB4OyBpPTI7fQogCSAgICB9IGVsc2UgewogCSAgCXIgPSB6ZXJvOwotCSAgICAgICAgaWYoaXg+PTB4M2ZkZGE2MTgpIHt5PShmbG9hdCkyLjAteDtpPTA7fSAvKiBbMS43MzE2LDJdICovCisJICAgICAgICBpZihpeD49MHgzZmRkYTYxOCkge3k9Mi14O2k9MDt9IC8qIFsxLjczMTYsMl0gKi8KIAkgICAgICAgIGVsc2UgaWYoaXg+PTB4M0Y5ZGE2MjApIHt5PXgtdGM7aT0xO30gLyogWzEuMjMsMS43M10gKi8KIAkJZWxzZSB7eT14LW9uZTtpPTI7fQogCSAgICB9CiAJICAgIHN3aXRjaChpKSB7CiAJICAgICAgY2FzZSAwOgogCQl6ID0geSp5OwotCQlwMSA9IGEwK3oqKGEyK3oqKGE0K3oqKGE2K3oqKGE4K3oqYTEwKSkpKTsKLQkJcDIgPSB6KihhMSt6KihhMyt6KihhNSt6KihhNyt6KihhOSt6KmExMSkpKSkpOworCQlwMSA9IGEwK3oqKGEyK3oqYTQpOworCQlwMiA9IHoqKGExK3oqKGEzK3oqYTUpKTsKIAkJcCAgPSB5KnAxK3AyOwotCQlyICArPSAocC0oZmxvYXQpMC41KnkpOyBicmVhazsKKwkJciAgKz0gcC15LzI7IGJyZWFrOwogCSAgICAgIGNhc2UgMToKLQkJeiA9IHkqeTsKLQkJdyA9IHoqeTsKLQkJcDEgPSB0MCt3Kih0Myt3Kih0Nit3Kih0OSArdyp0MTIpKSk7CS8qIHBhcmFsbGVsIGNvbXAgKi8KLQkJcDIgPSB0MSt3Kih0NCt3Kih0Nyt3Kih0MTArdyp0MTMpKSk7Ci0JCXAzID0gdDIrdyoodDUrdyoodDgrdyoodDExK3cqdDE0KSkpOwotCQlwICA9IHoqcDEtKHR0LXcqKHAyK3kqcDMpKTsKLQkJciArPSAodGYgKyBwKTsgYnJlYWs7CisJCXAgPSB0MCt5KnQxK3kqeSoodDIreSoodDMreSoodDQreSoodDUreSoodDYreSp0NykpKSkpOworCQlyICs9IHRmICsgcDsgYnJlYWs7CiAJICAgICAgY2FzZSAyOgotCQlwMSA9IHkqKHUwK3kqKHUxK3kqKHUyK3kqKHUzK3kqKHU0K3kqdTUpKSkpKTsKLQkJcDIgPSBvbmUreSoodjEreSoodjIreSoodjMreSoodjQreSp2NSkpKSk7Ci0JCXIgKz0gKC0oZmxvYXQpMC41KnkgKyBwMS9wMik7CisJCXAxID0geSoodTAreSoodTEreSp1MikpOworCQlwMiA9IG9uZSt5Kih2MSt5Kih2Mit5KnYzKSk7CisJCXIgKz0gcDEvcDIteS8yOwogCSAgICB9CiAJfQotCWVsc2UgaWYoaXg8MHg0MTAwMDAwMCkgeyAJCQkvKiB4IDwgOC4wICovCi0JICAgIGkgPSAoaW50KXg7Ci0JICAgIHkgPSB4LShmbG9hdClpOwotCSAgICBwID0geSooczAreSooczEreSooczIreSooczMreSooczQreSooczUreSpzNikpKSkpKTsKLQkgICAgcSA9IG9uZSt5KihyMSt5KihyMit5KihyMyt5KihyNCt5KihyNSt5KnI2KSkpKSk7Ci0JICAgIHIgPSBoYWxmKnkrcC9xOworICAgIC8qIHggPCA4LjAgKi8KKwllbHNlIGlmKGl4PDB4NDEwMDAwMDApIHsKKwkgICAgaSA9IHg7CisJICAgIHkgPSB4LWk7CisJICAgIHAgPSB5KihzMCt5KihzMSt5KihzMit5KnMzKSkpOworCSAgICBxID0gb25lK3kqKHIxK3kqKHIyK3kqcjMpKTsKKwkgICAgciA9IHkvMitwL3E7CiAJICAgIHogPSBvbmU7CS8qIGxnYW1tYSgxK3MpID0gbG9nKHMpICsgbGdhbW1hKHMpICovCiAJICAgIHN3aXRjaChpKSB7Ci0JICAgIGNhc2UgNzogeiAqPSAoeSsoZmxvYXQpNi4wKTsJLyogRkFMTFRIUlUgKi8KLQkgICAgY2FzZSA2OiB6ICo9ICh5KyhmbG9hdCk1LjApOwkvKiBGQUxMVEhSVSAqLwotCSAgICBjYXNlIDU6IHogKj0gKHkrKGZsb2F0KTQuMCk7CS8qIEZBTExUSFJVICovCi0JICAgIGNhc2UgNDogeiAqPSAoeSsoZmxvYXQpMy4wKTsJLyogRkFMTFRIUlUgKi8KLQkgICAgY2FzZSAzOiB6ICo9ICh5KyhmbG9hdCkyLjApOwkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDc6IHogKj0gKHkrNik7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDY6IHogKj0gKHkrNSk7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDU6IHogKj0gKHkrNCk7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDQ6IHogKj0gKHkrMyk7CQkvKiBGQUxMVEhSVSAqLworCSAgICBjYXNlIDM6IHogKj0gKHkrMik7CQkvKiBGQUxMVEhSVSAqLwogCQkgICAgciArPSBfX2llZWU3NTRfbG9nZih6KTsgYnJlYWs7CiAJICAgIH0KLSAgICAvKiA4LjAgPD0geCA8IDIqKjU4ICovCi0JfSBlbHNlIGlmIChpeCA8IDB4NWM4MDAwMDApIHsKKyAgICAvKiA4LjAgPD0geCA8IDIqKjI3ICovCisJfSBlbHNlIGlmIChpeCA8IDB4NGQwMDAwMDApIHsKIAkgICAgdCA9IF9faWVlZTc1NF9sb2dmKHgpOwogCSAgICB6ID0gb25lL3g7CiAJICAgIHkgPSB6Kno7Ci0JICAgIHcgPSB3MCt6Kih3MSt5Kih3Mit5Kih3Myt5Kih3NCt5Kih3NSt5Knc2KSkpKSk7CisJICAgIHcgPSB3MCt6Kih3MSt5KncyKTsKIAkgICAgciA9ICh4LWhhbGYpKih0LW9uZSkrdzsKIAl9IGVsc2UKLSAgICAvKiAyKio1OCA8PSB4IDw9IGluZiAqLworICAgIC8qIDIqKjI3IDw9IHggPD0gaW5mICovCiAJICAgIHIgPSAgeCooX19pZWVlNzU0X2xvZ2YoeCktb25lKTsKIAlpZihoeDwwKSByID0gbmFkaiAtIHI7CiAJcmV0dXJuIHI7CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfbGdhbW1hbC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmMyZmM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX2xnYW1tYWwuYwpAQCAtMCwwICsxLDI1IEBACisvKiBAKCMpZV9sZ2FtbWEuYyAxLjMgOTUvMDEvMTggKi8KKy8qCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgKEMpIDE5OTMgYnkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIERldmVsb3BlZCBhdCBTdW5Tb2Z0LCBhIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gYnVzaW5lc3MuCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzCisgKiBzb2Z0d2FyZSBpcyBmcmVlbHkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGlzIG5vdGljZQorICogaXMgcHJlc2VydmVkLgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KK19fRkJTRElEKCIkRnJlZUJTRCQiKTsKKworI2luY2x1ZGUgIm1hdGguaCIKKyNpbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIKKworZXh0ZXJuIGludCBzaWduZ2FtOworCitsb25nIGRvdWJsZQorbGdhbW1hbChsb25nIGRvdWJsZSB4KQoreworCXJldHVybiBsZ2FtbWFsX3IoeCwmc2lnbmdhbSk7Cit9CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcG93LmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2VfcG93LmMKaW5kZXggNzYwN2E0YS4uZDU0YWY5ZCAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3Bvdy5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9wb3cuYwpAQCAtMTksMjAgKzE5LDIwIEBACiAgKgkxLiBDb21wdXRlIGFuZCByZXR1cm4gbG9nMih4KSBpbiB0d28gcGllY2VzOgogICoJCWxvZzIoeCkgPSB3MSArIHcyLAogICoJICAgd2hlcmUgdzEgaGFzIDUzLTI0ID0gMjkgYml0IHRyYWlsaW5nIHplcm9zLgotICoJMi4gUGVyZm9ybSB5KmxvZzIoeCkgPSBuK3knIGJ5IHNpbXVsYXRpbmcgbXV0aS1wcmVjaXNpb24gCisgKgkyLiBQZXJmb3JtIHkqbG9nMih4KSA9IG4reScgYnkgc2ltdWxhdGluZyBtdWx0aS1wcmVjaXNpb24gCiAgKgkgICBhcml0aG1ldGljLCB3aGVyZSB8eSd8PD0wLjUuCiAgKgkzLiBSZXR1cm4geCoqeSA9IDIqKm4qZXhwKHknKmxvZzIpCiAgKgogICogU3BlY2lhbCBjYXNlczoKICAqCTEuICAoYW55dGhpbmcpICoqIDAgIGlzIDEKICAqCTIuICAoYW55dGhpbmcpICoqIDEgIGlzIGl0c2VsZgotICoJMy4gIChhbnl0aGluZykgKiogTkFOIGlzIE5BTgorICoJMy4gIChhbnl0aGluZykgKiogTkFOIGlzIE5BTiBleGNlcHQgMSAqKiBOQU4gPSAxCiAgKgk0LiAgTkFOICoqIChhbnl0aGluZyBleGNlcHQgMCkgaXMgTkFOCiAgKgk1LiAgKy0ofHh8ID4gMSkgKiogICtJTkYgaXMgK0lORgogICoJNi4gICstKHx4fCA+IDEpICoqICAtSU5GIGlzICswCiAgKgk3LiAgKy0ofHh8IDwgMSkgKiogICtJTkYgaXMgKzAKICAqCTguICArLSh8eHwgPCAxKSAqKiAgLUlORiBpcyArSU5GCi0gKgk5LiAgKy0xICAgICAgICAgKiogKy1JTkYgaXMgTkFOCisgKgk5LiAgKy0xICAgICAgICAgKiogKy1JTkYgaXMgMQogICoJMTAuICswICoqICgrYW55dGhpbmcgZXhjZXB0IDAsIE5BTikgICAgICAgICAgICAgICBpcyArMAogICoJMTEuIC0wICoqICgrYW55dGhpbmcgZXhjZXB0IDAsIE5BTiwgb2RkIGludGVnZXIpICBpcyArMAogICoJMTIuICswICoqICgtYW55dGhpbmcgZXhjZXB0IDAsIE5BTikgICAgICAgICAgICAgICBpcyArSU5GCkBAIC0xNDEsNyArMTQxLDcgQEAKIAlpZihseT09MCkgeyAJCiAJICAgIGlmIChpeT09MHg3ZmYwMDAwMCkgewkvKiB5IGlzICstaW5mICovCiAJICAgICAgICBpZigoKGl4LTB4M2ZmMDAwMDApfGx4KT09MCkKLQkJICAgIHJldHVybiAgb25lOwkvKiAoLTEpKiorLWluZiBpcyBOYU4gKi8KKwkJICAgIHJldHVybiAgb25lOwkvKiAoLTEpKiorLWluZiBpcyAxICovCiAJICAgICAgICBlbHNlIGlmIChpeCA+PSAweDNmZjAwMDAwKS8qICh8eHw+MSkqKistaW5mID0gaW5mLDAgKi8KIAkJICAgIHJldHVybiAoaHk+PTApPyB5OiB6ZXJvOwogCSAgICAgICAgZWxzZQkJCS8qICh8eHw8MSkqKi0sK2luZiA9IGluZiwwICovCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2luaC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3NpbmguYwppbmRleCAxNzQ0MmQwLi42YzAxZjRhIDEwMDY0NAotLS0gYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2Vfc2luaC5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zaW5oLmMKQEAgLTMyLDYgKzMyLDggQEAKICAqCW9ubHkgc2luaCgwKT0wIGlzIGV4YWN0IGZvciBmaW5pdGUgeC4KICAqLwogCisjaW5jbHVkZSA8ZmxvYXQuaD4KKwogI2luY2x1ZGUgIm1hdGguaCIKICNpbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIKIApAQCAtNzEsMyArNzMsNyBAQAogICAgIC8qIHx4fCA+IG92ZXJmbG93dGhyZXNvbGQsIHNpbmgoeCkgb3ZlcmZsb3cgKi8KIAlyZXR1cm4geCpzaHVnZTsKIH0KKworI2lmIChMREJMX01BTlRfRElHID09IDUzKQorX193ZWFrX3JlZmVyZW5jZShzaW5oLCBzaW5obCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zaW5obC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9lX3NpbmhsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U3ZTMzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvZV9zaW5obC5jCkBAIC0wLDAgKzEsMTMxIEBACisvKiBmcm9tOiBGcmVlQlNEOiBoZWFkL2xpYi9tc3VuL3NyYy9lX3NpbmhsLmMgWFhYICovCisKKy8qCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgKEMpIDE5OTMgYnkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIERldmVsb3BlZCBhdCBTdW5Qcm8sIGEgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBidXNpbmVzcy4KKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMKKyAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlCisgKiBpcyBwcmVzZXJ2ZWQuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorX19GQlNESUQoIiRGcmVlQlNEJCIpOworCisvKgorICogU2VlIGVfc2luaC5jIGZvciBjb21wbGV0ZSBjb21tZW50cy4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gbG9uZyBkb3VibGUgYnkgQnJ1Y2UgRC4gRXZhbnMuCisgKi8KKworI2luY2x1ZGUgPGZsb2F0Lmg+CisjaWZkZWYgX19pMzg2X18KKyNpbmNsdWRlIDxpZWVlZnAuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiZnBtYXRoLmgiCisjaW5jbHVkZSAibWF0aC5oIgorI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgorI2luY2x1ZGUgImtfZXhwbC5oIgorCisjaWYgTERCTF9NQVhfRVhQICE9IDB4NDAwMAorLyogV2UgYWxzbyByZXF1aXJlIHRoZSB1c3VhbCBleHBzaWduIGVuY29kaW5nLiAqLworI2Vycm9yICJVbnN1cHBvcnRlZCBsb25nIGRvdWJsZSBmb3JtYXQiCisjZW5kaWYKKworI2RlZmluZQlCSUFTCShMREJMX01BWF9FWFAgLSAxKQorCitzdGF0aWMgY29uc3QgbG9uZyBkb3VibGUgc2h1Z2UgPSAweDFwMTYzODNMOworI2lmIExEQkxfTUFOVF9ESUcgPT0gNjQKKy8qCisgKiBEb21haW4gWy0xLCAxXSwgcmFuZ2UgflstNi42NzQ5ZS0yMiwgNi42NzQ5ZS0yMl06CisgKiB8c2luaCh4KS94IC0gcyh4KXwgPCAyKiotNzAuMworICovCitzdGF0aWMgY29uc3QgdW5pb24gSUVFRWwyYml0cworUzN1ID0gTEQ4MEMoMHhhYWFhYWFhYWFhYWFhYWFhLCAtMywgIDEuNjY2NjY2NjY2NjY2NjY2NjY2NThlLTFMKTsKKyNkZWZpbmUJUzMJUzN1LmUKK3N0YXRpYyBjb25zdCBkb3VibGUKK1M1ICA9ICA4LjMzMzMzMzMzMzMzMzMzMzJlLTMsCQkvKiAgMHgxMTExMTExMTExMTExMS4wcC01OSAqLworUzcgID0gIDEuOTg0MTI2OTg0MTI3MDA3NGUtNCwJCS8qICAweDFhMDFhMDFhMDFhMDcwLjBwLTY1ICovCitTOSAgPSAgMi43NTU3MzE5MjIzODczODg5ZS02LAkJLyogIDB4MTcxZGUzYTU1NjVmZTYuMHAtNzEgKi8KK1MxMSA9ICAyLjUwNTIxMDg0MDY3MDQwODRlLTgsCQkvKiAgMHgxYWU2NDU2ODU3NTMwZi4wcC03OCAqLworUzEzID0gIDEuNjA1OTA0Mjc0ODY1NTI5N2UtMTAsCQkvKiAgMHgxNjEyNDVmYTkxMDY5Ny4wcC04NSAqLworUzE1ID0gIDcuNjQ3MDAwNjkxNDM5NjkyMGUtMTMsCQkvKiAgMHgxYWU3Y2U0ZWZmMjc5Mi4wcC05MyAqLworUzE3ID0gIDIuODM0NjE0MjMwODQyNDI2N2UtMTU7CQkvKiAgMHgxOTg4MmNlNzg5ZmZjNi4wcC0xMDEgKi8KKyNlbGlmIExEQkxfTUFOVF9ESUcgPT0gMTEzCisvKgorICogRG9tYWluIFstMSwgMV0sIHJhbmdlIH5bLTIuOTY3M2UtMzYsIDIuOTY3M2UtMzZdOgorICogfHNpbmgoeCkveCAtIHMoeCl8IDwgMioqLTExOC4wCisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQorUzMgID0gIDEuNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjYwMzNlLTFMLAkvKiAgMHgxNTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTUzYi4wcC0xMTVMICovCitTNSAgPSAgOC4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzNzY0MzE5M2UtM0wsCS8qICAweDExMTExMTExMTExMTExMTExMTExMTExMTE4MGY1LjBwLTExOUwgKi8KK1M3ICA9ICAxLjk4NDEyNjk4NDEyNjk4NDEyNjk4NDEyNjk3MzkxMjYzMTk5ZS00TCwJLyogIDB4MWEwMWEwMWEwMWEwMWEwMWEwMWEwMTc2YWFkMTEuMHAtMTI1TCAqLworUzkgID0gIDIuNzU1NzMxOTIyMzk4NTg5MDY1MjU1NzQ0MDYyMDU0NjQyMThlLTZMLAkvKiAgMHgxNzFkZTNhNTU2YzczMzhmYWFjMjQzYWFhOTU5Mi4wcC0xMzFMICovCitTMTEgPSAgMi41MDUyMTA4Mzg1NDQxNzE4Nzc0OTY3NTYzNzQ2MDk3Nzk5N2UtOEwsCS8qICAweDFhZTY0NTY3ZjU0NGUzOGZlNTliMzM4MGQ3NDEzLjBwLTEzOEwgKi8KK1MxMyA9ICAxLjYwNTkwNDM4MzY4MjE2MTQ2MzY4NzM3NzYyNDMxNTUyNzAyZS0xMEwsCS8qICAweDE2MTI0NjEzYTg2ZDA5ODA1OWM3NjIwODUwZmMyLjBwLTE0NUwgKi8KK1MxNSA9ICA3LjY0NzE2MzczMTgxOTgwNTM5Nzg2ODAyNDcwOTY5MDk2NDQwZS0xM0wsCS8qICAweDFhZTdmM2U3MzNiODE0MTkzYWYwOWNlNzIzMDQzLjBwLTE1M0wgKi8KK1MxNyA9ICAyLjgxMTQ1NzI1NDM0Nzc1NDA5ODcwNTg0MjgwNzIyNzAxNTc0ZS0xNUw7CS8qICAweDE5NTJjNzcwMzBjMzY4OThjM2ZkMGI2ZGZjNTYyLjBwLTE2MUwgKi8KK3N0YXRpYyBjb25zdCBkb3VibGUKK1MxOT0gIDguMjIwNjM1MjQzNTQxMTAwNWUtMTgsCQkvKiAgMHgxMmY0OWI0NjYyYjg2ZC4wcC0xMDkgKi8KK1MyMT0gIDEuOTU3Mjk0MzkzMTQxODg5MWUtMjAsCQkvKiAgMHgxNzFiOGYyZmFiOTYyOC4wcC0xMTggKi8KK1MyMyA9ICAzLjg2Nzk5ODM1MzA2NjY5MzllLTIzLAkJLyogIDB4MTc2MTcwMDJiNzNhZmMuMHAtMTI3ICovCitTMjUgPSAgNi41MDY3ODY3OTExNTEyNzQ5ZS0yNjsJCS8qICAweDE0MjMzNTI2MjYwNDhhLjBwLTEzNiAqLworI2Vsc2UKKyNlcnJvciAiVW5zdXBwb3J0ZWQgbG9uZyBkb3VibGUgZm9ybWF0IgorI2VuZGlmIC8qIExEQkxfTUFOVF9ESUcgPT0gNjQgKi8KKworLyogbG9nKDIqKjE2Mzg1IC0gMC41KSByb3VuZGVkIHVwOiAqLworc3RhdGljIGNvbnN0IGZsb2F0CitvX3RocmVzaG9sZCA9ICAxLjEzNTcyMTY4ZTQ7CQkvKiAgMHhiMTc0ZGUuMHAtMTAgKi8KKworbG9uZyBkb3VibGUKK3NpbmhsKGxvbmcgZG91YmxlIHgpCit7CisJbG9uZyBkb3VibGUgaGksbG8seDIseDQ7CisJZG91YmxlIGR4MixzOworCWludDE2X3QgaXgsang7CisKKwlHRVRfTERCTF9FWFBTSUdOKGp4LHgpOworCWl4ID0gangmMHg3ZmZmOworCisgICAgLyogeCBpcyBJTkYgb3IgTmFOICovCisJaWYoaXg+PTB4N2ZmZikgcmV0dXJuIHgreDsKKworCUVOVEVSSSgpOworCisJcyA9IDE7CisJaWYgKGp4PDApIHMgPSAtMTsKKworICAgIC8qIHx4fCA8IDY0LCByZXR1cm4geCwgcyh4KSwgb3IgYWNjdXJhdGUgcyooZXhwKHx4fCkvMi0xL2V4cCh8eHwpLzIpICovCisJaWYgKGl4PDB4NDAwNSkgewkJLyogfHh8PDY0ICovCisJICAgIGlmIChpeDxCSUFTLShMREJMX01BTlRfRElHKzEpLzIpIAkvKiB8eHw8VElOWSAqLworCQlpZihzaHVnZSt4PjEpIFJFVFVSTkkoeCk7ICAvKiBzaW5oKHRpbnkpID0gdGlueSB3aXRoIGluZXhhY3QgKi8KKwkgICAgaWYgKGl4PDB4M2ZmZikgewkJLyogfHh8PDEgKi8KKwkJeDIgPSB4Kng7CisjaWYgTERCTF9NQU5UX0RJRyA9PSA2NAorCQl4NCA9IHgyKngyOworCQlSRVRVUk5JKCgoUzE3KngyICsgUzE1KSp4NCArIChTMTMqeDIgKyBTMTEpKSooeDIqeCp4NCp4NCkgKworCQkgICAgKChTOSp4MiArIFM3KSp4MiArIFM1KSooeDIqeCp4MikgKyBTMyooeDIqeCkgKyB4KTsKKyNlbGlmIExEQkxfTUFOVF9ESUcgPT0gMTEzCisJCWR4MiA9IHgyOworCQlSRVRVUk5JKCgoKCgoKCgoKChTMjUqZHgyICsgUzIzKSpkeDIgKworCQkgICAgUzIxKSp4MiArIFMxOSkqeDIgKworCQkgICAgUzE3KSp4MiArIFMxNSkqeDIgKyBTMTMpKngyICsgUzExKSp4MiArIFM5KSp4MiArIFM3KSp4MiArCisJCSAgICBTNSkqICh4Mip4KngyKSArCisJCSAgICBTMyooeDIqeCkgKyB4KTsKKyNlbmRpZgorCSAgICB9CisJICAgIGtfaGV4cGwoZmFic2woeCksICZoaSwgJmxvKTsKKwkgICAgUkVUVVJOSShzKihsbyAtIDAuMjUvKGhpICsgbG8pICsgaGkpKTsKKwl9CisKKyAgICAvKiB8eHwgaW4gWzY0LCBvX3RocmVzaG9sZF0sIHJldHVybiBjb3JyZWN0bHktb3ZlcmZsb3dpbmcgcypleHAofHh8KS8yICovCisJaWYgKGZhYnNsKHgpIDw9IG9fdGhyZXNob2xkKQorCSAgICBSRVRVUk5JKHMqaGV4cGwoZmFic2woeCkpKTsKKworICAgIC8qIHx4fCA+IG9fdGhyZXNob2xkLCBzaW5oKHgpIG92ZXJmbG93ICovCisJcmV0dXJuIHgqc2h1Z2U7Cit9CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2ZlbnYtc29mdGZsb2F0LmggYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2ZlbnYtc29mdGZsb2F0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyZDJhMmMuLjAwMDAwMDAKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9mZW52LXNvZnRmbG9hdC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTg0ICswLDAgQEAKLS8qLQotICogQ29weXJpZ2h0IChjKSAyMDA0LTIwMTEgRGF2aWQgU2NodWx0eiA8ZGFzQEZyZWVCU0QuT1JHPgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqCi0gKiAkRnJlZUJTRCQKLSAqLwotCi0jaWZuZGVmCV9GRU5WX0hfCi0jZXJyb3IgIlRoaXMgZmlsZSBpcyBtZWFudCB0byBiZSBpbmNsdWRlZCBvbmx5IGJ5IDxmZW52Lmg+LiIKLSNlbmRpZgotCi0vKgotICogVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgPGZlbnYuaD4gb24gcGxhdGZvcm1zIHRoYXQKLSAqIGxhY2sgYW4gRlBVIGFuZCB1c2Ugc29mdGZsb2F0IGluIGxpYmMgZm9yIGZsb2F0aW5nIHBvaW50LiAgVG8gdXNlIGl0LAotICogeW91IG11c3Qgd3JpdGUgYW4gPGZlbnYuaD4gdGhhdCBwcm92aWRlcyB0aGUgZm9sbG93aW5nOgotICoKLSAqICAgLSBhIHR5cGVkZWYgZm9yIGZlbnZfdCwgd2hpY2ggbWF5IGJlIGFuIGludGVnZXIgb3Igc3RydWN0IHR5cGUKLSAqICAgLSBhIHR5cGVkZWYgZm9yIGZleGNlcHRfdCAoWFhYIFRoaXMgZmlsZSBhc3N1bWVzIGZleGNlcHRfdCBpcyBhCi0gKiAgICAgc2ltcGxlIGludGVnZXIgdHlwZSBjb250YWluaW5nIHRoZSBleGNlcHRpb24gbWFzay4pCi0gKiAgIC0gZGVmaW5pdGlvbnMgb2YgRkVfKiBjb25zdGFudHMgZm9yIHRoZSBmaXZlIGV4Y2VwdGlvbnMgYW5kIGZvdXIKLSAqICAgICByb3VuZGluZyBtb2RlcyBpbiBJRUVFIDc1NCwgYXMgZGVzY3JpYmVkIGluIGZlbnYoMykKLSAqICAgLSBhIGRlZmluaXRpb24sIGFuZCB0aGUgY29ycmVzcG9uZGluZyBleHRlcm5hbCBzeW1ib2wsIGZvciBGRV9ERkxfRU5WCi0gKiAgIC0gYSBtYWNybyBfX3NldF9lbnYoZW52LCBmbGFncywgbWFzaywgcm5kKSwgd2hpY2ggc2V0cyB0aGUgZ2l2ZW4gZmVudl90Ci0gKiAgICAgZnJvbSB0aGUgZXhjZXB0aW9uIGZsYWdzLCBtYXNrLCBhbmQgcm91bmRpbmcgbW9kZQotICogICAtIG1hY3JvcyBfX2Vudl9mbGFncyhlbnYpLCBfX2Vudl9tYXNrKGVudiksIGFuZCBfX2Vudl9yb3VuZChlbnYpLCB3aGljaAotICogICAgIGV4dHJhY3QgZmllbGRzIGZyb20gYW4gZmVudl90Ci0gKiAgIC0gYSBkZWZpbml0aW9uIG9mIF9fZmVudl9zdGF0aWMKLSAqCi0gKiBJZiB0aGUgYXJjaGl0ZWN0dXJlIHN1cHBvcnRzIGFuIG9wdGlvbmFsIEZQVSwgaXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdQotICogZGVmaW5lIGZlbnZfdCBhbmQgZmV4Y2VwdF90IHRvIG1hdGNoIHRoZSBoYXJkd2FyZSBBQkkuICBPdGhlcndpc2UsIGl0Ci0gKiBkb2Vzbid0IG1hdHRlciBob3cgeW91IGRlZmluZSB0aGVtLgotICovCi0KLWV4dGVybiBpbnQgX19zb2Z0ZmxvYXRfZmxvYXRfZXhjZXB0aW9uX2ZsYWdzOwotZXh0ZXJuIGludCBfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fbWFzazsKLWV4dGVybiBpbnQgX19zb2Z0ZmxvYXRfZmxvYXRfcm91bmRpbmdfbW9kZTsKLXZvaWQgX19zb2Z0ZmxvYXRfZmxvYXRfcmFpc2UoaW50KTsKLQotX19mZW52X3N0YXRpYyBpbmxpbmUgaW50Ci1mZWNsZWFyZXhjZXB0KGludCBfX2V4Y2VwdHMpCi17Ci0KLQlfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fZmxhZ3MgJj0gfl9fZXhjZXB0czsKLQlyZXR1cm4gKDApOwotfQotCi1fX2ZlbnZfc3RhdGljIGlubGluZSBpbnQKLWZlZ2V0ZXhjZXB0ZmxhZyhmZXhjZXB0X3QgKl9fZmxhZ3AsIGludCBfX2V4Y2VwdHMpCi17Ci0KLQkqX19mbGFncCA9IF9fc29mdGZsb2F0X2Zsb2F0X2V4Y2VwdGlvbl9mbGFncyAmIF9fZXhjZXB0czsKLQlyZXR1cm4gKDApOwotfQotCi1fX2ZlbnZfc3RhdGljIGlubGluZSBpbnQKLWZlc2V0ZXhjZXB0ZmxhZyhjb25zdCBmZXhjZXB0X3QgKl9fZmxhZ3AsIGludCBfX2V4Y2VwdHMpCi17Ci0KLQlfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fZmxhZ3MgJj0gfl9fZXhjZXB0czsKLQlfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fZmxhZ3MgfD0gKl9fZmxhZ3AgJiBfX2V4Y2VwdHM7Ci0JcmV0dXJuICgwKTsKLX0KLQotX19mZW52X3N0YXRpYyBpbmxpbmUgaW50Ci1mZXJhaXNlZXhjZXB0KGludCBfX2V4Y2VwdHMpCi17Ci0KLQlfX3NvZnRmbG9hdF9mbG9hdF9yYWlzZShfX2V4Y2VwdHMpOwotCXJldHVybiAoMCk7Ci19Ci0KLV9fZmVudl9zdGF0aWMgaW5saW5lIGludAotZmV0ZXN0ZXhjZXB0KGludCBfX2V4Y2VwdHMpCi17Ci0KLQlyZXR1cm4gKF9fc29mdGZsb2F0X2Zsb2F0X2V4Y2VwdGlvbl9mbGFncyAmIF9fZXhjZXB0cyk7Ci19Ci0KLV9fZmVudl9zdGF0aWMgaW5saW5lIGludAotZmVnZXRyb3VuZCh2b2lkKQotewotCi0JcmV0dXJuIChfX3NvZnRmbG9hdF9mbG9hdF9yb3VuZGluZ19tb2RlKTsKLX0KLQotX19mZW52X3N0YXRpYyBpbmxpbmUgaW50Ci1mZXNldHJvdW5kKGludCBfX3JvdW5kKQotewotCi0JX19zb2Z0ZmxvYXRfZmxvYXRfcm91bmRpbmdfbW9kZSA9IF9fcm91bmQ7Ci0JcmV0dXJuICgwKTsKLX0KLQotX19mZW52X3N0YXRpYyBpbmxpbmUgaW50Ci1mZWdldGVudihmZW52X3QgKl9fZW52cCkKLXsKLQotCV9fc2V0X2VudigqX19lbnZwLCBfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fZmxhZ3MsCi0JICAgIF9fc29mdGZsb2F0X2Zsb2F0X2V4Y2VwdGlvbl9tYXNrLCBfX3NvZnRmbG9hdF9mbG9hdF9yb3VuZGluZ19tb2RlKTsKLQlyZXR1cm4gKDApOwotfQotCi1fX2ZlbnZfc3RhdGljIGlubGluZSBpbnQKLWZlaG9sZGV4Y2VwdChmZW52X3QgKl9fZW52cCkKLXsKLQlmZW52X3QgX19lbnY7Ci0KLQlmZWdldGVudihfX2VudnApOwotCV9fc29mdGZsb2F0X2Zsb2F0X2V4Y2VwdGlvbl9mbGFncyA9IDA7Ci0JX19zb2Z0ZmxvYXRfZmxvYXRfZXhjZXB0aW9uX21hc2sgPSAwOwotCXJldHVybiAoMCk7Ci19Ci0KLV9fZmVudl9zdGF0aWMgaW5saW5lIGludAotZmVzZXRlbnYoY29uc3QgZmVudl90ICpfX2VudnApCi17Ci0KLQlfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fZmxhZ3MgPSBfX2Vudl9mbGFncygqX19lbnZwKTsKLQlfX3NvZnRmbG9hdF9mbG9hdF9leGNlcHRpb25fbWFzayA9IF9fZW52X21hc2soKl9fZW52cCk7Ci0JX19zb2Z0ZmxvYXRfZmxvYXRfcm91bmRpbmdfbW9kZSA9IF9fZW52X3JvdW5kKCpfX2VudnApOwotCXJldHVybiAoMCk7Ci19Ci0KLV9fZmVudl9zdGF0aWMgaW5saW5lIGludAotZmV1cGRhdGVlbnYoY29uc3QgZmVudl90ICpfX2VudnApCi17Ci0JaW50IF9fb2ZsYWdzID0gX19zb2Z0ZmxvYXRfZmxvYXRfZXhjZXB0aW9uX2ZsYWdzOwotCi0JZmVzZXRlbnYoX19lbnZwKTsKLQlmZXJhaXNlZXhjZXB0KF9fb2ZsYWdzKTsKLQlyZXR1cm4gKDApOwotfQotCi0jaWYgX19CU0RfVklTSUJMRQotCi0vKiBXZSBjdXJyZW50bHkgcHJvdmlkZSBubyBleHRlcm5hbCBkZWZpbml0aW9ucyBvZiB0aGUgZnVuY3Rpb25zIGJlbG93LiAqLwotCi1zdGF0aWMgaW5saW5lIGludAotZmVlbmFibGVleGNlcHQoaW50IF9fbWFzaykKLXsKLQlpbnQgX19vbWFzayA9IF9fc29mdGZsb2F0X2Zsb2F0X2V4Y2VwdGlvbl9tYXNrOwotCi0JX19zb2Z0ZmxvYXRfZmxvYXRfZXhjZXB0aW9uX21hc2sgfD0gX19tYXNrOwotCXJldHVybiAoX19vbWFzayk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50Ci1mZWRpc2FibGVleGNlcHQoaW50IF9fbWFzaykKLXsKLQlpbnQgX19vbWFzayA9IF9fc29mdGZsb2F0X2Zsb2F0X2V4Y2VwdGlvbl9tYXNrOwotCi0JX19zb2Z0ZmxvYXRfZmxvYXRfZXhjZXB0aW9uX21hc2sgJj0gfl9fbWFzazsKLQlyZXR1cm4gKF9fb21hc2spOwotfQotCi1zdGF0aWMgaW5saW5lIGludAotZmVnZXRleGNlcHQodm9pZCkKLXsKLQotCXJldHVybiAoX19zb2Z0ZmxvYXRfZmxvYXRfZXhjZXB0aW9uX21hc2spOwotfQotCi0jZW5kaWYgLyogX19CU0RfVklTSUJMRSAqLwpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9pbXByZWNpc2UuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvaW1wcmVjaXNlLmMKaW5kZXggYTc1MDNiZi4uMDhjZDIzOSAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9pbXByZWNpc2UuYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL2ltcHJlY2lzZS5jCkBAIC02MCwxMCArNjAsNCBAQAogCWxvbmcgZG91YmxlIGltcHJlY2lzZV8gIyMgZiAjIyBsKGxvbmcgZG91YmxlIHYpIHsgcmV0dXJuIGYodik7IH1cCiAJREVDTEFSRV9XRUFLKGYgIyMgbCkKIAotREVDTEFSRV9JTVBSRUNJU0UoY29zaCk7Ci1ERUNMQVJFX0lNUFJFQ0lTRShlcmZjKTsKLURFQ0xBUkVfSU1QUkVDSVNFKGVyZik7Ci1ERUNMQVJFX0lNUFJFQ0lTRShsZ2FtbWEpOwotREVDTEFSRV9JTVBSRUNJU0Uoc2luaCk7Ci1ERUNMQVJFX0lNUFJFQ0lTRSh0YW5oKTsKIERFQ0xBUkVfSU1QUkVDSVNFKHRnYW1tYSk7CmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXJmLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXJmLmMKaW5kZXggMDg4NmU1ZS4uZTFkNjNiYyAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2VyZi5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19lcmYuYwpAQCAtMTExLDE4ICsxMTEsMjUgQEAKICNpbmNsdWRlICJtYXRoLmgiCiAjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCiAKKy8qIFhYWCBQcmV2ZW50IGNvbXBpbGVycyBmcm9tIGVycm9uZW91c2x5IGNvbnN0YW50IGZvbGRpbmc6ICovCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgZG91YmxlIHRpbnk9IDFlLTMwMDsKKwogc3RhdGljIGNvbnN0IGRvdWJsZQotdGlueQkgICAgPSAxZS0zMDAsCi1oYWxmPSAgNS4wMDAwMDAwMDAwMDAwMDAwMDAwMGUtMDEsIC8qIDB4M0ZFMDAwMDAsIDB4MDAwMDAwMDAgKi8KLW9uZSA9ICAxLjAwMDAwMDAwMDAwMDAwMDAwMDAwZSswMCwgLyogMHgzRkYwMDAwMCwgMHgwMDAwMDAwMCAqLwotdHdvID0gIDIuMDAwMDAwMDAwMDAwMDAwMDAwMDBlKzAwLCAvKiAweDQwMDAwMDAwLCAweDAwMDAwMDAwICovCi0JLyogYyA9IChmbG9hdCkwLjg0NTA2MjkxMTUxICovCitoYWxmPSAwLjUsCitvbmUgPSAxLAordHdvID0gMiwKKy8qIGMgPSAoZmxvYXQpMC44NDUwNjI5MTE1MSAqLwogZXJ4ID0gIDguNDUwNjI5MTE1MTA0Njc1MjkyOTdlLTAxLCAvKiAweDNGRUIwQUMxLCAweDYwMDAwMDAwICovCiAvKgotICogQ29lZmZpY2llbnRzIGZvciBhcHByb3hpbWF0aW9uIHRvICBlcmYgb24gWzAsMC44NDM3NV0KKyAqIEluIHRoZSBkb21haW4gWzAsIDIqKi0yOF0sIG9ubHkgdGhlIGZpcnN0IHRlcm0gaW4gdGhlIHBvd2VyIHNlcmllcworICogZXhwYW5zaW9uIG9mIGVyZih4KSBpcyB1c2VkLiAgVGhlIG1hZ25pdHVkZSBvZiB0aGUgZmlyc3QgbmVnbGVjdGVkCisgKiB0ZXJtcyBpcyBsZXNzIHRoYW4gMioqLTg0LgogICovCiBlZnggPSAgMS4yODM3OTE2NzA5NTUxMjU4NjMxNmUtMDEsIC8qIDB4M0ZDMDZFQkEsIDB4ODIxNERCNjkgKi8KIGVmeDg9ICAxLjAyNzAzMzMzNjc2NDEwMDY5MDUzZSswMCwgLyogMHgzRkYwNkVCQSwgMHg4MjE0REI2OSAqLworLyoKKyAqIENvZWZmaWNpZW50cyBmb3IgYXBwcm94aW1hdGlvbiB0byBlcmYgb24gWzAsMC44NDM3NV0KKyAqLwogcHAwICA9ICAxLjI4Mzc5MTY3MDk1NTEyNTU4NTYxZS0wMSwgLyogMHgzRkMwNkVCQSwgMHg4MjE0REI2OCAqLwogcHAxICA9IC0zLjI1MDQyMTA3MjQ3MDAxNDk5MzcwZS0wMSwgLyogMHhCRkQ0Q0Q3RCwgMHg2OTFDQjkxMyAqLwogcHAyICA9IC0yLjg0ODE3NDk1NzU1OTg1MTA0NzY2ZS0wMiwgLyogMHhCRjlEMkE1MSwgMHhEQkQ3MTk0RiAqLwpAQCAtMTM0LDcgKzE0MSw3IEBACiBxcTQgID0gIDEuMzI0OTQ3MzgwMDQzMjE2NDQ1MjZlLTA0LCAvKiAweDNGMjE1REM5LCAweDIyMUMxQTEwICovCiBxcTUgID0gLTMuOTYwMjI4Mjc4Nzc1MzY4MTIzMjBlLTA2LCAvKiAweEJFRDA5QzQzLCAweDQyQTI2MTIwICovCiAvKgotICogQ29lZmZpY2llbnRzIGZvciBhcHByb3hpbWF0aW9uIHRvICBlcmYgIGluIFswLjg0Mzc1LDEuMjVdCisgKiBDb2VmZmljaWVudHMgZm9yIGFwcHJveGltYXRpb24gdG8gZXJmIGluIFswLjg0Mzc1LDEuMjVdCiAgKi8KIHBhMCAgPSAtMi4zNjIxMTg1NjA3NTI2NTk0NDA3N2UtMDMsIC8qIDB4QkY2MzU5QjgsIDB4QkVGNzc1MzggKi8KIHBhMSAgPSAgNC4xNDg1NjExODY4Mzc0ODMzMTY2NmUtMDEsIC8qIDB4M0ZEQThEMDAsIDB4QUQ5MkIzNEQgKi8KQEAgLTE1MCw3ICsxNTcsNyBAQAogcWE1ICA9ICAxLjM2MzcwODM5MTIwMjkwNTA3MzYyZS0wMiwgLyogMHgzRjhCRURDMiwgMHg2QjUxREQxQyAqLwogcWE2ICA9ICAxLjE5ODQ0OTk4NDY3OTkxMDc0MTcwZS0wMiwgLyogMHgzRjg4OEI1NCwgMHg1NzM1MTUxRCAqLwogLyoKLSAqIENvZWZmaWNpZW50cyBmb3IgYXBwcm94aW1hdGlvbiB0byAgZXJmYyBpbiBbMS4yNSwxLzAuMzVdCisgKiBDb2VmZmljaWVudHMgZm9yIGFwcHJveGltYXRpb24gdG8gZXJmYyBpbiBbMS4yNSwxLzAuMzVdCiAgKi8KIHJhMCAgPSAtOS44NjQ5NDQwMzQ4NDcxNDgyMjcwNWUtMDMsIC8qIDB4QkY4NDM0MTIsIDB4NjAwRDY0MzUgKi8KIHJhMSAgPSAtNi45Mzg1ODU3MjcwNzE4MTc2NDM3MmUtMDEsIC8qIDB4QkZFNjM0MTYsIDB4RTRCQTczNjAgKi8KQEAgLTE2OSw3ICsxNzYsNyBAQAogc2E3ICA9ICA2LjU3MDI0OTc3MDMxOTI4MTcwMTM1ZSswMCwgLyogMHg0MDFBNDdFRiwgMHg4RTQ4NEE5MyAqLwogc2E4ICA9IC02LjA0MjQ0MTUyMTQ4NTgwOTg3NDM4ZS0wMiwgLyogMHhCRkFFRUZGMiwgMHhFRTc0OUE2MiAqLwogLyoKLSAqIENvZWZmaWNpZW50cyBmb3IgYXBwcm94aW1hdGlvbiB0byAgZXJmYyBpbiBbMS8uMzUsMjhdCisgKiBDb2VmZmljaWVudHMgZm9yIGFwcHJveGltYXRpb24gdG8gZXJmYyBpbiBbMS8uMzUsMjhdCiAgKi8KIHJiMCAgPSAtOS44NjQ5NDI5MjQ3MDAwOTkyODU5N2UtMDMsIC8qIDB4QkY4NDM0MTIsIDB4MzlFODZGNEEgKi8KIHJiMSAgPSAtNy45OTI4MzIzNzY4MDUyMzAwNjU3NGUtMDEsIC8qIDB4QkZFOTkzQkEsIDB4NzBDMjg1REUgKi8KQEAgLTIwMSw3ICsyMDgsNyBAQAogCWlmKGl4IDwgMHgzZmViMDAwMCkgewkJLyogfHh8PDAuODQzNzUgKi8KIAkgICAgaWYoaXggPCAweDNlMzAwMDAwKSB7IAkvKiB8eHw8MioqLTI4ICovCiAJICAgICAgICBpZiAoaXggPCAweDAwODAwMDAwKQotCQkgICAgcmV0dXJuIDAuMTI1Kig4LjAqeCtlZng4KngpOyAgLyphdm9pZCB1bmRlcmZsb3cgKi8KKwkJICAgIHJldHVybiAoOCp4K2VmeDgqeCkvODsJLyogYXZvaWQgc3B1cmlvdXMgdW5kZXJmbG93ICovCiAJCXJldHVybiB4ICsgZWZ4Kng7CiAJICAgIH0KIAkgICAgeiA9IHgqeDsKQEAgLTIyMiwxNSArMjI5LDEyIEBACiAJeCA9IGZhYnMoeCk7CiAgCXMgPSBvbmUvKHgqeCk7CiAJaWYoaXg8IDB4NDAwNkRCNkUpIHsJLyogfHh8IDwgMS8wLjM1ICovCi0JICAgIFI9cmEwK3MqKHJhMStzKihyYTIrcyoocmEzK3MqKHJhNCtzKigKLQkJCQlyYTUrcyoocmE2K3MqcmE3KSkpKSkpOwotCSAgICBTPW9uZStzKihzYTErcyooc2EyK3MqKHNhMytzKihzYTQrcyooCi0JCQkJc2E1K3MqKHNhNitzKihzYTcrcypzYTgpKSkpKSkpOworCSAgICBSPXJhMCtzKihyYTErcyoocmEyK3MqKHJhMytzKihyYTQrcyoocmE1K3MqKHJhNitzKnJhNykpKSkpKTsKKwkgICAgUz1vbmUrcyooc2ExK3MqKHNhMitzKihzYTMrcyooc2E0K3MqKHNhNStzKihzYTYrcyooc2E3KworCQlzKnNhOCkpKSkpKSk7CiAJfSBlbHNlIHsJLyogfHh8ID49IDEvMC4zNSAqLwotCSAgICBSPXJiMCtzKihyYjErcyoocmIyK3MqKHJiMytzKihyYjQrcyooCi0JCQkJcmI1K3MqcmI2KSkpKSk7Ci0JICAgIFM9b25lK3MqKHNiMStzKihzYjIrcyooc2IzK3MqKHNiNCtzKigKLQkJCQlzYjUrcyooc2I2K3Mqc2I3KSkpKSkpOworCSAgICBSPXJiMCtzKihyYjErcyoocmIyK3MqKHJiMytzKihyYjQrcyoocmI1K3MqcmI2KSkpKSk7CisJICAgIFM9b25lK3MqKHNiMStzKihzYjIrcyooc2IzK3MqKHNiNCtzKihzYjUrcyooc2I2K3Mqc2I3KSkpKSkpOwogCX0KIAl6ICA9IHg7CiAJU0VUX0xPV19XT1JEKHosMCk7CkBAIC0yMzgsNiArMjQyLDEwIEBACiAJaWYoaHg+PTApIHJldHVybiBvbmUtci94OyBlbHNlIHJldHVybiAgci94LW9uZTsKIH0KIAorI2lmIChMREJMX01BTlRfRElHID09IDUzKQorX193ZWFrX3JlZmVyZW5jZShlcmYsIGVyZmwpOworI2VuZGlmCisKIGRvdWJsZQogZXJmYyhkb3VibGUgeCkKIHsKQEAgLTI3OSwyMyArMjg3LDIzIEBACiAJICAgIHggPSBmYWJzKHgpOwogIAkgICAgcyA9IG9uZS8oeCp4KTsKIAkgICAgaWYoaXg8IDB4NDAwNkRCNkQpIHsJLyogfHh8IDwgMS8uMzUgfiAyLjg1NzE0MyovCi0JICAgICAgICBSPXJhMCtzKihyYTErcyoocmEyK3MqKHJhMytzKihyYTQrcyooCi0JCQkJcmE1K3MqKHJhNitzKnJhNykpKSkpKTsKLQkgICAgICAgIFM9b25lK3MqKHNhMStzKihzYTIrcyooc2EzK3MqKHNhNCtzKigKLQkJCQlzYTUrcyooc2E2K3MqKHNhNytzKnNhOCkpKSkpKSk7CisJCVI9cmEwK3MqKHJhMStzKihyYTIrcyoocmEzK3MqKHJhNCtzKihyYTUrcyoocmE2K3MqcmE3KSkpKSkpOworCQlTPW9uZStzKihzYTErcyooc2EyK3MqKHNhMytzKihzYTQrcyooc2E1K3MqKHNhNitzKihzYTcrCisJCSAgICBzKnNhOCkpKSkpKSk7CiAJICAgIH0gZWxzZSB7CQkJLyogfHh8ID49IDEvLjM1IH4gMi44NTcxNDMgKi8KIAkJaWYoaHg8MCYmaXg+PTB4NDAxODAwMDApIHJldHVybiB0d28tdGlueTsvKiB4IDwgLTYgKi8KLQkgICAgICAgIFI9cmIwK3MqKHJiMStzKihyYjIrcyoocmIzK3MqKHJiNCtzKigKLQkJCQlyYjUrcypyYjYpKSkpKTsKLQkgICAgICAgIFM9b25lK3MqKHNiMStzKihzYjIrcyooc2IzK3MqKHNiNCtzKigKLQkJCQlzYjUrcyooc2I2K3Mqc2I3KSkpKSkpOworCQlSPXJiMCtzKihyYjErcyoocmIyK3MqKHJiMytzKihyYjQrcyoocmI1K3MqcmI2KSkpKSk7CisJCVM9b25lK3MqKHNiMStzKihzYjIrcyooc2IzK3MqKHNiNCtzKihzYjUrcyooc2I2K3Mqc2I3KSkpKSkpOwogCSAgICB9CiAJICAgIHogID0geDsKIAkgICAgU0VUX0xPV19XT1JEKHosMCk7Ci0JICAgIHIgID0gIF9faWVlZTc1NF9leHAoLXoqei0wLjU2MjUpKgotCQkJX19pZWVlNzU0X2V4cCgoei14KSooeit4KStSL1MpOworCSAgICByICA9ICBfX2llZWU3NTRfZXhwKC16KnotMC41NjI1KSpfX2llZWU3NTRfZXhwKCh6LXgpKih6K3gpK1IvUyk7CiAJICAgIGlmKGh4PjApIHJldHVybiByL3g7IGVsc2UgcmV0dXJuIHR3by1yL3g7CiAJfSBlbHNlIHsKIAkgICAgaWYoaHg+MCkgcmV0dXJuIHRpbnkqdGlueTsgZWxzZSByZXR1cm4gdHdvLXRpbnk7CiAJfQogfQorCisjaWYgKExEQkxfTUFOVF9ESUcgPT0gNTMpCitfX3dlYWtfcmVmZXJlbmNlKGVyZmMsIGVyZmNsKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2VyZmYuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19lcmZmLmMKaW5kZXggYTM1NzlmMS4uZDZjZmJkMiAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX2VyZmYuYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfZXJmZi5jCkBAIC0xOSw2NCArMTksNjMgQEAKICNpbmNsdWRlICJtYXRoLmgiCiAjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCiAKKy8qIFhYWCBQcmV2ZW50IGNvbXBpbGVycyBmcm9tIGVycm9uZW91c2x5IGNvbnN0YW50IGZvbGRpbmc6ICovCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgZmxvYXQgdGlueSA9IDFlLTMwOworCiBzdGF0aWMgY29uc3QgZmxvYXQKLXRpbnkJICAgID0gMWUtMzAsCi1oYWxmPSAgNS4wMDAwMDAwMDAwZS0wMSwgLyogMHgzRjAwMDAwMCAqLwotb25lID0gIDEuMDAwMDAwMDAwMGUrMDAsIC8qIDB4M0Y4MDAwMDAgKi8KLXR3byA9ICAyLjAwMDAwMDAwMDBlKzAwLCAvKiAweDQwMDAwMDAwICovCitoYWxmPSAwLjUsCitvbmUgPSAxLAordHdvID0gMiwKK2VyeCA9IDguNDI2OTcxNDRlLTAxLAkJCS8qIDB4M2Y1N2JiMDAgKi8KIC8qCi0gKiBDb2VmZmljaWVudHMgZm9yIGFwcHJveGltYXRpb24gdG8gIGVyZiBvbiBbMCwwLjg0Mzc1XQorICogSW4gdGhlIGRvbWFpbiBbMCwgMioqLTE0XSwgb25seSB0aGUgZmlyc3QgdGVybSBpbiB0aGUgcG93ZXIgc2VyaWVzCisgKiBleHBhbnNpb24gb2YgZXJmKHgpIGlzIHVzZWQuICBUaGUgbWFnbml0dWRlIG9mIHRoZSBmaXJzdCBuZWdsZWN0ZWQKKyAqIHRlcm1zIGlzIGxlc3MgdGhhbiAyKiotNDIuCiAgKi8KLWVmeCA9ICAxLjI4Mzc5MTY2MTNlLTAxLCAvKiAweDNlMDM3NWQ0ICovCi1lZng4PSAgMS4wMjcwMzMzMjkwZSswMCwgLyogMHgzZjgzNzVkNCAqLworZWZ4ID0gMS4yODM3OTE2NmUtMDEsIC8qIDB4M2UwMzc1ZDQgKi8KK2VmeDg9IDEuMDI3MDMzMzNlKzAwLCAvKiAweDNmODM3NWQ0ICovCiAvKgotICogIERvbWFpbiBbMCwgMC44NDM3NV0sIHJhbmdlIH5bLTUuNDQ0NmUtMTAsNS41MTk3ZS0xMF06Ci0gKiAgfChlcmYoeCkgLSB4KS94IC0gcCh4KS9xKHgpfCA8IDIqKi0zMS4KKyAqIERvbWFpbiBbMCwgMC44NDM3NV0sIHJhbmdlIH5bLTUuNDQxOWUtMTAsIDUuNTE3OWUtMTBdOgorICogfChlcmYoeCkgLSB4KS94IC0gcHAoeCkvcXEoeCl8IDwgMioqLTMxCiAgKi8KLXBwMCAgPSAgMS4yODM3OTE2NmUtMDFGLCAvKiAgMHgxLjA2ZWJhOHAtMyAqLwotcHAxICA9IC0zLjM2MDMwMzk0ZS0wMUYsIC8qIC0weDEuNTgxODVhcC0yICovCi1wcDIgID0gLTEuODYyNjAyMTllLTAzRiwgLyogLTB4MS5lODQ1MWVwLTEwICovCi1xcTEgID0gIDMuMTIzMjQyODZlLTAxRiwgLyogIDB4MS4zZmQxZjBwLTIgKi8KLXFxMiAgPSAgMi4xNjA3MDMwMmUtMDJGLCAvKiAgMHgxLjYyMDI3NHAtNiAqLwotcXEzICA9IC0xLjk4ODU5NDE5ZS0wM0YsIC8qIC0weDEuMDRhNjI2cC05ICovCitwcDAgID0gIDEuMjgzNzkxNjZlLTAxLCAvKiAweDNlMDM3NWQ0ICovCitwcDEgID0gLTMuMzYwMzAzOTRlLTAxLCAvKiAweGJlYWMwYzJkICovCitwcDIgID0gLTEuODYyNjEzOTVlLTAzLCAvKiAweGJhZjQyMmY0ICovCitxcTEgID0gIDMuMTIzMjQzMTVlLTAxLCAvKiAweDNlOWZlOGY5ICovCitxcTIgID0gIDIuMTYwNzA0MTRlLTAyLCAvKiAweDNjYjEwMTQwICovCitxcTMgID0gLTEuOTg4NTkzNzJlLTAzLCAvKiAweGJiMDI1MzExICovCiAvKgotICogRG9tYWluIFswLjg0Mzc1LCAxLjI1XSwgcmFuZ2UgflstMS45NTNlLTExLDEuOTQwZS0xMV06Ci0gKiB8KGVyZih4KSAtIGVyeCkgLSBwKHgpL3EoeCl8IDwgMioqLTM2LgorICogRG9tYWluIFswLjg0Mzc1LCAxLjI1XSwgcmFuZ2UgflstMS4wMjNlLTksIDEuMDIzZS05XToKKyAqIHwoZXJmKHgpIC0gZXJ4KSAtIHBhKHgpL3FhKHgpfCA8IDIqKi0zMQogICovCi1lcnggID0gIDguNDI2OTcxNDRlLTAxRiwgLyogIDB4MS5hZjc2MDBwLTEuICBlcmYoMSkgcm91bmRlZCB0byAxNiBiaXRzLiAqLwotcGEwICA9ICAzLjY0OTM5MTM3ZS0wNkYsIC8qICAweDEuZTlkMDIycC0xOSAqLwotcGExICA9ICA0LjE1MTA5Njk0ZS0wMUYsIC8qICAweDEuYTkxMjg0cC0yICovCi1wYTIgID0gLTEuNjUxNzk5MzhlLTAxRiwgLyogLTB4MS41MjQ5ZGNwLTMgKi8KLXBhMyAgPSAgMS4xMDkxNDQ5MWUtMDFGLCAvKiAgMHgxLmM2NGU0NnAtNCAqLwotcWExICA9ICA2LjAyMDc0Mzg1ZS0wMUYsIC8qICAweDEuMzQ0MzE4cC0xICovCi1xYTIgID0gIDUuMzU5MzQ2ODdlLTAxRiwgLyogIDB4MS4xMjY2MDhwLTEgKi8KLXFhMyAgPSAgMS42ODU3NjEwNmUtMDFGLCAvKiAgMHgxLjU5M2U2ZXAtMyAqLwotcWE0ICA9ICA1LjYyMTgxMjEyZS0wMkYsIC8qICAweDEuY2M4OWYycC01ICovCitwYTAgID0gIDMuNjUwNDEwNDZlLTA2LCAvKiAweDM2NzRmOTkzICovCitwYTEgID0gIDQuMTUxMDkzMDdlLTAxLCAvKiAweDNlZDQ4OTM1ICovCitwYTIgID0gLTIuMDkzOTU3MjJlLTAxLCAvKiAweGJlNTY2YmQ1ICovCitwYTMgID0gIDguNjc2Nzc1NTRlLTAyLCAvKiAweDNkYjFiMzRiICovCitxYTEgID0gIDQuOTU1NjA5NzRlLTAxLCAvKiAweDNlZmRiYTJiICovCitxYTIgID0gIDMuNzEyNDg1MTNlLTAxLCAvKiAweDNlYmUxNDQ5ICovCitxYTMgID0gIDMuOTI0Nzg5NjVlLTAyLCAvKiAweDNkMjBjMjY3ICovCiAvKgotICogRG9tYWluIFsxLjI1LDEvMC4zNV0sIHJhbmdlIH5bLTcuMDQzZS0xMCw3LjQ1N2UtMTBdOgotICogfGxvZyh4KmVyZmMoeCkpICsgeCoqMiArIDAuNTYyNSAtIHIoeCkvcyh4KXwgPCAyKiotMzAKKyAqIERvbWFpbiBbMS4yNSwxLzAuMzVdLCByYW5nZSB+Wy00LjgyMWUtOSwgNC45MjdlLTldOgorICogfGxvZyh4KmVyZmMoeCkpICsgeCoqMiArIDAuNTYyNSAtIHJhKHgpL3NhKHgpfCA8IDIqKi0yOAogICovCi1yYTAgID0gLTkuODcxMzI3MzJlLTAzRiwgLyogLTB4MS40Mzc2YjJwLTcgKi8KLXJhMSAgPSAtNS41MzYwNTkxNGUtMDFGLCAvKiAtMHgxLjFiNzIzY3AtMSAqLwotcmEyICA9IC0yLjE3NTg5MTg4ZSswMEYsIC8qIC0weDEuMTY4M2EwcCsxICovCi1yYTMgID0gLTEuNDMyNjgwODVlKzAwRiwgLyogLTB4MS42ZWM0MmNwKzAgKi8KLXNhMSAgPSAgNS40NTk5NTQyNmUrMDBGLCAvKiAgMHgxLjVkNmZlNHArMiAqLwotc2EyICA9ICA2LjY5Nzk4MDg4ZSswMEYsIC8qICAweDEuYWNhYmI4cCsyICovCi1zYTMgID0gIDEuNDMxMTMwODllKzAwRiwgLyogIDB4MS42ZTVlOThwKzAgKi8KLXNhNCAgPSAtNS43NzM5NzQ5NmUtMDJGLCAvKiAtMHgxLmQ5MDEwOHAtNSAqLworcmEwICA9IC05Ljg4MTU2NzIxZS0wMywgLyogMHhiYzIxZTY0YyAqLworcmExICA9IC01LjQzNjU4Mzc2ZS0wMSwgLyogMHhiZjBiMmQzMiAqLworcmEyICA9IC0xLjY2ODI4MzEwZSswMCwgLyogMHhiZmQ1OGE0ZCAqLworcmEzICA9IC02LjkxNTU0MTg5ZS0wMSwgLyogMHhiZjMxMDliMiAqLworc2ExICA9ICA0LjQ4NTgxNTUzZSswMCwgLyogMHg0MDhmOGJjZCAqLworc2EyICA9ICA0LjEwNzk5MTcwZSswMCwgLyogMHg0MDgzNzRhYiAqLworc2EzICA9ICA1LjUzODU1MTgxZS0wMSwgLyogMHgzZjBkYzk3NCAqLwogLyoKLSAqIERvbWFpbiBbMS8wLjM1LCAxMV0sIHJhbmdlIH5bLTIuMjY0ZS0xMywyLjMzNmUtMTNdOgotICogfGxvZyh4KmVyZmMoeCkpICsgeCoqMiArIDAuNTYyNSAtIHIoeCkvcyh4KXwgPCAyKiotNDIKKyAqIERvbWFpbiBbMi44NTcxNSwgMTFdLCByYW5nZSB+Wy0xLjQ4NGUtOSwgMS41MDVlLTldOgorICogfGxvZyh4KmVyZmMoeCkpICsgeCoqMiArIDAuNTYyNSAtIHJiKHgpL3NiKHgpfCA8IDIqKi0zMAogICovCi1yYjAgID0gLTkuODY0OTQzMTBlLTAzRiwgLyogLTB4MS40MzQxMjRwLTcgKi8KLXJiMSAgPSAtNi4yNTE3MTI0NGUtMDFGLCAvKiAtMHgxLjQwMTY3MnAtMSAqLwotcmIyICA9IC02LjE2NDk4MzI3ZSswMEYsIC8qIC0weDEuOGE4ZjE2cCsyICovCi1yYjMgID0gLTEuNjY2OTY4NzNlKzAxRiwgLyogLTB4MS4wYWI3MGFwKzQgKi8KLXJiNCAgPSAtOS41Mzc2NDM0M2UrMDBGLCAvKiAtMHgxLjMxMzQ2MHArMyAqLwotc2IxICA9ICAxLjI2ODg0ODk5ZSswMUYsIC8qICAweDEuOTYwODFjcCszICovCi1zYjIgID0gIDQuNTE4Mzk1MjNlKzAxRiwgLyogIDB4MS42OTc4YmNwKzUgKi8KLXNiMyAgPSAgNC43MjgxMDIxMWUrMDFGLCAvKiAgMHgxLjdhM2Y4OHArNSAqLwotc2I0ICA9ICA4LjkzMDMzMzE0ZSswMEY7IC8qICAweDEuMWRjNTRhcCszICovCityYjAgID0gLTkuODY0OTY5MThlLTAzLCAvKiAweGJjMjFhMGFlICovCityYjEgID0gLTUuNDgwNDk4MDhlLTAxLCAvKiAweGJmMGM0Y2ZlICovCityYjIgID0gLTEuODQxMTU2ODRlKzAwLCAvKiAweGJmZWJhYjA3ICovCitzYjEgID0gIDQuODcxMzI3NDBlKzAwLCAvKiAweDQwOWJlMWVhICovCitzYjIgID0gIDMuMDQ5ODI3MTBlKzAwLCAvKiAweDQwNDMzMDVlICovCitzYjMgID0gLTcuNjE5MDA2NjNlLTAxOyAvKiAweGJmNDMwYmVjICovCiAKIGZsb2F0CiBlcmZmKGZsb2F0IHgpCkBAIC04NSw5ICs4NCw5IEBACiAJZmxvYXQgUixTLFAsUSxzLHkseixyOwogCUdFVF9GTE9BVF9XT1JEKGh4LHgpOwogCWl4ID0gaHgmMHg3ZmZmZmZmZjsKLQlpZihpeD49MHg3ZjgwMDAwMCkgewkJLyogZXJmKG5hbik9bmFuICovCisJaWYoaXg+PTB4N2Y4MDAwMDApIHsJCS8qIGVyZmYobmFuKT1uYW4gKi8KIAkgICAgaSA9ICgodV9pbnQzMl90KWh4Pj4zMSk8PDE7Ci0JICAgIHJldHVybiAoZmxvYXQpKDEtaSkrb25lL3g7CS8qIGVyZigrLWluZik9Ky0xICovCisJICAgIHJldHVybiAoZmxvYXQpKDEtaSkrb25lL3g7CS8qIGVyZmYoKy1pbmYpPSstMSAqLwogCX0KIAogCWlmKGl4IDwgMHgzZjU4MDAwMCkgewkJLyogfHh8PDAuODQzNzUgKi8KQEAgLTEwNSw3ICsxMDQsNyBAQAogCWlmKGl4IDwgMHgzZmEwMDAwMCkgewkJLyogMC44NDM3NSA8PSB8eHwgPCAxLjI1ICovCiAJICAgIHMgPSBmYWJzZih4KS1vbmU7CiAJICAgIFAgPSBwYTArcyoocGExK3MqKHBhMitzKnBhMykpOwotCSAgICBRID0gb25lK3MqKHFhMStzKihxYTIrcyoocWEzK3MqcWE0KSkpOworCSAgICBRID0gb25lK3MqKHFhMStzKihxYTIrcypxYTMpKTsKIAkgICAgaWYoaHg+PTApIHJldHVybiBlcnggKyBQL1E7IGVsc2UgcmV0dXJuIC1lcnggLSBQL1E7CiAJfQogCWlmIChpeCA+PSAweDQwODAwMDAwKSB7CQkvKiBpbmY+fHh8Pj00ICovCkBAIC0xMTMsMTIgKzExMiwxMiBAQAogCX0KIAl4ID0gZmFic2YoeCk7CiAgCXMgPSBvbmUvKHgqeCk7Ci0JaWYoaXg8IDB4NDAzNkRCNkUpIHsJLyogfHh8IDwgMS8wLjM1ICovCisJaWYoaXg8IDB4NDAzNmRiOGMpIHsJLyogfHh8IDwgMi44NTcxNSB+IDEvMC4zNSAqLwogCSAgICBSPXJhMCtzKihyYTErcyoocmEyK3MqcmEzKSk7Ci0JICAgIFM9b25lK3MqKHNhMStzKihzYTIrcyooc2EzK3Mqc2E0KSkpOwotCX0gZWxzZSB7CS8qIHx4fCA+PSAxLzAuMzUgKi8KLQkgICAgUj1yYjArcyoocmIxK3MqKHJiMitzKihyYjMrcypyYjQpKSk7Ci0JICAgIFM9b25lK3MqKHNiMStzKihzYjIrcyooc2IzK3Mqc2I0KSkpOworCSAgICBTPW9uZStzKihzYTErcyooc2EyK3Mqc2EzKSk7CisJfSBlbHNlIHsJLyogfHh8ID49IDIuODU3MTUgfiAxLzAuMzUgKi8KKwkgICAgUj1yYjArcyoocmIxK3MqcmIyKTsKKwkgICAgUz1vbmUrcyooc2IxK3MqKHNiMitzKnNiMykpOwogCX0KIAlTRVRfRkxPQVRfV09SRCh6LGh4JjB4ZmZmZmUwMDApOwogCXIgID0gZXhwZigteip6LTAuNTYyNUYpKmV4cGYoKHoteCkqKHoreCkrUi9TKTsKQEAgLTEzMiw4ICsxMzEsOCBAQAogCWZsb2F0IFIsUyxQLFEscyx5LHoscjsKIAlHRVRfRkxPQVRfV09SRChoeCx4KTsKIAlpeCA9IGh4JjB4N2ZmZmZmZmY7Ci0JaWYoaXg+PTB4N2Y4MDAwMDApIHsJCQkvKiBlcmZjKG5hbik9bmFuICovCi0JCQkJCQkvKiBlcmZjKCstaW5mKT0wLDIgKi8KKwlpZihpeD49MHg3ZjgwMDAwMCkgewkJCS8qIGVyZmNmKG5hbik9bmFuICovCisJCQkJCQkvKiBlcmZjZigrLWluZik9MCwyICovCiAJICAgIHJldHVybiAoZmxvYXQpKCgodV9pbnQzMl90KWh4Pj4zMSk8PDEpK29uZS94OwogCX0KIApAQCAtMTU1LDcgKzE1NCw3IEBACiAJaWYoaXggPCAweDNmYTAwMDAwKSB7CQkvKiAwLjg0Mzc1IDw9IHx4fCA8IDEuMjUgKi8KIAkgICAgcyA9IGZhYnNmKHgpLW9uZTsKIAkgICAgUCA9IHBhMCtzKihwYTErcyoocGEyK3MqcGEzKSk7Ci0JICAgIFEgPSBvbmUrcyoocWExK3MqKHFhMitzKihxYTMrcypxYTQpKSk7CisJICAgIFEgPSBvbmUrcyoocWExK3MqKHFhMitzKnFhMykpOwogCSAgICBpZihoeD49MCkgewogCSAgICAgICAgeiAgPSBvbmUtZXJ4OyByZXR1cm4geiAtIFAvUTsKIAkgICAgfSBlbHNlIHsKQEAgLTE2NSwxMyArMTY0LDEzIEBACiAJaWYgKGl4IDwgMHg0MTMwMDAwMCkgewkJLyogfHh8PDExICovCiAJICAgIHggPSBmYWJzZih4KTsKICAJICAgIHMgPSBvbmUvKHgqeCk7Ci0JICAgIGlmKGl4PCAweDQwMzZEQjZEKSB7CS8qIHx4fCA8IDEvLjM1IH4gMi44NTcxNDMqLwotCSAgICAgICAgUj1yYTArcyoocmExK3MqKHJhMitzKnJhMykpOwotCSAgICAgICAgUz1vbmUrcyooc2ExK3MqKHNhMitzKihzYTMrcypzYTQpKSk7Ci0JICAgIH0gZWxzZSB7CQkJLyogfHh8ID49IDEvLjM1IH4gMi44NTcxNDMgKi8KKwkgICAgaWYoaXg8IDB4NDAzNmRiOGMpIHsJLyogfHh8IDwgMi44NTcxNSB+IDEvLjM1ICovCisJCVI9cmEwK3MqKHJhMStzKihyYTIrcypyYTMpKTsKKwkJUz1vbmUrcyooc2ExK3MqKHNhMitzKnNhMykpOworCSAgICB9IGVsc2UgewkJCS8qIHx4fCA+PSAyLjg1NzE1IH4gMS8uMzUgKi8KIAkJaWYoaHg8MCYmaXg+PTB4NDBhMDAwMDApIHJldHVybiB0d28tdGlueTsvKiB4IDwgLTUgKi8KLQkgICAgICAgIFI9cmIwK3MqKHJiMStzKihyYjIrcyoocmIzK3MqcmI0KSkpOwotCQlTPW9uZStzKihzYjErcyooc2IyK3MqKHNiMytzKnNiNCkpKTsKKwkJUj1yYjArcyoocmIxK3MqcmIyKTsKKwkJUz1vbmUrcyooc2IxK3MqKHNiMitzKnNiMykpOwogCSAgICB9CiAJICAgIFNFVF9GTE9BVF9XT1JEKHosaHgmMHhmZmZmZTAwMCk7CiAJICAgIHIgID0gZXhwZigteip6LTAuNTYyNUYpKmV4cGYoKHoteCkqKHoreCkrUi9TKTsKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yZW1xdW9sLmMgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmVtcXVvbC5jCmluZGV4IDg4OTkyOTMuLjcxMjY1MWMgMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yZW1xdW9sLmMKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JlbXF1b2wuYwpAQCAtNSw3ICs1LDcgQEAKICAqCiAgKiBEZXZlbG9wZWQgYXQgU3VuU29mdCwgYSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJ1c2luZXNzLgogICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcwotICogc29mdHdhcmUgaXMgZnJlZWx5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UKKyAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlIAogICogaXMgcHJlc2VydmVkLgogICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICovCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfcmludGwuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50bC5jCmluZGV4IGU1NWI0MGUuLmI0M2RmODkgMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50bC5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yaW50bC5jCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxmbG9hdC5oPgogI2luY2x1ZGUgPG1hdGguaD4KLSNpbmNsdWRlIDxzdGRpbnQuaD4KIAogI2luY2x1ZGUgImZwbWF0aC5oIgogCmRpZmYgLS1naXQgYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfcm91bmQuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZC5jCmluZGV4IDY1ZGUzMWIuLmZhYjMwMTkgMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZC5jCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZC5jCkBAIC0yNywyNSArMjcsMzQgQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAotI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxmbG9hdC5oPgorCisjaW5jbHVkZSAibWF0aC5oIgorI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgogCiBkb3VibGUKIHJvdW5kKGRvdWJsZSB4KQogewogCWRvdWJsZSB0OworCXVpbnQzMl90IGh4OwogCi0JaWYgKCFpc2Zpbml0ZSh4KSkKLQkJcmV0dXJuICh4KTsKKwlHRVRfSElHSF9XT1JEKGh4LCB4KTsKKwlpZiAoKGh4ICYgMHg3ZmZmZmZmZikgPT0gMHg3ZmYwMDAwMCkKKwkJcmV0dXJuICh4ICsgeCk7CiAKLQlpZiAoeCA+PSAwLjApIHsKKwlpZiAoIShoeCAmIDB4ODAwMDAwMDApKSB7CiAJCXQgPSBmbG9vcih4KTsKIAkJaWYgKHQgLSB4IDw9IC0wLjUpCi0JCQl0ICs9IDEuMDsKKwkJCXQgKz0gMTsKIAkJcmV0dXJuICh0KTsKIAl9IGVsc2UgewogCQl0ID0gZmxvb3IoLXgpOwogCQlpZiAodCArIHggPD0gLTAuNSkKLQkJCXQgKz0gMS4wOworCQkJdCArPSAxOwogCQlyZXR1cm4gKC10KTsKIAl9CiB9CisKKyNpZiAoTERCTF9NQU5UX0RJRyA9PSA1MykKK19fd2Vha19yZWZlcmVuY2Uocm91bmQsIHJvdW5kbCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZGYuYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZGYuYwppbmRleCA5NTJlOGU3Li5lN2UyZWI5IDEwMDY0NAotLS0gYS9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfcm91bmRmLmMKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JvdW5kZi5jCkBAIC0yNywyNSArMjcsMjggQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsKIAotI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlICJtYXRoLmgiCisjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCiAKIGZsb2F0CiByb3VuZGYoZmxvYXQgeCkKIHsKIAlmbG9hdCB0OworCXVpbnQzMl90IGh4OwogCi0JaWYgKCFpc2Zpbml0ZSh4KSkKLQkJcmV0dXJuICh4KTsKKwlHRVRfRkxPQVRfV09SRChoeCwgeCk7CisJaWYgKChoeCAmIDB4N2ZmZmZmZmYpID09IDB4N2Y4MDAwMDApCisJCXJldHVybiAoeCArIHgpOwogCi0JaWYgKHggPj0gMC4wKSB7CisJaWYgKCEoaHggJiAweDgwMDAwMDAwKSkgewogCQl0ID0gZmxvb3JmKHgpOwotCQlpZiAodCAtIHggPD0gLTAuNSkKLQkJCXQgKz0gMS4wOworCQlpZiAodCAtIHggPD0gLTAuNUYpCisJCQl0ICs9IDE7CiAJCXJldHVybiAodCk7CiAJfSBlbHNlIHsKIAkJdCA9IGZsb29yZigteCk7Ci0JCWlmICh0ICsgeCA8PSAtMC41KQotCQkJdCArPSAxLjA7CisJCWlmICh0ICsgeCA8PSAtMC41RikKKwkJCXQgKz0gMTsKIAkJcmV0dXJuICgtdCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JvdW5kbC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3JvdW5kbC5jCmluZGV4IGE3MGI2MTcuLjJkMTVlMTMgMTAwNjQ0Ci0tLSBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc19yb3VuZGwuYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3Nfcm91bmRsLmMKQEAgLTI3LDI1ICsyNywzNiBAQAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogX19GQlNESUQoIiRGcmVlQlNEJCIpOwogCi0jaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CisjaWZkZWYgX19pMzg2X18KKyNpbmNsdWRlIDxpZWVlZnAuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiZnBtYXRoLmgiCisjaW5jbHVkZSAibWF0aC5oIgorI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgogCiBsb25nIGRvdWJsZQogcm91bmRsKGxvbmcgZG91YmxlIHgpCiB7CiAJbG9uZyBkb3VibGUgdDsKKwl1aW50MTZfdCBoeDsKIAotCWlmICghaXNmaW5pdGUoeCkpCi0JCXJldHVybiAoeCk7CisJR0VUX0xEQkxfRVhQU0lHTihoeCwgeCk7CisJaWYgKChoeCAmIDB4N2ZmZikgPT0gMHg3ZmZmKQorCQlyZXR1cm4gKHggKyB4KTsKIAotCWlmICh4ID49IDAuMCkgeworCUVOVEVSSSgpOworCisJaWYgKCEoaHggJiAweDgwMDApKSB7CiAJCXQgPSBmbG9vcmwoeCk7Ci0JCWlmICh0IC0geCA8PSAtMC41KQotCQkJdCArPSAxLjA7Ci0JCXJldHVybiAodCk7CisJCWlmICh0IC0geCA8PSAtMC41TCkKKwkJCXQgKz0gMTsKKwkJUkVUVVJOSSh0KTsKIAl9IGVsc2UgewogCQl0ID0gZmxvb3JsKC14KTsKLQkJaWYgKHQgKyB4IDw9IC0wLjUpCi0JCQl0ICs9IDEuMDsKLQkJcmV0dXJuICgtdCk7CisJCWlmICh0ICsgeCA8PSAtMC41TCkKKwkJCXQgKz0gMTsKKwkJUkVUVVJOSSgtdCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmguYyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5oLmMKaW5kZXggOTZlMzU2NS4uNmQyNmM2OSAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmguYworKysgYi9saWJtL3Vwc3RyZWFtLWZyZWVic2QvbGliL21zdW4vc3JjL3NfdGFuaC5jCkBAIC0zNywxMCArMzcsMTMgQEAKICAqCW9ubHkgdGFuaCgwKT0wIGlzIGV4YWN0IGZvciBmaW5pdGUgYXJndW1lbnQuCiAgKi8KIAorI2luY2x1ZGUgPGZsb2F0Lmg+CisKICNpbmNsdWRlICJtYXRoLmgiCiAjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCiAKLXN0YXRpYyBjb25zdCBkb3VibGUgb25lID0gMS4wLCB0d28gPSAyLjAsIHRpbnkgPSAxLjBlLTMwMCwgaHVnZSA9IDEuMGUzMDA7CitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgZG91YmxlIHRpbnkgPSAxLjBlLTMwMDsKK3N0YXRpYyBjb25zdCBkb3VibGUgb25lID0gMS4wLCB0d28gPSAyLjAsIGh1Z2UgPSAxLjBlMzAwOwogCiBkb3VibGUKIHRhbmgoZG91YmxlIHgpCkBAIC03NSwzICs3OCw3IEBACiAJfQogCXJldHVybiAoang+PTApPyB6OiAtejsKIH0KKworI2lmIChMREJMX01BTlRfRElHID09IDUzKQorX193ZWFrX3JlZmVyZW5jZSh0YW5oLCB0YW5obCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5oZi5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmhmLmMKaW5kZXggMDRmMDljNi4uZjUzN2JlNCAxMDA2NDQKLS0tIGEvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmhmLmMKKysrIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmhmLmMKQEAgLTE5LDcgKzE5LDkgQEAKICNpbmNsdWRlICJtYXRoLmgiCiAjaW5jbHVkZSAibWF0aF9wcml2YXRlLmgiCiAKLXN0YXRpYyBjb25zdCBmbG9hdCBvbmU9MS4wLCB0d289Mi4wLCB0aW55ID0gMS4wZS0zMCwgaHVnZSA9IDEuMGUzMDsKK3N0YXRpYyBjb25zdCB2b2xhdGlsZSBmbG9hdCB0aW55ID0gMS4wZS0zMDsKK3N0YXRpYyBjb25zdCBmbG9hdCBvbmU9MS4wLCB0d289Mi4wLCBodWdlID0gMS4wZTMwOworCiBmbG9hdAogdGFuaGYoZmxvYXQgeCkKIHsKZGlmZiAtLWdpdCBhL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5obC5jIGIvbGlibS91cHN0cmVhbS1mcmVlYnNkL2xpYi9tc3VuL3NyYy9zX3RhbmhsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg2MTU4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vdXBzdHJlYW0tZnJlZWJzZC9saWIvbXN1bi9zcmMvc190YW5obC5jCkBAIC0wLDAgKzEsMTcyIEBACisvKiBmcm9tOiBGcmVlQlNEOiBoZWFkL2xpYi9tc3VuL3NyYy9zX3RhbmhsLmMgWFhYICovCisKKy8qIEAoIylzX3RhbmguYyA1LjEgOTMvMDkvMjQgKi8KKy8qCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgKEMpIDE5OTMgYnkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIERldmVsb3BlZCBhdCBTdW5Qcm8sIGEgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBidXNpbmVzcy4KKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMKKyAqIHNvZnR3YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90aWNlCisgKiBpcyBwcmVzZXJ2ZWQuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorX19GQlNESUQoIiRGcmVlQlNEJCIpOworCisvKgorICogU2VlIHNfdGFuaC5jIGZvciBjb21wbGV0ZSBjb21tZW50cy4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gbG9uZyBkb3VibGUgYnkgQnJ1Y2UgRC4gRXZhbnMuCisgKi8KKworI2luY2x1ZGUgPGZsb2F0Lmg+CisjaWZkZWYgX19pMzg2X18KKyNpbmNsdWRlIDxpZWVlZnAuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAibWF0aC5oIgorI2luY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIgorI2luY2x1ZGUgImZwbWF0aC5oIgorI2luY2x1ZGUgImtfZXhwbC5oIgorCisjaWYgTERCTF9NQVhfRVhQICE9IDB4NDAwMAorLyogV2UgYWxzbyByZXF1aXJlIHRoZSB1c3VhbCBleHBzaWduIGVuY29kaW5nLiAqLworI2Vycm9yICJVbnN1cHBvcnRlZCBsb25nIGRvdWJsZSBmb3JtYXQiCisjZW5kaWYKKworI2RlZmluZQlCSUFTCShMREJMX01BWF9FWFAgLSAxKQorCitzdGF0aWMgY29uc3Qgdm9sYXRpbGUgZG91YmxlIHRpbnkgPSAxLjBlLTMwMDsKK3N0YXRpYyBjb25zdCBkb3VibGUgb25lID0gMS4wOworI2lmIExEQkxfTUFOVF9ESUcgPT0gNjQKKy8qCisgKiBEb21haW4gWy0wLjI1LCAwLjI1XSwgcmFuZ2UgflstMS42MzA0ZS0yMiwgMS42MzA0ZS0yMl06CisgKiB8dGFuaCh4KS94IC0gdCh4KXwgPCAyKiotNzIuMworICovCitzdGF0aWMgY29uc3QgdW5pb24gSUVFRWwyYml0cworVDN1ID0gTEQ4MEMoMHhhYWFhYWFhYWFhYWFhYTlmLCAtMiwgLTMuMzMzMzMzMzMzMzMzMzMzMzMwMTdlLTFMKTsKKyNkZWZpbmUJVDMJVDN1LmUKK3N0YXRpYyBjb25zdCBkb3VibGUKK1Q1ICA9ICAxLjMzMzMzMzMzMzMzMzMzMTRlLTEsCQkvKiAgMHgxMTExMTExMTExMTEwYS4wcC01NSAqLworVDcgID0gLTUuMzk2ODI1Mzk2ODIxMDQ4NWUtMiwJCS8qIC0weDFiYTFiYTFiYTFhMWExLjBwLTU3ICovCitUOSAgPSAgMi4xODY5NDg4NTMxMzkzODE3ZS0yLAkJLyogIDB4MTY2NGY0ODgxNzIwMjIuMHAtNTggKi8KK1QxMSA9IC04Ljg2MzIzNTIzNDU5NjQ1OTFlLTMsCQkvKiAtMHgxMjI2ZTM0YmMxMzhkNS4wcC01OSAqLworVDEzID0gIDMuNTkyMTE2OTcwOTk5Mzc3MWUtMywJCS8qICAweDFkNmQzNzFkM2U0MDBmLjBwLTYxICovCitUMTUgPSAtMS40NTU1Nzg2NDE1NzU2MDAxZS0zLAkJLyogLTB4MTdkOTIzYWE2MzgxNGQuMHAtNjIgKi8KK1QxNyA9ICA1Ljg2NDUyNjc4NzYyOTY3OTNlLTQsCQkvKiAgMHgxMzM3ODU4OWI4NWFhNy4wcC02MyAqLworVDE5ID0gLTIuMTEyMTAzMzU3MTM5MjIyNGUtNDsJCS8qIC0weDFiYWYwYWY4MGM0MDkwLjBwLTY1ICovCisjZWxpZiBMREJMX01BTlRfRElHID09IDExMworLyoKKyAqIERvbWFpbiBbLTAuMjUsIDAuMjVdLCByYW5nZSB+Wy0yLjQyMTFlLTM3LCAyLjQyMTFlLTM3XToKKyAqIHx0YW5oKHgpL3ggLSB0KHgpfCA8IDIqKjEyMS42CisgKi8KK3N0YXRpYyBjb25zdCBsb25nIGRvdWJsZQorVDMgPSAtMy4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjk4MGUtMUwsCS8qIC0weDE1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTRlLjBwLTExNEwgKi8KK1Q1ICA9ICAxLjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyNzA3MjYwZS0xTCwJLyogIDB4MTExMTExMTExMTExMTExMTExMTExMTExMGFiN2IuMHAtMTE1TCAqLworVDcgID0gLTUuMzk2ODI1Mzk2ODI1Mzk2ODI1Mzk2ODI1MzU3MjM0ODIzMTRlLTJMLAkvKiAtMHgxYmExYmExYmExYmExYmExYmExYmExN2I1ZmM5OC4wcC0xMTdMICovCitUOSAgPSAgMi4xODY5NDg4NTM2MTU1MjAyODIxODY5MzU5MTE0OTA2MTcxN2UtMkwsCS8qICAweDE2NjRmNDg4MmMxMGY5ZjMyZDZiMWExMmEyNWU1LjBwLTExOEwgKi8KK1QxMSA9IC04Ljg2MzIzNTUyOTkwMjE5NjU2ODgzNzYyMzQ3NzM2MzgxODUxZS0zTCwJLyogLTB4MTIyNmUzNTVlNmMyM2M4ZjVhNWEwZjM4NmNiNGQuMHAtMTE5TCAqLworVDEzID0gIDMuNTkyMTI4MDM2NTcyNDgxMDEzNTgzMTQzOTgyMjA4MjI3MjJlLTNMLAkvKiAgMHgxZDZkM2QwZTE1N2RkZmI0MDNhZDM2Mzc0NDJjNi4wcC0xMjFMICovCitUMTUgPSAtMS40NTU4MzQzODcwNTEzMTc5NjUxMjU2ODAxMDM0ODg3NDY2MmUtM0w7CS8qIC0weDE3ZGEzNjQ1MmI3NWUxNTBjNDRjYzM0MjUzYjM0LjBwLTEyMkwgKi8KK3N0YXRpYyBjb25zdCBkb3VibGUKK1QxNyA9ICA1LjkwMDI3NDQwOTQ1NTY2MjFlLTQsCQkvKiAgMHgxMzU1ODI0ODAzNjY4ZS4wcC02MyAqLworVDE5ID0gLTIuMzkxMjkxMTQyNDI2MDUxNmUtNCwJCS8qIC0weDFmNTdkNzczNGM4ZGRlLjBwLTY1ICovCitUMjEgPSAgOS42OTE1Mzc5NTM1NTEyODk4ZS01LAkJLyogIDB4MTk2N2UxOGFkNmE2Y2EuMHAtNjYgKi8KK1QyMyA9IC0zLjkyNzgzMjI5ODMxNTYzNTNlLTUsCQkvKiAtMHgxNDk3ZDhlNmI3NTcyOS4wcC02NyAqLworVDI1ID0gIDEuNTkxODg4NzIyMDE0Mzg2OWUtNSwJCS8qICAweDEwYjEzMTk5OThjYWZhLjBwLTY4ICovCitUMjcgPSAtNi40NTE0Mjk1MjMxNjMwOTU2ZS02LAkJLyogLTB4MWIwZjJiNzFiMjE4ZWIuMHAtNzAgKi8KK1QyOSA9ICAyLjYxMjA3NTQwNDM5NjQzNjVlLTYsCQkvKiAgMHgxNWU5NjNhM2NmM2EzOS4wcC03MSAqLworVDMxID0gLTEuMDQwNzU2NzIzMTAwMzMxNGUtNiwJCS8qIC0weDExNzYwNDFlNjU2ODY5LjBwLTcyICovCitUMzMgPSAgMy40NzQ0MTE3NTU0MDYzNTc0ZS03OwkJLyogIDB4MTc1MGZlNzMyY2FiOWMuMHAtNzQgKi8KKyNlbmRpZiAvKiBMREJMX01BTlRfRElHID09IDY0ICovCisKK3N0YXRpYyBpbmxpbmUgbG9uZyBkb3VibGUKK2RpdmwobG9uZyBkb3VibGUgYSwgbG9uZyBkb3VibGUgYiwgbG9uZyBkb3VibGUgYywgbG9uZyBkb3VibGUgZCwKKyAgICBsb25nIGRvdWJsZSBlLCBsb25nIGRvdWJsZSBmKQoreworCWxvbmcgZG91YmxlIGludiwgcjsKKwlmbG9hdCBmciwgZnc7CisKKwlfMnN1bUYoYSwgYyk7CisJYiA9IGIgKyBjOworCV8yc3VtRihkLCBmKTsKKwllID0gZSArIGY7CisKKwlpbnYgPSAxIC8gKGQgKyBlKTsKKworCXIgPSAoYSArIGIpICogaW52OworCWZyID0gcjsKKwlyID0gZnI7CisKKwlmdyA9IGQgKyBlOworCWUgPSBkIC0gZncgKyBlOworCWQgPSBmdzsKKworCXIgPSByICsgKGEgLSBkICogciArIGIgLSBlICogcikgKiBpbnY7CisKKwlyZXR1cm4gcjsKK30KKworbG9uZyBkb3VibGUKK3RhbmhsKGxvbmcgZG91YmxlIHgpCit7CisJbG9uZyBkb3VibGUgaGksbG8scyx4Mix4NCx6OworCWRvdWJsZSBkeDI7CisJaW50MTZfdCBqeCxpeDsKKworCUdFVF9MREJMX0VYUFNJR04oangseCk7CisJaXggPSBqeCYweDdmZmY7CisKKyAgICAvKiB4IGlzIElORiBvciBOYU4gKi8KKwlpZihpeD49MHg3ZmZmKSB7CisJICAgIGlmIChqeD49MCkgcmV0dXJuIG9uZS94K29uZTsgICAgLyogdGFuaCgrLWluZik9Ky0xICovCisJICAgIGVsc2UgICAgICAgcmV0dXJuIG9uZS94LW9uZTsgICAgLyogdGFuaChOYU4pID0gTmFOICovCisJfQorCisJRU5URVJJKCk7CisKKyAgICAvKiB8eHwgPCA0MCAqLworCWlmIChpeCA8IDB4NDAwNCB8fCBmYWJzbCh4KSA8IDQwKSB7CS8qIHx4fDw0MCAqLworCSAgICBpZiAoX19wcmVkaWN0X2ZhbHNlKGl4PEJJQVMtKExEQkxfTUFOVF9ESUcrMSkvMikpIHsJLyogfHh8PFRJTlkgKi8KKwkJLyogdGFuaCgrLTApID0gKzA7IHRhbmgodGlueSkgPSB0aW55KC0rKSB3aXRoIGluZXhhY3Q6ICovCisJCXJldHVybiAoeCA9PSAwID8geCA6ICgweDFwMjAwICogeCAtIHgpICogMHgxcC0yMDApOworCSAgICB9CisJICAgIGlmIChpeDwweDNmZmQpIHsJCS8qIHx4fDwwLjI1ICovCisJCXgyID0geCp4OworI2lmIExEQkxfTUFOVF9ESUcgPT0gNjQKKwkJeDQgPSB4Mip4MjsKKwkJUkVUVVJOSSgoKFQxOSp4MiArIFQxNykqeDQgKyAoVDE1KngyICsgVDEzKSkqKHgyKngqeDIqeDQqeDQpICsKKwkJICAgICgoVDExKngyICsgVDkpKng0ICsgKFQ3KngyICsgVDUpKSooeDIqeCp4MikgKworCQkgICAgVDMqKHgyKngpICsgeCk7CisjZWxpZiBMREJMX01BTlRfRElHID09IDExMworCQlkeDIgPSB4MjsKKyNpZiAwCisJCVJFVFVSTkkoKCgoKCgoKCgoKCgoKChUMzMqZHgyICsgVDMxKSpkeDIgKyBUMjkpKmR4MiArIFQyNykqZHgyICsKKwkJICAgIFQyNSkqeDIgKyBUMjMpKngyICsgVDIxKSp4MiArIFQxOSkqeDIgKyBUMTcpKngyICsKKwkJICAgIFQxNSkqeDIgKyBUMTMpKngyICsgVDExKSp4MiArIFQ5KSp4MiArIFQ3KSp4MiArIFQ1KSoKKwkJICAgICh4Mip4KngyKSArCisJCSAgICBUMyooeDIqeCkgKyB4KTsKKyNlbHNlCisJCWxvbmcgZG91YmxlIHEgPSAoKCgoKCgoKCgoKCgoKFQzMypkeDIgKyBUMzEpKmR4MiArIFQyOSkqZHgyICsgVDI3KSpkeDIgKworCQkgICAgVDI1KSp4MiArIFQyMykqeDIgKyBUMjEpKngyICsgVDE5KSp4MiArIFQxNykqeDIgKworCQkgICAgVDE1KSp4MiArIFQxMykqeDIgKyBUMTEpKngyICsgVDkpKngyICsgVDcpKngyICsgVDUpKgorCQkgICAgKHgyKngqeDIpOworCQlSRVRVUk5JKHEgKyBUMyooeDIqeCkgKyB4KTsKKyNlbmRpZgorI2VuZGlmCisJICAgIH0KKwkgICAga19oZXhwbCgyKmZhYnNsKHgpLCAmaGksICZsbyk7CisJICAgIGlmIChpeDwweDQwMDEgJiYgZmFic2woeCkgPCAxLjUpCS8qIHx4fDwxLjUgKi8KKwkJeiA9IGRpdmwoaGksIGxvLCAtMC41LCBoaSwgbG8sIDAuNSk7CisJICAgIGVsc2UKKwkJeiA9IG9uZSAtIG9uZS8obG8rMC41K2hpKTsKKyAgICAvKiB8eHwgPj0gNDAsIHJldHVybiArLTEgKi8KKwl9IGVsc2UgeworCSAgICB6ID0gb25lIC0gdGlueTsJCS8qIHJhaXNlIGluZXhhY3QgZmxhZyAqLworCX0KKwlzID0gMTsKKwlpZiAoang8MCkgcyA9IC0xOworCVJFVFVSTkkocyp6KTsKK30KZGlmZiAtLWdpdCBhL2xpYm0veDg2L2NlaWwuUyBiL2xpYm0veDg2L2NlaWwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzAyMDM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvY2VpbC5TCkBAIC0wLDAgKzEsNDMgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoY2VpbCkKKwltb3YgICAgJWVzcCwlZWF4CisJYW5kICAgICQweGZmZmZmZmY4LCVlYXgKKwltb3ZzZCAgMHg0KCVlc3ApLCV4bW0wCisJcm91bmRzZCAkMHgyLCV4bW0wLCV4bW0wCisJbW92bHBkICV4bW0wLC0weDgoJWVheCkKKwlmbGRsICAgLTB4OCglZWF4KQorCXJldAorRU5EKGNlaWwpCisKK0FMSUFTX1NZTUJPTChjZWlsbCwgY2VpbCk7CmRpZmYgLS1naXQgYS9saWJtL3g4Ni9jZWlsZi5TIGIvbGlibS94ODYvY2VpbGYuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWViNDQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvY2VpbGYuUwpAQCAtMCwwICsxLDM5IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKGNlaWxmKQorCW1vdnNzICAweDQoJWVzcCksJXhtbTAKKwlyb3VuZHNzICQweDIsJXhtbTAsJXhtbTAKKwltb3ZzcyAgJXhtbTAsLTB4NCglZXNwKQorCWZsZHMgICAtMHg0KCVlc3ApCisJcmV0CitFTkQoY2VpbGYpCmRpZmYgLS1naXQgYS9saWJtL3g4Ni9lX2Fjb3MuUyBiL2xpYm0veDg2L2VfYWNvcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNjE4NTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9lX2Fjb3MuUwpAQCAtMCwwICsxLDE5MjkgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgVG8gY29tcHV0ZSBhY29zKHMpLCBzZXBhcmF0ZSBzY2hlbWVzIGFyZSB1c2VkIHdoZW4gcyBpcyBpbiBkaWZmZXJlbnQKKy8vICBpbnRlcnZhbHMuCisvLworLy8gIHxzfCBpbiBbMl57LTR9LCBzcXJ0KDMpLzIpOgorLy8gICAgICAgTGV0IHQ9Ml5rKjEuYjEgYjIuLmI2IDEsIHdoZXJlIHM9Ml5rKjEuYjEgYjIgLi4gYjUyCisvLyAgICAgICBhY29zKHMpPXBpLzItYXNpbih0KS1hc2luKHIpLCB3aGVyZSByPXMqc3FydCgxLXReMiktdCpzcXJ0KDEtc14yKQorLy8gICAgICAgYXNpbihyKS1yIGV2YWx1YXRlZCBhcyA3LWRlZ3JlZSBwb2x5bm9taWFsIChjMypyXjMrYzUqcl41K2M3KnJeNykKKy8vICAgICAgIEZvciB0aGUgZmlyc3QgZGVncmVlIHRlcm0sIHIgaXMgZXZhbHVhdGVkIGFzCisvLyAgICAgICAgICAgICAgICBSPShzXjItdF4yKS8oc3FydCgxLXReMikqcytzcXJ0KDEtc14yKSp0KQorLy8gICAgICAgKHNxcnQoMS10XjIpIHJlYWQgZnJvbSB0YWJsZSkKKy8vICBUaGUgbWFpbiBzb3VyY2Ugb2YgZXJyb3IgaXMgc3RpbGwgUiAobWF5IHN0aWxsIGJlIGFmZmVjdGVkIGJ5IHVwIHRvIDMgdWxwcworLy8gIG9mIHJvdW5kaW5nIGVycm9yKS4gVGhlIHRhYmxlIHNpemUgbXVzdCBiZSBzdWZmaWNpZW50bHkgbGFyZ2UsIHRvIG1pbmltaXplCisvLyAgdGhpcyBlZmZlY3QuCisvLworLy8gIHxzfCBpbiBbc3FydCgzKS8yLCAyNTUvMjU2KToKKy8vICAgICAgIExldCB0PTJeayoxLmIxIGIyLi5iNiAxLCB3aGVyZSBzcXJ0KDEtc14yKT0yXmsqMS5iMSBiMiAuLiBiNTIgKHJvdW5kZWQpCisvLyAgICAgICBhY29zKHxzfCk9YXNpbih0KS1hc2luKHIpLCByPXMqdC1zcXJ0KDEtc14yKSpzcXJ0KDEtdF4yKQorLy8gICBhY29zKC18c3wpPXBpLWFjb3MofHN8KQorLy8gICAgICAgKFRoZSAtUEkgY29uc3RhbnQsIG9yIDAsIGlzIGFkZGVkIHRvIHRoZSByZXN1bHQuIFRoZSBzaWduIGlzIHNldCBhdAorLy8gICAgICAgIHRoZSBlbmQpCisvLyAgICAgICBhc2luKHIpIGV2YWx1YXRlZCBhcyBhIHBvbHlub21pYWwgKHNhbWUgYXMgYWJvdmUpCisvLyAgICAgICBUaGUgZmlyc3QgZGVncmVlIHRlcm0gaXMgZXZhbHVhdGVkIGFzCisvLyAgICAgICAgICAgICAgICAgICAgICAgIHI9KHNeMit0XjItMSkvKHMqdCtzcXJ0KDEtc14yKSpzcXJ0KDEtdF4yKSkKKy8vCisvLyAgfHN8PDJeey00fTogYWNvcyhzKT1waS8yLWFzaW4ocykKKy8vICAgICAgICAgICAgICBldmFsdWF0ZSBhc2luKHMpIGFzIDEzLWRlZ3JlZSBwb2x5bm9taWFsCisvLworLy8gIHxzfCBpbiBbMjU1LzI1NiwxKTogYWNvcyh8c3wpPTIqYXNpbihxKSwgd2hlcmUgcT1zcXJ0KCgxLXxzfCkvMikKKy8vICBhc2luKHEpIGlzIGV2YWx1YXRlZCBhcyAxMy1kZWdyZWUgcG9seW5vbWlhbAorLy8gICAgICBxXjI9KDEtfHN8KS8yIGlzIG9idGFpbmVkIGluIGFkdmFuY2UKKy8vICAgICAgICAgMipxKmVwcyB+ICgoMS18c3wpLzItcV4yKS9xIHVzZWQgZm9yIGZpcnN0IHRlcm0KKy8vICAgYWNvcygtfHN8KT1waS1hY29zKHxzfCkKKy8vICAgICAgIChUaGUgLVBJIGNvbnN0YW50LCBvciAwLCBpcyBhZGRlZCB0byB0aGUgcmVzdWx0LiBUaGUgc2lnbiBpcyBzZXQgYXQKKy8vICAgICAgICB0aGUgZW5kKQorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgYWNvcyhOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBhY29zKElORikgPSBRTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGFjb3MoeCkgPSBRTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbiwgZm9yIHx4fD4xLjAKKy8vICBhY29zKDEpID0gKzAKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24JCitzdGF0aWNfZnVuYzoKKy4uQjEuMToKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZWF4CisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZWF4KSwgJWVheAorICAgICAgICBsZWEgICAgICAgc3RhdGljX2NvbnN0X3RhYmxlQEdPVE9GRiglZWF4KSwgJWVheAorICAgICAgICByZXQgICAgICAgCisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGFjb3MKK0VOVFJZKGFjb3MpCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEwNCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNDgoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICA2MDQ4KCVlYngpLCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgNjA4MCglZWJ4KSwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBtb3ZzZCAgICAgNjA2NCglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJWVzcCkKKyAgICAgICAgcHNybHEgICAgICQ0NCwgJXhtbTAKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgbW92bCAgICAgICQ4MTkyLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMiwgJWVjeCwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDUyNDI4NywgJWVheAorICAgICAgICBhbmRsICAgICAgJWVkeCwgJWVheAorICAgICAgICBzdWJsICAgICAgJDI2MDg2NCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDk1NSwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBhbmRsICAgICAgJDY1NTM1LCAlZWR4CisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgc3FydHNkICAgICV4bW0zLCAleG1tMworICAgICAgICBhbmRwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIGFuZGwgICAgICAkLTQsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQ2NDI1NiwgJWVkeAorICAgICAgICBtb3ZzZCAgICAgMzg0MCglZWJ4LCVlZHgsMiksICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgICglZWJ4LCVlZHgsNCksICV4bW00CisgICAgICAgIG1vdmFwZCAgICAleG1tNywgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBkaXZzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdnNkICAgICA1OTc2KCVlYngpLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgNTk2MCglZWJ4KSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBwc3JscSAgICAgJDYzLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHBzbGxxICAgICAkNjMsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdnNkICAgICA1OTY4KCVlYngpLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHN1YnBkICAgICA1ODg4KCVlYngpLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNCwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorICAgICAgICBzdWJsICAgICAgJDk1NSwgJWVheAorICAgICAgICBjbXBsICAgICAgJDY1LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorICAgICAgICBwc3JscSAgICAgJDM4LCAleG1tNworICAgICAgICBwc2xscSAgICAgJDM4LCAleG1tNworICAgICAgICBwbW92bXNrYiAgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbnBkICAgICV4bW0wLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tNywgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG9ycGQgICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBzcXJ0c2QgICAgJXhtbTMsICV4bW0zCisgICAgICAgIGFuZGwgICAgICAkMTI4LCAlZWF4CisgICAgICAgIHNocmwgICAgICAkNywgJWVheAorICAgICAgICBuZWdsICAgICAgJWVheAorICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW03CisgICAgICAgIGFuZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgcHNsbHEgICAgICQyLCAleG1tMworICAgICAgICBwZXh0cncgICAgJDMsICV4bW0zLCAlZWR4CisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICVlYXgsICV4bW0zCisgICAgICAgIHBzaHVmZCAgICAkMCwgJXhtbTMsICV4bW0zCisgICAgICAgIHN1YmwgICAgICAkNjUyMTYsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgbXVsc2QgICAgIDM4NDAoJWVieCwlZWR4LDQpLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIGFuZHBkICAgICA1OTA0KCVlYngpLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBtb3ZzZCAgICAgNTk2MCglZWJ4KSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdnNkICAgICA1OTc2KCVlYngpLCAleG1tMAorICAgICAgICBkaXZzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG1vdnNkICAgICA1OTY4KCVlYngpLCAleG1tMgorICAgICAgICBhZGRwZCAgICAgKCVlYngsJWVkeCw4KSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBweG9yICAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgJXhtbTQsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMywgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzIuMC4yOgorICAgICAgICBhZGRsICAgICAgJDE1MjkxLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTQzMzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIHVucGNrbHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDU5ODQoJWVieCksICV4bW02CisgICAgICAgIHVucGNrbHBkICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIDYwMDAoJWVieCksICV4bW0yCisgICAgICAgIG1vdmFwZCAgICA2MDE2KCVlYngpLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICA1ODg4KCVlYngpLCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW00LCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBzdWJsICAgICAgJDE1MzU2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkNCwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBhbmRwZCAgICAgNjA0OCglZWJ4KSwgJXhtbTcKKyAgICAgICAgbW92c2QgICAgIDYwOTYoJWVieCksICV4bW00CisgICAgICAgIG1vdmFwZCAgICA1OTg0KCVlYngpLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIG1vdmFwZCAgICA2MDAwKCVlYngpLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA2MDE2KCVlYngpLCAleG1tMworICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTcKKyAgICAgICAgc3FydHNkICAgICV4bW00LCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW03LCAleG1tNQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgNTkzNiglZWJ4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tMworICAgICAgICBjbXBzZCAgICAgJDEsICV4bW02LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgIDU5MDQoJWVieCksICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW00LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0zLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGRpdnNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgYWRkcGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhbmRsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzQuMC4yOgorICAgICAgICBhZGRsICAgICAgJDI2MTg4NCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDI2MTg4OCwgJWVheAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKyAgICAgICAgbW92ZCAgICAgICV4bW03LCAlZWN4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW03CisgICAgICAgIG1vdmQgICAgICAleG1tNywgJWVkeAorICAgICAgICBhbmRsICAgICAgJDIxNDc0ODM2NDcsICVlZHgKKyAgICAgICAgbW92bCAgICAgICQxMDcyNjkzMjQ4LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKyAgICAgICAgbW92cSAgICAgIDgoJWVzcCksICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVkeAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWN4CisgICAgICAgIHN1YmwgICAgICAkMSwgJWVkeAorICAgICAgICBzYmJsICAgICAgJDIxNDY0MzUwNzIsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGpnZSAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBwZXh0cncgICAgJDEsICV4bW03LCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMTUsICVlZHgKKyAgICAgICAgbmVnbCAgICAgICVlZHgKKyAgICAgICAgbW92ZCAgICAgICVlZHgsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkMCwgJXhtbTcsICV4bW03CisgICAgICAgIG1vdnNkICAgICA1OTIwKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgNTkyOCglZWJ4KSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW03LCAleG1tMgorICAgICAgICBhbmRwZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzUuMC4yOgorICAgICAgICBtb3ZzZCAgICAgNTg4OCglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92c2QgICAgIDU4OTYoJWVieCksICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIG1vdmwgICAgICA0OCglZXNwKSwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIyLjM6CitFTkQoYWNvcykKKyMgLS0gRW5kICBhY29zCisKKyMgU3RhcnQgZmlsZSBzY29wZSBBU00KK0FMSUFTX1NZTUJPTChhY29zbCwgYWNvcyk7CisjIEVuZCBmaWxlIHNjb3BlIEFTTQorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTM4MjI5NTI3OTIKKwkubG9uZwkxMDIxNjM5MzcyCisJLmxvbmcJMTgyNzkyNDQ4CisJLmxvbmcJMTA2ODUwNzgzNgorCS5sb25nCTIyNjQyMTMyNzEKKwkubG9uZwkxMDE5NTU4OTA4CisJLmxvbmcJNjQ5MDUyOTI4CisJLmxvbmcJMTA2ODUyNDI1MworCS5sb25nCTE3OTcxMzk2MDkKKwkubG9uZwkxMDIyMjk1MTQzCisJLmxvbmcJMTI0MzA5NTI5NgorCS5sb25nCTEwNjg1NDA2NzEKKwkubG9uZwkxNDE1OTM4NzU2CisJLmxvbmcJMTAyMTQzOTUzNworCS5sb25nCTIwMzMyOTQ1OTIKKwkubG9uZwkxMDY4NTU3MDkwCisJLmxvbmcJMjM1NjgwOTk3OAorCS5sb25nCTEwMjE3Nzc5MTYKKwkubG9uZwkzMDg4MDYzNzQ0CisJLmxvbmcJMTA2ODU3MzUxMAorCS5sb25nCTI2NjkwNTUzMTgKKwkubG9uZwkxMDIyMTI0NDgyCisJLmxvbmcJMTgwODg4NTc2CisJLmxvbmcJMTA2ODU4OTkzMgorCS5sb25nCTM1NjY0NDUzMjUKKwkubG9uZwkxMDIxMzU4NzEyCisJLmxvbmcJMTk3MDE5Njk5MgorCS5sb25nCTEwNjg2MDYzNTQKKwkubG9uZwk4OTY5ODAzMjMKKwkubG9uZwkxMDIxMzE5NjU5CisJLmxvbmcJNDIyOTU1NTQ1NgorCS5sb25nCTEwNjg2MjI3NzcKKwkubG9uZwk0MzYwNDk3MTIKKwkubG9uZwkxMDIxMzE5NzU4CisJLmxvbmcJMjczMjU3MjE2MAorCS5sb25nCTEwNjg2MzkyMDIKKwkubG9uZwk1ODMxMjMyMDkKKwkubG9uZwkxMDIwNzk3OTYwCisJLmxvbmcJMTg0MjgzMTg3MgorCS5sb25nCTEwNjg2NTU2MjgKKwkubG9uZwkxMzcwNDQ5ODA0CisJLmxvbmcJMTAyMTQyOTI3MAorCS5sb25nCTE2Mjg5OTQ1NjAKKwkubG9uZwkxMDY4NjcyMDU1CisJLmxvbmcJMjQxMTM5MTQ2NAorCS5sb25nCTEwMjEwNTc5ODAKKwkubG9uZwkyMTU5NzYzNzEyCisJLmxvbmcJMTA2ODY4ODQ4MworCS5sb25nCTEyMDg2OTI3NDkKKwkubG9uZwkxMDIxOTQzOTAzCisJLmxvbmcJMzUwMzg4NjMzNgorCS5sb25nCTEwNjg3MDQ5MTIKKwkubG9uZwk1Mzg3OTMzMDkKKwkubG9uZwkxMDE5NzQ0MDYzCisJLmxvbmcJMTQzNTE4NzIwMAorCS5sb25nCTEwNjg3MjEzNDMKKwkubG9uZwk0MDg1MDg3NjEyCisJLmxvbmcJMTAyMDYwODQxOQorCS5sb25nCTMxNzQ2OTk1MgorCS5sb25nCTEwNjg3Mzc3NzUKKwkubG9uZwkxNDQzODY5NDIKKwkubG9uZwkxMDIxNDQwNzMyCisJLmxvbmcJMjE5NjE3MjgwCisJLmxvbmcJMTA2ODc1NDIwOAorCS5sb25nCTI5NDAwODgzNjEKKwkubG9uZwkxMDE5OTgxMTIyCisJLmxvbmcJMTIxMDU1ODIwOAorCS5sb25nCTEwNjg3NzA2NDIKKwkubG9uZwkyMTc2ODUwMzQ3CisJLmxvbmcJMTAxODM3MzcwNQorCS5sb25nCTMzNTkyNjgzNTIKKwkubG9uZwkxMDY4Nzg3MDc3CisJLmxvbmcJMjM5NTYxMTQ1NAorCS5sb25nCTEwMjE4ODkwNDIKKwkubG9uZwkyNDM5ODAzNjQ4CisJLmxvbmcJMTA2ODgwMzUxNAorCS5sb25nCTE2NTA3MDUyNTMKKwkubG9uZwkxMDIwMjI3OTY2CisJLmxvbmcJMjgxNjIwMzUyMAorCS5sb25nCTEwNjg4MTk5NTIKKwkubG9uZwkzNzAyMTY2Mzg2CisJLmxvbmcJMTAxOTM3OTkxNAorCS5sb25nCTI2MjYyMDY3MgorCS5sb25nCTEwNjg4MzYzOTIKKwkubG9uZwkxODU1NjQ5MzcwCisJLmxvbmcJMTAyMDQ1MzEyNAorCS5sb25nCTM0MzgxNTk2MTYKKwkubG9uZwkxMDY4ODUyODMyCisJLmxvbmcJOTIzMDYzODYwCisJLmxvbmcJMTAxOTI3MzgzNAorCS5sb25nCTM4MjIxMDU4NTYKKwkubG9uZwkxMDY4ODY5Mjc0CisJLmxvbmcJNDI4OTk0Nzk0NworCS5sb25nCTEwMTk0MzQyNDkKKwkubG9uZwkxNDgzNzI5OTIwCisJLmxvbmcJMTA2ODg4NTcxOAorCS5sb25nCTc4NzQ1NTgxNAorCS5sb25nCTEwMjA3MzgzNzkKKwkubG9uZwk3ODczMjEwODgKKwkubG9uZwkxMDY4OTAyMTYzCisJLmxvbmcJMzMyMTY1MzMzNworCS5sb25nCTEwMjE4NDI1NjkKKwkubG9uZwkxODAyMjUzMzEyCisJLmxvbmcJMTA2ODkxODYwOQorCS5sb25nCTI2NTM2MzM1MjYKKwkubG9uZwkxMDIxODIxNTI1CisJLmxvbmcJMzAyOTg1OTg0CisJLmxvbmcJMTA2ODkzNTA1NworCS5sb25nCTE2MTI3MjAyOAorCS5sb25nCTEwMjE2NTUxNDkKKwkubG9uZwk2NTM5NjYwODAKKwkubG9uZwkxMDY4OTUxNTA2CisJLmxvbmcJMjU2NjA5ODY2NworCS5sb25nCTEwMjAwNjYyMTkKKwkubG9uZwkyOTI0NzI3Mjk2CisJLmxvbmcJMTA2ODk2Nzk1NgorCS5sb25nCTM2NDY0OTM3MjIKKwkubG9uZwkxMDE0MjkyMjg1CisJLmxvbmcJMjg4OTg5MDMwNAorCS5sb25nCTEwNjg5ODQ0MDgKKwkubG9uZwkxMDgxMDA5MTk2CisJLmxvbmcJMTAyMjE4OTYyMAorCS5sb25nCTYxOTA5ODExMgorCS5sb25nCTEwNjkwMDA4NjIKKwkubG9uZwk0MDExNjQzMzU1CisJLmxvbmcJMTAyMTc3MzI5NworCS5sb25nCTQ3NzAxNzYwMAorCS5sb25nCTEwNjkwMTczMTcKKwkubG9uZwk0MDMwMzA1NTM0CisJLmxvbmcJMTAyMTI5MjI1MgorCS5sb25nCTI1MzM0MDM5MDQKKwkubG9uZwkxMDY5MDMzNzczCisJLmxvbmcJMjY0NTE4NzU5MQorCS5sb25nCTEwMTk1MjcwOTkKKwkubG9uZwkyNTYzMTAyMjA4CisJLmxvbmcJMTA2OTA1MDIzMQorCS5sb25nCTM4NTcyOTM3OTIKKwkubG9uZwkxMDIyMzExNjk3CisJLmxvbmcJNjM1OTgyMzM2CisJLmxvbmcJMTA2OTA2NjY5MQorCS5sb25nCTM2MjU5MzY2MzcKKwkubG9uZwkxMDE3NTExNzQ0CisJLmxvbmcJMTExNjk0MDgwMAorCS5sb25nCTEwNjkwODMxNTIKKwkubG9uZwkzNjUzODcyOTkzCisJLmxvbmcJMTAyMjAxNjYzMQorCS5sb25nCTQwNzU5NjQxNjAKKwkubG9uZwkxMDY5MDk5NjE0CisJLmxvbmcJMjQ2ODkwMDI3MQorCS5sb25nCTEwMjE3Njk1MzIKKwkubG9uZwk5OTMxNjU1NjgKKwkubG9uZwkxMDY5MTE2MDc5CisJLmxvbmcJMTM1ODEwNDIyNAorCS5sb25nCTEwMjExOTk3NzYKKwkubG9uZwk1Mjg1ODY3NTIKKwkubG9uZwkxMDY5MTMyNTQ1CisJLmxvbmcJMjIwMDk1MDMzMgorCS5sb25nCTEwMjIwMjQ4NzIKKwkubG9uZwkyNzUyMzk1Nzc2CisJLmxvbmcJMTA2OTE0OTAxMgorCS5sb25nCTMxOTcwNzI0NTQKKwkubG9uZwkxMDE3NzUxMzE5CisJLmxvbmcJMzQzOTg1NTYxNgorCS5sb25nCTEwNjkxNjU0ODEKKwkubG9uZwkxNjUxMDgxODA2CisJLmxvbmcJMTAyMDgwOTMzOAorCS5sb25nCTI2NjEyNTc3MjgKKwkubG9uZwkxMDY5MTgxOTUyCisJLmxvbmcJNTM5MDMyNzUyCisJLmxvbmcJMTAyMTcyODgwNQorCS5sb25nCTQ4Njk1NzMxMgorCS5sb25nCTEwNjkxOTg0MjUKKwkubG9uZwkzMTM2MDQ1MTQ5CisJLmxvbmcJMTAxNjg4ODY3MQorCS5sb25nCTEyODIzNDAzNTIKKwkubG9uZwkxMDY5MjE0ODk5CisJLmxvbmcJMjU5Mzk2MzI1OQorCS5sb25nCTEwMTg5NTYxMDMKKwkubG9uZwk4MjI5MjE3MjgKKwkubG9uZwkxMDY5MjMxMzc1CisJLmxvbmcJMjE0NjAzMjczNworCS5sb25nCTEwMjIzMDY0NjUKKwkubG9uZwkzNDc0MjE2MTkyCisJLmxvbmcJMTA2OTI0Nzg1MgorCS5sb25nCTM5NzY4MTE2MjUKKwkubG9uZwkxMDIxMzUwMjA3CisJLmxvbmcJNzE2OTAyNjU2CisJLmxvbmcJMTA2OTI2NDMzMgorCS5sb25nCTcxODI2NzIyMgorCS5sb25nCTEwMTg2MjQ3MjcKKwkubG9uZwkxMjExNTk0NDk2CisJLmxvbmcJMTA2OTI4MDgxMworCS5sb25nCTE0ODU2NDEzODkKKwkubG9uZwkxMDE4NDQ3NDUxCisJLmxvbmcJNzM0MDcwMjcyCisJLmxvbmcJMTA2OTI5NzI5NgorCS5sb25nCTM1NDQ1NTEyOAorCS5sb25nCTEwMjEzNDEyOTEKKwkubG9uZwkzNjUwMTEwNzIwCisJLmxvbmcJMTA2OTMxMzc4MAorCS5sb25nCTY4MjE4NTk0NworCS5sb25nCTEwMjE2NTE4NTMKKwkubG9uZwkxNDQwNjYzMDQwCisJLmxvbmcJMTA2OTMzMDI2NworCS5sb25nCTM1NTg1NzQ1NTAKKwkubG9uZwkxMDIxNjE1MTEwCisJLmxvbmcJMjc2NjYxMjIyNAorCS5sb25nCTEwNjkzNDY3NTUKKwkubG9uZwk4NzQ2MDc5NzgKKwkubG9uZwkxMDE3NzQ2ODcyCisJLmxvbmcJMzQwNDAxMTAwOAorCS5sb25nCTEwNjkzNjMyNDUKKwkubG9uZwk0MTU0OTg4NTAyCisJLmxvbmcJMTAyMTQzOTkwNgorCS5sb25nCTM0MjM5NDkwNTYKKwkubG9uZwkxMDY5Mzc5NzM3CisJLmxvbmcJMjI2MzIwMjMwOQorCS5sb25nCTEwMjE0Nzk2MTUKKwkubG9uZwkyODk3NTg3NzEyCisJLmxvbmcJMTA2OTM5NjIzMQorCS5sb25nCTI1NjIwNjUwMzEKKwkubG9uZwkxMDIyMDkwMzYzCisJLmxvbmcJMTg5NjE1OTIzMgorCS5sb25nCTEwNjk0MTI3MjcKKwkubG9uZwkzODM2MjM3NjYzCisJLmxvbmcJMTAxOTg2NzI4OAorCS5sb25nCTQ5MDk2ODU3NgorCS5sb25nCTEwNjk0MjkyMjUKKwkubG9uZwkzMzIyMDU2NzQzCisJLmxvbmcJMTAwNjc1Mjc2MgorCS5sb25nCTMwNDgzNjAxOTIKKwkubG9uZwkxMDY5NDQ1NzI0CisJLmxvbmcJMTE1MjMxNDgzMworCS5sb25nCTEwMTMxMjIyNTIKKwkubG9uZwkxMDQ5ODUwNjI0CisJLmxvbmcJMTA2OTQ2MjIyNgorCS5sb25nCTM2MDE1OTA3MjcKKwkubG9uZwkxMDIyMjE0NjEwCisJLmxvbmcJMzE1Njg5OTU4NAorCS5sb25nCTEwNjk0Nzg3MjkKKwkubG9uZwkxODU1MTY5OTcwCisJLmxvbmcJMTAxOTQ4NzI3MQorCS5sb25nCTg1MTE3MzM3NgorCS5sb25nCTEwNjk0OTUyMzUKKwkubG9uZwkzMTI2NDk1OTQKKwkubG9uZwkxMDIwODY4NjA0CisJLmxvbmcJMjc5NDI4MTcyOAorCS5sb25nCTEwNjk1MTE3NDIKKwkubG9uZwkxMDkzNDkwMTgxCisJLmxvbmcJMTAyMDc3NzU3NworCS5sb25nCTQ2ODA0MjQ5NgorCS5sb25nCTEwNjk1MjgyNTIKKwkubG9uZwkxMTUyNTQwNjc5CisJLmxvbmcJMTAyMTQwMzczMgorCS5sb25nCTI1MzQyMTkyNjQKKwkubG9uZwkxMDY5NTQ0NzYzCisJLmxvbmcJMjI5MjEyNjAzNQorCS5sb25nCTEwMjE4NzI0MzAKKwkubG9uZwkxMzc2MTQ2NDMyCisJLmxvbmcJMTA2OTU1ODUyNworCS5sb25nCTMyOTM3NTM2NDEKKwkubG9uZwkxMDIwNTAwNDU0CisJLmxvbmcJNDE3NTQ0MjQzMgorCS5sb25nCTEwNjk1NzUwNDQKKwkubG9uZwkzNjI2MzQ3NTY0CisJLmxvbmcJMTAyMTYxMDk2OQorCS5sb25nCTM1MjMxMTM0NzIKKwkubG9uZwkxMDY5NTkxNTY2CisJLmxvbmcJMzM5OTU2NTAwCisJLmxvbmcJMTAyMTExOTAzOQorCS5sb25nCTQwMDMzNTA1MjgKKwkubG9uZwkxMDY5NjA4MDkyCisJLmxvbmcJMzQyOTMzMzA4MgorCS5sb25nCTEwMjI4MTM1NDIKKwkubG9uZwkxNjExMDY3MzkyCisJLmxvbmcJMTA2OTYyNDYyMworCS5sb25nCTIyOTgwMTc1NDQKKwkubG9uZwkxMDIxOTc3NTg3CisJLmxvbmcJOTMxNzgyMTQ0CisJLmxvbmcJMTA2OTY0MTE1OAorCS5sb25nCTIxNjQ2ODQ3NDMKKwkubG9uZwkxMDIxMjUwOTg4CisJLmxvbmcJMjI1NjcyNTUwNAorCS5sb25nCTEwNjk2NTc2OTcKKwkubG9uZwkxMTM4NzYyMzM1CisJLmxvbmcJMTAyMTQ0Mzc3NgorCS5sb25nCTE1ODI4NTMxMjAKKwkubG9uZwkxMDY5Njc0MjQxCisJLmxvbmcJMTA4NDAxMDM4MgorCS5sb25nCTEwMjI5OTQ2OTMKKwkubG9uZwkzNDk3NzU4NzIwCisJLmxvbmcJMTA2OTY5MDc4OQorCS5sb25nCTQwNjM2NjI0NAorCS5sb25nCTEwMjI3MTM1ODYKKwkubG9uZwkzOTk5ODE2OTYwCisJLmxvbmcJMTA2OTcwNzM0MgorCS5sb25nCTE0ODg3MjMwNDIKKwkubG9uZwkxMDIzMzgxMjkwCisJLmxvbmcJMzM4MzA5NjA2NAorCS5sb25nCTEwNjk3MjM5MDAKKwkubG9uZwkyNTQxNTU4OTUzCisJLmxvbmcJMTAxOTEzNzg4NworCS5sb25nCTE5NDI0MDM1ODQKKwkubG9uZwkxMDY5NzQwNDYzCisJLmxvbmcJMTg3OTYyMDM0MworCS5sb25nCTEwMjI2NTM2NDIKKwkubG9uZwk0MjY4MjYzNjgwCisJLmxvbmcJMTA2OTc1NzAzMAorCS5sb25nCTMwMzkwNzcwNDcKKwkubG9uZwkxMDIyMjUyNTQ1CisJLmxvbmcJMjA2NzA2MjI3MgorCS5sb25nCTEwNjk3NzM2MDMKKwkubG9uZwk0MTkwNjcwNjc3CisJLmxvbmcJMTAyMDcyNTg2MworCS5sb25nCTQyMjU4MjgwOTYKKwkubG9uZwkxMDY5NzkwMTgwCisJLmxvbmcJMTk5ODU2NzMyMQorCS5sb25nCTEwMjIwMTQzODUKKwkubG9uZwkyNDUyNTA3MTM2CisJLmxvbmcJMTA2OTgwNjc2MworCS5sb25nCTE1MTE2Mjg4NzMKKwkubG9uZwkxMDIxOTAwMzAwCisJLmxvbmcJMTM0MDc0NjI0MAorCS5sb25nCTEwNjk4MjMzNTEKKwkubG9uZwk3ODgzNjczNDEKKwkubG9uZwkxMDIyNzI2MjA4CisJLmxvbmcJMTE5MDAzNTQ1NgorCS5sb25nCTEwNjk4Mzk5NDQKKwkubG9uZwkzODU2MzM3MjMwCisJLmxvbmcJMTAyMTgzNDExOAorCS5sb25nCTIzMDA2ODgzODQKKwkubG9uZwkxMDY5ODU2NTQyCisJLmxvbmcJMzIxMTM5NjU3OQorCS5sb25nCTEwMjI2MjEzNjUKKwkubG9uZwk2Nzg4ODY0MDAKKwkubG9uZwkxMDY5ODczMTQ2CisJLmxvbmcJNDAwMTAxMTg4NworCS5sb25nCTEwMjIwNDI2NDYKKwkubG9uZwk5MjE1OTQxMTIKKwkubG9uZwkxMDY5ODg5NzU1CisJLmxvbmcJNTU3ODExOTY4CisJLmxvbmcJMTAyMzA2NTUzMworCS5sb25nCTMzMzE2Njg5OTIKKwkubG9uZwkxMDY5OTA2MzY5CisJLmxvbmcJMTg3NzA2MDY3OQorCS5sb25nCTEwMjI0MTk3NDIKKwkubG9uZwkzOTE3ODc1MjAwCisJLmxvbmcJMTA2OTkyMjk4OQorCS5sb25nCTExODEwNTUxNzEKKwkubG9uZwkxMDIyNzUyNzEyCisJLmxvbmcJMjk4NDgyOTY5NgorCS5sb25nCTEwNjk5Mzk2MTUKKwkubG9uZwk0Mjk0NTI2OTMyCisJLmxvbmcJMTAyMTQ5OTk4OAorCS5sb25nCTgzODA0OTAyNAorCS5sb25nCTEwNjk5NTYyNDcKKwkubG9uZwkzNjU4MDgxODc4CisJLmxvbmcJMTAyMjk1Nzk1MgorCS5sb25nCTIwNzg5MjgzODQKKwkubG9uZwkxMDY5OTcyODg0CisJLmxvbmcJODIwMzUzNzAxCisJLmxvbmcJMTAxOTM5MTEwNworCS5sb25nCTI3MTk4NTQzMzYKKwkubG9uZwkxMDY5OTg5NTI3CisJLmxvbmcJMTY0NDAyMjQ4OQorCS5sb25nCTEwMjMzNzgyNDAKKwkubG9uZwkzMDY5MTE3Njk2CisJLmxvbmcJMTA3MDAwNjE3NgorCS5sb25nCTI3NzEzOTM3MDIKKwkubG9uZwkxMDE5MzE5OTU0CisJLmxvbmcJMzQzNTk2MjM2OAorCS5sb25nCTEwNzAwMjI4MzEKKwkubG9uZwkzODc2Mzk0MTQ1CisJLmxvbmcJMTAyMzAyNDQzMworCS5sb25nCTQxMzA1OTUzMjgKKwkubG9uZwkxMDcwMDM5NDkyCisJLmxvbmcJMTYzMDQ0Nzc0OAorCS5sb25nCTEwMjE0NjU4ODIKKwkubG9uZwkxMTY5MjM2MjI0CisJLmxvbmcJMTA3MDA1NjE2MAorCS5sb25nCTI4MjgzNTU5OTcKKwkubG9uZwkxMDIwNDU4MTIwCisJLmxvbmcJMzQ1Mzk5NzMxMgorCS5sb25nCTEwNzAwNzI4MzMKKwkubG9uZwkxNjQwOTE2NDEKKwkubG9uZwkxMDIwMzg4Mjc5CisJLmxvbmcJMjcwODEyNzc0NAorCS5sb25nCTEwNzAwODk1MTMKKwkubG9uZwkzMDM2NTUwMjIzCisJLmxvbmcJMTAyMzMyODY4NAorCS5sb25nCTM1NDA3OTc2OTYKKwkubG9uZwkxMDcwMTA2MTk5CisJLmxvbmcJMzcxMDk0OTQ2MworCS5sb25nCTEwMjI1Njg4MDUKKwkubG9uZwkxOTcyMjc2NzM2CisJLmxvbmcJMTA3MDEyMjg5MgorCS5sb25nCTM4ODUyNzc5NTAKKwkubG9uZwkxMDE5NzYxNjc0CisJLmxvbmcJMjYxMzgxNTU1MgorCS5sb25nCTEwNzAxMzk1OTEKKwkubG9uZwkyNzY0MTY1MDc3CisJLmxvbmcJMTAyMjkyMTAyMworCS5sb25nCTE0ODc3OTE2MTYKKwkubG9uZwkxMDcwMTU2Mjk3CisJLmxvbmcJMTMzMDY0NDc2OQorCS5sb25nCTEwMjMxNjI2NzkKKwkubG9uZwkzMjA3NTkzNDcyCisJLmxvbmcJMTA3MDE3MzAwOQorCS5sb25nCTM5MTEwMDcyMjEKKwkubG9uZwkxMDIyOTkzNDk2CisJLmxvbmcJMzc5Nzc2NDYwOAorCS5sb25nCTEwNzAxODk3MjgKKwkubG9uZwk5Nzk3MTI1OTgKKwkubG9uZwkxMDIyNTU0NTgwCisJLmxvbmcJMzU3ODkyMDQ0OAorCS5sb25nCTEwNzAyMDY0NTQKKwkubG9uZwkyODI1NzM4MjIzCisJLmxvbmcJMTAyMDIyMzcwOAorCS5sb25nCTI4NzI3OTU2NDgKKwkubG9uZwkxMDcwMjIzMTg3CisJLmxvbmcJMzkyNDUxMTI0CisJLmxvbmcJMTAyMjY2NjI3OQorCS5sb25nCTIwMDIyNTg0MzIKKwkubG9uZwkxMDcwMjM5OTI3CisJLmxvbmcJMzczMDQwNzYzMgorCS5sb25nCTEwMjMxNDgyOTEKKwkubG9uZwkxMjkxMzI2NDY0CisJLmxvbmcJMTA3MDI1NjY3NAorCS5sb25nCTM3MjM4MDI5ODAKKwkubG9uZwkxMDIyNTE0MDg5CisJLmxvbmcJMTA2NTE4MDkyOAorCS5sb25nCTEwNzAyNzM0MjgKKwkubG9uZwkyNjM1NjE3NDYzCisJLmxvbmcJMTAyMjY1NDQ3MAorCS5sb25nCTE2NTAxODE2MzIKKwkubG9uZwkxMDcwMjkwMTg5CisJLmxvbmcJMjA2MTk4Mjg4MworCS5sb25nCTEwMjI4NTM0MTEKKwkubG9uZwkzMzczODgyODgwCisJLmxvbmcJMTA3MDMwNjk1NworCS5sb25nCTMxOTczMjc4NQorCS5sb25nCTEwMjIwMTcxNzUKKwkubG9uZwkyMjcwMDgxMjgwCisJLmxvbmcJMTA3MDMyMzczMworCS5sb25nCTIyMzc3NTc0MTEKKwkubG9uZwkxMDIzMDY0MDg3CisJLmxvbmcJMjk2MzczMjczNgorCS5sb25nCTEwNzAzNDA1MTYKKwkubG9uZwk0Njg4MzkxNjUKKwkubG9uZwkxMDIzMjkzNzc0CisJLmxvbmcJMTQ5MTA5OTkwNAorCS5sb25nCTEwNzAzNTczMDcKKwkubG9uZwkxNTAyNjU3OTQ2CisJLmxvbmcJMTAyMTUzMzQ3OQorCS5sb25nCTI0Nzk2MzY0ODAKKwkubG9uZwkxMDcwMzc0MTA1CisJLmxvbmcJNDgyOTEzNTYyCisJLmxvbmcJMTAyMTk4NjI4NgorCS5sb25nCTE5NjgxMzM2MzIKKwkubG9uZwkxMDcwMzkwOTExCisJLmxvbmcJMzI4MTQ3NDMzNworCS5sb25nCTEwMjI2NDY0MDAKKwkubG9uZwkyOTE2MzkwNDAKKwkubG9uZwkxMDcwNDA3NzI1CisJLmxvbmcJMjQ1MzMyMDI1OQorCS5sb25nCTEwMjI4MTI0MjMKKwkubG9uZwkyMDgxNDcyNTEyCisJLmxvbmcJMTA3MDQyNDU0NgorCS5sb25nCTI5Mzk5ODk1NzAKKwkubG9uZwkxMDIzMDkxODg4CisJLmxvbmcJMzM4MDM0MDQ4MAorCS5sb25nCTEwNzA0NDEzNzUKKwkubG9uZwkyODUwNzA3NDk5CisJLmxvbmcJMTAyMTkyMTEwOQorCS5sb25nCTIzMjI4NzQ4OAorCS5sb25nCTEwNzA0NTgyMTMKKwkubG9uZwkzNjc0NjI1MzQyCisJLmxvbmcJMTAyMDcyNTEzMAorCS5sb25nCTE1Njc2MTQyMDgKKwkubG9uZwkxMDcwNDc1MDU4CisJLmxvbmcJOTM0NzMzNAorCS5sb25nCTEwMjIwMjQwMDkKKwkubG9uZwkzNDMzMDkxMDcyCisJLmxvbmcJMTA3MDQ5MTkxMQorCS5sb25nCTI4MjUyNDk5OQorCS5sb25nCTEwMjE0MzM1MjMKKwkubG9uZwkxODc2ODc3MzEyCisJLmxvbmcJMTA3MDUwODc3MworCS5sb25nCTM0NzA0NDk0NDAKKwkubG9uZwkxMDE5MzA5NzIxCisJLmxvbmcJMTUzODQ3MjE5MgorCS5sb25nCTEwNzA1MjU2NDMKKwkubG9uZwkyMDg5NDg2ODI1CisJLmxvbmcJMTAxOTY5ODkxNgorCS5sb25nCTI3NjM4MzA3ODQKKwkubG9uZwkxMDcwNTQyNTIxCisJLmxvbmcJNDQzNDk4MTE1CisJLmxvbmcJMTAyMDUwNTE5NAorCS5sb25nCTE2MDUzODE2MzIKKwkubG9uZwkxMDcwNTU5NDA4CisJLmxvbmcJMzAxODg3MTYwMQorCS5sb25nCTEwMjI4Njk5MTMKKwkubG9uZwkyNzA2OTQ2MDQ4CisJLmxvbmcJMTA3MDU3NjMwMworCS5sb25nCTM5MzYyNjA4OTIKKwkubG9uZwkxMDIzMTc1ODc1CisJLmxvbmcJMjEyMzg4NzM2MAorCS5sb25nCTEwNzA1OTMyMDcKKwkubG9uZwkyOTk0MjIwNjU1CisJLmxvbmcJMTAyMjgyNTk0OAorCS5sb25nCTEwNDAxNTEwNAorCS5sb25nCTEwNzA2MDMxMDgKKwkubG9uZwkzMzUwNTQ0OTMKKwkubG9uZwkxMDIzNDQxODUzCisJLmxvbmcJMjkwNDU2ODgzMgorCS5sb25nCTEwNzA2MTU4MDAKKwkubG9uZwkxNDUxMjE1NjMzCisJLmxvbmcJMTAyMzg1Mzg1NworCS5sb25nCTM0NTYxOTcxMjAKKwkubG9uZwkxMDcwNjMyNzM5CisJLmxvbmcJNDM2MzM0NzMzCisJLmxvbmcJMTAyNDAyNjQzMgorCS5sb25nCTI1MjQ1MjM1MgorCS5sb25nCTEwNzA2NDk2OTcKKwkubG9uZwkzNDU5NjE2NworCS5sb25nCTEwMjQwMzEzOTYKKwkubG9uZwkzMzI4MDE4NDMyCisJLmxvbmcJMTA3MDY2NjY3MgorCS5sb25nCTI2NDQ1NDcwNzMKKwkubG9uZwkxMDI0Mjk2NzU4CisJLmxvbmcJMTI1NTgyOTI0OAorCS5sb25nCTEwNzA2ODM2NjcKKwkubG9uZwk1NTI4MzI1ODYKKwkubG9uZwkxMDIzNzYzMTIyCisJLmxvbmcJNDA5NzA1ODU2MAorCS5sb25nCTEwNzA3MDA2ODAKKwkubG9uZwkxOTU1NjQwNjIzCisJLmxvbmcJMTAyMTM5NDY1NAorCS5sb25nCTQ1MTc3MDExMgorCS5sb25nCTEwNzA3MTc3MTQKKwkubG9uZwkzNDI4OTAzNzc3CisJLmxvbmcJMTAyMjk0MTE0MgorCS5sb25nCTQwODkyMDgzMgorCS5sb25nCTEwNzA3MzQ3NjcKKwkubG9uZwkxNjU1MDMyNjMKKwkubG9uZwkxMDIzODk0OTU4CisJLmxvbmcJMTE4Njk2MDY0MAorCS5sb25nCTEwNzA3NTE4NDAKKwkubG9uZwk0MzU4MjY0NTAKKwkubG9uZwkxMDI0MDI2MTM0CisJLmxvbmcJMTkwNzg2NTYKKwkubG9uZwkxMDcwNzY4OTM0CisJLmxvbmcJMTgzNDE2OTc0OQorCS5sb25nCTEwMjI4OTkyODQKKwkubG9uZwkyNzQzNDkwMzA0CisJLmxvbmcJMTA3MDc4NjA0OAorCS5sb25nCTQ5NDU4MTA3NAorCS5sb25nCTEwMTg4MTg0NzkKKwkubG9uZwkyMzI4OTYxMDI0CisJLmxvbmcJMTA3MDgwMzE4NAorCS5sb25nCTI5ODc5MDg4MzQKKwkubG9uZwkxMDIyNTgxMTEwCisJLmxvbmcJMzUwMDExMzkyCisJLmxvbmcJMTA3MDgyMDM0MgorCS5sb25nCTI0MDc3MTE4NAorCS5sb25nCTEwMjQxNDMwODMKKwkubG9uZwkyNjkyMzI2OTEyCisJLmxvbmcJMTA3MDgzNzUyMQorCS5sb25nCTY2NjA1NjgzNworCS5sb25nCTEwMjIzOTQ3NzYKKwkubG9uZwkyMzczMjc0MzY4CisJLmxvbmcJMTA3MDg1NDcyMworCS5sb25nCTI0ODQzMzc3NzAKKwkubG9uZwkxMDI0MjI4MTU2CisJLmxvbmcJMTAxNzEzMTUyMAorCS5sb25nCTEwNzA4NzE5NDgKKwkubG9uZwkzMjg1NjQ4Mjc5CisJLmxvbmcJMTAyNDAyNTc4OQorCS5sb25nCTI2NTU1ODI3MgorCS5sb25nCTEwNzA4ODkxOTYKKwkubG9uZwkzOTIyNDE4OTYKKwkubG9uZwkxMDI0MjUyODA5CisJLmxvbmcJMTc3ODAwODA2NAorCS5sb25nCTEwNzA5MDY0NjcKKwkubG9uZwkxNTM2MTA3OTQzCisJLmxvbmcJMTAyMzk0OTMwMAorCS5sb25nCTI5MzcxODQ3NjgKKwkubG9uZwkxMDcwOTIzNzYyCisJLmxvbmcJMzU0MTA2MjI1MQorCS5sb25nCTEwMTk0NDg2NDYKKwkubG9uZwkxMTQ0NDQyODgwCisJLmxvbmcJMTA3MDk0MTA4MgorCS5sb25nCTM2OTE2ODM3ODEKKwkubG9uZwkxMDIyMTIzOTQ4CisJLmxvbmcJMjQxMDE2NTUwNAorCS5sb25nCTEwNzA5NTg0MjYKKwkubG9uZwkxODA0MTgxOTYwCisJLmxvbmcJMTAyMzk0NTIyMQorCS5sb25nCTQxNzQzNTA4NDgKKwkubG9uZwkxMDcwOTc1Nzk1CisJLmxvbmcJMjAxNjA5NDg2MQorCS5sb25nCTEwMjE3MTY1ODUKKwkubG9uZwkzODk3MDEyNDgwCisJLmxvbmcJMTA3MDk5MzE5MAorCS5sb25nCTE3NTI5NDQxMAorCS5sb25nCTEwMjM3MDM0MDQKKwkubG9uZwkzMzUzNjIzMDQwCisJLmxvbmcJMTA3MTAxMDYxMQorCS5sb25nCTE2Nzk3MzI0MgorCS5sb25nCTEwMjMyNDA4MzkKKwkubG9uZwk0NTY3MTE2OAorCS5sb25nCTEwNzEwMjgwNTkKKwkubG9uZwkyMTY2ODU2MTEzCisJLmxvbmcJMTAyMTU2NTQxMworCS5sb25nCTg2MDYzODcyCisJLmxvbmcJMTA3MTA0NTUzMworCS5sb25nCTI2NzYyNTQ3MjcKKwkubG9uZwkxMDIzOTg1Mjk5CisJLmxvbmcJMTAxOTc3MjY3MgorCS5sb25nCTEwNzEwNjMwMzQKKwkubG9uZwk5ODkwNDM1OTMKKwkubG9uZwkxMDIxNTQ5NTg3CisJLmxvbmcJNDE0Mjk3MzQ0CisJLmxvbmcJMTA3MTA4MDU2MworCS5sb25nCTM5NjA5NzIwNDYKKwkubG9uZwkxMDI0MzA3MjUxCisJLmxvbmcJMTU1MTczMTIwCisJLmxvbmcJMTA3MTA5ODEyMAorCS5sb25nCTE4MzA5MTkyOTEKKwkubG9uZwkxMDIxNTkyMjUxCisJLmxvbmcJMjE1MTU2MjI0MAorCS5sb25nCTEwNzExMTU3MDUKKwkubG9uZwk0MDU0MDg2NjYKKwkubG9uZwkxMDIzNDIzMTI4CisJLmxvbmcJNDA0MTg1NDcyMAorCS5sb25nCTEwNzExMzMzMTkKKwkubG9uZwkyMDQzNDk3ODI3CisJLmxvbmcJMTAyNDQxMTUwMworCS5sb25nCTM0ODkyMjQxOTIKKwkubG9uZwkxMDcxMTUwOTYzCisJLmxvbmcJMzA3MjIxNTg2NAorCS5sb25nCTEwMjI2OTg2MzUKKwkubG9uZwkyNDc3MTk2Mjg4CisJLmxvbmcJMTA3MTE2ODYzNworCS5sb25nCTE4MTIxOTUxMzkKKwkubG9uZwkxMDIyNjg5MTkyCisJLmxvbmcJMzAxNTI5ODgxNgorCS5sb25nCTEwNzExODYzNDEKKwkubG9uZwk3NjQ4NDE5NjkKKwkubG9uZwkxMDIxMDI3MzMxCisJLmxvbmcJMjg0NDczMTEzNgorCS5sb25nCTEwNzEyMDQwNzYKKwkubG9uZwkyODc4MTE3MzIxCisJLmxvbmcJMTAxOTExNjUxMworCS5sb25nCTQwMjg5NTA1MjgKKwkubG9uZwkxMDcxMjIxODQyCisJLmxvbmcJNjk4OTExNDUyCisJLmxvbmcJMTAyMzI2NTYwMgorCS5sb25nCTY5NDQxNTM2CisJLmxvbmcJMTA3MTIzOTY0MQorCS5sb25nCTMyNTM0Njc4NDcKKwkubG9uZwkxMDIwNzk1MDc1CisJLmxvbmcJMTY3NjIwOTkyMAorCS5sb25nCTEwNzEyNTc0NzEKKwkubG9uZwk0MjcyNDMxMTY3CisJLmxvbmcJMTAyMjg3Mzk4MgorCS5sb25nCTI0MDg3NTIzODQKKwkubG9uZwkxMDcxMjc1MzM0CisJLmxvbmcJNjQ4NTE5MTAwCisJLmxvbmcJMTAyNDM4NTcxNworCS5sb25nCTE1MTYyMzY4MAorCS5sb25nCTEwNzEyOTMyMzEKKwkubG9uZwkzNDUyNTcwMTcKKwkubG9uZwkxMDE5NTYxNDA4CisJLmxvbmcJMTQxMDE1NDI0MAorCS5sb25nCTEwNzEzMTExNjEKKwkubG9uZwkxOTc4NjM5OTMKKwkubG9uZwkxMDIzMjI0MjA3CisJLmxvbmcJNDEzMTM1MTU1MgorCS5sb25nCTEwNzEzMjkxMjUKKwkubG9uZwkyNjIwODAxNzg5CisJLmxvbmcJMTAyNDQxMTE2OQorCS5sb25nCTE5OTk2NjQzODQKKwkubG9uZwkxMDcxMzQ3MTI1CisJLmxvbmcJMzk1MjY5MjYxNgorCS5sb25nCTEwMjQxNjgwODYKKwkubG9uZwkxNjE3NjY4ODY0CisJLmxvbmcJMTA3MTM2NTE2MAorCS5sb25nCTMwMTk4ODk4MDkKKwkubG9uZwkxMDIxOTA3NjkyCisJLmxvbmcJMTAzMjA3NDI0MAorCS5sb25nCTEwNzEzODMyMzEKKwkubG9uZwk1OTQ2OTg5OQorCS5sb25nCTEwMjM2NTYxOTQKKwkubG9uZwkyNjE5NDkyMDk2CisJLmxvbmcJMTA3MTQwMTMzOAorCS5sb25nCTE0MTc1MjY4MjAKKwkubG9uZwkxMDIxNDU3NzgzCisJLmxvbmcJMjAyNDI5NDQwCisJLmxvbmcJMTA3MTQxOTQ4MworCS5sb25nCTI5Mjc2Njc5MzUKKwkubG9uZwkxMDE5MTc1NDQ3CisJLmxvbmcJNTI1MDQ0MjI0CisJLmxvbmcJMTA3MTQzNzY2NQorCS5sb25nCTM4MTY2ODExCisJLmxvbmcJMTAyMzk4MTg3OQorCS5sb25nCTE3NzkyNTg4ODAKKwkubG9uZwkxMDcxNDU1ODg1CisJLmxvbmcJNDgxMjUyNTAwCisJLmxvbmcJMTAyMzMxMDIzNAorCS5sb25nCTIxOTU2NzM2MDAKKwkubG9uZwkxMDcxNDc0MTQ0CisJLmxvbmcJMzk2MjM5NTk4MQorCS5sb25nCTEwMjEzMzkwODgKKwkubG9uZwk0NDU3MzY5NgorCS5sb25nCTEwNzE0OTI0NDMKKwkubG9uZwkzOTM2MjgxMzk1CisJLmxvbmcJMTAyMzAxNDgyOQorCS5sb25nCTIyMjY5MDUzNDQKKwkubG9uZwkxMDcxNTEwNzgxCisJLmxvbmcJMTUxNTMyMDQ3NgorCS5sb25nCTEwMjQzMjA2MjMKKwkubG9uZwkyODAwNTEyNTEyCisJLmxvbmcJMTA3MTUyOTE2MAorCS5sb25nCTEyMjU0MDM2OTcKKwkubG9uZwkxMDIxMDgxODQ2CisJLmxvbmcJMTYxMTEzNjAwCisJLmxvbmcJMTA3MTU0NzU4MQorCS5sb25nCTMwNjQ4MDk3MzMKKwkubG9uZwkxMDI0MTczOTE3CisJLmxvbmcJMTMzODQxMDI0MAorCS5sb25nCTEwNzE1NjYwNDMKKwkubG9uZwkyMDI3NjA0OTczCisJLmxvbmcJMTAyNDM2MjUyNgorCS5sb25nCTUyMjQzMzI4MAorCS5sb25nCTEwNzE1ODQ1NDgKKwkubG9uZwkyMDU1MTcxNzIzCisJLmxvbmcJMTAyMzg1ODgyNQorCS5sb25nCTUzOTU5NTc3NgorCS5sb25nCTEwNzE2MDMwOTYKKwkubG9uZwkzODY4ODIwMTM1CisJLmxvbmcJMTAyMjkzNjQyNAorCS5sb25nCTQyNjQwMTc2NjQKKwkubG9uZwkxMDcxNjIxNjg3CisJLmxvbmcJMzIyODA2NTE0NQorCS5sb25nCTEwMjM0Nzk1NzgKKwkubG9uZwkxNzMzOTI0MDk2CisJLmxvbmcJMTA3MTY0MDMyNAorCS5sb25nCTM1MTE5MzQ0NzUKKwkubG9uZwkxMDIyNDk2MzU1CisJLmxvbmcJMTA4ODgwMzg0CisJLmxvbmcJMTA3MTY1MTgzOQorCS5sb25nCTYxNTg4MDk2NworCS5sb25nCTEwMjM1MTk3MDYKKwkubG9uZwkzNTE3ODU2NTEyCisJLmxvbmcJMTA3MTY2MTIwMgorCS5sb25nCTMxMTMxMDg1NTkKKwkubG9uZwkxMDI1MTkwMjg5CisJLmxvbmcJNDA0MzE1MzE1MgorCS5sb25nCTEwNzE2NzA1ODkKKwkubG9uZwkxNTcxODM2MjE4CisJLmxvbmcJMTAyMzEwNjExNgorCS5sb25nCTMyNTEyOTkwNzIKKwkubG9uZwkxMDcxNjgwMDAwCisJLmxvbmcJMzQ0NDA3NjEwMgorCS5sb25nCTEwMjIxODc4NDEKKwkubG9uZwkyNzM2OTIxNjAwCisJLmxvbmcJMTA3MTY4OTQzNQorCS5sb25nCTI3Mjc3MTQ4MworCS5sb25nCTEwMjUwOTUyODAKKwkubG9uZwkzODk3Njk4NTYwCisJLmxvbmcJMTA3MTcwMzYzMworCS5sb25nCTIwNzUzOTAxODgKKwkubG9uZwkxMDIyNDg5MDIyCisJLmxvbmcJMzIwOTQ4NTA1NgorCS5sb25nCTEwNzE3MjI2NTIKKwkubG9uZwkxNDM4MDk0MDY1CisJLmxvbmcJMTAyMTg0NDk0NAorCS5sb25nCTM3ODE0MzIwNjQKKwkubG9uZwkxMDcxNzQxNzc0CisJLmxvbmcJMTY3NTAxNzE0NQorCS5sb25nCTEwMjQxNDM4MjgKKwkubG9uZwkyNjg0MTg0MDY0CisJLmxvbmcJMTA3MTc2MTAwMworCS5sb25nCTIyNTk5NjM3NTMKKwkubG9uZwkxMDI0NzMxMzkzCisJLmxvbmcJMTg0MDQ4OTcyOAorCS5sb25nCTEwNzE3ODAzNDIKKwkubG9uZwkzMzcyODgzNTk3CisJLmxvbmcJMTAyMzQzMTQwOAorCS5sb25nCTM3NjQwODc4MDgKKwkubG9uZwkxMDcxNzk5Nzk0CisJLmxvbmcJMzMwNzUyMzEwMgorCS5sb25nCTEwMjQ0ODU3ODgKKwkubG9uZwkzMDA2MjMyMzIwCisJLmxvbmcJMTA3MTgxOTM2NAorCS5sb25nCTMwODg5NzE5NjYKKwkubG9uZwkxMDI1MjEzMjUxCisJLmxvbmcJMzM3NDg4MTI4MAorCS5sb25nCTEwNzE4MzkwNTUKKwkubG9uZwk4MzQ0Mzc3NDkKKwkubG9uZwkxMDI1MjM2NDUyCisJLmxvbmcJNzk3Mjg0ODY0CisJLmxvbmcJMTA3MTg1ODg3MgorCS5sb25nCTMxMjI2NjM5NDEKKwkubG9uZwkxMDI1MzIwNDczCisJLmxvbmcJNTQ1NzY1MTIwCisJLmxvbmcJMTA3MTg3ODgxOAorCS5sb25nCTgyNjUzOTYyNQorCS5sb25nCTEwMjI0NTA5NTUKKwkubG9uZwkxMDc1NjIyNDAKKwkubG9uZwkxMDcxODk4ODk4CisJLmxvbmcJMzM5NTg0NjAwCisJLmxvbmcJMTAyMjQ4MTI1NQorCS5sb25nCTIxMjM2NDkwMjQKKwkubG9uZwkxMDcxOTE5MTE2CisJLmxvbmcJMzkxMjk1OTgzMworCS5sb25nCTEwMjQzMjEwMDkKKwkubG9uZwkxNTYyMzg1NjY0CisJLmxvbmcJMTA3MTkzOTQ3OAorCS5sb25nCTI4NDYwNjcyMzAKKwkubG9uZwkxMDIzMzQzOTgxCisJLmxvbmcJMjk2MzA4NTgyNAorCS5sb25nCTEwNzE5NTk5ODgKKwkubG9uZwk5NTQ1NDg2MjcKKwkubG9uZwkxMDIxNDc1MjExCisJLmxvbmcJMzMyNTU1MDU5MgorCS5sb25nCTEwNzE5ODA2NTIKKwkubG9uZwkzNDU5NjUxMTU1CisJLmxvbmcJMTAyNTMwNTU3MworCS5sb25nCTc3NTc1MjQ0OAorCS5sb25nCTEwNzIwMDE0NzYKKwkubG9uZwkzNTgyNzQ2NjY3CisJLmxvbmcJMTAyMzg1OTQ2MAorCS5sb25nCTMyMzg1OTA3MjAKKwkubG9uZwkxMDcyMDIyNDY0CisJLmxvbmcJNjM0NjM2MTYyCisJLmxvbmcJMTAyNDQ3MjM1MworCS5sb25nCTI3NTg4MDE5MjAKKwkubG9uZwkxMDcyMDQzNjI0CisJLmxvbmcJMzA3ODIxNjMxOQorCS5sb25nCTEwMjUzMDQ1MTYKKwkubG9uZwkxMzcwMzE5MTA0CisJLmxvbmcJMTA3MjA2NDk2MgorCS5sb25nCTI1NzA1NjkwNzgKKwkubG9uZwkxMDI1MDk5NDQyCisJLmxvbmcJMjYxNTgwNTE4NAorCS5sb25nCTEwNzIwODY0ODQKKwkubG9uZwkzNzI5OTMzNDEyCisJLmxvbmcJMTAyNDYwNTExMgorCS5sb25nCTMwNzczMzY1NzYKKwkubG9uZwkxMDcyMTA4MTk4CisJLmxvbmcJMTk0ODkxNjA2NgorCS5sb25nCTEwMjQ3ODE2MDMKKwkubG9uZwkxMDk5NTI4MTkyCisJLmxvbmcJMTA3MjEzMDExMgorCS5sb25nCTMxMzkxNDMxNTcKKwkubG9uZwkxMDIzNzI5MzYwCisJLmxvbmcJMTIzMTkwMzIzMgorCS5sb25nCTEwNzIxNTIyMzMKKwkubG9uZwkxMzQ5NTEzNDc3CisJLmxvbmcJMTAyNDczNzUxNQorCS5sb25nCTE1MDc1MDQxMjgKKwkubG9uZwkxMDcyMTc0NTcwCisJLmxvbmcJMzQ4NDUxNjMyMgorCS5sb25nCTEwMjQwMDA5NTkKKwkubG9uZwkyMjE0NjU5ODQwCisJLmxvbmcJMTA3MjE5NzEzMgorCS5sb25nCTI1NjM4MjA5MTcKKwkubG9uZwkxMDI1MjI1NTM1CisJLmxvbmcJMTgwNDczOTg0MAorCS5sb25nCTEwNzIyMTk5MjkKKwkubG9uZwk3NjAwMzg3NDYKKwkubG9uZwkxMDI0NDgyODU1CisJLmxvbmcJMTQxMzc0NjY4OAorCS5sb25nCTEwNzIyNDI5NzEKKwkubG9uZwkzNDAxNzM0NzE0CisJLmxvbmcJMTAyNTEyOTgzOAorCS5sb25nCTgyMTQwOTUzNgorCS5sb25nCTEwNzIyNjYyNjkKKwkubG9uZwkzNzI5NzcyNTUxCisJLmxvbmcJMTAyNTQ4NDc5NgorCS5sb25nCTMwMzE4MjU2NjQKKwkubG9uZwkxMDcyMjg5ODM0CisJLmxvbmcJMTIyMjU2NzQ5CisJLmxvbmcJMTAyNDc1MjU5NAorCS5sb25nCTE3MTA3ODQyNTYKKwkubG9uZwkxMDcyMzEzNjgwCisJLmxvbmcJMTUxODIwNTQ4MworCS5sb25nCTEwMjQ3MjQ4MDkKKwkubG9uZwkzMDI1MjY1MTUyCisJLmxvbmcJMTA3MjMzNzgxOQorCS5sb25nCTQwOTk1MTk4OQorCS5sb25nCTEwMjI4MzU1NTUKKwkubG9uZwkyODc3NjkwODgKKwkubG9uZwkxMDcyMzYyMjY3CisJLmxvbmcJODAwMzU1NTk0CisJLmxvbmcJMTAyMjQ4NDg1MAorCS5sb25nCTE5ODE3OTg0MAorCS5sb25nCTEwNzIzODcwMzgKKwkubG9uZwkzNTAyOTI2MjEzCisJLmxvbmcJMTAyNDIwOTM3MworCS5sb25nCTE5MDkxMzA0OTYKKwkubG9uZwkxMDcyNDEyMTQ5CisJLmxvbmcJMzA2NDY5NDMxOQorCS5sb25nCTEwMjUzODA4MjMKKwkubG9uZwkxOTQxNzMyMDk2CisJLmxvbmcJMTA3MjQzNzYxOQorCS5sb25nCTQxMTI5MzAzOTAKKwkubG9uZwkxMDI0Mjk0Njc5CisJLmxvbmcJMzQ5MjAxMDQ5NgorCS5sb25nCTEwNzI0NjM0NjcKKwkubG9uZwkyNjg0OTE4MTA3CisJLmxvbmcJMTAyMzIyMDIzMworCS5sb25nCTgxOTU5NjgwCisJLmxvbmcJMTA3MjQ4OTcxNgorCS5sb25nCTIyMDAyMTM2NgorCS5sb25nCTEwMjA2MzUxMzEKKwkubG9uZwkyMjk3ODM3MDU2CisJLmxvbmcJMTA3MjUxNjM4NworCS5sb25nCTQwMjc2ODM4MjYKKwkubG9uZwkxMDIxMDQxMTg1CisJLmxvbmcJMjcwNDA0MDk2CisJLmxvbmcJMTA3MjU0MzUwOAorCS5sb25nCTIwMTI3NjYwNjUKKwkubG9uZwkxMDIxNzgwNzUzCisJLmxvbmcJMzY2NzM3Njg5NgorCS5sb25nCTEwNzI1NzExMDUKKwkubG9uZwkyNzI3OTgxNTIyCisJLmxvbmcJMTAyMzAwOTg3NAorCS5sb25nCTMzMDQwMDI1NgorCS5sb25nCTEwNzI1OTkyMTIKKwkubG9uZwkyOTQwMDE3MDAzCisJLmxvbmcJMTAyNTM5MzQzOQorCS5sb25nCTExMTkyOTM5NTIKKwkubG9uZwkxMDcyNjI3ODYxCisJLmxvbmcJMTYwODU1MDQxNgorCS5sb25nCTEwMjI2NzU2MTIKKwkubG9uZwkzNTM2MTU1OTA0CisJLmxvbmcJMTA3MjY1NzA5MQorCS5sb25nCTM0OTY2NTc3OAorCS5sb25nCTEwMjUxNTY3NTEKKwkubG9uZwkzMDc4MDQ2NzIwCisJLmxvbmcJMTA3MjY4Njk0NgorCS5sb25nCTIwMTYxNTk5OTYKKwkubG9uZwkxMDIyMTkzMTY5CisJLmxvbmcJNDU1MjI4NDE2CisJLmxvbmcJMTA3MjcwNTM2MQorCS5sb25nCTE5MDg1MzkzMjgKKwkubG9uZwkxMDI2MTI2MzMyCisJLmxvbmcJMTg3MTUwNTY2NAorCS5sb25nCTEwNzI3MjA5ODgKKwkubG9uZwkyNzg0NzAwODk0CisJLmxvbmcJMTAyNTkyMjI3NworCS5sb25nCTE2MzA5OTQ0MzIKKwkubG9uZwkxMDcyNzM3MDEwCisJLmxvbmcJMzYxMTA3Njc4CisJLmxvbmcJMTAyMjg4NzI0NAorCS5sb25nCTIwODQ1NTgzMzYKKwkubG9uZwkxMDcyNzUzNDYyCisJLmxvbmcJMjY0Mjc4NDUwOQorCS5sb25nCTEwNzI2ODkwODMKKwkubG9uZwkxNTE0NDQyNTMxCisJLmxvbmcJMTA3MjY4ODk1MworCS5sb25nCTMzMzEwODkzMworCS5sb25nCTEwNzI2ODg4MjEKKwkubG9uZwkzMzkyMTEyMDI0CisJLmxvbmcJMTA3MjY4ODY4NgorCS5sb25nCTIwOTk4NTI4NjIKKwkubG9uZwkxMDcyNjg4NTUwCisJLmxvbmcJNzQ5NjA5MDA0CisJLmxvbmcJMTA3MjY4ODQxMgorCS5sb25nCTM2MzQ2MzI1OTYKKwkubG9uZwkxMDcyNjg4MjcxCisJLmxvbmcJMjE2MzI0ODQ2MQorCS5sb25nCTEwNzI2ODgxMjkKKwkubG9uZwk2Mjg2NTc4NDYKKwkubG9uZwkxMDcyNjg3OTg1CisJLmxvbmcJMzMyNDAzNjUxMQorCS5sb25nCTEwNzI2ODc4MzgKKwkubG9uZwkxNjU3NjMyODE1CisJLmxvbmcJMTA3MjY4NzY5MAorCS5sb25nCTQyMTc1Mzg3NjAKKwkubG9uZwkxMDcyNjg3NTM5CisJLmxvbmcJMjQxMTk1MTU5NworCS5sb25nCTEwNzI2ODczODcKKwkubG9uZwk1MzM5NDQ4NzIKKwkubG9uZwkxMDcyNjg3MjMzCisJLmxvbmcJMjg3NjU2NjUwOAorCS5sb25nCTEwNzI2ODcwNzYKKwkubG9uZwk4NDc5MzY4OTEKKwkubG9uZwkxMDcyNjg2OTE4CisJLmxvbmcJMzAzNjAxOTkxMworCS5sb25nCTEwNzI2ODY3NTcKKwkubG9uZwk4NDg4ODQ1NzUKKwkubG9uZwkxMDcyNjg2NTk1CisJLmxvbmcJMjg3NDQ0MzMyNgorCS5sb25nCTEwNzI2ODY0MzAKKwkubG9uZwk1MjA3MTM2NjYKKwkubG9uZwkxMDcyNjg2MjY0CisJLmxvbmcJMjM3NTU1NjQ4MQorCS5sb25nCTEwNzI2ODYwOTUKKwkubG9uZwk0MTQxOTA0OTQ4CisJLmxvbmcJMTA3MjY4NTkyNAorCS5sb25nCTE1MjI2NjYzODIKKwkubG9uZwkxMDcyNjg1NzUyCisJLmxvbmcJMzEwNTYyNDEwNAorCS5sb25nCTEwNzI2ODU1NzcKKwkubG9uZwkyOTg2NjYzMjcKKwkubG9uZwkxMDcyNjg1NDAxCisJLmxvbmcJMTY4OTUyNDUwMAorCS5sb25nCTEwNzI2ODUyMjIKKwkubG9uZwkyOTgxMDAyMjAwCisJLmxvbmcJMTA3MjY4NTA0MQorCS5sb25nCTQxNzA4NDQyODQKKwkubG9uZwkxMDcyNjg0ODU4CisJLmxvbmcJOTYxODAyMjYzCisJLmxvbmcJMTA3MjY4NDY3NAorCS5sb25nCTE5NDE1MDM0NTQKKwkubG9uZwkxMDcyNjg0NDg3CisJLmxvbmcJMjgxMjY0NzE3MAorCS5sb25nCTEwNzI2ODQyOTgKKwkubG9uZwkzNTcyODczODY5CisJLmxvbmcJMTA3MjY4NDEwNworCS5sb25nCTQyMTk3OTc4MjMKKwkubG9uZwkxMDcyNjgzOTE0CisJLmxvbmcJNDU2MDM5Nzg4CisJLmxvbmcJMTA3MjY4MzcyMAorCS5sb25nCTg2OTA5NjE1MQorCS5sb25nCTEwNzI2ODM1MjMKKwkubG9uZwkxMTYxNTM1MTE5CisJLmxvbmcJMTA3MjY4MzMyNAorCS5sb25nCTEzMzA4NjU4NjYKKwkubG9uZwkxMDcyNjgzMTIzCisJLmxvbmcJMTM3NDU3MTIwNAorCS5sb25nCTEwNzI2ODI5MjAKKwkubG9uZwkxMjkwMTA3NTM4CisJLmxvbmcJMTA3MjY4MjcxNQorCS5sb25nCTEwNzQ5MDQ4MzYKKwkubG9uZwkxMDcyNjgyNTA4CisJLmxvbmcJNzI2MzY2NTg3CisJLmxvbmcJMTA3MjY4MjI5OQorCS5sb25nCTI0MTg2OTc2MworCS5sb25nCTEwNzI2ODIwODgKKwkubG9uZwkzOTEzNzMyMDc5CisJLmxvbmcJMTA3MjY4MTg3NAorCS5sb25nCTMxNDkzNDI3NjUKKwkubG9uZwkxMDcyNjgxNjU5CisJLmxvbmcJMjI0MDk2NjMwNgorCS5sb25nCTEwNzI2ODE0NDIKKwkubG9uZwkxMTg1ODczMjE2CisJLmxvbmcJMTA3MjY4MTIyMworCS5sb25nCTQyNzYyNzQ1OTEKKwkubG9uZwkxMDcyNjgxMDAxCisJLmxvbmcJMjkxOTQ1Mjg4MworCS5sb25nCTEwNzI2ODA3NzgKKwkubG9uZwkxNDA3NTY1NjM1CisJLmxvbmcJMTA3MjY4MDU1MworCS5sb25nCTQwMzI3NDM1NTEKKwkubG9uZwkxMDcyNjgwMzI1CisJLmxvbmcJMjIwMjE4ODU2NQorCS5sb25nCTEwNzI2ODAwOTYKKwkubG9uZwkyMDc5Nzc1NzcKKwkubG9uZwkxMDcyNjc5ODY1CisJLmxvbmcJMjM0MjE2MDUxOAorCS5sb25nCTEwNzI2Nzk2MzEKKwkubG9uZwkxMTg1ODQyMworCS5sb25nCTEwNzI2NzkzOTYKKwkubG9uZwkxODA0MDM0NDUzCisJLmxvbmcJMTA3MjY3OTE1OAorCS5sb25nCTM0MjA3MjI3ODcKKwkubG9uZwkxMDcyNjc4OTE4CisJLmxvbmcJNTYzOTMwNDU2CisJLmxvbmcJMTA3MjY3ODY3NworCS5sb25nCTE4MjA1MzkxOTIKKwkubG9uZwkxMDcyNjc4NDMzCisJLmxvbmcJMjg5MjUwMTYwNgorCS5sb25nCTEwNzI2NzgxODcKKwkubG9uZwkzNzc2NzEwMzIwCisJLmxvbmcJMTA3MjY3NzkzOQorCS5sb25nCTE3NTA2MzMzNworCS5sb25nCTEwNzI2Nzc2OTAKKwkubG9uZwk2NzQzMzMxNzEKKwkubG9uZwkxMDcyNjc3NDM4CisJLmxvbmcJOTc2MzYzMDI2CisJLmxvbmcJMTA3MjY3NzE4NAorCS5sb25nCTEwNzc5MzU5MzQKKwkubG9uZwkxMDcyNjc2OTI4CisJLmxvbmcJMTkyMTA3NTQ5MAorCS5sb25nCTEwNzI2NzY1NDAKKwkubG9uZwk4ODE0OTMzMDIKKwkubG9uZwkxMDcyNjc2MDE2CisJLmxvbmcJMzI3NTc1MjQzOQorCS5sb25nCTEwNzI2NzU0ODMKKwkubG9uZwk0ODY4NTU1ODgKKwkubG9uZwkxMDcyNjc0OTQzCisJLmxvbmcJMTA3NzIyOTExMQorCS5sb25nCTEwNzI2NzQzOTQKKwkubG9uZwk3MjM5NTAzMDgKKwkubG9uZwkxMDcyNjczODM3CisJLmxvbmcJMzY5MzU4MjE5OQorCS5sb25nCTEwNzI2NzMyNzEKKwkubG9uZwkxMzY3MzM1MzE2CisJLmxvbmcJMTA3MjY3MjY5OAorCS5sb25nCTIzMDU4MzcwMjAKKwkubG9uZwkxMDcyNjcyMTE2CisJLmxvbmcJMjE4NDM1ODY0MQorCS5sb25nCTEwNzI2NzE1MjYKKwkubG9uZwk5NzI2ODI4NDAKKwkubG9uZwkxMDcyNjcwOTI4CisJLmxvbmcJMjkzNTEwMTc2MgorCS5sb25nCTEwNzI2NzAzMjEKKwkubG9uZwkzNzQ1NTEzMjYzCisJLmxvbmcJMTA3MjY2OTcwNgorCS5sb25nCTMzNzIzMjA4ODYKKwkubG9uZwkxMDcyNjY5MDgzCisJLmxvbmcJMTc4MzQ2NDYyMAorCS5sb25nCTEwNzI2Njg0NTIKKwkubG9uZwkzMjQxMzg2MjE1CisJLmxvbmcJMTA3MjY2NzgxMgorCS5sb25nCTM0MTgxMjUyODQKKwkubG9uZwkxMDcyNjY3MTY0CisJLmxvbmcJMjI4MDIxOTE0OAorCS5sb25nCTEwNzI2NjY1MDgKKwkubG9uZwk0MDg4NzAwNzU4CisJLmxvbmcJMTA3MjY2NTg0MworCS5sb25nCTIxOTIyNzQwMAorCS5sb25nCTEwNzI2NjUxNzEKKwkubG9uZwkzNTIxODE2OTE4CisJLmxvbmcJMTA3MjY2NDQ4OQorCS5sb25nCTEwNzYyMDUyNzkKKwkubG9uZwkxMDcyNjYzODAwCisJLmxvbmcJMTQzNjQ4NDYxNgorCS5sb25nCTEwNzI2NjMxMDIKKwkubG9uZwkyNzEzNjI2MTAKKwkubG9uZwkxMDcyNjYyMzk2CisJLmxvbmcJMTgzODk5NjY4OAorCS5sb25nCTEwNzI2NjE2ODEKKwkubG9uZwkxODA3MTIyNTE4CisJLmxvbmcJMTA3MjY2MDk1OAorCS5sb25nCTEzNzk1MzU0MgorCS5sb25nCTEwNzI2NjAyMjcKKwkubG9uZwkxMDg4MTc4NTg0CisJLmxvbmcJMTA3MjY1OTQ4NworCS5sb25nCTMyNDA1NzUzNworCS5sb25nCTEwNzI2NTg3MzkKKwkubG9uZwkyMTAxMjg4MDc2CisJLmxvbmcJMTA3MjY1Nzk4MgorCS5sb25nCTIwODUxMzM5NzQKKwkubG9uZwkxMDcyNjU3MjE3CisJLmxvbmcJMjM1MzI0NDUxCisJLmxvbmcJMTA3MjY1NjQ0NAorCS5sb25nCTgwNjA1MTU5MgorCS5sb25nCTEwNzI2NTU2NjIKKwkubG9uZwkzNzU2MDMzMTQwCisJLmxvbmcJMTA3MjY1NDg3MQorCS5sb25nCTQ1MzU0MjU0MworCS5sb25nCTEwNzI2NTQwNzMKKwkubG9uZwkzNzQxMTc3MzI3CisJLmxvbmcJMTA3MjY1MzI2NQorCS5sb25nCTY5MTIxNjEwOQorCS5sb25nCTEwNzI2NTI0NTAKKwkubG9uZwk0MTQ1MjIzMzcyCisJLmxvbmcJMTA3MjY1MTYyNQorCS5sb25nCTExNzQ0MzkwOTEKKwkubG9uZwkxMDcyNjUwNzkzCisJLmxvbmcJMzI0NDE2MTM5CisJLmxvbmcJMTA3MjY0OTk1MgorCS5sb25nCTE1NTAyNDYzMTAKKwkubG9uZwkxMDcyNjQ5MTAyCisJLmxvbmcJNTExNTI0Njc0CisJLmxvbmcJMTA3MjY0ODI0NAorCS5sb25nCTE0NTcyNDg0ODIKKwkubG9uZwkxMDcyNjQ3Mzc3CisJLmxvbmcJNDU5NDQ5NTUKKwkubG9uZwkxMDcyNjQ2NTAyCisJLmxvbmcJNTI1NTM3Mzk3CisJLmxvbmcJMTA3MjY0NTYxOAorCS5sb25nCTI4NDg0NDAxODgKKwkubG9uZwkxMDcyNjQ0NzI1CisJLmxvbmcJMjY3MTU1NTYzMworCS5sb25nCTEwNzI2NDM4MjQKKwkubG9uZwk0MjQxMTcyNjM3CisJLmxvbmcJMTA3MjY0MjkxNAorCS5sb25nCTMyMTMwOTQyNzgKKwkubG9uZwkxMDcyNjQxOTk2CisJLmxvbmcJMzgzMjUwMzY4OAorCS5sb25nCTEwNzI2NDEwNjkKKwkubG9uZwkxNzU0MDkxNTM0CisJLmxvbmcJMTA3MjY0MDEzNAorCS5sb25nCTEyMjE5MjE4MDQKKwkubG9uZwkxMDcyNjM5MTkwCisJLmxvbmcJMjE4NDUyNjQ4OQorCS5sb25nCTEwNzI2MzgyMzcKKwkubG9uZwkyOTQ5MDIwODkKKwkubG9uZwkxMDcyNjM3Mjc2CisJLmxvbmcJNDA5MDM3NTI3MAorCS5sb25nCTEwNzI2MzYzMDUKKwkubG9uZwk2MzI4NjA5MDYKKwkubG9uZwkxMDcyNjM1MzI3CisJLmxvbmcJMjc1MzQ5ODcwMgorCS5sb25nCTEwNzI2MzQzMzkKKwkubG9uZwkxODA4MDA5MjUyCisJLmxvbmcJMTA3MjYzMzM0MworCS5sb25nCTIwMzY0Mjg2NzIKKwkubG9uZwkxMDcyNjMyMzM4CisJLmxvbmcJMzM4MzIzNTYyNgorCS5sb25nCTEwNzI2MzEzMjQKKwkubG9uZwkxNDk3MzQ3NDg0CisJLmxvbmcJMTA3MjYzMDMwMgorCS5sb25nCTYxNzAxODMxNworCS5sb25nCTEwNzI2MjkyNzEKKwkubG9uZwk2ODQ5MzMwNTgKKwkubG9uZwkxMDcyNjI4MjMxCisJLmxvbmcJMTY0MzE3MDc5OAorCS5sb25nCTEwNzI2MjcxODIKKwkubG9uZwkzMDExMDY2MzYwCisJLmxvbmcJMTA3MjYyNTU5MgorCS5sb25nCTk1NzE1ODcxMworCS5sb25nCTEwNzI2MjM0NDIKKwkubG9uZwkxMzkwOTA3OTQxCisJLmxvbmcJMTA3MjYyMTI1NgorCS5sb25nCTM4MTkxNTUyNzAKKwkubG9uZwkxMDcyNjE5MDM0CisJLmxvbmcJMzQ0MzU3MTE5NgorCS5sb25nCTEwNzI2MTY3NzcKKwkubG9uZwk0MDQ1NDEyNDU4CisJLmxvbmcJMTA3MjYxNDQ4NAorCS5sb25nCTgwNTUwMzkyMworCS5sb25nCTEwNzI2MTIxNTYKKwkubG9uZwkxNzc4OTIyMDE1CisJLmxvbmcJMTA3MjYwOTc5MQorCS5sb25nCTIxMjUwMzM2NjUKKwkubG9uZwkxMDcyNjA3MzkwCisJLmxvbmcJMTI4NzIwMzg2MworCS5sb25nCTEwNzI2MDQ5NTMKKwkubG9uZwkyOTkyNjI5NTY4CisJLmxvbmcJMTA3MjYwMjQ3OQorCS5sb25nCTIzNjcyNjcxMjcKKwkubG9uZwkxMDcyNTk5OTY5CisJLmxvbmcJMzExNTUyNjA0NworCS5sb25nCTEwNzI1OTc0MjIKKwkubG9uZwkzNDAyMTk1MzkKKwkubG9uZwkxMDcyNTk0ODM5CisJLmxvbmcJMjAxNzIxNTcxOQorCS5sb25nCTEwNzI1OTIyMTgKKwkubG9uZwkzMjI1NDQzNDI0CisJLmxvbmcJMTA3MjU4OTU2MAorCS5sb25nCTMzMjY1NjU2NzMKKwkubG9uZwkxMDcyNTg2ODY1CisJLmxvbmcJMTY2OTgxMTIxMQorCS5sb25nCTEwNzI1ODQxMzMKKwkubG9uZwkxODg2NzM1MDIyCisJLmxvbmcJMTA3MjU4MTM2MworCS5sb25nCTMzMDEwNzExNzEKKwkubG9uZwkxMDcyNTc4NTU1CisJLmxvbmcJOTI4NTE0MjgzCisJLmxvbmcJMTA3MjU3NTcxMAorCS5sb25nCTI2NTYzNjQwNTkKKwkubG9uZwkxMDcyNTcyODI2CisJLmxvbmcJMzQ3MzQ5MDUwNworCS5sb25nCTEwNzI1Njk5MDQKKwkubG9uZwkyNjQ5OTY1NjA2CisJLmxvbmcJMTA3MjU2Njk0NAorCS5sb25nCTM3MzY4MTkwNTIKKwkubG9uZwkxMDcyNTYzOTQ1CisJLmxvbmcJMTY4MDg4NTE3NQorCS5sb25nCTEwNzI1NjA5MDgKKwkubG9uZwk0NDEzNzcxCisJLmxvbmcJMTA3MjU1NzgzMgorCS5sb25nCTIyMTQ4Njk3NTMKKwkubG9uZwkxMDcyNTU0NzE2CisJLmxvbmcJMzIxNDcyNTE4NAorCS5sb25nCTEwNzI1NTE1NjEKKwkubG9uZwkyMTg2MDc5OTAzCisJLmxvbmcJMTA3MjU0ODM2NworCS5sb25nCTI1OTAzNzIxMzEKKwkubG9uZwkxMDcyNTQ1MTMzCisJLmxvbmcJMzU3ODE0NjA3OQorCS5sb25nCTEwNzI1NDE4NTkKKwkubG9uZwk0MjgzNzEyNzU1CisJLmxvbmcJMTA3MjUzODU0NQorCS5sb25nCTM4MjQ4MzQ1MTAKKwkubG9uZwkxMDcyNTM1MTkxCisJLmxvbmcJMTMwMjQwMDI5OAorCS5sb25nCTEwNzI1MzE3OTcKKwkubG9uZwk5NTA1ODYzNgorCS5sb25nCTEwNzI1MjgzNjIKKwkubG9uZwkzNTYzOTA2MDYzCisJLmxvbmcJMTA3MjUyNDg4NQorCS5sb25nCTIxNjcyMzA3MzAKKwkubG9uZwkxMDcyNTIxMzY4CisJLmxvbmcJMzUyNDkxODMzNAorCS5sb25nCTEwNzI1MTc4MDkKKwkubG9uZwkyMzUzMzA0OTE4CisJLmxvbmcJMTA3MjUxNDIwOQorCS5sb25nCTE5Mzk2MjU4MzkKKwkubG9uZwkxMDcyNTEwNTY3CisJLmxvbmcJMTI1NjcxNDU4MQorCS5sb25nCTEwNzI1MDY4ODMKKwkubG9uZwkzNTUyNTI1ODQ4CisJLmxvbmcJMTA3MjUwMzE1NgorCS5sb25nCTM0NjQ4MDk1MjIKKwkubG9uZwkxMDcyNDk5Mzg3CisJLmxvbmcJNDIwMDU0MjU5MworCS5sb25nCTEwNzI0OTU1NzUKKwkubG9uZwkzNTU2MDkxMjQKKwkubG9uZwkxMDcyNDkxNzIxCisJLmxvbmcJMzY4NDEzOTA5OQorCS5sb25nCTEwNzI0ODc4MjIKKwkubG9uZwkxNDgzNTU5MTgKKwkubG9uZwkxMDcyNDgzODgxCisJLmxvbmcJMTQ1NzY4OTI0MgorCS5sb25nCTEwNzI0Nzk4OTUKKwkubG9uZwkyMTE4NTkxNTk2CisJLmxvbmcJMTA3MjQ3NTg2NQorCS5sb25nCTkwODg0ODA4OQorCS5sb25nCTEwNzI0NzE3OTEKKwkubG9uZwk4NzcwMzI2ODkKKwkubG9uZwkxMDcyNDY3NjcyCisJLmxvbmcJNzUyMDEyMzA0CisJLmxvbmcJMTA3MjQ2MzUwOAorCS5sb25nCTM1MzIzMDE3NDkKKwkubG9uZwkxMDcyNDU5Mjk4CisJLmxvbmcJMzYwMDU2MzIyMQorCS5sb25nCTEwNzI0NTUwNDMKKwkubG9uZwkzOTAyODU3MDg0CisJLmxvbmcJMTA3MjQ1MDc0MgorCS5sb25nCTMwNjMxMDEwMzYKKwkubG9uZwkxMDcyNDQ2Mzk1CisJLmxvbmcJMzk3MjM0NDM3NAorCS5sb25nCTEwNzI0NDIwMDEKKwkubG9uZwk5MDMxODM1NDkKKwkubG9uZwkxMDcyNDM3NTYxCisJLmxvbmcJOTgzODkyOTM4CisJLmxvbmcJMTA3MjQzMzA3MworCS5sb25nCTI3MjI4NTg1NjgKKwkubG9uZwkxMDcyNDI4NTM3CisJLmxvbmcJMzAyNzkwNTE1CisJLmxvbmcJMTA3MjQyMzk1NAorCS5sb25nCTc1OTgxMTA1NworCS5sb25nCTEwNzI0MTkzMjIKKwkubG9uZwkyNTA3ODA5OTIyCisJLmxvbmcJMTA3MjQxNDY0MQorCS5sb25nCTIzODg0MDg4MTMKKwkubG9uZwkxMDcyNDA3NTI4CisJLmxvbmcJMjA4NDQ5Mjk0MgorCS5sb25nCTEwNzIzOTc4NzAKKwkubG9uZwkyNDM1NzAzMzAxCisJLmxvbmcJMTA3MjM4ODAxMAorCS5sb25nCTE5MzU0MzMzNjAKKwkubG9uZwkxMDcyMzc3OTQ1CisJLmxvbmcJMjc0MjA0NzI5MAorCS5sb25nCTEwNzIzNjc2NzEKKwkubG9uZwkyMDUzMjg0MjA1CisJLmxvbmcJMTA3MjM1NzE4NQorCS5sb25nCTY1Nzc4MzM2NworCS5sb25nCTEwNzIzNDY0ODMKKwkubG9uZwkyODkzNjY0ODQxCisJLmxvbmcJMTA3MjMzNTU2MAorCS5sb25nCTM3MTg5MDY0MDUKKwkubG9uZwkxMDcyMzI0NDEzCisJLmxvbmcJMTU0Nzg5NjMwMworCS5sb25nCTEwNzIzMTMwMzgKKwkubG9uZwkyNDk0MDU4NDQwCisJLmxvbmcJMTA3MjMwMTQyOQorCS5sb25nCTMxMzMyMzg3NDIKKwkubG9uZwkxMDcyMjg5NTgyCisJLmxvbmcJMzMyNzAwMDA4NgorCS5sb25nCTEwNzIyNzc0OTIKKwkubG9uZwkxODYwNjY3Mjc0CisJLmxvbmcJMTA3MjI2NTE1NAorCS5sb25nCTY2NTM0MDc0NworCS5sb25nCTEwNzIyNTI1NjIKKwkubG9uZwk0NDMzNDc4NDEKKwkubG9uZwkxMDcyMjM5NzEwCisJLmxvbmcJNTgxMjgyNjE4CisJLmxvbmcJMTA3MjIyNjU5MgorCS5sb25nCTMzNDk3ODA0NjUKKwkubG9uZwkxMDcyMjEzMjAxCisJLmxvbmcJOTE0MjE3NjA2CisJLmxvbmcJMTA3MjE5OTUzMgorCS5sb25nCTk4OTc5NzY2MQorCS5sb25nCTEwNzIxODU1NzYKKwkubG9uZwk5NDU0MzY0MTYKKwkubG9uZwkxMDcyMTcxMzI2CisJLmxvbmcJNTQ5MjkxMzAwCisJLmxvbmcJMTA3MjE1Njc3NAorCS5sb25nCTE4MTQ2MzYzODkKKwkubG9uZwkxMDcyMTQxOTExCisJLmxvbmcJMjM5MDkyODU4CisJLmxvbmcJMTA3MjEyNjcyOQorCS5sb25nCTE3OTQ2ODA3MjQKKwkubG9uZwkxMDcyMTExMjE3CisJLmxvbmcJMTI0MTUzNDY3OAorCS5sb25nCTEwNzIwOTUzNjYKKwkubG9uZwkzMzY2NTY2MjE0CisJLmxvbmcJMTA3MjA3OTE2NAorCS5sb25nCTEyNDQwOTA4MjgKKwkubG9uZwkxMDcyMDYyNjAxCisJLmxvbmcJMTcwODQ0ODEyMAorCS5sb25nCTEwNzIwNDU2NjMKKwkubG9uZwkzNTQ0MjYwNjUwCisJLmxvbmcJMTA3MjAyODMzNworCS5sb25nCTE0MDI3NDE0MDMKKwkubG9uZwkxMDcyMDEwNjEwCisJLmxvbmcJMjU1MTkzNjg4OAorCS5sb25nCTEwNzE5OTI0NjUKKwkubG9uZwk2MTc2Njk3MzkKKwkubG9uZwkxMDcxOTczODg3CisJLmxvbmcJNzk0MDAyMTg2CisJLmxvbmcJMTA3MTk1NDg1NworCS5sb25nCTIwMjEyMzc2OTMKKwkubG9uZwkxMDcxOTM1MzU2CisJLmxvbmcJNTQwNDUwMzg0CisJLmxvbmcJMTA3MTkxNTM2NAorCS5sb25nCTE5MjA1NTU1MzcKKwkubG9uZwkxMDcxODk0ODU3CisJLmxvbmcJMjg3OTU4NTIwNgorCS5sb25nCTEwNzE4NzM4MTEKKwkubG9uZwkzMDAwMjM3NDU1CisJLmxvbmcJMTA3MTg1MjE5OQorCS5sb25nCTMzNTI5NzQzNDYKKwkubG9uZwkxMDcxODI5OTkxCisJLmxvbmcJNTY5NjI5OTM3CisJLmxvbmcJMTA3MTgwNzE1NQorCS5sb25nCTIwNzcyMzcyMDgKKwkubG9uZwkxMDcxNzgzNjUzCisJLmxvbmcJMjI4NDg5MTgwNQorCS5sb25nCTEwNzE3NTk0NDYKKwkubG9uZwkxMjI2NjUxNzg0CisJLmxvbmcJMTA3MTczNDQ4OQorCS5sb25nCTExMDIwNDc0MDUKKwkubG9uZwkxMDcxNzA4NzMxCisJLmxvbmcJMjAwOTg5NjM4NAorCS5sb25nCTEwNzE2ODIxMTUKKwkubG9uZwk5Mjc0MTkwODIKKwkubG9uZwkxMDcxNjU0NTc3CisJLmxvbmcJODUwMTAzNjYKKwkubG9uZwkxMDcxNjA3NDEzCisJLmxvbmcJNjk2NDMxMDI1CisJLmxvbmcJMTA3MTU0ODE4MAorCS5sb25nCTI2MTE0MTA1NDEKKwkubG9uZwkxMDcxNDg2NTg1CisJLmxvbmcJMjYxMjU5MzY1OAorCS5sb25nCTEwNzE0MjIzOTYKKwkubG9uZwkzNTQ4MTU1MzA2CisJLmxvbmcJMTA3MTM1NTMzNgorCS5sb25nCTM4ODc5OTc0ODQKKwkubG9uZwkxMDcxMjg1MDczCisJLmxvbmcJMjQ0ODU0NzYzCisJLmxvbmcJMTA3MTIxMTIwMgorCS5sb25nCTQyMTQ0NDU2NDgKKwkubG9uZwkxMDcxMTMzMjE2CisJLmxvbmcJMjMwMzk2NjcyNworCS5sb25nCTEwNzEwNTA0NzgKKwkubG9uZwkzOTkxMDQwMDEzCisJLmxvbmcJMTA3MDk2MjE1MgorCS5sb25nCTMxMjY5NTIyNzgKKwkubG9uZwkxMDcwODY3MTE4CisJLmxvbmcJMTgxNzQ0ODM3OAorCS5sb25nCTEwNzA3NjM4MDQKKwkubG9uZwkxNzkzODE0ODY0CisJLmxvbmcJMTA3MDY0OTg4NAorCS5sb25nCTM1MDcyMjQwNzIKKwkubG9uZwkxMDcwNDQ3MTkzCisJLmxvbmcJNDAyNzYwOTEwNQorCS5sb25nCTEwNzAxNDg3NzIKKwkubG9uZwk1Nzc1MDc5OTMKKwkubG9uZwkxMDY5Nzc5NDE0CisJLmxvbmcJMjMxMDIzMjQxOQorCS5sb25nCTEwNjg5MzE4MjkKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE2MTc4MjE0CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzMyOTE3NzEKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkzMTY0NzEwNDM4CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTMyMjE4MjM5OTUKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE3MjI2NzkwCisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzQzNDAzNDcKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMzIxNzM4MDY5MworCS5sb25nCTg1ODk5MzQ1OQorCS5sb25nCTMyMTYxOTIzMDcKKwkubG9uZwkzMDY3ODMzNzgzCisJLmxvbmcJMzIxNTM4MzQwNQorCS5sb25nCTc4MDkwMzE0NQorCS5sb25nCTEwNjY4NTQ1ODYKKwkubG9uZwk4NTg5OTM0NTkKKwkubG9uZwkxMDY4NzA4NjU5CisJLmxvbmcJMzM0MDUzMDExOQorCS5sb25nCTEwNjczOTIxMTMKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA2OTg5NzA0NQorCS5sb25nCTEzMjE1MjgzOTkKKwkubG9uZwkxMDY2NTE3NzQwCisJLmxvbmcJMzA2NzgzMzc4MworCS5sb25nCTEwNjc4OTk3NTcKKwkubG9uZwkyMDIxMTU5NDYwCisJLmxvbmcJMTA2NTg1NTA5NgorCS5sb25nCTI1NzY5ODAzNzgKKwkubG9uZwkxMDY2MTc4OTY5CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDc0ODM2NDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTUwOTEyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCXN0YXRpY19jb25zdF90YWJsZSxAb2JqZWN0CisJLnNpemUJc3RhdGljX2NvbnN0X3RhYmxlLDYxMTIKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Ni9lX2FzaW4uUyBiL2xpYm0veDg2L2VfYXNpbi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkN2YzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9lX2FzaW4uUwpAQCAtMCwwICsxLDIwMDMgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgVG8gY29tcHV0ZSBhc2luKHMpLCBzZXBhcmF0ZSBzY2hlbWVzIGFyZSB1c2VkIHdoZW4gcyBpcyBpbiBkaWZmZXJlbnQKKy8vICBpbnRlcnZhbHMuCisvLworLy8gIHxzfCBpbiBbMl57LTR9LCBzcXJ0KDMpLzIpOgorLy8gICAgICAgTGV0IHQ9Ml5rKjEuYjEgYjIuLmI2IDEsIHdoZXJlIHM9Ml5rKjEuYjEgYjIgLi4gYjUyCisvLyAgICAgICBhc2luKHMpPWFzaW4odCkrYXNpbihyKSwgd2hlcmUgcj1zKnNxcnQoMS10XjIpLXQqc3FydCgxLXNeMikKKy8vICAgICAgIGFzaW4ociktciBldmFsdWF0ZWQgYXMgNy1kZWdyZWUgcG9seW5vbWlhbCAoYzMqcl4zK2M1KnJeNStjNypyXjcpCisvLyAgICAgICBGb3IgdGhlIGZpcnN0IGRlZ3JlZSB0ZXJtLCByIGlzIGV2YWx1YXRlZCBhcworLy8gICAgICAgICAgICAgICAgUj0oc14yLXReMikvKHNxcnQoMS10XjIpKnMrc3FydCgxLXNeMikqdCkKKy8vICAgICAgIChzcXJ0KDEtdF4yKSByZWFkIGZyb20gdGFibGUpCisvLyAgVGhlIG1haW4gc291cmNlIG9mIGVycm9yIGlzIHN0aWxsIFIgKG1heSBzdGlsbCBiZSBhZmZlY3RlZCBieSB1cCB0byAzIHVscHMKKy8vICBvZiByb3VuZGluZyBlcnJvcikuIFRoZSB0YWJsZSBzaXplIG11c3QgYmUgc3VmZmljaWVudGx5IGxhcmdlLCB0byBtaW5pbWl6ZQorLy8gIHRoaXMgZWZmZWN0LgorLy8KKy8vICB8c3wgaW4gW3NxcnQoMykvMiwgMjU1LzI1Nik6CisvLyAgICAgICBMZXQgdD0yXmsqMS5iMSBiMi4uYjYgMSwgd2hlcmUgc3FydCgxLXNeMik9Ml5rKjEuYjEgYjIgLi4gYjUyIChyb3VuZGVkKQorLy8gICAgICAgYXNpbih8c3wpPXBpLzItYXNpbih0KSthc2luKHIpLCByPXMqdC1zcXJ0KDEtc14yKSpzcXJ0KDEtdF4yKQorLy8gICAgICAgYXNpbihyKSBldmFsdWF0ZWQgYXMgcG9seW5vbWlhbCAoc2FtZSBhcyBhYm92ZSkKKy8vICAgICAgIFRoZSBmaXJzdCBkZWdyZWUgdGVybSBpcyBldmFsdWF0ZWQgYXMKKy8vICAgICAgICAgICAgICAgICAgICAgICAgcj0oc14yK3ReMi0xKS8ocyp0K3NxcnQoMS1zXjIpKnNxcnQoMS10XjIpKQorLy8KKy8vICB8c3w8Ml57LTR9OiBldmFsdWF0ZSBhcyAxMy1kZWdyZWUgcG9seW5vbWlhbAorLy8KKy8vICB8c3wgaW4gWzI1NS8yNTYsMSk6IGFzaW4ofHN8KT1waS8yLWFzaW4oc3FydCgxLXNeMikpCisvLyAgICAgICAgIHVzZSAxNy1kZWdyZWUgcG9seW5vbWlhbCwgZ2V0IGVycm9yIHRlcm0KKy8vICAgICAgICAgUSplcHMgfiAoMS1zXjItUV4yKS8oMipRKSBmb3IgZmlyc3QgdGVybQorLy8gICAgICAgICAgICAgICAgICggUSgxK2Vwcyk9c3FydCgxLXNeMikgKQorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgYXNpbihOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBhc2luKElORikgPSBRTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGFzaW4oeCkgPSBRTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbiwgZm9yIHx4fD4xLjAKKy8vICBhc2luKCsvLTApID0gKy8tMAorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGFzaW4KK0VOVFJZKGFzaW4pCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEyMCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNjQoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMjgoJWVzcCksICV4bW0wCisgICAgICAgIHN0bXhjc3IgICAxNiglZXNwKQorICAgICAgICBtb3ZsICAgICAgMTYoJWVzcCksICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQtMjQ1NzcsICVlZHgKKyAgICAgICAgY21wbCAgICAgICVlZHgsIDE2KCVlc3ApCisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIG1vdnNkICAgICA1OTg0KCVlYngpLCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgNjAxNiglZWJ4KSwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBtb3ZzZCAgICAgNjAwMCglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQ4MTkyLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMiwgJWVjeCwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJWVzcCkKKyAgICAgICAgcHNybHEgICAgICQ0NCwgJXhtbTAKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgbW92bCAgICAgICQ4MTkyLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMiwgJWVjeCwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDUyNDI4NywgJWVheAorICAgICAgICBhbmRsICAgICAgJWVkeCwgJWVheAorICAgICAgICBzdWJsICAgICAgJDI2MDg2NCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDk1NSwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBhbmRsICAgICAgJDY1NTM1LCAlZWR4CisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgc3FydHNkICAgICV4bW0zLCAleG1tMworICAgICAgICBhbmRwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIGFuZGwgICAgICAkLTQsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQ2NDI1NiwgJWVkeAorICAgICAgICBtb3ZzZCAgICAgMzkzNiglZWJ4LCVlZHgsMiksICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDk2KCVlYngsJWVkeCw0KSwgJXhtbTQKKyAgICAgICAgbW92YXBkICAgICV4bW03LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW02CisgICAgICAgIGRpdnNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDgwKCVlYngpLCAleG1tNworICAgICAgICBtb3ZzZCAgICAgNjQoJWVieCksICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYW5kcGQgICAgIDYwNjQoJWVieCksICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgNzIoJWVieCksICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTQsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJC0yNDU3NywgJWVheAorICAgICAgICBjbXBsICAgICAgMTYoJWVzcCksICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIHN0bXhjc3IgICAyNCglZXNwKQorICAgICAgICBtb3ZsICAgICAgMTYoJWVzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyNDU3NiwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVheCwgMjQoJWVzcCkKKyAgICAgICAgbGRteGNzciAgIDI0KCVlc3ApCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIHN1YmwgICAgICAkOTU1LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkNjcsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBzcXJ0c2QgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGFuZHBkICAgICA1OTg0KCVlYngpLCAleG1tMAorICAgICAgICBhbmRwZCAgICAgNjA0OCglZWJ4KSwgJXhtbTcKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgNjAxNiglZWJ4KSwgJXhtbTQKKyAgICAgICAgbW92YXBkICAgICV4bW03LCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgICV4bW0zLCAleG1tNworICAgICAgICBhbmRwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBzbGxxICAgICAkMiwgJXhtbTMKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMywgJWVkeAorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIHN1YmwgICAgICAkNjUyMTYsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgbXVsc2QgICAgIDM5MzYoJWVieCwlZWR4LDQpLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG1vdmFwZCAgICA2MDgwKCVlYngpLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBtb3ZzZCAgICAgNjQoJWVieCksICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNworICAgICAgICBtb3ZzZCAgICAgODAoJWVieCksICV4bW0wCisgICAgICAgIGRpdnNkICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDcyKCVlYngpLCAleG1tMgorICAgICAgICBzdWJwZCAgICAgOTYoJWVieCwlZWR4LDgpLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgYW5kbCAgICAgICQ1MjQyODgsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQ0LCAlZWF4CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBweG9yICAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNQorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgICV4bW00LCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTMsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgIDE2KCVlc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkLTI0NTc3LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAxNiglZXNwKSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKyAgICAgICAgc3RteGNzciAgIDI0KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDI0NTc2LCAlZWF4CisgICAgICAgIG9ybCAgICAgICAlZWF4LCAyNCglZXNwKQorICAgICAgICBsZG14Y3NyICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIGFkZGwgICAgICAkMTUyOTEsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxNDMzNiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgdW5wY2tscGQgICV4bW03LCAleG1tNworICAgICAgICBtb3ZhcGQgICAgKCVlYngpLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTcsICV4bW02CisgICAgICAgIG1vdmFwZCAgICAxNiglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDMyKCVlYngpLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tNgorICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0xLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJC0yNDU3NywgJWVheAorICAgICAgICBjbXBsICAgICAgMTYoJWVzcCksICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisgICAgICAgIHN0bXhjc3IgICAyNCglZXNwKQorICAgICAgICBtb3ZsICAgICAgMTYoJWVzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyNDU3NiwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVheCwgMjQoJWVzcCkKKyAgICAgICAgbGRteGNzciAgIDI0KCVlc3ApCisuTF8yVEFHX1BBQ0tFVF84LjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIHN1YmwgICAgICAkMTUzNTgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyLCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF85LjAuMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgc3FydHNkICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVheAorICAgICAgICBhbmRwZCAgICAgNjAzMiglZWJ4KSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTMsICV4bW01CisgICAgICAgIGFuZHBkICAgICA2MDMyKCVlYngpLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG1vdnNkICAgICA2MDE2KCVlYngpLCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgJXhtbTcsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdmFwZCAgICAoJWVieCksICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW03LCAleG1tNgorICAgICAgICBkaXZzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA0OCglZWJ4KSwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIDE2KCVlYngpLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgMzIoJWVieCksICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgbW92YXBkICAgICV4bW02LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgc2hybCAgICAgICQ0LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW02LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgbW92YXBkICAgIDYwODAoJWVieCksICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW01LCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW03LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTYsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgMTYoJWVzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQtMjQ1NzcsICVlYXgKKyAgICAgICAgY21wbCAgICAgIDE2KCVlc3ApLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMC4wLjIKKyAgICAgICAgc3RteGNzciAgIDI0KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDI0NTc2LCAlZWF4CisgICAgICAgIG9ybCAgICAgICAlZWF4LCAyNCglZXNwKQorICAgICAgICBsZG14Y3NyICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzkuMC4yOgorICAgICAgICBhZGRsICAgICAgJDI2MTg4NiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDI2MTg4OCwgJWVheAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVjeAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMAorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAkMTA3MjY5MzI0OCwgJWVheAorICAgICAgICBzdWJsICAgICAgJWVkeCwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEyLjAuMgorICAgICAgICBtb3ZxICAgICAgOCglZXNwKSwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWR4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDIxNDc0ODM2NDcsICVlY3gKKyAgICAgICAgc3VibCAgICAgICQxLCAlZWR4CisgICAgICAgIHNiYmwgICAgICAkMjE0NjQzNTA3MiwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamdlICAgICAgIC5MXzJUQUdfUEFDS0VUXzExLjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTMuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMi4wLjI6CisgICAgICAgIG1vdnNkICAgICA1OTg0KCVlYngpLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgNjA4MCglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92c2QgICAgIDYwODgoJWVieCksICV4bW0wCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJC0yNDU3NywgJWVheAorICAgICAgICBjbXBsICAgICAgMTYoJWVzcCksICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE0LjAuMgorICAgICAgICBzdG14Y3NyICAgMjQoJWVzcCkKKyAgICAgICAgbW92bCAgICAgIDE2KCVlc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjQ1NzYsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsIDI0KCVlc3ApCisgICAgICAgIGxkbXhjc3IgICAyNCglZXNwKQorLkxfMlRBR19QQUNLRVRfMTQuMC4yOgorICAgICAgICBhbmRucGQgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgb3JwZCAgICAgICV4bW0xLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgbW92bCAgICAgIDE2KCVlc3ApLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkLTI0NTc3LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAyNCglZXNwKQorICAgICAgICBsZG14Y3NyICAgMjQoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkMTYsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQzMjczNiwgJWVkeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMTUuMC4yCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgb3JwZCAgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW03CisuTF8yVEFHX1BBQ0tFVF8xNS4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzEzLjAuMjoKKyAgICAgICAgbW92bCAgICAgIDE2KCVlc3ApLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkLTI0NTc3LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAxNiglZXNwKSwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKyAgICAgICAgc3RteGNzciAgIDI0KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDI0NTc2LCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAyNCglZXNwKQorICAgICAgICBsZG14Y3NyICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzQuMC4yOgorICAgICAgICBtb3ZsICAgICAgNjQoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGFzaW4pCisjIC0tIEVuZCAgYXNpbgorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0woYXNpbmwsIGFzaW4pOworIyBFbmQgZmlsZSBzY29wZSBBU00KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK3N0YXRpY19jb25zdF90YWJsZToKKwkubG9uZwk3ODA5MDMxNDUKKwkubG9uZwkxMDY2ODU0NTg2CisJLmxvbmcJODU4OTkzNDU5CisJLmxvbmcJMTA2ODcwODY1OQorCS5sb25nCTMzNDA1MzAxMTkKKwkubG9uZwkxMDY3MzkyMTEzCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjk4OTcwNDUKKwkubG9uZwkxMzIxNTI4Mzk5CisJLmxvbmcJMTA2NjUxNzc0MAorCS5sb25nCTMwNjc4MzM3ODMKKwkubG9uZwkxMDY3ODk5NzU3CisJLmxvbmcJMjAyMTE1OTQ2MAorCS5sb25nCTEwNjU4NTUwOTYKKwkubG9uZwkyNTc2OTgwMzc4CisJLmxvbmcJMTA2NjE3ODk2OQorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDY5ODk3MDQ1CisJLmxvbmcJODU4OTkzNDU5CisJLmxvbmcJMTA2ODcwODY1OQorCS5sb25nCTMwNjc4MzM3ODMKKwkubG9uZwkxMDY3ODk5NzU3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzODIyOTUyNzkyCisJLmxvbmcJMTAyMTYzOTM3MgorCS5sb25nCTE4Mjc5MjQ0OAorCS5sb25nCTEwNjg1MDc4MzYKKwkubG9uZwkyMjY0MjEzMjcxCisJLmxvbmcJMTAxOTU1ODkwOAorCS5sb25nCTY0OTA1MjkyOAorCS5sb25nCTEwNjg1MjQyNTMKKwkubG9uZwkxNzk3MTM5NjA5CisJLmxvbmcJMTAyMjI5NTE0MworCS5sb25nCTEyNDMwOTUyOTYKKwkubG9uZwkxMDY4NTQwNjcxCisJLmxvbmcJMTQxNTkzODc1NgorCS5sb25nCTEwMjE0Mzk1MzcKKwkubG9uZwkyMDMzMjk0NTkyCisJLmxvbmcJMTA2ODU1NzA5MAorCS5sb25nCTIzNTY4MDk5NzgKKwkubG9uZwkxMDIxNzc3OTE2CisJLmxvbmcJMzA4ODA2Mzc0NAorCS5sb25nCTEwNjg1NzM1MTAKKwkubG9uZwkyNjY5MDU1MzE4CisJLmxvbmcJMTAyMjEyNDQ4MgorCS5sb25nCTE4MDg4ODU3NgorCS5sb25nCTEwNjg1ODk5MzIKKwkubG9uZwkzNTY2NDQ1MzI1CisJLmxvbmcJMTAyMTM1ODcxMgorCS5sb25nCTE5NzAxOTY5OTIKKwkubG9uZwkxMDY4NjA2MzU0CisJLmxvbmcJODk2OTgwMzIzCisJLmxvbmcJMTAyMTMxOTY1OQorCS5sb25nCTQyMjk1NTU0NTYKKwkubG9uZwkxMDY4NjIyNzc3CisJLmxvbmcJNDM2MDQ5NzEyCisJLmxvbmcJMTAyMTMxOTc1OAorCS5sb25nCTI3MzI1NzIxNjAKKwkubG9uZwkxMDY4NjM5MjAyCisJLmxvbmcJNTgzMTIzMjA5CisJLmxvbmcJMTAyMDc5Nzk2MAorCS5sb25nCTE4NDI4MzE4NzIKKwkubG9uZwkxMDY4NjU1NjI4CisJLmxvbmcJMTM3MDQ0OTgwNAorCS5sb25nCTEwMjE0MjkyNzAKKwkubG9uZwkxNjI4OTk0NTYwCisJLmxvbmcJMTA2ODY3MjA1NQorCS5sb25nCTI0MTEzOTE0NjQKKwkubG9uZwkxMDIxMDU3OTgwCisJLmxvbmcJMjE1OTc2MzcxMgorCS5sb25nCTEwNjg2ODg0ODMKKwkubG9uZwkxMjA4NjkyNzQ5CisJLmxvbmcJMTAyMTk0MzkwMworCS5sb25nCTM1MDM4ODYzMzYKKwkubG9uZwkxMDY4NzA0OTEyCisJLmxvbmcJNTM4NzkzMzA5CisJLmxvbmcJMTAxOTc0NDA2MworCS5sb25nCTE0MzUxODcyMDAKKwkubG9uZwkxMDY4NzIxMzQzCisJLmxvbmcJNDA4NTA4NzYxMgorCS5sb25nCTEwMjA2MDg0MTkKKwkubG9uZwkzMTc0Njk5NTIKKwkubG9uZwkxMDY4NzM3Nzc1CisJLmxvbmcJMTQ0Mzg2OTQyCisJLmxvbmcJMTAyMTQ0MDczMgorCS5sb25nCTIxOTYxNzI4MAorCS5sb25nCTEwNjg3NTQyMDgKKwkubG9uZwkyOTQwMDg4MzYxCisJLmxvbmcJMTAxOTk4MTEyMgorCS5sb25nCTEyMTA1NTgyMDgKKwkubG9uZwkxMDY4NzcwNjQyCisJLmxvbmcJMjE3Njg1MDM0NworCS5sb25nCTEwMTgzNzM3MDUKKwkubG9uZwkzMzU5MjY4MzUyCisJLmxvbmcJMTA2ODc4NzA3NworCS5sb25nCTIzOTU2MTE0NTQKKwkubG9uZwkxMDIxODg5MDQyCisJLmxvbmcJMjQzOTgwMzY0OAorCS5sb25nCTEwNjg4MDM1MTQKKwkubG9uZwkxNjUwNzA1MjUzCisJLmxvbmcJMTAyMDIyNzk2NgorCS5sb25nCTI4MTYyMDM1MjAKKwkubG9uZwkxMDY4ODE5OTUyCisJLmxvbmcJMzcwMjE2NjM4NgorCS5sb25nCTEwMTkzNzk5MTQKKwkubG9uZwkyNjI2MjA2NzIKKwkubG9uZwkxMDY4ODM2MzkyCisJLmxvbmcJMTg1NTY0OTM3MAorCS5sb25nCTEwMjA0NTMxMjQKKwkubG9uZwkzNDM4MTU5NjE2CisJLmxvbmcJMTA2ODg1MjgzMgorCS5sb25nCTkyMzA2Mzg2MAorCS5sb25nCTEwMTkyNzM4MzQKKwkubG9uZwkzODIyMTA1ODU2CisJLmxvbmcJMTA2ODg2OTI3NAorCS5sb25nCTQyODk5NDc5NDcKKwkubG9uZwkxMDE5NDM0MjQ5CisJLmxvbmcJMTQ4MzcyOTkyMAorCS5sb25nCTEwNjg4ODU3MTgKKwkubG9uZwk3ODc0NTU4MTQKKwkubG9uZwkxMDIwNzM4Mzc5CisJLmxvbmcJNzg3MzIxMDg4CisJLmxvbmcJMTA2ODkwMjE2MworCS5sb25nCTMzMjE2NTMzMzcKKwkubG9uZwkxMDIxODQyNTY5CisJLmxvbmcJMTgwMjI1MzMxMgorCS5sb25nCTEwNjg5MTg2MDkKKwkubG9uZwkyNjUzNjMzNTI2CisJLmxvbmcJMTAyMTgyMTUyNQorCS5sb25nCTMwMjk4NTk4NAorCS5sb25nCTEwNjg5MzUwNTcKKwkubG9uZwkxNjEyNzIwMjgKKwkubG9uZwkxMDIxNjU1MTQ5CisJLmxvbmcJNjUzOTY2MDgwCisJLmxvbmcJMTA2ODk1MTUwNgorCS5sb25nCTI1NjYwOTg2NjcKKwkubG9uZwkxMDIwMDY2MjE5CisJLmxvbmcJMjkyNDcyNzI5NgorCS5sb25nCTEwNjg5Njc5NTYKKwkubG9uZwkzNjQ2NDkzNzIyCisJLmxvbmcJMTAxNDI5MjI4NQorCS5sb25nCTI4ODk4OTAzMDQKKwkubG9uZwkxMDY4OTg0NDA4CisJLmxvbmcJMTA4MTAwOTE5NgorCS5sb25nCTEwMjIxODk2MjAKKwkubG9uZwk2MTkwOTgxMTIKKwkubG9uZwkxMDY5MDAwODYyCisJLmxvbmcJNDAxMTY0MzM1NQorCS5sb25nCTEwMjE3NzMyOTcKKwkubG9uZwk0NzcwMTc2MDAKKwkubG9uZwkxMDY5MDE3MzE3CisJLmxvbmcJNDAzMDMwNTUzNAorCS5sb25nCTEwMjEyOTIyNTIKKwkubG9uZwkyNTMzNDAzOTA0CisJLmxvbmcJMTA2OTAzMzc3MworCS5sb25nCTI2NDUxODc1OTEKKwkubG9uZwkxMDE5NTI3MDk5CisJLmxvbmcJMjU2MzEwMjIwOAorCS5sb25nCTEwNjkwNTAyMzEKKwkubG9uZwkzODU3MjkzNzkyCisJLmxvbmcJMTAyMjMxMTY5NworCS5sb25nCTYzNTk4MjMzNgorCS5sb25nCTEwNjkwNjY2OTEKKwkubG9uZwkzNjI1OTM2NjM3CisJLmxvbmcJMTAxNzUxMTc0NAorCS5sb25nCTExMTY5NDA4MDAKKwkubG9uZwkxMDY5MDgzMTUyCisJLmxvbmcJMzY1Mzg3Mjk5MworCS5sb25nCTEwMjIwMTY2MzEKKwkubG9uZwk0MDc1OTY0MTYwCisJLmxvbmcJMTA2OTA5OTYxNAorCS5sb25nCTI0Njg5MDAyNzEKKwkubG9uZwkxMDIxNzY5NTMyCisJLmxvbmcJOTkzMTY1NTY4CisJLmxvbmcJMTA2OTExNjA3OQorCS5sb25nCTEzNTgxMDQyMjQKKwkubG9uZwkxMDIxMTk5Nzc2CisJLmxvbmcJNTI4NTg2NzUyCisJLmxvbmcJMTA2OTEzMjU0NQorCS5sb25nCTIyMDA5NTAzMzIKKwkubG9uZwkxMDIyMDI0ODcyCisJLmxvbmcJMjc1MjM5NTc3NgorCS5sb25nCTEwNjkxNDkwMTIKKwkubG9uZwkzMTk3MDcyNDU0CisJLmxvbmcJMTAxNzc1MTMxOQorCS5sb25nCTM0Mzk4NTU2MTYKKwkubG9uZwkxMDY5MTY1NDgxCisJLmxvbmcJMTY1MTA4MTgwNgorCS5sb25nCTEwMjA4MDkzMzgKKwkubG9uZwkyNjYxMjU3NzI4CisJLmxvbmcJMTA2OTE4MTk1MgorCS5sb25nCTUzOTAzMjc1MgorCS5sb25nCTEwMjE3Mjg4MDUKKwkubG9uZwk0ODY5NTczMTIKKwkubG9uZwkxMDY5MTk4NDI1CisJLmxvbmcJMzEzNjA0NTE0OQorCS5sb25nCTEwMTY4ODg2NzEKKwkubG9uZwkxMjgyMzQwMzUyCisJLmxvbmcJMTA2OTIxNDg5OQorCS5sb25nCTI1OTM5NjMyNTkKKwkubG9uZwkxMDE4OTU2MTAzCisJLmxvbmcJODIyOTIxNzI4CisJLmxvbmcJMTA2OTIzMTM3NQorCS5sb25nCTIxNDYwMzI3MzcKKwkubG9uZwkxMDIyMzA2NDY1CisJLmxvbmcJMzQ3NDIxNjE5MgorCS5sb25nCTEwNjkyNDc4NTIKKwkubG9uZwkzOTc2ODExNjI1CisJLmxvbmcJMTAyMTM1MDIwNworCS5sb25nCTcxNjkwMjY1NgorCS5sb25nCTEwNjkyNjQzMzIKKwkubG9uZwk3MTgyNjcyMjIKKwkubG9uZwkxMDE4NjI0NzI3CisJLmxvbmcJMTIxMTU5NDQ5NgorCS5sb25nCTEwNjkyODA4MTMKKwkubG9uZwkxNDg1NjQxMzg5CisJLmxvbmcJMTAxODQ0NzQ1MQorCS5sb25nCTczNDA3MDI3MgorCS5sb25nCTEwNjkyOTcyOTYKKwkubG9uZwkzNTQ0NTUxMjgKKwkubG9uZwkxMDIxMzQxMjkxCisJLmxvbmcJMzY1MDExMDcyMAorCS5sb25nCTEwNjkzMTM3ODAKKwkubG9uZwk2ODIxODU5NDcKKwkubG9uZwkxMDIxNjUxODUzCisJLmxvbmcJMTQ0MDY2MzA0MAorCS5sb25nCTEwNjkzMzAyNjcKKwkubG9uZwkzNTU4NTc0NTUwCisJLmxvbmcJMTAyMTYxNTExMAorCS5sb25nCTI3NjY2MTIyMjQKKwkubG9uZwkxMDY5MzQ2NzU1CisJLmxvbmcJODc0NjA3OTc4CisJLmxvbmcJMTAxNzc0Njg3MgorCS5sb25nCTM0MDQwMTEwMDgKKwkubG9uZwkxMDY5MzYzMjQ1CisJLmxvbmcJNDE1NDk4ODUwMgorCS5sb25nCTEwMjE0Mzk5MDYKKwkubG9uZwkzNDIzOTQ5MDU2CisJLmxvbmcJMTA2OTM3OTczNworCS5sb25nCTIyNjMyMDIzMDkKKwkubG9uZwkxMDIxNDc5NjE1CisJLmxvbmcJMjg5NzU4NzcxMgorCS5sb25nCTEwNjkzOTYyMzEKKwkubG9uZwkyNTYyMDY1MDMxCisJLmxvbmcJMTAyMjA5MDM2MworCS5sb25nCTE4OTYxNTkyMzIKKwkubG9uZwkxMDY5NDEyNzI3CisJLmxvbmcJMzgzNjIzNzY2MworCS5sb25nCTEwMTk4NjcyODgKKwkubG9uZwk0OTA5Njg1NzYKKwkubG9uZwkxMDY5NDI5MjI1CisJLmxvbmcJMzMyMjA1Njc0MworCS5sb25nCTEwMDY3NTI3NjIKKwkubG9uZwkzMDQ4MzYwMTkyCisJLmxvbmcJMTA2OTQ0NTcyNAorCS5sb25nCTExNTIzMTQ4MzMKKwkubG9uZwkxMDEzMTIyMjUyCisJLmxvbmcJMTA0OTg1MDYyNAorCS5sb25nCTEwNjk0NjIyMjYKKwkubG9uZwkzNjAxNTkwNzI3CisJLmxvbmcJMTAyMjIxNDYxMAorCS5sb25nCTMxNTY4OTk1ODQKKwkubG9uZwkxMDY5NDc4NzI5CisJLmxvbmcJMTg1NTE2OTk3MAorCS5sb25nCTEwMTk0ODcyNzEKKwkubG9uZwk4NTExNzMzNzYKKwkubG9uZwkxMDY5NDk1MjM1CisJLmxvbmcJMzEyNjQ5NTk0CisJLmxvbmcJMTAyMDg2ODYwNAorCS5sb25nCTI3OTQyODE3MjgKKwkubG9uZwkxMDY5NTExNzQyCisJLmxvbmcJMTA5MzQ5MDE4MQorCS5sb25nCTEwMjA3Nzc1NzcKKwkubG9uZwk0NjgwNDI0OTYKKwkubG9uZwkxMDY5NTI4MjUyCisJLmxvbmcJMTE1MjU0MDY3OQorCS5sb25nCTEwMjE0MDM3MzIKKwkubG9uZwkyNTM0MjE5MjY0CisJLmxvbmcJMTA2OTU0NDc2MworCS5sb25nCTIyOTIxMjYwMzUKKwkubG9uZwkxMDIxODcyNDMwCisJLmxvbmcJMTM3NjE0NjQzMgorCS5sb25nCTEwNjk1NTg1MjcKKwkubG9uZwkzMjkzNzUzNjQxCisJLmxvbmcJMTAyMDUwMDQ1NAorCS5sb25nCTQxNzU0NDI0MzIKKwkubG9uZwkxMDY5NTc1MDQ0CisJLmxvbmcJMzYyNjM0NzU2NAorCS5sb25nCTEwMjE2MTA5NjkKKwkubG9uZwkzNTIzMTEzNDcyCisJLmxvbmcJMTA2OTU5MTU2NgorCS5sb25nCTMzOTk1NjUwMAorCS5sb25nCTEwMjExMTkwMzkKKwkubG9uZwk0MDAzMzUwNTI4CisJLmxvbmcJMTA2OTYwODA5MgorCS5sb25nCTM0MjkzMzMwODIKKwkubG9uZwkxMDIyODEzNTQyCisJLmxvbmcJMTYxMTA2NzM5MgorCS5sb25nCTEwNjk2MjQ2MjMKKwkubG9uZwkyMjk4MDE3NTQ0CisJLmxvbmcJMTAyMTk3NzU4NworCS5sb25nCTkzMTc4MjE0NAorCS5sb25nCTEwNjk2NDExNTgKKwkubG9uZwkyMTY0Njg0NzQzCisJLmxvbmcJMTAyMTI1MDk4OAorCS5sb25nCTIyNTY3MjU1MDQKKwkubG9uZwkxMDY5NjU3Njk3CisJLmxvbmcJMTEzODc2MjMzNQorCS5sb25nCTEwMjE0NDM3NzYKKwkubG9uZwkxNTgyODUzMTIwCisJLmxvbmcJMTA2OTY3NDI0MQorCS5sb25nCTEwODQwMTAzODIKKwkubG9uZwkxMDIyOTk0NjkzCisJLmxvbmcJMzQ5Nzc1ODcyMAorCS5sb25nCTEwNjk2OTA3ODkKKwkubG9uZwk0MDYzNjYyNDQKKwkubG9uZwkxMDIyNzEzNTg2CisJLmxvbmcJMzk5OTgxNjk2MAorCS5sb25nCTEwNjk3MDczNDIKKwkubG9uZwkxNDg4NzIzMDQyCisJLmxvbmcJMTAyMzM4MTI5MAorCS5sb25nCTMzODMwOTYwNjQKKwkubG9uZwkxMDY5NzIzOTAwCisJLmxvbmcJMjU0MTU1ODk1MworCS5sb25nCTEwMTkxMzc4ODcKKwkubG9uZwkxOTQyNDAzNTg0CisJLmxvbmcJMTA2OTc0MDQ2MworCS5sb25nCTE4Nzk2MjAzNDMKKwkubG9uZwkxMDIyNjUzNjQyCisJLmxvbmcJNDI2ODI2MzY4MAorCS5sb25nCTEwNjk3NTcwMzAKKwkubG9uZwkzMDM5MDc3MDQ3CisJLmxvbmcJMTAyMjI1MjU0NQorCS5sb25nCTIwNjcwNjIyNzIKKwkubG9uZwkxMDY5NzczNjAzCisJLmxvbmcJNDE5MDY3MDY3NworCS5sb25nCTEwMjA3MjU4NjMKKwkubG9uZwk0MjI1ODI4MDk2CisJLmxvbmcJMTA2OTc5MDE4MAorCS5sb25nCTE5OTg1NjczMjEKKwkubG9uZwkxMDIyMDE0Mzg1CisJLmxvbmcJMjQ1MjUwNzEzNgorCS5sb25nCTEwNjk4MDY3NjMKKwkubG9uZwkxNTExNjI4ODczCisJLmxvbmcJMTAyMTkwMDMwMAorCS5sb25nCTEzNDA3NDYyNDAKKwkubG9uZwkxMDY5ODIzMzUxCisJLmxvbmcJNzg4MzY3MzQxCisJLmxvbmcJMTAyMjcyNjIwOAorCS5sb25nCTExOTAwMzU0NTYKKwkubG9uZwkxMDY5ODM5OTQ0CisJLmxvbmcJMzg1NjMzNzIzMAorCS5sb25nCTEwMjE4MzQxMTgKKwkubG9uZwkyMzAwNjg4Mzg0CisJLmxvbmcJMTA2OTg1NjU0MgorCS5sb25nCTMyMTEzOTY1NzkKKwkubG9uZwkxMDIyNjIxMzY1CisJLmxvbmcJNjc4ODg2NDAwCisJLmxvbmcJMTA2OTg3MzE0NgorCS5sb25nCTQwMDEwMTE4ODcKKwkubG9uZwkxMDIyMDQyNjQ2CisJLmxvbmcJOTIxNTk0MTEyCisJLmxvbmcJMTA2OTg4OTc1NQorCS5sb25nCTU1NzgxMTk2OAorCS5sb25nCTEwMjMwNjU1MzMKKwkubG9uZwkzMzMxNjY4OTkyCisJLmxvbmcJMTA2OTkwNjM2OQorCS5sb25nCTE4NzcwNjA2NzkKKwkubG9uZwkxMDIyNDE5NzQyCisJLmxvbmcJMzkxNzg3NTIwMAorCS5sb25nCTEwNjk5MjI5ODkKKwkubG9uZwkxMTgxMDU1MTcxCisJLmxvbmcJMTAyMjc1MjcxMgorCS5sb25nCTI5ODQ4Mjk2OTYKKwkubG9uZwkxMDY5OTM5NjE1CisJLmxvbmcJNDI5NDUyNjkzMgorCS5sb25nCTEwMjE0OTk5ODgKKwkubG9uZwk4MzgwNDkwMjQKKwkubG9uZwkxMDY5OTU2MjQ3CisJLmxvbmcJMzY1ODA4MTg3OAorCS5sb25nCTEwMjI5NTc5NTIKKwkubG9uZwkyMDc4OTI4Mzg0CisJLmxvbmcJMTA2OTk3Mjg4NAorCS5sb25nCTgyMDM1MzcwMQorCS5sb25nCTEwMTkzOTExMDcKKwkubG9uZwkyNzE5ODU0MzM2CisJLmxvbmcJMTA2OTk4OTUyNworCS5sb25nCTE2NDQwMjI0ODkKKwkubG9uZwkxMDIzMzc4MjQwCisJLmxvbmcJMzA2OTExNzY5NgorCS5sb25nCTEwNzAwMDYxNzYKKwkubG9uZwkyNzcxMzkzNzAyCisJLmxvbmcJMTAxOTMxOTk1NAorCS5sb25nCTM0MzU5NjIzNjgKKwkubG9uZwkxMDcwMDIyODMxCisJLmxvbmcJMzg3NjM5NDE0NQorCS5sb25nCTEwMjMwMjQ0MzMKKwkubG9uZwk0MTMwNTk1MzI4CisJLmxvbmcJMTA3MDAzOTQ5MgorCS5sb25nCTE2MzA0NDc3NDgKKwkubG9uZwkxMDIxNDY1ODgyCisJLmxvbmcJMTE2OTIzNjIyNAorCS5sb25nCTEwNzAwNTYxNjAKKwkubG9uZwkyODI4MzU1OTk3CisJLmxvbmcJMTAyMDQ1ODEyMAorCS5sb25nCTM0NTM5OTczMTIKKwkubG9uZwkxMDcwMDcyODMzCisJLmxvbmcJMTY0MDkxNjQxCisJLmxvbmcJMTAyMDM4ODI3OQorCS5sb25nCTI3MDgxMjc3NDQKKwkubG9uZwkxMDcwMDg5NTEzCisJLmxvbmcJMzAzNjU1MDIyMworCS5sb25nCTEwMjMzMjg2ODQKKwkubG9uZwkzNTQwNzk3Njk2CisJLmxvbmcJMTA3MDEwNjE5OQorCS5sb25nCTM3MTA5NDk0NjMKKwkubG9uZwkxMDIyNTY4ODA1CisJLmxvbmcJMTk3MjI3NjczNgorCS5sb25nCTEwNzAxMjI4OTIKKwkubG9uZwkzODg1Mjc3OTUwCisJLmxvbmcJMTAxOTc2MTY3NAorCS5sb25nCTI2MTM4MTU1NTIKKwkubG9uZwkxMDcwMTM5NTkxCisJLmxvbmcJMjc2NDE2NTA3NworCS5sb25nCTEwMjI5MjEwMjMKKwkubG9uZwkxNDg3NzkxNjE2CisJLmxvbmcJMTA3MDE1NjI5NworCS5sb25nCTEzMzA2NDQ3NjkKKwkubG9uZwkxMDIzMTYyNjc5CisJLmxvbmcJMzIwNzU5MzQ3MgorCS5sb25nCTEwNzAxNzMwMDkKKwkubG9uZwkzOTExMDA3MjIxCisJLmxvbmcJMTAyMjk5MzQ5NgorCS5sb25nCTM3OTc3NjQ2MDgKKwkubG9uZwkxMDcwMTg5NzI4CisJLmxvbmcJOTc5NzEyNTk4CisJLmxvbmcJMTAyMjU1NDU4MAorCS5sb25nCTM1Nzg5MjA0NDgKKwkubG9uZwkxMDcwMjA2NDU0CisJLmxvbmcJMjgyNTczODIyMworCS5sb25nCTEwMjAyMjM3MDgKKwkubG9uZwkyODcyNzk1NjQ4CisJLmxvbmcJMTA3MDIyMzE4NworCS5sb25nCTM5MjQ1MTEyNAorCS5sb25nCTEwMjI2NjYyNzkKKwkubG9uZwkyMDAyMjU4NDMyCisJLmxvbmcJMTA3MDIzOTkyNworCS5sb25nCTM3MzA0MDc2MzIKKwkubG9uZwkxMDIzMTQ4MjkxCisJLmxvbmcJMTI5MTMyNjQ2NAorCS5sb25nCTEwNzAyNTY2NzQKKwkubG9uZwkzNzIzODAyOTgwCisJLmxvbmcJMTAyMjUxNDA4OQorCS5sb25nCTEwNjUxODA5MjgKKwkubG9uZwkxMDcwMjczNDI4CisJLmxvbmcJMjYzNTYxNzQ2MworCS5sb25nCTEwMjI2NTQ0NzAKKwkubG9uZwkxNjUwMTgxNjMyCisJLmxvbmcJMTA3MDI5MDE4OQorCS5sb25nCTIwNjE5ODI4ODMKKwkubG9uZwkxMDIyODUzNDExCisJLmxvbmcJMzM3Mzg4Mjg4MAorCS5sb25nCTEwNzAzMDY5NTcKKwkubG9uZwkzMTk3MzI3ODUKKwkubG9uZwkxMDIyMDE3MTc1CisJLmxvbmcJMjI3MDA4MTI4MAorCS5sb25nCTEwNzAzMjM3MzMKKwkubG9uZwkyMjM3NzU3NDExCisJLmxvbmcJMTAyMzA2NDA4NworCS5sb25nCTI5NjM3MzI3MzYKKwkubG9uZwkxMDcwMzQwNTE2CisJLmxvbmcJNDY4ODM5MTY1CisJLmxvbmcJMTAyMzI5Mzc3NAorCS5sb25nCTE0OTEwOTk5MDQKKwkubG9uZwkxMDcwMzU3MzA3CisJLmxvbmcJMTUwMjY1Nzk0NgorCS5sb25nCTEwMjE1MzM0NzkKKwkubG9uZwkyNDc5NjM2NDgwCisJLmxvbmcJMTA3MDM3NDEwNQorCS5sb25nCTQ4MjkxMzU2MgorCS5sb25nCTEwMjE5ODYyODYKKwkubG9uZwkxOTY4MTMzNjMyCisJLmxvbmcJMTA3MDM5MDkxMQorCS5sb25nCTMyODE0NzQzMzcKKwkubG9uZwkxMDIyNjQ2NDAwCisJLmxvbmcJMjkxNjM5MDQwCisJLmxvbmcJMTA3MDQwNzcyNQorCS5sb25nCTI0NTMzMjAyNTkKKwkubG9uZwkxMDIyODEyNDIzCisJLmxvbmcJMjA4MTQ3MjUxMgorCS5sb25nCTEwNzA0MjQ1NDYKKwkubG9uZwkyOTM5OTg5NTcwCisJLmxvbmcJMTAyMzA5MTg4OAorCS5sb25nCTMzODAzNDA0ODAKKwkubG9uZwkxMDcwNDQxMzc1CisJLmxvbmcJMjg1MDcwNzQ5OQorCS5sb25nCTEwMjE5MjExMDkKKwkubG9uZwkyMzIyODc0ODgKKwkubG9uZwkxMDcwNDU4MjEzCisJLmxvbmcJMzY3NDYyNTM0MgorCS5sb25nCTEwMjA3MjUxMzAKKwkubG9uZwkxNTY3NjE0MjA4CisJLmxvbmcJMTA3MDQ3NTA1OAorCS5sb25nCTkzNDczMzQKKwkubG9uZwkxMDIyMDI0MDA5CisJLmxvbmcJMzQzMzA5MTA3MgorCS5sb25nCTEwNzA0OTE5MTEKKwkubG9uZwkyODI1MjQ5OTkKKwkubG9uZwkxMDIxNDMzNTIzCisJLmxvbmcJMTg3Njg3NzMxMgorCS5sb25nCTEwNzA1MDg3NzMKKwkubG9uZwkzNDcwNDQ5NDQwCisJLmxvbmcJMTAxOTMwOTcyMQorCS5sb25nCTE1Mzg0NzIxOTIKKwkubG9uZwkxMDcwNTI1NjQzCisJLmxvbmcJMjA4OTQ4NjgyNQorCS5sb25nCTEwMTk2OTg5MTYKKwkubG9uZwkyNzYzODMwNzg0CisJLmxvbmcJMTA3MDU0MjUyMQorCS5sb25nCTQ0MzQ5ODExNQorCS5sb25nCTEwMjA1MDUxOTQKKwkubG9uZwkxNjA1MzgxNjMyCisJLmxvbmcJMTA3MDU1OTQwOAorCS5sb25nCTMwMTg4NzE2MDEKKwkubG9uZwkxMDIyODY5OTEzCisJLmxvbmcJMjcwNjk0NjA0OAorCS5sb25nCTEwNzA1NzYzMDMKKwkubG9uZwkzOTM2MjYwODkyCisJLmxvbmcJMTAyMzE3NTg3NQorCS5sb25nCTIxMjM4ODczNjAKKwkubG9uZwkxMDcwNTkzMjA3CisJLmxvbmcJMjk5NDIyMDY1NQorCS5sb25nCTEwMjI4MjU5NDgKKwkubG9uZwkxMDQwMTUxMDQKKwkubG9uZwkxMDcwNjAzMTA4CisJLmxvbmcJMzM1MDU0NDkzCisJLmxvbmcJMTAyMzQ0MTg1MworCS5sb25nCTI5MDQ1Njg4MzIKKwkubG9uZwkxMDcwNjE1ODAwCisJLmxvbmcJMTQ1MTIxNTYzMworCS5sb25nCTEwMjM4NTM4NTcKKwkubG9uZwkzNDU2MTk3MTIwCisJLmxvbmcJMTA3MDYzMjczOQorCS5sb25nCTQzNjMzNDczMworCS5sb25nCTEwMjQwMjY0MzIKKwkubG9uZwkyNTI0NTIzNTIKKwkubG9uZwkxMDcwNjQ5Njk3CisJLmxvbmcJMzQ1OTYxNjcKKwkubG9uZwkxMDI0MDMxMzk2CisJLmxvbmcJMzMyODAxODQzMgorCS5sb25nCTEwNzA2NjY2NzIKKwkubG9uZwkyNjQ0NTQ3MDczCisJLmxvbmcJMTAyNDI5Njc1OAorCS5sb25nCTEyNTU4MjkyNDgKKwkubG9uZwkxMDcwNjgzNjY3CisJLmxvbmcJNTUyODMyNTg2CisJLmxvbmcJMTAyMzc2MzEyMgorCS5sb25nCTQwOTcwNTg1NjAKKwkubG9uZwkxMDcwNzAwNjgwCisJLmxvbmcJMTk1NTY0MDYyMworCS5sb25nCTEwMjEzOTQ2NTQKKwkubG9uZwk0NTE3NzAxMTIKKwkubG9uZwkxMDcwNzE3NzE0CisJLmxvbmcJMzQyODkwMzc3NworCS5sb25nCTEwMjI5NDExNDIKKwkubG9uZwk0MDg5MjA4MzIKKwkubG9uZwkxMDcwNzM0NzY3CisJLmxvbmcJMTY1NTAzMjYzCisJLmxvbmcJMTAyMzg5NDk1OAorCS5sb25nCTExODY5NjA2NDAKKwkubG9uZwkxMDcwNzUxODQwCisJLmxvbmcJNDM1ODI2NDUwCisJLmxvbmcJMTAyNDAyNjEzNAorCS5sb25nCTE5MDc4NjU2CisJLmxvbmcJMTA3MDc2ODkzNAorCS5sb25nCTE4MzQxNjk3NDkKKwkubG9uZwkxMDIyODk5Mjg0CisJLmxvbmcJMjc0MzQ5MDMwNAorCS5sb25nCTEwNzA3ODYwNDgKKwkubG9uZwk0OTQ1ODEwNzQKKwkubG9uZwkxMDE4ODE4NDc5CisJLmxvbmcJMjMyODk2MTAyNAorCS5sb25nCTEwNzA4MDMxODQKKwkubG9uZwkyOTg3OTA4ODM0CisJLmxvbmcJMTAyMjU4MTExMAorCS5sb25nCTM1MDAxMTM5MgorCS5sb25nCTEwNzA4MjAzNDIKKwkubG9uZwkyNDA3NzExODQKKwkubG9uZwkxMDI0MTQzMDgzCisJLmxvbmcJMjY5MjMyNjkxMgorCS5sb25nCTEwNzA4Mzc1MjEKKwkubG9uZwk2NjYwNTY4MzcKKwkubG9uZwkxMDIyMzk0Nzc2CisJLmxvbmcJMjM3MzI3NDM2OAorCS5sb25nCTEwNzA4NTQ3MjMKKwkubG9uZwkyNDg0MzM3NzcwCisJLmxvbmcJMTAyNDIyODE1NgorCS5sb25nCTEwMTcxMzE1MjAKKwkubG9uZwkxMDcwODcxOTQ4CisJLmxvbmcJMzI4NTY0ODI3OQorCS5sb25nCTEwMjQwMjU3ODkKKwkubG9uZwkyNjU1NTgyNzIKKwkubG9uZwkxMDcwODg5MTk2CisJLmxvbmcJMzkyMjQxODk2CisJLmxvbmcJMTAyNDI1MjgwOQorCS5sb25nCTE3NzgwMDgwNjQKKwkubG9uZwkxMDcwOTA2NDY3CisJLmxvbmcJMTUzNjEwNzk0MworCS5sb25nCTEwMjM5NDkzMDAKKwkubG9uZwkyOTM3MTg0NzY4CisJLmxvbmcJMTA3MDkyMzc2MgorCS5sb25nCTM1NDEwNjIyNTEKKwkubG9uZwkxMDE5NDQ4NjQ2CisJLmxvbmcJMTE0NDQ0Mjg4MAorCS5sb25nCTEwNzA5NDEwODIKKwkubG9uZwkzNjkxNjgzNzgxCisJLmxvbmcJMTAyMjEyMzk0OAorCS5sb25nCTI0MTAxNjU1MDQKKwkubG9uZwkxMDcwOTU4NDI2CisJLmxvbmcJMTgwNDE4MTk2MAorCS5sb25nCTEwMjM5NDUyMjEKKwkubG9uZwk0MTc0MzUwODQ4CisJLmxvbmcJMTA3MDk3NTc5NQorCS5sb25nCTIwMTYwOTQ4NjEKKwkubG9uZwkxMDIxNzE2NTg1CisJLmxvbmcJMzg5NzAxMjQ4MAorCS5sb25nCTEwNzA5OTMxOTAKKwkubG9uZwkxNzUyOTQ0MTAKKwkubG9uZwkxMDIzNzAzNDA0CisJLmxvbmcJMzM1MzYyMzA0MAorCS5sb25nCTEwNzEwMTA2MTEKKwkubG9uZwkxNjc5NzMyNDIKKwkubG9uZwkxMDIzMjQwODM5CisJLmxvbmcJNDU2NzExNjgKKwkubG9uZwkxMDcxMDI4MDU5CisJLmxvbmcJMjE2Njg1NjExMworCS5sb25nCTEwMjE1NjU0MTMKKwkubG9uZwk4NjA2Mzg3MgorCS5sb25nCTEwNzEwNDU1MzMKKwkubG9uZwkyNjc2MjU0NzI3CisJLmxvbmcJMTAyMzk4NTI5OQorCS5sb25nCTEwMTk3NzI2NzIKKwkubG9uZwkxMDcxMDYzMDM0CisJLmxvbmcJOTg5MDQzNTkzCisJLmxvbmcJMTAyMTU0OTU4NworCS5sb25nCTQxNDI5NzM0NAorCS5sb25nCTEwNzEwODA1NjMKKwkubG9uZwkzOTYwOTcyMDQ2CisJLmxvbmcJMTAyNDMwNzI1MQorCS5sb25nCTE1NTE3MzEyMAorCS5sb25nCTEwNzEwOTgxMjAKKwkubG9uZwkxODMwOTE5MjkxCisJLmxvbmcJMTAyMTU5MjI1MQorCS5sb25nCTIxNTE1NjIyNDAKKwkubG9uZwkxMDcxMTE1NzA1CisJLmxvbmcJNDA1NDA4NjY2CisJLmxvbmcJMTAyMzQyMzEyOAorCS5sb25nCTQwNDE4NTQ3MjAKKwkubG9uZwkxMDcxMTMzMzE5CisJLmxvbmcJMjA0MzQ5NzgyNworCS5sb25nCTEwMjQ0MTE1MDMKKwkubG9uZwkzNDg5MjI0MTkyCisJLmxvbmcJMTA3MTE1MDk2MworCS5sb25nCTMwNzIyMTU4NjQKKwkubG9uZwkxMDIyNjk4NjM1CisJLmxvbmcJMjQ3NzE5NjI4OAorCS5sb25nCTEwNzExNjg2MzcKKwkubG9uZwkxODEyMTk1MTM5CisJLmxvbmcJMTAyMjY4OTE5MgorCS5sb25nCTMwMTUyOTg4MTYKKwkubG9uZwkxMDcxMTg2MzQxCisJLmxvbmcJNzY0ODQxOTY5CisJLmxvbmcJMTAyMTAyNzMzMQorCS5sb25nCTI4NDQ3MzExMzYKKwkubG9uZwkxMDcxMjA0MDc2CisJLmxvbmcJMjg3ODExNzMyMQorCS5sb25nCTEwMTkxMTY1MTMKKwkubG9uZwk0MDI4OTUwNTI4CisJLmxvbmcJMTA3MTIyMTg0MgorCS5sb25nCTY5ODkxMTQ1MgorCS5sb25nCTEwMjMyNjU2MDIKKwkubG9uZwk2OTQ0MTUzNgorCS5sb25nCTEwNzEyMzk2NDEKKwkubG9uZwkzMjUzNDY3ODQ3CisJLmxvbmcJMTAyMDc5NTA3NQorCS5sb25nCTE2NzYyMDk5MjAKKwkubG9uZwkxMDcxMjU3NDcxCisJLmxvbmcJNDI3MjQzMTE2NworCS5sb25nCTEwMjI4NzM5ODIKKwkubG9uZwkyNDA4NzUyMzg0CisJLmxvbmcJMTA3MTI3NTMzNAorCS5sb25nCTY0ODUxOTEwMAorCS5sb25nCTEwMjQzODU3MTcKKwkubG9uZwkxNTE2MjM2ODAKKwkubG9uZwkxMDcxMjkzMjMxCisJLmxvbmcJMzQ1MjU3MDE3CisJLmxvbmcJMTAxOTU2MTQwOAorCS5sb25nCTE0MTAxNTQyNDAKKwkubG9uZwkxMDcxMzExMTYxCisJLmxvbmcJMTk3ODYzOTkzCisJLmxvbmcJMTAyMzIyNDIwNworCS5sb25nCTQxMzEzNTE1NTIKKwkubG9uZwkxMDcxMzI5MTI1CisJLmxvbmcJMjYyMDgwMTc4OQorCS5sb25nCTEwMjQ0MTExNjkKKwkubG9uZwkxOTk5NjY0Mzg0CisJLmxvbmcJMTA3MTM0NzEyNQorCS5sb25nCTM5NTI2OTI2MTYKKwkubG9uZwkxMDI0MTY4MDg2CisJLmxvbmcJMTYxNzY2ODg2NAorCS5sb25nCTEwNzEzNjUxNjAKKwkubG9uZwkzMDE5ODg5ODA5CisJLmxvbmcJMTAyMTkwNzY5MgorCS5sb25nCTEwMzIwNzQyNDAKKwkubG9uZwkxMDcxMzgzMjMxCisJLmxvbmcJNTk0Njk4OTkKKwkubG9uZwkxMDIzNjU2MTk0CisJLmxvbmcJMjYxOTQ5MjA5NgorCS5sb25nCTEwNzE0MDEzMzgKKwkubG9uZwkxNDE3NTI2ODIwCisJLmxvbmcJMTAyMTQ1Nzc4MworCS5sb25nCTIwMjQyOTQ0MAorCS5sb25nCTEwNzE0MTk0ODMKKwkubG9uZwkyOTI3NjY3OTM1CisJLmxvbmcJMTAxOTE3NTQ0NworCS5sb25nCTUyNTA0NDIyNAorCS5sb25nCTEwNzE0Mzc2NjUKKwkubG9uZwkzODE2NjgxMQorCS5sb25nCTEwMjM5ODE4NzkKKwkubG9uZwkxNzc5MjU4ODgwCisJLmxvbmcJMTA3MTQ1NTg4NQorCS5sb25nCTQ4MTI1MjUwMAorCS5sb25nCTEwMjMzMTAyMzQKKwkubG9uZwkyMTk1NjczNjAwCisJLmxvbmcJMTA3MTQ3NDE0NAorCS5sb25nCTM5NjIzOTU5ODEKKwkubG9uZwkxMDIxMzM5MDg4CisJLmxvbmcJNDQ1NzM2OTYKKwkubG9uZwkxMDcxNDkyNDQzCisJLmxvbmcJMzkzNjI4MTM5NQorCS5sb25nCTEwMjMwMTQ4MjkKKwkubG9uZwkyMjI2OTA1MzQ0CisJLmxvbmcJMTA3MTUxMDc4MQorCS5sb25nCTE1MTUzMjA0NzYKKwkubG9uZwkxMDI0MzIwNjIzCisJLmxvbmcJMjgwMDUxMjUxMgorCS5sb25nCTEwNzE1MjkxNjAKKwkubG9uZwkxMjI1NDAzNjk3CisJLmxvbmcJMTAyMTA4MTg0NgorCS5sb25nCTE2MTExMzYwMAorCS5sb25nCTEwNzE1NDc1ODEKKwkubG9uZwkzMDY0ODA5NzMzCisJLmxvbmcJMTAyNDE3MzkxNworCS5sb25nCTEzMzg0MTAyNDAKKwkubG9uZwkxMDcxNTY2MDQzCisJLmxvbmcJMjAyNzYwNDk3MworCS5sb25nCTEwMjQzNjI1MjYKKwkubG9uZwk1MjI0MzMyODAKKwkubG9uZwkxMDcxNTg0NTQ4CisJLmxvbmcJMjA1NTE3MTcyMworCS5sb25nCTEwMjM4NTg4MjUKKwkubG9uZwk1Mzk1OTU3NzYKKwkubG9uZwkxMDcxNjAzMDk2CisJLmxvbmcJMzg2ODgyMDEzNQorCS5sb25nCTEwMjI5MzY0MjQKKwkubG9uZwk0MjY0MDE3NjY0CisJLmxvbmcJMTA3MTYyMTY4NworCS5sb25nCTMyMjgwNjUxNDUKKwkubG9uZwkxMDIzNDc5NTc4CisJLmxvbmcJMTczMzkyNDA5NgorCS5sb25nCTEwNzE2NDAzMjQKKwkubG9uZwkzNTExOTM0NDc1CisJLmxvbmcJMTAyMjQ5NjM1NQorCS5sb25nCTEwODg4MDM4NAorCS5sb25nCTEwNzE2NTE4MzkKKwkubG9uZwk2MTU4ODA5NjcKKwkubG9uZwkxMDIzNTE5NzA2CisJLmxvbmcJMzUxNzg1NjUxMgorCS5sb25nCTEwNzE2NjEyMDIKKwkubG9uZwkzMTEzMTA4NTU5CisJLmxvbmcJMTAyNTE5MDI4OQorCS5sb25nCTQwNDMxNTMxNTIKKwkubG9uZwkxMDcxNjcwNTg5CisJLmxvbmcJMTU3MTgzNjIxOAorCS5sb25nCTEwMjMxMDYxMTYKKwkubG9uZwkzMjUxMjk5MDcyCisJLmxvbmcJMTA3MTY4MDAwMAorCS5sb25nCTM0NDQwNzYxMDIKKwkubG9uZwkxMDIyMTg3ODQxCisJLmxvbmcJMjczNjkyMTYwMAorCS5sb25nCTEwNzE2ODk0MzUKKwkubG9uZwkyNzI3NzE0ODMKKwkubG9uZwkxMDI1MDk1MjgwCisJLmxvbmcJMzg5NzY5ODU2MAorCS5sb25nCTEwNzE3MDM2MzMKKwkubG9uZwkyMDc1MzkwMTg4CisJLmxvbmcJMTAyMjQ4OTAyMgorCS5sb25nCTMyMDk0ODUwNTYKKwkubG9uZwkxMDcxNzIyNjUyCisJLmxvbmcJMTQzODA5NDA2NQorCS5sb25nCTEwMjE4NDQ5NDQKKwkubG9uZwkzNzgxNDMyMDY0CisJLmxvbmcJMTA3MTc0MTc3NAorCS5sb25nCTE2NzUwMTcxNDUKKwkubG9uZwkxMDI0MTQzODI4CisJLmxvbmcJMjY4NDE4NDA2NAorCS5sb25nCTEwNzE3NjEwMDMKKwkubG9uZwkyMjU5OTYzNzUzCisJLmxvbmcJMTAyNDczMTM5MworCS5sb25nCTE4NDA0ODk3MjgKKwkubG9uZwkxMDcxNzgwMzQyCisJLmxvbmcJMzM3Mjg4MzU5NworCS5sb25nCTEwMjM0MzE0MDgKKwkubG9uZwkzNzY0MDg3ODA4CisJLmxvbmcJMTA3MTc5OTc5NAorCS5sb25nCTMzMDc1MjMxMDIKKwkubG9uZwkxMDI0NDg1Nzg4CisJLmxvbmcJMzAwNjIzMjMyMAorCS5sb25nCTEwNzE4MTkzNjQKKwkubG9uZwkzMDg4OTcxOTY2CisJLmxvbmcJMTAyNTIxMzI1MQorCS5sb25nCTMzNzQ4ODEyODAKKwkubG9uZwkxMDcxODM5MDU1CisJLmxvbmcJODM0NDM3NzQ5CisJLmxvbmcJMTAyNTIzNjQ1MgorCS5sb25nCTc5NzI4NDg2NAorCS5sb25nCTEwNzE4NTg4NzIKKwkubG9uZwkzMTIyNjYzOTQxCisJLmxvbmcJMTAyNTMyMDQ3MworCS5sb25nCTU0NTc2NTEyMAorCS5sb25nCTEwNzE4Nzg4MTgKKwkubG9uZwk4MjY1Mzk2MjUKKwkubG9uZwkxMDIyNDUwOTU1CisJLmxvbmcJMTA3NTYyMjQwCisJLmxvbmcJMTA3MTg5ODg5OAorCS5sb25nCTMzOTU4NDYwMAorCS5sb25nCTEwMjI0ODEyNTUKKwkubG9uZwkyMTIzNjQ5MDI0CisJLmxvbmcJMTA3MTkxOTExNgorCS5sb25nCTM5MTI5NTk4MzMKKwkubG9uZwkxMDI0MzIxMDA5CisJLmxvbmcJMTU2MjM4NTY2NAorCS5sb25nCTEwNzE5Mzk0NzgKKwkubG9uZwkyODQ2MDY3MjMwCisJLmxvbmcJMTAyMzM0Mzk4MQorCS5sb25nCTI5NjMwODU4MjQKKwkubG9uZwkxMDcxOTU5OTg4CisJLmxvbmcJOTU0NTQ4NjI3CisJLmxvbmcJMTAyMTQ3NTIxMQorCS5sb25nCTMzMjU1NTA1OTIKKwkubG9uZwkxMDcxOTgwNjUyCisJLmxvbmcJMzQ1OTY1MTE1NQorCS5sb25nCTEwMjUzMDU1NzMKKwkubG9uZwk3NzU3NTI0NDgKKwkubG9uZwkxMDcyMDAxNDc2CisJLmxvbmcJMzU4Mjc0NjY2NworCS5sb25nCTEwMjM4NTk0NjAKKwkubG9uZwkzMjM4NTkwNzIwCisJLmxvbmcJMTA3MjAyMjQ2NAorCS5sb25nCTYzNDYzNjE2MgorCS5sb25nCTEwMjQ0NzIzNTMKKwkubG9uZwkyNzU4ODAxOTIwCisJLmxvbmcJMTA3MjA0MzYyNAorCS5sb25nCTMwNzgyMTYzMTkKKwkubG9uZwkxMDI1MzA0NTE2CisJLmxvbmcJMTM3MDMxOTEwNAorCS5sb25nCTEwNzIwNjQ5NjIKKwkubG9uZwkyNTcwNTY5MDc4CisJLmxvbmcJMTAyNTA5OTQ0MgorCS5sb25nCTI2MTU4MDUxODQKKwkubG9uZwkxMDcyMDg2NDg0CisJLmxvbmcJMzcyOTkzMzQxMgorCS5sb25nCTEwMjQ2MDUxMTIKKwkubG9uZwkzMDc3MzM2NTc2CisJLmxvbmcJMTA3MjEwODE5OAorCS5sb25nCTE5NDg5MTYwNjYKKwkubG9uZwkxMDI0NzgxNjAzCisJLmxvbmcJMTA5OTUyODE5MgorCS5sb25nCTEwNzIxMzAxMTIKKwkubG9uZwkzMTM5MTQzMTU3CisJLmxvbmcJMTAyMzcyOTM2MAorCS5sb25nCTEyMzE5MDMyMzIKKwkubG9uZwkxMDcyMTUyMjMzCisJLmxvbmcJMTM0OTUxMzQ3NworCS5sb25nCTEwMjQ3Mzc1MTUKKwkubG9uZwkxNTA3NTA0MTI4CisJLmxvbmcJMTA3MjE3NDU3MAorCS5sb25nCTM0ODQ1MTYzMjIKKwkubG9uZwkxMDI0MDAwOTU5CisJLmxvbmcJMjIxNDY1OTg0MAorCS5sb25nCTEwNzIxOTcxMzIKKwkubG9uZwkyNTYzODIwOTE3CisJLmxvbmcJMTAyNTIyNTUzNQorCS5sb25nCTE4MDQ3Mzk4NDAKKwkubG9uZwkxMDcyMjE5OTI5CisJLmxvbmcJNzYwMDM4NzQ2CisJLmxvbmcJMTAyNDQ4Mjg1NQorCS5sb25nCTE0MTM3NDY2ODgKKwkubG9uZwkxMDcyMjQyOTcxCisJLmxvbmcJMzQwMTczNDcxNAorCS5sb25nCTEwMjUxMjk4MzgKKwkubG9uZwk4MjE0MDk1MzYKKwkubG9uZwkxMDcyMjY2MjY5CisJLmxvbmcJMzcyOTc3MjU1MQorCS5sb25nCTEwMjU0ODQ3OTYKKwkubG9uZwkzMDMxODI1NjY0CisJLmxvbmcJMTA3MjI4OTgzNAorCS5sb25nCTEyMjI1Njc0OQorCS5sb25nCTEwMjQ3NTI1OTQKKwkubG9uZwkxNzEwNzg0MjU2CisJLmxvbmcJMTA3MjMxMzY4MAorCS5sb25nCTE1MTgyMDU0ODMKKwkubG9uZwkxMDI0NzI0ODA5CisJLmxvbmcJMzAyNTI2NTE1MgorCS5sb25nCTEwNzIzMzc4MTkKKwkubG9uZwk0MDk5NTE5ODkKKwkubG9uZwkxMDIyODM1NTU1CisJLmxvbmcJMjg3NzY5MDg4CisJLmxvbmcJMTA3MjM2MjI2NworCS5sb25nCTgwMDM1NTU5NAorCS5sb25nCTEwMjI0ODQ4NTAKKwkubG9uZwkxOTgxNzk4NDAKKwkubG9uZwkxMDcyMzg3MDM4CisJLmxvbmcJMzUwMjkyNjIxMworCS5sb25nCTEwMjQyMDkzNzMKKwkubG9uZwkxOTA5MTMwNDk2CisJLmxvbmcJMTA3MjQxMjE0OQorCS5sb25nCTMwNjQ2OTQzMTkKKwkubG9uZwkxMDI1MzgwODIzCisJLmxvbmcJMTk0MTczMjA5NgorCS5sb25nCTEwNzI0Mzc2MTkKKwkubG9uZwk0MTEyOTMwMzkwCisJLmxvbmcJMTAyNDI5NDY3OQorCS5sb25nCTM0OTIwMTA0OTYKKwkubG9uZwkxMDcyNDYzNDY3CisJLmxvbmcJMjY4NDkxODEwNworCS5sb25nCTEwMjMyMjAyMzMKKwkubG9uZwk4MTk1OTY4MAorCS5sb25nCTEwNzI0ODk3MTYKKwkubG9uZwkyMjAwMjEzNjYKKwkubG9uZwkxMDIwNjM1MTMxCisJLmxvbmcJMjI5NzgzNzA1NgorCS5sb25nCTEwNzI1MTYzODcKKwkubG9uZwk0MDI3NjgzODI2CisJLmxvbmcJMTAyMTA0MTE4NQorCS5sb25nCTI3MDQwNDA5NgorCS5sb25nCTEwNzI1NDM1MDgKKwkubG9uZwkyMDEyNzY2MDY1CisJLmxvbmcJMTAyMTc4MDc1MworCS5sb25nCTM2NjczNzY4OTYKKwkubG9uZwkxMDcyNTcxMTA1CisJLmxvbmcJMjcyNzk4MTUyMgorCS5sb25nCTEwMjMwMDk4NzQKKwkubG9uZwkzMzA0MDAyNTYKKwkubG9uZwkxMDcyNTk5MjEyCisJLmxvbmcJMjk0MDAxNzAwMworCS5sb25nCTEwMjUzOTM0MzkKKwkubG9uZwkxMTE5MjkzOTUyCisJLmxvbmcJMTA3MjYyNzg2MQorCS5sb25nCTE2MDg1NTA0MTYKKwkubG9uZwkxMDIyNjc1NjEyCisJLmxvbmcJMzUzNjE1NTkwNAorCS5sb25nCTEwNzI2NTcwOTEKKwkubG9uZwkzNDk2NjU3NzgKKwkubG9uZwkxMDI1MTU2NzUxCisJLmxvbmcJMzA3ODA0NjcyMAorCS5sb25nCTEwNzI2ODY5NDYKKwkubG9uZwkyMDE2MTU5OTk2CisJLmxvbmcJMTAyMjE5MzE2OQorCS5sb25nCTQ1NTIyODQxNgorCS5sb25nCTEwNzI3MDUzNjEKKwkubG9uZwkxOTA4NTM5MzI4CisJLmxvbmcJMTAyNjEyNjMzMgorCS5sb25nCTE4NzE1MDU2NjQKKwkubG9uZwkxMDcyNzIwOTg4CisJLmxvbmcJMjc4NDcwMDg5NAorCS5sb25nCTEwMjU5MjIyNzcKKwkubG9uZwkxNjMwOTk0NDMyCisJLmxvbmcJMTA3MjczNzAxMAorCS5sb25nCTM2MTEwNzY3OAorCS5sb25nCTEwMjI4ODcyNDQKKwkubG9uZwkyMDg0NTU4MzM2CisJLmxvbmcJMTA3Mjc1MzQ2MgorCS5sb25nCTI2NDI3ODQ1MDkKKwkubG9uZwkxMDcyNjg5MDgzCisJLmxvbmcJMTUxNDQ0MjUzMQorCS5sb25nCTEwNzI2ODg5NTMKKwkubG9uZwkzMzMxMDg5MzMKKwkubG9uZwkxMDcyNjg4ODIxCisJLmxvbmcJMzM5MjExMjAyNAorCS5sb25nCTEwNzI2ODg2ODYKKwkubG9uZwkyMDk5ODUyODYyCisJLmxvbmcJMTA3MjY4ODU1MAorCS5sb25nCTc0OTYwOTAwNAorCS5sb25nCTEwNzI2ODg0MTIKKwkubG9uZwkzNjM0NjMyNTk2CisJLmxvbmcJMTA3MjY4ODI3MQorCS5sb25nCTIxNjMyNDg0NjEKKwkubG9uZwkxMDcyNjg4MTI5CisJLmxvbmcJNjI4NjU3ODQ2CisJLmxvbmcJMTA3MjY4Nzk4NQorCS5sb25nCTMzMjQwMzY1MTEKKwkubG9uZwkxMDcyNjg3ODM4CisJLmxvbmcJMTY1NzYzMjgxNQorCS5sb25nCTEwNzI2ODc2OTAKKwkubG9uZwk0MjE3NTM4NzYwCisJLmxvbmcJMTA3MjY4NzUzOQorCS5sb25nCTI0MTE5NTE1OTcKKwkubG9uZwkxMDcyNjg3Mzg3CisJLmxvbmcJNTMzOTQ0ODcyCisJLmxvbmcJMTA3MjY4NzIzMworCS5sb25nCTI4NzY1NjY1MDgKKwkubG9uZwkxMDcyNjg3MDc2CisJLmxvbmcJODQ3OTM2ODkxCisJLmxvbmcJMTA3MjY4NjkxOAorCS5sb25nCTMwMzYwMTk5MTMKKwkubG9uZwkxMDcyNjg2NzU3CisJLmxvbmcJODQ4ODg0NTc1CisJLmxvbmcJMTA3MjY4NjU5NQorCS5sb25nCTI4NzQ0NDMzMjYKKwkubG9uZwkxMDcyNjg2NDMwCisJLmxvbmcJNTIwNzEzNjY2CisJLmxvbmcJMTA3MjY4NjI2NAorCS5sb25nCTIzNzU1NTY0ODEKKwkubG9uZwkxMDcyNjg2MDk1CisJLmxvbmcJNDE0MTkwNDk0OAorCS5sb25nCTEwNzI2ODU5MjQKKwkubG9uZwkxNTIyNjY2MzgyCisJLmxvbmcJMTA3MjY4NTc1MgorCS5sb25nCTMxMDU2MjQxMDQKKwkubG9uZwkxMDcyNjg1NTc3CisJLmxvbmcJMjk4NjY2MzI3CisJLmxvbmcJMTA3MjY4NTQwMQorCS5sb25nCTE2ODk1MjQ1MDAKKwkubG9uZwkxMDcyNjg1MjIyCisJLmxvbmcJMjk4MTAwMjIwMAorCS5sb25nCTEwNzI2ODUwNDEKKwkubG9uZwk0MTcwODQ0Mjg0CisJLmxvbmcJMTA3MjY4NDg1OAorCS5sb25nCTk2MTgwMjI2MworCS5sb25nCTEwNzI2ODQ2NzQKKwkubG9uZwkxOTQxNTAzNDU0CisJLmxvbmcJMTA3MjY4NDQ4NworCS5sb25nCTI4MTI2NDcxNzAKKwkubG9uZwkxMDcyNjg0Mjk4CisJLmxvbmcJMzU3Mjg3Mzg2OQorCS5sb25nCTEwNzI2ODQxMDcKKwkubG9uZwk0MjE5Nzk3ODIzCisJLmxvbmcJMTA3MjY4MzkxNAorCS5sb25nCTQ1NjAzOTc4OAorCS5sb25nCTEwNzI2ODM3MjAKKwkubG9uZwk4NjkwOTYxNTEKKwkubG9uZwkxMDcyNjgzNTIzCisJLmxvbmcJMTE2MTUzNTExOQorCS5sb25nCTEwNzI2ODMzMjQKKwkubG9uZwkxMzMwODY1ODY2CisJLmxvbmcJMTA3MjY4MzEyMworCS5sb25nCTEzNzQ1NzEyMDQKKwkubG9uZwkxMDcyNjgyOTIwCisJLmxvbmcJMTI5MDEwNzUzOAorCS5sb25nCTEwNzI2ODI3MTUKKwkubG9uZwkxMDc0OTA0ODM2CisJLmxvbmcJMTA3MjY4MjUwOAorCS5sb25nCTcyNjM2NjU4NworCS5sb25nCTEwNzI2ODIyOTkKKwkubG9uZwkyNDE4Njk3NjMKKwkubG9uZwkxMDcyNjgyMDg4CisJLmxvbmcJMzkxMzczMjA3OQorCS5sb25nCTEwNzI2ODE4NzQKKwkubG9uZwkzMTQ5MzQyNzY1CisJLmxvbmcJMTA3MjY4MTY1OQorCS5sb25nCTIyNDA5NjYzMDYKKwkubG9uZwkxMDcyNjgxNDQyCisJLmxvbmcJMTE4NTg3MzIxNgorCS5sb25nCTEwNzI2ODEyMjMKKwkubG9uZwk0Mjc2Mjc0NTkxCisJLmxvbmcJMTA3MjY4MTAwMQorCS5sb25nCTI5MTk0NTI4ODMKKwkubG9uZwkxMDcyNjgwNzc4CisJLmxvbmcJMTQwNzU2NTYzNQorCS5sb25nCTEwNzI2ODA1NTMKKwkubG9uZwk0MDMyNzQzNTUxCisJLmxvbmcJMTA3MjY4MDMyNQorCS5sb25nCTIyMDIxODg1NjUKKwkubG9uZwkxMDcyNjgwMDk2CisJLmxvbmcJMjA3OTc3NTc3CisJLmxvbmcJMTA3MjY3OTg2NQorCS5sb25nCTIzNDIxNjA1MTgKKwkubG9uZwkxMDcyNjc5NjMxCisJLmxvbmcJMTE4NTg0MjMKKwkubG9uZwkxMDcyNjc5Mzk2CisJLmxvbmcJMTgwNDAzNDQ1MworCS5sb25nCTEwNzI2NzkxNTgKKwkubG9uZwkzNDIwNzIyNzg3CisJLmxvbmcJMTA3MjY3ODkxOAorCS5sb25nCTU2MzkzMDQ1NgorCS5sb25nCTEwNzI2Nzg2NzcKKwkubG9uZwkxODIwNTM5MTkyCisJLmxvbmcJMTA3MjY3ODQzMworCS5sb25nCTI4OTI1MDE2MDYKKwkubG9uZwkxMDcyNjc4MTg3CisJLmxvbmcJMzc3NjcxMDMyMAorCS5sb25nCTEwNzI2Nzc5MzkKKwkubG9uZwkxNzUwNjMzMzcKKwkubG9uZwkxMDcyNjc3NjkwCisJLmxvbmcJNjc0MzMzMTcxCisJLmxvbmcJMTA3MjY3NzQzOAorCS5sb25nCTk3NjM2MzAyNgorCS5sb25nCTEwNzI2NzcxODQKKwkubG9uZwkxMDc3OTM1OTM0CisJLmxvbmcJMTA3MjY3NjkyOAorCS5sb25nCTE5MjEwNzU0OTAKKwkubG9uZwkxMDcyNjc2NTQwCisJLmxvbmcJODgxNDkzMzAyCisJLmxvbmcJMTA3MjY3NjAxNgorCS5sb25nCTMyNzU3NTI0MzkKKwkubG9uZwkxMDcyNjc1NDgzCisJLmxvbmcJNDg2ODU1NTg4CisJLmxvbmcJMTA3MjY3NDk0MworCS5sb25nCTEwNzcyMjkxMTEKKwkubG9uZwkxMDcyNjc0Mzk0CisJLmxvbmcJNzIzOTUwMzA4CisJLmxvbmcJMTA3MjY3MzgzNworCS5sb25nCTM2OTM1ODIxOTkKKwkubG9uZwkxMDcyNjczMjcxCisJLmxvbmcJMTM2NzMzNTMxNgorCS5sb25nCTEwNzI2NzI2OTgKKwkubG9uZwkyMzA1ODM3MDIwCisJLmxvbmcJMTA3MjY3MjExNgorCS5sb25nCTIxODQzNTg2NDEKKwkubG9uZwkxMDcyNjcxNTI2CisJLmxvbmcJOTcyNjgyODQwCisJLmxvbmcJMTA3MjY3MDkyOAorCS5sb25nCTI5MzUxMDE3NjIKKwkubG9uZwkxMDcyNjcwMzIxCisJLmxvbmcJMzc0NTUxMzI2MworCS5sb25nCTEwNzI2Njk3MDYKKwkubG9uZwkzMzcyMzIwODg2CisJLmxvbmcJMTA3MjY2OTA4MworCS5sb25nCTE3ODM0NjQ2MjAKKwkubG9uZwkxMDcyNjY4NDUyCisJLmxvbmcJMzI0MTM4NjIxNQorCS5sb25nCTEwNzI2Njc4MTIKKwkubG9uZwkzNDE4MTI1Mjg0CisJLmxvbmcJMTA3MjY2NzE2NAorCS5sb25nCTIyODAyMTkxNDgKKwkubG9uZwkxMDcyNjY2NTA4CisJLmxvbmcJNDA4ODcwMDc1OAorCS5sb25nCTEwNzI2NjU4NDMKKwkubG9uZwkyMTkyMjc0MDAKKwkubG9uZwkxMDcyNjY1MTcxCisJLmxvbmcJMzUyMTgxNjkxOAorCS5sb25nCTEwNzI2NjQ0ODkKKwkubG9uZwkxMDc2MjA1Mjc5CisJLmxvbmcJMTA3MjY2MzgwMAorCS5sb25nCTE0MzY0ODQ2MTYKKwkubG9uZwkxMDcyNjYzMTAyCisJLmxvbmcJMjcxMzYyNjEwCisJLmxvbmcJMTA3MjY2MjM5NgorCS5sb25nCTE4Mzg5OTY2ODgKKwkubG9uZwkxMDcyNjYxNjgxCisJLmxvbmcJMTgwNzEyMjUxOAorCS5sb25nCTEwNzI2NjA5NTgKKwkubG9uZwkxMzc5NTM1NDIKKwkubG9uZwkxMDcyNjYwMjI3CisJLmxvbmcJMTA4ODE3ODU4NAorCS5sb25nCTEwNzI2NTk0ODcKKwkubG9uZwkzMjQwNTc1MzcKKwkubG9uZwkxMDcyNjU4NzM5CisJLmxvbmcJMjEwMTI4ODA3NgorCS5sb25nCTEwNzI2NTc5ODIKKwkubG9uZwkyMDg1MTMzOTc0CisJLmxvbmcJMTA3MjY1NzIxNworCS5sb25nCTIzNTMyNDQ1MQorCS5sb25nCTEwNzI2NTY0NDQKKwkubG9uZwk4MDYwNTE1OTIKKwkubG9uZwkxMDcyNjU1NjYyCisJLmxvbmcJMzc1NjAzMzE0MAorCS5sb25nCTEwNzI2NTQ4NzEKKwkubG9uZwk0NTM1NDI1NDMKKwkubG9uZwkxMDcyNjU0MDczCisJLmxvbmcJMzc0MTE3NzMyNworCS5sb25nCTEwNzI2NTMyNjUKKwkubG9uZwk2OTEyMTYxMDkKKwkubG9uZwkxMDcyNjUyNDUwCisJLmxvbmcJNDE0NTIyMzM3MgorCS5sb25nCTEwNzI2NTE2MjUKKwkubG9uZwkxMTc0NDM5MDkxCisJLmxvbmcJMTA3MjY1MDc5MworCS5sb25nCTMyNDQxNjEzOQorCS5sb25nCTEwNzI2NDk5NTIKKwkubG9uZwkxNTUwMjQ2MzEwCisJLmxvbmcJMTA3MjY0OTEwMgorCS5sb25nCTUxMTUyNDY3NAorCS5sb25nCTEwNzI2NDgyNDQKKwkubG9uZwkxNDU3MjQ4NDgyCisJLmxvbmcJMTA3MjY0NzM3NworCS5sb25nCTQ1OTQ0OTU1CisJLmxvbmcJMTA3MjY0NjUwMgorCS5sb25nCTUyNTUzNzM5NworCS5sb25nCTEwNzI2NDU2MTgKKwkubG9uZwkyODQ4NDQwMTg4CisJLmxvbmcJMTA3MjY0NDcyNQorCS5sb25nCTI2NzE1NTU2MzMKKwkubG9uZwkxMDcyNjQzODI0CisJLmxvbmcJNDI0MTE3MjYzNworCS5sb25nCTEwNzI2NDI5MTQKKwkubG9uZwkzMjEzMDk0Mjc4CisJLmxvbmcJMTA3MjY0MTk5NgorCS5sb25nCTM4MzI1MDM2ODgKKwkubG9uZwkxMDcyNjQxMDY5CisJLmxvbmcJMTc1NDA5MTUzNAorCS5sb25nCTEwNzI2NDAxMzQKKwkubG9uZwkxMjIxOTIxODA0CisJLmxvbmcJMTA3MjYzOTE5MAorCS5sb25nCTIxODQ1MjY0ODkKKwkubG9uZwkxMDcyNjM4MjM3CisJLmxvbmcJMjk0OTAyMDg5CisJLmxvbmcJMTA3MjYzNzI3NgorCS5sb25nCTQwOTAzNzUyNzAKKwkubG9uZwkxMDcyNjM2MzA1CisJLmxvbmcJNjMyODYwOTA2CisJLmxvbmcJMTA3MjYzNTMyNworCS5sb25nCTI3NTM0OTg3MDIKKwkubG9uZwkxMDcyNjM0MzM5CisJLmxvbmcJMTgwODAwOTI1MgorCS5sb25nCTEwNzI2MzMzNDMKKwkubG9uZwkyMDM2NDI4NjcyCisJLmxvbmcJMTA3MjYzMjMzOAorCS5sb25nCTMzODMyMzU2MjYKKwkubG9uZwkxMDcyNjMxMzI0CisJLmxvbmcJMTQ5NzM0NzQ4NAorCS5sb25nCTEwNzI2MzAzMDIKKwkubG9uZwk2MTcwMTgzMTcKKwkubG9uZwkxMDcyNjI5MjcxCisJLmxvbmcJNjg0OTMzMDU4CisJLmxvbmcJMTA3MjYyODIzMQorCS5sb25nCTE2NDMxNzA3OTgKKwkubG9uZwkxMDcyNjI3MTgyCisJLmxvbmcJMzAxMTA2NjM2MAorCS5sb25nCTEwNzI2MjU1OTIKKwkubG9uZwk5NTcxNTg3MTMKKwkubG9uZwkxMDcyNjIzNDQyCisJLmxvbmcJMTM5MDkwNzk0MQorCS5sb25nCTEwNzI2MjEyNTYKKwkubG9uZwkzODE5MTU1MjcwCisJLmxvbmcJMTA3MjYxOTAzNAorCS5sb25nCTM0NDM1NzExOTYKKwkubG9uZwkxMDcyNjE2Nzc3CisJLmxvbmcJNDA0NTQxMjQ1OAorCS5sb25nCTEwNzI2MTQ0ODQKKwkubG9uZwk4MDU1MDM5MjMKKwkubG9uZwkxMDcyNjEyMTU2CisJLmxvbmcJMTc3ODkyMjAxNQorCS5sb25nCTEwNzI2MDk3OTEKKwkubG9uZwkyMTI1MDMzNjY1CisJLmxvbmcJMTA3MjYwNzM5MAorCS5sb25nCTEyODcyMDM4NjMKKwkubG9uZwkxMDcyNjA0OTUzCisJLmxvbmcJMjk5MjYyOTU2OAorCS5sb25nCTEwNzI2MDI0NzkKKwkubG9uZwkyMzY3MjY3MTI3CisJLmxvbmcJMTA3MjU5OTk2OQorCS5sb25nCTMxMTU1MjYwNDcKKwkubG9uZwkxMDcyNTk3NDIyCisJLmxvbmcJMzQwMjE5NTM5CisJLmxvbmcJMTA3MjU5NDgzOQorCS5sb25nCTIwMTcyMTU3MTkKKwkubG9uZwkxMDcyNTkyMjE4CisJLmxvbmcJMzIyNTQ0MzQyNAorCS5sb25nCTEwNzI1ODk1NjAKKwkubG9uZwkzMzI2NTY1NjczCisJLmxvbmcJMTA3MjU4Njg2NQorCS5sb25nCTE2Njk4MTEyMTEKKwkubG9uZwkxMDcyNTg0MTMzCisJLmxvbmcJMTg4NjczNTAyMgorCS5sb25nCTEwNzI1ODEzNjMKKwkubG9uZwkzMzAxMDcxMTcxCisJLmxvbmcJMTA3MjU3ODU1NQorCS5sb25nCTkyODUxNDI4MworCS5sb25nCTEwNzI1NzU3MTAKKwkubG9uZwkyNjU2MzY0MDU5CisJLmxvbmcJMTA3MjU3MjgyNgorCS5sb25nCTM0NzM0OTA1MDcKKwkubG9uZwkxMDcyNTY5OTA0CisJLmxvbmcJMjY0OTk2NTYwNgorCS5sb25nCTEwNzI1NjY5NDQKKwkubG9uZwkzNzM2ODE5MDUyCisJLmxvbmcJMTA3MjU2Mzk0NQorCS5sb25nCTE2ODA4ODUxNzUKKwkubG9uZwkxMDcyNTYwOTA4CisJLmxvbmcJNDQxMzc3MQorCS5sb25nCTEwNzI1NTc4MzIKKwkubG9uZwkyMjE0ODY5NzUzCisJLmxvbmcJMTA3MjU1NDcxNgorCS5sb25nCTMyMTQ3MjUxODQKKwkubG9uZwkxMDcyNTUxNTYxCisJLmxvbmcJMjE4NjA3OTkwMworCS5sb25nCTEwNzI1NDgzNjcKKwkubG9uZwkyNTkwMzcyMTMxCisJLmxvbmcJMTA3MjU0NTEzMworCS5sb25nCTM1NzgxNDYwNzkKKwkubG9uZwkxMDcyNTQxODU5CisJLmxvbmcJNDI4MzcxMjc1NQorCS5sb25nCTEwNzI1Mzg1NDUKKwkubG9uZwkzODI0ODM0NTEwCisJLmxvbmcJMTA3MjUzNTE5MQorCS5sb25nCTEzMDI0MDAyOTgKKwkubG9uZwkxMDcyNTMxNzk3CisJLmxvbmcJOTUwNTg2MzYKKwkubG9uZwkxMDcyNTI4MzYyCisJLmxvbmcJMzU2MzkwNjA2MworCS5sb25nCTEwNzI1MjQ4ODUKKwkubG9uZwkyMTY3MjMwNzMwCisJLmxvbmcJMTA3MjUyMTM2OAorCS5sb25nCTM1MjQ5MTgzMzQKKwkubG9uZwkxMDcyNTE3ODA5CisJLmxvbmcJMjM1MzMwNDkxOAorCS5sb25nCTEwNzI1MTQyMDkKKwkubG9uZwkxOTM5NjI1ODM5CisJLmxvbmcJMTA3MjUxMDU2NworCS5sb25nCTEyNTY3MTQ1ODEKKwkubG9uZwkxMDcyNTA2ODgzCisJLmxvbmcJMzU1MjUyNTg0OAorCS5sb25nCTEwNzI1MDMxNTYKKwkubG9uZwkzNDY0ODA5NTIyCisJLmxvbmcJMTA3MjQ5OTM4NworCS5sb25nCTQyMDA1NDI1OTMKKwkubG9uZwkxMDcyNDk1NTc1CisJLmxvbmcJMzU1NjA5MTI0CisJLmxvbmcJMTA3MjQ5MTcyMQorCS5sb25nCTM2ODQxMzkwOTkKKwkubG9uZwkxMDcyNDg3ODIyCisJLmxvbmcJMTQ4MzU1OTE4CisJLmxvbmcJMTA3MjQ4Mzg4MQorCS5sb25nCTE0NTc2ODkyNDIKKwkubG9uZwkxMDcyNDc5ODk1CisJLmxvbmcJMjExODU5MTU5NgorCS5sb25nCTEwNzI0NzU4NjUKKwkubG9uZwk5MDg4NDgwODkKKwkubG9uZwkxMDcyNDcxNzkxCisJLmxvbmcJODc3MDMyNjg5CisJLmxvbmcJMTA3MjQ2NzY3MgorCS5sb25nCTc1MjAxMjMwNAorCS5sb25nCTEwNzI0NjM1MDgKKwkubG9uZwkzNTMyMzAxNzQ5CisJLmxvbmcJMTA3MjQ1OTI5OAorCS5sb25nCTM2MDA1NjMyMjEKKwkubG9uZwkxMDcyNDU1MDQzCisJLmxvbmcJMzkwMjg1NzA4NAorCS5sb25nCTEwNzI0NTA3NDIKKwkubG9uZwkzMDYzMTAxMDM2CisJLmxvbmcJMTA3MjQ0NjM5NQorCS5sb25nCTM5NzIzNDQzNzQKKwkubG9uZwkxMDcyNDQyMDAxCisJLmxvbmcJOTAzMTgzNTQ5CisJLmxvbmcJMTA3MjQzNzU2MQorCS5sb25nCTk4Mzg5MjkzOAorCS5sb25nCTEwNzI0MzMwNzMKKwkubG9uZwkyNzIyODU4NTY4CisJLmxvbmcJMTA3MjQyODUzNworCS5sb25nCTMwMjc5MDUxNQorCS5sb25nCTEwNzI0MjM5NTQKKwkubG9uZwk3NTk4MTEwNTcKKwkubG9uZwkxMDcyNDE5MzIyCisJLmxvbmcJMjUwNzgwOTkyMgorCS5sb25nCTEwNzI0MTQ2NDEKKwkubG9uZwkyMzg4NDA4ODEzCisJLmxvbmcJMTA3MjQwNzUyOAorCS5sb25nCTIwODQ0OTI5NDIKKwkubG9uZwkxMDcyMzk3ODcwCisJLmxvbmcJMjQzNTcwMzMwMQorCS5sb25nCTEwNzIzODgwMTAKKwkubG9uZwkxOTM1NDMzMzYwCisJLmxvbmcJMTA3MjM3Nzk0NQorCS5sb25nCTI3NDIwNDcyOTAKKwkubG9uZwkxMDcyMzY3NjcxCisJLmxvbmcJMjA1MzI4NDIwNQorCS5sb25nCTEwNzIzNTcxODUKKwkubG9uZwk2NTc3ODMzNjcKKwkubG9uZwkxMDcyMzQ2NDgzCisJLmxvbmcJMjg5MzY2NDg0MQorCS5sb25nCTEwNzIzMzU1NjAKKwkubG9uZwkzNzE4OTA2NDA1CisJLmxvbmcJMTA3MjMyNDQxMworCS5sb25nCTE1NDc4OTYzMDMKKwkubG9uZwkxMDcyMzEzMDM4CisJLmxvbmcJMjQ5NDA1ODQ0MAorCS5sb25nCTEwNzIzMDE0MjkKKwkubG9uZwkzMTMzMjM4NzQyCisJLmxvbmcJMTA3MjI4OTU4MgorCS5sb25nCTMzMjcwMDAwODYKKwkubG9uZwkxMDcyMjc3NDkyCisJLmxvbmcJMTg2MDY2NzI3NAorCS5sb25nCTEwNzIyNjUxNTQKKwkubG9uZwk2NjUzNDA3NDcKKwkubG9uZwkxMDcyMjUyNTYyCisJLmxvbmcJNDQzMzQ3ODQxCisJLmxvbmcJMTA3MjIzOTcxMAorCS5sb25nCTU4MTI4MjYxOAorCS5sb25nCTEwNzIyMjY1OTIKKwkubG9uZwkzMzQ5NzgwNDY1CisJLmxvbmcJMTA3MjIxMzIwMQorCS5sb25nCTkxNDIxNzYwNgorCS5sb25nCTEwNzIxOTk1MzIKKwkubG9uZwk5ODk3OTc2NjEKKwkubG9uZwkxMDcyMTg1NTc2CisJLmxvbmcJOTQ1NDM2NDE2CisJLmxvbmcJMTA3MjE3MTMyNgorCS5sb25nCTU0OTI5MTMwMAorCS5sb25nCTEwNzIxNTY3NzQKKwkubG9uZwkxODE0NjM2Mzg5CisJLmxvbmcJMTA3MjE0MTkxMQorCS5sb25nCTIzOTA5Mjg1OAorCS5sb25nCTEwNzIxMjY3MjkKKwkubG9uZwkxNzk0NjgwNzI0CisJLmxvbmcJMTA3MjExMTIxNworCS5sb25nCTEyNDE1MzQ2NzgKKwkubG9uZwkxMDcyMDk1MzY2CisJLmxvbmcJMzM2NjU2NjIxNAorCS5sb25nCTEwNzIwNzkxNjQKKwkubG9uZwkxMjQ0MDkwODI4CisJLmxvbmcJMTA3MjA2MjYwMQorCS5sb25nCTE3MDg0NDgxMjAKKwkubG9uZwkxMDcyMDQ1NjYzCisJLmxvbmcJMzU0NDI2MDY1MAorCS5sb25nCTEwNzIwMjgzMzcKKwkubG9uZwkxNDAyNzQxNDAzCisJLmxvbmcJMTA3MjAxMDYxMAorCS5sb25nCTI1NTE5MzY4ODgKKwkubG9uZwkxMDcxOTkyNDY1CisJLmxvbmcJNjE3NjY5NzM5CisJLmxvbmcJMTA3MTk3Mzg4NworCS5sb25nCTc5NDAwMjE4NgorCS5sb25nCTEwNzE5NTQ4NTcKKwkubG9uZwkyMDIxMjM3NjkzCisJLmxvbmcJMTA3MTkzNTM1NgorCS5sb25nCTU0MDQ1MDM4NAorCS5sb25nCTEwNzE5MTUzNjQKKwkubG9uZwkxOTIwNTU1NTM3CisJLmxvbmcJMTA3MTg5NDg1NworCS5sb25nCTI4Nzk1ODUyMDYKKwkubG9uZwkxMDcxODczODExCisJLmxvbmcJMzAwMDIzNzQ1NQorCS5sb25nCTEwNzE4NTIxOTkKKwkubG9uZwkzMzUyOTc0MzQ2CisJLmxvbmcJMTA3MTgyOTk5MQorCS5sb25nCTU2OTYyOTkzNworCS5sb25nCTEwNzE4MDcxNTUKKwkubG9uZwkyMDc3MjM3MjA4CisJLmxvbmcJMTA3MTc4MzY1MworCS5sb25nCTIyODQ4OTE4MDUKKwkubG9uZwkxMDcxNzU5NDQ2CisJLmxvbmcJMTIyNjY1MTc4NAorCS5sb25nCTEwNzE3MzQ0ODkKKwkubG9uZwkxMTAyMDQ3NDA1CisJLmxvbmcJMTA3MTcwODczMQorCS5sb25nCTIwMDk4OTYzODQKKwkubG9uZwkxMDcxNjgyMTE1CisJLmxvbmcJOTI3NDE5MDgyCisJLmxvbmcJMTA3MTY1NDU3NworCS5sb25nCTg1MDEwMzY2CisJLmxvbmcJMTA3MTYwNzQxMworCS5sb25nCTY5NjQzMTAyNQorCS5sb25nCTEwNzE1NDgxODAKKwkubG9uZwkyNjExNDEwNTQxCisJLmxvbmcJMTA3MTQ4NjU4NQorCS5sb25nCTI2MTI1OTM2NTgKKwkubG9uZwkxMDcxNDIyMzk2CisJLmxvbmcJMzU0ODE1NTMwNgorCS5sb25nCTEwNzEzNTUzMzYKKwkubG9uZwkzODg3OTk3NDg0CisJLmxvbmcJMTA3MTI4NTA3MworCS5sb25nCTI0NDg1NDc2MworCS5sb25nCTEwNzEyMTEyMDIKKwkubG9uZwk0MjE0NDQ1NjQ4CisJLmxvbmcJMTA3MTEzMzIxNgorCS5sb25nCTIzMDM5NjY3MjcKKwkubG9uZwkxMDcxMDUwNDc4CisJLmxvbmcJMzk5MTA0MDAxMworCS5sb25nCTEwNzA5NjIxNTIKKwkubG9uZwkzMTI2OTUyMjc4CisJLmxvbmcJMTA3MDg2NzExOAorCS5sb25nCTE4MTc0NDgzNzgKKwkubG9uZwkxMDcwNzYzODA0CisJLmxvbmcJMTc5MzgxNDg2NAorCS5sb25nCTEwNzA2NDk4ODQKKwkubG9uZwkzNTA3MjI0MDcyCisJLmxvbmcJMTA3MDQ0NzE5MworCS5sb25nCTQwMjc2MDkxMDUKKwkubG9uZwkxMDcwMTQ4NzcyCisJLmxvbmcJNTc3NTA3OTkzCisJLmxvbmcJMTA2OTc3OTQxNAorCS5sb25nCTIzMTAyMzI0MTkKKwkubG9uZwkxMDY4OTMxODI5CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDc0ODM2NDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTUwOTEyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDE2MDc0OTU2OAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNTg0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJODU2OTcyMjk1CisJLmxvbmcJMTAxNjE3ODIxNAorCS5sb25nCTE0MTM3NTQxMzYKKwkubG9uZwkxMDczMjkxNzcxCisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsNjA5NgorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L2VfYXRhbjIuUyBiL2xpYm0veDg2L2VfYXRhbjIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWZkZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvZV9hdGFuMi5TCkBAIC0wLDAgKzEsMTIyMSBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vCisvLzEuIFRoZSBtZXRob2QgaXMgYmFzZWQgb24gdGhlIHJlbGF0aW9uc2hpcCBvZiBhdGFuMihZLFgpIHRvIGF0YW4ofFkvWHwpCisvLyAgIGFzIGZvbGxvd3MuCisvLyAgICAgICAgICAgICAgICAgICAvICBzaWduKFkpIGF0YW4ofFkvWHwpICAgICAgICAgICAgICAgIGlmIFggPiAwCisvLyAgICAgICBhdGFuMihZLFgpID0KKy8vICAgICAgICAgICAgICAgICAgIFwgIHNpZ24oWSkqcGkgIC0gc2lnbihZKSphdGFuKHxZL1h8KSAgaWYgWCA8IDAKKy8vCisvLyAgIFRodXMsIGF0YW4yKFksWCkgaXMgb2YgdGhlIGZvcm0gIGF0YW4yKFksWCkgPSBQSSArIHNnbiphdGFuKHxZL1h8KQorLy8gICB3aGVyZSBQSSBhbmQgc2duIGNhbiBiZSBkZXRlcm1pbmVkIGJ5IHRoZSBmb3VyIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZgorLy8gICBvZiB0aGUgcGFpciAoc2lnbihYKSxzaWduKFkpKS4gV2UgY29uY2VudHJhdGUgb24gdGhlIG51bWVyaWNhbCBtZXRob2QKKy8vICAgZm9yIGF0YW4ofFkvWHwpLgorLy8KKy8vMi4gRm9yIHxZL1h8IDwgMl4oLTY0KSwgYXRhbih8WS9YfCkgfj1+IHxZL1h8LiBIZW5jZSwgYXRhbjIoWSxYKSBpcyAgWS9YCisvLyAgIGlmIFggPiAwLCBhbmQgc2lnbihZKSpwaSBvdGhlcndpc2UuCisvLzMuIEZvciB8WS9YfCA+PSAyXig2NSksIGF0YW4ofFkvWHwpIH49fiBwaS8yLiBIZW5jZSBhdGFuMihZLFgpIGlzIHNpZ24oWSlwaS8yLgorLy80LiBGb3IgMl4oLTY0KSA8PSB8WS9YfCA8IDJeKC01KSwgYXRhbih8WS9YfCkgaXMgYXBwcm94aW1hdGVkIGJ5IGEgcG9seW5vbWlhbAorLy8gICBvZiB0aGUgZm9ybSAgWiArIFoqRSpwb2x5bm9taWFsKEUpLCB3aGVyZSBaID0gfFkvWHwgYW5kIEUgPSBaKlouCisvLzUuIEZvciB8WS9YfCA+IDJeKDUpLCBhdGFuKHxZL1h8KSA9IHBpLzIgKyBhdGFuKC18WC9ZfCksIGFuZCBhdGFuKC18WC9ZfCkgaXMKKy8vICAgY2FsY3VsYXRlZCB1c2luZyB0aGUgcG9seW5vbWlhbCBpbiA0IGFib3ZlLgorLy82LiBGb3IgMl4oLTUpIDw9IHxZL1h8IDw9IDJeKDUpLCB3ZSBlbXBsb3kgYSB0YWJsZSBsb29rdXAgbWV0aG9kLiBGaXJzdCwKKy8vICAgd2Ugb2J0YWluIEIgPSAyXmsgKiAxLmIxIGIyIGIzIGI0ID0gMl5rICogKDEray8xNikgdGhhdCBhcHByb3hpbWF0ZQorLy8gICB8WS9YfCB0byBhcHByb3hpbWF0ZWx5IDUgc2lnbmlmaWNhbnQgYml0cy4gSGVuY2UsIGF0YW4ofFkvWHwpIGlzCisvLworLy8gICAgICBhdGFuKHxZL1h8KSAgPSAgYXRhbihCKSArIGF0YW4oWiksIHdoZXJlICBaID0gKHxZfC1CfFh8KS8ofFh8K0J8WXwpLgorLy8gICAgICAgICAgICAgICAgICB+PX4gICB0YXUgICArIFogKyBaKkUqcG9seW5vbWlhbChFKSwgd2hlcmUgRSA9IFoqWi4KKy8vCisvLyAgIEIgaGFzIHRoZSByYW5nZSBmcm9tIDJeKC02KSooMSsxNC8xNikgdG8gMl41ID0gMl4oNSkqKDErMC8xNiksIHRvdGFsbHkKKy8vICAgMTYzIHBvc3NpYmxlIHZhbHVlcy4gVGhlc2UgdmFsdWVzIGFyZSBjYWxjdWxhdGVkIGJlZm9yZWhhbmQgYW5kIHN0b3JlZAorLy8gICBpbiBhIHRhYmxlLiBUaGUgcG9seW5vbWlhbCBpcyB0aGUgb25lIHVzZWQgaW4gNC4KKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGF0YW4yKCstMCwgKzApID0gKy0wCisvLyAgYXRhbjIoKy0wLCAtMCkgPSArLXBpCisvLyAgYXRhbjIoKy0wLCB4KSA9ICstMCwgZm9yIHggPiAwLCBhbmQgKy1waSwgZm9yIHggPCAwCisvLyAgYXRhbjIoeSwgKy0wKSA9ICtwaS8yIGZvciB5ID4gMCwgYW5kIC1waS8yIGZvciB5IDwgMAorLy8gIGF0YW4yKCsteSwgK0lORikgPSArLTAsIGZvciBmaW5pdGUgeSA+IDAKKy8vICBhdGFuMigrLXksIC1JTkYpID0gKy1waSwgZm9yIGZpbml0ZSB5ID4gMAorLy8gIGF0YW4yKCstSU5GLCB4KSA9ICstcGkvMiwgZm9yIGZpbml0ZSB4CisvLyAgYXRhbjIoKy1JTkYsICtJTkYpID0gKy1waS80CisvLyAgYXRhbjIoKy1JTkYsIC1JTkYpID0gKy0zKnBpLzQKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24KK3N0YXRpY19mdW5jOgorLi5CMS4xOgorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlYXgKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlYXgpLCAlZWF4CisgICAgICAgIGxlYSAgICAgICBzdGF0aWNfY29uc3RfdGFibGVAR09UT0ZGKCVlYXgpLCAlZWF4CisgICAgICAgIHJldAorICAgICAgICAuc2l6ZSAgIHN0YXRpY19mdW5jLC4tc3RhdGljX2Z1bmMKKyMgLS0gRW5kICBzdGF0aWNfZnVuYworCisjIC0tIEJlZ2luICBhdGFuMgorRU5UUlkoYXRhbjIpCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorIyBwYXJhbWV0ZXIgMjogMTYgKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTIwLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA2NCglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDEzNiglZXNwKSwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsIDgoJWVzcCkKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBtb3ZxICAgICAgJXhtbTEsIDE2KCVlc3ApCisgICAgICAgIHN1YmwgICAgICAkMTQ0NDgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQzODQwLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxNDQ0OCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDM4NDAsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgdW5wY2tscGQgICV4bW0xLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQyMDQ4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTUKKyAgICAgICAgcGFkZHcgICAgICV4bW0xLCAleG1tNQorICAgICAgICBwc3JscSAgICAgJDI5LCAleG1tNQorICAgICAgICByY3BzcyAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICQxNDMzNiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW00CisgICAgICAgIHBzbGxxICAgICAkMjksICV4bW0zCisgICAgICAgIHBhZGR3ICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMiwgJWVheCwgJXhtbTYKKyAgICAgICAgbW92bCAgICAgICQzMjc2NywgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW03CisgICAgICAgIHBhZGRkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgYW5kcGQgICAgICV4bW03LCAleG1tMworICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW01CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTMsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQxNjQ0OCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW0yCisgICAgICAgIG1pbnNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbW92bXNrcGQgICV4bW0wLCAlZWR4CisgICAgICAgIHBzbGxxICAgICAkMSwgJXhtbTAKKyAgICAgICAgcHNybHEgICAgICQxLCAleG1tMAorICAgICAgICBjbXBzZCAgICAgJDIsICV4bW0yLCAleG1tNQorICAgICAgICBwc2xscSAgICAgJDEsICV4bW0xCisgICAgICAgIHBzcmxxICAgICAkMSwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQwLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMCwgJWVjeCwgJXhtbTYKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNworICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIGFuZHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYyODYsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxMTIxLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBkaXZzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTMsICVlY3gKKyAgICAgICAgbW92c2QgICAgIDI5NDQoJWVieCksICV4bW0yCisgICAgICAgIG1vdnNkICAgICAyOTYwKCVlYngpLCAleG1tMworICAgICAgICBwZXh0cncgICAgJDAsICV4bW01LCAlZWF4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIG1vdmFwZCAgICAyNjg4KCVlYngsJWVkeCw4KSwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgIDI3NTIoJWVieCwlZWR4LDgpLCAleG1tMQorICAgICAgICBzdWJsICAgICAgJDE2Mjg2LCAlZWN4CisgICAgICAgIG5vdGwgICAgICAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVheAorICAgICAgICBhZGRsICAgICAgJWVheCwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVjeAorICAgICAgICBtb3ZhcGQgICAgKCVlYngsJWVjeCw4KSwgJXhtbTUKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIG1vdmFwZCAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgdW5wY2tocGQgICV4bW01LCAleG1tNQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgIDI5NTIoJWVieCksICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgIDI5NjgoJWVieCksICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG1vdnNkICAgICAleG1tMSwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQ5NDIsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ5NDIsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW00CisgICAgICAgIGRpdnNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgbW92YXBkICAgIDI3NTIoJWVieCwlZWR4LDgpLCAleG1tNgorICAgICAgICB1bnBja2xwZCAgJXhtbTMsICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tMgorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAyODE2KCVlYngsJWVkeCw4KSwgJXhtbTcKKyAgICAgICAgbW92c2QgICAgIDI5NDQoJWVieCksICV4bW0xCisgICAgICAgIG1vdnNkICAgICAyOTYwKCVlYngpLCAleG1tNQorICAgICAgICBhbmRwZCAgICAgMjg4MCglZWJ4LCVlZHgsOCksICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgIDI5NTIoJWVieCksICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgIDI5NjgoJWVieCksICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNQorICAgICAgICB1bnBja2hwZCAgJXhtbTcsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTUKKyAgICAgICAgbW92c2QgICAgICV4bW01LCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzUuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGpnICAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMzI3NjcsICVlY3gKKyAgICAgICAgamcgICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisgICAgICAgIGRpdnNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBhbmRwZCAgICAgMjY3MiglZWJ4KSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDI2NDAoJWVieCksICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBhbmRwZCAgICAgMjY3MiglZWJ4KSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDI2MjQoJWVieCksICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKyAgICAgICAgbW92c2QgICAgIDI5OTIoJWVieCksICV4bW0zCisgICAgICAgIG1vdmwgICAgICAkMTAyNCwgJWVkeAorICAgICAgICBtb3ZzZCAgICAgMjk3NiglZWJ4KSwgJXhtbTQKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBtb3ZzZCAgICAgMzAwOCglZWJ4KSwgJXhtbTcKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMC4wLjIKKy5MXzJUQUdfUEFDS0VUXzExLjAuMjoKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzEzLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQyMDQ4LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBhZGRsICAgICAgJDE1MzQ0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTYKKyAgICAgICAgYW5kcGQgICAgICV4bW00LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgb3JwZCAgICAgICV4bW03LCAleG1tMQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgc3VibCAgICAgICQ4ODAsICVlZHgKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNC4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzExLjAuMgorLkxfMlRBR19QQUNLRVRfMTIuMC4yOgorICAgICAgICBhZGRsICAgICAgJDg4MCwgJWVkeAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE1LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTMuMC4yCisuTF8yVEFHX1BBQ0tFVF84LjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMTA0ODU3NSwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzE2LjAuMgorICAgICAgICBwc3JscSAgICAgJDYzLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDYzLCAleG1tMAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNy4wLjIKKyAgICAgICAgbW92YXBkICAgIDI2MjQoJWVieCksICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0wCisuTF8yVEFHX1BBQ0tFVF8xOC4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8xNi4wLjI6CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorLkxfMlRBR19QQUNLRVRfMTcuMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlY3gKKyAgICAgICAgbW92bCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDEwNDg1NzUsICVlY3gKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOS4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMC4wLjIKKyAgICAgICAgbW92YXBkICAgIDI2NTYoJWVieCksICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8xOS4wLjI6CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzIwLjAuMjoKKyAgICAgICAgbW92YXBkICAgIDI2NTYoJWVieCksICV4bW01CisgICAgICAgIG1vdmFwZCAgICAyNjI0KCVlYngpLCAleG1tNgorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgYWRkcGQgICAgICV4bW02LCAleG1tNQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF85LjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWN4CisgICAgICAgIG1vdmwgICAgICAkLTIxNDc0ODM2NDgsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQxMDQ4NTc1LCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVjeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTkuMC4yCisgICAgICAgIHBzcmxxICAgICAkNjMsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkNjMsICV4bW0wCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjEuMC4yCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8yMS4wLjI6CisgICAgICAgIG1vdmFwZCAgICAyNjQwKCVlYngpLCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgb3JwZCAgICAgICV4bW01LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfMTQuMC4yOgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMi4wLjIKKyAgICAgICAgbW92YXBkICAgIDI2NDAoJWVieCksICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNQorICAgICAgICBjb21pc2QgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzIzLjAuMgorLkxfMlRBR19QQUNLRVRfMjQuMC4yOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfMjMuMC4yOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfMjIuMC4yOgorICAgICAgICBjb21pc2QgICAgJXhtbTAsICV4bW0xCisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMy4wLjIKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzI0LjAuMgorLkxfMlRBR19QQUNLRVRfMTUuMC4yOgorICAgICAgICBtb3ZhcGQgICAgMjYyNCglZWJ4KSwgJXhtbTUKKyAgICAgICAgcHNybHEgICAgICQ2MywgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQ2MywgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG1vdmwgICAgICA2NCglZXNwKSwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIyLjM6CitFTkQoYXRhbjIpCisjIC0tIEVuZCAgYXRhbjIKKworIyBTdGFydCBmaWxlIHNjb3BlIEFTTQorQUxJQVNfU1lNQk9MKGF0YW4ybCwgYXRhbjIpOworIyBFbmQgZmlsZSBzY29wZSBBU00KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK3N0YXRpY19jb25zdF90YWJsZToKKwkubG9uZwkzMzkwODgxMjgwCisJLmxvbmcJMTA2NzMxODczMworCS5sb25nCTE0MTExMTY3NzkKKwkubG9uZwkxMDE4OTUwMDYzCisJLmxvbmcJMjk4NTk4Nzg0MAorCS5sb25nCTEwNjczODQyMTEKKwkubG9uZwkyMDg4OTAzNjk1CisJLmxvbmcJMTAxODA4NjAyNworCS5sb25nCTMxNDg0NDUxODQKKwkubG9uZwkxMDY3NDQ5Njg1CisJLmxvbmcJMjA0NDE2MzgwNgorCS5sb25nCTEwMTcyNzEzMzUKKwkubG9uZwkzNjY3NjI5MTg0CisJLmxvbmcJMTA2NzUxNTQ5NAorCS5sb25nCTIzNTMwOTI3NzUKKwkubG9uZwkxMDE5OTY3MzA5CisJLmxvbmcJMTU0NjU2ODgzMgorCS5sb25nCTEwNjc1ODA5NTQKKwkubG9uZwk2MTE5OTEzMTUKKwkubG9uZwkxMDE3NjAyNTg0CisJLmxvbmcJMzgxNTk5NjgwMAorCS5sb25nCTEwNjc2NDY0MDQKKwkubG9uZwk0NjYwMzg1OTgKKwkubG9uZwkxMDE5Njg2NDI2CisJLmxvbmcJNDA1MDI0MTkyMAorCS5sb25nCTEwNjc3MTE4NDUKKwkubG9uZwkzMjY1MDI2MzI4CisJLmxvbmcJMTAxOTYyNjk1MgorCS5sb25nCTEyMDQ1NDkxMgorCS5sb25nCTEwNjc3NzcyNzcKKwkubG9uZwkxNTQyMjA3Njk2CisJLmxvbmcJMTAyMDE1NTYwOAorCS5sb25nCTI3ODQ2Mzk3NDQKKwkubG9uZwkxMDY3ODQyNjk3CisJLmxvbmcJMzg4MzgzNDYyMworCS5sb25nCTEwMTg2MDI4NzAKKwkubG9uZwkxMzI4MDEwNjI0CisJLmxvbmcJMTA2NzkwODEwNworCS5sb25nCTE3OTEwOTc0NTYKKwkubG9uZwkxMDE5MDUzMTI2CisJLmxvbmcJMjIxNzc5NDA0OAorCS5sb25nCTEwNjc5NzM1MDUKKwkubG9uZwk1NTE2MTk5MzgKKwkubG9uZwkxMDE4NDk0MTk0CisJLmxvbmcJMzMzMzUyMDAwMAorCS5sb25nCTEwNjgwMzg4OTEKKwkubG9uZwkyMzkwMzMxODIzCisJLmxvbmcJMTAxOTAzMzAyMgorCS5sb25nCTI1NTcwNTIwMzIKKwkubG9uZwkxMDY4MTA0MjY1CisJLmxvbmcJMjQyMzk3NjEwOAorCS5sb25nCTEwMTk3Mjg2NzQKKwkubG9uZwkyMDY3NjQ5NTM2CisJLmxvbmcJMTA2ODE2OTYyNgorCS5sb25nCTM3NTczOTc3NDUKKwkubG9uZwkxMDE4NjcyMzYyCisJLmxvbmcJNDA0NzA5NDc4NAorCS5sb25nCTEwNjgyMzQ5NzMKKwkubG9uZwk0ODE2MTMxODQKKwkubG9uZwkxMDE5Mjc1MTA0CisJLmxvbmcJMjA4OTg1MzE4NAorCS5sb25nCTEwNjgzMDAzMDcKKwkubG9uZwkxNzMzOTE0Mzc0CisJLmxvbmcJMTAyMDEyNDY3NworCS5sb25nCTI2NzgwMDM4NDAKKwkubG9uZwkxMDY4MzY1NjI2CisJLmxvbmcJMTM3MzYwMDI4MgorCS5sb25nCTEwMTM5MzU0NzQKKwkubG9uZwkzNzA2NDk2MTI4CisJLmxvbmcJMTA2ODQzMDkzMAorCS5sb25nCTEwMDA2MTA5MDIKKwkubG9uZwkxMDE5NjczMjg1CisJLmxvbmcJMzA3MzE3OTAwOAorCS5sb25nCTEwNjg0OTYyMTkKKwkubG9uZwkxNDk3MTQzMDA4CisJLmxvbmcJMTAxOTkwMDM0MgorCS5sb25nCTI4MDM3MTY3MzYKKwkubG9uZwkxMDY4NTYyODQ2CisJLmxvbmcJMTQ3NjY3NzQxNgorCS5sb25nCTEwMTk0NDQwOTQKKwkubG9uZwkzMjA0OTg0MTI4CisJLmxvbmcJMTA2ODYyODA3NworCS5sb25nCTExOTIzMzU5MDUKKwkubG9uZwkxMDE4NzQ4NjI4CisJLmxvbmcJODMxMTQ2NjI0CisJLmxvbmcJMTA2ODY5MzI3MworCS5sb25nCTI3MzM1ODYyMjQKKwkubG9uZwkxMDE4ODIzMjk1CisJLmxvbmcJMjQzMDI5Mzc2CisJLmxvbmcJMTA2ODc1ODQzMQorCS5sb25nCTk1MDEwNjA4MQorCS5sb25nCTEwMTkwNDY2NzUKKwkubG9uZwkxNzM1NTYxOTIwCisJLmxvbmcJMTA2ODgyMzU0OQorCS5sb25nCTM1NDY0NDA4NTYKKwkubG9uZwkxMDIwMTA0NzEyCisJLmxvbmcJMTMzOTIxNzc5MgorCS5sb25nCTEwNjg4ODg2MjYKKwkubG9uZwkzMDI4ODEyMzg3CisJLmxvbmcJMTAxOTgxODMyMQorCS5sb25nCTM3MDYzNDIxNDQKKwkubG9uZwkxMDY4OTUzNjU5CisJLmxvbmcJMzgxNDU2NDAyOQorCS5sb25nCTEwMTc3NjM4NzEKKwkubG9uZwk2Mzc3MjY5NzYKKwkubG9uZwkxMDY5MDE4NjQ4CisJLmxvbmcJMzU4NDAwNzY5OQorCS5sb25nCTEwMTc5NzY4NjgKKwkubG9uZwkxMTQ4Nzc5MjY0CisJLmxvbmcJMTA2OTA4MzU4OQorCS5sb25nCTIyODI1MzIxMzMKKwkubG9uZwkxMDE5NDgzOTU0CisJLmxvbmcJMTQwNjEzMTM5MgorCS5sb25nCTEwNjkxNDg0ODEKKwkubG9uZwkxNTQ3MzU5MTEzCisJLmxvbmcJMTAxOTc4NjM0MgorCS5sb25nCTE5MDg4NzU5MDQKKwkubG9uZwkxMDY5MjEzMzIyCisJLmxvbmcJMTMxNTUwODQxMAorCS5sb25nCTEwMjAwMDk0NzMKKwkubG9uZwkzMTk0OTQ3NTIwCisJLmxvbmcJMTA2OTI3ODExMAorCS5sb25nCTM4NDUzOTMyMDEKKwkubG9uZwkxMDE1ODAzNzYxCisJLmxvbmcJMTU0NzQ4Nzc0NAorCS5sb25nCTEwNjkzNDI4NDQKKwkubG9uZwkzODYzMTA3ODY1CisJLmxvbmcJMTAxOTgxMDEwNAorCS5sb25nCTE4ODEwNjE5NTIKKwkubG9uZwkxMDY5NDA3NTIxCisJLmxvbmcJNDI4ODM0MzU0OAorCS5sb25nCTEwMTk2ODc1ODEKKwkubG9uZwk1NjMwODYzMzYKKwkubG9uZwkxMDY5NDcyMTQwCisJLmxvbmcJMjU4MjIzMDI0MQorCS5sb25nCTEwMjAwOTkzNTAKKwkubG9uZwkyNTk0OTc1NTUyCisJLmxvbmcJMTA2OTUzNjY5OAorCS5sb25nCTIzMDY0NDM3NjQKKwkubG9uZwkxMDE5NjY3MjQ0CisJLmxvbmcJMzQzODU0NTAyNAorCS5sb25nCTEwNjk2MDY1NzMKKwkubG9uZwk5NTc0NTU1NDkKKwkubG9uZwkxMDE1NTg3NzM1CisJLmxvbmcJNDIxMTM1NzQ3MgorCS5sb25nCTEwNjk2NzA5MDYKKwkubG9uZwkyNjExNzc4NzU0CisJLmxvbmcJMTAxNzg3NzIxNAorCS5sb25nCTMwMDI4MzU0MjQKKwkubG9uZwkxMDY5NzM1MTAxCisJLmxvbmcJMjM1NTgwNDU4CisJLmxvbmcJMTAyMDIxMTY4NQorCS5sb25nCTM5MDUzMTU0MjQKKwkubG9uZwkxMDY5Nzk5MTUwCisJLmxvbmcJMzYzMDY0NzYxNworCS5sb25nCTEwMTg3MzY4NDkKKwkubG9uZwkyODQ5NjU2NTc2CisJLmxvbmcJMTA2OTg2MzA0NworCS5sb25nCTI0MTIxNjUwNjIKKwkubG9uZwkxMDE5NjkzMDA0CisJLmxvbmcJNTA3NDI5NDcyCisJLmxvbmcJMTA2OTkyNjc4NQorCS5sb25nCTEzOTc3NTA3MjMKKwkubG9uZwkxMDE4NDEyNzE3CisJLmxvbmcJMjMwNzQ3MDI3MgorCS5sb25nCTEwNjk5OTAzNTYKKwkubG9uZwkxNzk2NDcwOTA0CisJLmxvbmcJMTAxOTc5NjE4MQorCS5sb25nCTEyNzE4MTQ5MTIKKwkubG9uZwkxMDcwMDUzNzU1CisJLmxvbmcJMTg5NzYxNTY1CisJLmxvbmcJMTAxNjE0OTExNQorCS5sb25nCTM4MDA1MzgxNDQKKwkubG9uZwkxMDcwMTE2OTc0CisJLmxvbmcJMjUyNDg3MTU4MgorCS5sb25nCTEwMTgyNjMzNTMKKwkubG9uZwkzOTE2MjAzNTUyCisJLmxvbmcJMTA3MDE4MDAwOAorCS5sb25nCTEyNzg0ODY1OAorCS5sb25nCTEwMTc2NzI2NjQKKwkubG9uZwk0NTcxOTIwMzIKKwkubG9uZwkxMDcwMjQyODUxCisJLmxvbmcJNDAyMDQwMDkzOAorCS5sb25nCTEwMTk4MjMwMTAKKwkubG9uZwkxMzg1MzI0NzA0CisJLmxvbmcJMTA3MDMwNTQ5NQorCS5sb25nCTU2NDUxMTE3OQorCS5sb25nCTEwMTYwNzkwOTQKKwkubG9uZwkyMzIyODY5ODU2CisJLmxvbmcJMTA3MDM2NzkzNQorCS5sb25nCTIzNDcxMDMzMTkKKwkubG9uZwkxMDE4OTI3NzYwCisJLmxvbmcJMzc0MzQzODYyNAorCS5sb25nCTEwNzA0MzAxNjUKKwkubG9uZwk4Nzc5NzM4NjIKKwkubG9uZwkxMDE5NjM4MTYyCisJLmxvbmcJMjM5MjI1NTU1MgorCS5sb25nCTEwNzA0OTIxODAKKwkubG9uZwkyNDMyNzgyMjY3CisJLmxvbmcJMTAxODg3MjYyOQorCS5sb25nCTQxODA0NDMzMjgKKwkubG9uZwkxMDcwNTUzOTczCisJLmxvbmcJMzEwMjk5MDAxNQorCS5sb25nCTEwMjAwOTMxMDEKKwkubG9uZwkyNTQ3NTQwODMyCisJLmxvbmcJMTA3MDYzNjQ4NQorCS5sb25nCTM4Nzc3MzgyNTMKKwkubG9uZwkxMDE3MzAwNDI0CisJLmxvbmcJMjczNTQ2ODkxMgorCS5sb25nCTEwNzA2OTc0NjEKKwkubG9uZwkyNDQ2NDcwMjU2CisJLmxvbmcJMTAxOTIzNTM3OAorCS5sb25nCTU0MjYzMzc5MgorCS5sb25nCTEwNzA3NTc5NDMKKwkubG9uZwk1ODM2MDYzMjgKKwkubG9uZwkxMDE4NjI0MTMxCisJLmxvbmcJOTIzMjY1OTg0CisJLmxvbmcJMTA3MDgxNzkxMQorCS5sb25nCTE3OTM5MjY3MDgKKwkubG9uZwkxMDE5NzE0MTYxCisJLmxvbmcJOTE4NzI4NDQ4CisJLmxvbmcJMTA3MDg3NzM0OAorCS5sb25nCTM3MjY0NjM1ODYKKwkubG9uZwkxMDE5NDMzMjk2CisJLmxvbmcJMjU3MjI3NTAwOAorCS5sb25nCTEwNzA5MzYyMzcKKwkubG9uZwkxODQ1MzU0MjM4CisJLmxvbmcJMTAxOTQ1OTIzOAorCS5sb25nCTUwOTc0Njg4CisJLmxvbmcJMTA3MDk5NDU2NAorCS5sb25nCTk4MzgwODA2NAorCS5sb25nCTEwMTY2ODU0MTgKKwkubG9uZwkxMTA1NTE4MzIwCisJLmxvbmcJMTA3MTA1MjMxMworCS5sb25nCTIzNTc0OTY2OTIKKwkubG9uZwkxMDE1MTM5ODgyCisJLmxvbmcJMTI2NDgyNTMyOAorCS5sb25nCTEwNzExMDk0NzIKKwkubG9uZwkyMjQ0MTI5MzU0CisJLmxvbmcJMTAxOTA0NjM0NAorCS5sb25nCTk2MTE1NzkyMAorCS5sb25nCTEwNzExNjYwMjkKKwkubG9uZwkzMTI0MTg1MzM5CisJLmxvbmcJMTAxODU0MTc3NgorCS5sb25nCTExNjI3MDE1ODQKKwkubG9uZwkxMDcxMjIxOTczCisJLmxvbmcJMTI3OTc4MDk0OAorCS5sb25nCTEwMTkyNjg5MTgKKwkubG9uZwkzMjg0OTM1NjY0CisJLmxvbmcJMTA3MTI3NzI5NAorCS5sb25nCTI2NzAwMzM0NzIKKwkubG9uZwkxMDE5ODMzNzQ0CisJLmxvbmcJNDk3NDQxODg4CisJLmxvbmcJMTA3MTMzMTk4NQorCS5sb25nCTEwMzI3Mzc0MTAKKwkubG9uZwkxMDE5Nzk1MjEyCisJLmxvbmcJMzM3NzM4MzkwNAorCS5sb25nCTEwNzEzODYwMzYKKwkubG9uZwkyMzU2ODk3MTgyCisJLmxvbmcJMTAyMDIwNTU1MworCS5sb25nCTExMjY5NjIwMDAKKwkubG9uZwkxMDcxNDM5NDQzCisJLmxvbmcJMzcyMzcyNDU4NgorCS5sb25nCTEwMTUyMTI0MTgKKwkubG9uZwk5MDI5MTAwOAorCS5sb25nCTEwNzE0OTIxOTkKKwkubG9uZwk0MTc4NjcyNDMxCisJLmxvbmcJMTAyMDE4Njk3MQorCS5sb25nCTE5MDA1OTUzNgorCS5sb25nCTEwNzE1OTU3NDEKKwkubG9uZwkxNzYzNTg5ODA3CisJLmxvbmcJMTAxOTE2MjE2MworCS5sb25nCTI0OTczOTI4NDAKKwkubG9uZwkxMDcxNjcwNjU0CisJLmxvbmcJMzAzNjk5NzA0MQorCS5sb25nCTEwMjAyMDQzMjUKKwkubG9uZwkyNjE2OTcxOTQ0CisJLmxvbmcJMTA3MTcxOTc3MworCS5sb25nCTMwMDE1MTA2OQorCS5sb25nCTEwMTcwNDE5NTcKKwkubG9uZwkyODgzNTE4MTI4CisJLmxvbmcJMTA3MTc2NzU2MworCS5sb25nCTIyMDM5ODE0MTQKKwkubG9uZwkxMDE5MTkwMTA4CisJLmxvbmcJMTQ5NjM1NDM1MgorCS5sb25nCTEwNzE4MTQwMzAKKwkubG9uZwkzMzIyODc5NjYKKwkubG9uZwkxMDE2ODQ2NDM1CisJLmxvbmcJNDgzMjc2NzI4CisJLmxvbmcJMTA3MTg1OTE4NAorCS5sb25nCTY1Mzg0NTAyNAorCS5sb25nCTEwMTg4MzA5MTQKKwkubG9uZwkzMDk3NDAxMDcyCisJLmxvbmcJMTA3MTkwMzAzOQorCS5sb25nCTE1MTQ3NDY0MDgKKwkubG9uZwkxMDE5Mjc4OTcyCisJLmxvbmcJMjczNzIxNzI0OAorCS5sb25nCTEwNzE5NDU2MTUKKwkubG9uZwkxMzU4ODQ1MDY3CisJLmxvbmcJMTAxNzI2ODI3NQorCS5sb25nCTIwNzI1Nzc1NjAKKwkubG9uZwkxMDcxOTg2OTMzCisJLmxvbmcJMzA0MTAyNDczNQorCS5sb25nCTEwMTk5Mjk2NzIKKwkubG9uZwkyMjY2NDA1NjU2CisJLmxvbmcJMTA3MjAyNzAxNworCS5sb25nCTEyNzEyNjExMzAKKwkubG9uZwkxMDEyOTI1MDcwCisJLmxvbmcJOTU4NjUyNTQ0CisJLmxvbmcJMTA3MjA2NTg5NAorCS5sb25nCTIxNTgwMTcwNTgKKwkubG9uZwkxMDE5OTU1MzcyCisJLmxvbmcJMzMxMjk5Mzg0MAorCS5sb25nCTEwNzIxMDM1OTEKKwkubG9uZwk3NjU4MDkxNjkKKwkubG9uZwkxMDE5MTE0NDQzCisJLmxvbmcJMzE3NzAwMTMwNAorCS5sb25nCTEwNzIxNDAxMzkKKwkubG9uZwkxNDQxODAwODQKKwkubG9uZwkxMDE5ODIyMTg2CisJLmxvbmcJMzA3MTY0MjE4NAorCS5sb25nCTEwNzIxNzU1NjgKKwkubG9uZwk0MDA0NjAyNDI0CisJLmxvbmcJMTAxOTQyMDc0MAorCS5sb25nCTQyODM5NTM2NDgKKwkubG9uZwkxMDcyMjA5OTA5CisJLmxvbmcJMTUxMTk1MDQzMAorCS5sb25nCTEwMjAxNzY5NjYKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3MjI0MzE5NQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTUxMjk2MzgKKwkubG9uZwk0MDczMjAyOTQ0CisJLmxvbmcJMTA3MjMwNjcyNQorCS5sb25nCTQwNjgxOTQ4MDQKKwkubG9uZwkxMDE5NzE0ODYwCisJLmxvbmcJOTQ2MTE3NzYwCisJLmxvbmcJMTA3MjM2NjQxNQorCS5sb25nCTY5NDk4MDczMworCS5sb25nCTEwMjAxNTAxMzUKKwkubG9uZwkzOTgwNjMyMDMyCisJLmxvbmcJMTA3MjQyMjUxMgorCS5sb25nCTEzMTMyNTEyODAKKwkubG9uZwkxMDE5OTQ4NzA5CisJLmxvbmcJMTQ2ODI5NzExMgorCS5sb25nCTEwNzI0NzUyNjAKKwkubG9uZwkzMzAxMTExNDMKKwkubG9uZwkxMDE5ODA5MTk4CisJLmxvbmcJMzQ3ODA2MzgxNgorCS5sb25nCTEwNzI1MjQ4ODcKKwkubG9uZwkyOTMwMDY3MDQ0CisJLmxvbmcJMTAxNzc4NDA4MQorCS5sb25nCTExNTM5Nzk4NTYKKwkubG9uZwkxMDcyNTcxNjEzCisJLmxvbmcJMjIyNTc4NjEwMgorCS5sb25nCTEwMTc2MzQ0ODEKKwkubG9uZwkyMDg5ODI4ODA4CisJLmxvbmcJMTA3MjYxNTY0MQorCS5sb25nCTQ3NDYyMTM2NworCS5sb25nCTEwMTcwNDM0MTQKKwkubG9uZwkzNTMxNzMyNjMyCisJLmxvbmcJMTA3MjY1NzE2MworCS5sb25nCTIyNzYzOTYyMjAKKwkubG9uZwkxMDE4NzU3MjQwCisJLmxvbmcJNzc1MjE0NjEyCisJLmxvbmcJMTA3MjY5NDgwMworCS5sb25nCTMyMDk3NDQ4MTgKKwkubG9uZwkxMDE5OTYzMDE1CisJLmxvbmcJNjYyMzA3Mjg0CisJLmxvbmcJMTA3MjcxMzMxOQorCS5sb25nCTEzODE2OTY3NjMKKwkubG9uZwkxMDE5NzYzNzgxCisJLmxvbmcJMTE5Mjc3NjY1MgorCS5sb25nCTEwNzI3MzA4MzAKKwkubG9uZwkzMDE3OTMyOTk0CisJLmxvbmcJMTAxNTE3OTc2OQorCS5sb25nCTc0NDIwMjM5NgorCS5sb25nCTEwNzI3NDc0MDcKKwkubG9uZwkyMDczODU0MDM0CisJLmxvbmcJMTAxOTUxMjI5MgorCS5sb25nCTgzMzc5MDgKKwkubG9uZwkxMDcyNzYzMTE1CisJLmxvbmcJMTYwMDQ0NDgKKwkubG9uZwkxMDE5NTk5NTE0CisJLmxvbmcJMzU4OTg2ODc2OAorCS5sb25nCTEwNzI3NzgwMTMKKwkubG9uZwkxMzc0MzY5ODA0CisJLmxvbmcJMTAxODAxOTIzNworCS5sb25nCTEyMTY0NzMyMAorCS5sb25nCTEwNzI3OTIxNTkKKwkubG9uZwkxMjg0ODE2MzQKKwkubG9uZwkxMDE4MTE1NDM4CisJLmxvbmcJMjQ2NDkyMzIwNAorCS5sb25nCTEwNzI4MDU2MDEKKwkubG9uZwkxNzg3MzMxMjE0CisJLmxvbmcJMTAxNjc5ODAyMgorCS5sb25nCTQwOTMzMDQzNzIKKwkubG9uZwkxMDcyODMwNTYyCisJLmxvbmcJMzMwNjg2ODk2OQorCS5sb25nCTEwMTkzODQwNzgKKwkubG9uZwkxNDM2ODkxNjg0CisJLmxvbmcJMTA3Mjg1MzIzMQorCS5sb25nCTY3NjM0NzI2NgorCS5sb25nCTEwMTczMDIxODMKKwkubG9uZwkxMTA0NTcxODQwCisJLmxvbmcJMTA3Mjg3Mzg5MAorCS5sb25nCTI4NzA0MDAyODUKKwkubG9uZwkxMDE5OTM4MTQ5CisJLmxvbmcJMjAzNzAwOTgzMgorCS5sb25nCTEwNzI4OTI3ODEKKwkubG9uZwkyOTU2NzAyMTA1CisJLmxvbmcJMTAxNjQ3MjkwOAorCS5sb25nCTMxMzkwMzc5NjAKKwkubG9uZwkxMDcyOTEwMTExCisJLmxvbmcJOTE2MDU3MTQ3CisJLmxvbmcJMTAxODM2NDMzNQorCS5sb25nCTE4MjY2OTgwNjQKKwkubG9uZwkxMDcyOTI2MDU4CisJLmxvbmcJMjE3MTk2MTA5OAorCS5sb25nCTEwMTk2Njk4MTYKKwkubG9uZwkxMzUzOTQxMDYwCisJLmxvbmcJMTA3Mjk0MDc3NAorCS5sb25nCTE3MjI5Mjg3ODIKKwkubG9uZwkxMDE5OTI2MjE1CisJLmxvbmcJMTgwMzE5MTY0NAorCS5sb25nCTEwNzI5NTQzOTEKKwkubG9uZwkxNTQ3ODc4NjM5CisJLmxvbmcJMTAyMDI1OTI2MgorCS5sb25nCTEwOTI1OTEyOTYKKwkubG9uZwkxMDcyOTY3MDI0CisJLmxvbmcJMzA3MDEwNzkyMworCS5sb25nCTEwMTgzMjA0MDEKKwkubG9uZwkyMjA1MzcyODMyCisJLmxvbmcJMTA3Mjk3ODc3MgorCS5sb25nCTc4NzMyODE5NgorCS5sb25nCTEwMTQ2MjEzNTEKKwkubG9uZwkxMjkxNTc3MTAwCisJLmxvbmcJMTA3Mjk4OTcyMworCS5sb25nCTI5NjQ3NTczMDEKKwkubG9uZwkxMDIwMjQyNTI4CisJLmxvbmcJNDIzNDUxMjgwNAorCS5sb25nCTEwNzI5OTk5NTIKKwkubG9uZwkzMTM2MDMwMDM4CisJLmxvbmcJMTAxNzUyMjE0NAorCS5sb25nCTMyNDgwNjkxMzIKKwkubG9uZwkxMDczMDA5NTI4CisJLmxvbmcJMTUwNjE5MjM1NQorCS5sb25nCTEwMTgwNTA0NzIKKwkubG9uZwkzOTMyNjI4NTAwCisJLmxvbmcJMTA3MzAxODUwOQorCS5sb25nCTEwNDU4MjM1NTQKKwkubG9uZwkxMDE5OTQ2NjU1CisJLmxvbmcJNDE5NTY5Nzg0OAorCS5sb25nCTEwNzMwMjY5NDgKKwkubG9uZwkyMzM0NDMzMjIKKwkubG9uZwkxMDE4OTE3NDQ3CisJLmxvbmcJMjUwMTgxMTQ1MgorCS5sb25nCTEwNzMwMzQ4OTIKKwkubG9uZwk5MDE0Mjc5NzYKKwkubG9uZwkxMDE3MzMzODUyCisJLmxvbmcJODY2Mzc5NDI4CisJLmxvbmcJMTA3MzA0OTQ1NQorCS5sb25nCTI0Mzc0NDM3NDIKKwkubG9uZwkxMDE5Njc4NzkyCisJLmxvbmcJMTM3Njg2NTg4OAorCS5sb25nCTEwNzMwNjI0ODAKKwkubG9uZwkzMzY1NzkwMjMyCisJLmxvbmcJMTAxNDU0NzE1MgorCS5sb25nCTMyOTAwOTQyNjgKKwkubG9uZwkxMDczMDc0MTk1CisJLmxvbmcJMzg5ODk0NzQxNQorCS5sb25nCTEwMTg2ODM1NjYKKwkubG9uZwkzNTQ3NjQ4ODQKKwkubG9uZwkxMDczMDg0Nzg3CisJLmxvbmcJMzg1NDMyMjQwNAorCS5sb25nCTEwMTk2NjIwNTgKKwkubG9uZwkzMzMyOTc1NDk2CisJLmxvbmcJMTA3MzA5NDQwNgorCS5sb25nCTMxNzE3MDE2NTUKKwkubG9uZwkxMDE3ODMwOTIyCisJLmxvbmcJMTE0MTQ2MDA4OAorCS5sb25nCTEwNzMxMDMxODEKKwkubG9uZwkzOTQ2MDgyNzAxCisJLmxvbmcJMTAyMDAzMjAxOQorCS5sb25nCTc0NTc2MTI4NAorCS5sb25nCTEwNzMxMTEyMTYKKwkubG9uZwkxMzQ3MjEwNTkxCisJLmxvbmcJMTAxOTEwNjEyMQorCS5sb25nCTE2NzMzMDQ1MDgKKwkubG9uZwkxMDczMTE4NjAwCisJLmxvbmcJMTc2MDYwNjY0MgorCS5sb25nCTEwMTczMjQ1NzcKKwkubG9uZwk5ODMzODgyNDAKKwkubG9uZwkxMDczMTI1NDA5CisJLmxvbmcJMzc0MDY1MTIwNAorCS5sb25nCTEwMTk1MTQxMDQKKwkubG9uZwkzODk1NTA5MTAwCisJLmxvbmcJMTA3MzEzMTcwNgorCS5sb25nCTI0MDk2Mjk5ODMKKwkubG9uZwkxMDIwMDY5MzIyCisJLmxvbmcJMjEyODUyMzY2OAorCS5sb25nCTEwNzMxMzc1NDgKKwkubG9uZwkzMDQ1NjA1MzY4CisJLmxvbmcJMTAxODU3OTE3NAorCS5sb25nCTIwNzU0ODU2OTIKKwkubG9uZwkxMDczMTQyOTgxCisJLmxvbmcJMzcyMDU3MTc4OQorCS5sb25nCTEwMTc1NTc0MzYKKwkubG9uZwkxMjE4NTU5NzYKKwkubG9uZwkxMDczMTQ4MDQ3CisJLmxvbmcJMjM5MTc0NDc2NworCS5sb25nCTEwMjAxNjA2NDUKKwkubG9uZwk0MTgxNzMzNzgwCisJLmxvbmcJMTA3MzE1Mjc4MAorCS5sb25nCTk5NTAyODgxNgorCS5sb25nCTEwMTk2ODEyOTUKKwkubG9uZwkyODg3ODEzMjgwCisJLmxvbmcJMTA3MzE1NzIxNAorCS5sb25nCTIxODczMzI0NworCS5sb25nCTEwMjAwMDM1MDkKKwkubG9uZwkyODYyMTgwODk2CisJLmxvbmcJMTA3MzE2MTM3NQorCS5sb25nCTIwNDM4MDY0OTAKKwkubG9uZwkxMDE4NjAyMjg4CisJLmxvbmcJMzkwOTM3NTE4NAorCS5sb25nCTEwNzMxNjg5NzMKKwkubG9uZwkxNTU5OTAzNDEyCisJLmxvbmcJMTAyMDEwMzQ0NAorCS5sb25nCTM1MzM5NjYyOTIKKwkubG9uZwkxMDczMTc1NzM4CisJLmxvbmcJNzM0ODg0MTQ5CisJLmxvbmcJMTAxODQ2Mjk2MgorCS5sb25nCTM4MTUwNDQ2MDgKKwkubG9uZwkxMDczMTgxNzk5CisJLmxvbmcJMzYzMDUyMzQyOAorCS5sb25nCTEwMTcyNTAwOTMKKwkubG9uZwk3Mzk2MzkzNzYKKwkubG9uZwkxMDczMTg3MjYxCisJLmxvbmcJNDE2NzQ3NjY2MQorCS5sb25nCTEwMjAwMDgyNzcKKwkubG9uZwkxMDY4MzA5NjQ4CisJLmxvbmcJMTA3MzE5MjIwNworCS5sb25nCTIxMTAwNjE0MzcKKwkubG9uZwkxMDE5Mjk1ODU4CisJLmxvbmcJMjM1MDU2NjM1MgorCS5sb25nCTEwNzMxOTY3MDcKKwkubG9uZwk1ODI1OTY1MTYKKwkubG9uZwkxMDE4NTY4ODIxCisJLmxvbmcJMjUyOTUyMDAyNAorCS5sb25nCTEwNzMyMDA4MTkKKwkubG9uZwk3NDU1NTI3ODcKKwkubG9uZwkxMDE5MDUzMTY1CisJLmxvbmcJMTg0MTY2NzUwOAorCS5sb25nCTEwNzMyMDQ1OTEKKwkubG9uZwkzOTgyNTY4NzAwCisJLmxvbmcJMTAxNjUwMzMyNworCS5sb25nCTIyNDIyNjEwODAKKwkubG9uZwkxMDczMjA4MDYzCisJLmxvbmcJMzQzMzU4MjI1OAorCS5sb25nCTEwMTYxOTY3NjMKKwkubG9uZwk3MTUxMzQzMjgKKwkubG9uZwkxMDczMjExMjcwCisJLmxvbmcJMzU1OTAxMzU4CisJLmxvbmcJMTAyMDA4NzkxNgorCS5sb25nCTI3MDA3MzU4NzYKKwkubG9uZwkxMDczMjE0MjQwCisJLmxvbmcJMzY0MDk1NzczNgorCS5sb25nCTEwMTk3ODAyMDUKKwkubG9uZwkxNDE2MDc1ODAKKwkubG9uZwkxMDczMjE3MDAwCisJLmxvbmcJMjQ4ODI0NTA1MQorCS5sb25nCTEwMjAyNjIzOTUKKwkubG9uZwkyODc5MzQ0MDQKKwkubG9uZwkxMDczMjE5NTcwCisJLmxvbmcJMjM5MjY5MTA4NQorCS5sb25nCTEwMTk4ODMyOTIKKwkubG9uZwkyMzYzMzczOTg4CisJLmxvbmcJMTA3MzIyMTk2OQorCS5sb25nCTQxOTQ1NjE3MzcKKwkubG9uZwkxMDE5MjM3NDQ3CisJLmxvbmcJMzgyOTM0MDQyNAorCS5sb25nCTEwNzMyMjQyMTQKKwkubG9uZwk0Mjk0NTU1MjYKKwkubG9uZwkxMDE5NDkwOTc1CisJLmxvbmcJMTk4ODgwNTkyOAorCS5sb25nCTEwNzMyMjYzMjAKKwkubG9uZwkzMDI5ODQ4NzA2CisJLmxvbmcJMTAxODEwNDg4OQorCS5sb25nCTE2NDc1NzIzMjAKKwkubG9uZwkxMDczMjMwMTYxCisJLmxvbmcJMTAyODk5MzgKKwkubG9uZwkxMDE3Mzk0ODgwCisJLmxvbmcJMzk4ODAwMDYyNAorCS5sb25nCTEwNzMyMzM1NzYKKwkubG9uZwkxOTU3NTU5MTY5CisJLmxvbmcJMTAxOTQzNDgxNgorCS5sb25nCTQyNjM4NDM5NDQKKwkubG9uZwkxMDczMjM2NjMzCisJLmxvbmcJMjA0NzEwMjY0CisJLmxvbmcJMTAxOTkwODc2MQorCS5sb25nCTY2MzE5NzcyNAorCS5sb25nCTEwNzMyMzkzODYKKwkubG9uZwkxOTIxNzU3NTc4CisJLmxvbmcJMTAxOTc3ODk0OAorCS5sb25nCTM1NjA4MDA3MDAKKwkubG9uZwkxMDczMjQxODc2CisJLmxvbmcJMzk5NDM0ODg5NgorCS5sb25nCTEwMTkyMzAxOTIKKwkubG9uZwkyNDQxNzg1NjU2CisJLmxvbmcJMTA3MzI0NDE0MQorCS5sb25nCTg3MTQ2ODYxMQorCS5sb25nCTEwMTQ4MDA1MDUKKwkubG9uZwkzMjc3NDAwMjcyCisJLmxvbmcJMTA3MzI0NjIwOQorCS5sb25nCTQwOTIyMTgxMzkKKwkubG9uZwkxMDIwMDQwODQyCisJLmxvbmcJMzk1MTk5MDEyMAorCS5sb25nCTEwNzMyNDgxMDUKKwkubG9uZwk0Mjc2NTQ2NDc4CisJLmxvbmcJMTAxOTc2MzY3NworCS5sb25nCTI3MzczMzg1NDAKKwkubG9uZwkxMDczMjQ5ODUwCisJLmxvbmcJMjUyNzc2MDEyCisJLmxvbmcJMTAxODc5NDk1MQorCS5sb25nCTE1MTEzNjEzMTYKKwkubG9uZwkxMDczMjUxNDYxCisJLmxvbmcJMzExOTY1Mzk5OQorCS5sb25nCTEwMTg1MTQ4MDMKKwkubG9uZwkzOTY5MTYyNTE2CisJLmxvbmcJMTA3MzI1Mjk1MgorCS5sb25nCTEwMzcwNjkwMTYKKwkubG9uZwkxMDE2NzkyOTAwCisJLmxvbmcJNDEzOTg1MjQwCisJLmxvbmcJMTA3MzI1NDMzOAorCS5sb25nCTQxMTAxNzE0MzIKKwkubG9uZwkxMDIwMDAxMzQ1CisJLmxvbmcJMzY4MTI4MzU3NgorCS5sb25nCTEwNzMyNTU2MjcKKwkubG9uZwkxNDYzMDkyODE4CisJLmxvbmcJMTAyMDI2MDM1NAorCS5sb25nCTMxNDY0NTU0ODgKKwkubG9uZwkxMDczMjU2ODMxCisJLmxvbmcJMTAzMTIwOTEyMworCS5sb25nCTEwMTY1NTQ3OTkKKwkubG9uZwk5NTIxNDUxMgorCS5sb25nCTEwNzMyNTc5NTgKKwkubG9uZwkxMzczODA4NjMyCisJLmxvbmcJMTAxOTQ5MzAzMQorCS5sb25nCTQyNTAyNDA4MjgKKwkubG9uZwkxMDczMjU5MDEzCisJLmxvbmcJMzg5MTA0Nzg4MgorCS5sb25nCTEwMjAxMDg3MzAKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3MzI5MTc3MQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTYxNzgyMTQKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3MzI5MTc3MQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTYxNzgyMTQKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3NDM0MDM0NworCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTcyMjY3OTAKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3MjI0MzE5NQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTUxMjk2MzgKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3NDM0MDM0NworCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTcyMjY3OTAKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMzIyMTgyMzk5NQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTMxNjQ3MTA0MzgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE3MjI2NzkwCisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzQzNDAzNDcKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkzMTY0NzEwNDM4CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTMyMjE4MjM5OTUKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjAwNjI2Mjk4NQorCS5sb25nCTEwNjkzMTA4NjMKKwkubG9uZwkyMzU4NDQ5NDcxCisJLmxvbmcJMzIxNzM0MjEzMQorCS5sb25nCTM4NDU0NTQzNTIKKwkubG9uZwkxMDY5OTUyMjk3CisJLmxvbmcJMjgyOTY3OTE0OQorCS5sb25nCTEwNzM3NzE1NjUKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMjE0ODUzMjIyMworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExMzAzNjQ5MjgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwzMDI0CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvZV9jb3NoLlMgYi9saWJtL3g4Ni9lX2Nvc2guUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2VhOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvZV9jb3NoLlMKQEAgLTAsMCArMSwxMzQ5IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gIGNvc2goeCk9KGV4cCh4KStleHAoLXgpKS8yCisvLworLy8gIExldCB8eHw9eEgreEwgKHVwcGVyIDI2IGJpdHMsIGxvd2VyIDI3IGJpdHMpCisvLyAgbG9nMihlKSByb3VuZGVkIHRvIDI2IGJpdHMgKGhpZ2ggcGFydCkgcGx1cyBhIGRvdWJsZSBwcmVjaXNpb24gbG93IHBhcnQgaXMKKy8vICAgICAgICAgIEwyRUgrTDJFTCAodXBwZXIgMjYsIGxvd2VyIDUzIGJpdHMpCisvLworLy8gIExldCB4SCpMMkVIPWsrZityYCwgd2hlcmUgKGsrZikqMl43PWludCh4SCpMMkVIKjJeNyksCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGY9MC5iMSBiMiAuLi4gYjcsIGsgaW50ZWdlcgorLy8gIDJeZiBpcyBhcHByb3hpbWF0ZWQgYXMgVHBbZl0rRHBbZl0sIGFuZCAyXnstZn0gYXMgVG5bZl0rRG5bZl0KKy8vICBUcCBzdG9yZXMgaGlnaGVyIDUzIGJpdHMsIERwIHN0b3JlcyAoMl5mLVRwW2ZdKSByb3VuZGVkIHRvIGRvdWJsZSBwcmVjaXNpb24KKy8vCisvLyAgZV58eHw9Ml57aytmfSoyXnIsIHI9cmAreEwqTDJFSCt8eHwqTDJFTCwgfHJ8PDJeey04fSsyXnstMTR9LAorLy8gICAgICAgICAgICAgICAgICAgICAgIGZvciB8eHwgaW4gWzEvOCwzKjJeOCkKKy8vICBlXnstfHh8fT0yXnstay1mfSoyXnstcn0KKy8vCisvLyAgZV58eHwgaXMgYXBwcm94aW1hdGVkIGFzIDJeaypUcCsyXmsqVHAqYzEqcigxK2MyKnIrLi4rYzUqcl40KSsyXmsqRHA9CisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgID0yXmsqVHArMl5rKlRwKlAxNSsyXmsqRHAKKy8vICBlXnstfHh8fSBhcHByb3hpbWF0ZWQgYXMgMl57LWt9KlRuLTJeey1rfSpUbipjMSpyKDEtYzIqcisuLitjNSpyXjQpCisvLworLy8gIEZvciB8eHwgaW4gWzEvOCwgMyoyXjcpLCBjb3NoKHgpIGlzIGZvcm1lZCBhcworLy8gICBSTigyXmsqVHArMl57LWt9KlRuKSsyXmsqVHAqUDE1KzJeey1rfSpUbipQYDE1KzJeey1rfSpUbkwrMl57LWt9KkRuKzJeaypEcAorLy8KKy8vICBGb3IgfHh8IGluIFszKjJeNywgMyoyXjgpLCAoZV58eHwpLzIgaXMgcmV0dXJuZWQsIGFuZAorLy8gIHRoZSByZXN1bHQgaXMgY2hlY2tlZCBmb3Igb3ZlcmZsb3cuCisvLworLy8gIEZvciB8eHw8MS84LCBhIFRheWxvciBwb2x5bm9taWFsIGV4cGFuc2lvbiBpcyB1c2VkIChkZWdyZWUgMTApCisvLyAgKGVycm9yIGJvdW5kIGZvciBwb2x5bm9taWFsIGV4cGFuc2lvbiBpcyBiZWxvdyAwLjUwMSB1bHApCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBjb3NoKE5hTikgPSBxdWlldCBOYU4sIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGNvc2goSU5GKSA9IHRoYXQgSU5GCisvLyAgY29zaCgwKT0xCisvLyAgZm9yIGZpbml0ZSBhcmd1bWVudCwgb25seSBjb3NoKDApPTEgaXMgZXhhY3QKKy8vICBGb3IgSUVFRSBkb3VibGUKKy8vICBjb3NoKHgpIG92ZXJmbG93cworLy8gIGZvciB4ID4gNzEwLjQ3NTg2MDA3Mzk0Mzg2MzQyNjM5MzM2MzYyNDgxMTE3MjQ4NTM1MTU2MjUwID0gTUFYTE9HK2xvZygyKQorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGNvc2gKK0VOVFJZKGNvc2gpCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEwNCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNDAoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICA0MjQwKCVlYngpLCAleG1tMworICAgICAgICB4b3JwZCAgICAgJXhtbTQsICV4bW00CisgICAgICAgIG1vdnNkICAgICA0MTkyKCVlYngpLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgNDIwMCglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW00CisgICAgICAgIG1vdnNkICAgICA0MDk2KCVlYngpLCAleG1tNgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWN4CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgYW5kbnBkICAgICV4bW0wLCAleG1tNAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTUKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVjeAorICAgICAgICBzdWJsICAgICAgJDE2MzIwLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMjAwLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMgorICAgICAgICBjdnRzZDJzaSAgJXhtbTMsICVlYXgKKyAgICAgICAgbW92YXBkICAgICV4bW0zLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA0MTEyKCVlYngpLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICA0MTI4KCVlYngpLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG1vdmwgICAgICAkMzI3MDQsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgNDE0NCglZWJ4KSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDEyNywgJWVkeAorICAgICAgICBhbmRsICAgICAgJWVheCwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBzaHJsICAgICAgJDMsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQ2NTUyMCwgJWVheAorICAgICAgICBhZGRsICAgICAgJDE2MzUyLCAlZWF4CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgY21wbCAgICAgICQxODQsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW01LCAleG1tNQorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBwc3VidyAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG11bHBkICAgICAoJWVieCwlZWR4LDgpLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgMjA0OCglZWJ4LCVlZHgsOCksICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0yLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgNDE2MCglZWJ4KSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHBkICAgICA0MTc2KCVlYngpLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFkZHBkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIHNodWZwZCAgICAkMCwgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tMgorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQxNjMyMCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDE2MzIwLCAlZWN4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBjbXBsICAgICAgJDE1OTUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG1vdnNkICAgICA0MjQ4KCVlYngpLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBzdWJsICAgICAgJDE2MzUyLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQxLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNjU1MjAsICVlYXgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgKCVlYngsJWVkeCw4KSwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdnNkICAgICA0MTYwKCVlYngpLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgNDE3NiglZWJ4KSwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkbCAgICAgICQxNjM2OCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQ2NCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzQuMC4yOgorICAgICAgICBtb3ZhcGQgICAgNDIwOCglZWJ4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgNDIyNCglZWJ4KSwgJXhtbTIKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDQyNDgoJWVieCksICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbW92bCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTEsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkNjQsICVlZHgKKy5MXzJUQUdfUEFDS0VUXzUuMC4yOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBtb3ZzZCAgICAgMTEyKCVlc3ApLCAleG1tMAorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAyNCglZXNwKQorICAgICAgICBmbGRsICAgICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBtb3ZsICAgICAgNDAoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGNvc2gpCisjIC0tIEVuZCAgY29zaAorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0woY29zaGwsIGNvc2gpOworIyBFbmQgZmlsZSBzY29wZSBBU00KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK3N0YXRpY19jb25zdF90YWJsZToKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzI2OTg5NDEKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNjgxNTkxMworCS5sb25nCTEwNDgwMTkwNDEKKwkubG9uZwkxMDcyNzA0NjY2CisJLmxvbmcJMTM5ODQ3NDg0NQorCS5sb25nCTMxNjE1NTkxNzEKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MjcxMDQyMQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjM1OTU1NDgKKwkubG9uZwkzNTQxNDAyOTk2CisJLmxvbmcJMTA3MjcxNjIwOAorCS5sb25nCTI3NTkxNzczMTcKKwkubG9uZwkxMDE1OTAzMjAyCisJLmxvbmcJNzAyNDEyNTEwCisJLmxvbmcJMTA3MjcyMjAyNworCS5sb25nCTM4MDMyNjYwODcKKwkubG9uZwkzMTYzMzI4OTkxCisJLmxvbmcJNDEwMzYwNzc2CisJLmxvbmcJMTA3MjcyNzg3NworCS5sb25nCTEyNjk5OTA2NTUKKwkubG9uZwkxMDEzMDI0NDQ2CisJLmxvbmcJMzQwMjAzNjA5OQorCS5sb25nCTEwNzI3MzM3NTgKKwkubG9uZwk0MDU4ODkzMzQKKwkubG9uZwkxMDE2MTU0MjMyCisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTEwNzI3Mzk2NzIKKwkubG9uZwkxMjU1OTU2NzQ3CisJLmxvbmcJMTAxNjYzNjk3NAorCS5sb25nCTcyODkwOTgxNQorCS5sb25nCTEwNzI3NDU2MTgKKwkubG9uZwkzODM5MzAyMjUKKwkubG9uZwkxMDE2MDc4MDQ0CisJLmxvbmcJODUyNzQyNTYyCisJLmxvbmcJMTA3Mjc1MTU5NgorCS5sb25nCTY2NzI1MzU4NgorCS5sb25nCTEwMTA4NDIxMzUKKwkubG9uZwkyOTUyNzEyOTg3CisJLmxvbmcJMTA3Mjc1NzYwNgorCS5sb25nCTMyOTM0OTQ2NTEKKwkubG9uZwkzMTYxMTY4ODc3CisJLmxvbmcJMzQ5MDg2Mzk1MworCS5sb25nCTEwNzI3NjM2NDkKKwkubG9uZwk5NjA3OTc0OTgKKwkubG9uZwkzMTYzOTk3NDU2CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzI3Njk3MjUKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1OTQ3MTM4MAorCS5sb25nCTI5MzAzMjI5MTIKKwkubG9uZwkxMDcyNzc1ODM0CisJLmxvbmcJMjU5OTQ5OTQyMgorCS5sb25nCTMxNjM3NjI2MjMKKwkubG9uZwkzMzY2MjkzMDczCisJLmxvbmcJMTA3Mjc4MTk3NgorCS5sb25nCTMxMTk0MjYzMTQKKwkubG9uZwkxMDE1MTY5MTMwCisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzI3ODgxNTIKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MjYwNzY4MQorCS5sb25nCTk0ODczNTQ2NgorCS5sb25nCTEwNzI3OTQzNjEKKwkubG9uZwkzNTE2MzM4MDI4CisJLmxvbmcJMzE2MzYyMzQ1OQorCS5sb25nCTM5NDk5NzIzNDEKKwkubG9uZwkxMDcyODAwNjAzCisJLmxvbmcJMjA2ODQwODU0OAorCS5sb25nCTEwMTU5NjI0NDQKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MjgwNjg4MAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjQxNjQ5OTgKKwkubG9uZwk4Mjg5NDY4NTgKKwkubG9uZwkxMDcyODEzMTkxCisJLmxvbmcJMTA2NDI0OTIKKwkubG9uZwkxMDE2OTg4MDE0CisJLmxvbmcJNTg2OTk1OTk3CisJLmxvbmcJMTA3MjgxOTUzNgorCS5sb25nCTQxNjYyMzQ4CisJLmxvbmcJMzE2MzY3NjU2OAorCS5sb25nCTIyODgxNTk5NTgKKwkubG9uZwkxMDcyODI1OTE1CisJLmxvbmcJMjE2OTE0NDQ2OQorCS5sb25nCTEwMTU5MjQ1OTcKKwkubG9uZwkyNDQwOTQ0NzkwCisJLmxvbmcJMTA3MjgzMjMyOQorCS5sb25nCTI0OTI3Njk3NzQKKwkubG9uZwkxMDE1MTk2MDMwCisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzI4Mzg3NzgKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNjcwNTE1MAorCS5sb25nCTEzMzcxMDgwMzEKKwkubG9uZwkxMDcyODQ1MjYyCisJLmxvbmcJMzIwMzcyNDQ1MgorCS5sb25nCTEwMTU3MjY0MjEKKwkubG9uZwkxNzA5MzQxOTE3CisJLmxvbmcJMTA3Mjg1MTc4MQorCS5sb25nCTI1NzExNjgyMTcKKwkubG9uZwkxMDE1MjAxMDc1CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzI4NTgzMzUKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2NDIyODY2NgorCS5sb25nCTQxMTI1MDY1OTMKKwkubG9uZwkxMDcyODY0OTI1CisJLmxvbmcJMjk0NzM1NTIyMQorCS5sb25nCTEwMTU0MTk2MjQKKwkubG9uZwkzNTA0MDAzNDcyCisJLmxvbmcJMTA3Mjg3MTU1MQorCS5sb25nCTM1OTQwMDEwNjAKKwkubG9uZwkzMTU4Mzc5MjI4CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzI4NzgyMTMKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNjA3MDcyNworCS5sb25nCTI4Mzk0MjQ4NTQKKwkubG9uZwkxMDcyODg0OTExCisJLmxvbmcJMTE3MTU5NjE2MworCS5sb25nCTEwMTQwOTAyNTUKKwkubG9uZwkxNzEwMzAyOTMKKwkubG9uZwkxMDcyODkxNjQ2CisJLmxvbmcJMzUyNjQ2MDEzMgorCS5sb25nCTEwMTU0NzczNTQKKwkubG9uZwk0MjMyODk0NTEzCisJLmxvbmcJMTA3Mjg5ODQxNgorCS5sb25nCTIzODM5Mzg2ODQKKwkubG9uZwkxMDE1NzE3MDk1CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzI5MDUyMjQKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNjI3Njc2OQorCS5sb25nCTE2MDM0NDQ3MjEKKwkubG9uZwkxMDcyOTEyMDY5CisJLmxvbmcJMTU0ODYzMzY0MAorCS5sb25nCTMxNjMyNDk5MDIKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcyOTE4OTUxCisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjM5NjIwOTAKKwkubG9uZwkxODI5MDk5NjIyCisJLmxvbmcJMTA3MjkyNTg3MAorCS5sb25nCTEwMTY2NjExODEKKwkubG9uZwkzMTY0NTA5NTgxCisJLmxvbmcJODg3NDYzOTI3CisJLmxvbmcJMTA3MjkzMjgyNworCS5sb25nCTM1OTY3NDQxNjMKKwkubG9uZwkzMTYxODQyNzQyCisJLmxvbmcJMzI3Mjg0NTU0MQorCS5sb25nCTEwNzI5Mzk4MjEKKwkubG9uZwk5Mjg4NTI0MTkKKwkubG9uZwkzMTY0NTM2ODI0CisJLmxvbmcJMTI3NjI2MTQxMAorCS5sb25nCTEwNzI5NDY4NTQKKwkubG9uZwkzMDA5ODE5NDgKKwkubG9uZwkxMDE1NzMyNzQ1CisJLmxvbmcJNzg0MTM4NTIKKwkubG9uZwkxMDcyOTUzOTI1CisJLmxvbmcJNDE4MzIyNjg2NworCS5sb25nCTMxNjQwNjU4MjcKKwkubG9uZwk1Njk4NDczMzgKKwkubG9uZwkxMDcyOTYxMDM0CisJLmxvbmcJNDcyOTQ1MjcyCisJLmxvbmcJMzE2MDMzOTMwNQorCS5sb25nCTM2NDU5NDE5MTEKKwkubG9uZwkxMDcyOTY4MTgxCisJLmxvbmcJMzgxNDY4NTA4MQorCS5sb25nCTMxNjI2MjE5MTcKKwkubG9uZwkxNjE3MDA0ODQ1CisJLmxvbmcJMTA3Mjk3NTM2OAorCS5sb25nCTgyODA0OTQ0CisJLmxvbmcJMTAxMTM5MTM1NAorCS5sb25nCTM5NzgxMDA4MjMKKwkubG9uZwkxMDcyOTgyNTkzCisJLmxvbmcJMzUxMzAyNzE5MAorCS5sb25nCTEwMTY4OTQ1MzkKKwkubG9uZwkzMDQ5MzQwMTEyCisJLmxvbmcJMTA3Mjk4OTg1OAorCS5sb25nCTMwNjI5MTU4MjQKKwkubG9uZwkxMDE0MjE5MTcxCisJLmxvbmcJNDA0MDY3NjMxOAorCS5sb25nCTEwNzI5OTcxNjIKKwkubG9uZwk0MDkwNjA5MjM4CisJLmxvbmcJMTAxNjcxMjAzNAorCS5sb25nCTM1NzcwOTY3NDMKKwkubG9uZwkxMDczMDA0NTA2CisJLmxvbmcJMjk1MTQ5NjQxOAorCS5sb25nCTEwMTQ4NDIyNjMKKwkubG9uZwkyNTgzNTUxMjQ1CisJLmxvbmcJMTA3MzAxMTg5MAorCS5sb25nCTMxNjEwOTQxOTUKKwkubG9uZwkxMDE2NjU1MDY3CisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzMwMTkzMTQKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2Mzg2MTc2OQorCS5sb25nCTI3MzE1MDExMjIKKwkubG9uZwkxMDczMDI2Nzc4CisJLmxvbmcJMTc3NDAzMTg1NQorCS5sb25nCTMxNjM1MTg1OTcKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MzAzNDI4MworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjI1MzY2MzgKKwkubG9uZwkzMzk1MTI5ODcxCisJLmxvbmcJMTA3MzA0MTgyOAorCS5sb25nCTQwMjUzNDU0MzUKKwkubG9uZwkzMTYzMzgzOTY0CisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MzA0OTQxNQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNjcwNzg4NAorCS5sb25nCTM1NjY3MTY5MjUKKwkubG9uZwkxMDczMDU3MDQyCisJLmxvbmcJMTUzNjgyNjg1NgorCS5sb25nCTEwMTUxOTEwMDkKKwkubG9uZwkzNzEyNTA0ODczCisJLmxvbmcJMTA3MzA2NDcxMQorCS5sb25nCTg4NDkxOTQ5CisJLmxvbmcJMTAxNjQ3NjIzNgorCS5sb25nCTIzMjExMDY2MTUKKwkubG9uZwkxMDczMDcyNDIyCisJLmxvbmcJMjE3MTE3NjYxMAorCS5sb25nCTEwMTA1ODQzNDcKKwkubG9uZwkzNjM2Njc3ODQKKwkubG9uZwkxMDczMDgwMTc1CisJLmxvbmcJODEzNzUzOTUwCisJLmxvbmcJMTAxNjgzMzc4NQorCS5sb25nCTMxMTE1NzQ1MzcKKwkubG9uZwkxMDczMDg3OTY5CisJLmxvbmcJMjYwNjE2MTQ3OQorCS5sb25nCTMxNjM4MDgzMjIKKwkubG9uZwkyOTU2NjEyOTk3CisJLmxvbmcJMTA3MzA5NTgwNgorCS5sb25nCTIxMTgxNjk3NTEKKwkubG9uZwkzMTYzNzg0MTI5CisJLmxvbmcJODg1ODM0NTI4CisJLmxvbmcJMTA3MzEwMzY4NgorCS5sb25nCTE5NzMyNTg1NDcKKwkubG9uZwkzMTYzMzEwMTQwCisJLmxvbmcJMjE4NjYxNzM4MQorCS5sb25nCTEwNzMxMTE2MDgKKwkubG9uZwkyMjcwNzY0MDg0CisJLmxvbmcJMzE2NDMyMTI4OQorCS5sb25nCTM1NjE3OTM5MDcKKwkubG9uZwkxMDczMTE5NTczCisJLmxvbmcJMTE1NzA1NDA1MworCS5sb25nCTEwMTI5Mzg5MjYKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MzEyNzU4MgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjQzMzEzMTYKKwkubG9uZwkxOTYzNzExMTY3CisJLmxvbmcJMTA3MzEzNTYzNAorCS5sb25nCTE3NDQ3Njc3NTcKKwkubG9uZwkzMTYxNjIyODcwCisJLmxvbmcJMTAxMzI1ODc5OQorCS5sb25nCTEwNzMxNDM3MzAKKwkubG9uZwkxNzQ4Nzk3NjExCisJLmxvbmcJMzE2MTE3NzY1OAorCS5sb25nCTQxODI4NzMyMjAKKwkubG9uZwkxMDczMTUxODY5CisJLmxvbmcJNjI5NTQyNjQ2CisJLmxvbmcJMzE2MzA0NDg3OQorCS5sb25nCTM5MDc4MDUwNDQKKwkubG9uZwkxMDczMTYwMDUzCisJLmxvbmcJMjI1NzA5MTIyNQorCS5sb25nCTMxNjI1OTg5ODMKKwkubG9uZwkxMjE4ODA2MTMyCisJLmxvbmcJMTA3MzE2ODI4MgorCS5sb25nCTE4MTg2MTMwNTIKKwkubG9uZwkzMTYzNTk3MDE3CisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzMxNzY1NTUKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MzU2MzA5NworCS5sb25nCTEzMzk5NzI5MjcKKwkubG9uZwkxMDczMTg0ODczCisJLmxvbmcJMTY3OTA4OTA5CisJLmxvbmcJMTAxNjYyMDcyOAorCS5sb25nCTE5NDQ3ODExOTEKKwkubG9uZwkxMDczMTkzMjM2CisJLmxvbmcJMzk5MzI3ODc2NworCS5sb25nCTMxNjI3NzI4NTUKKwkubG9uZwkxOTk3MjQwMgorCS5sb25nCTEwNzMyMDE2NDUKKwkubG9uZwkzNTA3ODk5ODYyCisJLmxvbmcJMTAxNzA1Nzg2OAorCS5sb25nCTkxOTU1NTY4MgorCS5sb25nCTEwNzMyMTAwOTkKKwkubG9uZwkzMTIxOTY5NTM0CisJLmxvbmcJMTAxMzk5NjgwMgorCS5sb25nCTE0MTMzNTYwNTAKKwkubG9uZwkxMDczMjE4NTk5CisJLmxvbmcJMTY1MTM0OTI5MQorCS5sb25nCTMxNjM3MTY3NDIKKwkubG9uZwkyNTcxOTQ3NTM5CisJLmxvbmcJMTA3MzIyNzE0NQorCS5sb25nCTM1NTgxNTkwNjQKKwkubG9uZwkzMTY0NDI1MjQ1CisJLmxvbmcJMTE3Njc0OTk5NworCS5sb25nCTEwNzMyMzU3MzgKKwkubG9uZwkyNzM4OTk4Nzc5CisJLmxvbmcJMzE2MzA4NDQyMAorCS5sb25nCTI2MDQ5NjI1NDEKKwkubG9uZwkxMDczMjQ0Mzc3CisJLmxvbmcJMjYxNDQyNTI3NAorCS5sb25nCTMxNjQ1ODc3NjgKKwkubG9uZwkzNjQ5NzI2MTA1CisJLmxvbmcJMTA3MzI1MzA2MworCS5sb25nCTQwODUwMzYzNDYKKwkubG9uZwkxMDE2Njk4MDUwCisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzMyNjE3OTcKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNjUyMzI0OQorCS5sb25nCTM4MDk3ODMxNgorCS5sb25nCTEwNzMyNzA1NzgKKwkubG9uZwk4NTQxODg5NzAKKwkubG9uZwkzMTYxNTExMjYyCisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzMyNzk0MDYKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNTQwMTQ5MQorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzMyODgyODMKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTY0NDYwNjY1CisJLmxvbmcJMjk2NjI3NTU1NworCS5sb25nCTEwNzMyOTcyMDcKKwkubG9uZwkyMTc2MTU1MzI0CisJLmxvbmcJMzE2MDg5MTMzNQorCS5sb25nCTM0MTg5MDMwNTUKKwkubG9uZwkxMDczMzA2MTgwCisJLmxvbmcJMjUyNzQ1NzMzNworCS5sb25nCTMxNjE4NjkxODAKKwkubG9uZwkyNjgyMTQ2Mzg0CisJLmxvbmcJMTA3MzMxNTIwMgorCS5sb25nCTIwODIxNzg1MTMKKwkubG9uZwkzMTY0NDExOTk1CisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzMzMjQyNzMKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MzY0ODk1NworCS5sb25nCTIxOTE3ODIwMzIKKwkubG9uZwkxMDczMzMzMzkzCisJLmxvbmcJMjk2MDI1NzcyNgorCS5sb25nCTEwMTQ3OTEyMzgKKwkubG9uZwk0MzQzMTYwNjcKKwkubG9uZwkxMDczMzQyNTYzCisJLmxvbmcJMjAyODM1ODc2NgorCS5sb25nCTEwMTQ1MDY2OTgKKwkubG9uZwkyMDY5NzUxMTQxCisJLmxvbmcJMTA3MzM1MTc4MgorCS5sb25nCTE1NjIxNzA2NzUKKwkubG9uZwkzMTYzNzczMjU3CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzMzNjEwNTEKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNjQ3NTc0MAorCS5sb25nCTI5OTA0MTcyNDUKKwkubG9uZwkxMDczMzcwMzcxCisJLmxvbmcJMzY4MzQ2Nzc0NQorCS5sb25nCTMxNjQ0MTc5MDIKKwkubG9uZwkzMjE5NTg3NDQKKwkubG9uZwkxMDczMzc5NzQyCisJLmxvbmcJMzQwMTkzMzc2NworCS5sb25nCTEwMTY4NDMxMzQKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MzM4OTE2MworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTYxMzQzNDUKKwkubG9uZwkzMjE4MzM4NjgyCisJLmxvbmcJMTA3MzM5ODYzNQorCS5sb25nCTM0MDQxNjQzMDQKKwkubG9uZwkzMTYzNTI1Njg0CisJLmxvbmcJMjU3Mjg2NjQ3NworCS5sb25nCTEwNzM0MDgxNTkKKwkubG9uZwk4Nzg1NjI0MzMKKwkubG9uZwkxMDE2NTcwMzE3CisJLmxvbmcJNjk3MTUzMTI2CisJLmxvbmcJMTA3MzQxNzczNQorCS5sb25nCTEyODM1MTU0MjkKKwkubG9uZwkzMTY0MzMxNzY1CisJLmxvbmcJMzA5MjE5MDcxNQorCS5sb25nCTEwNzM0MjczNjIKKwkubG9uZwk4MTQwMTIxNjgKKwkubG9uZwkzMTYwNTcxOTk4CisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzM0MzcwNDIKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2NDM2OTM3NQorCS5sb25nCTQwNzY1NTk5NDMKKwkubG9uZwkxMDczNDQ2Nzc0CisJLmxvbmcJMjExOTQ3ODMzMQorCS5sb25nCTMxNjE4MDY5MjcKKwkubG9uZwk4MTU4NTkyNzQKKwkubG9uZwkxMDczNDU2NTYwCisJLmxvbmcJMjQwMzk2NTkwCisJLmxvbmcJMzE2NDUzNjAxOQorCS5sb25nCTI0MjA4ODM5MjIKKwkubG9uZwkxMDczNDY2Mzk4CisJLmxvbmcJMjA0OTgxMDA1MgorCS5sb25nCTEwMTUxNjg0NjQKKwkubG9uZwkxNTQwODI0NTg1CisJLmxvbmcJMTA3MzQ3NjI5MAorCS5sb25nCTEwNjQwMTcwMTEKKwkubG9uZwkzMTY0NTM2MjY2CisJLmxvbmcJMzcxNjUwMjE3MgorCS5sb25nCTEwNzM0ODYyMzUKKwkubG9uZwkyMzAzNzQwMTI1CisJLmxvbmcJMTAxNTA5MTMwMQorCS5sb25nCTE2MTA2MDA1NzAKKwkubG9uZwkxMDczNDk2MjM1CisJLmxvbmcJMzc2NjczMjI5OAorCS5sb25nCTEwMTY4MDg3NTkKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwkxMDczNTA2Mjg5CisJLmxvbmcJNDI4MjkyNDIwNQorCS5sb25nCTEwMTYyMzYxMDkKKwkubG9uZwkyNDgzNDgwNTAxCisJLmxvbmcJMTA3MzUxNjM5NworCS5sb25nCTEyMTYzNzE3ODAKKwkubG9uZwkxMDE0MDgyNzQ4CisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzM1MjY1NjAKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxNDMwMTY0MworCS5sb25nCTE0MzIyMDgzNzgKKwkubG9uZwkxMDczNTM2Nzc5CisJLmxvbmcJMTQwMTA2ODkxNAorCS5sb25nCTMxNjM0MTI1MzkKKwkubG9uZwkxMjQyMDA3OTMyCisJLmxvbmcJMTA3MzU0NzA1MworCS5sb25nCTExMzIwMzQ3MTYKKwkubG9uZwkzMTY0Mzg4NDA3CisJLmxvbmcJMTM1MTA1MDEwCisJLmxvbmcJMTA3MzU1NzM4MworCS5sb25nCTE5MDYxNDg3MjgKKwkubG9uZwkzMTY0NDI0MzE1CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTEwNzM1Njc3NjgKKwkubG9uZwkzNjEzMDc5MzAzCisJLmxvbmcJMTAxNTIxMzMxNAorCS5sb25nCTM4MjMwNTE3NgorCS5sb25nCTEwNzM1NzgyMTEKKwkubG9uZwkyMzQ3NjIyMzc2CisJLmxvbmcJMzE2MzYyNzIwMQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MzU4ODcxMAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE2ODY1NTM2CisJLmxvbmcJNDA3Njk3NTIwMAorCS5sb25nCTEwNzM1OTkyNjUKKwkubG9uZwkyMDI5MDAwODk5CisJLmxvbmcJMTAxNjI1NzExMQorCS5sb25nCTg2MzczODcxOQorCS5sb25nCTEwNzM2MDk4NzkKKwkubG9uZwkxMzI2OTkyMjIwCisJLmxvbmcJMzE2MzY2MTc3MworCS5sb25nCTM1MTY0MTg5NworCS5sb25nCTEwNzM2MjA1NTAKKwkubG9uZwkyMTcyMjYxNTI2CisJLmxvbmcJMzE2NDA1OTE3NQorCS5sb25nCTM4ODQ2NjI3NzQKKwkubG9uZwkxMDczNjMxMjc4CisJLmxvbmcJMjE1ODYxMTU5OQorCS5sb25nCTEwMTUyNTg3NjEKKwkubG9uZwk0MjI0MTQyNDY3CisJLmxvbmcJMTA3MzY0MjA2NQorCS5sb25nCTMzODk4MjAzODYKKwkubG9uZwkxMDE2MjU1Nzc4CisJLmxvbmcJMjcyODY5Mzk3OAorCS5sb25nCTEwNzM2NTI5MTEKKwkubG9uZwkzOTYxMDk5NzEKKwkubG9uZwkzMTY0NTExMjY3CisJLmxvbmcJNzY0MzA3NDQxCisJLmxvbmcJMTA3MzY2MzgxNgorCS5sb25nCTMwMjEwNTc0MjAKKwkubG9uZwkzMTY0Mzc4MDk5CisJLmxvbmcJMzk5OTM1NzQ3OQorCS5sb25nCTEwNzM2NzQ3NzkKKwkubG9uZwkyMjU4OTQxNjE2CisJLmxvbmcJMTAxNjk3MzMwMAorCS5sb25nCTkyOTgwNjk5OQorCS5sb25nCTEwNzM2ODU4MDMKKwkubG9uZwkzMjA1MzM2NjQzCisJLmxvbmcJMTAxNjMwODEzMworCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDczNjk2ODg2CisJLmxvbmcJNzY5MTcxODUxCisJLmxvbmcJMTAxNjcxNDIwOQorCS5sb25nCTI5MTI3MzA2NDQKKwkubG9uZwkxMDczNzA4MDI5CisJLmxvbmcJMzQ5MDA2NzcyMgorCS5sb25nCTMxNjQ0NTM2NTAKKwkubG9uZwkyMTc0NjUyNjMyCisJLmxvbmcJMTA3MzcxOTIzMworCS5sb25nCTQwODc3MTQ1OTAKKwkubG9uZwkxMDE1NDk4ODM1CisJLmxvbmcJNzMwODIxMTA1CisJLmxvbmcJMTA3MzczMDQ5OAorCS5sb25nCTI1MjMyMzI3NDMKKwkubG9uZwkxMDEzMTE1NzY0CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTczMDgyMTEwNQorCS5sb25nCTEwNzI2ODE5MjIKKwkubG9uZwkyNTIzMjMyNzQzCisJLmxvbmcJMTAxMjA2NzE4OAorCS5sb25nCTIxNzQ2NTI2MzIKKwkubG9uZwkxMDcyNjcwNjU3CisJLmxvbmcJNDA4NzcxNDU5MAorCS5sb25nCTEwMTQ0NTAyNTkKKwkubG9uZwkyOTEyNzMwNjQ0CisJLmxvbmcJMTA3MjY1OTQ1MworCS5sb25nCTM0OTAwNjc3MjIKKwkubG9uZwkzMTYzNDA1MDc0CisJLmxvbmcJMTUzMzk1MzM0NAorCS5sb25nCTEwNzI2NDgzMTAKKwkubG9uZwk3NjkxNzE4NTEKKwkubG9uZwkxMDE1NjY1NjMzCisJLmxvbmcJOTI5ODA2OTk5CisJLmxvbmcJMTA3MjYzNzIyNworCS5sb25nCTMyMDUzMzY2NDMKKwkubG9uZwkxMDE1MjU5NTU3CisJLmxvbmcJMzk5OTM1NzQ3OQorCS5sb25nCTEwNzI2MjYyMDMKKwkubG9uZwkyMjU4OTQxNjE2CisJLmxvbmcJMTAxNTkyNDcyNAorCS5sb25nCTc2NDMwNzQ0MQorCS5sb25nCTEwNzI2MTUyNDAKKwkubG9uZwkzMDIxMDU3NDIwCisJLmxvbmcJMzE2MzMyOTUyMworCS5sb25nCTI3Mjg2OTM5NzgKKwkubG9uZwkxMDcyNjA0MzM1CisJLmxvbmcJMzk2MTA5OTcxCisJLmxvbmcJMzE2MzQ2MjY5MQorCS5sb25nCTQyMjQxNDI0NjcKKwkubG9uZwkxMDcyNTkzNDg5CisJLmxvbmcJMzM4OTgyMDM4NgorCS5sb25nCTEwMTUyMDcyMDIKKwkubG9uZwkzODg0NjYyNzc0CisJLmxvbmcJMTA3MjU4MjcwMgorCS5sb25nCTIxNTg2MTE1OTkKKwkubG9uZwkxMDE0MjEwMTg1CisJLmxvbmcJMzUxNjQxODk3CisJLmxvbmcJMTA3MjU3MTk3NAorCS5sb25nCTIxNzIyNjE1MjYKKwkubG9uZwkzMTYzMDEwNTk5CisJLmxvbmcJODYzNzM4NzE5CisJLmxvbmcJMTA3MjU2MTMwMworCS5sb25nCTEzMjY5OTIyMjAKKwkubG9uZwkzMTYyNjEzMTk3CisJLmxvbmcJNDA3Njk3NTIwMAorCS5sb25nCTEwNzI1NTA2ODkKKwkubG9uZwkyMDI5MDAwODk5CisJLmxvbmcJMTAxNTIwODUzNQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MjU0MDEzNAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE1ODE2OTYwCisJLmxvbmcJMzgyMzA1MTc2CisJLmxvbmcJMTA3MjUyOTYzNQorCS5sb25nCTIzNDc2MjIzNzYKKwkubG9uZwkzMTYyNTc4NjI1CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTEwNzI1MTkxOTIKKwkubG9uZwkzNjEzMDc5MzAzCisJLmxvbmcJMTAxNDE2NDczOAorCS5sb25nCTEzNTEwNTAxMAorCS5sb25nCTEwNzI1MDg4MDcKKwkubG9uZwkxOTA2MTQ4NzI4CisJLmxvbmcJMzE2MzM3NTczOQorCS5sb25nCTEyNDIwMDc5MzIKKwkubG9uZwkxMDcyNDk4NDc3CisJLmxvbmcJMTEzMjAzNDcxNgorCS5sb25nCTMxNjMzMzk4MzEKKwkubG9uZwkxNDMyMjA4Mzc4CisJLmxvbmcJMTA3MjQ4ODIwMworCS5sb25nCTE0MDEwNjg5MTQKKwkubG9uZwkzMTYyMzYzOTYzCisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzI0Nzc5ODQKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxMzI1MzA2NworCS5sb25nCTI0ODM0ODA1MDEKKwkubG9uZwkxMDcyNDY3ODIxCisJLmxvbmcJMTIxNjM3MTc4MAorCS5sb25nCTEwMTMwMzQxNzIKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwkxMDcyNDU3NzEzCisJLmxvbmcJNDI4MjkyNDIwNQorCS5sb25nCTEwMTUxODc1MzMKKwkubG9uZwkxNjEwNjAwNTcwCisJLmxvbmcJMTA3MjQ0NzY1OQorCS5sb25nCTM3NjY3MzIyOTgKKwkubG9uZwkxMDE1NzYwMTgzCisJLmxvbmcJMzcxNjUwMjE3MgorCS5sb25nCTEwNzI0Mzc2NTkKKwkubG9uZwkyMzAzNzQwMTI1CisJLmxvbmcJMTAxNDA0MjcyNQorCS5sb25nCTE1NDA4MjQ1ODUKKwkubG9uZwkxMDcyNDI3NzE0CisJLmxvbmcJMTA2NDAxNzAxMQorCS5sb25nCTMxNjM0ODc2OTAKKwkubG9uZwkyNDIwODgzOTIyCisJLmxvbmcJMTA3MjQxNzgyMgorCS5sb25nCTIwNDk4MTAwNTIKKwkubG9uZwkxMDE0MTE5ODg4CisJLmxvbmcJODE1ODU5Mjc0CisJLmxvbmcJMTA3MjQwNzk4NAorCS5sb25nCTI0MDM5NjU5MAorCS5sb25nCTMxNjM0ODc0NDMKKwkubG9uZwk0MDc2NTU5OTQzCisJLmxvbmcJMTA3MjM5ODE5OAorCS5sb25nCTIxMTk0NzgzMzEKKwkubG9uZwkzMTYwNzU4MzUxCisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzIzODg0NjYKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2MzMyMDc5OQorCS5sb25nCTMwOTIxOTA3MTUKKwkubG9uZwkxMDcyMzc4Nzg2CisJLmxvbmcJODE0MDEyMTY4CisJLmxvbmcJMzE1OTUyMzQyMgorCS5sb25nCTY5NzE1MzEyNgorCS5sb25nCTEwNzIzNjkxNTkKKwkubG9uZwkxMjgzNTE1NDI5CisJLmxvbmcJMzE2MzI4MzE4OQorCS5sb25nCTI1NzI4NjY0NzcKKwkubG9uZwkxMDcyMzU5NTgzCisJLmxvbmcJODc4NTYyNDMzCisJLmxvbmcJMTAxNTUyMTc0MQorCS5sb25nCTMyMTgzMzg2ODIKKwkubG9uZwkxMDcyMzUwMDU5CisJLmxvbmcJMzQwNDE2NDMwNAorCS5sb25nCTMxNjI0NzcxMDgKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MjM0MDU4NworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTUwODU3NjkKKwkubG9uZwkzMjE5NTg3NDQKKwkubG9uZwkxMDcyMzMxMTY2CisJLmxvbmcJMzQwMTkzMzc2NworCS5sb25nCTEwMTU3OTQ1NTgKKwkubG9uZwkyOTkwNDE3MjQ1CisJLmxvbmcJMTA3MjMyMTc5NQorCS5sb25nCTM2ODM0Njc3NDUKKwkubG9uZwkzMTYzMzY5MzI2CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzIzMTI0NzUKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNTQyNzE2NAorCS5sb25nCTIwNjk3NTExNDEKKwkubG9uZwkxMDcyMzAzMjA2CisJLmxvbmcJMTU2MjE3MDY3NQorCS5sb25nCTMxNjI3MjQ2ODEKKwkubG9uZwk0MzQzMTYwNjcKKwkubG9uZwkxMDcyMjkzOTg3CisJLmxvbmcJMjAyODM1ODc2NgorCS5sb25nCTEwMTM0NTgxMjIKKwkubG9uZwkyMTkxNzgyMDMyCisJLmxvbmcJMTA3MjI4NDgxNworCS5sb25nCTI5NjAyNTc3MjYKKwkubG9uZwkxMDEzNzQyNjYyCisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzIyNzU2OTcKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MjYwMDM4MQorCS5sb25nCTI2ODIxNDYzODQKKwkubG9uZwkxMDcyMjY2NjI2CisJLmxvbmcJMjA4MjE3ODUxMworCS5sb25nCTMxNjMzNjM0MTkKKwkubG9uZwkzNDE4OTAzMDU1CisJLmxvbmcJMTA3MjI1NzYwNAorCS5sb25nCTI1Mjc0NTczMzcKKwkubG9uZwkzMTYwODIwNjA0CisJLmxvbmcJMjk2NjI3NTU1NworCS5sb25nCTEwNzIyNDg2MzEKKwkubG9uZwkyMTc2MTU1MzI0CisJLmxvbmcJMzE1OTg0Mjc1OQorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzIyMzk3MDcKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTYzNDEyMDg5CisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzIyMzA4MzAKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNDM1MjkxNQorCS5sb25nCTM4MDk3ODMxNgorCS5sb25nCTEwNzIyMjIwMDIKKwkubG9uZwk4NTQxODg5NzAKKwkubG9uZwkzMTYwNDYyNjg2CisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzIyMTMyMjEKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNTQ3NDY3MworCS5sb25nCTM2NDk3MjYxMDUKKwkubG9uZwkxMDcyMjA0NDg3CisJLmxvbmcJNDA4NTAzNjM0NgorCS5sb25nCTEwMTU2NDk0NzQKKwkubG9uZwkyNjA0OTYyNTQxCisJLmxvbmcJMTA3MjE5NTgwMQorCS5sb25nCTI2MTQ0MjUyNzQKKwkubG9uZwkzMTYzNTM5MTkyCisJLmxvbmcJMTE3Njc0OTk5NworCS5sb25nCTEwNzIxODcxNjIKKwkubG9uZwkyNzM4OTk4Nzc5CisJLmxvbmcJMzE2MjAzNTg0NAorCS5sb25nCTI1NzE5NDc1MzkKKwkubG9uZwkxMDcyMTc4NTY5CisJLmxvbmcJMzU1ODE1OTA2NAorCS5sb25nCTMxNjMzNzY2NjkKKwkubG9uZwkxNDEzMzU2MDUwCisJLmxvbmcJMTA3MjE3MDAyMworCS5sb25nCTE2NTEzNDkyOTEKKwkubG9uZwkzMTYyNjY4MTY2CisJLmxvbmcJOTE5NTU1NjgyCisJLmxvbmcJMTA3MjE2MTUyMworCS5sb25nCTMxMjE5Njk1MzQKKwkubG9uZwkxMDEyOTQ4MjI2CisJLmxvbmcJMTk5NzI0MDIKKwkubG9uZwkxMDcyMTUzMDY5CisJLmxvbmcJMzUwNzg5OTg2MgorCS5sb25nCTEwMTYwMDkyOTIKKwkubG9uZwkxOTQ0NzgxMTkxCisJLmxvbmcJMTA3MjE0NDY2MAorCS5sb25nCTM5OTMyNzg3NjcKKwkubG9uZwkzMTYxNzI0Mjc5CisJLmxvbmcJMTMzOTk3MjkyNworCS5sb25nCTEwNzIxMzYyOTcKKwkubG9uZwkxNjc5MDg5MDkKKwkubG9uZwkxMDE1NTcyMTUyCisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzIxMjc5NzkKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MjUxNDUyMQorCS5sb25nCTEyMTg4MDYxMzIKKwkubG9uZwkxMDcyMTE5NzA2CisJLmxvbmcJMTgxODYxMzA1MgorCS5sb25nCTMxNjI1NDg0NDEKKwkubG9uZwkzOTA3ODA1MDQ0CisJLmxvbmcJMTA3MjExMTQ3NworCS5sb25nCTIyNTcwOTEyMjUKKwkubG9uZwkzMTYxNTUwNDA3CisJLmxvbmcJNDE4Mjg3MzIyMAorCS5sb25nCTEwNzIxMDMyOTMKKwkubG9uZwk2Mjk1NDI2NDYKKwkubG9uZwkzMTYxOTk2MzAzCisJLmxvbmcJMTAxMzI1ODc5OQorCS5sb25nCTEwNzIwOTUxNTQKKwkubG9uZwkxNzQ4Nzk3NjExCisJLmxvbmcJMzE2MDEyOTA4MgorCS5sb25nCTE5NjM3MTExNjcKKwkubG9uZwkxMDcyMDg3MDU4CisJLmxvbmcJMTc0NDc2Nzc1NworCS5sb25nCTMxNjA1NzQyOTQKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MjA3OTAwNgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjMyODI3NDAKKwkubG9uZwkzNTYxNzkzOTA3CisJLmxvbmcJMTA3MjA3MDk5NworCS5sb25nCTExNTcwNTQwNTMKKwkubG9uZwkxMDExODkwMzUwCisJLmxvbmcJMjE4NjYxNzM4MQorCS5sb25nCTEwNzIwNjMwMzIKKwkubG9uZwkyMjcwNzY0MDg0CisJLmxvbmcJMzE2MzI3MjcxMworCS5sb25nCTg4NTgzNDUyOAorCS5sb25nCTEwNzIwNTUxMTAKKwkubG9uZwkxOTczMjU4NTQ3CisJLmxvbmcJMzE2MjI2MTU2NAorCS5sb25nCTI5NTY2MTI5OTcKKwkubG9uZwkxMDcyMDQ3MjMwCisJLmxvbmcJMjExODE2OTc1MQorCS5sb25nCTMxNjI3MzU1NTMKKwkubG9uZwkzMTExNTc0NTM3CisJLmxvbmcJMTA3MjAzOTM5MworCS5sb25nCTI2MDYxNjE0NzkKKwkubG9uZwkzMTYyNzU5NzQ2CisJLmxvbmcJMzYzNjY3Nzg0CisJLmxvbmcJMTA3MjAzMTU5OQorCS5sb25nCTgxMzc1Mzk1MAorCS5sb25nCTEwMTU3ODUyMDkKKwkubG9uZwkyMzIxMTA2NjE1CisJLmxvbmcJMTA3MjAyMzg0NgorCS5sb25nCTIxNzExNzY2MTAKKwkubG9uZwkxMDA5NTM1NzcxCisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTEwNzIwMTYxMzUKKwkubG9uZwk4ODQ5MTk0OQorCS5sb25nCTEwMTU0Mjc2NjAKKwkubG9uZwkzNTY2NzE2OTI1CisJLmxvbmcJMTA3MjAwODQ2NgorCS5sb25nCTE1MzY4MjY4NTYKKwkubG9uZwkxMDE0MTQyNDMzCisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MjAwMDgzOQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNTY1OTMwOAorCS5sb25nCTMzOTUxMjk4NzEKKwkubG9uZwkxMDcxOTkzMjUyCisJLmxvbmcJNDAyNTM0NTQzNQorCS5sb25nCTMxNjIzMzUzODgKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MTk4NTcwNworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjE0ODgwNjIKKwkubG9uZwkyNzMxNTAxMTIyCisJLmxvbmcJMTA3MTk3ODIwMgorCS5sb25nCTE3NzQwMzE4NTUKKwkubG9uZwkzMTYyNDcwMDIxCisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzE5NzA3MzgKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2MjgxMzE5MworCS5sb25nCTI1ODM1NTEyNDUKKwkubG9uZwkxMDcxOTYzMzE0CisJLmxvbmcJMzE2MTA5NDE5NQorCS5sb25nCTEwMTU2MDY0OTEKKwkubG9uZwkzNTc3MDk2NzQzCisJLmxvbmcJMTA3MTk1NTkzMAorCS5sb25nCTI5NTE0OTY0MTgKKwkubG9uZwkxMDEzNzkzNjg3CisJLmxvbmcJNDA0MDY3NjMxOAorCS5sb25nCTEwNzE5NDg1ODYKKwkubG9uZwk0MDkwNjA5MjM4CisJLmxvbmcJMTAxNTY2MzQ1OAorCS5sb25nCTMwNDkzNDAxMTIKKwkubG9uZwkxMDcxOTQxMjgyCisJLmxvbmcJMzA2MjkxNTgyNAorCS5sb25nCTEwMTMxNzA1OTUKKwkubG9uZwkzOTc4MTAwODIzCisJLmxvbmcJMTA3MTkzNDAxNworCS5sb25nCTM1MTMwMjcxOTAKKwkubG9uZwkxMDE1ODQ1OTYzCisJLmxvbmcJMTYxNzAwNDg0NQorCS5sb25nCTEwNzE5MjY3OTIKKwkubG9uZwk4MjgwNDk0NAorCS5sb25nCTEwMTAzNDI3NzgKKwkubG9uZwkzNjQ1OTQxOTExCisJLmxvbmcJMTA3MTkxOTYwNQorCS5sb25nCTM4MTQ2ODUwODEKKwkubG9uZwkzMTYxNTczMzQxCisJLmxvbmcJNTY5ODQ3MzM4CisJLmxvbmcJMTA3MTkxMjQ1OAorCS5sb25nCTQ3Mjk0NTI3MgorCS5sb25nCTMxNTkyOTA3MjkKKwkubG9uZwk3ODQxMzg1MgorCS5sb25nCTEwNzE5MDUzNDkKKwkubG9uZwk0MTgzMjI2ODY3CisJLmxvbmcJMzE2MzAxNzI1MQorCS5sb25nCTEyNzYyNjE0MTAKKwkubG9uZwkxMDcxODk4Mjc4CisJLmxvbmcJMzAwOTgxOTQ4CisJLmxvbmcJMTAxNDY4NDE2OQorCS5sb25nCTMyNzI4NDU1NDEKKwkubG9uZwkxMDcxODkxMjQ1CisJLmxvbmcJOTI4ODUyNDE5CisJLmxvbmcJMzE2MzQ4ODI0OAorCS5sb25nCTg4NzQ2MzkyNworCS5sb25nCTEwNzE4ODQyNTEKKwkubG9uZwkzNTk2NzQ0MTYzCisJLmxvbmcJMzE2MDc5NDE2NgorCS5sb25nCTE4MjkwOTk2MjIKKwkubG9uZwkxMDcxODc3Mjk0CisJLmxvbmcJMTAxNjY2MTE4MQorCS5sb25nCTMxNjM0NjEwMDUKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcxODcwMzc1CisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjI5MTM1MTQKKwkubG9uZwkxNjAzNDQ0NzIxCisJLmxvbmcJMTA3MTg2MzQ5MworCS5sb25nCTE1NDg2MzM2NDAKKwkubG9uZwkzMTYyMjAxMzI2CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzE4NTY2NDgKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNTIyODE5MworCS5sb25nCTQyMzI4OTQ1MTMKKwkubG9uZwkxMDcxODQ5ODQwCisJLmxvbmcJMjM4MzkzODY4NAorCS5sb25nCTEwMTQ2Njg1MTkKKwkubG9uZwkxNzEwMzAyOTMKKwkubG9uZwkxMDcxODQzMDcwCisJLmxvbmcJMzUyNjQ2MDEzMgorCS5sb25nCTEwMTQ0Mjg3NzgKKwkubG9uZwkyODM5NDI0ODU0CisJLmxvbmcJMTA3MTgzNjMzNQorCS5sb25nCTExNzE1OTYxNjMKKwkubG9uZwkxMDEzMDQxNjc5CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzE4Mjk2MzcKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNTAyMjE1MQorCS5sb25nCTM1MDQwMDM0NzIKKwkubG9uZwkxMDcxODIyOTc1CisJLmxvbmcJMzU5NDAwMTA2MAorCS5sb25nCTMxNTczMzA2NTIKKwkubG9uZwk0MTEyNTA2NTkzCisJLmxvbmcJMTA3MTgxNjM0OQorCS5sb25nCTI5NDczNTUyMjEKKwkubG9uZwkxMDE0MzcxMDQ4CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzE4MDk3NTkKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2MzE4MDA5MAorCS5sb25nCTE3MDkzNDE5MTcKKwkubG9uZwkxMDcxODAzMjA1CisJLmxvbmcJMjU3MTE2ODIxNworCS5sb25nCTEwMTQxNTI0OTkKKwkubG9uZwkxMzM3MTA4MDMxCisJLmxvbmcJMTA3MTc5NjY4NgorCS5sb25nCTMyMDM3MjQ0NTIKKwkubG9uZwkxMDE0Njc3ODQ1CisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzE3OTAyMDIKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNTY1NjU3NAorCS5sb25nCTI0NDA5NDQ3OTAKKwkubG9uZwkxMDcxNzgzNzUzCisJLmxvbmcJMjQ5Mjc2OTc3NAorCS5sb25nCTEwMTQxNDc0NTQKKwkubG9uZwkyMjg4MTU5OTU4CisJLmxvbmcJMTA3MTc3NzMzOQorCS5sb25nCTIxNjkxNDQ0NjkKKwkubG9uZwkxMDE0ODc2MDIxCisJLmxvbmcJNTg2OTk1OTk3CisJLmxvbmcJMTA3MTc3MDk2MAorCS5sb25nCTQxNjYyMzQ4CisJLmxvbmcJMzE2MjYyNzk5MgorCS5sb25nCTgyODk0Njg1OAorCS5sb25nCTEwNzE3NjQ2MTUKKwkubG9uZwkxMDY0MjQ5MgorCS5sb25nCTEwMTU5Mzk0MzgKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MTc1ODMwNAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjMxMTY0MjIKKwkubG9uZwkzOTQ5OTcyMzQxCisJLmxvbmcJMTA3MTc1MjAyNworCS5sb25nCTIwNjg0MDg1NDgKKwkubG9uZwkxMDE0OTEzODY4CisJLmxvbmcJOTQ4NzM1NDY2CisJLmxvbmcJMTA3MTc0NTc4NQorCS5sb25nCTM1MTYzMzgwMjgKKwkubG9uZwkzMTYyNTc0ODgzCisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzE3Mzk1NzYKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MTU1OTEwNQorCS5sb25nCTMzNjYyOTMwNzMKKwkubG9uZwkxMDcxNzMzNDAwCisJLmxvbmcJMzExOTQyNjMxNAorCS5sb25nCTEwMTQxMjA1NTQKKwkubG9uZwkyOTMwMzIyOTEyCisJLmxvbmcJMTA3MTcyNzI1OAorCS5sb25nCTI1OTk0OTk0MjIKKwkubG9uZwkzMTYyNzE0MDQ3CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzE3MjExNDkKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1ODQyMjgwNAorCS5sb25nCTM0OTA4NjM5NTMKKwkubG9uZwkxMDcxNzE1MDczCisJLmxvbmcJOTYwNzk3NDk4CisJLmxvbmcJMzE2Mjk0ODg4MAorCS5sb25nCTI5NTI3MTI5ODcKKwkubG9uZwkxMDcxNzA5MDMwCisJLmxvbmcJMzI5MzQ5NDY1MQorCS5sb25nCTMxNjAxMjAzMDEKKwkubG9uZwk4NTI3NDI1NjIKKwkubG9uZwkxMDcxNzAzMDIwCisJLmxvbmcJNjY3MjUzNTg2CisJLmxvbmcJMTAwOTc5MzU1OQorCS5sb25nCTcyODkwOTgxNQorCS5sb25nCTEwNzE2OTcwNDIKKwkubG9uZwkzODM5MzAyMjUKKwkubG9uZwkxMDE1MDI5NDY4CisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTEwNzE2OTEwOTYKKwkubG9uZwkxMjU1OTU2NzQ3CisJLmxvbmcJMTAxNTU4ODM5OAorCS5sb25nCTM0MDIwMzYwOTkKKwkubG9uZwkxMDcxNjg1MTgyCisJLmxvbmcJNDA1ODg5MzM0CisJLmxvbmcJMTAxNTEwNTY1NgorCS5sb25nCTQxMDM2MDc3NgorCS5sb25nCTEwNzE2NzkzMDEKKwkubG9uZwkxMjY5OTkwNjU1CisJLmxvbmcJMTAxMTk3NTg3MAorCS5sb25nCTcwMjQxMjUxMAorCS5sb25nCTEwNzE2NzM0NTEKKwkubG9uZwkzODAzMjY2MDg3CisJLmxvbmcJMzE2MjI4MDQxNQorCS5sb25nCTM1NDE0MDI5OTYKKwkubG9uZwkxMDcxNjY3NjMyCisJLmxvbmcJMjc1OTE3NzMxNworCS5sb25nCTEwMTQ4NTQ2MjYKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MTY2MTg0NQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjI1NDY5NzIKKwkubG9uZwkxMDQ4MDE5MDQxCisJLmxvbmcJMTA3MTY1NjA5MAorCS5sb25nCTEzOTg0NzQ4NDUKKwkubG9uZwkzMTYwNTEwNTk1CisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzE2NTAzNjUKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNTc2NzMzNworCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMAorCS5sb25nCTMyNzUyMjcxMzYKKwkubG9uZwkzNjA3NDA0NzM2CisJLmxvbmcJMTA0NDE0Njk1MgorCS5sb25nCTM2MDc0MDQ3MzYKKwkubG9uZwkzMTkxNjMwNjAwCisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNjM2NjExMjIKKwkubG9uZwk0Mjc3ODExNjk1CisJLmxvbmcJMzIxMTE0NDc3MAorCS5sb25nCTIxNDAxNzU3NTUKKwkubG9uZwkxMDMzODY0MjYxCisJLmxvbmcJMjE0MDE3NTc1NQorCS5sb25nCTEwMzM4NjQyNjEKKwkubG9uZwk0Mjg5NDk1OTg4CisJLmxvbmcJMTA1NDExMzc0NworCS5sb25nCTQyODk0OTU5ODgKKwkubG9uZwkxMDU0MTEzNzQ3CisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNjQ3MDk2OTgKKwkubG9uZwk0Mjc3ODExNjk1CisJLmxvbmcJMzIxMjE5MzM0NgorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDgwNDk3NDc5CisJLmxvbmcJNDE2NjkwMTU3MgorCS5sb25nCTEwNTMwNzcwMDMKKwkubG9uZwkzMDc4MTM1NjQ0CisJLmxvbmcJMTA0OTc4Nzk4MworCS5sb25nCTM4MTc3NDg3MAorCS5sb25nCTEwNjI2NTAyMjAKKwkubG9uZwk0MzYzMTQxMzcKKwkubG9uZwkxMDU2NTcxODA4CisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjc3OTk4OTMKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJMjE0NzQ4MzY0NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsNDI1NgorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L2VfZXhwLlMgYi9saWJtL3g4Ni9lX2V4cC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYjYxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9lX2V4cC5TCkBAIC0wLDAgKzEsNTc2IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gRGVzY3JpcHRpb246CisvLyAgTGV0IEsgPSA2NCAodGFibGUgc2l6ZSkuCisvLyAgICAgICAgeCAgICB4L2xvZygyKSAgICAgbgorLy8gICAgICAgZSAgPSAyICAgICAgICAgID0gMiAqIFRbal0gKiAoMSArIFAoeSkpCisvLyAgd2hlcmUKKy8vICAgICAgIHggPSBtKmxvZygyKS9LICsgeSwgICAgeSBpbiBbLWxvZygyKS9LLi5sb2coMikvS10KKy8vICAgICAgIG0gPSBuKksgKyBqLCAgICAgICAgICAgbSxuLGogLSBzaWduZWQgaW50ZWdlciwgaiBpbiBbLUsvMi4uSy8yXQorLy8gICAgICAgICAgICAgICAgICBqL0sKKy8vICAgICAgIHZhbHVlcyBvZiAyICAgYXJlIHRhYnVsYXRlZCBhcyBUW2pdID0gVF9oaVtqXSAoIDEgKyBUX2xvW2pdKS4KKy8vCisvLyAgICAgICBQKHkpIGlzIGEgbWluaW1heCBwb2x5bm9taWFsIGFwcHJveGltYXRpb24gb2YgZXhwKHgpLTEKKy8vICAgICAgIG9uIHNtYWxsIGludGVydmFsIFstbG9nKDIpL0suLmxvZygyKS9LXSAod2VyZSBjYWxjdWxhdGVkIGJ5IE1hcGxlIFYpLgorLy8KKy8vICBUbyBhdm9pZCBwcm9ibGVtcyB3aXRoIGFyaXRobWV0aWMgb3ZlcmZsb3cgYW5kIHVuZGVyZmxvdywKKy8vICAgICAgICAgICAgbiAgICAgICAgICAgICAgICAgICAgICAgIG4xICBuMgorLy8gIHZhbHVlIG9mIDIgIGlzIHNhZmVseSBjb21wdXRlZCBhcyAyICogMiB3aGVyZSBuMSBpbiBbLUJJQVMvMi4uQklBUy8yXQorLy8gIHdoZXJlIEJJQVMgaXMgYSB2YWx1ZSBvZiBleHBvbmVudCBiaWFzLgorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgZXhwKE5hTikgPSBOYU4KKy8vICBleHAoK0lORikgPSArSU5GCisvLyAgZXhwKC1JTkYpID0gMAorLy8gIGV4cCh4KSA9IDEgZm9yIHN1Ym5vcm1hbHMKKy8vICBmb3IgZmluaXRlIGFyZ3VtZW50LCBvbmx5IGV4cCgwKT0xIGlzIGV4YWN0CisvLyAgRm9yIElFRUUgZG91YmxlCisvLyAgICBpZiB4ID4gIDcwOS43ODI3MTI4OTMzODM5NzMwOTYgdGhlbiBleHAoeCkgb3ZlcmZsb3cKKy8vICAgIGlmIHggPCAtNzQ1LjEzMzIxOTEwMTk0MTEwODQyMCB0aGVuIGV4cCh4KSB1bmRlcmZsb3cKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24KK3N0YXRpY19mdW5jOgorLi5CMS4xOgorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlYXgKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlYXgpLCAlZWF4CisgICAgICAgIGxlYSAgICAgICBzdGF0aWNfY29uc3RfdGFibGVAR09UT0ZGKCVlYXgpLCAlZWF4CisgICAgICAgIHJldAorICAgICAgICAuc2l6ZSAgIHN0YXRpY19mdW5jLC4tc3RhdGljX2Z1bmMKKyMgLS0gRW5kICBzdGF0aWNfZnVuYworCisjIC0tIEJlZ2luICBleHAKK0VOVFJZKGV4cCkKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTIwLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA2NCglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgdW5wY2tscGQgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgNjQoJWVieCksICV4bW0xCisgICAgICAgIG1vdmFwZCAgICA0OCglZWJ4KSwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgIDgwKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgOTYoJWVieCksICV4bW0zCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBtb3ZsICAgICAgJDE2NTI3LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkMTU1MDQsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgc3VicGQgICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAxMjgoJWVieCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIDE0NCglZWJ4KSwgJXhtbTUKKyAgICAgICAgc3VicGQgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZkICAgICAgJXhtbTcsICVlYXgKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQ2MywgJWVjeAorICAgICAgICBzaGxsICAgICAgJDQsICVlY3gKKyAgICAgICAgc2FybCAgICAgICQ2LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIG1vdmRxYSAgICAxNiglZWJ4KSwgJXhtbTYKKyAgICAgICAgcGFuZCAgICAgICV4bW02LCAleG1tNworICAgICAgICBtb3ZkcWEgICAgMzIoJWVieCksICV4bW02CisgICAgICAgIHBhZGRxICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgcHNsbHEgICAgICQ0NiwgJXhtbTcKKyAgICAgICAgc3VicGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgMTYwKCVlYngsJWVjeCksICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVscGQgICAgIDExMiglZWJ4KSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICB1bnBja2hwZCAgJXhtbTIsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBvcnBkICAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIHVucGNraHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIGFkZGwgICAgICAkODk0LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTkxNiwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIGZzdGN3ICAgICAyNCglZXNwKQorICAgICAgICBtb3Z6d2wgICAgMjQoJWVzcCksICVlZHgKKyAgICAgICAgb3JsICAgICAgICQ3NjgsICVlZHgKKyAgICAgICAgbW92dyAgICAgICVkeCwgMjgoJWVzcCkKKyAgICAgICAgZmxkY3cgICAgIDI4KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIHNhcmwgICAgICAkMSwgJWVheAorICAgICAgICBzdWJsICAgICAgJWVheCwgJWVkeAorICAgICAgICBtb3ZkcWEgICAgKCVlYngpLCAleG1tNgorICAgICAgICBwYW5kbiAgICAgJXhtbTIsICV4bW02CisgICAgICAgIGFkZGwgICAgICAkMTAyMywgJWVheAorICAgICAgICBtb3ZkICAgICAgJWVheCwgJXhtbTMKKyAgICAgICAgcHNsbHEgICAgICQ1MiwgJXhtbTMKKyAgICAgICAgb3JwZCAgICAgICV4bW0zLCAleG1tNgorICAgICAgICBhZGRsICAgICAgJDEwMjMsICVlZHgKKyAgICAgICAgbW92ZCAgICAgICVlZHgsICV4bW00CisgICAgICAgIHBzbGxxICAgICAkNTIsICV4bW00CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgOCglZXNwKQorICAgICAgICBmbGRsICAgICAgOCglZXNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTYsIDE2KCVlc3ApCisgICAgICAgIGZsZGwgICAgICAxNiglZXNwKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIG1vdnNkICAgICAleG1tNCwgOCglZXNwKQorICAgICAgICBmbGRsICAgICAgOCglZXNwKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDgoJWVzcCkKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW0wCisgICAgICAgIGZsZGN3ICAgICAyNCglZXNwKQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgY21wbCAgICAgICQtMjE0NzQ4MzY0OCwgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgY21wbCAgICAgICQtMTA2NDk1MDk5NywgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIG1vdmwgICAgICAxMjgoJWVzcCksICVlZHgKKyAgICAgICAgY21wbCAgICAgICQtMTcxNTU2MDEsICVlZHgKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIG1vdmwgICAgICAkMTQsICVlZHgKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgbW92bCAgICAgICQxNSwgJWVkeAorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxMjgoJWVzcCksICV4bW0wCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKyAgICAgICAgY21wbCAgICAgICQyMTQ2NDM1MDcyLCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF84LjAuMgorICAgICAgICBtb3ZsICAgICAgMTMyKCVlc3ApLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkLTIxNDc0ODM2NDgsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4yCisgICAgICAgIG1vdnNkICAgICAxMjA4KCVlYngpLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTQsICVlZHgKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisuTF8yVEFHX1BBQ0tFVF85LjAuMjoKKyAgICAgICAgbW92c2QgICAgIDEyMTYoJWVieCksICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNSwgJWVkeAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKy5MXzJUQUdfUEFDS0VUXzguMC4yOgorICAgICAgICBtb3ZsICAgICAgMTI4KCVlc3ApLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisgICAgICAgIG1vdmwgICAgICAxMzIoJWVzcCksICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyMTQ2NDM1MDcyLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMS4wLjIKKyAgICAgICAgbW92c2QgICAgIDExOTIoJWVieCksICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorLkxfMlRBR19QQUNLRVRfMTEuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTIwMCglZWJ4KSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMC4wLjI6CisgICAgICAgIG1vdnNkICAgICAxMjgoJWVzcCksICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgbW92bCAgICAgIDEzMiglZXNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDIxNDc0ODM2NDcsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxMDgzMTc5MDA4LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorICAgICAgICBtb3ZzZCAgICAgMTI4KCVlc3ApLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgMTE4NCglZWJ4KSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCA0OCglZXNwKQorICAgICAgICBmbGRsICAgICAgNDgoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBtb3ZsICAgICAgNjQoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGV4cCkKKyMgLS0gRW5kICBleHAKKworIyBTdGFydCBmaWxlIHNjb3BlIEFTTQorQUxJQVNfU1lNQk9MKGV4cGwsIGV4cCk7CisjIEVuZCBmaWxlIHNjb3BlIEFTTQorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTAKKwkubG9uZwk0MjkzOTE4NzIwCisJLmxvbmcJMAorCS5sb25nCTQyOTM5MTg3MjAKKwkubG9uZwk0Mjk0OTY3MjMyCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyMzIKKwkubG9uZwkwCisJLmxvbmcJNjU0NzIKKwkubG9uZwkwCisJLmxvbmcJNjU0NzIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExMjc3NDM0ODgKKwkubG9uZwkwCisJLmxvbmcJMTEyNzc0MzQ4OAorCS5sb25nCTE2OTczNTAzOTgKKwkubG9uZwkxMDc5NDQ4OTAzCisJLmxvbmcJMTY5NzM1MDM5OAorCS5sb25nCTEwNzk0NDg5MDMKKwkubG9uZwk0Mjc3Nzk2ODY0CisJLmxvbmcJMTA2NTc1ODI3NAorCS5sb25nCTQyNzc3OTY4NjQKKwkubG9uZwkxMDY1NzU4Mjc0CisJLmxvbmcJMzE2NDQ4NjQ1OAorCS5sb25nCTEwMjUzMDg1NzAKKwkubG9uZwkzMTY0NDg2NDU4CisJLmxvbmcJMTAyNTMwODU3MAorCS5sb25nCTQyOTQ5NjcyOTQKKwkubG9uZwkxMDcxNjQ0NjcxCisJLmxvbmcJNDI5NDk2NzI5NAorCS5sb25nCTEwNzE2NDQ2NzEKKwkubG9uZwkzODExMDg4NDgwCisJLmxvbmcJMTA2MjY1MDIwNAorCS5sb25nCTE0MzIwNjc2MjEKKwkubG9uZwkxMDY3Nzk5ODkzCisJLmxvbmcJMzIzMDcxNTY2MworCS5sb25nCTEwNjU0MjMxMjUKKwkubG9uZwkxNDMxNjA0MTI5CisJLmxvbmcJMTA2OTg5NzA0NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMzUxMDc2NjEKKwkubG9uZwkxMDE4MDAyMzY3CisJLmxvbmcJMTA0ODAxOTA0MAorCS5sb25nCTExNDE4CisJLmxvbmcJODk2MDA1NjUxCisJLmxvbmcJMTAxNTg2MTg0MgorCS5sb25nCTM1NDE0MDI5OTYKKwkubG9uZwkyMjk2MAorCS5sb25nCTE2NDI1MTQ1MjkKKwkubG9uZwkxMDEyOTg3NzI2CisJLmxvbmcJNDEwMzYwNzc2CisJLmxvbmcJMzQ2MjkKKwkubG9uZwkxNTY4ODk3OTAwCisJLmxvbmcJMTAxNjU2ODQ4NgorCS5sb25nCTE4MjgyOTI4NzkKKwkubG9uZwk0NjQyNAorCS5sb25nCTE4ODIxNjg1MjkKKwkubG9uZwkxMDEwNzQ0ODkzCisJLmxvbmcJODUyNzQyNTYyCisJLmxvbmcJNTgzNDgKKwkubG9uZwk1MDk4NTI4ODgKKwkubG9uZwkxMDE3MzM2MTc0CisJLmxvbmcJMzQ5MDg2Mzk1MgorCS5sb25nCTcwNDAxCisJLmxvbmcJNjUzMjc3MzA3CisJLmxvbmcJMTAxNzQzMTM4MAorCS5sb25nCTI5MzAzMjI5MTEKKwkubG9uZwk4MjU4NgorCS5sb25nCTE2NDk1NTc0MzAKKwkubG9uZwkxMDE3NzI5MzYzCisJLmxvbmcJMTAxNDg0NTgxOAorCS5sb25nCTk0OTA0CisJLmxvbmcJMTA1ODIzMTIzMQorCS5sb25nCTEwMTU3Nzc2NzYKKwkubG9uZwkzOTQ5OTcyMzQxCisJLmxvbmcJMTA3MzU1CisJLmxvbmcJMTA0NDAwMDYwNworCS5sb25nCTEwMTY3ODYxNjcKKwkubG9uZwk4Mjg5NDY4NTgKKwkubG9uZwkxMTk5NDMKKwkubG9uZwkxMTUxNzc5NzI1CisJLmxvbmcJMTAxNTcwNTQwOQorCS5sb25nCTIyODgxNTk5NTgKKwkubG9uZwkxMzI2NjcKKwkubG9uZwkzODE5NDgxMjM2CisJLmxvbmcJMTAxNjQ5OTk2NQorCS5sb25nCTE4NTMxODY2MTYKKwkubG9uZwkxNDU1MzAKKwkubG9uZwkyNTUyMjI3ODI2CisJLmxvbmcJMTAxNTAzOTc4NworCS5sb25nCTE3MDkzNDE5MTcKKwkubG9uZwkxNTg1MzMKKwkubG9uZwkxODI5MzUwMTkzCisJLmxvbmcJMTAxNTIxNjA5NworCS5sb25nCTQxMTI1MDY1OTMKKwkubG9uZwkxNzE2NzcKKwkubG9uZwkxOTEzMzkxNzk1CisJLmxvbmcJMTAxNTc1NjY3NAorCS5sb25nCTI3OTk5NjA4NDMKKwkubG9uZwkxODQ5NjUKKwkubG9uZwkxMzAzNDIzOTI2CisJLmxvbmcJMTAxNTIzODAwNQorCS5sb25nCTE3MTAzMDI5MworCS5sb25nCTE5ODM5OAorCS5sb25nCTE1NzQxNzI3NDYKKwkubG9uZwkxMDE2MDYxMjQxCisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTIxMTk3NgorCS5sb25nCTM0MjQxNTY5NjkKKwkubG9uZwkxMDE3MTk2NDI4CisJLmxvbmcJOTI2NTkxNDM0CisJLmxvbmcJMjI1NzAzCisJLmxvbmcJMTkzODUxMzU0NworCS5sb25nCTEwMTc2MzEyNzMKKwkubG9uZwk4ODc0NjM5MjYKKwkubG9uZwkyMzk1NzkKKwkubG9uZwkyODA0NTY3MTQ5CisJLmxvbmcJMTAxNTM5MDAyNAorCS5sb25nCTEyNzYyNjE0MTAKKwkubG9uZwkyNTM2MDYKKwkubG9uZwk2MzEwODM1MjUKKwkubG9uZwkxMDE3NjkwMTgyCisJLmxvbmcJNTY5ODQ3MzM3CisJLmxvbmcJMjY3Nzg2CisJLmxvbmcJMTYyMzM3MDc3MAorCS5sb25nCTEwMTEwNDk0NTMKKwkubG9uZwkxNjE3MDA0ODQ1CisJLmxvbmcJMjgyMTIwCisJLmxvbmcJMzY2Nzk4NTI3MworCS5sb25nCTEwMTM4OTQzNjkKKwkubG9uZwkzMDQ5MzQwMTEyCisJLmxvbmcJMjk2NjEwCisJLmxvbmcJMzE0NTM3OTc2MAorCS5sb25nCTEwMTQ0MDMyNzgKKwkubG9uZwkzNTc3MDk2NzQzCisJLmxvbmcJMzExMjU4CisJLmxvbmcJMjYwMzEwMDY4MQorCS5sb25nCTEwMTcxNTI0NjAKKwkubG9uZwkxOTkwMDEyMDcwCisJLmxvbmcJMzI2MDY2CisJLmxvbmcJMzI0OTIwMjk1MQorCS5sb25nCTEwMTc0NDg4ODAKKwkubG9uZwkxNDUzMTUwMDgxCisJLmxvbmcJMzQxMDM1CisJLmxvbmcJNDE5Mjg4OTc0CisJLmxvbmcJMTAxNjI4MDMyNQorCS5sb25nCTkxNzg0MTg4MgorCS5sb25nCTM1NjE2NworCS5sb25nCTM3OTM1MDczMzcKKwkubG9uZwkxMDE2MDk1NzEzCisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTM3MTQ2MworCS5sb25nCTcyODAyMzA5MworCS5sb25nCTEwMTYzNDUzMTgKKwkubG9uZwkzNjM2Njc3ODQKKwkubG9uZwkzODY5MjcKKwkubG9uZwkyNTgyNjc4NTM4CisJLmxvbmcJMTAxNzEyMzQ2MAorCS5sb25nCTI5NTY2MTI5OTYKKwkubG9uZwk0MDI1NTgKKwkubG9uZwk3NTkyOTY2CisJLmxvbmcJMTAxNjcyMTU0MworCS5sb25nCTIxODY2MTczODAKKwkubG9uZwk0MTgzNjAKKwkubG9uZwkyMjg2MTE0NDEKKwkubG9uZwkxMDE2Njk2MTQxCisJLmxvbmcJMTcxOTYxNDQxMgorCS5sb25nCTQzNDMzNAorCS5sb25nCTIyNjE2NjU2NzAKKwkubG9uZwkxMDE3NDU3NTkzCisJLmxvbmcJMTAxMzI1ODc5OAorCS5sb25nCTQ1MDQ4MgorCS5sb25nCTU0NDE0ODkwNworCS5sb25nCTEwMTczMjM2NjYKKwkubG9uZwkzOTA3ODA1MDQzCisJLmxvbmcJNDY2ODA1CisJLmxvbmcJMjM4MzkxNDkxOAorCS5sb25nCTEwMTcxNDM1ODYKKwkubG9uZwkxNDQ3MTkyNTIwCisJLmxvbmcJNDgzMzA3CisJLmxvbmcJMTE3NjQxMjAzOAorCS5sb25nCTEwMTcyNjczNzIKKwkubG9uZwkxOTQ0NzgxMTkwCisJLmxvbmcJNDk5OTg4CisJLmxvbmcJMjg4Mjk1NjM3MworCS5sb25nCTEwMTMzMTI0ODEKKwkubG9uZwk5MTk1NTU2ODIKKwkubG9uZwk1MTY4NTEKKwkubG9uZwkzMTU0MDc3NjQ4CisJLmxvbmcJMTAxNjUyODU0MworCS5sb25nCTI1NzE5NDc1MzgKKwkubG9uZwk1MzM4OTcKKwkubG9uZwkzNDg2NTE5OTkKKwkubG9uZwkxMDE2NDA1NzgwCisJLmxvbmcJMjYwNDk2MjU0MAorCS5sb25nCTU1MTEyOQorCS5sb25nCTMyNTM3OTE0MTIKKwkubG9uZwkxMDE1OTIwNDMxCisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTU2ODU0OQorCS5sb25nCTE1MDkxMjE4NjAKKwkubG9uZwkxMDE0NzU2OTk1CisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTU4NjE1OAorCS5sb25nCTI2MTc2NDkyMTIKKwkubG9uZwkxMDE3MzQwMDkwCisJLmxvbmcJMjk2NjI3NTU1NgorCS5sb25nCTYwMzk1OQorCS5sb25nCTU1MzIxNDYzNAorCS5sb25nCTEwMTY0NTc0MjUKKwkubG9uZwkyNjgyMTQ2MzgzCisJLmxvbmcJNjIxOTU0CisJLmxvbmcJNzMwOTc1NzgzCisJLmxvbmcJMTAxNDA4MzU4MAorCS5sb25nCTIxOTE3ODIwMzIKKwkubG9uZwk2NDAxNDUKKwkubG9uZwkxNDg2NDk5NTE3CisJLmxvbmcJMTAxNjgxODk5NgorCS5sb25nCTIwNjk3NTExNDAKKwkubG9uZwk2NTg1MzQKKwkubG9uZwkyNTk1Nzg4OTI4CisJLmxvbmcJMTAxNjQwNzkzMgorCS5sb25nCTI5OTA0MTcyNDQKKwkubG9uZwk2NzcxMjMKKwkubG9uZwkxODUzMDUzNjE5CisJLmxvbmcJMTAxNTMxMDcyNAorCS5sb25nCTE0MzQwNTgxNzUKKwkubG9uZwk2OTU5MTUKKwkubG9uZwkyNDYyNzkwNTM1CisJLmxvbmcJMTAxNTgxNDc3NQorCS5sb25nCTI1NzI4NjY0NzcKKwkubG9uZwk3MTQ5MTEKKwkubG9uZwkzNjkzOTQ0MjE0CisJLmxvbmcJMTAxNzI1OTExMAorCS5sb25nCTMwOTIxOTA3MTQKKwkubG9uZwk3MzQxMTQKKwkubG9uZwkyOTc5MzMzNTUwCisJLmxvbmcJMTAxNzE4ODY1NAorCS5sb25nCTQwNzY1NTk5NDIKKwkubG9uZwk3NTM1MjYKKwkubG9uZwkxNzQwNTQ4NjEKKwkubG9uZwkxMDE0MzAwNjMxCisJLmxvbmcJMjQyMDg4MzkyMgorCS5sb25nCTc3MzE1MAorCS5sb25nCTgxNjc3ODQxOQorCS5sb25nCTEwMTQxOTc5MzQKKwkubG9uZwkzNzE2NTAyMTcyCisJLmxvbmcJNzkyOTg3CisJLmxvbmcJMzUwNzA1MDkyNAorCS5sb25nCTEwMTUzNDExOTkKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwk4MTMwNDEKKwkubG9uZwkxODIxNTE0MDg4CisJLmxvbmcJMTAxMzQxMDYwNAorCS5sb25nCTM3MDY2ODc1OTMKKwkubG9uZwk4MzMzMTIKKwkubG9uZwk5MjA2MjM1MzkKKwkubG9uZwkxMDE2Mjk1NDMzCisJLmxvbmcJMTI0MjAwNzkzMQorCS5sb25nCTg1MzgwNQorCS5sb25nCTI3ODkwMTc1MTEKKwkubG9uZwkxMDE0Mjc2OTk3CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTg3NDUyMAorCS5sb25nCTM1ODYyMzMwMDQKKwkubG9uZwkxMDE1OTYyMTkyCisJLmxvbmcJNjQ2OTY5NjUKKwkubG9uZwk4OTU0NjIKKwkubG9uZwk0NzQ2NTA1MTQKKwkubG9uZwkxMDE2NjQyNDE5CisJLmxvbmcJODYzNzM4NzE4CisJLmxvbmcJOTE2NjMxCisJLmxvbmcJMTYxNDQ0ODg1MQorCS5sb25nCTEwMTQyODE3MzIKKwkubG9uZwkzODg0NjYyNzc0CisJLmxvbmcJOTM4MDMwCisJLmxvbmcJMjQ1MDA4MjA4NgorCS5sb25nCTEwMTYxNjQxMzUKKwkubG9uZwkyNzI4NjkzOTc3CisJLmxvbmcJOTU5NjYzCisJLmxvbmcJMTEwMTY2ODM2MAorCS5sb25nCTEwMTU5ODkxODAKKwkubG9uZwkzOTk5MzU3NDc5CisJLmxvbmcJOTgxNTMxCisJLmxvbmcJODM1ODE0ODk0CisJLmxvbmcJMTAxNTcwMjY5NworCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDAzNjM4CisJLmxvbmcJMTMwMTQwMDk4OQorCS5sb25nCTEwMTQ0NjY4NzUKKwkubG9uZwkyMTc0NjUyNjMyCisJLmxvbmcJMTAyNTk4NQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTIxNDY0MzUwNzIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkyMTQ2NDM1MDcxCisJLmxvbmcJMAorCS5sb25nCTEwNDg1NzYKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwxMjI0CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvZV9oeXBvdC5TIGIvbGlibS94ODYvZV9oeXBvdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMTQzZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9lX2h5cG90LlMKQEAgLTAsMCArMSwyMjAgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBYODcgdmVyc2lvbjoKKy8vIFVzZSA4MC1iaXQgRlBVIHByZWNpc2lvbiBmbXVsLCBmc3FydCB0byBjb21wdXRlIHNxdWFyZSBhbmQgc3FydC4KKy8vCisvLyBTU0UgdmVyc2lvbjoKKy8vIFN3YXAgeCwgeSBpZiB8eHw8fHl8CisvLyBGb3IgeD0yXmsqeCwgZ2V0IHk9eSoyXigtaykKKy8vIEdldCBTIH4gc3FydCh4XjIreV4yKSAgKGxlYWRpbmcgMSArIGxlYWRpbmcgMjUgbWFudGlzc2EgYml0cykKKy8vCisvLyBHZXQgRCA9ICggUk4oeF4yK3leMikgLSBTXjIgKSArICggeF4yIC0gUk4oeF4yKSApICsKKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgKCB5XjIgLSAoKFJOKHheMit5XjIpLVJOKHheMikpICkKKy8vCisvLyBSZXN1bHQgaXMgMl5rKihTICsgU2UpLCAgd2hlcmUgU2UgPSBTKmUKKy8vICAgICAgICBTKmUgaXMgYXBwcm94aW1hdGVkIGFzIChELzJTKSooIDEgLSAoRC8yUyleMioxLjAvUyApCisvLworLy8gUmV0dXJuIDJeayooUytTZSkKKy8vCisvLyBGb3IgfHkveHw8Ml4oLTY0KSwgcmV0dXJuIHgKKy8vCisvLyBGb3IgY2FzZXMgd2hlcmUgbWF4aW11bSBiaWFzZWQgZXhwb25lbnQgaXMgZWl0aGVyIGdyZWF0ZXIgdGhhbiA3ZmRoIG9yCisvLyBiZWxvdyAzMiwgdGFrZSBhIHNwZWNpYWwgcGF0aCB0byBjaGVjayBmb3Igc3BlY2lhbCBjYXNlcyAoMCwgTmFOLCBJbmYpLAorLy8gcG9zc2libGUgb3ZlcmZsb3csIGFuZCBtb3JlIGFjY3VyYXRlIGNvbXB1dGF0aW9uIGZvciBkZW5vcm1hbCByZXN1bHRzCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBoeXBvdCh4LHkpLCBoeXBvdCh5LHgpLCBhbmQgaHlwb3QoeCwteSkgYXJlIGVxdWl2YWxlbnQKKy8vICBoeXBvdCh4LCstMCkgaXMgZXF1aXZhbGVudCB0byBmYWJzKHgpCisvLyAgaHlwb3QoeCx5KSA9IHkgaWYgKHg9PU5hTiBvciB4PT1JTkYpIGFuZCB5PT1JTkYKKy8vICBoeXBvdCh4LHkpID0geCBpZiAoeD09TmFOIG9yIHg9PUlORikgYW5kIHkhPUlORiAoZXZlbiBpZiB5PT1OYU4hKQorLy8gIGh5cG90KHgseSkgPSB5IGlmICh4IT1OYU4gYW5kIHghPUlORikgYW5kICh5PT1OYU4gb3IgeT09SU5GKQorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGh5cG90CitFTlRSWShoeXBvdCkKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisjIHBhcmFtZXRlciAyOiAxNiArICVlYnAKKy4uQjIuMToKKy4uQjIuMjoKKyAgICAgICAgcHVzaGwgICAgICVlYnAKKyAgICAgICAgbW92bCAgICAgICVlc3AsICVlYnAKKyAgICAgICAgc3VibCAgICAgICQxNTIsICVlc3AKKyAgICAgICAgbW92bCAgICAgICVlYngsIDk2KCVlc3ApCisgICAgICAgIGNhbGwgICAgICBzdGF0aWNfZnVuYworICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVieAorICAgICAgICBtb3ZhcGQgICAgKCVlYngpLCAleG1tMworICAgICAgICBtb3ZzZCAgICAgMTYwKCVlc3ApLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgMTY4KCVlc3ApLCAleG1tMQorICAgICAgICBhbmRwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFuZHBkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMjQ1MjgsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisgICAgICAgIGNtcGwgICAgICAkMjQ1MjgsICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgZmxkbCAgICAgIDE2MCglZXNwKQorICAgICAgICBmbGRsICAgICAgMTY4KCVlc3ApCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgwKSwgJXN0CisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgbm9wICAgICAgIAorICAgICAgICBmbXVsICAgICAgJXN0KDApLCAlc3QKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzcXJ0ICAgICAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgc3VibCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgYWRkbCAgICAgICQ5MjgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxODU2LCAlZWN4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBjbXBsICAgICAgJDQ5MDU2LCAlZWF4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorICAgICAgICBmbGRsICAgICAgMTYwKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAxNjgoJWVzcCkKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDApLCAlc3QKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBub3AgICAgICAgCisgICAgICAgIGZtdWwgICAgICAlc3QoMCksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnNxcnQgICAgIAorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIGZzdGwgICAgICAoJWVzcCkKKyAgICAgICAgZnN0cHQgICAgIDE2KCVlc3ApCisgICAgICAgIHhvcmwgICAgICAlZWF4LCAlZWF4CisgICAgICAgIG1vdncgICAgICAyNCglZXNwKSwgJWF4CisgICAgICAgIGNtcGwgICAgICAkMTc0MDcsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAzMiglZXNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTEsIDQwKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAzMiglZXNwKQorICAgICAgICBmYWRkbCAgICAgNDAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgbW92bCAgICAgICQ0NiwgJWVkeAorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIG1vdnNkICAgICAxNjAoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICAxNjgoJWVzcCksICV4bW0xCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgc2h1ZnBkICAgICQwLCAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92ZHFhICAgICV4bW0wLCAleG1tMgorICAgICAgICBtb3ZkcWEgICAgMTYoJWVieCksICV4bW0zCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgMzIoJWVzcCkKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCA0MCglZXNwKQorICAgICAgICBjbXBwZCAgICAgJDMsICV4bW0wLCAleG1tMgorICAgICAgICBjbXBwZCAgICAgJDAsICV4bW0wLCAleG1tMworICAgICAgICBtb3Ztc2twZCAgJXhtbTIsICVlZHgKKyAgICAgICAgbW92bXNrcGQgICV4bW0zLCAlZWF4CisgICAgICAgIHRlc3RsICAgICAlZWR4LCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF85LjAuMgorICAgICAgICBmbGRsICAgICAgMzIoJWVzcCkKKyAgICAgICAgZm11bGwgICAgIDQwKCVlc3ApCisgICAgICAgIHRlc3RsICAgICAkMSwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisgICAgICAgIHRlc3RsICAgICAkMiwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisgICAgICAgIGZsZGwgICAgICAzMiglZXNwKQorICAgICAgICBmYWRkbCAgICAgNDAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMC4wLjI6CisgICAgICAgIGZzdHBsICAgICA0MCglZXNwKQorICAgICAgICBmbGRsICAgICAgMzIoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIGZzdHBsICAgICAzMiglZXNwKQorICAgICAgICBmbGRsICAgICAgNDAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBtb3ZsICAgICAgOTYoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGh5cG90KQorIyAtLSBFbmQgIGh5cG90CisKKyMgU3RhcnQgZmlsZSBzY29wZSBBU00KK0FMSUFTX1NZTUJPTChoeXBvdGwsIGh5cG90KTsKKyMgRW5kIGZpbGUgc2NvcGUgQVNNCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitzdGF0aWNfY29uc3RfdGFibGU6CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDc0ODM2NDcKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMjE0NzQ4MzY0NworCS5sb25nCTAKKwkubG9uZwkyMTQ2NDM1MDcyCisJLmxvbmcJMAorCS5sb25nCTIxNDY0MzUwNzIKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwzMgorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L2VfbG9nLlMgYi9saWJtL3g4Ni9lX2xvZy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MTgxY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9lX2xvZy5TCkBAIC0wLDAgKzEsNzgwIEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gICAgeD0yXmsgKiBteCwgbXggaW4gWzEsMikKKy8vCisvLyAgICBHZXQgQn4xL214IGJhc2VkIG9uIHRoZSBvdXRwdXQgb2YgcmNwc3MgaW5zdHJ1Y3Rpb24gKEIwKQorLy8gICAgQiA9IGludCgoQjAqMl43KzAuNSkpLzJeNworLy8KKy8vICAgIFJlZHVjZWQgYXJndW1lbnQ6IHI9QipteC0xLjAgKGNvbXB1dGVkIGFjY3VyYXRlbHkgaW4gaGlnaCBhbmQgbG93IHBhcnRzKQorLy8KKy8vICAgIFJlc3VsdDogIGsqbG9nKDIpIC0gbG9nKEIpICsgcChyKSBpZiB8eC0xfCA+PSBzbWFsbCB2YWx1ZSAoMl4tNikgIGFuZAorLy8gICAgICAgICAgICAgcChyKSBpcyBhIGRlZ3JlZSA3IHBvbHlub21pYWwKKy8vICAgICAgICAgICAgIC1sb2coQikgcmVhZCBmcm9tIGRhdGEgdGFibGUgKGhpZ2gsIGxvdyBwYXJ0cykKKy8vICAgICAgICAgICAgIFJlc3VsdCBpcyBmb3JtZWQgZnJvbSBoaWdoIGFuZCBsb3cgcGFydHMKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGxvZyhOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBsb2coK0lORikgPSB0aGF0IElORgorLy8gIGxvZygwKSA9IC1JTkYgd2l0aCBkaXZpZGUtYnktemVybyBleGNlcHRpb24gcmFpc2VkCisvLyAgbG9nKDEpID0gKzAKKy8vICBsb2coeCkgPSBOYU4gd2l0aCBpbnZhbGlkIGV4Y2VwdGlvbiByYWlzZWQgaWYgeCA8IC0wLCBpbmNsdWRpbmcgLUlORgorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGxvZworRU5UUlkobG9nKQorIyBwYXJhbWV0ZXIgMTogOCArICVlYnAKKy4uQjIuMToKKy4uQjIuMjoKKyAgICAgICAgcHVzaGwgICAgICVlYnAKKyAgICAgICAgbW92bCAgICAgICVlc3AsICVlYnAKKyAgICAgICAgc3VibCAgICAgICQxMDQsICVlc3AKKyAgICAgICAgbW92bCAgICAgICVlYngsIDQwKCVlc3ApCisgICAgICAgIGNhbGwgICAgICBzdGF0aWNfZnVuYworICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVieAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICB4b3JwZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAkMzA3MDQsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tMworICAgICAgICBtb3ZzZCAgICAgMTEyKCVlc3ApLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlY3gKKyAgICAgICAgbW92ZCAgICAgICVlY3gsICV4bW00CisgICAgICAgIG1vdnNkICAgICAyMTI4KCVlYngpLCAleG1tNQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQ1LCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE2MzUyLCAlZWN4CisgICAgICAgIHBzcmxxICAgICAkMzQsICV4bW0wCisgICAgICAgIHJjcHNzICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQxMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMjgsICV4bW01LCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMQorICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgcGFkZGQgICAgICV4bW00LCAleG1tMAorICAgICAgICBvcnBkICAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVkeAorICAgICAgICBwc2xscSAgICAgJDI5LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIGFuZHBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICVlY3gsICVlYXgKKyAgICAgICAgY3Z0c2kyc2RsICVlYXgsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDIwNjQoJWVieCksICV4bW02CisgICAgICAgIG1vdmFwZCAgICAyMDgwKCVlYngpLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIGFuZGwgICAgICAkMTY3MTE2ODAsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQxMiwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgKCVlYngsJWVkeCksICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAyMDk2KCVlYngpLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAyMTEyKCVlYngpLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0xLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgMjA3MiglZWJ4KSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIyOCwgJXhtbTAsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW00LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIGNtcGwgICAgICAkMTYsICVlYXgKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkLTIwOTcxNTIsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMywgJWVkeAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisuTF8yVEFHX1BBQ0tFVF85LjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisuTF8yVEFHX1BBQ0tFVF84LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkNDkxMzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBkaXZzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMiwgJWVkeAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKy5MXzJUQUdfUEFDS0VUXzQuMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDUsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTg0MTYsICVlY3gKKyAgICAgICAgcHNybHEgICAgICQzNCwgJXhtbTAKKyAgICAgICAgcmNwc3MgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIyOCwgJXhtbTUsICV4bW02CisgICAgICAgIHBzcmxxICAgICAkMTIsICV4bW0xCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgMjQoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgIDI0KCVlc3ApCisuTF8yVEFHX1BBQ0tFVF8xMC4wLjI6CisgICAgICAgIG1vdmwgICAgICA0MCglZXNwKSwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIyLjM6CitFTkQobG9nKQorIyAtLSBFbmQgIGxvZworCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0wobG9nbCwgbG9nKTsKKyMgRW5kIGZpbGUgc2NvcGUgQVNNCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitzdGF0aWNfY29uc3RfdGFibGU6CisJLmxvbmcJNDI3NzgxMTIwMAorCS5sb25nCTEwNzIwNDk3MzAKKwkubG9uZwkyNDc5MzE4ODMyCisJLmxvbmcJMTAyNjQ4NzEyNworCS5sb25nCTI4NTQ0OTIxNjAKKwkubG9uZwkxMDcyMDMzNDEwCisJLmxvbmcJMjE1NjMxNTUwCisJLmxvbmcJMTAyNTYzODk2OAorCS5sb25nCTE1NDcwNjEyNDgKKwkubG9uZwkxMDcyMDE3MjE2CisJLmxvbmcJMjg4Njc4MTQzNQorCS5sb25nCTEwMjY0MjMzOTUKKwkubG9uZwk2NDk4MjUyODAKKwkubG9uZwkxMDcyMDAxMTQ2CisJLmxvbmcJNDI4MTUzMzQwNQorCS5sb25nCTEwMjQwMzg5MjMKKwkubG9uZwk2NDYzNDY3NTIKKwkubG9uZwkxMDcxOTg1MTk4CisJLmxvbmcJMTU2MjczNTkyMQorCS5sb25nCTEwMjM3OTAyNzYKKwkubG9uZwkyMjAzNzM0MDE2CisJLmxvbmcJMTA3MTk2OTM3MAorCS5sb25nCTE4MzgzOTc2OTEKKwkubG9uZwkzMTczOTM2MjA5CisJLmxvbmcJMTg3MjE2OTk4NAorCS5sb25nCTEwNzE5NTM2NjEKKwkubG9uZwkzOTgxMjAyNDYwCisJLmxvbmcJMTAyMjMyNTAxMworCS5sb25nCTY2OTU1Nzc2MAorCS5sb25nCTEwNzE5MzgwNjkKKwkubG9uZwk0MTgyNTk3ODAyCisJLmxvbmcJMzE3MzE3NDEyMgorCS5sb25nCTQwNzY0MTM5NTIKKwkubG9uZwkxMDcxOTIyNTkxCisJLmxvbmcJMTIwOTAyOTExMQorCS5sb25nCTMxNzA3MzYyMDcKKwkubG9uZwk1NTYxMjUxODQKKwkubG9uZwkxMDcxOTA3MjI4CisJLmxvbmcJODIxMDg2MDI4CisJLmxvbmcJMzE3MzQzNzA0OQorCS5sb25nCTIwNDkxNDY4OAorCS5sb25nCTEwNzE4OTE5NzYKKwkubG9uZwkyMDk3MDI1OTg2CisJLmxvbmcJMzE3MTA3MTc5OAorCS5sb25nCTM4NzU0NTA4OAorCS5sb25nCTEwNzE4NzY4MzQKKwkubG9uZwkzMTQyOTM2OTk2CisJLmxvbmcJMzE3MzA5MjIxOAorCS5sb25nCTI5MTI3ODMzNjAKKwkubG9uZwkxMDcxODYxODAwCisJLmxvbmcJMjUwMjQyMDE0MAorCS5sb25nCTEwMjQ1MDU5MTkKKwkubG9uZwkxMTQ0MjYwNjA4CisJLmxvbmcJMTA3MTg0Njg3NAorCS5sb25nCTMzMTU2NTgxNDAKKwkubG9uZwkzMTczNDY5ODQzCisJLmxvbmcJMTQ3MTIwOTQ3MgorCS5sb25nCTEwNzE4MzIwNTMKKwkubG9uZwkxMjk2MjEwMDkKKwkubG9uZwkzMTcyNDQzODc3CisJLmxvbmcJMTgyOTY4MzIwMAorCS5sb25nCTEwNzE4MTczMzYKKwkubG9uZwkzODg1NDY3NjkzCisJLmxvbmcJMTAyNTUzNTI3NQorCS5sb25nCTI4ODY3Njg2NAorCS5sb25nCTEwNzE4MDI3MjIKKwkubG9uZwk4NjEzOTQ3MgorCS5sb25nCTMxNzE2Mzk3OTMKKwkubG9uZwkzNjM2Mzc4NjI0CisJLmxvbmcJMTA3MTc4ODIwOAorCS5sb25nCTE4NTAyMzg1ODcKKwkubG9uZwkxMDI0NjU0MzQyCisJLmxvbmcJMTYwNjgxNzc5MgorCS5sb25nCTEwNzE3NzM3OTUKKwkubG9uZwkzMzg4ODk5Nzk1CisJLmxvbmcJMzE3MzY3NTU4NgorCS5sb25nCTEyMzYxNjQ2MDgKKwkubG9uZwkxMDcxNzU5NDgwCisJLmxvbmcJMzk4MzU5OTIwNworCS5sb25nCTEwMjAwNDY1NTgKKwkubG9uZwkxMDg5NjE2ODk2CisJLmxvbmcJMTA3MTc0NTI2MgorCS5sb25nCTQxNzE5NzQyMjQKKwkubG9uZwkxMDI0NzczMTk4CisJLmxvbmcJNDE0MzA5Mzc2MAorCS5sb25nCTEwNzE3MzExMzkKKwkubG9uZwkyNzI3NTg3NDAxCisJLmxvbmcJMzE3Mzk2NTIwNworCS5sb25nCTYwMDI2Nzc3NgorCS5sb25nCTEwNzE3MTcxMTIKKwkubG9uZwkzMTQ3Njg1MDQyCisJLmxvbmcJMzE3MzM1MzAzMQorCS5sb25nCTIyNDkzMTMyODAKKwkubG9uZwkxMDcxNzAzMTc3CisJLmxvbmcJMTI1ODM1MDc0CisJLmxvbmcJMTAyNTI1NTgzMgorCS5sb25nCTM4MDUzMDM4MDgKKwkubG9uZwkxMDcxNjg5MzM0CisJLmxvbmcJMjI4OTk5MTIwNworCS5sb25nCTEwMjU0NjAzMzEKKwkubG9uZwk4NzI3ODU5MgorCS5sb25nCTEwNzE2NzU1ODMKKwkubG9uZwkxMTA2MTE0MDQ1CisJLmxvbmcJMTAyNTkzMzYwMgorCS5sb25nCTMxOTU0MDUzMTIKKwkubG9uZwkxMDcxNjYxOTIwCisJLmxvbmcJMzg4NTMxNjU3NgorCS5sb25nCTMxNzEyMDYyMzkKKwkubG9uZwkzODUzNjQ5OTIwCisJLmxvbmcJMTA3MTY0ODM0NgorCS5sb25nCTI5NzcwNjk4NTIKKwkubG9uZwkzMTcxMjM2NzcxCisJLmxvbmcJMjk0NDAyNjYyNAorCS5sb25nCTEwNzE2MjUwNDgKKwkubG9uZwkxMDA4MDkzNDkzCisJLmxvbmcJMTAyMzQ0NDQ3NAorCS5sb25nCTM5OTMxODAxNjAKKwkubG9uZwkxMDcxNTk4MjQ3CisJLmxvbmcJMTg2MjM1NTU5NQorCS5sb25nCTEwMjQ2NDI1MzMKKwkubG9uZwkxNDU0NjQxMTUyCisJLmxvbmcJMTA3MTU3MTYxNworCS5sb25nCTE1MTQ2MDMwODkKKwkubG9uZwkxMDI2NTAwNTk2CisJLmxvbmcJMzI4NjA4NTYzMgorCS5sb25nCTEwNzE1NDUxNTQKKwkubG9uZwkxNDAwMDI4NDI0CisJLmxvbmcJMzE3MzI3OTA1NgorCS5sb25nCTQzODc3Mzc2MAorCS5sb25nCTEwNzE1MTg4NTgKKwkubG9uZwkxMjA3Mjc4NjQKKwkubG9uZwkzMTcyMTQ4OTE0CisJLmxvbmcJMTIxMjk3OTIwMAorCS5sb25nCTEwNzE0OTI3MjUKKwkubG9uZwkxNjI1MDU1NTk0CisJLmxvbmcJMzE3MjkwMTkzMworCS5sb25nCTExODkwMTc2MDAKKwkubG9uZwkxMDcxNDY2NzU0CisJLmxvbmcJMzkyMDA2MjM3NgorCS5sb25nCTEwMjU3Mjc0MDcKKwkubG9uZwk0MDMwNjQ4MzIKKwkubG9uZwkxMDcxNDQwOTQzCisJLmxvbmcJMTA1MzI3MTcyOAorCS5sb25nCTMxNzEzOTE0MjcKKwkubG9uZwkzMzQzMjEwNDk2CisJLmxvbmcJMTA3MTQxNTI4OQorCS5sb25nCTMyNDMzOTU1MDIKKwkubG9uZwkzMTczNjI3NjEzCisJLmxvbmcJMTc2NTc3NzQwOAorCS5sb25nCTEwNzEzODk3OTIKKwkubG9uZwkyMTQ1OTY4NTEyCisJLmxvbmcJMTAyNjM1NDMwNAorCS5sb25nCTQ2MTQzMDc4NAorCS5sb25nCTEwNzEzNjQ0NDkKKwkubG9uZwk0MDk0MzIyMjg1CisJLmxvbmcJMTAyNjAyMTQ2NworCS5sb25nCTcxNzA2NjI0CisJLmxvbmcJMTA3MTMzOTI1OAorCS5sb25nCTc2MzYzMjAyMQorCS5sb25nCTEwMjQ0OTY5MzMKKwkubG9uZwkxMzgwNTAzNTUyCisJLmxvbmcJMTA3MTMxNDIxNworCS5sb25nCTEzODM1NDc5OTIKKwkubG9uZwkzMTczMDg4NDUzCisJLmxvbmcJMTAxNTczMjIyNAorCS5sb25nCTEwNzEyODkzMjUKKwkubG9uZwkzMTk4NjQ2ODc3CisJLmxvbmcJMTAyNTM5MDMyMgorCS5sb25nCTM1OTc3MjE2CisJLmxvbmcJMTA3MTI2NDU4MAorCS5sb25nCTIxNDEwMjY4MDUKKwkubG9uZwkxMDI1NzU0NjkzCisJLmxvbmcJMzkyNzMwNjI0MAorCS5sb25nCTEwNzEyMzk5NzkKKwkubG9uZwkyODIxMTYyNzIKKwkubG9uZwkzMTczMzk0MzM0CisJLmxvbmcJMTEyNTM0MTE4NAorCS5sb25nCTEwNzEyMTU1MjMKKwkubG9uZwkyNzY4NDI3NTA0CisJLmxvbmcJMzE3MjI3OTA1OQorCS5sb25nCTE2NjY5NzE2NDgKKwkubG9uZwkxMDcxMTkxMjA4CisJLmxvbmcJNzg2ODM3NjI5CisJLmxvbmcJMzE3MjQyNzQ0NQorCS5sb25nCTI4Mjc2OTQwODAKKwkubG9uZwkxMDcxMTY3MDMzCisJLmxvbmcJMzg1NzEyMjQxNgorCS5sb25nCTMxNzMwMTQyNDEKKwkubG9uZwkyMDAzNjgzMzI4CisJLmxvbmcJMTA3MTE0Mjk5NworCS5sb25nCTg1OTAxMDk1NAorCS5sb25nCTEwMjY1NDUwMDcKKwkubG9uZwkxMDA0MDE3NjY0CisJLmxvbmcJMTA3MTExOTA5OAorCS5sb25nCTMzNTY2NDQ5NzAKKwkubG9uZwkzMTczNDU4MDY0CisJLmxvbmcJMTc1MzAyMDQxNgorCS5sb25nCTEwNzEwOTUzMzQKKwkubG9uZwk3ODgzMzg1NTIKKwkubG9uZwkxMDI2MTU3NjkzCisJLmxvbmcJMTk5MjcxODMzNgorCS5sb25nCTEwNzEwNzE3MDQKKwkubG9uZwkxMjM5MTc5NDQzCisJLmxvbmcJMTAyNjM5NDg4OQorCS5sb25nCTM4NzAyMzQ2MjQKKwkubG9uZwkxMDcxMDQ4MjA2CisJLmxvbmcJMjA4MjYxNDY2MworCS5sb25nCTEwMjQ5MjYwNTMKKwkubG9uZwkxMDUwNDM3NjMyCisJLmxvbmcJMTA3MTAyNDg0MAorCS5sb25nCTY2MDAwNzg0MAorCS5sb25nCTEwMjU1NDg0OTkKKwkubG9uZwkxODgzOTU1MjAKKwkubG9uZwkxMDcxMDAxNjAzCisJLmxvbmcJMzg3ODc5MjcwNAorCS5sb25nCTMxNzM4ODk1NzEKKwkubG9uZwkzNzQ3MTc2NDQ4CisJLmxvbmcJMTA3MDk3ODQ5MworCS5sb25nCTE0NDk5MTcwOAorCS5sb25nCTMxNzE1NTIwNDIKKwkubG9uZwkxNDA1NjY5Mzc2CisJLmxvbmcJMTA3MDk1NTUxMQorCS5sb25nCTM5OTkwODg4NzkKKwkubG9uZwkxMDI1NDg2MzE3CisJLmxvbmcJMTIxMTUxNDg4CisJLmxvbmcJMTA3MDkzMjY1NAorCS5sb25nCTIxNzA4NjU0OTcKKwkubG9uZwkxMDI2NDczNTg0CisJLmxvbmcJMjY1MjMxOTc0NAorCS5sb25nCTEwNzA5MDk5MjAKKwkubG9uZwk0NTM2OTU2NTIKKwkubG9uZwkzMTczOTE2ODA5CisJLmxvbmcJMzI2MjIzNjY3MgorCS5sb25nCTEwNzA4ODczMDkKKwkubG9uZwkxNTc4MDAwNTMKKwkubG9uZwkzMTczOTg0MjA2CisJLmxvbmcJNjAxMjIxMTIwCisJLmxvbmcJMTA3MDg2NDgyMAorCS5sb25nCTM5Njg5MTc2NjEKKwkubG9uZwkxMDIzOTkyODg2CisJLmxvbmcJMTk5OTg0MzMyOAorCS5sb25nCTEwNzA4NDI0NTAKKwkubG9uZwkzMDUzODk1MDA0CisJLmxvbmcJMTAyNDk5ODIyOAorCS5sb25nCTE5OTIxNjc0MjQKKwkubG9uZwkxMDcwODIwMTk5CisJLmxvbmcJMjk2ODYxNDg1NgorCS5sb25nCTEwMjQ1NTI2NTMKKwkubG9uZwkzNzg4NzI2MjcyCisJLmxvbmcJMTA3MDc5ODA2NQorCS5sb25nCTM1NDIxNzA4MDgKKwkubG9uZwkzMTczNTczMjQyCisJLmxvbmcJMjA5NDgyOTU2OAorCS5sb25nCTEwNzA3NzYwNDgKKwkubG9uZwkxMjQ2NzU4MTMyCisJLmxvbmcJMTAyNjIwMjg3NAorCS5sb25nCTI4ODY3NTg0MAorCS5sb25nCTEwNzA3NTQxNDYKKwkubG9uZwkzNzQ3MzI4OTUwCisJLmxvbmcJMTAyNjMzMTU4NQorCS5sb25nCTE4Mjk2ODExNTIKKwkubG9uZwkxMDcwNzMyMzU3CisJLmxvbmcJMzEyNTE5NzU0NgorCS5sb25nCTEwMjQxMDAzMTgKKwkubG9uZwkxNjY2ODY5MjQ4CisJLmxvbmcJMTA3MDcxMDY4MQorCS5sb25nCTEzNjM2NTYxMTkKKwkubG9uZwkxMDI2MzM2NDkzCisJLmxvbmcJMzQxNzExMDUyOAorCS5sb25nCTEwNzA2ODkxMTYKKwkubG9uZwk0MTU0NzkxNTUzCisJLmxvbmcJMTAyNjI2Nzg1MworCS5sb25nCTIxODM2NTMzNzYKKwkubG9uZwkxMDcwNjY3NjYyCisJLmxvbmcJMTY3MTgxOTI5MgorCS5sb25nCTMxNzM3ODU4NzAKKwkubG9uZwkxNzM0NDM0ODE2CisJLmxvbmcJMTA3MDY0NjMxNworCS5sb25nCTM3MzA5MTA0OQorCS5sb25nCTEwMjU5NzIzNjMKKwkubG9uZwkxNjE1NjgxNTM2CisJLmxvbmcJMTA3MDYyNTA4MAorCS5sb25nCTM4NDY1MDg5NworCS5sb25nCTEwMjI5MjYwNDMKKwkubG9uZwkxNDQ1MzgyMTQ0CisJLmxvbmcJMTA3MDYwMzk1MAorCS5sb25nCTM0NDMyMDMzMAorCS5sb25nCTMxNzIzOTcxOTYKKwkubG9uZwkxODIzNzE1MzI4CisJLmxvbmcJMTA3MDU2OTc1NgorCS5sb25nCTMzODk4NDEyMDAKKwkubG9uZwkxMDI1MjMxODUyCisJLmxvbmcJMzgzOTY4ODcwNAorCS5sb25nCTEwNzA1Mjc5MTcKKwkubG9uZwkxNzA2NzkwNDE3CisJLmxvbmcJMzE2NzM2MzM0OQorCS5sb25nCTQyOTMzMzI5OTIKKwkubG9uZwkxMDcwNDg2Mjg2CisJLmxvbmcJMTYxNDkzNTA4OAorCS5sb25nCTEwMTkzNTE1OTEKKwkubG9uZwkyOTY2NzIwNTEyCisJLmxvbmcJMTA3MDQ0NDg2MQorCS5sb25nCTQxNDUzOTM3MTcKKwkubG9uZwkzMTczNzExNjU4CisJLmxvbmcJNDA2NjcyOTk4NAorCS5sb25nCTEwNzA0MDM2MzkKKwkubG9uZwkxOTc0OTI1MDI4CisJLmxvbmcJMzE3MTQzNzE4MgorCS5sb25nCTMzMzc2MjE1MDQKKwkubG9uZwkxMDcwMzYyNjE5CisJLmxvbmcJMzMxNDk1MzE3MAorCS5sb25nCTMxNjk5NzEzMTQKKwkubG9uZwk5NDM0NDgwNjQKKwkubG9uZwkxMDcwMzIxNzk5CisJLmxvbmcJMTQ5ODY4MjAzOAorCS5sb25nCTMxNzM4NjIzNDAKKwkubG9uZwkxNDY1NjM0ODE2CisJLmxvbmcJMTA3MDI4MTE3NgorCS5sb25nCTEzMTk5NTI4MTAKKwkubG9uZwkzMTcxNjkzOTY1CisJLmxvbmcJMTAxNTczNDI3MgorCS5sb25nCTEwNzAyNDA3NDkKKwkubG9uZwkxMzQ3ODIxOTI5CisJLmxvbmcJMzE3MzU0NDUxNQorCS5sb25nCTExODAwMTY2NAorCS5sb25nCTEwNzAyMDA1MTYKKwkubG9uZwkxNzUxNDgyNzQ2CisJLmxvbmcJMTAyNjEzNDA5MworCS5sb25nCTM3MDcxNzQ5MTIKKwkubG9uZwkxMDcwMTYwNDc0CisJLmxvbmcJMTQ4Njk0NjE1OQorCS5sb25nCTEwMjM5MzA5MjAKKwkubG9uZwkzOTQ2MzgxMzEyCisJLmxvbmcJMTA3MDEyMDYyMworCS5sb25nCTI4Njc0MDgwODEKKwkubG9uZwkzMTcxMzY4Mjc2CisJLmxvbmcJMTY5OTg0ODE5MgorCS5sb25nCTEwNzAwODA5NjEKKwkubG9uZwkyNTkwMTg3MTM5CisJLmxvbmcJMTAyNTM3OTgwMworCS5sb25nCTIyMzU4NDY2NTYKKwkubG9uZwkxMDcwMDQxNDg1CisJLmxvbmcJMTg4ODU2ODA2OQorCS5sb25nCTMxNzI3NTQ5NjAKKwkubG9uZwkyMzM5NzI5NDA4CisJLmxvbmcJMTA3MDAwMjE5NAorCS5sb25nCTM4NTIyMTQ3NTMKKwkubG9uZwkzMTczMzIzMTQ5CisJLmxvbmcJMzE5Njg1MDE3NgorCS5sb25nCTEwNjk5NjMwODYKKwkubG9uZwk3NDIxNDE1NjAKKwkubG9uZwkxMDI1MTAxNzA3CisJLmxvbmcJMTgwMDY4MzUyMAorCS5sb25nCTEwNjk5MjQxNjAKKwkubG9uZwkzOTQ5NTAwNDQ0CisJLmxvbmcJMzE3MjEwMjE3OQorCS5sb25nCTM4MzU4MDE2MDAKKwkubG9uZwkxMDY5ODg1NDEzCisJLmxvbmcJMzg0ODg5NTk0MworCS5sb25nCTEwMjU5MTM4MzIKKwkubG9uZwkyMjAxMjAyNjg4CisJLmxvbmcJMTA2OTg0Njg0NQorCS5sb25nCTE0MjU5MTM0NjQKKwkubG9uZwkxMDI1ODY4NjY1CisJLmxvbmcJMjc3ODI3OTkzNgorCS5sb25nCTEwNjk4MDg0NTMKKwkubG9uZwkyMTIwODg5Njc3CisJLmxvbmcJMzE3MzgzMTEyOAorCS5sb25nCTI5NTQyMDMxMzYKKwkubG9uZwkxMDY5NzcwMjM2CisJLmxvbmcJNTkyMTQ3MDgxCisJLmxvbmcJMTAxOTYyMTI4OAorCS5sb25nCTIxMDE0MTE4NAorCS5sb25nCTEwNjk3MzIxOTMKKwkubG9uZwkzNDE0Mjc1MjMzCisJLmxvbmcJMTAyMzY0NzA4NAorCS5sb25nCTcwOTQ3NjM1MgorCS5sb25nCTEwNjk2OTQzMjEKKwkubG9uZwkyNDEzMDI3MTY0CisJLmxvbmcJMTAyNDQ2MjExNQorCS5sb25nCTIxMTYyODQ0MTYKKwkubG9uZwkxMDY5NjU2NjE5CisJLmxvbmcJMTE0NDU1OTkyNAorCS5sb25nCTEwMjYzMzY2NTQKKwkubG9uZwkyMTgzNjUxMzI4CisJLmxvbmcJMTA2OTYxOTA4NgorCS5sb25nCTM0NTkwNTc2NTAKKwkubG9uZwkxMDI1NjM0MTY4CisJLmxvbmcJMzA0NzA0NzE2OAorCS5sb25nCTEwNjk1ODE3MjAKKwkubG9uZwkxODc5Njc0OTI0CisJLmxvbmcJMzE3MzUwODU3MworCS5sb25nCTk3MDcxMTA0MAorCS5sb25nCTEwNjk1NDE1MjEKKwkubG9uZwkxMzM1OTU0MTczCisJLmxvbmcJMzE3MzMzMjE4MgorCS5sb25nCTIxOTg0Nzg4NDgKKwkubG9uZwkxMDY5NDY3NDQ5CisJLmxvbmcJMjk1MTEwMzk2OAorCS5sb25nCTMxNzM4OTIyMDAKKwkubG9uZwkxNjY5NjExNTIwCisJLmxvbmcJMTA2OTM5MzcwMworCS5sb25nCTUzMTA0NDE0NworCS5sb25nCTEwMjUxNDkyNDgKKwkubG9uZwkyOTExNDM2OAorCS5sb25nCTEwNjkzMjAyODAKKwkubG9uZwkzMzI3ODMxMjUxCisJLmxvbmcJMTAyNTkxODY3MworCS5sb25nCTIzNzY5NDk3NjAKKwkubG9uZwkxMDY5MjQ3MTc2CisJLmxvbmcJNzM3NjM0NTMzCisJLmxvbmcJMzE3MjE3NjAwMAorCS5sb25nCTEwODUzOTA4NDgKKwkubG9uZwkxMDY5MTc0MzkwCisJLmxvbmcJMzEwODI0MzQwMAorCS5sb25nCTMxNzE4Mjg0MDYKKwkubG9uZwkxNTY2MTMwMTc2CisJLmxvbmcJMTA2OTEwMTkxOAorCS5sb25nCTk4NTQ4MzIyNgorCS5sb25nCTEwMjU3MDgzODAKKwkubG9uZwk3OTI3ODA4MDAKKwkubG9uZwkxMDY5MDI5NzU4CisJLmxvbmcJNDE4NDg2NjI5NQorCS5sb25nCTEwMjQ0MjYyMDQKKwkubG9uZwkxODMxNTY3MzYKKwkubG9uZwkxMDY4OTU3OTA3CisJLmxvbmcJMjg0NTY5OTM3OAorCS5sb25nCTEwMjIxMDcyNzcKKwkubG9uZwkxMzAxNzgyNTI4CisJLmxvbmcJMTA2ODg4NjM2MgorCS5sb25nCTEwMTI3MzUyNjIKKwkubG9uZwkzMTczODA0Mjk0CisJLmxvbmcJMTU2MjQxMTAwOAorCS5sb25nCTEwNjg4MTUxMjEKKwkubG9uZwkyMTk3MDg2NzAzCisJLmxvbmcJMzE3MDE4NzgxMworCS5sb25nCTI4MTU1NDk0NDAKKwkubG9uZwkxMDY4NzQ0MTgxCisJLmxvbmcJMjc4MjYxMzIwNworCS5sb25nCTEwMjYzNDUwNTQKKwkubG9uZwkyNzU2MTI0NjcyCisJLmxvbmcJMTA2ODY3MzU0MAorCS5sb25nCTI5Mjk0ODYyMDUKKwkubG9uZwkzMTczMDM3ODAwCisJLmxvbmcJMzUxMTA1MDI0MAorCS5sb25nCTEwNjg2MDMxOTUKKwkubG9uZwkxNDQzNzMzMTQ3CisJLmxvbmcJMzE3MzMzMTU0OQorCS5sb25nCTMwNDcwNDcxNjgKKwkubG9uZwkxMDY4NTMzMTQ0CisJLmxvbmcJMTg3OTY3NDkyNAorCS5sb25nCTMxNzI0NTk5OTcKKwkubG9uZwkzMjIxNjY3ODQwCisJLmxvbmcJMTA2ODQyNzgyNQorCS5sb25nCTEzMzg1ODgwMjcKKwkubG9uZwkzMTcxODE1NzQyCisJLmxvbmcJMzQ1Mzg2MTg4OAorCS5sb25nCTEwNjgyODg4ODMKKwkubG9uZwkxMjA1MzQ4MzU5CisJLmxvbmcJMzE3MjYyNDYyNgorCS5sb25nCTM1MDYxMTA0NjQKKwkubG9uZwkxMDY4MTUwNTE0CisJLmxvbmcJODkzMTA1MTk4CisJLmxvbmcJMTAyNTU3MTg2NgorCS5sb25nCTM0NjAxMzY5NgorCS5sb25nCTEwNjgwMTI3MTQKKwkubG9uZwkzNDk1NTY5MDIxCisJLmxvbmcJMzE3MjU2MzM0OQorCS5sb25nCTQwNzQwMjkwNTYKKwkubG9uZwkxMDY3ODc1NDc2CisJLmxvbmcJMzk2MTEwNjMzOAorCS5sb25nCTMxNzEwNjU1OTUKKwkubG9uZwkzNTU5Nzg0NDQ4CisJLmxvbmcJMTA2NzczODc5OAorCS5sb25nCTE5NzUzODUzODQKKwkubG9uZwkzMTczNzgzMTU1CisJLmxvbmcJNzk3NzY5NzI4CisJLmxvbmcJMTA2NzYwMjY3NQorCS5sb25nCTM3NjAzMDU3ODcKKwkubG9uZwkxMDI2MDQ3NjQyCisJLmxvbmcJMjMxMzYzMzc5MgorCS5sb25nCTEwNjc0NjcxMDEKKwkubG9uZwkxNTU5MzUzMTcxCisJLmxvbmcJMTAyMzQ4MDI1NgorCS5sb25nCTM5NjA3NjY0NjQKKwkubG9uZwkxMDY3MjEzNzc4CisJLmxvbmcJMTA2NzM2NTEwNworCS5sb25nCTEwMjU4NjU5MjYKKwkubG9uZwk2ODQyNjEzNzYKKwkubG9uZwkxMDY2OTQ0ODA1CisJLmxvbmcJODQ0NzYyMTY0CisJLmxvbmcJMzE3MzY4NzQ4MgorCS5sb25nCTYzMDcxODQ2NAorCS5sb25nCTEwNjY2NzY5MDUKKwkubG9uZwkyNDU4MjY5Njk0CisJLmxvbmcJMTAyNDAzMzA4MQorCS5sb25nCTE0ODYwNjE1NjgKKwkubG9uZwkxMDY2NDEwMDcwCisJLmxvbmcJMTE1NTM3ODc0CisJLmxvbmcJMzE3MzI0Mzk5NQorCS5sb25nCTI3NDM2NjQ2NDAKKwkubG9uZwkxMDY1ODg2NzkyCisJLmxvbmcJMzY2NTA5ODMwNAorCS5sb25nCTMxNzM0NzE2MDcKKwkubG9uZwkxOTcxOTEyNzA0CisJLmxvbmcJMTA2NTM1NzMzMworCS5sb25nCTI1NzcyMTQ0NDAKKwkubG9uZwkzMTcxOTkzNDUxCisJLmxvbmcJMTQ5ODkzOTM5MgorCS5sb25nCTEwNjQzMDY2OTMKKwkubG9uZwkzNDA5MDM2OTIzCisJLmxvbmcJMTAyNTU5OTE1MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwk0Mjc3ODExMjAwCisJLmxvbmcJMTA2Nzg1NTQyNgorCS5sb25nCTI0NzkzMTg4MzIKKwkubG9uZwkxMDIyMjkyODIzCisJLmxvbmcJMjQ1NDI2NzAyNgorCS5sb25nCTEwNjk2OTczMTYKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTEwMzA3MzAxMDEKKwkubG9uZwkzMjE3MzgwNzAyCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNzA5NDU2MjEKKwkubG9uZwkyNTc2OTgwMzc4CisJLmxvbmcJMTA3MDE3NjY2NQorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NTkxMDQKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk1OTEwNAorCS50eXBlCXN0YXRpY19jb25zdF90YWJsZSxAb2JqZWN0CisJLnNpemUJc3RhdGljX2NvbnN0X3RhYmxlLDIxNDQKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Ni9lX2xvZzEwLlMgYi9saWJtL3g4Ni9lX2xvZzEwLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDliMjk1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L2VfbG9nMTAuUwpAQCAtMCwwICsxLDc5NSBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIExldCB4PTJeayAqIG14LCBteCBpbiBbMSwyKQorLy8KKy8vICAgIEdldCBCfjEvbXggYmFzZWQgb24gdGhlIG91dHB1dCBvZiByY3BzcyBpbnN0cnVjdGlvbiAoQjApCisvLyAgICBCID0gaW50KChCMCpMSCoyXjcrMC41KSkvMl43CisvLyAgICBMSCBpcyBhIHNob3J0IGFwcHJveGltYXRpb24gZm9yIGxvZzEwKGUpCisvLworLy8gICAgUmVkdWNlZCBhcmd1bWVudDogcj1CKm14LUxIIChjb21wdXRlZCBhY2N1cmF0ZWx5IGluIGhpZ2ggYW5kIGxvdyBwYXJ0cykKKy8vCisvLyAgICBSZXN1bHQ6ICBrKmxvZzEwKDIpIC0gbG9nKEIpICsgcChyKQorLy8gICAgICAgICAgICAgcChyKSBpcyBhIGRlZ3JlZSA3IHBvbHlub21pYWwKKy8vICAgICAgICAgICAgIC1sb2coQikgcmVhZCBmcm9tIGRhdGEgdGFibGUgKGhpZ2gsIGxvdyBwYXJ0cykKKy8vICAgICAgICAgICAgIFJlc3VsdCBpcyBmb3JtZWQgZnJvbSBoaWdoIGFuZCBsb3cgcGFydHMKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGxvZzEwKDApID0gLUlORiB3aXRoIGRpdmlkZS1ieS16ZXJvIGV4Y2VwdGlvbiByYWlzZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisvLyAgbG9nMTAoMSkgPSArMAorLy8gIGxvZzEwKHgpID0gTmFOIHdpdGggaW52YWxpZCBleGNlcHRpb24gcmFpc2VkIGlmIHggPCAtMCwgaW5jbHVkaW5nIC1JTkYKKy8vICBsb2cxMCgrSU5GKSA9ICtJTkYKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24KK3N0YXRpY19mdW5jOgorLi5CMS4xOgorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlYXgKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlYXgpLCAlZWF4CisgICAgICAgIGxlYSAgICAgICBzdGF0aWNfY29uc3RfdGFibGVAR09UT0ZGKCVlYXgpLCAlZWF4CisgICAgICAgIHJldAorICAgICAgICAuc2l6ZSAgIHN0YXRpY19mdW5jLC4tc3RhdGljX2Z1bmMKKyMgLS0gRW5kICBzdGF0aWNfZnVuYworCisjIC0tIEJlZ2luICBsb2cxMAorRU5UUlkobG9nMTApCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEwNCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNDAoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTA1NDczNjM4NCwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJWVjeCwgJXhtbTcKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDMwNzA0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTMKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWR4CisgICAgICAgIG1vdmQgICAgICAlZWR4LCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgMjEyOCglZWJ4KSwgJXhtbTUKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBvcnBkICAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTYzNTIsICVlY3gKKyAgICAgICAgcHNsbHEgICAgICQ1LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgMjE0NCglZWJ4KSwgJXhtbTIKKyAgICAgICAgcHNybHEgICAgICQzNCwgJXhtbTAKKyAgICAgICAgcmNwc3MgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDc4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgcHNybHEgICAgICQxMiwgJXhtbTEKKyAgICAgICAgc3VibCAgICAgICQxNiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzM2LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIG11bHNzICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgb3JwZCAgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhbmRwZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIGN2dHNpMnNkbCAlZWF4LCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDIwNjQoJWVieCksICV4bW02CisgICAgICAgIG1vdmFwZCAgICAyMDgwKCVlYngpLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIGFuZGwgICAgICAkMTY3MTE2ODAsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQxMiwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgLTE1MDQoJWVieCwlZWR4KSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDIwOTYoJWVieCksICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIDIxMTIoJWVieCksICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAyMDcyKCVlYngpLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgMjE1MiglZWJ4KSwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQyMjgsICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorLkxfMlRBR19QQUNLRVRfMC4wLjI6CisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBjbXBsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJC0yMDk3MTUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDksICVlZHgKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMgorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDQ5MTM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgZGl2c2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDgsICVlZHgKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgICQxODQxNiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxODQxNiwgJWVjeAorICAgICAgICBwc2xscSAgICAgJDUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAyMTQ0KCVlYngpLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDM0LCAleG1tMAorICAgICAgICByY3BzcyAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNzgsICV4bW01LCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzIuMC4yOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDI0KCVlc3ApCisgICAgICAgIGZsZGwgICAgICAyNCglZXNwKQorLkxfMlRBR19QQUNLRVRfMTAuMC4yOgorICAgICAgICBtb3ZsICAgICAgNDAoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGxvZzEwKQorIyAtLSBFbmQgIGxvZzEwCisKKyMgU3RhcnQgZmlsZSBzY29wZSBBU00KK0FMSUFTX1NZTUJPTChsb2cxMGwsIGxvZzEwKTsKKyMgRW5kIGZpbGUgc2NvcGUgQVNNCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitzdGF0aWNfY29uc3RfdGFibGU6CisJLmxvbmcJMTM1MjYyODIyNAorCS5sb25nCTEwNzA4MTAxMzEKKwkubG9uZwk1MjEzMTkyNTYKKwkubG9uZwkxMDI1NTAzMDI1CisJLmxvbmcJMjE1MDgzOTI5NgorCS5sb25nCTEwNzA4MDE5NDQKKwkubG9uZwkzMzI5MzUwMDk2CisJLmxvbmcJMzE3MDE5MDAxNQorCS5sb25nCTEzNjA2MTMzNzYKKwkubG9uZwkxMDcwNzkzNzk0CisJLmxvbmcJMjAyNDA1OTA3NQorCS5sb25nCTEwMjQ5OTE1OTQKKwkubG9uZwkxODc1MzUwNTI4CisJLmxvbmcJMTA3MDc4NTY4MAorCS5sb25nCTIxNjM4ODIxNDEKKwkubG9uZwkzMTYzNTY0MTM3CisJLmxvbmcJMjMxMjEyNjQ2NAorCS5sb25nCTEwNzA3Nzc2MDIKKwkubG9uZwkxOTc1NzExMDc2CisJLmxvbmcJMTAyMzY3NDE5NgorCS5sb25nCTEzMDYzMzYyNTYKKwkubG9uZwkxMDcwNzY5NTYwCisJLmxvbmcJMzUyNDg5OTUyMworCS5sb25nCTMxNzA1MDgxNjQKKwkubG9uZwkxODA2MzM0OTc2CisJLmxvbmcJMTA3MDc2MTU1MworCS5sb25nCTQyNTQ3NzcwMjUKKwkubG9uZwkxMDI1MjM4NzM5CisJLmxvbmcJMjQ4MzE5Mzg1NgorCS5sb25nCTEwNzA3NTM1ODEKKwkubG9uZwkzODAwNjcxMzE3CisJLmxvbmcJMzE3MjkxNjgzMAorCS5sb25nCTIwMjUzNTAxNDQKKwkubG9uZwkxMDcwNzQ1NjQ0CisJLmxvbmcJMTczMTUxNDc0NQorCS5sb25nCTEwMjU1MDEwODMKKwkubG9uZwkzNDMzMjg1NjMyCisJLmxvbmcJMTA3MDczNzc0MQorCS5sb25nCTI1NTE4NTczMzYKKwkubG9uZwkzMTY5NjYyMTg2CisJLmxvbmcJMTEzNDMxNzU2OAorCS5sb25nCTEwNzA3Mjk4NzMKKwkubG9uZwkzNDI2Mjk3NjU1CisJLmxvbmcJMzE3MjYzNzg5MQorCS5sb25nCTI0NTcxNTI1MTIKKwkubG9uZwkxMDcwNzIyMDM4CisJLmxvbmcJNjM1NDk0MTUKKwkubG9uZwkxMDI1NDE1NDE2CisJLmxvbmcJMTg2MTgwMzAwOAorCS5sb25nCTEwNzA3MTQyMzcKKwkubG9uZwkxOTEwMTcxNjM2CisJLmxvbmcJMTAyMzk3NzU4MAorCS5sb25nCTI0MTQxNDA0MTYKKwkubG9uZwkxMDcwNzA2NDY5CisJLmxvbmcJNDAwMjUxNDMzNworCS5sb25nCTMxNzA4NDE2MTgKKwkubG9uZwkyOTAwNzI2Nzg0CisJLmxvbmcJMTA3MDY5ODczNAorCS5sb25nCTMyNjgwNjQwODMKKwkubG9uZwkxMDIyNDU5NjA5CisJLmxvbmcJMjEyMzUxNzk1MgorCS5sb25nCTEwNzA2OTEwMzIKKwkubG9uZwkxNzY3MDMxMjE4CisJLmxvbmcJMTAyMjQ0ODE1NgorCS5sb25nCTMxOTQ1Njk3MjgKKwkubG9uZwkxMDcwNjgzMzYyCisJLmxvbmcJMzQwMjMzMjYxOAorCS5sb25nCTMxNzE2NzExNjAKKwkubG9uZwk2NTA4ODIwNDgKKwkubG9uZwkxMDcwNjc1NzI1CisJLmxvbmcJNDE0NjAyMzkwNQorCS5sb25nCTMxNzEwMjMwMzgKKwkubG9uZwkxOTI4OTg4NjcyCisJLmxvbmcJMTA3MDY2ODExOQorCS5sb25nCTE0Mzg2MTc4NjcKKwkubG9uZwkxMDE2MzYwNDkxCisJLmxvbmcJMTU5NDkwODY3MgorCS5sb25nCTEwNzA2NjA1NDUKKwkubG9uZwk5NzEzODkzNzcKKwkubG9uZwkxMDI0NzYzOTc5CisJLmxvbmcJMjgxODc0NjM2OAorCS5sb25nCTEwNzA2NTMwMDIKKwkubG9uZwkzNTU1OTI1MzQxCisJLmxvbmcJMzE3MjQzNDgyMQorCS5sb25nCTE5NDU4NDU3NgorCS5sb25nCTEwNzA2NDU0OTEKKwkubG9uZwk5NDM5MTkyMTUKKwkubG9uZwkzMTcyOTUwMDYzCisJLmxvbmcJMTIxNTA5NjgzMgorCS5sb25nCTEwNzA2MzgwMTAKKwkubG9uZwkyMjgzMzU4NTg4CisJLmxvbmcJMTAyMjMzNTA5OAorCS5sb25nCTUwMTUxOTM2MAorCS5sb25nCTEwNzA2MzA1NjAKKwkubG9uZwk0ODA5MDQyOTUKKwkubG9uZwkxMDI0NDM3OTU5CisJLmxvbmcJMTI3ODI2NjM2OAorCS5sb25nCTEwNzA2MjMxNDAKKwkubG9uZwkyNzU1ODA2MDY2CisJLmxvbmcJMzE3MjM0MjAxMgorCS5sb25nCTI0ODc4MTIwOTYKKwkubG9uZwkxMDcwNjE1NzUwCisJLmxvbmcJMjQ4OTY1MzIwMgorCS5sb25nCTMxNzI0ODEwOTkKKwkubG9uZwkzMDg1NDUxMjY0CisJLmxvbmcJMTA3MDYwODM5MAorCS5sb25nCTM3NTkxODQ5NTEKKwkubG9uZwkzMTcyNTc0ODkyCisJLmxvbmcJMjAzOTA5MDE3NgorCS5sb25nCTEwNzA2MDEwNjAKKwkubG9uZwkxMzYxMTc2Njc2CisJLmxvbmcJMzE3MjM1NTMxOQorCS5sb25nCTk1MzA1NzI4MAorCS5sb25nCTEwNzA1OTE0MjMKKwkubG9uZwkxMTc2NTg3NTQ2CisJLmxvbmcJMzE2NjQyMjAxOAorCS5sb25nCTMzNzA1MjQ2NzIKKwkubG9uZwkxMDcwNTc2ODc5CisJLmxvbmcJMzY2OTU3MDA1MQorCS5sb25nCTEwMjUzNzY2MzAKKwkubG9uZwk3NDk3NDIwODAKKwkubG9uZwkxMDcwNTYyMzk0CisJLmxvbmcJNzA3NzAwOTY0CisJLmxvbmcJMzE3MDgxNDA1OAorCS5sb25nCTQwMDgzNTM3OTIKKwkubG9uZwkxMDcwNTQ3OTY1CisJLmxvbmcJMzI0NzMyNzY1MgorCS5sb25nCTEwMjI0MzE0MDAKKwkubG9uZwkyNjEyNDU1NDI0CisJLmxvbmcJMTA3MDUzMzU5NAorCS5sb25nCTI0NTM0NTczNDQKKwkubG9uZwkzMTcyMzIyOTY5CisJLmxvbmcJMzIzMDkyMDcwNAorCS5sb25nCTEwNzA1MTkyNzkKKwkubG9uZwkxMjk2NzgxODAxCisJLmxvbmcJMTAyNTExNTMzNQorCS5sb25nCTM5NjUyNTM2MzIKKwkubG9uZwkxMDcwNTA1MDIwCisJLmxvbmcJMzczMDc1Mjg5CisJLmxvbmcJMTAxNzkzODUyOAorCS5sb25nCTI1OTMxNTcxMjAKKwkubG9uZwkxMDcwNDc2NjY5CisJLmxvbmcJMTA2ODA1NDA4NgorCS5sb25nCTEwMjE2MTY1NzYKKwkubG9uZwk5MjU5NjIyNDAKKwkubG9uZwkxMDcwNDQ4NTM3CisJLmxvbmcJODUwMTIxMjEzCisJLmxvbmcJMTAyMzkyODk4OQorCS5sb25nCTE3MzI1NTY4MDAKKwkubG9uZwkxMDcwNDIwNjIwCisJLmxvbmcJMTMwNTIwNjc0MAorCS5sb25nCTMxNzI2NjU1NzAKKwkubG9uZwkzODE1NjMwODQ4CisJLmxvbmcJMTA3MDM5MjkxNQorCS5sb25nCTE5MjY0Mjk0MworCS5sb25nCTMxNzI2OTk5MDcKKwkubG9uZwkyMDAxNzU4MjA4CisJLmxvbmcJMTA3MDM2NTQyMAorCS5sb25nCTI4MjA3ODY2ODMKKwkubG9uZwkxMDI0NzA0ODY3CisJLmxvbmcJMTY3NDY0OTYKKwkubG9uZwkxMDcwMzM4MTMxCisJLmxvbmcJMTM5OTU3MzExMAorCS5sb25nCTMxNzEzNzI3NzMKKwkubG9uZwkxODg2NDkyNjcyCisJLmxvbmcJMTA3MDMxMTA0NAorCS5sb25nCTM2MjE0MjgwNzUKKwkubG9uZwkzMTcyOTc0MzU4CisJLmxvbmcJMzMzODE5Njk5MgorCS5sb25nCTEwNzAyODQxNTcKKwkubG9uZwkzNzkzODgyMDM1CisJLmxvbmcJMTAyNTEyNDcwMQorCS5sb25nCTM4MTc2OTcyOAorCS5sb25nCTEwNzAyNTc0NjgKKwkubG9uZwkzODc3OTMzMzQyCisJLmxvbmcJMzE3MDE5NTQ5MAorCS5sb25nCTIxODY0OTE5MDQKKwkubG9uZwkxMDcwMjMwOTcyCisJLmxvbmcJMTgzODY4NzA4OQorCS5sb25nCTEwMTc5MjcyOTIKKwkubG9uZwkxMDA4MzMwNzUyCisJLmxvbmcJMTA3MDIwNDY2OAorCS5sb25nCTIyMjgzMjE2NjQKKwkubG9uZwkxMDI1MzUyMTk2CisJLmxvbmcJMjI0NzA2NTYwMAorCS5sb25nCTEwNzAxNzg1NTIKKwkubG9uZwkxNDEzOTAwOTA2CisJLmxvbmcJMzE3MDkwMjUzMgorCS5sb25nCTI5NjQwNzA0MDAKKwkubG9uZwkxMDcwMTUyNjIyCisJLmxvbmcJMzU5MDQ1NDYyOQorCS5sb25nCTEwMjUwMTY4NDQKKwkubG9uZwk0NjUxNTQwNDgKKwkubG9uZwkxMDcwMTI2ODc2CisJLmxvbmcJMjA3OTY4ODU1MAorCS5sb25nCTMxNzIyNjgxODMKKwkubG9uZwk4ODM2MTU3NDQKKwkubG9uZwkxMDcwMTAxMzEwCisJLmxvbmcJOTg5MjQ0NDUyCisJLmxvbmcJMzE3MTkwMDQ4NQorCS5sb25nCTE5OTM3Njg5NjAKKwkubG9uZwkxMDcwMDc1OTIyCisJLmxvbmcJMTEyNDMyNzg0MQorCS5sb25nCTMxNzI5NjQ5OTIKKwkubG9uZwkxNzk0NDcxOTM2CisJLmxvbmcJMTA3MDA1MDcxMAorCS5sb25nCTExNDA1NzUwNDYKKwkubG9uZwkxMDIyNjczNzI2CisJLmxvbmcJMjc5NzkzMjU0NAorCS5sb25nCTEwNzAwMjU2NzEKKwkubG9uZwkxODk0ODM2OTMzCisJLmxvbmcJMzE3MjU0NDA1OQorCS5sb25nCTM0MzM3OTc2MzIKKwkubG9uZwkxMDcwMDAwODAzCisJLmxvbmcJMzIyMTgzMTE2NgorCS5sb25nCTMxNzE5MjE2ODUKKwkubG9uZwkyMzM4MzcxNTg0CisJLmxvbmcJMTA2OTk3NjEwNAorCS5sb25nCTM3MzI0NjEwNTMKKwkubG9uZwkzMTY0NTEzNTE4CisJLmxvbmcJMjY0NDAxMzA1NgorCS5sb25nCTEwNjk5NTE1NzEKKwkubG9uZwkyNTE5NDYwNDYyCisJLmxvbmcJMzE3MjU0ODc0MAorCS5sb25nCTMzODM4MTQxNDQKKwkubG9uZwkxMDY5OTI3MjAyCisJLmxvbmcJMjI5MDk5NzY1NworCS5sb25nCTEwMjU0OTk2NDkKKwkubG9uZwkzNzgxMzgwMDk2CisJLmxvbmcJMTA2OTkwMjk5NQorCS5sb25nCTM4MDQ3OTQwNQorCS5sb25nCTEwMjUxODQxMzYKKwkubG9uZwkzMjQ1Nzg1MDg4CisJLmxvbmcJMTA2OTg3ODk0OAorCS5sb25nCTEwOTYzOTgyNjEKKwkubG9uZwkzMTY5ODg1MTkyCisJLmxvbmcJMTM2NjcxMjMyMAorCS5sb25nCTEwNjk4NTUwNTkKKwkubG9uZwkyMjE4MzQzNzE1CisJLmxvbmcJMzE3MDI4MTYyOAorCS5sb25nCTIyMDQ3MTcwNTYKKwkubG9uZwkxMDY5ODMxMzI1CisJLmxvbmcJMjY2ODMzNDAxMQorCS5sb25nCTEwMjUyNjQ1MjQKKwkubG9uZwkxNDAxNzcyMDMyCisJLmxvbmcJMTA2OTgwNzc0NQorCS5sb25nCTQxMDM5OTMxNTkKKwkubG9uZwkxMDIyOTI1NzIxCisJLmxvbmcJMzM1NjcyMTE1MgorCS5sb25nCTEwNjk3ODQzMTYKKwkubG9uZwkzNTczNzkwNzcyCisJLmxvbmcJMzE3MjE4NjUyNworCS5sb25nCTQwNDExNDg0MTYKKwkubG9uZwkxMDY5NzYxMDM3CisJLmxvbmcJNDAyNzY5MTkxMAorCS5sb25nCTMxNzEyNzY5OTAKKwkubG9uZwkzODgwMTUxMDQwCisJLmxvbmcJMTA2OTczNzkwNgorCS5sb25nCTQwODcxMTg3ODYKKwkubG9uZwkzMTcyNzEwNzM0CisJLmxvbmcJMzQ1MzM2NDIyNAorCS5sb25nCTEwNjk3MTQ5MjEKKwkubG9uZwk5OTAxNDI5OQorCS5sb25nCTMxNzIwMDMwNzcKKwkubG9uZwkzNDkxMDkyNDgwCisJLmxvbmcJMTA2OTY5MjA4MAorCS5sb25nCTM4MDE4MzY3MDEKKwkubG9uZwkzMTcyOTg5Mjg3CisJLmxvbmcJNTc1NTgwMTYwCisJLmxvbmcJMTA2OTY2OTM4MgorCS5sb25nCTE5MjA0MDYwMTIKKwkubG9uZwkzMTcwODc0MTI1CisJLmxvbmcJMjIyODIyNDAKKwkubG9uZwkxMDY5NjQ2ODI0CisJLmxvbmcJOTY0MTkzMzcwCisJLmxvbmcJMTAxOTM2MzE1OQorCS5sb25nCTI5OTE0Mjk2MzIKKwkubG9uZwkxMDY5NjI0NDA0CisJLmxvbmcJMzM3MjU4OTg5MAorCS5sb25nCTEwMjM0MjUwNTMKKwkubG9uZwkyMTg5NjQ1ODI0CisJLmxvbmcJMTA2OTYwMjEyMgorCS5sb25nCTI2MTA1MDM4NzIKKwkubG9uZwkxMDIzNjUyNDQyCisJLmxvbmcJMzM0MTQ2NzY0OAorCS5sb25nCTEwNjk1Nzk5NzUKKwkubG9uZwkxMTkwMjkyMDA0CisJLmxvbmcJMTAyMjQyNTY2NQorCS5sb25nCTM3MTEyOTM0NDAKKwkubG9uZwkxMDY5NTU3OTYyCisJLmxvbmcJMTEwNDc5NTM1NgorCS5sb25nCTEwMjM2MjU4MjkKKwkubG9uZwkxMzgwNDAxMTUyCisJLmxvbmcJMTA2OTUyNDY0NAorCS5sb25nCTExNTY5OTgyMTcKKwkubG9uZwkxMDI1MTAwNDk5CisJLmxvbmcJNzY1NzEwMzM2CisJLmxvbmcJMTA2OTQ4MTE0NAorCS5sb25nCTE3MzY2NDkxMTMKKwkubG9uZwkxMDI0OTk5NDM5CisJLmxvbmcJODQ5NDEyMDk2CisJLmxvbmcJMTA2OTQzNzkwMgorCS5sb25nCTI2MTgxNzgzMzAKKwkubG9uZwkzMTcwODUzNjI5CisJLmxvbmcJMTQzMzEwNDM4NAorCS5sb25nCTEwNjkzOTQ5MTUKKwkubG9uZwk0MzQ3NzI2NworCS5sb25nCTMxNzAzNzg4MTEKKwkubG9uZwkyNTQ4NTk2NzM2CisJLmxvbmcJMTA2OTM1MjE4MAorCS5sb25nCTM5NjczNjcwNjMKKwkubG9uZwkxMDI1MjQ2NTg0CisJLmxvbmcJMTU3NTc3MjE2CisJLmxvbmcJMTA2OTMwOTY5NQorCS5sb25nCTEwMDQwMjUzMworCS5sb25nCTMxNzI4MjU1MDIKKwkubG9uZwkzMzI2MjM4NzIwCisJLmxvbmcJMTA2OTI2NzQ1NQorCS5sb25nCTExNzY4OTI5MDkKKwkubG9uZwkxMDI1NDY0MDk5CisJLmxvbmcJNDE1NTQ5NDQwMAorCS5sb25nCTEwNjkyMjU0NTkKKwkubG9uZwkzNzEzNzA3NjE3CisJLmxvbmcJMzE3MjYzMDA0NgorCS5sb25nCTM1NDU4MDQ4MDAKKwkubG9uZwkxMDY5MTgzNzA0CisJLmxvbmcJODU3MDA3MzE1CisJLmxvbmcJMTAyNDk2NTc3NworCS5sb25nCTI2MDI1MjA1NzYKKwkubG9uZwkxMDY5MTQyMTg3CisJLmxvbmcJMjU4ODc1ODM0NworCS5sb25nCTEwMjI0NjMxMzEKKwkubG9uZwkyNjMxMTk2NjcyCisJLmxvbmcJMTA2OTEwMDkwNQorCS5sb25nCTIxMTg0MjQyMzUKKwkubG9uZwkxMDIyNDkwOTg5CisJLmxvbmcJODM4MTM1ODA4CisJLmxvbmcJMTA2OTA1OTg1NgorCS5sb25nCTQxMTcwMDI3MjcKKwkubG9uZwkxMDI0ODc0NTIwCisJLmxvbmcJMzIxMDkwMzU1MgorCS5sb25nCTEwNjkwMTkwMzYKKwkubG9uZwk2NTAwNzAxMjUKKwkubG9uZwkzMTcyMDEyOTY2CisJLmxvbmcJMzAzOTIxMTUyMAorCS5sb25nCTEwNjg5Nzg0NDQKKwkubG9uZwk0MzgwNTU4MTIKKwkubG9uZwkxMDE3NzQzNzU3CisJLmxvbmcJMjM4NTYzMzI4MAorCS5sb25nCTEwNjg5MzgwNzcKKwkubG9uZwkzMDExOTkwMzY5CisJLmxvbmcJMzE3MTMxMjA0NAorCS5sb25nCTM0OTE2MTg4MTYKKwkubG9uZwkxMDY4ODk3OTMyCisJLmxvbmcJNzEyODEzODE4CisJLmxvbmcJMzE3MjcyMDQwMAorCS5sb25nCTE4MzY0NDE2MAorCS5sb25nCTEwNjg4NTgwMDgKKwkubG9uZwk0Mjg3MDA2NzQyCisJLmxvbmcJMTAyMjM3OTcyOAorCS5sb25nCTM2MzkyMTQwODAKKwkubG9uZwkxMDY4ODE4MzAwCisJLmxvbmcJMzUzNzYyMjc5CisJLmxvbmcJMzE3Mjk4MDAwOQorCS5sb25nCTM3Mjg0MTY3NjgKKwkubG9uZwkxMDY4Nzc4ODA4CisJLmxvbmcJMTg1MTM2NzczMAorCS5sb25nCTEwMjU0ODY1NzQKKwkubG9uZwkzMzcwMDk0NTkyCisJLmxvbmcJMTA2ODczOTUyOQorCS5sb25nCTQwNDY1OTQ5MTMKKwkubG9uZwkzMTcyNTY3MDQ3CisJLmxvbmcJMTM0ODQwNzI5NgorCS5sb25nCTEwNjg3MDA0NjEKKwkubG9uZwkxNDMxODk2NzUKKwkubG9uZwkxMDI1Mzk3NjMyCisJLmxvbmcJODk5NDAzNzc2CisJLmxvbmcJMTA2ODY2MTYwMQorCS5sb25nCTM3NTM2ODc4NDIKKwkubG9uZwkzMTcwNzcyNzcyCisJLmxvbmcJMTExNzcwODI4OAorCS5sb25nCTEwNjg2MjI5NDcKKwkubG9uZwkxODU3MzQwODEyCisJLmxvbmcJMzE3MDc4MjY3OAorCS5sb25nCTEyNDgyNzY0ODAKKwkubG9uZwkxMDY4NTg0NDk3CisJLmxvbmcJMTI4OTg1ODIwMworCS5sb25nCTEwMjUyMjIyODkKKwkubG9uZwk2ODMyMzczNzYKKwkubG9uZwkxMDY4NTQ2MjQ5CisJLmxvbmcJMjM1NjY3OTYwOAorCS5sb25nCTMxNzE2MjkxNzAKKwkubG9uZwkzMjUzNzY0MDk2CisJLmxvbmcJMTA2ODUwODIwMAorCS5sb25nCTMyNjcxMzY1NTYKKwkubG9uZwkxMDE4NTU0OTg3CisJLmxvbmcJOTQ0NzgzMzYKKwkubG9uZwkxMDY4NDQxNzU2CisJLmxvbmcJMTkyNzg2ODgxNAorCS5sb25nCTMxNjkzNzgxODAKKwkubG9uZwkzMjMzMTQ0ODMyCisJLmxvbmcJMTA2ODM2NjQ0NQorCS5sb25nCTI2ODIxODg4NTQKKwkubG9uZwkxMDIzOTY0MDA0CisJLmxvbmcJMjk0MDI5NzIxNgorCS5sb25nCTEwNjgyOTE1MjIKKwkubG9uZwkyNzUzMDEyODkKKwkubG9uZwkxMDIzOTQ0Njc5CisJLmxvbmcJMzY3NzcwODI4OAorCS5sb25nCTEwNjgyMTY5ODIKKwkubG9uZwkzMDI2NTg3NzEKKwkubG9uZwkxMDI0NDY1NTY3CisJLmxvbmcJMTU3Njk2ODE5MgorCS5sb25nCTEwNjgxNDI4MjIKKwkubG9uZwkzNjcyMDM1OTQwCisJLmxvbmcJMzE3MjI1NDYxMAorCS5sb25nCTE2MTQwNjk3NjAKKwkubG9uZwkxMDY4MDY5MDM3CisJLmxvbmcJNDgwMDUyOTA1CisJLmxvbmcJMzE3MjY5MjA2MgorCS5sb25nCTQyNDQzNTcxMgorCS5sb25nCTEwNjc5OTU2MjQKKwkubG9uZwkyMjA3ODY5NjU3CisJLmxvbmcJMzE3MDk2NTQzNgorCS5sb25nCTM0Nzc3ODI1MjgKKwkubG9uZwkxMDY3OTIyNTc4CisJLmxvbmcJMjk4MDY2MTg1OAorCS5sb25nCTMxNjQ5OTAwMTgKKwkubG9uZwkzNTk4NDAxNTM2CisJLmxvbmcJMTA2Nzg0OTg5NworCS5sb25nCTE5NzQzOTMwMzQKKwkubG9uZwkzMTcxMzU3MDgzCisJLmxvbmcJMjQzNTIzNTg0MAorCS5sb25nCTEwNjc3Nzc1NzcKKwkubG9uZwkxMzg1Mjg5MDExCisJLmxvbmcJMTAyNDYxNTgyMworCS5sb25nCTE4NjczMzM2MzIKKwkubG9uZwkxMDY3NzA1NjE0CisJLmxvbmcJMzQ0MjIzNjYzMworCS5sb25nCTEwMjUzMzQzODQKKwkubG9uZwkzOTk5MzAxNjMyCisJLmxvbmcJMTA2NzYzNDAwNAorCS5sb25nCTM1MDY0NzIwNzMKKwkubG9uZwkxMDI1MTMyNTQ2CisJLmxvbmcJMjU2Njk3MTM5MgorCS5sb25nCTEwNjc1NjI3NDUKKwkubG9uZwkxNDI1NzU3NTkyCisJLmxvbmcJMzE3MjM1ODQ2MworCS5sb25nCTExMjk0MzEwNAorCS5sb25nCTEwNjc0OTE4MzMKKwkubG9uZwkxNjkzNDA3MTU2CisJLmxvbmcJMzE3MjQyNjYwMworCS5sb25nCTMwNzk5Mjk4NTYKKwkubG9uZwkxMDY3MzkyMTU5CisJLmxvbmcJMzk5OTk0MjQ1NQorCS5sb25nCTEwMTg1NDkzNjkKKwkubG9uZwkyNDQzODM3NDQwCisJLmxvbmcJMTA2NzI1MTcwMQorCS5sb25nCTk3NDUzNDQ2MAorCS5sb25nCTEwMjM5NjM0MTIKKwkubG9uZwkzNTkzNjY2NTYKKwkubG9uZwkxMDY3MTExOTE3CisJLmxvbmcJMjIwNDkxNTAxOAorCS5sb25nCTEwMTM1MTQ0MTYKKwkubG9uZwkzNTY0NTE5NDI0CisJLmxvbmcJMTA2Njk3Mjc5OQorCS5sb25nCTM5Nzc0NDE2NTkKKwkubG9uZwkzMTcwODc5ODYwCisJLmxvbmcJMjAxMTA4Njg0OAorCS5sb25nCTEwNjY4MzQzNDMKKwkubG9uZwk1OTAxNDU1MTQKKwkubG9uZwkxMDI1MzkwMDExCisJLmxvbmcJMzIxNjk4MjAxNgorCS5sb25nCTEwNjY2OTY1NDEKKwkubG9uZwkzNjI5MTIwMTEwCisJLmxvbmcJMTAyNDMzMDMxMworCS5sb25nCTIxOTQxMjg4OTYKKwkubG9uZwkxMDY2NTU5Mzg4CisJLmxvbmcJMjM2NzA5ODUxMgorCS5sb25nCTMxNzIyNjAzMzgKKwkubG9uZwkyOTE2MjIwOTI4CisJLmxvbmcJMTA2NjQyMjg3NworCS5sb25nCTIyNjI0MzE4ODYKKwkubG9uZwkxMDIxMjI5NDQ2CisJLmxvbmcJMjI2Mzk0MTEyMAorCS5sb25nCTEwNjYxNzIyMTQKKwkubG9uZwkzMTE4NTA3Mjg3CisJLmxvbmcJMTAyMTQ4NDk3MAorCS5sb25nCTMwNzYyOTI2MDgKKwkubG9uZwkxMDY1OTAxNzI2CisJLmxvbmcJMTQxMTczNzgwMworCS5sb25nCTMxNzI5NTcxNDcKKwkubG9uZwkxMTg2MTM2MDY0CisJLmxvbmcJMTA2NTYzMjQ4OAorCS5sb25nCTMxMDkzNDkzMzcKKwkubG9uZwkxMDI1Mzk3MzgzCisJLmxvbmcJMzA4NTMwMzgwOAorCS5sb25nCTEwNjUzNjQ0ODcKKwkubG9uZwk1ODQ3MTUwMzEKKwkubG9uZwkzMTcyNTk2NTE5CisJLmxvbmcJMTgyMTA0ODgzMgorCS5sb25nCTEwNjQ4NDIyMTEKKwkubG9uZwkyMTgyMjQ2ODk1CisJLmxvbmcJMzE3MjUzNjIxNAorCS5sb25nCTY5NzM2ODU3NgorCS5sb25nCTEwNjQzMTEwOTQKKwkubG9uZwkzMTU3NTYxNzY1CisJLmxvbmcJMzE3MjcxNjM1NworCS5sb25nCTg5NDA0MjExMgorCS5sb25nCTEwNjMyNjAxMzEKKwkubG9uZwkzMjM3OTU4MTU0CisJLmxvbmcJMzE3MjU4NzI5MgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMzUyNjI4MjI0CisJLmxvbmcJMTA2NjYxNTgyNworCS5sb25nCTUyMTMxOTI1NgorCS5sb25nCTEwMjEzMDg3MjEKKwkubG9uZwkzMjQ4ODc3ODcwCisJLmxvbmcJMTA3NzI1MDE2NAorCS5sb25nCTE2OTE2NzY0MjkKKwkubG9uZwkzMjIxNzg3NDAxCisJLmxvbmcJOTQ1MTMyNDY1CisJLmxvbmcJMzIyMzcwMTc4MworCS5sb25nCTM3MDA4MzEzMzUKKwkubG9uZwkxMDczNTA2ODE4CisJLmxvbmcJMjE0MTAxMDU5MworCS5sb25nCTEwNzUyMjc1NTEKKwkubG9uZwkzNjk4ODMxNjM3CisJLmxvbmcJMzIyMDMzOTQ0MgorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NTkxMDQKKwkubG9uZwkwCisJLmxvbmcJMTA3MTM2NjE0NAorCS5sb25nCTMyMDc0Nzk1NjAKKwkubG9uZwkxMDYyODk0MTg4CisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsMjE2MAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L2VfcG93LlMgYi9saWJtL3g4Ni9lX3Bvdy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzZTMwZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9lX3Bvdy5TCkBAIC0wLDAgKzEsNDI3NyBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIExldCB4PTJeayAqIG14LCBteCBpbiBbMSwyKQorLy8KKy8vICAgIGxvZzIoeCkgY2FsY3VsYXRpb246CisvLworLy8gICAgR2V0IEJ+MS9teCBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIHJjcHBzIGluc3RydWN0aW9uIChCMCkKKy8vICAgIEIgPSBpbnQoKEIwKkxIKjJeOSswLjUpKS8yXjkKKy8vICAgIExIIGlzIGEgc2hvcnQgYXBwcm94aW1hdGlvbiBmb3IgbG9nMihlKQorLy8KKy8vICAgIFJlZHVjZWQgYXJndW1lbnQsIHNjYWxlZCBieSBMSDoKKy8vICAgICAgICAgICAgICAgIHI9QipteC1MSCAoY29tcHV0ZWQgYWNjdXJhdGVseSBpbiBoaWdoIGFuZCBsb3cgcGFydHMpCisvLworLy8gICAgbG9nMih4KSByZXN1bHQ6ICBrIC0gbG9nMihCKSArIHAocikKKy8vICAgICAgICAgICAgIHAocikgaXMgYSBkZWdyZWUgOCBwb2x5bm9taWFsCisvLyAgICAgICAgICAgICAtbG9nMihCKSByZWFkIGZyb20gZGF0YSB0YWJsZSAoaGlnaCwgbG93IHBhcnRzKQorLy8gICAgICAgICAgICAgbG9nMih4KSBpcyBmb3JtZWQgZnJvbSBoaWdoIGFuZCBsb3cgcGFydHMKKy8vICAgIEZvciB8eHwgaW4gWzEtMS8zMiwgMSsxLzE2KSwgYSBzbG93ZXIgYnV0IG1vcmUgYWNjdXJhdGUgY29tcHV0YXRpb24KKy8vICAgIGJhc2VkIG9tIHRoZSBzYW1lIHRhYmxlIGRlc2lnbiBpcyBwZXJmb3JtZWQuCisvLworLy8gICBNYWluIHBhdGggaXMgdGFrZW4gaWYgfCBmbG9vcihsb2cyKHxsb2cyKHx4fCl8KSArIGZsb29yKGxvZzJ8eXwpIHwgPCA4LAorLy8gICB0byBmaWx0ZXIgb3V0IGFsbCBwb3RlbnRpYWwgT0YvVUYgY2FzZXMuCisvLyAgIGV4cDIoeSpsb2cyKHgpKSBpcyBjb21wdXRlZCB1c2luZyBhbiA4LWJpdCBpbmRleCB0YWJsZSBhbmQgYSBkZWdyZWUgNQorLy8gICBwb2x5bm9taWFsCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBwb3coLTAseSkgPSAtSU5GIGFuZCByYWlzZXMgdGhlIGRpdmlkZS1ieS16ZXJvIGV4Y2VwdGlvbiBmb3IgeSBhbiBvZGQgCisvLyAgaW50ZWdlciA8IDAuCisvLyAgcG93KC0wLHkpID0gK0lORiBhbmQgcmFpc2VzIHRoZSBkaXZpZGUtYnktemVybyBleGNlcHRpb24gZm9yIHkgPCAwIGFuZCAKKy8vICBub3QgYW4gb2RkIGludGVnZXIuCisvLyAgcG93KC0wLHkpID0gLTAgZm9yIHkgYW4gb2RkIGludGVnZXIgPiAwLgorLy8gIHBvdygtMCx5KSA9ICswIGZvciB5ID4gMCBhbmQgbm90IGFuIG9kZCBpbnRlZ2VyLgorLy8gIHBvdygtMSwtSU5GKSA9IDEuCisvLyAgcG93KCsxLHkpID0gMSBmb3IgYW55IHksIGV2ZW4gYSBOYU4uCisvLyAgcG93KHgsLTApID0gMSBmb3IgYW55IHgsIGV2ZW4gYSBOYU4uCisvLyAgcG93KHgseSkgPSBhIE5hTiBhbmQgcmFpc2VzIHRoZSBpbnZhbGlkIGV4Y2VwdGlvbiBmb3IgZmluaXRlIHggPCAwIGFuZAorLy8gIGZpbml0ZSBub24taW50ZWdlciB5LgorLy8gIHBvdyh4LC1JTkYpID0gK0lORiBmb3IgfHh8PDEuCisvLyAgcG93KHgsLUlORikgPSArMCBmb3IgfHh8PjEuCisvLyAgcG93KHgsK0lORikgPSArMCBmb3IgfHh8PDEuCisvLyAgcG93KHgsK0lORikgPSArSU5GIGZvciB8eHw+MS4KKy8vICBwb3coLUlORix5KSA9IC0wIGZvciB5IGFuIG9kZCBpbnRlZ2VyIDwgMC4KKy8vICBwb3coLUlORix5KSA9ICswIGZvciB5IDwgMCBhbmQgbm90IGFuIG9kZCBpbnRlZ2VyLgorLy8gIHBvdygtSU5GLHkpID0gLUlORiBmb3IgeSBhbiBvZGQgaW50ZWdlciA+IDAuCisvLyAgcG93KC1JTkYseSkgPSArSU5GIGZvciB5ID4gMCBhbmQgbm90IGFuIG9kZCBpbnRlZ2VyLgorLy8gIHBvdygrSU5GLHkpID0gKzAgZm9yIHkgPDAuCisvLyAgcG93KCtJTkYseSkgPSArSU5GIGZvciB5ID4wLgorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIHBvdworRU5UUlkocG93KQorIyBwYXJhbWV0ZXIgMTogOCArICVlYnAKKyMgcGFyYW1ldGVyIDI6IDE2ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEyMCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNjQoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMjgoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICAxMzYoJWVzcCksICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTA2OTA4ODc2OCwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJWVjeCwgJXhtbTcKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCAxNiglZXNwKQorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMzA3MDQsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJWVzcCkKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDgxOTIsICVlZHgKKyAgICAgICAgbW92ZCAgICAgICVlZHgsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA4MjQwKCVlYngpLCAleG1tNgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQ1LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgODI1NiglZWJ4KSwgJXhtbTIKKyAgICAgICAgcHNybHEgICAgICQzNCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkMzEsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgeG9ybCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgcmNwc3MgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMworICAgICAgICBhZGRsICAgICAgJDE2LCAlZWN4CisgICAgICAgIGJzciAgICAgICAlZWN4LCAlZWN4CisgICAgICAgIHBzcmxxICAgICAkMTIsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAlZXNpLCAyNCglZXNwKQorICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisgICAgICAgIG1vdmwgICAgICAkMCwgJWVzaQorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIG11bHNzICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQtMSwgJWVkeAorICAgICAgICBzdWJsICAgICAgJDQsICVlY3gKKyAgICAgICAgc2hsbCAgICAgICVjbCwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTUKKyAgICAgICAgb3JwZCAgICAgICV4bW0xLCAleG1tMworICAgICAgICBzdWJsICAgICAgJDE2MzUxLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMSwgJWVheAorICAgICAgICBqYmUgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgcGFkZGQgICAgICV4bW00LCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDMyLCAleG1tNQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW0zLCAleG1tNQorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIGFuZHBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBzdWJsICAgICAgJDEsICVlYXgKKyAgICAgICAgc2FybCAgICAgICQ0LCAlZWF4CisgICAgICAgIGN2dHNpMnNkbCAlZWF4LCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgODI3MiglZWJ4KSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgODI4OCglZWJ4KSwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgc2FybCAgICAgICQzMSwgJWVheAorICAgICAgICBhZGRsICAgICAgJWVheCwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVjeCwgJWVheAorICAgICAgICBhZGRsICAgICAgJDEsICVlYXgKKyAgICAgICAgYnNyICAgICAgICVlYXgsICVlYXgKKyAgICAgICAgdW5wY2tscGQgICV4bW0zLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgODMwNCglZWJ4KSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMworICAgICAgICBhbmRsICAgICAgJDE2NzYwODMyLCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMTAsICVlZHgKKyAgICAgICAgYWRkcGQgICAgIC0zNjE2KCVlYngsJWVkeCksICV4bW01CisgICAgICAgIG1vdmFwZCAgICA4MzIwKCVlYngpLCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgbW92endsICAgIDIyKCVlc3ApLCAlZWN4CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTcKKyAgICAgICAgbW92c2QgICAgIDgzNjgoJWVieCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTMsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgc2hsbCAgICAgICQ0LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTU4NzIsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVheAorICAgICAgICBtdWxwZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIGNtcGwgICAgICAkNjI0LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdmwgICAgICAkMTcwODAsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW0yCisgICAgICAgIGFuZHBkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTYsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgYWRkcGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTYsICVlZHgKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTMsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDI1NSwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgODM4NCglZWJ4LCVlZHgsOCksICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgMTI0ODAoJWVieCksICV4bW03CisgICAgICAgIG1vdmFwZCAgICAxMjQ5NiglZWJ4KSwgJXhtbTMKKyAgICAgICAgc2hsbCAgICAgICQxMiwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVzaSwgJWVjeAorICAgICAgICBhbmRsICAgICAgJC0xMDQ4NTc2LCAlZWN4CisgICAgICAgIG1vdmQgICAgICAlZWN4LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIG1vdnNkICAgICAxMjUxMiglZWJ4KSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAyNCglZXNwKSwgJWVzaQorICAgICAgICBtdWxwZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkMTcsICV4bW02LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcGFkZGQgICAgICV4bW02LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTI4KCVlc3ApLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgMTM2KCVlc3ApLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisgICAgICAgIHRlc3RsICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMC4wLjI6CisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVkeCwgJWVkeAorICAgICAgICB0ZXN0bCAgICAgJWVjeCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJDEsICVlY3gKKyAgICAgICAgY21vdm5lICAgICVlY3gsICVlZHgKKyAgICAgICAgb3JsICAgICAgIDIwKCVlc3ApLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTA3MjY5MzI0OCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTMsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTMKKyAgICAgICAgbW92ZCAgICAgICV4bW0zLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQxODQxNiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMworICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxODQxNiwgJWVjeAorICAgICAgICBwc2xscSAgICAgJDUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICA4MjU2KCVlYngpLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDM0LCAleG1tMAorICAgICAgICByY3BzcyAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA4MjQwKCVlYngpLCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMworICAgICAgICBtdWxzcyAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkLTEwMjQsICVlZHgKKyAgICAgICAgbW92ZCAgICAgICVlZHgsICV4bW01CisgICAgICAgIG9ycGQgICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgcGFkZGQgICAgICV4bW00LCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDMyLCAleG1tNQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW0zLCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDAsICVlc2kKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxODQxNiwgJWVheAorICAgICAgICBzYXJsICAgICAgJDQsICVlYXgKKyAgICAgICAgY3Z0c2kyc2RsICVlYXgsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMi4wLjI6CisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVkeCwgJWVkeAorICAgICAgICB0ZXN0bCAgICAgJWVjeCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJDEsICVlY3gKKyAgICAgICAgY21vdm5lICAgICVlY3gsICVlZHgKKyAgICAgICAgb3JsICAgICAgIDIwKCVlc3ApLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTA3MjY5MzI0OCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTMsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTMKKyAgICAgICAgbW92ZCAgICAgICV4bW0zLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQxODQxNiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMworICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxODQxNiwgJWVjeAorICAgICAgICBwc2xscSAgICAgJDUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICA4MjU2KCVlYngpLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDM0LCAleG1tMAorICAgICAgICByY3BzcyAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA4MjQwKCVlYngpLCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMworICAgICAgICBtdWxzcyAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkLTEwMjQsICVlZHgKKyAgICAgICAgbW92ZCAgICAgICVlZHgsICV4bW01CisgICAgICAgIG9ycGQgICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgcGFkZGQgICAgICV4bW00LCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDMyLCAleG1tNQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW0zLCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJC0yMTQ3NDgzNjQ4LCAlZXNpCisgICAgICAgIGFuZHBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTg0MTYsICVlYXgKKyAgICAgICAgc2FybCAgICAgICQ0LCAlZWF4CisgICAgICAgIGN2dHNpMnNkbCAlZWF4LCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqbCAgICAgICAgLkxfMlRBR19QQUNLRVRfMTMuMC4yCisgICAgICAgIGNtcGwgICAgICAkNzM2LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzE1LjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgMTI1NDQoJWVieCksICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBtb3ZsICAgICAgJDE3MDgwLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW01LCAleG1tNworICAgICAgICBhbmRwZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTYsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBtb3ZkICAgICAgJXhtbTYsICVlYXgKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAxMjQ4MCglZWJ4KSwgJXhtbTcKKyAgICAgICAgbW92YXBkICAgIDEyNDk2KCVlYngpLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTYsICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQyNTUsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICVlYXgsICVlYXgKKyAgICAgICAgbW92YXBkICAgIDgzODQoJWVieCwlZWF4LDgpLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIHNhcmwgICAgICAkOCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJWVjeCwgJWVheAorICAgICAgICBzYXJsICAgICAgJDEsICVlY3gKKyAgICAgICAgc3VibCAgICAgICVlY3gsICVlYXgKKyAgICAgICAgc2hsbCAgICAgICQyMCwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVzaSwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJWVjeCwgJXhtbTYKKyAgICAgICAgbW92c2QgICAgIDEyNTEyKCVlYngpLCAleG1tMQorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTY1MjksICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE0LjAuMgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMiwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbXVscGQgICAgICV4bW00LCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDE3LCAleG1tNiwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBhZGRkICAgICAleG1tNiwgJXhtbTUKKyAgICAgICAgYWRkcGQgICAgICV4bW03LCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHNobGwgICAgICAkNCwgJWVheAorICAgICAgICB4b3JwZCAgICAgJXhtbTQsICV4bW00CisgICAgICAgIGFkZGwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAyNCglZXNwKSwgJWVzaQorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTYuMC4yCisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE3LjAuMgorLkxfMlRBR19QQUNLRVRfMTguMC4yOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTkuMC4yCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjAuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzIwLjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQyOSwgJWVkeAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMjEuMC4yCisuTF8yVEFHX1BBQ0tFVF8yMi4wLjI6CisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF8xOS4wLjI6CisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVheAorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW0yCisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjMuMC4yCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTIsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yNC4wLjIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjIuMC4yCisuTF8yVEFHX1BBQ0tFVF8yNC4wLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgdGVzdGwgICAgICQzMjc2OCwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjUuMC4yCisgICAgICAgIHRlc3RsICAgICAkLTIxNDc0ODM2NDgsICVlY3gKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzI2LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF8yNy4wLjI6CisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIHRlc3RsICAgICAkMSwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjguMC4yCisgICAgICAgIHRlc3RsICAgICAkMiwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjkuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzI1LjAuMjoKKyAgICAgICAgc2hybCAgICAgICQyMCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDIwNDcsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQxMDc1LCAlZWN4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yOC4wLjIKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMwLjAuMgorICAgICAgICBjbXBsICAgICAgJDEwNzQsICVlY3gKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzI3LjAuMgorICAgICAgICBjbXBsICAgICAgJDEwMjMsICVlY3gKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzI4LjAuMgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMTcyMDgsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yOC4wLjIKKyAgICAgICAgbW92ZCAgICAgICV4bW0zLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjguMC4yCisuTF8yVEFHX1BBQ0tFVF8yOS4wLjI6CisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorLkxfMlRBR19QQUNLRVRfMjguMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2OCwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjYuMC4yCisuTF8yVEFHX1BBQ0tFVF8zMS4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzMwLjAuMjoKKyAgICAgICAgbW92c2QgICAgIDE2KCVlc3ApLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQxLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yOC4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzI5LjAuMgorLkxfMlRBR19QQUNLRVRfMzIuMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgcHNybHEgICAgICQyMCwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zMy4wLjIKKyAgICAgICAgbW92c2QgICAgIDE2KCVlc3ApLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzMzLjAuMjoKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ0OTEzNiwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMzQuMC4yCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVjeAorICAgICAgICBwc3JscSAgICAgJDIwLCAleG1tMAorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlY3gKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzM0LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF8zNC4wLjI6CisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlZHgKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICB4b3JsICAgICAgJWVkeCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzM1LjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTcxODQsICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM2LjAuMgorICAgICAgICB0ZXN0bCAgICAgJDEsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzM3LjAuMgorICAgICAgICB0ZXN0bCAgICAgJDIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM4LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMzkuMC4yCisuTF8yVEFHX1BBQ0tFVF8zNi4wLjI6CisgICAgICAgIHRlc3RsICAgICAkMSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMzguMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zOS4wLjIKKy5MXzJUQUdfUEFDS0VUXzkuMC4yOgorICAgICAgICBtb3ZzZCAgICAgOCglZXNwKSwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMzEsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQwLjAuMgorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMyLjAuMgorICAgICAgICBjbXBsICAgICAgJDE3MjAwLCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zOC4wLjIKKyAgICAgICAgY21wbCAgICAgICQxNzE4NCwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMzUuMC4yCisgICAgICAgIGNtcGwgICAgICAkMTYzNjgsICVlZHgKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM3LjAuMgorICAgICAgICBtb3ZsICAgICAgJDE3MjA4LCAlZWF4CisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMzcuMC4yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVheAorICAgICAgICBhbmRsICAgICAgJDEsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM4LjAuMgorLkxfMlRBR19QQUNLRVRfMzkuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMzA3MDQsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgODI1NiglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW00CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTQsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQ4MTkyLCAlZWR4CisgICAgICAgIG1vdmQgICAgICAlZWR4LCAleG1tNAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYsICVlYXgKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEyLjAuMgorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkMTYzNjgsICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgc2FybCAgICAgICQzMSwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhZGRsICAgICAgJDE2LCAlZWN4CisgICAgICAgIGJzciAgICAgICAlZWN4LCAlZWN4CisgICAgICAgIG1vdmwgICAgICAkLTIxNDc0ODM2NDgsICVlc2kKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8zNy4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDI4LCAlZWR4CisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzM4LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDMwNzA0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDgyNTYoJWVieCksICV4bW0yCisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tNAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW00LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAkODE5MiwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTQKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMC4wLjIKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkMzEsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgeG9ybCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVjeAorICAgICAgICBic3IgICAgICAgJWVjeCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJDAsICVlc2kKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8yMy4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzI2LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF8xMy4wLjI6CisgICAgICAgIGFkZGwgICAgICAkMzg0LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqbCAgICAgICAgLkxfMlRBR19QQUNLRVRfNDEuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBzaHJsICAgICAgJDMxLCAlZXNpCisgICAgICAgIGFkZHBkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG1vdnNkICAgICAxMjUyOCglZWJ4LCVlc2ksOCksICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHNobGwgICAgICAkMTUsICVlc2kKKyAgICAgICAgb3JsICAgICAgICVlc2ksICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIG1vdmwgICAgICAyNCglZXNwKSwgJWVzaQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorLkxfMlRBR19QQUNLRVRfNDEuMC4yOgorICAgICAgICBtb3ZsICAgICAgMjQoJWVzcCksICVlc2kKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorLkxfMlRBR19QQUNLRVRfNDAuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF80Mi4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMjYsICVlZHgKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIxLjAuMgorLkxfMlRBR19QQUNLRVRfMTEuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzQzLjAuMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlYXgKKyAgICAgICAgcHNybHEgICAgICQyMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzQzLjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNDIuMC4yCisgICAgICAgIHNocmwgICAgICAkMjEsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxMDc1LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80NC4wLjIKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ1LjAuMgorICAgICAgICBjbXBsICAgICAgJDEwMjMsICVlZHgKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ0LjAuMgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMTcyMDgsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80NC4wLjIKKyAgICAgICAgbW92ZCAgICAgICV4bW0zLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNDQuMC4yCisuTF8yVEFHX1BBQ0tFVF80Ni4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMAorICAgICAgICB0ZXN0bCAgICAgJC0yMTQ3NDgzNjQ4LCAlZWN4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80Ny4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorLkxfMlRBR19QQUNLRVRfNDUuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVheAorICAgICAgICB0ZXN0bCAgICAgJDEsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ2LjAuMgorLkxfMlRBR19QQUNLRVRfNDQuMC4yOgorICAgICAgICB0ZXN0bCAgICAgJC0yMTQ3NDgzNjQ4LCAlZWN4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yNi4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorLkxfMlRBR19QQUNLRVRfNDcuMC4yOgorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBkaXZzZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQyNywgJWVkeAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMjEuMC4yCisuTF8yVEFHX1BBQ0tFVF8xNC4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW02CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTIsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tNiwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ4LjAuMgorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgeG9ybCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgdGVzdGwgICAgICQzMjc2OCwgJWVkeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfNDkuMC4yCisuTF8yVEFHX1BBQ0tFVF81MC4wLjI6CisgICAgICAgIG1vdmwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBzaHJsICAgICAgJDE2LCAlZXNpCisgICAgICAgIG9ybCAgICAgICAlZXNpLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgIDI0KCVlc3ApLCAlZXNpCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzE3LjAuMjoKKyAgICAgICAgbW92bCAgICAgICQyNCwgJWVkeAorLkxfMlRBR19QQUNLRVRfMjEuMC4yOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorLkxfMlRBR19QQUNLRVRfNDkuMC4yOgorICAgICAgICBtb3ZsICAgICAgJDE2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICB0ZXN0bCAgICAgJC0yMTQ3NDgzNjQ4LCAlZXNpCisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF81MS4wLjIKKyAgICAgICAgbW92c2QgICAgIDEyNTYwKCVlYngpLCAleG1tMgorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0wCisuTF8yVEFHX1BBQ0tFVF81MS4wLjI6CisgICAgICAgIG1vdmwgICAgICAyNCglZXNwKSwgJWVzaQorICAgICAgICBtb3ZsICAgICAgJDI1LCAlZWR4CisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzE2LjAuMjoKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tNSwgJWVjeAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW00LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAkLTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgbW92bCAgICAgICQtMzEsICVlY3gKKyAgICAgICAgc2FybCAgICAgICQ0LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGpsZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81Mi4wLjIKKyAgICAgICAgY21wbCAgICAgICQyMCwgJWVjeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNTMuMC4yCisgICAgICAgIHNobGwgICAgICAlY2wsICVlYXgKKy5MXzJUQUdfUEFDS0VUXzUyLjAuMjoKKyAgICAgICAgbW92ZCAgICAgICVlYXgsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMzIsICV4bW0wCisgICAgICAgIGFuZHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisuTF8yVEFHX1BBQ0tFVF81My4wLjI6CisgICAgICAgIG1vdmwgICAgICAkMjUsICVlZHgKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIxLjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIG1vdnp3bCAgICAyMiglZXNwKSwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJC0yMTQ3NDgzNjQ4LCAlZWR4CisgICAgICAgIG1vdmQgICAgICAlZWR4LCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQzMiwgJXhtbTUKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIHBzbGxxICAgICAkMjksICV4bW0wCisgICAgICAgIHBhZGRxICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYW5kcGQgICAgICV4bW0xLCAleG1tNQorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMTY1NjAsICVlY3gKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIGFuZHBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBhZGRsICAgICAgJDE2MzUxLCAlZWF4CisgICAgICAgIHNocmwgICAgICAkNCwgJWVheAorICAgICAgICBzdWJsICAgICAgJDEwMjIsICVlYXgKKyAgICAgICAgY3Z0c2kyc2RsICVlYXgsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbW92c2QgICAgICglZWJ4KSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBtb3ZzZCAgICAgKCVlYngpLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIG1vdnNkICAgICA4KCVlYngpLCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMywgJXhtbTIKKyAgICAgICAgdW5wY2tscGQgICV4bW0zLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIG1vdnNkICAgICA4KCVlYngpLCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDE2NzYwODMyLCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMTAsICVlZHgKKyAgICAgICAgYWRkcGQgICAgIC0zNjE2KCVlYngsJWVkeCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgICV4bW01LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW03LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAleG1tNywgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA4MjcyKCVlYngpLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgICV4bW03LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgbW92YXBkICAgIDgzMzYoJWVieCksICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNywgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW03LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgODM1MiglZWJ4KSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTMsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgODMwNCglZWJ4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0zLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIGFkZHBkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdnNkICAgICAxNiglZWJ4KSwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisgICAgICAgIG1vdnp3bCAgICAyMiglZXNwKSwgJWVjeAorICAgICAgICBtdWxwZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTcsICVlYXgKKyAgICAgICAgbXVscGQgICAgICV4bW00LCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIG1vdnNkICAgICA4Mzc2KCVlYngpLCAleG1tNAorICAgICAgICBhbmRwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ4LjAuMgorICAgICAgICBhZGRsICAgICAgJWVheCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDE2NTc2LCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81NC4wLjIKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgbW92bCAgICAgICQxNzA4MCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tNiwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIDEyNDgwKCVlYngpLCAleG1tNworICAgICAgICBtb3ZkICAgICAgJXhtbTYsICVlZHgKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgMTI0OTYoJWVieCksICV4bW0zCisgICAgICAgIG1vdnNkICAgICAxMjUxMiglZWJ4KSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDI1NSwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgODM4NCglZWJ4LCVlZHgsOCksICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tNiwgJWVkeAorICAgICAgICBzaHJsICAgICAgJDgsICVlY3gKKyAgICAgICAgbW92bCAgICAgICVlY3gsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQxLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIHNobGwgICAgICAkMjAsICVlY3gKKyAgICAgICAgbW92ZCAgICAgICVlY3gsICV4bW02CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW00LCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkMTcsICV4bW02LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxNjUyOSwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTQuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcGFkZGQgICAgICV4bW02LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMworICAgICAgICBhZGRsICAgICAgJDEwMjMsICVlYXgKKyAgICAgICAgc2hsbCAgICAgICQyMCwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVzaSwgJWVheAorICAgICAgICBtb3ZkICAgICAgJWVheCwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQzMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgIDI0KCVlc3ApLCAlZXNpCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNi4wLjIKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTcuMC4yCisuTF8yVEFHX1BBQ0tFVF81NS4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisuTF8yVEFHX1BBQ0tFVF80OC4wLjI6CisgICAgICAgIG1vdmwgICAgICAyNCglZXNwKSwgJWVzaQorLkxfMlRBR19QQUNLRVRfNTYuMC4yOgorICAgICAgICBtb3ZzZCAgICAgOCglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDE2KCVlc3ApLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQ0OTEzNiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tMworICAgICAgICBwc3JscSAgICAgJDIwLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTMsICVlY3gKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzU3LjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE4LjAuMgorLkxfMlRBR19QQUNLRVRfNTcuMC4yOgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVkeAorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHN1YmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgeG9ybCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgdGVzdGwgICAgICQzMjc2OCwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF81NC4wLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMiwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVjeCwgJWVheAorICAgICAgICB0ZXN0bCAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF81MC4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ5LjAuMgorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIG1vdmwgICAgICA2NCglZXNwKSwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIyLjM6CitFTkQocG93KQorIyAtLSBFbmQgIHBvdworCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTAKKwkubG9uZwkzMjE4NDc5NjE2CisJLmxvbmcJMAorCS5sb25nCTMyMTA1ODcxMDUKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY1MjQ4CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI2ODkxNjIKKwkubG9uZwkyNTIzMDEzMDEzCisJLmxvbmcJMTA0NjE1NzM5OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNjg1MDgxCisJLmxvbmcJMzg1MTUxMzc1OAorCS5sb25nCTMxOTA5Njg5NTIKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY4MTAwNworCS5sb25nCTIyNDE0NjY0NjYKKwkubG9uZwkxMDQ2MDQ0NTk5CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI2NzY5MzcKKwkubG9uZwkyOTkwOTI4MjcxCisJLmxvbmcJMzE5MzA4NDk4NAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNjcyODczCisJLmxvbmcJMjkwNTExMjc0MworCS5sb25nCTMxOTI5MTg1NzYKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjY2ODgxNQorCS5sb25nCTMzNzA1OTEyNjQKKwkubG9uZwkxMDQ2MDUxNzkzCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI2NjQ3NjIKKwkubG9uZwkzMjcyMzYxMjE2CisJLmxvbmcJMzE5Mzc5MzY1MworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNjYwNzE0CisJLmxvbmcJNDY1NDY3NTUKKwkubG9uZwkxMDQzMjA2OTM2CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI2NTY2NzIKKwkubG9uZwkzMDE3MDY3NzI0CisJLmxvbmcJMzE5MjE3Nzk2MgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjUyNjM2CisJLmxvbmcJMzY4ODQzNjYzMQorCS5sb25nCTMxOTI4MTQ5NTYKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjY0ODYwNAorCS5sb25nCTE3MDc0NjE5OTIKKwkubG9uZwkzMTkzMDU2NzEyCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzI2NDQ1NzgKKwkubG9uZwkxMTg4MTE0NTQwCisJLmxvbmcJMzE5MzYwMzA4NgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNjQwNTU3CisJLmxvbmcJMzUzMzE4MDU2NAorCS5sb25nCTEwNDU0NTkzNzUKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjYzNjU0MgorCS5sb25nCTIwMDAzMzc2MzAKKwkubG9uZwkzMTkzNDc1NTU3CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzI2MzI1MzIKKwkubG9uZwkzNjk4MDYyNDQzCisJLmxvbmcJMzE5Mzc1Mjc2NgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNjI4NTI3CisJLmxvbmcJMzE2MTYwNjEzOAorCS5sb25nCTMxOTA1MzI5OTUKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjYyNDUyOAorCS5sb25nCTMxNjUyNjU0NzgKKwkubG9uZwkzMTkzMTU4NDU5CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI2MjA1MzQKKwkubG9uZwkxNjAwOTQwMDc3CisJLmxvbmcJMzE5MzIyNjc3NworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNjE2NTQ1CisJLmxvbmcJMTM2MzI3MjU1MgorCS5sb25nCTMxOTI2MTQyNzgKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjYxMjU2MQorCS5sb25nCTM5NjYyMDk5MTAKKwkubG9uZwkzMTkxMjQ5NjU0CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI2MDg1ODMKKwkubG9uZwkxMDkzNjcyNzg5CisJLmxvbmcJMzE5MDYzNzMzMAorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNjA0NjEwCisJLmxvbmcJMTczNTIzOTM1NworCS5sb25nCTMxOTI3NTM2MTYKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjYwMDY0MgorCS5sb25nCTE0NzA2NjUxNTYKKwkubG9uZwkxMDQ1NTU5Njk3CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzI1OTY2NzkKKwkubG9uZwkzODQwNjI0OTI2CisJLmxvbmcJMTA0NTkyODk1MworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI1OTI3MjIKKwkubG9uZwk0MjU5MDcyNTU2CisJLmxvbmcJMzE5MTAzNTYyMgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNTg4NzY5CisJLmxvbmcJMzYxMzA4ODc1MworCS5sb25nCTMxOTIxNjU2ODEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjU4NDgyMgorCS5sb25nCTMxNzUyMzQ0NDYKKwkubG9uZwkxMDM5NDg2OTQ4CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI1ODA4ODAKKwkubG9uZwk4NTY1NzY0NDEKKwkubG9uZwkxMDQ1NzAyODEyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI1NzY5NDMKKwkubG9uZwkyMjUzNDk4NzE5CisJLmxvbmcJMzE5MzI4NTMzNAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyNTczMDExCisJLmxvbmcJMTU4NzA3MDcyOAorCS5sb25nCTMxOTA4MDE1NzcKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjU2OTA4NAorCS5sb25nCTE1OTk4NjMxNworCS5sb25nCTEwNDI1MTk0MzYKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjU2NTE2MworCS5sb25nCTM5OTk1NDE5NDkKKwkubG9uZwkzMTkyMDIwNDQwCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzI1NjEyNDYKKwkubG9uZwkzMjgxMzEwMjYyCisJLmxvbmcJMTA0NTU4Njc4NgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI1NTczMzUKKwkubG9uZwkzNzc1MTc5NDA2CisJLmxvbmcJMTA0NTIyNjA1NQorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNTUzNDI4CisJLmxvbmcJNjQzNDcyMzU2CisJLmxvbmcJMzE5MzY4MTc4NgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyNTQ5NTI3CisJLmxvbmcJMjQ4MTY5Nzc1CisJLmxvbmcJMTA0NTA2ODk3NworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNTQ1NjMwCisJLmxvbmcJMzA3MDE2NjMyCisJLmxvbmcJMTA0MjY0MDkzMgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNTQxNzM5CisJLmxvbmcJMzg3MjcxODUyNgorCS5sb25nCTMxODk3ODE0ODYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyNTM3ODUzCisJLmxvbmcJOTY5NzExNjMwCisJLmxvbmcJMzE5MTcyNDczMgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNTMzOTcxCisJLmxvbmcJNDAxODgyMDM5NAorCS5sb25nCTMxOTMxODkyNjQKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjUzMDA5NQorCS5sb25nCTMxMDIyMzMwOTIKKwkubG9uZwkxMDQ1NTEwMjI0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI1MjYyMjMKKwkubG9uZwkxMDI5MzA3OTEyCisJLmxvbmcJMzE5MzgxMjc3NgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyNTIyMzU3CisJLmxvbmcJOTg0MDgzMTUzCisJLmxvbmcJMTA0NTk4NzQwMworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNTE4NDk1CisJLmxvbmcJNDE3MTQ1NTQwMQorCS5sb25nCTMxOTMwODQwODAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjUxNDYzOQorCS5sb25nCTI1OTI2NjA3NTcKKwkubG9uZwkxMDQ2MTIxNjkxCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzI1MTA3ODcKKwkubG9uZwkyOTY0MzY1NzEyCisJLmxvbmcJMTA0NjA1NDQ1MworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNTA2OTQwCisJLmxvbmcJMzc5Mjc3Nzg3NworCS5sb25nCTMxOTM3MDQ3MjkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjUwMzA5OAorCS5sb25nCTI5NDg1MzYxMDQKKwkubG9uZwkzMTkyNDY3MTAwCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI0OTkyNjEKKwkubG9uZwkzODM2MDA1NjE5CisJLmxvbmcJMTA0MTg3MzE2NgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI0OTU0MjkKKwkubG9uZwkzMTI0NTQzMTYwCisJLmxvbmcJMTA0NDQwOTE2OAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNDkxNjAxCisJLmxvbmcJMjg2MjI3OTMzCisJLmxvbmcJMTA0MTA2NTk5MAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyNDg3Nzc5CisJLmxvbmcJMjExMTI5Njc3NgorCS5sb25nCTMxOTM2MDQ0MTkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjQ4Mzk2MQorCS5sb25nCTI2MDY4MjIwMDEKKwkubG9uZwkzMTkyOTQwMzk0CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI0ODAxNDgKKwkubG9uZwkxOTQ2OTY4MDAKKwkubG9uZwkxMDQ2MDI2MDYzCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI0NzYzNDAKKwkubG9uZwk4NTM1NDUyCisJLmxvbmcJMTA0NjIwMDE3OAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI0NzI1MzcKKwkubG9uZwk5NTA0NjM2MjUKKwkubG9uZwkzMTkyNzMxODk3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI0Njg3MzgKKwkubG9uZwk5NzM4MzE1NjYKKwkubG9uZwkxMDQ1NjgzMTk3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI0NjQ5NDQKKwkubG9uZwkzMzMwNDM1ODkyCisJLmxvbmcJMzE5MDI3NzU3NworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNDYxMTU1CisJLmxvbmcJMjA4NjkyMDk3CisJLmxvbmcJMzE5MzUxNzY1MQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNDU3MzcxCisJLmxvbmcJMjExMzA5NzQxNQorCS5sb25nCTEwNDQ3ODE3NDkKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjQ1MzU5MQorCS5sb25nCTEwODg4MDg5MzYKKwkubG9uZwkzMTkzNzE2MTQyCisJLmxvbmcJMAorCS5sb25nCTEwNzI0NDk4MTcKKwkubG9uZwkxNDQzMDAyMTI3CisJLmxvbmcJMzE5MzI1MDIwNQorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyNDQ2MDQ2CisJLmxvbmcJMzk2NzM1NzQxOQorCS5sb25nCTEwNDYxMDk0NzcKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjQ0MjI4MQorCS5sb25nCTMwMTM1MTc4NjEKKwkubG9uZwkzMTkzMTU5NjkxCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI0Mzg1MjAKKwkubG9uZwkyNTI0NTg2Mjg2CisJLmxvbmcJMTA0NjEyMTk1MQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNDM0NzY0CisJLmxvbmcJMTQ3Njg5Mjg2MQorCS5sb25nCTEwNDY0MzQ3MzEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjQzMTAxMworCS5sb25nCTMwODk2NDA5NTAKKwkubG9uZwkzMTkyMzA1NzgwCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjQyNzI2NgorCS5sb25nCTM4MTIyNTU1MjkKKwkubG9uZwkxMDQ1NzMwODc5CisJLmxvbmcJMAorCS5sb25nCTEwNzI0MjM1MjQKKwkubG9uZwk5OTUzNTQ3NjIKKwkubG9uZwkzMTkxNTI4NjczCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI0MTk3ODYKKwkubG9uZwkzMjYwNTY3Njg0CisJLmxvbmcJMTA0NjI3MzY5NQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNDE2MDUzCisJLmxvbmcJMjczODIxMDI4NgorCS5sb25nCTMxOTE0NzE1MTYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyNDEyMzI1CisJLmxvbmcJMTkzMTg0OTgwNQorCS5sb25nCTEwNDQ1NjA0MDUKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjQwODYwMQorCS5sb25nCTM1ODg5NjY1NQorCS5sb25nCTEwNDQwMjkyMzcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjQwNDg4MgorCS5sb25nCTIyMTQ1ODk4NDIKKwkubG9uZwkzMTkzMjAyMTI2CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzI0MDExNjcKKwkubG9uZwkzMTE4MDk3MzYzCisJLmxvbmcJMzE5MjU5MjkwNgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyMzk3NDU3CisJLmxvbmcJMTgzNTk5ODg4NAorCS5sb25nCTEwNDU3ODgyNDcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjM5Mzc1MgorCS5sb25nCTE1ODU0ODgzMTkKKwkubG9uZwkxMDQ1Mjg5OTEwCisJLmxvbmcJMAorCS5sb25nCTEwNzIzOTAwNTEKKwkubG9uZwk0ODAxNjA5NDkKKwkubG9uZwkxMDQ2MDMwNDU1CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIzODYzNTQKKwkubG9uZwkxODMyOTU5NjY3CisJLmxvbmcJMzE5MzAxMzY0NAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMzgyNjYyCisJLmxvbmcJMzYxMTM0NjU1NQorCS5sb25nCTEwNDQ1NDQyMTAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjM3ODk3NQorCS5sb25nCTI3NDk0MTg3MzQKKwkubG9uZwkzMTkzNzEyNTgwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIzNzUyOTIKKwkubG9uZwkyMzkwMDQzNDcyCisJLmxvbmcJMzE5MTcxMDY1OAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMzcxNjEzCisJLmxvbmcJMjgyODE5OTkwMgorCS5sb25nCTEwNDIyNjUyMTcKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjM2NzkzOQorCS5sb25nCTU2OTIwOTMyMQorCS5sb25nCTMxOTEyMzA5ODIKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMzY0MjcwCisJLmxvbmcJMjM2MTU5MTM5CisJLmxvbmcJMTA0NjI0MDEyMworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIzNjA2MDUKKwkubG9uZwkxMDEwNjU2MjcwCisJLmxvbmcJMzE5MzgxMzk2OAorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyMzU2OTQ0CisJLmxvbmcJMjQwOTA4MDU5NworCS5sb25nCTEwNDQwMjUwMjkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMzUzMjg4CisJLmxvbmcJNTk4NDE5NTEzCisJLmxvbmcJMTA0MzMyNzM3MAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMzQ5NjM2CisJLmxvbmcJNDEwNTk1MDQ3OQorCS5sb25nCTEwNDU3NDc5NTgKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjM0NTk4OAorCS5sb25nCTM0MzI0Mzg1MworCS5sb25nCTMxOTI0MjAxNzIKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjM0MjM0NQorCS5sb25nCTIwODg0Mzk1MzAKKwkubG9uZwkxMDQ2MTcyMDkxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjMzODcwNworCS5sb25nCTQxMTc3MjExMDcKKwkubG9uZwkxMDQzODgyNDk2CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIzMzUwNzIKKwkubG9uZwkzMTkyMDMyOTU4CisJLmxvbmcJMzE5Mjk5ODY0NQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMzMxNDQyCisJLmxvbmcJMjM2NjUyMjUxOAorCS5sb25nCTEwNDU0MDE5NTcKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjMyNzgxNworCS5sb25nCTM2ODU1MzMxNDEKKwkubG9uZwkzMTkzNzAxOTQ3CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjMyNDE5NgorCS5sb25nCTEwNTg2NTg2NzIKKwkubG9uZwkzMTkzNTcyNDkyCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjMyMDU3OQorCS5sb25nCTE2NjM0NjM0NworCS5sb25nCTEwNDU0NTYzNDgKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjMxNjk2NgorCS5sb25nCTIwMjc4ODk3NzIKKwkubG9uZwkxMDQ2MzQ5MzAyCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIzMTMzNTgKKwkubG9uZwkxMDc5NDk3ODg4CisJLmxvbmcJMTA0NDU4NTI1OQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMzA5NzU0CisJLmxvbmcJMjE4OTg1MTU3MworCS5sb25nCTEwNDUxMzI5OTAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjMwNjE1NAorCS5sb25nCTI0ODY2MjkzODYKKwkubG9uZwkzMTkzNjEzNjI1CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjMwMjU1OQorCS5sb25nCTEyNjM2ODY1NzkKKwkubG9uZwkxMDQ0Nzg5MjU5CisJLmxvbmcJMAorCS5sb25nCTEwNzIyOTg5NjgKKwkubG9uZwkyNDEyMDYxNzk4CisJLmxvbmcJMzE5MTM2OTYyNworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIyOTUzODEKKwkubG9uZwk1ODQzMTU3MTYKKwkubG9uZwkzMTkzMTQ0MTM1CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzIyOTE3OTgKKwkubG9uZwk0NDkwMDA3MzgKKwkubG9uZwkxMDQ2MzMwNDUxCisJLmxvbmcJMAorCS5sb25nCTEwNzIyODgyMjAKKwkubG9uZwkzOTM4MzIwMTU3CisJLmxvbmcJMTA0NDQ0NjIyMAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMjg0NjQ1CisJLmxvbmcJMjk0OTg0NDU5NQorCS5sb25nCTMxOTM0NjIzNzEKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjI4MTA3NQorCS5sb25nCTI3NzEzMjk2NDIKKwkubG9uZwkzMTkyMTIxNTkzCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjI3NzUxMAorCS5sb25nCTM5NzE1MDg2MjEKKwkubG9uZwkzMTkzMDAyODA2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIyNzM5NDgKKwkubG9uZwk0MDcxOTQyMzAxCisJLmxvbmcJMTA0NDk1MjYxOQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIyNzAzOTEKKwkubG9uZwkyMDkwNTAyMzk1CisJLmxvbmcJMTA0NDY2MDU1NgorCS5sb25nCTAKKwkubG9uZwkxMDcyMjY2ODM4CisJLmxvbmcJMzY1NzUyMDk2MQorCS5sb25nCTMxOTM3NzA5MzgKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjI2MzI4OAorCS5sb25nCTE2MDgxNzUxMTAKKwkubG9uZwkxMDQ1NTQzMjM5CisJLmxvbmcJMAorCS5sb25nCTEwNzIyNTk3NDQKKwkubG9uZwkyNTA2OTI0MTgwCisJLmxvbmcJMTA0NTUzMDUwMQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMjU2MjAzCisJLmxvbmcJMTgyMzg0OTMKKwkubG9uZwkxMDQ2MzA1NjIzCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIyNTI2NjYKKwkubG9uZwkzODYyNjQwNDg3CisJLmxvbmcJMzE5Mjg4MjQwNworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMjQ5MTM0CisJLmxvbmcJMzg1MDE1ODc2MQorCS5sb25nCTEwNDM2NTYwOTkKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjI0NTYwNQorCS5sb25nCTIzNTY1MjQzNTYKKwkubG9uZwkxMDQ1OTE1Mjk2CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIyNDIwODEKKwkubG9uZwk5MzY0OTcyODcKKwkubG9uZwkzMTkzODQyMzUzCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIyMzg1NjEKKwkubG9uZwkyODQwODQ1MzQ0CisJLmxvbmcJMTA0NjQ1NDc3MQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyMjM1MDQ1CisJLmxvbmcJMzY4ODEwMDcxMworCS5sb25nCTEwNDQ4OTU0NTEKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjIzMTUzMworCS5sb25nCTQ3OTk3OTkxMworCS5sb25nCTMxOTM4NDI0NDIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjIyODAyNQorCS5sb25nCTEwMTYzMjE4OTgKKwkubG9uZwkxMDQ2MjUxMDMyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIyMjQ1MjEKKwkubG9uZwk1NjIyMzI0NzQKKwkubG9uZwkzMTkxOTc0NTU4CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjIyMTAyMgorCS5sb25nCTM4NzA1MTIwMjkKKwkubG9uZwkzMTkzMTEzODgxCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzIyMTc1MjYKKwkubG9uZwkxMjM5NzgwNTQ3CisJLmxvbmcJMzE5MTU4MzYwNAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMjE0MDM0CisJLmxvbmcJMjgxNTQyMTMyNworCS5sb25nCTEwNDU4NzM2ODIKKwkubG9uZwkwCisJLmxvbmcJMTA3MjIxMDU0NworCS5sb25nCTIzNzEwMDk1NjEKKwkubG9uZwkxMDQxNTA4NzkyCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzIyMDcwNjMKKwkubG9uZwkxMzA0NjM2NTI0CisJLmxvbmcJMzE5MjQxNDI4NAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMjAzNTgzCisJLmxvbmcJMjEwMTQ0ODU0CisJLmxvbmcJMzE5MzMyNzMzMworCS5sb25nCTAKKwkubG9uZwkxMDcyMjAwMTA4CisJLmxvbmcJMTQ1NDMwMzI3MgorCS5sb25nCTEwNDYzNjAwMjQKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjE5NjYzNgorCS5sb25nCTIwOTU3NTc1NDgKKwkubG9uZwkxMDQ0OTg0Njc3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIxOTMxNjgKKwkubG9uZwkyMDI3MjE1NTgwCisJLmxvbmcJMzE5Mjg4MDkzMworCS5sb25nCTAKKwkubG9uZwkxMDcyMTg5NzA1CisJLmxvbmcJMjE0Nzk0ODgwCisJLmxvbmcJMTA0MzQ1Nzk1NAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMTg2MjQ1CisJLmxvbmcJODg0NjI0OTE3CisJLmxvbmcJMTA0MzQ5NzA3OQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyMTgyNzg5CisJLmxvbmcJMjc5MjM5NjYzNAorCS5sb25nCTMxOTMxNzE2ODUKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjE3OTMzNworCS5sb25nCTQxMjg5OTUyNTAKKwkubG9uZwkzMTkyMTAzNDM0CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIxNzU4ODkKKwkubG9uZwkzMzM4NjYwNDMKKwkubG9uZwkxMDQ2MzcyMzI1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIxNzI0NDUKKwkubG9uZwkyMTk0NDQ1NTQ0CisJLmxvbmcJMzE5Mzk1ODkwNQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMTY5MDA1CisJLmxvbmcJMjMxNjA4MjI2OQorCS5sb25nCTMxOTIwNDE3MDMKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjE2NTU2OQorCS5sb25nCTU4MTAwNTA1NworCS5sb25nCTEwNDYzMjI4NDgKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMTYyMTM3CisJLmxvbmcJMzI4MDc4NjUxMworCS5sb25nCTEwNDU0NTcyNTEKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjE1ODcwOAorCS5sb25nCTI1NjcwOTMzNjEKKwkubG9uZwkxMDQ0NzEwMzU5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIxNTUyODQKKwkubG9uZwkzNzQwNDQzNTg0CisJLmxvbmcJMTA0NDIyNDIzNworCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMTUxODYzCisJLmxvbmcJMzk4MTAyODI3MgorCS5sb25nCTEwNDI1OTYzNTEKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjE0ODQ0NgorCS5sb25nCTM4MjAwMTExMjAKKwkubG9uZwkzMTkxOTE1NjIzCisJLmxvbmcJMAorCS5sb25nCTEwNzIxNDUwMzQKKwkubG9uZwkyOTQ2NDM5NDg0CisJLmxvbmcJMzE5MzgzMTI3NgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMTQxNjI0CisJLmxvbmcJMzA3NTI3NDQyMgorCS5sb25nCTMxOTAxMzI0MzIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjEzODIxOQorCS5sb25nCTQ5NjA1MjE2NworCS5sb25nCTEwNDM2MTk3NjAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjEzNDgxOAorCS5sb25nCTI3MTEwNjU4OQorCS5sb25nCTMxOTIyNjUxNDkKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjEzMTQyMAorCS5sb25nCTIwOTE5NTU2ODQKKwkubG9uZwkxMDQ0NDQzNTU0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIxMjgwMjYKKwkubG9uZwk3MjMyNDAxMDkKKwkubG9uZwkzMTkxMDA3NDE5CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIxMjQ2MzYKKwkubG9uZwkxNzQ4NjI5MDcwCisJLmxvbmcJMTA0NDUxMDA3NQorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMTIxMjUwCisJLmxvbmcJMzI4OTUyMjA0NgorCS5sb25nCTMxOTMwOTUxNzgKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjExNzg2OAorCS5sb25nCTM1OTkwNTIxNDYKKwkubG9uZwkzMTkzNzIwNDI3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIxMTQ0ODkKKwkubG9uZwkyNDQ2NzU4MTM1CisJLmxvbmcJMzE5MzQzNjMwMworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMTExMTE0CisJLmxvbmcJMTY1MjE3MTA5NworCS5sb25nCTMxOTIxMzcxNzMKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjEwNzc0MworCS5sb25nCTEzNTMwMDcxNTUKKwkubG9uZwkxMDQ0NTIzOTAyCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzIxMDQzNzYKKwkubG9uZwk5OTA2MDExMDUKKwkubG9uZwkxMDQ2Mjk2NjYzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIxMDEwMTIKKwkubG9uZwkyMjI4NjI3NjE4CisJLmxvbmcJMzE5MzA0MTA0MAorCS5sb25nCTAKKwkubG9uZwkxMDcyMDk3NjUzCisJLmxvbmcJODEyNDg0NzU2CisJLmxvbmcJMzE5MTk1MDcyMworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMDk0Mjk2CisJLmxvbmcJODE3ODMzMTMwCisJLmxvbmcJMzE5MjI3OTI0MgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyMDkwOTQ0CisJLmxvbmcJMzU2MzIyODUyMQorCS5sb25nCTMxOTM4MTA5NTEKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjA4NzU5NQorCS5sb25nCTI3MjkxMDg4NTkKKwkubG9uZwkzMTkwOTM2MTg1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIwODQyNTAKKwkubG9uZwkyMjQ5MTIxNjYyCisJLmxvbmcJMzE5MDYzOTY5MAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyMDgwOTA5CisJLmxvbmcJNDA4MjQ3MTc0NQorCS5sb25nCTMxOTM5MjkzNjgKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjA3NzU3MQorCS5sb25nCTI4MjczMjM4MDYKKwkubG9uZwkzMTkzNzA4NTYxCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIwNzQyMzcKKwkubG9uZwk3MzU4NjYxNjcKKwkubG9uZwkxMDQyNDM0NjkwCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIwNzA5MDcKKwkubG9uZwkzMjQwODA4ODg5CisJLmxvbmcJMzE5MTkxODQyMgorCS5sb25nCTAKKwkubG9uZwkxMDcyMDY3NTgxCisJLmxvbmcJNDY2NDgyNzc3CisJLmxvbmcJMzE4Njk2MjIyMQorCS5sb25nCTAKKwkubG9uZwkxMDcyMDY0MjU4CisJLmxvbmcJMTU3NjA3NjI5NgorCS5sb25nCTEwNDU4NDkwNTYKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjA2MDkzOAorCS5sb25nCTI3NTE5MjM1NjAKKwkubG9uZwkzMTkxOTEwNzAzCisJLmxvbmcJMAorCS5sb25nCTEwNzIwNTc2MjMKKwkubG9uZwkxOTA4NzU1NTI3CisJLmxvbmcJMTA0NjQzNzUxNQorCS5sb25nCTAKKwkubG9uZwkxMDcyMDU0MzExCisJLmxvbmcJMzE3NTg0MTQxMQorCS5sb25nCTEwNDQ1NzI4ODYKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjA1MTAwMgorCS5sb25nCTE2MzMyNTg0NTAKKwkubG9uZwkzMTkyNjcwNDIwCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIwNDc2OTcKKwkubG9uZwkxODY3NzQ2NjU3CisJLmxvbmcJMTA0NTcyNjIwOQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMDQ0Mzk2CisJLmxvbmcJMzM4OTY4ODY0CisJLmxvbmcJMzE5MzA4NDY2MgorCS5sb25nCTAKKwkubG9uZwkxMDcyMDQxMDk5CisJLmxvbmcJMTUwMTc0MjQ3MQorCS5sb25nCTMxOTE3NDIwMzEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjAzNzgwNQorCS5sb25nCTQyNjY3NzU3ODYKKwkubG9uZwkzMTkyNjg2OTcwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIwMzQ1MTQKKwkubG9uZwk0MjQ5MjgzNTUzCisJLmxvbmcJMTA0NTc2OTcyOAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMDMxMjI3CisJLmxvbmcJMjc1ODM2Njg3MworCS5sb25nCTEwNDY0MDIxNjEKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjAyNzk0NAorCS5sb25nCTIxNjExODY5OTAKKwkubG9uZwkxMDQ0NzM2ODY1CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIwMjQ2NjQKKwkubG9uZwk4MTAzMDAxNzEKKwkubG9uZwkxMDQ1NzQ4Nzc3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIwMjEzODgKKwkubG9uZwkxODM2ODg5MjcKKwkubG9uZwkzMTkxNTE1NTgxCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIwMTgxMTUKKwkubG9uZwkzNjg4NzQwNzIKKwkubG9uZwkzMTkyMzYzNTc1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIwMTQ4NDYKKwkubG9uZwkyNDU5MDkyOTcwCisJLmxvbmcJMTA0MTc5NDY0MAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIwMTE1ODEKKwkubG9uZwk4Njc0ODg2NDAKKwkubG9uZwkxMDQ2MzEwMjkxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjAwODMxOQorCS5sb25nCTUwMTQwODcxCisJLmxvbmcJMTA0MzMyNzMyOQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMDA1MDYwCisJLmxvbmcJMTI0MTkwMjUxOAorCS5sb25nCTMxOTI3MzkyNTIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjAwMTgwNQorCS5sb25nCTEwMjc4ODE2NTkKKwkubG9uZwkzMTkzODU4Mzg4CisJLmxvbmcJMAorCS5sb25nCTEwNzE5OTg1NTQKKwkubG9uZwkzODQ1NzMyMgorCS5sb25nCTEwNDU0ODkxNzkKKwkubG9uZwkwCisJLmxvbmcJMTA3MTk5NTMwNgorCS5sb25nCTM0MzI5NjMzMzcKKwkubG9uZwkzMTkwOTY5MzQ3CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE5OTIwNjEKKwkubG9uZwk1MzQ5MzE3OTIKKwkubG9uZwkxMDQ2MzAyNzM0CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE5ODg4MjAKKwkubG9uZwkxODE3ODk1MjY4CisJLmxvbmcJMzE5MjU1MTg2MAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxOTg1NTgyCisJLmxvbmcJMzU3MjM3MzgzCisJLmxvbmcJMzE5MTg3MDgzMworCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxOTgyMzQ4CisJLmxvbmcJMTA4MjYyNDAxCisJLmxvbmcJMzE5MzM2NTg2NworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxOTc5MTE3CisJLmxvbmcJMTk2NDcyOTI0NAorCS5sb25nCTEwNDI1MDIyNDkKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTk3NTg5MAorCS5sb25nCTIwODg0NDY5NTcKKwkubG9uZwkxMDM4MDEwNTAzCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE5NzI2NjYKKwkubG9uZwkyOTQ3MjM5NDQ3CisJLmxvbmcJMTA0NjM3Nzg0NQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcxOTY5NDQ2CisJLmxvbmcJNzc0OTMyMDcyCisJLmxvbmcJMTA0NjA2NDg1NAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxOTY2MjI5CisJLmxvbmcJNDA4MDkzNzU5MAorCS5sb25nCTMxOTMwNDEyODQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MTk2MzAxNQorCS5sb25nCTIyMDgyNTE0NTQKKwkubG9uZwkxMDQ1OTQ1MDg5CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE5NTk4MDUKKwkubG9uZwkyODUwOTI0NDc1CisJLmxvbmcJMTA0NTY1MDk1OQorCS5sb25nCTAKKwkubG9uZwkxMDcxOTU2NTk5CisJLmxvbmcJNzE0MDQwOTk3CisJLmxvbmcJMTA0NjI3NTE1MworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxOTUzMzk1CisJLmxvbmcJODU1MzM3ODIKKwkubG9uZwkzMTkyODE2OTIwCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE5NTAxOTUKKwkubG9uZwkxMjUyNTExMDA1CisJLmxvbmcJMTA0NDgwNTcwNgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxOTQ2OTk5CisJLmxvbmcJMjM4NDY1OTAzOAorCS5sb25nCTMxOTMzOTE2MDIKKwkubG9uZwkwCisJLmxvbmcJMTA3MTk0MzgwNgorCS5sb25nCTQxNjQ4MTgxMworCS5sb25nCTEwNDM3MzAyMzMKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxOTQwNjE2CisJLmxvbmcJMTY3NTQyNDQ5OQorCS5sb25nCTEwNDYzNDgwMzAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTkzNzQyOQorCS5sb25nCTExNzU5ODk1MTMKKwkubG9uZwkzMTkzMDA5MTEzCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE5MzQyNDYKKwkubG9uZwkyNDAwMDg0NjUwCisJLmxvbmcJMzE5MjQ1MTcxMworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxOTMxMDY2CisJLmxvbmcJMTQ2NzMzNTY5MgorCS5sb25nCTMxOTMzNTA4NjgKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTkyNzg5MAorCS5sb25nCTI2NjQ5MzgwMQorCS5sb25nCTEwNDQ5NTQ0ODEKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTkyNDcxNworCS5sb25nCTM5MTkwOTM0NDUKKwkubG9uZwkxMDQ2MDIzNTc1CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE5MjE1NDcKKwkubG9uZwkzMDE3NDA4NDgzCisJLmxvbmcJMTA0NDg4MDgyOAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE5MTgzODEKKwkubG9uZwk5NDg4NDk5NjYKKwkubG9uZwkzMTkzODkyMjI0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE5MTUyMTcKKwkubG9uZwkxODcwMjMyNjAwCisJLmxvbmcJMTA0NTc3NzIyOAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE5MTIwNTgKKwkubG9uZwk4MjIzODE0OTIKKwkubG9uZwkzMTkzNjM5MTg2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE5MDg5MDEKKwkubG9uZwk3ODgyNDM3MDUKKwkubG9uZwkxMDQ0OTY2MzQzCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE5MDU3NDgKKwkubG9uZwkxMzQ0Mjc4ODA5CisJLmxvbmcJMTA0NDQyODU0NQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxOTAyNTk4CisJLmxvbmcJMTcyODY0MzAwCisJLmxvbmcJMTA0NTc2NTYwOAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxODk5NDUxCisJLmxvbmcJMjExNTU1NDY3CisJLmxvbmcJMzE5Mjk2MzU3NAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE4OTYzMDgKKwkubG9uZwkzMzczNDM4MDIzCisJLmxvbmcJMTA0NTY0MzE2OAorCS5sb25nCTAKKwkubG9uZwkxMDcxODkzMTY4CisJLmxvbmcJMjg2NzE4MDk2MAorCS5sb25nCTMxODk5NDU5OTgKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxODkwMDMxCisJLmxvbmcJMzY3MjQzNjIKKwkubG9uZwkzMTkzMjQwNTg0CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE4ODY4OTcKKwkubG9uZwkyMTQwMTc2OTg0CisJLmxvbmcJMTA0NTk0NTM0OQorCS5sb25nCTAKKwkubG9uZwkxMDcxODgzNzY3CisJLmxvbmcJNDM2ODQyMzYwCisJLmxvbmcJMTA0MDcxMjU4NworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxODgwNjM5CisJLmxvbmcJMTIyNTE0NzMyOQorCS5sb25nCTMxOTM4MTQ1OTQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MTg3NzUxNQorCS5sb25nCTE1ODYxNTczNDgKKwkubG9uZwkzMTkxNjE0MzIyCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTg3NDM5NQorCS5sb25nCTMzMjkzMzI5MTgKKwkubG9uZwkxMDQxNjk5NzkxCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE4NzEyNzcKKwkubG9uZwkxNjM1OTY4MDQxCisJLmxvbmcJMzE5MTc4Mzc1NgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxODY4MTYzCisJLmxvbmcJMjg3NjE1ODM4MgorCS5sb25nCTEwNDYwOTcwOTMKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTg2NTA1MgorCS5sb25nCTQyNjc1NTY5NjQKKwkubG9uZwkzMTkzNzIzMDAwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE4NjE5NDQKKwkubG9uZwkxOTU0NzU5NDAKKwkubG9uZwkxMDQ1NTIwNzk1CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE4NTg4MzkKKwkubG9uZwkyMjM5MTkzNTE0CisJLmxvbmcJMTA0NjQ3ODY3NQorCS5sb25nCTAKKwkubG9uZwkxMDcxODU1NzM4CisJLmxvbmcJNDE2ODI3NTU5NgorCS5sb25nCTEwNDQ5MjYyODUKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTg1MjYzOQorCS5sb25nCTE0MjUxNDExNAorCS5sb25nCTEwNDU1OTUxODIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTg0OTU0NAorCS5sb25nCTE5NDM0NTc5ODQKKwkubG9uZwkzMTkyOTMwMDE1CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE4NDY0NTIKKwkubG9uZwkyMDI2NTk0ODkKKwkubG9uZwkzMTkzOTI2MzE3CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE4NDMzNjMKKwkubG9uZwkyMjA4NDA4Nzg5CisJLmxvbmcJMzE5Mzg1NzQ4NAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxODQwMjc3CisJLmxvbmcJMjIzNzI5NzU1MgorCS5sb25nCTMxOTI5Mzk1NzYKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTgzNzE5NQorCS5sb25nCTI3MjY5MjA4MzkKKwkubG9uZwkxMDQ0MTkzOTU0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE4MzQxMTUKKwkubG9uZwkyMzM3NzMyMjA3CisJLmxvbmcJMzE5MzYxMTc3MworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxODMxMDM5CisJLmxvbmcJMTM5MDA4ODYwMgorCS5sb25nCTEwNDQwMDAzMTcKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTgyNzk2NgorCS5sb25nCTM4MDYxODg3MzYKKwkubG9uZwkzMTkzNDYzOTEzCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE4MjQ4OTYKKwkubG9uZwkxNzk1Mjc2NTYwCisJLmxvbmcJMTA0MzY3MTk2NQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxODIxODI5CisJLmxvbmcJMjk2MDc5Mjc5OQorCS5sb25nCTEwNDYyNDA0NzQKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTgxODc2NQorCS5sb25nCTMzNTA1OTE1OTIKKwkubG9uZwkzMTkzMzMzOTM5CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE4MTU3MDQKKwkubG9uZwk0MDg4NzA3NTQKKwkubG9uZwkzMTkzMzIyODU0CisJLmxvbmcJMAorCS5sb25nCTEwNzE4MTI2NDcKKwkubG9uZwk0MTQ2NzE3MTMyCisJLmxvbmcJMTA0NjA2MzUyMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxODA5NTkyCisJLmxvbmcJMTY4MTExNDkxOQorCS5sb25nCTMxOTIxMTQzMTMKKwkubG9uZwkwCisJLmxvbmcJMTA3MTgwNjU0MQorCS5sb25nCTEwOTgzOTMxMzcKKwkubG9uZwkzMTkwODQ2NzMyCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE4MDM0OTIKKwkubG9uZwkyNDM3NDg0OTgzCisJLmxvbmcJMzE5MzQ0ODcxOAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxODAwNDQ3CisJLmxvbmcJMTAzNjgwOTE4NQorCS5sb25nCTMxOTIwMjM1MDEKKwkubG9uZwkwCisJLmxvbmcJMTA3MTc5NzQwNQorCS5sb25nCTY1OTY2ODg0OAorCS5sb25nCTMxOTM1OTYzMTIKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTc5NDM2NQorCS5sb25nCTExMTIwNjI0NTkKKwkubG9uZwkzMTkyNzczMzc2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE3OTEzMjkKKwkubG9uZwk0MDgyOTU2MzM1CisJLmxvbmcJMTA0NTgzMDUxMworCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcxNzg4Mjk2CisJLmxvbmcJMjM4NzA4OTk2NQorCS5sb25nCTEwNDU1MzI2MDEKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTc4NTI2NgorCS5sb25nCTE1MjIxMDE5ODAKKwkubG9uZwkzMTkzOTQxOTU3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE3ODIyMzkKKwkubG9uZwkyMTU3MTk3NTg1CisJLmxvbmcJMzE4ODE5MzMwNQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNzc5MjE1CisJLmxvbmcJOTQ2ODEwMjIwCisJLmxvbmcJMzE5MzIyMzgxOQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNzc2MTk0CisJLmxvbmcJNDA2OTk0MjQ0NAorCS5sb25nCTMxOTM4Nzg1NDkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzczMTc2CisJLmxvbmcJMTY5MzQ2MzQ0MAorCS5sb25nCTEwNDYzNjA1ODgKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzcwMTYxCisJLmxvbmcJMTk1NDU0MzI1NAorCS5sb25nCTEwNDY0MDkzODEKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTc2NzE0OQorCS5sb25nCTEwNTA0NzEyNDkKKwkubG9uZwkzMTkzOTMzMDk1CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTc2NDE0MAorCS5sb25nCTEyNTYyNDA0NzgKKwkubG9uZwkxMDQ2NDU2ODY1CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTc2MTEzNAorCS5sb25nCTY3Njc2NDI1NAorCS5sb25nCTEwNDYwNTU1MDMKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzU4MTMxCisJLmxvbmcJMTQyMTAzMjk2NworCS5sb25nCTEwNDQ3Nzk3ODYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzU1MTMxCisJLmxvbmcJMzg3MzU5OTIKKwkubG9uZwkzMTkyNzY2MzU1CisJLmxvbmcJMAorCS5sb25nCTEwNzE3NTIxMzQKKwkubG9uZwkyOTYwNjY5NjkwCisJLmxvbmcJMTA0NDQ4NDY4MAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxNzQ5MTM5CisJLmxvbmcJNzg4NzA3MzgyCisJLmxvbmcJMTA0NTI5OTg5NQorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxNzQ2MTQ4CisJLmxvbmcJNjg1Njg5MzAwCisJLmxvbmcJMTA0MDc3ODgzMQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxNzQzMTYwCisJLmxvbmcJMTE3MDk5NDE4MgorCS5sb25nCTEwNDYxNTkxNzQKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTc0MDE3NQorCS5sb25nCTY0NTkxNDM2CisJLmxvbmcJMTA0NjE1Mzg0OQorCS5sb25nCTAKKwkubG9uZwkxMDcxNzM3MTkzCisJLmxvbmcJMjMzODAzMTY1OQorCS5sb25nCTMxODk5OTc3MDIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTczNDIxMworCS5sb25nCTE5NDE2MjQ1NjgKKwkubG9uZwkzMTg2NzUyNjc2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTczMTIzNworCS5sb25nCTE0MDEyNTU1ODAKKwkubG9uZwkxMDQ2MzgzOTkwCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE3MjgyNjMKKwkubG9uZwkzNzY4ODg0MjcKKwkubG9uZwkxMDQ1ODk2NDU2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTcyNTI5MworCS5sb25nCTI4MzE0MjQ2MzkKKwkubG9uZwkzMTkzNTM5MTA5CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE3MjIzMjUKKwkubG9uZwkzMzAzMTIzNjk2CisJLmxvbmcJMTA0NDU5OTQxNQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxNzE5MzYwCisJLmxvbmcJMTA3NzI5NTMyOQorCS5sb25nCTMxODk4NzczNzIKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTcxNjM5OAorCS5sb25nCTE0MzQwNjEwOTkKKwkubG9uZwkzMTg0NTI5NzcxCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE3MTM0MzkKKwkubG9uZwkyMTA0OTkxNTkwCisJLmxvbmcJMTA0NTA2MjA3NAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxNzEwNDgzCisJLmxvbmcJNzIyMDYwODY5CisJLmxvbmcJMzE5Mzc4ODUyNgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE3MDQ1ODAKKwkubG9uZwkzOTI4Nzk2NDg2CisJLmxvbmcJMTA0NjEyOTAyMAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE2OTg2ODgKKwkubG9uZwk1ODg4NDQ2MjgKKwkubG9uZwkxMDQ1NDkyMTM1CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE2OTI4MDcKKwkubG9uZwkzMjY3MzkzNjYKKwkubG9uZwkzMTkzMDA0NDQ1CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE2ODY5MzgKKwkubG9uZwkyNDU2NDM2MDQyCisJLmxvbmcJMTA0NjI3ODE2OQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxNjgxMDgwCisJLmxvbmcJMjgzMTMwMzUxMgorCS5sb25nCTEwNDM2NzAwNDYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNjc1MjM0CisJLmxvbmcJNjA3MjIzNDE4CisJLmxvbmcJMTA0NTUwNzMyMgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjY5Mzk5CisJLmxvbmcJNDI1NDkyMTMzMgorCS5sb25nCTMxOTMyOTA0ODMKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY2MzU3NQorCS5sb25nCTkxNDk5NDMzMworCS5sb25nCTMxOTEyNjM4NTMKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTY1Nzc2MgorCS5sb25nCTQxNDcwNTAxODAKKwkubG9uZwkzMTkzMjI4NTUyCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE2NTE5NjAKKwkubG9uZwk1OTQ1NTQxNTcKKwkubG9uZwkzMTkzNTAzOTM1CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDYxNzAKKwkubG9uZwkxMDYyODQ2Nzk2CisJLmxvbmcJMTA0NTk0NDMzMQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNjM2MTA5CisJLmxvbmcJMjkwOTIzODg5MworCS5sb25nCTMxOTM0MzY4ODQKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTYyNDU3MgorCS5sb25nCTE2ODI5MTgxMTkKKwkubG9uZwkxMDQyMjExODk5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE2MTMwNTcKKwkubG9uZwkyNDE5MjA5NDI2CisJLmxvbmcJMTA0NTQzNzA2MgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNjAxNTY0CisJLmxvbmcJMjk1MTM0MTMyMQorCS5sb25nCTMxOTAxOTMyMTQKKwkubG9uZwkwCisJLmxvbmcJMTA3MTU5MDA5MworCS5sb25nCTMwODQ5MDA4NzUKKwkubG9uZwkzMTkyMzk0OTA3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE1Nzg2NDMKKwkubG9uZwk5OTk1Njc0NTQKKwkubG9uZwkxMDQ2NDMzNDQ3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE1NjcyMTUKKwkubG9uZwkxNTcwMTAxODU3CisJLmxvbmcJMzE5MzI5MTE2MAorCS5sb25nCTAKKwkubG9uZwkxMDcxNTU1ODA5CisJLmxvbmcJMTA4MDY0Nzg4MQorCS5sb25nCTMxODUxNTQ1ODUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTU0NDQyNAorCS5sb25nCTM1MjYzMDkxNzcKKwkubG9uZwkxMDQ0ODQzNjQwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE1MzMwNjAKKwkubG9uZwkyMjEzNDYzMzQ5CisJLmxvbmcJMzE5MTczODkzMAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNTIxNzE4CisJLmxvbmcJMTAzOTkyNTE5NQorCS5sb25nCTMxOTI2MTgzNTMKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTUxMDM5NworCS5sb25nCTIxMTU3NTcyODAKKwkubG9uZwkzMTkzNjcxNTY3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE0OTkwOTcKKwkubG9uZwkxMTg4NzUxNDk1CisJLmxvbmcJMzE5MTE0NTU2MAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxNDg3ODE4CisJLmxvbmcJMzk4MzQ2MTQ0OQorCS5sb25nCTMxOTM4OTcwMjkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTQ3NjU2MAorCS5sb25nCTc4MjE0MTUwMAorCS5sb25nCTEwNDI4Nzk5NjIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTQ2NTMyMworCS5sb25nCTQwMzg5MDQ2MjYKKwkubG9uZwkxMDQ1MDYzODgxCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE0NTQxMDcKKwkubG9uZwkyNjEzMDM2OTIxCisJLmxvbmcJMzE5MzIxNzY0MgorCS5sb25nCTAKKwkubG9uZwkxMDcxNDQyOTEyCisJLmxvbmcJMjA5NTcyMzQzNQorCS5sb25nCTEwNDQ2MjkxNzUKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTQzMTczNworCS5sb25nCTM4Nzk3OTU5NzQKKwkubG9uZwkxMDQ1NzY3ODc0CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE0MjA1ODMKKwkubG9uZwkyNjYyMTk4MDQyCisJLmxvbmcJMzE5MTQzNDYzNworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxNDA5NDQ5CisJLmxvbmcJNDAzNzYwNTcyMgorCS5sb25nCTMxOTM3MDMwOTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTM5ODMzNgorCS5sb25nCTE4NjAzMzE4MzUKKwkubG9uZwkxMDQwODE0ODIyCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzEzODcyNDMKKwkubG9uZwkxNTIyOTcyMDMzCisJLmxvbmcJMzE5MDMwNTk3NAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMzc2MTcxCisJLmxvbmcJMjM2MTUzNDIwNworCS5sb25nCTEwNDM2OTkzNjYKKwkubG9uZwkwCisJLmxvbmcJMTA3MTM2NTExOQorCS5sb25nCTQxODAzMDkxNzkKKwkubG9uZwkxMDQ0MTQyMDk5CisJLmxvbmcJMAorCS5sb25nCTEwNzEzNTQwODcKKwkubG9uZwkxMjAxMDM4NTI4CisJLmxvbmcJMzE5Mjk2ODc3MgorCS5sb25nCTAKKwkubG9uZwkxMDcxMzQzMDc1CisJLmxvbmcJMTM0MjQ3ODE3MQorCS5sb25nCTMxOTMyNTEyMTUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTMzMjA4MworCS5sb25nCTM4MzY4ODMzNDgKKwkubG9uZwkzMTkzNDcyMDA3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzEzMjExMTAKKwkubG9uZwkzODY0ODc0MjUwCisJLmxvbmcJMTA0NTU5MzEyNgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMzEwMTU4CisJLmxvbmcJMjE2OTQ5NDk5OAorCS5sb25nCTEwNDYwNDUzNDYKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTI5OTIyNgorCS5sb25nCTM3ODUxNjUwNzUKKwkubG9uZwkzMTkzMzE5MjQ2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzEyODgzMTMKKwkubG9uZwkxMTM3NjkyNjc4CisJLmxvbmcJMzE5MjcxNjc3OQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMjc3NDIwCisJLmxvbmcJMTc1MjEwNzU5OAorCS5sb25nCTEwNDYzNjYxMjAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTI2NjU0NgorCS5sb25nCTE5MTI2NTY5MTIKKwkubG9uZwkxMDQ2MzUyMjgxCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzEyNTU2OTIKKwkubG9uZwkyODgyNjc2MzM0CisJLmxvbmcJMTA0NjQwNjM1MworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMjQ0ODU4CisJLmxvbmcJOTYzNjEyNDYwCisJLmxvbmcJMTA0NTI4MjgxMQorCS5sb25nCTAKKwkubG9uZwkxMDcxMjM0MDQzCisJLmxvbmcJMzgxMTI1NTc3MworCS5sb25nCTEwNDYyMzE2MzYKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTIyMzI0NworCS5sb25nCTExMjYwNTU5ODkKKwkubG9uZwkzMTkyMjI0MDM3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzEyMTI0NzAKKwkubG9uZwkyMDc5MTQ1NDI3CisJLmxvbmcJMTA0NDQzMjQxMworCS5sb25nCTAKKwkubG9uZwkxMDcxMjAxNzEzCisJLmxvbmcJMzYxMTU5NTYyMQorCS5sb25nCTEwNDMzNTg3NDUKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTE5MDk3NAorCS5sb25nCTM5MDUyMjc2OQorCS5sb25nCTEwNDU4ODgyNTIKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTE4MDI1NQorCS5sb25nCTQwODc5Mzk3MjMKKwkubG9uZwkzMTkyOTMwNzQ1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzExNjk1NTQKKwkubG9uZwkxNDUxNDk0NDgwCisJLmxvbmcJMzE5MDIxOTI3NAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMTU4ODczCisJLmxvbmcJNDI3MTc2MTk0CisJLmxvbmcJMzE5MzA0MjAyMgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMTQ4MjEwCisJLmxvbmcJMTg4MjM4MTk0OAorCS5sb25nCTMxOTI3Mjc5NDYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTEzNzU2NgorCS5sb25nCTM3MzYzMTM3NzEKKwkubG9uZwkzMTkyMDg3MDE5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzExMjY5NDEKKwkubG9uZwkxNTYwMzk4ODE2CisJLmxvbmcJMzE5MzE4NTcxNQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMTE2MzM0CisJLmxvbmcJMTAyMTk0MjQ0MQorCS5sb25nCTEwNDE1MjY2OTYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTEwNTc0NgorCS5sb25nCTM1MTcwODAyNDkKKwkubG9uZwkzMTkzNTc2MDQxCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzEwOTUxNzYKKwkubG9uZwkyMjQ4NTg5ODc4CisJLmxvbmcJMTA0NDUyNzYyNAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMDg0NjI1CisJLmxvbmcJMjQxMjg5NjY5NQorCS5sb25nCTEwNDYxMTI4NjcKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTA3NDA5MgorCS5sb25nCTM4MzQ3MjU3MzgKKwkubG9uZwkxMDQ0NTYyMzc4CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzEwNjM1NzgKKwkubG9uZwkxMTUwOTIwNDA3CisJLmxvbmcJMTA0Mzc2ODk4NgorCS5sb25nCTAKKwkubG9uZwkxMDcxMDUzMDgyCisJLmxvbmcJMTM3OTM5MzQyOAorCS5sb25nCTMxODg2OTA2OTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MTA0MjYwNAorCS5sb25nCTMwNTgxODMyNzgKKwkubG9uZwkzMTkzNjE3NjU1CisJLmxvbmcJMAorCS5sb25nCTEwNzEwMzIxNDQKKwkubG9uZwk0MjExMzM2NjUKKwkubG9uZwkzMTkzNDE3MTg2CisJLmxvbmcJMAorCS5sb25nCTEwNzEwMjE3MDIKKwkubG9uZwkyODYwMTYxMzU3CisJLmxvbmcJMzE5MTgxNjEyNQorCS5sb25nCTAKKwkubG9uZwkxMDcxMDExMjc4CisJLmxvbmcJMTc0MjQwNTk2NAorCS5sb25nCTEwNDM1ODAyNDAKKwkubG9uZwkwCisJLmxvbmcJMTA3MTAwMDg3MgorCS5sb25nCTI4MjEyMTU5MjcKKwkubG9uZwkzMTg4OTg0MjczCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA5OTA0ODMKKwkubG9uZwk1MTAyNzU1OTcKKwkubG9uZwkxMDQ1ODEzNDAxCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA5ODAxMTMKKwkubG9uZwkzMDQyNjY1ODgKKwkubG9uZwkzMTkxMTkzNTM2CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA5Njk3NjAKKwkubG9uZwkxODU0Nzg0MjExCisJLmxvbmcJMTA0NjMwMjA3MworCS5sb25nCTAKKwkubG9uZwkxMDcwOTU5NDI2CisJLmxvbmcJMzc3MzA4Mjg1NAorCS5sb25nCTMxOTMwMDg4OTkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDk0OTEwOAorCS5sb25nCTMwMDM1NzIzOTIKKwkubG9uZwkxMDQ2NDA0ODc5CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA5Mzg4MDgKKwkubG9uZwkxNzAyMTQ5MjA0CisJLmxvbmcJMTA0NjQwNzI1NworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwOTI4NTI2CisJLmxvbmcJMzkzNTMxNDQzOQorCS5sb25nCTEwNDY0MzgyODAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDkxODI2MQorCS5sb25nCTI2NzcwODc2MDkKKwkubG9uZwkxMDQ1NTAxNzQ5CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA5MDgwMTQKKwkubG9uZwk0MTkwNTk4MDM5CisJLmxvbmcJMzE5MzY0MDUxNQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcwODk3Nzg0CisJLmxvbmcJMzY4ODc0MDcyCisJLmxvbmcJMTA0NDg3OTkyNworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwODg3NTcxCisJLmxvbmcJMzU4NDA1MjY5NworCS5sb25nCTMxOTIwMjQ2NjIKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDg3NzM3NQorCS5sb25nCTM3NjIzMDc4MjkKKwkubG9uZwkxMDQ1ODg2OTE4CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzA4NjcxOTcKKwkubG9uZwk0OTU3MTA5MjAKKwkubG9uZwkxMDQ2MzE3MDcyCisJLmxvbmcJMAorCS5sb25nCTEwNzA4NTcwMzYKKwkubG9uZwkyMjkyNzY4MjM4CisJLmxvbmcJMzE5MDg4NzUwOAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwODQ2ODkxCisJLmxvbmcJMTA0NDA3ODE1MQorCS5sb25nCTMxOTM3NzI5MTQKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MDgzNjc2NAorCS5sb25nCTMyNjYwMTA0NTcKKwkubG9uZwkxMDQzNDQzNzU1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA4MjY2NTMKKwkubG9uZwkzNTcxNjY1ODIyCisJLmxvbmcJMTA0NTU0NzgyMworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcwODE2NTYwCisJLmxvbmcJMzkzMzQ4MzQ3CisJLmxvbmcJMzE5MDUyNTE0MworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwODA2NDgzCisJLmxvbmcJNDI0MTcyMjQ5OAorCS5sb25nCTMxOTIwODQxOTMKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDc5NjQyMworCS5sb25nCTE2OTM3OTcwNjgKKwkubG9uZwkzMTkyODA3OTcyCisJLmxvbmcJMAorCS5sb25nCTEwNzA3ODYzODAKKwkubG9uZwkyODYwMDg2NzQ1CisJLmxvbmcJMTA0NjMzMTY0NgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNzc2MzUzCisJLmxvbmcJMTM2NjE0MTc1OQorCS5sb25nCTMxOTI5NzkzNjMKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MDc2NjM0MworCS5sb25nCTczNzg5OTI4MworCS5sb25nCTEwNDU4NTMzNDYKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDc1NjM0OQorCS5sb25nCTg4NzM0ODczCisJLmxvbmcJMTA0Mzg4MTI1NworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwNzQ2MzcyCisJLmxvbmcJMTQzODAwMzMxNQorCS5sb25nCTMxOTI5MTcxMDEKKwkubG9uZwkwCisJLmxvbmcJMTA3MDczNjQxMgorCS5sb25nCTEwNjY1MDU1MzAKKwkubG9uZwkxMDQzODk2Njk1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA3MjY0NjcKKwkubG9uZwkyNzA2NjUzMDQxCisJLmxvbmcJMzE5MTExMzY0MworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwNzE2NTM5CisJLmxvbmcJMTMyMTc2NDQ3NgorCS5sb25nCTEwMzk1NzM3MjQKKwkubG9uZwkwCisJLmxvbmcJMTA3MDcwNjYyOAorCS5sb25nCTExMjY3NTMyMTEKKwkubG9uZwkxMDQ0NTAyOTc2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA2OTY3MzIKKwkubG9uZwk3NzM2NDI4ODQKKwkubG9uZwkxMDQ0MTEwNzI3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzA2ODY4NTMKKwkubG9uZwkxMjYzNzQzNDA2CisJLmxvbmcJMzE5MzExNTI3OAorCS5sb25nCTAKKwkubG9uZwkxMDcwNjc2OTkwCisJLmxvbmcJMzExNTIzNzczMgorCS5sb25nCTMxOTMwODkxNzYKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDY2NzE0MgorCS5sb25nCTM2NDI2MjY4MzgKKwkubG9uZwkzMTkxMTQ2MDMyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA2NTczMTEKKwkubG9uZwkyMDkxNjk2NDI4CisJLmxvbmcJMTA0NDMzNzE3NworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcwNjQ3NDk2CisJLmxvbmcJMzE2ODk1ODM5MQorCS5sb25nCTEwNDQxOTc1NjgKKwkubG9uZwkwCisJLmxvbmcJMTA3MDYzNzY5NworCS5sb25nCTcxMTE0ODY2OQorCS5sb25nCTMxOTMxODEwNDcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDYyNzkxMworCS5sb25nCTQyMDcxODI3NzMKKwkubG9uZwkzMTkzNDAyMDkyCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA2MTgxNDUKKwkubG9uZwk5MTgwNzA2NDAKKwkubG9uZwkzMTkyOTAyODQ1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA2MDgzOTMKKwkubG9uZwkzMTM1NTcxNDQ3CisJLmxvbmcJMzE5MjE5MzkyOAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNTk4NjU3CisJLmxvbmcJMTA0MzcwNTUxNworCS5sb25nCTMxOTMxODg2MDQKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDU4MTc3NworCS5sb25nCTE4ODY2ODA0OTIKKwkubG9uZwkxMDQzODkwMjg2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA1NjIzNjcKKwkubG9uZwkzMzczNzk5NDIwCisJLmxvbmcJMzE5MTkxNzgwMgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNTQyOTg4CisJLmxvbmcJMjkxOTYxODAyNQorCS5sb25nCTMxOTI0NjE3NTIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDUyMzY0MAorCS5sb25nCTI5MjYzNjUxNTgKKwkubG9uZwkzMTkzMTEzNDkyCisJLmxvbmcJMAorCS5sb25nCTEwNzA1MDQzMjMKKwkubG9uZwk1MTk5Nzg2MzgKKwkubG9uZwkxMDQ1OTE4ODQ2CisJLmxvbmcJMAorCS5sb25nCTEwNzA0ODUwMzcKKwkubG9uZwkzNjY1MzUzMTUxCisJLmxvbmcJMzE5MzU0NjI0OAorCS5sb25nCTAKKwkubG9uZwkxMDcwNDY1NzgxCisJLmxvbmcJMjMyNzcxODk1OAorCS5sb25nCTEwNDUwNTA3OTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MDQ0NjU1NgorCS5sb25nCTM0NTMyNjg2MQorCS5sb25nCTMxODgyMjQ3MTYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDQyNzM2MQorCS5sb25nCTIyNjM3NDc0ODgKKwkubG9uZwkzMTkyODcxMzI4CisJLmxvbmcJMAorCS5sb25nCTEwNzA0MDgxOTcKKwkubG9uZwkzODk0MTkyMjY0CisJLmxvbmcJMTA0NTY5MzEyMworCS5sb25nCTAKKwkubG9uZwkxMDcwMzg5MDYzCisJLmxvbmcJOTk0MzIxNTkzCisJLmxvbmcJMTA0NjM0NzIwMworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMzY5OTU5CisJLmxvbmcJMzU0MDM2NjcwMAorCS5sb25nCTEwNDIyOTYyMzAKKwkubG9uZwkwCisJLmxvbmcJMTA3MDM1MDg4NgorCS5sb25nCTk2NjQyMDc1MgorCS5sb25nCTMxOTI0MDA0MTIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDMzMTg0MgorCS5sb25nCTE5NTQ1MTExNjAKKwkubG9uZwkzMTkzNDY3NzYyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzAzMTI4MjgKKwkubG9uZwkxODc1MDAzMDQwCisJLmxvbmcJMTA0NTQ4NTYyOQorCS5sb25nCTAKKwkubG9uZwkxMDcwMjkzODQ1CisJLmxvbmcJNDAwMzM3MjAwNQorCS5sb25nCTMxOTM3MTQxMDkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDI3NDg5MAorCS5sb25nCTIyMTYwODM2NDQKKwkubG9uZwkxMDQ1NzIwMzk5CisJLmxvbmcJMAorCS5sb25nCTEwNzAyNTU5NjYKKwkubG9uZwkxMjQwOTg1NzQzCisJLmxvbmcJMTA0NTg3OTQxNAorCS5sb25nCTAKKwkubG9uZwkxMDcwMjM3MDcxCisJLmxvbmcJMTU3MzA2NDE2MgorCS5sb25nCTEwNDY0Mjc5MTYKKwkubG9uZwkwCisJLmxvbmcJMTA3MDIxODIwNgorCS5sb25nCTI1MDAxNjY1ODIKKwkubG9uZwkzMTkzODQ4MTY5CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzAxOTkzNjkKKwkubG9uZwk4NjIxMzE1MzkKKwkubG9uZwkxMDQ1NjA2MDY1CisJLmxvbmcJMAorCS5sb25nCTEwNzAxODA1NjMKKwkubG9uZwkzNzMzNDI3NjIyCisJLmxvbmcJMzE5MzU0NTk4OAorCS5sb25nCTAKKwkubG9uZwkxMDcwMTYxNzg1CisJLmxvbmcJMTI0NTE1MzU4CisJLmxvbmcJMTA0NTUwNDc2NgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMTQzMDM2CisJLmxvbmcJNjg5MjI4MDA3CisJLmxvbmcJMTA0NDIzODQzNgorCS5sb25nCTAKKwkubG9uZwkxMDcwMTI0MzE3CisJLmxvbmcJOTc2Mjg0ODM1CisJLmxvbmcJMzE4OTg3OTk3OAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMTA1NjI2CisJLmxvbmcJMjk5NzQ0NjIyNAorCS5sb25nCTMxOTMzOTQyNDQKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDA4Njk2NAorCS5sb25nCTU5NDk4NTE2MworCS5sb25nCTMxOTA0NTM0NDcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDA2ODMzMQorCS5sb25nCTM2MzQ0MTEwOTEKKwkubG9uZwkzMTkzMDEyNjYyCisJLmxvbmcJMAorCS5sb25nCTEwNzAwNDk3MjcKKwkubG9uZwk4NDEzMTY0ODIKKwkubG9uZwkzMTkyNTUxNjA0CisJLmxvbmcJMAorCS5sb25nCTEwNzAwMzExNTEKKwkubG9uZwk1MTg5NDk4NDkKKwkubG9uZwkzMTg5NTA1NjkzCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzAwMTI2MDMKKwkubG9uZwkyMDc2MzM2MDQKKwkubG9uZwkxMDQzNzkxMzA1CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk5OTQwODQKKwkubG9uZwk5MjU0MTU2MzEKKwkubG9uZwkzMTg5NjU4NjcwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk5NzU1OTMKKwkubG9uZwkzMzQ4Nzc1MDE1CisJLmxvbmcJMTA0NjIzMTA1NQorCS5sb25nCTAKKwkubG9uZwkxMDY5OTU3MTMxCisJLmxvbmcJNDEzNzU5Mzk2MQorCS5sb25nCTEwNDU3NjA2NDQKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTkzODY5NgorCS5sb25nCTMwODEyMDc5NzIKKwkubG9uZwkxMDQ2MzE5NjUyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk5MjAyOTAKKwkubG9uZwkyOTEyODExODA2CisJLmxvbmcJMzE5MzI1MDg2MworCS5sb25nCTAKKwkubG9uZwkxMDY5OTAxOTEyCisJLmxvbmcJMTcwNDY2MzIzMAorCS5sb25nCTMxOTI2NTExNzEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTg4MzU2MQorCS5sb25nCTE3MjY4ODc0NzMKKwkubG9uZwkzMTkzNDI3ODE3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk4NjUyMzgKKwkubG9uZwk1MTYzMDI4NzMKKwkubG9uZwkxMDQyNTU2OTE5CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk4NDY5NDMKKwkubG9uZwkzNzM3Mjc3Mjg5CisJLmxvbmcJMzE5MjA4MzUwNQorCS5sb25nCTAKKwkubG9uZwkxMDY5ODI4Njc2CisJLmxvbmcJMjgyOTkwOTA2NworCS5sb25nCTMxOTE2Mjg1MjAKKwkubG9uZwkwCisJLmxvbmcJMTA2OTgxMDQzNgorCS5sb25nCTM0NzQ4MDAyOTkKKwkubG9uZwkzMTg3Mzg0OTkxCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk3OTIyMjMKKwkubG9uZwkyMDQxMjkxNzU0CisJLmxvbmcJMzE4NjczNTA0OAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDY5Nzc0MDM4CisJLmxvbmcJMzEwMDczOTI5MAorCS5sb25nCTMxOTI5OTE5NTEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTc1NTg4MAorCS5sb25nCTI2NDE2ODY4NjYKKwkubG9uZwkxMDQyNDQ5ODQ2CisJLmxvbmcJMAorCS5sb25nCTEwNjk3Mzc3NTAKKwkubG9uZwkxMzUzNjEyNDU3CisJLmxvbmcJMzE5MjkyODU0NAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDY5NzE5NjQ2CisJLmxvbmcJMTgyMzM5ODE5MAorCS5sb25nCTMxOTMxMjUxNTYKKwkubG9uZwkwCisJLmxvbmcJMTA2OTcwMTU3MAorCS5sb25nCTI2MjkxMDg1NTgKKwkubG9uZwkzMTkyOTgzMDg5CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk2ODM1MjAKKwkubG9uZwkzMTQ4ODkwODAKKwkubG9uZwkzMTkzMTc4OTQ3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk2NjU0OTcKKwkubG9uZwkzNDI2ODQ2NDcwCisJLmxvbmcJMTA0NjA1NTAzNAorCS5sb25nCTAKKwkubG9uZwkxMDY5NjQ3NTAyCisJLmxvbmcJMjQ1MTUyMTc5OAorCS5sb25nCTMxOTMwODE0NDcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTYyOTUzMgorCS5sb25nCTk2MzIwMDAzMAorCS5sb25nCTEwNDYzMTUwODkKKwkubG9uZwkwCisJLmxvbmcJMTA2OTYxMTU5MAorCS5sb25nCTM2NDQ5NzY5ODcKKwkubG9uZwkxMDQ2NDUwMjk3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk1OTM2NzQKKwkubG9uZwkxNTE0MDQ1ODc0CisJLmxvbmcJMzE5MzMzNzQ4OQorCS5sb25nCTAKKwkubG9uZwkxMDY5NTc1Nzg1CisJLmxvbmcJMjY0MDc1MjYxNQorCS5sb25nCTMxOTI3MzQ3MTUKKwkubG9uZwkwCisJLmxvbmcJMTA2OTU1NzkyMgorCS5sb25nCTE3NzM4MTczMAorCS5sb25nCTMxOTMxMDczNDgKKwkubG9uZwkwCisJLmxvbmcJMTA2OTUzMjY1MAorCS5sb25nCTU0Njg3MTI2OQorCS5sb25nCTEwNDU2MDE4NDcKKwkubG9uZwkwCisJLmxvbmcJMTA2OTQ5NzAyOQorCS5sb25nCTIyMjA0MDgxODcKKwkubG9uZwkxMDQ1OTY0ODQ5CisJLmxvbmcJMAorCS5sb25nCTEwNjk0NjE0NjEKKwkubG9uZwkzMTAxMjA5Nzg0CisJLmxvbmcJMzE5MjQxNzA5OAorCS5sb25nCTAKKwkubG9uZwkxMDY5NDI1OTQ0CisJLmxvbmcJMzc2ODgyNTc4MgorCS5sb25nCTEwNDYxOTYxNzgKKwkubG9uZwkwCisJLmxvbmcJMTA2OTM5MDQ4MAorCS5sb25nCTczNzMwODk0MgorCS5sb25nCTEwNDM4NzI1NTUKKwkubG9uZwkwCisJLmxvbmcJMTA2OTM1NTA2OAorCS5sb25nCTE5NDQ4MDgxMTkKKwkubG9uZwkzMTkzMzYyMzE3CisJLmxvbmcJMAorCS5sb25nCTEwNjkzMTk3MDcKKwkubG9uZwk4NTI0MDYyNjEKKwkubG9uZwkzMTkxMDA0MjUwCisJLmxvbmcJMAorCS5sb25nCTEwNjkyODQzOTgKKwkubG9uZwkzMjAyMzcwNzQzCisJLmxvbmcJMzE5MjU0OTc5NgorCS5sb25nCTAKKwkubG9uZwkxMDY5MjQ5MTQwCisJLmxvbmcJOTAwNjMzOTc1CisJLmxvbmcJMTA0Mzg2MjU3NQorCS5sb25nCTAKKwkubG9uZwkxMDY5MjEzOTM0CisJLmxvbmcJMzQxNzE2ODU2NAorCS5sb25nCTMxOTMyMTMxNjgKKwkubG9uZwkwCisJLmxvbmcJMTA2OTE3ODc3OAorCS5sb25nCTI1MTMzMDk5NzIKKwkubG9uZwkxMDQ2MDUxOTUzCisJLmxvbmcJMAorCS5sb25nCTEwNjkxNDM2NzQKKwkubG9uZwkxODM2ODQ2OTY4CisJLmxvbmcJMTA0NDAzNjY1MworCS5sb25nCTAKKwkubG9uZwkxMDY5MTA4NjIxCisJLmxvbmcJNjc1MzkxMzYyCisJLmxvbmcJMzE5MzMzNDk3MgorCS5sb25nCTAKKwkubG9uZwkxMDY5MDczNjE4CisJLmxvbmcJMTg1OTM5ODA4NgorCS5sb25nCTMxOTE2Njg3MjkKKwkubG9uZwkwCisJLmxvbmcJMTA2OTAzODY2NgorCS5sb25nCTM4MzU5OTQwNDMKKwkubG9uZwkzMTkzMjUyMTk2CisJLmxvbmcJMAorCS5sb25nCTEwNjkwMDM3NjQKKwkubG9uZwk1NjMzMzcyNDYKKwkubG9uZwkzMTkyMDYwNTMwCisJLmxvbmcJMAorCS5sb25nCTEwNjg5Njg5MTIKKwkubG9uZwkzNzE1MTU0MjEwCisJLmxvbmcJMTA0NTU5MjcxNgorCS5sb25nCTAKKwkubG9uZwkxMDY4OTM0MTExCisJLmxvbmcJNTE0MTU2MzYKKwkubG9uZwkzMTkyMTkzOTM5CisJLmxvbmcJMAorCS5sb25nCTEwNjg4OTkzNTkKKwkubG9uZwk4MjIwNDkxMDgKKwkubG9uZwkxMDQ1ODQ2MDgwCisJLmxvbmcJMAorCS5sb25nCTEwNjg4NjQ2NTgKKwkubG9uZwkzNzM5MDQzMzQwCisJLmxvbmcJMzE5MzE4NDk0OQorCS5sb25nCTAKKwkubG9uZwkxMDY4ODMwMDA2CisJLmxvbmcJMjUwMDgyODk5NworCS5sb25nCTMxOTMxMTU2MzgKKwkubG9uZwkwCisJLmxvbmcJMTA2ODc5NTQwMworCS5sb25nCTE0NzkzMzUwODkKKwkubG9uZwkxMDQ1NDU4MjMzCisJLmxvbmcJMAorCS5sb25nCTEwNjg3NjA4NTAKKwkubG9uZwkxOTE0MDk4NTk4CisJLmxvbmcJMTA0NTA3OTgzMworCS5sb25nCTAKKwkubG9uZwkxMDY4NzI2MzQ2CisJLmxvbmcJMTQ3MDM3NDkwOQorCS5sb25nCTEwNDYxMjU0NzEKKwkubG9uZwkwCisJLmxvbmcJMTA2ODY5MTg5MgorCS5sb25nCTIwNDgxMDExODUKKwkubG9uZwkzMTkyOTYwMDI0CisJLmxvbmcJMAorCS5sb25nCTEwNjg2NTc0ODYKKwkubG9uZwk4MDExMDE4MDIKKwkubG9uZwkxMDQyNTIzNDU0CisJLmxvbmcJMAorCS5sb25nCTEwNjg2MjMxMjkKKwkubG9uZwk0MTIxNzE0NjcKKwkubG9uZwkxMDQ0Nzk5NDI1CisJLmxvbmcJMAorCS5sb25nCTEwNjg1ODg4MjEKKwkubG9uZwkyMTI0NTY2MDQ5CisJLmxvbmcJMTA0MDQ1OTg0MworCS5sb25nCTAKKwkubG9uZwkxMDY4NTU0NTYxCisJLmxvbmcJMjA4NzU1ODI2MworCS5sb25nCTEwNDYwODMxMDIKKwkubG9uZwkwCisJLmxvbmcJMTA2ODUyMDM1MAorCS5sb25nCTI5MDM4OTMxNgorCS5sb25nCTEwNDUyMjAwMjMKKwkubG9uZwkwCisJLmxvbmcJMTA2ODQ3MzQzMAorCS5sb25nCTM5MzczNzgxNQorCS5sb25nCTEwNDU3NzAwODUKKwkubG9uZwkwCisJLmxvbmcJMTA2ODQwNTIwMgorCS5sb25nCTMyNzMxMTE2NTgKKwkubG9uZwkzMTkzNTk0MzM2CisJLmxvbmcJMAorCS5sb25nCTEwNjgzMzcwNjgKKwkubG9uZwkzMDc2OTM1NDE5CisJLmxvbmcJMzE5MTk5MzkzNAorCS5sb25nCTAKKwkubG9uZwkxMDY4MjY5MDMwCisJLmxvbmcJMTU2NDI3OTcyMQorCS5sb25nCTEwNDA3MTM2MzIKKwkubG9uZwkwCisJLmxvbmcJMTA2ODIwMTA4OAorCS5sb25nCTE5NTAxMDM3ODcKKwkubG9uZwkzMTkxMjg1NDczCisJLmxvbmcJMAorCS5sb25nCTEwNjgxMzMyNDAKKwkubG9uZwkxMTEzMDE2MTcKKwkubG9uZwkxMDQ2MTQwNDcwCisJLmxvbmcJMAorCS5sb25nCTEwNjgwNjU0ODgKKwkubG9uZwkyNzQwOTMzNjU5CisJLmxvbmcJMTA0NjA5MTg5OAorCS5sb25nCTAKKwkubG9uZwkxMDY3OTk3ODMyCisJLmxvbmcJMTI2NzEzMTQ2MgorCS5sb25nCTMxOTI5NDcwMjQKKwkubG9uZwkwCisJLmxvbmcJMTA2NzkzMDI2OAorCS5sb25nCTYyOTc4NzM0MworCS5sb25nCTEwNDU1OTkxMTQKKwkubG9uZwkwCisJLmxvbmcJMTA2Nzg2MjgwMAorCS5sb25nCTI5NDMwMjk3NDYKKwkubG9uZwkzMTkxMTAwNjIxCisJLmxvbmcJMAorCS5sb25nCTEwNjc3OTU0MjYKKwkubG9uZwkyNTM4NjMxMTUxCisJLmxvbmcJMzE5Mzk1Mzk4OQorCS5sb25nCTAKKwkubG9uZwkxMDY3NzI4MTQ0CisJLmxvbmcJMzg4MTc5NTAzMworCS5sb25nCTMxOTEzNzczNjMKKwkubG9uZwkwCisJLmxvbmcJMTA2NzY2MDk1NgorCS5sb25nCTI3NTI3NDcwNTgKKwkubG9uZwkzMTg2MjUwMTAzCisJLmxvbmcJMAorCS5sb25nCTEwNjc1OTM4NjIKKwkubG9uZwk4OTIxNzAwMTQKKwkubG9uZwkzMTkzMzMwMzkwCisJLmxvbmcJMAorCS5sb25nCTEwNjc1MjY4NjAKKwkubG9uZwkyMDAwOTg1NzgzCisJLmxvbmcJMzE5Mjk2ODY0NworCS5sb25nCTAKKwkubG9uZwkxMDY3NDU5OTUwCisJLmxvbmcJMTk1NDA3NzMwNAorCS5sb25nCTEwNDQzOTk5MDgKKwkubG9uZwkwCisJLmxvbmcJMTA2NzMzNTkwMAorCS5sb25nCTQxMjA3MDI4NDcKKwkubG9uZwkzMTkzMTUwNzMwCisJLmxvbmcJMAorCS5sb25nCTEwNjcyMDI0NDgKKwkubG9uZwkzNTM0ODk5ODAKKwkubG9uZwkxMDQ1Njc2NzQ0CisJLmxvbmcJMAorCS5sb25nCTEwNjcwNjkxODQKKwkubG9uZwkyNjA5NjQzMzI0CisJLmxvbmcJMzE5MjEwODAwMQorCS5sb25nCTAKKwkubG9uZwkxMDY2OTM2MTAwCisJLmxvbmcJMjkwNDQzMzMxNworCS5sb25nCTEwNDQ4MzY1NDEKKwkubG9uZwkwCisJLmxvbmcJMTA2NjgwMzIwMAorCS5sb25nCTMxOTY1Njc5MAorCS5sb25nCTEwNDQ4NjM5MDQKKwkubG9uZwkwCisJLmxvbmcJMTA2NjY3MDQ4NAorCS5sb25nCTI0MDc5ODczMzEKKwkubG9uZwkzMTkyOTk1MDgzCisJLmxvbmcJMAorCS5sb25nCTEwNjY1Mzc5NDgKKwkubG9uZwkyNDM3NzQ2MTIwCisJLmxvbmcJMzE5MzEyNzczMworCS5sb25nCTAKKwkubG9uZwkxMDY2NDA1NTkyCisJLmxvbmcJNzYyNTcwMjE1CisJLmxvbmcJMzE4OTk0Njk5NworCS5sb25nCTAKKwkubG9uZwkxMDY2MTQ1MDQwCisJLmxvbmcJMzMxNzE1OTY5NAorCS5sb25nCTEwNDYwNjAxMjUKKwkubG9uZwkwCisJLmxvbmcJMTA2NTg4MTA1NgorCS5sb25nCTIzMTc4NDU4ODYKKwkubG9uZwkzMTkxNjc5MTc2CisJLmxvbmcJMAorCS5sb25nCTEwNjU2MTc0MjQKKwkubG9uZwkzNjY1MTk1ODE2CisJLmxvbmcJMTA0NTYzMzg1MworCS5sb25nCTAKKwkubG9uZwkxMDY1MzU0MTYwCisJLmxvbmcJMjAwODczMDM1NQorCS5sb25nCTMxOTM4OTgyMTEKKwkubG9uZwkwCisJLmxvbmcJMTA2NDgyOTI2NAorCS5sb25nCTM3NDYyMzYxOTIKKwkubG9uZwkxMDQ2MTIxNDcxCisJLmxvbmcJMAorCS5sb25nCTEwNjQzMDM2ODAKKwkubG9uZwk4ODUyOTY3NTMKKwkubG9uZwkzMTkxODUyNDQxCisJLmxvbmcJMAorCS5sb25nCTEwNjMyNTM2OTYKKwkubG9uZwk0NDk5NzY0OTUKKwkubG9uZwkzMTkyNjgyNjYzCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY1MjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjUyNDgKKwkubG9uZwkwCisJLmxvbmcJMTA3MzE2MDE5MgorCS5sb25nCTM3MDkxMzg1NworCS5sb25nCTMyMTA1ODcxMDUKKwkubG9uZwkxODQxOTE0MTMwCisJLmxvbmcJMzIxMzA1OTQ0OAorCS5sb25nCTM5OTUzNDE5MzgKKwkubG9uZwkzMjE0NjA3MTA1CisJLmxvbmcJMjY3NzM4MTIxMAorCS5sb25nCTMyMTYzMjA3MzEKKwkubG9uZwkzMDExNzc5ODgyCisJLmxvbmcJMzIxODQ3OTU0MgorCS5sb25nCTEzNjc4MzIwMzUKKwkubG9uZwkxMDY2NDAzMDU4CisJLmxvbmcJMjg5NDI4NTI0MworCS5sb25nCTEwNjc5MzY5MjMKKwkubG9uZwkxMjE1MjIxNDUyCisJLmxvbmcJMTA2OTgzNTEwMgorCS5sb25nCTM3MDkxMzg1NworCS5sb25nCTMyMTA1ODcxMDUKKwkubG9uZwkyNjc3MzgxMjEwCisJLmxvbmcJMzIxNjMyMDczMQorCS5sb25nCTQxNzI2NDI0MjkKKwkubG9uZwkxMDU2MDY4MzgyCisJLmxvbmcJMTIxNTIyMTQ1MQorCS5sb25nCTEwNjk4MzUxMDIKKwkubG9uZwkxMDkyNjM4MTU2CisJLmxvbmcJMzE4NDkyNTYxOAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk5OTcxOTU3NzYKKwkubG9uZwk0MjAwMjUwNTU5CisJLmxvbmcJMTA3MjY5NjA5MAorCS5sb25nCTI4MDgxMjczNDUKKwkubG9uZwkzMTYyODMwNTE0CisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzI2OTg5NDEKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNjgxNTkxMworCS5sb25nCTMzOTQxMTU4NQorCS5sb25nCTEwNzI3MDE4MDAKKwkubG9uZwkyNjQ1ODg5ODIKKwkubG9uZwkzMTYyNjg1MjMzCisJLmxvbmcJMTA0ODAxOTA0MQorCS5sb25nCTEwNzI3MDQ2NjYKKwkubG9uZwkxMzk4NDc0ODQ1CisJLmxvbmcJMzE2MTU1OTE3MQorCS5sb25nCTc3MjkxNDEyNAorCS5sb25nCTEwNzI3MDc1NDAKKwkubG9uZwk0MDA0MzcyNzYyCisJLmxvbmcJMTAxMzI3ODczNworCS5sb25nCTM4OTk1NTU3MTcKKwkubG9uZwkxMDcyNzEwNDIxCisJLmxvbmcJNDI3MjgwNzUwCisJLmxvbmcJMzE2MzU5NTU0OAorCS5sb25nCTE5Mjg3NDYxNjEKKwkubG9uZwkxMDcyNzEzMzExCisJLmxvbmcJOTgzNjE3Njc2CisJLmxvbmcJMTAxNTMzMzc1MworCS5sb25nCTM1NDE0MDI5OTYKKwkubG9uZwkxMDcyNzE2MjA4CisJLmxvbmcJMjc1OTE3NzMxNworCS5sb25nCTEwMTU5MDMyMDIKKwkubG9uZwkyMzg4MjEyNTcKKwkubG9uZwkxMDcyNzE5MTE0CisJLmxvbmcJMTQ2OTY5NDg3MQorCS5sb25nCTMxNjM5MzM1NjMKKwkubG9uZwk3MDI0MTI1MTAKKwkubG9uZwkxMDcyNzIyMDI3CisJLmxvbmcJMzgwMzI2NjA4NworCS5sb25nCTMxNjMzMjg5OTEKKwkubG9uZwk3Mjg5MzQ0NTQKKwkubG9uZwkxMDcyNzI0OTQ4CisJLmxvbmcJMTQxMzg0MjY4OAorCS5sb25nCTEwMTUyMjcxODgKKwkubG9uZwk0MTAzNjA3NzYKKwkubG9uZwkxMDcyNzI3ODc3CisJLmxvbmcJMTI2OTk5MDY1NQorCS5sb25nCTEwMTMwMjQ0NDYKKwkubG9uZwk0MTMzODgxODI0CisJLmxvbmcJMTA3MjczMDgxMworCS5sb25nCTIxNDgxNTUzNDUKKwkubG9uZwkzMTYzOTc5ODc1CisJLmxvbmcJMzQwMjAzNjA5OQorCS5sb25nCTEwNzI3MzM3NTgKKwkubG9uZwk0MDU4ODkzMzQKKwkubG9uZwkxMDE2MTU0MjMyCisJLmxvbmcJMjYwMjUxNDcxMworCS5sb25nCTEwNzI3MzY3MTEKKwkubG9uZwkyMjY4OTI5MzM2CisJLmxvbmcJMTAxNTQwMjg2MAorCS5sb25nCTE4MjgyOTI4NzkKKwkubG9uZwkxMDcyNzM5NjcyCisJLmxvbmcJMTI1NTk1Njc0NworCS5sb25nCTEwMTY2MzY5NzQKKwkubG9uZwkxMTcyNTk3ODkzCisJLmxvbmcJMTA3Mjc0MjY0MQorCS5sb25nCTExNDQzMzI2MworCS5sb25nCTEwMTYzOTYxNjkKKwkubG9uZwk3Mjg5MDk4MTUKKwkubG9uZwkxMDcyNzQ1NjE4CisJLmxvbmcJMzgzOTMwMjI1CisJLmxvbmcJMTAxNjA3ODA0NAorCS5sb25nCTU5MDk2MjE1NgorCS5sb25nCTEwNzI3NDg2MDMKKwkubG9uZwkzODI5MzQ2NjY2CisJLmxvbmcJMzE2NDMyNDE3MworCS5sb25nCTg1Mjc0MjU2MgorCS5sb25nCTEwNzI3NTE1OTYKKwkubG9uZwk2NjcyNTM1ODYKKwkubG9uZwkxMDEwODQyMTM1CisJLmxvbmcJMTYwODQ5MzUwOQorCS5sb25nCTEwNzI3NTQ1OTcKKwkubG9uZwkzMTU5NjIyMTcxCisJLmxvbmcJMzE2Mzg1NjMxMworCS5sb25nCTI5NTI3MTI5ODcKKwkubG9uZwkxMDcyNzU3NjA2CisJLmxvbmcJMzI5MzQ5NDY1MQorCS5sb25nCTMxNjExNjg4NzcKKwkubG9uZwk2ODUxODc5MDIKKwkubG9uZwkxMDcyNzYwNjI0CisJLmxvbmcJMzc4NzMxOTg5CisJLmxvbmcJMTAxNTg5MTY5MQorCS5sb25nCTM0OTA4NjM5NTMKKwkubG9uZwkxMDcyNzYzNjQ5CisJLmxvbmcJOTYwNzk3NDk4CisJLmxvbmcJMzE2Mzk5NzQ1NgorCS5sb25nCTI4NzUwNzUyNTQKKwkubG9uZwkxMDcyNzY2NjgzCisJLmxvbmcJNDE0NDIzMzMzMAorCS5sb25nCTMxNjQzODIyOTIKKwkubG9uZwkzMjI4MzE2MTA4CisJLmxvbmcJMTA3Mjc2OTcyNQorCS5sb25nCTMwMTAyNDE5OTEKKwkubG9uZwkzMTU5NDcxMzgwCisJLmxvbmcJMzUxNDA1MjI3CisJLmxvbmcJMTA3Mjc3Mjc3NgorCS5sb25nCTMxMjUzMzczMjgKKwkubG9uZwkzMTYwODcxMDU1CisJLmxvbmcJMjkzMDMyMjkxMgorCS5sb25nCTEwNzI3NzU4MzQKKwkubG9uZwkyNTk5NDk5NDIyCisJLmxvbmcJMzE2Mzc2MjYyMworCS5sb25nCTI0NzE0NDA2ODYKKwkubG9uZwkxMDcyNzc4OTAxCisJLmxvbmcJOTY4ODM2MjY3CisJLmxvbmcJMzE2MzI2MzQ2NAorCS5sb25nCTMzNjYyOTMwNzMKKwkubG9uZwkxMDcyNzgxOTc2CisJLmxvbmcJMzExOTQyNjMxNAorCS5sb25nCTEwMTUxNjkxMzAKKwkubG9uZwkxNDE2NzQxODI2CisJLmxvbmcJMTA3Mjc4NTA2MAorCS5sb25nCTIxOTYzODAyMTAKKwkubG9uZwkxMDEyNDYyMTM5CisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzI3ODgxNTIKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MjYwNzY4MQorCS5sb25nCTIyNTc5NTk4NzIKKwkubG9uZwkxMDcyNzkxMjUyCisJLmxvbmcJMzgwMjk0NjE0OAorCS5sb25nCTEwMTQwMTM1MDMKKwkubG9uZwk5NDg3MzU0NjYKKwkubG9uZwkxMDcyNzk0MzYxCisJLmxvbmcJMzUxNjMzODAyOAorCS5sb25nCTMxNjM2MjM0NTkKKwkubG9uZwkxNDgwMDIzMzQzCisJLmxvbmcJMTA3Mjc5NzQ3OAorCS5sb25nCTIyNDcxOTYxNjgKKwkubG9uZwkxMDE2Mzc2MDI5CisJLmxvbmcJMzk0OTk3MjM0MQorCS5sb25nCTEwNzI4MDA2MDMKKwkubG9uZwkyMDY4NDA4NTQ4CisJLmxvbmcJMTAxNTk2MjQ0NAorCS5sb25nCTQxNjIwMzAxMDgKKwkubG9uZwkxMDcyODAzNzM3CisJLmxvbmcJMjc2MzQyODQ4MAorCS5sb25nCTEwMTY1Nzc5MjUKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MjgwNjg4MAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjQxNjQ5OTgKKwkubG9uZwkyNTAyNDMzODk5CisJLmxvbmcJMTA3MjgxMDAzMQorCS5sb25nCTIxNDg1OTU5MTMKKwkubG9uZwkxMDE2MDcyNTY3CisJLmxvbmcJODI4OTQ2ODU4CisJLmxvbmcJMTA3MjgxMzE5MQorCS5sb25nCTEwNjQyNDkyCisJLmxvbmcJMTAxNjk4ODAxNAorCS5sb25nCTE1ODg4NzEyMDcKKwkubG9uZwkxMDcyODE2MzU5CisJLmxvbmcJMTQzNDM5NTgyCisJLmxvbmcJMzE2NDAxMTk5MgorCS5sb25nCTU4Njk5NTk5NworCS5sb25nCTEwNzI4MTk1MzYKKwkubG9uZwk0MTY2MjM0OAorCS5sb25nCTMxNjM2NzY1NjgKKwkubG9uZwkyMjE4MzE1MzQxCisJLmxvbmcJMTA3MjgyMjcyMQorCS5sb25nCTI2OTQyOTUzODgKKwkubG9uZwkzMTY0MzM3NDQ0CisJLmxvbmcJMjI4ODE1OTk1OAorCS5sb25nCTEwNzI4MjU5MTUKKwkubG9uZwkyMTY5MTQ0NDY5CisJLmxvbmcJMTAxNTkyNDU5NworCS5sb25nCTg5NzA5OTgwMQorCS5sb25nCTEwNzI4MjkxMTgKKwkubG9uZwk3NTQ3NTYyOTcKKwkubG9uZwkxMDE2Mjg5NTgxCisJLmxvbmcJMjQ0MDk0NDc5MAorCS5sb25nCTEwNzI4MzIzMjkKKwkubG9uZwkyNDkyNzY5Nzc0CisJLmxvbmcJMTAxNTE5NjAzMAorCS5sb25nCTI3MjU4NDM2NjUKKwkubG9uZwkxMDcyODM1NTQ5CisJLmxvbmcJMTQzMzkxNzA4NworCS5sb25nCTEwMTU4ODcwOTkKKwkubG9uZwkxODUzMTg2NjE2CisJLmxvbmcJMTA3MjgzODc3OAorCS5sb25nCTMwNjY0OTYzNzEKKwkubG9uZwkxMDE2NzA1MTUwCisJLmxvbmcJNDIxOTYwNjAyNgorCS5sb25nCTEwNzI4NDIwMTUKKwkubG9uZwkyNDM0NTc0NzQyCisJLmxvbmcJMTAxNTczMDEyNAorCS5sb25nCTEzMzcxMDgwMzEKKwkubG9uZwkxMDcyODQ1MjYyCisJLmxvbmcJMzIwMzcyNDQ1MgorCS5sb25nCTEwMTU3MjY0MjEKKwkubG9uZwkxODk3ODQ0MzQxCisJLmxvbmcJMTA3Mjg0ODUxNworCS5sb25nCTEyNTQzMDA0NjAKKwkubG9uZwkxMDE2MzI0NTE0CisJLmxvbmcJMTcwOTM0MTkxNworCS5sb25nCTEwNzI4NTE3ODEKKwkubG9uZwkyNTcxMTY4MjE3CisJLmxvbmcJMTAxNTIwMTA3NQorCS5sb25nCTg3NDM3MjkwNQorCS5sb25nCTEwNzI4NTUwNTQKKwkubG9uZwkxMDAyNjM3ODgKKwkubG9uZwkxMDE2OTg5MzA4CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzI4NTgzMzUKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2NDIyODY2NgorCS5sb25nCTE5NzI0ODQ5NzYKKwkubG9uZwkxMDcyODYxNjI2CisJLmxvbmcJNjc1MjkwMzAxCisJLmxvbmcJMzE2MjY4ODYyNgorCS5sb25nCTQxMTI1MDY1OTMKKwkubG9uZwkxMDcyODY0OTI1CisJLmxvbmcJMjk0NzM1NTIyMQorCS5sb25nCTEwMTU0MTk2MjQKKwkubG9uZwkxNzI0OTc2OTE1CisJLmxvbmcJMTA3Mjg2ODIzNAorCS5sb25nCTQyMDkwOTIyMworCS5sb25nCTMxNjQxNjU5NTUKKwkubG9uZwkzNTA0MDAzNDcyCisJLmxvbmcJMTA3Mjg3MTU1MQorCS5sb25nCTM1OTQwMDEwNjAKKwkubG9uZwkzMTU4Mzc5MjI4CisJLmxvbmcJOTY0MTA3MDU1CisJLmxvbmcJMTA3Mjg3NDg3OAorCS5sb25nCTI4MDA0Mzk1ODgKKwkubG9uZwkzMTYzODgxNzk3CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzI4NzgyMTMKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNjA3MDcyNworCS5sb25nCTUyNjY1MjgwOQorCS5sb25nCTEwNzI4ODE1NTgKKwkubG9uZwk0MjIzNDU5NzM2CisJLmxvbmcJMTAxNjkyNzk1MQorCS5sb25nCTI4Mzk0MjQ4NTQKKwkubG9uZwkxMDcyODg0OTExCisJLmxvbmcJMTE3MTU5NjE2MworCS5sb25nCTEwMTQwOTAyNTUKKwkubG9uZwkxMjUzOTM1MjExCisJLmxvbmcJMTA3Mjg4ODI3NAorCS5sb25nCTEzOTUzODI5MzEKKwkubG9uZwkzMTYwNzUxMTg5CisJLmxvbmcJMTcxMDMwMjkzCisJLmxvbmcJMTA3Mjg5MTY0NgorCS5sb25nCTM1MjY0NjAxMzIKKwkubG9uZwkxMDE1NDc3MzU0CisJLmxvbmcJMzk5MTg0MzU4MQorCS5sb25nCTEwNzI4OTUwMjYKKwkubG9uZwk0MDkyODUzNDU3CisJLmxvbmcJMTAxNTYzNDMzOQorCS5sb25nCTQyMzI4OTQ1MTMKKwkubG9uZwkxMDcyODk4NDE2CisJLmxvbmcJMjM4MzkzODY4NAorCS5sb25nCTEwMTU3MTcwOTUKKwkubG9uZwkxMDAwOTI1NzQ2CisJLmxvbmcJMTA3MjkwMTgxNgorCS5sb25nCTEwMTg0OTE2NzIKKwkubG9uZwkzMTY0MzU4MTIwCisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzI5MDUyMjQKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNjI3Njc2OQorCS5sb25nCTE3MjYyMTY3NDkKKwkubG9uZwkxMDcyOTA4NjQyCisJLmxvbmcJMjQ2NjgwODIyOAorCS5sb25nCTMxNjI3MjQ5ODEKKwkubG9uZwkxNjAzNDQ0NzIxCisJLmxvbmcJMTA3MjkxMjA2OQorCS5sb25nCTE1NDg2MzM2NDAKKwkubG9uZwkzMTYzMjQ5OTAyCisJLmxvbmcJMjczMjQ5Mjg1OQorCS5sb25nCTEwNzI5MTU1MDUKKwkubG9uZwkyNjkxNDc5NjQ2CisJLmxvbmcJMzE2MzMwNDI2MAorCS5sb25nCTkyNjU5MTQzNQorCS5sb25nCTEwNzI5MTg5NTEKKwkubG9uZwkzMjA4ODMzNzYyCisJLmxvbmcJMzE2Mzk2MjA5MAorCS5sb25nCTU4OTE5ODY2NgorCS5sb25nCTEwNzI5MjI0MDYKKwkubG9uZwkyNjY0MzQ2MTcyCisJLmxvbmcJMzE2NDIwNjUzOAorCS5sb25nCTE4MjkwOTk2MjIKKwkubG9uZwkxMDcyOTI1ODcwCisJLmxvbmcJMTAxNjY2MTE4MQorCS5sb25nCTMxNjQ1MDk1ODEKKwkubG9uZwk0NjA0MDcwMjMKKwkubG9uZwkxMDcyOTI5MzQ0CisJLmxvbmcJNDIzNzE3NTA5MgorCS5sb25nCTMxNjQxODcwNDUKKwkubG9uZwk4ODc0NjM5MjcKKwkubG9uZwkxMDcyOTMyODI3CisJLmxvbmcJMzU5Njc0NDE2MworCS5sb25nCTMxNjE4NDI3NDIKKwkubG9uZwkzMjE5OTQyNjQ0CisJLmxvbmcJMTA3MjkzNjMxOQorCS5sb25nCTM3OTg5OTA2MTYKKwkubG9uZwkxMDE2NDE3MzgyCisJLmxvbmcJMzI3Mjg0NTU0MQorCS5sb25nCTEwNzI5Mzk4MjEKKwkubG9uZwk5Mjg4NTI0MTkKKwkubG9uZwkzMTY0NTM2ODI0CisJLmxvbmcJMTE1NjQ0MDQzNQorCS5sb25nCTEwNzI5NDMzMzMKKwkubG9uZwkyMzUxNDUxMjQ5CisJLmxvbmcJMTAxNTAxNTYzMgorCS5sb25nCTEyNzYyNjE0MTAKKwkubG9uZwkxMDcyOTQ2ODU0CisJLmxvbmcJMzAwOTgxOTQ4CisJLmxvbmcJMTAxNTczMjc0NQorCS5sb25nCTM3NDMxNzUwMjkKKwkubG9uZwkxMDcyOTUwMzg0CisJLmxvbmcJMjA3MjgxMjQ5MAorCS5sb25nCTMxNjMyMjM2NTEKKwkubG9uZwk3ODQxMzg1MgorCS5sb25nCTEwNzI5NTM5MjUKKwkubG9uZwk0MTgzMjI2ODY3CisJLmxvbmcJMzE2NDA2NTgyNworCS5sb25nCTMyNzgzNDgzMjQKKwkubG9uZwkxMDcyOTU3NDc0CisJLmxvbmcJMzA2OTQ5NzQxNgorCS5sb25nCTEwMTU3OTkyODgKKwkubG9uZwk1Njk4NDczMzgKKwkubG9uZwkxMDcyOTYxMDM0CisJLmxvbmcJNDcyOTQ1MjcyCisJLmxvbmcJMzE2MDMzOTMwNQorCS5sb25nCTY1NDkxOTMwNgorCS5sb25nCTEwNzI5NjQ2MDMKKwkubG9uZwkzMjMyOTYxNzU3CisJLmxvbmcJMzE2NDA5NjA0NQorCS5sb25nCTM2NDU5NDE5MTEKKwkubG9uZwkxMDcyOTY4MTgxCisJLmxvbmcJMzgxNDY4NTA4MQorCS5sb25nCTMxNjI2MjE5MTcKKwkubG9uZwkxMDY1NjYyOTMyCisJLmxvbmcJMTA3Mjk3MTc3MAorCS5sb25nCTI1MzM2NzA5MTUKKwkubG9uZwkxMDE1NTc4ODE0CisJLmxvbmcJMTYxNzAwNDg0NQorCS5sb25nCTEwNzI5NzUzNjgKKwkubG9uZwk4MjgwNDk0NAorCS5sb25nCTEwMTEzOTEzNTQKKwkubG9uZwkxMTE4Mjk0NTc4CisJLmxvbmcJMTA3Mjk3ODk3NgorCS5sb25nCTIxOTc0OTU2OTQKKwkubG9uZwkzMTYwOTU3OTc3CisJLmxvbmcJMzk3ODEwMDgyMworCS5sb25nCTEwNzI5ODI1OTMKKwkubG9uZwkzNTEzMDI3MTkwCisJLmxvbmcJMTAxNjg5NDUzOQorCS5sb25nCTE3MjAzOTgzOTEKKwkubG9uZwkxMDcyOTg2MjIxCisJLmxvbmcJMzk4MDY3ODk2MworCS5sb25nCTMxNjQzNDg2NTYKKwkubG9uZwkzMDQ5MzQwMTEyCisJLmxvbmcJMTA3Mjk4OTg1OAorCS5sb25nCTMwNjI5MTU4MjQKKwkubG9uZwkxMDE0MjE5MTcxCisJLmxvbmcJMzc4NDQ4NjYxMAorCS5sb25nCTEwNzI5OTM1MDUKKwkubG9uZwkxNTgxODgzMDQwCisJLmxvbmcJMzE2Mjc0NzUyOQorCS5sb25nCTQwNDA2NzYzMTgKKwkubG9uZwkxMDcyOTk3MTYyCisJLmxvbmcJNDA5MDYwOTIzOAorCS5sb25nCTEwMTY3MTIwMzQKKwkubG9uZwkzOTMzMDU5MDMxCisJLmxvbmcJMTA3MzAwMDgyOQorCS5sb25nCTIxMzMzNjY3NjgKKwkubG9uZwkzMTYyNTgwNDA4CisJLmxvbmcJMzU3NzA5Njc0MworCS5sb25nCTEwNzMwMDQ1MDYKKwkubG9uZwkyOTUxNDk2NDE4CisJLmxvbmcJMTAxNDg0MjI2MworCS5sb25nCTMwODg1NjQ1MDAKKwkubG9uZwkxMDczMDA4MTkzCisJLmxvbmcJMTc2MjMxMTUxNworCS5sb25nCTEwMTYwOTQyNDkKKwkubG9uZwkyNTgzNTUxMjQ1CisJLmxvbmcJMTA3MzAxMTg5MAorCS5sb25nCTMxNjEwOTQxOTUKKwkubG9uZwkxMDE2NjU1MDY3CisJLmxvbmcJMjE3ODQ2MDY3MQorCS5sb25nCTEwNzMwMTU1OTcKKwkubG9uZwk3Nzc4NzgwOTgKKwkubG9uZwkzMTYzODkxMDY5CisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzMwMTkzMTQKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2Mzg2MTc2OQorCS5sb25nCTIxMzUyNDExOTgKKwkubG9uZwkxMDczMDIzMDQxCisJLmxvbmcJMTIzNjc0Nzg3MQorCS5sb25nCTEwMTQ2Mzc3MjMKKwkubG9uZwkyNzMxNTAxMTIyCisJLmxvbmcJMTA3MzAyNjc3OAorCS5sb25nCTE3NzQwMzE4NTUKKwkubG9uZwkzMTYzNTE4NTk3CisJLmxvbmcJMzg5NjQ2MzA4NworCS5sb25nCTEwNzMwMzA1MjUKKwkubG9uZwkxMTM5Nzk3ODczCisJLmxvbmcJMzE2MjI4MjM4MQorCS5sb25nCTE0NTMxNTAwODIKKwkubG9uZwkxMDczMDM0MjgzCisJLmxvbmcJNDk4MTU0NjY5CisJLmxvbmcJMzE2MjUzNjYzOAorCS5sb25nCTQxMDk4MDY4ODcKKwkubG9uZwkxMDczMDM4MDUwCisJLmxvbmcJNDIyNDAzOTY2CisJLmxvbmcJMTAxNTUxNzgwNQorCS5sb25nCTMzOTUxMjk4NzEKKwkubG9uZwkxMDczMDQxODI4CisJLmxvbmcJNDAyNTM0NTQzNQorCS5sb25nCTMxNjMzODM5NjQKKwkubG9uZwkzNzIzMDM4OTMwCisJLmxvbmcJMTA3MzA0NTYxNgorCS5sb25nCTM3ODQ2NTI2NAorCS5sb25nCTMxNjM2MTgxNTgKKwkubG9uZwk5MTc4NDE4ODIKKwkubG9uZwkxMDczMDQ5NDE1CisJLmxvbmcJMTg3MTU1NjUKKwkubG9uZwkxMDE2NzA3ODg0CisJLmxvbmcJMzY4OTA3MTgyMworCS5sb25nCTEwNzMwNTMyMjMKKwkubG9uZwkyMzIxMDA0OTk2CisJLmxvbmcJMzE2MzYwMTI5MgorCS5sb25nCTM1NjY3MTY5MjUKKwkubG9uZwkxMDczMDU3MDQyCisJLmxvbmcJMTUzNjgyNjg1NgorCS5sb25nCTEwMTUxOTEwMDkKKwkubG9uZwk2NzEwMjUxMDAKKwkubG9uZwkxMDczMDYwODcyCisJLmxvbmcJMzgzMjAxNDM1MQorCS5sb25nCTMxNjQwNzA2MDYKKwkubG9uZwkzNzEyNTA0ODczCisJLmxvbmcJMTA3MzA2NDcxMQorCS5sb25nCTg4NDkxOTQ5CisJLmxvbmcJMTAxNjQ3NjIzNgorCS5sb25nCTQyMjIxMjI0OTkKKwkubG9uZwkxMDczMDY4NTYxCisJLmxvbmcJMTI3NzM3ODA3NAorCS5sb25nCTMxNjQzMDUzMTMKKwkubG9uZwkyMzIxMTA2NjE1CisJLmxvbmcJMTA3MzA3MjQyMgorCS5sb25nCTIxNzExNzY2MTAKKwkubG9uZwkxMDEwNTg0MzQ3CisJLmxvbmcJMjQyNTk4MTg0MworCS5sb25nCTEwNzMwNzYyOTMKKwkubG9uZwkyODMwMzkwODUxCisJLmxvbmcJMzE2NDM5NTE3NQorCS5sb25nCTM2MzY2Nzc4NAorCS5sb25nCTEwNzMwODAxNzUKKwkubG9uZwk4MTM3NTM5NTAKKwkubG9uZwkxMDE2ODMzNzg1CisJLmxvbmcJNTUxMzQ5MTA1CisJLmxvbmcJMTA3MzA4NDA2NworCS5sb25nCTM4MjE5MTYwNTAKKwkubG9uZwkzMTYzMTU1MTY1CisJLmxvbmcJMzExMTU3NDUzNworCS5sb25nCTEwNzMwODc5NjkKKwkubG9uZwkyNjA2MTYxNDc5CisJLmxvbmcJMzE2MzgwODMyMgorCS5sb25nCTM4NzIyNTc3ODAKKwkubG9uZwkxMDczMDkxODgyCisJLmxvbmcJMTI1MzU5MjEwMworCS5sb25nCTEwMTcwMDY5MTAKKwkubG9uZwkyOTU2NjEyOTk3CisJLmxvbmcJMTA3MzA5NTgwNgorCS5sb25nCTIxMTgxNjk3NTEKKwkubG9uZwkzMTYzNzg0MTI5CisJLmxvbmcJNDg4MTg4NDEzCisJLmxvbmcJMTA3MzA5OTc0MQorCS5sb25nCTMxOTk4MjEwMjkKKwkubG9uZwkxMDE2NjEyNjI0CisJLmxvbmcJODg1ODM0NTI4CisJLmxvbmcJMTA3MzEwMzY4NgorCS5sb25nCTE5NzMyNTg1NDcKKwkubG9uZwkzMTYzMzEwMTQwCisJLmxvbmcJNDI3Mzc3MDQyMworCS5sb25nCTEwNzMxMDc2NDEKKwkubG9uZwkzMzgzMTgwODA5CisJLmxvbmcJMzE2NDI2NzQ3NworCS5sb25nCTIxODY2MTczODEKKwkubG9uZwkxMDczMTExNjA4CisJLmxvbmcJMjI3MDc2NDA4NAorCS5sb25nCTMxNjQzMjEyODkKKwkubG9uZwkzMzM5MjAzNTc0CisJLmxvbmcJMTA3MzExNTU4NQorCS5sb25nCTE0ODM0OTc3ODAKKwkubG9uZwkzMTYzNDU3MzMwCisJLmxvbmcJMzU2MTc5MzkwNworCS5sb25nCTEwNzMxMTk1NzMKKwkubG9uZwkxMTU3MDU0MDUzCisJLmxvbmcJMTAxMjkzODkyNgorCS5sb25nCTI5Nzk5NjAxMjAKKwkubG9uZwkxMDczMTIzNTcyCisJLmxvbmcJMjU5OTEwOTcyNQorCS5sb25nCTEwMTU1NDcwNjkKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MzEyNzU4MgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjQzMzEzMTYKKwkubG9uZwk0MjAxOTc3NjYyCisJLmxvbmcJMTA3MzEzMTYwMgorCS5sb25nCTc0ODMzMDI1NAorCS5sb25nCTEwMTQ2NDI5MzMKKwkubG9uZwkxOTYzNzExMTY3CisJLmxvbmcJMTA3MzEzNTYzNAorCS5sb25nCTE3NDQ3Njc3NTcKKwkubG9uZwkzMTYxNjIyODcwCisJLmxvbmcJMzcyMTY4ODY0NQorCS5sb25nCTEwNzMxMzk2NzYKKwkubG9uZwkzMDY5Mjc2OTM3CisJLmxvbmcJMTAxNjg4Nzk3NworCS5sb25nCTEwMTMyNTg3OTkKKwkubG9uZwkxMDczMTQzNzMwCisJLmxvbmcJMTc0ODc5NzYxMQorCS5sb25nCTMxNjExNzc2NTgKKwkubG9uZwkyNTU1OTg0NjEzCisJLmxvbmcJMTA3MzE0Nzc5NAorCS5sb25nCTI2NTI1NTU0NDIKKwkubG9uZwkzMTYzNjAxMjY4CisJLmxvbmcJNDE4Mjg3MzIyMAorCS5sb25nCTEwNzMxNTE4NjkKKwkubG9uZwk2Mjk1NDI2NDYKKwkubG9uZwkzMTYzMDQ0ODc5CisJLmxvbmcJMTcyNzI3ODcyNworCS5sb25nCTEwNzMxNTU5NTYKKwkubG9uZwkzNTYyNzEwNjIzCisJLmxvbmcJMTAxMjUyMDUxNgorCS5sb25nCTM5MDc4MDUwNDQKKwkubG9uZwkxMDczMTYwMDUzCisJLmxvbmcJMjI1NzA5MTIyNQorCS5sb25nCTMxNjI1OTg5ODMKKwkubG9uZwkyMjYzNTM1NzU0CisJLmxvbmcJMTA3MzE2NDE2MgorCS5sb25nCTc1MjIzMzU4NgorCS5sb25nCTMxNjM2ODc1ODQKKwkubG9uZwkxMjE4ODA2MTMyCisJLmxvbmcJMTA3MzE2ODI4MgorCS5sb25nCTE4MTg2MTMwNTIKKwkubG9uZwkzMTYzNTk3MDE3CisJLmxvbmcJOTAzMzM0OTA5CisJLmxvbmcJMTA3MzE3MjQxMworCS5sb25nCTE2MzY0NjIxMDgKKwkubG9uZwkxMDE2MDg4NTczCisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzMxNzY1NTUKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MzU2MzA5NworCS5sb25nCTI5ODA4MDIwNTcKKwkubG9uZwkxMDczMTgwNzA4CisJLmxvbmcJMzc4NjE5ODk2CisJLmxvbmcJMTAxNjgyMTg3OQorCS5sb25nCTEzMzk5NzI5MjcKKwkubG9uZwkxMDczMTg0ODczCisJLmxvbmcJMTY3OTA4OTA5CisJLmxvbmcJMTAxNjYyMDcyOAorCS5sb25nCTk1MDgwMzcwMgorCS5sb25nCTEwNzMxODkwNDkKKwkubG9uZwkxNjU1MzY0OTI2CisJLmxvbmcJMTAxNjI4NTYwOAorCS5sb25nCTE5NDQ3ODExOTEKKwkubG9uZwkxMDczMTkzMjM2CisJLmxvbmcJMzk5MzI3ODc2NworCS5sb25nCTMxNjI3NzI4NTUKKwkubG9uZwkxNTg3ODE0MDMKKwkubG9uZwkxMDczMTk3NDM1CisJLmxvbmcJMjIyMTQ2NDcxMgorCS5sb25nCTMxNjQzMzUwMjkKKwkubG9uZwkxOTk3MjQwMgorCS5sb25nCTEwNzMyMDE2NDUKKwkubG9uZwkzNTA3ODk5ODYyCisJLmxvbmcJMTAxNzA1Nzg2OAorCS5sb25nCTE2NjA5MTMzOTIKKwkubG9uZwkxMDczMjA1ODY2CisJLmxvbmcJNDIxODU5OTYwNAorCS5sb25nCTEwMTYxODQyODMKKwkubG9uZwk5MTk1NTU2ODIKKwkubG9uZwkxMDczMjEwMDk5CisJLmxvbmcJMzEyMTk2OTUzNAorCS5sb25nCTEwMTM5OTY4MDIKKwkubG9uZwkyMjI0MTQ1NTUzCisJLmxvbmcJMTA3MzIxNDM0MworCS5sb25nCTM0ODI1MjIwMzAKKwkubG9uZwkzMTYyNTM3NzQ1CisJLmxvbmcJMTQxMzM1NjA1MAorCS5sb25nCTEwNzMyMTg1OTkKKwkubG9uZwkxNjUxMzQ5MjkxCisJLmxvbmcJMzE2MzcxNjc0MgorCS5sb25nCTI5MTYxNTcxNDUKKwkubG9uZwkxMDczMjIyODY2CisJLmxvbmcJMjE5NDg3NTY1CisJLmxvbmcJMTAxNjM1Nzk0MworCS5sb25nCTI1NzE5NDc1MzkKKwkubG9uZwkxMDczMjI3MTQ1CisJLmxvbmcJMzU1ODE1OTA2NAorCS5sb25nCTMxNjQ0MjUyNDUKKwkubG9uZwk1MTU0NTc1MjcKKwkubG9uZwkxMDczMjMxNDM2CisJLmxvbmcJODM2NzA5MzMzCisJLmxvbmcJMTAxNjY5OTgwMgorCS5sb25nCTExNzY3NDk5OTcKKwkubG9uZwkxMDczMjM1NzM4CisJLmxvbmcJMjczODk5ODc3OQorCS5sb25nCTMxNjMwODQ0MjAKKwkubG9uZwkzOTYzMTk1MjEKKwkubG9uZwkxMDczMjQwMDUyCisJLmxvbmcJNDE3MjQyMDgxNgorCS5sb25nCTMxNjAxMjMyMDgKKwkubG9uZwkyNjA0OTYyNTQxCisJLmxvbmcJMTA3MzI0NDM3NworCS5sb25nCTI2MTQ0MjUyNzQKKwkubG9uZwkzMTY0NTg3NzY4CisJLmxvbmcJMzY0MzkwOTE3NAorCS5sb25nCTEwNzMyNDg3MTQKKwkubG9uZwkzNTM3NTg2MTA5CisJLmxvbmcJMTAxNTQwMzIyMworCS5sb25nCTM2NDk3MjYxMDUKKwkubG9uZwkxMDczMjUzMDYzCisJLmxvbmcJNDA4NTAzNjM0NgorCS5sb25nCTEwMTY2OTgwNTAKKwkubG9uZwkyNzU5MzUwMjg3CisJLmxvbmcJMTA3MzI1NzQyNAorCS5sb25nCTExNDg1MjY2MzQKKwkubG9uZwkxMDE2OTQzNTA5CisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzMyNjE3OTcKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNjUyMzI0OQorCS5sb25nCTMxMzQ1OTI4ODgKKwkubG9uZwkxMDczMjY2MTgxCisJLmxvbmcJNDIzMjI2Njg2MgorCS5sb25nCTEwMTcwMzk3MTAKKwkubG9uZwkzODA5NzgzMTYKKwkubG9uZwkxMDczMjcwNTc4CisJLmxvbmcJODU0MTg4OTcwCisJLmxvbmcJMzE2MTUxMTI2MgorCS5sb25nCTE1Nzc2MDg5MjEKKwkubG9uZwkxMDczMjc0OTg2CisJLmxvbmcJMTg3NTQ4OTUxMAorCS5sb25nCTMxNjQwMTY5NzAKKwkubG9uZwkyNTY4MzIwODIyCisJLmxvbmcJMTA3MzI3OTQwNgorCS5sb25nCTI3MzI4MjQ0MjgKKwkubG9uZwkxMDE1NDAxNDkxCisJLmxvbmcJMzQ5MjI5Mzc3MAorCS5sb25nCTEwNzMyODM4MzgKKwkubG9uZwkyMjQ4MDMyMjEwCisJLmxvbmcJMTAxNjQzNTQwMgorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzMyODgyODMKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTY0NDYwNjY1CisJLmxvbmcJMTQwMzY2MjMwNgorCS5sb25nCTEwNzMyOTI3MzkKKwkubG9uZwkyNzg4ODA5NTk5CisJLmxvbmcJMzE2MjcxOTU4MworCS5sb25nCTI5NjYyNzU1NTcKKwkubG9uZwkxMDczMjk3MjA3CisJLmxvbmcJMjE3NjE1NTMyNAorCS5sb25nCTMxNjA4OTEzMzUKKwkubG9uZwk3Mjc2ODUzNDkKKwkubG9uZwkxMDczMzAxNjg4CisJLmxvbmcJMjAzODI0NjgwOQorCS5sb25nCTMxNjM0MDczMTgKKwkubG9uZwkzNDE4OTAzMDU1CisJLmxvbmcJMTA3MzMwNjE4MAorCS5sb25nCTI1Mjc0NTczMzcKKwkubG9uZwkzMTYxODY5MTgwCisJLmxvbmcJMjU5MTQ1MzM2MworCS5sb25nCTEwNzMzMTA2ODUKKwkubG9uZwkyMTMyMzk2MTgyCisJLmxvbmcJMzE2MDEyMjc3NAorCS5sb25nCTI2ODIxNDYzODQKKwkubG9uZwkxMDczMzE1MjAyCisJLmxvbmcJMjA4MjE3ODUxMworCS5sb25nCTMxNjQ0MTE5OTUKKwkubG9uZwkzODMzMjA5NTA2CisJLmxvbmcJMTA3MzMxOTczMQorCS5sb25nCTI3MjI5MjA2ODQKKwkubG9uZwkxMDE0ODAzNDE4CisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzMzMjQyNzMKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MzY0ODk1NworCS5sb25nCTEyOTczNTAxNTcKKwkubG9uZwkxMDczMzI4ODI3CisJLmxvbmcJMTMwODAyMjA0MAorCS5sb25nCTMxNjQ0NjExMzQKKwkubG9uZwkyMTkxNzgyMDMyCisJLmxvbmcJMTA3MzMzMzM5MworCS5sb25nCTI5NjAyNTc3MjYKKwkubG9uZwkxMDE0NzkxMjM4CisJLmxvbmcJNDI0MzkyOTE3CisJLmxvbmcJMTA3MzMzNzk3MgorCS5sb25nCTI3NDkyMDI5OTUKKwkubG9uZwkzMTYzODg3Mjk0CisJLmxvbmcJNDM0MzE2MDY3CisJLmxvbmcJMTA3MzM0MjU2MworCS5sb25nCTIwMjgzNTg3NjYKKwkubG9uZwkxMDE0NTA2Njk4CisJLmxvbmcJMjM2NjEwODMxOAorCS5sb25nCTEwNzMzNDcxNjYKKwkubG9uZwkyODY3OTg1MTAyCisJLmxvbmcJMzE2MjgxMDgzMAorCS5sb25nCTIwNjk3NTExNDEKKwkubG9uZwkxMDczMzUxNzgyCisJLmxvbmcJMTU2MjE3MDY3NQorCS5sb25nCTMxNjM3NzMyNTcKKwkubG9uZwkzOTg1NTUzNTk1CisJLmxvbmcJMTA3MzM1NjQxMAorCS5sb25nCTQwMDIxNDYwNjIKKwkubG9uZwkxMDE2ODgyNzEyCisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzMzNjEwNTEKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNjQ3NTc0MAorCS5sb25nCTIxNTIwNzM5NDQKKwkubG9uZwkxMDczMzY1NzA1CisJLmxvbmcJMTQ4Njg2MDU3NgorCS5sb25nCTMxNjQyNTIwMzIKKwkubG9uZwkyOTkwNDE3MjQ1CisJLmxvbmcJMTA3MzM3MDM3MQorCS5sb25nCTM2ODM0Njc3NDUKKwkubG9uZwkzMTY0NDE3OTAyCisJLmxvbmcJMjMzMTI3MTI1MAorCS5sb25nCTEwNzMzNzUwNTAKKwkubG9uZwk4MTIwNTc0NDYKKwkubG9uZwkxMDEzMjU2MDIyCisJLmxvbmcJMzIxOTU4NzQ0CisJLmxvbmcJMTA3MzM3OTc0MgorCS5sb25nCTM0MDE5MzM3NjcKKwkubG9uZwkxMDE2ODQzMTM0CisJLmxvbmcJMTQwNTE2OTI0MQorCS5sb25nCTEwNzMzODQ0NDYKKwkubG9uZwkyOTk4NTM5Njg5CisJLmxvbmcJMzE2Mzg3OTUyNworCS5sb25nCTE0MzQwNTgxNzUKKwkubG9uZwkxMDczMzg5MTYzCisJLmxvbmcJMjUxMTMzMjMzCisJLmxvbmcJMTAxNjEzNDM0NQorCS5sb25nCTU1NzE0OTg4MgorCS5sb25nCTEwNzMzOTM4OTMKKwkubG9uZwkzNjcyNzIwNzA5CisJLmxvbmcJMTAxNTU4NTg0MQorCS5sb25nCTMyMTgzMzg2ODIKKwkubG9uZwkxMDczMzk4NjM1CisJLmxvbmcJMzQwNDE2NDMwNAorCS5sb25nCTMxNjM1MjU2ODQKKwkubG9uZwk5NzcwMjA3ODgKKwkubG9uZwkxMDczNDAzMzkxCisJLmxvbmcJMzA2NTEwMDUxNworCS5sb25nCTEwMTY1OTAxMzkKKwkubG9uZwkyNTcyODY2NDc3CisJLmxvbmcJMTA3MzQwODE1OQorCS5sb25nCTg3ODU2MjQzMworCS5sb25nCTEwMTY1NzAzMTcKKwkubG9uZwkzODYxMDUwMTExCisJLmxvbmcJMTA3MzQxMjk0MAorCS5sb25nCTI1NDg5Mzc3MworCS5sb25nCTMxNjM4NjE3NTYKKwkubG9uZwk2OTcxNTMxMjYKKwkubG9uZwkxMDczNDE3NzM1CisJLmxvbmcJMTI4MzUxNTQyOQorCS5sb25nCTMxNjQzMzE3NjUKKwkubG9uZwkxODIyMDY3MDI2CisJLmxvbmcJMTA3MzQyMjU0MgorCS5sb25nCTEyNDE5OTQ5NTYKKwkubG9uZwkxMDE2Mzg4ODY2CisJLmxvbmcJMzA5MjE5MDcxNQorCS5sb25nCTEwNzM0MjczNjIKKwkubG9uZwk4MTQwMTIxNjgKKwkubG9uZwkzMTYwNTcxOTk4CisJLmxvbmcJMzY0MzMzNDg5CisJLmxvbmcJMTA3MzQzMjE5NgorCS5sb25nCTM5MjM3Mzc3NDQKKwkubG9uZwkzMTYyNDY5OTQ5CisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzM0MzcwNDIKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2NDM2OTM3NQorCS5sb25nCTcwMzcxMDUwNgorCS5sb25nCTEwNzM0NDE5MDIKKwkubG9uZwkxMzg0NjYwODQ2CisJLmxvbmcJMTAxNjI0NDQ2NworCS5sb25nCTQwNzY1NTk5NDMKKwkubG9uZwkxMDczNDQ2Nzc0CisJLmxvbmcJMjExOTQ3ODMzMQorCS5sb25nCTMxNjE4MDY5MjcKKwkubG9uZwk0MDYyNjYxMDkyCisJLmxvbmcJMTA3MzQ1MTY2MAorCS5sb25nCTE0MjI2MTYwMDYKKwkubG9uZwkzMTY0MzAzODk0CisJLmxvbmcJODE1ODU5Mjc0CisJLmxvbmcJMTA3MzQ1NjU2MAorCS5sb25nCTI0MDM5NjU5MAorCS5sb25nCTMxNjQ1MzYwMTkKKwkubG9uZwkzMDgwMzUxNTE5CisJLmxvbmcJMTA3MzQ2MTQ3MgorCS5sb25nCTMzNzkxMjY3ODkKKwkubG9uZwkzMTU4MjY2NTc3CisJLmxvbmcJMjQyMDg4MzkyMgorCS5sb25nCTEwNzM0NjYzOTgKKwkubG9uZwkyMDQ5ODEwMDUyCisJLmxvbmcJMTAxNTE2ODQ2NAorCS5sb25nCTMyODc1MjM4NDcKKwkubG9uZwkxMDczNDcxMzM3CisJLmxvbmcJMTYyNTk3MTUzOQorCS5sb25nCTMxNTgwNTg1MzEKKwkubG9uZwkxNTQwODI0NTg1CisJLmxvbmcJMTA3MzQ3NjI5MAorCS5sb25nCTEwNjQwMTcwMTEKKwkubG9uZwkzMTY0NTM2MjY2CisJLmxvbmcJMTYzMTY5NTY3NworCS5sb25nCTEwNzM0ODEyNTYKKwkubG9uZwkyNzE3NjMzMDc2CisJLmxvbmcJMzE2MzM5MjYwMgorCS5sb25nCTM3MTY1MDIxNzIKKwkubG9uZwkxMDczNDg2MjM1CisJLmxvbmcJMjMwMzc0MDEyNQorCS5sb25nCTEwMTUwOTEzMDEKKwkubG9uZwkzNjU3MDY1NzcyCisJLmxvbmcJMTA3MzQ5MTIyOAorCS5sb25nCTM5OTAyNTYyMworCS5sb25nCTMxNjQwMDU2NTQKKwkubG9uZwkxNjEwNjAwNTcwCisJLmxvbmcJMTA3MzQ5NjIzNQorCS5sb25nCTM3NjY3MzIyOTgKKwkubG9uZwkxMDE2ODA4NzU5CisJLmxvbmcJMjAyOTcxNDIxMAorCS5sb25nCTEwNzM1MDEyNTUKKwkubG9uZwk2MTM2NjAwNzkKKwkubG9uZwkxMDE2MTQ3NzE5CisJLmxvbmcJNzc3NTA3MTQ3CisJLmxvbmcJMTA3MzUwNjI4OQorCS5sb25nCTQyODI5MjQyMDUKKwkubG9uZwkxMDE2MjM2MTA5CisJLmxvbmcJMjMwNzQ0Mjk5NQorCS5sb25nCTEwNzM1MTEzMzYKKwkubG9uZwkzMTkwMTE3NzIxCisJLmxvbmcJMzE2MzQ1MzExNQorCS5sb25nCTI0ODM0ODA1MDEKKwkubG9uZwkxMDczNTE2Mzk3CisJLmxvbmcJMTIxNjM3MTc4MAorCS5sb25nCTEwMTQwODI3NDgKKwkubG9uZwkxNDY0OTc2NjAzCisJLmxvbmcJMTA3MzUyMTQ3MgorCS5sb25nCTM1MDcyOTI0MDUKKwkubG9uZwkzMTYzMDI2MTEwCisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzM1MjY1NjAKKwkubG9uZwkzNTIxNzI2OTM5CisJLmxvbmcJMTAxNDMwMTY0MworCS5sb25nCTc3ODkwMTEwOQorCS5sb25nCTEwNzM1MzE2NjMKKwkubG9uZwkyMjQ4MTgzOTU0CisJLmxvbmcJMzE2MjMxNzMyNworCS5sb25nCTE0MzIyMDgzNzgKKwkubG9uZwkxMDczNTM2Nzc5CisJLmxvbmcJMTQwMTA2ODkxNAorCS5sb25nCTMxNjM0MTI1MzkKKwkubG9uZwkxNTMyNzM0MzI0CisJLmxvbmcJMTA3MzU0MTkwOQorCS5sb25nCTMwOTQyMTY1MzUKKwkubG9uZwkzMTY0MjExNDMzCisJLmxvbmcJMTI0MjAwNzkzMgorCS5sb25nCTEwNzM1NDcwNTMKKwkubG9uZwkxMTMyMDM0NzE2CisJLmxvbmcJMzE2NDM4ODQwNworCS5sb25nCTcyMTk5NjEzNgorCS5sb25nCTEwNzM1NTIyMTEKKwkubG9uZwk1NjM3NTQ3MzQKKwkubG9uZwkxMDE2NDE5ODk0CisJLmxvbmcJMTM1MTA1MDEwCisJLmxvbmcJMTA3MzU1NzM4MworCS5sb25nCTE5MDYxNDg3MjgKKwkubG9uZwkzMTY0NDI0MzE1CisJLmxvbmcJMzkzOTE0ODI0NgorCS5sb25nCTEwNzM1NjI1NjgKKwkubG9uZwkzMjEwMzUyMTQ4CisJLmxvbmcJMTAxNjMyMjg5OQorCS5sb25nCTM3MDc0NzkxNzUKKwkubG9uZwkxMDczNTY3NzY4CisJLmxvbmcJMzYxMzA3OTMwMworCS5sb25nCTEwMTUyMTMzMTQKKwkubG9uZwkzODk4Nzk1NzMxCisJLmxvbmcJMTA3MzU3Mjk4MgorCS5sb25nCTEyNDk5OTQxNDQKKwkubG9uZwkxMDEyOTE4Mzk0CisJLmxvbmcJMzgyMzA1MTc2CisJLmxvbmcJMTA3MzU3ODIxMQorCS5sb25nCTIzNDc2MjIzNzYKKwkubG9uZwkzMTYzNjI3MjAxCisJLmxvbmcJMTkxMjU2MTc4MQorCS5sb25nCTEwNzM1ODM0NTMKKwkubG9uZwkzMTQ3NDk1MTAyCisJLmxvbmcJMTAxNjcyNjgyOQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MzU4ODcxMAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE2ODY1NTM2CisJLmxvbmcJMzU5NDE1ODg2OQorCS5sb25nCTEwNzM1OTM5ODAKKwkubG9uZwkyNDU2NTIxNzAwCisJLmxvbmcJMzE2NDMwNTEzNworCS5sb25nCTQwNzY5NzUyMDAKKwkubG9uZwkxMDczNTk5MjY1CisJLmxvbmcJMjAyOTAwMDg5OQorCS5sb25nCTEwMTYyNTcxMTEKKwkubG9uZwkxNjc5NTU4MjMyCisJLmxvbmcJMTA3MzYwNDU2NQorCS5sb25nCTIzOTAzNDIyODcKKwkubG9uZwkzMTY0MzgyNTQ2CisJLmxvbmcJODYzNzM4NzE5CisJLmxvbmcJMTA3MzYwOTg3OQorCS5sb25nCTEzMjY5OTIyMjAKKwkubG9uZwkzMTYzNjYxNzczCisJLmxvbmcJMTc5NjgzMjUzNQorCS5sb25nCTEwNzM2MTUyMDcKKwkubG9uZwkzMTc2OTU1NzE2CisJLmxvbmcJMzE2MTYzNDA4OQorCS5sb25nCTM1MTY0MTg5NworCS5sb25nCTEwNzM2MjA1NTAKKwkubG9uZwkyMTcyMjYxNTI2CisJLmxvbmcJMzE2NDA1OTE3NQorCS5sb25nCTk5MTM1ODQ4MgorCS5sb25nCTEwNzM2MjU5MDcKKwkubG9uZwk4Mzg3MTUwMTkKKwkubG9uZwkzMTY0MjA2MjQ0CisJLmxvbmcJMzg4NDY2Mjc3NAorCS5sb25nCTEwNzM2MzEyNzgKKwkubG9uZwkyMTU4NjExNTk5CisJLmxvbmcJMTAxNTI1ODc2MQorCS5sb25nCTYxMDc1ODAwNgorCS5sb25nCTEwNzM2MzY2NjUKKwkubG9uZwkxOTY1MjA5Mzk3CisJLmxvbmcJMzE2MjkxNDgwOAorCS5sb25nCTQyMjQxNDI0NjcKKwkubG9uZwkxMDczNjQyMDY1CisJLmxvbmcJMzM4OTgyMDM4NgorCS5sb25nCTEwMTYyNTU3NzgKKwkubG9uZwkyMDA5OTcwNDk2CisJLmxvbmcJMTA3MzY0NzQ4MQorCS5sb25nCTIxNTkwMzk2NjUKKwkubG9uZwkzMTYzNjIxNTI0CisJLmxvbmcJMjcyODY5Mzk3OAorCS5sb25nCTEwNzM2NTI5MTEKKwkubG9uZwkzOTYxMDk5NzEKKwkubG9uZwkzMTY0NTExMjY3CisJLmxvbmcJMjI1NjMyNTIzMAorCS5sb25nCTEwNzM2NTgzNTYKKwkubG9uZwk1ODAxMTc3NDYKKwkubG9uZwkxMDE2MzY1ODcxCisJLmxvbmcJNzY0MzA3NDQxCisJLmxvbmcJMTA3MzY2MzgxNgorCS5sb25nCTMwMjEwNTc0MjAKKwkubG9uZwkzMTY0Mzc4MDk5CisJLmxvbmcJMjcxOTUxNTkyMAorCS5sb25nCTEwNzM2NjkyOTAKKwkubG9uZwkyNzYwMzMyOTQxCisJLmxvbmcJMTAxNjE4NjUwOQorCS5sb25nCTM5OTkzNTc0NzkKKwkubG9uZwkxMDczNjc0Nzc5CisJLmxvbmcJMjI1ODk0MTYxNgorCS5sb25nCTEwMTY5NzMzMDAKKwkubG9uZwk0ODE3MDYyODIKKwkubG9uZwkxMDczNjgwMjg0CisJLmxvbmcJMTY5NjA3OTE3MworCS5sb25nCTMxNjM3NTkxMDQKKwkubG9uZwk5Mjk4MDY5OTkKKwkubG9uZwkxMDczNjg1ODAzCisJLmxvbmcJMzIwNTMzNjY0MworCS5sb25nCTEwMTYzMDgxMzMKKwkubG9uZwkxMjIyNDcyMzA4CisJLmxvbmcJMTA3MzY5MTMzNworCS5sb25nCTEwNTQzNTc0NzAKKwkubG9uZwkzMTYyMDY5NTk0CisJLmxvbmcJMTUzMzk1MzM0NAorCS5sb25nCTEwNzM2OTY4ODYKKwkubG9uZwk3NjkxNzE4NTEKKwkubG9uZwkxMDE2NzE0MjA5CisJLmxvbmcJMjAzODk3MzY4OAorCS5sb25nCTEwNzM3MDI0NTAKKwkubG9uZwk4OTI5NDEzNzQKKwkubG9uZwkxMDE3MDk1MDM1CisJLmxvbmcJMjkxMjczMDY0NAorCS5sb25nCTEwNzM3MDgwMjkKKwkubG9uZwkzNDkwMDY3NzIyCisJLmxvbmcJMzE2NDQ1MzY1MAorCS5sb25nCTM1OTI5MjI1CisJLmxvbmcJMTA3MzcxMzYyNAorCS5sb25nCTI4MDk3ODgwNDEKKwkubG9uZwkzMTYwNDg1NTQ0CisJLmxvbmcJMjE3NDY1MjYzMgorCS5sb25nCTEwNzM3MTkyMzMKKwkubG9uZwk0MDg3NzE0NTkwCisJLmxvbmcJMTAxNTQ5ODgzNQorCS5sb25nCTkxNTU5MjQ2OAorCS5sb25nCTEwNzM3MjQ4NTgKKwkubG9uZwkzNTI5NDc4OTQKKwkubG9uZwkzMTYyMDcyOTQ3CisJLmxvbmcJNzMwODIxMTA1CisJLmxvbmcJMTA3MzczMDQ5OAorCS5sb25nCTI1MjMyMzI3NDMKKwkubG9uZwkxMDEzMTE1NzY0CisJLmxvbmcJMTc5NzkyMzgwMQorCS5sb25nCTEwNzM3MzYxNTMKKwkubG9uZwkxOTUwNTQ3NDI3CisJLmxvbmcJMTAxNDI3NzYzNQorCS5sb25nCTM4ODQ2MDcyODEKKwkubG9uZwkxMDYyNTkwNTkxCisJLmxvbmcJMzYwNzQwNDczNgorCS5sb25nCTEwNjgyNjQyMDAKKwkubG9uZwkxODc0NDgwNzU5CisJLmxvbmcJMTA2NTU5NTU2MworCS5sb25nCTQyODY3NjAzMzUKKwkubG9uZwkxMDcwNTE0MTA5CisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNzIwNDk3MzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkxMDcyMDQ5NzMwCisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTMyMTk1MzMzNzgKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCXN0YXRpY19jb25zdF90YWJsZSxAb2JqZWN0CisJLnNpemUJc3RhdGljX2NvbnN0X3RhYmxlLDEyNTc2CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvZV9zaW5oLlMgYi9saWJtL3g4Ni9lX3NpbmguUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmIwNGI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvZV9zaW5oLlMKQEAgLTAsMCArMSwxNDA3IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICBzaW5oKHgpPShleHAoeCktZXhwKC14KSkvMgorLy8KKy8vICBMZXQgfHh8PXhIK3hMICh1cHBlciAyNiBiaXRzLCBsb3dlciAyNyBiaXRzKQorLy8gIGxvZzIoZSkgcm91bmRlZCB0byAyNiBiaXRzIChoaWdoIHBhcnQpIHBsdXMgYSBkb3VibGUgcHJlY2lzaW9uIGxvdyBwYXJ0IGlzCisvLyAgICAgICAgICBMMkVIK0wyRUwgKHVwcGVyIDI2LCBsb3dlciA1MyBiaXRzKQorLy8KKy8vICBMZXQgeEgqTDJFSD1rK2YrcmAsIHdoZXJlIChrK2YpKjJeNz1pbnQoeEgqTDJFSCoyXjcpLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmPTAuYjEgYjIgLi4uIGI3LCBrIGludGVnZXIKKy8vICAyXmYgaXMgYXBwcm94aW1hdGVkIGFzIFRwW2ZdK0RwW2ZdLCBhbmQgMl57LWZ9IGFzIFRuW2ZdK0RuW2ZdCisvLyAgVHAgc3RvcmVzIHRoZSBoaWdoIDUzIGJpdHMsIERwIHN0b3JlcyAoMl5mLVRwW2ZdKSByb3VuZGVkIHRvIGRvdWJsZSBwcmVjaXNpb24KKy8vCisvLyAgZV58eHw9Ml57aytmfSoyXnIsIHI9cmAreEwqTDJFSCt8eHwqTDJFTCwgfHJ8PDJeey04fSsyXnstMTR9LAorLy8gICAgICAgICAgICAgICAgICAgICAgIGZvciB8eHwgaW4gWzIzLzY0LDMqMl43KQorLy8gIGVeey18eHx9PTJeey1rLWZ9KjJeey1yfQorLy8KKy8vICBlXnx4fCBpcyBhcHByb3hpbWF0ZWQgYXMgMl5rKlRwKzJeaypUcCpjMSpyKDErYzIqcisuLitjNSpyXjQpKzJeaypEcD0KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgPTJeaypUcCsyXmsqVHAqUDE1KzJeaypEcAorLy8gIGVeey18eHx9IGFwcHJveGltYXRlZCBhcyAyXnsta30qVG4tMl57LWt9KlRuKmMxKnIoMS1jMipyKy4uK2M1KnJeNCkrMl57LWt9KkRuCisvLworLy8gIEZvciB8eHwgaW4gWzEvOCwgMyoyXjcpLCBzaW5oKHgpIGlzIGZvcm1lZCBhcworLy8gICAgICBSTigyXmsqVHAtMl57LWt9KlRuKSsyXmsqVHAqUDE1LTJeey1rfSpUbipQYDE1LTJeey1rfSpUbkwtMl57LWt9KkRuKzJeaypEcAorLy8KKy8vICBGb3IgeCBpbiAoMyoyXjcsIDMqMl44KSwgc2lnbih4KSooZV58eHwpLzIgaXMgcmV0dXJuZWQsIGFuZAorLy8gIHRoZSByZXN1bHQgaXMgY2hlY2tlZCBmb3Igb3ZlcmZsb3cuCisvLworLy8gIEZvciB8eHw8MjMvNjQsIGEgVGF5bG9yIHBvbHlub21pYWwgZXhwYW5zaW9uIGlzIHVzZWQgKGRlZ3JlZSAxMykKKy8vICBUbyByZWR1Y2Ugcm91bmRpbmcgZXJyb3JzLCB0aGUgcDMqeF4zIHRlcm0gaXMgY29tcHV0ZWQgYXMKKy8vICAgICAocDMqeGheMylfaGlnaCtbKHAzKnhsKigzKngqeGgreGxeMikpKyhwMyp4aF4zKV9sb3ddLAorLy8gIHdoZXJlIHg9eGgreGwsICh4aCBhcmUgdGhlIGxlYWRpbmcgMTcgYml0cyBvZiB4KSwgYW5kCisvLyAgICAgKHAzKnhoXjMpX2hpZ2g9Uk4oeCtwMyp4aF4zKS14CisvLyAgKGVycm9yIGJvdW5kIGZvciBwb2x5bm9taWFsIGV4cGFuc2lvbiBpcyBiZWxvdyAwLjUxIHVscCkKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIHNpbmgoTmFOKSA9IHF1aWV0IE5hTiwgYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgc2luaCgrLy1JTkYpID0gKy8tSU5GCisvLyAgc2luaCh4KSA9IHggZm9yIHN1Ym5vcm1hbHMKKy8vICBmb3IgZmluaXRlIGFyZ3VtZW50LCBvbmx5IHNpbmgoMCk9MCBpcyBleGFjdAorLy8gIEZvciBJRUVFIGRvdWJsZQorLy8gICAgc2luaCh4KSBvdmVyZmxvd3MgIGZvciB4ID4gCisvLyAgICA3MTAuNDc1ODYwMDczOTQzODYzNDI2MzkzMzYzNjI0ODExMTcyNDg1MzUxNTYyNTAgPSBNQVhMT0crbG9nKDIpCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgc3RhdGljX2Z1bmMKKyAgICAgICAgLnRleHQKKyAgICAgICAgLmFsaWduIF9fYmlvbmljX2FzbV9hbGlnbgorICAgICAgICAudHlwZSBzdGF0aWNfZnVuYywgQGZ1bmN0aW9uCitzdGF0aWNfZnVuYzoKKy4uQjEuMToKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZWF4CisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZWF4KSwgJWVheAorICAgICAgICBsZWEgICAgICAgc3RhdGljX2NvbnN0X3RhYmxlQEdPVE9GRiglZWF4KSwgJWVheAorICAgICAgICByZXQKKyAgICAgICAgLnNpemUgICBzdGF0aWNfZnVuYywuLXN0YXRpY19mdW5jCisjIC0tIEVuZCAgc3RhdGljX2Z1bmMKKworIyAtLSBCZWdpbiAgc2luaAorRU5UUlkoc2luaCkKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTA0LCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA0MCglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDQyNzIoJWVieCksICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDQxOTIoJWVieCksICV4bW0xCisgICAgICAgIG1vdnNkICAgICA0MjAwKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDQwOTYoJWVieCksICV4bW02CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBhbmRucGQgICAgJXhtbTAsICV4bW00CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW00LCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlY3gKKyAgICAgICAgc3VibCAgICAgICQxNjM0MywgJWVjeAorICAgICAgICBjbXBsICAgICAgJDE3NywgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgY3Z0c2Qyc2kgICV4bW0zLCAlZWF4CisgICAgICAgIHNobGwgICAgICAkMywgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIDQxMTIoJWVieCksICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDQxMjgoJWVieCksICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgbW92bCAgICAgICQzMjcwNCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW01CisgICAgICAgIG1vdmFwZCAgICA0MTQ0KCVlYngpLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTI3LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMywgJWVheAorICAgICAgICBhbmRsICAgICAgJDY1NTIwLCAlZWF4CisgICAgICAgIGFkZGwgICAgICAkMTYzNTIsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBjbXBsICAgICAgJDE2MSwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTUsICV4bW01CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0wCisgICAgICAgIHBzdWJ3ICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICglZWJ4LCVlZHgsOCksICV4bW0wCisgICAgICAgIG11bHBkICAgICAyMDQ4KCVlYngsJWVkeCw4KSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA0MTYwKCVlYngpLCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMiwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgIDQxNzYoJWVieCksICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW03LCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgc2h1ZnBkICAgICQwLCAleG1tNSwgJXhtbTcKKyAgICAgICAgc3VicGQgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTYKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW00LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBzdWJsICAgICAgJDE2MzUyLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQxLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNjU1MjAsICVlYXgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgKCVlYngsJWVkeCw4KSwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdnNkICAgICA0MTYwKCVlYngpLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgNDE3NiglZWJ4KSwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkbCAgICAgICQxNjM2OCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQxMjcsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQxNjM0MywgJWVjeAorICAgICAgICBjbXBsICAgICAgJDE2MzQzLCAlZWN4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBjbXBsICAgICAgJDE1ODU2LCAlZWN4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBtb3ZhcGQgICAgNDIwOCglZWJ4KSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgIDQyMjQoJWVieCksICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgNDI0MCglZWJ4KSwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW00CisgICAgICAgIGFuZHBkICAgICA0MjU2KCVlYngpLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgc3VicGQgICAgICV4bW02LCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTYsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0yLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzUuMC4yOgorICAgICAgICBjbXBsICAgICAgJDE2LCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE3MzkyLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVjeCwgJXhtbTIKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDE1MzQ0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDMyNzM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTI3LCAlZWR4CisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBhbmRucGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAyNCglZXNwKQorICAgICAgICBmbGRsICAgICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzguMC4yOgorICAgICAgICBtb3ZsICAgICAgNDAoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKHNpbmgpCisjIC0tIEVuZCAgc2luaAorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0woc2luaGwsIHNpbmgpOworIyBFbmQgZmlsZSBzY29wZSBBU00KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK3N0YXRpY19jb25zdF90YWJsZToKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzI2OTg5NDEKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNjgxNTkxMworCS5sb25nCTEwNDgwMTkwNDEKKwkubG9uZwkxMDcyNzA0NjY2CisJLmxvbmcJMTM5ODQ3NDg0NQorCS5sb25nCTMxNjE1NTkxNzEKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MjcxMDQyMQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjM1OTU1NDgKKwkubG9uZwkzNTQxNDAyOTk2CisJLmxvbmcJMTA3MjcxNjIwOAorCS5sb25nCTI3NTkxNzczMTcKKwkubG9uZwkxMDE1OTAzMjAyCisJLmxvbmcJNzAyNDEyNTEwCisJLmxvbmcJMTA3MjcyMjAyNworCS5sb25nCTM4MDMyNjYwODcKKwkubG9uZwkzMTYzMzI4OTkxCisJLmxvbmcJNDEwMzYwNzc2CisJLmxvbmcJMTA3MjcyNzg3NworCS5sb25nCTEyNjk5OTA2NTUKKwkubG9uZwkxMDEzMDI0NDQ2CisJLmxvbmcJMzQwMjAzNjA5OQorCS5sb25nCTEwNzI3MzM3NTgKKwkubG9uZwk0MDU4ODkzMzQKKwkubG9uZwkxMDE2MTU0MjMyCisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTEwNzI3Mzk2NzIKKwkubG9uZwkxMjU1OTU2NzQ3CisJLmxvbmcJMTAxNjYzNjk3NAorCS5sb25nCTcyODkwOTgxNQorCS5sb25nCTEwNzI3NDU2MTgKKwkubG9uZwkzODM5MzAyMjUKKwkubG9uZwkxMDE2MDc4MDQ0CisJLmxvbmcJODUyNzQyNTYyCisJLmxvbmcJMTA3Mjc1MTU5NgorCS5sb25nCTY2NzI1MzU4NgorCS5sb25nCTEwMTA4NDIxMzUKKwkubG9uZwkyOTUyNzEyOTg3CisJLmxvbmcJMTA3Mjc1NzYwNgorCS5sb25nCTMyOTM0OTQ2NTEKKwkubG9uZwkzMTYxMTY4ODc3CisJLmxvbmcJMzQ5MDg2Mzk1MworCS5sb25nCTEwNzI3NjM2NDkKKwkubG9uZwk5NjA3OTc0OTgKKwkubG9uZwkzMTYzOTk3NDU2CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzI3Njk3MjUKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1OTQ3MTM4MAorCS5sb25nCTI5MzAzMjI5MTIKKwkubG9uZwkxMDcyNzc1ODM0CisJLmxvbmcJMjU5OTQ5OTQyMgorCS5sb25nCTMxNjM3NjI2MjMKKwkubG9uZwkzMzY2MjkzMDczCisJLmxvbmcJMTA3Mjc4MTk3NgorCS5sb25nCTMxMTk0MjYzMTQKKwkubG9uZwkxMDE1MTY5MTMwCisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzI3ODgxNTIKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MjYwNzY4MQorCS5sb25nCTk0ODczNTQ2NgorCS5sb25nCTEwNzI3OTQzNjEKKwkubG9uZwkzNTE2MzM4MDI4CisJLmxvbmcJMzE2MzYyMzQ1OQorCS5sb25nCTM5NDk5NzIzNDEKKwkubG9uZwkxMDcyODAwNjAzCisJLmxvbmcJMjA2ODQwODU0OAorCS5sb25nCTEwMTU5NjI0NDQKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MjgwNjg4MAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjQxNjQ5OTgKKwkubG9uZwk4Mjg5NDY4NTgKKwkubG9uZwkxMDcyODEzMTkxCisJLmxvbmcJMTA2NDI0OTIKKwkubG9uZwkxMDE2OTg4MDE0CisJLmxvbmcJNTg2OTk1OTk3CisJLmxvbmcJMTA3MjgxOTUzNgorCS5sb25nCTQxNjYyMzQ4CisJLmxvbmcJMzE2MzY3NjU2OAorCS5sb25nCTIyODgxNTk5NTgKKwkubG9uZwkxMDcyODI1OTE1CisJLmxvbmcJMjE2OTE0NDQ2OQorCS5sb25nCTEwMTU5MjQ1OTcKKwkubG9uZwkyNDQwOTQ0NzkwCisJLmxvbmcJMTA3MjgzMjMyOQorCS5sb25nCTI0OTI3Njk3NzQKKwkubG9uZwkxMDE1MTk2MDMwCisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzI4Mzg3NzgKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNjcwNTE1MAorCS5sb25nCTEzMzcxMDgwMzEKKwkubG9uZwkxMDcyODQ1MjYyCisJLmxvbmcJMzIwMzcyNDQ1MgorCS5sb25nCTEwMTU3MjY0MjEKKwkubG9uZwkxNzA5MzQxOTE3CisJLmxvbmcJMTA3Mjg1MTc4MQorCS5sb25nCTI1NzExNjgyMTcKKwkubG9uZwkxMDE1MjAxMDc1CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzI4NTgzMzUKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2NDIyODY2NgorCS5sb25nCTQxMTI1MDY1OTMKKwkubG9uZwkxMDcyODY0OTI1CisJLmxvbmcJMjk0NzM1NTIyMQorCS5sb25nCTEwMTU0MTk2MjQKKwkubG9uZwkzNTA0MDAzNDcyCisJLmxvbmcJMTA3Mjg3MTU1MQorCS5sb25nCTM1OTQwMDEwNjAKKwkubG9uZwkzMTU4Mzc5MjI4CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzI4NzgyMTMKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNjA3MDcyNworCS5sb25nCTI4Mzk0MjQ4NTQKKwkubG9uZwkxMDcyODg0OTExCisJLmxvbmcJMTE3MTU5NjE2MworCS5sb25nCTEwMTQwOTAyNTUKKwkubG9uZwkxNzEwMzAyOTMKKwkubG9uZwkxMDcyODkxNjQ2CisJLmxvbmcJMzUyNjQ2MDEzMgorCS5sb25nCTEwMTU0NzczNTQKKwkubG9uZwk0MjMyODk0NTEzCisJLmxvbmcJMTA3Mjg5ODQxNgorCS5sb25nCTIzODM5Mzg2ODQKKwkubG9uZwkxMDE1NzE3MDk1CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzI5MDUyMjQKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNjI3Njc2OQorCS5sb25nCTE2MDM0NDQ3MjEKKwkubG9uZwkxMDcyOTEyMDY5CisJLmxvbmcJMTU0ODYzMzY0MAorCS5sb25nCTMxNjMyNDk5MDIKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcyOTE4OTUxCisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjM5NjIwOTAKKwkubG9uZwkxODI5MDk5NjIyCisJLmxvbmcJMTA3MjkyNTg3MAorCS5sb25nCTEwMTY2NjExODEKKwkubG9uZwkzMTY0NTA5NTgxCisJLmxvbmcJODg3NDYzOTI3CisJLmxvbmcJMTA3MjkzMjgyNworCS5sb25nCTM1OTY3NDQxNjMKKwkubG9uZwkzMTYxODQyNzQyCisJLmxvbmcJMzI3Mjg0NTU0MQorCS5sb25nCTEwNzI5Mzk4MjEKKwkubG9uZwk5Mjg4NTI0MTkKKwkubG9uZwkzMTY0NTM2ODI0CisJLmxvbmcJMTI3NjI2MTQxMAorCS5sb25nCTEwNzI5NDY4NTQKKwkubG9uZwkzMDA5ODE5NDgKKwkubG9uZwkxMDE1NzMyNzQ1CisJLmxvbmcJNzg0MTM4NTIKKwkubG9uZwkxMDcyOTUzOTI1CisJLmxvbmcJNDE4MzIyNjg2NworCS5sb25nCTMxNjQwNjU4MjcKKwkubG9uZwk1Njk4NDczMzgKKwkubG9uZwkxMDcyOTYxMDM0CisJLmxvbmcJNDcyOTQ1MjcyCisJLmxvbmcJMzE2MDMzOTMwNQorCS5sb25nCTM2NDU5NDE5MTEKKwkubG9uZwkxMDcyOTY4MTgxCisJLmxvbmcJMzgxNDY4NTA4MQorCS5sb25nCTMxNjI2MjE5MTcKKwkubG9uZwkxNjE3MDA0ODQ1CisJLmxvbmcJMTA3Mjk3NTM2OAorCS5sb25nCTgyODA0OTQ0CisJLmxvbmcJMTAxMTM5MTM1NAorCS5sb25nCTM5NzgxMDA4MjMKKwkubG9uZwkxMDcyOTgyNTkzCisJLmxvbmcJMzUxMzAyNzE5MAorCS5sb25nCTEwMTY4OTQ1MzkKKwkubG9uZwkzMDQ5MzQwMTEyCisJLmxvbmcJMTA3Mjk4OTg1OAorCS5sb25nCTMwNjI5MTU4MjQKKwkubG9uZwkxMDE0MjE5MTcxCisJLmxvbmcJNDA0MDY3NjMxOAorCS5sb25nCTEwNzI5OTcxNjIKKwkubG9uZwk0MDkwNjA5MjM4CisJLmxvbmcJMTAxNjcxMjAzNAorCS5sb25nCTM1NzcwOTY3NDMKKwkubG9uZwkxMDczMDA0NTA2CisJLmxvbmcJMjk1MTQ5NjQxOAorCS5sb25nCTEwMTQ4NDIyNjMKKwkubG9uZwkyNTgzNTUxMjQ1CisJLmxvbmcJMTA3MzAxMTg5MAorCS5sb25nCTMxNjEwOTQxOTUKKwkubG9uZwkxMDE2NjU1MDY3CisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzMwMTkzMTQKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2Mzg2MTc2OQorCS5sb25nCTI3MzE1MDExMjIKKwkubG9uZwkxMDczMDI2Nzc4CisJLmxvbmcJMTc3NDAzMTg1NQorCS5sb25nCTMxNjM1MTg1OTcKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MzAzNDI4MworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjI1MzY2MzgKKwkubG9uZwkzMzk1MTI5ODcxCisJLmxvbmcJMTA3MzA0MTgyOAorCS5sb25nCTQwMjUzNDU0MzUKKwkubG9uZwkzMTYzMzgzOTY0CisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MzA0OTQxNQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNjcwNzg4NAorCS5sb25nCTM1NjY3MTY5MjUKKwkubG9uZwkxMDczMDU3MDQyCisJLmxvbmcJMTUzNjgyNjg1NgorCS5sb25nCTEwMTUxOTEwMDkKKwkubG9uZwkzNzEyNTA0ODczCisJLmxvbmcJMTA3MzA2NDcxMQorCS5sb25nCTg4NDkxOTQ5CisJLmxvbmcJMTAxNjQ3NjIzNgorCS5sb25nCTIzMjExMDY2MTUKKwkubG9uZwkxMDczMDcyNDIyCisJLmxvbmcJMjE3MTE3NjYxMAorCS5sb25nCTEwMTA1ODQzNDcKKwkubG9uZwkzNjM2Njc3ODQKKwkubG9uZwkxMDczMDgwMTc1CisJLmxvbmcJODEzNzUzOTUwCisJLmxvbmcJMTAxNjgzMzc4NQorCS5sb25nCTMxMTE1NzQ1MzcKKwkubG9uZwkxMDczMDg3OTY5CisJLmxvbmcJMjYwNjE2MTQ3OQorCS5sb25nCTMxNjM4MDgzMjIKKwkubG9uZwkyOTU2NjEyOTk3CisJLmxvbmcJMTA3MzA5NTgwNgorCS5sb25nCTIxMTgxNjk3NTEKKwkubG9uZwkzMTYzNzg0MTI5CisJLmxvbmcJODg1ODM0NTI4CisJLmxvbmcJMTA3MzEwMzY4NgorCS5sb25nCTE5NzMyNTg1NDcKKwkubG9uZwkzMTYzMzEwMTQwCisJLmxvbmcJMjE4NjYxNzM4MQorCS5sb25nCTEwNzMxMTE2MDgKKwkubG9uZwkyMjcwNzY0MDg0CisJLmxvbmcJMzE2NDMyMTI4OQorCS5sb25nCTM1NjE3OTM5MDcKKwkubG9uZwkxMDczMTE5NTczCisJLmxvbmcJMTE1NzA1NDA1MworCS5sb25nCTEwMTI5Mzg5MjYKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MzEyNzU4MgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjQzMzEzMTYKKwkubG9uZwkxOTYzNzExMTY3CisJLmxvbmcJMTA3MzEzNTYzNAorCS5sb25nCTE3NDQ3Njc3NTcKKwkubG9uZwkzMTYxNjIyODcwCisJLmxvbmcJMTAxMzI1ODc5OQorCS5sb25nCTEwNzMxNDM3MzAKKwkubG9uZwkxNzQ4Nzk3NjExCisJLmxvbmcJMzE2MTE3NzY1OAorCS5sb25nCTQxODI4NzMyMjAKKwkubG9uZwkxMDczMTUxODY5CisJLmxvbmcJNjI5NTQyNjQ2CisJLmxvbmcJMzE2MzA0NDg3OQorCS5sb25nCTM5MDc4MDUwNDQKKwkubG9uZwkxMDczMTYwMDUzCisJLmxvbmcJMjI1NzA5MTIyNQorCS5sb25nCTMxNjI1OTg5ODMKKwkubG9uZwkxMjE4ODA2MTMyCisJLmxvbmcJMTA3MzE2ODI4MgorCS5sb25nCTE4MTg2MTMwNTIKKwkubG9uZwkzMTYzNTk3MDE3CisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzMxNzY1NTUKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MzU2MzA5NworCS5sb25nCTEzMzk5NzI5MjcKKwkubG9uZwkxMDczMTg0ODczCisJLmxvbmcJMTY3OTA4OTA5CisJLmxvbmcJMTAxNjYyMDcyOAorCS5sb25nCTE5NDQ3ODExOTEKKwkubG9uZwkxMDczMTkzMjM2CisJLmxvbmcJMzk5MzI3ODc2NworCS5sb25nCTMxNjI3NzI4NTUKKwkubG9uZwkxOTk3MjQwMgorCS5sb25nCTEwNzMyMDE2NDUKKwkubG9uZwkzNTA3ODk5ODYyCisJLmxvbmcJMTAxNzA1Nzg2OAorCS5sb25nCTkxOTU1NTY4MgorCS5sb25nCTEwNzMyMTAwOTkKKwkubG9uZwkzMTIxOTY5NTM0CisJLmxvbmcJMTAxMzk5NjgwMgorCS5sb25nCTE0MTMzNTYwNTAKKwkubG9uZwkxMDczMjE4NTk5CisJLmxvbmcJMTY1MTM0OTI5MQorCS5sb25nCTMxNjM3MTY3NDIKKwkubG9uZwkyNTcxOTQ3NTM5CisJLmxvbmcJMTA3MzIyNzE0NQorCS5sb25nCTM1NTgxNTkwNjQKKwkubG9uZwkzMTY0NDI1MjQ1CisJLmxvbmcJMTE3Njc0OTk5NworCS5sb25nCTEwNzMyMzU3MzgKKwkubG9uZwkyNzM4OTk4Nzc5CisJLmxvbmcJMzE2MzA4NDQyMAorCS5sb25nCTI2MDQ5NjI1NDEKKwkubG9uZwkxMDczMjQ0Mzc3CisJLmxvbmcJMjYxNDQyNTI3NAorCS5sb25nCTMxNjQ1ODc3NjgKKwkubG9uZwkzNjQ5NzI2MTA1CisJLmxvbmcJMTA3MzI1MzA2MworCS5sb25nCTQwODUwMzYzNDYKKwkubG9uZwkxMDE2Njk4MDUwCisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzMyNjE3OTcKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNjUyMzI0OQorCS5sb25nCTM4MDk3ODMxNgorCS5sb25nCTEwNzMyNzA1NzgKKwkubG9uZwk4NTQxODg5NzAKKwkubG9uZwkzMTYxNTExMjYyCisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzMyNzk0MDYKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNTQwMTQ5MQorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzMyODgyODMKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTY0NDYwNjY1CisJLmxvbmcJMjk2NjI3NTU1NworCS5sb25nCTEwNzMyOTcyMDcKKwkubG9uZwkyMTc2MTU1MzI0CisJLmxvbmcJMzE2MDg5MTMzNQorCS5sb25nCTM0MTg5MDMwNTUKKwkubG9uZwkxMDczMzA2MTgwCisJLmxvbmcJMjUyNzQ1NzMzNworCS5sb25nCTMxNjE4NjkxODAKKwkubG9uZwkyNjgyMTQ2Mzg0CisJLmxvbmcJMTA3MzMxNTIwMgorCS5sb25nCTIwODIxNzg1MTMKKwkubG9uZwkzMTY0NDExOTk1CisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzMzMjQyNzMKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MzY0ODk1NworCS5sb25nCTIxOTE3ODIwMzIKKwkubG9uZwkxMDczMzMzMzkzCisJLmxvbmcJMjk2MDI1NzcyNgorCS5sb25nCTEwMTQ3OTEyMzgKKwkubG9uZwk0MzQzMTYwNjcKKwkubG9uZwkxMDczMzQyNTYzCisJLmxvbmcJMjAyODM1ODc2NgorCS5sb25nCTEwMTQ1MDY2OTgKKwkubG9uZwkyMDY5NzUxMTQxCisJLmxvbmcJMTA3MzM1MTc4MgorCS5sb25nCTE1NjIxNzA2NzUKKwkubG9uZwkzMTYzNzczMjU3CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzMzNjEwNTEKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNjQ3NTc0MAorCS5sb25nCTI5OTA0MTcyNDUKKwkubG9uZwkxMDczMzcwMzcxCisJLmxvbmcJMzY4MzQ2Nzc0NQorCS5sb25nCTMxNjQ0MTc5MDIKKwkubG9uZwkzMjE5NTg3NDQKKwkubG9uZwkxMDczMzc5NzQyCisJLmxvbmcJMzQwMTkzMzc2NworCS5sb25nCTEwMTY4NDMxMzQKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MzM4OTE2MworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTYxMzQzNDUKKwkubG9uZwkzMjE4MzM4NjgyCisJLmxvbmcJMTA3MzM5ODYzNQorCS5sb25nCTM0MDQxNjQzMDQKKwkubG9uZwkzMTYzNTI1Njg0CisJLmxvbmcJMjU3Mjg2NjQ3NworCS5sb25nCTEwNzM0MDgxNTkKKwkubG9uZwk4Nzg1NjI0MzMKKwkubG9uZwkxMDE2NTcwMzE3CisJLmxvbmcJNjk3MTUzMTI2CisJLmxvbmcJMTA3MzQxNzczNQorCS5sb25nCTEyODM1MTU0MjkKKwkubG9uZwkzMTY0MzMxNzY1CisJLmxvbmcJMzA5MjE5MDcxNQorCS5sb25nCTEwNzM0MjczNjIKKwkubG9uZwk4MTQwMTIxNjgKKwkubG9uZwkzMTYwNTcxOTk4CisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzM0MzcwNDIKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2NDM2OTM3NQorCS5sb25nCTQwNzY1NTk5NDMKKwkubG9uZwkxMDczNDQ2Nzc0CisJLmxvbmcJMjExOTQ3ODMzMQorCS5sb25nCTMxNjE4MDY5MjcKKwkubG9uZwk4MTU4NTkyNzQKKwkubG9uZwkxMDczNDU2NTYwCisJLmxvbmcJMjQwMzk2NTkwCisJLmxvbmcJMzE2NDUzNjAxOQorCS5sb25nCTI0MjA4ODM5MjIKKwkubG9uZwkxMDczNDY2Mzk4CisJLmxvbmcJMjA0OTgxMDA1MgorCS5sb25nCTEwMTUxNjg0NjQKKwkubG9uZwkxNTQwODI0NTg1CisJLmxvbmcJMTA3MzQ3NjI5MAorCS5sb25nCTEwNjQwMTcwMTEKKwkubG9uZwkzMTY0NTM2MjY2CisJLmxvbmcJMzcxNjUwMjE3MgorCS5sb25nCTEwNzM0ODYyMzUKKwkubG9uZwkyMzAzNzQwMTI1CisJLmxvbmcJMTAxNTA5MTMwMQorCS5sb25nCTE2MTA2MDA1NzAKKwkubG9uZwkxMDczNDk2MjM1CisJLmxvbmcJMzc2NjczMjI5OAorCS5sb25nCTEwMTY4MDg3NTkKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwkxMDczNTA2Mjg5CisJLmxvbmcJNDI4MjkyNDIwNQorCS5sb25nCTEwMTYyMzYxMDkKKwkubG9uZwkyNDgzNDgwNTAxCisJLmxvbmcJMTA3MzUxNjM5NworCS5sb25nCTEyMTYzNzE3ODAKKwkubG9uZwkxMDE0MDgyNzQ4CisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzM1MjY1NjAKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxNDMwMTY0MworCS5sb25nCTE0MzIyMDgzNzgKKwkubG9uZwkxMDczNTM2Nzc5CisJLmxvbmcJMTQwMTA2ODkxNAorCS5sb25nCTMxNjM0MTI1MzkKKwkubG9uZwkxMjQyMDA3OTMyCisJLmxvbmcJMTA3MzU0NzA1MworCS5sb25nCTExMzIwMzQ3MTYKKwkubG9uZwkzMTY0Mzg4NDA3CisJLmxvbmcJMTM1MTA1MDEwCisJLmxvbmcJMTA3MzU1NzM4MworCS5sb25nCTE5MDYxNDg3MjgKKwkubG9uZwkzMTY0NDI0MzE1CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTEwNzM1Njc3NjgKKwkubG9uZwkzNjEzMDc5MzAzCisJLmxvbmcJMTAxNTIxMzMxNAorCS5sb25nCTM4MjMwNTE3NgorCS5sb25nCTEwNzM1NzgyMTEKKwkubG9uZwkyMzQ3NjIyMzc2CisJLmxvbmcJMzE2MzYyNzIwMQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MzU4ODcxMAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE2ODY1NTM2CisJLmxvbmcJNDA3Njk3NTIwMAorCS5sb25nCTEwNzM1OTkyNjUKKwkubG9uZwkyMDI5MDAwODk5CisJLmxvbmcJMTAxNjI1NzExMQorCS5sb25nCTg2MzczODcxOQorCS5sb25nCTEwNzM2MDk4NzkKKwkubG9uZwkxMzI2OTkyMjIwCisJLmxvbmcJMzE2MzY2MTc3MworCS5sb25nCTM1MTY0MTg5NworCS5sb25nCTEwNzM2MjA1NTAKKwkubG9uZwkyMTcyMjYxNTI2CisJLmxvbmcJMzE2NDA1OTE3NQorCS5sb25nCTM4ODQ2NjI3NzQKKwkubG9uZwkxMDczNjMxMjc4CisJLmxvbmcJMjE1ODYxMTU5OQorCS5sb25nCTEwMTUyNTg3NjEKKwkubG9uZwk0MjI0MTQyNDY3CisJLmxvbmcJMTA3MzY0MjA2NQorCS5sb25nCTMzODk4MjAzODYKKwkubG9uZwkxMDE2MjU1Nzc4CisJLmxvbmcJMjcyODY5Mzk3OAorCS5sb25nCTEwNzM2NTI5MTEKKwkubG9uZwkzOTYxMDk5NzEKKwkubG9uZwkzMTY0NTExMjY3CisJLmxvbmcJNzY0MzA3NDQxCisJLmxvbmcJMTA3MzY2MzgxNgorCS5sb25nCTMwMjEwNTc0MjAKKwkubG9uZwkzMTY0Mzc4MDk5CisJLmxvbmcJMzk5OTM1NzQ3OQorCS5sb25nCTEwNzM2NzQ3NzkKKwkubG9uZwkyMjU4OTQxNjE2CisJLmxvbmcJMTAxNjk3MzMwMAorCS5sb25nCTkyOTgwNjk5OQorCS5sb25nCTEwNzM2ODU4MDMKKwkubG9uZwkzMjA1MzM2NjQzCisJLmxvbmcJMTAxNjMwODEzMworCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDczNjk2ODg2CisJLmxvbmcJNzY5MTcxODUxCisJLmxvbmcJMTAxNjcxNDIwOQorCS5sb25nCTI5MTI3MzA2NDQKKwkubG9uZwkxMDczNzA4MDI5CisJLmxvbmcJMzQ5MDA2NzcyMgorCS5sb25nCTMxNjQ0NTM2NTAKKwkubG9uZwkyMTc0NjUyNjMyCisJLmxvbmcJMTA3MzcxOTIzMworCS5sb25nCTQwODc3MTQ1OTAKKwkubG9uZwkxMDE1NDk4ODM1CisJLmxvbmcJNzMwODIxMTA1CisJLmxvbmcJMTA3MzczMDQ5OAorCS5sb25nCTI1MjMyMzI3NDMKKwkubG9uZwkxMDEzMTE1NzY0CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTczMDgyMTEwNQorCS5sb25nCTEwNzI2ODE5MjIKKwkubG9uZwkyNTIzMjMyNzQzCisJLmxvbmcJMTAxMjA2NzE4OAorCS5sb25nCTIxNzQ2NTI2MzIKKwkubG9uZwkxMDcyNjcwNjU3CisJLmxvbmcJNDA4NzcxNDU5MAorCS5sb25nCTEwMTQ0NTAyNTkKKwkubG9uZwkyOTEyNzMwNjQ0CisJLmxvbmcJMTA3MjY1OTQ1MworCS5sb25nCTM0OTAwNjc3MjIKKwkubG9uZwkzMTYzNDA1MDc0CisJLmxvbmcJMTUzMzk1MzM0NAorCS5sb25nCTEwNzI2NDgzMTAKKwkubG9uZwk3NjkxNzE4NTEKKwkubG9uZwkxMDE1NjY1NjMzCisJLmxvbmcJOTI5ODA2OTk5CisJLmxvbmcJMTA3MjYzNzIyNworCS5sb25nCTMyMDUzMzY2NDMKKwkubG9uZwkxMDE1MjU5NTU3CisJLmxvbmcJMzk5OTM1NzQ3OQorCS5sb25nCTEwNzI2MjYyMDMKKwkubG9uZwkyMjU4OTQxNjE2CisJLmxvbmcJMTAxNTkyNDcyNAorCS5sb25nCTc2NDMwNzQ0MQorCS5sb25nCTEwNzI2MTUyNDAKKwkubG9uZwkzMDIxMDU3NDIwCisJLmxvbmcJMzE2MzMyOTUyMworCS5sb25nCTI3Mjg2OTM5NzgKKwkubG9uZwkxMDcyNjA0MzM1CisJLmxvbmcJMzk2MTA5OTcxCisJLmxvbmcJMzE2MzQ2MjY5MQorCS5sb25nCTQyMjQxNDI0NjcKKwkubG9uZwkxMDcyNTkzNDg5CisJLmxvbmcJMzM4OTgyMDM4NgorCS5sb25nCTEwMTUyMDcyMDIKKwkubG9uZwkzODg0NjYyNzc0CisJLmxvbmcJMTA3MjU4MjcwMgorCS5sb25nCTIxNTg2MTE1OTkKKwkubG9uZwkxMDE0MjEwMTg1CisJLmxvbmcJMzUxNjQxODk3CisJLmxvbmcJMTA3MjU3MTk3NAorCS5sb25nCTIxNzIyNjE1MjYKKwkubG9uZwkzMTYzMDEwNTk5CisJLmxvbmcJODYzNzM4NzE5CisJLmxvbmcJMTA3MjU2MTMwMworCS5sb25nCTEzMjY5OTIyMjAKKwkubG9uZwkzMTYyNjEzMTk3CisJLmxvbmcJNDA3Njk3NTIwMAorCS5sb25nCTEwNzI1NTA2ODkKKwkubG9uZwkyMDI5MDAwODk5CisJLmxvbmcJMTAxNTIwODUzNQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MjU0MDEzNAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE1ODE2OTYwCisJLmxvbmcJMzgyMzA1MTc2CisJLmxvbmcJMTA3MjUyOTYzNQorCS5sb25nCTIzNDc2MjIzNzYKKwkubG9uZwkzMTYyNTc4NjI1CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTEwNzI1MTkxOTIKKwkubG9uZwkzNjEzMDc5MzAzCisJLmxvbmcJMTAxNDE2NDczOAorCS5sb25nCTEzNTEwNTAxMAorCS5sb25nCTEwNzI1MDg4MDcKKwkubG9uZwkxOTA2MTQ4NzI4CisJLmxvbmcJMzE2MzM3NTczOQorCS5sb25nCTEyNDIwMDc5MzIKKwkubG9uZwkxMDcyNDk4NDc3CisJLmxvbmcJMTEzMjAzNDcxNgorCS5sb25nCTMxNjMzMzk4MzEKKwkubG9uZwkxNDMyMjA4Mzc4CisJLmxvbmcJMTA3MjQ4ODIwMworCS5sb25nCTE0MDEwNjg5MTQKKwkubG9uZwkzMTYyMzYzOTYzCisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzI0Nzc5ODQKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxMzI1MzA2NworCS5sb25nCTI0ODM0ODA1MDEKKwkubG9uZwkxMDcyNDY3ODIxCisJLmxvbmcJMTIxNjM3MTc4MAorCS5sb25nCTEwMTMwMzQxNzIKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwkxMDcyNDU3NzEzCisJLmxvbmcJNDI4MjkyNDIwNQorCS5sb25nCTEwMTUxODc1MzMKKwkubG9uZwkxNjEwNjAwNTcwCisJLmxvbmcJMTA3MjQ0NzY1OQorCS5sb25nCTM3NjY3MzIyOTgKKwkubG9uZwkxMDE1NzYwMTgzCisJLmxvbmcJMzcxNjUwMjE3MgorCS5sb25nCTEwNzI0Mzc2NTkKKwkubG9uZwkyMzAzNzQwMTI1CisJLmxvbmcJMTAxNDA0MjcyNQorCS5sb25nCTE1NDA4MjQ1ODUKKwkubG9uZwkxMDcyNDI3NzE0CisJLmxvbmcJMTA2NDAxNzAxMQorCS5sb25nCTMxNjM0ODc2OTAKKwkubG9uZwkyNDIwODgzOTIyCisJLmxvbmcJMTA3MjQxNzgyMgorCS5sb25nCTIwNDk4MTAwNTIKKwkubG9uZwkxMDE0MTE5ODg4CisJLmxvbmcJODE1ODU5Mjc0CisJLmxvbmcJMTA3MjQwNzk4NAorCS5sb25nCTI0MDM5NjU5MAorCS5sb25nCTMxNjM0ODc0NDMKKwkubG9uZwk0MDc2NTU5OTQzCisJLmxvbmcJMTA3MjM5ODE5OAorCS5sb25nCTIxMTk0NzgzMzEKKwkubG9uZwkzMTYwNzU4MzUxCisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzIzODg0NjYKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2MzMyMDc5OQorCS5sb25nCTMwOTIxOTA3MTUKKwkubG9uZwkxMDcyMzc4Nzg2CisJLmxvbmcJODE0MDEyMTY4CisJLmxvbmcJMzE1OTUyMzQyMgorCS5sb25nCTY5NzE1MzEyNgorCS5sb25nCTEwNzIzNjkxNTkKKwkubG9uZwkxMjgzNTE1NDI5CisJLmxvbmcJMzE2MzI4MzE4OQorCS5sb25nCTI1NzI4NjY0NzcKKwkubG9uZwkxMDcyMzU5NTgzCisJLmxvbmcJODc4NTYyNDMzCisJLmxvbmcJMTAxNTUyMTc0MQorCS5sb25nCTMyMTgzMzg2ODIKKwkubG9uZwkxMDcyMzUwMDU5CisJLmxvbmcJMzQwNDE2NDMwNAorCS5sb25nCTMxNjI0NzcxMDgKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MjM0MDU4NworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTUwODU3NjkKKwkubG9uZwkzMjE5NTg3NDQKKwkubG9uZwkxMDcyMzMxMTY2CisJLmxvbmcJMzQwMTkzMzc2NworCS5sb25nCTEwMTU3OTQ1NTgKKwkubG9uZwkyOTkwNDE3MjQ1CisJLmxvbmcJMTA3MjMyMTc5NQorCS5sb25nCTM2ODM0Njc3NDUKKwkubG9uZwkzMTYzMzY5MzI2CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzIzMTI0NzUKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNTQyNzE2NAorCS5sb25nCTIwNjk3NTExNDEKKwkubG9uZwkxMDcyMzAzMjA2CisJLmxvbmcJMTU2MjE3MDY3NQorCS5sb25nCTMxNjI3MjQ2ODEKKwkubG9uZwk0MzQzMTYwNjcKKwkubG9uZwkxMDcyMjkzOTg3CisJLmxvbmcJMjAyODM1ODc2NgorCS5sb25nCTEwMTM0NTgxMjIKKwkubG9uZwkyMTkxNzgyMDMyCisJLmxvbmcJMTA3MjI4NDgxNworCS5sb25nCTI5NjAyNTc3MjYKKwkubG9uZwkxMDEzNzQyNjYyCisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzIyNzU2OTcKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MjYwMDM4MQorCS5sb25nCTI2ODIxNDYzODQKKwkubG9uZwkxMDcyMjY2NjI2CisJLmxvbmcJMjA4MjE3ODUxMworCS5sb25nCTMxNjMzNjM0MTkKKwkubG9uZwkzNDE4OTAzMDU1CisJLmxvbmcJMTA3MjI1NzYwNAorCS5sb25nCTI1Mjc0NTczMzcKKwkubG9uZwkzMTYwODIwNjA0CisJLmxvbmcJMjk2NjI3NTU1NworCS5sb25nCTEwNzIyNDg2MzEKKwkubG9uZwkyMTc2MTU1MzI0CisJLmxvbmcJMzE1OTg0Mjc1OQorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzIyMzk3MDcKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTYzNDEyMDg5CisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzIyMzA4MzAKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNDM1MjkxNQorCS5sb25nCTM4MDk3ODMxNgorCS5sb25nCTEwNzIyMjIwMDIKKwkubG9uZwk4NTQxODg5NzAKKwkubG9uZwkzMTYwNDYyNjg2CisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzIyMTMyMjEKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNTQ3NDY3MworCS5sb25nCTM2NDk3MjYxMDUKKwkubG9uZwkxMDcyMjA0NDg3CisJLmxvbmcJNDA4NTAzNjM0NgorCS5sb25nCTEwMTU2NDk0NzQKKwkubG9uZwkyNjA0OTYyNTQxCisJLmxvbmcJMTA3MjE5NTgwMQorCS5sb25nCTI2MTQ0MjUyNzQKKwkubG9uZwkzMTYzNTM5MTkyCisJLmxvbmcJMTE3Njc0OTk5NworCS5sb25nCTEwNzIxODcxNjIKKwkubG9uZwkyNzM4OTk4Nzc5CisJLmxvbmcJMzE2MjAzNTg0NAorCS5sb25nCTI1NzE5NDc1MzkKKwkubG9uZwkxMDcyMTc4NTY5CisJLmxvbmcJMzU1ODE1OTA2NAorCS5sb25nCTMxNjMzNzY2NjkKKwkubG9uZwkxNDEzMzU2MDUwCisJLmxvbmcJMTA3MjE3MDAyMworCS5sb25nCTE2NTEzNDkyOTEKKwkubG9uZwkzMTYyNjY4MTY2CisJLmxvbmcJOTE5NTU1NjgyCisJLmxvbmcJMTA3MjE2MTUyMworCS5sb25nCTMxMjE5Njk1MzQKKwkubG9uZwkxMDEyOTQ4MjI2CisJLmxvbmcJMTk5NzI0MDIKKwkubG9uZwkxMDcyMTUzMDY5CisJLmxvbmcJMzUwNzg5OTg2MgorCS5sb25nCTEwMTYwMDkyOTIKKwkubG9uZwkxOTQ0NzgxMTkxCisJLmxvbmcJMTA3MjE0NDY2MAorCS5sb25nCTM5OTMyNzg3NjcKKwkubG9uZwkzMTYxNzI0Mjc5CisJLmxvbmcJMTMzOTk3MjkyNworCS5sb25nCTEwNzIxMzYyOTcKKwkubG9uZwkxNjc5MDg5MDkKKwkubG9uZwkxMDE1NTcyMTUyCisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzIxMjc5NzkKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MjUxNDUyMQorCS5sb25nCTEyMTg4MDYxMzIKKwkubG9uZwkxMDcyMTE5NzA2CisJLmxvbmcJMTgxODYxMzA1MgorCS5sb25nCTMxNjI1NDg0NDEKKwkubG9uZwkzOTA3ODA1MDQ0CisJLmxvbmcJMTA3MjExMTQ3NworCS5sb25nCTIyNTcwOTEyMjUKKwkubG9uZwkzMTYxNTUwNDA3CisJLmxvbmcJNDE4Mjg3MzIyMAorCS5sb25nCTEwNzIxMDMyOTMKKwkubG9uZwk2Mjk1NDI2NDYKKwkubG9uZwkzMTYxOTk2MzAzCisJLmxvbmcJMTAxMzI1ODc5OQorCS5sb25nCTEwNzIwOTUxNTQKKwkubG9uZwkxNzQ4Nzk3NjExCisJLmxvbmcJMzE2MDEyOTA4MgorCS5sb25nCTE5NjM3MTExNjcKKwkubG9uZwkxMDcyMDg3MDU4CisJLmxvbmcJMTc0NDc2Nzc1NworCS5sb25nCTMxNjA1NzQyOTQKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MjA3OTAwNgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjMyODI3NDAKKwkubG9uZwkzNTYxNzkzOTA3CisJLmxvbmcJMTA3MjA3MDk5NworCS5sb25nCTExNTcwNTQwNTMKKwkubG9uZwkxMDExODkwMzUwCisJLmxvbmcJMjE4NjYxNzM4MQorCS5sb25nCTEwNzIwNjMwMzIKKwkubG9uZwkyMjcwNzY0MDg0CisJLmxvbmcJMzE2MzI3MjcxMworCS5sb25nCTg4NTgzNDUyOAorCS5sb25nCTEwNzIwNTUxMTAKKwkubG9uZwkxOTczMjU4NTQ3CisJLmxvbmcJMzE2MjI2MTU2NAorCS5sb25nCTI5NTY2MTI5OTcKKwkubG9uZwkxMDcyMDQ3MjMwCisJLmxvbmcJMjExODE2OTc1MQorCS5sb25nCTMxNjI3MzU1NTMKKwkubG9uZwkzMTExNTc0NTM3CisJLmxvbmcJMTA3MjAzOTM5MworCS5sb25nCTI2MDYxNjE0NzkKKwkubG9uZwkzMTYyNzU5NzQ2CisJLmxvbmcJMzYzNjY3Nzg0CisJLmxvbmcJMTA3MjAzMTU5OQorCS5sb25nCTgxMzc1Mzk1MAorCS5sb25nCTEwMTU3ODUyMDkKKwkubG9uZwkyMzIxMTA2NjE1CisJLmxvbmcJMTA3MjAyMzg0NgorCS5sb25nCTIxNzExNzY2MTAKKwkubG9uZwkxMDA5NTM1NzcxCisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTEwNzIwMTYxMzUKKwkubG9uZwk4ODQ5MTk0OQorCS5sb25nCTEwMTU0Mjc2NjAKKwkubG9uZwkzNTY2NzE2OTI1CisJLmxvbmcJMTA3MjAwODQ2NgorCS5sb25nCTE1MzY4MjY4NTYKKwkubG9uZwkxMDE0MTQyNDMzCisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MjAwMDgzOQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNTY1OTMwOAorCS5sb25nCTMzOTUxMjk4NzEKKwkubG9uZwkxMDcxOTkzMjUyCisJLmxvbmcJNDAyNTM0NTQzNQorCS5sb25nCTMxNjIzMzUzODgKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MTk4NTcwNworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjE0ODgwNjIKKwkubG9uZwkyNzMxNTAxMTIyCisJLmxvbmcJMTA3MTk3ODIwMgorCS5sb25nCTE3NzQwMzE4NTUKKwkubG9uZwkzMTYyNDcwMDIxCisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzE5NzA3MzgKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2MjgxMzE5MworCS5sb25nCTI1ODM1NTEyNDUKKwkubG9uZwkxMDcxOTYzMzE0CisJLmxvbmcJMzE2MTA5NDE5NQorCS5sb25nCTEwMTU2MDY0OTEKKwkubG9uZwkzNTc3MDk2NzQzCisJLmxvbmcJMTA3MTk1NTkzMAorCS5sb25nCTI5NTE0OTY0MTgKKwkubG9uZwkxMDEzNzkzNjg3CisJLmxvbmcJNDA0MDY3NjMxOAorCS5sb25nCTEwNzE5NDg1ODYKKwkubG9uZwk0MDkwNjA5MjM4CisJLmxvbmcJMTAxNTY2MzQ1OAorCS5sb25nCTMwNDkzNDAxMTIKKwkubG9uZwkxMDcxOTQxMjgyCisJLmxvbmcJMzA2MjkxNTgyNAorCS5sb25nCTEwMTMxNzA1OTUKKwkubG9uZwkzOTc4MTAwODIzCisJLmxvbmcJMTA3MTkzNDAxNworCS5sb25nCTM1MTMwMjcxOTAKKwkubG9uZwkxMDE1ODQ1OTYzCisJLmxvbmcJMTYxNzAwNDg0NQorCS5sb25nCTEwNzE5MjY3OTIKKwkubG9uZwk4MjgwNDk0NAorCS5sb25nCTEwMTAzNDI3NzgKKwkubG9uZwkzNjQ1OTQxOTExCisJLmxvbmcJMTA3MTkxOTYwNQorCS5sb25nCTM4MTQ2ODUwODEKKwkubG9uZwkzMTYxNTczMzQxCisJLmxvbmcJNTY5ODQ3MzM4CisJLmxvbmcJMTA3MTkxMjQ1OAorCS5sb25nCTQ3Mjk0NTI3MgorCS5sb25nCTMxNTkyOTA3MjkKKwkubG9uZwk3ODQxMzg1MgorCS5sb25nCTEwNzE5MDUzNDkKKwkubG9uZwk0MTgzMjI2ODY3CisJLmxvbmcJMzE2MzAxNzI1MQorCS5sb25nCTEyNzYyNjE0MTAKKwkubG9uZwkxMDcxODk4Mjc4CisJLmxvbmcJMzAwOTgxOTQ4CisJLmxvbmcJMTAxNDY4NDE2OQorCS5sb25nCTMyNzI4NDU1NDEKKwkubG9uZwkxMDcxODkxMjQ1CisJLmxvbmcJOTI4ODUyNDE5CisJLmxvbmcJMzE2MzQ4ODI0OAorCS5sb25nCTg4NzQ2MzkyNworCS5sb25nCTEwNzE4ODQyNTEKKwkubG9uZwkzNTk2NzQ0MTYzCisJLmxvbmcJMzE2MDc5NDE2NgorCS5sb25nCTE4MjkwOTk2MjIKKwkubG9uZwkxMDcxODc3Mjk0CisJLmxvbmcJMTAxNjY2MTE4MQorCS5sb25nCTMxNjM0NjEwMDUKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcxODcwMzc1CisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjI5MTM1MTQKKwkubG9uZwkxNjAzNDQ0NzIxCisJLmxvbmcJMTA3MTg2MzQ5MworCS5sb25nCTE1NDg2MzM2NDAKKwkubG9uZwkzMTYyMjAxMzI2CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzE4NTY2NDgKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNTIyODE5MworCS5sb25nCTQyMzI4OTQ1MTMKKwkubG9uZwkxMDcxODQ5ODQwCisJLmxvbmcJMjM4MzkzODY4NAorCS5sb25nCTEwMTQ2Njg1MTkKKwkubG9uZwkxNzEwMzAyOTMKKwkubG9uZwkxMDcxODQzMDcwCisJLmxvbmcJMzUyNjQ2MDEzMgorCS5sb25nCTEwMTQ0Mjg3NzgKKwkubG9uZwkyODM5NDI0ODU0CisJLmxvbmcJMTA3MTgzNjMzNQorCS5sb25nCTExNzE1OTYxNjMKKwkubG9uZwkxMDEzMDQxNjc5CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzE4Mjk2MzcKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNTAyMjE1MQorCS5sb25nCTM1MDQwMDM0NzIKKwkubG9uZwkxMDcxODIyOTc1CisJLmxvbmcJMzU5NDAwMTA2MAorCS5sb25nCTMxNTczMzA2NTIKKwkubG9uZwk0MTEyNTA2NTkzCisJLmxvbmcJMTA3MTgxNjM0OQorCS5sb25nCTI5NDczNTUyMjEKKwkubG9uZwkxMDE0MzcxMDQ4CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzE4MDk3NTkKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2MzE4MDA5MAorCS5sb25nCTE3MDkzNDE5MTcKKwkubG9uZwkxMDcxODAzMjA1CisJLmxvbmcJMjU3MTE2ODIxNworCS5sb25nCTEwMTQxNTI0OTkKKwkubG9uZwkxMzM3MTA4MDMxCisJLmxvbmcJMTA3MTc5NjY4NgorCS5sb25nCTMyMDM3MjQ0NTIKKwkubG9uZwkxMDE0Njc3ODQ1CisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzE3OTAyMDIKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNTY1NjU3NAorCS5sb25nCTI0NDA5NDQ3OTAKKwkubG9uZwkxMDcxNzgzNzUzCisJLmxvbmcJMjQ5Mjc2OTc3NAorCS5sb25nCTEwMTQxNDc0NTQKKwkubG9uZwkyMjg4MTU5OTU4CisJLmxvbmcJMTA3MTc3NzMzOQorCS5sb25nCTIxNjkxNDQ0NjkKKwkubG9uZwkxMDE0ODc2MDIxCisJLmxvbmcJNTg2OTk1OTk3CisJLmxvbmcJMTA3MTc3MDk2MAorCS5sb25nCTQxNjYyMzQ4CisJLmxvbmcJMzE2MjYyNzk5MgorCS5sb25nCTgyODk0Njg1OAorCS5sb25nCTEwNzE3NjQ2MTUKKwkubG9uZwkxMDY0MjQ5MgorCS5sb25nCTEwMTU5Mzk0MzgKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MTc1ODMwNAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjMxMTY0MjIKKwkubG9uZwkzOTQ5OTcyMzQxCisJLmxvbmcJMTA3MTc1MjAyNworCS5sb25nCTIwNjg0MDg1NDgKKwkubG9uZwkxMDE0OTEzODY4CisJLmxvbmcJOTQ4NzM1NDY2CisJLmxvbmcJMTA3MTc0NTc4NQorCS5sb25nCTM1MTYzMzgwMjgKKwkubG9uZwkzMTYyNTc0ODgzCisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzE3Mzk1NzYKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MTU1OTEwNQorCS5sb25nCTMzNjYyOTMwNzMKKwkubG9uZwkxMDcxNzMzNDAwCisJLmxvbmcJMzExOTQyNjMxNAorCS5sb25nCTEwMTQxMjA1NTQKKwkubG9uZwkyOTMwMzIyOTEyCisJLmxvbmcJMTA3MTcyNzI1OAorCS5sb25nCTI1OTk0OTk0MjIKKwkubG9uZwkzMTYyNzE0MDQ3CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzE3MjExNDkKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1ODQyMjgwNAorCS5sb25nCTM0OTA4NjM5NTMKKwkubG9uZwkxMDcxNzE1MDczCisJLmxvbmcJOTYwNzk3NDk4CisJLmxvbmcJMzE2Mjk0ODg4MAorCS5sb25nCTI5NTI3MTI5ODcKKwkubG9uZwkxMDcxNzA5MDMwCisJLmxvbmcJMzI5MzQ5NDY1MQorCS5sb25nCTMxNjAxMjAzMDEKKwkubG9uZwk4NTI3NDI1NjIKKwkubG9uZwkxMDcxNzAzMDIwCisJLmxvbmcJNjY3MjUzNTg2CisJLmxvbmcJMTAwOTc5MzU1OQorCS5sb25nCTcyODkwOTgxNQorCS5sb25nCTEwNzE2OTcwNDIKKwkubG9uZwkzODM5MzAyMjUKKwkubG9uZwkxMDE1MDI5NDY4CisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTEwNzE2OTEwOTYKKwkubG9uZwkxMjU1OTU2NzQ3CisJLmxvbmcJMTAxNTU4ODM5OAorCS5sb25nCTM0MDIwMzYwOTkKKwkubG9uZwkxMDcxNjg1MTgyCisJLmxvbmcJNDA1ODg5MzM0CisJLmxvbmcJMTAxNTEwNTY1NgorCS5sb25nCTQxMDM2MDc3NgorCS5sb25nCTEwNzE2NzkzMDEKKwkubG9uZwkxMjY5OTkwNjU1CisJLmxvbmcJMTAxMTk3NTg3MAorCS5sb25nCTcwMjQxMjUxMAorCS5sb25nCTEwNzE2NzM0NTEKKwkubG9uZwkzODAzMjY2MDg3CisJLmxvbmcJMzE2MjI4MDQxNQorCS5sb25nCTM1NDE0MDI5OTYKKwkubG9uZwkxMDcxNjY3NjMyCisJLmxvbmcJMjc1OTE3NzMxNworCS5sb25nCTEwMTQ4NTQ2MjYKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MTY2MTg0NQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjI1NDY5NzIKKwkubG9uZwkxMDQ4MDE5MDQxCisJLmxvbmcJMTA3MTY1NjA5MAorCS5sb25nCTEzOTg0NzQ4NDUKKwkubG9uZwkzMTYwNTEwNTk1CisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzE2NTAzNjUKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNTc2NzMzNworCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMAorCS5sb25nCTMyNzUyMjcxMzYKKwkubG9uZwkzNjA3NDA0NzM2CisJLmxvbmcJMTA0NDE0Njk1MgorCS5sb25nCTM2MDc0MDQ3MzYKKwkubG9uZwkzMTkxNjMwNjAwCisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNjM2NjExMjIKKwkubG9uZwk0Mjc3ODExNjk1CisJLmxvbmcJMzIxMTE0NDc3MAorCS5sb25nCTIxNDAxNzU3NTUKKwkubG9uZwkxMDMzODY0MjYxCisJLmxvbmcJMjE0MDE3NTc1NQorCS5sb25nCTEwMzM4NjQyNjEKKwkubG9uZwk0Mjg5NDk1OTg4CisJLmxvbmcJMTA1NDExMzc0NworCS5sb25nCTQyODk0OTU5ODgKKwkubG9uZwkxMDU0MTEzNzQ3CisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNjQ3MDk2OTgKKwkubG9uZwk0Mjc3ODExNjk1CisJLmxvbmcJMTA2NDcwOTY5OAorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDgwNDk3NDc5CisJLmxvbmcJNDE2NjkwMTU3MgorCS5sb25nCTEwNTMwNzcwMDMKKwkubG9uZwkzMjk4MDUwNjQKKwkubG9uZwkxMDM4NDg4MTM0CisJLmxvbmcJMjc3MzkyNzczMAorCS5sb25nCTEwNTMyMzY3MDcKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY1NDIzMTIxCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjk4OTcwNDUKKwkubG9uZwkxNzQ0MTI3MjAxCisJLmxvbmcJMTA0NjE0NDU4MQorCS5sb25nCTQzNjMxNDEzNworCS5sb25nCTEwNTk3MTc1MzYKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4MAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3MjgwCisJLmxvbmcJNDE2MDc0OTU2OAorCS5sb25nCTIxNDc0ODM2NDcKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSw0MjgwCisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvZmxvb3IuUyBiL2xpYm0veDg2L2Zsb29yLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg1OTczNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L2Zsb29yLlMKQEAgLTAsMCArMSw0MyBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShmbG9vcikKKwltb3YgICAgJWVzcCwlZWF4CisJYW5kICAgICQweGZmZmZmZmY4LCVlYXgKKwltb3ZzZCAgMHg0KCVlc3ApLCV4bW0wCisJcm91bmRzZCAkMHgxLCV4bW0wLCV4bW0wCisJbW92bHBkICV4bW0wLC0weDgoJWVheCkKKwlmbGRsICAgLTB4OCglZWF4KQorCXJldAorRU5EKGZsb29yKQorCitBTElBU19TWU1CT0woZmxvb3JsLCBmbG9vcik7CmRpZmYgLS1naXQgYS9saWJtL3g4Ni9mbG9vcmYuUyBiL2xpYm0veDg2L2Zsb29yZi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5YjkwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9mbG9vcmYuUwpAQCAtMCwwICsxLDM5IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKGZsb29yZikKKwltb3ZzcyAgMHg0KCVlc3ApLCV4bW0wCisJcm91bmRzcyAkMHgxLCV4bW0wLCV4bW0wCisJbW92c3MgICV4bW0wLC0weDQoJWVzcCkKKwlmbGRzICAgLTB4NCglZXNwKQorCXJldAorRU5EKGZsb29yZikKZGlmZiAtLWdpdCBhL2xpYm0veDg2L2xpYm1fcmVkdWNlX3BpMDRsLlMgYi9saWJtL3g4Ni9saWJtX3JlZHVjZV9waTA0bC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNmE3ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9saWJtX3JlZHVjZV9waTA0bC5TCkBAIC0wLDAgKzEsMzcxOCBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworIyAtLSBCZWdpbiAgX19saWJtX3JlZHVjZV9waTA0bAorCS50ZXh0CisgICAgICAgLmFsaWduICAgIDE2LDB4OTAKKwkuaGlkZGVuIF9fbGlibV9yZWR1Y2VfcGkwNGwKKwkuZ2xvYmwgX19saWJtX3JlZHVjZV9waTA0bAorX19saWJtX3JlZHVjZV9waTA0bDoKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisjIHBhcmFtZXRlciAyOiAyMCArICVlYnAKKyMgcGFyYW1ldGVyIDM6IDI0ICsgJWVicAorLi5CMS4xOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBhbmRsICAgICAgJC0xNiwgJWVzcAorICAgICAgICBwdXNobCAgICAgJWVzaQorICAgICAgICBwdXNobCAgICAgJWVkaQorICAgICAgICBwdXNobCAgICAgJWVieAorICAgICAgICBzdWJsICAgICAgJDIwLCAlZXNwCisgICAgICAgIG1vdnp3bCAgICAxNiglZWJwKSwgJWVieAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAyMCglZWJwKSwgJWVheAorICAgICAgICBjbXBsICAgICAgJDE2NDEzLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAyNCglZWJwKSwgJWVzaQorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlZGkKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlZGkpLCAlZWRpCisgICAgICAgIG1vdmwgICAgICAlZWF4LCA0KCVlc3ApCisgICAgICAgIGpnZSAgICAgICAuLkIxLjgKKy4uQjEuMjoKKyAgICAgICAgZmxkdCAgICAgIDgoJWVicCkKKyAgICAgICAgZmxkbCAgICAgIF9fNG9ucGlfZEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZzdHB0ICAgICA4KCVlc3ApCisgICAgICAgIG1vdnp3bCAgICAxNiglZXNwKSwgJWVjeAorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBhZGRsICAgICAgJDMwLCAlZWN4CisgICAgICAgIG1vdmwgICAgICAxMiglZXNwKSwgJWVheAorICAgICAgICBzaHJsICAgICAgJWNsLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMCwgNCglZXNwKQorICAgICAgICBqbmUgICAgICAgLi5CMS40CisuLkIxLjM6CisgICAgICAgIGxlYSAgICAgICAxKCVlYXgpLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkLTIsICVlY3gKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLi5CMS40OgorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVjeAorICAgICAgICBhZGRsICAgICAgNCglZXNwKSwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDEsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlY3gKKy4uQjEuNToKKyAgICAgICAgZmxkbCAgICAgIF9UV09fMzJIQEdPVE9GRiglZWRpKQorICAgICAgICBjbXBsICAgICAgJDE2NDAwLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWN4LCAoJWVzcCkKKyAgICAgICAgZmlsZGwgICAgICglZXNwKQorICAgICAgICBqZ2UgICAgICAgLi5CMS43CisuLkIxLjY6CisgICAgICAgIGZsZGwgICAgICBfcGkwNF8zZEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZzdWJycCAgICAlc3QsICVzdCgzKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGQgICAgICAgJXN0KDIpCisgICAgICAgIGZhZGQgICAgICAlc3QoMSksICVzdAorICAgICAgICBmc3VicCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZzdWJyICAgICAlc3QsICVzdCgzKQorICAgICAgICBmbGRsICAgICAgOCtfcGkwNF8zZEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZzdWJyICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZzdWIgICAgICAlc3QoMiksICVzdAorICAgICAgICBmc3VicCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZsZGwgICAgICAxNitfcGkwNF8zZEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZCAgICAgICAlc3QoMSkKKyAgICAgICAgZnN1YnIgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZzdWJyICAgICAlc3QsICVzdCgxKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZzdWJycCAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBqbXAgICAgICAgLi5CMS4xNQorLi5CMS43OgorICAgICAgICBmbGRsICAgICAgX3BpMDRfNWRAR09UT0ZGKCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmc3VicnAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkICAgICAgICVzdCgyKQorICAgICAgICBmYWRkICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZnN1YnAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZCAgICAgICAlc3QoMCkKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkbCAgICAgIDgrX3BpMDRfNWRAR09UT0ZGKCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmc3ViICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnN1YnAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgzKQorICAgICAgICBmbGRsICAgICAgMTYrX3BpMDRfNWRAR09UT0ZGKCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGQgICAgICAgJXN0KDApCisgICAgICAgIGZzdWJyICAgICAlc3QoMiksICVzdAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmc3VicnAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkbCAgICAgIDI0K19waTA0XzVkQEdPVE9GRiglZWRpKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmc3ViciAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnN1YnIgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZnN1YnJwICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZsZGwgICAgICAzMitfcGkwNF81ZEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZCAgICAgICAlc3QoMSkKKyAgICAgICAgZnN1YnIgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZzdWJyICAgICAlc3QsICVzdCgxKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZzdWJycCAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBqbXAgICAgICAgLi5CMS4xNQorLi5CMS44OgorICAgICAgICBmbGR0ICAgICAgOCglZWJwKQorICAgICAgICBhZGRsICAgICAgJC0xNjQxNywgJWVieAorICAgICAgICBmbXVsbCAgICAgX1NDQUxFQEdPVE9GRiglZWRpKQorICAgICAgICBtb3ZsICAgICAgJC0yMDc4MjA5OTgxLCAlZWF4CisgICAgICAgIGltdWxsICAgICAlZWJ4CisgICAgICAgIGFkZGwgICAgICAlZWJ4LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkNCwgJWVkeAorICAgICAgICBzYXJsICAgICAgJDMxLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIHNobGwgICAgICAkNSwgJWVheAorICAgICAgICBmc3RwdCAgICAgOCglZWJwKQorICAgICAgICBmbGR0ICAgICAgOCglZWJwKQorICAgICAgICBzdWJsICAgICAgJWVkeCwgJWVheAorICAgICAgICBtb3ZsICAgICAgJDAsIDgoJWVicCkKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlYngKKyAgICAgICAgZmxkdCAgICAgIDgoJWVicCkKKyAgICAgICAgY21wbCAgICAgICQxNywgJWVieAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgamwgICAgICAgIC4uQjEuMTAKKy4uQjEuOToKKyAgICAgICAgbGVhICAgICAgICgsJWVkeCw4KSwgJWVheAorICAgICAgICBsZWEgICAgICAgKCVlYXgsJWVkeCw0KSwgJWVjeAorICAgICAgICBpbmNsICAgICAgJWVkeAorICAgICAgICBmbGR0ICAgICAgX180b25waV8zMWxAR09UT0ZGKCVlY3gsJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAxMitfXzRvbnBpXzMxbEBHT1RPRkYoJWVkaSwlZWN4KQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmYWRkICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnN1YnIgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZCAgICAgICAlc3QoMSkKKyAgICAgICAgZmFkZCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZzdHB0ICAgICA4KCVlc3ApCisgICAgICAgIGFuZGwgICAgICAkLTE2Nzc3MjE2LCA4KCVlc3ApCisgICAgICAgIGZsZHQgICAgICA4KCVlc3ApCisgICAgICAgIGZzdWJycCAgICAlc3QsICVzdCgxKQorICAgICAgICBqbXAgICAgICAgLi5CMS4xMQorLi5CMS4xMDoKKyAgICAgICAgZmxkbCAgICAgIF96ZXJvc0BHT1RPRkYoJWVkaSkKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorLi5CMS4xMToKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBsZWEgICAgICAgKCwlZWR4LDgpLCAlZWF4CisgICAgICAgIGZsZCAgICAgICAlc3QoMykKKyAgICAgICAgbGVhICAgICAgICglZWF4LCVlZHgsNCksICVlZHgKKyAgICAgICAgZmxkdCAgICAgIF9fNG9ucGlfMzFsQEdPVE9GRiglZWR4LCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoNiksICVzdAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgKCVlc3ApCisgICAgICAgIGZhZGQgICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZzdWJyICAgICAlc3QsICVzdCgzKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgzKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgzKQorICAgICAgICBmbGR0ICAgICAgMTIrX180b25waV8zMWxAR09UT0ZGKCVlZHgsJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZCAgICAgICAlc3QoMikKKyAgICAgICAgZmFkZCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZCAgICAgICAlc3QoMCkKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmc3ViICAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgzKQorICAgICAgICBmY2hzICAgICAgCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCg0KQorICAgICAgICBmeGNoICAgICAgJXN0KDMpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCg0KQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZhZGQgICAgICAlc3QoMyksICVzdAorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QoNSksICVzdAorICAgICAgICBmYWRkICAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkICAgICAgICVzdCg0KQorICAgICAgICBmbGR0ICAgICAgMjQrX180b25waV8zMWxAR09UT0ZGKCVlZHgsJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZCAgICAgICVzdCwgJXN0KDQpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoNCkKKyAgICAgICAgZnN0cHQgICAgIDgoJWVzcCkKKyAgICAgICAgbW92endsICAgIDE2KCVlc3ApLCAlZWJ4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlYngKKyAgICAgICAgY21wbCAgICAgICQxNjQxNSwgJWVieAorICAgICAgICBqZ2UgICAgICAgLi5CMS4xMworLi5CMS4xMjoKKyAgICAgICAgbmVnbCAgICAgICVlYngKKyAgICAgICAgYWRkbCAgICAgICQzMCwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVieCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgMTIoJWVzcCksICVlYXgKKyAgICAgICAgc2hybCAgICAgICVjbCwgJWVheAorICAgICAgICBzaGxsICAgICAgJWNsLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAxMiglZXNwKQorICAgICAgICBtb3ZsICAgICAgJDAsIDgoJWVzcCkKKyAgICAgICAgc2hybCAgICAgICVjbCwgJWVheAorICAgICAgICBqbXAgICAgICAgLi5CMS4xNAorLi5CMS4xMzoKKyAgICAgICAgbmVnbCAgICAgICVlYngKKyAgICAgICAgYWRkbCAgICAgICQzMCwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVieCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgOCglZXNwKSwgJWVkeAorICAgICAgICBzaHJsICAgICAgJWNsLCAlZWR4CisgICAgICAgIHNobGwgICAgICAlY2wsICVlZHgKKyAgICAgICAgbmVnbCAgICAgICVlY3gKKyAgICAgICAgbW92bCAgICAgIDEyKCVlc3ApLCAlZWF4CisgICAgICAgIHNobGwgICAgICAlY2wsICVlYXgKKyAgICAgICAgbW92bCAgICAgICVlYngsICVlY3gKKyAgICAgICAgbW92bCAgICAgICVlZHgsIDgoJWVzcCkKKyAgICAgICAgc2hybCAgICAgICVjbCwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorLi5CMS4xNDoKKyAgICAgICAgZmxkdCAgICAgIDgoJWVzcCkKKyAgICAgICAgYWRkbCAgICAgIDQoJWVzcCksICVlYXgKKyAgICAgICAgZnN1YnJwICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZtdWwgICAgICAlc3QoNiksICVzdAorICAgICAgICBmbGQgICAgICAgJXN0KDQpCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVkeAorICAgICAgICBmYWRkICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgbW92bCAgICAgICglZXNwKSwgJWVjeAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgzKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoNSkKKyAgICAgICAgZmxkICAgICAgICVzdCgxKQorICAgICAgICBmeGNoICAgICAgJXN0KDMpCisgICAgICAgIGZhZGRsICAgICB6ZXJvX25vbmVAR09UT0ZGKCVlZGksJWVkeCw4KQorICAgICAgICBmYWRkICAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnN1YiAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCg0KQorICAgICAgICBmbGQgICAgICAgJXN0KDIpCisgICAgICAgIGZhZGQgICAgICAlc3QoMiksICVzdAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgzKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmYWRkICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnN1YnIgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZCAgICAgICAlc3QoMikKKyAgICAgICAgZmxkdCAgICAgIDM2K19fNG9ucGlfMzFsQEdPVE9GRiglZWN4LCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbGQgICAgICAgJXN0KDEpCisgICAgICAgIGZhZGQgICAgICAlc3QoMyksICVzdAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDQpLCAlc3QKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmYWRkICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnN1YnIgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZCAgICAgICAlc3QoMikKKyAgICAgICAgZmxkdCAgICAgIDQ4K19fNG9ucGlfMzFsQEdPVE9GRiglZWN4LCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbGQgICAgICAgJXN0KDEpCisgICAgICAgIGZhZGQgICAgICAlc3QoMyksICVzdAorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkICAgICAgICVzdCgzKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QoNSksICVzdAorICAgICAgICBmbGR0ICAgICAgNjArX180b25waV8zMWxAR09UT0ZGKCVlY3gsJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMykKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZCAgICAgICAlc3QoMCkKKyAgICAgICAgZmFkZCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZzdWJyICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgzKQorICAgICAgICBmbGQgICAgICAgJXN0KDMpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMikKKyAgICAgICAgZm11bCAgICAgICVzdCg1KSwgJXN0CisgICAgICAgIGZsZHQgICAgICA3MitfXzRvbnBpXzMxbEBHT1RPRkYoJWVjeCwlZWRpKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgzKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmYWRkICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnN1YnIgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDQpCisgICAgICAgIGZsZHQgICAgICA4NCtfXzRvbnBpXzMxbEBHT1RPRkYoJWVkaSwlZWN4KQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkICAgICAgICVzdCgyKQorICAgICAgICBmYWRkICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkbCAgICAgIF9UV09fMzJIQEdPVE9GRiglZWRpKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZmFkZCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzdWJycCAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3ViciAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgzKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZGwgICAgICBfcGkwNF8yZEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmYWRkICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZm11bGwgICAgIDgrX3BpMDRfMmRAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorLi5CMS4xNToKKyAgICAgICAgZmxkbCAgICAgIF9UV09fMTJIQEdPVE9GRiglZWRpKQorICAgICAgICBmbGQgICAgICAgJXN0KDIpCisgICAgICAgIGZhZGQgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cHQgICAgIDgoJWVzcCkKKyAgICAgICAgZmxkdCAgICAgIDgoJWVzcCkKKyAgICAgICAgZmFkZCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZzdWJwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3RsICAgICAgKCVlc2kpCisgICAgICAgIGZzdWJycCAgICAlc3QsICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDgoJWVzaSkKKyAgICAgICAgYWRkbCAgICAgICQyMCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVieAorICAgICAgICBwb3BsICAgICAgJWVkaQorICAgICAgICBwb3BsICAgICAgJWVzaQorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisgICAgICAgIC5hbGlnbiAgICAxNiwweDkwCisJLnR5cGUJX19saWJtX3JlZHVjZV9waTA0bCxAZnVuY3Rpb24KKwkuc2l6ZQlfX2xpYm1fcmVkdWNlX3BpMDRsLC4tX19saWJtX3JlZHVjZV9waTA0bAorCS5kYXRhCisjIC0tIEVuZCAgX19saWJtX3JlZHVjZV9waTA0bAorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiA4CisJLmFsaWduIDgKK3plcm9fbm9uZToKKwkubG9uZwkweDAwMDAwMDAwLDB4MDAwMDAwMDAKKwkubG9uZwkweDAwMDAwMDAwLDB4YmZmMDAwMDAKKwkudHlwZQl6ZXJvX25vbmUsQG9iamVjdAorCS5zaXplCXplcm9fbm9uZSwxNgorCS5hbGlnbiA0CitfXzRvbnBpX2Q6CisJLmxvbmcJMTg0MTk0MDYxMQorCS5sb25nCTEwNzI5Nzk3NjAKKwkudHlwZQlfXzRvbnBpX2QsQG9iamVjdAorCS5zaXplCV9fNG9ucGlfZCw4CisJLmFsaWduIDQKK19UV09fMzJIOgorCS5sb25nCTAKKwkubG9uZwkxMTA2NzcxOTY4CisJLnR5cGUJX1RXT18zMkgsQG9iamVjdAorCS5zaXplCV9UV09fMzJILDgKKwkuYWxpZ24gNAorX3BpMDRfM2Q6CisJLmxvbmcJMTQxMzc1NDExMgorCS5sb25nCTEwNzIyNDMxOTUKKwkubG9uZwkyNTYzNTI3MDQwCisJLmxvbmcJMTAyMTg1NTM4NAorCS5sb25nCTM0MTc2ODU4NjgKKwkubG9uZwkzMTE4NDUwOTM2CisJLnR5cGUJX3BpMDRfM2QsQG9iamVjdAorCS5zaXplCV9waTA0XzNkLDI0CisJLmFsaWduIDQKK19waTA0XzVkOgorCS5sb25nCTE0MTM0ODA0NDgKKwkubG9uZwkxMDcyMjQzMTk1CisJLmxvbmcJNDQyNDk5MDcyCisJLmxvbmcJMTAzNjAzOTI2NQorCS5sb25nCTc3MTc1MTkzNgorCS5sb25nCTk5OTQ5NjA3NAorCS5sb25nCTYyMjg1NDE0NAorCS5sb25nCTk2MzM0NzM1NAorCS5sb25nCTEzOTY1OTc2NjQKKwkubG9uZwk5MjI5MDY2OTIKKwkudHlwZQlfcGkwNF81ZCxAb2JqZWN0CisJLnNpemUJX3BpMDRfNWQsNDAKKwkuYWxpZ24gNAorX1NDQUxFOgorCS5sb25nCTAKKwkubG9uZwk4NDUxNTIyNTYKKwkudHlwZQlfU0NBTEUsQG9iamVjdAorCS5zaXplCV9TQ0FMRSw4CisJLmFsaWduIDQKK196ZXJvczoKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJX3plcm9zLEBvYmplY3QKKwkuc2l6ZQlfemVyb3MsMTYKKwkuYWxpZ24gNAorX3BpMDRfMmQ6CisJLmxvbmcJMTQxMzQ4MDQ0OAorCS5sb25nCTEwNzIyNDMxOTUKKwkubG9uZwk0NDI2NTU1MzcKKwkubG9uZwkxMDM2MDM5MjY1CisJLnR5cGUJX3BpMDRfMmQsQG9iamVjdAorCS5zaXplCV9waTA0XzJkLDE2CisJLmFsaWduIDQKK19UV09fMTJIOgorCS5sb25nCTAKKwkubG9uZwkxMDg1ODAwNDQ4CisJLnR5cGUJX1RXT18xMkgsQG9iamVjdAorCS5zaXplCV9UV09fMTJILDgKKwkuYWxpZ24gMgorX180b25waV8zMWw6CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMzY0NgorCS53b3JkCTQxNzIxCisJLndvcmQJMTY2MDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMDgzMgorCS53b3JkCTQwMDcyCisJLndvcmQJMTY1NjcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NDAwOAorCS53b3JkCTY1MDQzCisJLndvcmQJMTY1MzcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyODM4NAorCS53b3JkCTY0MTU0CisJLndvcmQJMTY1MDUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzODI3MgorCS53b3JkCTU2MTYyCisJLndvcmQJMTY0NzIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk3Mjk4CisJLndvcmQJNTE2ODIKKwkud29yZAkxNjQ0NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ1NTA0CisJLndvcmQJNjUzMjAKKwkud29yZAkxNjQwOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYxMjA0CisJLndvcmQJNDQ5MjIKKwkud29yZAkxNjM4MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE4NjUyCisJLndvcmQJNTAwMzAKKwkud29yZAkxNjM1MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE0MTQ0CisJLndvcmQJNTk2NTcKKwkud29yZAkxNjMxOAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM3NDUwCisJLndvcmQJNDcxMDUKKwkud29yZAkxNjI5MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE0ODk4CisJLndvcmQJNTY2NDEKKwkud29yZAkxNjI1OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM0NjgwCisJLndvcmQJMzQ2MjMKKwkud29yZAkxNjIyNgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ3NjAKKwkud29yZAk0NTUxNQorCS53b3JkCTE2MTk2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDE0ODAKKwkud29yZAk0MDE4NworCS53b3JkCTE2MTY2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDc4NTIKKwkud29yZAk1NTI1MgorCS53b3JkCTE2MTM0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTQwNzIKKwkud29yZAkzNTA4MQorCS53b3JkCTE2MTAzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjY4MDgKKwkud29yZAk1NzQyMQorCS53b3JkCTE2MDcxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjAwNjgKKwkud29yZAk1NzIzMgorCS53b3JkCTE2MDQyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDk1NzYKKwkud29yZAk2MDE4OAorCS53b3JkCTE2MDA5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTAwMTYKKwkud29yZAk1Mjg2MQorCS53b3JkCTE1OTc4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzA2NDgKKwkud29yZAkzNTgyNQorCS53b3JkCTE1OTQ3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjA1NDIKKwkud29yZAk1ODUyOAorCS53b3JkCTE1OTE4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjU0NjgKKwkud29yZAk2MTc0MworCS53b3JkCTE1ODg3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjQ5NjAKKwkud29yZAk0NTgyNQorCS53b3JkCTE1ODUxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTA2MDQKKwkud29yZAkzODc5MgorCS53b3JkCTE1ODI1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTgzOTQKKwkud29yZAkzMzQzNQorCS53b3JkCTE1Nzk0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTU3ODAKKwkud29yZAk0MjcwMworCS53b3JkCTE1NzYzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTQwNTYKKwkud29yZAk2Mzg0MQorCS53b3JkCTE1NzMxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjMwODAKKwkud29yZAk2MjU2MworCS53b3JkCTE1NzAwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjA4NDAKKwkud29yZAk2MjIwNworCS53b3JkCTE1NjY5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzAwOTQKKwkud29yZAk1OTk4MworCS53b3JkCTE1NjM5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjE4MTgKKwkud29yZAk2MDM4OQorCS53b3JkCTE1NjA4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDAxODYKKwkud29yZAk0MDU3OQorCS53b3JkCTE1NTc3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDIxNzAKKwkud29yZAk1ODAwNAorCS53b3JkCTE1NTQ2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTUyNzYKKwkud29yZAkzOTY3OAorCS53b3JkCTE1NTE0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDQ2NzIKKwkud29yZAkzNjgwNgorCS53b3JkCTE1NDgxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTMwNjAKKwkud29yZAkzNDE0NAorCS53b3JkCTE1NDUyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjgwMTYKKwkud29yZAk1NzIzMQorCS53b3JkCTE1NDE5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTYxMTIKKwkud29yZAk0NDk5NQorCS53b3JkCTE1MzkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTM0NjQKKwkud29yZAkzMzM4NworCS53b3JkCTE1MzU4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNzI5NgorCS53b3JkCTYwNzUxCisJLndvcmQJMTUzMjUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyOTQ1MgorCS53b3JkCTQ1MjMxCisJLndvcmQJMTUyOTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNjIwOAorCS53b3JkCTQ5Njg5CisJLndvcmQJMTUyNjYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNzkwMAorCS53b3JkCTQ0MDAyCisJLndvcmQJMTUyMzUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NzM0MAorCS53b3JkCTMzODAwCisJLndvcmQJMTUyMDQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNzU0NAorCS53b3JkCTUwMTc4CisJLndvcmQJMTUxNzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MTY4CisJLndvcmQJNDAxMzIKKwkud29yZAkxNTE0MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIxMzkyCisJLndvcmQJNDM3MDIKKwkud29yZAkxNTEwOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ1MTY4CisJLndvcmQJNTQzNzIKKwkud29yZAkxNTA4MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTg5ODYKKwkud29yZAk0MDY4OAorCS53b3JkCTE1MDUwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTY0OAorCS53b3JkCTUzNzQ1CisJLndvcmQJMTUwMTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMDUyMAorCS53b3JkCTU1Nzk1CisJLndvcmQJMTQ5ODYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MzA2MAorCS53b3JkCTMyOTE0CisJLndvcmQJMTQ5NTYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NjE3MgorCS53b3JkCTUyNzcxCisJLndvcmQJMTQ5MjUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNDA1NgorCS53b3JkCTQ1Mjg1CisJLndvcmQJMTQ4OTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MzU5MAorCS53b3JkCTQ0ODY4CisJLndvcmQJMTQ4NjQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MDc4NgorCS53b3JkCTM1OTcwCisJLndvcmQJMTQ4MzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMzQzNgorCS53b3JkCTY1NDExCisJLndvcmQJMTQ4MDEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMjAwNgorCS53b3JkCTYxMzgyCisJLndvcmQJMTQ3NzEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNzg1NgorCS53b3JkCTQ1MjM5CisJLndvcmQJMTQ3MzgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MDg5NAorCS53b3JkCTQ5NTU1CisJLndvcmQJMTQ3MDkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0ODA2NAorCS53b3JkCTUzMDY1CisJLndvcmQJMTQ2NzQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0ODYyNAorCS53b3JkCTU0ODQ0CisJLndvcmQJMTQ2NDcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk3OTg4CisJLndvcmQJNDA3NjIKKwkud29yZAkxNDYxNgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE2MjcwCisJLndvcmQJNTg3NDUKKwkud29yZAkxNDU4NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM3MDY0CisJLndvcmQJNTAxNjgKKwkud29yZAkxNDU1MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE4NjI0CisJLndvcmQJNjM3MzYKKwkud29yZAkxNDUxOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYwNzU4CisJLndvcmQJNDQ5NjYKKwkud29yZAkxNDQ5MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMzMzA0CisJLndvcmQJNDc0NjUKKwkud29yZAkxNDQ2MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYyMjYKKwkud29yZAk2MDUwMworCS53b3JkCTE0NDMwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjYzODAKKwkud29yZAk1NDkwMAorCS53b3JkCTE0Mzk4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDQzNTIKKwkud29yZAk0OTg2MAorCS53b3JkCTE0MzY4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTE5MDQKKwkud29yZAk0MjY0NgorCS53b3JkCTE0MzM3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTUyOTYKKwkud29yZAk1MDI3OQorCS53b3JkCTE0MzAwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTU0NzQKKwkud29yZAk1MDYwNgorCS53b3JkCTE0Mjc1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDUwNjIKKwkud29yZAk0NDEzNworCS53b3JkCTE0MjQ0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTM0NzIKKwkud29yZAkzNjA2MworCS53b3JkCTE0MjEwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDA2NTgKKwkud29yZAk1Mzg1NAorCS53b3JkCTE0MTgyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjg2NTIKKwkud29yZAk0MzY5MAorCS53b3JkCTE0MTUxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjQ2NDAKKwkud29yZAk2NDM0OAorCS53b3JkCTE0MTE4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzAyODQKKwkud29yZAk0MTk4MAorCS53b3JkCTE0MDg4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDU2NTIKKwkud29yZAkzODIyMgorCS53b3JkCTE0MDU3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTU5MDAKKwkud29yZAk2Mjk0MAorCS53b3JkCTE0MDI2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzE0OTQKKwkud29yZAk1MDc0MQorCS53b3JkCTEzOTk2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDMxOTQKKwkud29yZAk1NTA5NgorCS53b3JkCTEzOTY1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTc0MAorCS53b3JkCTQ1NjQ2CisJLndvcmQJMTM5MzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyODkzNgorCS53b3JkCTQ0MTUwCisJLndvcmQJMTM5MDMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk4OTk2CisJLndvcmQJNDI5NTUKKwkud29yZAkxMzg3MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ0MDk2CisJLndvcmQJNjEyMDUKKwkud29yZAkxMzgzOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ0NjE0CisJLndvcmQJNTQ1NTAKKwkud29yZAkxMzgxMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI0OTI2CisJLndvcmQJNTczNDcKKwkud29yZAkxMzc3OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMzMTIKKwkud29yZAk2MTQxNQorCS53b3JkCTEzNzQ1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjQzMzYKKwkud29yZAk2Mzg4NAorCS53b3JkCTEzNzE3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjc0OAorCS53b3JkCTYyMjU5CisJLndvcmQJMTM2ODUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NjY3MgorCS53b3JkCTUxNzc1CisJLndvcmQJMTM2NTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMjQzOAorCS53b3JkCTU1NDIzCisJLndvcmQJMTM2MjQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNzY1MgorCS53b3JkCTQ1NzEzCisJLndvcmQJMTM1OTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2NTQwOAorCS53b3JkCTUxNTg2CisJLndvcmQJMTM1NTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MDQxNgorCS53b3JkCTU1NzM2CisJLndvcmQJMTM1MzEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MjU0NgorCS53b3JkCTM3NzM0CisJLndvcmQJMTM1MDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0ODg4MAorCS53b3JkCTY0MjM4CisJLndvcmQJMTM0NjkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NjAwNAorCS53b3JkCTQ2ODMzCisJLndvcmQJMTM0MzcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MTc2MAorCS53b3JkCTM4MTEwCisJLndvcmQJMTM0MDUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MTQ5NgorCS53b3JkCTM1NjU5CisJLndvcmQJMTMzNzQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNTQ3MgorCS53b3JkCTQxMjY5CisJLndvcmQJMTMzNDIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NTQ0NAorCS53b3JkCTM2MDE4CisJLndvcmQJMTMzMTQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2NTEwCisJLndvcmQJNTY0MTcKKwkud29yZAkxMzI4MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMwNzIKKwkud29yZAk1NjgzNworCS53b3JkCTEzMjUyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjEzMzgKKwkud29yZAk0ODQ0MAorCS53b3JkCTEzMjIxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDk1NjgKKwkud29yZAk1NzA4OAorCS53b3JkCTEzMTg5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDI0MAorCS53b3JkCTM5MjgzCisJLndvcmQJMTMxNTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxODU2MgorCS53b3JkCTMzNTM3CisJLndvcmQJMTMxMjgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMTQyMgorCS53b3JkCTQ0NDg3CisJLndvcmQJMTMwOTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMTkzMAorCS53b3JkCTYwNDU5CisJLndvcmQJMTMwNjYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MjI3MgorCS53b3JkCTM2NjQxCisJLndvcmQJMTMwMzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyODk0MAorCS53b3JkCTM2MTUwCisJLndvcmQJMTMwMDQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMTAxMAorCS53b3JkCTUwOTI1CisJLndvcmQJMTI5NzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyOTQ0OAorCS53b3JkCTY0ODg2CisJLndvcmQJMTI5NDEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMDUwMAorCS53b3JkCTU0NjAwCisJLndvcmQJMTI5MTEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NDI1OAorCS53b3JkCTQ2MjMzCisJLndvcmQJMTI4ODAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMjYyOAorCS53b3JkCTQyNTAyCisJLndvcmQJMTI4NDgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MTYwOAorCS53b3JkCTU1MDcyCisJLndvcmQJMTI4MTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MjM2CisJLndvcmQJNTc4NzEKKwkud29yZAkxMjc4NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQyNDA4CisJLndvcmQJMzQ2MTYKKwkud29yZAkxMjc1NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU2NjkyCisJLndvcmQJNTE5NjMKKwkud29yZAkxMjcyNAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM5MDk0CisJLndvcmQJNDg1MjYKKwkud29yZAkxMjY5NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU5ODcwCisJLndvcmQJMzg3ODMKKwkud29yZAkxMjY2MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI2NTYwCisJLndvcmQJMzMxNjUKKwkud29yZAkxMjYzMgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU4NjY2CisJLndvcmQJMzc2NjYKKwkud29yZAkxMjYwMQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU4NzI4CisJLndvcmQJMzk3ODgKKwkud29yZAkxMjU2OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTkwNDgKKwkud29yZAk0MzUzMAorCS53b3JkCTEyNTM4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTg0OTYKKwkud29yZAk1NzY1OQorCS53b3JkCTEyNTA1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTIzMjQKKwkud29yZAkzNzAyNQorCS53b3JkCTEyNDc3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzg0MzIKKwkud29yZAk1NTg1NgorCS53b3JkCTEyNDQ1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzUyMTAKKwkud29yZAk0NTk2MAorCS53b3JkCTEyNDE1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDU2NDQKKwkud29yZAk1MTM0NQorCS53b3JkCTEyMzg0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzI4NTQKKwkud29yZAk2Mzg4MworCS53b3JkCTEyMzUzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjkzNDgKKwkud29yZAk0MTQ1MAorCS53b3JkCTEyMzIxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjczODQKKwkud29yZAkzODAyNAorCS53b3JkCTEyMjg5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTczNTYKKwkud29yZAk1NzI5MQorCS53b3JkCTEyMjYwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjExNjQKKwkud29yZAk1MTUyMQorCS53b3JkCTEyMjI4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjE0NzIKKwkud29yZAk1OTE1MQorCS53b3JkCTEyMTk2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzY3MDQKKwkud29yZAkzOTk0MworCS53b3JkCTEyMTY1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDU4NjQKKwkud29yZAk1MDE1MQorCS53b3JkCTEyMTM2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzc4OTIKKwkud29yZAk2MzY4NworCS53b3JkCTEyMTA0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTQ1NjAKKwkud29yZAk1MTYxNQorCS53b3JkCTEyMDczCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzg3NzYKKwkud29yZAk1NTY4NAorCS53b3JkCTEyMDQxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTkxMzYKKwkud29yZAk1MzU3MAorCS53b3JkCTEyMDEwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTU1NTYKKwkud29yZAkzNzk1NQorCS53b3JkCTExOTgxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTQ0NTgKKwkud29yZAk0NDY3MAorCS53b3JkCTExOTUwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzY0NDYKKwkud29yZAkzNDA4NAorCS53b3JkCTExOTE5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDY0MTYKKwkud29yZAk1MTY5MworCS53b3JkCTExODg2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjE0MzIKKwkud29yZAkzNDM3NgorCS53b3JkCTExODU3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTYwMzYKKwkud29yZAkzNDgwOQorCS53b3JkCTExODI2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTA1NjIKKwkud29yZAk1NTY1NAorCS53b3JkCTExNzk1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjAyNjQKKwkud29yZAk1MzA1MgorCS53b3JkCTExNzYzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjQwNjQKKwkud29yZAk1MDQxNQorCS53b3JkCTExNzI5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTc0NDQKKwkud29yZAk0ODI5NQorCS53b3JkCTExNzAxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTE4NzQKKwkud29yZAk1MjY3NworCS53b3JkCTExNjcxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjA4MDgKKwkud29yZAkzOTI3NQorCS53b3JkCTExNjQwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzE3OTIKKwkud29yZAk1NTY3NworCS53b3JkCTExNjA2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjA3MTAKKwkud29yZAk0OTAwNgorCS53b3JkCTExNTc4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTA1MjAKKwkud29yZAkzNzQwMworCS53b3JkCTExNTQ2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjAwMDQKKwkud29yZAk1OTQ3MAorCS53b3JkCTExNTE1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjgwOTYKKwkud29yZAkzNzYxMgorCS53b3JkCTExNDg1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjAyNjgKKwkud29yZAk0NDI4MAorCS53b3JkCTExNDUzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTA3NDAKKwkud29yZAk2MTU4OAorCS53b3JkCTExNDIyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTY0MzIKKwkud29yZAk1ODgzNQorCS53b3JkCTExMzkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJODU3NgorCS53b3JkCTQyNDk2CisJLndvcmQJMTEzNTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMzkyMAorCS53b3JkCTU0OTEyCisJLndvcmQJMTEzMjQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNTYyMAorCS53b3JkCTU0ODQzCisJLndvcmQJMTEyOTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk3MzYKKwkud29yZAk0MzU5MQorCS53b3JkCTExMjY0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzk2MzIKKwkud29yZAk2MTA2MAorCS53b3JkCTExMjM1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjM0NTIKKwkud29yZAk2MzEyOQorCS53b3JkCTExMjA2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTY3OTgKKwkud29yZAk1ODUxMgorCS53b3JkCTExMTc1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTM0NzIKKwkud29yZAk0NjMzMworCS53b3JkCTExMTQxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzczMDAKKwkud29yZAkzNjU5OAorCS53b3JkCTExMTEyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDE5NTIKKwkud29yZAk0MTYzOQorCS53b3JkCTExMDc5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTI0NTIKKwkud29yZAkzMzQ1OQorCS53b3JkCTExMDUwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTg1NTgKKwkud29yZAkzMzI4NworCS53b3JkCTExMDIwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNzU3MAorCS53b3JkCTQzODQzCisJLndvcmQJMTA5ODkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1OTQxNgorCS53b3JkCTYzOTkwCisJLndvcmQJMTA5NTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2NTI5OAorCS53b3JkCTQ3NzQ0CisJLndvcmQJMTA5MjcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMTA3NgorCS53b3JkCTM0MDg5CisJLndvcmQJMTA4OTYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk3MDQ4CisJLndvcmQJNTczOTQKKwkud29yZAkxMDg2NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEyODcyCisJLndvcmQJNTU0MDUKKwkud29yZAkxMDgzMgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEyNjA4CisJLndvcmQJNTE2NjkKKwkud29yZAkxMDc5OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUzNTAKKwkud29yZAk0ODQ1NQorCS53b3JkCTEwNzcyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjM1NjgKKwkud29yZAk1ODY5MgorCS53b3JkCTEwNzQwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDA3ODQKKwkud29yZAkzNzA0NgorCS53b3JkCTEwNzA4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzg5OTIKKwkud29yZAk0Mzg2MQorCS53b3JkCTEwNjc4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTAwNjQKKwkud29yZAk0MDE5OQorCS53b3JkCTEwNjQ4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjYzNjgKKwkud29yZAkzNTc3MQorCS53b3JkCTEwNjExCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjM5OTQKKwkud29yZAk2MDcyMQorCS53b3JkCTEwNTg2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjUwNTIKKwkud29yZAkzNDMwMgorCS53b3JkCTEwNTU0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzk4NDIKKwkud29yZAk1NDk2NAorCS53b3JkCTEwNTI0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTE1NjgKKwkud29yZAk1ODI3NworCS53b3JkCTEwNDkxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjYxNjAKKwkud29yZAk0NjQzOAorCS53b3JkCTEwNDYxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjMyNTIKKwkud29yZAk0MzA0OQorCS53b3JkCTEwNDMxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzUyODgKKwkud29yZAk1ODAwMAorCS53b3JkCTEwNDAwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTQ2MTQKKwkud29yZAk1MDIxNgorCS53b3JkCTEwMzY5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTE2OAorCS53b3JkCTQ4ODA0CisJLndvcmQJMTAzMzYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MDkzNAorCS53b3JkCTMzMDA2CisJLndvcmQJMTAzMDcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2NDUxMgorCS53b3JkCTYyMjQ3CisJLndvcmQJMTAyNzIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1OTk2OAorCS53b3JkCTQzMTIxCisJLndvcmQJMTAyNDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNTU2MAorCS53b3JkCTM5OTc0CisJLndvcmQJMTAyMTIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxOTc4CisJLndvcmQJNDkzNTMKKwkud29yZAkxMDE4MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE2MjkwCisJLndvcmQJMzg4MDcKKwkud29yZAkxMDE1MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTg2NDYKKwkud29yZAk2NTIyNgorCS53b3JkCTEwMTIxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTY4OTYKKwkud29yZAkzNDMxNworCS53b3JkCTEwMDg4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDAxMzYKKwkud29yZAkzOTExOAorCS53b3JkCTEwMDU3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTQyMDAKKwkud29yZAk0MTc1NgorCS53b3JkCTEwMDI2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTkyNTYKKwkud29yZAk2MzIwMgorCS53b3JkCTk5OTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMjk2OAorCS53b3JkCTYzNTUzCisJLndvcmQJOTk2NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTczNgorCS53b3JkCTQ0MjkyCisJLndvcmQJOTkzMworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIzMTg2CisJLndvcmQJMzc3NjAKKwkud29yZAk5OTA0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTEwMDgKKwkud29yZAkzNDk1MAorCS53b3JkCTk4NjkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNjY0CisJLndvcmQJNjQyNDgKKwkud29yZAk5ODM2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjQzNTIKKwkud29yZAkzNTE5OQorCS53b3JkCTk4MTEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNDY1NgorCS53b3JkCTYzNzQ3CisJLndvcmQJOTc4MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ0MzMwCisJLndvcmQJNDk4NjQKKwkud29yZAk5NzQ5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTE2NTQKKwkud29yZAkzNTU2NworCS53b3JkCTk3MTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk3OTI0CisJLndvcmQJNTg5MTkKKwkud29yZAk5Njg2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjUzMgorCS53b3JkCTMyODAwCisJLndvcmQJOTY1NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMwMDI0CisJLndvcmQJNTM3OTkKKwkud29yZAk5NjI0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzAxNzIKKwkud29yZAk2NDM0NworCS53b3JkCTk1OTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MDAzNgorCS53b3JkCTUxMzgyCisJLndvcmQJOTU2MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU4NTc2CisJLndvcmQJMzMwOTMKKwkud29yZAk5NTMxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTM4ODgKKwkud29yZAkzODc2MAorCS53b3JkCTk1MDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk5MzIyCisJLndvcmQJNTI0NjAKKwkud29yZAk5NDcwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjA5NDQKKwkud29yZAk0MTA3NworCS53b3JkCTk0MzcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNzk3NgorCS53b3JkCTQxODYxCisJLndvcmQJOTQwNworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU1MTc2CisJLndvcmQJNTUxNTgKKwkud29yZAk5Mzc3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDk3NgorCS53b3JkCTM1MjIzCisJLndvcmQJOTM0NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTc4MTYKKwkud29yZAkzOTc4MworCS53b3JkCTkzMTQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNzY1NgorCS53b3JkCTU1NjY5CisJLndvcmQJOTI4NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTY0OTQ0CisJLndvcmQJNTMxODQKKwkud29yZAk5MjUwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTI1NDQKKwkud29yZAk0OTE5MAorCS53b3JkCTkyMjIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MDYxMgorCS53b3JkCTQ0NjQ0CisJLndvcmQJOTE5MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTg4MzIKKwkud29yZAk2MzExMQorCS53b3JkCTkxNTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMTc0NAorCS53b3JkCTM2ODcwCisJLndvcmQJOTEyOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTk0MDQKKwkud29yZAk2MzAyNQorCS53b3JkCTkwOTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NzMxNgorCS53b3JkCTQzMzgxCisJLndvcmQJOTA2NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU1NzE2CisJLndvcmQJNDc0MzMKKwkud29yZAk5MDM1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDY0MTQKKwkud29yZAk0ODQ0MQorCS53b3JkCTkwMDUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxOTExNgorCS53b3JkCTM5NTA2CisJLndvcmQJODk3NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ4MDYwCisJLndvcmQJNTMzODEKKwkud29yZAk4OTQzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTcxMTIKKwkud29yZAk1MDczOQorCS53b3JkCTg5MTEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1ODQwCisJLndvcmQJNjA1ODEKKwkud29yZAk4ODc5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjIxMTIKKwkud29yZAk1NzE5OQorCS53b3JkCTg4NDYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNTkwOAorCS53b3JkCTU5NDk5CisJLndvcmQJODgxOAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEzNzYwCisJLndvcmQJNDgxMTYKKwkud29yZAk4Nzg3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzEzNgorCS53b3JkCTU2MDU5CisJLndvcmQJODc1MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM3NTk2CisJLndvcmQJMzkyMjEKKwkud29yZAk4NzI2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzIzMgorCS53b3JkCTQ4NTUwCisJLndvcmQJODY5MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIyODcyCisJLndvcmQJNDI3NDkKKwkud29yZAk4NjYyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDE5NDgKKwkud29yZAk0MDMxOQorCS53b3JkCTg2MzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMTE5NgorCS53b3JkCTY0NjkzCisJLndvcmQJODYwMQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYyMDUyCisJLndvcmQJNTI5MjMKKwkud29yZAk4NTcxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjc1MAorCS53b3JkCTMzNTQ0CisJLndvcmQJODU0MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEyNDYyCisJLndvcmQJNDYxNzkKKwkud29yZAk4NTA5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjUxMjgKKwkud29yZAk0NTEyMAorCS53b3JkCTg0NzYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MTYzNAorCS53b3JkCTYyNTIzCisJLndvcmQJODQ0NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE1NzU4CisJLndvcmQJNDIxNjMKKwkud29yZAk4NDE2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzQwMjIKKwkud29yZAkzNjI2NworCS53b3JkCTgzODUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MTI1MgorCS53b3JkCTM5Nzk2CisJLndvcmQJODM1MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ5NzgyCisJLndvcmQJNTQ0MjMKKwkud29yZAk4MzIzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjU0MjgKKwkud29yZAk0MjA4NgorCS53b3JkCTgyOTEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNDM4OAorCS53b3JkCTQ0ODEwCisJLndvcmQJODI2MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTc0NTYKKwkud29yZAk2NDA5MgorCS53b3JkCTgyMjgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0ODMzNgorCS53b3JkCTYyNDQ4CisJLndvcmQJODE5NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYwOTEyCisJLndvcmQJNjE2MjIKKwkud29yZAk4MTY3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTc4NTIKKwkud29yZAkzNzI1MAorCS53b3JkCTgxMzcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1Nzk0MAorCS53b3JkCTU2NDUzCisJLndvcmQJODEwNgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ3MjU2CisJLndvcmQJNTk4MjUKKwkud29yZAk4MDc0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzc3NAorCS53b3JkCTU5MTIwCisJLndvcmQJODA0NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQzNDQ4CisJLndvcmQJNjI4NTIKKwkud29yZAk4MDEyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDg0MAorCS53b3JkCTU3MTk1CisJLndvcmQJNzk4MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQwODYyCisJLndvcmQJNTI1NjUKKwkud29yZAk3OTUxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTQ0MAorCS53b3JkCTYwNDc0CisJLndvcmQJNzkxOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU1NTIwCisJLndvcmQJMzg2NDgKKwkud29yZAk3ODg5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTUzMTYKKwkud29yZAk1MjQyMgorCS53b3JkCTc4NTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxODcwNAorCS53b3JkCTQ3MjI3CisJLndvcmQJNzgyNworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ4ODkyCisJLndvcmQJNTQyODMKKwkud29yZAk3Nzk1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTI2NzAKKwkud29yZAk0MTk5MAorCS53b3JkCTc3NjUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNzU3MAorCS53b3JkCTQ5ODQyCisJLndvcmQJNzczNAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ3MjMwCisJLndvcmQJNDc5OTIKKwkud29yZAk3NzAzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDEwMjAKKwkud29yZAk1NjI1MworCS53b3JkCTc2NzEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMzQwNAorCS53b3JkCTU4MzEyCisJLndvcmQJNzY0MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM1MTc2CisJLndvcmQJNTE4NTQKKwkud29yZAk3NjEwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDkxODgKKwkud29yZAk1OTA1MQorCS53b3JkCTc1NzgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNjY1NgorCS53b3JkCTU0NTA3CisJLndvcmQJNzU0NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQxMzIwCisJLndvcmQJNDg1NjUKKwkud29yZAk3NTE3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzAyCisJLndvcmQJNDI0OTAKKwkud29yZAk3NDg2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjY2ODAKKwkud29yZAkzOTk2NworCS53b3JkCTc0NTQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MTMwNAorCS53b3JkCTQzNjM4CisJLndvcmQJNzQyNAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIzMTQKKwkud29yZAk0ODUzMworCS53b3JkCTczOTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MzI5NAorCS53b3JkCTM1NjkzCisJLndvcmQJNzM2MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI0NTM4CisJLndvcmQJNDgzMTkKKwkud29yZAk3MzMxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTYyOTYKKwkud29yZAk0NzI2MworCS53b3JkCTczMDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyODIzNgorCS53b3JkCTM4NTk5CisJLndvcmQJNzI2OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTY1OTQKKwkud29yZAk2MjExNgorCS53b3JkCTcyMzgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NzEwNAorCS53b3JkCTYzNTczCisJLndvcmQJNzE5OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM0ODEyCisJLndvcmQJMzQzMDMKKwkud29yZAk3MTc2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTE0NAorCS53b3JkCTMzNjk1CisJLndvcmQJNzE0NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI0OTY2CisJLndvcmQJNTU3NjgKKwkud29yZAk3MTE0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjI3MjAKKwkud29yZAk0Mzk0NgorCS53b3JkCTcwNzgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMTU0MgorCS53b3JkCTU2MDYyCisJLndvcmQJNzA1MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYyMzU2CisJLndvcmQJNTkwOTYKKwkud29yZAk3MDIwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjg0MTIKKwkud29yZAk0MDUzMworCS53b3JkCTY5OTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNDA4MAorCS53b3JkCTUwNDY3CisJLndvcmQJNjk1OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMzMjk2CisJLndvcmQJNDY4NDEKKwkud29yZAk2OTI1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzk2MDAKKwkud29yZAkzODYyNworCS53b3JkCTY4OTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNDQzNgorCS53b3JkCTM3NjA3CisJLndvcmQJNjg2NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM5MDMyCisJLndvcmQJNTY0MjEKKwkud29yZAk2ODMzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjQwMzIKKwkud29yZAk1NDk4NworCS53b3JkCTY4MDQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNzY0OAorCS53b3JkCTQyMjEyCisJLndvcmQJNjc2OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQzODQwCisJLndvcmQJNDYxMDcKKwkud29yZAk2NzM5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTczMTYKKwkud29yZAkzNjU3NAorCS53b3JkCTY3MTEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk4OTI4CisJLndvcmQJMzc2NTIKKwkud29yZAk2Njc3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjQ5NDQKKwkud29yZAk0NzQzMworCS53b3JkCTY2NDgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNzM5MgorCS53b3JkCTU3NDMwCisJLndvcmQJNjYxNgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM5ODQ4CisJLndvcmQJNDMzNDAKKwkud29yZAk2NTg1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjQxNjAKKwkud29yZAk0MzU0MgorCS53b3JkCTY1NTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNTIyNgorCS53b3JkCTYzMDE1CisJLndvcmQJNjUyNQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQwNzM2CisJLndvcmQJNjQzNjgKKwkud29yZAk2NDkzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDIxNjgKKwkud29yZAk0OTUyNgorCS53b3JkCTY0NjIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NTU5NgorCS53b3JkCTM0MjQzCisJLndvcmQJNjQzMgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIwNjkwCisJLndvcmQJMzk3MDUKKwkud29yZAk2NDAxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTQ0NDgKKwkud29yZAk0Njg1NgorCS53b3JkCTYzNjgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2NDM5MgorCS53b3JkCTYyNzM2CisJLndvcmQJNjMzNworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEyNzgwCisJLndvcmQJNTY0NjEKKwkud29yZAk2MzA3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTUzNjAKKwkud29yZAk0OTE0NQorCS53b3JkCTYyNzcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMDUxMgorCS53b3JkCTQ5OTMxCisJLndvcmQJNjI0MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU0NTEyCisJLndvcmQJNTU4MjAKKwkud29yZAk2MjEyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJODQwMgorCS53b3JkCTM5MzMzCisJLndvcmQJNjE4NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM0MDk0CisJLndvcmQJNTM1OTMKKwkud29yZAk2MTUzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzE5NjAKKwkud29yZAkzODgxNworCS53b3JkCTYxMjEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNjk1NAorCS53b3JkCTM5MjkxCisJLndvcmQJNjA5MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ5NjAwCisJLndvcmQJNDg3NjUKKwkud29yZAk2MDU2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTk1ODAKKwkud29yZAk1NjU0MQorCS53b3JkCTYwMjkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNTYyNAorCS53b3JkCTQ0NTUwCisJLndvcmQJNTk5OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQxNDIKKwkud29yZAk0NzMxNgorCS53b3JkCTU5NjcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MzUyMAorCS53b3JkCTQzNjEyCisJLndvcmQJNTkzNQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIwOTc2CisJLndvcmQJNDA4OTYKKwkud29yZAk1OTAyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjM1NzYKKwkud29yZAk1NzcyOQorCS53b3JkCTU4NzQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNzI4OAorCS53b3JkCTMzMTIyCisJLndvcmQJNTg0MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI0Mzg0CisJLndvcmQJNTIwNzkKKwkud29yZAk1ODA5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDc5NTIKKwkud29yZAk1ODcxOQorCS53b3JkCTU3NzkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NDI0MgorCS53b3JkCTU1NDQ1CisJLndvcmQJNTc1MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYxMjMyCisJLndvcmQJMzg4NDcKKwkud29yZAk1NzE2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjMyMzIKKwkud29yZAk0NjAzOQorCS53b3JkCTU2ODMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMzM5NgorCS53b3JkCTQyOTMzCisJLndvcmQJNTY1NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI3MzkyCisJLndvcmQJNDMzMDUKKwkud29yZAk1NjIyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDA3MDgKKwkud29yZAkzNTMxOQorCS53b3JkCTU1OTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NDQwOAorCS53b3JkCTU1Njg1CisJLndvcmQJNTU2NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQyMDkwCisJLndvcmQJNDQ2MDcKKwkud29yZAk1NTMzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjU1MDQKKwkud29yZAk1MzQ2NgorCS53b3JkCTU1MDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNDIwOAorCS53b3JkCTMzMTQ5CisJLndvcmQJNTQ3MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUyNjgKKwkud29yZAk0NTM3NQorCS53b3JkCTU0NDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNDQKKwkud29yZAk0MDAwMAorCS53b3JkCTU0MDkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NjY4OAorCS53b3JkCTUyMzU4CisJLndvcmQJNTM3NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI1ODQ4CisJLndvcmQJNTYxNzUKKwkud29yZAk1MzQ1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTc5MDAKKwkud29yZAk0NDA1NQorCS53b3JkCTUzMTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNDgwMAorCS53b3JkCTQzNDM3CisJLndvcmQJNTI4MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE3OTg0CisJLndvcmQJNTQ4NzIKKwkud29yZAk1MjQ5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjU3NDQKKwkud29yZAk0MTM0NQorCS53b3JkCTUyMjMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk3NjY4CisJLndvcmQJNDM2ODIKKwkud29yZAk1MTkxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDc0MzQKKwkud29yZAkzNjcwNQorCS53b3JkCTUxNjEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMDg4OAorCS53b3JkCTQwMzIzCisJLndvcmQJNTEyOQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM5NjIKKwkud29yZAk0MzAzMgorCS53b3JkCTUwOTkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MDI3MAorCS53b3JkCTQ5MjYwCisJLndvcmQJNTA2OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIwMTYwCisJLndvcmQJNjQwNDEKKwkud29yZAk1MDMyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjU2MjQKKwkud29yZAkzNjAxMworCS53b3JkCTUwMDQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0ODMyOAorCS53b3JkCTU5MzQ1CisJLndvcmQJNDk3NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUxNTA4CisJLndvcmQJNjM5MjAKKwkud29yZAk0OTQzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjc4NzIKKwkud29yZAkzOTEzNQorCS53b3JkCTQ5MTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMzU5MAorCS53b3JkCTU4ODU3CisJLndvcmQJNDg4MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUwODgwCisJLndvcmQJNjEzMjMKKwkud29yZAk0ODQ3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDQ4MDIKKwkud29yZAkzNzE4MQorCS53b3JkCTQ4MjAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MzgwOAorCS53b3JkCTU3ODEzCisJLndvcmQJNDc4OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTY0NDI0CisJLndvcmQJNDk3MTQKKwkud29yZAk0NzU3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzE2NTIKKwkud29yZAk0NDAxMQorCS53b3JkCTQ3MjcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyODI1MgorCS53b3JkCTUwODM0CisJLndvcmQJNDY5NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMwMzcwCisJLndvcmQJMzg3NDIKKwkud29yZAk0NjY1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTc3MjgKKwkud29yZAk1ODQwMworCS53b3JkCTQ2MjgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNTkwMAorCS53b3JkCTM3MTEyCisJLndvcmQJNDYwMworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQwNzY0CisJLndvcmQJNDA5MTQKKwkud29yZAk0NTcyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjE0NzIKKwkud29yZAk0NjkxMAorCS53b3JkCTQ1NDEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNzg1NAorCS53b3JkCTM1MDMwCisJLndvcmQJNDUxMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQzNzgKKwkud29yZAkzNTc3NgorCS53b3JkCTQ0NzkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1Nzk2MgorCS53b3JkCTU1Mjk1CisJLndvcmQJNDQ0OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTY0MzUyCisJLndvcmQJNTY3MTcKKwkud29yZAk0NDE1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzc3NDQKKwkud29yZAk0OTQxNgorCS53b3JkCTQzODQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzODQ4NAorCS53b3JkCTM1NzU5CisJLndvcmQJNDM1NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU1MDIwCisJLndvcmQJNTQ5NjkKKwkud29yZAk0MzI0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJOTE4OAorCS53b3JkCTU1MjIzCisJLndvcmQJNDI5MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTY4MjIKKwkud29yZAk0MzA3OQorCS53b3JkCTQyNjIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0ODg3MAorCS53b3JkCTQwOTQzCisJLndvcmQJNDIzMQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTk5MzYKKwkud29yZAk0MjczMQorCS53b3JkCTQxOTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMzQzMAorCS53b3JkCTQzMTM2CisJLndvcmQJNDE2OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ3MDAKKwkud29yZAk1NTY2NQorCS53b3JkCTQxMzcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk4MDU2CisJLndvcmQJNDAyMTYKKwkud29yZAk0MTA2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzcxNgorCS53b3JkCTQ1NDAzCisJLndvcmQJNDA3NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUzNDQwCisJLndvcmQJNDk0ODgKKwkud29yZAk0MDQ0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDE3NzYKKwkud29yZAk1MDE4OAorCS53b3JkCTQwMTMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMDk5NAorCS53b3JkCTY0NTU2CisJLndvcmQJMzk4MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE2MjUyCisJLndvcmQJNjA2NjEKKwkud29yZAkzOTUxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjEyNTIKKwkud29yZAk2NTAyMQorCS53b3JkCTM5MjAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNjIzNgorCS53b3JkCTQzODAzCisJLndvcmQJMzg4OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTYzMDY0CisJLndvcmQJMzUzMDgKKwkud29yZAkzODU3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDkwOTYKKwkud29yZAkzOTg0OAorCS53b3JkCTM4MjgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxNTY4MAorCS53b3JkCTQ4NjczCisJLndvcmQJMzc5NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ4MDY4CisJLndvcmQJNTA5NTcKKwkud29yZAkzNzY2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjA4MjQKKwkud29yZAk1NjA4NgorCS53b3JkCTM3MzQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NjUwNAorCS53b3JkCTQzMjI0CisJLndvcmQJMzcwNAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUyNDI4CisJLndvcmQJNDYwOTQKKwkud29yZAkzNjcyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTc1NDgKKwkud29yZAk1MjA2NgorCS53b3JkCTM2NDIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MTczOAorCS53b3JkCTM1NTY1CisJLndvcmQJMzYxMQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTMxMTg0CisJLndvcmQJNTA1ODgKKwkud29yZAkzNTc5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTcxNgorCS53b3JkCTUyNjgxCisJLndvcmQJMzU0OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ0NjU2CisJLndvcmQJNDMzODUKKwkud29yZAkzNTE4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTI2NjgKKwkud29yZAk0MzI1OQorCS53b3JkCTM0ODYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNDU0NAorCS53b3JkCTM1NDA4CisJLndvcmQJMzQ1MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI4ODU0CisJLndvcmQJNjUwMTgKKwkud29yZAkzNDI1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTY5NgorCS53b3JkCTQwMzkxCisJLndvcmQJMzM5MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM5NTgwCisJLndvcmQJNTY0MDAKKwkud29yZAkzMzYzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjA0MjgKKwkud29yZAkzOTU3OQorCS53b3JkCTMzMzIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMjMyOAorCS53b3JkCTM2NzI3CisJLndvcmQJMzMwMQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM0MDIwCisJLndvcmQJNTQ0NTcKKwkud29yZAkzMjcwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzQwMTYKKwkud29yZAk0ODQwMAorCS53b3JkCTMyMzgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2OTIyCisJLndvcmQJNTE0MTcKKwkud29yZAkzMjA4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjcyMDgKKwkud29yZAk2NDY0MQorCS53b3JkCTMxNzYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxODAyCisJLndvcmQJNDg4ODYKKwkud29yZAkzMTQ2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzU0NDAKKwkud29yZAk2MTU5MAorCS53b3JkCTMxMTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MDYxMAorCS53b3JkCTUxNjA0CisJLndvcmQJMzA4NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU0NDAKKwkud29yZAkzODE5OQorCS53b3JkCTMwNTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2OTE0CisJLndvcmQJNDM4NjcKKwkud29yZAkzMDIyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjQwMDAKKwkud29yZAk0NTI1NgorCS53b3JkCTI5ODkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MTQ5NgorCS53b3JkCTU3Mzk2CisJLndvcmQJMjk1OQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTExNTM4CisJLndvcmQJNDYyNTYKKwkud29yZAkyOTI5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzY4MDIKKwkud29yZAk0ODAyMAorCS53b3JkCTI4OTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NzkxMAorCS53b3JkCTU3OTAzCisJLndvcmQJMjg2NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ3NDg0CisJLndvcmQJNDg3OTgKKwkud29yZAkyODM1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTc3NjYKKwkud29yZAk1NzcwOQorCS53b3JkCTI4MDUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NDA2NAorCS53b3JkCTQ3ODU2CisJLndvcmQJMjc3NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ5MzQwCisJLndvcmQJNDgwODAKKwkud29yZAkyNzQzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzY0NTQKKwkud29yZAk1NjczMQorCS53b3JkCTI3MTIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MTU0OAorCS53b3JkCTYzMzg1CisJLndvcmQJMjY4MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU2MDAwCisJLndvcmQJNDg3MTYKKwkud29yZAkyNjQ1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDQ5OTIKKwkud29yZAk1MDA0MAorCS53b3JkCTI2MTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MzEzNgorCS53b3JkCTU4MTc3CisJLndvcmQJMjU4NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ5NzMwCisJLndvcmQJMzMyNzAKKwkud29yZAkyNTU3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjk4MDgKKwkud29yZAk1MTA2MworCS53b3JkCTI1MjYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNTI3NgorCS53b3JkCTQ2NzI0CisJLndvcmQJMjQ5NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE3MzI0CisJLndvcmQJMzU5MjgKKwkud29yZAkyNDYzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTIyODQKKwkud29yZAk2MzkxNgorCS53b3JkCTI0MzMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1NDE0CisJLndvcmQJNDY3MDQKKwkud29yZAkyNDAyCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTE3MTAKKwkud29yZAk1NzE2OAorCS53b3JkCTIzNzEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNzM2NgorCS53b3JkCTQ5MjUzCisJLndvcmQJMjM0MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ1MzMyCisJLndvcmQJNTMwMzMKKwkud29yZAkyMzA5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTQxNTIKKwkud29yZAkzNzQxOAorCS53b3JkCTIyNzYKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MzA3NgorCS53b3JkCTQ3Mzk4CisJLndvcmQJMjI0NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE0Mzc0CisJLndvcmQJNTk0NzcKKwkud29yZAkyMjE2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTkzMzYKKwkud29yZAkzMzQzNQorCS53b3JkCTIxODQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMTYxMgorCS53b3JkCTQzMjY3CisJLndvcmQJMjE1NAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM0NjY0CisJLndvcmQJMzkzNzIKKwkud29yZAkyMTIxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTcyCisJLndvcmQJNjI3NjEKKwkud29yZAkyMDkxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJOTgxNgorCS53b3JkCTQwNzE1CisJLndvcmQJMjA2MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTY1MTE2CisJLndvcmQJNDA0ODEKKwkud29yZAkyMDMwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjgwNjYKKwkud29yZAkzOTE4NAorCS53b3JkCTE5OTkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzNzQwOAorCS53b3JkCTYzOTIzCisJLndvcmQJMTk2OAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE1NzYwCisJLndvcmQJNDIzMDUKKwkud29yZAkxOTM3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjgyMzYKKwkud29yZAk1OTM0MAorCS53b3JkCTE5MDUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0MzI1OAorCS53b3JkCTU5NDAyCisJLndvcmQJMTg3NQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE5OTg4CisJLndvcmQJNTAwODcKKwkud29yZAkxODQ0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjM0NTYKKwkud29yZAk0NzgzMworCS53b3JkCTE4MTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2NTE4NAorCS53b3JkCTYxNDI2CisJLndvcmQJMTc4MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUyOTgyCisJLndvcmQJNDg0NTYKKwkud29yZAkxNzUxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzAwMjAKKwkud29yZAk2MjgwOQorCS53b3JkCTE3MTkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk5MDk2CisJLndvcmQJNjMwNjEKKwkud29yZAkxNjg4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTk2NDgKKwkud29yZAk0NDM3NAorCS53b3JkCTE2NTQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMTQ1NgorCS53b3JkCTMzODQ3CisJLndvcmQJMTYyNQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEyMzkyCisJLndvcmQJNTA1MDAKKwkud29yZAkxNTk1CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTY0MzIKKwkud29yZAk1OTE5NgorCS53b3JkCTE1NjMKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MTAwOAorCS53b3JkCTQwMjY1CisJLndvcmQJMTUzMgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM3ODQyCisJLndvcmQJMzMyNzAKKwkud29yZAkxNTAzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzc5MTYKKwkud29yZAk0NDU0MworCS53b3JkCTE0NzEKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMTQ5MAorCS53b3JkCTM2NDIxCisJLndvcmQJMTQ0MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE5MDQwCisJLndvcmQJMzgzOTcKKwkud29yZAkxNDA5CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzEyMjQKKwkud29yZAk0NzE2MgorCS53b3JkCTEzNzkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk1MjA1NgorCS53b3JkCTQxNDYxCisJLndvcmQJMTM0NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTEwODEwCisJLndvcmQJNTYzNzQKKwkud29yZAkxMzE3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTM1OAorCS53b3JkCTM1MDg2CisJLndvcmQJMTI4NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM2NjQwCisJLndvcmQJNTAyMjYKKwkud29yZAkxMjUxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzM4NTYKKwkud29yZAk0NTU5NworCS53b3JkCTEyMjIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMTU1MgorCS53b3JkCTYzMTI4CisJLndvcmQJMTE5MQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTExOTgKKwkud29yZAkzNTYxNgorCS53b3JkCTExNjIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMjMyCisJLndvcmQJNTk1MDYKKwkud29yZAkxMTMxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTEwODYKKwkud29yZAkzNDk2MworCS53b3JkCTExMDAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzOTYwCisJLndvcmQJMzkwNjEKKwkud29yZAkxMDY3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDU2NAorCS53b3JkCTU3MTM0CisJLndvcmQJMTAzNworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTU5NDY4CisJLndvcmQJMzUyODUKKwkud29yZAkxMDA3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjM0MjIKKwkud29yZAkzNTQzMQorCS53b3JkCTk3NgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM4MzUyCisJLndvcmQJNTE0NjIKKwkud29yZAk5NDUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyNTgwNgorCS53b3JkCTU1NjYwCisJLndvcmQJOTE0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzg4NDIKKwkud29yZAk0MTMyNworCS53b3JkCTg4MworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE3OTgwCisJLndvcmQJNTA0NTgKKwkud29yZAk4NTIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk2MTE5NAorCS53b3JkCTU5NzEwCisJLndvcmQJODIxCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjEwOTgKKwkud29yZAk0MjA4NgorCS53b3JkCTc5MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTE2NzA0CisJLndvcmQJNDMzNDEKKwkud29yZAk3NTcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NjMxNgorCS53b3JkCTUyODQwCisJLndvcmQJNzI4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjAzODYKKwkud29yZAkzMzkzNgorCS53b3JkCTY5NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIwMDY0CisJLndvcmQJNTE4NjQKKwkud29yZAk2NjQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMjY4CisJLndvcmQJNTc1MDAKKwkud29yZAk2MzQKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxMTE1MgorCS53b3JkCTUxMTcxCisJLndvcmQJNjA0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMjMxNjQKKwkud29yZAk2MzcyNworCS53b3JkCTU3MgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTIwNTE0CisJLndvcmQJNDAyODAKKwkud29yZAk1NDIKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkyMTgxOAorCS53b3JkCTU3OTIyCisJLndvcmQJNTExCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzIzNjYKKwkud29yZAk0NjQxMworCS53b3JkCTQ4MAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTUzOTcyCisJLndvcmQJNDMxNDgKKwkud29yZAk0NDkKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMDEzNAorCS53b3JkCTY1MTMzCisJLndvcmQJNDE4CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMTUyODIKKwkud29yZAk2MTUxNgorCS53b3JkCTM4NworCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTQ5ODcyCisJLndvcmQJNDkyMjIKKwkud29yZAkzNTUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk5NDg0CisJLndvcmQJNjM5NTgKKwkud29yZAkzMjUKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk0NzAyOAorCS53b3JkCTM1MzQxCisJLndvcmQJMjk0CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjc3MAorCS53b3JkCTU4NjEzCisJLndvcmQJMjYzCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMzMzNzIKKwkud29yZAk0MzQ0OAorCS53b3JkCTIzMgorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTI3NzkyCisJLndvcmQJNTE2MjkKKwkud29yZAkxOTgKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkxOTcxMgorCS53b3JkCTUzNjkxCisJLndvcmQJMTcwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNDIxNDQKKwkud29yZAk2MDkyOQorCS53b3JkCTEzNQorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTM1MjQwCisJLndvcmQJNDg3OTkKKwkud29yZAkxMDcKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAk5MTAKKwkud29yZAk1MTIxMgorCS53b3JkCTc3CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNjUwNjIKKwkud29yZAkzMzY2OAorCS53b3JkCTQ2CisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkwCisJLndvcmQJNTI2MjQKKwkud29yZAk1MTc5OQorCS53b3JkCTE0CisJLndvcmQJMAorCS50eXBlCV9fNG9ucGlfMzFsLEBvYmplY3QKKwkuc2l6ZQlfXzRvbnBpXzMxbCw2NDQ0CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvbGlibV9zaW5jb3NfaHVnZS5TIGIvbGlibS94ODYvbGlibV9zaW5jb3NfaHVnZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0M2QxOTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9saWJtX3NpbmNvc19odWdlLlMKQEAgLTAsMCArMSw2NjggQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyMgLS0gQmVnaW4gIF9fbGlibV9zaW5jb3NfaHVnZQorCS50ZXh0CisgICAgICAgLmFsaWduICAgIDE2LDB4OTAKKwkuaGlkZGVuIF9fbGlibV9zaW5jb3NfaHVnZQorCS5nbG9ibCBfX2xpYm1fc2luY29zX2h1Z2UKK19fbGlibV9zaW5jb3NfaHVnZToKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisjIHBhcmFtZXRlciAyOiAxNiArICVlYnAKKyMgcGFyYW1ldGVyIDM6IDIwICsgJWVicAorLi5CMS4xOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBhbmRsICAgICAgJC02NCwgJWVzcAorICAgICAgICBwdXNobCAgICAgJWVzaQorICAgICAgICBwdXNobCAgICAgJWVkaQorICAgICAgICBwdXNobCAgICAgJWVieAorICAgICAgICBzdWJsICAgICAgJDUyLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAxNiglZWJwKSwgJWVheAorICAgICAgICBtb3ZsICAgICAgMjAoJWVicCksICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlYXgsIDMyKCVlc3ApCisgICAgICAgIG1vdmwgICAgICAlZWR4LCAzNiglZXNwKQorLi5CMS4yOgorICAgICAgICBmbnN0Y3cgICAgMzAoJWVzcCkKKy4uQjEuMzoKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZWRpCisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZWRpKSwgJWVkaQorICAgICAgICBtb3ZzZCAgICAgOCglZWJwKSwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgIDEyKCVlYnApLCAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVheAorICAgICAgICBhbmRwcyAgICAgLkxfMmlsMGZsb2F0cGFja2V0LjBAR09UT0ZGKCVlZGkpLCAleG1tMQorICAgICAgICBzaHJsICAgICAgJDMxLCAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZWF4LCA0MCglZXNwKQorICAgICAgICBjbXBsICAgICAgJDExMDQxNTA1MjgsICVlYXgKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCA4KCVlYnApCisgICAgICAgIGphZSAgICAgICAuLkIxLjExCisuLkIxLjQ6CisgICAgICAgIG1vdnNkICAgICBfUGk0SW52QEdPVE9GRiglZWRpKSwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3Z6d2wgICAgMzAoJWVzcCksICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQ3NjgsICVlYXgKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgY21wbCAgICAgICQ3NjgsICVlYXgKKyAgICAgICAgamUgICAgICAgIC4uQjEuNDIKKy4uQjEuNToKKyAgICAgICAgb3JsICAgICAgICQtNjQ3NjgsICVlZHgKKyAgICAgICAgbW92dyAgICAgICVkeCwgMjgoJWVzcCkKKy4uQjEuNjoKKyAgICAgICAgZmxkY3cgICAgIDI4KCVlc3ApCisuLkIxLjc6CisgICAgICAgIG1vdnNkICAgICA4KCVlYnApLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDEsICVlYngKKy4uQjEuODoKKyAgICAgICAgbW92bCAgICAgICVlYngsIDEyKCVlc3ApCisgICAgICAgIG1vdmwgICAgICA0KCVlc3ApLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZXNpLCA4KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAlZXNpCisgICAgICAgIHNocmwgICAgICAkMjAsICVlc2kKKyAgICAgICAgYW5kbCAgICAgICQxMDQ4NTc1LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAkMTA0ODU3NiwgJWVheAorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVkeAorICAgICAgICBhZGRsICAgICAgJDE5LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAkMTMsICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlY3gsIDI0KCVlc3ApCisgICAgICAgIHNocmwgICAgICAlY2wsICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlc2ksICVlY3gKKyAgICAgICAgc2hsbCAgICAgICVjbCwgJWVheAorICAgICAgICBtb3ZsICAgICAgMjQoJWVzcCksICVlY3gKKyAgICAgICAgbW92bCAgICAgICglZXNwKSwgJWVzaQorICAgICAgICBzaHJsICAgICAgJWNsLCAlZXNpCisgICAgICAgIG9ybCAgICAgICAlZXNpLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTA5NDcxMzM0NCwgJWVieAorICAgICAgICBtb3ZzZCAgICAgJXhtbTEsIDE2KCVlc3ApCisgICAgICAgIGZsZGwgICAgICAxNiglZXNwKQorICAgICAgICBjbW92YiAgICAgJWVkeCwgJWVheAorICAgICAgICBtb3ZsICAgICAgOCglZXNwKSwgJWVzaQorICAgICAgICBsZWEgICAgICAgMSglZWF4KSwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVieAorICAgICAgICBhbmRsICAgICAgJC0yLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAxNiglZXNwKQorICAgICAgICBmaWxkbCAgICAgMTYoJWVzcCkKKyAgICAgICAgbW92bCAgICAgIDEyKCVlc3ApLCAlZWJ4CisgICAgICAgIGNtcGwgICAgICAkMTA5NDcxMzM0NCwgNDAoJWVzcCkKKyAgICAgICAgamFlICAgICAgIC4uQjEuMTAKKy4uQjEuOToKKyAgICAgICAgZmxkbCAgICAgIF9QaTR4M0BHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbGRsICAgICAgOCtfUGk0eDNAR09UT0ZGKCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIDE2K19QaTR4M0BHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBqbXAgICAgICAgLi5CMS4xNworLi5CMS4xMDoKKyAgICAgICAgZmxkbCAgICAgIF9QaTR4NEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbGRsICAgICAgOCtfUGk0eDRAR09UT0ZGKCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIDE2K19QaTR4NEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbGRsICAgICAgMjQrX1BpNHg0QEdPVE9GRiglZWRpKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGptcCAgICAgICAuLkIxLjE3CisuLkIxLjExOgorICAgICAgICBtb3Z6d2wgICAgMzAoJWVzcCksICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQ3NjgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ3NjgsICVlYXgKKyAgICAgICAgamUgICAgICAgIC4uQjEuNDMKKy4uQjEuMTI6CisgICAgICAgIG9ybCAgICAgICAkLTY0NzY4LCAlZWR4CisgICAgICAgIG1vdncgICAgICAlZHgsIDI4KCVlc3ApCisuLkIxLjEzOgorICAgICAgICBmbGRjdyAgICAgMjgoJWVzcCkKKy4uQjEuMTQ6CisgICAgICAgIG1vdnNkICAgICA4KCVlYnApLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDEsICVlYngKKy4uQjEuMTU6CisgICAgICAgIG1vdnNkICAgICAleG1tMSwgMTYoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgIDE2KCVlc3ApCisgICAgICAgIGFkZGwgICAgICAkLTMyLCAlZXNwCisgICAgICAgIGxlYSAgICAgICAzMiglZXNwKSwgJWVheAorICAgICAgICBmc3RwdCAgICAgKCVlc3ApCisgICAgICAgIG1vdmwgICAgICAkMCwgMTIoJWVzcCkKKyAgICAgICAgbW92bCAgICAgICVlYXgsIDE2KCVlc3ApCisgICAgICAgIGNhbGwgICAgICBfX2xpYm1fcmVkdWNlX3BpMDRsCisuLkIxLjQ2OgorICAgICAgICBhZGRsICAgICAgJDMyLCAlZXNwCisuLkIxLjE2OgorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGxlYSAgICAgICAxKCVlYXgpLCAlZWR4CisgICAgICAgIGZsZGwgICAgICA4KCVlc3ApCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorLi5CMS4xNzoKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQzLCAlZWF4CisgICAgICAgIHNocmwgICAgICAkMiwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDEsICVlY3gKKyAgICAgICAgc2hybCAgICAgICQyLCAlZWF4CisgICAgICAgIHhvcmwgICAgICAlZWN4LCAlZXNpCisgICAgICAgIG1vdmwgICAgICAzNiglZXNwKSwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMywgJWVjeAorICAgICAgICBqbmUgICAgICAgLi5CMS4yNQorLi5CMS4xODoKKyAgICAgICAgZmxkdCAgICAgIDg0K19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmxkICAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgdGVzdGIgICAgICQyLCAlZGwKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZHQgICAgICA3MitfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkdCAgICAgIDYwK19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbGR0ICAgICAgNDgrX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZHQgICAgICAzNitfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkdCAgICAgIDI0K19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbGR0ICAgICAgMTIrX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZHQgICAgICBfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkdCAgICAgIDg0K19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZHQgICAgICA3MitfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDYwK19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgNDgrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAzNitfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDI0K19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZHQgICAgICBfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZWRpLCVlc2ksOCkKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZWRpLCVlYXgsOCkKKyAgICAgICAgamUgICAgICAgIC4uQjEuMjIKKy4uQjEuMTk6CisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCg0KQorICAgICAgICB0ZXN0bCAgICAgJWVieCwgJWVieAorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBtb3ZsICAgICAgMzIoJWVzcCksICVlYXgKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMikKKyAgICAgICAgZnN0cGwgICAgICglZWF4KQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzdHBsICAgICA4KCVlYXgpCisgICAgICAgIGplICAgICAgICAuLkIxLjIxCisuLkIxLjIwOgorICAgICAgICBmbGRjdyAgICAgMzAoJWVzcCkKKy4uQjEuMjE6CisgICAgICAgIGFkZGwgICAgICAkNTIsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYngKKyAgICAgICAgcG9wbCAgICAgICVlZGkKKyAgICAgICAgcG9wbCAgICAgICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMS4yMjoKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoNCkKKyAgICAgICAgdGVzdGwgICAgICVlYngsICVlYngKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgbW92bCAgICAgIDMyKCVlc3ApLCAlZWF4CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgzKQorICAgICAgICBmeGNoICAgICAgJXN0KDIpCisgICAgICAgIGZzdHBsICAgICA4KCVlYXgpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgICglZWF4KQorICAgICAgICBqZSAgICAgICAgLi5CMS4yNAorLi5CMS4yMzoKKyAgICAgICAgZmxkY3cgICAgIDMwKCVlc3ApCisuLkIxLjI0OgorICAgICAgICBhZGRsICAgICAgJDUyLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJ4CisgICAgICAgIHBvcGwgICAgICAlZWRpCisgICAgICAgIHBvcGwgICAgICAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZWJwLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJwCisgICAgICAgIHJldCAgICAgICAKKy4uQjEuMjU6CisgICAgICAgIHRlc3RiICAgICAkMiwgMzYoJWVzcCkKKyAgICAgICAgamUgICAgICAgIC4uQjEuMzMKKy4uQjEuMjY6CisgICAgICAgIGZsZCAgICAgICAlc3QoMCkKKyAgICAgICAgdGVzdGIgICAgICQyLCAlZGwKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZCAgICAgICAlc3QoMCkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGplICAgICAgICAuLkIxLjMwCisuLkIxLjI3OgorICAgICAgICBmc3RwICAgICAgJXN0KDIpCisgICAgICAgIGZsZHQgICAgICA4NCtfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIHRlc3RsICAgICAlZWJ4LCAlZWJ4CisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgNzIrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDYwK19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgbW92bCAgICAgIDMyKCVlc3ApLCAlZWF4CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBmbGR0ICAgICAgNDgrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDM2K19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAyNCtfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkdCAgICAgIF9DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZWRpLCVlc2ksOCkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3RwbCAgICAgOCglZWF4KQorICAgICAgICBqZSAgICAgICAgLi5CMS4yOQorLi5CMS4yODoKKyAgICAgICAgZmxkY3cgICAgIDMwKCVlc3ApCisuLkIxLjI5OgorICAgICAgICBhZGRsICAgICAgJDUyLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJ4CisgICAgICAgIHBvcGwgICAgICAlZWRpCisgICAgICAgIHBvcGwgICAgICAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZWJwLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJwCisgICAgICAgIHJldCAgICAgICAKKy4uQjEuMzA6CisgICAgICAgIGZsZHQgICAgICA4NCtfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIHRlc3RsICAgICAlZWJ4LCAlZWJ4CisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgNzIrX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDYwK19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgbW92bCAgICAgIDMyKCVlc3ApLCAlZWF4CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgNDgrX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDM2K19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAyNCtfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIrX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkdCAgICAgIF9TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZWRpLCVlc2ksOCkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDgoJWVheCkKKyAgICAgICAgamUgICAgICAgIC4uQjEuMzIKKy4uQjEuMzE6CisgICAgICAgIGZsZGN3ICAgICAzMCglZXNwKQorLi5CMS4zMjoKKyAgICAgICAgYWRkbCAgICAgICQ1MiwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVieAorICAgICAgICBwb3BsICAgICAgJWVkaQorICAgICAgICBwb3BsICAgICAgJWVzaQorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIxLjMzOgorICAgICAgICB0ZXN0YiAgICAgJDEsIDM2KCVlc3ApCisgICAgICAgIGplICAgICAgICAuLkIxLjQxCisuLkIxLjM0OgorICAgICAgICBmbGQgICAgICAgJXN0KDApCisgICAgICAgIHRlc3RiICAgICAkMiwgJWRsCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGQgICAgICAgJXN0KDApCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBqZSAgICAgICAgLi5CMS4zOAorLi5CMS4zNToKKyAgICAgICAgZmxkdCAgICAgIDg0K19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgdGVzdGwgICAgICVlYngsICVlYngKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZHQgICAgICA3MitfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgNjArX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDQ4K19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAzNitfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgMjQrX1NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDEyK19TUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZHQgICAgICBfU1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZGwgICAgICBfb25lc0BHT1RPRkYoJWVkaSwlZWF4LDgpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgbW92bCAgICAgIDMyKCVlc3ApLCAlZWF4CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3RwbCAgICAgKCVlYXgpCisgICAgICAgIGplICAgICAgICAuLkIxLjM3CisuLkIxLjM2OgorICAgICAgICBmbGRjdyAgICAgMzAoJWVzcCkKKy4uQjEuMzc6CisgICAgICAgIGFkZGwgICAgICAkNTIsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYngKKyAgICAgICAgcG9wbCAgICAgICVlZGkKKyAgICAgICAgcG9wbCAgICAgICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMS4zODoKKyAgICAgICAgZnN0cCAgICAgICVzdCgyKQorICAgICAgICBmbGR0ICAgICAgODQrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICB0ZXN0bCAgICAgJWVieCwgJWVieAorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDcyK19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZsZHQgICAgICA2MCtfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBmbGR0ICAgICAgNDgrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDM2K19DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAyNCtfQ1BAR09UT0ZGKCVlZGkpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIrX0NQQEdPVE9GRiglZWRpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZmxkdCAgICAgIF9DUEBHT1RPRkYoJWVkaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZWRpLCVlYXgsOCkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIG1vdmwgICAgICAzMiglZXNwKSwgJWVheAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgICglZWF4KQorICAgICAgICBqZSAgICAgICAgLi5CMS40MAorLi5CMS4zOToKKyAgICAgICAgZmxkY3cgICAgIDMwKCVlc3ApCisuLkIxLjQwOgorICAgICAgICBhZGRsICAgICAgJDUyLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJ4CisgICAgICAgIHBvcGwgICAgICAlZWRpCisgICAgICAgIHBvcGwgICAgICAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZWJwLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJwCisgICAgICAgIHJldCAgICAgICAKKy4uQjEuNDE6CisgICAgICAgIGZzdHAgICAgICAlc3QoMCkKKyAgICAgICAgYWRkbCAgICAgICQ1MiwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVieAorICAgICAgICBwb3BsICAgICAgJWVkaQorICAgICAgICBwb3BsICAgICAgJWVzaQorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIxLjQyOgorICAgICAgICB4b3JsICAgICAgJWVieCwgJWVieAorICAgICAgICBqbXAgICAgICAgLi5CMS44CisuLkIxLjQzOgorICAgICAgICB4b3JsICAgICAgJWVieCwgJWVieAorICAgICAgICBqbXAgICAgICAgLi5CMS4xNQorICAgICAgICAuYWxpZ24gICAgMTYsMHg5MAorCS50eXBlCV9fbGlibV9zaW5jb3NfaHVnZSxAZnVuY3Rpb24KKwkuc2l6ZQlfX2xpYm1fc2luY29zX2h1Z2UsLi1fX2xpYm1fc2luY29zX2h1Z2UKKwkuZGF0YQorIyAtLSBFbmQgIF9fbGlibV9zaW5jb3NfaHVnZQorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorLkxfMmlsMGZsb2F0cGFja2V0LjA6CisJLmxvbmcJMHhmZmZmZmZmZiwweDdmZmZmZmZmLDB4MDAwMDAwMDAsMHgwMDAwMDAwMAorCS50eXBlCS5MXzJpbDBmbG9hdHBhY2tldC4wLEBvYmplY3QKKwkuc2l6ZQkuTF8yaWwwZmxvYXRwYWNrZXQuMCwxNgorCS5hbGlnbiAxNgorX1BpNEludjoKKwkubG9uZwkxODQxOTQwNjExCisJLmxvbmcJMTA3Mjk3OTc2MAorCS50eXBlCV9QaTRJbnYsQG9iamVjdAorCS5zaXplCV9QaTRJbnYsOAorCS5zcGFjZSA4LCAweDAwIAkjIHBhZAorCS5hbGlnbiAxNgorX1BpNHgzOgorCS5sb25nCTE0MTM3NTQ4ODAKKwkubG9uZwkzMjE5NzI2ODQzCisJLmxvbmcJOTkzNjMyMjU2CisJLmxvbmcJMTAyNzAzMDQ3NQorCS5sb25nCTM3NzMyMDQ4MDgKKwkubG9uZwkzMTI5MjM2NDg2CisJLnR5cGUJX1BpNHgzLEBvYmplY3QKKwkuc2l6ZQlfUGk0eDMsMjQKKwkuc3BhY2UgOCwgMHgwMCAJIyBwYWQKKwkuYWxpZ24gMTYKK19QaTR4NDoKKwkubG9uZwkxNDEzNDgwNDQ4CisJLmxvbmcJMzIxOTcyNjg0MworCS5sb25nCTQ0MjQ5OTA3MgorCS5sb25nCTMxODM1MjI5MTMKKwkubG9uZwk3NzE3NTE5MzYKKwkubG9uZwkzMTQ2OTc5NzIyCisJLmxvbmcJNjIyODczMDI1CisJLmxvbmcJMzExMDgzMTAwMgorCS50eXBlCV9QaTR4NCxAb2JqZWN0CisJLnNpemUJX1BpNHg0LDMyCisJLmFsaWduIDE2CitfU1A6CisJLndvcmQJNDM2OTEKKwkud29yZAk0MzY5MAorCS53b3JkCTQzNjkwCisJLndvcmQJNDM2OTAKKwkud29yZAk0OTE0OAorCS53b3JkCTAKKwkud29yZAkzNDk1MQorCS53b3JkCTM0OTUyCisJLndvcmQJMzQ5NTIKKwkud29yZAkzNDk1MgorCS53b3JkCTE2Mzc2CisJLndvcmQJMAorCS53b3JkCTUwNDcxCisJLndvcmQJMzMyOAorCS53b3JkCTIwOAorCS53b3JkCTUzMjYxCisJLndvcmQJNDkxMzgKKwkud29yZAkwCisJLndvcmQJMTc5MTAKKwkud29yZAk0NjYxNAorCS53b3JkCTc0NjYKKwkud29yZAk0NzM0MworCS53b3JkCTE2MzY0CisJLndvcmQJMAorCS53b3JkCTMzMzcxCisJLndvcmQJMTQ3NDMKKwkud29yZAkxMTA3MQorCS53b3JkCTU1MDkwCisJLndvcmQJNDkxMjUKKwkud29yZAkwCisJLndvcmQJNDg5NDcKKwkud29yZAkzNTc2NAorCS53b3JkCTEyMjUwCisJLndvcmQJNDUyMDIKKwkud29yZAkxNjM1MAorCS53b3JkCTAKKwkud29yZAkxNzU3NAorCS53b3JkCTYwNjk4CisJLndvcmQJMTA3MzUKKwkud29yZAk1NTEwMgorCS53b3JkCTQ5MTEwCisJLndvcmQJMAorCS53b3JkCTM0MzIwCisJLndvcmQJMTI0MTUKKwkud29yZAkyNTI0OQorCS53b3JkCTUxNDg5CisJLndvcmQJMTYzMzQKKwkud29yZAkwCisJLnR5cGUJX1NQLEBvYmplY3QKKwkuc2l6ZQlfU1AsOTYKKwkuYWxpZ24gMTYKK19DUDoKKwkud29yZAkwCisJLndvcmQJMAorCS53b3JkCTAKKwkud29yZAkzMjc2OAorCS53b3JkCTQ5MTUwCisJLndvcmQJMAorCS53b3JkCTQzNjg1CisJLndvcmQJNDM2OTAKKwkud29yZAk0MzY5MAorCS53b3JkCTQzNjkwCisJLndvcmQJMTYzNzgKKwkud29yZAkwCisJLndvcmQJMzk5ODMKKwkud29yZAkyOTEyCisJLndvcmQJMjQ3NTgKKwkud29yZAk0NjYwMworCS53b3JkCTQ5MTQxCisJLndvcmQJMAorCS53b3JkCTYxNDc2CisJLndvcmQJMzI0NAorCS53b3JkCTIwOAorCS53b3JkCTUzMjYxCisJLndvcmQJMTYzNjcKKwkud29yZAkwCisJLndvcmQJMTAyMgorCS53b3JkCTE2MjI5CisJLndvcmQJMzIxODcKKwkud29yZAkzNzg3NAorCS53b3JkCTQ5MTI5CisJLndvcmQJMAorCS53b3JkCTU1MzczCisJLndvcmQJNDQ1MjYKKwkud29yZAk1MDg0MAorCS53b3JkCTM2NzI2CisJLndvcmQJMTYzNTQKKwkud29yZAkwCisJLndvcmQJNTU5OTQKKwkud29yZAk2NTE0NQorCS53b3JkCTU5OTU4CisJLndvcmQJNTE2NTcKKwkud29yZAk0OTExNAorCS53b3JkCTAKKwkud29yZAkxNTA0NgorCS53b3JkCTI5NzYKKwkud29yZAkxOTk4CisJLndvcmQJNTQ2NjEKKwkud29yZAkxNjMzOAorCS53b3JkCTAKKwkudHlwZQlfQ1AsQG9iamVjdAorCS5zaXplCV9DUCw5NgorCS5hbGlnbiAxNgorX29uZXM6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS50eXBlCV9vbmVzLEBvYmplY3QKKwkuc2l6ZQlfb25lcywxNgorCS5kYXRhCisJLmhpZGRlbiBfX2xpYm1fcmVkdWNlX3BpMDRsCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L2xpYm1fdGFuY290X2h1Z2UuUyBiL2xpYm0veDg2L2xpYm1fdGFuY290X2h1Z2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGYxNmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvbGlibV90YW5jb3RfaHVnZS5TCkBAIC0wLDAgKzEsNzUwIEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjIC0tIEJlZ2luICBfX2xpYm1fdGFuY290X2h1Z2UKKwkudGV4dAorICAgICAgIC5hbGlnbiAgICAxNiwweDkwCisJLmhpZGRlbiBfX2xpYm1fdGFuY290X2h1Z2UKKwkuZ2xvYmwgX19saWJtX3RhbmNvdF9odWdlCitfX2xpYm1fdGFuY290X2h1Z2U6CisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorIyBwYXJhbWV0ZXIgMjogMTYgKyAlZWJwCisjIHBhcmFtZXRlciAzOiAyMCArICVlYnAKKy4uQjEuMToKKyAgICAgICAgcHVzaGwgICAgICVlYnAKKyAgICAgICAgbW92bCAgICAgICVlc3AsICVlYnAKKyAgICAgICAgYW5kbCAgICAgICQtNjQsICVlc3AKKyAgICAgICAgcHVzaGwgICAgICVlc2kKKyAgICAgICAgcHVzaGwgICAgICVlZGkKKyAgICAgICAgcHVzaGwgICAgICVlYngKKyAgICAgICAgc3VibCAgICAgICQ1MiwgJWVzcAorICAgICAgICBtb3ZsICAgICAgMTYoJWVicCksICVlYXgKKyAgICAgICAgbW92bCAgICAgIDIwKCVlYnApLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCA0MCglZXNwKQorLi5CMS4yOgorICAgICAgICBmbnN0Y3cgICAgMzgoJWVzcCkKKy4uQjEuMzoKKyAgICAgICAgbW92bCAgICAgIDEyKCVlYnApLCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVheAorICAgICAgICBzaHJsICAgICAgJDMxLCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCA0NCglZXNwKQorICAgICAgICBjbXBsICAgICAgJDExMDQxNTA1MjgsICVlYXgKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZXNpCisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZXNpKSwgJWVzaQorICAgICAgICBqYWUgICAgICAgLi5CMS4xMQorLi5CMS40OgorICAgICAgICBtb3ZzZCAgICAgOCglZWJwKSwgJXhtbTEKKyAgICAgICAgbW92endsICAgIDM4KCVlc3ApLCAlZWN4CisgICAgICAgIG1vdmwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkNzY4LCAlZWR4CisgICAgICAgIGFuZHBzICAgICAuTF8yaWwwZmxvYXRwYWNrZXQuMEBHT1RPRkYoJWVzaSksICV4bW0xCisgICAgICAgIGNtcGwgICAgICAkNzY4LCAlZWR4CisgICAgICAgIG1vdnNkICAgICBfUGk0SW52QEdPVE9GRiglZXNpKSwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTEsIDgoJWVicCkKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgamUgICAgICAgIC4uQjEuMzkKKy4uQjEuNToKKyAgICAgICAgb3JsICAgICAgICQtNjQ3NjgsICVlY3gKKyAgICAgICAgbW92dyAgICAgICVjeCwgMzYoJWVzcCkKKy4uQjEuNjoKKyAgICAgICAgZmxkY3cgICAgIDM2KCVlc3ApCisuLkIxLjc6CisgICAgICAgIG1vdnNkICAgICA4KCVlYnApLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDEsICVlZGkKKy4uQjEuODoKKyAgICAgICAgbW92bCAgICAgICVlc2ksIDEyKCVlc3ApCisgICAgICAgIG1vdmwgICAgICA0KCVlc3ApLCAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWRpLCAyNCglZXNwKQorICAgICAgICBtb3ZsICAgICAgJWVzaSwgJWVkaQorICAgICAgICBzaHJsICAgICAgJDIwLCAlZWRpCisgICAgICAgIGFuZGwgICAgICAkMTA0ODU3NSwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkaSwgJWVjeAorICAgICAgICBvcmwgICAgICAgJDEwNDg1NzYsICVlZHgKKyAgICAgICAgbmVnbCAgICAgICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxMywgJWVkaQorICAgICAgICBtb3ZsICAgICAgJWVieCwgOCglZXNwKQorICAgICAgICBhZGRsICAgICAgJDE5LCAlZWN4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWN4LCAyOCglZXNwKQorICAgICAgICBzaHJsICAgICAgJWNsLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlZWN4CisgICAgICAgIHNobGwgICAgICAlY2wsICVlZHgKKyAgICAgICAgbW92bCAgICAgIDI4KCVlc3ApLCAlZWN4CisgICAgICAgIG1vdmwgICAgICAoJWVzcCksICVlZGkKKyAgICAgICAgc2hybCAgICAgICVjbCwgJWVkaQorICAgICAgICBvcmwgICAgICAgJWVkaSwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDEwOTQ3MTMzNDQsICVlc2kKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCAxNiglZXNwKQorICAgICAgICBmbGRsICAgICAgMTYoJWVzcCkKKyAgICAgICAgY21vdmIgICAgICVlYngsICVlZHgKKyAgICAgICAgbW92bCAgICAgIDI0KCVlc3ApLCAlZWRpCisgICAgICAgIG1vdmwgICAgICAxMiglZXNwKSwgJWVzaQorICAgICAgICBsZWEgICAgICAgMSglZWR4KSwgJWVieAorICAgICAgICBhbmRsICAgICAgJC0yLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAxNiglZXNwKQorICAgICAgICBjbXBsICAgICAgJDEwOTQ3MTMzNDQsICVlYXgKKyAgICAgICAgZmlsZGwgICAgIDE2KCVlc3ApCisgICAgICAgIG1vdmwgICAgICA4KCVlc3ApLCAlZWJ4CisgICAgICAgIGphZSAgICAgICAuLkIxLjEwCisuLkIxLjk6CisgICAgICAgIGZsZGwgICAgICBfUGk0eDNAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIDgrX1BpNHgzQEdPVE9GRiglZXNpKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZGwgICAgICAxNitfUGk0eDNAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgam1wICAgICAgIC4uQjEuMTcKKy4uQjEuMTA6CisgICAgICAgIGZsZGwgICAgICBfUGk0eDRAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIDgrX1BpNHg0QEdPVE9GRiglZXNpKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZsZGwgICAgICAxNitfUGk0eDRAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIDI0K19QaTR4NEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBqbXAgICAgICAgLi5CMS4xNworLi5CMS4xMToKKyAgICAgICAgbW92endsICAgIDM4KCVlc3ApLCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNzY4LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkNzY4LCAlZWF4CisgICAgICAgIGplICAgICAgICAuLkIxLjQwCisuLkIxLjEyOgorICAgICAgICBvcmwgICAgICAgJC02NDc2OCwgJWVkeAorICAgICAgICBtb3Z3ICAgICAgJWR4LCAzNiglZXNwKQorLi5CMS4xMzoKKyAgICAgICAgZmxkY3cgICAgIDM2KCVlc3ApCisuLkIxLjE0OgorICAgICAgICBtb3ZsICAgICAgJDEsICVlZGkKKy4uQjEuMTU6CisgICAgICAgIG1vdnNkICAgICA4KCVlYnApLCAleG1tMAorICAgICAgICBhZGRsICAgICAgJC0zMiwgJWVzcAorICAgICAgICBhbmRwcyAgICAgLkxfMmlsMGZsb2F0cGFja2V0LjBAR09UT0ZGKCVlc2kpLCAleG1tMAorICAgICAgICBsZWEgICAgICAgMzIoJWVzcCksICVlYXgKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAxNiglZWF4KQorICAgICAgICBmbGRsICAgICAgMTYoJWVheCkKKyAgICAgICAgZnN0cHQgICAgICglZXNwKQorICAgICAgICBtb3ZsICAgICAgJDAsIDEyKCVlc3ApCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAxNiglZXNwKQorICAgICAgICBjYWxsICAgICAgX19saWJtX3JlZHVjZV9waTA0bAorLi5CMS40MzoKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICQzMiwgJWVzcAorLi5CMS4xNjoKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBmbGRsICAgICAgOCglZXNwKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKy4uQjEuMTc6CisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMywgJWVheAorICAgICAgICBjbXBsICAgICAgJDMsICVlYXgKKyAgICAgICAgam5lICAgICAgIC4uQjEuMjQKKy4uQjEuMTg6CisgICAgICAgIGZsZGwgICAgICBfb25lc0BHT1RPRkYoJWVzaSkKKyAgICAgICAgaW5jbCAgICAgICVlZHgKKyAgICAgICAgZmRpdiAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIHRlc3RiICAgICAkMiwgJWRsCisgICAgICAgIGZzdHB0ICAgICAyNCglZXNwKQorICAgICAgICBmbGQgICAgICAgJXN0KDApCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGQgICAgICAgJXN0KDApCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMzYrX1RQQEdPVE9GRiglZXNpKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDI0K19UUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIrX1RQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAzNitfVFFAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMyksICVzdAorICAgICAgICBmbGR0ICAgICAgMjQrX1RRQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAxMitfVFFAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIF9UUUBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZsZHQgICAgICBfVFBAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbGR0ICAgICAgMTMyK19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgzKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAxMjArX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmbXVsICAgICAgJXN0KDQpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDEwOCtfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoNCksICVzdAorICAgICAgICBmbGR0ICAgICAgOTYrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDQpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDg0K19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCg0KSwgJXN0CisgICAgICAgIGZsZHQgICAgICA3MitfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoNCksICVzdAorICAgICAgICBmbGR0ICAgICAgNjArX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDQpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDQ4K19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCg0KSwgJXN0CisgICAgICAgIGZsZHQgICAgICAzNitfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoNCksICVzdAorICAgICAgICBmbGR0ICAgICAgMjQrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoNCkKKyAgICAgICAgZmxkdCAgICAgIDEyK19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoNCksICVzdAorICAgICAgICBmbXVsICAgICAgJXN0KDUpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIF9HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDQpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMykKKyAgICAgICAgZm11bCAgICAgICVzdCg1KSwgJXN0CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgzKQorICAgICAgICBqZSAgICAgICAgLi5CMS4yMAorLi5CMS4xOToKKyAgICAgICAgZmxkdCAgICAgIDI0KCVlc3ApCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZmRpdnJwICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIG1vdmwgICAgICA0NCglZXNwKSwgJWVheAorICAgICAgICB4b3JsICAgICAgJDEsICVlYXgKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZXNpLCVlYXgsOCkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgzKQorICAgICAgICBmeGNoICAgICAgJXN0KDMpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZzdHBsICAgICAxNiglZXNwKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgbW92c2QgICAgIDE2KCVlc3ApLCAleG1tMAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDE2KCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTEKKyAgICAgICAgam1wICAgICAgIC4uQjEuMjEKKy4uQjEuMjA6CisgICAgICAgIGZkaXZycCAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgbW92bCAgICAgIDQ0KCVlc3ApLCAlZWF4CisgICAgICAgIGZsZGwgICAgICBfb25lc0BHT1RPRkYoJWVzaSwlZWF4LDgpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgzKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDE2KCVlc3ApCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMjQoJWVzcCkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTAKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzdHBsICAgICAxNiglZXNwKQorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0xCisuLkIxLjIxOgorICAgICAgICB0ZXN0bCAgICAgJWVkaSwgJWVkaQorICAgICAgICBqZSAgICAgICAgLi5CMS4yMworLi5CMS4yMjoKKyAgICAgICAgZmxkY3cgICAgIDM4KCVlc3ApCisuLkIxLjIzOgorICAgICAgICBtb3ZsICAgICAgNDAoJWVzcCksICVlYXgKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVheCkKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCA4KCVlYXgpCisgICAgICAgIGFkZGwgICAgICAkNTIsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYngKKyAgICAgICAgcG9wbCAgICAgICVlZGkKKyAgICAgICAgcG9wbCAgICAgICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMS4yNDoKKyAgICAgICAgdGVzdGIgICAgICQyLCAlYmwKKyAgICAgICAgamUgICAgICAgIC4uQjEuMzEKKy4uQjEuMjU6CisgICAgICAgIGluY2wgICAgICAlZWR4CisgICAgICAgIGZsZCAgICAgICAlc3QoMCkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIHRlc3RiICAgICAkMiwgJWRsCisgICAgICAgIGplICAgICAgICAuLkIxLjI3CisuLkIxLjI2OgorICAgICAgICBmbGRsICAgICAgX29uZXNAR09UT0ZGKCVlc2kpCisgICAgICAgIGZkaXYgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGQgICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgMTMyK19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAxMjArX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDEwOCtfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIG1vdmwgICAgICA0NCglZXNwKSwgJWVheAorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgeG9ybCAgICAgICQxLCAlZWF4CisgICAgICAgIGZsZHQgICAgICA5NitfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgODQrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDcyK19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICA2MCtfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgNDgrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDM2K19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAyNCtfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbGR0ICAgICAgMTIrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZsZHQgICAgICBfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZXNpLCVlYXgsOCkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDE2KCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuMjgKKy4uQjEuMjc6CisgICAgICAgIGZsZHQgICAgICAzNitfVFBAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMjQrX1RQQEdPVE9GRiglZXNpKQorICAgICAgICBtb3ZsICAgICAgNDQoJWVzcCksICVlYXgKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMzYrX1RRQEdPVE9GRiglZXNpKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDI0K19UUUBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIrX1RRQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICBfVFFAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbGR0ICAgICAgMTIrX1RQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIF9UUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZkaXZwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgxKSwgJXN0CisgICAgICAgIGZsZGwgICAgICBfb25lc0BHT1RPRkYoJWVzaSwlZWF4LDgpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzdHBsICAgICAxNiglZXNwKQorICAgICAgICBtb3ZzZCAgICAgMTYoJWVzcCksICV4bW0wCisuLkIxLjI4OgorICAgICAgICB0ZXN0bCAgICAgJWVkaSwgJWVkaQorICAgICAgICBqZSAgICAgICAgLi5CMS4zMAorLi5CMS4yOToKKyAgICAgICAgZmxkY3cgICAgIDM4KCVlc3ApCisuLkIxLjMwOgorICAgICAgICBtb3ZsICAgICAgNDAoJWVzcCksICVlYXgKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVheCkKKyAgICAgICAgYWRkbCAgICAgICQ1MiwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVieAorICAgICAgICBwb3BsICAgICAgJWVkaQorICAgICAgICBwb3BsICAgICAgJWVzaQorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIxLjMxOgorICAgICAgICB0ZXN0YiAgICAgJDEsICVibAorICAgICAgICBqZSAgICAgICAgLi5CMS4zOAorLi5CMS4zMjoKKyAgICAgICAgaW5jbCAgICAgICVlZHgKKyAgICAgICAgZmxkICAgICAgICVzdCgwKQorICAgICAgICBmbXVsICAgICAgJXN0KDEpLCAlc3QKKyAgICAgICAgdGVzdGIgICAgICQyLCAlZGwKKyAgICAgICAgamUgICAgICAgIC4uQjEuMzQKKy4uQjEuMzM6CisgICAgICAgIGZsZHQgICAgICAzNitfVFBAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMjQrX1RQQEdPVE9GRiglZXNpKQorICAgICAgICBtb3ZsICAgICAgNDQoJWVzcCksICVlYXgKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICB4b3JsICAgICAgJDEsICVlYXgKKyAgICAgICAgZmxkdCAgICAgIDM2K19UUUBHT1RPRkYoJWVzaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAyNCtfVFFAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDEyK19UUUBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgX1RRQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmxkdCAgICAgIDEyK19UUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICBfVFBAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmZGl2cCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGRsICAgICAgX29uZXNAR09UT0ZGKCVlc2ksJWVheCw4KQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3RwbCAgICAgMTYoJWVzcCkKKyAgICAgICAgbW92c2QgICAgIDE2KCVlc3ApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS4zNQorLi5CMS4zNDoKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZXNpKQorICAgICAgICBmZGl2ICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkICAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDEzMitfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZtdWwgICAgICAlc3QoMSksICVzdAorICAgICAgICBmbGR0ICAgICAgMTIwK19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAxMDgrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBtb3ZsICAgICAgNDQoJWVzcCksICVlYXgKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICA5NitfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgODQrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDcyK19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICA2MCtfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QoMiksICVzdAorICAgICAgICBmbGR0ICAgICAgNDgrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDIpLCAlc3QKKyAgICAgICAgZmxkdCAgICAgIDM2K19HUEBHT1RPRkYoJWVzaSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgyKSwgJXN0CisgICAgICAgIGZsZHQgICAgICAyNCtfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmeGNoICAgICAgJXN0KDEpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgyKQorICAgICAgICBmbGR0ICAgICAgMTIrX0dQQEdPVE9GRiglZXNpKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZm11bHAgICAgICVzdCwgJXN0KDMpCisgICAgICAgIGZsZHQgICAgICBfR1BAR09UT0ZGKCVlc2kpCisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0KDMpLCAlc3QKKyAgICAgICAgZnhjaCAgICAgICVzdCgyKQorICAgICAgICBmbXVscCAgICAgJXN0LCAlc3QoMykKKyAgICAgICAgZnhjaCAgICAgICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMikKKyAgICAgICAgZmxkbCAgICAgIF9vbmVzQEdPVE9GRiglZXNpLCVlYXgsOCkKKyAgICAgICAgZm11bCAgICAgICVzdCwgJXN0KDIpCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZnN0cGwgICAgIDE2KCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxNiglZXNwKSwgJXhtbTAKKy4uQjEuMzU6CisgICAgICAgIHRlc3RsICAgICAlZWRpLCAlZWRpCisgICAgICAgIGplICAgICAgICAuLkIxLjM3CisuLkIxLjM2OgorICAgICAgICBmbGRjdyAgICAgMzgoJWVzcCkKKy4uQjEuMzc6CisgICAgICAgIG1vdmwgICAgICA0MCglZXNwKSwgJWVheAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJWVheCkKKyAgICAgICAgYWRkbCAgICAgICQ1MiwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVieAorICAgICAgICBwb3BsICAgICAgJWVkaQorICAgICAgICBwb3BsICAgICAgJWVzaQorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIxLjM4OgorICAgICAgICBmc3RwICAgICAgJXN0KDApCisgICAgICAgIGFkZGwgICAgICAkNTIsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYngKKyAgICAgICAgcG9wbCAgICAgICVlZGkKKyAgICAgICAgcG9wbCAgICAgICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMS4zOToKKyAgICAgICAgeG9ybCAgICAgICVlZGksICVlZGkKKyAgICAgICAgam1wICAgICAgIC4uQjEuOAorLi5CMS40MDoKKyAgICAgICAgeG9ybCAgICAgICVlZGksICVlZGkKKyAgICAgICAgam1wICAgICAgIC4uQjEuMTUKKyAgICAgICAgLmFsaWduICAgIDE2LDB4OTAKKwkudHlwZQlfX2xpYm1fdGFuY290X2h1Z2UsQGZ1bmN0aW9uCisJLnNpemUJX19saWJtX3RhbmNvdF9odWdlLC4tX19saWJtX3RhbmNvdF9odWdlCisJLmRhdGEKKyMgLS0gRW5kICBfX2xpYm1fdGFuY290X2h1Z2UKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKKy5MXzJpbDBmbG9hdHBhY2tldC4wOgorCS5sb25nCTB4ZmZmZmZmZmYsMHg3ZmZmZmZmZiwweDAwMDAwMDAwLDB4MDAwMDAwMDAKKwkudHlwZQkuTF8yaWwwZmxvYXRwYWNrZXQuMCxAb2JqZWN0CisJLnNpemUJLkxfMmlsMGZsb2F0cGFja2V0LjAsMTYKKwkuYWxpZ24gMTYKK19QaTRJbnY6CisJLmxvbmcJMTg0MTk0MDYxMQorCS5sb25nCTEwNzI5Nzk3NjAKKwkudHlwZQlfUGk0SW52LEBvYmplY3QKKwkuc2l6ZQlfUGk0SW52LDgKKwkuc3BhY2UgOCwgMHgwMCAJIyBwYWQKKwkuYWxpZ24gMTYKK19QaTR4MzoKKwkubG9uZwkxNDEzNzU0ODgwCisJLmxvbmcJMzIxOTcyNjg0MworCS5sb25nCTk5MzYzMjI1NgorCS5sb25nCTEwMjcwMzA0NzUKKwkubG9uZwkzNzczMjA0ODA4CisJLmxvbmcJMzEyOTIzNjQ4NgorCS50eXBlCV9QaTR4MyxAb2JqZWN0CisJLnNpemUJX1BpNHgzLDI0CisJLnNwYWNlIDgsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitfUGk0eDQ6CisJLmxvbmcJMTQxMzQ4MDQ0OAorCS5sb25nCTMyMTk3MjY4NDMKKwkubG9uZwk0NDI0OTkwNzIKKwkubG9uZwkzMTgzNTIyOTEzCisJLmxvbmcJNzcxNzUxOTM2CisJLmxvbmcJMzE0Njk3OTcyMgorCS5sb25nCTYyMjg3MzAyNQorCS5sb25nCTMxMTA4MzEwMDIKKwkudHlwZQlfUGk0eDQsQG9iamVjdAorCS5zaXplCV9QaTR4NCwzMgorCS5hbGlnbiAxNgorX29uZXM6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS50eXBlCV9vbmVzLEBvYmplY3QKKwkuc2l6ZQlfb25lcywxNgorCS5hbGlnbiAxNgorX1RQOgorCS53b3JkCTE5NjcwCisJLndvcmQJNDQ5MDgKKwkud29yZAk1MDk2MAorCS53b3JkCTUwNzg2CisJLndvcmQJNDkxNDkKKwkud29yZAkwCisJLndvcmQJMTkyMDYKKwkud29yZAk0NTIyOAorCS53b3JkCTU0MTk0CisJLndvcmQJNTIyNjgKKwkud29yZAkxNjM3NworCS53b3JkCTAKKwkud29yZAkyMjcKKwkud29yZAk1MTI4MAorCS53b3JkCTQzNTYwCisJLndvcmQJMzgxOTUKKwkud29yZAk0OTEzOQorCS53b3JkCTAKKwkud29yZAkxMjI3MgorCS53b3JkCTE4MDI5CisJLndvcmQJNjcxNQorCS53b3JkCTQ1NjcwCisJLndvcmQJMTYzNTcKKwkud29yZAkwCisJLnR5cGUJX1RQLEBvYmplY3QKKwkuc2l6ZQlfVFAsNDgKKwkuYWxpZ24gMTYKK19UUToKKwkud29yZAkxNDc0OAorCS53b3JkCTMzNjgxCisJLndvcmQJNTQ1MgorCS53b3JkCTM4MDkwCisJLndvcmQJNDkxNTEKKwkud29yZAkwCisJLndvcmQJNDY3NTUKKwkud29yZAk1MDAyNgorCS53b3JkCTE3NjM0CisJLndvcmQJMzUzNzIKKwkud29yZAkxNjM4MgorCS53b3JkCTAKKwkud29yZAk0Njg2MworCS53b3JkCTUzMzUyCisJLndvcmQJNDI3MDIKKwkud29yZAk1OTg2OQorCS53b3JkCTQ5MTQ1CisJLndvcmQJMAorCS53b3JkCTMzMjk1CisJLndvcmQJMjA5NDIKKwkud29yZAkzMjExOAorCS53b3JkCTM5OTM1CisJLndvcmQJMTYzNzEKKwkud29yZAkwCisJLnR5cGUJX1RRLEBvYmplY3QKKwkuc2l6ZQlfVFEsNDgKKwkuYWxpZ24gMTYKK19HUDoKKwkud29yZAk0MzY5MQorCS53b3JkCTQzNjkwCisJLndvcmQJNDM2OTAKKwkud29yZAk0MzY5MAorCS53b3JkCTQ5MTQ5CisJLndvcmQJMAorCS53b3JkCTQ2NjM5CisJLndvcmQJMjkxMgorCS53b3JkCTI0NzU4CisJLndvcmQJNDY2MDMKKwkud29yZAk0OTE0NQorCS53b3JkCTAKKwkud29yZAk1NzI1NQorCS53b3JkCTIyMTgKKwkud29yZAkyMTk4NAorCS53b3JkCTM1NTA3CisJLndvcmQJNDkxNDIKKwkud29yZAkwCisJLndvcmQJMzQyMDgKKwkud29yZAk0MzAzMworCS53b3JkCTQ4MjgxCisJLndvcmQJNTY4MTEKKwkud29yZAk0OTEzOAorCS53b3JkCTAKKwkud29yZAkyODc3MworCS53b3JkCTI3MTkxCisJLndvcmQJMzEwNzEKKwkud29yZAk0NTkwOAorCS53b3JkCTQ5MTM1CisJLndvcmQJMAorCS53b3JkCTQzMjU3CisJLndvcmQJMzM3NzcKKwkud29yZAkxMTk3NgorCS53b3JkCTM3MTg0CisJLndvcmQJNDkxMzIKKwkud29yZAkwCisJLndvcmQJNjI0MTAKKwkud29yZAkzNTk5MAorCS53b3JkCTM2MzYzCisJLndvcmQJNjAyNjkKKwkud29yZAk0OTEyOAorCS53b3JkCTAKKwkud29yZAkxMzY1OQorCS53b3JkCTU1NTY4CisJLndvcmQJMjY1NjkKKwkud29yZAk0ODg1MQorCS53b3JkCTQ5MTI1CisJLndvcmQJMAorCS53b3JkCTEwMzQ3CisJLndvcmQJNDYyMzgKKwkud29yZAk0NzE4OAorCS53b3JkCTM5NTc2CisJLndvcmQJNDkxMjIKKwkud29yZAkwCisJLndvcmQJMjE2MQorCS53b3JkCTY3MDMKKwkud29yZAkyNTcxOQorCS53b3JkCTY0NzA4CisJLndvcmQJNDkxMTgKKwkud29yZAkwCisJLndvcmQJNDIzMjkKKwkud29yZAk3NTkzCisJLndvcmQJNDQ3NTQKKwkud29yZAk0NzczNAorCS53b3JkCTQ5MTE1CisJLndvcmQJMAorCS53b3JkCTE2MworCS53b3JkCTMyNzQ2CisJLndvcmQJMzk4NzUKKwkud29yZAk2MTk1NworCS53b3JkCTQ5MTEyCisJLndvcmQJMAorCS50eXBlCV9HUCxAb2JqZWN0CisJLnNpemUJX0dQLDE0NAorCS5kYXRhCisJLmhpZGRlbiBfX2xpYm1fcmVkdWNlX3BpMDRsCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L3NfYXRhbi5TIGIvbGlibS94ODYvc19hdGFuLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ0MTNmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L3NfYXRhbi5TCkBAIC0wLDAgKzEsOTM0IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiB1c2VzIHRoZSBtYWluIHBhdGggZm9yIHx4fCBpbiBbMl57LTV9LDJeNjUpLgorLy8gRm9yIHx4fCBpbiBbMl57LTY0fSwyXnstNX0pLCBhIHNlY29uZGFyeSBwYXRoIGlzIHVzZWQuCisvLyBGb3IgdGhlIGJpYXNlZCBleHBvbmVudCBvZiBYIHdpdGhpbiAzRkZILTY0IGFuZCAzRkYrNjQsIHdlIHVzZSBvbmUgYnJhbmNoLgorLy8gV2UgdXNlIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbiBvZiBCIGFuZCBYYCBzbyB0aGF0IHRoZSBmb3JtdWxhCisvLyBhdGFuKFgpID0gVGF1ICsgYXRhbiggKFhgLUIpIC8gKE9uZSArIEJYKSApIGlzIGNvcnJlY3QKKy8vCisvLyBYID0gKC0xKV5zICogMl5rICogMS4geDEgeDIgLi4uIHg1MgorLy8KKy8vIERlZmluZSBYYCAgPSAwIGlmIGsgPj0gNTsgYW5kIFhgICA9IHxYfCBvdGhlcndpc2UKKy8vIERlZmluZSBPbmUgPSAwIGlmIGsgPj0gNTsgYW5kIE9uZSA9IDEgb3RoZXJ3aXNlCisvLyBEZWZpbmUgQiAgPSAwIGlmIGsgPD0gLTY7IEIgPSAgMl5rICogMS54MSB4MiB4MyB4NCAxICBpZiAtNSA8PSBrIDw9IDQKKy8vIERlZmluZSBCICA9ICAyXjUgKiAxLjAgMCAuLi4gMCAgIGlmICBrID49IDUKKy8vCisvLyBUYXUgaXMgMCBpZiBrIDw9IC02OworLy8gVGF1IGlzIGF0YW4oIEIgKSAgaWYgLTUgPD0gayA8PSA0CisvLyBUYXUgaXMgcGkvMiBpZiBrID49IDUKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGF0YW4oTmFOKSA9IHF1aWV0IE5hTgorLy8gIGF0YW4oKy8tSU5GKSA9ICsvLVBpLzIKKy8vICBhdGFuKCsvLTApID0gKy8tMAorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGF0YW4KK0VOVFJZKGF0YW4pCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEwNCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNDgoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICAyNjQwKCVlYngpLCAleG1tMworICAgICAgICBtb3ZzZCAgICAgMjYyNCglZWJ4KSwgJXhtbTUKKyAgICAgICAgbW92c2QgICAgIDI2NTYoJWVieCksICV4bW00CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgOCglZXNwKQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWR4CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVkeAorICAgICAgICBzdWJsICAgICAgJDE2Mjg4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTU5LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBkaXZzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZGwgICAgICAkMSwgJWVkeAorICAgICAgICBtb3ZzZCAgICAgMjY3MiglZWJ4KSwgJXhtbTIKKyAgICAgICAgbW92c2QgICAgIDI2ODgoJWVieCksICV4bW00CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW03CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIG1vdnNkICAgICAoJWVieCwlZWR4LDgpLCAleG1tNgorICAgICAgICBtb3ZzZCAgICAgOCglZWJ4LCVlZHgsOCksICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tNywgJXhtbTUKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNgorICAgICAgICBtb3ZzZCAgICAgMjY4MCglZWJ4KSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTEsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAyNjk2KCVlYngpLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQ5NDQsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxMTAzLCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorICAgICAgICBtb3ZzZCAgICAgMjY3MiglZWJ4KSwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDI2ODgoJWVieCksICV4bW03CisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdnNkICAgICAyNjgwKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgMjY5NiglZWJ4KSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIGFkZGwgICAgICAkMTUzNDQsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgbW92c2QgICAgIDgoJWVzcCksICV4bW0wCisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMQorICAgICAgICBjbXBsICAgICAgJDE2LCAlZWR4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0xCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBjbXBsICAgICAgJDE3MzkyLCAlZWR4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkNDkxMzYsICVlY3gKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWN4LCAleG1tMQorICAgICAgICBkaXZzZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdnNkICAgICAyNjcyKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgMjY4OCglZWJ4KSwgJXhtbTQKKyAgICAgICAgYW5kbCAgICAgICQzMjc2OCwgJWVheAorICAgICAgICB4b3JwZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTcKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgbW92c2QgICAgIDI1OTIoJWVieCksICV4bW02CisgICAgICAgIG1vdnNkICAgICAyNjAwKCVlYngpLCAleG1tNQorICAgICAgICB4b3JwZCAgICAgJXhtbTcsICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgbW92c2QgICAgIDI2ODAoJWVieCksICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0xLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgMjY5NiglZWJ4KSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgMjYwOCglZWJ4KSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDI1OTIoJWVieCksICV4bW0yCisgICAgICAgIG1vdnNkICAgICAyNjAwKCVlYngpLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVkeAorICAgICAgICBjbXBsICAgICAgJDIxNDY0MzUwNzIsICVlZHgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKyAgICAgICAgYW5kbnBkICAgICV4bW00LCAleG1tMAorICAgICAgICBvcnBkICAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIG9ycGQgICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIHN1YmwgICAgICAkMjE0NjQzNTA3MiwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisgICAgICAgIG1vdmFwZCAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgbW92bCAgICAgIDQ4KCVlc3ApLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWJwLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJwCisgICAgICAgIHJldCAgICAgICAKKy4uQjIuMzoKK0VORChhdGFuKQorIyAtLSBFbmQgIGF0YW4KKworIyBTdGFydCBmaWxlIHNjb3BlIEFTTQorQUxJQVNfU1lNQk9MKGF0YW5sLCBhdGFuKTsKKyMgRW5kIGZpbGUgc2NvcGUgQVNNCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitzdGF0aWNfY29uc3RfdGFibGU6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM4MTk2OTU3NDIKKwkubG9uZwkxMDY3NDgyNzYxCisJLmxvbmcJMjM5ODY4MDM1NQorCS5sb25nCTMxNTU0NjIwNzQKKwkubG9uZwkyOTk4NzkxMDA5CisJLmxvbmcJMTA2NzU0ODIyNQorCS5sb25nCTM4Njg0NjUyNDgKKwkubG9uZwkzMTU3MTgyNDcyCisJLmxvbmcJMzMzOTQyNDk5MQorCS5sb25nCTEwNjc2MTM2ODAKKwkubG9uZwkzMjk2NjcwMzYwCisJLmxvbmcJMTAxMDc1MjU0MworCS5sb25nCTI3MTAwMDIyNTYKKwkubG9uZwkxMDY3Njc5MTI2CisJLmxvbmcJMzQwMzg5NjAwNworCS5sb25nCTEwMTA5MTA3NjgKKwkubG9uZwkzMjc1NzAxNDI4CisJLmxvbmcJMTA2Nzc0NDU2MgorCS5sb25nCTExOTk1OTkzMworCS5sb25nCTEwMTE0ODI4NDMKKwkubG9uZwkyOTA4NjM2ODgxCisJLmxvbmcJMTA2NzgwOTk4OAorCS5sb25nCTI0NjQ0ODk2MTIKKwkubG9uZwkxMDExNTQ1NTI2CisJLmxvbmcJMzc3Nzg4OTM5OAorCS5sb25nCTEwNjc4NzU0MDMKKwkubG9uZwkzMjYyNjgyMTY1CisJLmxvbmcJMTAwOTcwMzkxOQorCS5sb25nCTM3NTk2Njc0MTkKKwkubG9uZwkxMDY3OTQwODA3CisJLmxvbmcJMTgzODEzMDg1MQorCS5sb25nCTMxNTczNzM1NTYKKwkubG9uZwk3MzIzNjk5NDAKKwkubG9uZwkxMDY4MDA2MjAwCisJLmxvbmcJMTIwMzQyODMxMworCS5sb25nCTEwMTAwNTUzNzEKKwkubG9uZwkxMTY2NjE2NDYxCisJLmxvbmcJMTA2ODA3MTU4MAorCS5sb25nCTI5MDEyNzQwNTEKKwkubG9uZwkzMTU4NTQ5OTc3CisJLmxvbmcJMjk0NTQ3Mjg5MgorCS5sb25nCTEwNjgxMzY5NDcKKwkubG9uZwkzNzI2MTIwNjU4CisJLmxvbmcJMTAwOTc2MjcxNQorCS5sb25nCTM5NTQ0ODA5NzYKKwkubG9uZwkxMDY4MjAyMzAxCisJLmxvbmcJMTI4OTE3MzQ1NworCS5sb25nCTEwMDk0Mjk4NjEKKwkubG9uZwkyMDgxNzUyODI5CisJLmxvbmcJMTA2ODI2NzY0MgorCS5sb25nCTE4MzY5MDk4NzQKKwkubG9uZwkxMDA2MjEyMDk1CisJLmxvbmcJMzgwNzk5OTc4OAorCS5sb25nCTEwNjgzMzI5NjgKKwkubG9uZwkyMTcyNDU5OTQwCisJLmxvbmcJMzE1NjE2MjA3OAorCS5sb25nCTI3MzE3ODk4ODQKKwkubG9uZwkxMDY4Mzk4MjgwCisJLmxvbmcJMzQ1MDcxODM5MgorCS5sb25nCTMxNTkyMTY1NDcKKwkubG9uZwkxMDQ0NDc3OTYxCisJLmxvbmcJMTA2ODQ2MzU3NworCS5sb25nCTIyMzA1NTMyMjkKKwkubG9uZwkxMDExNDI0MzM5CisJLmxvbmcJMTQ4NjkzMDI4NworCS5sb25nCTEwNjg1MzAyMTgKKwkubG9uZwkyODYxNTQ3NDc0CisJLmxvbmcJMTAxMjA0MTM3NgorCS5sb25nCTIyOTMwMTY4ODEKKwkubG9uZwkxMDY4NTk1NDY2CisJLmxvbmcJMTM2ODQzMjcyCisJLmxvbmcJMTAxMjY4NDc5NworCS5sb25nCTIwMTUxODE1NworCS5sb25nCTEwNjg2NjA2ODAKKwkubG9uZwk2MzIzMTk4NAorCS5sb25nCTEwMTI0MjcxOTgKKwkubG9uZwk0MDU0MjM0NTg0CisJLmxvbmcJMTA2ODcyNTg1NgorCS5sb25nCTM5MjcwMDY5NjAKKwkubG9uZwkxMDExODc4OTU1CisJLmxvbmcJMTI0NjQ3NzIxMworCS5sb25nCTEwNjg3OTA5OTUKKwkubG9uZwkxNDk0MjY1NjUyCisJLmxvbmcJMzE1NTIxOTM1MAorCS5sb25nCTY3ODE4NjY5OQorCS5sb25nCTEwNjg4NTYwOTMKKwkubG9uZwkxMjY0MzYxNDI0CisJLmxvbmcJMzE1OTI1NjY5MworCS5sb25nCTI2OTA1OTQ5OTUKKwkubG9uZwkxMDY4OTIxMTQ4CisJLmxvbmcJMzkwNjk5NjM3OQorCS5sb25nCTEwMDkyODgyNjcKKwkubG9uZwkzMzYyNjExNTE3CisJLmxvbmcJMTA2ODk4NjE1OQorCS5sb25nCTE2NTA5NzAwNDEKKwkubG9uZwkzMTU4MzMxNzcxCisJLmxvbmcJMzEwMjE2MjExMQorCS5sb25nCTEwNjkwNTExMjQKKwkubG9uZwkzNjU5MTcwMzUKKwkubG9uZwkzMTYwMjY0MTUzCisJLmxvbmcJMjM1MjYxMTA2NworCS5sb25nCTEwNjkxMTYwNDEKKwkubG9uZwk0MDA4OTcwMTkwCisJLmxvbmcJMzE1OTQ3ODE4MgorCS5sb25nCTE1OTQxMzQ3OTQKKwkubG9uZwkxMDY5MTgwOTA4CisJLmxvbmcJNDY2NjkwMTc4CisJLmxvbmcJMTAxMjUyNjUwMQorCS5sb25nCTEzNDUwNzkzMDYKKwkubG9uZwkxMDY5MjQ1NzIzCisJLmxvbmcJMjI2ODI3MzU2OAorCS5sb25nCTMxNjAxNjQwOTIKKwkubG9uZwkyMTYzMzAwOTcwCisJLmxvbmcJMTA2OTMxMDQ4NAorCS5sb25nCTI3NTA4MzQ4MDAKKwkubG9uZwkzMTU4MTEzNDgyCisJLmxvbmcJMzUyNTIyNzE2CisJLmxvbmcJMTA2OTM3NTE5MAorCS5sb25nCTE3NTA0MTEzNzIKKwkubG9uZwkxMDExNzkwODQ1CisJLmxvbmcJODQ4NTQxNjQ3CisJLmxvbmcJMTA2OTQzOTgzOAorCS5sb25nCTIxNjQyMDc1NzMKKwkubG9uZwkxMDExNjk4MzUwCisJLmxvbmcJNDA2NDczMTIKKwkubG9uZwkxMDY5NTA0NDI3CisJLmxvbmcJMjk0OTE2NTQzNAorCS5sb25nCTMxNTkxMDcyNjcKKwkubG9uZwkyMjE2NzY2MjcwCisJLmxvbmcJMTA2OTU3NDM1NworCS5sb25nCTIxOTc5MjA3NjUKKwkubG9uZwkzMTYxMDU1OTU0CisJLmxvbmcJMTA5MDkxNDM4NAorCS5sb25nCTEwNjk2Mzg3NTcKKwkubG9uZwkyMzMwNDU0Njc0CisJLmxvbmcJMTAxMzM2NTk5OAorCS5sb25nCTM4NzYwMTI0NAorCS5sb25nCTEwNjk3MDMwMjIKKwkubG9uZwkzMTg1NjgxMTY4CisJLmxvbmcJMTAxMzQzNDA3MQorCS5sb25nCTM5OTE2NDA0ODQKKwkubG9uZwkxMDY5NzY3MTQ0CisJLmxvbmcJMTMxMzIxMTU5MAorCS5sb25nCTMxNjEwODc5NTkKKwkubG9uZwkzMzIyNDg5NTAyCisJLmxvbmcJMTA2OTgzMTExOAorCS5sb25nCTMwMTM5Nzc5OTUKKwkubG9uZwkxMDEzMDUzMDExCisJLmxvbmcJMzEyMTY5ODU3MAorCS5sb25nCTEwNjk4OTQ5MzYKKwkubG9uZwk0MDY5MDE1NjY3CisJLmxvbmcJMTAxMzAyMzM2MgorCS5sb25nCTQyODk5NjQ2NjAKKwkubG9uZwkxMDY5OTU4NTkxCisJLmxvbmcJMTczNjE5MTE1NgorCS5sb25nCTMxNTgyNjY3MzEKKwkubG9uZwkzOTAzMzEyMzg2CisJLmxvbmcJMTA3MDAyMjA3NworCS5sb25nCTE4MzM1OTI0MTMKKwkubG9uZwkzMTU5NzMxNDcxCisJLmxvbmcJMzgxODQ0OTg2NAorCS5sb25nCTEwNzAwODUzODcKKwkubG9uZwk4NTEwMzY0MjkKKwkubG9uZwkzMTU5NzMwNDUxCisJLmxvbmcJMjA5NzQ4MDMwNgorCS5sb25nCTEwNzAxNDg1MTUKKwkubG9uZwkzNTA2MzkwODg0CisJLmxvbmcJMzE2MDQ2MjMwMgorCS5sb25nCTE2MTE2OTQ1MDIKKwkubG9uZwkxMDcwMjExNDU0CisJLmxvbmcJMjc4NTczNTU0MAorCS5sb25nCTMxNjA0NjUxNDQKKwkubG9uZwkxNDY0Njk0Nzk2CisJLmxvbmcJMTA3MDI3NDE5OAorCS5sb25nCTQyMjkyNzcyOTkKKwkubG9uZwkzMTU5OTA3MDAwCisJLmxvbmcJMTI5OTYxMjc3NQorCS5sb25nCTEwNzAzMzY3NDEKKwkubG9uZwk0MTE2NjUzNzg4CisJLmxvbmcJMzE2MDQyNzczOQorCS5sb25nCTEzMTA1NDQ3ODkKKwkubG9uZwkxMDcwMzk5MDc3CisJLmxvbmcJMTA2NDQzMDMzMQorCS5sb25nCTEwMTMyMTgyMDIKKwkubG9uZwkyMjUzMTY4MDMwCisJLmxvbmcJMTA3MDQ2MTIwMAorCS5sb25nCTE0MDUwNDQ2MDkKKwkubG9uZwkzMTU3NjIzMTc5CisJLmxvbmcJMTE1OTU2NzM3MworCS5sb25nCTEwNzA1MjMxMDUKKwkubG9uZwkyMzUzNDQ1NTIxCisJLmxvbmcJMzE1OTk5MjE3NgorCS5sb25nCTEzNTkzNzM3NTAKKwkubG9uZwkxMDcwNjA1ODE4CisJLmxvbmcJMTc0ODE3MTMzNgorCS5sb25nCTMxNjE4NzkyNjMKKwkubG9uZwk5MDgzNDE3MDYKKwkubG9uZwkxMDcwNjY3MDM0CisJLmxvbmcJMzM3MjcxMDgxNQorCS5sb25nCTMxNjE3NzUyNDUKKwkubG9uZwkxNzQzMDI3MzUwCisJLmxvbmcJMTA3MDcyNzc2NQorCS5sb25nCTY4NzA4OTkzNAorCS5sb25nCTMxNjA1MDcxNzEKKwkubG9uZwkyMDU1MzU1NjQ2CisJLmxvbmcJMTA3MDc4Nzk5MgorCS5sb25nCTIzOTI4NTUyNDIKKwkubG9uZwkxMDEzNjgyNDY5CisJLmxvbmcJNjkwNDI2MTY0CisJLmxvbmcJMTA3MDg0NzY5NworCS5sb25nCTExMDM5MjY2NjYKKwkubG9uZwkxMDE0MDUyODEwCisJLmxvbmcJMTQ4MzI0Nzg0NworCS5sb25nCTEwNzA5MDY4NjIKKwkubG9uZwkyMDgyNjQ1ODQ3CisJLmxvbmcJMzE2MTM0NTQ3OQorCS5sb25nCTM5MjA0MDI3MAorCS5sb25nCTEwNzA5NjU0NzIKKwkubG9uZwkyNDA3NzIwMDIzCisJLmxvbmcJMTAxNDA1Mzc1NAorCS5sb25nCTI2NzM4NDYwMTQKKwkubG9uZwkxMDcxMDIzNTExCisJLmxvbmcJMTI5MzYwNTUzMgorCS5sb25nCTMxNTg0NjQzODUKKwkubG9uZwkxMzg0MjE1ODEwCisJLmxvbmcJMTA3MTA4MDk2NworCS5sb25nCTI0NDYwOTU4NzIKKwkubG9uZwkzMTU5MjE2NDA3CisJLmxvbmcJMzEwMTY2MDYzMQorCS5sb25nCTEwNzExMzc4MjYKKwkubG9uZwk2OTgwNDA3NTgKKwkubG9uZwkxMDE0ODU1MzI4CisJLmxvbmcJMjA5NDA1NzA1OAorCS5sb25nCTEwNzExOTQwNzgKKwkubG9uZwkyMjgyMDQ4MzM5CisJLmxvbmcJMTAxNDA0MDM4NQorCS5sb25nCTE3MTI3NTA1OTQKKwkubG9uZwkxMDcxMjQ5NzEyCisJLmxvbmcJMTIwNDM3MjM3OAorCS5sb25nCTMxNjIyNzY0NjQKKwkubG9uZwkxNDExNTE1Nzg3CisJLmxvbmcJMTA3MTMwNDcxOQorCS5sb25nCTk0OTA4MDgwOAorCS5sb25nCTEwMTUwMDY0MDMKKwkubG9uZwk5MzE1MzgwODUKKwkubG9uZwkxMDcxMzU5MDkxCisJLmxvbmcJMzAyNzEyNzAzOQorCS5sb25nCTEwMTQzMDcyMzMKKwkubG9uZwkxNzkxMzkwNjUKKwkubG9uZwkxMDcxNDEyODIxCisJLmxvbmcJNDI4NTU0NzQ5MgorCS5sb25nCTMxNjE5MzQ3MzEKKwkubG9uZwkzMzg3NzIxMjU5CisJLmxvbmcJMTA3MTQ2NTkwMgorCS5sb25nCTM3MzIyNTc3MworCS5sb25nCTEwMTM0ODY2MjUKKwkubG9uZwkyMTMyMjM2ODUyCisJLmxvbmcJMTA3MTU0NDI5OQorCS5sb25nCTMyNTA1MzM0MjkKKwkubG9uZwkxMDE0MDMxNjc3CisJLmxvbmcJMTk0MjA3MDI4NAorCS5sb25nCTEwNzE2NDU1OTYKKwkubG9uZwkxMjM3OTY0MTc5CisJLmxvbmcJMzE2MzIzOTExMworCS5sb25nCTE1MzI3MDc4MDIKKwkubG9uZwkxMDcxNjk1MzgwCisJLmxvbmcJMzMwNjQ1NTgzCisJLmxvbmcJMTAxMjQ5NTYxMAorCS5sb25nCTIyOTQxODQ5NzkKKwkubG9uZwkxMDcxNzQzODM0CisJLmxvbmcJMzk1OTQ3Mjg5NworCS5sb25nCTEwMTU4MzMxMTYKKwkubG9uZwkzODA1MDYwNzE0CisJLmxvbmcJMTA3MTc5MDk2MQorCS5sb25nCTI2NzEyNTYxNDIKKwkubG9uZwkxMDEzNzI3NzcyCisJLmxvbmcJMjIxNTAzNzg5OAorCS5sb25nCTEwNzE4MzY3NzAKKwkubG9uZwkyNjgzMzU5MTE3CisJLmxvbmcJMTAxNTgzMTkwMgorCS5sb25nCTQ4MzY2MTU5NAorCS5sb25nCTEwNzE4ODEyNzMKKwkubG9uZwk4MzYyODgzMjYKKwkubG9uZwkzMTYyNjQ4NjQzCisJLmxvbmcJMTUzNDY3OTg5NAorCS5sb25nCTEwNzE5MjQ0ODYKKwkubG9uZwkzNzMyNTg2OTYKKwkubG9uZwkzMTYyNDcwMDk2CisJLmxvbmcJMTUzODcxNDYyOAorCS5sb25nCTEwNzE5NjY0MzAKKwkubG9uZwkzMTk5NDMzMDY4CisJLmxvbmcJMTAxNTMyNTUwMQorCS5sb25nCTUyNzY0MjU1NQorCS5sb25nCTEwNzIwMDcxMjgKKwkubG9uZwkzNjM2ODMyNTkyCisJLmxvbmcJMzE2MTg0MzE0NQorCS5sb25nCTI5MTMzOTE1MAorCS5sb25nCTEwNzIwNDY2MDUKKwkubG9uZwk4OTAxNjk1MzcKKwkubG9uZwkzMTYwNTg2MTE3CisJLmxvbmcJMjQ1MDIxMDIwMQorCS5sb25nCTEwNzIwODQ4ODgKKwkubG9uZwkxNjM2MzUzMjk0CisJLmxvbmcJMzE2MzE5MzQwMAorCS5sb25nCTI0MTEzNjc5NTEKKwkubG9uZwkxMDcyMTIyMDA3CisJLmxvbmcJMzc0ODk5ODczCisJLmxvbmcJMTAxMTMzMTc1MAorCS5sb25nCTY4MTU0OTk3MQorCS5sb25nCTEwNzIxNTc5OTIKKwkubG9uZwk1MDY0MTE2ODkKKwkubG9uZwkxMDE1MzczOTU0CisJLmxvbmcJMTQ2Njc0NTU0MQorCS5sb25nCTEwNzIxOTI4NzMKKwkubG9uZwkyMTQzODYwOTMxCisJLmxvbmcJMTAxMzM2NDMzNAorCS5sb25nCTI4NDU2MjIzNjYKKwkubG9uZwkxMDcyMjI2NjgyCisJLmxvbmcJMjg2OTE3ODIwOQorCS5sb25nCTMxNjI0MjM2ODIKKwkubG9uZwkyODM4ODcxNDM4CisJLmxvbmcJMTA3MjI3NTQ1NgorCS5sb25nCTM3NDIyMjM1OTkKKwkubG9uZwkxMDE0MzM4NTc3CisJLmxvbmcJNDIwMDI3NTI3NAorCS5sb25nCTEwNzIzMzcwMzQKKwkubG9uZwkxNTY2NTM5OTE1CisJLmxvbmcJMzE2MTgzOTU1MAorCS5sb25nCTMwMzQ3MzM1MzAKKwkubG9uZwkxMDcyMzk0ODk3CisJLmxvbmcJNjUyNjIxNDA4CisJLmxvbmcJMzE2MjI2MTk2NAorCS5sb25nCTMyMDc0MTI5OTMKKwkubG9uZwkxMDcyNDQ5MjkwCisJLmxvbmcJMzIwNjEyNDY2NQorCS5sb25nCTEwMTQ0MDg3MzMKKwkubG9uZwk2MjQ0NjE0NzgKKwkubG9uZwkxMDcyNTAwNDUwCisJLmxvbmcJOTMyNDM3NDg1CisJLmxvbmcJMTAxNTIwNDM0MworCS5sb25nCTc2NzY2NTkwOAorCS5sb25nCTEwNzI1NDg2MDAKKwkubG9uZwkxMDM3OTExOTUyCisJLmxvbmcJMzE2MzUyNzYyNworCS5sb25nCTExMTA3NzM2MzkKKwkubG9uZwkxMDcyNTkzOTUyCisJLmxvbmcJMjM3MTUxNzkxMgorCS5sb25nCTMxNjA0NjU3NDEKKwkubG9uZwkxOTQwODI4NTMwCisJLmxvbmcJMTA3MjYzNjcwNAorCS5sb25nCTI3MzE0MDg0MjgKKwkubG9uZwkzMTYyODk1Nzk1CisJLmxvbmcJMTkxMTMyOTM4OAorCS5sb25nCTEwNzI2NzcwNDEKKwkubG9uZwkxNzczMDg5NjE1CisJLmxvbmcJMzE1OTU2OTI2NworCS5sb25nCTE3NjQ3MTU3ODgKKwkubG9uZwkxMDcyNzA0MTkxCisJLmxvbmcJNjkxMzQ2OTQ5CisJLmxvbmcJMzE2NDA2OTk0NgorCS5sb25nCTMzMzI5NzkyMzMKKwkubG9uZwkxMDcyNzIyMTk1CisJLmxvbmcJMzU1MDczMzk4MworCS5sb25nCTEwMTQ3NzA2MjgKKwkubG9uZwkxMzIxODcwMjU0CisJLmxvbmcJMTA3MjczOTIzMQorCS5sb25nCTE0MTUzMTU4MjAKKwkubG9uZwkxMDE2MjI0MDUyCisJLmxvbmcJMzY1NzQyOTAzMAorCS5sb25nCTEwNzI3NTUzNjUKKwkubG9uZwkzOTEwNTM5MDMzCisJLmxvbmcJMTAxNTk2NjQwMgorCS5sb25nCTQxOTc2MjQ1NTcKKwkubG9uZwkxMDcyNzcwNjYxCisJLmxvbmcJMjMzMzM5OTI1NAorCS5sb25nCTMxNjQ1NDY0ODAKKwkubG9uZwkxNTEyMDU5NDkzCisJLmxvbmcJMTA3Mjc4NTE3NworCS5sb25nCTI3MDE1MTAzMTgKKwkubG9uZwkxMDE2MTc4MDkyCisJLmxvbmcJNDUzMzc5MDM3CisJLmxvbmcJMTA3Mjc5ODk2NQorCS5sb25nCTQwNDYzNDQyNTMKKwkubG9uZwkzMTYyODE0MzY0CisJLmxvbmcJMTk0MjM0NTE2MgorCS5sb25nCTEwNzI4MTgzODgKKwkubG9uZwk2MjExMzQxNDcKKwkubG9uZwkxMDE2MzM1MTk1CisJLmxvbmcJNDIxMDE3NjI3MworCS5sb25nCTEwNzI4NDIxNjQKKwkubG9uZwkyNzAxMDEzMzg3CisJLmxvbmcJMzE2NDMyNjYxOQorCS5sb25nCTQxODU2NDQwMTAKKwkubG9uZwkxMDcyODYzNzk1CisJLmxvbmcJNDE2MzY5OTM0MQorCS5sb25nCTEwMTYyMDMxMTIKKwkubG9uZwk2Nzk2ODg3ODgKKwkubG9uZwkxMDcyODgzNTQzCisJLmxvbmcJNDE0NzI3Njc2MgorCS5sb25nCTEwMTQwNjY3NTAKKwkubG9uZwkyOTQzMjg2NQorCS5sb25nCTEwNzI5MDE2MzAKKwkubG9uZwk5NzA0MTU3OTcKKwkubG9uZwkxMDE2OTAyMDYzCisJLmxvbmcJNDA3MDcyMTA5MgorCS5sb25nCTEwNzI5MTgyNDcKKwkubG9uZwkyNTM5MDA0NDExCisJLmxvbmcJMzE2MzczNjA5NgorCS5sb25nCTIyNTI0Njg4NDMKKwkubG9uZwkxMDcyOTMzNTYxCisJLmxvbmcJMzQyNDA4Mjg4NworCS5sb25nCTMxNjM0MDcxNzcKKwkubG9uZwkyOTI5NzI0ODI1CisJLmxvbmcJMTA3Mjk0NzcxMgorCS5sb25nCTM2NjE0ODIyMzUKKwkubG9uZwkzMTYzODQ2OTg5CisJLmxvbmcJMTM3NzUxMzM2OAorCS5sb25nCTEwNzI5NjA4MjQKKwkubG9uZwkzOTg3OTI2NjgwCisJLmxvbmcJMTAxMzY0NzkwOAorCS5sb25nCTEwMzE2MzI5MDgKKwkubG9uZwkxMDcyOTczMDAzCisJLmxvbmcJMzY3MjIxNzE1MQorCS5sb25nCTEwMTY2MTQ2MTkKKwkubG9uZwkyNTE2NTA4MTMwCisJLmxvbmcJMTA3Mjk4NDM0MgorCS5sb25nCTU0NTg1NTAyMAorCS5sb25nCTMxNjI3Mjg5MzAKKwkubG9uZwkzNzkyNDUyMTc4CisJLmxvbmcJMTA3Mjk5NDkyMworCS5sb25nCTM0MjAxMTk0NjcKKwkubG9uZwkxMDE2NDcxNDMwCisJLmxvbmcJMzE0Nzc5MTQ1OQorCS5sb25nCTEwNzMwMDQ4MTgKKwkubG9uZwkxMzQyMjA0OTc5CisJLmxvbmcJMTAxMzkzNzI1NAorCS5sb25nCTk5OTE4OTc1MgorCS5sb25nCTEwNzMwMTQwOTAKKwkubG9uZwkxMDA2MzM1NDcyCisJLmxvbmcJMzE2Mjg1MDkxOQorCS5sb25nCTcxMTAxMTAxMQorCS5sb25nCTEwNzMwMjI3OTQKKwkubG9uZwk0NjMzNDg4CisJLmxvbmcJMzE2Mjk2Njg5NQorCS5sb25nCTE1NjQwMzYzCisJLmxvbmcJMTA3MzAzMDk4MAorCS5sb25nCTE2ODYzODk1NjAKKwkubG9uZwkzMTY0Mzc2MjI2CisJLmxvbmcJMTIxODQ2MzU4OQorCS5sb25nCTEwNzMwNDIzODIKKwkubG9uZwkxNTI2ODM3MTEwCisJLmxvbmcJMzE2MzUzMzk4NQorCS5sb25nCTI1Mzg0NzA1NTUKKwkubG9uZwkxMDczMDU2MTQ0CisJLmxvbmcJMjI3MzMwNDQwNgorCS5sb25nCTMxNjM3ODQ5OTYKKwkubG9uZwkxMjI5NzIwOTQ3CisJLmxvbmcJMTA3MzA2ODQ4OQorCS5sb25nCTI5NzE2MjgyMDYKKwkubG9uZwkzMTYyMzU2NTQwCisJLmxvbmcJMzExNTQyNzAxNgorCS5sb25nCTEwNzMwNzk2MjEKKwkubG9uZwk0MjE1MTMyOTU3CisJLmxvbmcJMzE2NDI4Mjc2MgorCS5sb25nCTQwMzA2MTI1NTcKKwkubG9uZwkxMDczMDg5NzA5CisJLmxvbmcJMTkxMzI1MTY5MQorCS5sb25nCTMxNjM2NzEyOTIKKwkubG9uZwkyNzI4NTIxMjU3CisJLmxvbmcJMTA3MzA5ODg5MgorCS5sb25nCTI4NjEwODk1MDAKKwkubG9uZwkxMDE1NDU0NDU5CisJLmxvbmcJMTExODY5NjI4MworCS5sb25nCTEwNzMxMDcyODUKKwkubG9uZwkxNjI4OTQ4MDUzCisJLmxvbmcJMTAxNjE3OTY1OAorCS5sb25nCTI2ODI3MTEyNTUKKwkubG9uZwkxMDczMTE0OTg0CisJLmxvbmcJMjkwNjMwNjI2NgorCS5sb25nCTEwMTQxNDI2NDMKKwkubG9uZwkyMDczODk4MDgxCisJLmxvbmcJMTA3MzEyMjA3MgorCS5sb25nCTEzMjI3NDA0NTQKKwkubG9uZwkzMTY0NDk3MjE3CisJLmxvbmcJMTQwMzcwMDI5NworCS5sb25nCTEwNzMxMjg2MTgKKwkubG9uZwk0MTYxMzc4OTUKKwkubG9uZwkzMTYyNzgxNDY2CisJLmxvbmcJMjUwMjY4NTYxNworCS5sb25nCTEwNzMxMzQ2ODEKKwkubG9uZwkzMjQyMDA4NzMyCisJLmxvbmcJMTAxNDU5MzQ5NQorCS5sb25nCTE1MzE5MjY4NTEKKwkubG9uZwkxMDczMTQwMzEzCisJLmxvbmcJMTM2MjcwODA5NAorCS5sb25nCTEwMTY1MTc2MDQKKwkubG9uZwkzNTcyODE0NDExCisJLmxvbmcJMTA3MzE0NTU1NworCS5sb25nCTM3MDk3OTA1MjcKKwkubG9uZwkxMDEyNjQ2ODc0CisJLmxvbmcJMTY5NTUzNjExMQorCS5sb25nCTEwNzMxNTA0NTMKKwkubG9uZwkzOTgwMzQ2MzQwCisJLmxvbmcJMTAxNjcwNTEzNgorCS5sb25nCTIzNjMwNTcyMDMKKwkubG9uZwkxMDczMTU1MDMzCisJLmxvbmcJMjU1MTE5NDc5MgorCS5sb25nCTEwMTI1Njk2OTUKKwkubG9uZwkyODczMzY1NjgyCisJLmxvbmcJMTA3MzE1OTMyNworCS5sb25nCTMxODExNTQ3NDgKKwkubG9uZwkxMDE3MDQxNDUwCisJLmxvbmcJMTA1MzM4NDY5MQorCS5sb25nCTEwNzMxNjUyODgKKwkubG9uZwkzMDc0NTM2ODc5CisJLmxvbmcJMTAxNjk2NTY2MAorCS5sb25nCTMyNzA1NDI3MTIKKwkubG9uZwkxMDczMTcyNDUxCisJLmxvbmcJMjUzNTMxOTQxNQorCS5sb25nCTMxNjMwNTE3NzgKKwkubG9uZwkxMzUzNjMxNDg0CisJLmxvbmcJMTA3MzE3ODg1MAorCS5sb25nCTExNzM4MzM3NTUKKwkubG9uZwkxMDE1NTM0NTM3CisJLmxvbmcJMzUxMTIxODQ2MAorCS5sb25nCTEwNzMxODQ1OTkKKwkubG9uZwkxMjQzNjA4MTA5CisJLmxvbmcJMzE2MTU5MjEyMgorCS5sb25nCTQxMjEyNTkyODQKKwkubG9uZwkxMDczMTg5NzkzCisJLmxvbmcJMzk4NTg0OTEyCisJLmxvbmcJMzE2MzgyOTkyMworCS5sb25nCTExOTM4NjIxMDYKKwkubG9uZwkxMDczMTk0NTA5CisJLmxvbmcJMTg3Mzc0NTUzOQorCS5sb25nCTMxNjM4MDI4MTkKKwkubG9uZwkzODYxOTQ5NzkwCisJLmxvbmcJMTA3MzE5ODgwOAorCS5sb25nCTM4NDEyNjExNDcKKwkubG9uZwkxMDE1NTg3MjQ4CisJLmxvbmcJMTQ4NjkwNDU3OAorCS5sb25nCTEwNzMyMDI3NDUKKwkubG9uZwkxNjM0NzI2Nzc2CisJLmxvbmcJMzE2Mzg0Nzg4NgorCS5sb25nCTI4NzkxNTM3MTUKKwkubG9uZwkxMDczMjA2MzYyCisJLmxvbmcJMjAwNDU2MjQyCisJLmxvbmcJMzE2NDEzODY1NworCS5sb25nCTM4NTM1MzI1MworCS5sb25nCTEwNzMyMDk2OTgKKwkubG9uZwkxMTg2MzU1NTE3CisJLmxvbmcJMTAxNDg4NzE1NQorCS5sb25nCTExMjU4NjU4MzkKKwkubG9uZwkxMDczMjEyNzgzCisJLmxvbmcJMjAzNTYxMjYyCisJLmxvbmcJMzE2MTI0NDkyNworCS5sb25nCTEyMjEzNjE0NzUKKwkubG9uZwkxMDczMjE1NjQ1CisJLmxvbmcJMzM4MjQ3NjU2MworCS5sb25nCTEwMTQ5MzYxMzgKKwkubG9uZwkyMDc3MzIzNTczCisJLmxvbmcJMTA3MzIxODMwNworCS5sb25nCTEwMDUxMjEwMDUKKwkubG9uZwkzMTY0NDMwNzUyCisJLmxvbmcJMjE1NjExMzczCisJLmxvbmcJMTA3MzIyMDc5MAorCS5sb25nCTM1MzE5ODc2NAorCS5sb25nCTMxNjQ0ODUxMzcKKwkubG9uZwkyMzQ3NDE5MjY1CisJLmxvbmcJMTA3MzIyMzExMAorCS5sb25nCTExMDMxNDMzNjAKKwkubG9uZwkxMDE2NTQyMTM3CisJLmxvbmcJMTM3OTExMjc2NQorCS5sb25nCTEwNzMyMjUyODQKKwkubG9uZwkzODE1ODM1MzMKKwkubG9uZwkzMTYyODcwODMzCisJLmxvbmcJMzg5MTE5ODQ2MworCS5sb25nCTEwNzMyMjgyOTgKKwkubG9uZwkxNzcxMjc1NzU0CisJLmxvbmcJMTAxNDY1NDY4MQorCS5sb25nCTMzOTU5MTQwNTEKKwkubG9uZwkxMDczMjMxOTE3CisJLmxvbmcJMjM1MDkwMDkxNAorCS5sb25nCTMxNjQwMTM5NzgKKwkubG9uZwkyNzk5OTE5NDc4CisJLmxvbmcJMTA3MzIzNTE0NgorCS5sb25nCTI4OTM5NTAxNjQKKwkubG9uZwkzMTYzMjYwOTAxCisJLmxvbmcJMTEzODY3MzQ3NgorCS5sb25nCTEwNzMyMzgwNDUKKwkubG9uZwkyNjIyMjA0Nzg1CisJLmxvbmcJMzE2NDE3NDM4OAorCS5sb25nCTM0MDg4NTU5NDAKKwkubG9uZwkxMDczMjQwNjYxCisJLmxvbmcJMjgwMDg4MTY1MAorCS5sb25nCTEwMTYwMDg2MjQKKwkubG9uZwkyMDQ0ODU4NzM4CisJLmxvbmcJMTA3MzI0MzAzNQorCS5sb25nCTYwNDU0NDc4NQorCS5sb25nCTEwMTcwMjI5MDEKKwkubG9uZwkyNTc4Nzk1MTc2CisJLmxvbmcJMTA3MzI0NTE5OAorCS5sb25nCTI1NTczMzI5MjUKKwkubG9uZwkxMDE2MTM1MTY1CisJLmxvbmcJNDE5NjI4NTMxNAorCS5sb25nCTEwNzMyNDcxNzcKKwkubG9uZwkyMDMyMzY1MzA3CisJLmxvbmcJMTAxNjE5NDczNQorCS5sb25nCTIyNDg3Nzc0NworCS5sb25nCTEwNzMyNDg5OTYKKwkubG9uZwk0OTc5MjY5MTYKKwkubG9uZwkxMDE2OTQ3MTExCisJLmxvbmcJMzI3MTM4NjQ5MAorCS5sb25nCTEwNzMyNTA2NzEKKwkubG9uZwkyNjg5OTk0ODQ2CisJLmxvbmcJMTAxNjYzMTUxMworCS5sb25nCTgxMzYzNTk4OQorCS5sb25nCTEwNzMyNTIyMjEKKwkubG9uZwk3NDcwMzUyNzcKKwkubG9uZwkzMTY0NTMwMTM2CisJLmxvbmcJMzY5ODI5NTE5CisJLmxvbmcJMTA3MzI1MzY1OAorCS5sb25nCTIxODIwMzM4NTgKKwkubG9uZwkzMTYzMTkwMzQwCisJLmxvbmcJMTE4NzY3OTA1MgorCS5sb25nCTEwNzMyNTQ5OTQKKwkubG9uZwk2NzM5NTQ0NDMKKwkubG9uZwkxMDE2MTQ5ODIxCisJLmxvbmcJNDIzMjU4NjA5OAorCS5sb25nCTEwNzMyNTYyMzkKKwkubG9uZwk0OTc3NzUyMDAKKwkubG9uZwkzMTYyMTc5MDE1CisJLmxvbmcJNDI2NjkwNTU4CisJLmxvbmcJMTA3MzI1NzQwNAorCS5sb25nCTMwNjMzNDMyNDcKKwkubG9uZwkxMDE2ODY1NTc4CisJLmxvbmcJMTYyNDA2NTkwMgorCS5sb25nCTEwNzMyNTg0OTQKKwkubG9uZwkxMzU0MjI0OTk2CisJLmxvbmcJMzE2MzUwMzc3OAorCS5sb25nCTE0MTM3NTQxMzYKKwkubG9uZwkxMDczMjkxNzcxCisJLmxvbmcJODU2OTcyMjk1CisJLmxvbmcJMTAxNjE3ODIxNAorCS5sb25nCTE0MTM3NTQxMzYKKwkubG9uZwkxMDczMjkxNzcxCisJLmxvbmcJODU2OTcyMjk1CisJLmxvbmcJMTAxNjE3ODIxNAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkyMTQ3NDgzNjQ3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5MDE3NjAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMjc2OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjAwNjI2Mjk4NQorCS5sb25nCTEwNjkzMTA4NjMKKwkubG9uZwkyMzU4NDQ5NDcxCisJLmxvbmcJMzIxNzM0MjEzMQorCS5sb25nCTM4NDU0NTQzNTIKKwkubG9uZwkxMDY5OTUyMjk3CisJLmxvbmcJMjgyOTY3OTE0OQorCS5sb25nCTEwNzM3NzE1NjUKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwyNzA0CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvc19jYnJ0LlMgYi9saWJtL3g4Ni9zX2NicnQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzk4Yzk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvc19jYnJ0LlMKQEAgLTAsMCArMSw3MzggQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgIEFzc3VtZSB4PTJeezMqaytqfSAqIDEuYjEgYjIgLi4uIGI1IGI2IC4uLiBiNTIsIHdoZXJlIGogPSAwLDEsMi4KKy8vICAgTGV0IHI9KHgqMl57LTNrLWp9IC0gMS5iMSBiMiAuLi4gYjUgMSkqIHJjcFtiMSBiMiAuLmI1XSwKKy8vICAgd2hlcmUgcmNwW2IxIGIyIC4uIGI1XT0xLygxLmIxIGIyIGIzIGI0IGI1IDEpIGluIGRvdWJsZSBwcmVjaXNpb24KKy8vICAgY2JydCgyXmogKiAxLiBiMSBiMiAuLiBiNSAxKSBpcyBhcHByb3hpbWF0ZWQgYXMgVFtqXVtiMS4uYjVdK0Rbal1bYjEuLmI1XQorLy8gICAoVCBzdG9yZXMgdGhlIGhpZ2ggNTMgYml0cywgRCBzdG9yZXMgdGhlIGxvdyBvcmRlciBiaXRzKQorLy8gICBSZXN1bHQ9Ml5rKlQrKDJeaypUKnIpKlArMl5rKkQKKy8vICAgd2hlcmUgUD1wMStwMipyKy4uK3A4KnJeNworLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgY2JydChOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBjYnJ0KElORikgPSB0aGF0IElORgorLy8gIGNicnQoKy8tMCkgPSArLy0wCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgc3RhdGljX2Z1bmMKKyAgICAgICAgLnRleHQKKyAgICAgICAgLmFsaWduIF9fYmlvbmljX2FzbV9hbGlnbgorICAgICAgICAudHlwZSBzdGF0aWNfZnVuYywgQGZ1bmN0aW9uCitzdGF0aWNfZnVuYzoKKy4uQjEuMToKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZWF4CisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZWF4KSwgJWVheAorICAgICAgICBsZWEgICAgICAgc3RhdGljX2NvbnN0X3RhYmxlQEdPVE9GRiglZWF4KSwgJWVheAorICAgICAgICByZXQKKyAgICAgICAgLnNpemUgICBzdGF0aWNfZnVuYywuLXN0YXRpY19mdW5jCisjIC0tIEVuZCAgc3RhdGljX2Z1bmMKKworIyAtLSBCZWdpbiAgY2JydAorRU5UUlkoY2JydCkKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTIwLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZXNpLCA1MiglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlc2kKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tNworICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJWVzcCkKKyAgICAgICAgbW92bCAgICAgICQ1MjQwMzIsICVlZHgKKyAgICAgICAgbW92c2QgICAgIDY0KCVlc2kpLCAleG1tNQorICAgICAgICBtb3ZzZCAgICAgODAoJWVzaSksICV4bW0zCisgICAgICAgIHBzcmxxICAgICAkNDQsICV4bW03CisgICAgICAgIHBleHRydyAgICAkMCwgJXhtbTcsICVlY3gKKyAgICAgICAgbW92ZCAgICAgICV4bW03LCAlZWF4CisgICAgICAgIG1vdnNkICAgICA5NiglZXNpKSwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNpKSwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICVlYngsIDE2KCVlc3ApCisgICAgICAgIGFuZGwgICAgICAkMjQ4LCAlZWN4CisgICAgICAgIG1vdnNkICAgICAxMjgoJWVjeCwlZXNpKSwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgYW5kbCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBjbXBsICAgICAgJDUyNDAzMiwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKyAgICAgICAgc2hybCAgICAgICQ4LCAlZWR4CisgICAgICAgIHNocmwgICAgICAkOCwgJWVieAorICAgICAgICBhbmRwZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGFuZHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tMworICAgICAgICBvcnBkICAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAoJWVzaSksICV4bW01CisgICAgICAgIG1vdmwgICAgICAkNTQ2MiwgJWVheAorICAgICAgICBtb3ZhcGQgICAgMTYoJWVzaSksICV4bW02CisgICAgICAgIG11bGwgICAgICAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWJ4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMjA0NywgJWVieAorICAgICAgICBzaHJsICAgICAgJDE0LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjA0OCwgJWVkeAorICAgICAgICBzdWJsICAgICAgJWVheCwgJWVieAorICAgICAgICBzdWJsICAgICAgJWVheCwgJWVieAorICAgICAgICBzdWJsICAgICAgJWVheCwgJWVieAorICAgICAgICBzaGxsICAgICAgJDgsICVlYngKKyAgICAgICAgYWRkbCAgICAgICQ2ODIsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlYXgKKyAgICAgICAgbW92ZCAgICAgICVlYXgsICV4bW03CisgICAgICAgIGFkZGwgICAgICAlZWJ4LCAlZWN4CisgICAgICAgIHBzbGxxICAgICAkNTIsICV4bW03CisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92YXBkICAgIDMyKCVlc2kpLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgNDgoJWVzaSksICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW03LCAleG1tMworICAgICAgICBtdWxzZCAgICAgMzg0KCVlY3gsJWVzaSksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgIDExNTIoJWVjeCwlZXNpKSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tNAorICAgICAgICB1bnBja2xwZCAgJXhtbTEsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVieAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHVucGNraHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfMC4wLjI6CisgICAgICAgIG11bHNkICAgICAxOTg0KCVlc2kpLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG1vdmwgICAgICAkNTI0MDMyLCAlZWR4CisgICAgICAgIHBzcmxxICAgICAkNDQsICV4bW03CisgICAgICAgIHBleHRydyAgICAkMCwgJXhtbTcsICVlY3gKKyAgICAgICAgbW92ZCAgICAgICV4bW03LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjQ4LCAlZWN4CisgICAgICAgIG1vdnNkICAgICAxMjgoJWVjeCwlZXNpKSwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgYW5kbCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQ4LCAlZWR4CisgICAgICAgIHNocmwgICAgICAkOCwgJWVieAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW01LCAleG1tMAorICAgICAgICBvcnBkICAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG9ycGQgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgICglZXNpKSwgJXhtbTUKKyAgICAgICAgbW92bCAgICAgICQ1NDYyLCAlZWF4CisgICAgICAgIG1vdmFwZCAgICAxNiglZXNpKSwgJXhtbTYKKyAgICAgICAgbXVsbCAgICAgICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlYngsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQyMDQ3LCAlZWJ4CisgICAgICAgIHNocmwgICAgICAkMTQsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyMDQ4LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIHNobGwgICAgICAkOCwgJWVieAorICAgICAgICBhZGRsICAgICAgJDY2MSwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBtb3ZkICAgICAgJWVheCwgJXhtbTcKKyAgICAgICAgYWRkbCAgICAgICVlYngsICVlY3gKKyAgICAgICAgcHNsbHEgICAgICQ1MiwgJXhtbTcKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWJ4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBtb3ZsICAgICAgMTYoJWVzcCksICVlYngKKyAgICAgICAgZmxkbCAgICAgIDE5NTIoJWVzaSkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgbW92bCAgICAgIDE2KCVlc3ApLCAlZWJ4CisgICAgICAgIGZsZGwgICAgICAxOTY4KCVlc2kpCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIG1vdmwgICAgICAxNiglZXNwKSwgJWVieAorICAgICAgICBtb3ZsICAgICAgMTMyKCVlc3ApLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAxMjgoJWVzcCksICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVjeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBjbXBsICAgICAgJDIxNDY0MzUwNzIsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisgICAgICAgIGZsZGwgICAgICAxOTIwKCVlc2kpCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIGZsZGwgICAgICAxOTM2KCVlc2kpCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVlc3ApLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBtb3ZsICAgICAgNTIoJWVzcCksICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGNicnQpCisjIC0tIEVuZCAgY2JydAorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0woY2JydGwsIGNicnQpOworIyBFbmQgZmlsZSBzY29wZSBBU00KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK3N0YXRpY19jb25zdF90YWJsZToKKwkubG9uZwkxNTUzNzc4OTE5CisJLmxvbmcJMzIxMzg5OTQ4NgorCS5sb25nCTM1MzQ5NTI1MDcKKwkubG9uZwkzMjE1MjY2MjgwCisJLmxvbmcJMTY0NjM3MTM5OQorCS5sb25nCTMyMTQ0MTIwNDUKKwkubG9uZwk0NzcyMTg1ODgKKwkubG9uZwkzMjE2Nzk4MTUxCisJLmxvbmcJMzU4MjUyMTYyMQorCS5sb25nCTEwNjY2MjgzNjIKKwkubG9uZwkxMDA3NDYxNDY0CisJLmxvbmcJMTA2ODQ3MzA1MworCS5sb25nCTg4OTYyOTcxNAorCS5sb25nCTEwNjczNzg0NDkKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3MDk0NTYyMQorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkxMDQ4NTc1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE5MzI4MAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDMyMTkyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk1Mjg2MTEzNjAKKwkubG9uZwkzMjIwMTQ0NjMyCisJLmxvbmcJMjg4NDY3OTUyNworCS5sb25nCTMyMjAwODI5OTMKKwkubG9uZwkxOTkxODY4ODkxCisJLmxvbmcJMzIyMDAyNDkyOAorCS5sb25nCTIyOTg3MTQ4OTEKKwkubG9uZwkzMjE5OTcwMTM0CisJLmxvbmcJNTg4MzUxNjgKKwkubG9uZwkzMjE5OTE4MzQzCisJLmxvbmcJMzAzNTExMDIyMworCS5sb25nCTMyMTk4NjkzMTMKKwkubG9uZwkxNjE3NTg1MDg2CisJLmxvbmcJMzIxOTgyMjgzMQorCS5sb25nCTI1MDA4NjcwMzMKKwkubG9uZwkzMjE5Nzc4NzAyCisJLmxvbmcJNDI0MTk0MzAwOAorCS5sb25nCTMyMTk3MzY3NTIKKwkubG9uZwkyNTg3MzI5NzAKKwkubG9uZwkzMjE5Njk2ODI1CisJLmxvbmcJNDA0MjMyMjE2CisJLmxvbmcJMzIxOTY1ODc3NgorCS5sb25nCTIxNzIxNjczNjgKKwkubG9uZwkzMjE5NjIyNDc2CisJLmxvbmcJMTU0NDI1NzkwNAorCS5sb25nCTMyMTk1ODc4MDgKKwkubG9uZwkzNzc1Nzk1NDMKKwkubG9uZwkzMjE5NTU0NjY0CisJLmxvbmcJMTYxNjM4NTU0MgorCS5sb25nCTMyMTk1MjI5NDUKKwkubG9uZwk4MTM3ODMyNzcKKwkubG9uZwkzMjE5NDkyNTYyCisJLmxvbmcJMzk0MDc0MzE4OQorCS5sb25nCTMyMTk0NjM0MzEKKwkubG9uZwkyNjg5Nzc3NDk5CisJLmxvbmcJMzIxOTQzNTQ3OAorCS5sb25nCTE3MDA5NzcxNDcKKwkubG9uZwkzMjE5NDA4NjMyCisJLmxvbmcJMzE2OTEwMjA4MgorCS5sb25nCTMyMTkzODI4MjgKKwkubG9uZwkzMjcyMzU2MDQKKwkubG9uZwkzMjE5MzU4MDA4CisJLmxvbmcJMTI0NDMzNjMxOQorCS5sb25nCTMyMTkzMzQxMTUKKwkubG9uZwkxMzAwMzExMjAwCisJLmxvbmcJMzIxOTMxMTA5OQorCS5sb25nCTMwOTU0NzE5MjUKKwkubG9uZwkzMjE5Mjg4OTEyCisJLmxvbmcJMjE2NjQ4NzkyOAorCS5sb25nCTMyMTkyNjc1MTEKKwkubG9uZwkyOTEzMTA4MjUzCisJLmxvbmcJMzIxOTI0Njg1NAorCS5sb25nCTI5MzY3Mjk3OAorCS5sb25nCTMyMTkyMjY5MDQKKwkubG9uZwkyODg3MzcyOTcKKwkubG9uZwkzMjE5MjA3NjI0CisJLmxvbmcJMTgxMDI3NTQ3MgorCS5sb25nCTMyMTkxODg5ODEKKwkubG9uZwkxNzQ1OTIxNjcKKwkubG9uZwkzMjE5MTcwOTQ1CisJLmxvbmcJMzUzOTA1MzA1MgorCS5sb25nCTMyMTkxNTM0ODUKKwkubG9uZwkyMTY0MzkyOTY4CisJLmxvbmcJMzIxOTEzNjU3NgorCS5sb25nCTU3MjM0NTQ5NQorCS5sb25nCTEwNzI2OTg2ODEKKwkubG9uZwkxOTk4MjA0NDY3CisJLmxvbmcJMTA3MjcwOTM4MgorCS5sb25nCTM4NjE1MDE1NTMKKwkubG9uZwkxMDcyNzE5ODcyCisJLmxvbmcJMjI2ODE5MjQzNAorCS5sb25nCTEwNzI3MzAxNjIKKwkubG9uZwkyOTgxOTc5MzA4CisJLmxvbmcJMTA3Mjc0MDI2MAorCS5sb25nCTI3MDg1OTE0MworCS5sb25nCTEwNzI3NTAxNzYKKwkubG9uZwkyOTU4NjUxMzkyCisJLmxvbmcJMTA3Mjc1OTkxNgorCS5sb25nCTMxMzExMzI0MworCS5sb25nCTEwNzI3Njk0OTAKKwkubG9uZwk5MTk0NDk0MDAKKwkubG9uZwkxMDcyNzc4OTAzCisJLmxvbmcJMjgwOTMyODkwMworCS5sb25nCTEwNzI3ODgxNjIKKwkubG9uZwkyMjIyOTgxNTg3CisJLmxvbmcJMTA3Mjc5NzI3NAorCS5sb25nCTIzNTI1MzA3ODEKKwkubG9uZwkxMDcyODA2MjQ0CisJLmxvbmcJNTk0MTUyNTE3CisJLmxvbmcJMTA3MjgxNTA3OAorCS5sb25nCTE1NTU3NjcxOTkKKwkubG9uZwkxMDcyODIzNzgwCisJLmxvbmcJNDI4MjQyMTMxNAorCS5sb25nCTEwNzI4MzIzNTUKKwkubG9uZwkyMzU1NTc4NTk3CisJLmxvbmcJMTA3Mjg0MDgwOQorCS5sb25nCTExNjI1OTA2MTkKKwkubG9uZwkxMDcyODQ5MTQ1CisJLmxvbmcJNzk3ODY0MDUxCisJLmxvbmcJMTA3Mjg1NzM2NworCS5sb25nCTQzMTI3MzY4MAorCS5sb25nCTEwNzI4NjU0NzkKKwkubG9uZwkyNjY5ODMxMTQ4CisJLmxvbmcJMTA3Mjg3MzQ4NAorCS5sb25nCTczMzQ3Nzc1MgorCS5sb25nCTEwNzI4ODEzODcKKwkubG9uZwk0MjgwMjIwNjA0CisJLmxvbmcJMTA3Mjg4OTE4OQorCS5sb25nCTgwMTk2MTYzNAorCS5sb25nCTEwNzI4OTY4OTYKKwkubG9uZwkyOTE1MzcwNzYwCisJLmxvbmcJMTA3MjkwNDUwOAorCS5sb25nCTExNTk2MTM0ODIKKwkubG9uZwkxMDcyOTEyMDMwCisJLmxvbmcJMjY4OTk0NDc5OAorCS5sb25nCTEwNzI5MTk0NjMKKwkubG9uZwkxMjQ4Njg3ODIyCisJLmxvbmcJMTA3MjkyNjgxMQorCS5sb25nCTI5Njc5NTEwMzAKKwkubG9uZwkxMDcyOTM0MDc1CisJLmxvbmcJNjMwMTcwNDMyCisJLmxvbmcJMTA3Mjk0MTI1OQorCS5sb25nCTM3NjA4OTgyNTQKKwkubG9uZwkxMDcyOTQ4MzYzCisJLmxvbmcJMAorCS5sb25nCTEwNzI5NTUzOTIKKwkubG9uZwkyMzcwMjczMjk0CisJLmxvbmcJMTA3Mjk2MjM0NQorCS5sb25nCTEyNjE3NTQ4MDIKKwkubG9uZwkxMDcyOTcyNjQwCisJLmxvbmcJNTQ2MzM0MDY1CisJLmxvbmcJMTA3Mjk4NjEyMworCS5sb25nCTEwNTQ4OTM4MzAKKwkubG9uZwkxMDcyOTk5MzQwCisJLmxvbmcJMTU3MTE4NzU5NworCS5sb25nCTEwNzMwMTIzMDQKKwkubG9uZwkxMTA3OTc1MTc1CisJLmxvbmcJMTA3MzAyNTAyNworCS5sb25nCTM2MDY5MDkzNzcKKwkubG9uZwkxMDczMDM3NTE5CisJLmxvbmcJMTExMzYxNjc0NworCS5sb25nCTEwNzMwNDk3OTIKKwkubG9uZwk0MTU0NzQ0NjMyCisJLmxvbmcJMTA3MzA2MTg1MworCS5sb25nCTMzNTg5MzE0MjMKKwkubG9uZwkxMDczMDczNzEzCisJLmxvbmcJNDA2MDcwMjM3MgorCS5sb25nCTEwNzMwODUzNzkKKwkubG9uZwk3NDc1NzYxNzYKKwkubG9uZwkxMDczMDk2ODYwCisJLmxvbmcJMzAyMzEzODI1NQorCS5sb25nCTEwNzMxMDgxNjEKKwkubG9uZwkxNDE5OTg4NTQ4CisJLmxvbmcJMTA3MzExOTI5MQorCS5sb25nCTE5MTQxODUzMDUKKwkubG9uZwkxMDczMTMwMjU1CisJLmxvbmcJMjk0Mzg5OTQ4CisJLmxvbmcJMTA3MzE0MTA2MAorCS5sb25nCTM3NjE4MDI1NzAKKwkubG9uZwkxMDczMTUxNzEwCisJLmxvbmcJOTc4MjgxNTY2CisJLmxvbmcJMTA3MzE2MjIxMworCS5sb25nCTgyMzE0ODgyMAorCS5sb25nCTEwNzMxNzI1NzIKKwkubG9uZwkyNDIwOTU0NDQxCisJLmxvbmcJMTA3MzE4Mjc5MgorCS5sb25nCTM4MTU0NDk5MDgKKwkubG9uZwkxMDczMTkyODc4CisJLmxvbmcJMjA0NjA1ODU4NworCS5sb25nCTEwNzMyMDI4MzUKKwkubG9uZwkxODA3NTI0NzUzCisJLmxvbmcJMTA3MzIxMjY2NgorCS5sb25nCTI2Mjg2ODE0MDEKKwkubG9uZwkxMDczMjIyMzc1CisJLmxvbmcJMzIyNTY2NzM1NworCS5sb25nCTEwNzMyMzE5NjYKKwkubG9uZwkxNTU1MzA3NDIxCisJLmxvbmcJMTA3MzI0MTQ0MworCS5sb25nCTM0NTQwNDMwOTkKKwkubG9uZwkxMDczMjUwODA4CisJLmxvbmcJMTIwODEzNzg5NgorCS5sb25nCTEwNzMyNjAwNjYKKwkubG9uZwkzNjU5OTE2NzcyCisJLmxvbmcJMTA3MzI2OTIxOAorCS5sb25nCTE4ODYyNjEyNjQKKwkubG9uZwkxMDczMjc4MjY5CisJLmxvbmcJMzU5MzY0NzgzOQorCS5sb25nCTEwNzMyODcyMjAKKwkubG9uZwkzMDg2MDEyMjA1CisJLmxvbmcJMTA3MzI5NjA3NQorCS5sb25nCTI3Njk3OTY5MjIKKwkubG9uZwkxMDczMzA0ODM2CisJLmxvbmcJODg4NzE2MDU3CisJLmxvbmcJMTA3MzMxNzgwNworCS5sb25nCTIyMDE0NjU2MjMKKwkubG9uZwkxMDczMzM0Nzk0CisJLmxvbmcJMTY0MzY5MzY1CisJLmxvbmcJMTA3MzM1MTQ0NworCS5sb25nCTM0NjI2NjY3MzMKKwkubG9uZwkxMDczMzY3NzgwCisJLmxvbmcJMjc3MzkwNTQ1NworCS5sb25nCTEwNzMzODM4MTAKKwkubG9uZwkxMzQyODc5MDg4CisJLmxvbmcJMTA3MzM5OTU1MAorCS5sb25nCTI1NDM5MzM5NzUKKwkubG9uZwkxMDczNDE1MDEyCisJLmxvbmcJMTY4NDQ3Nzc4MQorCS5sb25nCTEwNzM0MzAyMDkKKwkubG9uZwkzNTMyMTc4NTQzCisJLmxvbmcJMTA3MzQ0NTE1MQorCS5sb25nCTExNDc3NDczMDAKKwkubG9uZwkxMDczNDU5ODUwCisJLmxvbmcJMTkyODAzMTc5MworCS5sb25nCTEwNzM0NzQzMTQKKwkubG9uZwkyMDc5NzE3MDE1CisJLmxvbmcJMTA3MzQ4ODU1MworCS5sb25nCTQwMTY3NjUzMTUKKwkubG9uZwkxMDczNTAyNTc1CisJLmxvbmcJMzY3MDQzMTEzOQorCS5sb25nCTEwNzM1MTYzODkKKwkubG9uZwkzNTQ5MjI3MjI1CisJLmxvbmcJMTA3MzUzMDAwMgorCS5sb25nCTExNjM3NjA3CisJLmxvbmcJMTA3MzU0MzQyMgorCS5sb25nCTU4ODIyMDE2OQorCS5sb25nCTEwNzM1NTY2NTQKKwkubG9uZwkyNjM1NDA3NTAzCisJLmxvbmcJMTA3MzU2OTcwNQorCS5sb25nCTIwNDIwMjkzMTcKKwkubG9uZwkxMDczNTgyNTgyCisJLmxvbmcJMTkyNTEyODk2MgorCS5sb25nCTEwNzM1OTUyOTAKKwkubG9uZwk0MTM2Mzc1NjY0CisJLmxvbmcJMTA3MzYwNzgzNAorCS5sb25nCTc1OTk2NDYwMAorCS5sb25nCTEwNzM2MjAyMjEKKwkubG9uZwk0MjU3NjA2NzcxCisJLmxvbmcJMTA3MzYzMjQ1MworCS5sb25nCTI5NzI3ODkwNworCS5sb25nCTEwNzM2NDQ1MzgKKwkubG9uZwkzNjU1MDUzMDkzCisJLmxvbmcJMTA3MzY1NjQ3NworCS5sb25nCTI0NDIyNTMxNzIKKwkubG9uZwkxMDczNjY4Mjc3CisJLmxvbmcJMTExMTg3Njc5OQorCS5sb25nCTEwNzM2Nzk5NDEKKwkubG9uZwkzMzMwOTczMTM5CisJLmxvbmcJMTA3MzY5MTQ3MgorCS5sb25nCTM0Mzg4Nzk0NTIKKwkubG9uZwkxMDczNzAyODc1CisJLmxvbmcJMzY3MTU2NTQ3OAorCS5sb25nCTEwNzM3MTQxNTMKKwkubG9uZwkxMzE3ODQ5NTQ3CisJLmxvbmcJMTA3MzcyNTMxMAorCS5sb25nCTE2NDIzNjQxMTUKKwkubG9uZwkxMDczNzM2MzQ4CisJLmxvbmcJNDA1MDkwMDQ3NAorCS5sb25nCTEwMTQ0MjcxOTAKKwkubG9uZwkxMTU3OTc3ODYwCisJLmxvbmcJMTAxNjQ0NDQ2MQorCS5sb25nCTEzNzQ1NjgxOTkKKwkubG9uZwkxMDE3MjcxMzg3CisJLmxvbmcJMjgwOTE2MzI4OAorCS5sb25nCTEwMTY4ODI2NzYKKwkubG9uZwkzNzQyMzc3Mzc3CisJLmxvbmcJMTAxMzE2ODE5MQorCS5sb25nCTMxMDE2MDY1OTcKKwkubG9uZwkxMDE3NTQxNjcyCisJLmxvbmcJNjUyMjQzNTgKKwkubG9uZwkxMDE3MjE3NTk3CisJLmxvbmcJMjY5MTU5MTI1MAorCS5sb25nCTEwMTcyNjY2NDMKKwkubG9uZwk0MDIwNzU4NTQ5CisJLmxvbmcJMTAxNzY4OTMxMworCS5sb25nCTEzMTYzMTA5OTIKKwkubG9uZwkxMDE4MDMwNzg4CisJLmxvbmcJMTAzMTUzNzg1NgorCS5sb25nCTEwMTQwOTA4ODIKKwkubG9uZwkzMjYxMzk1MjM5CisJLmxvbmcJMTAxNjQxMzY0MQorCS5sb25nCTg4NjQyNDk5OQorCS5sb25nCTEwMTYzMTMzMzUKKwkubG9uZwkzMTE0Nzc2ODM0CisJLmxvbmcJMTAxNDE5NTg3NQorCS5sb25nCTE2ODExMjA2MjAKKwkubG9uZwkxMDE3ODI1NDE2CisJLmxvbmcJMTMyOTYwMDI3MworCS5sb25nCTEwMTY2MjU3NDAKKwkubG9uZwk0NjU0NzQ2MjMKKwkubG9uZwkxMDE3MDk3MTE5CisJLmxvbmcJNDI1MTYzMzk4MAorCS5sb25nCTEwMTcxNjkwNzcKKwkubG9uZwkxOTg2OTkwMTMzCisJLmxvbmcJMTAxNzcxMDY0NQorCS5sb25nCTc1Mjk1ODYxMworCS5sb25nCTEwMTcxNTk2NDEKKwkubG9uZwkyMjE2MjE2NzkyCisJLmxvbmcJMTAxODAyMDE2MworCS5sb25nCTQyODI4NjAxMjkKKwkubG9uZwkxMDE1OTI0ODYxCisJLmxvbmcJMTU1NzYyNzg1OQorCS5sb25nCTEwMTYwMzk1MzgKKwkubG9uZwkzODg5MjE5NzU0CisJLmxvbmcJMTAxODA4NjIzNworCS5sb25nCTM2ODQ5OTY0MDgKKwkubG9uZwkxMDE3MzUzMjc1CisJLmxvbmcJNzIzNTMyMTAzCisJLmxvbmcJMTAxNzcxNzE0MQorCS5sb25nCTI5NTExNDk2NzYKKwkubG9uZwkxMDEyNTI4NDcwCisJLmxvbmcJODMxODkwOTM3CisJLmxvbmcJMTAxNzgzMDU1MworCS5sb25nCTEwMzEyMTI2NDUKKwkubG9uZwkxMDE3Mzg3MzMxCisJLmxvbmcJMjc0MTczNzQ1MAorCS5sb25nCTEwMTc2MDQ5NzQKKwkubG9uZwkyODYzMzExNTMxCisJLmxvbmcJMTAwMzc3NjY4MgorCS5sb25nCTQyNzY3MzYwOTkKKwkubG9uZwkxMDEzMTUzMDg4CisJLmxvbmcJNDExMTc3ODM4MgorCS5sb25nCTEwMTU2NzM2ODYKKwkubG9uZwkxNzI4MDY1NzY5CisJLmxvbmcJMTAxNjQxMzk4NgorCS5sb25nCTI3MDg3MTgwMzEKKwkubG9uZwkxMDE4MDc4ODMzCisJLmxvbmcJMTA2OTMzNTAwNQorCS5sb25nCTEwMTUyOTEyMjQKKwkubG9uZwk3MDAwMzcxNDQKKwkubG9uZwkxMDE2NDgyMDMyCisJLmxvbmcJMjkwNDU2NjQ1MgorCS5sb25nCTEwMTcyMjY4NjEKKwkubG9uZwk0MDc0MTU2NjQ5CisJLmxvbmcJMTAxNzYyMjY1MQorCS5sb25nCTI1MDE5NTY1CisJLmxvbmcJMTAxNTI0NTM2NgorCS5sb25nCTM2MDE5NTI2MDgKKwkubG9uZwkxMDE1NzcxNzU1CisJLmxvbmcJMzI2NzEyOTM3MworCS5sb25nCTEwMTc5MDQ2NjQKKwkubG9uZwk1MDMyMDMxMDMKKwkubG9uZwkxMDE0OTIxNjI5CisJLmxvbmcJMjEyMjAxMTczMAorCS5sb25nCTEwMTgwMjc4NjYKKwkubG9uZwkzOTI3Mjk1NDYxCisJLmxvbmcJMTAxNDE4OTQ1NgorCS5sb25nCTI3OTA2MjUxNDcKKwkubG9uZwkxMDE2MDI0MjUxCisJLmxvbmcJMTMzMDQ2MDE4NgorCS5sb25nCTEwMTY5NDAzNDYKKwkubG9uZwk0MDMzNTY4NDYzCisJLmxvbmcJMTAxNTUzODM5MAorCS5sb25nCTM2OTU4MTgyMjcKKwkubG9uZwkxMDE3NTA5NjIxCisJLmxvbmcJMjU3NTczMzYxCisJLmxvbmcJMTAxNzIwODg2OAorCS5sb25nCTMyMjc2OTc4NTIKKwkubG9uZwkxMDE3MzM3OTY0CisJLmxvbmcJMjM0MTE4NTQ4CisJLmxvbmcJMTAxNzE2OTU3NworCS5sb25nCTQwMDkwMjU4MDMKKwkubG9uZwkxMDE3Mjc4NTI0CisJLmxvbmcJMTk0ODM0MzM5NAorCS5sb25nCTEwMTc3NDkzMTAKKwkubG9uZwk2NzgzOTgxNjIKKwkubG9uZwkxMDE4MTQ0MjM5CisJLmxvbmcJMzA4Mzg2NDg2MworCS5sb25nCTEwMTY2NjkwODYKKwkubG9uZwkyNDE1NDUzNDUyCisJLmxvbmcJMTAxNzg5MDM3MAorCS5sb25nCTE3NTQ2NzM0NAorCS5sb25nCTEwMTczMzAwMzMKKwkubG9uZwkzMTk3MzU5NTgwCisJLmxvbmcJMTAxMDMzOTkyOAorCS5sb25nCTIwNzEyNzY5NTEKKwkubG9uZwkxMDE1OTQxMzU4CisJLmxvbmcJMjY4MzcyNTQzCisJLmxvbmcJMTAxNjczNzc3MworCS5sb25nCTkzODEzMjk1OQorCS5sb25nCTEwMTczODkxMDgKKwkubG9uZwkxODE2NzUwNTU5CisJLmxvbmcJMTAxNzMzNzQ0OAorCS5sb25nCTQxMTkyMDM3NDkKKwkubG9uZwkxMDE3MTUyMTc0CisJLmxvbmcJMjU3ODY1Mzg3OAorCS5sb25nCTEwMTMxMDg0OTcKKwkubG9uZwkyNDcwMzMxMDk2CisJLmxvbmcJMTAxNDY3ODYwNgorCS5sb25nCTEyMzg1NTczNQorCS5sb25nCTEwMTY1NTMzMjAKKwkubG9uZwkxMjY1NjUwODg5CisJLmxvbmcJMTAxNDc4MjY4NworCS5sb25nCTM0MTQzOTgxNzIKKwkubG9uZwkxMDE3MTgyNjM4CisJLmxvbmcJMTA0MDc3MzM2OQorCS5sb25nCTEwMTYxNTg0MDEKKwkubG9uZwkzNDgzNjI4ODg2CisJLmxvbmcJMTAxNjg4NjU1MAorCS5sb25nCTQxNDA0OTk0MDUKKwkubG9uZwkxMDE2MTkxNDI1CisJLmxvbmcJMzg5MzQ3Nzg1MAorCS5sb25nCTEwMTY5NjQ0OTUKKwkubG9uZwkzOTM1MzE5NzcxCisJLmxvbmcJMTAwOTYzNDcxNworCS5sb25nCTI5Nzg5ODI2NjAKKwkubG9uZwkxMDE1MDI3MTEyCisJLmxvbmcJMjQ1MjcwOTkyMworCS5sb25nCTEwMTc5OTAyMjkKKwkubG9uZwkzMTkwMzY1NzEyCisJLmxvbmcJMTAxNTgzNTE0OQorCS5sb25nCTQyMzc1ODgxMzkKKwkubG9uZwkxMDE1ODMyOTI1CisJLmxvbmcJMjYxMDY3ODM4OQorCS5sb25nCTEwMTc5NjI3MTEKKwkubG9uZwkyMTI3MzE2Nzc0CisJLmxvbmcJMTAxNzQwNTc3MAorCS5sb25nCTgyNDI2NzUwMgorCS5sb25nCTEwMTc5NTk0NjMKKwkubG9uZwkyMTY1OTI0MDQyCisJLmxvbmcJMTAxNzkxMjIyNQorCS5sb25nCTI3NzQwMDcwNzYKKwkubG9uZwkxMDEzMjU3NDE4CisJLmxvbmcJNDEyMzkxNjMyNgorCS5sb25nCTEwMTc1ODIyODQKKwkubG9uZwkxOTc2NDE3OTU4CisJLmxvbmcJMTAxNjk1OTkwOQorCS5sb25nCTQwOTI4MDY0MTIKKwkubG9uZwkxMDE3NzExMjc5CisJLmxvbmcJMTE5MjUxODE3CisJLmxvbmcJMTAxNTM2MzYzMQorCS5sb25nCTM0NzU0MTg3NjgKKwkubG9uZwkxMDE3Njc1NDE1CisJLmxvbmcJMTk3MjU4MDUwMworCS5sb25nCTEwMTU0NzA2ODQKKwkubG9uZwk4MTU1NDEwMTcKKwkubG9uZwkxMDE3NTE3OTY5CisJLmxvbmcJMjQyOTkxNzQ1MQorCS5sb25nCTEwMTczOTc3NzYKKwkubG9uZwk0MDYyODg4NDgyCisJLmxvbmcJMTAxNjc0OTg5NworCS5sb25nCTY4Mjg0MTUzCisJLmxvbmcJMTAxNzkyNTY3OAorCS5sb25nCTIyMDc3NzkyNDYKKwkubG9uZwkxMDE2MzIwMjk4CisJLmxvbmcJMTE4MzQ2NjUyMAorCS5sb25nCTEwMTc0MDg2NTcKKwkubG9uZwkxNDMzMjY0MjcKKwkubG9uZwkxMDE3MDYwNDAzCisJLmxvbmcJMAorCS5sb25nCTIxNDY0MzUwNzIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0MjkzOTE4NzIwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTM4NzUzNTM2CisJLmxvbmcJMAorCS5sb25nCTAKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwyMDAwCisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvc19jb3MuUyBiL2xpYm0veDg2L3NfY29zLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ1ZWY1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L3NfY29zLlMKQEAgLTAsMCArMSw4OTIgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgICAgMS4gUkFOR0UgUkVEVUNUSU9OCisvLworLy8gICAgIFdlIHBlcmZvcm0gYW4gaW5pdGlhbCByYW5nZSByZWR1Y3Rpb24gZnJvbSBYIHRvIHIgd2l0aAorLy8KKy8vICAgICAgICAgIFggPX49IE4gKiBwaS8zMiArIHIKKy8vCisvLyAgICAgc28gdGhhdCB8cnwgPD0gcGkvNjQgKyBlcHNpbG9uLiBXZSByZXN0cmljdCBpbnB1dHMgdG8gdGhvc2UKKy8vICAgICB3aGVyZSB8TnwgPD0gOTMyNTYwLiBCZXlvbmQgdGhpcywgdGhlIHJhbmdlIHJlZHVjdGlvbiBpcworLy8gICAgIGluc3VmZmljaWVudGx5IGFjY3VyYXRlLiBGb3IgZXh0cmVtZWx5IHNtYWxsIGlucHV0cywgCisvLyAgICAgZGVub3JtYWxpemF0aW9uIGNhbiBvY2N1ciBpbnRlcm5hbGx5LCBpbXBhY3RpbmcgcGVyZm9ybWFuY2UuCisvLyAgICAgVGhpcyBtZWFucyB0aGF0IHRoZSBtYWluIHBhdGggaXMgYWN0dWFsbHkgb25seSB0YWtlbiBmb3IKKy8vICAgICAyXi0yNTIgPD0gfFh8IDwgOTAxMTIuCisvLworLy8gICAgIFRvIGF2b2lkIGJyYW5jaGVzLCB3ZSBwZXJmb3JtIHRoZSByYW5nZSByZWR1Y3Rpb24gdG8gZnVsbAorLy8gICAgIGFjY3VyYWN5IGVhY2ggdGltZS4KKy8vCisvLyAgICAgICAgICBYIC0gTiAqIChQXzEgKyBQXzIgKyBQXzMpCisvLworLy8gICAgIHdoZXJlIFBfMSBhbmQgUF8yIGFyZSAzMi1iaXQgbnVtYmVycyAoc28gbXVsdGlwbGljYXRpb24gYnkgTgorLy8gICAgIGlzIGV4YWN0KSBhbmQgUF8zIGlzIGEgNTMtYml0IG51bWJlci4gVG9nZXRoZXIsIHRoZXNlCisvLyAgICAgYXBwcm94aW1hdGUgcGkgd2VsbCBlbm91Z2ggZm9yIGFsbCBjYXNlcyBpbiB0aGUgcmVzdHJpY3RlZAorLy8gICAgIHJhbmdlLgorLy8KKy8vICAgICBUaGUgbWFpbiByZWR1Y3Rpb24gc2VxdWVuY2UgaXM6CisvLworLy8gICAgICAgICAgICAgeSA9IDMyL3BpICogeAorLy8gICAgICAgICAgICAgTiA9IGludGVnZXIoeSkKKy8vICAgICAoY29tcHV0ZWQgYnkgYWRkaW5nIGFuZCBzdWJ0cmFjdGluZyBvZmYgU0hJRlRFUikKKy8vCisvLyAgICAgICAgICAgICBtXzEgPSBOICogUF8xCisvLyAgICAgICAgICAgICBtXzIgPSBOICogUF8yCisvLyAgICAgICAgICAgICByXzEgPSB4IC0gbV8xCisvLyAgICAgICAgICAgICByID0gcl8xIC0gbV8yCisvLyAgICAgKHRoaXMgciBjYW4gYmUgdXNlZCBmb3IgbW9zdCBvZiB0aGUgY2FsY3VsYXRpb24pCisvLworLy8gICAgICAgICAgICAgY18xID0gcl8xIC0gcgorLy8gICAgICAgICAgICAgbV8zID0gTiAqIFBfMworLy8gICAgICAgICAgICAgY18yID0gY18xIC0gbV8yCisvLyAgICAgICAgICAgICBjID0gY18yIC0gbV8zCisvLworLy8gICAgIDIuIE1BSU4gQUxHT1JJVEhNCisvLworLy8gICAgIFRoZSBhbGdvcml0aG0gdXNlcyBhIHRhYmxlIGxvb2t1cCBiYXNlZCBvbiBCID0gTSAqIHBpIC8gMzIKKy8vICAgICB3aGVyZSBNID0gTiBtb2QgNjQuIFRoZSBzdG9yZWQgdmFsdWVzIGFyZToKKy8vICAgICAgIHNpZ21hICAgICAgICAgICAgIGNsb3Nlc3QgcG93ZXIgb2YgMiB0byBjb3MoQikKKy8vICAgICAgIENfaGwgICAgICAgICAgICAgIDUzLWJpdCBjb3MoQikgLSBzaWdtYQorLy8gICAgICAgU19oaSArIFNfbG8gICAgICAgMiAqIDUzLWJpdCBzaW4oQikKKy8vCisvLyAgICAgVGhlIGNvbXB1dGF0aW9uIGlzIG9yZ2FuaXplZCBhcyBmb2xsb3dzOgorLy8KKy8vICAgICAgICAgIHNpbihCICsgciArIGMpID0gW3NpbihCKSArIHNpZ21hICogcl0gKworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICByICogKGNvcyhCKSAtIHNpZ21hKSArCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbihCKSAqIFtjb3MociArIGMpIC0gMV0gKworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBjb3MoQikgKiBbc2luKHIgKyBjKSAtIHJdCisvLworLy8gICAgIHdoaWNoIGlzIGFwcHJveGltYXRlbHk6CisvLworLy8gICAgICAgICAgW1NfaGkgKyBzaWdtYSAqIHJdICsKKy8vICAgICAgICAgIENfaGwgKiByICsKKy8vICAgICAgICAgIFNfbG8gKyBTX2hpICogWyhjb3MocikgLSAxKSAtIHIgKiBjXSArCisvLyAgICAgICAgICAoQ19obCArIHNpZ21hKSAqIFsoc2luKHIpIC0gcikgKyBjXQorLy8KKy8vICAgICBhbmQgdGhpcyBpcyB3aGF0IGlzIGFjdHVhbGx5IGNvbXB1dGVkLiBXZSBzZXBhcmF0ZSB0aGlzIHN1bQorLy8gICAgIGludG8gZm91ciBwYXJ0czoKKy8vCisvLyAgICAgICAgICBoaSArIG1lZCArIHBvbHMgKyBjb3JyCisvLworLy8gICAgIHdoZXJlCisvLworLy8gICAgICAgICAgaGkgICAgICAgPSBTX2hpICsgc2lnbWEgcgorLy8gICAgICAgICAgbWVkICAgICAgPSBDX2hsICogcgorLy8gICAgICAgICAgcG9scyAgICAgPSBTX2hpICogKGNvcyhyKSAtIDEpICsgKENfaGwgKyBzaWdtYSkgKiAoc2luKHIpIC0gcikKKy8vICAgICAgICAgIGNvcnIgICAgID0gU19sbyArIGMgKiAoKENfaGwgKyBzaWdtYSkgLSBTX2hpICogcikKKy8vCisvLyAgICAgMy4gUE9MWU5PTUlBTAorLy8KKy8vICAgICBUaGUgcG9seW5vbWlhbCBTX2hpICogKGNvcyhyKSAtIDEpICsgKENfaGwgKyBzaWdtYSkgKgorLy8gICAgIChzaW4ocikgLSByKSBjYW4gYmUgcmVhcnJhbmdlZCBmcmVlbHksIHNpbmNlIGl0IGlzIHF1aXRlCisvLyAgICAgc21hbGwsIHNvIHdlIGV4cGxvaXQgcGFyYWxsZWxpc20gdG8gdGhlIGZ1bGxlc3QuCisvLworLy8gICAgICAgICAgcHNjNCAgICAgICA9ICAgU0NfNCAqIHJfMQorLy8gICAgICAgICAgbXNjNCAgICAgICA9ICAgcHNjNCAqIHIKKy8vICAgICAgICAgIHIyICAgICAgICAgPSAgIHIgKiByCisvLyAgICAgICAgICBtc2MyICAgICAgID0gICBTQ18yICogcjIKKy8vICAgICAgICAgIHI0ICAgICAgICAgPSAgIHIyICogcjIKKy8vICAgICAgICAgIHBzYzMgICAgICAgPSAgIFNDXzMgKyBtc2M0CisvLyAgICAgICAgICBwc2MxICAgICAgID0gICBTQ18xICsgbXNjMgorLy8gICAgICAgICAgbXNjMyAgICAgICA9ICAgcjQgKiBwc2MzCisvLyAgICAgICAgICBzaW5jb3Nwb2xzID0gICBwc2MxICsgbXNjMworLy8gICAgICAgICAgcG9scyAgICAgICA9ICAgc2luY29zcG9scyAqCisvLyAgICAgICAgICAgICAgICAgICAgICAgICA8U19oaSAqIHJeMiB8IChDX2hsICsgc2lnbWEpICogcl4zPgorLy8KKy8vICAgICA0LiBDT1JSRUNUSU9OIFRFUk0KKy8vCisvLyAgICAgVGhpcyBpcyB3aGVyZSB0aGUgImMiIGNvbXBvbmVudCBvZiB0aGUgcmFuZ2UgcmVkdWN0aW9uIGlzCisvLyAgICAgdGFrZW4gaW50byBhY2NvdW50OyByZWNhbGwgdGhhdCBqdXN0ICJyIiBpcyB1c2VkIGZvciBtb3N0IG9mCisvLyAgICAgdGhlIGNhbGN1bGF0aW9uLgorLy8KKy8vICAgICAgICAgIC1jICAgPSBtXzMgLSBjXzIKKy8vICAgICAgICAgIC1kICAgPSBTX2hpICogciAtIChDX2hsICsgc2lnbWEpCisvLyAgICAgICAgICBjb3JyID0gLWMgKiAtZCArIFNfbG8KKy8vCisvLyAgICAgNS4gQ09NUEVOU0FURUQgU1VNTUFUSU9OUworLy8KKy8vICAgICBUaGUgdHdvIHN1Y2Nlc3NpdmUgY29tcGVuc2F0ZWQgc3VtbWF0aW9ucyBhZGQgdXAgdGhlIGhpZ2gKKy8vICAgICBhbmQgbWVkaXVtIHBhcnRzLCBsZWF2aW5nIGp1c3QgdGhlIGxvdyBwYXJ0cyB0byBhZGQgdXAgYXQKKy8vICAgICB0aGUgZW5kLgorLy8KKy8vICAgICAgICAgIHJzICAgICAgICA9ICBzaWdtYSAqIHIKKy8vICAgICAgICAgIHJlc19pbnQgICA9ICBTX2hpICsgcnMKKy8vICAgICAgICAgIGtfMCAgICAgICA9ICBTX2hpIC0gcmVzX2ludAorLy8gICAgICAgICAga18yICAgICAgID0gIGtfMCArIHJzCisvLyAgICAgICAgICBtZWQgICAgICAgPSAgQ19obCAqIHIKKy8vICAgICAgICAgIHJlc19oaSAgICA9ICByZXNfaW50ICsgbWVkCisvLyAgICAgICAgICBrXzEgICAgICAgPSAgcmVzX2ludCAtIHJlc19oaQorLy8gICAgICAgICAga18zICAgICAgID0gIGtfMSArIG1lZAorLy8KKy8vICAgICA2LiBGSU5BTCBTVU1NQVRJT04KKy8vCisvLyAgICAgV2Ugbm93IGFkZCB1cCBhbGwgdGhlIHNtYWxsIHBhcnRzOgorLy8KKy8vICAgICAgICAgIHJlc19sbyA9IHBvbHMoaGkpICsgcG9scyhsbykgKyBjb3JyICsga18xICsga18zCisvLworLy8gICAgIE5vdyB0aGUgb3ZlcmFsbCByZXN1bHQgaXMganVzdDoKKy8vCisvLyAgICAgICAgICByZXNfaGkgKyByZXNfbG8KKy8vCisvLyAgICAgNy4gU01BTEwgQVJHVU1FTlRTCisvLworLy8gICAgIElucHV0cyB3aXRoIHxYfCA8IDJeLTI1MiBhcmUgdHJlYXRlZCBzcGVjaWFsbHkgYXMKKy8vICAgICAxIC0gfHh8LgorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgY29zKE5hTikgPSBxdWlldCBOYU4sIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGNvcyhJTkYpID0gTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGNvcygwKSA9IDEKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24KK3N0YXRpY19mdW5jOgorLi5CMS4xOgorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlYXgKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlYXgpLCAlZWF4CisgICAgICAgIGxlYSAgICAgICBzdGF0aWNfY29uc3RfdGFibGVAR09UT0ZGKCVlYXgpLCAlZWF4CisgICAgICAgIHJldAorICAgICAgICAuc2l6ZSAgIHN0YXRpY19mdW5jLC4tc3RhdGljX2Z1bmMKKyMgLS0gRW5kICBzdGF0aWNfZnVuYworCisjIC0tIEJlZ2luICBjb3MKK0VOVFJZKGNvcykKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTIwLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA1NiglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTIzMzYsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ0MjkzLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBtb3ZzZCAgICAgMjE2MCglZWJ4KSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgMjI0MCglZWJ4KSwgJXhtbTUKKyAgICAgICAgbW92c2QgICAgIDIyMjQoJWVieCksICV4bW00CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgb3JwcyAgICAgICV4bW00LCAleG1tNQorICAgICAgICBtb3ZzZCAgICAgMjEyOCglZWJ4KSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIDIxMTIoJWVieCksICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgY3Z0dHNkMnNpICV4bW0xLCAlZWR4CisgICAgICAgIGN2dHNpMnNkbCAlZWR4LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHVucGNrbHBkICAleG1tMSwgJXhtbTEKKyAgICAgICAgYWRkbCAgICAgICQxODY1MjMyLCAlZWR4CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgYW5kbCAgICAgICQ2MywgJWVkeAorICAgICAgICBtb3ZhcGQgICAgMjA5NiglZWJ4KSwgJXhtbTUKKyAgICAgICAgbGVhICAgICAgICglZWJ4KSwgJWVheAorICAgICAgICBzaGxsICAgICAgJDUsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIG11bHNkICAgICAyMTQ0KCVlYngpLCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdnNkICAgICA4KCVlYXgpLCAleG1tNworICAgICAgICB1bnBja2xwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIHN1YnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDIwNjQoJWVieCksICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgKCVlYXgpLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG1vdnNkICAgICAyNCglZWF4KSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgMjA4MCglZWJ4KSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICglZWF4KSwgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgIDIwNDgoJWVieCksICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgOCglZWF4KSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTQsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgICV4bW01LCAleG1tNgorICAgICAgICBtb3ZzZCAgICAgOCglZWF4KSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAxNiglZWF4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgdW5wY2tocGQgICV4bW02LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgICV4bW00LCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorICAgICAgICBqZyAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDIxOTIoJWVieCksICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzIuMC4yOgorICAgICAgICBtb3ZsICAgICAgMTMyKCVlc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDIxNDY0MzUwNzIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIHN1YmwgICAgICAkMzIsICVlc3AKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgbGVhICAgICAgIDQwKCVlc3ApLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCA4KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAkMSwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVheCwgMTIoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIF9fbGlibV9zaW5jb3NfaHVnZQorICAgICAgICBhZGRsICAgICAgJDMyLCAlZXNwCisgICAgICAgIGZsZGwgICAgICA4KCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIGZsZGwgICAgICAxMjgoJWVzcCkKKyAgICAgICAgZm11bGwgICAgIDIyMDgoJWVieCkKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBtb3ZsICAgICAgNTYoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGNvcykKKyMgLS0gRW5kICBjb3MKKworIyBTdGFydCBmaWxlIHNjb3BlIEFTTQorQUxJQVNfU1lNQk9MKGNvc2wsIGNvcyk7CisjIEVuZCBmaWxlIHNjb3BlIEFTTQorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMzIxMjAzMjMwMgorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkxMDY5MDk0ODIyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTgxODk4NDgKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE4MTE1MDY3CisJLmxvbmcJMzIxNDEyNjM0MgorCS5sb25nCTEwMTM1NTY3NDcKKwkubG9uZwkxMDcwMTM1NDgwCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTMxNjA1NjcwNjUKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI0NzY1NDg2OTgKKwkubG9uZwkzMjE1MzMwMjgyCisJLmxvbmcJNzg1NzUxODE0CisJLmxvbmcJMTA3MDc2NTA2MgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkzMTYxODM4MjIxCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyMjU1MTk3NjQ3CisJLmxvbmcJMzIxNjIxMTEwNQorCS5sb25nCTI3OTY0NjQ0ODMKKwkubG9uZwkxMDcxMTUyNjEwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNjA4NzgzMTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE5NDU3Njg1NjkKKwkubG9uZwkzMjE2OTE1MDQ4CisJLmxvbmcJOTM5OTgwMzQ3CisJLmxvbmcJMTA3MTUyNDcwMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTI3OTY4MDkKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE1Mzk2NjgzNDAKKwkubG9uZwkzMjE3Mzk2MzI3CisJLmxvbmcJOTY3NzMxNDAwCisJLmxvbmcJMTA3MTc2MTIxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTU3NTIxNTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE0MDM3NTczMDkKKwkubG9uZwkzMjE3ODg2NzE4CisJLmxvbmcJNjIxMzU0NDU0CisJLmxvbmcJMTA3MTkyNjUxNQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTM0NTA2MDIKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI1ODM0OTAzNTQKKwkubG9uZwkxMDcwMjM2MjgxCisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTEwNzIwNzkwMDYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYzMjgyNzQwCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNDg1NDE3ODE2CisJLmxvbmcJMTA2OTYyNjMxNgorCS5sb25nCTE3OTY1NDQzMjEKKwkubG9uZwkxMDcyMjE3MjE2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MjY4Njk0NQorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTEwNjgyNjY0MTkKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkxMDcyMzM5ODE0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA0MzE1MzYKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkzMjE0NzU2Mzk2CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTEwNzI0NDU2MTgKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMzE2MTkwNzM3NworCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTMyMTY5MDIyNjEKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMTA3MjUzMzYxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQyNTc2MzgKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkxMDY3NzUzNTIxCisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTEwNzI2MDI5NDUKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxNTUwNTA3MworCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMjQwNzQwMzA5CisJLmxvbmcJMzIxNTcyNzkwMworCS5sb25nCTM0ODkwOTQ4MzIKKwkubG9uZwkxMDcyNjUyOTUxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNDMyNTc4MworCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMzIxNDY0NzY1MworCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkxMDcyNjgzMTQ5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTMxNjMwNjE3NTAKKwkubG9uZwkwCisJLmxvbmcJMTA2OTU0NzUyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMTA2NzE2NDAwNQorCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkxMDcyNjgzMTQ5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTMxNjMwNjE3NTAKKwkubG9uZwkwCisJLmxvbmcJMzIxNzAzMTE2OAorCS5sb25nCTI0MDc0MDMwOQorCS5sb25nCTEwNjgyNDQyNTUKKwkubG9uZwkzNDg5MDk0ODMyCisJLmxvbmcJMTA3MjY1Mjk1MQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQzMjU3ODMKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkzMjE1MjM3MTY5CisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTEwNzI2MDI5NDUKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxNTUwNTA3MworCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTEwNjk0MTg2MTMKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMTA3MjUzMzYxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQyNTc2MzgKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkxMDY3MjcyNzQ4CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTEwNzI0NDU2MTgKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMzE2MTkwNzM3NworCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTMyMTU3NTAwNjcKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkxMDcyMzM5ODE0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA0MzE1MzYKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTI0ODU0MTc4MTYKKwkubG9uZwkzMjE3MTA5OTY0CisJLmxvbmcJMTc5NjU0NDMyMQorCS5sb25nCTEwNzIyMTcyMTYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYyNjg2OTQ1CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMzIxNzcxOTkyOQorCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkxMDcyMDc5MDA2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MzI4Mjc0MAorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMTQwMzc1NzMwOQorCS5sb25nCTEwNzA0MDMwNzAKKwkubG9uZwk2MjEzNTQ0NTQKKwkubG9uZwkxMDcxOTI2NTE1CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxMzQ1MDYwMgorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTUzOTY2ODM0MAorCS5sb25nCTEwNjk5MTI2NzkKKwkubG9uZwk5Njc3MzE0MDAKKwkubG9uZwkxMDcxNzYxMjExCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTc1MjE1NworCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTk0NTc2ODU2OQorCS5sb25nCTEwNjk0MzE0MDAKKwkubG9uZwk5Mzk5ODAzNDcKKwkubG9uZwkxMDcxNTI0NzAxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxMjc5NjgwOQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMjI1NTE5NzY0NworCS5sb25nCTEwNjg3Mjc0NTcKKwkubG9uZwkyNzk2NDY0NDgzCisJLmxvbmcJMTA3MTE1MjYxMAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTYwODc4MzE3CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyNDc2NTQ4Njk4CisJLmxvbmcJMTA2Nzg0NjYzNAorCS5sb25nCTc4NTc1MTgxNAorCS5sb25nCTEwNzA3NjUwNjIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMzE2MTgzODIyMQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTgxMTUwNjcKKwkubG9uZwkxMDY2NjQyNjk0CisJLmxvbmcJMTAxMzU1Njc0NworCS5sb25nCTEwNzAxMzU0ODAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMzE2MDU2NzA2NQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMTA2NDU0ODY1NAorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkxMDY5MDk0ODIyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTgxODk4NDgKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMTA2NDU0ODY1NAorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkzMjE2NTc4NDcwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA3MDYyMDAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE4MTE1MDY3CisJLmxvbmcJMTA2NjY0MjY5NAorCS5sb25nCTEwMTM1NTY3NDcKKwkubG9uZwkzMjE3NjE5MTI4CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwMTMwODM0MTcKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTI0NzY1NDg2OTgKKwkubG9uZwkxMDY3ODQ2NjM0CisJLmxvbmcJNzg1NzUxODE0CisJLmxvbmcJMzIxODI0ODcxMAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDE0MzU0NTczCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyMjU1MTk3NjQ3CisJLmxvbmcJMTA2ODcyNzQ1NworCS5sb25nCTI3OTY0NjQ0ODMKKwkubG9uZwkzMjE4NjM2MjU4CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTMzOTQ2NjkKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE5NDU3Njg1NjkKKwkubG9uZwkxMDY5NDMxNDAwCisJLmxvbmcJOTM5OTgwMzQ3CisJLmxvbmcJMzIxOTAwODM0OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjAyODA0NTcKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE1Mzk2NjgzNDAKKwkubG9uZwkxMDY5OTEyNjc5CisJLmxvbmcJOTY3NzMxNDAwCisJLmxvbmcJMzIxOTI0NDg1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjMyMzU4MDUKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE0MDM3NTczMDkKKwkubG9uZwkxMDcwNDAzMDcwCisJLmxvbmcJNjIxMzU0NDU0CisJLmxvbmcJMzIxOTQxMDE2MworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjA5MzQyNTAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTI1ODM0OTAzNTQKKwkubG9uZwkzMjE3NzE5OTI5CisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTMyMTk1NjI2NTQKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1Nzk5MDkyCisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNDg1NDE3ODE2CisJLmxvbmcJMzIxNzEwOTk2NAorCS5sb25nCTE3OTY1NDQzMjEKKwkubG9uZwkzMjE5NzAwODY0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTIwMzI5NworCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTMyMTU3NTAwNjcKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkzMjE5ODIzNDYyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTc5MTUxODQKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkxMDY3MjcyNzQ4CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTMyMTk5MjkyNjYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTAxNDQyMzcyOQorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTEwNjk0MTg2MTMKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMzIyMDAxNzI1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE3NDEyODYKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkzMjE1MjM3MTY5CisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTMyMjAwODY1OTMKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE2Mjk4ODcyMQorCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMjQwNzQwMzA5CisJLmxvbmcJMTA2ODI0NDI1NQorCS5sb25nCTM0ODkwOTQ4MzIKKwkubG9uZwkzMjIwMTM2NTk5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MTgwOTQzMQorCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMTA2NzE2NDAwNQorCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkzMjIwMTY2Nzk3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwMTU1NzgxMDIKKwkubG9uZwkwCisJLmxvbmcJMzIxNzAzMTE2OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMzIxNDY0NzY1MworCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkzMjIwMTY2Nzk3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwMTU1NzgxMDIKKwkubG9uZwkwCisJLmxvbmcJMTA2OTU0NzUyMAorCS5sb25nCTI0MDc0MDMwOQorCS5sb25nCTMyMTU3Mjc5MDMKKwkubG9uZwkzNDg5MDk0ODMyCisJLmxvbmcJMzIyMDEzNjU5OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE4MDk0MzEKKwkubG9uZwkwCisJLmxvbmcJMTA3MDU5NjA5NgorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkxMDY3NzUzNTIxCisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTMyMjAwODY1OTMKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE2Mjk4ODcyMQorCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTMyMTY5MDIyNjEKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMzIyMDAxNzI1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE3NDEyODYKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkzMjE0NzU2Mzk2CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTMyMTk5MjkyNjYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTAxNDQyMzcyOQorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTEwNjgyNjY0MTkKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkzMjE5ODIzNDYyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTc5MTUxODQKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTI0ODU0MTc4MTYKKwkubG9uZwkxMDY5NjI2MzE2CisJLmxvbmcJMTc5NjU0NDMyMQorCS5sb25nCTMyMTk3MDA4NjQKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1MjAzMjk3CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMTA3MDIzNjI4MQorCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkzMjE5NTYyNjU0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTc5OTA5MgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMTQwMzc1NzMwOQorCS5sb25nCTMyMTc4ODY3MTgKKwkubG9uZwk2MjEzNTQ0NTQKKwkubG9uZwkzMjE5NDEwMTYzCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MDkzNDI1MAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTUzOTY2ODM0MAorCS5sb25nCTMyMTczOTYzMjcKKwkubG9uZwk5Njc3MzE0MDAKKwkubG9uZwkzMjE5MjQ0ODU5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MzIzNTgwNQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTk0NTc2ODU2OQorCS5sb25nCTMyMTY5MTUwNDgKKwkubG9uZwk5Mzk5ODAzNDcKKwkubG9uZwkzMjE5MDA4MzQ5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MDI4MDQ1NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjI1NTE5NzY0NworCS5sb25nCTMyMTYyMTExMDUKKwkubG9uZwkyNzk2NDY0NDgzCisJLmxvbmcJMzIxODYzNjI1OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEzMzk0NjY5CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyNDc2NTQ4Njk4CisJLmxvbmcJMzIxNTMzMDI4MgorCS5sb25nCTc4NTc1MTgxNAorCS5sb25nCTMyMTgyNDg3MTAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTAxNDM1NDU3MworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTgxMTUwNjcKKwkubG9uZwkzMjE0MTI2MzQyCisJLmxvbmcJMTAxMzU1Njc0NworCS5sb25nCTMyMTc2MTkxMjgKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTAxMzA4MzQxNworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMzIxMjAzMjMwMgorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkzMjE2NTc4NDcwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA3MDYyMDAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkzMjE3MzgwNjkzCisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY1NDIzMTIxCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjc3OTk4OTMKKwkubG9uZwk0MzYzMTQxMzgKKwkubG9uZwkzMjA3MjAxMTg0CisJLmxvbmcJMzgxNzc0ODcxCisJLmxvbmcJMzIxMDEzMzg2OAorCS5sb25nCTI3NzM5Mjc3MzIKKwkubG9uZwkxMDUzMjM2NzA3CisJLmxvbmcJNDM2MzE0MTM4CisJLmxvbmcJMTA1NjU3MTgwOAorCS5sb25nCTQ0MjQ5OTA3MgorCS5sb25nCTEwMzI4OTM1MzcKKwkubG9uZwk0NDI0OTkwNzIKKwkubG9uZwkxMDMyODkzNTM3CisJLmxvbmcJMTQxMzQ4MDQ0OAorCS5sb25nCTEwNjkwOTc0NjcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTc3MTk3NzMzMQorCS5sb25nCTk5NjM1MDM0NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTg0MTk0MDYxMQorCS5sb25nCTEwNzYxMjU0ODgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsMjI1NgorCS5kYXRhCisJLmhpZGRlbiBfX2xpYm1fc2luY29zX2h1Z2UKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvc19leHBtMS5TIGIvbGlibS94ODYvc19leHBtMS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOWU4N2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni9zX2V4cG0xLlMKQEAgLTAsMCArMSw3MDIgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBEZXNjcmlwdGlvbjoKKy8vICBMZXQgSyA9IDY0ICh0YWJsZSBzaXplKS4KKy8vCisvLyAgRm91ciBzdWItZG9tYWluczoKKy8vICAgIDEuIHx4fCA8IDEvKDIqSykKKy8vICAgICAgZXhwbTEoeCkgfiBQKHgpCisvLyAgICAyLiAxLygyKkspIDw9IHx4fCA8PSA1Nipsb2coMikKKy8vICAgICAgIHggICAgICAgeC9sb2coMikgICAgbgorLy8gICAgICBlIC0gMSA9IDIgICAgICAgICA9IDIgKiBUW2pdICogKDEgKyBQKHkpKSAtIDEKKy8vICAgIDMuIDU2KmxvZygyKSA8IHggPCBNQVhfTE9HCisvLyAgICAgICB4ICAgICAgIHggICB4L2xvZygyKSAgICBuCisvLyAgICAgIGUgLSAxIH4gZSA9IDIgICAgICAgICA9IDIgKiBUW2pdICogKDEgKyBQKHkpKQorLy8gICAgNC4geCA8IC01Nipsb2coMikKKy8vICAgICAgIHggICAgICAgICAgICB4CisvLyAgICAgIGUgLSAxID0gLTEgKyBlIH4gLTEKKy8vICAgIHdoZXJlCisvLyAgICAgICB4ID0gbSpsb2coMikvSyArIHksICAgIHkgaW4gWy1sb2coMikvSy4ubG9nKDIpL0tdCisvLyAgICAgICBtID0gbipLICsgaiwgICAgICAgICAgIG0sbixqIC0gc2lnbmVkIGludGVnZXIsIGogaW4gWy1LLzIuLksvMl0KKy8vICAgICAgICAgICAgICAgICAgai9LCisvLyAgICAgICB2YWx1ZXMgb2YgMiAgIGFyZSB0YWJ1bGF0ZWQgYXMgVFtqXSA9IFRfaGlbal0gKCAxICsgVF9sb1tqXSkuCisvLworLy8gICAgICAgUCh5KSBpcyBhIG1pbmltYXggcG9seW5vbWlhbCBhcHByb3hpbWF0aW9uIG9mIGV4cCh4KS0xCisvLyAgICAgICBvbiBzbWFsbCBpbnRlcnZhbCBbLWxvZygyKS9LLi5sb2coMikvS10gKHdlcmUgY2FsY3VsYXRlZCBieSBNYXBsZSBWKS4KKy8vCisvLyAgICBJbiBjYXNlIDMsIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggYXJpdGhtZXRpYyBvdmVyZmxvdyBhbmQgdW5kZXJmbG93LAorLy8gICAgICAgICAgICAgIG4gICAgICAgICAgICAgICAgICAgICAgICBuMSAgbjIKKy8vICAgIHZhbHVlIG9mIDIgIGlzIHNhZmVseSBjb21wdXRlZCBhcyAyICogMiB3aGVyZSBuMSBpbiBbLUJJQVMvMi4uQklBUy8yXQorLy8gICAgYW5kIEJJQVMgaXMgYSB2YWx1ZSBvZiBleHBvbmVudCBiaWFzLgorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgZXhwbTEoTmFOKSBpcyBOYU4KKy8vICBleHBtMSgrSU5GKSBpcyArSU5GCisvLyAgZXhwbTEoLUlORikgaXMgLTEKKy8vICBleHBtMSh4KSBpcyB4IGZvciBzdWJub3JtYWxzCisvLyAgZm9yIGZpbml0ZSBhcmd1bWVudCwgb25seSBleHBtMSgwKT0wIGlzIGV4YWN0LgorLy8gIEZvciBJRUVFIGRvdWJsZQorLy8gICAgaWYgeCA+IDcwOS43ODI3MTI4OTMzODM5NzMwOTYgdGhlbiBleHBtMSh4KSBvdmVyZmxvdworLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHN0YXRpY19mdW5jCisgICAgICAgIC50ZXh0CisgICAgICAgIC5hbGlnbiBfX2Jpb25pY19hc21fYWxpZ24KKyAgICAgICAgLnR5cGUgc3RhdGljX2Z1bmMsIEBmdW5jdGlvbgorc3RhdGljX2Z1bmM6CisuLkIxLjE6CisgICAgICAgIGNhbGwgICAgICAuLkwyCisuLkwyOgorICAgICAgICBwb3BsICAgICAgJWVheAorICAgICAgICBsZWEgICAgICAgX0dMT0JBTF9PRkZTRVRfVEFCTEVfK1suIC0gLi5MMl0oJWVheCksICVlYXgKKyAgICAgICAgbGVhICAgICAgIHN0YXRpY19jb25zdF90YWJsZUBHT1RPRkYoJWVheCksICVlYXgKKyAgICAgICAgcmV0CisgICAgICAgIC5zaXplICAgc3RhdGljX2Z1bmMsLi1zdGF0aWNfZnVuYworIyAtLSBFbmQgIHN0YXRpY19mdW5jCisKKyMgLS0gQmVnaW4gIGV4cG0xCitFTlRSWShleHBtMSkKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTIwLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA2NCglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgdW5wY2tscGQgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgNjQoJWVieCksICV4bW0xCisgICAgICAgIG1vdmFwZCAgICA0OCglZWJ4KSwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgIDgwKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgOTYoJWVieCksICV4bW0zCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBtb3ZsICAgICAgJDE2NTI3LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkMTYzMDQsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgc3VicGQgICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAxMTIoJWVieCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIDEyOCglZWJ4KSwgJXhtbTUKKyAgICAgICAgc3VicGQgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZkICAgICAgJXhtbTcsICVlYXgKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQ2MywgJWVjeAorICAgICAgICBzaGxsICAgICAgJDQsICVlY3gKKyAgICAgICAgc2FybCAgICAgICQ2LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIHN1YnBkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDE2MCglZWJ4LCVlY3gpLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgMTQ0KCVlYngpLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIGFkZHBkICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW00CisgICAgICAgIHVucGNraHBkICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92ZHFhICAgIDE2KCVlYngpLCAleG1tNgorICAgICAgICBwYW5kICAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdmRxYSAgICAzMiglZWJ4KSwgJXhtbTYKKyAgICAgICAgcGFkZHEgICAgICV4bW02LCAleG1tNworICAgICAgICBwc2xscSAgICAgJDQ2LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgYWRkbCAgICAgICQ4OTQsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxOTE2LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG9ycGQgICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMiwgJWVkeAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW01CisgICAgICAgIHBzcmxxICAgICAkMzgsICV4bW0zCisgICAgICAgIHBzbGxxICAgICAkMzgsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE3MTg0LCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHN1YmwgICAgICAkMTYyNTYsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlY3gKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzIuMC4yOgorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBtb3ZsICAgICAgMTMyKCVlc3ApLCAlZWN4CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgdW5wY2tocGQgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVjeAorICAgICAgICBqbCAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKyAgICAgICAgZnN0Y3cgICAgIDI0KCVlc3ApCisgICAgICAgIG1vdnp3bCAgICAyNCglZXNwKSwgJWVkeAorICAgICAgICBvcmwgICAgICAgJDc2OCwgJWVkeAorICAgICAgICBtb3Z3ICAgICAgJWR4LCAyOCglZXNwKQorICAgICAgICBmbGRjdyAgICAgMjgoJWVzcCkKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc2FybCAgICAgICQxLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIG1vdmRxYSAgICAoJWVieCksICV4bW02CisgICAgICAgIHBhbmRuICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgYWRkbCAgICAgICQxMDIzLCAlZWF4CisgICAgICAgIG1vdmQgICAgICAlZWF4LCAleG1tMworICAgICAgICBwc2xscSAgICAgJDUyLCAleG1tMworICAgICAgICBvcnBkICAgICAgJXhtbTMsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCA4KCVlc3ApCisgICAgICAgIGZsZGwgICAgICA4KCVlc3ApCisgICAgICAgIG1vdnNkICAgICAleG1tNiwgMTYoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgIDE2KCVlc3ApCisgICAgICAgIG1vdnNkICAgICAleG1tNCwgMTYoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgIDE2KCVlc3ApCisgICAgICAgIGFkZGwgICAgICAkMTAyMywgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTQKKyAgICAgICAgcHNsbHEgICAgICQ1MiwgJXhtbTQKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZtdWwgICAgICAlc3QsICVzdCgxKQorICAgICAgICBmYWRkcCAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgbW92c2QgICAgICV4bW00LCA4KCVlc3ApCisgICAgICAgIGZsZGwgICAgICA4KCVlc3ApCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3RwbCAgICAgOCglZXNwKQorICAgICAgICBtb3ZzZCAgICAgOCglZXNwKSwgJXhtbTAKKyAgICAgICAgZmxkY3cgICAgIDI0KCVlc3ApCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKyAgICAgICAgY21wbCAgICAgICQtMjE0NzQ4MzY0OCwgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKyAgICAgICAgbW92bCAgICAgICQ0MSwgJWVkeAorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxMjgoJWVzcCksICV4bW0wCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMC4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIG1vdnNkICAgICAxMjcyKCVlYngpLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkNDEsICVlZHgKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIG1vdmwgICAgICAxMzIoJWVzcCksICVlYXgKKyAgICAgICAgbW92bCAgICAgIDEyOCglZXNwKSwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDIxNDc0ODM2NDcsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyMTQ2NDM1MDcyLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMi4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMi4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMy4wLjIKKyAgICAgICAgbW92c2QgICAgIDEyNTYoJWVieCksICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorLkxfMlRBR19QQUNLRVRfMTMuMC4yOgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKy5MXzJUQUdfUEFDS0VUXzEyLjAuMjoKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzE0LjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQxNjMwNCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDE1NTA0LCAlZWF4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNS4wLjIKKyAgICAgICAgbW92YXBkICAgIDExODQoJWVieCksICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgMTIwMCglZWJ4KSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIDEyMTYoJWVieCksICV4bW00CisgICAgICAgIG1vdnNkICAgICAxMjMyKCVlYngpLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgbW92bCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgICV4bW0zLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjI4LCAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW00LCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTcsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBwc3JscSAgICAgJDI3LCAleG1tNworICAgICAgICBwc2xscSAgICAgJDI3LCAleG1tNworICAgICAgICBtb3ZzZCAgICAgMTI4OCglZWJ4KSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0yLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF8xNS4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMTYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMzEsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgbW92bCAgICAgICQxNiwgJWVkeAorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDQyLCAlZWR4CisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF84LjAuMgorLkxfMlRBR19QQUNLRVRfMC4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqbCAgICAgICAgLkxfMlRBR19QQUNLRVRfMTQuMC4yCisgICAgICAgIG1vdmwgICAgICAxMzIoJWVzcCksICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxMDgzMTc5MDA4LCAlZWF4CisgICAgICAgIGpnZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMC4wLjIKKyAgICAgICAgY21wbCAgICAgICQtMTA0ODU3NiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDQ5MTM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCA0OCglZXNwKQorICAgICAgICBmbGRsICAgICAgNDgoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzkuMC4yOgorICAgICAgICBtb3ZsICAgICAgNjQoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKGV4cG0xKQorIyAtLSBFbmQgIGV4cG0xCisKKyMgU3RhcnQgZmlsZSBzY29wZSBBU00KK0FMSUFTX1NZTUJPTChleHBtMWwsIGV4cG0xKTsKKyMgRW5kIGZpbGUgc2NvcGUgQVNNCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitzdGF0aWNfY29uc3RfdGFibGU6CisJLmxvbmcJMAorCS5sb25nCTQyOTM5MTg3MjAKKwkubG9uZwkwCisJLmxvbmcJNDI5MzkxODcyMAorCS5sb25nCTQyOTQ5NjcyMzIKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzIzMgorCS5sb25nCTAKKwkubG9uZwk2NTQ3MgorCS5sb25nCTAKKwkubG9uZwk2NTQ3MgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTEyNzc0MzQ4OAorCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMTY5NzM1MDM5OAorCS5sb25nCTEwNzk0NDg5MDMKKwkubG9uZwkxNjk3MzUwMzk4CisJLmxvbmcJMTA3OTQ0ODkwMworCS5sb25nCTQyNzc3OTY4NjQKKwkubG9uZwkxMDY1NzU4Mjc0CisJLmxvbmcJNDI3Nzc5Njg2NAorCS5sb25nCTEwNjU3NTgyNzQKKwkubG9uZwkzMTY0NDg2NDU4CisJLmxvbmcJMTAyNTMwODU3MAorCS5sb25nCTMxNjQ0ODY0NTgKKwkubG9uZwkxMDI1MzA4NTcwCisJLmxvbmcJMTk2MzM1ODY5NAorCS5sb25nCTEwNjU0MjMxMjEKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA2OTg5NzA0NQorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDY3Nzk5ODkzCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkzODE3NzQ4NzEKKwkubG9uZwkxMDYyNjUwMjIwCisJLmxvbmcJMzgxNzc0ODcxCisJLmxvbmcJMTA2MjY1MDIyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDAwMDcwOTU1CisJLmxvbmcJMTA0MjE0NTMwNAorCS5sb25nCTEwNDAxODczOTIKKwkubG9uZwkxMTQxOAorCS5sb25nCTk4ODI2Nzg0OQorCS5sb25nCTEwMzk1MDA2NjAKKwkubG9uZwkzNTM5OTkyNTc2CisJLmxvbmcJMjI5NjAKKwkubG9uZwkzNjc1NTQwMQorCS5sb25nCTEwNDIxMTQyOTAKKwkubG9uZwk0MDI2NTMxODQKKwkubG9uZwkzNDYyOQorCS5sb25nCTM2MzQ3Njk0ODMKKwkubG9uZwkxMDQyMTc4NjI3CisJLmxvbmcJMTgyMDMyNzkzNgorCS5sb25nCTQ2NDI0CisJLmxvbmcJMjE1NTk5MTIyNQorCS5sb25nCTEwNDE1NjA2ODAKKwkubG9uZwk4NDcyNDk0MDgKKwkubG9uZwk1ODM0OAorCS5sb25nCTI3NjY5MTMzMDcKKwkubG9uZwkxMDM5MjkzMjY0CisJLmxvbmcJMzQ4OTY2MDkyOAorCS5sb25nCTcwNDAxCisJLmxvbmcJMzY1MTE3NDYwMgorCS5sb25nCTEwNDA0ODgxNzUKKwkubG9uZwkyOTI3NjI0MTkyCisJLmxvbmcJODI1ODYKKwkubG9uZwkzMDczODkyMTMxCisJLmxvbmcJMTA0MjI0MDYwNgorCS5sb25nCTEwMDY2MzI5NjAKKwkubG9uZwk5NDkwNAorCS5sb25nCTEzMjgzOTE3NDIKKwkubG9uZwkxMDQyMDE5MDM3CisJLmxvbmcJMzk0MjY0NTc2MAorCS5sb25nCTEwNzM1NQorCS5sb25nCTI2NTA4OTM4MjUKKwkubG9uZwkxMDQxOTAzMjEwCisJLmxvbmcJODIyMDgzNTg0CisJLmxvbmcJMTE5OTQzCisJLmxvbmcJMjM5NzI4OTE1MworCS5sb25nCTEwNDE4MDIwMzcKKwkubG9uZwkyMjgxNzAxMzc2CisJLmxvbmcJMTMyNjY3CisJLmxvbmcJNDMwOTk3MTc1CisJLmxvbmcJMTA0MjExMDYwNgorCS5sb25nCTE4NDU0OTM3NjAKKwkubG9uZwkxNDU1MzAKKwkubG9uZwkxMjMwOTM2NTI1CisJLmxvbmcJMTA0MTgwMTAxNQorCS5sb25nCTE3MDI4ODc0MjQKKwkubG9uZwkxNTg1MzMKKwkubG9uZwk3NDA2NzU5MzUKKwkubG9uZwkxMDQwMTc4OTEzCisJLmxvbmcJNDExMDQxNzkyMAorCS5sb25nCTE3MTY3NworCS5sb25nCTM0ODk4MTAyNjEKKwkubG9uZwkxMDQxODI1OTg2CisJLmxvbmcJMjc5MzQwNjQ2NAorCS5sb25nCTE4NDk2NQorCS5sb25nCTI1MzI2MDA1MzAKKwkubG9uZwkxMDQwNzY3ODgyCisJLmxvbmcJMTY3NzcyMTYwCisJLmxvbmcJMTk4Mzk4CisJLmxvbmcJMzU0MjU1NzA2MAorCS5sb25nCTEwNDE4MjcyNjMKKwkubG9uZwkyOTg2MzQ0NDQ4CisJLmxvbmcJMjExOTc2CisJLmxvbmcJMTQwMTU2Mzc3NworCS5sb25nCTEwNDEwNjEwOTMKKwkubG9uZwk5MjI3NDY4ODAKKwkubG9uZwkyMjU3MDMKKwkubG9uZwkzMTI5NDA2MDI2CisJLmxvbmcJMTA0MTg1MjQxMworCS5sb25nCTg4MDgwMzg0MAorCS5sb25nCTIzOTU3OQorCS5sb25nCTkwMDk5MzU3MgorCS5sb25nCTEwMzkyODMyMzQKKwkubG9uZwkxMjc1MDY4NDE2CisJLmxvbmcJMjUzNjA2CisJLmxvbmcJMjExNTAyOTM1OAorCS5sb25nCTEwNDIxNDAwNDIKKwkubG9uZwk1NjIwMzY3MzYKKwkubG9uZwkyNjc3ODYKKwkubG9uZwkxMDg2NjQzMTUyCisJLmxvbmcJMTA0MTc4NTQxOQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkyODIxMjAKKwkubG9uZwk4Mjg2NDM2NgorCS5sb25nCTEwNDEyNTYyNDQKKwkubG9uZwkzMDQ1MDY0NzA0CisJLmxvbmcJMjk2NjEwCisJLmxvbmcJMjM5Mjk2ODE1MgorCS5sb25nCTEwNDA5MTM2ODMKKwkubG9uZwkzNTczNTQ3MDA4CisJLmxvbmcJMzExMjU4CisJLmxvbmcJMjkwNTg1NjE4MworCS5sb25nCTEwNDAwMDIyMTQKKwkubG9uZwkxOTg4MTAwMDk2CisJLmxvbmcJMzI2MDY2CisJLmxvbmcJMzc0MjAwODI2MQorCS5sb25nCTEwNDAwMTExMzcKKwkubG9uZwkxNDUxMjI5MTg0CisJLmxvbmcJMzQxMDM1CisJLmxvbmcJODYzMzkzNzk0CisJLmxvbmcJMTA0MDg4MDYyMQorCS5sb25nCTkxNDM1ODI3MgorCS5sb25nCTM1NjE2NworCS5sb25nCTE0NDYxMzY4MzcKKwkubG9uZwkxMDQxMzcyNDI2CisJLmxvbmcJMzcwNzc2NDczNgorCS5sb25nCTM3MTQ2MworCS5sb25nCTkyNzg1NTIwMQorCS5sb25nCTEwNDA2MTc2MzYKKwkubG9uZwkzNjA3MTAxNDQKKwkubG9uZwkzODY5MjcKKwkubG9uZwkxNDkyNjc5OTM5CisJLmxvbmcJMTA0MTA1MDMwNgorCS5sb25nCTI5NTI3OTAwMTYKKwkubG9uZwk0MDI1NTgKKwkubG9uZwk2MDg4MjcwMDEKKwkubG9uZwkxMDQxNTgyMjE3CisJLmxvbmcJMjE4MTAzODA4MAorCS5sb25nCTQxODM2MAorCS5sb25nCTYwNjI2MDIwNAorCS5sb25nCTEwNDIyNzE5ODcKKwkubG9uZwkxNzExMjc2MDMyCisJLmxvbmcJNDM0MzM0CisJLmxvbmcJMzE2MzA0NDAxOQorCS5sb25nCTEwNDE4NDM4NTEKKwkubG9uZwkxMDA2NjMyOTYwCisJLmxvbmcJNDUwNDgyCisJLmxvbmcJNDE0ODc0NzMyNQorCS5sb25nCTEwNDE5NjI5NzIKKwkubG9uZwkzOTAwNzAyNzIwCisJLmxvbmcJNDY2ODA1CisJLmxvbmcJODAyOTI0MjAxCisJLmxvbmcJMTA0MTI3NTM3OAorCS5sb25nCTE0NDI4NDA1NzYKKwkubG9uZwk0ODMzMDcKKwkubG9uZwkzMDUyNzQ5ODMzCisJLmxvbmcJMTA0MTk0MDU3NworCS5sb25nCTE5Mzc3Njg0NDgKKwkubG9uZwk0OTk5ODgKKwkubG9uZwkyMjE2MTE2Mzk5CisJLmxvbmcJMTA0MTQ4Njc0NAorCS5sb25nCTkxNDM1ODI3MgorCS5sb25nCTUxNjg1MQorCS5sb25nCTI3Mjk2OTc4MzYKKwkubG9uZwkxMDQxNDQ1NzY0CisJLmxvbmcJMjU2NjkxNDA0OAorCS5sb25nCTUzMzg5NworCS5sb25nCTU0MDYwODM1NgorCS5sb25nCTEwNDEzMTA5MDcKKwkubG9uZwkyNjAwNDY4NDgwCisJLmxvbmcJNTUxMTI5CisJLmxvbmcJMjkxNjM0NDQ5MworCS5sb25nCTEwNDA1MzU2NjEKKwkubG9uZwkxMTA3Mjk2MjU2CisJLmxvbmcJNTY4NTQ5CisJLmxvbmcJNzMxMzkxODE0CisJLmxvbmcJMTAzOTQ5NzAxNAorCS5sb25nCTI1NjY5MTQwNDgKKwkubG9uZwk1ODYxNTgKKwkubG9uZwkxMDI0NzIyNzA0CisJLmxvbmcJMTA0MTQ2MTYyNQorCS5sb25nCTI5NjExNzg2MjQKKwkubG9uZwk2MDM5NTkKKwkubG9uZwkzODA2ODMxNzQ4CisJLmxvbmcJMTA0MTczMjQ5OQorCS5sb25nCTI2NzU5NjU5NTIKKwkubG9uZwk2MjE5NTQKKwkubG9uZwkyMzg5NTMzMDQKKwkubG9uZwkxMDQwMzE2NDg4CisJLmxvbmcJMjE4OTQyNjY4OAorCS5sb25nCTY0MDE0NQorCS5sb25nCTc0OTEyMzIzNQorCS5sb25nCTEwNDE3MjU3ODUKKwkubG9uZwkyMDYzNTk3NTY4CisJLmxvbmcJNjU4NTM0CisJLmxvbmcJMTE2ODE4Nzk3NworCS5sb25nCTEwNDExNzUyMTQKKwkubG9uZwkyOTg2MzQ0NDQ4CisJLmxvbmcJNjc3MTIzCisJLmxvbmcJMzUwNjA5NjM5OQorCS5sb25nCTEwNDIxODYwOTUKKwkubG9uZwkxNDI2MDYzMzYwCisJLmxvbmcJNjk1OTE1CisJLmxvbmcJMTQ3MDIyMTYyMAorCS5sb25nCTEwNDE2NzU0OTkKKwkubG9uZwkyNTY2OTE0MDQ4CisJLmxvbmcJNzE0OTExCisJLmxvbmcJMzE4MjQyNTE0NgorCS5sb25nCTEwNDE0ODMxMzQKKwkubG9uZwkzMDg3MDA3NzQ0CisJLmxvbmcJNzM0MTE0CisJLmxvbmcJMzEzMTY5ODIwOAorCS5sb25nCTEwNDIyMDg2NTcKKwkubG9uZwk0MDY4NDc0ODgwCisJLmxvbmcJNzUzNTI2CisJLmxvbmcJMjMwMDUwNDEyNQorCS5sb25nCTEwNDE0Mjg1OTYKKwkubG9uZwkyNDE1OTE5MTA0CisJLmxvbmcJNzczMTUwCisJLmxvbmcJMjI5MDI5NzkzMQorCS5sb25nCTEwMzczODg0MDAKKwkubG9uZwkzNzE2MTUzMzQ0CisJLmxvbmcJNzkyOTg3CisJLmxvbmcJMzUzMjE0ODIyMworCS5sb25nCTEwNDE2MjYxOTQKKwkubG9uZwk3NzE3NTE5MzYKKwkubG9uZwk4MTMwNDEKKwkubG9uZwkxMTYxODg0NDA0CisJLmxvbmcJMTA0MjAxNTI1OAorCS5sb25nCTM2OTkzNzYxMjgKKwkubG9uZwk4MzMzMTIKKwkubG9uZwk4NzYzODMxNzYKKwkubG9uZwkxMDM3OTY4ODc4CisJLmxvbmcJMTI0MTUxMzk4NAorCS5sb25nCTg1MzgwNQorCS5sb25nCTMzNzk5ODY3OTYKKwkubG9uZwkxMDQyMjEzMTUzCisJLmxvbmcJMzY5OTM3NjEyOAorCS5sb25nCTg3NDUyMAorCS5sb25nCTE1NDU3OTc3MzcKKwkubG9uZwkxMDQxNjgxNTY5CisJLmxvbmcJNTg3MjAyNTYKKwkubG9uZwk4OTU0NjIKKwkubG9uZwkyOTI1MTQ2ODAxCisJLmxvbmcJMTA0MjIxMjU2NworCS5sb25nCTg1NTYzODAxNgorCS5sb25nCTkxNjYzMQorCS5sb25nCTEzMTY2Mjc5NzEKKwkubG9uZwkxMDM4NTE2MjA0CisJLmxvbmcJMzg4MzkyNTUwNAorCS5sb25nCTkzODAzMAorCS5sb25nCTMyNjc4NjkxMzcKKwkubG9uZwkxMDQwMzM3MDA0CisJLmxvbmcJMjcyNjI5NzYwMAorCS5sb25nCTk1OTY2MworCS5sb25nCTM3MjA4Njg5OTkKKwkubG9uZwkxMDQxNzgyNDA5CisJLmxvbmcJMzk5Mjk3NzQwOAorCS5sb25nCTk4MTUzMQorCS5sb25nCTQzMzMxNjE0MgorCS5sb25nCTEwNDE5OTQwNjQKKwkubG9uZwkxNTI2NzI2NjU2CisJLmxvbmcJMTAwMzYzOAorCS5sb25nCTc4MTIzMjEwMworCS5sb25nCTEwNDAwOTM0MDAKKwkubG9uZwkyMTcyNjQ5NDcyCisJLmxvbmcJMTAyNTk4NQorCS5sb25nCTI3NzM5Mjc3MzIKKwkubG9uZwkxMDUzMjM2NzA3CisJLmxvbmcJMzgxNzc0ODcxCisJLmxvbmcJMTA2MjY1MDIyMAorCS5sb25nCTM3OTY1Mzg5OQorCS5sb25nCTEwNTY1NzE4NDUKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY1NDIzMTIxCisJLmxvbmcJNDM2MzE0MTM4CisJLmxvbmcJMTA1OTcxNzUzNgorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDY3Nzk5ODkzCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjk4OTcwNDUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTIxNDY0MzUwNzIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkyMTQ2NDM1MDcxCisJLmxvbmcJMAorCS5sb25nCTEwNDg1NzYKKwkubG9uZwk0MjI3ODU4NDMyCisJLmxvbmcJNDI5NDk2NzI5NQorCS50eXBlCXN0YXRpY19jb25zdF90YWJsZSxAb2JqZWN0CisJLnNpemUJc3RhdGljX2NvbnN0X3RhYmxlLDEyOTYKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Ni9zX2xvZzFwLlMgYi9saWJtL3g4Ni9zX2xvZzFwLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E2ZDg0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L3NfbG9nMXAuUwpAQCAtMCwwICsxLDgyNyBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIExldCB4PTJeayAqIG14LCBteCBpbiBbMSwyKQorLy8KKy8vICAgIEdldCBCfjEvbXggYmFzZWQgb24gdGhlIG91dHB1dCBvZiByY3BwcyBpbnN0cnVjdGlvbiAoQjApCisvLyAgICBCID0gaW50KChCMCoyXjcrMC41KSkvMl43CisvLworLy8gICAgUmVkdWNlZCBhcmd1bWVudDogcj1CKm14LTEuMCAoY29tcHV0ZWQgYWNjdXJhdGVseSBpbiBoaWdoIGFuZCBsb3cgcGFydHMpCisvLworLy8gICAgUmVzdWx0OiAgaypsb2coMikgLSBsb2coQikgKyBwKHIpCisvLyAgICAgICAgICAgICBwKHIpIGlzIGEgZGVncmVlIDcgcG9seW5vbWlhbAorLy8gICAgICAgICAgICAgLWxvZyhCKSByZWFkIGZyb20gZGF0YSB0YWJsZSAoaGlnaCwgbG93IHBhcnRzKQorLy8gICAgICAgICAgICAgUmVzdWx0IGlzIGZvcm1lZCBmcm9tIGhpZ2ggYW5kIGxvdyBwYXJ0cworLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgIGxvZzFwKE5hTikgPSBxdWlldCBOYU4sIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gICBsb2cxcCgrSU5GKSA9IHRoYXQgSU5GCisvLyAgIGxvZzFwKHgpID0gTmFOIGlmIHggPCAtMSBvciB4ID0gLUlORiwgYW5kIHJhaXNlcyBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gICBsb2cxcCgtMSkgPSAtSU5GLCBhbmQgcmFpc2VzIGRpdmlkZS1ieS16ZXJvIGV4Y2VwdGlvbgorLy8gICBsb2cxcCgrLy0wKSA9ICsvLTAKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24KK3N0YXRpY19mdW5jOgorLi5CMS4xOgorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlYXgKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlYXgpLCAlZWF4CisgICAgICAgIGxlYSAgICAgICBzdGF0aWNfY29uc3RfdGFibGVAR09UT0ZGKCVlYXgpLCAlZWF4CisgICAgICAgIHJldAorICAgICAgICAuc2l6ZSAgIHN0YXRpY19mdW5jLC4tc3RhdGljX2Z1bmMKKyMgLS0gRW5kICBzdGF0aWNfZnVuYworCisjIC0tIEJlZ2luICBsb2cxcAorRU5UUlkobG9nMXApCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEwNCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNDAoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJWVjeCwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDIxMjgoJWVieCksICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW02CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNgorICAgICAgICBvcnBkICAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkNSwgJXhtbTAKKyAgICAgICAgcHNybHEgICAgICQzNCwgJXhtbTAKKyAgICAgICAgc3VibCAgICAgICQxNiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzM2LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIHJjcHNzICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQxMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMjgsICV4bW01LCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMQorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMTYyNTYsICVlY3gKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQzMjcyMCwgJWVjeAorICAgICAgICBzdWJsICAgICAgJWVheCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW0zCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNworICAgICAgICBwYWRkZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICQxNDMzNiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW00CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIHBzbGxxICAgICAkMjksICV4bW0wCisgICAgICAgIGFuZHBkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDE2MzUyLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIGN2dHNpMnNkbCAlZWF4LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDIwNjQoJWVieCksICV4bW02CisgICAgICAgIG1vdmFwZCAgICAyMDgwKCVlYngpLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIGFuZGwgICAgICAkMTY3MTE2ODAsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQxMiwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgKCVlYngsJWVkeCksICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAyMDk2KCVlYngpLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgMjA3MiglZWJ4KSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMjgsICV4bW0wLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHBkICAgICAyMTEyKCVlYngpLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0yLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF84LjAuMgorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQtMjA5NzE1MiwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgb3JsICAgICAgICVlY3gsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgICQxNDEsICVlZHgKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIG1vdnNkICAgICAxMTIoJWVzcCksICV4bW0wCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDQ5MTM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgZGl2c2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE0MCwgJWVkeAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMTEyKCVlc3ApLCAleG1tMAorICAgICAgICBjbXBsICAgICAgJDE1NTA0LCAlZWN4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMS4wLjIKKyAgICAgICAgbW92YXBkICAgIDIxNDQoJWVieCksICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgMjE2MCglZWJ4KSwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW00CisgICAgICAgIG1vdmFwZCAgICAyMTc2KCVlYngpLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW00LCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW00LCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG1vdmwgICAgICAkNDkxMjAsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIG11bHBkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0xLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKy5MXzJUQUdfUEFDS0VUXzExLjAuMjoKKyAgICAgICAgY21wbCAgICAgICQxNiwgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfMTIuMC4yOgorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAyNCglZXNwKQorICAgICAgICBmbGRsICAgICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgbW92bCAgICAgIDQwKCVlc3ApLCAlZWJ4CisgICAgICAgIG1vdmwgICAgICAlZWJwLCAlZXNwCisgICAgICAgIHBvcGwgICAgICAlZWJwCisgICAgICAgIHJldCAgICAgICAKKy4uQjIuMzoKK0VORChsb2cxcCkKKyMgLS0gRW5kICBsb2cxcAorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0wobG9nMXBsLCBsb2cxcCk7CisjIEVuZCBmaWxlIHNjb3BlIEFTTQorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTQyNzc4MTEyMDAKKwkubG9uZwkxMDcyMDQ5NzMwCisJLmxvbmcJMjQ3OTMxODgzMgorCS5sb25nCTEwMjY0ODcxMjcKKwkubG9uZwkyODU0NDkyMTYwCisJLmxvbmcJMTA3MjAzMzQxMAorCS5sb25nCTIxNTYzMTU1MAorCS5sb25nCTEwMjU2Mzg5NjgKKwkubG9uZwkxNTQ3MDYxMjQ4CisJLmxvbmcJMTA3MjAxNzIxNgorCS5sb25nCTI4ODY3ODE0MzUKKwkubG9uZwkxMDI2NDIzMzk1CisJLmxvbmcJNjQ5ODI1MjgwCisJLmxvbmcJMTA3MjAwMTE0NgorCS5sb25nCTQyODE1MzM0MDUKKwkubG9uZwkxMDI0MDM4OTIzCisJLmxvbmcJNjQ2MzQ2NzUyCisJLmxvbmcJMTA3MTk4NTE5OAorCS5sb25nCTE1NjI3MzU5MjEKKwkubG9uZwkxMDIzNzkwMjc2CisJLmxvbmcJMjIwMzczNDAxNgorCS5sb25nCTEwNzE5NjkzNzAKKwkubG9uZwkxODM4Mzk3NjkxCisJLmxvbmcJMzE3MzkzNjIwOQorCS5sb25nCTE4NzIxNjk5ODQKKwkubG9uZwkxMDcxOTUzNjYxCisJLmxvbmcJMzk4MTIwMjQ2MAorCS5sb25nCTEwMjIzMjUwMTMKKwkubG9uZwk2Njk1NTc3NjAKKwkubG9uZwkxMDcxOTM4MDY5CisJLmxvbmcJNDE4MjU5NzgwMgorCS5sb25nCTMxNzMxNzQxMjIKKwkubG9uZwk0MDc2NDEzOTUyCisJLmxvbmcJMTA3MTkyMjU5MQorCS5sb25nCTEyMDkwMjkxMTEKKwkubG9uZwkzMTcwNzM2MjA3CisJLmxvbmcJNTU2MTI1MTg0CisJLmxvbmcJMTA3MTkwNzIyOAorCS5sb25nCTgyMTA4NjAyOAorCS5sb25nCTMxNzM0MzcwNDkKKwkubG9uZwkyMDQ5MTQ2ODgKKwkubG9uZwkxMDcxODkxOTc2CisJLmxvbmcJMjA5NzAyNTk4NgorCS5sb25nCTMxNzEwNzE3OTgKKwkubG9uZwkzODc1NDUwODgKKwkubG9uZwkxMDcxODc2ODM0CisJLmxvbmcJMzE0MjkzNjk5NgorCS5sb25nCTMxNzMwOTIyMTgKKwkubG9uZwkyOTEyNzgzMzYwCisJLmxvbmcJMTA3MTg2MTgwMAorCS5sb25nCTI1MDI0MjAxNDAKKwkubG9uZwkxMDI0NTA1OTE5CisJLmxvbmcJMTE0NDI2MDYwOAorCS5sb25nCTEwNzE4NDY4NzQKKwkubG9uZwkzMzE1NjU4MTQwCisJLmxvbmcJMzE3MzQ2OTg0MworCS5sb25nCTE0NzEyMDk0NzIKKwkubG9uZwkxMDcxODMyMDUzCisJLmxvbmcJMTI5NjIxMDA5CisJLmxvbmcJMzE3MjQ0Mzg3NworCS5sb25nCTE4Mjk2ODMyMDAKKwkubG9uZwkxMDcxODE3MzM2CisJLmxvbmcJMzg4NTQ2NzY5MworCS5sb25nCTEwMjU1MzUyNzUKKwkubG9uZwkyODg2NzY4NjQKKwkubG9uZwkxMDcxODAyNzIyCisJLmxvbmcJODYxMzk0NzIKKwkubG9uZwkzMTcxNjM5NzkzCisJLmxvbmcJMzYzNjM3ODYyNAorCS5sb25nCTEwNzE3ODgyMDgKKwkubG9uZwkxODUwMjM4NTg3CisJLmxvbmcJMTAyNDY1NDM0MgorCS5sb25nCTE2MDY4MTc3OTIKKwkubG9uZwkxMDcxNzczNzk1CisJLmxvbmcJMzM4ODg5OTc5NQorCS5sb25nCTMxNzM2NzU1ODYKKwkubG9uZwkxMjM2MTY0NjA4CisJLmxvbmcJMTA3MTc1OTQ4MAorCS5sb25nCTM5ODM1OTkyMDcKKwkubG9uZwkxMDIwMDQ2NTU4CisJLmxvbmcJMTA4OTYxNjg5NgorCS5sb25nCTEwNzE3NDUyNjIKKwkubG9uZwk0MTcxOTc0MjI0CisJLmxvbmcJMTAyNDc3MzE5OAorCS5sb25nCTQxNDMwOTM3NjAKKwkubG9uZwkxMDcxNzMxMTM5CisJLmxvbmcJMjcyNzU4NzQwMQorCS5sb25nCTMxNzM5NjUyMDcKKwkubG9uZwk2MDAyNjc3NzYKKwkubG9uZwkxMDcxNzE3MTEyCisJLmxvbmcJMzE0NzY4NTA0MgorCS5sb25nCTMxNzMzNTMwMzEKKwkubG9uZwkyMjQ5MzEzMjgwCisJLmxvbmcJMTA3MTcwMzE3NworCS5sb25nCTEyNTgzNTA3NAorCS5sb25nCTEwMjUyNTU4MzIKKwkubG9uZwkzODA1MzAzODA4CisJLmxvbmcJMTA3MTY4OTMzNAorCS5sb25nCTIyODk5OTEyMDcKKwkubG9uZwkxMDI1NDYwMzMxCisJLmxvbmcJODcyNzg1OTIKKwkubG9uZwkxMDcxNjc1NTgzCisJLmxvbmcJMTEwNjExNDA0NQorCS5sb25nCTEwMjU5MzM2MDIKKwkubG9uZwkzMTk1NDA1MzEyCisJLmxvbmcJMTA3MTY2MTkyMAorCS5sb25nCTM4ODUzMTY1NzYKKwkubG9uZwkzMTcxMjA2MjM5CisJLmxvbmcJMzg1MzY0OTkyMAorCS5sb25nCTEwNzE2NDgzNDYKKwkubG9uZwkyOTc3MDY5ODUyCisJLmxvbmcJMzE3MTIzNjc3MQorCS5sb25nCTI5NDQwMjY2MjQKKwkubG9uZwkxMDcxNjI1MDQ4CisJLmxvbmcJMTAwODA5MzQ5MworCS5sb25nCTEwMjM0NDQ0NzQKKwkubG9uZwkzOTkzMTgwMTYwCisJLmxvbmcJMTA3MTU5ODI0NworCS5sb25nCTE4NjIzNTU1OTUKKwkubG9uZwkxMDI0NjQyNTMzCisJLmxvbmcJMTQ1NDY0MTE1MgorCS5sb25nCTEwNzE1NzE2MTcKKwkubG9uZwkxNTE0NjAzMDg5CisJLmxvbmcJMTAyNjUwMDU5NgorCS5sb25nCTMyODYwODU2MzIKKwkubG9uZwkxMDcxNTQ1MTU0CisJLmxvbmcJMTQwMDAyODQyNAorCS5sb25nCTMxNzMyNzkwNTYKKwkubG9uZwk0Mzg3NzM3NjAKKwkubG9uZwkxMDcxNTE4ODU4CisJLmxvbmcJMTIwNzI3ODY0CisJLmxvbmcJMzE3MjE0ODkxNAorCS5sb25nCTEyMTI5NzkyMDAKKwkubG9uZwkxMDcxNDkyNzI1CisJLmxvbmcJMTYyNTA1NTU5NAorCS5sb25nCTMxNzI5MDE5MzMKKwkubG9uZwkxMTg5MDE3NjAwCisJLmxvbmcJMTA3MTQ2Njc1NAorCS5sb25nCTM5MjAwNjIzNzYKKwkubG9uZwkxMDI1NzI3NDA3CisJLmxvbmcJNDAzMDY0ODMyCisJLmxvbmcJMTA3MTQ0MDk0MworCS5sb25nCTEwNTMyNzE3MjgKKwkubG9uZwkzMTcxMzkxNDI3CisJLmxvbmcJMzM0MzIxMDQ5NgorCS5sb25nCTEwNzE0MTUyODkKKwkubG9uZwkzMjQzMzk1NTAyCisJLmxvbmcJMzE3MzYyNzYxMworCS5sb25nCTE3NjU3Nzc0MDgKKwkubG9uZwkxMDcxMzg5NzkyCisJLmxvbmcJMjE0NTk2ODUxMgorCS5sb25nCTEwMjYzNTQzMDQKKwkubG9uZwk0NjE0MzA3ODQKKwkubG9uZwkxMDcxMzY0NDQ5CisJLmxvbmcJNDA5NDMyMjI4NQorCS5sb25nCTEwMjYwMjE0NjcKKwkubG9uZwk3MTcwNjYyNAorCS5sb25nCTEwNzEzMzkyNTgKKwkubG9uZwk3NjM2MzIwMjEKKwkubG9uZwkxMDI0NDk2OTMzCisJLmxvbmcJMTM4MDUwMzU1MgorCS5sb25nCTEwNzEzMTQyMTcKKwkubG9uZwkxMzgzNTQ3OTkyCisJLmxvbmcJMzE3MzA4ODQ1MworCS5sb25nCTEwMTU3MzIyMjQKKwkubG9uZwkxMDcxMjg5MzI1CisJLmxvbmcJMzE5ODY0Njg3NworCS5sb25nCTEwMjUzOTAzMjIKKwkubG9uZwkzNTk3NzIxNgorCS5sb25nCTEwNzEyNjQ1ODAKKwkubG9uZwkyMTQxMDI2ODA1CisJLmxvbmcJMTAyNTc1NDY5MworCS5sb25nCTM5MjczMDYyNDAKKwkubG9uZwkxMDcxMjM5OTc5CisJLmxvbmcJMjgyMTE2MjcyCisJLmxvbmcJMzE3MzM5NDMzNAorCS5sb25nCTExMjUzNDExODQKKwkubG9uZwkxMDcxMjE1NTIzCisJLmxvbmcJMjc2ODQyNzUwNAorCS5sb25nCTMxNzIyNzkwNTkKKwkubG9uZwkxNjY2OTcxNjQ4CisJLmxvbmcJMTA3MTE5MTIwOAorCS5sb25nCTc4NjgzNzYyOQorCS5sb25nCTMxNzI0Mjc0NDUKKwkubG9uZwkyODI3Njk0MDgwCisJLmxvbmcJMTA3MTE2NzAzMworCS5sb25nCTM4NTcxMjI0MTYKKwkubG9uZwkzMTczMDE0MjQxCisJLmxvbmcJMjAwMzY4MzMyOAorCS5sb25nCTEwNzExNDI5OTcKKwkubG9uZwk4NTkwMTA5NTQKKwkubG9uZwkxMDI2NTQ1MDA3CisJLmxvbmcJMTAwNDAxNzY2NAorCS5sb25nCTEwNzExMTkwOTgKKwkubG9uZwkzMzU2NjQ0OTcwCisJLmxvbmcJMzE3MzQ1ODA2NAorCS5sb25nCTE3NTMwMjA0MTYKKwkubG9uZwkxMDcxMDk1MzM0CisJLmxvbmcJNzg4MzM4NTUyCisJLmxvbmcJMTAyNjE1NzY5MworCS5sb25nCTE5OTI3MTgzMzYKKwkubG9uZwkxMDcxMDcxNzA0CisJLmxvbmcJMTIzOTE3OTQ0MworCS5sb25nCTEwMjYzOTQ4ODkKKwkubG9uZwkzODcwMjM0NjI0CisJLmxvbmcJMTA3MTA0ODIwNgorCS5sb25nCTIwODI2MTQ2NjMKKwkubG9uZwkxMDI0OTI2MDUzCisJLmxvbmcJMTA1MDQzNzYzMgorCS5sb25nCTEwNzEwMjQ4NDAKKwkubG9uZwk2NjAwMDc4NDAKKwkubG9uZwkxMDI1NTQ4NDk5CisJLmxvbmcJMTg4Mzk1NTIwCisJLmxvbmcJMTA3MTAwMTYwMworCS5sb25nCTM4Nzg3OTI3MDQKKwkubG9uZwkzMTczODg5NTcxCisJLmxvbmcJMzc0NzE3NjQ0OAorCS5sb25nCTEwNzA5Nzg0OTMKKwkubG9uZwkxNDQ5OTE3MDgKKwkubG9uZwkzMTcxNTUyMDQyCisJLmxvbmcJMTQwNTY2OTM3NgorCS5sb25nCTEwNzA5NTU1MTEKKwkubG9uZwkzOTk5MDg4ODc5CisJLmxvbmcJMTAyNTQ4NjMxNworCS5sb25nCTEyMTE1MTQ4OAorCS5sb25nCTEwNzA5MzI2NTQKKwkubG9uZwkyMTcwODY1NDk3CisJLmxvbmcJMTAyNjQ3MzU4NAorCS5sb25nCTI2NTIzMTk3NDQKKwkubG9uZwkxMDcwOTA5OTIwCisJLmxvbmcJNDUzNjk1NjUyCisJLmxvbmcJMzE3MzkxNjgwOQorCS5sb25nCTMyNjIyMzY2NzIKKwkubG9uZwkxMDcwODg3MzA5CisJLmxvbmcJMTU3ODAwMDUzCisJLmxvbmcJMzE3Mzk4NDIwNgorCS5sb25nCTYwMTIyMTEyMAorCS5sb25nCTEwNzA4NjQ4MjAKKwkubG9uZwkzOTY4OTE3NjYxCisJLmxvbmcJMTAyMzk5Mjg4NgorCS5sb25nCTE5OTk4NDMzMjgKKwkubG9uZwkxMDcwODQyNDUwCisJLmxvbmcJMzA1Mzg5NTAwNAorCS5sb25nCTEwMjQ5OTgyMjgKKwkubG9uZwkxOTkyMTY3NDI0CisJLmxvbmcJMTA3MDgyMDE5OQorCS5sb25nCTI5Njg2MTQ4NTYKKwkubG9uZwkxMDI0NTUyNjUzCisJLmxvbmcJMzc4ODcyNjI3MgorCS5sb25nCTEwNzA3OTgwNjUKKwkubG9uZwkzNTQyMTcwODA4CisJLmxvbmcJMzE3MzU3MzI0MgorCS5sb25nCTIwOTQ4Mjk1NjgKKwkubG9uZwkxMDcwNzc2MDQ4CisJLmxvbmcJMTI0Njc1ODEzMgorCS5sb25nCTEwMjYyMDI4NzQKKwkubG9uZwkyODg2NzU4NDAKKwkubG9uZwkxMDcwNzU0MTQ2CisJLmxvbmcJMzc0NzMyODk1MAorCS5sb25nCTEwMjYzMzE1ODUKKwkubG9uZwkxODI5NjgxMTUyCisJLmxvbmcJMTA3MDczMjM1NworCS5sb25nCTMxMjUxOTc1NDYKKwkubG9uZwkxMDI0MTAwMzE4CisJLmxvbmcJMTY2Njg2OTI0OAorCS5sb25nCTEwNzA3MTA2ODEKKwkubG9uZwkxMzYzNjU2MTE5CisJLmxvbmcJMTAyNjMzNjQ5MworCS5sb25nCTM0MTcxMTA1MjgKKwkubG9uZwkxMDcwNjg5MTE2CisJLmxvbmcJNDE1NDc5MTU1MworCS5sb25nCTEwMjYyNjc4NTMKKwkubG9uZwkyMTgzNjUzMzc2CisJLmxvbmcJMTA3MDY2NzY2MgorCS5sb25nCTE2NzE4MTkyOTIKKwkubG9uZwkzMTczNzg1ODcwCisJLmxvbmcJMTczNDQzNDgxNgorCS5sb25nCTEwNzA2NDYzMTcKKwkubG9uZwkzNzMwOTEwNDkKKwkubG9uZwkxMDI1OTcyMzYzCisJLmxvbmcJMTYxNTY4MTUzNgorCS5sb25nCTEwNzA2MjUwODAKKwkubG9uZwkzODQ2NTA4OTcKKwkubG9uZwkxMDIyOTI2MDQzCisJLmxvbmcJMTQ0NTM4MjE0NAorCS5sb25nCTEwNzA2MDM5NTAKKwkubG9uZwkzNDQzMjAzMzAKKwkubG9uZwkzMTcyMzk3MTk2CisJLmxvbmcJMTgyMzcxNTMyOAorCS5sb25nCTEwNzA1Njk3NTYKKwkubG9uZwkzMzg5ODQxMjAwCisJLmxvbmcJMTAyNTIzMTg1MgorCS5sb25nCTM4Mzk2ODg3MDQKKwkubG9uZwkxMDcwNTI3OTE3CisJLmxvbmcJMTcwNjc5MDQxNworCS5sb25nCTMxNjczNjMzNDkKKwkubG9uZwk0MjkzMzMyOTkyCisJLmxvbmcJMTA3MDQ4NjI4NgorCS5sb25nCTE2MTQ5MzUwODgKKwkubG9uZwkxMDE5MzUxNTkxCisJLmxvbmcJMjk2NjcyMDUxMgorCS5sb25nCTEwNzA0NDQ4NjEKKwkubG9uZwk0MTQ1MzkzNzE3CisJLmxvbmcJMzE3MzcxMTY1OAorCS5sb25nCTQwNjY3Mjk5ODQKKwkubG9uZwkxMDcwNDAzNjM5CisJLmxvbmcJMTk3NDkyNTAyOAorCS5sb25nCTMxNzE0MzcxODIKKwkubG9uZwkzMzM3NjIxNTA0CisJLmxvbmcJMTA3MDM2MjYxOQorCS5sb25nCTMzMTQ5NTMxNzAKKwkubG9uZwkzMTY5OTcxMzE0CisJLmxvbmcJOTQzNDQ4MDY0CisJLmxvbmcJMTA3MDMyMTc5OQorCS5sb25nCTE0OTg2ODIwMzgKKwkubG9uZwkzMTczODYyMzQwCisJLmxvbmcJMTQ2NTYzNDgxNgorCS5sb25nCTEwNzAyODExNzYKKwkubG9uZwkxMzE5OTUyODEwCisJLmxvbmcJMzE3MTY5Mzk2NQorCS5sb25nCTEwMTU3MzQyNzIKKwkubG9uZwkxMDcwMjQwNzQ5CisJLmxvbmcJMTM0NzgyMTkyOQorCS5sb25nCTMxNzM1NDQ1MTUKKwkubG9uZwkxMTgwMDE2NjQKKwkubG9uZwkxMDcwMjAwNTE2CisJLmxvbmcJMTc1MTQ4Mjc0NgorCS5sb25nCTEwMjYxMzQwOTMKKwkubG9uZwkzNzA3MTc0OTEyCisJLmxvbmcJMTA3MDE2MDQ3NAorCS5sb25nCTE0ODY5NDYxNTkKKwkubG9uZwkxMDIzOTMwOTIwCisJLmxvbmcJMzk0NjM4MTMxMgorCS5sb25nCTEwNzAxMjA2MjMKKwkubG9uZwkyODY3NDA4MDgxCisJLmxvbmcJMzE3MTM2ODI3NgorCS5sb25nCTE2OTk4NDgxOTIKKwkubG9uZwkxMDcwMDgwOTYxCisJLmxvbmcJMjU5MDE4NzEzOQorCS5sb25nCTEwMjUzNzk4MDMKKwkubG9uZwkyMjM1ODQ2NjU2CisJLmxvbmcJMTA3MDA0MTQ4NQorCS5sb25nCTE4ODg1NjgwNjkKKwkubG9uZwkzMTcyNzU0OTYwCisJLmxvbmcJMjMzOTcyOTQwOAorCS5sb25nCTEwNzAwMDIxOTQKKwkubG9uZwkzODUyMjE0NzUzCisJLmxvbmcJMzE3MzMyMzE0OQorCS5sb25nCTMxOTY4NTAxNzYKKwkubG9uZwkxMDY5OTYzMDg2CisJLmxvbmcJNzQyMTQxNTYwCisJLmxvbmcJMTAyNTEwMTcwNworCS5sb25nCTE4MDA2ODM1MjAKKwkubG9uZwkxMDY5OTI0MTYwCisJLmxvbmcJMzk0OTUwMDQ0NAorCS5sb25nCTMxNzIxMDIxNzkKKwkubG9uZwkzODM1ODAxNjAwCisJLmxvbmcJMTA2OTg4NTQxMworCS5sb25nCTM4NDg4OTU5NDMKKwkubG9uZwkxMDI1OTEzODMyCisJLmxvbmcJMjIwMTIwMjY4OAorCS5sb25nCTEwNjk4NDY4NDUKKwkubG9uZwkxNDI1OTEzNDY0CisJLmxvbmcJMTAyNTg2ODY2NQorCS5sb25nCTI3NzgyNzk5MzYKKwkubG9uZwkxMDY5ODA4NDUzCisJLmxvbmcJMjEyMDg4OTY3NworCS5sb25nCTMxNzM4MzExMjgKKwkubG9uZwkyOTU0MjAzMTM2CisJLmxvbmcJMTA2OTc3MDIzNgorCS5sb25nCTU5MjE0NzA4MQorCS5sb25nCTEwMTk2MjEyODgKKwkubG9uZwkyMTAxNDExODQKKwkubG9uZwkxMDY5NzMyMTkzCisJLmxvbmcJMzQxNDI3NTIzMworCS5sb25nCTEwMjM2NDcwODQKKwkubG9uZwk3MDk0NzYzNTIKKwkubG9uZwkxMDY5Njk0MzIxCisJLmxvbmcJMjQxMzAyNzE2NAorCS5sb25nCTEwMjQ0NjIxMTUKKwkubG9uZwkyMTE2Mjg0NDE2CisJLmxvbmcJMTA2OTY1NjYxOQorCS5sb25nCTExNDQ1NTk5MjQKKwkubG9uZwkxMDI2MzM2NjU0CisJLmxvbmcJMjE4MzY1MTMyOAorCS5sb25nCTEwNjk2MTkwODYKKwkubG9uZwkzNDU5MDU3NjUwCisJLmxvbmcJMTAyNTYzNDE2OAorCS5sb25nCTMwNDcwNDcxNjgKKwkubG9uZwkxMDY5NTgxNzIwCisJLmxvbmcJMTg3OTY3NDkyNAorCS5sb25nCTMxNzM1MDg1NzMKKwkubG9uZwk5NzA3MTEwNDAKKwkubG9uZwkxMDY5NTQxNTIxCisJLmxvbmcJMTMzNTk1NDE3MworCS5sb25nCTMxNzMzMzIxODIKKwkubG9uZwkyMTk4NDc4ODQ4CisJLmxvbmcJMTA2OTQ2NzQ0OQorCS5sb25nCTI5NTExMDM5NjgKKwkubG9uZwkzMTczODkyMjAwCisJLmxvbmcJMTY2OTYxMTUyMAorCS5sb25nCTEwNjkzOTM3MDMKKwkubG9uZwk1MzEwNDQxNDcKKwkubG9uZwkxMDI1MTQ5MjQ4CisJLmxvbmcJMjkxMTQzNjgKKwkubG9uZwkxMDY5MzIwMjgwCisJLmxvbmcJMzMyNzgzMTI1MQorCS5sb25nCTEwMjU5MTg2NzMKKwkubG9uZwkyMzc2OTQ5NzYwCisJLmxvbmcJMTA2OTI0NzE3NgorCS5sb25nCTczNzYzNDUzMworCS5sb25nCTMxNzIxNzYwMDAKKwkubG9uZwkxMDg1MzkwODQ4CisJLmxvbmcJMTA2OTE3NDM5MAorCS5sb25nCTMxMDgyNDM0MDAKKwkubG9uZwkzMTcxODI4NDA2CisJLmxvbmcJMTU2NjEzMDE3NgorCS5sb25nCTEwNjkxMDE5MTgKKwkubG9uZwk5ODU0ODMyMjYKKwkubG9uZwkxMDI1NzA4MzgwCisJLmxvbmcJNzkyNzgwODAwCisJLmxvbmcJMTA2OTAyOTc1OAorCS5sb25nCTQxODQ4NjYyOTUKKwkubG9uZwkxMDI0NDI2MjA0CisJLmxvbmcJMTgzMTU2NzM2CisJLmxvbmcJMTA2ODk1NzkwNworCS5sb25nCTI4NDU2OTkzNzgKKwkubG9uZwkxMDIyMTA3Mjc3CisJLmxvbmcJMTMwMTc4MjUyOAorCS5sb25nCTEwNjg4ODYzNjIKKwkubG9uZwkxMDEyNzM1MjYyCisJLmxvbmcJMzE3MzgwNDI5NAorCS5sb25nCTE1NjI0MTEwMDgKKwkubG9uZwkxMDY4ODE1MTIxCisJLmxvbmcJMjE5NzA4NjcwMworCS5sb25nCTMxNzAxODc4MTMKKwkubG9uZwkyODE1NTQ5NDQwCisJLmxvbmcJMTA2ODc0NDE4MQorCS5sb25nCTI3ODI2MTMyMDcKKwkubG9uZwkxMDI2MzQ1MDU0CisJLmxvbmcJMjc1NjEyNDY3MgorCS5sb25nCTEwNjg2NzM1NDAKKwkubG9uZwkyOTI5NDg2MjA1CisJLmxvbmcJMzE3MzAzNzgwMAorCS5sb25nCTM1MTEwNTAyNDAKKwkubG9uZwkxMDY4NjAzMTk1CisJLmxvbmcJMTQ0MzczMzE0NworCS5sb25nCTMxNzMzMzE1NDkKKwkubG9uZwkzMDQ3MDQ3MTY4CisJLmxvbmcJMTA2ODUzMzE0NAorCS5sb25nCTE4Nzk2NzQ5MjQKKwkubG9uZwkzMTcyNDU5OTk3CisJLmxvbmcJMzIyMTY2Nzg0MAorCS5sb25nCTEwNjg0Mjc4MjUKKwkubG9uZwkxMzM4NTg4MDI3CisJLmxvbmcJMzE3MTgxNTc0MgorCS5sb25nCTM0NTM4NjE4ODgKKwkubG9uZwkxMDY4Mjg4ODgzCisJLmxvbmcJMTIwNTM0ODM1OQorCS5sb25nCTMxNzI2MjQ2MjYKKwkubG9uZwkzNTA2MTEwNDY0CisJLmxvbmcJMTA2ODE1MDUxNAorCS5sb25nCTg5MzEwNTE5OAorCS5sb25nCTEwMjU1NzE4NjYKKwkubG9uZwkzNDYwMTM2OTYKKwkubG9uZwkxMDY4MDEyNzE0CisJLmxvbmcJMzQ5NTU2OTAyMQorCS5sb25nCTMxNzI1NjMzNDkKKwkubG9uZwk0MDc0MDI5MDU2CisJLmxvbmcJMTA2Nzg3NTQ3NgorCS5sb25nCTM5NjExMDYzMzgKKwkubG9uZwkzMTcxMDY1NTk1CisJLmxvbmcJMzU1OTc4NDQ0OAorCS5sb25nCTEwNjc3Mzg3OTgKKwkubG9uZwkxOTc1Mzg1Mzg0CisJLmxvbmcJMzE3Mzc4MzE1NQorCS5sb25nCTc5Nzc2OTcyOAorCS5sb25nCTEwNjc2MDI2NzUKKwkubG9uZwkzNzYwMzA1Nzg3CisJLmxvbmcJMTAyNjA0NzY0MgorCS5sb25nCTIzMTM2MzM3OTIKKwkubG9uZwkxMDY3NDY3MTAxCisJLmxvbmcJMTU1OTM1MzE3MQorCS5sb25nCTEwMjM0ODAyNTYKKwkubG9uZwkzOTYwNzY2NDY0CisJLmxvbmcJMTA2NzIxMzc3OAorCS5sb25nCTEwNjczNjUxMDcKKwkubG9uZwkxMDI1ODY1OTI2CisJLmxvbmcJNjg0MjYxMzc2CisJLmxvbmcJMTA2Njk0NDgwNQorCS5sb25nCTg0NDc2MjE2NAorCS5sb25nCTMxNzM2ODc0ODIKKwkubG9uZwk2MzA3MTg0NjQKKwkubG9uZwkxMDY2Njc2OTA1CisJLmxvbmcJMjQ1ODI2OTY5NAorCS5sb25nCTEwMjQwMzMwODEKKwkubG9uZwkxNDg2MDYxNTY4CisJLmxvbmcJMTA2NjQxMDA3MAorCS5sb25nCTExNTUzNzg3NAorCS5sb25nCTMxNzMyNDM5OTUKKwkubG9uZwkyNzQzNjY0NjQwCisJLmxvbmcJMTA2NTg4Njc5MgorCS5sb25nCTM2NjUwOTgzMDQKKwkubG9uZwkzMTczNDcxNjA3CisJLmxvbmcJMTk3MTkxMjcwNAorCS5sb25nCTEwNjUzNTczMzMKKwkubG9uZwkyNTc3MjE0NDQwCisJLmxvbmcJMzE3MTk5MzQ1MQorCS5sb25nCTE0OTg5MzkzOTIKKwkubG9uZwkxMDY0MzA2NjkzCisJLmxvbmcJMzQwOTAzNjkyMworCS5sb25nCTEwMjU1OTkxNTEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJNDI3NzgxMTIwMAorCS5sb25nCTEwNjc4NTU0MjYKKwkubG9uZwkyNDc5MzE4ODMyCisJLmxvbmcJMTAyMjI5MjgyMworCS5sb25nCTI0NTQyNjcwMjYKKwkubG9uZwkxMDY5Njk3MzE2CisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkxMDMwNzMwMTAxCisJLmxvbmcJMzIxNzM4MDcwMgorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDcwOTQ1NjIxCisJLmxvbmcJMjU3Njk4MDM3OAorCS5sb25nCTEwNzAxNzY2NjUKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTU5MTA0CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NTkxMDQKKwkubG9uZwkwCisJLmxvbmcJMzIxNzAzMTE2OAorCS5sb25nCTI1NzY5ODAzNzgKKwkubG9uZwkxMDcwMTc2NjY1CisJLmxvbmcJMjQ1NDI2NzAyNgorCS5sb25nCTEwNjk2OTczMTYKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkzMjE3MzgwNjkzCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNzA5NDU2MjEKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwyMTkyCisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvc19zaW4uUyBiL2xpYm0veDg2L3Nfc2luLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU2Y2JkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L3Nfc2luLlMKQEAgLTAsMCArMSw5MDcgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgICAgMS4gUkFOR0UgUkVEVUNUSU9OCisvLworLy8gICAgIFdlIHBlcmZvcm0gYW4gaW5pdGlhbCByYW5nZSByZWR1Y3Rpb24gZnJvbSBYIHRvIHIgd2l0aAorLy8KKy8vICAgICAgICAgIFggPX49IE4gKiBwaS8zMiArIHIKKy8vCisvLyAgICAgc28gdGhhdCB8cnwgPD0gcGkvNjQgKyBlcHNpbG9uLiBXZSByZXN0cmljdCBpbnB1dHMgdG8gdGhvc2UKKy8vICAgICB3aGVyZSB8TnwgPD0gOTMyNTYwLiBCZXlvbmQgdGhpcywgdGhlIHJhbmdlIHJlZHVjdGlvbiBpcworLy8gICAgIGluc3VmZmljaWVudGx5IGFjY3VyYXRlLiBGb3IgZXh0cmVtZWx5IHNtYWxsIGlucHV0cywgCisvLyAgICAgZGVub3JtYWxpemF0aW9uIGNhbiBvY2N1ciBpbnRlcm5hbGx5LCBpbXBhY3RpbmcgcGVyZm9ybWFuY2UuCisvLyAgICAgVGhpcyBtZWFucyB0aGF0IHRoZSBtYWluIHBhdGggaXMgYWN0dWFsbHkgb25seSB0YWtlbiBmb3IKKy8vICAgICAyXi0yNTIgPD0gfFh8IDwgOTAxMTIuCisvLworLy8gICAgIFRvIGF2b2lkIGJyYW5jaGVzLCB3ZSBwZXJmb3JtIHRoZSByYW5nZSByZWR1Y3Rpb24gdG8gZnVsbAorLy8gICAgIGFjY3VyYWN5IGVhY2ggdGltZS4KKy8vCisvLyAgICAgICAgICBYIC0gTiAqIChQXzEgKyBQXzIgKyBQXzMpCisvLworLy8gICAgIHdoZXJlIFBfMSBhbmQgUF8yIGFyZSAzMi1iaXQgbnVtYmVycyAoc28gbXVsdGlwbGljYXRpb24gYnkgTgorLy8gICAgIGlzIGV4YWN0KSBhbmQgUF8zIGlzIGEgNTMtYml0IG51bWJlci4gVG9nZXRoZXIsIHRoZXNlCisvLyAgICAgYXBwcm94aW1hdGUgcGkgd2VsbCBlbm91Z2ggZm9yIGFsbCBjYXNlcyBpbiB0aGUgcmVzdHJpY3RlZAorLy8gICAgIHJhbmdlLgorLy8KKy8vICAgICBUaGUgbWFpbiByZWR1Y3Rpb24gc2VxdWVuY2UgaXM6CisvLworLy8gICAgICAgICAgICAgeSA9IDMyL3BpICogeAorLy8gICAgICAgICAgICAgTiA9IGludGVnZXIoeSkKKy8vICAgICAoY29tcHV0ZWQgYnkgYWRkaW5nIGFuZCBzdWJ0cmFjdGluZyBvZmYgU0hJRlRFUikKKy8vCisvLyAgICAgICAgICAgICBtXzEgPSBOICogUF8xCisvLyAgICAgICAgICAgICBtXzIgPSBOICogUF8yCisvLyAgICAgICAgICAgICByXzEgPSB4IC0gbV8xCisvLyAgICAgICAgICAgICByID0gcl8xIC0gbV8yCisvLyAgICAgKHRoaXMgciBjYW4gYmUgdXNlZCBmb3IgbW9zdCBvZiB0aGUgY2FsY3VsYXRpb24pCisvLworLy8gICAgICAgICAgICAgY18xID0gcl8xIC0gcgorLy8gICAgICAgICAgICAgbV8zID0gTiAqIFBfMworLy8gICAgICAgICAgICAgY18yID0gY18xIC0gbV8yCisvLyAgICAgICAgICAgICBjID0gY18yIC0gbV8zCisvLworLy8gICAgIDIuIE1BSU4gQUxHT1JJVEhNCisvLworLy8gICAgIFRoZSBhbGdvcml0aG0gdXNlcyBhIHRhYmxlIGxvb2t1cCBiYXNlZCBvbiBCID0gTSAqIHBpIC8gMzIKKy8vICAgICB3aGVyZSBNID0gTiBtb2QgNjQuIFRoZSBzdG9yZWQgdmFsdWVzIGFyZToKKy8vICAgICAgIHNpZ21hICAgICAgICAgICAgIGNsb3Nlc3QgcG93ZXIgb2YgMiB0byBjb3MoQikKKy8vICAgICAgIENfaGwgICAgICAgICAgICAgIDUzLWJpdCBjb3MoQikgLSBzaWdtYQorLy8gICAgICAgU19oaSArIFNfbG8gICAgICAgMiAqIDUzLWJpdCBzaW4oQikKKy8vCisvLyAgICAgVGhlIGNvbXB1dGF0aW9uIGlzIG9yZ2FuaXplZCBhcyBmb2xsb3dzOgorLy8KKy8vICAgICAgICAgIHNpbihCICsgciArIGMpID0gW3NpbihCKSArIHNpZ21hICogcl0gKworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICByICogKGNvcyhCKSAtIHNpZ21hKSArCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbihCKSAqIFtjb3MociArIGMpIC0gMV0gKworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBjb3MoQikgKiBbc2luKHIgKyBjKSAtIHJdCisvLworLy8gICAgIHdoaWNoIGlzIGFwcHJveGltYXRlbHk6CisvLworLy8gICAgICAgICAgW1NfaGkgKyBzaWdtYSAqIHJdICsKKy8vICAgICAgICAgIENfaGwgKiByICsKKy8vICAgICAgICAgIFNfbG8gKyBTX2hpICogWyhjb3MocikgLSAxKSAtIHIgKiBjXSArCisvLyAgICAgICAgICAoQ19obCArIHNpZ21hKSAqIFsoc2luKHIpIC0gcikgKyBjXQorLy8KKy8vICAgICBhbmQgdGhpcyBpcyB3aGF0IGlzIGFjdHVhbGx5IGNvbXB1dGVkLiBXZSBzZXBhcmF0ZSB0aGlzIHN1bQorLy8gICAgIGludG8gZm91ciBwYXJ0czoKKy8vCisvLyAgICAgICAgICBoaSArIG1lZCArIHBvbHMgKyBjb3JyCisvLworLy8gICAgIHdoZXJlCisvLworLy8gICAgICAgICAgaGkgICAgICAgPSBTX2hpICsgc2lnbWEgcgorLy8gICAgICAgICAgbWVkICAgICAgPSBDX2hsICogcgorLy8gICAgICAgICAgcG9scyAgICAgPSBTX2hpICogKGNvcyhyKSAtIDEpICsgKENfaGwgKyBzaWdtYSkgKiAoc2luKHIpIC0gcikKKy8vICAgICAgICAgIGNvcnIgICAgID0gU19sbyArIGMgKiAoKENfaGwgKyBzaWdtYSkgLSBTX2hpICogcikKKy8vCisvLyAgICAgMy4gUE9MWU5PTUlBTAorLy8KKy8vICAgICBUaGUgcG9seW5vbWlhbCBTX2hpICogKGNvcyhyKSAtIDEpICsgKENfaGwgKyBzaWdtYSkgKgorLy8gICAgIChzaW4ocikgLSByKSBjYW4gYmUgcmVhcnJhbmdlZCBmcmVlbHksIHNpbmNlIGl0IGlzIHF1aXRlCisvLyAgICAgc21hbGwsIHNvIHdlIGV4cGxvaXQgcGFyYWxsZWxpc20gdG8gdGhlIGZ1bGxlc3QuCisvLworLy8gICAgICAgICAgcHNjNCAgICAgICA9ICAgU0NfNCAqIHJfMQorLy8gICAgICAgICAgbXNjNCAgICAgICA9ICAgcHNjNCAqIHIKKy8vICAgICAgICAgIHIyICAgICAgICAgPSAgIHIgKiByCisvLyAgICAgICAgICBtc2MyICAgICAgID0gICBTQ18yICogcjIKKy8vICAgICAgICAgIHI0ICAgICAgICAgPSAgIHIyICogcjIKKy8vICAgICAgICAgIHBzYzMgICAgICAgPSAgIFNDXzMgKyBtc2M0CisvLyAgICAgICAgICBwc2MxICAgICAgID0gICBTQ18xICsgbXNjMgorLy8gICAgICAgICAgbXNjMyAgICAgICA9ICAgcjQgKiBwc2MzCisvLyAgICAgICAgICBzaW5jb3Nwb2xzID0gICBwc2MxICsgbXNjMworLy8gICAgICAgICAgcG9scyAgICAgICA9ICAgc2luY29zcG9scyAqCisvLyAgICAgICAgICAgICAgICAgICAgICAgICA8U19oaSAqIHJeMiB8IChDX2hsICsgc2lnbWEpICogcl4zPgorLy8KKy8vICAgICA0LiBDT1JSRUNUSU9OIFRFUk0KKy8vCisvLyAgICAgVGhpcyBpcyB3aGVyZSB0aGUgImMiIGNvbXBvbmVudCBvZiB0aGUgcmFuZ2UgcmVkdWN0aW9uIGlzCisvLyAgICAgdGFrZW4gaW50byBhY2NvdW50OyByZWNhbGwgdGhhdCBqdXN0ICJyIiBpcyB1c2VkIGZvciBtb3N0IG9mCisvLyAgICAgdGhlIGNhbGN1bGF0aW9uLgorLy8KKy8vICAgICAgICAgIC1jICAgPSBtXzMgLSBjXzIKKy8vICAgICAgICAgIC1kICAgPSBTX2hpICogciAtIChDX2hsICsgc2lnbWEpCisvLyAgICAgICAgICBjb3JyID0gLWMgKiAtZCArIFNfbG8KKy8vCisvLyAgICAgNS4gQ09NUEVOU0FURUQgU1VNTUFUSU9OUworLy8KKy8vICAgICBUaGUgdHdvIHN1Y2Nlc3NpdmUgY29tcGVuc2F0ZWQgc3VtbWF0aW9ucyBhZGQgdXAgdGhlIGhpZ2gKKy8vICAgICBhbmQgbWVkaXVtIHBhcnRzLCBsZWF2aW5nIGp1c3QgdGhlIGxvdyBwYXJ0cyB0byBhZGQgdXAgYXQKKy8vICAgICB0aGUgZW5kLgorLy8KKy8vICAgICAgICAgIHJzICAgICAgICA9ICBzaWdtYSAqIHIKKy8vICAgICAgICAgIHJlc19pbnQgICA9ICBTX2hpICsgcnMKKy8vICAgICAgICAgIGtfMCAgICAgICA9ICBTX2hpIC0gcmVzX2ludAorLy8gICAgICAgICAga18yICAgICAgID0gIGtfMCArIHJzCisvLyAgICAgICAgICBtZWQgICAgICAgPSAgQ19obCAqIHIKKy8vICAgICAgICAgIHJlc19oaSAgICA9ICByZXNfaW50ICsgbWVkCisvLyAgICAgICAgICBrXzEgICAgICAgPSAgcmVzX2ludCAtIHJlc19oaQorLy8gICAgICAgICAga18zICAgICAgID0gIGtfMSArIG1lZAorLy8KKy8vICAgICA2LiBGSU5BTCBTVU1NQVRJT04KKy8vCisvLyAgICAgV2Ugbm93IGFkZCB1cCBhbGwgdGhlIHNtYWxsIHBhcnRzOgorLy8KKy8vICAgICAgICAgIHJlc19sbyA9IHBvbHMoaGkpICsgcG9scyhsbykgKyBjb3JyICsga18xICsga18zCisvLworLy8gICAgIE5vdyB0aGUgb3ZlcmFsbCByZXN1bHQgaXMganVzdDoKKy8vCisvLyAgICAgICAgICByZXNfaGkgKyByZXNfbG8KKy8vCisvLyAgICAgNy4gU01BTEwgQVJHVU1FTlRTCisvLworLy8gICAgIElmIHx4fCA8IFNOTiAoU05OIG1lYW5pbmcgdGhlIHNtYWxsZXN0IG5vcm1hbCBudW1iZXIpLCB3ZQorLy8gICAgIHNpbXBseSBwZXJmb3JtIDAuMTExMTExMSBjZG90cyAxMTExICogeC4gRm9yIFNOTiA8PSB8eHwsIHdlCisvLyAgICAgZG8gMl4tNTUgKiAoMl41NSAqIHggLSB4KS4KKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIHNpbihOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBzaW4oSU5GKSA9IE5hTiBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBzaW4oKy8tMCkgPSArLy0wCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgc3RhdGljX2Z1bmMKKyAgICAgICAgLnRleHQKKyAgICAgICAgLmFsaWduIF9fYmlvbmljX2FzbV9hbGlnbgorICAgICAgICAudHlwZSBzdGF0aWNfZnVuYywgQGZ1bmN0aW9uCitzdGF0aWNfZnVuYzoKKy4uQjEuMToKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZWF4CisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZWF4KSwgJWVheAorICAgICAgICBsZWEgICAgICAgc3RhdGljX2NvbnN0X3RhYmxlQEdPVE9GRiglZWF4KSwgJWVheAorICAgICAgICByZXQKKyAgICAgICAgLnNpemUgICBzdGF0aWNfZnVuYywuLXN0YXRpY19mdW5jCisjIC0tIEVuZCAgc3RhdGljX2Z1bmMKKworIyAtLSBCZWdpbiAgc2luCitFTlRSWShzaW4pCisjIHBhcmFtZXRlciAxOiA4ICsgJWVicAorLi5CMi4xOgorLi5CMi4yOgorICAgICAgICBwdXNobCAgICAgJWVicAorICAgICAgICBtb3ZsICAgICAgJWVzcCwgJWVicAorICAgICAgICBzdWJsICAgICAgJDEyMCwgJWVzcAorICAgICAgICBtb3ZsICAgICAgJWVieCwgNTYoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIHN0YXRpY19mdW5jCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWJ4CisgICAgICAgIG1vdnNkICAgICAxMjgoJWVzcCksICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBzdWJsICAgICAgJDEyMzM2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkNDI5MywgJWVheAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgbW92c2QgICAgIDIxNjAoJWVieCksICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIDIyNzIoJWVieCksICV4bW01CisgICAgICAgIG1vdmFwZCAgICAyMjU2KCVlYngpLCAleG1tNAorICAgICAgICBhbmRwZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG9ycHMgICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgbW92c2QgICAgIDIxMjgoJWVieCksICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAyMTEyKCVlYngpLCAleG1tMgorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGN2dHRzZDJzaSAleG1tMSwgJWVkeAorICAgICAgICBjdnRzaTJzZGwgJWVkeCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICB1bnBja2xwZCAgJXhtbTEsICV4bW0xCisgICAgICAgIGFkZGwgICAgICAkMTg2NTIxNiwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW00CisgICAgICAgIGFuZGwgICAgICAkNjMsICVlZHgKKyAgICAgICAgbW92YXBkICAgIDIwOTYoJWVieCksICV4bW01CisgICAgICAgIGxlYSAgICAgICAoJWVieCksICVlYXgKKyAgICAgICAgc2hsbCAgICAgICQ1LCAlZWR4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgMjE0NCglZWJ4KSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgOCglZWF4KSwgJXhtbTcKKyAgICAgICAgdW5wY2tscGQgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgJXhtbTQsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBzdWJwZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAyMDY0KCVlYngpLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICglZWF4KSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgMjQoJWVheCksICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgIDIwODAoJWVieCksICV4bW01CisgICAgICAgIG11bHNkICAgICAoJWVheCksICV4bW00CisgICAgICAgIGFkZHBkICAgICAyMDQ4KCVlYngpLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgIDgoJWVheCksICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgbW92YXBkICAgICV4bW00LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgbW92c2QgICAgIDgoJWVheCksICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBhZGRzZCAgICAgMTYoJWVheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIHVucGNraHBkICAleG1tNiwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG1vdnNkICAgICAleG1tNCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgamcgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIHNocmwgICAgICAkNCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDI2ODQzNDY4NSwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMjE5MiglZWJ4KSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG11bHNkICAgICAyMjA4KCVlYngpLCAleG1tMworICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBmbGRsICAgICAgKCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIG1vdmwgICAgICAxMzIoJWVzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyMTQ2NDM1MDcyLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKyAgICAgICAgc3VibCAgICAgICQzMiwgJWVzcAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglZXNwKQorICAgICAgICBsZWEgICAgICAgNDAoJWVzcCksICVlYXgKKyAgICAgICAgbW92bCAgICAgICVlYXgsIDgoJWVzcCkKKyAgICAgICAgbW92bCAgICAgICQyLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAxMiglZXNwKQorICAgICAgICBjYWxsICAgICAgX19saWJtX3NpbmNvc19odWdlCisgICAgICAgIGFkZGwgICAgICAkMzIsICVlc3AKKyAgICAgICAgZmxkbCAgICAgIDE2KCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIGZsZGwgICAgICAxMjgoJWVzcCkKKyAgICAgICAgZm11bGwgICAgIDIyNDAoJWVieCkKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBtb3ZsICAgICAgNTYoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKHNpbikKKyMgLS0gRW5kICBzaW4KKworIyBTdGFydCBmaWxlIHNjb3BlIEFTTQorQUxJQVNfU1lNQk9MKHNpbmwsIHNpbik7CisjIEVuZCBmaWxlIHNjb3BlIEFTTQorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMzIxMjAzMjMwMgorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkxMDY5MDk0ODIyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTgxODk4NDgKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE4MTE1MDY3CisJLmxvbmcJMzIxNDEyNjM0MgorCS5sb25nCTEwMTM1NTY3NDcKKwkubG9uZwkxMDcwMTM1NDgwCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTMxNjA1NjcwNjUKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI0NzY1NDg2OTgKKwkubG9uZwkzMjE1MzMwMjgyCisJLmxvbmcJNzg1NzUxODE0CisJLmxvbmcJMTA3MDc2NTA2MgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkzMTYxODM4MjIxCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyMjU1MTk3NjQ3CisJLmxvbmcJMzIxNjIxMTEwNQorCS5sb25nCTI3OTY0NjQ0ODMKKwkubG9uZwkxMDcxMTUyNjEwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNjA4NzgzMTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE5NDU3Njg1NjkKKwkubG9uZwkzMjE2OTE1MDQ4CisJLmxvbmcJOTM5OTgwMzQ3CisJLmxvbmcJMTA3MTUyNDcwMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTI3OTY4MDkKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE1Mzk2NjgzNDAKKwkubG9uZwkzMjE3Mzk2MzI3CisJLmxvbmcJOTY3NzMxNDAwCisJLmxvbmcJMTA3MTc2MTIxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTU3NTIxNTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE0MDM3NTczMDkKKwkubG9uZwkzMjE3ODg2NzE4CisJLmxvbmcJNjIxMzU0NDU0CisJLmxvbmcJMTA3MTkyNjUxNQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTM0NTA2MDIKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI1ODM0OTAzNTQKKwkubG9uZwkxMDcwMjM2MjgxCisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTEwNzIwNzkwMDYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYzMjgyNzQwCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNDg1NDE3ODE2CisJLmxvbmcJMTA2OTYyNjMxNgorCS5sb25nCTE3OTY1NDQzMjEKKwkubG9uZwkxMDcyMjE3MjE2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MjY4Njk0NQorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTEwNjgyNjY0MTkKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkxMDcyMzM5ODE0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA0MzE1MzYKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkzMjE0NzU2Mzk2CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTEwNzI0NDU2MTgKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMzE2MTkwNzM3NworCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTMyMTY5MDIyNjEKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMTA3MjUzMzYxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQyNTc2MzgKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkxMDY3NzUzNTIxCisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTEwNzI2MDI5NDUKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxNTUwNTA3MworCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMjQwNzQwMzA5CisJLmxvbmcJMzIxNTcyNzkwMworCS5sb25nCTM0ODkwOTQ4MzIKKwkubG9uZwkxMDcyNjUyOTUxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNDMyNTc4MworCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMzIxNDY0NzY1MworCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkxMDcyNjgzMTQ5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTMxNjMwNjE3NTAKKwkubG9uZwkwCisJLmxvbmcJMTA2OTU0NzUyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMTA2NzE2NDAwNQorCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkxMDcyNjgzMTQ5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTMxNjMwNjE3NTAKKwkubG9uZwkwCisJLmxvbmcJMzIxNzAzMTE2OAorCS5sb25nCTI0MDc0MDMwOQorCS5sb25nCTEwNjgyNDQyNTUKKwkubG9uZwkzNDg5MDk0ODMyCisJLmxvbmcJMTA3MjY1Mjk1MQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQzMjU3ODMKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkzMjE1MjM3MTY5CisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTEwNzI2MDI5NDUKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxNTUwNTA3MworCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTEwNjk0MTg2MTMKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMTA3MjUzMzYxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQyNTc2MzgKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkxMDY3MjcyNzQ4CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTEwNzI0NDU2MTgKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMzE2MTkwNzM3NworCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTMyMTU3NTAwNjcKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkxMDcyMzM5ODE0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA0MzE1MzYKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTI0ODU0MTc4MTYKKwkubG9uZwkzMjE3MTA5OTY0CisJLmxvbmcJMTc5NjU0NDMyMQorCS5sb25nCTEwNzIyMTcyMTYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYyNjg2OTQ1CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMzIxNzcxOTkyOQorCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkxMDcyMDc5MDA2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MzI4Mjc0MAorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMTQwMzc1NzMwOQorCS5sb25nCTEwNzA0MDMwNzAKKwkubG9uZwk2MjEzNTQ0NTQKKwkubG9uZwkxMDcxOTI2NTE1CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxMzQ1MDYwMgorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTUzOTY2ODM0MAorCS5sb25nCTEwNjk5MTI2NzkKKwkubG9uZwk5Njc3MzE0MDAKKwkubG9uZwkxMDcxNzYxMjExCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTc1MjE1NworCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTk0NTc2ODU2OQorCS5sb25nCTEwNjk0MzE0MDAKKwkubG9uZwk5Mzk5ODAzNDcKKwkubG9uZwkxMDcxNTI0NzAxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxMjc5NjgwOQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMjI1NTE5NzY0NworCS5sb25nCTEwNjg3Mjc0NTcKKwkubG9uZwkyNzk2NDY0NDgzCisJLmxvbmcJMTA3MTE1MjYxMAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTYwODc4MzE3CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyNDc2NTQ4Njk4CisJLmxvbmcJMTA2Nzg0NjYzNAorCS5sb25nCTc4NTc1MTgxNAorCS5sb25nCTEwNzA3NjUwNjIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMzE2MTgzODIyMQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTgxMTUwNjcKKwkubG9uZwkxMDY2NjQyNjk0CisJLmxvbmcJMTAxMzU1Njc0NworCS5sb25nCTEwNzAxMzU0ODAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMzE2MDU2NzA2NQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMTA2NDU0ODY1NAorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkxMDY5MDk0ODIyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTgxODk4NDgKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMTA2NDU0ODY1NAorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkzMjE2NTc4NDcwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA3MDYyMDAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE4MTE1MDY3CisJLmxvbmcJMTA2NjY0MjY5NAorCS5sb25nCTEwMTM1NTY3NDcKKwkubG9uZwkzMjE3NjE5MTI4CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwMTMwODM0MTcKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTI0NzY1NDg2OTgKKwkubG9uZwkxMDY3ODQ2NjM0CisJLmxvbmcJNzg1NzUxODE0CisJLmxvbmcJMzIxODI0ODcxMAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDE0MzU0NTczCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyMjU1MTk3NjQ3CisJLmxvbmcJMTA2ODcyNzQ1NworCS5sb25nCTI3OTY0NjQ0ODMKKwkubG9uZwkzMjE4NjM2MjU4CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTMzOTQ2NjkKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE5NDU3Njg1NjkKKwkubG9uZwkxMDY5NDMxNDAwCisJLmxvbmcJOTM5OTgwMzQ3CisJLmxvbmcJMzIxOTAwODM0OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjAyODA0NTcKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE1Mzk2NjgzNDAKKwkubG9uZwkxMDY5OTEyNjc5CisJLmxvbmcJOTY3NzMxNDAwCisJLmxvbmcJMzIxOTI0NDg1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjMyMzU4MDUKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE0MDM3NTczMDkKKwkubG9uZwkxMDcwNDAzMDcwCisJLmxvbmcJNjIxMzU0NDU0CisJLmxvbmcJMzIxOTQxMDE2MworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjA5MzQyNTAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTI1ODM0OTAzNTQKKwkubG9uZwkzMjE3NzE5OTI5CisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTMyMTk1NjI2NTQKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1Nzk5MDkyCisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNDg1NDE3ODE2CisJLmxvbmcJMzIxNzEwOTk2NAorCS5sb25nCTE3OTY1NDQzMjEKKwkubG9uZwkzMjE5NzAwODY0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTIwMzI5NworCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTMyMTU3NTAwNjcKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkzMjE5ODIzNDYyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTc5MTUxODQKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkxMDY3MjcyNzQ4CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTMyMTk5MjkyNjYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTAxNDQyMzcyOQorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTEwNjk0MTg2MTMKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMzIyMDAxNzI1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE3NDEyODYKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkzMjE1MjM3MTY5CisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTMyMjAwODY1OTMKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE2Mjk4ODcyMQorCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMjQwNzQwMzA5CisJLmxvbmcJMTA2ODI0NDI1NQorCS5sb25nCTM0ODkwOTQ4MzIKKwkubG9uZwkzMjIwMTM2NTk5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MTgwOTQzMQorCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMTA2NzE2NDAwNQorCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkzMjIwMTY2Nzk3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwMTU1NzgxMDIKKwkubG9uZwkwCisJLmxvbmcJMzIxNzAzMTE2OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjU3NTAzMDU2CisJLmxvbmcJMzIxNDY0NzY1MworCS5sb25nCTI3NDgzOTI3NDIKKwkubG9uZwkzMjIwMTY2Nzk3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwMTU1NzgxMDIKKwkubG9uZwkwCisJLmxvbmcJMTA2OTU0NzUyMAorCS5sb25nCTI0MDc0MDMwOQorCS5sb25nCTMyMTU3Mjc5MDMKKwkubG9uZwkzNDg5MDk0ODMyCisJLmxvbmcJMzIyMDEzNjU5OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE4MDk0MzEKKwkubG9uZwkwCisJLmxvbmcJMTA3MDU5NjA5NgorCS5sb25nCTE5OTEwNDcyMTMKKwkubG9uZwkxMDY3NzUzNTIxCisJLmxvbmcJMTQ1NTgyODQ0MgorCS5sb25nCTMyMjAwODY1OTMKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE2Mjk4ODcyMQorCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMTY5OTA0Mzk1NworCS5sb25nCTMyMTY5MDIyNjEKKwkubG9uZwkzNDc2MTk2Njc4CisJLmxvbmcJMzIyMDAxNzI1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE3NDEyODYKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTIxNDAxODM2MzAKKwkubG9uZwkzMjE0NzU2Mzk2CisJLmxvbmcJNDA1MTc0NjIyNQorCS5sb25nCTMyMTk5MjkyNjYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTAxNDQyMzcyOQorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjU5ODgwMDUxOQorCS5sb25nCTEwNjgyNjY0MTkKKwkubG9uZwk2ODg4MjQ3MzkKKwkubG9uZwkzMjE5ODIzNDYyCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNTc5MTUxODQKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTI0ODU0MTc4MTYKKwkubG9uZwkxMDY5NjI2MzE2CisJLmxvbmcJMTc5NjU0NDMyMQorCS5sb25nCTMyMTk3MDA4NjQKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1MjAzMjk3CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMTA3MDIzNjI4MQorCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkzMjE5NTYyNjU0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTc5OTA5MgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMTQwMzc1NzMwOQorCS5sb25nCTMyMTc4ODY3MTgKKwkubG9uZwk2MjEzNTQ0NTQKKwkubG9uZwkzMjE5NDEwMTYzCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MDkzNDI1MAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTUzOTY2ODM0MAorCS5sb25nCTMyMTczOTYzMjcKKwkubG9uZwk5Njc3MzE0MDAKKwkubG9uZwkzMjE5MjQ0ODU5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MzIzNTgwNQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTk0NTc2ODU2OQorCS5sb25nCTMyMTY5MTUwNDgKKwkubG9uZwk5Mzk5ODAzNDcKKwkubG9uZwkzMjE5MDA4MzQ5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MDI4MDQ1NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjI1NTE5NzY0NworCS5sb25nCTMyMTYyMTExMDUKKwkubG9uZwkyNzk2NDY0NDgzCisJLmxvbmcJMzIxODYzNjI1OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEzMzk0NjY5CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyNDc2NTQ4Njk4CisJLmxvbmcJMzIxNTMzMDI4MgorCS5sb25nCTc4NTc1MTgxNAorCS5sb25nCTMyMTgyNDg3MTAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTAxNDM1NDU3MworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTgxMTUwNjcKKwkubG9uZwkzMjE0MTI2MzQyCisJLmxvbmcJMTAxMzU1Njc0NworCS5sb25nCTMyMTc2MTkxMjgKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTAxMzA4MzQxNworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMzkzMDQ3MzQ1CisJLmxvbmcJMzIxMjAzMjMwMgorCS5sb25nCTMxNTY4NDk3MDgKKwkubG9uZwkzMjE2NTc4NDcwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTA3MDYyMDAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkzMjE3MzgwNjkzCisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY1NDIzMTIxCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjc3OTk4OTMKKwkubG9uZwk0MzYzMTQxMzgKKwkubG9uZwkzMjA3MjAxMTg0CisJLmxvbmcJMzgxNzc0ODcxCisJLmxvbmcJMzIxMDEzMzg2OAorCS5sb25nCTI3NzM5Mjc3MzIKKwkubG9uZwkxMDUzMjM2NzA3CisJLmxvbmcJNDM2MzE0MTM4CisJLmxvbmcJMTA1NjU3MTgwOAorCS5sb25nCTQ0MjQ5OTA3MgorCS5sb25nCTEwMzI4OTM1MzcKKwkubG9uZwk0NDI0OTkwNzIKKwkubG9uZwkxMDMyODkzNTM3CisJLmxvbmcJMTQxMzQ4MDQ0OAorCS5sb25nCTEwNjkwOTc0NjcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTc3MTk3NzMzMQorCS5sb25nCTk5NjM1MDM0NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTg0MTk0MDYxMQorCS5sb25nCTEwNzYxMjU0ODgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTEzMDM2NDkyOAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwMTUwMjE1NjgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkxMDcyNjkzMjQ3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkudHlwZQlzdGF0aWNfY29uc3RfdGFibGUsQG9iamVjdAorCS5zaXplCXN0YXRpY19jb25zdF90YWJsZSwyMjg4CisJLmRhdGEKKwkuaGlkZGVuIF9fbGlibV9zaW5jb3NfaHVnZQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Ni9zX3Rhbi5TIGIvbGlibS94ODYvc190YW4uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWUyMTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvc190YW4uUwpAQCAtMCwwICsxLDE3NjYgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBQb2x5bm9taWFscyBjb2VmZmljaWVudHMgYW5kIG90aGVyIGNvbnN0YW50cy4KKy8vCisvLyBOb3RlIHRoYXQgaW4gdGhpcyBhbGdvcml0aG0sIHRoZXJlIGlzIGEgZGlmZmVyZW50IHBvbHlub21pYWwgZm9yCisvLyBlYWNoIGJyZWFrcG9pbnQsIHNvIHRoZXJlIGFyZSAzMiBzZXRzIG9mIHBvbHlub21pYWwgY29lZmZpY2llbnRzCisvLyBhcyB3ZWxsIGFzIDMyIGluc3RhbmNlcyBvZiB0aGUgb3RoZXIgY29uc3RhbnRzLgorLy8KKy8vIFRoZSBwb2x5bm9taWFsIGNvZWZmaWNpZW50cyBhbmQgY29uc3RhbnRzIGFyZSBvZmZzZXQgZnJvbSB0aGUgc3RhcnQKKy8vIG9mIHRoZSBtYWluIGJsb2NrIGFzIGZvbGxvd3M6CisvLworLy8gICAwOiAgYzggfCBjMAorLy8gIDE2OiAgYzkgfCBjMQorLy8gIDMyOiBjMTAgfCBjMgorLy8gIDQ4OiBjMTEgfCBjMworLy8gIDY0OiBjMTIgfCBjNAorLy8gIDgwOiBjMTMgfCBjNQorLy8gIDk2OiBjMTQgfCBjNgorLy8gMTEyOiBjMTUgfCBjNworLy8gMTI4OiBUX2hpCisvLyAxMzY6IFRfbG8KKy8vIDE0NDogU2lnbWEKKy8vIDE1MjogVF9obAorLy8gMTYwOiBUYXUKKy8vIDE2ODogTWFzaworLy8gMTc2OiAoZW5kIG9mIGJsb2NrKQorLy8KKy8vIFRoZSB0b3RhbCB0YWJsZSBzaXplIGlzIHRoZXJlZm9yZSA1NjMyIGJ5dGVzLgorLy8KKy8vIE5vdGUgdGhhdCBjMCBhbmQgYzEgYXJlIGFsd2F5cyB6ZXJvLiBXZSBjb3VsZCB0cnkgc3RvcmluZworLy8gb3RoZXIgY29uc3RhbnRzIGhlcmUsIGFuZCBqdXN0IGxvYWRpbmcgdGhlIGxvdyBwYXJ0IG9mIHRoZQorLy8gU0lNRCByZWdpc3RlciBpbiB0aGVzZSBjYXNlcywgYWZ0ZXIgZW5zdXJpbmcgdGhlIGhpZ2ggcGFydAorLy8gaXMgemVyby4KKy8vCisvLyBUaGUgaGlnaGVyIHRlcm1zIG9mIHRoZSBwb2x5bm9taWFsIGFyZSBjb21wdXRlZCBpbiB0aGUgKmxvdyoKKy8vIHBhcnQgb2YgdGhlIFNJTUQgcmVnaXN0ZXIuIFRoaXMgaXMgc28gd2UgY2FuIG92ZXJsYXAgdGhlCisvLyBtdWx0aXBsaWNhdGlvbiBieSByXjggYW5kIHRoZSB1bnBhY2tpbmcgb2YgdGhlIG90aGVyIHBhcnQuCisvLworLy8gVGhlIGNvbnN0YW50cyBhcmU6CisvLyBUX2hpICsgVF9sbyA9IGFjY3VyYXRlIGNvbnN0YW50IHRlcm0gaW4gcG93ZXIgc2VyaWVzCisvLyBTaWdtYSArIFRfaGwgPSBhY2N1cmF0ZSBjb2VmZmljaWVudCBvZiByIGluIHBvd2VyIHNlcmllcyAoU2lnbWE9MSBiaXQpCisvLyBUYXUgPSBtdWx0aXBsaWVyIGZvciB0aGUgcmVjaXByb2NhbCwgYWx3YXlzIC0xIG9yIDAKKy8vCisvLyBUaGUgYmFzaWMgcmVjb25zdHJ1Y3Rpb24gZm9ybXVsYSB1c2luZyB0aGVzZSBjb25zdGFudHMgaXM6CisvLworLy8gSGlnaCA9IHRhdSAqIHJlY2lwX2hpICsgdF9oaQorLy8gTWVkID0gKHNnbiAqIHIgKyB0X2hsICogcilfaGkKKy8vIExvdyA9IChzZ24gKiByICsgdF9obCAqIHIpX2xvICsKKy8vICAgICAgIHRhdSAqIHJlY2lwX2xvICsgVF9sbyArIChUX2hsICsgc2lnbWEpICogYyArIHBvbAorLy8KKy8vIHdoZXJlIHBvbCA9IGMwICsgYzEgKiByICsgYzIgKiByXjIgKyAuLi4gKyBjMTUgKiByXjE1CisvLworLy8gKGMwID0gYzEgPSAwLCBidXQgdXNpbmcgdGhlbSBrZWVwcyBTSU1EIHJlZ3VsYXJpdHkpCisvLworLy8gV2UgdGhlbiBkbyBhIGNvbXBlbnNhdGVkIHN1bSBIaWdoICsgTWVkLCBhZGQgdGhlIGxvdyBwYXJ0cyB0b2dldGhlcgorLy8gYW5kIHRoZW4gZG8gdGhlIGZpbmFsIHN1bS4KKy8vCisvLyBIZXJlIHJlY2lwX2hpICsgcmVjaXBfbG8gaXMgYW4gYWNjdXJhdGUgcmVjaXByb2NhbCBvZiB0aGUgcmVtYWluZGVyCisvLyBtb2R1bG8gcGkvMgorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgdGFuKE5hTikgPSBxdWlldCBOYU4sIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIHRhbihJTkYpID0gTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIHRhbigrLy0wKSA9ICsvLTAKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBzdGF0aWNfZnVuYworICAgICAgICAudGV4dAorICAgICAgICAuYWxpZ24gX19iaW9uaWNfYXNtX2FsaWduCisgICAgICAgIC50eXBlIHN0YXRpY19mdW5jLCBAZnVuY3Rpb24KK3N0YXRpY19mdW5jOgorLi5CMS4xOgorICAgICAgICBjYWxsICAgICAgLi5MMgorLi5MMjoKKyAgICAgICAgcG9wbCAgICAgICVlYXgKKyAgICAgICAgbGVhICAgICAgIF9HTE9CQUxfT0ZGU0VUX1RBQkxFXytbLiAtIC4uTDJdKCVlYXgpLCAlZWF4CisgICAgICAgIGxlYSAgICAgICBzdGF0aWNfY29uc3RfdGFibGVAR09UT0ZGKCVlYXgpLCAlZWF4CisgICAgICAgIHJldAorICAgICAgICAuc2l6ZSAgIHN0YXRpY19mdW5jLC4tc3RhdGljX2Z1bmMKKyMgLS0gRW5kICBzdGF0aWNfZnVuYworCisjIC0tIEJlZ2luICB0YW4KK0VOVFJZKHRhbikKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTIwLCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA1NiglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDEyOCglZXNwKSwgJXhtbTAKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTQzNjgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyMjE2LCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBtb3ZhcGQgICAgNTg0MCglZWJ4KSwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgIDU4NTYoJWVieCksICV4bW02CisgICAgICAgIHVucGNrbHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDU3MTIoJWVieCksICV4bW00CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgbW92YXBkICAgIDU2MzIoJWVieCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgb3JwZCAgICAgICV4bW00LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgdW5wY2tocGQgICV4bW03LCAleG1tNworICAgICAgICBjdnR0c2Qyc2kgJXhtbTcsICVlZHgKKyAgICAgICAgY3Z0dHBkMmRxICV4bW0xLCAleG1tMQorICAgICAgICBjdnRkcTJwZCAgJXhtbTEsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIDU2NjQoJWVieCksICV4bW0zCisgICAgICAgIG1vdnNkICAgICA1NzI4KCVlYngpLCAleG1tNQorICAgICAgICBhZGRsICAgICAgJDQ2OTI0OCwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgNTY4MCglZWJ4KSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMworICAgICAgICBhbmRsICAgICAgJDMxLCAlZWR4CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzaGxsICAgICAgJDEsICVlY3gKKyAgICAgICAgc3VicGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgNTY5NiglZWJ4KSwgJXhtbTEKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgc2hsbCAgICAgICQyLCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMgorICAgICAgICBzdWJwZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIG1vdnNkICAgICA1NzQ0KCVlYngpLCAleG1tNgorICAgICAgICBzaGxsICAgICAgJDQsICVlZHgKKyAgICAgICAgbGVhICAgICAgICglZWJ4KSwgJWVheAorICAgICAgICBhbmRwZCAgICAgNTc3NiglZWJ4KSwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMworICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVheAorICAgICAgICBzdWJwZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIHVucGNraHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgZGl2c2QgICAgICV4bW01LCAleG1tNgorICAgICAgICBzdWJwZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAxNiglZWF4KSwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW03CisgICAgICAgIHN1YnBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDQ4KCVlYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICA5NiglZWF4KSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgKCVlYXgpLCAleG1tNworICAgICAgICBhZGRwZCAgICAgMzIoJWVheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgIDgwKCVlYXgpLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAxMTIoJWVheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA2NCglZWF4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHBkICAgICAxNDQoJWVheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICB1bnBja2hwZCAgJXhtbTcsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgdW5wY2tocGQgICV4bW0xLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW00CisgICAgICAgIG1vdnNkICAgICAxNDQoJWVheCksICV4bW03CisgICAgICAgIHVucGNraHBkICAleG1tMiwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgIDE1MiglZWF4KSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRzZCAgICAgMTM2KCVlYXgpLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDU3NDQoJWVieCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDE2OCglZWF4KSwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIG11bHNkICAgICAxNjAoJWVheCksICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgIDEyOCglZWF4KSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgZmxkbCAgICAgICglZXNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorICAgICAgICBqZyAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgc2hybCAgICAgICQ0LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMjY4NDM0NTU4LCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG11bHNkICAgICA1ODA4KCVlYngpLCAleG1tMworLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIG1vdnNkICAgICA1NzkyKCVlYngpLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgIDU4MDgoJWVieCksICV4bW0zCisgICAgICAgIG1vdnNkICAgICAleG1tMywgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92cSAgICAgIDU3MTIoJWVieCksICV4bW03CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tNworICAgICAgICB1Y29taXNkICAgNTc2MCglZWJ4KSwgJXhtbTcKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIHN1YmwgICAgICAkMzIsICVlc3AKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJWVzcCkKKyAgICAgICAgbGVhICAgICAgIDQwKCVlc3ApLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCA4KCVlc3ApCisgICAgICAgIG1vdmwgICAgICAkMiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVheCwgMTIoJWVzcCkKKyAgICAgICAgY2FsbCAgICAgIF9fbGlibV90YW5jb3RfaHVnZQorICAgICAgICBhZGRsICAgICAgJDMyLCAlZXNwCisgICAgICAgIGZsZGwgICAgICA4KCVlc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgKCVlc3ApCisgICAgICAgIGZsZGwgICAgICAoJWVzcCkKKyAgICAgICAgZnN1YmwgICAgICglZXNwKQorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIG1vdmwgICAgICA1NiglZXNwKSwgJWVieAorICAgICAgICBtb3ZsICAgICAgJWVicCwgJWVzcAorICAgICAgICBwb3BsICAgICAgJWVicAorICAgICAgICByZXQgICAgICAgCisuLkIyLjM6CitFTkQodGFuKQorIyAtLSBFbmQgIHRhbgorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0wodGFubCwgdGFuKTsKKyMgRW5kIGZpbGUgc2NvcGUgQVNNCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitzdGF0aWNfY29uc3RfdGFibGU6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyODQ1ODkzMDYKKwkubG9uZwkxMDY2ODIwODUyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTQ0MTE4NjM2NQorCS5sb25nCTEwNjU0OTQyNDMKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3MDk0NTYyMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMzYyODk1MDQKKwkubG9uZwkxMDY0MTM1OTk3CisJLmxvbmcJMjg2MzMxMTUzCisJLmxvbmcJMTA2OTYxNzQyNQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTYwNDc2MTMxCisJLmxvbmcJMTA2MjcyMjEwMgorCS5sb25nCTQ2MzU4Mzc3MgorCS5sb25nCTEwNjgyMTI2NjYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMzEzMDM4MjM1CisJLmxvbmcJMTA2Njc0NTczMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTAxMzg3ODM0MgorCS5sb25nCTEwNjcxNTI2MTgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM2NjM0MjY4MzMKKwkubG9uZwkxMDY1NzI1MjgzCisJLmxvbmcJMzY5MzI4NDI1MQorCS5sb25nCTEwNjkxMTg4MDgKKwkubG9uZwk2NTA4NTIyMzIKKwkubG9uZwkxMDY1ODgyMzc2CisJLmxvbmcJMTk5NjI0NTM4MQorCS5sb25nCTEwNzEwMDAyNjUKKwkubG9uZwkyMDA4NzQ2MTcwCisJLmxvbmcJMTA2NDY2NDE5NworCS5sb25nCTMwNTU4NDI1OTMKKwkubG9uZwkxMDY4NTc4ODQ2CisJLmxvbmcJMTQ5NTQwNjM0OAorCS5sb25nCTEwNjQ2NTI0MzcKKwkubG9uZwkyMjY5NTMwMTU3CisJLmxvbmcJMTA2OTcxMTIzNQorCS5sb25nCTI4NTU2MzY5NgorCS5sb25nCTEwNjM1NzY0NjUKKwkubG9uZwkxMDQ2ODk3NDQwCisJLmxvbmcJMTA2NzcwNTg2NQorCS5sb25nCTIzMzQyOTczMQorCS5sb25nCTEwNjM0NTMxNTEKKwkubG9uZwk1MjIwNDU5NTgKKwkubG9uZwkxMDY4NDc2NTkwCisJLmxvbmcJMjM1NDc4NTY5OAorCS5sb25nCTEwNjkxMDI3NzkKKwkubG9uZwkxMzE3NTk5MTQxCisJLmxvbmcJMTAxMjQzMjEzMworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjgyODIzMDEwNQorCS5sb25nCTEwNjU2MDY2MjYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTUxMjU0NTk1NQorCS5sb25nCTEwNjgxMTkwNDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExMjcwNDg2OTgKKwkubG9uZwkxMDY3OTA5NDU5CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMzAwMjAwNDUwCisJLmxvbmcJMTA2NzI1NDc2NworCS5sb25nCTM1OTMyNTAyOTYKKwkubG9uZwkxMDcwMjMzNTYxCisJLmxvbmcJMzAwOTM2NTU0NAorCS5sb25nCTEwNjY5MDIxMTcKKwkubG9uZwkxMTI3MzczMDUwCisJLmxvbmcJMTA3MTE3MzQ1NworCS5sb25nCTMwNDYxMDMzMDUKKwkubG9uZwkxMDY2MzcxMjk5CisJLmxvbmcJMjQ1ODM0MDIKKwkubG9uZwkxMDY5NzIzOTg4CisJLmxvbmcJNDA4MjUxMTc1OAorCS5sb25nCTEwNjU5MTQxOTkKKwkubG9uZwkzMjIzODg5Njk5CisJLmxvbmcJMTA3MDAyMDM2NworCS5sb25nCTU0ODkyNzk4NAorCS5sb25nCTEwNjU0MTU3NTYKKwkubG9uZwk1NTgwNjU4OTcKKwkubG9uZwkxMDY4OTQ5NDE4CisJLmxvbmcJNjgwMDczMzE1CisJLmxvbmcJMTA2NDk0MDcyNgorCS5sb25nCTM4ODg3MzIwMAorCS5sb25nCTEwNjg5NDQyNzAKKwkubG9uZwkzNzYzNjc5NTc2CisJLmxvbmcJMTA3MDE2NzU0MQorCS5sb25nCTE0OTczNjA0MDQKKwkubG9uZwkxMDA5NzEwNTQ3CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwk2NDkzMTE1MgorCS5sb25nCTEwNjc3Mjk0MTEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjQ2NzU4Mjc4MgorCS5sb25nCTEwNjkyNTYzODkKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE2MjE1MDA5NgorCS5sb25nCTEwNjg5NDY0MjAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM3MDI3OTQyMzcKKwkubG9uZwkxMDY4NTc5MTUyCisJLmxvbmcJMzYzMTkxOTI5MQorCS5sb25nCTEwNzA5MzY5MjYKKwkubG9uZwkzNDU2ODIxNDEzCisJLmxvbmcJMTA2ODIxNzIxOAorCS5sb25nCTIwMzEzNjY0MzgKKwkubG9uZwkxMDcxNDk1NzQ1CisJLmxvbmcJMTU5NjY2NDAyMAorCS5sb25nCTEwNjc3OTkyODEKKwkubG9uZwkxNTA5MDM4NzAxCisJLmxvbmcJMTA3MDYwMTY0MworCS5sb25nCTU4MzE3MTQ3NworCS5sb25nCTEwNjc1MTAxNDgKKwkubG9uZwkzNzg1MzQ0NjgyCisJLmxvbmcJMTA3MDYxODQ3NgorCS5sb25nCTI0MDIwMzYwNDgKKwkubG9uZwkxMDY3MDc1NzM2CisJLmxvbmcJMzIzMzAxODQxMgorCS5sb25nCTEwNjk5MTMxODYKKwkubG9uZwk0MTEyODA1NjgKKwkubG9uZwkxMDY2NzEwNTU2CisJLmxvbmcJMTA2NTU4NDE5MgorCS5sb25nCTEwNjk3NDc4OTYKKwkubG9uZwk4OTUyNDczMjQKKwkubG9uZwkxMDcwODE5ODQ4CisJLmxvbmcJNTAwMDc4OTA5CisJLmxvbmcJMzE2MTI4ODc4MQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJNzI5OTgzODQzCisJLmxvbmcJMTA2ODk5NDE5NAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNDU4Nzk0NTYyCisJLmxvbmcJMTA3MDM5ODU1MAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjg1Nzc3NzQ4OQorCS5sb25nCTEwNzAxMzc2MzcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwMjQzNTk1MTcKKwkubG9uZwkxMDY5ODc2NTMxCisJLmxvbmcJMjYxNjA0MDIzOAorCS5sb25nCTEwNzE1ODI5MzcKKwkubG9uZwkxNjA5MDI0NjM2CisJLmxvbmcJMTA2OTY3NTA4OAorCS5sb25nCTI1MjkyNDA1NDkKKwkubG9uZwkxMDcxODM2NjMzCisJLmxvbmcJMTUxMDEyODYwMAorCS5sb25nCTEwNjk0NDAxMTMKKwkubG9uZwkyMjUxNjk3MTg0CisJLmxvbmcJMTA3MTI1MzY4NworCS5sb25nCTEyNjI3NjE0NTMKKwkubG9uZwkxMDY5MTQyODUwCisJLmxvbmcJMTI2MzA5MTg1NworCS5sb25nCTEwNzExOTA0NjEKKwkubG9uZwkzMDQzMzgzNDg2CisJLmxvbmcJMTA2ODg4NTE5MQorCS5sb25nCTI0NzY5MzI0NzAKKwkubG9uZwkxMDcwODQyMDAyCisJLmxvbmcJMzY1OTk5NTAyOAorCS5sb25nCTEwNjg2NjkyMDAKKwkubG9uZwk4NTU4OTE3NTUKKwkubG9uZwkxMDcwNjk2ODk0CisJLmxvbmcJMjU4MzQ5MDM1NAorCS5sb25nCTEwNzEyODQ4NTcKKwkubG9uZwkzMDYyNjMzNTc1CisJLmxvbmcJMTAxNDAwODYyMworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjU1MDk0MDQ3MQorCS5sb25nCTEwNjk5MzgyMDEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzQyMjgwNzI5NworCS5sb25nCTEwNzE2NDA4NDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExNTE2NTgwNTMKKwkubG9uZwkxMDcxNDk0NzE1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk5Mjk2MDcwNzEKKwkubG9uZwkxMDcxMzQ2MzQwCisJLmxvbmcJMTAzNzA0OTAzNAorCS5sb25nCTEwNzIwMzczMDUKKwkubG9uZwkyNzg2OTI4NjU3CisJLmxvbmcJMTA3MTIxNTI4MgorCS5sb25nCTE0NDc0MDY4NTkKKwkubG9uZwkxMDcyMjY1MjA5CisJLmxvbmcJMzQ5MDk1MjEwNworCS5sb25nCTEwNzEwOTA4NTEKKwkubG9uZwkzMjA1MjMyOTE2CisJLmxvbmcJMTA3MTk2ODY1OAorCS5sb25nCTEyOTczNDQzMDQKKwkubG9uZwkxMDcwOTc3MTIwCisJLmxvbmcJMTA2NjExMDk3NgorCS5sb25nCTEwNzE5NDYwMzUKKwkubG9uZwkzODAzNzIxNDgwCisJLmxvbmcJMTA3MDg3MTA4MgorCS5sb25nCTE0OTY3NTQyMjkKKwkubG9uZwkxMDcxODA3MjAxCisJLmxvbmcJMjk4MjU1MDY4MworCS5sb25nCTEwNzA3NzMyNDMKKwkubG9uZwk0MDE0NDQxOTg5CisJLmxvbmcJMTA3MTczNjIyMgorCS5sb25nCTQxOTk2ODIzNgorCS5sb25nCTEwNzE3MTcwNDcKKwkubG9uZwkzNDUxMjY2NTM4CisJLmxvbmcJMzE2MzQ0NDgxMQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjk2MDI2NzIzNQorCS5sb25nCTEwNzA3NDU4NDEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNzI0MzIyNzY4CisJLmxvbmcJMTA3Mjg4MTMwOAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNjQzMTUzMDQ4CisJLmxvbmcJMTA3MjkwNTgxNgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDI4NTA3OTQ1OAorCS5sb25nCTEwNzI5Mjg1NTgKKwkubG9uZwkzOTEyNTI0NzMzCisJLmxvbmcJMTA3MjYyMjk4MworCS5sb25nCTExODM2MjI3MgorCS5sb25nCTEwNzI5NTI3NTQKKwkubG9uZwk0MTA3NzY3OTcyCisJLmxvbmcJMTA3MjgyNzQwOAorCS5sb25nCTI2ODk1MDI4ODMKKwkubG9uZwkxMDcyOTc2OTIyCisJLmxvbmcJOTQ2NTIzMzQ3CisJLmxvbmcJMTA3Mjc3Mjc2NgorCS5sb25nCTU3MzIwNDE4OQorCS5sb25nCTEwNzMwMDE3NjEKKwkubG9uZwk1ODE1MzE1MTgKKwkubG9uZwkxMDcyODI2MzkxCisJLmxvbmcJMTM4NjIzNjUyNgorCS5sb25nCTEwNzMwMjY5NTkKKwkubG9uZwkzNzE4OTA1OTA1CisJLmxvbmcJMTA3MjgzMjgyMworCS5sb25nCTExNDU1NTgxNDAKKwkubG9uZwkxMDczMDUyNjczCisJLmxvbmcJNTEzNTcyNjM3CisJLmxvbmcJMTA3Mjg2MTk2OQorCS5sb25nCTcxNjcwMDA0OAorCS5sb25nCTEwNzE5OTczNjgKKwkubG9uZwk1NDcxMjY3NjkKKwkubG9uZwkxMDE1NTIzNTI1CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxMDk3OTA3Mzk4CisJLmxvbmcJMTA3MTQyMDEyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMzQ5ODkyNDQyCisJLmxvbmcJMTA3NDI5MDIxMgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzkxMzE5NzQwNQorCS5sb25nCTEwNzQ1MDExODEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI0OTQwMzQ1MjIKKwkubG9uZwkxMDc0NzM5MTcwCisJLmxvbmcJMTI2NDczODc2MworCS5sb25nCTEwNzMwODQ4MDQKKwkubG9uZwkxNTIwMjkzOTA2CisJLmxvbmcJMTA3NDg5OTYzMgorCS5sb25nCTE5NTg5MzY2MDAKKwkubG9uZwkxMDczNDExNDkzCisJLmxvbmcJMjEzMzY0OTYzNQorCS5sb25nCTEwNzUwNTIxNzEKKwkubG9uZwk0MjcwNzQwNzMwCisJLmxvbmcJMTA3MzU3NDcwOAorCS5sb25nCTE3Mjg5MzAxODkKKwkubG9uZwkxMDc1MjI0ODQ0CisJLmxvbmcJMTMwMzk5ODU1MgorCS5sb25nCTEwNzM3OTkxODYKKwkubG9uZwk2MTg2MTE5MzMKKwkubG9uZwkxMDc1NDIwMjU1CisJLmxvbmcJMTc2OTgyODA0NgorCS5sb25nCTEwNzM5Mzg1NDIKKwkubG9uZwkyMjAwNTM3OTg2CisJLmxvbmcJMTA3NTY0MTQyMQorCS5sb25nCTQzMzM2MTExMAorCS5sb25nCTEwNzQxMDUzNjkKKwkubG9uZwk3MTk1OTU2MDAKKwkubG9uZwkxMDcyMzE3MTg0CisJLmxvbmcJMjk0NTI3MjA2CisJLmxvbmcJMzE2MjE0MDA4OAorCS5sb25nCTAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMzgxMTc4ODIxNgorCS5sb25nCTMyMTg0MDA1NTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTcwNDM1MjEwMgorCS5sb25nCTEwNzU5NDMwMDEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyODQ1ODkzMDYKKwkubG9uZwkxMDc2MjU4MDM2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMjExMjY0MjkxCisJLmxvbmcJMTA3NjY1OTAxMAorCS5sb25nCTAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTQ0MTE4NjM2NQorCS5sb25nCTEwNzcwMjg1NzkKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3NDA5MTM0OQorCS5sb25nCTg3Njk0MzY3MworCS5sb25nCTEwNzczNTM2MjIKKwkubG9uZwkyODYzMzExNTMxCisJLmxvbmcJMTA3NDQ0MDg3NAorCS5sb25nCTIzNjI4OTUwNAorCS5sb25nCTEwNzc3Njc0ODUKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDc0ODYwMzA1CisJLmxvbmcJMjgwNTQ3MzMxMQorCS5sb25nCTEwNzgxMTUyNzgKKwkubG9uZwk5NTQ0MzcxOAorCS5sb25nCTEwNzUxNjMyMjcKKwkubG9uZwkxMTYwNDc2MTMxCisJLmxvbmcJMTA3ODQ1MDc0MgorCS5sb25nCTQ2MzU4Mzc3MgorCS5sb25nCTEwNzU1NTI2OTgKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMzMwMTY1OTcxCisJLmxvbmcJMzIwNzg1MDc0NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjE3NTM2NjIzCisJLmxvbmcJMTA1OTEwOTA5OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzQ5MjEyMDg0OQorCS5sb25nCTMyMDUxNTE0NzUKKwkubG9uZwk2MDIxODU3MDUKKwkubG9uZwkzMjE1Njc4MDkyCisJLmxvbmcJNzYwNDIyOTU4CisJLmxvbmcJMTA1NjMxMjU5NworCS5sb25nCTU1NTEyNzg4OQorCS5sb25nCTEwNjc1NDUyNjYKKwkubG9uZwkzMTM5Nzg0MTI0CisJLmxvbmcJMzIwMjQ3MDgzNworCS5sb25nCTM2OTA1NDQwMTQKKwkubG9uZwkzMjEzMTUwMTcxCisJLmxvbmcJOTU3MDc5MTUKKwkubG9uZwkxMDUzNjM1NDI4CisJLmxvbmcJNDAwMzExNDQwNworCS5sb25nCTEwNjQ1ODE0MTIKKwkubG9uZwkyMDM0OTI2MjMxCisJLmxvbmcJMzE5OTcxMTE2MQorCS5sb25nCTM3NTk1MzYwMjMKKwkubG9uZwkzMjEwNTU5OTg5CisJLmxvbmcJMzgyNjkyODIxNAorCS5sb25nCTEwNTA4OTM4MTkKKwkubG9uZwkzODM3OTYwNzg1CisJLmxvbmcJMTA2MTc5MDM3OQorCS5sb25nCTE1MjYzMjUyNDgKKwkubG9uZwkzMjE3OTY3NTY2CisJLmxvbmcJMjM1NjQyNjUyMQorCS5sb25nCTEwMjU0MjM0NTYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQ1NzcyODk3NQorCS5sb25nCTEwNzEwODgyNzYKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMTM5ODQ2MjYwOAorCS5sb25nCTMyMDczMDM5NjgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI2MjA1OTgzCisJLmxvbmcJMTA1ODQ2MTIxMworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNTYyMjYyMzgKKwkubG9uZwkzMjA0NTI4NjEyCisJLmxvbmcJMjc1NDcwNjU0MQorCS5sb25nCTMyMTUzNTk1MTEKKwkubG9uZwkyMTg3Nzk5ODIzCisJLmxvbmcJMTA1NTYzNDQzNworCS5sb25nCTc5MDMyMzc0MgorCS5sb25nCTEwNjc0MDI1ODcKKwkubG9uZwkxMzcyMzg1ODQ4CisJLmxvbmcJMzIwMTY1MTQ3OQorCS5sb25nCTQwOTcyOTI3MTYKKwkubG9uZwkzMjEyODU2MzAyCisJLmxvbmcJMzM0ODIxMDM1NworCS5sb25nCTEwNTI4MzAwOTkKKwkubG9uZwkyNDQyNzk2NDY2CisJLmxvbmcJMTA2NDMzNzYwMgorCS5sb25nCTg2MjYwODE0MgorCS5sb25nCTMxOTg4MzA3NTQKKwkubG9uZwkxNzAyOTYxNTIKKwkubG9uZwkzMjEwMDYwODY3CisJLmxvbmcJMzc1NTU3MTQyOAorCS5sb25nCTEwNDk5MzMzNDMKKwkubG9uZwkzNjE0ODY2MDA4CisJLmxvbmcJMTA2MTM2MTY3MAorCS5sb25nCTcxOTk3ODQ5NgorCS5sb25nCTMyMTc2NjkwOTYKKwkubG9uZwkxOTk4ODQyNDY1CisJLmxvbmcJMzE3NDcwMzk3NworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzc0OTE1NjYwNworCS5sb25nCTEwNzEwNDgyNTgKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMzEyMDQ5ODYzOAorCS5sb25nCTMyMDY3NDkzMDQKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI3NzM1NzgxMTQKKwkubG9uZwkxMDU4MDA5MzEyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMDMwNzgzNjc2CisJLmxvbmcJMzIwMzgxNzg3MworCS5sb25nCTIyMjM2NTQ1OTgKKwkubG9uZwkzMjE1MDcxOTM2CisJLmxvbmcJMjk3NjEzNDY1MAorCS5sb25nCTEwNTQ5ODcyNDQKKwkubG9uZwk3MDYzOTAwNjYKKwkubG9uZwkxMDY3MjE3Mzg2CisJLmxvbmcJNDI1ODQzNzYxNQorCS5sb25nCTMyMDA5MDAzNzgKKwkubG9uZwkxMDY2MjUyOTc1CisJLmxvbmcJMzIxMjM5MTI2NworCS5sb25nCTgxNTc3NzUxNAorCS5sb25nCTEwNTE5ODk0NjIKKwkubG9uZwkzMjAyNzQ1NDU3CisJLmxvbmcJMTA2NDAxMDY4MgorCS5sb25nCTI0OTM1NTYzNzUKKwkubG9uZwkzMTk4MDA0NzUzCisJLmxvbmcJMTA0NjI0MzI1MQorCS5sb25nCTMyMDk2Nzg5NzEKKwkubG9uZwkyNTkzMDc4ODQ2CisJLmxvbmcJMTA0OTAxNzcxNworCS5sb25nCTI3NjM5NjIyNzYKKwkubG9uZwkxMDYwOTcwMTYxCisJLmxvbmcJNzAxNDgwOTYwCisJLmxvbmcJMzIxNzM3Nzc0MgorCS5sb25nCTMyMDU4NjIyMzIKKwkubG9uZwkzMTc0NjYwOTE1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMjY3MDE2ODEyCisJLmxvbmcJMTA3MTAxNTY2NAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkyMTA3MTU1Nzk4CisJLmxvbmcJMzIwNjE2Njg3MgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjY0Mjk5MjEyOQorCS5sb25nCTEwNTc0MjQ1NzgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE5MzY5OTI4MTEKKwkubG9uZwkzMjAzMjA0NDI2CisJLmxvbmcJMTQ4NTA2MzU1OQorCS5sb25nCTMyMTQ2ODI2NDMKKwkubG9uZwkxNDMyOTE0NTUzCisJLmxvbmcJMTA1NDMxOTM5OAorCS5sb25nCTM5OTYzODE2NTQKKwkubG9uZwkxMDY3MDc1ODI4CisJLmxvbmcJMjgzMzAyOTI1NgorCS5sb25nCTMyMDAyMjM1NDUKKwkubG9uZwkyODY2MDY2ODcyCisJLmxvbmcJMzIxMTk4MjY2MgorCS5sb25nCTI0MzI4ODg3MzcKKwkubG9uZwkxMDUxMjM0MTc4CisJLmxvbmcJMzY2OTc2NDU1OQorCS5sb25nCTEwNjM3NDgxMzYKKwkubG9uZwkyNDU4NDk2OTUyCisJLmxvbmcJMzE5NzE3MDc3NAorCS5sb25nCTE5NDgyMzQ5ODkKKwkubG9uZwkzMjA5MDk4MTQ3CisJLmxvbmcJMjg0MzY5ODc4NworCS5sb25nCTEwNDgxNjM1MTkKKwkubG9uZwkzMzk4MDQxNDA3CisJLmxvbmcJMTA2MDU1OTcyOAorCS5sb25nCTI4MjkyMzAwODAKKwkubG9uZwkzMjE3MDkyMTE1CisJLmxvbmcJMTAzNDA0NjQzMworCS5sb25nCTMxNzQyNzE5MDMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI5ODY3NTMwNQorCS5sb25nCTEwNzA5ODk4MjEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJNDM3NjAzMjIzCisJLmxvbmcJMzIwNTU4OTc2MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNzU5MzMwMzUyCisJLmxvbmcJMTA1NzA0ODUxMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzEwNzQ2MzM2OAorCS5sb25nCTMyMDI1MDc5ODgKKwkubG9uZwkzMTQ0NDY1MTc2CisJLmxvbmcJMzIxNDE5MTUwMAorCS5sb25nCTIyOTA5NjE4MTAKKwkubG9uZwkxMDUzODQxMDM1CisJLmxvbmcJMTYxODE1MzM0MAorCS5sb25nCTEwNjY5NzE1NDcKKwkubG9uZwkzODM2ODY5MzkzCisJLmxvbmcJMzE5OTQwMDI3MgorCS5sb25nCTU4NDAzMjExNgorCS5sb25nCTMyMTE0NjkyNjEKKwkubG9uZwkxMjQ1NzA0MzU4CisJLmxvbmcJMTA1MDYyNjQ2MgorCS5sb25nCTQyNDc0ODc0MzgKKwkubG9uZwkxMDYzNTYxOTQzCisJLmxvbmcJMTY2OTAzNDkyNworCS5sb25nCTMxOTYyNzQ4MTIKKwkubG9uZwkzODQ0MjMzNDk4CisJLmxvbmcJMzIwODYyNjMyMgorCS5sb25nCTI3MDY5NTg1MjQKKwkubG9uZwkxMDQ3NDExMzc0CisJLmxvbmcJMzg1NzE5OTA5OAorCS5sb25nCTEwNjAyODE2NDcKKwkubG9uZwkzNTkzOTA0MTI4CisJLmxvbmcJMzIxNjU5MDcxOQorCS5sb25nCTMyNjc1NDc4MzYKKwkubG9uZwkzMTcyMTYzMzIxCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0MDc2NzEyMjI3CisJLmxvbmcJMTA3MDk3MDIxNAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkzMjkwMDkwMzQwCisJLmxvbmcJMzIwNDc5MzQ4NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzY4NTc2MDM2NworCS5sb25nCTEwNTY2NjgzNzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI2NTUxNjM5NDkKKwkubG9uZwkzMjAxNjc0OTE3CisJLmxvbmcJNjI4NzUwNTc1CisJLmxvbmcJMzIxMzU2Njg3MgorCS5sb25nCTY4MDE0MDUwNQorCS5sb25nCTEwNTMyOTk3NzcKKwkubG9uZwkyOTU0NDY0NzA5CisJLmxvbmcJMTA2NjkwMDAyNgorCS5sb25nCTgwMzIwMTYxOQorCS5sb25nCTMxOTg1MTY0MzUKKwkubG9uZwkxNDY2MzE1NjMxCisJLmxvbmcJMzIxMDgzNzE2MgorCS5sb25nCTE2MTEyMjAxNjMKKwkubG9uZwkxMDQ5OTcyNDM4CisJLmxvbmcJMjc2NjE4NzI1NgorCS5sb25nCTEwNjM0Mzc4OTQKKwkubG9uZwkxODA0NTc5NDg0CisJLmxvbmcJMzE5NTMzMTQ5MQorCS5sb25nCTM2OTU5NjkyODkKKwkubG9uZwkzMjA3ODU0NDE4CisJLmxvbmcJMjYxNzIzODM3MworCS5sb25nCTEwNDY2NzU5NDgKKwkubG9uZwkzMDk1ODMwMDg0CisJLmxvbmcJMTA2MDA5NTMzNAorCS5sb25nCTM3ODk1NzAwNDgKKwkubG9uZwkzMjE2MDM0OTE0CisJLmxvbmcJMjM4MjY1NTkKKwkubG9uZwkzMTcyMDQ4MDYwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzODcwOTM5Mzg2CisJLmxvbmcJMTA3MDk1NjQ2NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkxNTcxNzU4NzU4CisJLmxvbmcJMzIwMzY3MjUzNQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTEzMDI2MzczCisJLmxvbmcJMTA1NjQxNjM4MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTkxMzc2NjI5OAorCS5sb25nCTMyMDA1MjMzMjYKKwkubG9uZwkyNTA3MDY4NzM0CisJLmxvbmcJMzIxMjUwMjAwNAorCS5sb25nCTQwMDA2NDg4MTgKKwkubG9uZwkxMDUzMDAzODAzCisJLmxvbmcJMjQ0NjYwNzM0OQorCS5sb25nCTEwNjY4NTgyNTkKKwkubG9uZwk5MTI2NjIxMjQKKwkubG9uZwkzMTk3MzMzMDAxCisJLmxvbmcJMTM0OTQ4OTUzNworCS5sb25nCTMyMDk3NjU2MDgKKwkubG9uZwkzNDEyOTcyNjA3CisJLmxvbmcJMTA0OTY0MTQwMQorCS5sb25nCTE3MjEyODMzMjcKKwkubG9uZwkxMDYzMzY2ODU1CisJLmxvbmcJMTQ2NjY5MTg4MworCS5sb25nCTMxOTQxMTY3NDYKKwkubG9uZwkzODUyNTI4MDkyCisJLmxvbmcJMzIwNjc2MDg2MQorCS5sb25nCTI4NTQ0MzI5MworCS5sb25nCTEwNDYxNTgzODAKKwkubG9uZwkxNzU4NzM5ODk0CisJLmxvbmcJMTA1OTg5NTQ0OQorCS5sb25nCTE4NTg3ODExODQKKwkubG9uZwkzMjE0OTg0MjEyCisJLmxvbmcJMzQ0NzU3NTk0OAorCS5sb25nCTEwMjQ2NzU4NTUKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyNDIwMzgwMTEKKwkubG9uZwkxMDcwOTQ4MzIwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3Mzc2MTE0NTQKKwkubG9uZwkxMDU2MzM2NTI3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzU5NDc5MDUyNworCS5sb25nCTEwNTI5MTE2MjEKKwkubG9uZwkzODE3NzQ4NzEKKwkubG9uZwkxMDY2ODQ0NTI0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMzMDMwNTE2MTgKKwkubG9uZwkxMDQ5NDU2MDUwCisJLmxvbmcJMzE1NDE4NzYyMworCS5sb25nCTEwNjMzNDM3MjIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNTI4MDYxNzg4CisJLmxvbmcJMTA0NTk0NDkxMAorCS5sb25nCTI0Njk3MTk4MTkKKwkubG9uZwkxMDU5ODMxMTU5CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNzA5NDU2MjEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMTU3MTc1ODc1OAorCS5sb25nCTEwNTYxODg4ODcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExMzAyNjM3MworCS5sb25nCTEwNTY0MTYzODEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE5MTM3NjYyOTgKKwkubG9uZwkxMDUzMDM5Njc4CisJLmxvbmcJMjUwNzA2ODczNAorCS5sb25nCTEwNjUwMTgzNTYKKwkubG9uZwk0MDAwNjQ4ODE4CisJLmxvbmcJMTA1MzAwMzgwMworCS5sb25nCTI0NDY2MDczNDkKKwkubG9uZwkxMDY2ODU4MjU5CisJLmxvbmcJOTEyNjYyMTI0CisJLmxvbmcJMTA0OTg0OTM1MworCS5sb25nCTEzNDk0ODk1MzcKKwkubG9uZwkxMDYyMjgxOTYwCisJLmxvbmcJMzQxMjk3MjYwNworCS5sb25nCTEwNDk2NDE0MDEKKwkubG9uZwkxNzIxMjgzMzI3CisJLmxvbmcJMTA2MzM2Njg1NQorCS5sb25nCTE0NjY2OTE4ODMKKwkubG9uZwkxMDQ2NjMzMDk4CisJLmxvbmcJMzg1MjUyODA5MgorCS5sb25nCTEwNTkyNzcyMTMKKwkubG9uZwkyODU0NDMyOTMKKwkubG9uZwkxMDQ2MTU4MzgwCisJLmxvbmcJMTc1ODczOTg5NAorCS5sb25nCTEwNTk4OTU0NDkKKwkubG9uZwkxODU4NzgxMTg0CisJLmxvbmcJMTA2NzUwMDU2NAorCS5sb25nCTM0NDc1NzU5NDgKKwkubG9uZwkzMTcyMTU5NTAzCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMjQyMDM4MDExCisJLmxvbmcJMTA3MDk0ODMyMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkzMjkwMDkwMzQwCisJLmxvbmcJMTA1NzMwOTgzNworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzY4NTc2MDM2NworCS5sb25nCTEwNTY2NjgzNzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI2NTUxNjM5NDkKKwkubG9uZwkxMDU0MTkxMjY5CisJLmxvbmcJNjI4NzUwNTc1CisJLmxvbmcJMTA2NjA4MzIyNAorCS5sb25nCTY4MDE0MDUwNQorCS5sb25nCTEwNTMyOTk3NzcKKwkubG9uZwkyOTU0NDY0NzA5CisJLmxvbmcJMTA2NjkwMDAyNgorCS5sb25nCTgwMzIwMTYxOQorCS5sb25nCTEwNTEwMzI3ODcKKwkubG9uZwkxNDY2MzE1NjMxCisJLmxvbmcJMTA2MzM1MzUxNAorCS5sb25nCTE2MTEyMjAxNjMKKwkubG9uZwkxMDQ5OTcyNDM4CisJLmxvbmcJMjc2NjE4NzI1NgorCS5sb25nCTEwNjM0Mzc4OTQKKwkubG9uZwkxODA0NTc5NDg0CisJLmxvbmcJMTA0Nzg0Nzg0MworCS5sb25nCTM2OTU5NjkyODkKKwkubG9uZwkxMDYwMzcwNzcwCisJLmxvbmcJMjYxNzIzODM3MworCS5sb25nCTEwNDY2NzU5NDgKKwkubG9uZwkzMDk1ODMwMDg0CisJLmxvbmcJMTA2MDA5NTMzNAorCS5sb25nCTM3ODk1NzAwNDgKKwkubG9uZwkxMDY4NTUxMjY2CisJLmxvbmcJMjM4MjY1NTkKKwkubG9uZwkxMDI0NTY0NDEyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzODcwOTM5Mzg2CisJLmxvbmcJMTA3MDk1NjQ2NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwk0Mzc2MDMyMjMKKwkubG9uZwkxMDU4MTA2MTEzCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3NTkzMzAzNTIKKwkubG9uZwkxMDU3MDQ4NTExCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMTA3NDYzMzY4CisJLmxvbmcJMTA1NTAyNDM0MAorCS5sb25nCTMxNDQ0NjUxNzYKKwkubG9uZwkxMDY2NzA3ODUyCisJLmxvbmcJMjI5MDk2MTgxMAorCS5sb25nCTEwNTM4NDEwMzUKKwkubG9uZwkxNjE4MTUzMzQwCisJLmxvbmcJMTA2Njk3MTU0NworCS5sb25nCTM4MzY4NjkzOTMKKwkubG9uZwkxMDUxOTE2NjI0CisJLmxvbmcJNTg0MDMyMTE2CisJLmxvbmcJMTA2Mzk4NTYxMworCS5sb25nCTEyNDU3MDQzNTgKKwkubG9uZwkxMDUwNjI2NDYyCisJLmxvbmcJNDI0NzQ4NzQzOAorCS5sb25nCTEwNjM1NjE5NDMKKwkubG9uZwkxNjY5MDM0OTI3CisJLmxvbmcJMTA0ODc5MTE2NAorCS5sb25nCTM4NDQyMzM0OTgKKwkubG9uZwkxMDYxMTQyNjc0CisJLmxvbmcJMjcwNjk1ODUyNAorCS5sb25nCTEwNDc0MTEzNzQKKwkubG9uZwkzODU3MTk5MDk4CisJLmxvbmcJMTA2MDI4MTY0NworCS5sb25nCTM1OTM5MDQxMjgKKwkubG9uZwkxMDY5MTA3MDcxCisJLmxvbmcJMzI2NzU0NzgzNgorCS5sb25nCTEwMjQ2Nzk2NzMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQwNzY3MTIyMjcKKwkubG9uZwkxMDcwOTcwMjE0CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTIxMDcxNTU3OTgKKwkubG9uZwkxMDU4NjgzMjI0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNjQyOTkyMTI5CisJLmxvbmcJMTA1NzQyNDU3OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTkzNjk5MjgxMQorCS5sb25nCTEwNTU3MjA3NzgKKwkubG9uZwkxNDg1MDYzNTU5CisJLmxvbmcJMTA2NzE5ODk5NQorCS5sb25nCTE0MzI5MTQ1NTMKKwkubG9uZwkxMDU0MzE5Mzk4CisJLmxvbmcJMzk5NjM4MTY1NAorCS5sb25nCTEwNjcwNzU4MjgKKwkubG9uZwkyODMzMDI5MjU2CisJLmxvbmcJMTA1MjczOTg5NworCS5sb25nCTI4NjYwNjY4NzIKKwkubG9uZwkxMDY0NDk5MDE0CisJLmxvbmcJMjQzMjg4ODczNworCS5sb25nCTEwNTEyMzQxNzgKKwkubG9uZwkzNjY5NzY0NTU5CisJLmxvbmcJMTA2Mzc0ODEzNgorCS5sb25nCTI0NTg0OTY5NTIKKwkubG9uZwkxMDQ5Njg3MTI2CisJLmxvbmcJMTk0ODIzNDk4OQorCS5sb25nCTEwNjE2MTQ0OTkKKwkubG9uZwkyODQzNjk4Nzg3CisJLmxvbmcJMTA0ODE2MzUxOQorCS5sb25nCTMzOTgwNDE0MDcKKwkubG9uZwkxMDYwNTU5NzI4CisJLmxvbmcJMjgyOTIzMDA4MAorCS5sb25nCTEwNjk2MDg0NjcKKwkubG9uZwkxMDM0MDQ2NDMzCisJLmxvbmcJMTAyNjc4ODI1NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjk4Njc1MzA1CisJLmxvbmcJMTA3MDk4OTgyMQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkzMTIwNDk4NjM4CisJLmxvbmcJMTA1OTI2NTY1NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjc3MzU3ODExNAorCS5sb25nCTEwNTgwMDkzMTIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIwMzA3ODM2NzYKKwkubG9uZwkxMDU2MzM0MjI1CisJLmxvbmcJMjIyMzY1NDU5OAorCS5sb25nCTEwNjc1ODgyODgKKwkubG9uZwkyOTc2MTM0NjUwCisJLmxvbmcJMTA1NDk4NzI0NAorCS5sb25nCTcwNjM5MDA2NgorCS5sb25nCTEwNjcyMTczODYKKwkubG9uZwk0MjU4NDM3NjE1CisJLmxvbmcJMTA1MzQxNjczMAorCS5sb25nCTEwNjYyNTI5NzUKKwkubG9uZwkxMDY0OTA3NjE5CisJLmxvbmcJODE1Nzc3NTE0CisJLmxvbmcJMTA1MTk4OTQ2MgorCS5sb25nCTMyMDI3NDU0NTcKKwkubG9uZwkxMDY0MDEwNjgyCisJLmxvbmcJMjQ5MzU1NjM3NQorCS5sb25nCTEwNTA1MjExMDUKKwkubG9uZwkxMDQ2MjQzMjUxCisJLmxvbmcJMTA2MjE5NTMyMworCS5sb25nCTI1OTMwNzg4NDYKKwkubG9uZwkxMDQ5MDE3NzE3CisJLmxvbmcJMjc2Mzk2MjI3NgorCS5sb25nCTEwNjA5NzAxNjEKKwkubG9uZwk3MDE0ODA5NjAKKwkubG9uZwkxMDY5ODk0MDk0CisJLmxvbmcJMzIwNTg2MjIzMgorCS5sb25nCTEwMjcxNzcyNjcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyNjcwMTY4MTIKKwkubG9uZwkxMDcxMDE1NjY0CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTEzOTg0NjI2MDgKKwkubG9uZwkxMDU5ODIwMzIwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNjIwNTk4MworCS5sb25nCTEwNTg0NjEyMTMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTU2MjI2MjM4CisJLmxvbmcJMTA1NzA0NDk2NAorCS5sb25nCTI3NTQ3MDY1NDEKKwkubG9uZwkxMDY3ODc1ODYzCisJLmxvbmcJMjE4Nzc5OTgyMworCS5sb25nCTEwNTU2MzQ0MzcKKwkubG9uZwk3OTAzMjM3NDIKKwkubG9uZwkxMDY3NDAyNTg3CisJLmxvbmcJMTM3MjM4NTg0OAorCS5sb25nCTEwNTQxNjc4MzEKKwkubG9uZwk0MDk3MjkyNzE2CisJLmxvbmcJMTA2NTM3MjY1NAorCS5sb25nCTMzNDgyMTAzNTcKKwkubG9uZwkxMDUyODMwMDk5CisJLmxvbmcJMjQ0Mjc5NjQ2NgorCS5sb25nCTEwNjQzMzc2MDIKKwkubG9uZwk4NjI2MDgxNDIKKwkubG9uZwkxMDUxMzQ3MTA2CisJLmxvbmcJMTcwMjk2MTUyCisJLmxvbmcJMTA2MjU3NzIxOQorCS5sb25nCTM3NTU1NzE0MjgKKwkubG9uZwkxMDQ5OTMzMzQzCisJLmxvbmcJMzYxNDg2NjAwOAorCS5sb25nCTEwNjEzNjE2NzAKKwkubG9uZwk3MTk5Nzg0OTYKKwkubG9uZwkxMDcwMTg1NDQ4CisJLmxvbmcJMTk5ODg0MjQ2NQorCS5sb25nCTEwMjcyMjAzMjkKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM3NDkxNTY2MDcKKwkubG9uZwkxMDcxMDQ4MjU4CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTEzMzAxNjU5NzEKKwkubG9uZwkxMDYwMzY3MDk3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTc1MzY2MjMKKwkubG9uZwkxMDU5MTA5MDk4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzNDkyMTIwODQ5CisJLmxvbmcJMTA1NzY2NzgyNworCS5sb25nCTYwMjE4NTcwNQorCS5sb25nCTEwNjgxOTQ0NDQKKwkubG9uZwk3NjA0MjI5NTgKKwkubG9uZwkxMDU2MzEyNTk3CisJLmxvbmcJNTU1MTI3ODg5CisJLmxvbmcJMTA2NzU0NTI2NgorCS5sb25nCTMxMzk3ODQxMjQKKwkubG9uZwkxMDU0OTg3MTg5CisJLmxvbmcJMzY5MDU0NDAxNAorCS5sb25nCTEwNjU2NjY1MjMKKwkubG9uZwk5NTcwNzkxNQorCS5sb25nCTEwNTM2MzU0MjgKKwkubG9uZwk0MDAzMTE0NDA3CisJLmxvbmcJMTA2NDU4MTQxMgorCS5sb25nCTIwMzQ5MjYyMzEKKwkubG9uZwkxMDUyMjI3NTEzCisJLmxvbmcJMzc1OTUzNjAyMworCS5sb25nCTEwNjMwNzYzNDEKKwkubG9uZwkzODI2OTI4MjE0CisJLmxvbmcJMTA1MDg5MzgxOQorCS5sb25nCTM4Mzc5NjA3ODUKKwkubG9uZwkxMDYxNzkwMzc5CisJLmxvbmcJMTUyNjMyNTI0OAorCS5sb25nCTEwNzA0ODM5MTgKKwkubG9uZwkyMzU2NDI2NTIxCisJLmxvbmcJMzE3MjkwNzEwNAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDU3NzI4OTc1CisJLmxvbmcJMTA3MTA4ODI3NgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkxNzA0MzUyMTAyCisJLmxvbmcJMzIyMzQyNjY0OQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjI4NDU4OTMwNgorCS5sb25nCTEwNzYyNTgwMzYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyMTEyNjQyOTEKKwkubG9uZwkzMjI0MTQyNjU4CisJLmxvbmcJMAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxNDQxMTg2MzY1CisJLmxvbmcJMTA3NzAyODU3OQorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDc0MDkxMzQ5CisJLmxvbmcJODc2OTQzNjczCisJLmxvbmcJMzIyNDgzNzI3MAorCS5sb25nCTI4NjMzMTE1MzEKKwkubG9uZwkzMjIxOTI0NTIyCisJLmxvbmcJMjM2Mjg5NTA0CisJLmxvbmcJMTA3Nzc2NzQ4NQorCS5sb25nCTI4NjMzMTE1MworCS5sb25nCTEwNzQ4NjAzMDUKKwkubG9uZwkyODA1NDczMzExCisJLmxvbmcJMzIyNTU5ODkyNgorCS5sb25nCTk1NDQzNzE4CisJLmxvbmcJMzIyMjY0Njg3NQorCS5sb25nCTExNjA0NzYxMzEKKwkubG9uZwkxMDc4NDUwNzQyCisJLmxvbmcJNDYzNTgzNzcyCisJLmxvbmcJMTA3NTU1MjY5OAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMzNDk4OTI0NDIKKwkubG9uZwkzMjIxNzczODYwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzOTEzMTk3NDA1CisJLmxvbmcJMTA3NDUwMTE4MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjQ5NDAzNDUyMgorCS5sb25nCTMyMjIyMjI4MTgKKwkubG9uZwkxMjY0NzM4NzYzCisJLmxvbmcJMzIyMDU2ODQ1MgorCS5sb25nCTE1MjAyOTM5MDYKKwkubG9uZwkxMDc0ODk5NjMyCisJLmxvbmcJMTk1ODkzNjYwMAorCS5sb25nCTEwNzM0MTE0OTMKKwkubG9uZwkyMTMzNjQ5NjM1CisJLmxvbmcJMzIyMjUzNTgxOQorCS5sb25nCTQyNzA3NDA3MzAKKwkubG9uZwkzMjIxMDU4MzU2CisJLmxvbmcJMTcyODkzMDE4OQorCS5sb25nCTEwNzUyMjQ4NDQKKwkubG9uZwkxMzAzOTk4NTUyCisJLmxvbmcJMTA3Mzc5OTE4NgorCS5sb25nCTYxODYxMTkzMworCS5sb25nCTMyMjI5MDM5MDMKKwkubG9uZwkxNzY5ODI4MDQ2CisJLmxvbmcJMzIyMTQyMjE5MAorCS5sb25nCTIyMDA1Mzc5ODYKKwkubG9uZwkxMDc1NjQxNDIxCisJLmxvbmcJNDMzMzYxMTEwCisJLmxvbmcJMTA3NDEwNTM2OQorCS5sb25nCTcxOTU5NTYwMAorCS5sb25nCTMyMTk4MDA4MzIKKwkubG9uZwkyOTQ1MjcyMDYKKwkubG9uZwkxMDE0NjU2NDQwCisJLmxvbmcJMAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkzODExNzg4MjE2CisJLmxvbmcJMzIxODQwMDU1MAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3MjQzMjI3NjgKKwkubG9uZwkzMjIwMzY0OTU2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk2NDMxNTMwNDgKKwkubG9uZwkxMDcyOTA1ODE2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjg1MDc5NDU4CisJLmxvbmcJMzIyMDQxMjIwNgorCS5sb25nCTM5MTI1MjQ3MzMKKwkubG9uZwkzMjIwMTA2NjMxCisJLmxvbmcJMTE4MzYyMjcyCisJLmxvbmcJMTA3Mjk1Mjc1NAorCS5sb25nCTQxMDc3Njc5NzIKKwkubG9uZwkxMDcyODI3NDA4CisJLmxvbmcJMjY4OTUwMjg4MworCS5sb25nCTMyMjA0NjA1NzAKKwkubG9uZwk5NDY1MjMzNDcKKwkubG9uZwkzMjIwMjU2NDE0CisJLmxvbmcJNTczMjA0MTg5CisJLmxvbmcJMTA3MzAwMTc2MQorCS5sb25nCTU4MTUzMTUxOAorCS5sb25nCTEwNzI4MjYzOTEKKwkubG9uZwkxMzg2MjM2NTI2CisJLmxvbmcJMzIyMDUxMDYwNworCS5sb25nCTM3MTg5MDU5MDUKKwkubG9uZwkzMjIwMzE2NDcxCisJLmxvbmcJMTE0NTU1ODE0MAorCS5sb25nCTEwNzMwNTI2NzMKKwkubG9uZwk1MTM1NzI2MzcKKwkubG9uZwkxMDcyODYxOTY5CisJLmxvbmcJNzE2NzAwMDQ4CisJLmxvbmcJMzIxOTQ4MTAxNgorCS5sb25nCTU0NzEyNjc2OQorCS5sb25nCTMxNjMwMDcxNzMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTEwOTc5MDczOTgKKwkubG9uZwkxMDcxNDIwMTIwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM0MjI4MDcyOTcKKwkubG9uZwkzMjE5MTI0NDk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTUxNjU4MDUzCisJLmxvbmcJMTA3MTQ5NDcxNQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJOTI5NjA3MDcxCisJLmxvbmcJMzIxODgyOTk4OAorCS5sb25nCTEwMzcwNDkwMzQKKwkubG9uZwkzMjE5NTIwOTUzCisJLmxvbmcJMjc4NjkyODY1NworCS5sb25nCTEwNzEyMTUyODIKKwkubG9uZwkxNDQ3NDA2ODU5CisJLmxvbmcJMTA3MjI2NTIwOQorCS5sb25nCTM0OTA5NTIxMDcKKwkubG9uZwkzMjE4NTc0NDk5CisJLmxvbmcJMzIwNTIzMjkxNgorCS5sb25nCTMyMTk0NTIzMDYKKwkubG9uZwkxMjk3MzQ0MzA0CisJLmxvbmcJMTA3MDk3NzEyMAorCS5sb25nCTEwNjYxMTA5NzYKKwkubG9uZwkxMDcxOTQ2MDM1CisJLmxvbmcJMzgwMzcyMTQ4MAorCS5sb25nCTMyMTgzNTQ3MzAKKwkubG9uZwkxNDk2NzU0MjI5CisJLmxvbmcJMzIxOTI5MDg0OQorCS5sb25nCTI5ODI1NTA2ODMKKwkubG9uZwkxMDcwNzczMjQzCisJLmxvbmcJNDAxNDQ0MTk4OQorCS5sb25nCTEwNzE3MzYyMjIKKwkubG9uZwk0MTk5NjgyMzYKKwkubG9uZwkzMjE5MjAwNjk1CisJLmxvbmcJMzQ1MTI2NjUzOAorCS5sb25nCTEwMTU5NjExNjMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI5NjAyNjcyMzUKKwkubG9uZwkxMDcwNzQ1ODQxCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE0NTg3OTQ1NjIKKwkubG9uZwkzMjE3ODgyMTk4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyODU3Nzc3NDg5CisJLmxvbmcJMTA3MDEzNzYzNworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTAyNDM1OTUxNworCS5sb25nCTMyMTczNjAxNzkKKwkubG9uZwkyNjE2MDQwMjM4CisJLmxvbmcJMzIxOTA2NjU4NQorCS5sb25nCTE2MDkwMjQ2MzYKKwkubG9uZwkxMDY5Njc1MDg4CisJLmxvbmcJMjUyOTI0MDU0OQorCS5sb25nCTEwNzE4MzY2MzMKKwkubG9uZwkxNTEwMTI4NjAwCisJLmxvbmcJMzIxNjkyMzc2MQorCS5sb25nCTIyNTE2OTcxODQKKwkubG9uZwkzMjE4NzM3MzM1CisJLmxvbmcJMTI2Mjc2MTQ1MworCS5sb25nCTEwNjkxNDI4NTAKKwkubG9uZwkxMjYzMDkxODU3CisJLmxvbmcJMTA3MTE5MDQ2MQorCS5sb25nCTMwNDMzODM0ODYKKwkubG9uZwkzMjE2MzY4ODM5CisJLmxvbmcJMjQ3NjkzMjQ3MAorCS5sb25nCTMyMTgzMjU2NTAKKwkubG9uZwkzNjU5OTk1MDI4CisJLmxvbmcJMTA2ODY2OTIwMAorCS5sb25nCTg1NTg5MTc1NQorCS5sb25nCTEwNzA2OTY4OTQKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMzIxODc2ODUwNQorCS5sb25nCTMwNjI2MzM1NzUKKwkubG9uZwkzMTYxNDkyMjcxCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyNTUwOTQwNDcxCisJLmxvbmcJMTA2OTkzODIwMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNDY3NTgyNzgyCisJLmxvbmcJMzIxNjc0MDAzNworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTYyMTUwMDk2CisJLmxvbmcJMTA2ODk0NjQyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzcwMjc5NDIzNworCS5sb25nCTMyMTYwNjI4MDAKKwkubG9uZwkzNjMxOTE5MjkxCisJLmxvbmcJMzIxODQyMDU3NAorCS5sb25nCTM0NTY4MjE0MTMKKwkubG9uZwkxMDY4MjE3MjE4CisJLmxvbmcJMjAzMTM2NjQzOAorCS5sb25nCTEwNzE0OTU3NDUKKwkubG9uZwkxNTk2NjY0MDIwCisJLmxvbmcJMzIxNTI4MjkyOQorCS5sb25nCTE1MDkwMzg3MDEKKwkubG9uZwkzMjE4MDg1MjkxCisJLmxvbmcJNTgzMTcxNDc3CisJLmxvbmcJMTA2NzUxMDE0OAorCS5sb25nCTM3ODUzNDQ2ODIKKwkubG9uZwkxMDcwNjE4NDc2CisJLmxvbmcJMjQwMjAzNjA0OAorCS5sb25nCTMyMTQ1NTkzODQKKwkubG9uZwkzMjMzMDE4NDEyCisJLmxvbmcJMzIxNzM5NjgzNAorCS5sb25nCTQxMTI4MDU2OAorCS5sb25nCTEwNjY3MTA1NTYKKwkubG9uZwkxMDY1NTg0MTkyCisJLmxvbmcJMTA2OTc0Nzg5NgorCS5sb25nCTg5NTI0NzMyNAorCS5sb25nCTMyMTgzMDM0OTYKKwkubG9uZwk1MDAwNzg5MDkKKwkubG9uZwkxMDEzODA1MTMzCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwk3Mjk5ODM4NDMKKwkubG9uZwkxMDY4OTk0MTk0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE1MTI1NDU5NTUKKwkubG9uZwkzMjE1NjAyNjk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTI3MDQ4Njk4CisJLmxvbmcJMTA2NzkwOTQ1OQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjMwMDIwMDQ1MAorCS5sb25nCTMyMTQ3Mzg0MTUKKwkubG9uZwkzNTkzMjUwMjk2CisJLmxvbmcJMzIxNzcxNzIwOQorCS5sb25nCTMwMDkzNjU1NDQKKwkubG9uZwkxMDY2OTAyMTE3CisJLmxvbmcJMTEyNzM3MzA1MAorCS5sb25nCTEwNzExNzM0NTcKKwkubG9uZwkzMDQ2MTAzMzA1CisJLmxvbmcJMzIxMzg1NDk0NworCS5sb25nCTI0NTgzNDAyCisJLmxvbmcJMzIxNzIwNzYzNgorCS5sb25nCTQwODI1MTE3NTgKKwkubG9uZwkxMDY1OTE0MTk5CisJLmxvbmcJMzIyMzg4OTY5OQorCS5sb25nCTEwNzAwMjAzNjcKKwkubG9uZwk1NDg5Mjc5ODQKKwkubG9uZwkzMjEyODk5NDA0CisJLmxvbmcJNTU4MDY1ODk3CisJLmxvbmcJMzIxNjQzMzA2NgorCS5sb25nCTY4MDA3MzMxNQorCS5sb25nCTEwNjQ5NDA3MjYKKwkubG9uZwkzODg4NzMyMDAKKwkubG9uZwkxMDY4OTQ0MjcwCisJLmxvbmcJMzc2MzY3OTU3NgorCS5sb25nCTMyMTc2NTExODkKKwkubG9uZwkxNDk3MzYwNDA0CisJLmxvbmcJMzE1NzE5NDE5NQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJNjQ5MzExNTIKKwkubG9uZwkxMDY3NzI5NDExCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEzMTMwMzgyMzUKKwkubG9uZwkzMjE0MjI5Mzc5CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDEzODc4MzQyCisJLmxvbmcJMTA2NzE1MjYxOAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzY2MzQyNjgzMworCS5sb25nCTMyMTMyMDg5MzEKKwkubG9uZwkzNjkzMjg0MjUxCisJLmxvbmcJMzIxNjYwMjQ1NgorCS5sb25nCTY1MDg1MjIzMgorCS5sb25nCTEwNjU4ODIzNzYKKwkubG9uZwkxOTk2MjQ1MzgxCisJLmxvbmcJMTA3MTAwMDI2NQorCS5sb25nCTIwMDg3NDYxNzAKKwkubG9uZwkzMjEyMTQ3ODQ1CisJLmxvbmcJMzA1NTg0MjU5MworCS5sb25nCTMyMTYwNjI0OTQKKwkubG9uZwkxNDk1NDA2MzQ4CisJLmxvbmcJMTA2NDY1MjQzNworCS5sb25nCTIyNjk1MzAxNTcKKwkubG9uZwkxMDY5NzExMjM1CisJLmxvbmcJMjg1NTYzNjk2CisJLmxvbmcJMzIxMTA2MDExMworCS5sb25nCTEwNDY4OTc0NDAKKwkubG9uZwkzMjE1MTg5NTEzCisJLmxvbmcJMjMzNDI5NzMxCisJLmxvbmcJMTA2MzQ1MzE1MQorCS5sb25nCTUyMjA0NTk1OAorCS5sb25nCTEwNjg0NzY1OTAKKwkubG9uZwkyMzU0Nzg1Njk4CisJLmxvbmcJMzIxNjU4NjQyNworCS5sb25nCTEzMTc1OTkxNDEKKwkubG9uZwkzMTU5OTE1NzgxCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyODI4MjMwMTA1CisJLmxvbmcJMTA2NTYwNjYyNgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxODQxOTQwNjExCisJLmxvbmcJMTA3MTkzMTE4NAorCS5sb25nCTE4NDE5NDA2MTEKKwkubG9uZwkxMDc2MTI1NDg4CisJLmxvbmcJMAorCS5sb25nCTExMzE5Mzc3OTIKKwkubG9uZwkwCisJLmxvbmcJMTEyNzc0MzQ4OAorCS5sb25nCTE0MTM3NTg5NzYKKwkubG9uZwkxMDY5MDk3NDY3CisJLmxvbmcJMTQxMzc0MjU5MgorCS5sb25nCTEwNjkwOTc0NjcKKwkubG9uZwkxNzM0ODE5ODQwCisJLmxvbmcJMzE3NDIyOTk0NQorCS5sb25nCTEyODAwNDkxNTIKKwkubG9uZwkxMDI4MDMzNTcxCisJLmxvbmcJOTIzMjE5MDE4CisJLmxvbmcJOTg0MTMwMjcyCisJLmxvbmcJNTc3MDExODkKKwkubG9uZwk5ODgzODM3OTAKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTczNDgxNjY4NworCS5sb25nCTEwMjY3NDYyOTcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjE0NjQzNTA3MgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDI5NDcwNTE1MgorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTMwMzY0OTI4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTAxNTAyMTU2OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwMTcxMTg3MjAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkwCisJLmxvbmcJMTA3Njg4NzU1MgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsNTg3MgorCS5kYXRhCisJLmhpZGRlbiBfX2xpYm1fdGFuY290X2h1Z2UKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODYvc190YW5oLlMgYi9saWJtL3g4Ni9zX3RhbmguUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzdiY2JiCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvc190YW5oLlMKQEAgLTAsMCArMSwxMzYxIEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gdGFuaCh4KT0oZXhwKHgpLWV4cCgteCkpLyhleHAoeCkrZXhwKC14KSk9KDEtZXhwKC0yKngpKS8oMStleHAoLTIqeCkpCisvLworLy8gTGV0IHx4fD14SCt4TCAodXBwZXIgMjYgYml0cywgbG93ZXIgMjcgYml0cykKKy8vIGxvZzIoZSkgcm91bmRlZCB0byAyNiBiaXRzIChoaWdoIHBhcnQpIHBsdXMgYSBkb3VibGUgcHJlY2lzaW9uIGxvdyBwYXJ0IGlzCisvLyAgICAgICAgIEwyRUgrTDJFTCAodXBwZXIgMjYsIGxvd2VyIDUzIGJpdHMpCisvLworLy8gTGV0IHhIKkwyRUg9aytmK3JgLCB3aGVyZSAoaytmKSoyXjgqMj1pbnQoeEgqTDJFSCoyXjkpLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGY9MC5iMSBiMiAuLi4gYjgsIGsgaW50ZWdlcgorLy8gMl57LWZ9IGlzIGFwcHJveGltYXRlZCBhcyBUbltmXStEbltmXQorLy8gVG4gc3RvcmVzIHRoZSBoaWdoIDUzIGJpdHMsIERuIHN0b3JlcyAoMl57LWZ9LVRuW2ZdKSByb3VuZGVkIHRvIGRvdWJsZSBwcmVjaXNpb24KKy8vCisvLyAgcj1yYCt4TCpMMkVIK3x4fCpMMkVMLCB8cnw8Ml57LTl9KzJeey0xNH0sCisvLyAgICAgICAgICAgICAgICAgICAgICBmb3IgfHh8IGluIFsyMy82NCwzKjJeNykKKy8vIGVeey0yKnx4fH09Ml57LWstZn0qMl57LXJ9IH4gMl57LWt9KihUbitEbikqKDErcCk9KFQwK0QwKSooMStwKQorLy8KKy8vIEZvciB8eHwgaW4gWzJeey00fSwyXjUpOgorLy8gICAgICAgICAyXnstcn0tMSB+IHA9YzEqcitjMipyXjIrLi4rYzUqcl41CisvLyAgICAgIExldCBSPTEvKDErVDArcCpUMCksIHRydW5jYXRlZCB0byAzNSBzaWduaWZpY2FudCBiaXRzCisvLyAgUj0xLygxK1QwK0QwK3AqKFQwK0QwKSkqKDErZXBzKSwgfGVwc3w8Ml57LTMzfQorLy8gIDErVDArRDArcCooVDArRDApPUtIK0tMLCB3aGVyZQorLy8gICAgICAgS0g9KDErVDArYzEqcipUMClfaGlnaCAobGVhZGluZyAxNyBiaXRzKQorLy8gICAgICAgS0w9VDBfbG93K0QwKyhjMSpyKlQwKV9sb3crYzEqcipEMCsoYzIqcl4yKy4uYzUqcl41KSpUMAorLy8gIGVwcyB+IChSKktILTEpK1IqS0wKKy8vICAxLygxK1QwK0QwK3AqKFQwK0QwKSkgfiBSLVIqZXBzCisvLyAgVGhlIHJlc3VsdCBpcyBhcHByb3hpbWF0ZWQgYXMgKDEtVDAtRDAtKFQwK0QwKSpwKSooUi1SKmVwcykKKy8vICAxLVQwLUQwLShUMCtEMCkqcD0tKChLSC0yKStLTCkKKy8vICAgIFRoZSByZXN1bHQgaXMgZm9ybWVkIGFzCisvLyAgICAoS0gtMikqUisoLShLSC0yKSpSKmVwcysoS0wqUi1LTCpSKmVwcykpLCB3aXRoIHRoZSBjb3JyZWN0IHNpZ24KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgYXQgdGhlIGVuZAorLy8KKy8vIEZvciB8eHwgaW4gWzJeey02NH0sMl57LTR9KToKKy8vICBBIFRheWxvciBzZXJpZXMgZXhwYW5zaW9uIGlzIHVzZWQgICh4K3AzKnheMysuLitwMTMqeF57MTN9KQorLy8KKy8vIEZvciB8eHw8Ml57LTY0fTogIHggaXMgcmV0dXJuZWQKKy8vCisvLyBGb3IgfHh8Pj0yXjMyOiByZXR1cm4gKy8tMQorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgdGFuaChOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICB0YW5oKElORikgPSB0aGF0IElORgorLy8gIHRhbmgoKy8tMCkgPSArLy0wCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgc3RhdGljX2Z1bmMKKyAgICAgICAgLnRleHQKKyAgICAgICAgLmFsaWduIF9fYmlvbmljX2FzbV9hbGlnbgorICAgICAgICAudHlwZSBzdGF0aWNfZnVuYywgQGZ1bmN0aW9uCitzdGF0aWNfZnVuYzoKKy4uQjEuMToKKyAgICAgICAgY2FsbCAgICAgIC4uTDIKKy4uTDI6CisgICAgICAgIHBvcGwgICAgICAlZWF4CisgICAgICAgIGxlYSAgICAgICBfR0xPQkFMX09GRlNFVF9UQUJMRV8rWy4gLSAuLkwyXSglZWF4KSwgJWVheAorICAgICAgICBsZWEgICAgICAgc3RhdGljX2NvbnN0X3RhYmxlQEdPVE9GRiglZWF4KSwgJWVheAorICAgICAgICByZXQKKyAgICAgICAgLnNpemUgICBzdGF0aWNfZnVuYywuLXN0YXRpY19mdW5jCisjIC0tIEVuZCAgc3RhdGljX2Z1bmMKKworIyAtLSBCZWdpbiAgdGFuaAorRU5UUlkodGFuaCkKKyMgcGFyYW1ldGVyIDE6IDggKyAlZWJwCisuLkIyLjE6CisuLkIyLjI6CisgICAgICAgIHB1c2hsICAgICAlZWJwCisgICAgICAgIG1vdmwgICAgICAlZXNwLCAlZWJwCisgICAgICAgIHN1YmwgICAgICAkMTA0LCAlZXNwCisgICAgICAgIG1vdmwgICAgICAlZWJ4LCA0MCglZXNwKQorICAgICAgICBjYWxsICAgICAgc3RhdGljX2Z1bmMKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlYngKKyAgICAgICAgbW92c2QgICAgIDExMiglZXNwKSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDQyNTYoJWVieCksICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDQxMTIoJWVieCksICV4bW0xCisgICAgICAgIG1vdnNkICAgICA0MTIwKCVlYngpLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIDQwOTYoJWVieCksICV4bW02CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBhbmRucGQgICAgJXhtbTAsICV4bW00CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW00LCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlY3gKKyAgICAgICAgc3VibCAgICAgICQxNjMwNCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDE0NCwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgY3Z0c2Qyc2kgICV4bW0zLCAlZWF4CisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIG1vdnNkICAgICA0MjY0KCVlYngpLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG1vdmFwZCAgICA0MTI4KCVlYngpLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMjU1LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWN4CisgICAgICAgIG1vdmFwZCAgICAoJWVieCwlZWN4LDgpLCAleG1tNQorICAgICAgICBzaHJsICAgICAgJDQsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQ2NTUyMCwgJWVheAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIG5lZ2wgICAgICAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDQxNDQoJWVieCksICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICA0MTYwKCVlYngpLCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgICV4bW00LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgNDI2NCglZWJ4KSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDc4LCAleG1tMSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIGFuZHBkICAgICA0MjI0KCVlYngpLCAleG1tNAorICAgICAgICBkaXZzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG1vdnNkICAgICA0MjQwKCVlYngpLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIGFuZHBkICAgICA0MjI0KCVlYngpLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG1vdnNkICAgICA0MjY0KCVlYngpLCAleG1tNworICAgICAgICBhbmRwZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgIDQyNzIoJWVieCksICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgeG9ybCAgICAgICQzMjc2OCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQ5NjAsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQxMTA0LCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorICAgICAgICBtb3ZhcGQgICAgNDE3NiglZWJ4KSwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICA0MTkyKCVlYngpLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICA0MjA4KCVlYngpLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0xLCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tMgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTIsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIGFkZGwgICAgICAkMTUzNDQsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQxNjQ0OCwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgY21wbCAgICAgICQxNiwgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE3MzkyLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTUzNDQsICVlY3gKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWN4LCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMgorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgb3JsICAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVheCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAyNCglZXNwKQorICAgICAgICBmbGRsICAgICAgMjQoJWVzcCkKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBtb3ZsICAgICAgNDAoJWVzcCksICVlYngKKyAgICAgICAgbW92bCAgICAgICVlYnAsICVlc3AKKyAgICAgICAgcG9wbCAgICAgICVlYnAKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMi4zOgorRU5EKHRhbmgpCisjIC0tIEVuZCAgdGFuaAorCisjIFN0YXJ0IGZpbGUgc2NvcGUgQVNNCitBTElBU19TWU1CT0wodGFuaGwsIHRhbmgpOworIyBFbmQgZmlsZSBzY29wZSBBU00KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK3N0YXRpY19jb25zdF90YWJsZToKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTc5NzkyMzgwMQorCS5sb25nCTEwNzI2ODc1NzcKKwkubG9uZwkxOTUwNTQ3NDI3CisJLmxvbmcJMTAxMzIyOTA1OQorCS5sb25nCTczMDgyMTEwNQorCS5sb25nCTEwNzI2ODE5MjIKKwkubG9uZwkyNTIzMjMyNzQzCisJLmxvbmcJMTAxMjA2NzE4OAorCS5sb25nCTkxNTU5MjQ2OAorCS5sb25nCTEwNzI2NzYyODIKKwkubG9uZwkzNTI5NDc4OTQKKwkubG9uZwkzMTYxMDI0MzcxCisJLmxvbmcJMjE3NDY1MjYzMgorCS5sb25nCTEwNzI2NzA2NTcKKwkubG9uZwk0MDg3NzE0NTkwCisJLmxvbmcJMTAxNDQ1MDI1OQorCS5sb25nCTM1OTI5MjI1CisJLmxvbmcJMTA3MjY2NTA0OAorCS5sb25nCTI4MDk3ODgwNDEKKwkubG9uZwkzMTU5NDM2OTY4CisJLmxvbmcJMjkxMjczMDY0NAorCS5sb25nCTEwNzI2NTk0NTMKKwkubG9uZwkzNDkwMDY3NzIyCisJLmxvbmcJMzE2MzQwNTA3NAorCS5sb25nCTIwMzg5NzM2ODgKKwkubG9uZwkxMDcyNjUzODc0CisJLmxvbmcJODkyOTQxMzc0CisJLmxvbmcJMTAxNjA0NjQ1OQorCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDcyNjQ4MzEwCisJLmxvbmcJNzY5MTcxODUxCisJLmxvbmcJMTAxNTY2NTYzMworCS5sb25nCTEyMjI0NzIzMDgKKwkubG9uZwkxMDcyNjQyNzYxCisJLmxvbmcJMTA1NDM1NzQ3MAorCS5sb25nCTMxNjEwMjEwMTgKKwkubG9uZwk5Mjk4MDY5OTkKKwkubG9uZwkxMDcyNjM3MjI3CisJLmxvbmcJMzIwNTMzNjY0MworCS5sb25nCTEwMTUyNTk1NTcKKwkubG9uZwk0ODE3MDYyODIKKwkubG9uZwkxMDcyNjMxNzA4CisJLmxvbmcJMTY5NjA3OTE3MworCS5sb25nCTMxNjI3MTA1MjgKKwkubG9uZwkzOTk5MzU3NDc5CisJLmxvbmcJMTA3MjYyNjIwMworCS5sb25nCTIyNTg5NDE2MTYKKwkubG9uZwkxMDE1OTI0NzI0CisJLmxvbmcJMjcxOTUxNTkyMAorCS5sb25nCTEwNzI2MjA3MTQKKwkubG9uZwkyNzYwMzMyOTQxCisJLmxvbmcJMTAxNTEzNzkzMworCS5sb25nCTc2NDMwNzQ0MQorCS5sb25nCTEwNzI2MTUyNDAKKwkubG9uZwkzMDIxMDU3NDIwCisJLmxvbmcJMzE2MzMyOTUyMworCS5sb25nCTIyNTYzMjUyMzAKKwkubG9uZwkxMDcyNjA5NzgwCisJLmxvbmcJNTgwMTE3NzQ2CisJLmxvbmcJMTAxNTMxNzI5NQorCS5sb25nCTI3Mjg2OTM5NzgKKwkubG9uZwkxMDcyNjA0MzM1CisJLmxvbmcJMzk2MTA5OTcxCisJLmxvbmcJMzE2MzQ2MjY5MQorCS5sb25nCTIwMDk5NzA0OTYKKwkubG9uZwkxMDcyNTk4OTA1CisJLmxvbmcJMjE1OTAzOTY2NQorCS5sb25nCTMxNjI1NzI5NDgKKwkubG9uZwk0MjI0MTQyNDY3CisJLmxvbmcJMTA3MjU5MzQ4OQorCS5sb25nCTMzODk4MjAzODYKKwkubG9uZwkxMDE1MjA3MjAyCisJLmxvbmcJNjEwNzU4MDA2CisJLmxvbmcJMTA3MjU4ODA4OQorCS5sb25nCTE5NjUyMDkzOTcKKwkubG9uZwkzMTYxODY2MjMyCisJLmxvbmcJMzg4NDY2Mjc3NAorCS5sb25nCTEwNzI1ODI3MDIKKwkubG9uZwkyMTU4NjExNTk5CisJLmxvbmcJMTAxNDIxMDE4NQorCS5sb25nCTk5MTM1ODQ4MgorCS5sb25nCTEwNzI1NzczMzEKKwkubG9uZwk4Mzg3MTUwMTkKKwkubG9uZwkzMTYzMTU3NjY4CisJLmxvbmcJMzUxNjQxODk3CisJLmxvbmcJMTA3MjU3MTk3NAorCS5sb25nCTIxNzIyNjE1MjYKKwkubG9uZwkzMTYzMDEwNTk5CisJLmxvbmcJMTc5NjgzMjUzNQorCS5sb25nCTEwNzI1NjY2MzEKKwkubG9uZwkzMTc2OTU1NzE2CisJLmxvbmcJMzE2MDU4NTUxMworCS5sb25nCTg2MzczODcxOQorCS5sb25nCTEwNzI1NjEzMDMKKwkubG9uZwkxMzI2OTkyMjIwCisJLmxvbmcJMzE2MjYxMzE5NworCS5sb25nCTE2Nzk1NTgyMzIKKwkubG9uZwkxMDcyNTU1OTg5CisJLmxvbmcJMjM5MDM0MjI4NworCS5sb25nCTMxNjMzMzM5NzAKKwkubG9uZwk0MDc2OTc1MjAwCisJLmxvbmcJMTA3MjU1MDY4OQorCS5sb25nCTIwMjkwMDA4OTkKKwkubG9uZwkxMDE1MjA4NTM1CisJLmxvbmcJMzU5NDE1ODg2OQorCS5sb25nCTEwNzI1NDU0MDQKKwkubG9uZwkyNDU2NTIxNzAwCisJLmxvbmcJMzE2MzI1NjU2MQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MjU0MDEzNAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE1ODE2OTYwCisJLmxvbmcJMTkxMjU2MTc4MQorCS5sb25nCTEwNzI1MzQ4NzcKKwkubG9uZwkzMTQ3NDk1MTAyCisJLmxvbmcJMTAxNTY3ODI1MworCS5sb25nCTM4MjMwNTE3NgorCS5sb25nCTEwNzI1Mjk2MzUKKwkubG9uZwkyMzQ3NjIyMzc2CisJLmxvbmcJMzE2MjU3ODYyNQorCS5sb25nCTM4OTg3OTU3MzEKKwkubG9uZwkxMDcyNTI0NDA2CisJLmxvbmcJMTI0OTk5NDE0NAorCS5sb25nCTEwMTE4Njk4MTgKKwkubG9uZwkzNzA3NDc5MTc1CisJLmxvbmcJMTA3MjUxOTE5MgorCS5sb25nCTM2MTMwNzkzMDMKKwkubG9uZwkxMDE0MTY0NzM4CisJLmxvbmcJMzkzOTE0ODI0NgorCS5sb25nCTEwNzI1MTM5OTIKKwkubG9uZwkzMjEwMzUyMTQ4CisJLmxvbmcJMTAxNTI3NDMyMworCS5sb25nCTEzNTEwNTAxMAorCS5sb25nCTEwNzI1MDg4MDcKKwkubG9uZwkxOTA2MTQ4NzI4CisJLmxvbmcJMzE2MzM3NTczOQorCS5sb25nCTcyMTk5NjEzNgorCS5sb25nCTEwNzI1MDM2MzUKKwkubG9uZwk1NjM3NTQ3MzQKKwkubG9uZwkxMDE1MzcxMzE4CisJLmxvbmcJMTI0MjAwNzkzMgorCS5sb25nCTEwNzI0OTg0NzcKKwkubG9uZwkxMTMyMDM0NzE2CisJLmxvbmcJMzE2MzMzOTgzMQorCS5sb25nCTE1MzI3MzQzMjQKKwkubG9uZwkxMDcyNDkzMzMzCisJLmxvbmcJMzA5NDIxNjUzNQorCS5sb25nCTMxNjMxNjI4NTcKKwkubG9uZwkxNDMyMjA4Mzc4CisJLmxvbmcJMTA3MjQ4ODIwMworCS5sb25nCTE0MDEwNjg5MTQKKwkubG9uZwkzMTYyMzYzOTYzCisJLmxvbmcJNzc4OTAxMTA5CisJLmxvbmcJMTA3MjQ4MzA4NworCS5sb25nCTIyNDgxODM5NTUKKwkubG9uZwkzMTYxMjY4NzUxCisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzI0Nzc5ODQKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxMzI1MzA2NworCS5sb25nCTE0NjQ5NzY2MDMKKwkubG9uZwkxMDcyNDcyODk2CisJLmxvbmcJMzUwNzI5MjQwNQorCS5sb25nCTMxNjE5Nzc1MzQKKwkubG9uZwkyNDgzNDgwNTAxCisJLmxvbmcJMTA3MjQ2NzgyMQorCS5sb25nCTEyMTYzNzE3ODAKKwkubG9uZwkxMDEzMDM0MTcyCisJLmxvbmcJMjMwNzQ0Mjk5NQorCS5sb25nCTEwNzI0NjI3NjAKKwkubG9uZwkzMTkwMTE3NzIxCisJLmxvbmcJMzE2MjQwNDUzOQorCS5sb25nCTc3NzUwNzE0NworCS5sb25nCTEwNzI0NTc3MTMKKwkubG9uZwk0MjgyOTI0MjA1CisJLmxvbmcJMTAxNTE4NzUzMworCS5sb25nCTIwMjk3MTQyMTAKKwkubG9uZwkxMDcyNDUyNjc5CisJLmxvbmcJNjEzNjYwMDc5CisJLmxvbmcJMTAxNTA5OTE0MworCS5sb25nCTE2MTA2MDA1NzAKKwkubG9uZwkxMDcyNDQ3NjU5CisJLmxvbmcJMzc2NjczMjI5OAorCS5sb25nCTEwMTU3NjAxODMKKwkubG9uZwkzNjU3MDY1NzcyCisJLmxvbmcJMTA3MjQ0MjY1MgorCS5sb25nCTM5OTAyNTYyMworCS5sb25nCTMxNjI5NTcwNzgKKwkubG9uZwkzNzE2NTAyMTcyCisJLmxvbmcJMTA3MjQzNzY1OQorCS5sb25nCTIzMDM3NDAxMjUKKwkubG9uZwkxMDE0MDQyNzI1CisJLmxvbmcJMTYzMTY5NTY3NworCS5sb25nCTEwNzI0MzI2ODAKKwkubG9uZwkyNzE3NjMzMDc2CisJLmxvbmcJMzE2MjM0NDAyNgorCS5sb25nCTE1NDA4MjQ1ODUKKwkubG9uZwkxMDcyNDI3NzE0CisJLmxvbmcJMTA2NDAxNzAxMQorCS5sb25nCTMxNjM0ODc2OTAKKwkubG9uZwkzMjg3NTIzODQ3CisJLmxvbmcJMTA3MjQyMjc2MQorCS5sb25nCTE2MjU5NzE1MzkKKwkubG9uZwkzMTU3MDA5OTU1CisJLmxvbmcJMjQyMDg4MzkyMgorCS5sb25nCTEwNzI0MTc4MjIKKwkubG9uZwkyMDQ5ODEwMDUyCisJLmxvbmcJMTAxNDExOTg4OAorCS5sb25nCTMwODAzNTE1MTkKKwkubG9uZwkxMDcyNDEyODk2CisJLmxvbmcJMzM3OTEyNjc4OAorCS5sb25nCTMxNTcyMTgwMDEKKwkubG9uZwk4MTU4NTkyNzQKKwkubG9uZwkxMDcyNDA3OTg0CisJLmxvbmcJMjQwMzk2NTkwCisJLmxvbmcJMzE2MzQ4NzQ0MworCS5sb25nCTQwNjI2NjEwOTIKKwkubG9uZwkxMDcyNDAzMDg0CisJLmxvbmcJMTQyMjYxNjAwNgorCS5sb25nCTMxNjMyNTUzMTgKKwkubG9uZwk0MDc2NTU5OTQzCisJLmxvbmcJMTA3MjM5ODE5OAorCS5sb25nCTIxMTk0NzgzMzEKKwkubG9uZwkzMTYwNzU4MzUxCisJLmxvbmcJNzAzNzEwNTA2CisJLmxvbmcJMTA3MjM5MzMyNgorCS5sb25nCTEzODQ2NjA4NDYKKwkubG9uZwkxMDE1MTk1ODkxCisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzIzODg0NjYKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2MzMyMDc5OQorCS5sb25nCTM2NDMzMzQ4OQorCS5sb25nCTEwNzIzODM2MjAKKwkubG9uZwkzOTIzNzM3NzQ0CisJLmxvbmcJMzE2MTQyMTM3MworCS5sb25nCTMwOTIxOTA3MTUKKwkubG9uZwkxMDcyMzc4Nzg2CisJLmxvbmcJODE0MDEyMTY4CisJLmxvbmcJMzE1OTUyMzQyMgorCS5sb25nCTE4MjIwNjcwMjYKKwkubG9uZwkxMDcyMzczOTY2CisJLmxvbmcJMTI0MTk5NDk1NgorCS5sb25nCTEwMTUzNDAyOTAKKwkubG9uZwk2OTcxNTMxMjYKKwkubG9uZwkxMDcyMzY5MTU5CisJLmxvbmcJMTI4MzUxNTQyOQorCS5sb25nCTMxNjMyODMxODkKKwkubG9uZwkzODYxMDUwMTExCisJLmxvbmcJMTA3MjM2NDM2NAorCS5sb25nCTI1NDg5Mzc3MworCS5sb25nCTMxNjI4MTMxODAKKwkubG9uZwkyNTcyODY2NDc3CisJLmxvbmcJMTA3MjM1OTU4MworCS5sb25nCTg3ODU2MjQzMworCS5sb25nCTEwMTU1MjE3NDEKKwkubG9uZwk5NzcwMjA3ODgKKwkubG9uZwkxMDcyMzU0ODE1CisJLmxvbmcJMzA2NTEwMDUxNworCS5sb25nCTEwMTU1NDE1NjMKKwkubG9uZwkzMjE4MzM4NjgyCisJLmxvbmcJMTA3MjM1MDA1OQorCS5sb25nCTM0MDQxNjQzMDQKKwkubG9uZwkzMTYyNDc3MTA4CisJLmxvbmcJNTU3MTQ5ODgyCisJLmxvbmcJMTA3MjM0NTMxNworCS5sb25nCTM2NzI3MjA3MDkKKwkubG9uZwkxMDE0NTM3MjY1CisJLmxvbmcJMTQzNDA1ODE3NQorCS5sb25nCTEwNzIzNDA1ODcKKwkubG9uZwkyNTExMzMyMzMKKwkubG9uZwkxMDE1MDg1NzY5CisJLmxvbmcJMTQwNTE2OTI0MQorCS5sb25nCTEwNzIzMzU4NzAKKwkubG9uZwkyOTk4NTM5Njg5CisJLmxvbmcJMzE2MjgzMDk1MQorCS5sb25nCTMyMTk1ODc0NAorCS5sb25nCTEwNzIzMzExNjYKKwkubG9uZwkzNDAxOTMzNzY3CisJLmxvbmcJMTAxNTc5NDU1OAorCS5sb25nCTIzMzEyNzEyNTAKKwkubG9uZwkxMDcyMzI2NDc0CisJLmxvbmcJODEyMDU3NDQ2CisJLmxvbmcJMTAxMjIwNzQ0NgorCS5sb25nCTI5OTA0MTcyNDUKKwkubG9uZwkxMDcyMzIxNzk1CisJLmxvbmcJMzY4MzQ2Nzc0NQorCS5sb25nCTMxNjMzNjkzMjYKKwkubG9uZwkyMTUyMDczOTQ0CisJLmxvbmcJMTA3MjMxNzEyOQorCS5sb25nCTE0ODY4NjA1NzYKKwkubG9uZwkzMTYzMjAzNDU2CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzIzMTI0NzUKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNTQyNzE2NAorCS5sb25nCTM5ODU1NTM1OTUKKwkubG9uZwkxMDcyMzA3ODM0CisJLmxvbmcJNDAwMjE0NjA2MgorCS5sb25nCTEwMTU4MzQxMzYKKwkubG9uZwkyMDY5NzUxMTQxCisJLmxvbmcJMTA3MjMwMzIwNgorCS5sb25nCTE1NjIxNzA2NzUKKwkubG9uZwkzMTYyNzI0NjgxCisJLmxvbmcJMjM2NjEwODMxOAorCS5sb25nCTEwNzIyOTg1OTAKKwkubG9uZwkyODY3OTg1MTAyCisJLmxvbmcJMzE2MTc2MjI1NAorCS5sb25nCTQzNDMxNjA2NworCS5sb25nCTEwNzIyOTM5ODcKKwkubG9uZwkyMDI4MzU4NzY2CisJLmxvbmcJMTAxMzQ1ODEyMgorCS5sb25nCTQyNDM5MjkxNworCS5sb25nCTEwNzIyODkzOTYKKwkubG9uZwkyNzQ5MjAyOTk1CisJLmxvbmcJMzE2MjgzODcxOAorCS5sb25nCTIxOTE3ODIwMzIKKwkubG9uZwkxMDcyMjg0ODE3CisJLmxvbmcJMjk2MDI1NzcyNgorCS5sb25nCTEwMTM3NDI2NjIKKwkubG9uZwkxMjk3MzUwMTU3CisJLmxvbmcJMTA3MjI4MDI1MQorCS5sb25nCTEzMDgwMjIwNDAKKwkubG9uZwkzMTYzNDEyNTU4CisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzIyNzU2OTcKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MjYwMDM4MQorCS5sb25nCTM4MzMyMDk1MDYKKwkubG9uZwkxMDcyMjcxMTU1CisJLmxvbmcJMjcyMjkyMDY4NAorCS5sb25nCTEwMTM3NTQ4NDIKKwkubG9uZwkyNjgyMTQ2Mzg0CisJLmxvbmcJMTA3MjI2NjYyNgorCS5sb25nCTIwODIxNzg1MTMKKwkubG9uZwkzMTYzMzYzNDE5CisJLmxvbmcJMjU5MTQ1MzM2MworCS5sb25nCTEwNzIyNjIxMDkKKwkubG9uZwkyMTMyMzk2MTgyCisJLmxvbmcJMzE1OTA3NDE5OAorCS5sb25nCTM0MTg5MDMwNTUKKwkubG9uZwkxMDcyMjU3NjA0CisJLmxvbmcJMjUyNzQ1NzMzNworCS5sb25nCTMxNjA4MjA2MDQKKwkubG9uZwk3Mjc2ODUzNDkKKwkubG9uZwkxMDcyMjUzMTEyCisJLmxvbmcJMjAzODI0NjgwOQorCS5sb25nCTMxNjIzNTg3NDIKKwkubG9uZwkyOTY2Mjc1NTU3CisJLmxvbmcJMTA3MjI0ODYzMQorCS5sb25nCTIxNzYxNTUzMjQKKwkubG9uZwkzMTU5ODQyNzU5CisJLmxvbmcJMTQwMzY2MjMwNgorCS5sb25nCTEwNzIyNDQxNjMKKwkubG9uZwkyNzg4ODA5NTk5CisJLmxvbmcJMzE2MTY3MTAwNworCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzIyMzk3MDcKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTYzNDEyMDg5CisJLmxvbmcJMzQ5MjI5Mzc3MAorCS5sb25nCTEwNzIyMzUyNjIKKwkubG9uZwkyMjQ4MDMyMjEwCisJLmxvbmcJMTAxNTM4NjgyNgorCS5sb25nCTI1NjgzMjA4MjIKKwkubG9uZwkxMDcyMjMwODMwCisJLmxvbmcJMjczMjgyNDQyOAorCS5sb25nCTEwMTQzNTI5MTUKKwkubG9uZwkxNTc3NjA4OTIxCisJLmxvbmcJMTA3MjIyNjQxMAorCS5sb25nCTE4NzU0ODk1MTAKKwkubG9uZwkzMTYyOTY4Mzk0CisJLmxvbmcJMzgwOTc4MzE2CisJLmxvbmcJMTA3MjIyMjAwMgorCS5sb25nCTg1NDE4ODk3MAorCS5sb25nCTMxNjA0NjI2ODYKKwkubG9uZwkzMTM0NTkyODg4CisJLmxvbmcJMTA3MjIxNzYwNQorCS5sb25nCTQyMzIyNjY4NjIKKwkubG9uZwkxMDE1OTkxMTM0CisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzIyMTMyMjEKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNTQ3NDY3MworCS5sb25nCTI3NTkzNTAyODcKKwkubG9uZwkxMDcyMjA4ODQ4CisJLmxvbmcJMTE0ODUyNjYzNAorCS5sb25nCTEwMTU4OTQ5MzMKKwkubG9uZwkzNjQ5NzI2MTA1CisJLmxvbmcJMTA3MjIwNDQ4NworCS5sb25nCTQwODUwMzYzNDYKKwkubG9uZwkxMDE1NjQ5NDc0CisJLmxvbmcJMzY0MzkwOTE3NAorCS5sb25nCTEwNzIyMDAxMzgKKwkubG9uZwkzNTM3NTg2MTA5CisJLmxvbmcJMTAxNDM1NDY0NworCS5sb25nCTI2MDQ5NjI1NDEKKwkubG9uZwkxMDcyMTk1ODAxCisJLmxvbmcJMjYxNDQyNTI3NAorCS5sb25nCTMxNjM1MzkxOTIKKwkubG9uZwkzOTYzMTk1MjEKKwkubG9uZwkxMDcyMTkxNDc2CisJLmxvbmcJNDE3MjQyMDgxNgorCS5sb25nCTMxNTkwNzQ2MzIKKwkubG9uZwkxMTc2NzQ5OTk3CisJLmxvbmcJMTA3MjE4NzE2MgorCS5sb25nCTI3Mzg5OTg3NzkKKwkubG9uZwkzMTYyMDM1ODQ0CisJLmxvbmcJNTE1NDU3NTI3CisJLmxvbmcJMTA3MjE4Mjg2MAorCS5sb25nCTgzNjcwOTMzMworCS5sb25nCTEwMTU2NTEyMjYKKwkubG9uZwkyNTcxOTQ3NTM5CisJLmxvbmcJMTA3MjE3ODU2OQorCS5sb25nCTM1NTgxNTkwNjQKKwkubG9uZwkzMTYzMzc2NjY5CisJLmxvbmcJMjkxNjE1NzE0NQorCS5sb25nCTEwNzIxNzQyOTAKKwkubG9uZwkyMTk0ODc1NjUKKwkubG9uZwkxMDE1MzA5MzY3CisJLmxvbmcJMTQxMzM1NjA1MAorCS5sb25nCTEwNzIxNzAwMjMKKwkubG9uZwkxNjUxMzQ5MjkxCisJLmxvbmcJMzE2MjY2ODE2NgorCS5sb25nCTIyMjQxNDU1NTMKKwkubG9uZwkxMDcyMTY1NzY3CisJLmxvbmcJMzQ4MjUyMjAzMAorCS5sb25nCTMxNjE0ODkxNjkKKwkubG9uZwk5MTk1NTU2ODIKKwkubG9uZwkxMDcyMTYxNTIzCisJLmxvbmcJMzEyMTk2OTUzNAorCS5sb25nCTEwMTI5NDgyMjYKKwkubG9uZwkxNjYwOTEzMzkyCisJLmxvbmcJMTA3MjE1NzI5MAorCS5sb25nCTQyMTg1OTk2MDQKKwkubG9uZwkxMDE1MTM1NzA3CisJLmxvbmcJMTk5NzI0MDIKKwkubG9uZwkxMDcyMTUzMDY5CisJLmxvbmcJMzUwNzg5OTg2MgorCS5sb25nCTEwMTYwMDkyOTIKKwkubG9uZwkxNTg3ODE0MDMKKwkubG9uZwkxMDcyMTQ4ODU5CisJLmxvbmcJMjIyMTQ2NDcxMgorCS5sb25nCTMxNjMyODY0NTMKKwkubG9uZwkxOTQ0NzgxMTkxCisJLmxvbmcJMTA3MjE0NDY2MAorCS5sb25nCTM5OTMyNzg3NjcKKwkubG9uZwkzMTYxNzI0Mjc5CisJLmxvbmcJOTUwODAzNzAyCisJLmxvbmcJMTA3MjE0MDQ3MworCS5sb25nCTE2NTUzNjQ5MjYKKwkubG9uZwkxMDE1MjM3MDMyCisJLmxvbmcJMTMzOTk3MjkyNworCS5sb25nCTEwNzIxMzYyOTcKKwkubG9uZwkxNjc5MDg5MDkKKwkubG9uZwkxMDE1NTcyMTUyCisJLmxvbmcJMjk4MDgwMjA1NworCS5sb25nCTEwNzIxMzIxMzIKKwkubG9uZwkzNzg2MTk4OTYKKwkubG9uZwkxMDE1NzczMzAzCisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzIxMjc5NzkKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MjUxNDUyMQorCS5sb25nCTkwMzMzNDkwOQorCS5sb25nCTEwNzIxMjM4MzcKKwkubG9uZwkxNjM2NDYyMTA4CisJLmxvbmcJMTAxNTAzOTk5NworCS5sb25nCTEyMTg4MDYxMzIKKwkubG9uZwkxMDcyMTE5NzA2CisJLmxvbmcJMTgxODYxMzA1MgorCS5sb25nCTMxNjI1NDg0NDEKKwkubG9uZwkyMjYzNTM1NzU0CisJLmxvbmcJMTA3MjExNTU4NgorCS5sb25nCTc1MjIzMzU4NgorCS5sb25nCTMxNjI2MzkwMDgKKwkubG9uZwkzOTA3ODA1MDQ0CisJLmxvbmcJMTA3MjExMTQ3NworCS5sb25nCTIyNTcwOTEyMjUKKwkubG9uZwkzMTYxNTUwNDA3CisJLmxvbmcJMTcyNzI3ODcyNworCS5sb25nCTEwNzIxMDczODAKKwkubG9uZwkzNTYyNzEwNjIzCisJLmxvbmcJMTAxMTQ3MTk0MAorCS5sb25nCTQxODI4NzMyMjAKKwkubG9uZwkxMDcyMTAzMjkzCisJLmxvbmcJNjI5NTQyNjQ2CisJLmxvbmcJMzE2MTk5NjMwMworCS5sb25nCTI1NTU5ODQ2MTMKKwkubG9uZwkxMDcyMDk5MjE4CisJLmxvbmcJMjY1MjU1NTQ0MgorCS5sb25nCTMxNjI1NTI2OTIKKwkubG9uZwkxMDEzMjU4Nzk5CisJLmxvbmcJMTA3MjA5NTE1NAorCS5sb25nCTE3NDg3OTc2MTEKKwkubG9uZwkzMTYwMTI5MDgyCisJLmxvbmcJMzcyMTY4ODY0NQorCS5sb25nCTEwNzIwOTExMDAKKwkubG9uZwkzMDY5Mjc2OTM3CisJLmxvbmcJMTAxNTgzOTQwMQorCS5sb25nCTE5NjM3MTExNjcKKwkubG9uZwkxMDcyMDg3MDU4CisJLmxvbmcJMTc0NDc2Nzc1NworCS5sb25nCTMxNjA1NzQyOTQKKwkubG9uZwk0MjAxOTc3NjYyCisJLmxvbmcJMTA3MjA4MzAyNgorCS5sb25nCTc0ODMzMDI1NAorCS5sb25nCTEwMTM1OTQzNTcKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MjA3OTAwNgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjMyODI3NDAKKwkubG9uZwkyOTc5OTYwMTIwCisJLmxvbmcJMTA3MjA3NDk5NgorCS5sb25nCTI1OTkxMDk3MjUKKwkubG9uZwkxMDE0NDk4NDkzCisJLmxvbmcJMzU2MTc5MzkwNworCS5sb25nCTEwNzIwNzA5OTcKKwkubG9uZwkxMTU3MDU0MDUzCisJLmxvbmcJMTAxMTg5MDM1MAorCS5sb25nCTMzMzkyMDM1NzQKKwkubG9uZwkxMDcyMDY3MDA5CisJLmxvbmcJMTQ4MzQ5Nzc4MAorCS5sb25nCTMxNjI0MDg3NTQKKwkubG9uZwkyMTg2NjE3MzgxCisJLmxvbmcJMTA3MjA2MzAzMgorCS5sb25nCTIyNzA3NjQwODQKKwkubG9uZwkzMTYzMjcyNzEzCisJLmxvbmcJNDI3Mzc3MDQyMworCS5sb25nCTEwNzIwNTkwNjUKKwkubG9uZwkzMzgzMTgwODA5CisJLmxvbmcJMzE2MzIxODkwMQorCS5sb25nCTg4NTgzNDUyOAorCS5sb25nCTEwNzIwNTUxMTAKKwkubG9uZwkxOTczMjU4NTQ3CisJLmxvbmcJMzE2MjI2MTU2NAorCS5sb25nCTQ4ODE4ODQxMworCS5sb25nCTEwNzIwNTExNjUKKwkubG9uZwkzMTk5ODIxMDI5CisJLmxvbmcJMTAxNTU2NDA0OAorCS5sb25nCTI5NTY2MTI5OTcKKwkubG9uZwkxMDcyMDQ3MjMwCisJLmxvbmcJMjExODE2OTc1MQorCS5sb25nCTMxNjI3MzU1NTMKKwkubG9uZwkzODcyMjU3NzgwCisJLmxvbmcJMTA3MjA0MzMwNgorCS5sb25nCTEyNTM1OTIxMDMKKwkubG9uZwkxMDE1OTU4MzM0CisJLmxvbmcJMzExMTU3NDUzNworCS5sb25nCTEwNzIwMzkzOTMKKwkubG9uZwkyNjA2MTYxNDc5CisJLmxvbmcJMzE2Mjc1OTc0NgorCS5sb25nCTU1MTM0OTEwNQorCS5sb25nCTEwNzIwMzU0OTEKKwkubG9uZwkzODIxOTE2MDUwCisJLmxvbmcJMzE2MjEwNjU4OQorCS5sb25nCTM2MzY2Nzc4NAorCS5sb25nCTEwNzIwMzE1OTkKKwkubG9uZwk4MTM3NTM5NTAKKwkubG9uZwkxMDE1Nzg1MjA5CisJLmxvbmcJMjQyNTk4MTg0MworCS5sb25nCTEwNzIwMjc3MTcKKwkubG9uZwkyODMwMzkwODUxCisJLmxvbmcJMzE2MzM0NjU5OQorCS5sb25nCTIzMjExMDY2MTUKKwkubG9uZwkxMDcyMDIzODQ2CisJLmxvbmcJMjE3MTE3NjYxMAorCS5sb25nCTEwMDk1MzU3NzEKKwkubG9uZwk0MjIyMTIyNDk5CisJLmxvbmcJMTA3MjAxOTk4NQorCS5sb25nCTEyNzczNzgwNzQKKwkubG9uZwkzMTYzMjU2NzM3CisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTEwNzIwMTYxMzUKKwkubG9uZwk4ODQ5MTk0OQorCS5sb25nCTEwMTU0Mjc2NjAKKwkubG9uZwk2NzEwMjUxMDAKKwkubG9uZwkxMDcyMDEyMjk2CisJLmxvbmcJMzgzMjAxNDM1MQorCS5sb25nCTMxNjMwMjIwMzAKKwkubG9uZwkzNTY2NzE2OTI1CisJLmxvbmcJMTA3MjAwODQ2NgorCS5sb25nCTE1MzY4MjY4NTYKKwkubG9uZwkxMDE0MTQyNDMzCisJLmxvbmcJMzY4OTA3MTgyMworCS5sb25nCTEwNzIwMDQ2NDcKKwkubG9uZwkyMzIxMDA0OTk2CisJLmxvbmcJMzE2MjU1MjcxNgorCS5sb25nCTkxNzg0MTg4MgorCS5sb25nCTEwNzIwMDA4MzkKKwkubG9uZwkxODcxNTU2NQorCS5sb25nCTEwMTU2NTkzMDgKKwkubG9uZwkzNzIzMDM4OTMwCisJLmxvbmcJMTA3MTk5NzA0MAorCS5sb25nCTM3ODQ2NTI2NAorCS5sb25nCTMxNjI1Njk1ODIKKwkubG9uZwkzMzk1MTI5ODcxCisJLmxvbmcJMTA3MTk5MzI1MgorCS5sb25nCTQwMjUzNDU0MzUKKwkubG9uZwkzMTYyMzM1Mzg4CisJLmxvbmcJNDEwOTgwNjg4NworCS5sb25nCTEwNzE5ODk0NzQKKwkubG9uZwk0MjI0MDM5NjYKKwkubG9uZwkxMDE0NDY5MjI5CisJLmxvbmcJMTQ1MzE1MDA4MgorCS5sb25nCTEwNzE5ODU3MDcKKwkubG9uZwk0OTgxNTQ2NjkKKwkubG9uZwkzMTYxNDg4MDYyCisJLmxvbmcJMzg5NjQ2MzA4NworCS5sb25nCTEwNzE5ODE5NDkKKwkubG9uZwkxMTM5Nzk3ODczCisJLmxvbmcJMzE2MTIzMzgwNQorCS5sb25nCTI3MzE1MDExMjIKKwkubG9uZwkxMDcxOTc4MjAyCisJLmxvbmcJMTc3NDAzMTg1NQorCS5sb25nCTMxNjI0NzAwMjEKKwkubG9uZwkyMTM1MjQxMTk4CisJLmxvbmcJMTA3MTk3NDQ2NQorCS5sb25nCTEyMzY3NDc4NzEKKwkubG9uZwkxMDEzNTg5MTQ3CisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzE5NzA3MzgKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2MjgxMzE5MworCS5sb25nCTIxNzg0NjA2NzEKKwkubG9uZwkxMDcxOTY3MDIxCisJLmxvbmcJNzc3ODc4MDk4CisJLmxvbmcJMzE2Mjg0MjQ5MworCS5sb25nCTI1ODM1NTEyNDUKKwkubG9uZwkxMDcxOTYzMzE0CisJLmxvbmcJMzE2MTA5NDE5NQorCS5sb25nCTEwMTU2MDY0OTEKKwkubG9uZwkzMDg4NTY0NTAwCisJLmxvbmcJMTA3MTk1OTYxNworCS5sb25nCTE3NjIzMTE1MTcKKwkubG9uZwkxMDE1MDQ1NjczCisJLmxvbmcJMzU3NzA5Njc0MworCS5sb25nCTEwNzE5NTU5MzAKKwkubG9uZwkyOTUxNDk2NDE4CisJLmxvbmcJMTAxMzc5MzY4NworCS5sb25nCTM5MzMwNTkwMzEKKwkubG9uZwkxMDcxOTUyMjUzCisJLmxvbmcJMjEzMzM2Njc2OAorCS5sb25nCTMxNjE1MzE4MzIKKwkubG9uZwk0MDQwNjc2MzE4CisJLmxvbmcJMTA3MTk0ODU4NgorCS5sb25nCTQwOTA2MDkyMzgKKwkubG9uZwkxMDE1NjYzNDU4CisJLmxvbmcJMzc4NDQ4NjYxMAorCS5sb25nCTEwNzE5NDQ5MjkKKwkubG9uZwkxNTgxODgzMDQwCisJLmxvbmcJMzE2MTY5ODk1MworCS5sb25nCTMwNDkzNDAxMTIKKwkubG9uZwkxMDcxOTQxMjgyCisJLmxvbmcJMzA2MjkxNTgyNAorCS5sb25nCTEwMTMxNzA1OTUKKwkubG9uZwkxNzIwMzk4MzkxCisJLmxvbmcJMTA3MTkzNzY0NQorCS5sb25nCTM5ODA2Nzg5NjMKKwkubG9uZwkzMTYzMzAwMDgwCisJLmxvbmcJMzk3ODEwMDgyMworCS5sb25nCTEwNzE5MzQwMTcKKwkubG9uZwkzNTEzMDI3MTkwCisJLmxvbmcJMTAxNTg0NTk2MworCS5sb25nCTExMTgyOTQ1NzgKKwkubG9uZwkxMDcxOTMwNDAwCisJLmxvbmcJMjE5NzQ5NTY5NAorCS5sb25nCTMxNTk5MDk0MDEKKwkubG9uZwkxNjE3MDA0ODQ1CisJLmxvbmcJMTA3MTkyNjc5MgorCS5sb25nCTgyODA0OTQ0CisJLmxvbmcJMTAxMDM0Mjc3OAorCS5sb25nCTEwNjU2NjI5MzIKKwkubG9uZwkxMDcxOTIzMTk0CisJLmxvbmcJMjUzMzY3MDkxNQorCS5sb25nCTEwMTQ1MzAyMzgKKwkubG9uZwkzNjQ1OTQxOTExCisJLmxvbmcJMTA3MTkxOTYwNQorCS5sb25nCTM4MTQ2ODUwODEKKwkubG9uZwkzMTYxNTczMzQxCisJLmxvbmcJNjU0OTE5MzA2CisJLmxvbmcJMTA3MTkxNjAyNworCS5sb25nCTMyMzI5NjE3NTcKKwkubG9uZwkzMTYzMDQ3NDY5CisJLmxvbmcJNTY5ODQ3MzM4CisJLmxvbmcJMTA3MTkxMjQ1OAorCS5sb25nCTQ3Mjk0NTI3MgorCS5sb25nCTMxNTkyOTA3MjkKKwkubG9uZwkzMjc4MzQ4MzI0CisJLmxvbmcJMTA3MTkwODg5OAorCS5sb25nCTMwNjk0OTc0MTYKKwkubG9uZwkxMDE0NzUwNzEyCisJLmxvbmcJNzg0MTM4NTIKKwkubG9uZwkxMDcxOTA1MzQ5CisJLmxvbmcJNDE4MzIyNjg2NworCS5sb25nCTMxNjMwMTcyNTEKKwkubG9uZwkzNzQzMTc1MDI5CisJLmxvbmcJMTA3MTkwMTgwOAorCS5sb25nCTIwNzI4MTI0OTAKKwkubG9uZwkzMTYyMTc1MDc1CisJLmxvbmcJMTI3NjI2MTQxMAorCS5sb25nCTEwNzE4OTgyNzgKKwkubG9uZwkzMDA5ODE5NDgKKwkubG9uZwkxMDE0Njg0MTY5CisJLmxvbmcJMTE1NjQ0MDQzNQorCS5sb25nCTEwNzE4OTQ3NTcKKwkubG9uZwkyMzUxNDUxMjQ5CisJLmxvbmcJMTAxMzk2NzA1NgorCS5sb25nCTMyNzI4NDU1NDEKKwkubG9uZwkxMDcxODkxMjQ1CisJLmxvbmcJOTI4ODUyNDE5CisJLmxvbmcJMzE2MzQ4ODI0OAorCS5sb25nCTMyMTk5NDI2NDQKKwkubG9uZwkxMDcxODg3NzQzCisJLmxvbmcJMzc5ODk5MDYxNgorCS5sb25nCTEwMTUzNjg4MDYKKwkubG9uZwk4ODc0NjM5MjcKKwkubG9uZwkxMDcxODg0MjUxCisJLmxvbmcJMzU5Njc0NDE2MworCS5sb25nCTMxNjA3OTQxNjYKKwkubG9uZwk0NjA0MDcwMjMKKwkubG9uZwkxMDcxODgwNzY4CisJLmxvbmcJNDIzNzE3NTA5MgorCS5sb25nCTMxNjMxMzg0NjkKKwkubG9uZwkxODI5MDk5NjIyCisJLmxvbmcJMTA3MTg3NzI5NAorCS5sb25nCTEwMTY2NjExODEKKwkubG9uZwkzMTYzNDYxMDA1CisJLmxvbmcJNTg5MTk4NjY2CisJLmxvbmcJMTA3MTg3MzgzMAorCS5sb25nCTI2NjQzNDYxNzIKKwkubG9uZwkzMTYzMTU3OTYyCisJLmxvbmcJOTI2NTkxNDM1CisJLmxvbmcJMTA3MTg3MDM3NQorCS5sb25nCTMyMDg4MzM3NjIKKwkubG9uZwkzMTYyOTEzNTE0CisJLmxvbmcJMjczMjQ5Mjg1OQorCS5sb25nCTEwNzE4NjY5MjkKKwkubG9uZwkyNjkxNDc5NjQ2CisJLmxvbmcJMzE2MjI1NTY4NAorCS5sb25nCTE2MDM0NDQ3MjEKKwkubG9uZwkxMDcxODYzNDkzCisJLmxvbmcJMTU0ODYzMzY0MAorCS5sb25nCTMxNjIyMDEzMjYKKwkubG9uZwkxNzI2MjE2NzQ5CisJLmxvbmcJMTA3MTg2MDA2NgorCS5sb25nCTI0NjY4MDgyMjgKKwkubG9uZwkzMTYxNjc2NDA1CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzE4NTY2NDgKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNTIyODE5MworCS5sb25nCTEwMDA5MjU3NDYKKwkubG9uZwkxMDcxODUzMjQwCisJLmxvbmcJMTAxODQ5MTY3MgorCS5sb25nCTMxNjMzMDk1NDQKKwkubG9uZwk0MjMyODk0NTEzCisJLmxvbmcJMTA3MTg0OTg0MAorCS5sb25nCTIzODM5Mzg2ODQKKwkubG9uZwkxMDE0NjY4NTE5CisJLmxvbmcJMzk5MTg0MzU4MQorCS5sb25nCTEwNzE4NDY0NTAKKwkubG9uZwk0MDkyODUzNDU3CisJLmxvbmcJMTAxNDU4NTc2MworCS5sb25nCTE3MTAzMDI5MworCS5sb25nCTEwNzE4NDMwNzAKKwkubG9uZwkzNTI2NDYwMTMyCisJLmxvbmcJMTAxNDQyODc3OAorCS5sb25nCTEyNTM5MzUyMTEKKwkubG9uZwkxMDcxODM5Njk4CisJLmxvbmcJMTM5NTM4MjkzMQorCS5sb25nCTMxNTk3MDI2MTMKKwkubG9uZwkyODM5NDI0ODU0CisJLmxvbmcJMTA3MTgzNjMzNQorCS5sb25nCTExNzE1OTYxNjMKKwkubG9uZwkxMDEzMDQxNjc5CisJLmxvbmcJNTI2NjUyODA5CisJLmxvbmcJMTA3MTgzMjk4MgorCS5sb25nCTQyMjM0NTk3MzYKKwkubG9uZwkxMDE1ODc5Mzc1CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzE4Mjk2MzcKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNTAyMjE1MQorCS5sb25nCTk2NDEwNzA1NQorCS5sb25nCTEwNzE4MjYzMDIKKwkubG9uZwkyODAwNDM5NTg4CisJLmxvbmcJMzE2MjgzMzIyMQorCS5sb25nCTM1MDQwMDM0NzIKKwkubG9uZwkxMDcxODIyOTc1CisJLmxvbmcJMzU5NDAwMTA2MAorCS5sb25nCTMxNTczMzA2NTIKKwkubG9uZwkxNzI0OTc2OTE1CisJLmxvbmcJMTA3MTgxOTY1OAorCS5sb25nCTQyMDkwOTIyMworCS5sb25nCTMxNjMxMTczNzkKKwkubG9uZwk0MTEyNTA2NTkzCisJLmxvbmcJMTA3MTgxNjM0OQorCS5sb25nCTI5NDczNTUyMjEKKwkubG9uZwkxMDE0MzcxMDQ4CisJLmxvbmcJMTk3MjQ4NDk3NgorCS5sb25nCTEwNzE4MTMwNTAKKwkubG9uZwk2NzUyOTAzMDEKKwkubG9uZwkzMTYxNjQwMDUwCisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzE4MDk3NTkKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2MzE4MDA5MAorCS5sb25nCTg3NDM3MjkwNQorCS5sb25nCTEwNzE4MDY0NzgKKwkubG9uZwkxMDAyNjM3ODgKKwkubG9uZwkxMDE1OTQwNzMyCisJLmxvbmcJMTcwOTM0MTkxNworCS5sb25nCTEwNzE4MDMyMDUKKwkubG9uZwkyNTcxMTY4MjE3CisJLmxvbmcJMTAxNDE1MjQ5OQorCS5sb25nCTE4OTc4NDQzNDEKKwkubG9uZwkxMDcxNzk5OTQxCisJLmxvbmcJMTI1NDMwMDQ2MAorCS5sb25nCTEwMTUyNzU5MzgKKwkubG9uZwkxMzM3MTA4MDMxCisJLmxvbmcJMTA3MTc5NjY4NgorCS5sb25nCTMyMDM3MjQ0NTIKKwkubG9uZwkxMDE0Njc3ODQ1CisJLmxvbmcJNDIxOTYwNjAyNgorCS5sb25nCTEwNzE3OTM0MzkKKwkubG9uZwkyNDM0NTc0NzQyCisJLmxvbmcJMTAxNDY4MTU0OAorCS5sb25nCTE4NTMxODY2MTYKKwkubG9uZwkxMDcxNzkwMjAyCisJLmxvbmcJMzA2NjQ5NjM3MQorCS5sb25nCTEwMTU2NTY1NzQKKwkubG9uZwkyNzI1ODQzNjY1CisJLmxvbmcJMTA3MTc4Njk3MworCS5sb25nCTE0MzM5MTcwODcKKwkubG9uZwkxMDE0ODM4NTIzCisJLmxvbmcJMjQ0MDk0NDc5MAorCS5sb25nCTEwNzE3ODM3NTMKKwkubG9uZwkyNDkyNzY5Nzc0CisJLmxvbmcJMTAxNDE0NzQ1NAorCS5sb25nCTg5NzA5OTgwMQorCS5sb25nCTEwNzE3ODA1NDIKKwkubG9uZwk3NTQ3NTYyOTcKKwkubG9uZwkxMDE1MjQxMDA1CisJLmxvbmcJMjI4ODE1OTk1OAorCS5sb25nCTEwNzE3NzczMzkKKwkubG9uZwkyMTY5MTQ0NDY5CisJLmxvbmcJMTAxNDg3NjAyMQorCS5sb25nCTIyMTgzMTUzNDEKKwkubG9uZwkxMDcxNzc0MTQ1CisJLmxvbmcJMjY5NDI5NTM4OAorCS5sb25nCTMxNjMyODg4NjgKKwkubG9uZwk1ODY5OTU5OTcKKwkubG9uZwkxMDcxNzcwOTYwCisJLmxvbmcJNDE2NjIzNDgKKwkubG9uZwkzMTYyNjI3OTkyCisJLmxvbmcJMTU4ODg3MTIwNworCS5sb25nCTEwNzE3Njc3ODMKKwkubG9uZwkxNDM0Mzk1ODIKKwkubG9uZwkzMTYyOTYzNDE2CisJLmxvbmcJODI4OTQ2ODU4CisJLmxvbmcJMTA3MTc2NDYxNQorCS5sb25nCTEwNjQyNDkyCisJLmxvbmcJMTAxNTkzOTQzOAorCS5sb25nCTI1MDI0MzM4OTkKKwkubG9uZwkxMDcxNzYxNDU1CisJLmxvbmcJMjE0ODU5NTkxMworCS5sb25nCTEwMTUwMjM5OTEKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MTc1ODMwNAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjMxMTY0MjIKKwkubG9uZwk0MTYyMDMwMTA4CisJLmxvbmcJMTA3MTc1NTE2MQorCS5sb25nCTI3NjM0Mjg0ODAKKwkubG9uZwkxMDE1NTI5MzQ5CisJLmxvbmcJMzk0OTk3MjM0MQorCS5sb25nCTEwNzE3NTIwMjcKKwkubG9uZwkyMDY4NDA4NTQ4CisJLmxvbmcJMTAxNDkxMzg2OAorCS5sb25nCTE0ODAwMjMzNDMKKwkubG9uZwkxMDcxNzQ4OTAyCisJLmxvbmcJMjI0NzE5NjE2OAorCS5sb25nCTEwMTUzMjc0NTMKKwkubG9uZwk5NDg3MzU0NjYKKwkubG9uZwkxMDcxNzQ1Nzg1CisJLmxvbmcJMzUxNjMzODAyOAorCS5sb25nCTMxNjI1NzQ4ODMKKwkubG9uZwkyMjU3OTU5ODcyCisJLmxvbmcJMTA3MTc0MjY3NgorCS5sb25nCTM4MDI5NDYxNDgKKwkubG9uZwkxMDEyOTY0OTI3CisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzE3Mzk1NzYKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MTU1OTEwNQorCS5sb25nCTE0MTY3NDE4MjYKKwkubG9uZwkxMDcxNzM2NDg0CisJLmxvbmcJMjE5NjM4MDIxMAorCS5sb25nCTEwMTE0MTM1NjMKKwkubG9uZwkzMzY2MjkzMDczCisJLmxvbmcJMTA3MTczMzQwMAorCS5sb25nCTMxMTk0MjYzMTQKKwkubG9uZwkxMDE0MTIwNTU0CisJLmxvbmcJMjQ3MTQ0MDY4NgorCS5sb25nCTEwNzE3MzAzMjUKKwkubG9uZwk5Njg4MzYyNjcKKwkubG9uZwkzMTYyMjE0ODg4CisJLmxvbmcJMjkzMDMyMjkxMgorCS5sb25nCTEwNzE3MjcyNTgKKwkubG9uZwkyNTk5NDk5NDIyCisJLmxvbmcJMzE2MjcxNDA0NworCS5sb25nCTM1MTQwNTIyNworCS5sb25nCTEwNzE3MjQyMDAKKwkubG9uZwkzMTI1MzM3MzI4CisJLmxvbmcJMzE1OTgyMjQ3OQorCS5sb25nCTMyMjgzMTYxMDgKKwkubG9uZwkxMDcxNzIxMTQ5CisJLmxvbmcJMzAxMDI0MTk5MQorCS5sb25nCTMxNTg0MjI4MDQKKwkubG9uZwkyODc1MDc1MjU0CisJLmxvbmcJMTA3MTcxODEwNworCS5sb25nCTQxNDQyMzMzMzAKKwkubG9uZwkzMTYzMzMzNzE2CisJLmxvbmcJMzQ5MDg2Mzk1MworCS5sb25nCTEwNzE3MTUwNzMKKwkubG9uZwk5NjA3OTc0OTgKKwkubG9uZwkzMTYyOTQ4ODgwCisJLmxvbmcJNjg1MTg3OTAyCisJLmxvbmcJMTA3MTcxMjA0OAorCS5sb25nCTM3ODczMTk4OQorCS5sb25nCTEwMTQ4NDMxMTUKKwkubG9uZwkyOTUyNzEyOTg3CisJLmxvbmcJMTA3MTcwOTAzMAorCS5sb25nCTMyOTM0OTQ2NTEKKwkubG9uZwkzMTYwMTIwMzAxCisJLmxvbmcJMTYwODQ5MzUwOQorCS5sb25nCTEwNzE3MDYwMjEKKwkubG9uZwkzMTU5NjIyMTcxCisJLmxvbmcJMzE2MjgwNzczNworCS5sb25nCTg1Mjc0MjU2MgorCS5sb25nCTEwNzE3MDMwMjAKKwkubG9uZwk2NjcyNTM1ODYKKwkubG9uZwkxMDA5NzkzNTU5CisJLmxvbmcJNTkwOTYyMTU2CisJLmxvbmcJMTA3MTcwMDAyNworCS5sb25nCTM4MjkzNDY2NjYKKwkubG9uZwkzMTYzMjc1NTk3CisJLmxvbmcJNzI4OTA5ODE1CisJLmxvbmcJMTA3MTY5NzA0MgorCS5sb25nCTM4MzkzMDIyNQorCS5sb25nCTEwMTUwMjk0NjgKKwkubG9uZwkxMTcyNTk3ODkzCisJLmxvbmcJMTA3MTY5NDA2NQorCS5sb25nCTExNDQzMzI2MworCS5sb25nCTEwMTUzNDc1OTMKKwkubG9uZwkxODI4MjkyODc5CisJLmxvbmcJMTA3MTY5MTA5NgorCS5sb25nCTEyNTU5NTY3NDcKKwkubG9uZwkxMDE1NTg4Mzk4CisJLmxvbmcJMjYwMjUxNDcxMworCS5sb25nCTEwNzE2ODgxMzUKKwkubG9uZwkyMjY4OTI5MzM2CisJLmxvbmcJMTAxNDM1NDI4NAorCS5sb25nCTM0MDIwMzYwOTkKKwkubG9uZwkxMDcxNjg1MTgyCisJLmxvbmcJNDA1ODg5MzM0CisJLmxvbmcJMTAxNTEwNTY1NgorCS5sb25nCTQxMzM4ODE4MjQKKwkubG9uZwkxMDcxNjgyMjM3CisJLmxvbmcJMjE0ODE1NTM0NQorCS5sb25nCTMxNjI5MzEyOTkKKwkubG9uZwk0MTAzNjA3NzYKKwkubG9uZwkxMDcxNjc5MzAxCisJLmxvbmcJMTI2OTk5MDY1NQorCS5sb25nCTEwMTE5NzU4NzAKKwkubG9uZwk3Mjg5MzQ0NTQKKwkubG9uZwkxMDcxNjc2MzcyCisJLmxvbmcJMTQxMzg0MjY4OAorCS5sb25nCTEwMTQxNzg2MTIKKwkubG9uZwk3MDI0MTI1MTAKKwkubG9uZwkxMDcxNjczNDUxCisJLmxvbmcJMzgwMzI2NjA4NworCS5sb25nCTMxNjIyODA0MTUKKwkubG9uZwkyMzg4MjEyNTcKKwkubG9uZwkxMDcxNjcwNTM4CisJLmxvbmcJMTQ2OTY5NDg3MQorCS5sb25nCTMxNjI4ODQ5ODcKKwkubG9uZwkzNTQxNDAyOTk2CisJLmxvbmcJMTA3MTY2NzYzMgorCS5sb25nCTI3NTkxNzczMTcKKwkubG9uZwkxMDE0ODU0NjI2CisJLmxvbmcJMTkyODc0NjE2MQorCS5sb25nCTEwNzE2NjQ3MzUKKwkubG9uZwk5ODM2MTc2NzYKKwkubG9uZwkxMDE0Mjg1MTc3CisJLmxvbmcJMzg5OTU1NTcxNworCS5sb25nCTEwNzE2NjE4NDUKKwkubG9uZwk0MjcyODA3NTAKKwkubG9uZwkzMTYyNTQ2OTcyCisJLmxvbmcJNzcyOTE0MTI0CisJLmxvbmcJMTA3MTY1ODk2NAorCS5sb25nCTQwMDQzNzI3NjIKKwkubG9uZwkxMDEyMjMwMTYxCisJLmxvbmcJMTA0ODAxOTA0MQorCS5sb25nCTEwNzE2NTYwOTAKKwkubG9uZwkxMzk4NDc0ODQ1CisJLmxvbmcJMzE2MDUxMDU5NQorCS5sb25nCTMzOTQxMTU4NQorCS5sb25nCTEwNzE2NTMyMjQKKwkubG9uZwkyNjQ1ODg5ODIKKwkubG9uZwkzMTYxNjM2NjU3CisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzE2NTAzNjUKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNTc2NzMzNworCS5sb25nCTQyMDAyNTA1NTkKKwkubG9uZwkxMDcxNjQ3NTE0CisJLmxvbmcJMjgwODEyNzM0NQorCS5sb25nCTMxNjE3ODE5MzgKKwkubG9uZwkwCisJLmxvbmcJMTEyNzc0MzQ4OAorCS5sb25nCTAKKwkubG9uZwkzMjc1MjI3MTM2CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwODI1OTQ2MzEKKwkubG9uZwk0MTY2OTAxNTcyCisJLmxvbmcJMTA1NTE3NDE1NQorCS5sb25nCTM4ODQ2MDcyODEKKwkubG9uZwkzMTY4MTMxMTk5CisJLmxvbmcJMzYwNzQwNDczNQorCS5sb25nCTMxOTA1ODIwMjQKKwkubG9uZwkxODc0NDgwNzU5CisJLmxvbmcJMTAzMjA0MTEzMQorCS5sb25nCTQyODY3NjAzMzQKKwkubG9uZwkxMDUzNzM2ODkzCisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTMyMTExNDQ3NzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIzNjI4OTUwMworCS5sb25nCTEwNjQxMzU5OTcKKwkubG9uZwk0NjM1ODM3NzIKKwkubG9uZwkzMjE1Njk2MzE0CisJLmxvbmcJMTQ0MTE4NjM2NQorCS5sb25nCTMyMTI5Nzc4OTEKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY5NjE3NDI1CisJLmxvbmcJMjI4NDU4OTMwNgorCS5sb25nCTEwNjY4MjA4NTIKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMzIxODQyOTI2OQorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3MjgwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODAKKwkubG9uZwk0Mjk0NzA1MTUyCisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQyOTQ3MDUxNTIKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDE2MDc0OTU2OAorCS5sb25nCTIxNDc0ODM2NDcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkxMDczNzQxODI0CisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsNDI4MAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2L3NxcnQuUyBiL2xpYm0veDg2L3NxcnQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWQ0MzRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODYvc3FydC5TCkBAIC0wLDAgKzEsNDMgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoc3FydCkKKwltb3YJCSVlc3AsJWVheAorCWFuZAkJJDB4ZmZmZmZmZjgsJWVheAorCW1vdnNkCTB4NCglZXNwKSwleG1tMAorCXNxcnRzZAkleG1tMCwleG1tMAorCW1vdmxwZAkleG1tMCwtMHg4KCVlYXgpCisJZmxkbCAgIC0weDgoJWVheCkKKwlyZXQKK0VORChzcXJ0KQorCitBTElBU19TWU1CT0woc3FydGwsIHNxcnQpOwpkaWZmIC0tZ2l0IGEvbGlibS94ODYvc3FydGYuUyBiL2xpYm0veDg2L3NxcnRmLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhjMTgzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L3NxcnRmLlMKQEAgLTAsMCArMSwzOSBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShzcXJ0ZikKKwltb3ZzcyAgMHg0KCVlc3ApLCV4bW0wCisJc3FydHNzICV4bW0wLCV4bW0wCisJbW92c3MgICV4bW0wLC0weDQoJWVzcCkKKwlmbGRzICAgLTB4NCglZXNwKQorCXJldAorRU5EKHNxcnRmKQpkaWZmIC0tZ2l0IGEvbGlibS94ODYvdHJ1bmMuUyBiL2xpYm0veDg2L3RydW5jLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE5ZDVmYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2L3RydW5jLlMKQEAgLTAsMCArMSw0MyBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWSh0cnVuYykKKwltb3YgICAgJWVzcCwlZWF4CisJYW5kICAgICQweGZmZmZmZmY4LCVlYXgKKwltb3ZzZCAgMHg0KCVlc3ApLCV4bW0wCisJcm91bmRzZCAkMHgzLCV4bW0wLCV4bW0wCisJbW92bHBkICV4bW0wLC0weDgoJWVheCkKKwlmbGRsICAgLTB4OCglZWF4KQorCXJldAorRU5EKHRydW5jKQorCitBTElBU19TWU1CT0wodHJ1bmNsLCB0cnVuYyk7CmRpZmYgLS1naXQgYS9saWJtL3g4Ni90cnVuY2YuUyBiL2xpYm0veDg2L3RydW5jZi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZTNmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Ni90cnVuY2YuUwpAQCAtMCwwICsxLDM5IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKHRydW5jZikKKwltb3ZzcyAgMHg0KCVlc3ApLCV4bW0wCisJcm91bmRzcyAkMHgzLCV4bW0wLCV4bW0wCisJbW92c3MgICV4bW0wLC0weDQoJWVzcCkKKwlmbGRzICAgLTB4NCglZXNwKQorCXJldAorRU5EKHRydW5jZikKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L2NlaWwuUyBiL2xpYm0veDg2XzY0L2NlaWwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDQ5MmM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvY2VpbC5TCkBAIC0wLDAgKzEsMzYgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworRU5UUlkoY2VpbCkKK3JvdW5kc2QgJDB4MiwleG1tMCwleG1tMAorcmV0cQorRU5EKGNlaWwpCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9jZWlsZi5TIGIvbGlibS94ODZfNjQvY2VpbGYuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTFjYTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvY2VpbGYuUwpAQCAtMCwwICsxLDM2IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKGNlaWxmKQorcm91bmRzcyAkMHgyLCV4bW0wLCV4bW0wCityZXRxCitFTkQoY2VpbGYpCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9lX2Fjb3MuUyBiL2xpYm0veDg2XzY0L2VfYWNvcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4M2M2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9lX2Fjb3MuUwpAQCAtMCwwICsxLDE5NTcgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgVG8gY29tcHV0ZSBhY29zKHMpLCBzZXBhcmF0ZSBzY2hlbWVzIGFyZSB1c2VkIHdoZW4gcyBpcyBpbiBkaWZmZXJlbnQKKy8vICBpbnRlcnZhbHMuCisvLworLy8gIHxzfCBpbiBbMl57LTR9LCBzcXJ0KDMpLzIpOgorLy8gICAgICAgTGV0IHQ9Ml5rKjEuYjEgYjIuLmI2IDEsIHdoZXJlIHM9Ml5rKjEuYjEgYjIgLi4gYjUyCisvLyAgICAgICBhY29zKHMpPXBpLzItYXNpbih0KS1hc2luKHIpLCB3aGVyZSByPXMqc3FydCgxLXReMiktdCpzcXJ0KDEtc14yKQorLy8gICAgICAgYXNpbihyKS1yIGV2YWx1YXRlZCBhcyA3LWRlZ3JlZSBwb2x5bm9taWFsIChjMypyXjMrYzUqcl41K2M3KnJeNykKKy8vICAgICAgIEZvciB0aGUgZmlyc3QgZGVncmVlIHRlcm0sIHIgaXMgZXZhbHVhdGVkIGFzCisvLyAgICAgICAgICAgICAgICBSPShzXjItdF4yKS8oc3FydCgxLXReMikqcytzcXJ0KDEtc14yKSp0KQorLy8gICAgICAgKHNxcnQoMS10XjIpIHJlYWQgZnJvbSB0YWJsZSkKKy8vICBUaGUgbWFpbiBzb3VyY2Ugb2YgZXJyb3IgaXMgc3RpbGwgUiAobWF5IHN0aWxsIGJlIGFmZmVjdGVkIGJ5IHVwIHRvIDMgdWxwcworLy8gIG9mIHJvdW5kaW5nIGVycm9yKS4gVGhlIHRhYmxlIHNpemUgbXVzdCBiZSBzdWZmaWNpZW50bHkgbGFyZ2UsIHRvIG1pbmltaXplCisvLyAgdGhpcyBlZmZlY3QuCisvLworLy8gIHxzfCBpbiBbc3FydCgzKS8yLCAyNTUvMjU2KToKKy8vICAgICAgIExldCB0PTJeayoxLmIxIGIyLi5iNiAxLCB3aGVyZSBzcXJ0KDEtc14yKT0yXmsqMS5iMSBiMiAuLiBiNTIgKHJvdW5kZWQpCisvLyAgICAgICBhY29zKHxzfCk9YXNpbih0KS1hc2luKHIpLCByPXMqdC1zcXJ0KDEtc14yKSpzcXJ0KDEtdF4yKQorLy8gICBhY29zKC18c3wpPXBpLWFjb3MofHN8KQorLy8gICAgICAgKFRoZSAtUEkgY29uc3RhbnQsIG9yIDAsIGlzIGFkZGVkIHRvIHRoZSByZXN1bHQuIFRoZSBzaWduIGlzIHNldCBhdAorLy8gICAgICAgIHRoZSBlbmQpCisvLyAgICAgICBhc2luKHIpIGV2YWx1YXRlZCBhcyBhIHBvbHlub21pYWwgKHNhbWUgYXMgYWJvdmUpCisvLyAgICAgICBUaGUgZmlyc3QgZGVncmVlIHRlcm0gaXMgZXZhbHVhdGVkIGFzCisvLyAgICAgICAgICAgICAgICAgICAgICAgIHI9KHNeMit0XjItMSkvKHMqdCtzcXJ0KDEtc14yKSpzcXJ0KDEtdF4yKSkKKy8vCisvLyAgfHN8PDJeey00fTogYWNvcyhzKT1waS8yLWFzaW4ocykKKy8vICAgICAgICAgICAgICBldmFsdWF0ZSBhc2luKHMpIGFzIDEzLWRlZ3JlZSBwb2x5bm9taWFsCisvLworLy8gIHxzfCBpbiBbMjU1LzI1NiwxKTogYWNvcyh8c3wpPTIqYXNpbihxKSwgd2hlcmUgcT1zcXJ0KCgxLXxzfCkvMikKKy8vICBhc2luKHEpIGlzIGV2YWx1YXRlZCBhcyAxMy1kZWdyZWUgcG9seW5vbWlhbAorLy8gICAgICBxXjI9KDEtfHN8KS8yIGlzIG9idGFpbmVkIGluIGFkdmFuY2UKKy8vICAgICAgICAgMipxKmVwcyB+ICgoMS18c3wpLzItcV4yKS9xIHVzZWQgZm9yIGZpcnN0IHRlcm0KKy8vICAgYWNvcygtfHN8KT1waS1hY29zKHxzfCkKKy8vICAgICAgIChUaGUgLVBJIGNvbnN0YW50LCBvciAwLCBpcyBhZGRlZCB0byB0aGUgcmVzdWx0LiBUaGUgc2lnbiBpcyBzZXQgYXQKKy8vICAgICAgICB0aGUgZW5kKQorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgYWNvcyhOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBhY29zKElORikgPSBRTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGFjb3MoeCkgPSBRTmFOIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbiwgZm9yIHx4fD4xLjAKKy8vICBhY29zKDEpID0gKzAKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBhY29zCitFTlRSWShhY29zKQorIyBwYXJhbWV0ZXIgMTogJXhtbTAKKy4uQjEuMToKKy4uX19fdGFnX3ZhbHVlX2Fjb3MuMToKKyAgICAgICAgc3VicSAgICAgICQyNCwgJXJzcAorLi5fX190YWdfdmFsdWVfYWNvcy4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglcnNwKQorLi5CMS4yOgorICAgICAgICBtb3ZzZCAgICAgQUJTVkFMTUFTSyglcmlwKSwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIE9ORU1BU0soJXJpcCksICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbW92c2QgICAgIFRNQVNLKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHBzcmxxICAgICAkNDQsICV4bW0wCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmwgICAgICAkODE5MiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDIsICVlY3gsICV4bW01CisgICAgICAgIG1vdnEgICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQ1MjQyODcsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQyNjA4NjQsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ5NTUsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgYW5kbCAgICAgICQ2NTUzNSwgJWVkeAorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHNxcnRzZCAgICAleG1tMywgJXhtbTMKKyAgICAgICAgYW5kcGQgICAgICV4bW03LCAleG1tMgorICAgICAgICBhbmRsICAgICAgJC00LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkNjQyNTYsICVlZHgKKyAgICAgICAgbGVhICAgICAgIFRfdGFibGUoJXJpcCksICVyOAorICAgICAgICBtb3ZzZCAgICAgKCVyOCwlcmR4LDIpLCAleG1tMQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIGxlYSAgICAgICBUYmxfYWRkciglcmlwKSwgJXI4CisgICAgICAgIG1vdmFwZCAgICAoJXI4LCVyZHgsNCksICV4bW00CisgICAgICAgIG1vdnEgICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBkaXZzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdnNkICAgICAyNCtjdiglcmlwKSwgJXhtbTAKKyAgICAgICAgbW92c2QgICAgIDgrY3YoJXJpcCksICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgcHNybHEgICAgICQ2MywgJXhtbTIKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMworICAgICAgICBwc2xscSAgICAgJDYzLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgMTYrY3YoJXJpcCksICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgc3VicGQgICAgIFBJX0JZXzIoJXJpcCksICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW00LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgc3VibCAgICAgICQ5NTUsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ2NSwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKyAgICAgICAgcHNybHEgICAgICQzOCwgJXhtbTcKKyAgICAgICAgcHNsbHEgICAgICQzOCwgJXhtbTcKKyAgICAgICAgcG1vdm1za2IgICV4bW0wLCAlZWF4CisgICAgICAgIGFuZG5wZCAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTcsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBvcnBkICAgICAgJXhtbTQsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgc3FydHNkICAgICV4bW0zLCAleG1tMworICAgICAgICBhbmRsICAgICAgJDEyOCwgJWVheAorICAgICAgICBzaHJsICAgICAgJDcsICVlYXgKKyAgICAgICAgbmVnbCAgICAgICVlYXgKKyAgICAgICAgbW92cSAgICAgICV4bW0zLCAleG1tNworICAgICAgICBhbmRwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBzbGxxICAgICAkMiwgJXhtbTMKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMywgJWVkeAorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAlZWF4LCAleG1tMworICAgICAgICBwc2h1ZmQgICAgJDAsICV4bW0zLCAleG1tMworICAgICAgICBzdWJsICAgICAgJDY1MjE2LCAlZWR4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIGxlYSAgICAgICBUX3RhYmxlKCVyaXApLCAlcjgKKyAgICAgICAgbXVsc2QgICAgICglcjgsJXJkeCw0KSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBhbmRwZCAgICAgTkVHX1BJKCVyaXApLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBtb3ZzZCAgICAgOCtjdiglcmlwKSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdnNkICAgICAyNCtjdiglcmlwKSwgJXhtbTAKKyAgICAgICAgZGl2c2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgMTYrY3YoJXJpcCksICV4bW0yCisgICAgICAgIGxlYSAgICAgICBUYmxfYWRkciglcmlwKSwgJXI4CisgICAgICAgIGFkZHBkICAgICAoJXI4LCVyZHgsOCksICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgcHhvciAgICAgICV4bW02LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTYKKyAgICAgICAgbW92cSAgICAgICV4bW00LCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTMsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBhZGRsICAgICAgJDE1MjkxLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTQzMzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIHVucGNrbHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIGN2MiglcmlwKSwgJXhtbTYKKyAgICAgICAgdW5wY2tscGQgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgMTYrY3YyKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgMzIrY3YyKCVyaXApLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICBQSV9CWV8yKCVyaXApLCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW00LCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIHN1YmwgICAgICAkMTUzNTYsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ0LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIGFuZHBkICAgICBBQlNWQUxNQVNLKCVyaXApLCAleG1tNworICAgICAgICBtb3ZzZCAgICAgT05FX0JZXzIoJXJpcCksICV4bW00CisgICAgICAgIG1vdmFwZCAgICBjdjIoJXJpcCksICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgbW92YXBkICAgIDE2K2N2MiglcmlwKSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgMzIrY3YyKCVyaXApLCAleG1tMworICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTcKKyAgICAgICAgc3FydHNkICAgICV4bW00LCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW03LCAleG1tNQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgSEFMRk1BU0soJXJpcCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTMKKyAgICAgICAgY21wc2QgICAgICQxLCAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIGFuZHBkICAgICBORUdfUEkoJXJpcCksICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW00LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0zLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGRpdnNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgYWRkcGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhbmRsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIGFkZGwgICAgICAkMjYxODg0LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMjYxODg4LCAlZWF4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBtb3ZkICAgICAgJXhtbTcsICVlY3gKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTcKKyAgICAgICAgbW92ZCAgICAgICV4bW03LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVkeAorICAgICAgICBtb3ZsICAgICAgJDEwNzI2OTMyNDgsICVlYXgKKyAgICAgICAgc3VibCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlY3gsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBtb3ZzZCAgICAgKCVyc3ApLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVjeAorICAgICAgICBzdWJsICAgICAgJDEsICVlZHgKKyAgICAgICAgc2JibCAgICAgICQyMTQ2NDM1MDcyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVjeAorICAgICAgICBqZ2UgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIHBleHRydyAgICAkMSwgJXhtbTcsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQxNSwgJWVkeAorICAgICAgICBuZWdsICAgICAgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQwLCAleG1tNywgJXhtbTcKKyAgICAgICAgbW92c2QgICAgIFBJKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgOCtQSSglcmlwKSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW03LCAleG1tMgorICAgICAgICBhbmRwZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG1vdnNkICAgICBQSV9CWV8yKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgOCtQSV9CWV8yKCVyaXApLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgOCglcnNwKQorLi5CMS4zOgorICAgICAgICBtb3ZxICAgICAgOCglcnNwKSwgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzguMC4yOgorLi5CMS41OgorICAgICAgICBhZGRxICAgICAgJDI0LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9hY29zLjQ6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2Fjb3MuNToKK0VORChhY29zKQorIyAtLSBFbmQgIGFjb3MKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK0FCU1ZBTE1BU0s6CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDc0ODM2NDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCUFCU1ZBTE1BU0ssQG9iamVjdAorCS5zaXplCUFCU1ZBTE1BU0ssMTYKKwkuYWxpZ24gMTYKK1RfdGFibGU6CisJLmxvbmcJMjY0Mjc4NDUwOQorCS5sb25nCTEwNzI2ODkwODMKKwkubG9uZwkxNTE0NDQyNTMxCisJLmxvbmcJMTA3MjY4ODk1MworCS5sb25nCTMzMzEwODkzMworCS5sb25nCTEwNzI2ODg4MjEKKwkubG9uZwkzMzkyMTEyMDI0CisJLmxvbmcJMTA3MjY4ODY4NgorCS5sb25nCTIwOTk4NTI4NjIKKwkubG9uZwkxMDcyNjg4NTUwCisJLmxvbmcJNzQ5NjA5MDA0CisJLmxvbmcJMTA3MjY4ODQxMgorCS5sb25nCTM2MzQ2MzI1OTYKKwkubG9uZwkxMDcyNjg4MjcxCisJLmxvbmcJMjE2MzI0ODQ2MQorCS5sb25nCTEwNzI2ODgxMjkKKwkubG9uZwk2Mjg2NTc4NDYKKwkubG9uZwkxMDcyNjg3OTg1CisJLmxvbmcJMzMyNDAzNjUxMQorCS5sb25nCTEwNzI2ODc4MzgKKwkubG9uZwkxNjU3NjMyODE1CisJLmxvbmcJMTA3MjY4NzY5MAorCS5sb25nCTQyMTc1Mzg3NjAKKwkubG9uZwkxMDcyNjg3NTM5CisJLmxvbmcJMjQxMTk1MTU5NworCS5sb25nCTEwNzI2ODczODcKKwkubG9uZwk1MzM5NDQ4NzIKKwkubG9uZwkxMDcyNjg3MjMzCisJLmxvbmcJMjg3NjU2NjUwOAorCS5sb25nCTEwNzI2ODcwNzYKKwkubG9uZwk4NDc5MzY4OTEKKwkubG9uZwkxMDcyNjg2OTE4CisJLmxvbmcJMzAzNjAxOTkxMworCS5sb25nCTEwNzI2ODY3NTcKKwkubG9uZwk4NDg4ODQ1NzUKKwkubG9uZwkxMDcyNjg2NTk1CisJLmxvbmcJMjg3NDQ0MzMyNgorCS5sb25nCTEwNzI2ODY0MzAKKwkubG9uZwk1MjA3MTM2NjYKKwkubG9uZwkxMDcyNjg2MjY0CisJLmxvbmcJMjM3NTU1NjQ4MQorCS5sb25nCTEwNzI2ODYwOTUKKwkubG9uZwk0MTQxOTA0OTQ4CisJLmxvbmcJMTA3MjY4NTkyNAorCS5sb25nCTE1MjI2NjYzODIKKwkubG9uZwkxMDcyNjg1NzUyCisJLmxvbmcJMzEwNTYyNDEwNAorCS5sb25nCTEwNzI2ODU1NzcKKwkubG9uZwkyOTg2NjYzMjcKKwkubG9uZwkxMDcyNjg1NDAxCisJLmxvbmcJMTY4OTUyNDUwMAorCS5sb25nCTEwNzI2ODUyMjIKKwkubG9uZwkyOTgxMDAyMjAwCisJLmxvbmcJMTA3MjY4NTA0MQorCS5sb25nCTQxNzA4NDQyODQKKwkubG9uZwkxMDcyNjg0ODU4CisJLmxvbmcJOTYxODAyMjYzCisJLmxvbmcJMTA3MjY4NDY3NAorCS5sb25nCTE5NDE1MDM0NTQKKwkubG9uZwkxMDcyNjg0NDg3CisJLmxvbmcJMjgxMjY0NzE3MAorCS5sb25nCTEwNzI2ODQyOTgKKwkubG9uZwkzNTcyODczODY5CisJLmxvbmcJMTA3MjY4NDEwNworCS5sb25nCTQyMTk3OTc4MjMKKwkubG9uZwkxMDcyNjgzOTE0CisJLmxvbmcJNDU2MDM5Nzg4CisJLmxvbmcJMTA3MjY4MzcyMAorCS5sb25nCTg2OTA5NjE1MQorCS5sb25nCTEwNzI2ODM1MjMKKwkubG9uZwkxMTYxNTM1MTE5CisJLmxvbmcJMTA3MjY4MzMyNAorCS5sb25nCTEzMzA4NjU4NjYKKwkubG9uZwkxMDcyNjgzMTIzCisJLmxvbmcJMTM3NDU3MTIwNAorCS5sb25nCTEwNzI2ODI5MjAKKwkubG9uZwkxMjkwMTA3NTM4CisJLmxvbmcJMTA3MjY4MjcxNQorCS5sb25nCTEwNzQ5MDQ4MzYKKwkubG9uZwkxMDcyNjgyNTA4CisJLmxvbmcJNzI2MzY2NTg3CisJLmxvbmcJMTA3MjY4MjI5OQorCS5sb25nCTI0MTg2OTc2MworCS5sb25nCTEwNzI2ODIwODgKKwkubG9uZwkzOTEzNzMyMDc5CisJLmxvbmcJMTA3MjY4MTg3NAorCS5sb25nCTMxNDkzNDI3NjUKKwkubG9uZwkxMDcyNjgxNjU5CisJLmxvbmcJMjI0MDk2NjMwNgorCS5sb25nCTEwNzI2ODE0NDIKKwkubG9uZwkxMTg1ODczMjE2CisJLmxvbmcJMTA3MjY4MTIyMworCS5sb25nCTQyNzYyNzQ1OTEKKwkubG9uZwkxMDcyNjgxMDAxCisJLmxvbmcJMjkxOTQ1Mjg4MworCS5sb25nCTEwNzI2ODA3NzgKKwkubG9uZwkxNDA3NTY1NjM1CisJLmxvbmcJMTA3MjY4MDU1MworCS5sb25nCTQwMzI3NDM1NTEKKwkubG9uZwkxMDcyNjgwMzI1CisJLmxvbmcJMjIwMjE4ODU2NQorCS5sb25nCTEwNzI2ODAwOTYKKwkubG9uZwkyMDc5Nzc1NzcKKwkubG9uZwkxMDcyNjc5ODY1CisJLmxvbmcJMjM0MjE2MDUxOAorCS5sb25nCTEwNzI2Nzk2MzEKKwkubG9uZwkxMTg1ODQyMworCS5sb25nCTEwNzI2NzkzOTYKKwkubG9uZwkxODA0MDM0NDUzCisJLmxvbmcJMTA3MjY3OTE1OAorCS5sb25nCTM0MjA3MjI3ODcKKwkubG9uZwkxMDcyNjc4OTE4CisJLmxvbmcJNTYzOTMwNDU2CisJLmxvbmcJMTA3MjY3ODY3NworCS5sb25nCTE4MjA1MzkxOTIKKwkubG9uZwkxMDcyNjc4NDMzCisJLmxvbmcJMjg5MjUwMTYwNgorCS5sb25nCTEwNzI2NzgxODcKKwkubG9uZwkzNzc2NzEwMzIwCisJLmxvbmcJMTA3MjY3NzkzOQorCS5sb25nCTE3NTA2MzMzNworCS5sb25nCTEwNzI2Nzc2OTAKKwkubG9uZwk2NzQzMzMxNzEKKwkubG9uZwkxMDcyNjc3NDM4CisJLmxvbmcJOTc2MzYzMDI2CisJLmxvbmcJMTA3MjY3NzE4NAorCS5sb25nCTEwNzc5MzU5MzQKKwkubG9uZwkxMDcyNjc2OTI4CisJLmxvbmcJMTkyMTA3NTQ5MAorCS5sb25nCTEwNzI2NzY1NDAKKwkubG9uZwk4ODE0OTMzMDIKKwkubG9uZwkxMDcyNjc2MDE2CisJLmxvbmcJMzI3NTc1MjQzOQorCS5sb25nCTEwNzI2NzU0ODMKKwkubG9uZwk0ODY4NTU1ODgKKwkubG9uZwkxMDcyNjc0OTQzCisJLmxvbmcJMTA3NzIyOTExMQorCS5sb25nCTEwNzI2NzQzOTQKKwkubG9uZwk3MjM5NTAzMDgKKwkubG9uZwkxMDcyNjczODM3CisJLmxvbmcJMzY5MzU4MjE5OQorCS5sb25nCTEwNzI2NzMyNzEKKwkubG9uZwkxMzY3MzM1MzE2CisJLmxvbmcJMTA3MjY3MjY5OAorCS5sb25nCTIzMDU4MzcwMjAKKwkubG9uZwkxMDcyNjcyMTE2CisJLmxvbmcJMjE4NDM1ODY0MQorCS5sb25nCTEwNzI2NzE1MjYKKwkubG9uZwk5NzI2ODI4NDAKKwkubG9uZwkxMDcyNjcwOTI4CisJLmxvbmcJMjkzNTEwMTc2MgorCS5sb25nCTEwNzI2NzAzMjEKKwkubG9uZwkzNzQ1NTEzMjYzCisJLmxvbmcJMTA3MjY2OTcwNgorCS5sb25nCTMzNzIzMjA4ODYKKwkubG9uZwkxMDcyNjY5MDgzCisJLmxvbmcJMTc4MzQ2NDYyMAorCS5sb25nCTEwNzI2Njg0NTIKKwkubG9uZwkzMjQxMzg2MjE1CisJLmxvbmcJMTA3MjY2NzgxMgorCS5sb25nCTM0MTgxMjUyODQKKwkubG9uZwkxMDcyNjY3MTY0CisJLmxvbmcJMjI4MDIxOTE0OAorCS5sb25nCTEwNzI2NjY1MDgKKwkubG9uZwk0MDg4NzAwNzU4CisJLmxvbmcJMTA3MjY2NTg0MworCS5sb25nCTIxOTIyNzQwMAorCS5sb25nCTEwNzI2NjUxNzEKKwkubG9uZwkzNTIxODE2OTE4CisJLmxvbmcJMTA3MjY2NDQ4OQorCS5sb25nCTEwNzYyMDUyNzkKKwkubG9uZwkxMDcyNjYzODAwCisJLmxvbmcJMTQzNjQ4NDYxNgorCS5sb25nCTEwNzI2NjMxMDIKKwkubG9uZwkyNzEzNjI2MTAKKwkubG9uZwkxMDcyNjYyMzk2CisJLmxvbmcJMTgzODk5NjY4OAorCS5sb25nCTEwNzI2NjE2ODEKKwkubG9uZwkxODA3MTIyNTE4CisJLmxvbmcJMTA3MjY2MDk1OAorCS5sb25nCTEzNzk1MzU0MgorCS5sb25nCTEwNzI2NjAyMjcKKwkubG9uZwkxMDg4MTc4NTg0CisJLmxvbmcJMTA3MjY1OTQ4NworCS5sb25nCTMyNDA1NzUzNworCS5sb25nCTEwNzI2NTg3MzkKKwkubG9uZwkyMTAxMjg4MDc2CisJLmxvbmcJMTA3MjY1Nzk4MgorCS5sb25nCTIwODUxMzM5NzQKKwkubG9uZwkxMDcyNjU3MjE3CisJLmxvbmcJMjM1MzI0NDUxCisJLmxvbmcJMTA3MjY1NjQ0NAorCS5sb25nCTgwNjA1MTU5MgorCS5sb25nCTEwNzI2NTU2NjIKKwkubG9uZwkzNzU2MDMzMTQwCisJLmxvbmcJMTA3MjY1NDg3MQorCS5sb25nCTQ1MzU0MjU0MworCS5sb25nCTEwNzI2NTQwNzMKKwkubG9uZwkzNzQxMTc3MzI3CisJLmxvbmcJMTA3MjY1MzI2NQorCS5sb25nCTY5MTIxNjEwOQorCS5sb25nCTEwNzI2NTI0NTAKKwkubG9uZwk0MTQ1MjIzMzcyCisJLmxvbmcJMTA3MjY1MTYyNQorCS5sb25nCTExNzQ0MzkwOTEKKwkubG9uZwkxMDcyNjUwNzkzCisJLmxvbmcJMzI0NDE2MTM5CisJLmxvbmcJMTA3MjY0OTk1MgorCS5sb25nCTE1NTAyNDYzMTAKKwkubG9uZwkxMDcyNjQ5MTAyCisJLmxvbmcJNTExNTI0Njc0CisJLmxvbmcJMTA3MjY0ODI0NAorCS5sb25nCTE0NTcyNDg0ODIKKwkubG9uZwkxMDcyNjQ3Mzc3CisJLmxvbmcJNDU5NDQ5NTUKKwkubG9uZwkxMDcyNjQ2NTAyCisJLmxvbmcJNTI1NTM3Mzk3CisJLmxvbmcJMTA3MjY0NTYxOAorCS5sb25nCTI4NDg0NDAxODgKKwkubG9uZwkxMDcyNjQ0NzI1CisJLmxvbmcJMjY3MTU1NTYzMworCS5sb25nCTEwNzI2NDM4MjQKKwkubG9uZwk0MjQxMTcyNjM3CisJLmxvbmcJMTA3MjY0MjkxNAorCS5sb25nCTMyMTMwOTQyNzgKKwkubG9uZwkxMDcyNjQxOTk2CisJLmxvbmcJMzgzMjUwMzY4OAorCS5sb25nCTEwNzI2NDEwNjkKKwkubG9uZwkxNzU0MDkxNTM0CisJLmxvbmcJMTA3MjY0MDEzNAorCS5sb25nCTEyMjE5MjE4MDQKKwkubG9uZwkxMDcyNjM5MTkwCisJLmxvbmcJMjE4NDUyNjQ4OQorCS5sb25nCTEwNzI2MzgyMzcKKwkubG9uZwkyOTQ5MDIwODkKKwkubG9uZwkxMDcyNjM3Mjc2CisJLmxvbmcJNDA5MDM3NTI3MAorCS5sb25nCTEwNzI2MzYzMDUKKwkubG9uZwk2MzI4NjA5MDYKKwkubG9uZwkxMDcyNjM1MzI3CisJLmxvbmcJMjc1MzQ5ODcwMgorCS5sb25nCTEwNzI2MzQzMzkKKwkubG9uZwkxODA4MDA5MjUyCisJLmxvbmcJMTA3MjYzMzM0MworCS5sb25nCTIwMzY0Mjg2NzIKKwkubG9uZwkxMDcyNjMyMzM4CisJLmxvbmcJMzM4MzIzNTYyNgorCS5sb25nCTEwNzI2MzEzMjQKKwkubG9uZwkxNDk3MzQ3NDg0CisJLmxvbmcJMTA3MjYzMDMwMgorCS5sb25nCTYxNzAxODMxNworCS5sb25nCTEwNzI2MjkyNzEKKwkubG9uZwk2ODQ5MzMwNTgKKwkubG9uZwkxMDcyNjI4MjMxCisJLmxvbmcJMTY0MzE3MDc5OAorCS5sb25nCTEwNzI2MjcxODIKKwkubG9uZwkzMDExMDY2MzYwCisJLmxvbmcJMTA3MjYyNTU5MgorCS5sb25nCTk1NzE1ODcxMworCS5sb25nCTEwNzI2MjM0NDIKKwkubG9uZwkxMzkwOTA3OTQxCisJLmxvbmcJMTA3MjYyMTI1NgorCS5sb25nCTM4MTkxNTUyNzAKKwkubG9uZwkxMDcyNjE5MDM0CisJLmxvbmcJMzQ0MzU3MTE5NgorCS5sb25nCTEwNzI2MTY3NzcKKwkubG9uZwk0MDQ1NDEyNDU4CisJLmxvbmcJMTA3MjYxNDQ4NAorCS5sb25nCTgwNTUwMzkyMworCS5sb25nCTEwNzI2MTIxNTYKKwkubG9uZwkxNzc4OTIyMDE1CisJLmxvbmcJMTA3MjYwOTc5MQorCS5sb25nCTIxMjUwMzM2NjUKKwkubG9uZwkxMDcyNjA3MzkwCisJLmxvbmcJMTI4NzIwMzg2MworCS5sb25nCTEwNzI2MDQ5NTMKKwkubG9uZwkyOTkyNjI5NTY4CisJLmxvbmcJMTA3MjYwMjQ3OQorCS5sb25nCTIzNjcyNjcxMjcKKwkubG9uZwkxMDcyNTk5OTY5CisJLmxvbmcJMzExNTUyNjA0NworCS5sb25nCTEwNzI1OTc0MjIKKwkubG9uZwkzNDAyMTk1MzkKKwkubG9uZwkxMDcyNTk0ODM5CisJLmxvbmcJMjAxNzIxNTcxOQorCS5sb25nCTEwNzI1OTIyMTgKKwkubG9uZwkzMjI1NDQzNDI0CisJLmxvbmcJMTA3MjU4OTU2MAorCS5sb25nCTMzMjY1NjU2NzMKKwkubG9uZwkxMDcyNTg2ODY1CisJLmxvbmcJMTY2OTgxMTIxMQorCS5sb25nCTEwNzI1ODQxMzMKKwkubG9uZwkxODg2NzM1MDIyCisJLmxvbmcJMTA3MjU4MTM2MworCS5sb25nCTMzMDEwNzExNzEKKwkubG9uZwkxMDcyNTc4NTU1CisJLmxvbmcJOTI4NTE0MjgzCisJLmxvbmcJMTA3MjU3NTcxMAorCS5sb25nCTI2NTYzNjQwNTkKKwkubG9uZwkxMDcyNTcyODI2CisJLmxvbmcJMzQ3MzQ5MDUwNworCS5sb25nCTEwNzI1Njk5MDQKKwkubG9uZwkyNjQ5OTY1NjA2CisJLmxvbmcJMTA3MjU2Njk0NAorCS5sb25nCTM3MzY4MTkwNTIKKwkubG9uZwkxMDcyNTYzOTQ1CisJLmxvbmcJMTY4MDg4NTE3NQorCS5sb25nCTEwNzI1NjA5MDgKKwkubG9uZwk0NDEzNzcxCisJLmxvbmcJMTA3MjU1NzgzMgorCS5sb25nCTIyMTQ4Njk3NTMKKwkubG9uZwkxMDcyNTU0NzE2CisJLmxvbmcJMzIxNDcyNTE4NAorCS5sb25nCTEwNzI1NTE1NjEKKwkubG9uZwkyMTg2MDc5OTAzCisJLmxvbmcJMTA3MjU0ODM2NworCS5sb25nCTI1OTAzNzIxMzEKKwkubG9uZwkxMDcyNTQ1MTMzCisJLmxvbmcJMzU3ODE0NjA3OQorCS5sb25nCTEwNzI1NDE4NTkKKwkubG9uZwk0MjgzNzEyNzU1CisJLmxvbmcJMTA3MjUzODU0NQorCS5sb25nCTM4MjQ4MzQ1MTAKKwkubG9uZwkxMDcyNTM1MTkxCisJLmxvbmcJMTMwMjQwMDI5OAorCS5sb25nCTEwNzI1MzE3OTcKKwkubG9uZwk5NTA1ODYzNgorCS5sb25nCTEwNzI1MjgzNjIKKwkubG9uZwkzNTYzOTA2MDYzCisJLmxvbmcJMTA3MjUyNDg4NQorCS5sb25nCTIxNjcyMzA3MzAKKwkubG9uZwkxMDcyNTIxMzY4CisJLmxvbmcJMzUyNDkxODMzNAorCS5sb25nCTEwNzI1MTc4MDkKKwkubG9uZwkyMzUzMzA0OTE4CisJLmxvbmcJMTA3MjUxNDIwOQorCS5sb25nCTE5Mzk2MjU4MzkKKwkubG9uZwkxMDcyNTEwNTY3CisJLmxvbmcJMTI1NjcxNDU4MQorCS5sb25nCTEwNzI1MDY4ODMKKwkubG9uZwkzNTUyNTI1ODQ4CisJLmxvbmcJMTA3MjUwMzE1NgorCS5sb25nCTM0NjQ4MDk1MjIKKwkubG9uZwkxMDcyNDk5Mzg3CisJLmxvbmcJNDIwMDU0MjU5MworCS5sb25nCTEwNzI0OTU1NzUKKwkubG9uZwkzNTU2MDkxMjQKKwkubG9uZwkxMDcyNDkxNzIxCisJLmxvbmcJMzY4NDEzOTA5OQorCS5sb25nCTEwNzI0ODc4MjIKKwkubG9uZwkxNDgzNTU5MTgKKwkubG9uZwkxMDcyNDgzODgxCisJLmxvbmcJMTQ1NzY4OTI0MgorCS5sb25nCTEwNzI0Nzk4OTUKKwkubG9uZwkyMTE4NTkxNTk2CisJLmxvbmcJMTA3MjQ3NTg2NQorCS5sb25nCTkwODg0ODA4OQorCS5sb25nCTEwNzI0NzE3OTEKKwkubG9uZwk4NzcwMzI2ODkKKwkubG9uZwkxMDcyNDY3NjcyCisJLmxvbmcJNzUyMDEyMzA0CisJLmxvbmcJMTA3MjQ2MzUwOAorCS5sb25nCTM1MzIzMDE3NDkKKwkubG9uZwkxMDcyNDU5Mjk4CisJLmxvbmcJMzYwMDU2MzIyMQorCS5sb25nCTEwNzI0NTUwNDMKKwkubG9uZwkzOTAyODU3MDg0CisJLmxvbmcJMTA3MjQ1MDc0MgorCS5sb25nCTMwNjMxMDEwMzYKKwkubG9uZwkxMDcyNDQ2Mzk1CisJLmxvbmcJMzk3MjM0NDM3NAorCS5sb25nCTEwNzI0NDIwMDEKKwkubG9uZwk5MDMxODM1NDkKKwkubG9uZwkxMDcyNDM3NTYxCisJLmxvbmcJOTgzODkyOTM4CisJLmxvbmcJMTA3MjQzMzA3MworCS5sb25nCTI3MjI4NTg1NjgKKwkubG9uZwkxMDcyNDI4NTM3CisJLmxvbmcJMzAyNzkwNTE1CisJLmxvbmcJMTA3MjQyMzk1NAorCS5sb25nCTc1OTgxMTA1NworCS5sb25nCTEwNzI0MTkzMjIKKwkubG9uZwkyNTA3ODA5OTIyCisJLmxvbmcJMTA3MjQxNDY0MQorCS5sb25nCTIzODg0MDg4MTMKKwkubG9uZwkxMDcyNDA3NTI4CisJLmxvbmcJMjA4NDQ5Mjk0MgorCS5sb25nCTEwNzIzOTc4NzAKKwkubG9uZwkyNDM1NzAzMzAxCisJLmxvbmcJMTA3MjM4ODAxMAorCS5sb25nCTE5MzU0MzMzNjAKKwkubG9uZwkxMDcyMzc3OTQ1CisJLmxvbmcJMjc0MjA0NzI5MAorCS5sb25nCTEwNzIzNjc2NzEKKwkubG9uZwkyMDUzMjg0MjA1CisJLmxvbmcJMTA3MjM1NzE4NQorCS5sb25nCTY1Nzc4MzM2NworCS5sb25nCTEwNzIzNDY0ODMKKwkubG9uZwkyODkzNjY0ODQxCisJLmxvbmcJMTA3MjMzNTU2MAorCS5sb25nCTM3MTg5MDY0MDUKKwkubG9uZwkxMDcyMzI0NDEzCisJLmxvbmcJMTU0Nzg5NjMwMworCS5sb25nCTEwNzIzMTMwMzgKKwkubG9uZwkyNDk0MDU4NDQwCisJLmxvbmcJMTA3MjMwMTQyOQorCS5sb25nCTMxMzMyMzg3NDIKKwkubG9uZwkxMDcyMjg5NTgyCisJLmxvbmcJMzMyNzAwMDA4NgorCS5sb25nCTEwNzIyNzc0OTIKKwkubG9uZwkxODYwNjY3Mjc0CisJLmxvbmcJMTA3MjI2NTE1NAorCS5sb25nCTY2NTM0MDc0NworCS5sb25nCTEwNzIyNTI1NjIKKwkubG9uZwk0NDMzNDc4NDEKKwkubG9uZwkxMDcyMjM5NzEwCisJLmxvbmcJNTgxMjgyNjE4CisJLmxvbmcJMTA3MjIyNjU5MgorCS5sb25nCTMzNDk3ODA0NjUKKwkubG9uZwkxMDcyMjEzMjAxCisJLmxvbmcJOTE0MjE3NjA2CisJLmxvbmcJMTA3MjE5OTUzMgorCS5sb25nCTk4OTc5NzY2MQorCS5sb25nCTEwNzIxODU1NzYKKwkubG9uZwk5NDU0MzY0MTYKKwkubG9uZwkxMDcyMTcxMzI2CisJLmxvbmcJNTQ5MjkxMzAwCisJLmxvbmcJMTA3MjE1Njc3NAorCS5sb25nCTE4MTQ2MzYzODkKKwkubG9uZwkxMDcyMTQxOTExCisJLmxvbmcJMjM5MDkyODU4CisJLmxvbmcJMTA3MjEyNjcyOQorCS5sb25nCTE3OTQ2ODA3MjQKKwkubG9uZwkxMDcyMTExMjE3CisJLmxvbmcJMTI0MTUzNDY3OAorCS5sb25nCTEwNzIwOTUzNjYKKwkubG9uZwkzMzY2NTY2MjE0CisJLmxvbmcJMTA3MjA3OTE2NAorCS5sb25nCTEyNDQwOTA4MjgKKwkubG9uZwkxMDcyMDYyNjAxCisJLmxvbmcJMTcwODQ0ODEyMAorCS5sb25nCTEwNzIwNDU2NjMKKwkubG9uZwkzNTQ0MjYwNjUwCisJLmxvbmcJMTA3MjAyODMzNworCS5sb25nCTE0MDI3NDE0MDMKKwkubG9uZwkxMDcyMDEwNjEwCisJLmxvbmcJMjU1MTkzNjg4OAorCS5sb25nCTEwNzE5OTI0NjUKKwkubG9uZwk2MTc2Njk3MzkKKwkubG9uZwkxMDcxOTczODg3CisJLmxvbmcJNzk0MDAyMTg2CisJLmxvbmcJMTA3MTk1NDg1NworCS5sb25nCTIwMjEyMzc2OTMKKwkubG9uZwkxMDcxOTM1MzU2CisJLmxvbmcJNTQwNDUwMzg0CisJLmxvbmcJMTA3MTkxNTM2NAorCS5sb25nCTE5MjA1NTU1MzcKKwkubG9uZwkxMDcxODk0ODU3CisJLmxvbmcJMjg3OTU4NTIwNgorCS5sb25nCTEwNzE4NzM4MTEKKwkubG9uZwkzMDAwMjM3NDU1CisJLmxvbmcJMTA3MTg1MjE5OQorCS5sb25nCTMzNTI5NzQzNDYKKwkubG9uZwkxMDcxODI5OTkxCisJLmxvbmcJNTY5NjI5OTM3CisJLmxvbmcJMTA3MTgwNzE1NQorCS5sb25nCTIwNzcyMzcyMDgKKwkubG9uZwkxMDcxNzgzNjUzCisJLmxvbmcJMjI4NDg5MTgwNQorCS5sb25nCTEwNzE3NTk0NDYKKwkubG9uZwkxMjI2NjUxNzg0CisJLmxvbmcJMTA3MTczNDQ4OQorCS5sb25nCTExMDIwNDc0MDUKKwkubG9uZwkxMDcxNzA4NzMxCisJLmxvbmcJMjAwOTg5NjM4NAorCS5sb25nCTEwNzE2ODIxMTUKKwkubG9uZwk5Mjc0MTkwODIKKwkubG9uZwkxMDcxNjU0NTc3CisJLmxvbmcJODUwMTAzNjYKKwkubG9uZwkxMDcxNjA3NDEzCisJLmxvbmcJNjk2NDMxMDI1CisJLmxvbmcJMTA3MTU0ODE4MAorCS5sb25nCTI2MTE0MTA1NDEKKwkubG9uZwkxMDcxNDg2NTg1CisJLmxvbmcJMjYxMjU5MzY1OAorCS5sb25nCTEwNzE0MjIzOTYKKwkubG9uZwkzNTQ4MTU1MzA2CisJLmxvbmcJMTA3MTM1NTMzNgorCS5sb25nCTM4ODc5OTc0ODQKKwkubG9uZwkxMDcxMjg1MDczCisJLmxvbmcJMjQ0ODU0NzYzCisJLmxvbmcJMTA3MTIxMTIwMgorCS5sb25nCTQyMTQ0NDU2NDgKKwkubG9uZwkxMDcxMTMzMjE2CisJLmxvbmcJMjMwMzk2NjcyNworCS5sb25nCTEwNzEwNTA0NzgKKwkubG9uZwkzOTkxMDQwMDEzCisJLmxvbmcJMTA3MDk2MjE1MgorCS5sb25nCTMxMjY5NTIyNzgKKwkubG9uZwkxMDcwODY3MTE4CisJLmxvbmcJMTgxNzQ0ODM3OAorCS5sb25nCTEwNzA3NjM4MDQKKwkubG9uZwkxNzkzODE0ODY0CisJLmxvbmcJMTA3MDY0OTg4NAorCS5sb25nCTM1MDcyMjQwNzIKKwkubG9uZwkxMDcwNDQ3MTkzCisJLmxvbmcJNDAyNzYwOTEwNQorCS5sb25nCTEwNzAxNDg3NzIKKwkubG9uZwk1Nzc1MDc5OTMKKwkubG9uZwkxMDY5Nzc5NDE0CisJLmxvbmcJMjMxMDIzMjQxOQorCS5sb25nCTEwNjg5MzE4MjkKKwkudHlwZQlUX3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlUX3RhYmxlLDIwNDgKKwkuYWxpZ24gMTYKK1RibF9hZGRyOgorCS5sb25nCTM4MjI5NTI3OTIKKwkubG9uZwkxMDIxNjM5MzcyCisJLmxvbmcJMTgyNzkyNDQ4CisJLmxvbmcJMTA2ODUwNzgzNgorCS5sb25nCTIyNjQyMTMyNzEKKwkubG9uZwkxMDE5NTU4OTA4CisJLmxvbmcJNjQ5MDUyOTI4CisJLmxvbmcJMTA2ODUyNDI1MworCS5sb25nCTE3OTcxMzk2MDkKKwkubG9uZwkxMDIyMjk1MTQzCisJLmxvbmcJMTI0MzA5NTI5NgorCS5sb25nCTEwNjg1NDA2NzEKKwkubG9uZwkxNDE1OTM4NzU2CisJLmxvbmcJMTAyMTQzOTUzNworCS5sb25nCTIwMzMyOTQ1OTIKKwkubG9uZwkxMDY4NTU3MDkwCisJLmxvbmcJMjM1NjgwOTk3OAorCS5sb25nCTEwMjE3Nzc5MTYKKwkubG9uZwkzMDg4MDYzNzQ0CisJLmxvbmcJMTA2ODU3MzUxMAorCS5sb25nCTI2NjkwNTUzMTgKKwkubG9uZwkxMDIyMTI0NDgyCisJLmxvbmcJMTgwODg4NTc2CisJLmxvbmcJMTA2ODU4OTkzMgorCS5sb25nCTM1NjY0NDUzMjUKKwkubG9uZwkxMDIxMzU4NzEyCisJLmxvbmcJMTk3MDE5Njk5MgorCS5sb25nCTEwNjg2MDYzNTQKKwkubG9uZwk4OTY5ODAzMjMKKwkubG9uZwkxMDIxMzE5NjU5CisJLmxvbmcJNDIyOTU1NTQ1NgorCS5sb25nCTEwNjg2MjI3NzcKKwkubG9uZwk0MzYwNDk3MTIKKwkubG9uZwkxMDIxMzE5NzU4CisJLmxvbmcJMjczMjU3MjE2MAorCS5sb25nCTEwNjg2MzkyMDIKKwkubG9uZwk1ODMxMjMyMDkKKwkubG9uZwkxMDIwNzk3OTYwCisJLmxvbmcJMTg0MjgzMTg3MgorCS5sb25nCTEwNjg2NTU2MjgKKwkubG9uZwkxMzcwNDQ5ODA0CisJLmxvbmcJMTAyMTQyOTI3MAorCS5sb25nCTE2Mjg5OTQ1NjAKKwkubG9uZwkxMDY4NjcyMDU1CisJLmxvbmcJMjQxMTM5MTQ2NAorCS5sb25nCTEwMjEwNTc5ODAKKwkubG9uZwkyMTU5NzYzNzEyCisJLmxvbmcJMTA2ODY4ODQ4MworCS5sb25nCTEyMDg2OTI3NDkKKwkubG9uZwkxMDIxOTQzOTAzCisJLmxvbmcJMzUwMzg4NjMzNgorCS5sb25nCTEwNjg3MDQ5MTIKKwkubG9uZwk1Mzg3OTMzMDkKKwkubG9uZwkxMDE5NzQ0MDYzCisJLmxvbmcJMTQzNTE4NzIwMAorCS5sb25nCTEwNjg3MjEzNDMKKwkubG9uZwk0MDg1MDg3NjEyCisJLmxvbmcJMTAyMDYwODQxOQorCS5sb25nCTMxNzQ2OTk1MgorCS5sb25nCTEwNjg3Mzc3NzUKKwkubG9uZwkxNDQzODY5NDIKKwkubG9uZwkxMDIxNDQwNzMyCisJLmxvbmcJMjE5NjE3MjgwCisJLmxvbmcJMTA2ODc1NDIwOAorCS5sb25nCTI5NDAwODgzNjEKKwkubG9uZwkxMDE5OTgxMTIyCisJLmxvbmcJMTIxMDU1ODIwOAorCS5sb25nCTEwNjg3NzA2NDIKKwkubG9uZwkyMTc2ODUwMzQ3CisJLmxvbmcJMTAxODM3MzcwNQorCS5sb25nCTMzNTkyNjgzNTIKKwkubG9uZwkxMDY4Nzg3MDc3CisJLmxvbmcJMjM5NTYxMTQ1NAorCS5sb25nCTEwMjE4ODkwNDIKKwkubG9uZwkyNDM5ODAzNjQ4CisJLmxvbmcJMTA2ODgwMzUxNAorCS5sb25nCTE2NTA3MDUyNTMKKwkubG9uZwkxMDIwMjI3OTY2CisJLmxvbmcJMjgxNjIwMzUyMAorCS5sb25nCTEwNjg4MTk5NTIKKwkubG9uZwkzNzAyMTY2Mzg2CisJLmxvbmcJMTAxOTM3OTkxNAorCS5sb25nCTI2MjYyMDY3MgorCS5sb25nCTEwNjg4MzYzOTIKKwkubG9uZwkxODU1NjQ5MzcwCisJLmxvbmcJMTAyMDQ1MzEyNAorCS5sb25nCTM0MzgxNTk2MTYKKwkubG9uZwkxMDY4ODUyODMyCisJLmxvbmcJOTIzMDYzODYwCisJLmxvbmcJMTAxOTI3MzgzNAorCS5sb25nCTM4MjIxMDU4NTYKKwkubG9uZwkxMDY4ODY5Mjc0CisJLmxvbmcJNDI4OTk0Nzk0NworCS5sb25nCTEwMTk0MzQyNDkKKwkubG9uZwkxNDgzNzI5OTIwCisJLmxvbmcJMTA2ODg4NTcxOAorCS5sb25nCTc4NzQ1NTgxNAorCS5sb25nCTEwMjA3MzgzNzkKKwkubG9uZwk3ODczMjEwODgKKwkubG9uZwkxMDY4OTAyMTYzCisJLmxvbmcJMzMyMTY1MzMzNworCS5sb25nCTEwMjE4NDI1NjkKKwkubG9uZwkxODAyMjUzMzEyCisJLmxvbmcJMTA2ODkxODYwOQorCS5sb25nCTI2NTM2MzM1MjYKKwkubG9uZwkxMDIxODIxNTI1CisJLmxvbmcJMzAyOTg1OTg0CisJLmxvbmcJMTA2ODkzNTA1NworCS5sb25nCTE2MTI3MjAyOAorCS5sb25nCTEwMjE2NTUxNDkKKwkubG9uZwk2NTM5NjYwODAKKwkubG9uZwkxMDY4OTUxNTA2CisJLmxvbmcJMjU2NjA5ODY2NworCS5sb25nCTEwMjAwNjYyMTkKKwkubG9uZwkyOTI0NzI3Mjk2CisJLmxvbmcJMTA2ODk2Nzk1NgorCS5sb25nCTM2NDY0OTM3MjIKKwkubG9uZwkxMDE0MjkyMjg1CisJLmxvbmcJMjg4OTg5MDMwNAorCS5sb25nCTEwNjg5ODQ0MDgKKwkubG9uZwkxMDgxMDA5MTk2CisJLmxvbmcJMTAyMjE4OTYyMAorCS5sb25nCTYxOTA5ODExMgorCS5sb25nCTEwNjkwMDA4NjIKKwkubG9uZwk0MDExNjQzMzU1CisJLmxvbmcJMTAyMTc3MzI5NworCS5sb25nCTQ3NzAxNzYwMAorCS5sb25nCTEwNjkwMTczMTcKKwkubG9uZwk0MDMwMzA1NTM0CisJLmxvbmcJMTAyMTI5MjI1MgorCS5sb25nCTI1MzM0MDM5MDQKKwkubG9uZwkxMDY5MDMzNzczCisJLmxvbmcJMjY0NTE4NzU5MQorCS5sb25nCTEwMTk1MjcwOTkKKwkubG9uZwkyNTYzMTAyMjA4CisJLmxvbmcJMTA2OTA1MDIzMQorCS5sb25nCTM4NTcyOTM3OTIKKwkubG9uZwkxMDIyMzExNjk3CisJLmxvbmcJNjM1OTgyMzM2CisJLmxvbmcJMTA2OTA2NjY5MQorCS5sb25nCTM2MjU5MzY2MzcKKwkubG9uZwkxMDE3NTExNzQ0CisJLmxvbmcJMTExNjk0MDgwMAorCS5sb25nCTEwNjkwODMxNTIKKwkubG9uZwkzNjUzODcyOTkzCisJLmxvbmcJMTAyMjAxNjYzMQorCS5sb25nCTQwNzU5NjQxNjAKKwkubG9uZwkxMDY5MDk5NjE0CisJLmxvbmcJMjQ2ODkwMDI3MQorCS5sb25nCTEwMjE3Njk1MzIKKwkubG9uZwk5OTMxNjU1NjgKKwkubG9uZwkxMDY5MTE2MDc5CisJLmxvbmcJMTM1ODEwNDIyNAorCS5sb25nCTEwMjExOTk3NzYKKwkubG9uZwk1Mjg1ODY3NTIKKwkubG9uZwkxMDY5MTMyNTQ1CisJLmxvbmcJMjIwMDk1MDMzMgorCS5sb25nCTEwMjIwMjQ4NzIKKwkubG9uZwkyNzUyMzk1Nzc2CisJLmxvbmcJMTA2OTE0OTAxMgorCS5sb25nCTMxOTcwNzI0NTQKKwkubG9uZwkxMDE3NzUxMzE5CisJLmxvbmcJMzQzOTg1NTYxNgorCS5sb25nCTEwNjkxNjU0ODEKKwkubG9uZwkxNjUxMDgxODA2CisJLmxvbmcJMTAyMDgwOTMzOAorCS5sb25nCTI2NjEyNTc3MjgKKwkubG9uZwkxMDY5MTgxOTUyCisJLmxvbmcJNTM5MDMyNzUyCisJLmxvbmcJMTAyMTcyODgwNQorCS5sb25nCTQ4Njk1NzMxMgorCS5sb25nCTEwNjkxOTg0MjUKKwkubG9uZwkzMTM2MDQ1MTQ5CisJLmxvbmcJMTAxNjg4ODY3MQorCS5sb25nCTEyODIzNDAzNTIKKwkubG9uZwkxMDY5MjE0ODk5CisJLmxvbmcJMjU5Mzk2MzI1OQorCS5sb25nCTEwMTg5NTYxMDMKKwkubG9uZwk4MjI5MjE3MjgKKwkubG9uZwkxMDY5MjMxMzc1CisJLmxvbmcJMjE0NjAzMjczNworCS5sb25nCTEwMjIzMDY0NjUKKwkubG9uZwkzNDc0MjE2MTkyCisJLmxvbmcJMTA2OTI0Nzg1MgorCS5sb25nCTM5NzY4MTE2MjUKKwkubG9uZwkxMDIxMzUwMjA3CisJLmxvbmcJNzE2OTAyNjU2CisJLmxvbmcJMTA2OTI2NDMzMgorCS5sb25nCTcxODI2NzIyMgorCS5sb25nCTEwMTg2MjQ3MjcKKwkubG9uZwkxMjExNTk0NDk2CisJLmxvbmcJMTA2OTI4MDgxMworCS5sb25nCTE0ODU2NDEzODkKKwkubG9uZwkxMDE4NDQ3NDUxCisJLmxvbmcJNzM0MDcwMjcyCisJLmxvbmcJMTA2OTI5NzI5NgorCS5sb25nCTM1NDQ1NTEyOAorCS5sb25nCTEwMjEzNDEyOTEKKwkubG9uZwkzNjUwMTEwNzIwCisJLmxvbmcJMTA2OTMxMzc4MAorCS5sb25nCTY4MjE4NTk0NworCS5sb25nCTEwMjE2NTE4NTMKKwkubG9uZwkxNDQwNjYzMDQwCisJLmxvbmcJMTA2OTMzMDI2NworCS5sb25nCTM1NTg1NzQ1NTAKKwkubG9uZwkxMDIxNjE1MTEwCisJLmxvbmcJMjc2NjYxMjIyNAorCS5sb25nCTEwNjkzNDY3NTUKKwkubG9uZwk4NzQ2MDc5NzgKKwkubG9uZwkxMDE3NzQ2ODcyCisJLmxvbmcJMzQwNDAxMTAwOAorCS5sb25nCTEwNjkzNjMyNDUKKwkubG9uZwk0MTU0OTg4NTAyCisJLmxvbmcJMTAyMTQzOTkwNgorCS5sb25nCTM0MjM5NDkwNTYKKwkubG9uZwkxMDY5Mzc5NzM3CisJLmxvbmcJMjI2MzIwMjMwOQorCS5sb25nCTEwMjE0Nzk2MTUKKwkubG9uZwkyODk3NTg3NzEyCisJLmxvbmcJMTA2OTM5NjIzMQorCS5sb25nCTI1NjIwNjUwMzEKKwkubG9uZwkxMDIyMDkwMzYzCisJLmxvbmcJMTg5NjE1OTIzMgorCS5sb25nCTEwNjk0MTI3MjcKKwkubG9uZwkzODM2MjM3NjYzCisJLmxvbmcJMTAxOTg2NzI4OAorCS5sb25nCTQ5MDk2ODU3NgorCS5sb25nCTEwNjk0MjkyMjUKKwkubG9uZwkzMzIyMDU2NzQzCisJLmxvbmcJMTAwNjc1Mjc2MgorCS5sb25nCTMwNDgzNjAxOTIKKwkubG9uZwkxMDY5NDQ1NzI0CisJLmxvbmcJMTE1MjMxNDgzMworCS5sb25nCTEwMTMxMjIyNTIKKwkubG9uZwkxMDQ5ODUwNjI0CisJLmxvbmcJMTA2OTQ2MjIyNgorCS5sb25nCTM2MDE1OTA3MjcKKwkubG9uZwkxMDIyMjE0NjEwCisJLmxvbmcJMzE1Njg5OTU4NAorCS5sb25nCTEwNjk0Nzg3MjkKKwkubG9uZwkxODU1MTY5OTcwCisJLmxvbmcJMTAxOTQ4NzI3MQorCS5sb25nCTg1MTE3MzM3NgorCS5sb25nCTEwNjk0OTUyMzUKKwkubG9uZwkzMTI2NDk1OTQKKwkubG9uZwkxMDIwODY4NjA0CisJLmxvbmcJMjc5NDI4MTcyOAorCS5sb25nCTEwNjk1MTE3NDIKKwkubG9uZwkxMDkzNDkwMTgxCisJLmxvbmcJMTAyMDc3NzU3NworCS5sb25nCTQ2ODA0MjQ5NgorCS5sb25nCTEwNjk1MjgyNTIKKwkubG9uZwkxMTUyNTQwNjc5CisJLmxvbmcJMTAyMTQwMzczMgorCS5sb25nCTI1MzQyMTkyNjQKKwkubG9uZwkxMDY5NTQ0NzYzCisJLmxvbmcJMjI5MjEyNjAzNQorCS5sb25nCTEwMjE4NzI0MzAKKwkubG9uZwkxMzc2MTQ2NDMyCisJLmxvbmcJMTA2OTU1ODUyNworCS5sb25nCTMyOTM3NTM2NDEKKwkubG9uZwkxMDIwNTAwNDU0CisJLmxvbmcJNDE3NTQ0MjQzMgorCS5sb25nCTEwNjk1NzUwNDQKKwkubG9uZwkzNjI2MzQ3NTY0CisJLmxvbmcJMTAyMTYxMDk2OQorCS5sb25nCTM1MjMxMTM0NzIKKwkubG9uZwkxMDY5NTkxNTY2CisJLmxvbmcJMzM5OTU2NTAwCisJLmxvbmcJMTAyMTExOTAzOQorCS5sb25nCTQwMDMzNTA1MjgKKwkubG9uZwkxMDY5NjA4MDkyCisJLmxvbmcJMzQyOTMzMzA4MgorCS5sb25nCTEwMjI4MTM1NDIKKwkubG9uZwkxNjExMDY3MzkyCisJLmxvbmcJMTA2OTYyNDYyMworCS5sb25nCTIyOTgwMTc1NDQKKwkubG9uZwkxMDIxOTc3NTg3CisJLmxvbmcJOTMxNzgyMTQ0CisJLmxvbmcJMTA2OTY0MTE1OAorCS5sb25nCTIxNjQ2ODQ3NDMKKwkubG9uZwkxMDIxMjUwOTg4CisJLmxvbmcJMjI1NjcyNTUwNAorCS5sb25nCTEwNjk2NTc2OTcKKwkubG9uZwkxMTM4NzYyMzM1CisJLmxvbmcJMTAyMTQ0Mzc3NgorCS5sb25nCTE1ODI4NTMxMjAKKwkubG9uZwkxMDY5Njc0MjQxCisJLmxvbmcJMTA4NDAxMDM4MgorCS5sb25nCTEwMjI5OTQ2OTMKKwkubG9uZwkzNDk3NzU4NzIwCisJLmxvbmcJMTA2OTY5MDc4OQorCS5sb25nCTQwNjM2NjI0NAorCS5sb25nCTEwMjI3MTM1ODYKKwkubG9uZwkzOTk5ODE2OTYwCisJLmxvbmcJMTA2OTcwNzM0MgorCS5sb25nCTE0ODg3MjMwNDIKKwkubG9uZwkxMDIzMzgxMjkwCisJLmxvbmcJMzM4MzA5NjA2NAorCS5sb25nCTEwNjk3MjM5MDAKKwkubG9uZwkyNTQxNTU4OTUzCisJLmxvbmcJMTAxOTEzNzg4NworCS5sb25nCTE5NDI0MDM1ODQKKwkubG9uZwkxMDY5NzQwNDYzCisJLmxvbmcJMTg3OTYyMDM0MworCS5sb25nCTEwMjI2NTM2NDIKKwkubG9uZwk0MjY4MjYzNjgwCisJLmxvbmcJMTA2OTc1NzAzMAorCS5sb25nCTMwMzkwNzcwNDcKKwkubG9uZwkxMDIyMjUyNTQ1CisJLmxvbmcJMjA2NzA2MjI3MgorCS5sb25nCTEwNjk3NzM2MDMKKwkubG9uZwk0MTkwNjcwNjc3CisJLmxvbmcJMTAyMDcyNTg2MworCS5sb25nCTQyMjU4MjgwOTYKKwkubG9uZwkxMDY5NzkwMTgwCisJLmxvbmcJMTk5ODU2NzMyMQorCS5sb25nCTEwMjIwMTQzODUKKwkubG9uZwkyNDUyNTA3MTM2CisJLmxvbmcJMTA2OTgwNjc2MworCS5sb25nCTE1MTE2Mjg4NzMKKwkubG9uZwkxMDIxOTAwMzAwCisJLmxvbmcJMTM0MDc0NjI0MAorCS5sb25nCTEwNjk4MjMzNTEKKwkubG9uZwk3ODgzNjczNDEKKwkubG9uZwkxMDIyNzI2MjA4CisJLmxvbmcJMTE5MDAzNTQ1NgorCS5sb25nCTEwNjk4Mzk5NDQKKwkubG9uZwkzODU2MzM3MjMwCisJLmxvbmcJMTAyMTgzNDExOAorCS5sb25nCTIzMDA2ODgzODQKKwkubG9uZwkxMDY5ODU2NTQyCisJLmxvbmcJMzIxMTM5NjU3OQorCS5sb25nCTEwMjI2MjEzNjUKKwkubG9uZwk2Nzg4ODY0MDAKKwkubG9uZwkxMDY5ODczMTQ2CisJLmxvbmcJNDAwMTAxMTg4NworCS5sb25nCTEwMjIwNDI2NDYKKwkubG9uZwk5MjE1OTQxMTIKKwkubG9uZwkxMDY5ODg5NzU1CisJLmxvbmcJNTU3ODExOTY4CisJLmxvbmcJMTAyMzA2NTUzMworCS5sb25nCTMzMzE2Njg5OTIKKwkubG9uZwkxMDY5OTA2MzY5CisJLmxvbmcJMTg3NzA2MDY3OQorCS5sb25nCTEwMjI0MTk3NDIKKwkubG9uZwkzOTE3ODc1MjAwCisJLmxvbmcJMTA2OTkyMjk4OQorCS5sb25nCTExODEwNTUxNzEKKwkubG9uZwkxMDIyNzUyNzEyCisJLmxvbmcJMjk4NDgyOTY5NgorCS5sb25nCTEwNjk5Mzk2MTUKKwkubG9uZwk0Mjk0NTI2OTMyCisJLmxvbmcJMTAyMTQ5OTk4OAorCS5sb25nCTgzODA0OTAyNAorCS5sb25nCTEwNjk5NTYyNDcKKwkubG9uZwkzNjU4MDgxODc4CisJLmxvbmcJMTAyMjk1Nzk1MgorCS5sb25nCTIwNzg5MjgzODQKKwkubG9uZwkxMDY5OTcyODg0CisJLmxvbmcJODIwMzUzNzAxCisJLmxvbmcJMTAxOTM5MTEwNworCS5sb25nCTI3MTk4NTQzMzYKKwkubG9uZwkxMDY5OTg5NTI3CisJLmxvbmcJMTY0NDAyMjQ4OQorCS5sb25nCTEwMjMzNzgyNDAKKwkubG9uZwkzMDY5MTE3Njk2CisJLmxvbmcJMTA3MDAwNjE3NgorCS5sb25nCTI3NzEzOTM3MDIKKwkubG9uZwkxMDE5MzE5OTU0CisJLmxvbmcJMzQzNTk2MjM2OAorCS5sb25nCTEwNzAwMjI4MzEKKwkubG9uZwkzODc2Mzk0MTQ1CisJLmxvbmcJMTAyMzAyNDQzMworCS5sb25nCTQxMzA1OTUzMjgKKwkubG9uZwkxMDcwMDM5NDkyCisJLmxvbmcJMTYzMDQ0Nzc0OAorCS5sb25nCTEwMjE0NjU4ODIKKwkubG9uZwkxMTY5MjM2MjI0CisJLmxvbmcJMTA3MDA1NjE2MAorCS5sb25nCTI4MjgzNTU5OTcKKwkubG9uZwkxMDIwNDU4MTIwCisJLmxvbmcJMzQ1Mzk5NzMxMgorCS5sb25nCTEwNzAwNzI4MzMKKwkubG9uZwkxNjQwOTE2NDEKKwkubG9uZwkxMDIwMzg4Mjc5CisJLmxvbmcJMjcwODEyNzc0NAorCS5sb25nCTEwNzAwODk1MTMKKwkubG9uZwkzMDM2NTUwMjIzCisJLmxvbmcJMTAyMzMyODY4NAorCS5sb25nCTM1NDA3OTc2OTYKKwkubG9uZwkxMDcwMTA2MTk5CisJLmxvbmcJMzcxMDk0OTQ2MworCS5sb25nCTEwMjI1Njg4MDUKKwkubG9uZwkxOTcyMjc2NzM2CisJLmxvbmcJMTA3MDEyMjg5MgorCS5sb25nCTM4ODUyNzc5NTAKKwkubG9uZwkxMDE5NzYxNjc0CisJLmxvbmcJMjYxMzgxNTU1MgorCS5sb25nCTEwNzAxMzk1OTEKKwkubG9uZwkyNzY0MTY1MDc3CisJLmxvbmcJMTAyMjkyMTAyMworCS5sb25nCTE0ODc3OTE2MTYKKwkubG9uZwkxMDcwMTU2Mjk3CisJLmxvbmcJMTMzMDY0NDc2OQorCS5sb25nCTEwMjMxNjI2NzkKKwkubG9uZwkzMjA3NTkzNDcyCisJLmxvbmcJMTA3MDE3MzAwOQorCS5sb25nCTM5MTEwMDcyMjEKKwkubG9uZwkxMDIyOTkzNDk2CisJLmxvbmcJMzc5Nzc2NDYwOAorCS5sb25nCTEwNzAxODk3MjgKKwkubG9uZwk5Nzk3MTI1OTgKKwkubG9uZwkxMDIyNTU0NTgwCisJLmxvbmcJMzU3ODkyMDQ0OAorCS5sb25nCTEwNzAyMDY0NTQKKwkubG9uZwkyODI1NzM4MjIzCisJLmxvbmcJMTAyMDIyMzcwOAorCS5sb25nCTI4NzI3OTU2NDgKKwkubG9uZwkxMDcwMjIzMTg3CisJLmxvbmcJMzkyNDUxMTI0CisJLmxvbmcJMTAyMjY2NjI3OQorCS5sb25nCTIwMDIyNTg0MzIKKwkubG9uZwkxMDcwMjM5OTI3CisJLmxvbmcJMzczMDQwNzYzMgorCS5sb25nCTEwMjMxNDgyOTEKKwkubG9uZwkxMjkxMzI2NDY0CisJLmxvbmcJMTA3MDI1NjY3NAorCS5sb25nCTM3MjM4MDI5ODAKKwkubG9uZwkxMDIyNTE0MDg5CisJLmxvbmcJMTA2NTE4MDkyOAorCS5sb25nCTEwNzAyNzM0MjgKKwkubG9uZwkyNjM1NjE3NDYzCisJLmxvbmcJMTAyMjY1NDQ3MAorCS5sb25nCTE2NTAxODE2MzIKKwkubG9uZwkxMDcwMjkwMTg5CisJLmxvbmcJMjA2MTk4Mjg4MworCS5sb25nCTEwMjI4NTM0MTEKKwkubG9uZwkzMzczODgyODgwCisJLmxvbmcJMTA3MDMwNjk1NworCS5sb25nCTMxOTczMjc4NQorCS5sb25nCTEwMjIwMTcxNzUKKwkubG9uZwkyMjcwMDgxMjgwCisJLmxvbmcJMTA3MDMyMzczMworCS5sb25nCTIyMzc3NTc0MTEKKwkubG9uZwkxMDIzMDY0MDg3CisJLmxvbmcJMjk2MzczMjczNgorCS5sb25nCTEwNzAzNDA1MTYKKwkubG9uZwk0Njg4MzkxNjUKKwkubG9uZwkxMDIzMjkzNzc0CisJLmxvbmcJMTQ5MTA5OTkwNAorCS5sb25nCTEwNzAzNTczMDcKKwkubG9uZwkxNTAyNjU3OTQ2CisJLmxvbmcJMTAyMTUzMzQ3OQorCS5sb25nCTI0Nzk2MzY0ODAKKwkubG9uZwkxMDcwMzc0MTA1CisJLmxvbmcJNDgyOTEzNTYyCisJLmxvbmcJMTAyMTk4NjI4NgorCS5sb25nCTE5NjgxMzM2MzIKKwkubG9uZwkxMDcwMzkwOTExCisJLmxvbmcJMzI4MTQ3NDMzNworCS5sb25nCTEwMjI2NDY0MDAKKwkubG9uZwkyOTE2MzkwNDAKKwkubG9uZwkxMDcwNDA3NzI1CisJLmxvbmcJMjQ1MzMyMDI1OQorCS5sb25nCTEwMjI4MTI0MjMKKwkubG9uZwkyMDgxNDcyNTEyCisJLmxvbmcJMTA3MDQyNDU0NgorCS5sb25nCTI5Mzk5ODk1NzAKKwkubG9uZwkxMDIzMDkxODg4CisJLmxvbmcJMzM4MDM0MDQ4MAorCS5sb25nCTEwNzA0NDEzNzUKKwkubG9uZwkyODUwNzA3NDk5CisJLmxvbmcJMTAyMTkyMTEwOQorCS5sb25nCTIzMjI4NzQ4OAorCS5sb25nCTEwNzA0NTgyMTMKKwkubG9uZwkzNjc0NjI1MzQyCisJLmxvbmcJMTAyMDcyNTEzMAorCS5sb25nCTE1Njc2MTQyMDgKKwkubG9uZwkxMDcwNDc1MDU4CisJLmxvbmcJOTM0NzMzNAorCS5sb25nCTEwMjIwMjQwMDkKKwkubG9uZwkzNDMzMDkxMDcyCisJLmxvbmcJMTA3MDQ5MTkxMQorCS5sb25nCTI4MjUyNDk5OQorCS5sb25nCTEwMjE0MzM1MjMKKwkubG9uZwkxODc2ODc3MzEyCisJLmxvbmcJMTA3MDUwODc3MworCS5sb25nCTM0NzA0NDk0NDAKKwkubG9uZwkxMDE5MzA5NzIxCisJLmxvbmcJMTUzODQ3MjE5MgorCS5sb25nCTEwNzA1MjU2NDMKKwkubG9uZwkyMDg5NDg2ODI1CisJLmxvbmcJMTAxOTY5ODkxNgorCS5sb25nCTI3NjM4MzA3ODQKKwkubG9uZwkxMDcwNTQyNTIxCisJLmxvbmcJNDQzNDk4MTE1CisJLmxvbmcJMTAyMDUwNTE5NAorCS5sb25nCTE2MDUzODE2MzIKKwkubG9uZwkxMDcwNTU5NDA4CisJLmxvbmcJMzAxODg3MTYwMQorCS5sb25nCTEwMjI4Njk5MTMKKwkubG9uZwkyNzA2OTQ2MDQ4CisJLmxvbmcJMTA3MDU3NjMwMworCS5sb25nCTM5MzYyNjA4OTIKKwkubG9uZwkxMDIzMTc1ODc1CisJLmxvbmcJMjEyMzg4NzM2MAorCS5sb25nCTEwNzA1OTMyMDcKKwkubG9uZwkyOTk0MjIwNjU1CisJLmxvbmcJMTAyMjgyNTk0OAorCS5sb25nCTEwNDAxNTEwNAorCS5sb25nCTEwNzA2MDMxMDgKKwkubG9uZwkzMzUwNTQ0OTMKKwkubG9uZwkxMDIzNDQxODUzCisJLmxvbmcJMjkwNDU2ODgzMgorCS5sb25nCTEwNzA2MTU4MDAKKwkubG9uZwkxNDUxMjE1NjMzCisJLmxvbmcJMTAyMzg1Mzg1NworCS5sb25nCTM0NTYxOTcxMjAKKwkubG9uZwkxMDcwNjMyNzM5CisJLmxvbmcJNDM2MzM0NzMzCisJLmxvbmcJMTAyNDAyNjQzMgorCS5sb25nCTI1MjQ1MjM1MgorCS5sb25nCTEwNzA2NDk2OTcKKwkubG9uZwkzNDU5NjE2NworCS5sb25nCTEwMjQwMzEzOTYKKwkubG9uZwkzMzI4MDE4NDMyCisJLmxvbmcJMTA3MDY2NjY3MgorCS5sb25nCTI2NDQ1NDcwNzMKKwkubG9uZwkxMDI0Mjk2NzU4CisJLmxvbmcJMTI1NTgyOTI0OAorCS5sb25nCTEwNzA2ODM2NjcKKwkubG9uZwk1NTI4MzI1ODYKKwkubG9uZwkxMDIzNzYzMTIyCisJLmxvbmcJNDA5NzA1ODU2MAorCS5sb25nCTEwNzA3MDA2ODAKKwkubG9uZwkxOTU1NjQwNjIzCisJLmxvbmcJMTAyMTM5NDY1NAorCS5sb25nCTQ1MTc3MDExMgorCS5sb25nCTEwNzA3MTc3MTQKKwkubG9uZwkzNDI4OTAzNzc3CisJLmxvbmcJMTAyMjk0MTE0MgorCS5sb25nCTQwODkyMDgzMgorCS5sb25nCTEwNzA3MzQ3NjcKKwkubG9uZwkxNjU1MDMyNjMKKwkubG9uZwkxMDIzODk0OTU4CisJLmxvbmcJMTE4Njk2MDY0MAorCS5sb25nCTEwNzA3NTE4NDAKKwkubG9uZwk0MzU4MjY0NTAKKwkubG9uZwkxMDI0MDI2MTM0CisJLmxvbmcJMTkwNzg2NTYKKwkubG9uZwkxMDcwNzY4OTM0CisJLmxvbmcJMTgzNDE2OTc0OQorCS5sb25nCTEwMjI4OTkyODQKKwkubG9uZwkyNzQzNDkwMzA0CisJLmxvbmcJMTA3MDc4NjA0OAorCS5sb25nCTQ5NDU4MTA3NAorCS5sb25nCTEwMTg4MTg0NzkKKwkubG9uZwkyMzI4OTYxMDI0CisJLmxvbmcJMTA3MDgwMzE4NAorCS5sb25nCTI5ODc5MDg4MzQKKwkubG9uZwkxMDIyNTgxMTEwCisJLmxvbmcJMzUwMDExMzkyCisJLmxvbmcJMTA3MDgyMDM0MgorCS5sb25nCTI0MDc3MTE4NAorCS5sb25nCTEwMjQxNDMwODMKKwkubG9uZwkyNjkyMzI2OTEyCisJLmxvbmcJMTA3MDgzNzUyMQorCS5sb25nCTY2NjA1NjgzNworCS5sb25nCTEwMjIzOTQ3NzYKKwkubG9uZwkyMzczMjc0MzY4CisJLmxvbmcJMTA3MDg1NDcyMworCS5sb25nCTI0ODQzMzc3NzAKKwkubG9uZwkxMDI0MjI4MTU2CisJLmxvbmcJMTAxNzEzMTUyMAorCS5sb25nCTEwNzA4NzE5NDgKKwkubG9uZwkzMjg1NjQ4Mjc5CisJLmxvbmcJMTAyNDAyNTc4OQorCS5sb25nCTI2NTU1ODI3MgorCS5sb25nCTEwNzA4ODkxOTYKKwkubG9uZwkzOTIyNDE4OTYKKwkubG9uZwkxMDI0MjUyODA5CisJLmxvbmcJMTc3ODAwODA2NAorCS5sb25nCTEwNzA5MDY0NjcKKwkubG9uZwkxNTM2MTA3OTQzCisJLmxvbmcJMTAyMzk0OTMwMAorCS5sb25nCTI5MzcxODQ3NjgKKwkubG9uZwkxMDcwOTIzNzYyCisJLmxvbmcJMzU0MTA2MjI1MQorCS5sb25nCTEwMTk0NDg2NDYKKwkubG9uZwkxMTQ0NDQyODgwCisJLmxvbmcJMTA3MDk0MTA4MgorCS5sb25nCTM2OTE2ODM3ODEKKwkubG9uZwkxMDIyMTIzOTQ4CisJLmxvbmcJMjQxMDE2NTUwNAorCS5sb25nCTEwNzA5NTg0MjYKKwkubG9uZwkxODA0MTgxOTYwCisJLmxvbmcJMTAyMzk0NTIyMQorCS5sb25nCTQxNzQzNTA4NDgKKwkubG9uZwkxMDcwOTc1Nzk1CisJLmxvbmcJMjAxNjA5NDg2MQorCS5sb25nCTEwMjE3MTY1ODUKKwkubG9uZwkzODk3MDEyNDgwCisJLmxvbmcJMTA3MDk5MzE5MAorCS5sb25nCTE3NTI5NDQxMAorCS5sb25nCTEwMjM3MDM0MDQKKwkubG9uZwkzMzUzNjIzMDQwCisJLmxvbmcJMTA3MTAxMDYxMQorCS5sb25nCTE2Nzk3MzI0MgorCS5sb25nCTEwMjMyNDA4MzkKKwkubG9uZwk0NTY3MTE2OAorCS5sb25nCTEwNzEwMjgwNTkKKwkubG9uZwkyMTY2ODU2MTEzCisJLmxvbmcJMTAyMTU2NTQxMworCS5sb25nCTg2MDYzODcyCisJLmxvbmcJMTA3MTA0NTUzMworCS5sb25nCTI2NzYyNTQ3MjcKKwkubG9uZwkxMDIzOTg1Mjk5CisJLmxvbmcJMTAxOTc3MjY3MgorCS5sb25nCTEwNzEwNjMwMzQKKwkubG9uZwk5ODkwNDM1OTMKKwkubG9uZwkxMDIxNTQ5NTg3CisJLmxvbmcJNDE0Mjk3MzQ0CisJLmxvbmcJMTA3MTA4MDU2MworCS5sb25nCTM5NjA5NzIwNDYKKwkubG9uZwkxMDI0MzA3MjUxCisJLmxvbmcJMTU1MTczMTIwCisJLmxvbmcJMTA3MTA5ODEyMAorCS5sb25nCTE4MzA5MTkyOTEKKwkubG9uZwkxMDIxNTkyMjUxCisJLmxvbmcJMjE1MTU2MjI0MAorCS5sb25nCTEwNzExMTU3MDUKKwkubG9uZwk0MDU0MDg2NjYKKwkubG9uZwkxMDIzNDIzMTI4CisJLmxvbmcJNDA0MTg1NDcyMAorCS5sb25nCTEwNzExMzMzMTkKKwkubG9uZwkyMDQzNDk3ODI3CisJLmxvbmcJMTAyNDQxMTUwMworCS5sb25nCTM0ODkyMjQxOTIKKwkubG9uZwkxMDcxMTUwOTYzCisJLmxvbmcJMzA3MjIxNTg2NAorCS5sb25nCTEwMjI2OTg2MzUKKwkubG9uZwkyNDc3MTk2Mjg4CisJLmxvbmcJMTA3MTE2ODYzNworCS5sb25nCTE4MTIxOTUxMzkKKwkubG9uZwkxMDIyNjg5MTkyCisJLmxvbmcJMzAxNTI5ODgxNgorCS5sb25nCTEwNzExODYzNDEKKwkubG9uZwk3NjQ4NDE5NjkKKwkubG9uZwkxMDIxMDI3MzMxCisJLmxvbmcJMjg0NDczMTEzNgorCS5sb25nCTEwNzEyMDQwNzYKKwkubG9uZwkyODc4MTE3MzIxCisJLmxvbmcJMTAxOTExNjUxMworCS5sb25nCTQwMjg5NTA1MjgKKwkubG9uZwkxMDcxMjIxODQyCisJLmxvbmcJNjk4OTExNDUyCisJLmxvbmcJMTAyMzI2NTYwMgorCS5sb25nCTY5NDQxNTM2CisJLmxvbmcJMTA3MTIzOTY0MQorCS5sb25nCTMyNTM0Njc4NDcKKwkubG9uZwkxMDIwNzk1MDc1CisJLmxvbmcJMTY3NjIwOTkyMAorCS5sb25nCTEwNzEyNTc0NzEKKwkubG9uZwk0MjcyNDMxMTY3CisJLmxvbmcJMTAyMjg3Mzk4MgorCS5sb25nCTI0MDg3NTIzODQKKwkubG9uZwkxMDcxMjc1MzM0CisJLmxvbmcJNjQ4NTE5MTAwCisJLmxvbmcJMTAyNDM4NTcxNworCS5sb25nCTE1MTYyMzY4MAorCS5sb25nCTEwNzEyOTMyMzEKKwkubG9uZwkzNDUyNTcwMTcKKwkubG9uZwkxMDE5NTYxNDA4CisJLmxvbmcJMTQxMDE1NDI0MAorCS5sb25nCTEwNzEzMTExNjEKKwkubG9uZwkxOTc4NjM5OTMKKwkubG9uZwkxMDIzMjI0MjA3CisJLmxvbmcJNDEzMTM1MTU1MgorCS5sb25nCTEwNzEzMjkxMjUKKwkubG9uZwkyNjIwODAxNzg5CisJLmxvbmcJMTAyNDQxMTE2OQorCS5sb25nCTE5OTk2NjQzODQKKwkubG9uZwkxMDcxMzQ3MTI1CisJLmxvbmcJMzk1MjY5MjYxNgorCS5sb25nCTEwMjQxNjgwODYKKwkubG9uZwkxNjE3NjY4ODY0CisJLmxvbmcJMTA3MTM2NTE2MAorCS5sb25nCTMwMTk4ODk4MDkKKwkubG9uZwkxMDIxOTA3NjkyCisJLmxvbmcJMTAzMjA3NDI0MAorCS5sb25nCTEwNzEzODMyMzEKKwkubG9uZwk1OTQ2OTg5OQorCS5sb25nCTEwMjM2NTYxOTQKKwkubG9uZwkyNjE5NDkyMDk2CisJLmxvbmcJMTA3MTQwMTMzOAorCS5sb25nCTE0MTc1MjY4MjAKKwkubG9uZwkxMDIxNDU3NzgzCisJLmxvbmcJMjAyNDI5NDQwCisJLmxvbmcJMTA3MTQxOTQ4MworCS5sb25nCTI5Mjc2Njc5MzUKKwkubG9uZwkxMDE5MTc1NDQ3CisJLmxvbmcJNTI1MDQ0MjI0CisJLmxvbmcJMTA3MTQzNzY2NQorCS5sb25nCTM4MTY2ODExCisJLmxvbmcJMTAyMzk4MTg3OQorCS5sb25nCTE3NzkyNTg4ODAKKwkubG9uZwkxMDcxNDU1ODg1CisJLmxvbmcJNDgxMjUyNTAwCisJLmxvbmcJMTAyMzMxMDIzNAorCS5sb25nCTIxOTU2NzM2MDAKKwkubG9uZwkxMDcxNDc0MTQ0CisJLmxvbmcJMzk2MjM5NTk4MQorCS5sb25nCTEwMjEzMzkwODgKKwkubG9uZwk0NDU3MzY5NgorCS5sb25nCTEwNzE0OTI0NDMKKwkubG9uZwkzOTM2MjgxMzk1CisJLmxvbmcJMTAyMzAxNDgyOQorCS5sb25nCTIyMjY5MDUzNDQKKwkubG9uZwkxMDcxNTEwNzgxCisJLmxvbmcJMTUxNTMyMDQ3NgorCS5sb25nCTEwMjQzMjA2MjMKKwkubG9uZwkyODAwNTEyNTEyCisJLmxvbmcJMTA3MTUyOTE2MAorCS5sb25nCTEyMjU0MDM2OTcKKwkubG9uZwkxMDIxMDgxODQ2CisJLmxvbmcJMTYxMTEzNjAwCisJLmxvbmcJMTA3MTU0NzU4MQorCS5sb25nCTMwNjQ4MDk3MzMKKwkubG9uZwkxMDI0MTczOTE3CisJLmxvbmcJMTMzODQxMDI0MAorCS5sb25nCTEwNzE1NjYwNDMKKwkubG9uZwkyMDI3NjA0OTczCisJLmxvbmcJMTAyNDM2MjUyNgorCS5sb25nCTUyMjQzMzI4MAorCS5sb25nCTEwNzE1ODQ1NDgKKwkubG9uZwkyMDU1MTcxNzIzCisJLmxvbmcJMTAyMzg1ODgyNQorCS5sb25nCTUzOTU5NTc3NgorCS5sb25nCTEwNzE2MDMwOTYKKwkubG9uZwkzODY4ODIwMTM1CisJLmxvbmcJMTAyMjkzNjQyNAorCS5sb25nCTQyNjQwMTc2NjQKKwkubG9uZwkxMDcxNjIxNjg3CisJLmxvbmcJMzIyODA2NTE0NQorCS5sb25nCTEwMjM0Nzk1NzgKKwkubG9uZwkxNzMzOTI0MDk2CisJLmxvbmcJMTA3MTY0MDMyNAorCS5sb25nCTM1MTE5MzQ0NzUKKwkubG9uZwkxMDIyNDk2MzU1CisJLmxvbmcJMTA4ODgwMzg0CisJLmxvbmcJMTA3MTY1MTgzOQorCS5sb25nCTYxNTg4MDk2NworCS5sb25nCTEwMjM1MTk3MDYKKwkubG9uZwkzNTE3ODU2NTEyCisJLmxvbmcJMTA3MTY2MTIwMgorCS5sb25nCTMxMTMxMDg1NTkKKwkubG9uZwkxMDI1MTkwMjg5CisJLmxvbmcJNDA0MzE1MzE1MgorCS5sb25nCTEwNzE2NzA1ODkKKwkubG9uZwkxNTcxODM2MjE4CisJLmxvbmcJMTAyMzEwNjExNgorCS5sb25nCTMyNTEyOTkwNzIKKwkubG9uZwkxMDcxNjgwMDAwCisJLmxvbmcJMzQ0NDA3NjEwMgorCS5sb25nCTEwMjIxODc4NDEKKwkubG9uZwkyNzM2OTIxNjAwCisJLmxvbmcJMTA3MTY4OTQzNQorCS5sb25nCTI3Mjc3MTQ4MworCS5sb25nCTEwMjUwOTUyODAKKwkubG9uZwkzODk3Njk4NTYwCisJLmxvbmcJMTA3MTcwMzYzMworCS5sb25nCTIwNzUzOTAxODgKKwkubG9uZwkxMDIyNDg5MDIyCisJLmxvbmcJMzIwOTQ4NTA1NgorCS5sb25nCTEwNzE3MjI2NTIKKwkubG9uZwkxNDM4MDk0MDY1CisJLmxvbmcJMTAyMTg0NDk0NAorCS5sb25nCTM3ODE0MzIwNjQKKwkubG9uZwkxMDcxNzQxNzc0CisJLmxvbmcJMTY3NTAxNzE0NQorCS5sb25nCTEwMjQxNDM4MjgKKwkubG9uZwkyNjg0MTg0MDY0CisJLmxvbmcJMTA3MTc2MTAwMworCS5sb25nCTIyNTk5NjM3NTMKKwkubG9uZwkxMDI0NzMxMzkzCisJLmxvbmcJMTg0MDQ4OTcyOAorCS5sb25nCTEwNzE3ODAzNDIKKwkubG9uZwkzMzcyODgzNTk3CisJLmxvbmcJMTAyMzQzMTQwOAorCS5sb25nCTM3NjQwODc4MDgKKwkubG9uZwkxMDcxNzk5Nzk0CisJLmxvbmcJMzMwNzUyMzEwMgorCS5sb25nCTEwMjQ0ODU3ODgKKwkubG9uZwkzMDA2MjMyMzIwCisJLmxvbmcJMTA3MTgxOTM2NAorCS5sb25nCTMwODg5NzE5NjYKKwkubG9uZwkxMDI1MjEzMjUxCisJLmxvbmcJMzM3NDg4MTI4MAorCS5sb25nCTEwNzE4MzkwNTUKKwkubG9uZwk4MzQ0Mzc3NDkKKwkubG9uZwkxMDI1MjM2NDUyCisJLmxvbmcJNzk3Mjg0ODY0CisJLmxvbmcJMTA3MTg1ODg3MgorCS5sb25nCTMxMjI2NjM5NDEKKwkubG9uZwkxMDI1MzIwNDczCisJLmxvbmcJNTQ1NzY1MTIwCisJLmxvbmcJMTA3MTg3ODgxOAorCS5sb25nCTgyNjUzOTYyNQorCS5sb25nCTEwMjI0NTA5NTUKKwkubG9uZwkxMDc1NjIyNDAKKwkubG9uZwkxMDcxODk4ODk4CisJLmxvbmcJMzM5NTg0NjAwCisJLmxvbmcJMTAyMjQ4MTI1NQorCS5sb25nCTIxMjM2NDkwMjQKKwkubG9uZwkxMDcxOTE5MTE2CisJLmxvbmcJMzkxMjk1OTgzMworCS5sb25nCTEwMjQzMjEwMDkKKwkubG9uZwkxNTYyMzg1NjY0CisJLmxvbmcJMTA3MTkzOTQ3OAorCS5sb25nCTI4NDYwNjcyMzAKKwkubG9uZwkxMDIzMzQzOTgxCisJLmxvbmcJMjk2MzA4NTgyNAorCS5sb25nCTEwNzE5NTk5ODgKKwkubG9uZwk5NTQ1NDg2MjcKKwkubG9uZwkxMDIxNDc1MjExCisJLmxvbmcJMzMyNTU1MDU5MgorCS5sb25nCTEwNzE5ODA2NTIKKwkubG9uZwkzNDU5NjUxMTU1CisJLmxvbmcJMTAyNTMwNTU3MworCS5sb25nCTc3NTc1MjQ0OAorCS5sb25nCTEwNzIwMDE0NzYKKwkubG9uZwkzNTgyNzQ2NjY3CisJLmxvbmcJMTAyMzg1OTQ2MAorCS5sb25nCTMyMzg1OTA3MjAKKwkubG9uZwkxMDcyMDIyNDY0CisJLmxvbmcJNjM0NjM2MTYyCisJLmxvbmcJMTAyNDQ3MjM1MworCS5sb25nCTI3NTg4MDE5MjAKKwkubG9uZwkxMDcyMDQzNjI0CisJLmxvbmcJMzA3ODIxNjMxOQorCS5sb25nCTEwMjUzMDQ1MTYKKwkubG9uZwkxMzcwMzE5MTA0CisJLmxvbmcJMTA3MjA2NDk2MgorCS5sb25nCTI1NzA1NjkwNzgKKwkubG9uZwkxMDI1MDk5NDQyCisJLmxvbmcJMjYxNTgwNTE4NAorCS5sb25nCTEwNzIwODY0ODQKKwkubG9uZwkzNzI5OTMzNDEyCisJLmxvbmcJMTAyNDYwNTExMgorCS5sb25nCTMwNzczMzY1NzYKKwkubG9uZwkxMDcyMTA4MTk4CisJLmxvbmcJMTk0ODkxNjA2NgorCS5sb25nCTEwMjQ3ODE2MDMKKwkubG9uZwkxMDk5NTI4MTkyCisJLmxvbmcJMTA3MjEzMDExMgorCS5sb25nCTMxMzkxNDMxNTcKKwkubG9uZwkxMDIzNzI5MzYwCisJLmxvbmcJMTIzMTkwMzIzMgorCS5sb25nCTEwNzIxNTIyMzMKKwkubG9uZwkxMzQ5NTEzNDc3CisJLmxvbmcJMTAyNDczNzUxNQorCS5sb25nCTE1MDc1MDQxMjgKKwkubG9uZwkxMDcyMTc0NTcwCisJLmxvbmcJMzQ4NDUxNjMyMgorCS5sb25nCTEwMjQwMDA5NTkKKwkubG9uZwkyMjE0NjU5ODQwCisJLmxvbmcJMTA3MjE5NzEzMgorCS5sb25nCTI1NjM4MjA5MTcKKwkubG9uZwkxMDI1MjI1NTM1CisJLmxvbmcJMTgwNDczOTg0MAorCS5sb25nCTEwNzIyMTk5MjkKKwkubG9uZwk3NjAwMzg3NDYKKwkubG9uZwkxMDI0NDgyODU1CisJLmxvbmcJMTQxMzc0NjY4OAorCS5sb25nCTEwNzIyNDI5NzEKKwkubG9uZwkzNDAxNzM0NzE0CisJLmxvbmcJMTAyNTEyOTgzOAorCS5sb25nCTgyMTQwOTUzNgorCS5sb25nCTEwNzIyNjYyNjkKKwkubG9uZwkzNzI5NzcyNTUxCisJLmxvbmcJMTAyNTQ4NDc5NgorCS5sb25nCTMwMzE4MjU2NjQKKwkubG9uZwkxMDcyMjg5ODM0CisJLmxvbmcJMTIyMjU2NzQ5CisJLmxvbmcJMTAyNDc1MjU5NAorCS5sb25nCTE3MTA3ODQyNTYKKwkubG9uZwkxMDcyMzEzNjgwCisJLmxvbmcJMTUxODIwNTQ4MworCS5sb25nCTEwMjQ3MjQ4MDkKKwkubG9uZwkzMDI1MjY1MTUyCisJLmxvbmcJMTA3MjMzNzgxOQorCS5sb25nCTQwOTk1MTk4OQorCS5sb25nCTEwMjI4MzU1NTUKKwkubG9uZwkyODc3NjkwODgKKwkubG9uZwkxMDcyMzYyMjY3CisJLmxvbmcJODAwMzU1NTk0CisJLmxvbmcJMTAyMjQ4NDg1MAorCS5sb25nCTE5ODE3OTg0MAorCS5sb25nCTEwNzIzODcwMzgKKwkubG9uZwkzNTAyOTI2MjEzCisJLmxvbmcJMTAyNDIwOTM3MworCS5sb25nCTE5MDkxMzA0OTYKKwkubG9uZwkxMDcyNDEyMTQ5CisJLmxvbmcJMzA2NDY5NDMxOQorCS5sb25nCTEwMjUzODA4MjMKKwkubG9uZwkxOTQxNzMyMDk2CisJLmxvbmcJMTA3MjQzNzYxOQorCS5sb25nCTQxMTI5MzAzOTAKKwkubG9uZwkxMDI0Mjk0Njc5CisJLmxvbmcJMzQ5MjAxMDQ5NgorCS5sb25nCTEwNzI0NjM0NjcKKwkubG9uZwkyNjg0OTE4MTA3CisJLmxvbmcJMTAyMzIyMDIzMworCS5sb25nCTgxOTU5NjgwCisJLmxvbmcJMTA3MjQ4OTcxNgorCS5sb25nCTIyMDAyMTM2NgorCS5sb25nCTEwMjA2MzUxMzEKKwkubG9uZwkyMjk3ODM3MDU2CisJLmxvbmcJMTA3MjUxNjM4NworCS5sb25nCTQwMjc2ODM4MjYKKwkubG9uZwkxMDIxMDQxMTg1CisJLmxvbmcJMjcwNDA0MDk2CisJLmxvbmcJMTA3MjU0MzUwOAorCS5sb25nCTIwMTI3NjYwNjUKKwkubG9uZwkxMDIxNzgwNzUzCisJLmxvbmcJMzY2NzM3Njg5NgorCS5sb25nCTEwNzI1NzExMDUKKwkubG9uZwkyNzI3OTgxNTIyCisJLmxvbmcJMTAyMzAwOTg3NAorCS5sb25nCTMzMDQwMDI1NgorCS5sb25nCTEwNzI1OTkyMTIKKwkubG9uZwkyOTQwMDE3MDAzCisJLmxvbmcJMTAyNTM5MzQzOQorCS5sb25nCTExMTkyOTM5NTIKKwkubG9uZwkxMDcyNjI3ODYxCisJLmxvbmcJMTYwODU1MDQxNgorCS5sb25nCTEwMjI2NzU2MTIKKwkubG9uZwkzNTM2MTU1OTA0CisJLmxvbmcJMTA3MjY1NzA5MQorCS5sb25nCTM0OTY2NTc3OAorCS5sb25nCTEwMjUxNTY3NTEKKwkubG9uZwkzMDc4MDQ2NzIwCisJLmxvbmcJMTA3MjY4Njk0NgorCS5sb25nCTIwMTYxNTk5OTYKKwkubG9uZwkxMDIyMTkzMTY5CisJLmxvbmcJNDU1MjI4NDE2CisJLmxvbmcJMTA3MjcwNTM2MQorCS5sb25nCTE5MDg1MzkzMjgKKwkubG9uZwkxMDI2MTI2MzMyCisJLmxvbmcJMTg3MTUwNTY2NAorCS5sb25nCTEwNzI3MjA5ODgKKwkubG9uZwkyNzg0NzAwODk0CisJLmxvbmcJMTAyNTkyMjI3NworCS5sb25nCTE2MzA5OTQ0MzIKKwkubG9uZwkxMDcyNzM3MDEwCisJLmxvbmcJMzYxMTA3Njc4CisJLmxvbmcJMTAyMjg4NzI0NAorCS5sb25nCTIwODQ1NTgzMzYKKwkubG9uZwkxMDcyNzUzNDYyCisJLnR5cGUJVGJsX2FkZHIsQG9iamVjdAorCS5zaXplCVRibF9hZGRyLDM4NDAKKwkuc3BhY2UgNzY4LCAweDAwIAkjIHBhZAorCS5hbGlnbiAxNgorY3Y6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMzIxNzM4MDY5MworCS5sb25nCTg1ODk5MzQ1OQorCS5sb25nCTMyMTYxOTIzMDcKKwkubG9uZwkzMDY3ODMzNzgzCisJLmxvbmcJMzIxNTM4MzQwNQorCS50eXBlCWN2LEBvYmplY3QKKwkuc2l6ZQljdiwzMgorCS5hbGlnbiAxNgorUElfQllfMjoKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE2MTc4MjE0CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzMyOTE3NzEKKwkudHlwZQlQSV9CWV8yLEBvYmplY3QKKwkuc2l6ZQlQSV9CWV8yLDE2CisJLmFsaWduIDE2CitORUdfUEk6CisJLmxvbmcJODU2OTcyMjk1CisJLmxvbmcJMzE2NDcxMDQzOAorCS5sb25nCTE0MTM3NTQxMzYKKwkubG9uZwkzMjIxODIzOTk1CisJLnR5cGUJTkVHX1BJLEBvYmplY3QKKwkuc2l6ZQlORUdfUEksMTYKKwkuYWxpZ24gMTYKK2N2MjoKKwkubG9uZwk3ODA5MDMxNDUKKwkubG9uZwkxMDY2ODU0NTg2CisJLmxvbmcJODU4OTkzNDU5CisJLmxvbmcJMTA2ODcwODY1OQorCS5sb25nCTMzNDA1MzAxMTkKKwkubG9uZwkxMDY3MzkyMTEzCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjk4OTcwNDUKKwkubG9uZwkxMzIxNTI4Mzk5CisJLmxvbmcJMTA2NjUxNzc0MAorCS5sb25nCTMwNjc4MzM3ODMKKwkubG9uZwkxMDY3ODk5NzU3CisJLmxvbmcJMjAyMTE1OTQ2MAorCS5sb25nCTEwNjU4NTUwOTYKKwkubG9uZwkyNTc2OTgwMzc4CisJLmxvbmcJMTA2NjE3ODk2OQorCS50eXBlCWN2MixAb2JqZWN0CisJLnNpemUJY3YyLDY0CisJLmFsaWduIDE2CitIQUxGTUFTSzoKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLnR5cGUJSEFMRk1BU0ssQG9iamVjdAorCS5zaXplCUhBTEZNQVNLLDE2CisJLmFsaWduIDE2CitQSToKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE3MjI2NzkwCisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzQzNDAzNDcKKwkudHlwZQlQSSxAb2JqZWN0CisJLnNpemUJUEksMTYKKwkuYWxpZ24gNAorT05FTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS50eXBlCU9ORU1BU0ssQG9iamVjdAorCS5zaXplCU9ORU1BU0ssOAorCS5hbGlnbiA0CitUTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk1MDkxMgorCS50eXBlCVRNQVNLLEBvYmplY3QKKwkuc2l6ZQlUTUFTSyw4CisJLmFsaWduIDQKK09ORV9CWV8yOgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLnR5cGUJT05FX0JZXzIsQG9iamVjdAorCS5zaXplCU9ORV9CWV8yLDgKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hY29zLjEtLgorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hY29zLjUtLi5fX190YWdfdmFsdWVfYWNvcy4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hY29zLjMtLi5fX190YWdfdmFsdWVfYWNvcy4xCisJLjJieXRlIDB4MjAwZQorCS5ieXRlIDB4MDQKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfYWNvcy40LS4uX19fdGFnX3ZhbHVlX2Fjb3MuMworCS4yYnl0ZSAweDA4MGUKKwkuYnl0ZSAweDAwCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvZV9hc2luLlMgYi9saWJtL3g4Nl82NC9lX2FzaW4uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjQxYzdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvZV9hc2luLlMKQEAgLTAsMCArMSwyMDM2IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gIFRvIGNvbXB1dGUgYXNpbihzKSwgc2VwYXJhdGUgc2NoZW1lcyBhcmUgdXNlZCB3aGVuIHMgaXMgaW4gZGlmZmVyZW50CisvLyAgaW50ZXJ2YWxzLgorLy8KKy8vICB8c3wgaW4gWzJeey00fSwgc3FydCgzKS8yKToKKy8vICAgICAgIExldCB0PTJeayoxLmIxIGIyLi5iNiAxLCB3aGVyZSBzPTJeayoxLmIxIGIyIC4uIGI1MgorLy8gICAgICAgYXNpbihzKT1hc2luKHQpK2FzaW4ociksIHdoZXJlIHI9cypzcXJ0KDEtdF4yKS10KnNxcnQoMS1zXjIpCisvLyAgICAgICBhc2luKHIpLXIgZXZhbHVhdGVkIGFzIDctZGVncmVlIHBvbHlub21pYWwgKGMzKnJeMytjNSpyXjUrYzcqcl43KQorLy8gICAgICAgRm9yIHRoZSBmaXJzdCBkZWdyZWUgdGVybSwgciBpcyBldmFsdWF0ZWQgYXMKKy8vICAgICAgICAgICAgICAgIFI9KHNeMi10XjIpLyhzcXJ0KDEtdF4yKSpzK3NxcnQoMS1zXjIpKnQpCisvLyAgICAgICAoc3FydCgxLXReMikgcmVhZCBmcm9tIHRhYmxlKQorLy8gIFRoZSBtYWluIHNvdXJjZSBvZiBlcnJvciBpcyBzdGlsbCBSIChtYXkgc3RpbGwgYmUgYWZmZWN0ZWQgYnkgdXAgdG8gMyB1bHBzCisvLyAgb2Ygcm91bmRpbmcgZXJyb3IpLiBUaGUgdGFibGUgc2l6ZSBtdXN0IGJlIHN1ZmZpY2llbnRseSBsYXJnZSwgdG8gbWluaW1pemUKKy8vICB0aGlzIGVmZmVjdC4KKy8vCisvLyAgfHN8IGluIFtzcXJ0KDMpLzIsIDI1NS8yNTYpOgorLy8gICAgICAgTGV0IHQ9Ml5rKjEuYjEgYjIuLmI2IDEsIHdoZXJlIHNxcnQoMS1zXjIpPTJeayoxLmIxIGIyIC4uIGI1MiAocm91bmRlZCkKKy8vICAgICAgIGFzaW4ofHN8KT1waS8yLWFzaW4odCkrYXNpbihyKSwgcj1zKnQtc3FydCgxLXNeMikqc3FydCgxLXReMikKKy8vICAgICAgIGFzaW4ocikgZXZhbHVhdGVkIGFzIHBvbHlub21pYWwgKHNhbWUgYXMgYWJvdmUpCisvLyAgICAgICBUaGUgZmlyc3QgZGVncmVlIHRlcm0gaXMgZXZhbHVhdGVkIGFzCisvLyAgICAgICAgICAgICAgICAgICAgICAgIHI9KHNeMit0XjItMSkvKHMqdCtzcXJ0KDEtc14yKSpzcXJ0KDEtdF4yKSkKKy8vCisvLyAgfHN8PDJeey00fTogZXZhbHVhdGUgYXMgMTMtZGVncmVlIHBvbHlub21pYWwKKy8vCisvLyAgfHN8IGluIFsyNTUvMjU2LDEpOiBhc2luKHxzfCk9cGkvMi1hc2luKHNxcnQoMS1zXjIpKQorLy8gICAgICAgICB1c2UgMTctZGVncmVlIHBvbHlub21pYWwsIGdldCBlcnJvciB0ZXJtCisvLyAgICAgICAgIFEqZXBzIH4gKDEtc14yLVFeMikvKDIqUSkgZm9yIGZpcnN0IHRlcm0KKy8vICAgICAgICAgICAgICAgICAoIFEoMStlcHMpPXNxcnQoMS1zXjIpICkKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGFzaW4oTmFOKSA9IHF1aWV0IE5hTiwgYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgYXNpbihJTkYpID0gUU5hTiBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBhc2luKHgpID0gUU5hTiBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24sIGZvciB8eHw+MS4wCisvLyAgYXNpbigrLy0wKSA9ICsvLTAKKy8vCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisjIC0tIEJlZ2luICBhc2luCitFTlRSWShhc2luKQorIyBwYXJhbWV0ZXIgMTogJXhtbTAKKy4uQjEuMToKKy4uX19fdGFnX3ZhbHVlX2FzaW4uMToKKyAgICAgICAgc3VicSAgICAgICQyNCwgJXJzcAorLi5fX190YWdfdmFsdWVfYXNpbi4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglcnNwKQorLi5CMS4yOgorICAgICAgICBzdG14Y3NyICAgMTYoJXJzcCkKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkLTI0NTc3LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBtb3ZzZCAgICAgQUJTVkFMTUFTSyglcmlwKSwgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIE9ORU1BU0soJXJpcCksICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbW92c2QgICAgIFRNQVNLKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDgxOTIsICVlY3gKKyAgICAgICAgcGluc3J3ICAgICQyLCAlZWN4LCAleG1tNQorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHBzcmxxICAgICAkNDQsICV4bW0wCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmwgICAgICAkODE5MiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDIsICVlY3gsICV4bW01CisgICAgICAgIG1vdnEgICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQ1MjQyODcsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQyNjA4NjQsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQ5NTUsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgYW5kbCAgICAgICQ2NTUzNSwgJWVkeAorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHNxcnRzZCAgICAleG1tMywgJXhtbTMKKyAgICAgICAgYW5kcGQgICAgICV4bW03LCAleG1tMgorICAgICAgICBhbmRsICAgICAgJC00LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkNjQyNTYsICVlZHgKKyAgICAgICAgbGVhICAgICAgIFRfdGFibGUoJXJpcCksICVyOAorICAgICAgICBtb3ZzZCAgICAgKCVyOCwlcmR4LDIpLCAleG1tMQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIGxlYSAgICAgICBUYmxfYWRkciglcmlwKSwgJXI4CisgICAgICAgIG1vdmFwZCAgICAoJXI4LCVyZHgsNCksICV4bW00CisgICAgICAgIG1vdnEgICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBkaXZzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAxNitjdiglcmlwKSwgJXhtbTcKKyAgICAgICAgbW92c2QgICAgIGN2KCVyaXApLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFuZHBkICAgICBTSUdOTUFTSyglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdnNkICAgICA4K2N2KCVyaXApLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNQorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW00LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBtb3ZsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQtMjQ1NzcsICVlYXgKKyAgICAgICAgY21wbCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBzdG14Y3NyICAgMjAoJXJzcCkKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjQ1NzYsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsIDIwKCVyc3ApCisgICAgICAgIGxkbXhjc3IgICAyMCglcnNwKQorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIHN1YmwgICAgICAkOTU1LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkNjcsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBzcXJ0c2QgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGFuZHBkICAgICBBQlNWQUxNQVNLKCVyaXApLCAleG1tMAorICAgICAgICBhbmRwZCAgICAgSEFMRk1BU0syKCVyaXApLCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdnNkICAgICBPTkVNQVNLKCVyaXApLCAleG1tNAorICAgICAgICBtb3ZxICAgICAgJXhtbTcsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW03CisgICAgICAgIGFuZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgcHNsbHEgICAgICQyLCAleG1tMworICAgICAgICBwZXh0cncgICAgJDMsICV4bW0zLCAlZWR4CisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgc3VibCAgICAgICQ2NTIxNiwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBsZWEgICAgICAgVF90YWJsZSglcmlwKSwgJXI4CisgICAgICAgIG11bHNkICAgICAoJXI4LCVyZHgsNCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgIFBJX0JZXzIoJXJpcCksICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIG1vdnNkICAgICBjdiglcmlwKSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdnNkICAgICAxNitjdiglcmlwKSwgJXhtbTAKKyAgICAgICAgZGl2c2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgOCtjdiglcmlwKSwgJXhtbTIKKyAgICAgICAgbGVhICAgICAgIFRibF9hZGRyKCVyaXApLCAlcjgKKyAgICAgICAgc3VicGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTMKKyAgICAgICAgbW92cSAgICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIGFuZGwgICAgICAkNTI0Mjg4LCAlZWF4CisgICAgICAgIHNocmwgICAgICAkNCwgJWVheAorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgcHhvciAgICAgICV4bW02LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTUKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0zLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJC0yNDU3NywgJWVheAorICAgICAgICBjbXBsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIHN0bXhjc3IgICAyMCglcnNwKQorICAgICAgICBtb3ZsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyNDU3NiwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVheCwgMjAoJXJzcCkKKyAgICAgICAgbGRteGNzciAgIDIwKCVyc3ApCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIGFkZGwgICAgICAkMTUyOTEsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxNDMzNiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKyAgICAgICAgdW5wY2tscGQgICV4bW03LCAleG1tNworICAgICAgICBtb3ZhcGQgICAgY3YyKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTcsICV4bW02CisgICAgICAgIG1vdmFwZCAgICAxNitjdjIoJXJpcCksICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAzMitjdjIoJXJpcCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgbW92cSAgICAgICV4bW02LCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW02CisgICAgICAgIGFkZHBkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW02LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTEsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkLTI0NTc3LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgc3RteGNzciAgIDIwKCVyc3ApCisgICAgICAgIG1vdmwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDI0NTc2LCAlZWF4CisgICAgICAgIG9ybCAgICAgICAlZWF4LCAyMCglcnNwKQorICAgICAgICBsZG14Y3NyICAgMjAoJXJzcCkKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBzdWJsICAgICAgJDE1MzU4LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHNxcnRzZCAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgYW5kcGQgICAgIEhBTEZNQVNLKCVyaXApLCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMywgJXhtbTUKKyAgICAgICAgYW5kcGQgICAgIEhBTEZNQVNLKCVyaXApLCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG1vdnNkICAgICBPTkVNQVNLKCVyaXApLCAleG1tNAorICAgICAgICBtb3ZxICAgICAgJXhtbTcsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdmFwZCAgICBjdjIoJXJpcCksICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW03LCAleG1tNgorICAgICAgICBkaXZzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA0OCtjdjIoJXJpcCksICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAxNitjdjIoJXJpcCksICV4bW01CisgICAgICAgIG1vdmFwZCAgICAzMitjdjIoJXJpcCksICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgbW92cSAgICAgICV4bW02LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgc2hybCAgICAgICQ0LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgICV4bW02LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgbW92YXBkICAgIFBJX0JZXzIoJXJpcCksICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW01LCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW03LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTYsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQtMjQ1NzcsICVlYXgKKyAgICAgICAgY21wbCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF85LjAuMgorICAgICAgICBzdG14Y3NyICAgMjAoJXJzcCkKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjQ1NzYsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsIDIwKCVyc3ApCisgICAgICAgIGxkbXhjc3IgICAyMCglcnNwKQorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzguMC4yOgorICAgICAgICBhZGRsICAgICAgJDI2MTg4NiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDI2MTg4OCwgJWVheAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVjeAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMAorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAkMTA3MjY5MzI0OCwgJWVheAorICAgICAgICBzdWJsICAgICAgJWVkeCwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzExLjAuMgorICAgICAgICBtb3ZzZCAgICAgKCVyc3ApLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVjeAorICAgICAgICBzdWJsICAgICAgJDEsICVlZHgKKyAgICAgICAgc2JibCAgICAgICQyMTQ2NDM1MDcyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVjeAorICAgICAgICBqZ2UgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIG1vdnNkICAgICBBQlNWQUxNQVNLKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgUElfQllfMiglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92c2QgICAgIDgrUElfQllfMiglcmlwKSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBhbmRucGQgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkLTI0NTc3LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTMuMC4yCisgICAgICAgIHN0bXhjc3IgICAyMCglcnNwKQorICAgICAgICBtb3ZsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyNDU3NiwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVheCwgMjAoJXJzcCkKKyAgICAgICAgbGRteGNzciAgIDIwKCVyc3ApCisuTF8yVEFHX1BBQ0tFVF8xMy4wLjI6CisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgbW92c2QgICAgICglcnNwKSwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG1vdmwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJC0yNDU3NywgJWVheAorICAgICAgICBjbXBsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE0LjAuMgorICAgICAgICBzdG14Y3NyICAgMjAoJXJzcCkKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjQ1NzYsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsIDIwKCVyc3ApCisgICAgICAgIGxkbXhjc3IgICAyMCglcnNwKQorLkxfMlRBR19QQUNLRVRfMTQuMC4yOgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQxNiwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDMyNzM2LCAlZWR4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNS4wLjIKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNgorICAgICAgICBvcnBkICAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTcKKy5MXzJUQUdfUEFDS0VUXzE1LjAuMjoKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMC4wLjI6CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAyMCglcnNwKQorICAgICAgICBsZG14Y3NyICAgMjAoJXJzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMi4wLjI6CisgICAgICAgIG1vdmwgICAgICAxNiglcnNwKSwgJWVheAorICAgICAgICBhbmRsICAgICAgJC0yNDU3NywgJWVheAorICAgICAgICBjbXBsICAgICAgMTYoJXJzcCksICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE2LjAuMgorICAgICAgICBzdG14Y3NyICAgMjAoJXJzcCkKKyAgICAgICAgbW92bCAgICAgIDE2KCVyc3ApLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMjQ1NzYsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsIDIwKCVyc3ApCisgICAgICAgIGxkbXhjc3IgICAyMCglcnNwKQorLkxfMlRBR19QQUNLRVRfMTYuMC4yOgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsIDgoJXJzcCkKKy4uQjEuMzoKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW0wCisuTF8yVEFHX1BBQ0tFVF8xNy4wLjI6CisuLkIxLjU6CisgICAgICAgIGFkZHEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2FzaW4uNDoKKyAgICAgICAgcmV0ICAgICAgIAorLi5fX190YWdfdmFsdWVfYXNpbi41OgorRU5EKGFzaW4pCisjIC0tIEVuZCAgYXNpbgorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorQUJTVkFMTUFTSzoKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMjE0NzQ4MzY0NworCS5sb25nCTAKKwkubG9uZwkwCisJLnR5cGUJQUJTVkFMTUFTSyxAb2JqZWN0CisJLnNpemUJQUJTVkFMTUFTSywxNgorCS5hbGlnbiAxNgorVF90YWJsZToKKwkubG9uZwkyNjQyNzg0NTA5CisJLmxvbmcJMTA3MjY4OTA4MworCS5sb25nCTE1MTQ0NDI1MzEKKwkubG9uZwkxMDcyNjg4OTUzCisJLmxvbmcJMzMzMTA4OTMzCisJLmxvbmcJMTA3MjY4ODgyMQorCS5sb25nCTMzOTIxMTIwMjQKKwkubG9uZwkxMDcyNjg4Njg2CisJLmxvbmcJMjA5OTg1Mjg2MgorCS5sb25nCTEwNzI2ODg1NTAKKwkubG9uZwk3NDk2MDkwMDQKKwkubG9uZwkxMDcyNjg4NDEyCisJLmxvbmcJMzYzNDYzMjU5NgorCS5sb25nCTEwNzI2ODgyNzEKKwkubG9uZwkyMTYzMjQ4NDYxCisJLmxvbmcJMTA3MjY4ODEyOQorCS5sb25nCTYyODY1Nzg0NgorCS5sb25nCTEwNzI2ODc5ODUKKwkubG9uZwkzMzI0MDM2NTExCisJLmxvbmcJMTA3MjY4NzgzOAorCS5sb25nCTE2NTc2MzI4MTUKKwkubG9uZwkxMDcyNjg3NjkwCisJLmxvbmcJNDIxNzUzODc2MAorCS5sb25nCTEwNzI2ODc1MzkKKwkubG9uZwkyNDExOTUxNTk3CisJLmxvbmcJMTA3MjY4NzM4NworCS5sb25nCTUzMzk0NDg3MgorCS5sb25nCTEwNzI2ODcyMzMKKwkubG9uZwkyODc2NTY2NTA4CisJLmxvbmcJMTA3MjY4NzA3NgorCS5sb25nCTg0NzkzNjg5MQorCS5sb25nCTEwNzI2ODY5MTgKKwkubG9uZwkzMDM2MDE5OTEzCisJLmxvbmcJMTA3MjY4Njc1NworCS5sb25nCTg0ODg4NDU3NQorCS5sb25nCTEwNzI2ODY1OTUKKwkubG9uZwkyODc0NDQzMzI2CisJLmxvbmcJMTA3MjY4NjQzMAorCS5sb25nCTUyMDcxMzY2NgorCS5sb25nCTEwNzI2ODYyNjQKKwkubG9uZwkyMzc1NTU2NDgxCisJLmxvbmcJMTA3MjY4NjA5NQorCS5sb25nCTQxNDE5MDQ5NDgKKwkubG9uZwkxMDcyNjg1OTI0CisJLmxvbmcJMTUyMjY2NjM4MgorCS5sb25nCTEwNzI2ODU3NTIKKwkubG9uZwkzMTA1NjI0MTA0CisJLmxvbmcJMTA3MjY4NTU3NworCS5sb25nCTI5ODY2NjMyNworCS5sb25nCTEwNzI2ODU0MDEKKwkubG9uZwkxNjg5NTI0NTAwCisJLmxvbmcJMTA3MjY4NTIyMgorCS5sb25nCTI5ODEwMDIyMDAKKwkubG9uZwkxMDcyNjg1MDQxCisJLmxvbmcJNDE3MDg0NDI4NAorCS5sb25nCTEwNzI2ODQ4NTgKKwkubG9uZwk5NjE4MDIyNjMKKwkubG9uZwkxMDcyNjg0Njc0CisJLmxvbmcJMTk0MTUwMzQ1NAorCS5sb25nCTEwNzI2ODQ0ODcKKwkubG9uZwkyODEyNjQ3MTcwCisJLmxvbmcJMTA3MjY4NDI5OAorCS5sb25nCTM1NzI4NzM4NjkKKwkubG9uZwkxMDcyNjg0MTA3CisJLmxvbmcJNDIxOTc5NzgyMworCS5sb25nCTEwNzI2ODM5MTQKKwkubG9uZwk0NTYwMzk3ODgKKwkubG9uZwkxMDcyNjgzNzIwCisJLmxvbmcJODY5MDk2MTUxCisJLmxvbmcJMTA3MjY4MzUyMworCS5sb25nCTExNjE1MzUxMTkKKwkubG9uZwkxMDcyNjgzMzI0CisJLmxvbmcJMTMzMDg2NTg2NgorCS5sb25nCTEwNzI2ODMxMjMKKwkubG9uZwkxMzc0NTcxMjA0CisJLmxvbmcJMTA3MjY4MjkyMAorCS5sb25nCTEyOTAxMDc1MzgKKwkubG9uZwkxMDcyNjgyNzE1CisJLmxvbmcJMTA3NDkwNDgzNgorCS5sb25nCTEwNzI2ODI1MDgKKwkubG9uZwk3MjYzNjY1ODcKKwkubG9uZwkxMDcyNjgyMjk5CisJLmxvbmcJMjQxODY5NzYzCisJLmxvbmcJMTA3MjY4MjA4OAorCS5sb25nCTM5MTM3MzIwNzkKKwkubG9uZwkxMDcyNjgxODc0CisJLmxvbmcJMzE0OTM0Mjc2NQorCS5sb25nCTEwNzI2ODE2NTkKKwkubG9uZwkyMjQwOTY2MzA2CisJLmxvbmcJMTA3MjY4MTQ0MgorCS5sb25nCTExODU4NzMyMTYKKwkubG9uZwkxMDcyNjgxMjIzCisJLmxvbmcJNDI3NjI3NDU5MQorCS5sb25nCTEwNzI2ODEwMDEKKwkubG9uZwkyOTE5NDUyODgzCisJLmxvbmcJMTA3MjY4MDc3OAorCS5sb25nCTE0MDc1NjU2MzUKKwkubG9uZwkxMDcyNjgwNTUzCisJLmxvbmcJNDAzMjc0MzU1MQorCS5sb25nCTEwNzI2ODAzMjUKKwkubG9uZwkyMjAyMTg4NTY1CisJLmxvbmcJMTA3MjY4MDA5NgorCS5sb25nCTIwNzk3NzU3NworCS5sb25nCTEwNzI2Nzk4NjUKKwkubG9uZwkyMzQyMTYwNTE4CisJLmxvbmcJMTA3MjY3OTYzMQorCS5sb25nCTExODU4NDIzCisJLmxvbmcJMTA3MjY3OTM5NgorCS5sb25nCTE4MDQwMzQ0NTMKKwkubG9uZwkxMDcyNjc5MTU4CisJLmxvbmcJMzQyMDcyMjc4NworCS5sb25nCTEwNzI2Nzg5MTgKKwkubG9uZwk1NjM5MzA0NTYKKwkubG9uZwkxMDcyNjc4Njc3CisJLmxvbmcJMTgyMDUzOTE5MgorCS5sb25nCTEwNzI2Nzg0MzMKKwkubG9uZwkyODkyNTAxNjA2CisJLmxvbmcJMTA3MjY3ODE4NworCS5sb25nCTM3NzY3MTAzMjAKKwkubG9uZwkxMDcyNjc3OTM5CisJLmxvbmcJMTc1MDYzMzM3CisJLmxvbmcJMTA3MjY3NzY5MAorCS5sb25nCTY3NDMzMzE3MQorCS5sb25nCTEwNzI2Nzc0MzgKKwkubG9uZwk5NzYzNjMwMjYKKwkubG9uZwkxMDcyNjc3MTg0CisJLmxvbmcJMTA3NzkzNTkzNAorCS5sb25nCTEwNzI2NzY5MjgKKwkubG9uZwkxOTIxMDc1NDkwCisJLmxvbmcJMTA3MjY3NjU0MAorCS5sb25nCTg4MTQ5MzMwMgorCS5sb25nCTEwNzI2NzYwMTYKKwkubG9uZwkzMjc1NzUyNDM5CisJLmxvbmcJMTA3MjY3NTQ4MworCS5sb25nCTQ4Njg1NTU4OAorCS5sb25nCTEwNzI2NzQ5NDMKKwkubG9uZwkxMDc3MjI5MTExCisJLmxvbmcJMTA3MjY3NDM5NAorCS5sb25nCTcyMzk1MDMwOAorCS5sb25nCTEwNzI2NzM4MzcKKwkubG9uZwkzNjkzNTgyMTk5CisJLmxvbmcJMTA3MjY3MzI3MQorCS5sb25nCTEzNjczMzUzMTYKKwkubG9uZwkxMDcyNjcyNjk4CisJLmxvbmcJMjMwNTgzNzAyMAorCS5sb25nCTEwNzI2NzIxMTYKKwkubG9uZwkyMTg0MzU4NjQxCisJLmxvbmcJMTA3MjY3MTUyNgorCS5sb25nCTk3MjY4Mjg0MAorCS5sb25nCTEwNzI2NzA5MjgKKwkubG9uZwkyOTM1MTAxNzYyCisJLmxvbmcJMTA3MjY3MDMyMQorCS5sb25nCTM3NDU1MTMyNjMKKwkubG9uZwkxMDcyNjY5NzA2CisJLmxvbmcJMzM3MjMyMDg4NgorCS5sb25nCTEwNzI2NjkwODMKKwkubG9uZwkxNzgzNDY0NjIwCisJLmxvbmcJMTA3MjY2ODQ1MgorCS5sb25nCTMyNDEzODYyMTUKKwkubG9uZwkxMDcyNjY3ODEyCisJLmxvbmcJMzQxODEyNTI4NAorCS5sb25nCTEwNzI2NjcxNjQKKwkubG9uZwkyMjgwMjE5MTQ4CisJLmxvbmcJMTA3MjY2NjUwOAorCS5sb25nCTQwODg3MDA3NTgKKwkubG9uZwkxMDcyNjY1ODQzCisJLmxvbmcJMjE5MjI3NDAwCisJLmxvbmcJMTA3MjY2NTE3MQorCS5sb25nCTM1MjE4MTY5MTgKKwkubG9uZwkxMDcyNjY0NDg5CisJLmxvbmcJMTA3NjIwNTI3OQorCS5sb25nCTEwNzI2NjM4MDAKKwkubG9uZwkxNDM2NDg0NjE2CisJLmxvbmcJMTA3MjY2MzEwMgorCS5sb25nCTI3MTM2MjYxMAorCS5sb25nCTEwNzI2NjIzOTYKKwkubG9uZwkxODM4OTk2Njg4CisJLmxvbmcJMTA3MjY2MTY4MQorCS5sb25nCTE4MDcxMjI1MTgKKwkubG9uZwkxMDcyNjYwOTU4CisJLmxvbmcJMTM3OTUzNTQyCisJLmxvbmcJMTA3MjY2MDIyNworCS5sb25nCTEwODgxNzg1ODQKKwkubG9uZwkxMDcyNjU5NDg3CisJLmxvbmcJMzI0MDU3NTM3CisJLmxvbmcJMTA3MjY1ODczOQorCS5sb25nCTIxMDEyODgwNzYKKwkubG9uZwkxMDcyNjU3OTgyCisJLmxvbmcJMjA4NTEzMzk3NAorCS5sb25nCTEwNzI2NTcyMTcKKwkubG9uZwkyMzUzMjQ0NTEKKwkubG9uZwkxMDcyNjU2NDQ0CisJLmxvbmcJODA2MDUxNTkyCisJLmxvbmcJMTA3MjY1NTY2MgorCS5sb25nCTM3NTYwMzMxNDAKKwkubG9uZwkxMDcyNjU0ODcxCisJLmxvbmcJNDUzNTQyNTQzCisJLmxvbmcJMTA3MjY1NDA3MworCS5sb25nCTM3NDExNzczMjcKKwkubG9uZwkxMDcyNjUzMjY1CisJLmxvbmcJNjkxMjE2MTA5CisJLmxvbmcJMTA3MjY1MjQ1MAorCS5sb25nCTQxNDUyMjMzNzIKKwkubG9uZwkxMDcyNjUxNjI1CisJLmxvbmcJMTE3NDQzOTA5MQorCS5sb25nCTEwNzI2NTA3OTMKKwkubG9uZwkzMjQ0MTYxMzkKKwkubG9uZwkxMDcyNjQ5OTUyCisJLmxvbmcJMTU1MDI0NjMxMAorCS5sb25nCTEwNzI2NDkxMDIKKwkubG9uZwk1MTE1MjQ2NzQKKwkubG9uZwkxMDcyNjQ4MjQ0CisJLmxvbmcJMTQ1NzI0ODQ4MgorCS5sb25nCTEwNzI2NDczNzcKKwkubG9uZwk0NTk0NDk1NQorCS5sb25nCTEwNzI2NDY1MDIKKwkubG9uZwk1MjU1MzczOTcKKwkubG9uZwkxMDcyNjQ1NjE4CisJLmxvbmcJMjg0ODQ0MDE4OAorCS5sb25nCTEwNzI2NDQ3MjUKKwkubG9uZwkyNjcxNTU1NjMzCisJLmxvbmcJMTA3MjY0MzgyNAorCS5sb25nCTQyNDExNzI2MzcKKwkubG9uZwkxMDcyNjQyOTE0CisJLmxvbmcJMzIxMzA5NDI3OAorCS5sb25nCTEwNzI2NDE5OTYKKwkubG9uZwkzODMyNTAzNjg4CisJLmxvbmcJMTA3MjY0MTA2OQorCS5sb25nCTE3NTQwOTE1MzQKKwkubG9uZwkxMDcyNjQwMTM0CisJLmxvbmcJMTIyMTkyMTgwNAorCS5sb25nCTEwNzI2MzkxOTAKKwkubG9uZwkyMTg0NTI2NDg5CisJLmxvbmcJMTA3MjYzODIzNworCS5sb25nCTI5NDkwMjA4OQorCS5sb25nCTEwNzI2MzcyNzYKKwkubG9uZwk0MDkwMzc1MjcwCisJLmxvbmcJMTA3MjYzNjMwNQorCS5sb25nCTYzMjg2MDkwNgorCS5sb25nCTEwNzI2MzUzMjcKKwkubG9uZwkyNzUzNDk4NzAyCisJLmxvbmcJMTA3MjYzNDMzOQorCS5sb25nCTE4MDgwMDkyNTIKKwkubG9uZwkxMDcyNjMzMzQzCisJLmxvbmcJMjAzNjQyODY3MgorCS5sb25nCTEwNzI2MzIzMzgKKwkubG9uZwkzMzgzMjM1NjI2CisJLmxvbmcJMTA3MjYzMTMyNAorCS5sb25nCTE0OTczNDc0ODQKKwkubG9uZwkxMDcyNjMwMzAyCisJLmxvbmcJNjE3MDE4MzE3CisJLmxvbmcJMTA3MjYyOTI3MQorCS5sb25nCTY4NDkzMzA1OAorCS5sb25nCTEwNzI2MjgyMzEKKwkubG9uZwkxNjQzMTcwNzk4CisJLmxvbmcJMTA3MjYyNzE4MgorCS5sb25nCTMwMTEwNjYzNjAKKwkubG9uZwkxMDcyNjI1NTkyCisJLmxvbmcJOTU3MTU4NzEzCisJLmxvbmcJMTA3MjYyMzQ0MgorCS5sb25nCTEzOTA5MDc5NDEKKwkubG9uZwkxMDcyNjIxMjU2CisJLmxvbmcJMzgxOTE1NTI3MAorCS5sb25nCTEwNzI2MTkwMzQKKwkubG9uZwkzNDQzNTcxMTk2CisJLmxvbmcJMTA3MjYxNjc3NworCS5sb25nCTQwNDU0MTI0NTgKKwkubG9uZwkxMDcyNjE0NDg0CisJLmxvbmcJODA1NTAzOTIzCisJLmxvbmcJMTA3MjYxMjE1NgorCS5sb25nCTE3Nzg5MjIwMTUKKwkubG9uZwkxMDcyNjA5NzkxCisJLmxvbmcJMjEyNTAzMzY2NQorCS5sb25nCTEwNzI2MDczOTAKKwkubG9uZwkxMjg3MjAzODYzCisJLmxvbmcJMTA3MjYwNDk1MworCS5sb25nCTI5OTI2Mjk1NjgKKwkubG9uZwkxMDcyNjAyNDc5CisJLmxvbmcJMjM2NzI2NzEyNworCS5sb25nCTEwNzI1OTk5NjkKKwkubG9uZwkzMTE1NTI2MDQ3CisJLmxvbmcJMTA3MjU5NzQyMgorCS5sb25nCTM0MDIxOTUzOQorCS5sb25nCTEwNzI1OTQ4MzkKKwkubG9uZwkyMDE3MjE1NzE5CisJLmxvbmcJMTA3MjU5MjIxOAorCS5sb25nCTMyMjU0NDM0MjQKKwkubG9uZwkxMDcyNTg5NTYwCisJLmxvbmcJMzMyNjU2NTY3MworCS5sb25nCTEwNzI1ODY4NjUKKwkubG9uZwkxNjY5ODExMjExCisJLmxvbmcJMTA3MjU4NDEzMworCS5sb25nCTE4ODY3MzUwMjIKKwkubG9uZwkxMDcyNTgxMzYzCisJLmxvbmcJMzMwMTA3MTE3MQorCS5sb25nCTEwNzI1Nzg1NTUKKwkubG9uZwk5Mjg1MTQyODMKKwkubG9uZwkxMDcyNTc1NzEwCisJLmxvbmcJMjY1NjM2NDA1OQorCS5sb25nCTEwNzI1NzI4MjYKKwkubG9uZwkzNDczNDkwNTA3CisJLmxvbmcJMTA3MjU2OTkwNAorCS5sb25nCTI2NDk5NjU2MDYKKwkubG9uZwkxMDcyNTY2OTQ0CisJLmxvbmcJMzczNjgxOTA1MgorCS5sb25nCTEwNzI1NjM5NDUKKwkubG9uZwkxNjgwODg1MTc1CisJLmxvbmcJMTA3MjU2MDkwOAorCS5sb25nCTQ0MTM3NzEKKwkubG9uZwkxMDcyNTU3ODMyCisJLmxvbmcJMjIxNDg2OTc1MworCS5sb25nCTEwNzI1NTQ3MTYKKwkubG9uZwkzMjE0NzI1MTg0CisJLmxvbmcJMTA3MjU1MTU2MQorCS5sb25nCTIxODYwNzk5MDMKKwkubG9uZwkxMDcyNTQ4MzY3CisJLmxvbmcJMjU5MDM3MjEzMQorCS5sb25nCTEwNzI1NDUxMzMKKwkubG9uZwkzNTc4MTQ2MDc5CisJLmxvbmcJMTA3MjU0MTg1OQorCS5sb25nCTQyODM3MTI3NTUKKwkubG9uZwkxMDcyNTM4NTQ1CisJLmxvbmcJMzgyNDgzNDUxMAorCS5sb25nCTEwNzI1MzUxOTEKKwkubG9uZwkxMzAyNDAwMjk4CisJLmxvbmcJMTA3MjUzMTc5NworCS5sb25nCTk1MDU4NjM2CisJLmxvbmcJMTA3MjUyODM2MgorCS5sb25nCTM1NjM5MDYwNjMKKwkubG9uZwkxMDcyNTI0ODg1CisJLmxvbmcJMjE2NzIzMDczMAorCS5sb25nCTEwNzI1MjEzNjgKKwkubG9uZwkzNTI0OTE4MzM0CisJLmxvbmcJMTA3MjUxNzgwOQorCS5sb25nCTIzNTMzMDQ5MTgKKwkubG9uZwkxMDcyNTE0MjA5CisJLmxvbmcJMTkzOTYyNTgzOQorCS5sb25nCTEwNzI1MTA1NjcKKwkubG9uZwkxMjU2NzE0NTgxCisJLmxvbmcJMTA3MjUwNjg4MworCS5sb25nCTM1NTI1MjU4NDgKKwkubG9uZwkxMDcyNTAzMTU2CisJLmxvbmcJMzQ2NDgwOTUyMgorCS5sb25nCTEwNzI0OTkzODcKKwkubG9uZwk0MjAwNTQyNTkzCisJLmxvbmcJMTA3MjQ5NTU3NQorCS5sb25nCTM1NTYwOTEyNAorCS5sb25nCTEwNzI0OTE3MjEKKwkubG9uZwkzNjg0MTM5MDk5CisJLmxvbmcJMTA3MjQ4NzgyMgorCS5sb25nCTE0ODM1NTkxOAorCS5sb25nCTEwNzI0ODM4ODEKKwkubG9uZwkxNDU3Njg5MjQyCisJLmxvbmcJMTA3MjQ3OTg5NQorCS5sb25nCTIxMTg1OTE1OTYKKwkubG9uZwkxMDcyNDc1ODY1CisJLmxvbmcJOTA4ODQ4MDg5CisJLmxvbmcJMTA3MjQ3MTc5MQorCS5sb25nCTg3NzAzMjY4OQorCS5sb25nCTEwNzI0Njc2NzIKKwkubG9uZwk3NTIwMTIzMDQKKwkubG9uZwkxMDcyNDYzNTA4CisJLmxvbmcJMzUzMjMwMTc0OQorCS5sb25nCTEwNzI0NTkyOTgKKwkubG9uZwkzNjAwNTYzMjIxCisJLmxvbmcJMTA3MjQ1NTA0MworCS5sb25nCTM5MDI4NTcwODQKKwkubG9uZwkxMDcyNDUwNzQyCisJLmxvbmcJMzA2MzEwMTAzNgorCS5sb25nCTEwNzI0NDYzOTUKKwkubG9uZwkzOTcyMzQ0Mzc0CisJLmxvbmcJMTA3MjQ0MjAwMQorCS5sb25nCTkwMzE4MzU0OQorCS5sb25nCTEwNzI0Mzc1NjEKKwkubG9uZwk5ODM4OTI5MzgKKwkubG9uZwkxMDcyNDMzMDczCisJLmxvbmcJMjcyMjg1ODU2OAorCS5sb25nCTEwNzI0Mjg1MzcKKwkubG9uZwkzMDI3OTA1MTUKKwkubG9uZwkxMDcyNDIzOTU0CisJLmxvbmcJNzU5ODExMDU3CisJLmxvbmcJMTA3MjQxOTMyMgorCS5sb25nCTI1MDc4MDk5MjIKKwkubG9uZwkxMDcyNDE0NjQxCisJLmxvbmcJMjM4ODQwODgxMworCS5sb25nCTEwNzI0MDc1MjgKKwkubG9uZwkyMDg0NDkyOTQyCisJLmxvbmcJMTA3MjM5Nzg3MAorCS5sb25nCTI0MzU3MDMzMDEKKwkubG9uZwkxMDcyMzg4MDEwCisJLmxvbmcJMTkzNTQzMzM2MAorCS5sb25nCTEwNzIzNzc5NDUKKwkubG9uZwkyNzQyMDQ3MjkwCisJLmxvbmcJMTA3MjM2NzY3MQorCS5sb25nCTIwNTMyODQyMDUKKwkubG9uZwkxMDcyMzU3MTg1CisJLmxvbmcJNjU3NzgzMzY3CisJLmxvbmcJMTA3MjM0NjQ4MworCS5sb25nCTI4OTM2NjQ4NDEKKwkubG9uZwkxMDcyMzM1NTYwCisJLmxvbmcJMzcxODkwNjQwNQorCS5sb25nCTEwNzIzMjQ0MTMKKwkubG9uZwkxNTQ3ODk2MzAzCisJLmxvbmcJMTA3MjMxMzAzOAorCS5sb25nCTI0OTQwNTg0NDAKKwkubG9uZwkxMDcyMzAxNDI5CisJLmxvbmcJMzEzMzIzODc0MgorCS5sb25nCTEwNzIyODk1ODIKKwkubG9uZwkzMzI3MDAwMDg2CisJLmxvbmcJMTA3MjI3NzQ5MgorCS5sb25nCTE4NjA2NjcyNzQKKwkubG9uZwkxMDcyMjY1MTU0CisJLmxvbmcJNjY1MzQwNzQ3CisJLmxvbmcJMTA3MjI1MjU2MgorCS5sb25nCTQ0MzM0Nzg0MQorCS5sb25nCTEwNzIyMzk3MTAKKwkubG9uZwk1ODEyODI2MTgKKwkubG9uZwkxMDcyMjI2NTkyCisJLmxvbmcJMzM0OTc4MDQ2NQorCS5sb25nCTEwNzIyMTMyMDEKKwkubG9uZwk5MTQyMTc2MDYKKwkubG9uZwkxMDcyMTk5NTMyCisJLmxvbmcJOTg5Nzk3NjYxCisJLmxvbmcJMTA3MjE4NTU3NgorCS5sb25nCTk0NTQzNjQxNgorCS5sb25nCTEwNzIxNzEzMjYKKwkubG9uZwk1NDkyOTEzMDAKKwkubG9uZwkxMDcyMTU2Nzc0CisJLmxvbmcJMTgxNDYzNjM4OQorCS5sb25nCTEwNzIxNDE5MTEKKwkubG9uZwkyMzkwOTI4NTgKKwkubG9uZwkxMDcyMTI2NzI5CisJLmxvbmcJMTc5NDY4MDcyNAorCS5sb25nCTEwNzIxMTEyMTcKKwkubG9uZwkxMjQxNTM0Njc4CisJLmxvbmcJMTA3MjA5NTM2NgorCS5sb25nCTMzNjY1NjYyMTQKKwkubG9uZwkxMDcyMDc5MTY0CisJLmxvbmcJMTI0NDA5MDgyOAorCS5sb25nCTEwNzIwNjI2MDEKKwkubG9uZwkxNzA4NDQ4MTIwCisJLmxvbmcJMTA3MjA0NTY2MworCS5sb25nCTM1NDQyNjA2NTAKKwkubG9uZwkxMDcyMDI4MzM3CisJLmxvbmcJMTQwMjc0MTQwMworCS5sb25nCTEwNzIwMTA2MTAKKwkubG9uZwkyNTUxOTM2ODg4CisJLmxvbmcJMTA3MTk5MjQ2NQorCS5sb25nCTYxNzY2OTczOQorCS5sb25nCTEwNzE5NzM4ODcKKwkubG9uZwk3OTQwMDIxODYKKwkubG9uZwkxMDcxOTU0ODU3CisJLmxvbmcJMjAyMTIzNzY5MworCS5sb25nCTEwNzE5MzUzNTYKKwkubG9uZwk1NDA0NTAzODQKKwkubG9uZwkxMDcxOTE1MzY0CisJLmxvbmcJMTkyMDU1NTUzNworCS5sb25nCTEwNzE4OTQ4NTcKKwkubG9uZwkyODc5NTg1MjA2CisJLmxvbmcJMTA3MTg3MzgxMQorCS5sb25nCTMwMDAyMzc0NTUKKwkubG9uZwkxMDcxODUyMTk5CisJLmxvbmcJMzM1Mjk3NDM0NgorCS5sb25nCTEwNzE4Mjk5OTEKKwkubG9uZwk1Njk2Mjk5MzcKKwkubG9uZwkxMDcxODA3MTU1CisJLmxvbmcJMjA3NzIzNzIwOAorCS5sb25nCTEwNzE3ODM2NTMKKwkubG9uZwkyMjg0ODkxODA1CisJLmxvbmcJMTA3MTc1OTQ0NgorCS5sb25nCTEyMjY2NTE3ODQKKwkubG9uZwkxMDcxNzM0NDg5CisJLmxvbmcJMTEwMjA0NzQwNQorCS5sb25nCTEwNzE3MDg3MzEKKwkubG9uZwkyMDA5ODk2Mzg0CisJLmxvbmcJMTA3MTY4MjExNQorCS5sb25nCTkyNzQxOTA4MgorCS5sb25nCTEwNzE2NTQ1NzcKKwkubG9uZwk4NTAxMDM2NgorCS5sb25nCTEwNzE2MDc0MTMKKwkubG9uZwk2OTY0MzEwMjUKKwkubG9uZwkxMDcxNTQ4MTgwCisJLmxvbmcJMjYxMTQxMDU0MQorCS5sb25nCTEwNzE0ODY1ODUKKwkubG9uZwkyNjEyNTkzNjU4CisJLmxvbmcJMTA3MTQyMjM5NgorCS5sb25nCTM1NDgxNTUzMDYKKwkubG9uZwkxMDcxMzU1MzM2CisJLmxvbmcJMzg4Nzk5NzQ4NAorCS5sb25nCTEwNzEyODUwNzMKKwkubG9uZwkyNDQ4NTQ3NjMKKwkubG9uZwkxMDcxMjExMjAyCisJLmxvbmcJNDIxNDQ0NTY0OAorCS5sb25nCTEwNzExMzMyMTYKKwkubG9uZwkyMzAzOTY2NzI3CisJLmxvbmcJMTA3MTA1MDQ3OAorCS5sb25nCTM5OTEwNDAwMTMKKwkubG9uZwkxMDcwOTYyMTUyCisJLmxvbmcJMzEyNjk1MjI3OAorCS5sb25nCTEwNzA4NjcxMTgKKwkubG9uZwkxODE3NDQ4Mzc4CisJLmxvbmcJMTA3MDc2MzgwNAorCS5sb25nCTE3OTM4MTQ4NjQKKwkubG9uZwkxMDcwNjQ5ODg0CisJLmxvbmcJMzUwNzIyNDA3MgorCS5sb25nCTEwNzA0NDcxOTMKKwkubG9uZwk0MDI3NjA5MTA1CisJLmxvbmcJMTA3MDE0ODc3MgorCS5sb25nCTU3NzUwNzk5MworCS5sb25nCTEwNjk3Nzk0MTQKKwkubG9uZwkyMzEwMjMyNDE5CisJLmxvbmcJMTA2ODkzMTgyOQorCS50eXBlCVRfdGFibGUsQG9iamVjdAorCS5zaXplCVRfdGFibGUsMjA0OAorCS5hbGlnbiAxNgorVGJsX2FkZHI6CisJLmxvbmcJMzgyMjk1Mjc5MgorCS5sb25nCTEwMjE2MzkzNzIKKwkubG9uZwkxODI3OTI0NDgKKwkubG9uZwkxMDY4NTA3ODM2CisJLmxvbmcJMjI2NDIxMzI3MQorCS5sb25nCTEwMTk1NTg5MDgKKwkubG9uZwk2NDkwNTI5MjgKKwkubG9uZwkxMDY4NTI0MjUzCisJLmxvbmcJMTc5NzEzOTYwOQorCS5sb25nCTEwMjIyOTUxNDMKKwkubG9uZwkxMjQzMDk1Mjk2CisJLmxvbmcJMTA2ODU0MDY3MQorCS5sb25nCTE0MTU5Mzg3NTYKKwkubG9uZwkxMDIxNDM5NTM3CisJLmxvbmcJMjAzMzI5NDU5MgorCS5sb25nCTEwNjg1NTcwOTAKKwkubG9uZwkyMzU2ODA5OTc4CisJLmxvbmcJMTAyMTc3NzkxNgorCS5sb25nCTMwODgwNjM3NDQKKwkubG9uZwkxMDY4NTczNTEwCisJLmxvbmcJMjY2OTA1NTMxOAorCS5sb25nCTEwMjIxMjQ0ODIKKwkubG9uZwkxODA4ODg1NzYKKwkubG9uZwkxMDY4NTg5OTMyCisJLmxvbmcJMzU2NjQ0NTMyNQorCS5sb25nCTEwMjEzNTg3MTIKKwkubG9uZwkxOTcwMTk2OTkyCisJLmxvbmcJMTA2ODYwNjM1NAorCS5sb25nCTg5Njk4MDMyMworCS5sb25nCTEwMjEzMTk2NTkKKwkubG9uZwk0MjI5NTU1NDU2CisJLmxvbmcJMTA2ODYyMjc3NworCS5sb25nCTQzNjA0OTcxMgorCS5sb25nCTEwMjEzMTk3NTgKKwkubG9uZwkyNzMyNTcyMTYwCisJLmxvbmcJMTA2ODYzOTIwMgorCS5sb25nCTU4MzEyMzIwOQorCS5sb25nCTEwMjA3OTc5NjAKKwkubG9uZwkxODQyODMxODcyCisJLmxvbmcJMTA2ODY1NTYyOAorCS5sb25nCTEzNzA0NDk4MDQKKwkubG9uZwkxMDIxNDI5MjcwCisJLmxvbmcJMTYyODk5NDU2MAorCS5sb25nCTEwNjg2NzIwNTUKKwkubG9uZwkyNDExMzkxNDY0CisJLmxvbmcJMTAyMTA1Nzk4MAorCS5sb25nCTIxNTk3NjM3MTIKKwkubG9uZwkxMDY4Njg4NDgzCisJLmxvbmcJMTIwODY5Mjc0OQorCS5sb25nCTEwMjE5NDM5MDMKKwkubG9uZwkzNTAzODg2MzM2CisJLmxvbmcJMTA2ODcwNDkxMgorCS5sb25nCTUzODc5MzMwOQorCS5sb25nCTEwMTk3NDQwNjMKKwkubG9uZwkxNDM1MTg3MjAwCisJLmxvbmcJMTA2ODcyMTM0MworCS5sb25nCTQwODUwODc2MTIKKwkubG9uZwkxMDIwNjA4NDE5CisJLmxvbmcJMzE3NDY5OTUyCisJLmxvbmcJMTA2ODczNzc3NQorCS5sb25nCTE0NDM4Njk0MgorCS5sb25nCTEwMjE0NDA3MzIKKwkubG9uZwkyMTk2MTcyODAKKwkubG9uZwkxMDY4NzU0MjA4CisJLmxvbmcJMjk0MDA4ODM2MQorCS5sb25nCTEwMTk5ODExMjIKKwkubG9uZwkxMjEwNTU4MjA4CisJLmxvbmcJMTA2ODc3MDY0MgorCS5sb25nCTIxNzY4NTAzNDcKKwkubG9uZwkxMDE4MzczNzA1CisJLmxvbmcJMzM1OTI2ODM1MgorCS5sb25nCTEwNjg3ODcwNzcKKwkubG9uZwkyMzk1NjExNDU0CisJLmxvbmcJMTAyMTg4OTA0MgorCS5sb25nCTI0Mzk4MDM2NDgKKwkubG9uZwkxMDY4ODAzNTE0CisJLmxvbmcJMTY1MDcwNTI1MworCS5sb25nCTEwMjAyMjc5NjYKKwkubG9uZwkyODE2MjAzNTIwCisJLmxvbmcJMTA2ODgxOTk1MgorCS5sb25nCTM3MDIxNjYzODYKKwkubG9uZwkxMDE5Mzc5OTE0CisJLmxvbmcJMjYyNjIwNjcyCisJLmxvbmcJMTA2ODgzNjM5MgorCS5sb25nCTE4NTU2NDkzNzAKKwkubG9uZwkxMDIwNDUzMTI0CisJLmxvbmcJMzQzODE1OTYxNgorCS5sb25nCTEwNjg4NTI4MzIKKwkubG9uZwk5MjMwNjM4NjAKKwkubG9uZwkxMDE5MjczODM0CisJLmxvbmcJMzgyMjEwNTg1NgorCS5sb25nCTEwNjg4NjkyNzQKKwkubG9uZwk0Mjg5OTQ3OTQ3CisJLmxvbmcJMTAxOTQzNDI0OQorCS5sb25nCTE0ODM3Mjk5MjAKKwkubG9uZwkxMDY4ODg1NzE4CisJLmxvbmcJNzg3NDU1ODE0CisJLmxvbmcJMTAyMDczODM3OQorCS5sb25nCTc4NzMyMTA4OAorCS5sb25nCTEwNjg5MDIxNjMKKwkubG9uZwkzMzIxNjUzMzM3CisJLmxvbmcJMTAyMTg0MjU2OQorCS5sb25nCTE4MDIyNTMzMTIKKwkubG9uZwkxMDY4OTE4NjA5CisJLmxvbmcJMjY1MzYzMzUyNgorCS5sb25nCTEwMjE4MjE1MjUKKwkubG9uZwkzMDI5ODU5ODQKKwkubG9uZwkxMDY4OTM1MDU3CisJLmxvbmcJMTYxMjcyMDI4CisJLmxvbmcJMTAyMTY1NTE0OQorCS5sb25nCTY1Mzk2NjA4MAorCS5sb25nCTEwNjg5NTE1MDYKKwkubG9uZwkyNTY2MDk4NjY3CisJLmxvbmcJMTAyMDA2NjIxOQorCS5sb25nCTI5MjQ3MjcyOTYKKwkubG9uZwkxMDY4OTY3OTU2CisJLmxvbmcJMzY0NjQ5MzcyMgorCS5sb25nCTEwMTQyOTIyODUKKwkubG9uZwkyODg5ODkwMzA0CisJLmxvbmcJMTA2ODk4NDQwOAorCS5sb25nCTEwODEwMDkxOTYKKwkubG9uZwkxMDIyMTg5NjIwCisJLmxvbmcJNjE5MDk4MTEyCisJLmxvbmcJMTA2OTAwMDg2MgorCS5sb25nCTQwMTE2NDMzNTUKKwkubG9uZwkxMDIxNzczMjk3CisJLmxvbmcJNDc3MDE3NjAwCisJLmxvbmcJMTA2OTAxNzMxNworCS5sb25nCTQwMzAzMDU1MzQKKwkubG9uZwkxMDIxMjkyMjUyCisJLmxvbmcJMjUzMzQwMzkwNAorCS5sb25nCTEwNjkwMzM3NzMKKwkubG9uZwkyNjQ1MTg3NTkxCisJLmxvbmcJMTAxOTUyNzA5OQorCS5sb25nCTI1NjMxMDIyMDgKKwkubG9uZwkxMDY5MDUwMjMxCisJLmxvbmcJMzg1NzI5Mzc5MgorCS5sb25nCTEwMjIzMTE2OTcKKwkubG9uZwk2MzU5ODIzMzYKKwkubG9uZwkxMDY5MDY2NjkxCisJLmxvbmcJMzYyNTkzNjYzNworCS5sb25nCTEwMTc1MTE3NDQKKwkubG9uZwkxMTE2OTQwODAwCisJLmxvbmcJMTA2OTA4MzE1MgorCS5sb25nCTM2NTM4NzI5OTMKKwkubG9uZwkxMDIyMDE2NjMxCisJLmxvbmcJNDA3NTk2NDE2MAorCS5sb25nCTEwNjkwOTk2MTQKKwkubG9uZwkyNDY4OTAwMjcxCisJLmxvbmcJMTAyMTc2OTUzMgorCS5sb25nCTk5MzE2NTU2OAorCS5sb25nCTEwNjkxMTYwNzkKKwkubG9uZwkxMzU4MTA0MjI0CisJLmxvbmcJMTAyMTE5OTc3NgorCS5sb25nCTUyODU4Njc1MgorCS5sb25nCTEwNjkxMzI1NDUKKwkubG9uZwkyMjAwOTUwMzMyCisJLmxvbmcJMTAyMjAyNDg3MgorCS5sb25nCTI3NTIzOTU3NzYKKwkubG9uZwkxMDY5MTQ5MDEyCisJLmxvbmcJMzE5NzA3MjQ1NAorCS5sb25nCTEwMTc3NTEzMTkKKwkubG9uZwkzNDM5ODU1NjE2CisJLmxvbmcJMTA2OTE2NTQ4MQorCS5sb25nCTE2NTEwODE4MDYKKwkubG9uZwkxMDIwODA5MzM4CisJLmxvbmcJMjY2MTI1NzcyOAorCS5sb25nCTEwNjkxODE5NTIKKwkubG9uZwk1MzkwMzI3NTIKKwkubG9uZwkxMDIxNzI4ODA1CisJLmxvbmcJNDg2OTU3MzEyCisJLmxvbmcJMTA2OTE5ODQyNQorCS5sb25nCTMxMzYwNDUxNDkKKwkubG9uZwkxMDE2ODg4NjcxCisJLmxvbmcJMTI4MjM0MDM1MgorCS5sb25nCTEwNjkyMTQ4OTkKKwkubG9uZwkyNTkzOTYzMjU5CisJLmxvbmcJMTAxODk1NjEwMworCS5sb25nCTgyMjkyMTcyOAorCS5sb25nCTEwNjkyMzEzNzUKKwkubG9uZwkyMTQ2MDMyNzM3CisJLmxvbmcJMTAyMjMwNjQ2NQorCS5sb25nCTM0NzQyMTYxOTIKKwkubG9uZwkxMDY5MjQ3ODUyCisJLmxvbmcJMzk3NjgxMTYyNQorCS5sb25nCTEwMjEzNTAyMDcKKwkubG9uZwk3MTY5MDI2NTYKKwkubG9uZwkxMDY5MjY0MzMyCisJLmxvbmcJNzE4MjY3MjIyCisJLmxvbmcJMTAxODYyNDcyNworCS5sb25nCTEyMTE1OTQ0OTYKKwkubG9uZwkxMDY5MjgwODEzCisJLmxvbmcJMTQ4NTY0MTM4OQorCS5sb25nCTEwMTg0NDc0NTEKKwkubG9uZwk3MzQwNzAyNzIKKwkubG9uZwkxMDY5Mjk3Mjk2CisJLmxvbmcJMzU0NDU1MTI4CisJLmxvbmcJMTAyMTM0MTI5MQorCS5sb25nCTM2NTAxMTA3MjAKKwkubG9uZwkxMDY5MzEzNzgwCisJLmxvbmcJNjgyMTg1OTQ3CisJLmxvbmcJMTAyMTY1MTg1MworCS5sb25nCTE0NDA2NjMwNDAKKwkubG9uZwkxMDY5MzMwMjY3CisJLmxvbmcJMzU1ODU3NDU1MAorCS5sb25nCTEwMjE2MTUxMTAKKwkubG9uZwkyNzY2NjEyMjI0CisJLmxvbmcJMTA2OTM0Njc1NQorCS5sb25nCTg3NDYwNzk3OAorCS5sb25nCTEwMTc3NDY4NzIKKwkubG9uZwkzNDA0MDExMDA4CisJLmxvbmcJMTA2OTM2MzI0NQorCS5sb25nCTQxNTQ5ODg1MDIKKwkubG9uZwkxMDIxNDM5OTA2CisJLmxvbmcJMzQyMzk0OTA1NgorCS5sb25nCTEwNjkzNzk3MzcKKwkubG9uZwkyMjYzMjAyMzA5CisJLmxvbmcJMTAyMTQ3OTYxNQorCS5sb25nCTI4OTc1ODc3MTIKKwkubG9uZwkxMDY5Mzk2MjMxCisJLmxvbmcJMjU2MjA2NTAzMQorCS5sb25nCTEwMjIwOTAzNjMKKwkubG9uZwkxODk2MTU5MjMyCisJLmxvbmcJMTA2OTQxMjcyNworCS5sb25nCTM4MzYyMzc2NjMKKwkubG9uZwkxMDE5ODY3Mjg4CisJLmxvbmcJNDkwOTY4NTc2CisJLmxvbmcJMTA2OTQyOTIyNQorCS5sb25nCTMzMjIwNTY3NDMKKwkubG9uZwkxMDA2NzUyNzYyCisJLmxvbmcJMzA0ODM2MDE5MgorCS5sb25nCTEwNjk0NDU3MjQKKwkubG9uZwkxMTUyMzE0ODMzCisJLmxvbmcJMTAxMzEyMjI1MgorCS5sb25nCTEwNDk4NTA2MjQKKwkubG9uZwkxMDY5NDYyMjI2CisJLmxvbmcJMzYwMTU5MDcyNworCS5sb25nCTEwMjIyMTQ2MTAKKwkubG9uZwkzMTU2ODk5NTg0CisJLmxvbmcJMTA2OTQ3ODcyOQorCS5sb25nCTE4NTUxNjk5NzAKKwkubG9uZwkxMDE5NDg3MjcxCisJLmxvbmcJODUxMTczMzc2CisJLmxvbmcJMTA2OTQ5NTIzNQorCS5sb25nCTMxMjY0OTU5NAorCS5sb25nCTEwMjA4Njg2MDQKKwkubG9uZwkyNzk0MjgxNzI4CisJLmxvbmcJMTA2OTUxMTc0MgorCS5sb25nCTEwOTM0OTAxODEKKwkubG9uZwkxMDIwNzc3NTc3CisJLmxvbmcJNDY4MDQyNDk2CisJLmxvbmcJMTA2OTUyODI1MgorCS5sb25nCTExNTI1NDA2NzkKKwkubG9uZwkxMDIxNDAzNzMyCisJLmxvbmcJMjUzNDIxOTI2NAorCS5sb25nCTEwNjk1NDQ3NjMKKwkubG9uZwkyMjkyMTI2MDM1CisJLmxvbmcJMTAyMTg3MjQzMAorCS5sb25nCTEzNzYxNDY0MzIKKwkubG9uZwkxMDY5NTU4NTI3CisJLmxvbmcJMzI5Mzc1MzY0MQorCS5sb25nCTEwMjA1MDA0NTQKKwkubG9uZwk0MTc1NDQyNDMyCisJLmxvbmcJMTA2OTU3NTA0NAorCS5sb25nCTM2MjYzNDc1NjQKKwkubG9uZwkxMDIxNjEwOTY5CisJLmxvbmcJMzUyMzExMzQ3MgorCS5sb25nCTEwNjk1OTE1NjYKKwkubG9uZwkzMzk5NTY1MDAKKwkubG9uZwkxMDIxMTE5MDM5CisJLmxvbmcJNDAwMzM1MDUyOAorCS5sb25nCTEwNjk2MDgwOTIKKwkubG9uZwkzNDI5MzMzMDgyCisJLmxvbmcJMTAyMjgxMzU0MgorCS5sb25nCTE2MTEwNjczOTIKKwkubG9uZwkxMDY5NjI0NjIzCisJLmxvbmcJMjI5ODAxNzU0NAorCS5sb25nCTEwMjE5Nzc1ODcKKwkubG9uZwk5MzE3ODIxNDQKKwkubG9uZwkxMDY5NjQxMTU4CisJLmxvbmcJMjE2NDY4NDc0MworCS5sb25nCTEwMjEyNTA5ODgKKwkubG9uZwkyMjU2NzI1NTA0CisJLmxvbmcJMTA2OTY1NzY5NworCS5sb25nCTExMzg3NjIzMzUKKwkubG9uZwkxMDIxNDQzNzc2CisJLmxvbmcJMTU4Mjg1MzEyMAorCS5sb25nCTEwNjk2NzQyNDEKKwkubG9uZwkxMDg0MDEwMzgyCisJLmxvbmcJMTAyMjk5NDY5MworCS5sb25nCTM0OTc3NTg3MjAKKwkubG9uZwkxMDY5NjkwNzg5CisJLmxvbmcJNDA2MzY2MjQ0CisJLmxvbmcJMTAyMjcxMzU4NgorCS5sb25nCTM5OTk4MTY5NjAKKwkubG9uZwkxMDY5NzA3MzQyCisJLmxvbmcJMTQ4ODcyMzA0MgorCS5sb25nCTEwMjMzODEyOTAKKwkubG9uZwkzMzgzMDk2MDY0CisJLmxvbmcJMTA2OTcyMzkwMAorCS5sb25nCTI1NDE1NTg5NTMKKwkubG9uZwkxMDE5MTM3ODg3CisJLmxvbmcJMTk0MjQwMzU4NAorCS5sb25nCTEwNjk3NDA0NjMKKwkubG9uZwkxODc5NjIwMzQzCisJLmxvbmcJMTAyMjY1MzY0MgorCS5sb25nCTQyNjgyNjM2ODAKKwkubG9uZwkxMDY5NzU3MDMwCisJLmxvbmcJMzAzOTA3NzA0NworCS5sb25nCTEwMjIyNTI1NDUKKwkubG9uZwkyMDY3MDYyMjcyCisJLmxvbmcJMTA2OTc3MzYwMworCS5sb25nCTQxOTA2NzA2NzcKKwkubG9uZwkxMDIwNzI1ODYzCisJLmxvbmcJNDIyNTgyODA5NgorCS5sb25nCTEwNjk3OTAxODAKKwkubG9uZwkxOTk4NTY3MzIxCisJLmxvbmcJMTAyMjAxNDM4NQorCS5sb25nCTI0NTI1MDcxMzYKKwkubG9uZwkxMDY5ODA2NzYzCisJLmxvbmcJMTUxMTYyODg3MworCS5sb25nCTEwMjE5MDAzMDAKKwkubG9uZwkxMzQwNzQ2MjQwCisJLmxvbmcJMTA2OTgyMzM1MQorCS5sb25nCTc4ODM2NzM0MQorCS5sb25nCTEwMjI3MjYyMDgKKwkubG9uZwkxMTkwMDM1NDU2CisJLmxvbmcJMTA2OTgzOTk0NAorCS5sb25nCTM4NTYzMzcyMzAKKwkubG9uZwkxMDIxODM0MTE4CisJLmxvbmcJMjMwMDY4ODM4NAorCS5sb25nCTEwNjk4NTY1NDIKKwkubG9uZwkzMjExMzk2NTc5CisJLmxvbmcJMTAyMjYyMTM2NQorCS5sb25nCTY3ODg4NjQwMAorCS5sb25nCTEwNjk4NzMxNDYKKwkubG9uZwk0MDAxMDExODg3CisJLmxvbmcJMTAyMjA0MjY0NgorCS5sb25nCTkyMTU5NDExMgorCS5sb25nCTEwNjk4ODk3NTUKKwkubG9uZwk1NTc4MTE5NjgKKwkubG9uZwkxMDIzMDY1NTMzCisJLmxvbmcJMzMzMTY2ODk5MgorCS5sb25nCTEwNjk5MDYzNjkKKwkubG9uZwkxODc3MDYwNjc5CisJLmxvbmcJMTAyMjQxOTc0MgorCS5sb25nCTM5MTc4NzUyMDAKKwkubG9uZwkxMDY5OTIyOTg5CisJLmxvbmcJMTE4MTA1NTE3MQorCS5sb25nCTEwMjI3NTI3MTIKKwkubG9uZwkyOTg0ODI5Njk2CisJLmxvbmcJMTA2OTkzOTYxNQorCS5sb25nCTQyOTQ1MjY5MzIKKwkubG9uZwkxMDIxNDk5OTg4CisJLmxvbmcJODM4MDQ5MDI0CisJLmxvbmcJMTA2OTk1NjI0NworCS5sb25nCTM2NTgwODE4NzgKKwkubG9uZwkxMDIyOTU3OTUyCisJLmxvbmcJMjA3ODkyODM4NAorCS5sb25nCTEwNjk5NzI4ODQKKwkubG9uZwk4MjAzNTM3MDEKKwkubG9uZwkxMDE5MzkxMTA3CisJLmxvbmcJMjcxOTg1NDMzNgorCS5sb25nCTEwNjk5ODk1MjcKKwkubG9uZwkxNjQ0MDIyNDg5CisJLmxvbmcJMTAyMzM3ODI0MAorCS5sb25nCTMwNjkxMTc2OTYKKwkubG9uZwkxMDcwMDA2MTc2CisJLmxvbmcJMjc3MTM5MzcwMgorCS5sb25nCTEwMTkzMTk5NTQKKwkubG9uZwkzNDM1OTYyMzY4CisJLmxvbmcJMTA3MDAyMjgzMQorCS5sb25nCTM4NzYzOTQxNDUKKwkubG9uZwkxMDIzMDI0NDMzCisJLmxvbmcJNDEzMDU5NTMyOAorCS5sb25nCTEwNzAwMzk0OTIKKwkubG9uZwkxNjMwNDQ3NzQ4CisJLmxvbmcJMTAyMTQ2NTg4MgorCS5sb25nCTExNjkyMzYyMjQKKwkubG9uZwkxMDcwMDU2MTYwCisJLmxvbmcJMjgyODM1NTk5NworCS5sb25nCTEwMjA0NTgxMjAKKwkubG9uZwkzNDUzOTk3MzEyCisJLmxvbmcJMTA3MDA3MjgzMworCS5sb25nCTE2NDA5MTY0MQorCS5sb25nCTEwMjAzODgyNzkKKwkubG9uZwkyNzA4MTI3NzQ0CisJLmxvbmcJMTA3MDA4OTUxMworCS5sb25nCTMwMzY1NTAyMjMKKwkubG9uZwkxMDIzMzI4Njg0CisJLmxvbmcJMzU0MDc5NzY5NgorCS5sb25nCTEwNzAxMDYxOTkKKwkubG9uZwkzNzEwOTQ5NDYzCisJLmxvbmcJMTAyMjU2ODgwNQorCS5sb25nCTE5NzIyNzY3MzYKKwkubG9uZwkxMDcwMTIyODkyCisJLmxvbmcJMzg4NTI3Nzk1MAorCS5sb25nCTEwMTk3NjE2NzQKKwkubG9uZwkyNjEzODE1NTUyCisJLmxvbmcJMTA3MDEzOTU5MQorCS5sb25nCTI3NjQxNjUwNzcKKwkubG9uZwkxMDIyOTIxMDIzCisJLmxvbmcJMTQ4Nzc5MTYxNgorCS5sb25nCTEwNzAxNTYyOTcKKwkubG9uZwkxMzMwNjQ0NzY5CisJLmxvbmcJMTAyMzE2MjY3OQorCS5sb25nCTMyMDc1OTM0NzIKKwkubG9uZwkxMDcwMTczMDA5CisJLmxvbmcJMzkxMTAwNzIyMQorCS5sb25nCTEwMjI5OTM0OTYKKwkubG9uZwkzNzk3NzY0NjA4CisJLmxvbmcJMTA3MDE4OTcyOAorCS5sb25nCTk3OTcxMjU5OAorCS5sb25nCTEwMjI1NTQ1ODAKKwkubG9uZwkzNTc4OTIwNDQ4CisJLmxvbmcJMTA3MDIwNjQ1NAorCS5sb25nCTI4MjU3MzgyMjMKKwkubG9uZwkxMDIwMjIzNzA4CisJLmxvbmcJMjg3Mjc5NTY0OAorCS5sb25nCTEwNzAyMjMxODcKKwkubG9uZwkzOTI0NTExMjQKKwkubG9uZwkxMDIyNjY2Mjc5CisJLmxvbmcJMjAwMjI1ODQzMgorCS5sb25nCTEwNzAyMzk5MjcKKwkubG9uZwkzNzMwNDA3NjMyCisJLmxvbmcJMTAyMzE0ODI5MQorCS5sb25nCTEyOTEzMjY0NjQKKwkubG9uZwkxMDcwMjU2Njc0CisJLmxvbmcJMzcyMzgwMjk4MAorCS5sb25nCTEwMjI1MTQwODkKKwkubG9uZwkxMDY1MTgwOTI4CisJLmxvbmcJMTA3MDI3MzQyOAorCS5sb25nCTI2MzU2MTc0NjMKKwkubG9uZwkxMDIyNjU0NDcwCisJLmxvbmcJMTY1MDE4MTYzMgorCS5sb25nCTEwNzAyOTAxODkKKwkubG9uZwkyMDYxOTgyODgzCisJLmxvbmcJMTAyMjg1MzQxMQorCS5sb25nCTMzNzM4ODI4ODAKKwkubG9uZwkxMDcwMzA2OTU3CisJLmxvbmcJMzE5NzMyNzg1CisJLmxvbmcJMTAyMjAxNzE3NQorCS5sb25nCTIyNzAwODEyODAKKwkubG9uZwkxMDcwMzIzNzMzCisJLmxvbmcJMjIzNzc1NzQxMQorCS5sb25nCTEwMjMwNjQwODcKKwkubG9uZwkyOTYzNzMyNzM2CisJLmxvbmcJMTA3MDM0MDUxNgorCS5sb25nCTQ2ODgzOTE2NQorCS5sb25nCTEwMjMyOTM3NzQKKwkubG9uZwkxNDkxMDk5OTA0CisJLmxvbmcJMTA3MDM1NzMwNworCS5sb25nCTE1MDI2NTc5NDYKKwkubG9uZwkxMDIxNTMzNDc5CisJLmxvbmcJMjQ3OTYzNjQ4MAorCS5sb25nCTEwNzAzNzQxMDUKKwkubG9uZwk0ODI5MTM1NjIKKwkubG9uZwkxMDIxOTg2Mjg2CisJLmxvbmcJMTk2ODEzMzYzMgorCS5sb25nCTEwNzAzOTA5MTEKKwkubG9uZwkzMjgxNDc0MzM3CisJLmxvbmcJMTAyMjY0NjQwMAorCS5sb25nCTI5MTYzOTA0MAorCS5sb25nCTEwNzA0MDc3MjUKKwkubG9uZwkyNDUzMzIwMjU5CisJLmxvbmcJMTAyMjgxMjQyMworCS5sb25nCTIwODE0NzI1MTIKKwkubG9uZwkxMDcwNDI0NTQ2CisJLmxvbmcJMjkzOTk4OTU3MAorCS5sb25nCTEwMjMwOTE4ODgKKwkubG9uZwkzMzgwMzQwNDgwCisJLmxvbmcJMTA3MDQ0MTM3NQorCS5sb25nCTI4NTA3MDc0OTkKKwkubG9uZwkxMDIxOTIxMTA5CisJLmxvbmcJMjMyMjg3NDg4CisJLmxvbmcJMTA3MDQ1ODIxMworCS5sb25nCTM2NzQ2MjUzNDIKKwkubG9uZwkxMDIwNzI1MTMwCisJLmxvbmcJMTU2NzYxNDIwOAorCS5sb25nCTEwNzA0NzUwNTgKKwkubG9uZwk5MzQ3MzM0CisJLmxvbmcJMTAyMjAyNDAwOQorCS5sb25nCTM0MzMwOTEwNzIKKwkubG9uZwkxMDcwNDkxOTExCisJLmxvbmcJMjgyNTI0OTk5CisJLmxvbmcJMTAyMTQzMzUyMworCS5sb25nCTE4NzY4NzczMTIKKwkubG9uZwkxMDcwNTA4NzczCisJLmxvbmcJMzQ3MDQ0OTQ0MAorCS5sb25nCTEwMTkzMDk3MjEKKwkubG9uZwkxNTM4NDcyMTkyCisJLmxvbmcJMTA3MDUyNTY0MworCS5sb25nCTIwODk0ODY4MjUKKwkubG9uZwkxMDE5Njk4OTE2CisJLmxvbmcJMjc2MzgzMDc4NAorCS5sb25nCTEwNzA1NDI1MjEKKwkubG9uZwk0NDM0OTgxMTUKKwkubG9uZwkxMDIwNTA1MTk0CisJLmxvbmcJMTYwNTM4MTYzMgorCS5sb25nCTEwNzA1NTk0MDgKKwkubG9uZwkzMDE4ODcxNjAxCisJLmxvbmcJMTAyMjg2OTkxMworCS5sb25nCTI3MDY5NDYwNDgKKwkubG9uZwkxMDcwNTc2MzAzCisJLmxvbmcJMzkzNjI2MDg5MgorCS5sb25nCTEwMjMxNzU4NzUKKwkubG9uZwkyMTIzODg3MzYwCisJLmxvbmcJMTA3MDU5MzIwNworCS5sb25nCTI5OTQyMjA2NTUKKwkubG9uZwkxMDIyODI1OTQ4CisJLmxvbmcJMTA0MDE1MTA0CisJLmxvbmcJMTA3MDYwMzEwOAorCS5sb25nCTMzNTA1NDQ5MworCS5sb25nCTEwMjM0NDE4NTMKKwkubG9uZwkyOTA0NTY4ODMyCisJLmxvbmcJMTA3MDYxNTgwMAorCS5sb25nCTE0NTEyMTU2MzMKKwkubG9uZwkxMDIzODUzODU3CisJLmxvbmcJMzQ1NjE5NzEyMAorCS5sb25nCTEwNzA2MzI3MzkKKwkubG9uZwk0MzYzMzQ3MzMKKwkubG9uZwkxMDI0MDI2NDMyCisJLmxvbmcJMjUyNDUyMzUyCisJLmxvbmcJMTA3MDY0OTY5NworCS5sb25nCTM0NTk2MTY3CisJLmxvbmcJMTAyNDAzMTM5NgorCS5sb25nCTMzMjgwMTg0MzIKKwkubG9uZwkxMDcwNjY2NjcyCisJLmxvbmcJMjY0NDU0NzA3MworCS5sb25nCTEwMjQyOTY3NTgKKwkubG9uZwkxMjU1ODI5MjQ4CisJLmxvbmcJMTA3MDY4MzY2NworCS5sb25nCTU1MjgzMjU4NgorCS5sb25nCTEwMjM3NjMxMjIKKwkubG9uZwk0MDk3MDU4NTYwCisJLmxvbmcJMTA3MDcwMDY4MAorCS5sb25nCTE5NTU2NDA2MjMKKwkubG9uZwkxMDIxMzk0NjU0CisJLmxvbmcJNDUxNzcwMTEyCisJLmxvbmcJMTA3MDcxNzcxNAorCS5sb25nCTM0Mjg5MDM3NzcKKwkubG9uZwkxMDIyOTQxMTQyCisJLmxvbmcJNDA4OTIwODMyCisJLmxvbmcJMTA3MDczNDc2NworCS5sb25nCTE2NTUwMzI2MworCS5sb25nCTEwMjM4OTQ5NTgKKwkubG9uZwkxMTg2OTYwNjQwCisJLmxvbmcJMTA3MDc1MTg0MAorCS5sb25nCTQzNTgyNjQ1MAorCS5sb25nCTEwMjQwMjYxMzQKKwkubG9uZwkxOTA3ODY1NgorCS5sb25nCTEwNzA3Njg5MzQKKwkubG9uZwkxODM0MTY5NzQ5CisJLmxvbmcJMTAyMjg5OTI4NAorCS5sb25nCTI3NDM0OTAzMDQKKwkubG9uZwkxMDcwNzg2MDQ4CisJLmxvbmcJNDk0NTgxMDc0CisJLmxvbmcJMTAxODgxODQ3OQorCS5sb25nCTIzMjg5NjEwMjQKKwkubG9uZwkxMDcwODAzMTg0CisJLmxvbmcJMjk4NzkwODgzNAorCS5sb25nCTEwMjI1ODExMTAKKwkubG9uZwkzNTAwMTEzOTIKKwkubG9uZwkxMDcwODIwMzQyCisJLmxvbmcJMjQwNzcxMTg0CisJLmxvbmcJMTAyNDE0MzA4MworCS5sb25nCTI2OTIzMjY5MTIKKwkubG9uZwkxMDcwODM3NTIxCisJLmxvbmcJNjY2MDU2ODM3CisJLmxvbmcJMTAyMjM5NDc3NgorCS5sb25nCTIzNzMyNzQzNjgKKwkubG9uZwkxMDcwODU0NzIzCisJLmxvbmcJMjQ4NDMzNzc3MAorCS5sb25nCTEwMjQyMjgxNTYKKwkubG9uZwkxMDE3MTMxNTIwCisJLmxvbmcJMTA3MDg3MTk0OAorCS5sb25nCTMyODU2NDgyNzkKKwkubG9uZwkxMDI0MDI1Nzg5CisJLmxvbmcJMjY1NTU4MjcyCisJLmxvbmcJMTA3MDg4OTE5NgorCS5sb25nCTM5MjI0MTg5NgorCS5sb25nCTEwMjQyNTI4MDkKKwkubG9uZwkxNzc4MDA4MDY0CisJLmxvbmcJMTA3MDkwNjQ2NworCS5sb25nCTE1MzYxMDc5NDMKKwkubG9uZwkxMDIzOTQ5MzAwCisJLmxvbmcJMjkzNzE4NDc2OAorCS5sb25nCTEwNzA5MjM3NjIKKwkubG9uZwkzNTQxMDYyMjUxCisJLmxvbmcJMTAxOTQ0ODY0NgorCS5sb25nCTExNDQ0NDI4ODAKKwkubG9uZwkxMDcwOTQxMDgyCisJLmxvbmcJMzY5MTY4Mzc4MQorCS5sb25nCTEwMjIxMjM5NDgKKwkubG9uZwkyNDEwMTY1NTA0CisJLmxvbmcJMTA3MDk1ODQyNgorCS5sb25nCTE4MDQxODE5NjAKKwkubG9uZwkxMDIzOTQ1MjIxCisJLmxvbmcJNDE3NDM1MDg0OAorCS5sb25nCTEwNzA5NzU3OTUKKwkubG9uZwkyMDE2MDk0ODYxCisJLmxvbmcJMTAyMTcxNjU4NQorCS5sb25nCTM4OTcwMTI0ODAKKwkubG9uZwkxMDcwOTkzMTkwCisJLmxvbmcJMTc1Mjk0NDEwCisJLmxvbmcJMTAyMzcwMzQwNAorCS5sb25nCTMzNTM2MjMwNDAKKwkubG9uZwkxMDcxMDEwNjExCisJLmxvbmcJMTY3OTczMjQyCisJLmxvbmcJMTAyMzI0MDgzOQorCS5sb25nCTQ1NjcxMTY4CisJLmxvbmcJMTA3MTAyODA1OQorCS5sb25nCTIxNjY4NTYxMTMKKwkubG9uZwkxMDIxNTY1NDEzCisJLmxvbmcJODYwNjM4NzIKKwkubG9uZwkxMDcxMDQ1NTMzCisJLmxvbmcJMjY3NjI1NDcyNworCS5sb25nCTEwMjM5ODUyOTkKKwkubG9uZwkxMDE5NzcyNjcyCisJLmxvbmcJMTA3MTA2MzAzNAorCS5sb25nCTk4OTA0MzU5MworCS5sb25nCTEwMjE1NDk1ODcKKwkubG9uZwk0MTQyOTczNDQKKwkubG9uZwkxMDcxMDgwNTYzCisJLmxvbmcJMzk2MDk3MjA0NgorCS5sb25nCTEwMjQzMDcyNTEKKwkubG9uZwkxNTUxNzMxMjAKKwkubG9uZwkxMDcxMDk4MTIwCisJLmxvbmcJMTgzMDkxOTI5MQorCS5sb25nCTEwMjE1OTIyNTEKKwkubG9uZwkyMTUxNTYyMjQwCisJLmxvbmcJMTA3MTExNTcwNQorCS5sb25nCTQwNTQwODY2NgorCS5sb25nCTEwMjM0MjMxMjgKKwkubG9uZwk0MDQxODU0NzIwCisJLmxvbmcJMTA3MTEzMzMxOQorCS5sb25nCTIwNDM0OTc4MjcKKwkubG9uZwkxMDI0NDExNTAzCisJLmxvbmcJMzQ4OTIyNDE5MgorCS5sb25nCTEwNzExNTA5NjMKKwkubG9uZwkzMDcyMjE1ODY0CisJLmxvbmcJMTAyMjY5ODYzNQorCS5sb25nCTI0NzcxOTYyODgKKwkubG9uZwkxMDcxMTY4NjM3CisJLmxvbmcJMTgxMjE5NTEzOQorCS5sb25nCTEwMjI2ODkxOTIKKwkubG9uZwkzMDE1Mjk4ODE2CisJLmxvbmcJMTA3MTE4NjM0MQorCS5sb25nCTc2NDg0MTk2OQorCS5sb25nCTEwMjEwMjczMzEKKwkubG9uZwkyODQ0NzMxMTM2CisJLmxvbmcJMTA3MTIwNDA3NgorCS5sb25nCTI4NzgxMTczMjEKKwkubG9uZwkxMDE5MTE2NTEzCisJLmxvbmcJNDAyODk1MDUyOAorCS5sb25nCTEwNzEyMjE4NDIKKwkubG9uZwk2OTg5MTE0NTIKKwkubG9uZwkxMDIzMjY1NjAyCisJLmxvbmcJNjk0NDE1MzYKKwkubG9uZwkxMDcxMjM5NjQxCisJLmxvbmcJMzI1MzQ2Nzg0NworCS5sb25nCTEwMjA3OTUwNzUKKwkubG9uZwkxNjc2MjA5OTIwCisJLmxvbmcJMTA3MTI1NzQ3MQorCS5sb25nCTQyNzI0MzExNjcKKwkubG9uZwkxMDIyODczOTgyCisJLmxvbmcJMjQwODc1MjM4NAorCS5sb25nCTEwNzEyNzUzMzQKKwkubG9uZwk2NDg1MTkxMDAKKwkubG9uZwkxMDI0Mzg1NzE3CisJLmxvbmcJMTUxNjIzNjgwCisJLmxvbmcJMTA3MTI5MzIzMQorCS5sb25nCTM0NTI1NzAxNworCS5sb25nCTEwMTk1NjE0MDgKKwkubG9uZwkxNDEwMTU0MjQwCisJLmxvbmcJMTA3MTMxMTE2MQorCS5sb25nCTE5Nzg2Mzk5MworCS5sb25nCTEwMjMyMjQyMDcKKwkubG9uZwk0MTMxMzUxNTUyCisJLmxvbmcJMTA3MTMyOTEyNQorCS5sb25nCTI2MjA4MDE3ODkKKwkubG9uZwkxMDI0NDExMTY5CisJLmxvbmcJMTk5OTY2NDM4NAorCS5sb25nCTEwNzEzNDcxMjUKKwkubG9uZwkzOTUyNjkyNjE2CisJLmxvbmcJMTAyNDE2ODA4NgorCS5sb25nCTE2MTc2Njg4NjQKKwkubG9uZwkxMDcxMzY1MTYwCisJLmxvbmcJMzAxOTg4OTgwOQorCS5sb25nCTEwMjE5MDc2OTIKKwkubG9uZwkxMDMyMDc0MjQwCisJLmxvbmcJMTA3MTM4MzIzMQorCS5sb25nCTU5NDY5ODk5CisJLmxvbmcJMTAyMzY1NjE5NAorCS5sb25nCTI2MTk0OTIwOTYKKwkubG9uZwkxMDcxNDAxMzM4CisJLmxvbmcJMTQxNzUyNjgyMAorCS5sb25nCTEwMjE0NTc3ODMKKwkubG9uZwkyMDI0Mjk0NDAKKwkubG9uZwkxMDcxNDE5NDgzCisJLmxvbmcJMjkyNzY2NzkzNQorCS5sb25nCTEwMTkxNzU0NDcKKwkubG9uZwk1MjUwNDQyMjQKKwkubG9uZwkxMDcxNDM3NjY1CisJLmxvbmcJMzgxNjY4MTEKKwkubG9uZwkxMDIzOTgxODc5CisJLmxvbmcJMTc3OTI1ODg4MAorCS5sb25nCTEwNzE0NTU4ODUKKwkubG9uZwk0ODEyNTI1MDAKKwkubG9uZwkxMDIzMzEwMjM0CisJLmxvbmcJMjE5NTY3MzYwMAorCS5sb25nCTEwNzE0NzQxNDQKKwkubG9uZwkzOTYyMzk1OTgxCisJLmxvbmcJMTAyMTMzOTA4OAorCS5sb25nCTQ0NTczNjk2CisJLmxvbmcJMTA3MTQ5MjQ0MworCS5sb25nCTM5MzYyODEzOTUKKwkubG9uZwkxMDIzMDE0ODI5CisJLmxvbmcJMjIyNjkwNTM0NAorCS5sb25nCTEwNzE1MTA3ODEKKwkubG9uZwkxNTE1MzIwNDc2CisJLmxvbmcJMTAyNDMyMDYyMworCS5sb25nCTI4MDA1MTI1MTIKKwkubG9uZwkxMDcxNTI5MTYwCisJLmxvbmcJMTIyNTQwMzY5NworCS5sb25nCTEwMjEwODE4NDYKKwkubG9uZwkxNjExMTM2MDAKKwkubG9uZwkxMDcxNTQ3NTgxCisJLmxvbmcJMzA2NDgwOTczMworCS5sb25nCTEwMjQxNzM5MTcKKwkubG9uZwkxMzM4NDEwMjQwCisJLmxvbmcJMTA3MTU2NjA0MworCS5sb25nCTIwMjc2MDQ5NzMKKwkubG9uZwkxMDI0MzYyNTI2CisJLmxvbmcJNTIyNDMzMjgwCisJLmxvbmcJMTA3MTU4NDU0OAorCS5sb25nCTIwNTUxNzE3MjMKKwkubG9uZwkxMDIzODU4ODI1CisJLmxvbmcJNTM5NTk1Nzc2CisJLmxvbmcJMTA3MTYwMzA5NgorCS5sb25nCTM4Njg4MjAxMzUKKwkubG9uZwkxMDIyOTM2NDI0CisJLmxvbmcJNDI2NDAxNzY2NAorCS5sb25nCTEwNzE2MjE2ODcKKwkubG9uZwkzMjI4MDY1MTQ1CisJLmxvbmcJMTAyMzQ3OTU3OAorCS5sb25nCTE3MzM5MjQwOTYKKwkubG9uZwkxMDcxNjQwMzI0CisJLmxvbmcJMzUxMTkzNDQ3NQorCS5sb25nCTEwMjI0OTYzNTUKKwkubG9uZwkxMDg4ODAzODQKKwkubG9uZwkxMDcxNjUxODM5CisJLmxvbmcJNjE1ODgwOTY3CisJLmxvbmcJMTAyMzUxOTcwNgorCS5sb25nCTM1MTc4NTY1MTIKKwkubG9uZwkxMDcxNjYxMjAyCisJLmxvbmcJMzExMzEwODU1OQorCS5sb25nCTEwMjUxOTAyODkKKwkubG9uZwk0MDQzMTUzMTUyCisJLmxvbmcJMTA3MTY3MDU4OQorCS5sb25nCTE1NzE4MzYyMTgKKwkubG9uZwkxMDIzMTA2MTE2CisJLmxvbmcJMzI1MTI5OTA3MgorCS5sb25nCTEwNzE2ODAwMDAKKwkubG9uZwkzNDQ0MDc2MTAyCisJLmxvbmcJMTAyMjE4Nzg0MQorCS5sb25nCTI3MzY5MjE2MDAKKwkubG9uZwkxMDcxNjg5NDM1CisJLmxvbmcJMjcyNzcxNDgzCisJLmxvbmcJMTAyNTA5NTI4MAorCS5sb25nCTM4OTc2OTg1NjAKKwkubG9uZwkxMDcxNzAzNjMzCisJLmxvbmcJMjA3NTM5MDE4OAorCS5sb25nCTEwMjI0ODkwMjIKKwkubG9uZwkzMjA5NDg1MDU2CisJLmxvbmcJMTA3MTcyMjY1MgorCS5sb25nCTE0MzgwOTQwNjUKKwkubG9uZwkxMDIxODQ0OTQ0CisJLmxvbmcJMzc4MTQzMjA2NAorCS5sb25nCTEwNzE3NDE3NzQKKwkubG9uZwkxNjc1MDE3MTQ1CisJLmxvbmcJMTAyNDE0MzgyOAorCS5sb25nCTI2ODQxODQwNjQKKwkubG9uZwkxMDcxNzYxMDAzCisJLmxvbmcJMjI1OTk2Mzc1MworCS5sb25nCTEwMjQ3MzEzOTMKKwkubG9uZwkxODQwNDg5NzI4CisJLmxvbmcJMTA3MTc4MDM0MgorCS5sb25nCTMzNzI4ODM1OTcKKwkubG9uZwkxMDIzNDMxNDA4CisJLmxvbmcJMzc2NDA4NzgwOAorCS5sb25nCTEwNzE3OTk3OTQKKwkubG9uZwkzMzA3NTIzMTAyCisJLmxvbmcJMTAyNDQ4NTc4OAorCS5sb25nCTMwMDYyMzIzMjAKKwkubG9uZwkxMDcxODE5MzY0CisJLmxvbmcJMzA4ODk3MTk2NgorCS5sb25nCTEwMjUyMTMyNTEKKwkubG9uZwkzMzc0ODgxMjgwCisJLmxvbmcJMTA3MTgzOTA1NQorCS5sb25nCTgzNDQzNzc0OQorCS5sb25nCTEwMjUyMzY0NTIKKwkubG9uZwk3OTcyODQ4NjQKKwkubG9uZwkxMDcxODU4ODcyCisJLmxvbmcJMzEyMjY2Mzk0MQorCS5sb25nCTEwMjUzMjA0NzMKKwkubG9uZwk1NDU3NjUxMjAKKwkubG9uZwkxMDcxODc4ODE4CisJLmxvbmcJODI2NTM5NjI1CisJLmxvbmcJMTAyMjQ1MDk1NQorCS5sb25nCTEwNzU2MjI0MAorCS5sb25nCTEwNzE4OTg4OTgKKwkubG9uZwkzMzk1ODQ2MDAKKwkubG9uZwkxMDIyNDgxMjU1CisJLmxvbmcJMjEyMzY0OTAyNAorCS5sb25nCTEwNzE5MTkxMTYKKwkubG9uZwkzOTEyOTU5ODMzCisJLmxvbmcJMTAyNDMyMTAwOQorCS5sb25nCTE1NjIzODU2NjQKKwkubG9uZwkxMDcxOTM5NDc4CisJLmxvbmcJMjg0NjA2NzIzMAorCS5sb25nCTEwMjMzNDM5ODEKKwkubG9uZwkyOTYzMDg1ODI0CisJLmxvbmcJMTA3MTk1OTk4OAorCS5sb25nCTk1NDU0ODYyNworCS5sb25nCTEwMjE0NzUyMTEKKwkubG9uZwkzMzI1NTUwNTkyCisJLmxvbmcJMTA3MTk4MDY1MgorCS5sb25nCTM0NTk2NTExNTUKKwkubG9uZwkxMDI1MzA1NTczCisJLmxvbmcJNzc1NzUyNDQ4CisJLmxvbmcJMTA3MjAwMTQ3NgorCS5sb25nCTM1ODI3NDY2NjcKKwkubG9uZwkxMDIzODU5NDYwCisJLmxvbmcJMzIzODU5MDcyMAorCS5sb25nCTEwNzIwMjI0NjQKKwkubG9uZwk2MzQ2MzYxNjIKKwkubG9uZwkxMDI0NDcyMzUzCisJLmxvbmcJMjc1ODgwMTkyMAorCS5sb25nCTEwNzIwNDM2MjQKKwkubG9uZwkzMDc4MjE2MzE5CisJLmxvbmcJMTAyNTMwNDUxNgorCS5sb25nCTEzNzAzMTkxMDQKKwkubG9uZwkxMDcyMDY0OTYyCisJLmxvbmcJMjU3MDU2OTA3OAorCS5sb25nCTEwMjUwOTk0NDIKKwkubG9uZwkyNjE1ODA1MTg0CisJLmxvbmcJMTA3MjA4NjQ4NAorCS5sb25nCTM3Mjk5MzM0MTIKKwkubG9uZwkxMDI0NjA1MTEyCisJLmxvbmcJMzA3NzMzNjU3NgorCS5sb25nCTEwNzIxMDgxOTgKKwkubG9uZwkxOTQ4OTE2MDY2CisJLmxvbmcJMTAyNDc4MTYwMworCS5sb25nCTEwOTk1MjgxOTIKKwkubG9uZwkxMDcyMTMwMTEyCisJLmxvbmcJMzEzOTE0MzE1NworCS5sb25nCTEwMjM3MjkzNjAKKwkubG9uZwkxMjMxOTAzMjMyCisJLmxvbmcJMTA3MjE1MjIzMworCS5sb25nCTEzNDk1MTM0NzcKKwkubG9uZwkxMDI0NzM3NTE1CisJLmxvbmcJMTUwNzUwNDEyOAorCS5sb25nCTEwNzIxNzQ1NzAKKwkubG9uZwkzNDg0NTE2MzIyCisJLmxvbmcJMTAyNDAwMDk1OQorCS5sb25nCTIyMTQ2NTk4NDAKKwkubG9uZwkxMDcyMTk3MTMyCisJLmxvbmcJMjU2MzgyMDkxNworCS5sb25nCTEwMjUyMjU1MzUKKwkubG9uZwkxODA0NzM5ODQwCisJLmxvbmcJMTA3MjIxOTkyOQorCS5sb25nCTc2MDAzODc0NgorCS5sb25nCTEwMjQ0ODI4NTUKKwkubG9uZwkxNDEzNzQ2Njg4CisJLmxvbmcJMTA3MjI0Mjk3MQorCS5sb25nCTM0MDE3MzQ3MTQKKwkubG9uZwkxMDI1MTI5ODM4CisJLmxvbmcJODIxNDA5NTM2CisJLmxvbmcJMTA3MjI2NjI2OQorCS5sb25nCTM3Mjk3NzI1NTEKKwkubG9uZwkxMDI1NDg0Nzk2CisJLmxvbmcJMzAzMTgyNTY2NAorCS5sb25nCTEwNzIyODk4MzQKKwkubG9uZwkxMjIyNTY3NDkKKwkubG9uZwkxMDI0NzUyNTk0CisJLmxvbmcJMTcxMDc4NDI1NgorCS5sb25nCTEwNzIzMTM2ODAKKwkubG9uZwkxNTE4MjA1NDgzCisJLmxvbmcJMTAyNDcyNDgwOQorCS5sb25nCTMwMjUyNjUxNTIKKwkubG9uZwkxMDcyMzM3ODE5CisJLmxvbmcJNDA5OTUxOTg5CisJLmxvbmcJMTAyMjgzNTU1NQorCS5sb25nCTI4Nzc2OTA4OAorCS5sb25nCTEwNzIzNjIyNjcKKwkubG9uZwk4MDAzNTU1OTQKKwkubG9uZwkxMDIyNDg0ODUwCisJLmxvbmcJMTk4MTc5ODQwCisJLmxvbmcJMTA3MjM4NzAzOAorCS5sb25nCTM1MDI5MjYyMTMKKwkubG9uZwkxMDI0MjA5MzczCisJLmxvbmcJMTkwOTEzMDQ5NgorCS5sb25nCTEwNzI0MTIxNDkKKwkubG9uZwkzMDY0Njk0MzE5CisJLmxvbmcJMTAyNTM4MDgyMworCS5sb25nCTE5NDE3MzIwOTYKKwkubG9uZwkxMDcyNDM3NjE5CisJLmxvbmcJNDExMjkzMDM5MAorCS5sb25nCTEwMjQyOTQ2NzkKKwkubG9uZwkzNDkyMDEwNDk2CisJLmxvbmcJMTA3MjQ2MzQ2NworCS5sb25nCTI2ODQ5MTgxMDcKKwkubG9uZwkxMDIzMjIwMjMzCisJLmxvbmcJODE5NTk2ODAKKwkubG9uZwkxMDcyNDg5NzE2CisJLmxvbmcJMjIwMDIxMzY2CisJLmxvbmcJMTAyMDYzNTEzMQorCS5sb25nCTIyOTc4MzcwNTYKKwkubG9uZwkxMDcyNTE2Mzg3CisJLmxvbmcJNDAyNzY4MzgyNgorCS5sb25nCTEwMjEwNDExODUKKwkubG9uZwkyNzA0MDQwOTYKKwkubG9uZwkxMDcyNTQzNTA4CisJLmxvbmcJMjAxMjc2NjA2NQorCS5sb25nCTEwMjE3ODA3NTMKKwkubG9uZwkzNjY3Mzc2ODk2CisJLmxvbmcJMTA3MjU3MTEwNQorCS5sb25nCTI3Mjc5ODE1MjIKKwkubG9uZwkxMDIzMDA5ODc0CisJLmxvbmcJMzMwNDAwMjU2CisJLmxvbmcJMTA3MjU5OTIxMgorCS5sb25nCTI5NDAwMTcwMDMKKwkubG9uZwkxMDI1MzkzNDM5CisJLmxvbmcJMTExOTI5Mzk1MgorCS5sb25nCTEwNzI2Mjc4NjEKKwkubG9uZwkxNjA4NTUwNDE2CisJLmxvbmcJMTAyMjY3NTYxMgorCS5sb25nCTM1MzYxNTU5MDQKKwkubG9uZwkxMDcyNjU3MDkxCisJLmxvbmcJMzQ5NjY1Nzc4CisJLmxvbmcJMTAyNTE1Njc1MQorCS5sb25nCTMwNzgwNDY3MjAKKwkubG9uZwkxMDcyNjg2OTQ2CisJLmxvbmcJMjAxNjE1OTk5NgorCS5sb25nCTEwMjIxOTMxNjkKKwkubG9uZwk0NTUyMjg0MTYKKwkubG9uZwkxMDcyNzA1MzYxCisJLmxvbmcJMTkwODUzOTMyOAorCS5sb25nCTEwMjYxMjYzMzIKKwkubG9uZwkxODcxNTA1NjY0CisJLmxvbmcJMTA3MjcyMDk4OAorCS5sb25nCTI3ODQ3MDA4OTQKKwkubG9uZwkxMDI1OTIyMjc3CisJLmxvbmcJMTYzMDk5NDQzMgorCS5sb25nCTEwNzI3MzcwMTAKKwkubG9uZwkzNjExMDc2NzgKKwkubG9uZwkxMDIyODg3MjQ0CisJLmxvbmcJMjA4NDU1ODMzNgorCS5sb25nCTEwNzI3NTM0NjIKKwkudHlwZQlUYmxfYWRkcixAb2JqZWN0CisJLnNpemUJVGJsX2FkZHIsMzg0MAorCS5zcGFjZSA3NjgsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitTSUdOTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLnR5cGUJU0lHTk1BU0ssQG9iamVjdAorCS5zaXplCVNJR05NQVNLLDE2CisJLmFsaWduIDE2CitIQUxGTUFTSzI6CisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM1ODQKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCUhBTEZNQVNLMixAb2JqZWN0CisJLnNpemUJSEFMRk1BU0syLDE2CisJLmFsaWduIDE2CitQSV9CWV8yOgorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTYxNzgyMTQKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3MzI5MTc3MQorCS50eXBlCVBJX0JZXzIsQG9iamVjdAorCS5zaXplCVBJX0JZXzIsMTYKKwkuYWxpZ24gMTYKK2N2MjoKKwkubG9uZwk3ODA5MDMxNDUKKwkubG9uZwkxMDY2ODU0NTg2CisJLmxvbmcJODU4OTkzNDU5CisJLmxvbmcJMTA2ODcwODY1OQorCS5sb25nCTMzNDA1MzAxMTkKKwkubG9uZwkxMDY3MzkyMTEzCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjk4OTcwNDUKKwkubG9uZwkxMzIxNTI4Mzk5CisJLmxvbmcJMTA2NjUxNzc0MAorCS5sb25nCTMwNjc4MzM3ODMKKwkubG9uZwkxMDY3ODk5NzU3CisJLmxvbmcJMjAyMTE1OTQ2MAorCS5sb25nCTEwNjU4NTUwOTYKKwkubG9uZwkyNTc2OTgwMzc4CisJLmxvbmcJMTA2NjE3ODk2OQorCS50eXBlCWN2MixAb2JqZWN0CisJLnNpemUJY3YyLDY0CisJLmFsaWduIDE2CitIQUxGTUFTSzoKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLnR5cGUJSEFMRk1BU0ssQG9iamVjdAorCS5zaXplCUhBTEZNQVNLLDE2CisJLmFsaWduIDQKK09ORU1BU0s6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkudHlwZQlPTkVNQVNLLEBvYmplY3QKKwkuc2l6ZQlPTkVNQVNLLDgKKwkuYWxpZ24gNAorVE1BU0s6CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NTA5MTIKKwkudHlwZQlUTUFTSyxAb2JqZWN0CisJLnNpemUJVE1BU0ssOAorCS5hbGlnbiA0CitjdjoKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA2OTg5NzA0NQorCS5sb25nCTg1ODk5MzQ1OQorCS5sb25nCTEwNjg3MDg2NTkKKwkubG9uZwkzMDY3ODMzNzgzCisJLmxvbmcJMTA2Nzg5OTc1NworCS50eXBlCWN2LEBvYmplY3QKKwkuc2l6ZQljdiwyNAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorLy8gLS0gQmVnaW4gRFdBUkYyIFNFR01FTlQgLmVoX2ZyYW1lCisJLnNlY3Rpb24gLmVoX2ZyYW1lLCJhIixAcHJvZ2JpdHMKKy5laF9mcmFtZV9zZWc6CisJLmFsaWduIDEKKwkuNGJ5dGUgMHgwMDAwMDAxNAorCS44Ynl0ZSAweDAwNTI3YTAxMDAwMDAwMDAKKwkuOGJ5dGUgMHgwODA3MGMxYjAxMTA3ODAxCisJLjRieXRlIDB4MDAwMDAxOTAKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2FzaW4uMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2FzaW4uNS0uLl9fX3RhZ192YWx1ZV9hc2luLjEKKwkuMmJ5dGUgMHgwNDAwCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2FzaW4uMy0uLl9fX3RhZ192YWx1ZV9hc2luLjEKKwkuMmJ5dGUgMHgyMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hc2luLjQtLi5fX190YWdfdmFsdWVfYXNpbi4zCisJLjJieXRlIDB4MDgwZQorCS5ieXRlIDB4MDAKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9lX2F0YW4yLlMgYi9saWJtL3g4Nl82NC9lX2F0YW4yLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjliYWVhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2XzY0L2VfYXRhbjIuUwpAQCAtMCwwICsxLDEyNDIgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLworLy8xLiBUaGUgbWV0aG9kIGlzIGJhc2VkIG9uIHRoZSByZWxhdGlvbnNoaXAgb2YgYXRhbjIoWSxYKSB0byBhdGFuKHxZL1h8KQorLy8gICBhcyBmb2xsb3dzLgorLy8gICAgICAgICAgICAgICAgICAgLyAgc2lnbihZKSBhdGFuKHxZL1h8KSAgICAgICAgICAgICAgICBpZiBYID4gMAorLy8gICAgICAgYXRhbjIoWSxYKSA9CisvLyAgICAgICAgICAgICAgICAgICBcICBzaWduKFkpKnBpICAtIHNpZ24oWSkqYXRhbih8WS9YfCkgIGlmIFggPCAwCisvLworLy8gICBUaHVzLCBhdGFuMihZLFgpIGlzIG9mIHRoZSBmb3JtICBhdGFuMihZLFgpID0gUEkgKyBzZ24qYXRhbih8WS9YfCkKKy8vICAgd2hlcmUgUEkgYW5kIHNnbiBjYW4gYmUgZGV0ZXJtaW5lZCBieSB0aGUgZm91ciBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YKKy8vICAgb2YgdGhlIHBhaXIgKHNpZ24oWCksc2lnbihZKSkuIFdlIGNvbmNlbnRyYXRlIG9uIHRoZSBudW1lcmljYWwgbWV0aG9kCisvLyAgIGZvciBhdGFuKHxZL1h8KS4KKy8vCisvLzIuIEZvciB8WS9YfCA8IDJeKC02NCksIGF0YW4ofFkvWHwpIH49fiB8WS9YfC4gSGVuY2UsIGF0YW4yKFksWCkgaXMgIFkvWAorLy8gICBpZiBYID4gMCwgYW5kIHNpZ24oWSkqcGkgb3RoZXJ3aXNlLgorLy8zLiBGb3IgfFkvWHwgPj0gMl4oNjUpLCBhdGFuKHxZL1h8KSB+PX4gcGkvMi4gSGVuY2UgYXRhbjIoWSxYKSBpcyBzaWduKFkpcGkvMi4KKy8vNC4gRm9yIDJeKC02NCkgPD0gfFkvWHwgPCAyXigtNSksIGF0YW4ofFkvWHwpIGlzIGFwcHJveGltYXRlZCBieSBhIHBvbHlub21pYWwKKy8vICAgb2YgdGhlIGZvcm0gIFogKyBaKkUqcG9seW5vbWlhbChFKSwgd2hlcmUgWiA9IHxZL1h8IGFuZCBFID0gWipaLgorLy81LiBGb3IgfFkvWHwgPiAyXig1KSwgYXRhbih8WS9YfCkgPSBwaS8yICsgYXRhbigtfFgvWXwpLCBhbmQgYXRhbigtfFgvWXwpIGlzCisvLyAgIGNhbGN1bGF0ZWQgdXNpbmcgdGhlIHBvbHlub21pYWwgaW4gNCBhYm92ZS4KKy8vNi4gRm9yIDJeKC01KSA8PSB8WS9YfCA8PSAyXig1KSwgd2UgZW1wbG95IGEgdGFibGUgbG9va3VwIG1ldGhvZC4gRmlyc3QsCisvLyAgIHdlIG9idGFpbiBCID0gMl5rICogMS5iMSBiMiBiMyBiNCA9IDJeayAqICgxK2svMTYpIHRoYXQgYXBwcm94aW1hdGUKKy8vICAgfFkvWHwgdG8gYXBwcm94aW1hdGVseSA1IHNpZ25pZmljYW50IGJpdHMuIEhlbmNlLCBhdGFuKHxZL1h8KSBpcworLy8KKy8vICAgICAgYXRhbih8WS9YfCkgID0gIGF0YW4oQikgKyBhdGFuKFopLCB3aGVyZSAgWiA9ICh8WXwtQnxYfCkvKHxYfCtCfFl8KS4KKy8vICAgICAgICAgICAgICAgICAgfj1+ICAgdGF1ICAgKyBaICsgWipFKnBvbHlub21pYWwoRSksIHdoZXJlIEUgPSBaKlouCisvLworLy8gICBCIGhhcyB0aGUgcmFuZ2UgZnJvbSAyXigtNikqKDErMTQvMTYpIHRvIDJeNSA9IDJeKDUpKigxKzAvMTYpLCB0b3RhbGx5CisvLyAgIDE2MyBwb3NzaWJsZSB2YWx1ZXMuIFRoZXNlIHZhbHVlcyBhcmUgY2FsY3VsYXRlZCBiZWZvcmVoYW5kIGFuZCBzdG9yZWQKKy8vICAgaW4gYSB0YWJsZS4gVGhlIHBvbHlub21pYWwgaXMgdGhlIG9uZSB1c2VkIGluIDQuCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBhdGFuMigrLTAsICswKSA9ICstMAorLy8gIGF0YW4yKCstMCwgLTApID0gKy1waQorLy8gIGF0YW4yKCstMCwgeCkgPSArLTAsIGZvciB4ID4gMCwgYW5kICstcGksIGZvciB4IDwgMAorLy8gIGF0YW4yKHksICstMCkgPSArcGkvMiBmb3IgeSA+IDAsIGFuZCAtcGkvMiBmb3IgeSA8IDAKKy8vICBhdGFuMigrLXksICtJTkYpID0gKy0wLCBmb3IgZmluaXRlIHkgPiAwCisvLyAgYXRhbjIoKy15LCAtSU5GKSA9ICstcGksIGZvciBmaW5pdGUgeSA+IDAKKy8vICBhdGFuMigrLUlORiwgeCkgPSArLXBpLzIsIGZvciBmaW5pdGUgeAorLy8gIGF0YW4yKCstSU5GLCArSU5GKSA9ICstcGkvNAorLy8gIGF0YW4yKCstSU5GLCAtSU5GKSA9ICstMypwaS80CisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgYXRhbjIKK0VOVFJZKGF0YW4yKQorIyBwYXJhbWV0ZXIgMTogJXhtbTAKKyMgcGFyYW1ldGVyIDI6ICV4bW0xCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9hdGFuMi4xOgorICAgICAgICBzdWJxICAgICAgJDI0LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9hdGFuMi4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglcnNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTEsIDgoJXJzcCkKKy4uQjEuMjoKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTQ0NDgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQzODQwLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxNDQ0OCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDM4NDAsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgdW5wY2tscGQgICV4bW0xLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQyMDQ4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTUKKyAgICAgICAgcGFkZHcgICAgICV4bW0xLCAleG1tNQorICAgICAgICBwc3JscSAgICAgJDI5LCAleG1tNQorICAgICAgICByY3BzcyAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbW92bCAgICAgICQxNDMzNiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW00CisgICAgICAgIHBzbGxxICAgICAkMjksICV4bW0zCisgICAgICAgIHBhZGR3ICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMiwgJWVheCwgJXhtbTYKKyAgICAgICAgbW92bCAgICAgICQzMjc2NywgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW03CisgICAgICAgIHBhZGRkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgYW5kcGQgICAgICV4bW03LCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTMsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQxNjQ0OCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW0yCisgICAgICAgIG1pbnNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbW92bXNrcGQgICV4bW0wLCAlZWR4CisgICAgICAgIHBzbGxxICAgICAkMSwgJXhtbTAKKyAgICAgICAgcHNybHEgICAgICQxLCAleG1tMAorICAgICAgICBjbXBzZCAgICAgJDIsICV4bW0yLCAleG1tNQorICAgICAgICBwc2xscSAgICAgJDEsICV4bW0xCisgICAgICAgIHBzcmxxICAgICAkMSwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQwLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMCwgJWVjeCwgJXhtbTYKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIGFuZHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYyODYsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxMTIxLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBkaXZzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTMsICVlY3gKKyAgICAgICAgbW92c2QgICAgIGEyKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgYjIoJXJpcCksICV4bW0zCisgICAgICAgIHBleHRydyAgICAkMCwgJXhtbTUsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgbGVhICAgICAgIFBfVEJMKCVyaXApLCAlcjgKKyAgICAgICAgbW92YXBkICAgICglcjgsJXJkeCw4KSwgJXhtbTYKKyAgICAgICAgbGVhICAgICAgIFNHTl9UQkwoJXJpcCksICVyOAorICAgICAgICBtb3ZhcGQgICAgKCVyOCwlcmR4LDgpLCAleG1tMQorICAgICAgICBzdWJsICAgICAgJDE2Mjg2LCAlZWN4CisgICAgICAgIG5vdGwgICAgICAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVheAorICAgICAgICBhZGRsICAgICAgJWVheCwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVjeAorICAgICAgICBsZWEgICAgICAgQVRBTl9UQkwoJXJpcCksICVyOAorICAgICAgICBtb3ZhcGQgICAgKCVyOCwlcmN4LDgpLCAleG1tNQorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tNiwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgICV4bW01LCAleG1tNgorICAgICAgICB1bnBja2hwZCAgJXhtbTUsICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgOCthMiglcmlwKSwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgOCtiMiglcmlwKSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIGFkZGwgICAgICAkOTQyLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkOTQyLCAlZWF4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTQsICV4bW00CisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlY3gKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWN4LCAleG1tNAorICAgICAgICBkaXZzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIGxlYSAgICAgICBTR05fVEJMKCVyaXApLCAlcjgKKyAgICAgICAgbW92YXBkICAgICglcjgsJXJkeCw4KSwgJXhtbTYKKyAgICAgICAgdW5wY2tscGQgICV4bW0zLCAleG1tMworICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTIKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tMworICAgICAgICBsZWEgICAgICAgUF9UQkwyKCVyaXApLCAlcjgKKyAgICAgICAgbW92YXBkICAgICglcjgsJXJkeCw4KSwgJXhtbTcKKyAgICAgICAgbW92c2QgICAgIGEyKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgYjIoJXJpcCksICV4bW01CisgICAgICAgIGxlYSAgICAgICBTRUxFQ1RfQiglcmlwKSwgJXI4CisgICAgICAgIGFuZHBkICAgICAoJXI4LCVyZHgsOCksICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgIDgrYTIoJXJpcCksICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgIDgrYjIoJXJpcCksICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVyc3ApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgKCVyc3ApLCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGpnICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMzI3NjcsICVlY3gKKyAgICAgICAgamcgICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIGRpdnNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIGFuZHBkICAgICBTR05NQVNLKCVyaXApLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgcGlfdGFibGUoJXJpcCksICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIGFuZHBkICAgICBTR05NQVNLKCVyaXApLCAleG1tMAorICAgICAgICBtb3ZzZCAgICAgcGkyX3RhYmxlKCVyaXApLCAleG1tMgorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKyAgICAgICAgbW92c2QgICAgIFBPVzU1KCVyaXApLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDEwMjQsICVlZHgKKyAgICAgICAgbW92c2QgICAgIElOVkVYUE1BU0soJXJpcCksICV4bW00CisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgbW92c2QgICAgIEVYUE1BU0soJXJpcCksICV4bW03CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMS4wLjIKKy5MXzJUQUdfUEFDS0VUXzEyLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQyMDQ4LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBhZGRsICAgICAgJDE1MzQ0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTYKKyAgICAgICAgYW5kcGQgICAgICV4bW00LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIG9ycGQgICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgb3JwZCAgICAgICV4bW03LCAleG1tMQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzkuMC4yOgorICAgICAgICBzdWJsICAgICAgJDg4MCwgJWVkeAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEzLjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIGFkZGwgICAgICAkODgwLCAlZWR4CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTQuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQxMDQ4NTc1LCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVjeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTUuMC4yCisgICAgICAgIHBzcmxxICAgICAkNjMsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkNjMsICV4bW0wCisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzE2LjAuMgorICAgICAgICBtb3ZhcGQgICAgcGkyX3RhYmxlKCVyaXApLCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgb3JwZCAgICAgICV4bW01LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8xNS4wLjI6CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMTYuMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlY3gKKyAgICAgICAgbW92bCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDEwNDg1NzUsICVlY3gKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNy4wLjIKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKyAgICAgICAgbW92YXBkICAgIHBpNF90YWJsZSglcmlwKSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMTcuMC4yOgorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMTguMC4yOgorICAgICAgICBtb3ZhcGQgICAgcGk0X3RhYmxlKCVyaXApLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgcGkyX3RhYmxlKCVyaXApLCAleG1tNgorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgYWRkcGQgICAgICV4bW02LCAleG1tNQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzguMC4yOgorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMgorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlY3gKKyAgICAgICAgbW92bCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDEwNDg1NzUsICVlY3gKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNy4wLjIKKyAgICAgICAgcHNybHEgICAgICQ2MywgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQ2MywgJXhtbTAKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOS4wLjIKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMTkuMC4yOgorICAgICAgICBtb3ZhcGQgICAgcGlfdGFibGUoJXJpcCksICV4bW01CisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNQorICAgICAgICBvcnBkICAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEzLjAuMjoKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDMyNzY4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjAuMC4yCisgICAgICAgIG1vdmFwZCAgICBwaV90YWJsZSglcmlwKSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGNvbWlzZCAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgb3JwZCAgICAgICV4bW01LCAleG1tMAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjEuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzIwLjAuMjoKKyAgICAgICAgY29taXNkICAgICV4bW0wLCAleG1tMQorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjEuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzE0LjAuMjoKKyAgICAgICAgbW92YXBkICAgIHBpMl90YWJsZSglcmlwKSwgJXhtbTUKKyAgICAgICAgcHNybHEgICAgICQ2MywgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQ2MywgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIG9ycGQgICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMjEuMC4yOgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsIDE2KCVyc3ApCisuLkIxLjM6CisgICAgICAgIG1vdnEgICAgICAxNiglcnNwKSwgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzIyLjAuMjoKKy4uQjEuNToKKyAgICAgICAgYWRkcSAgICAgICQyNCwgJXJzcAorLi5fX190YWdfdmFsdWVfYXRhbjIuNDoKKyAgICAgICAgcmV0ICAgICAgIAorLi5fX190YWdfdmFsdWVfYXRhbjIuNToKK0VORChhdGFuMikKKyMgLS0gRW5kICBhdGFuMgorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorYTI6CisJLmxvbmcJMjAwNjI2Mjk4NQorCS5sb25nCTEwNjkzMTA4NjMKKwkubG9uZwkyMzU4NDQ5NDcxCisJLmxvbmcJMzIxNzM0MjEzMQorCS50eXBlCWEyLEBvYmplY3QKKwkuc2l6ZQlhMiwxNgorCS5hbGlnbiAxNgorYjI6CisJLmxvbmcJMzg0NTQ1NDM1MgorCS5sb25nCTEwNjk5NTIyOTcKKwkubG9uZwkyODI5Njc5MTQ5CisJLmxvbmcJMTA3Mzc3MTU2NQorCS50eXBlCWIyLEBvYmplY3QKKwkuc2l6ZQliMiwxNgorCS5hbGlnbiAxNgorUF9UQkw6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3NDM0MDM0NworCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTcyMjY3OTAKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMzIyMTgyMzk5NQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTMxNjQ3MTA0MzgKKwkudHlwZQlQX1RCTCxAb2JqZWN0CisJLnNpemUJUF9UQkwsNjQKKwkuYWxpZ24gMTYKK1NHTl9UQkw6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCVNHTl9UQkwsQG9iamVjdAorCS5zaXplCVNHTl9UQkwsNjQKKwkuYWxpZ24gMTYKK0FUQU5fVEJMOgorCS5sb25nCTMzOTA4ODEyODAKKwkubG9uZwkxMDY3MzE4NzMzCisJLmxvbmcJMTQxMTExNjc3OQorCS5sb25nCTEwMTg5NTAwNjMKKwkubG9uZwkyOTg1OTg3ODQwCisJLmxvbmcJMTA2NzM4NDIxMQorCS5sb25nCTIwODg5MDM2OTUKKwkubG9uZwkxMDE4MDg2MDI3CisJLmxvbmcJMzE0ODQ0NTE4NAorCS5sb25nCTEwNjc0NDk2ODUKKwkubG9uZwkyMDQ0MTYzODA2CisJLmxvbmcJMTAxNzI3MTMzNQorCS5sb25nCTM2Njc2MjkxODQKKwkubG9uZwkxMDY3NTE1NDk0CisJLmxvbmcJMjM1MzA5Mjc3NQorCS5sb25nCTEwMTk5NjczMDkKKwkubG9uZwkxNTQ2NTY4ODMyCisJLmxvbmcJMTA2NzU4MDk1NAorCS5sb25nCTYxMTk5MTMxNQorCS5sb25nCTEwMTc2MDI1ODQKKwkubG9uZwkzODE1OTk2ODAwCisJLmxvbmcJMTA2NzY0NjQwNAorCS5sb25nCTQ2NjAzODU5OAorCS5sb25nCTEwMTk2ODY0MjYKKwkubG9uZwk0MDUwMjQxOTIwCisJLmxvbmcJMTA2NzcxMTg0NQorCS5sb25nCTMyNjUwMjYzMjgKKwkubG9uZwkxMDE5NjI2OTUyCisJLmxvbmcJMTIwNDU0OTEyCisJLmxvbmcJMTA2Nzc3NzI3NworCS5sb25nCTE1NDIyMDc2OTYKKwkubG9uZwkxMDIwMTU1NjA4CisJLmxvbmcJMjc4NDYzOTc0NAorCS5sb25nCTEwNjc4NDI2OTcKKwkubG9uZwkzODgzODM0NjIzCisJLmxvbmcJMTAxODYwMjg3MAorCS5sb25nCTEzMjgwMTA2MjQKKwkubG9uZwkxMDY3OTA4MTA3CisJLmxvbmcJMTc5MTA5NzQ1NgorCS5sb25nCTEwMTkwNTMxMjYKKwkubG9uZwkyMjE3Nzk0MDQ4CisJLmxvbmcJMTA2Nzk3MzUwNQorCS5sb25nCTU1MTYxOTkzOAorCS5sb25nCTEwMTg0OTQxOTQKKwkubG9uZwkzMzMzNTIwMDAwCisJLmxvbmcJMTA2ODAzODg5MQorCS5sb25nCTIzOTAzMzE4MjMKKwkubG9uZwkxMDE5MDMzMDIyCisJLmxvbmcJMjU1NzA1MjAzMgorCS5sb25nCTEwNjgxMDQyNjUKKwkubG9uZwkyNDIzOTc2MTA4CisJLmxvbmcJMTAxOTcyODY3NAorCS5sb25nCTIwNjc2NDk1MzYKKwkubG9uZwkxMDY4MTY5NjI2CisJLmxvbmcJMzc1NzM5Nzc0NQorCS5sb25nCTEwMTg2NzIzNjIKKwkubG9uZwk0MDQ3MDk0Nzg0CisJLmxvbmcJMTA2ODIzNDk3MworCS5sb25nCTQ4MTYxMzE4NAorCS5sb25nCTEwMTkyNzUxMDQKKwkubG9uZwkyMDg5ODUzMTg0CisJLmxvbmcJMTA2ODMwMDMwNworCS5sb25nCTE3MzM5MTQzNzQKKwkubG9uZwkxMDIwMTI0Njc3CisJLmxvbmcJMjY3ODAwMzg0MAorCS5sb25nCTEwNjgzNjU2MjYKKwkubG9uZwkxMzczNjAwMjgyCisJLmxvbmcJMTAxMzkzNTQ3NAorCS5sb25nCTM3MDY0OTYxMjgKKwkubG9uZwkxMDY4NDMwOTMwCisJLmxvbmcJMTAwMDYxMDkwMgorCS5sb25nCTEwMTk2NzMyODUKKwkubG9uZwkzMDczMTc5MDA4CisJLmxvbmcJMTA2ODQ5NjIxOQorCS5sb25nCTE0OTcxNDMwMDgKKwkubG9uZwkxMDE5OTAwMzQyCisJLmxvbmcJMjgwMzcxNjczNgorCS5sb25nCTEwNjg1NjI4NDYKKwkubG9uZwkxNDc2Njc3NDE2CisJLmxvbmcJMTAxOTQ0NDA5NAorCS5sb25nCTMyMDQ5ODQxMjgKKwkubG9uZwkxMDY4NjI4MDc3CisJLmxvbmcJMTE5MjMzNTkwNQorCS5sb25nCTEwMTg3NDg2MjgKKwkubG9uZwk4MzExNDY2MjQKKwkubG9uZwkxMDY4NjkzMjczCisJLmxvbmcJMjczMzU4NjIyNAorCS5sb25nCTEwMTg4MjMyOTUKKwkubG9uZwkyNDMwMjkzNzYKKwkubG9uZwkxMDY4NzU4NDMxCisJLmxvbmcJOTUwMTA2MDgxCisJLmxvbmcJMTAxOTA0NjY3NQorCS5sb25nCTE3MzU1NjE5MjAKKwkubG9uZwkxMDY4ODIzNTQ5CisJLmxvbmcJMzU0NjQ0MDg1NgorCS5sb25nCTEwMjAxMDQ3MTIKKwkubG9uZwkxMzM5MjE3NzkyCisJLmxvbmcJMTA2ODg4ODYyNgorCS5sb25nCTMwMjg4MTIzODcKKwkubG9uZwkxMDE5ODE4MzIxCisJLmxvbmcJMzcwNjM0MjE0NAorCS5sb25nCTEwNjg5NTM2NTkKKwkubG9uZwkzODE0NTY0MDI5CisJLmxvbmcJMTAxNzc2Mzg3MQorCS5sb25nCTYzNzcyNjk3NgorCS5sb25nCTEwNjkwMTg2NDgKKwkubG9uZwkzNTg0MDA3Njk5CisJLmxvbmcJMTAxNzk3Njg2OAorCS5sb25nCTExNDg3NzkyNjQKKwkubG9uZwkxMDY5MDgzNTg5CisJLmxvbmcJMjI4MjUzMjEzMworCS5sb25nCTEwMTk0ODM5NTQKKwkubG9uZwkxNDA2MTMxMzkyCisJLmxvbmcJMTA2OTE0ODQ4MQorCS5sb25nCTE1NDczNTkxMTMKKwkubG9uZwkxMDE5Nzg2MzQyCisJLmxvbmcJMTkwODg3NTkwNAorCS5sb25nCTEwNjkyMTMzMjIKKwkubG9uZwkxMzE1NTA4NDEwCisJLmxvbmcJMTAyMDAwOTQ3MworCS5sb25nCTMxOTQ5NDc1MjAKKwkubG9uZwkxMDY5Mjc4MTEwCisJLmxvbmcJMzg0NTM5MzIwMQorCS5sb25nCTEwMTU4MDM3NjEKKwkubG9uZwkxNTQ3NDg3NzQ0CisJLmxvbmcJMTA2OTM0Mjg0NAorCS5sb25nCTM4NjMxMDc4NjUKKwkubG9uZwkxMDE5ODEwMTA0CisJLmxvbmcJMTg4MTA2MTk1MgorCS5sb25nCTEwNjk0MDc1MjEKKwkubG9uZwk0Mjg4MzQzNTQ4CisJLmxvbmcJMTAxOTY4NzU4MQorCS5sb25nCTU2MzA4NjMzNgorCS5sb25nCTEwNjk0NzIxNDAKKwkubG9uZwkyNTgyMjMwMjQxCisJLmxvbmcJMTAyMDA5OTM1MAorCS5sb25nCTI1OTQ5NzU1NTIKKwkubG9uZwkxMDY5NTM2Njk4CisJLmxvbmcJMjMwNjQ0Mzc2NAorCS5sb25nCTEwMTk2NjcyNDQKKwkubG9uZwkzNDM4NTQ1MDI0CisJLmxvbmcJMTA2OTYwNjU3MworCS5sb25nCTk1NzQ1NTU0OQorCS5sb25nCTEwMTU1ODc3MzUKKwkubG9uZwk0MjExMzU3NDcyCisJLmxvbmcJMTA2OTY3MDkwNgorCS5sb25nCTI2MTE3Nzg3NTQKKwkubG9uZwkxMDE3ODc3MjE0CisJLmxvbmcJMzAwMjgzNTQyNAorCS5sb25nCTEwNjk3MzUxMDEKKwkubG9uZwkyMzU1ODA0NTgKKwkubG9uZwkxMDIwMjExNjg1CisJLmxvbmcJMzkwNTMxNTQyNAorCS5sb25nCTEwNjk3OTkxNTAKKwkubG9uZwkzNjMwNjQ3NjE3CisJLmxvbmcJMTAxODczNjg0OQorCS5sb25nCTI4NDk2NTY1NzYKKwkubG9uZwkxMDY5ODYzMDQ3CisJLmxvbmcJMjQxMjE2NTA2MgorCS5sb25nCTEwMTk2OTMwMDQKKwkubG9uZwk1MDc0Mjk0NzIKKwkubG9uZwkxMDY5OTI2Nzg1CisJLmxvbmcJMTM5Nzc1MDcyMworCS5sb25nCTEwMTg0MTI3MTcKKwkubG9uZwkyMzA3NDcwMjcyCisJLmxvbmcJMTA2OTk5MDM1NgorCS5sb25nCTE3OTY0NzA5MDQKKwkubG9uZwkxMDE5Nzk2MTgxCisJLmxvbmcJMTI3MTgxNDkxMgorCS5sb25nCTEwNzAwNTM3NTUKKwkubG9uZwkxODk3NjE1NjUKKwkubG9uZwkxMDE2MTQ5MTE1CisJLmxvbmcJMzgwMDUzODE0NAorCS5sb25nCTEwNzAxMTY5NzQKKwkubG9uZwkyNTI0ODcxNTgyCisJLmxvbmcJMTAxODI2MzM1MworCS5sb25nCTM5MTYyMDM1NTIKKwkubG9uZwkxMDcwMTgwMDA4CisJLmxvbmcJMTI3ODQ4NjU4CisJLmxvbmcJMTAxNzY3MjY2NAorCS5sb25nCTQ1NzE5MjAzMgorCS5sb25nCTEwNzAyNDI4NTEKKwkubG9uZwk0MDIwNDAwOTM4CisJLmxvbmcJMTAxOTgyMzAxMAorCS5sb25nCTEzODUzMjQ3MDQKKwkubG9uZwkxMDcwMzA1NDk1CisJLmxvbmcJNTY0NTExMTc5CisJLmxvbmcJMTAxNjA3OTA5NAorCS5sb25nCTIzMjI4Njk4NTYKKwkubG9uZwkxMDcwMzY3OTM1CisJLmxvbmcJMjM0NzEwMzMxOQorCS5sb25nCTEwMTg5Mjc3NjAKKwkubG9uZwkzNzQzNDM4NjI0CisJLmxvbmcJMTA3MDQzMDE2NQorCS5sb25nCTg3Nzk3Mzg2MgorCS5sb25nCTEwMTk2MzgxNjIKKwkubG9uZwkyMzkyMjU1NTUyCisJLmxvbmcJMTA3MDQ5MjE4MAorCS5sb25nCTI0MzI3ODIyNjcKKwkubG9uZwkxMDE4ODcyNjI5CisJLmxvbmcJNDE4MDQ0MzMyOAorCS5sb25nCTEwNzA1NTM5NzMKKwkubG9uZwkzMTAyOTkwMDE1CisJLmxvbmcJMTAyMDA5MzEwMQorCS5sb25nCTI1NDc1NDA4MzIKKwkubG9uZwkxMDcwNjM2NDg1CisJLmxvbmcJMzg3NzczODI1MworCS5sb25nCTEwMTczMDA0MjQKKwkubG9uZwkyNzM1NDY4OTEyCisJLmxvbmcJMTA3MDY5NzQ2MQorCS5sb25nCTI0NDY0NzAyNTYKKwkubG9uZwkxMDE5MjM1Mzc4CisJLmxvbmcJNTQyNjMzNzkyCisJLmxvbmcJMTA3MDc1Nzk0MworCS5sb25nCTU4MzYwNjMyOAorCS5sb25nCTEwMTg2MjQxMzEKKwkubG9uZwk5MjMyNjU5ODQKKwkubG9uZwkxMDcwODE3OTExCisJLmxvbmcJMTc5MzkyNjcwOAorCS5sb25nCTEwMTk3MTQxNjEKKwkubG9uZwk5MTg3Mjg0NDgKKwkubG9uZwkxMDcwODc3MzQ4CisJLmxvbmcJMzcyNjQ2MzU4NgorCS5sb25nCTEwMTk0MzMyOTYKKwkubG9uZwkyNTcyMjc1MDA4CisJLmxvbmcJMTA3MDkzNjIzNworCS5sb25nCTE4NDUzNTQyMzgKKwkubG9uZwkxMDE5NDU5MjM4CisJLmxvbmcJNTA5NzQ2ODgKKwkubG9uZwkxMDcwOTk0NTY0CisJLmxvbmcJOTgzODA4MDY0CisJLmxvbmcJMTAxNjY4NTQxOAorCS5sb25nCTExMDU1MTgzMjAKKwkubG9uZwkxMDcxMDUyMzEzCisJLmxvbmcJMjM1NzQ5NjY5MgorCS5sb25nCTEwMTUxMzk4ODIKKwkubG9uZwkxMjY0ODI1MzI4CisJLmxvbmcJMTA3MTEwOTQ3MgorCS5sb25nCTIyNDQxMjkzNTQKKwkubG9uZwkxMDE5MDQ2MzQ0CisJLmxvbmcJOTYxMTU3OTIwCisJLmxvbmcJMTA3MTE2NjAyOQorCS5sb25nCTMxMjQxODUzMzkKKwkubG9uZwkxMDE4NTQxNzc2CisJLmxvbmcJMTE2MjcwMTU4NAorCS5sb25nCTEwNzEyMjE5NzMKKwkubG9uZwkxMjc5NzgwOTQ4CisJLmxvbmcJMTAxOTI2ODkxOAorCS5sb25nCTMyODQ5MzU2NjQKKwkubG9uZwkxMDcxMjc3Mjk0CisJLmxvbmcJMjY3MDAzMzQ3MgorCS5sb25nCTEwMTk4MzM3NDQKKwkubG9uZwk0OTc0NDE4ODgKKwkubG9uZwkxMDcxMzMxOTg1CisJLmxvbmcJMTAzMjczNzQxMAorCS5sb25nCTEwMTk3OTUyMTIKKwkubG9uZwkzMzc3MzgzOTA0CisJLmxvbmcJMTA3MTM4NjAzNgorCS5sb25nCTIzNTY4OTcxODIKKwkubG9uZwkxMDIwMjA1NTUzCisJLmxvbmcJMTEyNjk2MjAwMAorCS5sb25nCTEwNzE0Mzk0NDMKKwkubG9uZwkzNzIzNzI0NTg2CisJLmxvbmcJMTAxNTIxMjQxOAorCS5sb25nCTkwMjkxMDA4CisJLmxvbmcJMTA3MTQ5MjE5OQorCS5sb25nCTQxNzg2NzI0MzEKKwkubG9uZwkxMDIwMTg2OTcxCisJLmxvbmcJMTkwMDU5NTM2CisJLmxvbmcJMTA3MTU5NTc0MQorCS5sb25nCTE3NjM1ODk4MDcKKwkubG9uZwkxMDE5MTYyMTYzCisJLmxvbmcJMjQ5NzM5Mjg0MAorCS5sb25nCTEwNzE2NzA2NTQKKwkubG9uZwkzMDM2OTk3MDQxCisJLmxvbmcJMTAyMDIwNDMyNQorCS5sb25nCTI2MTY5NzE5NDQKKwkubG9uZwkxMDcxNzE5NzczCisJLmxvbmcJMzAwMTUxMDY5CisJLmxvbmcJMTAxNzA0MTk1NworCS5sb25nCTI4ODM1MTgxMjgKKwkubG9uZwkxMDcxNzY3NTYzCisJLmxvbmcJMjIwMzk4MTQxNAorCS5sb25nCTEwMTkxOTAxMDgKKwkubG9uZwkxNDk2MzU0MzUyCisJLmxvbmcJMTA3MTgxNDAzMAorCS5sb25nCTMzMjI4Nzk2NgorCS5sb25nCTEwMTY4NDY0MzUKKwkubG9uZwk0ODMyNzY3MjgKKwkubG9uZwkxMDcxODU5MTg0CisJLmxvbmcJNjUzODQ1MDI0CisJLmxvbmcJMTAxODgzMDkxNAorCS5sb25nCTMwOTc0MDEwNzIKKwkubG9uZwkxMDcxOTAzMDM5CisJLmxvbmcJMTUxNDc0NjQwOAorCS5sb25nCTEwMTkyNzg5NzIKKwkubG9uZwkyNzM3MjE3MjQ4CisJLmxvbmcJMTA3MTk0NTYxNQorCS5sb25nCTEzNTg4NDUwNjcKKwkubG9uZwkxMDE3MjY4Mjc1CisJLmxvbmcJMjA3MjU3NzU2MAorCS5sb25nCTEwNzE5ODY5MzMKKwkubG9uZwkzMDQxMDI0NzM1CisJLmxvbmcJMTAxOTkyOTY3MgorCS5sb25nCTIyNjY0MDU2NTYKKwkubG9uZwkxMDcyMDI3MDE3CisJLmxvbmcJMTI3MTI2MTEzMAorCS5sb25nCTEwMTI5MjUwNzAKKwkubG9uZwk5NTg2NTI1NDQKKwkubG9uZwkxMDcyMDY1ODk0CisJLmxvbmcJMjE1ODAxNzA1OAorCS5sb25nCTEwMTk5NTUzNzIKKwkubG9uZwkzMzEyOTkzODQwCisJLmxvbmcJMTA3MjEwMzU5MQorCS5sb25nCTc2NTgwOTE2OQorCS5sb25nCTEwMTkxMTQ0NDMKKwkubG9uZwkzMTc3MDAxMzA0CisJLmxvbmcJMTA3MjE0MDEzOQorCS5sb25nCTE0NDE4MDA4NAorCS5sb25nCTEwMTk4MjIxODYKKwkubG9uZwkzMDcxNjQyMTg0CisJLmxvbmcJMTA3MjE3NTU2OAorCS5sb25nCTQwMDQ2MDI0MjQKKwkubG9uZwkxMDE5NDIwNzQwCisJLmxvbmcJNDI4Mzk1MzY0OAorCS5sb25nCTEwNzIyMDk5MDkKKwkubG9uZwkxNTExOTUwNDMwCisJLmxvbmcJMTAyMDE3Njk2NgorCS5sb25nCTE0MTM3NTQxMzYKKwkubG9uZwkxMDcyMjQzMTk1CisJLmxvbmcJODU2OTcyMjk1CisJLmxvbmcJMTAxNTEyOTYzOAorCS5sb25nCTQwNzMyMDI5NDQKKwkubG9uZwkxMDcyMzA2NzI1CisJLmxvbmcJNDA2ODE5NDgwNAorCS5sb25nCTEwMTk3MTQ4NjAKKwkubG9uZwk5NDYxMTc3NjAKKwkubG9uZwkxMDcyMzY2NDE1CisJLmxvbmcJNjk0OTgwNzMzCisJLmxvbmcJMTAyMDE1MDEzNQorCS5sb25nCTM5ODA2MzIwMzIKKwkubG9uZwkxMDcyNDIyNTEyCisJLmxvbmcJMTMxMzI1MTI4MAorCS5sb25nCTEwMTk5NDg3MDkKKwkubG9uZwkxNDY4Mjk3MTEyCisJLmxvbmcJMTA3MjQ3NTI2MAorCS5sb25nCTMzMDExMTE0MworCS5sb25nCTEwMTk4MDkxOTgKKwkubG9uZwkzNDc4MDYzODE2CisJLmxvbmcJMTA3MjUyNDg4NworCS5sb25nCTI5MzAwNjcwNDQKKwkubG9uZwkxMDE3Nzg0MDgxCisJLmxvbmcJMTE1Mzk3OTg1NgorCS5sb25nCTEwNzI1NzE2MTMKKwkubG9uZwkyMjI1Nzg2MTAyCisJLmxvbmcJMTAxNzYzNDQ4MQorCS5sb25nCTIwODk4Mjg4MDgKKwkubG9uZwkxMDcyNjE1NjQxCisJLmxvbmcJNDc0NjIxMzY3CisJLmxvbmcJMTAxNzA0MzQxNAorCS5sb25nCTM1MzE3MzI2MzIKKwkubG9uZwkxMDcyNjU3MTYzCisJLmxvbmcJMjI3NjM5NjIyMAorCS5sb25nCTEwMTg3NTcyNDAKKwkubG9uZwk3NzUyMTQ2MTIKKwkubG9uZwkxMDcyNjk0ODAzCisJLmxvbmcJMzIwOTc0NDgxOAorCS5sb25nCTEwMTk5NjMwMTUKKwkubG9uZwk2NjIzMDcyODQKKwkubG9uZwkxMDcyNzEzMzE5CisJLmxvbmcJMTM4MTY5Njc2MworCS5sb25nCTEwMTk3NjM3ODEKKwkubG9uZwkxMTkyNzc2NjUyCisJLmxvbmcJMTA3MjczMDgzMAorCS5sb25nCTMwMTc5MzI5OTQKKwkubG9uZwkxMDE1MTc5NzY5CisJLmxvbmcJNzQ0MjAyMzk2CisJLmxvbmcJMTA3Mjc0NzQwNworCS5sb25nCTIwNzM4NTQwMzQKKwkubG9uZwkxMDE5NTEyMjkyCisJLmxvbmcJODMzNzkwOAorCS5sb25nCTEwNzI3NjMxMTUKKwkubG9uZwkxNjAwNDQ0OAorCS5sb25nCTEwMTk1OTk1MTQKKwkubG9uZwkzNTg5ODY4NzY4CisJLmxvbmcJMTA3Mjc3ODAxMworCS5sb25nCTEzNzQzNjk4MDQKKwkubG9uZwkxMDE4MDE5MjM3CisJLmxvbmcJMTIxNjQ3MzIwCisJLmxvbmcJMTA3Mjc5MjE1OQorCS5sb25nCTEyODQ4MTYzNAorCS5sb25nCTEwMTgxMTU0MzgKKwkubG9uZwkyNDY0OTIzMjA0CisJLmxvbmcJMTA3MjgwNTYwMQorCS5sb25nCTE3ODczMzEyMTQKKwkubG9uZwkxMDE2Nzk4MDIyCisJLmxvbmcJNDA5MzMwNDM3MgorCS5sb25nCTEwNzI4MzA1NjIKKwkubG9uZwkzMzA2ODY4OTY5CisJLmxvbmcJMTAxOTM4NDA3OAorCS5sb25nCTE0MzY4OTE2ODQKKwkubG9uZwkxMDcyODUzMjMxCisJLmxvbmcJNjc2MzQ3MjY2CisJLmxvbmcJMTAxNzMwMjE4MworCS5sb25nCTExMDQ1NzE4NDAKKwkubG9uZwkxMDcyODczODkwCisJLmxvbmcJMjg3MDQwMDI4NQorCS5sb25nCTEwMTk5MzgxNDkKKwkubG9uZwkyMDM3MDA5ODMyCisJLmxvbmcJMTA3Mjg5Mjc4MQorCS5sb25nCTI5NTY3MDIxMDUKKwkubG9uZwkxMDE2NDcyOTA4CisJLmxvbmcJMzEzOTAzNzk2MAorCS5sb25nCTEwNzI5MTAxMTEKKwkubG9uZwk5MTYwNTcxNDcKKwkubG9uZwkxMDE4MzY0MzM1CisJLmxvbmcJMTgyNjY5ODA2NAorCS5sb25nCTEwNzI5MjYwNTgKKwkubG9uZwkyMTcxOTYxMDk4CisJLmxvbmcJMTAxOTY2OTgxNgorCS5sb25nCTEzNTM5NDEwNjAKKwkubG9uZwkxMDcyOTQwNzc0CisJLmxvbmcJMTcyMjkyODc4MgorCS5sb25nCTEwMTk5MjYyMTUKKwkubG9uZwkxODAzMTkxNjQ0CisJLmxvbmcJMTA3Mjk1NDM5MQorCS5sb25nCTE1NDc4Nzg2MzkKKwkubG9uZwkxMDIwMjU5MjYyCisJLmxvbmcJMTA5MjU5MTI5NgorCS5sb25nCTEwNzI5NjcwMjQKKwkubG9uZwkzMDcwMTA3OTIzCisJLmxvbmcJMTAxODMyMDQwMQorCS5sb25nCTIyMDUzNzI4MzIKKwkubG9uZwkxMDcyOTc4NzcyCisJLmxvbmcJNzg3MzI4MTk2CisJLmxvbmcJMTAxNDYyMTM1MQorCS5sb25nCTEyOTE1NzcxMDAKKwkubG9uZwkxMDcyOTg5NzIzCisJLmxvbmcJMjk2NDc1NzMwMQorCS5sb25nCTEwMjAyNDI1MjgKKwkubG9uZwk0MjM0NTEyODA0CisJLmxvbmcJMTA3Mjk5OTk1MgorCS5sb25nCTMxMzYwMzAwMzgKKwkubG9uZwkxMDE3NTIyMTQ0CisJLmxvbmcJMzI0ODA2OTEzMgorCS5sb25nCTEwNzMwMDk1MjgKKwkubG9uZwkxNTA2MTkyMzU1CisJLmxvbmcJMTAxODA1MDQ3MgorCS5sb25nCTM5MzI2Mjg1MDAKKwkubG9uZwkxMDczMDE4NTA5CisJLmxvbmcJMTA0NTgyMzU1NAorCS5sb25nCTEwMTk5NDY2NTUKKwkubG9uZwk0MTk1Njk3ODQ4CisJLmxvbmcJMTA3MzAyNjk0OAorCS5sb25nCTIzMzQ0MzMyMgorCS5sb25nCTEwMTg5MTc0NDcKKwkubG9uZwkyNTAxODExNDUyCisJLmxvbmcJMTA3MzAzNDg5MgorCS5sb25nCTkwMTQyNzk3NgorCS5sb25nCTEwMTczMzM4NTIKKwkubG9uZwk4NjYzNzk0MjgKKwkubG9uZwkxMDczMDQ5NDU1CisJLmxvbmcJMjQzNzQ0Mzc0MgorCS5sb25nCTEwMTk2Nzg3OTIKKwkubG9uZwkxMzc2ODY1ODg4CisJLmxvbmcJMTA3MzA2MjQ4MAorCS5sb25nCTMzNjU3OTAyMzIKKwkubG9uZwkxMDE0NTQ3MTUyCisJLmxvbmcJMzI5MDA5NDI2OAorCS5sb25nCTEwNzMwNzQxOTUKKwkubG9uZwkzODk4OTQ3NDE1CisJLmxvbmcJMTAxODY4MzU2NgorCS5sb25nCTM1NDc2NDg4NAorCS5sb25nCTEwNzMwODQ3ODcKKwkubG9uZwkzODU0MzIyNDA0CisJLmxvbmcJMTAxOTY2MjA1OAorCS5sb25nCTMzMzI5NzU0OTYKKwkubG9uZwkxMDczMDk0NDA2CisJLmxvbmcJMzE3MTcwMTY1NQorCS5sb25nCTEwMTc4MzA5MjIKKwkubG9uZwkxMTQxNDYwMDg4CisJLmxvbmcJMTA3MzEwMzE4MQorCS5sb25nCTM5NDYwODI3MDEKKwkubG9uZwkxMDIwMDMyMDE5CisJLmxvbmcJNzQ1NzYxMjg0CisJLmxvbmcJMTA3MzExMTIxNgorCS5sb25nCTEzNDcyMTA1OTEKKwkubG9uZwkxMDE5MTA2MTIxCisJLmxvbmcJMTY3MzMwNDUwOAorCS5sb25nCTEwNzMxMTg2MDAKKwkubG9uZwkxNzYwNjA2NjQyCisJLmxvbmcJMTAxNzMyNDU3NworCS5sb25nCTk4MzM4ODI0MAorCS5sb25nCTEwNzMxMjU0MDkKKwkubG9uZwkzNzQwNjUxMjA0CisJLmxvbmcJMTAxOTUxNDEwNAorCS5sb25nCTM4OTU1MDkxMDAKKwkubG9uZwkxMDczMTMxNzA2CisJLmxvbmcJMjQwOTYyOTk4MworCS5sb25nCTEwMjAwNjkzMjIKKwkubG9uZwkyMTI4NTIzNjY4CisJLmxvbmcJMTA3MzEzNzU0OAorCS5sb25nCTMwNDU2MDUzNjgKKwkubG9uZwkxMDE4NTc5MTc0CisJLmxvbmcJMjA3NTQ4NTY5MgorCS5sb25nCTEwNzMxNDI5ODEKKwkubG9uZwkzNzIwNTcxNzg5CisJLmxvbmcJMTAxNzU1NzQzNgorCS5sb25nCTEyMTg1NTk3NgorCS5sb25nCTEwNzMxNDgwNDcKKwkubG9uZwkyMzkxNzQ0NzY3CisJLmxvbmcJMTAyMDE2MDY0NQorCS5sb25nCTQxODE3MzM3ODAKKwkubG9uZwkxMDczMTUyNzgwCisJLmxvbmcJOTk1MDI4ODE2CisJLmxvbmcJMTAxOTY4MTI5NQorCS5sb25nCTI4ODc4MTMyODAKKwkubG9uZwkxMDczMTU3MjE0CisJLmxvbmcJMjE4NzMzMjQ3CisJLmxvbmcJMTAyMDAwMzUwOQorCS5sb25nCTI4NjIxODA4OTYKKwkubG9uZwkxMDczMTYxMzc1CisJLmxvbmcJMjA0MzgwNjQ5MAorCS5sb25nCTEwMTg2MDIyODgKKwkubG9uZwkzOTA5Mzc1MTg0CisJLmxvbmcJMTA3MzE2ODk3MworCS5sb25nCTE1NTk5MDM0MTIKKwkubG9uZwkxMDIwMTAzNDQ0CisJLmxvbmcJMzUzMzk2NjI5MgorCS5sb25nCTEwNzMxNzU3MzgKKwkubG9uZwk3MzQ4ODQxNDkKKwkubG9uZwkxMDE4NDYyOTYyCisJLmxvbmcJMzgxNTA0NDYwOAorCS5sb25nCTEwNzMxODE3OTkKKwkubG9uZwkzNjMwNTIzNDI4CisJLmxvbmcJMTAxNzI1MDA5MworCS5sb25nCTczOTYzOTM3NgorCS5sb25nCTEwNzMxODcyNjEKKwkubG9uZwk0MTY3NDc2NjYxCisJLmxvbmcJMTAyMDAwODI3NworCS5sb25nCTEwNjgzMDk2NDgKKwkubG9uZwkxMDczMTkyMjA3CisJLmxvbmcJMjExMDA2MTQzNworCS5sb25nCTEwMTkyOTU4NTgKKwkubG9uZwkyMzUwNTY2MzUyCisJLmxvbmcJMTA3MzE5NjcwNworCS5sb25nCTU4MjU5NjUxNgorCS5sb25nCTEwMTg1Njg4MjEKKwkubG9uZwkyNTI5NTIwMDI0CisJLmxvbmcJMTA3MzIwMDgxOQorCS5sb25nCTc0NTU1Mjc4NworCS5sb25nCTEwMTkwNTMxNjUKKwkubG9uZwkxODQxNjY3NTA4CisJLmxvbmcJMTA3MzIwNDU5MQorCS5sb25nCTM5ODI1Njg3MDAKKwkubG9uZwkxMDE2NTAzMzI3CisJLmxvbmcJMjI0MjI2MTA4MAorCS5sb25nCTEwNzMyMDgwNjMKKwkubG9uZwkzNDMzNTgyMjU4CisJLmxvbmcJMTAxNjE5Njc2MworCS5sb25nCTcxNTEzNDMyOAorCS5sb25nCTEwNzMyMTEyNzAKKwkubG9uZwkzNTU5MDEzNTgKKwkubG9uZwkxMDIwMDg3OTE2CisJLmxvbmcJMjcwMDczNTg3NgorCS5sb25nCTEwNzMyMTQyNDAKKwkubG9uZwkzNjQwOTU3NzM2CisJLmxvbmcJMTAxOTc4MDIwNQorCS5sb25nCTE0MTYwNzU4MAorCS5sb25nCTEwNzMyMTcwMDAKKwkubG9uZwkyNDg4MjQ1MDUxCisJLmxvbmcJMTAyMDI2MjM5NQorCS5sb25nCTI4NzkzNDQwNAorCS5sb25nCTEwNzMyMTk1NzAKKwkubG9uZwkyMzkyNjkxMDg1CisJLmxvbmcJMTAxOTg4MzI5MgorCS5sb25nCTIzNjMzNzM5ODgKKwkubG9uZwkxMDczMjIxOTY5CisJLmxvbmcJNDE5NDU2MTczNworCS5sb25nCTEwMTkyMzc0NDcKKwkubG9uZwkzODI5MzQwNDI0CisJLmxvbmcJMTA3MzIyNDIxNAorCS5sb25nCTQyOTQ1NTUyNgorCS5sb25nCTEwMTk0OTA5NzUKKwkubG9uZwkxOTg4ODA1OTI4CisJLmxvbmcJMTA3MzIyNjMyMAorCS5sb25nCTMwMjk4NDg3MDYKKwkubG9uZwkxMDE4MTA0ODg5CisJLmxvbmcJMTY0NzU3MjMyMAorCS5sb25nCTEwNzMyMzAxNjEKKwkubG9uZwkxMDI4OTkzOAorCS5sb25nCTEwMTczOTQ4ODAKKwkubG9uZwkzOTg4MDAwNjI0CisJLmxvbmcJMTA3MzIzMzU3NgorCS5sb25nCTE5NTc1NTkxNjkKKwkubG9uZwkxMDE5NDM0ODE2CisJLmxvbmcJNDI2Mzg0Mzk0NAorCS5sb25nCTEwNzMyMzY2MzMKKwkubG9uZwkyMDQ3MTAyNjQKKwkubG9uZwkxMDE5OTA4NzYxCisJLmxvbmcJNjYzMTk3NzI0CisJLmxvbmcJMTA3MzIzOTM4NgorCS5sb25nCTE5MjE3NTc1NzgKKwkubG9uZwkxMDE5Nzc4OTQ4CisJLmxvbmcJMzU2MDgwMDcwMAorCS5sb25nCTEwNzMyNDE4NzYKKwkubG9uZwkzOTk0MzQ4ODk2CisJLmxvbmcJMTAxOTIzMDE5MgorCS5sb25nCTI0NDE3ODU2NTYKKwkubG9uZwkxMDczMjQ0MTQxCisJLmxvbmcJODcxNDY4NjExCisJLmxvbmcJMTAxNDgwMDUwNQorCS5sb25nCTMyNzc0MDAyNzIKKwkubG9uZwkxMDczMjQ2MjA5CisJLmxvbmcJNDA5MjIxODEzOQorCS5sb25nCTEwMjAwNDA4NDIKKwkubG9uZwkzOTUxOTkwMTIwCisJLmxvbmcJMTA3MzI0ODEwNQorCS5sb25nCTQyNzY1NDY0NzgKKwkubG9uZwkxMDE5NzYzNjc3CisJLmxvbmcJMjczNzMzODU0MAorCS5sb25nCTEwNzMyNDk4NTAKKwkubG9uZwkyNTI3NzYwMTIKKwkubG9uZwkxMDE4Nzk0OTUxCisJLmxvbmcJMTUxMTM2MTMxNgorCS5sb25nCTEwNzMyNTE0NjEKKwkubG9uZwkzMTE5NjUzOTk5CisJLmxvbmcJMTAxODUxNDgwMworCS5sb25nCTM5NjkxNjI1MTYKKwkubG9uZwkxMDczMjUyOTUyCisJLmxvbmcJMTAzNzA2OTAxNgorCS5sb25nCTEwMTY3OTI5MDAKKwkubG9uZwk0MTM5ODUyNDAKKwkubG9uZwkxMDczMjU0MzM4CisJLmxvbmcJNDExMDE3MTQzMgorCS5sb25nCTEwMjAwMDEzNDUKKwkubG9uZwkzNjgxMjgzNTc2CisJLmxvbmcJMTA3MzI1NTYyNworCS5sb25nCTE0NjMwOTI4MTgKKwkubG9uZwkxMDIwMjYwMzU0CisJLmxvbmcJMzE0NjQ1NTQ4OAorCS5sb25nCTEwNzMyNTY4MzEKKwkubG9uZwkxMDMxMjA5MTIzCisJLmxvbmcJMTAxNjU1NDc5OQorCS5sb25nCTk1MjE0NTEyCisJLmxvbmcJMTA3MzI1Nzk1OAorCS5sb25nCTEzNzM4MDg2MzIKKwkubG9uZwkxMDE5NDkzMDMxCisJLmxvbmcJNDI1MDI0MDgyOAorCS5sb25nCTEwNzMyNTkwMTMKKwkubG9uZwkzODkxMDQ3ODgyCisJLmxvbmcJMTAyMDEwODczMAorCS5sb25nCTE0MTM3NTQxMzYKKwkubG9uZwkxMDczMjkxNzcxCisJLmxvbmcJODU2OTcyMjk1CisJLmxvbmcJMTAxNjE3ODIxNAorCS50eXBlCUFUQU5fVEJMLEBvYmplY3QKKwkuc2l6ZQlBVEFOX1RCTCwyNjI0CisJLmFsaWduIDE2CitQX1RCTDI6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE3MjI2NzkwCisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzQzNDAzNDcKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkzMTY0NzEwNDM4CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTMyMjE4MjM5OTUKKwkudHlwZQlQX1RCTDIsQG9iamVjdAorCS5zaXplCVBfVEJMMiw2NAorCS5hbGlnbiAxNgorU0VMRUNUX0I6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCVNFTEVDVF9CLEBvYmplY3QKKwkuc2l6ZQlTRUxFQ1RfQiw2NAorCS5hbGlnbiAxNgorU0dOTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJU0dOTUFTSyxAb2JqZWN0CisJLnNpemUJU0dOTUFTSywxNgorCS5hbGlnbiAxNgorcGlfdGFibGU6CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzQzNDAzNDcKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE3MjI2NzkwCisJLnR5cGUJcGlfdGFibGUsQG9iamVjdAorCS5zaXplCXBpX3RhYmxlLDE2CisJLmFsaWduIDE2CitwaTJfdGFibGU6CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzMyOTE3NzEKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE2MTc4MjE0CisJLnR5cGUJcGkyX3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlwaTJfdGFibGUsMTYKKwkuYWxpZ24gMTYKK3BpNF90YWJsZToKKwkubG9uZwkxNDEzNzU0MTM2CisJLmxvbmcJMTA3MjI0MzE5NQorCS5sb25nCTg1Njk3MjI5NQorCS5sb25nCTEwMTUxMjk2MzgKKwkudHlwZQlwaTRfdGFibGUsQG9iamVjdAorCS5zaXplCXBpNF90YWJsZSwxNgorCS5hbGlnbiA0CitQT1c1NToKKwkubG9uZwkwCisJLmxvbmcJMTEzMDM2NDkyOAorCS50eXBlCVBPVzU1LEBvYmplY3QKKwkuc2l6ZQlQT1c1NSw4CisJLmFsaWduIDQKK0lOVkVYUE1BU0s6CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDg1MzIyMjMKKwkudHlwZQlJTlZFWFBNQVNLLEBvYmplY3QKKwkuc2l6ZQlJTlZFWFBNQVNLLDgKKwkuYWxpZ24gNAorRVhQTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS50eXBlCUVYUE1BU0ssQG9iamVjdAorCS5zaXplCUVYUE1BU0ssOAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorLy8gLS0gQmVnaW4gRFdBUkYyIFNFR01FTlQgLmVoX2ZyYW1lCisJLnNlY3Rpb24gLmVoX2ZyYW1lLCJhIixAcHJvZ2JpdHMKKy5laF9mcmFtZV9zZWc6CisJLmFsaWduIDEKKwkuNGJ5dGUgMHgwMDAwMDAxNAorCS44Ynl0ZSAweDAwNTI3YTAxMDAwMDAwMDAKKwkuOGJ5dGUgMHgwODA3MGMxYjAxMTA3ODAxCisJLjRieXRlIDB4MDAwMDAxOTAKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2F0YW4yLjEtLgorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hdGFuMi41LS4uX19fdGFnX3ZhbHVlX2F0YW4yLjEKKwkuMmJ5dGUgMHgwNDAwCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2F0YW4yLjMtLi5fX190YWdfdmFsdWVfYXRhbjIuMQorCS4yYnl0ZSAweDIwMGUKKwkuYnl0ZSAweDA0CisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2F0YW4yLjQtLi5fX190YWdfdmFsdWVfYXRhbjIuMworCS4yYnl0ZSAweDA4MGUKKwkuYnl0ZSAweDAwCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvZV9jb3NoLlMgYi9saWJtL3g4Nl82NC9lX2Nvc2guUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2RiY2E2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvZV9jb3NoLlMKQEAgLTAsMCArMSwxMzcyIEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gIGNvc2goeCk9KGV4cCh4KStleHAoLXgpKS8yCisvLworLy8gIExldCB8eHw9eEgreEwgKHVwcGVyIDI2IGJpdHMsIGxvd2VyIDI3IGJpdHMpCisvLyAgbG9nMihlKSByb3VuZGVkIHRvIDI2IGJpdHMgKGhpZ2ggcGFydCkgcGx1cyBhIGRvdWJsZSBwcmVjaXNpb24gbG93IHBhcnQgaXMKKy8vICAgICAgICAgIEwyRUgrTDJFTCAodXBwZXIgMjYsIGxvd2VyIDUzIGJpdHMpCisvLworLy8gIExldCB4SCpMMkVIPWsrZityYCwgd2hlcmUgKGsrZikqMl43PWludCh4SCpMMkVIKjJeNyksCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGY9MC5iMSBiMiAuLi4gYjcsIGsgaW50ZWdlcgorLy8gIDJeZiBpcyBhcHByb3hpbWF0ZWQgYXMgVHBbZl0rRHBbZl0sIGFuZCAyXnstZn0gYXMgVG5bZl0rRG5bZl0KKy8vICBUcCBzdG9yZXMgaGlnaGVyIDUzIGJpdHMsIERwIHN0b3JlcyAoMl5mLVRwW2ZdKSByb3VuZGVkIHRvIGRvdWJsZSBwcmVjaXNpb24KKy8vCisvLyAgZV58eHw9Ml57aytmfSoyXnIsIHI9cmAreEwqTDJFSCt8eHwqTDJFTCwgfHJ8PDJeey04fSsyXnstMTR9LAorLy8gICAgICAgICAgICAgICAgICAgICAgIGZvciB8eHwgaW4gWzEvOCwzKjJeOCkKKy8vICBlXnstfHh8fT0yXnstay1mfSoyXnstcn0KKy8vCisvLyAgZV58eHwgaXMgYXBwcm94aW1hdGVkIGFzIDJeaypUcCsyXmsqVHAqYzEqcigxK2MyKnIrLi4rYzUqcl40KSsyXmsqRHA9CisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgID0yXmsqVHArMl5rKlRwKlAxNSsyXmsqRHAKKy8vICBlXnstfHh8fSBhcHByb3hpbWF0ZWQgYXMgMl57LWt9KlRuLTJeey1rfSpUbipjMSpyKDEtYzIqcisuLitjNSpyXjQpCisvLworLy8gIEZvciB8eHwgaW4gWzEvOCwgMyoyXjcpLCBjb3NoKHgpIGlzIGZvcm1lZCBhcworLy8gICBSTigyXmsqVHArMl57LWt9KlRuKSsyXmsqVHAqUDE1KzJeey1rfSpUbipQYDE1KzJeey1rfSpUbkwrMl57LWt9KkRuKzJeaypEcAorLy8KKy8vICBGb3IgfHh8IGluIFszKjJeNywgMyoyXjgpLCAoZV58eHwpLzIgaXMgcmV0dXJuZWQsIGFuZAorLy8gIHRoZSByZXN1bHQgaXMgY2hlY2tlZCBmb3Igb3ZlcmZsb3cuCisvLworLy8gIEZvciB8eHw8MS84LCBhIFRheWxvciBwb2x5bm9taWFsIGV4cGFuc2lvbiBpcyB1c2VkIChkZWdyZWUgMTApCisvLyAgKGVycm9yIGJvdW5kIGZvciBwb2x5bm9taWFsIGV4cGFuc2lvbiBpcyBiZWxvdyAwLjUwMSB1bHApCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBjb3NoKE5hTikgPSBxdWlldCBOYU4sIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGNvc2goSU5GKSA9IHRoYXQgSU5GCisvLyAgY29zaCgwKT0xCisvLyAgZm9yIGZpbml0ZSBhcmd1bWVudCwgb25seSBjb3NoKDApPTEgaXMgZXhhY3QKKy8vICBGb3IgSUVFRSBkb3VibGUKKy8vICBjb3NoKHgpIG92ZXJmbG93cworLy8gIGZvciB4ID4gNzEwLjQ3NTg2MDA3Mzk0Mzg2MzQyNjM5MzM2MzYyNDgxMTE3MjQ4NTM1MTU2MjUwID0gTUFYTE9HK2xvZygyKQorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKworIyAtLSBCZWdpbiAgY29zaAorRU5UUlkoY29zaCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9jb3NoLjE6CisgICAgICAgIHB1c2hxICAgICAlcnNpCisuLl9fX3RhZ192YWx1ZV9jb3NoLjM6CisuLkIxLjI6CisgICAgICAgIG1vdnNkICAgICBIQUxGTUFTSyglcmlwKSwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW00LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgTDJFKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgOCtMMkUoJXJpcCksICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgU2hpZnRlciglcmlwKSwgJXhtbTYKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRwZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIGFuZG5wZCAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTQsICV4bW01CisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlY3gKKyAgICAgICAgc3VibCAgICAgICQxNjMyMCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDIwMCwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgY3Z0c2Qyc2kgICV4bW0zLCAlZWF4CisgICAgICAgIG1vdnEgICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMworICAgICAgICBtb3ZhcGQgICAgY3YoJXJpcCksICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDE2K2N2KCVyaXApLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG1vdmwgICAgICAkMzI3MDQsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgMzIrY3YoJXJpcCksICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQxMjcsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQzLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNjU1MjAsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGNtcGwgICAgICAkMTg0LCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNSwgJXhtbTUKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMCwgJXhtbTAKKyAgICAgICAgcHN1YncgICAgICV4bW0wLCAleG1tNQorICAgICAgICBsZWEgICAgICAgVDJmKCVyaXApLCAlcjgKKyAgICAgICAgbXVscGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTAKKyAgICAgICAgbGVhICAgICAgIFQyX25lZ19mKCVyaXApLCAlcjgKKyAgICAgICAgbXVscGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA0OCtjdiglcmlwKSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHBkICAgICA2NCtjdiglcmlwKSwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzaHVmcGQgICAgJDAsICV4bW01LCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW02LCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorICAgICAgICBhZGRsICAgICAgJDE2MzIwLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMTYzMjAsICVlY3gKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIGNtcGwgICAgICAkMTU5NTIsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbW92cSAgICAgIE9ORU1BU0soJXJpcCksICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBzdWJsICAgICAgJDE2MzUyLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQxLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNjU1MjAsICVlYXgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBsZWEgICAgICAgVDJmKCVyaXApLCAlcjgKKyAgICAgICAgbXVscGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdnNkICAgICA0OCtjdiglcmlwKSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgIDY0K2N2KCVyaXApLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRsICAgICAgJDE2MzY4LCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVjeCwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgbW92YXBkICAgIHB2KCVyaXApLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIG1vdmFwZCAgICAxNitwdiglcmlwKSwgJXhtbTIKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIE9ORU1BU0soJXJpcCksICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbW92bCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTEsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDMyNzM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzUuMC4yOgorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzQuMC4yOgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICglcnNwKQorLi5CMS4zOgorICAgICAgICBtb3ZxICAgICAgKCVyc3ApLCAleG1tMAorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisuLkIxLjU6CisgICAgICAgIHBvcHEgICAgICAlcmN4CisuLl9fX3RhZ192YWx1ZV9jb3NoLjQ6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2Nvc2guNToKK0VORChjb3NoKQorIyAtLSBFbmQgIGNvc2gKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK0wyRToKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA4MDQ5NzQ3OQorCS5sb25nCTQxNjY5MDE1NzIKKwkubG9uZwkxMDUzMDc3MDAzCisJLnR5cGUJTDJFLEBvYmplY3QKKwkuc2l6ZQlMMkUsMTYKKwkuYWxpZ24gMTYKK1NoaWZ0ZXI6CisJLmxvbmcJMAorCS5sb25nCTExMjc3NDM0ODgKKwkubG9uZwkwCisJLmxvbmcJMzI3NTIyNzEzNgorCS50eXBlCVNoaWZ0ZXIsQG9iamVjdAorCS5zaXplCVNoaWZ0ZXIsMTYKKwkuYWxpZ24gMTYKK2N2OgorCS5sb25nCTM2MDc0MDQ3MzYKKwkubG9uZwkxMDQ0MTQ2OTUyCisJLmxvbmcJMzYwNzQwNDczNgorCS5sb25nCTMxOTE2MzA2MDAKKwkubG9uZwk0Mjc3ODExNjk1CisJLmxvbmcJMTA2MzY2MTEyMgorCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkzMjExMTQ0NzcwCisJLmxvbmcJMjE0MDE3NTc1NQorCS5sb25nCTEwMzM4NjQyNjEKKwkubG9uZwkyMTQwMTc1NzU1CisJLmxvbmcJMTAzMzg2NDI2MQorCS5sb25nCTQyODk0OTU5ODgKKwkubG9uZwkxMDU0MTEzNzQ3CisJLmxvbmcJNDI4OTQ5NTk4OAorCS5sb25nCTEwNTQxMTM3NDcKKwkubG9uZwk0Mjc3ODExNjk1CisJLmxvbmcJMTA2NDcwOTY5OAorCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkzMjEyMTkzMzQ2CisJLnR5cGUJY3YsQG9iamVjdAorCS5zaXplCWN2LDgwCisJLmFsaWduIDE2CitUMmY6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI4NTE4MTIxNDkKKwkubG9uZwkxMDcyNjk4OTQxCisJLmxvbmcJMjU5NTgwMjU1MQorCS5sb25nCTEwMTY4MTU5MTMKKwkubG9uZwkxMDQ4MDE5MDQxCisJLmxvbmcJMTA3MjcwNDY2NgorCS5sb25nCTEzOTg0NzQ4NDUKKwkubG9uZwkzMTYxNTU5MTcxCisJLmxvbmcJMzg5OTU1NTcxNworCS5sb25nCTEwNzI3MTA0MjEKKwkubG9uZwk0MjcyODA3NTAKKwkubG9uZwkzMTYzNTk1NTQ4CisJLmxvbmcJMzU0MTQwMjk5NgorCS5sb25nCTEwNzI3MTYyMDgKKwkubG9uZwkyNzU5MTc3MzE3CisJLmxvbmcJMTAxNTkwMzIwMgorCS5sb25nCTcwMjQxMjUxMAorCS5sb25nCTEwNzI3MjIwMjcKKwkubG9uZwkzODAzMjY2MDg3CisJLmxvbmcJMzE2MzMyODk5MQorCS5sb25nCTQxMDM2MDc3NgorCS5sb25nCTEwNzI3Mjc4NzcKKwkubG9uZwkxMjY5OTkwNjU1CisJLmxvbmcJMTAxMzAyNDQ0NgorCS5sb25nCTM0MDIwMzYwOTkKKwkubG9uZwkxMDcyNzMzNzU4CisJLmxvbmcJNDA1ODg5MzM0CisJLmxvbmcJMTAxNjE1NDIzMgorCS5sb25nCTE4MjgyOTI4NzkKKwkubG9uZwkxMDcyNzM5NjcyCisJLmxvbmcJMTI1NTk1Njc0NworCS5sb25nCTEwMTY2MzY5NzQKKwkubG9uZwk3Mjg5MDk4MTUKKwkubG9uZwkxMDcyNzQ1NjE4CisJLmxvbmcJMzgzOTMwMjI1CisJLmxvbmcJMTAxNjA3ODA0NAorCS5sb25nCTg1Mjc0MjU2MgorCS5sb25nCTEwNzI3NTE1OTYKKwkubG9uZwk2NjcyNTM1ODYKKwkubG9uZwkxMDEwODQyMTM1CisJLmxvbmcJMjk1MjcxMjk4NworCS5sb25nCTEwNzI3NTc2MDYKKwkubG9uZwkzMjkzNDk0NjUxCisJLmxvbmcJMzE2MTE2ODg3NworCS5sb25nCTM0OTA4NjM5NTMKKwkubG9uZwkxMDcyNzYzNjQ5CisJLmxvbmcJOTYwNzk3NDk4CisJLmxvbmcJMzE2Mzk5NzQ1NgorCS5sb25nCTMyMjgzMTYxMDgKKwkubG9uZwkxMDcyNzY5NzI1CisJLmxvbmcJMzAxMDI0MTk5MQorCS5sb25nCTMxNTk0NzEzODAKKwkubG9uZwkyOTMwMzIyOTEyCisJLmxvbmcJMTA3Mjc3NTgzNAorCS5sb25nCTI1OTk0OTk0MjIKKwkubG9uZwkzMTYzNzYyNjIzCisJLmxvbmcJMzM2NjI5MzA3MworCS5sb25nCTEwNzI3ODE5NzYKKwkubG9uZwkzMTE5NDI2MzE0CisJLmxvbmcJMTAxNTE2OTEzMAorCS5sb25nCTEwMTQ4NDU4MTkKKwkubG9uZwkxMDcyNzg4MTUyCisJLmxvbmcJMzExNzkxMDY0NgorCS5sb25nCTMxNjI2MDc2ODEKKwkubG9uZwk5NDg3MzU0NjYKKwkubG9uZwkxMDcyNzk0MzYxCisJLmxvbmcJMzUxNjMzODAyOAorCS5sb25nCTMxNjM2MjM0NTkKKwkubG9uZwkzOTQ5OTcyMzQxCisJLmxvbmcJMTA3MjgwMDYwMworCS5sb25nCTIwNjg0MDg1NDgKKwkubG9uZwkxMDE1OTYyNDQ0CisJLmxvbmcJMjIxNDg3ODQyMAorCS5sb25nCTEwNzI4MDY4ODAKKwkubG9uZwk4OTIyNzAwODcKKwkubG9uZwkzMTY0MTY0OTk4CisJLmxvbmcJODI4OTQ2ODU4CisJLmxvbmcJMTA3MjgxMzE5MQorCS5sb25nCTEwNjQyNDkyCisJLmxvbmcJMTAxNjk4ODAxNAorCS5sb25nCTU4Njk5NTk5NworCS5sb25nCTEwNzI4MTk1MzYKKwkubG9uZwk0MTY2MjM0OAorCS5sb25nCTMxNjM2NzY1NjgKKwkubG9uZwkyMjg4MTU5OTU4CisJLmxvbmcJMTA3MjgyNTkxNQorCS5sb25nCTIxNjkxNDQ0NjkKKwkubG9uZwkxMDE1OTI0NTk3CisJLmxvbmcJMjQ0MDk0NDc5MAorCS5sb25nCTEwNzI4MzIzMjkKKwkubG9uZwkyNDkyNzY5Nzc0CisJLmxvbmcJMTAxNTE5NjAzMAorCS5sb25nCTE4NTMxODY2MTYKKwkubG9uZwkxMDcyODM4Nzc4CisJLmxvbmcJMzA2NjQ5NjM3MQorCS5sb25nCTEwMTY3MDUxNTAKKwkubG9uZwkxMzM3MTA4MDMxCisJLmxvbmcJMTA3Mjg0NTI2MgorCS5sb25nCTMyMDM3MjQ0NTIKKwkubG9uZwkxMDE1NzI2NDIxCisJLmxvbmcJMTcwOTM0MTkxNworCS5sb25nCTEwNzI4NTE3ODEKKwkubG9uZwkyNTcxMTY4MjE3CisJLmxvbmcJMTAxNTIwMTA3NQorCS5sb25nCTM3OTA5NTUzOTMKKwkubG9uZwkxMDcyODU4MzM1CisJLmxvbmcJMjM1Mjk0MjQ2MgorCS5sb25nCTMxNjQyMjg2NjYKKwkubG9uZwk0MTEyNTA2NTkzCisJLmxvbmcJMTA3Mjg2NDkyNQorCS5sb25nCTI5NDczNTUyMjEKKwkubG9uZwkxMDE1NDE5NjI0CisJLmxvbmcJMzUwNDAwMzQ3MgorCS5sb25nCTEwNzI4NzE1NTEKKwkubG9uZwkzNTk0MDAxMDYwCisJLmxvbmcJMzE1ODM3OTIyOAorCS5sb25nCTI3OTk5NjA4NDMKKwkubG9uZwkxMDcyODc4MjEzCisJLmxvbmcJMTQyMzY1NTM4MQorCS5sb25nCTEwMTYwNzA3MjcKKwkubG9uZwkyODM5NDI0ODU0CisJLmxvbmcJMTA3Mjg4NDkxMQorCS5sb25nCTExNzE1OTYxNjMKKwkubG9uZwkxMDE0MDkwMjU1CisJLmxvbmcJMTcxMDMwMjkzCisJLmxvbmcJMTA3Mjg5MTY0NgorCS5sb25nCTM1MjY0NjAxMzIKKwkubG9uZwkxMDE1NDc3MzU0CisJLmxvbmcJNDIzMjg5NDUxMworCS5sb25nCTEwNzI4OTg0MTYKKwkubG9uZwkyMzgzOTM4Njg0CisJLmxvbmcJMTAxNTcxNzA5NQorCS5sb25nCTI5OTI5MDM5MzUKKwkubG9uZwkxMDcyOTA1MjI0CisJLmxvbmcJMjIxODE1NDQwNgorCS5sb25nCTEwMTYyNzY3NjkKKwkubG9uZwkxNjAzNDQ0NzIxCisJLmxvbmcJMTA3MjkxMjA2OQorCS5sb25nCTE1NDg2MzM2NDAKKwkubG9uZwkzMTYzMjQ5OTAyCisJLmxvbmcJOTI2NTkxNDM1CisJLmxvbmcJMTA3MjkxODk1MQorCS5sb25nCTMyMDg4MzM3NjIKKwkubG9uZwkzMTYzOTYyMDkwCisJLmxvbmcJMTgyOTA5OTYyMgorCS5sb25nCTEwNzI5MjU4NzAKKwkubG9uZwkxMDE2NjYxMTgxCisJLmxvbmcJMzE2NDUwOTU4MQorCS5sb25nCTg4NzQ2MzkyNworCS5sb25nCTEwNzI5MzI4MjcKKwkubG9uZwkzNTk2NzQ0MTYzCisJLmxvbmcJMzE2MTg0Mjc0MgorCS5sb25nCTMyNzI4NDU1NDEKKwkubG9uZwkxMDcyOTM5ODIxCisJLmxvbmcJOTI4ODUyNDE5CisJLmxvbmcJMzE2NDUzNjgyNAorCS5sb25nCTEyNzYyNjE0MTAKKwkubG9uZwkxMDcyOTQ2ODU0CisJLmxvbmcJMzAwOTgxOTQ4CisJLmxvbmcJMTAxNTczMjc0NQorCS5sb25nCTc4NDEzODUyCisJLmxvbmcJMTA3Mjk1MzkyNQorCS5sb25nCTQxODMyMjY4NjcKKwkubG9uZwkzMTY0MDY1ODI3CisJLmxvbmcJNTY5ODQ3MzM4CisJLmxvbmcJMTA3Mjk2MTAzNAorCS5sb25nCTQ3Mjk0NTI3MgorCS5sb25nCTMxNjAzMzkzMDUKKwkubG9uZwkzNjQ1OTQxOTExCisJLmxvbmcJMTA3Mjk2ODE4MQorCS5sb25nCTM4MTQ2ODUwODEKKwkubG9uZwkzMTYyNjIxOTE3CisJLmxvbmcJMTYxNzAwNDg0NQorCS5sb25nCTEwNzI5NzUzNjgKKwkubG9uZwk4MjgwNDk0NAorCS5sb25nCTEwMTEzOTEzNTQKKwkubG9uZwkzOTc4MTAwODIzCisJLmxvbmcJMTA3Mjk4MjU5MworCS5sb25nCTM1MTMwMjcxOTAKKwkubG9uZwkxMDE2ODk0NTM5CisJLmxvbmcJMzA0OTM0MDExMgorCS5sb25nCTEwNzI5ODk4NTgKKwkubG9uZwkzMDYyOTE1ODI0CisJLmxvbmcJMTAxNDIxOTE3MQorCS5sb25nCTQwNDA2NzYzMTgKKwkubG9uZwkxMDcyOTk3MTYyCisJLmxvbmcJNDA5MDYwOTIzOAorCS5sb25nCTEwMTY3MTIwMzQKKwkubG9uZwkzNTc3MDk2NzQzCisJLmxvbmcJMTA3MzAwNDUwNgorCS5sb25nCTI5NTE0OTY0MTgKKwkubG9uZwkxMDE0ODQyMjYzCisJLmxvbmcJMjU4MzU1MTI0NQorCS5sb25nCTEwNzMwMTE4OTAKKwkubG9uZwkzMTYxMDk0MTk1CisJLmxvbmcJMTAxNjY1NTA2NworCS5sb25nCTE5OTAwMTIwNzEKKwkubG9uZwkxMDczMDE5MzE0CisJLmxvbmcJMzUyOTA3MDU2MworCS5sb25nCTMxNjM4NjE3NjkKKwkubG9uZwkyNzMxNTAxMTIyCisJLmxvbmcJMTA3MzAyNjc3OAorCS5sb25nCTE3NzQwMzE4NTUKKwkubG9uZwkzMTYzNTE4NTk3CisJLmxvbmcJMTQ1MzE1MDA4MgorCS5sb25nCTEwNzMwMzQyODMKKwkubG9uZwk0OTgxNTQ2NjkKKwkubG9uZwkzMTYyNTM2NjM4CisJLmxvbmcJMzM5NTEyOTg3MQorCS5sb25nCTEwNzMwNDE4MjgKKwkubG9uZwk0MDI1MzQ1NDM1CisJLmxvbmcJMzE2MzM4Mzk2NAorCS5sb25nCTkxNzg0MTg4MgorCS5sb25nCTEwNzMwNDk0MTUKKwkubG9uZwkxODcxNTU2NQorCS5sb25nCTEwMTY3MDc4ODQKKwkubG9uZwkzNTY2NzE2OTI1CisJLmxvbmcJMTA3MzA1NzA0MgorCS5sb25nCTE1MzY4MjY4NTYKKwkubG9uZwkxMDE1MTkxMDA5CisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTEwNzMwNjQ3MTEKKwkubG9uZwk4ODQ5MTk0OQorCS5sb25nCTEwMTY0NzYyMzYKKwkubG9uZwkyMzIxMTA2NjE1CisJLmxvbmcJMTA3MzA3MjQyMgorCS5sb25nCTIxNzExNzY2MTAKKwkubG9uZwkxMDEwNTg0MzQ3CisJLmxvbmcJMzYzNjY3Nzg0CisJLmxvbmcJMTA3MzA4MDE3NQorCS5sb25nCTgxMzc1Mzk1MAorCS5sb25nCTEwMTY4MzM3ODUKKwkubG9uZwkzMTExNTc0NTM3CisJLmxvbmcJMTA3MzA4Nzk2OQorCS5sb25nCTI2MDYxNjE0NzkKKwkubG9uZwkzMTYzODA4MzIyCisJLmxvbmcJMjk1NjYxMjk5NworCS5sb25nCTEwNzMwOTU4MDYKKwkubG9uZwkyMTE4MTY5NzUxCisJLmxvbmcJMzE2Mzc4NDEyOQorCS5sb25nCTg4NTgzNDUyOAorCS5sb25nCTEwNzMxMDM2ODYKKwkubG9uZwkxOTczMjU4NTQ3CisJLmxvbmcJMzE2MzMxMDE0MAorCS5sb25nCTIxODY2MTczODEKKwkubG9uZwkxMDczMTExNjA4CisJLmxvbmcJMjI3MDc2NDA4NAorCS5sb25nCTMxNjQzMjEyODkKKwkubG9uZwkzNTYxNzkzOTA3CisJLmxvbmcJMTA3MzExOTU3MworCS5sb25nCTExNTcwNTQwNTMKKwkubG9uZwkxMDEyOTM4OTI2CisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTEwNzMxMjc1ODIKKwkubG9uZwkzMzA0NTgxOTgKKwkubG9uZwkzMTY0MzMxMzE2CisJLmxvbmcJMTk2MzcxMTE2NworCS5sb25nCTEwNzMxMzU2MzQKKwkubG9uZwkxNzQ0NzY3NzU3CisJLmxvbmcJMzE2MTYyMjg3MAorCS5sb25nCTEwMTMyNTg3OTkKKwkubG9uZwkxMDczMTQzNzMwCisJLmxvbmcJMTc0ODc5NzYxMQorCS5sb25nCTMxNjExNzc2NTgKKwkubG9uZwk0MTgyODczMjIwCisJLmxvbmcJMTA3MzE1MTg2OQorCS5sb25nCTYyOTU0MjY0NgorCS5sb25nCTMxNjMwNDQ4NzkKKwkubG9uZwkzOTA3ODA1MDQ0CisJLmxvbmcJMTA3MzE2MDA1MworCS5sb25nCTIyNTcwOTEyMjUKKwkubG9uZwkzMTYyNTk4OTgzCisJLmxvbmcJMTIxODgwNjEzMgorCS5sb25nCTEwNzMxNjgyODIKKwkubG9uZwkxODE4NjEzMDUyCisJLmxvbmcJMzE2MzU5NzAxNworCS5sb25nCTE0NDcxOTI1MjEKKwkubG9uZwkxMDczMTc2NTU1CisJLmxvbmcJMTQ2Mjg1NzE3MQorCS5sb25nCTMxNjM1NjMwOTcKKwkubG9uZwkxMzM5OTcyOTI3CisJLmxvbmcJMTA3MzE4NDg3MworCS5sb25nCTE2NzkwODkwOQorCS5sb25nCTEwMTY2MjA3MjgKKwkubG9uZwkxOTQ0NzgxMTkxCisJLmxvbmcJMTA3MzE5MzIzNgorCS5sb25nCTM5OTMyNzg3NjcKKwkubG9uZwkzMTYyNzcyODU1CisJLmxvbmcJMTk5NzI0MDIKKwkubG9uZwkxMDczMjAxNjQ1CisJLmxvbmcJMzUwNzg5OTg2MgorCS5sb25nCTEwMTcwNTc4NjgKKwkubG9uZwk5MTk1NTU2ODIKKwkubG9uZwkxMDczMjEwMDk5CisJLmxvbmcJMzEyMTk2OTUzNAorCS5sb25nCTEwMTM5OTY4MDIKKwkubG9uZwkxNDEzMzU2MDUwCisJLmxvbmcJMTA3MzIxODU5OQorCS5sb25nCTE2NTEzNDkyOTEKKwkubG9uZwkzMTYzNzE2NzQyCisJLmxvbmcJMjU3MTk0NzUzOQorCS5sb25nCTEwNzMyMjcxNDUKKwkubG9uZwkzNTU4MTU5MDY0CisJLmxvbmcJMzE2NDQyNTI0NQorCS5sb25nCTExNzY3NDk5OTcKKwkubG9uZwkxMDczMjM1NzM4CisJLmxvbmcJMjczODk5ODc3OQorCS5sb25nCTMxNjMwODQ0MjAKKwkubG9uZwkyNjA0OTYyNTQxCisJLmxvbmcJMTA3MzI0NDM3NworCS5sb25nCTI2MTQ0MjUyNzQKKwkubG9uZwkzMTY0NTg3NzY4CisJLmxvbmcJMzY0OTcyNjEwNQorCS5sb25nCTEwNzMyNTMwNjMKKwkubG9uZwk0MDg1MDM2MzQ2CisJLmxvbmcJMTAxNjY5ODA1MAorCS5sb25nCTExMTAwODk5NDcKKwkubG9uZwkxMDczMjYxNzk3CisJLmxvbmcJMTQ1MTY0MTYzOQorCS5sb25nCTEwMTY1MjMyNDkKKwkubG9uZwkzODA5NzgzMTYKKwkubG9uZwkxMDczMjcwNTc4CisJLmxvbmcJODU0MTg4OTcwCisJLmxvbmcJMzE2MTUxMTI2MgorCS5sb25nCTI1NjgzMjA4MjIKKwkubG9uZwkxMDczMjc5NDA2CisJLmxvbmcJMjczMjgyNDQyOAorCS5sb25nCTEwMTU0MDE0OTEKKwkubG9uZwkxOTQxMTc1NzQKKwkubG9uZwkxMDczMjg4MjgzCisJLmxvbmcJNzc3NTI4NjEyCisJLmxvbmcJMzE2NDQ2MDY2NQorCS5sb25nCTI5NjYyNzU1NTcKKwkubG9uZwkxMDczMjk3MjA3CisJLmxvbmcJMjE3NjE1NTMyNAorCS5sb25nCTMxNjA4OTEzMzUKKwkubG9uZwkzNDE4OTAzMDU1CisJLmxvbmcJMTA3MzMwNjE4MAorCS5sb25nCTI1Mjc0NTczMzcKKwkubG9uZwkzMTYxODY5MTgwCisJLmxvbmcJMjY4MjE0NjM4NAorCS5sb25nCTEwNzMzMTUyMDIKKwkubG9uZwkyMDgyMTc4NTEzCisJLmxvbmcJMzE2NDQxMTk5NQorCS5sb25nCTE4OTIyODg0NDIKKwkubG9uZwkxMDczMzI0MjczCisJLmxvbmcJMjQ0NjI1NTY2NgorCS5sb25nCTMxNjM2NDg5NTcKKwkubG9uZwkyMTkxNzgyMDMyCisJLmxvbmcJMTA3MzMzMzM5MworCS5sb25nCTI5NjAyNTc3MjYKKwkubG9uZwkxMDE0NzkxMjM4CisJLmxvbmcJNDM0MzE2MDY3CisJLmxvbmcJMTA3MzM0MjU2MworCS5sb25nCTIwMjgzNTg3NjYKKwkubG9uZwkxMDE0NTA2Njk4CisJLmxvbmcJMjA2OTc1MTE0MQorCS5sb25nCTEwNzMzNTE3ODIKKwkubG9uZwkxNTYyMTcwNjc1CisJLmxvbmcJMzE2Mzc3MzI1NworCS5sb25nCTM5NjQyODQyMTEKKwkubG9uZwkxMDczMzYxMDUxCisJLmxvbmcJMjExMTU4MzkxNQorCS5sb25nCTEwMTY0NzU3NDAKKwkubG9uZwkyOTkwNDE3MjQ1CisJLmxvbmcJMTA3MzM3MDM3MQorCS5sb25nCTM2ODM0Njc3NDUKKwkubG9uZwkzMTY0NDE3OTAyCisJLmxvbmcJMzIxOTU4NzQ0CisJLmxvbmcJMTA3MzM3OTc0MgorCS5sb25nCTM0MDE5MzM3NjcKKwkubG9uZwkxMDE2ODQzMTM0CisJLmxvbmcJMTQzNDA1ODE3NQorCS5sb25nCTEwNzMzODkxNjMKKwkubG9uZwkyNTExMzMyMzMKKwkubG9uZwkxMDE2MTM0MzQ1CisJLmxvbmcJMzIxODMzODY4MgorCS5sb25nCTEwNzMzOTg2MzUKKwkubG9uZwkzNDA0MTY0MzA0CisJLmxvbmcJMzE2MzUyNTY4NAorCS5sb25nCTI1NzI4NjY0NzcKKwkubG9uZwkxMDczNDA4MTU5CisJLmxvbmcJODc4NTYyNDMzCisJLmxvbmcJMTAxNjU3MDMxNworCS5sb25nCTY5NzE1MzEyNgorCS5sb25nCTEwNzM0MTc3MzUKKwkubG9uZwkxMjgzNTE1NDI5CisJLmxvbmcJMzE2NDMzMTc2NQorCS5sb25nCTMwOTIxOTA3MTUKKwkubG9uZwkxMDczNDI3MzYyCisJLmxvbmcJODE0MDEyMTY4CisJLmxvbmcJMzE2MDU3MTk5OAorCS5sb25nCTIzODA2MTgwNDIKKwkubG9uZwkxMDczNDM3MDQyCisJLmxvbmcJMzE0OTU1NzIxOQorCS5sb25nCTMxNjQzNjkzNzUKKwkubG9uZwk0MDc2NTU5OTQzCisJLmxvbmcJMTA3MzQ0Njc3NAorCS5sb25nCTIxMTk0NzgzMzEKKwkubG9uZwkzMTYxODA2OTI3CisJLmxvbmcJODE1ODU5Mjc0CisJLmxvbmcJMTA3MzQ1NjU2MAorCS5sb25nCTI0MDM5NjU5MAorCS5sb25nCTMxNjQ1MzYwMTkKKwkubG9uZwkyNDIwODgzOTIyCisJLmxvbmcJMTA3MzQ2NjM5OAorCS5sb25nCTIwNDk4MTAwNTIKKwkubG9uZwkxMDE1MTY4NDY0CisJLmxvbmcJMTU0MDgyNDU4NQorCS5sb25nCTEwNzM0NzYyOTAKKwkubG9uZwkxMDY0MDE3MDExCisJLmxvbmcJMzE2NDUzNjI2NgorCS5sb25nCTM3MTY1MDIxNzIKKwkubG9uZwkxMDczNDg2MjM1CisJLmxvbmcJMjMwMzc0MDEyNQorCS5sb25nCTEwMTUwOTEzMDEKKwkubG9uZwkxNjEwNjAwNTcwCisJLmxvbmcJMTA3MzQ5NjIzNQorCS5sb25nCTM3NjY3MzIyOTgKKwkubG9uZwkxMDE2ODA4NzU5CisJLmxvbmcJNzc3NTA3MTQ3CisJLmxvbmcJMTA3MzUwNjI4OQorCS5sb25nCTQyODI5MjQyMDUKKwkubG9uZwkxMDE2MjM2MTA5CisJLmxvbmcJMjQ4MzQ4MDUwMQorCS5sb25nCTEwNzM1MTYzOTcKKwkubG9uZwkxMjE2MzcxNzgwCisJLmxvbmcJMTAxNDA4Mjc0OAorCS5sb25nCTM3MDY2ODc1OTMKKwkubG9uZwkxMDczNTI2NTYwCisJLmxvbmcJMzUyMTcyNjk0MAorCS5sb25nCTEwMTQzMDE2NDMKKwkubG9uZwkxNDMyMjA4Mzc4CisJLmxvbmcJMTA3MzUzNjc3OQorCS5sb25nCTE0MDEwNjg5MTQKKwkubG9uZwkzMTYzNDEyNTM5CisJLmxvbmcJMTI0MjAwNzkzMgorCS5sb25nCTEwNzM1NDcwNTMKKwkubG9uZwkxMTMyMDM0NzE2CisJLmxvbmcJMzE2NDM4ODQwNworCS5sb25nCTEzNTEwNTAxMAorCS5sb25nCTEwNzM1NTczODMKKwkubG9uZwkxOTA2MTQ4NzI4CisJLmxvbmcJMzE2NDQyNDMxNQorCS5sb25nCTM3MDc0NzkxNzUKKwkubG9uZwkxMDczNTY3NzY4CisJLmxvbmcJMzYxMzA3OTMwMworCS5sb25nCTEwMTUyMTMzMTQKKwkubG9uZwkzODIzMDUxNzYKKwkubG9uZwkxMDczNTc4MjExCisJLmxvbmcJMjM0NzYyMjM3NgorCS5sb25nCTMxNjM2MjcyMDEKKwkubG9uZwk2NDY5Njk2NQorCS5sb25nCTEwNzM1ODg3MTAKKwkubG9uZwkxNzY4Nzk3NDkwCisJLmxvbmcJMTAxNjg2NTUzNgorCS5sb25nCTQwNzY5NzUyMDAKKwkubG9uZwkxMDczNTk5MjY1CisJLmxvbmcJMjAyOTAwMDg5OQorCS5sb25nCTEwMTYyNTcxMTEKKwkubG9uZwk4NjM3Mzg3MTkKKwkubG9uZwkxMDczNjA5ODc5CisJLmxvbmcJMTMyNjk5MjIyMAorCS5sb25nCTMxNjM2NjE3NzMKKwkubG9uZwkzNTE2NDE4OTcKKwkubG9uZwkxMDczNjIwNTUwCisJLmxvbmcJMjE3MjI2MTUyNgorCS5sb25nCTMxNjQwNTkxNzUKKwkubG9uZwkzODg0NjYyNzc0CisJLmxvbmcJMTA3MzYzMTI3OAorCS5sb25nCTIxNTg2MTE1OTkKKwkubG9uZwkxMDE1MjU4NzYxCisJLmxvbmcJNDIyNDE0MjQ2NworCS5sb25nCTEwNzM2NDIwNjUKKwkubG9uZwkzMzg5ODIwMzg2CisJLmxvbmcJMTAxNjI1NTc3OAorCS5sb25nCTI3Mjg2OTM5NzgKKwkubG9uZwkxMDczNjUyOTExCisJLmxvbmcJMzk2MTA5OTcxCisJLmxvbmcJMzE2NDUxMTI2NworCS5sb25nCTc2NDMwNzQ0MQorCS5sb25nCTEwNzM2NjM4MTYKKwkubG9uZwkzMDIxMDU3NDIwCisJLmxvbmcJMzE2NDM3ODA5OQorCS5sb25nCTM5OTkzNTc0NzkKKwkubG9uZwkxMDczNjc0Nzc5CisJLmxvbmcJMjI1ODk0MTYxNgorCS5sb25nCTEwMTY5NzMzMDAKKwkubG9uZwk5Mjk4MDY5OTkKKwkubG9uZwkxMDczNjg1ODAzCisJLmxvbmcJMzIwNTMzNjY0MworCS5sb25nCTEwMTYzMDgxMzMKKwkubG9uZwkxNTMzOTUzMzQ0CisJLmxvbmcJMTA3MzY5Njg4NgorCS5sb25nCTc2OTE3MTg1MQorCS5sb25nCTEwMTY3MTQyMDkKKwkubG9uZwkyOTEyNzMwNjQ0CisJLmxvbmcJMTA3MzcwODAyOQorCS5sb25nCTM0OTAwNjc3MjIKKwkubG9uZwkzMTY0NDUzNjUwCisJLmxvbmcJMjE3NDY1MjYzMgorCS5sb25nCTEwNzM3MTkyMzMKKwkubG9uZwk0MDg3NzE0NTkwCisJLmxvbmcJMTAxNTQ5ODgzNQorCS5sb25nCTczMDgyMTEwNQorCS5sb25nCTEwNzM3MzA0OTgKKwkubG9uZwkyNTIzMjMyNzQzCisJLmxvbmcJMTAxMzExNTc2NAorCS50eXBlCVQyZixAb2JqZWN0CisJLnNpemUJVDJmLDIwNDgKKwkuYWxpZ24gMTYKK1QyX25lZ19mOgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3MzA4MjExMDUKKwkubG9uZwkxMDcyNjgxOTIyCisJLmxvbmcJMjUyMzIzMjc0MworCS5sb25nCTEwMTIwNjcxODgKKwkubG9uZwkyMTc0NjUyNjMyCisJLmxvbmcJMTA3MjY3MDY1NworCS5sb25nCTQwODc3MTQ1OTAKKwkubG9uZwkxMDE0NDUwMjU5CisJLmxvbmcJMjkxMjczMDY0NAorCS5sb25nCTEwNzI2NTk0NTMKKwkubG9uZwkzNDkwMDY3NzIyCisJLmxvbmcJMzE2MzQwNTA3NAorCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDcyNjQ4MzEwCisJLmxvbmcJNzY5MTcxODUxCisJLmxvbmcJMTAxNTY2NTYzMworCS5sb25nCTkyOTgwNjk5OQorCS5sb25nCTEwNzI2MzcyMjcKKwkubG9uZwkzMjA1MzM2NjQzCisJLmxvbmcJMTAxNTI1OTU1NworCS5sb25nCTM5OTkzNTc0NzkKKwkubG9uZwkxMDcyNjI2MjAzCisJLmxvbmcJMjI1ODk0MTYxNgorCS5sb25nCTEwMTU5MjQ3MjQKKwkubG9uZwk3NjQzMDc0NDEKKwkubG9uZwkxMDcyNjE1MjQwCisJLmxvbmcJMzAyMTA1NzQyMAorCS5sb25nCTMxNjMzMjk1MjMKKwkubG9uZwkyNzI4NjkzOTc4CisJLmxvbmcJMTA3MjYwNDMzNQorCS5sb25nCTM5NjEwOTk3MQorCS5sb25nCTMxNjM0NjI2OTEKKwkubG9uZwk0MjI0MTQyNDY3CisJLmxvbmcJMTA3MjU5MzQ4OQorCS5sb25nCTMzODk4MjAzODYKKwkubG9uZwkxMDE1MjA3MjAyCisJLmxvbmcJMzg4NDY2Mjc3NAorCS5sb25nCTEwNzI1ODI3MDIKKwkubG9uZwkyMTU4NjExNTk5CisJLmxvbmcJMTAxNDIxMDE4NQorCS5sb25nCTM1MTY0MTg5NworCS5sb25nCTEwNzI1NzE5NzQKKwkubG9uZwkyMTcyMjYxNTI2CisJLmxvbmcJMzE2MzAxMDU5OQorCS5sb25nCTg2MzczODcxOQorCS5sb25nCTEwNzI1NjEzMDMKKwkubG9uZwkxMzI2OTkyMjIwCisJLmxvbmcJMzE2MjYxMzE5NworCS5sb25nCTQwNzY5NzUyMDAKKwkubG9uZwkxMDcyNTUwNjg5CisJLmxvbmcJMjAyOTAwMDg5OQorCS5sb25nCTEwMTUyMDg1MzUKKwkubG9uZwk2NDY5Njk2NQorCS5sb25nCTEwNzI1NDAxMzQKKwkubG9uZwkxNzY4Nzk3NDkwCisJLmxvbmcJMTAxNTgxNjk2MAorCS5sb25nCTM4MjMwNTE3NgorCS5sb25nCTEwNzI1Mjk2MzUKKwkubG9uZwkyMzQ3NjIyMzc2CisJLmxvbmcJMzE2MjU3ODYyNQorCS5sb25nCTM3MDc0NzkxNzUKKwkubG9uZwkxMDcyNTE5MTkyCisJLmxvbmcJMzYxMzA3OTMwMworCS5sb25nCTEwMTQxNjQ3MzgKKwkubG9uZwkxMzUxMDUwMTAKKwkubG9uZwkxMDcyNTA4ODA3CisJLmxvbmcJMTkwNjE0ODcyOAorCS5sb25nCTMxNjMzNzU3MzkKKwkubG9uZwkxMjQyMDA3OTMyCisJLmxvbmcJMTA3MjQ5ODQ3NworCS5sb25nCTExMzIwMzQ3MTYKKwkubG9uZwkzMTYzMzM5ODMxCisJLmxvbmcJMTQzMjIwODM3OAorCS5sb25nCTEwNzI0ODgyMDMKKwkubG9uZwkxNDAxMDY4OTE0CisJLmxvbmcJMzE2MjM2Mzk2MworCS5sb25nCTM3MDY2ODc1OTMKKwkubG9uZwkxMDcyNDc3OTg0CisJLmxvbmcJMzUyMTcyNjk0MAorCS5sb25nCTEwMTMyNTMwNjcKKwkubG9uZwkyNDgzNDgwNTAxCisJLmxvbmcJMTA3MjQ2NzgyMQorCS5sb25nCTEyMTYzNzE3ODAKKwkubG9uZwkxMDEzMDM0MTcyCisJLmxvbmcJNzc3NTA3MTQ3CisJLmxvbmcJMTA3MjQ1NzcxMworCS5sb25nCTQyODI5MjQyMDUKKwkubG9uZwkxMDE1MTg3NTMzCisJLmxvbmcJMTYxMDYwMDU3MAorCS5sb25nCTEwNzI0NDc2NTkKKwkubG9uZwkzNzY2NzMyMjk4CisJLmxvbmcJMTAxNTc2MDE4MworCS5sb25nCTM3MTY1MDIxNzIKKwkubG9uZwkxMDcyNDM3NjU5CisJLmxvbmcJMjMwMzc0MDEyNQorCS5sb25nCTEwMTQwNDI3MjUKKwkubG9uZwkxNTQwODI0NTg1CisJLmxvbmcJMTA3MjQyNzcxNAorCS5sb25nCTEwNjQwMTcwMTEKKwkubG9uZwkzMTYzNDg3NjkwCisJLmxvbmcJMjQyMDg4MzkyMgorCS5sb25nCTEwNzI0MTc4MjIKKwkubG9uZwkyMDQ5ODEwMDUyCisJLmxvbmcJMTAxNDExOTg4OAorCS5sb25nCTgxNTg1OTI3NAorCS5sb25nCTEwNzI0MDc5ODQKKwkubG9uZwkyNDAzOTY1OTAKKwkubG9uZwkzMTYzNDg3NDQzCisJLmxvbmcJNDA3NjU1OTk0MworCS5sb25nCTEwNzIzOTgxOTgKKwkubG9uZwkyMTE5NDc4MzMxCisJLmxvbmcJMzE2MDc1ODM1MQorCS5sb25nCTIzODA2MTgwNDIKKwkubG9uZwkxMDcyMzg4NDY2CisJLmxvbmcJMzE0OTU1NzIxOQorCS5sb25nCTMxNjMzMjA3OTkKKwkubG9uZwkzMDkyMTkwNzE1CisJLmxvbmcJMTA3MjM3ODc4NgorCS5sb25nCTgxNDAxMjE2OAorCS5sb25nCTMxNTk1MjM0MjIKKwkubG9uZwk2OTcxNTMxMjYKKwkubG9uZwkxMDcyMzY5MTU5CisJLmxvbmcJMTI4MzUxNTQyOQorCS5sb25nCTMxNjMyODMxODkKKwkubG9uZwkyNTcyODY2NDc3CisJLmxvbmcJMTA3MjM1OTU4MworCS5sb25nCTg3ODU2MjQzMworCS5sb25nCTEwMTU1MjE3NDEKKwkubG9uZwkzMjE4MzM4NjgyCisJLmxvbmcJMTA3MjM1MDA1OQorCS5sb25nCTM0MDQxNjQzMDQKKwkubG9uZwkzMTYyNDc3MTA4CisJLmxvbmcJMTQzNDA1ODE3NQorCS5sb25nCTEwNzIzNDA1ODcKKwkubG9uZwkyNTExMzMyMzMKKwkubG9uZwkxMDE1MDg1NzY5CisJLmxvbmcJMzIxOTU4NzQ0CisJLmxvbmcJMTA3MjMzMTE2NgorCS5sb25nCTM0MDE5MzM3NjcKKwkubG9uZwkxMDE1Nzk0NTU4CisJLmxvbmcJMjk5MDQxNzI0NQorCS5sb25nCTEwNzIzMjE3OTUKKwkubG9uZwkzNjgzNDY3NzQ1CisJLmxvbmcJMzE2MzM2OTMyNgorCS5sb25nCTM5NjQyODQyMTEKKwkubG9uZwkxMDcyMzEyNDc1CisJLmxvbmcJMjExMTU4MzkxNQorCS5sb25nCTEwMTU0MjcxNjQKKwkubG9uZwkyMDY5NzUxMTQxCisJLmxvbmcJMTA3MjMwMzIwNgorCS5sb25nCTE1NjIxNzA2NzUKKwkubG9uZwkzMTYyNzI0NjgxCisJLmxvbmcJNDM0MzE2MDY3CisJLmxvbmcJMTA3MjI5Mzk4NworCS5sb25nCTIwMjgzNTg3NjYKKwkubG9uZwkxMDEzNDU4MTIyCisJLmxvbmcJMjE5MTc4MjAzMgorCS5sb25nCTEwNzIyODQ4MTcKKwkubG9uZwkyOTYwMjU3NzI2CisJLmxvbmcJMTAxMzc0MjY2MgorCS5sb25nCTE4OTIyODg0NDIKKwkubG9uZwkxMDcyMjc1Njk3CisJLmxvbmcJMjQ0NjI1NTY2NgorCS5sb25nCTMxNjI2MDAzODEKKwkubG9uZwkyNjgyMTQ2Mzg0CisJLmxvbmcJMTA3MjI2NjYyNgorCS5sb25nCTIwODIxNzg1MTMKKwkubG9uZwkzMTYzMzYzNDE5CisJLmxvbmcJMzQxODkwMzA1NQorCS5sb25nCTEwNzIyNTc2MDQKKwkubG9uZwkyNTI3NDU3MzM3CisJLmxvbmcJMzE2MDgyMDYwNAorCS5sb25nCTI5NjYyNzU1NTcKKwkubG9uZwkxMDcyMjQ4NjMxCisJLmxvbmcJMjE3NjE1NTMyNAorCS5sb25nCTMxNTk4NDI3NTkKKwkubG9uZwkxOTQxMTc1NzQKKwkubG9uZwkxMDcyMjM5NzA3CisJLmxvbmcJNzc3NTI4NjEyCisJLmxvbmcJMzE2MzQxMjA4OQorCS5sb25nCTI1NjgzMjA4MjIKKwkubG9uZwkxMDcyMjMwODMwCisJLmxvbmcJMjczMjgyNDQyOAorCS5sb25nCTEwMTQzNTI5MTUKKwkubG9uZwkzODA5NzgzMTYKKwkubG9uZwkxMDcyMjIyMDAyCisJLmxvbmcJODU0MTg4OTcwCisJLmxvbmcJMzE2MDQ2MjY4NgorCS5sb25nCTExMTAwODk5NDcKKwkubG9uZwkxMDcyMjEzMjIxCisJLmxvbmcJMTQ1MTY0MTYzOQorCS5sb25nCTEwMTU0NzQ2NzMKKwkubG9uZwkzNjQ5NzI2MTA1CisJLmxvbmcJMTA3MjIwNDQ4NworCS5sb25nCTQwODUwMzYzNDYKKwkubG9uZwkxMDE1NjQ5NDc0CisJLmxvbmcJMjYwNDk2MjU0MQorCS5sb25nCTEwNzIxOTU4MDEKKwkubG9uZwkyNjE0NDI1Mjc0CisJLmxvbmcJMzE2MzUzOTE5MgorCS5sb25nCTExNzY3NDk5OTcKKwkubG9uZwkxMDcyMTg3MTYyCisJLmxvbmcJMjczODk5ODc3OQorCS5sb25nCTMxNjIwMzU4NDQKKwkubG9uZwkyNTcxOTQ3NTM5CisJLmxvbmcJMTA3MjE3ODU2OQorCS5sb25nCTM1NTgxNTkwNjQKKwkubG9uZwkzMTYzMzc2NjY5CisJLmxvbmcJMTQxMzM1NjA1MAorCS5sb25nCTEwNzIxNzAwMjMKKwkubG9uZwkxNjUxMzQ5MjkxCisJLmxvbmcJMzE2MjY2ODE2NgorCS5sb25nCTkxOTU1NTY4MgorCS5sb25nCTEwNzIxNjE1MjMKKwkubG9uZwkzMTIxOTY5NTM0CisJLmxvbmcJMTAxMjk0ODIyNgorCS5sb25nCTE5OTcyNDAyCisJLmxvbmcJMTA3MjE1MzA2OQorCS5sb25nCTM1MDc4OTk4NjIKKwkubG9uZwkxMDE2MDA5MjkyCisJLmxvbmcJMTk0NDc4MTE5MQorCS5sb25nCTEwNzIxNDQ2NjAKKwkubG9uZwkzOTkzMjc4NzY3CisJLmxvbmcJMzE2MTcyNDI3OQorCS5sb25nCTEzMzk5NzI5MjcKKwkubG9uZwkxMDcyMTM2Mjk3CisJLmxvbmcJMTY3OTA4OTA5CisJLmxvbmcJMTAxNTU3MjE1MgorCS5sb25nCTE0NDcxOTI1MjEKKwkubG9uZwkxMDcyMTI3OTc5CisJLmxvbmcJMTQ2Mjg1NzE3MQorCS5sb25nCTMxNjI1MTQ1MjEKKwkubG9uZwkxMjE4ODA2MTMyCisJLmxvbmcJMTA3MjExOTcwNgorCS5sb25nCTE4MTg2MTMwNTIKKwkubG9uZwkzMTYyNTQ4NDQxCisJLmxvbmcJMzkwNzgwNTA0NAorCS5sb25nCTEwNzIxMTE0NzcKKwkubG9uZwkyMjU3MDkxMjI1CisJLmxvbmcJMzE2MTU1MDQwNworCS5sb25nCTQxODI4NzMyMjAKKwkubG9uZwkxMDcyMTAzMjkzCisJLmxvbmcJNjI5NTQyNjQ2CisJLmxvbmcJMzE2MTk5NjMwMworCS5sb25nCTEwMTMyNTg3OTkKKwkubG9uZwkxMDcyMDk1MTU0CisJLmxvbmcJMTc0ODc5NzYxMQorCS5sb25nCTMxNjAxMjkwODIKKwkubG9uZwkxOTYzNzExMTY3CisJLmxvbmcJMTA3MjA4NzA1OAorCS5sb25nCTE3NDQ3Njc3NTcKKwkubG9uZwkzMTYwNTc0Mjk0CisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTEwNzIwNzkwMDYKKwkubG9uZwkzMzA0NTgxOTgKKwkubG9uZwkzMTYzMjgyNzQwCisJLmxvbmcJMzU2MTc5MzkwNworCS5sb25nCTEwNzIwNzA5OTcKKwkubG9uZwkxMTU3MDU0MDUzCisJLmxvbmcJMTAxMTg5MDM1MAorCS5sb25nCTIxODY2MTczODEKKwkubG9uZwkxMDcyMDYzMDMyCisJLmxvbmcJMjI3MDc2NDA4NAorCS5sb25nCTMxNjMyNzI3MTMKKwkubG9uZwk4ODU4MzQ1MjgKKwkubG9uZwkxMDcyMDU1MTEwCisJLmxvbmcJMTk3MzI1ODU0NworCS5sb25nCTMxNjIyNjE1NjQKKwkubG9uZwkyOTU2NjEyOTk3CisJLmxvbmcJMTA3MjA0NzIzMAorCS5sb25nCTIxMTgxNjk3NTEKKwkubG9uZwkzMTYyNzM1NTUzCisJLmxvbmcJMzExMTU3NDUzNworCS5sb25nCTEwNzIwMzkzOTMKKwkubG9uZwkyNjA2MTYxNDc5CisJLmxvbmcJMzE2Mjc1OTc0NgorCS5sb25nCTM2MzY2Nzc4NAorCS5sb25nCTEwNzIwMzE1OTkKKwkubG9uZwk4MTM3NTM5NTAKKwkubG9uZwkxMDE1Nzg1MjA5CisJLmxvbmcJMjMyMTEwNjYxNQorCS5sb25nCTEwNzIwMjM4NDYKKwkubG9uZwkyMTcxMTc2NjEwCisJLmxvbmcJMTAwOTUzNTc3MQorCS5sb25nCTM3MTI1MDQ4NzMKKwkubG9uZwkxMDcyMDE2MTM1CisJLmxvbmcJODg0OTE5NDkKKwkubG9uZwkxMDE1NDI3NjYwCisJLmxvbmcJMzU2NjcxNjkyNQorCS5sb25nCTEwNzIwMDg0NjYKKwkubG9uZwkxNTM2ODI2ODU2CisJLmxvbmcJMTAxNDE0MjQzMworCS5sb25nCTkxNzg0MTg4MgorCS5sb25nCTEwNzIwMDA4MzkKKwkubG9uZwkxODcxNTU2NQorCS5sb25nCTEwMTU2NTkzMDgKKwkubG9uZwkzMzk1MTI5ODcxCisJLmxvbmcJMTA3MTk5MzI1MgorCS5sb25nCTQwMjUzNDU0MzUKKwkubG9uZwkzMTYyMzM1Mzg4CisJLmxvbmcJMTQ1MzE1MDA4MgorCS5sb25nCTEwNzE5ODU3MDcKKwkubG9uZwk0OTgxNTQ2NjkKKwkubG9uZwkzMTYxNDg4MDYyCisJLmxvbmcJMjczMTUwMTEyMgorCS5sb25nCTEwNzE5NzgyMDIKKwkubG9uZwkxNzc0MDMxODU1CisJLmxvbmcJMzE2MjQ3MDAyMQorCS5sb25nCTE5OTAwMTIwNzEKKwkubG9uZwkxMDcxOTcwNzM4CisJLmxvbmcJMzUyOTA3MDU2MworCS5sb25nCTMxNjI4MTMxOTMKKwkubG9uZwkyNTgzNTUxMjQ1CisJLmxvbmcJMTA3MTk2MzMxNAorCS5sb25nCTMxNjEwOTQxOTUKKwkubG9uZwkxMDE1NjA2NDkxCisJLmxvbmcJMzU3NzA5Njc0MworCS5sb25nCTEwNzE5NTU5MzAKKwkubG9uZwkyOTUxNDk2NDE4CisJLmxvbmcJMTAxMzc5MzY4NworCS5sb25nCTQwNDA2NzYzMTgKKwkubG9uZwkxMDcxOTQ4NTg2CisJLmxvbmcJNDA5MDYwOTIzOAorCS5sb25nCTEwMTU2NjM0NTgKKwkubG9uZwkzMDQ5MzQwMTEyCisJLmxvbmcJMTA3MTk0MTI4MgorCS5sb25nCTMwNjI5MTU4MjQKKwkubG9uZwkxMDEzMTcwNTk1CisJLmxvbmcJMzk3ODEwMDgyMworCS5sb25nCTEwNzE5MzQwMTcKKwkubG9uZwkzNTEzMDI3MTkwCisJLmxvbmcJMTAxNTg0NTk2MworCS5sb25nCTE2MTcwMDQ4NDUKKwkubG9uZwkxMDcxOTI2NzkyCisJLmxvbmcJODI4MDQ5NDQKKwkubG9uZwkxMDEwMzQyNzc4CisJLmxvbmcJMzY0NTk0MTkxMQorCS5sb25nCTEwNzE5MTk2MDUKKwkubG9uZwkzODE0Njg1MDgxCisJLmxvbmcJMzE2MTU3MzM0MQorCS5sb25nCTU2OTg0NzMzOAorCS5sb25nCTEwNzE5MTI0NTgKKwkubG9uZwk0NzI5NDUyNzIKKwkubG9uZwkzMTU5MjkwNzI5CisJLmxvbmcJNzg0MTM4NTIKKwkubG9uZwkxMDcxOTA1MzQ5CisJLmxvbmcJNDE4MzIyNjg2NworCS5sb25nCTMxNjMwMTcyNTEKKwkubG9uZwkxMjc2MjYxNDEwCisJLmxvbmcJMTA3MTg5ODI3OAorCS5sb25nCTMwMDk4MTk0OAorCS5sb25nCTEwMTQ2ODQxNjkKKwkubG9uZwkzMjcyODQ1NTQxCisJLmxvbmcJMTA3MTg5MTI0NQorCS5sb25nCTkyODg1MjQxOQorCS5sb25nCTMxNjM0ODgyNDgKKwkubG9uZwk4ODc0NjM5MjcKKwkubG9uZwkxMDcxODg0MjUxCisJLmxvbmcJMzU5Njc0NDE2MworCS5sb25nCTMxNjA3OTQxNjYKKwkubG9uZwkxODI5MDk5NjIyCisJLmxvbmcJMTA3MTg3NzI5NAorCS5sb25nCTEwMTY2NjExODEKKwkubG9uZwkzMTYzNDYxMDA1CisJLmxvbmcJOTI2NTkxNDM1CisJLmxvbmcJMTA3MTg3MDM3NQorCS5sb25nCTMyMDg4MzM3NjIKKwkubG9uZwkzMTYyOTEzNTE0CisJLmxvbmcJMTYwMzQ0NDcyMQorCS5sb25nCTEwNzE4NjM0OTMKKwkubG9uZwkxNTQ4NjMzNjQwCisJLmxvbmcJMzE2MjIwMTMyNgorCS5sb25nCTI5OTI5MDM5MzUKKwkubG9uZwkxMDcxODU2NjQ4CisJLmxvbmcJMjIxODE1NDQwNgorCS5sb25nCTEwMTUyMjgxOTMKKwkubG9uZwk0MjMyODk0NTEzCisJLmxvbmcJMTA3MTg0OTg0MAorCS5sb25nCTIzODM5Mzg2ODQKKwkubG9uZwkxMDE0NjY4NTE5CisJLmxvbmcJMTcxMDMwMjkzCisJLmxvbmcJMTA3MTg0MzA3MAorCS5sb25nCTM1MjY0NjAxMzIKKwkubG9uZwkxMDE0NDI4Nzc4CisJLmxvbmcJMjgzOTQyNDg1NAorCS5sb25nCTEwNzE4MzYzMzUKKwkubG9uZwkxMTcxNTk2MTYzCisJLmxvbmcJMTAxMzA0MTY3OQorCS5sb25nCTI3OTk5NjA4NDMKKwkubG9uZwkxMDcxODI5NjM3CisJLmxvbmcJMTQyMzY1NTM4MQorCS5sb25nCTEwMTUwMjIxNTEKKwkubG9uZwkzNTA0MDAzNDcyCisJLmxvbmcJMTA3MTgyMjk3NQorCS5sb25nCTM1OTQwMDEwNjAKKwkubG9uZwkzMTU3MzMwNjUyCisJLmxvbmcJNDExMjUwNjU5MworCS5sb25nCTEwNzE4MTYzNDkKKwkubG9uZwkyOTQ3MzU1MjIxCisJLmxvbmcJMTAxNDM3MTA0OAorCS5sb25nCTM3OTA5NTUzOTMKKwkubG9uZwkxMDcxODA5NzU5CisJLmxvbmcJMjM1Mjk0MjQ2MgorCS5sb25nCTMxNjMxODAwOTAKKwkubG9uZwkxNzA5MzQxOTE3CisJLmxvbmcJMTA3MTgwMzIwNQorCS5sb25nCTI1NzExNjgyMTcKKwkubG9uZwkxMDE0MTUyNDk5CisJLmxvbmcJMTMzNzEwODAzMQorCS5sb25nCTEwNzE3OTY2ODYKKwkubG9uZwkzMjAzNzI0NDUyCisJLmxvbmcJMTAxNDY3Nzg0NQorCS5sb25nCTE4NTMxODY2MTYKKwkubG9uZwkxMDcxNzkwMjAyCisJLmxvbmcJMzA2NjQ5NjM3MQorCS5sb25nCTEwMTU2NTY1NzQKKwkubG9uZwkyNDQwOTQ0NzkwCisJLmxvbmcJMTA3MTc4Mzc1MworCS5sb25nCTI0OTI3Njk3NzQKKwkubG9uZwkxMDE0MTQ3NDU0CisJLmxvbmcJMjI4ODE1OTk1OAorCS5sb25nCTEwNzE3NzczMzkKKwkubG9uZwkyMTY5MTQ0NDY5CisJLmxvbmcJMTAxNDg3NjAyMQorCS5sb25nCTU4Njk5NTk5NworCS5sb25nCTEwNzE3NzA5NjAKKwkubG9uZwk0MTY2MjM0OAorCS5sb25nCTMxNjI2Mjc5OTIKKwkubG9uZwk4Mjg5NDY4NTgKKwkubG9uZwkxMDcxNzY0NjE1CisJLmxvbmcJMTA2NDI0OTIKKwkubG9uZwkxMDE1OTM5NDM4CisJLmxvbmcJMjIxNDg3ODQyMAorCS5sb25nCTEwNzE3NTgzMDQKKwkubG9uZwk4OTIyNzAwODcKKwkubG9uZwkzMTYzMTE2NDIyCisJLmxvbmcJMzk0OTk3MjM0MQorCS5sb25nCTEwNzE3NTIwMjcKKwkubG9uZwkyMDY4NDA4NTQ4CisJLmxvbmcJMTAxNDkxMzg2OAorCS5sb25nCTk0ODczNTQ2NgorCS5sb25nCTEwNzE3NDU3ODUKKwkubG9uZwkzNTE2MzM4MDI4CisJLmxvbmcJMzE2MjU3NDg4MworCS5sb25nCTEwMTQ4NDU4MTkKKwkubG9uZwkxMDcxNzM5NTc2CisJLmxvbmcJMzExNzkxMDY0NgorCS5sb25nCTMxNjE1NTkxMDUKKwkubG9uZwkzMzY2MjkzMDczCisJLmxvbmcJMTA3MTczMzQwMAorCS5sb25nCTMxMTk0MjYzMTQKKwkubG9uZwkxMDE0MTIwNTU0CisJLmxvbmcJMjkzMDMyMjkxMgorCS5sb25nCTEwNzE3MjcyNTgKKwkubG9uZwkyNTk5NDk5NDIyCisJLmxvbmcJMzE2MjcxNDA0NworCS5sb25nCTMyMjgzMTYxMDgKKwkubG9uZwkxMDcxNzIxMTQ5CisJLmxvbmcJMzAxMDI0MTk5MQorCS5sb25nCTMxNTg0MjI4MDQKKwkubG9uZwkzNDkwODYzOTUzCisJLmxvbmcJMTA3MTcxNTA3MworCS5sb25nCTk2MDc5NzQ5OAorCS5sb25nCTMxNjI5NDg4ODAKKwkubG9uZwkyOTUyNzEyOTg3CisJLmxvbmcJMTA3MTcwOTAzMAorCS5sb25nCTMyOTM0OTQ2NTEKKwkubG9uZwkzMTYwMTIwMzAxCisJLmxvbmcJODUyNzQyNTYyCisJLmxvbmcJMTA3MTcwMzAyMAorCS5sb25nCTY2NzI1MzU4NgorCS5sb25nCTEwMDk3OTM1NTkKKwkubG9uZwk3Mjg5MDk4MTUKKwkubG9uZwkxMDcxNjk3MDQyCisJLmxvbmcJMzgzOTMwMjI1CisJLmxvbmcJMTAxNTAyOTQ2OAorCS5sb25nCTE4MjgyOTI4NzkKKwkubG9uZwkxMDcxNjkxMDk2CisJLmxvbmcJMTI1NTk1Njc0NworCS5sb25nCTEwMTU1ODgzOTgKKwkubG9uZwkzNDAyMDM2MDk5CisJLmxvbmcJMTA3MTY4NTE4MgorCS5sb25nCTQwNTg4OTMzNAorCS5sb25nCTEwMTUxMDU2NTYKKwkubG9uZwk0MTAzNjA3NzYKKwkubG9uZwkxMDcxNjc5MzAxCisJLmxvbmcJMTI2OTk5MDY1NQorCS5sb25nCTEwMTE5NzU4NzAKKwkubG9uZwk3MDI0MTI1MTAKKwkubG9uZwkxMDcxNjczNDUxCisJLmxvbmcJMzgwMzI2NjA4NworCS5sb25nCTMxNjIyODA0MTUKKwkubG9uZwkzNTQxNDAyOTk2CisJLmxvbmcJMTA3MTY2NzYzMgorCS5sb25nCTI3NTkxNzczMTcKKwkubG9uZwkxMDE0ODU0NjI2CisJLmxvbmcJMzg5OTU1NTcxNworCS5sb25nCTEwNzE2NjE4NDUKKwkubG9uZwk0MjcyODA3NTAKKwkubG9uZwkzMTYyNTQ2OTcyCisJLmxvbmcJMTA0ODAxOTA0MQorCS5sb25nCTEwNzE2NTYwOTAKKwkubG9uZwkxMzk4NDc0ODQ1CisJLmxvbmcJMzE2MDUxMDU5NQorCS5sb25nCTI4NTE4MTIxNDkKKwkubG9uZwkxMDcxNjUwMzY1CisJLmxvbmcJMjU5NTgwMjU1MQorCS5sb25nCTEwMTU3NjczMzcKKwkudHlwZQlUMl9uZWdfZixAb2JqZWN0CisJLnNpemUJVDJfbmVnX2YsMjA0OAorCS5hbGlnbiAxNgorcHY6CisJLmxvbmcJMzA3ODEzNTY0NAorCS5sb25nCTEwNDk3ODc5ODMKKwkubG9uZwkzODE3NzQ4NzAKKwkubG9uZwkxMDYyNjUwMjIwCisJLmxvbmcJNDM2MzE0MTM3CisJLmxvbmcJMTA1NjU3MTgwOAorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDY3Nzk5ODkzCisJLnR5cGUJcHYsQG9iamVjdAorCS5zaXplCXB2LDMyCisJLmFsaWduIDQKK0hBTEZNQVNLOgorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwkyMTQ3NDgzNjQ3CisJLnR5cGUJSEFMRk1BU0ssQG9iamVjdAorCS5zaXplCUhBTEZNQVNLLDgKKwkuYWxpZ24gNAorT05FTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS50eXBlCU9ORU1BU0ssQG9iamVjdAorCS5zaXplCU9ORU1BU0ssOAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorLy8gLS0gQmVnaW4gRFdBUkYyIFNFR01FTlQgLmVoX2ZyYW1lCisJLnNlY3Rpb24gLmVoX2ZyYW1lLCJhIixAcHJvZ2JpdHMKKy5laF9mcmFtZV9zZWc6CisJLmFsaWduIDEKKwkuNGJ5dGUgMHgwMDAwMDAxNAorCS44Ynl0ZSAweDAwNTI3YTAxMDAwMDAwMDAKKwkuOGJ5dGUgMHgwODA3MGMxYjAxMTA3ODAxCisJLjRieXRlIDB4MDAwMDAxOTAKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2Nvc2guMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2Nvc2guNS0uLl9fX3RhZ192YWx1ZV9jb3NoLjEKKwkuMmJ5dGUgMHgwNDAwCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2Nvc2guMy0uLl9fX3RhZ192YWx1ZV9jb3NoLjEKKwkuMmJ5dGUgMHgxMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9jb3NoLjQtLi5fX190YWdfdmFsdWVfY29zaC4zCisJLjJieXRlIDB4MDgwZQorCS5ieXRlIDB4MDAKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9lX2V4cC5TIGIvbGlibS94ODZfNjQvZV9leHAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODgyZGZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvZV9leHAuUwpAQCAtMCwwICsxLDYzNiBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIERlc2NyaXB0aW9uOgorLy8gIExldCBLID0gNjQgKHRhYmxlIHNpemUpLgorLy8gICAgICAgIHggICAgeC9sb2coMikgICAgIG4KKy8vICAgICAgIGUgID0gMiAgICAgICAgICA9IDIgKiBUW2pdICogKDEgKyBQKHkpKQorLy8gIHdoZXJlCisvLyAgICAgICB4ID0gbSpsb2coMikvSyArIHksICAgIHkgaW4gWy1sb2coMikvSy4ubG9nKDIpL0tdCisvLyAgICAgICBtID0gbipLICsgaiwgICAgICAgICAgIG0sbixqIC0gc2lnbmVkIGludGVnZXIsIGogaW4gWy1LLzIuLksvMl0KKy8vICAgICAgICAgICAgICAgICAgai9LCisvLyAgICAgICB2YWx1ZXMgb2YgMiAgIGFyZSB0YWJ1bGF0ZWQgYXMgVFtqXSA9IFRfaGlbal0gKCAxICsgVF9sb1tqXSkuCisvLworLy8gICAgICAgUCh5KSBpcyBhIG1pbmltYXggcG9seW5vbWlhbCBhcHByb3hpbWF0aW9uIG9mIGV4cCh4KS0xCisvLyAgICAgICBvbiBzbWFsbCBpbnRlcnZhbCBbLWxvZygyKS9LLi5sb2coMikvS10gKHdlcmUgY2FsY3VsYXRlZCBieSBNYXBsZSBWKS4KKy8vCisvLyAgVG8gYXZvaWQgcHJvYmxlbXMgd2l0aCBhcml0aG1ldGljIG92ZXJmbG93IGFuZCB1bmRlcmZsb3csCisvLyAgICAgICAgICAgIG4gICAgICAgICAgICAgICAgICAgICAgICBuMSAgbjIKKy8vICB2YWx1ZSBvZiAyICBpcyBzYWZlbHkgY29tcHV0ZWQgYXMgMiAqIDIgd2hlcmUgbjEgaW4gWy1CSUFTLzIuLkJJQVMvMl0KKy8vICB3aGVyZSBCSUFTIGlzIGEgdmFsdWUgb2YgZXhwb25lbnQgYmlhcy4KKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGV4cChOYU4pID0gTmFOCisvLyAgZXhwKCtJTkYpID0gK0lORgorLy8gIGV4cCgtSU5GKSA9IDAKKy8vICBleHAoeCkgPSAxIGZvciBzdWJub3JtYWxzCisvLyAgZm9yIGZpbml0ZSBhcmd1bWVudCwgb25seSBleHAoMCk9MSBpcyBleGFjdAorLy8gIEZvciBJRUVFIGRvdWJsZQorLy8gICAgaWYgeCA+ICA3MDkuNzgyNzEyODkzMzgzOTczMDk2IHRoZW4gZXhwKHgpIG92ZXJmbG93CisvLyAgICBpZiB4IDwgLTc0NS4xMzMyMTkxMDE5NDExMDg0MjAgdGhlbiBleHAoeCkgdW5kZXJmbG93CisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgZXhwCitFTlRSWShleHApCisjIHBhcmFtZXRlciAxOiAleG1tMAorLi5CMS4xOgorLi5fX190YWdfdmFsdWVfZXhwLjE6CisgICAgICAgIHN1YnEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2V4cC4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJXJzcCkKKy4uQjEuMjoKKyAgICAgICAgdW5wY2tscGQgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgY3YoJXJpcCksICV4bW0xCisgICAgICAgIG1vdmFwZCAgICBTaGlmdGVyKCVyaXApLCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgMTYrY3YoJXJpcCksICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAzMitjdiglcmlwKSwgJXhtbTMKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAkMTY1MjcsICVlZHgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQxNTUwNCwgJWVheAorICAgICAgICBvcmwgICAgICAgJWVheCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJC0yMTQ3NDgzNjQ4LCAlZWR4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIGFkZHBkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tNworICAgICAgICBzdWJwZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDY0K2N2KCVyaXApLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA4MCtjdiglcmlwKSwgJXhtbTUKKyAgICAgICAgc3VicGQgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZkICAgICAgJXhtbTcsICVlYXgKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQ2MywgJWVjeAorICAgICAgICBzaGxsICAgICAgJDQsICVlY3gKKyAgICAgICAgc2FybCAgICAgICQ2LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIG1vdmRxYSAgICBtbWFzayglcmlwKSwgJXhtbTYKKyAgICAgICAgcGFuZCAgICAgICV4bW02LCAleG1tNworICAgICAgICBtb3ZkcWEgICAgYmlhcyglcmlwKSwgJXhtbTYKKyAgICAgICAgcGFkZHEgICAgICV4bW02LCAleG1tNworICAgICAgICBwc2xscSAgICAgJDQ2LCAleG1tNworICAgICAgICBzdWJwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGxlYSAgICAgICBUYmxfYWRkciglcmlwKSwgJXI4CisgICAgICAgIG1vdmFwZCAgICAoJXJjeCwlcjgpLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgICV4bW0wLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgICV4bW00LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHBkICAgICA0OCtjdiglcmlwKSwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICB1bnBja2hwZCAgJXhtbTIsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBvcnBkICAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIHVucGNraHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIGFkZGwgICAgICAkODk0LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTkxNiwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICBBTExPTkVTKCVyaXApLCAleG1tNAorICAgICAgICBtb3ZsICAgICAgJC0xMDIyLCAlZWR4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIG1vdmQgICAgICAlZWR4LCAleG1tNQorICAgICAgICBwc2xscSAgICAgJXhtbTUsICV4bW00CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkMSwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICBlYmlhcyglcmlwKSwgJXhtbTYKKyAgICAgICAgcHNsbHEgICAgICQ0LCAleG1tMworICAgICAgICBwc3ViZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgY21wbCAgICAgICQ1MiwgJWVkeAorICAgICAgICBqZyAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKyAgICAgICAgYW5kcGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBwYWRkZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBjbXBsICAgICAgJDEwMjMsICVlY3gKKyAgICAgICAgamdlICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc2OCwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzUuMC4yOgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbW92cSAgICAgICV4bW02LCAleG1tMAorICAgICAgICBweG9yICAgICAgJXhtbTQsICV4bW02CisgICAgICAgIHBzcmFkICAgICAkMzEsICV4bW02CisgICAgICAgIHBzaHVmZCAgICAkODUsICV4bW02LCAleG1tNgorICAgICAgICBwc2xscSAgICAgJDEsICV4bW0wCisgICAgICAgIHBzcmxxICAgICAkMSwgJXhtbTAKKyAgICAgICAgcHhvciAgICAgICV4bW02LCAleG1tMAorICAgICAgICBwc3JscSAgICAgJDYzLCAleG1tNgorICAgICAgICBwYWRkcSAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHBhZGRxICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNSwgKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGpuYiAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgcGFkZGQgICAgICV4bW02LCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNSwgKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKyAgICAgICAgbW92bCAgICAgIDEyKCVyc3ApLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkLTIxNDc0ODM2NDgsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMgorICAgICAgICBtb3ZzZCAgICAgWE1BWCglcmlwKSwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIG1vdmwgICAgICAkMTQsICglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjIKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgbW92c2QgICAgIFhNSU4oJXJpcCksICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNSwgKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisgICAgICAgIG1vdmwgICAgICA4KCVyc3ApLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4yCisgICAgICAgIG1vdmwgICAgICAxMiglcnNwKSwgJWVheAorICAgICAgICBjbXBsICAgICAgJDIxNDY0MzUwNzIsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzEyLjAuMgorICAgICAgICBtb3ZzZCAgICAgSU5GKCVyaXApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8xMi4wLjI6CisgICAgICAgIG1vdnNkICAgICBaRVJPKCVyaXApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIG1vdnNkICAgICA4KCVyc3ApLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorICAgICAgICBtb3ZsICAgICAgMTIoJXJzcCksICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTA4MzE3OTAwOCwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjIKKyAgICAgICAgbW92c2QgICAgIDgoJXJzcCksICV4bW0wCisgICAgICAgIGFkZHNkICAgICBPTkVfdmFsKCVyaXApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAxNiglcnNwKQorLi5CMS4zOgorICAgICAgICBtb3ZxICAgICAgMTYoJXJzcCksICV4bW0wCisuTF8yVEFHX1BBQ0tFVF8xMy4wLjI6CisuLkIxLjU6CisgICAgICAgIGFkZHEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2V4cC40OgorICAgICAgICByZXQgICAgICAgCisuLl9fX3RhZ192YWx1ZV9leHAuNToKK0VORChleHApCisjIC0tIEVuZCAgZXhwCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitjdjoKKwkubG9uZwkxNjk3MzUwMzk4CisJLmxvbmcJMTA3OTQ0ODkwMworCS5sb25nCTE2OTczNTAzOTgKKwkubG9uZwkxMDc5NDQ4OTAzCisJLmxvbmcJNDI3Nzc5Njg2NAorCS5sb25nCTEwNjU3NTgyNzQKKwkubG9uZwk0Mjc3Nzk2ODY0CisJLmxvbmcJMTA2NTc1ODI3NAorCS5sb25nCTMxNjQ0ODY0NTgKKwkubG9uZwkxMDI1MzA4NTcwCisJLmxvbmcJMzE2NDQ4NjQ1OAorCS5sb25nCTEwMjUzMDg1NzAKKwkubG9uZwk0Mjk0OTY3Mjk0CisJLmxvbmcJMTA3MTY0NDY3MQorCS5sb25nCTQyOTQ5NjcyOTQKKwkubG9uZwkxMDcxNjQ0NjcxCisJLmxvbmcJMzgxMTA4ODQ4MAorCS5sb25nCTEwNjI2NTAyMDQKKwkubG9uZwkxNDMyMDY3NjIxCisJLmxvbmcJMTA2Nzc5OTg5MworCS5sb25nCTMyMzA3MTU2NjMKKwkubG9uZwkxMDY1NDIzMTI1CisJLmxvbmcJMTQzMTYwNDEyOQorCS5sb25nCTEwNjk4OTcwNDUKKwkudHlwZQljdixAb2JqZWN0CisJLnNpemUJY3YsOTYKKwkuYWxpZ24gMTYKK1NoaWZ0ZXI6CisJLmxvbmcJMAorCS5sb25nCTExMjc3NDM0ODgKKwkubG9uZwkwCisJLmxvbmcJMTEyNzc0MzQ4OAorCS50eXBlCVNoaWZ0ZXIsQG9iamVjdAorCS5zaXplCVNoaWZ0ZXIsMTYKKwkuYWxpZ24gMTYKK21tYXNrOgorCS5sb25nCTQyOTQ5NjcyMzIKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzIzMgorCS5sb25nCTAKKwkudHlwZQltbWFzayxAb2JqZWN0CisJLnNpemUJbW1hc2ssMTYKKwkuYWxpZ24gMTYKK2JpYXM6CisJLmxvbmcJNjU0NzIKKwkubG9uZwkwCisJLmxvbmcJNjU0NzIKKwkubG9uZwkwCisJLnR5cGUJYmlhcyxAb2JqZWN0CisJLnNpemUJYmlhcywxNgorCS5hbGlnbiAxNgorVGJsX2FkZHI6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIzNTEwNzY2MQorCS5sb25nCTEwMTgwMDIzNjcKKwkubG9uZwkxMDQ4MDE5MDQwCisJLmxvbmcJMTE0MTgKKwkubG9uZwk4OTYwMDU2NTEKKwkubG9uZwkxMDE1ODYxODQyCisJLmxvbmcJMzU0MTQwMjk5NgorCS5sb25nCTIyOTYwCisJLmxvbmcJMTY0MjUxNDUyOQorCS5sb25nCTEwMTI5ODc3MjYKKwkubG9uZwk0MTAzNjA3NzYKKwkubG9uZwkzNDYyOQorCS5sb25nCTE1Njg4OTc5MDAKKwkubG9uZwkxMDE2NTY4NDg2CisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTQ2NDI0CisJLmxvbmcJMTg4MjE2ODUyOQorCS5sb25nCTEwMTA3NDQ4OTMKKwkubG9uZwk4NTI3NDI1NjIKKwkubG9uZwk1ODM0OAorCS5sb25nCTUwOTg1Mjg4OAorCS5sb25nCTEwMTczMzYxNzQKKwkubG9uZwkzNDkwODYzOTUyCisJLmxvbmcJNzA0MDEKKwkubG9uZwk2NTMyNzczMDcKKwkubG9uZwkxMDE3NDMxMzgwCisJLmxvbmcJMjkzMDMyMjkxMQorCS5sb25nCTgyNTg2CisJLmxvbmcJMTY0OTU1NzQzMAorCS5sb25nCTEwMTc3MjkzNjMKKwkubG9uZwkxMDE0ODQ1ODE4CisJLmxvbmcJOTQ5MDQKKwkubG9uZwkxMDU4MjMxMjMxCisJLmxvbmcJMTAxNTc3NzY3NgorCS5sb25nCTM5NDk5NzIzNDEKKwkubG9uZwkxMDczNTUKKwkubG9uZwkxMDQ0MDAwNjA3CisJLmxvbmcJMTAxNjc4NjE2NworCS5sb25nCTgyODk0Njg1OAorCS5sb25nCTExOTk0MworCS5sb25nCTExNTE3Nzk3MjUKKwkubG9uZwkxMDE1NzA1NDA5CisJLmxvbmcJMjI4ODE1OTk1OAorCS5sb25nCTEzMjY2NworCS5sb25nCTM4MTk0ODEyMzYKKwkubG9uZwkxMDE2NDk5OTY1CisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTE0NTUzMAorCS5sb25nCTI1NTIyMjc4MjYKKwkubG9uZwkxMDE1MDM5Nzg3CisJLmxvbmcJMTcwOTM0MTkxNworCS5sb25nCTE1ODUzMworCS5sb25nCTE4MjkzNTAxOTMKKwkubG9uZwkxMDE1MjE2MDk3CisJLmxvbmcJNDExMjUwNjU5MworCS5sb25nCTE3MTY3NworCS5sb25nCTE5MTMzOTE3OTUKKwkubG9uZwkxMDE1NzU2Njc0CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTE4NDk2NQorCS5sb25nCTEzMDM0MjM5MjYKKwkubG9uZwkxMDE1MjM4MDA1CisJLmxvbmcJMTcxMDMwMjkzCisJLmxvbmcJMTk4Mzk4CisJLmxvbmcJMTU3NDE3Mjc0NgorCS5sb25nCTEwMTYwNjEyNDEKKwkubG9uZwkyOTkyOTAzOTM1CisJLmxvbmcJMjExOTc2CisJLmxvbmcJMzQyNDE1Njk2OQorCS5sb25nCTEwMTcxOTY0MjgKKwkubG9uZwk5MjY1OTE0MzQKKwkubG9uZwkyMjU3MDMKKwkubG9uZwkxOTM4NTEzNTQ3CisJLmxvbmcJMTAxNzYzMTI3MworCS5sb25nCTg4NzQ2MzkyNgorCS5sb25nCTIzOTU3OQorCS5sb25nCTI4MDQ1NjcxNDkKKwkubG9uZwkxMDE1MzkwMDI0CisJLmxvbmcJMTI3NjI2MTQxMAorCS5sb25nCTI1MzYwNgorCS5sb25nCTYzMTA4MzUyNQorCS5sb25nCTEwMTc2OTAxODIKKwkubG9uZwk1Njk4NDczMzcKKwkubG9uZwkyNjc3ODYKKwkubG9uZwkxNjIzMzcwNzcwCisJLmxvbmcJMTAxMTA0OTQ1MworCS5sb25nCTE2MTcwMDQ4NDUKKwkubG9uZwkyODIxMjAKKwkubG9uZwkzNjY3OTg1MjczCisJLmxvbmcJMTAxMzg5NDM2OQorCS5sb25nCTMwNDkzNDAxMTIKKwkubG9uZwkyOTY2MTAKKwkubG9uZwkzMTQ1Mzc5NzYwCisJLmxvbmcJMTAxNDQwMzI3OAorCS5sb25nCTM1NzcwOTY3NDMKKwkubG9uZwkzMTEyNTgKKwkubG9uZwkyNjAzMTAwNjgxCisJLmxvbmcJMTAxNzE1MjQ2MAorCS5sb25nCTE5OTAwMTIwNzAKKwkubG9uZwkzMjYwNjYKKwkubG9uZwkzMjQ5MjAyOTUxCisJLmxvbmcJMTAxNzQ0ODg4MAorCS5sb25nCTE0NTMxNTAwODEKKwkubG9uZwkzNDEwMzUKKwkubG9uZwk0MTkyODg5NzQKKwkubG9uZwkxMDE2MjgwMzI1CisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMzU2MTY3CisJLmxvbmcJMzc5MzUwNzMzNworCS5sb25nCTEwMTYwOTU3MTMKKwkubG9uZwkzNzEyNTA0ODczCisJLmxvbmcJMzcxNDYzCisJLmxvbmcJNzI4MDIzMDkzCisJLmxvbmcJMTAxNjM0NTMxOAorCS5sb25nCTM2MzY2Nzc4NAorCS5sb25nCTM4NjkyNworCS5sb25nCTI1ODI2Nzg1MzgKKwkubG9uZwkxMDE3MTIzNDYwCisJLmxvbmcJMjk1NjYxMjk5NgorCS5sb25nCTQwMjU1OAorCS5sb25nCTc1OTI5NjYKKwkubG9uZwkxMDE2NzIxNTQzCisJLmxvbmcJMjE4NjYxNzM4MAorCS5sb25nCTQxODM2MAorCS5sb25nCTIyODYxMTQ0MQorCS5sb25nCTEwMTY2OTYxNDEKKwkubG9uZwkxNzE5NjE0NDEyCisJLmxvbmcJNDM0MzM0CisJLmxvbmcJMjI2MTY2NTY3MAorCS5sb25nCTEwMTc0NTc1OTMKKwkubG9uZwkxMDEzMjU4Nzk4CisJLmxvbmcJNDUwNDgyCisJLmxvbmcJNTQ0MTQ4OTA3CisJLmxvbmcJMTAxNzMyMzY2NgorCS5sb25nCTM5MDc4MDUwNDMKKwkubG9uZwk0NjY4MDUKKwkubG9uZwkyMzgzOTE0OTE4CisJLmxvbmcJMTAxNzE0MzU4NgorCS5sb25nCTE0NDcxOTI1MjAKKwkubG9uZwk0ODMzMDcKKwkubG9uZwkxMTc2NDEyMDM4CisJLmxvbmcJMTAxNzI2NzM3MgorCS5sb25nCTE5NDQ3ODExOTAKKwkubG9uZwk0OTk5ODgKKwkubG9uZwkyODgyOTU2MzczCisJLmxvbmcJMTAxMzMxMjQ4MQorCS5sb25nCTkxOTU1NTY4MgorCS5sb25nCTUxNjg1MQorCS5sb25nCTMxNTQwNzc2NDgKKwkubG9uZwkxMDE2NTI4NTQzCisJLmxvbmcJMjU3MTk0NzUzOAorCS5sb25nCTUzMzg5NworCS5sb25nCTM0ODY1MTk5OQorCS5sb25nCTEwMTY0MDU3ODAKKwkubG9uZwkyNjA0OTYyNTQwCisJLmxvbmcJNTUxMTI5CisJLmxvbmcJMzI1Mzc5MTQxMgorCS5sb25nCTEwMTU5MjA0MzEKKwkubG9uZwkxMTEwMDg5OTQ3CisJLmxvbmcJNTY4NTQ5CisJLmxvbmcJMTUwOTEyMTg2MAorCS5sb25nCTEwMTQ3NTY5OTUKKwkubG9uZwkyNTY4MzIwODIyCisJLmxvbmcJNTg2MTU4CisJLmxvbmcJMjYxNzY0OTIxMgorCS5sb25nCTEwMTczNDAwOTAKKwkubG9uZwkyOTY2Mjc1NTU2CisJLmxvbmcJNjAzOTU5CisJLmxvbmcJNTUzMjE0NjM0CisJLmxvbmcJMTAxNjQ1NzQyNQorCS5sb25nCTI2ODIxNDYzODMKKwkubG9uZwk2MjE5NTQKKwkubG9uZwk3MzA5NzU3ODMKKwkubG9uZwkxMDE0MDgzNTgwCisJLmxvbmcJMjE5MTc4MjAzMgorCS5sb25nCTY0MDE0NQorCS5sb25nCTE0ODY0OTk1MTcKKwkubG9uZwkxMDE2ODE4OTk2CisJLmxvbmcJMjA2OTc1MTE0MAorCS5sb25nCTY1ODUzNAorCS5sb25nCTI1OTU3ODg5MjgKKwkubG9uZwkxMDE2NDA3OTMyCisJLmxvbmcJMjk5MDQxNzI0NAorCS5sb25nCTY3NzEyMworCS5sb25nCTE4NTMwNTM2MTkKKwkubG9uZwkxMDE1MzEwNzI0CisJLmxvbmcJMTQzNDA1ODE3NQorCS5sb25nCTY5NTkxNQorCS5sb25nCTI0NjI3OTA1MzUKKwkubG9uZwkxMDE1ODE0Nzc1CisJLmxvbmcJMjU3Mjg2NjQ3NworCS5sb25nCTcxNDkxMQorCS5sb25nCTM2OTM5NDQyMTQKKwkubG9uZwkxMDE3MjU5MTEwCisJLmxvbmcJMzA5MjE5MDcxNAorCS5sb25nCTczNDExNAorCS5sb25nCTI5NzkzMzM1NTAKKwkubG9uZwkxMDE3MTg4NjU0CisJLmxvbmcJNDA3NjU1OTk0MgorCS5sb25nCTc1MzUyNgorCS5sb25nCTE3NDA1NDg2MQorCS5sb25nCTEwMTQzMDA2MzEKKwkubG9uZwkyNDIwODgzOTIyCisJLmxvbmcJNzczMTUwCisJLmxvbmcJODE2Nzc4NDE5CisJLmxvbmcJMTAxNDE5NzkzNAorCS5sb25nCTM3MTY1MDIxNzIKKwkubG9uZwk3OTI5ODcKKwkubG9uZwkzNTA3MDUwOTI0CisJLmxvbmcJMTAxNTM0MTE5OQorCS5sb25nCTc3NzUwNzE0NworCS5sb25nCTgxMzA0MQorCS5sb25nCTE4MjE1MTQwODgKKwkubG9uZwkxMDEzNDEwNjA0CisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTgzMzMxMgorCS5sb25nCTkyMDYyMzUzOQorCS5sb25nCTEwMTYyOTU0MzMKKwkubG9uZwkxMjQyMDA3OTMxCisJLmxvbmcJODUzODA1CisJLmxvbmcJMjc4OTAxNzUxMQorCS5sb25nCTEwMTQyNzY5OTcKKwkubG9uZwkzNzA3NDc5MTc1CisJLmxvbmcJODc0NTIwCisJLmxvbmcJMzU4NjIzMzAwNAorCS5sb25nCTEwMTU5NjIxOTIKKwkubG9uZwk2NDY5Njk2NQorCS5sb25nCTg5NTQ2MgorCS5sb25nCTQ3NDY1MDUxNAorCS5sb25nCTEwMTY2NDI0MTkKKwkubG9uZwk4NjM3Mzg3MTgKKwkubG9uZwk5MTY2MzEKKwkubG9uZwkxNjE0NDQ4ODUxCisJLmxvbmcJMTAxNDI4MTczMgorCS5sb25nCTM4ODQ2NjI3NzQKKwkubG9uZwk5MzgwMzAKKwkubG9uZwkyNDUwMDgyMDg2CisJLmxvbmcJMTAxNjE2NDEzNQorCS5sb25nCTI3Mjg2OTM5NzcKKwkubG9uZwk5NTk2NjMKKwkubG9uZwkxMTAxNjY4MzYwCisJLmxvbmcJMTAxNTk4OTE4MAorCS5sb25nCTM5OTkzNTc0NzkKKwkubG9uZwk5ODE1MzEKKwkubG9uZwk4MzU4MTQ4OTQKKwkubG9uZwkxMDE1NzAyNjk3CisJLmxvbmcJMTUzMzk1MzM0NAorCS5sb25nCTEwMDM2MzgKKwkubG9uZwkxMzAxNDAwOTg5CisJLmxvbmcJMTAxNDQ2Njg3NQorCS5sb25nCTIxNzQ2NTI2MzIKKwkubG9uZwkxMDI1OTg1CisJLnR5cGUJVGJsX2FkZHIsQG9iamVjdAorCS5zaXplCVRibF9hZGRyLDEwMjQKKwkuYWxpZ24gMTYKK0FMTE9ORVM6CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDI5NDk2NzI5NQorCS50eXBlCUFMTE9ORVMsQG9iamVjdAorCS5zaXplCUFMTE9ORVMsMTYKKwkuYWxpZ24gMTYKK2ViaWFzOgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkudHlwZQllYmlhcyxAb2JqZWN0CisJLnNpemUJZWJpYXMsMTYKKwkuYWxpZ24gNAorWE1BWDoKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMjE0NjQzNTA3MQorCS50eXBlCVhNQVgsQG9iamVjdAorCS5zaXplCVhNQVgsOAorCS5hbGlnbiA0CitYTUlOOgorCS5sb25nCTAKKwkubG9uZwkxMDQ4NTc2CisJLnR5cGUJWE1JTixAb2JqZWN0CisJLnNpemUJWE1JTiw4CisJLmFsaWduIDQKK0lORjoKKwkubG9uZwkwCisJLmxvbmcJMjE0NjQzNTA3MgorCS50eXBlCUlORixAb2JqZWN0CisJLnNpemUJSU5GLDgKKwkuYWxpZ24gNAorWkVSTzoKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCVpFUk8sQG9iamVjdAorCS5zaXplCVpFUk8sOAorCS5hbGlnbiA0CitPTkVfdmFsOgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLnR5cGUJT05FX3ZhbCxAb2JqZWN0CisJLnNpemUJT05FX3ZhbCw4CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisvLyAtLSBCZWdpbiBEV0FSRjIgU0VHTUVOVCAuZWhfZnJhbWUKKwkuc2VjdGlvbiAuZWhfZnJhbWUsImEiLEBwcm9nYml0cworLmVoX2ZyYW1lX3NlZzoKKwkuYWxpZ24gMQorCS40Ynl0ZSAweDAwMDAwMDE0CisJLjhieXRlIDB4MDA1MjdhMDEwMDAwMDAwMAorCS44Ynl0ZSAweDA4MDcwYzFiMDExMDc4MDEKKwkuNGJ5dGUgMHgwMDAwMDE5MAorCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfZXhwLjEtLgorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9leHAuNS0uLl9fX3RhZ192YWx1ZV9leHAuMQorCS4yYnl0ZSAweDA0MDAKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfZXhwLjMtLi5fX190YWdfdmFsdWVfZXhwLjEKKwkuMmJ5dGUgMHgyMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9leHAuNC0uLl9fX3RhZ192YWx1ZV9leHAuMworCS4yYnl0ZSAweDA4MGUKKwkuYnl0ZSAweDAwCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvZV9oeXBvdC5TIGIvbGlibS94ODZfNjQvZV9oeXBvdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4OWIyYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9lX2h5cG90LlMKQEAgLTAsMCArMSwyMTAgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBYODcgdmVyc2lvbjoKKy8vIFVzZSA4MC1iaXQgRlBVIHByZWNpc2lvbiBmbXVsLCBmc3FydCB0byBjb21wdXRlIHNxdWFyZSBhbmQgc3FydC4KKy8vCisvLyBTU0UgdmVyc2lvbjoKKy8vIFN3YXAgeCwgeSBpZiB8eHw8fHl8CisvLyBGb3IgeD0yXmsqeCwgZ2V0IHk9eSoyXigtaykKKy8vIEdldCBTIH4gc3FydCh4XjIreV4yKSAgKGxlYWRpbmcgMSArIGxlYWRpbmcgMjUgbWFudGlzc2EgYml0cykKKy8vCisvLyBHZXQgRCA9ICggUk4oeF4yK3leMikgLSBTXjIgKSArICggeF4yIC0gUk4oeF4yKSApICsKKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgKCB5XjIgLSAoKFJOKHheMit5XjIpLVJOKHheMikpICkKKy8vCisvLyBSZXN1bHQgaXMgMl5rKihTICsgU2UpLCAgd2hlcmUgU2UgPSBTKmUKKy8vICAgICAgICBTKmUgaXMgYXBwcm94aW1hdGVkIGFzIChELzJTKSooIDEgLSAoRC8yUyleMioxLjAvUyApCisvLworLy8gUmV0dXJuIDJeayooUytTZSkKKy8vCisvLyBGb3IgfHkveHw8Ml4oLTY0KSwgcmV0dXJuIHgKKy8vCisvLyBGb3IgY2FzZXMgd2hlcmUgbWF4aW11bSBiaWFzZWQgZXhwb25lbnQgaXMgZWl0aGVyIGdyZWF0ZXIgdGhhbiA3ZmRoIG9yCisvLyBiZWxvdyAzMiwgdGFrZSBhIHNwZWNpYWwgcGF0aCB0byBjaGVjayBmb3Igc3BlY2lhbCBjYXNlcyAoMCwgTmFOLCBJbmYpLAorLy8gcG9zc2libGUgb3ZlcmZsb3csIGFuZCBtb3JlIGFjY3VyYXRlIGNvbXB1dGF0aW9uIGZvciBkZW5vcm1hbCByZXN1bHRzCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBoeXBvdCh4LHkpLCBoeXBvdCh5LHgpLCBhbmQgaHlwb3QoeCwteSkgYXJlIGVxdWl2YWxlbnQKKy8vICBoeXBvdCh4LCstMCkgaXMgZXF1aXZhbGVudCB0byBmYWJzKHgpCisvLyAgaHlwb3QoeCx5KSA9IHkgaWYgKHg9PU5hTiBvciB4PT1JTkYpIGFuZCB5PT1JTkYKKy8vICBoeXBvdCh4LHkpID0geCBpZiAoeD09TmFOIG9yIHg9PUlORikgYW5kIHkhPUlORiAoZXZlbiBpZiB5PT1OYU4hKQorLy8gIGh5cG90KHgseSkgPSB5IGlmICh4IT1OYU4gYW5kIHghPUlORikgYW5kICh5PT1OYU4gb3IgeT09SU5GKQorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIGh5cG90CitFTlRSWShoeXBvdCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisjIHBhcmFtZXRlciAyOiAleG1tMQorLi5CMS4xOgorLi5fX190YWdfdmFsdWVfaHlwb3QuMToKKy4uX19fdGFnX3ZhbHVlX2h5cG90LjM6CisuLkIxLjI6CisgICAgICAgIHN1YnEgICAgICAkNjQsICVyc3AKKyAgICAgICAgbW92YXBkICAgIHN0YXRpY19jb25zdF90YWJsZSglcmlwKSwgJXhtbTMKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCA0OCglcnNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTEsIDU2KCVyc3ApCisgICAgICAgIGFuZHBkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQyNDUyOCwgJWVheAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjEKKyAgICAgICAgY21wbCAgICAgICQyNDUyOCwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjEKKy5MXzJUQUdfUEFDS0VUXzEuMC4xOgorICAgICAgICBmbGRsICAgICAgNDgoJXJzcCkKKyAgICAgICAgZmxkbCAgICAgIDU2KCVyc3ApCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgwKSwgJXN0CisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgbm9wICAgICAgIAorICAgICAgICBmbXVsICAgICAgJXN0KDApLCAlc3QKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzcXJ0ICAgICAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4xCisuTF8yVEFHX1BBQ0tFVF8wLjAuMToKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgc3VibCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgYWRkbCAgICAgICQ5MjgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQxODU2LCAlZWN4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMQorICAgICAgICBjbXBsICAgICAgJDQ5MDU2LCAlZWF4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorICAgICAgICBmbGRsICAgICAgNDgoJXJzcCkKKyAgICAgICAgZmxkbCAgICAgIDU2KCVyc3ApCisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgZm11bCAgICAgICVzdCgwKSwgJXN0CisgICAgICAgIGZ4Y2ggICAgICAlc3QoMSkKKyAgICAgICAgbm9wICAgICAgIAorICAgICAgICBmbXVsICAgICAgJXN0KDApLCAlc3QKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIGZzcXJ0ICAgICAKKy5MXzJUQUdfUEFDS0VUXzUuMC4xOgorICAgICAgICBmc3RsICAgICAgKCVyc3ApCisgICAgICAgIGZzdHB0ICAgICAxNiglcnNwKQorICAgICAgICB4b3JsICAgICAgJWVheCwgJWVheAorICAgICAgICBtb3Z3ICAgICAgMjQoJXJzcCksICVheAorICAgICAgICBjbXBsICAgICAgJDE3NDA3LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMQorICAgICAgICBmbGRsICAgICAgKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMQorLkxfMlRBR19QQUNLRVRfNC4wLjE6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgMzIoJXJzcCkKKyAgICAgICAgbW92c2QgICAgICV4bW0xLCA0MCglcnNwKQorICAgICAgICBmbGRsICAgICAgMzIoJXJzcCkKKyAgICAgICAgZmFkZGwgICAgIDQwKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMQorLkxfMlRBR19QQUNLRVRfNi4wLjE6CisgICAgICAgIGZsZGwgICAgICAoJXJzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4xCisuTF8yVEFHX1BBQ0tFVF8zLjAuMToKKyAgICAgICAgc2h1ZnBkICAgICQwLCAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92ZHFhICAgICV4bW0wLCAleG1tMgorICAgICAgICBtb3ZkcWEgICAgMTYrc3RhdGljX2NvbnN0X3RhYmxlKCVyaXApLCAleG1tMworICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDMyKCVyc3ApCisgICAgICAgIG1vdnNkICAgICAleG1tMSwgNDAoJXJzcCkKKyAgICAgICAgY21wcGQgICAgICQzLCAleG1tMCwgJXhtbTIKKyAgICAgICAgY21wcGQgICAgICQwLCAleG1tMCwgJXhtbTMKKyAgICAgICAgbW92bXNrcGQgICV4bW0yLCAlZWR4CisgICAgICAgIG1vdm1za3BkICAleG1tMywgJXJheAorICAgICAgICB0ZXN0bCAgICAgJWVkeCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjEKKyAgICAgICAgZmxkbCAgICAgIDMyKCVyc3ApCisgICAgICAgIGZtdWxsICAgICA0MCglcnNwKQorICAgICAgICB0ZXN0cSAgICAgJDEsICVyYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4xCisgICAgICAgIHRlc3RxICAgICAkMiwgJXJheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4xCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMQorLkxfMlRBR19QQUNLRVRfOC4wLjE6CisgICAgICAgIGZsZGwgICAgICAzMiglcnNwKQorICAgICAgICBmYWRkbCAgICAgNDAoJXJzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4xCisuTF8yVEFHX1BBQ0tFVF85LjAuMToKKyAgICAgICAgZnN0cGwgICAgIDQwKCVyc3ApCisgICAgICAgIGZsZGwgICAgICAzMiglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjEKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMToKKyAgICAgICAgZnN0cGwgICAgIDMyKCVyc3ApCisgICAgICAgIGZsZGwgICAgICA0MCglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjEKKy5MXzJUQUdfUEFDS0VUXzIuMC4xOgorLkxfMlRBR19QQUNLRVRfNy4wLjE6CisgICAgICAgIGZzdHBsICAgICAxNiglcnNwKQorICAgICAgICBtb3ZxICAgICAgMTYoJXJzcCksICV4bW0wCisgICAgICAgIGFkZHEgICAgICAkNjQsICVyc3AKKyAgICAgICAgcmV0ICAgICAgIAorLi5CMS4zOgorLi5fX190YWdfdmFsdWVfaHlwb3QuNDoKK0VORChoeXBvdCkKKyMgLS0gRW5kICBoeXBvdAorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorc3RhdGljX2NvbnN0X3RhYmxlOgorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwkyMTQ3NDgzNjQ3CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDc0ODM2NDcKKwkubG9uZwkwCisJLmxvbmcJMjE0NjQzNTA3MgorCS5sb25nCTAKKwkubG9uZwkyMTQ2NDM1MDcyCisJLnR5cGUJc3RhdGljX2NvbnN0X3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlzdGF0aWNfY29uc3RfdGFibGUsMzIKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9oeXBvdC4xLS4KKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfaHlwb3QuNC0uLl9fX3RhZ192YWx1ZV9oeXBvdC4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9oeXBvdC4zLS4uX19fdGFnX3ZhbHVlX2h5cG90LjEKKwkuMmJ5dGUgMHgxMDBlCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvZV9sb2cuUyBiL2xpYm0veDg2XzY0L2VfbG9nLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBjYjVlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2XzY0L2VfbG9nLlMKQEAgLTAsMCArMSw3NzkgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgICB4PTJeayAqIG14LCBteCBpbiBbMSwyKQorLy8KKy8vICAgIEdldCBCfjEvbXggYmFzZWQgb24gdGhlIG91dHB1dCBvZiByY3BzcyBpbnN0cnVjdGlvbiAoQjApCisvLyAgICBCID0gaW50KChCMCoyXjcrMC41KSkvMl43CisvLworLy8gICAgUmVkdWNlZCBhcmd1bWVudDogcj1CKm14LTEuMCAoY29tcHV0ZWQgYWNjdXJhdGVseSBpbiBoaWdoIGFuZCBsb3cgcGFydHMpCisvLworLy8gICAgUmVzdWx0OiAgaypsb2coMikgLSBsb2coQikgKyBwKHIpIGlmIHx4LTF8ID49IHNtYWxsIHZhbHVlICgyXi02KSAgYW5kCisvLyAgICAgICAgICAgICBwKHIpIGlzIGEgZGVncmVlIDcgcG9seW5vbWlhbAorLy8gICAgICAgICAgICAgLWxvZyhCKSByZWFkIGZyb20gZGF0YSB0YWJsZSAoaGlnaCwgbG93IHBhcnRzKQorLy8gICAgICAgICAgICAgUmVzdWx0IGlzIGZvcm1lZCBmcm9tIGhpZ2ggYW5kIGxvdyBwYXJ0cworLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgbG9nKE5hTikgPSBxdWlldCBOYU4sIGFuZCByYWlzZSBpbnZhbGlkIGV4Y2VwdGlvbgorLy8gIGxvZygrSU5GKSA9IHRoYXQgSU5GCisvLyAgbG9nKDApID0gLUlORiB3aXRoIGRpdmlkZS1ieS16ZXJvIGV4Y2VwdGlvbiByYWlzZWQKKy8vICBsb2coMSkgPSArMAorLy8gIGxvZyh4KSA9IE5hTiB3aXRoIGludmFsaWQgZXhjZXB0aW9uIHJhaXNlZCBpZiB4IDwgLTAsIGluY2x1ZGluZyAtSU5GCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgbG9nCitFTlRSWShsb2cpCisjIHBhcmFtZXRlciAxOiAleG1tMAorLi5CMS4xOgorLi5fX190YWdfdmFsdWVfbG9nLjE6CisgICAgICAgIHN1YnEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2xvZy4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglcnNwKQorLi5CMS4yOgorICAgICAgICBtb3ZxICAgICAgJDB4M2ZmMDAwMDAwMDAwMDAwMCwgJXJheAorICAgICAgICBtb3ZkICAgICAgJXJheCwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgICQweDc3ZjAwMDAwMDAwMDAwMDAsICVyZHgKKyAgICAgICAgbW92ZCAgICAgICVyZHgsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlY3gKKyAgICAgICAgbW92ZCAgICAgICVyY3gsICV4bW00CisgICAgICAgIG1vdnEgICAgICAkMHhmZmZmZTAwMDAwMDAwMDAwLCAlcjgKKyAgICAgICAgbW92ZCAgICAgICVyOCwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNjM1MiwgJWVjeAorICAgICAgICBwc3JscSAgICAgJDI3LCAleG1tMAorICAgICAgICBsZWEgICAgICAgTF90YmwoJXJpcCksICVyMTEKKyAgICAgICAgcHNybGQgICAgICQyLCAleG1tMAorICAgICAgICByY3BwcyAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjI4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgcHNybHEgICAgICQxMiwgJXhtbTEKKyAgICAgICAgc3VibCAgICAgICQxNiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzM2LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorLkxfMlRBR19QQUNLRVRfMS4wLjI6CisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgb3JwZCAgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW0xLCAleG1tNQorICAgICAgICBhbmRwZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIGN2dHNpMnNkICAlZWF4LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdnEgICAgICBsb2cyKCVyaXApLCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgY29lZmYoJXJpcCksICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgYW5kbCAgICAgICQxNjcxMTY4MCwgJWVkeAorICAgICAgICBzaHJsICAgICAgJDEyLCAlZWR4CisgICAgICAgIG1vdmFwZCAgICAoJXIxMSwlcmR4KSwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIDE2K2NvZWZmKCVyaXApLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAzMitjb2VmZiglcmlwKSwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBtb3ZkZHVwICAgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICA4K2xvZzIoJXJpcCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgbW92ZGR1cCAgICV4bW0wLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzAuMC4yOgorICAgICAgICBtb3ZxICAgICAgKCVyc3ApLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgKCVyc3ApLCAleG1tMQorICAgICAgICBhZGRsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIGNtcGwgICAgICAkMTYsICVlYXgKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlY3gKKyAgICAgICAgb3JsICAgICAgICVlY3gsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMTg0MTYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBvcnBkICAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIHBzcmxxICAgICAkMjcsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTg0MTYsICVlY3gKKyAgICAgICAgcHNybGQgICAgICQyLCAleG1tMAorICAgICAgICByY3BwcyAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjI4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgcHNybHEgICAgICQxMiwgJXhtbTEKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJC0yMDk3MTUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMywgMTYoJXJzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkNDkxMzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBkaXZzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMiwgMTYoJXJzcCkKKy5MXzJUQUdfUEFDS0VUXzguMC4yOgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsIDgoJXJzcCkKKy4uQjEuMzoKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW0wCisuTF8yVEFHX1BBQ0tFVF85LjAuMjoKKy4uQjEuNToKKyAgICAgICAgYWRkcSAgICAgICQyNCwgJXJzcAorLi5fX190YWdfdmFsdWVfbG9nLjQ6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2xvZy41OgorRU5EKGxvZykKKyMgLS0gRW5kICBsb2cKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK0xfdGJsOgorCS5sb25nCTQyNzc4MTEyMDAKKwkubG9uZwkxMDcyMDQ5NzMwCisJLmxvbmcJMjQ3OTMxODgzMgorCS5sb25nCTEwMjY0ODcxMjcKKwkubG9uZwkyODU0NDkyMTYwCisJLmxvbmcJMTA3MjAzMzQxMAorCS5sb25nCTIxNTYzMTU1MAorCS5sb25nCTEwMjU2Mzg5NjgKKwkubG9uZwkxNTQ3MDYxMjQ4CisJLmxvbmcJMTA3MjAxNzIxNgorCS5sb25nCTI4ODY3ODE0MzUKKwkubG9uZwkxMDI2NDIzMzk1CisJLmxvbmcJNjQ5ODI1MjgwCisJLmxvbmcJMTA3MjAwMTE0NgorCS5sb25nCTQyODE1MzM0MDUKKwkubG9uZwkxMDI0MDM4OTIzCisJLmxvbmcJNjQ2MzQ2NzUyCisJLmxvbmcJMTA3MTk4NTE5OAorCS5sb25nCTE1NjI3MzU5MjEKKwkubG9uZwkxMDIzNzkwMjc2CisJLmxvbmcJMjIwMzczNDAxNgorCS5sb25nCTEwNzE5NjkzNzAKKwkubG9uZwkxODM4Mzk3NjkxCisJLmxvbmcJMzE3MzkzNjIwOQorCS5sb25nCTE4NzIxNjk5ODQKKwkubG9uZwkxMDcxOTUzNjYxCisJLmxvbmcJMzk4MTIwMjQ2MAorCS5sb25nCTEwMjIzMjUwMTMKKwkubG9uZwk2Njk1NTc3NjAKKwkubG9uZwkxMDcxOTM4MDY5CisJLmxvbmcJNDE4MjU5NzgwMgorCS5sb25nCTMxNzMxNzQxMjIKKwkubG9uZwk0MDc2NDEzOTUyCisJLmxvbmcJMTA3MTkyMjU5MQorCS5sb25nCTEyMDkwMjkxMTEKKwkubG9uZwkzMTcwNzM2MjA3CisJLmxvbmcJNTU2MTI1MTg0CisJLmxvbmcJMTA3MTkwNzIyOAorCS5sb25nCTgyMTA4NjAyOAorCS5sb25nCTMxNzM0MzcwNDkKKwkubG9uZwkyMDQ5MTQ2ODgKKwkubG9uZwkxMDcxODkxOTc2CisJLmxvbmcJMjA5NzAyNTk4NgorCS5sb25nCTMxNzEwNzE3OTgKKwkubG9uZwkzODc1NDUwODgKKwkubG9uZwkxMDcxODc2ODM0CisJLmxvbmcJMzE0MjkzNjk5NgorCS5sb25nCTMxNzMwOTIyMTgKKwkubG9uZwkyOTEyNzgzMzYwCisJLmxvbmcJMTA3MTg2MTgwMAorCS5sb25nCTI1MDI0MjAxNDAKKwkubG9uZwkxMDI0NTA1OTE5CisJLmxvbmcJMTE0NDI2MDYwOAorCS5sb25nCTEwNzE4NDY4NzQKKwkubG9uZwkzMzE1NjU4MTQwCisJLmxvbmcJMzE3MzQ2OTg0MworCS5sb25nCTE0NzEyMDk0NzIKKwkubG9uZwkxMDcxODMyMDUzCisJLmxvbmcJMTI5NjIxMDA5CisJLmxvbmcJMzE3MjQ0Mzg3NworCS5sb25nCTE4Mjk2ODMyMDAKKwkubG9uZwkxMDcxODE3MzM2CisJLmxvbmcJMzg4NTQ2NzY5MworCS5sb25nCTEwMjU1MzUyNzUKKwkubG9uZwkyODg2NzY4NjQKKwkubG9uZwkxMDcxODAyNzIyCisJLmxvbmcJODYxMzk0NzIKKwkubG9uZwkzMTcxNjM5NzkzCisJLmxvbmcJMzYzNjM3ODYyNAorCS5sb25nCTEwNzE3ODgyMDgKKwkubG9uZwkxODUwMjM4NTg3CisJLmxvbmcJMTAyNDY1NDM0MgorCS5sb25nCTE2MDY4MTc3OTIKKwkubG9uZwkxMDcxNzczNzk1CisJLmxvbmcJMzM4ODg5OTc5NQorCS5sb25nCTMxNzM2NzU1ODYKKwkubG9uZwkxMjM2MTY0NjA4CisJLmxvbmcJMTA3MTc1OTQ4MAorCS5sb25nCTM5ODM1OTkyMDcKKwkubG9uZwkxMDIwMDQ2NTU4CisJLmxvbmcJMTA4OTYxNjg5NgorCS5sb25nCTEwNzE3NDUyNjIKKwkubG9uZwk0MTcxOTc0MjI0CisJLmxvbmcJMTAyNDc3MzE5OAorCS5sb25nCTQxNDMwOTM3NjAKKwkubG9uZwkxMDcxNzMxMTM5CisJLmxvbmcJMjcyNzU4NzQwMQorCS5sb25nCTMxNzM5NjUyMDcKKwkubG9uZwk2MDAyNjc3NzYKKwkubG9uZwkxMDcxNzE3MTEyCisJLmxvbmcJMzE0NzY4NTA0MgorCS5sb25nCTMxNzMzNTMwMzEKKwkubG9uZwkyMjQ5MzEzMjgwCisJLmxvbmcJMTA3MTcwMzE3NworCS5sb25nCTEyNTgzNTA3NAorCS5sb25nCTEwMjUyNTU4MzIKKwkubG9uZwkzODA1MzAzODA4CisJLmxvbmcJMTA3MTY4OTMzNAorCS5sb25nCTIyODk5OTEyMDcKKwkubG9uZwkxMDI1NDYwMzMxCisJLmxvbmcJODcyNzg1OTIKKwkubG9uZwkxMDcxNjc1NTgzCisJLmxvbmcJMTEwNjExNDA0NQorCS5sb25nCTEwMjU5MzM2MDIKKwkubG9uZwkzMTk1NDA1MzEyCisJLmxvbmcJMTA3MTY2MTkyMAorCS5sb25nCTM4ODUzMTY1NzYKKwkubG9uZwkzMTcxMjA2MjM5CisJLmxvbmcJMzg1MzY0OTkyMAorCS5sb25nCTEwNzE2NDgzNDYKKwkubG9uZwkyOTc3MDY5ODUyCisJLmxvbmcJMzE3MTIzNjc3MQorCS5sb25nCTI5NDQwMjY2MjQKKwkubG9uZwkxMDcxNjI1MDQ4CisJLmxvbmcJMTAwODA5MzQ5MworCS5sb25nCTEwMjM0NDQ0NzQKKwkubG9uZwkzOTkzMTgwMTYwCisJLmxvbmcJMTA3MTU5ODI0NworCS5sb25nCTE4NjIzNTU1OTUKKwkubG9uZwkxMDI0NjQyNTMzCisJLmxvbmcJMTQ1NDY0MTE1MgorCS5sb25nCTEwNzE1NzE2MTcKKwkubG9uZwkxNTE0NjAzMDg5CisJLmxvbmcJMTAyNjUwMDU5NgorCS5sb25nCTMyODYwODU2MzIKKwkubG9uZwkxMDcxNTQ1MTU0CisJLmxvbmcJMTQwMDAyODQyNAorCS5sb25nCTMxNzMyNzkwNTYKKwkubG9uZwk0Mzg3NzM3NjAKKwkubG9uZwkxMDcxNTE4ODU4CisJLmxvbmcJMTIwNzI3ODY0CisJLmxvbmcJMzE3MjE0ODkxNAorCS5sb25nCTEyMTI5NzkyMDAKKwkubG9uZwkxMDcxNDkyNzI1CisJLmxvbmcJMTYyNTA1NTU5NAorCS5sb25nCTMxNzI5MDE5MzMKKwkubG9uZwkxMTg5MDE3NjAwCisJLmxvbmcJMTA3MTQ2Njc1NAorCS5sb25nCTM5MjAwNjIzNzYKKwkubG9uZwkxMDI1NzI3NDA3CisJLmxvbmcJNDAzMDY0ODMyCisJLmxvbmcJMTA3MTQ0MDk0MworCS5sb25nCTEwNTMyNzE3MjgKKwkubG9uZwkzMTcxMzkxNDI3CisJLmxvbmcJMzM0MzIxMDQ5NgorCS5sb25nCTEwNzE0MTUyODkKKwkubG9uZwkzMjQzMzk1NTAyCisJLmxvbmcJMzE3MzYyNzYxMworCS5sb25nCTE3NjU3Nzc0MDgKKwkubG9uZwkxMDcxMzg5NzkyCisJLmxvbmcJMjE0NTk2ODUxMgorCS5sb25nCTEwMjYzNTQzMDQKKwkubG9uZwk0NjE0MzA3ODQKKwkubG9uZwkxMDcxMzY0NDQ5CisJLmxvbmcJNDA5NDMyMjI4NQorCS5sb25nCTEwMjYwMjE0NjcKKwkubG9uZwk3MTcwNjYyNAorCS5sb25nCTEwNzEzMzkyNTgKKwkubG9uZwk3NjM2MzIwMjEKKwkubG9uZwkxMDI0NDk2OTMzCisJLmxvbmcJMTM4MDUwMzU1MgorCS5sb25nCTEwNzEzMTQyMTcKKwkubG9uZwkxMzgzNTQ3OTkyCisJLmxvbmcJMzE3MzA4ODQ1MworCS5sb25nCTEwMTU3MzIyMjQKKwkubG9uZwkxMDcxMjg5MzI1CisJLmxvbmcJMzE5ODY0Njg3NworCS5sb25nCTEwMjUzOTAzMjIKKwkubG9uZwkzNTk3NzIxNgorCS5sb25nCTEwNzEyNjQ1ODAKKwkubG9uZwkyMTQxMDI2ODA1CisJLmxvbmcJMTAyNTc1NDY5MworCS5sb25nCTM5MjczMDYyNDAKKwkubG9uZwkxMDcxMjM5OTc5CisJLmxvbmcJMjgyMTE2MjcyCisJLmxvbmcJMzE3MzM5NDMzNAorCS5sb25nCTExMjUzNDExODQKKwkubG9uZwkxMDcxMjE1NTIzCisJLmxvbmcJMjc2ODQyNzUwNAorCS5sb25nCTMxNzIyNzkwNTkKKwkubG9uZwkxNjY2OTcxNjQ4CisJLmxvbmcJMTA3MTE5MTIwOAorCS5sb25nCTc4NjgzNzYyOQorCS5sb25nCTMxNzI0Mjc0NDUKKwkubG9uZwkyODI3Njk0MDgwCisJLmxvbmcJMTA3MTE2NzAzMworCS5sb25nCTM4NTcxMjI0MTYKKwkubG9uZwkzMTczMDE0MjQxCisJLmxvbmcJMjAwMzY4MzMyOAorCS5sb25nCTEwNzExNDI5OTcKKwkubG9uZwk4NTkwMTA5NTQKKwkubG9uZwkxMDI2NTQ1MDA3CisJLmxvbmcJMTAwNDAxNzY2NAorCS5sb25nCTEwNzExMTkwOTgKKwkubG9uZwkzMzU2NjQ0OTcwCisJLmxvbmcJMzE3MzQ1ODA2NAorCS5sb25nCTE3NTMwMjA0MTYKKwkubG9uZwkxMDcxMDk1MzM0CisJLmxvbmcJNzg4MzM4NTUyCisJLmxvbmcJMTAyNjE1NzY5MworCS5sb25nCTE5OTI3MTgzMzYKKwkubG9uZwkxMDcxMDcxNzA0CisJLmxvbmcJMTIzOTE3OTQ0MworCS5sb25nCTEwMjYzOTQ4ODkKKwkubG9uZwkzODcwMjM0NjI0CisJLmxvbmcJMTA3MTA0ODIwNgorCS5sb25nCTIwODI2MTQ2NjMKKwkubG9uZwkxMDI0OTI2MDUzCisJLmxvbmcJMTA1MDQzNzYzMgorCS5sb25nCTEwNzEwMjQ4NDAKKwkubG9uZwk2NjAwMDc4NDAKKwkubG9uZwkxMDI1NTQ4NDk5CisJLmxvbmcJMTg4Mzk1NTIwCisJLmxvbmcJMTA3MTAwMTYwMworCS5sb25nCTM4Nzg3OTI3MDQKKwkubG9uZwkzMTczODg5NTcxCisJLmxvbmcJMzc0NzE3NjQ0OAorCS5sb25nCTEwNzA5Nzg0OTMKKwkubG9uZwkxNDQ5OTE3MDgKKwkubG9uZwkzMTcxNTUyMDQyCisJLmxvbmcJMTQwNTY2OTM3NgorCS5sb25nCTEwNzA5NTU1MTEKKwkubG9uZwkzOTk5MDg4ODc5CisJLmxvbmcJMTAyNTQ4NjMxNworCS5sb25nCTEyMTE1MTQ4OAorCS5sb25nCTEwNzA5MzI2NTQKKwkubG9uZwkyMTcwODY1NDk3CisJLmxvbmcJMTAyNjQ3MzU4NAorCS5sb25nCTI2NTIzMTk3NDQKKwkubG9uZwkxMDcwOTA5OTIwCisJLmxvbmcJNDUzNjk1NjUyCisJLmxvbmcJMzE3MzkxNjgwOQorCS5sb25nCTMyNjIyMzY2NzIKKwkubG9uZwkxMDcwODg3MzA5CisJLmxvbmcJMTU3ODAwMDUzCisJLmxvbmcJMzE3Mzk4NDIwNgorCS5sb25nCTYwMTIyMTEyMAorCS5sb25nCTEwNzA4NjQ4MjAKKwkubG9uZwkzOTY4OTE3NjYxCisJLmxvbmcJMTAyMzk5Mjg4NgorCS5sb25nCTE5OTk4NDMzMjgKKwkubG9uZwkxMDcwODQyNDUwCisJLmxvbmcJMzA1Mzg5NTAwNAorCS5sb25nCTEwMjQ5OTgyMjgKKwkubG9uZwkxOTkyMTY3NDI0CisJLmxvbmcJMTA3MDgyMDE5OQorCS5sb25nCTI5Njg2MTQ4NTYKKwkubG9uZwkxMDI0NTUyNjUzCisJLmxvbmcJMzc4ODcyNjI3MgorCS5sb25nCTEwNzA3OTgwNjUKKwkubG9uZwkzNTQyMTcwODA4CisJLmxvbmcJMzE3MzU3MzI0MgorCS5sb25nCTIwOTQ4Mjk1NjgKKwkubG9uZwkxMDcwNzc2MDQ4CisJLmxvbmcJMTI0Njc1ODEzMgorCS5sb25nCTEwMjYyMDI4NzQKKwkubG9uZwkyODg2NzU4NDAKKwkubG9uZwkxMDcwNzU0MTQ2CisJLmxvbmcJMzc0NzMyODk1MAorCS5sb25nCTEwMjYzMzE1ODUKKwkubG9uZwkxODI5NjgxMTUyCisJLmxvbmcJMTA3MDczMjM1NworCS5sb25nCTMxMjUxOTc1NDYKKwkubG9uZwkxMDI0MTAwMzE4CisJLmxvbmcJMTY2Njg2OTI0OAorCS5sb25nCTEwNzA3MTA2ODEKKwkubG9uZwkxMzYzNjU2MTE5CisJLmxvbmcJMTAyNjMzNjQ5MworCS5sb25nCTM0MTcxMTA1MjgKKwkubG9uZwkxMDcwNjg5MTE2CisJLmxvbmcJNDE1NDc5MTU1MworCS5sb25nCTEwMjYyNjc4NTMKKwkubG9uZwkyMTgzNjUzMzc2CisJLmxvbmcJMTA3MDY2NzY2MgorCS5sb25nCTE2NzE4MTkyOTIKKwkubG9uZwkzMTczNzg1ODcwCisJLmxvbmcJMTczNDQzNDgxNgorCS5sb25nCTEwNzA2NDYzMTcKKwkubG9uZwkzNzMwOTEwNDkKKwkubG9uZwkxMDI1OTcyMzYzCisJLmxvbmcJMTYxNTY4MTUzNgorCS5sb25nCTEwNzA2MjUwODAKKwkubG9uZwkzODQ2NTA4OTcKKwkubG9uZwkxMDIyOTI2MDQzCisJLmxvbmcJMTQ0NTM4MjE0NAorCS5sb25nCTEwNzA2MDM5NTAKKwkubG9uZwkzNDQzMjAzMzAKKwkubG9uZwkzMTcyMzk3MTk2CisJLmxvbmcJMTgyMzcxNTMyOAorCS5sb25nCTEwNzA1Njk3NTYKKwkubG9uZwkzMzg5ODQxMjAwCisJLmxvbmcJMTAyNTIzMTg1MgorCS5sb25nCTM4Mzk2ODg3MDQKKwkubG9uZwkxMDcwNTI3OTE3CisJLmxvbmcJMTcwNjc5MDQxNworCS5sb25nCTMxNjczNjMzNDkKKwkubG9uZwk0MjkzMzMyOTkyCisJLmxvbmcJMTA3MDQ4NjI4NgorCS5sb25nCTE2MTQ5MzUwODgKKwkubG9uZwkxMDE5MzUxNTkxCisJLmxvbmcJMjk2NjcyMDUxMgorCS5sb25nCTEwNzA0NDQ4NjEKKwkubG9uZwk0MTQ1MzkzNzE3CisJLmxvbmcJMzE3MzcxMTY1OAorCS5sb25nCTQwNjY3Mjk5ODQKKwkubG9uZwkxMDcwNDAzNjM5CisJLmxvbmcJMTk3NDkyNTAyOAorCS5sb25nCTMxNzE0MzcxODIKKwkubG9uZwkzMzM3NjIxNTA0CisJLmxvbmcJMTA3MDM2MjYxOQorCS5sb25nCTMzMTQ5NTMxNzAKKwkubG9uZwkzMTY5OTcxMzE0CisJLmxvbmcJOTQzNDQ4MDY0CisJLmxvbmcJMTA3MDMyMTc5OQorCS5sb25nCTE0OTg2ODIwMzgKKwkubG9uZwkzMTczODYyMzQwCisJLmxvbmcJMTQ2NTYzNDgxNgorCS5sb25nCTEwNzAyODExNzYKKwkubG9uZwkxMzE5OTUyODEwCisJLmxvbmcJMzE3MTY5Mzk2NQorCS5sb25nCTEwMTU3MzQyNzIKKwkubG9uZwkxMDcwMjQwNzQ5CisJLmxvbmcJMTM0NzgyMTkyOQorCS5sb25nCTMxNzM1NDQ1MTUKKwkubG9uZwkxMTgwMDE2NjQKKwkubG9uZwkxMDcwMjAwNTE2CisJLmxvbmcJMTc1MTQ4Mjc0NgorCS5sb25nCTEwMjYxMzQwOTMKKwkubG9uZwkzNzA3MTc0OTEyCisJLmxvbmcJMTA3MDE2MDQ3NAorCS5sb25nCTE0ODY5NDYxNTkKKwkubG9uZwkxMDIzOTMwOTIwCisJLmxvbmcJMzk0NjM4MTMxMgorCS5sb25nCTEwNzAxMjA2MjMKKwkubG9uZwkyODY3NDA4MDgxCisJLmxvbmcJMzE3MTM2ODI3NgorCS5sb25nCTE2OTk4NDgxOTIKKwkubG9uZwkxMDcwMDgwOTYxCisJLmxvbmcJMjU5MDE4NzEzOQorCS5sb25nCTEwMjUzNzk4MDMKKwkubG9uZwkyMjM1ODQ2NjU2CisJLmxvbmcJMTA3MDA0MTQ4NQorCS5sb25nCTE4ODg1NjgwNjkKKwkubG9uZwkzMTcyNzU0OTYwCisJLmxvbmcJMjMzOTcyOTQwOAorCS5sb25nCTEwNzAwMDIxOTQKKwkubG9uZwkzODUyMjE0NzUzCisJLmxvbmcJMzE3MzMyMzE0OQorCS5sb25nCTMxOTY4NTAxNzYKKwkubG9uZwkxMDY5OTYzMDg2CisJLmxvbmcJNzQyMTQxNTYwCisJLmxvbmcJMTAyNTEwMTcwNworCS5sb25nCTE4MDA2ODM1MjAKKwkubG9uZwkxMDY5OTI0MTYwCisJLmxvbmcJMzk0OTUwMDQ0NAorCS5sb25nCTMxNzIxMDIxNzkKKwkubG9uZwkzODM1ODAxNjAwCisJLmxvbmcJMTA2OTg4NTQxMworCS5sb25nCTM4NDg4OTU5NDMKKwkubG9uZwkxMDI1OTEzODMyCisJLmxvbmcJMjIwMTIwMjY4OAorCS5sb25nCTEwNjk4NDY4NDUKKwkubG9uZwkxNDI1OTEzNDY0CisJLmxvbmcJMTAyNTg2ODY2NQorCS5sb25nCTI3NzgyNzk5MzYKKwkubG9uZwkxMDY5ODA4NDUzCisJLmxvbmcJMjEyMDg4OTY3NworCS5sb25nCTMxNzM4MzExMjgKKwkubG9uZwkyOTU0MjAzMTM2CisJLmxvbmcJMTA2OTc3MDIzNgorCS5sb25nCTU5MjE0NzA4MQorCS5sb25nCTEwMTk2MjEyODgKKwkubG9uZwkyMTAxNDExODQKKwkubG9uZwkxMDY5NzMyMTkzCisJLmxvbmcJMzQxNDI3NTIzMworCS5sb25nCTEwMjM2NDcwODQKKwkubG9uZwk3MDk0NzYzNTIKKwkubG9uZwkxMDY5Njk0MzIxCisJLmxvbmcJMjQxMzAyNzE2NAorCS5sb25nCTEwMjQ0NjIxMTUKKwkubG9uZwkyMTE2Mjg0NDE2CisJLmxvbmcJMTA2OTY1NjYxOQorCS5sb25nCTExNDQ1NTk5MjQKKwkubG9uZwkxMDI2MzM2NjU0CisJLmxvbmcJMjE4MzY1MTMyOAorCS5sb25nCTEwNjk2MTkwODYKKwkubG9uZwkzNDU5MDU3NjUwCisJLmxvbmcJMTAyNTYzNDE2OAorCS5sb25nCTMwNDcwNDcxNjgKKwkubG9uZwkxMDY5NTgxNzIwCisJLmxvbmcJMTg3OTY3NDkyNAorCS5sb25nCTMxNzM1MDg1NzMKKwkubG9uZwk5NzA3MTEwNDAKKwkubG9uZwkxMDY5NTQxNTIxCisJLmxvbmcJMTMzNTk1NDE3MworCS5sb25nCTMxNzMzMzIxODIKKwkubG9uZwkyMTk4NDc4ODQ4CisJLmxvbmcJMTA2OTQ2NzQ0OQorCS5sb25nCTI5NTExMDM5NjgKKwkubG9uZwkzMTczODkyMjAwCisJLmxvbmcJMTY2OTYxMTUyMAorCS5sb25nCTEwNjkzOTM3MDMKKwkubG9uZwk1MzEwNDQxNDcKKwkubG9uZwkxMDI1MTQ5MjQ4CisJLmxvbmcJMjkxMTQzNjgKKwkubG9uZwkxMDY5MzIwMjgwCisJLmxvbmcJMzMyNzgzMTI1MQorCS5sb25nCTEwMjU5MTg2NzMKKwkubG9uZwkyMzc2OTQ5NzYwCisJLmxvbmcJMTA2OTI0NzE3NgorCS5sb25nCTczNzYzNDUzMworCS5sb25nCTMxNzIxNzYwMDAKKwkubG9uZwkxMDg1MzkwODQ4CisJLmxvbmcJMTA2OTE3NDM5MAorCS5sb25nCTMxMDgyNDM0MDAKKwkubG9uZwkzMTcxODI4NDA2CisJLmxvbmcJMTU2NjEzMDE3NgorCS5sb25nCTEwNjkxMDE5MTgKKwkubG9uZwk5ODU0ODMyMjYKKwkubG9uZwkxMDI1NzA4MzgwCisJLmxvbmcJNzkyNzgwODAwCisJLmxvbmcJMTA2OTAyOTc1OAorCS5sb25nCTQxODQ4NjYyOTUKKwkubG9uZwkxMDI0NDI2MjA0CisJLmxvbmcJMTgzMTU2NzM2CisJLmxvbmcJMTA2ODk1NzkwNworCS5sb25nCTI4NDU2OTkzNzgKKwkubG9uZwkxMDIyMTA3Mjc3CisJLmxvbmcJMTMwMTc4MjUyOAorCS5sb25nCTEwNjg4ODYzNjIKKwkubG9uZwkxMDEyNzM1MjYyCisJLmxvbmcJMzE3MzgwNDI5NAorCS5sb25nCTE1NjI0MTEwMDgKKwkubG9uZwkxMDY4ODE1MTIxCisJLmxvbmcJMjE5NzA4NjcwMworCS5sb25nCTMxNzAxODc4MTMKKwkubG9uZwkyODE1NTQ5NDQwCisJLmxvbmcJMTA2ODc0NDE4MQorCS5sb25nCTI3ODI2MTMyMDcKKwkubG9uZwkxMDI2MzQ1MDU0CisJLmxvbmcJMjc1NjEyNDY3MgorCS5sb25nCTEwNjg2NzM1NDAKKwkubG9uZwkyOTI5NDg2MjA1CisJLmxvbmcJMzE3MzAzNzgwMAorCS5sb25nCTM1MTEwNTAyNDAKKwkubG9uZwkxMDY4NjAzMTk1CisJLmxvbmcJMTQ0MzczMzE0NworCS5sb25nCTMxNzMzMzE1NDkKKwkubG9uZwkzMDQ3MDQ3MTY4CisJLmxvbmcJMTA2ODUzMzE0NAorCS5sb25nCTE4Nzk2NzQ5MjQKKwkubG9uZwkzMTcyNDU5OTk3CisJLmxvbmcJMzIyMTY2Nzg0MAorCS5sb25nCTEwNjg0Mjc4MjUKKwkubG9uZwkxMzM4NTg4MDI3CisJLmxvbmcJMzE3MTgxNTc0MgorCS5sb25nCTM0NTM4NjE4ODgKKwkubG9uZwkxMDY4Mjg4ODgzCisJLmxvbmcJMTIwNTM0ODM1OQorCS5sb25nCTMxNzI2MjQ2MjYKKwkubG9uZwkzNTA2MTEwNDY0CisJLmxvbmcJMTA2ODE1MDUxNAorCS5sb25nCTg5MzEwNTE5OAorCS5sb25nCTEwMjU1NzE4NjYKKwkubG9uZwkzNDYwMTM2OTYKKwkubG9uZwkxMDY4MDEyNzE0CisJLmxvbmcJMzQ5NTU2OTAyMQorCS5sb25nCTMxNzI1NjMzNDkKKwkubG9uZwk0MDc0MDI5MDU2CisJLmxvbmcJMTA2Nzg3NTQ3NgorCS5sb25nCTM5NjExMDYzMzgKKwkubG9uZwkzMTcxMDY1NTk1CisJLmxvbmcJMzU1OTc4NDQ0OAorCS5sb25nCTEwNjc3Mzg3OTgKKwkubG9uZwkxOTc1Mzg1Mzg0CisJLmxvbmcJMzE3Mzc4MzE1NQorCS5sb25nCTc5Nzc2OTcyOAorCS5sb25nCTEwNjc2MDI2NzUKKwkubG9uZwkzNzYwMzA1Nzg3CisJLmxvbmcJMTAyNjA0NzY0MgorCS5sb25nCTIzMTM2MzM3OTIKKwkubG9uZwkxMDY3NDY3MTAxCisJLmxvbmcJMTU1OTM1MzE3MQorCS5sb25nCTEwMjM0ODAyNTYKKwkubG9uZwkzOTYwNzY2NDY0CisJLmxvbmcJMTA2NzIxMzc3OAorCS5sb25nCTEwNjczNjUxMDcKKwkubG9uZwkxMDI1ODY1OTI2CisJLmxvbmcJNjg0MjYxMzc2CisJLmxvbmcJMTA2Njk0NDgwNQorCS5sb25nCTg0NDc2MjE2NAorCS5sb25nCTMxNzM2ODc0ODIKKwkubG9uZwk2MzA3MTg0NjQKKwkubG9uZwkxMDY2Njc2OTA1CisJLmxvbmcJMjQ1ODI2OTY5NAorCS5sb25nCTEwMjQwMzMwODEKKwkubG9uZwkxNDg2MDYxNTY4CisJLmxvbmcJMTA2NjQxMDA3MAorCS5sb25nCTExNTUzNzg3NAorCS5sb25nCTMxNzMyNDM5OTUKKwkubG9uZwkyNzQzNjY0NjQwCisJLmxvbmcJMTA2NTg4Njc5MgorCS5sb25nCTM2NjUwOTgzMDQKKwkubG9uZwkzMTczNDcxNjA3CisJLmxvbmcJMTk3MTkxMjcwNAorCS5sb25nCTEwNjUzNTczMzMKKwkubG9uZwkyNTc3MjE0NDQwCisJLmxvbmcJMzE3MTk5MzQ1MQorCS5sb25nCTE0OTg5MzkzOTIKKwkubG9uZwkxMDY0MzA2NjkzCisJLmxvbmcJMzQwOTAzNjkyMworCS5sb25nCTEwMjU1OTkxNTEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJTF90YmwsQG9iamVjdAorCS5zaXplCUxfdGJsLDIwNjQKKwkuYWxpZ24gMTYKK2xvZzI6CisJLmxvbmcJNDI3NzgxMTIwMAorCS5sb25nCTEwNjc4NTU0MjYKKwkubG9uZwkyNDc5MzE4ODMyCisJLmxvbmcJMTAyMjI5MjgyMworCS50eXBlCWxvZzIsQG9iamVjdAorCS5zaXplCWxvZzIsMTYKKwkuYWxpZ24gMTYKK2NvZWZmOgorCS5sb25nCTI0NTQyNjcwMjYKKwkubG9uZwkxMDY5Njk3MzE2CisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkxMDMwNzMwMTAxCisJLmxvbmcJMzIxNzM4MDcwMgorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDcwOTQ1NjIxCisJLmxvbmcJMjU3Njk4MDM3OAorCS5sb25nCTEwNzAxNzY2NjUKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS50eXBlCWNvZWZmLEBvYmplY3QKKwkuc2l6ZQljb2VmZiw0OAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorLy8gLS0gQmVnaW4gRFdBUkYyIFNFR01FTlQgLmVoX2ZyYW1lCisJLnNlY3Rpb24gLmVoX2ZyYW1lLCJhIixAcHJvZ2JpdHMKKy5laF9mcmFtZV9zZWc6CisJLmFsaWduIDEKKwkuNGJ5dGUgMHgwMDAwMDAxNAorCS44Ynl0ZSAweDAwNTI3YTAxMDAwMDAwMDAKKwkuOGJ5dGUgMHgwODA3MGMxYjAxMTA3ODAxCisJLjRieXRlIDB4MDAwMDAxOTAKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2xvZy4xLS4KKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfbG9nLjUtLi5fX190YWdfdmFsdWVfbG9nLjEKKwkuMmJ5dGUgMHgwNDAwCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2xvZy4zLS4uX19fdGFnX3ZhbHVlX2xvZy4xCisJLjJieXRlIDB4MjAwZQorCS5ieXRlIDB4MDQKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfbG9nLjQtLi5fX190YWdfdmFsdWVfbG9nLjMKKwkuMmJ5dGUgMHgwODBlCisJLmJ5dGUgMHgwMAorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L2VfbG9nMTAuUyBiL2xpYm0veDg2XzY0L2VfbG9nMTAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjQzYTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvZV9sb2cxMC5TCkBAIC0wLDAgKzEsODA3IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gICAgTGV0IHg9Ml5rICogbXgsIG14IGluIFsxLDIpCisvLworLy8gICAgR2V0IEJ+MS9teCBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIHJjcHNzIGluc3RydWN0aW9uIChCMCkKKy8vICAgIEIgPSBpbnQoKEIwKkxIKjJeNyswLjUpKS8yXjcKKy8vICAgIExIIGlzIGEgc2hvcnQgYXBwcm94aW1hdGlvbiBmb3IgbG9nMTAoZSkKKy8vCisvLyAgICBSZWR1Y2VkIGFyZ3VtZW50OiByPUIqbXgtTEggKGNvbXB1dGVkIGFjY3VyYXRlbHkgaW4gaGlnaCBhbmQgbG93IHBhcnRzKQorLy8KKy8vICAgIFJlc3VsdDogIGsqbG9nMTAoMikgLSBsb2coQikgKyBwKHIpCisvLyAgICAgICAgICAgICBwKHIpIGlzIGEgZGVncmVlIDcgcG9seW5vbWlhbAorLy8gICAgICAgICAgICAgLWxvZyhCKSByZWFkIGZyb20gZGF0YSB0YWJsZSAoaGlnaCwgbG93IHBhcnRzKQorLy8gICAgICAgICAgICAgUmVzdWx0IGlzIGZvcm1lZCBmcm9tIGhpZ2ggYW5kIGxvdyBwYXJ0cworLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgbG9nMTAoMCkgPSAtSU5GIHdpdGggZGl2aWRlLWJ5LXplcm8gZXhjZXB0aW9uIHJhaXNlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy8vICBsb2cxMCgxKSA9ICswCisvLyAgbG9nMTAoeCkgPSBOYU4gd2l0aCBpbnZhbGlkIGV4Y2VwdGlvbiByYWlzZWQgaWYgeCA8IC0wLCBpbmNsdWRpbmcgLUlORgorLy8gIGxvZzEwKCtJTkYpID0gK0lORgorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIGxvZzEwCitFTlRSWShsb2cxMCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9sb2cxMC4xOgorICAgICAgICBzdWJxICAgICAgJDI0LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9sb2cxMC4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglcnNwKQorLi5CMS4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDEwNTQ3MzYzODQsICVlY3gKKyAgICAgICAgbW92ZCAgICAgICVlY3gsICV4bW03CisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQzMDcwNCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTQKKyAgICAgICAgbW92YXBkICAgIEhJR0hTSUdNQVNLKCVyaXApLCAleG1tNQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNjM1MiwgJWVjeAorICAgICAgICBwc3JscSAgICAgJDI3LCAleG1tMAorICAgICAgICBtb3ZxICAgICAgTE9HMTBfRSglcmlwKSwgJXhtbTIKKyAgICAgICAgcHNybGQgICAgICQyLCAleG1tMAorICAgICAgICByY3BwcyAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNzgsICV4bW01LCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMQorICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgbXVsc3MgICAgICV4bW03LCAleG1tMAorICAgICAgICBvcnBkICAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGxlYSAgICAgICBMX3RibCglcmlwKSwgJXIxMQorICAgICAgICBhbmRwZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIGN2dHNpMnNkICAlZWF4LCAleG1tNworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIGxvZzIoJXJpcCksICV4bW02CisgICAgICAgIG1vdmFwZCAgICBjb2VmZiglcmlwKSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNQorICAgICAgICBhbmRsICAgICAgJDE2NzExNjgwLCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMTIsICVlZHgKKyAgICAgICAgbW92YXBkICAgIC0xNTA0KCVyMTEsJXJkeCksICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAxNitjb2VmZiglcmlwKSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgMzIrY29lZmYoJXJpcCksICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTEsICV4bW01CisgICAgICAgIG11bHNkICAgICA4K2xvZzIoJXJpcCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIG1vdnEgICAgICA4K0xPRzEwX0UoJXJpcCksICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHBzaHVmZCAgICAkMjI4LCAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgbW92cSAgICAgICglcnNwKSwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICglcnNwKSwgJXhtbTEKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorICAgICAgICBjbXBsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNS4wLjI6CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWN4CisgICAgICAgIHBzcmxxICAgICAkMjcsICV4bW0wCisgICAgICAgIG1vdnEgICAgICBMT0cxMF9FKCVyaXApLCAleG1tMgorICAgICAgICBwc3JsZCAgICAgJDIsICV4bW0wCisgICAgICAgIHJjcHBzICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcHNsbHEgICAgICQxMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ3OCwgJXhtbTUsICV4bW02CisgICAgICAgIHBzcmxxICAgICAkMTIsICV4bW0xCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQtMjA5NzE1MiwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKyAgICAgICAgb3JsICAgICAgICVlY3gsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDksIDE2KCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF84LjAuMgorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDQ5MTM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgZGl2c2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDgsIDE2KCVyc3ApCisuTF8yVEFHX1BBQ0tFVF84LjAuMjoKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCA4KCVyc3ApCisuLkIxLjM6CisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMAorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisuLkIxLjU6CisgICAgICAgIGFkZHEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2xvZzEwLjQ6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2xvZzEwLjU6CitFTkQobG9nMTApCisjIC0tIEVuZCAgbG9nMTAKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK0hJR0hTSUdNQVNLOgorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NTkxMDQKKwkudHlwZQlISUdIU0lHTUFTSyxAb2JqZWN0CisJLnNpemUJSElHSFNJR01BU0ssMTYKKwkuYWxpZ24gMTYKK0xPRzEwX0U6CisJLmxvbmcJMAorCS5sb25nCTEwNzEzNjYxNDQKKwkubG9uZwkzMjA3NDc5NTYwCisJLmxvbmcJMTA2Mjg5NDE4OAorCS50eXBlCUxPRzEwX0UsQG9iamVjdAorCS5zaXplCUxPRzEwX0UsMTYKKwkuYWxpZ24gMTYKK0xfdGJsOgorCS5sb25nCTEzNTI2MjgyMjQKKwkubG9uZwkxMDcwODEwMTMxCisJLmxvbmcJNTIxMzE5MjU2CisJLmxvbmcJMTAyNTUwMzAyNQorCS5sb25nCTIxNTA4MzkyOTYKKwkubG9uZwkxMDcwODAxOTQ0CisJLmxvbmcJMzMyOTM1MDA5NgorCS5sb25nCTMxNzAxOTAwMTUKKwkubG9uZwkxMzYwNjEzMzc2CisJLmxvbmcJMTA3MDc5Mzc5NAorCS5sb25nCTIwMjQwNTkwNzUKKwkubG9uZwkxMDI0OTkxNTk0CisJLmxvbmcJMTg3NTM1MDUyOAorCS5sb25nCTEwNzA3ODU2ODAKKwkubG9uZwkyMTYzODgyMTQxCisJLmxvbmcJMzE2MzU2NDEzNworCS5sb25nCTIzMTIxMjY0NjQKKwkubG9uZwkxMDcwNzc3NjAyCisJLmxvbmcJMTk3NTcxMTA3NgorCS5sb25nCTEwMjM2NzQxOTYKKwkubG9uZwkxMzA2MzM2MjU2CisJLmxvbmcJMTA3MDc2OTU2MAorCS5sb25nCTM1MjQ4OTk1MjMKKwkubG9uZwkzMTcwNTA4MTY0CisJLmxvbmcJMTgwNjMzNDk3NgorCS5sb25nCTEwNzA3NjE1NTMKKwkubG9uZwk0MjU0Nzc3MDI1CisJLmxvbmcJMTAyNTIzODczOQorCS5sb25nCTI0ODMxOTM4NTYKKwkubG9uZwkxMDcwNzUzNTgxCisJLmxvbmcJMzgwMDY3MTMxNworCS5sb25nCTMxNzI5MTY4MzAKKwkubG9uZwkyMDI1MzUwMTQ0CisJLmxvbmcJMTA3MDc0NTY0NAorCS5sb25nCTE3MzE1MTQ3NDUKKwkubG9uZwkxMDI1NTAxMDgzCisJLmxvbmcJMzQzMzI4NTYzMgorCS5sb25nCTEwNzA3Mzc3NDEKKwkubG9uZwkyNTUxODU3MzM2CisJLmxvbmcJMzE2OTY2MjE4NgorCS5sb25nCTExMzQzMTc1NjgKKwkubG9uZwkxMDcwNzI5ODczCisJLmxvbmcJMzQyNjI5NzY1NQorCS5sb25nCTMxNzI2Mzc4OTEKKwkubG9uZwkyNDU3MTUyNTEyCisJLmxvbmcJMTA3MDcyMjAzOAorCS5sb25nCTYzNTQ5NDE1CisJLmxvbmcJMTAyNTQxNTQxNgorCS5sb25nCTE4NjE4MDMwMDgKKwkubG9uZwkxMDcwNzE0MjM3CisJLmxvbmcJMTkxMDE3MTYzNgorCS5sb25nCTEwMjM5Nzc1ODAKKwkubG9uZwkyNDE0MTQwNDE2CisJLmxvbmcJMTA3MDcwNjQ2OQorCS5sb25nCTQwMDI1MTQzMzcKKwkubG9uZwkzMTcwODQxNjE4CisJLmxvbmcJMjkwMDcyNjc4NAorCS5sb25nCTEwNzA2OTg3MzQKKwkubG9uZwkzMjY4MDY0MDgzCisJLmxvbmcJMTAyMjQ1OTYwOQorCS5sb25nCTIxMjM1MTc5NTIKKwkubG9uZwkxMDcwNjkxMDMyCisJLmxvbmcJMTc2NzAzMTIxOAorCS5sb25nCTEwMjI0NDgxNTYKKwkubG9uZwkzMTk0NTY5NzI4CisJLmxvbmcJMTA3MDY4MzM2MgorCS5sb25nCTM0MDIzMzI2MTgKKwkubG9uZwkzMTcxNjcxMTYwCisJLmxvbmcJNjUwODgyMDQ4CisJLmxvbmcJMTA3MDY3NTcyNQorCS5sb25nCTQxNDYwMjM5MDUKKwkubG9uZwkzMTcxMDIzMDM4CisJLmxvbmcJMTkyODk4ODY3MgorCS5sb25nCTEwNzA2NjgxMTkKKwkubG9uZwkxNDM4NjE3ODY3CisJLmxvbmcJMTAxNjM2MDQ5MQorCS5sb25nCTE1OTQ5MDg2NzIKKwkubG9uZwkxMDcwNjYwNTQ1CisJLmxvbmcJOTcxMzg5Mzc3CisJLmxvbmcJMTAyNDc2Mzk3OQorCS5sb25nCTI4MTg3NDYzNjgKKwkubG9uZwkxMDcwNjUzMDAyCisJLmxvbmcJMzU1NTkyNTM0MQorCS5sb25nCTMxNzI0MzQ4MjEKKwkubG9uZwkxOTQ1ODQ1NzYKKwkubG9uZwkxMDcwNjQ1NDkxCisJLmxvbmcJOTQzOTE5MjE1CisJLmxvbmcJMzE3Mjk1MDA2MworCS5sb25nCTEyMTUwOTY4MzIKKwkubG9uZwkxMDcwNjM4MDEwCisJLmxvbmcJMjI4MzM1ODU4OAorCS5sb25nCTEwMjIzMzUwOTgKKwkubG9uZwk1MDE1MTkzNjAKKwkubG9uZwkxMDcwNjMwNTYwCisJLmxvbmcJNDgwOTA0Mjk1CisJLmxvbmcJMTAyNDQzNzk1OQorCS5sb25nCTEyNzgyNjYzNjgKKwkubG9uZwkxMDcwNjIzMTQwCisJLmxvbmcJMjc1NTgwNjA2NgorCS5sb25nCTMxNzIzNDIwMTIKKwkubG9uZwkyNDg3ODEyMDk2CisJLmxvbmcJMTA3MDYxNTc1MAorCS5sb25nCTI0ODk2NTMyMDIKKwkubG9uZwkzMTcyNDgxMDk5CisJLmxvbmcJMzA4NTQ1MTI2NAorCS5sb25nCTEwNzA2MDgzOTAKKwkubG9uZwkzNzU5MTg0OTUxCisJLmxvbmcJMzE3MjU3NDg5MgorCS5sb25nCTIwMzkwOTAxNzYKKwkubG9uZwkxMDcwNjAxMDYwCisJLmxvbmcJMTM2MTE3NjY3NgorCS5sb25nCTMxNzIzNTUzMTkKKwkubG9uZwk5NTMwNTcyODAKKwkubG9uZwkxMDcwNTkxNDIzCisJLmxvbmcJMTE3NjU4NzU0NgorCS5sb25nCTMxNjY0MjIwMTgKKwkubG9uZwkzMzcwNTI0NjcyCisJLmxvbmcJMTA3MDU3Njg3OQorCS5sb25nCTM2Njk1NzAwNTEKKwkubG9uZwkxMDI1Mzc2NjMwCisJLmxvbmcJNzQ5NzQyMDgwCisJLmxvbmcJMTA3MDU2MjM5NAorCS5sb25nCTcwNzcwMDk2NAorCS5sb25nCTMxNzA4MTQwNTgKKwkubG9uZwk0MDA4MzUzNzkyCisJLmxvbmcJMTA3MDU0Nzk2NQorCS5sb25nCTMyNDczMjc2NTIKKwkubG9uZwkxMDIyNDMxNDAwCisJLmxvbmcJMjYxMjQ1NTQyNAorCS5sb25nCTEwNzA1MzM1OTQKKwkubG9uZwkyNDUzNDU3MzQ0CisJLmxvbmcJMzE3MjMyMjk2OQorCS5sb25nCTMyMzA5MjA3MDQKKwkubG9uZwkxMDcwNTE5Mjc5CisJLmxvbmcJMTI5Njc4MTgwMQorCS5sb25nCTEwMjUxMTUzMzUKKwkubG9uZwkzOTY1MjUzNjMyCisJLmxvbmcJMTA3MDUwNTAyMAorCS5sb25nCTM3MzA3NTI4OQorCS5sb25nCTEwMTc5Mzg1MjgKKwkubG9uZwkyNTkzMTU3MTIwCisJLmxvbmcJMTA3MDQ3NjY2OQorCS5sb25nCTEwNjgwNTQwODYKKwkubG9uZwkxMDIxNjE2NTc2CisJLmxvbmcJOTI1OTYyMjQwCisJLmxvbmcJMTA3MDQ0ODUzNworCS5sb25nCTg1MDEyMTIxMworCS5sb25nCTEwMjM5Mjg5ODkKKwkubG9uZwkxNzMyNTU2ODAwCisJLmxvbmcJMTA3MDQyMDYyMAorCS5sb25nCTEzMDUyMDY3NDAKKwkubG9uZwkzMTcyNjY1NTcwCisJLmxvbmcJMzgxNTYzMDg0OAorCS5sb25nCTEwNzAzOTI5MTUKKwkubG9uZwkxOTI2NDI5NDMKKwkubG9uZwkzMTcyNjk5OTA3CisJLmxvbmcJMjAwMTc1ODIwOAorCS5sb25nCTEwNzAzNjU0MjAKKwkubG9uZwkyODIwNzg2NjgzCisJLmxvbmcJMTAyNDcwNDg2NworCS5sb25nCTE2NzQ2NDk2CisJLmxvbmcJMTA3MDMzODEzMQorCS5sb25nCTEzOTk1NzMxMTAKKwkubG9uZwkzMTcxMzcyNzczCisJLmxvbmcJMTg4NjQ5MjY3MgorCS5sb25nCTEwNzAzMTEwNDQKKwkubG9uZwkzNjIxNDI4MDc1CisJLmxvbmcJMzE3Mjk3NDM1OAorCS5sb25nCTMzMzgxOTY5OTIKKwkubG9uZwkxMDcwMjg0MTU3CisJLmxvbmcJMzc5Mzg4MjAzNQorCS5sb25nCTEwMjUxMjQ3MDEKKwkubG9uZwkzODE3Njk3MjgKKwkubG9uZwkxMDcwMjU3NDY4CisJLmxvbmcJMzg3NzkzMzM0MgorCS5sb25nCTMxNzAxOTU0OTAKKwkubG9uZwkyMTg2NDkxOTA0CisJLmxvbmcJMTA3MDIzMDk3MgorCS5sb25nCTE4Mzg2ODcwODkKKwkubG9uZwkxMDE3OTI3MjkyCisJLmxvbmcJMTAwODMzMDc1MgorCS5sb25nCTEwNzAyMDQ2NjgKKwkubG9uZwkyMjI4MzIxNjY0CisJLmxvbmcJMTAyNTM1MjE5NgorCS5sb25nCTIyNDcwNjU2MDAKKwkubG9uZwkxMDcwMTc4NTUyCisJLmxvbmcJMTQxMzkwMDkwNgorCS5sb25nCTMxNzA5MDI1MzIKKwkubG9uZwkyOTY0MDcwNDAwCisJLmxvbmcJMTA3MDE1MjYyMgorCS5sb25nCTM1OTA0NTQ2MjkKKwkubG9uZwkxMDI1MDE2ODQ0CisJLmxvbmcJNDY1MTU0MDQ4CisJLmxvbmcJMTA3MDEyNjg3NgorCS5sb25nCTIwNzk2ODg1NTAKKwkubG9uZwkzMTcyMjY4MTgzCisJLmxvbmcJODgzNjE1NzQ0CisJLmxvbmcJMTA3MDEwMTMxMAorCS5sb25nCTk4OTI0NDQ1MgorCS5sb25nCTMxNzE5MDA0ODUKKwkubG9uZwkxOTkzNzY4OTYwCisJLmxvbmcJMTA3MDA3NTkyMgorCS5sb25nCTExMjQzMjc4NDEKKwkubG9uZwkzMTcyOTY0OTkyCisJLmxvbmcJMTc5NDQ3MTkzNgorCS5sb25nCTEwNzAwNTA3MTAKKwkubG9uZwkxMTQwNTc1MDQ2CisJLmxvbmcJMTAyMjY3MzcyNgorCS5sb25nCTI3OTc5MzI1NDQKKwkubG9uZwkxMDcwMDI1NjcxCisJLmxvbmcJMTg5NDgzNjkzMworCS5sb25nCTMxNzI1NDQwNTkKKwkubG9uZwkzNDMzNzk3NjMyCisJLmxvbmcJMTA3MDAwMDgwMworCS5sb25nCTMyMjE4MzExNjYKKwkubG9uZwkzMTcxOTIxNjg1CisJLmxvbmcJMjMzODM3MTU4NAorCS5sb25nCTEwNjk5NzYxMDQKKwkubG9uZwkzNzMyNDYxMDUzCisJLmxvbmcJMzE2NDUxMzUxOAorCS5sb25nCTI2NDQwMTMwNTYKKwkubG9uZwkxMDY5OTUxNTcxCisJLmxvbmcJMjUxOTQ2MDQ2MgorCS5sb25nCTMxNzI1NDg3NDAKKwkubG9uZwkzMzgzODE0MTQ0CisJLmxvbmcJMTA2OTkyNzIwMgorCS5sb25nCTIyOTA5OTc2NTcKKwkubG9uZwkxMDI1NDk5NjQ5CisJLmxvbmcJMzc4MTM4MDA5NgorCS5sb25nCTEwNjk5MDI5OTUKKwkubG9uZwkzODA0Nzk0MDUKKwkubG9uZwkxMDI1MTg0MTM2CisJLmxvbmcJMzI0NTc4NTA4OAorCS5sb25nCTEwNjk4Nzg5NDgKKwkubG9uZwkxMDk2Mzk4MjYxCisJLmxvbmcJMzE2OTg4NTE5MgorCS5sb25nCTEzNjY3MTIzMjAKKwkubG9uZwkxMDY5ODU1MDU5CisJLmxvbmcJMjIxODM0MzcxNQorCS5sb25nCTMxNzAyODE2MjgKKwkubG9uZwkyMjA0NzE3MDU2CisJLmxvbmcJMTA2OTgzMTMyNQorCS5sb25nCTI2NjgzMzQwMTEKKwkubG9uZwkxMDI1MjY0NTI0CisJLmxvbmcJMTQwMTc3MjAzMgorCS5sb25nCTEwNjk4MDc3NDUKKwkubG9uZwk0MTAzOTkzMTU5CisJLmxvbmcJMTAyMjkyNTcyMQorCS5sb25nCTMzNTY3MjExNTIKKwkubG9uZwkxMDY5Nzg0MzE2CisJLmxvbmcJMzU3Mzc5MDc3MgorCS5sb25nCTMxNzIxODY1MjcKKwkubG9uZwk0MDQxMTQ4NDE2CisJLmxvbmcJMTA2OTc2MTAzNworCS5sb25nCTQwMjc2OTE5MTAKKwkubG9uZwkzMTcxMjc2OTkwCisJLmxvbmcJMzg4MDE1MTA0MAorCS5sb25nCTEwNjk3Mzc5MDYKKwkubG9uZwk0MDg3MTE4Nzg2CisJLmxvbmcJMzE3MjcxMDczNAorCS5sb25nCTM0NTMzNjQyMjQKKwkubG9uZwkxMDY5NzE0OTIxCisJLmxvbmcJOTkwMTQyOTkKKwkubG9uZwkzMTcyMDAzMDc3CisJLmxvbmcJMzQ5MTA5MjQ4MAorCS5sb25nCTEwNjk2OTIwODAKKwkubG9uZwkzODAxODM2NzAxCisJLmxvbmcJMzE3Mjk4OTI4NworCS5sb25nCTU3NTU4MDE2MAorCS5sb25nCTEwNjk2NjkzODIKKwkubG9uZwkxOTIwNDA2MDEyCisJLmxvbmcJMzE3MDg3NDEyNQorCS5sb25nCTIyMjgyMjQwCisJLmxvbmcJMTA2OTY0NjgyNAorCS5sb25nCTk2NDE5MzM3MAorCS5sb25nCTEwMTkzNjMxNTkKKwkubG9uZwkyOTkxNDI5NjMyCisJLmxvbmcJMTA2OTYyNDQwNAorCS5sb25nCTMzNzI1ODk4OTAKKwkubG9uZwkxMDIzNDI1MDUzCisJLmxvbmcJMjE4OTY0NTgyNAorCS5sb25nCTEwNjk2MDIxMjIKKwkubG9uZwkyNjEwNTAzODcyCisJLmxvbmcJMTAyMzY1MjQ0MgorCS5sb25nCTMzNDE0Njc2NDgKKwkubG9uZwkxMDY5NTc5OTc1CisJLmxvbmcJMTE5MDI5MjAwNAorCS5sb25nCTEwMjI0MjU2NjUKKwkubG9uZwkzNzExMjkzNDQwCisJLmxvbmcJMTA2OTU1Nzk2MgorCS5sb25nCTExMDQ3OTUzNTYKKwkubG9uZwkxMDIzNjI1ODI5CisJLmxvbmcJMTM4MDQwMTE1MgorCS5sb25nCTEwNjk1MjQ2NDQKKwkubG9uZwkxMTU2OTk4MjE3CisJLmxvbmcJMTAyNTEwMDQ5OQorCS5sb25nCTc2NTcxMDMzNgorCS5sb25nCTEwNjk0ODExNDQKKwkubG9uZwkxNzM2NjQ5MTEzCisJLmxvbmcJMTAyNDk5OTQzOQorCS5sb25nCTg0OTQxMjA5NgorCS5sb25nCTEwNjk0Mzc5MDIKKwkubG9uZwkyNjE4MTc4MzMwCisJLmxvbmcJMzE3MDg1MzYyOQorCS5sb25nCTE0MzMxMDQzODQKKwkubG9uZwkxMDY5Mzk0OTE1CisJLmxvbmcJNDM0NzcyNjcKKwkubG9uZwkzMTcwMzc4ODExCisJLmxvbmcJMjU0ODU5NjczNgorCS5sb25nCTEwNjkzNTIxODAKKwkubG9uZwkzOTY3MzY3MDYzCisJLmxvbmcJMTAyNTI0NjU4NAorCS5sb25nCTE1NzU3NzIxNgorCS5sb25nCTEwNjkzMDk2OTUKKwkubG9uZwkxMDA0MDI1MzMKKwkubG9uZwkzMTcyODI1NTAyCisJLmxvbmcJMzMyNjIzODcyMAorCS5sb25nCTEwNjkyNjc0NTUKKwkubG9uZwkxMTc2ODkyOTA5CisJLmxvbmcJMTAyNTQ2NDA5OQorCS5sb25nCTQxNTU0OTQ0MDAKKwkubG9uZwkxMDY5MjI1NDU5CisJLmxvbmcJMzcxMzcwNzYxNworCS5sb25nCTMxNzI2MzAwNDYKKwkubG9uZwkzNTQ1ODA0ODAwCisJLmxvbmcJMTA2OTE4MzcwNAorCS5sb25nCTg1NzAwNzMxNQorCS5sb25nCTEwMjQ5NjU3NzcKKwkubG9uZwkyNjAyNTIwNTc2CisJLmxvbmcJMTA2OTE0MjE4NworCS5sb25nCTI1ODg3NTgzNDcKKwkubG9uZwkxMDIyNDYzMTMxCisJLmxvbmcJMjYzMTE5NjY3MgorCS5sb25nCTEwNjkxMDA5MDUKKwkubG9uZwkyMTE4NDI0MjM1CisJLmxvbmcJMTAyMjQ5MDk4OQorCS5sb25nCTgzODEzNTgwOAorCS5sb25nCTEwNjkwNTk4NTYKKwkubG9uZwk0MTE3MDAyNzI3CisJLmxvbmcJMTAyNDg3NDUyMAorCS5sb25nCTMyMTA5MDM1NTIKKwkubG9uZwkxMDY5MDE5MDM2CisJLmxvbmcJNjUwMDcwMTI1CisJLmxvbmcJMzE3MjAxMjk2NgorCS5sb25nCTMwMzkyMTE1MjAKKwkubG9uZwkxMDY4OTc4NDQ0CisJLmxvbmcJNDM4MDU1ODEyCisJLmxvbmcJMTAxNzc0Mzc1NworCS5sb25nCTIzODU2MzMyODAKKwkubG9uZwkxMDY4OTM4MDc3CisJLmxvbmcJMzAxMTk5MDM2OQorCS5sb25nCTMxNzEzMTIwNDQKKwkubG9uZwkzNDkxNjE4ODE2CisJLmxvbmcJMTA2ODg5NzkzMgorCS5sb25nCTcxMjgxMzgxOAorCS5sb25nCTMxNzI3MjA0MDAKKwkubG9uZwkxODM2NDQxNjAKKwkubG9uZwkxMDY4ODU4MDA4CisJLmxvbmcJNDI4NzAwNjc0MgorCS5sb25nCTEwMjIzNzk3MjgKKwkubG9uZwkzNjM5MjE0MDgwCisJLmxvbmcJMTA2ODgxODMwMAorCS5sb25nCTM1Mzc2MjI3OQorCS5sb25nCTMxNzI5ODAwMDkKKwkubG9uZwkzNzI4NDE2NzY4CisJLmxvbmcJMTA2ODc3ODgwOAorCS5sb25nCTE4NTEzNjc3MzAKKwkubG9uZwkxMDI1NDg2NTc0CisJLmxvbmcJMzM3MDA5NDU5MgorCS5sb25nCTEwNjg3Mzk1MjkKKwkubG9uZwk0MDQ2NTk0OTEzCisJLmxvbmcJMzE3MjU2NzA0NworCS5sb25nCTEzNDg0MDcyOTYKKwkubG9uZwkxMDY4NzAwNDYxCisJLmxvbmcJMTQzMTg5Njc1CisJLmxvbmcJMTAyNTM5NzYzMgorCS5sb25nCTg5OTQwMzc3NgorCS5sb25nCTEwNjg2NjE2MDEKKwkubG9uZwkzNzUzNjg3ODQyCisJLmxvbmcJMzE3MDc3Mjc3MgorCS5sb25nCTExMTc3MDgyODgKKwkubG9uZwkxMDY4NjIyOTQ3CisJLmxvbmcJMTg1NzM0MDgxMgorCS5sb25nCTMxNzA3ODI2NzgKKwkubG9uZwkxMjQ4Mjc2NDgwCisJLmxvbmcJMTA2ODU4NDQ5NworCS5sb25nCTEyODk4NTgyMDMKKwkubG9uZwkxMDI1MjIyMjg5CisJLmxvbmcJNjgzMjM3Mzc2CisJLmxvbmcJMTA2ODU0NjI0OQorCS5sb25nCTIzNTY2Nzk2MDgKKwkubG9uZwkzMTcxNjI5MTcwCisJLmxvbmcJMzI1Mzc2NDA5NgorCS5sb25nCTEwNjg1MDgyMDAKKwkubG9uZwkzMjY3MTM2NTU2CisJLmxvbmcJMTAxODU1NDk4NworCS5sb25nCTk0NDc4MzM2CisJLmxvbmcJMTA2ODQ0MTc1NgorCS5sb25nCTE5Mjc4Njg4MTQKKwkubG9uZwkzMTY5Mzc4MTgwCisJLmxvbmcJMzIzMzE0NDgzMgorCS5sb25nCTEwNjgzNjY0NDUKKwkubG9uZwkyNjgyMTg4ODU0CisJLmxvbmcJMTAyMzk2NDAwNAorCS5sb25nCTI5NDAyOTcyMTYKKwkubG9uZwkxMDY4MjkxNTIyCisJLmxvbmcJMjc1MzAxMjg5CisJLmxvbmcJMTAyMzk0NDY3OQorCS5sb25nCTM2Nzc3MDgyODgKKwkubG9uZwkxMDY4MjE2OTgyCisJLmxvbmcJMzAyNjU4NzcxCisJLmxvbmcJMTAyNDQ2NTU2NworCS5sb25nCTE1NzY5NjgxOTIKKwkubG9uZwkxMDY4MTQyODIyCisJLmxvbmcJMzY3MjAzNTk0MAorCS5sb25nCTMxNzIyNTQ2MTAKKwkubG9uZwkxNjE0MDY5NzYwCisJLmxvbmcJMTA2ODA2OTAzNworCS5sb25nCTQ4MDA1MjkwNQorCS5sb25nCTMxNzI2OTIwNjIKKwkubG9uZwk0MjQ0MzU3MTIKKwkubG9uZwkxMDY3OTk1NjI0CisJLmxvbmcJMjIwNzg2OTY1NworCS5sb25nCTMxNzA5NjU0MzYKKwkubG9uZwkzNDc3NzgyNTI4CisJLmxvbmcJMTA2NzkyMjU3OAorCS5sb25nCTI5ODA2NjE4NTgKKwkubG9uZwkzMTY0OTkwMDE4CisJLmxvbmcJMzU5ODQwMTUzNgorCS5sb25nCTEwNjc4NDk4OTcKKwkubG9uZwkxOTc0MzkzMDM0CisJLmxvbmcJMzE3MTM1NzA4MworCS5sb25nCTI0MzUyMzU4NDAKKwkubG9uZwkxMDY3Nzc3NTc3CisJLmxvbmcJMTM4NTI4OTAxMQorCS5sb25nCTEwMjQ2MTU4MjMKKwkubG9uZwkxODY3MzMzNjMyCisJLmxvbmcJMTA2NzcwNTYxNAorCS5sb25nCTM0NDIyMzY2MzMKKwkubG9uZwkxMDI1MzM0Mzg0CisJLmxvbmcJMzk5OTMwMTYzMgorCS5sb25nCTEwNjc2MzQwMDQKKwkubG9uZwkzNTA2NDcyMDczCisJLmxvbmcJMTAyNTEzMjU0NgorCS5sb25nCTI1NjY5NzEzOTIKKwkubG9uZwkxMDY3NTYyNzQ1CisJLmxvbmcJMTQyNTc1NzU5MgorCS5sb25nCTMxNzIzNTg0NjMKKwkubG9uZwkxMTI5NDMxMDQKKwkubG9uZwkxMDY3NDkxODMzCisJLmxvbmcJMTY5MzQwNzE1NgorCS5sb25nCTMxNzI0MjY2MDMKKwkubG9uZwkzMDc5OTI5ODU2CisJLmxvbmcJMTA2NzM5MjE1OQorCS5sb25nCTM5OTk5NDI0NTUKKwkubG9uZwkxMDE4NTQ5MzY5CisJLmxvbmcJMjQ0MzgzNzQ0MAorCS5sb25nCTEwNjcyNTE3MDEKKwkubG9uZwk5NzQ1MzQ0NjAKKwkubG9uZwkxMDIzOTYzNDEyCisJLmxvbmcJMzU5MzY2NjU2CisJLmxvbmcJMTA2NzExMTkxNworCS5sb25nCTIyMDQ5MTUwMTgKKwkubG9uZwkxMDEzNTE0NDE2CisJLmxvbmcJMzU2NDUxOTQyNAorCS5sb25nCTEwNjY5NzI3OTkKKwkubG9uZwkzOTc3NDQxNjU5CisJLmxvbmcJMzE3MDg3OTg2MAorCS5sb25nCTIwMTEwODY4NDgKKwkubG9uZwkxMDY2ODM0MzQzCisJLmxvbmcJNTkwMTQ1NTE0CisJLmxvbmcJMTAyNTM5MDAxMQorCS5sb25nCTMyMTY5ODIwMTYKKwkubG9uZwkxMDY2Njk2NTQxCisJLmxvbmcJMzYyOTEyMDExMAorCS5sb25nCTEwMjQzMzAzMTMKKwkubG9uZwkyMTk0MTI4ODk2CisJLmxvbmcJMTA2NjU1OTM4OAorCS5sb25nCTIzNjcwOTg1MTIKKwkubG9uZwkzMTcyMjYwMzM4CisJLmxvbmcJMjkxNjIyMDkyOAorCS5sb25nCTEwNjY0MjI4NzcKKwkubG9uZwkyMjYyNDMxODg2CisJLmxvbmcJMTAyMTIyOTQ0NgorCS5sb25nCTIyNjM5NDExMjAKKwkubG9uZwkxMDY2MTcyMjE0CisJLmxvbmcJMzExODUwNzI4NworCS5sb25nCTEwMjE0ODQ5NzAKKwkubG9uZwkzMDc2MjkyNjA4CisJLmxvbmcJMTA2NTkwMTcyNgorCS5sb25nCTE0MTE3Mzc4MDMKKwkubG9uZwkzMTcyOTU3MTQ3CisJLmxvbmcJMTE4NjEzNjA2NAorCS5sb25nCTEwNjU2MzI0ODgKKwkubG9uZwkzMTA5MzQ5MzM3CisJLmxvbmcJMTAyNTM5NzM4MworCS5sb25nCTMwODUzMDM4MDgKKwkubG9uZwkxMDY1MzY0NDg3CisJLmxvbmcJNTg0NzE1MDMxCisJLmxvbmcJMzE3MjU5NjUxOQorCS5sb25nCTE4MjEwNDg4MzIKKwkubG9uZwkxMDY0ODQyMjExCisJLmxvbmcJMjE4MjI0Njg5NQorCS5sb25nCTMxNzI1MzYyMTQKKwkubG9uZwk2OTczNjg1NzYKKwkubG9uZwkxMDY0MzExMDk0CisJLmxvbmcJMzE1NzU2MTc2NQorCS5sb25nCTMxNzI3MTYzNTcKKwkubG9uZwk4OTQwNDIxMTIKKwkubG9uZwkxMDYzMjYwMTMxCisJLmxvbmcJMzIzNzk1ODE1NAorCS5sb25nCTMxNzI1ODcyOTIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLnR5cGUJTF90YmwsQG9iamVjdAorCS5zaXplCUxfdGJsLDIwNjQKKwkuYWxpZ24gMTYKK2xvZzI6CisJLmxvbmcJMTM1MjYyODIyNAorCS5sb25nCTEwNjY2MTU4MjcKKwkubG9uZwk1MjEzMTkyNTYKKwkubG9uZwkxMDIxMzA4NzIxCisJLnR5cGUJbG9nMixAb2JqZWN0CisJLnNpemUJbG9nMiwxNgorCS5hbGlnbiAxNgorY29lZmY6CisJLmxvbmcJMzI0ODg3Nzg3MAorCS5sb25nCTEwNzcyNTAxNjQKKwkubG9uZwkxNjkxNjc2NDI5CisJLmxvbmcJMzIyMTc4NzQwMQorCS5sb25nCTk0NTEzMjQ2NQorCS5sb25nCTMyMjM3MDE3ODMKKwkubG9uZwkzNzAwODMxMzM1CisJLmxvbmcJMTA3MzUwNjgxOAorCS5sb25nCTIxNDEwMTA1OTMKKwkubG9uZwkxMDc1MjI3NTUxCisJLmxvbmcJMzY5ODgzMTYzNworCS5sb25nCTMyMjAzMzk0NDIKKwkudHlwZQljb2VmZixAb2JqZWN0CisJLnNpemUJY29lZmYsNDgKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9sb2cxMC4xLS4KKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfbG9nMTAuNS0uLl9fX3RhZ192YWx1ZV9sb2cxMC4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9sb2cxMC4zLS4uX19fdGFnX3ZhbHVlX2xvZzEwLjEKKwkuMmJ5dGUgMHgyMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9sb2cxMC40LS4uX19fdGFnX3ZhbHVlX2xvZzEwLjMKKwkuMmJ5dGUgMHgwODBlCisJLmJ5dGUgMHgwMAorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L2VfcG93LlMgYi9saWJtL3g4Nl82NC9lX3Bvdy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYzM4MjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9lX3Bvdy5TCkBAIC0wLDAgKzEsNDI4MiBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIExldCB4PTJeayAqIG14LCBteCBpbiBbMSwyKQorLy8KKy8vICAgIGxvZzIoeCkgY2FsY3VsYXRpb246CisvLworLy8gICAgR2V0IEJ+MS9teCBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIHJjcHBzIGluc3RydWN0aW9uIChCMCkKKy8vICAgIEIgPSBpbnQoKEIwKkxIKjJeOSswLjUpKS8yXjkKKy8vICAgIExIIGlzIGEgc2hvcnQgYXBwcm94aW1hdGlvbiBmb3IgbG9nMihlKQorLy8KKy8vICAgIFJlZHVjZWQgYXJndW1lbnQsIHNjYWxlZCBieSBMSDoKKy8vICAgICAgICAgICAgICAgIHI9QipteC1MSCAoY29tcHV0ZWQgYWNjdXJhdGVseSBpbiBoaWdoIGFuZCBsb3cgcGFydHMpCisvLworLy8gICAgbG9nMih4KSByZXN1bHQ6ICBrIC0gbG9nMihCKSArIHAocikKKy8vICAgICAgICAgICAgIHAocikgaXMgYSBkZWdyZWUgOCBwb2x5bm9taWFsCisvLyAgICAgICAgICAgICAtbG9nMihCKSByZWFkIGZyb20gZGF0YSB0YWJsZSAoaGlnaCwgbG93IHBhcnRzKQorLy8gICAgICAgICAgICAgbG9nMih4KSBpcyBmb3JtZWQgZnJvbSBoaWdoIGFuZCBsb3cgcGFydHMKKy8vICAgIEZvciB8eHwgaW4gWzEtMS8zMiwgMSsxLzE2KSwgYSBzbG93ZXIgYnV0IG1vcmUgYWNjdXJhdGUgY29tcHV0YXRpb24KKy8vICAgIGJhc2VkIG9tIHRoZSBzYW1lIHRhYmxlIGRlc2lnbiBpcyBwZXJmb3JtZWQuCisvLworLy8gICBNYWluIHBhdGggaXMgdGFrZW4gaWYgfCBmbG9vcihsb2cyKHxsb2cyKHx4fCl8KSArIGZsb29yKGxvZzJ8eXwpIHwgPCA4LAorLy8gICB0byBmaWx0ZXIgb3V0IGFsbCBwb3RlbnRpYWwgT0YvVUYgY2FzZXMuCisvLyAgIGV4cDIoeSpsb2cyKHgpKSBpcyBjb21wdXRlZCB1c2luZyBhbiA4LWJpdCBpbmRleCB0YWJsZSBhbmQgYSBkZWdyZWUgNQorLy8gICBwb2x5bm9taWFsCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBwb3coLTAseSkgPSAtSU5GIGFuZCByYWlzZXMgdGhlIGRpdmlkZS1ieS16ZXJvIGV4Y2VwdGlvbiBmb3IgeSBhbiBvZGQgCisvLyAgaW50ZWdlciA8IDAuCisvLyAgcG93KC0wLHkpID0gK0lORiBhbmQgcmFpc2VzIHRoZSBkaXZpZGUtYnktemVybyBleGNlcHRpb24gZm9yIHkgPCAwIGFuZCAKKy8vICBub3QgYW4gb2RkIGludGVnZXIuCisvLyAgcG93KC0wLHkpID0gLTAgZm9yIHkgYW4gb2RkIGludGVnZXIgPiAwLgorLy8gIHBvdygtMCx5KSA9ICswIGZvciB5ID4gMCBhbmQgbm90IGFuIG9kZCBpbnRlZ2VyLgorLy8gIHBvdygtMSwtSU5GKSA9IDEuCisvLyAgcG93KCsxLHkpID0gMSBmb3IgYW55IHksIGV2ZW4gYSBOYU4uCisvLyAgcG93KHgsLTApID0gMSBmb3IgYW55IHgsIGV2ZW4gYSBOYU4uCisvLyAgcG93KHgseSkgPSBhIE5hTiBhbmQgcmFpc2VzIHRoZSBpbnZhbGlkIGV4Y2VwdGlvbiBmb3IgZmluaXRlIHggPCAwIGFuZAorLy8gIGZpbml0ZSBub24taW50ZWdlciB5LgorLy8gIHBvdyh4LC1JTkYpID0gK0lORiBmb3IgfHh8PDEuCisvLyAgcG93KHgsLUlORikgPSArMCBmb3IgfHh8PjEuCisvLyAgcG93KHgsK0lORikgPSArMCBmb3IgfHh8PDEuCisvLyAgcG93KHgsK0lORikgPSArSU5GIGZvciB8eHw+MS4KKy8vICBwb3coLUlORix5KSA9IC0wIGZvciB5IGFuIG9kZCBpbnRlZ2VyIDwgMC4KKy8vICBwb3coLUlORix5KSA9ICswIGZvciB5IDwgMCBhbmQgbm90IGFuIG9kZCBpbnRlZ2VyLgorLy8gIHBvdygtSU5GLHkpID0gLUlORiBmb3IgeSBhbiBvZGQgaW50ZWdlciA+IDAuCisvLyAgcG93KC1JTkYseSkgPSArSU5GIGZvciB5ID4gMCBhbmQgbm90IGFuIG9kZCBpbnRlZ2VyLgorLy8gIHBvdygrSU5GLHkpID0gKzAgZm9yIHkgPDAuCisvLyAgcG93KCtJTkYseSkgPSArSU5GIGZvciB5ID4wLgorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHBvdworRU5UUlkocG93KQorIyBwYXJhbWV0ZXIgMTogJXhtbTAKKyMgcGFyYW1ldGVyIDI6ICV4bW0xCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9wb3cuMToKKyAgICAgICAgc3VicSAgICAgICQ0MCwgJXJzcAorLi5fX190YWdfdmFsdWVfcG93LjM6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgOCglcnNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTEsIDE2KCVyc3ApCisuLkIxLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgJDB4M2ZmMDAwMDAwMDAwMDAwMCwgJXI5CisgICAgICAgIG1vdmQgICAgICAlcjksICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTA2OTA4ODc2OCwgJXI4ZAorICAgICAgICBtb3ZkICAgICAgJXI4LCAleG1tNworICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdnEgICAgICAkMHg3N2YwMDAwMDAwMDAwMDAwLCAlcjEwCisgICAgICAgIG1vdmQgICAgICAlcjEwLCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBzYXJsICAgICAgJDMxLCAlZWR4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHhvcmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIEhJR0hTSUdNQVNLKCVyaXApLCAleG1tNgorICAgICAgICBwc3JscSAgICAgJDI3LCAleG1tMAorICAgICAgICBtb3ZxICAgICAgTE9HMl9FKCVyaXApLCAleG1tMgorICAgICAgICBwc3JsZCAgICAgJDIsICV4bW0wCisgICAgICAgIGFkZGwgICAgICAkMTYsICVlY3gKKyAgICAgICAgYnNyICAgICAgICVlY3gsICVlY3gKKyAgICAgICAgcmNwcHMgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDgxOTIsICVyMTFkCisgICAgICAgIG1vdmQgICAgICAlcjExLCAleG1tNAorICAgICAgICBwc3JscSAgICAgJDEyLCAleG1tMworICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisgICAgICAgIG1vdnEgICAgICAkMCwgJXI4CisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgbXVsc3MgICAgICV4bW03LCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJC0xLCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkNCwgJWVjeAorICAgICAgICBzaGxsICAgICAgJWNsLCAlZWR4CisgICAgICAgIHNobHEgICAgICAkMzIsICVyZHgKKyAgICAgICAgbW92ZCAgICAgICVyZHgsICV4bW01CisgICAgICAgIG9ycGQgICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgc3VibCAgICAgICQxNjM1MSwgJWVheAorICAgICAgICBjbXBsICAgICAgJDEsICVlYXgKKyAgICAgICAgamJlICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYW5kcGQgICAgICV4bW0zLCAleG1tNQorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlZHgKKyAgICAgICAgcHNsbHEgICAgICQyOSwgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIGFuZHBkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgc3VibCAgICAgICQxLCAlZWF4CisgICAgICAgIHNhcmwgICAgICAkNCwgJWVheAorICAgICAgICBjdnRzaTJzZCAgJWVheCwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIGNvZWZmKCVyaXApLCAleG1tMQorICAgICAgICBsZWEgICAgICAgTF90YmwoJXJpcCksICVyMTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgMTYrY29lZmYoJXJpcCksICV4bW00CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkMzEsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgeG9ybCAgICAgICVlY3gsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICQxLCAlZWF4CisgICAgICAgIGJzciAgICAgICAlZWF4LCAlZWF4CisgICAgICAgIHVucGNrbHBkICAleG1tMywgJXhtbTUKKyAgICAgICAgbW92YXBkICAgIDMyK2NvZWZmKCVyaXApLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIGFuZGwgICAgICAkMTY3NjA4MzIsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQxMCwgJWVkeAorICAgICAgICBhZGRwZCAgICAgLTM2NDgoJXIxMSwlcmR4KSwgJXhtbTUKKyAgICAgICAgbW92YXBkICAgIDQ4K2NvZWZmKCVyaXApLCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAxNiglcnNwKSwgJXhtbTEKKyAgICAgICAgbW92dyAgICAgIDIyKCVyc3ApLCAlY3gKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNworICAgICAgICBtb3ZxICAgICAgSElHSE1BU0tfWSglcmlwKSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMywgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tMAorICAgICAgICBzaGxsICAgICAgJDQsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxNTg3MiwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIG11bHBkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgY21wbCAgICAgICQ2MjQsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tNiwgJXhtbTYKKyAgICAgICAgbW92bCAgICAgICQxNzA4MCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG1vdnEgICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBsZWEgICAgICAgVF9leHAoJXJpcCksICVyMTEKKyAgICAgICAgYWRkcGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTYsICVlZHgKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTMsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDI1NSwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgKCVyMTEsJXJkeCw4KSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICBlX2NvZWZmKCVyaXApLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgMTYrZV9jb2VmZiglcmlwKSwgJXhtbTMKKyAgICAgICAgc2hsbCAgICAgICQxMiwgJWVjeAorICAgICAgICB4b3JsICAgICAgJXI4ZCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJC0xMDQ4NTc2LCAlZWN4CisgICAgICAgIG1vdmQgICAgICAlcmN4LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIG1vdnEgICAgICAkMHgzZmU2MmU0MmZlZmEzOWVmLCAlcjkKKyAgICAgICAgbW92ZCAgICAgICVyOSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0yLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMTcsICV4bW02LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgcGFkZGQgICAgICV4bW02LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tNSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIGFuZGwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIHRlc3RsICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF84LjAuMjoKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW0wCisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTMsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTMKKyAgICAgICAgbW92ZCAgICAgICV4bW0zLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWN4CisgICAgICAgIHBzcmxxICAgICAkMjcsICV4bW0wCisgICAgICAgIG1vdnEgICAgICBMT0cyX0UoJXJpcCksICV4bW0yCisgICAgICAgIHBzcmxkICAgICAkMiwgJXhtbTAKKyAgICAgICAgcmNwcHMgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgSElHSFNJR01BU0soJXJpcCksICV4bW02CisgICAgICAgIHBzcmxxICAgICAkMTIsICV4bW0zCisgICAgICAgIG11bHNzICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQtMTAyNCwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTUKKyAgICAgICAgb3JwZCAgICAgICV4bW0xLCAleG1tMworICAgICAgICBwYWRkZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMzIsICV4bW01CisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVkeAorICAgICAgICBwc2xscSAgICAgJDI5LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIG1vdmwgICAgICAkMCwgJXI4ZAorICAgICAgICBhbmRwZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBzdWJsICAgICAgJDE4NDE2LCAlZWF4CisgICAgICAgIHNhcmwgICAgICAkNCwgJWVheAorICAgICAgICBjdnRzaTJzZCAgJWVheCwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMjoKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW0wCisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMworICAgICAgICBtb3ZkICAgICAgJXhtbTMsICVlZHgKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTMKKyAgICAgICAgbW92ZCAgICAgICV4bW0zLCAlZWN4CisgICAgICAgIG9ybCAgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE4NDE2LCAlZWN4CisgICAgICAgIHBzcmxxICAgICAkMjcsICV4bW0wCisgICAgICAgIG1vdnEgICAgICBMT0cyX0UoJXJpcCksICV4bW0yCisgICAgICAgIHBzcmxkICAgICAkMiwgJXhtbTAKKyAgICAgICAgcmNwcHMgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgSElHSFNJR01BU0soJXJpcCksICV4bW02CisgICAgICAgIHBzcmxxICAgICAkMTIsICV4bW0zCisgICAgICAgIG11bHNzICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQtMTAyNCwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTUKKyAgICAgICAgb3JwZCAgICAgICV4bW0xLCAleG1tMworICAgICAgICBwYWRkZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBzbGxxICAgICAkMzIsICV4bW01CisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVkeAorICAgICAgICBwc2xscSAgICAgJDI5LCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIG1vdmwgICAgICAkLTIxNDc0ODM2NDgsICVyOGQKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxODQxNiwgJWVheAorICAgICAgICBzYXJsICAgICAgJDQsICVlYXgKKyAgICAgICAgY3Z0c2kyc2QgICVlYXgsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWF4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMS4wLjIKKyAgICAgICAgY21wbCAgICAgICQ3MzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzEyLjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIG1vdnEgICAgICBIQUxGTUFTSyglcmlwKSwgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW0wLCAleG1tMworICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdmwgICAgICAkMTcwODAsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICV4bW01LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG1vdnEgICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFuZHBkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMgorICAgICAgICBhbmRwZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIG1vdnEgICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW02CisgICAgICAgIG1vdmQgICAgICAleG1tNiwgJWVheAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIGxlYSAgICAgICBUX2V4cCglcmlwKSwgJXIxMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICBlX2NvZWZmKCVyaXApLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgMTYrZV9jb2VmZiglcmlwKSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW02LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMjU1LCAlZWF4CisgICAgICAgIGFkZGwgICAgICAlZWF4LCAlZWF4CisgICAgICAgIG1vdmFwZCAgICAoJXIxMSwlcmF4LDgpLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0yCisgICAgICAgIHNhcmwgICAgICAkOCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJWVjeCwgJWVheAorICAgICAgICBzYXJsICAgICAgJDEsICVlY3gKKyAgICAgICAgc3VibCAgICAgICVlY3gsICVlYXgKKyAgICAgICAgc2hsbCAgICAgICQyMCwgJWVjeAorICAgICAgICB4b3JsICAgICAgJXI4ZCwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJWVjeCwgJXhtbTYKKyAgICAgICAgbW92cSAgICAgIDMyK2VfY29lZmYoJXJpcCksICV4bW0xCisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxNjUyOSwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4yCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0yLCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMiwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkMTcsICV4bW02LCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgcGFkZGQgICAgICV4bW02LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW01LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgc2hsbCAgICAgICQ0LCAlZWF4CisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgYWRkbCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEzLjAuMgorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNC4wLjIKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNi4wLjI6CisgICAgICAgIG1vdnEgICAgICAxNiglcnNwKSwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTUuMC4yCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVheAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE2LjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzE2LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQyOSwgKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNy4wLjIKKy5MXzJUQUdfUEFDS0VUXzE4LjAuMjoKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzE1LjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIG1vdnEgICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgcHNybHEgICAgICQzMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOS4wLjIKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMiwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzIwLjAuMgorICAgICAgICBtb3ZkICAgICAgJXhtbTIsICVlYXgKKyAgICAgICAgcHNybHEgICAgICQyMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xOC4wLjIKKy5MXzJUQUdfUEFDS0VUXzIwLjAuMjoKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICB0ZXN0bCAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yMS4wLjIKKyAgICAgICAgdGVzdGwgICAgICQtMjE0NzQ4MzY0OCwgJWVjeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMjIuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzIzLjAuMjoKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgdGVzdGwgICAgICQxLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yNC4wLjIKKyAgICAgICAgdGVzdGwgICAgICQyLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8yNS4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzI0LjAuMgorLkxfMlRBR19QQUNLRVRfMjEuMC4yOgorICAgICAgICBzaHJsICAgICAgJDIwLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMjA0NywgJWVjeAorICAgICAgICBjbXBsICAgICAgJDEwNzUsICVlY3gKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzI0LjAuMgorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjYuMC4yCisgICAgICAgIGNtcGwgICAgICAkMTA3NCwgJWVjeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjMuMC4yCisgICAgICAgIGNtcGwgICAgICAkMTAyMywgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMjQuMC4yCisgICAgICAgIG1vdnEgICAgICAxNiglcnNwKSwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgICQxNzIwOCwgJWVheAorICAgICAgICB4b3JwZCAgICAgJXhtbTMsICV4bW0zCisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTMKKyAgICAgICAgbW92cSAgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzI0LjAuMgorICAgICAgICBtb3ZkICAgICAgJXhtbTMsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQxLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yNC4wLjIKKy5MXzJUQUdfUEFDS0VUXzI1LjAuMjoKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzI3LjAuMgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yNy4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzI0LjAuMjoKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzIyLjAuMgorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yNi4wLjI6CisgICAgICAgIG1vdnEgICAgICAxNiglcnNwKSwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjQuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8yNS4wLjIKKy5MXzJUQUdfUEFDS0VUXzI4LjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjkuMC4yCisgICAgICAgIG1vdnEgICAgICAxNiglcnNwKSwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yOS4wLjI6CisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkNDkxMzYsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzMwLjAuMgorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVlY3gKKyAgICAgICAgcHNybHEgICAgICQyMCwgJXhtbTAKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zMC4wLjIKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMzAuMC4yOgorICAgICAgICBtb3ZxICAgICAgMTYoJXJzcCksICV4bW0xCisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWR4CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgeG9ybCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2OCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMzEuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzMxLjAuMjoKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzMyLjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTcxODQsICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzMzLjAuMgorICAgICAgICB0ZXN0bCAgICAgJDEsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzM0LjAuMgorICAgICAgICB0ZXN0bCAgICAgJDIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM1LjAuMgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMzYuMC4yCisuTF8yVEFHX1BBQ0tFVF8zMy4wLjI6CisgICAgICAgIHRlc3RsICAgICAkMSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMzUuMC4yCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8zNi4wLjIKKy5MXzJUQUdfUEFDS0VUXzcuMC4yOgorICAgICAgICBtb3ZxICAgICAgOCglcnNwKSwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMzEsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0xLCAlZWR4CisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVheAorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVheCwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMzcuMC4yCisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjguMC4yCisgICAgICAgIGNtcGwgICAgICAkMTcyMDAsICVlZHgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM1LjAuMgorICAgICAgICBjbXBsICAgICAgJDE3MTg0LCAlZWR4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zMi4wLjIKKyAgICAgICAgY21wbCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMzQuMC4yCisgICAgICAgIG1vdmwgICAgICAkMTcyMDgsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0yCisgICAgICAgIG1vdnEgICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zNC4wLjIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMSwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMzUuMC4yCisuTF8yVEFHX1BBQ0tFVF8zNi4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbW92bCAgICAgICQzMDcwNCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0xCisgICAgICAgIG1vdnEgICAgICBMT0cyX0UoJXJpcCksICV4bW0yCisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tNAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW00LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAkODE5MiwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJWVkeCwgJXhtbTQKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMC4wLjIKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkMzEsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgeG9ybCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVjeAorICAgICAgICBic3IgICAgICAgJWVjeCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJC0yMTQ3NDgzNjQ4LCAlcjhkCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMzQuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQyOCwgKCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xNy4wLjIKKy5MXzJUQUdfUEFDS0VUXzM1LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDMwNzA0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIExPRzJfRSglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW00CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTQsICVlYXgKKyAgICAgICAgbW92bCAgICAgICQ4MTkyLCAlZWR4CisgICAgICAgIG1vdmQgICAgICAlZWR4LCAleG1tNAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYsICVlYXgKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBzYXJsICAgICAgJDMxLCAlZWR4CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHhvcmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAkMTYsICVlY3gKKyAgICAgICAgYnNyICAgICAgICVlY3gsICVlY3gKKyAgICAgICAgbW92bCAgICAgICQwLCAlcjhkCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorLkxfMlRBR19QQUNLRVRfMTkuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yMi4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMTEuMC4yOgorICAgICAgICBhZGRsICAgICAgJDM4NCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM4LjAuMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgc2hybCAgICAgICQzMSwgJXI4ZAorICAgICAgICBhZGRwZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBsZWEgICAgICAgbG9nMiglcmlwKSwgJXIxMQorICAgICAgICBtb3ZxICAgICAgKCVyMTEsJXI4LDgpLCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBzaGxsICAgICAgJDE1LCAlcjhkCisgICAgICAgIG9ybCAgICAgICAlcjhkLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMzguMC4yOgorLkxfMlRBR19QQUNLRVRfMzcuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8zOS4wLjI6CisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMjYsICglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTcuMC4yCisuTF8yVEFHX1BBQ0tFVF85LjAuMjoKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80MC4wLjIKKyAgICAgICAgbW92ZCAgICAgICV4bW0yLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTguMC4yCisuTF8yVEFHX1BBQ0tFVF80MC4wLjI6CisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVheAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzM5LjAuMgorICAgICAgICBzaHJsICAgICAgJDIxLCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTA3NSwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNDEuMC4yCisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF80Mi4wLjIKKyAgICAgICAgY21wbCAgICAgICQxMDIzLCAlZWR4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF80MS4wLjIKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDE3MjA4LCAlZWF4CisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfNDEuMC4yCisgICAgICAgIG1vdmQgICAgICAleG1tMywgJWVheAorICAgICAgICBhbmRsICAgICAgJDEsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQxLjAuMgorLkxfMlRBR19QQUNLRVRfNDMuMC4yOgorICAgICAgICBtb3ZxICAgICAgOCglcnNwKSwgJXhtbTAKKyAgICAgICAgdGVzdGwgICAgICQtMjE0NzQ4MzY0OCwgJWVjeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfNDQuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzQyLjAuMjoKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlYXgKKyAgICAgICAgdGVzdGwgICAgICQxLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80My4wLjIKKy5MXzJUQUdfUEFDS0VUXzQxLjAuMjoKKyAgICAgICAgdGVzdGwgICAgICQtMjE0NzQ4MzY0OCwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMjIuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzQ0LjAuMjoKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgZGl2c2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMjcsICglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTcuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMi4wLjI6CisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgMTYoJXJzcCksICV4bW02CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTIsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tNiwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGFuZGwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ1LjAuMgorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgeG9ybCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgdGVzdGwgICAgICQzMjc2OCwgJWVkeAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfNDYuMC4yCisuTF8yVEFHX1BBQ0tFVF80Ny4wLjI6CisgICAgICAgIG1vdmwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBzaHJsICAgICAgJDE2LCAlcjhkCisgICAgICAgIG9ybCAgICAgICAlcjhkLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorLkxfMlRBR19QQUNLRVRfMTQuMC4yOgorICAgICAgICBtb3ZsICAgICAgJDI0LCAoJXJzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzE3LjAuMgorLkxfMlRBR19QQUNLRVRfNDYuMC4yOgorICAgICAgICBtb3ZsICAgICAgJDE2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICB0ZXN0bCAgICAgJC0yMTQ3NDgzNjQ4LCAlcjhkCisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF80OC4wLjIKKyAgICAgICAgbW92cSAgICAgICQweDgwMDAwMDAwMDAwMDAwMDAsICVyOQorICAgICAgICBtb3ZkICAgICAgJXI5LCAleG1tMgorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0wCisuTF8yVEFHX1BBQ0tFVF80OC4wLjI6CisgICAgICAgIG1vdmwgICAgICAkMjUsICglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTcuMC4yCisuTF8yVEFHX1BBQ0tFVF8xMy4wLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTUsICVlY3gKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tNCwgJWVkeAorICAgICAgICBtb3ZsICAgICAgJC0xLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgc3VibCAgICAgICQxNjM2OCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWR4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIG1vdmwgICAgICAkLTMxLCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkNCwgJWVkeAorICAgICAgICBzdWJsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBqbGUgICAgICAgLkxfMlRBR19QQUNLRVRfNDkuMC4yCisgICAgICAgIGNtcGwgICAgICAkMjAsICVlY3gKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUwLjAuMgorICAgICAgICBzaGxsICAgICAgJWNsLCAlZWF4CisuTF8yVEFHX1BBQ0tFVF80OS4wLjI6CisgICAgICAgIG1vdmQgICAgICAlZWF4LCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDMyLCAleG1tMAorICAgICAgICBhbmRwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorLkxfMlRBR19QQUNLRVRfNTAuMC4yOgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNDguMC4yCisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgbW92dyAgICAgIDIyKCVyc3ApLCAlY3gKKyAgICAgICAgbW92bCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBtb3ZkICAgICAgJXJkeCwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBwYWRkZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIG1vdmQgICAgICAleG1tMCwgJWVkeAorICAgICAgICBwc2xscSAgICAgJDI5LCAleG1tMAorICAgICAgICBwYWRkcSAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFuZHBkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYW5kdyAgICAgICQzMjc1MiwgJWN4CisgICAgICAgIGNtcHcgICAgICAkMTY1NjAsICVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIGFkZGwgICAgICAkMTYzNTEsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQ0LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTAyMiwgJWVheAorICAgICAgICBjdnRzaTJzZCAgJWVheCwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBsZWEgICAgICAgTF90YmwoJXJpcCksICVyMTEKKyAgICAgICAgbW92cSAgICAgIGNvZWZmX2goJXJpcCksICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbW92cSAgICAgIGNvZWZmX2goJXJpcCksICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgIDgrY29lZmZfaCglcmlwKSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTMsICV4bW0yCisgICAgICAgIHVucGNrbHBkICAleG1tMywgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMworICAgICAgICBtb3ZxICAgICAgOCtjb2VmZl9oKCVyaXApLCAleG1tMAorICAgICAgICBhbmRsICAgICAgJDE2NzYwODMyLCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMTAsICVlZHgKKyAgICAgICAgYWRkcGQgICAgIC0zNjQ4KCVyMTEsJXJkeCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW01LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgICV4bW03LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW0yCisgICAgICAgIG1vdnEgICAgICAleG1tNywgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG1vdmFwZCAgICBjb2VmZiglcmlwKSwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICA2NCtjb2VmZiglcmlwKSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW03LCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgJXhtbTcsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICA4MCtjb2VmZiglcmlwKSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTMsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtb3ZhcGQgICAgMzIrY29lZmYoJXJpcCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMywgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtb3ZxICAgICAgSElHSE1BU0tfTE9HX1goJXJpcCksICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92cSAgICAgIDE2KCVyc3ApLCAleG1tMQorICAgICAgICBtb3Z3ICAgICAgMjIoJXJzcCksICVjeAorICAgICAgICBtdWxwZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTcsICVlYXgKKyAgICAgICAgbXVscGQgICAgICV4bW00LCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIG1vdnEgICAgICA4K0hJR0hNQVNLX1koJXJpcCksICV4bW00CisgICAgICAgIGFuZHBkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBzdWJsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNDUuMC4yCisgICAgICAgIGFkZGwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMTY1NzYsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzUxLjAuMgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW0wCisgICAgICAgIGFuZHBkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBtb3ZsICAgICAgJDE3MDgwLCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW02LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgZV9jb2VmZiglcmlwKSwgJXhtbTcKKyAgICAgICAgbW92ZCAgICAgICV4bW02LCAlZWR4CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgbGVhICAgICAgIFRfZXhwKCVyaXApLCAlcjExCisgICAgICAgIG1vdmFwZCAgICAxNitlX2NvZWZmKCVyaXApLCAleG1tMworICAgICAgICBtb3ZxICAgICAgMzIrZV9jb2VmZiglcmlwKSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBtb3ZsICAgICAgJWVkeCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDI1NSwgJWVkeAorICAgICAgICBhZGRsICAgICAgJWVkeCwgJWVkeAorICAgICAgICBtb3ZhcGQgICAgKCVyMTEsJXJkeCw4KSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW02LCAlZWR4CisgICAgICAgIHNocmwgICAgICAkOCwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJWVjeCwgJWVheAorICAgICAgICBzaHJsICAgICAgJDEsICVlY3gKKyAgICAgICAgc3VibCAgICAgICVlY3gsICVlYXgKKyAgICAgICAgc2hsbCAgICAgICQyMCwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJWVjeCwgJXhtbTYKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTQsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW00LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQxNywgJXhtbTYsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVkeAorICAgICAgICBjbXBsICAgICAgJDE2NTI5LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMi4wLjIKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwYWRkZCAgICAgJXhtbTYsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tNywgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTUsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW0zCisgICAgICAgIGFkZGwgICAgICAkMTAyMywgJWVheAorICAgICAgICBzaGxsICAgICAgJDIwLCAlZWF4CisgICAgICAgIG9ybCAgICAgICAlcjhkLCAlZWF4CisgICAgICAgIG1vdmQgICAgICAlZWF4LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDMyLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMTMuMC4yCisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzE0LjAuMgorLkxfMlRBR19QQUNLRVRfNTIuMC4yOgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF80NS4wLjI6CisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkNDkxMzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTIsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWF4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81My4wLjIKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNTMuMC4yOgorICAgICAgICBtb3ZxICAgICAgMTYoJXJzcCksICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0zCisgICAgICAgIG1vdmQgICAgICAleG1tMywgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVjeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNTQuMC4yCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF81MS4wLjI6CisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTEsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMiwgJWVjeAorICAgICAgICB4b3JsICAgICAgJWVjeCwgJWVheAorICAgICAgICB0ZXN0bCAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF80Ny4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzQ2LjAuMgorLkxfMlRBR19QQUNLRVRfNTQuMC4yOgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMSwgJWVkeAorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHN1YmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgeG9ybCAgICAgICVlZHgsICVlYXgKKyAgICAgICAgdGVzdGwgICAgICQzMjc2OCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNTUuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzU1LjAuMjoKKyAgICAgICAgbW92bCAgICAgICQzMjc1MiwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzE3LjAuMjoKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAyNCglcnNwKQorLi5CMS4zOgorICAgICAgICBtb3ZxICAgICAgMjQoJXJzcCksICV4bW0wCisuTF8yVEFHX1BBQ0tFVF81Ni4wLjI6CisuLkIxLjU6CisgICAgICAgIGFkZHEgICAgICAkNDAsICVyc3AKKy4uX19fdGFnX3ZhbHVlX3Bvdy40OgorICAgICAgICByZXQgICAgICAgCisuLl9fX3RhZ192YWx1ZV9wb3cuNToKK0VORChwb3cpCisjIC0tIEVuZCAgcG93CisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitISUdIU0lHTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NTI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY1MjQ4CisJLnR5cGUJSElHSFNJR01BU0ssQG9iamVjdAorCS5zaXplCUhJR0hTSUdNQVNLLDE2CisJLmFsaWduIDE2CitMT0cyX0U6CisJLmxvbmcJMAorCS5sb25nCTEwNzMxNjAxOTIKKwkubG9uZwkzNzA5MTM4NTcKKwkubG9uZwkzMjEwNTg3MTA1CisJLnR5cGUJTE9HMl9FLEBvYmplY3QKKwkuc2l6ZQlMT0cyX0UsMTYKKwkuYWxpZ24gMTYKK2NvZWZmOgorCS5sb25nCTE4NDE5MTQxMzAKKwkubG9uZwkzMjEzMDU5NDQ4CisJLmxvbmcJMzk5NTM0MTkzOAorCS5sb25nCTMyMTQ2MDcxMDUKKwkubG9uZwkyNjc3MzgxMjEwCisJLmxvbmcJMzIxNjMyMDczMQorCS5sb25nCTMwMTE3Nzk4ODIKKwkubG9uZwkzMjE4NDc5NTQyCisJLmxvbmcJMTM2NzgzMjAzNQorCS5sb25nCTEwNjY0MDMwNTgKKwkubG9uZwkyODk0Mjg1MjQzCisJLmxvbmcJMTA2NzkzNjkyMworCS5sb25nCTEyMTUyMjE0NTIKKwkubG9uZwkxMDY5ODM1MTAyCisJLmxvbmcJMzcwOTEzODU3CisJLmxvbmcJMzIxMDU4NzEwNQorCS5sb25nCTI2NzczODEyMTAKKwkubG9uZwkzMjE2MzIwNzMxCisJLmxvbmcJNDE3MjY0MjQyOQorCS5sb25nCTEwNTYwNjgzODIKKwkubG9uZwkxMjE1MjIxNDUxCisJLmxvbmcJMTA2OTgzNTEwMgorCS5sb25nCTEwOTI2MzgxNTYKKwkubG9uZwkzMTg0OTI1NjE4CisJLnR5cGUJY29lZmYsQG9iamVjdAorCS5zaXplCWNvZWZmLDk2CisJLmFsaWduIDE2CitMX3RibDoKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjY4OTE2MgorCS5sb25nCTI1MjMwMTMwMTMKKwkubG9uZwkxMDQ2MTU3Mzk4CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI2ODUwODEKKwkubG9uZwkzODUxNTEzNzU4CisJLmxvbmcJMzE5MDk2ODk1MgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjgxMDA3CisJLmxvbmcJMjI0MTQ2NjQ2NgorCS5sb25nCTEwNDYwNDQ1OTkKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjY3NjkzNworCS5sb25nCTI5OTA5MjgyNzEKKwkubG9uZwkzMTkzMDg0OTg0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI2NzI4NzMKKwkubG9uZwkyOTA1MTEyNzQzCisJLmxvbmcJMzE5MjkxODU3NgorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNjY4ODE1CisJLmxvbmcJMzM3MDU5MTI2NAorCS5sb25nCTEwNDYwNTE3OTMKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjY2NDc2MgorCS5sb25nCTMyNzIzNjEyMTYKKwkubG9uZwkzMTkzNzkzNjUzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI2NjA3MTQKKwkubG9uZwk0NjU0Njc1NQorCS5sb25nCTEwNDMyMDY5MzYKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjY1NjY3MgorCS5sb25nCTMwMTcwNjc3MjQKKwkubG9uZwkzMTkyMTc3OTYyCisJLmxvbmcJMAorCS5sb25nCTEwNzI2NTI2MzYKKwkubG9uZwkzNjg4NDM2NjMxCisJLmxvbmcJMzE5MjgxNDk1NgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyNjQ4NjA0CisJLmxvbmcJMTcwNzQ2MTk5MgorCS5sb25nCTMxOTMwNTY3MTIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjY0NDU3OAorCS5sb25nCTExODgxMTQ1NDAKKwkubG9uZwkzMTkzNjAzMDg2CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI2NDA1NTcKKwkubG9uZwkzNTMzMTgwNTY0CisJLmxvbmcJMTA0NTQ1OTM3NQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyNjM2NTQyCisJLmxvbmcJMjAwMDMzNzYzMAorCS5sb25nCTMxOTM0NzU1NTcKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjYzMjUzMgorCS5sb25nCTM2OTgwNjI0NDMKKwkubG9uZwkzMTkzNzUyNzY2CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI2Mjg1MjcKKwkubG9uZwkzMTYxNjA2MTM4CisJLmxvbmcJMzE5MDUzMjk5NQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNjI0NTI4CisJLmxvbmcJMzE2NTI2NTQ3OAorCS5sb25nCTMxOTMxNTg0NTkKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjYyMDUzNAorCS5sb25nCTE2MDA5NDAwNzcKKwkubG9uZwkzMTkzMjI2Nzc3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI2MTY1NDUKKwkubG9uZwkxMzYzMjcyNTUyCisJLmxvbmcJMzE5MjYxNDI3OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNjEyNTYxCisJLmxvbmcJMzk2NjIwOTkxMAorCS5sb25nCTMxOTEyNDk2NTQKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjYwODU4MworCS5sb25nCTEwOTM2NzI3ODkKKwkubG9uZwkzMTkwNjM3MzMwCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI2MDQ2MTAKKwkubG9uZwkxNzM1MjM5MzU3CisJLmxvbmcJMzE5Mjc1MzYxNgorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNjAwNjQyCisJLmxvbmcJMTQ3MDY2NTE1NgorCS5sb25nCTEwNDU1NTk2OTcKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjU5NjY3OQorCS5sb25nCTM4NDA2MjQ5MjYKKwkubG9uZwkxMDQ1OTI4OTUzCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjU5MjcyMgorCS5sb25nCTQyNTkwNzI1NTYKKwkubG9uZwkzMTkxMDM1NjIyCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI1ODg3NjkKKwkubG9uZwkzNjEzMDg4NzUzCisJLmxvbmcJMzE5MjE2NTY4MQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNTg0ODIyCisJLmxvbmcJMzE3NTIzNDQ0NgorCS5sb25nCTEwMzk0ODY5NDgKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjU4MDg4MAorCS5sb25nCTg1NjU3NjQ0MQorCS5sb25nCTEwNDU3MDI4MTIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjU3Njk0MworCS5sb25nCTIyNTM0OTg3MTkKKwkubG9uZwkzMTkzMjg1MzM0CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzI1NzMwMTEKKwkubG9uZwkxNTg3MDcwNzI4CisJLmxvbmcJMzE5MDgwMTU3NworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNTY5MDg0CisJLmxvbmcJMTU5OTg2MzE3CisJLmxvbmcJMTA0MjUxOTQzNgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyNTY1MTYzCisJLmxvbmcJMzk5OTU0MTk0OQorCS5sb25nCTMxOTIwMjA0NDAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjU2MTI0NgorCS5sb25nCTMyODEzMTAyNjIKKwkubG9uZwkxMDQ1NTg2Nzg2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjU1NzMzNQorCS5sb25nCTM3NzUxNzk0MDYKKwkubG9uZwkxMDQ1MjI2MDU1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI1NTM0MjgKKwkubG9uZwk2NDM0NzIzNTYKKwkubG9uZwkzMTkzNjgxNzg2CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzI1NDk1MjcKKwkubG9uZwkyNDgxNjk3NzUKKwkubG9uZwkxMDQ1MDY4OTc3CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzI1NDU2MzAKKwkubG9uZwkzMDcwMTY2MzIKKwkubG9uZwkxMDQyNjQwOTMyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI1NDE3MzkKKwkubG9uZwkzODcyNzE4NTI2CisJLmxvbmcJMzE4OTc4MTQ4NgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI1Mzc4NTMKKwkubG9uZwk5Njk3MTE2MzAKKwkubG9uZwkzMTkxNzI0NzMyCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI1MzM5NzEKKwkubG9uZwk0MDE4ODIwMzk0CisJLmxvbmcJMzE5MzE4OTI2NAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyNTMwMDk1CisJLmxvbmcJMzEwMjIzMzA5MgorCS5sb25nCTEwNDU1MTAyMjQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjUyNjIyMworCS5sb25nCTEwMjkzMDc5MTIKKwkubG9uZwkzMTkzODEyNzc2CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzI1MjIzNTcKKwkubG9uZwk5ODQwODMxNTMKKwkubG9uZwkxMDQ1OTg3NDAzCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI1MTg0OTUKKwkubG9uZwk0MTcxNDU1NDAxCisJLmxvbmcJMzE5MzA4NDA4MAorCS5sb25nCTAKKwkubG9uZwkxMDcyNTE0NjM5CisJLmxvbmcJMjU5MjY2MDc1NworCS5sb25nCTEwNDYxMjE2OTEKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjUxMDc4NworCS5sb25nCTI5NjQzNjU3MTIKKwkubG9uZwkxMDQ2MDU0NDUzCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI1MDY5NDAKKwkubG9uZwkzNzkyNzc3ODc3CisJLmxvbmcJMzE5MzcwNDcyOQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNTAzMDk4CisJLmxvbmcJMjk0ODUzNjEwNAorCS5sb25nCTMxOTI0NjcxMDAKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjQ5OTI2MQorCS5sb25nCTM4MzYwMDU2MTkKKwkubG9uZwkxMDQxODczMTY2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjQ5NTQyOQorCS5sb25nCTMxMjQ1NDMxNjAKKwkubG9uZwkxMDQ0NDA5MTY4CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI0OTE2MDEKKwkubG9uZwkyODYyMjc5MzMKKwkubG9uZwkxMDQxMDY1OTkwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzI0ODc3NzkKKwkubG9uZwkyMTExMjk2Nzc2CisJLmxvbmcJMzE5MzYwNDQxOQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyNDgzOTYxCisJLmxvbmcJMjYwNjgyMjAwMQorCS5sb25nCTMxOTI5NDAzOTQKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjQ4MDE0OAorCS5sb25nCTE5NDY5NjgwMAorCS5sb25nCTEwNDYwMjYwNjMKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjQ3NjM0MAorCS5sb25nCTg1MzU0NTIKKwkubG9uZwkxMDQ2MjAwMTc4CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjQ3MjUzNworCS5sb25nCTk1MDQ2MzYyNQorCS5sb25nCTMxOTI3MzE4OTcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjQ2ODczOAorCS5sb25nCTk3MzgzMTU2NgorCS5sb25nCTEwNDU2ODMxOTcKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjQ2NDk0NAorCS5sb25nCTMzMzA0MzU4OTIKKwkubG9uZwkzMTkwMjc3NTc3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI0NjExNTUKKwkubG9uZwkyMDg2OTIwOTcKKwkubG9uZwkzMTkzNTE3NjUxCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI0NTczNzEKKwkubG9uZwkyMTEzMDk3NDE1CisJLmxvbmcJMTA0NDc4MTc0OQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyNDUzNTkxCisJLmxvbmcJMTA4ODgwODkzNgorCS5sb25nCTMxOTM3MTYxNDIKKwkubG9uZwkwCisJLmxvbmcJMTA3MjQ0OTgxNworCS5sb25nCTE0NDMwMDIxMjcKKwkubG9uZwkzMTkzMjUwMjA1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzI0NDYwNDYKKwkubG9uZwkzOTY3MzU3NDE5CisJLmxvbmcJMTA0NjEwOTQ3NworCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNDQyMjgxCisJLmxvbmcJMzAxMzUxNzg2MQorCS5sb25nCTMxOTMxNTk2OTEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjQzODUyMAorCS5sb25nCTI1MjQ1ODYyODYKKwkubG9uZwkxMDQ2MTIxOTUxCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzI0MzQ3NjQKKwkubG9uZwkxNDc2ODkyODYxCisJLmxvbmcJMTA0NjQzNDczMQorCS5sb25nCTAKKwkubG9uZwkxMDcyNDMxMDEzCisJLmxvbmcJMzA4OTY0MDk1MAorCS5sb25nCTMxOTIzMDU3ODAKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyNDI3MjY2CisJLmxvbmcJMzgxMjI1NTUyOQorCS5sb25nCTEwNDU3MzA4NzkKKwkubG9uZwkwCisJLmxvbmcJMTA3MjQyMzUyNAorCS5sb25nCTk5NTM1NDc2MgorCS5sb25nCTMxOTE1Mjg2NzMKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjQxOTc4NgorCS5sb25nCTMyNjA1Njc2ODQKKwkubG9uZwkxMDQ2MjczNjk1CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzI0MTYwNTMKKwkubG9uZwkyNzM4MjEwMjg2CisJLmxvbmcJMzE5MTQ3MTUxNgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzI0MTIzMjUKKwkubG9uZwkxOTMxODQ5ODA1CisJLmxvbmcJMTA0NDU2MDQwNQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyNDA4NjAxCisJLmxvbmcJMzU4ODk2NjU1CisJLmxvbmcJMTA0NDAyOTIzNworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyNDA0ODgyCisJLmxvbmcJMjIxNDU4OTg0MgorCS5sb25nCTMxOTMyMDIxMjYKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjQwMTE2NworCS5sb25nCTMxMTgwOTczNjMKKwkubG9uZwkzMTkyNTkyOTA2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIzOTc0NTcKKwkubG9uZwkxODM1OTk4ODg0CisJLmxvbmcJMTA0NTc4ODI0NworCS5sb25nCTAKKwkubG9uZwkxMDcyMzkzNzUyCisJLmxvbmcJMTU4NTQ4ODMxOQorCS5sb25nCTEwNDUyODk5MTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjM5MDA1MQorCS5sb25nCTQ4MDE2MDk0OQorCS5sb25nCTEwNDYwMzA0NTUKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjM4NjM1NAorCS5sb25nCTE4MzI5NTk2NjcKKwkubG9uZwkzMTkzMDEzNjQ0CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIzODI2NjIKKwkubG9uZwkzNjExMzQ2NTU1CisJLmxvbmcJMTA0NDU0NDIxMAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMzc4OTc1CisJLmxvbmcJMjc0OTQxODczNAorCS5sb25nCTMxOTM3MTI1ODAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjM3NTI5MgorCS5sb25nCTIzOTAwNDM0NzIKKwkubG9uZwkzMTkxNzEwNjU4CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIzNzE2MTMKKwkubG9uZwkyODI4MTk5OTAyCisJLmxvbmcJMTA0MjI2NTIxNworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMzY3OTM5CisJLmxvbmcJNTY5MjA5MzIxCisJLmxvbmcJMzE5MTIzMDk4MgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIzNjQyNzAKKwkubG9uZwkyMzYxNTkxMzkKKwkubG9uZwkxMDQ2MjQwMTIzCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjM2MDYwNQorCS5sb25nCTEwMTA2NTYyNzAKKwkubG9uZwkzMTkzODEzOTY4CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzIzNTY5NDQKKwkubG9uZwkyNDA5MDgwNTk3CisJLmxvbmcJMTA0NDAyNTAyOQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIzNTMyODgKKwkubG9uZwk1OTg0MTk1MTMKKwkubG9uZwkxMDQzMzI3MzcwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIzNDk2MzYKKwkubG9uZwk0MTA1OTUwNDc5CisJLmxvbmcJMTA0NTc0Nzk1OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMzQ1OTg4CisJLmxvbmcJMzQzMjQzODUzCisJLmxvbmcJMzE5MjQyMDE3MgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMzQyMzQ1CisJLmxvbmcJMjA4ODQzOTUzMAorCS5sb25nCTEwNDYxNzIwOTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMzM4NzA3CisJLmxvbmcJNDExNzcyMTEwNworCS5sb25nCTEwNDM4ODI0OTYKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjMzNTA3MgorCS5sb25nCTMxOTIwMzI5NTgKKwkubG9uZwkzMTkyOTk4NjQ1CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIzMzE0NDIKKwkubG9uZwkyMzY2NTIyNTE4CisJLmxvbmcJMTA0NTQwMTk1NworCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyMzI3ODE3CisJLmxvbmcJMzY4NTUzMzE0MQorCS5sb25nCTMxOTM3MDE5NDcKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMzI0MTk2CisJLmxvbmcJMTA1ODY1ODY3MgorCS5sb25nCTMxOTM1NzI0OTIKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMzIwNTc5CisJLmxvbmcJMTY2MzQ2MzQ3CisJLmxvbmcJMTA0NTQ1NjM0OAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcyMzE2OTY2CisJLmxvbmcJMjAyNzg4OTc3MgorCS5sb25nCTEwNDYzNDkzMDIKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjMxMzM1OAorCS5sb25nCTEwNzk0OTc4ODgKKwkubG9uZwkxMDQ0NTg1MjU5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIzMDk3NTQKKwkubG9uZwkyMTg5ODUxNTczCisJLmxvbmcJMTA0NTEzMjk5MAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMzA2MTU0CisJLmxvbmcJMjQ4NjYyOTM4NgorCS5sb25nCTMxOTM2MTM2MjUKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMzAyNTU5CisJLmxvbmcJMTI2MzY4NjU3OQorCS5sb25nCTEwNDQ3ODkyNTkKKwkubG9uZwkwCisJLmxvbmcJMTA3MjI5ODk2OAorCS5sb25nCTI0MTIwNjE3OTgKKwkubG9uZwkzMTkxMzY5NjI3CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjI5NTM4MQorCS5sb25nCTU4NDMxNTcxNgorCS5sb25nCTMxOTMxNDQxMzUKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjI5MTc5OAorCS5sb25nCTQ0OTAwMDczOAorCS5sb25nCTEwNDYzMzA0NTEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjI4ODIyMAorCS5sb25nCTM5MzgzMjAxNTcKKwkubG9uZwkxMDQ0NDQ2MjIwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIyODQ2NDUKKwkubG9uZwkyOTQ5ODQ0NTk1CisJLmxvbmcJMzE5MzQ2MjM3MQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMjgxMDc1CisJLmxvbmcJMjc3MTMyOTY0MgorCS5sb25nCTMxOTIxMjE1OTMKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMjc3NTEwCisJLmxvbmcJMzk3MTUwODYyMQorCS5sb25nCTMxOTMwMDI4MDYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjI3Mzk0OAorCS5sb25nCTQwNzE5NDIzMDEKKwkubG9uZwkxMDQ0OTUyNjE5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjI3MDM5MQorCS5sb25nCTIwOTA1MDIzOTUKKwkubG9uZwkxMDQ0NjYwNTU2CisJLmxvbmcJMAorCS5sb25nCTEwNzIyNjY4MzgKKwkubG9uZwkzNjU3NTIwOTYxCisJLmxvbmcJMzE5Mzc3MDkzOAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMjYzMjg4CisJLmxvbmcJMTYwODE3NTExMAorCS5sb25nCTEwNDU1NDMyMzkKKwkubG9uZwkwCisJLmxvbmcJMTA3MjI1OTc0NAorCS5sb25nCTI1MDY5MjQxODAKKwkubG9uZwkxMDQ1NTMwNTAxCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIyNTYyMDMKKwkubG9uZwkxODIzODQ5MworCS5sb25nCTEwNDYzMDU2MjMKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjI1MjY2NgorCS5sb25nCTM4NjI2NDA0ODcKKwkubG9uZwkzMTkyODgyNDA3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIyNDkxMzQKKwkubG9uZwkzODUwMTU4NzYxCisJLmxvbmcJMTA0MzY1NjA5OQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMjQ1NjA1CisJLmxvbmcJMjM1NjUyNDM1NgorCS5sb25nCTEwNDU5MTUyOTYKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjI0MjA4MQorCS5sb25nCTkzNjQ5NzI4NworCS5sb25nCTMxOTM4NDIzNTMKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjIzODU2MQorCS5sb25nCTI4NDA4NDUzNDQKKwkubG9uZwkxMDQ2NDU0NzcxCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIyMzUwNDUKKwkubG9uZwkzNjg4MTAwNzEzCisJLmxvbmcJMTA0NDg5NTQ1MQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMjMxNTMzCisJLmxvbmcJNDc5OTc5OTEzCisJLmxvbmcJMzE5Mzg0MjQ0MgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMjI4MDI1CisJLmxvbmcJMTAxNjMyMTg5OAorCS5sb25nCTEwNDYyNTEwMzIKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjIyNDUyMQorCS5sb25nCTU2MjIzMjQ3NAorCS5sb25nCTMxOTE5NzQ1NTgKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMjIxMDIyCisJLmxvbmcJMzg3MDUxMjAyOQorCS5sb25nCTMxOTMxMTM4ODEKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjIxNzUyNgorCS5sb25nCTEyMzk3ODA1NDcKKwkubG9uZwkzMTkxNTgzNjA0CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIyMTQwMzQKKwkubG9uZwkyODE1NDIxMzI3CisJLmxvbmcJMTA0NTg3MzY4MgorCS5sb25nCTAKKwkubG9uZwkxMDcyMjEwNTQ3CisJLmxvbmcJMjM3MTAwOTU2MQorCS5sb25nCTEwNDE1MDg3OTIKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjIwNzA2MworCS5sb25nCTEzMDQ2MzY1MjQKKwkubG9uZwkzMTkyNDE0Mjg0CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIyMDM1ODMKKwkubG9uZwkyMTAxNDQ4NTQKKwkubG9uZwkzMTkzMzI3MzMzCisJLmxvbmcJMAorCS5sb25nCTEwNzIyMDAxMDgKKwkubG9uZwkxNDU0MzAzMjcyCisJLmxvbmcJMTA0NjM2MDAyNAorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyMTk2NjM2CisJLmxvbmcJMjA5NTc1NzU0OAorCS5sb25nCTEwNDQ5ODQ2NzcKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjE5MzE2OAorCS5sb25nCTIwMjcyMTU1ODAKKwkubG9uZwkzMTkyODgwOTMzCisJLmxvbmcJMAorCS5sb25nCTEwNzIxODk3MDUKKwkubG9uZwkyMTQ3OTQ4ODAKKwkubG9uZwkxMDQzNDU3OTU0CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIxODYyNDUKKwkubG9uZwk4ODQ2MjQ5MTcKKwkubG9uZwkxMDQzNDk3MDc5CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIxODI3ODkKKwkubG9uZwkyNzkyMzk2NjM0CisJLmxvbmcJMzE5MzE3MTY4NQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMTc5MzM3CisJLmxvbmcJNDEyODk5NTI1MAorCS5sb25nCTMxOTIxMDM0MzQKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjE3NTg4OQorCS5sb25nCTMzMzg2NjA0MworCS5sb25nCTEwNDYzNzIzMjUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjE3MjQ0NQorCS5sb25nCTIxOTQ0NDU1NDQKKwkubG9uZwkzMTkzOTU4OTA1CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIxNjkwMDUKKwkubG9uZwkyMzE2MDgyMjY5CisJLmxvbmcJMzE5MjA0MTcwMworCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyMTY1NTY5CisJLmxvbmcJNTgxMDA1MDU3CisJLmxvbmcJMTA0NjMyMjg0OAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzIxNjIxMzcKKwkubG9uZwkzMjgwNzg2NTEzCisJLmxvbmcJMTA0NTQ1NzI1MQorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMTU4NzA4CisJLmxvbmcJMjU2NzA5MzM2MQorCS5sb25nCTEwNDQ3MTAzNTkKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MjE1NTI4NAorCS5sb25nCTM3NDA0NDM1ODQKKwkubG9uZwkxMDQ0MjI0MjM3CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIxNTE4NjMKKwkubG9uZwkzOTgxMDI4MjcyCisJLmxvbmcJMTA0MjU5NjM1MQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMTQ4NDQ2CisJLmxvbmcJMzgyMDAxMTEyMAorCS5sb25nCTMxOTE5MTU2MjMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjE0NTAzNAorCS5sb25nCTI5NDY0Mzk0ODQKKwkubG9uZwkzMTkzODMxMjc2CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIxNDE2MjQKKwkubG9uZwkzMDc1Mjc0NDIyCisJLmxvbmcJMzE5MDEzMjQzMgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMTM4MjE5CisJLmxvbmcJNDk2MDUyMTY3CisJLmxvbmcJMTA0MzYxOTc2MAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMTM0ODE4CisJLmxvbmcJMjcxMTA2NTg5CisJLmxvbmcJMzE5MjI2NTE0OQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMTMxNDIwCisJLmxvbmcJMjA5MTk1NTY4NAorCS5sb25nCTEwNDQ0NDM1NTQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjEyODAyNgorCS5sb25nCTcyMzI0MDEwOQorCS5sb25nCTMxOTEwMDc0MTkKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjEyNDYzNgorCS5sb25nCTE3NDg2MjkwNzAKKwkubG9uZwkxMDQ0NTEwMDc1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzIxMjEyNTAKKwkubG9uZwkzMjg5NTIyMDQ2CisJLmxvbmcJMzE5MzA5NTE3OAorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyMTE3ODY4CisJLmxvbmcJMzU5OTA1MjE0NgorCS5sb25nCTMxOTM3MjA0MjcKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjExNDQ4OQorCS5sb25nCTI0NDY3NTgxMzUKKwkubG9uZwkzMTkzNDM2MzAzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIxMTExMTQKKwkubG9uZwkxNjUyMTcxMDk3CisJLmxvbmcJMzE5MjEzNzE3MworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMTA3NzQzCisJLmxvbmcJMTM1MzAwNzE1NQorCS5sb25nCTEwNDQ1MjM5MDIKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MjEwNDM3NgorCS5sb25nCTk5MDYwMTEwNQorCS5sb25nCTEwNDYyOTY2NjMKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjEwMTAxMgorCS5sb25nCTIyMjg2Mjc2MTgKKwkubG9uZwkzMTkzMDQxMDQwCisJLmxvbmcJMAorCS5sb25nCTEwNzIwOTc2NTMKKwkubG9uZwk4MTI0ODQ3NTYKKwkubG9uZwkzMTkxOTUwNzIzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzIwOTQyOTYKKwkubG9uZwk4MTc4MzMxMzAKKwkubG9uZwkzMTkyMjc5MjQyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIwOTA5NDQKKwkubG9uZwkzNTYzMjI4NTIxCisJLmxvbmcJMzE5MzgxMDk1MQorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMDg3NTk1CisJLmxvbmcJMjcyOTEwODg1OQorCS5sb25nCTMxOTA5MzYxODUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjA4NDI1MAorCS5sb25nCTIyNDkxMjE2NjIKKwkubG9uZwkzMTkwNjM5NjkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzIwODA5MDkKKwkubG9uZwk0MDgyNDcxNzQ1CisJLmxvbmcJMzE5MzkyOTM2OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcyMDc3NTcxCisJLmxvbmcJMjgyNzMyMzgwNgorCS5sb25nCTMxOTM3MDg1NjEKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjA3NDIzNworCS5sb25nCTczNTg2NjE2NworCS5sb25nCTEwNDI0MzQ2OTAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjA3MDkwNworCS5sb25nCTMyNDA4MDg4ODkKKwkubG9uZwkzMTkxOTE4NDIyCisJLmxvbmcJMAorCS5sb25nCTEwNzIwNjc1ODEKKwkubG9uZwk0NjY0ODI3NzcKKwkubG9uZwkzMTg2OTYyMjIxCisJLmxvbmcJMAorCS5sb25nCTEwNzIwNjQyNTgKKwkubG9uZwkxNTc2MDc2Mjk2CisJLmxvbmcJMTA0NTg0OTA1NgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcyMDYwOTM4CisJLmxvbmcJMjc1MTkyMzU2MAorCS5sb25nCTMxOTE5MTA3MDMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjA1NzYyMworCS5sb25nCTE5MDg3NTU1MjcKKwkubG9uZwkxMDQ2NDM3NTE1CisJLmxvbmcJMAorCS5sb25nCTEwNzIwNTQzMTEKKwkubG9uZwkzMTc1ODQxNDExCisJLmxvbmcJMTA0NDU3Mjg4NgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMDUxMDAyCisJLmxvbmcJMTYzMzI1ODQ1MAorCS5sb25nCTMxOTI2NzA0MjAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjA0NzY5NworCS5sb25nCTE4Njc3NDY2NTcKKwkubG9uZwkxMDQ1NzI2MjA5CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIwNDQzOTYKKwkubG9uZwkzMzg5Njg4NjQKKwkubG9uZwkzMTkzMDg0NjYyCisJLmxvbmcJMAorCS5sb25nCTEwNzIwNDEwOTkKKwkubG9uZwkxNTAxNzQyNDcxCisJLmxvbmcJMzE5MTc0MjAzMQorCS5sb25nCTAKKwkubG9uZwkxMDcyMDM3ODA1CisJLmxvbmcJNDI2Njc3NTc4NgorCS5sb25nCTMxOTI2ODY5NzAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjAzNDUxNAorCS5sb25nCTQyNDkyODM1NTMKKwkubG9uZwkxMDQ1NzY5NzI4CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIwMzEyMjcKKwkubG9uZwkyNzU4MzY2ODczCisJLmxvbmcJMTA0NjQwMjE2MQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcyMDI3OTQ0CisJLmxvbmcJMjE2MTE4Njk5MAorCS5sb25nCTEwNDQ3MzY4NjUKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MjAyNDY2NAorCS5sb25nCTgxMDMwMDE3MQorCS5sb25nCTEwNDU3NDg3NzcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MjAyMTM4OAorCS5sb25nCTE4MzY4ODkyNworCS5sb25nCTMxOTE1MTU1ODEKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MjAxODExNQorCS5sb25nCTM2ODg3NDA3MgorCS5sb25nCTMxOTIzNjM1NzUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MjAxNDg0NgorCS5sb25nCTI0NTkwOTI5NzAKKwkubG9uZwkxMDQxNzk0NjQwCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MjAxMTU4MQorCS5sb25nCTg2NzQ4ODY0MAorCS5sb25nCTEwNDYzMTAyOTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcyMDA4MzE5CisJLmxvbmcJNTAxNDA4NzEKKwkubG9uZwkxMDQzMzI3MzI5CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzIwMDUwNjAKKwkubG9uZwkxMjQxOTAyNTE4CisJLmxvbmcJMzE5MjczOTI1MgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcyMDAxODA1CisJLmxvbmcJMTAyNzg4MTY1OQorCS5sb25nCTMxOTM4NTgzODgKKwkubG9uZwkwCisJLmxvbmcJMTA3MTk5ODU1NAorCS5sb25nCTM4NDU3MzIyCisJLmxvbmcJMTA0NTQ4OTE3OQorCS5sb25nCTAKKwkubG9uZwkxMDcxOTk1MzA2CisJLmxvbmcJMzQzMjk2MzMzNworCS5sb25nCTMxOTA5NjkzNDcKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTk5MjA2MQorCS5sb25nCTUzNDkzMTc5MgorCS5sb25nCTEwNDYzMDI3MzQKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTk4ODgyMAorCS5sb25nCTE4MTc4OTUyNjgKKwkubG9uZwkzMTkyNTUxODYwCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE5ODU1ODIKKwkubG9uZwkzNTcyMzczODMKKwkubG9uZwkzMTkxODcwODMzCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE5ODIzNDgKKwkubG9uZwkxMDgyNjI0MDEKKwkubG9uZwkzMTkzMzY1ODY3CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE5NzkxMTcKKwkubG9uZwkxOTY0NzI5MjQ0CisJLmxvbmcJMTA0MjUwMjI0OQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxOTc1ODkwCisJLmxvbmcJMjA4ODQ0Njk1NworCS5sb25nCTEwMzgwMTA1MDMKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTk3MjY2NgorCS5sb25nCTI5NDcyMzk0NDcKKwkubG9uZwkxMDQ2Mzc3ODQ1CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE5Njk0NDYKKwkubG9uZwk3NzQ5MzIwNzIKKwkubG9uZwkxMDQ2MDY0ODU0CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE5NjYyMjkKKwkubG9uZwk0MDgwOTM3NTkwCisJLmxvbmcJMzE5MzA0MTI4NAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxOTYzMDE1CisJLmxvbmcJMjIwODI1MTQ1NAorCS5sb25nCTEwNDU5NDUwODkKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTk1OTgwNQorCS5sb25nCTI4NTA5MjQ0NzUKKwkubG9uZwkxMDQ1NjUwOTU5CisJLmxvbmcJMAorCS5sb25nCTEwNzE5NTY1OTkKKwkubG9uZwk3MTQwNDA5OTcKKwkubG9uZwkxMDQ2Mjc1MTUzCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE5NTMzOTUKKwkubG9uZwk4NTUzMzc4MgorCS5sb25nCTMxOTI4MTY5MjAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTk1MDE5NQorCS5sb25nCTEyNTI1MTEwMDUKKwkubG9uZwkxMDQ0ODA1NzA2CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE5NDY5OTkKKwkubG9uZwkyMzg0NjU5MDM4CisJLmxvbmcJMzE5MzM5MTYwMgorCS5sb25nCTAKKwkubG9uZwkxMDcxOTQzODA2CisJLmxvbmcJNDE2NDgxODEzCisJLmxvbmcJMTA0MzczMDIzMworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE5NDA2MTYKKwkubG9uZwkxNjc1NDI0NDk5CisJLmxvbmcJMTA0NjM0ODAzMAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxOTM3NDI5CisJLmxvbmcJMTE3NTk4OTUxMworCS5sb25nCTMxOTMwMDkxMTMKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTkzNDI0NgorCS5sb25nCTI0MDAwODQ2NTAKKwkubG9uZwkzMTkyNDUxNzEzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE5MzEwNjYKKwkubG9uZwkxNDY3MzM1NjkyCisJLmxvbmcJMzE5MzM1MDg2OAorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcxOTI3ODkwCisJLmxvbmcJMjY2NDkzODAxCisJLmxvbmcJMTA0NDk1NDQ4MQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxOTI0NzE3CisJLmxvbmcJMzkxOTA5MzQ0NQorCS5sb25nCTEwNDYwMjM1NzUKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTkyMTU0NworCS5sb25nCTMwMTc0MDg0ODMKKwkubG9uZwkxMDQ0ODgwODI4CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTkxODM4MQorCS5sb25nCTk0ODg0OTk2NgorCS5sb25nCTMxOTM4OTIyMjQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MTkxNTIxNworCS5sb25nCTE4NzAyMzI2MDAKKwkubG9uZwkxMDQ1Nzc3MjI4CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTkxMjA1OAorCS5sb25nCTgyMjM4MTQ5MgorCS5sb25nCTMxOTM2MzkxODYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTkwODkwMQorCS5sb25nCTc4ODI0MzcwNQorCS5sb25nCTEwNDQ5NjYzNDMKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTkwNTc0OAorCS5sb25nCTEzNDQyNzg4MDkKKwkubG9uZwkxMDQ0NDI4NTQ1CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE5MDI1OTgKKwkubG9uZwkxNzI4NjQzMDAKKwkubG9uZwkxMDQ1NzY1NjA4CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE4OTk0NTEKKwkubG9uZwkyMTE1NTU0NjcKKwkubG9uZwkzMTkyOTYzNTc0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTg5NjMwOAorCS5sb25nCTMzNzM0MzgwMjMKKwkubG9uZwkxMDQ1NjQzMTY4CisJLmxvbmcJMAorCS5sb25nCTEwNzE4OTMxNjgKKwkubG9uZwkyODY3MTgwOTYwCisJLmxvbmcJMzE4OTk0NTk5OAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE4OTAwMzEKKwkubG9uZwkzNjcyNDM2MgorCS5sb25nCTMxOTMyNDA1ODQKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTg4Njg5NworCS5sb25nCTIxNDAxNzY5ODQKKwkubG9uZwkxMDQ1OTQ1MzQ5CisJLmxvbmcJMAorCS5sb25nCTEwNzE4ODM3NjcKKwkubG9uZwk0MzY4NDIzNjAKKwkubG9uZwkxMDQwNzEyNTg3CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE4ODA2MzkKKwkubG9uZwkxMjI1MTQ3MzI5CisJLmxvbmcJMzE5MzgxNDU5NAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDcxODc3NTE1CisJLmxvbmcJMTU4NjE1NzM0OAorCS5sb25nCTMxOTE2MTQzMjIKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxODc0Mzk1CisJLmxvbmcJMzMyOTMzMjkxOAorCS5sb25nCTEwNDE2OTk3OTEKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTg3MTI3NworCS5sb25nCTE2MzU5NjgwNDEKKwkubG9uZwkzMTkxNzgzNzU2CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE4NjgxNjMKKwkubG9uZwkyODc2MTU4MzgyCisJLmxvbmcJMTA0NjA5NzA5MworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxODY1MDUyCisJLmxvbmcJNDI2NzU1Njk2NAorCS5sb25nCTMxOTM3MjMwMDAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTg2MTk0NAorCS5sb25nCTE5NTQ3NTk0MAorCS5sb25nCTEwNDU1MjA3OTUKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTg1ODgzOQorCS5sb25nCTIyMzkxOTM1MTQKKwkubG9uZwkxMDQ2NDc4Njc1CisJLmxvbmcJMAorCS5sb25nCTEwNzE4NTU3MzgKKwkubG9uZwk0MTY4Mjc1NTk2CisJLmxvbmcJMTA0NDkyNjI4NQorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxODUyNjM5CisJLmxvbmcJMTQyNTE0MTE0CisJLmxvbmcJMTA0NTU5NTE4MgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxODQ5NTQ0CisJLmxvbmcJMTk0MzQ1Nzk4NAorCS5sb25nCTMxOTI5MzAwMTUKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTg0NjQ1MgorCS5sb25nCTIwMjY1OTQ4OQorCS5sb25nCTMxOTM5MjYzMTcKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTg0MzM2MworCS5sb25nCTIyMDg0MDg3ODkKKwkubG9uZwkzMTkzODU3NDg0CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE4NDAyNzcKKwkubG9uZwkyMjM3Mjk3NTUyCisJLmxvbmcJMzE5MjkzOTU3NgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxODM3MTk1CisJLmxvbmcJMjcyNjkyMDgzOQorCS5sb25nCTEwNDQxOTM5NTQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTA3MTgzNDExNQorCS5sb25nCTIzMzc3MzIyMDcKKwkubG9uZwkzMTkzNjExNzczCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE4MzEwMzkKKwkubG9uZwkxMzkwMDg4NjAyCisJLmxvbmcJMTA0NDAwMDMxNworCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcxODI3OTY2CisJLmxvbmcJMzgwNjE4ODczNgorCS5sb25nCTMxOTM0NjM5MTMKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTgyNDg5NgorCS5sb25nCTE3OTUyNzY1NjAKKwkubG9uZwkxMDQzNjcxOTY1CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE4MjE4MjkKKwkubG9uZwkyOTYwNzkyNzk5CisJLmxvbmcJMTA0NjI0MDQ3NAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxODE4NzY1CisJLmxvbmcJMzM1MDU5MTU5MgorCS5sb25nCTMxOTMzMzM5MzkKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTgxNTcwNAorCS5sb25nCTQwODg3MDc1NAorCS5sb25nCTMxOTMzMjI4NTQKKwkubG9uZwkwCisJLmxvbmcJMTA3MTgxMjY0NworCS5sb25nCTQxNDY3MTcxMzIKKwkubG9uZwkxMDQ2MDYzNTIwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE4MDk1OTIKKwkubG9uZwkxNjgxMTE0OTE5CisJLmxvbmcJMzE5MjExNDMxMworCS5sb25nCTAKKwkubG9uZwkxMDcxODA2NTQxCisJLmxvbmcJMTA5ODM5MzEzNworCS5sb25nCTMxOTA4NDY3MzIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTgwMzQ5MgorCS5sb25nCTI0Mzc0ODQ5ODMKKwkubG9uZwkzMTkzNDQ4NzE4CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE4MDA0NDcKKwkubG9uZwkxMDM2ODA5MTg1CisJLmxvbmcJMzE5MjAyMzUwMQorCS5sb25nCTAKKwkubG9uZwkxMDcxNzk3NDA1CisJLmxvbmcJNjU5NjY4ODQ4CisJLmxvbmcJMzE5MzU5NjMxMgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxNzk0MzY1CisJLmxvbmcJMTExMjA2MjQ1OQorCS5sb25nCTMxOTI3NzMzNzYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTc5MTMyOQorCS5sb25nCTQwODI5NTYzMzUKKwkubG9uZwkxMDQ1ODMwNTEzCisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwNzE3ODgyOTYKKwkubG9uZwkyMzg3MDg5OTY1CisJLmxvbmcJMTA0NTUzMjYwMQorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDcxNzg1MjY2CisJLmxvbmcJMTUyMjEwMTk4MAorCS5sb25nCTMxOTM5NDE5NTcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTc4MjIzOQorCS5sb25nCTIxNTcxOTc1ODUKKwkubG9uZwkzMTg4MTkzMzA1CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE3NzkyMTUKKwkubG9uZwk5NDY4MTAyMjAKKwkubG9uZwkzMTkzMjIzODE5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE3NzYxOTQKKwkubG9uZwk0MDY5OTQyNDQ0CisJLmxvbmcJMzE5Mzg3ODU0OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE3NzMxNzYKKwkubG9uZwkxNjkzNDYzNDQwCisJLmxvbmcJMTA0NjM2MDU4OAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE3NzAxNjEKKwkubG9uZwkxOTU0NTQzMjU0CisJLmxvbmcJMTA0NjQwOTM4MQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNzY3MTQ5CisJLmxvbmcJMTA1MDQ3MTI0OQorCS5sb25nCTMxOTM5MzMwOTUKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzY0MTQwCisJLmxvbmcJMTI1NjI0MDQ3OAorCS5sb25nCTEwNDY0NTY4NjUKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzYxMTM0CisJLmxvbmcJNjc2NzY0MjU0CisJLmxvbmcJMTA0NjA1NTUwMworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE3NTgxMzEKKwkubG9uZwkxNDIxMDMyOTY3CisJLmxvbmcJMTA0NDc3OTc4NgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE3NTUxMzEKKwkubG9uZwkzODczNTk5MgorCS5sb25nCTMxOTI3NjYzNTUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTc1MjEzNAorCS5sb25nCTI5NjA2Njk2OTAKKwkubG9uZwkxMDQ0NDg0NjgwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwNzE3NDkxMzkKKwkubG9uZwk3ODg3MDczODIKKwkubG9uZwkxMDQ1Mjk5ODk1CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE3NDYxNDgKKwkubG9uZwk2ODU2ODkzMDAKKwkubG9uZwkxMDQwNzc4ODMxCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE3NDMxNjAKKwkubG9uZwkxMTcwOTk0MTgyCisJLmxvbmcJMTA0NjE1OTE3NAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNzQwMTc1CisJLmxvbmcJNjQ1OTE0MzYKKwkubG9uZwkxMDQ2MTUzODQ5CisJLmxvbmcJMAorCS5sb25nCTEwNzE3MzcxOTMKKwkubG9uZwkyMzM4MDMxNjU5CisJLmxvbmcJMzE4OTk5NzcwMgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDcxNzM0MjEzCisJLmxvbmcJMTk0MTYyNDU2OAorCS5sb25nCTMxODY3NTI2NzYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzMxMjM3CisJLmxvbmcJMTQwMTI1NTU4MAorCS5sb25nCTEwNDYzODM5OTAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTcyODI2MworCS5sb25nCTM3Njg4ODQyNworCS5sb25nCTEwNDU4OTY0NTYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDcxNzI1MjkzCisJLmxvbmcJMjgzMTQyNDYzOQorCS5sb25nCTMxOTM1MzkxMDkKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTcyMjMyNQorCS5sb25nCTMzMDMxMjM2OTYKKwkubG9uZwkxMDQ0NTk5NDE1CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE3MTkzNjAKKwkubG9uZwkxMDc3Mjk1MzI5CisJLmxvbmcJMzE4OTg3NzM3MgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxNzE2Mzk4CisJLmxvbmcJMTQzNDA2MTA5OQorCS5sb25nCTMxODQ1Mjk3NzEKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTcxMzQzOQorCS5sb25nCTIxMDQ5OTE1OTAKKwkubG9uZwkxMDQ1MDYyMDc0CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE3MTA0ODMKKwkubG9uZwk3MjIwNjA4NjkKKwkubG9uZwkzMTkzNzg4NTI2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTcwNDU4MAorCS5sb25nCTM5Mjg3OTY0ODYKKwkubG9uZwkxMDQ2MTI5MDIwCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTA3MTY5ODY4OAorCS5sb25nCTU4ODg0NDYyOAorCS5sb25nCTEwNDU0OTIxMzUKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTY5MjgwNworCS5sb25nCTMyNjczOTM2NgorCS5sb25nCTMxOTMwMDQ0NDUKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMTA3MTY4NjkzOAorCS5sb25nCTI0NTY0MzYwNDIKKwkubG9uZwkxMDQ2Mjc4MTY5CisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwNzE2ODEwODAKKwkubG9uZwkyODMxMzAzNTEyCisJLmxvbmcJMTA0MzY3MDA0NgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwNzE2NzUyMzQKKwkubG9uZwk2MDcyMjM0MTgKKwkubG9uZwkxMDQ1NTA3MzIyCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NjkzOTkKKwkubG9uZwk0MjU0OTIxMzMyCisJLmxvbmcJMzE5MzI5MDQ4MworCS5sb25nCTAKKwkubG9uZwkxMDcxNjYzNTc1CisJLmxvbmcJOTE0OTk0MzMzCisJLmxvbmcJMzE5MTI2Mzg1MworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNjU3NzYyCisJLmxvbmcJNDE0NzA1MDE4MAorCS5sb25nCTMxOTMyMjg1NTIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTA3MTY1MTk2MAorCS5sb25nCTU5NDU1NDE1NworCS5sb25nCTMxOTM1MDM5MzUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NjE3MAorCS5sb25nCTEwNjI4NDY3OTYKKwkubG9uZwkxMDQ1OTQ0MzMxCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE2MzYxMDkKKwkubG9uZwkyOTA5MjM4ODkzCisJLmxvbmcJMzE5MzQzNjg4NAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNjI0NTcyCisJLmxvbmcJMTY4MjkxODExOQorCS5sb25nCTEwNDIyMTE4OTkKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTYxMzA1NworCS5sb25nCTI0MTkyMDk0MjYKKwkubG9uZwkxMDQ1NDM3MDYyCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE2MDE1NjQKKwkubG9uZwkyOTUxMzQxMzIxCisJLmxvbmcJMzE5MDE5MzIxNAorCS5sb25nCTAKKwkubG9uZwkxMDcxNTkwMDkzCisJLmxvbmcJMzA4NDkwMDg3NQorCS5sb25nCTMxOTIzOTQ5MDcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTU3ODY0MworCS5sb25nCTk5OTU2NzQ1NAorCS5sb25nCTEwNDY0MzM0NDcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTU2NzIxNQorCS5sb25nCTE1NzAxMDE4NTcKKwkubG9uZwkzMTkzMjkxMTYwCisJLmxvbmcJMAorCS5sb25nCTEwNzE1NTU4MDkKKwkubG9uZwkxMDgwNjQ3ODgxCisJLmxvbmcJMzE4NTE1NDU4NQorCS5sb25nCTAKKwkubG9uZwkxMDcxNTQ0NDI0CisJLmxvbmcJMzUyNjMwOTE3NworCS5sb25nCTEwNDQ4NDM2NDAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTUzMzA2MAorCS5sb25nCTIyMTM0NjMzNDkKKwkubG9uZwkzMTkxNzM4OTMwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzE1MjE3MTgKKwkubG9uZwkxMDM5OTI1MTk1CisJLmxvbmcJMzE5MjYxODM1MworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNTEwMzk3CisJLmxvbmcJMjExNTc1NzI4MAorCS5sb25nCTMxOTM2NzE1NjcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTQ5OTA5NworCS5sb25nCTExODg3NTE0OTUKKwkubG9uZwkzMTkxMTQ1NTYwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzE0ODc4MTgKKwkubG9uZwkzOTgzNDYxNDQ5CisJLmxvbmcJMzE5Mzg5NzAyOQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxNDc2NTYwCisJLmxvbmcJNzgyMTQxNTAwCisJLmxvbmcJMTA0Mjg3OTk2MgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxNDY1MzIzCisJLmxvbmcJNDAzODkwNDYyNgorCS5sb25nCTEwNDUwNjM4ODEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTQ1NDEwNworCS5sb25nCTI2MTMwMzY5MjEKKwkubG9uZwkzMTkzMjE3NjQyCisJLmxvbmcJMAorCS5sb25nCTEwNzE0NDI5MTIKKwkubG9uZwkyMDk1NzIzNDM1CisJLmxvbmcJMTA0NDYyOTE3NQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxNDMxNzM3CisJLmxvbmcJMzg3OTc5NTk3NAorCS5sb25nCTEwNDU3Njc4NzQKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTQyMDU4MworCS5sb25nCTI2NjIxOTgwNDIKKwkubG9uZwkzMTkxNDM0NjM3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzE0MDk0NDkKKwkubG9uZwk0MDM3NjA1NzIyCisJLmxvbmcJMzE5MzcwMzA5MAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMzk4MzM2CisJLmxvbmcJMTg2MDMzMTgzNQorCS5sb25nCTEwNDA4MTQ4MjIKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTM4NzI0MworCS5sb25nCTE1MjI5NzIwMzMKKwkubG9uZwkzMTkwMzA1OTc0CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzEzNzYxNzEKKwkubG9uZwkyMzYxNTM0MjA3CisJLmxvbmcJMTA0MzY5OTM2NgorCS5sb25nCTAKKwkubG9uZwkxMDcxMzY1MTE5CisJLmxvbmcJNDE4MDMwOTE3OQorCS5sb25nCTEwNDQxNDIwOTkKKwkubG9uZwkwCisJLmxvbmcJMTA3MTM1NDA4NworCS5sb25nCTEyMDEwMzg1MjgKKwkubG9uZwkzMTkyOTY4NzcyCisJLmxvbmcJMAorCS5sb25nCTEwNzEzNDMwNzUKKwkubG9uZwkxMzQyNDc4MTcxCisJLmxvbmcJMzE5MzI1MTIxNQorCS5sb25nCTAKKwkubG9uZwkxMDcxMzMyMDgzCisJLmxvbmcJMzgzNjg4MzM0OAorCS5sb25nCTMxOTM0NzIwMDcKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTMyMTExMAorCS5sb25nCTM4NjQ4NzQyNTAKKwkubG9uZwkxMDQ1NTkzMTI2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzEzMTAxNTgKKwkubG9uZwkyMTY5NDk0OTk4CisJLmxvbmcJMTA0NjA0NTM0NgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMjk5MjI2CisJLmxvbmcJMzc4NTE2NTA3NQorCS5sb25nCTMxOTMzMTkyNDYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTI4ODMxMworCS5sb25nCTExMzc2OTI2NzgKKwkubG9uZwkzMTkyNzE2Nzc5CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzEyNzc0MjAKKwkubG9uZwkxNzUyMTA3NTk4CisJLmxvbmcJMTA0NjM2NjEyMAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxMjY2NTQ2CisJLmxvbmcJMTkxMjY1NjkxMgorCS5sb25nCTEwNDYzNTIyODEKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTI1NTY5MgorCS5sb25nCTI4ODI2NzYzMzQKKwkubG9uZwkxMDQ2NDA2MzUzCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzEyNDQ4NTgKKwkubG9uZwk5NjM2MTI0NjAKKwkubG9uZwkxMDQ1MjgyODExCisJLmxvbmcJMAorCS5sb25nCTEwNzEyMzQwNDMKKwkubG9uZwkzODExMjU1NzczCisJLmxvbmcJMTA0NjIzMTYzNgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMjIzMjQ3CisJLmxvbmcJMTEyNjA1NTk4OQorCS5sb25nCTMxOTIyMjQwMzcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MTIxMjQ3MAorCS5sb25nCTIwNzkxNDU0MjcKKwkubG9uZwkxMDQ0NDMyNDEzCisJLmxvbmcJMAorCS5sb25nCTEwNzEyMDE3MTMKKwkubG9uZwkzNjExNTk1NjIxCisJLmxvbmcJMTA0MzM1ODc0NQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMTkwOTc0CisJLmxvbmcJMzkwNTIyNzY5CisJLmxvbmcJMTA0NTg4ODI1MgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcxMTgwMjU1CisJLmxvbmcJNDA4NzkzOTcyMworCS5sb25nCTMxOTI5MzA3NDUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTE2OTU1NAorCS5sb25nCTE0NTE0OTQ0ODAKKwkubG9uZwkzMTkwMjE5Mjc0CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzExNTg4NzMKKwkubG9uZwk0MjcxNzYxOTQKKwkubG9uZwkzMTkzMDQyMDIyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzExNDgyMTAKKwkubG9uZwkxODgyMzgxOTQ4CisJLmxvbmcJMzE5MjcyNzk0NgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMTM3NTY2CisJLmxvbmcJMzczNjMxMzc3MQorCS5sb25nCTMxOTIwODcwMTkKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTEyNjk0MQorCS5sb25nCTE1NjAzOTg4MTYKKwkubG9uZwkzMTkzMTg1NzE1CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzExMTYzMzQKKwkubG9uZwkxMDIxOTQyNDQxCisJLmxvbmcJMTA0MTUyNjY5NgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcxMTA1NzQ2CisJLmxvbmcJMzUxNzA4MDI0OQorCS5sb25nCTMxOTM1NzYwNDEKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MTA5NTE3NgorCS5sb25nCTIyNDg1ODk4NzgKKwkubG9uZwkxMDQ0NTI3NjI0CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzEwODQ2MjUKKwkubG9uZwkyNDEyODk2Njk1CisJLmxvbmcJMTA0NjExMjg2NworCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcxMDc0MDkyCisJLmxvbmcJMzgzNDcyNTczOAorCS5sb25nCTEwNDQ1NjIzNzgKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MTA2MzU3OAorCS5sb25nCTExNTA5MjA0MDcKKwkubG9uZwkxMDQzNzY4OTg2CisJLmxvbmcJMAorCS5sb25nCTEwNzEwNTMwODIKKwkubG9uZwkxMzc5MzkzNDI4CisJLmxvbmcJMzE4ODY5MDY5MAorCS5sb25nCTAKKwkubG9uZwkxMDcxMDQyNjA0CisJLmxvbmcJMzA1ODE4MzI3OAorCS5sb25nCTMxOTM2MTc2NTUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTAzMjE0NAorCS5sb25nCTQyMTEzMzY2NQorCS5sb25nCTMxOTM0MTcxODYKKwkubG9uZwkwCisJLmxvbmcJMTA3MTAyMTcwMgorCS5sb25nCTI4NjAxNjEzNTcKKwkubG9uZwkzMTkxODE2MTI1CisJLmxvbmcJMAorCS5sb25nCTEwNzEwMTEyNzgKKwkubG9uZwkxNzQyNDA1OTY0CisJLmxvbmcJMTA0MzU4MDI0MAorCS5sb25nCTAKKwkubG9uZwkxMDcxMDAwODcyCisJLmxvbmcJMjgyMTIxNTkyNworCS5sb25nCTMxODg5ODQyNzMKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDk5MDQ4MworCS5sb25nCTUxMDI3NTU5NworCS5sb25nCTEwNDU4MTM0MDEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDk4MDExMworCS5sb25nCTMwNDI2NjU4OAorCS5sb25nCTMxOTExOTM1MzYKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDk2OTc2MAorCS5sb25nCTE4NTQ3ODQyMTEKKwkubG9uZwkxMDQ2MzAyMDczCisJLmxvbmcJMAorCS5sb25nCTEwNzA5NTk0MjYKKwkubG9uZwkzNzczMDgyODU0CisJLmxvbmcJMzE5MzAwODg5OQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwOTQ5MTA4CisJLmxvbmcJMzAwMzU3MjM5MgorCS5sb25nCTEwNDY0MDQ4NzkKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDkzODgwOAorCS5sb25nCTE3MDIxNDkyMDQKKwkubG9uZwkxMDQ2NDA3MjU3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA5Mjg1MjYKKwkubG9uZwkzOTM1MzE0NDM5CisJLmxvbmcJMTA0NjQzODI4MAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwOTE4MjYxCisJLmxvbmcJMjY3NzA4NzYwOQorCS5sb25nCTEwNDU1MDE3NDkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDkwODAxNAorCS5sb25nCTQxOTA1OTgwMzkKKwkubG9uZwkzMTkzNjQwNTE1CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzA4OTc3ODQKKwkubG9uZwkzNjg4NzQwNzIKKwkubG9uZwkxMDQ0ODc5OTI3CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA4ODc1NzEKKwkubG9uZwkzNTg0MDUyNjk3CisJLmxvbmcJMzE5MjAyNDY2MgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwODc3Mzc1CisJLmxvbmcJMzc2MjMwNzgyOQorCS5sb25nCTEwNDU4ODY5MTgKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MDg2NzE5NworCS5sb25nCTQ5NTcxMDkyMAorCS5sb25nCTEwNDYzMTcwNzIKKwkubG9uZwkwCisJLmxvbmcJMTA3MDg1NzAzNgorCS5sb25nCTIyOTI3NjgyMzgKKwkubG9uZwkzMTkwODg3NTA4CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA4NDY4OTEKKwkubG9uZwkxMDQ0MDc4MTUxCisJLmxvbmcJMzE5Mzc3MjkxNAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcwODM2NzY0CisJLmxvbmcJMzI2NjAxMDQ1NworCS5sb25nCTEwNDM0NDM3NTUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDgyNjY1MworCS5sb25nCTM1NzE2NjU4MjIKKwkubG9uZwkxMDQ1NTQ3ODIzCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzA4MTY1NjAKKwkubG9uZwkzOTMzNDgzNDcKKwkubG9uZwkzMTkwNTI1MTQzCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA4MDY0ODMKKwkubG9uZwk0MjQxNzIyNDk4CisJLmxvbmcJMzE5MjA4NDE5MworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNzk2NDIzCisJLmxvbmcJMTY5Mzc5NzA2OAorCS5sb25nCTMxOTI4MDc5NzIKKwkubG9uZwkwCisJLmxvbmcJMTA3MDc4NjM4MAorCS5sb25nCTI4NjAwODY3NDUKKwkubG9uZwkxMDQ2MzMxNjQ2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA3NzYzNTMKKwkubG9uZwkxMzY2MTQxNzU5CisJLmxvbmcJMzE5Mjk3OTM2MworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcwNzY2MzQzCisJLmxvbmcJNzM3ODk5MjgzCisJLmxvbmcJMTA0NTg1MzM0NgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwNzU2MzQ5CisJLmxvbmcJODg3MzQ4NzMKKwkubG9uZwkxMDQzODgxMjU3CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA3NDYzNzIKKwkubG9uZwkxNDM4MDAzMzE1CisJLmxvbmcJMzE5MjkxNzEwMQorCS5sb25nCTAKKwkubG9uZwkxMDcwNzM2NDEyCisJLmxvbmcJMTA2NjUwNTUzMAorCS5sb25nCTEwNDM4OTY2OTUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDcyNjQ2NworCS5sb25nCTI3MDY2NTMwNDEKKwkubG9uZwkzMTkxMTEzNjQzCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwNzA3MTY1MzkKKwkubG9uZwkxMzIxNzY0NDc2CisJLmxvbmcJMTAzOTU3MzcyNAorCS5sb25nCTAKKwkubG9uZwkxMDcwNzA2NjI4CisJLmxvbmcJMTEyNjc1MzIxMQorCS5sb25nCTEwNDQ1MDI5NzYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDY5NjczMgorCS5sb25nCTc3MzY0Mjg4NAorCS5sb25nCTEwNDQxMTA3MjcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTA3MDY4Njg1MworCS5sb25nCTEyNjM3NDM0MDYKKwkubG9uZwkzMTkzMTE1Mjc4CisJLmxvbmcJMAorCS5sb25nCTEwNzA2NzY5OTAKKwkubG9uZwkzMTE1MjM3NzMyCisJLmxvbmcJMzE5MzA4OTE3NgorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDcwNjY3MTQyCisJLmxvbmcJMzY0MjYyNjgzOAorCS5sb25nCTMxOTExNDYwMzIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDY1NzMxMQorCS5sb25nCTIwOTE2OTY0MjgKKwkubG9uZwkxMDQ0MzM3MTc3CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzA2NDc0OTYKKwkubG9uZwkzMTY4OTU4MzkxCisJLmxvbmcJMTA0NDE5NzU2OAorCS5sb25nCTAKKwkubG9uZwkxMDcwNjM3Njk3CisJLmxvbmcJNzExMTQ4NjY5CisJLmxvbmcJMzE5MzE4MTA0NworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNjI3OTEzCisJLmxvbmcJNDIwNzE4Mjc3MworCS5sb25nCTMxOTM0MDIwOTIKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDYxODE0NQorCS5sb25nCTkxODA3MDY0MAorCS5sb25nCTMxOTI5MDI4NDUKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTA3MDYwODM5MworCS5sb25nCTMxMzU1NzE0NDcKKwkubG9uZwkzMTkyMTkzOTI4CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA1OTg2NTcKKwkubG9uZwkxMDQzNzA1NTE3CisJLmxvbmcJMzE5MzE4ODYwNAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNTgxNzc3CisJLmxvbmcJMTg4NjY4MDQ5MgorCS5sb25nCTEwNDM4OTAyODYKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDU2MjM2NworCS5sb25nCTMzNzM3OTk0MjAKKwkubG9uZwkzMTkxOTE3ODAyCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzA1NDI5ODgKKwkubG9uZwkyOTE5NjE4MDI1CisJLmxvbmcJMzE5MjQ2MTc1MgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNTIzNjQwCisJLmxvbmcJMjkyNjM2NTE1OAorCS5sb25nCTMxOTMxMTM0OTIKKwkubG9uZwkwCisJLmxvbmcJMTA3MDUwNDMyMworCS5sb25nCTUxOTk3ODYzOAorCS5sb25nCTEwNDU5MTg4NDYKKwkubG9uZwkwCisJLmxvbmcJMTA3MDQ4NTAzNworCS5sb25nCTM2NjUzNTMxNTEKKwkubG9uZwkzMTkzNTQ2MjQ4CisJLmxvbmcJMAorCS5sb25nCTEwNzA0NjU3ODEKKwkubG9uZwkyMzI3NzE4OTU4CisJLmxvbmcJMTA0NTA1MDc5NworCS5sb25nCTAKKwkubG9uZwkxMDcwNDQ2NTU2CisJLmxvbmcJMzQ1MzI2ODYxCisJLmxvbmcJMzE4ODIyNDcxNgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwNDI3MzYxCisJLmxvbmcJMjI2Mzc0NzQ4OAorCS5sb25nCTMxOTI4NzEzMjgKKwkubG9uZwkwCisJLmxvbmcJMTA3MDQwODE5NworCS5sb25nCTM4OTQxOTIyNjQKKwkubG9uZwkxMDQ1NjkzMTIzCisJLmxvbmcJMAorCS5sb25nCTEwNzAzODkwNjMKKwkubG9uZwk5OTQzMjE1OTMKKwkubG9uZwkxMDQ2MzQ3MjAzCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzAzNjk5NTkKKwkubG9uZwkzNTQwMzY2NzAwCisJLmxvbmcJMTA0MjI5NjIzMAorCS5sb25nCTAKKwkubG9uZwkxMDcwMzUwODg2CisJLmxvbmcJOTY2NDIwNzUyCisJLmxvbmcJMzE5MjQwMDQxMgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMzMxODQyCisJLmxvbmcJMTk1NDUxMTE2MAorCS5sb25nCTMxOTM0Njc3NjIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDMxMjgyOAorCS5sb25nCTE4NzUwMDMwNDAKKwkubG9uZwkxMDQ1NDg1NjI5CisJLmxvbmcJMAorCS5sb25nCTEwNzAyOTM4NDUKKwkubG9uZwk0MDAzMzcyMDA1CisJLmxvbmcJMzE5MzcxNDEwOQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMjc0ODkwCisJLmxvbmcJMjIxNjA4MzY0NAorCS5sb25nCTEwNDU3MjAzOTkKKwkubG9uZwkwCisJLmxvbmcJMTA3MDI1NTk2NgorCS5sb25nCTEyNDA5ODU3NDMKKwkubG9uZwkxMDQ1ODc5NDE0CisJLmxvbmcJMAorCS5sb25nCTEwNzAyMzcwNzEKKwkubG9uZwkxNTczMDY0MTYyCisJLmxvbmcJMTA0NjQyNzkxNgorCS5sb25nCTAKKwkubG9uZwkxMDcwMjE4MjA2CisJLmxvbmcJMjUwMDE2NjU4MgorCS5sb25nCTMxOTM4NDgxNjkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDE5OTM2OQorCS5sb25nCTg2MjEzMTUzOQorCS5sb25nCTEwNDU2MDYwNjUKKwkubG9uZwkwCisJLmxvbmcJMTA3MDE4MDU2MworCS5sb25nCTM3MzM0Mjc2MjIKKwkubG9uZwkzMTkzNTQ1OTg4CisJLmxvbmcJMAorCS5sb25nCTEwNzAxNjE3ODUKKwkubG9uZwkxMjQ1MTUzNTgKKwkubG9uZwkxMDQ1NTA0NzY2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzAxNDMwMzYKKwkubG9uZwk2ODkyMjgwMDcKKwkubG9uZwkxMDQ0MjM4NDM2CisJLmxvbmcJMAorCS5sb25nCTEwNzAxMjQzMTcKKwkubG9uZwk5NzYyODQ4MzUKKwkubG9uZwkzMTg5ODc5OTc4CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNzAxMDU2MjYKKwkubG9uZwkyOTk3NDQ2MjI0CisJLmxvbmcJMzE5MzM5NDI0NAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMDg2OTY0CisJLmxvbmcJNTk0OTg1MTYzCisJLmxvbmcJMzE5MDQ1MzQ0NworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDcwMDY4MzMxCisJLmxvbmcJMzYzNDQxMTA5MQorCS5sb25nCTMxOTMwMTI2NjIKKwkubG9uZwkwCisJLmxvbmcJMTA3MDA0OTcyNworCS5sb25nCTg0MTMxNjQ4MgorCS5sb25nCTMxOTI1NTE2MDQKKwkubG9uZwkwCisJLmxvbmcJMTA3MDAzMTE1MQorCS5sb25nCTUxODk0OTg0OQorCS5sb25nCTMxODk1MDU2OTMKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA3MDAxMjYwMworCS5sb25nCTIwNzYzMzYwNAorCS5sb25nCTEwNDM3OTEzMDUKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTk5NDA4NAorCS5sb25nCTkyNTQxNTYzMQorCS5sb25nCTMxODk2NTg2NzAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTk3NTU5MworCS5sb25nCTMzNDg3NzUwMTUKKwkubG9uZwkxMDQ2MjMxMDU1CisJLmxvbmcJMAorCS5sb25nCTEwNjk5NTcxMzEKKwkubG9uZwk0MTM3NTkzOTYxCisJLmxvbmcJMTA0NTc2MDY0NAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDY5OTM4Njk2CisJLmxvbmcJMzA4MTIwNzk3MgorCS5sb25nCTEwNDYzMTk2NTIKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTkyMDI5MAorCS5sb25nCTI5MTI4MTE4MDYKKwkubG9uZwkzMTkzMjUwODYzCisJLmxvbmcJMAorCS5sb25nCTEwNjk5MDE5MTIKKwkubG9uZwkxNzA0NjYzMjMwCisJLmxvbmcJMzE5MjY1MTE3MQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDY5ODgzNTYxCisJLmxvbmcJMTcyNjg4NzQ3MworCS5sb25nCTMxOTM0Mjc4MTcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTg2NTIzOAorCS5sb25nCTUxNjMwMjg3MworCS5sb25nCTEwNDI1NTY5MTkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTg0Njk0MworCS5sb25nCTM3MzcyNzcyODkKKwkubG9uZwkzMTkyMDgzNTA1CisJLmxvbmcJMAorCS5sb25nCTEwNjk4Mjg2NzYKKwkubG9uZwkyODI5OTA5MDY3CisJLmxvbmcJMzE5MTYyODUyMAorCS5sb25nCTAKKwkubG9uZwkxMDY5ODEwNDM2CisJLmxvbmcJMzQ3NDgwMDI5OQorCS5sb25nCTMxODczODQ5OTEKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTc5MjIyMworCS5sb25nCTIwNDEyOTE3NTQKKwkubG9uZwkzMTg2NzM1MDQ4CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk3NzQwMzgKKwkubG9uZwkzMTAwNzM5MjkwCisJLmxvbmcJMzE5Mjk5MTk1MQorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDY5NzU1ODgwCisJLmxvbmcJMjY0MTY4Njg2NgorCS5sb25nCTEwNDI0NDk4NDYKKwkubG9uZwkwCisJLmxvbmcJMTA2OTczNzc1MAorCS5sb25nCTEzNTM2MTI0NTcKKwkubG9uZwkzMTkyOTI4NTQ0CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwNjk3MTk2NDYKKwkubG9uZwkxODIzMzk4MTkwCisJLmxvbmcJMzE5MzEyNTE1NgorCS5sb25nCTAKKwkubG9uZwkxMDY5NzAxNTcwCisJLmxvbmcJMjYyOTEwODU1OAorCS5sb25nCTMxOTI5ODMwODkKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTY4MzUyMAorCS5sb25nCTMxNDg4OTA4MAorCS5sb25nCTMxOTMxNzg5NDcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTY2NTQ5NworCS5sb25nCTM0MjY4NDY0NzAKKwkubG9uZwkxMDQ2MDU1MDM0CisJLmxvbmcJMAorCS5sb25nCTEwNjk2NDc1MDIKKwkubG9uZwkyNDUxNTIxNzk4CisJLmxvbmcJMzE5MzA4MTQ0NworCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDY5NjI5NTMyCisJLmxvbmcJOTYzMjAwMDMwCisJLmxvbmcJMTA0NjMxNTA4OQorCS5sb25nCTAKKwkubG9uZwkxMDY5NjExNTkwCisJLmxvbmcJMzY0NDk3Njk4NworCS5sb25nCTEwNDY0NTAyOTcKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLmxvbmcJMTA2OTU5MzY3NAorCS5sb25nCTE1MTQwNDU4NzQKKwkubG9uZwkzMTkzMzM3NDg5CisJLmxvbmcJMAorCS5sb25nCTEwNjk1NzU3ODUKKwkubG9uZwkyNjQwNzUyNjE1CisJLmxvbmcJMzE5MjczNDcxNQorCS5sb25nCTAKKwkubG9uZwkxMDY5NTU3OTIyCisJLmxvbmcJMTc3MzgxNzMwCisJLmxvbmcJMzE5MzEwNzM0OAorCS5sb25nCTAKKwkubG9uZwkxMDY5NTMyNjUwCisJLmxvbmcJNTQ2ODcxMjY5CisJLmxvbmcJMTA0NTYwMTg0NworCS5sb25nCTAKKwkubG9uZwkxMDY5NDk3MDI5CisJLmxvbmcJMjIyMDQwODE4NworCS5sb25nCTEwNDU5NjQ4NDkKKwkubG9uZwkwCisJLmxvbmcJMTA2OTQ2MTQ2MQorCS5sb25nCTMxMDEyMDk3ODQKKwkubG9uZwkzMTkyNDE3MDk4CisJLmxvbmcJMAorCS5sb25nCTEwNjk0MjU5NDQKKwkubG9uZwkzNzY4ODI1NzgyCisJLmxvbmcJMTA0NjE5NjE3OAorCS5sb25nCTAKKwkubG9uZwkxMDY5MzkwNDgwCisJLmxvbmcJNzM3MzA4OTQyCisJLmxvbmcJMTA0Mzg3MjU1NQorCS5sb25nCTAKKwkubG9uZwkxMDY5MzU1MDY4CisJLmxvbmcJMTk0NDgwODExOQorCS5sb25nCTMxOTMzNjIzMTcKKwkubG9uZwkwCisJLmxvbmcJMTA2OTMxOTcwNworCS5sb25nCTg1MjQwNjI2MQorCS5sb25nCTMxOTEwMDQyNTAKKwkubG9uZwkwCisJLmxvbmcJMTA2OTI4NDM5OAorCS5sb25nCTMyMDIzNzA3NDMKKwkubG9uZwkzMTkyNTQ5Nzk2CisJLmxvbmcJMAorCS5sb25nCTEwNjkyNDkxNDAKKwkubG9uZwk5MDA2MzM5NzUKKwkubG9uZwkxMDQzODYyNTc1CisJLmxvbmcJMAorCS5sb25nCTEwNjkyMTM5MzQKKwkubG9uZwkzNDE3MTY4NTY0CisJLmxvbmcJMzE5MzIxMzE2OAorCS5sb25nCTAKKwkubG9uZwkxMDY5MTc4Nzc4CisJLmxvbmcJMjUxMzMwOTk3MgorCS5sb25nCTEwNDYwNTE5NTMKKwkubG9uZwkwCisJLmxvbmcJMTA2OTE0MzY3NAorCS5sb25nCTE4MzY4NDY5NjgKKwkubG9uZwkxMDQ0MDM2NjUzCisJLmxvbmcJMAorCS5sb25nCTEwNjkxMDg2MjEKKwkubG9uZwk2NzUzOTEzNjIKKwkubG9uZwkzMTkzMzM0OTcyCisJLmxvbmcJMAorCS5sb25nCTEwNjkwNzM2MTgKKwkubG9uZwkxODU5Mzk4MDg2CisJLmxvbmcJMzE5MTY2ODcyOQorCS5sb25nCTAKKwkubG9uZwkxMDY5MDM4NjY2CisJLmxvbmcJMzgzNTk5NDA0MworCS5sb25nCTMxOTMyNTIxOTYKKwkubG9uZwkwCisJLmxvbmcJMTA2OTAwMzc2NAorCS5sb25nCTU2MzMzNzI0NgorCS5sb25nCTMxOTIwNjA1MzAKKwkubG9uZwkwCisJLmxvbmcJMTA2ODk2ODkxMgorCS5sb25nCTM3MTUxNTQyMTAKKwkubG9uZwkxMDQ1NTkyNzE2CisJLmxvbmcJMAorCS5sb25nCTEwNjg5MzQxMTEKKwkubG9uZwk1MTQxNTYzNgorCS5sb25nCTMxOTIxOTM5MzkKKwkubG9uZwkwCisJLmxvbmcJMTA2ODg5OTM1OQorCS5sb25nCTgyMjA0OTEwOAorCS5sb25nCTEwNDU4NDYwODAKKwkubG9uZwkwCisJLmxvbmcJMTA2ODg2NDY1OAorCS5sb25nCTM3MzkwNDMzNDAKKwkubG9uZwkzMTkzMTg0OTQ5CisJLmxvbmcJMAorCS5sb25nCTEwNjg4MzAwMDYKKwkubG9uZwkyNTAwODI4OTk3CisJLmxvbmcJMzE5MzExNTYzOAorCS5sb25nCTAKKwkubG9uZwkxMDY4Nzk1NDAzCisJLmxvbmcJMTQ3OTMzNTA4OQorCS5sb25nCTEwNDU0NTgyMzMKKwkubG9uZwkwCisJLmxvbmcJMTA2ODc2MDg1MAorCS5sb25nCTE5MTQwOTg1OTgKKwkubG9uZwkxMDQ1MDc5ODMzCisJLmxvbmcJMAorCS5sb25nCTEwNjg3MjYzNDYKKwkubG9uZwkxNDcwMzc0OTA5CisJLmxvbmcJMTA0NjEyNTQ3MQorCS5sb25nCTAKKwkubG9uZwkxMDY4NjkxODkyCisJLmxvbmcJMjA0ODEwMTE4NQorCS5sb25nCTMxOTI5NjAwMjQKKwkubG9uZwkwCisJLmxvbmcJMTA2ODY1NzQ4NgorCS5sb25nCTgwMTEwMTgwMgorCS5sb25nCTEwNDI1MjM0NTQKKwkubG9uZwkwCisJLmxvbmcJMTA2ODYyMzEyOQorCS5sb25nCTQxMjE3MTQ2NworCS5sb25nCTEwNDQ3OTk0MjUKKwkubG9uZwkwCisJLmxvbmcJMTA2ODU4ODgyMQorCS5sb25nCTIxMjQ1NjYwNDkKKwkubG9uZwkxMDQwNDU5ODQzCisJLmxvbmcJMAorCS5sb25nCTEwNjg1NTQ1NjEKKwkubG9uZwkyMDg3NTU4MjYzCisJLmxvbmcJMTA0NjA4MzEwMgorCS5sb25nCTAKKwkubG9uZwkxMDY4NTIwMzUwCisJLmxvbmcJMjkwMzg5MzE2CisJLmxvbmcJMTA0NTIyMDAyMworCS5sb25nCTAKKwkubG9uZwkxMDY4NDczNDMwCisJLmxvbmcJMzkzNzM3ODE1CisJLmxvbmcJMTA0NTc3MDA4NQorCS5sb25nCTAKKwkubG9uZwkxMDY4NDA1MjAyCisJLmxvbmcJMzI3MzExMTY1OAorCS5sb25nCTMxOTM1OTQzMzYKKwkubG9uZwkwCisJLmxvbmcJMTA2ODMzNzA2OAorCS5sb25nCTMwNzY5MzU0MTkKKwkubG9uZwkzMTkxOTkzOTM0CisJLmxvbmcJMAorCS5sb25nCTEwNjgyNjkwMzAKKwkubG9uZwkxNTY0Mjc5NzIxCisJLmxvbmcJMTA0MDcxMzYzMgorCS5sb25nCTAKKwkubG9uZwkxMDY4MjAxMDg4CisJLmxvbmcJMTk1MDEwMzc4NworCS5sb25nCTMxOTEyODU0NzMKKwkubG9uZwkwCisJLmxvbmcJMTA2ODEzMzI0MAorCS5sb25nCTExMTMwMTYxNworCS5sb25nCTEwNDYxNDA0NzAKKwkubG9uZwkwCisJLmxvbmcJMTA2ODA2NTQ4OAorCS5sb25nCTI3NDA5MzM2NTkKKwkubG9uZwkxMDQ2MDkxODk4CisJLmxvbmcJMAorCS5sb25nCTEwNjc5OTc4MzIKKwkubG9uZwkxMjY3MTMxNDYyCisJLmxvbmcJMzE5Mjk0NzAyNAorCS5sb25nCTAKKwkubG9uZwkxMDY3OTMwMjY4CisJLmxvbmcJNjI5Nzg3MzQzCisJLmxvbmcJMTA0NTU5OTExNAorCS5sb25nCTAKKwkubG9uZwkxMDY3ODYyODAwCisJLmxvbmcJMjk0MzAyOTc0NgorCS5sb25nCTMxOTExMDA2MjEKKwkubG9uZwkwCisJLmxvbmcJMTA2Nzc5NTQyNgorCS5sb25nCTI1Mzg2MzExNTEKKwkubG9uZwkzMTkzOTUzOTg5CisJLmxvbmcJMAorCS5sb25nCTEwNjc3MjgxNDQKKwkubG9uZwkzODgxNzk1MDMzCisJLmxvbmcJMzE5MTM3NzM2MworCS5sb25nCTAKKwkubG9uZwkxMDY3NjYwOTU2CisJLmxvbmcJMjc1Mjc0NzA1OAorCS5sb25nCTMxODYyNTAxMDMKKwkubG9uZwkwCisJLmxvbmcJMTA2NzU5Mzg2MgorCS5sb25nCTg5MjE3MDAxNAorCS5sb25nCTMxOTMzMzAzOTAKKwkubG9uZwkwCisJLmxvbmcJMTA2NzUyNjg2MAorCS5sb25nCTIwMDA5ODU3ODMKKwkubG9uZwkzMTkyOTY4NjQ3CisJLmxvbmcJMAorCS5sb25nCTEwNjc0NTk5NTAKKwkubG9uZwkxOTU0MDc3MzA0CisJLmxvbmcJMTA0NDM5OTkwOAorCS5sb25nCTAKKwkubG9uZwkxMDY3MzM1OTAwCisJLmxvbmcJNDEyMDcwMjg0NworCS5sb25nCTMxOTMxNTA3MzAKKwkubG9uZwkwCisJLmxvbmcJMTA2NzIwMjQ0OAorCS5sb25nCTM1MzQ4OTk4MAorCS5sb25nCTEwNDU2NzY3NDQKKwkubG9uZwkwCisJLmxvbmcJMTA2NzA2OTE4NAorCS5sb25nCTI2MDk2NDMzMjQKKwkubG9uZwkzMTkyMTA4MDAxCisJLmxvbmcJMAorCS5sb25nCTEwNjY5MzYxMDAKKwkubG9uZwkyOTA0NDMzMzE3CisJLmxvbmcJMTA0NDgzNjU0MQorCS5sb25nCTAKKwkubG9uZwkxMDY2ODAzMjAwCisJLmxvbmcJMzE5NjU2NzkwCisJLmxvbmcJMTA0NDg2MzkwNAorCS5sb25nCTAKKwkubG9uZwkxMDY2NjcwNDg0CisJLmxvbmcJMjQwNzk4NzMzMQorCS5sb25nCTMxOTI5OTUwODMKKwkubG9uZwkwCisJLmxvbmcJMTA2NjUzNzk0OAorCS5sb25nCTI0Mzc3NDYxMjAKKwkubG9uZwkzMTkzMTI3NzMzCisJLmxvbmcJMAorCS5sb25nCTEwNjY0MDU1OTIKKwkubG9uZwk3NjI1NzAyMTUKKwkubG9uZwkzMTg5OTQ2OTk3CisJLmxvbmcJMAorCS5sb25nCTEwNjYxNDUwNDAKKwkubG9uZwkzMzE3MTU5Njk0CisJLmxvbmcJMTA0NjA2MDEyNQorCS5sb25nCTAKKwkubG9uZwkxMDY1ODgxMDU2CisJLmxvbmcJMjMxNzg0NTg4NgorCS5sb25nCTMxOTE2NzkxNzYKKwkubG9uZwkwCisJLmxvbmcJMTA2NTYxNzQyNAorCS5sb25nCTM2NjUxOTU4MTYKKwkubG9uZwkxMDQ1NjMzODUzCisJLmxvbmcJMAorCS5sb25nCTEwNjUzNTQxNjAKKwkubG9uZwkyMDA4NzMwMzU1CisJLmxvbmcJMzE5Mzg5ODIxMQorCS5sb25nCTAKKwkubG9uZwkxMDY0ODI5MjY0CisJLmxvbmcJMzc0NjIzNjE5MgorCS5sb25nCTEwNDYxMjE0NzEKKwkubG9uZwkwCisJLmxvbmcJMTA2NDMwMzY4MAorCS5sb25nCTg4NTI5Njc1MworCS5sb25nCTMxOTE4NTI0NDEKKwkubG9uZwkwCisJLmxvbmcJMTA2MzI1MzY5NgorCS5sb25nCTQ0OTk3NjQ5NQorCS5sb25nCTMxOTI2ODI2NjMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJTF90YmwsQG9iamVjdAorCS5zaXplCUxfdGJsLDgyMDgKKwkuc3BhY2UgNDk2LCAweDAwIAkjIHBhZAorCS5hbGlnbiAxNgorSElHSE1BU0tfWToKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLnR5cGUJSElHSE1BU0tfWSxAb2JqZWN0CisJLnNpemUJSElHSE1BU0tfWSwxNgorCS5hbGlnbiAxNgorVF9leHA6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJOTk3MTk1Nzc2CisJLmxvbmcJNDIwMDI1MDU1OQorCS5sb25nCTEwNzI2OTYwOTAKKwkubG9uZwkyODA4MTI3MzQ1CisJLmxvbmcJMzE2MjgzMDUxNAorCS5sb25nCTI4NTE4MTIxNDkKKwkubG9uZwkxMDcyNjk4OTQxCisJLmxvbmcJMjU5NTgwMjU1MQorCS5sb25nCTEwMTY4MTU5MTMKKwkubG9uZwkzMzk0MTE1ODUKKwkubG9uZwkxMDcyNzAxODAwCisJLmxvbmcJMjY0NTg4OTgyCisJLmxvbmcJMzE2MjY4NTIzMworCS5sb25nCTEwNDgwMTkwNDEKKwkubG9uZwkxMDcyNzA0NjY2CisJLmxvbmcJMTM5ODQ3NDg0NQorCS5sb25nCTMxNjE1NTkxNzEKKwkubG9uZwk3NzI5MTQxMjQKKwkubG9uZwkxMDcyNzA3NTQwCisJLmxvbmcJNDAwNDM3Mjc2MgorCS5sb25nCTEwMTMyNzg3MzcKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MjcxMDQyMQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjM1OTU1NDgKKwkubG9uZwkxOTI4NzQ2MTYxCisJLmxvbmcJMTA3MjcxMzMxMQorCS5sb25nCTk4MzYxNzY3NgorCS5sb25nCTEwMTUzMzM3NTMKKwkubG9uZwkzNTQxNDAyOTk2CisJLmxvbmcJMTA3MjcxNjIwOAorCS5sb25nCTI3NTkxNzczMTcKKwkubG9uZwkxMDE1OTAzMjAyCisJLmxvbmcJMjM4ODIxMjU3CisJLmxvbmcJMTA3MjcxOTExNAorCS5sb25nCTE0Njk2OTQ4NzEKKwkubG9uZwkzMTYzOTMzNTYzCisJLmxvbmcJNzAyNDEyNTEwCisJLmxvbmcJMTA3MjcyMjAyNworCS5sb25nCTM4MDMyNjYwODcKKwkubG9uZwkzMTYzMzI4OTkxCisJLmxvbmcJNzI4OTM0NDU0CisJLmxvbmcJMTA3MjcyNDk0OAorCS5sb25nCTE0MTM4NDI2ODgKKwkubG9uZwkxMDE1MjI3MTg4CisJLmxvbmcJNDEwMzYwNzc2CisJLmxvbmcJMTA3MjcyNzg3NworCS5sb25nCTEyNjk5OTA2NTUKKwkubG9uZwkxMDEzMDI0NDQ2CisJLmxvbmcJNDEzMzg4MTgyNAorCS5sb25nCTEwNzI3MzA4MTMKKwkubG9uZwkyMTQ4MTU1MzQ1CisJLmxvbmcJMzE2Mzk3OTg3NQorCS5sb25nCTM0MDIwMzYwOTkKKwkubG9uZwkxMDcyNzMzNzU4CisJLmxvbmcJNDA1ODg5MzM0CisJLmxvbmcJMTAxNjE1NDIzMgorCS5sb25nCTI2MDI1MTQ3MTMKKwkubG9uZwkxMDcyNzM2NzExCisJLmxvbmcJMjI2ODkyOTMzNgorCS5sb25nCTEwMTU0MDI4NjAKKwkubG9uZwkxODI4MjkyODc5CisJLmxvbmcJMTA3MjczOTY3MgorCS5sb25nCTEyNTU5NTY3NDcKKwkubG9uZwkxMDE2NjM2OTc0CisJLmxvbmcJMTE3MjU5Nzg5MworCS5sb25nCTEwNzI3NDI2NDEKKwkubG9uZwkxMTQ0MzMyNjMKKwkubG9uZwkxMDE2Mzk2MTY5CisJLmxvbmcJNzI4OTA5ODE1CisJLmxvbmcJMTA3Mjc0NTYxOAorCS5sb25nCTM4MzkzMDIyNQorCS5sb25nCTEwMTYwNzgwNDQKKwkubG9uZwk1OTA5NjIxNTYKKwkubG9uZwkxMDcyNzQ4NjAzCisJLmxvbmcJMzgyOTM0NjY2NgorCS5sb25nCTMxNjQzMjQxNzMKKwkubG9uZwk4NTI3NDI1NjIKKwkubG9uZwkxMDcyNzUxNTk2CisJLmxvbmcJNjY3MjUzNTg2CisJLmxvbmcJMTAxMDg0MjEzNQorCS5sb25nCTE2MDg0OTM1MDkKKwkubG9uZwkxMDcyNzU0NTk3CisJLmxvbmcJMzE1OTYyMjE3MQorCS5sb25nCTMxNjM4NTYzMTMKKwkubG9uZwkyOTUyNzEyOTg3CisJLmxvbmcJMTA3Mjc1NzYwNgorCS5sb25nCTMyOTM0OTQ2NTEKKwkubG9uZwkzMTYxMTY4ODc3CisJLmxvbmcJNjg1MTg3OTAyCisJLmxvbmcJMTA3Mjc2MDYyNAorCS5sb25nCTM3ODczMTk4OQorCS5sb25nCTEwMTU4OTE2OTEKKwkubG9uZwkzNDkwODYzOTUzCisJLmxvbmcJMTA3Mjc2MzY0OQorCS5sb25nCTk2MDc5NzQ5OAorCS5sb25nCTMxNjM5OTc0NTYKKwkubG9uZwkyODc1MDc1MjU0CisJLmxvbmcJMTA3Mjc2NjY4MworCS5sb25nCTQxNDQyMzMzMzAKKwkubG9uZwkzMTY0MzgyMjkyCisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzI3Njk3MjUKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1OTQ3MTM4MAorCS5sb25nCTM1MTQwNTIyNworCS5sb25nCTEwNzI3NzI3NzYKKwkubG9uZwkzMTI1MzM3MzI4CisJLmxvbmcJMzE2MDg3MTA1NQorCS5sb25nCTI5MzAzMjI5MTIKKwkubG9uZwkxMDcyNzc1ODM0CisJLmxvbmcJMjU5OTQ5OTQyMgorCS5sb25nCTMxNjM3NjI2MjMKKwkubG9uZwkyNDcxNDQwNjg2CisJLmxvbmcJMTA3Mjc3ODkwMQorCS5sb25nCTk2ODgzNjI2NworCS5sb25nCTMxNjMyNjM0NjQKKwkubG9uZwkzMzY2MjkzMDczCisJLmxvbmcJMTA3Mjc4MTk3NgorCS5sb25nCTMxMTk0MjYzMTQKKwkubG9uZwkxMDE1MTY5MTMwCisJLmxvbmcJMTQxNjc0MTgyNgorCS5sb25nCTEwNzI3ODUwNjAKKwkubG9uZwkyMTk2MzgwMjEwCisJLmxvbmcJMTAxMjQ2MjEzOQorCS5sb25nCTEwMTQ4NDU4MTkKKwkubG9uZwkxMDcyNzg4MTUyCisJLmxvbmcJMzExNzkxMDY0NgorCS5sb25nCTMxNjI2MDc2ODEKKwkubG9uZwkyMjU3OTU5ODcyCisJLmxvbmcJMTA3Mjc5MTI1MgorCS5sb25nCTM4MDI5NDYxNDgKKwkubG9uZwkxMDE0MDEzNTAzCisJLmxvbmcJOTQ4NzM1NDY2CisJLmxvbmcJMTA3Mjc5NDM2MQorCS5sb25nCTM1MTYzMzgwMjgKKwkubG9uZwkzMTYzNjIzNDU5CisJLmxvbmcJMTQ4MDAyMzM0MworCS5sb25nCTEwNzI3OTc0NzgKKwkubG9uZwkyMjQ3MTk2MTY4CisJLmxvbmcJMTAxNjM3NjAyOQorCS5sb25nCTM5NDk5NzIzNDEKKwkubG9uZwkxMDcyODAwNjAzCisJLmxvbmcJMjA2ODQwODU0OAorCS5sb25nCTEwMTU5NjI0NDQKKwkubG9uZwk0MTYyMDMwMTA4CisJLmxvbmcJMTA3MjgwMzczNworCS5sb25nCTI3NjM0Mjg0ODAKKwkubG9uZwkxMDE2NTc3OTI1CisJLmxvbmcJMjIxNDg3ODQyMAorCS5sb25nCTEwNzI4MDY4ODAKKwkubG9uZwk4OTIyNzAwODcKKwkubG9uZwkzMTY0MTY0OTk4CisJLmxvbmcJMjUwMjQzMzg5OQorCS5sb25nCTEwNzI4MTAwMzEKKwkubG9uZwkyMTQ4NTk1OTEzCisJLmxvbmcJMTAxNjA3MjU2NworCS5sb25nCTgyODk0Njg1OAorCS5sb25nCTEwNzI4MTMxOTEKKwkubG9uZwkxMDY0MjQ5MgorCS5sb25nCTEwMTY5ODgwMTQKKwkubG9uZwkxNTg4ODcxMjA3CisJLmxvbmcJMTA3MjgxNjM1OQorCS5sb25nCTE0MzQzOTU4MgorCS5sb25nCTMxNjQwMTE5OTIKKwkubG9uZwk1ODY5OTU5OTcKKwkubG9uZwkxMDcyODE5NTM2CisJLmxvbmcJNDE2NjIzNDgKKwkubG9uZwkzMTYzNjc2NTY4CisJLmxvbmcJMjIxODMxNTM0MQorCS5sb25nCTEwNzI4MjI3MjEKKwkubG9uZwkyNjk0Mjk1Mzg4CisJLmxvbmcJMzE2NDMzNzQ0NAorCS5sb25nCTIyODgxNTk5NTgKKwkubG9uZwkxMDcyODI1OTE1CisJLmxvbmcJMjE2OTE0NDQ2OQorCS5sb25nCTEwMTU5MjQ1OTcKKwkubG9uZwk4OTcwOTk4MDEKKwkubG9uZwkxMDcyODI5MTE4CisJLmxvbmcJNzU0NzU2Mjk3CisJLmxvbmcJMTAxNjI4OTU4MQorCS5sb25nCTI0NDA5NDQ3OTAKKwkubG9uZwkxMDcyODMyMzI5CisJLmxvbmcJMjQ5Mjc2OTc3NAorCS5sb25nCTEwMTUxOTYwMzAKKwkubG9uZwkyNzI1ODQzNjY1CisJLmxvbmcJMTA3MjgzNTU0OQorCS5sb25nCTE0MzM5MTcwODcKKwkubG9uZwkxMDE1ODg3MDk5CisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzI4Mzg3NzgKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNjcwNTE1MAorCS5sb25nCTQyMTk2MDYwMjYKKwkubG9uZwkxMDcyODQyMDE1CisJLmxvbmcJMjQzNDU3NDc0MgorCS5sb25nCTEwMTU3MzAxMjQKKwkubG9uZwkxMzM3MTA4MDMxCisJLmxvbmcJMTA3Mjg0NTI2MgorCS5sb25nCTMyMDM3MjQ0NTIKKwkubG9uZwkxMDE1NzI2NDIxCisJLmxvbmcJMTg5Nzg0NDM0MQorCS5sb25nCTEwNzI4NDg1MTcKKwkubG9uZwkxMjU0MzAwNDYwCisJLmxvbmcJMTAxNjMyNDUxNAorCS5sb25nCTE3MDkzNDE5MTcKKwkubG9uZwkxMDcyODUxNzgxCisJLmxvbmcJMjU3MTE2ODIxNworCS5sb25nCTEwMTUyMDEwNzUKKwkubG9uZwk4NzQzNzI5MDUKKwkubG9uZwkxMDcyODU1MDU0CisJLmxvbmcJMTAwMjYzNzg4CisJLmxvbmcJMTAxNjk4OTMwOAorCS5sb25nCTM3OTA5NTUzOTMKKwkubG9uZwkxMDcyODU4MzM1CisJLmxvbmcJMjM1Mjk0MjQ2MgorCS5sb25nCTMxNjQyMjg2NjYKKwkubG9uZwkxOTcyNDg0OTc2CisJLmxvbmcJMTA3Mjg2MTYyNgorCS5sb25nCTY3NTI5MDMwMQorCS5sb25nCTMxNjI2ODg2MjYKKwkubG9uZwk0MTEyNTA2NTkzCisJLmxvbmcJMTA3Mjg2NDkyNQorCS5sb25nCTI5NDczNTUyMjEKKwkubG9uZwkxMDE1NDE5NjI0CisJLmxvbmcJMTcyNDk3NjkxNQorCS5sb25nCTEwNzI4NjgyMzQKKwkubG9uZwk0MjA5MDkyMjMKKwkubG9uZwkzMTY0MTY1OTU1CisJLmxvbmcJMzUwNDAwMzQ3MgorCS5sb25nCTEwNzI4NzE1NTEKKwkubG9uZwkzNTk0MDAxMDYwCisJLmxvbmcJMzE1ODM3OTIyOAorCS5sb25nCTk2NDEwNzA1NQorCS5sb25nCTEwNzI4NzQ4NzgKKwkubG9uZwkyODAwNDM5NTg4CisJLmxvbmcJMzE2Mzg4MTc5NworCS5sb25nCTI3OTk5NjA4NDMKKwkubG9uZwkxMDcyODc4MjEzCisJLmxvbmcJMTQyMzY1NTM4MQorCS5sb25nCTEwMTYwNzA3MjcKKwkubG9uZwk1MjY2NTI4MDkKKwkubG9uZwkxMDcyODgxNTU4CisJLmxvbmcJNDIyMzQ1OTczNgorCS5sb25nCTEwMTY5Mjc5NTEKKwkubG9uZwkyODM5NDI0ODU0CisJLmxvbmcJMTA3Mjg4NDkxMQorCS5sb25nCTExNzE1OTYxNjMKKwkubG9uZwkxMDE0MDkwMjU1CisJLmxvbmcJMTI1MzkzNTIxMQorCS5sb25nCTEwNzI4ODgyNzQKKwkubG9uZwkxMzk1MzgyOTMxCisJLmxvbmcJMzE2MDc1MTE4OQorCS5sb25nCTE3MTAzMDI5MworCS5sb25nCTEwNzI4OTE2NDYKKwkubG9uZwkzNTI2NDYwMTMyCisJLmxvbmcJMTAxNTQ3NzM1NAorCS5sb25nCTM5OTE4NDM1ODEKKwkubG9uZwkxMDcyODk1MDI2CisJLmxvbmcJNDA5Mjg1MzQ1NworCS5sb25nCTEwMTU2MzQzMzkKKwkubG9uZwk0MjMyODk0NTEzCisJLmxvbmcJMTA3Mjg5ODQxNgorCS5sb25nCTIzODM5Mzg2ODQKKwkubG9uZwkxMDE1NzE3MDk1CisJLmxvbmcJMTAwMDkyNTc0NgorCS5sb25nCTEwNzI5MDE4MTYKKwkubG9uZwkxMDE4NDkxNjcyCisJLmxvbmcJMzE2NDM1ODEyMAorCS5sb25nCTI5OTI5MDM5MzUKKwkubG9uZwkxMDcyOTA1MjI0CisJLmxvbmcJMjIxODE1NDQwNgorCS5sb25nCTEwMTYyNzY3NjkKKwkubG9uZwkxNzI2MjE2NzQ5CisJLmxvbmcJMTA3MjkwODY0MgorCS5sb25nCTI0NjY4MDgyMjgKKwkubG9uZwkzMTYyNzI0OTgxCisJLmxvbmcJMTYwMzQ0NDcyMQorCS5sb25nCTEwNzI5MTIwNjkKKwkubG9uZwkxNTQ4NjMzNjQwCisJLmxvbmcJMzE2MzI0OTkwMgorCS5sb25nCTI3MzI0OTI4NTkKKwkubG9uZwkxMDcyOTE1NTA1CisJLmxvbmcJMjY5MTQ3OTY0NgorCS5sb25nCTMxNjMzMDQyNjAKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcyOTE4OTUxCisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjM5NjIwOTAKKwkubG9uZwk1ODkxOTg2NjYKKwkubG9uZwkxMDcyOTIyNDA2CisJLmxvbmcJMjY2NDM0NjE3MgorCS5sb25nCTMxNjQyMDY1MzgKKwkubG9uZwkxODI5MDk5NjIyCisJLmxvbmcJMTA3MjkyNTg3MAorCS5sb25nCTEwMTY2NjExODEKKwkubG9uZwkzMTY0NTA5NTgxCisJLmxvbmcJNDYwNDA3MDIzCisJLmxvbmcJMTA3MjkyOTM0NAorCS5sb25nCTQyMzcxNzUwOTIKKwkubG9uZwkzMTY0MTg3MDQ1CisJLmxvbmcJODg3NDYzOTI3CisJLmxvbmcJMTA3MjkzMjgyNworCS5sb25nCTM1OTY3NDQxNjMKKwkubG9uZwkzMTYxODQyNzQyCisJLmxvbmcJMzIxOTk0MjY0NAorCS5sb25nCTEwNzI5MzYzMTkKKwkubG9uZwkzNzk4OTkwNjE2CisJLmxvbmcJMTAxNjQxNzM4MgorCS5sb25nCTMyNzI4NDU1NDEKKwkubG9uZwkxMDcyOTM5ODIxCisJLmxvbmcJOTI4ODUyNDE5CisJLmxvbmcJMzE2NDUzNjgyNAorCS5sb25nCTExNTY0NDA0MzUKKwkubG9uZwkxMDcyOTQzMzMzCisJLmxvbmcJMjM1MTQ1MTI0OQorCS5sb25nCTEwMTUwMTU2MzIKKwkubG9uZwkxMjc2MjYxNDEwCisJLmxvbmcJMTA3Mjk0Njg1NAorCS5sb25nCTMwMDk4MTk0OAorCS5sb25nCTEwMTU3MzI3NDUKKwkubG9uZwkzNzQzMTc1MDI5CisJLmxvbmcJMTA3Mjk1MDM4NAorCS5sb25nCTIwNzI4MTI0OTAKKwkubG9uZwkzMTYzMjIzNjUxCisJLmxvbmcJNzg0MTM4NTIKKwkubG9uZwkxMDcyOTUzOTI1CisJLmxvbmcJNDE4MzIyNjg2NworCS5sb25nCTMxNjQwNjU4MjcKKwkubG9uZwkzMjc4MzQ4MzI0CisJLmxvbmcJMTA3Mjk1NzQ3NAorCS5sb25nCTMwNjk0OTc0MTYKKwkubG9uZwkxMDE1Nzk5Mjg4CisJLmxvbmcJNTY5ODQ3MzM4CisJLmxvbmcJMTA3Mjk2MTAzNAorCS5sb25nCTQ3Mjk0NTI3MgorCS5sb25nCTMxNjAzMzkzMDUKKwkubG9uZwk2NTQ5MTkzMDYKKwkubG9uZwkxMDcyOTY0NjAzCisJLmxvbmcJMzIzMjk2MTc1NworCS5sb25nCTMxNjQwOTYwNDUKKwkubG9uZwkzNjQ1OTQxOTExCisJLmxvbmcJMTA3Mjk2ODE4MQorCS5sb25nCTM4MTQ2ODUwODEKKwkubG9uZwkzMTYyNjIxOTE3CisJLmxvbmcJMTA2NTY2MjkzMgorCS5sb25nCTEwNzI5NzE3NzAKKwkubG9uZwkyNTMzNjcwOTE1CisJLmxvbmcJMTAxNTU3ODgxNAorCS5sb25nCTE2MTcwMDQ4NDUKKwkubG9uZwkxMDcyOTc1MzY4CisJLmxvbmcJODI4MDQ5NDQKKwkubG9uZwkxMDExMzkxMzU0CisJLmxvbmcJMTExODI5NDU3OAorCS5sb25nCTEwNzI5Nzg5NzYKKwkubG9uZwkyMTk3NDk1Njk0CisJLmxvbmcJMzE2MDk1Nzk3NworCS5sb25nCTM5NzgxMDA4MjMKKwkubG9uZwkxMDcyOTgyNTkzCisJLmxvbmcJMzUxMzAyNzE5MAorCS5sb25nCTEwMTY4OTQ1MzkKKwkubG9uZwkxNzIwMzk4MzkxCisJLmxvbmcJMTA3Mjk4NjIyMQorCS5sb25nCTM5ODA2Nzg5NjMKKwkubG9uZwkzMTY0MzQ4NjU2CisJLmxvbmcJMzA0OTM0MDExMgorCS5sb25nCTEwNzI5ODk4NTgKKwkubG9uZwkzMDYyOTE1ODI0CisJLmxvbmcJMTAxNDIxOTE3MQorCS5sb25nCTM3ODQ0ODY2MTAKKwkubG9uZwkxMDcyOTkzNTA1CisJLmxvbmcJMTU4MTg4MzA0MAorCS5sb25nCTMxNjI3NDc1MjkKKwkubG9uZwk0MDQwNjc2MzE4CisJLmxvbmcJMTA3Mjk5NzE2MgorCS5sb25nCTQwOTA2MDkyMzgKKwkubG9uZwkxMDE2NzEyMDM0CisJLmxvbmcJMzkzMzA1OTAzMQorCS5sb25nCTEwNzMwMDA4MjkKKwkubG9uZwkyMTMzMzY2NzY4CisJLmxvbmcJMzE2MjU4MDQwOAorCS5sb25nCTM1NzcwOTY3NDMKKwkubG9uZwkxMDczMDA0NTA2CisJLmxvbmcJMjk1MTQ5NjQxOAorCS5sb25nCTEwMTQ4NDIyNjMKKwkubG9uZwkzMDg4NTY0NTAwCisJLmxvbmcJMTA3MzAwODE5MworCS5sb25nCTE3NjIzMTE1MTcKKwkubG9uZwkxMDE2MDk0MjQ5CisJLmxvbmcJMjU4MzU1MTI0NQorCS5sb25nCTEwNzMwMTE4OTAKKwkubG9uZwkzMTYxMDk0MTk1CisJLmxvbmcJMTAxNjY1NTA2NworCS5sb25nCTIxNzg0NjA2NzEKKwkubG9uZwkxMDczMDE1NTk3CisJLmxvbmcJNzc3ODc4MDk4CisJLmxvbmcJMzE2Mzg5MTA2OQorCS5sb25nCTE5OTAwMTIwNzEKKwkubG9uZwkxMDczMDE5MzE0CisJLmxvbmcJMzUyOTA3MDU2MworCS5sb25nCTMxNjM4NjE3NjkKKwkubG9uZwkyMTM1MjQxMTk4CisJLmxvbmcJMTA3MzAyMzA0MQorCS5sb25nCTEyMzY3NDc4NzEKKwkubG9uZwkxMDE0NjM3NzIzCisJLmxvbmcJMjczMTUwMTEyMgorCS5sb25nCTEwNzMwMjY3NzgKKwkubG9uZwkxNzc0MDMxODU1CisJLmxvbmcJMzE2MzUxODU5NworCS5sb25nCTM4OTY0NjMwODcKKwkubG9uZwkxMDczMDMwNTI1CisJLmxvbmcJMTEzOTc5Nzg3MworCS5sb25nCTMxNjIyODIzODEKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MzAzNDI4MworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjI1MzY2MzgKKwkubG9uZwk0MTA5ODA2ODg3CisJLmxvbmcJMTA3MzAzODA1MAorCS5sb25nCTQyMjQwMzk2NgorCS5sb25nCTEwMTU1MTc4MDUKKwkubG9uZwkzMzk1MTI5ODcxCisJLmxvbmcJMTA3MzA0MTgyOAorCS5sb25nCTQwMjUzNDU0MzUKKwkubG9uZwkzMTYzMzgzOTY0CisJLmxvbmcJMzcyMzAzODkzMAorCS5sb25nCTEwNzMwNDU2MTYKKwkubG9uZwkzNzg0NjUyNjQKKwkubG9uZwkzMTYzNjE4MTU4CisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MzA0OTQxNQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNjcwNzg4NAorCS5sb25nCTM2ODkwNzE4MjMKKwkubG9uZwkxMDczMDUzMjIzCisJLmxvbmcJMjMyMTAwNDk5NgorCS5sb25nCTMxNjM2MDEyOTIKKwkubG9uZwkzNTY2NzE2OTI1CisJLmxvbmcJMTA3MzA1NzA0MgorCS5sb25nCTE1MzY4MjY4NTYKKwkubG9uZwkxMDE1MTkxMDA5CisJLmxvbmcJNjcxMDI1MTAwCisJLmxvbmcJMTA3MzA2MDg3MgorCS5sb25nCTM4MzIwMTQzNTEKKwkubG9uZwkzMTY0MDcwNjA2CisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTEwNzMwNjQ3MTEKKwkubG9uZwk4ODQ5MTk0OQorCS5sb25nCTEwMTY0NzYyMzYKKwkubG9uZwk0MjIyMTIyNDk5CisJLmxvbmcJMTA3MzA2ODU2MQorCS5sb25nCTEyNzczNzgwNzQKKwkubG9uZwkzMTY0MzA1MzEzCisJLmxvbmcJMjMyMTEwNjYxNQorCS5sb25nCTEwNzMwNzI0MjIKKwkubG9uZwkyMTcxMTc2NjEwCisJLmxvbmcJMTAxMDU4NDM0NworCS5sb25nCTI0MjU5ODE4NDMKKwkubG9uZwkxMDczMDc2MjkzCisJLmxvbmcJMjgzMDM5MDg1MQorCS5sb25nCTMxNjQzOTUxNzUKKwkubG9uZwkzNjM2Njc3ODQKKwkubG9uZwkxMDczMDgwMTc1CisJLmxvbmcJODEzNzUzOTUwCisJLmxvbmcJMTAxNjgzMzc4NQorCS5sb25nCTU1MTM0OTEwNQorCS5sb25nCTEwNzMwODQwNjcKKwkubG9uZwkzODIxOTE2MDUwCisJLmxvbmcJMzE2MzE1NTE2NQorCS5sb25nCTMxMTE1NzQ1MzcKKwkubG9uZwkxMDczMDg3OTY5CisJLmxvbmcJMjYwNjE2MTQ3OQorCS5sb25nCTMxNjM4MDgzMjIKKwkubG9uZwkzODcyMjU3NzgwCisJLmxvbmcJMTA3MzA5MTg4MgorCS5sb25nCTEyNTM1OTIxMDMKKwkubG9uZwkxMDE3MDA2OTEwCisJLmxvbmcJMjk1NjYxMjk5NworCS5sb25nCTEwNzMwOTU4MDYKKwkubG9uZwkyMTE4MTY5NzUxCisJLmxvbmcJMzE2Mzc4NDEyOQorCS5sb25nCTQ4ODE4ODQxMworCS5sb25nCTEwNzMwOTk3NDEKKwkubG9uZwkzMTk5ODIxMDI5CisJLmxvbmcJMTAxNjYxMjYyNAorCS5sb25nCTg4NTgzNDUyOAorCS5sb25nCTEwNzMxMDM2ODYKKwkubG9uZwkxOTczMjU4NTQ3CisJLmxvbmcJMzE2MzMxMDE0MAorCS5sb25nCTQyNzM3NzA0MjMKKwkubG9uZwkxMDczMTA3NjQxCisJLmxvbmcJMzM4MzE4MDgwOQorCS5sb25nCTMxNjQyNjc0NzcKKwkubG9uZwkyMTg2NjE3MzgxCisJLmxvbmcJMTA3MzExMTYwOAorCS5sb25nCTIyNzA3NjQwODQKKwkubG9uZwkzMTY0MzIxMjg5CisJLmxvbmcJMzMzOTIwMzU3NAorCS5sb25nCTEwNzMxMTU1ODUKKwkubG9uZwkxNDgzNDk3NzgwCisJLmxvbmcJMzE2MzQ1NzMzMAorCS5sb25nCTM1NjE3OTM5MDcKKwkubG9uZwkxMDczMTE5NTczCisJLmxvbmcJMTE1NzA1NDA1MworCS5sb25nCTEwMTI5Mzg5MjYKKwkubG9uZwkyOTc5OTYwMTIwCisJLmxvbmcJMTA3MzEyMzU3MgorCS5sb25nCTI1OTkxMDk3MjUKKwkubG9uZwkxMDE1NTQ3MDY5CisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTEwNzMxMjc1ODIKKwkubG9uZwkzMzA0NTgxOTgKKwkubG9uZwkzMTY0MzMxMzE2CisJLmxvbmcJNDIwMTk3NzY2MgorCS5sb25nCTEwNzMxMzE2MDIKKwkubG9uZwk3NDgzMzAyNTQKKwkubG9uZwkxMDE0NjQyOTMzCisJLmxvbmcJMTk2MzcxMTE2NworCS5sb25nCTEwNzMxMzU2MzQKKwkubG9uZwkxNzQ0NzY3NzU3CisJLmxvbmcJMzE2MTYyMjg3MAorCS5sb25nCTM3MjE2ODg2NDUKKwkubG9uZwkxMDczMTM5Njc2CisJLmxvbmcJMzA2OTI3NjkzNworCS5sb25nCTEwMTY4ODc5NzcKKwkubG9uZwkxMDEzMjU4Nzk5CisJLmxvbmcJMTA3MzE0MzczMAorCS5sb25nCTE3NDg3OTc2MTEKKwkubG9uZwkzMTYxMTc3NjU4CisJLmxvbmcJMjU1NTk4NDYxMworCS5sb25nCTEwNzMxNDc3OTQKKwkubG9uZwkyNjUyNTU1NDQyCisJLmxvbmcJMzE2MzYwMTI2OAorCS5sb25nCTQxODI4NzMyMjAKKwkubG9uZwkxMDczMTUxODY5CisJLmxvbmcJNjI5NTQyNjQ2CisJLmxvbmcJMzE2MzA0NDg3OQorCS5sb25nCTE3MjcyNzg3MjcKKwkubG9uZwkxMDczMTU1OTU2CisJLmxvbmcJMzU2MjcxMDYyMworCS5sb25nCTEwMTI1MjA1MTYKKwkubG9uZwkzOTA3ODA1MDQ0CisJLmxvbmcJMTA3MzE2MDA1MworCS5sb25nCTIyNTcwOTEyMjUKKwkubG9uZwkzMTYyNTk4OTgzCisJLmxvbmcJMjI2MzUzNTc1NAorCS5sb25nCTEwNzMxNjQxNjIKKwkubG9uZwk3NTIyMzM1ODYKKwkubG9uZwkzMTYzNjg3NTg0CisJLmxvbmcJMTIxODgwNjEzMgorCS5sb25nCTEwNzMxNjgyODIKKwkubG9uZwkxODE4NjEzMDUyCisJLmxvbmcJMzE2MzU5NzAxNworCS5sb25nCTkwMzMzNDkwOQorCS5sb25nCTEwNzMxNzI0MTMKKwkubG9uZwkxNjM2NDYyMTA4CisJLmxvbmcJMTAxNjA4ODU3MworCS5sb25nCTE0NDcxOTI1MjEKKwkubG9uZwkxMDczMTc2NTU1CisJLmxvbmcJMTQ2Mjg1NzE3MQorCS5sb25nCTMxNjM1NjMwOTcKKwkubG9uZwkyOTgwODAyMDU3CisJLmxvbmcJMTA3MzE4MDcwOAorCS5sb25nCTM3ODYxOTg5NgorCS5sb25nCTEwMTY4MjE4NzkKKwkubG9uZwkxMzM5OTcyOTI3CisJLmxvbmcJMTA3MzE4NDg3MworCS5sb25nCTE2NzkwODkwOQorCS5sb25nCTEwMTY2MjA3MjgKKwkubG9uZwk5NTA4MDM3MDIKKwkubG9uZwkxMDczMTg5MDQ5CisJLmxvbmcJMTY1NTM2NDkyNgorCS5sb25nCTEwMTYyODU2MDgKKwkubG9uZwkxOTQ0NzgxMTkxCisJLmxvbmcJMTA3MzE5MzIzNgorCS5sb25nCTM5OTMyNzg3NjcKKwkubG9uZwkzMTYyNzcyODU1CisJLmxvbmcJMTU4NzgxNDAzCisJLmxvbmcJMTA3MzE5NzQzNQorCS5sb25nCTIyMjE0NjQ3MTIKKwkubG9uZwkzMTY0MzM1MDI5CisJLmxvbmcJMTk5NzI0MDIKKwkubG9uZwkxMDczMjAxNjQ1CisJLmxvbmcJMzUwNzg5OTg2MgorCS5sb25nCTEwMTcwNTc4NjgKKwkubG9uZwkxNjYwOTEzMzkyCisJLmxvbmcJMTA3MzIwNTg2NgorCS5sb25nCTQyMTg1OTk2MDQKKwkubG9uZwkxMDE2MTg0MjgzCisJLmxvbmcJOTE5NTU1NjgyCisJLmxvbmcJMTA3MzIxMDA5OQorCS5sb25nCTMxMjE5Njk1MzQKKwkubG9uZwkxMDEzOTk2ODAyCisJLmxvbmcJMjIyNDE0NTU1MworCS5sb25nCTEwNzMyMTQzNDMKKwkubG9uZwkzNDgyNTIyMDMwCisJLmxvbmcJMzE2MjUzNzc0NQorCS5sb25nCTE0MTMzNTYwNTAKKwkubG9uZwkxMDczMjE4NTk5CisJLmxvbmcJMTY1MTM0OTI5MQorCS5sb25nCTMxNjM3MTY3NDIKKwkubG9uZwkyOTE2MTU3MTQ1CisJLmxvbmcJMTA3MzIyMjg2NgorCS5sb25nCTIxOTQ4NzU2NQorCS5sb25nCTEwMTYzNTc5NDMKKwkubG9uZwkyNTcxOTQ3NTM5CisJLmxvbmcJMTA3MzIyNzE0NQorCS5sb25nCTM1NTgxNTkwNjQKKwkubG9uZwkzMTY0NDI1MjQ1CisJLmxvbmcJNTE1NDU3NTI3CisJLmxvbmcJMTA3MzIzMTQzNgorCS5sb25nCTgzNjcwOTMzMworCS5sb25nCTEwMTY2OTk4MDIKKwkubG9uZwkxMTc2NzQ5OTk3CisJLmxvbmcJMTA3MzIzNTczOAorCS5sb25nCTI3Mzg5OTg3NzkKKwkubG9uZwkzMTYzMDg0NDIwCisJLmxvbmcJMzk2MzE5NTIxCisJLmxvbmcJMTA3MzI0MDA1MgorCS5sb25nCTQxNzI0MjA4MTYKKwkubG9uZwkzMTYwMTIzMjA4CisJLmxvbmcJMjYwNDk2MjU0MQorCS5sb25nCTEwNzMyNDQzNzcKKwkubG9uZwkyNjE0NDI1Mjc0CisJLmxvbmcJMzE2NDU4Nzc2OAorCS5sb25nCTM2NDM5MDkxNzQKKwkubG9uZwkxMDczMjQ4NzE0CisJLmxvbmcJMzUzNzU4NjEwOQorCS5sb25nCTEwMTU0MDMyMjMKKwkubG9uZwkzNjQ5NzI2MTA1CisJLmxvbmcJMTA3MzI1MzA2MworCS5sb25nCTQwODUwMzYzNDYKKwkubG9uZwkxMDE2Njk4MDUwCisJLmxvbmcJMjc1OTM1MDI4NworCS5sb25nCTEwNzMyNTc0MjQKKwkubG9uZwkxMTQ4NTI2NjM0CisJLmxvbmcJMTAxNjk0MzUwOQorCS5sb25nCTExMTAwODk5NDcKKwkubG9uZwkxMDczMjYxNzk3CisJLmxvbmcJMTQ1MTY0MTYzOQorCS5sb25nCTEwMTY1MjMyNDkKKwkubG9uZwkzMTM0NTkyODg4CisJLmxvbmcJMTA3MzI2NjE4MQorCS5sb25nCTQyMzIyNjY4NjIKKwkubG9uZwkxMDE3MDM5NzEwCisJLmxvbmcJMzgwOTc4MzE2CisJLmxvbmcJMTA3MzI3MDU3OAorCS5sb25nCTg1NDE4ODk3MAorCS5sb25nCTMxNjE1MTEyNjIKKwkubG9uZwkxNTc3NjA4OTIxCisJLmxvbmcJMTA3MzI3NDk4NgorCS5sb25nCTE4NzU0ODk1MTAKKwkubG9uZwkzMTY0MDE2OTcwCisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzMyNzk0MDYKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNTQwMTQ5MQorCS5sb25nCTM0OTIyOTM3NzAKKwkubG9uZwkxMDczMjgzODM4CisJLmxvbmcJMjI0ODAzMjIxMAorCS5sb25nCTEwMTY0MzU0MDIKKwkubG9uZwkxOTQxMTc1NzQKKwkubG9uZwkxMDczMjg4MjgzCisJLmxvbmcJNzc3NTI4NjEyCisJLmxvbmcJMzE2NDQ2MDY2NQorCS5sb25nCTE0MDM2NjIzMDYKKwkubG9uZwkxMDczMjkyNzM5CisJLmxvbmcJMjc4ODgwOTU5OQorCS5sb25nCTMxNjI3MTk1ODMKKwkubG9uZwkyOTY2Mjc1NTU3CisJLmxvbmcJMTA3MzI5NzIwNworCS5sb25nCTIxNzYxNTUzMjQKKwkubG9uZwkzMTYwODkxMzM1CisJLmxvbmcJNzI3Njg1MzQ5CisJLmxvbmcJMTA3MzMwMTY4OAorCS5sb25nCTIwMzgyNDY4MDkKKwkubG9uZwkzMTYzNDA3MzE4CisJLmxvbmcJMzQxODkwMzA1NQorCS5sb25nCTEwNzMzMDYxODAKKwkubG9uZwkyNTI3NDU3MzM3CisJLmxvbmcJMzE2MTg2OTE4MAorCS5sb25nCTI1OTE0NTMzNjMKKwkubG9uZwkxMDczMzEwNjg1CisJLmxvbmcJMjEzMjM5NjE4MgorCS5sb25nCTMxNjAxMjI3NzQKKwkubG9uZwkyNjgyMTQ2Mzg0CisJLmxvbmcJMTA3MzMxNTIwMgorCS5sb25nCTIwODIxNzg1MTMKKwkubG9uZwkzMTY0NDExOTk1CisJLmxvbmcJMzgzMzIwOTUwNgorCS5sb25nCTEwNzMzMTk3MzEKKwkubG9uZwkyNzIyOTIwNjg0CisJLmxvbmcJMTAxNDgwMzQxOAorCS5sb25nCTE4OTIyODg0NDIKKwkubG9uZwkxMDczMzI0MjczCisJLmxvbmcJMjQ0NjI1NTY2NgorCS5sb25nCTMxNjM2NDg5NTcKKwkubG9uZwkxMjk3MzUwMTU3CisJLmxvbmcJMTA3MzMyODgyNworCS5sb25nCTEzMDgwMjIwNDAKKwkubG9uZwkzMTY0NDYxMTM0CisJLmxvbmcJMjE5MTc4MjAzMgorCS5sb25nCTEwNzMzMzMzOTMKKwkubG9uZwkyOTYwMjU3NzI2CisJLmxvbmcJMTAxNDc5MTIzOAorCS5sb25nCTQyNDM5MjkxNworCS5sb25nCTEwNzMzMzc5NzIKKwkubG9uZwkyNzQ5MjAyOTk1CisJLmxvbmcJMzE2Mzg4NzI5NAorCS5sb25nCTQzNDMxNjA2NworCS5sb25nCTEwNzMzNDI1NjMKKwkubG9uZwkyMDI4MzU4NzY2CisJLmxvbmcJMTAxNDUwNjY5OAorCS5sb25nCTIzNjYxMDgzMTgKKwkubG9uZwkxMDczMzQ3MTY2CisJLmxvbmcJMjg2Nzk4NTEwMgorCS5sb25nCTMxNjI4MTA4MzAKKwkubG9uZwkyMDY5NzUxMTQxCisJLmxvbmcJMTA3MzM1MTc4MgorCS5sb25nCTE1NjIxNzA2NzUKKwkubG9uZwkzMTYzNzczMjU3CisJLmxvbmcJMzk4NTU1MzU5NQorCS5sb25nCTEwNzMzNTY0MTAKKwkubG9uZwk0MDAyMTQ2MDYyCisJLmxvbmcJMTAxNjg4MjcxMgorCS5sb25nCTM5NjQyODQyMTEKKwkubG9uZwkxMDczMzYxMDUxCisJLmxvbmcJMjExMTU4MzkxNQorCS5sb25nCTEwMTY0NzU3NDAKKwkubG9uZwkyMTUyMDczOTQ0CisJLmxvbmcJMTA3MzM2NTcwNQorCS5sb25nCTE0ODY4NjA1NzYKKwkubG9uZwkzMTY0MjUyMDMyCisJLmxvbmcJMjk5MDQxNzI0NQorCS5sb25nCTEwNzMzNzAzNzEKKwkubG9uZwkzNjgzNDY3NzQ1CisJLmxvbmcJMzE2NDQxNzkwMgorCS5sb25nCTIzMzEyNzEyNTAKKwkubG9uZwkxMDczMzc1MDUwCisJLmxvbmcJODEyMDU3NDQ2CisJLmxvbmcJMTAxMzI1NjAyMgorCS5sb25nCTMyMTk1ODc0NAorCS5sb25nCTEwNzMzNzk3NDIKKwkubG9uZwkzNDAxOTMzNzY3CisJLmxvbmcJMTAxNjg0MzEzNAorCS5sb25nCTE0MDUxNjkyNDEKKwkubG9uZwkxMDczMzg0NDQ2CisJLmxvbmcJMjk5ODUzOTY4OQorCS5sb25nCTMxNjM4Nzk1MjcKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MzM4OTE2MworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTYxMzQzNDUKKwkubG9uZwk1NTcxNDk4ODIKKwkubG9uZwkxMDczMzkzODkzCisJLmxvbmcJMzY3MjcyMDcwOQorCS5sb25nCTEwMTU1ODU4NDEKKwkubG9uZwkzMjE4MzM4NjgyCisJLmxvbmcJMTA3MzM5ODYzNQorCS5sb25nCTM0MDQxNjQzMDQKKwkubG9uZwkzMTYzNTI1Njg0CisJLmxvbmcJOTc3MDIwNzg4CisJLmxvbmcJMTA3MzQwMzM5MQorCS5sb25nCTMwNjUxMDA1MTcKKwkubG9uZwkxMDE2NTkwMTM5CisJLmxvbmcJMjU3Mjg2NjQ3NworCS5sb25nCTEwNzM0MDgxNTkKKwkubG9uZwk4Nzg1NjI0MzMKKwkubG9uZwkxMDE2NTcwMzE3CisJLmxvbmcJMzg2MTA1MDExMQorCS5sb25nCTEwNzM0MTI5NDAKKwkubG9uZwkyNTQ4OTM3NzMKKwkubG9uZwkzMTYzODYxNzU2CisJLmxvbmcJNjk3MTUzMTI2CisJLmxvbmcJMTA3MzQxNzczNQorCS5sb25nCTEyODM1MTU0MjkKKwkubG9uZwkzMTY0MzMxNzY1CisJLmxvbmcJMTgyMjA2NzAyNgorCS5sb25nCTEwNzM0MjI1NDIKKwkubG9uZwkxMjQxOTk0OTU2CisJLmxvbmcJMTAxNjM4ODg2NgorCS5sb25nCTMwOTIxOTA3MTUKKwkubG9uZwkxMDczNDI3MzYyCisJLmxvbmcJODE0MDEyMTY4CisJLmxvbmcJMzE2MDU3MTk5OAorCS5sb25nCTM2NDMzMzQ4OQorCS5sb25nCTEwNzM0MzIxOTYKKwkubG9uZwkzOTIzNzM3NzQ0CisJLmxvbmcJMzE2MjQ2OTk0OQorCS5sb25nCTIzODA2MTgwNDIKKwkubG9uZwkxMDczNDM3MDQyCisJLmxvbmcJMzE0OTU1NzIxOQorCS5sb25nCTMxNjQzNjkzNzUKKwkubG9uZwk3MDM3MTA1MDYKKwkubG9uZwkxMDczNDQxOTAyCisJLmxvbmcJMTM4NDY2MDg0NgorCS5sb25nCTEwMTYyNDQ0NjcKKwkubG9uZwk0MDc2NTU5OTQzCisJLmxvbmcJMTA3MzQ0Njc3NAorCS5sb25nCTIxMTk0NzgzMzEKKwkubG9uZwkzMTYxODA2OTI3CisJLmxvbmcJNDA2MjY2MTA5MgorCS5sb25nCTEwNzM0NTE2NjAKKwkubG9uZwkxNDIyNjE2MDA2CisJLmxvbmcJMzE2NDMwMzg5NAorCS5sb25nCTgxNTg1OTI3NAorCS5sb25nCTEwNzM0NTY1NjAKKwkubG9uZwkyNDAzOTY1OTAKKwkubG9uZwkzMTY0NTM2MDE5CisJLmxvbmcJMzA4MDM1MTUxOQorCS5sb25nCTEwNzM0NjE0NzIKKwkubG9uZwkzMzc5MTI2Nzg5CisJLmxvbmcJMzE1ODI2NjU3NworCS5sb25nCTI0MjA4ODM5MjIKKwkubG9uZwkxMDczNDY2Mzk4CisJLmxvbmcJMjA0OTgxMDA1MgorCS5sb25nCTEwMTUxNjg0NjQKKwkubG9uZwkzMjg3NTIzODQ3CisJLmxvbmcJMTA3MzQ3MTMzNworCS5sb25nCTE2MjU5NzE1MzkKKwkubG9uZwkzMTU4MDU4NTMxCisJLmxvbmcJMTU0MDgyNDU4NQorCS5sb25nCTEwNzM0NzYyOTAKKwkubG9uZwkxMDY0MDE3MDExCisJLmxvbmcJMzE2NDUzNjI2NgorCS5sb25nCTE2MzE2OTU2NzcKKwkubG9uZwkxMDczNDgxMjU2CisJLmxvbmcJMjcxNzYzMzA3NgorCS5sb25nCTMxNjMzOTI2MDIKKwkubG9uZwkzNzE2NTAyMTcyCisJLmxvbmcJMTA3MzQ4NjIzNQorCS5sb25nCTIzMDM3NDAxMjUKKwkubG9uZwkxMDE1MDkxMzAxCisJLmxvbmcJMzY1NzA2NTc3MgorCS5sb25nCTEwNzM0OTEyMjgKKwkubG9uZwkzOTkwMjU2MjMKKwkubG9uZwkzMTY0MDA1NjU0CisJLmxvbmcJMTYxMDYwMDU3MAorCS5sb25nCTEwNzM0OTYyMzUKKwkubG9uZwkzNzY2NzMyMjk4CisJLmxvbmcJMTAxNjgwODc1OQorCS5sb25nCTIwMjk3MTQyMTAKKwkubG9uZwkxMDczNTAxMjU1CisJLmxvbmcJNjEzNjYwMDc5CisJLmxvbmcJMTAxNjE0NzcxOQorCS5sb25nCTc3NzUwNzE0NworCS5sb25nCTEwNzM1MDYyODkKKwkubG9uZwk0MjgyOTI0MjA1CisJLmxvbmcJMTAxNjIzNjEwOQorCS5sb25nCTIzMDc0NDI5OTUKKwkubG9uZwkxMDczNTExMzM2CisJLmxvbmcJMzE5MDExNzcyMQorCS5sb25nCTMxNjM0NTMxMTUKKwkubG9uZwkyNDgzNDgwNTAxCisJLmxvbmcJMTA3MzUxNjM5NworCS5sb25nCTEyMTYzNzE3ODAKKwkubG9uZwkxMDE0MDgyNzQ4CisJLmxvbmcJMTQ2NDk3NjYwMworCS5sb25nCTEwNzM1MjE0NzIKKwkubG9uZwkzNTA3MjkyNDA1CisJLmxvbmcJMzE2MzAyNjExMAorCS5sb25nCTM3MDY2ODc1OTMKKwkubG9uZwkxMDczNTI2NTYwCisJLmxvbmcJMzUyMTcyNjkzOQorCS5sb25nCTEwMTQzMDE2NDMKKwkubG9uZwk3Nzg5MDExMDkKKwkubG9uZwkxMDczNTMxNjYzCisJLmxvbmcJMjI0ODE4Mzk1NAorCS5sb25nCTMxNjIzMTczMjcKKwkubG9uZwkxNDMyMjA4Mzc4CisJLmxvbmcJMTA3MzUzNjc3OQorCS5sb25nCTE0MDEwNjg5MTQKKwkubG9uZwkzMTYzNDEyNTM5CisJLmxvbmcJMTUzMjczNDMyNAorCS5sb25nCTEwNzM1NDE5MDkKKwkubG9uZwkzMDk0MjE2NTM1CisJLmxvbmcJMzE2NDIxMTQzMworCS5sb25nCTEyNDIwMDc5MzIKKwkubG9uZwkxMDczNTQ3MDUzCisJLmxvbmcJMTEzMjAzNDcxNgorCS5sb25nCTMxNjQzODg0MDcKKwkubG9uZwk3MjE5OTYxMzYKKwkubG9uZwkxMDczNTUyMjExCisJLmxvbmcJNTYzNzU0NzM0CisJLmxvbmcJMTAxNjQxOTg5NAorCS5sb25nCTEzNTEwNTAxMAorCS5sb25nCTEwNzM1NTczODMKKwkubG9uZwkxOTA2MTQ4NzI4CisJLmxvbmcJMzE2NDQyNDMxNQorCS5sb25nCTM5MzkxNDgyNDYKKwkubG9uZwkxMDczNTYyNTY4CisJLmxvbmcJMzIxMDM1MjE0OAorCS5sb25nCTEwMTYzMjI4OTkKKwkubG9uZwkzNzA3NDc5MTc1CisJLmxvbmcJMTA3MzU2Nzc2OAorCS5sb25nCTM2MTMwNzkzMDMKKwkubG9uZwkxMDE1MjEzMzE0CisJLmxvbmcJMzg5ODc5NTczMQorCS5sb25nCTEwNzM1NzI5ODIKKwkubG9uZwkxMjQ5OTk0MTQ0CisJLmxvbmcJMTAxMjkxODM5NAorCS5sb25nCTM4MjMwNTE3NgorCS5sb25nCTEwNzM1NzgyMTEKKwkubG9uZwkyMzQ3NjIyMzc2CisJLmxvbmcJMzE2MzYyNzIwMQorCS5sb25nCTE5MTI1NjE3ODEKKwkubG9uZwkxMDczNTgzNDUzCisJLmxvbmcJMzE0NzQ5NTEwMgorCS5sb25nCTEwMTY3MjY4MjkKKwkubG9uZwk2NDY5Njk2NQorCS5sb25nCTEwNzM1ODg3MTAKKwkubG9uZwkxNzY4Nzk3NDkwCisJLmxvbmcJMTAxNjg2NTUzNgorCS5sb25nCTM1OTQxNTg4NjkKKwkubG9uZwkxMDczNTkzOTgwCisJLmxvbmcJMjQ1NjUyMTcwMAorCS5sb25nCTMxNjQzMDUxMzcKKwkubG9uZwk0MDc2OTc1MjAwCisJLmxvbmcJMTA3MzU5OTI2NQorCS5sb25nCTIwMjkwMDA4OTkKKwkubG9uZwkxMDE2MjU3MTExCisJLmxvbmcJMTY3OTU1ODIzMgorCS5sb25nCTEwNzM2MDQ1NjUKKwkubG9uZwkyMzkwMzQyMjg3CisJLmxvbmcJMzE2NDM4MjU0NgorCS5sb25nCTg2MzczODcxOQorCS5sb25nCTEwNzM2MDk4NzkKKwkubG9uZwkxMzI2OTkyMjIwCisJLmxvbmcJMzE2MzY2MTc3MworCS5sb25nCTE3OTY4MzI1MzUKKwkubG9uZwkxMDczNjE1MjA3CisJLmxvbmcJMzE3Njk1NTcxNgorCS5sb25nCTMxNjE2MzQwODkKKwkubG9uZwkzNTE2NDE4OTcKKwkubG9uZwkxMDczNjIwNTUwCisJLmxvbmcJMjE3MjI2MTUyNgorCS5sb25nCTMxNjQwNTkxNzUKKwkubG9uZwk5OTEzNTg0ODIKKwkubG9uZwkxMDczNjI1OTA3CisJLmxvbmcJODM4NzE1MDE5CisJLmxvbmcJMzE2NDIwNjI0NAorCS5sb25nCTM4ODQ2NjI3NzQKKwkubG9uZwkxMDczNjMxMjc4CisJLmxvbmcJMjE1ODYxMTU5OQorCS5sb25nCTEwMTUyNTg3NjEKKwkubG9uZwk2MTA3NTgwMDYKKwkubG9uZwkxMDczNjM2NjY1CisJLmxvbmcJMTk2NTIwOTM5NworCS5sb25nCTMxNjI5MTQ4MDgKKwkubG9uZwk0MjI0MTQyNDY3CisJLmxvbmcJMTA3MzY0MjA2NQorCS5sb25nCTMzODk4MjAzODYKKwkubG9uZwkxMDE2MjU1Nzc4CisJLmxvbmcJMjAwOTk3MDQ5NgorCS5sb25nCTEwNzM2NDc0ODEKKwkubG9uZwkyMTU5MDM5NjY1CisJLmxvbmcJMzE2MzYyMTUyNAorCS5sb25nCTI3Mjg2OTM5NzgKKwkubG9uZwkxMDczNjUyOTExCisJLmxvbmcJMzk2MTA5OTcxCisJLmxvbmcJMzE2NDUxMTI2NworCS5sb25nCTIyNTYzMjUyMzAKKwkubG9uZwkxMDczNjU4MzU2CisJLmxvbmcJNTgwMTE3NzQ2CisJLmxvbmcJMTAxNjM2NTg3MQorCS5sb25nCTc2NDMwNzQ0MQorCS5sb25nCTEwNzM2NjM4MTYKKwkubG9uZwkzMDIxMDU3NDIwCisJLmxvbmcJMzE2NDM3ODA5OQorCS5sb25nCTI3MTk1MTU5MjAKKwkubG9uZwkxMDczNjY5MjkwCisJLmxvbmcJMjc2MDMzMjk0MQorCS5sb25nCTEwMTYxODY1MDkKKwkubG9uZwkzOTk5MzU3NDc5CisJLmxvbmcJMTA3MzY3NDc3OQorCS5sb25nCTIyNTg5NDE2MTYKKwkubG9uZwkxMDE2OTczMzAwCisJLmxvbmcJNDgxNzA2MjgyCisJLmxvbmcJMTA3MzY4MDI4NAorCS5sb25nCTE2OTYwNzkxNzMKKwkubG9uZwkzMTYzNzU5MTA0CisJLmxvbmcJOTI5ODA2OTk5CisJLmxvbmcJMTA3MzY4NTgwMworCS5sb25nCTMyMDUzMzY2NDMKKwkubG9uZwkxMDE2MzA4MTMzCisJLmxvbmcJMTIyMjQ3MjMwOAorCS5sb25nCTEwNzM2OTEzMzcKKwkubG9uZwkxMDU0MzU3NDcwCisJLmxvbmcJMzE2MjA2OTU5NAorCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDczNjk2ODg2CisJLmxvbmcJNzY5MTcxODUxCisJLmxvbmcJMTAxNjcxNDIwOQorCS5sb25nCTIwMzg5NzM2ODgKKwkubG9uZwkxMDczNzAyNDUwCisJLmxvbmcJODkyOTQxMzc0CisJLmxvbmcJMTAxNzA5NTAzNQorCS5sb25nCTI5MTI3MzA2NDQKKwkubG9uZwkxMDczNzA4MDI5CisJLmxvbmcJMzQ5MDA2NzcyMgorCS5sb25nCTMxNjQ0NTM2NTAKKwkubG9uZwkzNTkyOTIyNQorCS5sb25nCTEwNzM3MTM2MjQKKwkubG9uZwkyODA5Nzg4MDQxCisJLmxvbmcJMzE2MDQ4NTU0NAorCS5sb25nCTIxNzQ2NTI2MzIKKwkubG9uZwkxMDczNzE5MjMzCisJLmxvbmcJNDA4NzcxNDU5MAorCS5sb25nCTEwMTU0OTg4MzUKKwkubG9uZwk5MTU1OTI0NjgKKwkubG9uZwkxMDczNzI0ODU4CisJLmxvbmcJMzUyOTQ3ODk0CisJLmxvbmcJMzE2MjA3Mjk0NworCS5sb25nCTczMDgyMTEwNQorCS5sb25nCTEwNzM3MzA0OTgKKwkubG9uZwkyNTIzMjMyNzQzCisJLmxvbmcJMTAxMzExNTc2NAorCS5sb25nCTE3OTc5MjM4MDEKKwkubG9uZwkxMDczNzM2MTUzCisJLmxvbmcJMTk1MDU0NzQyNworCS5sb25nCTEwMTQyNzc2MzUKKwkudHlwZQlUX2V4cCxAb2JqZWN0CisJLnNpemUJVF9leHAsNDA5NgorCS5zcGFjZSA1MTIsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitlX2NvZWZmOgorCS5sb25nCTM4ODQ2MDcyODEKKwkubG9uZwkxMDYyNTkwNTkxCisJLmxvbmcJMzYwNzQwNDczNgorCS5sb25nCTEwNjgyNjQyMDAKKwkubG9uZwkxODc0NDgwNzU5CisJLmxvbmcJMTA2NTU5NTU2MworCS5sb25nCTQyODY3NjAzMzUKKwkubG9uZwkxMDcwNTE0MTA5CisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNzIwNDk3MzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS50eXBlCWVfY29lZmYsQG9iamVjdAorCS5zaXplCWVfY29lZmYsNDgKKwkuYWxpZ24gMTYKK2NvZWZmX2g6CisJLmxvbmcJMAorCS5sb25nCTMyMTg0Nzk2MTYKKwkubG9uZwkwCisJLmxvbmcJMzIxMDU4NzEwNQorCS50eXBlCWNvZWZmX2gsQG9iamVjdAorCS5zaXplCWNvZWZmX2gsMTYKKwkuYWxpZ24gMTYKK0hJR0hNQVNLX0xPR19YOgorCS5sb25nCTQxNjA3NDk1NjgKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjUyNDgKKwkudHlwZQlISUdITUFTS19MT0dfWCxAb2JqZWN0CisJLnNpemUJSElHSE1BU0tfTE9HX1gsMTYKKwkuYWxpZ24gOAorSEFMRk1BU0s6CisJLmxvbmcJNDE2MDc0OTU2OAorCS5sb25nCTQyOTQ5NjcyOTUKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJNDI5NDk2NzI5NQorCS50eXBlCUhBTEZNQVNLLEBvYmplY3QKKwkuc2l6ZQlIQUxGTUFTSywxNgorCS5hbGlnbiA4Citsb2cyOgorCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkxMDcyMDQ5NzMwCisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTMyMTk1MzMzNzgKKwkudHlwZQlsb2cyLEBvYmplY3QKKwkuc2l6ZQlsb2cyLDE2CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisvLyAtLSBCZWdpbiBEV0FSRjIgU0VHTUVOVCAuZWhfZnJhbWUKKwkuc2VjdGlvbiAuZWhfZnJhbWUsImEiLEBwcm9nYml0cworLmVoX2ZyYW1lX3NlZzoKKwkuYWxpZ24gMQorCS40Ynl0ZSAweDAwMDAwMDE0CisJLjhieXRlIDB4MDA1MjdhMDEwMDAwMDAwMAorCS44Ynl0ZSAweDA4MDcwYzFiMDExMDc4MDEKKwkuNGJ5dGUgMHgwMDAwMDE5MAorCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfcG93LjEtLgorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9wb3cuNS0uLl9fX3RhZ192YWx1ZV9wb3cuMQorCS4yYnl0ZSAweDA0MDAKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfcG93LjMtLi5fX190YWdfdmFsdWVfcG93LjEKKwkuMmJ5dGUgMHgzMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9wb3cuNC0uLl9fX3RhZ192YWx1ZV9wb3cuMworCS4yYnl0ZSAweDA4MGUKKwkuYnl0ZSAweDAwCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvZV9zaW5oLlMgYi9saWJtL3g4Nl82NC9lX3NpbmguUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDhkYjYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvZV9zaW5oLlMKQEAgLTAsMCArMSwxNDMwIEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICBzaW5oKHgpPShleHAoeCktZXhwKC14KSkvMgorLy8KKy8vICBMZXQgfHh8PXhIK3hMICh1cHBlciAyNiBiaXRzLCBsb3dlciAyNyBiaXRzKQorLy8gIGxvZzIoZSkgcm91bmRlZCB0byAyNiBiaXRzIChoaWdoIHBhcnQpIHBsdXMgYSBkb3VibGUgcHJlY2lzaW9uIGxvdyBwYXJ0IGlzCisvLyAgICAgICAgICBMMkVIK0wyRUwgKHVwcGVyIDI2LCBsb3dlciA1MyBiaXRzKQorLy8KKy8vICBMZXQgeEgqTDJFSD1rK2YrcmAsIHdoZXJlIChrK2YpKjJeNz1pbnQoeEgqTDJFSCoyXjcpLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmPTAuYjEgYjIgLi4uIGI3LCBrIGludGVnZXIKKy8vICAyXmYgaXMgYXBwcm94aW1hdGVkIGFzIFRwW2ZdK0RwW2ZdLCBhbmQgMl57LWZ9IGFzIFRuW2ZdK0RuW2ZdCisvLyAgVHAgc3RvcmVzIHRoZSBoaWdoIDUzIGJpdHMsIERwIHN0b3JlcyAoMl5mLVRwW2ZdKSByb3VuZGVkIHRvIGRvdWJsZSBwcmVjaXNpb24KKy8vCisvLyAgZV58eHw9Ml57aytmfSoyXnIsIHI9cmAreEwqTDJFSCt8eHwqTDJFTCwgfHJ8PDJeey04fSsyXnstMTR9LAorLy8gICAgICAgICAgICAgICAgICAgICAgIGZvciB8eHwgaW4gWzIzLzY0LDMqMl43KQorLy8gIGVeey18eHx9PTJeey1rLWZ9KjJeey1yfQorLy8KKy8vICBlXnx4fCBpcyBhcHByb3hpbWF0ZWQgYXMgMl5rKlRwKzJeaypUcCpjMSpyKDErYzIqcisuLitjNSpyXjQpKzJeaypEcD0KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgPTJeaypUcCsyXmsqVHAqUDE1KzJeaypEcAorLy8gIGVeey18eHx9IGFwcHJveGltYXRlZCBhcyAyXnsta30qVG4tMl57LWt9KlRuKmMxKnIoMS1jMipyKy4uK2M1KnJeNCkrMl57LWt9KkRuCisvLworLy8gIEZvciB8eHwgaW4gWzEvOCwgMyoyXjcpLCBzaW5oKHgpIGlzIGZvcm1lZCBhcworLy8gICAgICBSTigyXmsqVHAtMl57LWt9KlRuKSsyXmsqVHAqUDE1LTJeey1rfSpUbipQYDE1LTJeey1rfSpUbkwtMl57LWt9KkRuKzJeaypEcAorLy8KKy8vICBGb3IgeCBpbiAoMyoyXjcsIDMqMl44KSwgc2lnbih4KSooZV58eHwpLzIgaXMgcmV0dXJuZWQsIGFuZAorLy8gIHRoZSByZXN1bHQgaXMgY2hlY2tlZCBmb3Igb3ZlcmZsb3cuCisvLworLy8gIEZvciB8eHw8MjMvNjQsIGEgVGF5bG9yIHBvbHlub21pYWwgZXhwYW5zaW9uIGlzIHVzZWQgKGRlZ3JlZSAxMykKKy8vICBUbyByZWR1Y2Ugcm91bmRpbmcgZXJyb3JzLCB0aGUgcDMqeF4zIHRlcm0gaXMgY29tcHV0ZWQgYXMKKy8vICAgICAocDMqeGheMylfaGlnaCtbKHAzKnhsKigzKngqeGgreGxeMikpKyhwMyp4aF4zKV9sb3ddLAorLy8gIHdoZXJlIHg9eGgreGwsICh4aCBhcmUgdGhlIGxlYWRpbmcgMTcgYml0cyBvZiB4KSwgYW5kCisvLyAgICAgKHAzKnhoXjMpX2hpZ2g9Uk4oeCtwMyp4aF4zKS14CisvLyAgKGVycm9yIGJvdW5kIGZvciBwb2x5bm9taWFsIGV4cGFuc2lvbiBpcyBiZWxvdyAwLjUxIHVscCkKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIHNpbmgoTmFOKSA9IHF1aWV0IE5hTiwgYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgc2luaCgrLy1JTkYpID0gKy8tSU5GCisvLyAgc2luaCh4KSA9IHggZm9yIHN1Ym5vcm1hbHMKKy8vICBmb3IgZmluaXRlIGFyZ3VtZW50LCBvbmx5IHNpbmgoMCk9MCBpcyBleGFjdAorLy8gIEZvciBJRUVFIGRvdWJsZQorLy8gICAgc2luaCh4KSBvdmVyZmxvd3MgIGZvciB4ID4gCisvLyAgICA3MTAuNDc1ODYwMDczOTQzODYzNDI2MzkzMzYzNjI0ODExMTcyNDg1MzUxNTYyNTAgPSBNQVhMT0crbG9nKDIpCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgc2luaAorRU5UUlkoc2luaCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9zaW5oLjE6CisgICAgICAgIHB1c2hxICAgICAlcnNpCisuLl9fX3RhZ192YWx1ZV9zaW5oLjM6CisuLkIxLjI6CisgICAgICAgIG1vdnNkICAgICBIQUxGTUFTSyglcmlwKSwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW00LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgTDJFKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgOCtMMkUoJXJpcCksICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgU2hpZnRlciglcmlwKSwgJXhtbTYKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRwZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIGFuZG5wZCAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTQsICV4bW01CisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVjeAorICAgICAgICBzdWJsICAgICAgJDE2MzQzLCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMTc3LCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMgorICAgICAgICBjdnRzZDJzaSAgJXhtbTMsICVlYXgKKyAgICAgICAgc2hsbCAgICAgICQzLCAlZWR4CisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWF4CisgICAgICAgIG1vdnEgICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHhvcnBkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMworICAgICAgICBtb3ZhcGQgICAgY3YoJXJpcCksICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDE2K2N2KCVyaXApLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG1vdmwgICAgICAkMzI3MDQsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgMzIrY3YoJXJpcCksICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQxMjcsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICVlZHgsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQzLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNjU1MjAsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGNtcGwgICAgICAkMTYxLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNSwgJXhtbTUKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMCwgJXhtbTAKKyAgICAgICAgcHN1YncgICAgICV4bW0wLCAleG1tNQorICAgICAgICBsZWEgICAgICAgVDJmKCVyaXApLCAlcjgKKyAgICAgICAgbXVscGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTAKKyAgICAgICAgbGVhICAgICAgIFQyX25lZ19mKCVyaXApLCAlcjgKKyAgICAgICAgbXVscGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICA0OCtjdiglcmlwKSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHBkICAgICA2NCtjdiglcmlwKSwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzaHVmcGQgICAgJDAsICV4bW01LCAleG1tNworICAgICAgICBzdWJwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW02LCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTQsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBzdWJsICAgICAgJDE2MzUyLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgc2hybCAgICAgICQxLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkNjU1MjAsICVlYXgKKyAgICAgICAgc3VibCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxNjM1MiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBsZWEgICAgICAgVDJmKCVyaXApLCAlcjgKKyAgICAgICAgbXVscGQgICAgICglcjgsJXJkeCw4KSwgJXhtbTAKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdnNkICAgICA0OCtjdiglcmlwKSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgIDY0K2N2KCVyaXApLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRsICAgICAgJDE2MzY4LCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVjeCwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0wLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJDEyNywgJWVkeAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8yLjAuMgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8wLjAuMjoKKyAgICAgICAgYWRkbCAgICAgICQxNjM0MywgJWVjeAorICAgICAgICBjbXBsICAgICAgJDE2MzQzLCAlZWN4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBjbXBsICAgICAgJDE1ODU2LCAlZWN4CisgICAgICAgIGpiICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBtb3ZhcGQgICAgcHYoJXJpcCksICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIG1vdmFwZCAgICAxNitwdiglcmlwKSwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAzMitwdiglcmlwKSwgJXhtbTMKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW00CisgICAgICAgIGFuZHBkICAgICBNQVNLMyglcmlwKSwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIHN1YnBkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNworICAgICAgICBhZGRwZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW02LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMCwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNworICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW00LCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMiwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTYKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNC4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMTYsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE3MzkyLCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVjeCwgJXhtbTIKKyAgICAgICAgeG9ycGQgICAgICV4bW0zLCAleG1tMworICAgICAgICBtb3ZsICAgICAgJDE1MzQ0LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMy4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQzMjczNiwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIG9ybCAgICAgICAlZWR4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjIKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBhbmRucGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMi4wLjI6CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgKCVyc3ApCisuLkIxLjM6CisgICAgICAgIG1vdnEgICAgICAoJXJzcCksICV4bW0wCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKy4uQjEuNToKKyAgICAgICAgcG9wcSAgICAgICVyY3gKKy4uX19fdGFnX3ZhbHVlX3NpbmguNDoKKyAgICAgICAgcmV0ICAgICAgIAorLi5fX190YWdfdmFsdWVfc2luaC41OgorRU5EKHNpbmgpCisjIC0tIEVuZCAgc2luaAorCS5zZWN0aW9uIC5yb2RhdGEsICJhIgorCS5hbGlnbiAxNgorCS5hbGlnbiAxNgorTDJFOgorCS5sb25nCTE2MTA2MTI3MzYKKwkubG9uZwkxMDgwNDk3NDc5CisJLmxvbmcJNDE2NjkwMTU3MgorCS5sb25nCTEwNTMwNzcwMDMKKwkudHlwZQlMMkUsQG9iamVjdAorCS5zaXplCUwyRSwxNgorCS5hbGlnbiAxNgorU2hpZnRlcjoKKwkubG9uZwkwCisJLmxvbmcJMTEyNzc0MzQ4OAorCS5sb25nCTAKKwkubG9uZwkzMjc1MjI3MTM2CisJLnR5cGUJU2hpZnRlcixAb2JqZWN0CisJLnNpemUJU2hpZnRlciwxNgorCS5hbGlnbiAxNgorY3Y6CisJLmxvbmcJMzYwNzQwNDczNgorCS5sb25nCTEwNDQxNDY5NTIKKwkubG9uZwkzNjA3NDA0NzM2CisJLmxvbmcJMzE5MTYzMDYwMAorCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkxMDYzNjYxMTIyCisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTMyMTExNDQ3NzAKKwkubG9uZwkyMTQwMTc1NzU1CisJLmxvbmcJMTAzMzg2NDI2MQorCS5sb25nCTIxNDAxNzU3NTUKKwkubG9uZwkxMDMzODY0MjYxCisJLmxvbmcJNDI4OTQ5NTk4OAorCS5sb25nCTEwNTQxMTM3NDcKKwkubG9uZwk0Mjg5NDk1OTg4CisJLmxvbmcJMTA1NDExMzc0NworCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkxMDY0NzA5Njk4CisJLmxvbmcJNDI3NzgxMTY5NQorCS5sb25nCTEwNjQ3MDk2OTgKKwkudHlwZQljdixAb2JqZWN0CisJLnNpemUJY3YsODAKKwkuYWxpZ24gMTYKK1QyZjoKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzI2OTg5NDEKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNjgxNTkxMworCS5sb25nCTEwNDgwMTkwNDEKKwkubG9uZwkxMDcyNzA0NjY2CisJLmxvbmcJMTM5ODQ3NDg0NQorCS5sb25nCTMxNjE1NTkxNzEKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MjcxMDQyMQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjM1OTU1NDgKKwkubG9uZwkzNTQxNDAyOTk2CisJLmxvbmcJMTA3MjcxNjIwOAorCS5sb25nCTI3NTkxNzczMTcKKwkubG9uZwkxMDE1OTAzMjAyCisJLmxvbmcJNzAyNDEyNTEwCisJLmxvbmcJMTA3MjcyMjAyNworCS5sb25nCTM4MDMyNjYwODcKKwkubG9uZwkzMTYzMzI4OTkxCisJLmxvbmcJNDEwMzYwNzc2CisJLmxvbmcJMTA3MjcyNzg3NworCS5sb25nCTEyNjk5OTA2NTUKKwkubG9uZwkxMDEzMDI0NDQ2CisJLmxvbmcJMzQwMjAzNjA5OQorCS5sb25nCTEwNzI3MzM3NTgKKwkubG9uZwk0MDU4ODkzMzQKKwkubG9uZwkxMDE2MTU0MjMyCisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTEwNzI3Mzk2NzIKKwkubG9uZwkxMjU1OTU2NzQ3CisJLmxvbmcJMTAxNjYzNjk3NAorCS5sb25nCTcyODkwOTgxNQorCS5sb25nCTEwNzI3NDU2MTgKKwkubG9uZwkzODM5MzAyMjUKKwkubG9uZwkxMDE2MDc4MDQ0CisJLmxvbmcJODUyNzQyNTYyCisJLmxvbmcJMTA3Mjc1MTU5NgorCS5sb25nCTY2NzI1MzU4NgorCS5sb25nCTEwMTA4NDIxMzUKKwkubG9uZwkyOTUyNzEyOTg3CisJLmxvbmcJMTA3Mjc1NzYwNgorCS5sb25nCTMyOTM0OTQ2NTEKKwkubG9uZwkzMTYxMTY4ODc3CisJLmxvbmcJMzQ5MDg2Mzk1MworCS5sb25nCTEwNzI3NjM2NDkKKwkubG9uZwk5NjA3OTc0OTgKKwkubG9uZwkzMTYzOTk3NDU2CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzI3Njk3MjUKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1OTQ3MTM4MAorCS5sb25nCTI5MzAzMjI5MTIKKwkubG9uZwkxMDcyNzc1ODM0CisJLmxvbmcJMjU5OTQ5OTQyMgorCS5sb25nCTMxNjM3NjI2MjMKKwkubG9uZwkzMzY2MjkzMDczCisJLmxvbmcJMTA3Mjc4MTk3NgorCS5sb25nCTMxMTk0MjYzMTQKKwkubG9uZwkxMDE1MTY5MTMwCisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzI3ODgxNTIKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MjYwNzY4MQorCS5sb25nCTk0ODczNTQ2NgorCS5sb25nCTEwNzI3OTQzNjEKKwkubG9uZwkzNTE2MzM4MDI4CisJLmxvbmcJMzE2MzYyMzQ1OQorCS5sb25nCTM5NDk5NzIzNDEKKwkubG9uZwkxMDcyODAwNjAzCisJLmxvbmcJMjA2ODQwODU0OAorCS5sb25nCTEwMTU5NjI0NDQKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MjgwNjg4MAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjQxNjQ5OTgKKwkubG9uZwk4Mjg5NDY4NTgKKwkubG9uZwkxMDcyODEzMTkxCisJLmxvbmcJMTA2NDI0OTIKKwkubG9uZwkxMDE2OTg4MDE0CisJLmxvbmcJNTg2OTk1OTk3CisJLmxvbmcJMTA3MjgxOTUzNgorCS5sb25nCTQxNjYyMzQ4CisJLmxvbmcJMzE2MzY3NjU2OAorCS5sb25nCTIyODgxNTk5NTgKKwkubG9uZwkxMDcyODI1OTE1CisJLmxvbmcJMjE2OTE0NDQ2OQorCS5sb25nCTEwMTU5MjQ1OTcKKwkubG9uZwkyNDQwOTQ0NzkwCisJLmxvbmcJMTA3MjgzMjMyOQorCS5sb25nCTI0OTI3Njk3NzQKKwkubG9uZwkxMDE1MTk2MDMwCisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzI4Mzg3NzgKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNjcwNTE1MAorCS5sb25nCTEzMzcxMDgwMzEKKwkubG9uZwkxMDcyODQ1MjYyCisJLmxvbmcJMzIwMzcyNDQ1MgorCS5sb25nCTEwMTU3MjY0MjEKKwkubG9uZwkxNzA5MzQxOTE3CisJLmxvbmcJMTA3Mjg1MTc4MQorCS5sb25nCTI1NzExNjgyMTcKKwkubG9uZwkxMDE1MjAxMDc1CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzI4NTgzMzUKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2NDIyODY2NgorCS5sb25nCTQxMTI1MDY1OTMKKwkubG9uZwkxMDcyODY0OTI1CisJLmxvbmcJMjk0NzM1NTIyMQorCS5sb25nCTEwMTU0MTk2MjQKKwkubG9uZwkzNTA0MDAzNDcyCisJLmxvbmcJMTA3Mjg3MTU1MQorCS5sb25nCTM1OTQwMDEwNjAKKwkubG9uZwkzMTU4Mzc5MjI4CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzI4NzgyMTMKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNjA3MDcyNworCS5sb25nCTI4Mzk0MjQ4NTQKKwkubG9uZwkxMDcyODg0OTExCisJLmxvbmcJMTE3MTU5NjE2MworCS5sb25nCTEwMTQwOTAyNTUKKwkubG9uZwkxNzEwMzAyOTMKKwkubG9uZwkxMDcyODkxNjQ2CisJLmxvbmcJMzUyNjQ2MDEzMgorCS5sb25nCTEwMTU0NzczNTQKKwkubG9uZwk0MjMyODk0NTEzCisJLmxvbmcJMTA3Mjg5ODQxNgorCS5sb25nCTIzODM5Mzg2ODQKKwkubG9uZwkxMDE1NzE3MDk1CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzI5MDUyMjQKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNjI3Njc2OQorCS5sb25nCTE2MDM0NDQ3MjEKKwkubG9uZwkxMDcyOTEyMDY5CisJLmxvbmcJMTU0ODYzMzY0MAorCS5sb25nCTMxNjMyNDk5MDIKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcyOTE4OTUxCisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjM5NjIwOTAKKwkubG9uZwkxODI5MDk5NjIyCisJLmxvbmcJMTA3MjkyNTg3MAorCS5sb25nCTEwMTY2NjExODEKKwkubG9uZwkzMTY0NTA5NTgxCisJLmxvbmcJODg3NDYzOTI3CisJLmxvbmcJMTA3MjkzMjgyNworCS5sb25nCTM1OTY3NDQxNjMKKwkubG9uZwkzMTYxODQyNzQyCisJLmxvbmcJMzI3Mjg0NTU0MQorCS5sb25nCTEwNzI5Mzk4MjEKKwkubG9uZwk5Mjg4NTI0MTkKKwkubG9uZwkzMTY0NTM2ODI0CisJLmxvbmcJMTI3NjI2MTQxMAorCS5sb25nCTEwNzI5NDY4NTQKKwkubG9uZwkzMDA5ODE5NDgKKwkubG9uZwkxMDE1NzMyNzQ1CisJLmxvbmcJNzg0MTM4NTIKKwkubG9uZwkxMDcyOTUzOTI1CisJLmxvbmcJNDE4MzIyNjg2NworCS5sb25nCTMxNjQwNjU4MjcKKwkubG9uZwk1Njk4NDczMzgKKwkubG9uZwkxMDcyOTYxMDM0CisJLmxvbmcJNDcyOTQ1MjcyCisJLmxvbmcJMzE2MDMzOTMwNQorCS5sb25nCTM2NDU5NDE5MTEKKwkubG9uZwkxMDcyOTY4MTgxCisJLmxvbmcJMzgxNDY4NTA4MQorCS5sb25nCTMxNjI2MjE5MTcKKwkubG9uZwkxNjE3MDA0ODQ1CisJLmxvbmcJMTA3Mjk3NTM2OAorCS5sb25nCTgyODA0OTQ0CisJLmxvbmcJMTAxMTM5MTM1NAorCS5sb25nCTM5NzgxMDA4MjMKKwkubG9uZwkxMDcyOTgyNTkzCisJLmxvbmcJMzUxMzAyNzE5MAorCS5sb25nCTEwMTY4OTQ1MzkKKwkubG9uZwkzMDQ5MzQwMTEyCisJLmxvbmcJMTA3Mjk4OTg1OAorCS5sb25nCTMwNjI5MTU4MjQKKwkubG9uZwkxMDE0MjE5MTcxCisJLmxvbmcJNDA0MDY3NjMxOAorCS5sb25nCTEwNzI5OTcxNjIKKwkubG9uZwk0MDkwNjA5MjM4CisJLmxvbmcJMTAxNjcxMjAzNAorCS5sb25nCTM1NzcwOTY3NDMKKwkubG9uZwkxMDczMDA0NTA2CisJLmxvbmcJMjk1MTQ5NjQxOAorCS5sb25nCTEwMTQ4NDIyNjMKKwkubG9uZwkyNTgzNTUxMjQ1CisJLmxvbmcJMTA3MzAxMTg5MAorCS5sb25nCTMxNjEwOTQxOTUKKwkubG9uZwkxMDE2NjU1MDY3CisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzMwMTkzMTQKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2Mzg2MTc2OQorCS5sb25nCTI3MzE1MDExMjIKKwkubG9uZwkxMDczMDI2Nzc4CisJLmxvbmcJMTc3NDAzMTg1NQorCS5sb25nCTMxNjM1MTg1OTcKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MzAzNDI4MworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjI1MzY2MzgKKwkubG9uZwkzMzk1MTI5ODcxCisJLmxvbmcJMTA3MzA0MTgyOAorCS5sb25nCTQwMjUzNDU0MzUKKwkubG9uZwkzMTYzMzgzOTY0CisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MzA0OTQxNQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNjcwNzg4NAorCS5sb25nCTM1NjY3MTY5MjUKKwkubG9uZwkxMDczMDU3MDQyCisJLmxvbmcJMTUzNjgyNjg1NgorCS5sb25nCTEwMTUxOTEwMDkKKwkubG9uZwkzNzEyNTA0ODczCisJLmxvbmcJMTA3MzA2NDcxMQorCS5sb25nCTg4NDkxOTQ5CisJLmxvbmcJMTAxNjQ3NjIzNgorCS5sb25nCTIzMjExMDY2MTUKKwkubG9uZwkxMDczMDcyNDIyCisJLmxvbmcJMjE3MTE3NjYxMAorCS5sb25nCTEwMTA1ODQzNDcKKwkubG9uZwkzNjM2Njc3ODQKKwkubG9uZwkxMDczMDgwMTc1CisJLmxvbmcJODEzNzUzOTUwCisJLmxvbmcJMTAxNjgzMzc4NQorCS5sb25nCTMxMTE1NzQ1MzcKKwkubG9uZwkxMDczMDg3OTY5CisJLmxvbmcJMjYwNjE2MTQ3OQorCS5sb25nCTMxNjM4MDgzMjIKKwkubG9uZwkyOTU2NjEyOTk3CisJLmxvbmcJMTA3MzA5NTgwNgorCS5sb25nCTIxMTgxNjk3NTEKKwkubG9uZwkzMTYzNzg0MTI5CisJLmxvbmcJODg1ODM0NTI4CisJLmxvbmcJMTA3MzEwMzY4NgorCS5sb25nCTE5NzMyNTg1NDcKKwkubG9uZwkzMTYzMzEwMTQwCisJLmxvbmcJMjE4NjYxNzM4MQorCS5sb25nCTEwNzMxMTE2MDgKKwkubG9uZwkyMjcwNzY0MDg0CisJLmxvbmcJMzE2NDMyMTI4OQorCS5sb25nCTM1NjE3OTM5MDcKKwkubG9uZwkxMDczMTE5NTczCisJLmxvbmcJMTE1NzA1NDA1MworCS5sb25nCTEwMTI5Mzg5MjYKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MzEyNzU4MgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjQzMzEzMTYKKwkubG9uZwkxOTYzNzExMTY3CisJLmxvbmcJMTA3MzEzNTYzNAorCS5sb25nCTE3NDQ3Njc3NTcKKwkubG9uZwkzMTYxNjIyODcwCisJLmxvbmcJMTAxMzI1ODc5OQorCS5sb25nCTEwNzMxNDM3MzAKKwkubG9uZwkxNzQ4Nzk3NjExCisJLmxvbmcJMzE2MTE3NzY1OAorCS5sb25nCTQxODI4NzMyMjAKKwkubG9uZwkxMDczMTUxODY5CisJLmxvbmcJNjI5NTQyNjQ2CisJLmxvbmcJMzE2MzA0NDg3OQorCS5sb25nCTM5MDc4MDUwNDQKKwkubG9uZwkxMDczMTYwMDUzCisJLmxvbmcJMjI1NzA5MTIyNQorCS5sb25nCTMxNjI1OTg5ODMKKwkubG9uZwkxMjE4ODA2MTMyCisJLmxvbmcJMTA3MzE2ODI4MgorCS5sb25nCTE4MTg2MTMwNTIKKwkubG9uZwkzMTYzNTk3MDE3CisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzMxNzY1NTUKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MzU2MzA5NworCS5sb25nCTEzMzk5NzI5MjcKKwkubG9uZwkxMDczMTg0ODczCisJLmxvbmcJMTY3OTA4OTA5CisJLmxvbmcJMTAxNjYyMDcyOAorCS5sb25nCTE5NDQ3ODExOTEKKwkubG9uZwkxMDczMTkzMjM2CisJLmxvbmcJMzk5MzI3ODc2NworCS5sb25nCTMxNjI3NzI4NTUKKwkubG9uZwkxOTk3MjQwMgorCS5sb25nCTEwNzMyMDE2NDUKKwkubG9uZwkzNTA3ODk5ODYyCisJLmxvbmcJMTAxNzA1Nzg2OAorCS5sb25nCTkxOTU1NTY4MgorCS5sb25nCTEwNzMyMTAwOTkKKwkubG9uZwkzMTIxOTY5NTM0CisJLmxvbmcJMTAxMzk5NjgwMgorCS5sb25nCTE0MTMzNTYwNTAKKwkubG9uZwkxMDczMjE4NTk5CisJLmxvbmcJMTY1MTM0OTI5MQorCS5sb25nCTMxNjM3MTY3NDIKKwkubG9uZwkyNTcxOTQ3NTM5CisJLmxvbmcJMTA3MzIyNzE0NQorCS5sb25nCTM1NTgxNTkwNjQKKwkubG9uZwkzMTY0NDI1MjQ1CisJLmxvbmcJMTE3Njc0OTk5NworCS5sb25nCTEwNzMyMzU3MzgKKwkubG9uZwkyNzM4OTk4Nzc5CisJLmxvbmcJMzE2MzA4NDQyMAorCS5sb25nCTI2MDQ5NjI1NDEKKwkubG9uZwkxMDczMjQ0Mzc3CisJLmxvbmcJMjYxNDQyNTI3NAorCS5sb25nCTMxNjQ1ODc3NjgKKwkubG9uZwkzNjQ5NzI2MTA1CisJLmxvbmcJMTA3MzI1MzA2MworCS5sb25nCTQwODUwMzYzNDYKKwkubG9uZwkxMDE2Njk4MDUwCisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzMyNjE3OTcKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNjUyMzI0OQorCS5sb25nCTM4MDk3ODMxNgorCS5sb25nCTEwNzMyNzA1NzgKKwkubG9uZwk4NTQxODg5NzAKKwkubG9uZwkzMTYxNTExMjYyCisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzMyNzk0MDYKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNTQwMTQ5MQorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzMyODgyODMKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTY0NDYwNjY1CisJLmxvbmcJMjk2NjI3NTU1NworCS5sb25nCTEwNzMyOTcyMDcKKwkubG9uZwkyMTc2MTU1MzI0CisJLmxvbmcJMzE2MDg5MTMzNQorCS5sb25nCTM0MTg5MDMwNTUKKwkubG9uZwkxMDczMzA2MTgwCisJLmxvbmcJMjUyNzQ1NzMzNworCS5sb25nCTMxNjE4NjkxODAKKwkubG9uZwkyNjgyMTQ2Mzg0CisJLmxvbmcJMTA3MzMxNTIwMgorCS5sb25nCTIwODIxNzg1MTMKKwkubG9uZwkzMTY0NDExOTk1CisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzMzMjQyNzMKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MzY0ODk1NworCS5sb25nCTIxOTE3ODIwMzIKKwkubG9uZwkxMDczMzMzMzkzCisJLmxvbmcJMjk2MDI1NzcyNgorCS5sb25nCTEwMTQ3OTEyMzgKKwkubG9uZwk0MzQzMTYwNjcKKwkubG9uZwkxMDczMzQyNTYzCisJLmxvbmcJMjAyODM1ODc2NgorCS5sb25nCTEwMTQ1MDY2OTgKKwkubG9uZwkyMDY5NzUxMTQxCisJLmxvbmcJMTA3MzM1MTc4MgorCS5sb25nCTE1NjIxNzA2NzUKKwkubG9uZwkzMTYzNzczMjU3CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzMzNjEwNTEKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNjQ3NTc0MAorCS5sb25nCTI5OTA0MTcyNDUKKwkubG9uZwkxMDczMzcwMzcxCisJLmxvbmcJMzY4MzQ2Nzc0NQorCS5sb25nCTMxNjQ0MTc5MDIKKwkubG9uZwkzMjE5NTg3NDQKKwkubG9uZwkxMDczMzc5NzQyCisJLmxvbmcJMzQwMTkzMzc2NworCS5sb25nCTEwMTY4NDMxMzQKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MzM4OTE2MworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTYxMzQzNDUKKwkubG9uZwkzMjE4MzM4NjgyCisJLmxvbmcJMTA3MzM5ODYzNQorCS5sb25nCTM0MDQxNjQzMDQKKwkubG9uZwkzMTYzNTI1Njg0CisJLmxvbmcJMjU3Mjg2NjQ3NworCS5sb25nCTEwNzM0MDgxNTkKKwkubG9uZwk4Nzg1NjI0MzMKKwkubG9uZwkxMDE2NTcwMzE3CisJLmxvbmcJNjk3MTUzMTI2CisJLmxvbmcJMTA3MzQxNzczNQorCS5sb25nCTEyODM1MTU0MjkKKwkubG9uZwkzMTY0MzMxNzY1CisJLmxvbmcJMzA5MjE5MDcxNQorCS5sb25nCTEwNzM0MjczNjIKKwkubG9uZwk4MTQwMTIxNjgKKwkubG9uZwkzMTYwNTcxOTk4CisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzM0MzcwNDIKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2NDM2OTM3NQorCS5sb25nCTQwNzY1NTk5NDMKKwkubG9uZwkxMDczNDQ2Nzc0CisJLmxvbmcJMjExOTQ3ODMzMQorCS5sb25nCTMxNjE4MDY5MjcKKwkubG9uZwk4MTU4NTkyNzQKKwkubG9uZwkxMDczNDU2NTYwCisJLmxvbmcJMjQwMzk2NTkwCisJLmxvbmcJMzE2NDUzNjAxOQorCS5sb25nCTI0MjA4ODM5MjIKKwkubG9uZwkxMDczNDY2Mzk4CisJLmxvbmcJMjA0OTgxMDA1MgorCS5sb25nCTEwMTUxNjg0NjQKKwkubG9uZwkxNTQwODI0NTg1CisJLmxvbmcJMTA3MzQ3NjI5MAorCS5sb25nCTEwNjQwMTcwMTEKKwkubG9uZwkzMTY0NTM2MjY2CisJLmxvbmcJMzcxNjUwMjE3MgorCS5sb25nCTEwNzM0ODYyMzUKKwkubG9uZwkyMzAzNzQwMTI1CisJLmxvbmcJMTAxNTA5MTMwMQorCS5sb25nCTE2MTA2MDA1NzAKKwkubG9uZwkxMDczNDk2MjM1CisJLmxvbmcJMzc2NjczMjI5OAorCS5sb25nCTEwMTY4MDg3NTkKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwkxMDczNTA2Mjg5CisJLmxvbmcJNDI4MjkyNDIwNQorCS5sb25nCTEwMTYyMzYxMDkKKwkubG9uZwkyNDgzNDgwNTAxCisJLmxvbmcJMTA3MzUxNjM5NworCS5sb25nCTEyMTYzNzE3ODAKKwkubG9uZwkxMDE0MDgyNzQ4CisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzM1MjY1NjAKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxNDMwMTY0MworCS5sb25nCTE0MzIyMDgzNzgKKwkubG9uZwkxMDczNTM2Nzc5CisJLmxvbmcJMTQwMTA2ODkxNAorCS5sb25nCTMxNjM0MTI1MzkKKwkubG9uZwkxMjQyMDA3OTMyCisJLmxvbmcJMTA3MzU0NzA1MworCS5sb25nCTExMzIwMzQ3MTYKKwkubG9uZwkzMTY0Mzg4NDA3CisJLmxvbmcJMTM1MTA1MDEwCisJLmxvbmcJMTA3MzU1NzM4MworCS5sb25nCTE5MDYxNDg3MjgKKwkubG9uZwkzMTY0NDI0MzE1CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTEwNzM1Njc3NjgKKwkubG9uZwkzNjEzMDc5MzAzCisJLmxvbmcJMTAxNTIxMzMxNAorCS5sb25nCTM4MjMwNTE3NgorCS5sb25nCTEwNzM1NzgyMTEKKwkubG9uZwkyMzQ3NjIyMzc2CisJLmxvbmcJMzE2MzYyNzIwMQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MzU4ODcxMAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE2ODY1NTM2CisJLmxvbmcJNDA3Njk3NTIwMAorCS5sb25nCTEwNzM1OTkyNjUKKwkubG9uZwkyMDI5MDAwODk5CisJLmxvbmcJMTAxNjI1NzExMQorCS5sb25nCTg2MzczODcxOQorCS5sb25nCTEwNzM2MDk4NzkKKwkubG9uZwkxMzI2OTkyMjIwCisJLmxvbmcJMzE2MzY2MTc3MworCS5sb25nCTM1MTY0MTg5NworCS5sb25nCTEwNzM2MjA1NTAKKwkubG9uZwkyMTcyMjYxNTI2CisJLmxvbmcJMzE2NDA1OTE3NQorCS5sb25nCTM4ODQ2NjI3NzQKKwkubG9uZwkxMDczNjMxMjc4CisJLmxvbmcJMjE1ODYxMTU5OQorCS5sb25nCTEwMTUyNTg3NjEKKwkubG9uZwk0MjI0MTQyNDY3CisJLmxvbmcJMTA3MzY0MjA2NQorCS5sb25nCTMzODk4MjAzODYKKwkubG9uZwkxMDE2MjU1Nzc4CisJLmxvbmcJMjcyODY5Mzk3OAorCS5sb25nCTEwNzM2NTI5MTEKKwkubG9uZwkzOTYxMDk5NzEKKwkubG9uZwkzMTY0NTExMjY3CisJLmxvbmcJNzY0MzA3NDQxCisJLmxvbmcJMTA3MzY2MzgxNgorCS5sb25nCTMwMjEwNTc0MjAKKwkubG9uZwkzMTY0Mzc4MDk5CisJLmxvbmcJMzk5OTM1NzQ3OQorCS5sb25nCTEwNzM2NzQ3NzkKKwkubG9uZwkyMjU4OTQxNjE2CisJLmxvbmcJMTAxNjk3MzMwMAorCS5sb25nCTkyOTgwNjk5OQorCS5sb25nCTEwNzM2ODU4MDMKKwkubG9uZwkzMjA1MzM2NjQzCisJLmxvbmcJMTAxNjMwODEzMworCS5sb25nCTE1MzM5NTMzNDQKKwkubG9uZwkxMDczNjk2ODg2CisJLmxvbmcJNzY5MTcxODUxCisJLmxvbmcJMTAxNjcxNDIwOQorCS5sb25nCTI5MTI3MzA2NDQKKwkubG9uZwkxMDczNzA4MDI5CisJLmxvbmcJMzQ5MDA2NzcyMgorCS5sb25nCTMxNjQ0NTM2NTAKKwkubG9uZwkyMTc0NjUyNjMyCisJLmxvbmcJMTA3MzcxOTIzMworCS5sb25nCTQwODc3MTQ1OTAKKwkubG9uZwkxMDE1NDk4ODM1CisJLmxvbmcJNzMwODIxMTA1CisJLmxvbmcJMTA3MzczMDQ5OAorCS5sb25nCTI1MjMyMzI3NDMKKwkubG9uZwkxMDEzMTE1NzY0CisJLnR5cGUJVDJmLEBvYmplY3QKKwkuc2l6ZQlUMmYsMjA0OAorCS5hbGlnbiAxNgorVDJfbmVnX2Y6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTczMDgyMTEwNQorCS5sb25nCTEwNzI2ODE5MjIKKwkubG9uZwkyNTIzMjMyNzQzCisJLmxvbmcJMTAxMjA2NzE4OAorCS5sb25nCTIxNzQ2NTI2MzIKKwkubG9uZwkxMDcyNjcwNjU3CisJLmxvbmcJNDA4NzcxNDU5MAorCS5sb25nCTEwMTQ0NTAyNTkKKwkubG9uZwkyOTEyNzMwNjQ0CisJLmxvbmcJMTA3MjY1OTQ1MworCS5sb25nCTM0OTAwNjc3MjIKKwkubG9uZwkzMTYzNDA1MDc0CisJLmxvbmcJMTUzMzk1MzM0NAorCS5sb25nCTEwNzI2NDgzMTAKKwkubG9uZwk3NjkxNzE4NTEKKwkubG9uZwkxMDE1NjY1NjMzCisJLmxvbmcJOTI5ODA2OTk5CisJLmxvbmcJMTA3MjYzNzIyNworCS5sb25nCTMyMDUzMzY2NDMKKwkubG9uZwkxMDE1MjU5NTU3CisJLmxvbmcJMzk5OTM1NzQ3OQorCS5sb25nCTEwNzI2MjYyMDMKKwkubG9uZwkyMjU4OTQxNjE2CisJLmxvbmcJMTAxNTkyNDcyNAorCS5sb25nCTc2NDMwNzQ0MQorCS5sb25nCTEwNzI2MTUyNDAKKwkubG9uZwkzMDIxMDU3NDIwCisJLmxvbmcJMzE2MzMyOTUyMworCS5sb25nCTI3Mjg2OTM5NzgKKwkubG9uZwkxMDcyNjA0MzM1CisJLmxvbmcJMzk2MTA5OTcxCisJLmxvbmcJMzE2MzQ2MjY5MQorCS5sb25nCTQyMjQxNDI0NjcKKwkubG9uZwkxMDcyNTkzNDg5CisJLmxvbmcJMzM4OTgyMDM4NgorCS5sb25nCTEwMTUyMDcyMDIKKwkubG9uZwkzODg0NjYyNzc0CisJLmxvbmcJMTA3MjU4MjcwMgorCS5sb25nCTIxNTg2MTE1OTkKKwkubG9uZwkxMDE0MjEwMTg1CisJLmxvbmcJMzUxNjQxODk3CisJLmxvbmcJMTA3MjU3MTk3NAorCS5sb25nCTIxNzIyNjE1MjYKKwkubG9uZwkzMTYzMDEwNTk5CisJLmxvbmcJODYzNzM4NzE5CisJLmxvbmcJMTA3MjU2MTMwMworCS5sb25nCTEzMjY5OTIyMjAKKwkubG9uZwkzMTYyNjEzMTk3CisJLmxvbmcJNDA3Njk3NTIwMAorCS5sb25nCTEwNzI1NTA2ODkKKwkubG9uZwkyMDI5MDAwODk5CisJLmxvbmcJMTAxNTIwODUzNQorCS5sb25nCTY0Njk2OTY1CisJLmxvbmcJMTA3MjU0MDEzNAorCS5sb25nCTE3Njg3OTc0OTAKKwkubG9uZwkxMDE1ODE2OTYwCisJLmxvbmcJMzgyMzA1MTc2CisJLmxvbmcJMTA3MjUyOTYzNQorCS5sb25nCTIzNDc2MjIzNzYKKwkubG9uZwkzMTYyNTc4NjI1CisJLmxvbmcJMzcwNzQ3OTE3NQorCS5sb25nCTEwNzI1MTkxOTIKKwkubG9uZwkzNjEzMDc5MzAzCisJLmxvbmcJMTAxNDE2NDczOAorCS5sb25nCTEzNTEwNTAxMAorCS5sb25nCTEwNzI1MDg4MDcKKwkubG9uZwkxOTA2MTQ4NzI4CisJLmxvbmcJMzE2MzM3NTczOQorCS5sb25nCTEyNDIwMDc5MzIKKwkubG9uZwkxMDcyNDk4NDc3CisJLmxvbmcJMTEzMjAzNDcxNgorCS5sb25nCTMxNjMzMzk4MzEKKwkubG9uZwkxNDMyMjA4Mzc4CisJLmxvbmcJMTA3MjQ4ODIwMworCS5sb25nCTE0MDEwNjg5MTQKKwkubG9uZwkzMTYyMzYzOTYzCisJLmxvbmcJMzcwNjY4NzU5MworCS5sb25nCTEwNzI0Nzc5ODQKKwkubG9uZwkzNTIxNzI2OTQwCisJLmxvbmcJMTAxMzI1MzA2NworCS5sb25nCTI0ODM0ODA1MDEKKwkubG9uZwkxMDcyNDY3ODIxCisJLmxvbmcJMTIxNjM3MTc4MAorCS5sb25nCTEwMTMwMzQxNzIKKwkubG9uZwk3Nzc1MDcxNDcKKwkubG9uZwkxMDcyNDU3NzEzCisJLmxvbmcJNDI4MjkyNDIwNQorCS5sb25nCTEwMTUxODc1MzMKKwkubG9uZwkxNjEwNjAwNTcwCisJLmxvbmcJMTA3MjQ0NzY1OQorCS5sb25nCTM3NjY3MzIyOTgKKwkubG9uZwkxMDE1NzYwMTgzCisJLmxvbmcJMzcxNjUwMjE3MgorCS5sb25nCTEwNzI0Mzc2NTkKKwkubG9uZwkyMzAzNzQwMTI1CisJLmxvbmcJMTAxNDA0MjcyNQorCS5sb25nCTE1NDA4MjQ1ODUKKwkubG9uZwkxMDcyNDI3NzE0CisJLmxvbmcJMTA2NDAxNzAxMQorCS5sb25nCTMxNjM0ODc2OTAKKwkubG9uZwkyNDIwODgzOTIyCisJLmxvbmcJMTA3MjQxNzgyMgorCS5sb25nCTIwNDk4MTAwNTIKKwkubG9uZwkxMDE0MTE5ODg4CisJLmxvbmcJODE1ODU5Mjc0CisJLmxvbmcJMTA3MjQwNzk4NAorCS5sb25nCTI0MDM5NjU5MAorCS5sb25nCTMxNjM0ODc0NDMKKwkubG9uZwk0MDc2NTU5OTQzCisJLmxvbmcJMTA3MjM5ODE5OAorCS5sb25nCTIxMTk0NzgzMzEKKwkubG9uZwkzMTYwNzU4MzUxCisJLmxvbmcJMjM4MDYxODA0MgorCS5sb25nCTEwNzIzODg0NjYKKwkubG9uZwkzMTQ5NTU3MjE5CisJLmxvbmcJMzE2MzMyMDc5OQorCS5sb25nCTMwOTIxOTA3MTUKKwkubG9uZwkxMDcyMzc4Nzg2CisJLmxvbmcJODE0MDEyMTY4CisJLmxvbmcJMzE1OTUyMzQyMgorCS5sb25nCTY5NzE1MzEyNgorCS5sb25nCTEwNzIzNjkxNTkKKwkubG9uZwkxMjgzNTE1NDI5CisJLmxvbmcJMzE2MzI4MzE4OQorCS5sb25nCTI1NzI4NjY0NzcKKwkubG9uZwkxMDcyMzU5NTgzCisJLmxvbmcJODc4NTYyNDMzCisJLmxvbmcJMTAxNTUyMTc0MQorCS5sb25nCTMyMTgzMzg2ODIKKwkubG9uZwkxMDcyMzUwMDU5CisJLmxvbmcJMzQwNDE2NDMwNAorCS5sb25nCTMxNjI0NzcxMDgKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MjM0MDU4NworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTUwODU3NjkKKwkubG9uZwkzMjE5NTg3NDQKKwkubG9uZwkxMDcyMzMxMTY2CisJLmxvbmcJMzQwMTkzMzc2NworCS5sb25nCTEwMTU3OTQ1NTgKKwkubG9uZwkyOTkwNDE3MjQ1CisJLmxvbmcJMTA3MjMyMTc5NQorCS5sb25nCTM2ODM0Njc3NDUKKwkubG9uZwkzMTYzMzY5MzI2CisJLmxvbmcJMzk2NDI4NDIxMQorCS5sb25nCTEwNzIzMTI0NzUKKwkubG9uZwkyMTExNTgzOTE1CisJLmxvbmcJMTAxNTQyNzE2NAorCS5sb25nCTIwNjk3NTExNDEKKwkubG9uZwkxMDcyMzAzMjA2CisJLmxvbmcJMTU2MjE3MDY3NQorCS5sb25nCTMxNjI3MjQ2ODEKKwkubG9uZwk0MzQzMTYwNjcKKwkubG9uZwkxMDcyMjkzOTg3CisJLmxvbmcJMjAyODM1ODc2NgorCS5sb25nCTEwMTM0NTgxMjIKKwkubG9uZwkyMTkxNzgyMDMyCisJLmxvbmcJMTA3MjI4NDgxNworCS5sb25nCTI5NjAyNTc3MjYKKwkubG9uZwkxMDEzNzQyNjYyCisJLmxvbmcJMTg5MjI4ODQ0MgorCS5sb25nCTEwNzIyNzU2OTcKKwkubG9uZwkyNDQ2MjU1NjY2CisJLmxvbmcJMzE2MjYwMDM4MQorCS5sb25nCTI2ODIxNDYzODQKKwkubG9uZwkxMDcyMjY2NjI2CisJLmxvbmcJMjA4MjE3ODUxMworCS5sb25nCTMxNjMzNjM0MTkKKwkubG9uZwkzNDE4OTAzMDU1CisJLmxvbmcJMTA3MjI1NzYwNAorCS5sb25nCTI1Mjc0NTczMzcKKwkubG9uZwkzMTYwODIwNjA0CisJLmxvbmcJMjk2NjI3NTU1NworCS5sb25nCTEwNzIyNDg2MzEKKwkubG9uZwkyMTc2MTU1MzI0CisJLmxvbmcJMzE1OTg0Mjc1OQorCS5sb25nCTE5NDExNzU3NAorCS5sb25nCTEwNzIyMzk3MDcKKwkubG9uZwk3Nzc1Mjg2MTIKKwkubG9uZwkzMTYzNDEyMDg5CisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzIyMzA4MzAKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNDM1MjkxNQorCS5sb25nCTM4MDk3ODMxNgorCS5sb25nCTEwNzIyMjIwMDIKKwkubG9uZwk4NTQxODg5NzAKKwkubG9uZwkzMTYwNDYyNjg2CisJLmxvbmcJMTExMDA4OTk0NworCS5sb25nCTEwNzIyMTMyMjEKKwkubG9uZwkxNDUxNjQxNjM5CisJLmxvbmcJMTAxNTQ3NDY3MworCS5sb25nCTM2NDk3MjYxMDUKKwkubG9uZwkxMDcyMjA0NDg3CisJLmxvbmcJNDA4NTAzNjM0NgorCS5sb25nCTEwMTU2NDk0NzQKKwkubG9uZwkyNjA0OTYyNTQxCisJLmxvbmcJMTA3MjE5NTgwMQorCS5sb25nCTI2MTQ0MjUyNzQKKwkubG9uZwkzMTYzNTM5MTkyCisJLmxvbmcJMTE3Njc0OTk5NworCS5sb25nCTEwNzIxODcxNjIKKwkubG9uZwkyNzM4OTk4Nzc5CisJLmxvbmcJMzE2MjAzNTg0NAorCS5sb25nCTI1NzE5NDc1MzkKKwkubG9uZwkxMDcyMTc4NTY5CisJLmxvbmcJMzU1ODE1OTA2NAorCS5sb25nCTMxNjMzNzY2NjkKKwkubG9uZwkxNDEzMzU2MDUwCisJLmxvbmcJMTA3MjE3MDAyMworCS5sb25nCTE2NTEzNDkyOTEKKwkubG9uZwkzMTYyNjY4MTY2CisJLmxvbmcJOTE5NTU1NjgyCisJLmxvbmcJMTA3MjE2MTUyMworCS5sb25nCTMxMjE5Njk1MzQKKwkubG9uZwkxMDEyOTQ4MjI2CisJLmxvbmcJMTk5NzI0MDIKKwkubG9uZwkxMDcyMTUzMDY5CisJLmxvbmcJMzUwNzg5OTg2MgorCS5sb25nCTEwMTYwMDkyOTIKKwkubG9uZwkxOTQ0NzgxMTkxCisJLmxvbmcJMTA3MjE0NDY2MAorCS5sb25nCTM5OTMyNzg3NjcKKwkubG9uZwkzMTYxNzI0Mjc5CisJLmxvbmcJMTMzOTk3MjkyNworCS5sb25nCTEwNzIxMzYyOTcKKwkubG9uZwkxNjc5MDg5MDkKKwkubG9uZwkxMDE1NTcyMTUyCisJLmxvbmcJMTQ0NzE5MjUyMQorCS5sb25nCTEwNzIxMjc5NzkKKwkubG9uZwkxNDYyODU3MTcxCisJLmxvbmcJMzE2MjUxNDUyMQorCS5sb25nCTEyMTg4MDYxMzIKKwkubG9uZwkxMDcyMTE5NzA2CisJLmxvbmcJMTgxODYxMzA1MgorCS5sb25nCTMxNjI1NDg0NDEKKwkubG9uZwkzOTA3ODA1MDQ0CisJLmxvbmcJMTA3MjExMTQ3NworCS5sb25nCTIyNTcwOTEyMjUKKwkubG9uZwkzMTYxNTUwNDA3CisJLmxvbmcJNDE4Mjg3MzIyMAorCS5sb25nCTEwNzIxMDMyOTMKKwkubG9uZwk2Mjk1NDI2NDYKKwkubG9uZwkzMTYxOTk2MzAzCisJLmxvbmcJMTAxMzI1ODc5OQorCS5sb25nCTEwNzIwOTUxNTQKKwkubG9uZwkxNzQ4Nzk3NjExCisJLmxvbmcJMzE2MDEyOTA4MgorCS5sb25nCTE5NjM3MTExNjcKKwkubG9uZwkxMDcyMDg3MDU4CisJLmxvbmcJMTc0NDc2Nzc1NworCS5sb25nCTMxNjA1NzQyOTQKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MjA3OTAwNgorCS5sb25nCTMzMDQ1ODE5OAorCS5sb25nCTMxNjMyODI3NDAKKwkubG9uZwkzNTYxNzkzOTA3CisJLmxvbmcJMTA3MjA3MDk5NworCS5sb25nCTExNTcwNTQwNTMKKwkubG9uZwkxMDExODkwMzUwCisJLmxvbmcJMjE4NjYxNzM4MQorCS5sb25nCTEwNzIwNjMwMzIKKwkubG9uZwkyMjcwNzY0MDg0CisJLmxvbmcJMzE2MzI3MjcxMworCS5sb25nCTg4NTgzNDUyOAorCS5sb25nCTEwNzIwNTUxMTAKKwkubG9uZwkxOTczMjU4NTQ3CisJLmxvbmcJMzE2MjI2MTU2NAorCS5sb25nCTI5NTY2MTI5OTcKKwkubG9uZwkxMDcyMDQ3MjMwCisJLmxvbmcJMjExODE2OTc1MQorCS5sb25nCTMxNjI3MzU1NTMKKwkubG9uZwkzMTExNTc0NTM3CisJLmxvbmcJMTA3MjAzOTM5MworCS5sb25nCTI2MDYxNjE0NzkKKwkubG9uZwkzMTYyNzU5NzQ2CisJLmxvbmcJMzYzNjY3Nzg0CisJLmxvbmcJMTA3MjAzMTU5OQorCS5sb25nCTgxMzc1Mzk1MAorCS5sb25nCTEwMTU3ODUyMDkKKwkubG9uZwkyMzIxMTA2NjE1CisJLmxvbmcJMTA3MjAyMzg0NgorCS5sb25nCTIxNzExNzY2MTAKKwkubG9uZwkxMDA5NTM1NzcxCisJLmxvbmcJMzcxMjUwNDg3MworCS5sb25nCTEwNzIwMTYxMzUKKwkubG9uZwk4ODQ5MTk0OQorCS5sb25nCTEwMTU0Mjc2NjAKKwkubG9uZwkzNTY2NzE2OTI1CisJLmxvbmcJMTA3MjAwODQ2NgorCS5sb25nCTE1MzY4MjY4NTYKKwkubG9uZwkxMDE0MTQyNDMzCisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MjAwMDgzOQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNTY1OTMwOAorCS5sb25nCTMzOTUxMjk4NzEKKwkubG9uZwkxMDcxOTkzMjUyCisJLmxvbmcJNDAyNTM0NTQzNQorCS5sb25nCTMxNjIzMzUzODgKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MTk4NTcwNworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjE0ODgwNjIKKwkubG9uZwkyNzMxNTAxMTIyCisJLmxvbmcJMTA3MTk3ODIwMgorCS5sb25nCTE3NzQwMzE4NTUKKwkubG9uZwkzMTYyNDcwMDIxCisJLmxvbmcJMTk5MDAxMjA3MQorCS5sb25nCTEwNzE5NzA3MzgKKwkubG9uZwkzNTI5MDcwNTYzCisJLmxvbmcJMzE2MjgxMzE5MworCS5sb25nCTI1ODM1NTEyNDUKKwkubG9uZwkxMDcxOTYzMzE0CisJLmxvbmcJMzE2MTA5NDE5NQorCS5sb25nCTEwMTU2MDY0OTEKKwkubG9uZwkzNTc3MDk2NzQzCisJLmxvbmcJMTA3MTk1NTkzMAorCS5sb25nCTI5NTE0OTY0MTgKKwkubG9uZwkxMDEzNzkzNjg3CisJLmxvbmcJNDA0MDY3NjMxOAorCS5sb25nCTEwNzE5NDg1ODYKKwkubG9uZwk0MDkwNjA5MjM4CisJLmxvbmcJMTAxNTY2MzQ1OAorCS5sb25nCTMwNDkzNDAxMTIKKwkubG9uZwkxMDcxOTQxMjgyCisJLmxvbmcJMzA2MjkxNTgyNAorCS5sb25nCTEwMTMxNzA1OTUKKwkubG9uZwkzOTc4MTAwODIzCisJLmxvbmcJMTA3MTkzNDAxNworCS5sb25nCTM1MTMwMjcxOTAKKwkubG9uZwkxMDE1ODQ1OTYzCisJLmxvbmcJMTYxNzAwNDg0NQorCS5sb25nCTEwNzE5MjY3OTIKKwkubG9uZwk4MjgwNDk0NAorCS5sb25nCTEwMTAzNDI3NzgKKwkubG9uZwkzNjQ1OTQxOTExCisJLmxvbmcJMTA3MTkxOTYwNQorCS5sb25nCTM4MTQ2ODUwODEKKwkubG9uZwkzMTYxNTczMzQxCisJLmxvbmcJNTY5ODQ3MzM4CisJLmxvbmcJMTA3MTkxMjQ1OAorCS5sb25nCTQ3Mjk0NTI3MgorCS5sb25nCTMxNTkyOTA3MjkKKwkubG9uZwk3ODQxMzg1MgorCS5sb25nCTEwNzE5MDUzNDkKKwkubG9uZwk0MTgzMjI2ODY3CisJLmxvbmcJMzE2MzAxNzI1MQorCS5sb25nCTEyNzYyNjE0MTAKKwkubG9uZwkxMDcxODk4Mjc4CisJLmxvbmcJMzAwOTgxOTQ4CisJLmxvbmcJMTAxNDY4NDE2OQorCS5sb25nCTMyNzI4NDU1NDEKKwkubG9uZwkxMDcxODkxMjQ1CisJLmxvbmcJOTI4ODUyNDE5CisJLmxvbmcJMzE2MzQ4ODI0OAorCS5sb25nCTg4NzQ2MzkyNworCS5sb25nCTEwNzE4ODQyNTEKKwkubG9uZwkzNTk2NzQ0MTYzCisJLmxvbmcJMzE2MDc5NDE2NgorCS5sb25nCTE4MjkwOTk2MjIKKwkubG9uZwkxMDcxODc3Mjk0CisJLmxvbmcJMTAxNjY2MTE4MQorCS5sb25nCTMxNjM0NjEwMDUKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcxODcwMzc1CisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjI5MTM1MTQKKwkubG9uZwkxNjAzNDQ0NzIxCisJLmxvbmcJMTA3MTg2MzQ5MworCS5sb25nCTE1NDg2MzM2NDAKKwkubG9uZwkzMTYyMjAxMzI2CisJLmxvbmcJMjk5MjkwMzkzNQorCS5sb25nCTEwNzE4NTY2NDgKKwkubG9uZwkyMjE4MTU0NDA2CisJLmxvbmcJMTAxNTIyODE5MworCS5sb25nCTQyMzI4OTQ1MTMKKwkubG9uZwkxMDcxODQ5ODQwCisJLmxvbmcJMjM4MzkzODY4NAorCS5sb25nCTEwMTQ2Njg1MTkKKwkubG9uZwkxNzEwMzAyOTMKKwkubG9uZwkxMDcxODQzMDcwCisJLmxvbmcJMzUyNjQ2MDEzMgorCS5sb25nCTEwMTQ0Mjg3NzgKKwkubG9uZwkyODM5NDI0ODU0CisJLmxvbmcJMTA3MTgzNjMzNQorCS5sb25nCTExNzE1OTYxNjMKKwkubG9uZwkxMDEzMDQxNjc5CisJLmxvbmcJMjc5OTk2MDg0MworCS5sb25nCTEwNzE4Mjk2MzcKKwkubG9uZwkxNDIzNjU1MzgxCisJLmxvbmcJMTAxNTAyMjE1MQorCS5sb25nCTM1MDQwMDM0NzIKKwkubG9uZwkxMDcxODIyOTc1CisJLmxvbmcJMzU5NDAwMTA2MAorCS5sb25nCTMxNTczMzA2NTIKKwkubG9uZwk0MTEyNTA2NTkzCisJLmxvbmcJMTA3MTgxNjM0OQorCS5sb25nCTI5NDczNTUyMjEKKwkubG9uZwkxMDE0MzcxMDQ4CisJLmxvbmcJMzc5MDk1NTM5MworCS5sb25nCTEwNzE4MDk3NTkKKwkubG9uZwkyMzUyOTQyNDYyCisJLmxvbmcJMzE2MzE4MDA5MAorCS5sb25nCTE3MDkzNDE5MTcKKwkubG9uZwkxMDcxODAzMjA1CisJLmxvbmcJMjU3MTE2ODIxNworCS5sb25nCTEwMTQxNTI0OTkKKwkubG9uZwkxMzM3MTA4MDMxCisJLmxvbmcJMTA3MTc5NjY4NgorCS5sb25nCTMyMDM3MjQ0NTIKKwkubG9uZwkxMDE0Njc3ODQ1CisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzE3OTAyMDIKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNTY1NjU3NAorCS5sb25nCTI0NDA5NDQ3OTAKKwkubG9uZwkxMDcxNzgzNzUzCisJLmxvbmcJMjQ5Mjc2OTc3NAorCS5sb25nCTEwMTQxNDc0NTQKKwkubG9uZwkyMjg4MTU5OTU4CisJLmxvbmcJMTA3MTc3NzMzOQorCS5sb25nCTIxNjkxNDQ0NjkKKwkubG9uZwkxMDE0ODc2MDIxCisJLmxvbmcJNTg2OTk1OTk3CisJLmxvbmcJMTA3MTc3MDk2MAorCS5sb25nCTQxNjYyMzQ4CisJLmxvbmcJMzE2MjYyNzk5MgorCS5sb25nCTgyODk0Njg1OAorCS5sb25nCTEwNzE3NjQ2MTUKKwkubG9uZwkxMDY0MjQ5MgorCS5sb25nCTEwMTU5Mzk0MzgKKwkubG9uZwkyMjE0ODc4NDIwCisJLmxvbmcJMTA3MTc1ODMwNAorCS5sb25nCTg5MjI3MDA4NworCS5sb25nCTMxNjMxMTY0MjIKKwkubG9uZwkzOTQ5OTcyMzQxCisJLmxvbmcJMTA3MTc1MjAyNworCS5sb25nCTIwNjg0MDg1NDgKKwkubG9uZwkxMDE0OTEzODY4CisJLmxvbmcJOTQ4NzM1NDY2CisJLmxvbmcJMTA3MTc0NTc4NQorCS5sb25nCTM1MTYzMzgwMjgKKwkubG9uZwkzMTYyNTc0ODgzCisJLmxvbmcJMTAxNDg0NTgxOQorCS5sb25nCTEwNzE3Mzk1NzYKKwkubG9uZwkzMTE3OTEwNjQ2CisJLmxvbmcJMzE2MTU1OTEwNQorCS5sb25nCTMzNjYyOTMwNzMKKwkubG9uZwkxMDcxNzMzNDAwCisJLmxvbmcJMzExOTQyNjMxNAorCS5sb25nCTEwMTQxMjA1NTQKKwkubG9uZwkyOTMwMzIyOTEyCisJLmxvbmcJMTA3MTcyNzI1OAorCS5sb25nCTI1OTk0OTk0MjIKKwkubG9uZwkzMTYyNzE0MDQ3CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzE3MjExNDkKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1ODQyMjgwNAorCS5sb25nCTM0OTA4NjM5NTMKKwkubG9uZwkxMDcxNzE1MDczCisJLmxvbmcJOTYwNzk3NDk4CisJLmxvbmcJMzE2Mjk0ODg4MAorCS5sb25nCTI5NTI3MTI5ODcKKwkubG9uZwkxMDcxNzA5MDMwCisJLmxvbmcJMzI5MzQ5NDY1MQorCS5sb25nCTMxNjAxMjAzMDEKKwkubG9uZwk4NTI3NDI1NjIKKwkubG9uZwkxMDcxNzAzMDIwCisJLmxvbmcJNjY3MjUzNTg2CisJLmxvbmcJMTAwOTc5MzU1OQorCS5sb25nCTcyODkwOTgxNQorCS5sb25nCTEwNzE2OTcwNDIKKwkubG9uZwkzODM5MzAyMjUKKwkubG9uZwkxMDE1MDI5NDY4CisJLmxvbmcJMTgyODI5Mjg3OQorCS5sb25nCTEwNzE2OTEwOTYKKwkubG9uZwkxMjU1OTU2NzQ3CisJLmxvbmcJMTAxNTU4ODM5OAorCS5sb25nCTM0MDIwMzYwOTkKKwkubG9uZwkxMDcxNjg1MTgyCisJLmxvbmcJNDA1ODg5MzM0CisJLmxvbmcJMTAxNTEwNTY1NgorCS5sb25nCTQxMDM2MDc3NgorCS5sb25nCTEwNzE2NzkzMDEKKwkubG9uZwkxMjY5OTkwNjU1CisJLmxvbmcJMTAxMTk3NTg3MAorCS5sb25nCTcwMjQxMjUxMAorCS5sb25nCTEwNzE2NzM0NTEKKwkubG9uZwkzODAzMjY2MDg3CisJLmxvbmcJMzE2MjI4MDQxNQorCS5sb25nCTM1NDE0MDI5OTYKKwkubG9uZwkxMDcxNjY3NjMyCisJLmxvbmcJMjc1OTE3NzMxNworCS5sb25nCTEwMTQ4NTQ2MjYKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MTY2MTg0NQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjI1NDY5NzIKKwkubG9uZwkxMDQ4MDE5MDQxCisJLmxvbmcJMTA3MTY1NjA5MAorCS5sb25nCTEzOTg0NzQ4NDUKKwkubG9uZwkzMTYwNTEwNTk1CisJLmxvbmcJMjg1MTgxMjE0OQorCS5sb25nCTEwNzE2NTAzNjUKKwkubG9uZwkyNTk1ODAyNTUxCisJLmxvbmcJMTAxNTc2NzMzNworCS50eXBlCVQyX25lZ19mLEBvYmplY3QKKwkuc2l6ZQlUMl9uZWdfZiwyMDQ4CisJLmFsaWduIDE2CitwdjoKKwkubG9uZwkzMjk4MDUwNjQKKwkubG9uZwkxMDM4NDg4MTM0CisJLmxvbmcJMjc3MzkyNzczMAorCS5sb25nCTEwNTMyMzY3MDcKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY1NDIzMTIxCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjk4OTcwNDUKKwkubG9uZwkxNzQ0MTI3MjAxCisJLmxvbmcJMTA0NjE0NDU4MQorCS5sb25nCTQzNjMxNDEzNworCS5sb25nCTEwNTk3MTc1MzYKKwkudHlwZQlwdixAb2JqZWN0CisJLnNpemUJcHYsNDgKKwkuYWxpZ24gMTYKK01BU0szOgorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3MjgwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODAKKwkudHlwZQlNQVNLMyxAb2JqZWN0CisJLnNpemUJTUFTSzMsMTYKKwkuYWxpZ24gOAorSEFMRk1BU0s6CisJLmxvbmcJNDE2MDc0OTU2OAorCS5sb25nCTIxNDc0ODM2NDcKKwkudHlwZQlIQUxGTUFTSyxAb2JqZWN0CisJLnNpemUJSEFMRk1BU0ssOAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorLy8gLS0gQmVnaW4gRFdBUkYyIFNFR01FTlQgLmVoX2ZyYW1lCisJLnNlY3Rpb24gLmVoX2ZyYW1lLCJhIixAcHJvZ2JpdHMKKy5laF9mcmFtZV9zZWc6CisJLmFsaWduIDEKKwkuNGJ5dGUgMHgwMDAwMDAxNAorCS44Ynl0ZSAweDAwNTI3YTAxMDAwMDAwMDAKKwkuOGJ5dGUgMHgwODA3MGMxYjAxMTA3ODAxCisJLjRieXRlIDB4MDAwMDAxOTAKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3NpbmguMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3NpbmguNS0uLl9fX3RhZ192YWx1ZV9zaW5oLjEKKwkuMmJ5dGUgMHgwNDAwCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3NpbmguMy0uLl9fX3RhZ192YWx1ZV9zaW5oLjEKKwkuMmJ5dGUgMHgxMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9zaW5oLjQtLi5fX190YWdfdmFsdWVfc2luaC4zCisJLjJieXRlIDB4MDgwZQorCS5ieXRlIDB4MDAKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9mbG9vci5TIGIvbGlibS94ODZfNjQvZmxvb3IuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzgwZTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvZmxvb3IuUwpAQCAtMCwwICsxLDM2IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKGZsb29yKQorcm91bmRzZCAkMHgxLCV4bW0wLCV4bW0wCityZXRxCitFTkQoZmxvb3IpCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9mbG9vcmYuUyBiL2xpYm0veDg2XzY0L2Zsb29yZi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMmY5YzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9mbG9vcmYuUwpAQCAtMCwwICsxLDM2IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKGZsb29yZikKK3JvdW5kc3MgJDB4MSwleG1tMCwleG1tMAorcmV0cQorRU5EKGZsb29yZikKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L3NfYXRhbi5TIGIvbGlibS94ODZfNjQvc19hdGFuLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ1M2UxMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2XzY0L3NfYXRhbi5TCkBAIC0wLDAgKzEsOTI3IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiB1c2VzIHRoZSBtYWluIHBhdGggZm9yIHx4fCBpbiBbMl57LTV9LDJeNjUpLgorLy8gRm9yIHx4fCBpbiBbMl57LTY0fSwyXnstNX0pLCBhIHNlY29uZGFyeSBwYXRoIGlzIHVzZWQuCisvLyBGb3IgdGhlIGJpYXNlZCBleHBvbmVudCBvZiBYIHdpdGhpbiAzRkZILTY0IGFuZCAzRkYrNjQsIHdlIHVzZSBvbmUgYnJhbmNoLgorLy8gV2UgdXNlIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbiBvZiBCIGFuZCBYYCBzbyB0aGF0IHRoZSBmb3JtdWxhCisvLyBhdGFuKFgpID0gVGF1ICsgYXRhbiggKFhgLUIpIC8gKE9uZSArIEJYKSApIGlzIGNvcnJlY3QKKy8vCisvLyBYID0gKC0xKV5zICogMl5rICogMS4geDEgeDIgLi4uIHg1MgorLy8KKy8vIERlZmluZSBYYCAgPSAwIGlmIGsgPj0gNTsgYW5kIFhgICA9IHxYfCBvdGhlcndpc2UKKy8vIERlZmluZSBPbmUgPSAwIGlmIGsgPj0gNTsgYW5kIE9uZSA9IDEgb3RoZXJ3aXNlCisvLyBEZWZpbmUgQiAgPSAwIGlmIGsgPD0gLTY7IEIgPSAgMl5rICogMS54MSB4MiB4MyB4NCAxICBpZiAtNSA8PSBrIDw9IDQKKy8vIERlZmluZSBCICA9ICAyXjUgKiAxLjAgMCAuLi4gMCAgIGlmICBrID49IDUKKy8vCisvLyBUYXUgaXMgMCBpZiBrIDw9IC02OworLy8gVGF1IGlzIGF0YW4oIEIgKSAgaWYgLTUgPD0gayA8PSA0CisvLyBUYXUgaXMgcGkvMiBpZiBrID49IDUKKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIGF0YW4oTmFOKSA9IHF1aWV0IE5hTgorLy8gIGF0YW4oKy8tSU5GKSA9ICsvLVBpLzIKKy8vICBhdGFuKCsvLTApID0gKy8tMAorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIGF0YW4KK0VOVFJZKGF0YW4pCisjIHBhcmFtZXRlciAxOiAleG1tMAorLi5CMS4xOgorLi5fX190YWdfdmFsdWVfYXRhbi4xOgorICAgICAgICBwdXNocSAgICAgJXJzaQorLi5fX190YWdfdmFsdWVfYXRhbi4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsICglcnNwKQorLi5CMS4yOgorICAgICAgICBtb3ZxICAgICAgJDB4ZmZmZjAwMDAwMDAwMDAwMCwgJXI4CisgICAgICAgIG1vdmQgICAgICAlcjgsICV4bW0zCisgICAgICAgIG1vdnEgICAgICBPTkVNQVNLKCVyaXApLCAleG1tNQorICAgICAgICBtb3ZxICAgICAgJDB4ODAwMDAwMDAwMDAwLCAlcjkKKyAgICAgICAgbW92ZCAgICAgICVyOSwgJXhtbTQKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVkeAorICAgICAgICBhbmRwZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMQorICAgICAgICBvcnBkICAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIG1vdmwgICAgICAlZWR4LCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlZHgKKyAgICAgICAgc3VibCAgICAgICQxNjI4OCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDE1OSwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjEKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgZGl2c2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBhZGRsICAgICAgJDEsICVlZHgKKyAgICAgICAgbW92cSAgICAgIGEyKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgYjIoJXJpcCksICV4bW00CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW03CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIGxlYSAgICAgICBhdGFuX3RibCglcmlwKSwgJXI4CisgICAgICAgIG1vdnEgICAgICAoJXI4LCVyZHgsOCksICV4bW02CisgICAgICAgIG1vdnEgICAgICA4KCVyOCwlcmR4LDgpLCAleG1tNQorICAgICAgICB4b3JwZCAgICAgJXhtbTcsICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tNywgJXhtbTYKKyAgICAgICAgbW92cSAgICAgIDgrYTIoJXJpcCksICV4bW03CisgICAgICAgIG1vdmRkdXAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZkZHVwICAgJXhtbTEsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGFkZHNkICAgICA4K2IyKCVyaXApLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorLkxfMlRBR19QQUNLRVRfMC4wLjE6CisgICAgICAgIGFkZGwgICAgICAkOTQ0LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMTEwMywgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjEKKyAgICAgICAgbW92cSAgICAgIGEyKCVyaXApLCAleG1tNAorICAgICAgICBtb3ZxICAgICAgYjIoJXJpcCksICV4bW03CisgICAgICAgIG1vdnEgICAgICAoJXJzcCksICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIDgrYTIoJXJpcCksICV4bW0yCisgICAgICAgIG1vdnEgICAgICA4K2IyKCVyaXApLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorLkxfMlRBR19QQUNLRVRfMi4wLjE6CisgICAgICAgIGFkZGwgICAgICAkMTUzNDQsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgbW92cSAgICAgICglcnNwKSwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICglcnNwKSwgJXhtbTEKKyAgICAgICAgY21wbCAgICAgICQxNiwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjEKKy5MXzJUQUdfUEFDS0VUXzMuMC4xOgorICAgICAgICBjbXBsICAgICAgJDE3MzkyLCAlZWR4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMQorICAgICAgICBtb3ZxICAgICAgJDB4YmZmMDAwMDAwMDAwMDAwMCwgJXI4CisgICAgICAgIG1vdmQgICAgICAlcjgsICV4bW0xCisgICAgICAgIGRpdnNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIGEyKCVyaXApLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgYjIoJXJpcCksICV4bW00CisgICAgICAgIGFuZGwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNworICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW03CisgICAgICAgIGFkZGwgICAgICAlZWR4LCAlZWR4CisgICAgICAgIG1vdnEgICAgICBwaV90YWJsZSglcmlwKSwgJXhtbTYKKyAgICAgICAgbW92cSAgICAgIDgrcGlfdGFibGUoJXJpcCksICV4bW01CisgICAgICAgIHhvcnBkICAgICAleG1tNywgJXhtbTUKKyAgICAgICAgeG9ycGQgICAgICV4bW03LCAleG1tNgorICAgICAgICBtb3ZxICAgICAgOCthMiglcmlwKSwgJXhtbTcKKyAgICAgICAgbW92ZGR1cCAgICV4bW0xLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIG1vdmRkdXAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgIDgrYjIoJXJpcCksICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4xCisuTF8yVEFHX1BBQ0tFVF80LjAuMToKKyAgICAgICAgbW92cSAgICAgICglcnNwKSwgJXhtbTQKKyAgICAgICAgbW92cSAgICAgIFNHTk1BU0soJXJpcCksICV4bW0wCisgICAgICAgIG1vdnEgICAgICBwaV90YWJsZSglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgIDgrcGlfdGFibGUoJXJpcCksICV4bW0zCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVheAorICAgICAgICBwc3JscSAgICAgJDMyLCAleG1tMQorICAgICAgICBtb3ZkICAgICAgJXhtbTEsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWR4CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjEKKy5MXzJUQUdfUEFDS0VUXzYuMC4xOgorICAgICAgICBhbmRucGQgICAgJXhtbTQsICV4bW0wCisgICAgICAgIG9ycGQgICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgb3JwZCAgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorLkxfMlRBR19QQUNLRVRfNS4wLjE6CisgICAgICAgIHN1YmwgICAgICAkMjE0NjQzNTA3MiwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVkeCwgJWVheAorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4xCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorLkxfMlRBR19QQUNLRVRfMS4wLjE6CisuLkIxLjM6CisgICAgICAgIHBvcHEgICAgICAlcmN4CisuLl9fX3RhZ192YWx1ZV9hdGFuLjQ6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2F0YW4uNToKK0VORChhdGFuKQorIyAtLSBFbmQgIGF0YW4KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gNAorCS5hbGlnbiA0CitPTkVNQVNLOgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLnR5cGUJT05FTUFTSyxAb2JqZWN0CisJLnNpemUJT05FTUFTSyw4CisJLmFsaWduIDQKK2EyOgorCS5sb25nCTIwMDYyNjI5ODUKKwkubG9uZwkxMDY5MzEwODYzCisJLmxvbmcJMjM1ODQ0OTQ3MQorCS5sb25nCTMyMTczNDIxMzEKKwkudHlwZQlhMixAb2JqZWN0CisJLnNpemUJYTIsMTYKKwkuYWxpZ24gNAorYjI6CisJLmxvbmcJMzg0NTQ1NDM1MgorCS5sb25nCTEwNjk5NTIyOTcKKwkubG9uZwkyODI5Njc5MTQ5CisJLmxvbmcJMTA3Mzc3MTU2NQorCS50eXBlCWIyLEBvYmplY3QKKwkuc2l6ZQliMiwxNgorCS5hbGlnbiA0CithdGFuX3RibDoKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzgxOTY5NTc0MgorCS5sb25nCTEwNjc0ODI3NjEKKwkubG9uZwkyMzk4NjgwMzU1CisJLmxvbmcJMzE1NTQ2MjA3NAorCS5sb25nCTI5OTg3OTEwMDkKKwkubG9uZwkxMDY3NTQ4MjI1CisJLmxvbmcJMzg2ODQ2NTI0OAorCS5sb25nCTMxNTcxODI0NzIKKwkubG9uZwkzMzM5NDI0OTkxCisJLmxvbmcJMTA2NzYxMzY4MAorCS5sb25nCTMyOTY2NzAzNjAKKwkubG9uZwkxMDEwNzUyNTQzCisJLmxvbmcJMjcxMDAwMjI1NgorCS5sb25nCTEwNjc2NzkxMjYKKwkubG9uZwkzNDAzODk2MDA3CisJLmxvbmcJMTAxMDkxMDc2OAorCS5sb25nCTMyNzU3MDE0MjgKKwkubG9uZwkxMDY3NzQ0NTYyCisJLmxvbmcJMTE5OTU5OTMzCisJLmxvbmcJMTAxMTQ4Mjg0MworCS5sb25nCTI5MDg2MzY4ODEKKwkubG9uZwkxMDY3ODA5OTg4CisJLmxvbmcJMjQ2NDQ4OTYxMgorCS5sb25nCTEwMTE1NDU1MjYKKwkubG9uZwkzNzc3ODg5Mzk4CisJLmxvbmcJMTA2Nzg3NTQwMworCS5sb25nCTMyNjI2ODIxNjUKKwkubG9uZwkxMDA5NzAzOTE5CisJLmxvbmcJMzc1OTY2NzQxOQorCS5sb25nCTEwNjc5NDA4MDcKKwkubG9uZwkxODM4MTMwODUxCisJLmxvbmcJMzE1NzM3MzU1NgorCS5sb25nCTczMjM2OTk0MAorCS5sb25nCTEwNjgwMDYyMDAKKwkubG9uZwkxMjAzNDI4MzEzCisJLmxvbmcJMTAxMDA1NTM3MQorCS5sb25nCTExNjY2MTY0NjEKKwkubG9uZwkxMDY4MDcxNTgwCisJLmxvbmcJMjkwMTI3NDA1MQorCS5sb25nCTMxNTg1NDk5NzcKKwkubG9uZwkyOTQ1NDcyODkyCisJLmxvbmcJMTA2ODEzNjk0NworCS5sb25nCTM3MjYxMjA2NTgKKwkubG9uZwkxMDA5NzYyNzE1CisJLmxvbmcJMzk1NDQ4MDk3NgorCS5sb25nCTEwNjgyMDIzMDEKKwkubG9uZwkxMjg5MTczNDU3CisJLmxvbmcJMTAwOTQyOTg2MQorCS5sb25nCTIwODE3NTI4MjkKKwkubG9uZwkxMDY4MjY3NjQyCisJLmxvbmcJMTgzNjkwOTg3NAorCS5sb25nCTEwMDYyMTIwOTUKKwkubG9uZwkzODA3OTk5Nzg4CisJLmxvbmcJMTA2ODMzMjk2OAorCS5sb25nCTIxNzI0NTk5NDAKKwkubG9uZwkzMTU2MTYyMDc4CisJLmxvbmcJMjczMTc4OTg4NAorCS5sb25nCTEwNjgzOTgyODAKKwkubG9uZwkzNDUwNzE4MzkyCisJLmxvbmcJMzE1OTIxNjU0NworCS5sb25nCTEwNDQ0Nzc5NjEKKwkubG9uZwkxMDY4NDYzNTc3CisJLmxvbmcJMjIzMDU1MzIyOQorCS5sb25nCTEwMTE0MjQzMzkKKwkubG9uZwkxNDg2OTMwMjg3CisJLmxvbmcJMTA2ODUzMDIxOAorCS5sb25nCTI4NjE1NDc0NzQKKwkubG9uZwkxMDEyMDQxMzc2CisJLmxvbmcJMjI5MzAxNjg4MQorCS5sb25nCTEwNjg1OTU0NjYKKwkubG9uZwkxMzY4NDMyNzIKKwkubG9uZwkxMDEyNjg0Nzk3CisJLmxvbmcJMjAxNTE4MTU3CisJLmxvbmcJMTA2ODY2MDY4MAorCS5sb25nCTYzMjMxOTg0CisJLmxvbmcJMTAxMjQyNzE5OAorCS5sb25nCTQwNTQyMzQ1ODQKKwkubG9uZwkxMDY4NzI1ODU2CisJLmxvbmcJMzkyNzAwNjk2MAorCS5sb25nCTEwMTE4Nzg5NTUKKwkubG9uZwkxMjQ2NDc3MjEzCisJLmxvbmcJMTA2ODc5MDk5NQorCS5sb25nCTE0OTQyNjU2NTIKKwkubG9uZwkzMTU1MjE5MzUwCisJLmxvbmcJNjc4MTg2Njk5CisJLmxvbmcJMTA2ODg1NjA5MworCS5sb25nCTEyNjQzNjE0MjQKKwkubG9uZwkzMTU5MjU2NjkzCisJLmxvbmcJMjY5MDU5NDk5NQorCS5sb25nCTEwNjg5MjExNDgKKwkubG9uZwkzOTA2OTk2Mzc5CisJLmxvbmcJMTAwOTI4ODI2NworCS5sb25nCTMzNjI2MTE1MTcKKwkubG9uZwkxMDY4OTg2MTU5CisJLmxvbmcJMTY1MDk3MDA0MQorCS5sb25nCTMxNTgzMzE3NzEKKwkubG9uZwkzMTAyMTYyMTExCisJLmxvbmcJMTA2OTA1MTEyNAorCS5sb25nCTM2NTkxNzAzNQorCS5sb25nCTMxNjAyNjQxNTMKKwkubG9uZwkyMzUyNjExMDY3CisJLmxvbmcJMTA2OTExNjA0MQorCS5sb25nCTQwMDg5NzAxOTAKKwkubG9uZwkzMTU5NDc4MTgyCisJLmxvbmcJMTU5NDEzNDc5NAorCS5sb25nCTEwNjkxODA5MDgKKwkubG9uZwk0NjY2OTAxNzgKKwkubG9uZwkxMDEyNTI2NTAxCisJLmxvbmcJMTM0NTA3OTMwNgorCS5sb25nCTEwNjkyNDU3MjMKKwkubG9uZwkyMjY4MjczNTY4CisJLmxvbmcJMzE2MDE2NDA5MgorCS5sb25nCTIxNjMzMDA5NzAKKwkubG9uZwkxMDY5MzEwNDg0CisJLmxvbmcJMjc1MDgzNDgwMAorCS5sb25nCTMxNTgxMTM0ODIKKwkubG9uZwkzNTI1MjI3MTYKKwkubG9uZwkxMDY5Mzc1MTkwCisJLmxvbmcJMTc1MDQxMTM3MgorCS5sb25nCTEwMTE3OTA4NDUKKwkubG9uZwk4NDg1NDE2NDcKKwkubG9uZwkxMDY5NDM5ODM4CisJLmxvbmcJMjE2NDIwNzU3MworCS5sb25nCTEwMTE2OTgzNTAKKwkubG9uZwk0MDY0NzMxMgorCS5sb25nCTEwNjk1MDQ0MjcKKwkubG9uZwkyOTQ5MTY1NDM0CisJLmxvbmcJMzE1OTEwNzI2NworCS5sb25nCTIyMTY3NjYyNzAKKwkubG9uZwkxMDY5NTc0MzU3CisJLmxvbmcJMjE5NzkyMDc2NQorCS5sb25nCTMxNjEwNTU5NTQKKwkubG9uZwkxMDkwOTE0Mzg0CisJLmxvbmcJMTA2OTYzODc1NworCS5sb25nCTIzMzA0NTQ2NzQKKwkubG9uZwkxMDEzMzY1OTk4CisJLmxvbmcJMzg3NjAxMjQ0CisJLmxvbmcJMTA2OTcwMzAyMgorCS5sb25nCTMxODU2ODExNjgKKwkubG9uZwkxMDEzNDM0MDcxCisJLmxvbmcJMzk5MTY0MDQ4NAorCS5sb25nCTEwNjk3NjcxNDQKKwkubG9uZwkxMzEzMjExNTkwCisJLmxvbmcJMzE2MTA4Nzk1OQorCS5sb25nCTMzMjI0ODk1MDIKKwkubG9uZwkxMDY5ODMxMTE4CisJLmxvbmcJMzAxMzk3Nzk5NQorCS5sb25nCTEwMTMwNTMwMTEKKwkubG9uZwkzMTIxNjk4NTcwCisJLmxvbmcJMTA2OTg5NDkzNgorCS5sb25nCTQwNjkwMTU2NjcKKwkubG9uZwkxMDEzMDIzMzYyCisJLmxvbmcJNDI4OTk2NDY2MAorCS5sb25nCTEwNjk5NTg1OTEKKwkubG9uZwkxNzM2MTkxMTU2CisJLmxvbmcJMzE1ODI2NjczMQorCS5sb25nCTM5MDMzMTIzODYKKwkubG9uZwkxMDcwMDIyMDc3CisJLmxvbmcJMTgzMzU5MjQxMworCS5sb25nCTMxNTk3MzE0NzEKKwkubG9uZwkzODE4NDQ5ODY0CisJLmxvbmcJMTA3MDA4NTM4NworCS5sb25nCTg1MTAzNjQyOQorCS5sb25nCTMxNTk3MzA0NTEKKwkubG9uZwkyMDk3NDgwMzA2CisJLmxvbmcJMTA3MDE0ODUxNQorCS5sb25nCTM1MDYzOTA4ODQKKwkubG9uZwkzMTYwNDYyMzAyCisJLmxvbmcJMTYxMTY5NDUwMgorCS5sb25nCTEwNzAyMTE0NTQKKwkubG9uZwkyNzg1NzM1NTQwCisJLmxvbmcJMzE2MDQ2NTE0NAorCS5sb25nCTE0NjQ2OTQ3OTYKKwkubG9uZwkxMDcwMjc0MTk4CisJLmxvbmcJNDIyOTI3NzI5OQorCS5sb25nCTMxNTk5MDcwMDAKKwkubG9uZwkxMjk5NjEyNzc1CisJLmxvbmcJMTA3MDMzNjc0MQorCS5sb25nCTQxMTY2NTM3ODgKKwkubG9uZwkzMTYwNDI3NzM5CisJLmxvbmcJMTMxMDU0NDc4OQorCS5sb25nCTEwNzAzOTkwNzcKKwkubG9uZwkxMDY0NDMwMzMxCisJLmxvbmcJMTAxMzIxODIwMgorCS5sb25nCTIyNTMxNjgwMzAKKwkubG9uZwkxMDcwNDYxMjAwCisJLmxvbmcJMTQwNTA0NDYwOQorCS5sb25nCTMxNTc2MjMxNzkKKwkubG9uZwkxMTU5NTY3MzczCisJLmxvbmcJMTA3MDUyMzEwNQorCS5sb25nCTIzNTM0NDU1MjEKKwkubG9uZwkzMTU5OTkyMTc2CisJLmxvbmcJMTM1OTM3Mzc1MAorCS5sb25nCTEwNzA2MDU4MTgKKwkubG9uZwkxNzQ4MTcxMzM2CisJLmxvbmcJMzE2MTg3OTI2MworCS5sb25nCTkwODM0MTcwNgorCS5sb25nCTEwNzA2NjcwMzQKKwkubG9uZwkzMzcyNzEwODE1CisJLmxvbmcJMzE2MTc3NTI0NQorCS5sb25nCTE3NDMwMjczNTAKKwkubG9uZwkxMDcwNzI3NzY1CisJLmxvbmcJNjg3MDg5OTM0CisJLmxvbmcJMzE2MDUwNzE3MQorCS5sb25nCTIwNTUzNTU2NDYKKwkubG9uZwkxMDcwNzg3OTkyCisJLmxvbmcJMjM5Mjg1NTI0MgorCS5sb25nCTEwMTM2ODI0NjkKKwkubG9uZwk2OTA0MjYxNjQKKwkubG9uZwkxMDcwODQ3Njk3CisJLmxvbmcJMTEwMzkyNjY2NgorCS5sb25nCTEwMTQwNTI4MTAKKwkubG9uZwkxNDgzMjQ3ODQ3CisJLmxvbmcJMTA3MDkwNjg2MgorCS5sb25nCTIwODI2NDU4NDcKKwkubG9uZwkzMTYxMzQ1NDc5CisJLmxvbmcJMzkyMDQwMjcwCisJLmxvbmcJMTA3MDk2NTQ3MgorCS5sb25nCTI0MDc3MjAwMjMKKwkubG9uZwkxMDE0MDUzNzU0CisJLmxvbmcJMjY3Mzg0NjAxNAorCS5sb25nCTEwNzEwMjM1MTEKKwkubG9uZwkxMjkzNjA1NTMyCisJLmxvbmcJMzE1ODQ2NDM4NQorCS5sb25nCTEzODQyMTU4MTAKKwkubG9uZwkxMDcxMDgwOTY3CisJLmxvbmcJMjQ0NjA5NTg3MgorCS5sb25nCTMxNTkyMTY0MDcKKwkubG9uZwkzMTAxNjYwNjMxCisJLmxvbmcJMTA3MTEzNzgyNgorCS5sb25nCTY5ODA0MDc1OAorCS5sb25nCTEwMTQ4NTUzMjgKKwkubG9uZwkyMDk0MDU3MDU4CisJLmxvbmcJMTA3MTE5NDA3OAorCS5sb25nCTIyODIwNDgzMzkKKwkubG9uZwkxMDE0MDQwMzg1CisJLmxvbmcJMTcxMjc1MDU5NAorCS5sb25nCTEwNzEyNDk3MTIKKwkubG9uZwkxMjA0MzcyMzc4CisJLmxvbmcJMzE2MjI3NjQ2NAorCS5sb25nCTE0MTE1MTU3ODcKKwkubG9uZwkxMDcxMzA0NzE5CisJLmxvbmcJOTQ5MDgwODA4CisJLmxvbmcJMTAxNTAwNjQwMworCS5sb25nCTkzMTUzODA4NQorCS5sb25nCTEwNzEzNTkwOTEKKwkubG9uZwkzMDI3MTI3MDM5CisJLmxvbmcJMTAxNDMwNzIzMworCS5sb25nCTE3OTEzOTA2NQorCS5sb25nCTEwNzE0MTI4MjEKKwkubG9uZwk0Mjg1NTQ3NDkyCisJLmxvbmcJMzE2MTkzNDczMQorCS5sb25nCTMzODc3MjEyNTkKKwkubG9uZwkxMDcxNDY1OTAyCisJLmxvbmcJMzczMjI1NzczCisJLmxvbmcJMTAxMzQ4NjYyNQorCS5sb25nCTIxMzIyMzY4NTIKKwkubG9uZwkxMDcxNTQ0Mjk5CisJLmxvbmcJMzI1MDUzMzQyOQorCS5sb25nCTEwMTQwMzE2NzcKKwkubG9uZwkxOTQyMDcwMjg0CisJLmxvbmcJMTA3MTY0NTU5NgorCS5sb25nCTEyMzc5NjQxNzkKKwkubG9uZwkzMTYzMjM5MTEzCisJLmxvbmcJMTUzMjcwNzgwMgorCS5sb25nCTEwNzE2OTUzODAKKwkubG9uZwkzMzA2NDU1ODMKKwkubG9uZwkxMDEyNDk1NjEwCisJLmxvbmcJMjI5NDE4NDk3OQorCS5sb25nCTEwNzE3NDM4MzQKKwkubG9uZwkzOTU5NDcyODk3CisJLmxvbmcJMTAxNTgzMzExNgorCS5sb25nCTM4MDUwNjA3MTQKKwkubG9uZwkxMDcxNzkwOTYxCisJLmxvbmcJMjY3MTI1NjE0MgorCS5sb25nCTEwMTM3Mjc3NzIKKwkubG9uZwkyMjE1MDM3ODk4CisJLmxvbmcJMTA3MTgzNjc3MAorCS5sb25nCTI2ODMzNTkxMTcKKwkubG9uZwkxMDE1ODMxOTAyCisJLmxvbmcJNDgzNjYxNTk0CisJLmxvbmcJMTA3MTg4MTI3MworCS5sb25nCTgzNjI4ODMyNgorCS5sb25nCTMxNjI2NDg2NDMKKwkubG9uZwkxNTM0Njc5ODk0CisJLmxvbmcJMTA3MTkyNDQ4NgorCS5sb25nCTM3MzI1ODY5NgorCS5sb25nCTMxNjI0NzAwOTYKKwkubG9uZwkxNTM4NzE0NjI4CisJLmxvbmcJMTA3MTk2NjQzMAorCS5sb25nCTMxOTk0MzMwNjgKKwkubG9uZwkxMDE1MzI1NTAxCisJLmxvbmcJNTI3NjQyNTU1CisJLmxvbmcJMTA3MjAwNzEyOAorCS5sb25nCTM2MzY4MzI1OTIKKwkubG9uZwkzMTYxODQzMTQ1CisJLmxvbmcJMjkxMzM5MTUwCisJLmxvbmcJMTA3MjA0NjYwNQorCS5sb25nCTg5MDE2OTUzNworCS5sb25nCTMxNjA1ODYxMTcKKwkubG9uZwkyNDUwMjEwMjAxCisJLmxvbmcJMTA3MjA4NDg4OAorCS5sb25nCTE2MzYzNTMyOTQKKwkubG9uZwkzMTYzMTkzNDAwCisJLmxvbmcJMjQxMTM2Nzk1MQorCS5sb25nCTEwNzIxMjIwMDcKKwkubG9uZwkzNzQ4OTk4NzMKKwkubG9uZwkxMDExMzMxNzUwCisJLmxvbmcJNjgxNTQ5OTcxCisJLmxvbmcJMTA3MjE1Nzk5MgorCS5sb25nCTUwNjQxMTY4OQorCS5sb25nCTEwMTUzNzM5NTQKKwkubG9uZwkxNDY2NzQ1NTQxCisJLmxvbmcJMTA3MjE5Mjg3MworCS5sb25nCTIxNDM4NjA5MzEKKwkubG9uZwkxMDEzMzY0MzM0CisJLmxvbmcJMjg0NTYyMjM2NgorCS5sb25nCTEwNzIyMjY2ODIKKwkubG9uZwkyODY5MTc4MjA5CisJLmxvbmcJMzE2MjQyMzY4MgorCS5sb25nCTI4Mzg4NzE0MzgKKwkubG9uZwkxMDcyMjc1NDU2CisJLmxvbmcJMzc0MjIyMzU5OQorCS5sb25nCTEwMTQzMzg1NzcKKwkubG9uZwk0MjAwMjc1Mjc0CisJLmxvbmcJMTA3MjMzNzAzNAorCS5sb25nCTE1NjY1Mzk5MTUKKwkubG9uZwkzMTYxODM5NTUwCisJLmxvbmcJMzAzNDczMzUzMAorCS5sb25nCTEwNzIzOTQ4OTcKKwkubG9uZwk2NTI2MjE0MDgKKwkubG9uZwkzMTYyMjYxOTY0CisJLmxvbmcJMzIwNzQxMjk5MworCS5sb25nCTEwNzI0NDkyOTAKKwkubG9uZwkzMjA2MTI0NjY1CisJLmxvbmcJMTAxNDQwODczMworCS5sb25nCTYyNDQ2MTQ3OAorCS5sb25nCTEwNzI1MDA0NTAKKwkubG9uZwk5MzI0Mzc0ODUKKwkubG9uZwkxMDE1MjA0MzQzCisJLmxvbmcJNzY3NjY1OTA4CisJLmxvbmcJMTA3MjU0ODYwMAorCS5sb25nCTEwMzc5MTE5NTIKKwkubG9uZwkzMTYzNTI3NjI3CisJLmxvbmcJMTExMDc3MzYzOQorCS5sb25nCTEwNzI1OTM5NTIKKwkubG9uZwkyMzcxNTE3OTEyCisJLmxvbmcJMzE2MDQ2NTc0MQorCS5sb25nCTE5NDA4Mjg1MzAKKwkubG9uZwkxMDcyNjM2NzA0CisJLmxvbmcJMjczMTQwODQyOAorCS5sb25nCTMxNjI4OTU3OTUKKwkubG9uZwkxOTExMzI5Mzg4CisJLmxvbmcJMTA3MjY3NzA0MQorCS5sb25nCTE3NzMwODk2MTUKKwkubG9uZwkzMTU5NTY5MjY3CisJLmxvbmcJMTc2NDcxNTc4OAorCS5sb25nCTEwNzI3MDQxOTEKKwkubG9uZwk2OTEzNDY5NDkKKwkubG9uZwkzMTY0MDY5OTQ2CisJLmxvbmcJMzMzMjk3OTIzMworCS5sb25nCTEwNzI3MjIxOTUKKwkubG9uZwkzNTUwNzMzOTgzCisJLmxvbmcJMTAxNDc3MDYyOAorCS5sb25nCTEzMjE4NzAyNTQKKwkubG9uZwkxMDcyNzM5MjMxCisJLmxvbmcJMTQxNTMxNTgyMAorCS5sb25nCTEwMTYyMjQwNTIKKwkubG9uZwkzNjU3NDI5MDMwCisJLmxvbmcJMTA3Mjc1NTM2NQorCS5sb25nCTM5MTA1MzkwMzMKKwkubG9uZwkxMDE1OTY2NDAyCisJLmxvbmcJNDE5NzYyNDU1NworCS5sb25nCTEwNzI3NzA2NjEKKwkubG9uZwkyMzMzMzk5MjU0CisJLmxvbmcJMzE2NDU0NjQ4MAorCS5sb25nCTE1MTIwNTk0OTMKKwkubG9uZwkxMDcyNzg1MTc3CisJLmxvbmcJMjcwMTUxMDMxOAorCS5sb25nCTEwMTYxNzgwOTIKKwkubG9uZwk0NTMzNzkwMzcKKwkubG9uZwkxMDcyNzk4OTY1CisJLmxvbmcJNDA0NjM0NDI1MworCS5sb25nCTMxNjI4MTQzNjQKKwkubG9uZwkxOTQyMzQ1MTYyCisJLmxvbmcJMTA3MjgxODM4OAorCS5sb25nCTYyMTEzNDE0NworCS5sb25nCTEwMTYzMzUxOTUKKwkubG9uZwk0MjEwMTc2MjczCisJLmxvbmcJMTA3Mjg0MjE2NAorCS5sb25nCTI3MDEwMTMzODcKKwkubG9uZwkzMTY0MzI2NjE5CisJLmxvbmcJNDE4NTY0NDAxMAorCS5sb25nCTEwNzI4NjM3OTUKKwkubG9uZwk0MTYzNjk5MzQxCisJLmxvbmcJMTAxNjIwMzExMgorCS5sb25nCTY3OTY4ODc4OAorCS5sb25nCTEwNzI4ODM1NDMKKwkubG9uZwk0MTQ3Mjc2NzYyCisJLmxvbmcJMTAxNDA2Njc1MAorCS5sb25nCTI5NDMyODY1CisJLmxvbmcJMTA3MjkwMTYzMAorCS5sb25nCTk3MDQxNTc5NworCS5sb25nCTEwMTY5MDIwNjMKKwkubG9uZwk0MDcwNzIxMDkyCisJLmxvbmcJMTA3MjkxODI0NworCS5sb25nCTI1MzkwMDQ0MTEKKwkubG9uZwkzMTYzNzM2MDk2CisJLmxvbmcJMjI1MjQ2ODg0MworCS5sb25nCTEwNzI5MzM1NjEKKwkubG9uZwkzNDI0MDgyODg3CisJLmxvbmcJMzE2MzQwNzE3NworCS5sb25nCTI5Mjk3MjQ4MjUKKwkubG9uZwkxMDcyOTQ3NzEyCisJLmxvbmcJMzY2MTQ4MjIzNQorCS5sb25nCTMxNjM4NDY5ODkKKwkubG9uZwkxMzc3NTEzMzY4CisJLmxvbmcJMTA3Mjk2MDgyNAorCS5sb25nCTM5ODc5MjY2ODAKKwkubG9uZwkxMDEzNjQ3OTA4CisJLmxvbmcJMTAzMTYzMjkwOAorCS5sb25nCTEwNzI5NzMwMDMKKwkubG9uZwkzNjcyMjE3MTUxCisJLmxvbmcJMTAxNjYxNDYxOQorCS5sb25nCTI1MTY1MDgxMzAKKwkubG9uZwkxMDcyOTg0MzQyCisJLmxvbmcJNTQ1ODU1MDIwCisJLmxvbmcJMzE2MjcyODkzMAorCS5sb25nCTM3OTI0NTIxNzgKKwkubG9uZwkxMDcyOTk0OTIzCisJLmxvbmcJMzQyMDExOTQ2NworCS5sb25nCTEwMTY0NzE0MzAKKwkubG9uZwkzMTQ3NzkxNDU5CisJLmxvbmcJMTA3MzAwNDgxOAorCS5sb25nCTEzNDIyMDQ5NzkKKwkubG9uZwkxMDEzOTM3MjU0CisJLmxvbmcJOTk5MTg5NzUyCisJLmxvbmcJMTA3MzAxNDA5MAorCS5sb25nCTEwMDYzMzU0NzIKKwkubG9uZwkzMTYyODUwOTE5CisJLmxvbmcJNzExMDExMDExCisJLmxvbmcJMTA3MzAyMjc5NAorCS5sb25nCTQ2MzM0ODgKKwkubG9uZwkzMTYyOTY2ODk1CisJLmxvbmcJMTU2NDAzNjMKKwkubG9uZwkxMDczMDMwOTgwCisJLmxvbmcJMTY4NjM4OTU2MAorCS5sb25nCTMxNjQzNzYyMjYKKwkubG9uZwkxMjE4NDYzNTg5CisJLmxvbmcJMTA3MzA0MjM4MgorCS5sb25nCTE1MjY4MzcxMTAKKwkubG9uZwkzMTYzNTMzOTg1CisJLmxvbmcJMjUzODQ3MDU1NQorCS5sb25nCTEwNzMwNTYxNDQKKwkubG9uZwkyMjczMzA0NDA2CisJLmxvbmcJMzE2Mzc4NDk5NgorCS5sb25nCTEyMjk3MjA5NDcKKwkubG9uZwkxMDczMDY4NDg5CisJLmxvbmcJMjk3MTYyODIwNgorCS5sb25nCTMxNjIzNTY1NDAKKwkubG9uZwkzMTE1NDI3MDE2CisJLmxvbmcJMTA3MzA3OTYyMQorCS5sb25nCTQyMTUxMzI5NTcKKwkubG9uZwkzMTY0MjgyNzYyCisJLmxvbmcJNDAzMDYxMjU1NworCS5sb25nCTEwNzMwODk3MDkKKwkubG9uZwkxOTEzMjUxNjkxCisJLmxvbmcJMzE2MzY3MTI5MgorCS5sb25nCTI3Mjg1MjEyNTcKKwkubG9uZwkxMDczMDk4ODkyCisJLmxvbmcJMjg2MTA4OTUwMAorCS5sb25nCTEwMTU0NTQ0NTkKKwkubG9uZwkxMTE4Njk2MjgzCisJLmxvbmcJMTA3MzEwNzI4NQorCS5sb25nCTE2Mjg5NDgwNTMKKwkubG9uZwkxMDE2MTc5NjU4CisJLmxvbmcJMjY4MjcxMTI1NQorCS5sb25nCTEwNzMxMTQ5ODQKKwkubG9uZwkyOTA2MzA2MjY2CisJLmxvbmcJMTAxNDE0MjY0MworCS5sb25nCTIwNzM4OTgwODEKKwkubG9uZwkxMDczMTIyMDcyCisJLmxvbmcJMTMyMjc0MDQ1NAorCS5sb25nCTMxNjQ0OTcyMTcKKwkubG9uZwkxNDAzNzAwMjk3CisJLmxvbmcJMTA3MzEyODYxOAorCS5sb25nCTQxNjEzNzg5NQorCS5sb25nCTMxNjI3ODE0NjYKKwkubG9uZwkyNTAyNjg1NjE3CisJLmxvbmcJMTA3MzEzNDY4MQorCS5sb25nCTMyNDIwMDg3MzIKKwkubG9uZwkxMDE0NTkzNDk1CisJLmxvbmcJMTUzMTkyNjg1MQorCS5sb25nCTEwNzMxNDAzMTMKKwkubG9uZwkxMzYyNzA4MDk0CisJLmxvbmcJMTAxNjUxNzYwNAorCS5sb25nCTM1NzI4MTQ0MTEKKwkubG9uZwkxMDczMTQ1NTU3CisJLmxvbmcJMzcwOTc5MDUyNworCS5sb25nCTEwMTI2NDY4NzQKKwkubG9uZwkxNjk1NTM2MTExCisJLmxvbmcJMTA3MzE1MDQ1MworCS5sb25nCTM5ODAzNDYzNDAKKwkubG9uZwkxMDE2NzA1MTM2CisJLmxvbmcJMjM2MzA1NzIwMworCS5sb25nCTEwNzMxNTUwMzMKKwkubG9uZwkyNTUxMTk0NzkyCisJLmxvbmcJMTAxMjU2OTY5NQorCS5sb25nCTI4NzMzNjU2ODIKKwkubG9uZwkxMDczMTU5MzI3CisJLmxvbmcJMzE4MTE1NDc0OAorCS5sb25nCTEwMTcwNDE0NTAKKwkubG9uZwkxMDUzMzg0NjkxCisJLmxvbmcJMTA3MzE2NTI4OAorCS5sb25nCTMwNzQ1MzY4NzkKKwkubG9uZwkxMDE2OTY1NjYwCisJLmxvbmcJMzI3MDU0MjcxMgorCS5sb25nCTEwNzMxNzI0NTEKKwkubG9uZwkyNTM1MzE5NDE1CisJLmxvbmcJMzE2MzA1MTc3OAorCS5sb25nCTEzNTM2MzE0ODQKKwkubG9uZwkxMDczMTc4ODUwCisJLmxvbmcJMTE3MzgzMzc1NQorCS5sb25nCTEwMTU1MzQ1MzcKKwkubG9uZwkzNTExMjE4NDYwCisJLmxvbmcJMTA3MzE4NDU5OQorCS5sb25nCTEyNDM2MDgxMDkKKwkubG9uZwkzMTYxNTkyMTIyCisJLmxvbmcJNDEyMTI1OTI4NAorCS5sb25nCTEwNzMxODk3OTMKKwkubG9uZwkzOTg1ODQ5MTIKKwkubG9uZwkzMTYzODI5OTIzCisJLmxvbmcJMTE5Mzg2MjEwNgorCS5sb25nCTEwNzMxOTQ1MDkKKwkubG9uZwkxODczNzQ1NTM5CisJLmxvbmcJMzE2MzgwMjgxOQorCS5sb25nCTM4NjE5NDk3OTAKKwkubG9uZwkxMDczMTk4ODA4CisJLmxvbmcJMzg0MTI2MTE0NworCS5sb25nCTEwMTU1ODcyNDgKKwkubG9uZwkxNDg2OTA0NTc4CisJLmxvbmcJMTA3MzIwMjc0NQorCS5sb25nCTE2MzQ3MjY3NzYKKwkubG9uZwkzMTYzODQ3ODg2CisJLmxvbmcJMjg3OTE1MzcxNQorCS5sb25nCTEwNzMyMDYzNjIKKwkubG9uZwkyMDA0NTYyNDIKKwkubG9uZwkzMTY0MTM4NjU3CisJLmxvbmcJMzg1MzUzMjUzCisJLmxvbmcJMTA3MzIwOTY5OAorCS5sb25nCTExODYzNTU1MTcKKwkubG9uZwkxMDE0ODg3MTU1CisJLmxvbmcJMTEyNTg2NTgzOQorCS5sb25nCTEwNzMyMTI3ODMKKwkubG9uZwkyMDM1NjEyNjIKKwkubG9uZwkzMTYxMjQ0OTI3CisJLmxvbmcJMTIyMTM2MTQ3NQorCS5sb25nCTEwNzMyMTU2NDUKKwkubG9uZwkzMzgyNDc2NTYzCisJLmxvbmcJMTAxNDkzNjEzOAorCS5sb25nCTIwNzczMjM1NzMKKwkubG9uZwkxMDczMjE4MzA3CisJLmxvbmcJMTAwNTEyMTAwNQorCS5sb25nCTMxNjQ0MzA3NTIKKwkubG9uZwkyMTU2MTEzNzMKKwkubG9uZwkxMDczMjIwNzkwCisJLmxvbmcJMzUzMTk4NzY0CisJLmxvbmcJMzE2NDQ4NTEzNworCS5sb25nCTIzNDc0MTkyNjUKKwkubG9uZwkxMDczMjIzMTEwCisJLmxvbmcJMTEwMzE0MzM2MAorCS5sb25nCTEwMTY1NDIxMzcKKwkubG9uZwkxMzc5MTEyNzY1CisJLmxvbmcJMTA3MzIyNTI4NAorCS5sb25nCTM4MTU4MzUzMworCS5sb25nCTMxNjI4NzA4MzMKKwkubG9uZwkzODkxMTk4NDYzCisJLmxvbmcJMTA3MzIyODI5OAorCS5sb25nCTE3NzEyNzU3NTQKKwkubG9uZwkxMDE0NjU0NjgxCisJLmxvbmcJMzM5NTkxNDA1MQorCS5sb25nCTEwNzMyMzE5MTcKKwkubG9uZwkyMzUwOTAwOTE0CisJLmxvbmcJMzE2NDAxMzk3OAorCS5sb25nCTI3OTk5MTk0NzgKKwkubG9uZwkxMDczMjM1MTQ2CisJLmxvbmcJMjg5Mzk1MDE2NAorCS5sb25nCTMxNjMyNjA5MDEKKwkubG9uZwkxMTM4NjczNDc2CisJLmxvbmcJMTA3MzIzODA0NQorCS5sb25nCTI2MjIyMDQ3ODUKKwkubG9uZwkzMTY0MTc0Mzg4CisJLmxvbmcJMzQwODg1NTk0MAorCS5sb25nCTEwNzMyNDA2NjEKKwkubG9uZwkyODAwODgxNjUwCisJLmxvbmcJMTAxNjAwODYyNAorCS5sb25nCTIwNDQ4NTg3MzgKKwkubG9uZwkxMDczMjQzMDM1CisJLmxvbmcJNjA0NTQ0Nzg1CisJLmxvbmcJMTAxNzAyMjkwMQorCS5sb25nCTI1Nzg3OTUxNzYKKwkubG9uZwkxMDczMjQ1MTk4CisJLmxvbmcJMjU1NzMzMjkyNQorCS5sb25nCTEwMTYxMzUxNjUKKwkubG9uZwk0MTk2Mjg1MzE0CisJLmxvbmcJMTA3MzI0NzE3NworCS5sb25nCTIwMzIzNjUzMDcKKwkubG9uZwkxMDE2MTk0NzM1CisJLmxvbmcJMjI0ODc3NzQ3CisJLmxvbmcJMTA3MzI0ODk5NgorCS5sb25nCTQ5NzkyNjkxNgorCS5sb25nCTEwMTY5NDcxMTEKKwkubG9uZwkzMjcxMzg2NDkwCisJLmxvbmcJMTA3MzI1MDY3MQorCS5sb25nCTI2ODk5OTQ4NDYKKwkubG9uZwkxMDE2NjMxNTEzCisJLmxvbmcJODEzNjM1OTg5CisJLmxvbmcJMTA3MzI1MjIyMQorCS5sb25nCTc0NzAzNTI3NworCS5sb25nCTMxNjQ1MzAxMzYKKwkubG9uZwkzNjk4Mjk1MTkKKwkubG9uZwkxMDczMjUzNjU4CisJLmxvbmcJMjE4MjAzMzg1OAorCS5sb25nCTMxNjMxOTAzNDAKKwkubG9uZwkxMTg3Njc5MDUyCisJLmxvbmcJMTA3MzI1NDk5NAorCS5sb25nCTY3Mzk1NDQ0MworCS5sb25nCTEwMTYxNDk4MjEKKwkubG9uZwk0MjMyNTg2MDk4CisJLmxvbmcJMTA3MzI1NjIzOQorCS5sb25nCTQ5Nzc3NTIwMAorCS5sb25nCTMxNjIxNzkwMTUKKwkubG9uZwk0MjY2OTA1NTgKKwkubG9uZwkxMDczMjU3NDA0CisJLmxvbmcJMzA2MzM0MzI0NworCS5sb25nCTEwMTY4NjU1NzgKKwkubG9uZwkxNjI0MDY1OTAyCisJLmxvbmcJMTA3MzI1ODQ5NAorCS5sb25nCTEzNTQyMjQ5OTYKKwkubG9uZwkzMTYzNTAzNzc4CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzMyOTE3NzEKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE2MTc4MjE0CisJLnR5cGUJYXRhbl90YmwsQG9iamVjdAorCS5zaXplCWF0YW5fdGJsLDI1OTIKKwkuYWxpZ24gNAorcGlfdGFibGU6CisJLmxvbmcJMTQxMzc1NDEzNgorCS5sb25nCTEwNzMyOTE3NzEKKwkubG9uZwk4NTY5NzIyOTUKKwkubG9uZwkxMDE2MTc4MjE0CisJLnR5cGUJcGlfdGFibGUsQG9iamVjdAorCS5zaXplCXBpX3RhYmxlLDE2CisJLmFsaWduIDQKK1NHTk1BU0s6CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTIxNDc0ODM2NDcKKwkudHlwZQlTR05NQVNLLEBvYmplY3QKKwkuc2l6ZQlTR05NQVNLLDgKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hdGFuLjEtLgorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hdGFuLjUtLi5fX190YWdfdmFsdWVfYXRhbi4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9hdGFuLjMtLi5fX190YWdfdmFsdWVfYXRhbi4xCisJLjJieXRlIDB4MTAwZQorCS5ieXRlIDB4MDQKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfYXRhbi40LS4uX19fdGFnX3ZhbHVlX2F0YW4uMworCS4yYnl0ZSAweDA4MGUKKwkuYnl0ZSAweDAwCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvc19jYnJ0LlMgYi9saWJtL3g4Nl82NC9zX2NicnQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWE0MzczCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvc19jYnJ0LlMKQEAgLTAsMCArMSw3NTQgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgIEFzc3VtZSB4PTJeezMqaytqfSAqIDEuYjEgYjIgLi4uIGI1IGI2IC4uLiBiNTIsIHdoZXJlIGogPSAwLDEsMi4KKy8vICAgTGV0IHI9KHgqMl57LTNrLWp9IC0gMS5iMSBiMiAuLi4gYjUgMSkqIHJjcFtiMSBiMiAuLmI1XSwKKy8vICAgd2hlcmUgcmNwW2IxIGIyIC4uIGI1XT0xLygxLmIxIGIyIGIzIGI0IGI1IDEpIGluIGRvdWJsZSBwcmVjaXNpb24KKy8vICAgY2JydCgyXmogKiAxLiBiMSBiMiAuLiBiNSAxKSBpcyBhcHByb3hpbWF0ZWQgYXMgVFtqXVtiMS4uYjVdK0Rbal1bYjEuLmI1XQorLy8gICAoVCBzdG9yZXMgdGhlIGhpZ2ggNTMgYml0cywgRCBzdG9yZXMgdGhlIGxvdyBvcmRlciBiaXRzKQorLy8gICBSZXN1bHQ9Ml5rKlQrKDJeaypUKnIpKlArMl5rKkQKKy8vICAgd2hlcmUgUD1wMStwMipyKy4uK3A4KnJeNworLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgY2JydChOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBjYnJ0KElORikgPSB0aGF0IElORgorLy8gIGNicnQoKy8tMCkgPSArLy0wCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgY2JydAorRU5UUlkoY2JydCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9jYnJ0LjE6CisgICAgICAgIHN1YnEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2NicnQuMzoKKyAgICAgICAgbW92c2QgICAgICV4bW0wLCAoJXJzcCkKKy4uQjEuMjoKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tNworICAgICAgICBtb3ZsICAgICAgJDUyNDAzMiwgJWVkeAorICAgICAgICBtb3ZzZCAgICAgRVhQX01TSzMoJXJpcCksICV4bW01CisgICAgICAgIG1vdnNkICAgICBFWFBfTVNLMiglcmlwKSwgJXhtbTMKKyAgICAgICAgcHNybHEgICAgICQ0NCwgJXhtbTcKKyAgICAgICAgcGV4dHJ3ICAgICQwLCAleG1tNywgJWVjeAorICAgICAgICBtb3ZkICAgICAgJXhtbTcsICVlYXgKKyAgICAgICAgbW92c2QgICAgIEVYUF9NQVNLKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgU0lHX01BU0soJXJpcCksICV4bW0yCisgICAgICAgIGFuZGwgICAgICAkMjQ4LCAlZWN4CisgICAgICAgIGxlYSAgICAgICByY3BfdGFibGUoJXJpcCksICVyOAorICAgICAgICBtb3ZzZCAgICAgKCVyY3gsJXI4KSwgJXhtbTQKKyAgICAgICAgbW92cSAgICAgICVyYXgsICVyOQorICAgICAgICBhbmRsICAgICAgJWVheCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4xCisgICAgICAgIGNtcGwgICAgICAkNTI0MDMyLCAlZWR4CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorICAgICAgICBzaHJsICAgICAgJDgsICVlZHgKKyAgICAgICAgc2hycSAgICAgICQ4LCAlcjkKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhbmRwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgb3JwZCAgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgY29lZmZfdGFibGUoJXJpcCksICV4bW01CisgICAgICAgIG1vdmwgICAgICAkNTQ2MiwgJWVheAorICAgICAgICBtb3ZhcGQgICAgMTYrY29lZmZfdGFibGUoJXJpcCksICV4bW02CisgICAgICAgIG11bGwgICAgICAlZWR4CisgICAgICAgIG1vdnEgICAgICAlcjksICVyZHgKKyAgICAgICAgYW5kcSAgICAgICQyMDQ3LCAlcjkKKyAgICAgICAgc2hybCAgICAgICQxNCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDIwNDgsICVlZHgKKyAgICAgICAgc3VicSAgICAgICVyYXgsICVyOQorICAgICAgICBzdWJxICAgICAgJXJheCwgJXI5CisgICAgICAgIHN1YnEgICAgICAlcmF4LCAlcjkKKyAgICAgICAgc2hscSAgICAgICQ4LCAlcjkKKyAgICAgICAgYWRkbCAgICAgICQ2ODIsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlYXgKKyAgICAgICAgbW92ZCAgICAgICVlYXgsICV4bW03CisgICAgICAgIGFkZHEgICAgICAlcjksICVyY3gKKyAgICAgICAgcHNsbHEgICAgICQ1MiwgJXhtbTcKKy5MXzJUQUdfUEFDS0VUXzIuMC4xOgorICAgICAgICBtb3ZhcGQgICAgMzIrY29lZmZfdGFibGUoJXJpcCksICV4bW0yCisgICAgICAgIG1vdmFwZCAgICA0OCtjb2VmZl90YWJsZSglcmlwKSwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTcsICV4bW0zCisgICAgICAgIGxlYSAgICAgICBjYnJ0X3RhYmxlKCVyaXApLCAlcjgKKyAgICAgICAgbXVsc2QgICAgICglcmN4LCVyOCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgbGVhICAgICAgIERfdGFibGUoJXJpcCksICVyOAorICAgICAgICBtdWxzZCAgICAgKCVyY3gsJXI4KSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tNAorICAgICAgICB1bnBja2xwZCAgJXhtbTEsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgYWRkcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgdW5wY2tocGQgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzAuMC4xOgorICAgICAgICBtdWxzZCAgICAgU0NBTEU2MyglcmlwKSwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tNworICAgICAgICBtb3ZsICAgICAgJDUyNDAzMiwgJWVkeAorICAgICAgICBwc3JscSAgICAgJDQ0LCAleG1tNworICAgICAgICBwZXh0cncgICAgJDAsICV4bW03LCAlZWN4CisgICAgICAgIG1vdmQgICAgICAleG1tNywgJWVheAorICAgICAgICBhbmRsICAgICAgJDI0OCwgJWVjeAorICAgICAgICBsZWEgICAgICAgcmNwX3RhYmxlKCVyaXApLCAlcjgKKyAgICAgICAgbW92c2QgICAgICglcmN4LCVyOCksICV4bW00CisgICAgICAgIG1vdnEgICAgICAlcmF4LCAlcjkKKyAgICAgICAgYW5kbCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc2hybCAgICAgICQ4LCAlZWR4CisgICAgICAgIHNocnEgICAgICAkOCwgJXI5CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhbmRwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgb3JwZCAgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgY29lZmZfdGFibGUoJXJpcCksICV4bW01CisgICAgICAgIG1vdmwgICAgICAkNTQ2MiwgJWVheAorICAgICAgICBtb3ZhcGQgICAgMTYrY29lZmZfdGFibGUoJXJpcCksICV4bW02CisgICAgICAgIG11bGwgICAgICAlZWR4CisgICAgICAgIG1vdnEgICAgICAlcjksICVyZHgKKyAgICAgICAgYW5kcSAgICAgICQyMDQ3LCAlcjkKKyAgICAgICAgc2hybCAgICAgICQxNCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDIwNDgsICVlZHgKKyAgICAgICAgc3VicSAgICAgICVyYXgsICVyOQorICAgICAgICBzdWJxICAgICAgJXJheCwgJXI5CisgICAgICAgIHN1YnEgICAgICAlcmF4LCAlcjkKKyAgICAgICAgc2hscSAgICAgICQ4LCAlcjkKKyAgICAgICAgYWRkbCAgICAgICQ2NjEsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlYXgKKyAgICAgICAgbW92ZCAgICAgICVlYXgsICV4bW03CisgICAgICAgIGFkZHEgICAgICAlcjksICVyY3gKKyAgICAgICAgcHNsbHEgICAgICQ1MiwgJXhtbTcKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4xCisuTF8yVEFHX1BBQ0tFVF8zLjAuMToKKyAgICAgICAgY21wcSAgICAgICQwLCAlcjkKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfNC4wLjE6CisgICAgICAgIG1vdnNkICAgICBaRVJPTiglcmlwKSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfMS4wLjE6CisgICAgICAgIG1vdmwgICAgICA0KCVyc3ApLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAoJXJzcCksICVlZHgKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQyMTQ3NDgzNjQ3LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVjeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjEKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpuZSAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMQorICAgICAgICBjbXBsICAgICAgJDIxNDY0MzUwNzIsICVlYXgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4xCisgICAgICAgIG1vdnNkICAgICBJTkYoJXJpcCksICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzYuMC4xOgorICAgICAgICBtb3ZzZCAgICAgTkVHX0lORiglcmlwKSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfNS4wLjE6CisgICAgICAgIG1vdnNkICAgICAoJXJzcCksICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCA4KCVyc3ApCisuTF8yVEFHX1BBQ0tFVF83LjAuMToKKy4uQjEuNDoKKyAgICAgICAgYWRkcSAgICAgICQyNCwgJXJzcAorLi5fX190YWdfdmFsdWVfY2JydC40OgorICAgICAgICByZXQgICAgICAgCisuLl9fX3RhZ192YWx1ZV9jYnJ0LjU6CitFTkQoY2JydCkKKyMgLS0gRW5kICBjYnJ0CisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2Citjb2VmZl90YWJsZToKKwkubG9uZwkxNTUzNzc4OTE5CisJLmxvbmcJMzIxMzg5OTQ4NgorCS5sb25nCTM1MzQ5NTI1MDcKKwkubG9uZwkzMjE1MjY2MjgwCisJLmxvbmcJMTY0NjM3MTM5OQorCS5sb25nCTMyMTQ0MTIwNDUKKwkubG9uZwk0NzcyMTg1ODgKKwkubG9uZwkzMjE2Nzk4MTUxCisJLmxvbmcJMzU4MjUyMTYyMQorCS5sb25nCTEwNjY2MjgzNjIKKwkubG9uZwkxMDA3NDYxNDY0CisJLmxvbmcJMTA2ODQ3MzA1MworCS5sb25nCTg4OTYyOTcxNAorCS5sb25nCTEwNjczNzg0NDkKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3MDk0NTYyMQorCS50eXBlCWNvZWZmX3RhYmxlLEBvYmplY3QKKwkuc2l6ZQljb2VmZl90YWJsZSw2NAorCS5hbGlnbiA0CitFWFBfTVNLMzoKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMTA0ODU3NQorCS50eXBlCUVYUF9NU0szLEBvYmplY3QKKwkuc2l6ZQlFWFBfTVNLMyw4CisJLmFsaWduIDQKK0VYUF9NU0syOgorCS5sb25nCTAKKwkubG9uZwkzMjIwMTkzMjgwCisJLnR5cGUJRVhQX01TSzIsQG9iamVjdAorCS5zaXplCUVYUF9NU0syLDgKKwkuYWxpZ24gNAorRVhQX01BU0s6CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkudHlwZQlFWFBfTUFTSyxAb2JqZWN0CisJLnNpemUJRVhQX01BU0ssOAorCS5hbGlnbiA0CitTSUdfTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMTAzMjE5MgorCS50eXBlCVNJR19NQVNLLEBvYmplY3QKKwkuc2l6ZQlTSUdfTUFTSyw4CisJLmFsaWduIDQKK3JjcF90YWJsZToKKwkubG9uZwk1Mjg2MTEzNjAKKwkubG9uZwkzMjIwMTQ0NjMyCisJLmxvbmcJMjg4NDY3OTUyNworCS5sb25nCTMyMjAwODI5OTMKKwkubG9uZwkxOTkxODY4ODkxCisJLmxvbmcJMzIyMDAyNDkyOAorCS5sb25nCTIyOTg3MTQ4OTEKKwkubG9uZwkzMjE5OTcwMTM0CisJLmxvbmcJNTg4MzUxNjgKKwkubG9uZwkzMjE5OTE4MzQzCisJLmxvbmcJMzAzNTExMDIyMworCS5sb25nCTMyMTk4NjkzMTMKKwkubG9uZwkxNjE3NTg1MDg2CisJLmxvbmcJMzIxOTgyMjgzMQorCS5sb25nCTI1MDA4NjcwMzMKKwkubG9uZwkzMjE5Nzc4NzAyCisJLmxvbmcJNDI0MTk0MzAwOAorCS5sb25nCTMyMTk3MzY3NTIKKwkubG9uZwkyNTg3MzI5NzAKKwkubG9uZwkzMjE5Njk2ODI1CisJLmxvbmcJNDA0MjMyMjE2CisJLmxvbmcJMzIxOTY1ODc3NgorCS5sb25nCTIxNzIxNjczNjgKKwkubG9uZwkzMjE5NjIyNDc2CisJLmxvbmcJMTU0NDI1NzkwNAorCS5sb25nCTMyMTk1ODc4MDgKKwkubG9uZwkzNzc1Nzk1NDMKKwkubG9uZwkzMjE5NTU0NjY0CisJLmxvbmcJMTYxNjM4NTU0MgorCS5sb25nCTMyMTk1MjI5NDUKKwkubG9uZwk4MTM3ODMyNzcKKwkubG9uZwkzMjE5NDkyNTYyCisJLmxvbmcJMzk0MDc0MzE4OQorCS5sb25nCTMyMTk0NjM0MzEKKwkubG9uZwkyNjg5Nzc3NDk5CisJLmxvbmcJMzIxOTQzNTQ3OAorCS5sb25nCTE3MDA5NzcxNDcKKwkubG9uZwkzMjE5NDA4NjMyCisJLmxvbmcJMzE2OTEwMjA4MgorCS5sb25nCTMyMTkzODI4MjgKKwkubG9uZwkzMjcyMzU2MDQKKwkubG9uZwkzMjE5MzU4MDA4CisJLmxvbmcJMTI0NDMzNjMxOQorCS5sb25nCTMyMTkzMzQxMTUKKwkubG9uZwkxMzAwMzExMjAwCisJLmxvbmcJMzIxOTMxMTA5OQorCS5sb25nCTMwOTU0NzE5MjUKKwkubG9uZwkzMjE5Mjg4OTEyCisJLmxvbmcJMjE2NjQ4NzkyOAorCS5sb25nCTMyMTkyNjc1MTEKKwkubG9uZwkyOTEzMTA4MjUzCisJLmxvbmcJMzIxOTI0Njg1NAorCS5sb25nCTI5MzY3Mjk3OAorCS5sb25nCTMyMTkyMjY5MDQKKwkubG9uZwkyODg3MzcyOTcKKwkubG9uZwkzMjE5MjA3NjI0CisJLmxvbmcJMTgxMDI3NTQ3MgorCS5sb25nCTMyMTkxODg5ODEKKwkubG9uZwkxNzQ1OTIxNjcKKwkubG9uZwkzMjE5MTcwOTQ1CisJLmxvbmcJMzUzOTA1MzA1MgorCS5sb25nCTMyMTkxNTM0ODUKKwkubG9uZwkyMTY0MzkyOTY4CisJLmxvbmcJMzIxOTEzNjU3NgorCS50eXBlCXJjcF90YWJsZSxAb2JqZWN0CisJLnNpemUJcmNwX3RhYmxlLDI1NgorCS5hbGlnbiA0CitjYnJ0X3RhYmxlOgorCS5sb25nCTU3MjM0NTQ5NQorCS5sb25nCTEwNzI2OTg2ODEKKwkubG9uZwkxOTk4MjA0NDY3CisJLmxvbmcJMTA3MjcwOTM4MgorCS5sb25nCTM4NjE1MDE1NTMKKwkubG9uZwkxMDcyNzE5ODcyCisJLmxvbmcJMjI2ODE5MjQzNAorCS5sb25nCTEwNzI3MzAxNjIKKwkubG9uZwkyOTgxOTc5MzA4CisJLmxvbmcJMTA3Mjc0MDI2MAorCS5sb25nCTI3MDg1OTE0MworCS5sb25nCTEwNzI3NTAxNzYKKwkubG9uZwkyOTU4NjUxMzkyCisJLmxvbmcJMTA3Mjc1OTkxNgorCS5sb25nCTMxMzExMzI0MworCS5sb25nCTEwNzI3Njk0OTAKKwkubG9uZwk5MTk0NDk0MDAKKwkubG9uZwkxMDcyNzc4OTAzCisJLmxvbmcJMjgwOTMyODkwMworCS5sb25nCTEwNzI3ODgxNjIKKwkubG9uZwkyMjIyOTgxNTg3CisJLmxvbmcJMTA3Mjc5NzI3NAorCS5sb25nCTIzNTI1MzA3ODEKKwkubG9uZwkxMDcyODA2MjQ0CisJLmxvbmcJNTk0MTUyNTE3CisJLmxvbmcJMTA3MjgxNTA3OAorCS5sb25nCTE1NTU3NjcxOTkKKwkubG9uZwkxMDcyODIzNzgwCisJLmxvbmcJNDI4MjQyMTMxNAorCS5sb25nCTEwNzI4MzIzNTUKKwkubG9uZwkyMzU1NTc4NTk3CisJLmxvbmcJMTA3Mjg0MDgwOQorCS5sb25nCTExNjI1OTA2MTkKKwkubG9uZwkxMDcyODQ5MTQ1CisJLmxvbmcJNzk3ODY0MDUxCisJLmxvbmcJMTA3Mjg1NzM2NworCS5sb25nCTQzMTI3MzY4MAorCS5sb25nCTEwNzI4NjU0NzkKKwkubG9uZwkyNjY5ODMxMTQ4CisJLmxvbmcJMTA3Mjg3MzQ4NAorCS5sb25nCTczMzQ3Nzc1MgorCS5sb25nCTEwNzI4ODEzODcKKwkubG9uZwk0MjgwMjIwNjA0CisJLmxvbmcJMTA3Mjg4OTE4OQorCS5sb25nCTgwMTk2MTYzNAorCS5sb25nCTEwNzI4OTY4OTYKKwkubG9uZwkyOTE1MzcwNzYwCisJLmxvbmcJMTA3MjkwNDUwOAorCS5sb25nCTExNTk2MTM0ODIKKwkubG9uZwkxMDcyOTEyMDMwCisJLmxvbmcJMjY4OTk0NDc5OAorCS5sb25nCTEwNzI5MTk0NjMKKwkubG9uZwkxMjQ4Njg3ODIyCisJLmxvbmcJMTA3MjkyNjgxMQorCS5sb25nCTI5Njc5NTEwMzAKKwkubG9uZwkxMDcyOTM0MDc1CisJLmxvbmcJNjMwMTcwNDMyCisJLmxvbmcJMTA3Mjk0MTI1OQorCS5sb25nCTM3NjA4OTgyNTQKKwkubG9uZwkxMDcyOTQ4MzYzCisJLmxvbmcJMAorCS5sb25nCTEwNzI5NTUzOTIKKwkubG9uZwkyMzcwMjczMjk0CisJLmxvbmcJMTA3Mjk2MjM0NQorCS5sb25nCTEyNjE3NTQ4MDIKKwkubG9uZwkxMDcyOTcyNjQwCisJLmxvbmcJNTQ2MzM0MDY1CisJLmxvbmcJMTA3Mjk4NjEyMworCS5sb25nCTEwNTQ4OTM4MzAKKwkubG9uZwkxMDcyOTk5MzQwCisJLmxvbmcJMTU3MTE4NzU5NworCS5sb25nCTEwNzMwMTIzMDQKKwkubG9uZwkxMTA3OTc1MTc1CisJLmxvbmcJMTA3MzAyNTAyNworCS5sb25nCTM2MDY5MDkzNzcKKwkubG9uZwkxMDczMDM3NTE5CisJLmxvbmcJMTExMzYxNjc0NworCS5sb25nCTEwNzMwNDk3OTIKKwkubG9uZwk0MTU0NzQ0NjMyCisJLmxvbmcJMTA3MzA2MTg1MworCS5sb25nCTMzNTg5MzE0MjMKKwkubG9uZwkxMDczMDczNzEzCisJLmxvbmcJNDA2MDcwMjM3MgorCS5sb25nCTEwNzMwODUzNzkKKwkubG9uZwk3NDc1NzYxNzYKKwkubG9uZwkxMDczMDk2ODYwCisJLmxvbmcJMzAyMzEzODI1NQorCS5sb25nCTEwNzMxMDgxNjEKKwkubG9uZwkxNDE5OTg4NTQ4CisJLmxvbmcJMTA3MzExOTI5MQorCS5sb25nCTE5MTQxODUzMDUKKwkubG9uZwkxMDczMTMwMjU1CisJLmxvbmcJMjk0Mzg5OTQ4CisJLmxvbmcJMTA3MzE0MTA2MAorCS5sb25nCTM3NjE4MDI1NzAKKwkubG9uZwkxMDczMTUxNzEwCisJLmxvbmcJOTc4MjgxNTY2CisJLmxvbmcJMTA3MzE2MjIxMworCS5sb25nCTgyMzE0ODgyMAorCS5sb25nCTEwNzMxNzI1NzIKKwkubG9uZwkyNDIwOTU0NDQxCisJLmxvbmcJMTA3MzE4Mjc5MgorCS5sb25nCTM4MTU0NDk5MDgKKwkubG9uZwkxMDczMTkyODc4CisJLmxvbmcJMjA0NjA1ODU4NworCS5sb25nCTEwNzMyMDI4MzUKKwkubG9uZwkxODA3NTI0NzUzCisJLmxvbmcJMTA3MzIxMjY2NgorCS5sb25nCTI2Mjg2ODE0MDEKKwkubG9uZwkxMDczMjIyMzc1CisJLmxvbmcJMzIyNTY2NzM1NworCS5sb25nCTEwNzMyMzE5NjYKKwkubG9uZwkxNTU1MzA3NDIxCisJLmxvbmcJMTA3MzI0MTQ0MworCS5sb25nCTM0NTQwNDMwOTkKKwkubG9uZwkxMDczMjUwODA4CisJLmxvbmcJMTIwODEzNzg5NgorCS5sb25nCTEwNzMyNjAwNjYKKwkubG9uZwkzNjU5OTE2NzcyCisJLmxvbmcJMTA3MzI2OTIxOAorCS5sb25nCTE4ODYyNjEyNjQKKwkubG9uZwkxMDczMjc4MjY5CisJLmxvbmcJMzU5MzY0NzgzOQorCS5sb25nCTEwNzMyODcyMjAKKwkubG9uZwkzMDg2MDEyMjA1CisJLmxvbmcJMTA3MzI5NjA3NQorCS5sb25nCTI3Njk3OTY5MjIKKwkubG9uZwkxMDczMzA0ODM2CisJLmxvbmcJODg4NzE2MDU3CisJLmxvbmcJMTA3MzMxNzgwNworCS5sb25nCTIyMDE0NjU2MjMKKwkubG9uZwkxMDczMzM0Nzk0CisJLmxvbmcJMTY0MzY5MzY1CisJLmxvbmcJMTA3MzM1MTQ0NworCS5sb25nCTM0NjI2NjY3MzMKKwkubG9uZwkxMDczMzY3NzgwCisJLmxvbmcJMjc3MzkwNTQ1NworCS5sb25nCTEwNzMzODM4MTAKKwkubG9uZwkxMzQyODc5MDg4CisJLmxvbmcJMTA3MzM5OTU1MAorCS5sb25nCTI1NDM5MzM5NzUKKwkubG9uZwkxMDczNDE1MDEyCisJLmxvbmcJMTY4NDQ3Nzc4MQorCS5sb25nCTEwNzM0MzAyMDkKKwkubG9uZwkzNTMyMTc4NTQzCisJLmxvbmcJMTA3MzQ0NTE1MQorCS5sb25nCTExNDc3NDczMDAKKwkubG9uZwkxMDczNDU5ODUwCisJLmxvbmcJMTkyODAzMTc5MworCS5sb25nCTEwNzM0NzQzMTQKKwkubG9uZwkyMDc5NzE3MDE1CisJLmxvbmcJMTA3MzQ4ODU1MworCS5sb25nCTQwMTY3NjUzMTUKKwkubG9uZwkxMDczNTAyNTc1CisJLmxvbmcJMzY3MDQzMTEzOQorCS5sb25nCTEwNzM1MTYzODkKKwkubG9uZwkzNTQ5MjI3MjI1CisJLmxvbmcJMTA3MzUzMDAwMgorCS5sb25nCTExNjM3NjA3CisJLmxvbmcJMTA3MzU0MzQyMgorCS5sb25nCTU4ODIyMDE2OQorCS5sb25nCTEwNzM1NTY2NTQKKwkubG9uZwkyNjM1NDA3NTAzCisJLmxvbmcJMTA3MzU2OTcwNQorCS5sb25nCTIwNDIwMjkzMTcKKwkubG9uZwkxMDczNTgyNTgyCisJLmxvbmcJMTkyNTEyODk2MgorCS5sb25nCTEwNzM1OTUyOTAKKwkubG9uZwk0MTM2Mzc1NjY0CisJLmxvbmcJMTA3MzYwNzgzNAorCS5sb25nCTc1OTk2NDYwMAorCS5sb25nCTEwNzM2MjAyMjEKKwkubG9uZwk0MjU3NjA2NzcxCisJLmxvbmcJMTA3MzYzMjQ1MworCS5sb25nCTI5NzI3ODkwNworCS5sb25nCTEwNzM2NDQ1MzgKKwkubG9uZwkzNjU1MDUzMDkzCisJLmxvbmcJMTA3MzY1NjQ3NworCS5sb25nCTI0NDIyNTMxNzIKKwkubG9uZwkxMDczNjY4Mjc3CisJLmxvbmcJMTExMTg3Njc5OQorCS5sb25nCTEwNzM2Nzk5NDEKKwkubG9uZwkzMzMwOTczMTM5CisJLmxvbmcJMTA3MzY5MTQ3MgorCS5sb25nCTM0Mzg4Nzk0NTIKKwkubG9uZwkxMDczNzAyODc1CisJLmxvbmcJMzY3MTU2NTQ3OAorCS5sb25nCTEwNzM3MTQxNTMKKwkubG9uZwkxMzE3ODQ5NTQ3CisJLmxvbmcJMTA3MzcyNTMxMAorCS5sb25nCTE2NDIzNjQxMTUKKwkubG9uZwkxMDczNzM2MzQ4CisJLnR5cGUJY2JydF90YWJsZSxAb2JqZWN0CisJLnNpemUJY2JydF90YWJsZSw3NjgKKwkuYWxpZ24gNAorRF90YWJsZToKKwkubG9uZwk0MDUwOTAwNDc0CisJLmxvbmcJMTAxNDQyNzE5MAorCS5sb25nCTExNTc5Nzc4NjAKKwkubG9uZwkxMDE2NDQ0NDYxCisJLmxvbmcJMTM3NDU2ODE5OQorCS5sb25nCTEwMTcyNzEzODcKKwkubG9uZwkyODA5MTYzMjg4CisJLmxvbmcJMTAxNjg4MjY3NgorCS5sb25nCTM3NDIzNzczNzcKKwkubG9uZwkxMDEzMTY4MTkxCisJLmxvbmcJMzEwMTYwNjU5NworCS5sb25nCTEwMTc1NDE2NzIKKwkubG9uZwk2NTIyNDM1OAorCS5sb25nCTEwMTcyMTc1OTcKKwkubG9uZwkyNjkxNTkxMjUwCisJLmxvbmcJMTAxNzI2NjY0MworCS5sb25nCTQwMjA3NTg1NDkKKwkubG9uZwkxMDE3Njg5MzEzCisJLmxvbmcJMTMxNjMxMDk5MgorCS5sb25nCTEwMTgwMzA3ODgKKwkubG9uZwkxMDMxNTM3ODU2CisJLmxvbmcJMTAxNDA5MDg4MgorCS5sb25nCTMyNjEzOTUyMzkKKwkubG9uZwkxMDE2NDEzNjQxCisJLmxvbmcJODg2NDI0OTk5CisJLmxvbmcJMTAxNjMxMzMzNQorCS5sb25nCTMxMTQ3NzY4MzQKKwkubG9uZwkxMDE0MTk1ODc1CisJLmxvbmcJMTY4MTEyMDYyMAorCS5sb25nCTEwMTc4MjU0MTYKKwkubG9uZwkxMzI5NjAwMjczCisJLmxvbmcJMTAxNjYyNTc0MAorCS5sb25nCTQ2NTQ3NDYyMworCS5sb25nCTEwMTcwOTcxMTkKKwkubG9uZwk0MjUxNjMzOTgwCisJLmxvbmcJMTAxNzE2OTA3NworCS5sb25nCTE5ODY5OTAxMzMKKwkubG9uZwkxMDE3NzEwNjQ1CisJLmxvbmcJNzUyOTU4NjEzCisJLmxvbmcJMTAxNzE1OTY0MQorCS5sb25nCTIyMTYyMTY3OTIKKwkubG9uZwkxMDE4MDIwMTYzCisJLmxvbmcJNDI4Mjg2MDEyOQorCS5sb25nCTEwMTU5MjQ4NjEKKwkubG9uZwkxNTU3NjI3ODU5CisJLmxvbmcJMTAxNjAzOTUzOAorCS5sb25nCTM4ODkyMTk3NTQKKwkubG9uZwkxMDE4MDg2MjM3CisJLmxvbmcJMzY4NDk5NjQwOAorCS5sb25nCTEwMTczNTMyNzUKKwkubG9uZwk3MjM1MzIxMDMKKwkubG9uZwkxMDE3NzE3MTQxCisJLmxvbmcJMjk1MTE0OTY3NgorCS5sb25nCTEwMTI1Mjg0NzAKKwkubG9uZwk4MzE4OTA5MzcKKwkubG9uZwkxMDE3ODMwNTUzCisJLmxvbmcJMTAzMTIxMjY0NQorCS5sb25nCTEwMTczODczMzEKKwkubG9uZwkyNzQxNzM3NDUwCisJLmxvbmcJMTAxNzYwNDk3NAorCS5sb25nCTI4NjMzMTE1MzEKKwkubG9uZwkxMDAzNzc2NjgyCisJLmxvbmcJNDI3NjczNjA5OQorCS5sb25nCTEwMTMxNTMwODgKKwkubG9uZwk0MTExNzc4MzgyCisJLmxvbmcJMTAxNTY3MzY4NgorCS5sb25nCTE3MjgwNjU3NjkKKwkubG9uZwkxMDE2NDEzOTg2CisJLmxvbmcJMjcwODcxODAzMQorCS5sb25nCTEwMTgwNzg4MzMKKwkubG9uZwkxMDY5MzM1MDA1CisJLmxvbmcJMTAxNTI5MTIyNAorCS5sb25nCTcwMDAzNzE0NAorCS5sb25nCTEwMTY0ODIwMzIKKwkubG9uZwkyOTA0NTY2NDUyCisJLmxvbmcJMTAxNzIyNjg2MQorCS5sb25nCTQwNzQxNTY2NDkKKwkubG9uZwkxMDE3NjIyNjUxCisJLmxvbmcJMjUwMTk1NjUKKwkubG9uZwkxMDE1MjQ1MzY2CisJLmxvbmcJMzYwMTk1MjYwOAorCS5sb25nCTEwMTU3NzE3NTUKKwkubG9uZwkzMjY3MTI5MzczCisJLmxvbmcJMTAxNzkwNDY2NAorCS5sb25nCTUwMzIwMzEwMworCS5sb25nCTEwMTQ5MjE2MjkKKwkubG9uZwkyMTIyMDExNzMwCisJLmxvbmcJMTAxODAyNzg2NgorCS5sb25nCTM5MjcyOTU0NjEKKwkubG9uZwkxMDE0MTg5NDU2CisJLmxvbmcJMjc5MDYyNTE0NworCS5sb25nCTEwMTYwMjQyNTEKKwkubG9uZwkxMzMwNDYwMTg2CisJLmxvbmcJMTAxNjk0MDM0NgorCS5sb25nCTQwMzM1Njg0NjMKKwkubG9uZwkxMDE1NTM4MzkwCisJLmxvbmcJMzY5NTgxODIyNworCS5sb25nCTEwMTc1MDk2MjEKKwkubG9uZwkyNTc1NzMzNjEKKwkubG9uZwkxMDE3MjA4ODY4CisJLmxvbmcJMzIyNzY5Nzg1MgorCS5sb25nCTEwMTczMzc5NjQKKwkubG9uZwkyMzQxMTg1NDgKKwkubG9uZwkxMDE3MTY5NTc3CisJLmxvbmcJNDAwOTAyNTgwMworCS5sb25nCTEwMTcyNzg1MjQKKwkubG9uZwkxOTQ4MzQzMzk0CisJLmxvbmcJMTAxNzc0OTMxMAorCS5sb25nCTY3ODM5ODE2MgorCS5sb25nCTEwMTgxNDQyMzkKKwkubG9uZwkzMDgzODY0ODYzCisJLmxvbmcJMTAxNjY2OTA4NgorCS5sb25nCTI0MTU0NTM0NTIKKwkubG9uZwkxMDE3ODkwMzcwCisJLmxvbmcJMTc1NDY3MzQ0CisJLmxvbmcJMTAxNzMzMDAzMworCS5sb25nCTMxOTczNTk1ODAKKwkubG9uZwkxMDEwMzM5OTI4CisJLmxvbmcJMjA3MTI3Njk1MQorCS5sb25nCTEwMTU5NDEzNTgKKwkubG9uZwkyNjgzNzI1NDMKKwkubG9uZwkxMDE2NzM3NzczCisJLmxvbmcJOTM4MTMyOTU5CisJLmxvbmcJMTAxNzM4OTEwOAorCS5sb25nCTE4MTY3NTA1NTkKKwkubG9uZwkxMDE3MzM3NDQ4CisJLmxvbmcJNDExOTIwMzc0OQorCS5sb25nCTEwMTcxNTIxNzQKKwkubG9uZwkyNTc4NjUzODc4CisJLmxvbmcJMTAxMzEwODQ5NworCS5sb25nCTI0NzAzMzEwOTYKKwkubG9uZwkxMDE0Njc4NjA2CisJLmxvbmcJMTIzODU1NzM1CisJLmxvbmcJMTAxNjU1MzMyMAorCS5sb25nCTEyNjU2NTA4ODkKKwkubG9uZwkxMDE0NzgyNjg3CisJLmxvbmcJMzQxNDM5ODE3MgorCS5sb25nCTEwMTcxODI2MzgKKwkubG9uZwkxMDQwNzczMzY5CisJLmxvbmcJMTAxNjE1ODQwMQorCS5sb25nCTM0ODM2Mjg4ODYKKwkubG9uZwkxMDE2ODg2NTUwCisJLmxvbmcJNDE0MDQ5OTQwNQorCS5sb25nCTEwMTYxOTE0MjUKKwkubG9uZwkzODkzNDc3ODUwCisJLmxvbmcJMTAxNjk2NDQ5NQorCS5sb25nCTM5MzUzMTk3NzEKKwkubG9uZwkxMDA5NjM0NzE3CisJLmxvbmcJMjk3ODk4MjY2MAorCS5sb25nCTEwMTUwMjcxMTIKKwkubG9uZwkyNDUyNzA5OTIzCisJLmxvbmcJMTAxNzk5MDIyOQorCS5sb25nCTMxOTAzNjU3MTIKKwkubG9uZwkxMDE1ODM1MTQ5CisJLmxvbmcJNDIzNzU4ODEzOQorCS5sb25nCTEwMTU4MzI5MjUKKwkubG9uZwkyNjEwNjc4Mzg5CisJLmxvbmcJMTAxNzk2MjcxMQorCS5sb25nCTIxMjczMTY3NzQKKwkubG9uZwkxMDE3NDA1NzcwCisJLmxvbmcJODI0MjY3NTAyCisJLmxvbmcJMTAxNzk1OTQ2MworCS5sb25nCTIxNjU5MjQwNDIKKwkubG9uZwkxMDE3OTEyMjI1CisJLmxvbmcJMjc3NDAwNzA3NgorCS5sb25nCTEwMTMyNTc0MTgKKwkubG9uZwk0MTIzOTE2MzI2CisJLmxvbmcJMTAxNzU4MjI4NAorCS5sb25nCTE5NzY0MTc5NTgKKwkubG9uZwkxMDE2OTU5OTA5CisJLmxvbmcJNDA5MjgwNjQxMgorCS5sb25nCTEwMTc3MTEyNzkKKwkubG9uZwkxMTkyNTE4MTcKKwkubG9uZwkxMDE1MzYzNjMxCisJLmxvbmcJMzQ3NTQxODc2OAorCS5sb25nCTEwMTc2NzU0MTUKKwkubG9uZwkxOTcyNTgwNTAzCisJLmxvbmcJMTAxNTQ3MDY4NAorCS5sb25nCTgxNTU0MTAxNworCS5sb25nCTEwMTc1MTc5NjkKKwkubG9uZwkyNDI5OTE3NDUxCisJLmxvbmcJMTAxNzM5Nzc3NgorCS5sb25nCTQwNjI4ODg0ODIKKwkubG9uZwkxMDE2NzQ5ODk3CisJLmxvbmcJNjgyODQxNTMKKwkubG9uZwkxMDE3OTI1Njc4CisJLmxvbmcJMjIwNzc3OTI0NgorCS5sb25nCTEwMTYzMjAyOTgKKwkubG9uZwkxMTgzNDY2NTIwCisJLmxvbmcJMTAxNzQwODY1NworCS5sb25nCTE0MzMyNjQyNworCS5sb25nCTEwMTcwNjA0MDMKKwkudHlwZQlEX3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlEX3RhYmxlLDc2OAorCS5hbGlnbiA0CitTQ0FMRTYzOgorCS5sb25nCTAKKwkubG9uZwkxMTM4NzUzNTM2CisJLnR5cGUJU0NBTEU2MyxAb2JqZWN0CisJLnNpemUJU0NBTEU2Myw4CisJLmFsaWduIDQKK1pFUk9OOgorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJWkVST04sQG9iamVjdAorCS5zaXplCVpFUk9OLDgKKwkuYWxpZ24gNAorSU5GOgorCS5sb25nCTAKKwkubG9uZwkyMTQ2NDM1MDcyCisJLnR5cGUJSU5GLEBvYmplY3QKKwkuc2l6ZQlJTkYsOAorCS5hbGlnbiA0CitORUdfSU5GOgorCS5sb25nCTAKKwkubG9uZwk0MjkzOTE4NzIwCisJLnR5cGUJTkVHX0lORixAb2JqZWN0CisJLnNpemUJTkVHX0lORiw4CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisvLyAtLSBCZWdpbiBEV0FSRjIgU0VHTUVOVCAuZWhfZnJhbWUKKwkuc2VjdGlvbiAuZWhfZnJhbWUsImEiLEBwcm9nYml0cworLmVoX2ZyYW1lX3NlZzoKKwkuYWxpZ24gMQorCS40Ynl0ZSAweDAwMDAwMDE0CisJLjhieXRlIDB4MDA1MjdhMDEwMDAwMDAwMAorCS44Ynl0ZSAweDA4MDcwYzFiMDExMDc4MDEKKwkuNGJ5dGUgMHgwMDAwMDE5MAorCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfY2JydC4xLS4KKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfY2JydC41LS4uX19fdGFnX3ZhbHVlX2NicnQuMQorCS4yYnl0ZSAweDA0MDAKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfY2JydC4zLS4uX19fdGFnX3ZhbHVlX2NicnQuMQorCS4yYnl0ZSAweDIwMGUKKwkuYnl0ZSAweDA0CisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2NicnQuNC0uLl9fX3RhZ192YWx1ZV9jYnJ0LjMKKwkuMmJ5dGUgMHgwODBlCisJLmJ5dGUgMHgwMAorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L3NfY29zLlMgYi9saWJtL3g4Nl82NC9zX2Nvcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNWEwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9zX2Nvcy5TCkBAIC0wLDAgKzEsMTI3NSBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgICAxLiBSQU5HRSBSRURVQ1RJT04KKy8vCisvLyAgICAgV2UgcGVyZm9ybSBhbiBpbml0aWFsIHJhbmdlIHJlZHVjdGlvbiBmcm9tIFggdG8gciB3aXRoCisvLworLy8gICAgICAgICAgWCA9fj0gTiAqIHBpLzMyICsgcgorLy8KKy8vICAgICBzbyB0aGF0IHxyfCA8PSBwaS82NCArIGVwc2lsb24uIFdlIHJlc3RyaWN0IGlucHV0cyB0byB0aG9zZQorLy8gICAgIHdoZXJlIHxOfCA8PSA5MzI1NjAuIEJleW9uZCB0aGlzLCB0aGUgcmFuZ2UgcmVkdWN0aW9uIGlzCisvLyAgICAgaW5zdWZmaWNpZW50bHkgYWNjdXJhdGUuIEZvciBleHRyZW1lbHkgc21hbGwgaW5wdXRzLCAKKy8vICAgICBkZW5vcm1hbGl6YXRpb24gY2FuIG9jY3VyIGludGVybmFsbHksIGltcGFjdGluZyBwZXJmb3JtYW5jZS4KKy8vICAgICBUaGlzIG1lYW5zIHRoYXQgdGhlIG1haW4gcGF0aCBpcyBhY3R1YWxseSBvbmx5IHRha2VuIGZvcgorLy8gICAgIDJeLTI1MiA8PSB8WHwgPCA5MDExMi4KKy8vCisvLyAgICAgVG8gYXZvaWQgYnJhbmNoZXMsIHdlIHBlcmZvcm0gdGhlIHJhbmdlIHJlZHVjdGlvbiB0byBmdWxsCisvLyAgICAgYWNjdXJhY3kgZWFjaCB0aW1lLgorLy8KKy8vICAgICAgICAgIFggLSBOICogKFBfMSArIFBfMiArIFBfMykKKy8vCisvLyAgICAgd2hlcmUgUF8xIGFuZCBQXzIgYXJlIDMyLWJpdCBudW1iZXJzIChzbyBtdWx0aXBsaWNhdGlvbiBieSBOCisvLyAgICAgaXMgZXhhY3QpIGFuZCBQXzMgaXMgYSA1My1iaXQgbnVtYmVyLiBUb2dldGhlciwgdGhlc2UKKy8vICAgICBhcHByb3hpbWF0ZSBwaSB3ZWxsIGVub3VnaCBmb3IgYWxsIGNhc2VzIGluIHRoZSByZXN0cmljdGVkCisvLyAgICAgcmFuZ2UuCisvLworLy8gICAgIFRoZSBtYWluIHJlZHVjdGlvbiBzZXF1ZW5jZSBpczoKKy8vCisvLyAgICAgICAgICAgICB5ID0gMzIvcGkgKiB4CisvLyAgICAgICAgICAgICBOID0gaW50ZWdlcih5KQorLy8gICAgIChjb21wdXRlZCBieSBhZGRpbmcgYW5kIHN1YnRyYWN0aW5nIG9mZiBTSElGVEVSKQorLy8KKy8vICAgICAgICAgICAgIG1fMSA9IE4gKiBQXzEKKy8vICAgICAgICAgICAgIG1fMiA9IE4gKiBQXzIKKy8vICAgICAgICAgICAgIHJfMSA9IHggLSBtXzEKKy8vICAgICAgICAgICAgIHIgPSByXzEgLSBtXzIKKy8vICAgICAodGhpcyByIGNhbiBiZSB1c2VkIGZvciBtb3N0IG9mIHRoZSBjYWxjdWxhdGlvbikKKy8vCisvLyAgICAgICAgICAgICBjXzEgPSByXzEgLSByCisvLyAgICAgICAgICAgICBtXzMgPSBOICogUF8zCisvLyAgICAgICAgICAgICBjXzIgPSBjXzEgLSBtXzIKKy8vICAgICAgICAgICAgIGMgPSBjXzIgLSBtXzMKKy8vCisvLyAgICAgMi4gTUFJTiBBTEdPUklUSE0KKy8vCisvLyAgICAgVGhlIGFsZ29yaXRobSB1c2VzIGEgdGFibGUgbG9va3VwIGJhc2VkIG9uIEIgPSBNICogcGkgLyAzMgorLy8gICAgIHdoZXJlIE0gPSBOIG1vZCA2NC4gVGhlIHN0b3JlZCB2YWx1ZXMgYXJlOgorLy8gICAgICAgc2lnbWEgICAgICAgICAgICAgY2xvc2VzdCBwb3dlciBvZiAyIHRvIGNvcyhCKQorLy8gICAgICAgQ19obCAgICAgICAgICAgICAgNTMtYml0IGNvcyhCKSAtIHNpZ21hCisvLyAgICAgICBTX2hpICsgU19sbyAgICAgICAyICogNTMtYml0IHNpbihCKQorLy8KKy8vICAgICBUaGUgY29tcHV0YXRpb24gaXMgb3JnYW5pemVkIGFzIGZvbGxvd3M6CisvLworLy8gICAgICAgICAgc2luKEIgKyByICsgYykgPSBbc2luKEIpICsgc2lnbWEgKiByXSArCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgKiAoY29zKEIpIC0gc2lnbWEpICsKKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luKEIpICogW2NvcyhyICsgYykgLSAxXSArCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcyhCKSAqIFtzaW4ociArIGMpIC0gcl0KKy8vCisvLyAgICAgd2hpY2ggaXMgYXBwcm94aW1hdGVseToKKy8vCisvLyAgICAgICAgICBbU19oaSArIHNpZ21hICogcl0gKworLy8gICAgICAgICAgQ19obCAqIHIgKworLy8gICAgICAgICAgU19sbyArIFNfaGkgKiBbKGNvcyhyKSAtIDEpIC0gciAqIGNdICsKKy8vICAgICAgICAgIChDX2hsICsgc2lnbWEpICogWyhzaW4ocikgLSByKSArIGNdCisvLworLy8gICAgIGFuZCB0aGlzIGlzIHdoYXQgaXMgYWN0dWFsbHkgY29tcHV0ZWQuIFdlIHNlcGFyYXRlIHRoaXMgc3VtCisvLyAgICAgaW50byBmb3VyIHBhcnRzOgorLy8KKy8vICAgICAgICAgIGhpICsgbWVkICsgcG9scyArIGNvcnIKKy8vCisvLyAgICAgd2hlcmUKKy8vCisvLyAgICAgICAgICBoaSAgICAgICA9IFNfaGkgKyBzaWdtYSByCisvLyAgICAgICAgICBtZWQgICAgICA9IENfaGwgKiByCisvLyAgICAgICAgICBwb2xzICAgICA9IFNfaGkgKiAoY29zKHIpIC0gMSkgKyAoQ19obCArIHNpZ21hKSAqIChzaW4ocikgLSByKQorLy8gICAgICAgICAgY29yciAgICAgPSBTX2xvICsgYyAqICgoQ19obCArIHNpZ21hKSAtIFNfaGkgKiByKQorLy8KKy8vICAgICAzLiBQT0xZTk9NSUFMCisvLworLy8gICAgIFRoZSBwb2x5bm9taWFsIFNfaGkgKiAoY29zKHIpIC0gMSkgKyAoQ19obCArIHNpZ21hKSAqCisvLyAgICAgKHNpbihyKSAtIHIpIGNhbiBiZSByZWFycmFuZ2VkIGZyZWVseSwgc2luY2UgaXQgaXMgcXVpdGUKKy8vICAgICBzbWFsbCwgc28gd2UgZXhwbG9pdCBwYXJhbGxlbGlzbSB0byB0aGUgZnVsbGVzdC4KKy8vCisvLyAgICAgICAgICBwc2M0ICAgICAgID0gICBTQ180ICogcl8xCisvLyAgICAgICAgICBtc2M0ICAgICAgID0gICBwc2M0ICogcgorLy8gICAgICAgICAgcjIgICAgICAgICA9ICAgciAqIHIKKy8vICAgICAgICAgIG1zYzIgICAgICAgPSAgIFNDXzIgKiByMgorLy8gICAgICAgICAgcjQgICAgICAgICA9ICAgcjIgKiByMgorLy8gICAgICAgICAgcHNjMyAgICAgICA9ICAgU0NfMyArIG1zYzQKKy8vICAgICAgICAgIHBzYzEgICAgICAgPSAgIFNDXzEgKyBtc2MyCisvLyAgICAgICAgICBtc2MzICAgICAgID0gICByNCAqIHBzYzMKKy8vICAgICAgICAgIHNpbmNvc3BvbHMgPSAgIHBzYzEgKyBtc2MzCisvLyAgICAgICAgICBwb2xzICAgICAgID0gICBzaW5jb3Nwb2xzICoKKy8vICAgICAgICAgICAgICAgICAgICAgICAgIDxTX2hpICogcl4yIHwgKENfaGwgKyBzaWdtYSkgKiByXjM+CisvLworLy8gICAgIDQuIENPUlJFQ1RJT04gVEVSTQorLy8KKy8vICAgICBUaGlzIGlzIHdoZXJlIHRoZSAiYyIgY29tcG9uZW50IG9mIHRoZSByYW5nZSByZWR1Y3Rpb24gaXMKKy8vICAgICB0YWtlbiBpbnRvIGFjY291bnQ7IHJlY2FsbCB0aGF0IGp1c3QgInIiIGlzIHVzZWQgZm9yIG1vc3Qgb2YKKy8vICAgICB0aGUgY2FsY3VsYXRpb24uCisvLworLy8gICAgICAgICAgLWMgICA9IG1fMyAtIGNfMgorLy8gICAgICAgICAgLWQgICA9IFNfaGkgKiByIC0gKENfaGwgKyBzaWdtYSkKKy8vICAgICAgICAgIGNvcnIgPSAtYyAqIC1kICsgU19sbworLy8KKy8vICAgICA1LiBDT01QRU5TQVRFRCBTVU1NQVRJT05TCisvLworLy8gICAgIFRoZSB0d28gc3VjY2Vzc2l2ZSBjb21wZW5zYXRlZCBzdW1tYXRpb25zIGFkZCB1cCB0aGUgaGlnaAorLy8gICAgIGFuZCBtZWRpdW0gcGFydHMsIGxlYXZpbmcganVzdCB0aGUgbG93IHBhcnRzIHRvIGFkZCB1cCBhdAorLy8gICAgIHRoZSBlbmQuCisvLworLy8gICAgICAgICAgcnMgICAgICAgID0gIHNpZ21hICogcgorLy8gICAgICAgICAgcmVzX2ludCAgID0gIFNfaGkgKyBycworLy8gICAgICAgICAga18wICAgICAgID0gIFNfaGkgLSByZXNfaW50CisvLyAgICAgICAgICBrXzIgICAgICAgPSAga18wICsgcnMKKy8vICAgICAgICAgIG1lZCAgICAgICA9ICBDX2hsICogcgorLy8gICAgICAgICAgcmVzX2hpICAgID0gIHJlc19pbnQgKyBtZWQKKy8vICAgICAgICAgIGtfMSAgICAgICA9ICByZXNfaW50IC0gcmVzX2hpCisvLyAgICAgICAgICBrXzMgICAgICAgPSAga18xICsgbWVkCisvLworLy8gICAgIDYuIEZJTkFMIFNVTU1BVElPTgorLy8KKy8vICAgICBXZSBub3cgYWRkIHVwIGFsbCB0aGUgc21hbGwgcGFydHM6CisvLworLy8gICAgICAgICAgcmVzX2xvID0gcG9scyhoaSkgKyBwb2xzKGxvKSArIGNvcnIgKyBrXzEgKyBrXzMKKy8vCisvLyAgICAgTm93IHRoZSBvdmVyYWxsIHJlc3VsdCBpcyBqdXN0OgorLy8KKy8vICAgICAgICAgIHJlc19oaSArIHJlc19sbworLy8KKy8vICAgICA3LiBTTUFMTCBBUkdVTUVOVFMKKy8vCisvLyAgICAgSW5wdXRzIHdpdGggfFh8IDwgMl4tMjUyIGFyZSB0cmVhdGVkIHNwZWNpYWxseSBhcworLy8gICAgIDEgLSB8eHwuCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICBjb3MoTmFOKSA9IHF1aWV0IE5hTiwgYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgY29zKElORikgPSBOYU4gYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgY29zKDApID0gMQorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIGNvcworRU5UUlkoY29zKQorIyBwYXJhbWV0ZXIgMTogJXhtbTAKKy4uQjEuMToKKy4uX19fdGFnX3ZhbHVlX2Nvcy4xOgorICAgICAgICBwdXNocSAgICAgJXJieAorLi5fX190YWdfdmFsdWVfY29zLjM6CisgICAgICAgIHN1YnEgICAgICAkMTYsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2Nvcy41OgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJXJzcCkKKy4uQjEuMjoKKyAgICAgICAgbW92bCAgICAgIDEyKCVyc3ApLCAlZWF4CisgICAgICAgIG1vdnEgICAgICBQSTMySU5WKCVyaXApLCAleG1tMQorICAgICAgICBhbmRsICAgICAgJDIxNDc0MTgxMTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQ4MDg0NTIwOTYsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyODEzNDYwNDgsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIE9ORUhBTEYoJXJpcCksICV4bW01CisgICAgICAgIG1vdnEgICAgICBTSUdOX01BU0soJXJpcCksICV4bW00CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgb3JwcyAgICAgICV4bW00LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGN2dHRzZDJzaSAleG1tMSwgJWVkeAorICAgICAgICBjdnRzaTJzZCAgJWVkeCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIFBfMiglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgIFBfMSglcmlwKSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICB1bnBja2xwZCAgJXhtbTEsICV4bW0xCisgICAgICAgIGFkZHEgICAgICAkMTg2NTIzMiwgJXJkeAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW00CisgICAgICAgIGFuZHEgICAgICAkNjMsICVyZHgKKyAgICAgICAgbW92YXBkICAgIFNDXzQoJXJpcCksICV4bW01CisgICAgICAgIGxlYSAgICAgICBDdGFibGUoJXJpcCksICVyYXgKKyAgICAgICAgc2hscSAgICAgICQ1LCAlcmR4CisgICAgICAgIGFkZHEgICAgICAlcmR4LCAlcmF4CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgUF8zKCVyaXApLCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdnEgICAgICA4KCVyYXgpLCAleG1tNworICAgICAgICB1bnBja2xwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIHN1YnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIFNDXzIoJXJpcCksICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgKCVyYXgpLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG1vdnEgICAgICAyNCglcmF4KSwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgU0NfMyglcmlwKSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICglcmF4KSwgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgIFNDXzEoJXJpcCksICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgOCglcmF4KSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW03LCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTQsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgICV4bW01LCAleG1tNgorICAgICAgICBtb3ZxICAgICAgOCglcmF4KSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAxNiglcmF4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgdW5wY2tocGQgICV4bW02LCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfMC4wLjE6CisgICAgICAgIGpnICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZHcgICAgICAkMzI3NjcsICVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0wCisgICAgICAgIG1vdnEgICAgICBPTkUoJXJpcCksICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS40CisuTF8yVEFHX1BBQ0tFVF8xLjAuMToKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4xCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBzdWJsICAgICAgJDE2MjI0LCAlZWN4CisgICAgICAgIHNocmwgICAgICAkNywgJWVjeAorICAgICAgICBhbmRsICAgICAgJDY1NTMyLCAlZWN4CisgICAgICAgIGxlYSAgICAgICBQSV9JTlZfVEFCTEUoJXJpcCksICVyMTEKKyAgICAgICAgYWRkcSAgICAgICVyMTEsICVyY3gKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlcmF4CisgICAgICAgIG1vdmwgICAgICAyMCglcmN4KSwgJXIxMGQKKyAgICAgICAgbW92bCAgICAgIDI0KCVyY3gpLCAlcjhkCisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIHNocnEgICAgICAkMjEsICVyYXgKKyAgICAgICAgb3JsICAgICAgICQtMjE0NzQ4MzY0OCwgJWVheAorICAgICAgICBzaHJsICAgICAgJDExLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlcjEwZCwgJXI5ZAorICAgICAgICBpbXVscSAgICAgJXJkeCwgJXIxMAorICAgICAgICBpbXVscSAgICAgJXJheCwgJXI5CisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjgKKyAgICAgICAgbW92bCAgICAgIDE2KCVyY3gpLCAlZXNpCisgICAgICAgIG1vdmwgICAgICAxMiglcmN4KSwgJWVkaQorICAgICAgICBtb3ZsICAgICAgJXIxMGQsICVyMTFkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyMTAKKyAgICAgICAgYWRkcSAgICAgICVyMTAsICVyOQorICAgICAgICBhZGRxICAgICAgJXI4LCAlcjExCisgICAgICAgIG1vdmwgICAgICAlcjExZCwgJXI4ZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcjExCisgICAgICAgIGFkZHEgICAgICAlcjExLCAlcjkKKyAgICAgICAgbW92bCAgICAgICVlc2ksICVyMTBkCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcnNpCisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjEwCisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlcjExZAorICAgICAgICBpbXVscSAgICAgJXJkeCwgJXJkaQorICAgICAgICBtb3ZsICAgICAgJWVzaSwgJWVieAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcnNpCisgICAgICAgIGFkZHEgICAgICAlcmJ4LCAlcjkKKyAgICAgICAgbW92bCAgICAgICVyOWQsICVlYngKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXI5CisgICAgICAgIGFkZHEgICAgICAlcnNpLCAlcjEwCisgICAgICAgIGFkZHEgICAgICAlcjksICVyMTAKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXJieAorICAgICAgICBvcnEgICAgICAgJXJieCwgJXI4CisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjExCisgICAgICAgIG1vdmwgICAgICA4KCVyY3gpLCAlcjlkCisgICAgICAgIG1vdmwgICAgICA0KCVyY3gpLCAlZXNpCisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMzIsICVyZGkKKyAgICAgICAgYWRkcSAgICAgICVyYngsICVyMTAKKyAgICAgICAgbW92bCAgICAgICVyMTBkLCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMzIsICVyMTAKKyAgICAgICAgYWRkcSAgICAgICVyZGksICVyMTEKKyAgICAgICAgYWRkcSAgICAgICVyMTAsICVyMTEKKyAgICAgICAgbW92cSAgICAgICVyOSwgJXJkaQorICAgICAgICBpbXVscSAgICAgJXJkeCwgJXI5CisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcmRpCisgICAgICAgIG1vdmwgICAgICAlcjlkLCAlcjEwZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcjkKKyAgICAgICAgYWRkcSAgICAgICVyMTAsICVyMTEKKyAgICAgICAgbW92bCAgICAgICVyMTFkLCAlcjEwZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcjExCisgICAgICAgIGFkZHEgICAgICAlcjksICVyZGkKKyAgICAgICAgYWRkcSAgICAgICVyMTEsICVyZGkKKyAgICAgICAgbW92cSAgICAgICVyc2ksICVyOQorICAgICAgICBpbXVscSAgICAgJXJkeCwgJXJzaQorICAgICAgICBpbXVscSAgICAgJXJheCwgJXI5CisgICAgICAgIHNobHEgICAgICAkMzIsICVyMTAKKyAgICAgICAgb3JxICAgICAgICVyYngsICVyMTAKKyAgICAgICAgbW92bCAgICAgICglcmN4KSwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVzaSwgJXIxMWQKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXJzaQorICAgICAgICBhZGRxICAgICAgJXIxMSwgJXJkaQorICAgICAgICBtb3ZsICAgICAgJWVkaSwgJXIxMWQKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXJkaQorICAgICAgICBhZGRxICAgICAgJXJzaSwgJXI5CisgICAgICAgIGFkZHEgICAgICAlcmRpLCAlcjkKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyZHgKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVieAorICAgICAgICBsZWEgICAgICAgUElfSU5WX1RBQkxFKCVyaXApLCAlcmRpCisgICAgICAgIHN1YnEgICAgICAlcmRpLCAlcmN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAkMTksICVlY3gKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVzaQorICAgICAgICBhbmRsICAgICAgJWVieCwgJWVzaQorICAgICAgICBzaHJsICAgICAgJDQsICVlYngKKyAgICAgICAgYW5kbCAgICAgICQyMDQ3LCAlZWJ4CisgICAgICAgIHN1YmwgICAgICAkMTAyMywgJWVieAorICAgICAgICBzdWJsICAgICAgJWVieCwgJWVjeAorICAgICAgICBhZGRxICAgICAgJXJkeCwgJXI5CisgICAgICAgIG1vdmwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIGFkZGwgICAgICAkMzIsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxLCAlZWN4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMQorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBhZGRsICAgICAgJDI5LCAlZWN4CisgICAgICAgIHNobGwgICAgICAlY2wsICVyOWQKKyAgICAgICAgbW92bCAgICAgICVyOWQsICVlZGkKKyAgICAgICAgYW5kbCAgICAgICQ1MzY4NzA5MTEsICVyOWQKKyAgICAgICAgdGVzdGwgICAgICQyNjg0MzU0NTYsICVyOWQKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4xCisgICAgICAgIHNocmwgICAgICAlY2wsICVyOWQKKyAgICAgICAgbW92bCAgICAgICQwLCAlZWJ4CisgICAgICAgIHNobHEgICAgICAkMzIsICVyOQorICAgICAgICBvcnEgICAgICAgJXIxMSwgJXI5CisuTF8yVEFHX1BBQ0tFVF81LjAuMToKKy5MXzJUQUdfUEFDS0VUXzYuMC4xOgorICAgICAgICBjbXBxICAgICAgJDAsICVyOQorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjEKKy5MXzJUQUdfUEFDS0VUXzguMC4xOgorICAgICAgICBic3IgICAgICAgJXI5LCAlcjExCisgICAgICAgIG1vdmwgICAgICAkMjksICVlY3gKKyAgICAgICAgc3VibCAgICAgICVyMTFkLCAlZWN4CisgICAgICAgIGpsZSAgICAgICAuTF8yVEFHX1BBQ0tFVF85LjAuMQorICAgICAgICBzaGxxICAgICAgJWNsLCAlcjkKKyAgICAgICAgbW92cSAgICAgICVyMTAsICVyYXgKKyAgICAgICAgc2hscSAgICAgICVjbCwgJXIxMAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBhZGRsICAgICAgJDY0LCAlZWN4CisgICAgICAgIHNocnEgICAgICAlY2wsICVyYXgKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXI4CisgICAgICAgIG9ycSAgICAgICAlcmF4LCAlcjkKKyAgICAgICAgb3JxICAgICAgICVyOCwgJXIxMAorLkxfMlRBR19QQUNLRVRfMTAuMC4xOgorICAgICAgICBjdnRzaTJzZHEgJXI5LCAleG1tMAorICAgICAgICBzaHJxICAgICAgJDEsICVyMTAKKyAgICAgICAgY3Z0c2kyc2RxICVyMTAsICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgc2hsbCAgICAgICQ0LCAlZWR4CisgICAgICAgIG5lZ2wgICAgICAlZWR4CisgICAgICAgIGFkZGwgICAgICAkMTYzNjgsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlc2ksICVlZHgKKyAgICAgICAgeG9ybCAgICAgICVlYngsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNAorICAgICAgICBtb3ZxICAgICAgUElfNCglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgIDgrUElfNCglcmlwKSwgJXhtbTYKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBzdWJsICAgICAgJDEwMDgsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHNobGwgICAgICAkMTYsICVlc2kKKyAgICAgICAgc2FybCAgICAgICQzMSwgJWVzaQorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBzaHJsICAgICAgJDI5LCAlZWRpCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMworICAgICAgICBhZGRsICAgICAgJWVzaSwgJWVkaQorICAgICAgICB4b3JsICAgICAgJWVzaSwgJWVkaQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlZWF4CisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNgorLkxfMlRBR19QQUNLRVRfMTEuMC4xOgorICAgICAgICBtb3ZxICAgICAgUEkzMklOViglcmlwKSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZxICAgICAgT05FSEFMRiglcmlwKSwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgIFNJR05fTUFTSyglcmlwKSwgJXhtbTQKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBvcnBzICAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgY3Z0dHNkMnNpICV4bW0xLCAlcmR4CisgICAgICAgIGN2dHNpMnNkcSAlcmR4LCAleG1tMQorICAgICAgICBtb3ZxICAgICAgUF8xKCVyaXApLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgUF8yKCVyaXApLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHVucGNrbHBkICAleG1tMSwgJXhtbTEKKyAgICAgICAgc2hsbCAgICAgICQzLCAlZWF4CisgICAgICAgIGFkZGwgICAgICAkMTg2NTIzMiwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW00CisgICAgICAgIGFkZGwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkNjMsICVlZHgKKyAgICAgICAgbW92YXBkICAgIFNDXzQoJXJpcCksICV4bW01CisgICAgICAgIGxlYSAgICAgICBDdGFibGUoJXJpcCksICVyYXgKKyAgICAgICAgc2hsbCAgICAgICQ1LCAlZWR4CisgICAgICAgIGFkZHEgICAgICAlcmR4LCAlcmF4CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgUF8zKCVyaXApLCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdnEgICAgICA4KCVyYXgpLCAleG1tNworICAgICAgICB1bnBja2xwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIHN1YnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAoJXJheCksICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIDI0KCVyYXgpLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgU0NfMiglcmlwKSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGFkZHBkICAgICBTQ18zKCVyaXApLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgKCVyYXgpLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgU0NfMSglcmlwKSwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICA4KCVyYXgpLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG1vdnEgICAgICA4KCVyYXgpLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgIDE2KCVyYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICB1bnBja2hwZCAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzcuMC4xOgorICAgICAgICBhZGRsICAgICAgJDY0LCAlZWR4CisgICAgICAgIG1vdnEgICAgICAlcjEwLCAlcjkKKyAgICAgICAgbW92cSAgICAgICVyOCwgJXIxMAorICAgICAgICBtb3ZxICAgICAgJDAsICVyOAorICAgICAgICBjbXBxICAgICAgJDAsICVyOQorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjEKKyAgICAgICAgYWRkbCAgICAgICQ2NCwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXIxMCwgJXI5CisgICAgICAgIG1vdnEgICAgICAlcjgsICVyMTAKKyAgICAgICAgY21wcSAgICAgICQwLCAlcjkKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4xCisuTF8yVEFHX1BBQ0tFVF85LjAuMToKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMQorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBzaHJxICAgICAgJWNsLCAlcjEwCisgICAgICAgIG1vdnEgICAgICAlcjksICVyYXgKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXI5CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIG5lZ2wgICAgICAlZWN4CisgICAgICAgIGFkZGwgICAgICAkNjQsICVlY3gKKyAgICAgICAgc2hscSAgICAgICVjbCwgJXJheAorICAgICAgICBvcnEgICAgICAgJXJheCwgJXIxMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4xCisuTF8yVEFHX1BBQ0tFVF8zLjAuMToKKyAgICAgICAgbmVnbCAgICAgICVlY3gKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXI5CisgICAgICAgIG9ycSAgICAgICAlcjExLCAlcjkKKyAgICAgICAgc2hscSAgICAgICVjbCwgJXI5CisgICAgICAgIG1vdnEgICAgICAlcjksICVyZGkKKyAgICAgICAgdGVzdGwgICAgICQtMjE0NzQ4MzY0OCwgJXI5ZAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4xCisgICAgICAgIHNocmwgICAgICAlY2wsICVyOWQKKyAgICAgICAgbW92bCAgICAgICQwLCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMywgJXJkaQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNi4wLjEKKy5MXzJUQUdfUEFDS0VUXzQuMC4xOgorICAgICAgICBzaHJsICAgICAgJWNsLCAlcjlkCisgICAgICAgIG1vdmwgICAgICAkNTM2ODcwOTEyLCAlZWJ4CisgICAgICAgIHNocmwgICAgICAlY2wsICVlYngKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXI5CisgICAgICAgIG9ycSAgICAgICAlcjExLCAlcjkKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXJieAorICAgICAgICBhZGRsICAgICAgJDUzNjg3MDkxMiwgJWVkaQorICAgICAgICBtb3ZxICAgICAgJDAsICVyY3gKKyAgICAgICAgbW92cSAgICAgICQwLCAlcjExCisgICAgICAgIHN1YnEgICAgICAlcjgsICVyY3gKKyAgICAgICAgc2JicSAgICAgICVyMTAsICVyMTEKKyAgICAgICAgc2JicSAgICAgICVyOSwgJXJieAorICAgICAgICBtb3ZxICAgICAgJXJjeCwgJXI4CisgICAgICAgIG1vdnEgICAgICAlcjExLCAlcjEwCisgICAgICAgIG1vdnEgICAgICAlcmJ4LCAlcjkKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVieAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjEKKy5MXzJUQUdfUEFDS0VUXzEyLjAuMToKKyAgICAgICAgc2hybCAgICAgICVjbCwgJXI5ZAorICAgICAgICBtb3ZxICAgICAgJDB4MTAwMDAwMDAwLCAlcmJ4CisgICAgICAgIHNocnEgICAgICAlY2wsICVyYngKKyAgICAgICAgbW92cSAgICAgICQwLCAlcmN4CisgICAgICAgIG1vdnEgICAgICAkMCwgJXIxMQorICAgICAgICBzdWJxICAgICAgJXI4LCAlcmN4CisgICAgICAgIHNiYnEgICAgICAlcjEwLCAlcjExCisgICAgICAgIHNiYnEgICAgICAlcjksICVyYngKKyAgICAgICAgbW92cSAgICAgICVyY3gsICVyOAorICAgICAgICBtb3ZxICAgICAgJXIxMSwgJXIxMAorICAgICAgICBtb3ZxICAgICAgJXJieCwgJXI5CisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYngKKyAgICAgICAgc2hycSAgICAgICQzLCAlcmRpCisgICAgICAgIGFkZGwgICAgICAkNTM2ODcwOTEyLCAlZWRpCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMQorLkxfMlRBR19QQUNLRVRfMi4wLjE6CisgICAgICAgIG1vdnNkICAgICA4KCVyc3ApLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgTkVHX1pFUk8oJXJpcCksICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgKCVyc3ApCisuTF8yVEFHX1BBQ0tFVF8xMy4wLjE6CisuLkIxLjQ6CisgICAgICAgIGFkZHEgICAgICAkMTYsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2Nvcy42OgorICAgICAgICBwb3BxICAgICAgJXJieAorLi5fX190YWdfdmFsdWVfY29zLjg6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2Nvcy45OgorRU5EKGNvcykKKyMgLS0gRW5kICBjb3MKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK09ORUhBTEY6CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS50eXBlCU9ORUhBTEYsQG9iamVjdAorCS5zaXplCU9ORUhBTEYsMTYKKwkuYWxpZ24gMTYKK1BfMjoKKwkubG9uZwk0NDI0OTkwNzIKKwkubG9uZwkxMDMyODkzNTM3CisJLmxvbmcJNDQyNDk5MDcyCisJLmxvbmcJMTAzMjg5MzUzNworCS50eXBlCVBfMixAb2JqZWN0CisJLnNpemUJUF8yLDE2CisJLmFsaWduIDE2CitTQ180OgorCS5sb25nCTI3NzM5Mjc3MzIKKwkubG9uZwkxMDUzMjM2NzA3CisJLmxvbmcJNDM2MzE0MTM4CisJLmxvbmcJMTA1NjU3MTgwOAorCS50eXBlCVNDXzQsQG9iamVjdAorCS5zaXplCVNDXzQsMTYKKwkuYWxpZ24gMTYKK0N0YWJsZToKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTM5MzA0NzM0NQorCS5sb25nCTMyMTIwMzIzMDIKKwkubG9uZwkzMTU2ODQ5NzA4CisJLmxvbmcJMTA2OTA5NDgyMgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTU4MTg5ODQ4CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxODExNTA2NworCS5sb25nCTMyMTQxMjYzNDIKKwkubG9uZwkxMDEzNTU2NzQ3CisJLmxvbmcJMTA3MDEzNTQ4MAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkzMTYwNTY3MDY1CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyNDc2NTQ4Njk4CisJLmxvbmcJMzIxNTMzMDI4MgorCS5sb25nCTc4NTc1MTgxNAorCS5sb25nCTEwNzA3NjUwNjIKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMzE2MTgzODIyMQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjI1NTE5NzY0NworCS5sb25nCTMyMTYyMTExMDUKKwkubG9uZwkyNzk2NDY0NDgzCisJLmxvbmcJMTA3MTE1MjYxMAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTYwODc4MzE3CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxOTQ1NzY4NTY5CisJLmxvbmcJMzIxNjkxNTA0OAorCS5sb25nCTkzOTk4MDM0NworCS5sb25nCTEwNzE1MjQ3MDEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDEyNzk2ODA5CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxNTM5NjY4MzQwCisJLmxvbmcJMzIxNzM5NjMyNworCS5sb25nCTk2NzczMTQwMAorCS5sb25nCTEwNzE3NjEyMTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1NzUyMTU3CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxNDAzNzU3MzA5CisJLmxvbmcJMzIxNzg4NjcxOAorCS5sb25nCTYyMTM1NDQ1NAorCS5sb25nCTEwNzE5MjY1MTUKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDEzNDUwNjAyCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMTA3MDIzNjI4MQorCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkxMDcyMDc5MDA2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MzI4Mjc0MAorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjQ4NTQxNzgxNgorCS5sb25nCTEwNjk2MjYzMTYKKwkubG9uZwkxNzk2NTQ0MzIxCisJLmxvbmcJMTA3MjIxNzIxNgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjI2ODY5NDUKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTI1OTg4MDA1MTkKKwkubG9uZwkxMDY4MjY2NDE5CisJLmxvbmcJNjg4ODI0NzM5CisJLmxvbmcJMTA3MjMzOTgxNAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEwNDMxNTM2CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyMTQwMTgzNjMwCisJLmxvbmcJMzIxNDc1NjM5NgorCS5sb25nCTQwNTE3NDYyMjUKKwkubG9uZwkxMDcyNDQ1NjE4CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTMxNjE5MDczNzcKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTE2OTkwNDM5NTcKKwkubG9uZwkzMjE2OTAyMjYxCisJLmxvbmcJMzQ3NjE5NjY3OAorCS5sb25nCTEwNzI1MzM2MTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE0MjU3NjM4CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkxOTkxMDQ3MjEzCisJLmxvbmcJMTA2Nzc1MzUyMQorCS5sb25nCTE0NTU4Mjg0NDIKKwkubG9uZwkxMDcyNjAyOTQ1CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTU1MDUwNzMKKwkubG9uZwkwCisJLmxvbmcJMTA3MDU5NjA5NgorCS5sb25nCTI0MDc0MDMwOQorCS5sb25nCTMyMTU3Mjc5MDMKKwkubG9uZwkzNDg5MDk0ODMyCisJLmxvbmcJMTA3MjY1Mjk1MQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTQzMjU3ODMKKwkubG9uZwkwCisJLmxvbmcJMTA3MDU5NjA5NgorCS5sb25nCTI1NzUwMzA1NgorCS5sb25nCTMyMTQ2NDc2NTMKKwkubG9uZwkyNzQ4MzkyNzQyCisJLmxvbmcJMTA3MjY4MzE0OQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkzMTYzMDYxNzUwCisJLmxvbmcJMAorCS5sb25nCTEwNjk1NDc1MjAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI1NzUwMzA1NgorCS5sb25nCTEwNjcxNjQwMDUKKwkubG9uZwkyNzQ4MzkyNzQyCisJLmxvbmcJMTA3MjY4MzE0OQorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkzMTYzMDYxNzUwCisJLmxvbmcJMAorCS5sb25nCTMyMTcwMzExNjgKKwkubG9uZwkyNDA3NDAzMDkKKwkubG9uZwkxMDY4MjQ0MjU1CisJLmxvbmcJMzQ4OTA5NDgzMgorCS5sb25nCTEwNzI2NTI5NTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE0MzI1NzgzCisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkxOTkxMDQ3MjEzCisJLmxvbmcJMzIxNTIzNzE2OQorCS5sb25nCTE0NTU4Mjg0NDIKKwkubG9uZwkxMDcyNjAyOTQ1CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTU1MDUwNzMKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTE2OTkwNDM5NTcKKwkubG9uZwkxMDY5NDE4NjEzCisJLmxvbmcJMzQ3NjE5NjY3OAorCS5sb25nCTEwNzI1MzM2MTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE0MjU3NjM4CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyMTQwMTgzNjMwCisJLmxvbmcJMTA2NzI3Mjc0OAorCS5sb25nCTQwNTE3NDYyMjUKKwkubG9uZwkxMDcyNDQ1NjE4CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTMxNjE5MDczNzcKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTI1OTg4MDA1MTkKKwkubG9uZwkzMjE1NzUwMDY3CisJLmxvbmcJNjg4ODI0NzM5CisJLmxvbmcJMTA3MjMzOTgxNAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEwNDMxNTM2CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNDg1NDE3ODE2CisJLmxvbmcJMzIxNzEwOTk2NAorCS5sb25nCTE3OTY1NDQzMjEKKwkubG9uZwkxMDcyMjE3MjE2CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MjY4Njk0NQorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjU4MzQ5MDM1NAorCS5sb25nCTMyMTc3MTk5MjkKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MjA3OTAwNgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjMyODI3NDAKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTE0MDM3NTczMDkKKwkubG9uZwkxMDcwNDAzMDcwCisJLmxvbmcJNjIxMzU0NDU0CisJLmxvbmcJMTA3MTkyNjUxNQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTM0NTA2MDIKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE1Mzk2NjgzNDAKKwkubG9uZwkxMDY5OTEyNjc5CisJLmxvbmcJOTY3NzMxNDAwCisJLmxvbmcJMTA3MTc2MTIxMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTU3NTIxNTcKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE5NDU3Njg1NjkKKwkubG9uZwkxMDY5NDMxNDAwCisJLmxvbmcJOTM5OTgwMzQ3CisJLmxvbmcJMTA3MTUyNDcwMQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTI3OTY4MDkKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTIyNTUxOTc2NDcKKwkubG9uZwkxMDY4NzI3NDU3CisJLmxvbmcJMjc5NjQ2NDQ4MworCS5sb25nCTEwNzExNTI2MTAKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE2MDg3ODMxNworCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMjQ3NjU0ODY5OAorCS5sb25nCTEwNjc4NDY2MzQKKwkubG9uZwk3ODU3NTE4MTQKKwkubG9uZwkxMDcwNzY1MDYyCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTMxNjE4MzgyMjEKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTE4MTE1MDY3CisJLmxvbmcJMTA2NjY0MjY5NAorCS5sb25nCTEwMTM1NTY3NDcKKwkubG9uZwkxMDcwMTM1NDgwCisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTMxNjA1NjcwNjUKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTM5MzA0NzM0NQorCS5sb25nCTEwNjQ1NDg2NTQKKwkubG9uZwkzMTU2ODQ5NzA4CisJLmxvbmcJMTA2OTA5NDgyMgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTU4MTg5ODQ4CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTM5MzA0NzM0NQorCS5sb25nCTEwNjQ1NDg2NTQKKwkubG9uZwkzMTU2ODQ5NzA4CisJLmxvbmcJMzIxNjU3ODQ3MAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEwNzA2MjAwCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxODExNTA2NworCS5sb25nCTEwNjY2NDI2OTQKKwkubG9uZwkxMDEzNTU2NzQ3CisJLmxvbmcJMzIxNzYxOTEyOAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDEzMDgzNDE3CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyNDc2NTQ4Njk4CisJLmxvbmcJMTA2Nzg0NjYzNAorCS5sb25nCTc4NTc1MTgxNAorCS5sb25nCTMyMTgyNDg3MTAKKwkubG9uZwkyNjg0MzU0NTYwCisJLmxvbmcJMTAxNDM1NDU3MworCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMjI1NTE5NzY0NworCS5sb25nCTEwNjg3Mjc0NTcKKwkubG9uZwkyNzk2NDY0NDgzCisJLmxvbmcJMzIxODYzNjI1OAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEzMzk0NjY5CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxOTQ1NzY4NTY5CisJLmxvbmcJMTA2OTQzMTQwMAorCS5sb25nCTkzOTk4MDM0NworCS5sb25nCTMyMTkwMDgzNDkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYwMjgwNDU3CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxNTM5NjY4MzQwCisJLmxvbmcJMTA2OTkxMjY3OQorCS5sb25nCTk2NzczMTQwMAorCS5sb25nCTMyMTkyNDQ4NTkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYzMjM1ODA1CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxNDAzNzU3MzA5CisJLmxvbmcJMTA3MDQwMzA3MAorCS5sb25nCTYyMTM1NDQ1NAorCS5sb25nCTMyMTk0MTAxNjMKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYwOTM0MjUwCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMzIxNzcxOTkyOQorCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkzMjE5NTYyNjU0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTc5OTA5MgorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjQ4NTQxNzgxNgorCS5sb25nCTMyMTcxMDk5NjQKKwkubG9uZwkxNzk2NTQ0MzIxCisJLmxvbmcJMzIxOTcwMDg2NAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTUyMDMyOTcKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTI1OTg4MDA1MTkKKwkubG9uZwkzMjE1NzUwMDY3CisJLmxvbmcJNjg4ODI0NzM5CisJLmxvbmcJMzIxOTgyMzQ2MgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTU3OTE1MTg0CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyMTQwMTgzNjMwCisJLmxvbmcJMTA2NzI3Mjc0OAorCS5sb25nCTQwNTE3NDYyMjUKKwkubG9uZwkzMjE5OTI5MjY2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwMTQ0MjM3MjkKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTE2OTkwNDM5NTcKKwkubG9uZwkxMDY5NDE4NjEzCisJLmxvbmcJMzQ3NjE5NjY3OAorCS5sb25nCTMyMjAwMTcyNTkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYxNzQxMjg2CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkxOTkxMDQ3MjEzCisJLmxvbmcJMzIxNTIzNzE2OQorCS5sb25nCTE0NTU4Mjg0NDIKKwkubG9uZwkzMjIwMDg2NTkzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNjI5ODg3MjEKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTI0MDc0MDMwOQorCS5sb25nCTEwNjgyNDQyNTUKKwkubG9uZwkzNDg5MDk0ODMyCisJLmxvbmcJMzIyMDEzNjU5OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjE4MDk0MzEKKwkubG9uZwkwCisJLmxvbmcJMzIxODA3OTc0NAorCS5sb25nCTI1NzUwMzA1NgorCS5sb25nCTEwNjcxNjQwMDUKKwkubG9uZwkyNzQ4MzkyNzQyCisJLmxvbmcJMzIyMDE2Njc5NworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDE1NTc4MTAyCisJLmxvbmcJMAorCS5sb25nCTMyMTcwMzExNjgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI1NzUwMzA1NgorCS5sb25nCTMyMTQ2NDc2NTMKKwkubG9uZwkyNzQ4MzkyNzQyCisJLmxvbmcJMzIyMDE2Njc5NworCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDE1NTc4MTAyCisJLmxvbmcJMAorCS5sb25nCTEwNjk1NDc1MjAKKwkubG9uZwkyNDA3NDAzMDkKKwkubG9uZwkzMjE1NzI3OTAzCisJLmxvbmcJMzQ4OTA5NDgzMgorCS5sb25nCTMyMjAxMzY1OTkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYxODA5NDMxCisJLmxvbmcJMAorCS5sb25nCTEwNzA1OTYwOTYKKwkubG9uZwkxOTkxMDQ3MjEzCisJLmxvbmcJMTA2Nzc1MzUyMQorCS5sb25nCTE0NTU4Mjg0NDIKKwkubG9uZwkzMjIwMDg2NTkzCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNjI5ODg3MjEKKwkubG9uZwkwCisJLmxvbmcJMTA3MDU5NjA5NgorCS5sb25nCTE2OTkwNDM5NTcKKwkubG9uZwkzMjE2OTAyMjYxCisJLmxvbmcJMzQ3NjE5NjY3OAorCS5sb25nCTMyMjAwMTcyNTkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYxNzQxMjg2CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyMTQwMTgzNjMwCisJLmxvbmcJMzIxNDc1NjM5NgorCS5sb25nCTQwNTE3NDYyMjUKKwkubG9uZwkzMjE5OTI5MjY2CisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTEwMTQ0MjM3MjkKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTI1OTg4MDA1MTkKKwkubG9uZwkxMDY4MjY2NDE5CisJLmxvbmcJNjg4ODI0NzM5CisJLmxvbmcJMzIxOTgyMzQ2MgorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTU3OTE1MTg0CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNDg1NDE3ODE2CisJLmxvbmcJMTA2OTYyNjMxNgorCS5sb25nCTE3OTY1NDQzMjEKKwkubG9uZwkzMjE5NzAwODY0CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTIwMzI5NworCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjU4MzQ5MDM1NAorCS5sb25nCTEwNzAyMzYyODEKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMzIxOTU2MjY1NAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTU3OTkwOTIKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTE0MDM3NTczMDkKKwkubG9uZwkzMjE3ODg2NzE4CisJLmxvbmcJNjIxMzU0NDU0CisJLmxvbmcJMzIxOTQxMDE2MworCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjA5MzQyNTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE1Mzk2NjgzNDAKKwkubG9uZwkzMjE3Mzk2MzI3CisJLmxvbmcJOTY3NzMxNDAwCisJLmxvbmcJMzIxOTI0NDg1OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjMyMzU4MDUKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE5NDU3Njg1NjkKKwkubG9uZwkzMjE2OTE1MDQ4CisJLmxvbmcJOTM5OTgwMzQ3CisJLmxvbmcJMzIxOTAwODM0OQorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjAyODA0NTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTIyNTUxOTc2NDcKKwkubG9uZwkzMjE2MjExMTA1CisJLmxvbmcJMjc5NjQ2NDQ4MworCS5sb25nCTMyMTg2MzYyNTgKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxMzM5NDY2OQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjQ3NjU0ODY5OAorCS5sb25nCTMyMTUzMzAyODIKKwkubG9uZwk3ODU3NTE4MTQKKwkubG9uZwkzMjE4MjQ4NzEwCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwMTQzNTQ1NzMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTE4MTE1MDY3CisJLmxvbmcJMzIxNDEyNjM0MgorCS5sb25nCTEwMTM1NTY3NDcKKwkubG9uZwkzMjE3NjE5MTI4CisJLmxvbmcJMzIyMTIyNTQ3MgorCS5sb25nCTEwMTMwODM0MTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTM5MzA0NzM0NQorCS5sb25nCTMyMTIwMzIzMDIKKwkubG9uZwkzMTU2ODQ5NzA4CisJLmxvbmcJMzIxNjU3ODQ3MAorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDEwNzA2MjAwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkudHlwZQlDdGFibGUsQG9iamVjdAorCS5zaXplCUN0YWJsZSwyMDQ4CisJLmFsaWduIDE2CitTQ18yOgorCS5sb25nCTI4NjMzMTE1MworCS5sb25nCTEwNjU0MjMxMjEKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA2Nzc5OTg5MworCS50eXBlCVNDXzIsQG9iamVjdAorCS5zaXplCVNDXzIsMTYKKwkuYWxpZ24gMTYKK1NDXzM6CisJLmxvbmcJNDM2MzE0MTM4CisJLmxvbmcJMzIwNzIwMTE4NAorCS5sb25nCTM4MTc3NDg3MQorCS5sb25nCTMyMTAxMzM4NjgKKwkudHlwZQlTQ18zLEBvYmplY3QKKwkuc2l6ZQlTQ18zLDE2CisJLmFsaWduIDE2CitTQ18xOgorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkzMjE3MzgwNjkzCisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkudHlwZQlTQ18xLEBvYmplY3QKKwkuc2l6ZQlTQ18xLDE2CisJLmFsaWduIDE2CitQSV9JTlZfVEFCTEU6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNzM0MjYxMTAyCisJLmxvbmcJMTMxMzA4NDcxMworCS5sb25nCTQyMzA0MzY4MTcKKwkubG9uZwk0MTEzODgyNTYwCisJLmxvbmcJMzY4MDY3MTEyOQorCS5sb25nCTEwMTEwNjA4MDEKKwkubG9uZwk0MjY2NzQ2Nzk1CisJLmxvbmcJMzczNjg0NzcxMworCS5sb25nCTMwNzI2MTgwNDIKKwkubG9uZwkxMTEyMzk2NTEyCisJLmxvbmcJMTA1NDU5NDM0CisJLmxvbmcJMTY0NzI5MzcyCisJLmxvbmcJNDI2MzM3MzU5NgorCS5sb25nCTI5NzIyOTcwMjIKKwkubG9uZwkzOTAwODQ3NjA1CisJLmxvbmcJNzg0MDI0NzA4CisJLmxvbmcJMzkxOTM0MzY1NAorCS5sb25nCTMwMjYxNTcxMjEKKwkubG9uZwk5NjU4NTg4NzMKKwkubG9uZwkyMjAzMjY5NjIwCisJLmxvbmcJMjYyNTkyMDkwNworCS5sb25nCTMxODcyMjI1ODcKKwkubG9uZwk1MzYzODU1MzUKKwkubG9uZwkzNzI0OTA4NTU5CisJLmxvbmcJNDAxMjgzOTMwNworCS5sb25nCTE1MTA2MzI3MzUKKwkubG9uZwkxODMyMjg3OTUxCisJLmxvbmcJNjY3NjE3NzE5CisJLmxvbmcJMTMzMDAwMzgxNAorCS5sb25nCTI2NTcwODU5OTcKKwkubG9uZwkxOTY1NTM3OTkxCisJLmxvbmcJMzk1NzcxNTMyMworCS5sb25nCTEwMjM4ODM3NjcKKwkubG9uZwkyMzIwNjY3MzcwCisJLmxvbmcJMTgxMTYzNjE0NQorCS5sb25nCTUyOTM1ODA4OAorCS5sb25nCTE0NDMwNDk1NDIKKwkubG9uZwk0MjM1OTQ2OTIzCisJLmxvbmcJNDA0MDE0NTk1MworCS50eXBlCVBJX0lOVl9UQUJMRSxAb2JqZWN0CisJLnNpemUJUElfSU5WX1RBQkxFLDE2NAorCS5zcGFjZSAxMiwgMHgwMCAJIyBwYWQKKwkuYWxpZ24gMTYKK1BJXzQ6CisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTEwNzIyNDMxOTUKKwkubG9uZwk0MDcyNzk3NjkKKwkubG9uZwkxMDQ2NzU4NDQ1CisJLnR5cGUJUElfNCxAb2JqZWN0CisJLnNpemUJUElfNCwxNgorCS5hbGlnbiA4CitQSTMySU5WOgorCS5sb25nCTE4NDE5NDA2MTEKKwkubG9uZwkxMDc2MTI1NDg4CisJLnR5cGUJUEkzMklOVixAb2JqZWN0CisJLnNpemUJUEkzMklOViw4CisJLmFsaWduIDgKK1NJR05fTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS50eXBlCVNJR05fTUFTSyxAb2JqZWN0CisJLnNpemUJU0lHTl9NQVNLLDgKKwkuYWxpZ24gOAorUF8xOgorCS5sb25nCTE0MTM0ODA0NDgKKwkubG9uZwkxMDY5MDk3NDY3CisJLnR5cGUJUF8xLEBvYmplY3QKKwkuc2l6ZQlQXzEsOAorCS5hbGlnbiA4CitQXzM6CisJLmxvbmcJNzcxOTc3MzMxCisJLmxvbmcJOTk2MzUwMzQ2CisJLnR5cGUJUF8zLEBvYmplY3QKKwkuc2l6ZQlQXzMsOAorCS5hbGlnbiA4CitPTkU6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkudHlwZQlPTkUsQG9iamVjdAorCS5zaXplCU9ORSw4CisJLmFsaWduIDgKK05FR19aRVJPOgorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJTkVHX1pFUk8sQG9iamVjdAorCS5zaXplCU5FR19aRVJPLDgKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMmMKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9jb3MuMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2Nvcy45LS4uX19fdGFnX3ZhbHVlX2Nvcy4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9jb3MuMy0uLl9fX3RhZ192YWx1ZV9jb3MuMQorCS40Ynl0ZSAweDAyODMxMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9jb3MuNS0uLl9fX3RhZ192YWx1ZV9jb3MuMworCS4yYnl0ZSAweDIwMGUKKwkuYnl0ZSAweDA0CisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2Nvcy42LS4uX19fdGFnX3ZhbHVlX2Nvcy41CisJLjRieXRlIDB4MDRjMzEwMGUKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfY29zLjgtLi5fX190YWdfdmFsdWVfY29zLjYKKwkuMmJ5dGUgMHgwODBlCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvc19leHBtMS5TIGIvbGlibS94ODZfNjQvc19leHBtMS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYTFkOWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9zX2V4cG0xLlMKQEAgLTAsMCArMSw3MjcgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBEZXNjcmlwdGlvbjoKKy8vICBMZXQgSyA9IDY0ICh0YWJsZSBzaXplKS4KKy8vCisvLyAgRm91ciBzdWItZG9tYWluczoKKy8vICAgIDEuIHx4fCA8IDEvKDIqSykKKy8vICAgICAgZXhwbTEoeCkgfiBQKHgpCisvLyAgICAyLiAxLygyKkspIDw9IHx4fCA8PSA1Nipsb2coMikKKy8vICAgICAgIHggICAgICAgeC9sb2coMikgICAgbgorLy8gICAgICBlIC0gMSA9IDIgICAgICAgICA9IDIgKiBUW2pdICogKDEgKyBQKHkpKSAtIDEKKy8vICAgIDMuIDU2KmxvZygyKSA8IHggPCBNQVhfTE9HCisvLyAgICAgICB4ICAgICAgIHggICB4L2xvZygyKSAgICBuCisvLyAgICAgIGUgLSAxIH4gZSA9IDIgICAgICAgICA9IDIgKiBUW2pdICogKDEgKyBQKHkpKQorLy8gICAgNC4geCA8IC01Nipsb2coMikKKy8vICAgICAgIHggICAgICAgICAgICB4CisvLyAgICAgIGUgLSAxID0gLTEgKyBlIH4gLTEKKy8vICAgIHdoZXJlCisvLyAgICAgICB4ID0gbSpsb2coMikvSyArIHksICAgIHkgaW4gWy1sb2coMikvSy4ubG9nKDIpL0tdCisvLyAgICAgICBtID0gbipLICsgaiwgICAgICAgICAgIG0sbixqIC0gc2lnbmVkIGludGVnZXIsIGogaW4gWy1LLzIuLksvMl0KKy8vICAgICAgICAgICAgICAgICAgai9LCisvLyAgICAgICB2YWx1ZXMgb2YgMiAgIGFyZSB0YWJ1bGF0ZWQgYXMgVFtqXSA9IFRfaGlbal0gKCAxICsgVF9sb1tqXSkuCisvLworLy8gICAgICAgUCh5KSBpcyBhIG1pbmltYXggcG9seW5vbWlhbCBhcHByb3hpbWF0aW9uIG9mIGV4cCh4KS0xCisvLyAgICAgICBvbiBzbWFsbCBpbnRlcnZhbCBbLWxvZygyKS9LLi5sb2coMikvS10gKHdlcmUgY2FsY3VsYXRlZCBieSBNYXBsZSBWKS4KKy8vCisvLyAgICBJbiBjYXNlIDMsIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggYXJpdGhtZXRpYyBvdmVyZmxvdyBhbmQgdW5kZXJmbG93LAorLy8gICAgICAgICAgICAgIG4gICAgICAgICAgICAgICAgICAgICAgICBuMSAgbjIKKy8vICAgIHZhbHVlIG9mIDIgIGlzIHNhZmVseSBjb21wdXRlZCBhcyAyICogMiB3aGVyZSBuMSBpbiBbLUJJQVMvMi4uQklBUy8yXQorLy8gICAgYW5kIEJJQVMgaXMgYSB2YWx1ZSBvZiBleHBvbmVudCBiaWFzLgorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgZXhwbTEoTmFOKSBpcyBOYU4KKy8vICBleHBtMSgrSU5GKSBpcyArSU5GCisvLyAgZXhwbTEoLUlORikgaXMgLTEKKy8vICBleHBtMSh4KSBpcyB4IGZvciBzdWJub3JtYWxzCisvLyAgZm9yIGZpbml0ZSBhcmd1bWVudCwgb25seSBleHBtMSgwKT0wIGlzIGV4YWN0LgorLy8gIEZvciBJRUVFIGRvdWJsZQorLy8gICAgaWYgeCA+IDcwOS43ODI3MTI4OTMzODM5NzMwOTYgdGhlbiBleHBtMSh4KSBvdmVyZmxvdworLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIGV4cG0xCitFTlRSWShleHBtMSkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9leHBtMS4xOgorICAgICAgICBzdWJxICAgICAgJDU2LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9leHBtMS4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDMyKCVyc3ApCisuLkIxLjI6CisgICAgICAgIHVucGNrbHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIGN2KCVyaXApLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgU2hpZnRlciglcmlwKSwgJXhtbTYKKyAgICAgICAgbW92YXBkICAgIDE2K2N2KCVyaXApLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgMzIrY3YoJXJpcCksICV4bW0zCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlYXgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVheAorICAgICAgICBtb3ZsICAgICAgJDE2NTI3LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIHN1YmwgICAgICAkMTYzMDQsICVlYXgKKyAgICAgICAgb3JsICAgICAgICVlYXgsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQtMjE0NzQ4MzY0OCwgJWVkeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMC4wLjIKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgc3VicGQgICAgICV4bW02LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICA0OCtjdiglcmlwKSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgNjQrY3YoJXJpcCksICV4bW01CisgICAgICAgIHN1YnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92ZCAgICAgICV4bW03LCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkNjMsICVlY3gKKyAgICAgICAgc2hsbCAgICAgICQ0LCAlZWN4CisgICAgICAgIHNhcmwgICAgICAkNiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJWVheCwgJWVkeAorICAgICAgICBzdWJwZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGxlYSAgICAgICBUYmxfYWRkciglcmlwKSwgJXIxMQorICAgICAgICBtb3ZhcGQgICAgKCVyY3gsJXIxMSksICV4bW0yCisgICAgICAgIG1vdnEgICAgICA4MCtjdiglcmlwKSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICV4bW0yLCAleG1tNAorICAgICAgICB1bnBja2hwZCAgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdmRxYSAgICBtbWFzayglcmlwKSwgJXhtbTYKKyAgICAgICAgcGFuZCAgICAgICV4bW02LCAleG1tNworICAgICAgICBtb3ZkcWEgICAgYmlhcyglcmlwKSwgJXhtbTYKKyAgICAgICAgcGFkZHEgICAgICV4bW02LCAleG1tNworICAgICAgICBwc2xscSAgICAgJDQ2LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTAKKyAgICAgICAgYWRkbCAgICAgICQ4OTQsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxOTE2LCAlZWR4CisgICAgICAgIGphICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMgorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVheAorICAgICAgICBwaW5zcncgICAgJDMsICVlYXgsICV4bW0zCisgICAgICAgIG9ycGQgICAgICAleG1tNywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMiwgJWVkeAorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW01CisgICAgICAgIHBzcmxxICAgICAkMzgsICV4bW0zCisgICAgICAgIHBzbGxxICAgICAkMzgsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDE2MzY4LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDE3MTg0LCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWR4LCAlZWN4CisgICAgICAgIHN1YmwgICAgICAkMTYyNTYsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlZHgsICVlY3gKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4yCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKy5MXzJUQUdfUEFDS0VUXzMuMC4yOgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8yLjAuMjoKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWR4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF80LjAuMgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzQuMC4yOgorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzEuMC4yOgorICAgICAgICBtb3ZsICAgICAgMzYoJXJzcCksICVlY3gKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICB1bnBja2hwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgY21wbCAgICAgICQwLCAlZWN4CisgICAgICAgIGpsICAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorICAgICAgICBmc3RjdyAgICAgKCVyc3ApCisgICAgICAgIG1vdncgICAgICAoJXJzcCksICVkeAorICAgICAgICBvcncgICAgICAgJDc2OCwgJWR4CisgICAgICAgIG1vdncgICAgICAlZHgsIDQoJXJzcCkKKyAgICAgICAgZmxkY3cgICAgIDQoJXJzcCkKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc2FybCAgICAgICQxLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIG1vdmRxYSAgICBlbWFzayglcmlwKSwgJXhtbTYKKyAgICAgICAgcGFuZG4gICAgICV4bW0yLCAleG1tNgorICAgICAgICBhZGRsICAgICAgJDEwMjMsICVlYXgKKyAgICAgICAgbW92ZCAgICAgICVlYXgsICV4bW0zCisgICAgICAgIHBzbGxxICAgICAkNTIsICV4bW0zCisgICAgICAgIG9ycGQgICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDE2KCVyc3ApCisgICAgICAgIGZsZGwgICAgICAxNiglcnNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTYsIDI0KCVyc3ApCisgICAgICAgIGZsZGwgICAgICAyNCglcnNwKQorICAgICAgICBtb3ZzZCAgICAgJXhtbTQsIDE2KCVyc3ApCisgICAgICAgIGZsZGwgICAgICAxNiglcnNwKQorICAgICAgICBhZGRsICAgICAgJDEwMjMsICVlZHgKKyAgICAgICAgbW92ZCAgICAgICVlZHgsICV4bW00CisgICAgICAgIHBzbGxxICAgICAkNTIsICV4bW00CisgICAgICAgIGZhZGRwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmbXVsICAgICAgJXN0LCAlc3QoMSkKKyAgICAgICAgZmFkZHAgICAgICVzdCwgJXN0KDEpCisgICAgICAgIG1vdnNkICAgICAleG1tNCwgMjQoJXJzcCkKKyAgICAgICAgZmxkbCAgICAgIDI0KCVyc3ApCisgICAgICAgIGZtdWxwICAgICAlc3QsICVzdCgxKQorICAgICAgICBmc3RwbCAgICAgMTYoJXJzcCkKKyAgICAgICAgbW92c2QgICAgIDE2KCVyc3ApLCAleG1tMAorICAgICAgICBmbGRjdyAgICAgKCVyc3ApCisgICAgICAgIHBleHRydyAgICAkMywgJXhtbTAsICVlY3gKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisgICAgICAgIGNtcGwgICAgICAkLTIxNDc0ODM2NDgsICVlY3gKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4yCisgICAgICAgIGptcCAgICAgICAuLkIxLjUKKy5MXzJUQUdfUEFDS0VUXzYuMC4yOgorICAgICAgICBtb3ZsICAgICAgJDQxLCA4KCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorLkxfMlRBR19QQUNLRVRfOC4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMjE0NjQzNTA3MiwgJWVheAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjIKKyAgICAgICAgbW92c2QgICAgIFhNQVgoJXJpcCksICV4bW0wCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92bCAgICAgICQ0MSwgOCglcnNwKQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjIKKy5MXzJUQUdfUEFDS0VUXzkuMC4yOgorICAgICAgICBtb3ZsICAgICAgMzYoJXJzcCksICVlYXgKKyAgICAgICAgbW92bCAgICAgIDMyKCVyc3ApLCAlZWR4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkMjE0NzQ4MzY0NywgJWVheAorICAgICAgICBjbXBsICAgICAgJDIxNDY0MzUwNzIsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMgorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMgorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzExLjAuMgorICAgICAgICBtb3ZxICAgICAgSU5GKCVyaXApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF81LjAuMgorLkxfMlRBR19QQUNLRVRfMTAuMC4yOgorICAgICAgICBtb3ZzZCAgICAgMzIoJXJzcCksICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMTIuMC4yOgorICAgICAgICBhZGRsICAgICAgJDE2MzA0LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMTU1MDQsICVlYXgKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEzLjAuMgorICAgICAgICBtb3ZhcGQgICAgY3ZsKCVyaXApLCAleG1tMgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIDE2K2N2bCglcmlwKSwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIDMyK2N2bCglcmlwKSwgJXhtbTQKKyAgICAgICAgbW92cSAgICAgIDQ4K2N2bCglcmlwKSwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdmwgICAgICAkMTYzNTIsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tNywgJXhtbTcKKyAgICAgICAgbW92bCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW03CisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tNQorICAgICAgICBwc2h1ZmQgICAgJDIyOCwgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGFkZHBkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgICV4bW03LCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgcHNybHEgICAgICQyNywgJXhtbTcKKyAgICAgICAgcHNsbHEgICAgICQyNywgJXhtbTcKKyAgICAgICAgbW92cSAgICAgIEhJR0hNQVNLKCVyaXApLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTIsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTYKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8xMy4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMTYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzMuMC4yCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMzEsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjIKKyAgICAgICAgbW92bCAgICAgICQxNiwgJWVkeAorICAgICAgICB4b3JwZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDQyLCA4KCVyc3ApCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMgorLkxfMlRBR19QQUNLRVRfMC4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMCwgJWVheAorICAgICAgICBqbCAgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4yCisgICAgICAgIG1vdmwgICAgICAzNiglcnNwKSwgJWVheAorICAgICAgICBjbXBsICAgICAgJDEwODMxNzkwMDgsICVlYXgKKyAgICAgICAgamdlICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisgICAgICAgIGNtcGwgICAgICAkLTEwNDg1NzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4yCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZsICAgICAgJDQ5MTM2LCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfNy4wLjI6CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgNDAoJXJzcCkKKy4uQjEuMzoKKyAgICAgICAgbW92cSAgICAgIDQwKCVyc3ApLCAleG1tMAorLkxfMlRBR19QQUNLRVRfMTQuMC4yOgorLi5CMS41OgorICAgICAgICBhZGRxICAgICAgJDU2LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9leHBtMS40OgorICAgICAgICByZXQgICAgICAgCisuLl9fX3RhZ192YWx1ZV9leHBtMS41OgorRU5EKGV4cG0xKQorIyAtLSBFbmQgIGV4cG0xCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitjdjoKKwkubG9uZwkxNjk3MzUwMzk4CisJLmxvbmcJMTA3OTQ0ODkwMworCS5sb25nCTE2OTczNTAzOTgKKwkubG9uZwkxMDc5NDQ4OTAzCisJLmxvbmcJNDI3Nzc5Njg2NAorCS5sb25nCTEwNjU3NTgyNzQKKwkubG9uZwk0Mjc3Nzk2ODY0CisJLmxvbmcJMTA2NTc1ODI3NAorCS5sb25nCTMxNjQ0ODY0NTgKKwkubG9uZwkxMDI1MzA4NTcwCisJLmxvbmcJMzE2NDQ4NjQ1OAorCS5sb25nCTEwMjUzMDg1NzAKKwkubG9uZwkxOTYzMzU4Njk0CisJLmxvbmcJMTA2NTQyMzEyMQorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDY5ODk3MDQ1CisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjc3OTk4OTMKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTM4MTc3NDg3MQorCS5sb25nCTEwNjI2NTAyMjAKKwkubG9uZwkzODE3NzQ4NzEKKwkubG9uZwkxMDYyNjUwMjIwCisJLnR5cGUJY3YsQG9iamVjdAorCS5zaXplCWN2LDk2CisJLmFsaWduIDE2CitTaGlmdGVyOgorCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMAorCS5sb25nCTExMjc3NDM0ODgKKwkudHlwZQlTaGlmdGVyLEBvYmplY3QKKwkuc2l6ZQlTaGlmdGVyLDE2CisJLmFsaWduIDE2CitUYmxfYWRkcjoKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTAwMDA3MDk1NQorCS5sb25nCTEwNDIxNDUzMDQKKwkubG9uZwkxMDQwMTg3MzkyCisJLmxvbmcJMTE0MTgKKwkubG9uZwk5ODgyNjc4NDkKKwkubG9uZwkxMDM5NTAwNjYwCisJLmxvbmcJMzUzOTk5MjU3NgorCS5sb25nCTIyOTYwCisJLmxvbmcJMzY3NTU0MDEKKwkubG9uZwkxMDQyMTE0MjkwCisJLmxvbmcJNDAyNjUzMTg0CisJLmxvbmcJMzQ2MjkKKwkubG9uZwkzNjM0NzY5NDgzCisJLmxvbmcJMTA0MjE3ODYyNworCS5sb25nCTE4MjAzMjc5MzYKKwkubG9uZwk0NjQyNAorCS5sb25nCTIxNTU5OTEyMjUKKwkubG9uZwkxMDQxNTYwNjgwCisJLmxvbmcJODQ3MjQ5NDA4CisJLmxvbmcJNTgzNDgKKwkubG9uZwkyNzY2OTEzMzA3CisJLmxvbmcJMTAzOTI5MzI2NAorCS5sb25nCTM0ODk2NjA5MjgKKwkubG9uZwk3MDQwMQorCS5sb25nCTM2NTExNzQ2MDIKKwkubG9uZwkxMDQwNDg4MTc1CisJLmxvbmcJMjkyNzYyNDE5MgorCS5sb25nCTgyNTg2CisJLmxvbmcJMzA3Mzg5MjEzMQorCS5sb25nCTEwNDIyNDA2MDYKKwkubG9uZwkxMDA2NjMyOTYwCisJLmxvbmcJOTQ5MDQKKwkubG9uZwkxMzI4MzkxNzQyCisJLmxvbmcJMTA0MjAxOTAzNworCS5sb25nCTM5NDI2NDU3NjAKKwkubG9uZwkxMDczNTUKKwkubG9uZwkyNjUwODkzODI1CisJLmxvbmcJMTA0MTkwMzIxMAorCS5sb25nCTgyMjA4MzU4NAorCS5sb25nCTExOTk0MworCS5sb25nCTIzOTcyODkxNTMKKwkubG9uZwkxMDQxODAyMDM3CisJLmxvbmcJMjI4MTcwMTM3NgorCS5sb25nCTEzMjY2NworCS5sb25nCTQzMDk5NzE3NQorCS5sb25nCTEwNDIxMTA2MDYKKwkubG9uZwkxODQ1NDkzNzYwCisJLmxvbmcJMTQ1NTMwCisJLmxvbmcJMTIzMDkzNjUyNQorCS5sb25nCTEwNDE4MDEwMTUKKwkubG9uZwkxNzAyODg3NDI0CisJLmxvbmcJMTU4NTMzCisJLmxvbmcJNzQwNjc1OTM1CisJLmxvbmcJMTA0MDE3ODkxMworCS5sb25nCTQxMTA0MTc5MjAKKwkubG9uZwkxNzE2NzcKKwkubG9uZwkzNDg5ODEwMjYxCisJLmxvbmcJMTA0MTgyNTk4NgorCS5sb25nCTI3OTM0MDY0NjQKKwkubG9uZwkxODQ5NjUKKwkubG9uZwkyNTMyNjAwNTMwCisJLmxvbmcJMTA0MDc2Nzg4MgorCS5sb25nCTE2Nzc3MjE2MAorCS5sb25nCTE5ODM5OAorCS5sb25nCTM1NDI1NTcwNjAKKwkubG9uZwkxMDQxODI3MjYzCisJLmxvbmcJMjk4NjM0NDQ0OAorCS5sb25nCTIxMTk3NgorCS5sb25nCTE0MDE1NjM3NzcKKwkubG9uZwkxMDQxMDYxMDkzCisJLmxvbmcJOTIyNzQ2ODgwCisJLmxvbmcJMjI1NzAzCisJLmxvbmcJMzEyOTQwNjAyNgorCS5sb25nCTEwNDE4NTI0MTMKKwkubG9uZwk4ODA4MDM4NDAKKwkubG9uZwkyMzk1NzkKKwkubG9uZwk5MDA5OTM1NzIKKwkubG9uZwkxMDM5MjgzMjM0CisJLmxvbmcJMTI3NTA2ODQxNgorCS5sb25nCTI1MzYwNgorCS5sb25nCTIxMTUwMjkzNTgKKwkubG9uZwkxMDQyMTQwMDQyCisJLmxvbmcJNTYyMDM2NzM2CisJLmxvbmcJMjY3Nzg2CisJLmxvbmcJMTA4NjY0MzE1MgorCS5sb25nCTEwNDE3ODU0MTkKKwkubG9uZwkxNjEwNjEyNzM2CisJLmxvbmcJMjgyMTIwCisJLmxvbmcJODI4NjQzNjYKKwkubG9uZwkxMDQxMjU2MjQ0CisJLmxvbmcJMzA0NTA2NDcwNAorCS5sb25nCTI5NjYxMAorCS5sb25nCTIzOTI5NjgxNTIKKwkubG9uZwkxMDQwOTEzNjgzCisJLmxvbmcJMzU3MzU0NzAwOAorCS5sb25nCTMxMTI1OAorCS5sb25nCTI5MDU4NTYxODMKKwkubG9uZwkxMDQwMDAyMjE0CisJLmxvbmcJMTk4ODEwMDA5NgorCS5sb25nCTMyNjA2NgorCS5sb25nCTM3NDIwMDgyNjEKKwkubG9uZwkxMDQwMDExMTM3CisJLmxvbmcJMTQ1MTIyOTE4NAorCS5sb25nCTM0MTAzNQorCS5sb25nCTg2MzM5Mzc5NAorCS5sb25nCTEwNDA4ODA2MjEKKwkubG9uZwk5MTQzNTgyNzIKKwkubG9uZwkzNTYxNjcKKwkubG9uZwkxNDQ2MTM2ODM3CisJLmxvbmcJMTA0MTM3MjQyNgorCS5sb25nCTM3MDc3NjQ3MzYKKwkubG9uZwkzNzE0NjMKKwkubG9uZwk5Mjc4NTUyMDEKKwkubG9uZwkxMDQwNjE3NjM2CisJLmxvbmcJMzYwNzEwMTQ0CisJLmxvbmcJMzg2OTI3CisJLmxvbmcJMTQ5MjY3OTkzOQorCS5sb25nCTEwNDEwNTAzMDYKKwkubG9uZwkyOTUyNzkwMDE2CisJLmxvbmcJNDAyNTU4CisJLmxvbmcJNjA4ODI3MDAxCisJLmxvbmcJMTA0MTU4MjIxNworCS5sb25nCTIxODEwMzgwODAKKwkubG9uZwk0MTgzNjAKKwkubG9uZwk2MDYyNjAyMDQKKwkubG9uZwkxMDQyMjcxOTg3CisJLmxvbmcJMTcxMTI3NjAzMgorCS5sb25nCTQzNDMzNAorCS5sb25nCTMxNjMwNDQwMTkKKwkubG9uZwkxMDQxODQzODUxCisJLmxvbmcJMTAwNjYzMjk2MAorCS5sb25nCTQ1MDQ4MgorCS5sb25nCTQxNDg3NDczMjUKKwkubG9uZwkxMDQxOTYyOTcyCisJLmxvbmcJMzkwMDcwMjcyMAorCS5sb25nCTQ2NjgwNQorCS5sb25nCTgwMjkyNDIwMQorCS5sb25nCTEwNDEyNzUzNzgKKwkubG9uZwkxNDQyODQwNTc2CisJLmxvbmcJNDgzMzA3CisJLmxvbmcJMzA1Mjc0OTgzMworCS5sb25nCTEwNDE5NDA1NzcKKwkubG9uZwkxOTM3NzY4NDQ4CisJLmxvbmcJNDk5OTg4CisJLmxvbmcJMjIxNjExNjM5OQorCS5sb25nCTEwNDE0ODY3NDQKKwkubG9uZwk5MTQzNTgyNzIKKwkubG9uZwk1MTY4NTEKKwkubG9uZwkyNzI5Njk3ODM2CisJLmxvbmcJMTA0MTQ0NTc2NAorCS5sb25nCTI1NjY5MTQwNDgKKwkubG9uZwk1MzM4OTcKKwkubG9uZwk1NDA2MDgzNTYKKwkubG9uZwkxMDQxMzEwOTA3CisJLmxvbmcJMjYwMDQ2ODQ4MAorCS5sb25nCTU1MTEyOQorCS5sb25nCTI5MTYzNDQ0OTMKKwkubG9uZwkxMDQwNTM1NjYxCisJLmxvbmcJMTEwNzI5NjI1NgorCS5sb25nCTU2ODU0OQorCS5sb25nCTczMTM5MTgxNAorCS5sb25nCTEwMzk0OTcwMTQKKwkubG9uZwkyNTY2OTE0MDQ4CisJLmxvbmcJNTg2MTU4CisJLmxvbmcJMTAyNDcyMjcwNAorCS5sb25nCTEwNDE0NjE2MjUKKwkubG9uZwkyOTYxMTc4NjI0CisJLmxvbmcJNjAzOTU5CisJLmxvbmcJMzgwNjgzMTc0OAorCS5sb25nCTEwNDE3MzI0OTkKKwkubG9uZwkyNjc1OTY1OTUyCisJLmxvbmcJNjIxOTU0CisJLmxvbmcJMjM4OTUzMzA0CisJLmxvbmcJMTA0MDMxNjQ4OAorCS5sb25nCTIxODk0MjY2ODgKKwkubG9uZwk2NDAxNDUKKwkubG9uZwk3NDkxMjMyMzUKKwkubG9uZwkxMDQxNzI1Nzg1CisJLmxvbmcJMjA2MzU5NzU2OAorCS5sb25nCTY1ODUzNAorCS5sb25nCTExNjgxODc5NzcKKwkubG9uZwkxMDQxMTc1MjE0CisJLmxvbmcJMjk4NjM0NDQ0OAorCS5sb25nCTY3NzEyMworCS5sb25nCTM1MDYwOTYzOTkKKwkubG9uZwkxMDQyMTg2MDk1CisJLmxvbmcJMTQyNjA2MzM2MAorCS5sb25nCTY5NTkxNQorCS5sb25nCTE0NzAyMjE2MjAKKwkubG9uZwkxMDQxNjc1NDk5CisJLmxvbmcJMjU2NjkxNDA0OAorCS5sb25nCTcxNDkxMQorCS5sb25nCTMxODI0MjUxNDYKKwkubG9uZwkxMDQxNDgzMTM0CisJLmxvbmcJMzA4NzAwNzc0NAorCS5sb25nCTczNDExNAorCS5sb25nCTMxMzE2OTgyMDgKKwkubG9uZwkxMDQyMjA4NjU3CisJLmxvbmcJNDA2ODQ3NDg4MAorCS5sb25nCTc1MzUyNgorCS5sb25nCTIzMDA1MDQxMjUKKwkubG9uZwkxMDQxNDI4NTk2CisJLmxvbmcJMjQxNTkxOTEwNAorCS5sb25nCTc3MzE1MAorCS5sb25nCTIyOTAyOTc5MzEKKwkubG9uZwkxMDM3Mzg4NDAwCisJLmxvbmcJMzcxNjE1MzM0NAorCS5sb25nCTc5Mjk4NworCS5sb25nCTM1MzIxNDgyMjMKKwkubG9uZwkxMDQxNjI2MTk0CisJLmxvbmcJNzcxNzUxOTM2CisJLmxvbmcJODEzMDQxCisJLmxvbmcJMTE2MTg4NDQwNAorCS5sb25nCTEwNDIwMTUyNTgKKwkubG9uZwkzNjk5Mzc2MTI4CisJLmxvbmcJODMzMzEyCisJLmxvbmcJODc2MzgzMTc2CisJLmxvbmcJMTAzNzk2ODg3OAorCS5sb25nCTEyNDE1MTM5ODQKKwkubG9uZwk4NTM4MDUKKwkubG9uZwkzMzc5OTg2Nzk2CisJLmxvbmcJMTA0MjIxMzE1MworCS5sb25nCTM2OTkzNzYxMjgKKwkubG9uZwk4NzQ1MjAKKwkubG9uZwkxNTQ1Nzk3NzM3CisJLmxvbmcJMTA0MTY4MTU2OQorCS5sb25nCTU4NzIwMjU2CisJLmxvbmcJODk1NDYyCisJLmxvbmcJMjkyNTE0NjgwMQorCS5sb25nCTEwNDIyMTI1NjcKKwkubG9uZwk4NTU2MzgwMTYKKwkubG9uZwk5MTY2MzEKKwkubG9uZwkxMzE2NjI3OTcxCisJLmxvbmcJMTAzODUxNjIwNAorCS5sb25nCTM4ODM5MjU1MDQKKwkubG9uZwk5MzgwMzAKKwkubG9uZwkzMjY3ODY5MTM3CisJLmxvbmcJMTA0MDMzNzAwNAorCS5sb25nCTI3MjYyOTc2MDAKKwkubG9uZwk5NTk2NjMKKwkubG9uZwkzNzIwODY4OTk5CisJLmxvbmcJMTA0MTc4MjQwOQorCS5sb25nCTM5OTI5Nzc0MDgKKwkubG9uZwk5ODE1MzEKKwkubG9uZwk0MzMzMTYxNDIKKwkubG9uZwkxMDQxOTk0MDY0CisJLmxvbmcJMTUyNjcyNjY1NgorCS5sb25nCTEwMDM2MzgKKwkubG9uZwk3ODEyMzIxMDMKKwkubG9uZwkxMDQwMDkzNDAwCisJLmxvbmcJMjE3MjY0OTQ3MgorCS5sb25nCTEwMjU5ODUKKwkudHlwZQlUYmxfYWRkcixAb2JqZWN0CisJLnNpemUJVGJsX2FkZHIsMTAyNAorCS5hbGlnbiAxNgorbW1hc2s6CisJLmxvbmcJNDI5NDk2NzIzMgorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3MjMyCisJLmxvbmcJMAorCS50eXBlCW1tYXNrLEBvYmplY3QKKwkuc2l6ZQltbWFzaywxNgorCS5hbGlnbiAxNgorYmlhczoKKwkubG9uZwk2NTQ3MgorCS5sb25nCTAKKwkubG9uZwk2NTQ3MgorCS5sb25nCTAKKwkudHlwZQliaWFzLEBvYmplY3QKKwkuc2l6ZQliaWFzLDE2CisJLmFsaWduIDE2CitlbWFzazoKKwkubG9uZwkwCisJLmxvbmcJNDI5MzkxODcyMAorCS5sb25nCTAKKwkubG9uZwk0MjkzOTE4NzIwCisJLnR5cGUJZW1hc2ssQG9iamVjdAorCS5zaXplCWVtYXNrLDE2CisJLmFsaWduIDE2Citjdmw6CisJLmxvbmcJMjc3MzkyNzczMgorCS5sb25nCTEwNTMyMzY3MDcKKwkubG9uZwkzODE3NzQ4NzEKKwkubG9uZwkxMDYyNjUwMjIwCisJLmxvbmcJMzc5NjUzODk5CisJLmxvbmcJMTA1NjU3MTg0NQorCS5sb25nCTI4NjMzMTE1MworCS5sb25nCTEwNjU0MjMxMjEKKwkubG9uZwk0MzYzMTQxMzgKKwkubG9uZwkxMDU5NzE3NTM2CisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjc3OTk4OTMKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA2OTg5NzA0NQorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLnR5cGUJY3ZsLEBvYmplY3QKKwkuc2l6ZQljdmwsNjQKKwkuYWxpZ24gOAorWE1BWDoKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMjE0NjQzNTA3MQorCS50eXBlCVhNQVgsQG9iamVjdAorCS5zaXplCVhNQVgsOAorCS5hbGlnbiA4CitJTkY6CisJLmxvbmcJMAorCS5sb25nCTIxNDY0MzUwNzIKKwkudHlwZQlJTkYsQG9iamVjdAorCS5zaXplCUlORiw4CisJLmFsaWduIDgKK0hJR0hNQVNLOgorCS5sb25nCTQyMjc4NTg0MzIKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLnR5cGUJSElHSE1BU0ssQG9iamVjdAorCS5zaXplCUhJR0hNQVNLLDgKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9leHBtMS4xLS4KKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfZXhwbTEuNS0uLl9fX3RhZ192YWx1ZV9leHBtMS4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9leHBtMS4zLS4uX19fdGFnX3ZhbHVlX2V4cG0xLjEKKwkuMmJ5dGUgMHg0MDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9leHBtMS40LS4uX19fdGFnX3ZhbHVlX2V4cG0xLjMKKwkuMmJ5dGUgMHgwODBlCisJLmJ5dGUgMHgwMAorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L3NfbG9nMXAuUyBiL2xpYm0veDg2XzY0L3NfbG9nMXAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmYyZDM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvc19sb2cxcC5TCkBAIC0wLDAgKzEsODI5IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gICAgTGV0IHg9Ml5rICogbXgsIG14IGluIFsxLDIpCisvLworLy8gICAgR2V0IEJ+MS9teCBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIHJjcHBzIGluc3RydWN0aW9uIChCMCkKKy8vICAgIEIgPSBpbnQoKEIwKjJeNyswLjUpKS8yXjcKKy8vCisvLyAgICBSZWR1Y2VkIGFyZ3VtZW50OiByPUIqbXgtMS4wIChjb21wdXRlZCBhY2N1cmF0ZWx5IGluIGhpZ2ggYW5kIGxvdyBwYXJ0cykKKy8vCisvLyAgICBSZXN1bHQ6ICBrKmxvZygyKSAtIGxvZyhCKSArIHAocikKKy8vICAgICAgICAgICAgIHAocikgaXMgYSBkZWdyZWUgNyBwb2x5bm9taWFsCisvLyAgICAgICAgICAgICAtbG9nKEIpIHJlYWQgZnJvbSBkYXRhIHRhYmxlIChoaWdoLCBsb3cgcGFydHMpCisvLyAgICAgICAgICAgICBSZXN1bHQgaXMgZm9ybWVkIGZyb20gaGlnaCBhbmQgbG93IHBhcnRzCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICAgbG9nMXAoTmFOKSA9IHF1aWV0IE5hTiwgYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgIGxvZzFwKCtJTkYpID0gdGhhdCBJTkYKKy8vICAgbG9nMXAoeCkgPSBOYU4gaWYgeCA8IC0xIG9yIHggPSAtSU5GLCBhbmQgcmFpc2VzIGludmFsaWQgZXhjZXB0aW9uCisvLyAgIGxvZzFwKC0xKSA9IC1JTkYsIGFuZCByYWlzZXMgZGl2aWRlLWJ5LXplcm8gZXhjZXB0aW9uCisvLyAgIGxvZzFwKCsvLTApID0gKy8tMAorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIGxvZzFwCitFTlRSWShsb2cxcCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV9sb2cxcC4xOgorICAgICAgICBzdWJxICAgICAgJDI0LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9sb2cxcC4zOgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJXJzcCkKKy4uQjEuMjoKKyAgICAgICAgbW92cSAgICAgICQweDNmZjAwMDAwMDAwMDAwMDAsICVyYXgKKyAgICAgICAgbW92ZCAgICAgICVyYXgsICV4bW0yCisgICAgICAgIHhvcnBkICAgICAleG1tMywgJXhtbTMKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVjeAorICAgICAgICBtb3ZkICAgICAgJXJjeCwgJXhtbTQKKyAgICAgICAgbW92cSAgICAgICQweGZmZmZlMDAwMDAwMDAwMDAsICVyOAorICAgICAgICBtb3ZkICAgICAgJXI4LCAleG1tNQorICAgICAgICBtb3ZkZHVwICAgJXhtbTAsICV4bW03CisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0yLCAleG1tNgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWN4CisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgb3JwZCAgICAgICV4bW0yLCAleG1tMAorICAgICAgICBwc3JscSAgICAgJDI3LCAleG1tMAorICAgICAgICBsZWEgICAgICAgTF90YmwoJXJpcCksICVyMTEKKyAgICAgICAgcHNybGQgICAgICQyLCAleG1tMAorICAgICAgICBzdWJsICAgICAgJDE2LCAlZWF4CisgICAgICAgIGNtcGwgICAgICAkMzI3MzYsICVlYXgKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4yCisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgcmNwcHMgICAgICV4bW0wLCAleG1tMAorICAgICAgICBwc2xscSAgICAgJDEyLCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIyOCwgJXhtbTUsICV4bW02CisgICAgICAgIHBzcmxxICAgICAkMTIsICV4bW0xCisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQxNjI1NiwgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjIKKyAgICAgICAgYW5kbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBtb3ZsICAgICAgJDMyNzIwLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVjeCwgJXhtbTMKKy5MXzJUQUdfUEFDS0VUXzIuMC4yOgorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW03CisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICQweDM4MDAwMDAwMDAwMDAwMDAsICVyY3gKKyAgICAgICAgbW92ZCAgICAgICVyY3gsICV4bW00CisgICAgICAgIG9ycGQgICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWR4CisgICAgICAgIHBzbGxxICAgICAkMjksICV4bW0wCisgICAgICAgIGFuZHBkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIHBhZGRkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZsICAgICAgJDE2MzUyLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWF4CisgICAgICAgIGN2dHNpMnNkICAlZWF4LCAleG1tNAorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIGxvZzIoJXJpcCksICV4bW02CisgICAgICAgIG1vdmFwZCAgICBjb2VmZiglcmlwKSwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNQorICAgICAgICBhbmRsICAgICAgJDE2NzExNjgwLCAlZWR4CisgICAgICAgIHNocmwgICAgICAkMTIsICVlZHgKKyAgICAgICAgbW92YXBkICAgICglcjExLCVyZHgpLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgMTYrY29lZmYoJXJpcCksICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW02CisgICAgICAgIG11bHNkICAgICA4K2xvZzIoJXJpcCksICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbW92ZGR1cCAgICV4bW0xLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIG11bHBkICAgICAleG1tNSwgJXhtbTIKKyAgICAgICAgbXVscGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBtb3ZkZHVwICAgJXhtbTAsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgIDMyK2NvZWZmKCVyaXApLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQyMzgsICV4bW0yLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfMC4wLjI6CisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgOCglcnNwKSwgJXhtbTEKKyAgICAgICAgYWRkbCAgICAgICQxNiwgJWVheAorICAgICAgICBjbXBsICAgICAgJDMyNzY4LCAlZWF4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8zLjAuMgorICAgICAgICBjbXBsICAgICAgJDAsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF81LjAuMjoKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF82LjAuMjoKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4yCisgICAgICAgIGNtcGwgICAgICAkMCwgJWVkeAorICAgICAgICBqYSAgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjIKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4yCisuTF8yVEFHX1BBQ0tFVF8zLjAuMjoKKyAgICAgICAgbW92ZCAgICAgICV4bW0xLCAlZWR4CisgICAgICAgIHBzcmxxICAgICAkMzIsICV4bW0xCisgICAgICAgIG1vdmQgICAgICAleG1tMSwgJWVjeAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJC0yMDk3MTUyLCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF82LjAuMgorICAgICAgICBvcmwgICAgICAgJWVjeCwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlZHgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4yCisuTF8yVEFHX1BBQ0tFVF83LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMQorICAgICAgICBtb3ZsICAgICAgJDE0MSwgKCVyc3ApCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisuTF8yVEFHX1BBQ0tFVF80LjAuMjoKKyAgICAgICAgeG9ycGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkNDkxMzYsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBkaXZzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIG1vdmwgICAgICAkMTQwLCAoJXJzcCkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzguMC4yCisuTF8yVEFHX1BBQ0tFVF8xLjAuMjoKKyAgICAgICAgbW92cSAgICAgIDgoJXJzcCksICV4bW0wCisgICAgICAgIGNtcGwgICAgICAkMTU1MDQsICVlY3gKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4yCisgICAgICAgIG1vdmFwZCAgICBjb2VmZjIoJXJpcCksICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgMTYrY29lZmYyKCVyaXApLCAleG1tMgorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tMCwgJXhtbTQKKyAgICAgICAgbW92YXBkICAgIDMyK2NvZWZmMiglcmlwKSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICB4b3JwZCAgICAgJXhtbTYsICV4bW02CisgICAgICAgIG11bHBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgICV4bW0yLCAleG1tMQorICAgICAgICBwc2h1ZmQgICAgJDY4LCAleG1tNCwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBtb3ZsICAgICAgJDQ5MTIwLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW00CisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTQsICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMSwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNQorLkxfMlRBR19QQUNLRVRfOS4wLjI6CisgICAgICAgIGNtcGwgICAgICAkMTYsICVlY3gKKyAgICAgICAgamIgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMgorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF8xMC4wLjI6CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0xLCAleG1tMQorICAgICAgICBqbXAgICAgICAgLi5CMS41CisuTF8yVEFHX1BBQ0tFVF84LjAuMjoKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAxNiglcnNwKQorLi5CMS4zOgorICAgICAgICBtb3ZxICAgICAgMTYoJXJzcCksICV4bW0wCisuTF8yVEFHX1BBQ0tFVF8xMS4wLjI6CisuLkIxLjU6CisgICAgICAgIGFkZHEgICAgICAkMjQsICVyc3AKKy4uX19fdGFnX3ZhbHVlX2xvZzFwLjQ6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX2xvZzFwLjU6CitFTkQobG9nMXApCisjIC0tIEVuZCAgbG9nMXAKKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK0xfdGJsOgorCS5sb25nCTQyNzc4MTEyMDAKKwkubG9uZwkxMDcyMDQ5NzMwCisJLmxvbmcJMjQ3OTMxODgzMgorCS5sb25nCTEwMjY0ODcxMjcKKwkubG9uZwkyODU0NDkyMTYwCisJLmxvbmcJMTA3MjAzMzQxMAorCS5sb25nCTIxNTYzMTU1MAorCS5sb25nCTEwMjU2Mzg5NjgKKwkubG9uZwkxNTQ3MDYxMjQ4CisJLmxvbmcJMTA3MjAxNzIxNgorCS5sb25nCTI4ODY3ODE0MzUKKwkubG9uZwkxMDI2NDIzMzk1CisJLmxvbmcJNjQ5ODI1MjgwCisJLmxvbmcJMTA3MjAwMTE0NgorCS5sb25nCTQyODE1MzM0MDUKKwkubG9uZwkxMDI0MDM4OTIzCisJLmxvbmcJNjQ2MzQ2NzUyCisJLmxvbmcJMTA3MTk4NTE5OAorCS5sb25nCTE1NjI3MzU5MjEKKwkubG9uZwkxMDIzNzkwMjc2CisJLmxvbmcJMjIwMzczNDAxNgorCS5sb25nCTEwNzE5NjkzNzAKKwkubG9uZwkxODM4Mzk3NjkxCisJLmxvbmcJMzE3MzkzNjIwOQorCS5sb25nCTE4NzIxNjk5ODQKKwkubG9uZwkxMDcxOTUzNjYxCisJLmxvbmcJMzk4MTIwMjQ2MAorCS5sb25nCTEwMjIzMjUwMTMKKwkubG9uZwk2Njk1NTc3NjAKKwkubG9uZwkxMDcxOTM4MDY5CisJLmxvbmcJNDE4MjU5NzgwMgorCS5sb25nCTMxNzMxNzQxMjIKKwkubG9uZwk0MDc2NDEzOTUyCisJLmxvbmcJMTA3MTkyMjU5MQorCS5sb25nCTEyMDkwMjkxMTEKKwkubG9uZwkzMTcwNzM2MjA3CisJLmxvbmcJNTU2MTI1MTg0CisJLmxvbmcJMTA3MTkwNzIyOAorCS5sb25nCTgyMTA4NjAyOAorCS5sb25nCTMxNzM0MzcwNDkKKwkubG9uZwkyMDQ5MTQ2ODgKKwkubG9uZwkxMDcxODkxOTc2CisJLmxvbmcJMjA5NzAyNTk4NgorCS5sb25nCTMxNzEwNzE3OTgKKwkubG9uZwkzODc1NDUwODgKKwkubG9uZwkxMDcxODc2ODM0CisJLmxvbmcJMzE0MjkzNjk5NgorCS5sb25nCTMxNzMwOTIyMTgKKwkubG9uZwkyOTEyNzgzMzYwCisJLmxvbmcJMTA3MTg2MTgwMAorCS5sb25nCTI1MDI0MjAxNDAKKwkubG9uZwkxMDI0NTA1OTE5CisJLmxvbmcJMTE0NDI2MDYwOAorCS5sb25nCTEwNzE4NDY4NzQKKwkubG9uZwkzMzE1NjU4MTQwCisJLmxvbmcJMzE3MzQ2OTg0MworCS5sb25nCTE0NzEyMDk0NzIKKwkubG9uZwkxMDcxODMyMDUzCisJLmxvbmcJMTI5NjIxMDA5CisJLmxvbmcJMzE3MjQ0Mzg3NworCS5sb25nCTE4Mjk2ODMyMDAKKwkubG9uZwkxMDcxODE3MzM2CisJLmxvbmcJMzg4NTQ2NzY5MworCS5sb25nCTEwMjU1MzUyNzUKKwkubG9uZwkyODg2NzY4NjQKKwkubG9uZwkxMDcxODAyNzIyCisJLmxvbmcJODYxMzk0NzIKKwkubG9uZwkzMTcxNjM5NzkzCisJLmxvbmcJMzYzNjM3ODYyNAorCS5sb25nCTEwNzE3ODgyMDgKKwkubG9uZwkxODUwMjM4NTg3CisJLmxvbmcJMTAyNDY1NDM0MgorCS5sb25nCTE2MDY4MTc3OTIKKwkubG9uZwkxMDcxNzczNzk1CisJLmxvbmcJMzM4ODg5OTc5NQorCS5sb25nCTMxNzM2NzU1ODYKKwkubG9uZwkxMjM2MTY0NjA4CisJLmxvbmcJMTA3MTc1OTQ4MAorCS5sb25nCTM5ODM1OTkyMDcKKwkubG9uZwkxMDIwMDQ2NTU4CisJLmxvbmcJMTA4OTYxNjg5NgorCS5sb25nCTEwNzE3NDUyNjIKKwkubG9uZwk0MTcxOTc0MjI0CisJLmxvbmcJMTAyNDc3MzE5OAorCS5sb25nCTQxNDMwOTM3NjAKKwkubG9uZwkxMDcxNzMxMTM5CisJLmxvbmcJMjcyNzU4NzQwMQorCS5sb25nCTMxNzM5NjUyMDcKKwkubG9uZwk2MDAyNjc3NzYKKwkubG9uZwkxMDcxNzE3MTEyCisJLmxvbmcJMzE0NzY4NTA0MgorCS5sb25nCTMxNzMzNTMwMzEKKwkubG9uZwkyMjQ5MzEzMjgwCisJLmxvbmcJMTA3MTcwMzE3NworCS5sb25nCTEyNTgzNTA3NAorCS5sb25nCTEwMjUyNTU4MzIKKwkubG9uZwkzODA1MzAzODA4CisJLmxvbmcJMTA3MTY4OTMzNAorCS5sb25nCTIyODk5OTEyMDcKKwkubG9uZwkxMDI1NDYwMzMxCisJLmxvbmcJODcyNzg1OTIKKwkubG9uZwkxMDcxNjc1NTgzCisJLmxvbmcJMTEwNjExNDA0NQorCS5sb25nCTEwMjU5MzM2MDIKKwkubG9uZwkzMTk1NDA1MzEyCisJLmxvbmcJMTA3MTY2MTkyMAorCS5sb25nCTM4ODUzMTY1NzYKKwkubG9uZwkzMTcxMjA2MjM5CisJLmxvbmcJMzg1MzY0OTkyMAorCS5sb25nCTEwNzE2NDgzNDYKKwkubG9uZwkyOTc3MDY5ODUyCisJLmxvbmcJMzE3MTIzNjc3MQorCS5sb25nCTI5NDQwMjY2MjQKKwkubG9uZwkxMDcxNjI1MDQ4CisJLmxvbmcJMTAwODA5MzQ5MworCS5sb25nCTEwMjM0NDQ0NzQKKwkubG9uZwkzOTkzMTgwMTYwCisJLmxvbmcJMTA3MTU5ODI0NworCS5sb25nCTE4NjIzNTU1OTUKKwkubG9uZwkxMDI0NjQyNTMzCisJLmxvbmcJMTQ1NDY0MTE1MgorCS5sb25nCTEwNzE1NzE2MTcKKwkubG9uZwkxNTE0NjAzMDg5CisJLmxvbmcJMTAyNjUwMDU5NgorCS5sb25nCTMyODYwODU2MzIKKwkubG9uZwkxMDcxNTQ1MTU0CisJLmxvbmcJMTQwMDAyODQyNAorCS5sb25nCTMxNzMyNzkwNTYKKwkubG9uZwk0Mzg3NzM3NjAKKwkubG9uZwkxMDcxNTE4ODU4CisJLmxvbmcJMTIwNzI3ODY0CisJLmxvbmcJMzE3MjE0ODkxNAorCS5sb25nCTEyMTI5NzkyMDAKKwkubG9uZwkxMDcxNDkyNzI1CisJLmxvbmcJMTYyNTA1NTU5NAorCS5sb25nCTMxNzI5MDE5MzMKKwkubG9uZwkxMTg5MDE3NjAwCisJLmxvbmcJMTA3MTQ2Njc1NAorCS5sb25nCTM5MjAwNjIzNzYKKwkubG9uZwkxMDI1NzI3NDA3CisJLmxvbmcJNDAzMDY0ODMyCisJLmxvbmcJMTA3MTQ0MDk0MworCS5sb25nCTEwNTMyNzE3MjgKKwkubG9uZwkzMTcxMzkxNDI3CisJLmxvbmcJMzM0MzIxMDQ5NgorCS5sb25nCTEwNzE0MTUyODkKKwkubG9uZwkzMjQzMzk1NTAyCisJLmxvbmcJMzE3MzYyNzYxMworCS5sb25nCTE3NjU3Nzc0MDgKKwkubG9uZwkxMDcxMzg5NzkyCisJLmxvbmcJMjE0NTk2ODUxMgorCS5sb25nCTEwMjYzNTQzMDQKKwkubG9uZwk0NjE0MzA3ODQKKwkubG9uZwkxMDcxMzY0NDQ5CisJLmxvbmcJNDA5NDMyMjI4NQorCS5sb25nCTEwMjYwMjE0NjcKKwkubG9uZwk3MTcwNjYyNAorCS5sb25nCTEwNzEzMzkyNTgKKwkubG9uZwk3NjM2MzIwMjEKKwkubG9uZwkxMDI0NDk2OTMzCisJLmxvbmcJMTM4MDUwMzU1MgorCS5sb25nCTEwNzEzMTQyMTcKKwkubG9uZwkxMzgzNTQ3OTkyCisJLmxvbmcJMzE3MzA4ODQ1MworCS5sb25nCTEwMTU3MzIyMjQKKwkubG9uZwkxMDcxMjg5MzI1CisJLmxvbmcJMzE5ODY0Njg3NworCS5sb25nCTEwMjUzOTAzMjIKKwkubG9uZwkzNTk3NzIxNgorCS5sb25nCTEwNzEyNjQ1ODAKKwkubG9uZwkyMTQxMDI2ODA1CisJLmxvbmcJMTAyNTc1NDY5MworCS5sb25nCTM5MjczMDYyNDAKKwkubG9uZwkxMDcxMjM5OTc5CisJLmxvbmcJMjgyMTE2MjcyCisJLmxvbmcJMzE3MzM5NDMzNAorCS5sb25nCTExMjUzNDExODQKKwkubG9uZwkxMDcxMjE1NTIzCisJLmxvbmcJMjc2ODQyNzUwNAorCS5sb25nCTMxNzIyNzkwNTkKKwkubG9uZwkxNjY2OTcxNjQ4CisJLmxvbmcJMTA3MTE5MTIwOAorCS5sb25nCTc4NjgzNzYyOQorCS5sb25nCTMxNzI0Mjc0NDUKKwkubG9uZwkyODI3Njk0MDgwCisJLmxvbmcJMTA3MTE2NzAzMworCS5sb25nCTM4NTcxMjI0MTYKKwkubG9uZwkzMTczMDE0MjQxCisJLmxvbmcJMjAwMzY4MzMyOAorCS5sb25nCTEwNzExNDI5OTcKKwkubG9uZwk4NTkwMTA5NTQKKwkubG9uZwkxMDI2NTQ1MDA3CisJLmxvbmcJMTAwNDAxNzY2NAorCS5sb25nCTEwNzExMTkwOTgKKwkubG9uZwkzMzU2NjQ0OTcwCisJLmxvbmcJMzE3MzQ1ODA2NAorCS5sb25nCTE3NTMwMjA0MTYKKwkubG9uZwkxMDcxMDk1MzM0CisJLmxvbmcJNzg4MzM4NTUyCisJLmxvbmcJMTAyNjE1NzY5MworCS5sb25nCTE5OTI3MTgzMzYKKwkubG9uZwkxMDcxMDcxNzA0CisJLmxvbmcJMTIzOTE3OTQ0MworCS5sb25nCTEwMjYzOTQ4ODkKKwkubG9uZwkzODcwMjM0NjI0CisJLmxvbmcJMTA3MTA0ODIwNgorCS5sb25nCTIwODI2MTQ2NjMKKwkubG9uZwkxMDI0OTI2MDUzCisJLmxvbmcJMTA1MDQzNzYzMgorCS5sb25nCTEwNzEwMjQ4NDAKKwkubG9uZwk2NjAwMDc4NDAKKwkubG9uZwkxMDI1NTQ4NDk5CisJLmxvbmcJMTg4Mzk1NTIwCisJLmxvbmcJMTA3MTAwMTYwMworCS5sb25nCTM4Nzg3OTI3MDQKKwkubG9uZwkzMTczODg5NTcxCisJLmxvbmcJMzc0NzE3NjQ0OAorCS5sb25nCTEwNzA5Nzg0OTMKKwkubG9uZwkxNDQ5OTE3MDgKKwkubG9uZwkzMTcxNTUyMDQyCisJLmxvbmcJMTQwNTY2OTM3NgorCS5sb25nCTEwNzA5NTU1MTEKKwkubG9uZwkzOTk5MDg4ODc5CisJLmxvbmcJMTAyNTQ4NjMxNworCS5sb25nCTEyMTE1MTQ4OAorCS5sb25nCTEwNzA5MzI2NTQKKwkubG9uZwkyMTcwODY1NDk3CisJLmxvbmcJMTAyNjQ3MzU4NAorCS5sb25nCTI2NTIzMTk3NDQKKwkubG9uZwkxMDcwOTA5OTIwCisJLmxvbmcJNDUzNjk1NjUyCisJLmxvbmcJMzE3MzkxNjgwOQorCS5sb25nCTMyNjIyMzY2NzIKKwkubG9uZwkxMDcwODg3MzA5CisJLmxvbmcJMTU3ODAwMDUzCisJLmxvbmcJMzE3Mzk4NDIwNgorCS5sb25nCTYwMTIyMTEyMAorCS5sb25nCTEwNzA4NjQ4MjAKKwkubG9uZwkzOTY4OTE3NjYxCisJLmxvbmcJMTAyMzk5Mjg4NgorCS5sb25nCTE5OTk4NDMzMjgKKwkubG9uZwkxMDcwODQyNDUwCisJLmxvbmcJMzA1Mzg5NTAwNAorCS5sb25nCTEwMjQ5OTgyMjgKKwkubG9uZwkxOTkyMTY3NDI0CisJLmxvbmcJMTA3MDgyMDE5OQorCS5sb25nCTI5Njg2MTQ4NTYKKwkubG9uZwkxMDI0NTUyNjUzCisJLmxvbmcJMzc4ODcyNjI3MgorCS5sb25nCTEwNzA3OTgwNjUKKwkubG9uZwkzNTQyMTcwODA4CisJLmxvbmcJMzE3MzU3MzI0MgorCS5sb25nCTIwOTQ4Mjk1NjgKKwkubG9uZwkxMDcwNzc2MDQ4CisJLmxvbmcJMTI0Njc1ODEzMgorCS5sb25nCTEwMjYyMDI4NzQKKwkubG9uZwkyODg2NzU4NDAKKwkubG9uZwkxMDcwNzU0MTQ2CisJLmxvbmcJMzc0NzMyODk1MAorCS5sb25nCTEwMjYzMzE1ODUKKwkubG9uZwkxODI5NjgxMTUyCisJLmxvbmcJMTA3MDczMjM1NworCS5sb25nCTMxMjUxOTc1NDYKKwkubG9uZwkxMDI0MTAwMzE4CisJLmxvbmcJMTY2Njg2OTI0OAorCS5sb25nCTEwNzA3MTA2ODEKKwkubG9uZwkxMzYzNjU2MTE5CisJLmxvbmcJMTAyNjMzNjQ5MworCS5sb25nCTM0MTcxMTA1MjgKKwkubG9uZwkxMDcwNjg5MTE2CisJLmxvbmcJNDE1NDc5MTU1MworCS5sb25nCTEwMjYyNjc4NTMKKwkubG9uZwkyMTgzNjUzMzc2CisJLmxvbmcJMTA3MDY2NzY2MgorCS5sb25nCTE2NzE4MTkyOTIKKwkubG9uZwkzMTczNzg1ODcwCisJLmxvbmcJMTczNDQzNDgxNgorCS5sb25nCTEwNzA2NDYzMTcKKwkubG9uZwkzNzMwOTEwNDkKKwkubG9uZwkxMDI1OTcyMzYzCisJLmxvbmcJMTYxNTY4MTUzNgorCS5sb25nCTEwNzA2MjUwODAKKwkubG9uZwkzODQ2NTA4OTcKKwkubG9uZwkxMDIyOTI2MDQzCisJLmxvbmcJMTQ0NTM4MjE0NAorCS5sb25nCTEwNzA2MDM5NTAKKwkubG9uZwkzNDQzMjAzMzAKKwkubG9uZwkzMTcyMzk3MTk2CisJLmxvbmcJMTgyMzcxNTMyOAorCS5sb25nCTEwNzA1Njk3NTYKKwkubG9uZwkzMzg5ODQxMjAwCisJLmxvbmcJMTAyNTIzMTg1MgorCS5sb25nCTM4Mzk2ODg3MDQKKwkubG9uZwkxMDcwNTI3OTE3CisJLmxvbmcJMTcwNjc5MDQxNworCS5sb25nCTMxNjczNjMzNDkKKwkubG9uZwk0MjkzMzMyOTkyCisJLmxvbmcJMTA3MDQ4NjI4NgorCS5sb25nCTE2MTQ5MzUwODgKKwkubG9uZwkxMDE5MzUxNTkxCisJLmxvbmcJMjk2NjcyMDUxMgorCS5sb25nCTEwNzA0NDQ4NjEKKwkubG9uZwk0MTQ1MzkzNzE3CisJLmxvbmcJMzE3MzcxMTY1OAorCS5sb25nCTQwNjY3Mjk5ODQKKwkubG9uZwkxMDcwNDAzNjM5CisJLmxvbmcJMTk3NDkyNTAyOAorCS5sb25nCTMxNzE0MzcxODIKKwkubG9uZwkzMzM3NjIxNTA0CisJLmxvbmcJMTA3MDM2MjYxOQorCS5sb25nCTMzMTQ5NTMxNzAKKwkubG9uZwkzMTY5OTcxMzE0CisJLmxvbmcJOTQzNDQ4MDY0CisJLmxvbmcJMTA3MDMyMTc5OQorCS5sb25nCTE0OTg2ODIwMzgKKwkubG9uZwkzMTczODYyMzQwCisJLmxvbmcJMTQ2NTYzNDgxNgorCS5sb25nCTEwNzAyODExNzYKKwkubG9uZwkxMzE5OTUyODEwCisJLmxvbmcJMzE3MTY5Mzk2NQorCS5sb25nCTEwMTU3MzQyNzIKKwkubG9uZwkxMDcwMjQwNzQ5CisJLmxvbmcJMTM0NzgyMTkyOQorCS5sb25nCTMxNzM1NDQ1MTUKKwkubG9uZwkxMTgwMDE2NjQKKwkubG9uZwkxMDcwMjAwNTE2CisJLmxvbmcJMTc1MTQ4Mjc0NgorCS5sb25nCTEwMjYxMzQwOTMKKwkubG9uZwkzNzA3MTc0OTEyCisJLmxvbmcJMTA3MDE2MDQ3NAorCS5sb25nCTE0ODY5NDYxNTkKKwkubG9uZwkxMDIzOTMwOTIwCisJLmxvbmcJMzk0NjM4MTMxMgorCS5sb25nCTEwNzAxMjA2MjMKKwkubG9uZwkyODY3NDA4MDgxCisJLmxvbmcJMzE3MTM2ODI3NgorCS5sb25nCTE2OTk4NDgxOTIKKwkubG9uZwkxMDcwMDgwOTYxCisJLmxvbmcJMjU5MDE4NzEzOQorCS5sb25nCTEwMjUzNzk4MDMKKwkubG9uZwkyMjM1ODQ2NjU2CisJLmxvbmcJMTA3MDA0MTQ4NQorCS5sb25nCTE4ODg1NjgwNjkKKwkubG9uZwkzMTcyNzU0OTYwCisJLmxvbmcJMjMzOTcyOTQwOAorCS5sb25nCTEwNzAwMDIxOTQKKwkubG9uZwkzODUyMjE0NzUzCisJLmxvbmcJMzE3MzMyMzE0OQorCS5sb25nCTMxOTY4NTAxNzYKKwkubG9uZwkxMDY5OTYzMDg2CisJLmxvbmcJNzQyMTQxNTYwCisJLmxvbmcJMTAyNTEwMTcwNworCS5sb25nCTE4MDA2ODM1MjAKKwkubG9uZwkxMDY5OTI0MTYwCisJLmxvbmcJMzk0OTUwMDQ0NAorCS5sb25nCTMxNzIxMDIxNzkKKwkubG9uZwkzODM1ODAxNjAwCisJLmxvbmcJMTA2OTg4NTQxMworCS5sb25nCTM4NDg4OTU5NDMKKwkubG9uZwkxMDI1OTEzODMyCisJLmxvbmcJMjIwMTIwMjY4OAorCS5sb25nCTEwNjk4NDY4NDUKKwkubG9uZwkxNDI1OTEzNDY0CisJLmxvbmcJMTAyNTg2ODY2NQorCS5sb25nCTI3NzgyNzk5MzYKKwkubG9uZwkxMDY5ODA4NDUzCisJLmxvbmcJMjEyMDg4OTY3NworCS5sb25nCTMxNzM4MzExMjgKKwkubG9uZwkyOTU0MjAzMTM2CisJLmxvbmcJMTA2OTc3MDIzNgorCS5sb25nCTU5MjE0NzA4MQorCS5sb25nCTEwMTk2MjEyODgKKwkubG9uZwkyMTAxNDExODQKKwkubG9uZwkxMDY5NzMyMTkzCisJLmxvbmcJMzQxNDI3NTIzMworCS5sb25nCTEwMjM2NDcwODQKKwkubG9uZwk3MDk0NzYzNTIKKwkubG9uZwkxMDY5Njk0MzIxCisJLmxvbmcJMjQxMzAyNzE2NAorCS5sb25nCTEwMjQ0NjIxMTUKKwkubG9uZwkyMTE2Mjg0NDE2CisJLmxvbmcJMTA2OTY1NjYxOQorCS5sb25nCTExNDQ1NTk5MjQKKwkubG9uZwkxMDI2MzM2NjU0CisJLmxvbmcJMjE4MzY1MTMyOAorCS5sb25nCTEwNjk2MTkwODYKKwkubG9uZwkzNDU5MDU3NjUwCisJLmxvbmcJMTAyNTYzNDE2OAorCS5sb25nCTMwNDcwNDcxNjgKKwkubG9uZwkxMDY5NTgxNzIwCisJLmxvbmcJMTg3OTY3NDkyNAorCS5sb25nCTMxNzM1MDg1NzMKKwkubG9uZwk5NzA3MTEwNDAKKwkubG9uZwkxMDY5NTQxNTIxCisJLmxvbmcJMTMzNTk1NDE3MworCS5sb25nCTMxNzMzMzIxODIKKwkubG9uZwkyMTk4NDc4ODQ4CisJLmxvbmcJMTA2OTQ2NzQ0OQorCS5sb25nCTI5NTExMDM5NjgKKwkubG9uZwkzMTczODkyMjAwCisJLmxvbmcJMTY2OTYxMTUyMAorCS5sb25nCTEwNjkzOTM3MDMKKwkubG9uZwk1MzEwNDQxNDcKKwkubG9uZwkxMDI1MTQ5MjQ4CisJLmxvbmcJMjkxMTQzNjgKKwkubG9uZwkxMDY5MzIwMjgwCisJLmxvbmcJMzMyNzgzMTI1MQorCS5sb25nCTEwMjU5MTg2NzMKKwkubG9uZwkyMzc2OTQ5NzYwCisJLmxvbmcJMTA2OTI0NzE3NgorCS5sb25nCTczNzYzNDUzMworCS5sb25nCTMxNzIxNzYwMDAKKwkubG9uZwkxMDg1MzkwODQ4CisJLmxvbmcJMTA2OTE3NDM5MAorCS5sb25nCTMxMDgyNDM0MDAKKwkubG9uZwkzMTcxODI4NDA2CisJLmxvbmcJMTU2NjEzMDE3NgorCS5sb25nCTEwNjkxMDE5MTgKKwkubG9uZwk5ODU0ODMyMjYKKwkubG9uZwkxMDI1NzA4MzgwCisJLmxvbmcJNzkyNzgwODAwCisJLmxvbmcJMTA2OTAyOTc1OAorCS5sb25nCTQxODQ4NjYyOTUKKwkubG9uZwkxMDI0NDI2MjA0CisJLmxvbmcJMTgzMTU2NzM2CisJLmxvbmcJMTA2ODk1NzkwNworCS5sb25nCTI4NDU2OTkzNzgKKwkubG9uZwkxMDIyMTA3Mjc3CisJLmxvbmcJMTMwMTc4MjUyOAorCS5sb25nCTEwNjg4ODYzNjIKKwkubG9uZwkxMDEyNzM1MjYyCisJLmxvbmcJMzE3MzgwNDI5NAorCS5sb25nCTE1NjI0MTEwMDgKKwkubG9uZwkxMDY4ODE1MTIxCisJLmxvbmcJMjE5NzA4NjcwMworCS5sb25nCTMxNzAxODc4MTMKKwkubG9uZwkyODE1NTQ5NDQwCisJLmxvbmcJMTA2ODc0NDE4MQorCS5sb25nCTI3ODI2MTMyMDcKKwkubG9uZwkxMDI2MzQ1MDU0CisJLmxvbmcJMjc1NjEyNDY3MgorCS5sb25nCTEwNjg2NzM1NDAKKwkubG9uZwkyOTI5NDg2MjA1CisJLmxvbmcJMzE3MzAzNzgwMAorCS5sb25nCTM1MTEwNTAyNDAKKwkubG9uZwkxMDY4NjAzMTk1CisJLmxvbmcJMTQ0MzczMzE0NworCS5sb25nCTMxNzMzMzE1NDkKKwkubG9uZwkzMDQ3MDQ3MTY4CisJLmxvbmcJMTA2ODUzMzE0NAorCS5sb25nCTE4Nzk2NzQ5MjQKKwkubG9uZwkzMTcyNDU5OTk3CisJLmxvbmcJMzIyMTY2Nzg0MAorCS5sb25nCTEwNjg0Mjc4MjUKKwkubG9uZwkxMzM4NTg4MDI3CisJLmxvbmcJMzE3MTgxNTc0MgorCS5sb25nCTM0NTM4NjE4ODgKKwkubG9uZwkxMDY4Mjg4ODgzCisJLmxvbmcJMTIwNTM0ODM1OQorCS5sb25nCTMxNzI2MjQ2MjYKKwkubG9uZwkzNTA2MTEwNDY0CisJLmxvbmcJMTA2ODE1MDUxNAorCS5sb25nCTg5MzEwNTE5OAorCS5sb25nCTEwMjU1NzE4NjYKKwkubG9uZwkzNDYwMTM2OTYKKwkubG9uZwkxMDY4MDEyNzE0CisJLmxvbmcJMzQ5NTU2OTAyMQorCS5sb25nCTMxNzI1NjMzNDkKKwkubG9uZwk0MDc0MDI5MDU2CisJLmxvbmcJMTA2Nzg3NTQ3NgorCS5sb25nCTM5NjExMDYzMzgKKwkubG9uZwkzMTcxMDY1NTk1CisJLmxvbmcJMzU1OTc4NDQ0OAorCS5sb25nCTEwNjc3Mzg3OTgKKwkubG9uZwkxOTc1Mzg1Mzg0CisJLmxvbmcJMzE3Mzc4MzE1NQorCS5sb25nCTc5Nzc2OTcyOAorCS5sb25nCTEwNjc2MDI2NzUKKwkubG9uZwkzNzYwMzA1Nzg3CisJLmxvbmcJMTAyNjA0NzY0MgorCS5sb25nCTIzMTM2MzM3OTIKKwkubG9uZwkxMDY3NDY3MTAxCisJLmxvbmcJMTU1OTM1MzE3MQorCS5sb25nCTEwMjM0ODAyNTYKKwkubG9uZwkzOTYwNzY2NDY0CisJLmxvbmcJMTA2NzIxMzc3OAorCS5sb25nCTEwNjczNjUxMDcKKwkubG9uZwkxMDI1ODY1OTI2CisJLmxvbmcJNjg0MjYxMzc2CisJLmxvbmcJMTA2Njk0NDgwNQorCS5sb25nCTg0NDc2MjE2NAorCS5sb25nCTMxNzM2ODc0ODIKKwkubG9uZwk2MzA3MTg0NjQKKwkubG9uZwkxMDY2Njc2OTA1CisJLmxvbmcJMjQ1ODI2OTY5NAorCS5sb25nCTEwMjQwMzMwODEKKwkubG9uZwkxNDg2MDYxNTY4CisJLmxvbmcJMTA2NjQxMDA3MAorCS5sb25nCTExNTUzNzg3NAorCS5sb25nCTMxNzMyNDM5OTUKKwkubG9uZwkyNzQzNjY0NjQwCisJLmxvbmcJMTA2NTg4Njc5MgorCS5sb25nCTM2NjUwOTgzMDQKKwkubG9uZwkzMTczNDcxNjA3CisJLmxvbmcJMTk3MTkxMjcwNAorCS5sb25nCTEwNjUzNTczMzMKKwkubG9uZwkyNTc3MjE0NDQwCisJLmxvbmcJMzE3MTk5MzQ1MQorCS5sb25nCTE0OTg5MzkzOTIKKwkubG9uZwkxMDY0MzA2NjkzCisJLmxvbmcJMzQwOTAzNjkyMworCS5sb25nCTEwMjU1OTkxNTEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJTF90YmwsQG9iamVjdAorCS5zaXplCUxfdGJsLDIwNjQKKwkuYWxpZ24gMTYKK2xvZzI6CisJLmxvbmcJNDI3NzgxMTIwMAorCS5sb25nCTEwNjc4NTU0MjYKKwkubG9uZwkyNDc5MzE4ODMyCisJLmxvbmcJMTAyMjI5MjgyMworCS50eXBlCWxvZzIsQG9iamVjdAorCS5zaXplCWxvZzIsMTYKKwkuYWxpZ24gMTYKK2NvZWZmOgorCS5sb25nCTI0NTQyNjcwMjYKKwkubG9uZwkxMDY5Njk3MzE2CisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkxMDMwNzMwMTAxCisJLmxvbmcJMzIxNzM4MDcwMgorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDcwOTQ1NjIxCisJLmxvbmcJMjU3Njk4MDM3OAorCS5sb25nCTEwNzAxNzY2NjUKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS50eXBlCWNvZWZmLEBvYmplY3QKKwkuc2l6ZQljb2VmZiw0OAorCS5hbGlnbiAxNgorY29lZmYyOgorCS5sb25nCTAKKwkubG9uZwkzMjE3MDMxMTY4CisJLmxvbmcJMjU3Njk4MDM3OAorCS5sb25nCTEwNzAxNzY2NjUKKwkubG9uZwkyNDU0MjY3MDI2CisJLmxvbmcJMTA2OTY5NzMxNgorCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTMyMTczODA2OTMKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3MDk0NTYyMQorCS50eXBlCWNvZWZmMixAb2JqZWN0CisJLnNpemUJY29lZmYyLDQ4CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisvLyAtLSBCZWdpbiBEV0FSRjIgU0VHTUVOVCAuZWhfZnJhbWUKKwkuc2VjdGlvbiAuZWhfZnJhbWUsImEiLEBwcm9nYml0cworLmVoX2ZyYW1lX3NlZzoKKwkuYWxpZ24gMQorCS40Ynl0ZSAweDAwMDAwMDE0CisJLjhieXRlIDB4MDA1MjdhMDEwMDAwMDAwMAorCS44Ynl0ZSAweDA4MDcwYzFiMDExMDc4MDEKKwkuNGJ5dGUgMHgwMDAwMDE5MAorCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfbG9nMXAuMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX2xvZzFwLjUtLi5fX190YWdfdmFsdWVfbG9nMXAuMQorCS4yYnl0ZSAweDA0MDAKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfbG9nMXAuMy0uLl9fX3RhZ192YWx1ZV9sb2cxcC4xCisJLjJieXRlIDB4MjAwZQorCS5ieXRlIDB4MDQKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfbG9nMXAuNC0uLl9fX3RhZ192YWx1ZV9sb2cxcC4zCisJLjJieXRlIDB4MDgwZQorCS5ieXRlIDB4MDAKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9zX3Npbi5TIGIvbGlibS94ODZfNjQvc19zaW4uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjkzYTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvc19zaW4uUwpAQCAtMCwwICsxLDEzMDAgQEAKKy8qCitDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAgICAqIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgICogd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyAgICAgICAgICAgICAgICAgICAgIEFMR09SSVRITSBERVNDUklQVElPTgorLy8gICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgICAgMS4gUkFOR0UgUkVEVUNUSU9OCisvLworLy8gICAgIFdlIHBlcmZvcm0gYW4gaW5pdGlhbCByYW5nZSByZWR1Y3Rpb24gZnJvbSBYIHRvIHIgd2l0aAorLy8KKy8vICAgICAgICAgIFggPX49IE4gKiBwaS8zMiArIHIKKy8vCisvLyAgICAgc28gdGhhdCB8cnwgPD0gcGkvNjQgKyBlcHNpbG9uLiBXZSByZXN0cmljdCBpbnB1dHMgdG8gdGhvc2UKKy8vICAgICB3aGVyZSB8TnwgPD0gOTMyNTYwLiBCZXlvbmQgdGhpcywgdGhlIHJhbmdlIHJlZHVjdGlvbiBpcworLy8gICAgIGluc3VmZmljaWVudGx5IGFjY3VyYXRlLiBGb3IgZXh0cmVtZWx5IHNtYWxsIGlucHV0cywgCisvLyAgICAgZGVub3JtYWxpemF0aW9uIGNhbiBvY2N1ciBpbnRlcm5hbGx5LCBpbXBhY3RpbmcgcGVyZm9ybWFuY2UuCisvLyAgICAgVGhpcyBtZWFucyB0aGF0IHRoZSBtYWluIHBhdGggaXMgYWN0dWFsbHkgb25seSB0YWtlbiBmb3IKKy8vICAgICAyXi0yNTIgPD0gfFh8IDwgOTAxMTIuCisvLworLy8gICAgIFRvIGF2b2lkIGJyYW5jaGVzLCB3ZSBwZXJmb3JtIHRoZSByYW5nZSByZWR1Y3Rpb24gdG8gZnVsbAorLy8gICAgIGFjY3VyYWN5IGVhY2ggdGltZS4KKy8vCisvLyAgICAgICAgICBYIC0gTiAqIChQXzEgKyBQXzIgKyBQXzMpCisvLworLy8gICAgIHdoZXJlIFBfMSBhbmQgUF8yIGFyZSAzMi1iaXQgbnVtYmVycyAoc28gbXVsdGlwbGljYXRpb24gYnkgTgorLy8gICAgIGlzIGV4YWN0KSBhbmQgUF8zIGlzIGEgNTMtYml0IG51bWJlci4gVG9nZXRoZXIsIHRoZXNlCisvLyAgICAgYXBwcm94aW1hdGUgcGkgd2VsbCBlbm91Z2ggZm9yIGFsbCBjYXNlcyBpbiB0aGUgcmVzdHJpY3RlZAorLy8gICAgIHJhbmdlLgorLy8KKy8vICAgICBUaGUgbWFpbiByZWR1Y3Rpb24gc2VxdWVuY2UgaXM6CisvLworLy8gICAgICAgICAgICAgeSA9IDMyL3BpICogeAorLy8gICAgICAgICAgICAgTiA9IGludGVnZXIoeSkKKy8vICAgICAoY29tcHV0ZWQgYnkgYWRkaW5nIGFuZCBzdWJ0cmFjdGluZyBvZmYgU0hJRlRFUikKKy8vCisvLyAgICAgICAgICAgICBtXzEgPSBOICogUF8xCisvLyAgICAgICAgICAgICBtXzIgPSBOICogUF8yCisvLyAgICAgICAgICAgICByXzEgPSB4IC0gbV8xCisvLyAgICAgICAgICAgICByID0gcl8xIC0gbV8yCisvLyAgICAgKHRoaXMgciBjYW4gYmUgdXNlZCBmb3IgbW9zdCBvZiB0aGUgY2FsY3VsYXRpb24pCisvLworLy8gICAgICAgICAgICAgY18xID0gcl8xIC0gcgorLy8gICAgICAgICAgICAgbV8zID0gTiAqIFBfMworLy8gICAgICAgICAgICAgY18yID0gY18xIC0gbV8yCisvLyAgICAgICAgICAgICBjID0gY18yIC0gbV8zCisvLworLy8gICAgIDIuIE1BSU4gQUxHT1JJVEhNCisvLworLy8gICAgIFRoZSBhbGdvcml0aG0gdXNlcyBhIHRhYmxlIGxvb2t1cCBiYXNlZCBvbiBCID0gTSAqIHBpIC8gMzIKKy8vICAgICB3aGVyZSBNID0gTiBtb2QgNjQuIFRoZSBzdG9yZWQgdmFsdWVzIGFyZToKKy8vICAgICAgIHNpZ21hICAgICAgICAgICAgIGNsb3Nlc3QgcG93ZXIgb2YgMiB0byBjb3MoQikKKy8vICAgICAgIENfaGwgICAgICAgICAgICAgIDUzLWJpdCBjb3MoQikgLSBzaWdtYQorLy8gICAgICAgU19oaSArIFNfbG8gICAgICAgMiAqIDUzLWJpdCBzaW4oQikKKy8vCisvLyAgICAgVGhlIGNvbXB1dGF0aW9uIGlzIG9yZ2FuaXplZCBhcyBmb2xsb3dzOgorLy8KKy8vICAgICAgICAgIHNpbihCICsgciArIGMpID0gW3NpbihCKSArIHNpZ21hICogcl0gKworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICByICogKGNvcyhCKSAtIHNpZ21hKSArCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbihCKSAqIFtjb3MociArIGMpIC0gMV0gKworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBjb3MoQikgKiBbc2luKHIgKyBjKSAtIHJdCisvLworLy8gICAgIHdoaWNoIGlzIGFwcHJveGltYXRlbHk6CisvLworLy8gICAgICAgICAgW1NfaGkgKyBzaWdtYSAqIHJdICsKKy8vICAgICAgICAgIENfaGwgKiByICsKKy8vICAgICAgICAgIFNfbG8gKyBTX2hpICogWyhjb3MocikgLSAxKSAtIHIgKiBjXSArCisvLyAgICAgICAgICAoQ19obCArIHNpZ21hKSAqIFsoc2luKHIpIC0gcikgKyBjXQorLy8KKy8vICAgICBhbmQgdGhpcyBpcyB3aGF0IGlzIGFjdHVhbGx5IGNvbXB1dGVkLiBXZSBzZXBhcmF0ZSB0aGlzIHN1bQorLy8gICAgIGludG8gZm91ciBwYXJ0czoKKy8vCisvLyAgICAgICAgICBoaSArIG1lZCArIHBvbHMgKyBjb3JyCisvLworLy8gICAgIHdoZXJlCisvLworLy8gICAgICAgICAgaGkgICAgICAgPSBTX2hpICsgc2lnbWEgcgorLy8gICAgICAgICAgbWVkICAgICAgPSBDX2hsICogcgorLy8gICAgICAgICAgcG9scyAgICAgPSBTX2hpICogKGNvcyhyKSAtIDEpICsgKENfaGwgKyBzaWdtYSkgKiAoc2luKHIpIC0gcikKKy8vICAgICAgICAgIGNvcnIgICAgID0gU19sbyArIGMgKiAoKENfaGwgKyBzaWdtYSkgLSBTX2hpICogcikKKy8vCisvLyAgICAgMy4gUE9MWU5PTUlBTAorLy8KKy8vICAgICBUaGUgcG9seW5vbWlhbCBTX2hpICogKGNvcyhyKSAtIDEpICsgKENfaGwgKyBzaWdtYSkgKgorLy8gICAgIChzaW4ocikgLSByKSBjYW4gYmUgcmVhcnJhbmdlZCBmcmVlbHksIHNpbmNlIGl0IGlzIHF1aXRlCisvLyAgICAgc21hbGwsIHNvIHdlIGV4cGxvaXQgcGFyYWxsZWxpc20gdG8gdGhlIGZ1bGxlc3QuCisvLworLy8gICAgICAgICAgcHNjNCAgICAgICA9ICAgU0NfNCAqIHJfMQorLy8gICAgICAgICAgbXNjNCAgICAgICA9ICAgcHNjNCAqIHIKKy8vICAgICAgICAgIHIyICAgICAgICAgPSAgIHIgKiByCisvLyAgICAgICAgICBtc2MyICAgICAgID0gICBTQ18yICogcjIKKy8vICAgICAgICAgIHI0ICAgICAgICAgPSAgIHIyICogcjIKKy8vICAgICAgICAgIHBzYzMgICAgICAgPSAgIFNDXzMgKyBtc2M0CisvLyAgICAgICAgICBwc2MxICAgICAgID0gICBTQ18xICsgbXNjMgorLy8gICAgICAgICAgbXNjMyAgICAgICA9ICAgcjQgKiBwc2MzCisvLyAgICAgICAgICBzaW5jb3Nwb2xzID0gICBwc2MxICsgbXNjMworLy8gICAgICAgICAgcG9scyAgICAgICA9ICAgc2luY29zcG9scyAqCisvLyAgICAgICAgICAgICAgICAgICAgICAgICA8U19oaSAqIHJeMiB8IChDX2hsICsgc2lnbWEpICogcl4zPgorLy8KKy8vICAgICA0LiBDT1JSRUNUSU9OIFRFUk0KKy8vCisvLyAgICAgVGhpcyBpcyB3aGVyZSB0aGUgImMiIGNvbXBvbmVudCBvZiB0aGUgcmFuZ2UgcmVkdWN0aW9uIGlzCisvLyAgICAgdGFrZW4gaW50byBhY2NvdW50OyByZWNhbGwgdGhhdCBqdXN0ICJyIiBpcyB1c2VkIGZvciBtb3N0IG9mCisvLyAgICAgdGhlIGNhbGN1bGF0aW9uLgorLy8KKy8vICAgICAgICAgIC1jICAgPSBtXzMgLSBjXzIKKy8vICAgICAgICAgIC1kICAgPSBTX2hpICogciAtIChDX2hsICsgc2lnbWEpCisvLyAgICAgICAgICBjb3JyID0gLWMgKiAtZCArIFNfbG8KKy8vCisvLyAgICAgNS4gQ09NUEVOU0FURUQgU1VNTUFUSU9OUworLy8KKy8vICAgICBUaGUgdHdvIHN1Y2Nlc3NpdmUgY29tcGVuc2F0ZWQgc3VtbWF0aW9ucyBhZGQgdXAgdGhlIGhpZ2gKKy8vICAgICBhbmQgbWVkaXVtIHBhcnRzLCBsZWF2aW5nIGp1c3QgdGhlIGxvdyBwYXJ0cyB0byBhZGQgdXAgYXQKKy8vICAgICB0aGUgZW5kLgorLy8KKy8vICAgICAgICAgIHJzICAgICAgICA9ICBzaWdtYSAqIHIKKy8vICAgICAgICAgIHJlc19pbnQgICA9ICBTX2hpICsgcnMKKy8vICAgICAgICAgIGtfMCAgICAgICA9ICBTX2hpIC0gcmVzX2ludAorLy8gICAgICAgICAga18yICAgICAgID0gIGtfMCArIHJzCisvLyAgICAgICAgICBtZWQgICAgICAgPSAgQ19obCAqIHIKKy8vICAgICAgICAgIHJlc19oaSAgICA9ICByZXNfaW50ICsgbWVkCisvLyAgICAgICAgICBrXzEgICAgICAgPSAgcmVzX2ludCAtIHJlc19oaQorLy8gICAgICAgICAga18zICAgICAgID0gIGtfMSArIG1lZAorLy8KKy8vICAgICA2LiBGSU5BTCBTVU1NQVRJT04KKy8vCisvLyAgICAgV2Ugbm93IGFkZCB1cCBhbGwgdGhlIHNtYWxsIHBhcnRzOgorLy8KKy8vICAgICAgICAgIHJlc19sbyA9IHBvbHMoaGkpICsgcG9scyhsbykgKyBjb3JyICsga18xICsga18zCisvLworLy8gICAgIE5vdyB0aGUgb3ZlcmFsbCByZXN1bHQgaXMganVzdDoKKy8vCisvLyAgICAgICAgICByZXNfaGkgKyByZXNfbG8KKy8vCisvLyAgICAgNy4gU01BTEwgQVJHVU1FTlRTCisvLworLy8gICAgIElmIHx4fCA8IFNOTiAoU05OIG1lYW5pbmcgdGhlIHNtYWxsZXN0IG5vcm1hbCBudW1iZXIpLCB3ZQorLy8gICAgIHNpbXBseSBwZXJmb3JtIDAuMTExMTExMSBjZG90cyAxMTExICogeC4gRm9yIFNOTiA8PSB8eHwsIHdlCisvLyAgICAgZG8gMl4tNTUgKiAoMl41NSAqIHggLSB4KS4KKy8vCisvLyBTcGVjaWFsIGNhc2VzOgorLy8gIHNpbihOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBzaW4oSU5GKSA9IE5hTiBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICBzaW4oKy8tMCkgPSArLy0wCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgc2luCitFTlRSWShzaW4pCisjIHBhcmFtZXRlciAxOiAleG1tMAorLi5CMS4xOgorLi5fX190YWdfdmFsdWVfc2luLjE6CisgICAgICAgIHB1c2hxICAgICAlcmJ4CisuLl9fX3RhZ192YWx1ZV9zaW4uMzoKKyAgICAgICAgc3VicSAgICAgICQxNiwgJXJzcAorLi5fX190YWdfdmFsdWVfc2luLjU6CisgICAgICAgIG1vdnNkICAgICAleG1tMCwgOCglcnNwKQorLi5CMS4yOgorICAgICAgICBtb3ZsICAgICAgMTIoJXJzcCksICVlYXgKKyAgICAgICAgbW92cSAgICAgIFBJMzJJTlYoJXJpcCksICV4bW0xCisgICAgICAgIG1vdnEgICAgICBTSElGVEVSKCVyaXApLCAleG1tMgorICAgICAgICBhbmRsICAgICAgJDIxNDc0MTgxMTIsICVlYXgKKyAgICAgICAgc3VibCAgICAgICQ4MDg0NTIwOTYsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyODEzNDYwNDgsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIE9ORUhBTEYoJXJpcCksICV4bW01CisgICAgICAgIG1vdnEgICAgICBTSUdOX01BU0soJXJpcCksICV4bW00CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgb3JwcyAgICAgICV4bW00LCAleG1tNQorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGN2dHRzZDJzaSAleG1tMSwgJWVkeAorICAgICAgICBjdnRzaTJzZCAgJWVkeCwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgIFBfMiglcmlwKSwgJXhtbTYKKyAgICAgICAgbW92cSAgICAgICQweDNmYjkyMWZiNTQ0MDAwMDAsICVyOAorICAgICAgICBtb3ZkICAgICAgJXI4LCAleG1tMworICAgICAgICBtb3ZhcGQgICAgU0NfNCglcmlwKSwgJXhtbTUKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbW92ZGR1cCAgICV4bW0xLCAleG1tMQorICAgICAgICBhbmRsICAgICAgJDYzLCAlZWR4CisgICAgICAgIHNobGwgICAgICAkNSwgJWVkeAorICAgICAgICBsZWEgICAgICAgQ3RhYmxlKCVyaXApLCAlcmF4CisgICAgICAgIGFkZHEgICAgICAlcmR4LCAlcmF4CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgIFBfMyglcmlwKSwgJXhtbTEKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBtb3ZxICAgICAgOCglcmF4KSwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtb3ZkZHVwICAgJXhtbTQsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICAoJXJheCksICV4bW0yCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgc3VicGQgICAgICV4bW02LCAleG1tMAorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgbW92YXBkICAgIFNDXzIoJXJpcCksICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIDI0KCVyYXgpLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGFkZHBkICAgICBTQ18zKCVyaXApLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgKCVyYXgpLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgU0NfMSglcmlwKSwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICA4KCVyYXgpLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG1vdnEgICAgICA4KCVyYXgpLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgIDE2KCVyYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICB1bnBja2hwZCAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzAuMC4xOgorICAgICAgICBqZyAgICAgICAgLkxfMlRBR19QQUNLRVRfMS4wLjEKKyAgICAgICAgc2hybCAgICAgICQyMCwgJWVheAorICAgICAgICBjbXB3ICAgICAgJDMzMjUsICVheAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjEKKyAgICAgICAgbXVsc2QgICAgIEFMTF9PTkVTKCVyaXApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS40CisuTF8yVEFHX1BBQ0tFVF8yLjAuMToKKyAgICAgICAgbW92cSAgICAgIFRXT19QT1dfNTUoJXJpcCksICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tMworICAgICAgICBtdWxzZCAgICAgVFdPX1BPV19NNTUoJXJpcCksICV4bW0zCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzEuMC4xOgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAkMTYyMjQsICVlY3gKKyAgICAgICAgc2hybCAgICAgICQ3LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkNjU1MzIsICVlY3gKKyAgICAgICAgbGVhICAgICAgIFBJX0lOVl9UQUJMRSglcmlwKSwgJXIxMQorICAgICAgICBhZGRxICAgICAgJXIxMSwgJXJjeAorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVyYXgKKyAgICAgICAgbW92bCAgICAgIDIwKCVyY3gpLCAlcjEwZAorICAgICAgICBtb3ZsICAgICAgMjQoJXJjeCksICVyOGQKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc2hycSAgICAgICQyMSwgJXJheAorICAgICAgICBvcmwgICAgICAgJC0yMTQ3NDgzNjQ4LCAlZWF4CisgICAgICAgIHNocmwgICAgICAkMTEsICVlYXgKKyAgICAgICAgbW92bCAgICAgICVyMTBkLCAlcjlkCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcjEwCisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjkKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyOAorICAgICAgICBtb3ZsICAgICAgMTYoJXJjeCksICVlc2kKKyAgICAgICAgbW92bCAgICAgIDEyKCVyY3gpLCAlZWRpCisgICAgICAgIG1vdmwgICAgICAlcjEwZCwgJXIxMWQKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXIxMAorICAgICAgICBhZGRxICAgICAgJXIxMCwgJXI5CisgICAgICAgIGFkZHEgICAgICAlcjgsICVyMTEKKyAgICAgICAgbW92bCAgICAgICVyMTFkLCAlcjhkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyMTEKKyAgICAgICAgYWRkcSAgICAgICVyMTEsICVyOQorICAgICAgICBtb3ZsICAgICAgJWVzaSwgJXIxMGQKKyAgICAgICAgaW11bHEgICAgICVyZHgsICVyc2kKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyMTAKKyAgICAgICAgbW92bCAgICAgICVlZGksICVyMTFkCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcmRpCisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMzIsICVyc2kKKyAgICAgICAgYWRkcSAgICAgICVyYngsICVyOQorICAgICAgICBtb3ZsICAgICAgJXI5ZCwgJWVieAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcjkKKyAgICAgICAgYWRkcSAgICAgICVyc2ksICVyMTAKKyAgICAgICAgYWRkcSAgICAgICVyOSwgJXIxMAorICAgICAgICBzaGxxICAgICAgJDMyLCAlcmJ4CisgICAgICAgIG9ycSAgICAgICAlcmJ4LCAlcjgKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyMTEKKyAgICAgICAgbW92bCAgICAgIDgoJXJjeCksICVyOWQKKyAgICAgICAgbW92bCAgICAgIDQoJXJjeCksICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlZGksICVlYngKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXJkaQorICAgICAgICBhZGRxICAgICAgJXJieCwgJXIxMAorICAgICAgICBtb3ZsICAgICAgJXIxMGQsICVlYngKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXIxMAorICAgICAgICBhZGRxICAgICAgJXJkaSwgJXIxMQorICAgICAgICBhZGRxICAgICAgJXIxMCwgJXIxMQorICAgICAgICBtb3ZxICAgICAgJXI5LCAlcmRpCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcjkKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyZGkKKyAgICAgICAgbW92bCAgICAgICVyOWQsICVyMTBkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyOQorICAgICAgICBhZGRxICAgICAgJXIxMCwgJXIxMQorICAgICAgICBtb3ZsICAgICAgJXIxMWQsICVyMTBkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyMTEKKyAgICAgICAgYWRkcSAgICAgICVyOSwgJXJkaQorICAgICAgICBhZGRxICAgICAgJXIxMSwgJXJkaQorICAgICAgICBtb3ZxICAgICAgJXJzaSwgJXI5CisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcnNpCisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjkKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXIxMAorICAgICAgICBvcnEgICAgICAgJXJieCwgJXIxMAorICAgICAgICBtb3ZsICAgICAgKCVyY3gpLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlcjExZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcnNpCisgICAgICAgIGFkZHEgICAgICAlcjExLCAlcmRpCisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlcjExZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcmRpCisgICAgICAgIGFkZHEgICAgICAlcnNpLCAlcjkKKyAgICAgICAgYWRkcSAgICAgICVyZGksICVyOQorICAgICAgICBpbXVscSAgICAgJXJheCwgJXJkeAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWJ4CisgICAgICAgIGxlYSAgICAgICBQSV9JTlZfVEFCTEUoJXJpcCksICVyZGkKKyAgICAgICAgc3VicSAgICAgICVyZGksICVyY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxOSwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZXNpCisgICAgICAgIGFuZGwgICAgICAlZWJ4LCAlZXNpCisgICAgICAgIHNocmwgICAgICAkNCwgJWVieAorICAgICAgICBhbmRsICAgICAgJDIwNDcsICVlYngKKyAgICAgICAgc3VibCAgICAgICQxMDIzLCAlZWJ4CisgICAgICAgIHN1YmwgICAgICAlZWJ4LCAlZWN4CisgICAgICAgIGFkZHEgICAgICAlcmR4LCAlcjkKKyAgICAgICAgbW92bCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICQzMiwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDEsICVlY3gKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4xCisgICAgICAgIG5lZ2wgICAgICAlZWN4CisgICAgICAgIGFkZGwgICAgICAkMjksICVlY3gKKyAgICAgICAgc2hsbCAgICAgICVjbCwgJXI5ZAorICAgICAgICBtb3ZsICAgICAgJXI5ZCwgJWVkaQorICAgICAgICBhbmRsICAgICAgJDUzNjg3MDkxMSwgJXI5ZAorICAgICAgICB0ZXN0bCAgICAgJDI2ODQzNTQ1NiwgJXI5ZAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfNS4wLjEKKyAgICAgICAgc2hybCAgICAgICVjbCwgJXI5ZAorICAgICAgICBtb3ZsICAgICAgJDAsICVlYngKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXI5CisgICAgICAgIG9ycSAgICAgICAlcjExLCAlcjkKKy5MXzJUQUdfUEFDS0VUXzYuMC4xOgorLkxfMlRBR19QQUNLRVRfNy4wLjE6CisgICAgICAgIGNtcHEgICAgICAkMCwgJXI5CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF84LjAuMQorLkxfMlRBR19QQUNLRVRfOS4wLjE6CisgICAgICAgIGJzciAgICAgICAlcjksICVyMTEKKyAgICAgICAgbW92bCAgICAgICQyOSwgJWVjeAorICAgICAgICBzdWJsICAgICAgJXIxMWQsICVlY3gKKyAgICAgICAgamxlICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMQorICAgICAgICBzaGxxICAgICAgJWNsLCAlcjkKKyAgICAgICAgbW92cSAgICAgICVyMTAsICVyYXgKKyAgICAgICAgc2hscSAgICAgICVjbCwgJXIxMAorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBhZGRsICAgICAgJDY0LCAlZWN4CisgICAgICAgIHNocnEgICAgICAlY2wsICVyYXgKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXI4CisgICAgICAgIG9ycSAgICAgICAlcmF4LCAlcjkKKyAgICAgICAgb3JxICAgICAgICVyOCwgJXIxMAorLkxfMlRBR19QQUNLRVRfMTEuMC4xOgorICAgICAgICBjdnRzaTJzZHEgJXI5LCAleG1tMAorICAgICAgICBzaHJxICAgICAgJDEsICVyMTAKKyAgICAgICAgY3Z0c2kyc2RxICVyMTAsICV4bW0zCisgICAgICAgIHhvcnBkICAgICAleG1tNCwgJXhtbTQKKyAgICAgICAgc2hsbCAgICAgICQ0LCAlZWR4CisgICAgICAgIG5lZ2wgICAgICAlZWR4CisgICAgICAgIGFkZGwgICAgICAkMTYzNjgsICVlZHgKKyAgICAgICAgb3JsICAgICAgICVlc2ksICVlZHgKKyAgICAgICAgeG9ybCAgICAgICVlYngsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNAorICAgICAgICBtb3ZxICAgICAgUElfNCglcmlwKSwgJXhtbTIKKyAgICAgICAgbW92cSAgICAgIDgrUElfNCglcmlwKSwgJXhtbTYKKyAgICAgICAgeG9ycGQgICAgICV4bW01LCAleG1tNQorICAgICAgICBzdWJsICAgICAgJDEwMDgsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tNQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHNobGwgICAgICAkMTYsICVlc2kKKyAgICAgICAgc2FybCAgICAgICQzMSwgJWVzaQorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMAorICAgICAgICBzaHJsICAgICAgJDI5LCAlZWRpCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMworICAgICAgICBhZGRsICAgICAgJWVzaSwgJWVkaQorICAgICAgICB4b3JsICAgICAgJWVzaSwgJWVkaQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW02CisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlZWF4CisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTYKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW0yLCAleG1tNgorLkxfMlRBR19QQUNLRVRfMTIuMC4xOgorICAgICAgICBtb3ZxICAgICAgUEkzMklOViglcmlwKSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZxICAgICAgT05FSEFMRiglcmlwKSwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgIFNJR05fTUFTSyglcmlwKSwgJXhtbTQKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBvcnBzICAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgY3Z0dHNkMnNpICV4bW0xLCAlZWR4CisgICAgICAgIGN2dHNpMnNkICAlZWR4LCAleG1tMQorICAgICAgICBtb3ZxICAgICAgUF8xKCVyaXApLCAleG1tMworICAgICAgICBtb3ZhcGQgICAgUF8yKCVyaXApLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHVucGNrbHBkICAleG1tMSwgJXhtbTEKKyAgICAgICAgc2hsbCAgICAgICQzLCAlZWF4CisgICAgICAgIGFkZGwgICAgICAkMTg2NTIxNiwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW00CisgICAgICAgIGFkZGwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkNjMsICVlZHgKKyAgICAgICAgbW92YXBkICAgIFNDXzQoJXJpcCksICV4bW01CisgICAgICAgIGxlYSAgICAgICBDdGFibGUoJXJpcCksICVyYXgKKyAgICAgICAgc2hsbCAgICAgICQ1LCAlZWR4CisgICAgICAgIGFkZHEgICAgICAlcmR4LCAlcmF4CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgUF8zKCVyaXApLCAleG1tMQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdnEgICAgICA4KCVyYXgpLCAleG1tNworICAgICAgICB1bnBja2xwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW01CisgICAgICAgIHN1YnBkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNworICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG1vdmFwZCAgICAoJXJheCksICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbW92cSAgICAgIDI0KCVyYXgpLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgU0NfMiglcmlwKSwgJXhtbTYKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIGFkZHBkICAgICBTQ18zKCVyaXApLCAleG1tNQorICAgICAgICBtdWxzZCAgICAgKCVyYXgpLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgU0NfMSglcmlwKSwgJXhtbTYKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZxICAgICAgJXhtbTMsICV4bW0wCisgICAgICAgIGFkZHNkICAgICA4KCVyYXgpLCAleG1tMworICAgICAgICBtdWxwZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTUsICV4bW02CisgICAgICAgIG1vdnEgICAgICA4KCVyYXgpLCAleG1tNQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW01CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTMKKyAgICAgICAgYWRkc2QgICAgIDE2KCVyYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTUsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICB1bnBja2hwZCAgJXhtbTYsICV4bW02CisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzguMC4xOgorICAgICAgICBhZGRsICAgICAgJDY0LCAlZWR4CisgICAgICAgIG1vdnEgICAgICAlcjEwLCAlcjkKKyAgICAgICAgbW92cSAgICAgICVyOCwgJXIxMAorICAgICAgICBtb3ZxICAgICAgJDAsICVyOAorICAgICAgICBjbXBxICAgICAgJDAsICVyOQorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjEKKyAgICAgICAgYWRkbCAgICAgICQ2NCwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXIxMCwgJXI5CisgICAgICAgIG1vdnEgICAgICAlcjgsICVyMTAKKyAgICAgICAgY21wcSAgICAgICQwLCAlcjkKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzkuMC4xCisgICAgICAgIHhvcnBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgeG9ycGQgICAgICV4bW02LCAleG1tNgorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4xCisuTF8yVEFHX1BBQ0tFVF8xMC4wLjE6CisgICAgICAgIGplICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMS4wLjEKKyAgICAgICAgbmVnbCAgICAgICVlY3gKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXIxMAorICAgICAgICBtb3ZxICAgICAgJXI5LCAlcmF4CisgICAgICAgIHNocnEgICAgICAlY2wsICVyOQorICAgICAgICBzdWJsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBhZGRsICAgICAgJDY0LCAlZWN4CisgICAgICAgIHNobHEgICAgICAlY2wsICVyYXgKKyAgICAgICAgb3JxICAgICAgICVyYXgsICVyMTAKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzExLjAuMQorLkxfMlRBR19QQUNLRVRfNC4wLjE6CisgICAgICAgIG5lZ2wgICAgICAlZWN4CisgICAgICAgIHNobHEgICAgICAkMzIsICVyOQorICAgICAgICBvcnEgICAgICAgJXIxMSwgJXI5CisgICAgICAgIHNobHEgICAgICAlY2wsICVyOQorICAgICAgICBtb3ZxICAgICAgJXI5LCAlcmRpCisgICAgICAgIHRlc3RsICAgICAkLTIxNDc0ODM2NDgsICVyOWQKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzEzLjAuMQorICAgICAgICBzaHJsICAgICAgJWNsLCAlcjlkCisgICAgICAgIG1vdmwgICAgICAkMCwgJWVieAorICAgICAgICBzaHJxICAgICAgJDMsICVyZGkKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzcuMC4xCisuTF8yVEFHX1BBQ0tFVF81LjAuMToKKyAgICAgICAgc2hybCAgICAgICVjbCwgJXI5ZAorICAgICAgICBtb3ZsICAgICAgJDUzNjg3MDkxMiwgJWVieAorICAgICAgICBzaHJsICAgICAgJWNsLCAlZWJ4CisgICAgICAgIHNobHEgICAgICAkMzIsICVyOQorICAgICAgICBvcnEgICAgICAgJXIxMSwgJXI5CisgICAgICAgIHNobHEgICAgICAkMzIsICVyYngKKyAgICAgICAgYWRkbCAgICAgICQ1MzY4NzA5MTIsICVlZGkKKyAgICAgICAgbW92cSAgICAgICQwLCAlcmN4CisgICAgICAgIG1vdnEgICAgICAkMCwgJXIxMQorICAgICAgICBzdWJxICAgICAgJXI4LCAlcmN4CisgICAgICAgIHNiYnEgICAgICAlcjEwLCAlcjExCisgICAgICAgIHNiYnEgICAgICAlcjksICVyYngKKyAgICAgICAgbW92cSAgICAgICVyY3gsICVyOAorICAgICAgICBtb3ZxICAgICAgJXIxMSwgJXIxMAorICAgICAgICBtb3ZxICAgICAgJXJieCwgJXI5CisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYngKKyAgICAgICAgam1wICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4xCisuTF8yVEFHX1BBQ0tFVF8xMy4wLjE6CisgICAgICAgIHNocmwgICAgICAlY2wsICVyOWQKKyAgICAgICAgbW92cSAgICAgICQweDEwMDAwMDAwMCwgJXJieAorICAgICAgICBzaHJxICAgICAgJWNsLCAlcmJ4CisgICAgICAgIG1vdnEgICAgICAkMCwgJXJjeAorICAgICAgICBtb3ZxICAgICAgJDAsICVyMTEKKyAgICAgICAgc3VicSAgICAgICVyOCwgJXJjeAorICAgICAgICBzYmJxICAgICAgJXIxMCwgJXIxMQorICAgICAgICBzYmJxICAgICAgJXI5LCAlcmJ4CisgICAgICAgIG1vdnEgICAgICAlcmN4LCAlcjgKKyAgICAgICAgbW92cSAgICAgICVyMTEsICVyMTAKKyAgICAgICAgbW92cSAgICAgICVyYngsICVyOQorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMywgJXJkaQorICAgICAgICBhZGRsICAgICAgJDUzNjg3MDkxMiwgJWVkaQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfNy4wLjEKKy5MXzJUQUdfUEFDS0VUXzMuMC4xOgorICAgICAgICBtb3ZxICAgICAgOCglcnNwKSwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgIE5FR19aRVJPKCVyaXApLCAleG1tMAorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICglcnNwKQorLkxfMlRBR19QQUNLRVRfMTQuMC4xOgorLi5CMS40OgorICAgICAgICBhZGRxICAgICAgJDE2LCAlcnNwCisuLl9fX3RhZ192YWx1ZV9zaW4uNjoKKyAgICAgICAgcG9wcSAgICAgICVyYngKKy4uX19fdGFnX3ZhbHVlX3Npbi44OgorICAgICAgICByZXQgICAgICAgCisuLl9fX3RhZ192YWx1ZV9zaW4uOToKK0VORChzaW4pCisjIC0tIEVuZCAgc2luCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitPTkVIQUxGOgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkudHlwZQlPTkVIQUxGLEBvYmplY3QKKwkuc2l6ZQlPTkVIQUxGLDE2CisJLmFsaWduIDE2CitQXzI6CisJLmxvbmcJNDQyNDk5MDcyCisJLmxvbmcJMTAzMjg5MzUzNworCS5sb25nCTQ0MjQ5OTA3MgorCS5sb25nCTEwMzI4OTM1MzcKKwkudHlwZQlQXzIsQG9iamVjdAorCS5zaXplCVBfMiwxNgorCS5hbGlnbiAxNgorU0NfNDoKKwkubG9uZwkyNzczOTI3NzMyCisJLmxvbmcJMTA1MzIzNjcwNworCS5sb25nCTQzNjMxNDEzOAorCS5sb25nCTEwNTY1NzE4MDgKKwkudHlwZQlTQ180LEBvYmplY3QKKwkuc2l6ZQlTQ180LDE2CisJLmFsaWduIDE2CitDdGFibGU6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkzOTMwNDczNDUKKwkubG9uZwkzMjEyMDMyMzAyCisJLmxvbmcJMzE1Njg0OTcwOAorCS5sb25nCTEwNjkwOTQ4MjIKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE1ODE4OTg0OAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTgxMTUwNjcKKwkubG9uZwkzMjE0MTI2MzQyCisJLmxvbmcJMTAxMzU1Njc0NworCS5sb25nCTEwNzAxMzU0ODAKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMzE2MDU2NzA2NQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjQ3NjU0ODY5OAorCS5sb25nCTMyMTUzMzAyODIKKwkubG9uZwk3ODU3NTE4MTQKKwkubG9uZwkxMDcwNzY1MDYyCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTMxNjE4MzgyMjEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTIyNTUxOTc2NDcKKwkubG9uZwkzMjE2MjExMTA1CisJLmxvbmcJMjc5NjQ2NDQ4MworCS5sb25nCTEwNzExNTI2MTAKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE2MDg3ODMxNworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTk0NTc2ODU2OQorCS5sb25nCTMyMTY5MTUwNDgKKwkubG9uZwk5Mzk5ODAzNDcKKwkubG9uZwkxMDcxNTI0NzAxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxMjc5NjgwOQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTUzOTY2ODM0MAorCS5sb25nCTMyMTczOTYzMjcKKwkubG9uZwk5Njc3MzE0MDAKKwkubG9uZwkxMDcxNzYxMjExCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNTc1MjE1NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMTQwMzc1NzMwOQorCS5sb25nCTMyMTc4ODY3MTgKKwkubG9uZwk2MjEzNTQ0NTQKKwkubG9uZwkxMDcxOTI2NTE1CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxMzQ1MDYwMgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjU4MzQ5MDM1NAorCS5sb25nCTEwNzAyMzYyODEKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMTA3MjA3OTAwNgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjMyODI3NDAKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTI0ODU0MTc4MTYKKwkubG9uZwkxMDY5NjI2MzE2CisJLmxvbmcJMTc5NjU0NDMyMQorCS5sb25nCTEwNzIyMTcyMTYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYyNjg2OTQ1CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNTk4ODAwNTE5CisJLmxvbmcJMTA2ODI2NjQxOQorCS5sb25nCTY4ODgyNDczOQorCS5sb25nCTEwNzIzMzk4MTQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxMDQzMTUzNgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjE0MDE4MzYzMAorCS5sb25nCTMyMTQ3NTYzOTYKKwkubG9uZwk0MDUxNzQ2MjI1CisJLmxvbmcJMTA3MjQ0NTYxOAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkzMTYxOTA3Mzc3CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkxNjk5MDQzOTU3CisJLmxvbmcJMzIxNjkwMjI2MQorCS5sb25nCTM0NzYxOTY2NzgKKwkubG9uZwkxMDcyNTMzNjExCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNDI1NzYzOAorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMTk5MTA0NzIxMworCS5sb25nCTEwNjc3NTM1MjEKKwkubG9uZwkxNDU1ODI4NDQyCisJLmxvbmcJMTA3MjYwMjk0NQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDE1NTA1MDczCisJLmxvbmcJMAorCS5sb25nCTEwNzA1OTYwOTYKKwkubG9uZwkyNDA3NDAzMDkKKwkubG9uZwkzMjE1NzI3OTAzCisJLmxvbmcJMzQ4OTA5NDgzMgorCS5sb25nCTEwNzI2NTI5NTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE0MzI1NzgzCisJLmxvbmcJMAorCS5sb25nCTEwNzA1OTYwOTYKKwkubG9uZwkyNTc1MDMwNTYKKwkubG9uZwkzMjE0NjQ3NjUzCisJLmxvbmcJMjc0ODM5Mjc0MgorCS5sb25nCTEwNzI2ODMxNDkKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMzE2MzA2MTc1MAorCS5sb25nCTAKKwkubG9uZwkxMDY5NTQ3NTIwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNTc1MDMwNTYKKwkubG9uZwkxMDY3MTY0MDA1CisJLmxvbmcJMjc0ODM5Mjc0MgorCS5sb25nCTEwNzI2ODMxNDkKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMzE2MzA2MTc1MAorCS5sb25nCTAKKwkubG9uZwkzMjE3MDMxMTY4CisJLmxvbmcJMjQwNzQwMzA5CisJLmxvbmcJMTA2ODI0NDI1NQorCS5sb25nCTM0ODkwOTQ4MzIKKwkubG9uZwkxMDcyNjUyOTUxCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNDMyNTc4MworCS5sb25nCTAKKwkubG9uZwkzMjE4MDc5NzQ0CisJLmxvbmcJMTk5MTA0NzIxMworCS5sb25nCTMyMTUyMzcxNjkKKwkubG9uZwkxNDU1ODI4NDQyCisJLmxvbmcJMTA3MjYwMjk0NQorCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkxMDE1NTA1MDczCisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkxNjk5MDQzOTU3CisJLmxvbmcJMTA2OTQxODYxMworCS5sb25nCTM0NzYxOTY2NzgKKwkubG9uZwkxMDcyNTMzNjExCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMTAxNDI1NzYzOAorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjE0MDE4MzYzMAorCS5sb25nCTEwNjcyNzI3NDgKKwkubG9uZwk0MDUxNzQ2MjI1CisJLmxvbmcJMTA3MjQ0NTYxOAorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkzMTYxOTA3Mzc3CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNTk4ODAwNTE5CisJLmxvbmcJMzIxNTc1MDA2NworCS5sb25nCTY4ODgyNDczOQorCS5sb25nCTEwNzIzMzk4MTQKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxMDQzMTUzNgorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjQ4NTQxNzgxNgorCS5sb25nCTMyMTcxMDk5NjQKKwkubG9uZwkxNzk2NTQ0MzIxCisJLmxvbmcJMTA3MjIxNzIxNgorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTMxNjI2ODY5NDUKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTI1ODM0OTAzNTQKKwkubG9uZwkzMjE3NzE5OTI5CisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTEwNzIwNzkwMDYKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYzMjgyNzQwCisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkxNDAzNzU3MzA5CisJLmxvbmcJMTA3MDQwMzA3MAorCS5sb25nCTYyMTM1NDQ1NAorCS5sb25nCTEwNzE5MjY1MTUKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDEzNDUwNjAyCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxNTM5NjY4MzQwCisJLmxvbmcJMTA2OTkxMjY3OQorCS5sb25nCTk2NzczMTQwMAorCS5sb25nCTEwNzE3NjEyMTEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1NzUyMTU3CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxOTQ1NzY4NTY5CisJLmxvbmcJMTA2OTQzMTQwMAorCS5sb25nCTkzOTk4MDM0NworCS5sb25nCTEwNzE1MjQ3MDEKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDEyNzk2ODA5CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkyMjU1MTk3NjQ3CisJLmxvbmcJMTA2ODcyNzQ1NworCS5sb25nCTI3OTY0NjQ0ODMKKwkubG9uZwkxMDcxMTUyNjEwCisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTMxNjA4NzgzMTcKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTI0NzY1NDg2OTgKKwkubG9uZwkxMDY3ODQ2NjM0CisJLmxvbmcJNzg1NzUxODE0CisJLmxvbmcJMTA3MDc2NTA2MgorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkzMTYxODM4MjIxCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkxODExNTA2NworCS5sb25nCTEwNjY2NDI2OTQKKwkubG9uZwkxMDEzNTU2NzQ3CisJLmxvbmcJMTA3MDEzNTQ4MAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkzMTYwNTY3MDY1CisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkzOTMwNDczNDUKKwkubG9uZwkxMDY0NTQ4NjU0CisJLmxvbmcJMzE1Njg0OTcwOAorCS5sb25nCTEwNjkwOTQ4MjIKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE1ODE4OTg0OAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMyMjAxNzY4OTYKKwkubG9uZwkzOTMwNDczNDUKKwkubG9uZwkxMDY0NTQ4NjU0CisJLmxvbmcJMzE1Njg0OTcwOAorCS5sb25nCTMyMTY1Nzg0NzAKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxMDcwNjIwMAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTgxMTUwNjcKKwkubG9uZwkxMDY2NjQyNjk0CisJLmxvbmcJMTAxMzU1Njc0NworCS5sb25nCTMyMTc2MTkxMjgKKwkubG9uZwkzMjIxMjI1NDcyCisJLmxvbmcJMTAxMzA4MzQxNworCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMjQ3NjU0ODY5OAorCS5sb25nCTEwNjc4NDY2MzQKKwkubG9uZwk3ODU3NTE4MTQKKwkubG9uZwkzMjE4MjQ4NzEwCisJLmxvbmcJMjY4NDM1NDU2MAorCS5sb25nCTEwMTQzNTQ1NzMKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTIyNTUxOTc2NDcKKwkubG9uZwkxMDY4NzI3NDU3CisJLmxvbmcJMjc5NjQ2NDQ4MworCS5sb25nCTMyMTg2MzYyNTgKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxMzM5NDY2OQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTk0NTc2ODU2OQorCS5sb25nCTEwNjk0MzE0MDAKKwkubG9uZwk5Mzk5ODAzNDcKKwkubG9uZwkzMjE5MDA4MzQ5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MDI4MDQ1NworCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTUzOTY2ODM0MAorCS5sb25nCTEwNjk5MTI2NzkKKwkubG9uZwk5Njc3MzE0MDAKKwkubG9uZwkzMjE5MjQ0ODU5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MzIzNTgwNQorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMTQwMzc1NzMwOQorCS5sb25nCTEwNzA0MDMwNzAKKwkubG9uZwk2MjEzNTQ0NTQKKwkubG9uZwkzMjE5NDEwMTYzCisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MDkzNDI1MAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMjU4MzQ5MDM1NAorCS5sb25nCTMyMTc3MTk5MjkKKwkubG9uZwkxNzE5NjE0NDEzCisJLmxvbmcJMzIxOTU2MjY1NAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTU3OTkwOTIKKwkubG9uZwkwCisJLmxvbmcJMzIxOTEyODMyMAorCS5sb25nCTI0ODU0MTc4MTYKKwkubG9uZwkzMjE3MTA5OTY0CisJLmxvbmcJMTc5NjU0NDMyMQorCS5sb25nCTMyMTk3MDA4NjQKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1MjAzMjk3CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkyNTk4ODAwNTE5CisJLmxvbmcJMzIxNTc1MDA2NworCS5sb25nCTY4ODgyNDczOQorCS5sb25nCTMyMTk4MjM0NjIKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE1NzkxNTE4NAorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMjE0MDE4MzYzMAorCS5sb25nCTEwNjcyNzI3NDgKKwkubG9uZwk0MDUxNzQ2MjI1CisJLmxvbmcJMzIxOTkyOTI2NgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDE0NDIzNzI5CisJLmxvbmcJMAorCS5sb25nCTMyMTkxMjgzMjAKKwkubG9uZwkxNjk5MDQzOTU3CisJLmxvbmcJMTA2OTQxODYxMworCS5sb25nCTM0NzYxOTY2NzgKKwkubG9uZwkzMjIwMDE3MjU5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MTc0MTI4NgorCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLmxvbmcJMTk5MTA0NzIxMworCS5sb25nCTMyMTUyMzcxNjkKKwkubG9uZwkxNDU1ODI4NDQyCisJLmxvbmcJMzIyMDA4NjU5MworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTYyOTg4NzIxCisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkyNDA3NDAzMDkKKwkubG9uZwkxMDY4MjQ0MjU1CisJLmxvbmcJMzQ4OTA5NDgzMgorCS5sb25nCTMyMjAxMzY1OTkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYxODA5NDMxCisJLmxvbmcJMAorCS5sb25nCTMyMTgwNzk3NDQKKwkubG9uZwkyNTc1MDMwNTYKKwkubG9uZwkxMDY3MTY0MDA1CisJLmxvbmcJMjc0ODM5Mjc0MgorCS5sb25nCTMyMjAxNjY3OTcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTAxNTU3ODEwMgorCS5sb25nCTAKKwkubG9uZwkzMjE3MDMxMTY4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzIyMDE3Njg5NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNTc1MDMwNTYKKwkubG9uZwkzMjE0NjQ3NjUzCisJLmxvbmcJMjc0ODM5Mjc0MgorCS5sb25nCTMyMjAxNjY3OTcKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTAxNTU3ODEwMgorCS5sb25nCTAKKwkubG9uZwkxMDY5NTQ3NTIwCisJLmxvbmcJMjQwNzQwMzA5CisJLmxvbmcJMzIxNTcyNzkwMworCS5sb25nCTM0ODkwOTQ4MzIKKwkubG9uZwkzMjIwMTM2NTk5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MTgwOTQzMQorCS5sb25nCTAKKwkubG9uZwkxMDcwNTk2MDk2CisJLmxvbmcJMTk5MTA0NzIxMworCS5sb25nCTEwNjc3NTM1MjEKKwkubG9uZwkxNDU1ODI4NDQyCisJLmxvbmcJMzIyMDA4NjU5MworCS5sb25nCTM3NTgwOTYzODQKKwkubG9uZwkzMTYyOTg4NzIxCisJLmxvbmcJMAorCS5sb25nCTEwNzA1OTYwOTYKKwkubG9uZwkxNjk5MDQzOTU3CisJLmxvbmcJMzIxNjkwMjI2MQorCS5sb25nCTM0NzYxOTY2NzgKKwkubG9uZwkzMjIwMDE3MjU5CisJLmxvbmcJNTM2ODcwOTEyCisJLmxvbmcJMzE2MTc0MTI4NgorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjE0MDE4MzYzMAorCS5sb25nCTMyMTQ3NTYzOTYKKwkubG9uZwk0MDUxNzQ2MjI1CisJLmxvbmcJMzIxOTkyOTI2NgorCS5sb25nCTIxNDc0ODM2NDgKKwkubG9uZwkxMDE0NDIzNzI5CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkyNTk4ODAwNTE5CisJLmxvbmcJMTA2ODI2NjQxOQorCS5sb25nCTY4ODgyNDczOQorCS5sb25nCTMyMTk4MjM0NjIKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMzE1NzkxNTE4NAorCS5sb25nCTAKKwkubG9uZwkxMDcxNjQ0NjcyCisJLmxvbmcJMjQ4NTQxNzgxNgorCS5sb25nCTEwNjk2MjYzMTYKKwkubG9uZwkxNzk2NTQ0MzIxCisJLmxvbmcJMzIxOTcwMDg2NAorCS5sb25nCTUzNjg3MDkxMgorCS5sb25nCTEwMTUyMDMyOTcKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS5sb25nCTI1ODM0OTAzNTQKKwkubG9uZwkxMDcwMjM2MjgxCisJLmxvbmcJMTcxOTYxNDQxMworCS5sb25nCTMyMTk1NjI2NTQKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkxMDE1Nzk5MDkyCisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkxNDAzNzU3MzA5CisJLmxvbmcJMzIxNzg4NjcxOAorCS5sb25nCTYyMTM1NDQ1NAorCS5sb25nCTMyMTk0MTAxNjMKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYwOTM0MjUwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxNTM5NjY4MzQwCisJLmxvbmcJMzIxNzM5NjMyNworCS5sb25nCTk2NzczMTQwMAorCS5sb25nCTMyMTkyNDQ4NTkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYzMjM1ODA1CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxOTQ1NzY4NTY5CisJLmxvbmcJMzIxNjkxNTA0OAorCS5sb25nCTkzOTk4MDM0NworCS5sb25nCTMyMTkwMDgzNDkKKwkubG9uZwk1MzY4NzA5MTIKKwkubG9uZwkzMTYwMjgwNDU3CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyMjU1MTk3NjQ3CisJLmxvbmcJMzIxNjIxMTEwNQorCS5sb25nCTI3OTY0NjQ0ODMKKwkubG9uZwkzMjE4NjM2MjU4CisJLmxvbmcJMzc1ODA5NjM4NAorCS5sb25nCTEwMTMzOTQ2NjkKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI0NzY1NDg2OTgKKwkubG9uZwkzMjE1MzMwMjgyCisJLmxvbmcJNzg1NzUxODE0CisJLmxvbmcJMzIxODI0ODcxMAorCS5sb25nCTI2ODQzNTQ1NjAKKwkubG9uZwkxMDE0MzU0NTczCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxODExNTA2NworCS5sb25nCTMyMTQxMjYzNDIKKwkubG9uZwkxMDEzNTU2NzQ3CisJLmxvbmcJMzIxNzYxOTEyOAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxMDEzMDgzNDE3CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkzOTMwNDczNDUKKwkubG9uZwkzMjEyMDMyMzAyCisJLmxvbmcJMzE1Njg0OTcwOAorCS5sb25nCTMyMTY1Nzg0NzAKKwkubG9uZwkzNzU4MDk2Mzg0CisJLmxvbmcJMTAxMDcwNjIwMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLnR5cGUJQ3RhYmxlLEBvYmplY3QKKwkuc2l6ZQlDdGFibGUsMjA0OAorCS5hbGlnbiAxNgorU0NfMjoKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY1NDIzMTIxCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNjc3OTk4OTMKKwkudHlwZQlTQ18yLEBvYmplY3QKKwkuc2l6ZQlTQ18yLDE2CisJLmFsaWduIDE2CitTQ18zOgorCS5sb25nCTQzNjMxNDEzOAorCS5sb25nCTMyMDcyMDExODQKKwkubG9uZwkzODE3NzQ4NzEKKwkubG9uZwkzMjEwMTMzODY4CisJLnR5cGUJU0NfMyxAb2JqZWN0CisJLnNpemUJU0NfMywxNgorCS5hbGlnbiAxNgorU0NfMToKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMzIxNzM4MDY5MworCS5sb25nCTAKKwkubG9uZwkzMjE5MTI4MzIwCisJLnR5cGUJU0NfMSxAb2JqZWN0CisJLnNpemUJU0NfMSwxNgorCS5hbGlnbiAxNgorUElfSU5WX1RBQkxFOgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjczNDI2MTEwMgorCS5sb25nCTEzMTMwODQ3MTMKKwkubG9uZwk0MjMwNDM2ODE3CisJLmxvbmcJNDExMzg4MjU2MAorCS5sb25nCTM2ODA2NzExMjkKKwkubG9uZwkxMDExMDYwODAxCisJLmxvbmcJNDI2Njc0Njc5NQorCS5sb25nCTM3MzY4NDc3MTMKKwkubG9uZwkzMDcyNjE4MDQyCisJLmxvbmcJMTExMjM5NjUxMgorCS5sb25nCTEwNTQ1OTQzNAorCS5sb25nCTE2NDcyOTM3MgorCS5sb25nCTQyNjMzNzM1OTYKKwkubG9uZwkyOTcyMjk3MDIyCisJLmxvbmcJMzkwMDg0NzYwNQorCS5sb25nCTc4NDAyNDcwOAorCS5sb25nCTM5MTkzNDM2NTQKKwkubG9uZwkzMDI2MTU3MTIxCisJLmxvbmcJOTY1ODU4ODczCisJLmxvbmcJMjIwMzI2OTYyMAorCS5sb25nCTI2MjU5MjA5MDcKKwkubG9uZwkzMTg3MjIyNTg3CisJLmxvbmcJNTM2Mzg1NTM1CisJLmxvbmcJMzcyNDkwODU1OQorCS5sb25nCTQwMTI4MzkzMDcKKwkubG9uZwkxNTEwNjMyNzM1CisJLmxvbmcJMTgzMjI4Nzk1MQorCS5sb25nCTY2NzYxNzcxOQorCS5sb25nCTEzMzAwMDM4MTQKKwkubG9uZwkyNjU3MDg1OTk3CisJLmxvbmcJMTk2NTUzNzk5MQorCS5sb25nCTM5NTc3MTUzMjMKKwkubG9uZwkxMDIzODgzNzY3CisJLmxvbmcJMjMyMDY2NzM3MAorCS5sb25nCTE4MTE2MzYxNDUKKwkubG9uZwk1MjkzNTgwODgKKwkubG9uZwkxNDQzMDQ5NTQyCisJLmxvbmcJNDIzNTk0NjkyMworCS5sb25nCTQwNDAxNDU5NTMKKwkudHlwZQlQSV9JTlZfVEFCTEUsQG9iamVjdAorCS5zaXplCVBJX0lOVl9UQUJMRSwxNjQKKwkuc3BhY2UgMTIsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitQSV80OgorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkxMDcyMjQzMTk1CisJLmxvbmcJNDA3Mjc5NzY5CisJLmxvbmcJMTA0Njc1ODQ0NQorCS50eXBlCVBJXzQsQG9iamVjdAorCS5zaXplCVBJXzQsMTYKKwkuYWxpZ24gOAorUEkzMklOVjoKKwkubG9uZwkxODQxOTQwNjExCisJLmxvbmcJMTA3NjEyNTQ4OAorCS50eXBlCVBJMzJJTlYsQG9iamVjdAorCS5zaXplCVBJMzJJTlYsOAorCS5hbGlnbiA4CitTSElGVEVSOgorCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLnR5cGUJU0hJRlRFUixAb2JqZWN0CisJLnNpemUJU0hJRlRFUiw4CisJLmFsaWduIDgKK1NJR05fTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS50eXBlCVNJR05fTUFTSyxAb2JqZWN0CisJLnNpemUJU0lHTl9NQVNLLDgKKwkuYWxpZ24gOAorUF8zOgorCS5sb25nCTc3MTk3NzMzMQorCS5sb25nCTk5NjM1MDM0NgorCS50eXBlCVBfMyxAb2JqZWN0CisJLnNpemUJUF8zLDgKKwkuYWxpZ24gOAorQUxMX09ORVM6CisJLmxvbmcJNDI5NDk2NzI5NQorCS5sb25nCTEwNzI2OTMyNDcKKwkudHlwZQlBTExfT05FUyxAb2JqZWN0CisJLnNpemUJQUxMX09ORVMsOAorCS5hbGlnbiA4CitUV09fUE9XXzU1OgorCS5sb25nCTAKKwkubG9uZwkxMTMwMzY0OTI4CisJLnR5cGUJVFdPX1BPV181NSxAb2JqZWN0CisJLnNpemUJVFdPX1BPV181NSw4CisJLmFsaWduIDgKK1RXT19QT1dfTTU1OgorCS5sb25nCTAKKwkubG9uZwkxMDE1MDIxNTY4CisJLnR5cGUJVFdPX1BPV19NNTUsQG9iamVjdAorCS5zaXplCVRXT19QT1dfTTU1LDgKKwkuYWxpZ24gOAorUF8xOgorCS5sb25nCTE0MTM0ODA0NDgKKwkubG9uZwkxMDY5MDk3NDY3CisJLnR5cGUJUF8xLEBvYmplY3QKKwkuc2l6ZQlQXzEsOAorCS5hbGlnbiA4CitORUdfWkVSTzoKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS50eXBlCU5FR19aRVJPLEBvYmplY3QKKwkuc2l6ZQlORUdfWkVSTyw4CisJLmRhdGEKKwkuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssICIiCisvLyAtLSBCZWdpbiBEV0FSRjIgU0VHTUVOVCAuZWhfZnJhbWUKKwkuc2VjdGlvbiAuZWhfZnJhbWUsImEiLEBwcm9nYml0cworLmVoX2ZyYW1lX3NlZzoKKwkuYWxpZ24gMQorCS40Ynl0ZSAweDAwMDAwMDE0CisJLjhieXRlIDB4MDA1MjdhMDEwMDAwMDAwMAorCS44Ynl0ZSAweDA4MDcwYzFiMDExMDc4MDEKKwkuNGJ5dGUgMHgwMDAwMDE5MAorCS40Ynl0ZSAweDAwMDAwMDJjCisJLjRieXRlIDB4MDAwMDAwMWMKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfc2luLjEtLgorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9zaW4uOS0uLl9fX3RhZ192YWx1ZV9zaW4uMQorCS4yYnl0ZSAweDA0MDAKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfc2luLjMtLi5fX190YWdfdmFsdWVfc2luLjEKKwkuNGJ5dGUgMHgwMjgzMTAwZQorCS5ieXRlIDB4MDQKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfc2luLjUtLi5fX190YWdfdmFsdWVfc2luLjMKKwkuMmJ5dGUgMHgyMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV9zaW4uNi0uLl9fX3RhZ192YWx1ZV9zaW4uNQorCS40Ynl0ZSAweDA0YzMxMDBlCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3Npbi44LS4uX19fdGFnX3ZhbHVlX3Npbi42CisJLjJieXRlIDB4MDgwZQorIyBFbmQKZGlmZiAtLWdpdCBhL2xpYm0veDg2XzY0L3NfdGFuLlMgYi9saWJtL3g4Nl82NC9zX3Rhbi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0Y2IwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtL3g4Nl82NC9zX3Rhbi5TCkBAIC0wLDAgKzEsMjIzOSBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vICAgICAgICAgICAgICAgICAgICAgQUxHT1JJVEhNIERFU0NSSVBUSU9OCisvLyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIFBvbHlub21pYWxzIGNvZWZmaWNpZW50cyBhbmQgb3RoZXIgY29uc3RhbnRzLgorLy8KKy8vIE5vdGUgdGhhdCBpbiB0aGlzIGFsZ29yaXRobSwgdGhlcmUgaXMgYSBkaWZmZXJlbnQgcG9seW5vbWlhbCBmb3IKKy8vIGVhY2ggYnJlYWtwb2ludCwgc28gdGhlcmUgYXJlIDMyIHNldHMgb2YgcG9seW5vbWlhbCBjb2VmZmljaWVudHMKKy8vIGFzIHdlbGwgYXMgMzIgaW5zdGFuY2VzIG9mIHRoZSBvdGhlciBjb25zdGFudHMuCisvLworLy8gVGhlIHBvbHlub21pYWwgY29lZmZpY2llbnRzIGFuZCBjb25zdGFudHMgYXJlIG9mZnNldCBmcm9tIHRoZSBzdGFydAorLy8gb2YgdGhlIG1haW4gYmxvY2sgYXMgZm9sbG93czoKKy8vCisvLyAgIDA6ICBjOCB8IGMwCisvLyAgMTY6ICBjOSB8IGMxCisvLyAgMzI6IGMxMCB8IGMyCisvLyAgNDg6IGMxMSB8IGMzCisvLyAgNjQ6IGMxMiB8IGM0CisvLyAgODA6IGMxMyB8IGM1CisvLyAgOTY6IGMxNCB8IGM2CisvLyAxMTI6IGMxNSB8IGM3CisvLyAxMjg6IFRfaGkKKy8vIDEzNjogVF9sbworLy8gMTQ0OiBTaWdtYQorLy8gMTUyOiBUX2hsCisvLyAxNjA6IFRhdQorLy8gMTY4OiBNYXNrCisvLyAxNzY6IChlbmQgb2YgYmxvY2spCisvLworLy8gVGhlIHRvdGFsIHRhYmxlIHNpemUgaXMgdGhlcmVmb3JlIDU2MzIgYnl0ZXMuCisvLworLy8gTm90ZSB0aGF0IGMwIGFuZCBjMSBhcmUgYWx3YXlzIHplcm8uIFdlIGNvdWxkIHRyeSBzdG9yaW5nCisvLyBvdGhlciBjb25zdGFudHMgaGVyZSwgYW5kIGp1c3QgbG9hZGluZyB0aGUgbG93IHBhcnQgb2YgdGhlCisvLyBTSU1EIHJlZ2lzdGVyIGluIHRoZXNlIGNhc2VzLCBhZnRlciBlbnN1cmluZyB0aGUgaGlnaCBwYXJ0CisvLyBpcyB6ZXJvLgorLy8KKy8vIFRoZSBoaWdoZXIgdGVybXMgb2YgdGhlIHBvbHlub21pYWwgYXJlIGNvbXB1dGVkIGluIHRoZSAqbG93KgorLy8gcGFydCBvZiB0aGUgU0lNRCByZWdpc3Rlci4gVGhpcyBpcyBzbyB3ZSBjYW4gb3ZlcmxhcCB0aGUKKy8vIG11bHRpcGxpY2F0aW9uIGJ5IHJeOCBhbmQgdGhlIHVucGFja2luZyBvZiB0aGUgb3RoZXIgcGFydC4KKy8vCisvLyBUaGUgY29uc3RhbnRzIGFyZToKKy8vIFRfaGkgKyBUX2xvID0gYWNjdXJhdGUgY29uc3RhbnQgdGVybSBpbiBwb3dlciBzZXJpZXMKKy8vIFNpZ21hICsgVF9obCA9IGFjY3VyYXRlIGNvZWZmaWNpZW50IG9mIHIgaW4gcG93ZXIgc2VyaWVzIChTaWdtYT0xIGJpdCkKKy8vIFRhdSA9IG11bHRpcGxpZXIgZm9yIHRoZSByZWNpcHJvY2FsLCBhbHdheXMgLTEgb3IgMAorLy8KKy8vIFRoZSBiYXNpYyByZWNvbnN0cnVjdGlvbiBmb3JtdWxhIHVzaW5nIHRoZXNlIGNvbnN0YW50cyBpczoKKy8vCisvLyBIaWdoID0gdGF1ICogcmVjaXBfaGkgKyB0X2hpCisvLyBNZWQgPSAoc2duICogciArIHRfaGwgKiByKV9oaQorLy8gTG93ID0gKHNnbiAqIHIgKyB0X2hsICogcilfbG8gKworLy8gICAgICAgdGF1ICogcmVjaXBfbG8gKyBUX2xvICsgKFRfaGwgKyBzaWdtYSkgKiBjICsgcG9sCisvLworLy8gd2hlcmUgcG9sID0gYzAgKyBjMSAqIHIgKyBjMiAqIHJeMiArIC4uLiArIGMxNSAqIHJeMTUKKy8vCisvLyAoYzAgPSBjMSA9IDAsIGJ1dCB1c2luZyB0aGVtIGtlZXBzIFNJTUQgcmVndWxhcml0eSkKKy8vCisvLyBXZSB0aGVuIGRvIGEgY29tcGVuc2F0ZWQgc3VtIEhpZ2ggKyBNZWQsIGFkZCB0aGUgbG93IHBhcnRzIHRvZ2V0aGVyCisvLyBhbmQgdGhlbiBkbyB0aGUgZmluYWwgc3VtLgorLy8KKy8vIEhlcmUgcmVjaXBfaGkgKyByZWNpcF9sbyBpcyBhbiBhY2N1cmF0ZSByZWNpcHJvY2FsIG9mIHRoZSByZW1haW5kZXIKKy8vIG1vZHVsbyBwaS8yCisvLworLy8gU3BlY2lhbCBjYXNlczoKKy8vICB0YW4oTmFOKSA9IHF1aWV0IE5hTiwgYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgdGFuKElORikgPSBOYU4gYW5kIHJhaXNlIGludmFsaWQgZXhjZXB0aW9uCisvLyAgdGFuKCsvLTApID0gKy8tMAorLy8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KKyMgLS0gQmVnaW4gIHRhbgorRU5UUlkodGFuKQorIyBwYXJhbWV0ZXIgMTogJXhtbTAKKy4uQjEuMToKKy4uX19fdGFnX3ZhbHVlX3Rhbi4xOgorICAgICAgICBwdXNocSAgICAgJXJieAorLi5fX190YWdfdmFsdWVfdGFuLjM6CisgICAgICAgIHN1YnEgICAgICAkMTYsICVyc3AKKy4uX19fdGFnX3ZhbHVlX3Rhbi41OgorICAgICAgICBtb3ZzZCAgICAgJXhtbTAsIDgoJXJzcCkKKy4uQjEuMjoKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDMyNzY3LCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYzMTQsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQyNzAsICVlYXgKKyAgICAgICAgamEgICAgICAgIC5MXzJUQUdfUEFDS0VUXzAuMC4xCisgICAgICAgIG1vdmFwZCAgICBPTkVIQUxGKCVyaXApLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgTVVMMTYoJXJpcCksICV4bW02CisgICAgICAgIHVucGNrbHBkICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92YXBkICAgIHNpZ25fbWFzayglcmlwKSwgJXhtbTQKKyAgICAgICAgYW5kcGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgUEkzMklOViglcmlwKSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBvcnBzICAgICAgJXhtbTQsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tNSwgJXhtbTEKKyAgICAgICAgbW92YXBkICAgICV4bW0xLCAleG1tNworICAgICAgICB1bnBja2hwZCAgJXhtbTcsICV4bW03CisgICAgICAgIGN2dHRzZDJzaSAleG1tNywgJWVkeAorICAgICAgICBjdnR0cGQyZHEgJXhtbTEsICV4bW0xCisgICAgICAgIGN2dGRxMnBkICAleG1tMSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW02LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgUF8xKCVyaXApLCAleG1tMworICAgICAgICBtb3ZxICAgICAgUVFfMiglcmlwKSwgJXhtbTUKKyAgICAgICAgYWRkcSAgICAgICQ0NjkyNDgsICVyZHgKKyAgICAgICAgbW92YXBkICAgIFBfMiglcmlwKSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMworICAgICAgICBhbmRxICAgICAgJDMxLCAlcmR4CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbW92cSAgICAgICVyZHgsICVyY3gKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzaGxxICAgICAgJDEsICVyY3gKKyAgICAgICAgc3VicGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgUF8zKCVyaXApLCAleG1tMQorICAgICAgICBhZGRxICAgICAgJXJjeCwgJXJkeAorICAgICAgICBzaGxxICAgICAgJDIsICVyY3gKKyAgICAgICAgYWRkcSAgICAgICVyY3gsICVyZHgKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0yCisgICAgICAgIHN1YnBkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgIE9ORSglcmlwKSwgJXhtbTYKKyAgICAgICAgc2hscSAgICAgICQ0LCAlcmR4CisgICAgICAgIGxlYSAgICAgICBDdGFibGUoJXJpcCksICVyYXgKKyAgICAgICAgYW5kcGQgICAgIE1BU0tfMzUoJXJpcCksICV4bW01CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgYWRkcSAgICAgICVyZHgsICVyYXgKKyAgICAgICAgc3VicGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICB1bnBja2hwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIGRpdnNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgc3VicGQgICAgICV4bW00LCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgMTYoJXJheCksICV4bW03CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNworICAgICAgICBzdWJwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICA0OCglcmF4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgOTYoJXJheCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMgorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgICglcmF4KSwgJXhtbTcKKyAgICAgICAgYWRkcGQgICAgIDMyKCVyYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIGFkZHBkICAgICA4MCglcmF4KSwgJXhtbTQKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgMTEyKCVyYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTAsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBtb3ZhcGQgICAgNjQoJXJheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgICV4bW0xLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgJXhtbTMsICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgMTQ0KCVyYXgpLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG1vdnEgICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgYWRkcGQgICAgICV4bW00LCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgdW5wY2tocGQgICV4bW03LCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIHVucGNraHBkICAleG1tMSwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMworICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIGFkZHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0yLCAleG1tNAorICAgICAgICBtb3ZxICAgICAgMTQ0KCVyYXgpLCAleG1tNworICAgICAgICB1bnBja2hwZCAgJXhtbTIsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAxNTIoJXJheCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgIDEzNiglcmF4KSwgJXhtbTcKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIG1vdnEgICAgICBPTkUoJXJpcCksICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTQKKyAgICAgICAgbW92cSAgICAgIDE2OCglcmF4KSwgJXhtbTIKKyAgICAgICAgYW5kcGQgICAgICV4bW02LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW01CisgICAgICAgIG11bHNkICAgICAxNjAoJXJheCksICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNSwgJXhtbTcKKyAgICAgICAgc3Vic2QgICAgIDEyOCglcmF4KSwgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tNworICAgICAgICBtdWxzZCAgICAgJXhtbTYsICV4bW03CisgICAgICAgIG1vdnEgICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tMworICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMiwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMAorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW0wCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfMC4wLjE6CisgICAgICAgIGpnICAgICAgICAuTF8yVEFHX1BBQ0tFVF8xLjAuMQorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZWF4LCAlZWR4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzIuMC4xCisgICAgICAgIGFuZGwgICAgICAkMzI3NjcsICVlZHgKKyAgICAgICAgY21wbCAgICAgICQxNTkwNCwgJWVkeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIG1vdnEgICAgICBRXzExKCVyaXApLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgUV85KCVyaXApLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0xCisgICAgICAgIGFkZHNkICAgICBRXzcoJXJpcCksICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgIFFfNSglcmlwKSwgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgUV8zKCVyaXApLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMSwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfMy4wLjE6CisgICAgICAgIG1vdnEgICAgICBUV09fUE9XXzU1KCVyaXApLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgIFRXT19QT1dfTTU1KCVyaXApLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS40CisuTF8yVEFHX1BBQ0tFVF8yLjAuMToKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTEsICV4bW0xCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzEuMC4xOgorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWF4CisgICAgICAgIGFuZGwgICAgICAkMzI3NTIsICVlYXgKKyAgICAgICAgY21wbCAgICAgICQzMjc1MiwgJWVheAorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfNC4wLjEKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRsICAgICAgJDMyNzUyLCAlZWN4CisgICAgICAgIHN1YmwgICAgICAkMTYyMjQsICVlY3gKKyAgICAgICAgc2hybCAgICAgICQ3LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAkNjU1MzIsICVlY3gKKyAgICAgICAgbGVhICAgICAgIFBJX0lOVl9UQUJMRSglcmlwKSwgJXIxMQorICAgICAgICBhZGRxICAgICAgJXIxMSwgJXJjeAorICAgICAgICBtb3ZkICAgICAgJXhtbTAsICVyYXgKKyAgICAgICAgbW92bCAgICAgIDIwKCVyY3gpLCAlcjEwZAorICAgICAgICBtb3ZsICAgICAgMjQoJXJjeCksICVyOGQKKyAgICAgICAgbW92bCAgICAgICVlYXgsICVlZHgKKyAgICAgICAgc2hycSAgICAgICQyMSwgJXJheAorICAgICAgICBvcmwgICAgICAgJC0yMTQ3NDgzNjQ4LCAlZWF4CisgICAgICAgIHNocmwgICAgICAkMTEsICVlYXgKKyAgICAgICAgbW92bCAgICAgICVyMTBkLCAlcjlkCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcjEwCisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjkKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyOAorICAgICAgICBtb3ZsICAgICAgMTYoJXJjeCksICVlc2kKKyAgICAgICAgbW92bCAgICAgIDEyKCVyY3gpLCAlZWRpCisgICAgICAgIG1vdmwgICAgICAlcjEwZCwgJXIxMWQKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXIxMAorICAgICAgICBhZGRxICAgICAgJXIxMCwgJXI5CisgICAgICAgIGFkZHEgICAgICAlcjgsICVyMTEKKyAgICAgICAgbW92bCAgICAgICVyMTFkLCAlcjhkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyMTEKKyAgICAgICAgYWRkcSAgICAgICVyMTEsICVyOQorICAgICAgICBtb3ZsICAgICAgJWVzaSwgJXIxMGQKKyAgICAgICAgaW11bHEgICAgICVyZHgsICVyc2kKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyMTAKKyAgICAgICAgbW92bCAgICAgICVlZGksICVyMTFkCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcmRpCisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMzIsICVyc2kKKyAgICAgICAgYWRkcSAgICAgICVyYngsICVyOQorICAgICAgICBtb3ZsICAgICAgJXI5ZCwgJWVieAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcjkKKyAgICAgICAgYWRkcSAgICAgICVyc2ksICVyMTAKKyAgICAgICAgYWRkcSAgICAgICVyOSwgJXIxMAorICAgICAgICBzaGxxICAgICAgJDMyLCAlcmJ4CisgICAgICAgIG9ycSAgICAgICAlcmJ4LCAlcjgKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyMTEKKyAgICAgICAgbW92bCAgICAgIDgoJXJjeCksICVyOWQKKyAgICAgICAgbW92bCAgICAgIDQoJXJjeCksICVlc2kKKyAgICAgICAgbW92bCAgICAgICVlZGksICVlYngKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXJkaQorICAgICAgICBhZGRxICAgICAgJXJieCwgJXIxMAorICAgICAgICBtb3ZsICAgICAgJXIxMGQsICVlYngKKyAgICAgICAgc2hycSAgICAgICQzMiwgJXIxMAorICAgICAgICBhZGRxICAgICAgJXJkaSwgJXIxMQorICAgICAgICBhZGRxICAgICAgJXIxMCwgJXIxMQorICAgICAgICBtb3ZxICAgICAgJXI5LCAlcmRpCisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcjkKKyAgICAgICAgaW11bHEgICAgICVyYXgsICVyZGkKKyAgICAgICAgbW92bCAgICAgICVyOWQsICVyMTBkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyOQorICAgICAgICBhZGRxICAgICAgJXIxMCwgJXIxMQorICAgICAgICBtb3ZsICAgICAgJXIxMWQsICVyMTBkCisgICAgICAgIHNocnEgICAgICAkMzIsICVyMTEKKyAgICAgICAgYWRkcSAgICAgICVyOSwgJXJkaQorICAgICAgICBhZGRxICAgICAgJXIxMSwgJXJkaQorICAgICAgICBtb3ZxICAgICAgJXJzaSwgJXI5CisgICAgICAgIGltdWxxICAgICAlcmR4LCAlcnNpCisgICAgICAgIGltdWxxICAgICAlcmF4LCAlcjkKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXIxMAorICAgICAgICBvcnEgICAgICAgJXJieCwgJXIxMAorICAgICAgICBtb3ZsICAgICAgKCVyY3gpLCAlZWF4CisgICAgICAgIG1vdmwgICAgICAlZXNpLCAlcjExZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcnNpCisgICAgICAgIGFkZHEgICAgICAlcjExLCAlcmRpCisgICAgICAgIG1vdmwgICAgICAlZWRpLCAlcjExZAorICAgICAgICBzaHJxICAgICAgJDMyLCAlcmRpCisgICAgICAgIGFkZHEgICAgICAlcnNpLCAlcjkKKyAgICAgICAgYWRkcSAgICAgICVyZGksICVyOQorICAgICAgICBpbXVscSAgICAgJXJheCwgJXJkeAorICAgICAgICBwZXh0cncgICAgJDMsICV4bW0wLCAlZWJ4CisgICAgICAgIGxlYSAgICAgICBQSV9JTlZfVEFCTEUoJXJpcCksICVyZGkKKyAgICAgICAgc3VicSAgICAgICVyZGksICVyY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICQxOSwgJWVjeAorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZXNpCisgICAgICAgIGFuZGwgICAgICAlZWJ4LCAlZXNpCisgICAgICAgIHNocmwgICAgICAkNCwgJWVieAorICAgICAgICBhbmRsICAgICAgJDIwNDcsICVlYngKKyAgICAgICAgc3VibCAgICAgICQxMDIzLCAlZWJ4CisgICAgICAgIHN1YmwgICAgICAlZWJ4LCAlZWN4CisgICAgICAgIGFkZHEgICAgICAlcmR4LCAlcjkKKyAgICAgICAgbW92bCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgYWRkbCAgICAgICQzMiwgJWVkeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamwgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4xCisgICAgICAgIG5lZ2wgICAgICAlZWN4CisgICAgICAgIGFkZGwgICAgICAkMjksICVlY3gKKyAgICAgICAgc2hsbCAgICAgICVjbCwgJXI5ZAorICAgICAgICBtb3ZsICAgICAgJXI5ZCwgJWVkaQorICAgICAgICBhbmRsICAgICAgJDEwNzM3NDE4MjMsICVyOWQKKyAgICAgICAgdGVzdGwgICAgICQ1MzY4NzA5MTIsICVyOWQKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzYuMC4xCisgICAgICAgIHNocmwgICAgICAlY2wsICVyOWQKKyAgICAgICAgbW92bCAgICAgICQwLCAlZWJ4CisgICAgICAgIHNobHEgICAgICAkMzIsICVyOQorICAgICAgICBvcnEgICAgICAgJXIxMSwgJXI5CisuTF8yVEFHX1BBQ0tFVF83LjAuMToKKy5MXzJUQUdfUEFDS0VUXzguMC4xOgorICAgICAgICBjbXBxICAgICAgJDAsICVyOQorICAgICAgICBqZSAgICAgICAgLkxfMlRBR19QQUNLRVRfOS4wLjEKKy5MXzJUQUdfUEFDS0VUXzEwLjAuMToKKyAgICAgICAgYnNyICAgICAgICVyOSwgJXIxMQorICAgICAgICBtb3ZsICAgICAgJDI5LCAlZWN4CisgICAgICAgIHN1YmwgICAgICAlcjExZCwgJWVjeAorICAgICAgICBqbGUgICAgICAgLkxfMlRBR19QQUNLRVRfMTEuMC4xCisgICAgICAgIHNobHEgICAgICAlY2wsICVyOQorICAgICAgICBtb3ZxICAgICAgJXIxMCwgJXJheAorICAgICAgICBzaGxxICAgICAgJWNsLCAlcjEwCisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIG5lZ2wgICAgICAlZWN4CisgICAgICAgIGFkZGwgICAgICAkNjQsICVlY3gKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXJheAorICAgICAgICBzaHJxICAgICAgJWNsLCAlcjgKKyAgICAgICAgb3JxICAgICAgICVyYXgsICVyOQorICAgICAgICBvcnEgICAgICAgJXI4LCAlcjEwCisuTF8yVEFHX1BBQ0tFVF8xMi4wLjE6CisgICAgICAgIGN2dHNpMnNkcSAlcjksICV4bW0wCisgICAgICAgIHNocnEgICAgICAkMSwgJXIxMAorICAgICAgICBjdnRzaTJzZHEgJXIxMCwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW00LCAleG1tNAorICAgICAgICBzaGxsICAgICAgJDQsICVlZHgKKyAgICAgICAgbmVnbCAgICAgICVlZHgKKyAgICAgICAgYWRkbCAgICAgICQxNjM2OCwgJWVkeAorICAgICAgICBvcmwgICAgICAgJWVzaSwgJWVkeAorICAgICAgICB4b3JsICAgICAgJWVieCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW00CisgICAgICAgIG1vdnEgICAgICBQSV80KCVyaXApLCAleG1tMgorICAgICAgICBtb3ZxICAgICAgOCtQSV80KCVyaXApLCAleG1tNworICAgICAgICB4b3JwZCAgICAgJXhtbTUsICV4bW01CisgICAgICAgIHN1YmwgICAgICAkMTAwOCwgJWVkeAorICAgICAgICBwaW5zcncgICAgJDMsICVlZHgsICV4bW01CisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgc2hsbCAgICAgICQxNiwgJWVzaQorICAgICAgICBzYXJsICAgICAgJDMxLCAlZXNpCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTMKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIHNocmwgICAgICAkMzAsICVlZGkKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIGFkZGwgICAgICAlZXNpLCAlZWRpCisgICAgICAgIHhvcmwgICAgICAlZXNpLCAlZWRpCisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTcKKyAgICAgICAgbW92bCAgICAgICVlZGksICVlYXgKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tNworICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgc3Vic2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW03CisgICAgICAgIG1vdmFwZCAgICBQSTMySU5WKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZkZHVwICAgJXhtbTAsICV4bW0wCisgICAgICAgIG1vdmFwZCAgICBzaWduX21hc2soJXJpcCksICV4bW00CisgICAgICAgIGFuZHBkICAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBtb3ZkZHVwICAgJXhtbTcsICV4bW03CisgICAgICAgIG1vdmFwZCAgICBPTkVIQUxGKCVyaXApLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgTVVMMTYoJXJpcCksICV4bW02CisgICAgICAgIG9ycHMgICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgYWRkcGQgICAgICV4bW01LCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgJXhtbTEsICV4bW01CisgICAgICAgIHVucGNraHBkICAleG1tNSwgJXhtbTUKKyAgICAgICAgY3Z0dHNkMnNpICV4bW01LCAlZWR4CisgICAgICAgIGN2dHRwZDJkcSAleG1tMSwgJXhtbTEKKyAgICAgICAgY3Z0ZHEycGQgICV4bW0xLCAleG1tMQorICAgICAgICBtdWxwZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICBQXzEoJXJpcCksICV4bW0zCisgICAgICAgIG1vdnEgICAgICBRUV8yKCVyaXApLCAleG1tNQorICAgICAgICBzaGxsICAgICAgJDQsICVlYXgKKyAgICAgICAgYWRkbCAgICAgICQ0NjkyNDgsICVlZHgKKyAgICAgICAgbW92YXBkICAgIFBfMiglcmlwKSwgJXhtbTQKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRsICAgICAgJWVheCwgJWVkeAorICAgICAgICBhbmRsICAgICAgJDMxLCAlZWR4CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgbW92bCAgICAgICVlZHgsICVlY3gKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tNAorICAgICAgICBzaGxsICAgICAgJDEsICVlY3gKKyAgICAgICAgc3VicGQgICAgICV4bW0zLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgUF8zKCVyaXApLCAleG1tMQorICAgICAgICBhZGRsICAgICAgJWVjeCwgJWVkeAorICAgICAgICBzaGxsICAgICAgJDIsICVlY3gKKyAgICAgICAgYWRkbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNQorICAgICAgICBtb3ZhcGQgICAgJXhtbTAsICV4bW0yCisgICAgICAgIHN1YnBkICAgICAleG1tNCwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgIE9ORSglcmlwKSwgJXhtbTYKKyAgICAgICAgc2hsbCAgICAgICQ0LCAlZWR4CisgICAgICAgIGxlYSAgICAgICBDdGFibGUoJXJpcCksICVyYXgKKyAgICAgICAgYW5kcGQgICAgIE1BU0tfMzUoJXJpcCksICV4bW01CisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgYWRkcSAgICAgICVyZHgsICVyYXgKKyAgICAgICAgc3VicGQgICAgICV4bW0wLCAleG1tMgorICAgICAgICB1bnBja2hwZCAgJXhtbTAsICV4bW0wCisgICAgICAgIGRpdnNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgc3VicGQgICAgICV4bW00LCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHN1YnBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgbW92YXBkICAgIDQ4KCVyYXgpLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAxNiglcmF4KSwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNworICAgICAgICBtb3ZhcGQgICAgOTYoJXJheCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisgICAgICAgIG1vdmFwZCAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgKCVyYXgpLCAleG1tNworICAgICAgICBhZGRwZCAgICAgMzIoJXJheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkcGQgICAgIDgwKCVyYXgpLCAleG1tNAorICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAxMTIoJXJheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW00CisgICAgICAgIG1vdmFwZCAgICA2NCglcmF4KSwgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMQorICAgICAgICBhZGRwZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIG1vdmFwZCAgICAleG1tMywgJXhtbTEKKyAgICAgICAgbXVscGQgICAgICV4bW0wLCAleG1tMworICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0wCisgICAgICAgIG11bHBkICAgICAxNDQoJXJheCksICV4bW0xCisgICAgICAgIG11bHBkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tMworICAgICAgICBhZGRwZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIG1vdnEgICAgICAleG1tMSwgJXhtbTQKKyAgICAgICAgbXVsc2QgICAgICV4bW03LCAleG1tMAorICAgICAgICB1bnBja2hwZCAgJXhtbTcsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgdW5wY2tocGQgICV4bW0xLCAleG1tMQorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBtb3ZxICAgICAgJXhtbTIsICV4bW00CisgICAgICAgIG1vdnEgICAgICAxNDQoJXJheCksICV4bW03CisgICAgICAgIHVucGNraHBkICAleG1tMiwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgIDE1MiglcmF4KSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tNworICAgICAgICBhZGRzZCAgICAgMTM2KCVyYXgpLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW03CisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgbW92cSAgICAgIE9ORSglcmlwKSwgJXhtbTcKKyAgICAgICAgbXVsc2QgICAgICV4bW02LCAleG1tNAorICAgICAgICBtb3ZxICAgICAgMTY4KCVyYXgpLCAleG1tMgorICAgICAgICBhbmRwZCAgICAgJXhtbTYsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTUKKyAgICAgICAgbXVsc2QgICAgIDE2MCglcmF4KSwgJXhtbTYKKyAgICAgICAgc3Vic2QgICAgICV4bW01LCAleG1tNworICAgICAgICBzdWJzZCAgICAgMTI4KCVyYXgpLCAleG1tMgorICAgICAgICBzdWJzZCAgICAgJXhtbTQsICV4bW03CisgICAgICAgIG11bHNkICAgICAleG1tNiwgJXhtbTcKKyAgICAgICAgbW92cSAgICAgICV4bW0zLCAleG1tNAorICAgICAgICBzdWJzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgc3Vic2QgICAgICV4bW0yLCAleG1tNAorICAgICAgICBhZGRzZCAgICAgJXhtbTQsICV4bW0wCisgICAgICAgIHN1YnNkICAgICAleG1tNywgJXhtbTAKKyAgICAgICAgYWRkc2QgICAgICV4bW0zLCAleG1tMAorICAgICAgICBqbXAgICAgICAgLi5CMS40CisuTF8yVEFHX1BBQ0tFVF85LjAuMToKKyAgICAgICAgYWRkbCAgICAgICQ2NCwgJWVkeAorICAgICAgICBtb3ZxICAgICAgJXIxMCwgJXI5CisgICAgICAgIG1vdnEgICAgICAlcjgsICVyMTAKKyAgICAgICAgbW92cSAgICAgICQwLCAlcjgKKyAgICAgICAgY21wcSAgICAgICQwLCAlcjkKKyAgICAgICAgam5lICAgICAgIC5MXzJUQUdfUEFDS0VUXzEwLjAuMQorICAgICAgICBhZGRsICAgICAgJDY0LCAlZWR4CisgICAgICAgIG1vdnEgICAgICAlcjEwLCAlcjkKKyAgICAgICAgbW92cSAgICAgICVyOCwgJXIxMAorICAgICAgICBjbXBxICAgICAgJDAsICVyOQorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTAuMC4xCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF8xMi4wLjEKKy5MXzJUQUdfUEFDS0VUXzExLjAuMToKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzEyLjAuMQorICAgICAgICBuZWdsICAgICAgJWVjeAorICAgICAgICBzaHJxICAgICAgJWNsLCAlcjEwCisgICAgICAgIG1vdnEgICAgICAlcjksICVyYXgKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXI5CisgICAgICAgIHN1YmwgICAgICAlZWN4LCAlZWR4CisgICAgICAgIG5lZ2wgICAgICAlZWN4CisgICAgICAgIGFkZGwgICAgICAkNjQsICVlY3gKKyAgICAgICAgc2hscSAgICAgICVjbCwgJXJheAorICAgICAgICBvcnEgICAgICAgJXJheCwgJXIxMAorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfMTIuMC4xCisuTF8yVEFHX1BBQ0tFVF81LjAuMToKKyAgICAgICAgbm90bCAgICAgICVlY3gKKyAgICAgICAgc2hscSAgICAgICQzMiwgJXI5CisgICAgICAgIG9ycSAgICAgICAlcjExLCAlcjkKKyAgICAgICAgc2hscSAgICAgICVjbCwgJXI5CisgICAgICAgIG1vdnEgICAgICAlcjksICVyZGkKKyAgICAgICAgdGVzdGwgICAgICQtMjE0NzQ4MzY0OCwgJXI5ZAorICAgICAgICBqbmUgICAgICAgLkxfMlRBR19QQUNLRVRfMTMuMC4xCisgICAgICAgIHNocmwgICAgICAlY2wsICVyOWQKKyAgICAgICAgbW92bCAgICAgICQwLCAlZWJ4CisgICAgICAgIHNocnEgICAgICAkMiwgJXJkaQorICAgICAgICBqbXAgICAgICAgLkxfMlRBR19QQUNLRVRfOC4wLjEKKy5MXzJUQUdfUEFDS0VUXzYuMC4xOgorICAgICAgICBzaHJsICAgICAgJWNsLCAlcjlkCisgICAgICAgIG1vdmwgICAgICAkMTA3Mzc0MTgyNCwgJWVieAorICAgICAgICBzaHJsICAgICAgJWNsLCAlZWJ4CisgICAgICAgIHNobHEgICAgICAkMzIsICVyOQorICAgICAgICBvcnEgICAgICAgJXIxMSwgJXI5CisgICAgICAgIHNobHEgICAgICAkMzIsICVyYngKKyAgICAgICAgYWRkbCAgICAgICQxMDczNzQxODI0LCAlZWRpCisgICAgICAgIG1vdnEgICAgICAkMCwgJXJjeAorICAgICAgICBtb3ZxICAgICAgJDAsICVyMTEKKyAgICAgICAgc3VicSAgICAgICVyOCwgJXJjeAorICAgICAgICBzYmJxICAgICAgJXIxMCwgJXIxMQorICAgICAgICBzYmJxICAgICAgJXI5LCAlcmJ4CisgICAgICAgIG1vdnEgICAgICAlcmN4LCAlcjgKKyAgICAgICAgbW92cSAgICAgICVyMTEsICVyMTAKKyAgICAgICAgbW92cSAgICAgICVyYngsICVyOQorICAgICAgICBtb3ZsICAgICAgJDMyNzY4LCAlZWJ4CisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF83LjAuMQorLkxfMlRBR19QQUNLRVRfMTMuMC4xOgorICAgICAgICBzaHJsICAgICAgJWNsLCAlcjlkCisgICAgICAgIG1vdnEgICAgICAkMHgxMDAwMDAwMDAsICVyYngKKyAgICAgICAgc2hycSAgICAgICVjbCwgJXJieAorICAgICAgICBtb3ZxICAgICAgJDAsICVyY3gKKyAgICAgICAgbW92cSAgICAgICQwLCAlcjExCisgICAgICAgIHN1YnEgICAgICAlcjgsICVyY3gKKyAgICAgICAgc2JicSAgICAgICVyMTAsICVyMTEKKyAgICAgICAgc2JicSAgICAgICVyOSwgJXJieAorICAgICAgICBtb3ZxICAgICAgJXJjeCwgJXI4CisgICAgICAgIG1vdnEgICAgICAlcjExLCAlcjEwCisgICAgICAgIG1vdnEgICAgICAlcmJ4LCAlcjkKKyAgICAgICAgbW92bCAgICAgICQzMjc2OCwgJWVieAorICAgICAgICBzaHJxICAgICAgJDIsICVyZGkKKyAgICAgICAgYWRkbCAgICAgICQxMDczNzQxODI0LCAlZWRpCisgICAgICAgIGptcCAgICAgICAuTF8yVEFHX1BBQ0tFVF84LjAuMQorLkxfMlRBR19QQUNLRVRfNC4wLjE6CisgICAgICAgIG1vdnEgICAgICA4KCVyc3ApLCAleG1tMAorICAgICAgICBtdWxzZCAgICAgTkVHX1pFUk8oJXJpcCksICV4bW0wCisgICAgICAgIG1vdnEgICAgICAleG1tMCwgKCVyc3ApCisuTF8yVEFHX1BBQ0tFVF8xNC4wLjE6CisuLkIxLjQ6CisgICAgICAgIGFkZHEgICAgICAkMTYsICVyc3AKKy4uX19fdGFnX3ZhbHVlX3Rhbi42OgorICAgICAgICBwb3BxICAgICAgJXJieAorLi5fX190YWdfdmFsdWVfdGFuLjg6CisgICAgICAgIHJldCAgICAgICAKKy4uX19fdGFnX3ZhbHVlX3Rhbi45OgorRU5EKHRhbikKKyMgLS0gRW5kICB0YW4KKwkuc2VjdGlvbiAucm9kYXRhLCAiYSIKKwkuYWxpZ24gMTYKKwkuYWxpZ24gMTYKK09ORUhBTEY6CisJLmxvbmcJMAorCS5sb25nCTEwNzE2NDQ2NzIKKwkubG9uZwkwCisJLmxvbmcJMTA3MTY0NDY3MgorCS50eXBlCU9ORUhBTEYsQG9iamVjdAorCS5zaXplCU9ORUhBTEYsMTYKKwkuYWxpZ24gMTYKK01VTDE2OgorCS5sb25nCTAKKwkubG9uZwkxMDc2ODg3NTUyCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkudHlwZQlNVUwxNixAb2JqZWN0CisJLnNpemUJTVVMMTYsMTYKKwkuYWxpZ24gMTYKK3NpZ25fbWFzazoKKwkubG9uZwkwCisJLmxvbmcJMjE0NzQ4MzY0OAorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJc2lnbl9tYXNrLEBvYmplY3QKKwkuc2l6ZQlzaWduX21hc2ssMTYKKwkuYWxpZ24gMTYKK1BJMzJJTlY6CisJLmxvbmcJMTg0MTk0MDYxMQorCS5sb25nCTEwNzE5MzExODQKKwkubG9uZwkxODQxOTQwNjExCisJLmxvbmcJMTA3NjEyNTQ4OAorCS50eXBlCVBJMzJJTlYsQG9iamVjdAorCS5zaXplCVBJMzJJTlYsMTYKKwkuYWxpZ24gMTYKK1BfMToKKwkubG9uZwkxNDEzNzU4OTc2CisJLmxvbmcJMTA2OTA5NzQ2NworCS5sb25nCTE0MTM3NDI1OTIKKwkubG9uZwkxMDY5MDk3NDY3CisJLnR5cGUJUF8xLEBvYmplY3QKKwkuc2l6ZQlQXzEsMTYKKwkuYWxpZ24gMTYKK1BfMjoKKwkubG9uZwkxNzM0ODE5ODQwCisJLmxvbmcJMzE3NDIyOTk0NQorCS5sb25nCTEyODAwNDkxNTIKKwkubG9uZwkxMDI4MDMzNTcxCisJLnR5cGUJUF8yLEBvYmplY3QKKwkuc2l6ZQlQXzIsMTYKKwkuYWxpZ24gMTYKK1BfMzoKKwkubG9uZwk5MjMyMTkwMTgKKwkubG9uZwk5ODQxMzAyNzIKKwkubG9uZwk1NzcwMTE4OQorCS5sb25nCTk4ODM4Mzc5MAorCS50eXBlCVBfMyxAb2JqZWN0CisJLnNpemUJUF8zLDE2CisJLmFsaWduIDE2CitDdGFibGU6CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyODQ1ODkzMDYKKwkubG9uZwkxMDY2ODIwODUyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTQ0MTE4NjM2NQorCS5sb25nCTEwNjU0OTQyNDMKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3MDk0NTYyMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMzYyODk1MDQKKwkubG9uZwkxMDY0MTM1OTk3CisJLmxvbmcJMjg2MzMxMTUzCisJLmxvbmcJMTA2OTYxNzQyNQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTYwNDc2MTMxCisJLmxvbmcJMTA2MjcyMjEwMgorCS5sb25nCTQ2MzU4Mzc3MgorCS5sb25nCTEwNjgyMTI2NjYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMzEzMDM4MjM1CisJLmxvbmcJMTA2Njc0NTczMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTAxMzg3ODM0MgorCS5sb25nCTEwNjcxNTI2MTgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM2NjM0MjY4MzMKKwkubG9uZwkxMDY1NzI1MjgzCisJLmxvbmcJMzY5MzI4NDI1MQorCS5sb25nCTEwNjkxMTg4MDgKKwkubG9uZwk2NTA4NTIyMzIKKwkubG9uZwkxMDY1ODgyMzc2CisJLmxvbmcJMTk5NjI0NTM4MQorCS5sb25nCTEwNzEwMDAyNjUKKwkubG9uZwkyMDA4NzQ2MTcwCisJLmxvbmcJMTA2NDY2NDE5NworCS5sb25nCTMwNTU4NDI1OTMKKwkubG9uZwkxMDY4NTc4ODQ2CisJLmxvbmcJMTQ5NTQwNjM0OAorCS5sb25nCTEwNjQ2NTI0MzcKKwkubG9uZwkyMjY5NTMwMTU3CisJLmxvbmcJMTA2OTcxMTIzNQorCS5sb25nCTI4NTU2MzY5NgorCS5sb25nCTEwNjM1NzY0NjUKKwkubG9uZwkxMDQ2ODk3NDQwCisJLmxvbmcJMTA2NzcwNTg2NQorCS5sb25nCTIzMzQyOTczMQorCS5sb25nCTEwNjM0NTMxNTEKKwkubG9uZwk1MjIwNDU5NTgKKwkubG9uZwkxMDY4NDc2NTkwCisJLmxvbmcJMjM1NDc4NTY5OAorCS5sb25nCTEwNjkxMDI3NzkKKwkubG9uZwkxMzE3NTk5MTQxCisJLmxvbmcJMTAxMjQzMjEzMworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjgyODIzMDEwNQorCS5sb25nCTEwNjU2MDY2MjYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTUxMjU0NTk1NQorCS5sb25nCTEwNjgxMTkwNDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExMjcwNDg2OTgKKwkubG9uZwkxMDY3OTA5NDU5CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMzAwMjAwNDUwCisJLmxvbmcJMTA2NzI1NDc2NworCS5sb25nCTM1OTMyNTAyOTYKKwkubG9uZwkxMDcwMjMzNTYxCisJLmxvbmcJMzAwOTM2NTU0NAorCS5sb25nCTEwNjY5MDIxMTcKKwkubG9uZwkxMTI3MzczMDUwCisJLmxvbmcJMTA3MTE3MzQ1NworCS5sb25nCTMwNDYxMDMzMDUKKwkubG9uZwkxMDY2MzcxMjk5CisJLmxvbmcJMjQ1ODM0MDIKKwkubG9uZwkxMDY5NzIzOTg4CisJLmxvbmcJNDA4MjUxMTc1OAorCS5sb25nCTEwNjU5MTQxOTkKKwkubG9uZwkzMjIzODg5Njk5CisJLmxvbmcJMTA3MDAyMDM2NworCS5sb25nCTU0ODkyNzk4NAorCS5sb25nCTEwNjU0MTU3NTYKKwkubG9uZwk1NTgwNjU4OTcKKwkubG9uZwkxMDY4OTQ5NDE4CisJLmxvbmcJNjgwMDczMzE1CisJLmxvbmcJMTA2NDk0MDcyNgorCS5sb25nCTM4ODg3MzIwMAorCS5sb25nCTEwNjg5NDQyNzAKKwkubG9uZwkzNzYzNjc5NTc2CisJLmxvbmcJMTA3MDE2NzU0MQorCS5sb25nCTE0OTczNjA0MDQKKwkubG9uZwkxMDA5NzEwNTQ3CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwk2NDkzMTE1MgorCS5sb25nCTEwNjc3Mjk0MTEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjQ2NzU4Mjc4MgorCS5sb25nCTEwNjkyNTYzODkKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE2MjE1MDA5NgorCS5sb25nCTEwNjg5NDY0MjAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM3MDI3OTQyMzcKKwkubG9uZwkxMDY4NTc5MTUyCisJLmxvbmcJMzYzMTkxOTI5MQorCS5sb25nCTEwNzA5MzY5MjYKKwkubG9uZwkzNDU2ODIxNDEzCisJLmxvbmcJMTA2ODIxNzIxOAorCS5sb25nCTIwMzEzNjY0MzgKKwkubG9uZwkxMDcxNDk1NzQ1CisJLmxvbmcJMTU5NjY2NDAyMAorCS5sb25nCTEwNjc3OTkyODEKKwkubG9uZwkxNTA5MDM4NzAxCisJLmxvbmcJMTA3MDYwMTY0MworCS5sb25nCTU4MzE3MTQ3NworCS5sb25nCTEwNjc1MTAxNDgKKwkubG9uZwkzNzg1MzQ0NjgyCisJLmxvbmcJMTA3MDYxODQ3NgorCS5sb25nCTI0MDIwMzYwNDgKKwkubG9uZwkxMDY3MDc1NzM2CisJLmxvbmcJMzIzMzAxODQxMgorCS5sb25nCTEwNjk5MTMxODYKKwkubG9uZwk0MTEyODA1NjgKKwkubG9uZwkxMDY2NzEwNTU2CisJLmxvbmcJMTA2NTU4NDE5MgorCS5sb25nCTEwNjk3NDc4OTYKKwkubG9uZwk4OTUyNDczMjQKKwkubG9uZwkxMDcwODE5ODQ4CisJLmxvbmcJNTAwMDc4OTA5CisJLmxvbmcJMzE2MTI4ODc4MQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJNzI5OTgzODQzCisJLmxvbmcJMTA2ODk5NDE5NAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNDU4Nzk0NTYyCisJLmxvbmcJMTA3MDM5ODU1MAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjg1Nzc3NzQ4OQorCS5sb25nCTEwNzAxMzc2MzcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwMjQzNTk1MTcKKwkubG9uZwkxMDY5ODc2NTMxCisJLmxvbmcJMjYxNjA0MDIzOAorCS5sb25nCTEwNzE1ODI5MzcKKwkubG9uZwkxNjA5MDI0NjM2CisJLmxvbmcJMTA2OTY3NTA4OAorCS5sb25nCTI1MjkyNDA1NDkKKwkubG9uZwkxMDcxODM2NjMzCisJLmxvbmcJMTUxMDEyODYwMAorCS5sb25nCTEwNjk0NDAxMTMKKwkubG9uZwkyMjUxNjk3MTg0CisJLmxvbmcJMTA3MTI1MzY4NworCS5sb25nCTEyNjI3NjE0NTMKKwkubG9uZwkxMDY5MTQyODUwCisJLmxvbmcJMTI2MzA5MTg1NworCS5sb25nCTEwNzExOTA0NjEKKwkubG9uZwkzMDQzMzgzNDg2CisJLmxvbmcJMTA2ODg4NTE5MQorCS5sb25nCTI0NzY5MzI0NzAKKwkubG9uZwkxMDcwODQyMDAyCisJLmxvbmcJMzY1OTk5NTAyOAorCS5sb25nCTEwNjg2NjkyMDAKKwkubG9uZwk4NTU4OTE3NTUKKwkubG9uZwkxMDcwNjk2ODk0CisJLmxvbmcJMjU4MzQ5MDM1NAorCS5sb25nCTEwNzEyODQ4NTcKKwkubG9uZwkzMDYyNjMzNTc1CisJLmxvbmcJMTAxNDAwODYyMworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjU1MDk0MDQ3MQorCS5sb25nCTEwNjk5MzgyMDEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzQyMjgwNzI5NworCS5sb25nCTEwNzE2NDA4NDcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExNTE2NTgwNTMKKwkubG9uZwkxMDcxNDk0NzE1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk5Mjk2MDcwNzEKKwkubG9uZwkxMDcxMzQ2MzQwCisJLmxvbmcJMTAzNzA0OTAzNAorCS5sb25nCTEwNzIwMzczMDUKKwkubG9uZwkyNzg2OTI4NjU3CisJLmxvbmcJMTA3MTIxNTI4MgorCS5sb25nCTE0NDc0MDY4NTkKKwkubG9uZwkxMDcyMjY1MjA5CisJLmxvbmcJMzQ5MDk1MjEwNworCS5sb25nCTEwNzEwOTA4NTEKKwkubG9uZwkzMjA1MjMyOTE2CisJLmxvbmcJMTA3MTk2ODY1OAorCS5sb25nCTEyOTczNDQzMDQKKwkubG9uZwkxMDcwOTc3MTIwCisJLmxvbmcJMTA2NjExMDk3NgorCS5sb25nCTEwNzE5NDYwMzUKKwkubG9uZwkzODAzNzIxNDgwCisJLmxvbmcJMTA3MDg3MTA4MgorCS5sb25nCTE0OTY3NTQyMjkKKwkubG9uZwkxMDcxODA3MjAxCisJLmxvbmcJMjk4MjU1MDY4MworCS5sb25nCTEwNzA3NzMyNDMKKwkubG9uZwk0MDE0NDQxOTg5CisJLmxvbmcJMTA3MTczNjIyMgorCS5sb25nCTQxOTk2ODIzNgorCS5sb25nCTEwNzE3MTcwNDcKKwkubG9uZwkzNDUxMjY2NTM4CisJLmxvbmcJMzE2MzQ0NDgxMQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMjk2MDI2NzIzNQorCS5sb25nCTEwNzA3NDU4NDEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNzI0MzIyNzY4CisJLmxvbmcJMTA3Mjg4MTMwOAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNjQzMTUzMDQ4CisJLmxvbmcJMTA3MjkwNTgxNgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDI4NTA3OTQ1OAorCS5sb25nCTEwNzI5Mjg1NTgKKwkubG9uZwkzOTEyNTI0NzMzCisJLmxvbmcJMTA3MjYyMjk4MworCS5sb25nCTExODM2MjI3MgorCS5sb25nCTEwNzI5NTI3NTQKKwkubG9uZwk0MTA3NzY3OTcyCisJLmxvbmcJMTA3MjgyNzQwOAorCS5sb25nCTI2ODk1MDI4ODMKKwkubG9uZwkxMDcyOTc2OTIyCisJLmxvbmcJOTQ2NTIzMzQ3CisJLmxvbmcJMTA3Mjc3Mjc2NgorCS5sb25nCTU3MzIwNDE4OQorCS5sb25nCTEwNzMwMDE3NjEKKwkubG9uZwk1ODE1MzE1MTgKKwkubG9uZwkxMDcyODI2MzkxCisJLmxvbmcJMTM4NjIzNjUyNgorCS5sb25nCTEwNzMwMjY5NTkKKwkubG9uZwkzNzE4OTA1OTA1CisJLmxvbmcJMTA3MjgzMjgyMworCS5sb25nCTExNDU1NTgxNDAKKwkubG9uZwkxMDczMDUyNjczCisJLmxvbmcJNTEzNTcyNjM3CisJLmxvbmcJMTA3Mjg2MTk2OQorCS5sb25nCTcxNjcwMDA0OAorCS5sb25nCTEwNzE5OTczNjgKKwkubG9uZwk1NDcxMjY3NjkKKwkubG9uZwkxMDE1NTIzNTI1CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkxMDk3OTA3Mzk4CisJLmxvbmcJMTA3MTQyMDEyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMzQ5ODkyNDQyCisJLmxvbmcJMTA3NDI5MDIxMgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzkxMzE5NzQwNQorCS5sb25nCTEwNzQ1MDExODEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI0OTQwMzQ1MjIKKwkubG9uZwkxMDc0NzM5MTcwCisJLmxvbmcJMTI2NDczODc2MworCS5sb25nCTEwNzMwODQ4MDQKKwkubG9uZwkxNTIwMjkzOTA2CisJLmxvbmcJMTA3NDg5OTYzMgorCS5sb25nCTE5NTg5MzY2MDAKKwkubG9uZwkxMDczNDExNDkzCisJLmxvbmcJMjEzMzY0OTYzNQorCS5sb25nCTEwNzUwNTIxNzEKKwkubG9uZwk0MjcwNzQwNzMwCisJLmxvbmcJMTA3MzU3NDcwOAorCS5sb25nCTE3Mjg5MzAxODkKKwkubG9uZwkxMDc1MjI0ODQ0CisJLmxvbmcJMTMwMzk5ODU1MgorCS5sb25nCTEwNzM3OTkxODYKKwkubG9uZwk2MTg2MTE5MzMKKwkubG9uZwkxMDc1NDIwMjU1CisJLmxvbmcJMTc2OTgyODA0NgorCS5sb25nCTEwNzM5Mzg1NDIKKwkubG9uZwkyMjAwNTM3OTg2CisJLmxvbmcJMTA3NTY0MTQyMQorCS5sb25nCTQzMzM2MTExMAorCS5sb25nCTEwNzQxMDUzNjkKKwkubG9uZwk3MTk1OTU2MDAKKwkubG9uZwkxMDcyMzE3MTg0CisJLmxvbmcJMjk0NTI3MjA2CisJLmxvbmcJMzE2MjE0MDA4OAorCS5sb25nCTAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMzgxMTc4ODIxNgorCS5sb25nCTMyMTg0MDA1NTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTcwNDM1MjEwMgorCS5sb25nCTEwNzU5NDMwMDEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyODQ1ODkzMDYKKwkubG9uZwkxMDc2MjU4MDM2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMjExMjY0MjkxCisJLmxvbmcJMTA3NjY1OTAxMAorCS5sb25nCTAKKwkubG9uZwkxMDczNzQxODI0CisJLmxvbmcJMTQ0MTE4NjM2NQorCS5sb25nCTEwNzcwMjg1NzkKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMTA3NDA5MTM0OQorCS5sb25nCTg3Njk0MzY3MworCS5sb25nCTEwNzczNTM2MjIKKwkubG9uZwkyODYzMzExNTMxCisJLmxvbmcJMTA3NDQ0MDg3NAorCS5sb25nCTIzNjI4OTUwNAorCS5sb25nCTEwNzc3Njc0ODUKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDc0ODYwMzA1CisJLmxvbmcJMjgwNTQ3MzMxMQorCS5sb25nCTEwNzgxMTUyNzgKKwkubG9uZwk5NTQ0MzcxOAorCS5sb25nCTEwNzUxNjMyMjcKKwkubG9uZwkxMTYwNDc2MTMxCisJLmxvbmcJMTA3ODQ1MDc0MgorCS5sb25nCTQ2MzU4Mzc3MgorCS5sb25nCTEwNzU1NTI2OTgKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMzMwMTY1OTcxCisJLmxvbmcJMzIwNzg1MDc0NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjE3NTM2NjIzCisJLmxvbmcJMTA1OTEwOTA5OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzQ5MjEyMDg0OQorCS5sb25nCTMyMDUxNTE0NzUKKwkubG9uZwk2MDIxODU3MDUKKwkubG9uZwkzMjE1Njc4MDkyCisJLmxvbmcJNzYwNDIyOTU4CisJLmxvbmcJMTA1NjMxMjU5NworCS5sb25nCTU1NTEyNzg4OQorCS5sb25nCTEwNjc1NDUyNjYKKwkubG9uZwkzMTM5Nzg0MTI0CisJLmxvbmcJMzIwMjQ3MDgzNworCS5sb25nCTM2OTA1NDQwMTQKKwkubG9uZwkzMjEzMTUwMTcxCisJLmxvbmcJOTU3MDc5MTUKKwkubG9uZwkxMDUzNjM1NDI4CisJLmxvbmcJNDAwMzExNDQwNworCS5sb25nCTEwNjQ1ODE0MTIKKwkubG9uZwkyMDM0OTI2MjMxCisJLmxvbmcJMzE5OTcxMTE2MQorCS5sb25nCTM3NTk1MzYwMjMKKwkubG9uZwkzMjEwNTU5OTg5CisJLmxvbmcJMzgyNjkyODIxNAorCS5sb25nCTEwNTA4OTM4MTkKKwkubG9uZwkzODM3OTYwNzg1CisJLmxvbmcJMTA2MTc5MDM3OQorCS5sb25nCTE1MjYzMjUyNDgKKwkubG9uZwkzMjE3OTY3NTY2CisJLmxvbmcJMjM1NjQyNjUyMQorCS5sb25nCTEwMjU0MjM0NTYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQ1NzcyODk3NQorCS5sb25nCTEwNzEwODgyNzYKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMTM5ODQ2MjYwOAorCS5sb25nCTMyMDczMDM5NjgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI2MjA1OTgzCisJLmxvbmcJMTA1ODQ2MTIxMworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNTYyMjYyMzgKKwkubG9uZwkzMjA0NTI4NjEyCisJLmxvbmcJMjc1NDcwNjU0MQorCS5sb25nCTMyMTUzNTk1MTEKKwkubG9uZwkyMTg3Nzk5ODIzCisJLmxvbmcJMTA1NTYzNDQzNworCS5sb25nCTc5MDMyMzc0MgorCS5sb25nCTEwNjc0MDI1ODcKKwkubG9uZwkxMzcyMzg1ODQ4CisJLmxvbmcJMzIwMTY1MTQ3OQorCS5sb25nCTQwOTcyOTI3MTYKKwkubG9uZwkzMjEyODU2MzAyCisJLmxvbmcJMzM0ODIxMDM1NworCS5sb25nCTEwNTI4MzAwOTkKKwkubG9uZwkyNDQyNzk2NDY2CisJLmxvbmcJMTA2NDMzNzYwMgorCS5sb25nCTg2MjYwODE0MgorCS5sb25nCTMxOTg4MzA3NTQKKwkubG9uZwkxNzAyOTYxNTIKKwkubG9uZwkzMjEwMDYwODY3CisJLmxvbmcJMzc1NTU3MTQyOAorCS5sb25nCTEwNDk5MzMzNDMKKwkubG9uZwkzNjE0ODY2MDA4CisJLmxvbmcJMTA2MTM2MTY3MAorCS5sb25nCTcxOTk3ODQ5NgorCS5sb25nCTMyMTc2NjkwOTYKKwkubG9uZwkxOTk4ODQyNDY1CisJLmxvbmcJMzE3NDcwMzk3NworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzc0OTE1NjYwNworCS5sb25nCTEwNzEwNDgyNTgKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMzEyMDQ5ODYzOAorCS5sb25nCTMyMDY3NDkzMDQKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI3NzM1NzgxMTQKKwkubG9uZwkxMDU4MDA5MzEyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMDMwNzgzNjc2CisJLmxvbmcJMzIwMzgxNzg3MworCS5sb25nCTIyMjM2NTQ1OTgKKwkubG9uZwkzMjE1MDcxOTM2CisJLmxvbmcJMjk3NjEzNDY1MAorCS5sb25nCTEwNTQ5ODcyNDQKKwkubG9uZwk3MDYzOTAwNjYKKwkubG9uZwkxMDY3MjE3Mzg2CisJLmxvbmcJNDI1ODQzNzYxNQorCS5sb25nCTMyMDA5MDAzNzgKKwkubG9uZwkxMDY2MjUyOTc1CisJLmxvbmcJMzIxMjM5MTI2NworCS5sb25nCTgxNTc3NzUxNAorCS5sb25nCTEwNTE5ODk0NjIKKwkubG9uZwkzMjAyNzQ1NDU3CisJLmxvbmcJMTA2NDAxMDY4MgorCS5sb25nCTI0OTM1NTYzNzUKKwkubG9uZwkzMTk4MDA0NzUzCisJLmxvbmcJMTA0NjI0MzI1MQorCS5sb25nCTMyMDk2Nzg5NzEKKwkubG9uZwkyNTkzMDc4ODQ2CisJLmxvbmcJMTA0OTAxNzcxNworCS5sb25nCTI3NjM5NjIyNzYKKwkubG9uZwkxMDYwOTcwMTYxCisJLmxvbmcJNzAxNDgwOTYwCisJLmxvbmcJMzIxNzM3Nzc0MgorCS5sb25nCTMyMDU4NjIyMzIKKwkubG9uZwkzMTc0NjYwOTE1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMjY3MDE2ODEyCisJLmxvbmcJMTA3MTAxNTY2NAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkyMTA3MTU1Nzk4CisJLmxvbmcJMzIwNjE2Njg3MgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjY0Mjk5MjEyOQorCS5sb25nCTEwNTc0MjQ1NzgKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE5MzY5OTI4MTEKKwkubG9uZwkzMjAzMjA0NDI2CisJLmxvbmcJMTQ4NTA2MzU1OQorCS5sb25nCTMyMTQ2ODI2NDMKKwkubG9uZwkxNDMyOTE0NTUzCisJLmxvbmcJMTA1NDMxOTM5OAorCS5sb25nCTM5OTYzODE2NTQKKwkubG9uZwkxMDY3MDc1ODI4CisJLmxvbmcJMjgzMzAyOTI1NgorCS5sb25nCTMyMDAyMjM1NDUKKwkubG9uZwkyODY2MDY2ODcyCisJLmxvbmcJMzIxMTk4MjY2MgorCS5sb25nCTI0MzI4ODg3MzcKKwkubG9uZwkxMDUxMjM0MTc4CisJLmxvbmcJMzY2OTc2NDU1OQorCS5sb25nCTEwNjM3NDgxMzYKKwkubG9uZwkyNDU4NDk2OTUyCisJLmxvbmcJMzE5NzE3MDc3NAorCS5sb25nCTE5NDgyMzQ5ODkKKwkubG9uZwkzMjA5MDk4MTQ3CisJLmxvbmcJMjg0MzY5ODc4NworCS5sb25nCTEwNDgxNjM1MTkKKwkubG9uZwkzMzk4MDQxNDA3CisJLmxvbmcJMTA2MDU1OTcyOAorCS5sb25nCTI4MjkyMzAwODAKKwkubG9uZwkzMjE3MDkyMTE1CisJLmxvbmcJMTAzNDA0NjQzMworCS5sb25nCTMxNzQyNzE5MDMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI5ODY3NTMwNQorCS5sb25nCTEwNzA5ODk4MjEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJNDM3NjAzMjIzCisJLmxvbmcJMzIwNTU4OTc2MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNzU5MzMwMzUyCisJLmxvbmcJMTA1NzA0ODUxMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzEwNzQ2MzM2OAorCS5sb25nCTMyMDI1MDc5ODgKKwkubG9uZwkzMTQ0NDY1MTc2CisJLmxvbmcJMzIxNDE5MTUwMAorCS5sb25nCTIyOTA5NjE4MTAKKwkubG9uZwkxMDUzODQxMDM1CisJLmxvbmcJMTYxODE1MzM0MAorCS5sb25nCTEwNjY5NzE1NDcKKwkubG9uZwkzODM2ODY5MzkzCisJLmxvbmcJMzE5OTQwMDI3MgorCS5sb25nCTU4NDAzMjExNgorCS5sb25nCTMyMTE0NjkyNjEKKwkubG9uZwkxMjQ1NzA0MzU4CisJLmxvbmcJMTA1MDYyNjQ2MgorCS5sb25nCTQyNDc0ODc0MzgKKwkubG9uZwkxMDYzNTYxOTQzCisJLmxvbmcJMTY2OTAzNDkyNworCS5sb25nCTMxOTYyNzQ4MTIKKwkubG9uZwkzODQ0MjMzNDk4CisJLmxvbmcJMzIwODYyNjMyMgorCS5sb25nCTI3MDY5NTg1MjQKKwkubG9uZwkxMDQ3NDExMzc0CisJLmxvbmcJMzg1NzE5OTA5OAorCS5sb25nCTEwNjAyODE2NDcKKwkubG9uZwkzNTkzOTA0MTI4CisJLmxvbmcJMzIxNjU5MDcxOQorCS5sb25nCTMyNjc1NDc4MzYKKwkubG9uZwkzMTcyMTYzMzIxCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0MDc2NzEyMjI3CisJLmxvbmcJMTA3MDk3MDIxNAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkzMjkwMDkwMzQwCisJLmxvbmcJMzIwNDc5MzQ4NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzY4NTc2MDM2NworCS5sb25nCTEwNTY2NjgzNzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI2NTUxNjM5NDkKKwkubG9uZwkzMjAxNjc0OTE3CisJLmxvbmcJNjI4NzUwNTc1CisJLmxvbmcJMzIxMzU2Njg3MgorCS5sb25nCTY4MDE0MDUwNQorCS5sb25nCTEwNTMyOTk3NzcKKwkubG9uZwkyOTU0NDY0NzA5CisJLmxvbmcJMTA2NjkwMDAyNgorCS5sb25nCTgwMzIwMTYxOQorCS5sb25nCTMxOTg1MTY0MzUKKwkubG9uZwkxNDY2MzE1NjMxCisJLmxvbmcJMzIxMDgzNzE2MgorCS5sb25nCTE2MTEyMjAxNjMKKwkubG9uZwkxMDQ5OTcyNDM4CisJLmxvbmcJMjc2NjE4NzI1NgorCS5sb25nCTEwNjM0Mzc4OTQKKwkubG9uZwkxODA0NTc5NDg0CisJLmxvbmcJMzE5NTMzMTQ5MQorCS5sb25nCTM2OTU5NjkyODkKKwkubG9uZwkzMjA3ODU0NDE4CisJLmxvbmcJMjYxNzIzODM3MworCS5sb25nCTEwNDY2NzU5NDgKKwkubG9uZwkzMDk1ODMwMDg0CisJLmxvbmcJMTA2MDA5NTMzNAorCS5sb25nCTM3ODk1NzAwNDgKKwkubG9uZwkzMjE2MDM0OTE0CisJLmxvbmcJMjM4MjY1NTkKKwkubG9uZwkzMTcyMDQ4MDYwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzODcwOTM5Mzg2CisJLmxvbmcJMTA3MDk1NjQ2NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkxNTcxNzU4NzU4CisJLmxvbmcJMzIwMzY3MjUzNQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTEzMDI2MzczCisJLmxvbmcJMTA1NjQxNjM4MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTkxMzc2NjI5OAorCS5sb25nCTMyMDA1MjMzMjYKKwkubG9uZwkyNTA3MDY4NzM0CisJLmxvbmcJMzIxMjUwMjAwNAorCS5sb25nCTQwMDA2NDg4MTgKKwkubG9uZwkxMDUzMDAzODAzCisJLmxvbmcJMjQ0NjYwNzM0OQorCS5sb25nCTEwNjY4NTgyNTkKKwkubG9uZwk5MTI2NjIxMjQKKwkubG9uZwkzMTk3MzMzMDAxCisJLmxvbmcJMTM0OTQ4OTUzNworCS5sb25nCTMyMDk3NjU2MDgKKwkubG9uZwkzNDEyOTcyNjA3CisJLmxvbmcJMTA0OTY0MTQwMQorCS5sb25nCTE3MjEyODMzMjcKKwkubG9uZwkxMDYzMzY2ODU1CisJLmxvbmcJMTQ2NjY5MTg4MworCS5sb25nCTMxOTQxMTY3NDYKKwkubG9uZwkzODUyNTI4MDkyCisJLmxvbmcJMzIwNjc2MDg2MQorCS5sb25nCTI4NTQ0MzI5MworCS5sb25nCTEwNDYxNTgzODAKKwkubG9uZwkxNzU4NzM5ODk0CisJLmxvbmcJMTA1OTg5NTQ0OQorCS5sb25nCTE4NTg3ODExODQKKwkubG9uZwkzMjE0OTg0MjEyCisJLmxvbmcJMzQ0NzU3NTk0OAorCS5sb25nCTEwMjQ2NzU4NTUKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyNDIwMzgwMTEKKwkubG9uZwkxMDcwOTQ4MzIwCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3Mzc2MTE0NTQKKwkubG9uZwkxMDU2MzM2NTI3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzU5NDc5MDUyNworCS5sb25nCTEwNTI5MTE2MjEKKwkubG9uZwkzODE3NzQ4NzEKKwkubG9uZwkxMDY2ODQ0NTI0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMzMDMwNTE2MTgKKwkubG9uZwkxMDQ5NDU2MDUwCisJLmxvbmcJMzE1NDE4NzYyMworCS5sb25nCTEwNjMzNDM3MjIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNTI4MDYxNzg4CisJLmxvbmcJMTA0NTk0NDkxMAorCS5sb25nCTI0Njk3MTk4MTkKKwkubG9uZwkxMDU5ODMxMTU5CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTQzMTY1NTc2NQorCS5sb25nCTEwNzA5NDU2MjEKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3Mjg4CisJLmxvbmcJMTU3MTc1ODc1OAorCS5sb25nCTEwNTYxODg4ODcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTExMzAyNjM3MworCS5sb25nCTEwNTY0MTYzODEKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE5MTM3NjYyOTgKKwkubG9uZwkxMDUzMDM5Njc4CisJLmxvbmcJMjUwNzA2ODczNAorCS5sb25nCTEwNjUwMTgzNTYKKwkubG9uZwk0MDAwNjQ4ODE4CisJLmxvbmcJMTA1MzAwMzgwMworCS5sb25nCTI0NDY2MDczNDkKKwkubG9uZwkxMDY2ODU4MjU5CisJLmxvbmcJOTEyNjYyMTI0CisJLmxvbmcJMTA0OTg0OTM1MworCS5sb25nCTEzNDk0ODk1MzcKKwkubG9uZwkxMDYyMjgxOTYwCisJLmxvbmcJMzQxMjk3MjYwNworCS5sb25nCTEwNDk2NDE0MDEKKwkubG9uZwkxNzIxMjgzMzI3CisJLmxvbmcJMTA2MzM2Njg1NQorCS5sb25nCTE0NjY2OTE4ODMKKwkubG9uZwkxMDQ2NjMzMDk4CisJLmxvbmcJMzg1MjUyODA5MgorCS5sb25nCTEwNTkyNzcyMTMKKwkubG9uZwkyODU0NDMyOTMKKwkubG9uZwkxMDQ2MTU4MzgwCisJLmxvbmcJMTc1ODczOTg5NAorCS5sb25nCTEwNTk4OTU0NDkKKwkubG9uZwkxODU4NzgxMTg0CisJLmxvbmcJMTA2NzUwMDU2NAorCS5sb25nCTM0NDc1NzU5NDgKKwkubG9uZwkzMTcyMTU5NTAzCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMjQyMDM4MDExCisJLmxvbmcJMTA3MDk0ODMyMAorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkzMjkwMDkwMzQwCisJLmxvbmcJMTA1NzMwOTgzNworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzY4NTc2MDM2NworCS5sb25nCTEwNTY2NjgzNzAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI2NTUxNjM5NDkKKwkubG9uZwkxMDU0MTkxMjY5CisJLmxvbmcJNjI4NzUwNTc1CisJLmxvbmcJMTA2NjA4MzIyNAorCS5sb25nCTY4MDE0MDUwNQorCS5sb25nCTEwNTMyOTk3NzcKKwkubG9uZwkyOTU0NDY0NzA5CisJLmxvbmcJMTA2NjkwMDAyNgorCS5sb25nCTgwMzIwMTYxOQorCS5sb25nCTEwNTEwMzI3ODcKKwkubG9uZwkxNDY2MzE1NjMxCisJLmxvbmcJMTA2MzM1MzUxNAorCS5sb25nCTE2MTEyMjAxNjMKKwkubG9uZwkxMDQ5OTcyNDM4CisJLmxvbmcJMjc2NjE4NzI1NgorCS5sb25nCTEwNjM0Mzc4OTQKKwkubG9uZwkxODA0NTc5NDg0CisJLmxvbmcJMTA0Nzg0Nzg0MworCS5sb25nCTM2OTU5NjkyODkKKwkubG9uZwkxMDYwMzcwNzcwCisJLmxvbmcJMjYxNzIzODM3MworCS5sb25nCTEwNDY2NzU5NDgKKwkubG9uZwkzMDk1ODMwMDg0CisJLmxvbmcJMTA2MDA5NTMzNAorCS5sb25nCTM3ODk1NzAwNDgKKwkubG9uZwkxMDY4NTUxMjY2CisJLmxvbmcJMjM4MjY1NTkKKwkubG9uZwkxMDI0NTY0NDEyCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzODcwOTM5Mzg2CisJLmxvbmcJMTA3MDk1NjQ2NworCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwk0Mzc2MDMyMjMKKwkubG9uZwkxMDU4MTA2MTEzCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3NTkzMzAzNTIKKwkubG9uZwkxMDU3MDQ4NTExCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzMTA3NDYzMzY4CisJLmxvbmcJMTA1NTAyNDM0MAorCS5sb25nCTMxNDQ0NjUxNzYKKwkubG9uZwkxMDY2NzA3ODUyCisJLmxvbmcJMjI5MDk2MTgxMAorCS5sb25nCTEwNTM4NDEwMzUKKwkubG9uZwkxNjE4MTUzMzQwCisJLmxvbmcJMTA2Njk3MTU0NworCS5sb25nCTM4MzY4NjkzOTMKKwkubG9uZwkxMDUxOTE2NjI0CisJLmxvbmcJNTg0MDMyMTE2CisJLmxvbmcJMTA2Mzk4NTYxMworCS5sb25nCTEyNDU3MDQzNTgKKwkubG9uZwkxMDUwNjI2NDYyCisJLmxvbmcJNDI0NzQ4NzQzOAorCS5sb25nCTEwNjM1NjE5NDMKKwkubG9uZwkxNjY5MDM0OTI3CisJLmxvbmcJMTA0ODc5MTE2NAorCS5sb25nCTM4NDQyMzM0OTgKKwkubG9uZwkxMDYxMTQyNjc0CisJLmxvbmcJMjcwNjk1ODUyNAorCS5sb25nCTEwNDc0MTEzNzQKKwkubG9uZwkzODU3MTk5MDk4CisJLmxvbmcJMTA2MDI4MTY0NworCS5sb25nCTM1OTM5MDQxMjgKKwkubG9uZwkxMDY5MTA3MDcxCisJLmxvbmcJMzI2NzU0NzgzNgorCS5sb25nCTEwMjQ2Nzk2NzMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTQwNzY3MTIyMjcKKwkubG9uZwkxMDcwOTcwMjE0CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTIxMDcxNTU3OTgKKwkubG9uZwkxMDU4NjgzMjI0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNjQyOTkyMTI5CisJLmxvbmcJMTA1NzQyNDU3OAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTkzNjk5MjgxMQorCS5sb25nCTEwNTU3MjA3NzgKKwkubG9uZwkxNDg1MDYzNTU5CisJLmxvbmcJMTA2NzE5ODk5NQorCS5sb25nCTE0MzI5MTQ1NTMKKwkubG9uZwkxMDU0MzE5Mzk4CisJLmxvbmcJMzk5NjM4MTY1NAorCS5sb25nCTEwNjcwNzU4MjgKKwkubG9uZwkyODMzMDI5MjU2CisJLmxvbmcJMTA1MjczOTg5NworCS5sb25nCTI4NjYwNjY4NzIKKwkubG9uZwkxMDY0NDk5MDE0CisJLmxvbmcJMjQzMjg4ODczNworCS5sb25nCTEwNTEyMzQxNzgKKwkubG9uZwkzNjY5NzY0NTU5CisJLmxvbmcJMTA2Mzc0ODEzNgorCS5sb25nCTI0NTg0OTY5NTIKKwkubG9uZwkxMDQ5Njg3MTI2CisJLmxvbmcJMTk0ODIzNDk4OQorCS5sb25nCTEwNjE2MTQ0OTkKKwkubG9uZwkyODQzNjk4Nzg3CisJLmxvbmcJMTA0ODE2MzUxOQorCS5sb25nCTMzOTgwNDE0MDcKKwkubG9uZwkxMDYwNTU5NzI4CisJLmxvbmcJMjgyOTIzMDA4MAorCS5sb25nCTEwNjk2MDg0NjcKKwkubG9uZwkxMDM0MDQ2NDMzCisJLmxvbmcJMTAyNjc4ODI1NQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjk4Njc1MzA1CisJLmxvbmcJMTA3MDk4OTgyMQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkzMTIwNDk4NjM4CisJLmxvbmcJMTA1OTI2NTY1NgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjc3MzU3ODExNAorCS5sb25nCTEwNTgwMDkzMTIKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIwMzA3ODM2NzYKKwkubG9uZwkxMDU2MzM0MjI1CisJLmxvbmcJMjIyMzY1NDU5OAorCS5sb25nCTEwNjc1ODgyODgKKwkubG9uZwkyOTc2MTM0NjUwCisJLmxvbmcJMTA1NDk4NzI0NAorCS5sb25nCTcwNjM5MDA2NgorCS5sb25nCTEwNjcyMTczODYKKwkubG9uZwk0MjU4NDM3NjE1CisJLmxvbmcJMTA1MzQxNjczMAorCS5sb25nCTEwNjYyNTI5NzUKKwkubG9uZwkxMDY0OTA3NjE5CisJLmxvbmcJODE1Nzc3NTE0CisJLmxvbmcJMTA1MTk4OTQ2MgorCS5sb25nCTMyMDI3NDU0NTcKKwkubG9uZwkxMDY0MDEwNjgyCisJLmxvbmcJMjQ5MzU1NjM3NQorCS5sb25nCTEwNTA1MjExMDUKKwkubG9uZwkxMDQ2MjQzMjUxCisJLmxvbmcJMTA2MjE5NTMyMworCS5sb25nCTI1OTMwNzg4NDYKKwkubG9uZwkxMDQ5MDE3NzE3CisJLmxvbmcJMjc2Mzk2MjI3NgorCS5sb25nCTEwNjA5NzAxNjEKKwkubG9uZwk3MDE0ODA5NjAKKwkubG9uZwkxMDY5ODk0MDk0CisJLmxvbmcJMzIwNTg2MjIzMgorCS5sb25nCTEwMjcxNzcyNjcKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyNjcwMTY4MTIKKwkubG9uZwkxMDcxMDE1NjY0CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTEzOTg0NjI2MDgKKwkubG9uZwkxMDU5ODIwMzIwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNjIwNTk4MworCS5sb25nCTEwNTg0NjEyMTMKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTU2MjI2MjM4CisJLmxvbmcJMTA1NzA0NDk2NAorCS5sb25nCTI3NTQ3MDY1NDEKKwkubG9uZwkxMDY3ODc1ODYzCisJLmxvbmcJMjE4Nzc5OTgyMworCS5sb25nCTEwNTU2MzQ0MzcKKwkubG9uZwk3OTAzMjM3NDIKKwkubG9uZwkxMDY3NDAyNTg3CisJLmxvbmcJMTM3MjM4NTg0OAorCS5sb25nCTEwNTQxNjc4MzEKKwkubG9uZwk0MDk3MjkyNzE2CisJLmxvbmcJMTA2NTM3MjY1NAorCS5sb25nCTMzNDgyMTAzNTcKKwkubG9uZwkxMDUyODMwMDk5CisJLmxvbmcJMjQ0Mjc5NjQ2NgorCS5sb25nCTEwNjQzMzc2MDIKKwkubG9uZwk4NjI2MDgxNDIKKwkubG9uZwkxMDUxMzQ3MTA2CisJLmxvbmcJMTcwMjk2MTUyCisJLmxvbmcJMTA2MjU3NzIxOQorCS5sb25nCTM3NTU1NzE0MjgKKwkubG9uZwkxMDQ5OTMzMzQzCisJLmxvbmcJMzYxNDg2NjAwOAorCS5sb25nCTEwNjEzNjE2NzAKKwkubG9uZwk3MTk5Nzg0OTYKKwkubG9uZwkxMDcwMTg1NDQ4CisJLmxvbmcJMTk5ODg0MjQ2NQorCS5sb25nCTEwMjcyMjAzMjkKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM3NDkxNTY2MDcKKwkubG9uZwkxMDcxMDQ4MjU4CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkwCisJLmxvbmcJNDI5NDk2NzI4OAorCS5sb25nCTEzMzAxNjU5NzEKKwkubG9uZwkxMDYwMzY3MDk3CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyMTc1MzY2MjMKKwkubG9uZwkxMDU5MTA5MDk4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzNDkyMTIwODQ5CisJLmxvbmcJMTA1NzY2NzgyNworCS5sb25nCTYwMjE4NTcwNQorCS5sb25nCTEwNjgxOTQ0NDQKKwkubG9uZwk3NjA0MjI5NTgKKwkubG9uZwkxMDU2MzEyNTk3CisJLmxvbmcJNTU1MTI3ODg5CisJLmxvbmcJMTA2NzU0NTI2NgorCS5sb25nCTMxMzk3ODQxMjQKKwkubG9uZwkxMDU0OTg3MTg5CisJLmxvbmcJMzY5MDU0NDAxNAorCS5sb25nCTEwNjU2NjY1MjMKKwkubG9uZwk5NTcwNzkxNQorCS5sb25nCTEwNTM2MzU0MjgKKwkubG9uZwk0MDAzMTE0NDA3CisJLmxvbmcJMTA2NDU4MTQxMgorCS5sb25nCTIwMzQ5MjYyMzEKKwkubG9uZwkxMDUyMjI3NTEzCisJLmxvbmcJMzc1OTUzNjAyMworCS5sb25nCTEwNjMwNzYzNDEKKwkubG9uZwkzODI2OTI4MjE0CisJLmxvbmcJMTA1MDg5MzgxOQorCS5sb25nCTM4Mzc5NjA3ODUKKwkubG9uZwkxMDYxNzkwMzc5CisJLmxvbmcJMTUyNjMyNTI0OAorCS5sb25nCTEwNzA0ODM5MTgKKwkubG9uZwkyMzU2NDI2NTIxCisJLmxvbmcJMzE3MjkwNzEwNAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJNDU3NzI4OTc1CisJLmxvbmcJMTA3MTA4ODI3NgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODgKKwkubG9uZwkxNzA0MzUyMTAyCisJLmxvbmcJMzIyMzQyNjY0OQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjI4NDU4OTMwNgorCS5sb25nCTEwNzYyNTgwMzYKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTIyMTEyNjQyOTEKKwkubG9uZwkzMjI0MTQyNjU4CisJLmxvbmcJMAorCS5sb25nCTMyMjEyMjU0NzIKKwkubG9uZwkxNDQxMTg2MzY1CisJLmxvbmcJMTA3NzAyODU3OQorCS5sb25nCTE0MzE2NTU3NjUKKwkubG9uZwkxMDc0MDkxMzQ5CisJLmxvbmcJODc2OTQzNjczCisJLmxvbmcJMzIyNDgzNzI3MAorCS5sb25nCTI4NjMzMTE1MzEKKwkubG9uZwkzMjIxOTI0NTIyCisJLmxvbmcJMjM2Mjg5NTA0CisJLmxvbmcJMTA3Nzc2NzQ4NQorCS5sb25nCTI4NjMzMTE1MworCS5sb25nCTEwNzQ4NjAzMDUKKwkubG9uZwkyODA1NDczMzExCisJLmxvbmcJMzIyNTU5ODkyNgorCS5sb25nCTk1NDQzNzE4CisJLmxvbmcJMzIyMjY0Njg3NQorCS5sb25nCTExNjA0NzYxMzEKKwkubG9uZwkxMDc4NDUwNzQyCisJLmxvbmcJNDYzNTgzNzcyCisJLmxvbmcJMTA3NTU1MjY5OAorCS5sb25nCTAKKwkubG9uZwkzMjIwMTc2ODk2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTMzNDk4OTI0NDIKKwkubG9uZwkzMjIxNzczODYwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkzOTEzMTk3NDA1CisJLmxvbmcJMTA3NDUwMTE4MQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjQ5NDAzNDUyMgorCS5sb25nCTMyMjIyMjI4MTgKKwkubG9uZwkxMjY0NzM4NzYzCisJLmxvbmcJMzIyMDU2ODQ1MgorCS5sb25nCTE1MjAyOTM5MDYKKwkubG9uZwkxMDc0ODk5NjMyCisJLmxvbmcJMTk1ODkzNjYwMAorCS5sb25nCTEwNzM0MTE0OTMKKwkubG9uZwkyMTMzNjQ5NjM1CisJLmxvbmcJMzIyMjUzNTgxOQorCS5sb25nCTQyNzA3NDA3MzAKKwkubG9uZwkzMjIxMDU4MzU2CisJLmxvbmcJMTcyODkzMDE4OQorCS5sb25nCTEwNzUyMjQ4NDQKKwkubG9uZwkxMzAzOTk4NTUyCisJLmxvbmcJMTA3Mzc5OTE4NgorCS5sb25nCTYxODYxMTkzMworCS5sb25nCTMyMjI5MDM5MDMKKwkubG9uZwkxNzY5ODI4MDQ2CisJLmxvbmcJMzIyMTQyMjE5MAorCS5sb25nCTIyMDA1Mzc5ODYKKwkubG9uZwkxMDc1NjQxNDIxCisJLmxvbmcJNDMzMzYxMTEwCisJLmxvbmcJMTA3NDEwNTM2OQorCS5sb25nCTcxOTU5NTYwMAorCS5sb25nCTMyMTk4MDA4MzIKKwkubG9uZwkyOTQ1MjcyMDYKKwkubG9uZwkxMDE0NjU2NDQwCisJLmxvbmcJMAorCS5sb25nCTEwNzM3NDE4MjQKKwkubG9uZwkzODExNzg4MjE2CisJLmxvbmcJMzIxODQwMDU1MAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk3MjQzMjI3NjgKKwkubG9uZwkzMjIwMzY0OTU2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk2NDMxNTMwNDgKKwkubG9uZwkxMDcyOTA1ODE2CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwk0Mjg1MDc5NDU4CisJLmxvbmcJMzIyMDQxMjIwNgorCS5sb25nCTM5MTI1MjQ3MzMKKwkubG9uZwkzMjIwMTA2NjMxCisJLmxvbmcJMTE4MzYyMjcyCisJLmxvbmcJMTA3Mjk1Mjc1NAorCS5sb25nCTQxMDc3Njc5NzIKKwkubG9uZwkxMDcyODI3NDA4CisJLmxvbmcJMjY4OTUwMjg4MworCS5sb25nCTMyMjA0NjA1NzAKKwkubG9uZwk5NDY1MjMzNDcKKwkubG9uZwkzMjIwMjU2NDE0CisJLmxvbmcJNTczMjA0MTg5CisJLmxvbmcJMTA3MzAwMTc2MQorCS5sb25nCTU4MTUzMTUxOAorCS5sb25nCTEwNzI4MjYzOTEKKwkubG9uZwkxMzg2MjM2NTI2CisJLmxvbmcJMzIyMDUxMDYwNworCS5sb25nCTM3MTg5MDU5MDUKKwkubG9uZwkzMjIwMzE2NDcxCisJLmxvbmcJMTE0NTU1ODE0MAorCS5sb25nCTEwNzMwNTI2NzMKKwkubG9uZwk1MTM1NzI2MzcKKwkubG9uZwkxMDcyODYxOTY5CisJLmxvbmcJNzE2NzAwMDQ4CisJLmxvbmcJMzIxOTQ4MTAxNgorCS5sb25nCTU0NzEyNjc2OQorCS5sb25nCTMxNjMwMDcxNzMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTEwOTc5MDczOTgKKwkubG9uZwkxMDcxNDIwMTIwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTM0MjI4MDcyOTcKKwkubG9uZwkzMjE5MTI0NDk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTUxNjU4MDUzCisJLmxvbmcJMTA3MTQ5NDcxNQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJOTI5NjA3MDcxCisJLmxvbmcJMzIxODgyOTk4OAorCS5sb25nCTEwMzcwNDkwMzQKKwkubG9uZwkzMjE5NTIwOTUzCisJLmxvbmcJMjc4NjkyODY1NworCS5sb25nCTEwNzEyMTUyODIKKwkubG9uZwkxNDQ3NDA2ODU5CisJLmxvbmcJMTA3MjI2NTIwOQorCS5sb25nCTM0OTA5NTIxMDcKKwkubG9uZwkzMjE4NTc0NDk5CisJLmxvbmcJMzIwNTIzMjkxNgorCS5sb25nCTMyMTk0NTIzMDYKKwkubG9uZwkxMjk3MzQ0MzA0CisJLmxvbmcJMTA3MDk3NzEyMAorCS5sb25nCTEwNjYxMTA5NzYKKwkubG9uZwkxMDcxOTQ2MDM1CisJLmxvbmcJMzgwMzcyMTQ4MAorCS5sb25nCTMyMTgzNTQ3MzAKKwkubG9uZwkxNDk2NzU0MjI5CisJLmxvbmcJMzIxOTI5MDg0OQorCS5sb25nCTI5ODI1NTA2ODMKKwkubG9uZwkxMDcwNzczMjQzCisJLmxvbmcJNDAxNDQ0MTk4OQorCS5sb25nCTEwNzE3MzYyMjIKKwkubG9uZwk0MTk5NjgyMzYKKwkubG9uZwkzMjE5MjAwNjk1CisJLmxvbmcJMzQ1MTI2NjUzOAorCS5sb25nCTEwMTU5NjExNjMKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS5sb25nCTI5NjAyNjcyMzUKKwkubG9uZwkxMDcwNzQ1ODQxCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE0NTg3OTQ1NjIKKwkubG9uZwkzMjE3ODgyMTk4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyODU3Nzc3NDg5CisJLmxvbmcJMTA3MDEzNzYzNworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTAyNDM1OTUxNworCS5sb25nCTMyMTczNjAxNzkKKwkubG9uZwkyNjE2MDQwMjM4CisJLmxvbmcJMzIxOTA2NjU4NQorCS5sb25nCTE2MDkwMjQ2MzYKKwkubG9uZwkxMDY5Njc1MDg4CisJLmxvbmcJMjUyOTI0MDU0OQorCS5sb25nCTEwNzE4MzY2MzMKKwkubG9uZwkxNTEwMTI4NjAwCisJLmxvbmcJMzIxNjkyMzc2MQorCS5sb25nCTIyNTE2OTcxODQKKwkubG9uZwkzMjE4NzM3MzM1CisJLmxvbmcJMTI2Mjc2MTQ1MworCS5sb25nCTEwNjkxNDI4NTAKKwkubG9uZwkxMjYzMDkxODU3CisJLmxvbmcJMTA3MTE5MDQ2MQorCS5sb25nCTMwNDMzODM0ODYKKwkubG9uZwkzMjE2MzY4ODM5CisJLmxvbmcJMjQ3NjkzMjQ3MAorCS5sb25nCTMyMTgzMjU2NTAKKwkubG9uZwkzNjU5OTk1MDI4CisJLmxvbmcJMTA2ODY2OTIwMAorCS5sb25nCTg1NTg5MTc1NQorCS5sb25nCTEwNzA2OTY4OTQKKwkubG9uZwkyNTgzNDkwMzU0CisJLmxvbmcJMzIxODc2ODUwNQorCS5sb25nCTMwNjI2MzM1NzUKKwkubG9uZwkzMTYxNDkyMjcxCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyNTUwOTQwNDcxCisJLmxvbmcJMTA2OTkzODIwMQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkyNDY3NTgyNzgyCisJLmxvbmcJMzIxNjc0MDAzNworCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMTYyMTUwMDk2CisJLmxvbmcJMTA2ODk0NjQyMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzcwMjc5NDIzNworCS5sb25nCTMyMTYwNjI4MDAKKwkubG9uZwkzNjMxOTE5MjkxCisJLmxvbmcJMzIxODQyMDU3NAorCS5sb25nCTM0NTY4MjE0MTMKKwkubG9uZwkxMDY4MjE3MjE4CisJLmxvbmcJMjAzMTM2NjQzOAorCS5sb25nCTEwNzE0OTU3NDUKKwkubG9uZwkxNTk2NjY0MDIwCisJLmxvbmcJMzIxNTI4MjkyOQorCS5sb25nCTE1MDkwMzg3MDEKKwkubG9uZwkzMjE4MDg1MjkxCisJLmxvbmcJNTgzMTcxNDc3CisJLmxvbmcJMTA2NzUxMDE0OAorCS5sb25nCTM3ODUzNDQ2ODIKKwkubG9uZwkxMDcwNjE4NDc2CisJLmxvbmcJMjQwMjAzNjA0OAorCS5sb25nCTMyMTQ1NTkzODQKKwkubG9uZwkzMjMzMDE4NDEyCisJLmxvbmcJMzIxNzM5NjgzNAorCS5sb25nCTQxMTI4MDU2OAorCS5sb25nCTEwNjY3MTA1NTYKKwkubG9uZwkxMDY1NTg0MTkyCisJLmxvbmcJMTA2OTc0Nzg5NgorCS5sb25nCTg5NTI0NzMyNAorCS5sb25nCTMyMTgzMDM0OTYKKwkubG9uZwk1MDAwNzg5MDkKKwkubG9uZwkxMDEzODA1MTMzCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwk3Mjk5ODM4NDMKKwkubG9uZwkxMDY4OTk0MTk0CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTE1MTI1NDU5NTUKKwkubG9uZwkzMjE1NjAyNjk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMTI3MDQ4Njk4CisJLmxvbmcJMTA2NzkwOTQ1OQorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMjMwMDIwMDQ1MAorCS5sb25nCTMyMTQ3Mzg0MTUKKwkubG9uZwkzNTkzMjUwMjk2CisJLmxvbmcJMzIxNzcxNzIwOQorCS5sb25nCTMwMDkzNjU1NDQKKwkubG9uZwkxMDY2OTAyMTE3CisJLmxvbmcJMTEyNzM3MzA1MAorCS5sb25nCTEwNzExNzM0NTcKKwkubG9uZwkzMDQ2MTAzMzA1CisJLmxvbmcJMzIxMzg1NDk0NworCS5sb25nCTI0NTgzNDAyCisJLmxvbmcJMzIxNzIwNzYzNgorCS5sb25nCTQwODI1MTE3NTgKKwkubG9uZwkxMDY1OTE0MTk5CisJLmxvbmcJMzIyMzg4OTY5OQorCS5sb25nCTEwNzAwMjAzNjcKKwkubG9uZwk1NDg5Mjc5ODQKKwkubG9uZwkzMjEyODk5NDA0CisJLmxvbmcJNTU4MDY1ODk3CisJLmxvbmcJMzIxNjQzMzA2NgorCS5sb25nCTY4MDA3MzMxNQorCS5sb25nCTEwNjQ5NDA3MjYKKwkubG9uZwkzODg4NzMyMDAKKwkubG9uZwkxMDY4OTQ0MjcwCisJLmxvbmcJMzc2MzY3OTU3NgorCS5sb25nCTMyMTc2NTExODkKKwkubG9uZwkxNDk3MzYwNDA0CisJLmxvbmcJMzE1NzE5NDE5NQorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJNjQ5MzExNTIKKwkubG9uZwkxMDY3NzI5NDExCisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTEzMTMwMzgyMzUKKwkubG9uZwkzMjE0MjI5Mzc5CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxMDEzODc4MzQyCisJLmxvbmcJMTA2NzE1MjYxOAorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMzY2MzQyNjgzMworCS5sb25nCTMyMTMyMDg5MzEKKwkubG9uZwkzNjkzMjg0MjUxCisJLmxvbmcJMzIxNjYwMjQ1NgorCS5sb25nCTY1MDg1MjIzMgorCS5sb25nCTEwNjU4ODIzNzYKKwkubG9uZwkxOTk2MjQ1MzgxCisJLmxvbmcJMTA3MTAwMDI2NQorCS5sb25nCTIwMDg3NDYxNzAKKwkubG9uZwkzMjEyMTQ3ODQ1CisJLmxvbmcJMzA1NTg0MjU5MworCS5sb25nCTMyMTYwNjI0OTQKKwkubG9uZwkxNDk1NDA2MzQ4CisJLmxvbmcJMTA2NDY1MjQzNworCS5sb25nCTIyNjk1MzAxNTcKKwkubG9uZwkxMDY5NzExMjM1CisJLmxvbmcJMjg1NTYzNjk2CisJLmxvbmcJMzIxMTA2MDExMworCS5sb25nCTEwNDY4OTc0NDAKKwkubG9uZwkzMjE1MTg5NTEzCisJLmxvbmcJMjMzNDI5NzMxCisJLmxvbmcJMTA2MzQ1MzE1MQorCS5sb25nCTUyMjA0NTk1OAorCS5sb25nCTEwNjg0NzY1OTAKKwkubG9uZwkyMzU0Nzg1Njk4CisJLmxvbmcJMzIxNjU4NjQyNworCS5sb25nCTEzMTc1OTkxNDEKKwkubG9uZwkzMTU5OTE1NzgxCisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkubG9uZwkyODI4MjMwMTA1CisJLmxvbmcJMTA2NTYwNjYyNgorCS5sb25nCTAKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTAKKwkudHlwZQlDdGFibGUsQG9iamVjdAorCS5zaXplCUN0YWJsZSw1NjMyCisJLmFsaWduIDE2CitNQVNLXzM1OgorCS5sb25nCTQyOTQ3MDUxNTIKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJMAorCS5sb25nCTAKKwkudHlwZQlNQVNLXzM1LEBvYmplY3QKKwkuc2l6ZQlNQVNLXzM1LDE2CisJLmFsaWduIDE2CitRXzExOgorCS5sb25nCTMxMDM2NzM3MTkKKwkubG9uZwkxMDY1NTA5MDE4CisJLnR5cGUJUV8xMSxAb2JqZWN0CisJLnNpemUJUV8xMSw4CisJLnNwYWNlIDgsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitRXzk6CisJLmxvbmcJMzIxMzEzMDMwNworCS5sb25nCTEwNjY4MjA3NjgKKwkudHlwZQlRXzksQG9iamVjdAorCS5zaXplCVFfOSw4CisJLnNwYWNlIDgsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitRXzc6CisJLmxvbmcJMTM4ODYyODEzOQorCS5sb25nCTEwNjgyMTI2NjYKKwkudHlwZQlRXzcsQG9iamVjdAorCS5zaXplCVFfNyw4CisJLnNwYWNlIDgsIDB4MDAgCSMgcGFkCisJLmFsaWduIDE2CitRXzU6CisJLmxvbmcJMjg1ODEyNTUwCisJLmxvbmcJMTA2OTYxNzQyNQorCS50eXBlCVFfNSxAb2JqZWN0CisJLnNpemUJUV81LDgKKwkuc3BhY2UgOCwgMHgwMCAJIyBwYWQKKwkuYWxpZ24gMTYKK1FfMzoKKwkubG9uZwkxNDMxNjU1OTU0CisJLmxvbmcJMTA3MDk0NTYyMQorCS50eXBlCVFfMyxAb2JqZWN0CisJLnNpemUJUV8zLDgKKwkuc3BhY2UgOCwgMHgwMCAJIyBwYWQKKwkuYWxpZ24gMTYKK1BJX0lOVl9UQUJMRToKKwkubG9uZwkwCisJLmxvbmcJMAorCS5sb25nCTI3MzQyNjExMDIKKwkubG9uZwkxMzEzMDg0NzEzCisJLmxvbmcJNDIzMDQzNjgxNworCS5sb25nCTQxMTM4ODI1NjAKKwkubG9uZwkzNjgwNjcxMTI5CisJLmxvbmcJMTAxMTA2MDgwMQorCS5sb25nCTQyNjY3NDY3OTUKKwkubG9uZwkzNzM2ODQ3NzEzCisJLmxvbmcJMzA3MjYxODA0MgorCS5sb25nCTExMTIzOTY1MTIKKwkubG9uZwkxMDU0NTk0MzQKKwkubG9uZwkxNjQ3MjkzNzIKKwkubG9uZwk0MjYzMzczNTk2CisJLmxvbmcJMjk3MjI5NzAyMgorCS5sb25nCTM5MDA4NDc2MDUKKwkubG9uZwk3ODQwMjQ3MDgKKwkubG9uZwkzOTE5MzQzNjU0CisJLmxvbmcJMzAyNjE1NzEyMQorCS5sb25nCTk2NTg1ODg3MworCS5sb25nCTIyMDMyNjk2MjAKKwkubG9uZwkyNjI1OTIwOTA3CisJLmxvbmcJMzE4NzIyMjU4NworCS5sb25nCTUzNjM4NTUzNQorCS5sb25nCTM3MjQ5MDg1NTkKKwkubG9uZwk0MDEyODM5MzA3CisJLmxvbmcJMTUxMDYzMjczNQorCS5sb25nCTE4MzIyODc5NTEKKwkubG9uZwk2Njc2MTc3MTkKKwkubG9uZwkxMzMwMDAzODE0CisJLmxvbmcJMjY1NzA4NTk5NworCS5sb25nCTE5NjU1Mzc5OTEKKwkubG9uZwkzOTU3NzE1MzIzCisJLmxvbmcJMTAyMzg4Mzc2NworCS5sb25nCTIzMjA2NjczNzAKKwkubG9uZwkxODExNjM2MTQ1CisJLmxvbmcJNTI5MzU4MDg4CisJLmxvbmcJMTQ0MzA0OTU0MgorCS5sb25nCTQyMzU5NDY5MjMKKwkubG9uZwk0MDQwMTQ1OTUzCisJLnR5cGUJUElfSU5WX1RBQkxFLEBvYmplY3QKKwkuc2l6ZQlQSV9JTlZfVEFCTEUsMTY0CisJLnNwYWNlIDEyLCAweDAwIAkjIHBhZAorCS5hbGlnbiAxNgorUElfNDoKKwkubG9uZwkwCisJLmxvbmcJMTA3MjI0MzE5NQorCS5sb25nCTExNzU1NjE3NjYKKwkubG9uZwkxMDQ4OTA4MDQzCisJLnR5cGUJUElfNCxAb2JqZWN0CisJLnNpemUJUElfNCwxNgorCS5hbGlnbiA4CitRUV8yOgorCS5sb25nCTE3MzQ4MTY2ODcKKwkubG9uZwkxMDI2NzQ2Mjk3CisJLnR5cGUJUVFfMixAb2JqZWN0CisJLnNpemUJUVFfMiw4CisJLmFsaWduIDgKK09ORToKKwkubG9uZwkwCisJLmxvbmcJMTA3MjY5MzI0OAorCS50eXBlCU9ORSxAb2JqZWN0CisJLnNpemUJT05FLDgKKwkuYWxpZ24gOAorVFdPX1BPV181NToKKwkubG9uZwkwCisJLmxvbmcJMTEzMDM2NDkyOAorCS50eXBlCVRXT19QT1dfNTUsQG9iamVjdAorCS5zaXplCVRXT19QT1dfNTUsOAorCS5hbGlnbiA4CitUV09fUE9XX001NToKKwkubG9uZwkwCisJLmxvbmcJMTAxNTAyMTU2OAorCS50eXBlCVRXT19QT1dfTTU1LEBvYmplY3QKKwkuc2l6ZQlUV09fUE9XX001NSw4CisJLmFsaWduIDQKK05FR19aRVJPOgorCS5sb25nCTAKKwkubG9uZwkyMTQ3NDgzNjQ4CisJLnR5cGUJTkVHX1pFUk8sQG9iamVjdAorCS5zaXplCU5FR19aRVJPLDgKKwkuZGF0YQorCS5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywgIiIKKy8vIC0tIEJlZ2luIERXQVJGMiBTRUdNRU5UIC5laF9mcmFtZQorCS5zZWN0aW9uIC5laF9mcmFtZSwiYSIsQHByb2diaXRzCisuZWhfZnJhbWVfc2VnOgorCS5hbGlnbiAxCisJLjRieXRlIDB4MDAwMDAwMTQKKwkuOGJ5dGUgMHgwMDUyN2EwMTAwMDAwMDAwCisJLjhieXRlIDB4MDgwNzBjMWIwMTEwNzgwMQorCS40Ynl0ZSAweDAwMDAwMTkwCisJLjRieXRlIDB4MDAwMDAwMmMKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV90YW4uMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3Rhbi45LS4uX19fdGFnX3ZhbHVlX3Rhbi4xCisJLjJieXRlIDB4MDQwMAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV90YW4uMy0uLl9fX3RhZ192YWx1ZV90YW4uMQorCS40Ynl0ZSAweDAyODMxMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV90YW4uNS0uLl9fX3RhZ192YWx1ZV90YW4uMworCS4yYnl0ZSAweDIwMGUKKwkuYnl0ZSAweDA0CisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3Rhbi42LS4uX19fdGFnX3ZhbHVlX3Rhbi41CisJLjRieXRlIDB4MDRjMzEwMGUKKwkuNGJ5dGUgLi5fX190YWdfdmFsdWVfdGFuLjgtLi5fX190YWdfdmFsdWVfdGFuLjYKKwkuMmJ5dGUgMHgwODBlCisjIEVuZApkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvc190YW5oLlMgYi9saWJtL3g4Nl82NC9zX3RhbmguUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzhmOWJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvc190YW5oLlMKQEAgLTAsMCArMSwxMzkyIEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLy8gICAgICAgICAgICAgICAgICAgICBBTEdPUklUSE0gREVTQ1JJUFRJT04KKy8vICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gdGFuaCh4KT0oZXhwKHgpLWV4cCgteCkpLyhleHAoeCkrZXhwKC14KSk9KDEtZXhwKC0yKngpKS8oMStleHAoLTIqeCkpCisvLworLy8gTGV0IHx4fD14SCt4TCAodXBwZXIgMjYgYml0cywgbG93ZXIgMjcgYml0cykKKy8vIGxvZzIoZSkgcm91bmRlZCB0byAyNiBiaXRzIChoaWdoIHBhcnQpIHBsdXMgYSBkb3VibGUgcHJlY2lzaW9uIGxvdyBwYXJ0IGlzCisvLyAgICAgICAgIEwyRUgrTDJFTCAodXBwZXIgMjYsIGxvd2VyIDUzIGJpdHMpCisvLworLy8gTGV0IHhIKkwyRUg9aytmK3JgLCB3aGVyZSAoaytmKSoyXjgqMj1pbnQoeEgqTDJFSCoyXjkpLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGY9MC5iMSBiMiAuLi4gYjgsIGsgaW50ZWdlcgorLy8gMl57LWZ9IGlzIGFwcHJveGltYXRlZCBhcyBUbltmXStEbltmXQorLy8gVG4gc3RvcmVzIHRoZSBoaWdoIDUzIGJpdHMsIERuIHN0b3JlcyAoMl57LWZ9LVRuW2ZdKSByb3VuZGVkIHRvIGRvdWJsZSBwcmVjaXNpb24KKy8vCisvLyAgcj1yYCt4TCpMMkVIK3x4fCpMMkVMLCB8cnw8Ml57LTl9KzJeey0xNH0sCisvLyAgICAgICAgICAgICAgICAgICAgICBmb3IgfHh8IGluIFsyMy82NCwzKjJeNykKKy8vIGVeey0yKnx4fH09Ml57LWstZn0qMl57LXJ9IH4gMl57LWt9KihUbitEbikqKDErcCk9KFQwK0QwKSooMStwKQorLy8KKy8vIEZvciB8eHwgaW4gWzJeey00fSwyXjUpOgorLy8gICAgICAgICAyXnstcn0tMSB+IHA9YzEqcitjMipyXjIrLi4rYzUqcl41CisvLyAgICAgIExldCBSPTEvKDErVDArcCpUMCksIHRydW5jYXRlZCB0byAzNSBzaWduaWZpY2FudCBiaXRzCisvLyAgUj0xLygxK1QwK0QwK3AqKFQwK0QwKSkqKDErZXBzKSwgfGVwc3w8Ml57LTMzfQorLy8gIDErVDArRDArcCooVDArRDApPUtIK0tMLCB3aGVyZQorLy8gICAgICAgS0g9KDErVDArYzEqcipUMClfaGlnaCAobGVhZGluZyAxNyBiaXRzKQorLy8gICAgICAgS0w9VDBfbG93K0QwKyhjMSpyKlQwKV9sb3crYzEqcipEMCsoYzIqcl4yKy4uYzUqcl41KSpUMAorLy8gIGVwcyB+IChSKktILTEpK1IqS0wKKy8vICAxLygxK1QwK0QwK3AqKFQwK0QwKSkgfiBSLVIqZXBzCisvLyAgVGhlIHJlc3VsdCBpcyBhcHByb3hpbWF0ZWQgYXMgKDEtVDAtRDAtKFQwK0QwKSpwKSooUi1SKmVwcykKKy8vICAxLVQwLUQwLShUMCtEMCkqcD0tKChLSC0yKStLTCkKKy8vICAgIFRoZSByZXN1bHQgaXMgZm9ybWVkIGFzCisvLyAgICAoS0gtMikqUisoLShLSC0yKSpSKmVwcysoS0wqUi1LTCpSKmVwcykpLCB3aXRoIHRoZSBjb3JyZWN0IHNpZ24KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgYXQgdGhlIGVuZAorLy8KKy8vIEZvciB8eHwgaW4gWzJeey02NH0sMl57LTR9KToKKy8vICBBIFRheWxvciBzZXJpZXMgZXhwYW5zaW9uIGlzIHVzZWQgICh4K3AzKnheMysuLitwMTMqeF57MTN9KQorLy8KKy8vIEZvciB8eHw8Ml57LTY0fTogIHggaXMgcmV0dXJuZWQKKy8vCisvLyBGb3IgfHh8Pj0yXjMyOiByZXR1cm4gKy8tMQorLy8KKy8vIFNwZWNpYWwgY2FzZXM6CisvLyAgdGFuaChOYU4pID0gcXVpZXQgTmFOLCBhbmQgcmFpc2UgaW52YWxpZCBleGNlcHRpb24KKy8vICB0YW5oKElORikgPSB0aGF0IElORgorLy8gIHRhbmgoKy8tMCkgPSArLy0wCisvLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorIyAtLSBCZWdpbiAgdGFuaAorRU5UUlkodGFuaCkKKyMgcGFyYW1ldGVyIDE6ICV4bW0wCisuLkIxLjE6CisuLl9fX3RhZ192YWx1ZV90YW5oLjE6CisgICAgICAgIHB1c2hxICAgICAlcnNpCisuLl9fX3RhZ192YWx1ZV90YW5oLjM6CisuLkIxLjI6CisgICAgICAgIG1vdnNkICAgICBIQUxGTUFTSyglcmlwKSwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW00LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgTDJFKCVyaXApLCAleG1tMQorICAgICAgICBtb3ZzZCAgICAgOCtMMkUoJXJpcCksICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tNAorICAgICAgICBtb3ZzZCAgICAgU2hpZnRlciglcmlwKSwgJXhtbTYKKyAgICAgICAgcGV4dHJ3ICAgICQzLCAleG1tMCwgJWVjeAorICAgICAgICBhbmRwZCAgICAgJXhtbTAsICV4bW0zCisgICAgICAgIGFuZG5wZCAgICAleG1tMCwgJXhtbTQKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTQsICV4bW01CisgICAgICAgIG1vdmwgICAgICAkMzI3NjgsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICVlY3gsICVlZHgKKyAgICAgICAgYW5kbCAgICAgICQzMjc2NywgJWVjeAorICAgICAgICBzdWJsICAgICAgJDE2MzA0LCAlZWN4CisgICAgICAgIGNtcGwgICAgICAkMTQ0LCAlZWN4CisgICAgICAgIGphZSAgICAgICAuTF8yVEFHX1BBQ0tFVF8wLjAuMQorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tMSwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tMgorICAgICAgICBjdnRzZDJzaSAgJXhtbTMsICVlYXgKKyAgICAgICAgbW92cSAgICAgICV4bW0zLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTYsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNCwgJXhtbTEKKyAgICAgICAgbW92c2QgICAgIE9ORU1BU0soJXJpcCksICV4bW00CisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTMKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIHN1YnNkICAgICAleG1tMywgJXhtbTcKKyAgICAgICAgbW92YXBkICAgIGN2KCVyaXApLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0yCisgICAgICAgIG1vdmwgICAgICAkMjU1LCAlZWN4CisgICAgICAgIGFuZGwgICAgICAlZWF4LCAlZWN4CisgICAgICAgIGFkZGwgICAgICAlZWN4LCAlZWN4CisgICAgICAgIGxlYSAgICAgICBUMl9uZWdfZiglcmlwKSwgJXI4CisgICAgICAgIG1vdmFwZCAgICAoJXI4LCVyY3gsOCksICV4bW01CisgICAgICAgIHNocmwgICAgICAkNCwgJWVheAorICAgICAgICBhbmRsICAgICAgJDY1NTIwLCAlZWF4CisgICAgICAgIHN1YmwgICAgICAkMTYzNjgsICVlYXgKKyAgICAgICAgbmVnbCAgICAgICVlYXgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWF4LCAleG1tMAorICAgICAgICBtb3ZhcGQgICAgMTYrY3YoJXJpcCksICV4bW0xCisgICAgICAgIHBzaHVmZCAgICAkNjgsICV4bW0wLCAleG1tMAorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0wCisgICAgICAgIG1vdnNkICAgICAzMitjdiglcmlwKSwgJXhtbTcKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTIsICV4bW0yCisgICAgICAgIG1vdnEgICAgICAleG1tNCwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW0wLCAleG1tNAorICAgICAgICBtdWxwZCAgICAgJXhtbTIsICV4bW02CisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTcKKyAgICAgICAgbXVscGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBhZGRwZCAgICAgJXhtbTYsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92c2QgICAgIE9ORU1BU0soJXJpcCksICV4bW0zCisgICAgICAgIG11bHBkICAgICAleG1tMiwgJXhtbTEKKyAgICAgICAgcHNodWZkICAgICQ3OCwgJXhtbTEsICV4bW02CisgICAgICAgIGFkZHNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgbW92cSAgICAgICV4bW0xLCAleG1tNgorICAgICAgICBhZGRzZCAgICAgJXhtbTcsICV4bW0xCisgICAgICAgIG11bHNkICAgICAleG1tMCwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW00LCAleG1tMQorICAgICAgICBhbmRwZCAgICAgTUFTSzMoJXJpcCksICV4bW00CisgICAgICAgIGRpdnNkICAgICAleG1tMSwgJXhtbTUKKyAgICAgICAgc3Vic2QgICAgICV4bW00LCAleG1tMworICAgICAgICBwc2h1ZmQgICAgJDIzOCwgJXhtbTAsICV4bW0xCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTMKKyAgICAgICAgbW92cSAgICAgICV4bW00LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNywgJXhtbTEKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tNworICAgICAgICBhZGRzZCAgICAgJXhtbTEsICV4bW0zCisgICAgICAgIGFkZHNkICAgICAleG1tNywgJXhtbTQKKyAgICAgICAgbW92c2QgICAgIFJNQVNLKCVyaXApLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW02CisgICAgICAgIGFuZHBkICAgICBNQVNLMyglcmlwKSwgJXhtbTQKKyAgICAgICAgYWRkc2QgICAgICV4bW02LCAleG1tMworICAgICAgICBtb3ZxICAgICAgJXhtbTQsICV4bW02CisgICAgICAgIHN1YnNkICAgICAleG1tNCwgJXhtbTIKKyAgICAgICAgYWRkc2QgICAgICV4bW03LCAleG1tMgorICAgICAgICBtb3ZzZCAgICAgT05FTUFTSyglcmlwKSwgJXhtbTcKKyAgICAgICAgYW5kcGQgICAgICV4bW0xLCAleG1tNQorICAgICAgICBhZGRzZCAgICAgJXhtbTIsICV4bW0zCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTQKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTUsICV4bW0zCisgICAgICAgIHN1YnNkICAgICBUV09NQVNLKCVyaXApLCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTcsICV4bW00CisgICAgICAgIHhvcmwgICAgICAkMzI3NjgsICVlZHgKKyAgICAgICAgcGluc3J3ICAgICQzLCAlZWR4LCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW00CisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTYKKyAgICAgICAgbW92cSAgICAgICV4bW0zLCAleG1tMQorICAgICAgICBtdWxzZCAgICAgJXhtbTQsICV4bW0zCisgICAgICAgIG1vdnEgICAgICAleG1tNiwgJXhtbTAKKyAgICAgICAgbXVsc2QgICAgICV4bW00LCAleG1tNgorICAgICAgICBzdWJzZCAgICAgJXhtbTMsICV4bW0xCisgICAgICAgIHN1YnNkICAgICAleG1tNiwgJXhtbTEKKyAgICAgICAgYWRkc2QgICAgICV4bW0xLCAleG1tMAorICAgICAgICB4b3JwZCAgICAgJXhtbTIsICV4bW0wCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzAuMC4xOgorICAgICAgICBhZGRsICAgICAgJDk2MCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDExMDQsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzEuMC4xCisgICAgICAgIG1vdmFwZCAgICBwdiglcmlwKSwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTAsICV4bW0xCisgICAgICAgIG1vdmFwZCAgICAxNitwdiglcmlwKSwgJXhtbTMKKyAgICAgICAgbXVscGQgICAgICV4bW0xLCAleG1tMQorICAgICAgICBtb3ZhcGQgICAgMzIrcHYoJXJpcCksICV4bW00CisgICAgICAgIG11bHBkICAgICAleG1tMSwgJXhtbTIKKyAgICAgICAgcHNodWZkICAgICQ2OCwgJXhtbTEsICV4bW01CisgICAgICAgIGFkZHBkICAgICAleG1tMywgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW01LCAleG1tNQorICAgICAgICBtdWxwZCAgICAgJXhtbTEsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tNSwgJXhtbTUKKyAgICAgICAgYWRkcGQgICAgICV4bW00LCAleG1tMgorICAgICAgICBtdWxwZCAgICAgJXhtbTUsICV4bW0yCisgICAgICAgIHBzaHVmZCAgICAkMjM4LCAleG1tMiwgJXhtbTUKKyAgICAgICAgYWRkc2QgICAgICV4bW01LCAleG1tMgorICAgICAgICBtdWxzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGFkZHNkICAgICAleG1tMiwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfMS4wLjE6CisgICAgICAgIGFkZGwgICAgICAkMTUzNDQsICVlY3gKKyAgICAgICAgY21wbCAgICAgICQxNjQ0OCwgJWVjeAorICAgICAgICBqYWUgICAgICAgLkxfMlRBR19QQUNLRVRfMi4wLjEKKyAgICAgICAgY21wbCAgICAgICQxNiwgJWVjeAorICAgICAgICBqYiAgICAgICAgLkxfMlRBR19QQUNLRVRfMy4wLjEKKyAgICAgICAgeG9ycGQgICAgICV4bW0yLCAleG1tMgorICAgICAgICBtb3ZsICAgICAgJDE3MzkyLCAlZWF4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVheCwgJXhtbTIKKyAgICAgICAgbXVsc2QgICAgICV4bW0wLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIGptcCAgICAgICAuLkIxLjQKKy5MXzJUQUdfUEFDS0VUXzMuMC4xOgorICAgICAgICBtb3ZxICAgICAgJXhtbTAsICV4bW0yCisgICAgICAgIG11bHNkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfMi4wLjE6CisgICAgICAgIGNtcGwgICAgICAkMzI3NTIsICVlY3gKKyAgICAgICAgamFlICAgICAgIC5MXzJUQUdfUEFDS0VUXzQuMC4xCisgICAgICAgIHhvcnBkICAgICAleG1tMiwgJXhtbTIKKyAgICAgICAgbW92bCAgICAgICQxNTM0NCwgJWVjeAorICAgICAgICBwaW5zcncgICAgJDMsICVlY3gsICV4bW0yCisgICAgICAgIG1vdnEgICAgICAleG1tMiwgJXhtbTMKKyAgICAgICAgbXVsc2QgICAgICV4bW0yLCAleG1tMgorICAgICAgICBhZGRzZCAgICAgJXhtbTMsICV4bW0yCisuTF8yVEFHX1BBQ0tFVF81LjAuMToKKyAgICAgICAgeG9ycGQgICAgICV4bW0wLCAleG1tMAorICAgICAgICBvcmwgICAgICAgJDE2MzY4LCAlZWR4CisgICAgICAgIHBpbnNydyAgICAkMywgJWVkeCwgJXhtbTAKKyAgICAgICAgam1wICAgICAgIC4uQjEuNAorLkxfMlRBR19QQUNLRVRfNC4wLjE6CisgICAgICAgIG1vdnEgICAgICAleG1tMCwgJXhtbTIKKyAgICAgICAgbW92ZCAgICAgICV4bW0wLCAlZWF4CisgICAgICAgIHBzcmxxICAgICAkMjAsICV4bW0yCisgICAgICAgIG1vdmQgICAgICAleG1tMiwgJWVjeAorICAgICAgICBvcmwgICAgICAgJWVheCwgJWVjeAorICAgICAgICBjbXBsICAgICAgJDAsICVlY3gKKyAgICAgICAgamUgICAgICAgIC5MXzJUQUdfUEFDS0VUXzUuMC4xCisgICAgICAgIGFkZHNkICAgICAleG1tMCwgJXhtbTAKKyAgICAgICAgbW92cSAgICAgICV4bW0wLCAoJXJzcCkKKy5MXzJUQUdfUEFDS0VUXzYuMC4xOgorLi5CMS40OgorICAgICAgICBwb3BxICAgICAgJXJjeAorLi5fX190YWdfdmFsdWVfdGFuaC40OgorICAgICAgICByZXQgICAgICAgCisuLl9fX3RhZ192YWx1ZV90YW5oLjU6CitFTkQodGFuaCkKKyMgLS0gRW5kICB0YW5oCisJLnNlY3Rpb24gLnJvZGF0YSwgImEiCisJLmFsaWduIDE2CisJLmFsaWduIDE2CitMMkU6CisJLmxvbmcJMTYxMDYxMjczNgorCS5sb25nCTEwODI1OTQ2MzEKKwkubG9uZwk0MTY2OTAxNTcyCisJLmxvbmcJMTA1NTE3NDE1NQorCS50eXBlCUwyRSxAb2JqZWN0CisJLnNpemUJTDJFLDE2CisJLmFsaWduIDE2CitTaGlmdGVyOgorCS5sb25nCTAKKwkubG9uZwkxMTI3NzQzNDg4CisJLmxvbmcJMAorCS5sb25nCTMyNzUyMjcxMzYKKwkudHlwZQlTaGlmdGVyLEBvYmplY3QKKwkuc2l6ZQlTaGlmdGVyLDE2CisJLmFsaWduIDE2CitjdjoKKwkubG9uZwkzODg0NjA3MjgxCisJLmxvbmcJMzE2ODEzMTE5OQorCS5sb25nCTM2MDc0MDQ3MzUKKwkubG9uZwkzMTkwNTgyMDI0CisJLmxvbmcJMTg3NDQ4MDc1OQorCS5sb25nCTEwMzIwNDExMzEKKwkubG9uZwk0Mjg2NzYwMzM0CisJLmxvbmcJMTA1MzczNjg5MworCS5sb25nCTQyNzc4MTE2OTUKKwkubG9uZwkzMjExMTQ0NzcwCisJLmxvbmcJMAorCS5sb25nCTAKKwkudHlwZQljdixAb2JqZWN0CisJLnNpemUJY3YsNDgKKwkuYWxpZ24gMTYKK1QyX25lZ19mOgorCS5sb25nCTAKKwkubG9uZwkxMDcyNjkzMjQ4CisJLmxvbmcJMAorCS5sb25nCTAKKwkubG9uZwkxNzk3OTIzODAxCisJLmxvbmcJMTA3MjY4NzU3NworCS5sb25nCTE5NTA1NDc0MjcKKwkubG9uZwkxMDEzMjI5MDU5CisJLmxvbmcJNzMwODIxMTA1CisJLmxvbmcJMTA3MjY4MTkyMgorCS5sb25nCTI1MjMyMzI3NDMKKwkubG9uZwkxMDEyMDY3MTg4CisJLmxvbmcJOTE1NTkyNDY4CisJLmxvbmcJMTA3MjY3NjI4MgorCS5sb25nCTM1Mjk0Nzg5NAorCS5sb25nCTMxNjEwMjQzNzEKKwkubG9uZwkyMTc0NjUyNjMyCisJLmxvbmcJMTA3MjY3MDY1NworCS5sb25nCTQwODc3MTQ1OTAKKwkubG9uZwkxMDE0NDUwMjU5CisJLmxvbmcJMzU5MjkyMjUKKwkubG9uZwkxMDcyNjY1MDQ4CisJLmxvbmcJMjgwOTc4ODA0MQorCS5sb25nCTMxNTk0MzY5NjgKKwkubG9uZwkyOTEyNzMwNjQ0CisJLmxvbmcJMTA3MjY1OTQ1MworCS5sb25nCTM0OTAwNjc3MjIKKwkubG9uZwkzMTYzNDA1MDc0CisJLmxvbmcJMjAzODk3MzY4OAorCS5sb25nCTEwNzI2NTM4NzQKKwkubG9uZwk4OTI5NDEzNzQKKwkubG9uZwkxMDE2MDQ2NDU5CisJLmxvbmcJMTUzMzk1MzM0NAorCS5sb25nCTEwNzI2NDgzMTAKKwkubG9uZwk3NjkxNzE4NTEKKwkubG9uZwkxMDE1NjY1NjMzCisJLmxvbmcJMTIyMjQ3MjMwOAorCS5sb25nCTEwNzI2NDI3NjEKKwkubG9uZwkxMDU0MzU3NDcwCisJLmxvbmcJMzE2MTAyMTAxOAorCS5sb25nCTkyOTgwNjk5OQorCS5sb25nCTEwNzI2MzcyMjcKKwkubG9uZwkzMjA1MzM2NjQzCisJLmxvbmcJMTAxNTI1OTU1NworCS5sb25nCTQ4MTcwNjI4MgorCS5sb25nCTEwNzI2MzE3MDgKKwkubG9uZwkxNjk2MDc5MTczCisJLmxvbmcJMzE2MjcxMDUyOAorCS5sb25nCTM5OTkzNTc0NzkKKwkubG9uZwkxMDcyNjI2MjAzCisJLmxvbmcJMjI1ODk0MTYxNgorCS5sb25nCTEwMTU5MjQ3MjQKKwkubG9uZwkyNzE5NTE1OTIwCisJLmxvbmcJMTA3MjYyMDcxNAorCS5sb25nCTI3NjAzMzI5NDEKKwkubG9uZwkxMDE1MTM3OTMzCisJLmxvbmcJNzY0MzA3NDQxCisJLmxvbmcJMTA3MjYxNTI0MAorCS5sb25nCTMwMjEwNTc0MjAKKwkubG9uZwkzMTYzMzI5NTIzCisJLmxvbmcJMjI1NjMyNTIzMAorCS5sb25nCTEwNzI2MDk3ODAKKwkubG9uZwk1ODAxMTc3NDYKKwkubG9uZwkxMDE1MzE3Mjk1CisJLmxvbmcJMjcyODY5Mzk3OAorCS5sb25nCTEwNzI2MDQzMzUKKwkubG9uZwkzOTYxMDk5NzEKKwkubG9uZwkzMTYzNDYyNjkxCisJLmxvbmcJMjAwOTk3MDQ5NgorCS5sb25nCTEwNzI1OTg5MDUKKwkubG9uZwkyMTU5MDM5NjY1CisJLmxvbmcJMzE2MjU3Mjk0OAorCS5sb25nCTQyMjQxNDI0NjcKKwkubG9uZwkxMDcyNTkzNDg5CisJLmxvbmcJMzM4OTgyMDM4NgorCS5sb25nCTEwMTUyMDcyMDIKKwkubG9uZwk2MTA3NTgwMDYKKwkubG9uZwkxMDcyNTg4MDg5CisJLmxvbmcJMTk2NTIwOTM5NworCS5sb25nCTMxNjE4NjYyMzIKKwkubG9uZwkzODg0NjYyNzc0CisJLmxvbmcJMTA3MjU4MjcwMgorCS5sb25nCTIxNTg2MTE1OTkKKwkubG9uZwkxMDE0MjEwMTg1CisJLmxvbmcJOTkxMzU4NDgyCisJLmxvbmcJMTA3MjU3NzMzMQorCS5sb25nCTgzODcxNTAxOQorCS5sb25nCTMxNjMxNTc2NjgKKwkubG9uZwkzNTE2NDE4OTcKKwkubG9uZwkxMDcyNTcxOTc0CisJLmxvbmcJMjE3MjI2MTUyNgorCS5sb25nCTMxNjMwMTA1OTkKKwkubG9uZwkxNzk2ODMyNTM1CisJLmxvbmcJMTA3MjU2NjYzMQorCS5sb25nCTMxNzY5NTU3MTYKKwkubG9uZwkzMTYwNTg1NTEzCisJLmxvbmcJODYzNzM4NzE5CisJLmxvbmcJMTA3MjU2MTMwMworCS5sb25nCTEzMjY5OTIyMjAKKwkubG9uZwkzMTYyNjEzMTk3CisJLmxvbmcJMTY3OTU1ODIzMgorCS5sb25nCTEwNzI1NTU5ODkKKwkubG9uZwkyMzkwMzQyMjg3CisJLmxvbmcJMzE2MzMzMzk3MAorCS5sb25nCTQwNzY5NzUyMDAKKwkubG9uZwkxMDcyNTUwNjg5CisJLmxvbmcJMjAyOTAwMDg5OQorCS5sb25nCTEwMTUyMDg1MzUKKwkubG9uZwkzNTk0MTU4ODY5CisJLmxvbmcJMTA3MjU0NTQwNAorCS5sb25nCTI0NTY1MjE3MDAKKwkubG9uZwkzMTYzMjU2NTYxCisJLmxvbmcJNjQ2OTY5NjUKKwkubG9uZwkxMDcyNTQwMTM0CisJLmxvbmcJMTc2ODc5NzQ5MAorCS5sb25nCTEwMTU4MTY5NjAKKwkubG9uZwkxOTEyNTYxNzgxCisJLmxvbmcJMTA3MjUzNDg3NworCS5sb25nCTMxNDc0OTUxMDIKKwkubG9uZwkxMDE1Njc4MjUzCisJLmxvbmcJMzgyMzA1MTc2CisJLmxvbmcJMTA3MjUyOTYzNQorCS5sb25nCTIzNDc2MjIzNzYKKwkubG9uZwkzMTYyNTc4NjI1CisJLmxvbmcJMzg5ODc5NTczMQorCS5sb25nCTEwNzI1MjQ0MDYKKwkubG9uZwkxMjQ5OTk0MTQ0CisJLmxvbmcJMTAxMTg2OTgxOAorCS5sb25nCTM3MDc0NzkxNzUKKwkubG9uZwkxMDcyNTE5MTkyCisJLmxvbmcJMzYxMzA3OTMwMworCS5sb25nCTEwMTQxNjQ3MzgKKwkubG9uZwkzOTM5MTQ4MjQ2CisJLmxvbmcJMTA3MjUxMzk5MgorCS5sb25nCTMyMTAzNTIxNDgKKwkubG9uZwkxMDE1Mjc0MzIzCisJLmxvbmcJMTM1MTA1MDEwCisJLmxvbmcJMTA3MjUwODgwNworCS5sb25nCTE5MDYxNDg3MjgKKwkubG9uZwkzMTYzMzc1NzM5CisJLmxvbmcJNzIxOTk2MTM2CisJLmxvbmcJMTA3MjUwMzYzNQorCS5sb25nCTU2Mzc1NDczNAorCS5sb25nCTEwMTUzNzEzMTgKKwkubG9uZwkxMjQyMDA3OTMyCisJLmxvbmcJMTA3MjQ5ODQ3NworCS5sb25nCTExMzIwMzQ3MTYKKwkubG9uZwkzMTYzMzM5ODMxCisJLmxvbmcJMTUzMjczNDMyNAorCS5sb25nCTEwNzI0OTMzMzMKKwkubG9uZwkzMDk0MjE2NTM1CisJLmxvbmcJMzE2MzE2Mjg1NworCS5sb25nCTE0MzIyMDgzNzgKKwkubG9uZwkxMDcyNDg4MjAzCisJLmxvbmcJMTQwMTA2ODkxNAorCS5sb25nCTMxNjIzNjM5NjMKKwkubG9uZwk3Nzg5MDExMDkKKwkubG9uZwkxMDcyNDgzMDg3CisJLmxvbmcJMjI0ODE4Mzk1NQorCS5sb25nCTMxNjEyNjg3NTEKKwkubG9uZwkzNzA2Njg3NTkzCisJLmxvbmcJMTA3MjQ3Nzk4NAorCS5sb25nCTM1MjE3MjY5NDAKKwkubG9uZwkxMDEzMjUzMDY3CisJLmxvbmcJMTQ2NDk3NjYwMworCS5sb25nCTEwNzI0NzI4OTYKKwkubG9uZwkzNTA3MjkyNDA1CisJLmxvbmcJMzE2MTk3NzUzNAorCS5sb25nCTI0ODM0ODA1MDEKKwkubG9uZwkxMDcyNDY3ODIxCisJLmxvbmcJMTIxNjM3MTc4MAorCS5sb25nCTEwMTMwMzQxNzIKKwkubG9uZwkyMzA3NDQyOTk1CisJLmxvbmcJMTA3MjQ2Mjc2MAorCS5sb25nCTMxOTAxMTc3MjEKKwkubG9uZwkzMTYyNDA0NTM5CisJLmxvbmcJNzc3NTA3MTQ3CisJLmxvbmcJMTA3MjQ1NzcxMworCS5sb25nCTQyODI5MjQyMDUKKwkubG9uZwkxMDE1MTg3NTMzCisJLmxvbmcJMjAyOTcxNDIxMAorCS5sb25nCTEwNzI0NTI2NzkKKwkubG9uZwk2MTM2NjAwNzkKKwkubG9uZwkxMDE1MDk5MTQzCisJLmxvbmcJMTYxMDYwMDU3MAorCS5sb25nCTEwNzI0NDc2NTkKKwkubG9uZwkzNzY2NzMyMjk4CisJLmxvbmcJMTAxNTc2MDE4MworCS5sb25nCTM2NTcwNjU3NzIKKwkubG9uZwkxMDcyNDQyNjUyCisJLmxvbmcJMzk5MDI1NjIzCisJLmxvbmcJMzE2Mjk1NzA3OAorCS5sb25nCTM3MTY1MDIxNzIKKwkubG9uZwkxMDcyNDM3NjU5CisJLmxvbmcJMjMwMzc0MDEyNQorCS5sb25nCTEwMTQwNDI3MjUKKwkubG9uZwkxNjMxNjk1Njc3CisJLmxvbmcJMTA3MjQzMjY4MAorCS5sb25nCTI3MTc2MzMwNzYKKwkubG9uZwkzMTYyMzQ0MDI2CisJLmxvbmcJMTU0MDgyNDU4NQorCS5sb25nCTEwNzI0Mjc3MTQKKwkubG9uZwkxMDY0MDE3MDExCisJLmxvbmcJMzE2MzQ4NzY5MAorCS5sb25nCTMyODc1MjM4NDcKKwkubG9uZwkxMDcyNDIyNzYxCisJLmxvbmcJMTYyNTk3MTUzOQorCS5sb25nCTMxNTcwMDk5NTUKKwkubG9uZwkyNDIwODgzOTIyCisJLmxvbmcJMTA3MjQxNzgyMgorCS5sb25nCTIwNDk4MTAwNTIKKwkubG9uZwkxMDE0MTE5ODg4CisJLmxvbmcJMzA4MDM1MTUxOQorCS5sb25nCTEwNzI0MTI4OTYKKwkubG9uZwkzMzc5MTI2Nzg4CisJLmxvbmcJMzE1NzIxODAwMQorCS5sb25nCTgxNTg1OTI3NAorCS5sb25nCTEwNzI0MDc5ODQKKwkubG9uZwkyNDAzOTY1OTAKKwkubG9uZwkzMTYzNDg3NDQzCisJLmxvbmcJNDA2MjY2MTA5MgorCS5sb25nCTEwNzI0MDMwODQKKwkubG9uZwkxNDIyNjE2MDA2CisJLmxvbmcJMzE2MzI1NTMxOAorCS5sb25nCTQwNzY1NTk5NDMKKwkubG9uZwkxMDcyMzk4MTk4CisJLmxvbmcJMjExOTQ3ODMzMQorCS5sb25nCTMxNjA3NTgzNTEKKwkubG9uZwk3MDM3MTA1MDYKKwkubG9uZwkxMDcyMzkzMzI2CisJLmxvbmcJMTM4NDY2MDg0NgorCS5sb25nCTEwMTUxOTU4OTEKKwkubG9uZwkyMzgwNjE4MDQyCisJLmxvbmcJMTA3MjM4ODQ2NgorCS5sb25nCTMxNDk1NTcyMTkKKwkubG9uZwkzMTYzMzIwNzk5CisJLmxvbmcJMzY0MzMzNDg5CisJLmxvbmcJMTA3MjM4MzYyMAorCS5sb25nCTM5MjM3Mzc3NDQKKwkubG9uZwkzMTYxNDIxMzczCisJLmxvbmcJMzA5MjE5MDcxNQorCS5sb25nCTEwNzIzNzg3ODYKKwkubG9uZwk4MTQwMTIxNjgKKwkubG9uZwkzMTU5NTIzNDIyCisJLmxvbmcJMTgyMjA2NzAyNgorCS5sb25nCTEwNzIzNzM5NjYKKwkubG9uZwkxMjQxOTk0OTU2CisJLmxvbmcJMTAxNTM0MDI5MAorCS5sb25nCTY5NzE1MzEyNgorCS5sb25nCTEwNzIzNjkxNTkKKwkubG9uZwkxMjgzNTE1NDI5CisJLmxvbmcJMzE2MzI4MzE4OQorCS5sb25nCTM4NjEwNTAxMTEKKwkubG9uZwkxMDcyMzY0MzY0CisJLmxvbmcJMjU0ODkzNzczCisJLmxvbmcJMzE2MjgxMzE4MAorCS5sb25nCTI1NzI4NjY0NzcKKwkubG9uZwkxMDcyMzU5NTgzCisJLmxvbmcJODc4NTYyNDMzCisJLmxvbmcJMTAxNTUyMTc0MQorCS5sb25nCTk3NzAyMDc4OAorCS5sb25nCTEwNzIzNTQ4MTUKKwkubG9uZwkzMDY1MTAwNTE3CisJLmxvbmcJMTAxNTU0MTU2MworCS5sb25nCTMyMTgzMzg2ODIKKwkubG9uZwkxMDcyMzUwMDU5CisJLmxvbmcJMzQwNDE2NDMwNAorCS5sb25nCTMxNjI0NzcxMDgKKwkubG9uZwk1NTcxNDk4ODIKKwkubG9uZwkxMDcyMzQ1MzE3CisJLmxvbmcJMzY3MjcyMDcwOQorCS5sb25nCTEwMTQ1MzcyNjUKKwkubG9uZwkxNDM0MDU4MTc1CisJLmxvbmcJMTA3MjM0MDU4NworCS5sb25nCTI1MTEzMzIzMworCS5sb25nCTEwMTUwODU3NjkKKwkubG9uZwkxNDA1MTY5MjQxCisJLmxvbmcJMTA3MjMzNTg3MAorCS5sb25nCTI5OTg1Mzk2ODkKKwkubG9uZwkzMTYyODMwOTUxCisJLmxvbmcJMzIxOTU4NzQ0CisJLmxvbmcJMTA3MjMzMTE2NgorCS5sb25nCTM0MDE5MzM3NjcKKwkubG9uZwkxMDE1Nzk0NTU4CisJLmxvbmcJMjMzMTI3MTI1MAorCS5sb25nCTEwNzIzMjY0NzQKKwkubG9uZwk4MTIwNTc0NDYKKwkubG9uZwkxMDEyMjA3NDQ2CisJLmxvbmcJMjk5MDQxNzI0NQorCS5sb25nCTEwNzIzMjE3OTUKKwkubG9uZwkzNjgzNDY3NzQ1CisJLmxvbmcJMzE2MzM2OTMyNgorCS5sb25nCTIxNTIwNzM5NDQKKwkubG9uZwkxMDcyMzE3MTI5CisJLmxvbmcJMTQ4Njg2MDU3NgorCS5sb25nCTMxNjMyMDM0NTYKKwkubG9uZwkzOTY0Mjg0MjExCisJLmxvbmcJMTA3MjMxMjQ3NQorCS5sb25nCTIxMTE1ODM5MTUKKwkubG9uZwkxMDE1NDI3MTY0CisJLmxvbmcJMzk4NTU1MzU5NQorCS5sb25nCTEwNzIzMDc4MzQKKwkubG9uZwk0MDAyMTQ2MDYyCisJLmxvbmcJMTAxNTgzNDEzNgorCS5sb25nCTIwNjk3NTExNDEKKwkubG9uZwkxMDcyMzAzMjA2CisJLmxvbmcJMTU2MjE3MDY3NQorCS5sb25nCTMxNjI3MjQ2ODEKKwkubG9uZwkyMzY2MTA4MzE4CisJLmxvbmcJMTA3MjI5ODU5MAorCS5sb25nCTI4Njc5ODUxMDIKKwkubG9uZwkzMTYxNzYyMjU0CisJLmxvbmcJNDM0MzE2MDY3CisJLmxvbmcJMTA3MjI5Mzk4NworCS5sb25nCTIwMjgzNTg3NjYKKwkubG9uZwkxMDEzNDU4MTIyCisJLmxvbmcJNDI0MzkyOTE3CisJLmxvbmcJMTA3MjI4OTM5NgorCS5sb25nCTI3NDkyMDI5OTUKKwkubG9uZwkzMTYyODM4NzE4CisJLmxvbmcJMjE5MTc4MjAzMgorCS5sb25nCTEwNzIyODQ4MTcKKwkubG9uZwkyOTYwMjU3NzI2CisJLmxvbmcJMTAxMzc0MjY2MgorCS5sb25nCTEyOTczNTAxNTcKKwkubG9uZwkxMDcyMjgwMjUxCisJLmxvbmcJMTMwODAyMjA0MAorCS5sb25nCTMxNjM0MTI1NTgKKwkubG9uZwkxODkyMjg4NDQyCisJLmxvbmcJMTA3MjI3NTY5NworCS5sb25nCTI0NDYyNTU2NjYKKwkubG9uZwkzMTYyNjAwMzgxCisJLmxvbmcJMzgzMzIwOTUwNgorCS5sb25nCTEwNzIyNzExNTUKKwkubG9uZwkyNzIyOTIwNjg0CisJLmxvbmcJMTAxMzc1NDg0MgorCS5sb25nCTI2ODIxNDYzODQKKwkubG9uZwkxMDcyMjY2NjI2CisJLmxvbmcJMjA4MjE3ODUxMworCS5sb25nCTMxNjMzNjM0MTkKKwkubG9uZwkyNTkxNDUzMzYzCisJLmxvbmcJMTA3MjI2MjEwOQorCS5sb25nCTIxMzIzOTYxODIKKwkubG9uZwkzMTU5MDc0MTk4CisJLmxvbmcJMzQxODkwMzA1NQorCS5sb25nCTEwNzIyNTc2MDQKKwkubG9uZwkyNTI3NDU3MzM3CisJLmxvbmcJMzE2MDgyMDYwNAorCS5sb25nCTcyNzY4NTM0OQorCS5sb25nCTEwNzIyNTMxMTIKKwkubG9uZwkyMDM4MjQ2ODA5CisJLmxvbmcJMzE2MjM1ODc0MgorCS5sb25nCTI5NjYyNzU1NTcKKwkubG9uZwkxMDcyMjQ4NjMxCisJLmxvbmcJMjE3NjE1NTMyNAorCS5sb25nCTMxNTk4NDI3NTkKKwkubG9uZwkxNDAzNjYyMzA2CisJLmxvbmcJMTA3MjI0NDE2MworCS5sb25nCTI3ODg4MDk1OTkKKwkubG9uZwkzMTYxNjcxMDA3CisJLmxvbmcJMTk0MTE3NTc0CisJLmxvbmcJMTA3MjIzOTcwNworCS5sb25nCTc3NzUyODYxMgorCS5sb25nCTMxNjM0MTIwODkKKwkubG9uZwkzNDkyMjkzNzcwCisJLmxvbmcJMTA3MjIzNTI2MgorCS5sb25nCTIyNDgwMzIyMTAKKwkubG9uZwkxMDE1Mzg2ODI2CisJLmxvbmcJMjU2ODMyMDgyMgorCS5sb25nCTEwNzIyMzA4MzAKKwkubG9uZwkyNzMyODI0NDI4CisJLmxvbmcJMTAxNDM1MjkxNQorCS5sb25nCTE1Nzc2MDg5MjEKKwkubG9uZwkxMDcyMjI2NDEwCisJLmxvbmcJMTg3NTQ4OTUxMAorCS5sb25nCTMxNjI5NjgzOTQKKwkubG9uZwkzODA5NzgzMTYKKwkubG9uZwkxMDcyMjIyMDAyCisJLmxvbmcJODU0MTg4OTcwCisJLmxvbmcJMzE2MDQ2MjY4NgorCS5sb25nCTMxMzQ1OTI4ODgKKwkubG9uZwkxMDcyMjE3NjA1CisJLmxvbmcJNDIzMjI2Njg2MgorCS5sb25nCTEwMTU5OTExMzQKKwkubG9uZwkxMTEwMDg5OTQ3CisJLmxvbmcJMTA3MjIxMzIyMQorCS5sb25nCTE0NTE2NDE2MzkKKwkubG9uZwkxMDE1NDc0NjczCisJLmxvbmcJMjc1OTM1MDI4NworCS5sb25nCTEwNzIyMDg4NDgKKwkubG9uZwkxMTQ4NTI2NjM0CisJLmxvbmcJMTAxNTg5NDkzMworCS5sb25nCTM2NDk3MjYxMDUKKwkubG9uZwkxMDcyMjA0NDg3CisJLmxvbmcJNDA4NTAzNjM0NgorCS5sb25nCTEwMTU2NDk0NzQKKwkubG9uZwkzNjQzOTA5MTc0CisJLmxvbmcJMTA3MjIwMDEzOAorCS5sb25nCTM1Mzc1ODYxMDkKKwkubG9uZwkxMDE0MzU0NjQ3CisJLmxvbmcJMjYwNDk2MjU0MQorCS5sb25nCTEwNzIxOTU4MDEKKwkubG9uZwkyNjE0NDI1Mjc0CisJLmxvbmcJMzE2MzUzOTE5MgorCS5sb25nCTM5NjMxOTUyMQorCS5sb25nCTEwNzIxOTE0NzYKKwkubG9uZwk0MTcyNDIwODE2CisJLmxvbmcJMzE1OTA3NDYzMgorCS5sb25nCTExNzY3NDk5OTcKKwkubG9uZwkxMDcyMTg3MTYyCisJLmxvbmcJMjczODk5ODc3OQorCS5sb25nCTMxNjIwMzU4NDQKKwkubG9uZwk1MTU0NTc1MjcKKwkubG9uZwkxMDcyMTgyODYwCisJLmxvbmcJODM2NzA5MzMzCisJLmxvbmcJMTAxNTY1MTIyNgorCS5sb25nCTI1NzE5NDc1MzkKKwkubG9uZwkxMDcyMTc4NTY5CisJLmxvbmcJMzU1ODE1OTA2NAorCS5sb25nCTMxNjMzNzY2NjkKKwkubG9uZwkyOTE2MTU3MTQ1CisJLmxvbmcJMTA3MjE3NDI5MAorCS5sb25nCTIxOTQ4NzU2NQorCS5sb25nCTEwMTUzMDkzNjcKKwkubG9uZwkxNDEzMzU2MDUwCisJLmxvbmcJMTA3MjE3MDAyMworCS5sb25nCTE2NTEzNDkyOTEKKwkubG9uZwkzMTYyNjY4MTY2CisJLmxvbmcJMjIyNDE0NTU1MworCS5sb25nCTEwNzIxNjU3NjcKKwkubG9uZwkzNDgyNTIyMDMwCisJLmxvbmcJMzE2MTQ4OTE2OQorCS5sb25nCTkxOTU1NTY4MgorCS5sb25nCTEwNzIxNjE1MjMKKwkubG9uZwkzMTIxOTY5NTM0CisJLmxvbmcJMTAxMjk0ODIyNgorCS5sb25nCTE2NjA5MTMzOTIKKwkubG9uZwkxMDcyMTU3MjkwCisJLmxvbmcJNDIxODU5OTYwNAorCS5sb25nCTEwMTUxMzU3MDcKKwkubG9uZwkxOTk3MjQwMgorCS5sb25nCTEwNzIxNTMwNjkKKwkubG9uZwkzNTA3ODk5ODYyCisJLmxvbmcJMTAxNjAwOTI5MgorCS5sb25nCTE1ODc4MTQwMworCS5sb25nCTEwNzIxNDg4NTkKKwkubG9uZwkyMjIxNDY0NzEyCisJLmxvbmcJMzE2MzI4NjQ1MworCS5sb25nCTE5NDQ3ODExOTEKKwkubG9uZwkxMDcyMTQ0NjYwCisJLmxvbmcJMzk5MzI3ODc2NworCS5sb25nCTMxNjE3MjQyNzkKKwkubG9uZwk5NTA4MDM3MDIKKwkubG9uZwkxMDcyMTQwNDczCisJLmxvbmcJMTY1NTM2NDkyNgorCS5sb25nCTEwMTUyMzcwMzIKKwkubG9uZwkxMzM5OTcyOTI3CisJLmxvbmcJMTA3MjEzNjI5NworCS5sb25nCTE2NzkwODkwOQorCS5sb25nCTEwMTU1NzIxNTIKKwkubG9uZwkyOTgwODAyMDU3CisJLmxvbmcJMTA3MjEzMjEzMgorCS5sb25nCTM3ODYxOTg5NgorCS5sb25nCTEwMTU3NzMzMDMKKwkubG9uZwkxNDQ3MTkyNTIxCisJLmxvbmcJMTA3MjEyNzk3OQorCS5sb25nCTE0NjI4NTcxNzEKKwkubG9uZwkzMTYyNTE0NTIxCisJLmxvbmcJOTAzMzM0OTA5CisJLmxvbmcJMTA3MjEyMzgzNworCS5sb25nCTE2MzY0NjIxMDgKKwkubG9uZwkxMDE1MDM5OTk3CisJLmxvbmcJMTIxODgwNjEzMgorCS5sb25nCTEwNzIxMTk3MDYKKwkubG9uZwkxODE4NjEzMDUyCisJLmxvbmcJMzE2MjU0ODQ0MQorCS5sb25nCTIyNjM1MzU3NTQKKwkubG9uZwkxMDcyMTE1NTg2CisJLmxvbmcJNzUyMjMzNTg2CisJLmxvbmcJMzE2MjYzOTAwOAorCS5sb25nCTM5MDc4MDUwNDQKKwkubG9uZwkxMDcyMTExNDc3CisJLmxvbmcJMjI1NzA5MTIyNQorCS5sb25nCTMxNjE1NTA0MDcKKwkubG9uZwkxNzI3Mjc4NzI3CisJLmxvbmcJMTA3MjEwNzM4MAorCS5sb25nCTM1NjI3MTA2MjMKKwkubG9uZwkxMDExNDcxOTQwCisJLmxvbmcJNDE4Mjg3MzIyMAorCS5sb25nCTEwNzIxMDMyOTMKKwkubG9uZwk2Mjk1NDI2NDYKKwkubG9uZwkzMTYxOTk2MzAzCisJLmxvbmcJMjU1NTk4NDYxMworCS5sb25nCTEwNzIwOTkyMTgKKwkubG9uZwkyNjUyNTU1NDQyCisJLmxvbmcJMzE2MjU1MjY5MgorCS5sb25nCTEwMTMyNTg3OTkKKwkubG9uZwkxMDcyMDk1MTU0CisJLmxvbmcJMTc0ODc5NzYxMQorCS5sb25nCTMxNjAxMjkwODIKKwkubG9uZwkzNzIxNjg4NjQ1CisJLmxvbmcJMTA3MjA5MTEwMAorCS5sb25nCTMwNjkyNzY5MzcKKwkubG9uZwkxMDE1ODM5NDAxCisJLmxvbmcJMTk2MzcxMTE2NworCS5sb25nCTEwNzIwODcwNTgKKwkubG9uZwkxNzQ0NzY3NzU3CisJLmxvbmcJMzE2MDU3NDI5NAorCS5sb25nCTQyMDE5Nzc2NjIKKwkubG9uZwkxMDcyMDgzMDI2CisJLmxvbmcJNzQ4MzMwMjU0CisJLmxvbmcJMTAxMzU5NDM1NworCS5sb25nCTE3MTk2MTQ0MTMKKwkubG9uZwkxMDcyMDc5MDA2CisJLmxvbmcJMzMwNDU4MTk4CisJLmxvbmcJMzE2MzI4Mjc0MAorCS5sb25nCTI5Nzk5NjAxMjAKKwkubG9uZwkxMDcyMDc0OTk2CisJLmxvbmcJMjU5OTEwOTcyNQorCS5sb25nCTEwMTQ0OTg0OTMKKwkubG9uZwkzNTYxNzkzOTA3CisJLmxvbmcJMTA3MjA3MDk5NworCS5sb25nCTExNTcwNTQwNTMKKwkubG9uZwkxMDExODkwMzUwCisJLmxvbmcJMzMzOTIwMzU3NAorCS5sb25nCTEwNzIwNjcwMDkKKwkubG9uZwkxNDgzNDk3NzgwCisJLmxvbmcJMzE2MjQwODc1NAorCS5sb25nCTIxODY2MTczODEKKwkubG9uZwkxMDcyMDYzMDMyCisJLmxvbmcJMjI3MDc2NDA4NAorCS5sb25nCTMxNjMyNzI3MTMKKwkubG9uZwk0MjczNzcwNDIzCisJLmxvbmcJMTA3MjA1OTA2NQorCS5sb25nCTMzODMxODA4MDkKKwkubG9uZwkzMTYzMjE4OTAxCisJLmxvbmcJODg1ODM0NTI4CisJLmxvbmcJMTA3MjA1NTExMAorCS5sb25nCTE5NzMyNTg1NDcKKwkubG9uZwkzMTYyMjYxNTY0CisJLmxvbmcJNDg4MTg4NDEzCisJLmxvbmcJMTA3MjA1MTE2NQorCS5sb25nCTMxOTk4MjEwMjkKKwkubG9uZwkxMDE1NTY0MDQ4CisJLmxvbmcJMjk1NjYxMjk5NworCS5sb25nCTEwNzIwNDcyMzAKKwkubG9uZwkyMTE4MTY5NzUxCisJLmxvbmcJMzE2MjczNTU1MworCS5sb25nCTM4NzIyNTc3ODAKKwkubG9uZwkxMDcyMDQzMzA2CisJLmxvbmcJMTI1MzU5MjEwMworCS5sb25nCTEwMTU5NTgzMzQKKwkubG9uZwkzMTExNTc0NTM3CisJLmxvbmcJMTA3MjAzOTM5MworCS5sb25nCTI2MDYxNjE0NzkKKwkubG9uZwkzMTYyNzU5NzQ2CisJLmxvbmcJNTUxMzQ5MTA1CisJLmxvbmcJMTA3MjAzNTQ5MQorCS5sb25nCTM4MjE5MTYwNTAKKwkubG9uZwkzMTYyMTA2NTg5CisJLmxvbmcJMzYzNjY3Nzg0CisJLmxvbmcJMTA3MjAzMTU5OQorCS5sb25nCTgxMzc1Mzk1MAorCS5sb25nCTEwMTU3ODUyMDkKKwkubG9uZwkyNDI1OTgxODQzCisJLmxvbmcJMTA3MjAyNzcxNworCS5sb25nCTI4MzAzOTA4NTEKKwkubG9uZwkzMTYzMzQ2NTk5CisJLmxvbmcJMjMyMTEwNjYxNQorCS5sb25nCTEwNzIwMjM4NDYKKwkubG9uZwkyMTcxMTc2NjEwCisJLmxvbmcJMTAwOTUzNTc3MQorCS5sb25nCTQyMjIxMjI0OTkKKwkubG9uZwkxMDcyMDE5OTg1CisJLmxvbmcJMTI3NzM3ODA3NAorCS5sb25nCTMxNjMyNTY3MzcKKwkubG9uZwkzNzEyNTA0ODczCisJLmxvbmcJMTA3MjAxNjEzNQorCS5sb25nCTg4NDkxOTQ5CisJLmxvbmcJMTAxNTQyNzY2MAorCS5sb25nCTY3MTAyNTEwMAorCS5sb25nCTEwNzIwMTIyOTYKKwkubG9uZwkzODMyMDE0MzUxCisJLmxvbmcJMzE2MzAyMjAzMAorCS5sb25nCTM1NjY3MTY5MjUKKwkubG9uZwkxMDcyMDA4NDY2CisJLmxvbmcJMTUzNjgyNjg1NgorCS5sb25nCTEwMTQxNDI0MzMKKwkubG9uZwkzNjg5MDcxODIzCisJLmxvbmcJMTA3MjAwNDY0NworCS5sb25nCTIzMjEwMDQ5OTYKKwkubG9uZwkzMTYyNTUyNzE2CisJLmxvbmcJOTE3ODQxODgyCisJLmxvbmcJMTA3MjAwMDgzOQorCS5sb25nCTE4NzE1NTY1CisJLmxvbmcJMTAxNTY1OTMwOAorCS5sb25nCTM3MjMwMzg5MzAKKwkubG9uZwkxMDcxOTk3MDQwCisJLmxvbmcJMzc4NDY1MjY0CisJLmxvbmcJMzE2MjU2OTU4MgorCS5sb25nCTMzOTUxMjk4NzEKKwkubG9uZwkxMDcxOTkzMjUyCisJLmxvbmcJNDAyNTM0NTQzNQorCS5sb25nCTMxNjIzMzUzODgKKwkubG9uZwk0MTA5ODA2ODg3CisJLmxvbmcJMTA3MTk4OTQ3NAorCS5sb25nCTQyMjQwMzk2NgorCS5sb25nCTEwMTQ0NjkyMjkKKwkubG9uZwkxNDUzMTUwMDgyCisJLmxvbmcJMTA3MTk4NTcwNworCS5sb25nCTQ5ODE1NDY2OQorCS5sb25nCTMxNjE0ODgwNjIKKwkubG9uZwkzODk2NDYzMDg3CisJLmxvbmcJMTA3MTk4MTk0OQorCS5sb25nCTExMzk3OTc4NzMKKwkubG9uZwkzMTYxMjMzODA1CisJLmxvbmcJMjczMTUwMTEyMgorCS5sb25nCTEwNzE5NzgyMDIKKwkubG9uZwkxNzc0MDMxODU1CisJLmxvbmcJMzE2MjQ3MDAyMQorCS5sb25nCTIxMzUyNDExOTgKKwkubG9uZwkxMDcxOTc0NDY1CisJLmxvbmcJMTIzNjc0Nzg3MQorCS5sb25nCTEwMTM1ODkxNDcKKwkubG9uZwkxOTkwMDEyMDcxCisJLmxvbmcJMTA3MTk3MDczOAorCS5sb25nCTM1MjkwNzA1NjMKKwkubG9uZwkzMTYyODEzMTkzCisJLmxvbmcJMjE3ODQ2MDY3MQorCS5sb25nCTEwNzE5NjcwMjEKKwkubG9uZwk3Nzc4NzgwOTgKKwkubG9uZwkzMTYyODQyNDkzCisJLmxvbmcJMjU4MzU1MTI0NQorCS5sb25nCTEwNzE5NjMzMTQKKwkubG9uZwkzMTYxMDk0MTk1CisJLmxvbmcJMTAxNTYwNjQ5MQorCS5sb25nCTMwODg1NjQ1MDAKKwkubG9uZwkxMDcxOTU5NjE3CisJLmxvbmcJMTc2MjMxMTUxNworCS5sb25nCTEwMTUwNDU2NzMKKwkubG9uZwkzNTc3MDk2NzQzCisJLmxvbmcJMTA3MTk1NTkzMAorCS5sb25nCTI5NTE0OTY0MTgKKwkubG9uZwkxMDEzNzkzNjg3CisJLmxvbmcJMzkzMzA1OTAzMQorCS5sb25nCTEwNzE5NTIyNTMKKwkubG9uZwkyMTMzMzY2NzY4CisJLmxvbmcJMzE2MTUzMTgzMgorCS5sb25nCTQwNDA2NzYzMTgKKwkubG9uZwkxMDcxOTQ4NTg2CisJLmxvbmcJNDA5MDYwOTIzOAorCS5sb25nCTEwMTU2NjM0NTgKKwkubG9uZwkzNzg0NDg2NjEwCisJLmxvbmcJMTA3MTk0NDkyOQorCS5sb25nCTE1ODE4ODMwNDAKKwkubG9uZwkzMTYxNjk4OTUzCisJLmxvbmcJMzA0OTM0MDExMgorCS5sb25nCTEwNzE5NDEyODIKKwkubG9uZwkzMDYyOTE1ODI0CisJLmxvbmcJMTAxMzE3MDU5NQorCS5sb25nCTE3MjAzOTgzOTEKKwkubG9uZwkxMDcxOTM3NjQ1CisJLmxvbmcJMzk4MDY3ODk2MworCS5sb25nCTMxNjMzMDAwODAKKwkubG9uZwkzOTc4MTAwODIzCisJLmxvbmcJMTA3MTkzNDAxNworCS5sb25nCTM1MTMwMjcxOTAKKwkubG9uZwkxMDE1ODQ1OTYzCisJLmxvbmcJMTExODI5NDU3OAorCS5sb25nCTEwNzE5MzA0MDAKKwkubG9uZwkyMTk3NDk1Njk0CisJLmxvbmcJMzE1OTkwOTQwMQorCS5sb25nCTE2MTcwMDQ4NDUKKwkubG9uZwkxMDcxOTI2NzkyCisJLmxvbmcJODI4MDQ5NDQKKwkubG9uZwkxMDEwMzQyNzc4CisJLmxvbmcJMTA2NTY2MjkzMgorCS5sb25nCTEwNzE5MjMxOTQKKwkubG9uZwkyNTMzNjcwOTE1CisJLmxvbmcJMTAxNDUzMDIzOAorCS5sb25nCTM2NDU5NDE5MTEKKwkubG9uZwkxMDcxOTE5NjA1CisJLmxvbmcJMzgxNDY4NTA4MQorCS5sb25nCTMxNjE1NzMzNDEKKwkubG9uZwk2NTQ5MTkzMDYKKwkubG9uZwkxMDcxOTE2MDI3CisJLmxvbmcJMzIzMjk2MTc1NworCS5sb25nCTMxNjMwNDc0NjkKKwkubG9uZwk1Njk4NDczMzgKKwkubG9uZwkxMDcxOTEyNDU4CisJLmxvbmcJNDcyOTQ1MjcyCisJLmxvbmcJMzE1OTI5MDcyOQorCS5sb25nCTMyNzgzNDgzMjQKKwkubG9uZwkxMDcxOTA4ODk4CisJLmxvbmcJMzA2OTQ5NzQxNgorCS5sb25nCTEwMTQ3NTA3MTIKKwkubG9uZwk3ODQxMzg1MgorCS5sb25nCTEwNzE5MDUzNDkKKwkubG9uZwk0MTgzMjI2ODY3CisJLmxvbmcJMzE2MzAxNzI1MQorCS5sb25nCTM3NDMxNzUwMjkKKwkubG9uZwkxMDcxOTAxODA4CisJLmxvbmcJMjA3MjgxMjQ5MAorCS5sb25nCTMxNjIxNzUwNzUKKwkubG9uZwkxMjc2MjYxNDEwCisJLmxvbmcJMTA3MTg5ODI3OAorCS5sb25nCTMwMDk4MTk0OAorCS5sb25nCTEwMTQ2ODQxNjkKKwkubG9uZwkxMTU2NDQwNDM1CisJLmxvbmcJMTA3MTg5NDc1NworCS5sb25nCTIzNTE0NTEyNDkKKwkubG9uZwkxMDEzOTY3MDU2CisJLmxvbmcJMzI3Mjg0NTU0MQorCS5sb25nCTEwNzE4OTEyNDUKKwkubG9uZwk5Mjg4NTI0MTkKKwkubG9uZwkzMTYzNDg4MjQ4CisJLmxvbmcJMzIxOTk0MjY0NAorCS5sb25nCTEwNzE4ODc3NDMKKwkubG9uZwkzNzk4OTkwNjE2CisJLmxvbmcJMTAxNTM2ODgwNgorCS5sb25nCTg4NzQ2MzkyNworCS5sb25nCTEwNzE4ODQyNTEKKwkubG9uZwkzNTk2NzQ0MTYzCisJLmxvbmcJMzE2MDc5NDE2NgorCS5sb25nCTQ2MDQwNzAyMworCS5sb25nCTEwNzE4ODA3NjgKKwkubG9uZwk0MjM3MTc1MDkyCisJLmxvbmcJMzE2MzEzODQ2OQorCS5sb25nCTE4MjkwOTk2MjIKKwkubG9uZwkxMDcxODc3Mjk0CisJLmxvbmcJMTAxNjY2MTE4MQorCS5sb25nCTMxNjM0NjEwMDUKKwkubG9uZwk1ODkxOTg2NjYKKwkubG9uZwkxMDcxODczODMwCisJLmxvbmcJMjY2NDM0NjE3MgorCS5sb25nCTMxNjMxNTc5NjIKKwkubG9uZwk5MjY1OTE0MzUKKwkubG9uZwkxMDcxODcwMzc1CisJLmxvbmcJMzIwODgzMzc2MgorCS5sb25nCTMxNjI5MTM1MTQKKwkubG9uZwkyNzMyNDkyODU5CisJLmxvbmcJMTA3MTg2NjkyOQorCS5sb25nCTI2OTE0Nzk2NDYKKwkubG9uZwkzMTYyMjU1Njg0CisJLmxvbmcJMTYwMzQ0NDcyMQorCS5sb25nCTEwNzE4NjM0OTMKKwkubG9uZwkxNTQ4NjMzNjQwCisJLmxvbmcJMzE2MjIwMTMyNgorCS5sb25nCTE3MjYyMTY3NDkKKwkubG9uZwkxMDcxODYwMDY2CisJLmxvbmcJMjQ2NjgwODIyOAorCS5sb25nCTMxNjE2NzY0MDUKKwkubG9uZwkyOTkyOTAzOTM1CisJLmxvbmcJMTA3MTg1NjY0OAorCS5sb25nCTIyMTgxNTQ0MDYKKwkubG9uZwkxMDE1MjI4MTkzCisJLmxvbmcJMTAwMDkyNTc0NgorCS5sb25nCTEwNzE4NTMyNDAKKwkubG9uZwkxMDE4NDkxNjcyCisJLmxvbmcJMzE2MzMwOTU0NAorCS5sb25nCTQyMzI4OTQ1MTMKKwkubG9uZwkxMDcxODQ5ODQwCisJLmxvbmcJMjM4MzkzODY4NAorCS5sb25nCTEwMTQ2Njg1MTkKKwkubG9uZwkzOTkxODQzNTgxCisJLmxvbmcJMTA3MTg0NjQ1MAorCS5sb25nCTQwOTI4NTM0NTcKKwkubG9uZwkxMDE0NTg1NzYzCisJLmxvbmcJMTcxMDMwMjkzCisJLmxvbmcJMTA3MTg0MzA3MAorCS5sb25nCTM1MjY0NjAxMzIKKwkubG9uZwkxMDE0NDI4Nzc4CisJLmxvbmcJMTI1MzkzNTIxMQorCS5sb25nCTEwNzE4Mzk2OTgKKwkubG9uZwkxMzk1MzgyOTMxCisJLmxvbmcJMzE1OTcwMjYxMworCS5sb25nCTI4Mzk0MjQ4NTQKKwkubG9uZwkxMDcxODM2MzM1CisJLmxvbmcJMTE3MTU5NjE2MworCS5sb25nCTEwMTMwNDE2NzkKKwkubG9uZwk1MjY2NTI4MDkKKwkubG9uZwkxMDcxODMyOTgyCisJLmxvbmcJNDIyMzQ1OTczNgorCS5sb25nCTEwMTU4NzkzNzUKKwkubG9uZwkyNzk5OTYwODQzCisJLmxvbmcJMTA3MTgyOTYzNworCS5sb25nCTE0MjM2NTUzODEKKwkubG9uZwkxMDE1MDIyMTUxCisJLmxvbmcJOTY0MTA3MDU1CisJLmxvbmcJMTA3MTgyNjMwMgorCS5sb25nCTI4MDA0Mzk1ODgKKwkubG9uZwkzMTYyODMzMjIxCisJLmxvbmcJMzUwNDAwMzQ3MgorCS5sb25nCTEwNzE4MjI5NzUKKwkubG9uZwkzNTk0MDAxMDYwCisJLmxvbmcJMzE1NzMzMDY1MgorCS5sb25nCTE3MjQ5NzY5MTUKKwkubG9uZwkxMDcxODE5NjU4CisJLmxvbmcJNDIwOTA5MjIzCisJLmxvbmcJMzE2MzExNzM3OQorCS5sb25nCTQxMTI1MDY1OTMKKwkubG9uZwkxMDcxODE2MzQ5CisJLmxvbmcJMjk0NzM1NTIyMQorCS5sb25nCTEwMTQzNzEwNDgKKwkubG9uZwkxOTcyNDg0OTc2CisJLmxvbmcJMTA3MTgxMzA1MAorCS5sb25nCTY3NTI5MDMwMQorCS5sb25nCTMxNjE2NDAwNTAKKwkubG9uZwkzNzkwOTU1MzkzCisJLmxvbmcJMTA3MTgwOTc1OQorCS5sb25nCTIzNTI5NDI0NjIKKwkubG9uZwkzMTYzMTgwMDkwCisJLmxvbmcJODc0MzcyOTA1CisJLmxvbmcJMTA3MTgwNjQ3OAorCS5sb25nCTEwMDI2Mzc4OAorCS5sb25nCTEwMTU5NDA3MzIKKwkubG9uZwkxNzA5MzQxOTE3CisJLmxvbmcJMTA3MTgwMzIwNQorCS5sb25nCTI1NzExNjgyMTcKKwkubG9uZwkxMDE0MTUyNDk5CisJLmxvbmcJMTg5Nzg0NDM0MQorCS5sb25nCTEwNzE3OTk5NDEKKwkubG9uZwkxMjU0MzAwNDYwCisJLmxvbmcJMTAxNTI3NTkzOAorCS5sb25nCTEzMzcxMDgwMzEKKwkubG9uZwkxMDcxNzk2Njg2CisJLmxvbmcJMzIwMzcyNDQ1MgorCS5sb25nCTEwMTQ2Nzc4NDUKKwkubG9uZwk0MjE5NjA2MDI2CisJLmxvbmcJMTA3MTc5MzQzOQorCS5sb25nCTI0MzQ1NzQ3NDIKKwkubG9uZwkxMDE0NjgxNTQ4CisJLmxvbmcJMTg1MzE4NjYxNgorCS5sb25nCTEwNzE3OTAyMDIKKwkubG9uZwkzMDY2NDk2MzcxCisJLmxvbmcJMTAxNTY1NjU3NAorCS5sb25nCTI3MjU4NDM2NjUKKwkubG9uZwkxMDcxNzg2OTczCisJLmxvbmcJMTQzMzkxNzA4NworCS5sb25nCTEwMTQ4Mzg1MjMKKwkubG9uZwkyNDQwOTQ0NzkwCisJLmxvbmcJMTA3MTc4Mzc1MworCS5sb25nCTI0OTI3Njk3NzQKKwkubG9uZwkxMDE0MTQ3NDU0CisJLmxvbmcJODk3MDk5ODAxCisJLmxvbmcJMTA3MTc4MDU0MgorCS5sb25nCTc1NDc1NjI5NworCS5sb25nCTEwMTUyNDEwMDUKKwkubG9uZwkyMjg4MTU5OTU4CisJLmxvbmcJMTA3MTc3NzMzOQorCS5sb25nCTIxNjkxNDQ0NjkKKwkubG9uZwkxMDE0ODc2MDIxCisJLmxvbmcJMjIxODMxNTM0MQorCS5sb25nCTEwNzE3NzQxNDUKKwkubG9uZwkyNjk0Mjk1Mzg4CisJLmxvbmcJMzE2MzI4ODg2OAorCS5sb25nCTU4Njk5NTk5NworCS5sb25nCTEwNzE3NzA5NjAKKwkubG9uZwk0MTY2MjM0OAorCS5sb25nCTMxNjI2Mjc5OTIKKwkubG9uZwkxNTg4ODcxMjA3CisJLmxvbmcJMTA3MTc2Nzc4MworCS5sb25nCTE0MzQzOTU4MgorCS5sb25nCTMxNjI5NjM0MTYKKwkubG9uZwk4Mjg5NDY4NTgKKwkubG9uZwkxMDcxNzY0NjE1CisJLmxvbmcJMTA2NDI0OTIKKwkubG9uZwkxMDE1OTM5NDM4CisJLmxvbmcJMjUwMjQzMzg5OQorCS5sb25nCTEwNzE3NjE0NTUKKwkubG9uZwkyMTQ4NTk1OTEzCisJLmxvbmcJMTAxNTAyMzk5MQorCS5sb25nCTIyMTQ4Nzg0MjAKKwkubG9uZwkxMDcxNzU4MzA0CisJLmxvbmcJODkyMjcwMDg3CisJLmxvbmcJMzE2MzExNjQyMgorCS5sb25nCTQxNjIwMzAxMDgKKwkubG9uZwkxMDcxNzU1MTYxCisJLmxvbmcJMjc2MzQyODQ4MAorCS5sb25nCTEwMTU1MjkzNDkKKwkubG9uZwkzOTQ5OTcyMzQxCisJLmxvbmcJMTA3MTc1MjAyNworCS5sb25nCTIwNjg0MDg1NDgKKwkubG9uZwkxMDE0OTEzODY4CisJLmxvbmcJMTQ4MDAyMzM0MworCS5sb25nCTEwNzE3NDg5MDIKKwkubG9uZwkyMjQ3MTk2MTY4CisJLmxvbmcJMTAxNTMyNzQ1MworCS5sb25nCTk0ODczNTQ2NgorCS5sb25nCTEwNzE3NDU3ODUKKwkubG9uZwkzNTE2MzM4MDI4CisJLmxvbmcJMzE2MjU3NDg4MworCS5sb25nCTIyNTc5NTk4NzIKKwkubG9uZwkxMDcxNzQyNjc2CisJLmxvbmcJMzgwMjk0NjE0OAorCS5sb25nCTEwMTI5NjQ5MjcKKwkubG9uZwkxMDE0ODQ1ODE5CisJLmxvbmcJMTA3MTczOTU3NgorCS5sb25nCTMxMTc5MTA2NDYKKwkubG9uZwkzMTYxNTU5MTA1CisJLmxvbmcJMTQxNjc0MTgyNgorCS5sb25nCTEwNzE3MzY0ODQKKwkubG9uZwkyMTk2MzgwMjEwCisJLmxvbmcJMTAxMTQxMzU2MworCS5sb25nCTMzNjYyOTMwNzMKKwkubG9uZwkxMDcxNzMzNDAwCisJLmxvbmcJMzExOTQyNjMxNAorCS5sb25nCTEwMTQxMjA1NTQKKwkubG9uZwkyNDcxNDQwNjg2CisJLmxvbmcJMTA3MTczMDMyNQorCS5sb25nCTk2ODgzNjI2NworCS5sb25nCTMxNjIyMTQ4ODgKKwkubG9uZwkyOTMwMzIyOTEyCisJLmxvbmcJMTA3MTcyNzI1OAorCS5sb25nCTI1OTk0OTk0MjIKKwkubG9uZwkzMTYyNzE0MDQ3CisJLmxvbmcJMzUxNDA1MjI3CisJLmxvbmcJMTA3MTcyNDIwMAorCS5sb25nCTMxMjUzMzczMjgKKwkubG9uZwkzMTU5ODIyNDc5CisJLmxvbmcJMzIyODMxNjEwOAorCS5sb25nCTEwNzE3MjExNDkKKwkubG9uZwkzMDEwMjQxOTkxCisJLmxvbmcJMzE1ODQyMjgwNAorCS5sb25nCTI4NzUwNzUyNTQKKwkubG9uZwkxMDcxNzE4MTA3CisJLmxvbmcJNDE0NDIzMzMzMAorCS5sb25nCTMxNjMzMzM3MTYKKwkubG9uZwkzNDkwODYzOTUzCisJLmxvbmcJMTA3MTcxNTA3MworCS5sb25nCTk2MDc5NzQ5OAorCS5sb25nCTMxNjI5NDg4ODAKKwkubG9uZwk2ODUxODc5MDIKKwkubG9uZwkxMDcxNzEyMDQ4CisJLmxvbmcJMzc4NzMxOTg5CisJLmxvbmcJMTAxNDg0MzExNQorCS5sb25nCTI5NTI3MTI5ODcKKwkubG9uZwkxMDcxNzA5MDMwCisJLmxvbmcJMzI5MzQ5NDY1MQorCS5sb25nCTMxNjAxMjAzMDEKKwkubG9uZwkxNjA4NDkzNTA5CisJLmxvbmcJMTA3MTcwNjAyMQorCS5sb25nCTMxNTk2MjIxNzEKKwkubG9uZwkzMTYyODA3NzM3CisJLmxvbmcJODUyNzQyNTYyCisJLmxvbmcJMTA3MTcwMzAyMAorCS5sb25nCTY2NzI1MzU4NgorCS5sb25nCTEwMDk3OTM1NTkKKwkubG9uZwk1OTA5NjIxNTYKKwkubG9uZwkxMDcxNzAwMDI3CisJLmxvbmcJMzgyOTM0NjY2NgorCS5sb25nCTMxNjMyNzU1OTcKKwkubG9uZwk3Mjg5MDk4MTUKKwkubG9uZwkxMDcxNjk3MDQyCisJLmxvbmcJMzgzOTMwMjI1CisJLmxvbmcJMTAxNTAyOTQ2OAorCS5sb25nCTExNzI1OTc4OTMKKwkubG9uZwkxMDcxNjk0MDY1CisJLmxvbmcJMTE0NDMzMjYzCisJLmxvbmcJMTAxNTM0NzU5MworCS5sb25nCTE4MjgyOTI4NzkKKwkubG9uZwkxMDcxNjkxMDk2CisJLmxvbmcJMTI1NTk1Njc0NworCS5sb25nCTEwMTU1ODgzOTgKKwkubG9uZwkyNjAyNTE0NzEzCisJLmxvbmcJMTA3MTY4ODEzNQorCS5sb25nCTIyNjg5MjkzMzYKKwkubG9uZwkxMDE0MzU0Mjg0CisJLmxvbmcJMzQwMjAzNjA5OQorCS5sb25nCTEwNzE2ODUxODIKKwkubG9uZwk0MDU4ODkzMzQKKwkubG9uZwkxMDE1MTA1NjU2CisJLmxvbmcJNDEzMzg4MTgyNAorCS5sb25nCTEwNzE2ODIyMzcKKwkubG9uZwkyMTQ4MTU1MzQ1CisJLmxvbmcJMzE2MjkzMTI5OQorCS5sb25nCTQxMDM2MDc3NgorCS5sb25nCTEwNzE2NzkzMDEKKwkubG9uZwkxMjY5OTkwNjU1CisJLmxvbmcJMTAxMTk3NTg3MAorCS5sb25nCTcyODkzNDQ1NAorCS5sb25nCTEwNzE2NzYzNzIKKwkubG9uZwkxNDEzODQyNjg4CisJLmxvbmcJMTAxNDE3ODYxMgorCS5sb25nCTcwMjQxMjUxMAorCS5sb25nCTEwNzE2NzM0NTEKKwkubG9uZwkzODAzMjY2MDg3CisJLmxvbmcJMzE2MjI4MDQxNQorCS5sb25nCTIzODgyMTI1NworCS5sb25nCTEwNzE2NzA1MzgKKwkubG9uZwkxNDY5Njk0ODcxCisJLmxvbmcJMzE2Mjg4NDk4NworCS5sb25nCTM1NDE0MDI5OTYKKwkubG9uZwkxMDcxNjY3NjMyCisJLmxvbmcJMjc1OTE3NzMxNworCS5sb25nCTEwMTQ4NTQ2MjYKKwkubG9uZwkxOTI4NzQ2MTYxCisJLmxvbmcJMTA3MTY2NDczNQorCS5sb25nCTk4MzYxNzY3NgorCS5sb25nCTEwMTQyODUxNzcKKwkubG9uZwkzODk5NTU1NzE3CisJLmxvbmcJMTA3MTY2MTg0NQorCS5sb25nCTQyNzI4MDc1MAorCS5sb25nCTMxNjI1NDY5NzIKKwkubG9uZwk3NzI5MTQxMjQKKwkubG9uZwkxMDcxNjU4OTY0CisJLmxvbmcJNDAwNDM3Mjc2MgorCS5sb25nCTEwMTIyMzAxNjEKKwkubG9uZwkxMDQ4MDE5MDQxCisJLmxvbmcJMTA3MTY1NjA5MAorCS5sb25nCTEzOTg0NzQ4NDUKKwkubG9uZwkzMTYwNTEwNTk1CisJLmxvbmcJMzM5NDExNTg1CisJLmxvbmcJMTA3MTY1MzIyNAorCS5sb25nCTI2NDU4ODk4MgorCS5sb25nCTMxNjE2MzY2NTcKKwkubG9uZwkyODUxODEyMTQ5CisJLmxvbmcJMTA3MTY1MDM2NQorCS5sb25nCTI1OTU4MDI1NTEKKwkubG9uZwkxMDE1NzY3MzM3CisJLmxvbmcJNDIwMDI1MDU1OQorCS5sb25nCTEwNzE2NDc1MTQKKwkubG9uZwkyODA4MTI3MzQ1CisJLmxvbmcJMzE2MTc4MTkzOAorCS50eXBlCVQyX25lZ19mLEBvYmplY3QKKwkuc2l6ZQlUMl9uZWdfZiw0MDk2CisJLnNwYWNlIDUxMiwgMHgwMCAJIyBwYWQKKwkuYWxpZ24gMTYKK01BU0szOgorCS5sb25nCTAKKwkubG9uZwk0Mjk0OTY3MjgwCisJLmxvbmcJMAorCS5sb25nCTQyOTQ5NjcyODAKKwkudHlwZQlNQVNLMyxAb2JqZWN0CisJLnNpemUJTUFTSzMsMTYKKwkuYWxpZ24gMTYKK1JNQVNLOgorCS5sb25nCTQyOTQ3MDUxNTIKKwkubG9uZwk0Mjk0OTY3Mjk1CisJLmxvbmcJNDI5NDcwNTE1MgorCS5sb25nCTQyOTQ5NjcyOTUKKwkudHlwZQlSTUFTSyxAb2JqZWN0CisJLnNpemUJUk1BU0ssMTYKKwkuYWxpZ24gMTYKK3B2OgorCS5sb25nCTIzNjI4OTUwMworCS5sb25nCTEwNjQxMzU5OTcKKwkubG9uZwk0NjM1ODM3NzIKKwkubG9uZwkzMjE1Njk2MzE0CisJLmxvbmcJMTQ0MTE4NjM2NQorCS5sb25nCTMyMTI5Nzc4OTEKKwkubG9uZwkyODYzMzExNTMKKwkubG9uZwkxMDY5NjE3NDI1CisJLmxvbmcJMjI4NDU4OTMwNgorCS5sb25nCTEwNjY4MjA4NTIKKwkubG9uZwkxNDMxNjU1NzY1CisJLmxvbmcJMzIxODQyOTI2OQorCS50eXBlCXB2LEBvYmplY3QKKwkuc2l6ZQlwdiw0OAorCS5hbGlnbiA0CitIQUxGTUFTSzoKKwkubG9uZwk0MTYwNzQ5NTY4CisJLmxvbmcJMjE0NzQ4MzY0NworCS50eXBlCUhBTEZNQVNLLEBvYmplY3QKKwkuc2l6ZQlIQUxGTUFTSyw4CisJLmFsaWduIDQKK09ORU1BU0s6CisJLmxvbmcJMAorCS5sb25nCTEwNzI2OTMyNDgKKwkudHlwZQlPTkVNQVNLLEBvYmplY3QKKwkuc2l6ZQlPTkVNQVNLLDgKKwkuYWxpZ24gNAorVFdPTUFTSzoKKwkubG9uZwkwCisJLmxvbmcJMTA3Mzc0MTgyNAorCS50eXBlCVRXT01BU0ssQG9iamVjdAorCS5zaXplCVRXT01BU0ssOAorCS5kYXRhCisJLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrLCAiIgorLy8gLS0gQmVnaW4gRFdBUkYyIFNFR01FTlQgLmVoX2ZyYW1lCisJLnNlY3Rpb24gLmVoX2ZyYW1lLCJhIixAcHJvZ2JpdHMKKy5laF9mcmFtZV9zZWc6CisJLmFsaWduIDEKKwkuNGJ5dGUgMHgwMDAwMDAxNAorCS44Ynl0ZSAweDAwNTI3YTAxMDAwMDAwMDAKKwkuOGJ5dGUgMHgwODA3MGMxYjAxMTA3ODAxCisJLjRieXRlIDB4MDAwMDAxOTAKKwkuNGJ5dGUgMHgwMDAwMDAxYworCS40Ynl0ZSAweDAwMDAwMDFjCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3RhbmguMS0uCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3RhbmguNS0uLl9fX3RhZ192YWx1ZV90YW5oLjEKKwkuMmJ5dGUgMHgwNDAwCisJLjRieXRlIC4uX19fdGFnX3ZhbHVlX3RhbmguMy0uLl9fX3RhZ192YWx1ZV90YW5oLjEKKwkuMmJ5dGUgMHgxMDBlCisJLmJ5dGUgMHgwNAorCS40Ynl0ZSAuLl9fX3RhZ192YWx1ZV90YW5oLjQtLi5fX190YWdfdmFsdWVfdGFuaC4zCisJLjJieXRlIDB4MDgwZQorCS5ieXRlIDB4MDAKKyMgRW5kCmRpZmYgLS1naXQgYS9saWJtL3g4Nl82NC9zcXJ0LlMgYi9saWJtL3g4Nl82NC9zcXJ0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU5NzAyNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2XzY0L3NxcnQuUwpAQCAtMCwwICsxLDM2IEBACisvKgorQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAorICAgICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICAgICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICAgKiBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgICAqIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKHNxcnQpCitzcXJ0c2QgJXhtbTAsJXhtbTAKK3JldHEKK0VORChzcXJ0KQpkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvc3FydGYuUyBiL2xpYm0veDg2XzY0L3NxcnRmLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEwNDA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2XzY0L3NxcnRmLlMKQEAgLTAsMCArMSwzNiBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWShzcXJ0ZikKK3NxcnRzcyAleG1tMCwleG1tMAorcmV0cQorRU5EKHNxcnRmKQpkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvdHJ1bmMuUyBiL2xpYm0veDg2XzY0L3RydW5jLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUxOGI0MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0veDg2XzY0L3RydW5jLlMKQEAgLTAsMCArMSwzNiBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWSh0cnVuYykKK3JvdW5kc2QgJDB4MywleG1tMCwleG1tMAorcmV0cQorRU5EKHRydW5jKQpkaWZmIC0tZ2l0IGEvbGlibS94ODZfNjQvdHJ1bmNmLlMgYi9saWJtL3g4Nl82NC90cnVuY2YuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWVlMWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS94ODZfNjQvdHJ1bmNmLlMKQEAgLTAsMCArMSwzNiBAQAorLyoKK0NvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgICAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgICogbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgICAgKiB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgorCitFTlRSWSh0cnVuY2YpCityb3VuZHNzICQweDMsJXhtbTAsJXhtbTAKK3JldHEKK0VORCh0cnVuY2YpCmRpZmYgLS1naXQgYS9saWJzdGRjKysvaW5jbHVkZS9jbWF0aCBiL2xpYnN0ZGMrKy9pbmNsdWRlL2NtYXRoCmluZGV4IGJlNzAzNDMuLmExNWIyYWMgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy9pbmNsdWRlL2NtYXRoCisrKyBiL2xpYnN0ZGMrKy9pbmNsdWRlL2NtYXRoCkBAIC0zMSw3ICszMSw3IEBACiAjZGVmaW5lIEJJT05JQ19MSUJTVERDUFBfSU5DTFVERV9DTUFUSF9fCiAKIC8qCi0gKiBTdGFuZGFyZCBDKysgTGlicmFyeSB3cmFwcGVyIGFyb3VuZCB0aGUgQyB0aW1lLmggaGVhZGVyIGZpbGUuCisgKiBTdGFuZGFyZCBDKysgTGlicmFyeSB3cmFwcGVyIGFyb3VuZCB0aGUgQyBtYXRoLmggaGVhZGVyIGZpbGUuCiAgKi8KIAogI2luY2x1ZGUgPGNzdGRkZWY+CmRpZmYgLS1naXQgYS9saWJzdGRjKysvaW5jbHVkZS9uZXcgYi9saWJzdGRjKysvaW5jbHVkZS9uZXcKaW5kZXggMDI1M2U4Yi4uYzVhNDNkZSAxMDA2NDQKLS0tIGEvbGlic3RkYysrL2luY2x1ZGUvbmV3CisrKyBiL2xpYnN0ZGMrKy9pbmNsdWRlL25ldwpAQCAtMTMsMTkgKzEzLDE5IEBACiAKIHZvaWQqIG9wZXJhdG9yIG5ldyhzdGQ6OnNpemVfdCk7CiB2b2lkKiBvcGVyYXRvciBuZXdbXShzdGQ6OnNpemVfdCk7Ci12b2lkICBvcGVyYXRvciBkZWxldGUodm9pZCopOwotdm9pZCAgb3BlcmF0b3IgZGVsZXRlW10odm9pZCopOwordm9pZCAgb3BlcmF0b3IgZGVsZXRlKHZvaWQqKSB0aHJvdygpOwordm9pZCAgb3BlcmF0b3IgZGVsZXRlW10odm9pZCopIHRocm93KCk7CiB2b2lkKiBvcGVyYXRvciBuZXcoc3RkOjpzaXplX3QsIGNvbnN0IHN0ZDo6bm90aHJvd190Jik7CiB2b2lkKiBvcGVyYXRvciBuZXdbXShzdGQ6OnNpemVfdCwgY29uc3Qgc3RkOjpub3Rocm93X3QmKTsKLXZvaWQgIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiwgY29uc3Qgc3RkOjpub3Rocm93X3QmKTsKLXZvaWQgIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqLCBjb25zdCBzdGQ6Om5vdGhyb3dfdCYpOwordm9pZCAgb3BlcmF0b3IgZGVsZXRlKHZvaWQqLCBjb25zdCBzdGQ6Om5vdGhyb3dfdCYpIHRocm93KCk7Cit2b2lkICBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiwgY29uc3Qgc3RkOjpub3Rocm93X3QmKSB0aHJvdygpOwogCiBpbmxpbmUgdm9pZCogb3BlcmF0b3IgbmV3KHN0ZDo6c2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9CiBpbmxpbmUgdm9pZCogb3BlcmF0b3IgbmV3W10oc3RkOjpzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0KIAogLy8gdGhlc2UgbmV4dCB0d28gYXJlIG5vdCByZWFsbHkgcmVxdWlyZWQsIHNpbmNlIGV4Y2VwdGlvbnMgYXJlIG9mZgotaW5saW5lIHZvaWQgIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiwgdm9pZCopIHsgfQotaW5saW5lIHZvaWQgIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqLCB2b2lkKikgeyB9CitpbmxpbmUgdm9pZCAgb3BlcmF0b3IgZGVsZXRlKHZvaWQqLCB2b2lkKikgdGhyb3coKSB7IH0KK2lubGluZSB2b2lkICBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiwgdm9pZCopIHRocm93KCkgeyB9CiAKIH0gIC8vIGV4dGVybiBDKysKIApkaWZmIC0tZ2l0IGEvbGlua2VyL0FuZHJvaWQubWsgYi9saW5rZXIvQW5kcm9pZC5tawppbmRleCA0Mjk4MDMyLi41YmRjMmY5IDEwMDY0NAotLS0gYS9saW5rZXIvQW5kcm9pZC5taworKysgYi9saW5rZXIvQW5kcm9pZC5tawpAQCAtNyw4ICs3LDEwIEBACiAgICAgZGxmY24uY3BwIFwKICAgICBsaW5rZXIuY3BwIFwKICAgICBsaW5rZXJfYWxsb2NhdG9yLmNwcCBcCisgICAgbGlua2VyX2Jsb2NrX2FsbG9jYXRvci5jcHAgXAogICAgIGxpbmtlcl9lbnZpcm9uLmNwcCBcCiAgICAgbGlua2VyX2xpYmNfc3VwcG9ydC5jIFwKKyAgICBsaW5rZXJfbWVtb3J5LmNwcCBcCiAgICAgbGlua2VyX3BoZHIuY3BwIFwKICAgICBydC5jcHAgXAogCkBAIC0xNiw5ICsxOCwxMiBAQAogTE9DQUxfU1JDX0ZJTEVTX2FybTY0ICAgOj0gYXJjaC9hcm02NC9iZWdpbi5TCiBMT0NBTF9TUkNfRklMRVNfeDg2ICAgICA6PSBhcmNoL3g4Ni9iZWdpbi5jCiBMT0NBTF9TUkNfRklMRVNfeDg2XzY0ICA6PSBhcmNoL3g4Nl82NC9iZWdpbi5TCi1MT0NBTF9TUkNfRklMRVNfbWlwcyAgICA6PSBhcmNoL21pcHMvYmVnaW4uUwotTE9DQUxfU1JDX0ZJTEVTX21pcHM2NCAgOj0gYXJjaC9taXBzNjQvYmVnaW4uUworTE9DQUxfU1JDX0ZJTEVTX21pcHMgICAgOj0gYXJjaC9taXBzL2JlZ2luLlMgbGlua2VyX21pcHMuY3BwCitMT0NBTF9TUkNfRklMRVNfbWlwczY0ICA6PSBhcmNoL21pcHM2NC9iZWdpbi5TIGxpbmtlcl9taXBzLmNwcAogCisjIC1zaGFyZWQgaXMgdXNlZCB0byBvdmVyd3JpdGUgdGhlIC1Cc3RhdGljIGFuZCAtc3RhdGljCisjIGZsYWdzIHRyaWdnZXJlZCBieSBMT0NBTF9GT1JDRV9TVEFUSUNfRVhFQ1VUQUJMRS4KKyMgVGhpcyBkeW5hbWljIGxpbmtlciBpcyBhY3R1YWxseSBhIHNoYXJlZCBvYmplY3QgbGlua2VkIHdpdGggc3RhdGljIGxpYnJhcmllcy4KIExPQ0FMX0xERkxBR1MgOj0gXAogICAgIC1zaGFyZWQgXAogICAgIC1XbCwtQnN5bWJvbGljIFwKQEAgLTM1LDYgKzQwLDExIEBACiAKIExPQ0FMX0NQUEZMQUdTICs9IFwKICAgICAtc3RkPWdudSsrMTEgXAorICAgIC1Xb2xkLXN0eWxlLWNhc3QgXAorCitpZmVxICgkKFRBUkdFVF9JU182NF9CSVQpLHRydWUpCitMT0NBTF9DUFBGTEFHUyArPSAtRFRBUkdFVF9JU182NF9CSVQKK2VuZGlmCiAKICMgV2UgbmVlZCB0byBhY2Nlc3MgQmlvbmljIHByaXZhdGUgaGVhZGVycyBpbiB0aGUgbGlua2VyLgogTE9DQUxfQ0ZMQUdTICs9IC1JJChMT0NBTF9QQVRIKS8uLi9saWJjLwpAQCAtNDUsMTMgKzU1LDExIEBACiAjIFRPRE86IHNwbGl0IG91dCB0aGUgYXNmbGFncy4KIExPQ0FMX0FTRkxBR1MgOj0gJChMT0NBTF9DRkxBR1MpCiAKLUxPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5tayAkKExPQ0FMX1BBVEgpL2xpbmtlcl9leGVjdXRhYmxlLm1rCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQubWsKIAotTE9DQUxfU1RBVElDX0xJQlJBUklFUyA6PSBsaWJjX25vbWFsbG9jCitMT0NBTF9TVEFUSUNfTElCUkFSSUVTIDo9IGxpYmNfbm9tYWxsb2MgbGliemlwYXJjaGl2ZSBsaWJ1dGlscyBsaWJ6IGxpYmxvZwogCi1MT0NBTF9GT1JDRV9TVEFUSUNfRVhFQ1VUQUJMRSA6PSB0cnVlICMgbm90IG5lY2Vzc2FyeSB3aGVuIG5vdCBpbmNsdWRpbmcgQlVJTERfRVhFQ1VUQUJMRQotCi1MT0NBTF8yTkRfQVJDSF9WQVJfUFJFRklYIDo9ICQobGlua2VyXzJuZF9hcmNoX3Zhcl9wcmVmaXgpCitMT0NBTF9GT1JDRV9TVEFUSUNfRVhFQ1VUQUJMRSA6PSB0cnVlCiAKIExPQ0FMX01PRFVMRSA6PSBsaW5rZXIKIExPQ0FMX01PRFVMRV9TVEVNXzMyIDo9IGxpbmtlcgpAQCAtNjIsMTcgKzcwLDE0IEBACiAjIG1lYW5pbmdmdWwgbmFtZSByZXNvbHV0aW9uLgogTE9DQUxfU1RSSVBfTU9EVUxFIDo9IGtlZXBfc3ltYm9scwogCi1pbmNsdWRlICQoTE9DQUxfUEFUSCkvbGlua2VyX2V4ZWN1dGFibGUubWsKLWlmZGVmIFRBUkdFVF8yTkRfQVJDSAotTE9DQUxfMk5EX0FSQ0hfVkFSX1BSRUZJWCA6PSAkKFRBUkdFVF8yTkRfQVJDSF9WQVJfUFJFRklYKQotT1ZFUlJJREVfQlVJTFRfTU9EVUxFX1BBVEggOj0KLUxPQ0FMX0JVSUxUX01PRFVMRSA6PQotTE9DQUxfSU5TVEFMTEVEX01PRFVMRSA6PQotTE9DQUxfTU9EVUxFX1NURU0gOj0KLUxPQ0FMX0JVSUxUX01PRFVMRV9TVEVNIDo9Ci1MT0NBTF9JTlNUQUxMRURfTU9EVUxFX1NURU0gOj0KLUxPQ0FMX0lOVEVSTUVESUFURV9UQVJHRVRTIDo9Ci1pbmNsdWRlICQoTE9DQUxfUEFUSCkvbGlua2VyX2V4ZWN1dGFibGUubWsKLWVuZGlmCisjIEluc2VydCBhbiBleHRyYSBvYmpjb3B5IHN0ZXAgdG8gYWRkIHByZWZpeCB0byBzeW1ib2xzLiBUaGlzIGlzIG5lZWRlZCB0byBwcmV2ZW50IGdkYgorIyBsb29raW5nIHVwIHN5bWJvbHMgaW4gdGhlIGxpbmtlciBieSBtaXN0YWtlLgorIworIyBOb3RlIHdlIGFyZSB1c2luZyAiPSIgaW5zdGVhZCBvZiAiOj0iIHRvIGRlZmVyIHRoZSBldmFsdWF0aW9uLAorIyBiZWNhdXNlIExPQ0FMXzJORF9BUkNIX1ZBUl9QUkVGSVggb3IgbGlua2VkX21vZHVsZSBpc24ndCBzZXQgcHJvcGVybHkgeWV0IGF0IHRoaXMgcG9pbnQuCitMT0NBTF9QT1NUX0xJTktfQ01EID0gJChoaWRlKSAkKCQoTE9DQUxfMk5EX0FSQ0hfVkFSX1BSRUZJWClUQVJHRVRfT0JKQ09QWSkgXAorICAtLXByZWZpeC1zeW1ib2xzPV9fZGxfICQobGlua2VkX21vZHVsZSkKKworaW5jbHVkZSAkKEJVSUxEX0VYRUNVVEFCTEUpCiAKIGluY2x1ZGUgJChjYWxsIGZpcnN0LW1ha2VmaWxlcy11bmRlciwkKExPQ0FMX1BBVEgpKQpkaWZmIC0tZ2l0IGEvbGlua2VyL2RlYnVnZ2VyLmNwcCBiL2xpbmtlci9kZWJ1Z2dlci5jcHAKaW5kZXggYWM0NjZhNS4uMzU3ZmJkYyAxMDA2NDQKLS0tIGEvbGlua2VyL2RlYnVnZ2VyLmNwcAorKysgYi9saW5rZXIvZGVidWdnZXIuY3BwCkBAIC0zMCw5ICszMCwxMSBAQAogCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8c3lzL3ByY3RsLmg+CiAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgpAQCAtNDEsOCArNDMsMTAgQEAKIAogZXh0ZXJuICJDIiBpbnQgdGdraWxsKGludCB0Z2lkLCBpbnQgdGlkLCBpbnQgc2lnKTsKIAotI2lmIF9fTFA2NF9fCi0jZGVmaW5lIERFQlVHR0VSX1NPQ0tFVF9OQU1FICJhbmRyb2lkOmRlYnVnZ2VyZDY0IgorLy8gQ3Jhc2ggYWN0aW9ucyBoYXZlIHRvIGJlIHNlbnQgdG8gdGhlIHByb3BlciBkZWJ1Z2dlcmQuCisvLyBPbiA2NCBiaXQgc3lzdGVtcywgdGhlIDMyIGJpdCBkZWJ1Z2dlcmQgaXMgbmFtZWQgZGlmZmVyZW50bHkuCisjaWYgZGVmaW5lZChUQVJHRVRfSVNfNjRfQklUKSAmJiAhZGVmaW5lZChfX0xQNjRfXykKKyNkZWZpbmUgREVCVUdHRVJfU09DS0VUX05BTUUgImFuZHJvaWQ6ZGVidWdnZXJkMzIiCiAjZWxzZQogI2RlZmluZSBERUJVR0dFUl9TT0NLRVRfTkFNRSAiYW5kcm9pZDpkZWJ1Z2dlcmQiCiAjZW5kaWYKQEAgLTU3LDE1ICs2MSwxMCBAQAogfTsKIAogLyogbWVzc2FnZSBzZW50IG92ZXIgdGhlIHNvY2tldCAqLwotc3RydWN0IGRlYnVnZ2VyX21zZ190IHsKLSAgLy8gdmVyc2lvbiAxIGluY2x1ZGVkOgotICBkZWJ1Z2dlcl9hY3Rpb25fdCBhY3Rpb247CitzdHJ1Y3QgX19hdHRyaWJ1dGVfXygocGFja2VkKSkgZGVidWdnZXJfbXNnX3QgeworICBpbnQzMl90IGFjdGlvbjsKICAgcGlkX3QgdGlkOwotCi0gIC8vIHZlcnNpb24gMiBhZGRlZDoKLSAgdWludHB0cl90IGFib3J0X21zZ19hZGRyZXNzOwotCi0gIC8vIHZlcnNpb24gMyBhZGRlZDoKKyAgdWludDY0X3QgYWJvcnRfbXNnX2FkZHJlc3M7CiAgIGludDMyX3Qgb3JpZ2luYWxfc2lfY29kZTsKIH07CiAKQEAgLTE1NCw3ICsxNTMsNyBAQAogICB9CiAKICAgY2hhciB0aHJlYWRfbmFtZVtNQVhfVEFTS19OQU1FX0xFTiArIDFdOyAvLyBvbmUgbW9yZSBmb3IgdGVybWluYXRpb24KLSAgaWYgKHByY3RsKFBSX0dFVF9OQU1FLCAodW5zaWduZWQgbG9uZyl0aHJlYWRfbmFtZSwgMCwgMCwgMCkgIT0gMCkgeworICBpZiAocHJjdGwoUFJfR0VUX05BTUUsIHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgbG9uZz4odGhyZWFkX25hbWUpLCAwLCAwLCAwKSAhPSAwKSB7CiAgICAgc3RyY3B5KHRocmVhZF9uYW1lLCAiPG5hbWUgdW5rbm93bj4iKTsKICAgfSBlbHNlIHsKICAgICAvLyBzaG9ydCBuYW1lcyBhcmUgbnVsbCB0ZXJtaW5hdGVkIGJ5IHByY3RsLCBidXQgdGhlIG1hbiBwYWdlCkBAIC0yMTUsNiArMjE0LDIzIEBACiAgICAgcmV0dXJuOwogICB9CiAKKyAgLy8gTXV0ZXggdG8gcHJldmVudCBtdWx0aXBsZSBjcmFzaGluZyB0aHJlYWRzIGZyb20gdHJ5aW5nIHRvIHRhbGsKKyAgLy8gdG8gZGVidWdnZXJkIGF0IHRoZSBzYW1lIHRpbWUuCisgIHN0YXRpYyBwdGhyZWFkX211dGV4X3QgY3Jhc2hfbXV0ZXggPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOworICBpbnQgcmV0ID0gcHRocmVhZF9tdXRleF90cnlsb2NrKCZjcmFzaF9tdXRleCk7CisgIGlmIChyZXQgIT0gMCkgeworICAgIGlmIChyZXQgPT0gRUJVU1kpIHsKKyAgICAgIF9fbGliY19mb3JtYXRfbG9nKEFORFJPSURfTE9HX0lORk8sICJsaWJjIiwKKyAgICAgICAgICAiQW5vdGhlciB0aHJlYWQgY29udGFjdGVkIGRlYnVnZ2VyZCBmaXJzdDsgbm90IGNvbnRhY3RpbmcgZGVidWdnZXJkLiIpOworICAgICAgLy8gVGhpcyB3aWxsIG5ldmVyIGNvbXBsZXRlIHNpbmNlIHRoZSBsb2NrIGlzIG5ldmVyIHJlbGVhc2VkLgorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZjcmFzaF9tdXRleCk7CisgICAgfSBlbHNlIHsKKyAgICAgIF9fbGliY19mb3JtYXRfbG9nKEFORFJPSURfTE9HX0lORk8sICJsaWJjIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJwdGhyZWFkX211dGV4X3RyeWxvY2sgZmFpbGVkOiAlcyIsIHN0cmVycm9yKHJldCkpOworICAgIH0KKyAgICByZXR1cm47CisgIH0KKwogICBpbnQgcyA9IHNvY2tldF9hYnN0cmFjdF9jbGllbnQoREVCVUdHRVJfU09DS0VUX05BTUUsIFNPQ0tfU1RSRUFNIHwgU09DS19DTE9FWEVDKTsKICAgaWYgKHMgPT0gLTEpIHsKICAgICBfX2xpYmNfZm9ybWF0X2xvZyhBTkRST0lEX0xPR19GQVRBTCwgImxpYmMiLCAiVW5hYmxlIHRvIG9wZW4gY29ubmVjdGlvbiB0byBkZWJ1Z2dlcmQ6ICVzIiwKQEAgLTIzMSw3ICsyNDcsNyBAQAogICBtc2cudGlkID0gZ2V0dGlkKCk7CiAgIG1zZy5hYm9ydF9tc2dfYWRkcmVzcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihnX2Fib3J0X21lc3NhZ2UpOwogICBtc2cub3JpZ2luYWxfc2lfY29kZSA9IChpbmZvICE9IG51bGxwdHIpID8gaW5mby0+c2lfY29kZSA6IDA7Ci0gIGludCByZXQgPSBURU1QX0ZBSUxVUkVfUkVUUlkod3JpdGUocywgJm1zZywgc2l6ZW9mKG1zZykpKTsKKyAgcmV0ID0gVEVNUF9GQUlMVVJFX1JFVFJZKHdyaXRlKHMsICZtc2csIHNpemVvZihtc2cpKSk7CiAgIGlmIChyZXQgPT0gc2l6ZW9mKG1zZykpIHsKICAgICBjaGFyIGRlYnVnZ2VyZF9hY2s7CiAgICAgcmV0ID0gVEVNUF9GQUlMVVJFX1JFVFJZKHJlYWQocywgJmRlYnVnZ2VyZF9hY2ssIDEpKTsKZGlmZiAtLWdpdCBhL2xpbmtlci9kbGZjbi5jcHAgYi9saW5rZXIvZGxmY24uY3BwCmluZGV4IDNlYjViZWEuLjA1N2MyMTcgMTAwNjQ0Ci0tLSBhL2xpbmtlci9kbGZjbi5jcHAKKysrIGIvbGlua2VyL2RsZmNuLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPGFuZHJvaWQvZGxleHQuaD4KIAogI2luY2x1ZGUgPGJpb25pYy9wdGhyZWFkX2ludGVybmFsLmg+CkBAIC0yOSw3ICszMCw3IEBACiAKIC8qIFRoaXMgZmlsZSBoaWphY2tzIHRoZSBzeW1ib2xzIHN0dWJiZWQgb3V0IGluIGxpYmRsLnNvLiAqLwogCi1zdGF0aWMgcHRocmVhZF9tdXRleF90IGdfZGxfbXV0ZXggPSBQVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWF9JTklUSUFMSVpFUjsKK3N0YXRpYyBwdGhyZWFkX211dGV4X3QgZ19kbF9tdXRleCA9IFBUSFJFQURfUkVDVVJTSVZFX01VVEVYX0lOSVRJQUxJWkVSX05QOwogCiBzdGF0aWMgY29uc3QgY2hhciogX19iaW9uaWNfc2V0X2RsZXJyb3IoY2hhciogbmV3X3ZhbHVlKSB7CiAgIGNoYXIqKiBkbGVycm9yX3Nsb3QgPSAmcmVpbnRlcnByZXRfY2FzdDxjaGFyKio+KF9fZ2V0X3RscygpKVtUTFNfU0xPVF9ETEVSUk9SXTsKQEAgLTk5LDE3ICsxMDAsMTIgQEAKICAgfQogCiAgIHNvaW5mbyogZm91bmQgPSBudWxscHRyOwotICBFbGZXKFN5bSkqIHN5bSA9IG51bGxwdHI7Ci0gIGlmIChoYW5kbGUgPT0gUlRMRF9ERUZBVUxUKSB7Ci0gICAgc3ltID0gZGxzeW1fbGluZWFyX2xvb2t1cChzeW1ib2wsICZmb3VuZCwgbnVsbHB0cik7Ci0gIH0gZWxzZSBpZiAoaGFuZGxlID09IFJUTERfTkVYVCkgewotICAgIHZvaWQqIGNhbGxlcl9hZGRyID0gX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApOwotICAgIHNvaW5mbyogc2kgPSBmaW5kX2NvbnRhaW5pbmdfbGlicmFyeShjYWxsZXJfYWRkcik7CisgIGNvbnN0IEVsZlcoU3ltKSogc3ltID0gbnVsbHB0cjsKKyAgdm9pZCogY2FsbGVyX2FkZHIgPSBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CisgIHNvaW5mbyogY2FsbGVyID0gZmluZF9jb250YWluaW5nX2xpYnJhcnkoY2FsbGVyX2FkZHIpOwogCi0gICAgc3ltID0gbnVsbHB0cjsKLSAgICBpZiAoc2kgJiYgc2ktPm5leHQpIHsKLSAgICAgIHN5bSA9IGRsc3ltX2xpbmVhcl9sb29rdXAoc3ltYm9sLCAmZm91bmQsIHNpLT5uZXh0KTsKLSAgICB9CisgIGlmIChoYW5kbGUgPT0gUlRMRF9ERUZBVUxUIHx8IGhhbmRsZSA9PSBSVExEX05FWFQpIHsKKyAgICBzeW0gPSBkbHN5bV9saW5lYXJfbG9va3VwKHN5bWJvbCwgJmZvdW5kLCBjYWxsZXIsIGhhbmRsZSk7CiAgIH0gZWxzZSB7CiAgICAgc3ltID0gZGxzeW1faGFuZGxlX2xvb2t1cChyZWludGVycHJldF9jYXN0PHNvaW5mbyo+KGhhbmRsZSksICZmb3VuZCwgc3ltYm9sKTsKICAgfQpAQCAtMTQwLDEyICsxMzYsMTIgQEAKIAogICBtZW1zZXQoaW5mbywgMCwgc2l6ZW9mKERsX2luZm8pKTsKIAotICBpbmZvLT5kbGlfZm5hbWUgPSBzaS0+bmFtZTsKKyAgaW5mby0+ZGxpX2ZuYW1lID0gc2ktPmdldF9yZWFscGF0aCgpOwogICAvLyBBZGRyZXNzIGF0IHdoaWNoIHRoZSBzaGFyZWQgb2JqZWN0IGlzIGxvYWRlZC4KICAgaW5mby0+ZGxpX2ZiYXNlID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc2ktPmJhc2UpOwogCiAgIC8vIERldGVybWluZSBpZiBhbnkgc3ltYm9sIGluIHRoZSBsaWJyYXJ5IGNvbnRhaW5zIHRoZSBzcGVjaWZpZWQgYWRkcmVzcy4KLSAgRWxmVyhTeW0pKiBzeW0gPSBkbGFkZHJfZmluZF9zeW1ib2woc2ksIGFkZHIpOworICBFbGZXKFN5bSkqIHN5bSA9IHNpLT5maW5kX3N5bWJvbF9ieV9hZGRyZXNzKGFkZHIpOwogICBpZiAoc3ltICE9IG51bGxwdHIpIHsKICAgICBpbmZvLT5kbGlfc25hbWUgPSBzaS0+Z2V0X3N0cmluZyhzeW0tPnN0X25hbWUpOwogICAgIGluZm8tPmRsaV9zYWRkciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNpLT5yZXNvbHZlX3N5bWJvbF9hZGRyZXNzKHN5bSkpOwpAQCAtMjMyLDIxICsyMjgsMjggQEAKIHN0YXRpYyB1bnNpZ25lZCBnX2xpYmRsX2NoYWluc1tdID0geyAwLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAwIH07CiAjZW5kaWYKIAotc3RhdGljIHNvaW5mbyBfX2xpYmRsX2luZm8oImxpYmRsLnNvIiwgbnVsbHB0ciwgMCk7CitzdGF0aWMgdWludDhfdCBfX2xpYmRsX2luZm9fYnVmW3NpemVvZihzb2luZm8pXSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CitzdGF0aWMgc29pbmZvKiBfX2xpYmRsX2luZm8gPSBudWxscHRyOwogCiAvLyBUaGlzIGlzIHVzZWQgYnkgdGhlIGR5bmFtaWMgbGlua2VyLiBFdmVyeSBwcm9jZXNzIGdldHMgdGhlc2Ugc3ltYm9scyBmb3IgZnJlZS4KIHNvaW5mbyogZ2V0X2xpYmRsX2luZm8oKSB7Ci0gIGlmICgoX19saWJkbF9pbmZvLmZsYWdzICYgRkxBR19MSU5LRUQpID09IDApIHsKLSAgICBfX2xpYmRsX2luZm8uZmxhZ3MgfD0gRkxBR19MSU5LRUQ7Ci0gICAgX19saWJkbF9pbmZvLnN0cnRhYiA9IEFORFJPSURfTElCRExfU1RSVEFCOwotICAgIF9fbGliZGxfaW5mby5zeW10YWIgPSBnX2xpYmRsX3N5bXRhYjsKLSAgICBfX2xpYmRsX2luZm8ubmJ1Y2tldCA9IHNpemVvZihnX2xpYmRsX2J1Y2tldHMpL3NpemVvZih1bnNpZ25lZCk7Ci0gICAgX19saWJkbF9pbmZvLm5jaGFpbiA9IHNpemVvZihnX2xpYmRsX2NoYWlucykvc2l6ZW9mKHVuc2lnbmVkKTsKLSAgICBfX2xpYmRsX2luZm8uYnVja2V0ID0gZ19saWJkbF9idWNrZXRzOwotICAgIF9fbGliZGxfaW5mby5jaGFpbiA9IGdfbGliZGxfY2hhaW5zOwotICAgIF9fbGliZGxfaW5mby5yZWZfY291bnQgPSAxOwotICAgIF9fbGliZGxfaW5mby5zdHJ0YWJfc2l6ZSA9IHNpemVvZihBTkRST0lEX0xJQkRMX1NUUlRBQik7CisgIGlmIChfX2xpYmRsX2luZm8gPT0gbnVsbHB0cikgeworICAgIF9fbGliZGxfaW5mbyA9IG5ldyAoX19saWJkbF9pbmZvX2J1Zikgc29pbmZvKCJsaWJkbC5zbyIsIG51bGxwdHIsIDAsIFJUTERfR0xPQkFMKTsKKyAgICBfX2xpYmRsX2luZm8tPmZsYWdzXyB8PSBGTEFHX0xJTktFRDsKKyAgICBfX2xpYmRsX2luZm8tPnN0cnRhYl8gPSBBTkRST0lEX0xJQkRMX1NUUlRBQjsKKyAgICBfX2xpYmRsX2luZm8tPnN5bXRhYl8gPSBnX2xpYmRsX3N5bXRhYjsKKyAgICBfX2xpYmRsX2luZm8tPm5idWNrZXRfID0gc2l6ZW9mKGdfbGliZGxfYnVja2V0cykvc2l6ZW9mKHVuc2lnbmVkKTsKKyAgICBfX2xpYmRsX2luZm8tPm5jaGFpbl8gPSBzaXplb2YoZ19saWJkbF9jaGFpbnMpL3NpemVvZih1bnNpZ25lZCk7CisgICAgX19saWJkbF9pbmZvLT5idWNrZXRfID0gZ19saWJkbF9idWNrZXRzOworICAgIF9fbGliZGxfaW5mby0+Y2hhaW5fID0gZ19saWJkbF9jaGFpbnM7CisgICAgX19saWJkbF9pbmZvLT5yZWZfY291bnRfID0gMTsKKyAgICBfX2xpYmRsX2luZm8tPnN0cnRhYl9zaXplXyA9IHNpemVvZihBTkRST0lEX0xJQkRMX1NUUlRBQik7CisgICAgX19saWJkbF9pbmZvLT5sb2NhbF9ncm91cF9yb290XyA9IF9fbGliZGxfaW5mbzsKKyAgICBfX2xpYmRsX2luZm8tPnNvbmFtZV8gPSAibGliZGwuc28iOworI2lmIGRlZmluZWQoX19hcm1fXykKKyAgICBzdHJsY3B5KF9fbGliZGxfaW5mby0+b2xkX25hbWVfLCBfX2xpYmRsX2luZm8tPnNvbmFtZV8sIHNpemVvZihfX2xpYmRsX2luZm8tPm9sZF9uYW1lXykpOworI2VuZGlmCiAgIH0KIAotICByZXR1cm4gJl9fbGliZGxfaW5mbzsKKyAgcmV0dXJuIF9fbGliZGxfaW5mbzsKIH0KZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZWRfbGlzdC5oIGIvbGlua2VyL2xpbmtlZF9saXN0LmgKaW5kZXggNGU2MmUyMC4uODAwM2RiZiAxMDA2NDQKLS0tIGEvbGlua2VyL2xpbmtlZF9saXN0LmgKKysrIGIvbGlua2VyL2xpbmtlZF9saXN0LmgKQEAgLTM2LDYgKzM2LDEyIEBACiAgICAgY2xlYXIoKTsKICAgfQogCisgIExpbmtlZExpc3QoTGlua2VkTGlzdCYmIHRoYXQpIHsKKyAgICB0aGlzLT5oZWFkXyA9IHRoYXQuaGVhZF87CisgICAgdGhpcy0+dGFpbF8gPSB0aGF0LnRhaWxfOworICAgIHRoYXQuaGVhZF8gPSB0aGF0LnRhaWxfID0gbnVsbHB0cjsKKyAgfQorCiAgIHZvaWQgcHVzaF9mcm9udChUKiBjb25zdCBlbGVtZW50KSB7CiAgICAgTGlua2VkTGlzdEVudHJ5PFQ+KiBuZXdfZW50cnkgPSBBbGxvY2F0b3I6OmFsbG9jKCk7CiAgICAgbmV3X2VudHJ5LT5uZXh0ID0gaGVhZF87CkBAIC03NSw2ICs4MSwxNCBAQAogICAgIHJldHVybiBlbGVtZW50OwogICB9CiAKKyAgVCogZnJvbnQoKSBjb25zdCB7CisgICAgaWYgKGhlYWRfID09IG51bGxwdHIpIHsKKyAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIHJldHVybiBoZWFkXy0+ZWxlbWVudDsKKyAgfQorCiAgIHZvaWQgY2xlYXIoKSB7CiAgICAgd2hpbGUgKGhlYWRfICE9IG51bGxwdHIpIHsKICAgICAgIExpbmtlZExpc3RFbnRyeTxUPiogcCA9IGhlYWRfOwpAQCAtODYsNyArMTAwLDcgQEAKICAgfQogCiAgIHRlbXBsYXRlPHR5cGVuYW1lIEY+Ci0gIHZvaWQgZm9yX2VhY2goRiBhY3Rpb24pIHsKKyAgdm9pZCBmb3JfZWFjaChGIGFjdGlvbikgY29uc3QgewogICAgIHZpc2l0KFsmXSAoVCogc2kpIHsKICAgICAgIGFjdGlvbihzaSk7CiAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTk0LDcgKzEwOCw3IEBACiAgIH0KIAogICB0ZW1wbGF0ZTx0eXBlbmFtZSBGPgotICBib29sIHZpc2l0KEYgYWN0aW9uKSB7CisgIGJvb2wgdmlzaXQoRiBhY3Rpb24pIGNvbnN0IHsKICAgICBmb3IgKExpbmtlZExpc3RFbnRyeTxUPiogZSA9IGhlYWRfOyBlICE9IG51bGxwdHI7IGUgPSBlLT5uZXh0KSB7CiAgICAgICBpZiAoIWFjdGlvbihlLT5lbGVtZW50KSkgewogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMjIsNiArMTM2LDE3IEBACiAgICAgfQogICB9CiAKKyAgdGVtcGxhdGU8dHlwZW5hbWUgRj4KKyAgVCogZmluZF9pZihGIHByZWRpY2F0ZSkgY29uc3QgeworICAgIGZvciAoTGlua2VkTGlzdEVudHJ5PFQ+KiBlID0gaGVhZF87IGUgIT0gbnVsbHB0cjsgZSA9IGUtPm5leHQpIHsKKyAgICAgIGlmIChwcmVkaWNhdGUoZS0+ZWxlbWVudCkpIHsKKyAgICAgICAgcmV0dXJuIGUtPmVsZW1lbnQ7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIG51bGxwdHI7CisgIH0KKwogICBzaXplX3QgY29weV90b19hcnJheShUKiBhcnJheVtdLCBzaXplX3QgYXJyYXlfbGVuZ3RoKSBjb25zdCB7CiAgICAgc2l6ZV90IHN6ID0gMDsKICAgICBmb3IgKExpbmtlZExpc3RFbnRyeTxUPiogZSA9IGhlYWRfOyBzeiA8IGFycmF5X2xlbmd0aCAmJiBlICE9IG51bGxwdHI7IGUgPSBlLT5uZXh0KSB7CkBAIC0xNDAsNiArMTY1LDEyIEBACiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKKyAgc3RhdGljIExpbmtlZExpc3QgbWFrZV9saXN0KFQqIGNvbnN0IGVsZW1lbnQpIHsKKyAgICBMaW5rZWRMaXN0PFQsIEFsbG9jYXRvcj4gb25lX2VsZW1lbnRfbGlzdDsKKyAgICBvbmVfZWxlbWVudF9saXN0LnB1c2hfYmFjayhlbGVtZW50KTsKKyAgICByZXR1cm4gb25lX2VsZW1lbnRfbGlzdDsKKyAgfQorCiAgcHJpdmF0ZToKICAgTGlua2VkTGlzdEVudHJ5PFQ+KiBoZWFkXzsKICAgTGlua2VkTGlzdEVudHJ5PFQ+KiB0YWlsXzsKZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXIuY3BwIGIvbGlua2VyL2xpbmtlci5jcHAKaW5kZXggNTQ4NjdkYy4uYmU3YjEwYyAxMDA2NDQKLS0tIGEvbGlua2VyL2xpbmtlci5jcHAKKysrIGIvbGlua2VyL2xpbmtlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzUsOSArMzUsMTMgQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9wZXJzb25hbGl0eS5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAjaW5jbHVkZSA8bmV3PgorI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDx2ZWN0b3I+CiAKIC8vIFByaXZhdGUgQyBsaWJyYXJ5IGhlYWRlcnMuCiAjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfdGxzLmgiCkBAIC00OCwxMCArNTIsMTQgQEAKICNpbmNsdWRlICJwcml2YXRlL1VuaXF1ZVB0ci5oIgogCiAjaW5jbHVkZSAibGlua2VyLmgiCisjaW5jbHVkZSAibGlua2VyX2Jsb2NrX2FsbG9jYXRvci5oIgogI2luY2x1ZGUgImxpbmtlcl9kZWJ1Zy5oIgogI2luY2x1ZGUgImxpbmtlcl9lbnZpcm9uLmgiCisjaW5jbHVkZSAibGlua2VyX3NsZWIxMjguaCIKICNpbmNsdWRlICJsaW5rZXJfcGhkci5oIgotI2luY2x1ZGUgImxpbmtlcl9hbGxvY2F0b3IuaCIKKyNpbmNsdWRlICJsaW5rZXJfcmVsb2NzLmgiCisjaW5jbHVkZSAibGlua2VyX3JlbG9jX2l0ZXJhdG9ycy5oIgorI2luY2x1ZGUgInppcGFyY2hpdmUvemlwX2FyY2hpdmUuaCIKIAogLyogPj4+IElNUE9SVEFOVCBOT1RFIC0gUkVBRCBNRSBCRUZPUkUgTU9ESUZZSU5HIDw8PAogICoKQEAgLTY4LDIzICs3NiwxNCBAQAogICogICBhbmQgTk9FWEVDCiAgKi8KIAotI2lmIGRlZmluZWQoX19MUDY0X18pCi0jZGVmaW5lIFNFQVJDSF9OQU1FKHgpIHgKLSNlbHNlCi0vLyBOdmlkaWEgZHJpdmVycyBhcmUgcmVseWluZyBvbiB0aGUgYnVnOgotLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2FuZHJvaWQvaXNzdWVzL2RldGFpbD9pZD02NjcwCi0vLyBzbyB3ZSBjb250aW51ZSB0byB1c2UgYmFzZS1uYW1lIGxvb2t1cCBmb3IgbHAzMgotc3RhdGljIGNvbnN0IGNoYXIqIGdldF9iYXNlX25hbWUoY29uc3QgY2hhciogbmFtZSkgewotICBjb25zdCBjaGFyKiBibmFtZSA9IHN0cnJjaHIobmFtZSwgJy8nKTsKLSAgcmV0dXJuIGJuYW1lID8gYm5hbWUgKyAxIDogbmFtZTsKLX0KLSNkZWZpbmUgU0VBUkNIX05BTUUoeCkgZ2V0X2Jhc2VfbmFtZSh4KQotI2VuZGlmCisvLyBPdmVycmlkZSBtYWNyb3MgdG8gdXNlIEMrKyBzdHlsZSBjYXN0cworI3VuZGVmIEVMRl9TVF9UWVBFCisjZGVmaW5lIEVMRl9TVF9UWVBFKHgpIChzdGF0aWNfY2FzdDx1aW50MzJfdD4oeCkgJiAweGYpCiAKIHN0YXRpYyBFbGZXKEFkZHIpIGdldF9lbGZfZXhlY19sb2FkX2JpYXMoY29uc3QgRWxmVyhFaGRyKSogZWxmKTsKIAotc3RhdGljIExpbmtlckFsbG9jYXRvcjxzb2luZm8+IGdfc29pbmZvX2FsbG9jYXRvcjsKLXN0YXRpYyBMaW5rZXJBbGxvY2F0b3I8TGlua2VkTGlzdEVudHJ5PHNvaW5mbz4+IGdfc29pbmZvX2xpbmtzX2FsbG9jYXRvcjsKK3N0YXRpYyBMaW5rZXJUeXBlQWxsb2NhdG9yPHNvaW5mbz4gZ19zb2luZm9fYWxsb2NhdG9yOworc3RhdGljIExpbmtlclR5cGVBbGxvY2F0b3I8TGlua2VkTGlzdEVudHJ5PHNvaW5mbz4+IGdfc29pbmZvX2xpbmtzX2FsbG9jYXRvcjsKIAogc3RhdGljIHNvaW5mbyogc29saXN0Owogc3RhdGljIHNvaW5mbyogc29uZXh0OwpAQCAtMTAxLDMyICsxMDAsMTggQEAKICAgbnVsbHB0cgogfTsKIAotI2RlZmluZSBMRFBBVEhfQlVGU0laRSAoTERQQVRIX01BWCo2NCkKLSNkZWZpbmUgTERQQVRIX01BWCA4CitzdGF0aWMgY29uc3QgRWxmVyhWZXJzeW0pIGtWZXJzeW1Ob3ROZWVkZWQgPSAwOworc3RhdGljIGNvbnN0IEVsZlcoVmVyc3ltKSBrVmVyc3ltR2xvYmFsID0gMTsKIAotI2RlZmluZSBMRFBSRUxPQURfQlVGU0laRSAoTERQUkVMT0FEX01BWCo2NCkKLSNkZWZpbmUgTERQUkVMT0FEX01BWCA4CitzdGF0aWMgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGdfbGRfbGlicmFyeV9wYXRoczsKK3N0YXRpYyBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gZ19sZF9wcmVsb2FkX25hbWVzOwogCi1zdGF0aWMgY2hhciBnX2xkX2xpYnJhcnlfcGF0aHNfYnVmZmVyW0xEUEFUSF9CVUZTSVpFXTsKLXN0YXRpYyBjb25zdCBjaGFyKiBnX2xkX2xpYnJhcnlfcGF0aHNbTERQQVRIX01BWCArIDFdOwotCi1zdGF0aWMgY2hhciBnX2xkX3ByZWxvYWRzX2J1ZmZlcltMRFBSRUxPQURfQlVGU0laRV07Ci1zdGF0aWMgY29uc3QgY2hhciogZ19sZF9wcmVsb2FkX25hbWVzW0xEUFJFTE9BRF9NQVggKyAxXTsKLQotc3RhdGljIHNvaW5mbyogZ19sZF9wcmVsb2Fkc1tMRFBSRUxPQURfTUFYICsgMV07CitzdGF0aWMgc3RkOjp2ZWN0b3I8c29pbmZvKj4gZ19sZF9wcmVsb2FkczsKIAogX19MSUJDX0hJRERFTl9fIGludCBnX2xkX2RlYnVnX3ZlcmJvc2l0eTsKIAogX19MSUJDX0hJRERFTl9fIGFib3J0X21zZ190KiBnX2Fib3J0X21lc3NhZ2UgPSBudWxscHRyOyAvLyBGb3IgZGVidWdnZXJkLgogCi1lbnVtIFJlbG9jYXRpb25LaW5kIHsKLSAga1JlbG9jQWJzb2x1dGUgPSAwLAotICBrUmVsb2NSZWxhdGl2ZSwKLSAga1JlbG9jQ29weSwKLSAga1JlbG9jU3ltYm9sLAotICBrUmVsb2NNYXgKLX07Ci0KICNpZiBTVEFUUwogc3RydWN0IGxpbmtlcl9zdGF0c190IHsKICAgaW50IGNvdW50W2tSZWxvY01heF07CkBAIC0xMzQsNDMgKzExOSwxNyBAQAogCiBzdGF0aWMgbGlua2VyX3N0YXRzX3QgbGlua2VyX3N0YXRzOwogCi1zdGF0aWMgdm9pZCBjb3VudF9yZWxvY2F0aW9uKFJlbG9jYXRpb25LaW5kIGtpbmQpIHsKK3ZvaWQgY291bnRfcmVsb2NhdGlvbihSZWxvY2F0aW9uS2luZCBraW5kKSB7CiAgICsrbGlua2VyX3N0YXRzLmNvdW50W2tpbmRdOwogfQogI2Vsc2UKLXN0YXRpYyB2b2lkIGNvdW50X3JlbG9jYXRpb24oUmVsb2NhdGlvbktpbmQpIHsKK3ZvaWQgY291bnRfcmVsb2NhdGlvbihSZWxvY2F0aW9uS2luZCkgewogfQogI2VuZGlmCiAKICNpZiBDT1VOVF9QQUdFUwotc3RhdGljIHVuc2lnbmVkIGJpdG1hc2tbNDA5Nl07Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykKLSNkZWZpbmUgTUFSSyhvZmZzZXQpIFwKLSAgICBkbyB7IFwKLSAgICAgIGlmICgoKChvZmZzZXQpID4+IDEyKSA+PiA1KSA8IDQwOTYpIFwKLSAgICAgICAgICBiaXRtYXNrWygob2Zmc2V0KSA+PiAxMikgPj4gNV0gfD0gKDEgPDwgKCgob2Zmc2V0KSA+PiAxMikgJiAzMSkpOyBcCi0gICAgfSB3aGlsZSAoMCkKLSNlbHNlCi0jZGVmaW5lIE1BUksob2Zmc2V0KSBcCi0gICAgZG8geyBcCi0gICAgICBiaXRtYXNrWygob2Zmc2V0KSA+PiAxMikgPj4gM10gfD0gKDEgPDwgKCgob2Zmc2V0KSA+PiAxMikgJiA3KSk7IFwKLSAgICB9IHdoaWxlICgwKQordWludDMyX3QgYml0bWFza1s0MDk2XTsKICNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgTUFSSyh4KSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotCi0vLyBZb3Ugc2hvdWxkbid0IHRyeSB0byBjYWxsIG1lbW9yeS1hbGxvY2F0aW5nIGZ1bmN0aW9ucyBpbiB0aGUgZHluYW1pYyBsaW5rZXIuCi0vLyBHdWFyZCBhZ2FpbnN0IHRoZSBtb3N0IG9idmlvdXMgb25lcy4KLSNkZWZpbmUgRElTQUxMT1dfQUxMT0NBVElPTihyZXR1cm5fdHlwZSwgbmFtZSwgLi4uKSBcCi0gICAgcmV0dXJuX3R5cGUgbmFtZSBfX1ZBX0FSR1NfXyBcCi0gICAgeyBcCi0gICAgICBfX2xpYmNfZmF0YWwoIkVSUk9SOiAiICNuYW1lICIgY2FsbGVkIGZyb20gdGhlIGR5bmFtaWMgbGlua2VyIVxuIik7IFwKLSAgICB9Ci1ESVNBTExPV19BTExPQ0FUSU9OKHZvaWQqLCBtYWxsb2MsIChzaXplX3QgdSBfX3VudXNlZCkpOwotRElTQUxMT1dfQUxMT0NBVElPTih2b2lkLCBmcmVlLCAodm9pZCogdSBfX3VudXNlZCkpOwotRElTQUxMT1dfQUxMT0NBVElPTih2b2lkKiwgcmVhbGxvYywgKHZvaWQqIHUxIF9fdW51c2VkLCBzaXplX3QgdTIgX191bnVzZWQpKTsKLURJU0FMTE9XX0FMTE9DQVRJT04odm9pZCosIGNhbGxvYywgKHNpemVfdCB1MSBfX3VudXNlZCwgc2l6ZV90IHUyIF9fdW51c2VkKSk7CiAKIHN0YXRpYyBjaGFyIF9fbGlua2VyX2RsX2Vycl9idWZbNzY4XTsKIApAQCAtMTg0LDE3ICsxNDMsMjEgQEAKIAogLy8gVGhpcyBmdW5jdGlvbiBpcyBhbiBlbXB0eSBzdHViIHdoZXJlIEdEQiBsb2NhdGVzIGEgYnJlYWtwb2ludCB0byBnZXQgbm90aWZpZWQKIC8vIGFib3V0IGxpbmtlciBhY3Rpdml0eS4KLWV4dGVybiAiQyIgdm9pZCBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpIHJ0bGRfZGJfZGxhY3Rpdml0eSgpOworZXh0ZXJuICJDIgordm9pZCBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpIHJ0bGRfZGJfZGxhY3Rpdml0eSgpOwogCiBzdGF0aWMgcHRocmVhZF9tdXRleF90IGdfX3JfZGVidWdfbXV0ZXggPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOwotc3RhdGljIHJfZGVidWcgX3JfZGVidWcgPSB7MSwgbnVsbHB0ciwgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KCZydGxkX2RiX2RsYWN0aXZpdHkpLCByX2RlYnVnOjpSVF9DT05TSVNURU5ULCAwfTsKK3N0YXRpYyByX2RlYnVnIF9yX2RlYnVnID0KKyAgICB7MSwgbnVsbHB0ciwgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KCZydGxkX2RiX2RsYWN0aXZpdHkpLCByX2RlYnVnOjpSVF9DT05TSVNURU5ULCAwfTsKKwogc3RhdGljIGxpbmtfbWFwKiByX2RlYnVnX3RhaWwgPSAwOwogCiBzdGF0aWMgdm9pZCBpbnNlcnRfc29pbmZvX2ludG9fZGVidWdfbWFwKHNvaW5mbyogaW5mbykgewogICAvLyBDb3B5IHRoZSBuZWNlc3NhcnkgZmllbGRzIGludG8gdGhlIGRlYnVnIHN0cnVjdHVyZS4KICAgbGlua19tYXAqIG1hcCA9ICYoaW5mby0+bGlua19tYXBfaGVhZCk7CiAgIG1hcC0+bF9hZGRyID0gaW5mby0+bG9hZF9iaWFzOwotICBtYXAtPmxfbmFtZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGluZm8tPm5hbWUpOworICAvLyBsaW5rX21hcCBsX25hbWUgZmllbGQgaXMgbm90IGNvbnN0LgorICBtYXAtPmxfbmFtZSA9IGNvbnN0X2Nhc3Q8Y2hhcio+KGluZm8tPmdldF9yZWFscGF0aCgpKTsKICAgbWFwLT5sX2xkID0gaW5mby0+ZHluYW1pYzsKIAogICAvLyBTdGljayB0aGUgbmV3IGxpYnJhcnkgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC4KQEAgLTIyOSw3ICsxOTIsNyBAQAogfQogCiBzdGF0aWMgdm9pZCBub3RpZnlfZ2RiX29mX2xvYWQoc29pbmZvKiBpbmZvKSB7Ci0gIGlmIChpbmZvLT5mbGFncyAmIEZMQUdfRVhFKSB7CisgIGlmIChpbmZvLT5pc19tYWluX2V4ZWN1dGFibGUoKSkgewogICAgIC8vIEdEQiBhbHJlYWR5IGtub3dzIGFib3V0IHRoZSBtYWluIGV4ZWN1dGFibGUKICAgICByZXR1cm47CiAgIH0KQEAgLTI0Niw3ICsyMDksNyBAQAogfQogCiBzdGF0aWMgdm9pZCBub3RpZnlfZ2RiX29mX3VubG9hZChzb2luZm8qIGluZm8pIHsKLSAgaWYgKGluZm8tPmZsYWdzICYgRkxBR19FWEUpIHsKKyAgaWYgKGluZm8tPmlzX21haW5fZXhlY3V0YWJsZSgpKSB7CiAgICAgLy8gR0RCIGFscmVhZHkga25vd3MgYWJvdXQgdGhlIG1haW4gZXhlY3V0YWJsZQogICAgIHJldHVybjsKICAgfQpAQCAtMjc3LDE4ICsyNDAsMTQgQEAKICAgZ19zb2luZm9fbGlua3NfYWxsb2NhdG9yLmZyZWUoZW50cnkpOwogfQogCi1zdGF0aWMgdm9pZCBwcm90ZWN0X2RhdGEoaW50IHByb3RlY3Rpb24pIHsKLSAgZ19zb2luZm9fYWxsb2NhdG9yLnByb3RlY3RfYWxsKHByb3RlY3Rpb24pOwotICBnX3NvaW5mb19saW5rc19hbGxvY2F0b3IucHJvdGVjdF9hbGwocHJvdGVjdGlvbik7Ci19Ci0KLXN0YXRpYyBzb2luZm8qIHNvaW5mb19hbGxvYyhjb25zdCBjaGFyKiBuYW1lLCBzdHJ1Y3Qgc3RhdCogZmlsZV9zdGF0LCBvZmY2NF90IGZpbGVfb2Zmc2V0KSB7Ci0gIGlmIChzdHJsZW4obmFtZSkgPj0gU09JTkZPX05BTUVfTEVOKSB7CitzdGF0aWMgc29pbmZvKiBzb2luZm9fYWxsb2MoY29uc3QgY2hhciogbmFtZSwgc3RydWN0IHN0YXQqIGZpbGVfc3RhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmY2NF90IGZpbGVfb2Zmc2V0LCB1aW50MzJfdCBydGxkX2ZsYWdzKSB7CisgIGlmIChzdHJsZW4obmFtZSkgPj0gUEFUSF9NQVgpIHsKICAgICBETF9FUlIoImxpYnJhcnkgbmFtZSBcIiVzXCIgdG9vIGxvbmciLCBuYW1lKTsKICAgICByZXR1cm4gbnVsbHB0cjsKICAgfQogCi0gIHNvaW5mbyogc2kgPSBuZXcgKGdfc29pbmZvX2FsbG9jYXRvci5hbGxvYygpKSBzb2luZm8obmFtZSwgZmlsZV9zdGF0LCBmaWxlX29mZnNldCk7CisgIHNvaW5mbyogc2kgPSBuZXcgKGdfc29pbmZvX2FsbG9jYXRvci5hbGxvYygpKSBzb2luZm8obmFtZSwgZmlsZV9zdGF0LCBmaWxlX29mZnNldCwgcnRsZF9mbGFncyk7CiAKICAgc29uZXh0LT5uZXh0ID0gc2k7CiAgIHNvbmV4dCA9IHNpOwpAQCAtMzA4LDcgKzI2Nyw3IEBACiAKICAgc29pbmZvICpwcmV2ID0gbnVsbHB0ciwgKnRyYXY7CiAKLSAgVFJBQ0UoIm5hbWUgJXM6IGZyZWVpbmcgc29pbmZvIEAgJXAiLCBzaS0+bmFtZSwgc2kpOworICBUUkFDRSgibmFtZSAlczogZnJlZWluZyBzb2luZm8gQCAlcCIsIHNpLT5nZXRfc29uYW1lKCksIHNpKTsKIAogICBmb3IgKHRyYXYgPSBzb2xpc3Q7IHRyYXYgIT0gbnVsbHB0cjsgdHJhdiA9IHRyYXYtPm5leHQpIHsKICAgICBpZiAodHJhdiA9PSBzaSkgewpAQCAtMzE2LDkgKzI3NSwxMCBAQAogICAgIH0KICAgICBwcmV2ID0gdHJhdjsKICAgfQorCiAgIGlmICh0cmF2ID09IG51bGxwdHIpIHsKICAgICAvLyBzaSB3YXMgbm90IGluIHNvbGlzdAotICAgIERMX0VSUigibmFtZSBcIiVzXCIgaXMgbm90IGluIHNvbGlzdCEiLCBzaS0+bmFtZSk7CisgICAgRExfRVJSKCJuYW1lIFwiJXNcIkAlcCBpcyBub3QgaW4gc29saXN0ISIsIHNpLT5nZXRfc29uYW1lKCksIHNpKTsKICAgICByZXR1cm47CiAgIH0KIApAQCAtMzM1LDQxICsyOTUsNDggQEAKICAgZ19zb2luZm9fYWxsb2NhdG9yLmZyZWUoc2kpOwogfQogCi0KIHN0YXRpYyB2b2lkIHBhcnNlX3BhdGgoY29uc3QgY2hhciogcGF0aCwgY29uc3QgY2hhciogZGVsaW1pdGVycywKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhcioqIGFycmF5LCBjaGFyKiBidWYsIHNpemVfdCBidWZfc2l6ZSwgc2l6ZV90IG1heF9jb3VudCkgeworICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4qIHBhdGhzKSB7CiAgIGlmIChwYXRoID09IG51bGxwdHIpIHsKICAgICByZXR1cm47CiAgIH0KIAotICBzaXplX3QgbGVuID0gc3RybGNweShidWYsIHBhdGgsIGJ1Zl9zaXplKTsKKyAgcGF0aHMtPmNsZWFyKCk7CiAKLSAgc2l6ZV90IGkgPSAwOwotICBjaGFyKiBidWZfcCA9IGJ1ZjsKLSAgd2hpbGUgKGkgPCBtYXhfY291bnQgJiYgKGFycmF5W2ldID0gc3Ryc2VwKCZidWZfcCwgZGVsaW1pdGVycykpKSB7Ci0gICAgaWYgKCphcnJheVtpXSAhPSAnXDAnKSB7Ci0gICAgICArK2k7CisgIGZvciAoY29uc3QgY2hhciAqcCA9IHBhdGg7IDsgKytwKSB7CisgICAgc2l6ZV90IGxlbiA9IHN0cmNzcG4ocCwgZGVsaW1pdGVycyk7CisgICAgLy8gc2tpcCBlbXB0eSB0b2tlbnMKKyAgICBpZiAobGVuID09IDApIHsKKyAgICAgIGNvbnRpbnVlOwogICAgIH0KLSAgfQogCi0gIC8vIEZvcmdldCB0aGUgbGFzdCBwYXRoIGlmIHdlIGhhZCB0byB0cnVuY2F0ZTsgdGhpcyBvY2N1cnMgaWYgdGhlIDJuZCB0bwotICAvLyBsYXN0IGNoYXIgaXNuJ3QgJ1wwJyAoaS5lLiB3YXNuJ3Qgb3JpZ2luYWxseSBhIGRlbGltaXRlcikuCi0gIGlmIChpID4gMCAmJiBsZW4gPj0gYnVmX3NpemUgJiYgYnVmW2J1Zl9zaXplIC0gMl0gIT0gJ1wwJykgewotICAgIGFycmF5W2kgLSAxXSA9IG51bGxwdHI7Ci0gIH0gZWxzZSB7Ci0gICAgYXJyYXlbaV0gPSBudWxscHRyOworICAgIHBhdGhzLT5wdXNoX2JhY2soc3RkOjpzdHJpbmcocCwgbGVuKSk7CisgICAgcCArPSBsZW47CisKKyAgICBpZiAoKnAgPT0gJ1wwJykgeworICAgICAgYnJlYWs7CisgICAgfQogICB9CiB9CiAKIHN0YXRpYyB2b2lkIHBhcnNlX0xEX0xJQlJBUllfUEFUSChjb25zdCBjaGFyKiBwYXRoKSB7Ci0gIHBhcnNlX3BhdGgocGF0aCwgIjoiLCBnX2xkX2xpYnJhcnlfcGF0aHMsCi0gICAgICAgICAgICAgZ19sZF9saWJyYXJ5X3BhdGhzX2J1ZmZlciwgc2l6ZW9mKGdfbGRfbGlicmFyeV9wYXRoc19idWZmZXIpLCBMRFBBVEhfTUFYKTsKKyAgcGFyc2VfcGF0aChwYXRoLCAiOiIsICZnX2xkX2xpYnJhcnlfcGF0aHMpOwogfQogCiBzdGF0aWMgdm9pZCBwYXJzZV9MRF9QUkVMT0FEKGNvbnN0IGNoYXIqIHBhdGgpIHsKICAgLy8gV2UgaGF2ZSBoaXN0b3JpY2FsbHkgc3VwcG9ydGVkICc6JyBhcyB3ZWxsIGFzICcgJyBpbiBMRF9QUkVMT0FELgotICBwYXJzZV9wYXRoKHBhdGgsICIgOiIsIGdfbGRfcHJlbG9hZF9uYW1lcywKLSAgICAgICAgICAgICBnX2xkX3ByZWxvYWRzX2J1ZmZlciwgc2l6ZW9mKGdfbGRfcHJlbG9hZHNfYnVmZmVyKSwgTERQUkVMT0FEX01BWCk7CisgIHBhcnNlX3BhdGgocGF0aCwgIiA6IiwgJmdfbGRfcHJlbG9hZF9uYW1lcyk7Cit9CisKK3N0YXRpYyBib29sIHJlYWxwYXRoX2ZkKGludCBmZCwgc3RkOjpzdHJpbmcqIHJlYWxwYXRoKSB7CisgIHN0ZDo6dmVjdG9yPGNoYXI+IGJ1ZihQQVRIX01BWCksIHByb2Nfc2VsZl9mZChQQVRIX01BWCk7CisgIHNucHJpbnRmKCZwcm9jX3NlbGZfZmRbMF0sIHByb2Nfc2VsZl9mZC5zaXplKCksICIvcHJvYy9zZWxmL2ZkLyVkIiwgZmQpOworICBpZiAocmVhZGxpbmsoJnByb2Nfc2VsZl9mZFswXSwgJmJ1ZlswXSwgYnVmLnNpemUoKSkgPT0gLTEpIHsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICAqcmVhbHBhdGggPSBzdGQ6OnN0cmluZygmYnVmWzBdKTsKKyAgcmV0dXJuIHRydWU7CiB9CiAKICNpZiBkZWZpbmVkKF9fYXJtX18pCkBAIC0zODMsMTIgKzM1MCwxMiBAQAogLy8KIC8vIFRoaXMgZnVuY3Rpb24gaXMgZXhwb3NlZCB2aWEgZGxmY24uY3BwIGFuZCBsaWJkbC5zby4KIF9VbndpbmRfUHRyIGRsX3Vud2luZF9maW5kX2V4aWR4KF9VbndpbmRfUHRyIHBjLCBpbnQqIHBjb3VudCkgewotICB1bnNpZ25lZCBhZGRyID0gKHVuc2lnbmVkKXBjOworICB1aW50cHRyX3QgYWRkciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwYyk7CiAKICAgZm9yIChzb2luZm8qIHNpID0gc29saXN0OyBzaSAhPSAwOyBzaSA9IHNpLT5uZXh0KSB7CiAgICAgaWYgKChhZGRyID49IHNpLT5iYXNlKSAmJiAoYWRkciA8IChzaS0+YmFzZSArIHNpLT5zaXplKSkpIHsKICAgICAgICAgKnBjb3VudCA9IHNpLT5BUk1fZXhpZHhfY291bnQ7Ci0gICAgICAgIHJldHVybiAoX1Vud2luZF9QdHIpc2ktPkFSTV9leGlkeDsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8X1Vud2luZF9QdHI+KHNpLT5BUk1fZXhpZHgpOwogICAgIH0KICAgfQogICAqcGNvdW50ID0gMDsKQEAgLTQxNSw3MyArMzgyLDMyOSBAQAogICByZXR1cm4gcnY7CiB9CiAKLXN0YXRpYyBFbGZXKFN5bSkqIHNvaW5mb19lbGZfbG9va3VwKHNvaW5mbyogc2ksIHVuc2lnbmVkIGhhc2gsIGNvbnN0IGNoYXIqIG5hbWUpIHsKLSAgRWxmVyhTeW0pKiBzeW10YWIgPSBzaS0+c3ltdGFiOwotCi0gIFRSQUNFX1RZUEUoTE9PS1VQLCAiU0VBUkNIICVzIGluICVzQCVwICV4ICV6ZCIsCi0gICAgICAgICAgICAgbmFtZSwgc2ktPm5hbWUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNpLT5iYXNlKSwgaGFzaCwgaGFzaCAlIHNpLT5uYnVja2V0KTsKLQotICBmb3IgKHVuc2lnbmVkIG4gPSBzaS0+YnVja2V0W2hhc2ggJSBzaS0+bmJ1Y2tldF07IG4gIT0gMDsgbiA9IHNpLT5jaGFpbltuXSkgewotICAgIEVsZlcoU3ltKSogcyA9IHN5bXRhYiArIG47Ci0gICAgaWYgKHN0cmNtcChzaS0+Z2V0X3N0cmluZyhzLT5zdF9uYW1lKSwgbmFtZSkpIGNvbnRpbnVlOwotCi0gICAgLy8gb25seSBjb25jZXJuIG91cnNlbHZlcyB3aXRoIGdsb2JhbCBhbmQgd2VhayBzeW1ib2wgZGVmaW5pdGlvbnMKLSAgICBzd2l0Y2ggKEVMRl9TVF9CSU5EKHMtPnN0X2luZm8pKSB7Ci0gICAgICBjYXNlIFNUQl9HTE9CQUw6Ci0gICAgICBjYXNlIFNUQl9XRUFLOgotICAgICAgICBpZiAocy0+c3Rfc2huZHggPT0gU0hOX1VOREVGKSB7Ci0gICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBUUkFDRV9UWVBFKExPT0tVUCwgIkZPVU5EICVzIGluICVzICglcCkgJXpkIiwKLSAgICAgICAgICAgICAgICAgbmFtZSwgc2ktPm5hbWUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHMtPnN0X3ZhbHVlKSwKLSAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihzLT5zdF9zaXplKSk7Ci0gICAgICAgIHJldHVybiBzOwotICAgICAgY2FzZSBTVEJfTE9DQUw6Ci0gICAgICAgIGNvbnRpbnVlOwotICAgICAgZGVmYXVsdDoKLSAgICAgICAgX19saWJjX2ZhdGFsKCJFUlJPUjogVW5leHBlY3RlZCBTVF9CSU5EIHZhbHVlOiAlZCBmb3IgJyVzJyBpbiAnJXMnIiwKLSAgICAgICAgICAgIEVMRl9TVF9CSU5EKHMtPnN0X2luZm8pLCBuYW1lLCBzaS0+bmFtZSk7Ci0gICAgfQorY29uc3QgRWxmVyhWZXJzeW0pKiBzb2luZm86OmdldF92ZXJzeW0oc2l6ZV90IG4pIGNvbnN0IHsKKyAgaWYgKGhhc19taW5fdmVyc2lvbigyKSAmJiB2ZXJzeW1fICE9IG51bGxwdHIpIHsKKyAgICByZXR1cm4gdmVyc3ltXyArIG47CiAgIH0KIAotICBUUkFDRV9UWVBFKExPT0tVUCwgIk5PVCBGT1VORCAlcyBpbiAlc0AlcCAleCAlemQiLAotICAgICAgICAgICAgIG5hbWUsIHNpLT5uYW1lLCByZWludGVycHJldF9jYXN0PHZvaWQqPihzaS0+YmFzZSksIGhhc2gsIGhhc2ggJSBzaS0+bmJ1Y2tldCk7Ci0KLQogICByZXR1cm4gbnVsbHB0cjsKIH0KIAotc29pbmZvOjpzb2luZm8oY29uc3QgY2hhciogbmFtZSwgY29uc3Qgc3RydWN0IHN0YXQqIGZpbGVfc3RhdCwgb2ZmNjRfdCBmaWxlX29mZnNldCkgeworRWxmVyhBZGRyKSBzb2luZm86OmdldF92ZXJuZWVkX3B0cigpIGNvbnN0IHsKKyAgaWYgKGhhc19taW5fdmVyc2lvbigyKSkgeworICAgIHJldHVybiB2ZXJuZWVkX3B0cl87CisgIH0KKworICByZXR1cm4gMDsKK30KKworc2l6ZV90IHNvaW5mbzo6Z2V0X3Zlcm5lZWRfY250KCkgY29uc3QgeworICBpZiAoaGFzX21pbl92ZXJzaW9uKDIpKSB7CisgICAgcmV0dXJuIHZlcm5lZWRfY250XzsKKyAgfQorCisgIHJldHVybiAwOworfQorCitFbGZXKEFkZHIpIHNvaW5mbzo6Z2V0X3ZlcmRlZl9wdHIoKSBjb25zdCB7CisgIGlmIChoYXNfbWluX3ZlcnNpb24oMikpIHsKKyAgICByZXR1cm4gdmVyZGVmX3B0cl87CisgIH0KKworICByZXR1cm4gMDsKK30KKworc2l6ZV90IHNvaW5mbzo6Z2V0X3ZlcmRlZl9jbnQoKSBjb25zdCB7CisgIGlmIChoYXNfbWluX3ZlcnNpb24oMikpIHsKKyAgICByZXR1cm4gdmVyZGVmX2NudF87CisgIH0KKworICByZXR1cm4gMDsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0YXRpYyBib29sIGZvcl9lYWNoX3ZlcmRlZihjb25zdCBzb2luZm8qIHNpLCBGIGZ1bmN0b3IpIHsKKyAgaWYgKCFzaS0+aGFzX21pbl92ZXJzaW9uKDIpKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICB1aW50cHRyX3QgdmVyZGVmX3B0ciA9IHNpLT5nZXRfdmVyZGVmX3B0cigpOworICBpZiAodmVyZGVmX3B0ciA9PSAwKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBzaXplX3Qgb2Zmc2V0ID0gMDsKKworICBzaXplX3QgdmVyZGVmX2NudCA9IHNpLT5nZXRfdmVyZGVmX2NudCgpOworICBmb3IgKHNpemVfdCBpID0gMDsgaTx2ZXJkZWZfY250OyArK2kpIHsKKyAgICBjb25zdCBFbGZXKFZlcmRlZikqIHZlcmRlZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhWZXJkZWYpKj4odmVyZGVmX3B0ciArIG9mZnNldCk7CisgICAgc2l6ZV90IHZlcmRhdXhfb2Zmc2V0ID0gb2Zmc2V0ICsgdmVyZGVmLT52ZF9hdXg7CisgICAgb2Zmc2V0ICs9IHZlcmRlZi0+dmRfbmV4dDsKKworICAgIGlmICh2ZXJkZWYtPnZkX3ZlcnNpb24gIT0gMSkgeworICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCB2ZXJkZWZbJXpkXSB2ZF92ZXJzaW9uOiAlZCAoZXhwZWN0ZWQgMSkgbGlicmFyeTogJXMiLAorICAgICAgICAgIGksIHZlcmRlZi0+dmRfdmVyc2lvbiwgc2ktPmdldF9zb25hbWUoKSk7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKCh2ZXJkZWYtPnZkX2ZsYWdzICYgVkVSX0ZMR19CQVNFKSAhPSAwKSB7CisgICAgICAvLyAidGhpcyBpcyB0aGUgdmVyc2lvbiBvZiB0aGUgZmlsZSBpdHNlbGYuICBJdCBtdXN0IG5vdCBiZSB1c2VkIGZvcgorICAgICAgLy8gIG1hdGNoaW5nIGEgc3ltYm9sLiBJdCBjYW4gYmUgdXNlZCB0byBtYXRjaCByZWZlcmVuY2VzLiIKKyAgICAgIC8vCisgICAgICAvLyBodHRwOi8vd3d3LmFra2FkaWEub3JnL2RyZXBwZXIvc3ltYm9sLXZlcnNpb25pbmcKKyAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIGlmICh2ZXJkZWYtPnZkX2NudCA9PSAwKSB7CisgICAgICBETF9FUlIoImludmFsaWQgdmVyZGVmWyV6ZF0gdmRfY250ID09IDAgKHZlcnNpb24gd2l0aG91dCBhIG5hbWUpIiwgaSk7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY29uc3QgRWxmVyhWZXJkYXV4KSogdmVyZGF1eCA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhWZXJkYXV4KSo+KHZlcmRlZl9wdHIgKyB2ZXJkYXV4X29mZnNldCk7CisKKyAgICBpZiAoZnVuY3RvcihpLCB2ZXJkZWYsIHZlcmRhdXgpID09IHRydWUpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorCisgIHJldHVybiB0cnVlOworfQorCitib29sIHNvaW5mbzo6ZmluZF92ZXJkZWZfdmVyc2lvbl9pbmRleChjb25zdCB2ZXJzaW9uX2luZm8qIHZpLCBFbGZXKFZlcnN5bSkqIHZlcnN5bSkgY29uc3QgeworICBpZiAodmkgPT0gbnVsbHB0cikgeworICAgICp2ZXJzeW0gPSBrVmVyc3ltTm90TmVlZGVkOworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgKnZlcnN5bSA9IGtWZXJzeW1HbG9iYWw7CisKKyAgcmV0dXJuIGZvcl9lYWNoX3ZlcmRlZih0aGlzLAorICAgIFsmXShzaXplX3QsIGNvbnN0IEVsZlcoVmVyZGVmKSogdmVyZGVmLCBjb25zdCBFbGZXKFZlcmRhdXgpKiB2ZXJkYXV4KSB7CisgICAgICBpZiAodmVyZGVmLT52ZF9oYXNoID09IHZpLT5lbGZfaGFzaCAmJgorICAgICAgICAgIHN0cmNtcCh2aS0+bmFtZSwgZ2V0X3N0cmluZyh2ZXJkYXV4LT52ZGFfbmFtZSkpID09IDApIHsKKyAgICAgICAgKnZlcnN5bSA9IHZlcmRlZi0+dmRfbmR4OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgKTsKK30KKworYm9vbCBzb2luZm86OmZpbmRfc3ltYm9sX2J5X25hbWUoU3ltYm9sTmFtZSYgc3ltYm9sX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJzaW9uX2luZm8qIHZpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRWxmVyhTeW0pKiogc3ltYm9sKSBjb25zdCB7CisgIHVpbnQzMl90IHN5bWJvbF9pbmRleDsKKyAgYm9vbCBzdWNjZXNzID0KKyAgICAgIGlzX2dudV9oYXNoKCkgPworICAgICAgZ251X2xvb2t1cChzeW1ib2xfbmFtZSwgdmksICZzeW1ib2xfaW5kZXgpIDoKKyAgICAgIGVsZl9sb29rdXAoc3ltYm9sX25hbWUsIHZpLCAmc3ltYm9sX2luZGV4KTsKKworICBpZiAoc3VjY2VzcykgeworICAgICpzeW1ib2wgPSBzeW1ib2xfaW5kZXggPT0gMCA/IG51bGxwdHIgOiBzeW10YWJfICsgc3ltYm9sX2luZGV4OworICB9CisKKyAgcmV0dXJuIHN1Y2Nlc3M7Cit9CisKK3N0YXRpYyBib29sIGlzX3N5bWJvbF9nbG9iYWxfYW5kX2RlZmluZWQoY29uc3Qgc29pbmZvKiBzaSwgY29uc3QgRWxmVyhTeW0pKiBzKSB7CisgIGlmIChFTEZfU1RfQklORChzLT5zdF9pbmZvKSA9PSBTVEJfR0xPQkFMIHx8CisgICAgICBFTEZfU1RfQklORChzLT5zdF9pbmZvKSA9PSBTVEJfV0VBSykgeworICAgIHJldHVybiBzLT5zdF9zaG5keCAhPSBTSE5fVU5ERUY7CisgIH0gZWxzZSBpZiAoRUxGX1NUX0JJTkQocy0+c3RfaW5mbykgIT0gU1RCX0xPQ0FMKSB7CisgICAgRExfV0FSTigidW5leHBlY3RlZCBTVF9CSU5EIHZhbHVlOiAlZCBmb3IgJyVzJyBpbiAnJXMnIiwKKyAgICAgICAgRUxGX1NUX0JJTkQocy0+c3RfaW5mbyksIHNpLT5nZXRfc3RyaW5nKHMtPnN0X25hbWUpLCBzaS0+Z2V0X3NvbmFtZSgpKTsKKyAgfQorCisgIHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIGNvbnN0IEVsZlcoVmVyc3ltKSBrVmVyc3ltSGlkZGVuQml0ID0gMHg4MDAwOworCitzdGF0aWMgaW5saW5lIGJvb2wgaXNfdmVyc3ltX2hpZGRlbihjb25zdCBFbGZXKFZlcnN5bSkqIHZlcnN5bSkgeworICAvLyB0aGUgc3ltYm9sIGlzIGhpZGRlbiBpZiBiaXQgMTUgb2YgdmVyc3ltIGlzIHNldC4KKyAgcmV0dXJuIHZlcnN5bSAhPSBudWxscHRyICYmICgqdmVyc3ltICYga1ZlcnN5bUhpZGRlbkJpdCkgIT0gMDsKK30KKworc3RhdGljIGlubGluZSBib29sIGNoZWNrX3N5bWJvbF92ZXJzaW9uKGNvbnN0IEVsZlcoVmVyc3ltKSB2ZXJuZWVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEVsZlcoVmVyc3ltKSogdmVyZGVmKSB7CisgIHJldHVybiB2ZXJuZWVkID09IGtWZXJzeW1Ob3ROZWVkZWQgfHwKKyAgICAgIHZlcmRlZiA9PSBudWxscHRyIHx8CisgICAgICB2ZXJuZWVkID09ICgqdmVyZGVmICYgfmtWZXJzeW1IaWRkZW5CaXQpOworfQorCitib29sIHNvaW5mbzo6Z251X2xvb2t1cChTeW1ib2xOYW1lJiBzeW1ib2xfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnNpb25faW5mbyogdmksCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3ltYm9sX2luZGV4KSBjb25zdCB7CisgIHVpbnQzMl90IGhhc2ggPSBzeW1ib2xfbmFtZS5nbnVfaGFzaCgpOworICB1aW50MzJfdCBoMiA9IGhhc2ggPj4gZ251X3NoaWZ0Ml87CisKKyAgdWludDMyX3QgYmxvb21fbWFza19iaXRzID0gc2l6ZW9mKEVsZlcoQWRkcikpKjg7CisgIHVpbnQzMl90IHdvcmRfbnVtID0gKGhhc2ggLyBibG9vbV9tYXNrX2JpdHMpICYgZ251X21hc2t3b3Jkc187CisgIEVsZlcoQWRkcikgYmxvb21fd29yZCA9IGdudV9ibG9vbV9maWx0ZXJfW3dvcmRfbnVtXTsKKworICAqc3ltYm9sX2luZGV4ID0gMDsKKworICBUUkFDRV9UWVBFKExPT0tVUCwgIlNFQVJDSCAlcyBpbiAlc0AlcCAoZ251KSIsCisgICAgICBzeW1ib2xfbmFtZS5nZXRfbmFtZSgpLCBnZXRfc29uYW1lKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGJhc2UpKTsKKworICAvLyB0ZXN0IGFnYWluc3QgYmxvb20gZmlsdGVyCisgIGlmICgoMSAmIChibG9vbV93b3JkID4+IChoYXNoICUgYmxvb21fbWFza19iaXRzKSkgJiAoYmxvb21fd29yZCA+PiAoaDIgJSBibG9vbV9tYXNrX2JpdHMpKSkgPT0gMCkgeworICAgIFRSQUNFX1RZUEUoTE9PS1VQLCAiTk9UIEZPVU5EICVzIGluICVzQCVwIiwKKyAgICAgICAgc3ltYm9sX25hbWUuZ2V0X25hbWUoKSwgZ2V0X3NvbmFtZSgpLCByZWludGVycHJldF9jYXN0PHZvaWQqPihiYXNlKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIC8vIGJsb29tIHRlc3Qgc2F5cyAicHJvYmFibHkgeWVzIi4uLgorICB1aW50MzJfdCBuID0gZ251X2J1Y2tldF9baGFzaCAlIGdudV9uYnVja2V0X107CisKKyAgaWYgKG4gPT0gMCkgeworICAgIFRSQUNFX1RZUEUoTE9PS1VQLCAiTk9UIEZPVU5EICVzIGluICVzQCVwIiwKKyAgICAgICAgc3ltYm9sX25hbWUuZ2V0X25hbWUoKSwgZ2V0X3NvbmFtZSgpLCByZWludGVycHJldF9jYXN0PHZvaWQqPihiYXNlKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIC8vIGxvb2t1cCB2ZXJzeW0gZm9yIHRoZSB2ZXJzaW9uIGRlZmluaXRpb24gaW4gdGhpcyBsaWJyYXJ5CisgIC8vIG5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAidmVyc2lvbiBpcyBub3QgcmVxdWVzdGVkIiAodmkgPT0gbnVsbHB0cikKKyAgLy8gYW5kICJ2ZXJzaW9uIG5vdCBmb3VuZCIuIEluIHRoZSBmaXJzdCBjYXNlIHZlcm5lZWQgaXMga1ZlcnN5bU5vdE5lZWRlZAorICAvLyB3aGljaCBpbXBsaWVzIHRoYXQgdGhlIGRlZmF1bHQgdmVyc2lvbiBjYW4gYmUgYWNjZXB0ZWQ7IHRoZSBzZWNvbmQgY2FzZSByZXN1bHRzIGluCisgIC8vIHZlcm5lZWQgPSAxIChrVmVyc3ltR2xvYmFsKSBhbmQgaW1wbGllcyB0aGF0IHdlIHNob3VsZCBpZ25vcmUgdmVyc2lvbmVkIHN5bWJvbHMKKyAgLy8gZm9yIHRoaXMgbGlicmFyeSBhbmQgY29uc2lkZXIgb25seSAqZ2xvYmFsKiBvbmVzLgorICBFbGZXKFZlcnN5bSkgdmVybmVlZCA9IDA7CisgIGlmICghZmluZF92ZXJkZWZfdmVyc2lvbl9pbmRleCh2aSwgJnZlcm5lZWQpKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgZG8geworICAgIEVsZlcoU3ltKSogcyA9IHN5bXRhYl8gKyBuOworICAgIGNvbnN0IEVsZlcoVmVyc3ltKSogdmVyZGVmID0gZ2V0X3ZlcnN5bShuKTsKKyAgICAvLyBza2lwIGhpZGRlbiB2ZXJzaW9ucyB3aGVuIHZlcm5lZWQgPT0ga1ZlcnN5bU5vdE5lZWRlZCAoMCkKKyAgICBpZiAodmVybmVlZCA9PSBrVmVyc3ltTm90TmVlZGVkICYmIGlzX3ZlcnN5bV9oaWRkZW4odmVyZGVmKSkgeworICAgICAgICBjb250aW51ZTsKKyAgICB9CisgICAgaWYgKCgoZ251X2NoYWluX1tuXSBeIGhhc2gpID4+IDEpID09IDAgJiYKKyAgICAgICAgY2hlY2tfc3ltYm9sX3ZlcnNpb24odmVybmVlZCwgdmVyZGVmKSAmJgorICAgICAgICBzdHJjbXAoZ2V0X3N0cmluZyhzLT5zdF9uYW1lKSwgc3ltYm9sX25hbWUuZ2V0X25hbWUoKSkgPT0gMCAmJgorICAgICAgICBpc19zeW1ib2xfZ2xvYmFsX2FuZF9kZWZpbmVkKHRoaXMsIHMpKSB7CisgICAgICBUUkFDRV9UWVBFKExPT0tVUCwgIkZPVU5EICVzIGluICVzICglcCkgJXpkIiwKKyAgICAgICAgICBzeW1ib2xfbmFtZS5nZXRfbmFtZSgpLCBnZXRfc29uYW1lKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHMtPnN0X3ZhbHVlKSwKKyAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KHMtPnN0X3NpemUpKTsKKyAgICAgICpzeW1ib2xfaW5kZXggPSBuOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9IHdoaWxlICgoZ251X2NoYWluX1tuKytdICYgMSkgPT0gMCk7CisKKyAgVFJBQ0VfVFlQRShMT09LVVAsICJOT1QgRk9VTkQgJXMgaW4gJXNAJXAiLAorICAgICAgICAgICAgIHN5bWJvbF9uYW1lLmdldF9uYW1lKCksIGdldF9zb25hbWUoKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oYmFzZSkpOworCisgIHJldHVybiB0cnVlOworfQorCitib29sIHNvaW5mbzo6ZWxmX2xvb2t1cChTeW1ib2xOYW1lJiBzeW1ib2xfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnNpb25faW5mbyogdmksCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogc3ltYm9sX2luZGV4KSBjb25zdCB7CisgIHVpbnQzMl90IGhhc2ggPSBzeW1ib2xfbmFtZS5lbGZfaGFzaCgpOworCisgIFRSQUNFX1RZUEUoTE9PS1VQLCAiU0VBUkNIICVzIGluICVzQCVwIGg9JXgoZWxmKSAlemQiLAorICAgICAgICAgICAgIHN5bWJvbF9uYW1lLmdldF9uYW1lKCksIGdldF9zb25hbWUoKSwKKyAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihiYXNlKSwgaGFzaCwgaGFzaCAlIG5idWNrZXRfKTsKKworICBFbGZXKFZlcnN5bSkgdmVybmVlZCA9IDA7CisgIGlmICghZmluZF92ZXJkZWZfdmVyc2lvbl9pbmRleCh2aSwgJnZlcm5lZWQpKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgZm9yICh1aW50MzJfdCBuID0gYnVja2V0X1toYXNoICUgbmJ1Y2tldF9dOyBuICE9IDA7IG4gPSBjaGFpbl9bbl0pIHsKKyAgICBFbGZXKFN5bSkqIHMgPSBzeW10YWJfICsgbjsKKyAgICBjb25zdCBFbGZXKFZlcnN5bSkqIHZlcmRlZiA9IGdldF92ZXJzeW0obik7CisKKyAgICAvLyBza2lwIGhpZGRlbiB2ZXJzaW9ucyB3aGVuIHZlcm5lZWQgPT0gMAorICAgIGlmICh2ZXJuZWVkID09IGtWZXJzeW1Ob3ROZWVkZWQgJiYgaXNfdmVyc3ltX2hpZGRlbih2ZXJkZWYpKSB7CisgICAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIGlmIChjaGVja19zeW1ib2xfdmVyc2lvbih2ZXJuZWVkLCB2ZXJkZWYpICYmCisgICAgICAgIHN0cmNtcChnZXRfc3RyaW5nKHMtPnN0X25hbWUpLCBzeW1ib2xfbmFtZS5nZXRfbmFtZSgpKSA9PSAwICYmCisgICAgICAgIGlzX3N5bWJvbF9nbG9iYWxfYW5kX2RlZmluZWQodGhpcywgcykpIHsKKyAgICAgIFRSQUNFX1RZUEUoTE9PS1VQLCAiRk9VTkQgJXMgaW4gJXMgKCVwKSAlemQiLAorICAgICAgICAgICAgICAgICBzeW1ib2xfbmFtZS5nZXRfbmFtZSgpLCBnZXRfc29uYW1lKCksCisgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHMtPnN0X3ZhbHVlKSwKKyAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihzLT5zdF9zaXplKSk7CisgICAgICAqc3ltYm9sX2luZGV4ID0gbjsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgfQorCisgIFRSQUNFX1RZUEUoTE9PS1VQLCAiTk9UIEZPVU5EICVzIGluICVzQCVwICV4ICV6ZCIsCisgICAgICAgICAgICAgc3ltYm9sX25hbWUuZ2V0X25hbWUoKSwgZ2V0X3NvbmFtZSgpLAorICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGJhc2UpLCBoYXNoLCBoYXNoICUgbmJ1Y2tldF8pOworCisgICpzeW1ib2xfaW5kZXggPSAwOworICByZXR1cm4gdHJ1ZTsKK30KKworc29pbmZvOjpzb2luZm8oY29uc3QgY2hhciogcmVhbHBhdGgsIGNvbnN0IHN0cnVjdCBzdGF0KiBmaWxlX3N0YXQsCisgICAgICAgICAgICAgICBvZmY2NF90IGZpbGVfb2Zmc2V0LCBpbnQgcnRsZF9mbGFncykgewogICBtZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlzKSk7CiAKLSAgc3RybGNweSh0aGlzLT5uYW1lLCBuYW1lLCBzaXplb2YodGhpcy0+bmFtZSkpOwotICBmbGFncyA9IEZMQUdfTkVXX1NPSU5GTzsKLSAgdmVyc2lvbiA9IFNPSU5GT19WRVJTSU9OOworICBpZiAocmVhbHBhdGggIT0gbnVsbHB0cikgeworICAgIHJlYWxwYXRoXyA9IHJlYWxwYXRoOworICB9CisKKyAgZmxhZ3NfID0gRkxBR19ORVdfU09JTkZPOworICB2ZXJzaW9uXyA9IFNPSU5GT19WRVJTSU9OOwogCiAgIGlmIChmaWxlX3N0YXQgIT0gbnVsbHB0cikgewotICAgIHRoaXMtPnN0X2RldiA9IGZpbGVfc3RhdC0+c3RfZGV2OwotICAgIHRoaXMtPnN0X2lubyA9IGZpbGVfc3RhdC0+c3RfaW5vOwotICAgIHRoaXMtPmZpbGVfb2Zmc2V0ID0gZmlsZV9vZmZzZXQ7CisgICAgdGhpcy0+c3RfZGV2XyA9IGZpbGVfc3RhdC0+c3RfZGV2OworICAgIHRoaXMtPnN0X2lub18gPSBmaWxlX3N0YXQtPnN0X2lubzsKKyAgICB0aGlzLT5maWxlX29mZnNldF8gPSBmaWxlX29mZnNldDsKICAgfQorCisgIHRoaXMtPnJ0bGRfZmxhZ3NfID0gcnRsZF9mbGFnczsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGVsZmhhc2goY29uc3QgY2hhciogX25hbWUpIHsKLSAgY29uc3QgdW5zaWduZWQgY2hhciogbmFtZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KF9uYW1lKTsKLSAgdW5zaWduZWQgaCA9IDAsIGc7CiAKLSAgd2hpbGUgKCpuYW1lKSB7Ci0gICAgaCA9IChoIDw8IDQpICsgKm5hbWUrKzsKLSAgICBnID0gaCAmIDB4ZjAwMDAwMDA7Ci0gICAgaCBePSBnOwotICAgIGggXj0gZyA+PiAyNDsKK3VpbnQzMl90IFN5bWJvbE5hbWU6OmVsZl9oYXNoKCkgeworICBpZiAoIWhhc19lbGZfaGFzaF8pIHsKKyAgICBjb25zdCB1aW50OF90KiBuYW1lID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4obmFtZV8pOworICAgIHVpbnQzMl90IGggPSAwLCBnOworCisgICAgd2hpbGUgKCpuYW1lKSB7CisgICAgICBoID0gKGggPDwgNCkgKyAqbmFtZSsrOworICAgICAgZyA9IGggJiAweGYwMDAwMDAwOworICAgICAgaCBePSBnOworICAgICAgaCBePSBnID4+IDI0OworICAgIH0KKworICAgIGVsZl9oYXNoXyA9IGg7CisgICAgaGFzX2VsZl9oYXNoXyA9IHRydWU7CiAgIH0KLSAgcmV0dXJuIGg7CisKKyAgcmV0dXJuIGVsZl9oYXNoXzsKIH0KIAotc3RhdGljIEVsZlcoU3ltKSogc29pbmZvX2RvX2xvb2t1cChzb2luZm8qIHNpLCBjb25zdCBjaGFyKiBuYW1lLCBzb2luZm8qKiBsc2kpIHsKLSAgdW5zaWduZWQgZWxmX2hhc2ggPSBlbGZoYXNoKG5hbWUpOwotICBFbGZXKFN5bSkqIHMgPSBudWxscHRyOwordWludDMyX3QgU3ltYm9sTmFtZTo6Z251X2hhc2goKSB7CisgIGlmICghaGFzX2dudV9oYXNoXykgeworICAgIHVpbnQzMl90IGggPSA1MzgxOworICAgIGNvbnN0IHVpbnQ4X3QqIG5hbWUgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihuYW1lXyk7CisgICAgd2hpbGUgKCpuYW1lICE9IDApIHsKKyAgICAgIGggKz0gKGggPDwgNSkgKyAqbmFtZSsrOyAvLyBoKjMzICsgYyA9IGggKyBoICogMzIgKyBjID0gaCArIGggPDwgNSArIGMKKyAgICB9CisKKyAgICBnbnVfaGFzaF8gPSAgaDsKKyAgICBoYXNfZ251X2hhc2hfID0gdHJ1ZTsKKyAgfQorCisgIHJldHVybiBnbnVfaGFzaF87Cit9CisKK2Jvb2wgc29pbmZvX2RvX2xvb2t1cChzb2luZm8qIHNpX2Zyb20sIGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IHZlcnNpb25faW5mbyogdmksCisgICAgICAgICAgICAgICAgICAgICAgc29pbmZvKiogc2lfZm91bmRfaW4sIGNvbnN0IHNvaW5mbzo6c29pbmZvX2xpc3RfdCYgZ2xvYmFsX2dyb3VwLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvaW5mbzo6c29pbmZvX2xpc3RfdCYgbG9jYWxfZ3JvdXAsIGNvbnN0IEVsZlcoU3ltKSoqIHN5bWJvbCkgeworICBTeW1ib2xOYW1lIHN5bWJvbF9uYW1lKG5hbWUpOworICBjb25zdCBFbGZXKFN5bSkqIHMgPSBudWxscHRyOwogCiAgIC8qICJUaGlzIGVsZW1lbnQncyBwcmVzZW5jZSBpbiBhIHNoYXJlZCBvYmplY3QgbGlicmFyeSBhbHRlcnMgdGhlIGR5bmFtaWMgbGlua2VyJ3MKICAgICogc3ltYm9sIHJlc29sdXRpb24gYWxnb3JpdGhtIGZvciByZWZlcmVuY2VzIHdpdGhpbiB0aGUgbGlicmFyeS4gSW5zdGVhZCBvZiBzdGFydGluZwpAQCAtNDk0LDc4ICs3MTcsMTEwIEBACiAgICAqIE5vdGUgdGhhdCB0aGlzIGlzIHVubGlrZWx5IHNpbmNlIHN0YXRpYyBsaW5rZXIgYXZvaWRzIGdlbmVyYXRpbmcKICAgICogcmVsb2NhdGlvbnMgZm9yIC1Cc3ltYm9saWMgbGlua2VkIGR5bmFtaWMgZXhlY3V0YWJsZXMuCiAgICAqLwotICBpZiAoc2ktPmhhc19EVF9TWU1CT0xJQykgewotICAgIERFQlVHKCIlczogbG9va2luZyB1cCAlcyBpbiBsb2NhbCBzY29wZSAoRFRfU1lNQk9MSUMpIiwgc2ktPm5hbWUsIG5hbWUpOwotICAgIHMgPSBzb2luZm9fZWxmX2xvb2t1cChzaSwgZWxmX2hhc2gsIG5hbWUpOworICBpZiAoc2lfZnJvbS0+aGFzX0RUX1NZTUJPTElDKSB7CisgICAgREVCVUcoIiVzOiBsb29raW5nIHVwICVzIGluIGxvY2FsIHNjb3BlIChEVF9TWU1CT0xJQykiLCBzaV9mcm9tLT5nZXRfc29uYW1lKCksIG5hbWUpOworICAgIGlmICghc2lfZnJvbS0+ZmluZF9zeW1ib2xfYnlfbmFtZShzeW1ib2xfbmFtZSwgdmksICZzKSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIGlmIChzICE9IG51bGxwdHIpIHsKLSAgICAgICpsc2kgPSBzaTsKKyAgICAgICpzaV9mb3VuZF9pbiA9IHNpX2Zyb207CiAgICAgfQogICB9CiAKLSAgaWYgKHMgPT0gbnVsbHB0ciAmJiBzb21haW4gIT0gbnVsbHB0cikgewotICAgIC8vIDEuIExvb2sgZm9yIGl0IGluIHRoZSBtYWluIGV4ZWN1dGFibGUgdW5sZXNzIHdlIGFscmVhZHkgZGlkLgotICAgIGlmIChzaSAhPSBzb21haW4gfHwgIXNpLT5oYXNfRFRfU1lNQk9MSUMpIHsKLSAgICAgIERFQlVHKCIlczogbG9va2luZyB1cCAlcyBpbiBleGVjdXRhYmxlICVzIiwKLSAgICAgICAgICAgIHNpLT5uYW1lLCBuYW1lLCBzb21haW4tPm5hbWUpOwotICAgICAgcyA9IHNvaW5mb19lbGZfbG9va3VwKHNvbWFpbiwgZWxmX2hhc2gsIG5hbWUpOwotICAgICAgaWYgKHMgIT0gbnVsbHB0cikgewotICAgICAgICAqbHNpID0gc29tYWluOwotICAgICAgfQotICAgIH0KLQotICAgIC8vIDIuIExvb2sgZm9yIGl0IGluIHRoZSBsZF9wcmVsb2FkcwotICAgIGlmIChzID09IG51bGxwdHIpIHsKLSAgICAgIGZvciAoaW50IGkgPSAwOyBnX2xkX3ByZWxvYWRzW2ldICE9IE5VTEw7IGkrKykgewotICAgICAgICBzID0gc29pbmZvX2VsZl9sb29rdXAoZ19sZF9wcmVsb2Fkc1tpXSwgZWxmX2hhc2gsIG5hbWUpOwotICAgICAgICBpZiAocyAhPSBudWxscHRyKSB7Ci0gICAgICAgICAgKmxzaSA9IGdfbGRfcHJlbG9hZHNbaV07Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICAvKiBMb29rIGZvciBzeW1ib2xzIGluIHRoZSBsb2NhbCBzY29wZSAodGhlIG9iamVjdCB3aG8gaXMKLSAgICogc2VhcmNoaW5nKS4gVGhpcyBoYXBwZW5zIHdpdGggQysrIHRlbXBsYXRlcyBvbiB4ODYgZm9yIHNvbWUKLSAgICogcmVhc29uLgotICAgKgotICAgKiBOb3RlcyBvbiB3ZWFrIHN5bWJvbHM6Ci0gICAqIFRoZSBFTEYgc3BlY3MgYXJlIGFtYmlndW91cyBhYm91dCB0cmVhdG1lbnQgb2Ygd2VhayBkZWZpbml0aW9ucyBpbgotICAgKiBkeW5hbWljIGxpbmtpbmcuICBTb21lIHN5c3RlbXMgcmV0dXJuIHRoZSBmaXJzdCBkZWZpbml0aW9uIGZvdW5kCi0gICAqIGFuZCBzb21lIHRoZSBmaXJzdCBub24td2VhayBkZWZpbml0aW9uLiAgIFRoaXMgaXMgc3lzdGVtIGRlcGVuZGVudC4KLSAgICogSGVyZSB3ZSByZXR1cm4gdGhlIGZpcnN0IGRlZmluaXRpb24gZm91bmQgZm9yIHNpbXBsaWNpdHkuICAqLwotCi0gIGlmIChzID09IG51bGxwdHIgJiYgIXNpLT5oYXNfRFRfU1lNQk9MSUMpIHsKLSAgICBERUJVRygiJXM6IGxvb2tpbmcgdXAgJXMgaW4gbG9jYWwgc2NvcGUiLCBzaS0+bmFtZSwgbmFtZSk7Ci0gICAgcyA9IHNvaW5mb19lbGZfbG9va3VwKHNpLCBlbGZfaGFzaCwgbmFtZSk7Ci0gICAgaWYgKHMgIT0gbnVsbHB0cikgewotICAgICAgKmxzaSA9IHNpOwotICAgIH0KLSAgfQotCisgIC8vIDEuIExvb2sgZm9yIGl0IGluIGdsb2JhbF9ncm91cAogICBpZiAocyA9PSBudWxscHRyKSB7Ci0gICAgc2ktPmdldF9jaGlsZHJlbigpLnZpc2l0KFsmXShzb2luZm8qIGNoaWxkKSB7Ci0gICAgICBERUJVRygiJXM6IGxvb2tpbmcgdXAgJXMgaW4gJXMiLCBzaS0+bmFtZSwgbmFtZSwgY2hpbGQtPm5hbWUpOwotICAgICAgcyA9IHNvaW5mb19lbGZfbG9va3VwKGNoaWxkLCBlbGZfaGFzaCwgbmFtZSk7Ci0gICAgICBpZiAocyAhPSBudWxscHRyKSB7Ci0gICAgICAgICpsc2kgPSBjaGlsZDsKKyAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAgZ2xvYmFsX2dyb3VwLnZpc2l0KFsmXShzb2luZm8qIGdsb2JhbF9zaSkgeworICAgICAgREVCVUcoIiVzOiBsb29raW5nIHVwICVzIGluICVzIChmcm9tIGdsb2JhbCBncm91cCkiLAorICAgICAgICAgIHNpX2Zyb20tPmdldF9zb25hbWUoKSwgbmFtZSwgZ2xvYmFsX3NpLT5nZXRfc29uYW1lKCkpOworICAgICAgaWYgKCFnbG9iYWxfc2ktPmZpbmRfc3ltYm9sX2J5X25hbWUoc3ltYm9sX25hbWUsIHZpLCAmcykpIHsKKyAgICAgICAgZXJyb3IgPSB0cnVlOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9CisKKyAgICAgIGlmIChzICE9IG51bGxwdHIpIHsKKyAgICAgICAgKnNpX2ZvdW5kX2luID0gZ2xvYmFsX3NpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisKICAgICAgIHJldHVybiB0cnVlOwogICAgIH0pOworCisgICAgaWYgKGVycm9yKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9CisKKyAgLy8gMi4gTG9vayBmb3IgaXQgaW4gdGhlIGxvY2FsIGdyb3VwCisgIGlmIChzID09IG51bGxwdHIpIHsKKyAgICBib29sIGVycm9yID0gZmFsc2U7CisgICAgbG9jYWxfZ3JvdXAudmlzaXQoWyZdKHNvaW5mbyogbG9jYWxfc2kpIHsKKyAgICAgIGlmIChsb2NhbF9zaSA9PSBzaV9mcm9tICYmIHNpX2Zyb20tPmhhc19EVF9TWU1CT0xJQykgeworICAgICAgICAvLyB3ZSBhbHJlYWR5IGRpZCB0aGlzIC0gc2tpcAorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0KKworICAgICAgREVCVUcoIiVzOiBsb29raW5nIHVwICVzIGluICVzIChmcm9tIGxvY2FsIGdyb3VwKSIsCisgICAgICAgICAgc2lfZnJvbS0+Z2V0X3NvbmFtZSgpLCBuYW1lLCBsb2NhbF9zaS0+Z2V0X3NvbmFtZSgpKTsKKyAgICAgIGlmICghbG9jYWxfc2ktPmZpbmRfc3ltYm9sX2J5X25hbWUoc3ltYm9sX25hbWUsIHZpLCAmcykpIHsKKyAgICAgICAgZXJyb3IgPSB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisKKyAgICAgIGlmIChzICE9IG51bGxwdHIpIHsKKyAgICAgICAgKnNpX2ZvdW5kX2luID0gbG9jYWxfc2k7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKworICAgICAgcmV0dXJuIHRydWU7CisgICAgfSk7CisKKyAgICBpZiAoZXJyb3IpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAgIH0KIAogICBpZiAocyAhPSBudWxscHRyKSB7CiAgICAgVFJBQ0VfVFlQRShMT09LVVAsICJzaSAlcyBzeW0gJXMgcy0+c3RfdmFsdWUgPSAlcCwgIgogICAgICAgICAgICAgICAgImZvdW5kIGluICVzLCBiYXNlID0gJXAsIGxvYWQgYmlhcyA9ICVwIiwKLSAgICAgICAgICAgICAgIHNpLT5uYW1lLCBuYW1lLCByZWludGVycHJldF9jYXN0PHZvaWQqPihzLT5zdF92YWx1ZSksCi0gICAgICAgICAgICAgICAoKmxzaSktPm5hbWUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KCgqbHNpKS0+YmFzZSksCi0gICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPigoKmxzaSktPmxvYWRfYmlhcykpOworICAgICAgICAgICAgICAgc2lfZnJvbS0+Z2V0X3NvbmFtZSgpLCBuYW1lLCByZWludGVycHJldF9jYXN0PHZvaWQqPihzLT5zdF92YWx1ZSksCisgICAgICAgICAgICAgICAoKnNpX2ZvdW5kX2luKS0+Z2V0X3NvbmFtZSgpLCByZWludGVycHJldF9jYXN0PHZvaWQqPigoKnNpX2ZvdW5kX2luKS0+YmFzZSksCisgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPigoKnNpX2ZvdW5kX2luKS0+bG9hZF9iaWFzKSk7CiAgIH0KIAotICByZXR1cm4gczsKKyAgKnN5bWJvbCA9IHM7CisgIHJldHVybiB0cnVlOwogfQogCitjbGFzcyBQcm90ZWN0ZWREYXRhR3VhcmQgeworIHB1YmxpYzoKKyAgUHJvdGVjdGVkRGF0YUd1YXJkKCkgeworICAgIGlmIChyZWZfY291bnRfKysgPT0gMCkgeworICAgICAgcHJvdGVjdF9kYXRhKFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOworICAgIH0KKyAgfQorCisgIH5Qcm90ZWN0ZWREYXRhR3VhcmQoKSB7CisgICAgaWYgKHJlZl9jb3VudF8gPT0gMCkgeyAvLyBvdmVyZmxvdworICAgICAgX19saWJjX2ZhdGFsKCJUb28gbWFueSBuZXN0ZWQgY2FsbHMgdG8gZGxvcGVuKCkiKTsKKyAgICB9CisKKyAgICBpZiAoLS1yZWZfY291bnRfID09IDApIHsKKyAgICAgIHByb3RlY3RfZGF0YShQUk9UX1JFQUQpOworICAgIH0KKyAgfQorIHByaXZhdGU6CisgIHZvaWQgcHJvdGVjdF9kYXRhKGludCBwcm90ZWN0aW9uKSB7CisgICAgZ19zb2luZm9fYWxsb2NhdG9yLnByb3RlY3RfYWxsKHByb3RlY3Rpb24pOworICAgIGdfc29pbmZvX2xpbmtzX2FsbG9jYXRvci5wcm90ZWN0X2FsbChwcm90ZWN0aW9uKTsKKyAgfQorCisgIHN0YXRpYyBzaXplX3QgcmVmX2NvdW50XzsKK307CisKK3NpemVfdCBQcm90ZWN0ZWREYXRhR3VhcmQ6OnJlZl9jb3VudF8gPSAwOworCiAvLyBFYWNoIHNpemUgaGFzIGl0J3Mgb3duIGFsbG9jYXRvci4KIHRlbXBsYXRlPHNpemVfdCBzaXplPgogY2xhc3MgU2l6ZUJhc2VkQWxsb2NhdG9yIHsKQEAgLTY0MSwzMyArODk2LDY0IEBACiB0eXBlZGVmIGxpbmtlZF9saXN0X3Q8TG9hZFRhc2s+IExvYWRUYXNrTGlzdDsKIAogCi0vLyBUaGlzIGlzIHVzZWQgYnkgZGxzeW0oMykuICBJdCBwZXJmb3JtcyBzeW1ib2wgbG9va3VwIG9ubHkgd2l0aGluIHRoZQotLy8gc3BlY2lmaWVkIHNvaW5mbyBvYmplY3QgYW5kIGl0cyBkZXBlbmRlbmNpZXMgaW4gYnJlYWR0aCBmaXJzdCBvcmRlci4KLUVsZlcoU3ltKSogZGxzeW1faGFuZGxlX2xvb2t1cChzb2luZm8qIHNpLCBzb2luZm8qKiBmb3VuZCwgY29uc3QgY2hhciogbmFtZSkgeworLy8gVGhpcyBmdW5jdGlvbiB3YWxrcyBkb3duIHRoZSB0cmVlIG9mIHNvaW5mbyBkZXBlbmRlbmNpZXMKKy8vIGluIGJyZWFkdGgtZmlyc3Qgb3JkZXIgYW5kCisvLyAgICogY2FsbHMgYWN0aW9uKHNvaW5mbyogc2kpIGZvciBlYWNoIG5vZGUsIGFuZAorLy8gICAqIHRlcm1pbmF0ZXMgd2FsayBpZiBhY3Rpb24gcmV0dXJucyBmYWxzZS4KKy8vCisvLyB3YWxrX2RlcGVuZGVuY2llc190cmVlIHJldHVybnMgZmFsc2UgaWYgd2FsayB3YXMgdGVybWluYXRlZAorLy8gYnkgdGhlIGFjdGlvbiBhbmQgdHJ1ZSBvdGhlcndpc2UuCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorc3RhdGljIGJvb2wgd2Fsa19kZXBlbmRlbmNpZXNfdHJlZShzb2luZm8qIHJvb3Rfc29pbmZvc1tdLCBzaXplX3Qgcm9vdF9zb2luZm9zX3NpemUsIEYgYWN0aW9uKSB7CiAgIFNvaW5mb0xpbmtlZExpc3QgdmlzaXRfbGlzdDsKICAgU29pbmZvTGlua2VkTGlzdCB2aXNpdGVkOwogCi0gIHZpc2l0X2xpc3QucHVzaF9iYWNrKHNpKTsKLSAgc29pbmZvKiBjdXJyZW50X3NvaW5mbzsKLSAgd2hpbGUgKChjdXJyZW50X3NvaW5mbyA9IHZpc2l0X2xpc3QucG9wX2Zyb250KCkpICE9IG51bGxwdHIpIHsKLSAgICBpZiAodmlzaXRlZC5jb250YWlucyhjdXJyZW50X3NvaW5mbykpIHsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByb290X3NvaW5mb3Nfc2l6ZTsgKytpKSB7CisgICAgdmlzaXRfbGlzdC5wdXNoX2JhY2socm9vdF9zb2luZm9zW2ldKTsKKyAgfQorCisgIHNvaW5mbyogc2k7CisgIHdoaWxlICgoc2kgPSB2aXNpdF9saXN0LnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7CisgICAgaWYgKHZpc2l0ZWQuY29udGFpbnMoc2kpKSB7CiAgICAgICBjb250aW51ZTsKICAgICB9CiAKLSAgICBFbGZXKFN5bSkqIHJlc3VsdCA9IHNvaW5mb19lbGZfbG9va3VwKGN1cnJlbnRfc29pbmZvLCBlbGZoYXNoKG5hbWUpLCBuYW1lKTsKLQotICAgIGlmIChyZXN1bHQgIT0gbnVsbHB0cikgewotICAgICAgKmZvdW5kID0gY3VycmVudF9zb2luZm87Ci0gICAgICByZXR1cm4gcmVzdWx0OworICAgIGlmICghYWN0aW9uKHNpKSkgeworICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICB2aXNpdGVkLnB1c2hfYmFjayhjdXJyZW50X3NvaW5mbyk7CiAKLSAgICBjdXJyZW50X3NvaW5mby0+Z2V0X2NoaWxkcmVuKCkuZm9yX2VhY2goWyZdKHNvaW5mbyogY2hpbGQpIHsKKyAgICB2aXNpdGVkLnB1c2hfYmFjayhzaSk7CisKKyAgICBzaS0+Z2V0X2NoaWxkcmVuKCkuZm9yX2VhY2goWyZdKHNvaW5mbyogY2hpbGQpIHsKICAgICAgIHZpc2l0X2xpc3QucHVzaF9iYWNrKGNoaWxkKTsKICAgICB9KTsKICAgfQogCi0gIHJldHVybiBudWxscHRyOworICByZXR1cm4gdHJ1ZTsKK30KKworCisvLyBUaGlzIGlzIHVzZWQgYnkgZGxzeW0oMykuICBJdCBwZXJmb3JtcyBzeW1ib2wgbG9va3VwIG9ubHkgd2l0aGluIHRoZQorLy8gc3BlY2lmaWVkIHNvaW5mbyBvYmplY3QgYW5kIGl0cyBkZXBlbmRlbmNpZXMgaW4gYnJlYWR0aCBmaXJzdCBvcmRlci4KK2NvbnN0IEVsZlcoU3ltKSogZGxzeW1faGFuZGxlX2xvb2t1cChzb2luZm8qIHNpLCBzb2luZm8qKiBmb3VuZCwgY29uc3QgY2hhciogbmFtZSkgeworICBjb25zdCBFbGZXKFN5bSkqIHJlc3VsdCA9IG51bGxwdHI7CisgIFN5bWJvbE5hbWUgc3ltYm9sX25hbWUobmFtZSk7CisKKyAgd2Fsa19kZXBlbmRlbmNpZXNfdHJlZSgmc2ksIDEsIFsmXShzb2luZm8qIGN1cnJlbnRfc29pbmZvKSB7CisgICAgaWYgKCFjdXJyZW50X3NvaW5mby0+ZmluZF9zeW1ib2xfYnlfbmFtZShzeW1ib2xfbmFtZSwgbnVsbHB0ciwgJnJlc3VsdCkpIHsKKyAgICAgIHJlc3VsdCA9IG51bGxwdHI7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHJlc3VsdCAhPSBudWxscHRyKSB7CisgICAgICAqZm91bmQgPSBjdXJyZW50X3NvaW5mbzsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSk7CisKKyAgcmV0dXJuIHJlc3VsdDsKIH0KIAogLyogVGhpcyBpcyB1c2VkIGJ5IGRsc3ltKDMpIHRvIHBlcmZvcm1zIGEgZ2xvYmFsIHN5bWJvbCBsb29rdXAuIElmIHRoZQpAQCAtNjc1LDIyICs5NjEsNjUgQEAKICAgIGJlZ2lubmluZyBvZiB0aGUgZ2xvYmFsIHNvbGlzdC4gT3RoZXJ3aXNlIHRoZSBzZWFyY2ggc3RhcnRzIGF0IHRoZQogICAgc3BlY2lmaWVkIHNvaW5mbyAoZm9yIFJUTERfTkVYVCkuCiAgKi8KLUVsZlcoU3ltKSogZGxzeW1fbGluZWFyX2xvb2t1cChjb25zdCBjaGFyKiBuYW1lLCBzb2luZm8qKiBmb3VuZCwgc29pbmZvKiBzdGFydCkgewotICB1bnNpZ25lZCBlbGZfaGFzaCA9IGVsZmhhc2gobmFtZSk7Citjb25zdCBFbGZXKFN5bSkqIGRsc3ltX2xpbmVhcl9sb29rdXAoY29uc3QgY2hhciogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2luZm8qKiBmb3VuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2luZm8qIGNhbGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBoYW5kbGUpIHsKKyAgU3ltYm9sTmFtZSBzeW1ib2xfbmFtZShuYW1lKTsKIAotICBpZiAoc3RhcnQgPT0gbnVsbHB0cikgewotICAgIHN0YXJ0ID0gc29saXN0OworICBzb2luZm8qIHN0YXJ0ID0gc29saXN0OworCisgIGlmIChoYW5kbGUgPT0gUlRMRF9ORVhUKSB7CisgICAgaWYgKGNhbGxlciA9PSBudWxscHRyIHx8IGNhbGxlci0+bmV4dCA9PSBudWxscHRyKSB7CisgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9IGVsc2UgeworICAgICAgc3RhcnQgPSBjYWxsZXItPm5leHQ7CisgICAgfQogICB9CiAKLSAgRWxmVyhTeW0pKiBzID0gbnVsbHB0cjsKLSAgZm9yIChzb2luZm8qIHNpID0gc3RhcnQ7IChzID09IG51bGxwdHIpICYmIChzaSAhPSBudWxscHRyKTsgc2kgPSBzaS0+bmV4dCkgewotICAgIHMgPSBzb2luZm9fZWxmX2xvb2t1cChzaSwgZWxmX2hhc2gsIG5hbWUpOworICBjb25zdCBFbGZXKFN5bSkqIHMgPSBudWxscHRyOworICBmb3IgKHNvaW5mbyogc2kgPSBzdGFydDsgc2kgIT0gbnVsbHB0cjsgc2kgPSBzaS0+bmV4dCkgeworICAgIGlmICgoc2ktPmdldF9ydGxkX2ZsYWdzKCkgJiBSVExEX0dMT0JBTCkgPT0gMCkgeworICAgICAgY29udGludWU7CisgICAgfQorCisgICAgaWYgKCFzaS0+ZmluZF9zeW1ib2xfYnlfbmFtZShzeW1ib2xfbmFtZSwgbnVsbHB0ciwgJnMpKSB7CisgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBpZiAocyAhPSBudWxscHRyKSB7CiAgICAgICAqZm91bmQgPSBzaTsKICAgICAgIGJyZWFrOwogICAgIH0KICAgfQogCisgIC8vIElmIG5vdCBmb3VuZCAtIGxvb2sgaW50byBsb2NhbF9ncm91cCB1bmxlc3MKKyAgLy8gY2FsbGVyIGlzIHBhcnQgb2YgdGhlIGdsb2JhbCBncm91cCBpbiB3aGljaAorICAvLyBjYXNlIHdlIGFscmVhZHkgZGlkIGl0LgorICBpZiAocyA9PSBudWxscHRyICYmIGNhbGxlciAhPSBudWxscHRyICYmCisgICAgICAoY2FsbGVyLT5nZXRfcnRsZF9mbGFncygpICYgUlRMRF9HTE9CQUwpID09IDApIHsKKyAgICBzb2luZm8qIGxvY2FsX2dyb3VwX3Jvb3QgPSBjYWxsZXItPmdldF9sb2NhbF9ncm91cF9yb290KCk7CisKKyAgICBpZiAoaGFuZGxlID09IFJUTERfREVGQVVMVCkgeworICAgICAgc3RhcnQgPSBsb2NhbF9ncm91cF9yb290OworICAgIH0KKworICAgIGZvciAoc29pbmZvKiBzaSA9IHN0YXJ0OyBzaSAhPSBudWxscHRyOyBzaSA9IHNpLT5uZXh0KSB7CisgICAgICBpZiAoc2ktPmdldF9sb2NhbF9ncm91cF9yb290KCkgIT0gbG9jYWxfZ3JvdXBfcm9vdCkgeworICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgaWYgKCFzaS0+ZmluZF9zeW1ib2xfYnlfbmFtZShzeW1ib2xfbmFtZSwgbnVsbHB0ciwgJnMpKSB7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgfQorCisgICAgICBpZiAocyAhPSBudWxscHRyKSB7CisgICAgICAgICpmb3VuZCA9IHNpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0KKwogICBpZiAocyAhPSBudWxscHRyKSB7CiAgICAgVFJBQ0VfVFlQRShMT09LVVAsICIlcyBzLT5zdF92YWx1ZSA9ICVwLCBmb3VuZC0+YmFzZSA9ICVwIiwKICAgICAgICAgICAgICAgIG5hbWUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHMtPnN0X3ZhbHVlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oKCpmb3VuZCktPmJhc2UpKTsKQEAgLTcwOSwxNiArMTAzOCw0NSBAQAogICByZXR1cm4gbnVsbHB0cjsKIH0KIAotRWxmVyhTeW0pKiBkbGFkZHJfZmluZF9zeW1ib2woc29pbmZvKiBzaSwgY29uc3Qgdm9pZCogYWRkcikgewotICBFbGZXKEFkZHIpIHNvYWRkciA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKT4oYWRkcikgLSBzaS0+YmFzZTsKK0VsZlcoU3ltKSogc29pbmZvOjpmaW5kX3N5bWJvbF9ieV9hZGRyZXNzKGNvbnN0IHZvaWQqIGFkZHIpIHsKKyAgcmV0dXJuIGlzX2dudV9oYXNoKCkgPyBnbnVfYWRkcl9sb29rdXAoYWRkcikgOiBlbGZfYWRkcl9sb29rdXAoYWRkcik7Cit9CisKK3N0YXRpYyBib29sIHN5bWJvbF9tYXRjaGVzX3NvYWRkcihjb25zdCBFbGZXKFN5bSkqIHN5bSwgRWxmVyhBZGRyKSBzb2FkZHIpIHsKKyAgcmV0dXJuIHN5bS0+c3Rfc2huZHggIT0gU0hOX1VOREVGICYmCisgICAgICBzb2FkZHIgPj0gc3ltLT5zdF92YWx1ZSAmJgorICAgICAgc29hZGRyIDwgc3ltLT5zdF92YWx1ZSArIHN5bS0+c3Rfc2l6ZTsKK30KKworRWxmVyhTeW0pKiBzb2luZm86OmdudV9hZGRyX2xvb2t1cChjb25zdCB2b2lkKiBhZGRyKSB7CisgIEVsZlcoQWRkcikgc29hZGRyID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpPihhZGRyKSAtIGxvYWRfYmlhczsKKworICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGdudV9uYnVja2V0XzsgKytpKSB7CisgICAgdWludDMyX3QgbiA9IGdudV9idWNrZXRfW2ldOworCisgICAgaWYgKG4gPT0gMCkgeworICAgICAgY29udGludWU7CisgICAgfQorCisgICAgZG8geworICAgICAgRWxmVyhTeW0pKiBzeW0gPSBzeW10YWJfICsgbjsKKyAgICAgIGlmIChzeW1ib2xfbWF0Y2hlc19zb2FkZHIoc3ltLCBzb2FkZHIpKSB7CisgICAgICAgIHJldHVybiBzeW07CisgICAgICB9CisgICAgfSB3aGlsZSAoKGdudV9jaGFpbl9bbisrXSAmIDEpID09IDApOworICB9CisKKyAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0VsZlcoU3ltKSogc29pbmZvOjplbGZfYWRkcl9sb29rdXAoY29uc3Qgdm9pZCogYWRkcikgeworICBFbGZXKEFkZHIpIHNvYWRkciA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKT4oYWRkcikgLSBsb2FkX2JpYXM7CiAKICAgLy8gU2VhcmNoIHRoZSBsaWJyYXJ5J3Mgc3ltYm9sIHRhYmxlIGZvciBhbnkgZGVmaW5lZCBzeW1ib2wgd2hpY2gKICAgLy8gY29udGFpbnMgdGhpcyBhZGRyZXNzLgotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpLT5uY2hhaW47ICsraSkgewotICAgIEVsZlcoU3ltKSogc3ltID0gJnNpLT5zeW10YWJbaV07Ci0gICAgaWYgKHN5bS0+c3Rfc2huZHggIT0gU0hOX1VOREVGICYmCi0gICAgICAgIHNvYWRkciA+PSBzeW0tPnN0X3ZhbHVlICYmCi0gICAgICAgIHNvYWRkciA8IHN5bS0+c3RfdmFsdWUgKyBzeW0tPnN0X3NpemUpIHsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuY2hhaW5fOyArK2kpIHsKKyAgICBFbGZXKFN5bSkqIHN5bSA9IHN5bXRhYl8gKyBpOworICAgIGlmIChzeW1ib2xfbWF0Y2hlc19zb2FkZHIoc3ltLCBzb2FkZHIpKSB7CiAgICAgICByZXR1cm4gc3ltOwogICAgIH0KICAgfQpAQCAtNzI2LDQxICsxMDg0LDE0MSBAQAogICByZXR1cm4gbnVsbHB0cjsKIH0KIAotc3RhdGljIGludCBvcGVuX2xpYnJhcnlfb25fcGF0aChjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBjaGFyKiBjb25zdCBwYXRoc1tdKSB7CitzdGF0aWMgaW50IG9wZW5fbGlicmFyeV9pbl96aXBmaWxlKGNvbnN0IGNoYXIqIGNvbnN0IHBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZjY0X3QqIGZpbGVfb2Zmc2V0KSB7CisgIFRSQUNFKCJUcnlpbmcgemlwIGZpbGUgb3BlbiBmcm9tIHBhdGggJyVzJyIsIHBhdGgpOworCisgIC8vIFRyZWF0IGFuICchJyBjaGFyYWN0ZXIgaW5zaWRlIGEgcGF0aCBhcyB0aGUgc2VwYXJhdG9yIGJldHdlZW4gdGhlIG5hbWUKKyAgLy8gb2YgdGhlIHppcCBmaWxlIG9uIGRpc2sgYW5kIHRoZSBzdWJkaXJlY3RvcnkgdG8gc2VhcmNoIHdpdGhpbiBpdC4KKyAgLy8gRm9yIGV4YW1wbGUsIGlmIHBhdGggaXMgImZvby56aXAhYmFyL2Jhcy94LnNvIiwgdGhlbiB3ZSBzZWFyY2ggZm9yCisgIC8vICJiYXIvYmFzL3guc28iIHdpdGhpbiAiZm9vLnppcCIuCisgIGNvbnN0IGNoYXIqIHNlcGFyYXRvciA9IHN0cmNocihwYXRoLCAnIScpOworICBpZiAoc2VwYXJhdG9yID09IG51bGxwdHIpIHsKKyAgICByZXR1cm4gLTE7CisgIH0KKwogICBjaGFyIGJ1Zls1MTJdOwotICBmb3IgKHNpemVfdCBpID0gMDsgcGF0aHNbaV0gIT0gbnVsbHB0cjsgKytpKSB7Ci0gICAgaW50IG4gPSBfX2xpYmNfZm9ybWF0X2J1ZmZlcihidWYsIHNpemVvZihidWYpLCAiJXMvJXMiLCBwYXRoc1tpXSwgbmFtZSk7Ci0gICAgaWYgKG4gPCAwIHx8IG4gPj0gc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoYnVmKSkpIHsKLSAgICAgIFBSSU5UKCJXYXJuaW5nOiBpZ25vcmluZyB2ZXJ5IGxvbmcgbGlicmFyeSBwYXRoOiAlcy8lcyIsIHBhdGhzW2ldLCBuYW1lKTsKKyAgaWYgKHN0cmxjcHkoYnVmLCBwYXRoLCBzaXplb2YoYnVmKSkgPj0gc2l6ZW9mKGJ1ZikpIHsKKyAgICBQUklOVCgiV2FybmluZzogaWdub3JpbmcgdmVyeSBsb25nIGxpYnJhcnkgcGF0aDogJXMiLCBwYXRoKTsKKyAgICByZXR1cm4gLTE7CisgIH0KKworICBidWZbc2VwYXJhdG9yIC0gcGF0aF0gPSAnXDAnOworCisgIGNvbnN0IGNoYXIqIHppcF9wYXRoID0gYnVmOworICBjb25zdCBjaGFyKiBmaWxlX3BhdGggPSAmYnVmW3NlcGFyYXRvciAtIHBhdGggKyAxXTsKKyAgaW50IGZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4oemlwX3BhdGgsIE9fUkRPTkxZIHwgT19DTE9FWEVDKSk7CisgIGlmIChmZCA9PSAtMSkgeworICAgIHJldHVybiAtMTsKKyAgfQorCisgIFppcEFyY2hpdmVIYW5kbGUgaGFuZGxlOworICBpZiAoT3BlbkFyY2hpdmVGZChmZCwgIiIsICZoYW5kbGUsIGZhbHNlKSAhPSAwKSB7CisgICAgLy8gaW52YWxpZCB6aXAtZmlsZSAoPykKKyAgICBjbG9zZShmZCk7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgYXV0byBhcmNoaXZlX2d1YXJkID0gbWFrZV9zY29wZV9ndWFyZChbJl0oKSB7CisgICAgQ2xvc2VBcmNoaXZlKGhhbmRsZSk7CisgIH0pOworCisgIFppcEVudHJ5IGVudHJ5OworCisgIGlmIChGaW5kRW50cnkoaGFuZGxlLCBaaXBFbnRyeU5hbWUoZmlsZV9wYXRoKSwgJmVudHJ5KSAhPSAwKSB7CisgICAgLy8gRW50cnkgd2FzIG5vdCBmb3VuZC4KKyAgICBjbG9zZShmZCk7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgLy8gQ2hlY2sgaWYgaXQgaXMgcHJvcGVybHkgc3RvcmVkCisgIGlmIChlbnRyeS5tZXRob2QgIT0ga0NvbXByZXNzU3RvcmVkIHx8IChlbnRyeS5vZmZzZXQgJSBQQUdFX1NJWkUpICE9IDApIHsKKyAgICBjbG9zZShmZCk7CisgICAgcmV0dXJuIC0xOworICB9CisKKyAgKmZpbGVfb2Zmc2V0ID0gZW50cnkub2Zmc2V0OworICByZXR1cm4gZmQ7Cit9CisKK3N0YXRpYyBib29sIGZvcm1hdF9wYXRoKGNoYXIqIGJ1Ziwgc2l6ZV90IGJ1Zl9zaXplLCBjb25zdCBjaGFyKiBwYXRoLCBjb25zdCBjaGFyKiBuYW1lKSB7CisgIGludCBuID0gX19saWJjX2Zvcm1hdF9idWZmZXIoYnVmLCBidWZfc2l6ZSwgIiVzLyVzIiwgcGF0aCwgbmFtZSk7CisgIGlmIChuIDwgMCB8fCBuID49IHN0YXRpY19jYXN0PGludD4oYnVmX3NpemUpKSB7CisgICAgUFJJTlQoIldhcm5pbmc6IGlnbm9yaW5nIHZlcnkgbG9uZyBsaWJyYXJ5IHBhdGg6ICVzLyVzIiwgcGF0aCwgbmFtZSk7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBpbnQgb3Blbl9saWJyYXJ5X29uX2RlZmF1bHRfcGF0aChjb25zdCBjaGFyKiBuYW1lLCBvZmY2NF90KiBmaWxlX29mZnNldCkgeworICBmb3IgKHNpemVfdCBpID0gMDsga0RlZmF1bHRMZFBhdGhzW2ldICE9IG51bGxwdHI7ICsraSkgeworICAgIGNoYXIgYnVmWzUxMl07CisgICAgaWYgKCFmb3JtYXRfcGF0aChidWYsIHNpemVvZihidWYpLCBrRGVmYXVsdExkUGF0aHNbaV0sIG5hbWUpKSB7CiAgICAgICBjb250aW51ZTsKICAgICB9CisKICAgICBpbnQgZmQgPSBURU1QX0ZBSUxVUkVfUkVUUlkob3BlbihidWYsIE9fUkRPTkxZIHwgT19DTE9FWEVDKSk7CiAgICAgaWYgKGZkICE9IC0xKSB7CisgICAgICAqZmlsZV9vZmZzZXQgPSAwOworICAgICAgcmV0dXJuIGZkOworICAgIH0KKyAgfQorCisgIHJldHVybiAtMTsKK30KKworc3RhdGljIGludCBvcGVuX2xpYnJhcnlfb25fbGRfbGlicmFyeV9wYXRoKGNvbnN0IGNoYXIqIG5hbWUsIG9mZjY0X3QqIGZpbGVfb2Zmc2V0KSB7CisgIGZvciAoY29uc3QgYXV0byYgcGF0aF9zdHIgOiBnX2xkX2xpYnJhcnlfcGF0aHMpIHsKKyAgICBjaGFyIGJ1Zls1MTJdOworICAgIGNvbnN0IGNoYXIqIGNvbnN0IHBhdGggPSBwYXRoX3N0ci5jX3N0cigpOworICAgIGlmICghZm9ybWF0X3BhdGgoYnVmLCBzaXplb2YoYnVmKSwgcGF0aCwgbmFtZSkpIHsKKyAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIGludCBmZCA9IC0xOworICAgIGlmIChzdHJjaHIoYnVmLCAnIScpICE9IG51bGxwdHIpIHsKKyAgICAgIGZkID0gb3Blbl9saWJyYXJ5X2luX3ppcGZpbGUoYnVmLCBmaWxlX29mZnNldCk7CisgICAgfQorCisgICAgaWYgKGZkID09IC0xKSB7CisgICAgICBmZCA9IFRFTVBfRkFJTFVSRV9SRVRSWShvcGVuKGJ1ZiwgT19SRE9OTFkgfCBPX0NMT0VYRUMpKTsKKyAgICAgIGlmIChmZCAhPSAtMSkgeworICAgICAgICAqZmlsZV9vZmZzZXQgPSAwOworICAgICAgfQorICAgIH0KKworICAgIGlmIChmZCAhPSAtMSkgewogICAgICAgcmV0dXJuIGZkOwogICAgIH0KICAgfQorCiAgIHJldHVybiAtMTsKIH0KIAotc3RhdGljIGludCBvcGVuX2xpYnJhcnkoY29uc3QgY2hhciogbmFtZSkgeworc3RhdGljIGludCBvcGVuX2xpYnJhcnkoY29uc3QgY2hhciogbmFtZSwgb2ZmNjRfdCogZmlsZV9vZmZzZXQpIHsKICAgVFJBQ0UoIlsgb3BlbmluZyAlcyBdIiwgbmFtZSk7CiAKICAgLy8gSWYgdGhlIG5hbWUgY29udGFpbnMgYSBzbGFzaCwgd2Ugc2hvdWxkIGF0dGVtcHQgdG8gb3BlbiBpdCBkaXJlY3RseSBhbmQgbm90IHNlYXJjaCB0aGUgcGF0aHMuCiAgIGlmIChzdHJjaHIobmFtZSwgJy8nKSAhPSBudWxscHRyKSB7CisgICAgaWYgKHN0cmNocihuYW1lLCAnIScpICE9IG51bGxwdHIpIHsKKyAgICAgIGludCBmZCA9IG9wZW5fbGlicmFyeV9pbl96aXBmaWxlKG5hbWUsIGZpbGVfb2Zmc2V0KTsKKyAgICAgIGlmIChmZCAhPSAtMSkgeworICAgICAgICByZXR1cm4gZmQ7CisgICAgICB9CisgICAgfQorCiAgICAgaW50IGZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4obmFtZSwgT19SRE9OTFkgfCBPX0NMT0VYRUMpKTsKICAgICBpZiAoZmQgIT0gLTEpIHsKLSAgICAgIHJldHVybiBmZDsKKyAgICAgICpmaWxlX29mZnNldCA9IDA7CiAgICAgfQotICAgIC8vIC4uLmJ1dCBudmlkaWEgYmluYXJ5IGJsb2JzIChhdCBsZWFzdCkgcmVseSBvbiB0aGlzIGJlaGF2aW9yLCBzbyBmYWxsIHRocm91Z2ggZm9yIG5vdy4KLSNpZiBkZWZpbmVkKF9fTFA2NF9fKQotICAgIHJldHVybiAtMTsKLSNlbmRpZgorICAgIHJldHVybiBmZDsKICAgfQogCiAgIC8vIE90aGVyd2lzZSB3ZSB0cnkgTERfTElCUkFSWV9QQVRIIGZpcnN0LCBhbmQgZmFsbCBiYWNrIHRvIHRoZSBidWlsdC1pbiB3ZWxsIGtub3duIHBhdGhzLgotICBpbnQgZmQgPSBvcGVuX2xpYnJhcnlfb25fcGF0aChuYW1lLCBnX2xkX2xpYnJhcnlfcGF0aHMpOworICBpbnQgZmQgPSBvcGVuX2xpYnJhcnlfb25fbGRfbGlicmFyeV9wYXRoKG5hbWUsIGZpbGVfb2Zmc2V0KTsKICAgaWYgKGZkID09IC0xKSB7Ci0gICAgZmQgPSBvcGVuX2xpYnJhcnlfb25fcGF0aChuYW1lLCBrRGVmYXVsdExkUGF0aHMpOworICAgIGZkID0gb3Blbl9saWJyYXJ5X29uX2RlZmF1bHRfcGF0aChuYW1lLCBmaWxlX29mZnNldCk7CiAgIH0KICAgcmV0dXJuIGZkOwogfQpAQCAtNzc0LDcgKzEyMzIsOSBAQAogICB9CiB9CiAKLXN0YXRpYyBzb2luZm8qIGxvYWRfbGlicmFyeShMb2FkVGFza0xpc3QmIGxvYWRfdGFza3MsIGNvbnN0IGNoYXIqIG5hbWUsIGludCBkbGZsYWdzLCBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgeworc3RhdGljIHNvaW5mbyogbG9hZF9saWJyYXJ5KExvYWRUYXNrTGlzdCYgbG9hZF90YXNrcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLCBpbnQgcnRsZF9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgewogICBpbnQgZmQgPSAtMTsKICAgb2ZmNjRfdCBmaWxlX29mZnNldCA9IDA7CiAgIFNjb3BlZEZkIGZpbGVfZ3VhcmQoLTEpOwpAQCAtNzg2LDcgKzEyNDYsNyBAQAogICAgIH0KICAgfSBlbHNlIHsKICAgICAvLyBPcGVuIHRoZSBmaWxlLgotICAgIGZkID0gb3Blbl9saWJyYXJ5KG5hbWUpOworICAgIGZkID0gb3Blbl9saWJyYXJ5KG5hbWUsICZmaWxlX29mZnNldCk7CiAgICAgaWYgKGZkID09IC0xKSB7CiAgICAgICBETF9FUlIoImxpYnJhcnkgXCIlc1wiIG5vdCBmb3VuZCIsIG5hbWUpOwogICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC03OTksMzggKzEyNTksNTYgQEAKICAgICBETF9FUlIoImZpbGUgb2Zmc2V0IGZvciB0aGUgbGlicmFyeSBcIiVzXCIgaXMgbm90IHBhZ2UtYWxpZ25lZDogJSIgUFJJZDY0LCBuYW1lLCBmaWxlX29mZnNldCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiAgIH0KKyAgaWYgKGZpbGVfb2Zmc2V0IDwgMCkgeworICAgIERMX0VSUigiZmlsZSBvZmZzZXQgZm9yIHRoZSBsaWJyYXJ5IFwiJXNcIiBpcyBuZWdhdGl2ZTogJSIgUFJJZDY0LCBuYW1lLCBmaWxlX29mZnNldCk7CisgICAgcmV0dXJuIG51bGxwdHI7CisgIH0KIAogICBzdHJ1Y3Qgc3RhdCBmaWxlX3N0YXQ7CiAgIGlmIChURU1QX0ZBSUxVUkVfUkVUUlkoZnN0YXQoZmQsICZmaWxlX3N0YXQpKSAhPSAwKSB7CiAgICAgRExfRVJSKCJ1bmFibGUgdG8gc3RhdCBmaWxlIGZvciB0aGUgbGlicmFyeSBcIiVzXCI6ICVzIiwgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKICAgICByZXR1cm4gbnVsbHB0cjsKICAgfQorICBpZiAoZmlsZV9vZmZzZXQgPj0gZmlsZV9zdGF0LnN0X3NpemUpIHsKKyAgICBETF9FUlIoImZpbGUgb2Zmc2V0IGZvciB0aGUgbGlicmFyeSBcIiVzXCIgPj0gZmlsZSBzaXplOiAlIiBQUklkNjQgIiA+PSAlIiBQUklkNjQsCisgICAgICAgIG5hbWUsIGZpbGVfb2Zmc2V0LCBmaWxlX3N0YXQuc3Rfc2l6ZSk7CisgICAgcmV0dXJuIG51bGxwdHI7CisgIH0KIAogICAvLyBDaGVjayBmb3Igc3ltbGluayBhbmQgb3RoZXIgc2l0dWF0aW9ucyB3aGVyZQotICAvLyBmaWxlIGNhbiBoYXZlIGRpZmZlcmVudCBuYW1lcy4KLSAgZm9yIChzb2luZm8qIHNpID0gc29saXN0OyBzaSAhPSBudWxscHRyOyBzaSA9IHNpLT5uZXh0KSB7Ci0gICAgaWYgKHNpLT5nZXRfc3RfZGV2KCkgIT0gMCAmJgotICAgICAgICBzaS0+Z2V0X3N0X2lubygpICE9IDAgJiYKLSAgICAgICAgc2ktPmdldF9zdF9kZXYoKSA9PSBmaWxlX3N0YXQuc3RfZGV2ICYmCi0gICAgICAgIHNpLT5nZXRfc3RfaW5vKCkgPT0gZmlsZV9zdGF0LnN0X2lubyAmJgotICAgICAgICBzaS0+Z2V0X2ZpbGVfb2Zmc2V0KCkgPT0gZmlsZV9vZmZzZXQpIHsKLSAgICAgIFRSQUNFKCJsaWJyYXJ5IFwiJXNcIiBpcyBhbHJlYWR5IGxvYWRlZCB1bmRlciBkaWZmZXJlbnQgbmFtZS9wYXRoIFwiJXNcIiAtIHdpbGwgcmV0dXJuIGV4aXN0aW5nIHNvaW5mbyIsIG5hbWUsIHNpLT5uYW1lKTsKLSAgICAgIHJldHVybiBzaTsKKyAgLy8gZmlsZSBjYW4gaGF2ZSBkaWZmZXJlbnQgbmFtZXMsIHVubGVzcyBBTkRST0lEX0RMRVhUX0ZPUkNFX0xPQUQgaXMgc2V0CisgIGlmIChleHRpbmZvID09IG51bGxwdHIgfHwgKGV4dGluZm8tPmZsYWdzICYgQU5EUk9JRF9ETEVYVF9GT1JDRV9MT0FEKSA9PSAwKSB7CisgICAgZm9yIChzb2luZm8qIHNpID0gc29saXN0OyBzaSAhPSBudWxscHRyOyBzaSA9IHNpLT5uZXh0KSB7CisgICAgICBpZiAoc2ktPmdldF9zdF9kZXYoKSAhPSAwICYmCisgICAgICAgICAgc2ktPmdldF9zdF9pbm8oKSAhPSAwICYmCisgICAgICAgICAgc2ktPmdldF9zdF9kZXYoKSA9PSBmaWxlX3N0YXQuc3RfZGV2ICYmCisgICAgICAgICAgc2ktPmdldF9zdF9pbm8oKSA9PSBmaWxlX3N0YXQuc3RfaW5vICYmCisgICAgICAgICAgc2ktPmdldF9maWxlX29mZnNldCgpID09IGZpbGVfb2Zmc2V0KSB7CisgICAgICAgIFRSQUNFKCJsaWJyYXJ5IFwiJXNcIiBpcyBhbHJlYWR5IGxvYWRlZCB1bmRlciBkaWZmZXJlbnQgbmFtZS9wYXRoIFwiJXNcIiAtICIKKyAgICAgICAgICAgICJ3aWxsIHJldHVybiBleGlzdGluZyBzb2luZm8iLCBuYW1lLCBzaS0+Z2V0X3JlYWxwYXRoKCkpOworICAgICAgICByZXR1cm4gc2k7CisgICAgICB9CiAgICAgfQogICB9CiAKLSAgaWYgKChkbGZsYWdzICYgUlRMRF9OT0xPQUQpICE9IDApIHsKKyAgaWYgKChydGxkX2ZsYWdzICYgUlRMRF9OT0xPQUQpICE9IDApIHsKICAgICBETF9FUlIoImxpYnJhcnkgXCIlc1wiIHdhc24ndCBsb2FkZWQgYW5kIFJUTERfTk9MT0FEIHByZXZlbnRlZCBpdCIsIG5hbWUpOwogICAgIHJldHVybiBudWxscHRyOwogICB9CiAKKyAgc3RkOjpzdHJpbmcgcmVhbHBhdGggPSBuYW1lOworICBpZiAoIXJlYWxwYXRoX2ZkKGZkLCAmcmVhbHBhdGgpKSB7CisgICAgUFJJTlQoImNhbm5vdCByZXNvbHZlIHJlYWxwYXRoIGZvciB0aGUgbGlicmFyeSBcIiVzXCI6ICVzIiwgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICByZWFscGF0aCA9IG5hbWU7CisgIH0KKwogICAvLyBSZWFkIHRoZSBFTEYgaGVhZGVyIGFuZCBsb2FkIHRoZSBzZWdtZW50cy4KLSAgRWxmUmVhZGVyIGVsZl9yZWFkZXIobmFtZSwgZmQsIGZpbGVfb2Zmc2V0KTsKKyAgRWxmUmVhZGVyIGVsZl9yZWFkZXIocmVhbHBhdGguY19zdHIoKSwgZmQsIGZpbGVfb2Zmc2V0KTsKICAgaWYgKCFlbGZfcmVhZGVyLkxvYWQoZXh0aW5mbykpIHsKICAgICByZXR1cm4gbnVsbHB0cjsKICAgfQogCi0gIHNvaW5mbyogc2kgPSBzb2luZm9fYWxsb2MoU0VBUkNIX05BTUUobmFtZSksICZmaWxlX3N0YXQsIGZpbGVfb2Zmc2V0KTsKKyAgc29pbmZvKiBzaSA9IHNvaW5mb19hbGxvYyhyZWFscGF0aC5jX3N0cigpLCAmZmlsZV9zdGF0LCBmaWxlX29mZnNldCwgcnRsZF9mbGFncyk7CiAgIGlmIChzaSA9PSBudWxscHRyKSB7CiAgICAgcmV0dXJuIG51bGxwdHI7CiAgIH0KQEAgLTg0MCw3ICsxMzE4LDcgQEAKICAgc2ktPnBobnVtID0gZWxmX3JlYWRlci5waGRyX2NvdW50KCk7CiAgIHNpLT5waGRyID0gZWxmX3JlYWRlci5sb2FkZWRfcGhkcigpOwogCi0gIGlmICghc2ktPlByZWxpbmtJbWFnZSgpKSB7CisgIGlmICghc2ktPnByZWxpbmtfaW1hZ2UoKSkgewogICAgIHNvaW5mb19mcmVlKHNpKTsKICAgICByZXR1cm4gbnVsbHB0cjsKICAgfQpAQCAtODUyLDI1ICsxMzMwLDMwIEBACiAgIHJldHVybiBzaTsKIH0KIAotc3RhdGljIHNvaW5mbyAqZmluZF9sb2FkZWRfbGlicmFyeV9ieV9uYW1lKGNvbnN0IGNoYXIqIG5hbWUpIHsKLSAgY29uc3QgY2hhciogc2VhcmNoX25hbWUgPSBTRUFSQ0hfTkFNRShuYW1lKTsKK3N0YXRpYyBzb2luZm8gKmZpbmRfbG9hZGVkX2xpYnJhcnlfYnlfc29uYW1lKGNvbnN0IGNoYXIqIG5hbWUpIHsKKyAgLy8gSWdub3JlIGZpbGVuYW1lIHdpdGggcGF0aC4KKyAgaWYgKHN0cmNocihuYW1lLCAnLycpICE9IG51bGxwdHIpIHsKKyAgICByZXR1cm4gbnVsbHB0cjsKKyAgfQorCiAgIGZvciAoc29pbmZvKiBzaSA9IHNvbGlzdDsgc2kgIT0gbnVsbHB0cjsgc2kgPSBzaS0+bmV4dCkgewotICAgIGlmICghc3RyY21wKHNlYXJjaF9uYW1lLCBzaS0+bmFtZSkpIHsKKyAgICBjb25zdCBjaGFyKiBzb25hbWUgPSBzaS0+Z2V0X3NvbmFtZSgpOworICAgIGlmIChzb25hbWUgIT0gbnVsbHB0ciAmJiAoc3RyY21wKG5hbWUsIHNvbmFtZSkgPT0gMCkpIHsKICAgICAgIHJldHVybiBzaTsKICAgICB9CiAgIH0KICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXN0YXRpYyBzb2luZm8qIGZpbmRfbGlicmFyeV9pbnRlcm5hbChMb2FkVGFza0xpc3QmIGxvYWRfdGFza3MsIGNvbnN0IGNoYXIqIG5hbWUsIGludCBkbGZsYWdzLCBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgewotCi0gIHNvaW5mbyogc2kgPSBmaW5kX2xvYWRlZF9saWJyYXJ5X2J5X25hbWUobmFtZSk7CitzdGF0aWMgc29pbmZvKiBmaW5kX2xpYnJhcnlfaW50ZXJuYWwoTG9hZFRhc2tMaXN0JiBsb2FkX3Rhc2tzLCBjb25zdCBjaGFyKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBydGxkX2ZsYWdzLCBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgeworICBzb2luZm8qIHNpID0gZmluZF9sb2FkZWRfbGlicmFyeV9ieV9zb25hbWUobmFtZSk7CiAKICAgLy8gTGlicmFyeSBtaWdodCBzdGlsbCBiZSBsb2FkZWQsIHRoZSBhY2N1cmF0ZSBkZXRlY3Rpb24KICAgLy8gb2YgdGhpcyBmYWN0IGlzIGRvbmUgYnkgbG9hZF9saWJyYXJ5LgogICBpZiAoc2kgPT0gbnVsbHB0cikgewotICAgIFRSQUNFKCJbICclcycgaGFzIG5vdCBiZWVuIGZvdW5kIGJ5IG5hbWUuICBUcnlpbmcgaGFyZGVyLi4uXSIsIG5hbWUpOwotICAgIHNpID0gbG9hZF9saWJyYXJ5KGxvYWRfdGFza3MsIG5hbWUsIGRsZmxhZ3MsIGV4dGluZm8pOworICAgIFRSQUNFKCJbICclcycgaGFzIG5vdCBiZWVuIGZvdW5kIGJ5IHNvbmFtZS4gIFRyeWluZyBoYXJkZXIuLi5dIiwgbmFtZSk7CisgICAgc2kgPSBsb2FkX2xpYnJhcnkobG9hZF90YXNrcywgbmFtZSwgcnRsZF9mbGFncywgZXh0aW5mbyk7CiAgIH0KIAogICByZXR1cm4gc2k7CkBAIC04NzgsMzQgKzEzNjEsNTIgQEAKIAogc3RhdGljIHZvaWQgc29pbmZvX3VubG9hZChzb2luZm8qIHNpKTsKIAotc3RhdGljIGJvb2wgaXNfcmVjdXJzaXZlKHNvaW5mbyogc2ksIHNvaW5mbyogcGFyZW50KSB7Ci0gIGlmIChwYXJlbnQgPT0gbnVsbHB0cikgewotICAgIHJldHVybiBmYWxzZTsKKy8vIFRPRE86IHRoaXMgaXMgc2xpZ2h0bHkgdW51c3VhbCB3YXkgdG8gY29uc3RydWN0CisvLyB0aGUgZ2xvYmFsIGdyb3VwIGZvciByZWxvY2F0aW9uLiBOb3QgZXZlcnkgUlRMRF9HTE9CQUwKKy8vIGxpYnJhcnkgaXMgaW5jbHVkZWQgaW4gdGhpcyBncm91cCBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkKKy8vIHJlYXNvbnMuCisvLworLy8gVGhpcyBncm91cCBjb25zaXN0cyBvZiB0aGUgbWFpbiBleGVjdXRhYmxlLCBMRF9QUkVMT0FEcworLy8gYW5kIGxpYnJhcmllcyB3aXRoIHRoZSBERl8xX0dMT0JBTCBmbGFnIHNldC4KK3N0YXRpYyBzb2luZm86OnNvaW5mb19saXN0X3QgbWFrZV9nbG9iYWxfZ3JvdXAoKSB7CisgIHNvaW5mbzo6c29pbmZvX2xpc3RfdCBnbG9iYWxfZ3JvdXA7CisgIGZvciAoc29pbmZvKiBzaSA9IHNvbWFpbjsgc2kgIT0gbnVsbHB0cjsgc2kgPSBzaS0+bmV4dCkgeworICAgIGlmICgoc2ktPmdldF9kdF9mbGFnc18xKCkgJiBERl8xX0dMT0JBTCkgIT0gMCkgeworICAgICAgZ2xvYmFsX2dyb3VwLnB1c2hfYmFjayhzaSk7CisgICAgfQogICB9CiAKLSAgaWYgKHNpID09IHBhcmVudCkgewotICAgIERMX0VSUigicmVjdXJzaXZlIGxpbmsgdG8gXCIlc1wiIiwgc2ktPm5hbWUpOwotICAgIHJldHVybiB0cnVlOwotICB9Ci0KLSAgcmV0dXJuICFwYXJlbnQtPmdldF9wYXJlbnRzKCkudmlzaXQoWyZdKHNvaW5mbyogZ3JhbmRwYXJlbnQpIHsKLSAgICByZXR1cm4gIWlzX3JlY3Vyc2l2ZShzaSwgZ3JhbmRwYXJlbnQpOwotICB9KTsKKyAgcmV0dXJuIGdsb2JhbF9ncm91cDsKIH0KIAotc3RhdGljIGJvb2wgZmluZF9saWJyYXJpZXMoY29uc3QgY2hhciogY29uc3QgbGlicmFyeV9uYW1lc1tdLCBzaXplX3QgbGlicmFyeV9uYW1lc19zaXplLCBzb2luZm8qIHNvaW5mb3NbXSwKLSAgICBzb2luZm8qIGxkX3ByZWxvYWRzW10sIHNpemVfdCBsZF9wcmVsb2Fkc19zaXplLCBpbnQgZGxmbGFncywgY29uc3QgYW5kcm9pZF9kbGV4dGluZm8qIGV4dGluZm8pIHsKK3N0YXRpYyBib29sIGZpbmRfbGlicmFyaWVzKHNvaW5mbyogc3RhcnRfd2l0aCwgY29uc3QgY2hhciogY29uc3QgbGlicmFyeV9uYW1lc1tdLAorICAgICAgc2l6ZV90IGxpYnJhcnlfbmFtZXNfY291bnQsIHNvaW5mbyogc29pbmZvc1tdLCBzdGQ6OnZlY3Rvcjxzb2luZm8qPiogbGRfcHJlbG9hZHMsCisgICAgICBzaXplX3QgbGRfcHJlbG9hZHNfY291bnQsIGludCBydGxkX2ZsYWdzLCBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgewogICAvLyBTdGVwIDA6IHByZXBhcmUuCiAgIExvYWRUYXNrTGlzdCBsb2FkX3Rhc2tzOwotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpYnJhcnlfbmFtZXNfc2l6ZTsgKytpKSB7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlicmFyeV9uYW1lc19jb3VudDsgKytpKSB7CiAgICAgY29uc3QgY2hhciogbmFtZSA9IGxpYnJhcnlfbmFtZXNbaV07Ci0gICAgbG9hZF90YXNrcy5wdXNoX2JhY2soTG9hZFRhc2s6OmNyZWF0ZShuYW1lLCBudWxscHRyKSk7CisgICAgbG9hZF90YXNrcy5wdXNoX2JhY2soTG9hZFRhc2s6OmNyZWF0ZShuYW1lLCBzdGFydF93aXRoKSk7CiAgIH0KIAotICAvLyBMaWJyYXJpZXMgYWRkZWQgdG8gdGhpcyBsaXN0IGluIHJldmVyc2Ugb3JkZXIgc28gdGhhdCB3ZSBjYW4KLSAgLy8gc3RhcnQgbGlua2luZyBmcm9tIGJvdHRvbS11cCAtIHNlZSBzdGVwIDIuCi0gIFNvaW5mb0xpbmtlZExpc3QgZm91bmRfbGliczsKLSAgc2l6ZV90IHNvaW5mb3Nfc2l6ZSA9IDA7CisgIC8vIENvbnN0cnVjdCBnbG9iYWxfZ3JvdXAuCisgIHNvaW5mbzo6c29pbmZvX2xpc3RfdCBnbG9iYWxfZ3JvdXAgPSBtYWtlX2dsb2JhbF9ncm91cCgpOworCisgIC8vIElmIHNvaW5mb3MgYXJyYXkgaXMgbnVsbCBhbGxvY2F0ZSBvbmUgb24gc3RhY2suCisgIC8vIFRoZSBhcnJheSBpcyBuZWVkZWQgaW4gY2FzZSBvZiBmYWlsdXJlOyBmb3IgZXhhbXBsZQorICAvLyB3aGVuIGxpYnJhcnlfbmFtZXNbXSA9IHtsaWJvbmUuc28sIGxpYnR3by5zb30gYW5kIGxpYm9uZS5zbworICAvLyBpcyBsb2FkZWQgY29ycmVjdGx5IGJ1dCBsaWJ0d28uc28gZmFpbGVkIGZvciBzb21lIHJlYXNvbi4KKyAgLy8gSW4gdGhpcyBjYXNlIGxpYm9uZS5zbyBzaG91bGQgYmUgdW5sb2FkZWQgb24gcmV0dXJuLgorICAvLyBTZWUgYWxzbyBpbXBsZW1lbnRhdGlvbiBvZiBmYWlsdXJlX2d1YXJkIGJlbG93LgorCisgIGlmIChzb2luZm9zID09IG51bGxwdHIpIHsKKyAgICBzaXplX3Qgc29pbmZvc19zaXplID0gc2l6ZW9mKHNvaW5mbyopKmxpYnJhcnlfbmFtZXNfY291bnQ7CisgICAgc29pbmZvcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8c29pbmZvKio+KGFsbG9jYShzb2luZm9zX3NpemUpKTsKKyAgICBtZW1zZXQoc29pbmZvcywgMCwgc29pbmZvc19zaXplKTsKKyAgfQorCisgIC8vIGxpc3Qgb2YgbGlicmFyaWVzIHRvIGxpbmsgLSBzZWUgc3RlcCAyLgorICBzaXplX3Qgc29pbmZvc19jb3VudCA9IDA7CiAKICAgYXV0byBmYWlsdXJlX2d1YXJkID0gbWFrZV9zY29wZV9ndWFyZChbJl0oKSB7CiAgICAgLy8gSG91c2VrZWVwaW5nCkBAIC05MTMsMTA0ICsxNDE0LDE4MiBAQAogICAgICAgTG9hZFRhc2s6OmRlbGV0ZXIodCk7CiAgICAgfSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaTxzb2luZm9zX3NpemU7ICsraSkgeworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpPHNvaW5mb3NfY291bnQ7ICsraSkgewogICAgICAgc29pbmZvX3VubG9hZChzb2luZm9zW2ldKTsKICAgICB9CiAgIH0pOwogCiAgIC8vIFN0ZXAgMTogbG9hZCBhbmQgcHJlLWxpbmsgYWxsIERUX05FRURFRCBsaWJyYXJpZXMgaW4gYnJlYWR0aCBmaXJzdCBvcmRlci4KLSAgZm9yIChMb2FkVGFzazo6dW5pcXVlX3B0ciB0YXNrKGxvYWRfdGFza3MucG9wX2Zyb250KCkpOyB0YXNrLmdldCgpICE9IG51bGxwdHI7IHRhc2sucmVzZXQobG9hZF90YXNrcy5wb3BfZnJvbnQoKSkpIHsKLSAgICBzb2luZm8qIHNpID0gZmluZF9saWJyYXJ5X2ludGVybmFsKGxvYWRfdGFza3MsIHRhc2stPmdldF9uYW1lKCksIGRsZmxhZ3MsIGV4dGluZm8pOworICBmb3IgKExvYWRUYXNrOjp1bmlxdWVfcHRyIHRhc2sobG9hZF90YXNrcy5wb3BfZnJvbnQoKSk7CisgICAgICB0YXNrLmdldCgpICE9IG51bGxwdHI7IHRhc2sucmVzZXQobG9hZF90YXNrcy5wb3BfZnJvbnQoKSkpIHsKKyAgICBzb2luZm8qIHNpID0gZmluZF9saWJyYXJ5X2ludGVybmFsKGxvYWRfdGFza3MsIHRhc2stPmdldF9uYW1lKCksIHJ0bGRfZmxhZ3MsIGV4dGluZm8pOwogICAgIGlmIChzaSA9PSBudWxscHRyKSB7CiAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgc29pbmZvKiBuZWVkZWRfYnkgPSB0YXNrLT5nZXRfbmVlZGVkX2J5KCk7CiAKLSAgICBpZiAoaXNfcmVjdXJzaXZlKHNpLCBuZWVkZWRfYnkpKSB7Ci0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgc2ktPnJlZl9jb3VudCsrOwogICAgIGlmIChuZWVkZWRfYnkgIT0gbnVsbHB0cikgewogICAgICAgbmVlZGVkX2J5LT5hZGRfY2hpbGQoc2kpOwogICAgIH0KLSAgICBmb3VuZF9saWJzLnB1c2hfZnJvbnQoc2kpOwogCi0gICAgLy8gV2hlbiBsZF9wcmVsb2FkcyBpcyBub3QgbnVsbCBmaXJzdAotICAgIC8vIGxkX3ByZWxvYWRzX3NpemUgbGlicyBhcmUgaW4gZmFjdCBsZF9wcmVsb2Fkcy4KLSAgICBpZiAobGRfcHJlbG9hZHMgIT0gbnVsbHB0ciAmJiBzb2luZm9zX3NpemUgPCBsZF9wcmVsb2Fkc19zaXplKSB7Ci0gICAgICBsZF9wcmVsb2Fkc1tzb2luZm9zX3NpemVdID0gc2k7CisgICAgaWYgKHNpLT5pc19saW5rZWQoKSkgeworICAgICAgc2ktPmluY3JlbWVudF9yZWZfY291bnQoKTsKICAgICB9CiAKLSAgICBpZiAoc29pbmZvc19zaXplPGxpYnJhcnlfbmFtZXNfc2l6ZSkgewotICAgICAgc29pbmZvc1tzb2luZm9zX3NpemUrK10gPSBzaTsKKyAgICAvLyBXaGVuIGxkX3ByZWxvYWRzIGlzIG5vdCBudWxsLCB0aGUgZmlyc3QKKyAgICAvLyBsZF9wcmVsb2Fkc19jb3VudCBsaWJzIGFyZSBpbiBmYWN0IGxkX3ByZWxvYWRzLgorICAgIGlmIChsZF9wcmVsb2FkcyAhPSBudWxscHRyICYmIHNvaW5mb3NfY291bnQgPCBsZF9wcmVsb2Fkc19jb3VudCkgeworICAgICAgLy8gQWRkIExEX1BSRUxPQURlZCBsaWJyYXJpZXMgdG8gdGhlIGdsb2JhbCBncm91cCBmb3IgZnV0dXJlIHJ1bnMuCisgICAgICAvLyBUaGVyZSBpcyBubyBuZWVkIHRvIGV4cGxpY2l0bHkgYWRkIHRoZW0gdG8gdGhlIGdsb2JhbCBncm91cAorICAgICAgLy8gZm9yIHRoaXMgcnVuIGJlY2F1c2UgdGhleSBhcmUgZ29pbmcgdG8gYXBwZWFyIGluIHRoZSBsb2NhbAorICAgICAgLy8gZ3JvdXAgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuCisgICAgICBzaS0+c2V0X2R0X2ZsYWdzXzEoc2ktPmdldF9kdF9mbGFnc18xKCkgfCBERl8xX0dMT0JBTCk7CisgICAgICBsZF9wcmVsb2Fkcy0+cHVzaF9iYWNrKHNpKTsKKyAgICB9CisKKyAgICBpZiAoc29pbmZvc19jb3VudCA8IGxpYnJhcnlfbmFtZXNfY291bnQpIHsKKyAgICAgIHNvaW5mb3Nbc29pbmZvc19jb3VudCsrXSA9IHNpOwogICAgIH0KICAgfQogCiAgIC8vIFN0ZXAgMjogbGluayBsaWJyYXJpZXMuCi0gIHNvaW5mbyogc2k7Ci0gIHdoaWxlICgoc2kgPSBmb3VuZF9saWJzLnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7Ci0gICAgaWYgKChzaS0+ZmxhZ3MgJiBGTEFHX0xJTktFRCkgPT0gMCkgewotICAgICAgaWYgKCFzaS0+TGlua0ltYWdlKGV4dGluZm8pKSB7CisgIHNvaW5mbzo6c29pbmZvX2xpc3RfdCBsb2NhbF9ncm91cDsKKyAgd2Fsa19kZXBlbmRlbmNpZXNfdHJlZSgKKyAgICAgIHN0YXJ0X3dpdGggPT0gbnVsbHB0ciA/IHNvaW5mb3MgOiAmc3RhcnRfd2l0aCwKKyAgICAgIHN0YXJ0X3dpdGggPT0gbnVsbHB0ciA/IHNvaW5mb3NfY291bnQgOiAxLAorICAgICAgWyZdIChzb2luZm8qIHNpKSB7CisgICAgbG9jYWxfZ3JvdXAucHVzaF9iYWNrKHNpKTsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSk7CisKKyAgLy8gV2UgbmVlZCB0byBpbmNyZW1lbnQgcmVmX2NvdW50IGluIGNhc2UKKyAgLy8gdGhlIHJvb3Qgb2YgdGhlIGxvY2FsIGdyb3VwIHdhcyBub3QgbGlua2VkLgorICBib29sIHdhc19sb2NhbF9ncm91cF9yb290X2xpbmtlZCA9IGxvY2FsX2dyb3VwLmZyb250KCktPmlzX2xpbmtlZCgpOworCisgIGJvb2wgbGlua2VkID0gbG9jYWxfZ3JvdXAudmlzaXQoWyZdKHNvaW5mbyogc2kpIHsKKyAgICBpZiAoIXNpLT5pc19saW5rZWQoKSkgeworICAgICAgaWYgKCFzaS0+bGlua19pbWFnZShnbG9iYWxfZ3JvdXAsIGxvY2FsX2dyb3VwLCBleHRpbmZvKSkgewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9Ci0gICAgICBzaS0+ZmxhZ3MgfD0gRkxBR19MSU5LRUQ7CisgICAgICBzaS0+c2V0X2xpbmtlZCgpOwogICAgIH0KKworICAgIHJldHVybiB0cnVlOworICB9KTsKKworICBpZiAobGlua2VkKSB7CisgICAgZmFpbHVyZV9ndWFyZC5kaXNhYmxlKCk7CiAgIH0KIAotICAvLyBBbGwgaXMgd2VsbCAtIGZvdW5kX2xpYnMgYW5kIGxvYWRfdGFza3MgYXJlIGVtcHR5IGF0IHRoaXMgcG9pbnQKLSAgLy8gYW5kIGFsbCBsaWJzIGFyZSBzdWNjZXNzZnVsbHkgbGlua2VkLgotICBmYWlsdXJlX2d1YXJkLmRpc2FibGUoKTsKLSAgcmV0dXJuIHRydWU7CisgIGlmICghd2FzX2xvY2FsX2dyb3VwX3Jvb3RfbGlua2VkKSB7CisgICAgbG9jYWxfZ3JvdXAuZnJvbnQoKS0+aW5jcmVtZW50X3JlZl9jb3VudCgpOworICB9CisKKyAgcmV0dXJuIGxpbmtlZDsKIH0KIAotc3RhdGljIHNvaW5mbyogZmluZF9saWJyYXJ5KGNvbnN0IGNoYXIqIG5hbWUsIGludCBkbGZsYWdzLCBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgewotICBpZiAobmFtZSA9PSBudWxscHRyKSB7Ci0gICAgc29tYWluLT5yZWZfY291bnQrKzsKLSAgICByZXR1cm4gc29tYWluOwotICB9Ci0KK3N0YXRpYyBzb2luZm8qIGZpbmRfbGlicmFyeShjb25zdCBjaGFyKiBuYW1lLCBpbnQgcnRsZF9mbGFncywgY29uc3QgYW5kcm9pZF9kbGV4dGluZm8qIGV4dGluZm8pIHsKICAgc29pbmZvKiBzaTsKIAotICBpZiAoIWZpbmRfbGlicmFyaWVzKCZuYW1lLCAxLCAmc2ksIG51bGxwdHIsIDAsIGRsZmxhZ3MsIGV4dGluZm8pKSB7CisgIGlmIChuYW1lID09IG51bGxwdHIpIHsKKyAgICBzaSA9IHNvbWFpbjsKKyAgfSBlbHNlIGlmICghZmluZF9saWJyYXJpZXMobnVsbHB0ciwgJm5hbWUsIDEsICZzaSwgbnVsbHB0ciwgMCwgcnRsZF9mbGFncywgZXh0aW5mbykpIHsKICAgICByZXR1cm4gbnVsbHB0cjsKICAgfQogCiAgIHJldHVybiBzaTsKIH0KIAotc3RhdGljIHZvaWQgc29pbmZvX3VubG9hZChzb2luZm8qIHNpKSB7Ci0gIGlmIChzaS0+cmVmX2NvdW50ID09IDEpIHsKLSAgICBUUkFDRSgidW5sb2FkaW5nICclcyciLCBzaS0+bmFtZSk7Ci0gICAgc2ktPkNhbGxEZXN0cnVjdG9ycygpOworc3RhdGljIHZvaWQgc29pbmZvX3VubG9hZChzb2luZm8qIHJvb3QpIHsKKyAgLy8gTm90ZSB0aGF0IHRoZSBsaWJyYXJ5IGNhbiBiZSBsb2FkZWQgYnV0IG5vdCBsaW5rZWQ7CisgIC8vIGluIHdoaWNoIGNhc2UgdGhlcmUgaXMgbm8gcm9vdCBidXQgd2Ugc3RpbGwgbmVlZAorICAvLyB0byB3YWxrIHRoZSB0cmVlIGFuZCB1bmxvYWQgc29pbmZvcyBpbnZvbHZlZC4KKyAgLy8KKyAgLy8gVGhpcyBoYXBwZW5zIG9uIHVuc3VjY2Vzc2Z1bCBkbG9wZW4sIHdoZW4gb25lIG9mCisgIC8vIHRoZSBEVF9ORUVERUQgbGlicmFyaWVzIGNvdWxkIG5vdCBiZSBsaW5rZWQvZm91bmQuCisgIGlmIChyb290LT5pc19saW5rZWQoKSkgeworICAgIHJvb3QgPSByb290LT5nZXRfbG9jYWxfZ3JvdXBfcm9vdCgpOworICB9CiAKLSAgICBpZiAoc2ktPmhhc19taW5fdmVyc2lvbigwKSkgewotICAgICAgc29pbmZvKiBjaGlsZCA9IG51bGxwdHI7Ci0gICAgICB3aGlsZSAoKGNoaWxkID0gc2ktPmdldF9jaGlsZHJlbigpLnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7Ci0gICAgICAgIFRSQUNFKCIlcyBuZWVkcyB0byB1bmxvYWQgJXMiLCBzaS0+bmFtZSwgY2hpbGQtPm5hbWUpOwotICAgICAgICBzb2luZm9fdW5sb2FkKGNoaWxkKTsKKyAgaWYgKCFyb290LT5jYW5fdW5sb2FkKCkpIHsKKyAgICBUUkFDRSgibm90IHVubG9hZGluZyAnJXMnIC0gdGhlIGJpbmFyeSBpcyBmbGFnZ2VkIHdpdGggTk9ERUxFVEUiLCByb290LT5nZXRfc29uYW1lKCkpOworICAgIHJldHVybjsKKyAgfQorCisgIHNpemVfdCByZWZfY291bnQgPSByb290LT5pc19saW5rZWQoKSA/IHJvb3QtPmRlY3JlbWVudF9yZWZfY291bnQoKSA6IDA7CisKKyAgaWYgKHJlZl9jb3VudCA9PSAwKSB7CisgICAgc29pbmZvOjpzb2luZm9fbGlzdF90IGxvY2FsX3VubG9hZF9saXN0OworICAgIHNvaW5mbzo6c29pbmZvX2xpc3RfdCBleHRlcm5hbF91bmxvYWRfbGlzdDsKKyAgICBzb2luZm86OnNvaW5mb19saXN0X3QgZGVwdGhfZmlyc3RfbGlzdDsKKyAgICBkZXB0aF9maXJzdF9saXN0LnB1c2hfYmFjayhyb290KTsKKyAgICBzb2luZm8qIHNpID0gbnVsbHB0cjsKKworICAgIHdoaWxlICgoc2kgPSBkZXB0aF9maXJzdF9saXN0LnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7CisgICAgICBpZiAobG9jYWxfdW5sb2FkX2xpc3QuY29udGFpbnMoc2kpKSB7CisgICAgICAgIGNvbnRpbnVlOwogICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICBmb3JfZWFjaF9kdF9uZWVkZWQoc2ksIFsmXSAoY29uc3QgY2hhciogbGlicmFyeV9uYW1lKSB7Ci0gICAgICAgIFRSQUNFKCJkZXByZWNhdGVkIChvbGQgZm9ybWF0IG9mIHNvaW5mbyk6ICVzIG5lZWRzIHRvIHVubG9hZCAlcyIsIHNpLT5uYW1lLCBsaWJyYXJ5X25hbWUpOwotICAgICAgICBzb2luZm8qIG5lZWRlZCA9IGZpbmRfbGlicmFyeShsaWJyYXJ5X25hbWUsIFJUTERfTk9MT0FELCBudWxscHRyKTsKLSAgICAgICAgaWYgKG5lZWRlZCAhPSBudWxscHRyKSB7Ci0gICAgICAgICAgc29pbmZvX3VubG9hZChuZWVkZWQpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIC8vIE5vdCBmb3VuZDogZm9yIGV4YW1wbGUgaWYgc3ltbGluayB3YXMgZGVsZXRlZCBiZXR3ZWVuIGRsb3BlbiBhbmQgZGxjbG9zZQotICAgICAgICAgIC8vIFNpbmNlIHdlIGNhbm5vdCByZWFsbHkgaGFuZGxlIGVycm9ycyBhdCB0aGlzIHBvaW50IC0gcHJpbnQgYW5kIGNvbnRpbnVlLgotICAgICAgICAgIFBSSU5UKCJ3YXJuaW5nOiBjb3VsZG4ndCBmaW5kICVzIG5lZWRlZCBieSAlcyBvbiB1bmxvYWQuIiwgbGlicmFyeV9uYW1lLCBzaS0+bmFtZSk7CisKKyAgICAgIGxvY2FsX3VubG9hZF9saXN0LnB1c2hfYmFjayhzaSk7CisKKyAgICAgIGlmIChzaS0+aGFzX21pbl92ZXJzaW9uKDApKSB7CisgICAgICAgIHNvaW5mbyogY2hpbGQgPSBudWxscHRyOworICAgICAgICB3aGlsZSAoKGNoaWxkID0gc2ktPmdldF9jaGlsZHJlbigpLnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7CisgICAgICAgICAgVFJBQ0UoIiVzQCVwIG5lZWRzIHRvIHVubG9hZCAlc0AlcCIsIHNpLT5nZXRfc29uYW1lKCksIHNpLCBjaGlsZC0+Z2V0X3NvbmFtZSgpLCBjaGlsZCk7CisgICAgICAgICAgaWYgKGxvY2FsX3VubG9hZF9saXN0LmNvbnRhaW5zKGNoaWxkKSkgeworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZC0+aXNfbGlua2VkKCkgJiYgY2hpbGQtPmdldF9sb2NhbF9ncm91cF9yb290KCkgIT0gcm9vdCkgeworICAgICAgICAgICAgZXh0ZXJuYWxfdW5sb2FkX2xpc3QucHVzaF9iYWNrKGNoaWxkKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVwdGhfZmlyc3RfbGlzdC5wdXNoX2Zyb250KGNoaWxkKTsKKyAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgIH0pOworICAgICAgfSBlbHNlIHsKKyNpZiAhZGVmaW5lZChfX2FybV9fKQorICAgICAgICBfX2xpYmNfZmF0YWwoInNvaW5mbyBmb3IgXCIlc1wiQCVwIGhhcyBubyB2ZXJzaW9uIiwgc2ktPmdldF9zb25hbWUoKSwgc2kpOworI2Vsc2UKKyAgICAgICAgUFJJTlQoIndhcm5pbmc6IHNvaW5mbyBmb3IgXCIlc1wiQCVwIGhhcyBubyB2ZXJzaW9uIiwgc2ktPmdldF9zb25hbWUoKSwgc2kpOworICAgICAgICBmb3JfZWFjaF9kdF9uZWVkZWQoc2ksIFsmXSAoY29uc3QgY2hhciogbGlicmFyeV9uYW1lKSB7CisgICAgICAgICAgVFJBQ0UoImRlcHJlY2F0ZWQgKG9sZCBmb3JtYXQgb2Ygc29pbmZvKTogJXMgbmVlZHMgdG8gdW5sb2FkICVzIiwKKyAgICAgICAgICAgICAgc2ktPmdldF9zb25hbWUoKSwgbGlicmFyeV9uYW1lKTsKKworICAgICAgICAgIHNvaW5mbyogbmVlZGVkID0gZmluZF9saWJyYXJ5KGxpYnJhcnlfbmFtZSwgUlRMRF9OT0xPQUQsIG51bGxwdHIpOworICAgICAgICAgIGlmIChuZWVkZWQgIT0gbnVsbHB0cikgeworICAgICAgICAgICAgLy8gTm90IGZvdW5kOiBmb3IgZXhhbXBsZSBpZiBzeW1saW5rIHdhcyBkZWxldGVkIGJldHdlZW4gZGxvcGVuIGFuZCBkbGNsb3NlCisgICAgICAgICAgICAvLyBTaW5jZSB3ZSBjYW5ub3QgcmVhbGx5IGhhbmRsZSBlcnJvcnMgYXQgdGhpcyBwb2ludCAtIHByaW50IGFuZCBjb250aW51ZS4KKyAgICAgICAgICAgIFBSSU5UKCJ3YXJuaW5nOiBjb3VsZG4ndCBmaW5kICVzIG5lZWRlZCBieSAlcyBvbiB1bmxvYWQuIiwKKyAgICAgICAgICAgICAgICBsaWJyYXJ5X25hbWUsIHNpLT5nZXRfc29uYW1lKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgIH0gZWxzZSBpZiAobG9jYWxfdW5sb2FkX2xpc3QuY29udGFpbnMobmVlZGVkKSkgeworICAgICAgICAgICAgLy8gYWxyZWFkeSB2aXNpdGVkCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgfSBlbHNlIGlmIChuZWVkZWQtPmlzX2xpbmtlZCgpICYmIG5lZWRlZC0+Z2V0X2xvY2FsX2dyb3VwX3Jvb3QoKSAhPSByb290KSB7CisgICAgICAgICAgICAvLyBleHRlcm5hbCBncm91cAorICAgICAgICAgICAgZXh0ZXJuYWxfdW5sb2FkX2xpc3QucHVzaF9iYWNrKG5lZWRlZCk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIGxvY2FsIGdyb3VwCisgICAgICAgICAgICBkZXB0aF9maXJzdF9saXN0LnB1c2hfZnJvbnQobmVlZGVkKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pOworI2VuZGlmCisgICAgICB9CiAgICAgfQogCi0gICAgbm90aWZ5X2dkYl9vZl91bmxvYWQoc2kpOwotICAgIHNpLT5yZWZfY291bnQgPSAwOwotICAgIHNvaW5mb19mcmVlKHNpKTsKKyAgICBsb2NhbF91bmxvYWRfbGlzdC5mb3JfZWFjaChbXShzb2luZm8qIHNpKSB7CisgICAgICBzaS0+Y2FsbF9kZXN0cnVjdG9ycygpOworICAgIH0pOworCisgICAgd2hpbGUgKChzaSA9IGxvY2FsX3VubG9hZF9saXN0LnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7CisgICAgICBub3RpZnlfZ2RiX29mX3VubG9hZChzaSk7CisgICAgICBzb2luZm9fZnJlZShzaSk7CisgICAgfQorCisgICAgd2hpbGUgKChzaSA9IGV4dGVybmFsX3VubG9hZF9saXN0LnBvcF9mcm9udCgpKSAhPSBudWxscHRyKSB7CisgICAgICBzb2luZm9fdW5sb2FkKHNpKTsKKyAgICB9CiAgIH0gZWxzZSB7Ci0gICAgc2ktPnJlZl9jb3VudC0tOwotICAgIFRSQUNFKCJub3QgdW5sb2FkaW5nICclcycsIGRlY3JlbWVudGluZyByZWZfY291bnQgdG8gJXpkIiwgc2ktPm5hbWUsIHNpLT5yZWZfY291bnQpOworICAgIFRSQUNFKCJub3QgdW5sb2FkaW5nICclcycgZ3JvdXAsIGRlY3JlbWVudGluZyByZWZfY291bnQgdG8gJXpkIiwgcm9vdC0+Z2V0X3NvbmFtZSgpLCByZWZfY291bnQpOwogICB9CiB9CiAKQEAgLTEwMjQsOCArMTYwMyw4IEBACiAgIC8vIHNucHJpbnRmIGFnYWluLgogICBzaXplX3QgcmVxdWlyZWRfbGVuID0gc3RybGVuKGtEZWZhdWx0TGRQYXRoc1swXSkgKyBzdHJsZW4oa0RlZmF1bHRMZFBhdGhzWzFdKSArIDI7CiAgIGlmIChidWZmZXJfc2l6ZSA8IHJlcXVpcmVkX2xlbikgewotICAgIF9fbGliY19mYXRhbCgiYW5kcm9pZF9nZXRfTERfTElCUkFSWV9QQVRIIGZhaWxlZCwgYnVmZmVyIHRvbyBzbWFsbDogYnVmZmVyIGxlbiAlenUsIHJlcXVpcmVkIGxlbiAlenUiLAotICAgICAgICAgICAgICAgICBidWZmZXJfc2l6ZSwgcmVxdWlyZWRfbGVuKTsKKyAgICBfX2xpYmNfZmF0YWwoImFuZHJvaWRfZ2V0X0xEX0xJQlJBUllfUEFUSCBmYWlsZWQsIGJ1ZmZlciB0b28gc21hbGw6ICIKKyAgICAgICAgICAgICAgICAgImJ1ZmZlciBsZW4gJXp1LCByZXF1aXJlZCBsZW4gJXp1IiwgYnVmZmVyX3NpemUsIHJlcXVpcmVkX2xlbik7CiAgIH0KICAgY2hhciogZW5kID0gc3RwY3B5KGJ1ZmZlciwga0RlZmF1bHRMZFBhdGhzWzBdKTsKICAgKmVuZCA9ICc6JzsKQEAgLTEwMzMsMTMgKzE2MTIsMTEgQEAKIH0KIAogdm9pZCBkb19hbmRyb2lkX3VwZGF0ZV9MRF9MSUJSQVJZX1BBVEgoY29uc3QgY2hhciogbGRfbGlicmFyeV9wYXRoKSB7Ci0gIGlmICghZ2V0X0FUX1NFQ1VSRSgpKSB7Ci0gICAgcGFyc2VfTERfTElCUkFSWV9QQVRIKGxkX2xpYnJhcnlfcGF0aCk7Ci0gIH0KKyAgcGFyc2VfTERfTElCUkFSWV9QQVRIKGxkX2xpYnJhcnlfcGF0aCk7CiB9CiAKIHNvaW5mbyogZG9fZGxvcGVuKGNvbnN0IGNoYXIqIG5hbWUsIGludCBmbGFncywgY29uc3QgYW5kcm9pZF9kbGV4dGluZm8qIGV4dGluZm8pIHsKLSAgaWYgKChmbGFncyAmIH4oUlRMRF9OT1d8UlRMRF9MQVpZfFJUTERfTE9DQUx8UlRMRF9HTE9CQUx8UlRMRF9OT0xPQUQpKSAhPSAwKSB7CisgIGlmICgoZmxhZ3MgJiB+KFJUTERfTk9XfFJUTERfTEFaWXxSVExEX0xPQ0FMfFJUTERfR0xPQkFMfFJUTERfTk9ERUxFVEV8UlRMRF9OT0xPQUQpKSAhPSAwKSB7CiAgICAgRExfRVJSKCJpbnZhbGlkIGZsYWdzIHRvIGRsb3BlbjogJXgiLCBmbGFncyk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiAgIH0KQEAgLTEwNTAsNjAgKzE2MjcsMTk3IEBACiAgICAgfQogICAgIGlmICgoZXh0aW5mby0+ZmxhZ3MgJiBBTkRST0lEX0RMRVhUX1VTRV9MSUJSQVJZX0ZEKSA9PSAwICYmCiAgICAgICAgIChleHRpbmZvLT5mbGFncyAmIEFORFJPSURfRExFWFRfVVNFX0xJQlJBUllfRkRfT0ZGU0VUKSAhPSAwKSB7Ci0gICAgICBETF9FUlIoImludmFsaWQgZXh0ZW5kZWQgZmxhZyBjb21iaW5hdGlvbiAoQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRF9PRkZTRVQgd2l0aG91dCBBTkRST0lEX0RMRVhUX1VTRV9MSUJSQVJZX0ZEKTogMHglIiBQUkl4NjQsIGV4dGluZm8tPmZsYWdzKTsKKyAgICAgIERMX0VSUigiaW52YWxpZCBleHRlbmRlZCBmbGFnIGNvbWJpbmF0aW9uIChBTkRST0lEX0RMRVhUX1VTRV9MSUJSQVJZX0ZEX09GRlNFVCB3aXRob3V0ICIKKyAgICAgICAgICAiQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRCk6IDB4JSIgUFJJeDY0LCBleHRpbmZvLT5mbGFncyk7CiAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgIH0KLSAgcHJvdGVjdF9kYXRhKFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOworCisgIFByb3RlY3RlZERhdGFHdWFyZCBndWFyZDsKICAgc29pbmZvKiBzaSA9IGZpbmRfbGlicmFyeShuYW1lLCBmbGFncywgZXh0aW5mbyk7CiAgIGlmIChzaSAhPSBudWxscHRyKSB7Ci0gICAgc2ktPkNhbGxDb25zdHJ1Y3RvcnMoKTsKKyAgICBzaS0+Y2FsbF9jb25zdHJ1Y3RvcnMoKTsKICAgfQotICBwcm90ZWN0X2RhdGEoUFJPVF9SRUFEKTsKICAgcmV0dXJuIHNpOwogfQogCiB2b2lkIGRvX2RsY2xvc2Uoc29pbmZvKiBzaSkgewotICBwcm90ZWN0X2RhdGEoUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7CisgIFByb3RlY3RlZERhdGFHdWFyZCBndWFyZDsKICAgc29pbmZvX3VubG9hZChzaSk7Ci0gIHByb3RlY3RfZGF0YShQUk9UX1JFQUQpOwogfQogCiBzdGF0aWMgRWxmVyhBZGRyKSBjYWxsX2lmdW5jX3Jlc29sdmVyKEVsZlcoQWRkcikgcmVzb2x2ZXJfYWRkcikgewogICB0eXBlZGVmIEVsZlcoQWRkcikgKCppZnVuY19yZXNvbHZlcl90KSh2b2lkKTsKICAgaWZ1bmNfcmVzb2x2ZXJfdCBpZnVuY19yZXNvbHZlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8aWZ1bmNfcmVzb2x2ZXJfdD4ocmVzb2x2ZXJfYWRkcik7CiAgIEVsZlcoQWRkcikgaWZ1bmNfYWRkciA9IGlmdW5jX3Jlc29sdmVyKCk7Ci0gIFRSQUNFX1RZUEUoUkVMTywgIkNhbGxlZCBpZnVuY19yZXNvbHZlckAlcC4gVGhlIHJlc3VsdCBpcyAlcCIsIGlmdW5jX3Jlc29sdmVyLCByZWludGVycHJldF9jYXN0PHZvaWQqPihpZnVuY19hZGRyKSk7CisgIFRSQUNFX1RZUEUoUkVMTywgIkNhbGxlZCBpZnVuY19yZXNvbHZlckAlcC4gVGhlIHJlc3VsdCBpcyAlcCIsCisgICAgICBpZnVuY19yZXNvbHZlciwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oaWZ1bmNfYWRkcikpOwogCiAgIHJldHVybiBpZnVuY19hZGRyOwogfQogCitjb25zdCB2ZXJzaW9uX2luZm8qIFZlcnNpb25UcmFja2VyOjpnZXRfdmVyc2lvbl9pbmZvKEVsZlcoVmVyc3ltKSBzb3VyY2Vfc3ltdmVyKSBjb25zdCB7CisgIGlmIChzb3VyY2Vfc3ltdmVyIDwgMiB8fAorICAgICAgc291cmNlX3N5bXZlciA+PSB2ZXJzaW9uX2luZm9zLnNpemUoKSB8fAorICAgICAgdmVyc2lvbl9pbmZvc1tzb3VyY2Vfc3ltdmVyXS5uYW1lID09IG51bGxwdHIpIHsKKyAgICByZXR1cm4gbnVsbHB0cjsKKyAgfQorCisgIHJldHVybiAmdmVyc2lvbl9pbmZvc1tzb3VyY2Vfc3ltdmVyXTsKK30KKwordm9pZCBWZXJzaW9uVHJhY2tlcjo6YWRkX3ZlcnNpb25faW5mbyhzaXplX3Qgc291cmNlX2luZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZXKFdvcmQpIGVsZl9oYXNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiB2ZXJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc29pbmZvKiB0YXJnZXRfc2kpIHsKKyAgaWYgKHNvdXJjZV9pbmRleCA+PSB2ZXJzaW9uX2luZm9zLnNpemUoKSkgeworICAgIHZlcnNpb25faW5mb3MucmVzaXplKHNvdXJjZV9pbmRleCsxKTsKKyAgfQorCisgIHZlcnNpb25faW5mb3Nbc291cmNlX2luZGV4XS5lbGZfaGFzaCA9IGVsZl9oYXNoOworICB2ZXJzaW9uX2luZm9zW3NvdXJjZV9pbmRleF0ubmFtZSA9IHZlcl9uYW1lOworICB2ZXJzaW9uX2luZm9zW3NvdXJjZV9pbmRleF0udGFyZ2V0X3NpID0gdGFyZ2V0X3NpOworfQorCitib29sIFZlcnNpb25UcmFja2VyOjppbml0X3Zlcm5lZWQoY29uc3Qgc29pbmZvKiBzaV9mcm9tKSB7CisgIHVpbnRwdHJfdCB2ZXJuZWVkX3B0ciA9IHNpX2Zyb20tPmdldF92ZXJuZWVkX3B0cigpOworCisgIGlmICh2ZXJuZWVkX3B0ciA9PSAwKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBzaXplX3QgdmVybmVlZF9jbnQgPSBzaV9mcm9tLT5nZXRfdmVybmVlZF9jbnQoKTsKKworICBmb3IgKHNpemVfdCBpID0gMCwgb2Zmc2V0ID0gMDsgaTx2ZXJuZWVkX2NudDsgKytpKSB7CisgICAgY29uc3QgRWxmVyhWZXJuZWVkKSogdmVybmVlZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhWZXJuZWVkKSo+KHZlcm5lZWRfcHRyICsgb2Zmc2V0KTsKKyAgICBzaXplX3QgdmVybmF1eF9vZmZzZXQgPSBvZmZzZXQgKyB2ZXJuZWVkLT52bl9hdXg7CisgICAgb2Zmc2V0ICs9IHZlcm5lZWQtPnZuX25leHQ7CisKKyAgICBpZiAodmVybmVlZC0+dm5fdmVyc2lvbiAhPSAxKSB7CisgICAgICBETF9FUlIoInVuc3VwcG9ydGVkIHZlcm5lZWRbJXpkXSB2bl92ZXJzaW9uOiAlZCAoZXhwZWN0ZWQgMSkiLCBpLCB2ZXJuZWVkLT52bl92ZXJzaW9uKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBjb25zdCBjaGFyKiB0YXJnZXRfc29uYW1lID0gc2lfZnJvbS0+Z2V0X3N0cmluZyh2ZXJuZWVkLT52bl9maWxlKTsKKyAgICAvLyBmaW5kIGl0IGluIGRlcGVuZGVuY2llcworICAgIHNvaW5mbyogdGFyZ2V0X3NpID0gc2lfZnJvbS0+Z2V0X2NoaWxkcmVuKCkuZmluZF9pZihbJl0oY29uc3Qgc29pbmZvKiBzaSkgeworICAgICAgcmV0dXJuIHN0cmNtcChzaS0+Z2V0X3NvbmFtZSgpLCB0YXJnZXRfc29uYW1lKSA9PSAwOworICAgIH0pOworCisgICAgaWYgKHRhcmdldF9zaSA9PSBudWxscHRyKSB7CisgICAgICBETF9FUlIoImNhbm5vdCBmaW5kIFwiJXNcIiBmcm9tIHZlcm5lZWRbJXpkXSBpbiBEVF9ORUVERUQgbGlzdCBmb3IgXCIlc1wiIiwKKyAgICAgICAgICB0YXJnZXRfc29uYW1lLCBpLCBzaV9mcm9tLT5nZXRfc29uYW1lKCkpOworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGZvciAoc2l6ZV90IGogPSAwOyBqPHZlcm5lZWQtPnZuX2NudDsgKytqKSB7CisgICAgICBjb25zdCBFbGZXKFZlcm5hdXgpKiB2ZXJuYXV4ID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFZlcm5hdXgpKj4odmVybmVlZF9wdHIgKyB2ZXJuYXV4X29mZnNldCk7CisgICAgICB2ZXJuYXV4X29mZnNldCArPSB2ZXJuYXV4LT52bmFfbmV4dDsKKworICAgICAgY29uc3QgRWxmVyhXb3JkKSBlbGZfaGFzaCA9IHZlcm5hdXgtPnZuYV9oYXNoOworICAgICAgY29uc3QgY2hhciogdmVyX25hbWUgPSBzaV9mcm9tLT5nZXRfc3RyaW5nKHZlcm5hdXgtPnZuYV9uYW1lKTsKKyAgICAgIEVsZlcoSGFsZikgc291cmNlX2luZGV4ID0gdmVybmF1eC0+dm5hX290aGVyOworCisgICAgICBhZGRfdmVyc2lvbl9pbmZvKHNvdXJjZV9pbmRleCwgZWxmX2hhc2gsIHZlcl9uYW1lLCB0YXJnZXRfc2kpOworICAgIH0KKyAgfQorCisgIHJldHVybiB0cnVlOworfQorCitib29sIFZlcnNpb25UcmFja2VyOjppbml0X3ZlcmRlZihjb25zdCBzb2luZm8qIHNpX2Zyb20pIHsKKyAgcmV0dXJuIGZvcl9lYWNoX3ZlcmRlZihzaV9mcm9tLAorICAgIFsmXShzaXplX3QsIGNvbnN0IEVsZlcoVmVyZGVmKSogdmVyZGVmLCBjb25zdCBFbGZXKFZlcmRhdXgpKiB2ZXJkYXV4KSB7CisgICAgICBhZGRfdmVyc2lvbl9pbmZvKHZlcmRlZi0+dmRfbmR4LCB2ZXJkZWYtPnZkX2hhc2gsCisgICAgICAgICAgc2lfZnJvbS0+Z2V0X3N0cmluZyh2ZXJkYXV4LT52ZGFfbmFtZSksIHNpX2Zyb20pOworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgKTsKK30KKworYm9vbCBWZXJzaW9uVHJhY2tlcjo6aW5pdChjb25zdCBzb2luZm8qIHNpX2Zyb20pIHsKKyAgaWYgKCFzaV9mcm9tLT5oYXNfbWluX3ZlcnNpb24oMikpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIHJldHVybiBpbml0X3Zlcm5lZWQoc2lfZnJvbSkgJiYgaW5pdF92ZXJkZWYoc2lfZnJvbSk7Cit9CisKKyNpZiAhZGVmaW5lZChfX21pcHNfXykKICNpZiBkZWZpbmVkKFVTRV9SRUxBKQotaW50IHNvaW5mbzo6UmVsb2NhdGUoRWxmVyhSZWxhKSogcmVsYSwgdW5zaWduZWQgY291bnQpIHsKLSAgZm9yIChzaXplX3QgaWR4ID0gMDsgaWR4IDwgY291bnQ7ICsraWR4LCArK3JlbGEpIHsKLSAgICB1bnNpZ25lZCB0eXBlID0gRUxGVyhSX1RZUEUpKHJlbGEtPnJfaW5mbyk7Ci0gICAgdW5zaWduZWQgc3ltID0gRUxGVyhSX1NZTSkocmVsYS0+cl9pbmZvKTsKLSAgICBFbGZXKEFkZHIpIHJlbG9jID0gc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4ocmVsYS0+cl9vZmZzZXQgKyBsb2FkX2JpYXMpOworc3RhdGljIEVsZlcoQWRkcikgZ2V0X2FkZGVuZChFbGZXKFJlbGEpKiByZWxhLCBFbGZXKEFkZHIpIHJlbG9jX2FkZHIgX191bnVzZWQpIHsKKyAgcmV0dXJuIHJlbGEtPnJfYWRkZW5kOworfQorI2Vsc2UKK3N0YXRpYyBFbGZXKEFkZHIpIGdldF9hZGRlbmQoRWxmVyhSZWwpKiByZWwsIEVsZlcoQWRkcikgcmVsb2NfYWRkcikgeworICBpZiAoRUxGVyhSX1RZUEUpKHJlbC0+cl9pbmZvKSA9PSBSX0dFTkVSSUNfUkVMQVRJVkUgfHwKKyAgICAgIEVMRlcoUl9UWVBFKShyZWwtPnJfaW5mbykgPT0gUl9HRU5FUklDX0lSRUxBVElWRSkgeworICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2NfYWRkcik7CisgIH0KKyAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwordGVtcGxhdGU8dHlwZW5hbWUgRWxmUmVsSXRlcmF0b3JUPgorYm9vbCBzb2luZm86OnJlbG9jYXRlKEVsZlJlbEl0ZXJhdG9yVCYmIHJlbF9pdGVyYXRvciwgY29uc3Qgc29pbmZvX2xpc3RfdCYgZ2xvYmFsX2dyb3VwLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvaW5mb19saXN0X3QmIGxvY2FsX2dyb3VwKSB7CisgIFZlcnNpb25UcmFja2VyIHZlcnNpb25fdHJhY2tlcjsKKworICBpZiAoIXZlcnNpb25fdHJhY2tlci5pbml0KHRoaXMpKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgZm9yIChzaXplX3QgaWR4ID0gMDsgcmVsX2l0ZXJhdG9yLmhhc19uZXh0KCk7ICsraWR4KSB7CisgICAgY29uc3QgYXV0byByZWwgPSByZWxfaXRlcmF0b3IubmV4dCgpOworICAgIGlmIChyZWwgPT0gbnVsbHB0cikgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIEVsZlcoV29yZCkgdHlwZSA9IEVMRlcoUl9UWVBFKShyZWwtPnJfaW5mbyk7CisgICAgRWxmVyhXb3JkKSBzeW0gPSBFTEZXKFJfU1lNKShyZWwtPnJfaW5mbyk7CisKKyAgICBFbGZXKEFkZHIpIHJlbG9jID0gc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4ocmVsLT5yX29mZnNldCArIGxvYWRfYmlhcyk7CiAgICAgRWxmVyhBZGRyKSBzeW1fYWRkciA9IDA7CiAgICAgY29uc3QgY2hhciogc3ltX25hbWUgPSBudWxscHRyOworICAgIEVsZlcoQWRkcikgYWRkZW5kID0gZ2V0X2FkZGVuZChyZWwsIHJlbG9jKTsKIAotICAgIERFQlVHKCJQcm9jZXNzaW5nICclcycgcmVsb2NhdGlvbiBhdCBpbmRleCAlemQiLCBuYW1lLCBpZHgpOwotICAgIGlmICh0eXBlID09IDApIHsgLy8gUl8qX05PTkUKKyAgICBERUJVRygiUHJvY2Vzc2luZyAnJXMnIHJlbG9jYXRpb24gYXQgaW5kZXggJXpkIiwgZ2V0X3NvbmFtZSgpLCBpZHgpOworICAgIGlmICh0eXBlID09IFJfR0VORVJJQ19OT05FKSB7CiAgICAgICBjb250aW51ZTsKICAgICB9CiAKLSAgICBFbGZXKFN5bSkqIHMgPSBudWxscHRyOworICAgIGNvbnN0IEVsZlcoU3ltKSogcyA9IG51bGxwdHI7CiAgICAgc29pbmZvKiBsc2kgPSBudWxscHRyOwogCiAgICAgaWYgKHN5bSAhPSAwKSB7Ci0gICAgICBzeW1fbmFtZSA9IGdldF9zdHJpbmcoc3ltdGFiW3N5bV0uc3RfbmFtZSk7Ci0gICAgICBzID0gc29pbmZvX2RvX2xvb2t1cCh0aGlzLCBzeW1fbmFtZSwgJmxzaSk7CisgICAgICBzeW1fbmFtZSA9IGdldF9zdHJpbmcoc3ltdGFiX1tzeW1dLnN0X25hbWUpOworICAgICAgY29uc3QgRWxmVyhWZXJzeW0pKiBzeW1fdmVyX3B0ciA9IGdldF92ZXJzeW0oc3ltKTsKKyAgICAgIEVsZlcoVmVyc3ltKSBzeW1fdmVyID0gc3ltX3Zlcl9wdHIgPT0gbnVsbHB0ciA/IDAgOiAqc3ltX3Zlcl9wdHI7CisKKyAgICAgIGlmIChzeW1fdmVyID09IFZFUl9ORFhfTE9DQUwgfHwgc3ltX3ZlciA9PSBWRVJfTkRYX0dMT0JBTCkgeworICAgICAgICAvLyB0aGVyZSBpcyBubyB2ZXJzaW9uIGluZm8gZm9yIHRoaXMgb25lCisgICAgICAgIGlmICghc29pbmZvX2RvX2xvb2t1cCh0aGlzLCBzeW1fbmFtZSwgbnVsbHB0ciwgJmxzaSwgZ2xvYmFsX2dyb3VwLCBsb2NhbF9ncm91cCwgJnMpKSB7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBjb25zdCB2ZXJzaW9uX2luZm8qIHZpID0gdmVyc2lvbl90cmFja2VyLmdldF92ZXJzaW9uX2luZm8oc3ltX3Zlcik7CisKKyAgICAgICAgaWYgKHZpID09IG51bGxwdHIpIHsKKyAgICAgICAgICBETF9FUlIoImNhbm5vdCBmaW5kIHZlcm5lZWQvdmVyZGVmIGZvciB2ZXJzaW9uIGluZGV4PSVkICIKKyAgICAgICAgICAgICAgInJlZmVyZW5jZWQgYnkgc3ltYm9sIFwiJXNcIiBhdCBcIiVzXCIiLCBzeW1fdmVyLCBzeW1fbmFtZSwgZ2V0X3NvbmFtZSgpKTsKKyAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXNvaW5mb19kb19sb29rdXAodGhpcywgc3ltX25hbWUsIHZpLCAmbHNpLCBnbG9iYWxfZ3JvdXAsIGxvY2FsX2dyb3VwLCAmcykpIHsKKyAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgIH0KICAgICAgIGlmIChzID09IG51bGxwdHIpIHsKICAgICAgICAgLy8gV2Ugb25seSBhbGxvdyBhbiB1bmRlZmluZWQgc3ltYm9sIGlmIHRoaXMgaXMgYSB3ZWFrIHJlZmVyZW5jZS4uLgotICAgICAgICBzID0gJnN5bXRhYltzeW1dOworICAgICAgICBzID0gJnN5bXRhYl9bc3ltXTsKICAgICAgICAgaWYgKEVMRl9TVF9CSU5EKHMtPnN0X2luZm8pICE9IFNUQl9XRUFLKSB7Ci0gICAgICAgICAgRExfRVJSKCJjYW5ub3QgbG9jYXRlIHN5bWJvbCBcIiVzXCIgcmVmZXJlbmNlZCBieSBcIiVzXCIuLi4iLCBzeW1fbmFtZSwgbmFtZSk7Ci0gICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgIERMX0VSUigiY2Fubm90IGxvY2F0ZSBzeW1ib2wgXCIlc1wiIHJlZmVyZW5jZWQgYnkgXCIlc1wiLi4uIiwgc3ltX25hbWUsIGdldF9zb25hbWUoKSk7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgLyogSUhJMDA0NEMgQUFFTEYgNC41LjEuMToKQEAgLTExMTksMzYgKzE4MzMsNDAgQEAKICAgICAgICAgICovCiAKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgY2FzZSBSX0dFTkVSSUNfSlVNUF9TTE9UOgorICAgICAgICAgIGNhc2UgUl9HRU5FUklDX0dMT0JfREFUOgorICAgICAgICAgIGNhc2UgUl9HRU5FUklDX1JFTEFUSVZFOgorICAgICAgICAgIGNhc2UgUl9HRU5FUklDX0lSRUxBVElWRToKICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgICAgICAgIGNhc2UgUl9BQVJDSDY0X0pVTVBfU0xPVDoKLSAgICAgICAgICBjYXNlIFJfQUFSQ0g2NF9HTE9CX0RBVDoKICAgICAgICAgICBjYXNlIFJfQUFSQ0g2NF9BQlM2NDoKICAgICAgICAgICBjYXNlIFJfQUFSQ0g2NF9BQlMzMjoKICAgICAgICAgICBjYXNlIFJfQUFSQ0g2NF9BQlMxNjoKLSAgICAgICAgICBjYXNlIFJfQUFSQ0g2NF9SRUxBVElWRToKLSAgICAgICAgICBjYXNlIFJfQUFSQ0g2NF9JUkVMQVRJVkU6CisjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgICAgICAgY2FzZSBSX1g4Nl82NF8zMjoKKyAgICAgICAgICBjYXNlIFJfWDg2XzY0XzY0OgorI2VsaWYgZGVmaW5lZChfX2FybV9fKQorICAgICAgICAgIGNhc2UgUl9BUk1fQUJTMzI6CisjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKQorICAgICAgICAgIGNhc2UgUl8zODZfMzI6CisjZW5kaWYKICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgKiBUaGUgc3ltX2FkZHIgd2FzIGluaXRpYWxpemVkIHRvIGJlIHplcm8gYWJvdmUsIG9yIHRoZSByZWxvY2F0aW9uCiAgICAgICAgICAgICAgKiBjb2RlIGJlbG93IGRvZXMgbm90IGNhcmUgYWJvdXQgdmFsdWUgb2Ygc3ltX2FkZHIuCiAgICAgICAgICAgICAgKiBObyBuZWVkIHRvIGRvIGFueXRoaW5nLgogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBicmVhazsKLSNlbGlmIGRlZmluZWQoX194ODZfNjRfXykKLSAgICAgICAgICBjYXNlIFJfWDg2XzY0X0pVTVBfU0xPVDoKLSAgICAgICAgICBjYXNlIFJfWDg2XzY0X0dMT0JfREFUOgotICAgICAgICAgIGNhc2UgUl9YODZfNjRfMzI6Ci0gICAgICAgICAgY2FzZSBSX1g4Nl82NF82NDoKLSAgICAgICAgICBjYXNlIFJfWDg2XzY0X1JFTEFUSVZFOgotICAgICAgICAgIGNhc2UgUl9YODZfNjRfSVJFTEFUSVZFOgotICAgICAgICAgICAgLy8gTm8gbmVlZCB0byBkbyBhbnl0aGluZy4KLSAgICAgICAgICAgIGJyZWFrOworI2lmIGRlZmluZWQoX194ODZfNjRfXykKICAgICAgICAgICBjYXNlIFJfWDg2XzY0X1BDMzI6CiAgICAgICAgICAgICBzeW1fYWRkciA9IHJlbG9jOwogICAgICAgICAgICAgYnJlYWs7CisjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKQorICAgICAgICAgIGNhc2UgUl8zODZfUEMzMjoKKyAgICAgICAgICAgIHN5bV9hZGRyID0gcmVsb2M7CisgICAgICAgICAgICBicmVhazsKICNlbmRpZgogICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBETF9FUlIoInVua25vd24gd2VhayByZWxvYyB0eXBlICVkIEAgJXAgKCV6dSkiLCB0eXBlLCByZWxhLCBpZHgpOwotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgRExfRVJSKCJ1bmtub3duIHdlYWsgcmVsb2MgdHlwZSAlZCBAICVwICglenUpIiwgdHlwZSwgcmVsLCBpZHgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICB9IGVsc2UgewogICAgICAgICAvLyBXZSBnb3QgYSBkZWZpbml0aW9uLgpAQCAtMTE1OCwyOTkgKzE4NzYsMTc2IEBACiAgICAgfQogCiAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICBjYXNlIFJfR0VORVJJQ19KVU1QX1NMT1Q6CisgICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jQWJzb2x1dGUpOworICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOworICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEpNUF9TTE9UICUxNnAgPC0gJTE2cCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihyZWxvYyksCisgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc3ltX2FkZHIgKyBhZGRlbmQpLCBzeW1fbmFtZSk7CisKKyAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IChzeW1fYWRkciArIGFkZGVuZCk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBSX0dFTkVSSUNfR0xPQl9EQVQ6CisgICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jQWJzb2x1dGUpOworICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOworICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEdMT0JfREFUICUxNnAgPC0gJTE2cCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihyZWxvYyksCisgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc3ltX2FkZHIgKyBhZGRlbmQpLCBzeW1fbmFtZSk7CisgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSAoc3ltX2FkZHIgKyBhZGRlbmQpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgUl9HRU5FUklDX1JFTEFUSVZFOgorICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKKyAgICAgICAgTUFSSyhyZWwtPnJfb2Zmc2V0KTsKKyAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBSRUxBVElWRSAlMTZwIDwtICUxNnBcbiIsCisgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocmVsb2MpLAorICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGxvYWRfYmlhcyArIGFkZGVuZCkpOworICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gKGxvYWRfYmlhcyArIGFkZGVuZCk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBSX0dFTkVSSUNfSVJFTEFUSVZFOgorICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKKyAgICAgICAgTUFSSyhyZWwtPnJfb2Zmc2V0KTsKKyAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBJUkVMQVRJVkUgJTE2cCA8LSAlMTZwXG4iLAorICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihyZWxvYyksCisgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGxvYWRfYmlhcyArIGFkZGVuZCkpOworICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gY2FsbF9pZnVuY19yZXNvbHZlcihsb2FkX2JpYXMgKyBhZGRlbmQpOworICAgICAgICBicmVhazsKKwogI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCi0gICAgICBjYXNlIFJfQUFSQ0g2NF9KVU1QX1NMT1Q6Ci0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jQWJzb2x1dGUpOwotICAgICAgICBNQVJLKHJlbGEtPnJfb2Zmc2V0KTsKLSAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBKTVBfU0xPVCAlMTZsbHggPC0gJTE2bGx4ICVzXG4iLAotICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCksIHN5bV9uYW1lKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIFJfQUFSQ0g2NF9HTE9CX0RBVDoKLSAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NBYnNvbHV0ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOwotICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEdMT0JfREFUICUxNmxseCA8LSAlMTZsbHggJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgc3ltX25hbWUpOwotICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpOwotICAgICAgICBicmVhazsKICAgICAgIGNhc2UgUl9BQVJDSDY0X0FCUzY0OgogICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY0Fic29sdXRlKTsKLSAgICAgICAgTUFSSyhyZWxhLT5yX29mZnNldCk7CisgICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7CiAgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gQUJTNjQgJTE2bGx4IDwtICUxNmxseCAlc1xuIiwKLSAgICAgICAgICAgICAgICAgICByZWxvYywgKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpLCBzeW1fbmFtZSk7Ci0gICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpOworICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyBhZGRlbmQpLCBzeW1fbmFtZSk7CisgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKHN5bV9hZGRyICsgYWRkZW5kKTsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFJfQUFSQ0g2NF9BQlMzMjoKICAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NBYnNvbHV0ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOworICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwogICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEFCUzMyICUxNmxseCA8LSAlMTZsbHggJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgc3ltX25hbWUpOwotICAgICAgICBpZiAoKHN0YXRpY19jYXN0PEVsZlcoQWRkcik+KElOVDMyX01JTikgPD0gKCpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKyAoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkpKSAmJgotICAgICAgICAgICAgKCgqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICsgKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpKSA8PSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMzJfTUFYKSkpIHsKLSAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICs9IChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBETF9FUlIoIjB4JTAxNmxseCBvdXQgb2YgcmFuZ2UgMHglMDE2bGx4IHRvIDB4JTAxNmxseCIsCi0gICAgICAgICAgICAgICAgICgqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICsgKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpKSwKLSAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4oSU5UMzJfTUlOKSwKLSAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4oVUlOVDMyX01BWCkpOwotICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICByZWxvYywgKHN5bV9hZGRyICsgYWRkZW5kKSwgc3ltX25hbWUpOworICAgICAgICB7CisgICAgICAgICAgY29uc3QgRWxmVyhBZGRyKSByZWxvY192YWx1ZSA9ICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYyk7CisgICAgICAgICAgY29uc3QgRWxmVyhBZGRyKSBtaW5fdmFsdWUgPSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihJTlQzMl9NSU4pOworICAgICAgICAgIGNvbnN0IEVsZlcoQWRkcikgbWF4X3ZhbHVlID0gc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4oVUlOVDMyX01BWCk7CisgICAgICAgICAgaWYgKChtaW5fdmFsdWUgPD0gKHJlbG9jX3ZhbHVlICsgKHN5bV9hZGRyICsgYWRkZW5kKSkpICYmCisgICAgICAgICAgICAgICgocmVsb2NfdmFsdWUgKyAoc3ltX2FkZHIgKyBhZGRlbmQpKSA8PSBtYXhfdmFsdWUpKSB7CisgICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICs9IChzeW1fYWRkciArIGFkZGVuZCk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIERMX0VSUigiMHglMDE2bGx4IG91dCBvZiByYW5nZSAweCUwMTZsbHggdG8gMHglMDE2bGx4IiwKKyAgICAgICAgICAgICAgICAgICAocmVsb2NfdmFsdWUgKyAoc3ltX2FkZHIgKyBhZGRlbmQpKSwgbWluX3ZhbHVlLCBtYXhfdmFsdWUpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgUl9BQVJDSDY0X0FCUzE2OgogICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY0Fic29sdXRlKTsKLSAgICAgICAgTUFSSyhyZWxhLT5yX29mZnNldCk7CisgICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7CiAgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gQUJTMTYgJTE2bGx4IDwtICUxNmxseCAlc1xuIiwKLSAgICAgICAgICAgICAgICAgICByZWxvYywgKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpLCBzeW1fbmFtZSk7Ci0gICAgICAgIGlmICgoc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4oSU5UMTZfTUlOKSA8PSAoKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSArIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSkpICYmCi0gICAgICAgICAgICAoKCpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKyAoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkpIDw9IHN0YXRpY19jYXN0PEVsZlcoQWRkcik+KFVJTlQxNl9NQVgpKSkgewotICAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIERMX0VSUigiMHglMDE2bGx4IG91dCBvZiByYW5nZSAweCUwMTZsbHggdG8gMHglMDE2bGx4IiwKLSAgICAgICAgICAgICAgICAgKCpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKyAoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkpLAotICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihJTlQxNl9NSU4pLAotICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMTZfTUFYKSk7Ci0gICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyBhZGRlbmQpLCBzeW1fbmFtZSk7CisgICAgICAgIHsKKyAgICAgICAgICBjb25zdCBFbGZXKEFkZHIpIHJlbG9jX3ZhbHVlID0gKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKTsKKyAgICAgICAgICBjb25zdCBFbGZXKEFkZHIpIG1pbl92YWx1ZSA9IHN0YXRpY19jYXN0PEVsZlcoQWRkcik+KElOVDE2X01JTik7CisgICAgICAgICAgY29uc3QgRWxmVyhBZGRyKSBtYXhfdmFsdWUgPSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMTZfTUFYKTsKKyAgICAgICAgICBpZiAoKG1pbl92YWx1ZSA8PSAocmVsb2NfdmFsdWUgKyAoc3ltX2FkZHIgKyBhZGRlbmQpKSkgJiYKKyAgICAgICAgICAgICAgKChyZWxvY192YWx1ZSArIChzeW1fYWRkciArIGFkZGVuZCkpIDw9IG1heF92YWx1ZSkpIHsKKyAgICAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKHN5bV9hZGRyICsgYWRkZW5kKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgRExfRVJSKCIweCUwMTZsbHggb3V0IG9mIHJhbmdlIDB4JTAxNmxseCB0byAweCUwMTZsbHgiLAorICAgICAgICAgICAgICAgICAgIHJlbG9jX3ZhbHVlICsgKHN5bV9hZGRyICsgYWRkZW5kKSwgbWluX3ZhbHVlLCBtYXhfdmFsdWUpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgUl9BQVJDSDY0X1BSRUw2NDoKICAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NSZWxhdGl2ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOworICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwogICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIFJFTDY0ICUxNmxseCA8LSAlMTZsbHggLSAlMTZsbHggJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgcmVsYS0+cl9vZmZzZXQsIHN5bV9uYW1lKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSArPSAoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkgLSByZWxhLT5yX29mZnNldDsKKyAgICAgICAgICAgICAgICAgICByZWxvYywgKHN5bV9hZGRyICsgYWRkZW5kKSwgcmVsLT5yX29mZnNldCwgc3ltX25hbWUpOworICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICs9IChzeW1fYWRkciArIGFkZGVuZCkgLSByZWwtPnJfb2Zmc2V0OwogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgUl9BQVJDSDY0X1BSRUwzMjoKICAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NSZWxhdGl2ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOworICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwogICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIFJFTDMyICUxNmxseCA8LSAlMTZsbHggLSAlMTZsbHggJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgcmVsYS0+cl9vZmZzZXQsIHN5bV9uYW1lKTsKLSAgICAgICAgaWYgKChzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihJTlQzMl9NSU4pIDw9ICgqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICsgKChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSAtIHJlbGEtPnJfb2Zmc2V0KSkpICYmCi0gICAgICAgICAgICAoKCpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKyAoKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpIC0gcmVsYS0+cl9vZmZzZXQpKSA8PSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMzJfTUFYKSkpIHsKLSAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICs9ICgoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkgLSByZWxhLT5yX29mZnNldCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgRExfRVJSKCIweCUwMTZsbHggb3V0IG9mIHJhbmdlIDB4JTAxNmxseCB0byAweCUwMTZsbHgiLAotICAgICAgICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSArICgoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkgLSByZWxhLT5yX29mZnNldCkpLAotICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihJTlQzMl9NSU4pLAotICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMzJfTUFYKSk7Ci0gICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyBhZGRlbmQpLCByZWwtPnJfb2Zmc2V0LCBzeW1fbmFtZSk7CisgICAgICAgIHsKKyAgICAgICAgICBjb25zdCBFbGZXKEFkZHIpIHJlbG9jX3ZhbHVlID0gKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKTsKKyAgICAgICAgICBjb25zdCBFbGZXKEFkZHIpIG1pbl92YWx1ZSA9IHN0YXRpY19jYXN0PEVsZlcoQWRkcik+KElOVDMyX01JTik7CisgICAgICAgICAgY29uc3QgRWxmVyhBZGRyKSBtYXhfdmFsdWUgPSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMzJfTUFYKTsKKyAgICAgICAgICBpZiAoKG1pbl92YWx1ZSA8PSAocmVsb2NfdmFsdWUgKyAoKHN5bV9hZGRyICsgYWRkZW5kKSAtIHJlbC0+cl9vZmZzZXQpKSkgJiYKKyAgICAgICAgICAgICAgKChyZWxvY192YWx1ZSArICgoc3ltX2FkZHIgKyBhZGRlbmQpIC0gcmVsLT5yX29mZnNldCkpIDw9IG1heF92YWx1ZSkpIHsKKyAgICAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKChzeW1fYWRkciArIGFkZGVuZCkgLSByZWwtPnJfb2Zmc2V0KTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgRExfRVJSKCIweCUwMTZsbHggb3V0IG9mIHJhbmdlIDB4JTAxNmxseCB0byAweCUwMTZsbHgiLAorICAgICAgICAgICAgICAgICAgIHJlbG9jX3ZhbHVlICsgKChzeW1fYWRkciArIGFkZGVuZCkgLSByZWwtPnJfb2Zmc2V0KSwgbWluX3ZhbHVlLCBtYXhfdmFsdWUpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgUl9BQVJDSDY0X1BSRUwxNjoKICAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NSZWxhdGl2ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOworICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwogICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIFJFTDE2ICUxNmxseCA8LSAlMTZsbHggLSAlMTZsbHggJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgcmVsYS0+cl9vZmZzZXQsIHN5bV9uYW1lKTsKLSAgICAgICAgaWYgKChzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihJTlQxNl9NSU4pIDw9ICgqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICsgKChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSAtIHJlbGEtPnJfb2Zmc2V0KSkpICYmCi0gICAgICAgICAgICAoKCpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKyAoKHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQpIC0gcmVsYS0+cl9vZmZzZXQpKSA8PSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMTZfTUFYKSkpIHsKLSAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICs9ICgoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkgLSByZWxhLT5yX29mZnNldCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgRExfRVJSKCIweCUwMTZsbHggb3V0IG9mIHJhbmdlIDB4JTAxNmxseCB0byAweCUwMTZsbHgiLAotICAgICAgICAgICAgICAgICAoKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSArICgoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCkgLSByZWxhLT5yX29mZnNldCkpLAotICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihJTlQxNl9NSU4pLAotICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMTZfTUFYKSk7Ci0gICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyBhZGRlbmQpLCByZWwtPnJfb2Zmc2V0LCBzeW1fbmFtZSk7CisgICAgICAgIHsKKyAgICAgICAgICBjb25zdCBFbGZXKEFkZHIpIHJlbG9jX3ZhbHVlID0gKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKTsKKyAgICAgICAgICBjb25zdCBFbGZXKEFkZHIpIG1pbl92YWx1ZSA9IHN0YXRpY19jYXN0PEVsZlcoQWRkcik+KElOVDE2X01JTik7CisgICAgICAgICAgY29uc3QgRWxmVyhBZGRyKSBtYXhfdmFsdWUgPSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihVSU5UMTZfTUFYKTsKKyAgICAgICAgICBpZiAoKG1pbl92YWx1ZSA8PSAocmVsb2NfdmFsdWUgKyAoKHN5bV9hZGRyICsgYWRkZW5kKSAtIHJlbC0+cl9vZmZzZXQpKSkgJiYKKyAgICAgICAgICAgICAgKChyZWxvY192YWx1ZSArICgoc3ltX2FkZHIgKyBhZGRlbmQpIC0gcmVsLT5yX29mZnNldCkpIDw9IG1heF92YWx1ZSkpIHsKKyAgICAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKChzeW1fYWRkciArIGFkZGVuZCkgLSByZWwtPnJfb2Zmc2V0KTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgRExfRVJSKCIweCUwMTZsbHggb3V0IG9mIHJhbmdlIDB4JTAxNmxseCB0byAweCUwMTZsbHgiLAorICAgICAgICAgICAgICAgICAgIHJlbG9jX3ZhbHVlICsgKChzeW1fYWRkciArIGFkZGVuZCkgLSByZWwtPnJfb2Zmc2V0KSwgbWluX3ZhbHVlLCBtYXhfdmFsdWUpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKIAotICAgICAgY2FzZSBSX0FBUkNINjRfUkVMQVRJVkU6Ci0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jUmVsYXRpdmUpOwotICAgICAgICBNQVJLKHJlbGEtPnJfb2Zmc2V0KTsKLSAgICAgICAgaWYgKHN5bSkgewotICAgICAgICAgIERMX0VSUigib2RkIFJFTEFUSVZFIGZvcm0uLi4iKTsKLSAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLSAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBSRUxBVElWRSAlMTZsbHggPC0gJTE2bGx4XG4iLAotICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoYmFzZSArIHJlbGEtPnJfYWRkZW5kKSk7Ci0gICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSAoYmFzZSArIHJlbGEtPnJfYWRkZW5kKTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICAgIGNhc2UgUl9BQVJDSDY0X0lSRUxBVElWRToKLSAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NSZWxhdGl2ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOwotICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIElSRUxBVElWRSAlMTZsbHggPC0gJTE2bGx4XG4iLCByZWxvYywgKGJhc2UgKyByZWxhLT5yX2FkZGVuZCkpOwotICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gY2FsbF9pZnVuY19yZXNvbHZlcihiYXNlICsgcmVsYS0+cl9hZGRlbmQpOwotICAgICAgICBicmVhazsKLQogICAgICAgY2FzZSBSX0FBUkNINjRfQ09QWToKICAgICAgICAgLyoKICAgICAgICAgICogRVRfRVhFQyBpcyBub3Qgc3VwcG9ydGVkIHNvIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4uCiAgICAgICAgICAqCi0gICAgICAgICAqIGh0dHA6Ly9pbmZvY2VudGVyLmFybS5jb20vaGVscC90b3BpYy9jb20uYXJtLmRvYy5paGkwMDQ0ZC9JSEkwMDQ0RF9hYWVsZi5wZGYKKyAgICAgICAgICogaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL3RvcGljL2NvbS5hcm0uZG9jLmloaTAwNTZiL0lISTAwNTZCX2FhZWxmNjQucGRmCiAgICAgICAgICAqCi0gICAgICAgICAqIFNlY3Rpb24gNC43LjEuMTAgIkR5bmFtaWMgcmVsb2NhdGlvbnMiCisgICAgICAgICAqIFNlY3Rpb24gNC42LjExICJEeW5hbWljIHJlbG9jYXRpb25zIgogICAgICAgICAgKiBSX0FBUkNINjRfQ09QWSBtYXkgb25seSBhcHBlYXIgaW4gZXhlY3V0YWJsZSBvYmplY3RzIHdoZXJlIGVfdHlwZSBpcwogICAgICAgICAgKiBzZXQgdG8gRVRfRVhFQy4KICAgICAgICAgICovCi0gICAgICAgIERMX0VSUigiJXMgUl9BQVJDSDY0X0NPUFkgcmVsb2NhdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQiLCBuYW1lKTsKLSAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBETF9FUlIoIiVzIFJfQUFSQ0g2NF9DT1BZIHJlbG9jYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIiwgZ2V0X3NvbmFtZSgpKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgY2FzZSBSX0FBUkNINjRfVExTX1RQUkVMNjQ6CiAgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gVExTX1RQUkVMNjQgKioqICUxNmxseCA8LSAlMTZsbHggLSAlMTZsbHhcbiIsCi0gICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgcmVsYS0+cl9vZmZzZXQpOworICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyBhZGRlbmQpLCByZWwtPnJfb2Zmc2V0KTsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFJfQUFSQ0g2NF9UTFNfRFRQUkVMMzI6CiAgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gVExTX0RUUFJFTDMyICoqKiAlMTZsbHggPC0gJTE2bGx4IC0gJTE2bGx4XG4iLAotICAgICAgICAgICAgICAgICAgIHJlbG9jLCAoc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCksIHJlbGEtPnJfb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICAgICByZWxvYywgKHN5bV9hZGRyICsgYWRkZW5kKSwgcmVsLT5yX29mZnNldCk7CiAgICAgICAgIGJyZWFrOwogI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKQotICAgICAgY2FzZSBSX1g4Nl82NF9KVU1QX1NMT1Q6Ci0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jQWJzb2x1dGUpOwotICAgICAgICBNQVJLKHJlbGEtPnJfb2Zmc2V0KTsKLSAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBKTVBfU0xPVCAlMDh6eCA8LSAlMDh6eCAlcyIsIHN0YXRpY19jYXN0PHNpemVfdD4ocmVsb2MpLAotICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4oc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCksIHN5bV9uYW1lKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQ7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBSX1g4Nl82NF9HTE9CX0RBVDoKLSAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NBYnNvbHV0ZSk7Ci0gICAgICAgIE1BUksocmVsYS0+cl9vZmZzZXQpOwotICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEdMT0JfREFUICUwOHp4IDwtICUwOHp4ICVzIiwgc3RhdGljX2Nhc3Q8c2l6ZV90PihyZWxvYyksCi0gICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihzeW1fYWRkciArIHJlbGEtPnJfYWRkZW5kKSwgc3ltX25hbWUpOwotICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZDsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIFJfWDg2XzY0X1JFTEFUSVZFOgotICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKLSAgICAgICAgTUFSSyhyZWxhLT5yX29mZnNldCk7Ci0gICAgICAgIGlmIChzeW0pIHsKLSAgICAgICAgICBETF9FUlIoIm9kZCBSRUxBVElWRSBmb3JtLi4uIik7Ci0gICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9Ci0gICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gUkVMQVRJVkUgJTA4enggPC0gKyUwOHp4Iiwgc3RhdGljX2Nhc3Q8c2l6ZV90PihyZWxvYyksCi0gICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihiYXNlKSk7Ci0gICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSBiYXNlICsgcmVsYS0+cl9hZGRlbmQ7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBSX1g4Nl82NF9JUkVMQVRJVkU6Ci0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jUmVsYXRpdmUpOwotICAgICAgICBNQVJLKHJlbGEtPnJfb2Zmc2V0KTsKLSAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBJUkVMQVRJVkUgJTE2bGx4IDwtICUxNmxseFxuIiwgcmVsb2MsIChiYXNlICsgcmVsYS0+cl9hZGRlbmQpKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IGNhbGxfaWZ1bmNfcmVzb2x2ZXIoYmFzZSArIHJlbGEtPnJfYWRkZW5kKTsKLSAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFJfWDg2XzY0XzMyOgogICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKLSAgICAgICAgTUFSSyhyZWxhLT5yX29mZnNldCk7CisgICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7CiAgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gUl9YODZfNjRfMzIgJTA4enggPC0gKyUwOHp4ICVzIiwgc3RhdGljX2Nhc3Q8c2l6ZV90PihyZWxvYyksCiAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihzeW1fYWRkciksIHN5bV9uYW1lKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQ7CisgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSBzeW1fYWRkciArIGFkZGVuZDsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFJfWDg2XzY0XzY0OgogICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKLSAgICAgICAgTUFSSyhyZWxhLT5yX29mZnNldCk7CisgICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7CiAgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gUl9YODZfNjRfNjQgJTA4enggPC0gKyUwOHp4ICVzIiwgc3RhdGljX2Nhc3Q8c2l6ZV90PihyZWxvYyksCiAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8c2l6ZV90PihzeW1fYWRkciksIHN5bV9uYW1lKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IHN5bV9hZGRyICsgcmVsYS0+cl9hZGRlbmQ7CisgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSBzeW1fYWRkciArIGFkZGVuZDsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFJfWDg2XzY0X1BDMzI6CiAgICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jUmVsYXRpdmUpOwotICAgICAgICBNQVJLKHJlbGEtPnJfb2Zmc2V0KTsKKyAgICAgICAgTUFSSyhyZWwtPnJfb2Zmc2V0KTsKICAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBSX1g4Nl82NF9QQzMyICUwOHp4IDwtICslMDh6eCAoJTA4enggLSAlMDh6eCkgJXMiLAogICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4ocmVsb2MpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHN5bV9hZGRyIC0gcmVsb2MpLAogICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNpemVfdD4oc3ltX2FkZHIpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHJlbG9jKSwgc3ltX25hbWUpOwotICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gc3ltX2FkZHIgKyByZWxhLT5yX2FkZGVuZCAtIHJlbG9jOworICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gc3ltX2FkZHIgKyBhZGRlbmQgLSByZWxvYzsKICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKLQotICAgICAgZGVmYXVsdDoKLSAgICAgICAgRExfRVJSKCJ1bmtub3duIHJlbG9jIHR5cGUgJWQgQCAlcCAoJXp1KSIsIHR5cGUsIHJlbGEsIGlkeCk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gIH0KLSAgcmV0dXJuIDA7Ci19Ci0KLSNlbHNlIC8vIFJFTCwgbm90IFJFTEEuCi1pbnQgc29pbmZvOjpSZWxvY2F0ZShFbGZXKFJlbCkqIHJlbCwgdW5zaWduZWQgY291bnQpIHsKLSAgZm9yIChzaXplX3QgaWR4ID0gMDsgaWR4IDwgY291bnQ7ICsraWR4LCArK3JlbCkgewotICAgIHVuc2lnbmVkIHR5cGUgPSBFTEZXKFJfVFlQRSkocmVsLT5yX2luZm8pOwotICAgIC8vIFRPRE86IGRvbid0IHVzZSB1bnNpZ25lZCBmb3IgJ3N5bScuIFVzZSB1aW50MzJfdCBvciBFbGZXKEFkZHIpIGluc3RlYWQuCi0gICAgdW5zaWduZWQgc3ltID0gRUxGVyhSX1NZTSkocmVsLT5yX2luZm8pOwotICAgIEVsZlcoQWRkcikgcmVsb2MgPSBzdGF0aWNfY2FzdDxFbGZXKEFkZHIpPihyZWwtPnJfb2Zmc2V0ICsgbG9hZF9iaWFzKTsKLSAgICBFbGZXKEFkZHIpIHN5bV9hZGRyID0gMDsKLSAgICBjb25zdCBjaGFyKiBzeW1fbmFtZSA9IG51bGxwdHI7Ci0KLSAgICBERUJVRygiUHJvY2Vzc2luZyAnJXMnIHJlbG9jYXRpb24gYXQgaW5kZXggJXpkIiwgbmFtZSwgaWR4KTsKLSAgICBpZiAodHlwZSA9PSAwKSB7IC8vIFJfKl9OT05FCi0gICAgICBjb250aW51ZTsKLSAgICB9Ci0KLSAgICBFbGZXKFN5bSkqIHMgPSBudWxscHRyOwotICAgIHNvaW5mbyogbHNpID0gbnVsbHB0cjsKLQotICAgIGlmIChzeW0gIT0gMCkgewotICAgICAgc3ltX25hbWUgPSBnZXRfc3RyaW5nKHN5bXRhYltzeW1dLnN0X25hbWUpOwotICAgICAgcyA9IHNvaW5mb19kb19sb29rdXAodGhpcywgc3ltX25hbWUsICZsc2kpOwotICAgICAgaWYgKHMgPT0gbnVsbHB0cikgewotICAgICAgICAvLyBXZSBvbmx5IGFsbG93IGFuIHVuZGVmaW5lZCBzeW1ib2wgaWYgdGhpcyBpcyBhIHdlYWsgcmVmZXJlbmNlLi4uCi0gICAgICAgIHMgPSAmc3ltdGFiW3N5bV07Ci0gICAgICAgIGlmIChFTEZfU1RfQklORChzLT5zdF9pbmZvKSAhPSBTVEJfV0VBSykgewotICAgICAgICAgIERMX0VSUigiY2Fubm90IGxvY2F0ZSBzeW1ib2wgXCIlc1wiIHJlZmVyZW5jZWQgYnkgXCIlc1wiLi4uIiwgc3ltX25hbWUsIG5hbWUpOwotICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIElISTAwNDRDIEFBRUxGIDQuNS4xLjE6Ci0KLSAgICAgICAgICAgTGlicmFyaWVzIGFyZSBub3Qgc2VhcmNoZWQgdG8gcmVzb2x2ZSB3ZWFrIHJlZmVyZW5jZXMuCi0gICAgICAgICAgIEl0IGlzIG5vdCBhbiBlcnJvciBmb3IgYSB3ZWFrIHJlZmVyZW5jZSB0byByZW1haW4KLSAgICAgICAgICAgdW5zYXRpc2ZpZWQuCi0KLSAgICAgICAgICAgRHVyaW5nIGxpbmtpbmcsIHRoZSB2YWx1ZSBvZiBhbiB1bmRlZmluZWQgd2VhayByZWZlcmVuY2UgaXM6Ci0gICAgICAgICAgIC0gWmVybyBpZiB0aGUgcmVsb2NhdGlvbiB0eXBlIGlzIGFic29sdXRlCi0gICAgICAgICAgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHBsYWNlIGlmIHRoZSByZWxvY2F0aW9uIGlzIHBjLXJlbGF0aXZlCi0gICAgICAgICAgIC0gVGhlIGFkZHJlc3Mgb2Ygbm9taW5hbCBiYXNlIGFkZHJlc3MgaWYgdGhlIHJlbG9jYXRpb24KLSAgICAgICAgICAgICB0eXBlIGlzIGJhc2UtcmVsYXRpdmUuCi0gICAgICAgICovCi0KLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0jaWYgZGVmaW5lZChfX2FybV9fKQotICAgICAgICAgIGNhc2UgUl9BUk1fSlVNUF9TTE9UOgotICAgICAgICAgIGNhc2UgUl9BUk1fR0xPQl9EQVQ6Ci0gICAgICAgICAgY2FzZSBSX0FSTV9BQlMzMjoKLSAgICAgICAgICBjYXNlIFJfQVJNX1JFTEFUSVZFOiAgICAvKiBEb24ndCBjYXJlLiAqLwotICAgICAgICAgICAgLy8gc3ltX2FkZHIgd2FzIGluaXRpYWxpemVkIHRvIGJlIHplcm8gYWJvdmUgb3IgcmVsb2NhdGlvbgotICAgICAgICAgICAgLy8gY29kZSBiZWxvdyBkb2VzIG5vdCBjYXJlIGFib3V0IHZhbHVlIG9mIHN5bV9hZGRyLgotICAgICAgICAgICAgLy8gTm8gbmVlZCB0byBkbyBhbnl0aGluZy4KLSAgICAgICAgICAgIGJyZWFrOwotI2VsaWYgZGVmaW5lZChfX2kzODZfXykKLSAgICAgICAgICBjYXNlIFJfMzg2X0pNUF9TTE9UOgotICAgICAgICAgIGNhc2UgUl8zODZfR0xPQl9EQVQ6Ci0gICAgICAgICAgY2FzZSBSXzM4Nl8zMjoKLSAgICAgICAgICBjYXNlIFJfMzg2X1JFTEFUSVZFOiAgICAvKiBEb24ndCBjYXJlLiAqLwotICAgICAgICAgIGNhc2UgUl8zODZfSVJFTEFUSVZFOgotICAgICAgICAgICAgLy8gc3ltX2FkZHIgd2FzIGluaXRpYWxpemVkIHRvIGJlIHplcm8gYWJvdmUgb3IgcmVsb2NhdGlvbgotICAgICAgICAgICAgLy8gY29kZSBiZWxvdyBkb2VzIG5vdCBjYXJlIGFib3V0IHZhbHVlIG9mIHN5bV9hZGRyLgotICAgICAgICAgICAgLy8gTm8gbmVlZCB0byBkbyBhbnl0aGluZy4KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgUl8zODZfUEMzMjoKLSAgICAgICAgICAgIHN5bV9hZGRyID0gcmVsb2M7Ci0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChfX2FybV9fKQotICAgICAgICAgIGNhc2UgUl9BUk1fQ09QWToKLSAgICAgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4gQ2FuJ3QgcmVhbGx5IGNvcHkgaWYgd2VhayBzeW1ib2wgaXMgbm90IGZvdW5kIGF0IHJ1bi10aW1lLgotI2VuZGlmCi0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIERMX0VSUigidW5rbm93biB3ZWFrIHJlbG9jIHR5cGUgJWQgQCAlcCAoJXp1KSIsIHR5cGUsIHJlbCwgaWR4KTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgfSBlbHNlIHsKLSAgICAgICAgLy8gV2UgZ290IGEgZGVmaW5pdGlvbi4KLSAgICAgICAgc3ltX2FkZHIgPSBsc2ktPnJlc29sdmVfc3ltYm9sX2FkZHJlc3Mocyk7Ci0gICAgICB9Ci0gICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1N5bWJvbCk7Ci0gICAgfQotCi0gICAgc3dpdGNoICh0eXBlKSB7Ci0jaWYgZGVmaW5lZChfX2FybV9fKQotICAgICAgY2FzZSBSX0FSTV9KVU1QX1NMT1Q6Ci0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jQWJzb2x1dGUpOwotICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwotICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEpNUF9TTE9UICUwOHggPC0gJTA4eCAlcyIsIHJlbG9jLCBzeW1fYWRkciwgc3ltX25hbWUpOwotICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gc3ltX2FkZHI7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBSX0FSTV9HTE9CX0RBVDoKLSAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NBYnNvbHV0ZSk7Ci0gICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7Ci0gICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gR0xPQl9EQVQgJTA4eCA8LSAlMDh4ICVzIiwgcmVsb2MsIHN5bV9hZGRyLCBzeW1fbmFtZSk7Ci0gICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSBzeW1fYWRkcjsKLSAgICAgICAgYnJlYWs7CisjZWxpZiBkZWZpbmVkKF9fYXJtX18pCiAgICAgICBjYXNlIFJfQVJNX0FCUzMyOgogICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY0Fic29sdXRlKTsKICAgICAgICAgTUFSSyhyZWwtPnJfb2Zmc2V0KTsKQEAgLTE0NzAsMjUgKzIwNjUsMTMgQEAKICAgICAgICAgICoKICAgICAgICAgICogaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL3RvcGljL2NvbS5hcm0uZG9jLmloaTAwNDRkL0lISTAwNDREX2FhZWxmLnBkZgogICAgICAgICAgKgotICAgICAgICAgKiBTZWN0aW9uIDQuNy4xLjEwICJEeW5hbWljIHJlbG9jYXRpb25zIgorICAgICAgICAgKiBTZWN0aW9uIDQuNi4xLjEwICJEeW5hbWljIHJlbG9jYXRpb25zIgogICAgICAgICAgKiBSX0FSTV9DT1BZIG1heSBvbmx5IGFwcGVhciBpbiBleGVjdXRhYmxlIG9iamVjdHMgd2hlcmUgZV90eXBlIGlzCiAgICAgICAgICAqIHNldCB0byBFVF9FWEVDLgogICAgICAgICAgKi8KLSAgICAgICAgRExfRVJSKCIlcyBSX0FSTV9DT1BZIHJlbG9jYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIiwgbmFtZSk7Ci0gICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgRExfRVJSKCIlcyBSX0FSTV9DT1BZIHJlbG9jYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIiwgZ2V0X3NvbmFtZSgpKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VsaWYgZGVmaW5lZChfX2kzODZfXykKLSAgICAgIGNhc2UgUl8zODZfSk1QX1NMT1Q6Ci0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jQWJzb2x1dGUpOwotICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwotICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIEpNUF9TTE9UICUwOHggPC0gJTA4eCAlcyIsIHJlbG9jLCBzeW1fYWRkciwgc3ltX25hbWUpOwotICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpID0gc3ltX2FkZHI7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBSXzM4Nl9HTE9CX0RBVDoKLSAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NBYnNvbHV0ZSk7Ci0gICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7Ci0gICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gR0xPQl9EQVQgJTA4eCA8LSAlMDh4ICVzIiwgcmVsb2MsIHN5bV9hZGRyLCBzeW1fbmFtZSk7Ci0gICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgPSBzeW1fYWRkcjsKLSAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIFJfMzg2XzMyOgogICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKICAgICAgICAgTUFSSyhyZWwtPnJfb2Zmc2V0KTsKQEAgLTE1MDIsMTI0ICsyMDg1LDIzIEBACiAgICAgICAgICAgICAgICAgICAgcmVsb2MsIChzeW1fYWRkciAtIHJlbG9jKSwgc3ltX2FkZHIsIHJlbG9jLCBzeW1fbmFtZSk7CiAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gKHN5bV9hZGRyIC0gcmVsb2MpOwogICAgICAgICBicmVhazsKLSNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICAgICBjYXNlIFJfTUlQU19SRUwzMjoKLSNpZiBkZWZpbmVkKF9fTFA2NF9fKQotICAgICAgICAvLyBNSVBTIEVsZjY0X1JlbCBlbnRyaWVzIGNvbnRhaW4gY29tcG91bmQgcmVsb2NhdGlvbnMKLSAgICAgICAgLy8gV2Ugb25seSBoYW5kbGUgdGhlIFJfTUlQU19OT05FfFJfTUlQU182NHxSX01JUFNfUkVMMzIgY2FzZQotICAgICAgICBpZiAoRUxGNjRfUl9UWVBFMihyZWwtPnJfaW5mbykgIT0gUl9NSVBTXzY0IHx8Ci0gICAgICAgICAgICBFTEY2NF9SX1RZUEUzKHJlbC0+cl9pbmZvKSAhPSBSX01JUFNfTk9ORSkgewotICAgICAgICAgIERMX0VSUigiVW5leHBlY3RlZCBjb21wb3VuZCByZWxvY2F0aW9uIHR5cGU6JWQgdHlwZTI6JWQgdHlwZTM6JWQgQCAlcCAoJXp1KSIsCi0gICAgICAgICAgICAgICAgIHR5cGUsICh1bnNpZ25lZClFTEY2NF9SX1RZUEUyKHJlbC0+cl9pbmZvKSwKLSAgICAgICAgICAgICAgICAgKHVuc2lnbmVkKUVMRjY0X1JfVFlQRTMocmVsLT5yX2luZm8pLCByZWwsIGlkeCk7Ci0gICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgY291bnRfcmVsb2NhdGlvbihrUmVsb2NBYnNvbHV0ZSk7Ci0gICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7Ci0gICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gUkVMMzIgJTA4enggPC0gJTA4enggJXMiLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHJlbG9jKSwKLSAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KHN5bV9hZGRyKSwgc3ltX25hbWUgPyBzeW1fbmFtZSA6ICIqU0VDVElPTkhEUioiKTsKLSAgICAgICAgaWYgKHMpIHsKLSAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4ocmVsb2MpICs9IHN5bV9hZGRyOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gYmFzZTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChfX2FybV9fKQotICAgICAgY2FzZSBSX0FSTV9SRUxBVElWRToKLSNlbGlmIGRlZmluZWQoX19pMzg2X18pCi0gICAgICBjYXNlIFJfMzg2X1JFTEFUSVZFOgotI2VuZGlmCi0gICAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jUmVsYXRpdmUpOwotICAgICAgICBNQVJLKHJlbC0+cl9vZmZzZXQpOwotICAgICAgICBpZiAoc3ltKSB7Ci0gICAgICAgICAgRExfRVJSKCJvZGQgUkVMQVRJVkUgZm9ybS4uLiIpOwotICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgICBUUkFDRV9UWVBFKFJFTE8sICJSRUxPIFJFTEFUSVZFICVwIDwtICslcCIsCi0gICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocmVsb2MpLCByZWludGVycHJldF9jYXN0PHZvaWQqPihiYXNlKSk7Ci0gICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gYmFzZTsKLSAgICAgICAgYnJlYWs7Ci0jaWYgZGVmaW5lZChfX2kzODZfXykKLSAgICAgIGNhc2UgUl8zODZfSVJFTEFUSVZFOgotICAgICAgICBjb3VudF9yZWxvY2F0aW9uKGtSZWxvY1JlbGF0aXZlKTsKLSAgICAgICAgTUFSSyhyZWwtPnJfb2Zmc2V0KTsKLSAgICAgICAgVFJBQ0VfVFlQRShSRUxPLCAiUkVMTyBJUkVMQVRJVkUgJXAgPC0gJXAiLCByZWludGVycHJldF9jYXN0PHZvaWQqPihyZWxvYyksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGJhc2UpKTsKLSAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSA9IGNhbGxfaWZ1bmNfcmVzb2x2ZXIoYmFzZSArICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykpOwotICAgICAgICBicmVhazsKLSNlbmRpZgotCiAgICAgICBkZWZhdWx0OgogICAgICAgICBETF9FUlIoInVua25vd24gcmVsb2MgdHlwZSAlZCBAICVwICglenUpIiwgdHlwZSwgcmVsLCBpZHgpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICB9Ci0gIHJldHVybiAwOwotfQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKF9fbWlwc19fKQotc3RhdGljIGJvb2wgbWlwc19yZWxvY2F0ZV9nb3Qoc29pbmZvKiBzaSkgewotICBFbGZXKEFkZHIpKiogZ290ID0gc2ktPnBsdF9nb3Q7Ci0gIGlmIChnb3QgPT0gbnVsbHB0cikgewotICAgIHJldHVybiB0cnVlOwotICB9Ci0gIHVuc2lnbmVkIGxvY2FsX2dvdG5vID0gc2ktPm1pcHNfbG9jYWxfZ290bm87Ci0gIHVuc2lnbmVkIGdvdHN5bSA9IHNpLT5taXBzX2dvdHN5bTsKLSAgdW5zaWduZWQgc3ltdGFibm8gPSBzaS0+bWlwc19zeW10YWJubzsKLSAgRWxmVyhTeW0pKiBzeW10YWIgPSBzaS0+c3ltdGFiOwotCi0gIC8vIGdvdFswXSBpcyB0aGUgYWRkcmVzcyBvZiB0aGUgbGF6eSByZXNvbHZlciBmdW5jdGlvbi4KLSAgLy8gZ290WzFdIG1heSBiZSB1c2VkIGZvciBhIEdOVSBleHRlbnNpb24uCi0gIC8vIFNldCBpdCB0byBhIHJlY29nbml6YWJsZSBhZGRyZXNzIGluIGNhc2Ugc29tZW9uZSBjYWxscyBpdCAoc2hvdWxkIGJlIF9ydGxkX2JpbmRfc3RhcnQpLgotICAvLyBGSVhNRTogbWF5YmUgdGhpcyBzaG91bGQgYmUgaW4gYSBzZXBhcmF0ZSByb3V0aW5lPwotICBpZiAoKHNpLT5mbGFncyAmIEZMQUdfTElOS0VSKSA9PSAwKSB7Ci0gICAgc2l6ZV90IGcgPSAwOwotICAgIGdvdFtnKytdID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4oMHhkZWFkYmVlZik7Ci0gICAgaWYgKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGdvdFtnXSkgPCAwKSB7Ci0gICAgICBnb3RbZysrXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KDB4ZGVhZGZlZWQpOwotICAgIH0KLSAgICAvLyBSZWxvY2F0ZSB0aGUgbG9jYWwgR09UIGVudHJpZXMuCi0gICAgZm9yICg7IGcgPCBsb2NhbF9nb3RubzsgZysrKSB7Ci0gICAgICBnb3RbZ10gPSByZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oZ290W2ddKSArIHNpLT5sb2FkX2JpYXMpOwotICAgIH0KLSAgfQotCi0gIC8vIE5vdyBmb3IgdGhlIGdsb2JhbCBHT1QgZW50cmllcy4uLgotICBFbGZXKFN5bSkqIHN5bSA9IHN5bXRhYiArIGdvdHN5bTsKLSAgZ290ID0gc2ktPnBsdF9nb3QgKyBsb2NhbF9nb3RubzsKLSAgZm9yIChzaXplX3QgZyA9IGdvdHN5bTsgZyA8IHN5bXRhYm5vOyBnKyssIHN5bSsrLCBnb3QrKykgewotICAgIC8vIFRoaXMgaXMgYW4gdW5kZWZpbmVkIHJlZmVyZW5jZS4uLiB0cnkgdG8gbG9jYXRlIGl0LgotICAgIGNvbnN0IGNoYXIqIHN5bV9uYW1lID0gc2ktPmdldF9zdHJpbmcoc3ltLT5zdF9uYW1lKTsKLSAgICBzb2luZm8qIGxzaSA9IG51bGxwdHI7Ci0gICAgRWxmVyhTeW0pKiBzID0gc29pbmZvX2RvX2xvb2t1cChzaSwgc3ltX25hbWUsICZsc2kpOwotICAgIGlmIChzID09IG51bGxwdHIpIHsKLSAgICAgIC8vIFdlIG9ubHkgYWxsb3cgYW4gdW5kZWZpbmVkIHN5bWJvbCBpZiB0aGlzIGlzIGEgd2VhayByZWZlcmVuY2UuCi0gICAgICBzID0gJnN5bXRhYltnXTsKLSAgICAgIGlmIChFTEZfU1RfQklORChzLT5zdF9pbmZvKSAhPSBTVEJfV0VBSykgewotICAgICAgICBETF9FUlIoImNhbm5vdCBsb2NhdGUgXCIlc1wiLi4uIiwgc3ltX25hbWUpOwogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICAqZ290ID0gMDsKLSAgICB9IGVsc2UgewotICAgICAgLy8gRklYTUU6IGlzIHRoaXMgc3VmZmljaWVudD8KLSAgICAgIC8vIEZvciByZWZlcmVuY2Ugc2VlIE5ldEJTRCBsaW5rIGxvYWRlcgotICAgICAgLy8gaHR0cDovL2N2c3dlYi5uZXRic2Qub3JnL2JzZHdlYi5jZ2kvc3JjL2xpYmV4ZWMvbGQuZWxmX3NvL2FyY2gvbWlwcy9taXBzX3JlbG9jLmM/cmV2PTEuNTMmY29udGVudC10eXBlPXRleHQveC1jdnN3ZWItbWFya3VwCi0gICAgICAqZ290ID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4obHNpLT5yZXNvbHZlX3N5bWJvbF9hZGRyZXNzKHMpKTsKICAgICB9CiAgIH0KICAgcmV0dXJuIHRydWU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAgLy8gIWRlZmluZWQoX19taXBzX18pCiAKLXZvaWQgc29pbmZvOjpDYWxsQXJyYXkoY29uc3QgY2hhciogYXJyYXlfbmFtZSBfX3VudXNlZCwgbGlua2VyX2Z1bmN0aW9uX3QqIGZ1bmN0aW9ucywgc2l6ZV90IGNvdW50LCBib29sIHJldmVyc2UpIHsKK3ZvaWQgc29pbmZvOjpjYWxsX2FycmF5KGNvbnN0IGNoYXIqIGFycmF5X25hbWUgX191bnVzZWQsIGxpbmtlcl9mdW5jdGlvbl90KiBmdW5jdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY291bnQsIGJvb2wgcmV2ZXJzZSkgewogICBpZiAoZnVuY3Rpb25zID09IG51bGxwdHIpIHsKICAgICByZXR1cm47CiAgIH0KIAotICBUUkFDRSgiWyBDYWxsaW5nICVzIChzaXplICV6ZCkgQCAlcCBmb3IgJyVzJyBdIiwgYXJyYXlfbmFtZSwgY291bnQsIGZ1bmN0aW9ucywgbmFtZSk7CisgIFRSQUNFKCJbIENhbGxpbmcgJXMgKHNpemUgJXpkKSBAICVwIGZvciAnJXMnIF0iLCBhcnJheV9uYW1lLCBjb3VudCwgZnVuY3Rpb25zLCBnZXRfc29uYW1lKCkpOwogCiAgIGludCBiZWdpbiA9IHJldmVyc2UgPyAoY291bnQgLSAxKSA6IDA7CiAgIGludCBlbmQgPSByZXZlcnNlID8gLTEgOiBjb3VudDsKQEAgLTE2MjcsMzMgKzIxMDksMjkgQEAKIAogICBmb3IgKGludCBpID0gYmVnaW47IGkgIT0gZW5kOyBpICs9IHN0ZXApIHsKICAgICBUUkFDRSgiWyAlc1slZF0gPT0gJXAgXSIsIGFycmF5X25hbWUsIGksIGZ1bmN0aW9uc1tpXSk7Ci0gICAgQ2FsbEZ1bmN0aW9uKCJmdW5jdGlvbiIsIGZ1bmN0aW9uc1tpXSk7CisgICAgY2FsbF9mdW5jdGlvbigiZnVuY3Rpb24iLCBmdW5jdGlvbnNbaV0pOwogICB9CiAKLSAgVFJBQ0UoIlsgRG9uZSBjYWxsaW5nICVzIGZvciAnJXMnIF0iLCBhcnJheV9uYW1lLCBuYW1lKTsKKyAgVFJBQ0UoIlsgRG9uZSBjYWxsaW5nICVzIGZvciAnJXMnIF0iLCBhcnJheV9uYW1lLCBnZXRfc29uYW1lKCkpOwogfQogCi12b2lkIHNvaW5mbzo6Q2FsbEZ1bmN0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0aW9uX25hbWUgX191bnVzZWQsIGxpbmtlcl9mdW5jdGlvbl90IGZ1bmN0aW9uKSB7Cit2b2lkIHNvaW5mbzo6Y2FsbF9mdW5jdGlvbihjb25zdCBjaGFyKiBmdW5jdGlvbl9uYW1lIF9fdW51c2VkLCBsaW5rZXJfZnVuY3Rpb25fdCBmdW5jdGlvbikgewogICBpZiAoZnVuY3Rpb24gPT0gbnVsbHB0ciB8fCByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oZnVuY3Rpb24pID09IHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oLTEpKSB7CiAgICAgcmV0dXJuOwogICB9CiAKLSAgVFJBQ0UoIlsgQ2FsbGluZyAlcyBAICVwIGZvciAnJXMnIF0iLCBmdW5jdGlvbl9uYW1lLCBmdW5jdGlvbiwgbmFtZSk7CisgIFRSQUNFKCJbIENhbGxpbmcgJXMgQCAlcCBmb3IgJyVzJyBdIiwgZnVuY3Rpb25fbmFtZSwgZnVuY3Rpb24sIGdldF9zb25hbWUoKSk7CiAgIGZ1bmN0aW9uKCk7Ci0gIFRSQUNFKCJbIERvbmUgY2FsbGluZyAlcyBAICVwIGZvciAnJXMnIF0iLCBmdW5jdGlvbl9uYW1lLCBmdW5jdGlvbiwgbmFtZSk7Ci0KLSAgLy8gVGhlIGZ1bmN0aW9uIG1heSBoYXZlIGNhbGxlZCBkbG9wZW4oMykgb3IgZGxjbG9zZSgzKSwgc28gd2UgbmVlZCB0byBlbnN1cmUgb3VyIGRhdGEgc3RydWN0dXJlcwotICAvLyBhcmUgc3RpbGwgd3JpdGFibGUuIFRoaXMgaGFwcGVucyB3aXRoIG91ciBkZWJ1ZyBtYWxsb2MgKHNlZSBodHRwOi8vYi83OTQxNzE2KS4KLSAgcHJvdGVjdF9kYXRhKFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOworICBUUkFDRSgiWyBEb25lIGNhbGxpbmcgJXMgQCAlcCBmb3IgJyVzJyBdIiwgZnVuY3Rpb25fbmFtZSwgZnVuY3Rpb24sIGdldF9zb25hbWUoKSk7CiB9CiAKLXZvaWQgc29pbmZvOjpDYWxsUHJlSW5pdENvbnN0cnVjdG9ycygpIHsKK3ZvaWQgc29pbmZvOjpjYWxsX3ByZV9pbml0X2NvbnN0cnVjdG9ycygpIHsKICAgLy8gRFRfUFJFSU5JVF9BUlJBWSBmdW5jdGlvbnMgYXJlIGNhbGxlZCBiZWZvcmUgYW55IG90aGVyIGNvbnN0cnVjdG9ycyBmb3IgZXhlY3V0YWJsZXMsCiAgIC8vIGJ1dCBpZ25vcmVkIGluIGEgc2hhcmVkIGxpYnJhcnkuCi0gIENhbGxBcnJheSgiRFRfUFJFSU5JVF9BUlJBWSIsIHByZWluaXRfYXJyYXksIHByZWluaXRfYXJyYXlfY291bnQsIGZhbHNlKTsKKyAgY2FsbF9hcnJheSgiRFRfUFJFSU5JVF9BUlJBWSIsIHByZWluaXRfYXJyYXlfLCBwcmVpbml0X2FycmF5X2NvdW50XywgZmFsc2UpOwogfQogCi12b2lkIHNvaW5mbzo6Q2FsbENvbnN0cnVjdG9ycygpIHsKK3ZvaWQgc29pbmZvOjpjYWxsX2NvbnN0cnVjdG9ycygpIHsKICAgaWYgKGNvbnN0cnVjdG9yc19jYWxsZWQpIHsKICAgICByZXR1cm47CiAgIH0KQEAgLTE2NzAsMzQgKzIxNDgsMzQgQEAKICAgLy8gICAgb3V0IGFib3ZlLCB0aGUgbGliYyBjb25zdHJ1Y3RvciB3aWxsIGJlIGNhbGxlZCBhZ2FpbiAocmVjdXJzaXZlbHkhKS4KICAgY29uc3RydWN0b3JzX2NhbGxlZCA9IHRydWU7CiAKLSAgaWYgKChmbGFncyAmIEZMQUdfRVhFKSA9PSAwICYmIHByZWluaXRfYXJyYXkgIT0gbnVsbHB0cikgeworICBpZiAoIWlzX21haW5fZXhlY3V0YWJsZSgpICYmIHByZWluaXRfYXJyYXlfICE9IG51bGxwdHIpIHsKICAgICAvLyBUaGUgR05VIGR5bmFtaWMgbGlua2VyIHNpbGVudGx5IGlnbm9yZXMgdGhlc2UsIGJ1dCB3ZSB3YXJuIHRoZSBkZXZlbG9wZXIuCiAgICAgUFJJTlQoIlwiJXNcIjogaWdub3JpbmcgJXpkLWVudHJ5IERUX1BSRUlOSVRfQVJSQVkgaW4gc2hhcmVkIGxpYnJhcnkhIiwKLSAgICAgICAgICBuYW1lLCBwcmVpbml0X2FycmF5X2NvdW50KTsKKyAgICAgICAgICBnZXRfc29uYW1lKCksIHByZWluaXRfYXJyYXlfY291bnRfKTsKICAgfQogCiAgIGdldF9jaGlsZHJlbigpLmZvcl9lYWNoKFtdIChzb2luZm8qIHNpKSB7Ci0gICAgc2ktPkNhbGxDb25zdHJ1Y3RvcnMoKTsKKyAgICBzaS0+Y2FsbF9jb25zdHJ1Y3RvcnMoKTsKICAgfSk7CiAKLSAgVFJBQ0UoIlwiJXNcIjogY2FsbGluZyBjb25zdHJ1Y3RvcnMiLCBuYW1lKTsKKyAgVFJBQ0UoIlwiJXNcIjogY2FsbGluZyBjb25zdHJ1Y3RvcnMiLCBnZXRfc29uYW1lKCkpOwogCiAgIC8vIERUX0lOSVQgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgRFRfSU5JVF9BUlJBWSBpZiBib3RoIGFyZSBwcmVzZW50LgotICBDYWxsRnVuY3Rpb24oIkRUX0lOSVQiLCBpbml0X2Z1bmMpOwotICBDYWxsQXJyYXkoIkRUX0lOSVRfQVJSQVkiLCBpbml0X2FycmF5LCBpbml0X2FycmF5X2NvdW50LCBmYWxzZSk7CisgIGNhbGxfZnVuY3Rpb24oIkRUX0lOSVQiLCBpbml0X2Z1bmNfKTsKKyAgY2FsbF9hcnJheSgiRFRfSU5JVF9BUlJBWSIsIGluaXRfYXJyYXlfLCBpbml0X2FycmF5X2NvdW50XywgZmFsc2UpOwogfQogCi12b2lkIHNvaW5mbzo6Q2FsbERlc3RydWN0b3JzKCkgewordm9pZCBzb2luZm86OmNhbGxfZGVzdHJ1Y3RvcnMoKSB7CiAgIGlmICghY29uc3RydWN0b3JzX2NhbGxlZCkgewogICAgIHJldHVybjsKICAgfQotICBUUkFDRSgiXCIlc1wiOiBjYWxsaW5nIGRlc3RydWN0b3JzIiwgbmFtZSk7CisgIFRSQUNFKCJcIiVzXCI6IGNhbGxpbmcgZGVzdHJ1Y3RvcnMiLCBnZXRfc29uYW1lKCkpOwogCiAgIC8vIERUX0ZJTklfQVJSQVkgbXVzdCBiZSBwYXJzZWQgaW4gcmV2ZXJzZSBvcmRlci4KLSAgQ2FsbEFycmF5KCJEVF9GSU5JX0FSUkFZIiwgZmluaV9hcnJheSwgZmluaV9hcnJheV9jb3VudCwgdHJ1ZSk7CisgIGNhbGxfYXJyYXkoIkRUX0ZJTklfQVJSQVkiLCBmaW5pX2FycmF5XywgZmluaV9hcnJheV9jb3VudF8sIHRydWUpOwogCiAgIC8vIERUX0ZJTkkgc2hvdWxkIGJlIGNhbGxlZCBhZnRlciBEVF9GSU5JX0FSUkFZIGlmIGJvdGggYXJlIHByZXNlbnQuCi0gIENhbGxGdW5jdGlvbigiRFRfRklOSSIsIGZpbmlfZnVuYyk7CisgIGNhbGxfZnVuY3Rpb24oIkRUX0ZJTkkiLCBmaW5pX2Z1bmNfKTsKIAogICAvLyBUaGlzIGlzIG5lZWRlZCBvbiBzZWNvbmQgY2FsbCB0byBkbG9wZW4KICAgLy8gYWZ0ZXIgbGlicmFyeSBoYXMgYmVlbiB1bmxvYWRlZCB3aXRoIFJUTERfTk9ERUxFVEUKQEAgLTE3MDYsOCArMjE4NCw4IEBACiAKIHZvaWQgc29pbmZvOjphZGRfY2hpbGQoc29pbmZvKiBjaGlsZCkgewogICBpZiAoaGFzX21pbl92ZXJzaW9uKDApKSB7Ci0gICAgY2hpbGQtPnBhcmVudHMucHVzaF9iYWNrKHRoaXMpOwotICAgIHRoaXMtPmNoaWxkcmVuLnB1c2hfYmFjayhjaGlsZCk7CisgICAgY2hpbGQtPnBhcmVudHNfLnB1c2hfYmFjayh0aGlzKTsKKyAgICB0aGlzLT5jaGlsZHJlbl8ucHVzaF9iYWNrKGNoaWxkKTsKICAgfQogfQogCkBAIC0xNzE3LDY4ICsyMTk1LDEzMCBAQAogICB9CiAKICAgLy8gMS4gVW50aWUgY29ubmVjdGVkIHNvaW5mb3MgZnJvbSAndGhpcycuCi0gIGNoaWxkcmVuLmZvcl9lYWNoKFsmXSAoc29pbmZvKiBjaGlsZCkgewotICAgIGNoaWxkLT5wYXJlbnRzLnJlbW92ZV9pZihbJl0gKGNvbnN0IHNvaW5mbyogcGFyZW50KSB7CisgIGNoaWxkcmVuXy5mb3JfZWFjaChbJl0gKHNvaW5mbyogY2hpbGQpIHsKKyAgICBjaGlsZC0+cGFyZW50c18ucmVtb3ZlX2lmKFsmXSAoY29uc3Qgc29pbmZvKiBwYXJlbnQpIHsKICAgICAgIHJldHVybiBwYXJlbnQgPT0gdGhpczsKICAgICB9KTsKICAgfSk7CiAKLSAgcGFyZW50cy5mb3JfZWFjaChbJl0gKHNvaW5mbyogcGFyZW50KSB7Ci0gICAgcGFyZW50LT5jaGlsZHJlbi5yZW1vdmVfaWYoWyZdIChjb25zdCBzb2luZm8qIGNoaWxkKSB7CisgIHBhcmVudHNfLmZvcl9lYWNoKFsmXSAoc29pbmZvKiBwYXJlbnQpIHsKKyAgICBwYXJlbnQtPmNoaWxkcmVuXy5yZW1vdmVfaWYoWyZdIChjb25zdCBzb2luZm8qIGNoaWxkKSB7CiAgICAgICByZXR1cm4gY2hpbGQgPT0gdGhpczsKICAgICB9KTsKICAgfSk7CiAKICAgLy8gMi4gT25jZSBldmVyeXRoaW5nIHVudGllZCAtIGNsZWFyIGxvY2FsIGxpc3RzLgotICBwYXJlbnRzLmNsZWFyKCk7Ci0gIGNoaWxkcmVuLmNsZWFyKCk7CisgIHBhcmVudHNfLmNsZWFyKCk7CisgIGNoaWxkcmVuXy5jbGVhcigpOwogfQogCi1kZXZfdCBzb2luZm86OmdldF9zdF9kZXYoKSB7CitkZXZfdCBzb2luZm86OmdldF9zdF9kZXYoKSBjb25zdCB7CiAgIGlmIChoYXNfbWluX3ZlcnNpb24oMCkpIHsKLSAgICByZXR1cm4gc3RfZGV2OworICAgIHJldHVybiBzdF9kZXZfOwogICB9CiAKICAgcmV0dXJuIDA7CiB9OwogCi1pbm9fdCBzb2luZm86OmdldF9zdF9pbm8oKSB7Citpbm9fdCBzb2luZm86OmdldF9zdF9pbm8oKSBjb25zdCB7CiAgIGlmIChoYXNfbWluX3ZlcnNpb24oMCkpIHsKLSAgICByZXR1cm4gc3RfaW5vOworICAgIHJldHVybiBzdF9pbm9fOwogICB9CiAKICAgcmV0dXJuIDA7CiB9CiAKLW9mZjY0X3Qgc29pbmZvOjpnZXRfZmlsZV9vZmZzZXQoKSB7CitvZmY2NF90IHNvaW5mbzo6Z2V0X2ZpbGVfb2Zmc2V0KCkgY29uc3QgewogICBpZiAoaGFzX21pbl92ZXJzaW9uKDEpKSB7Ci0gICAgcmV0dXJuIGZpbGVfb2Zmc2V0OworICAgIHJldHVybiBmaWxlX29mZnNldF87CiAgIH0KIAogICByZXR1cm4gMDsKIH0KIAordWludDMyX3Qgc29pbmZvOjpnZXRfcnRsZF9mbGFncygpIGNvbnN0IHsKKyAgaWYgKGhhc19taW5fdmVyc2lvbigxKSkgeworICAgIHJldHVybiBydGxkX2ZsYWdzXzsKKyAgfQorCisgIHJldHVybiAwOworfQorCit1aW50MzJfdCBzb2luZm86OmdldF9kdF9mbGFnc18xKCkgY29uc3QgeworICBpZiAoaGFzX21pbl92ZXJzaW9uKDEpKSB7CisgICAgcmV0dXJuIGR0X2ZsYWdzXzFfOworICB9CisKKyAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgc29pbmZvOjpzZXRfZHRfZmxhZ3NfMSh1aW50MzJfdCBkdF9mbGFnc18xKSB7CisgIGlmIChoYXNfbWluX3ZlcnNpb24oMSkpIHsKKyAgICBpZiAoKGR0X2ZsYWdzXzEgJiBERl8xX0dMT0JBTCkgIT0gMCkgeworICAgICAgcnRsZF9mbGFnc18gfD0gUlRMRF9HTE9CQUw7CisgICAgfQorCisgICAgaWYgKChkdF9mbGFnc18xICYgREZfMV9OT0RFTEVURSkgIT0gMCkgeworICAgICAgcnRsZF9mbGFnc18gfD0gUlRMRF9OT0RFTEVURTsKKyAgICB9CisKKyAgICBkdF9mbGFnc18xXyA9IGR0X2ZsYWdzXzE7CisgIH0KK30KKworY29uc3QgY2hhciogc29pbmZvOjpnZXRfcmVhbHBhdGgoKSBjb25zdCB7CisjaWYgZGVmaW5lZChfX2FybV9fKQorICBpZiAoaGFzX21pbl92ZXJzaW9uKDIpKSB7CisgICAgcmV0dXJuIHJlYWxwYXRoXy5jX3N0cigpOworICB9IGVsc2UgeworICAgIHJldHVybiBvbGRfbmFtZV87CisgIH0KKyNlbHNlCisgIHJldHVybiByZWFscGF0aF8uY19zdHIoKTsKKyNlbmRpZgorfQorCitjb25zdCBjaGFyKiBzb2luZm86OmdldF9zb25hbWUoKSBjb25zdCB7CisjaWYgZGVmaW5lZChfX2FybV9fKQorICBpZiAoaGFzX21pbl92ZXJzaW9uKDIpKSB7CisgICAgcmV0dXJuIHNvbmFtZV87CisgIH0gZWxzZSB7CisgICAgcmV0dXJuIG9sZF9uYW1lXzsKKyAgfQorI2Vsc2UKKyAgcmV0dXJuIHNvbmFtZV87CisjZW5kaWYKK30KKwogLy8gVGhpcyBpcyBhIHJldHVybiBvbiBnZXRfY2hpbGRyZW4oKS9nZXRfcGFyZW50cygpIGlmCiAvLyAndGhpcy0+ZmxhZ3MnIGRvZXMgbm90IGhhdmUgRkxBR19ORVdfU09JTkZPIHNldC4KIHN0YXRpYyBzb2luZm86OnNvaW5mb19saXN0X3QgZ19lbXB0eV9saXN0OwogCiBzb2luZm86OnNvaW5mb19saXN0X3QmIHNvaW5mbzo6Z2V0X2NoaWxkcmVuKCkgewogICBpZiAoaGFzX21pbl92ZXJzaW9uKDApKSB7Ci0gICAgcmV0dXJuIHRoaXMtPmNoaWxkcmVuOworICAgIHJldHVybiBjaGlsZHJlbl87CisgIH0KKworICByZXR1cm4gZ19lbXB0eV9saXN0OworfQorCitjb25zdCBzb2luZm86OnNvaW5mb19saXN0X3QmIHNvaW5mbzo6Z2V0X2NoaWxkcmVuKCkgY29uc3QgeworICBpZiAoaGFzX21pbl92ZXJzaW9uKDApKSB7CisgICAgcmV0dXJuIGNoaWxkcmVuXzsKICAgfQogCiAgIHJldHVybiBnX2VtcHR5X2xpc3Q7CiB9CiAKIHNvaW5mbzo6c29pbmZvX2xpc3RfdCYgc29pbmZvOjpnZXRfcGFyZW50cygpIHsKLSAgaWYgKCh0aGlzLT5mbGFncyAmIEZMQUdfTkVXX1NPSU5GTykgPT0gMCkgewotICAgIHJldHVybiBnX2VtcHR5X2xpc3Q7CisgIGlmIChoYXNfbWluX3ZlcnNpb24oMCkpIHsKKyAgICByZXR1cm4gcGFyZW50c187CiAgIH0KIAotICByZXR1cm4gdGhpcy0+cGFyZW50czsKKyAgcmV0dXJuIGdfZW1wdHlfbGlzdDsKIH0KIAotRWxmVyhBZGRyKSBzb2luZm86OnJlc29sdmVfc3ltYm9sX2FkZHJlc3MoRWxmVyhTeW0pKiBzKSB7CitFbGZXKEFkZHIpIHNvaW5mbzo6cmVzb2x2ZV9zeW1ib2xfYWRkcmVzcyhjb25zdCBFbGZXKFN5bSkqIHMpIGNvbnN0IHsKICAgaWYgKEVMRl9TVF9UWVBFKHMtPnN0X2luZm8pID09IFNUVF9HTlVfSUZVTkMpIHsKICAgICByZXR1cm4gY2FsbF9pZnVuY19yZXNvbHZlcihzLT5zdF92YWx1ZSArIGxvYWRfYmlhcyk7CiAgIH0KQEAgLTE3ODcsMTEgKzIzMjcsNTIgQEAKIH0KIAogY29uc3QgY2hhciogc29pbmZvOjpnZXRfc3RyaW5nKEVsZlcoV29yZCkgaW5kZXgpIGNvbnN0IHsKLSAgaWYgKGhhc19taW5fdmVyc2lvbigxKSAmJiAoaW5kZXggPj0gc3RydGFiX3NpemUpKSB7Ci0gICAgX19saWJjX2ZhdGFsKCIlczogc3RydGFiIG91dCBvZiBib3VuZHMgZXJyb3I7IFNUUlNaPSV6ZCwgbmFtZT0lZCIsIG5hbWUsIHN0cnRhYl9zaXplLCBpbmRleCk7CisgIGlmIChoYXNfbWluX3ZlcnNpb24oMSkgJiYgKGluZGV4ID49IHN0cnRhYl9zaXplXykpIHsKKyAgICBfX2xpYmNfZmF0YWwoIiVzOiBzdHJ0YWIgb3V0IG9mIGJvdW5kcyBlcnJvcjsgU1RSU1o9JXpkLCBuYW1lPSVkIiwKKyAgICAgICAgZ2V0X3NvbmFtZSgpLCBzdHJ0YWJfc2l6ZV8sIGluZGV4KTsKICAgfQogCi0gIHJldHVybiBzdHJ0YWIgKyBpbmRleDsKKyAgcmV0dXJuIHN0cnRhYl8gKyBpbmRleDsKK30KKworYm9vbCBzb2luZm86OmlzX2dudV9oYXNoKCkgY29uc3QgeworICByZXR1cm4gKGZsYWdzXyAmIEZMQUdfR05VX0hBU0gpICE9IDA7Cit9CisKK2Jvb2wgc29pbmZvOjpjYW5fdW5sb2FkKCkgY29uc3QgeworICByZXR1cm4gKGdldF9ydGxkX2ZsYWdzKCkgJiAoUlRMRF9OT0RFTEVURSB8IFJUTERfR0xPQkFMKSkgPT0gMDsKK30KKworYm9vbCBzb2luZm86OmlzX2xpbmtlZCgpIGNvbnN0IHsKKyAgcmV0dXJuIChmbGFnc18gJiBGTEFHX0xJTktFRCkgIT0gMDsKK30KKworYm9vbCBzb2luZm86OmlzX21haW5fZXhlY3V0YWJsZSgpIGNvbnN0IHsKKyAgcmV0dXJuIChmbGFnc18gJiBGTEFHX0VYRSkgIT0gMDsKK30KKwordm9pZCBzb2luZm86OnNldF9saW5rZWQoKSB7CisgIGZsYWdzXyB8PSBGTEFHX0xJTktFRDsKK30KKwordm9pZCBzb2luZm86OnNldF9saW5rZXJfZmxhZygpIHsKKyAgZmxhZ3NfIHw9IEZMQUdfTElOS0VSOworfQorCit2b2lkIHNvaW5mbzo6c2V0X21haW5fZXhlY3V0YWJsZSgpIHsKKyAgZmxhZ3NfIHw9IEZMQUdfRVhFOworfQorCit2b2lkIHNvaW5mbzo6aW5jcmVtZW50X3JlZl9jb3VudCgpIHsKKyAgbG9jYWxfZ3JvdXBfcm9vdF8tPnJlZl9jb3VudF8rKzsKK30KKworc2l6ZV90IHNvaW5mbzo6ZGVjcmVtZW50X3JlZl9jb3VudCgpIHsKKyAgcmV0dXJuIC0tbG9jYWxfZ3JvdXBfcm9vdF8tPnJlZl9jb3VudF87Cit9CisKK3NvaW5mbyogc29pbmZvOjpnZXRfbG9jYWxfZ3JvdXBfcm9vdCgpIGNvbnN0IHsKKyAgcmV0dXJuIGxvY2FsX2dyb3VwX3Jvb3RfOwogfQogCiAvKiBGb3JjZSBhbnkgb2YgdGhlIGNsb3NlZCBzdGRpbiwgc3Rkb3V0IGFuZCBzdGRlcnIgdG8gYmUgYXNzb2NpYXRlZCB3aXRoCkBAIC0xODU1LDIxICsyNDM2LDIxIEBACiAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLWJvb2wgc29pbmZvOjpQcmVsaW5rSW1hZ2UoKSB7Citib29sIHNvaW5mbzo6cHJlbGlua19pbWFnZSgpIHsKICAgLyogRXh0cmFjdCBkeW5hbWljIHNlY3Rpb24gKi8KICAgRWxmVyhXb3JkKSBkeW5hbWljX2ZsYWdzID0gMDsKICAgcGhkcl90YWJsZV9nZXRfZHluYW1pY19zZWN0aW9uKHBoZHIsIHBobnVtLCBsb2FkX2JpYXMsICZkeW5hbWljLCAmZHluYW1pY19mbGFncyk7CiAKICAgLyogV2UgY2FuJ3QgbG9nIGFueXRoaW5nIHVudGlsIHRoZSBsaW5rZXIgaXMgcmVsb2NhdGVkICovCi0gIGJvb2wgcmVsb2NhdGluZ19saW5rZXIgPSAoZmxhZ3MgJiBGTEFHX0xJTktFUikgIT0gMDsKKyAgYm9vbCByZWxvY2F0aW5nX2xpbmtlciA9IChmbGFnc18gJiBGTEFHX0xJTktFUikgIT0gMDsKICAgaWYgKCFyZWxvY2F0aW5nX2xpbmtlcikgewotICAgIElORk8oIlsgbGlua2luZyAlcyBdIiwgbmFtZSk7Ci0gICAgREVCVUcoInNpLT5iYXNlID0gJXAgc2ktPmZsYWdzID0gMHglMDh4IiwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oYmFzZSksIGZsYWdzKTsKKyAgICBJTkZPKCJbIGxpbmtpbmcgJXMgXSIsIGdldF9zb25hbWUoKSk7CisgICAgREVCVUcoInNpLT5iYXNlID0gJXAgc2ktPmZsYWdzID0gMHglMDh4IiwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oYmFzZSksIGZsYWdzXyk7CiAgIH0KIAogICBpZiAoZHluYW1pYyA9PSBudWxscHRyKSB7CiAgICAgaWYgKCFyZWxvY2F0aW5nX2xpbmtlcikgewotICAgICAgRExfRVJSKCJtaXNzaW5nIFBUX0RZTkFNSUMgaW4gXCIlc1wiIiwgbmFtZSk7CisgICAgICBETF9FUlIoIm1pc3NpbmcgUFRfRFlOQU1JQyBpbiBcIiVzXCIiLCBnZXRfc29uYW1lKCkpOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiAgIH0gZWxzZSB7CkBAIC0xODg0LDM4ICsyNDY1LDY0IEBACiAjZW5kaWYKIAogICAvLyBFeHRyYWN0IHVzZWZ1bCBpbmZvcm1hdGlvbiBmcm9tIGR5bmFtaWMgc2VjdGlvbi4KKyAgLy8gTm90ZSB0aGF0OiAiRXhjZXB0IGZvciB0aGUgRFRfTlVMTCBlbGVtZW50IGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5LAorICAvLyBhbmQgdGhlIHJlbGF0aXZlIG9yZGVyIG9mIERUX05FRURFRCBlbGVtZW50cywgZW50cmllcyBtYXkgYXBwZWFyIGluIGFueSBvcmRlci4iCisgIC8vCisgIC8vIHNvdXJjZTogaHR0cDovL3d3dy5zY28uY29tL2RldmVsb3BlcnMvZ2FiaS8xOTk4LTA0LTI5L2NoNS5keW5hbWljLmh0bWwKICAgdWludDMyX3QgbmVlZGVkX2NvdW50ID0gMDsKICAgZm9yIChFbGZXKER5bikqIGQgPSBkeW5hbWljOyBkLT5kX3RhZyAhPSBEVF9OVUxMOyArK2QpIHsKICAgICBERUJVRygiZCA9ICVwLCBkWzBdKHRhZykgPSAlcCBkWzFdKHZhbCkgPSAlcCIsCiAgICAgICAgICAgZCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZC0+ZF90YWcpLCByZWludGVycHJldF9jYXN0PHZvaWQqPihkLT5kX3VuLmRfdmFsKSk7CiAgICAgc3dpdGNoIChkLT5kX3RhZykgewogICAgICAgY2FzZSBEVF9TT05BTUU6Ci0gICAgICAgIC8vIFRPRE86IGdsaWJjIGR5bmFtaWMgbGlua2VyIHVzZXMgdGhpcyBuYW1lIGZvcgotICAgICAgICAvLyBpbml0aWFsIGxpYnJhcnkgbG9va3VwOyBjb25zaWRlciBkb2luZyB0aGUgc2FtZSBoZXJlLgorICAgICAgICAvLyB0aGlzIGlzIHBhcnNlZCBhZnRlciB3ZSBoYXZlIHN0cnRhYiBpbml0aWFsaXplZCAoc2VlIGJlbG93KS4KICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfSEFTSDoKLSAgICAgICAgbmJ1Y2tldCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKVswXTsKLSAgICAgICAgbmNoYWluID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpWzFdOwotICAgICAgICBidWNrZXQgPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0ciArIDgpOwotICAgICAgICBjaGFpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyICsgOCArIG5idWNrZXQgKiA0KTsKKyAgICAgICAgbmJ1Y2tldF8gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cilbMF07CisgICAgICAgIG5jaGFpbl8gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cilbMV07CisgICAgICAgIGJ1Y2tldF8gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0ciArIDgpOworICAgICAgICBjaGFpbl8gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0ciArIDggKyBuYnVja2V0XyAqIDQpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBEVF9HTlVfSEFTSDoKKyAgICAgICAgZ251X25idWNrZXRfID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpWzBdOworICAgICAgICAvLyBza2lwIHN5bW5keAorICAgICAgICBnbnVfbWFza3dvcmRzXyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKVsyXTsKKyAgICAgICAgZ251X3NoaWZ0Ml8gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cilbM107CisKKyAgICAgICAgZ251X2Jsb29tX2ZpbHRlcl8gPSByZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyICsgMTYpOworICAgICAgICBnbnVfYnVja2V0XyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihnbnVfYmxvb21fZmlsdGVyXyArIGdudV9tYXNrd29yZHNfKTsKKyAgICAgICAgLy8gYW1lbmQgY2hhaW4gZm9yIHN5bW5keCA9IGhlYWRlclsxXQorICAgICAgICBnbnVfY2hhaW5fID0gZ251X2J1Y2tldF8gKyBnbnVfbmJ1Y2tldF8gLQorICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpWzFdOworCisgICAgICAgIGlmICghcG93ZXJvZjIoZ251X21hc2t3b3Jkc18pKSB7CisgICAgICAgICAgRExfRVJSKCJpbnZhbGlkIG1hc2t3b3JkcyBmb3IgZ251X2hhc2ggPSAweCV4LCBpbiBcIiVzXCIgZXhwZWN0aW5nIHBvd2VyIHRvIHR3byIsCisgICAgICAgICAgICAgIGdudV9tYXNrd29yZHNfLCBnZXRfcmVhbHBhdGgoKSk7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIC0tZ251X21hc2t3b3Jkc187CisKKyAgICAgICAgZmxhZ3NfIHw9IEZMQUdfR05VX0hBU0g7CiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX1NUUlRBQjoKLSAgICAgICAgc3RydGFiID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CisgICAgICAgIHN0cnRhYl8gPSByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfU1RSU1o6Ci0gICAgICAgIHN0cnRhYl9zaXplID0gZC0+ZF91bi5kX3ZhbDsKKyAgICAgICAgc3RydGFiX3NpemVfID0gZC0+ZF91bi5kX3ZhbDsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfU1lNVEFCOgotICAgICAgICBzeW10YWIgPSByZWludGVycHJldF9jYXN0PEVsZlcoU3ltKSo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpOworICAgICAgICBzeW10YWJfID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFN5bSkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfU1lNRU5UOgogICAgICAgICBpZiAoZC0+ZF91bi5kX3ZhbCAhPSBzaXplb2YoRWxmVyhTeW0pKSkgewotICAgICAgICAgIERMX0VSUigiaW52YWxpZCBEVF9TWU1FTlQ6ICV6ZCIsIHN0YXRpY19jYXN0PHNpemVfdD4oZC0+ZF91bi5kX3ZhbCkpOworICAgICAgICAgIERMX0VSUigiaW52YWxpZCBEVF9TWU1FTlQ6ICV6ZCBpbiBcIiVzXCIiLAorICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KGQtPmRfdW4uZF92YWwpLCBnZXRfcmVhbHBhdGgoKSk7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpAQCAtMTkyMywxMiArMjUzMCwxMiBAQAogICAgICAgY2FzZSBEVF9QTFRSRUw6CiAjaWYgZGVmaW5lZChVU0VfUkVMQSkKICAgICAgICAgaWYgKGQtPmRfdW4uZF92YWwgIT0gRFRfUkVMQSkgewotICAgICAgICAgIERMX0VSUigidW5zdXBwb3J0ZWQgRFRfUExUUkVMIGluIFwiJXNcIjsgZXhwZWN0ZWQgRFRfUkVMQSIsIG5hbWUpOworICAgICAgICAgIERMX0VSUigidW5zdXBwb3J0ZWQgRFRfUExUUkVMIGluIFwiJXNcIjsgZXhwZWN0ZWQgRFRfUkVMQSIsIGdldF9yZWFscGF0aCgpKTsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICNlbHNlCiAgICAgICAgIGlmIChkLT5kX3VuLmRfdmFsICE9IERUX1JFTCkgewotICAgICAgICAgIERMX0VSUigidW5zdXBwb3J0ZWQgRFRfUExUUkVMIGluIFwiJXNcIjsgZXhwZWN0ZWQgRFRfUkVMIiwgbmFtZSk7CisgICAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9QTFRSRUwgaW4gXCIlc1wiOyBleHBlY3RlZCBEVF9SRUwiLCBnZXRfcmVhbHBhdGgoKSk7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAjZW5kaWYKQEAgLTE5MzYsMjQgKzI1NDMsMjQgQEAKIAogICAgICAgY2FzZSBEVF9KTVBSRUw6CiAjaWYgZGVmaW5lZChVU0VfUkVMQSkKLSAgICAgICAgcGx0X3JlbGEgPSByZWludGVycHJldF9jYXN0PEVsZlcoUmVsYSkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKKyAgICAgICAgcGx0X3JlbGFfID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFJlbGEpKj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CiAjZWxzZQotICAgICAgICBwbHRfcmVsID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFJlbCkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKKyAgICAgICAgcGx0X3JlbF8gPSByZWludGVycHJldF9jYXN0PEVsZlcoUmVsKSo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX1BMVFJFTFNaOgogI2lmIGRlZmluZWQoVVNFX1JFTEEpCi0gICAgICAgIHBsdF9yZWxhX2NvdW50ID0gZC0+ZF91bi5kX3ZhbCAvIHNpemVvZihFbGZXKFJlbGEpKTsKKyAgICAgICAgcGx0X3JlbGFfY291bnRfID0gZC0+ZF91bi5kX3ZhbCAvIHNpemVvZihFbGZXKFJlbGEpKTsKICNlbHNlCi0gICAgICAgIHBsdF9yZWxfY291bnQgPSBkLT5kX3VuLmRfdmFsIC8gc2l6ZW9mKEVsZlcoUmVsKSk7CisgICAgICAgIHBsdF9yZWxfY291bnRfID0gZC0+ZF91bi5kX3ZhbCAvIHNpemVvZihFbGZXKFJlbCkpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX1BMVEdPVDoKICNpZiBkZWZpbmVkKF9fbWlwc19fKQogICAgICAgICAvLyBVc2VkIGJ5IG1pcHMgYW5kIG1pcHM2NC4KLSAgICAgICAgcGx0X2dvdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSoqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKKyAgICAgICAgcGx0X2dvdF8gPSByZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqKj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CiAjZW5kaWYKICAgICAgICAgLy8gSWdub3JlIGZvciBvdGhlciBwbGF0Zm9ybXMuLi4gKGJlY2F1c2UgUlRMRF9MQVpZIGlzIG5vdCBzdXBwb3J0ZWQpCiAgICAgICAgIGJyZWFrOwpAQCAtMTk2OSwxNyArMjU3NiwzMyBAQAogICAgICAgICBpZiAoKGR5bmFtaWNfZmxhZ3MgJiBQRl9XKSAhPSAwKSB7CiAgICAgICAgICAgZC0+ZF91bi5kX3ZhbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PigmX3JfZGVidWcpOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwogI2VuZGlmCisgICAgICAgIGJyZWFrOwogI2lmIGRlZmluZWQoVVNFX1JFTEEpCiAgICAgICBjYXNlIERUX1JFTEE6Ci0gICAgICAgIHJlbGEgPSByZWludGVycHJldF9jYXN0PEVsZlcoUmVsYSkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKKyAgICAgICAgcmVsYV8gPSByZWludGVycHJldF9jYXN0PEVsZlcoUmVsYSkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfUkVMQVNaOgotICAgICAgICByZWxhX2NvdW50ID0gZC0+ZF91bi5kX3ZhbCAvIHNpemVvZihFbGZXKFJlbGEpKTsKKyAgICAgICAgcmVsYV9jb3VudF8gPSBkLT5kX3VuLmRfdmFsIC8gc2l6ZW9mKEVsZlcoUmVsYSkpOwogICAgICAgICBicmVhazsKIAorICAgICAgY2FzZSBEVF9BTkRST0lEX1JFTEE6CisgICAgICAgIGFuZHJvaWRfcmVsb2NzXyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBEVF9BTkRST0lEX1JFTEFTWjoKKyAgICAgICAgYW5kcm9pZF9yZWxvY3Nfc2l6ZV8gPSBkLT5kX3VuLmRfdmFsOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBEVF9BTkRST0lEX1JFTDoKKyAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9BTkRST0lEX1JFTCBpbiBcIiVzXCIiLCBnZXRfcmVhbHBhdGgoKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgY2FzZSBEVF9BTkRST0lEX1JFTFNaOgorICAgICAgICBETF9FUlIoInVuc3VwcG9ydGVkIERUX0FORFJPSURfUkVMU1ogaW4gXCIlc1wiIiwgZ2V0X3JlYWxwYXRoKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgIGNhc2UgRFRfUkVMQUVOVDoKICAgICAgICAgaWYgKGQtPmRfdW4uZF92YWwgIT0gc2l6ZW9mKEVsZlcoUmVsYSkpKSB7CiAgICAgICAgICAgRExfRVJSKCJpbnZhbGlkIERUX1JFTEFFTlQ6ICV6ZCIsIHN0YXRpY19jYXN0PHNpemVfdD4oZC0+ZF91bi5kX3ZhbCkpOwpAQCAtMTk5MiwxOSArMjYxNSwyMCBAQAogICAgICAgICBicmVhazsKIAogICAgICAgY2FzZSBEVF9SRUw6Ci0gICAgICAgIERMX0VSUigidW5zdXBwb3J0ZWQgRFRfUkVMIGluIFwiJXNcIiIsIG5hbWUpOworICAgICAgICBETF9FUlIoInVuc3VwcG9ydGVkIERUX1JFTCBpbiBcIiVzXCIiLCBnZXRfcmVhbHBhdGgoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgY2FzZSBEVF9SRUxTWjoKLSAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9SRUxTWiBpbiBcIiVzXCIiLCBuYW1lKTsKKyAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9SRUxTWiBpbiBcIiVzXCIiLCBnZXRfcmVhbHBhdGgoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKwogI2Vsc2UKICAgICAgIGNhc2UgRFRfUkVMOgotICAgICAgICByZWwgPSByZWludGVycHJldF9jYXN0PEVsZlcoUmVsKSo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpOworICAgICAgICByZWxfID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFJlbCkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfUkVMU1o6Ci0gICAgICAgIHJlbF9jb3VudCA9IGQtPmRfdW4uZF92YWwgLyBzaXplb2YoRWxmVyhSZWwpKTsKKyAgICAgICAgcmVsX2NvdW50XyA9IGQtPmRfdW4uZF92YWwgLyBzaXplb2YoRWxmVyhSZWwpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfUkVMRU5UOgpAQCAtMjAxNCw2ICsyNjM4LDIyIEBACiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKKyAgICAgIGNhc2UgRFRfQU5EUk9JRF9SRUw6CisgICAgICAgIGFuZHJvaWRfcmVsb2NzXyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHIpOworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBEVF9BTkRST0lEX1JFTFNaOgorICAgICAgICBhbmRyb2lkX3JlbG9jc19zaXplXyA9IGQtPmRfdW4uZF92YWw7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIERUX0FORFJPSURfUkVMQToKKyAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9BTkRST0lEX1JFTEEgaW4gXCIlc1wiIiwgZ2V0X3JlYWxwYXRoKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgIGNhc2UgRFRfQU5EUk9JRF9SRUxBU1o6CisgICAgICAgIERMX0VSUigidW5zdXBwb3J0ZWQgRFRfQU5EUk9JRF9SRUxBU1ogaW4gXCIlc1wiIiwgZ2V0X3JlYWxwYXRoKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgIC8vICJJbmRpY2F0ZXMgdGhhdCBhbGwgUkVMQVRJVkUgcmVsb2NhdGlvbnMgaGF2ZSBiZWVuIGNvbmNhdGVuYXRlZCB0b2dldGhlciwKICAgICAgIC8vIGFuZCBzcGVjaWZpZXMgdGhlIFJFTEFUSVZFIHJlbG9jYXRpb24gY291bnQuIgogICAgICAgLy8KQEAgLTIwMjEsNTAgKzI2NjEsNTYgQEAKICAgICAgIC8vIE5vdCBjdXJyZW50bHkgdXNlZCBieSBiaW9uaWMgbGlua2VyIC0gaWdub3JlZC4KICAgICAgIGNhc2UgRFRfUkVMQ09VTlQ6CiAgICAgICAgIGJyZWFrOworCiAgICAgICBjYXNlIERUX1JFTEE6Ci0gICAgICAgIERMX0VSUigidW5zdXBwb3J0ZWQgRFRfUkVMQSBpbiBcIiVzXCIiLCBuYW1lKTsKKyAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9SRUxBIGluIFwiJXNcIiIsIGdldF9yZWFscGF0aCgpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICBjYXNlIERUX1JFTEFTWjoKKyAgICAgICAgRExfRVJSKCJ1bnN1cHBvcnRlZCBEVF9SRUxBU1ogaW4gXCIlc1wiIiwgZ2V0X3JlYWxwYXRoKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisKICNlbmRpZgogICAgICAgY2FzZSBEVF9JTklUOgotICAgICAgICBpbml0X2Z1bmMgPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Pihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKLSAgICAgICAgREVCVUcoIiVzIGNvbnN0cnVjdG9ycyAoRFRfSU5JVCkgZm91bmQgYXQgJXAiLCBuYW1lLCBpbml0X2Z1bmMpOworICAgICAgICBpbml0X2Z1bmNfID0gcmVpbnRlcnByZXRfY2FzdDxsaW5rZXJfZnVuY3Rpb25fdD4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CisgICAgICAgIERFQlVHKCIlcyBjb25zdHJ1Y3RvcnMgKERUX0lOSVQpIGZvdW5kIGF0ICVwIiwgZ2V0X3JlYWxwYXRoKCksIGluaXRfZnVuY18pOwogICAgICAgICBicmVhazsKIAogICAgICAgY2FzZSBEVF9GSU5JOgotICAgICAgICBmaW5pX2Z1bmMgPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Pihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKLSAgICAgICAgREVCVUcoIiVzIGRlc3RydWN0b3JzIChEVF9GSU5JKSBmb3VuZCBhdCAlcCIsIG5hbWUsIGZpbmlfZnVuYyk7CisgICAgICAgIGZpbmlfZnVuY18gPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Pihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKKyAgICAgICAgREVCVUcoIiVzIGRlc3RydWN0b3JzIChEVF9GSU5JKSBmb3VuZCBhdCAlcCIsIGdldF9yZWFscGF0aCgpLCBmaW5pX2Z1bmNfKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfSU5JVF9BUlJBWToKLSAgICAgICAgaW5pdF9hcnJheSA9IHJlaW50ZXJwcmV0X2Nhc3Q8bGlua2VyX2Z1bmN0aW9uX3QqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKLSAgICAgICAgREVCVUcoIiVzIGNvbnN0cnVjdG9ycyAoRFRfSU5JVF9BUlJBWSkgZm91bmQgYXQgJXAiLCBuYW1lLCBpbml0X2FycmF5KTsKKyAgICAgICAgaW5pdF9hcnJheV8gPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CisgICAgICAgIERFQlVHKCIlcyBjb25zdHJ1Y3RvcnMgKERUX0lOSVRfQVJSQVkpIGZvdW5kIGF0ICVwIiwgZ2V0X3JlYWxwYXRoKCksIGluaXRfYXJyYXlfKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfSU5JVF9BUlJBWVNaOgotICAgICAgICBpbml0X2FycmF5X2NvdW50ID0gKCh1bnNpZ25lZClkLT5kX3VuLmRfdmFsKSAvIHNpemVvZihFbGZXKEFkZHIpKTsKKyAgICAgICAgaW5pdF9hcnJheV9jb3VudF8gPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZC0+ZF91bi5kX3ZhbCkgLyBzaXplb2YoRWxmVyhBZGRyKSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX0ZJTklfQVJSQVk6Ci0gICAgICAgIGZpbmlfYXJyYXkgPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7Ci0gICAgICAgIERFQlVHKCIlcyBkZXN0cnVjdG9ycyAoRFRfRklOSV9BUlJBWSkgZm91bmQgYXQgJXAiLCBuYW1lLCBmaW5pX2FycmF5KTsKKyAgICAgICAgZmluaV9hcnJheV8gPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CisgICAgICAgIERFQlVHKCIlcyBkZXN0cnVjdG9ycyAoRFRfRklOSV9BUlJBWSkgZm91bmQgYXQgJXAiLCBnZXRfcmVhbHBhdGgoKSwgZmluaV9hcnJheV8pOwogICAgICAgICBicmVhazsKIAogICAgICAgY2FzZSBEVF9GSU5JX0FSUkFZU1o6Ci0gICAgICAgIGZpbmlfYXJyYXlfY291bnQgPSAoKHVuc2lnbmVkKWQtPmRfdW4uZF92YWwpIC8gc2l6ZW9mKEVsZlcoQWRkcikpOworICAgICAgICBmaW5pX2FycmF5X2NvdW50XyA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihkLT5kX3VuLmRfdmFsKSAvIHNpemVvZihFbGZXKEFkZHIpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfUFJFSU5JVF9BUlJBWToKLSAgICAgICAgcHJlaW5pdF9hcnJheSA9IHJlaW50ZXJwcmV0X2Nhc3Q8bGlua2VyX2Z1bmN0aW9uX3QqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKLSAgICAgICAgREVCVUcoIiVzIGNvbnN0cnVjdG9ycyAoRFRfUFJFSU5JVF9BUlJBWSkgZm91bmQgYXQgJXAiLCBuYW1lLCBwcmVpbml0X2FycmF5KTsKKyAgICAgICAgcHJlaW5pdF9hcnJheV8gPSByZWludGVycHJldF9jYXN0PGxpbmtlcl9mdW5jdGlvbl90Kj4obG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cik7CisgICAgICAgIERFQlVHKCIlcyBjb25zdHJ1Y3RvcnMgKERUX1BSRUlOSVRfQVJSQVkpIGZvdW5kIGF0ICVwIiwgZ2V0X3JlYWxwYXRoKCksIHByZWluaXRfYXJyYXlfKTsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgRFRfUFJFSU5JVF9BUlJBWVNaOgotICAgICAgICBwcmVpbml0X2FycmF5X2NvdW50ID0gKCh1bnNpZ25lZClkLT5kX3VuLmRfdmFsKSAvIHNpemVvZihFbGZXKEFkZHIpKTsKKyAgICAgICAgcHJlaW5pdF9hcnJheV9jb3VudF8gPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZC0+ZF91bi5kX3ZhbCkgLyBzaXplb2YoRWxmVyhBZGRyKSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX1RFWFRSRUw6CiAjaWYgZGVmaW5lZChfX0xQNjRfXykKLSAgICAgICAgRExfRVJSKCJ0ZXh0IHJlbG9jYXRpb25zIChEVF9URVhUUkVMKSBmb3VuZCBpbiA2NC1iaXQgRUxGIGZpbGUgXCIlc1wiIiwgbmFtZSk7CisgICAgICAgIERMX0VSUigidGV4dCByZWxvY2F0aW9ucyAoRFRfVEVYVFJFTCkgZm91bmQgaW4gNjQtYml0IEVMRiBmaWxlIFwiJXNcIiIsIGdldF9yZWFscGF0aCgpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vsc2UKICAgICAgICAgaGFzX3RleHRfcmVsb2NhdGlvbnMgPSB0cnVlOwpAQCAtMjA4Miw3ICsyNzI4LDcgQEAKICAgICAgIGNhc2UgRFRfRkxBR1M6CiAgICAgICAgIGlmIChkLT5kX3VuLmRfdmFsICYgREZfVEVYVFJFTCkgewogI2lmIGRlZmluZWQoX19MUDY0X18pCi0gICAgICAgICAgRExfRVJSKCJ0ZXh0IHJlbG9jYXRpb25zIChERl9URVhUUkVMKSBmb3VuZCBpbiA2NC1iaXQgRUxGIGZpbGUgXCIlc1wiIiwgbmFtZSk7CisgICAgICAgICAgRExfRVJSKCJ0ZXh0IHJlbG9jYXRpb25zIChERl9URVhUUkVMKSBmb3VuZCBpbiA2NC1iaXQgRUxGIGZpbGUgXCIlc1wiIiwgZ2V0X3JlYWxwYXRoKCkpOwogICAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbHNlCiAgICAgICAgICAgaGFzX3RleHRfcmVsb2NhdGlvbnMgPSB0cnVlOwpAQCAtMjA5NCwxMiArMjc0MCw5IEBACiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX0ZMQUdTXzE6Ci0gICAgICAgIGlmICgoZC0+ZF91bi5kX3ZhbCAmIERGXzFfR0xPQkFMKSAhPSAwKSB7Ci0gICAgICAgICAgcnRsZF9mbGFncyB8PSBSVExEX0dMT0JBTDsKLSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgb3RoZXIgZmxhZ3MKKyAgICAgICAgc2V0X2R0X2ZsYWdzXzEoZC0+ZF91bi5kX3ZhbCk7CiAKLSAgICAgICAgaWYgKChkLT5kX3VuLmRfdmFsICYgfihERl8xX05PVyB8IERGXzFfR0xPQkFMKSkgIT0gMCkgeworICAgICAgICBpZiAoKGQtPmRfdW4uZF92YWwgJiB+U1VQUE9SVEVEX0RUX0ZMQUdTXzEpICE9IDApIHsKICAgICAgICAgICBETF9XQVJOKCJVbnN1cHBvcnRlZCBmbGFncyBEVF9GTEFHU18xPSVwIiwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZC0+ZF91bi5kX3ZhbCkpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpAQCAtMjExMSw2ICsyNzU0LDE0IEBACiAgICAgICAgICAgKmRwID0gJl9yX2RlYnVnOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBEVF9NSVBTX1JMRF9NQVAyOgorICAgICAgICAvLyBTZXQgdGhlIERUX01JUFNfUkxEX01BUDIgZW50cnkgdG8gdGhlIGFkZHJlc3Mgb2YgX3JfZGVidWcgZm9yIEdEQi4KKyAgICAgICAgeworICAgICAgICAgIHJfZGVidWcqKiBkcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8cl9kZWJ1ZyoqPigKKyAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpPihkKSArIGQtPmRfdW4uZF92YWwpOworICAgICAgICAgICpkcCA9ICZfcl9kZWJ1ZzsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKIAogICAgICAgY2FzZSBEVF9NSVBTX1JMRF9WRVJTSU9OOgogICAgICAgY2FzZSBEVF9NSVBTX0ZMQUdTOgpAQCAtMjExOSwxMTcgKzI3NzAsMTc1IEBACiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX01JUFNfU1lNVEFCTk86Ci0gICAgICAgIG1pcHNfc3ltdGFibm8gPSBkLT5kX3VuLmRfdmFsOworICAgICAgICBtaXBzX3N5bXRhYm5vXyA9IGQtPmRfdW4uZF92YWw7CiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX01JUFNfTE9DQUxfR09UTk86Ci0gICAgICAgIG1pcHNfbG9jYWxfZ290bm8gPSBkLT5kX3VuLmRfdmFsOworICAgICAgICBtaXBzX2xvY2FsX2dvdG5vXyA9IGQtPmRfdW4uZF92YWw7CiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIERUX01JUFNfR09UU1lNOgotICAgICAgICBtaXBzX2dvdHN5bSA9IGQtPmRfdW4uZF92YWw7CisgICAgICAgIG1pcHNfZ290c3ltXyA9IGQtPmRfdW4uZF92YWw7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAvLyBJZ25vcmVkOiAiSXRzIHVzZSBoYXMgYmVlbiBzdXBlcnNlZGVkIGJ5IHRoZSBERl9CSU5EX05PVyBmbGFnIgogICAgICAgY2FzZSBEVF9CSU5EX05PVzoKICAgICAgICAgYnJlYWs7CiAKLSAgICAgIC8vIElnbm9yZTogYmlvbmljIGRvZXMgbm90IHN1cHBvcnQgc3ltYm9sIHZlcnNpb25pbmcuLi4KICAgICAgIGNhc2UgRFRfVkVSU1lNOgorICAgICAgICB2ZXJzeW1fID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFZlcnN5bSkqPihsb2FkX2JpYXMgKyBkLT5kX3VuLmRfcHRyKTsKKyAgICAgICAgYnJlYWs7CisKICAgICAgIGNhc2UgRFRfVkVSREVGOgorICAgICAgICB2ZXJkZWZfcHRyXyA9IGxvYWRfYmlhcyArIGQtPmRfdW4uZF9wdHI7CisgICAgICAgIGJyZWFrOwogICAgICAgY2FzZSBEVF9WRVJERUZOVU06CisgICAgICAgIHZlcmRlZl9jbnRfID0gZC0+ZF91bi5kX3ZhbDsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgRFRfVkVSTkVFRDoKKyAgICAgICAgdmVybmVlZF9wdHJfID0gbG9hZF9iaWFzICsgZC0+ZF91bi5kX3B0cjsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgRFRfVkVSTkVFRE5VTToKKyAgICAgICAgdmVybmVlZF9jbnRfID0gZC0+ZF91bi5kX3ZhbDsKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGRlZmF1bHQ6CiAgICAgICAgIGlmICghcmVsb2NhdGluZ19saW5rZXIpIHsKLSAgICAgICAgICBETF9XQVJOKCIlczogdW51c2VkIERUIGVudHJ5OiB0eXBlICVwIGFyZyAlcCIsIG5hbWUsCisgICAgICAgICAgRExfV0FSTigiJXM6IHVudXNlZCBEVCBlbnRyeTogdHlwZSAlcCBhcmcgJXAiLCBnZXRfcmVhbHBhdGgoKSwKICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZC0+ZF90YWcpLCByZWludGVycHJldF9jYXN0PHZvaWQqPihkLT5kX3VuLmRfdmFsKSk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAKKyAgLy8gc2Vjb25kIHBhc3MgLSBwYXJzZSBlbnRyaWVzIHJlbHlpbmcgb24gc3RydGFiCisgIGZvciAoRWxmVyhEeW4pKiBkID0gZHluYW1pYzsgZC0+ZF90YWcgIT0gRFRfTlVMTDsgKytkKSB7CisgICAgaWYgKGQtPmRfdGFnID09IERUX1NPTkFNRSkgeworICAgICAgc29uYW1lXyA9IGdldF9zdHJpbmcoZC0+ZF91bi5kX3ZhbCk7CisjaWYgZGVmaW5lZChfX2FybV9fKQorICAgICAgc3RybGNweShvbGRfbmFtZV8sIHNvbmFtZV8sIHNpemVvZihvbGRfbmFtZV8pKTsKKyNlbmRpZgorICAgICAgYnJlYWs7CisgICAgfQorICB9CisKICAgREVCVUcoInNpLT5iYXNlID0gJXAsIHNpLT5zdHJ0YWIgPSAlcCwgc2ktPnN5bXRhYiA9ICVwIiwKLSAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oYmFzZSksIHN0cnRhYiwgc3ltdGFiKTsKKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oYmFzZSksIHN0cnRhYl8sIHN5bXRhYl8pOwogCiAgIC8vIFNhbml0eSBjaGVja3MuCiAgIGlmIChyZWxvY2F0aW5nX2xpbmtlciAmJiBuZWVkZWRfY291bnQgIT0gMCkgewogICAgIERMX0VSUigibGlua2VyIGNhbm5vdCBoYXZlIERUX05FRURFRCBkZXBlbmRlbmNpZXMgb24gb3RoZXIgbGlicmFyaWVzIik7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9Ci0gIGlmIChuYnVja2V0ID09IDApIHsKLSAgICBETF9FUlIoImVtcHR5L21pc3NpbmcgRFRfSEFTSCBpbiBcIiVzXCIgKGJ1aWx0IHdpdGggLS1oYXNoLXN0eWxlPWdudT8pIiwgbmFtZSk7CisgIGlmIChuYnVja2V0XyA9PSAwICYmIGdudV9uYnVja2V0XyA9PSAwKSB7CisgICAgRExfRVJSKCJlbXB0eS9taXNzaW5nIERUX0hBU0gvRFRfR05VX0hBU0ggaW4gXCIlc1wiICIKKyAgICAgICAgIihuZXcgaGFzaCB0eXBlIGZyb20gdGhlIGZ1dHVyZT8pIiwgZ2V0X3NvbmFtZSgpKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KLSAgaWYgKHN0cnRhYiA9PSAwKSB7Ci0gICAgRExfRVJSKCJlbXB0eS9taXNzaW5nIERUX1NUUlRBQiBpbiBcIiVzXCIiLCBuYW1lKTsKKyAgaWYgKHN0cnRhYl8gPT0gMCkgeworICAgIERMX0VSUigiZW1wdHkvbWlzc2luZyBEVF9TVFJUQUIgaW4gXCIlc1wiIiwgZ2V0X3NvbmFtZSgpKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KLSAgaWYgKHN5bXRhYiA9PSAwKSB7Ci0gICAgRExfRVJSKCJlbXB0eS9taXNzaW5nIERUX1NZTVRBQiBpbiBcIiVzXCIiLCBuYW1lKTsKKyAgaWYgKHN5bXRhYl8gPT0gMCkgeworICAgIERMX0VSUigiZW1wdHkvbWlzc2luZyBEVF9TWU1UQUIgaW4gXCIlc1wiIiwgZ2V0X3NvbmFtZSgpKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgc29pbmZvOjpMaW5rSW1hZ2UoY29uc3QgYW5kcm9pZF9kbGV4dGluZm8qIGV4dGluZm8pIHsKK2Jvb2wgc29pbmZvOjpsaW5rX2ltYWdlKGNvbnN0IHNvaW5mb19saXN0X3QmIGdsb2JhbF9ncm91cCwgY29uc3Qgc29pbmZvX2xpc3RfdCYgbG9jYWxfZ3JvdXAsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbykgeworCisgIGxvY2FsX2dyb3VwX3Jvb3RfID0gbG9jYWxfZ3JvdXAuZnJvbnQoKTsKKyAgaWYgKGxvY2FsX2dyb3VwX3Jvb3RfID09IG51bGxwdHIpIHsKKyAgICBsb2NhbF9ncm91cF9yb290XyA9IHRoaXM7CisgIH0KIAogI2lmICFkZWZpbmVkKF9fTFA2NF9fKQogICBpZiAoaGFzX3RleHRfcmVsb2NhdGlvbnMpIHsKICAgICAvLyBNYWtlIHNlZ21lbnRzIHdyaXRhYmxlIHRvIGFsbG93IHRleHQgcmVsb2NhdGlvbnMgdG8gd29yayBwcm9wZXJseS4gV2Ugd2lsbCBsYXRlciBjYWxsCiAgICAgLy8gcGhkcl90YWJsZV9wcm90ZWN0X3NlZ21lbnRzKCkgYWZ0ZXIgYWxsIG9mIHRoZW0gYXJlIGFwcGxpZWQgYW5kIGFsbCBjb25zdHJ1Y3RvcnMgYXJlIHJ1bi4KICAgICBETF9XQVJOKCIlcyBoYXMgdGV4dCByZWxvY2F0aW9ucy4gVGhpcyBpcyB3YXN0aW5nIG1lbW9yeSBhbmQgcHJldmVudHMgIgotICAgICAgICAgICAgInNlY3VyaXR5IGhhcmRlbmluZy4gUGxlYXNlIGZpeC4iLCBuYW1lKTsKKyAgICAgICAgICAgICJzZWN1cml0eSBoYXJkZW5pbmcuIFBsZWFzZSBmaXguIiwgZ2V0X3NvbmFtZSgpKTsKICAgICBpZiAocGhkcl90YWJsZV91bnByb3RlY3Rfc2VnbWVudHMocGhkciwgcGhudW0sIGxvYWRfYmlhcykgPCAwKSB7CiAgICAgICBETF9FUlIoImNhbid0IHVucHJvdGVjdCBsb2FkYWJsZSBzZWdtZW50cyBmb3IgXCIlc1wiOiAlcyIsCi0gICAgICAgICAgICAgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICBnZXRfc29uYW1lKCksIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICB9CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoVVNFX1JFTEEpCi0gIGlmIChyZWxhICE9IG51bGxwdHIpIHsKLSAgICBERUJVRygiWyByZWxvY2F0aW5nICVzIF0iLCBuYW1lKTsKLSAgICBpZiAoUmVsb2NhdGUocmVsYSwgcmVsYV9jb3VudCkpIHsKKyAgaWYgKGFuZHJvaWRfcmVsb2NzXyAhPSBudWxscHRyKSB7CisgICAgLy8gY2hlY2sgc2lnbmF0dXJlCisgICAgaWYgKGFuZHJvaWRfcmVsb2NzX3NpemVfID4gMyAmJgorICAgICAgICBhbmRyb2lkX3JlbG9jc19bMF0gPT0gJ0EnICYmCisgICAgICAgIGFuZHJvaWRfcmVsb2NzX1sxXSA9PSAnUCcgJiYKKyAgICAgICAgYW5kcm9pZF9yZWxvY3NfWzJdID09ICdTJyAmJgorICAgICAgICBhbmRyb2lkX3JlbG9jc19bM10gPT0gJzInKSB7CisgICAgICBERUJVRygiWyBhbmRyb2lkIHJlbG9jYXRpbmcgJXMgXSIsIGdldF9zb25hbWUoKSk7CisKKyAgICAgIGJvb2wgcmVsb2NhdGVkID0gZmFsc2U7CisgICAgICBjb25zdCB1aW50OF90KiBwYWNrZWRfcmVsb2NzID0gYW5kcm9pZF9yZWxvY3NfICsgNDsKKyAgICAgIGNvbnN0IHNpemVfdCBwYWNrZWRfcmVsb2NzX3NpemUgPSBhbmRyb2lkX3JlbG9jc19zaXplXyAtIDQ7CisKKyAgICAgIHJlbG9jYXRlZCA9IHJlbG9jYXRlKAorICAgICAgICAgIHBhY2tlZF9yZWxvY19pdGVyYXRvcjxzbGViMTI4X2RlY29kZXI+KAorICAgICAgICAgICAgc2xlYjEyOF9kZWNvZGVyKHBhY2tlZF9yZWxvY3MsIHBhY2tlZF9yZWxvY3Nfc2l6ZSkpLAorICAgICAgICAgIGdsb2JhbF9ncm91cCwgbG9jYWxfZ3JvdXApOworCisgICAgICBpZiAoIXJlbG9jYXRlZCkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIERMX0VSUigiYmFkIGFuZHJvaWQgcmVsb2NhdGlvbiBoZWFkZXIuIik7CiAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICB9Ci0gIGlmIChwbHRfcmVsYSAhPSBudWxscHRyKSB7Ci0gICAgREVCVUcoIlsgcmVsb2NhdGluZyAlcyBwbHQgXSIsIG5hbWUpOwotICAgIGlmIChSZWxvY2F0ZShwbHRfcmVsYSwgcGx0X3JlbGFfY291bnQpKSB7CisKKyNpZiBkZWZpbmVkKFVTRV9SRUxBKQorICBpZiAocmVsYV8gIT0gbnVsbHB0cikgeworICAgIERFQlVHKCJbIHJlbG9jYXRpbmcgJXMgXSIsIGdldF9zb25hbWUoKSk7CisgICAgaWYgKCFyZWxvY2F0ZShwbGFpbl9yZWxvY19pdGVyYXRvcihyZWxhXywgcmVsYV9jb3VudF8pLCBnbG9iYWxfZ3JvdXAsIGxvY2FsX2dyb3VwKSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgfQorICBpZiAocGx0X3JlbGFfICE9IG51bGxwdHIpIHsKKyAgICBERUJVRygiWyByZWxvY2F0aW5nICVzIHBsdCBdIiwgZ2V0X3NvbmFtZSgpKTsKKyAgICBpZiAoIXJlbG9jYXRlKHBsYWluX3JlbG9jX2l0ZXJhdG9yKHBsdF9yZWxhXywgcGx0X3JlbGFfY291bnRfKSwgZ2xvYmFsX2dyb3VwLCBsb2NhbF9ncm91cCkpIHsKICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgIH0KICNlbHNlCi0gIGlmIChyZWwgIT0gbnVsbHB0cikgewotICAgIERFQlVHKCJbIHJlbG9jYXRpbmcgJXMgXSIsIG5hbWUpOwotICAgIGlmIChSZWxvY2F0ZShyZWwsIHJlbF9jb3VudCkpIHsKKyAgaWYgKHJlbF8gIT0gbnVsbHB0cikgeworICAgIERFQlVHKCJbIHJlbG9jYXRpbmcgJXMgXSIsIGdldF9zb25hbWUoKSk7CisgICAgaWYgKCFyZWxvY2F0ZShwbGFpbl9yZWxvY19pdGVyYXRvcihyZWxfLCByZWxfY291bnRfKSwgZ2xvYmFsX2dyb3VwLCBsb2NhbF9ncm91cCkpIHsKICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgIH0KLSAgaWYgKHBsdF9yZWwgIT0gbnVsbHB0cikgewotICAgIERFQlVHKCJbIHJlbG9jYXRpbmcgJXMgcGx0IF0iLCBuYW1lKTsKLSAgICBpZiAoUmVsb2NhdGUocGx0X3JlbCwgcGx0X3JlbF9jb3VudCkpIHsKKyAgaWYgKHBsdF9yZWxfICE9IG51bGxwdHIpIHsKKyAgICBERUJVRygiWyByZWxvY2F0aW5nICVzIHBsdCBdIiwgZ2V0X3NvbmFtZSgpKTsKKyAgICBpZiAoIXJlbG9jYXRlKHBsYWluX3JlbG9jX2l0ZXJhdG9yKHBsdF9yZWxfLCBwbHRfcmVsX2NvdW50XyksIGdsb2JhbF9ncm91cCwgbG9jYWxfZ3JvdXApKSB7CiAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoX19taXBzX18pCi0gIGlmICghbWlwc19yZWxvY2F0ZV9nb3QodGhpcykpIHsKKyAgaWYgKCFtaXBzX3JlbG9jYXRlX2dvdChnbG9iYWxfZ3JvdXAsIGxvY2FsX2dyb3VwKSkgewogICAgIHJldHVybiBmYWxzZTsKICAgfQogI2VuZGlmCiAKLSAgREVCVUcoIlsgZmluaXNoZWQgbGlua2luZyAlcyBdIiwgbmFtZSk7CisgIERFQlVHKCJbIGZpbmlzaGVkIGxpbmtpbmcgJXMgXSIsIGdldF9zb25hbWUoKSk7CiAKICNpZiAhZGVmaW5lZChfX0xQNjRfXykKICAgaWYgKGhhc190ZXh0X3JlbG9jYXRpb25zKSB7CiAgICAgLy8gQWxsIHJlbG9jYXRpb25zIGFyZSBkb25lLCB3ZSBjYW4gcHJvdGVjdCBvdXIgc2VnbWVudHMgYmFjayB0byByZWFkLW9ubHkuCiAgICAgaWYgKHBoZHJfdGFibGVfcHJvdGVjdF9zZWdtZW50cyhwaGRyLCBwaG51bSwgbG9hZF9iaWFzKSA8IDApIHsKICAgICAgIERMX0VSUigiY2FuJ3QgcHJvdGVjdCBzZWdtZW50cyBmb3IgXCIlc1wiOiAlcyIsCi0gICAgICAgICAgICAgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICBnZXRfc29uYW1lKCksIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICB9CkBAIC0yMjM4LDcgKzI5NDcsNyBAQAogICAvKiBXZSBjYW4gYWxzbyB0dXJuIG9uIEdOVSBSRUxSTyBwcm90ZWN0aW9uICovCiAgIGlmIChwaGRyX3RhYmxlX3Byb3RlY3RfZ251X3JlbHJvKHBoZHIsIHBobnVtLCBsb2FkX2JpYXMpIDwgMCkgewogICAgIERMX0VSUigiY2FuJ3QgZW5hYmxlIEdOVSBSRUxSTyBwcm90ZWN0aW9uIGZvciBcIiVzXCI6ICVzIiwKLSAgICAgICAgICAgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgZ2V0X3NvbmFtZSgpLCBzdHJlcnJvcihlcnJubykpOwogICAgIHJldHVybiBmYWxzZTsKICAgfQogCkBAIC0yMjQ3LDE0ICsyOTU2LDE0IEBACiAgICAgaWYgKHBoZHJfdGFibGVfc2VyaWFsaXplX2dudV9yZWxybyhwaGRyLCBwaG51bSwgbG9hZF9iaWFzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0aW5mby0+cmVscm9fZmQpIDwgMCkgewogICAgICAgRExfRVJSKCJmYWlsZWQgc2VyaWFsaXppbmcgR05VIFJFTFJPIHNlY3Rpb24gZm9yIFwiJXNcIjogJXMiLAotICAgICAgICAgICAgIG5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgICAgICAgZ2V0X3NvbmFtZSgpLCBzdHJlcnJvcihlcnJubykpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgfSBlbHNlIGlmIChleHRpbmZvICYmIChleHRpbmZvLT5mbGFncyAmIEFORFJPSURfRExFWFRfVVNFX1JFTFJPKSkgewogICAgIGlmIChwaGRyX3RhYmxlX21hcF9nbnVfcmVscm8ocGhkciwgcGhudW0sIGxvYWRfYmlhcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGluZm8tPnJlbHJvX2ZkKSA8IDApIHsKICAgICAgIERMX0VSUigiZmFpbGVkIG1hcHBpbmcgR05VIFJFTFJPIHNlY3Rpb24gZm9yIFwiJXNcIjogJXMiLAotICAgICAgICAgICAgIG5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgICAgICAgZ2V0X3NvbmFtZSgpLCBzdHJlcnJvcihlcnJubykpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgfQpAQCAtMjI3NSw3ICsyOTg0LDcgQEAKICAgICByZXR1cm47CiAgIH0KIAotICBzb2luZm8qIHNpID0gc29pbmZvX2FsbG9jKCJbdmRzb10iLCBudWxscHRyLCAwKTsKKyAgc29pbmZvKiBzaSA9IHNvaW5mb19hbGxvYygiW3Zkc29dIiwgbnVsbHB0ciwgMCwgMCk7CiAKICAgc2ktPnBoZHIgPSByZWludGVycHJldF9jYXN0PEVsZlcoUGhkcikqPihyZWludGVycHJldF9jYXN0PGNoYXIqPihlaGRyX3Zkc28pICsgZWhkcl92ZHNvLT5lX3Bob2ZmKTsKICAgc2ktPnBobnVtID0gZWhkcl92ZHNvLT5lX3BobnVtOwpAQCAtMjI4Myw4ICsyOTkyLDggQEAKICAgc2ktPnNpemUgPSBwaGRyX3RhYmxlX2dldF9sb2FkX3NpemUoc2ktPnBoZHIsIHNpLT5waG51bSk7CiAgIHNpLT5sb2FkX2JpYXMgPSBnZXRfZWxmX2V4ZWNfbG9hZF9iaWFzKGVoZHJfdmRzbyk7CiAKLSAgc2ktPlByZWxpbmtJbWFnZSgpOwotICBzaS0+TGlua0ltYWdlKG51bGxwdHIpOworICBzaS0+cHJlbGlua19pbWFnZSgpOworICBzaS0+bGlua19pbWFnZShnX2VtcHR5X2xpc3QsIHNvaW5mbzo6c29pbmZvX2xpc3RfdDo6bWFrZV9saXN0KHNpKSwgbnVsbHB0cik7CiAjZW5kaWYKIH0KIApAQCAtMjI5Niw3ICszMDA1LDEyIEBACiAjZWxzZQogI2RlZmluZSBMSU5LRVJfUEFUSCAiL3N5c3RlbS9iaW4vbGlua2VyIgogI2VuZGlmCi1zdGF0aWMgc29pbmZvIGxpbmtlcl9zb2luZm9fZm9yX2dkYihMSU5LRVJfUEFUSCwgbnVsbHB0ciwgMCk7CisKKy8vIFRoaXMgaXMgZG9uZSB0byBhdm9pZCBjYWxsaW5nIGMtdG9yIHByZW1hdHVyZWx5CisvLyBiZWNhdXNlIHNvaW5mbyBjLXRvciBuZWVkcyBtZW1vcnkgYWxsb2NhdG9yCisvLyB3aGljaCBtaWdodCBiZSBpbml0aWFsaXplZCBhZnRlciBnbG9iYWwgdmFyaWFibGVzLgorc3RhdGljIHVpbnQ4X3QgbGlua2VyX3NvaW5mb19mb3JfZ2RiX2J1ZltzaXplb2Yoc29pbmZvKV0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworc3RhdGljIHNvaW5mbyogbGlua2VyX3NvaW5mb19mb3JfZ2RiID0gbnVsbHB0cjsKIAogLyogZ2RiIGV4cGVjdHMgdGhlIGxpbmtlciB0byBiZSBpbiB0aGUgZGVidWcgc2hhcmVkIG9iamVjdCBsaXN0LgogICogV2l0aG91dCB0aGlzLCBnZGIgaGFzIHRyb3VibGUgbG9jYXRpbmcgdGhlIGxpbmtlcidzICIudGV4dCIKQEAgLTIzMDYsNyArMzAyMCw5IEBACiAgKiBiZSBvbiB0aGUgc29pbmZvIGxpc3QuCiAgKi8KIHN0YXRpYyB2b2lkIGluaXRfbGlua2VyX2luZm9fZm9yX2dkYihFbGZXKEFkZHIpIGxpbmtlcl9iYXNlKSB7Ci0gIGxpbmtlcl9zb2luZm9fZm9yX2dkYi5iYXNlID0gbGlua2VyX2Jhc2U7CisgIGxpbmtlcl9zb2luZm9fZm9yX2dkYiA9IG5ldyAobGlua2VyX3NvaW5mb19mb3JfZ2RiX2J1Zikgc29pbmZvKExJTktFUl9QQVRILCBudWxscHRyLCAwLCAwKTsKKworICBsaW5rZXJfc29pbmZvX2Zvcl9nZGItPmJhc2UgPSBsaW5rZXJfYmFzZTsKIAogICAvKgogICAgKiBTZXQgdGhlIGR5bmFtaWMgZmllbGQgaW4gdGhlIGxpbmsgbWFwIG90aGVyd2lzZSBnZGIgd2lsbCBjb21wbGFpbiB3aXRoCkBAIC0yMzE3LDggKzMwMzMsOCBAQAogICBFbGZXKEVoZHIpKiBlbGZfaGRyID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKEVoZHIpKj4obGlua2VyX2Jhc2UpOwogICBFbGZXKFBoZHIpKiBwaGRyID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKFBoZHIpKj4obGlua2VyX2Jhc2UgKyBlbGZfaGRyLT5lX3Bob2ZmKTsKICAgcGhkcl90YWJsZV9nZXRfZHluYW1pY19zZWN0aW9uKHBoZHIsIGVsZl9oZHItPmVfcGhudW0sIGxpbmtlcl9iYXNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxpbmtlcl9zb2luZm9fZm9yX2dkYi5keW5hbWljLCBudWxscHRyKTsKLSAgaW5zZXJ0X3NvaW5mb19pbnRvX2RlYnVnX21hcCgmbGlua2VyX3NvaW5mb19mb3JfZ2RiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsaW5rZXJfc29pbmZvX2Zvcl9nZGItPmR5bmFtaWMsIG51bGxwdHIpOworICBpbnNlcnRfc29pbmZvX2ludG9fZGVidWdfbWFwKGxpbmtlcl9zb2luZm9fZm9yX2dkYik7CiB9CiAKIC8qCkBAIC0yMzU4LDE1ICszMDc0LDIxIEBACiAgICAgbGRwcmVsb2FkX2VudiA9IGxpbmtlcl9lbnZfZ2V0KCJMRF9QUkVMT0FEIik7CiAgIH0KIAorI2lmICFkZWZpbmVkKF9fTFA2NF9fKQorICBpZiAocGVyc29uYWxpdHkoUEVSX0xJTlVYMzIpID09IC0xKSB7CisgICAgX19saWJjX2ZhdGFsKCJlcnJvciBzZXR0aW5nIFBFUl9MSU5VWDMyIHBlcnNvbmFsaXR5OiAlcyIsIHN0cmVycm9yKGVycm5vKSk7CisgIH0KKyNlbmRpZgorCiAgIElORk8oIlsgYW5kcm9pZCBsaW5rZXIgJiBkZWJ1Z2dlciBdIik7CiAKLSAgc29pbmZvKiBzaSA9IHNvaW5mb19hbGxvYyhhcmdzLmFyZ3ZbMF0sIG51bGxwdHIsIDApOworICBzb2luZm8qIHNpID0gc29pbmZvX2FsbG9jKGFyZ3MuYXJndlswXSwgbnVsbHB0ciwgMCwgUlRMRF9HTE9CQUwpOwogICBpZiAoc2kgPT0gbnVsbHB0cikgewogICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKICAgfQogCiAgIC8qIGJvb3RzdHJhcCB0aGUgbGluayBtYXAsIHRoZSBtYWluIGV4ZSBhbHdheXMgbmVlZHMgdG8gYmUgZmlyc3QgKi8KLSAgc2ktPmZsYWdzIHw9IEZMQUdfRVhFOworICBzaS0+c2V0X21haW5fZXhlY3V0YWJsZSgpOwogICBsaW5rX21hcCogbWFwID0gJihzaS0+bGlua19tYXBfaGVhZCk7CiAKICAgbWFwLT5sX2FkZHIgPSAwOwpAQCAtMjM5OSw3ICszMTIxLDYgQEAKICAgICB9CiAgIH0KICAgc2ktPmR5bmFtaWMgPSBudWxscHRyOwotICBzaS0+cmVmX2NvdW50ID0gMTsKIAogICBFbGZXKEVoZHIpKiBlbGZfaGRyID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKEVoZHIpKj4oc2ktPmJhc2UpOwogICBpZiAoZWxmX2hkci0+ZV90eXBlICE9IEVUX0RZTikgewpAQCAtMjQxMywxNyArMzEzNCwyMSBAQAogCiAgIHNvbWFpbiA9IHNpOwogCi0gIGlmICghc2ktPlByZWxpbmtJbWFnZSgpKSB7CisgIGlmICghc2ktPnByZWxpbmtfaW1hZ2UoKSkgewogICAgIF9fbGliY19mb3JtYXRfZmQoMiwgIkNBTk5PVCBMSU5LIEVYRUNVVEFCTEU6ICVzXG4iLCBsaW5rZXJfZ2V0X2Vycm9yX2J1ZmZlcigpKTsKICAgICBleGl0KEVYSVRfRkFJTFVSRSk7CiAgIH0KIAorICAvLyBhZGQgc29tYWluIHRvIGdsb2JhbCBncm91cAorICBzaS0+c2V0X2R0X2ZsYWdzXzEoc2ktPmdldF9kdF9mbGFnc18xKCkgfCBERl8xX0dMT0JBTCk7CisKICAgLy8gTG9hZCBsZF9wcmVsb2FkcyBhbmQgZGVwZW5kZW5jaWVzLgogICBTdHJpbmdMaW5rZWRMaXN0IG5lZWRlZF9saWJyYXJ5X25hbWVfbGlzdDsKICAgc2l6ZV90IG5lZWRlZF9saWJyYXJpZXNfY291bnQgPSAwOwogICBzaXplX3QgbGRfcHJlbG9hZHNfY291bnQgPSAwOwotICB3aGlsZSAoZ19sZF9wcmVsb2FkX25hbWVzW2xkX3ByZWxvYWRzX2NvdW50XSAhPSBudWxscHRyKSB7Ci0gICAgbmVlZGVkX2xpYnJhcnlfbmFtZV9saXN0LnB1c2hfYmFjayhnX2xkX3ByZWxvYWRfbmFtZXNbbGRfcHJlbG9hZHNfY291bnQrK10pOworCisgIGZvciAoY29uc3QgYXV0byYgbGRfcHJlbG9hZF9uYW1lIDogZ19sZF9wcmVsb2FkX25hbWVzKSB7CisgICAgbmVlZGVkX2xpYnJhcnlfbmFtZV9saXN0LnB1c2hfYmFjayhsZF9wcmVsb2FkX25hbWUuY19zdHIoKSk7CiAgICAgKytuZWVkZWRfbGlicmFyaWVzX2NvdW50OwogICB9CiAKQEAgLTI0MzMsMzYgKzMxNTgsMzggQEAKICAgfSk7CiAKICAgY29uc3QgY2hhciogbmVlZGVkX2xpYnJhcnlfbmFtZXNbbmVlZGVkX2xpYnJhcmllc19jb3VudF07Ci0gIHNvaW5mbyogbmVlZGVkX2xpYnJhcnlfc2lbbmVlZGVkX2xpYnJhcmllc19jb3VudF07CiAKICAgbWVtc2V0KG5lZWRlZF9saWJyYXJ5X25hbWVzLCAwLCBzaXplb2YobmVlZGVkX2xpYnJhcnlfbmFtZXMpKTsKICAgbmVlZGVkX2xpYnJhcnlfbmFtZV9saXN0LmNvcHlfdG9fYXJyYXkobmVlZGVkX2xpYnJhcnlfbmFtZXMsIG5lZWRlZF9saWJyYXJpZXNfY291bnQpOwogCi0gIGlmIChuZWVkZWRfbGlicmFyaWVzX2NvdW50ID4gMCAmJiAhZmluZF9saWJyYXJpZXMobmVlZGVkX2xpYnJhcnlfbmFtZXMsIG5lZWRlZF9saWJyYXJpZXNfY291bnQsIG5lZWRlZF9saWJyYXJ5X3NpLCBnX2xkX3ByZWxvYWRzLCBsZF9wcmVsb2Fkc19jb3VudCwgMCwgbnVsbHB0cikpIHsKLSAgICBfX2xpYmNfZm9ybWF0X2ZkKDIsICJDQU5OT1QgTElOSyBFWEVDVVRBQkxFIERFUEVOREVOQ0lFUzogJXNcbiIsIGxpbmtlcl9nZXRfZXJyb3JfYnVmZmVyKCkpOwotICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKLSAgfQotCi0gIGZvciAoc2l6ZV90IGkgPSAwOyBpPG5lZWRlZF9saWJyYXJpZXNfY291bnQ7ICsraSkgewotICAgIHNpLT5hZGRfY2hpbGQobmVlZGVkX2xpYnJhcnlfc2lbaV0pOwotICB9Ci0KLSAgaWYgKCFzaS0+TGlua0ltYWdlKG51bGxwdHIpKSB7CisgIGlmIChuZWVkZWRfbGlicmFyaWVzX2NvdW50ID4gMCAmJgorICAgICAgIWZpbmRfbGlicmFyaWVzKHNpLCBuZWVkZWRfbGlicmFyeV9uYW1lcywgbmVlZGVkX2xpYnJhcmllc19jb3VudCwgbnVsbHB0ciwKKyAgICAgICAgICAmZ19sZF9wcmVsb2FkcywgbGRfcHJlbG9hZHNfY291bnQsIFJUTERfR0xPQkFMLCBudWxscHRyKSkgewogICAgIF9fbGliY19mb3JtYXRfZmQoMiwgIkNBTk5PVCBMSU5LIEVYRUNVVEFCTEU6ICVzXG4iLCBsaW5rZXJfZ2V0X2Vycm9yX2J1ZmZlcigpKTsKICAgICBleGl0KEVYSVRfRkFJTFVSRSk7CisgIH0gZWxzZSBpZiAobmVlZGVkX2xpYnJhcmllc19jb3VudCA9PSAwKSB7CisgICAgaWYgKCFzaS0+bGlua19pbWFnZShnX2VtcHR5X2xpc3QsIHNvaW5mbzo6c29pbmZvX2xpc3RfdDo6bWFrZV9saXN0KHNpKSwgbnVsbHB0cikpIHsKKyAgICAgIF9fbGliY19mb3JtYXRfZmQoMiwgIkNBTk5PVCBMSU5LIEVYRUNVVEFCTEU6ICVzXG4iLCBsaW5rZXJfZ2V0X2Vycm9yX2J1ZmZlcigpKTsKKyAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisgICAgc2ktPmluY3JlbWVudF9yZWZfY291bnQoKTsKICAgfQogCiAgIGFkZF92ZHNvKGFyZ3MpOwogCi0gIHNpLT5DYWxsUHJlSW5pdENvbnN0cnVjdG9ycygpOworICB7CisgICAgUHJvdGVjdGVkRGF0YUd1YXJkIGd1YXJkOwogCi0gIC8qIEFmdGVyIHRoZSBQcmVsaW5rSW1hZ2UsIHRoZSBzaS0+bG9hZF9iaWFzIGlzIGluaXRpYWxpemVkLgotICAgKiBGb3Igc28gbGliLCB0aGUgbWFwLT5sX2FkZHIgd2lsbCBiZSB1cGRhdGVkIGluIG5vdGlmeV9nZGJfb2ZfbG9hZC4KLSAgICogV2UgbmVlZCB0byB1cGRhdGUgdGhpcyB2YWx1ZSBmb3Igc28gZXhlIGhlcmUuIFNvIFVud2luZF9CYWNrdHJhY2UKLSAgICogZm9yIHNvbWUgYXJjaCBsaWtlIHg4NiBjb3VsZCB3b3JrIGNvcnJlY3RseSB3aXRoaW4gc28gZXhlLgotICAgKi8KLSAgbWFwLT5sX2FkZHIgPSBzaS0+bG9hZF9iaWFzOwotICBzaS0+Q2FsbENvbnN0cnVjdG9ycygpOworICAgIHNpLT5jYWxsX3ByZV9pbml0X2NvbnN0cnVjdG9ycygpOworCisgICAgLyogQWZ0ZXIgdGhlIHByZWxpbmtfaW1hZ2UsIHRoZSBzaS0+bG9hZF9iaWFzIGlzIGluaXRpYWxpemVkLgorICAgICAqIEZvciBzbyBsaWIsIHRoZSBtYXAtPmxfYWRkciB3aWxsIGJlIHVwZGF0ZWQgaW4gbm90aWZ5X2dkYl9vZl9sb2FkLgorICAgICAqIFdlIG5lZWQgdG8gdXBkYXRlIHRoaXMgdmFsdWUgZm9yIHNvIGV4ZSBoZXJlLiBTbyBVbndpbmRfQmFja3RyYWNlCisgICAgICogZm9yIHNvbWUgYXJjaCBsaWtlIHg4NiBjb3VsZCB3b3JrIGNvcnJlY3RseSB3aXRoaW4gc28gZXhlLgorICAgICAqLworICAgIG1hcC0+bF9hZGRyID0gc2ktPmxvYWRfYmlhczsKKyAgICBzaS0+Y2FsbF9jb25zdHJ1Y3RvcnMoKTsKKyAgfQogCiAjaWYgVElNSU5HCiAgIGdldHRpbWVvZmRheSgmdDEsIG51bGxwdHIpOwpAQCAtMjUwNSw3ICszMjMyLDcgQEAKICAgZmZsdXNoKHN0ZG91dCk7CiAjZW5kaWYKIAotICBUUkFDRSgiWyBSZWFkeSB0byBleGVjdXRlICclcycgQCAlcCBdIiwgc2ktPm5hbWUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNpLT5lbnRyeSkpOworICBUUkFDRSgiWyBSZWFkeSB0byBleGVjdXRlICclcycgQCAlcCBdIiwgc2ktPmdldF9zb25hbWUoKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc2ktPmVudHJ5KSk7CiAgIHJldHVybiBzaS0+ZW50cnk7CiB9CiAKQEAgLTI1NTEsNyArMzI3OCw3IEBACiAgIEVsZlcoRWhkcikqIGVsZl9oZHIgPSByZWludGVycHJldF9jYXN0PEVsZlcoRWhkcikqPihsaW5rZXJfYWRkcik7CiAgIEVsZlcoUGhkcikqIHBoZHIgPSByZWludGVycHJldF9jYXN0PEVsZlcoUGhkcikqPihsaW5rZXJfYWRkciArIGVsZl9oZHItPmVfcGhvZmYpOwogCi0gIHNvaW5mbyBsaW5rZXJfc28oIltkeW5hbWljIGxpbmtlcl0iLCBudWxscHRyLCAwKTsKKyAgc29pbmZvIGxpbmtlcl9zbyhudWxscHRyLCBudWxscHRyLCAwLCAwKTsKIAogICAvLyBJZiB0aGUgbGlua2VyIGlzIG5vdCBhY3RpbmcgYXMgUFRfSU5URVJQIGVudHJ5X3BvaW50IGlzIGVxdWFsIHRvCiAgIC8vIF9zdGFydC4gV2hpY2ggbWVhbnMgdGhhdCB0aGUgbGlua2VyIGlzIHJ1bm5pbmcgYXMgYW4gZXhlY3V0YWJsZSBhbmQKQEAgLTI1NjksOSArMzI5NiwxNSBAQAogICBsaW5rZXJfc28uZHluYW1pYyA9IG51bGxwdHI7CiAgIGxpbmtlcl9zby5waGRyID0gcGhkcjsKICAgbGlua2VyX3NvLnBobnVtID0gZWxmX2hkci0+ZV9waG51bTsKLSAgbGlua2VyX3NvLmZsYWdzIHw9IEZMQUdfTElOS0VSOworICBsaW5rZXJfc28uc2V0X2xpbmtlcl9mbGFnKCk7CiAKLSAgaWYgKCEobGlua2VyX3NvLlByZWxpbmtJbWFnZSgpICYmIGxpbmtlcl9zby5MaW5rSW1hZ2UobnVsbHB0cikpKSB7CisgIC8vIFRoaXMgbWlnaHQgbm90IGJlIG9idmlvdXMuLi4gVGhlIHJlYXNvbnMgd2h5IHdlIHBhc3MgZ19lbXB0eV9saXN0CisgIC8vIGluIHBsYWNlIG9mIGxvY2FsX2dyb3VwIGhlcmUgYXJlICgxKSB3ZSBkbyBub3QgcmVhbGx5IG5lZWQgaXQsIGJlY2F1c2UKKyAgLy8gbGlua2VyIGlzIGJ1aWx0IHdpdGggRFRfU1lNQk9MSUMgYW5kIHRoZXJlZm9yZSByZWxvY2F0ZXMgaXRzIHN5bWJvbHMgYWdhaW5zdAorICAvLyBpdHNlbGYgd2l0aG91dCBoYXZpbmcgdG8gbG9vayBpbnRvIGxvY2FsX2dyb3VwIGFuZCAoMikgYWxsb2NhdG9ycworICAvLyBhcmUgbm90IHlldCBpbml0aWFsaXplZCwgYW5kIHRoZXJlZm9yZSB3ZSBjYW5ub3QgdXNlIGxpbmtlZF9saXN0LnB1c2hfKgorICAvLyBmdW5jdGlvbnMgYXQgdGhpcyBwb2ludC4KKyAgaWYgKCEobGlua2VyX3NvLnByZWxpbmtfaW1hZ2UoKSAmJiBsaW5rZXJfc28ubGlua19pbWFnZShnX2VtcHR5X2xpc3QsIGdfZW1wdHlfbGlzdCwgbnVsbHB0cikpKSB7CiAgICAgLy8gSXQgd291bGQgYmUgbmljZSB0byBwcmludCBhbiBlcnJvciBtZXNzYWdlLCBidXQgaWYgdGhlIGxpbmtlcgogICAgIC8vIGNhbid0IGxpbmsgaXRzZWxmLCB0aGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IHdlJ2xsIGJlIGFibGUgdG8KICAgICAvLyBjYWxsIHdyaXRlKCkgKGJlY2F1c2UgaXQgaW52b2x2ZXMgYSBHT1QgcmVmZXJlbmNlKS4gV2UgbWF5IGFzCkBAIC0yNTg2LDcgKzMzMTksNyBAQAogICBfX2xpYmNfaW5pdF90bHMoYXJncyk7CiAKICAgLy8gSW5pdGlhbGl6ZSB0aGUgbGlua2VyJ3Mgb3duIGdsb2JhbCB2YXJpYWJsZXMKLSAgbGlua2VyX3NvLkNhbGxDb25zdHJ1Y3RvcnMoKTsKKyAgbGlua2VyX3NvLmNhbGxfY29uc3RydWN0b3JzKCk7CiAKICAgLy8gSW5pdGlhbGl6ZSBzdGF0aWMgdmFyaWFibGVzLiBOb3RlIHRoYXQgaW4gb3JkZXIgdG8KICAgLy8gZ2V0IGNvcnJlY3QgbGliZGxfaW5mbyB3ZSBuZWVkIHRvIGNhbGwgY29uc3RydWN0b3JzCkBAIC0yNTk5LDcgKzMzMzIsNyBAQAogICBhcmdzLmFib3J0X21lc3NhZ2VfcHRyID0gJmdfYWJvcnRfbWVzc2FnZTsKICAgRWxmVyhBZGRyKSBzdGFydF9hZGRyZXNzID0gX19saW5rZXJfaW5pdF9wb3N0X3JlbG9jYXRpb24oYXJncywgbGlua2VyX2FkZHIpOwogCi0gIHByb3RlY3RfZGF0YShQUk9UX1JFQUQpOworICBJTkZPKCJbIGp1bXBpbmcgdG8gX3N0YXJ0IF0iKTsKIAogICAvLyBSZXR1cm4gdGhlIGFkZHJlc3MgdGhhdCB0aGUgY2FsbGluZyBhc3NlbWJseSBzdHViIHNob3VsZCBqdW1wIHRvLgogICByZXR1cm4gc3RhcnRfYWRkcmVzczsKZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXIuaCBiL2xpbmtlci9saW5rZXIuaAppbmRleCBmYTM4YzdmLi5kYWUzOTcyIDEwMDY0NAotLS0gYS9saW5rZXIvbGlua2VyLmgKKysrIGIvbGlua2VyL2xpbmtlci5oCkBAIC0zOSw2ICszOSw5IEBACiAjaW5jbHVkZSAicHJpdmF0ZS9saWJjX2xvZ2dpbmcuaCIKICNpbmNsdWRlICJsaW5rZWRfbGlzdC5oIgogCisjaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPHZlY3Rvcj4KKwogI2RlZmluZSBETF9FUlIoZm10LCB4Li4uKSBcCiAgICAgZG8geyBcCiAgICAgICBfX2xpYmNfZm9ybWF0X2J1ZmZlcihsaW5rZXJfZ2V0X2Vycm9yX2J1ZmZlcigpLCBsaW5rZXJfZ2V0X2Vycm9yX2J1ZmZlcl9zaXplKCksIGZtdCwgIyN4KTsgXApAQCAtODcsMTEgKzkwLDE2IEBACiAjZGVmaW5lIEZMQUdfTElOS0VEICAgICAweDAwMDAwMDAxCiAjZGVmaW5lIEZMQUdfRVhFICAgICAgICAweDAwMDAwMDA0IC8vIFRoZSBtYWluIGV4ZWN1dGFibGUKICNkZWZpbmUgRkxBR19MSU5LRVIgICAgIDB4MDAwMDAwMTAgLy8gVGhlIGxpbmtlciBpdHNlbGYKKyNkZWZpbmUgRkxBR19HTlVfSEFTSCAgIDB4MDAwMDAwNDAgLy8gdXNlcyBnbnUgaGFzaAogI2RlZmluZSBGTEFHX05FV19TT0lORk8gMHg0MDAwMDAwMCAvLyBuZXcgc29pbmZvIGZvcm1hdAogCi0jZGVmaW5lIFNPSU5GT19WRVJTSU9OIDAKKyNkZWZpbmUgU1VQUE9SVEVEX0RUX0ZMQUdTXzEgKERGXzFfTk9XIHwgREZfMV9HTE9CQUwgfCBERl8xX05PREVMRVRFKQogCisjZGVmaW5lIFNPSU5GT19WRVJTSU9OIDIKKworI2lmIGRlZmluZWQoX19hcm1fXykKICNkZWZpbmUgU09JTkZPX05BTUVfTEVOIDEyOAorI2VuZGlmCiAKIHR5cGVkZWYgdm9pZCAoKmxpbmtlcl9mdW5jdGlvbl90KSgpOwogCkBAIC0xMDMsOTEgKzExMSwxNDcgQEAKIHN0cnVjdCBzb2luZm87CiAKIGNsYXNzIFNvaW5mb0xpc3RBbGxvY2F0b3IgewotcHVibGljOgorIHB1YmxpYzoKICAgc3RhdGljIExpbmtlZExpc3RFbnRyeTxzb2luZm8+KiBhbGxvYygpOwogICBzdGF0aWMgdm9pZCBmcmVlKExpbmtlZExpc3RFbnRyeTxzb2luZm8+KiBlbnRyeSk7Ci1wcml2YXRlOgorCisgcHJpdmF0ZToKICAgLy8gdW5jb25zdHJ1Y3RhYmxlCiAgIERJU0FMTE9XX0lNUExJQ0lUX0NPTlNUUlVDVE9SUyhTb2luZm9MaXN0QWxsb2NhdG9yKTsKIH07CiAKK2NsYXNzIFN5bWJvbE5hbWUgeworIHB1YmxpYzoKKyAgZXhwbGljaXQgU3ltYm9sTmFtZShjb25zdCBjaGFyKiBuYW1lKQorICAgICAgOiBuYW1lXyhuYW1lKSwgaGFzX2VsZl9oYXNoXyhmYWxzZSksIGhhc19nbnVfaGFzaF8oZmFsc2UpLAorICAgICAgICBlbGZfaGFzaF8oMCksIGdudV9oYXNoXygwKSB7IH0KKworICBjb25zdCBjaGFyKiBnZXRfbmFtZSgpIHsKKyAgICByZXR1cm4gbmFtZV87CisgIH0KKworICB1aW50MzJfdCBlbGZfaGFzaCgpOworICB1aW50MzJfdCBnbnVfaGFzaCgpOworCisgcHJpdmF0ZToKKyAgY29uc3QgY2hhciogbmFtZV87CisgIGJvb2wgaGFzX2VsZl9oYXNoXzsKKyAgYm9vbCBoYXNfZ251X2hhc2hfOworICB1aW50MzJfdCBlbGZfaGFzaF87CisgIHVpbnQzMl90IGdudV9oYXNoXzsKKworICBESVNBTExPV19JTVBMSUNJVF9DT05TVFJVQ1RPUlMoU3ltYm9sTmFtZSk7Cit9OworCitzdHJ1Y3QgdmVyc2lvbl9pbmZvIHsKKyAgdmVyc2lvbl9pbmZvKCkgOiBlbGZfaGFzaCgwKSwgbmFtZShudWxscHRyKSwgdGFyZ2V0X3NpKG51bGxwdHIpIHt9CisKKyAgdWludDMyX3QgZWxmX2hhc2g7CisgIGNvbnN0IGNoYXIqIG5hbWU7CisgIGNvbnN0IHNvaW5mbyogdGFyZ2V0X3NpOworfTsKKworLy8gQ2xhc3MgdXNlZCBjb25zdHJ1Y3QgdmVyc2lvbiBkZXBlbmRlbmN5IGdyYXBoLgorY2xhc3MgVmVyc2lvblRyYWNrZXIgeworIHB1YmxpYzoKKyAgVmVyc2lvblRyYWNrZXIoKSA9IGRlZmF1bHQ7CisgIGJvb2wgaW5pdChjb25zdCBzb2luZm8qIHNpX2Zyb20pOworCisgIGNvbnN0IHZlcnNpb25faW5mbyogZ2V0X3ZlcnNpb25faW5mbyhFbGZXKFZlcnN5bSkgc291cmNlX3N5bXZlcikgY29uc3Q7CisgcHJpdmF0ZToKKyAgYm9vbCBpbml0X3Zlcm5lZWQoY29uc3Qgc29pbmZvKiBzaV9mcm9tKTsKKyAgYm9vbCBpbml0X3ZlcmRlZihjb25zdCBzb2luZm8qIHNpX2Zyb20pOworICB2b2lkIGFkZF92ZXJzaW9uX2luZm8oc2l6ZV90IHNvdXJjZV9pbmRleCwgRWxmVyhXb3JkKSBlbGZfaGFzaCwKKyAgICAgIGNvbnN0IGNoYXIqIHZlcl9uYW1lLCBjb25zdCBzb2luZm8qIHRhcmdldF9zaSk7CisKKyAgc3RkOjp2ZWN0b3I8dmVyc2lvbl9pbmZvPiB2ZXJzaW9uX2luZm9zOworCisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihWZXJzaW9uVHJhY2tlcik7Cit9OworCiBzdHJ1Y3Qgc29pbmZvIHsKICBwdWJsaWM6CiAgIHR5cGVkZWYgTGlua2VkTGlzdDxzb2luZm8sIFNvaW5mb0xpc3RBbGxvY2F0b3I+IHNvaW5mb19saXN0X3Q7CisjaWYgZGVmaW5lZChfX2FybV9fKQorIHByaXZhdGU6CisgIGNoYXIgb2xkX25hbWVfW1NPSU5GT19OQU1FX0xFTl07CisjZW5kaWYKICBwdWJsaWM6Ci0gIGNoYXIgbmFtZVtTT0lORk9fTkFNRV9MRU5dOwogICBjb25zdCBFbGZXKFBoZHIpKiBwaGRyOwogICBzaXplX3QgcGhudW07CiAgIEVsZlcoQWRkcikgZW50cnk7CiAgIEVsZlcoQWRkcikgYmFzZTsKICAgc2l6ZV90IHNpemU7CiAKLSNpZm5kZWYgX19MUDY0X18KKyNpZiBkZWZpbmVkKF9fYXJtX18pCiAgIHVpbnQzMl90IHVudXNlZDE7ICAvLyBETyBOT1QgVVNFLCBtYWludGFpbmVkIGZvciBjb21wYXRpYmlsaXR5LgogI2VuZGlmCiAKICAgRWxmVyhEeW4pKiBkeW5hbWljOwogCi0jaWZuZGVmIF9fTFA2NF9fCisjaWYgZGVmaW5lZChfX2FybV9fKQogICB1aW50MzJfdCB1bnVzZWQyOyAvLyBETyBOT1QgVVNFLCBtYWludGFpbmVkIGZvciBjb21wYXRpYmlsaXR5CiAgIHVpbnQzMl90IHVudXNlZDM7IC8vIERPIE5PVCBVU0UsIG1haW50YWluZWQgZm9yIGNvbXBhdGliaWxpdHkKICNlbmRpZgogCiAgIHNvaW5mbyogbmV4dDsKLSAgdW5zaWduZWQgZmxhZ3M7Ci0KICBwcml2YXRlOgotICBjb25zdCBjaGFyKiBzdHJ0YWI7Ci0gcHVibGljOgotICBFbGZXKFN5bSkqIHN5bXRhYjsKKyAgdWludDMyX3QgZmxhZ3NfOwogCi0gIHNpemVfdCBuYnVja2V0OwotICBzaXplX3QgbmNoYWluOwotICB1bnNpZ25lZCogYnVja2V0OwotICB1bnNpZ25lZCogY2hhaW47CisgIGNvbnN0IGNoYXIqIHN0cnRhYl87CisgIEVsZlcoU3ltKSogc3ltdGFiXzsKKworICBzaXplX3QgbmJ1Y2tldF87CisgIHNpemVfdCBuY2hhaW5fOworICB1aW50MzJfdCogYnVja2V0XzsKKyAgdWludDMyX3QqIGNoYWluXzsKIAogI2lmIGRlZmluZWQoX19taXBzX18pIHx8ICFkZWZpbmVkKF9fTFA2NF9fKQogICAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSBtaXBzIGFuZCBtaXBzNjQsIGJ1dCBuZWVkcyB0byBiZSBoZXJlIGZvcgogICAvLyBhbGwgMzItYml0IGFyY2hpdGVjdHVyZXMgdG8gcHJlc2VydmUgYmluYXJ5IGNvbXBhdGliaWxpdHkuCi0gIEVsZlcoQWRkcikqKiBwbHRfZ290OworICBFbGZXKEFkZHIpKiogcGx0X2dvdF87CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoVVNFX1JFTEEpCi0gIEVsZlcoUmVsYSkqIHBsdF9yZWxhOwotICBzaXplX3QgcGx0X3JlbGFfY291bnQ7CisgIEVsZlcoUmVsYSkqIHBsdF9yZWxhXzsKKyAgc2l6ZV90IHBsdF9yZWxhX2NvdW50XzsKIAotICBFbGZXKFJlbGEpKiByZWxhOwotICBzaXplX3QgcmVsYV9jb3VudDsKKyAgRWxmVyhSZWxhKSogcmVsYV87CisgIHNpemVfdCByZWxhX2NvdW50XzsKICNlbHNlCi0gIEVsZlcoUmVsKSogcGx0X3JlbDsKLSAgc2l6ZV90IHBsdF9yZWxfY291bnQ7CisgIEVsZlcoUmVsKSogcGx0X3JlbF87CisgIHNpemVfdCBwbHRfcmVsX2NvdW50XzsKIAotICBFbGZXKFJlbCkqIHJlbDsKLSAgc2l6ZV90IHJlbF9jb3VudDsKKyAgRWxmVyhSZWwpKiByZWxfOworICBzaXplX3QgcmVsX2NvdW50XzsKICNlbmRpZgogCi0gIGxpbmtlcl9mdW5jdGlvbl90KiBwcmVpbml0X2FycmF5OwotICBzaXplX3QgcHJlaW5pdF9hcnJheV9jb3VudDsKKyAgbGlua2VyX2Z1bmN0aW9uX3QqIHByZWluaXRfYXJyYXlfOworICBzaXplX3QgcHJlaW5pdF9hcnJheV9jb3VudF87CiAKLSAgbGlua2VyX2Z1bmN0aW9uX3QqIGluaXRfYXJyYXk7Ci0gIHNpemVfdCBpbml0X2FycmF5X2NvdW50OwotICBsaW5rZXJfZnVuY3Rpb25fdCogZmluaV9hcnJheTsKLSAgc2l6ZV90IGZpbmlfYXJyYXlfY291bnQ7CisgIGxpbmtlcl9mdW5jdGlvbl90KiBpbml0X2FycmF5XzsKKyAgc2l6ZV90IGluaXRfYXJyYXlfY291bnRfOworICBsaW5rZXJfZnVuY3Rpb25fdCogZmluaV9hcnJheV87CisgIHNpemVfdCBmaW5pX2FycmF5X2NvdW50XzsKIAotICBsaW5rZXJfZnVuY3Rpb25fdCBpbml0X2Z1bmM7Ci0gIGxpbmtlcl9mdW5jdGlvbl90IGZpbmlfZnVuYzsKKyAgbGlua2VyX2Z1bmN0aW9uX3QgaW5pdF9mdW5jXzsKKyAgbGlua2VyX2Z1bmN0aW9uX3QgZmluaV9mdW5jXzsKIAogI2lmIGRlZmluZWQoX19hcm1fXykKKyBwdWJsaWM6CiAgIC8vIEFSTSBFQUJJIHNlY3Rpb24gdXNlZCBmb3Igc3RhY2sgdW53aW5kaW5nLgotICB1bnNpZ25lZCogQVJNX2V4aWR4OworICB1aW50MzJfdCogQVJNX2V4aWR4OwogICBzaXplX3QgQVJNX2V4aWR4X2NvdW50OworIHByaXZhdGU6CiAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotICB1bnNpZ25lZCBtaXBzX3N5bXRhYm5vOwotICB1bnNpZ25lZCBtaXBzX2xvY2FsX2dvdG5vOwotICB1bnNpZ25lZCBtaXBzX2dvdHN5bTsKLSNlbmRpZgorICB1aW50MzJfdCBtaXBzX3N5bXRhYm5vXzsKKyAgdWludDMyX3QgbWlwc19sb2NhbF9nb3Rub187CisgIHVpbnQzMl90IG1pcHNfZ290c3ltXzsKKyAgYm9vbCBtaXBzX3JlbG9jYXRlX2dvdChjb25zdCBzb2luZm9fbGlzdF90JiBnbG9iYWxfZ3JvdXAsIGNvbnN0IHNvaW5mb19saXN0X3QmIGxvY2FsX2dyb3VwKTsKIAotICBzaXplX3QgcmVmX2NvdW50OworI2VuZGlmCisgIHNpemVfdCByZWZfY291bnRfOworIHB1YmxpYzoKICAgbGlua19tYXAgbGlua19tYXBfaGVhZDsKIAogICBib29sIGNvbnN0cnVjdG9yc19jYWxsZWQ7CkBAIC0yMDEsNzMgKzI2NSwxNTcgQEAKICNlbmRpZgogICBib29sIGhhc19EVF9TWU1CT0xJQzsKIAotICBzb2luZm8oY29uc3QgY2hhciogbmFtZSwgY29uc3Qgc3RydWN0IHN0YXQqIGZpbGVfc3RhdCwgb2ZmNjRfdCBmaWxlX29mZnNldCk7CisgcHVibGljOgorICBzb2luZm8oY29uc3QgY2hhciogbmFtZSwgY29uc3Qgc3RydWN0IHN0YXQqIGZpbGVfc3RhdCwgb2ZmNjRfdCBmaWxlX29mZnNldCwgaW50IHJ0bGRfZmxhZ3MpOwogCi0gIHZvaWQgQ2FsbENvbnN0cnVjdG9ycygpOwotICB2b2lkIENhbGxEZXN0cnVjdG9ycygpOwotICB2b2lkIENhbGxQcmVJbml0Q29uc3RydWN0b3JzKCk7Ci0gIGJvb2wgUHJlbGlua0ltYWdlKCk7Ci0gIGJvb2wgTGlua0ltYWdlKGNvbnN0IGFuZHJvaWRfZGxleHRpbmZvKiBleHRpbmZvKTsKKyAgdm9pZCBjYWxsX2NvbnN0cnVjdG9ycygpOworICB2b2lkIGNhbGxfZGVzdHJ1Y3RvcnMoKTsKKyAgdm9pZCBjYWxsX3ByZV9pbml0X2NvbnN0cnVjdG9ycygpOworICBib29sIHByZWxpbmtfaW1hZ2UoKTsKKyAgYm9vbCBsaW5rX2ltYWdlKGNvbnN0IHNvaW5mb19saXN0X3QmIGdsb2JhbF9ncm91cCwgY29uc3Qgc29pbmZvX2xpc3RfdCYgbG9jYWxfZ3JvdXAsCisgICAgICAgICAgICAgICAgICBjb25zdCBhbmRyb2lkX2RsZXh0aW5mbyogZXh0aW5mbyk7CiAKICAgdm9pZCBhZGRfY2hpbGQoc29pbmZvKiBjaGlsZCk7CiAgIHZvaWQgcmVtb3ZlX2FsbF9saW5rcygpOwogCi0gIGlub190IGdldF9zdF9pbm8oKTsKLSAgZGV2X3QgZ2V0X3N0X2RldigpOwotICBvZmY2NF90IGdldF9maWxlX29mZnNldCgpOworICBpbm9fdCBnZXRfc3RfaW5vKCkgY29uc3Q7CisgIGRldl90IGdldF9zdF9kZXYoKSBjb25zdDsKKyAgb2ZmNjRfdCBnZXRfZmlsZV9vZmZzZXQoKSBjb25zdDsKKworICB1aW50MzJfdCBnZXRfcnRsZF9mbGFncygpIGNvbnN0OworICB1aW50MzJfdCBnZXRfZHRfZmxhZ3NfMSgpIGNvbnN0OworICB2b2lkIHNldF9kdF9mbGFnc18xKHVpbnQzMl90IGR0X2ZsYWdzXzEpOwogCiAgIHNvaW5mb19saXN0X3QmIGdldF9jaGlsZHJlbigpOworICBjb25zdCBzb2luZm9fbGlzdF90JiBnZXRfY2hpbGRyZW4oKSBjb25zdDsKKwogICBzb2luZm9fbGlzdF90JiBnZXRfcGFyZW50cygpOwogCi0gIEVsZlcoQWRkcikgcmVzb2x2ZV9zeW1ib2xfYWRkcmVzcyhFbGZXKFN5bSkqIHMpOworICBib29sIGZpbmRfc3ltYm9sX2J5X25hbWUoU3ltYm9sTmFtZSYgc3ltYm9sX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJzaW9uX2luZm8qIHZpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRWxmVyhTeW0pKiogc3ltYm9sKSBjb25zdDsKKworICBFbGZXKFN5bSkqIGZpbmRfc3ltYm9sX2J5X2FkZHJlc3MoY29uc3Qgdm9pZCogYWRkcik7CisgIEVsZlcoQWRkcikgcmVzb2x2ZV9zeW1ib2xfYWRkcmVzcyhjb25zdCBFbGZXKFN5bSkqIHMpIGNvbnN0OwogCiAgIGNvbnN0IGNoYXIqIGdldF9zdHJpbmcoRWxmVyhXb3JkKSBpbmRleCkgY29uc3Q7CisgIGJvb2wgY2FuX3VubG9hZCgpIGNvbnN0OworICBib29sIGlzX2dudV9oYXNoKCkgY29uc3Q7CiAKLSAgYm9vbCBpbmxpbmUgaGFzX21pbl92ZXJzaW9uKHVpbnQzMl90IG1pbl92ZXJzaW9uKSBjb25zdCB7Ci0gICAgcmV0dXJuIChmbGFncyAmIEZMQUdfTkVXX1NPSU5GTykgIT0gMCAmJiB2ZXJzaW9uID49IG1pbl92ZXJzaW9uOwotICB9Ci0gcHJpdmF0ZToKLSAgdm9pZCBDYWxsQXJyYXkoY29uc3QgY2hhciogYXJyYXlfbmFtZSwgbGlua2VyX2Z1bmN0aW9uX3QqIGZ1bmN0aW9ucywgc2l6ZV90IGNvdW50LCBib29sIHJldmVyc2UpOwotICB2b2lkIENhbGxGdW5jdGlvbihjb25zdCBjaGFyKiBmdW5jdGlvbl9uYW1lLCBsaW5rZXJfZnVuY3Rpb25fdCBmdW5jdGlvbik7Ci0jaWYgZGVmaW5lZChVU0VfUkVMQSkKLSAgaW50IFJlbG9jYXRlKEVsZlcoUmVsYSkqIHJlbGEsIHVuc2lnbmVkIGNvdW50KTsKKyAgYm9vbCBpbmxpbmUgaGFzX21pbl92ZXJzaW9uKHVpbnQzMl90IG1pbl92ZXJzaW9uIF9fdW51c2VkKSBjb25zdCB7CisjaWYgZGVmaW5lZChfX2FybV9fKQorICAgIHJldHVybiAoZmxhZ3NfICYgRkxBR19ORVdfU09JTkZPKSAhPSAwICYmIHZlcnNpb25fID49IG1pbl92ZXJzaW9uOwogI2Vsc2UKLSAgaW50IFJlbG9jYXRlKEVsZlcoUmVsKSogcmVsLCB1bnNpZ25lZCBjb3VudCk7CisgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKKyAgfQorCisgIGJvb2wgaXNfbGlua2VkKCkgY29uc3Q7CisgIGJvb2wgaXNfbWFpbl9leGVjdXRhYmxlKCkgY29uc3Q7CisKKyAgdm9pZCBzZXRfbGlua2VkKCk7CisgIHZvaWQgc2V0X2xpbmtlcl9mbGFnKCk7CisgIHZvaWQgc2V0X21haW5fZXhlY3V0YWJsZSgpOworCisgIHZvaWQgaW5jcmVtZW50X3JlZl9jb3VudCgpOworICBzaXplX3QgZGVjcmVtZW50X3JlZl9jb3VudCgpOworCisgIHNvaW5mbyogZ2V0X2xvY2FsX2dyb3VwX3Jvb3QoKSBjb25zdDsKKworICBjb25zdCBjaGFyKiBnZXRfc29uYW1lKCkgY29uc3Q7CisgIGNvbnN0IGNoYXIqIGdldF9yZWFscGF0aCgpIGNvbnN0OworICBjb25zdCBFbGZXKFZlcnN5bSkqIGdldF92ZXJzeW0oc2l6ZV90IG4pIGNvbnN0OworICBFbGZXKEFkZHIpIGdldF92ZXJuZWVkX3B0cigpIGNvbnN0OworICBzaXplX3QgZ2V0X3Zlcm5lZWRfY250KCkgY29uc3Q7CisgIEVsZlcoQWRkcikgZ2V0X3ZlcmRlZl9wdHIoKSBjb25zdDsKKyAgc2l6ZV90IGdldF92ZXJkZWZfY250KCkgY29uc3Q7CisKKyAgYm9vbCBmaW5kX3ZlcmRlZl92ZXJzaW9uX2luZGV4KGNvbnN0IHZlcnNpb25faW5mbyogdmksIEVsZlcoVmVyc3ltKSogdmVyc3ltKSBjb25zdDsKKworIHByaXZhdGU6CisgIGJvb2wgZWxmX2xvb2t1cChTeW1ib2xOYW1lJiBzeW1ib2xfbmFtZSwgY29uc3QgdmVyc2lvbl9pbmZvKiB2aSwgdWludDMyX3QqIHN5bWJvbF9pbmRleCkgY29uc3Q7CisgIEVsZlcoU3ltKSogZWxmX2FkZHJfbG9va3VwKGNvbnN0IHZvaWQqIGFkZHIpOworICBib29sIGdudV9sb29rdXAoU3ltYm9sTmFtZSYgc3ltYm9sX25hbWUsIGNvbnN0IHZlcnNpb25faW5mbyogdmksIHVpbnQzMl90KiBzeW1ib2xfaW5kZXgpIGNvbnN0OworICBFbGZXKFN5bSkqIGdudV9hZGRyX2xvb2t1cChjb25zdCB2b2lkKiBhZGRyKTsKKworICB2b2lkIGNhbGxfYXJyYXkoY29uc3QgY2hhciogYXJyYXlfbmFtZSwgbGlua2VyX2Z1bmN0aW9uX3QqIGZ1bmN0aW9ucywgc2l6ZV90IGNvdW50LCBib29sIHJldmVyc2UpOworICB2b2lkIGNhbGxfZnVuY3Rpb24oY29uc3QgY2hhciogZnVuY3Rpb25fbmFtZSwgbGlua2VyX2Z1bmN0aW9uX3QgZnVuY3Rpb24pOworICB0ZW1wbGF0ZTx0eXBlbmFtZSBFbGZSZWxJdGVyYXRvclQ+CisgIGJvb2wgcmVsb2NhdGUoRWxmUmVsSXRlcmF0b3JUJiYgcmVsX2l0ZXJhdG9yLCBjb25zdCBzb2luZm9fbGlzdF90JiBnbG9iYWxfZ3JvdXAsCisgICAgICAgICAgICAgICAgY29uc3Qgc29pbmZvX2xpc3RfdCYgbG9jYWxfZ3JvdXApOwogCiAgcHJpdmF0ZToKICAgLy8gVGhpcyBwYXJ0IG9mIHRoZSBzdHJ1Y3R1cmUgaXMgb25seSBhdmFpbGFibGUKICAgLy8gd2hlbiBGTEFHX05FV19TT0lORk8gaXMgc2V0IGluIHRoaXMtPmZsYWdzLgotICB1aW50MzJfdCB2ZXJzaW9uOworICB1aW50MzJfdCB2ZXJzaW9uXzsKIAogICAvLyB2ZXJzaW9uID49IDAKLSAgZGV2X3Qgc3RfZGV2OwotICBpbm9fdCBzdF9pbm87CisgIGRldl90IHN0X2Rldl87CisgIGlub190IHN0X2lub187CiAKICAgLy8gZGVwZW5kZW5jeSBncmFwaAotICBzb2luZm9fbGlzdF90IGNoaWxkcmVuOwotICBzb2luZm9fbGlzdF90IHBhcmVudHM7CisgIHNvaW5mb19saXN0X3QgY2hpbGRyZW5fOworICBzb2luZm9fbGlzdF90IHBhcmVudHNfOwogCiAgIC8vIHZlcnNpb24gPj0gMQotICBvZmY2NF90IGZpbGVfb2Zmc2V0OwotICBpbnQgcnRsZF9mbGFnczsKLSAgc2l6ZV90IHN0cnRhYl9zaXplOworICBvZmY2NF90IGZpbGVfb2Zmc2V0XzsKKyAgdWludDMyX3QgcnRsZF9mbGFnc187CisgIHVpbnQzMl90IGR0X2ZsYWdzXzFfOworICBzaXplX3Qgc3RydGFiX3NpemVfOworCisgIC8vIHZlcnNpb24gPj0gMgorCisgIHNpemVfdCBnbnVfbmJ1Y2tldF87CisgIHVpbnQzMl90KiBnbnVfYnVja2V0XzsKKyAgdWludDMyX3QqIGdudV9jaGFpbl87CisgIHVpbnQzMl90IGdudV9tYXNrd29yZHNfOworICB1aW50MzJfdCBnbnVfc2hpZnQyXzsKKyAgRWxmVyhBZGRyKSogZ251X2Jsb29tX2ZpbHRlcl87CisKKyAgc29pbmZvKiBsb2NhbF9ncm91cF9yb290XzsKKworICB1aW50OF90KiBhbmRyb2lkX3JlbG9jc187CisgIHNpemVfdCBhbmRyb2lkX3JlbG9jc19zaXplXzsKKworICBjb25zdCBjaGFyKiBzb25hbWVfOworICBzdGQ6OnN0cmluZyByZWFscGF0aF87CisKKyAgY29uc3QgRWxmVyhWZXJzeW0pKiB2ZXJzeW1fOworCisgIEVsZlcoQWRkcikgdmVyZGVmX3B0cl87CisgIHNpemVfdCB2ZXJkZWZfY250XzsKKworICBFbGZXKEFkZHIpIHZlcm5lZWRfcHRyXzsKKyAgc2l6ZV90IHZlcm5lZWRfY250XzsKIAogICBmcmllbmQgc29pbmZvKiBnZXRfbGliZGxfaW5mbygpOwogfTsKIAotZXh0ZXJuIHNvaW5mbyogZ2V0X2xpYmRsX2luZm8oKTsKK2Jvb2wgc29pbmZvX2RvX2xvb2t1cChzb2luZm8qIHNpX2Zyb20sIGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IHZlcnNpb25faW5mbyogdmksCisgICAgICAgICAgICAgICAgICAgICAgc29pbmZvKiogc2lfZm91bmRfaW4sIGNvbnN0IHNvaW5mbzo6c29pbmZvX2xpc3RfdCYgZ2xvYmFsX2dyb3VwLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvaW5mbzo6c29pbmZvX2xpc3RfdCYgbG9jYWxfZ3JvdXAsIGNvbnN0IEVsZlcoU3ltKSoqIHN5bWJvbCk7CisKK2VudW0gUmVsb2NhdGlvbktpbmQgeworICBrUmVsb2NBYnNvbHV0ZSA9IDAsCisgIGtSZWxvY1JlbGF0aXZlLAorICBrUmVsb2NDb3B5LAorICBrUmVsb2NTeW1ib2wsCisgIGtSZWxvY01heAorfTsKKwordm9pZCBjb3VudF9yZWxvY2F0aW9uKFJlbG9jYXRpb25LaW5kIGtpbmQpOworCitzb2luZm8qIGdldF9saWJkbF9pbmZvKCk7CiAKIHZvaWQgZG9fYW5kcm9pZF9nZXRfTERfTElCUkFSWV9QQVRIKGNoYXIqLCBzaXplX3QpOwogdm9pZCBkb19hbmRyb2lkX3VwZGF0ZV9MRF9MSUJSQVJZX1BBVEgoY29uc3QgY2hhciogbGRfbGlicmFyeV9wYXRoKTsKIHNvaW5mbyogZG9fZGxvcGVuKGNvbnN0IGNoYXIqIG5hbWUsIGludCBmbGFncywgY29uc3QgYW5kcm9pZF9kbGV4dGluZm8qIGV4dGluZm8pOwogdm9pZCBkb19kbGNsb3NlKHNvaW5mbyogc2kpOwogCi1FbGZXKFN5bSkqIGRsc3ltX2xpbmVhcl9sb29rdXAoY29uc3QgY2hhciogbmFtZSwgc29pbmZvKiogZm91bmQsIHNvaW5mbyogc3RhcnQpOworY29uc3QgRWxmVyhTeW0pKiBkbHN5bV9saW5lYXJfbG9va3VwKGNvbnN0IGNoYXIqIG5hbWUsIHNvaW5mbyoqIGZvdW5kLCBzb2luZm8qIGNhbGxlciwgdm9pZCogaGFuZGxlKTsKIHNvaW5mbyogZmluZF9jb250YWluaW5nX2xpYnJhcnkoY29uc3Qgdm9pZCogYWRkcik7CiAKLUVsZlcoU3ltKSogZGxhZGRyX2ZpbmRfc3ltYm9sKHNvaW5mbyogc2ksIGNvbnN0IHZvaWQqIGFkZHIpOwotRWxmVyhTeW0pKiBkbHN5bV9oYW5kbGVfbG9va3VwKHNvaW5mbyogc2ksIHNvaW5mbyoqIGZvdW5kLCBjb25zdCBjaGFyKiBuYW1lKTsKK2NvbnN0IEVsZlcoU3ltKSogZGxzeW1faGFuZGxlX2xvb2t1cChzb2luZm8qIHNpLCBzb2luZm8qKiBmb3VuZCwgY29uc3QgY2hhciogbmFtZSk7CiAKIHZvaWQgZGVidWdnZXJkX2luaXQoKTsKIGV4dGVybiAiQyIgYWJvcnRfbXNnX3QqIGdfYWJvcnRfbWVzc2FnZTsKZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXJfYWxsb2NhdG9yLmNwcCBiL2xpbmtlci9saW5rZXJfYWxsb2NhdG9yLmNwcAppbmRleCA5MjIyMGU4Li4xYjE2Y2YxIDEwMDY0NAotLS0gYS9saW5rZXIvbGlua2VyX2FsbG9jYXRvci5jcHAKKysrIGIvbGlua2VyL2xpbmtlcl9hbGxvY2F0b3IuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAogICoKICAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgpAQCAtMTMsMTIwICsxMywzMzQgQEAKICAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCisKICNpbmNsdWRlICJsaW5rZXJfYWxsb2NhdG9yLmgiCi0jaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlICJsaW5rZXIuaCIKKworI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfcHJjdGwuaCIKIAotc3RydWN0IExpbmtlckFsbG9jYXRvclBhZ2UgewotICBMaW5rZXJBbGxvY2F0b3JQYWdlKiBuZXh0OwotICB1aW50OF90IGJ5dGVzW1BBR0VfU0laRS1zaXplb2YoTGlua2VyQWxsb2NhdG9yUGFnZSopXTsKLX07CisvLworLy8gTGlua2VyTWVtZW9yeUFsbG9jYXRvciBpcyBnZW5lcmFsIHB1cnBvc2UgYWxsb2NhdG9yCisvLyBkZXNpZ25lZCB0byBwcm92aWRlIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYXMgdGhlIG1hbGxvYy9mcmVlL3JlYWxsb2MKKy8vIGxpYmMgZnVuY3Rpb25zLgorLy8KKy8vIE9uIGFsbG9jOgorLy8gSWYgc2l6ZSBpcyA+PSAxayBhbGxvY2F0b3IgcHJveGllcyBtYWxsb2MgY2FsbCBkaXJlY3RseSB0byBtbWFwCisvLyBJZiBzaXplIDwgMWsgYWxsb2NhdG9yIHVzZXMgU21hbGxPYmplY3RBbGxvY2F0b3IgZm9yIHRoZSBzaXplCisvLyByb3VuZGVkIHVwIHRvIHRoZSBuZWFyZXN0IHBvd2VyIG9mIHR3by4KKy8vCisvLyBPbiBmcmVlOgorLy8KKy8vIEZvciBhIHBvaW50ZXIgYWxsb2NhdGVkIHVzaW5nIHByb3h5LXRvLW1tYXAgYWxsb2NhdG9yIHVubWFwcworLy8gdGhlIG1lbW9yeS4KKy8vCisvLyBGb3IgYSBwb2ludGVyIGFsbG9jYXRlZCB1c2luZyBTbWFsbE9iamVjdEFsbG9jYXRvciBpdCBhZGRzCisvLyB0aGUgYmxvY2sgdG8gZnJlZV9ibG9ja3NfbGlzdF8uIElmIHRoZSBudW1iZXIgb2YgZnJlZSBwYWdlcyByZWFjaGVzIDIsCisvLyBTbWFsbE9iamVjdEFsbG9jYXRvciBtdW5tYXBzIG9uZSBvZiB0aGUgcGFnZXMga2VlcGluZyB0aGUgb3RoZXIgb25lCisvLyBpbiByZXNlcnZlLgogCi1zdHJ1Y3QgRnJlZUJsb2NrSW5mbyB7Ci0gIHZvaWQqIG5leHRfYmxvY2s7Ci0gIHNpemVfdCBudW1fZnJlZV9ibG9ja3M7Ci19Oworc3RhdGljIGNvbnN0IGNoYXIga1NpZ25hdHVyZVs0XSA9IHsnTCcsICdNJywgJ0EnLCAxfTsKIAotTGlua2VyQmxvY2tBbGxvY2F0b3I6OkxpbmtlckJsb2NrQWxsb2NhdG9yKHNpemVfdCBibG9ja19zaXplKQotICA6IGJsb2NrX3NpemVfKGJsb2NrX3NpemUgPCBzaXplb2YoRnJlZUJsb2NrSW5mbykgPyBzaXplb2YoRnJlZUJsb2NrSW5mbykgOiBibG9ja19zaXplKSwKLSAgICBwYWdlX2xpc3RfKG51bGxwdHIpLAotICAgIGZyZWVfYmxvY2tfbGlzdF8obnVsbHB0cikKLXt9CitzdGF0aWMgY29uc3Qgc2l6ZV90IGtTbWFsbE9iamVjdE1heFNpemUgPSAxIDw8IGtTbWFsbE9iamVjdE1heFNpemVMb2cyOwogCi12b2lkKiBMaW5rZXJCbG9ja0FsbG9jYXRvcjo6YWxsb2MoKSB7Ci0gIGlmIChmcmVlX2Jsb2NrX2xpc3RfID09IG51bGxwdHIpIHsKLSAgICBjcmVhdGVfbmV3X3BhZ2UoKTsKLSAgfQorLy8gVGhpcyB0eXBlIGlzIHVzZWQgZm9yIGxhcmdlIGFsbG9jYXRpb25zICh3aXRoIHNpemUgPjFrKQorc3RhdGljIGNvbnN0IHVpbnQzMl90IGtMYXJnZU9iamVjdCA9IDExMTsKIAotICBGcmVlQmxvY2tJbmZvKiBibG9ja19pbmZvID0gcmVpbnRlcnByZXRfY2FzdDxGcmVlQmxvY2tJbmZvKj4oZnJlZV9ibG9ja19saXN0Xyk7Ci0gIGlmIChibG9ja19pbmZvLT5udW1fZnJlZV9ibG9ja3MgPiAxKSB7Ci0gICAgRnJlZUJsb2NrSW5mbyogbmV4dF9ibG9ja19pbmZvID0gcmVpbnRlcnByZXRfY2FzdDxGcmVlQmxvY2tJbmZvKj4oCi0gICAgICByZWludGVycHJldF9jYXN0PGNoYXIqPihmcmVlX2Jsb2NrX2xpc3RfKSArIGJsb2NrX3NpemVfKTsKLSAgICBuZXh0X2Jsb2NrX2luZm8tPm5leHRfYmxvY2sgPSBibG9ja19pbmZvLT5uZXh0X2Jsb2NrOwotICAgIG5leHRfYmxvY2tfaW5mby0+bnVtX2ZyZWVfYmxvY2tzID0gYmxvY2tfaW5mby0+bnVtX2ZyZWVfYmxvY2tzIC0gMTsKLSAgICBmcmVlX2Jsb2NrX2xpc3RfID0gbmV4dF9ibG9ja19pbmZvOwotICB9IGVsc2UgewotICAgIGZyZWVfYmxvY2tfbGlzdF8gPSBibG9ja19pbmZvLT5uZXh0X2Jsb2NrOwotICB9Ci0KLSAgbWVtc2V0KGJsb2NrX2luZm8sIDAsIGJsb2NrX3NpemVfKTsKLQotICByZXR1cm4gYmxvY2tfaW5mbzsKK2Jvb2wgb3BlcmF0b3I8KGNvbnN0IHNtYWxsX29iamVjdF9wYWdlX3JlY29yZCYgb25lLCBjb25zdCBzbWFsbF9vYmplY3RfcGFnZV9yZWNvcmQmIHR3bykgeworICByZXR1cm4gb25lLnBhZ2VfYWRkciA8IHR3by5wYWdlX2FkZHI7CiB9CiAKLXZvaWQgTGlua2VyQmxvY2tBbGxvY2F0b3I6OmZyZWUodm9pZCogYmxvY2spIHsKLSAgaWYgKGJsb2NrID09IG51bGxwdHIpIHsKK3N0YXRpYyBpbmxpbmUgdWludDE2X3QgbG9nMihzaXplX3QgbnVtYmVyKSB7CisgIHVpbnQxNl90IHJlc3VsdCA9IDA7CisgIG51bWJlci0tOworCisgIHdoaWxlIChudW1iZXIgIT0gMCkgeworICAgIHJlc3VsdCsrOworICAgIG51bWJlciA+Pj0gMTsKKyAgfQorCisgIHJldHVybiByZXN1bHQ7Cit9CisKK0xpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yOjpMaW5rZXJTbWFsbE9iamVjdEFsbG9jYXRvcigpCisgICAgOiB0eXBlXygwKSwgbmFtZV8obnVsbHB0ciksIGJsb2NrX3NpemVfKDApLCBmcmVlX3BhZ2VzX2NudF8oMCksIGZyZWVfYmxvY2tzX2xpc3RfKG51bGxwdHIpIHt9CisKK3ZvaWQqIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yOjphbGxvYygpIHsKKyAgaWYgKGZyZWVfYmxvY2tzX2xpc3RfID09IG51bGxwdHIpIHsKKyAgICBhbGxvY19wYWdlKCk7CisgIH0KKworICBzbWFsbF9vYmplY3RfYmxvY2tfcmVjb3JkKiBibG9ja19yZWNvcmQgPSBmcmVlX2Jsb2Nrc19saXN0XzsKKyAgaWYgKGJsb2NrX3JlY29yZC0+ZnJlZV9ibG9ja3NfY250ID4gMSkgeworICAgIHNtYWxsX29iamVjdF9ibG9ja19yZWNvcmQqIG5leHRfZnJlZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8c21hbGxfb2JqZWN0X2Jsb2NrX3JlY29yZCo+KAorICAgICAgICByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihibG9ja19yZWNvcmQpICsgYmxvY2tfc2l6ZV8pOworICAgIG5leHRfZnJlZS0+bmV4dCA9IGJsb2NrX3JlY29yZC0+bmV4dDsKKyAgICBuZXh0X2ZyZWUtPmZyZWVfYmxvY2tzX2NudCA9IGJsb2NrX3JlY29yZC0+ZnJlZV9ibG9ja3NfY250IC0gMTsKKyAgICBmcmVlX2Jsb2Nrc19saXN0XyA9IG5leHRfZnJlZTsKKyAgfSBlbHNlIHsKKyAgICBmcmVlX2Jsb2Nrc19saXN0XyA9IGJsb2NrX3JlY29yZC0+bmV4dDsKKyAgfQorCisgIC8vIGJvb2trZWVwaW5nLi4uCisgIGF1dG8gcGFnZV9yZWNvcmQgPSBmaW5kX3BhZ2VfcmVjb3JkKGJsb2NrX3JlY29yZCk7CisKKyAgaWYgKHBhZ2VfcmVjb3JkLT5hbGxvY2F0ZWRfYmxvY2tzX2NudCA9PSAwKSB7CisgICAgZnJlZV9wYWdlc19jbnRfLS07CisgIH0KKworICBwYWdlX3JlY29yZC0+ZnJlZV9ibG9ja3NfY250LS07CisgIHBhZ2VfcmVjb3JkLT5hbGxvY2F0ZWRfYmxvY2tzX2NudCsrOworCisgIG1lbXNldChibG9ja19yZWNvcmQsIDAsIGJsb2NrX3NpemVfKTsKKworICByZXR1cm4gYmxvY2tfcmVjb3JkOworfQorCit2b2lkIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yOjpmcmVlX3BhZ2UobGlua2VyX3ZlY3Rvcl90OjppdGVyYXRvciBwYWdlX3JlY29yZCkgeworICB2b2lkKiBwYWdlX3N0YXJ0ID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocGFnZV9yZWNvcmQtPnBhZ2VfYWRkcik7CisgIHZvaWQqIHBhZ2VfZW5kID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHBhZ2Vfc3RhcnQpICsgUEFHRV9TSVpFKTsKKworICB3aGlsZSAoZnJlZV9ibG9ja3NfbGlzdF8gIT0gbnVsbHB0ciAmJgorICAgICAgZnJlZV9ibG9ja3NfbGlzdF8gPiBwYWdlX3N0YXJ0ICYmCisgICAgICBmcmVlX2Jsb2Nrc19saXN0XyA8IHBhZ2VfZW5kKSB7CisgICAgZnJlZV9ibG9ja3NfbGlzdF8gPSBmcmVlX2Jsb2Nrc19saXN0Xy0+bmV4dDsKKyAgfQorCisgIHNtYWxsX29iamVjdF9ibG9ja19yZWNvcmQqIGN1cnJlbnQgPSBmcmVlX2Jsb2Nrc19saXN0XzsKKworICB3aGlsZSAoY3VycmVudCAhPSBudWxscHRyKSB7CisgICAgd2hpbGUgKGN1cnJlbnQtPm5leHQgPiBwYWdlX3N0YXJ0ICYmIGN1cnJlbnQtPm5leHQgPCBwYWdlX2VuZCkgeworICAgICAgY3VycmVudC0+bmV4dCA9IGN1cnJlbnQtPm5leHQtPm5leHQ7CisgICAgfQorCisgICAgY3VycmVudCA9IGN1cnJlbnQtPm5leHQ7CisgIH0KKworICBtdW5tYXAocGFnZV9zdGFydCwgUEFHRV9TSVpFKTsKKyAgcGFnZV9yZWNvcmRzXy5lcmFzZShwYWdlX3JlY29yZCk7CisgIGZyZWVfcGFnZXNfY250Xy0tOworfQorCit2b2lkIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yOjpmcmVlKHZvaWQqIHB0cikgeworICBhdXRvIHBhZ2VfcmVjb3JkID0gZmluZF9wYWdlX3JlY29yZChwdHIpOworCisgIHNzaXplX3Qgb2Zmc2V0ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cikgLSBzaXplb2YocGFnZV9pbmZvKTsKKworICBpZiAob2Zmc2V0ICUgYmxvY2tfc2l6ZV8gIT0gMCkgeworICAgIF9fbGliY19mYXRhbCgiaW52YWxpZCBwb2ludGVyOiAlcCAoYmxvY2tfc2l6ZT0lemQpIiwgcHRyLCBibG9ja19zaXplXyk7CisgIH0KKworICBtZW1zZXQocHRyLCAwLCBibG9ja19zaXplXyk7CisgIHNtYWxsX29iamVjdF9ibG9ja19yZWNvcmQqIGJsb2NrX3JlY29yZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8c21hbGxfb2JqZWN0X2Jsb2NrX3JlY29yZCo+KHB0cik7CisKKyAgYmxvY2tfcmVjb3JkLT5uZXh0ID0gZnJlZV9ibG9ja3NfbGlzdF87CisgIGJsb2NrX3JlY29yZC0+ZnJlZV9ibG9ja3NfY250ID0gMTsKKworICBmcmVlX2Jsb2Nrc19saXN0XyA9IGJsb2NrX3JlY29yZDsKKworICBwYWdlX3JlY29yZC0+ZnJlZV9ibG9ja3NfY250Kys7CisgIHBhZ2VfcmVjb3JkLT5hbGxvY2F0ZWRfYmxvY2tzX2NudC0tOworCisgIGlmIChwYWdlX3JlY29yZC0+YWxsb2NhdGVkX2Jsb2Nrc19jbnQgPT0gMCkgeworICAgIGlmIChmcmVlX3BhZ2VzX2NudF8rKyA+IDEpIHsKKyAgICAgIC8vIGlmIHdlIGFscmVhZHkgaGF2ZSBhIGZyZWUgcGFnZSAtIHVubWFwIHRoaXMgb25lLgorICAgICAgZnJlZV9wYWdlKHBhZ2VfcmVjb3JkKTsKKyAgICB9CisgIH0KK30KKwordm9pZCBMaW5rZXJTbWFsbE9iamVjdEFsbG9jYXRvcjo6aW5pdCh1aW50MzJfdCB0eXBlLCBzaXplX3QgYmxvY2tfc2l6ZSwgY29uc3QgY2hhciogbmFtZSkgeworICB0eXBlXyA9IHR5cGU7CisgIGJsb2NrX3NpemVfID0gYmxvY2tfc2l6ZTsKKyAgbmFtZV8gPSBuYW1lOworfQorCitsaW5rZXJfdmVjdG9yX3Q6Oml0ZXJhdG9yIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yOjpmaW5kX3BhZ2VfcmVjb3JkKHZvaWQqIHB0cikgeworICB2b2lkKiBhZGRyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUEFHRV9TVEFSVChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocHRyKSkpOworICBzbWFsbF9vYmplY3RfcGFnZV9yZWNvcmQgYm91bmRhcnk7CisgIGJvdW5kYXJ5LnBhZ2VfYWRkciA9IGFkZHI7CisgIGxpbmtlcl92ZWN0b3JfdDo6aXRlcmF0b3IgaXQgPSBzdGQ6Omxvd2VyX2JvdW5kKAorICAgICAgcGFnZV9yZWNvcmRzXy5iZWdpbigpLCBwYWdlX3JlY29yZHNfLmVuZCgpLCBib3VuZGFyeSk7CisKKyAgaWYgKGl0ID09IHBhZ2VfcmVjb3Jkc18uZW5kKCkgfHwgaXQtPnBhZ2VfYWRkciAhPSBhZGRyKSB7CisgICAgLy8gbm90IGZvdW5kLi4uCisgICAgX19saWJjX2ZhdGFsKCJwYWdlIHJlY29yZCBmb3IgJXAgd2FzIG5vdCBmb3VuZCAoYmxvY2tfc2l6ZT0lemQpIiwgcHRyLCBibG9ja19zaXplXyk7CisgIH0KKworICByZXR1cm4gaXQ7Cit9CisKK3ZvaWQgTGlua2VyU21hbGxPYmplY3RBbGxvY2F0b3I6OmNyZWF0ZV9wYWdlX3JlY29yZCh2b2lkKiBwYWdlX2FkZHIsIHNpemVfdCBmcmVlX2Jsb2Nrc19jbnQpIHsKKyAgc21hbGxfb2JqZWN0X3BhZ2VfcmVjb3JkIHJlY29yZDsKKyAgcmVjb3JkLnBhZ2VfYWRkciA9IHBhZ2VfYWRkcjsKKyAgcmVjb3JkLmZyZWVfYmxvY2tzX2NudCA9IGZyZWVfYmxvY2tzX2NudDsKKyAgcmVjb3JkLmFsbG9jYXRlZF9ibG9ja3NfY250ID0gMDsKKworICBsaW5rZXJfdmVjdG9yX3Q6Oml0ZXJhdG9yIGl0ID0gc3RkOjpsb3dlcl9ib3VuZCgKKyAgICAgIHBhZ2VfcmVjb3Jkc18uYmVnaW4oKSwgcGFnZV9yZWNvcmRzXy5lbmQoKSwgcmVjb3JkKTsKKyAgcGFnZV9yZWNvcmRzXy5pbnNlcnQoaXQsIHJlY29yZCk7Cit9CisKK3ZvaWQgTGlua2VyU21hbGxPYmplY3RBbGxvY2F0b3I6OmFsbG9jX3BhZ2UoKSB7CisgIHZvaWQqIG1hcF9wdHIgPSBtbWFwKG51bGxwdHIsIFBBR0VfU0laRSwKKyAgICAgIFBST1RfUkVBRHxQUk9UX1dSSVRFLCBNQVBfUFJJVkFURXxNQVBfQU5PTllNT1VTLCAwLCAwKTsKKyAgaWYgKG1hcF9wdHIgPT0gTUFQX0ZBSUxFRCkgeworICAgIF9fbGliY19mYXRhbCgibW1hcCBmYWlsZWQiKTsKKyAgfQorCisgIHByY3RsKFBSX1NFVF9WTUEsIFBSX1NFVF9WTUFfQU5PTl9OQU1FLCBtYXBfcHRyLCBQQUdFX1NJWkUsIG5hbWVfKTsKKworICBtZW1zZXQobWFwX3B0ciwgMCwgUEFHRV9TSVpFKTsKKworICBwYWdlX2luZm8qIGluZm8gPSByZWludGVycHJldF9jYXN0PHBhZ2VfaW5mbyo+KG1hcF9wdHIpOworICBtZW1jcHkoaW5mby0+c2lnbmF0dXJlLCBrU2lnbmF0dXJlLCBzaXplb2Yoa1NpZ25hdHVyZSkpOworICBpbmZvLT50eXBlID0gdHlwZV87CisgIGluZm8tPmFsbG9jYXRvcl9hZGRyID0gdGhpczsKKworICBzaXplX3QgZnJlZV9ibG9ja3NfY250ID0gKFBBR0VfU0laRSAtIHNpemVvZihwYWdlX2luZm8pKS9ibG9ja19zaXplXzsKKworICBjcmVhdGVfcGFnZV9yZWNvcmQobWFwX3B0ciwgZnJlZV9ibG9ja3NfY250KTsKKworICBzbWFsbF9vYmplY3RfYmxvY2tfcmVjb3JkKiBmaXJzdF9ibG9jayA9IHJlaW50ZXJwcmV0X2Nhc3Q8c21hbGxfb2JqZWN0X2Jsb2NrX3JlY29yZCo+KGluZm8gKyAxKTsKKworICBmaXJzdF9ibG9jay0+bmV4dCA9IGZyZWVfYmxvY2tzX2xpc3RfOworICBmaXJzdF9ibG9jay0+ZnJlZV9ibG9ja3NfY250ID0gZnJlZV9ibG9ja3NfY250OworCisgIGZyZWVfYmxvY2tzX2xpc3RfID0gZmlyc3RfYmxvY2s7Cit9CisKKworTGlua2VyTWVtb3J5QWxsb2NhdG9yOjpMaW5rZXJNZW1vcnlBbGxvY2F0b3IoKSB7CisgIHN0YXRpYyBjb25zdCBjaGFyKiBhbGxvY2F0b3JfbmFtZXNba1NtYWxsT2JqZWN0QWxsb2NhdG9yc0NvdW50XSA9IHsKKyAgICAibGlua2VyX2FsbG9jXzE2IiwgLy8gMl40CisgICAgImxpbmtlcl9hbGxvY18zMiIsIC8vIDJeNQorICAgICJsaW5rZXJfYWxsb2NfNjQiLCAvLyBhbmQgc28gb24uLi4KKyAgICAibGlua2VyX2FsbG9jXzEyOCIsCisgICAgImxpbmtlcl9hbGxvY18yNTYiLAorICAgICJsaW5rZXJfYWxsb2NfNTEyIiwKKyAgICAibGlua2VyX2FsbG9jXzEwMjQiLCAvLyAyXjEwCisgIH07CisKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrU21hbGxPYmplY3RBbGxvY2F0b3JzQ291bnQ7ICsraSkgeworICAgIHVpbnQzMl90IHR5cGUgPSBpICsga1NtYWxsT2JqZWN0TWluU2l6ZUxvZzI7CisgICAgYWxsb2NhdG9yc19baV0uaW5pdCh0eXBlLCAxIDw8IHR5cGUsIGFsbG9jYXRvcl9uYW1lc1tpXSk7CisgIH0KK30KKwordm9pZCogTGlua2VyTWVtb3J5QWxsb2NhdG9yOjphbGxvY19tbWFwKHNpemVfdCBzaXplKSB7CisgIHNpemVfdCBhbGxvY2F0ZWRfc2l6ZSA9IFBBR0VfRU5EKHNpemUgKyBzaXplb2YocGFnZV9pbmZvKSk7CisgIHZvaWQqIG1hcF9wdHIgPSBtbWFwKG51bGxwdHIsIGFsbG9jYXRlZF9zaXplLAorICAgICAgUFJPVF9SRUFEfFBST1RfV1JJVEUsIE1BUF9QUklWQVRFfE1BUF9BTk9OWU1PVVMsIDAsIDApOworCisgIGlmIChtYXBfcHRyID09IE1BUF9GQUlMRUQpIHsKKyAgICBfX2xpYmNfZmF0YWwoIm1tYXAgZmFpbGVkIik7CisgIH0KKworICBwcmN0bChQUl9TRVRfVk1BLCBQUl9TRVRfVk1BX0FOT05fTkFNRSwgbWFwX3B0ciwgYWxsb2NhdGVkX3NpemUsICJsaW5rZXJfYWxsb2NfbG9iIik7CisKKyAgbWVtc2V0KG1hcF9wdHIsIDAsIGFsbG9jYXRlZF9zaXplKTsKKworICBwYWdlX2luZm8qIGluZm8gPSByZWludGVycHJldF9jYXN0PHBhZ2VfaW5mbyo+KG1hcF9wdHIpOworICBtZW1jcHkoaW5mby0+c2lnbmF0dXJlLCBrU2lnbmF0dXJlLCBzaXplb2Yoa1NpZ25hdHVyZSkpOworICBpbmZvLT50eXBlID0ga0xhcmdlT2JqZWN0OworICBpbmZvLT5hbGxvY2F0ZWRfc2l6ZSA9IGFsbG9jYXRlZF9zaXplOworCisgIHJldHVybiBpbmZvICsgMTsKK30KKwordm9pZCogTGlua2VyTWVtb3J5QWxsb2NhdG9yOjphbGxvYyhzaXplX3Qgc2l6ZSkgeworICAvLyB0cmVhdCBhbGxvYygwKSBhcyBhbGxvYygxKQorICBpZiAoc2l6ZSA9PSAwKSB7CisgICAgc2l6ZSA9IDE7CisgIH0KKworICBpZiAoc2l6ZSA+IGtTbWFsbE9iamVjdE1heFNpemUpIHsKKyAgICByZXR1cm4gYWxsb2NfbW1hcChzaXplKTsKKyAgfQorCisgIHVpbnQxNl90IGxvZzJfc2l6ZSA9IGxvZzIoc2l6ZSk7CisKKyAgaWYgKGxvZzJfc2l6ZSA8IGtTbWFsbE9iamVjdE1pblNpemVMb2cyKSB7CisgICAgbG9nMl9zaXplID0ga1NtYWxsT2JqZWN0TWluU2l6ZUxvZzI7CisgIH0KKworICByZXR1cm4gZ2V0X3NtYWxsX29iamVjdF9hbGxvY2F0b3IobG9nMl9zaXplKS0+YWxsb2MoKTsKK30KKworcGFnZV9pbmZvKiBMaW5rZXJNZW1vcnlBbGxvY2F0b3I6OmdldF9wYWdlX2luZm8odm9pZCogcHRyKSB7CisgIHBhZ2VfaW5mbyogaW5mbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8cGFnZV9pbmZvKj4oUEFHRV9TVEFSVChyZWludGVycHJldF9jYXN0PHNpemVfdD4ocHRyKSkpOworICBpZiAobWVtY21wKGluZm8tPnNpZ25hdHVyZSwga1NpZ25hdHVyZSwgc2l6ZW9mKGtTaWduYXR1cmUpKSAhPSAwKSB7CisgICAgX19saWJjX2ZhdGFsKCJpbnZhbGlkIHBvaW50ZXIgJXAgKHBhZ2Ugc2lnbmF0dXJlIG1pc21hdGNoKSIsIHB0cik7CisgIH0KKworICByZXR1cm4gaW5mbzsKK30KKwordm9pZCogTGlua2VyTWVtb3J5QWxsb2NhdG9yOjpyZWFsbG9jKHZvaWQqIHB0ciwgc2l6ZV90IHNpemUpIHsKKyAgaWYgKHB0ciA9PSBudWxscHRyKSB7CisgICAgcmV0dXJuIGFsbG9jKHNpemUpOworICB9CisKKyAgaWYgKHNpemUgPT0gMCkgeworICAgIGZyZWUocHRyKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKKyAgfQorCisgIHBhZ2VfaW5mbyogaW5mbyA9IGdldF9wYWdlX2luZm8ocHRyKTsKKworICBzaXplX3Qgb2xkX3NpemUgPSAwOworCisgIGlmIChpbmZvLT50eXBlID09IGtMYXJnZU9iamVjdCkgeworICAgIG9sZF9zaXplID0gaW5mby0+YWxsb2NhdGVkX3NpemUgLSBzaXplb2YocGFnZV9pbmZvKTsKKyAgfSBlbHNlIHsKKyAgICBMaW5rZXJTbWFsbE9iamVjdEFsbG9jYXRvciogYWxsb2NhdG9yID0gZ2V0X3NtYWxsX29iamVjdF9hbGxvY2F0b3IoaW5mby0+dHlwZSk7CisgICAgaWYgKGFsbG9jYXRvciAhPSBpbmZvLT5hbGxvY2F0b3JfYWRkcikgeworICAgICAgX19saWJjX2ZhdGFsKCJpbnZhbGlkIHBvaW50ZXIgJXAgKHBhZ2Ugc2lnbmF0dXJlIG1pc21hdGNoKSIsIHB0cik7CisgICAgfQorCisgICAgb2xkX3NpemUgPSBhbGxvY2F0b3ItPmdldF9ibG9ja19zaXplKCk7CisgIH0KKworICBpZiAob2xkX3NpemUgPCBzaXplKSB7CisgICAgdm9pZCAqcmVzdWx0ID0gYWxsb2Moc2l6ZSk7CisgICAgbWVtY3B5KHJlc3VsdCwgcHRyLCBvbGRfc2l6ZSk7CisgICAgZnJlZShwdHIpOworICAgIHJldHVybiByZXN1bHQ7CisgIH0KKworICByZXR1cm4gcHRyOworfQorCit2b2lkIExpbmtlck1lbW9yeUFsbG9jYXRvcjo6ZnJlZSh2b2lkKiBwdHIpIHsKKyAgaWYgKHB0ciA9PSBudWxscHRyKSB7CiAgICAgcmV0dXJuOwogICB9CiAKLSAgTGlua2VyQWxsb2NhdG9yUGFnZSogcGFnZSA9IGZpbmRfcGFnZShibG9jayk7CisgIHBhZ2VfaW5mbyogaW5mbyA9IGdldF9wYWdlX2luZm8ocHRyKTsKIAotICBpZiAocGFnZSA9PSBudWxscHRyKSB7Ci0gICAgYWJvcnQoKTsKLSAgfQotCi0gIHNzaXplX3Qgb2Zmc2V0ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYmxvY2spIC0gcGFnZS0+Ynl0ZXM7Ci0KLSAgaWYgKG9mZnNldCAlIGJsb2NrX3NpemVfICE9IDApIHsKLSAgICBhYm9ydCgpOwotICB9Ci0KLSAgbWVtc2V0KGJsb2NrLCAwLCBibG9ja19zaXplXyk7Ci0KLSAgRnJlZUJsb2NrSW5mbyogYmxvY2tfaW5mbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnJlZUJsb2NrSW5mbyo+KGJsb2NrKTsKLQotICBibG9ja19pbmZvLT5uZXh0X2Jsb2NrID0gZnJlZV9ibG9ja19saXN0XzsKLSAgYmxvY2tfaW5mby0+bnVtX2ZyZWVfYmxvY2tzID0gMTsKLQotICBmcmVlX2Jsb2NrX2xpc3RfID0gYmxvY2tfaW5mbzsKLX0KLQotdm9pZCBMaW5rZXJCbG9ja0FsbG9jYXRvcjo6cHJvdGVjdF9hbGwoaW50IHByb3QpIHsKLSAgZm9yIChMaW5rZXJBbGxvY2F0b3JQYWdlKiBwYWdlID0gcGFnZV9saXN0XzsgcGFnZSAhPSBudWxscHRyOyBwYWdlID0gcGFnZS0+bmV4dCkgewotICAgIGlmIChtcHJvdGVjdChwYWdlLCBQQUdFX1NJWkUsIHByb3QpID09IC0xKSB7Ci0gICAgICBhYm9ydCgpOwotICAgIH0KLSAgfQotfQotCi12b2lkIExpbmtlckJsb2NrQWxsb2NhdG9yOjpjcmVhdGVfbmV3X3BhZ2UoKSB7Ci0gIExpbmtlckFsbG9jYXRvclBhZ2UqIHBhZ2UgPSByZWludGVycHJldF9jYXN0PExpbmtlckFsbG9jYXRvclBhZ2UqPihtbWFwKG51bGxwdHIsIFBBR0VfU0laRSwKLSAgICAgIFBST1RfUkVBRHxQUk9UX1dSSVRFLCBNQVBfUFJJVkFURXxNQVBfQU5PTllNT1VTLCAwLCAwKSk7Ci0gIGlmIChwYWdlID09IE1BUF9GQUlMRUQpIHsKLSAgICBhYm9ydCgpOyAvLyBvb20KLSAgfQotCi0gIHByY3RsKFBSX1NFVF9WTUEsIFBSX1NFVF9WTUFfQU5PTl9OQU1FLCBwYWdlLCBQQUdFX1NJWkUsICJsaW5rZXJfYWxsb2MiKTsKLQotICBtZW1zZXQocGFnZSwgMCwgUEFHRV9TSVpFKTsKLQotICBGcmVlQmxvY2tJbmZvKiBmaXJzdF9ibG9jayA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnJlZUJsb2NrSW5mbyo+KHBhZ2UtPmJ5dGVzKTsKLSAgZmlyc3RfYmxvY2stPm5leHRfYmxvY2sgPSBmcmVlX2Jsb2NrX2xpc3RfOwotICBmaXJzdF9ibG9jay0+bnVtX2ZyZWVfYmxvY2tzID0gKFBBR0VfU0laRSAtIHNpemVvZihMaW5rZXJBbGxvY2F0b3JQYWdlKikpL2Jsb2NrX3NpemVfOwotCi0gIGZyZWVfYmxvY2tfbGlzdF8gPSBmaXJzdF9ibG9jazsKLQotICBwYWdlLT5uZXh0ID0gcGFnZV9saXN0XzsKLSAgcGFnZV9saXN0XyA9IHBhZ2U7Ci19Ci0KLUxpbmtlckFsbG9jYXRvclBhZ2UqIExpbmtlckJsb2NrQWxsb2NhdG9yOjpmaW5kX3BhZ2Uodm9pZCogYmxvY2spIHsKLSAgaWYgKGJsb2NrID09IG51bGxwdHIpIHsKLSAgICBhYm9ydCgpOwotICB9Ci0KLSAgTGlua2VyQWxsb2NhdG9yUGFnZSogcGFnZSA9IHBhZ2VfbGlzdF87Ci0gIHdoaWxlIChwYWdlICE9IG51bGxwdHIpIHsKLSAgICBjb25zdCB1aW50OF90KiBwYWdlX3B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHBhZ2UpOwotICAgIGlmIChibG9jayA+PSAocGFnZV9wdHIgKyBzaXplb2YocGFnZS0+bmV4dCkpICYmIGJsb2NrIDwgKHBhZ2VfcHRyICsgUEFHRV9TSVpFKSkgewotICAgICAgcmV0dXJuIHBhZ2U7CisgIGlmIChpbmZvLT50eXBlID09IGtMYXJnZU9iamVjdCkgeworICAgIG11bm1hcChpbmZvLCBpbmZvLT5hbGxvY2F0ZWRfc2l6ZSk7CisgIH0gZWxzZSB7CisgICAgTGlua2VyU21hbGxPYmplY3RBbGxvY2F0b3IqIGFsbG9jYXRvciA9IGdldF9zbWFsbF9vYmplY3RfYWxsb2NhdG9yKGluZm8tPnR5cGUpOworICAgIGlmIChhbGxvY2F0b3IgIT0gaW5mby0+YWxsb2NhdG9yX2FkZHIpIHsKKyAgICAgIF9fbGliY19mYXRhbCgiaW52YWxpZCBwb2ludGVyICVwIChpbnZhbGlkIGFsbG9jYXRvciBhZGRyZXNzIGZvciB0aGUgcGFnZSkiLCBwdHIpOwogICAgIH0KIAotICAgIHBhZ2UgPSBwYWdlLT5uZXh0OworICAgIGFsbG9jYXRvci0+ZnJlZShwdHIpOworICB9Cit9CisKK0xpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yKiBMaW5rZXJNZW1vcnlBbGxvY2F0b3I6OmdldF9zbWFsbF9vYmplY3RfYWxsb2NhdG9yKHVpbnQzMl90IHR5cGUpIHsKKyAgaWYgKHR5cGUgPCBrU21hbGxPYmplY3RNaW5TaXplTG9nMiB8fCB0eXBlID4ga1NtYWxsT2JqZWN0TWF4U2l6ZUxvZzIpIHsKKyAgICBfX2xpYmNfZmF0YWwoImludmFsaWQgdHlwZTogJXUiLCB0eXBlKTsKICAgfQogCi0gIGFib3J0KCk7CisgIHJldHVybiAmYWxsb2NhdG9yc19bdHlwZSAtIGtTbWFsbE9iamVjdE1pblNpemVMb2cyXTsKIH0KZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXJfYWxsb2NhdG9yLmggYi9saW5rZXIvbGlua2VyX2FsbG9jYXRvci5oCmluZGV4IDVkMzU2M2YuLjJhZGFkNTYgMTAwNjQ0Ci0tLSBhL2xpbmtlci9saW5rZXJfYWxsb2NhdG9yLmgKKysrIGIvbGlua2VyL2xpbmtlcl9hbGxvY2F0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKICAqCiAgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KQEAgLTE4LDUzICsxOCwxMjYgQEAKICNkZWZpbmUgX19MSU5LRVJfQUxMT0NBVE9SX0gKIAogI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPGxpbWl0cy5oPgotI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX21hY3Jvcy5oIgorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAKLXN0cnVjdCBMaW5rZXJBbGxvY2F0b3JQYWdlOworI2luY2x1ZGUgPHZlY3Rvcj4KIAotLyoKLSAqIFRoaXMgY2xhc3MgaXMgYSBub24tdGVtcGxhdGUgdmVyc2lvbiBvZiB0aGUgTGlua2VyQWxsb2NhdG9yCi0gKiBJdCBrZWVwcyBjb2RlIGluc2lkZSAuY3BwIGZpbGUgYnkga2VlcGluZyB0aGUgaW50ZXJmYWNlCi0gKiB0ZW1wbGF0ZS1mcmVlLgotICoKLSAqIFBsZWFzZSB1c2UgTGlua2VyQWxsb2NhdG9yPHR5cGU+IHdoZXJlIHBvc3NpYmxlIChldmVyeXdoZXJlKS4KLSAqLwotY2xhc3MgTGlua2VyQmxvY2tBbGxvY2F0b3IgeworI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3ByY3RsLmgiCisjaW5jbHVkZSAicHJpdmF0ZS9saWJjX2xvZ2dpbmcuaCIKKworY29uc3QgdWludDMyX3Qga1NtYWxsT2JqZWN0TWF4U2l6ZUxvZzIgPSAxMDsKK2NvbnN0IHVpbnQzMl90IGtTbWFsbE9iamVjdE1pblNpemVMb2cyID0gNDsKK2NvbnN0IHVpbnQzMl90IGtTbWFsbE9iamVjdEFsbG9jYXRvcnNDb3VudCA9IGtTbWFsbE9iamVjdE1heFNpemVMb2cyIC0ga1NtYWxsT2JqZWN0TWluU2l6ZUxvZzIgKyAxOworCitjbGFzcyBMaW5rZXJTbWFsbE9iamVjdEFsbG9jYXRvcjsKKworLy8gVGhpcyBzdHJ1Y3R1cmUgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBhZGRyZXNzYWJsZSBwYWdlCisvLyBhbmQgaGFzIGFsbCBpbmZvcm1hdGlvbiB3ZSBuZWVkIHRvIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgbWVtb3J5IGFsbG9jYXRvci4KK3N0cnVjdCBwYWdlX2luZm8geworICBjaGFyIHNpZ25hdHVyZVs0XTsKKyAgdWludDMyX3QgdHlwZTsKKyAgdW5pb24geworICAgIC8vIHdlIHVzZSBhbGxvY2F0ZWRfc2l6ZSBmb3IgbGFyZ2Ugb2JqZWN0cyBhbGxvY2F0b3IKKyAgICBzaXplX3QgYWxsb2NhdGVkX3NpemU7CisgICAgLy8gYW5kIGFsbG9jYXRvcl9hZGRyIGZvciBzbWFsbCBvbmVzLgorICAgIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yKiBhbGxvY2F0b3JfYWRkcjsKKyAgfTsKK307CisKK3N0cnVjdCBzbWFsbF9vYmplY3RfcGFnZV9yZWNvcmQgeworICB2b2lkKiBwYWdlX2FkZHI7CisgIHNpemVfdCBmcmVlX2Jsb2Nrc19jbnQ7CisgIHNpemVfdCBhbGxvY2F0ZWRfYmxvY2tzX2NudDsKK307CisKKy8vIGZvciBsb3dlcl9ib3VuZC4uLgorYm9vbCBvcGVyYXRvcjwoY29uc3Qgc21hbGxfb2JqZWN0X3BhZ2VfcmVjb3JkJiBvbmUsIGNvbnN0IHNtYWxsX29iamVjdF9wYWdlX3JlY29yZCYgdHdvKTsKKworc3RydWN0IHNtYWxsX29iamVjdF9ibG9ja19yZWNvcmQgeworICBzbWFsbF9vYmplY3RfYmxvY2tfcmVjb3JkKiBuZXh0OworICBzaXplX3QgZnJlZV9ibG9ja3NfY250OworfTsKKworLy8gVGhpcyBpcyBpbXBsZW1lbnRhdGlvbiBmb3Igc3RkOjp2ZWN0b3IgYWxsb2NhdG9yCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2NsYXNzIGxpbmtlcl92ZWN0b3JfYWxsb2NhdG9yIHsKICBwdWJsaWM6Ci0gIGV4cGxpY2l0IExpbmtlckJsb2NrQWxsb2NhdG9yKHNpemVfdCBibG9ja19zaXplKTsKKyAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7CisgIHR5cGVkZWYgVCogcG9pbnRlcjsKKyAgdHlwZWRlZiBjb25zdCBUKiBjb25zdF9wb2ludGVyOworICB0eXBlZGVmIFQmIHJlZmVyZW5jZTsKKyAgdHlwZWRlZiBjb25zdCBUJiBjb25zdF9yZWZlcmVuY2U7CisgIHR5cGVkZWYgc2l6ZV90IHNpemVfdHlwZTsKKyAgdHlwZWRlZiBwdHJkaWZmX3QgZGlmZmVyZW5jZV90eXBlOwogCisgIFQqIGFsbG9jYXRlKHNpemVfdCBuLCBjb25zdCBUKiBoaW50ID0gbnVsbHB0cikgeworICAgIHNpemVfdCBzaXplID0gbiAqIHNpemVvZihUKTsKKyAgICB2b2lkKiBwdHIgPSBtbWFwKGNvbnN0X2Nhc3Q8VCo+KGhpbnQpLCBzaXplLAorICAgICAgICBQUk9UX1JFQUR8UFJPVF9XUklURSwgTUFQX1BSSVZBVEV8TUFQX0FOT05ZTU9VUywgMCwgMCk7CisgICAgaWYgKHB0ciA9PSBNQVBfRkFJTEVEKSB7CisgICAgICAvLyBTcGVjIHNheXMgd2UgbmVlZCB0byB0aHJvdyBzdGQ6OmJhZF9hbGxvYyBoZXJlIGJ1dCBiZWNhdXNlIG91cgorICAgICAgLy8gY29kZSBkb2VzIG5vdCBzdXBwb3J0IGV4Y2VwdGlvbiBoYW5kbGluZyBhbnl3YXlzIC0gd2UgYXJlIGdvaW5nIHRvIGFib3J0LgorICAgICAgX19saWJjX2ZhdGFsKCJtbWFwIGZhaWxlZCIpOworICAgIH0KKworICAgIHByY3RsKFBSX1NFVF9WTUEsIFBSX1NFVF9WTUFfQU5PTl9OQU1FLCBwdHIsIHNpemUsICJsaW5rZXJfYWxsb2NfdmVjdG9yIik7CisKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4ocHRyKTsKKyAgfQorCisgIHZvaWQgZGVhbGxvY2F0ZShUKiBwdHIsIHNpemVfdCBuKSB7CisgICAgbXVubWFwKHB0ciwgbiAqIHNpemVvZihUKSk7CisgIH0KK307CisKK3R5cGVkZWYKKyAgICBzdGQ6OnZlY3RvcjxzbWFsbF9vYmplY3RfcGFnZV9yZWNvcmQsIGxpbmtlcl92ZWN0b3JfYWxsb2NhdG9yPHNtYWxsX29iamVjdF9wYWdlX3JlY29yZD4+CisgICAgbGlua2VyX3ZlY3Rvcl90OworCisKK2NsYXNzIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yIHsKKyBwdWJsaWM6CisgIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yKCk7CisgIHZvaWQgaW5pdCh1aW50MzJfdCB0eXBlLCBzaXplX3QgYmxvY2tfc2l6ZSwgY29uc3QgY2hhciogbmFtZSk7CiAgIHZvaWQqIGFsbG9jKCk7Ci0gIHZvaWQgZnJlZSh2b2lkKiBibG9jayk7Ci0gIHZvaWQgcHJvdGVjdF9hbGwoaW50IHByb3QpOworICB2b2lkIGZyZWUodm9pZCogcHRyKTsKIAorICBzaXplX3QgZ2V0X2Jsb2NrX3NpemUoKSBjb25zdCB7IHJldHVybiBibG9ja19zaXplXzsgfQogIHByaXZhdGU6Ci0gIHZvaWQgY3JlYXRlX25ld19wYWdlKCk7Ci0gIExpbmtlckFsbG9jYXRvclBhZ2UqIGZpbmRfcGFnZSh2b2lkKiBibG9jayk7CisgIHZvaWQgYWxsb2NfcGFnZSgpOworICB2b2lkIGZyZWVfcGFnZShsaW5rZXJfdmVjdG9yX3Q6Oml0ZXJhdG9yIHBhZ2VfcmVjb3JkKTsKKyAgbGlua2VyX3ZlY3Rvcl90OjppdGVyYXRvciBmaW5kX3BhZ2VfcmVjb3JkKHZvaWQqIHB0cik7CisgIHZvaWQgY3JlYXRlX3BhZ2VfcmVjb3JkKHZvaWQqIHBhZ2VfYWRkciwgc2l6ZV90IGZyZWVfYmxvY2tzX2NudCk7CiAKKyAgdWludDMyX3QgdHlwZV87CisgIGNvbnN0IGNoYXIqIG5hbWVfOwogICBzaXplX3QgYmxvY2tfc2l6ZV87Ci0gIExpbmtlckFsbG9jYXRvclBhZ2UqIHBhZ2VfbGlzdF87Ci0gIHZvaWQqIGZyZWVfYmxvY2tfbGlzdF87CiAKLSAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKExpbmtlckJsb2NrQWxsb2NhdG9yKTsKKyAgc2l6ZV90IGZyZWVfcGFnZXNfY250XzsKKyAgc21hbGxfb2JqZWN0X2Jsb2NrX3JlY29yZCogZnJlZV9ibG9ja3NfbGlzdF87CisKKyAgLy8gc29ydGVkIHZlY3RvciBvZiBwYWdlIHJlY29yZHMKKyAgbGlua2VyX3ZlY3Rvcl90IHBhZ2VfcmVjb3Jkc187CiB9OwogCi0vKgotICogV2UgY2FuJ3QgdXNlIG1hbGxvYygzKSBpbiB0aGUgZHluYW1pYyBsaW5rZXIuCi0gKgotICogQSBzaW1wbGUgYWxsb2NhdG9yIGZvciB0aGUgZHluYW1pYyBsaW5rZXIuIEFuIGFsbG9jYXRvciBhbGxvY2F0ZXMgaW5zdGFuY2VzCi0gKiBvZiBhIHNpbmdsZSBmaXhlZC1zaXplIHR5cGUuIEFsbG9jYXRpb25zIGFyZSBiYWNrZWQgYnkgcGFnZS1zaXplZCBwcml2YXRlCi0gKiBhbm9ueW1vdXMgbW1hcHMuCi0gKi8KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1jbGFzcyBMaW5rZXJBbGxvY2F0b3IgeworY2xhc3MgTGlua2VyTWVtb3J5QWxsb2NhdG9yIHsKICBwdWJsaWM6Ci0gIExpbmtlckFsbG9jYXRvcigpIDogYmxvY2tfYWxsb2NhdG9yXyhzaXplb2YoVCkpIHt9Ci0gIFQqIGFsbG9jKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oYmxvY2tfYWxsb2NhdG9yXy5hbGxvYygpKTsgfQotICB2b2lkIGZyZWUoVCogdCkgeyBibG9ja19hbGxvY2F0b3JfLmZyZWUodCk7IH0KLSAgdm9pZCBwcm90ZWN0X2FsbChpbnQgcHJvdCkgeyBibG9ja19hbGxvY2F0b3JfLnByb3RlY3RfYWxsKHByb3QpOyB9CisgIExpbmtlck1lbW9yeUFsbG9jYXRvcigpOworICB2b2lkKiBhbGxvYyhzaXplX3Qgc2l6ZSk7CisKKyAgLy8gTm90ZSB0aGF0IHRoaXMgaW1wbGVtZW50YXRpb24gb2YgcmVhbGxvYyBuZXZlciBzaHJpbmtzIGFsbG9jYXRpb24KKyAgdm9pZCogcmVhbGxvYyh2b2lkKiBwdHIsIHNpemVfdCBzaXplKTsKKyAgdm9pZCBmcmVlKHZvaWQqIHB0cik7CiAgcHJpdmF0ZToKLSAgTGlua2VyQmxvY2tBbGxvY2F0b3IgYmxvY2tfYWxsb2NhdG9yXzsKLSAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKExpbmtlckFsbG9jYXRvcik7CisgIHZvaWQqIGFsbG9jX21tYXAoc2l6ZV90IHNpemUpOworICBwYWdlX2luZm8qIGdldF9wYWdlX2luZm8odm9pZCogcHRyKTsKKyAgTGlua2VyU21hbGxPYmplY3RBbGxvY2F0b3IqIGdldF9zbWFsbF9vYmplY3RfYWxsb2NhdG9yKHVpbnQzMl90IHR5cGUpOworCisgIExpbmtlclNtYWxsT2JqZWN0QWxsb2NhdG9yIGFsbG9jYXRvcnNfW2tTbWFsbE9iamVjdEFsbG9jYXRvcnNDb3VudF07CiB9OwotI2VuZGlmIC8vIF9fTElOS0VSX0FMTE9DQVRPUl9ICisKKworI2VuZGlmICAvKiBfX0xJTktFUl9BTExPQ0FUT1JfSCAqLwpkaWZmIC0tZ2l0IGEvbGlua2VyL2xpbmtlcl9ibG9ja19hbGxvY2F0b3IuY3BwIGIvbGlua2VyL2xpbmtlcl9ibG9ja19hbGxvY2F0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjOWE3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvbGlua2VyX2Jsb2NrX2FsbG9jYXRvci5jcHAKQEAgLTAsMCArMSwxMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAibGlua2VyX2Jsb2NrX2FsbG9jYXRvci5oIgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX3ByY3RsLmgiCisKK3N0cnVjdCBMaW5rZXJCbG9ja0FsbG9jYXRvclBhZ2UgeworICBMaW5rZXJCbG9ja0FsbG9jYXRvclBhZ2UqIG5leHQ7CisgIHVpbnQ4X3QgYnl0ZXNbUEFHRV9TSVpFLXNpemVvZihMaW5rZXJCbG9ja0FsbG9jYXRvclBhZ2UqKV07Cit9OworCitzdHJ1Y3QgRnJlZUJsb2NrSW5mbyB7CisgIHZvaWQqIG5leHRfYmxvY2s7CisgIHNpemVfdCBudW1fZnJlZV9ibG9ja3M7Cit9OworCitMaW5rZXJCbG9ja0FsbG9jYXRvcjo6TGlua2VyQmxvY2tBbGxvY2F0b3Ioc2l6ZV90IGJsb2NrX3NpemUpCisgIDogYmxvY2tfc2l6ZV8oYmxvY2tfc2l6ZSA8IHNpemVvZihGcmVlQmxvY2tJbmZvKSA/IHNpemVvZihGcmVlQmxvY2tJbmZvKSA6IGJsb2NrX3NpemUpLAorICAgIHBhZ2VfbGlzdF8obnVsbHB0ciksCisgICAgZnJlZV9ibG9ja19saXN0XyhudWxscHRyKQore30KKwordm9pZCogTGlua2VyQmxvY2tBbGxvY2F0b3I6OmFsbG9jKCkgeworICBpZiAoZnJlZV9ibG9ja19saXN0XyA9PSBudWxscHRyKSB7CisgICAgY3JlYXRlX25ld19wYWdlKCk7CisgIH0KKworICBGcmVlQmxvY2tJbmZvKiBibG9ja19pbmZvID0gcmVpbnRlcnByZXRfY2FzdDxGcmVlQmxvY2tJbmZvKj4oZnJlZV9ibG9ja19saXN0Xyk7CisgIGlmIChibG9ja19pbmZvLT5udW1fZnJlZV9ibG9ja3MgPiAxKSB7CisgICAgRnJlZUJsb2NrSW5mbyogbmV4dF9ibG9ja19pbmZvID0gcmVpbnRlcnByZXRfY2FzdDxGcmVlQmxvY2tJbmZvKj4oCisgICAgICByZWludGVycHJldF9jYXN0PGNoYXIqPihmcmVlX2Jsb2NrX2xpc3RfKSArIGJsb2NrX3NpemVfKTsKKyAgICBuZXh0X2Jsb2NrX2luZm8tPm5leHRfYmxvY2sgPSBibG9ja19pbmZvLT5uZXh0X2Jsb2NrOworICAgIG5leHRfYmxvY2tfaW5mby0+bnVtX2ZyZWVfYmxvY2tzID0gYmxvY2tfaW5mby0+bnVtX2ZyZWVfYmxvY2tzIC0gMTsKKyAgICBmcmVlX2Jsb2NrX2xpc3RfID0gbmV4dF9ibG9ja19pbmZvOworICB9IGVsc2UgeworICAgIGZyZWVfYmxvY2tfbGlzdF8gPSBibG9ja19pbmZvLT5uZXh0X2Jsb2NrOworICB9CisKKyAgbWVtc2V0KGJsb2NrX2luZm8sIDAsIGJsb2NrX3NpemVfKTsKKworICByZXR1cm4gYmxvY2tfaW5mbzsKK30KKwordm9pZCBMaW5rZXJCbG9ja0FsbG9jYXRvcjo6ZnJlZSh2b2lkKiBibG9jaykgeworICBpZiAoYmxvY2sgPT0gbnVsbHB0cikgeworICAgIHJldHVybjsKKyAgfQorCisgIExpbmtlckJsb2NrQWxsb2NhdG9yUGFnZSogcGFnZSA9IGZpbmRfcGFnZShibG9jayk7CisKKyAgaWYgKHBhZ2UgPT0gbnVsbHB0cikgeworICAgIGFib3J0KCk7CisgIH0KKworICBzc2l6ZV90IG9mZnNldCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGJsb2NrKSAtIHBhZ2UtPmJ5dGVzOworCisgIGlmIChvZmZzZXQgJSBibG9ja19zaXplXyAhPSAwKSB7CisgICAgYWJvcnQoKTsKKyAgfQorCisgIG1lbXNldChibG9jaywgMCwgYmxvY2tfc2l6ZV8pOworCisgIEZyZWVCbG9ja0luZm8qIGJsb2NrX2luZm8gPSByZWludGVycHJldF9jYXN0PEZyZWVCbG9ja0luZm8qPihibG9jayk7CisKKyAgYmxvY2tfaW5mby0+bmV4dF9ibG9jayA9IGZyZWVfYmxvY2tfbGlzdF87CisgIGJsb2NrX2luZm8tPm51bV9mcmVlX2Jsb2NrcyA9IDE7CisKKyAgZnJlZV9ibG9ja19saXN0XyA9IGJsb2NrX2luZm87Cit9CisKK3ZvaWQgTGlua2VyQmxvY2tBbGxvY2F0b3I6OnByb3RlY3RfYWxsKGludCBwcm90KSB7CisgIGZvciAoTGlua2VyQmxvY2tBbGxvY2F0b3JQYWdlKiBwYWdlID0gcGFnZV9saXN0XzsgcGFnZSAhPSBudWxscHRyOyBwYWdlID0gcGFnZS0+bmV4dCkgeworICAgIGlmIChtcHJvdGVjdChwYWdlLCBQQUdFX1NJWkUsIHByb3QpID09IC0xKSB7CisgICAgICBhYm9ydCgpOworICAgIH0KKyAgfQorfQorCit2b2lkIExpbmtlckJsb2NrQWxsb2NhdG9yOjpjcmVhdGVfbmV3X3BhZ2UoKSB7CisgIExpbmtlckJsb2NrQWxsb2NhdG9yUGFnZSogcGFnZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8TGlua2VyQmxvY2tBbGxvY2F0b3JQYWdlKj4oCisgICAgICBtbWFwKG51bGxwdHIsIFBBR0VfU0laRSwgUFJPVF9SRUFEfFBST1RfV1JJVEUsIE1BUF9QUklWQVRFfE1BUF9BTk9OWU1PVVMsIDAsIDApKTsKKworICBpZiAocGFnZSA9PSBNQVBfRkFJTEVEKSB7CisgICAgYWJvcnQoKTsgLy8gb29tCisgIH0KKworICBwcmN0bChQUl9TRVRfVk1BLCBQUl9TRVRfVk1BX0FOT05fTkFNRSwgcGFnZSwgUEFHRV9TSVpFLCAibGlua2VyX2FsbG9jIik7CisKKyAgbWVtc2V0KHBhZ2UsIDAsIFBBR0VfU0laRSk7CisKKyAgRnJlZUJsb2NrSW5mbyogZmlyc3RfYmxvY2sgPSByZWludGVycHJldF9jYXN0PEZyZWVCbG9ja0luZm8qPihwYWdlLT5ieXRlcyk7CisgIGZpcnN0X2Jsb2NrLT5uZXh0X2Jsb2NrID0gZnJlZV9ibG9ja19saXN0XzsKKyAgZmlyc3RfYmxvY2stPm51bV9mcmVlX2Jsb2NrcyA9IChQQUdFX1NJWkUgLSBzaXplb2YoTGlua2VyQmxvY2tBbGxvY2F0b3JQYWdlKikpL2Jsb2NrX3NpemVfOworCisgIGZyZWVfYmxvY2tfbGlzdF8gPSBmaXJzdF9ibG9jazsKKworICBwYWdlLT5uZXh0ID0gcGFnZV9saXN0XzsKKyAgcGFnZV9saXN0XyA9IHBhZ2U7Cit9CisKK0xpbmtlckJsb2NrQWxsb2NhdG9yUGFnZSogTGlua2VyQmxvY2tBbGxvY2F0b3I6OmZpbmRfcGFnZSh2b2lkKiBibG9jaykgeworICBpZiAoYmxvY2sgPT0gbnVsbHB0cikgeworICAgIGFib3J0KCk7CisgIH0KKworICBMaW5rZXJCbG9ja0FsbG9jYXRvclBhZ2UqIHBhZ2UgPSBwYWdlX2xpc3RfOworICB3aGlsZSAocGFnZSAhPSBudWxscHRyKSB7CisgICAgY29uc3QgdWludDhfdCogcGFnZV9wdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihwYWdlKTsKKyAgICBpZiAoYmxvY2sgPj0gKHBhZ2VfcHRyICsgc2l6ZW9mKHBhZ2UtPm5leHQpKSAmJiBibG9jayA8IChwYWdlX3B0ciArIFBBR0VfU0laRSkpIHsKKyAgICAgIHJldHVybiBwYWdlOworICAgIH0KKworICAgIHBhZ2UgPSBwYWdlLT5uZXh0OworICB9CisKKyAgYWJvcnQoKTsKK30KZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXJfYmxvY2tfYWxsb2NhdG9yLmggYi9saW5rZXIvbGlua2VyX2Jsb2NrX2FsbG9jYXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOWI5OTUKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvbGlua2VyX2Jsb2NrX2FsbG9jYXRvci5oCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIF9fTElOS0VSX0JMT0NLX0FMTE9DQVRPUl9ICisjZGVmaW5lIF9fTElOS0VSX0JMT0NLX0FMTE9DQVRPUl9ICisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19tYWNyb3MuaCIKKworc3RydWN0IExpbmtlckJsb2NrQWxsb2NhdG9yUGFnZTsKKworLyoKKyAqIFRoaXMgY2xhc3MgaXMgYSBub24tdGVtcGxhdGUgdmVyc2lvbiBvZiB0aGUgTGlua2VyVHlwZUFsbG9jYXRvcgorICogSXQga2VlcHMgY29kZSBpbnNpZGUgLmNwcCBmaWxlIGJ5IGtlZXBpbmcgdGhlIGludGVyZmFjZQorICogdGVtcGxhdGUtZnJlZS4KKyAqCisgKiBQbGVhc2UgdXNlIExpbmtlclR5cGVBbGxvY2F0b3I8dHlwZT4gd2hlcmUgcG9zc2libGUgKGV2ZXJ5d2hlcmUpLgorICovCitjbGFzcyBMaW5rZXJCbG9ja0FsbG9jYXRvciB7CisgcHVibGljOgorICBleHBsaWNpdCBMaW5rZXJCbG9ja0FsbG9jYXRvcihzaXplX3QgYmxvY2tfc2l6ZSk7CisKKyAgdm9pZCogYWxsb2MoKTsKKyAgdm9pZCBmcmVlKHZvaWQqIGJsb2NrKTsKKyAgdm9pZCBwcm90ZWN0X2FsbChpbnQgcHJvdCk7CisKKyBwcml2YXRlOgorICB2b2lkIGNyZWF0ZV9uZXdfcGFnZSgpOworICBMaW5rZXJCbG9ja0FsbG9jYXRvclBhZ2UqIGZpbmRfcGFnZSh2b2lkKiBibG9jayk7CisKKyAgc2l6ZV90IGJsb2NrX3NpemVfOworICBMaW5rZXJCbG9ja0FsbG9jYXRvclBhZ2UqIHBhZ2VfbGlzdF87CisgIHZvaWQqIGZyZWVfYmxvY2tfbGlzdF87CisKKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKExpbmtlckJsb2NrQWxsb2NhdG9yKTsKK307CisKKy8qCisgKiBBIHNpbXBsZSBhbGxvY2F0b3IgZm9yIHRoZSBkeW5hbWljIGxpbmtlci4gQW4gYWxsb2NhdG9yIGFsbG9jYXRlcyBpbnN0YW5jZXMKKyAqIG9mIGEgc2luZ2xlIGZpeGVkLXNpemUgdHlwZS4gQWxsb2NhdGlvbnMgYXJlIGJhY2tlZCBieSBwYWdlLXNpemVkIHByaXZhdGUKKyAqIGFub255bW91cyBtbWFwcy4KKyAqCisgKiBUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGlzIGFsbG9jYXRvciBhbmQgTGlua2VyTWVtb3J5QWxsb2NhdG9yIGFyZToKKyAqIDEuIFRoaXMgYWxsb2NhdG9yIG1hbmFnZXMgc3BhY2UgbW9yZSBlZmZpY2llbnRseS4gTGlua2VyTWVtb3J5QWxsb2NhdG9yCisgKiAgICBvcGVyYXRlcyBpbiBwb3dlci1vZi10d28gc2l6ZWQgYmxvY2tzIHVwIHRvIDFrLCB3aGVuIHRoaXMgaW1wbGVtZW50YXRpb24KKyAqICAgIHNwbGl0cyB0aGUgcGFnZSB0byBhbGlnbmVkIHNpemUgb2Ygc3RydWN0dXJlOyBGb3IgZXhhbXBsZSBmb3Igc3RydWN0dXJlcworICogICAgd2l0aCBzaXplIDUxMyB0aGlzIGFsbG9jYXRvciB3aWxsIHVzZSA1MTYgKDUyMCBmb3IgbHA2NCkgYnl0ZXMgb2YgZGF0YQorICogICAgd2hlcmUgZ2VuZXJhbGl6ZWQgaW1wbGVtZW50YXRpb24gaXMgZ29pbmcgdG8gdXNlIDEwMjQgc2l6ZWQgYmxvY2tzLgorICoKKyAqIDIuIFRoaXMgYWxsb2NhdG9yIGRvZXMgbm90IG11bm1hcCBhbGxvY2F0ZWQgbWVtb3J5LCB3aGVyZSBMaW5rZXJNZW1vcnlBbGxvY2F0b3IgZG9lcy4KKyAqCisgKiAzLiBUaGlzIGFsbG9jYXRvciBwcm92aWRlcyBtcHJvdGVjdCBzZXJ2aWNlcyB0byB0aGUgdXNlciwgd2hlcmUgTGlua2VyTWVtb3J5QWxsb2NhdG9yCisgKiAgICBhbHdheXMgdHJlYXRzIGl0J3MgbWVtb3J5IGFzIFJFQUR8V1JJVEUuCisgKi8KK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitjbGFzcyBMaW5rZXJUeXBlQWxsb2NhdG9yIHsKKyBwdWJsaWM6CisgIExpbmtlclR5cGVBbGxvY2F0b3IoKSA6IGJsb2NrX2FsbG9jYXRvcl8oc2l6ZW9mKFQpKSB7fQorICBUKiBhbGxvYygpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KGJsb2NrX2FsbG9jYXRvcl8uYWxsb2MoKSk7IH0KKyAgdm9pZCBmcmVlKFQqIHQpIHsgYmxvY2tfYWxsb2NhdG9yXy5mcmVlKHQpOyB9CisgIHZvaWQgcHJvdGVjdF9hbGwoaW50IHByb3QpIHsgYmxvY2tfYWxsb2NhdG9yXy5wcm90ZWN0X2FsbChwcm90KTsgfQorIHByaXZhdGU6CisgIExpbmtlckJsb2NrQWxsb2NhdG9yIGJsb2NrX2FsbG9jYXRvcl87CisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihMaW5rZXJUeXBlQWxsb2NhdG9yKTsKK307CisKKyNlbmRpZiAvLyBfX0xJTktFUl9CTE9DS19BTExPQ0FUT1JfSApkaWZmIC0tZ2l0IGEvbGlua2VyL2xpbmtlcl9kZWJ1Zy5oIGIvbGlua2VyL2xpbmtlcl9kZWJ1Zy5oCmluZGV4IDBjN2E3ODQuLjVkZWQ1YWIgMTAwNjQ0Ci0tLSBhL2xpbmtlci9saW5rZXJfZGVidWcuaAorKysgYi9saW5rZXIvbGlua2VyX2RlYnVnLmgKQEAgLTgyLDQgKzgyLDIzIEBACiAKICNkZWZpbmUgVFJBQ0VfVFlQRSh0LCB4Li4uKSAgIGRvIHsgaWYgKERPX1RSQUNFXyMjdCkgeyBUUkFDRSh4KTsgfSB9IHdoaWxlICgwKQogCisjaWYgQ09VTlRfUEFHRVMKK2V4dGVybiB1aW50MzJfdCBiaXRtYXNrW107CisjaWYgZGVmaW5lZChfX0xQNjRfXykKKyNkZWZpbmUgTUFSSyhvZmZzZXQpIFwKKyAgICBkbyB7IFwKKyAgICAgIGlmICgoKChvZmZzZXQpID4+IDEyKSA+PiA1KSA8IDQwOTYpIFwKKyAgICAgICAgICBiaXRtYXNrWygob2Zmc2V0KSA+PiAxMikgPj4gNV0gfD0gKDEgPDwgKCgob2Zmc2V0KSA+PiAxMikgJiAzMSkpOyBcCisgICAgfSB3aGlsZSAoMCkKKyNlbHNlCisjZGVmaW5lIE1BUksob2Zmc2V0KSBcCisgICAgZG8geyBcCisgICAgICBiaXRtYXNrWygob2Zmc2V0KSA+PiAxMikgPj4gM10gfD0gKDEgPDwgKCgob2Zmc2V0KSA+PiAxMikgJiA3KSk7IFwKKyAgICB9IHdoaWxlICgwKQorI2VuZGlmCisjZWxzZQorI2RlZmluZSBNQVJLKHgpIGRvIHt9IHdoaWxlICgwKQorCisjZW5kaWYKKwogI2VuZGlmIC8qIF9MSU5LRVJfREVCVUdfSF8gKi8KZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXJfZW52aXJvbi5jcHAgYi9saW5rZXIvbGlua2VyX2Vudmlyb24uY3BwCmluZGV4IGRhZWU1NmYuLjlhMGYwMDkgMTAwNjQ0Ci0tLSBhL2xpbmtlci9saW5rZXJfZW52aXJvbi5jcHAKKysrIGIvbGlua2VyL2xpbmtlcl9lbnZpcm9uLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2F1eHZlYy5oPgogI2luY2x1ZGUgPHN0ZGRlZi5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAjaW5jbHVkZSAicHJpdmF0ZS9LZXJuZWxBcmd1bWVudEJsb2NrLmgiCkBAIC0xMTQsNiArMTE1LDcgQEAKICAgICAgICJHQ09OVl9QQVRIIiwKICAgICAgICJHRVRDT05GX0RJUiIsCiAgICAgICAiSE9TVEFMSUFTRVMiLAorICAgICAgIkpFX01BTExPQ19DT05GIiwKICAgICAgICJMRF9BT1VUX0xJQlJBUllfUEFUSCIsCiAgICAgICAiTERfQU9VVF9QUkVMT0FEIiwKICAgICAgICJMRF9BVURJVCIsCkBAIC0xMjksNiArMTMxLDcgQEAKICAgICAgICJMT0NBTERPTUFJTiIsCiAgICAgICAiTE9DUEFUSCIsCiAgICAgICAiTUFMTE9DX0NIRUNLXyIsCisgICAgICAiTUFMTE9DX0NPTkYiLAogICAgICAgIk1BTExPQ19UUkFDRSIsCiAgICAgICAiTklTX1BBVEgiLAogICAgICAgIk5MU1BBVEgiLApkaWZmIC0tZ2l0IGEvbGlua2VyL2xpbmtlcl9leGVjdXRhYmxlLm1rIGIvbGlua2VyL2xpbmtlcl9leGVjdXRhYmxlLm1rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTk2YTQ4Li4wMDAwMDAwCi0tLSBhL2xpbmtlci9saW5rZXJfZXhlY3V0YWJsZS5taworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLQotIwotIyBJbnN0ZWFkIG9mIGluY2x1ZGluZyAkKEJVSUxEX0VYRUNVVEFCTEUpLCB3ZSBleGVjdXRlIHRoZSBzdGVwcyB0byBjcmVhdGUgYW4gZXhlY3V0YWJsZSBieQotIyBoYW5kLCBhcyB3ZSB3YW50IHRvIGluc2VydCBhbiBleHRyYSBvYmpjb3B5IHN0ZXAgdGhhdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBidWlsZAotIyBzeXN0ZW0sIGFuZCBpcyBwcm9iYWJseSBzcGVjaWZpYyB0aGUgbGlua2VyIG9ubHksIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBtb2RpZnkgdGhlIGJ1aWxkCi0jIHN5c3RlbSBmb3IgdGhlIHB1cnBvc2UuCi0jCi0KLUxPQ0FMX01PRFVMRV9DTEFTUyA6PSBFWEVDVVRBQkxFUwotTE9DQUxfTU9EVUxFX1NVRkZJWCA6PSAkKFRBUkdFVF9FWEVDVVRBQkxFX1NVRkZJWCkKLQotIyBDbGFuZyBjYWxscyAvdXNyL2Jpbi9sZDogdW5yZWNvZ25pemVkIG9wdGlvbiAnLS1pY2Y9c2FmZScsIGh0dHA6Ly9iLzE3NDAzNjc0LgotTE9DQUxfQ0xBTkcgOj0gZmFsc2UKLWluY2x1ZGUgJChCVUlMRF9TWVNURU0pL2R5bmFtaWNfYmluYXJ5Lm1rCi0KLSMgU2VlIGJ1aWxkL2NvcmUvZXhlY3V0YWJsZV9pbnRlcm5hbC5tawotJChsaW5rZWRfbW9kdWxlKTogUFJJVkFURV9UQVJHRVRfR0xPQkFMX0xEX0RJUlMgOj0gJCgkKExPQ0FMXzJORF9BUkNIX1ZBUl9QUkVGSVgpVEFSR0VUX0dMT0JBTF9MRF9ESVJTKQotJChsaW5rZWRfbW9kdWxlKTogUFJJVkFURV9UQVJHRVRfR0xPQkFMX0xERkxBR1MgOj0gJCgkKExPQ0FMXzJORF9BUkNIX1ZBUl9QUkVGSVgpVEFSR0VUX0dMT0JBTF9MREZMQUdTKQotJChsaW5rZWRfbW9kdWxlKTogUFJJVkFURV9UQVJHRVRfRkRPX0xJQiA6PSAkKCQoTE9DQUxfMk5EX0FSQ0hfVkFSX1BSRUZJWClUQVJHRVRfRkRPX0xJQikKLSQobGlua2VkX21vZHVsZSk6IFBSSVZBVEVfVEFSR0VUX0xJQkdDQyA6PSAkKCQoTE9DQUxfMk5EX0FSQ0hfVkFSX1BSRUZJWClUQVJHRVRfTElCR0NDKQotJChsaW5rZWRfbW9kdWxlKTogUFJJVkFURV9UQVJHRVRfQ1JUQkVHSU5fRFlOQU1JQ19PIDo9ICQoJChMT0NBTF8yTkRfQVJDSF9WQVJfUFJFRklYKVRBUkdFVF9DUlRCRUdJTl9EWU5BTUlDX08pCi0kKGxpbmtlZF9tb2R1bGUpOiBQUklWQVRFX1RBUkdFVF9DUlRCRUdJTl9TVEFUSUNfTyA6PSAkKCQoTE9DQUxfMk5EX0FSQ0hfVkFSX1BSRUZJWClUQVJHRVRfQ1JUQkVHSU5fU1RBVElDX08pCi0kKGxpbmtlZF9tb2R1bGUpOiBQUklWQVRFX1RBUkdFVF9DUlRFTkRfTyA6PSAkKCQoTE9DQUxfMk5EX0FSQ0hfVkFSX1BSRUZJWClUQVJHRVRfQ1JURU5EX08pCi0kKGxpbmtlZF9tb2R1bGUpOiBQUklWQVRFX1RBUkdFVF9PQkpDT1BZIDo9ICQoJChMT0NBTF8yTkRfQVJDSF9WQVJfUFJFRklYKVRBUkdFVF9PQkpDT1BZKQotJChsaW5rZWRfbW9kdWxlKTogJChUQVJHRVRfQ1JUQkVHSU5fU1RBVElDX08pICQoYWxsX29iamVjdHMpICQoYWxsX2xpYnJhcmllcykgJCgkKExPQ0FMXzJORF9BUkNIX1ZBUl9QUkVGSVgpVEFSR0VUX0NSVEVORF9PKQotCSQodHJhbnNmb3JtLW8tdG8tc3RhdGljLWV4ZWN1dGFibGUpCi0JQGVjaG8gInRhcmdldCBQcmVmaXhTeW1ib2xzOiAkKFBSSVZBVEVfTU9EVUxFKSAoJEApIgotCSQoaGlkZSkgJChQUklWQVRFX1RBUkdFVF9PQkpDT1BZKSAtLXByZWZpeC1zeW1ib2xzPV9fZGxfICRACmRpZmYgLS1naXQgYS9saW5rZXIvbGlua2VyX2xpYmNfc3VwcG9ydC5jIGIvbGlua2VyL2xpbmtlcl9saWJjX3N1cHBvcnQuYwppbmRleCAxN2RiNmQ0Li40YzQ5Mzg0IDEwMDY0NAotLS0gYS9saW5rZXIvbGlua2VyX2xpYmNfc3VwcG9ydC5jCisrKyBiL2xpbmtlci9saW5rZXJfbGliY19zdXBwb3J0LmMKQEAgLTE1LDMgKzE1LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiLi4vbGliYy9hcmNoLWNvbW1vbi9iaW9uaWMvX19kc29faGFuZGxlLmgiCisKK2ludCBhdGV4aXQodm9pZCAoKmZ1bmN0aW9uKSh2b2lkKSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpIHsKKyAgcmV0dXJuIC0xOworfQpkaWZmIC0tZ2l0IGEvbGlua2VyL2xpbmtlcl9tZW1vcnkuY3BwIGIvbGlua2VyL2xpbmtlcl9tZW1vcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4OTJkMDIKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvbGlua2VyX21lbW9yeS5jcHAKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlICJsaW5rZXJfYWxsb2NhdG9yLmgiCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworc3RhdGljIExpbmtlck1lbW9yeUFsbG9jYXRvciBnX2xpbmtlcl9hbGxvY2F0b3I7CisKK3ZvaWQqIG1hbGxvYyhzaXplX3QgYnl0ZV9jb3VudCkgeworICByZXR1cm4gZ19saW5rZXJfYWxsb2NhdG9yLmFsbG9jKGJ5dGVfY291bnQpOworfQorCit2b2lkKiBjYWxsb2Moc2l6ZV90IGl0ZW1fY291bnQsIHNpemVfdCBpdGVtX3NpemUpIHsKKyAgcmV0dXJuIGdfbGlua2VyX2FsbG9jYXRvci5hbGxvYyhpdGVtX2NvdW50Kml0ZW1fc2l6ZSk7Cit9CisKK3ZvaWQqIHJlYWxsb2Modm9pZCogcCwgc2l6ZV90IGJ5dGVfY291bnQpIHsKKyAgcmV0dXJuIGdfbGlua2VyX2FsbG9jYXRvci5yZWFsbG9jKHAsIGJ5dGVfY291bnQpOworfQorCit2b2lkIGZyZWUodm9pZCogcHRyKSB7CisgIGdfbGlua2VyX2FsbG9jYXRvci5mcmVlKHB0cik7Cit9CisKZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXJfbWlwcy5jcHAgYi9saW5rZXIvbGlua2VyX21pcHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NjlmODIKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvbGlua2VyX21pcHMuY3BwCkBAIC0wLDAgKzEsMTk0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJsaW5rZXIuaCIKKyNpbmNsdWRlICJsaW5rZXJfZGVidWcuaCIKKyNpbmNsdWRlICJsaW5rZXJfcmVsb2NzLmgiCisjaW5jbHVkZSAibGlua2VyX3JlbG9jX2l0ZXJhdG9ycy5oIgorI2luY2x1ZGUgImxpbmtlcl9zbGViMTI4LmgiCisKK3RlbXBsYXRlIGJvb2wgc29pbmZvOjpyZWxvY2F0ZTxwbGFpbl9yZWxvY19pdGVyYXRvcj4ocGxhaW5fcmVsb2NfaXRlcmF0b3ImJiByZWxfaXRlcmF0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvaW5mb19saXN0X3QmIGdsb2JhbF9ncm91cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc29pbmZvX2xpc3RfdCYgbG9jYWxfZ3JvdXApOworCit0ZW1wbGF0ZSBib29sIHNvaW5mbzo6cmVsb2NhdGU8cGFja2VkX3JlbG9jX2l0ZXJhdG9yPHNsZWIxMjhfZGVjb2Rlcj4+KAorICAgIHBhY2tlZF9yZWxvY19pdGVyYXRvcjxzbGViMTI4X2RlY29kZXI+JiYgcmVsX2l0ZXJhdG9yLAorICAgIGNvbnN0IHNvaW5mb19saXN0X3QmIGdsb2JhbF9ncm91cCwKKyAgICBjb25zdCBzb2luZm9fbGlzdF90JiBsb2NhbF9ncm91cCk7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBFbGZSZWxJdGVyYXRvclQ+Citib29sIHNvaW5mbzo6cmVsb2NhdGUoRWxmUmVsSXRlcmF0b3JUJiYgcmVsX2l0ZXJhdG9yLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvaW5mb19saXN0X3QmIGdsb2JhbF9ncm91cCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb2luZm9fbGlzdF90JiBsb2NhbF9ncm91cCkgeworICBWZXJzaW9uVHJhY2tlciB2ZXJzaW9uX3RyYWNrZXI7CisKKyAgaWYgKCF2ZXJzaW9uX3RyYWNrZXIuaW5pdCh0aGlzKSkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIGZvciAoc2l6ZV90IGlkeCA9IDA7IHJlbF9pdGVyYXRvci5oYXNfbmV4dCgpOyArK2lkeCkgeworICAgIGNvbnN0IGF1dG8gcmVsID0gcmVsX2l0ZXJhdG9yLm5leHQoKTsKKworICAgIGlmIChyZWwgPT0gbnVsbHB0cikgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIEVsZlcoV29yZCkgdHlwZSA9IEVMRlcoUl9UWVBFKShyZWwtPnJfaW5mbyk7CisgICAgRWxmVyhXb3JkKSBzeW0gPSBFTEZXKFJfU1lNKShyZWwtPnJfaW5mbyk7CisKKyAgICBFbGZXKEFkZHIpIHJlbG9jID0gc3RhdGljX2Nhc3Q8RWxmVyhBZGRyKT4ocmVsLT5yX29mZnNldCArIGxvYWRfYmlhcyk7CisgICAgRWxmVyhBZGRyKSBzeW1fYWRkciA9IDA7CisgICAgY29uc3QgY2hhciogc3ltX25hbWUgPSBudWxscHRyOworCisgICAgREVCVUcoIlByb2Nlc3NpbmcgJyVzJyByZWxvY2F0aW9uIGF0IGluZGV4ICV6ZCIsIGdldF9zb25hbWUoKSwgaWR4KTsKKyAgICBpZiAodHlwZSA9PSBSX0dFTkVSSUNfTk9ORSkgeworICAgICAgY29udGludWU7CisgICAgfQorCisgICAgY29uc3QgRWxmVyhTeW0pKiBzID0gbnVsbHB0cjsKKyAgICBzb2luZm8qIGxzaSA9IG51bGxwdHI7CisKKyAgICBpZiAoc3ltICE9IDApIHsKKyAgICAgIHN5bV9uYW1lID0gZ2V0X3N0cmluZyhzeW10YWJfW3N5bV0uc3RfbmFtZSk7CisgICAgICBjb25zdCBFbGZXKFZlcnN5bSkqIHN5bV92ZXJfcHRyID0gZ2V0X3ZlcnN5bShzeW0pOworICAgICAgRWxmVyhWZXJzeW0pIHN5bV92ZXIgPSBzeW1fdmVyX3B0ciA9PSBudWxscHRyID8gMCA6ICpzeW1fdmVyX3B0cjsKKworICAgICAgaWYgKHN5bV92ZXIgPT0gVkVSX05EWF9MT0NBTCB8fCBzeW1fdmVyID09IFZFUl9ORFhfR0xPQkFMKSB7CisgICAgICAgIC8vIHRoZXJlIGlzIG5vIHZlcnNpb24gaW5mbyBmb3IgdGhpcyBvbmUKKyAgICAgICAgaWYgKCFzb2luZm9fZG9fbG9va3VwKHRoaXMsIHN5bV9uYW1lLCBudWxscHRyLCAmbHNpLCBnbG9iYWxfZ3JvdXAsIGxvY2FsX2dyb3VwLCAmcykpIHsKKyAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGNvbnN0IHZlcnNpb25faW5mbyogdmkgPSB2ZXJzaW9uX3RyYWNrZXIuZ2V0X3ZlcnNpb25faW5mbyhzeW1fdmVyKTsKKworICAgICAgICBpZiAodmkgPT0gbnVsbHB0cikgeworICAgICAgICAgIERMX0VSUigiY2Fubm90IGZpbmQgdmVybmVlZC92ZXJkZWYgZm9yIHZlcnNpb24gaW5kZXg9JWQgIgorICAgICAgICAgICAgICAicmVmZXJlbmNlZCBieSBzeW1ib2wgXCIlc1wiIGF0IFwiJXNcIiIsIHN5bV92ZXIsIHN5bV9uYW1lLCBnZXRfc29uYW1lKCkpOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghc29pbmZvX2RvX2xvb2t1cCh0aGlzLCBzeW1fbmFtZSwgdmksICZsc2ksIGdsb2JhbF9ncm91cCwgbG9jYWxfZ3JvdXAsICZzKSkgeworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBpZiAocyA9PSBudWxscHRyKSB7CisgICAgICAgIC8vIG1pcHMgZG9lcyBub3Qgc3VwcG9ydCByZWxvY2F0aW9uIHdpdGggd2Vhay11bmRlZmluZWQgc3ltYm9scworICAgICAgICBETF9FUlIoImNhbm5vdCBsb2NhdGUgc3ltYm9sIFwiJXNcIiByZWZlcmVuY2VkIGJ5IFwiJXNcIi4uLiIsIHN5bV9uYW1lLCBnZXRfc29uYW1lKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyBXZSBnb3QgYSBkZWZpbml0aW9uLgorICAgICAgICBzeW1fYWRkciA9IGxzaS0+cmVzb2x2ZV9zeW1ib2xfYWRkcmVzcyhzKTsKKyAgICAgIH0KKyAgICAgIGNvdW50X3JlbG9jYXRpb24oa1JlbG9jU3ltYm9sKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgIGNhc2UgUl9NSVBTX1JFTDMyOgorI2lmIGRlZmluZWQoX19MUDY0X18pCisgICAgICAgIC8vIE1JUFMgRWxmNjRfUmVsIGVudHJpZXMgY29udGFpbiBjb21wb3VuZCByZWxvY2F0aW9ucworICAgICAgICAvLyBXZSBvbmx5IGhhbmRsZSB0aGUgUl9NSVBTX05PTkV8Ul9NSVBTXzY0fFJfTUlQU19SRUwzMiBjYXNlCisgICAgICAgIGlmIChFTEY2NF9SX1RZUEUyKHJlbC0+cl9pbmZvKSAhPSBSX01JUFNfNjQgfHwKKyAgICAgICAgICAgIEVMRjY0X1JfVFlQRTMocmVsLT5yX2luZm8pICE9IFJfTUlQU19OT05FKSB7CisgICAgICAgICAgRExfRVJSKCJVbmV4cGVjdGVkIGNvbXBvdW5kIHJlbG9jYXRpb24gdHlwZTolZCB0eXBlMjolZCB0eXBlMzolZCBAICVwICglenUpIiwKKyAgICAgICAgICAgICAgICAgdHlwZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEVMRjY0X1JfVFlQRTIocmVsLT5yX2luZm8pKSwKKyAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEVMRjY0X1JfVFlQRTMocmVsLT5yX2luZm8pKSwgcmVsLCBpZHgpOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIGNvdW50X3JlbG9jYXRpb24ocyA9PSBudWxscHRyID8ga1JlbG9jQWJzb2x1dGUgOiBrUmVsb2NSZWxhdGl2ZSk7CisgICAgICAgIE1BUksocmVsLT5yX29mZnNldCk7CisgICAgICAgIFRSQUNFX1RZUEUoUkVMTywgIlJFTE8gUkVMMzIgJTA4enggPC0gJTA4enggJXMiLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHJlbG9jKSwKKyAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzaXplX3Q+KHN5bV9hZGRyKSwgc3ltX25hbWUgPyBzeW1fbmFtZSA6ICIqU0VDVElPTkhEUioiKTsKKyAgICAgICAgaWYgKHMgIT0gbnVsbHB0cikgeworICAgICAgICAgICpyZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihyZWxvYykgKz0gc3ltX2FkZHI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlbG9jKSArPSBiYXNlOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDoKKyAgICAgICAgRExfRVJSKCJ1bmtub3duIHJlbG9jIHR5cGUgJWQgQCAlcCAoJXp1KSIsIHR5cGUsIHJlbCwgaWR4KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBzb2luZm86Om1pcHNfcmVsb2NhdGVfZ290KGNvbnN0IHNvaW5mb19saXN0X3QmIGdsb2JhbF9ncm91cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb2luZm9fbGlzdF90JiBsb2NhbF9ncm91cCkgeworICBFbGZXKEFkZHIpKiogZ290ID0gcGx0X2dvdF87CisgIGlmIChnb3QgPT0gbnVsbHB0cikgeworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgLy8gZ290WzBdIGlzIHRoZSBhZGRyZXNzIG9mIHRoZSBsYXp5IHJlc29sdmVyIGZ1bmN0aW9uLgorICAvLyBnb3RbMV0gbWF5IGJlIHVzZWQgZm9yIGEgR05VIGV4dGVuc2lvbi4KKyAgLy8gU2V0IGl0IHRvIGEgcmVjb2duaXphYmxlIGFkZHJlc3MgaW4gY2FzZSBzb21lb25lIGNhbGxzIGl0IChzaG91bGQgYmUgX3J0bGRfYmluZF9zdGFydCkuCisgIC8vIEZJWE1FOiBtYXliZSB0aGlzIHNob3VsZCBiZSBpbiBhIHNlcGFyYXRlIHJvdXRpbmU/CisgIGlmICgoZmxhZ3NfICYgRkxBR19MSU5LRVIpID09IDApIHsKKyAgICBzaXplX3QgZyA9IDA7CisgICAgZ290W2crK10gPSByZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPigweGRlYWRiZWVmKTsKKyAgICBpZiAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZ290W2ddKSA8IDApIHsKKyAgICAgIGdvdFtnKytdID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpKj4oMHhkZWFkZmVlZCk7CisgICAgfQorICAgIC8vIFJlbG9jYXRlIHRoZSBsb2NhbCBHT1QgZW50cmllcy4KKyAgICBmb3IgKDsgZyA8IG1pcHNfbG9jYWxfZ290bm9fOyBnKyspIHsKKyAgICAgIGdvdFtnXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RWxmVyhBZGRyKSo+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihnb3RbZ10pICsgbG9hZF9iaWFzKTsKKyAgICB9CisgIH0KKworICAvLyBOb3cgZm9yIHRoZSBnbG9iYWwgR09UIGVudHJpZXMuLi4KKyAgRWxmVyhTeW0pKiBzeW0gPSBzeW10YWJfICsgbWlwc19nb3RzeW1fOworICBnb3QgPSBwbHRfZ290XyArIG1pcHNfbG9jYWxfZ290bm9fOworICBmb3IgKHNpemVfdCBnID0gbWlwc19nb3RzeW1fOyBnIDwgbWlwc19zeW10YWJub187IGcrKywgc3ltKyssIGdvdCsrKSB7CisgICAgLy8gVGhpcyBpcyBhbiB1bmRlZmluZWQgcmVmZXJlbmNlLi4uIHRyeSB0byBsb2NhdGUgaXQuCisgICAgY29uc3QgY2hhciogc3ltX25hbWUgPSBnZXRfc3RyaW5nKHN5bS0+c3RfbmFtZSk7CisgICAgc29pbmZvKiBsc2kgPSBudWxscHRyOworICAgIGNvbnN0IEVsZlcoU3ltKSogcyA9IG51bGxwdHI7CisgICAgaWYgKCFzb2luZm9fZG9fbG9va3VwKHRoaXMsIHN5bV9uYW1lLCBudWxscHRyLCAmbHNpLCBnbG9iYWxfZ3JvdXAsIGxvY2FsX2dyb3VwLCAmcykpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAocyA9PSBudWxscHRyKSB7CisgICAgICAvLyBXZSBvbmx5IGFsbG93IGFuIHVuZGVmaW5lZCBzeW1ib2wgaWYgdGhpcyBpcyBhIHdlYWsgcmVmZXJlbmNlLgorICAgICAgcyA9ICZzeW10YWJfW2ddOworICAgICAgaWYgKEVMRl9TVF9CSU5EKHMtPnN0X2luZm8pICE9IFNUQl9XRUFLKSB7CisgICAgICAgIERMX0VSUigiY2Fubm90IGxvY2F0ZSBcIiVzXCIuLi4iLCBzeW1fbmFtZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICAgICpnb3QgPSAwOworICAgIH0gZWxzZSB7CisgICAgICAvLyBGSVhNRTogaXMgdGhpcyBzdWZmaWNpZW50PworICAgICAgLy8gRm9yIHJlZmVyZW5jZSBzZWUgTmV0QlNEIGxpbmsgbG9hZGVyCisgICAgICAvLyBodHRwOi8vY3Zzd2ViLm5ldGJzZC5vcmcvYnNkd2ViLmNnaS9zcmMvbGliZXhlYy9sZC5lbGZfc28vYXJjaC9taXBzL21pcHNfcmVsb2MuYz9yZXY9MS41MyZjb250ZW50LXR5cGU9dGV4dC94LWN2c3dlYi1tYXJrdXAKKyAgICAgICpnb3QgPSByZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihsc2ktPnJlc29sdmVfc3ltYm9sX2FkZHJlc3MocykpOworICAgIH0KKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKwpkaWZmIC0tZ2l0IGEvbGlua2VyL2xpbmtlcl9waGRyLmNwcCBiL2xpbmtlci9saW5rZXJfcGhkci5jcHAKaW5kZXggNGIxYzBjYS4uNjM4YzlkNiAxMDA2NDQKLS0tIGEvbGlua2VyL2xpbmtlcl9waGRyLmNwcAorKysgYi9saW5rZXIvbGlua2VyX3BoZHIuY3BwCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAibGlua2VyX3BoZHIuaCIKIAogI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8bWFjaGluZS9leGVjLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgpAQCAtMzgsNiArMzgsMjAgQEAKICNpbmNsdWRlICJsaW5rZXIuaCIKICNpbmNsdWRlICJsaW5rZXJfZGVidWcuaCIKIAorc3RhdGljIGludCBHZXRUYXJnZXRFbGZNYWNoaW5lKCkgeworI2lmIGRlZmluZWQoX19hcm1fXykKKyAgcmV0dXJuIEVNX0FSTTsKKyNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisgIHJldHVybiBFTV9BQVJDSDY0OworI2VsaWYgZGVmaW5lZChfX2kzODZfXykKKyAgcmV0dXJuIEVNXzM4NjsKKyNlbGlmIGRlZmluZWQoX19taXBzX18pCisgIHJldHVybiBFTV9NSVBTOworI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKQorICByZXR1cm4gRU1fWDg2XzY0OworI2VuZGlmCit9CisKIC8qKgogICBURUNITklDQUwgTk9URSBPTiBFTEYgTE9BRElORy4KIApAQCAtMjAwLDcgKzIxNCw3IEBACiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKLSAgaWYgKGhlYWRlcl8uZV9tYWNoaW5lICE9IEVMRl9UQVJHX01BQ0gpIHsKKyAgaWYgKGhlYWRlcl8uZV9tYWNoaW5lICE9IEdldFRhcmdldEVsZk1hY2hpbmUoKSkgewogICAgIERMX0VSUigiXCIlc1wiIGhhcyB1bmV4cGVjdGVkIGVfbWFjaGluZTogJWQiLCBuYW1lXywgaGVhZGVyXy5lX21hY2hpbmUpOwogICAgIHJldHVybiBmYWxzZTsKICAgfQpAQCAtMjI2LDcgKzI0MCw4IEBACiAKICAgcGhkcl9zaXplXyA9IHBhZ2VfbWF4IC0gcGFnZV9taW47CiAKLSAgdm9pZCogbW1hcF9yZXN1bHQgPSBtbWFwNjQobnVsbHB0ciwgcGhkcl9zaXplXywgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmRfLCBmaWxlX29mZnNldF8gKyBwYWdlX21pbik7CisgIHZvaWQqIG1tYXBfcmVzdWx0ID0KKyAgICAgIG1tYXA2NChudWxscHRyLCBwaGRyX3NpemVfLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZF8sIGZpbGVfb2Zmc2V0XyArIHBhZ2VfbWluKTsKICAgaWYgKG1tYXBfcmVzdWx0ID09IE1BUF9GQUlMRUQpIHsKICAgICBETF9FUlIoIlwiJXNcIiBwaGRyIG1tYXAgZmFpbGVkOiAlcyIsIG5hbWVfLCBzdHJlcnJvcihlcnJubykpOwogICAgIHJldHVybiBmYWxzZTsKQEAgLTMxOCw3ICszMzMsNyBAQAogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpbnQgbW1hcF9mbGFncyA9IE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUzsKLSAgICBzdGFydCA9IG1tYXAoYWRkciwgbG9hZF9zaXplXywgUFJPVF9OT05FLCBtbWFwX2ZsYWdzLCAtMSwgMCk7CisgICAgc3RhcnQgPSBtbWFwKG51bGxwdHIsIGxvYWRfc2l6ZV8sIFBST1RfTk9ORSwgbW1hcF9mbGFncywgLTEsIDApOwogICAgIGlmIChzdGFydCA9PSBNQVBfRkFJTEVEKSB7CiAgICAgICBETF9FUlIoImNvdWxkbid0IHJlc2VydmUgJXpkIGJ5dGVzIG9mIGFkZHJlc3Mgc3BhY2UgZm9yIFwiJXNcIiIsIGxvYWRfc2l6ZV8sIG5hbWVfKTsKICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQxNCw5ICs0MjksMTUgQEAKICAgICBFbGZXKEFkZHIpIHNlZ19wYWdlX3N0YXJ0ID0gUEFHRV9TVEFSVChwaGRyLT5wX3ZhZGRyKSArIGxvYWRfYmlhczsKICAgICBFbGZXKEFkZHIpIHNlZ19wYWdlX2VuZCAgID0gUEFHRV9FTkQocGhkci0+cF92YWRkciArIHBoZHItPnBfbWVtc3opICsgbG9hZF9iaWFzOwogCisgICAgaW50IHByb3QgPSBQRkxBR1NfVE9fUFJPVChwaGRyLT5wX2ZsYWdzKTsKKyAgICBpZiAoKGV4dHJhX3Byb3RfZmxhZ3MgJiBQUk9UX1dSSVRFKSAhPSAwKSB7CisgICAgICAvLyBtYWtlIHN1cmUgd2UncmUgbmV2ZXIgc2ltdWx0YW5lb3VzbHkgd3JpdGFibGUgLyBleGVjdXRhYmxlCisgICAgICBwcm90ICY9IH5QUk9UX0VYRUM7CisgICAgfQorCiAgICAgaW50IHJldCA9IG1wcm90ZWN0KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNlZ19wYWdlX3N0YXJ0KSwKICAgICAgICAgICAgICAgICAgICAgICAgc2VnX3BhZ2VfZW5kIC0gc2VnX3BhZ2Vfc3RhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgIFBGTEFHU19UT19QUk9UKHBoZHItPnBfZmxhZ3MpIHwgZXh0cmFfcHJvdF9mbGFncyk7CisgICAgICAgICAgICAgICAgICAgICAgIHByb3QgfCBleHRyYV9wcm90X2ZsYWdzKTsKICAgICBpZiAocmV0IDwgMCkgewogICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTQzNSw3ICs0NTYsOCBAQAogICogUmV0dXJuOgogICogICAwIG9uIGVycm9yLCAtMSBvbiBmYWlsdXJlIChlcnJvciBjb2RlIGluIGVycm5vKS4KICAqLwotaW50IHBoZHJfdGFibGVfcHJvdGVjdF9zZWdtZW50cyhjb25zdCBFbGZXKFBoZHIpKiBwaGRyX3RhYmxlLCBzaXplX3QgcGhkcl9jb3VudCwgRWxmVyhBZGRyKSBsb2FkX2JpYXMpIHsKK2ludCBwaGRyX3RhYmxlX3Byb3RlY3Rfc2VnbWVudHMoY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHBoZHJfY291bnQsIEVsZlcoQWRkcikgbG9hZF9iaWFzKSB7CiAgIHJldHVybiBfcGhkcl90YWJsZV9zZXRfbG9hZF9wcm90KHBoZHJfdGFibGUsIHBoZHJfY291bnQsIGxvYWRfYmlhcywgMCk7CiB9CiAKQEAgLTQ1NSw3ICs0NzcsOCBAQAogICogUmV0dXJuOgogICogICAwIG9uIGVycm9yLCAtMSBvbiBmYWlsdXJlIChlcnJvciBjb2RlIGluIGVycm5vKS4KICAqLwotaW50IHBoZHJfdGFibGVfdW5wcm90ZWN0X3NlZ21lbnRzKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LCBFbGZXKEFkZHIpIGxvYWRfYmlhcykgeworaW50IHBoZHJfdGFibGVfdW5wcm90ZWN0X3NlZ21lbnRzKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHBoZHJfY291bnQsIEVsZlcoQWRkcikgbG9hZF9iaWFzKSB7CiAgIHJldHVybiBfcGhkcl90YWJsZV9zZXRfbG9hZF9wcm90KHBoZHJfdGFibGUsIHBoZHJfY291bnQsIGxvYWRfYmlhcywgUFJPVF9XUklURSk7CiB9CiAKQEAgLTUxNyw3ICs1NDAsOCBAQAogICogUmV0dXJuOgogICogICAwIG9uIGVycm9yLCAtMSBvbiBmYWlsdXJlIChlcnJvciBjb2RlIGluIGVycm5vKS4KICAqLwotaW50IHBoZHJfdGFibGVfcHJvdGVjdF9nbnVfcmVscm8oY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsIEVsZlcoQWRkcikgbG9hZF9iaWFzKSB7CitpbnQgcGhkcl90YWJsZV9wcm90ZWN0X2dudV9yZWxybyhjb25zdCBFbGZXKFBoZHIpKiBwaGRyX3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHBoZHJfY291bnQsIEVsZlcoQWRkcikgbG9hZF9iaWFzKSB7CiAgIHJldHVybiBfcGhkcl90YWJsZV9zZXRfZ251X3JlbHJvX3Byb3QocGhkcl90YWJsZSwgcGhkcl9jb3VudCwgbG9hZF9iaWFzLCBQUk9UX1JFQUQpOwogfQogCkBAIC01MzMsNyArNTU3LDkgQEAKICAqIFJldHVybjoKICAqICAgMCBvbiBlcnJvciwgLTEgb24gZmFpbHVyZSAoZXJyb3IgY29kZSBpbiBlcnJubykuCiAgKi8KLWludCBwaGRyX3RhYmxlX3NlcmlhbGl6ZV9nbnVfcmVscm8oY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsIEVsZlcoQWRkcikgbG9hZF9iaWFzLAoraW50IHBoZHJfdGFibGVfc2VyaWFsaXplX2dudV9yZWxybyhjb25zdCBFbGZXKFBoZHIpKiBwaGRyX3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgcGhkcl9jb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmVyhBZGRyKSBsb2FkX2JpYXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmZCkgewogICBjb25zdCBFbGZXKFBoZHIpKiBwaGRyID0gcGhkcl90YWJsZTsKICAgY29uc3QgRWxmVyhQaGRyKSogcGhkcl9saW1pdCA9IHBoZHIgKyBwaGRyX2NvdW50OwpAQCAtNTc4LDcgKzYwNCw5IEBACiAgKiBSZXR1cm46CiAgKiAgIDAgb24gZXJyb3IsIC0xIG9uIGZhaWx1cmUgKGVycm9yIGNvZGUgaW4gZXJybm8pLgogICovCi1pbnQgcGhkcl90YWJsZV9tYXBfZ251X3JlbHJvKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LCBFbGZXKEFkZHIpIGxvYWRfYmlhcywKK2ludCBwaGRyX3RhYmxlX21hcF9nbnVfcmVscm8oY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHBoZHJfY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikgbG9hZF9iaWFzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmQpIHsKICAgLy8gTWFwIHRoZSBmaWxlIGF0IGEgdGVtcG9yYXJ5IGxvY2F0aW9uIHNvIHdlIGNhbiBjb21wYXJlIGl0cyBjb250ZW50cy4KICAgc3RydWN0IHN0YXQgZmlsZV9zdGF0OwpAQCAtNjc1LDcgKzcwMyw3IEBACiAgKi8KIGludCBwaGRyX3RhYmxlX2dldF9hcm1fZXhpZHgoY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikgbG9hZF9iaWFzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZXKEFkZHIpKiogYXJtX2V4aWR4LCB1bnNpZ25lZCogYXJtX2V4aWR4X2NvdW50KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikqKiBhcm1fZXhpZHgsIHNpemVfdCogYXJtX2V4aWR4X2NvdW50KSB7CiAgIGNvbnN0IEVsZlcoUGhkcikqIHBoZHIgPSBwaGRyX3RhYmxlOwogICBjb25zdCBFbGZXKFBoZHIpKiBwaGRyX2xpbWl0ID0gcGhkciArIHBoZHJfY291bnQ7CiAKQEAgLTY4NSw3ICs3MTMsNyBAQAogICAgIH0KIAogICAgICphcm1fZXhpZHggPSByZWludGVycHJldF9jYXN0PEVsZlcoQWRkcikqPihsb2FkX2JpYXMgKyBwaGRyLT5wX3ZhZGRyKTsKLSAgICAqYXJtX2V4aWR4X2NvdW50ID0gKHVuc2lnbmVkKShwaGRyLT5wX21lbXN6IC8gOCk7CisgICAgKmFybV9leGlkeF9jb3VudCA9IHBoZHItPnBfbWVtc3ogLyA4OwogICAgIHJldHVybiAwOwogICB9CiAgICphcm1fZXhpZHggPSBudWxscHRyOwpAQCAtNzExLDIwICs3MzksMjEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikgbG9hZF9iaWFzLCBFbGZXKER5bikqKiBkeW5hbWljLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmVyhXb3JkKSogZHluYW1pY19mbGFncykgewogICAqZHluYW1pYyA9IG51bGxwdHI7Ci0gIGZvciAoY29uc3QgRWxmVyhQaGRyKSogcGhkciA9IHBoZHJfdGFibGUsICpwaGRyX2xpbWl0ID0gcGhkciArIHBoZHJfY291bnQ7IHBoZHIgPCBwaGRyX2xpbWl0OyBwaGRyKyspIHsKLSAgICBpZiAocGhkci0+cF90eXBlID09IFBUX0RZTkFNSUMpIHsKLSAgICAgICpkeW5hbWljID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKER5bikqPihsb2FkX2JpYXMgKyBwaGRyLT5wX3ZhZGRyKTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGk8cGhkcl9jb3VudDsgKytpKSB7CisgICAgY29uc3QgRWxmVyhQaGRyKSYgcGhkciA9IHBoZHJfdGFibGVbaV07CisgICAgaWYgKHBoZHIucF90eXBlID09IFBUX0RZTkFNSUMpIHsKKyAgICAgICpkeW5hbWljID0gcmVpbnRlcnByZXRfY2FzdDxFbGZXKER5bikqPihsb2FkX2JpYXMgKyBwaGRyLnBfdmFkZHIpOwogICAgICAgaWYgKGR5bmFtaWNfZmxhZ3MpIHsKLSAgICAgICAgKmR5bmFtaWNfZmxhZ3MgPSBwaGRyLT5wX2ZsYWdzOworICAgICAgICAqZHluYW1pY19mbGFncyA9IHBoZHIucF9mbGFnczsKICAgICAgIH0KICAgICAgIHJldHVybjsKICAgICB9CiAgIH0KIH0KIAotLy8gUmV0dXJucyB0aGUgYWRkcmVzcyBvZiB0aGUgcHJvZ3JhbSBoZWFkZXIgdGFibGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgbG9hZGVkCi0vLyBzZWdtZW50cyBpbiBtZW1vcnkuIFRoaXMgaXMgaW4gY29udHJhc3Qgd2l0aCAncGhkcl90YWJsZV8nIHdoaWNoCi0vLyBpcyB0ZW1wb3JhcnkgYW5kIHdpbGwgYmUgcmVsZWFzZWQgYmVmb3JlIHRoZSBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KKy8vIFNldHMgbG9hZGVkX3BoZHJfIHRvIHRoZSBhZGRyZXNzIG9mIHRoZSBwcm9ncmFtIGhlYWRlciB0YWJsZSBhcyBpdCBhcHBlYXJzCisvLyBpbiB0aGUgbG9hZGVkIHNlZ21lbnRzIGluIG1lbW9yeS4gVGhpcyBpcyBpbiBjb250cmFzdCB3aXRoIHBoZHJfdGFibGVfLAorLy8gd2hpY2ggaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIHJlbGVhc2VkIGJlZm9yZSB0aGUgbGlicmFyeSBpcyByZWxvY2F0ZWQuCiBib29sIEVsZlJlYWRlcjo6RmluZFBoZHIoKSB7CiAgIGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfbGltaXQgPSBwaGRyX3RhYmxlXyArIHBoZHJfbnVtXzsKIApAQCAtNzQ0LDcgKzc3Myw3IEBACiAgICAgICAgIEVsZlcoQWRkcikgIGVsZl9hZGRyID0gbG9hZF9iaWFzXyArIHBoZHItPnBfdmFkZHI7CiAgICAgICAgIGNvbnN0IEVsZlcoRWhkcikqIGVoZHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IEVsZlcoRWhkcikqPihlbGZfYWRkcik7CiAgICAgICAgIEVsZlcoQWRkcikgIG9mZnNldCA9IGVoZHItPmVfcGhvZmY7Ci0gICAgICAgIHJldHVybiBDaGVja1BoZHIoKEVsZlcoQWRkcikpZWhkciArIG9mZnNldCk7CisgICAgICAgIHJldHVybiBDaGVja1BoZHIocmVpbnRlcnByZXRfY2FzdDxFbGZXKEFkZHIpPihlaGRyKSArIG9mZnNldCk7CiAgICAgICB9CiAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9saW5rZXIvbGlua2VyX3BoZHIuaCBiL2xpbmtlci9saW5rZXJfcGhkci5oCmluZGV4IDY1ZDMwMmMuLjUwZjIxMTcgMTAwNjQ0Ci0tLSBhL2xpbmtlci9saW5rZXJfcGhkci5oCisrKyBiL2xpbmtlci9saW5rZXJfcGhkci5oCkBAIC04NCwyMSArODQsMjQgQEAKIHNpemVfdCBwaGRyX3RhYmxlX2dldF9sb2FkX3NpemUoY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikqIG1pbl92YWRkciA9IG51bGxwdHIsIEVsZlcoQWRkcikqIG1heF92YWRkciA9IG51bGxwdHIpOwogCi1pbnQgcGhkcl90YWJsZV9wcm90ZWN0X3NlZ21lbnRzKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LCBFbGZXKEFkZHIpIGxvYWRfYmlhcyk7CitpbnQgcGhkcl90YWJsZV9wcm90ZWN0X3NlZ21lbnRzKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBwaGRyX2NvdW50LCBFbGZXKEFkZHIpIGxvYWRfYmlhcyk7CiAKLWludCBwaGRyX3RhYmxlX3VucHJvdGVjdF9zZWdtZW50cyhjb25zdCBFbGZXKFBoZHIpKiBwaGRyX3RhYmxlLCBzaXplX3QgcGhkcl9jb3VudCwgRWxmVyhBZGRyKSBsb2FkX2JpYXMpOworaW50IHBoZHJfdGFibGVfdW5wcm90ZWN0X3NlZ21lbnRzKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikgbG9hZF9iaWFzKTsKIAotaW50IHBoZHJfdGFibGVfcHJvdGVjdF9nbnVfcmVscm8oY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsIEVsZlcoQWRkcikgbG9hZF9iaWFzKTsKK2ludCBwaGRyX3RhYmxlX3Byb3RlY3RfZ251X3JlbHJvKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmVyhBZGRyKSBsb2FkX2JpYXMpOwogCi1pbnQgcGhkcl90YWJsZV9zZXJpYWxpemVfZ251X3JlbHJvKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LCBFbGZXKEFkZHIpIGxvYWRfYmlhcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZkKTsKK2ludCBwaGRyX3RhYmxlX3NlcmlhbGl6ZV9nbnVfcmVscm8oY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikgbG9hZF9iaWFzLCBpbnQgZmQpOwogCi1pbnQgcGhkcl90YWJsZV9tYXBfZ251X3JlbHJvKGNvbnN0IEVsZlcoUGhkcikqIHBoZHJfdGFibGUsIHNpemVfdCBwaGRyX2NvdW50LCBFbGZXKEFkZHIpIGxvYWRfYmlhcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZkKTsKK2ludCBwaGRyX3RhYmxlX21hcF9nbnVfcmVscm8oY29uc3QgRWxmVyhQaGRyKSogcGhkcl90YWJsZSwgc2l6ZV90IHBoZHJfY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikgbG9hZF9iaWFzLCBpbnQgZmQpOwogCiAjaWYgZGVmaW5lZChfX2FybV9fKQogaW50IHBoZHJfdGFibGVfZ2V0X2FybV9leGlkeChjb25zdCBFbGZXKFBoZHIpKiBwaGRyX3RhYmxlLCBzaXplX3QgcGhkcl9jb3VudCwgRWxmVyhBZGRyKSBsb2FkX2JpYXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZlcoQWRkcikqKiBhcm1fZXhpZHgsIHVuc2lnbmVkKiBhcm1fZXhpZGl4X2NvdW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmVyhBZGRyKSoqIGFybV9leGlkeCwgc2l6ZV90KiBhcm1fZXhpZGl4X2NvdW50KTsKICNlbmRpZgogCiB2b2lkIHBoZHJfdGFibGVfZ2V0X2R5bmFtaWNfc2VjdGlvbihjb25zdCBFbGZXKFBoZHIpKiBwaGRyX3RhYmxlLCBzaXplX3QgcGhkcl9jb3VudCwKZGlmZiAtLWdpdCBhL2xpbmtlci9saW5rZXJfcmVsb2NfaXRlcmF0b3JzLmggYi9saW5rZXIvbGlua2VyX3JlbG9jX2l0ZXJhdG9ycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOGMwZTAKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvbGlua2VyX3JlbG9jX2l0ZXJhdG9ycy5oCkBAIC0wLDAgKzEsMTY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfX0xJTktFUl9SRUxPQ19JVEVSQVRPUlNfSAorI2RlZmluZSBfX0xJTktFUl9SRUxPQ19JVEVSQVRPUlNfSAorCisjaW5jbHVkZSAibGlua2VyLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworY29uc3Qgc2l6ZV90IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9JTkZPX0ZMQUcgPSAxOworY29uc3Qgc2l6ZV90IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9PRkZTRVRfREVMVEFfRkxBRyA9IDI7Citjb25zdCBzaXplX3QgUkVMT0NBVElPTl9HUk9VUEVEX0JZX0FEREVORF9GTEFHID0gNDsKK2NvbnN0IHNpemVfdCBSRUxPQ0FUSU9OX0dST1VQX0hBU19BRERFTkRfRkxBRyA9IDg7CisKK2NsYXNzIHBsYWluX3JlbG9jX2l0ZXJhdG9yIHsKKyNpZiBkZWZpbmVkKFVTRV9SRUxBKQorICB0eXBlZGVmIEVsZlcoUmVsYSkgcmVsX3Q7CisjZWxzZQorICB0eXBlZGVmIEVsZlcoUmVsKSByZWxfdDsKKyNlbmRpZgorIHB1YmxpYzoKKyAgcGxhaW5fcmVsb2NfaXRlcmF0b3IocmVsX3QqIHJlbF9hcnJheSwgc2l6ZV90IGNvdW50KQorICAgICAgOiBiZWdpbl8ocmVsX2FycmF5KSwgZW5kXyhiZWdpbl8gKyBjb3VudCksIGN1cnJlbnRfKGJlZ2luXykge30KKworICBib29sIGhhc19uZXh0KCkgeworICAgIHJldHVybiBjdXJyZW50XyA8IGVuZF87CisgIH0KKworICByZWxfdCogbmV4dCgpIHsKKyAgICByZXR1cm4gY3VycmVudF8rKzsKKyAgfQorIHByaXZhdGU6CisgIHJlbF90KiBjb25zdCBiZWdpbl87CisgIHJlbF90KiBjb25zdCBlbmRfOworICByZWxfdCogY3VycmVudF87CisKKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKHBsYWluX3JlbG9jX2l0ZXJhdG9yKTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBkZWNvZGVyX3Q+CitjbGFzcyBwYWNrZWRfcmVsb2NfaXRlcmF0b3IgeworI2lmIGRlZmluZWQoVVNFX1JFTEEpCisgIHR5cGVkZWYgRWxmVyhSZWxhKSByZWxfdDsKKyNlbHNlCisgIHR5cGVkZWYgRWxmVyhSZWwpIHJlbF90OworI2VuZGlmCisgcHVibGljOgorICBleHBsaWNpdCBwYWNrZWRfcmVsb2NfaXRlcmF0b3IoZGVjb2Rlcl90JiYgZGVjb2RlcikKKyAgICAgIDogZGVjb2Rlcl8oZGVjb2RlcikgeworICAgIC8vIGluaXRpYWxpemUgZmllbGRzCisgICAgbWVtc2V0KCZyZWxvY18sIDAsIHNpemVvZihyZWxvY18pKTsKKyAgICByZWxvY2F0aW9uX2NvdW50XyA9IGRlY29kZXJfLnBvcF9mcm9udCgpOworICAgIHJlbG9jXy5yX29mZnNldCA9IGRlY29kZXJfLnBvcF9mcm9udCgpOworICAgIHJlbG9jYXRpb25faW5kZXhfID0gMDsKKyAgICByZWxvY2F0aW9uX2dyb3VwX2luZGV4XyA9IDA7CisgICAgZ3JvdXBfc2l6ZV8gPSAwOworICB9CisKKyAgYm9vbCBoYXNfbmV4dCgpIGNvbnN0IHsKKyAgICByZXR1cm4gcmVsb2NhdGlvbl9pbmRleF8gPCByZWxvY2F0aW9uX2NvdW50XzsKKyAgfQorCisgIHJlbF90KiBuZXh0KCkgeworICAgIGlmIChyZWxvY2F0aW9uX2dyb3VwX2luZGV4XyA9PSBncm91cF9zaXplXykgeworICAgICAgaWYgKCFyZWFkX2dyb3VwX2ZpZWxkcygpKSB7CisgICAgICAgIC8vIEl0ZXJhdG9yIGlzIGluY29uc2lzdGVudCBzdGF0ZTsgaXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYWdhaW4KKyAgICAgICAgLy8gYnV0IGluIGNhc2UgaXQgaXMgbGV0J3MgbWFrZSBzdXJlIGhhc19uZXh0KCkgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgcmVsb2NhdGlvbl9pbmRleF8gPSByZWxvY2F0aW9uX2NvdW50XyA9IDA7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgfQorICAgIH0KKworICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfb2Zmc2V0X2RlbHRhKCkpIHsKKyAgICAgIHJlbG9jXy5yX29mZnNldCArPSBncm91cF9yX29mZnNldF9kZWx0YV87CisgICAgfSBlbHNlIHsKKyAgICAgIHJlbG9jXy5yX29mZnNldCArPSBkZWNvZGVyXy5wb3BfZnJvbnQoKTsKKyAgICB9CisKKyAgICBpZiAoIWlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9pbmZvKCkpIHsKKyAgICAgIHJlbG9jXy5yX2luZm8gPSBkZWNvZGVyXy5wb3BfZnJvbnQoKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKFVTRV9SRUxBKQorICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQoKSAmJgorICAgICAgICAhaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2FkZGVuZCgpKSB7CisgICAgICByZWxvY18ucl9hZGRlbmQgKz0gZGVjb2Rlcl8ucG9wX2Zyb250KCk7CisgICAgfQorI2VuZGlmCisKKyAgICByZWxvY2F0aW9uX2luZGV4XysrOworICAgIHJlbG9jYXRpb25fZ3JvdXBfaW5kZXhfKys7CisKKyAgICByZXR1cm4gJnJlbG9jXzsKKyAgfQorIHByaXZhdGU6CisgIGJvb2wgcmVhZF9ncm91cF9maWVsZHMoKSB7CisgICAgZ3JvdXBfc2l6ZV8gPSBkZWNvZGVyXy5wb3BfZnJvbnQoKTsKKyAgICBncm91cF9mbGFnc18gPSBkZWNvZGVyXy5wb3BfZnJvbnQoKTsKKworICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfb2Zmc2V0X2RlbHRhKCkpIHsKKyAgICAgIGdyb3VwX3Jfb2Zmc2V0X2RlbHRhXyA9IGRlY29kZXJfLnBvcF9mcm9udCgpOworICAgIH0KKworICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfaW5mbygpKSB7CisgICAgICByZWxvY18ucl9pbmZvID0gZGVjb2Rlcl8ucG9wX2Zyb250KCk7CisgICAgfQorCisgICAgaWYgKGlzX3JlbG9jYXRpb25fZ3JvdXBfaGFzX2FkZGVuZCgpICYmCisgICAgICAgIGlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9hZGRlbmQoKSkgeworI2lmICFkZWZpbmVkKFVTRV9SRUxBKQorICAgICAgLy8gVGhpcyBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHJlbGEsIGFuZCB5ZXQgd2UgaGF2ZSBpdCBlbmNvZGVkIGluIGFuZHJvaWRfcmVsIHNlY3Rpb24uCisgICAgICBETF9FUlIoInVuZXhwZWN0ZWQgcl9hZGRlbmQgaW4gYW5kcm9pZC5yZWwgc2VjdGlvbiIpOworICAgICAgcmV0dXJuIGZhbHNlOworI2Vsc2UKKyAgICAgIHJlbG9jXy5yX2FkZGVuZCArPSBkZWNvZGVyXy5wb3BfZnJvbnQoKTsKKyAgICB9IGVsc2UgaWYgKCFpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQoKSkgeworICAgICAgcmVsb2NfLnJfYWRkZW5kID0gMDsKKyNlbmRpZgorICAgIH0KKworICAgIHJlbG9jYXRpb25fZ3JvdXBfaW5kZXhfID0gMDsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIGJvb2wgaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2luZm8oKSB7CisgICAgcmV0dXJuIChncm91cF9mbGFnc18gJiBSRUxPQ0FUSU9OX0dST1VQRURfQllfSU5GT19GTEFHKSAhPSAwOworICB9CisKKyAgYm9vbCBpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfb2Zmc2V0X2RlbHRhKCkgeworICAgIHJldHVybiAoZ3JvdXBfZmxhZ3NfICYgUkVMT0NBVElPTl9HUk9VUEVEX0JZX09GRlNFVF9ERUxUQV9GTEFHKSAhPSAwOworICB9CisKKyAgYm9vbCBpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfYWRkZW5kKCkgeworICAgIHJldHVybiAoZ3JvdXBfZmxhZ3NfICYgUkVMT0NBVElPTl9HUk9VUEVEX0JZX0FEREVORF9GTEFHKSAhPSAwOworICB9CisKKyAgYm9vbCBpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQoKSB7CisgICAgcmV0dXJuIChncm91cF9mbGFnc18gJiBSRUxPQ0FUSU9OX0dST1VQX0hBU19BRERFTkRfRkxBRykgIT0gMDsKKyAgfQorCisgIGRlY29kZXJfdCBkZWNvZGVyXzsKKyAgc2l6ZV90IHJlbG9jYXRpb25fY291bnRfOworICBzaXplX3QgZ3JvdXBfc2l6ZV87CisgIHNpemVfdCBncm91cF9mbGFnc187CisgIHNpemVfdCBncm91cF9yX29mZnNldF9kZWx0YV87CisgIHNpemVfdCByZWxvY2F0aW9uX2luZGV4XzsKKyAgc2l6ZV90IHJlbG9jYXRpb25fZ3JvdXBfaW5kZXhfOworICByZWxfdCByZWxvY187Cit9OworCisjZW5kaWYgIC8vIF9fTElOS0VSX1JFTE9DX0lURVJBVE9SU19ICmRpZmYgLS1naXQgYS9saW5rZXIvbGlua2VyX3JlbG9jcy5oIGIvbGlua2VyL2xpbmtlcl9yZWxvY3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmMxNDk3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlua2VyL2xpbmtlcl9yZWxvY3MuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfX0xJTktFUl9SRUxPQ1NfSAorI2RlZmluZSBfX0xJTktFUl9SRUxPQ1NfSAorCisjaW5jbHVkZSA8ZWxmLmg+CisKKyNkZWZpbmUgUl9HRU5FUklDX05PTkUgMCAvLyBSXypfTk9ORSBpcyBhbHdheXMgMAorCisjaWYgZGVmaW5lZCAoX19hYXJjaDY0X18pCisKKyNkZWZpbmUgUl9HRU5FUklDX0pVTVBfU0xPVCBSX0FBUkNINjRfSlVNUF9TTE9UCisjZGVmaW5lIFJfR0VORVJJQ19HTE9CX0RBVCAgUl9BQVJDSDY0X0dMT0JfREFUCisjZGVmaW5lIFJfR0VORVJJQ19SRUxBVElWRSAgUl9BQVJDSDY0X1JFTEFUSVZFCisjZGVmaW5lIFJfR0VORVJJQ19JUkVMQVRJVkUgUl9BQVJDSDY0X0lSRUxBVElWRQorCisjZWxpZiBkZWZpbmVkIChfX2FybV9fKQorCisjZGVmaW5lIFJfR0VORVJJQ19KVU1QX1NMT1QgUl9BUk1fSlVNUF9TTE9UCisjZGVmaW5lIFJfR0VORVJJQ19HTE9CX0RBVCAgUl9BUk1fR0xPQl9EQVQKKyNkZWZpbmUgUl9HRU5FUklDX1JFTEFUSVZFICBSX0FSTV9SRUxBVElWRQorI2RlZmluZSBSX0dFTkVSSUNfSVJFTEFUSVZFIFJfQVJNX0lSRUxBVElWRQorCisjZWxpZiBkZWZpbmVkIChfX2kzODZfXykKKworI2RlZmluZSBSX0dFTkVSSUNfSlVNUF9TTE9UIFJfMzg2X0pNUF9TTE9UCisjZGVmaW5lIFJfR0VORVJJQ19HTE9CX0RBVCAgUl8zODZfR0xPQl9EQVQKKyNkZWZpbmUgUl9HRU5FUklDX1JFTEFUSVZFICBSXzM4Nl9SRUxBVElWRQorI2RlZmluZSBSX0dFTkVSSUNfSVJFTEFUSVZFIFJfMzg2X0lSRUxBVElWRQorCisjZWxpZiBkZWZpbmVkIChfX3g4Nl82NF9fKQorCisjZGVmaW5lIFJfR0VORVJJQ19KVU1QX1NMT1QgUl9YODZfNjRfSlVNUF9TTE9UCisjZGVmaW5lIFJfR0VORVJJQ19HTE9CX0RBVCAgUl9YODZfNjRfR0xPQl9EQVQKKyNkZWZpbmUgUl9HRU5FUklDX1JFTEFUSVZFICBSX1g4Nl82NF9SRUxBVElWRQorI2RlZmluZSBSX0dFTkVSSUNfSVJFTEFUSVZFIFJfWDg2XzY0X0lSRUxBVElWRQorCisjZW5kaWYKKworI2VuZGlmIC8vIF9fTElOS0VSX1JFTE9DU19ICmRpZmYgLS1naXQgYS9saW5rZXIvbGlua2VyX3NsZWIxMjguaCBiL2xpbmtlci9saW5rZXJfc2xlYjEyOC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNDkxNmYKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvbGlua2VyX3NsZWIxMjguaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfTElOS0VSX1NMRUIxMjhfSAorI2RlZmluZSBfTElOS0VSX1NMRUIxMjhfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8vIEhlbHBlciBjbGFzc2VzIGZvciBkZWNvZGluZyBMRUIxMjgsIHVzZWQgaW4gcGFja2VkIHJlbG9jYXRpb24gZGF0YS4KKy8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTEVCMTI4CisKK2NsYXNzIHNsZWIxMjhfZGVjb2RlciB7CisgcHVibGljOgorICBzbGViMTI4X2RlY29kZXIoY29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3QgY291bnQpCisgICAgICA6IGN1cnJlbnRfKGJ1ZmZlciksIGVuZF8oYnVmZmVyK2NvdW50KSB7IH0KKworICBzaXplX3QgcG9wX2Zyb250KCkgeworICAgIHNpemVfdCB2YWx1ZSA9IDA7CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBzaXplID0gQ0hBUl9CSVQgKiBzaXplb2YodmFsdWUpOworCisgICAgc2l6ZV90IHNoaWZ0ID0gMDsKKyAgICB1aW50OF90IGJ5dGU7CisKKyAgICBkbyB7CisgICAgICBpZiAoY3VycmVudF8gPj0gZW5kXykgeworICAgICAgICBfX2xpYmNfZmF0YWwoInNsZWIxMjhfZGVjb2RlciByYW4gb3V0IG9mIGJvdW5kcyIpOworICAgICAgfQorICAgICAgYnl0ZSA9ICpjdXJyZW50XysrOworICAgICAgdmFsdWUgfD0gKHN0YXRpY19jYXN0PHNpemVfdD4oYnl0ZSAmIDEyNykgPDwgc2hpZnQpOworICAgICAgc2hpZnQgKz0gNzsKKyAgICB9IHdoaWxlIChieXRlICYgMTI4KTsKKworICAgIGlmIChzaGlmdCA8IHNpemUgJiYgKGJ5dGUgJiA2NCkpIHsKKyAgICAgIHZhbHVlIHw9IC0oc3RhdGljX2Nhc3Q8c2l6ZV90PigxKSA8PCBzaGlmdCk7CisgICAgfQorCisgICAgcmV0dXJuIHZhbHVlOworICB9CisKKyBwcml2YXRlOgorICBjb25zdCB1aW50OF90KiBjdXJyZW50XzsKKyAgY29uc3QgdWludDhfdCogY29uc3QgZW5kXzsKK307CisKKyNlbmRpZiAvLyBfX0xJTktFUl9TTEVCMTI4X0gKZGlmZiAtLWdpdCBhL2xpbmtlci90ZXN0cy9BbmRyb2lkLm1rIGIvbGlua2VyL3Rlc3RzL0FuZHJvaWQubWsKaW5kZXggZmU2NGU3Ny4uMzU5OTJjNSAxMDA2NDQKLS0tIGEvbGlua2VyL3Rlc3RzL0FuZHJvaWQubWsKKysrIGIvbGlua2VyL3Rlc3RzL0FuZHJvaWQubWsKQEAgLTE0LDggKzE0LDYgQEAKICMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAjCiAKLWlmbmVxICgkKEJVSUxEX1RJTllfQU5EUk9JRCksdHJ1ZSkKLQogTE9DQUxfUEFUSDo9ICQoY2FsbCBteS1kaXIpCiAKIGluY2x1ZGUgJChDTEVBUl9WQVJTKQpAQCAtMzAsOSArMjgsMTIgQEAKIAogTE9DQUxfU1JDX0ZJTEVTIDo9IFwKICAgbGlua2VkX2xpc3RfdGVzdC5jcHAgXAotICBsaW5rZXJfYWxsb2NhdG9yX3Rlc3QuY3BwIFwKKyAgbGlua2VyX2Jsb2NrX2FsbG9jYXRvcl90ZXN0LmNwcCBcCisgIC4uL2xpbmtlcl9ibG9ja19hbGxvY2F0b3IuY3BwIFwKKyAgbGlua2VyX21lbW9yeV9hbGxvY2F0b3JfdGVzdC5jcHAgXAogICAuLi9saW5rZXJfYWxsb2NhdG9yLmNwcAogCi1pbmNsdWRlICQoQlVJTERfTkFUSVZFX1RFU1QpCisjIGZvciBfX2xpYmNfZmF0YWwKK0xPQ0FMX1NSQ19GSUxFUyArPSAuLi8uLi9saWJjL2Jpb25pYy9saWJjX2xvZ2dpbmcuY3BwCiAKLWVuZGlmICMgIUJVSUxEX1RJTllfQU5EUk9JRAoraW5jbHVkZSAkKEJVSUxEX05BVElWRV9URVNUKQpkaWZmIC0tZ2l0IGEvbGlua2VyL3Rlc3RzL2xpbmtlcl9hbGxvY2F0b3JfdGVzdC5jcHAgYi9saW5rZXIvdGVzdHMvbGlua2VyX2FsbG9jYXRvcl90ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI5MmEwNS4uMDAwMDAwMAotLS0gYS9saW5rZXIvdGVzdHMvbGlua2VyX2FsbG9jYXRvcl90ZXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0KLSNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgotCi0jaW5jbHVkZSAiLi4vbGlua2VyX2FsbG9jYXRvci5oIgotCi0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0KLW5hbWVzcGFjZSB7Ci0KLXN0cnVjdCB0ZXN0X3N0cnVjdF9ub21pbmFsIHsKLSAgdm9pZCogcG9pbnRlcjsKLSAgc3NpemVfdCB2YWx1ZTsKLX07Ci0KLS8qCi0gKiB0aGlzIG9uZSBoYXMgc2l6ZSBiZWxvdyBhbGxvY2F0b3IgY2FwIHdoaWNoIGlzIDIqc2l6ZW9mKHZvaWQqKQotICovCi1zdHJ1Y3QgdGVzdF9zdHJ1Y3Rfc21hbGwgewotICBjaGFyIGR1bW15X3N0cls1XTsKLX07Ci0KLS8qCi0gKiAxMDA5IGJ5dGUgc3RydWN0ICgxMDA5IGlzIHByaW1lKQotICovCi1zdHJ1Y3QgdGVzdF9zdHJ1Y3RfbGFyZ2VyIHsKLSAgY2hhciBkdW1teV9zdHJbMTAwOV07Ci19OwotCi1zdGF0aWMgc2l6ZV90IGtQYWdlU2l6ZSA9IHN5c2NvbmYoX1NDX1BBR0VfU0laRSk7Ci19OwotCi1URVNUKGxpbmtlcl9hbGxvY2F0b3IsIHRlc3Rfbm9taW5hbCkgewotICBMaW5rZXJBbGxvY2F0b3I8dGVzdF9zdHJ1Y3Rfbm9taW5hbD4gYWxsb2NhdG9yOwotCi0gIHRlc3Rfc3RydWN0X25vbWluYWwqIHB0cjEgPSBhbGxvY2F0b3IuYWxsb2MoKTsKLSAgQVNTRVJUX1RSVUUocHRyMSAhPSBudWxscHRyKTsKLSAgdGVzdF9zdHJ1Y3Rfbm9taW5hbCogcHRyMiA9IGFsbG9jYXRvci5hbGxvYygpOwotICBBU1NFUlRfVFJVRShwdHIyICE9IG51bGxwdHIpOwotICAvLyB0aGV5IHNob3VsZCBiZSBuZXh0IHRvIGVhY2ggb3RoZXIuCi0gIEFTU0VSVF9FUShwdHIxKzEsIHB0cjIpOwotCi0gIHB0cjEtPnZhbHVlID0gNDI7Ci0KLSAgYWxsb2NhdG9yLmZyZWUocHRyMSk7Ci0gIGFsbG9jYXRvci5mcmVlKHB0cjIpOwotfQotCi1URVNUKGxpbmtlcl9hbGxvY2F0b3IsIHRlc3Rfc21hbGwpIHsKLSAgTGlua2VyQWxsb2NhdG9yPHRlc3Rfc3RydWN0X3NtYWxsPiBhbGxvY2F0b3I7Ci0KLSAgY2hhciogcHRyMSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGFsbG9jYXRvci5hbGxvYygpKTsKLSAgY2hhciogcHRyMiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGFsbG9jYXRvci5hbGxvYygpKTsKLQotICBBU1NFUlRfVFJVRShwdHIxICE9IG51bGxwdHIpOwotICBBU1NFUlRfVFJVRShwdHIyICE9IG51bGxwdHIpOwotICBBU1NFUlRfRVEocHRyMSsyKnNpemVvZih2b2lkKiksIHB0cjIpOwotfQotCi1URVNUKGxpbmtlcl9hbGxvY2F0b3IsIHRlc3RfbGFyZ2VyKSB7Ci0gIExpbmtlckFsbG9jYXRvcjx0ZXN0X3N0cnVjdF9sYXJnZXI+IGFsbG9jYXRvcjsKLQotICB0ZXN0X3N0cnVjdF9sYXJnZXIqIHB0cjEgPSBhbGxvY2F0b3IuYWxsb2MoKTsKLSAgdGVzdF9zdHJ1Y3RfbGFyZ2VyKiBwdHIyID0gYWxsb2NhdG9yLmFsbG9jKCk7Ci0KLSAgQVNTRVJUX1RSVUUocHRyMSAhPSBudWxscHRyKTsKLSAgQVNTRVJUX1RSVUUocHRyMiAhPSBudWxscHRyKTsKLQotICBBU1NFUlRfRVEocHRyMSsxLCBwdHIyKTsKLQotICAvLyBsZXRzIGFsbG9jYXRlIHVudGlsIHdlIHJlYWNoIG5leHQgcGFnZS4KLSAgc2l6ZV90IG4gPSBrUGFnZVNpemUvc2l6ZW9mKHRlc3Rfc3RydWN0X2xhcmdlcikgKyAxIC0gMjsKLQotICBmb3IgKHNpemVfdCBpPTA7IGk8bjsgKytpKSB7Ci0gICAgQVNTRVJUX1RSVUUoYWxsb2NhdG9yLmFsbG9jKCkgIT0gbnVsbHB0cik7Ci0gIH0KLQotICB0ZXN0X3N0cnVjdF9sYXJnZXIqIHB0cl90b19mcmVlID0gYWxsb2NhdG9yLmFsbG9jKCk7Ci0gIEFTU0VSVF9UUlVFKHB0cl90b19mcmVlICE9IG51bGxwdHIpOwotICBhbGxvY2F0b3IuZnJlZShwdHIxKTsKLX0KLQotc3RhdGljIHZvaWQgcHJvdGVjdF9hbGwoKSB7Ci0gIExpbmtlckFsbG9jYXRvcjx0ZXN0X3N0cnVjdF9sYXJnZXI+IGFsbG9jYXRvcjsKLQotICAvLyBudW1iZXIgb2YgYWxsb2NzIHRvIHJlYWNoIHRoZSBlbmQgb2YgZmlyc3QgcGFnZQotICBzaXplX3QgbiA9IGtQYWdlU2l6ZS9zaXplb2YodGVzdF9zdHJ1Y3RfbGFyZ2VyKSAtIDE7Ci0gIHRlc3Rfc3RydWN0X2xhcmdlciogcGFnZTFfcHRyID0gYWxsb2NhdG9yLmFsbG9jKCk7Ci0KLSAgZm9yIChzaXplX3QgaT0wOyBpPG47ICsraSkgewotICAgIGFsbG9jYXRvci5hbGxvYygpOwotICB9Ci0KLSAgdGVzdF9zdHJ1Y3RfbGFyZ2VyKiBwYWdlMl9wdHIgPSBhbGxvY2F0b3IuYWxsb2MoKTsKLSAgYWxsb2NhdG9yLnByb3RlY3RfYWxsKFBST1RfUkVBRCk7Ci0gIGFsbG9jYXRvci5wcm90ZWN0X2FsbChQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKLSAgLy8gY2hlY2sgYWNjZXNzCi0gIHBhZ2UyX3B0ci0+ZHVtbXlfc3RyWzIzXSA9IDI3OwotICBwYWdlMV9wdHItPmR1bW15X3N0clsxM10gPSAxMTsKLQotICBhbGxvY2F0b3IucHJvdGVjdF9hbGwoUFJPVF9SRUFEKTsKLSAgZnByaW50ZihzdGRlcnIsICJ0cnlpbmcgdG8gYWNjZXNzIHByb3RlY3RlZCBwYWdlIik7Ci0KLSAgLy8gdGhpcyBzaG91bGQgcmVzdWx0IGluIHNlZ21lbnRhdGlvbiBmYXVsdAotICBwYWdlMV9wdHItPmR1bW15X3N0clsxMV0gPSA3OwotfQotCi1URVNUKGxpbmtlcl9hbGxvY2F0b3IsIHRlc3RfcHJvdGVjdCkgewotICB0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwotICBBU1NFUlRfRVhJVChwcm90ZWN0X2FsbCgpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdTRUdWKSwgInRyeWluZyB0byBhY2Nlc3MgcHJvdGVjdGVkIHBhZ2UiKTsKLX0KLQpkaWZmIC0tZ2l0IGEvbGlua2VyL3Rlc3RzL2xpbmtlcl9ibG9ja19hbGxvY2F0b3JfdGVzdC5jcHAgYi9saW5rZXIvdGVzdHMvbGlua2VyX2Jsb2NrX2FsbG9jYXRvcl90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWYwZjM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlua2VyL3Rlc3RzL2xpbmtlcl9ibG9ja19hbGxvY2F0b3JfdGVzdC5jcHAKQEAgLTAsMCArMSwxMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKworI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKKyNpbmNsdWRlICIuLi9saW5rZXJfYmxvY2tfYWxsb2NhdG9yLmgiCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworbmFtZXNwYWNlIHsKKworc3RydWN0IHRlc3Rfc3RydWN0X25vbWluYWwgeworICB2b2lkKiBwb2ludGVyOworICBzc2l6ZV90IHZhbHVlOworfTsKKworLyoKKyAqIHRoaXMgb25lIGhhcyBzaXplIGJlbG93IGFsbG9jYXRvciBjYXAgd2hpY2ggaXMgMipzaXplb2Yodm9pZCopCisgKi8KK3N0cnVjdCB0ZXN0X3N0cnVjdF9zbWFsbCB7CisgIGNoYXIgZHVtbXlfc3RyWzVdOworfTsKKworLyoKKyAqIDEwMDkgYnl0ZSBzdHJ1Y3QgKDEwMDkgaXMgcHJpbWUpCisgKi8KK3N0cnVjdCB0ZXN0X3N0cnVjdF9sYXJnZXIgeworICBjaGFyIGR1bW15X3N0clsxMDA5XTsKK307CisKK3N0YXRpYyBzaXplX3Qga1BhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRV9TSVpFKTsKK307CisKK1RFU1QobGlua2VyX2FsbG9jYXRvciwgdGVzdF9ub21pbmFsKSB7CisgIExpbmtlclR5cGVBbGxvY2F0b3I8dGVzdF9zdHJ1Y3Rfbm9taW5hbD4gYWxsb2NhdG9yOworCisgIHRlc3Rfc3RydWN0X25vbWluYWwqIHB0cjEgPSBhbGxvY2F0b3IuYWxsb2MoKTsKKyAgQVNTRVJUX1RSVUUocHRyMSAhPSBudWxscHRyKTsKKyAgdGVzdF9zdHJ1Y3Rfbm9taW5hbCogcHRyMiA9IGFsbG9jYXRvci5hbGxvYygpOworICBBU1NFUlRfVFJVRShwdHIyICE9IG51bGxwdHIpOworICAvLyB0aGV5IHNob3VsZCBiZSBuZXh0IHRvIGVhY2ggb3RoZXIuCisgIEFTU0VSVF9FUShwdHIxKzEsIHB0cjIpOworCisgIHB0cjEtPnZhbHVlID0gNDI7CisKKyAgYWxsb2NhdG9yLmZyZWUocHRyMSk7CisgIGFsbG9jYXRvci5mcmVlKHB0cjIpOworfQorCitURVNUKGxpbmtlcl9hbGxvY2F0b3IsIHRlc3Rfc21hbGwpIHsKKyAgTGlua2VyVHlwZUFsbG9jYXRvcjx0ZXN0X3N0cnVjdF9zbWFsbD4gYWxsb2NhdG9yOworCisgIGNoYXIqIHB0cjEgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihhbGxvY2F0b3IuYWxsb2MoKSk7CisgIGNoYXIqIHB0cjIgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihhbGxvY2F0b3IuYWxsb2MoKSk7CisKKyAgQVNTRVJUX1RSVUUocHRyMSAhPSBudWxscHRyKTsKKyAgQVNTRVJUX1RSVUUocHRyMiAhPSBudWxscHRyKTsKKyAgQVNTRVJUX0VRKHB0cjErMipzaXplb2Yodm9pZCopLCBwdHIyKTsKK30KKworVEVTVChsaW5rZXJfYWxsb2NhdG9yLCB0ZXN0X2xhcmdlcikgeworICBMaW5rZXJUeXBlQWxsb2NhdG9yPHRlc3Rfc3RydWN0X2xhcmdlcj4gYWxsb2NhdG9yOworCisgIHRlc3Rfc3RydWN0X2xhcmdlciogcHRyMSA9IGFsbG9jYXRvci5hbGxvYygpOworICB0ZXN0X3N0cnVjdF9sYXJnZXIqIHB0cjIgPSBhbGxvY2F0b3IuYWxsb2MoKTsKKworICBBU1NFUlRfVFJVRShwdHIxICE9IG51bGxwdHIpOworICBBU1NFUlRfVFJVRShwdHIyICE9IG51bGxwdHIpOworCisgIEFTU0VSVF9FUShwdHIxKzEsIHB0cjIpOworCisgIC8vIGxldHMgYWxsb2NhdGUgdW50aWwgd2UgcmVhY2ggbmV4dCBwYWdlLgorICBzaXplX3QgbiA9IGtQYWdlU2l6ZS9zaXplb2YodGVzdF9zdHJ1Y3RfbGFyZ2VyKSArIDEgLSAyOworCisgIGZvciAoc2l6ZV90IGk9MDsgaTxuOyArK2kpIHsKKyAgICBBU1NFUlRfVFJVRShhbGxvY2F0b3IuYWxsb2MoKSAhPSBudWxscHRyKTsKKyAgfQorCisgIHRlc3Rfc3RydWN0X2xhcmdlciogcHRyX3RvX2ZyZWUgPSBhbGxvY2F0b3IuYWxsb2MoKTsKKyAgQVNTRVJUX1RSVUUocHRyX3RvX2ZyZWUgIT0gbnVsbHB0cik7CisgIGFsbG9jYXRvci5mcmVlKHB0cjEpOworfQorCitzdGF0aWMgdm9pZCBwcm90ZWN0X2FsbCgpIHsKKyAgTGlua2VyVHlwZUFsbG9jYXRvcjx0ZXN0X3N0cnVjdF9sYXJnZXI+IGFsbG9jYXRvcjsKKworICAvLyBudW1iZXIgb2YgYWxsb2NzIHRvIHJlYWNoIHRoZSBlbmQgb2YgZmlyc3QgcGFnZQorICBzaXplX3QgbiA9IGtQYWdlU2l6ZS9zaXplb2YodGVzdF9zdHJ1Y3RfbGFyZ2VyKSAtIDE7CisgIHRlc3Rfc3RydWN0X2xhcmdlciogcGFnZTFfcHRyID0gYWxsb2NhdG9yLmFsbG9jKCk7CisKKyAgZm9yIChzaXplX3QgaT0wOyBpPG47ICsraSkgeworICAgIGFsbG9jYXRvci5hbGxvYygpOworICB9CisKKyAgdGVzdF9zdHJ1Y3RfbGFyZ2VyKiBwYWdlMl9wdHIgPSBhbGxvY2F0b3IuYWxsb2MoKTsKKyAgYWxsb2NhdG9yLnByb3RlY3RfYWxsKFBST1RfUkVBRCk7CisgIGFsbG9jYXRvci5wcm90ZWN0X2FsbChQUk9UX1JFQUQgfCBQUk9UX1dSSVRFKTsKKyAgLy8gY2hlY2sgYWNjZXNzCisgIHBhZ2UyX3B0ci0+ZHVtbXlfc3RyWzIzXSA9IDI3OworICBwYWdlMV9wdHItPmR1bW15X3N0clsxM10gPSAxMTsKKworICBhbGxvY2F0b3IucHJvdGVjdF9hbGwoUFJPVF9SRUFEKTsKKyAgZnByaW50ZihzdGRlcnIsICJ0cnlpbmcgdG8gYWNjZXNzIHByb3RlY3RlZCBwYWdlIik7CisKKyAgLy8gdGhpcyBzaG91bGQgcmVzdWx0IGluIHNlZ21lbnRhdGlvbiBmYXVsdAorICBwYWdlMV9wdHItPmR1bW15X3N0clsxMV0gPSA3OworfQorCitURVNUKGxpbmtlcl9hbGxvY2F0b3IsIHRlc3RfcHJvdGVjdCkgeworICB0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOworICBBU1NFUlRfRVhJVChwcm90ZWN0X2FsbCgpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdTRUdWKSwgInRyeWluZyB0byBhY2Nlc3MgcHJvdGVjdGVkIHBhZ2UiKTsKK30KKwpkaWZmIC0tZ2l0IGEvbGlua2VyL3Rlc3RzL2xpbmtlcl9tZW1vcnlfYWxsb2NhdG9yX3Rlc3QuY3BwIGIvbGlua2VyL3Rlc3RzL2xpbmtlcl9tZW1vcnlfYWxsb2NhdG9yX3Rlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDJhMGQKLS0tIC9kZXYvbnVsbAorKysgYi9saW5rZXIvdGVzdHMvbGlua2VyX21lbW9yeV9hbGxvY2F0b3JfdGVzdC5jcHAKQEAgLTAsMCArMSwxOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKworI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKKyNpbmNsdWRlICIuLi9saW5rZXJfYWxsb2NhdG9yLmgiCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworbmFtZXNwYWNlIHsKKworLyoKKyAqIHRoaXMgb25lIGhhcyBzaXplIGJlbG93IGFsbG9jYXRvciBjYXAgd2hpY2ggaXMgMipzaXplb2Yodm9pZCopCisgKi8KK3N0cnVjdCB0ZXN0X3N0cnVjdF9zbWFsbCB7CisgIGNoYXIgZHVtbXlfc3RyWzVdOworfTsKKworc3RydWN0IHRlc3Rfc3RydWN0X2xhcmdlIHsKKyAgY2hhciBkdW1teV9zdHJbMTAwOV07Cit9OworCitzdHJ1Y3QgdGVzdF9zdHJ1Y3RfaHVnZSB7CisgIGNoYXIgZHVtbXlfc3RyWzczOTM5XTsKK307CisKK3N0cnVjdCB0ZXN0X3N0cnVjdF81MTIgeworICBjaGFyIGR1bW15X3N0cls1MDNdOworfTsKKworfTsKKworc3RhdGljIHNpemVfdCBrUGFnZVNpemUgPSBzeXNjb25mKF9TQ19QQUdFX1NJWkUpOworCitURVNUKGxpbmtlcl9tZW1vcnksIHRlc3RfYWxsb2NfMCkgeworICBMaW5rZXJNZW1vcnlBbGxvY2F0b3IgYWxsb2NhdG9yOworICB2b2lkKiBwdHIgPSBhbGxvY2F0b3IuYWxsb2MoMCk7CisgIEFTU0VSVF9UUlVFKHB0ciAhPSBudWxscHRyKTsKKyAgZnJlZShwdHIpOworfQorCitURVNUKGxpbmtlcl9tZW1vcnksIHRlc3RfZnJlZV9udWxscHRyKSB7CisgIExpbmtlck1lbW9yeUFsbG9jYXRvciBhbGxvY2F0b3I7CisgIGFsbG9jYXRvci5mcmVlKG51bGxwdHIpOworfQorCitURVNUKGxpbmtlcl9tZW1vcnksIHRlc3RfcmVhbGxvYykgeworICBMaW5rZXJNZW1vcnlBbGxvY2F0b3IgYWxsb2NhdG9yOworICB1aW50MzJfdCogYXJyYXkgPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oYWxsb2NhdG9yLmFsbG9jKDUxMikpOworICBjb25zdCBzaXplX3QgYXJyYXlfc2l6ZSA9IDUxMiAvIHNpemVvZih1aW50MzJfdCk7CisKKyAgdWludDMyX3QgbW9kZWxbMTAwMF07CisKKyAgbW9kZWxbMF0gPSAxOworICBtb2RlbFsxXSA9IDE7CisKKyAgZm9yIChzaXplX3QgaSA9IDI7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBtb2RlbFtpXSA9IG1vZGVsW2kgLSAxXSArIG1vZGVsW2kgLSAyXTsKKyAgfQorCisgIG1lbWNweShhcnJheSwgbW9kZWwsIGFycmF5X3NpemUpOworCisgIHVpbnQzMl90KiByZWFsbG9jYXRlZF9wdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oYWxsb2NhdG9yLnJlYWxsb2MoYXJyYXksIDEwMjQpKTsKKworICBBU1NFUlRfVFJVRShyZWFsbG9jYXRlZF9wdHIgIT0gbnVsbHB0cik7CisgIEFTU0VSVF9UUlVFKHJlYWxsb2NhdGVkX3B0ciAhPSBhcnJheSk7CisKKyAgQVNTRVJUX1RSVUUobWVtY21wKHJlYWxsb2NhdGVkX3B0ciwgbW9kZWwsIGFycmF5X3NpemUpID09IDApOworCisgIGFycmF5ID0gcmVhbGxvY2F0ZWRfcHRyOworCisgIG1lbWNweShhcnJheSwgbW9kZWwsIDIqYXJyYXlfc2l6ZSk7CisKKyAgcmVhbGxvY2F0ZWRfcHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGFsbG9jYXRvci5yZWFsbG9jKGFycmF5LCA2MikpOworCisgIEFTU0VSVF9UUlVFKHJlYWxsb2NhdGVkX3B0ciA9PSBhcnJheSk7CisKKyAgcmVhbGxvY2F0ZWRfcHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGFsbG9jYXRvci5yZWFsbG9jKGFycmF5LCA0MDAwKSk7CisKKyAgQVNTRVJUX1RSVUUocmVhbGxvY2F0ZWRfcHRyICE9IG51bGxwdHIpOworICBBU1NFUlRfVFJVRShyZWFsbG9jYXRlZF9wdHIgIT0gYXJyYXkpOworCisgIEFTU0VSVF9UUlVFKG1lbWNtcChyZWFsbG9jYXRlZF9wdHIsIG1vZGVsLCBhcnJheV9zaXplICogMikgPT0gMCk7CisKKyAgYXJyYXkgPSByZWFsbG9jYXRlZF9wdHI7CisKKyAgbWVtY3B5KGFycmF5LCBtb2RlbCwgNDAwMCk7CisKKyAgcmVhbGxvY2F0ZWRfcHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGFsbG9jYXRvci5yZWFsbG9jKGFycmF5LCA2NDAwMCkpOworCisgIEFTU0VSVF9UUlVFKHJlYWxsb2NhdGVkX3B0ciAhPSBudWxscHRyKTsKKyAgQVNTRVJUX1RSVUUocmVhbGxvY2F0ZWRfcHRyICE9IGFycmF5KTsKKworICBBU1NFUlRfVFJVRShtZW1jbXAocmVhbGxvY2F0ZWRfcHRyLCBtb2RlbCwgNDAwMCkgPT0gMCk7CisKKyAgQVNTRVJUX0VRKG51bGxwdHIsIHJlYWxsb2MocmVhbGxvY2F0ZWRfcHRyLCAwKSk7Cit9CisKK1RFU1QobGlua2VyX21lbW9yeSwgdGVzdF9zbWFsbF9zbW9rZSkgeworICBMaW5rZXJNZW1vcnlBbGxvY2F0b3IgYWxsb2NhdG9yOworCisgIHVpbnQ4X3QgemVyb3NbMTZdOworICBtZW1zZXQoemVyb3MsIDAsIHNpemVvZih6ZXJvcykpOworCisgIHRlc3Rfc3RydWN0X3NtYWxsKiBwdHIxID0KKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dGVzdF9zdHJ1Y3Rfc21hbGwqPihhbGxvY2F0b3IuYWxsb2Moc2l6ZW9mKHRlc3Rfc3RydWN0X3NtYWxsKSkpOworICB0ZXN0X3N0cnVjdF9zbWFsbCogcHRyMiA9CisgICAgICByZWludGVycHJldF9jYXN0PHRlc3Rfc3RydWN0X3NtYWxsKj4oYWxsb2NhdG9yLmFsbG9jKHNpemVvZih0ZXN0X3N0cnVjdF9zbWFsbCkpKTsKKworICBBU1NFUlRfVFJVRShwdHIxICE9IG51bGxwdHIpOworICBBU1NFUlRfVFJVRShwdHIyICE9IG51bGxwdHIpOworICBBU1NFUlRfRVEocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cjEpKzE2LCByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocHRyMikpOworICBBU1NFUlRfVFJVRShtZW1jbXAocHRyMSwgemVyb3MsIDE2KSA9PSAwKTsKKworICBhbGxvY2F0b3IuZnJlZShwdHIxKTsKKyAgYWxsb2NhdG9yLmZyZWUocHRyMik7Cit9CisKK1RFU1QobGlua2VyX21lbW9yeSwgdGVzdF9odWdlX3Ntb2tlKSB7CisgIExpbmtlck1lbW9yeUFsbG9jYXRvciBhbGxvY2F0b3I7CisKKyAgLy8gdGhpcyBzaG91bGQgdHJpZ2dlciBwcm94eS10by1tbWFwCisgIHRlc3Rfc3RydWN0X2h1Z2UqIHB0cjEgPQorICAgICAgcmVpbnRlcnByZXRfY2FzdDx0ZXN0X3N0cnVjdF9odWdlKj4oYWxsb2NhdG9yLmFsbG9jKHNpemVvZih0ZXN0X3N0cnVjdF9odWdlKSkpOworICB0ZXN0X3N0cnVjdF9odWdlKiBwdHIyID0KKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dGVzdF9zdHJ1Y3RfaHVnZSo+KGFsbG9jYXRvci5hbGxvYyhzaXplb2YodGVzdF9zdHJ1Y3RfaHVnZSkpKTsKKworICBBU1NFUlRfVFJVRShwdHIxICE9IG51bGxwdHIpOworICBBU1NFUlRfVFJVRShwdHIyICE9IG51bGxwdHIpOworCisgIEFTU0VSVF9UUlVFKAorICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cjEpL2tQYWdlU2l6ZSAhPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocHRyMikva1BhZ2VTaXplKTsKKyAgYWxsb2NhdG9yLmZyZWUocHRyMik7CisgIGFsbG9jYXRvci5mcmVlKHB0cjEpOworfQorCitURVNUKGxpbmtlcl9tZW1vcnksIHRlc3RfbGFyZ2UpIHsKKyAgTGlua2VyTWVtb3J5QWxsb2NhdG9yIGFsbG9jYXRvcjsKKworICB0ZXN0X3N0cnVjdF9sYXJnZSogcHRyMSA9CisgICAgICByZWludGVycHJldF9jYXN0PHRlc3Rfc3RydWN0X2xhcmdlKj4oYWxsb2NhdG9yLmFsbG9jKHNpemVvZih0ZXN0X3N0cnVjdF9sYXJnZSkpKTsKKyAgdGVzdF9zdHJ1Y3RfbGFyZ2UqIHB0cjIgPQorICAgICAgcmVpbnRlcnByZXRfY2FzdDx0ZXN0X3N0cnVjdF9sYXJnZSo+KGFsbG9jYXRvci5hbGxvYygxMDI0KSk7CisKKyAgQVNTRVJUX1RSVUUocHRyMSAhPSBudWxscHRyKTsKKyAgQVNTRVJUX1RSVUUocHRyMiAhPSBudWxscHRyKTsKKworICBBU1NFUlRfRVEocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cjEpICsgMTAyNCwgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHB0cjIpKTsKKworICAvLyBsZXQncyBhbGxvY2F0ZSB1bnRpbCB3ZSByZWFjaCB0aGUgbmV4dCBwYWdlLgorICBzaXplX3QgbiA9IGtQYWdlU2l6ZSAvIHNpemVvZih0ZXN0X3N0cnVjdF9sYXJnZSkgKyAxIC0gMjsKKyAgdGVzdF9zdHJ1Y3RfbGFyZ2UqIG9iamVjdHNbbl07CisKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICB0ZXN0X3N0cnVjdF9sYXJnZSogb2JqX3B0ciA9CisgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dGVzdF9zdHJ1Y3RfbGFyZ2UqPihhbGxvY2F0b3IuYWxsb2Moc2l6ZW9mKHRlc3Rfc3RydWN0X2xhcmdlKSkpOworICAgIEFTU0VSVF9UUlVFKG9ial9wdHIgIT0gbnVsbHB0cik7CisgICAgb2JqZWN0c1tpXSA9IG9ial9wdHI7CisgIH0KKworICB0ZXN0X3N0cnVjdF9sYXJnZSogcHRyX3RvX2ZyZWUgPQorICAgICAgcmVpbnRlcnByZXRfY2FzdDx0ZXN0X3N0cnVjdF9sYXJnZSo+KGFsbG9jYXRvci5hbGxvYyhzaXplb2YodGVzdF9zdHJ1Y3RfbGFyZ2UpKSk7CisKKyAgQVNTRVJUX1RSVUUocHRyX3RvX2ZyZWUgIT0gbnVsbHB0cik7CisKKyAgYWxsb2NhdG9yLmZyZWUocHRyMSk7CisKKyAgZm9yIChzaXplX3QgaT0wOyBpPG47ICsraSkgeworICAgIGFsbG9jYXRvci5mcmVlKG9iamVjdHNbaV0pOworICB9CisKKyAgYWxsb2NhdG9yLmZyZWUocHRyMik7CisgIGFsbG9jYXRvci5mcmVlKHB0cl90b19mcmVlKTsKK30KKworCmRpZmYgLS1naXQgYS90ZXN0cy9BbmRyb2lkLmJ1aWxkLm1rIGIvdGVzdHMvQW5kcm9pZC5idWlsZC5tawppbmRleCA2MzcyOWRhLi41YjJiNDE3IDEwMDY0NAotLS0gYS90ZXN0cy9BbmRyb2lkLmJ1aWxkLm1rCisrKyBiL3Rlc3RzL0FuZHJvaWQuYnVpbGQubWsKQEAgLTM2LDggKzM2LDE0IEBACiAKIExPQ0FMX0NMQU5HIDo9ICQoJChtb2R1bGUpX2NsYW5nXyQoYnVpbGRfdHlwZSkpCiAKK2lmbmVxICgkKCQobW9kdWxlKV9hbGxvd19hc2FuKSx0cnVlKQorTE9DQUxfQUREUkVTU19TQU5JVElaRVIgOj0gZmFsc2UKK2VuZGlmCisKIExPQ0FMX0ZPUkNFX1NUQVRJQ19FWEVDVVRBQkxFIDo9ICQoJChtb2R1bGUpX2ZvcmNlX3N0YXRpY19leGVjdXRhYmxlKQogCitMT0NBTF9BTExPV19VTkRFRklORURfU1lNQk9MUyA6PSAkKCQobW9kdWxlKV9hbGxvd191bmRlZmluZWRfc3ltYm9scykKKwogaWZuZXEgKCQoJChtb2R1bGUpX211bHRpbGliKSwpCiAgICAgTE9DQUxfTVVMVElMSUIgOj0gJCgkKG1vZHVsZSlfbXVsdGlsaWIpCiBlbmRpZgpAQCAtODYsOSArOTIsMTMgQEAKICAgICAkKCQobW9kdWxlKV9sZGxpYnMpIFwKICAgICAkKCQobW9kdWxlKV9sZGxpYnNfJChidWlsZF90eXBlKSkgXAogCi1pZmVxICgkKGJ1aWxkX3R5cGUpLHRhcmdldCkKLSAgaW5jbHVkZSBleHRlcm5hbC9zdGxwb3J0L2xpYnN0bHBvcnQubWsKK2lmZXEgKCQoTE9DQUxfRk9SQ0VfU1RBVElDX0VYRUNVVEFCTEUpLHRydWUpCitMT0NBTF9DWFhfU1RMIDo9IGxpYmMrK19zdGF0aWMKK2Vsc2UKK0xPQ0FMX0NYWF9TVEwgOj0gbGliYysrCitlbmRpZgogCitpZmVxICgkKGJ1aWxkX3R5cGUpLHRhcmdldCkKICAgaW5jbHVkZSAkKEJVSUxEXyQoYnVpbGRfdGFyZ2V0KSkKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL0FuZHJvaWQubWsgYi90ZXN0cy9BbmRyb2lkLm1rCmluZGV4IDhiMGIwYTAuLmNkNjVjMTAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL0FuZHJvaWQubWsKKysrIGIvdGVzdHMvQW5kcm9pZC5tawpAQCAtMTQsOCArMTQsNiBAQAogIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICMKIAotaWZuZXEgKCQoQlVJTERfVElOWV9BTkRST0lEKSx0cnVlKQotCiBMT0NBTF9QQVRIIDo9ICQoY2FsbCBteS1kaXIpCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTU0LDggKzUyLDEwIEBACiBsaWJCaW9uaWNTdGFuZGFyZFRlc3RzX3NyY19maWxlcyA6PSBcCiAgICAgYXJwYV9pbmV0X3Rlc3QuY3BwIFwKICAgICBidWZmZXJfdGVzdHMuY3BwIFwKKyAgICBjb21wbGV4X3Rlc3QuY3BwIFwKICAgICBjdHlwZV90ZXN0LmNwcCBcCiAgICAgZGlyZW50X3Rlc3QuY3BwIFwKKyAgICBlcnJvcl90ZXN0LmNwcCBcCiAgICAgZXZlbnRmZF90ZXN0LmNwcCBcCiAgICAgZmNudGxfdGVzdC5jcHAgXAogICAgIGZlbnZfdGVzdC5jcHAgXApAQCAtNjcsNDAgKzY3LDMyIEBACiAgICAgbGliZ2VuX3Rlc3QuY3BwIFwKICAgICBsb2NhbGVfdGVzdC5jcHAgXAogICAgIG1hbGxvY190ZXN0LmNwcCBcCi0gICAgbWF0aF9jb3NfdGVzdC5jcHAgXAotICAgIG1hdGhfY29zZl90ZXN0LmNwcCBcCi0gICAgbWF0aF9leHBfdGVzdC5jcHAgXAotICAgIG1hdGhfZXhwZl90ZXN0LmNwcCBcCi0gICAgbWF0aF9sb2dfdGVzdC5jcHAgXAotICAgIG1hdGhfbG9nZl90ZXN0LmNwcCBcCi0gICAgbWF0aF9wb3dfdGVzdC5jcHAgXAotICAgIG1hdGhfcG93Zl90ZXN0LmNwcCBcCi0gICAgbWF0aF9zaW5fdGVzdC5jcHAgXAotICAgIG1hdGhfc2luZl90ZXN0LmNwcCBcCi0gICAgbWF0aF9zaW5jb3NfdGVzdC5jcHAgXAotICAgIG1hdGhfc2luY29zZl90ZXN0LmNwcCBcCi0gICAgbWF0aF90YW5fdGVzdC5jcHAgXAotICAgIG1hdGhfdGFuZl90ZXN0LmNwcCBcCiAgICAgbWF0aF90ZXN0LmNwcCBcCiAgICAgbW50ZW50X3Rlc3QuY3BwIFwKICAgICBuZXRkYl90ZXN0LmNwcCBcCiAgICAgcHRocmVhZF90ZXN0LmNwcCBcCisgICAgcHR5X3Rlc3QuY3BwIFwKICAgICByZWdleF90ZXN0LmNwcCBcCiAgICAgc2NoZWRfdGVzdC5jcHAgXAogICAgIHNlYXJjaF90ZXN0LmNwcCBcCisgICAgc2VtYXBob3JlX3Rlc3QuY3BwIFwKKyAgICBzZXRqbXBfdGVzdC5jcHAgXAogICAgIHNpZ25hbF90ZXN0LmNwcCBcCiAgICAgc3RhY2tfcHJvdGVjdG9yX3Rlc3QuY3BwIFwKICAgICBzdGFja191bndpbmRpbmdfdGVzdC5jcHAgXAogICAgIHN0ZGF0b21pY190ZXN0LmNwcCBcCiAgICAgc3RkaW50X3Rlc3QuY3BwIFwKICAgICBzdGRpb190ZXN0LmNwcCBcCisgICAgc3RkaW9fZXh0X3Rlc3QuY3BwIFwKICAgICBzdGRsaWJfdGVzdC5jcHAgXAogICAgIHN0cmluZ190ZXN0LmNwcCBcCisgICAgc3RyaW5nX3Bvc2l4X3N0cmVycm9yX3JfdGVzdC5jcHAgXAogICAgIHN0cmluZ3NfdGVzdC5jcHAgXAogICAgIHN0dWJzX3Rlc3QuY3BwIFwKICAgICBzc3RyZWFtX3Rlc3QuY3BwIFwKICAgICBzeXNfZXBvbGxfdGVzdC5jcHAgXAogICAgIHN5c19tbWFuX3Rlc3QuY3BwIFwKKyAgICBzeXNfcGVyc29uYWxpdHlfdGVzdC5jcHAgXAogICAgIHN5c19yZXNvdXJjZV90ZXN0LmNwcCBcCiAgICAgc3lzX3NlbGVjdF90ZXN0LmNwcCBcCiAgICAgc3lzX3NlbmRmaWxlX3Rlc3QuY3BwIFwKQEAgLTEwOCw2ICsxMDAsNyBAQAogICAgIHN5c19zdGF0X3Rlc3QuY3BwIFwKICAgICBzeXNfc3RhdHZmc190ZXN0LmNwcCBcCiAgICAgc3lzX3N5c2NhbGxfdGVzdC5jcHAgXAorICAgIHN5c19zeXNpbmZvX3Rlc3QuY3BwIFwKICAgICBzeXNfdGltZV90ZXN0LmNwcCBcCiAgICAgc3lzX3R5cGVzX3Rlc3QuY3BwIFwKICAgICBzeXNfdmZzX3Rlc3QuY3BwIFwKQEAgLTExNiw2ICsxMDksNyBAQAogICAgIHVjaGFyX3Rlc3QuY3BwIFwKICAgICB1bmlxdWVwdHJfdGVzdC5jcHAgXAogICAgIHVuaXN0ZF90ZXN0LmNwcCBcCisgICAgdXRtcF90ZXN0LmNwcCBcCiAgICAgd2NoYXJfdGVzdC5jcHAgXAogCiBsaWJCaW9uaWNTdGFuZGFyZFRlc3RzX2NmbGFncyA6PSBcCkBAIC0xMzIsNiArMTI2LDEwIEBACiAKIGxpYkJpb25pY1N0YW5kYXJkVGVzdHNfY19pbmNsdWRlcyA6PSBcCiAgICAgYmlvbmljL2xpYmMgXAorICAgIGV4dGVybmFsL3Rpbnl4bWwyIFwKKworbGliQmlvbmljU3RhbmRhcmRUZXN0c19zdGF0aWNfbGlicmFyaWVzIDo9IFwKKyAgICBsaWJiYXNlIFwKIAogbGliQmlvbmljU3RhbmRhcmRUZXN0c19sZGxpYnNfaG9zdCA6PSBcCiAgICAgLWxydCBcCkBAIC0yMTYsMTYgKzIxNCw2MCBAQAogaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMaWJyYXJ5IG9mIGJpb25pYyBjdXN0b21pemVkIGd0ZXN0IG1haW4gZnVuY3Rpb24sIHdpdGggc2ltcGxpZmllZCBvdXRwdXQgZm9ybWF0LgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGliQmlvbmljR3Rlc3RNYWluX3NyY19maWxlcyA6PSBndGVzdF9tYWluLmNwcAorCitsaWJCaW9uaWNHdGVzdE1haW5fY2ZsYWdzIDo9ICQodGVzdF9jZmxhZ3MpCisKK2xpYkJpb25pY0d0ZXN0TWFpbl9jcHBmbGFncyA6PSAkKHRlc3RfY3BwZmxhZ3MpCisKK21vZHVsZSA6PSBsaWJCaW9uaWNHdGVzdE1haW4KK21vZHVsZV90YWcgOj0gb3B0aW9uYWwKK2J1aWxkX3R5cGUgOj0gdGFyZ2V0CitidWlsZF90YXJnZXQgOj0gU1RBVElDX1RFU1RfTElCUkFSWQoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKK2J1aWxkX3R5cGUgOj0gaG9zdAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMaWJyYXJ5IG9mIGJpb25pYyBjdXN0b21pemVkIGd0ZXN0IG1haW4gZnVuY3Rpb24sIHdpdGggbm9ybWFsIGd0ZXN0IG91dHB1dCBmb3JtYXQsCisjIHdoaWNoIGlzIG5lZWRlZCBieSBiaW9uaWMgY3RzIHRlc3QuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJCaW9uaWNDdHNHdGVzdE1haW5fc3JjX2ZpbGVzIDo9IGd0ZXN0X21haW4uY3BwCisKK2xpYkJpb25pY0N0c0d0ZXN0TWFpbl9jZmxhZ3MgOj0gJCh0ZXN0X2NmbGFncykKKworbGliQmlvbmljQ3RzR3Rlc3RNYWluX2NwcGZsYWdzIDo9ICQodGVzdF9jcHBmbGFncykgLURVU0lOR19HVEVTVF9PVVRQVVRfRk9STUFUCisKK21vZHVsZSA6PSBsaWJCaW9uaWNDdHNHdGVzdE1haW4KK21vZHVsZV90YWcgOj0gb3B0aW9uYWwKK2J1aWxkX3R5cGUgOj0gdGFyZ2V0CitidWlsZF90YXJnZXQgOj0gU1RBVElDX1RFU1RfTElCUkFSWQoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKK2J1aWxkX3R5cGUgOj0gaG9zdAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBUZXN0cyBmb3IgdGhlIGRldmljZSB1c2luZyBiaW9uaWMncyAuc28uIFJ1biB3aXRoOgogIyAgIGFkYiBzaGVsbCAvZGF0YS9uYXRpdmV0ZXN0L2Jpb25pYy11bml0LXRlc3RzL2Jpb25pYy11bml0LXRlc3RzMzIKICMgICBhZGIgc2hlbGwgL2RhdGEvbmF0aXZldGVzdC9iaW9uaWMtdW5pdC10ZXN0cy9iaW9uaWMtdW5pdC10ZXN0czY0CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBiaW9uaWMtdW5pdC10ZXN0c193aG9sZV9zdGF0aWNfbGlicmFyaWVzIDo9IFwKICAgICBsaWJCaW9uaWNUZXN0cyBcCisgICAgbGliQmlvbmljR3Rlc3RNYWluIFwKIAorYmlvbmljLXVuaXQtdGVzdHNfc3RhdGljX2xpYnJhcmllcyA6PSBcCisgICAgbGlidGlueXhtbDIgXAorICAgIGxpYmxvZyBcCisgICAgbGliYmFzZSBcCisKKyMgVE9ETzogSW5jbHVkZSBfX2N4YV90aHJlYWRfYXRleGl0X3Rlc3QuY3BwIHRvIGdsaWJjIHRlc3RzIG9uY2UgaXQgaXMgdXBncmFkZWQgKGdsaWJjIDIuMTgrKQogYmlvbmljLXVuaXQtdGVzdHNfc3JjX2ZpbGVzIDo9IFwKICAgICBhdGV4aXRfdGVzdC5jcHAgXAorICAgIGRsX3Rlc3QuY3BwIFwKICAgICBkbGV4dF90ZXN0LmNwcCBcCisgICAgX19jeGFfdGhyZWFkX2F0ZXhpdF90ZXN0LmNwcCBcCiAgICAgZGxmY25fdGVzdC5jcHAgXAogCiBiaW9uaWMtdW5pdC10ZXN0c19jZmxhZ3MgOj0gJCh0ZXN0X2NmbGFncykKQEAgLTIzNyw4ICsyNzksNyBAQAogYmlvbmljLXVuaXQtdGVzdHNfY3BwZmxhZ3MgOj0gJCh0ZXN0X2NwcGZsYWdzKQogCiBiaW9uaWMtdW5pdC10ZXN0c19sZGZsYWdzIDo9IFwKLSAgICAtV2wsLS1leHBvcnQtZHluYW1pYyBcCi0gICAgLVdsLC11LERsU3ltVGVzdEZ1bmN0aW9uIFwKKyAgICAtV2wsLS1leHBvcnQtZHluYW1pYwogCiBiaW9uaWMtdW5pdC10ZXN0c19jX2luY2x1ZGVzIDo9IFwKICAgICBiaW9uaWMvbGliYyBcCkBAIC0yNDcsNiArMjg4LDE0IEBACiBiaW9uaWMtdW5pdC10ZXN0c19zaGFyZWRfbGlicmFyaWVzX3RhcmdldCA6PSBcCiAgICAgbGliZGwgXAogICAgIGxpYnBhZ2VtYXAgXAorICAgIGxpYmRsX3ByZWVtcHRfdGVzdF8xIFwKKyAgICBsaWJkbF9wcmVlbXB0X3Rlc3RfMgorCisjIFRPRE86IGNsYW5nIHN1cHBvcnQgZm9yIHRocmVhZF9sb2NhbCBvbiBhcm0gaXMgZG9uZSB2aWEgX19hZWFiaV9yZWFkX3RwKCkKKyMgd2hpY2ggYmlvbmljIGRvZXMgbm90IHN1cHBvcnQuIFJlZW5hYmxlIHRoaXMgb25jZSB0aGlzIHF1ZXN0aW9uIGlzIHJlc29sdmVkLgorYmlvbmljLXVuaXQtdGVzdHNfY2xhbmdfdGFyZ2V0IDo9IGZhbHNlCisKK2Jpb25pYy11bml0LXRlc3RzX3NoYXJlZF9saWJyYXJpZXNfdGFyZ2V0ICs9IGxpYmRsX3Rlc3RfZGZfMV9nbG9iYWwKIAogbW9kdWxlIDo9IGJpb25pYy11bml0LXRlc3RzCiBtb2R1bGVfdGFnIDo9IG9wdGlvbmFsCkBAIC0yNjEsMTUgKzMxMCwyNSBAQAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogYmlvbmljLXVuaXQtdGVzdHMtc3RhdGljX3dob2xlX3N0YXRpY19saWJyYXJpZXMgOj0gXAogICAgIGxpYkJpb25pY1Rlc3RzIFwKKyAgICBsaWJCaW9uaWNHdGVzdE1haW4gXAogCiBiaW9uaWMtdW5pdC10ZXN0cy1zdGF0aWNfc3RhdGljX2xpYnJhcmllcyA6PSBcCi0gICAgbGlic3RscG9ydF9zdGF0aWMgXAogICAgIGxpYm0gXAogICAgIGxpYmMgXAotICAgIGxpYnN0ZGMrKyBcCisgICAgbGliYysrX3N0YXRpYyBcCisgICAgbGliZGwgXAorICAgIGxpYnRpbnl4bWwyIFwKKyAgICBsaWJsb2cgXAorICAgIGxpYmJhc2UgXAogCiBiaW9uaWMtdW5pdC10ZXN0cy1zdGF0aWNfZm9yY2Vfc3RhdGljX2V4ZWN1dGFibGUgOj0gdHJ1ZQogCisjIGxpYmMgYW5kIGxpYmMrKyBib3RoIGRlZmluZSBzdGQ6Om5vdGhyb3cuIGxpYmMncyBpcyBhIHByaXZhdGUgc3ltYm9sLCBidXQgdGhpcworIyBzdGlsbCBjYXVzZXMgaXNzdWVzIHdoZW4gbGlua2luZyBsaWJjLmEgYW5kIGxpYmMrKy5hLCBzaW5jZSBwcml2YXRlIGlzbid0CisjIGVmZmVjdGl2ZSB1bnRpbCBpdCBoYXMgYmVlbiBsaW5rZWQuIFRvIGZpeCB0aGlzLCBqdXN0IGFsbG93IG11bHRpcGxlIHN5bWJvbAorIyBkZWZpbml0aW9ucyBmb3IgdGhlIHN0YXRpYyB0ZXN0cy4KK2Jpb25pYy11bml0LXRlc3RzLXN0YXRpY19sZGZsYWdzIDo9IC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24KKwogbW9kdWxlIDo9IGJpb25pYy11bml0LXRlc3RzLXN0YXRpYwogbW9kdWxlX3RhZyA6PSBvcHRpb25hbAogYnVpbGRfdHlwZSA6PSB0YXJnZXQKQEAgLTI4NiwxMiArMzQ1LDI2IEBACiBiaW9uaWMtdW5pdC10ZXN0cy1nbGliY19zcmNfZmlsZXMgOj0gXAogICAgIGF0ZXhpdF90ZXN0LmNwcCBcCiAgICAgZGxmY25fdGVzdC5jcHAgXAorICAgIGRsX3Rlc3QuY3BwIFwKKworYmlvbmljLXVuaXQtdGVzdHMtZ2xpYmNfc2hhcmVkX2xpYnJhcmllcyA6PSBcCisgICAgbGliZGxfcHJlZW1wdF90ZXN0XzEgXAorICAgIGxpYmRsX3ByZWVtcHRfdGVzdF8yCisKK2Jpb25pYy11bml0LXRlc3RzLWdsaWJjX3NoYXJlZF9saWJyYXJpZXMgKz0gbGliZGxfdGVzdF9kZl8xX2dsb2JhbAogCiBiaW9uaWMtdW5pdC10ZXN0cy1nbGliY193aG9sZV9zdGF0aWNfbGlicmFyaWVzIDo9IFwKICAgICBsaWJCaW9uaWNTdGFuZGFyZFRlc3RzIFwKKyAgICBsaWJCaW9uaWNHdGVzdE1haW4gXAorICAgICQoZm9ydGlmeV9saWJzKSBcCisKK2Jpb25pYy11bml0LXRlc3RzLWdsaWJjX3N0YXRpY19saWJyYXJpZXMgOj0gXAorICAgIGxpYmJhc2UgXAorICAgIGxpYmxvZyBcCisgICAgbGliY3V0aWxzIFwKIAogYmlvbmljLXVuaXQtdGVzdHMtZ2xpYmNfbGRsaWJzIDo9IFwKLSAgICAtbHJ0IC1sZGwgXAorICAgIC1scnQgLWxkbCAtbHV0aWwgXAogCiBiaW9uaWMtdW5pdC10ZXN0cy1nbGliY19jX2luY2x1ZGVzIDo9IFwKICAgICBiaW9uaWMvbGliYyBcCkBAIC0zMDAsMTkgKzM3Myw2MCBAQAogYmlvbmljLXVuaXQtdGVzdHMtZ2xpYmNfY3BwZmxhZ3MgOj0gJCh0ZXN0X2NwcGZsYWdzKQogYmlvbmljLXVuaXQtdGVzdHMtZ2xpYmNfbGRmbGFncyA6PSAtV2wsLS1leHBvcnQtZHluYW1pYwogCitiaW9uaWMtdW5pdC10ZXN0cy1nbGliY19hbGxvd19hc2FuIDo9IHRydWUKKwogbW9kdWxlIDo9IGJpb25pYy11bml0LXRlc3RzLWdsaWJjCiBtb2R1bGVfdGFnIDo9IG9wdGlvbmFsCiBidWlsZF90eXBlIDo9IGhvc3QKIGJ1aWxkX3RhcmdldCA6PSBOQVRJVkVfVEVTVAogaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKIAotaWZuZXEgKCQoVEFSR0VUX0FSQ0gpLCQoZmlsdGVyICQoVEFSR0VUX0FSQ0gpLGFybSBtaXBzIHg4NikpCi1MSU5LRVIgPSBsaW5rZXI2NAotTkFUSVZFX1RFU1RfU1VGRklYPTY0Ci1lbHNlCi1MSU5LRVIgPSBsaW5rZXIKLU5BVElWRV9URVNUX1NVRkZJWD0zMgotZW5kaWYKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29tcGlsZSB0aW1lIHRlc3RzLgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIFNvbWUgb2YgdGhlc2UgYXJlIGludGVudGlvbmFsbHkgdXNpbmcgPSBpbnN0ZWFkIG9mIDo9IHNpbmNlIHdlIG5lZWQgYWNjZXNzIHRvCisjIHNvbWUgdmFyaWFibGVzIG5vdCBpbml0aWFsdGl6ZWQgdW50aWwgd2UncmUgaW4gdGhlIGJ1aWxkIHN5c3RlbS4KKworaW5jbHVkZSAkKENMRUFSX1ZBUlMpCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSBcCisgICAgJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rIFwKKyAgICAkKExPQ0FMX1BBVEgpL2ZpbGUtY2hlY2stY3h4IFwKKyAgICB8ICQoSE9TVF9PVVRfRVhFQ1VUQUJMRVMpL0ZpbGVDaGVjayQoSE9TVF9FWEVDVVRBQkxFX1NVRkZJWCkgXAorCitMT0NBTF9DWFggPSAkKExPQ0FMX1BBVEgpL2ZpbGUtY2hlY2stY3h4IFwKKyAgICAkKEhPU1RfT1VUX0VYRUNVVEFCTEVTKS9GaWxlQ2hlY2sgXAorICAgICQoJChMT0NBTF8yTkRfQVJDSF9WQVJfUFJFRklYKUNYWF9CQVJFKSBcCisgICAgR0NDIFwKKworTE9DQUxfQ0xBTkcgOj0gZmFsc2UKK0xPQ0FMX01PRFVMRSA6PSBiaW9uaWMtY29tcGlsZS10aW1lLXRlc3RzLWcrKworTE9DQUxfQ1BQRkxBR1MgOj0gLVdhbGwKK0xPQ0FMX1NSQ19GSUxFUyA6PSBmb3J0aWZ5X2NvbXBpbGF0aW9uX3Rlc3QuY3BwCitpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCisKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgOj0gXAorICAgICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5tayBcCisgICAgJChMT0NBTF9QQVRIKS9maWxlLWNoZWNrLWN4eCBcCisgICAgfCAkKEhPU1RfT1VUX0VYRUNVVEFCTEVTKS9GaWxlQ2hlY2skKEhPU1RfRVhFQ1VUQUJMRV9TVUZGSVgpIFwKKworTE9DQUxfQ1hYIDo9ICQoTE9DQUxfUEFUSCkvZmlsZS1jaGVjay1jeHggXAorICAgICQoSE9TVF9PVVRfRVhFQ1VUQUJMRVMpL0ZpbGVDaGVjayBcCisgICAgJChMTFZNX1BSRUJVSUxUU19QQVRIKS9jbGFuZysrIFwKKyAgICBDTEFORyBcCisKK0xPQ0FMX0NMQU5HIDo9IHRydWUKK0xPQ0FMX01PRFVMRSA6PSBiaW9uaWMtY29tcGlsZS10aW1lLXRlc3RzLWNsYW5nKysKK0xPQ0FMX0NQUEZMQUdTIDo9IC1XYWxsCisjIEZpbGVDaGVjayB3aWxsIGVycm9yIGlmIHRoZXJlIGFyZW4ndCBhbnkgQ0xBTkc6IGxpbmVzIGluIHRoZSBmaWxlLCBidXQgdGhlcmUKKyMgZG9uJ3QgYXBwZWFyIHRvIGJlIGFueSBjYXNlcyB3aGVyZSBjbGFuZyBfZG9lc18gZW1pdCB3YXJuaW5ncyBmb3Igc24/cHJpbnRmIDooCitMT0NBTF9TUkNfRklMRVMgOj0KK2luY2x1ZGUgJChCVUlMRF9TVEFUSUNfTElCUkFSWSkKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBIb3N0IGdsaWJjIHRlc3RzLgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAjIGd0ZXN0IG5lZWRzIEFORFJPSURfREFUQS9sb2NhbC90bXAgZm9yIGRlYXRoIHRlc3Qgb3V0cHV0LgogIyBNYWtlIHN1cmUgdG8gY3JlYXRlIEFORFJPSURfREFUQS9sb2NhbC90bXAgaWYgZG9lc24ndCBleGlzdC4KQEAgLTMyMiw0OCArNDM2LDM3IEBACiAJbWtkaXIgLXAgJChUQVJHRVRfT1VUX0RBVEEpL2xvY2FsL3RtcAogCUFORFJPSURfREFUQT0kKFRBUkdFVF9PVVRfREFUQSkgXAogCUFORFJPSURfUk9PVD0kKFRBUkdFVF9PVVQpIFwKLQkJJChIT1NUX09VVF9FWEVDVVRBQkxFUykvYmlvbmljLXVuaXQtdGVzdHMtZ2xpYmMkKE5BVElWRV9URVNUX1NVRkZJWCkgJChCSU9OSUNfVEVTVF9GTEFHUykKKwkJJChIT1NUX09VVF9FWEVDVVRBQkxFUykvYmlvbmljLXVuaXQtdGVzdHMtZ2xpYmM2NCAkKEJJT05JQ19URVNUX0ZMQUdTKQogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFJ1biB0aGUgdW5pdCB0ZXN0cyBidWlsdCBhZ2FpbnN0IHg4NiBiaW9uaWMgb24gYW4geDg2IGhvc3QuCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS8uLi9idWlsZC9ydW4tb24taG9zdC5taworCiBpZmVxICgkKFRBUkdFVF9BUkNIKSwkKGZpbHRlciAkKFRBUkdFVF9BUkNIKSx4ODYgeDg2XzY0KSkKLSMgZ3Rlc3QgbmVlZHMgQU5EUk9JRF9EQVRBL2xvY2FsL3RtcCBmb3IgZGVhdGggdGVzdCBvdXRwdXQuCi0jIE1ha2Ugc3VyZSB0byBjcmVhdGUgQU5EUk9JRF9EQVRBL2xvY2FsL3RtcCBpZiBkb2Vzbid0IGV4aXN0LgotIyBiaW9uaWMgaXRzZWxmIHNob3VsZCBhbHdheXMgd29yayByZWxhdGl2ZSB0byBBTkRST0lEX0RBVEEgb3IgQU5EUk9JRF9ST09ULgorCitURVNUX1RJTUVPVVQgOj0gMAorCiAjIEJJT05JQ19URVNUX0ZMQUdTIGlzIGVpdGhlciBlbXB0eSBvciBpdCBjb21lcyBmcm9tIHRoZSB1c2VyLgotYmlvbmljLXVuaXQtdGVzdHMtcnVuLW9uLWhvc3Q6IGJpb25pYy11bml0LXRlc3RzICQoVEFSR0VUX09VVF9FWEVDVVRBQkxFUykvJChMSU5LRVIpICQoVEFSR0VUX09VVF9FWEVDVVRBQkxFUykvc2gKLQlpZiBbICEgLWQgL3N5c3RlbSAtbyAhIC1kIC9zeXN0ZW0vYmluIF07IHRoZW4gXAotCSAgZWNobyAiQXR0ZW1wdGluZyB0byBjcmVhdGUgL3N5c3RlbS9iaW4iOyBcCi0JICBzdWRvIG1rZGlyIC1wIC1tIDA3NzcgL3N5c3RlbS9iaW47IFwKLQlmaQotCW1rZGlyIC1wICQoVEFSR0VUX09VVF9EQVRBKS9sb2NhbC90bXAKLQljcCAkKFRBUkdFVF9PVVRfRVhFQ1VUQUJMRVMpLyQoTElOS0VSKSAvc3lzdGVtL2JpbgotCWNwICQoVEFSR0VUX09VVF9FWEVDVVRBQkxFUykvc2ggL3N5c3RlbS9iaW4KK2Jpb25pYy11bml0LXRlc3RzLXJ1bi1vbi1ob3N0MzI6IGJpb25pYy11bml0LXRlc3RzIGJpb25pYy1wcmVwYXJlLXJ1bi1vbi1ob3N0CiAJQU5EUk9JRF9EQVRBPSQoVEFSR0VUX09VVF9EQVRBKSBcCisJQU5EUk9JRF9ETlNfTU9ERT1sb2NhbCBcCiAJQU5EUk9JRF9ST09UPSQoVEFSR0VUX09VVCkgXAotCUxEX0xJQlJBUllfUEFUSD0kKFRBUkdFVF9PVVRfU0hBUkVEX0xJQlJBUklFUykgXAotCQkkKFRBUkdFVF9PVVRfREFUQV9OQVRJVkVfVEVTVFMpL2Jpb25pYy11bml0LXRlc3RzL2Jpb25pYy11bml0LXRlc3RzJChOQVRJVkVfVEVTVF9TVUZGSVgpICQoQklPTklDX1RFU1RfRkxBR1MpCisJCXRpbWVvdXQgJChURVNUX1RJTUVPVVQpIFwKKwkJJChUQVJHRVRfT1VUX0RBVEEpL25hdGl2ZXRlc3QvYmlvbmljLXVuaXQtdGVzdHMvYmlvbmljLXVuaXQtdGVzdHMzMiAkKEJJT05JQ19URVNUX0ZMQUdTKQorCitpZmVxICgkKFRBUkdFVF9JU182NF9CSVQpLHRydWUpCisjIGFkZCB0YXJnZXQgdG8gcnVuIGxwNjQgdGVzdHMKK2Jpb25pYy11bml0LXRlc3RzLXJ1bi1vbi1ob3N0NjQ6IGJpb25pYy11bml0LXRlc3RzIGJpb25pYy1wcmVwYXJlLXJ1bi1vbi1ob3N0CisJQU5EUk9JRF9EQVRBPSQoVEFSR0VUX09VVF9EQVRBKSBcCisJQU5EUk9JRF9ETlNfTU9ERT1sb2NhbCBcCisJQU5EUk9JRF9ST09UPSQoVEFSR0VUX09VVCkgXAorCQl0aW1lb3V0ICQoVEVTVF9USU1FT1VUKSBcCisJCSQoVEFSR0VUX09VVF9EQVRBKS9uYXRpdmV0ZXN0NjQvYmlvbmljLXVuaXQtdGVzdHMvYmlvbmljLXVuaXQtdGVzdHM2NCAkKEJJT05JQ19URVNUX0ZMQUdTKQogZW5kaWYKIAotaWZlcSAoJChUQVJHRVRfQVJDSCksJChmaWx0ZXIgJChUQVJHRVRfQVJDSCkseDg2XzY0KSkKLSMgYWRkIHRhcmdldCB0byBydW4gbHAzMiB0ZXN0cwotYmlvbmljLXVuaXQtdGVzdHMtcnVuLW9uLWhvc3QzMjogYmlvbmljLXVuaXQtdGVzdHNfMzIgJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS8kKExJTktFUikgJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS9zaAotCWlmIFsgISAtZCAvc3lzdGVtIC1vICEgLWQgL3N5c3RlbS9iaW4gXTsgdGhlbiBcCi0JICBlY2hvICJBdHRlbXB0aW5nIHRvIGNyZWF0ZSAvc3lzdGVtL2JpbiI7IFwKLQkgIHN1ZG8gbWtkaXIgLXAgLW0gMDc3NyAvc3lzdGVtL2JpbjsgXAotCWZpCi0JbWtkaXIgLXAgJChUQVJHRVRfT1VUX0RBVEEpL2xvY2FsL3RtcAotCWNwICQoVEFSR0VUX09VVF9FWEVDVVRBQkxFUykvbGlua2VyIC9zeXN0ZW0vYmluCi0JY3AgJChUQVJHRVRfT1VUX0VYRUNVVEFCTEVTKS9zaCAvc3lzdGVtL2JpbgotCUFORFJPSURfREFUQT0kKFRBUkdFVF9PVVRfREFUQSkgXAotCUFORFJPSURfUk9PVD0kKFRBUkdFVF9PVVQpIFwKLQlMRF9MSUJSQVJZX1BBVEg9JCgyTkRfVEFSR0VUX09VVF9TSEFSRURfTElCUkFSSUVTKSBcCi0JCSQoMk5EX1RBUkdFVF9PVVRfREFUQV9OQVRJVkVfVEVTVFMpL2Jpb25pYy11bml0LXRlc3RzL2Jpb25pYy11bml0LXRlc3RzMzIgJChCSU9OSUNfVEVTVF9GTEFHUykKLWVuZGlmCi0KK2VuZGlmICMgeDg2IHg4Nl82NAogZW5kaWYgIyBsaW51eC14ODYKIAogaW5jbHVkZSAkKGNhbGwgZmlyc3QtbWFrZWZpbGVzLXVuZGVyLCQoTE9DQUxfUEFUSCkpCi1lbmRpZiAjICFCVUlMRF9USU5ZX0FORFJPSUQKZGlmZiAtLWdpdCBhL3Rlc3RzL0Jpb25pY0RlYXRoVGVzdC5oIGIvdGVzdHMvQmlvbmljRGVhdGhUZXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFkMmQ2ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL0Jpb25pY0RlYXRoVGVzdC5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIEJJT05JQ19URVNUU19CSU9OSUNfREVBVEhfVEVTVF9IXworI2RlZmluZSBCSU9OSUNfVEVTVFNfQklPTklDX0RFQVRIX1RFU1RfSF8KKworI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKKyNpbmNsdWRlIDxzeXMvcHJjdGwuaD4KKworY2xhc3MgQmlvbmljRGVhdGhUZXN0IDogcHVibGljIHRlc3Rpbmc6OlRlc3QgeworIHByb3RlY3RlZDoKKyAgdmlydHVhbCB2b2lkIFNldFVwKCkgeworICAgIC8vIFN1cHByZXNzIGRlYnVnZ2VyZCBzdGFjayB0cmFjZXMuIFRvbyBzbG93LgorICAgIG9sZF9kdW1wYWJsZV8gPSBwcmN0bChQUl9HRVRfRFVNUEFCTEUsIDAsIDAsIDAsIDApOworICAgIHByY3RsKFBSX1NFVF9EVU1QQUJMRSwgMCwgMCwgMCwgMCk7CisgICAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOworICB9CisKKyAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkgeworICAgIHByY3RsKFBSX1NFVF9EVU1QQUJMRSwgb2xkX2R1bXBhYmxlXywgMCwgMCwgMCwgMCk7CisgIH0KKworIHByaXZhdGU6CisgIGludCBvbGRfZHVtcGFibGVfOworfTsKKworI2VuZGlmIC8vIEJJT05JQ19URVNUU19CSU9OSUNfREVBVEhfVEVTVF9IXwpkaWZmIC0tZ2l0IGEvdGVzdHMvU2NvcGVkU2lnbmFsSGFuZGxlci5oIGIvdGVzdHMvU2NvcGVkU2lnbmFsSGFuZGxlci5oCmluZGV4IDNlYzIzYjAuLjNmYjYwYTEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL1Njb3BlZFNpZ25hbEhhbmRsZXIuaAorKysgYi90ZXN0cy9TY29wZWRTaWduYWxIYW5kbGVyLmgKQEAgLTE4LDE3ICsxOCwyNyBAQAogI2RlZmluZSBfQklPTklDX1RFU1RTX1NDT1BFRF9TSUdOQUxfSEFORExFUl9ICiAKICNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogY2xhc3MgU2NvcGVkU2lnbmFsSGFuZGxlciB7CiAgcHVibGljOgogICBTY29wZWRTaWduYWxIYW5kbGVyKGludCBzaWduYWxfbnVtYmVyLCB2b2lkICgqaGFuZGxlcikoaW50KSwgaW50IHNhX2ZsYWdzID0gMCkKICAgICAgIDogc2lnbmFsX251bWJlcl8oc2lnbmFsX251bWJlcikgewotICAgIHNpZ2VtcHR5c2V0KCZhY3Rpb25fLnNhX21hc2spOworICAgIG1lbXNldCgmYWN0aW9uXywgMCwgc2l6ZW9mKGFjdGlvbl8pKTsKICAgICBhY3Rpb25fLnNhX2ZsYWdzID0gc2FfZmxhZ3M7CiAgICAgYWN0aW9uXy5zYV9oYW5kbGVyID0gaGFuZGxlcjsKICAgICBzaWdhY3Rpb24oc2lnbmFsX251bWJlcl8sICZhY3Rpb25fLCAmb2xkX2FjdGlvbl8pOwogICB9CiAKKyAgU2NvcGVkU2lnbmFsSGFuZGxlcihpbnQgc2lnbmFsX251bWJlciwgdm9pZCAoKmFjdGlvbikoaW50LCBzaWdpbmZvX3QqLCB2b2lkKiksCisgICAgICAgICAgICAgICAgICAgICAgaW50IHNhX2ZsYWdzID0gU0FfU0lHSU5GTykKKyAgICAgIDogc2lnbmFsX251bWJlcl8oc2lnbmFsX251bWJlcikgeworICAgIG1lbXNldCgmYWN0aW9uXywgMCwgc2l6ZW9mKGFjdGlvbl8pKTsKKyAgICBhY3Rpb25fLnNhX2ZsYWdzID0gc2FfZmxhZ3M7CisgICAgYWN0aW9uXy5zYV9zaWdhY3Rpb24gPSBhY3Rpb247CisgICAgc2lnYWN0aW9uKHNpZ25hbF9udW1iZXJfLCAmYWN0aW9uXywgJm9sZF9hY3Rpb25fKTsKKyAgfQorCiAgIH5TY29wZWRTaWduYWxIYW5kbGVyKCkgewogICAgIHNpZ2FjdGlvbihzaWduYWxfbnVtYmVyXywgJm9sZF9hY3Rpb25fLCBOVUxMKTsKICAgfQpkaWZmIC0tZ2l0IGEvdGVzdHMvVGVtcG9yYXJ5RmlsZS5oIGIvdGVzdHMvVGVtcG9yYXJ5RmlsZS5oCmluZGV4IGM0ZWUyZDUuLjVjMmZlNGYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL1RlbXBvcmFyeUZpbGUuaAorKysgYi90ZXN0cy9UZW1wb3JhcnlGaWxlLmgKQEAgLTE3LDI0ICsxNywyNiBAQAogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKLXRlbXBsYXRlPGludCAoKm1rX2ZuKShjaGFyKik+CisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfbWFjcm9zLmgiCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUID0gaW50ICgqKShjaGFyKik+CiBjbGFzcyBHZW5lcmljVGVtcG9yYXJ5RmlsZSB7CiAgcHVibGljOgotICBHZW5lcmljVGVtcG9yYXJ5RmlsZShjb25zdCBjaGFyKiBkaXJwYXRoID0gTlVMTCkgewotICAgIGlmIChkaXJwYXRoICE9IE5VTEwpIHsKLSAgICAgIGluaXQoZGlycGF0aCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIC8vIFNpbmNlIHdlIG1pZ2h0IGJlIHJ1bm5pbmcgb24gdGhlIGhvc3Qgb3IgdGhlIHRhcmdldCwgYW5kIGlmIHdlJ3JlCi0gICAgICAvLyBydW5uaW5nIG9uIHRoZSBob3N0IHdlIG1pZ2h0IGJlIHJ1bm5pbmcgdW5kZXIgYmlvbmljIG9yIGdsaWJjLAotICAgICAgLy8gbGV0J3MganVzdCB0cnkgYm90aCBwb3NzaWJsZSB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgYW5kIHRha2UgdGhlCi0gICAgICAvLyBmaXJzdCBvbmUgdGhhdCB3b3Jrcy4KLSAgICAgIGluaXQoIi9kYXRhL2xvY2FsL3RtcCIpOwotICAgICAgaWYgKGZkID09IC0xKSB7Ci0gICAgICAgIGluaXQoIi90bXAiKTsKLSAgICAgIH0KKyAgR2VuZXJpY1RlbXBvcmFyeUZpbGUoVCBta19mbiA9IG1rc3RlbXApIDogbWtfZm4obWtfZm4pIHsKKyAgICAvLyBTaW5jZSB3ZSBtaWdodCBiZSBydW5uaW5nIG9uIHRoZSBob3N0IG9yIHRoZSB0YXJnZXQsIGFuZCBpZiB3ZSdyZQorICAgIC8vIHJ1bm5pbmcgb24gdGhlIGhvc3Qgd2UgbWlnaHQgYmUgcnVubmluZyB1bmRlciBiaW9uaWMgb3IgZ2xpYmMsCisgICAgLy8gbGV0J3MganVzdCB0cnkgYm90aCBwb3NzaWJsZSB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgYW5kIHRha2UgdGhlCisgICAgLy8gZmlyc3Qgb25lIHRoYXQgd29ya3MuCisgICAgaW5pdCgiL2RhdGEvbG9jYWwvdG1wIik7CisgICAgaWYgKGZkID09IC0xKSB7CisgICAgICBpbml0KCIvdG1wIik7CiAgICAgfQogICB9CiAKKyAgR2VuZXJpY1RlbXBvcmFyeUZpbGUoY29uc3QgY2hhciogZGlycGF0aCwgVCBta19mbiA9IG1rc3RlbXApIDogbWtfZm4obWtfZm4pIHsKKyAgICBpbml0KGRpcnBhdGgpOworICB9CisKICAgfkdlbmVyaWNUZW1wb3JhcnlGaWxlKCkgewogICAgIGNsb3NlKGZkKTsKICAgICB1bmxpbmsoZmlsZW5hbWUpOwpAQCAtNDksMTMgKzUxLDE3IEBACiAgIGNoYXIgZmlsZW5hbWVbMTAyNF07CiAKICBwcml2YXRlOgorICBUIG1rX2ZuOworCiAgIHZvaWQgaW5pdChjb25zdCBjaGFyKiB0bXBfZGlyKSB7CiAgICAgc25wcmludGYoZmlsZW5hbWUsIHNpemVvZihmaWxlbmFtZSksICIlcy9UZW1wb3JhcnlGaWxlLVhYWFhYWCIsIHRtcF9kaXIpOwogICAgIGZkID0gbWtfZm4oZmlsZW5hbWUpOwogICB9CisKKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEdlbmVyaWNUZW1wb3JhcnlGaWxlKTsKIH07CiAKLXR5cGVkZWYgR2VuZXJpY1RlbXBvcmFyeUZpbGU8bWtzdGVtcD4gVGVtcG9yYXJ5RmlsZTsKK3R5cGVkZWYgR2VuZXJpY1RlbXBvcmFyeUZpbGU8PiBUZW1wb3JhcnlGaWxlOwogCiBjbGFzcyBUZW1wb3JhcnlEaXIgewogIHB1YmxpYzoKQEAgLTc3LDQgKzgzLDUgQEAKICAgICByZXR1cm4gKG1rZHRlbXAoZGlybmFtZSkgIT0gTlVMTCk7CiAgIH0KIAorICBESVNBTExPV19DT1BZX0FORF9BU1NJR04oVGVtcG9yYXJ5RGlyKTsKIH07CmRpZmYgLS1naXQgYS90ZXN0cy9fX2N4YV90aHJlYWRfYXRleGl0X3Rlc3QuY3BwIGIvdGVzdHMvX19jeGFfdGhyZWFkX2F0ZXhpdF90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzg4ZjNiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvX19jeGFfdGhyZWFkX2F0ZXhpdF90ZXN0LmNwcApAQCAtMCwwICsxLDEyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlIDxzdHJpbmc+CisKK3N0YXRpYyBzdGQ6OnN0cmluZyBjbGFzc193aXRoX2R0b3Jfb3V0cHV0OworCitjbGFzcyBDbGFzc1dpdGhEdG9yIHsKKyBwdWJsaWM6CisgIHZvaWQgc2V0X21lc3NhZ2UoY29uc3Qgc3RkOjpzdHJpbmcmIG1zZykgeworICAgIG1lc3NhZ2UgPSBtc2c7CisgIH0KKworICB+Q2xhc3NXaXRoRHRvcigpIHsKKyAgICBjbGFzc193aXRoX2R0b3Jfb3V0cHV0ICs9IG1lc3NhZ2U7CisgIH0KKyBwcml2YXRlOgorICBzdGQ6OnN0cmluZyBtZXNzYWdlOworfTsKKworc3RhdGljIHRocmVhZF9sb2NhbCBDbGFzc1dpdGhEdG9yIGNsYXNzX3dpdGhfZHRvcjsKKworc3RhdGljIHZvaWQqIHRocmVhZF9ub3Aodm9pZCogYXJnKSB7CisgIGNsYXNzX3dpdGhfZHRvci5zZXRfbWVzc2FnZSgqc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmcqPihhcmcpKTsKKyAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1RFU1QodGhyZWFkX2xvY2FsLCBzbW9rZSkgeworICBzdGQ6OnN0cmluZyBtc2coImR0b3IgY2FsbGVkLiIpOworICBwdGhyZWFkX3QgdDsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0LCBudWxscHRyLCB0aHJlYWRfbm9wLCAmbXNnKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4odCwgbnVsbHB0cikpOworICBBU1NFUlRfRVEoImR0b3IgY2FsbGVkLiIsIGNsYXNzX3dpdGhfZHRvcl9vdXRwdXQpOworfQorCitjbGFzcyBDbGFzc1dpdGhEdG9yRm9yTWFpblRocmVhZCB7CisgcHVibGljOgorICB2b2lkIHNldF9tZXNzYWdlKGNvbnN0IHN0ZDo6c3RyaW5nJiBtc2cpIHsKKyAgICBtZXNzYWdlID0gbXNnOworICB9CisKKyAgfkNsYXNzV2l0aER0b3JGb3JNYWluVGhyZWFkKCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiJXMiLCBtZXNzYWdlLmNfc3RyKCkpOworICB9CisgcHJpdmF0ZToKKyAgc3RkOjpzdHJpbmcgbWVzc2FnZTsKK307CisKK3N0YXRpYyB2b2lkIHRocmVhZF9hdGV4aXRfbWFpbigpIHsKKyAgc3RhdGljIHRocmVhZF9sb2NhbCBDbGFzc1dpdGhEdG9yRm9yTWFpblRocmVhZCBjbGFzc193aXRoX2R0b3JfZm9yX21haW5fdGhyZWFkOworICBjbGFzc193aXRoX2R0b3JfZm9yX21haW5fdGhyZWFkLnNldF9tZXNzYWdlKCJkLXRvciBmb3IgbWFpbiB0aHJlYWQgY2FsbGVkLiIpOworICBleGl0KDApOworfQorCitURVNUKHRocmVhZF9sb2NhbCwgZHRvcl9mb3JfbWFpbl90aHJlYWQpIHsKKyAgQVNTRVJUX0VYSVQodGhyZWFkX2F0ZXhpdF9tYWluKCksIHRlc3Rpbmc6OkV4aXRlZFdpdGhDb2RlKDApLCAiZC10b3IgZm9yIG1haW4gdGhyZWFkIGNhbGxlZC4iKTsKK30KKworZXh0ZXJuICJDIiBpbnQgX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsKHZvaWQgKCpmbikodm9pZCopLCB2b2lkKiBhcmcsIHZvaWQqIGRzb19oYW5kbGUpOworCitzdGF0aWMgdm9pZCB0aHJlYWRfYXRleGl0X2ZuMSh2b2lkKiBhcmcpIHsKKyAgc3RkOjpzdHJpbmcqIGNhbGxfc2VxdWVuY2UgPSBzdGF0aWNfY2FzdDxzdGQ6OnN0cmluZyo+KGFyZyk7CisgICpjYWxsX3NlcXVlbmNlICs9ICJvbmUsICI7Cit9CisKK3N0YXRpYyB2b2lkIHRocmVhZF9hdGV4aXRfZm4yKHZvaWQqIGFyZykgeworICBzdGQ6OnN0cmluZyogY2FsbF9zZXF1ZW5jZSA9IHN0YXRpY19jYXN0PHN0ZDo6c3RyaW5nKj4oYXJnKTsKKyAgKmNhbGxfc2VxdWVuY2UgKz0gInR3bywgIjsKK30KKworc3RhdGljIHZvaWQgdGhyZWFkX2F0ZXhpdF9mcm9tX2F0ZXhpdCh2b2lkKiBhcmcpIHsKKyAgc3RkOjpzdHJpbmcqIGNhbGxfc2VxdWVuY2UgPSBzdGF0aWNfY2FzdDxzdGQ6OnN0cmluZyo+KGFyZyk7CisgICpjYWxsX3NlcXVlbmNlICs9ICJvb3BzLCAiOworfQorCitzdGF0aWMgdm9pZCB0aHJlYWRfYXRleGl0X2ZuMyh2b2lkKiBhcmcpIHsKKyAgX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsKHRocmVhZF9hdGV4aXRfZnJvbV9hdGV4aXQsIGFyZywgbnVsbHB0cik7CisgIHN0ZDo6c3RyaW5nKiBjYWxsX3NlcXVlbmNlID0gc3RhdGljX2Nhc3Q8c3RkOjpzdHJpbmcqPihhcmcpOworICAqY2FsbF9zZXF1ZW5jZSArPSAidGhyZWUsICI7Cit9CisKK3N0YXRpYyB2b2lkIHRocmVhZF9hdGV4aXRfZm40KHZvaWQqIGFyZykgeworICBzdGQ6OnN0cmluZyogY2FsbF9zZXF1ZW5jZSA9IHN0YXRpY19jYXN0PHN0ZDo6c3RyaW5nKj4oYXJnKTsKKyAgKmNhbGxfc2VxdWVuY2UgKz0gImZvdXIsICI7Cit9CisKK3N0YXRpYyB2b2lkIHRocmVhZF9hdGV4aXRfZm41KHZvaWQqIGFyZykgeworICBzdGQ6OnN0cmluZyogY2FsbF9zZXF1ZW5jZSA9IHN0YXRpY19jYXN0PHN0ZDo6c3RyaW5nKj4oYXJnKTsKKyAgKmNhbGxfc2VxdWVuY2UgKz0gImZpdmUuIjsKK30KKworc3RhdGljIHZvaWQqIHRocmVhZF9tYWluKHZvaWQqIGFyZykgeworICBfX2N4YV90aHJlYWRfYXRleGl0X2ltcGwodGhyZWFkX2F0ZXhpdF9mbjUsIGFyZywgbnVsbHB0cik7CisgIF9fY3hhX3RocmVhZF9hdGV4aXRfaW1wbCh0aHJlYWRfYXRleGl0X2ZuNCwgYXJnLCBudWxscHRyKTsKKyAgX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsKHRocmVhZF9hdGV4aXRfZm4zLCBhcmcsIG51bGxwdHIpOworICBfX2N4YV90aHJlYWRfYXRleGl0X2ltcGwodGhyZWFkX2F0ZXhpdF9mbjIsIGFyZywgbnVsbHB0cik7CisgIF9fY3hhX3RocmVhZF9hdGV4aXRfaW1wbCh0aHJlYWRfYXRleGl0X2ZuMSwgYXJnLCBudWxscHRyKTsKKyAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1RFU1QoX19jeGFfdGhyZWFkX2F0ZXhpdF9pbXBsLCBzbW9rZSkgeworICBzdGQ6OnN0cmluZyBhdGV4aXRfY2FsbF9zZXF1ZW5jZTsKKworICBwdGhyZWFkX3QgdDsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0LCBudWxscHRyLCB0aHJlYWRfbWFpbiwgJmF0ZXhpdF9jYWxsX3NlcXVlbmNlKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4odCwgbnVsbHB0cikpOworICBBU1NFUlRfRVEoIm9uZSwgdHdvLCB0aHJlZSwgb29wcywgZm91ciwgZml2ZS4iLCBhdGV4aXRfY2FsbF9zZXF1ZW5jZSk7Cit9CisKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvYXRleGl0X3Rlc3QuY3BwIGIvdGVzdHMvYXRleGl0X3Rlc3QuY3BwCmluZGV4IGUwMTIyMGUuLmU5Mjg4OWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2F0ZXhpdF90ZXN0LmNwcAorKysgYi90ZXN0cy9hdGV4aXRfdGVzdC5jcHAKQEAgLTI0LDIwICsyNCwzMyBAQAogCiAjaW5jbHVkZSA8c3RyaW5nPgogCi1URVNUKGF0ZXhpdCwgZGxjbG9zZSkgeworVEVTVChhdGV4aXQsIHNvZmlsZSkgewogICBzdGQ6OnN0cmluZyBhdGV4aXRfY2FsbF9zZXF1ZW5jZTsKICAgYm9vbCB2YWxpZF90aGlzX2luX3N0YXRpY19kdG9yID0gZmFsc2U7CisgIGJvb2wgYXR0cl9kdG9yX2NhbGxlZCA9IGZhbHNlOworCiAgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9hdGV4aXQuc28iLCBSVExEX05PVyk7Ci0gIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBOVUxMKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpOworCisgIHR5cGVkZWYgaW50ICgqaW50X2ZuKSh2b2lkKTsKKyAgaW50X2ZuIGdldF9jeHhfY3Rvcl9jYWxsZWQsIGdldF9hdHRyX2N0b3JfY2FsbGVkOworICBnZXRfY3h4X2N0b3JfY2FsbGVkID0gcmVpbnRlcnByZXRfY2FzdDxpbnRfZm4+KGRsc3ltKGhhbmRsZSwgImdldF9jeHhfY3Rvcl9jYWxsZWQiKSk7CisgIGdldF9hdHRyX2N0b3JfY2FsbGVkID0gcmVpbnRlcnByZXRfY2FzdDxpbnRfZm4+KGRsc3ltKGhhbmRsZSwgImdldF9hdHRyX2N0b3JfY2FsbGVkIikpOworICBBU1NFUlRfVFJVRShnZXRfY3h4X2N0b3JfY2FsbGVkICE9IG51bGxwdHIpOworICBBU1NFUlRfVFJVRShnZXRfYXR0cl9jdG9yX2NhbGxlZCAhPSBudWxscHRyKTsKKworICBBU1NFUlRfRVEoMSwgZ2V0X2N4eF9jdG9yX2NhbGxlZCgpKTsKKyAgQVNTRVJUX0VRKDEsIGdldF9hdHRyX2N0b3JfY2FsbGVkKCkpOwogCiAgIHZvaWQqIHN5bSA9IGRsc3ltKGhhbmRsZSwgInJlZ2lzdGVyX2F0ZXhpdCIpOwotICBBU1NFUlRfVFJVRShzeW0gIT0gTlVMTCk7Ci0gIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAoKikoc3RkOjpzdHJpbmcqLCBib29sKik+KHN5bSkoJmF0ZXhpdF9jYWxsX3NlcXVlbmNlLCAmdmFsaWRfdGhpc19pbl9zdGF0aWNfZHRvcik7CisgIEFTU0VSVF9UUlVFKHN5bSAhPSBudWxscHRyKTsKKyAgcmVpbnRlcnByZXRfY2FzdDx2b2lkICgqKShzdGQ6OnN0cmluZyosIGJvb2wqLCBib29sKik+KHN5bSkoJmF0ZXhpdF9jYWxsX3NlcXVlbmNlLCAmdmFsaWRfdGhpc19pbl9zdGF0aWNfZHRvciwgJmF0dHJfZHRvcl9jYWxsZWQpOwogCiAgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKGhhbmRsZSkpOwogICAvLyB0aGlzIHRlc3QgdmVyaWZpZXMgYXRleGl0IGNhbGwgZnJvbSBhdGV4aXQgaGFuZGxlci4gYXMgd2VsbCBhcyB0aGUgb3JkZXIgb2YgY2FsbHMKICAgQVNTRVJUX0VRKCJIdW1wdHkgRHVtcHR5IHNhdCBvbiBhIHdhbGwiLCBhdGV4aXRfY2FsbF9zZXF1ZW5jZSk7CiAgIEFTU0VSVF9UUlVFKHZhbGlkX3RoaXNfaW5fc3RhdGljX2R0b3IpOworICBBU1NFUlRfVFJVRShhdHRyX2R0b3JfY2FsbGVkKTsKIH0KIAogY2xhc3MgVGVzdE1haW5TdGF0aWNEdG9yQ2xhc3MgewpAQCAtNTcsNyArNzAsNyBAQAogICBzdGF0aWMgY29uc3QgVGVzdE1haW5TdGF0aWNEdG9yQ2xhc3MqIGV4cGVjdGVkX3RoaXM7CiB9OwogCi1jb25zdCBUZXN0TWFpblN0YXRpY0R0b3JDbGFzcyogVGVzdE1haW5TdGF0aWNEdG9yQ2xhc3M6OmV4cGVjdGVkX3RoaXMgPSBOVUxMOworY29uc3QgVGVzdE1haW5TdGF0aWNEdG9yQ2xhc3MqIFRlc3RNYWluU3RhdGljRHRvckNsYXNzOjpleHBlY3RlZF90aGlzID0gbnVsbHB0cjsKIAogc3RhdGljIHZvaWQgYXRleGl0X2Z1bmM1KCkgewogICBmcHJpbnRmKHN0ZGVyciwgIjUiKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvbXBsZXhfdGVzdC5jcHAgYi90ZXN0cy9jb21wbGV4X3Rlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3OTY0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21wbGV4X3Rlc3QuY3BwCkBAIC0wLDAgKzEsMjYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKKy8vIGxpYmMrKyBhY3RpdmVseSBnZXRzIGluIHRoZSB3YXkgb2YgaW5jbHVkaW5nIDxjb21wbGV4Lmg+IGZyb20gQysrLCBzbyB3ZQorLy8gaGF2ZSB0byBkZWNsYXJlIHRoZSBjb21wbGV4IG1hdGggZnVuY3Rpb25zIG91cnNlbHZlcy4KKy8vIChsaWJjKysgYWxzbyBzZWVtcyB0byBoYXZlIHJlYWxseSBiYWQgaW1wbGVtZW50YXRpb25zIG9mIGl0cyBvd24gdGhhdCBpZ25vcmUKKy8vIHRoZSBpbnRyaWNhY2llcyBvZiBmbG9hdGluZyBwb2ludCBtYXRoLikKKy8vIGh0dHA6Ly9sbHZtLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD0yMTUwNAorCisjaW5jbHVkZSA8bWF0aC5oPiAvLyBGb3IgTV9QSS4KKworZXh0ZXJuICJDIiBkb3VibGUgY2Ficyhkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjYWJzKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNhYnMoMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IGNhYnNmKGZsb2F0IF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2Fic2YpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2Fic2YoMCkpOworfQorCitleHRlcm4gIkMiIGxvbmcgZG91YmxlIGNhYnNsKGxvbmcgZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2Fic2wpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2Fic2woMCkpOworfQorCitleHRlcm4gIkMiIGRvdWJsZSBfQ29tcGxleCBjYWNvcyhkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjYWNvcykgeworICBBU1NFUlRfRVEoTV9QSS8yLjAsIGNhY29zKDAuMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IF9Db21wbGV4IGNhY29zZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNhY29zZikgeworICBBU1NFUlRfRVEoc3RhdGljX2Nhc3Q8ZmxvYXQ+KE1fUEkpLzIuMGYsIGNhY29zZigwLjApKTsKK30KKworZXh0ZXJuICJDIiBkb3VibGUgX0NvbXBsZXggY2Fjb3NoKGRvdWJsZSBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNhY29zaCkgeworICBBU1NFUlRfRVEoMC4wLCBjYWNvc2goMS4wKSk7Cit9CisKK2V4dGVybiAiQyIgZmxvYXQgX0NvbXBsZXggY2Fjb3NoZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNhY29zaGYpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2Fjb3NoZigxLjApKTsKK30KKworZXh0ZXJuICJDIiBkb3VibGUgY2FyZyhkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjYXJnKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNhcmcoMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IGNhcmdmKGZsb2F0IF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2FyZ2YpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2FyZ2YoMCkpOworfQorCitleHRlcm4gIkMiIGxvbmcgZG91YmxlIGNhcmdsKGxvbmcgZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2FyZ2wpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2FyZ2woMCkpOworfQorCitleHRlcm4gIkMiIGRvdWJsZSBfQ29tcGxleCBjYXNpbihkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjYXNpbikgeworICBBU1NFUlRfRVEoMC4wLCBjYXNpbigwKSk7Cit9CisKK2V4dGVybiAiQyIgZmxvYXQgX0NvbXBsZXggY2FzaW5mKGZsb2F0IF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2FzaW5mKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNhc2luZigwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIF9Db21wbGV4IGNhc2luaChkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjYXNpbmgpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2FzaW5oKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBfQ29tcGxleCBjYXNpbmhmKGZsb2F0IF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2FzaW5oZikgeworICBBU1NFUlRfRVEoMC4wLCBjYXNpbmhmKDApKTsKK30KKworZXh0ZXJuICJDIiBkb3VibGUgX0NvbXBsZXggY2F0YW4oZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2F0YW4pIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2F0YW4oMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IF9Db21wbGV4IGNhdGFuZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNhdGFuZikgeworICBBU1NFUlRfRVEoMC4wLCBjYXRhbmYoMCkpOworfQorCitleHRlcm4gIkMiIGRvdWJsZSBfQ29tcGxleCBjYXRhbmgoZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2F0YW5oKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNhdGFuaCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZmxvYXQgX0NvbXBsZXggY2F0YW5oZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNhdGFuaGYpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY2F0YW5oZigwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIF9Db21wbGV4IGNjb3MoZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2NvcykgeworICBBU1NFUlRfRVEoMS4wLCBjY29zKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBfQ29tcGxleCBjY29zZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNjb3NmKSB7CisgIEFTU0VSVF9FUSgxLjAsIGNjb3NmKDApKTsKK30KKworZXh0ZXJuICJDIiBkb3VibGUgX0NvbXBsZXggY2Nvc2goZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2Nvc2gpIHsKKyAgQVNTRVJUX0VRKDEuMCwgY2Nvc2goMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IF9Db21wbGV4IGNjb3NoZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNjb3NoZikgeworICBBU1NFUlRfRVEoMS4wLCBjY29zaGYoMCkpOworfQorCitleHRlcm4gIkMiIGRvdWJsZSBfQ29tcGxleCBjZXhwKGRvdWJsZSBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNleHApIHsKKyAgQVNTRVJUX0VRKDEuMCwgY2V4cCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZmxvYXQgX0NvbXBsZXggY2V4cGYoZmxvYXQgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjZXhwZikgeworICBBU1NFUlRfRVEoMS4wLCBjZXhwZigwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIGNpbWFnKGRvdWJsZSBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNpbWFnKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNpbWFnKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBjaW1hZ2YoZmxvYXQgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjaW1hZ2YpIHsKKyAgQVNTRVJUX0VRKDAuMGYsIGNpbWFnZigwKSk7Cit9CisKK2V4dGVybiAiQyIgbG9uZyBkb3VibGUgY2ltYWdsKGxvbmcgZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY2ltYWdsKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNpbWFnbCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIF9Db21wbGV4IGNvbmooZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY29uaikgeworICBBU1NFUlRfRVEoMC4wLCBjb25qKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBfQ29tcGxleCBjb25qZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNvbmpmKSB7CisgIEFTU0VSVF9FUSgwLjBmLCBjb25qZigwKSk7Cit9CisKK2V4dGVybiAiQyIgbG9uZyBkb3VibGUgX0NvbXBsZXggY29uamwobG9uZyBkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjb25qbCkgeworICBBU1NFUlRfRVEoMC4wLCBjb25qbCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIF9Db21wbGV4IGNwcm9qKGRvdWJsZSBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNwcm9qKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNwcm9qKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBfQ29tcGxleCBjcHJvamYoZmxvYXQgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjcHJvamYpIHsKKyAgQVNTRVJUX0VRKDAuMGYsIGNwcm9qZigwKSk7Cit9CisKK2V4dGVybiAiQyIgbG9uZyBkb3VibGUgX0NvbXBsZXggY3Byb2psKGxvbmcgZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3Byb2psKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNwcm9qbCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIGNyZWFsKGRvdWJsZSBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNyZWFsKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNyZWFsKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBjcmVhbGYoZmxvYXQgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjcmVhbGYpIHsKKyAgQVNTRVJUX0VRKDAuMGYsIGNyZWFsZigwKSk7Cit9CisKK2V4dGVybiAiQyIgbG9uZyBkb3VibGUgY3JlYWxsKGxvbmcgZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3JlYWxsKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNyZWFsbCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIF9Db21wbGV4IGNzaW4oZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3NpbikgeworICBBU1NFUlRfRVEoMC4wLCBjc2luKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBfQ29tcGxleCBjc2luZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNzaW5mKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNzaW5mKDApKTsKK30KKworZXh0ZXJuICJDIiBkb3VibGUgX0NvbXBsZXggY3NpbmgoZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3NpbmgpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY3NpbmgoMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IF9Db21wbGV4IGNzaW5oZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGNzaW5oZikgeworICBBU1NFUlRfRVEoMC4wLCBjc2luaGYoMCkpOworfQorCitleHRlcm4gIkMiIGRvdWJsZSBfQ29tcGxleCBjc3FydChkb3VibGUgX0NvbXBsZXgpOworVEVTVChjb21wbGV4LCBjc3FydCkgeworICBBU1NFUlRfRVEoMC4wLCBjc3FydCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZmxvYXQgX0NvbXBsZXggY3NxcnRmKGZsb2F0IF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3NxcnRmKSB7CisgIEFTU0VSVF9FUSgwLjBmLCBjc3FydCgwKSk7Cit9CisKK2V4dGVybiAiQyIgbG9uZyBkb3VibGUgX0NvbXBsZXggY3NxcnRsKGxvbmcgZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3NxcnRsKSB7CisgIEFTU0VSVF9FUSgwLjAsIGNzcXJ0bCgwKSk7Cit9CisKK2V4dGVybiAiQyIgZG91YmxlIF9Db21wbGV4IGN0YW4oZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3RhbikgeworICBBU1NFUlRfRVEoMC4wLCBjdGFuKDApKTsKK30KKworZXh0ZXJuICJDIiBmbG9hdCBfQ29tcGxleCBjdGFuZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGN0YW5mKSB7CisgIEFTU0VSVF9FUSgwLjAsIGN0YW5mKDApKTsKK30KKworZXh0ZXJuICJDIiBkb3VibGUgX0NvbXBsZXggY3RhbmgoZG91YmxlIF9Db21wbGV4KTsKK1RFU1QoY29tcGxleCwgY3RhbmgpIHsKKyAgQVNTRVJUX0VRKDAuMCwgY3RhbmgoMCkpOworfQorCitleHRlcm4gIkMiIGZsb2F0IF9Db21wbGV4IGN0YW5oZihmbG9hdCBfQ29tcGxleCk7CitURVNUKGNvbXBsZXgsIGN0YW5oZikgeworICBBU1NFUlRfRVEoMC4wLCBjdGFuaGYoMCkpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGlyZW50X3Rlc3QuY3BwIGIvdGVzdHMvZGlyZW50X3Rlc3QuY3BwCmluZGV4IDZhYWRiMzcuLjIxNGRkNzggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RpcmVudF90ZXN0LmNwcAorKysgYi90ZXN0cy9kaXJlbnRfdGVzdC5jcHAKQEAgLTIzMSwzICsyMzEsNTAgQEAKICAgICBBU1NFUlRfRVEocGFzczFbaV0sIHBhc3MyW2ldKTsKICAgfQogfQorCitURVNUKGRpcmVudCwgc2Vla2Rpcl90ZWxsZGlyKSB7CisgIERJUiogZCA9IG9wZW5kaXIoIi9wcm9jL3NlbGYiKTsKKyAgQVNTRVJUX1RSVUUoZCAhPSBOVUxMKTsKKyAgc3RkOjp2ZWN0b3I8bG9uZz4gb2Zmc2V0X2xpc3Q7CisgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBuYW1lX2xpc3Q7CisgIGRpcmVudCogZSA9IE5VTEw7CisKKyAgb2Zmc2V0X2xpc3QucHVzaF9iYWNrKHRlbGxkaXIoZCkpOworICBBU1NFUlRfRVEoMEwsIG9mZnNldF9saXN0LmJhY2soKSk7CisKKyAgd2hpbGUgKChlID0gcmVhZGRpcihkKSkgIT0gTlVMTCkgeworICAgIG5hbWVfbGlzdC5wdXNoX2JhY2soZS0+ZF9uYW1lKTsKKyAgICBvZmZzZXRfbGlzdC5wdXNoX2JhY2sodGVsbGRpcihkKSk7CisgICAgLy8gTWFrZSBzdXJlIHRlbGxkaXIoKSBwb2ludCB0byB0aGUgbmV4dCBlbnRyeS4KKyAgICBBU1NFUlRfRVEoZS0+ZF9vZmYsIG9mZnNldF9saXN0LmJhY2soKSk7CisgIH0KKworICBsb25nIGVuZF9vZmZzZXQgPSB0ZWxsZGlyKGQpOworICAvLyB0ZWxsZGlyKCkgc2hvdWxkIG5vdCBwYXNzIHRoZSBlbmQgb2YgdGhlIGZpbGUuCisgIEFTU0VSVF9FUShvZmZzZXRfbGlzdC5iYWNrKCksIGVuZF9vZmZzZXQpOworICBvZmZzZXRfbGlzdC5wb3BfYmFjaygpOworCisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb2Zmc2V0X2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICBzZWVrZGlyKGQsIG9mZnNldF9saXN0W2ldKTsKKyAgICBBU1NFUlRfRVEob2Zmc2V0X2xpc3RbaV0sIHRlbGxkaXIoZCkpOworICAgIGUgPSByZWFkZGlyKGQpOworICAgIEFTU0VSVF9UUlVFKGUgIT0gTlVMTCk7CisgICAgQVNTRVJUX1NUUkVRKG5hbWVfbGlzdFtpXS5jX3N0cigpLCBlLT5kX25hbWUpOworICB9CisgIGZvciAoaW50IGkgPSBzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldF9saXN0LnNpemUoKSkgLSAxOyBpID49IDA7IC0taSkgeworICAgIHNlZWtkaXIoZCwgb2Zmc2V0X2xpc3RbaV0pOworICAgIEFTU0VSVF9FUShvZmZzZXRfbGlzdFtpXSwgdGVsbGRpcihkKSk7CisgICAgZSA9IHJlYWRkaXIoZCk7CisgICAgQVNTRVJUX1RSVUUoZSAhPSBOVUxMKTsKKyAgICBBU1NFUlRfU1RSRVEobmFtZV9saXN0W2ldLmNfc3RyKCksIGUtPmRfbmFtZSk7CisgIH0KKworICAvLyBTZWVrIHRvIHRoZSBlbmQsIHJlYWQgTlVMTC4KKyAgc2Vla2RpcihkLCBlbmRfb2Zmc2V0KTsKKyAgQVNTRVJUX0VRKGVuZF9vZmZzZXQsIHRlbGxkaXIoZCkpOworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUShOVUxMLCByZWFkZGlyKGQpKTsKKyAgQVNTRVJUX0VRKDAsIGVycm5vKTsKKworICBBU1NFUlRfRVEoMCwgY2xvc2VkaXIoZCkpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGxfdGVzdC5jcHAgYi90ZXN0cy9kbF90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGM3YjUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGxfdGVzdC5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSA8ZGxmY24uaD4KKyNpbmNsdWRlIDxsaWJnZW4uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSA8c3RyaW5nPgorCitleHRlcm4gIkMiIGludCBtYWluX2dsb2JhbF9kZWZhdWx0X3NlcmlhbCgpIHsKKyAgcmV0dXJuIDMzNzAzMTg7Cit9CisKK2V4dGVybiAiQyIgaW50IG1haW5fZ2xvYmFsX3Byb3RlY3RlZF9zZXJpYWwoKSB7CisgIHJldHVybiAyNzE2MDU3OworfQorCisvLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBEVF9ORUVERUQKKy8vIGxpYmRsX3ByZWVtcHRfdGVzdC5zbyBsaWJyYXJ5LgorCisvLyBUaGlzIG9uZSBjYWxscyBtYWluX2dsb2JhbF9kZWZhdWx0X3NlcmlhbAorZXh0ZXJuICJDIiBpbnQgbWFpbl9nbG9iYWxfZGVmYXVsdF9nZXRfc2VyaWFsKCk7CisKKy8vIFRoaXMgb25lIGNhbGxzIG1haW5fZ2xvYmFsX3Byb3RlY3RlZF9zZXJpYWwKK2V4dGVybiAiQyIgaW50IG1haW5fZ2xvYmFsX3Byb3RlY3RlZF9nZXRfc2VyaWFsKCk7CisKKy8vIFRoaXMgb25lIGNhbGxzIGxpYl9nbG9iYWxfZGVmYXVsdF9zZXJpYWwKK2V4dGVybiAiQyIgaW50IGxpYl9nbG9iYWxfZGVmYXVsdF9nZXRfc2VyaWFsKCk7CisKKy8vIFRoaXMgb25lIGNhbGxzIGxpYl9nbG9iYWxfcHJvdGVjdGVkX3NlcmlhbAorZXh0ZXJuICJDIiBpbnQgbGliX2dsb2JhbF9wcm90ZWN0ZWRfZ2V0X3NlcmlhbCgpOworCisvLyBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgZ2xvYmFsIGRlZmF1bHQgZnVuY3Rpb24KKy8vIG1haW5fZ2xvYmFsX2RlZmF1bHRfc2VyaWFsKCkgaXMgcHJlZW1wdGVkIGJ5CisvLyB0aGUgZnVuY3Rpb24gZGVmaW5lZCBhYm92ZS4KK1RFU1QoZGwsIG1haW5fcHJlZW1wdHNfZ2xvYmFsX2RlZmF1bHQpIHsKKyAgQVNTRVJUX0VRKDMzNzAzMTgsIG1haW5fZ2xvYmFsX2RlZmF1bHRfZ2V0X3NlcmlhbCgpKTsKK30KKworLy8gVGhpcyBvbmUgbWFrZXMgc3VyZSB0aGF0IHRoZSBnbG9iYWwgcHJvdGVjdGVkCisvLyBzeW1ib2xzIGRvIG5vdCBnZXQgcHJlZW1wdGVkCitURVNUKGRsLCBtYWluX2RvZXNfbm90X3ByZWVtcHRfZ2xvYmFsX3Byb3RlY3RlZCkgeworICBBU1NFUlRfRVEoMzM3MDMxOCwgbWFpbl9nbG9iYWxfcHJvdGVjdGVkX2dldF9zZXJpYWwoKSk7Cit9CisKKy8vIGNoZWNrIHNhbWUgdGhpbmdzIGZvciBsaWIKK1RFU1QoZGwsIGxpYl9wcmVlbXB0c19nbG9iYWxfZGVmYXVsdCkgeworICBBU1NFUlRfRVEoMzM3MDMxOCwgbGliX2dsb2JhbF9kZWZhdWx0X2dldF9zZXJpYWwoKSk7Cit9CisKK1RFU1QoZGwsIGxpYl9kb2VzX25vdF9wcmVlbXB0X2dsb2JhbF9wcm90ZWN0ZWQpIHsKKyAgQVNTRVJUX0VRKDMzNzAzMTgsIGxpYl9nbG9iYWxfcHJvdGVjdGVkX2dldF9zZXJpYWwoKSk7Cit9CisKKy8vIFRPRE86IEFkZCB0ZXN0cyBmb3IgTERfUFJFTE9BRHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2RsZXh0X3Rlc3QuY3BwIGIvdGVzdHMvZGxleHRfdGVzdC5jcHAKaW5kZXggN2Y3MDZjMS4uNTZhOGY2ZiAxMDA2NDQKLS0tIGEvdGVzdHMvZGxleHRfdGVzdC5jcHAKKysrIGIvdGVzdHMvZGxleHRfdGVzdC5jcHAKQEAgLTE3LDggKzE3LDEwIEBACiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAogI2luY2x1ZGUgPGRsZmNuLmg+CisjaW5jbHVkZSA8ZWxmLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTI5LDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgPHBhZ2VtYXAvcGFnZW1hcC5oPgogCisjaW5jbHVkZSAiVGVtcG9yYXJ5RmlsZS5oIgogCiAjZGVmaW5lIEFTU0VSVF9ETF9OT1ROVUxMKHB0cikgXAogICAgIEFTU0VSVF9UUlVFKHB0ciAhPSBudWxscHRyKSA8PCAiZGxlcnJvcjogIiA8PCBkbGVycm9yKCkKQEAgLTM5LDYgKzQyLDkgQEAKICNkZWZpbmUgQVNTRVJUX05PRVJST1IoaSkgXAogICAgIEFTU0VSVF9ORSgtMSwgaSkgPDwgImVycm5vOiAiIDw8IHN0cmVycm9yKGVycm5vKQogCisjZGVmaW5lIEFTU0VSVF9TVUJTVFIobmVlZGxlLCBoYXlzdGFjaykgXAorICAgIEFTU0VSVF9QUkVEX0ZPUk1BVDIoOjp0ZXN0aW5nOjpJc1N1YnN0cmluZywgbmVlZGxlLCBoYXlzdGFjaykKKwogCiB0eXBlZGVmIGludCAoKmZuKSh2b2lkKTsKICNkZWZpbmUgTElCTkFNRSAibGliZGxleHRfdGVzdC5zbyIKQEAgLTQ2LDkgKzUyLDkgQEAKICNkZWZpbmUgTElCU0laRSAxMDI0KjEwMjQgLy8gaG93IG11Y2ggYWRkcmVzcyBzcGFjZSB0byByZXNlcnZlIGZvciBpdAogCiAjaWYgZGVmaW5lZChfX0xQNjRfXykKLSNkZWZpbmUgTElCUEFUSF9QUkVGSVggIiVzL25hdGl2ZXRlc3Q2NC9saWJkbGV4dF90ZXN0X2ZkLyIKKyNkZWZpbmUgTElCUEFUSF9QUkVGSVggIi9uYXRpdmV0ZXN0NjQvbGliZGxleHRfdGVzdF9mZC8iCiAjZWxzZQotI2RlZmluZSBMSUJQQVRIX1BSRUZJWCAiJXMvbmF0aXZldGVzdC9saWJkbGV4dF90ZXN0X2ZkLyIKKyNkZWZpbmUgTElCUEFUSF9QUkVGSVggIi9uYXRpdmV0ZXN0L2xpYmRsZXh0X3Rlc3RfZmQvIgogI2VuZGlmCiAKICNkZWZpbmUgTElCUEFUSCBMSUJQQVRIX1BSRUZJWCAibGliZGxleHRfdGVzdF9mZC5zbyIKQEAgLTk3LDE2ICsxMDMsMTMgQEAKIH0KIAogVEVTVF9GKERsRXh0VGVzdCwgRXh0SW5mb1VzZUZkKSB7Ci0gIGNvbnN0IGNoYXIqIGFuZHJvaWRfZGF0YSA9IGdldGVudigiQU5EUk9JRF9EQVRBIik7Ci0gIEFTU0VSVF9UUlVFKGFuZHJvaWRfZGF0YSAhPSBudWxscHRyKTsKLSAgY2hhciBsaWJfcGF0aFtQQVRIX01BWF07Ci0gIHNucHJpbnRmKGxpYl9wYXRoLCBzaXplb2YobGliX3BhdGgpLCBMSUJQQVRILCBhbmRyb2lkX2RhdGEpOworICBjb25zdCBzdGQ6OnN0cmluZyBsaWJfcGF0aCA9IHN0ZDo6c3RyaW5nKGdldGVudigiQU5EUk9JRF9EQVRBIikpICsgTElCUEFUSDsKIAogICBhbmRyb2lkX2RsZXh0aW5mbyBleHRpbmZvOwogICBleHRpbmZvLmZsYWdzID0gQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRDsKLSAgZXh0aW5mby5saWJyYXJ5X2ZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4obGliX3BhdGgsIE9fUkRPTkxZIHwgT19DTE9FWEVDKSk7CisgIGV4dGluZm8ubGlicmFyeV9mZCA9IFRFTVBfRkFJTFVSRV9SRVRSWShvcGVuKGxpYl9wYXRoLmNfc3RyKCksIE9fUkRPTkxZIHwgT19DTE9FWEVDKSk7CiAgIEFTU0VSVF9UUlVFKGV4dGluZm8ubGlicmFyeV9mZCAhPSAtMSk7Ci0gIGhhbmRsZV8gPSBhbmRyb2lkX2Rsb3Blbl9leHQobGliX3BhdGgsIFJUTERfTk9XLCAmZXh0aW5mbyk7CisgIGhhbmRsZV8gPSBhbmRyb2lkX2Rsb3Blbl9leHQobGliX3BhdGguY19zdHIoKSwgUlRMRF9OT1csICZleHRpbmZvKTsKICAgQVNTRVJUX0RMX05PVE5VTEwoaGFuZGxlXyk7CiAgIGZuIGYgPSByZWludGVycHJldF9jYXN0PGZuPihkbHN5bShoYW5kbGVfLCAiZ2V0UmFuZG9tTnVtYmVyIikpOwogICBBU1NFUlRfRExfTk9UTlVMTChmKTsKQEAgLTExNCwxOCArMTE3LDE0IEBACiB9CiAKIFRFU1RfRihEbEV4dFRlc3QsIEV4dEluZm9Vc2VGZFdpdGhPZmZzZXQpIHsKLSAgY29uc3QgY2hhciogYW5kcm9pZF9kYXRhID0gZ2V0ZW52KCJBTkRST0lEX0RBVEEiKTsKLSAgQVNTRVJUX1RSVUUoYW5kcm9pZF9kYXRhICE9IG51bGxwdHIpOwotCi0gIGNoYXIgbGliX3BhdGhbUEFUSF9NQVhdOwotICBzbnByaW50ZihsaWJfcGF0aCwgc2l6ZW9mKGxpYl9wYXRoKSwgTElCWklQUEFUSCwgYW5kcm9pZF9kYXRhKTsKKyAgY29uc3Qgc3RkOjpzdHJpbmcgbGliX3BhdGggPSBzdGQ6OnN0cmluZyhnZXRlbnYoIkFORFJPSURfREFUQSIpKSArIExJQlpJUFBBVEg7CiAKICAgYW5kcm9pZF9kbGV4dGluZm8gZXh0aW5mbzsKICAgZXh0aW5mby5mbGFncyA9IEFORFJPSURfRExFWFRfVVNFX0xJQlJBUllfRkQgfCBBTkRST0lEX0RMRVhUX1VTRV9MSUJSQVJZX0ZEX09GRlNFVDsKLSAgZXh0aW5mby5saWJyYXJ5X2ZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4obGliX3BhdGgsIE9fUkRPTkxZIHwgT19DTE9FWEVDKSk7CisgIGV4dGluZm8ubGlicmFyeV9mZCA9IFRFTVBfRkFJTFVSRV9SRVRSWShvcGVuKGxpYl9wYXRoLmNfc3RyKCksIE9fUkRPTkxZIHwgT19DTE9FWEVDKSk7CiAgIGV4dGluZm8ubGlicmFyeV9mZF9vZmZzZXQgPSBMSUJaSVBfT0ZGU0VUOwogCi0gIGhhbmRsZV8gPSBhbmRyb2lkX2Rsb3Blbl9leHQobGliX3BhdGgsIFJUTERfTk9XLCAmZXh0aW5mbyk7CisgIGhhbmRsZV8gPSBhbmRyb2lkX2Rsb3Blbl9leHQobGliX3BhdGguY19zdHIoKSwgUlRMRF9OT1csICZleHRpbmZvKTsKICAgQVNTRVJUX0RMX05PVE5VTEwoaGFuZGxlXyk7CiAKICAgZm4gZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Zm4+KGRsc3ltKGhhbmRsZV8sICJnZXRSYW5kb21OdW1iZXIiKSk7CkBAIC0xMzQsMjcgKzEzMywzNiBAQAogfQogCiBURVNUX0YoRGxFeHRUZXN0LCBFeHRJbmZvVXNlRmRXaXRoSW52YWxpZE9mZnNldCkgewotICBjb25zdCBjaGFyKiBhbmRyb2lkX2RhdGEgPSBnZXRlbnYoIkFORFJPSURfREFUQSIpOwotICBBU1NFUlRfVFJVRShhbmRyb2lkX2RhdGEgIT0gbnVsbHB0cik7Ci0KLSAgY2hhciBsaWJfcGF0aFtQQVRIX01BWF07Ci0gIHNucHJpbnRmKGxpYl9wYXRoLCBzaXplb2YobGliX3BhdGgpLCBMSUJaSVBQQVRILCBhbmRyb2lkX2RhdGEpOworICBjb25zdCBzdGQ6OnN0cmluZyBsaWJfcGF0aCA9IHN0ZDo6c3RyaW5nKGdldGVudigiQU5EUk9JRF9EQVRBIikpICsgTElCWklQUEFUSDsKKyAgLy8gbGliX3BhdGggaXMgcmVsYXRpdmUgd2hlbiAkQU5EUk9JRF9EQVRBIGlzIHJlbGF0aXZlCisgIGNoYXIgbGliX3JlYWxwYXRoX2J1ZltQQVRIX01BWF07CisgIEFTU0VSVF9UUlVFKHJlYWxwYXRoKGxpYl9wYXRoLmNfc3RyKCksIGxpYl9yZWFscGF0aF9idWYpID09IGxpYl9yZWFscGF0aF9idWYpOworICBjb25zdCBzdGQ6OnN0cmluZyBsaWJfcmVhbHBhdGggPSBzdGQ6OnN0cmluZyhsaWJfcmVhbHBhdGhfYnVmKTsKIAogICBhbmRyb2lkX2RsZXh0aW5mbyBleHRpbmZvOwogICBleHRpbmZvLmZsYWdzID0gQU5EUk9JRF9ETEVYVF9VU0VfTElCUkFSWV9GRCB8IEFORFJPSURfRExFWFRfVVNFX0xJQlJBUllfRkRfT0ZGU0VUOwotICBleHRpbmZvLmxpYnJhcnlfZmQgPSBURU1QX0ZBSUxVUkVfUkVUUlkob3BlbihsaWJfcGF0aCwgT19SRE9OTFkgfCBPX0NMT0VYRUMpKTsKKyAgZXh0aW5mby5saWJyYXJ5X2ZkID0gVEVNUF9GQUlMVVJFX1JFVFJZKG9wZW4obGliX3BhdGguY19zdHIoKSwgT19SRE9OTFkgfCBPX0NMT0VYRUMpKTsKICAgZXh0aW5mby5saWJyYXJ5X2ZkX29mZnNldCA9IDE3OwogCiAgIGhhbmRsZV8gPSBhbmRyb2lkX2Rsb3Blbl9leHQoImxpYm5hbWVfcGxhY2Vob2xkZXIiLCBSVExEX05PVywgJmV4dGluZm8pOwogICBBU1NFUlRfVFJVRShoYW5kbGVfID09IG51bGxwdHIpOwogICBBU1NFUlRfU1RSRVEoImRsb3BlbiBmYWlsZWQ6IGZpbGUgb2Zmc2V0IGZvciB0aGUgbGlicmFyeSBcImxpYm5hbWVfcGxhY2Vob2xkZXJcIiBpcyBub3QgcGFnZS1hbGlnbmVkOiAxNyIsIGRsZXJyb3IoKSk7CiAKLSAgZXh0aW5mby5saWJyYXJ5X2ZkX29mZnNldCA9ICg1TEw8PDU4KSArIFBBR0VfU0laRTsKKyAgLy8gVGVzdCBhbiBhZGRyZXNzIGFib3ZlIDJeNDQsIGZvciBodHRwOi8vYi8xODE3ODEyMSAuCisgIGV4dGluZm8ubGlicmFyeV9mZF9vZmZzZXQgPSAoNUxMPDw0OCkgKyBQQUdFX1NJWkU7CiAgIGhhbmRsZV8gPSBhbmRyb2lkX2Rsb3Blbl9leHQoImxpYm5hbWVfcGxhY2Vob2xkZXIiLCBSVExEX05PVywgJmV4dGluZm8pOwotCiAgIEFTU0VSVF9UUlVFKGhhbmRsZV8gPT0gbnVsbHB0cik7Ci0gIC8vIFRPRE86IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gcmVhZGluZyB3aXRoIG9mZnNldCA+IGZpbGVfc2l6ZQotICBBU1NFUlRfU1RSRVEoImRsb3BlbiBmYWlsZWQ6IFwibGlibmFtZV9wbGFjZWhvbGRlclwiIGhhcyBiYWQgRUxGIG1hZ2ljIiwgZGxlcnJvcigpKTsKKyAgQVNTRVJUX1NVQlNUUigiZGxvcGVuIGZhaWxlZDogZmlsZSBvZmZzZXQgZm9yIHRoZSBsaWJyYXJ5IFwibGlibmFtZV9wbGFjZWhvbGRlclwiID49IGZpbGUgc2l6ZSIsIGRsZXJyb3IoKSk7CisKKyAgZXh0aW5mby5saWJyYXJ5X2ZkX29mZnNldCA9IDBMTCAtIFBBR0VfU0laRTsKKyAgaGFuZGxlXyA9IGFuZHJvaWRfZGxvcGVuX2V4dCgibGlibmFtZV9wbGFjZWhvbGRlciIsIFJUTERfTk9XLCAmZXh0aW5mbyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZV8gPT0gbnVsbHB0cik7CisgIEFTU0VSVF9TVUJTVFIoImRsb3BlbiBmYWlsZWQ6IGZpbGUgb2Zmc2V0IGZvciB0aGUgbGlicmFyeSBcImxpYm5hbWVfcGxhY2Vob2xkZXJcIiBpcyBuZWdhdGl2ZSIsIGRsZXJyb3IoKSk7CisKKyAgZXh0aW5mby5saWJyYXJ5X2ZkX29mZnNldCA9IFBBR0VfU0laRTsKKyAgaGFuZGxlXyA9IGFuZHJvaWRfZGxvcGVuX2V4dCgibGlibmFtZV9pZ25vcmVkIiwgUlRMRF9OT1csICZleHRpbmZvKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlXyA9PSBudWxscHRyKTsKKyAgQVNTRVJUX0VRKCJkbG9wZW4gZmFpbGVkOiBcIiIgKyBsaWJfcmVhbHBhdGggKyAiXCIgaGFzIGJhZCBFTEYgbWFnaWMiLCBkbGVycm9yKCkpOwogCiAgIGNsb3NlKGV4dGluZm8ubGlicmFyeV9mZCk7CiB9CkBAIC0xNjksNiArMTc3LDgwIEBACiAgIEFTU0VSVF9TVFJFUSgiZGxvcGVuIGZhaWxlZDogaW52YWxpZCBleHRlbmRlZCBmbGFnIGNvbWJpbmF0aW9uIChBTkRST0lEX0RMRVhUX1VTRV9MSUJSQVJZX0ZEX09GRlNFVCB3aXRob3V0IEFORFJPSURfRExFWFRfVVNFX0xJQlJBUllfRkQpOiAweDIwIiwgZGxlcnJvcigpKTsKIH0KIAorVEVTVChkbGV4dCwgYW5kcm9pZF9kbG9wZW5fZXh0X2ZvcmNlX2xvYWRfc21va2UpIHsKKyAgLy8gMS4gT3BlbiBhY3R1YWwgZmlsZQorICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYmRsZXh0X3Rlc3Quc28iLCBSVExEX05PVyk7CisgIEFTU0VSVF9ETF9OT1ROVUxMKGhhbmRsZSk7CisgIC8vIDIuIE9wZW4gbGluayB3aXRoIGZvcmNlX2xvYWQgZmxhZyBzZXQKKyAgYW5kcm9pZF9kbGV4dGluZm8gZXh0aW5mbzsKKyAgZXh0aW5mby5mbGFncyA9IEFORFJPSURfRExFWFRfRk9SQ0VfTE9BRDsKKyAgdm9pZCogaGFuZGxlMiA9IGFuZHJvaWRfZGxvcGVuX2V4dCgibGliZGxleHRfdGVzdF92Mi5zbyIsIFJUTERfTk9XLCAmZXh0aW5mbyk7CisgIEFTU0VSVF9ETF9OT1ROVUxMKGhhbmRsZTIpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gaGFuZGxlMik7CisKKyAgZGxjbG9zZShoYW5kbGUyKTsKKyAgZGxjbG9zZShoYW5kbGUpOworfQorCitURVNUKGRsZXh0LCBhbmRyb2lkX2Rsb3Blbl9leHRfZm9yY2VfbG9hZF9zb25hbWVfZXhjZXB0aW9uKSB7CisgIC8vIENoZWNrIGlmIHNvbmFtZSBsb29rdXAgc3RpbGwgcmV0dXJucyBhbHJlYWR5IGxvYWRlZCBsaWJyYXJ5CisgIC8vIHdoZW4gQU5EUk9JRF9ETEVYVF9GT1JDRV9MT0FEIGZsYWcgaXMgc3BlY2lmaWVkLgorICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYmRsZXh0X3Rlc3RfdjIuc28iLCBSVExEX05PVyk7CisgIEFTU0VSVF9ETF9OT1ROVUxMKGhhbmRsZSk7CisKKyAgYW5kcm9pZF9kbGV4dGluZm8gZXh0aW5mbzsKKyAgZXh0aW5mby5mbGFncyA9IEFORFJPSURfRExFWFRfRk9SQ0VfTE9BRDsKKworICAvLyBOb3RlIHRoYXQgJ2xpYmRsZXh0X3Rlc3Quc28nIGlzIGR0X3NvbmFtZSBmb3IgbGliZGxleHRfdGVzdF92Mi5zbworICB2b2lkKiBoYW5kbGUyID0gYW5kcm9pZF9kbG9wZW5fZXh0KCJsaWJkbGV4dF90ZXN0LnNvIiwgUlRMRF9OT1csICZleHRpbmZvKTsKKworICBBU1NFUlRfRExfTk9UTlVMTChoYW5kbGUyKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlID09IGhhbmRsZTIpOworCisgIGRsY2xvc2UoaGFuZGxlMik7CisgIGRsY2xvc2UoaGFuZGxlKTsKK30KKworVEVTVChkbGZjbiwgZGxvcGVuX2Zyb21femlwX2Fic29sdXRlX3BhdGgpIHsKKyAgY29uc3Qgc3RkOjpzdHJpbmcgbGliX3BhdGggPSBzdGQ6OnN0cmluZyhnZXRlbnYoIkFORFJPSURfREFUQSIpKSArIExJQlpJUFBBVEg7CisKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKChsaWJfcGF0aCArICIhbGliZGlyL2xpYmRsZXh0X3Rlc3RfZmQuc28iKS5jX3N0cigpLCBSVExEX05PVyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisKKyAgaW50ICgqZm4pKHZvaWQpOworICBmbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50ICgqKSh2b2lkKT4oZGxzeW0oaGFuZGxlLCAiZ2V0UmFuZG9tTnVtYmVyIikpOworICBBU1NFUlRfVFJVRShmbiAhPSBudWxscHRyKTsKKyAgRVhQRUNUX0VRKDQsIGZuKCkpOworCisgIGRsY2xvc2UoaGFuZGxlKTsKK30KKworVEVTVChkbGZjbiwgZGxvcGVuX2Zyb21femlwX2xkX2xpYnJhcnlfcGF0aCkgeworICBjb25zdCBzdGQ6OnN0cmluZyBsaWJfcGF0aCA9IHN0ZDo6c3RyaW5nKGdldGVudigiQU5EUk9JRF9EQVRBIikpICsgTElCWklQUEFUSCArICIhbGliZGlyIjsKKworICB0eXBlZGVmIHZvaWQgKCpmbl90KShjb25zdCBjaGFyKik7CisgIGZuX3QgYW5kcm9pZF91cGRhdGVfTERfTElCUkFSWV9QQVRIID0KKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Zm5fdD4oZGxzeW0oUlRMRF9ERUZBVUxULCAiYW5kcm9pZF91cGRhdGVfTERfTElCUkFSWV9QQVRIIikpOworCisgIEFTU0VSVF9UUlVFKGFuZHJvaWRfdXBkYXRlX0xEX0xJQlJBUllfUEFUSCAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJkbGV4dF90ZXN0X2ZkLnNvIiwgUlRMRF9OT1cpOworICBBU1NFUlRfVFJVRShoYW5kbGUgPT0gbnVsbHB0cik7CisKKyAgYW5kcm9pZF91cGRhdGVfTERfTElCUkFSWV9QQVRIKGxpYl9wYXRoLmNfc3RyKCkpOworCisgIGhhbmRsZSA9IGRsb3BlbigibGliZGxleHRfdGVzdF9mZC5zbyIsIFJUTERfTk9XKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKworICBpbnQgKCpmbikodm9pZCk7CisgIGZuID0gcmVpbnRlcnByZXRfY2FzdDxpbnQgKCopKHZvaWQpPihkbHN5bShoYW5kbGUsICJnZXRSYW5kb21OdW1iZXIiKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpOworICBFWFBFQ1RfRVEoNCwgZm4oKSk7CisKKyAgZGxjbG9zZShoYW5kbGUpOworfQorCisKIFRFU1RfRihEbEV4dFRlc3QsIFJlc2VydmVkKSB7CiAgIHZvaWQqIHN0YXJ0ID0gbW1hcChudWxscHRyLCBMSUJTSVpFLCBQUk9UX05PTkUsIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywKICAgICAgICAgICAgICAgICAgICAgIC0xLCAwKTsKQEAgLTE4MSw3ICsyNjMsNyBAQAogICBBU1NFUlRfRExfTk9UTlVMTChoYW5kbGVfKTsKICAgZm4gZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Zm4+KGRsc3ltKGhhbmRsZV8sICJnZXRSYW5kb21OdW1iZXIiKSk7CiAgIEFTU0VSVF9ETF9OT1ROVUxMKGYpOwotICBFWFBFQ1RfR0UoZiwgc3RhcnQpOworICBFWFBFQ1RfR0UocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZiksIHN0YXJ0KTsKICAgRVhQRUNUX0xUKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGYpLAogICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc3RhcnQpICsgTElCU0laRSk7CiAgIEVYUEVDVF9FUSg0LCBmKCkpOwpAQCAtMjExLDcgKzI5Myw3IEBACiAgIEFTU0VSVF9ETF9OT1ROVUxMKGhhbmRsZV8pOwogICBmbiBmID0gcmVpbnRlcnByZXRfY2FzdDxmbj4oZGxzeW0oaGFuZGxlXywgImdldFJhbmRvbU51bWJlciIpKTsKICAgQVNTRVJUX0RMX05PVE5VTEwoZik7Ci0gIEVYUEVDVF9HRShmLCBzdGFydCk7CisgIEVYUEVDVF9HRShyZWludGVycHJldF9jYXN0PHZvaWQqPihmKSwgc3RhcnQpOwogICBFWFBFQ1RfTFQocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZiksCiAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PGNoYXIqPihzdGFydCkgKyBMSUJTSVpFKTsKICAgRVhQRUNUX0VRKDQsIGYoKSk7CkBAIC0yMjksOCArMzExLDkgQEAKICAgQVNTRVJUX0RMX05PVE5VTEwoaGFuZGxlXyk7CiAgIGZuIGYgPSByZWludGVycHJldF9jYXN0PGZuPihkbHN5bShoYW5kbGVfLCAiZ2V0UmFuZG9tTnVtYmVyIikpOwogICBBU1NFUlRfRExfTk9UTlVMTChmKTsKLSAgRVhQRUNUX1RSVUUoZiA8IHN0YXJ0IHx8IChyZWludGVycHJldF9jYXN0PHZvaWQqPihmKSA+PQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHN0YXJ0KSArIFBBR0VfU0laRSkpOworICBFWFBFQ1RfVFJVRShyZWludGVycHJldF9jYXN0PHZvaWQqPihmKSA8IHN0YXJ0IHx8CisgICAgICAgICAgICAgIChyZWludGVycHJldF9jYXN0PHZvaWQqPihmKSA+PQorICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc3RhcnQpICsgUEFHRV9TSVpFKSk7CiAgIEVYUEVDVF9FUSg0LCBmKCkpOwogfQogCkBAIC0yNDUsMjEgKzMyOCwxNCBAQAogICAgIGV4dGluZm9fLnJlc2VydmVkX2FkZHIgPSBzdGFydDsKICAgICBleHRpbmZvXy5yZXNlcnZlZF9zaXplID0gTElCU0laRTsKICAgICBleHRpbmZvXy5yZWxyb19mZCA9IC0xOwotCi0gICAgY29uc3QgY2hhciogYW5kcm9pZF9kYXRhID0gZ2V0ZW52KCJBTkRST0lEX0RBVEEiKTsKLSAgICBBU1NFUlRfVFJVRShhbmRyb2lkX2RhdGEgIT0gbnVsbHB0cik7Ci0gICAgc25wcmludGYocmVscm9fZmlsZV8sIHNpemVvZihyZWxyb19maWxlXyksICIlcy9sb2NhbC90bXAvbGliZGxleHRfdGVzdC5yZWxybyIsIGFuZHJvaWRfZGF0YSk7CiAgIH0KIAogICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKSB7CiAgICAgRGxFeHRUZXN0OjpUZWFyRG93bigpOwotICAgIGlmIChleHRpbmZvXy5yZWxyb19mZCAhPSAtMSkgewotICAgICAgQVNTRVJUX05PRVJST1IoY2xvc2UoZXh0aW5mb18ucmVscm9fZmQpKTsKLSAgICB9CiAgIH0KIAotICB2b2lkIENyZWF0ZVJlbHJvRmlsZShjb25zdCBjaGFyKiBsaWIpIHsKLSAgICBpbnQgcmVscm9fZmQgPSBvcGVuKHJlbHJvX2ZpbGVfLCBPX0NSRUFUIHwgT19SRFdSIHwgT19UUlVOQywgMDY0NCk7CisgIHZvaWQgQ3JlYXRlUmVscm9GaWxlKGNvbnN0IGNoYXIqIGxpYiwgY29uc3QgY2hhciogcmVscm9fZmlsZSkgeworICAgIGludCByZWxyb19mZCA9IG9wZW4ocmVscm9fZmlsZSwgT19SRFdSIHwgT19UUlVOQyk7CiAgICAgQVNTRVJUX05PRVJST1IocmVscm9fZmQpOwogCiAgICAgcGlkX3QgcGlkID0gZm9yaygpOwpAQCAtMjg0LDcgKzM2MCw3IEBACiAgICAgQVNTRVJUX0VRKDAsIFdFWElUU1RBVFVTKHN0YXR1cykpOwogCiAgICAgLy8gcmVvcGVuIGZpbGUgZm9yIHJlYWRpbmcgc28gaXQgY2FuIGJlIHVzZWQKLSAgICByZWxyb19mZCA9IG9wZW4ocmVscm9fZmlsZV8sIE9fUkRPTkxZKTsKKyAgICByZWxyb19mZCA9IG9wZW4ocmVscm9fZmlsZSwgT19SRE9OTFkpOwogICAgIEFTU0VSVF9OT0VSUk9SKHJlbHJvX2ZkKTsKICAgICBleHRpbmZvXy5mbGFncyB8PSBBTkRST0lEX0RMRVhUX1VTRV9SRUxSTzsKICAgICBleHRpbmZvXy5yZWxyb19mZCA9IHJlbHJvX2ZkOwpAQCAtMzAxLDMzICszNzcsNDUgQEAKICAgdm9pZCBTcGF3bkNoaWxkcmVuQW5kTWVhc3VyZVBzcyhjb25zdCBjaGFyKiBsaWIsIGJvb2wgc2hhcmVfcmVscm8sIHNpemVfdCogcHNzX291dCk7CiAKICAgYW5kcm9pZF9kbGV4dGluZm8gZXh0aW5mb187Ci0gIGNoYXIgcmVscm9fZmlsZV9bUEFUSF9NQVhdOwogfTsKIAogVEVTVF9GKERsRXh0UmVscm9TaGFyaW5nVGVzdCwgQ2hpbGRXcml0ZXNHb29kRGF0YSkgewotICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShDcmVhdGVSZWxyb0ZpbGUoTElCTkFNRSkpOworICBUZW1wb3JhcnlGaWxlIHRmOyAvLyBVc2UgdGYgdG8gZ2V0IGFuIHVuaXF1ZSBmaWxlbmFtZS4KKyAgQVNTRVJUX05PRVJST1IoY2xvc2UodGYuZmQpKTsKKworICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShDcmVhdGVSZWxyb0ZpbGUoTElCTkFNRSwgdGYuZmlsZW5hbWUpKTsKICAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoVHJ5VXNpbmdSZWxybyhMSUJOQU1FKSk7CisKKyAgLy8gVXNlIGRlc3RydWN0b3Igb2YgdGYgdG8gY2xvc2UgYW5kIHVubGluayB0aGUgZmlsZS4KKyAgdGYuZmQgPSBleHRpbmZvXy5yZWxyb19mZDsKIH0KIAogVEVTVF9GKERsRXh0UmVscm9TaGFyaW5nVGVzdCwgQ2hpbGRXcml0ZXNOb1JlbHJvKSB7Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKENyZWF0ZVJlbHJvRmlsZShMSUJOQU1FX05PUkVMUk8pKTsKKyAgVGVtcG9yYXJ5RmlsZSB0ZjsgLy8gLy8gVXNlIHRmIHRvIGdldCBhbiB1bmlxdWUgZmlsZW5hbWUuCisgIEFTU0VSVF9OT0VSUk9SKGNsb3NlKHRmLmZkKSk7CisKKyAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoQ3JlYXRlUmVscm9GaWxlKExJQk5BTUVfTk9SRUxSTywgdGYuZmlsZW5hbWUpKTsKICAgQVNTRVJUX05PX0ZBVEFMX0ZBSUxVUkUoVHJ5VXNpbmdSZWxybyhMSUJOQU1FX05PUkVMUk8pKTsKKworICAvLyBVc2UgZGVzdHJ1Y3RvciBvZiB0ZiB0byBjbG9zZSBhbmQgdW5saW5rIHRoZSBmaWxlLgorICB0Zi5mZCA9IGV4dGluZm9fLnJlbHJvX2ZkOwogfQogCiBURVNUX0YoRGxFeHRSZWxyb1NoYXJpbmdUZXN0LCBSZWxyb0ZpbGVFbXB0eSkgewotICBpbnQgcmVscm9fZmQgPSBvcGVuKHJlbHJvX2ZpbGVfLCBPX0NSRUFUIHwgT19SRFdSIHwgT19UUlVOQywgMDY0NCk7Ci0gIEFTU0VSVF9OT0VSUk9SKHJlbHJvX2ZkKTsKLSAgQVNTRVJUX05PRVJST1IoY2xvc2UocmVscm9fZmQpKTsKLQogICBBU1NFUlRfTk9fRkFUQUxfRkFJTFVSRShUcnlVc2luZ1JlbHJvKExJQk5BTUUpKTsKIH0KIAogVEVTVF9GKERsRXh0UmVscm9TaGFyaW5nVGVzdCwgVmVyaWZ5TWVtb3J5U2F2aW5nKSB7Ci0gIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKENyZWF0ZVJlbHJvRmlsZShMSUJOQU1FKSk7Ci0gIGludCByZWxyb19mZCA9IG9wZW4ocmVscm9fZmlsZV8sIE9fUkRPTkxZKTsKLSAgQVNTRVJUX05PRVJST1IocmVscm9fZmQpOwotICBleHRpbmZvXy5mbGFncyB8PSBBTkRST0lEX0RMRVhUX1VTRV9SRUxSTzsKLSAgZXh0aW5mb18ucmVscm9fZmQgPSByZWxyb19mZDsKKyAgaWYgKGdldGV1aWQoKSAhPSAwKSB7CisgICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IG11c3QgYmUgcnVuIGFzIHJvb3QuXG4iOworICAgIHJldHVybjsKKyAgfQorCisgIFRlbXBvcmFyeUZpbGUgdGY7IC8vIFVzZSB0ZiB0byBnZXQgYW4gdW5pcXVlIGZpbGVuYW1lLgorICBBU1NFUlRfTk9FUlJPUihjbG9zZSh0Zi5mZCkpOworCisgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKENyZWF0ZVJlbHJvRmlsZShMSUJOQU1FLCB0Zi5maWxlbmFtZSkpOworCiAgIGludCBwaXBlZmRbMl07CiAgIEFTU0VSVF9OT0VSUk9SKHBpcGUocGlwZWZkKSk7CiAKQEAgLTMzOSw2ICs0MjcsOSBAQAogICAvLyBpdCBzYXZlcyA0MCUrIGZvciB0aGlzIHRlc3QuCiAgIHNpemVfdCBleHBlY3RlZF9zaXplID0gd2l0aG91dF9zaGFyaW5nIC0gKHdpdGhvdXRfc2hhcmluZy8xMCk7CiAgIEVYUEVDVF9MVCh3aXRoX3NoYXJpbmcsIGV4cGVjdGVkX3NpemUpOworCisgIC8vIFVzZSBkZXN0cnVjdG9yIG9mIHRmIHRvIGNsb3NlIGFuZCB1bmxpbmsgdGhlIGZpbGUuCisgIHRmLmZkID0gZXh0aW5mb18ucmVscm9fZmQ7CiB9CiAKIHZvaWQgZ2V0UHNzKHBpZF90IHBpZCwgc2l6ZV90KiBwc3Nfb3V0KSB7CmRpZmYgLS1naXQgYS90ZXN0cy9kbGZjbl90ZXN0LmNwcCBiL3Rlc3RzL2RsZmNuX3Rlc3QuY3BwCmluZGV4IGUyNGFmMTMuLjZiMWYxMDkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RsZmNuX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2RsZmNuX3Rlc3QuY3BwCkBAIC0yNiw5ICsyNiwxMiBAQAogCiAjaW5jbHVkZSA8c3RyaW5nPgogCisjaW5jbHVkZSAidXRpbHMuaCIKKwogI2RlZmluZSBBU1NFUlRfU1VCU1RSKG5lZWRsZSwgaGF5c3RhY2spIFwKICAgICBBU1NFUlRfUFJFRF9GT1JNQVQyKDo6dGVzdGluZzo6SXNTdWJzdHJpbmcsIG5lZWRsZSwgaGF5c3RhY2spCiAKKwogc3RhdGljIGJvb2wgZ19jYWxsZWQgPSBmYWxzZTsKIGV4dGVybiAiQyIgdm9pZCBEbFN5bVRlc3RGdW5jdGlvbigpIHsKICAgZ19jYWxsZWQgPSB0cnVlOwpAQCAtNDYsNyArNDksNyBAQAogICBBU1NFUlRfRVEoMTcsIGdfY3Rvcl9mdW5jdGlvbl9jYWxsZWQpOwogfQogCi1URVNUKGRsZmNuLCBkbHN5bV9pbl9zZWxmKSB7CitURVNUKGRsZmNuLCBkbHN5bV9pbl9leGVjdXRhYmxlKSB7CiAgIGRsZXJyb3IoKTsgLy8gQ2xlYXIgYW55IHBlbmRpbmcgZXJyb3JzLgogICB2b2lkKiBzZWxmID0gZGxvcGVuKE5VTEwsIFJUTERfTk9XKTsKICAgQVNTRVJUX1RSVUUoc2VsZiAhPSBOVUxMKTsKQEAgLTY0LDYgKzY3LDI3IEBACiAgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKHNlbGYpKTsKIH0KIAorVEVTVChkbGZjbiwgZGxzeW1fZnJvbV9zb2ZpbGUpIHsKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2Rsc3ltX2Zyb21fdGhpcy5zbyIsIFJUTERfTEFaWSB8IFJUTERfTE9DQUwpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworCisgIC8vIGNoZWNrIHRoYXQgd2UgY2FudCBmaW5kICdfdGVzdF9kbHN5bV9zeW1ib2wnIHZpYSBkbHN5bShSVExEX0RFRkFVTFQpCisgIHZvaWQqIHN5bWJvbCA9IGRsc3ltKFJUTERfREVGQVVMVCwgInRlc3RfZGxzeW1fc3ltYm9sIik7CisgIEFTU0VSVF9UUlVFKHN5bWJvbCA9PSBudWxscHRyKTsKKyAgQVNTRVJUX1NVQlNUUigidW5kZWZpbmVkIHN5bWJvbDogdGVzdF9kbHN5bV9zeW1ib2wiLCBkbGVycm9yKCkpOworCisgIHR5cGVkZWYgaW50KiAoKmZuX3QpKCk7CisgIGZuX3QgZm4gPSByZWludGVycHJldF9jYXN0PGZuX3Q+KGRsc3ltKGhhbmRsZSwgImxvb2t1cF9kbHN5bV9zeW1ib2xfdXNpbmdfUlRMRF9ERUZBVUxUIikpOworCisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKworICBpbnQqIHB0ciA9IGZuKCk7CisgIEFTU0VSVF9UUlVFKHB0ciAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIEFTU0VSVF9FUSg0MiwgKnB0cik7CisKKyAgZGxjbG9zZShoYW5kbGUpOworfQorCiBURVNUKGRsZmNuLCBkbHN5bV93aXRoX2RlcGVuZGVuY2llcykgewogICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5LnNvIiwgUlRMRF9OT1cpOwogICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gTlVMTCk7CkBAIC04OSw4ICsxMTMsMzQgQEAKICAgQVNTRVJUX0VRKDAsIGRsY2xvc2UoaGFuZGxlMikpOwogfQogCitURVNUKGRsZmNuLCBkbG9wZW5fYnlfc29uYW1lKSB7CisgIHN0YXRpYyBjb25zdCBjaGFyKiBzb25hbWUgPSAibGliZGxleHRfdGVzdF9zb25hbWUuc28iOworICBzdGF0aWMgY29uc3QgY2hhciogZmlsZW5hbWUgPSAibGliZGxleHRfdGVzdF9kaWZmZXJlbnRfc29uYW1lLnNvIjsKKyAgLy8gMS4gTWFrZSBzdXJlIHRoZXJlIGlzIG5vIGxpYnJhcnkgd2l0aCBzb25hbWUgaW4gZGVmYXVsdCBzZWFyY2ggcGF0aAorICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oc29uYW1lLCBSVExEX05PVyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSA9PSBudWxscHRyKTsKKworICAvLyAyLiBMb2FkIGEgbGlicmFyeSB1c2luZyBmaWxlbmFtZQorICBoYW5kbGUgPSBkbG9wZW4oZmlsZW5hbWUsIFJUTERfTk9XKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKworICAvLyAzLiBGaW5kIGxpYnJhcnkgYnkgc29uYW1lCisgIHZvaWQqIGhhbmRsZV9zb25hbWUgPSBkbG9wZW4oc29uYW1lLCBSVExEX05PVyB8IFJUTERfTk9MT0FEKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlX3NvbmFtZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIEFTU0VSVF9FUShoYW5kbGUsIGhhbmRsZV9zb25hbWUpOworCisgIC8vIDQuIFJUTERfTk9MT0FEIHNob3VsZCBzdGlsbCB3b3JrIHdpdGggZmlsZW5hbWUKKyAgdm9pZCogaGFuZGxlX2ZpbGVuYW1lID0gZGxvcGVuKGZpbGVuYW1lLCBSVExEX05PVyB8IFJUTERfTk9MT0FEKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlX2ZpbGVuYW1lICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKGhhbmRsZSwgaGFuZGxlX2ZpbGVuYW1lKTsKKworICBkbGNsb3NlKGhhbmRsZV9maWxlbmFtZSk7CisgIGRsY2xvc2UoaGFuZGxlX3NvbmFtZSk7CisgIGRsY2xvc2UoaGFuZGxlKTsKK30KKwogLy8gaWZ1bmNzIGFyZSBvbmx5IHN1cHBvcnRlZCBvbiBpbnRlbCBhbmQgYXJtNjQgZm9yIG5vdwotI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKKyNpZiBkZWZpbmVkIChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQogVEVTVChkbGZjbiwgaWZ1bmMpIHsKICAgdHlwZWRlZiBjb25zdCBjaGFyKiAoKmZuX3B0cikoKTsKIApAQCAtMTYyLDM5ICsyMTIsMzkgQEAKICAgQVNTRVJUX0VRKDEsIGZuKCkpOwogfQogCi1URVNUKGRsZmNuLCBkbG9wZW5fY2hlY2tfb3JkZXIpIHsKK1RFU1QoZGxmY24sIGRsb3Blbl9jaGVja19vcmRlcl9kbHN5bSkgewogICAvLyBIZXJlIGlzIGhvdyB0aGUgdGVzdCBsaWJyYXJ5IGFuZCBpdHMgZHRfbmVlZGVkCiAgIC8vIGxpYnJhcmllcyBhcmUgYXJyYW5nZWQKICAgLy8KLSAgLy8gIGxpYnRlc3RfY2hlY2tfb3JkZXIuc28KKyAgLy8gIGxpYnRlc3RfY2hlY2tfb3JkZXJfY2hpbGRyZW4uc28KICAgLy8gIHwKLSAgLy8gICstPiBsaWJ0ZXN0X2NoZWNrX29yZGVyXzFfbGVmdC5zbworICAvLyAgKy0+IC4uLl8xX2xlZnQuc28KICAgLy8gIHwgICB8Ci0gIC8vICB8ICAgKy0+IGxpYnRlc3RfY2hlY2tfb3JkZXJfYS5zbworICAvLyAgfCAgICstPiAuLi5fYS5zbwogICAvLyAgfCAgIHwKLSAgLy8gIHwgICArLT4gbGlidGVzdF9jaGVja19vcmRlcl9iLnNvCisgIC8vICB8ICAgKy0+IC4uLnJfYi5zbwogICAvLyAgfAotICAvLyAgKy0+IGxpYnRlc3RfY2hlY2tfb3JkZXJfMl9yaWdodC5zbworICAvLyAgKy0+IC4uLl8yX3JpZ2h0LnNvCiAgIC8vICB8ICAgfAotICAvLyAgfCAgICstPiBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Quc28KKyAgLy8gIHwgICArLT4gLi4uX2Quc28KICAgLy8gIHwgICAgICAgfAotICAvLyAgfCAgICAgICArLT4gbGlidGVzdF9jaGVja19vcmRlcl9iLnNvCisgIC8vICB8ICAgICAgICstPiAuLi5fYi5zbwogICAvLyAgfAotICAvLyAgKy0+IGxpYnRlc3RfY2hlY2tfb3JkZXJfM19jLnNvCisgIC8vICArLT4gLi4uXzNfYy5zbwogICAvLwogICAvLyAgbG9hZCBvcmRlciBzaG91bGQgYmUgKDEsIDIsIDMsIGEsIGIsIGQpCiAgIC8vCiAgIC8vIGdldF9hbnN3ZXIoKSBpcyBkZWZpbmVkIGluICgyLCAzLCBhLCBiLCBjKQogICAvLyBnZXRfYW5zd2VyMigpIGlzIGRlZmluZWQgaW4gKGIsIGQpCi0gIHZvaWQqIHN5bSA9IGRsc3ltKFJUTERfREVGQVVMVCwgImRsb3Blbl90ZXN0X2dldF9hbnN3ZXIiKTsKKyAgdm9pZCogc3ltID0gZGxzeW0oUlRMRF9ERUZBVUxULCAiY2hlY2tfb3JkZXJfZGxzeW1fZ2V0X2Fuc3dlciIpOwogICBBU1NFUlRfVFJVRShzeW0gPT0gbnVsbHB0cik7Ci0gIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlci5zbyIsIFJUTERfTk9XIHwgUlRMRF9HTE9CQUwpOwotICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cik7CisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlcl9kbHN5bS5zbyIsIFJUTERfTk9XIHwgUlRMRF9HTE9CQUwpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOwogICB0eXBlZGVmIGludCAoKmZuX3QpICh2b2lkKTsKICAgZm5fdCBmbiwgZm4yOwotICBmbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Zm5fdD4oZGxzeW0oUlRMRF9ERUZBVUxULCAiZGxvcGVuX3Rlc3RfZ2V0X2Fuc3dlciIpKTsKKyAgZm4gPSByZWludGVycHJldF9jYXN0PGZuX3Q+KGRsc3ltKFJUTERfREVGQVVMVCwgImNoZWNrX29yZGVyX2Rsc3ltX2dldF9hbnN3ZXIiKSk7CiAgIEFTU0VSVF9UUlVFKGZuICE9IE5VTEwpIDw8IGRsZXJyb3IoKTsKLSAgZm4yID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShSVExEX0RFRkFVTFQsICJkbG9wZW5fdGVzdF9nZXRfYW5zd2VyMiIpKTsKKyAgZm4yID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShSVExEX0RFRkFVTFQsICJjaGVja19vcmRlcl9kbHN5bV9nZXRfYW5zd2VyMiIpKTsKICAgQVNTRVJUX1RSVUUoZm4yICE9IE5VTEwpIDw8IGRsZXJyb3IoKTsKIAogICBBU1NFUlRfRVEoNDIsIGZuKCkpOwpAQCAtMjAyLDI5ICsyNTIsMzg3IEBACiAgIGRsY2xvc2UoaGFuZGxlKTsKIH0KIAorVEVTVChkbGZjbiwgZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzKSB7CisgIC8vIFRoaXMgaXMgaG93IHRoaXMgb25lIHdvcmtzOgorICAvLyB3ZSBsb29rdXAgYW5kIGNhbGwgZ2V0X2Fuc3dlciB3aGljaCBpcyBkZWZpbmVkIGluICdfMi5zbycKKyAgLy8gYW5kIGluIHR1cm4gY2FsbHMgZXh0ZXJuYWwgZ2V0X2Fuc3dlcl9pbXBsKCkgZGVmaW5lZCBpbiBfMS5zbyBhbmQgaW4gJ19bYS1mXS5zbycKKyAgLy8gdGhlIGNvcnJlY3QgX2ltcGwoKSBpcyBpbXBsZW1lbnRlZCBieSAnX2Euc28nOworICAvLworICAvLyBOb3RlIHRoYXQgdGhpcyBpcyB0ZXN0IGZvciBSVExEX0xPQ0FMIChUT0RPOiB0ZXN0IGZvciBHTE9CQUw/KQorICAvLworICAvLyBIZXJlIGlzIHRoZSBwaWN0dXJlOgorICAvLworICAvLyBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzLnNvCisgIC8vIHwKKyAgLy8gKy0+IC4uLl8xLnNvIDwtIGVtcHR5CisgIC8vIHwgICB8CisgIC8vIHwgICArLT4gLi4uX2Euc28gPC0gZXhwb3J0cyBjb3JyZWN0IGFuc3dlcl9pbXBsKCkKKyAgLy8gfCAgIHwKKyAgLy8gfCAgICstPiAuLi5fYi5zbyA8LSBldmVyeSBvdGhlciBsZXR0ZXIgZXhwb3J0aW5nIGluY29ycmVjdCBvbmUuCisgIC8vIHwKKyAgLy8gKy0+IC4uLl8yLnNvIDwtIGVtcHR5CisgIC8vIHwgICB8CisgIC8vIHwgICArLT4gLi4uX2Muc28KKyAgLy8gfCAgIHwKKyAgLy8gfCAgICstPiAuLi5fZC5zbworICAvLyB8CisgIC8vICstPiAuLi5fMy5zbyA8LSBlbXB0eQorICAvLyAgICAgfAorICAvLyAgICAgKy0+IC4uLl9lLnNvCisgIC8vICAgICB8CisgIC8vICAgICArLT4gLi4uX2Yuc28gPC0gZXhwb3J0cyBnZXRfYW5zd2VyKCkgdGhhdCBjYWxscyBnZXRfYW5zZXJfaW1wbCgpOworICAvLyAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudHMgaW5jb3JyZWN0IGdldF9hbnN3ZXJfaW1wbCgpCisKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzLnNvIiwgUlRMRF9OT1cgfCBSVExEX05PTE9BRCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSA9PSBudWxscHRyKTsKKyNpZmRlZiBfX0JJT05JQ19fCisgIC8vIFRPRE86IGdsaWJjIHJldHVybnMgbnVsbHB0ciBvbiBkbGVycm9yKCkgaGVyZS4gSXMgaXQgYnVnPworICBBU1NFUlRfU1RSRVEoImRsb3BlbiBmYWlsZWQ6IGxpYnJhcnkgXCJsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzLnNvXCIgd2Fzbid0IGxvYWRlZCBhbmQgUlRMRF9OT0xPQUQgcHJldmVudGVkIGl0IiwgZGxlcnJvcigpKTsKKyNlbmRpZgorCisgIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zbyIsIFJUTERfTk9XIHwgUlRMRF9MT0NBTCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisKKyAgdHlwZWRlZiBpbnQgKCpmbl90KSAodm9pZCk7CisgIGZuX3QgZm4gPSByZWludGVycHJldF9jYXN0PGZuX3Q+KGRsc3ltKGhhbmRsZSwgImNoZWNrX29yZGVyX3JlbG9jX2dldF9hbnN3ZXIiKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKDQyLCBmbigpKTsKKworICBBU1NFUlRfRVEoMCwgZGxjbG9zZShoYW5kbGUpKTsKK30KKworVEVTVChkbGZjbiwgZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX3dpdGhfcHJlbG9hZCkgeworICAvLyBUaGlzIHRlc3QgdXNlcyB0aGUgc2FtZSBsaWJyYXJ5IGFzIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy4KKyAgLy8gVW5saWtlIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncyBpdCBwcmVsb2FkcworICAvLyBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzXzEuc28gKGZpcnN0IGRlcGVuZGVuY3kpIHByaW9yIHRvCisgIC8vIGRsb3BlbihsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzLnNvKQorCisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zbyIsIFJUTERfTk9XIHwgUlRMRF9OT0xPQUQpOworICBBU1NFUlRfVFJVRShoYW5kbGUgPT0gbnVsbHB0cik7CisgIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18xLnNvIiwgUlRMRF9OT1cgfCBSVExEX05PTE9BRCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSA9PSBudWxscHRyKTsKKworICB2b2lkKiBoYW5kbGVfZm9yXzEgPSBkbG9wZW4oImxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfMS5zbyIsIFJUTERfTk9XIHwgUlRMRF9MT0NBTCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZV9mb3JfMSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisKKyAgaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzLnNvIiwgUlRMRF9OT1cgfCBSVExEX0xPQ0FMKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKworICBBU1NFUlRfRVEoMCwgZGxjbG9zZShoYW5kbGVfZm9yXzEpKTsKKworICB0eXBlZGVmIGludCAoKmZuX3QpICh2b2lkKTsKKyAgZm5fdCBmbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Zm5fdD4oZGxzeW0oaGFuZGxlLCAiY2hlY2tfb3JkZXJfcmVsb2NfZ2V0X2Fuc3dlciIpKTsKKyAgQVNTRVJUX1RSVUUoZm4gIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBBU1NFUlRfRVEoNDIsIGZuKCkpOworCisgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKGhhbmRsZSkpOworfQorCitURVNUKGRsZmNuLCBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfZ3JhbmRjaGlsZCkgeworICAvLyBUaGlzIGlzIGhvdyB0aGlzIG9uZSB3b3JrczoKKyAgLy8gd2UgbG9va3VwIGFuZCBjYWxsIGdyYW5kY2hpbGRfZ2V0X2Fuc3dlciB3aGljaCBpcyBkZWZpbmVkIGluICdfMi5zbycKKyAgLy8gYW5kIGluIHR1cm4gY2FsbHMgZXh0ZXJuYWwgZ2V0X2Fuc3dlcl9pbXBsKCkgZGVmaW5lZCBpbiAnX2NfMS5zbyBhbmQgX2NfMi5zbycKKyAgLy8gdGhlIGNvcnJlY3QgX2ltcGwoKSBpcyBpbXBsZW1lbnRlZCBieSAnX2NfMS5zbyc7CisgIC8vCisgIC8vIEhlcmUgaXMgdGhlIHBpY3R1cmUgb2Ygc3VidHJlZToKKyAgLy8KKyAgLy8gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zbworICAvLyB8CisgIC8vICstPiAuLi5fMi5zbyA8LSBncmFuZGNoaWxkX2dldF9hbnN3ZXIoKQorICAvLyAgICAgfAorICAvLyAgICAgKy0+IC4uLl9jLnNvIDwtIGVtcHR5CisgIC8vICAgICB8ICAgfAorICAvLyAgICAgfCAgICstPiBfY18xLnNvIDwtIGV4cG9ydHMgY29ycmVjdCBhbnN3ZXJfaW1wbCgpCisgIC8vICAgICB8ICAgfAorICAvLyAgICAgfCAgICstPiBfY18yLnNvIDwtIGV4cG9ydHMgaW5jb3JyZWN0IGFuc3dlcl9pbXBsKCkKKyAgLy8gICAgIHwKKyAgLy8gICAgICstPiAuLi5fZC5zbyA8LSBlbXB0eQorCisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zbyIsIFJUTERfTk9XIHwgUlRMRF9OT0xPQUQpOworICBBU1NFUlRfVFJVRShoYW5kbGUgPT0gbnVsbHB0cik7CisjaWZkZWYgX19CSU9OSUNfXworICAvLyBUT0RPOiBnbGliYyByZXR1cm5zIG51bGxwdHIgb24gZGxlcnJvcigpIGhlcmUuIElzIGl0IGJ1Zz8KKyAgQVNTRVJUX1NUUkVRKCJkbG9wZW4gZmFpbGVkOiBsaWJyYXJ5IFwibGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zb1wiIHdhc24ndCBsb2FkZWQgYW5kIFJUTERfTk9MT0FEIHByZXZlbnRlZCBpdCIsIGRsZXJyb3IoKSk7CisjZW5kaWYKKworICBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3Muc28iLCBSVExEX05PVyB8IFJUTERfTE9DQUwpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworCisgIHR5cGVkZWYgaW50ICgqZm5fdCkgKHZvaWQpOworICBmbl90IGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUsICJjaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2dldF9hbnN3ZXIiKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKDQyLCBmbigpKTsKKworICBBU1NFUlRfRVEoMCwgZGxjbG9zZShoYW5kbGUpKTsKK30KKworVEVTVChkbGZjbiwgZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX25lcGhldykgeworICAvLyBUaGlzIGlzIGhvdyB0aGlzIG9uZSB3b3JrczoKKyAgLy8gd2UgbG9va3VwIGFuZCBjYWxsIG5lcGhld19nZXRfYW5zd2VyIHdoaWNoIGlzIGRlZmluZWQgaW4gJ18yLnNvJworICAvLyBhbmQgaW4gdHVybiBjYWxscyBleHRlcm5hbCBnZXRfYW5zd2VyX2ltcGwoKSBkZWZpbmVkIGluICdfW2EtZl0uc28nCisgIC8vIHRoZSBjb3JyZWN0IF9pbXBsKCkgaXMgaW1wbGVtZW50ZWQgYnkgJ19hLnNvJzsKKyAgLy8KKyAgLy8gSGVyZSBpcyB0aGUgcGljdHVyZToKKyAgLy8KKyAgLy8gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zbworICAvLyB8CisgIC8vICstPiAuLi5fMS5zbyA8LSBlbXB0eQorICAvLyB8ICAgfAorICAvLyB8ICAgKy0+IC4uLl9hLnNvIDwtIGV4cG9ydHMgY29ycmVjdCBhbnN3ZXJfaW1wbCgpCisgIC8vIHwgICB8CisgIC8vIHwgICArLT4gLi4uX2Iuc28gPC0gZXZlcnkgb3RoZXIgbGV0dGVyIGV4cG9ydGluZyBpbmNvcnJlY3Qgb25lLgorICAvLyB8CisgIC8vICstPiAuLi5fMi5zbyA8LSBlbXB0eQorICAvLyB8ICAgfAorICAvLyB8ICAgKy0+IC4uLl9jLnNvCisgIC8vIHwgICB8CisgIC8vIHwgICArLT4gLi4uX2Quc28KKyAgLy8gfAorICAvLyArLT4gLi4uXzMuc28gPC0gbmVwaGV3X2dldF9hbnN3ZXIoKSB0aGF0IGNhbGxzIGdldF9hbnN3ZXJfaW1wbCgpOworICAvLyAgICAgfAorICAvLyAgICAgKy0+IC4uLl9lLnNvCisgIC8vICAgICB8CisgIC8vICAgICArLT4gLi4uX2Yuc28KKworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3Muc28iLCBSVExEX05PVyB8IFJUTERfTk9MT0FEKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlID09IG51bGxwdHIpOworI2lmZGVmIF9fQklPTklDX18KKyAgLy8gVE9ETzogZ2xpYmMgcmV0dXJucyBudWxscHRyIG9uIGRsZXJyb3IoKSBoZXJlLiBJcyBpdCBidWc/CisgIEFTU0VSVF9TVFJFUSgiZGxvcGVuIGZhaWxlZDogbGlicmFyeSBcImxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3Muc29cIiB3YXNuJ3QgbG9hZGVkIGFuZCBSVExEX05PTE9BRCBwcmV2ZW50ZWQgaXQiLCBkbGVycm9yKCkpOworI2VuZGlmCisKKyAgaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzLnNvIiwgUlRMRF9OT1cgfCBSVExEX0xPQ0FMKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKworICB0eXBlZGVmIGludCAoKmZuX3QpICh2b2lkKTsKKyAgZm5fdCBmbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Zm5fdD4oZGxzeW0oaGFuZGxlLCAiY2hlY2tfb3JkZXJfcmVsb2NfbmVwaGV3X2dldF9hbnN3ZXIiKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKDQyLCBmbigpKTsKKworICBBU1NFUlRfRVEoMCwgZGxjbG9zZShoYW5kbGUpKTsKK30KKworVEVTVChkbGZjbiwgY2hlY2tfdW5sb2FkX2FmdGVyX3JlbG9jKSB7CisgIC8vIFRoaXMgaXMgaG93IHRoaXMgb25lIHdvcmtzOgorICAvLyBsaWJ0ZXN0X3R3b19wYXJlbnRzX3BhcmVudDEgPC0gYW5zd2VyX2ltcGwoKSB1c2VkIGJ5IGxpYnRlc3RfdHdvX3BhcmVudHNfY2hpbGQKKyAgLy8gfAorICAvLyArLT4gbGlidGVzdF90d29fcGFyZW50c19jaGlsZAorICAvLworICAvLyBsaWJ0ZXN0X3R3b19wYXJlbnRzX3BhcmVudDIgPC0gYW5zd2VyX2ltcGwoKSBub3QgdXNlZCBieSBsaWJ0ZXN0X3R3b19wYXJlbnRzX2NoaWxkCisgIC8vIHwKKyAgLy8gKy0+IGxpYnRlc3RfdHdvX3BhcmVudHNfY2hpbGQKKyAgLy8KKyAgLy8gVGVzdCBkbG9wZW5zIHBhcmVudDEgd2hpY2ggbG9hZHMgYW5kIHJlbG9jYXRlcyBsaWJ0ZXN0X3R3b19wYXJlbnRzX2NoaWxkLnNvCisgIC8vIGFzIGEgc2Vjb25kIHN0ZXAgaXQgZGxvcGVucyBwYXJlbnQyIGFuZCBkbGNsb3NlcyBwYXJlbnQxLi4uCisKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X3R3b19wYXJlbnRzX3BhcmVudDEuc28iLCBSVExEX05PVyB8IFJUTERfTE9DQUwpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworCisgIHZvaWQqIGhhbmRsZTIgPSBkbG9wZW4oImxpYnRlc3RfdHdvX3BhcmVudHNfcGFyZW50Mi5zbyIsIFJUTERfTk9XIHwgUlRMRF9MT0NBTCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZTIgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworCisgIHR5cGVkZWYgaW50ICgqZm5fdCkgKHZvaWQpOworICBmbl90IGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUyLCAiY2hlY2tfb3JkZXJfcmVsb2NfZ2V0X2Fuc3dlciIpKTsKKyAgQVNTRVJUX1RSVUUoZm4gIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBBU1NFUlRfRVEoNDIsIGZuKCkpOworCisgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKGhhbmRsZSkpOworCisgIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF90d29fcGFyZW50c19wYXJlbnQxLnNvIiwgUlRMRF9OT1cgfCBSVExEX0xPQ0FMIHwgUlRMRF9OT0xPQUQpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cik7CisgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKGhhbmRsZSkpOworCisgIGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUyLCAiY2hlY2tfb3JkZXJfcmVsb2NfZ2V0X2Fuc3dlciIpKTsKKyAgQVNTRVJUX1RSVUUoZm4gIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBBU1NFUlRfRVEoNDIsIGZuKCkpOworCisgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKGhhbmRsZTIpKTsKKworICBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfdHdvX3BhcmVudHNfcGFyZW50MS5zbyIsIFJUTERfTk9XIHwgUlRMRF9MT0NBTCB8IFJUTERfTk9MT0FEKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlID09IG51bGxwdHIpOworfQorCitleHRlcm4gIkMiIGludCBjaGVja19vcmRlcl9yZWxvY19yb290X2dldF9hbnN3ZXJfaW1wbCgpIHsKKyAgcmV0dXJuIDQyOworfQorCitURVNUKGRsZmNuLCBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfbWFpbl9leGVjdXRhYmxlKSB7CisgIC8vIFRoaXMgaXMgaG93IHRoaXMgb25lIHdvcmtzOgorICAvLyB3ZSBsb29rdXAgYW5kIGNhbGwgZ2V0X2Fuc3dlcjMgd2hpY2ggaXMgZGVmaW5lZCBpbiAncm9vdC5zbycKKyAgLy8gYW5kIGluIHR1cm4gY2FsbHMgZXh0ZXJuYWwgcm9vdF9nZXRfYW5zd2VyX2ltcGwoKSBkZWZpbmVkIGluIF8yLnNvIGFuZAorICAvLyBhYm92ZSB0aGUgY29ycmVjdCBfaW1wbCgpIGlzIG9uZSBpbiB0aGUgZXhlY3V0YWJsZS4KKyAgLy8KKyAgLy8gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19yb290LnNvCisgIC8vIHwKKyAgLy8gKy0+IC4uLl8xLnNvIDwtIGVtcHR5CisgIC8vIHwKKyAgLy8gKy0+IC4uLl8yLnNvIDwtIGdpdmVzIGluY29ycmVjdCBhbnN3ZXIgZm9yIGFuc3dlcl9tYWluX2ltcGwoKQorICAvLworCisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19yb290LnNvIiwgUlRMRF9OT1cgfCBSVExEX05PTE9BRCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSA9PSBudWxscHRyKTsKKyNpZmRlZiBfX0JJT05JQ19fCisgIC8vIFRPRE86IGdsaWJjIHJldHVybnMgbnVsbHB0ciBvbiBkbGVycm9yKCkgaGVyZS4gSXMgaXQgYnVnPworICBBU1NFUlRfU1RSRVEoImRsb3BlbiBmYWlsZWQ6IGxpYnJhcnkgXCJsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3Jvb3Quc29cIiB3YXNuJ3QgbG9hZGVkIGFuZCBSVExEX05PTE9BRCBwcmV2ZW50ZWQgaXQiLCBkbGVycm9yKCkpOworI2VuZGlmCisKKyAgaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3Jvb3Quc28iLCBSVExEX05PVyB8IFJUTERfTE9DQUwpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworCisgIHR5cGVkZWYgaW50ICgqZm5fdCkgKHZvaWQpOworICBmbl90IGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUsICJjaGVja19vcmRlcl9yZWxvY19yb290X2dldF9hbnN3ZXIiKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKDQyLCBmbigpKTsKKworICBBU1NFUlRfRVEoMCwgZGxjbG9zZShoYW5kbGUpKTsKK30KKworVEVTVChkbGZjbiwgZGxvcGVuX2NoZWNrX3J0bGRfbG9jYWwpIHsKKyAgdm9pZCogc3ltID0gZGxzeW0oUlRMRF9ERUZBVUxULCAiZGxvcGVuX3Rlc3RsaWJfc2ltcGxlX2Z1bmMiKTsKKyAgQVNTRVJUX1RSVUUoc3ltID09IG51bGxwdHIpOworCisgIC8vIGltcGxpY2l0IFJUTERfTE9DQUwKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X3NpbXBsZS5zbyIsIFJUTERfTk9XKTsKKyAgc3ltID0gZGxzeW0oUlRMRF9ERUZBVUxULCAiZGxvcGVuX3Rlc3RsaWJfc2ltcGxlX2Z1bmMiKTsKKyAgQVNTRVJUX1RSVUUoc3ltID09IG51bGxwdHIpOworICBBU1NFUlRfU1VCU1RSKCJ1bmRlZmluZWQgc3ltYm9sOiBkbG9wZW5fdGVzdGxpYl9zaW1wbGVfZnVuYyIsIGRsZXJyb3IoKSk7CisgIHN5bSA9IGRsc3ltKGhhbmRsZSwgImRsb3Blbl90ZXN0bGliX3NpbXBsZV9mdW5jIik7CisgIEFTU0VSVF9UUlVFKHN5bSAhPSBudWxscHRyKTsKKyAgQVNTRVJUX1RSVUUocmVpbnRlcnByZXRfY2FzdDxib29sICgqKSh2b2lkKT4oc3ltKSgpKTsKKyAgZGxjbG9zZShoYW5kbGUpOworCisgIC8vIGV4cGxpY2l0IFJUTERfTE9DQUwKKyAgaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X3NpbXBsZS5zbyIsIFJUTERfTk9XIHwgUlRMRF9MT0NBTCk7CisgIHN5bSA9IGRsc3ltKFJUTERfREVGQVVMVCwgImRsb3Blbl90ZXN0bGliX3NpbXBsZV9mdW5jIik7CisgIEFTU0VSVF9UUlVFKHN5bSA9PSBudWxscHRyKTsKKyAgQVNTRVJUX1NVQlNUUigidW5kZWZpbmVkIHN5bWJvbDogZGxvcGVuX3Rlc3RsaWJfc2ltcGxlX2Z1bmMiLCBkbGVycm9yKCkpOworICBzeW0gPSBkbHN5bShoYW5kbGUsICJkbG9wZW5fdGVzdGxpYl9zaW1wbGVfZnVuYyIpOworICBBU1NFUlRfVFJVRShzeW0gIT0gbnVsbHB0cik7CisgIEFTU0VSVF9UUlVFKHJlaW50ZXJwcmV0X2Nhc3Q8Ym9vbCAoKikodm9pZCk+KHN5bSkoKSk7CisgIGRsY2xvc2UoaGFuZGxlKTsKK30KKworVEVTVChkbGZjbiwgZGxvcGVuX2NoZWNrX3J0bGRfZ2xvYmFsKSB7CisgIHZvaWQqIHN5bSA9IGRsc3ltKFJUTERfREVGQVVMVCwgImRsb3Blbl90ZXN0bGliX3NpbXBsZV9mdW5jIik7CisgIEFTU0VSVF9UUlVFKHN5bSA9PSBudWxscHRyKTsKKworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3Rfc2ltcGxlLnNvIiwgUlRMRF9OT1cgfCBSVExEX0dMT0JBTCk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIHN5bSA9IGRsc3ltKFJUTERfREVGQVVMVCwgImRsb3Blbl90ZXN0bGliX3NpbXBsZV9mdW5jIik7CisgIEFTU0VSVF9UUlVFKHN5bSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIEFTU0VSVF9UUlVFKHJlaW50ZXJwcmV0X2Nhc3Q8Ym9vbCAoKikodm9pZCk+KHN5bSkoKSk7CisgIGRsY2xvc2UoaGFuZGxlKTsKKworICAvLyBSVExEX0dMT0JBTCBpbXBsaWVzIFJUTERfTk9ERUxFVEUsIGxldCdzIGNoZWNrIHRoYXQKKyAgdm9pZCogc3ltX2FmdGVyX2RsY2xvc2UgPSBkbHN5bShSVExEX0RFRkFVTFQsICJkbG9wZW5fdGVzdGxpYl9zaW1wbGVfZnVuYyIpOworICBBU1NFUlRfRVEoc3ltLCBzeW1fYWZ0ZXJfZGxjbG9zZSk7Cit9CisKIC8vIGxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3Auc28gLT4gbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9hLnNvIC0+CiAvLyBsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2Iuc28gLT4gbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9jLnNvIC0+CiAvLyBsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2Euc28KIFRFU1QoZGxmY24sIGRsb3Blbl9jaGVja19sb29wKSB7CiAgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcC5zbyIsIFJUTERfTk9XKTsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIEFTU0VSVF9UUlVFKGhhbmRsZSA9PSBudWxscHRyKTsKLSAgQVNTRVJUX1NUUkVRKCJkbG9wZW4gZmFpbGVkOiByZWN1cnNpdmUgbGluayB0byBcImxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfYS5zb1wiIiwgZGxlcnJvcigpKTsKLSAgLy8gVGhpcyBzeW1ib2wgc2hvdWxkIG5ldmVyIGJlIGV4cG9zZWQKLSAgdm9pZCogZiA9IGRsc3ltKFJUTERfREVGQVVMVCwgImRsb3Blbl90ZXN0X2ludmFsaWRfZnVuY3Rpb24iKTsKLSAgQVNTRVJUX1RSVUUoZiA9PSBudWxscHRyKTsKLSAgQVNTRVJUX1NVQlNUUigidW5kZWZpbmVkIHN5bWJvbDogZGxvcGVuX3Rlc3RfaW52YWxpZF9mdW5jdGlvbiIsIGRsZXJyb3IoKSk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIHZvaWQqIGYgPSBkbHN5bShoYW5kbGUsICJkbG9wZW5fdGVzdF9sb29weV9mdW5jdGlvbiIpOworICBBU1NFUlRfVFJVRShmICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgRVhQRUNUX1RSVUUocmVpbnRlcnByZXRfY2FzdDxib29sICgqKSh2b2lkKT4oZikoKSk7CisgIEFTU0VSVF9FUSgwLCBkbGNsb3NlKGhhbmRsZSkpOwogCi0gIC8vIGRsb3BlbiBzZWNvbmQgdGltZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbGlicmFyeSB3YXNuJ3QgbG9hZGVkIGV2ZW4gdGhvdWdoIGRsb3BlbiByZXR1cm5lZCBudWxsLgotICAvLyBUaGlzIG1heSBoYXBwZW4gaWYgZHVyaW5nIGNsZWFudXAgdGhlIHJvb3QgbGlicmFyeSBvciBvbmUgb2YgdGhlIGRlcGVuZGVkIGxpYnMgd2VyZSBub3QgcmVtb3ZlZAotICAvLyBmcm9tIHNvaW5mbyBsaXN0LgorICAvLyBkbG9wZW4gc2Vjb25kIHRpbWUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGxpYnJhcnkgd2FzIHVubG9hZGVkIGNvcnJlY3RseQogICBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3Auc28iLCBSVExEX05PVyB8IFJUTERfTk9MT0FEKTsKICAgQVNTRVJUX1RSVUUoaGFuZGxlID09IG51bGxwdHIpOworI2lmZGVmIF9fQklPTklDX18KKyAgLy8gVE9ETzogZ2xpYmMgcmV0dXJucyBudWxscHRyIG9uIGRsZXJyb3IoKSBoZXJlLiBJcyBpdCBidWc/CiAgIEFTU0VSVF9TVFJFUSgiZGxvcGVuIGZhaWxlZDogbGlicmFyeSBcImxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3Auc29cIiB3YXNuJ3QgbG9hZGVkIGFuZCBSVExEX05PTE9BRCBwcmV2ZW50ZWQgaXQiLCBkbGVycm9yKCkpOwotI2Vsc2UgLy8gZ2xpYmMgYWxsb3dzIHJlY3Vyc2l2ZSBsaW5rcwotICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cik7Ci0gIGRsY2xvc2UoaGFuZGxlKTsKICNlbmRpZgorCisgIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF93aXRoX2RlcGVuZGVuY3lfYS5zbyIsIFJUTERfTk9XIHwgUlRMRF9OT0xPQUQpOworICBBU1NFUlRfVFJVRShoYW5kbGUgPT0gbnVsbHB0cik7Cit9CisKK1RFU1QoZGxmY24sIGRsb3Blbl9ub2RlbGV0ZSkgeworICBzdGF0aWMgYm9vbCBpc191bmxvYWRlZCA9IGZhbHNlOworCisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9ub2RlbGV0ZV8xLnNvIiwgUlRMRF9OT1cgfCBSVExEX05PREVMRVRFKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgdm9pZCAoKnNldF91bmxvYWRfZmxhZ19wdHIpKGJvb2wqKTsKKyAgc2V0X3VubG9hZF9mbGFnX3B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAoKikoYm9vbCopPihkbHN5bShoYW5kbGUsICJkbG9wZW5fbm9kZWxldGVfMV9zZXRfdW5sb2FkX2ZsYWdfcHRyIikpOworICBBU1NFUlRfVFJVRShzZXRfdW5sb2FkX2ZsYWdfcHRyICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgc2V0X3VubG9hZF9mbGFnX3B0cigmaXNfdW5sb2FkZWQpOworCisgIHVpbnQzMl90KiB0YXhpY2FiX251bWJlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihkbHN5bShoYW5kbGUsICJkbG9wZW5fbm9kZWxldGVfMV90YXhpY2FiX251bWJlciIpKTsKKyAgQVNTRVJUX1RSVUUodGF4aWNhYl9udW1iZXIgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBBU1NFUlRfRVEoMTcyOVUsICp0YXhpY2FiX251bWJlcik7CisgICp0YXhpY2FiX251bWJlciA9IDI7CisKKyAgZGxjbG9zZShoYW5kbGUpOworICBBU1NFUlRfVFJVRSghaXNfdW5sb2FkZWQpOworCisgIHVpbnQzMl90KiB0YXhpY2FiX251bWJlcl9hZnRlcl9kbGNsb3NlID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGRsc3ltKGhhbmRsZSwgImRsb3Blbl9ub2RlbGV0ZV8xX3RheGljYWJfbnVtYmVyIikpOworICBBU1NFUlRfRVEodGF4aWNhYl9udW1iZXJfYWZ0ZXJfZGxjbG9zZSwgdGF4aWNhYl9udW1iZXIpOworICBBU1NFUlRfRVEoMlUsICp0YXhpY2FiX251bWJlcl9hZnRlcl9kbGNsb3NlKTsKKworCisgIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9ub2RlbGV0ZV8xLnNvIiwgUlRMRF9OT1cpOworICB1aW50MzJfdCogdGF4aWNhYl9udW1iZXIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGRsc3ltKGhhbmRsZSwgImRsb3Blbl9ub2RlbGV0ZV8xX3RheGljYWJfbnVtYmVyIikpOworICBBU1NFUlRfRVEodGF4aWNhYl9udW1iZXIyLCB0YXhpY2FiX251bWJlcik7CisKKyAgQVNTRVJUX0VRKDJVLCAqdGF4aWNhYl9udW1iZXIyKTsKKworICBkbGNsb3NlKGhhbmRsZSk7CisgIEFTU0VSVF9UUlVFKCFpc191bmxvYWRlZCk7Cit9CisKK1RFU1QoZGxmY24sIGRsb3Blbl9ub2RlbGV0ZV9vbl9zZWNvbmRfZGxvcGVuKSB7CisgIHN0YXRpYyBib29sIGlzX3VubG9hZGVkID0gZmFsc2U7CisKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X25vZGVsZXRlXzIuc28iLCBSVExEX05PVyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIHZvaWQgKCpzZXRfdW5sb2FkX2ZsYWdfcHRyKShib29sKik7CisgIHNldF91bmxvYWRfZmxhZ19wdHIgPSByZWludGVycHJldF9jYXN0PHZvaWQgKCopKGJvb2wqKT4oZGxzeW0oaGFuZGxlLCAiZGxvcGVuX25vZGVsZXRlXzJfc2V0X3VubG9hZF9mbGFnX3B0ciIpKTsKKyAgQVNTRVJUX1RSVUUoc2V0X3VubG9hZF9mbGFnX3B0ciAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIHNldF91bmxvYWRfZmxhZ19wdHIoJmlzX3VubG9hZGVkKTsKKworICB1aW50MzJfdCogdGF4aWNhYl9udW1iZXIgPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oZGxzeW0oaGFuZGxlLCAiZGxvcGVuX25vZGVsZXRlXzJfdGF4aWNhYl9udW1iZXIiKSk7CisgIEFTU0VSVF9UUlVFKHRheGljYWJfbnVtYmVyICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKworICBBU1NFUlRfRVEoMTcyOVUsICp0YXhpY2FiX251bWJlcik7CisgICp0YXhpY2FiX251bWJlciA9IDI7CisKKyAgLy8gVGhpcyBSVExEX05PREVMRVRFIHNob3VsZCBiZSBpZ25vcmVkCisgIHZvaWQqIGhhbmRsZTEgPSBkbG9wZW4oImxpYnRlc3Rfbm9kZWxldGVfMi5zbyIsIFJUTERfTk9XIHwgUlRMRF9OT0RFTEVURSk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZTEgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBBU1NFUlRfRVEoaGFuZGxlLCBoYW5kbGUxKTsKKworICBkbGNsb3NlKGhhbmRsZTEpOworICBkbGNsb3NlKGhhbmRsZSk7CisKKyAgQVNTRVJUX1RSVUUoaXNfdW5sb2FkZWQpOworfQorCitURVNUKGRsZmNuLCBkbG9wZW5fbm9kZWxldGVfZHRfZmxhZ3NfMSkgeworICBzdGF0aWMgYm9vbCBpc191bmxvYWRlZCA9IGZhbHNlOworCisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF9ub2RlbGV0ZV9kdF9mbGFnc18xLnNvIiwgUlRMRF9OT1cpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICB2b2lkICgqc2V0X3VubG9hZF9mbGFnX3B0cikoYm9vbCopOworICBzZXRfdW5sb2FkX2ZsYWdfcHRyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkICgqKShib29sKik+KGRsc3ltKGhhbmRsZSwgImRsb3Blbl9ub2RlbGV0ZV9kdF9mbGFnc18xX3NldF91bmxvYWRfZmxhZ19wdHIiKSk7CisgIEFTU0VSVF9UUlVFKHNldF91bmxvYWRfZmxhZ19wdHIgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBzZXRfdW5sb2FkX2ZsYWdfcHRyKCZpc191bmxvYWRlZCk7CisKKyAgZGxjbG9zZShoYW5kbGUpOworICBBU1NFUlRfVFJVRSghaXNfdW5sb2FkZWQpOworfQorCitURVNUKGRsZmNuLCBkbHN5bV9kZl8xX2dsb2JhbCkgeworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfZGxzeW1fZGZfMV9nbG9iYWwuc28iLCBSVExEX05PVyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIGludCAoKmdldF9hbnN3ZXIpKCk7CisgIGdldF9hbnN3ZXIgPSByZWludGVycHJldF9jYXN0PGludCAoKikoKT4oZGxzeW0oaGFuZGxlLCAiZGxfZGZfMV9nbG9iYWxfZ2V0X2Fuc3dlciIpKTsKKyAgQVNTRVJUX1RSVUUoZ2V0X2Fuc3dlciAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIEFTU0VSVF9FUSg0MiwgZ2V0X2Fuc3dlcigpKTsKKyAgQVNTRVJUX0VRKDAsIGRsY2xvc2UoaGFuZGxlKSk7CiB9CiAKIFRFU1QoZGxmY24sIGRsb3Blbl9mYWlsdXJlKSB7CkBAIC0yOTAsNyArNjk4LDcgQEAKICAgQVNTRVJUX0VRKDAsIGRsY2xvc2Uoc2VsZikpOwogfQogCi1URVNUKGRsZmNuLCBkbGFkZHIpIHsKK1RFU1QoZGxmY24sIGRsYWRkcl9leGVjdXRhYmxlKSB7CiAgIGRsZXJyb3IoKTsgLy8gQ2xlYXIgYW55IHBlbmRpbmcgZXJyb3JzLgogICB2b2lkKiBzZWxmID0gZGxvcGVuKE5VTEwsIFJUTERfTk9XKTsKICAgQVNTRVJUX1RSVUUoc2VsZiAhPSBOVUxMKTsKQEAgLTMxMSwxMyArNzE5LDExIEBACiAgIHJjID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgZXhlY3V0YWJsZV9wYXRoLCBzaXplb2YoZXhlY3V0YWJsZV9wYXRoKSk7CiAgIEFTU0VSVF9ORShyYywgLTEpOwogICBleGVjdXRhYmxlX3BhdGhbcmNdID0gJ1wwJzsKLSAgc3RkOjpzdHJpbmcgZXhlY3V0YWJsZV9uYW1lKGJhc2VuYW1lKGV4ZWN1dGFibGVfcGF0aCkpOwogCiAgIC8vIFRoZSBmaWxlbmFtZSBzaG91bGQgYmUgdGhhdCBvZiB0aGlzIGV4ZWN1dGFibGUuCi0gIC8vIE5vdGUgdGhhdCB3ZSBkb24ndCBrbm93IHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgdGhlIGZ1bGwgcGF0aCwgc28gd2Ugd2FudCBhbiAiZW5kc193aXRoIiB0ZXN0LgotICBzdGQ6OnN0cmluZyBkbGlfZm5hbWUoaW5mby5kbGlfZm5hbWUpOwotICBkbGlfZm5hbWUgPSBiYXNlbmFtZSgmZGxpX2ZuYW1lWzBdKTsKLSAgQVNTRVJUX0VRKGRsaV9mbmFtZSwgZXhlY3V0YWJsZV9uYW1lKTsKKyAgY2hhciBkbGlfcmVhbHBhdGhbUEFUSF9NQVhdOworICBBU1NFUlRfVFJVRShyZWFscGF0aChpbmZvLmRsaV9mbmFtZSwgZGxpX3JlYWxwYXRoKSAhPSBudWxscHRyKTsKKyAgQVNTRVJUX1NUUkVRKGV4ZWN1dGFibGVfcGF0aCwgZGxpX3JlYWxwYXRoKTsKIAogICAvLyBUaGUgc3ltYm9sIG5hbWUgc2hvdWxkIGJlIHRoZSBzeW1ib2wgd2UgbG9va2VkIHVwLgogICBBU1NFUlRfU1RSRVEoaW5mby5kbGlfc25hbWUsICJEbFN5bVRlc3RGdW5jdGlvbiIpOwpAQCAtMzI1LDIyICs3MzEsMTYgQEAKICAgLy8gVGhlIGFkZHJlc3Mgc2hvdWxkIGJlIHRoZSBleGFjdCBhZGRyZXNzIG9mIHRoZSBzeW1ib2wuCiAgIEFTU0VSVF9FUShpbmZvLmRsaV9zYWRkciwgc3ltKTsKIAotICAvLyBMb29rIGluIC9wcm9jL3BpZC9tYXBzIHRvIGZpbmQgb3V0IHdoYXQgYWRkcmVzcyB3ZSB3ZXJlIGxvYWRlZCBhdC4KLSAgLy8gVE9ETzogZmFjdG9yIC9wcm9jL3BpZC9tYXBzIHBhcnNpbmcgb3V0IGludG8gYSBjbGFzcyBhbmQgcmV1c2UgYWxsIG92ZXIgYmlvbmljLgotICB2b2lkKiBiYXNlX2FkZHJlc3MgPSBOVUxMOwotICBjaGFyIGxpbmVbQlVGU0laXTsKLSAgRklMRSogZnAgPSBmb3BlbigiL3Byb2Mvc2VsZi9tYXBzIiwgInIiKTsKLSAgQVNTRVJUX1RSVUUoZnAgIT0gTlVMTCk7Ci0gIHdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGZwKSAhPSBOVUxMKSB7Ci0gICAgdWludHB0cl90IHN0YXJ0ID0gc3RydG91bChsaW5lLCAwLCAxNik7Ci0gICAgbGluZVtzdHJsZW4obGluZSkgLSAxXSA9ICdcMCc7IC8vIENob21wIHRoZSAnXG4nLgotICAgIGNoYXIqIHBhdGggPSBzdHJjaHIobGluZSwgJy8nKTsKLSAgICBpZiAocGF0aCAhPSBOVUxMICYmIHN0cmNtcChleGVjdXRhYmxlX3BhdGgsIHBhdGgpID09IDApIHsKLSAgICAgIGJhc2VfYWRkcmVzcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHN0YXJ0KTsKKyAgc3RkOjp2ZWN0b3I8bWFwX3JlY29yZD4gbWFwczsKKyAgQVNTRVJUX1RSVUUoTWFwczo6cGFyc2VfbWFwcygmbWFwcykpOworCisgIHZvaWQqIGJhc2VfYWRkcmVzcyA9IG51bGxwdHI7CisgIGZvciAoY29uc3QgbWFwX3JlY29yZCYgcmVjIDogbWFwcykgeworICAgIGlmIChleGVjdXRhYmxlX3BhdGggPT0gcmVjLnBhdGhuYW1lKSB7CisgICAgICBiYXNlX2FkZHJlc3MgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihyZWMuYWRkcl9zdGFydCk7CiAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZmNsb3NlKGZwKTsKIAogICAvLyBUaGUgYmFzZSBhZGRyZXNzIHNob3VsZCBiZSB0aGUgYWRkcmVzcyB3ZSB3ZXJlIGxvYWRlZCBhdC4KICAgQVNTRVJUX0VRKGluZm8uZGxpX2ZiYXNlLCBiYXNlX2FkZHJlc3MpOwpAQCAtMzQ4LDYgKzc0OCwzMiBAQAogICBBU1NFUlRfRVEoMCwgZGxjbG9zZShzZWxmKSk7CiB9CiAKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorI2RlZmluZSBCSU9OSUNfUEFUSF9UT19MSUJDICIvc3lzdGVtL2xpYjY0L2xpYmMuc28iCisjZWxzZQorI2RlZmluZSBCSU9OSUNfUEFUSF9UT19MSUJDICIvc3lzdGVtL2xpYi9saWJjLnNvIgorI2VuZGlmCisKK1RFU1QoZGxmY24sIGRsYWRkcl9saWJjKSB7CisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorICBEbF9pbmZvIGluZm87CisgIHZvaWQqIGFkZHIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihwdXRzKTsgLy8gd2VsbC1rbm93biBsaWJjIGZ1bmN0aW9uCisgIEFTU0VSVF9UUlVFKGRsYWRkcihhZGRyLCAmaW5mbykgIT0gMCk7CisKKyAgLy8gL3N5c3RlbS9saWIgaXMgc3ltbGluayB3aGVuIHRoaXMgdGVzdCBpcyBleGVjdXRlZCBvbiBob3N0LgorICBjaGFyIGxpYmNfcmVhbHBhdGhbUEFUSF9NQVhdOworICBBU1NFUlRfVFJVRShyZWFscGF0aChCSU9OSUNfUEFUSF9UT19MSUJDLCBsaWJjX3JlYWxwYXRoKSA9PSBsaWJjX3JlYWxwYXRoKTsKKworICBBU1NFUlRfU1RSRVEobGliY19yZWFscGF0aCwgaW5mby5kbGlfZm5hbWUpOworICAvLyBUT0RPOiBhZGQgY2hlY2sgZm9yIGRmaV9mYmFzZQorICBBU1NFUlRfU1RSRVEoInB1dHMiLCBpbmZvLmRsaV9zbmFtZSk7CisgIEFTU0VSVF9FUShhZGRyLCBpbmZvLmRsaV9zYWRkcik7CisjZWxzZQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nIGZvciBnbGliYy4gR2xpYmMgcmV0dXJucyBwYXRoIGZyb20gbGRjb25maWcgIgorICAgICAgImZvciBsaWJjLnNvLCB3aGljaCBpcyBzeW1saW5rIGl0c2VsZiAobm90IGEgcmVhbHBhdGgpLlxuIjsKKyNlbmRpZgorfQorCiBURVNUKGRsZmNuLCBkbGFkZHJfaW52YWxpZCkgewogICBEbF9pbmZvIGluZm87CiAKQEAgLTM2MiwxOSArNzg4LDUyIEBACiAgIEFTU0VSVF9UUlVFKGRsZXJyb3IoKSA9PSBOVUxMKTsgLy8gZGxhZGRyKDMpIGRvZXNuJ3Qgc2V0IGRsZXJyb3IoMykuCiB9CiAKLS8vIE91ciBkeW5hbWljIGxpbmtlciBkb2Vzbid0IHN1cHBvcnQgR05VIGhhc2ggdGFibGVzLgotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKIC8vIEdOVS1zdHlsZSBFTEYgaGFzaCB0YWJsZXMgYXJlIGluY29tcGF0aWJsZSB3aXRoIHRoZSBNSVBTIEFCSS4KIC8vIE1JUFMgcmVxdWlyZXMgLmR5bnN5bSB0byBiZSBzb3J0ZWQgdG8gbWF0Y2ggdGhlIEdPVCBidXQgR05VLXN0eWxlIHJlcXVpcmVzIHNvcnRpbmcgYnkgaGFzaCBjb2RlLgotI2lmICFkZWZpbmVkKF9fbWlwc19fKQogVEVTVChkbGZjbiwgZGxvcGVuX2xpYnJhcnlfd2l0aF9vbmx5X2dudV9oYXNoKSB7CisjaWYgIWRlZmluZWQoX19taXBzX18pCiAgIGRsZXJyb3IoKTsgLy8gQ2xlYXIgYW55IHBlbmRpbmcgZXJyb3JzLgotICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oIm5vLWVsZi1oYXNoLXRhYmxlLWxpYnJhcnkuc28iLCBSVExEX05PVyk7Ci0gIEFTU0VSVF9UUlVFKGhhbmRsZSA9PSBOVUxMKTsKLSAgQVNTRVJUX1NUUkVRKCJkbG9wZW4gZmFpbGVkOiBlbXB0eS9taXNzaW5nIERUX0hBU0ggaW4gXCJuby1lbGYtaGFzaC10YWJsZS1saWJyYXJ5LnNvXCIgKGJ1aWx0IHdpdGggLS1oYXNoLXN0eWxlPWdudT8pIiwgZGxlcnJvcigpKTsKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJnbnUtaGFzaC10YWJsZS1saWJyYXJ5LnNvIiwgUlRMRF9OT1cpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBhdXRvIGd1YXJkID0gbWFrZV9zY29wZV9ndWFyZChbJl0oKSB7CisgICAgZGxjbG9zZShoYW5kbGUpOworICB9KTsKKyAgdm9pZCogc3ltID0gZGxzeW0oaGFuZGxlLCAiZ2V0UmFuZG9tTnVtYmVyIik7CisgIEFTU0VSVF9UUlVFKHN5bSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIGludCAoKmZuKSh2b2lkKTsKKyAgZm4gPSByZWludGVycHJldF9jYXN0PGludCAoKikodm9pZCk+KHN5bSk7CisgIEVYUEVDVF9FUSg0LCBmbigpKTsKKworICBEbF9pbmZvIGRsaW5mbzsKKyAgQVNTRVJUX1RSVUUoMCAhPSBkbGFkZHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZm4pLCAmZGxpbmZvKSk7CisKKyAgQVNTRVJUX1RSVUUoZm4gPT0gZGxpbmZvLmRsaV9zYWRkcik7CisgIEFTU0VSVF9TVFJFUSgiZ2V0UmFuZG9tTnVtYmVyIiwgZGxpbmZvLmRsaV9zbmFtZSk7CisgIEFTU0VSVF9TVUJTVFIoImxpYmdudS1oYXNoLXRhYmxlLWxpYnJhcnkuc28iLCBkbGluZm8uZGxpX2ZuYW1lKTsKKyNlbHNlCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcgZm9yIG1pcHMvbWlwczY0OyBtaXBzIHRvb2xjaGFpbiBkb2VzIG5vdCBzdXBwb3J0ICctLWhhc2gtc3R5bGU9Z251J1xuIjsKKyNlbmRpZgogfQotI2VuZGlmCi0jZW5kaWYKKworVEVTVChkbGZjbiwgZGxvcGVuX2xpYnJhcnlfd2l0aF9vbmx5X3N5c3ZfaGFzaCkgeworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnN5c3YtaGFzaC10YWJsZS1saWJyYXJ5LnNvIiwgUlRMRF9OT1cpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBhdXRvIGd1YXJkID0gbWFrZV9zY29wZV9ndWFyZChbJl0oKSB7CisgICAgZGxjbG9zZShoYW5kbGUpOworICB9KTsKKyAgdm9pZCogc3ltID0gZGxzeW0oaGFuZGxlLCAiZ2V0UmFuZG9tTnVtYmVyIik7CisgIEFTU0VSVF9UUlVFKHN5bSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIGludCAoKmZuKSh2b2lkKTsKKyAgZm4gPSByZWludGVycHJldF9jYXN0PGludCAoKikodm9pZCk+KHN5bSk7CisgIEVYUEVDVF9FUSg0LCBmbigpKTsKKworICBEbF9pbmZvIGRsaW5mbzsKKyAgQVNTRVJUX1RSVUUoMCAhPSBkbGFkZHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZm4pLCAmZGxpbmZvKSk7CisKKyAgQVNTRVJUX1RSVUUoZm4gPT0gZGxpbmZvLmRsaV9zYWRkcik7CisgIEFTU0VSVF9TVFJFUSgiZ2V0UmFuZG9tTnVtYmVyIiwgZGxpbmZvLmRsaV9zbmFtZSk7CisgIEFTU0VSVF9TVUJTVFIoImxpYnN5c3YtaGFzaC10YWJsZS1saWJyYXJ5LnNvIiwgZGxpbmZvLmRsaV9mbmFtZSk7Cit9CiAKIFRFU1QoZGxmY24sIGRsb3Blbl9iYWRfZmxhZ3MpIHsKICAgZGxlcnJvcigpOyAvLyBDbGVhciBhbnkgcGVuZGluZyBlcnJvcnMuCkBAIC00MTksNyArODc4LDcgQEAKIAogVEVTVChkbGZjbiwgZGxzeW1fd2Vha19mdW5jKSB7CiAgIGRsZXJyb3IoKTsKLSAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2Rsc3ltX3dlYWtfZnVuYy5zbyIsUlRMRF9OT1cpOworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfZGxzeW1fd2Vha19mdW5jLnNvIiwgUlRMRF9OT1cpOwogICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gTlVMTCk7CiAKICAgaW50ICgqd2Vha19mdW5jKSgpOwpAQCAtNDI5LDEwICs4ODgsOTYgQEAKICAgZGxjbG9zZShoYW5kbGUpOwogfQogCitURVNUKGRsZmNuLCBkbG9wZW5fdW5kZWZpbmVkX3dlYWtfZnVuYykgeworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfZGxvcGVuX3dlYWtfdW5kZWZpbmVkX2Z1bmMuc28iLCBSVExEX05PVyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIGludCAoKndlYWtfZnVuYykoKTsKKyAgd2Vha19mdW5jID0gcmVpbnRlcnByZXRfY2FzdDxpbnQgKCopKCk+KGRsc3ltKGhhbmRsZSwgInVzZV93ZWFrX3VuZGVmaW5lZF9mdW5jIikpOworICBBU1NFUlRfVFJVRSh3ZWFrX2Z1bmMgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBFWFBFQ1RfRVEoNjU1MSwgd2Vha19mdW5jKCkpOworICBkbGNsb3NlKGhhbmRsZSk7Cit9CisKIFRFU1QoZGxmY24sIGRsb3Blbl9zeW1saW5rKSB7CiAgIHZvaWQqIGhhbmRsZTEgPSBkbG9wZW4oImxpYmRsZXh0X3Rlc3Quc28iLCBSVExEX05PVyk7CiAgIHZvaWQqIGhhbmRsZTIgPSBkbG9wZW4oImxpYmRsZXh0X3Rlc3RfdjIuc28iLCBSVExEX05PVyk7CiAgIEFTU0VSVF9UUlVFKGhhbmRsZTEgIT0gTlVMTCk7CiAgIEFTU0VSVF9UUlVFKGhhbmRsZTIgIT0gTlVMTCk7CiAgIEFTU0VSVF9FUShoYW5kbGUxLCBoYW5kbGUyKTsKKyAgZGxjbG9zZShoYW5kbGUxKTsKKyAgZGxjbG9zZShoYW5kbGUyKTsKK30KKworLy8gbGlidGVzdF9kbG9wZW5fZnJvbV9jdG9yX21haW4uc28gZGVwZW5kcyBvbgorLy8gbGlidGVzdF9kbG9wZW5fZnJvbV9jdG9yLnNvIHdoaWNoIGhhcyBhIGNvbnN0cnVjdG9yCisvLyB0aGF0IGNhbGxzIGRsb3BlbihsaWJjLi4uKS4gVGhpcyBpcyB0byB0ZXN0IHRoZSBzaXR1YXRpb24KKy8vIGRlc2NyaWJlZCBpbiBiLzc5NDE3MTYuCitURVNUKGRsZmNuLCBkbG9wZW5fZGxvcGVuX2Zyb21fY3RvcikgeworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X2Rsb3Blbl9mcm9tX2N0b3JfbWFpbi5zbyIsIFJUTERfTk9XKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgZGxjbG9zZShoYW5kbGUpOworI2Vsc2UKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGlzIGRpc2FibGVkIGZvciBnbGliYyAoZ2xpYmMgc2VnZmF1bHRzIGlmIHlvdSB0cnkgdG8gY2FsbCBkbG9wZW4gZnJvbSBhIGNvbnN0cnVjdG9yKS5cbiI7CisjZW5kaWYKK30KKworVEVTVChkbGZjbiwgc3ltYm9sX3ZlcnNpb25pbmdfdXNlX3YxKSB7CisgIHZvaWQqIGhhbmRsZSA9IGRsb3BlbigibGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjEuc28iLCBSVExEX05PVyk7CisgIEFTU0VSVF9UUlVFKGhhbmRsZSAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIHR5cGVkZWYgaW50ICgqZm5fdCkoKTsKKyAgZm5fdCBmbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Zm5fdD4oZGxzeW0oaGFuZGxlLCAiZ2V0X2Z1bmN0aW9uX3ZlcnNpb24iKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKDEsIGZuKCkpOworICBkbGNsb3NlKGhhbmRsZSk7Cit9CisKK1RFU1QoZGxmY24sIHN5bWJvbF92ZXJzaW9uaW5nX3VzZV92MikgeworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfdmVyc2lvbmVkX3VzZWxpYnYyLnNvIiwgUlRMRF9OT1cpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICB0eXBlZGVmIGludCAoKmZuX3QpKCk7CisgIGZuX3QgZm4gPSByZWludGVycHJldF9jYXN0PGZuX3Q+KGRsc3ltKGhhbmRsZSwgImdldF9mdW5jdGlvbl92ZXJzaW9uIikpOworICBBU1NFUlRfVFJVRShmbiAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIEFTU0VSVF9FUSgyLCBmbigpKTsKKyAgZGxjbG9zZShoYW5kbGUpOworfQorCitURVNUKGRsZmNuLCBzeW1ib2xfdmVyc2lvbmluZ191c2Vfb3RoZXJfdjIpIHsKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJ0ZXN0X3ZlcnNpb25lZF91c2VsaWJ2Ml9vdGhlci5zbyIsIFJUTERfTk9XKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgdHlwZWRlZiBpbnQgKCpmbl90KSgpOworICBmbl90IGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUsICJnZXRfZnVuY3Rpb25fdmVyc2lvbiIpKTsKKyAgQVNTRVJUX1RSVUUoZm4gIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICBBU1NFUlRfRVEoMjAsIGZuKCkpOworICBkbGNsb3NlKGhhbmRsZSk7Cit9CisKK1RFU1QoZGxmY24sIHN5bWJvbF92ZXJzaW9uaW5nX3VzZV9vdGhlcl92MykgeworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfdmVyc2lvbmVkX3VzZWxpYnYzX290aGVyLnNvIiwgUlRMRF9OT1cpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICB0eXBlZGVmIGludCAoKmZuX3QpKCk7CisgIGZuX3QgZm4gPSByZWludGVycHJldF9jYXN0PGZuX3Q+KGRsc3ltKGhhbmRsZSwgImdldF9mdW5jdGlvbl92ZXJzaW9uIikpOworICBBU1NFUlRfVFJVRShmbiAhPSBudWxscHRyKSA8PCBkbGVycm9yKCk7CisgIEFTU0VSVF9FUSgzLCBmbigpKTsKKyAgZGxjbG9zZShoYW5kbGUpOworfQorCitURVNUKGRsZmNuLCBzeW1ib2xfdmVyc2lvbmluZ19kZWZhdWx0X3ZpYV9kbHN5bSkgeworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfdmVyc2lvbmVkX2xpYi5zbyIsIFJUTERfTk9XKTsKKyAgQVNTRVJUX1RSVUUoaGFuZGxlICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgdHlwZWRlZiBpbnQgKCpmbl90KSgpOworICBmbl90IGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUsICJ2ZXJzaW9uZWRfZnVuY3Rpb24iKSk7CisgIEFTU0VSVF9UUlVFKGZuICE9IG51bGxwdHIpIDw8IGRsZXJyb3IoKTsKKyAgQVNTRVJUX0VRKDMsIGZuKCkpOyAvLyB0aGUgZGVmYXVsdCB2ZXJzaW9uIGlzIDMKKyAgZGxjbG9zZShoYW5kbGUpOworfQorCisvLyBUaGlzIHByZWVtcHRzIHRoZSBpbXBsZW1lbnRhdGlvbiBmcm9tIGxpYnRlc3RfdmVyc2lvbmVkX2xpYi5zbworZXh0ZXJuICJDIiBpbnQgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uKCkgeworICByZXR1cm4gMDsKK30KKworLy8gVGhpcyBwcmVlbXB0cyB0aGUgaW1wbGVtZW50YXRpb24gZnJvbSBsaWJ0ZXN0X3ZlcnNpb25lZF91c2VsaWJ2Ki5zbworZXh0ZXJuICJDIiBpbnQgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uMigpIHsKKyAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS90ZXN0cy9lcnJvcl90ZXN0LmNwcCBiL3Rlc3RzL2Vycm9yX3Rlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZWUxNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9lcnJvcl90ZXN0LmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKKyAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAorICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCisgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSA8ZXJyb3IuaD4KKworI2luY2x1ZGUgIkJpb25pY0RlYXRoVGVzdC5oIgorCitzdGF0aWMgc2l6ZV90IGdfdGVzdF9lcnJvcl9wcmludF9wcm9nbmFtZV9pbnZvY2F0aW9uX2NvdW50OworCitzdGF0aWMgdm9pZCB0ZXN0X2Vycm9yX3ByaW50X3Byb2duYW1lKCkgeworICArK2dfdGVzdF9lcnJvcl9wcmludF9wcm9nbmFtZV9pbnZvY2F0aW9uX2NvdW50OworfQorCitURVNUKGVycm9yLCBzbW9rZSkgeworICBlcnJvcl9tZXNzYWdlX2NvdW50ID0gMDsKKyAgZXJyb3IoMCwgMCwgIm9vcHMiKTsKKyAgQVNTRVJUX0VRKDFVLCBlcnJvcl9tZXNzYWdlX2NvdW50KTsKKyAgZXJyb3IoMCwgRU5PRU5ULCAiY291bGRuJ3Qgb3BlbiBmaWxlICclcyciLCAiYmxhaCIpOworICBBU1NFUlRfRVEoMlUsIGVycm9yX21lc3NhZ2VfY291bnQpOworCisgIGVycm9yX3ByaW50X3Byb2duYW1lID0gdGVzdF9lcnJvcl9wcmludF9wcm9nbmFtZTsKKyAgZ190ZXN0X2Vycm9yX3ByaW50X3Byb2duYW1lX2ludm9jYXRpb25fY291bnQgPSAwOworICBlcnJvcigwLCAwLCAib29wcyIpOworICBBU1NFUlRfRVEoMVUsIGdfdGVzdF9lcnJvcl9wcmludF9wcm9nbmFtZV9pbnZvY2F0aW9uX2NvdW50KTsKKworICBlcnJvcl9hdF9saW5lKDAsIDAsICJibGFoLmMiLCAxMjMsICJoZWxsbyAlcyIsICJ3b3JsZCIpOworCisgIGVycm9yX3ByaW50X3Byb2duYW1lID0gTlVMTDsKK30KKworVEVTVChlcnJvcl9EZWF0aFRlc3QsIGVycm9yX2V4aXQpIHsKKyAgQVNTRVJUX0VYSVQoZXJyb3IoMjIsIDAsICJ4JWMiLCAneScpLCA6OnRlc3Rpbmc6OkV4aXRlZFdpdGhDb2RlKDIyKSwgInh5Iik7Cit9CisKK1RFU1QoZXJyb3JfRGVhdGhUZXN0LCBlcnJvcl9leGl0X3dpdGhfZXJybm8pIHsKKyAgQVNTRVJUX0VYSVQoZXJyb3IoMjIsIEVCQURGLCAieCVjIiwgJ3knKSwgOjp0ZXN0aW5nOjpFeGl0ZWRXaXRoQ29kZSgyMiksICI6IHh5OiBCYWQgZmlsZSBkZXNjcmlwdG9yIik7Cit9CisKK1RFU1QoZXJyb3JfRGVhdGhUZXN0LCBlcnJvcl9hdF9saW5lX2V4aXQpIHsKKyAgQVNTRVJUX0VYSVQoZXJyb3JfYXRfbGluZSgyMiwgMCwgImEuYyIsIDEyMywgInglYyIsICd5JyksIDo6dGVzdGluZzo6RXhpdGVkV2l0aENvZGUoMjIpLCAiOmEuYzoxMjM6IHh5Iik7Cit9CisKK1RFU1QoZXJyb3JfRGVhdGhUZXN0LCBlcnJvcl9hdF9saW5lX2V4aXRfd2l0aF9lcnJubykgeworICBBU1NFUlRfRVhJVChlcnJvcl9hdF9saW5lKDIyLCBFQkFERiwgImEuYyIsIDEyMywgInglYyIsICd5JyksIDo6dGVzdGluZzo6RXhpdGVkV2l0aENvZGUoMjIpLCAiOmEuYzoxMjM6IHh5OiBCYWQgZmlsZSBkZXNjcmlwdG9yIik7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9maWxlLWNoZWNrLWN4eCBiL3Rlc3RzL2ZpbGUtY2hlY2stY3h4Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhlY2U4MzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9maWxlLWNoZWNrLWN4eApAQCAtMCwwICsxLDEzIEBACisjIS9iaW4vYmFzaAorRklMRUNIRUNLPSQxCitDWFg9JDIKK1BSRUZJWD0kMworQVJHUz0keyo6NH0KK1NPVVJDRT0kKGVjaG8gJEFSR1MgfCBncmVwIC1vUCAnXFMrXC5jcHBcYicpCitPQko9JChlY2hvICRBUkdTIHwgZ3JlcCAtb1AgJ1xTK1wub1xiJykKKyRDWFggJEFSR1MgMj4mMSB8ICRGSUxFQ0hFQ0sgLWNoZWNrLXByZWZpeD0kUFJFRklYICRTT1VSQ0UKK2lmIFsgIiQ/IiAtZXEgMCBdOyB0aGVuCisgIHRvdWNoICRPQkoKK2Vsc2UKKyAgZXhpdCAxCitmaQpkaWZmIC0tZ2l0IGEvdGVzdHMvZm9ydGlmeV9jb21waWxhdGlvbl90ZXN0LmNwcCBiL3Rlc3RzL2ZvcnRpZnlfY29tcGlsYXRpb25fdGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM3YjM0MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2ZvcnRpZnlfY29tcGlsYXRpb25fdGVzdC5jcHAKQEAgLTAsMCArMSwyMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjdW5kZWYgX0ZPUlRJRllfU09VUkNFCisjZGVmaW5lIF9GT1JUSUZZX1NPVVJDRSAyCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjaW5jbHVkZSA8cG9sbC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCit2b2lkIHRlc3Rfc3ByaW50ZigpIHsKKyAgY2hhciBidWZbNF07CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIGludCBfX2J1aWx0aW5fX19zcHJpbnRmX2NoayhjaGFyKiwgaW50LCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQsIGNvbnN0IGNoYXIqLCAuLi4pIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIHNwcmludGYoYnVmLCAiZm9vYmFyIik7ICAvLyBOT0xJTlQocnVudGltZS9wcmludGYpCisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIGludCBfX2J1aWx0aW5fX19zcHJpbnRmX2NoayhjaGFyKiwgaW50LCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQsIGNvbnN0IGNoYXIqLCAuLi4pIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIHNwcmludGYoYnVmLCAiJXMiLCAiZm9vYmFyIik7ICAvLyBOT0xJTlQocnVudGltZS9wcmludGYpCit9CisKK3ZvaWQgdGVzdF9zbnByaW50ZigpIHsKKyAgY2hhciBidWZbNF07CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIGludCBfX2J1aWx0aW5fX19zbnByaW50Zl9jaGsoY2hhciosIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCwgaW50LCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQsIGNvbnN0IGNoYXIqLCAuLi4pIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIHNucHJpbnRmKGJ1ZiwgNSwgImZvb2JhciIpOyAgLy8gTk9MSU5UKHJ1bnRpbWUvcHJpbnRmKQorCisgIC8vIE5PTElOVE5FWFRMSU5FKHdoaXRlc3BhY2UvbGluZV9sZW5ndGgpCisgIC8vIEdDQzogd2FybmluZzogY2FsbCB0byBpbnQgX19idWlsdGluX19fc25wcmludGZfY2hrKGNoYXIqLCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQsIGludCwge3sobG9uZyApP319dW5zaWduZWQgaW50LCBjb25zdCBjaGFyKiwgLi4uKSB3aWxsIGFsd2F5cyBvdmVyZmxvdyBkZXN0aW5hdGlvbiBidWZmZXIKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBzbnByaW50ZihidWYsIDUsICIlcyIsICJmb29iYXIiKTsgIC8vIE5PTElOVChydW50aW1lL3ByaW50ZikKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8gaW50IF9fYnVpbHRpbl9fX3NucHJpbnRmX2NoayhjaGFyKiwge3sobG9uZyApP319dW5zaWduZWQgaW50LCBpbnQsIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCwgY29uc3QgY2hhciosIC4uLikgd2lsbCBhbHdheXMgb3ZlcmZsb3cgZGVzdGluYXRpb24gYnVmZmVyCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgc25wcmludGYoYnVmLCA1LCAiICVzICIsICJmb29iYXIiKTsgIC8vIE5PTElOVChydW50aW1lL3ByaW50ZikKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8gaW50IF9fYnVpbHRpbl9fX3NucHJpbnRmX2NoayhjaGFyKiwge3sobG9uZyApP319dW5zaWduZWQgaW50LCBpbnQsIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCwgY29uc3QgY2hhciosIC4uLikgd2lsbCBhbHdheXMgb3ZlcmZsb3cgZGVzdGluYXRpb24gYnVmZmVyCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgc25wcmludGYoYnVmLCA1LCAiJWQiLCAxMDAwMDApOyAgLy8gTk9MSU5UKHJ1bnRpbWUvcHJpbnRmKQorfQorCit2b2lkIHRlc3RfbWVtY3B5KCkgeworICBjaGFyIGJ1Zls0XTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8gdm9pZCogX19idWlsdGluX19fbWVtY3B5X2Noayh2b2lkKiwgY29uc3Qgdm9pZCosIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCwge3sobG9uZyApP319dW5zaWduZWQgaW50KSB3aWxsIGFsd2F5cyBvdmVyZmxvdyBkZXN0aW5hdGlvbiBidWZmZXIKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBtZW1jcHkoYnVmLCAiZm9vYmFyIiwgc2l6ZW9mKCJmb29iYXIiKSk7Cit9CisKK3ZvaWQgdGVzdF9tZW1tb3ZlKCkgeworICBjaGFyIGJ1Zls0XTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8gdm9pZCogX19idWlsdGluX19fbWVtbW92ZV9jaGsodm9pZCosIGNvbnN0IHZvaWQqLCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQsIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCkgd2lsbCBhbHdheXMgb3ZlcmZsb3cgZGVzdGluYXRpb24gYnVmZmVyCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgbWVtbW92ZShidWYsICJmb29iYXIiLCBzaXplb2YoImZvb2JhciIpKTsKK30KKwordm9pZCB0ZXN0X21lbXNldCgpIHsKKyAgY2hhciBidWZbNF07CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIHZvaWQqIF9fYnVpbHRpbl9fX21lbXNldF9jaGsodm9pZCosIGludCwge3sobG9uZyApP319dW5zaWduZWQgaW50LCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQpIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIG1lbXNldChidWYsIDAsIDYpOworfQorCit2b2lkIHRlc3Rfc3RyY3B5KCkgeworICBjaGFyIGJ1Zls0XTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8ge3soY2hhclwqIF9fYnVpbHRpbl9fX3N0cmNweV9jaGtcKGNoYXJcKiwgY29uc3QgY2hhclwqLCB1bnNpZ25lZCBpbnRcKSl8KHZvaWRcKiBfX2J1aWx0aW5fX19tZW1jcHlfY2hrXCh2b2lkXCosIGNvbnN0IHZvaWRcKiwgKGxvbmcgKT91bnNpZ25lZCBpbnQsIChsb25nICk/dW5zaWduZWQgaW50XCkpfX0gd2lsbCBhbHdheXMgb3ZlcmZsb3cgZGVzdGluYXRpb24gYnVmZmVyCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgc3RyY3B5KGJ1ZiwgImZvb2JhciIpOyAgLy8gTk9MSU5UKHJ1bnRpbWUvcHJpbnRmKQorfQorCit2b2lkIHRlc3Rfc3RwY3B5KCkgeworICBjaGFyIGJ1Zls0XTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8gY2hhciogX19idWlsdGluX19fc3RwY3B5X2NoayhjaGFyKiwgY29uc3QgY2hhciosIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCkgd2lsbCBhbHdheXMgb3ZlcmZsb3cgZGVzdGluYXRpb24gYnVmZmVyCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgc3RwY3B5KGJ1ZiwgImZvb2JhciIpOworfQorCit2b2lkIHRlc3Rfc3RybmNweSgpIHsKKyAgY2hhciBidWZbNF07CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIGNoYXIqIF9fYnVpbHRpbl9fX3N0cm5jcHlfY2hrKGNoYXIqLCBjb25zdCBjaGFyKiwge3sobG9uZyApP319dW5zaWduZWQgaW50LCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQpIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIHN0cm5jcHkoYnVmLCAiZm9vYmFyIiwgc2l6ZW9mKCJmb29iYXIiKSk7Cit9CisKK3ZvaWQgdGVzdF9zdHJjYXQoKSB7CisgIGNoYXIgYnVmWzRdID0gIiI7CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIHt7KGNoYXJcKiBfX2J1aWx0aW5fX19zdHJjYXRfY2hrXChjaGFyXCosIGNvbnN0IGNoYXJcKiwgdW5zaWduZWQgaW50XCkpfCh2b2lkXCogX19idWlsdGluX19fbWVtY3B5X2Noa1wodm9pZFwqLCBjb25zdCB2b2lkXCosIChsb25nICk/dW5zaWduZWQgaW50LCAobG9uZyApP3Vuc2lnbmVkIGludFwpKX19IHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIHN0cmNhdChidWYsICJmb29iYXIiKTsgIC8vIE5PTElOVChydW50aW1lL3ByaW50ZikKK30KKwordm9pZCB0ZXN0X3N0cm5jYXQoKSB7CisgIGNoYXIgYnVmWzRdID0gIiI7CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiB3YXJuaW5nOiBjYWxsIHRvIHt7KGNoYXJcKiBfX2J1aWx0aW5fX19zdHJjYXRfY2hrXChjaGFyXCosIGNvbnN0IGNoYXJcKiwgdW5zaWduZWQgaW50XCkpfCh2b2lkXCogX19idWlsdGluX19fbWVtY3B5X2Noa1wodm9pZFwqLCBjb25zdCB2b2lkXCosIChsb25nICk/dW5zaWduZWQgaW50LCAobG9uZyApP3Vuc2lnbmVkIGludFwpKX19IHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBnY2Mgb3V0cHV0IHdhcm5pbmcgd2l0aCBfX2J1aWx0aW5fX19zdHJjYXRfY2hrIGZvciBfX2J1aWx0aW5fX19zdHJuY2F0X2Noay4KKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBzdHJuY2F0KGJ1ZiwgImZvb2JhciIsIHNpemVvZigiZm9vYmFyIikpOworfQorCit2b2lkIHRlc3RfdnNwcmludGYoY29uc3QgY2hhciogZm10LCAuLi4pIHsKKyAgdmFfbGlzdCB2YTsKKyAgY2hhciBidWZbNF07CisgIHZhX3N0YXJ0KHZhLCBmbXQpOworCisgIC8vIE5PTElOVE5FWFRMSU5FKHdoaXRlc3BhY2UvbGluZV9sZW5ndGgpCisgIC8vIEdDQzogd2FybmluZzogY2FsbCB0byBpbnQgX19idWlsdGluX19fdnNwcmludGZfY2hrKGNoYXIqLCBpbnQsIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCwgY29uc3QgY2hhciosIHt7KF9fdmFfbGlzdCl8KHZvaWRcKil8KGNoYXJcKil8KF9fdmFfbGlzdF90YWdcKil9fSkgd2lsbCBhbHdheXMgb3ZlcmZsb3cgZGVzdGluYXRpb24gYnVmZmVyCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgdnNwcmludGYoYnVmLCAiZm9vYmFyIiwgdmEpOworICB2YV9lbmQodmEpOworfQorCit2b2lkIHRlc3RfdnNucHJpbnRmKGNvbnN0IGNoYXIqIGZtdCwgLi4uKSB7CisgIHZhX2xpc3QgdmE7CisgIGNoYXIgYnVmWzRdOworICB2YV9zdGFydCh2YSwgZm10KTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IHdhcm5pbmc6IGNhbGwgdG8gaW50IF9fYnVpbHRpbl9fX3ZzbnByaW50Zl9jaGsoY2hhciosIHt7KGxvbmcgKT99fXVuc2lnbmVkIGludCwgaW50LCB7eyhsb25nICk/fX11bnNpZ25lZCBpbnQsIGNvbnN0IGNoYXIqLCB7eyhfX3ZhX2xpc3QpfCh2b2lkXCopfChjaGFyXCopfChfX3ZhX2xpc3RfdGFnXCopfX0pIHdpbGwgYWx3YXlzIG92ZXJmbG93IGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAvLyBjbGFuZyBzaG91bGQgZW1pdCBhIHdhcm5pbmcsIGJ1dCBkb2Vzbid0CisgIHZzbnByaW50ZihidWYsIDUsICJmb29iYXIiLCB2YSk7ICAvLyBOT0xJTlQocnVudGltZS9wcmludGYpCisKKyAgdmFfZW5kKHZhKTsKK30KKwordm9pZCB0ZXN0X2ZnZXRzKCkgeworICBjaGFyIGJ1Zls0XTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IGVycm9yOiBjYWxsIHRvICdfX2ZnZXRzX3Rvb19zbWFsbF9lcnJvcicgZGVjbGFyZWQgd2l0aCBhdHRyaWJ1dGUgZXJyb3I6IGZnZXRzIGNhbGxlZCB3aXRoIHNpemUgbGVzcyB0aGFuIHplcm8KKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBmZ2V0cyhidWYsIC0xLCBzdGRpbik7CisKKyAgLy8gTk9MSU5UTkVYVExJTkUod2hpdGVzcGFjZS9saW5lX2xlbmd0aCkKKyAgLy8gR0NDOiBlcnJvcjogY2FsbCB0byAnX19mZ2V0c190b29fYmlnX2Vycm9yJyBkZWNsYXJlZCB3aXRoIGF0dHJpYnV0ZSBlcnJvcjogZmdldHMgY2FsbGVkIHdpdGggc2l6ZSBiaWdnZXIgdGhhbiBidWZmZXIKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBmZ2V0cyhidWYsIDYsIHN0ZGluKTsKK30KKwordm9pZCB0ZXN0X3JlY3Zmcm9tKCkgeworICBjaGFyIGJ1Zls0XTsKKyAgc29ja2FkZHJfaW4gYWRkcjsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IGVycm9yOiBjYWxsIHRvICdfX3JlY3Zmcm9tX2Vycm9yJyBkZWNsYXJlZCB3aXRoIGF0dHJpYnV0ZSBlcnJvcjogcmVjdmZyb20gY2FsbGVkIHdpdGggc2l6ZSBiaWdnZXIgdGhhbiBidWZmZXIKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICByZWN2ZnJvbSgwLCBidWYsIDYsIDAsIHJlaW50ZXJwcmV0X2Nhc3Q8c29ja2FkZHIqPigmYWRkciksIE5VTEwpOworfQorCit2b2lkIHRlc3RfdW1hc2soKSB7CisgIC8vIE5PTElOVE5FWFRMSU5FKHdoaXRlc3BhY2UvbGluZV9sZW5ndGgpCisgIC8vIEdDQzogZXJyb3I6IGNhbGwgdG8gJ19fdW1hc2tfaW52YWxpZF9tb2RlJyBkZWNsYXJlZCB3aXRoIGF0dHJpYnV0ZSBlcnJvcjogdW1hc2sgY2FsbGVkIHdpdGggaW52YWxpZCBtb2RlCisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgdW1hc2soMDE3NzcpOworfQorCit2b2lkIHRlc3RfcmVhZCgpIHsKKyAgY2hhciBidWZbNF07CisgIC8vIE5PTElOVE5FWFRMSU5FKHdoaXRlc3BhY2UvbGluZV9sZW5ndGgpCisgIC8vIEdDQzogZXJyb3I6IGNhbGwgdG8gJ19fcmVhZF9kZXN0X3NpemVfZXJyb3InIGRlY2xhcmVkIHdpdGggYXR0cmlidXRlIGVycm9yOiByZWFkIGNhbGxlZCB3aXRoIHNpemUgYmlnZ2VyIHRoYW4gZGVzdGluYXRpb24KKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICByZWFkKDAsIGJ1ZiwgNik7Cit9CisKK3ZvaWQgdGVzdF9vcGVuKCkgeworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IGVycm9yOiBjYWxsIHRvICdfX2NyZWF0X21pc3NpbmdfbW9kZScgZGVjbGFyZWQgd2l0aCBhdHRyaWJ1dGUgZXJyb3I6IGNhbGxlZCB3aXRoIE9fQ1JFQVQsIGJ1dCBtaXNzaW5nIG1vZGUKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBvcGVuKCIvZGV2L251bGwiLCBPX0NSRUFUKTsKKworICAvLyBOT0xJTlRORVhUTElORSh3aGl0ZXNwYWNlL2xpbmVfbGVuZ3RoKQorICAvLyBHQ0M6IGVycm9yOiBjYWxsIHRvICdfX2NyZWF0X3Rvb19tYW55X2FyZ3MnIGRlY2xhcmVkIHdpdGggYXR0cmlidXRlIGVycm9yOiB0b28gbWFueSBhcmd1bWVudHMKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBvcGVuKCIvZGV2L251bGwiLCBPX0NSRUFULCAwLCAwKTsKK30KKwordm9pZCB0ZXN0X3BvbGwoKSB7CisgIHBvbGxmZCBmZHNbMV07CisgIC8vIE5PTElOVE5FWFRMSU5FKHdoaXRlc3BhY2UvbGluZV9sZW5ndGgpCisgIC8vIEdDQzogZXJyb3I6IGNhbGwgdG8gJ19fcG9sbF90b29fc21hbGxfZXJyb3InIGRlY2xhcmVkIHdpdGggYXR0cmlidXRlIGVycm9yOiBwb2xsOiBwb2xsZmQgYXJyYXkgc21hbGxlciB0aGFuIGZkIGNvdW50CisgIC8vIGNsYW5nIHNob3VsZCBlbWl0IGEgd2FybmluZywgYnV0IGRvZXNuJ3QKKyAgcG9sbChmZHMsIDIsIDApOworfQorCit2b2lkIHRlc3RfcHBvbGwoKSB7CisgIHBvbGxmZCBmZHNbMV07CisgIHRpbWVzcGVjIHRpbWVvdXQ7CisgIC8vIE5PTElOVE5FWFRMSU5FKHdoaXRlc3BhY2UvbGluZV9sZW5ndGgpCisgIC8vIEdDQzogZXJyb3I6IGNhbGwgdG8gJ19fcHBvbGxfdG9vX3NtYWxsX2Vycm9yJyBkZWNsYXJlZCB3aXRoIGF0dHJpYnV0ZSBlcnJvcjogcHBvbGw6IHBvbGxmZCBhcnJheSBzbWFsbGVyIHRoYW4gZmQgY291bnQKKyAgLy8gY2xhbmcgc2hvdWxkIGVtaXQgYSB3YXJuaW5nLCBidXQgZG9lc24ndAorICBwcG9sbChmZHMsIDIsICZ0aW1lb3V0LCBOVUxMKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2ZvcnRpZnlfdGVzdC5jcHAgYi90ZXN0cy9mb3J0aWZ5X3Rlc3QuY3BwCmluZGV4IDM1MmNhYzYuLjRmYWNjYjQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ZvcnRpZnlfdGVzdC5jcHAKKysrIGIvdGVzdHMvZm9ydGlmeV90ZXN0LmNwcApAQCAtMTUsMzggKzE1LDMyIEBACiAgKi8KIAogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0jaW5jbHVkZSA8c2lnbmFsLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0jaW5jbHVkZSA8bWFsbG9jLmg+Ci0jaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxzeXMvcHJjdGwuaD4KKyNpbmNsdWRlICJCaW9uaWNEZWF0aFRlc3QuaCIKIAotLy8gV2UgaGF2ZSB0byBzYXkgIkRlYXRoVGVzdCIgaGVyZSBzbyBndGVzdCBrbm93cyB0byBydW4gdGhpcyB0ZXN0ICh3aGljaCBleGl0cykKLS8vIGluIGl0cyBvd24gcHJvY2Vzcy4gVW5mb3J0dW5hdGVseSwgdGhlIEMgcHJlcHJvY2Vzc29yIGRvZXNuJ3QgZ2l2ZSB1cyBhbgotLy8gZWFzeSB3YXkgdG8gY29uY2F0ZW5hdGUgc3RyaW5ncywgc28gd2UgbmVlZCB0byB1c2UgdGhlIGNvbXBsaWNhdGVkIG1ldGhvZAotLy8gYmVsb3cuICpzaWdoKgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bWFsbG9jLmg+CisjaW5jbHVkZSA8cG9sbC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2lmIF9fQklPTklDX18KKyNkZWZpbmUgQVNTRVJUX0ZPUlRJRlkoZXhwcikgQVNTRVJUX0VYSVQoZXhwciwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICJGT1JUSUZZIikKKyNlbHNlCisjZGVmaW5lIEFTU0VSVF9GT1JUSUZZKGV4cHIpIEFTU0VSVF9FWElUKGV4cHIsIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIikKKyNlbmRpZgorCisvLyBGb3J0aWZ5IHRlc3QgY29kZSBuZWVkcyB0byBydW4gbXVsdGlwbGUgdGltZXMsIHNvIFRFU1RfTkFNRSBtYWNybyBpcyB1c2VkIHRvCisvLyBkaXN0aW5ndWlzaCBkaWZmZXJlbnQgdGVzdHMuIFRFU1RfTkFNRSBpcyBkZWZpbmVkIGluIGNvbXBpbGF0aW9uIGNvbW1hbmQuCiAjZGVmaW5lIERFQVRIVEVTVF9QQVNURVIobmFtZSkgbmFtZSMjX0RlYXRoVGVzdAogI2RlZmluZSBERUFUSFRFU1RfRVZBTFVBVE9SKG5hbWUpIERFQVRIVEVTVF9QQVNURVIobmFtZSkKICNkZWZpbmUgREVBVEhURVNUIERFQVRIVEVTVF9FVkFMVUFUT1IoVEVTVF9OQU1FKQogCi1jbGFzcyBERUFUSFRFU1QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7Ci0gcHJvdGVjdGVkOgotICB2aXJ0dWFsIHZvaWQgU2V0VXAoKSB7Ci0gICAgb2xkX2R1bXBhYmxlXyA9IHByY3RsKFBSX0dFVF9EVU1QQUJMRSwgMCwgMCwgMCwgMCk7Ci0gICAgLy8gU3VwcHJlc3MgZGVidWdnZXJkIHN0YWNrIHRyYWNlcy4gVG9vIHNsb3cuCi0gICAgcHJjdGwoUFJfU0VUX0RVTVBBQkxFLCAwLCAwLCAwLCAwKTsKLSAgfQotCi0gIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsKLSAgICBwcmN0bChQUl9TRVRfRFVNUEFCTEUsIG9sZF9kdW1wYWJsZV8sIDAsIDAsIDAsIDApOwotICB9Ci0gcHJpdmF0ZToKLSAgaW50IG9sZF9kdW1wYWJsZV87Ci19OworY2xhc3MgREVBVEhURVNUIDogcHVibGljIEJpb25pY0RlYXRoVGVzdCB7fTsKIAogI2lmIGRlZmluZWQoX0ZPUlRJRllfU09VUkNFKSAmJiBfRk9SVElGWV9TT1VSQ0UgPT0gMgogc3RydWN0IGZvbyB7CkBAIC02MCwxMSArNTQsOSBAQAogLy8gVGhpcyB0ZXN0IGlzIGRpc2FibGVkIGluIGNsYW5nIGJlY2F1c2UgY2xhbmcgZG9lc24ndCBwcm9wZXJseSBkZXRlY3QKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHBuY3B5X2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIGludCBjb3B5X2FtdCA9IGF0b2koIjExIik7Ci0gIEFTU0VSVF9FWElUKHN0cG5jcHkobXlmb28uYSwgIjAxMjM0NTY3ODkwIiwgY29weV9hbXQpLAotICAgICAgICAgICAgICB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHBuY3B5KG15Zm9vLmEsICIwMTIzNDU2Nzg5MCIsIGNvcHlfYW10KSk7CiB9CiAjZW5kaWYKIApAQCAtNzIsMTIgKzY0LDEwIEBACiAvLyBUaGlzIHRlc3QgaXMgZGlzYWJsZWQgaW4gY2xhbmcgYmVjYXVzZSBjbGFuZyBkb2Vzbid0IHByb3Blcmx5IGRldGVjdAogLy8gdGhpcyBidWZmZXIgb3ZlcmZsb3cuIFRPRE86IEZpeCBjbGFuZy4KIFRFU1RfRihERUFUSFRFU1QsIHN0cG5jcHkyX2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIG1lbXNldCgmbXlmb28sIDAsIHNpemVvZihteWZvbykpOwogICBteWZvby5vbmVbMF0gPSAnQSc7IC8vIG5vdCBudWxsIHRlcm1pbmF0ZWQgc3RyaW5nCi0gIEFTU0VSVF9FWElUKHN0cG5jcHkobXlmb28uYiwgbXlmb28ub25lLCBzaXplb2YobXlmb28uYikpLAotICAgICAgICAgICAgICB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHBuY3B5KG15Zm9vLmIsIG15Zm9vLm9uZSwgc2l6ZW9mKG15Zm9vLmIpKSk7CiB9CiAjZW5kaWYKIApAQCAtODUsMTEgKzc1LDkgQEAKIC8vIFRoaXMgdGVzdCBpcyBkaXNhYmxlZCBpbiBjbGFuZyBiZWNhdXNlIGNsYW5nIGRvZXNuJ3QgcHJvcGVybHkgZGV0ZWN0CiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3RybmNweV9mb3J0aWZpZWQyKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBpbnQgY29weV9hbXQgPSBhdG9pKCIxMSIpOwotICBBU1NFUlRfRVhJVChzdHJuY3B5KG15Zm9vLmEsICIwMTIzNDU2Nzg5MCIsIGNvcHlfYW10KSwKLSAgICAgICAgICAgICAgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RybmNweShteWZvby5hLCAiMDEyMzQ1Njc4OTAiLCBjb3B5X2FtdCkpOwogfQogI2VuZGlmCiAKQEAgLTk3LDEyICs4NSwxMCBAQAogLy8gVGhpcyB0ZXN0IGlzIGRpc2FibGVkIGluIGNsYW5nIGJlY2F1c2UgY2xhbmcgZG9lc24ndCBwcm9wZXJseSBkZXRlY3QKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHJuY3B5Ml9mb3J0aWZpZWQyKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBtZW1zZXQoJm15Zm9vLCAwLCBzaXplb2YobXlmb28pKTsKICAgbXlmb28ub25lWzBdID0gJ0EnOyAvLyBub3QgbnVsbCB0ZXJtaW5hdGVkIHN0cmluZwotICBBU1NFUlRfRVhJVChzdHJuY3B5KG15Zm9vLmIsIG15Zm9vLm9uZSwgc2l6ZW9mKG15Zm9vLmIpKSwKLSAgICAgICAgICAgICAgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RybmNweShteWZvby5iLCBteWZvby5vbmUsIHNpemVvZihteWZvby5iKSkpOwogfQogI2VuZGlmCiAKQEAgLTExMCwxMiArOTYsMTAgQEAKIC8vIFRoaXMgdGVzdCBpcyBkaXNhYmxlZCBpbiBjbGFuZyBiZWNhdXNlIGNsYW5nIGRvZXNuJ3QgcHJvcGVybHkgZGV0ZWN0CiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3ByaW50Zl9mb3J0aWZpZWQyKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBjaGFyIHNvdXJjZV9idWZbMTVdOwogICBtZW1jcHkoc291cmNlX2J1ZiwgIjEyMzQ1Njc4OTAxMjM0IiwgMTUpOwotICBBU1NFUlRfRVhJVChzcHJpbnRmKG15Zm9vLmEsICIlcyIsIHNvdXJjZV9idWYpLAotICAgICAgICAgICAgICB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzcHJpbnRmKG15Zm9vLmEsICIlcyIsIHNvdXJjZV9idWYpKTsKIH0KICNlbmRpZgogCkBAIC0xMjMsMTAgKzEwNyw4IEBACiAvLyBUaGlzIHRlc3QgaXMgZGlzYWJsZWQgaW4gY2xhbmcgYmVjYXVzZSBjbGFuZyBkb2Vzbid0IHByb3Blcmx5IGRldGVjdAogLy8gdGhpcyBidWZmZXIgb3ZlcmZsb3cuIFRPRE86IEZpeCBjbGFuZy4KIFRFU1RfRihERUFUSFRFU1QsIHNwcmludGYyX2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287Ci0gIEFTU0VSVF9FWElUKHNwcmludGYobXlmb28uYSwgIjAxMjM0NTY3ODkiKSwKLSAgICAgICAgICAgICAgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3ByaW50ZihteWZvby5hLCAiMDEyMzQ1Njc4OSIpKTsKIH0KICNlbmRpZgogCkBAIC0xNDUsMTMgKzEyNywxMSBAQAogfQogCiBURVNUX0YoREVBVEhURVNULCB2c3ByaW50Zl9mb3J0aWZpZWQyKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKLSAgQVNTRVJUX0VYSVQodnNwcmludGZfaGVscGVyMigiJXMiLCAiMDEyMzQ1Njc4OSIpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWSh2c3ByaW50Zl9oZWxwZXIyKCIlcyIsICIwMTIzNDU2Nzg5IikpOwogfQogCiBURVNUX0YoREVBVEhURVNULCB2c3ByaW50ZjJfZm9ydGlmaWVkMikgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7Ci0gIEFTU0VSVF9FWElUKHZzcHJpbnRmX2hlbHBlcjIoIjAxMjM0NTY3ODkiKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkodnNwcmludGZfaGVscGVyMigiMDEyMzQ1Njc4OSIpKTsKIH0KICNlbmRpZgogCkBAIC0xNzEsMTMgKzE1MSwxMSBAQAogfQogCiBURVNUX0YoREVBVEhURVNULCB2c25wcmludGZfZm9ydGlmaWVkMikgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7Ci0gIEFTU0VSVF9FWElUKHZzbnByaW50Zl9oZWxwZXIyKCIlcyIsICIwMTIzNDU2Nzg5IiksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHZzbnByaW50Zl9oZWxwZXIyKCIlcyIsICIwMTIzNDU2Nzg5IikpOwogfQogCiBURVNUX0YoREVBVEhURVNULCB2c25wcmludGYyX2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwotICBBU1NFUlRfRVhJVCh2c25wcmludGZfaGVscGVyMigiMDEyMzQ1Njc4OSIpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWSh2c25wcmludGZfaGVscGVyMigiMDEyMzQ1Njc4OSIpKTsKIH0KICNlbmRpZgogCkBAIC0xODcsMTEgKzE2NSw5IEBACiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3RwY3B5X2ZvcnRpZmllZDIpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBjaGFyKiBzcmMgPSBzdHJkdXAoIiIpOwotICBBU1NFUlRfRVhJVChzdHBjcHkobXlmb28uZW1wdHksIHNyYyksCi0gICAgICAgICAgICAgIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cGNweShteWZvby5lbXB0eSwgc3JjKSk7CiAgIGZyZWUoc3JjKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CkBAIC0yMDUsMTEgKzE4MSw5IEBACiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3RyY3B5X2ZvcnRpZmllZDIpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBjaGFyKiBzcmMgPSBzdHJkdXAoIiIpOwotICBBU1NFUlRfRVhJVChzdHJjcHkobXlmb28uZW1wdHksIHNyYyksCi0gICAgICAgICAgICAgIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cmNweShteWZvby5lbXB0eSwgc3JjKSk7CiAgIGZyZWUoc3JjKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CkBAIC0yMjMsMTEgKzE5Nyw5IEBACiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3RyY3B5Ml9mb3J0aWZpZWQyKSB7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGZvbyBteWZvbzsKICAgY2hhciogc3JjID0gc3RyZHVwKCIxIik7Ci0gIEFTU0VSVF9FWElUKHN0cmNweShteWZvby5lbXB0eSwgc3JjKSwKLSAgICAgICAgICAgICAgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RyY3B5KG15Zm9vLmVtcHR5LCBzcmMpKTsKICAgZnJlZShzcmMpOwogI2Vsc2UgLy8gX19CSU9OSUNfXwogICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKQEAgLTI0MSwxMSArMjEzLDkgQEAKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHJjcHkzX2ZvcnRpZmllZDIpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBjaGFyKiBzcmMgPSBzdHJkdXAoIjEyIik7Ci0gIEFTU0VSVF9FWElUKHN0cmNweShteWZvby5vbmUsIHNyYyksCi0gICAgICAgICAgICAgIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cmNweShteWZvby5vbmUsIHNyYykpOwogICBmcmVlKHNyYyk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwpAQCAtMjU4LDEyICsyMjgsMTAgQEAKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHJjaHJfZm9ydGlmaWVkMikgewogI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIG1lbWNweShteWZvby5hLCAiMDEyMzQ1Njc4OSIsIHNpemVvZihteWZvby5hKSk7CiAgIG15Zm9vLmJbMF0gPSAnXDAnOwotICBBU1NFUlRfRVhJVChwcmludGYoIiVzIiwgc3RyY2hyKG15Zm9vLmEsICdhJykpLAotICAgICAgICAgICAgICB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShwcmludGYoIiVzIiwgc3RyY2hyKG15Zm9vLmEsICdhJykpKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwpAQCAtMjc1LDEyICsyNDMsMTAgQEAKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHJyY2hyX2ZvcnRpZmllZDIpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBtZW1jcHkobXlmb28uYSwgIjAxMjM0NTY3ODkiLCAxMCk7CiAgIG1lbWNweShteWZvby5iLCAiMDEyMzQiLCA2KTsKLSAgQVNTRVJUX0VYSVQocHJpbnRmKCIlcyIsIHN0cnJjaHIobXlmb28uYSwgJ2EnKSksCi0gICAgICAgICAgICAgIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHByaW50ZigiJXMiLCBzdHJyY2hyKG15Zm9vLmEsICdhJykpKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwpAQCAtMjkyLDEyICsyNTgsMTAgQEAKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHJsY3B5X2ZvcnRpZmllZDIpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBzdHJjcHkobXlmb28uYSwgIjAxIik7CiAgIHNpemVfdCBuID0gc3RybGVuKG15Zm9vLmEpOwotICBBU1NFUlRfRVhJVChzdHJsY3B5KG15Zm9vLm9uZSwgbXlmb28uYSwgbiksCi0gICAgICAgICAgICAgIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cmxjcHkobXlmb28ub25lLCBteWZvby5hLCBuKSk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwogI2VuZGlmIC8vIF9fQklPTklDX18KQEAgLTMwOSwxMyArMjczLDExIEBACiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3RybGNhdF9mb3J0aWZpZWQyKSB7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGZvbyBteWZvbzsKICAgc3RyY3B5KG15Zm9vLmEsICIwMSIpOwogICBteWZvby5vbmVbMF0gPSAnXDAnOwogICBzaXplX3QgbiA9IHN0cmxlbihteWZvby5hKTsKLSAgQVNTRVJUX0VYSVQoc3RybGNhdChteWZvby5vbmUsIG15Zm9vLmEsIG4pLAotICAgICAgICAgICAgICB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJsY2F0KG15Zm9vLm9uZSwgbXlmb28uYSwgbikpOwogI2Vsc2UgLy8gX19CSU9OSUNfXwogICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKICNlbmRpZiAvLyBfX0JJT05JQ19fCkBAIC0zMjYsMTEgKzI4OCwxMCBAQAogLy8gVGhpcyB0ZXN0IGlzIGRpc2FibGVkIGluIGNsYW5nIGJlY2F1c2UgY2xhbmcgZG9lc24ndCBwcm9wZXJseSBkZXRlY3QKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzdHJuY2F0X2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIHNpemVfdCBuID0gYXRvaSgiMTAiKTsgLy8gYXZvaWQgY29tcGlsZXIgb3B0aW1pemF0aW9ucwogICBzdHJuY3B5KG15Zm9vLmEsICIwMTIzNDU2NzgiLCBuKTsKLSAgQVNTRVJUX0VYSVQoc3RybmNhdChteWZvby5hLCAiOSIsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJuY2F0KG15Zm9vLmEsICI5IiwgbikpOwogfQogI2VuZGlmCiAKQEAgLTMzOCw1OCArMjk5LDUyIEBACiAvLyBUaGlzIHRlc3QgaXMgZGlzYWJsZWQgaW4gY2xhbmcgYmVjYXVzZSBjbGFuZyBkb2Vzbid0IHByb3Blcmx5IGRldGVjdAogLy8gdGhpcyBidWZmZXIgb3ZlcmZsb3cuIFRPRE86IEZpeCBjbGFuZy4KIFRFU1RfRihERUFUSFRFU1QsIHN0cm5jYXQyX2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIG15Zm9vLmFbMF0gPSAnXDAnOwogICBzaXplX3QgbiA9IGF0b2koIjEwIik7IC8vIGF2b2lkIGNvbXBpbGVyIG9wdGltaXphdGlvbnMKLSAgQVNTRVJUX0VYSVQoc3RybmNhdChteWZvby5hLCAiMDEyMzQ1Njc4OSIsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJuY2F0KG15Zm9vLmEsICIwMTIzNDU2Nzg5IiwgbikpOwogfQogI2VuZGlmCiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cm5jYXQzX2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIG1lbWNweShteWZvby5hLCAiMDEyMzQ1Njc4OSIsIHNpemVvZihteWZvby5hKSk7IC8vIHVudGVybWluYXRlZCBzdHJpbmcKICAgbXlmb28uYlswXSA9ICdcMCc7CiAgIHNpemVfdCBuID0gYXRvaSgiMTAiKTsgLy8gYXZvaWQgY29tcGlsZXIgb3B0aW1pemF0aW9ucwotICBBU1NFUlRfRVhJVChzdHJuY2F0KG15Zm9vLmIsIG15Zm9vLmEsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJuY2F0KG15Zm9vLmIsIG15Zm9vLmEsIG4pKTsKIH0KIAogI2lmbmRlZiBfX2NsYW5nX18KIC8vIFRoaXMgdGVzdCBpcyBkaXNhYmxlZCBpbiBjbGFuZyBiZWNhdXNlIGNsYW5nIGRvZXNuJ3QgcHJvcGVybHkgZGV0ZWN0CiAvLyB0aGlzIGJ1ZmZlciBvdmVyZmxvdy4gVE9ETzogRml4IGNsYW5nLgogVEVTVF9GKERFQVRIVEVTVCwgc3RyY2F0X2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBjaGFyIHNyY1sxMV07CiAgIHN0cmNweShzcmMsICIwMTIzNDU2Nzg5Iik7CiAgIGZvbyBteWZvbzsKICAgbXlmb28uYVswXSA9ICdcMCc7Ci0gIEFTU0VSVF9FWElUKHN0cmNhdChteWZvby5hLCBzcmMpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJjYXQobXlmb28uYSwgc3JjKSk7CiB9CiAjZW5kaWYKIAogVEVTVF9GKERFQVRIVEVTVCwgc3RyY2F0Ml9mb3J0aWZpZWQyKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBtZW1jcHkobXlmb28uYSwgIjAxMjM0NTY3ODkiLCBzaXplb2YobXlmb28uYSkpOyAvLyB1bnRlcm1pbmF0ZWQgc3RyaW5nCiAgIG15Zm9vLmJbMF0gPSAnXDAnOwotICBBU1NFUlRfRVhJVChzdHJjYXQobXlmb28uYiwgbXlmb28uYSksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cmNhdChteWZvby5iLCBteWZvby5hKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHNucHJpbnRmX2ZvcnRpZmllZDIpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBmb28gbXlmb287CiAgIHN0cmNweShteWZvby5hLCAiMDEyMzQ1Njc4Iik7CiAgIHNpemVfdCBuID0gc3RybGVuKG15Zm9vLmEpICsgMjsKLSAgQVNTRVJUX0VYSVQoc25wcmludGYobXlmb28uYiwgbiwgImElcyIsIG15Zm9vLmEpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzbnByaW50ZihteWZvby5iLCBuLCAiYSVzIiwgbXlmb28uYSkpOwogfQogCiBURVNUX0YoREVBVEhURVNULCBiemVyb19mb3J0aWZpZWQyKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgZm9vIG15Zm9vOwogICBtZW1jcHkobXlmb28uYiwgIjAxMjM0NTY3ODkiLCBzaXplb2YobXlmb28uYikpOwogICBzaXplX3QgbiA9IGF0b2koIjExIik7Ci0gIEFTU0VSVF9FWElUKGJ6ZXJvKG15Zm9vLmIsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShiemVybyhteWZvby5iLCBuKSk7CiB9CiAKICNlbmRpZiAvKiBkZWZpbmVkKF9GT1JUSUZZX1NPVVJDRSkgJiYgX0ZPUlRJRllfU09VUkNFPTIgKi8KQEAgLTM5NywxMCArMzUyLDkgQEAKIC8vIG11bHRpYnl0ZSB0YXJnZXQgd2hlcmUgd2Ugb3ZlciBmaWxsIChzaG91bGQgZmFpbCkKIFRFU1RfRihERUFUSFRFU1QsIHN0cmNweV9mb3J0aWZpZWQpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZbMTBdOwogICBjaGFyICpvcmlnID0gc3RyZHVwKCIwMTIzNDU2Nzg5Iik7Ci0gIEFTU0VSVF9FWElUKHN0cmNweShidWYsIG9yaWcpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJjcHkoYnVmLCBvcmlnKSk7CiAgIGZyZWUob3JpZyk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwpAQCAtNDEwLDEwICszNjQsOSBAQAogLy8gemVybyBzaXplZCB0YXJnZXQgd2l0aCAiXDAiIHNvdXJjZSAoc2hvdWxkIGZhaWwpCiBURVNUX0YoREVBVEhURVNULCBzdHJjcHkyX2ZvcnRpZmllZCkgewogI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBjaGFyIGJ1ZlswXTsKICAgY2hhciAqb3JpZyA9IHN0cmR1cCgiIik7Ci0gIEFTU0VSVF9FWElUKHN0cmNweShidWYsIG9yaWcpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJjcHkoYnVmLCBvcmlnKSk7CiAgIGZyZWUob3JpZyk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwpAQCAtNDIzLDEwICszNzYsOSBAQAogLy8gemVybyBzaXplZCB0YXJnZXQgd2l0aCBsb25nZXIgc291cmNlIChzaG91bGQgZmFpbCkKIFRFU1RfRihERUFUSFRFU1QsIHN0cmNweTNfZm9ydGlmaWVkKSB7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzBdOwogICBjaGFyICpvcmlnID0gc3RyZHVwKCIxIik7Ci0gIEFTU0VSVF9FWElUKHN0cmNweShidWYsIG9yaWcpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJjcHkoYnVmLCBvcmlnKSk7CiAgIGZyZWUob3JpZyk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwpAQCAtNDM2LDEwICszODgsOSBAQAogLy8gb25lIGJ5dGUgdGFyZ2V0IHdpdGggbG9uZ2VyIHNvdXJjZSAoc2hvdWxkIGZhaWwpCiBURVNUX0YoREVBVEhURVNULCBzdHJjcHk0X2ZvcnRpZmllZCkgewogI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBjaGFyIGJ1ZlsxXTsKICAgY2hhciAqb3JpZyA9IHN0cmR1cCgiMTIiKTsKLSAgQVNTRVJUX0VYSVQoc3RyY3B5KGJ1Ziwgb3JpZyksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cmNweShidWYsIG9yaWcpKTsKICAgZnJlZShvcmlnKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CkBAIC00NDgsMTAgKzM5OSw5IEBACiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cmxlbl9mb3J0aWZpZWQpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZbMTBdOwogICBtZW1jcHkoYnVmLCAiMDEyMzQ1Njc4OSIsIHNpemVvZihidWYpKTsKLSAgQVNTRVJUX0VYSVQocHJpbnRmKCIlemQiLCBzdHJsZW4oYnVmKSksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHByaW50ZigiJXpkIiwgc3RybGVuKGJ1ZikpKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwpAQCAtNDU5LDEwICs0MDksOSBAQAogCiBURVNUX0YoREVBVEhURVNULCBzdHJjaHJfZm9ydGlmaWVkKSB7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzEwXTsKICAgbWVtY3B5KGJ1ZiwgIjAxMjM0NTY3ODkiLCBzaXplb2YoYnVmKSk7Ci0gIEFTU0VSVF9FWElUKHByaW50ZigiJXMiLCBzdHJjaHIoYnVmLCAnYScpKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkocHJpbnRmKCIlcyIsIHN0cmNocihidWYsICdhJykpKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwpAQCAtNDcwLDEwICs0MTksOSBAQAogCiBURVNUX0YoREVBVEhURVNULCBzdHJyY2hyX2ZvcnRpZmllZCkgewogI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBjaGFyIGJ1ZlsxMF07CiAgIG1lbWNweShidWYsICIwMTIzNDU2Nzg5Iiwgc2l6ZW9mKGJ1ZikpOwotICBBU1NFUlRfRVhJVChwcmludGYoIiVzIiwgc3RycmNocihidWYsICdhJykpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShwcmludGYoIiVzIiwgc3RycmNocihidWYsICdhJykpKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwpAQCAtNDgxLDEyICs0MjksMTEgQEAKIAogVEVTVF9GKERFQVRIVEVTVCwgc3RybGNweV9mb3J0aWZpZWQpIHsKICNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZhWzE1XTsKICAgY2hhciBidWZiWzEwXTsKICAgc3RyY3B5KGJ1ZmEsICIwMTIzNDU2Nzg5MDEyMyIpOwogICBzaXplX3QgbiA9IHN0cmxlbihidWZhKTsKLSAgQVNTRVJUX0VYSVQoc3RybGNweShidWZiLCBidWZhLCBuKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RybGNweShidWZiLCBidWZhLCBuKSk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwogI2VuZGlmIC8vIF9fQklPTklDX18KQEAgLTQ5NCw0MyArNDQxLDM5IEBACiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cmxjYXRfZm9ydGlmaWVkKSB7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmYVsxNV07CiAgIGNoYXIgYnVmYlsxMF07CiAgIGJ1ZmJbMF0gPSAnXDAnOwogICBzdHJjcHkoYnVmYSwgIjAxMjM0NTY3ODkwMTIzIik7CiAgIHNpemVfdCBuID0gc3RybGVuKGJ1ZmEpOwotICBBU1NFUlRfRVhJVChzdHJsY2F0KGJ1ZmIsIGJ1ZmEsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJsY2F0KGJ1ZmIsIGJ1ZmEsIG4pKTsKICNlbHNlIC8vIF9fQklPTklDX18KICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwogfQogCiBURVNUX0YoREVBVEhURVNULCBzcHJpbnRmX2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzEwXTsKICAgY2hhciBzb3VyY2VfYnVmWzE1XTsKICAgbWVtY3B5KHNvdXJjZV9idWYsICIxMjM0NTY3ODkwMTIzNCIsIDE1KTsKLSAgQVNTRVJUX0VYSVQoc3ByaW50ZihidWYsICIlcyIsIHNvdXJjZV9idWYpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzcHJpbnRmKGJ1ZiwgIiVzIiwgc291cmNlX2J1ZikpOwogfQogCiAjaWZuZGVmIF9fY2xhbmdfXwogLy8gVGhpcyB0ZXN0IGlzIGRpc2FibGVkIGluIGNsYW5nIGJlY2F1c2UgY2xhbmcgZG9lc24ndCBwcm9wZXJseSBkZXRlY3QKIC8vIHRoaXMgYnVmZmVyIG92ZXJmbG93LiBUT0RPOiBGaXggY2xhbmcuCiBURVNUX0YoREVBVEhURVNULCBzcHJpbnRmX21hbGxvY19mb3J0aWZpZWQpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBjaGFyKiBidWYgPSAoY2hhciAqKSBtYWxsb2MoMTApOwogICBjaGFyIHNvdXJjZV9idWZbMTFdOwogICBtZW1jcHkoc291cmNlX2J1ZiwgIjEyMzQ1Njc4OTAiLCAxMSk7Ci0gIEFTU0VSVF9FWElUKHNwcmludGYoYnVmLCAiJXMiLCBzb3VyY2VfYnVmKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3ByaW50ZihidWYsICIlcyIsIHNvdXJjZV9idWYpKTsKICAgZnJlZShidWYpOwogfQogI2VuZGlmCiAKIFRFU1RfRihERUFUSFRFU1QsIHNwcmludGYyX2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzVdOwotICBBU1NFUlRfRVhJVChzcHJpbnRmKGJ1ZiwgImFhYWFhIiksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHNwcmludGYoYnVmLCAiYWFhYWEiKSk7CiB9CiAKIHN0YXRpYyBpbnQgdnNwcmludGZfaGVscGVyKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSB7CkBAIC01NDUsMTMgKzQ4OCwxMSBAQAogfQogCiBURVNUX0YoREVBVEhURVNULCB2c3ByaW50Zl9mb3J0aWZpZWQpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwotICBBU1NFUlRfRVhJVCh2c3ByaW50Zl9oZWxwZXIoIiVzIiwgIjAxMjM0NTY3ODkiKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkodnNwcmludGZfaGVscGVyKCIlcyIsICIwMTIzNDU2Nzg5IikpOwogfQogCiBURVNUX0YoREVBVEhURVNULCB2c3ByaW50ZjJfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKLSAgQVNTRVJUX0VYSVQodnNwcmludGZfaGVscGVyKCIwMTIzNDU2Nzg5IiksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHZzcHJpbnRmX2hlbHBlcigiMDEyMzQ1Njc4OSIpKTsKIH0KIAogc3RhdGljIGludCB2c25wcmludGZfaGVscGVyKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSB7CkBAIC01NjcsMTU3ICs1MDgsMTU3IEBACiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHZzbnByaW50Zl9mb3J0aWZpZWQpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwotICBBU1NFUlRfRVhJVCh2c25wcmludGZfaGVscGVyKCIlcyIsICIwMTIzNDU2Nzg5IiksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHZzbnByaW50Zl9oZWxwZXIoIiVzIiwgIjAxMjM0NTY3ODkiKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHZzbnByaW50ZjJfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKLSAgQVNTRVJUX0VYSVQodnNucHJpbnRmX2hlbHBlcigiMDEyMzQ1Njc4OSIpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWSh2c25wcmludGZfaGVscGVyKCIwMTIzNDU2Nzg5IikpOwogfQogCiBURVNUX0YoREVBVEhURVNULCBzdHJuY2F0X2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzEwXTsKICAgc2l6ZV90IG4gPSBhdG9pKCIxMCIpOyAvLyBhdm9pZCBjb21waWxlciBvcHRpbWl6YXRpb25zCiAgIHN0cm5jcHkoYnVmLCAiMDEyMzQ1Njc4Iiwgbik7Ci0gIEFTU0VSVF9FWElUKHN0cm5jYXQoYnVmLCAiOSIsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJuY2F0KGJ1ZiwgIjkiLCBuKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cm5jYXQyX2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzEwXTsKICAgYnVmWzBdID0gJ1wwJzsKICAgc2l6ZV90IG4gPSBhdG9pKCIxMCIpOyAvLyBhdm9pZCBjb21waWxlciBvcHRpbWl6YXRpb25zCi0gIEFTU0VSVF9FWElUKHN0cm5jYXQoYnVmLCAiMDEyMzQ1Njc4OSIsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHJuY2F0KGJ1ZiwgIjAxMjM0NTY3ODkiLCBuKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cmNhdF9mb3J0aWZpZWQpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBjaGFyIHNyY1sxMV07CiAgIHN0cmNweShzcmMsICIwMTIzNDU2Nzg5Iik7CiAgIGNoYXIgYnVmWzEwXTsKICAgYnVmWzBdID0gJ1wwJzsKLSAgQVNTRVJUX0VYSVQoc3RyY2F0KGJ1Ziwgc3JjKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RyY2F0KGJ1Ziwgc3JjKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIG1lbW1vdmVfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZbMjBdOwogICBzdHJjcHkoYnVmLCAiMDEyMzQ1Njc4OSIpOwogICBzaXplX3QgbiA9IGF0b2koIjEwIik7Ci0gIEFTU0VSVF9FWElUKG1lbW1vdmUoYnVmICsgMTEsIGJ1ZiwgbiksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKG1lbW1vdmUoYnVmICsgMTEsIGJ1ZiwgbikpOwogfQogCiBURVNUX0YoREVBVEhURVNULCBtZW1jcHlfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZhWzEwXTsKICAgY2hhciBidWZiWzEwXTsKICAgc3RyY3B5KGJ1ZmEsICIwMTIzNDU2NzgiKTsKICAgc2l6ZV90IG4gPSBhdG9pKCIxMSIpOwotICBBU1NFUlRfRVhJVChtZW1jcHkoYnVmYiwgYnVmYSwgbiksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKG1lbWNweShidWZiLCBidWZhLCBuKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cG5jcHlfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZhWzE1XTsKICAgY2hhciBidWZiWzEwXTsKICAgc3RyY3B5KGJ1ZmEsICIwMTIzNDU2Nzg5MDEyMyIpOwogICBzaXplX3QgbiA9IHN0cmxlbihidWZhKTsKLSAgQVNTRVJUX0VYSVQoc3RwbmNweShidWZiLCBidWZhLCBuKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RwbmNweShidWZiLCBidWZhLCBuKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cG5jcHkyX2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgZGVzdFsxMV07CiAgIGNoYXIgc3JjWzEwXTsKICAgbWVtY3B5KHNyYywgIjAxMjM0NTY3ODkiLCBzaXplb2Yoc3JjKSk7IC8vIHNyYyBpcyBub3QgbnVsbCB0ZXJtaW5hdGVkCi0gIEFTU0VSVF9FWElUKHN0cG5jcHkoZGVzdCwgc3JjLCBzaXplb2YoZGVzdCkpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShzdHBuY3B5KGRlc3QsIHNyYywgc2l6ZW9mKGRlc3QpKSk7CiB9CiAKIFRFU1RfRihERUFUSFRFU1QsIHN0cm5jcHlfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZhWzE1XTsKICAgY2hhciBidWZiWzEwXTsKICAgc3RyY3B5KGJ1ZmEsICIwMTIzNDU2Nzg5MDEyMyIpOwogICBzaXplX3QgbiA9IHN0cmxlbihidWZhKTsKLSAgQVNTRVJUX0VYSVQoc3RybmNweShidWZiLCBidWZhLCBuKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoc3RybmNweShidWZiLCBidWZhLCBuKSk7CiB9CiAKIAogVEVTVF9GKERFQVRIVEVTVCwgc3RybmNweTJfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBkZXN0WzExXTsKICAgY2hhciBzcmNbMTBdOwogICBtZW1jcHkoc3JjLCAiMDEyMzQ1Njc4OSIsIHNpemVvZihzcmMpKTsgLy8gc3JjIGlzIG5vdCBudWxsIHRlcm1pbmF0ZWQKLSAgQVNTRVJUX0VYSVQoc3RybmNweShkZXN0LCBzcmMsIHNpemVvZihkZXN0KSksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHN0cm5jcHkoZGVzdCwgc3JjLCBzaXplb2YoZGVzdCkpKTsKIH0KIAogVEVTVF9GKERFQVRIVEVTVCwgc25wcmludGZfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZhWzE1XTsKICAgY2hhciBidWZiWzEwXTsKICAgc3RyY3B5KGJ1ZmEsICIwMTIzNDU2Nzg5Iik7CiAgIHNpemVfdCBuID0gc3RybGVuKGJ1ZmEpICsgMTsKLSAgQVNTRVJUX0VYSVQoc25wcmludGYoYnVmYiwgbiwgIiVzIiwgYnVmYSksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKHNucHJpbnRmKGJ1ZmIsIG4sICIlcyIsIGJ1ZmEpKTsKIH0KIAogVEVTVF9GKERFQVRIVEVTVCwgYnplcm9fZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgY2hhciBidWZbMTBdOwogICBtZW1jcHkoYnVmLCAiMDEyMzQ1Njc4OSIsIHNpemVvZihidWYpKTsKICAgc2l6ZV90IG4gPSBhdG9pKCIxMSIpOwotICBBU1NFUlRfRVhJVChiemVybyhidWYsIG4pLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShiemVybyhidWYsIG4pKTsKIH0KIAogVEVTVF9GKERFQVRIVEVTVCwgdW1hc2tfZm9ydGlmaWVkKSB7Ci0gIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKICAgbW9kZV90IG1hc2sgPSBhdG9pKCIxMDIzIik7ICAvLyAwMTc3NyBpbiBvY3RhbAotICBBU1NFUlRfRVhJVCh1bWFzayhtYXNrKSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkodW1hc2sobWFzaykpOwogfQogCiBURVNUX0YoREVBVEhURVNULCByZWN2X2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIHNpemVfdCBkYXRhX2xlbiA9IGF0b2koIjExIik7IC8vIHN1cHByZXNzIGNvbXBpbGVyIG9wdGltaXphdGlvbnMKICAgY2hhciBidWZbMTBdOwotICBBU1NFUlRfRVhJVChyZWN2KDAsIGJ1ZiwgZGF0YV9sZW4sIDApLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShyZWN2KDAsIGJ1ZiwgZGF0YV9sZW4sIDApKTsKIH0KIAogVEVTVF9GKERFQVRIVEVTVCwgRkRfSVNTRVRfZm9ydGlmaWVkKSB7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKSAvLyBnbGliYyBjYXRjaGVzIHRoaXMgYXQgY29tcGlsZS10aW1lLgotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGZkX3NldCBzZXQ7CiAgIG1lbXNldCgmc2V0LCAwLCBzaXplb2Yoc2V0KSk7Ci0gIEFTU0VSVF9FWElUKEZEX0lTU0VUKC0xLCAmc2V0KSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKKyAgQVNTRVJUX0ZPUlRJRlkoRkRfSVNTRVQoLTEsICZzZXQpKTsKICNlbmRpZgogfQogCiBURVNUX0YoREVBVEhURVNULCBGRF9JU1NFVF8yX2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIGNoYXIgYnVmWzFdOwogICBmZF9zZXQqIHNldCA9IChmZF9zZXQqKSBidWY7Ci0gIEFTU0VSVF9FWElUKEZEX0lTU0VUKDAsIHNldCksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CisgIEFTU0VSVF9GT1JUSUZZKEZEX0lTU0VUKDAsIHNldCkpOwogfQogCi0vLyBndGVzdCdzIEFTU0VSVF9FWElUIG5lZWRzIGEgdmFsaWQgZXhwcmVzc2lvbiwgYnV0IGdsaWJjIGhhcyBhIGRvLXdoaWxlIG1hY3JvLgotc3RhdGljIHZvaWQgRkRfWkVST19mdW5jdGlvbihmZF9zZXQqIHMpIHsgRkRfWkVSTyhzKTsgfQotCi1URVNUX0YoREVBVEhURVNULCBGRF9aRVJPX2ZvcnRpZmllZCkgewotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7Ci0gIGNoYXIgYnVmWzFdOwotICBmZF9zZXQqIHNldCA9IChmZF9zZXQqKSBidWY7Ci0gIEFTU0VSVF9FWElUKEZEX1pFUk9fZnVuY3Rpb24oc2V0KSwgdGVzdGluZzo6S2lsbGVkQnlTaWduYWwoU0lHQUJSVCksICIiKTsKLX0KLQotVEVTVF9GKERFQVRIVEVTVCwgcmVhZF9mb3J0aWZpZWQpIHsKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOworVEVTVF9GKERFQVRIVEVTVCwgcHJlYWRfZm9ydGlmaWVkKSB7CiAgIGNoYXIgYnVmWzFdOwogICBzaXplX3QgY3QgPSBhdG9pKCIyIik7IC8vIHByZXZlbnQgb3B0aW1pemF0aW9ucwogICBpbnQgZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JET05MWSk7Ci0gIEFTU0VSVF9FWElUKHJlYWQoZmQsIGJ1ZiwgY3QpLCB0ZXN0aW5nOjpLaWxsZWRCeVNpZ25hbChTSUdBQlJUKSwgIiIpOworICBBU1NFUlRfRk9SVElGWShwcmVhZChmZCwgYnVmLCBjdCwgMCkpOwogICBjbG9zZShmZCk7CiB9CiAKK1RFU1RfRihERUFUSFRFU1QsIHByZWFkNjRfZm9ydGlmaWVkKSB7CisgIGNoYXIgYnVmWzFdOworICBzaXplX3QgY3QgPSBhdG9pKCIyIik7IC8vIHByZXZlbnQgb3B0aW1pemF0aW9ucworICBpbnQgZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JET05MWSk7CisgIEFTU0VSVF9GT1JUSUZZKHByZWFkNjQoZmQsIGJ1ZiwgY3QsIDApKTsKKyAgY2xvc2UoZmQpOworfQorCitURVNUX0YoREVBVEhURVNULCByZWFkX2ZvcnRpZmllZCkgeworICBjaGFyIGJ1ZlsxXTsKKyAgc2l6ZV90IGN0ID0gYXRvaSgiMiIpOyAvLyBwcmV2ZW50IG9wdGltaXphdGlvbnMKKyAgaW50IGZkID0gb3BlbigiL2Rldi9udWxsIiwgT19SRE9OTFkpOworICBBU1NFUlRfRk9SVElGWShyZWFkKGZkLCBidWYsIGN0KSk7CisgIGNsb3NlKGZkKTsKK30KKworVEVTVF9GKERFQVRIVEVTVCwgcmVhZGxpbmtfZm9ydGlmaWVkKSB7CisgIGNoYXIgYnVmWzFdOworICBzaXplX3QgY3QgPSBhdG9pKCIyIik7IC8vIHByZXZlbnQgb3B0aW1pemF0aW9ucworICBBU1NFUlRfRk9SVElGWShyZWFkbGluaygiL2Rldi9udWxsIiwgYnVmLCBjdCkpOworfQorCitURVNUX0YoREVBVEhURVNULCByZWFkbGlua2F0X2ZvcnRpZmllZCkgeworICBjaGFyIGJ1ZlsxXTsKKyAgc2l6ZV90IGN0ID0gYXRvaSgiMiIpOyAvLyBwcmV2ZW50IG9wdGltaXphdGlvbnMKKyAgQVNTRVJUX0ZPUlRJRlkocmVhZGxpbmthdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIGJ1ZiwgY3QpKTsKK30KKwogZXh0ZXJuICJDIiBjaGFyKiBfX3N0cm5jYXRfY2hrKGNoYXIqLCBjb25zdCBjaGFyKiwgc2l6ZV90LCBzaXplX3QpOwogZXh0ZXJuICJDIiBjaGFyKiBfX3N0cmNhdF9jaGsoY2hhciosIGNvbnN0IGNoYXIqLCBzaXplX3QpOwogCkBAIC0xMDIyLDMgKzk2MywxOSBAQAogICBzcHJpbnRmKEJVRl9BTkRfQ09OVEVOVFMoYnVmKSk7CiAgIEVYUEVDVF9TVFJFUShDT05URU5UUywgYnVmKTsKIH0KKworVEVTVF9GKERFQVRIVEVTVCwgcG9sbF9mb3J0aWZpZWQpIHsKKyAgbmZkc190IGZkX2NvdW50ID0gYXRvaSgiMiIpOyAvLyBzdXBwcmVzcyBjb21waWxlciBvcHRpbWl6YXRpb25zCisgIHBvbGxmZCBidWZbMV0gPSB7ezAsIFBPTExJTiwgMH19OworICAvLyBTZXQgdGltZW91dCB0byB6ZXJvIHRvIHByZXZlbnQgd2FpdGluZyBpbiBwb2xsIHdoZW4gZm9ydGlmeSB0ZXN0IGZhaWxzLgorICBBU1NFUlRfRk9SVElGWShwb2xsKGJ1ZiwgZmRfY291bnQsIDApKTsKK30KKworVEVTVF9GKERFQVRIVEVTVCwgcHBvbGxfZm9ydGlmaWVkKSB7CisgIG5mZHNfdCBmZF9jb3VudCA9IGF0b2koIjIiKTsgLy8gc3VwcHJlc3MgY29tcGlsZXIgb3B0aW1pemF0aW9ucworICBwb2xsZmQgYnVmWzFdID0ge3swLCBQT0xMSU4sIDB9fTsKKyAgLy8gU2V0IHRpbWVvdXQgdG8gemVybyB0byBwcmV2ZW50IHdhaXRpbmcgaW4gcHBvbGwgd2hlbiBmb3J0aWZ5IHRlc3QgZmFpbHMuCisgIHRpbWVzcGVjIHRpbWVvdXQ7CisgIHRpbWVvdXQudHZfc2VjID0gdGltZW91dC50dl9uc2VjID0gMDsKKyAgQVNTRVJUX0ZPUlRJRlkocHBvbGwoYnVmLCBmZF9jb3VudCwgJnRpbWVvdXQsIE5VTEwpKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2Z0d190ZXN0LmNwcCBiL3Rlc3RzL2Z0d190ZXN0LmNwcAppbmRleCA2ZDNhMzA4Li5iN2U1YmQ1IDEwMDY0NAotLS0gYS90ZXN0cy9mdHdfdGVzdC5jcHAKKysrIGIvdGVzdHMvZnR3X3Rlc3QuY3BwCkBAIC0xNCwyNyArMTQsNTUgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKLSNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgotI2luY2x1ZGUgIlRlbXBvcmFyeUZpbGUuaCIKLQogI2luY2x1ZGUgPGZ0dy5oPgorCisjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiVGVtcG9yYXJ5RmlsZS5oIgorCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKworc3RhdGljIHZvaWQgTWFrZVRyZWUoY29uc3QgY2hhciogcm9vdCkgeworICBjaGFyIHBhdGhbUEFUSF9NQVhdOworCisgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL2RpciIsIHJvb3QpOworICBBU1NFUlRfRVEoMCwgbWtkaXIocGF0aCwgMDc1NSkpIDw8IHBhdGg7CisgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL2Rpci9zdWIiLCByb290KTsKKyAgQVNTRVJUX0VRKDAsIG1rZGlyKHBhdGgsIDA1NTUpKSA8PCBwYXRoOworICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy91bnJlYWRhYmxlLWRpciIsIHJvb3QpOworICBBU1NFUlRfRVEoMCwgbWtkaXIocGF0aCwgMDAwMCkpIDw8IHBhdGg7CisKKyAgc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvZGFuZ2xlciIsIHJvb3QpOworICBBU1NFUlRfRVEoMCwgc3ltbGluaygiL2RvZXMtbm90LWV4aXN0IiwgcGF0aCkpOworICBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9zeW1saW5rIiwgcm9vdCk7CisgIEFTU0VSVF9FUSgwLCBzeW1saW5rKCJzdWIyIiwgcGF0aCkpOworCisgIGludCBmZDsKKyAgc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvcmVndWxhciIsIHJvb3QpOworICBBU1NFUlRfTkUoLTEsIGZkID0gb3BlbihwYXRoLCBPX0NSRUFUfE9fVFJVTkMsIDA2NjYpKTsKKyAgQVNTRVJUX0VRKDAsIGNsb3NlKGZkKSk7Cit9CiAKIHZvaWQgc2FuaXR5X2NoZWNrX2Z0dyhjb25zdCBjaGFyKiBmcGF0aCwgY29uc3Qgc3RydWN0IHN0YXQqIHNiLCBpbnQgdGZsYWcpIHsKICAgQVNTRVJUX1RSVUUoZnBhdGggIT0gTlVMTCk7CiAgIEFTU0VSVF9UUlVFKHNiICE9IE5VTEwpOwotICBib29sIGlzX2RpciA9IFNfSVNESVIoc2ItPnN0X21vZGUpOwotICBBU1NFUlRfVFJVRSgoaXNfZGlyICYmIHRmbGFnID09IEZUV19EKSB8fCAoIWlzX2RpciAmJiB0ZmxhZyA9PSBGVFdfRikpOworCisgIGlmIChTX0lTRElSKHNiLT5zdF9tb2RlKSkgeworICAgIEVYUEVDVF9UUlVFKHRmbGFnID09IEZUV19EIHx8IHRmbGFnID09IEZUV19ETlIgfHwgdGZsYWcgPT0gRlRXX0RQKSA8PCBmcGF0aDsKKyAgfSBlbHNlIGlmIChTX0lTTE5LKHNiLT5zdF9tb2RlKSkgeworICAgIEVYUEVDVF9FUShGVFdfU0wsIHRmbGFnKSA8PCBmcGF0aDsKKyAgfSBlbHNlIHsKKyAgICBFWFBFQ1RfRVEoRlRXX0YsIHRmbGFnKSA8PCBmcGF0aDsKKyAgfQogfQogCi12b2lkIHNhbml0eV9jaGVja19uZnR3KAotICAgIGNvbnN0IGNoYXIqIGZwYXRoLCBjb25zdCBzdHJ1Y3Qgc3RhdCogc2IsIGludCB0ZmxhZywgc3RydWN0IEZUVyogZnR3YnVmKSB7Cit2b2lkIHNhbml0eV9jaGVja19uZnR3KGNvbnN0IGNoYXIqIGZwYXRoLCBjb25zdCBzdHJ1Y3Qgc3RhdCogc2IsIGludCB0ZmxhZywgc3RydWN0IEZUVyogZnR3YnVmKSB7CiAgIHNhbml0eV9jaGVja19mdHcoZnBhdGgsIHNiLCB0ZmxhZyk7Ci0gIC8vIGVpdGhlciB0aGUgcGFyZW50IGRpciBvciB0aGUgZmlsZQotICBib29sIGlzX2RpciA9IFNfSVNESVIoc2ItPnN0X21vZGUpOwotICBBU1NFUlRfVFJVRSgKLSAgICAoaXNfZGlyICYmIGZ0d2J1Zi0+bGV2ZWwgPT0gMCkgfHwgKCFpc19kaXIgJiYgZnR3YnVmLT5sZXZlbCA9PSAxKSk7CisgIEFTU0VSVF9FUSgnLycsIGZwYXRoW2Z0d2J1Zi0+YmFzZSAtIDFdKSA8PCBmcGF0aDsKIH0KIAogaW50IGNoZWNrX2Z0dyhjb25zdCBjaGFyKiBmcGF0aCwgY29uc3Qgc3RydWN0IHN0YXQqIHNiLCBpbnQgdGZsYWcpIHsKQEAgLTQ3LDM5ICs3NSwzNiBAQAogICByZXR1cm4gMDsKIH0KIAotaW50IGNoZWNrX25mdHcoCi0gIGNvbnN0IGNoYXIqIGZwYXRoLCBjb25zdCBzdHJ1Y3Qgc3RhdCogc2IsIGludCB0ZmxhZywgc3RydWN0IEZUVyogZnR3YnVmKSB7CitpbnQgY2hlY2tfbmZ0dyhjb25zdCBjaGFyKiBmcGF0aCwgY29uc3Qgc3RydWN0IHN0YXQqIHNiLCBpbnQgdGZsYWcsIHN0cnVjdCBGVFcqIGZ0d2J1ZikgewogICBzYW5pdHlfY2hlY2tfbmZ0dyhmcGF0aCwgc2IsIHRmbGFnLCBmdHdidWYpOwogICByZXR1cm4gMDsKIH0KIAotaW50IGNoZWNrX25mdHc2NCgKLSAgY29uc3QgY2hhciogZnBhdGgsIGNvbnN0IHN0cnVjdCBzdGF0NjQqIHNiLCBpbnQgdGZsYWcsIHN0cnVjdCBGVFcqIGZ0d2J1ZikgewotICBzYW5pdHlfY2hlY2tfbmZ0dyhmcGF0aCwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBzdHJ1Y3Qgc3RhdCo+KHNiKSwKLSAgICB0ZmxhZywgZnR3YnVmKTsKK2ludCBjaGVja19uZnR3NjQoY29uc3QgY2hhciogZnBhdGgsIGNvbnN0IHN0cnVjdCBzdGF0NjQqIHNiLCBpbnQgdGZsYWcsIHN0cnVjdCBGVFcqIGZ0d2J1ZikgeworICBzYW5pdHlfY2hlY2tfbmZ0dyhmcGF0aCwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBzdHJ1Y3Qgc3RhdCo+KHNiKSwgdGZsYWcsIGZ0d2J1Zik7CiAgIHJldHVybiAwOwogfQogCiBURVNUKGZ0dywgZnR3KSB7Ci0gIFRlbXBvcmFyeURpciB0ZDsKLSAgVGVtcG9yYXJ5RmlsZSB0Zih0ZC5kaXJuYW1lKTsKLSAgZnR3KHRkLmRpcm5hbWUsIGNoZWNrX2Z0dywgMSk7CisgIFRlbXBvcmFyeURpciByb290OworICBNYWtlVHJlZShyb290LmRpcm5hbWUpOworICBBU1NFUlRfRVEoMCwgZnR3KHJvb3QuZGlybmFtZSwgY2hlY2tfZnR3LCAxMjgpKTsKIH0KIAogVEVTVChmdHcsIGZ0dzY0KSB7Ci0gIFRlbXBvcmFyeURpciB0ZDsKLSAgR2VuZXJpY1RlbXBvcmFyeUZpbGU8bWtzdGVtcDY0PiB0Zih0ZC5kaXJuYW1lKTsKLSAgZnR3NjQodGQuZGlybmFtZSwgY2hlY2tfZnR3NjQsIDEpOworICBUZW1wb3JhcnlEaXIgcm9vdDsKKyAgTWFrZVRyZWUocm9vdC5kaXJuYW1lKTsKKyAgQVNTRVJUX0VRKDAsIGZ0dzY0KHJvb3QuZGlybmFtZSwgY2hlY2tfZnR3NjQsIDEyOCkpOwogfQogCiBURVNUKGZ0dywgbmZ0dykgewotICBUZW1wb3JhcnlEaXIgdGQ7Ci0gIFRlbXBvcmFyeUZpbGUgdGYodGQuZGlybmFtZSk7Ci0gIG5mdHcodGQuZGlybmFtZSwgY2hlY2tfbmZ0dywgMSwgMCk7CisgIFRlbXBvcmFyeURpciByb290OworICBNYWtlVHJlZShyb290LmRpcm5hbWUpOworICBBU1NFUlRfRVEoMCwgbmZ0dyhyb290LmRpcm5hbWUsIGNoZWNrX25mdHcsIDEyOCwgMCkpOwogfQogCiBURVNUKGZ0dywgbmZ0dzY0KSB7Ci0gIFRlbXBvcmFyeURpciB0ZDsKLSAgR2VuZXJpY1RlbXBvcmFyeUZpbGU8bWtzdGVtcDY0PiB0Zih0ZC5kaXJuYW1lKTsKLSAgbmZ0dzY0KHRkLmRpcm5hbWUsIGNoZWNrX25mdHc2NCwgMSwgMCk7CisgIFRlbXBvcmFyeURpciByb290OworICBNYWtlVHJlZShyb290LmRpcm5hbWUpOworICBBU1NFUlRfRVEoMCwgbmZ0dzY0KHJvb3QuZGlybmFtZSwgY2hlY2tfbmZ0dzY0LCAxMjgsIDApKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL2dldGF1eHZhbF90ZXN0LmNwcCBiL3Rlc3RzL2dldGF1eHZhbF90ZXN0LmNwcAppbmRleCA1MWM5ZGI4Li42Y2UwMGYxIDEwMDY0NAotLS0gYS90ZXN0cy9nZXRhdXh2YWxfdGVzdC5jcHAKKysrIGIvdGVzdHMvZ2V0YXV4dmFsX3Rlc3QuY3BwCkBAIC0xNCw4ICsxNCw4IEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwogCisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KLSNpbmNsdWRlIDxmZWF0dXJlcy5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIC8vIGdldGF1eHZhbCgpIHdhcyBvbmx5IGFkZGVkIGFzIG9mIGdsaWJjIHZlcnNpb24gMi4xNi4KQEAgLTU0LDcgKzU0LDkgQEAKIAogVEVTVChnZXRhdXh2YWwsIHVuZXhwZWN0ZWRfdmFsdWVzKSB7CiAjaWYgZGVmaW5lZChHRVRBVVhWQUxfQ0FOX0NPTVBJTEUpCisgIGVycm5vID0gMDsKICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBsb25nIGludCkgMCwgZ2V0YXV4dmFsKDB4ZGVhZGJlZWYpKTsKKyAgQVNTRVJUX0VRKEVOT0VOVCwgZXJybm8pOwogI2Vsc2UKICAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3Rlc3RzL2d0ZXN0X21haW4uY3BwIGIvdGVzdHMvZ3Rlc3RfbWFpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkyYjdlOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2d0ZXN0X21haW4uY3BwCkBAIC0wLDAgKzEsMTEyMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPHR1cGxlPgorI2luY2x1ZGUgPHV0aWxpdHk+CisjaW5jbHVkZSA8dmVjdG9yPgorCisjaW5jbHVkZSAiQmlvbmljRGVhdGhUZXN0LmgiIC8vIEZvciBzZWxmdGVzdC4KKworbmFtZXNwYWNlIHRlc3RpbmcgeworbmFtZXNwYWNlIGludGVybmFsIHsKKworLy8gUmV1c2Ugb2YgdGVzdGluZzo6aW50ZXJuYWw6OkNvbG9yZWRQcmludGYgaW4gZ3Rlc3QuCitlbnVtIEdUZXN0Q29sb3IgeworICBDT0xPUl9ERUZBVUxULAorICBDT0xPUl9SRUQsCisgIENPTE9SX0dSRUVOLAorICBDT0xPUl9ZRUxMT1cKK307CisKK3ZvaWQgQ29sb3JlZFByaW50ZihHVGVzdENvbG9yIGNvbG9yLCBjb25zdCBjaGFyKiBmbXQsIC4uLik7CisKK30gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAorfSAgLy8gbmFtZXNwYWNlIHRlc3RpbmcKKwordXNpbmcgdGVzdGluZzo6aW50ZXJuYWw6OkdUZXN0Q29sb3I7Cit1c2luZyB0ZXN0aW5nOjppbnRlcm5hbDo6Q09MT1JfREVGQVVMVDsKK3VzaW5nIHRlc3Rpbmc6OmludGVybmFsOjpDT0xPUl9SRUQ7Cit1c2luZyB0ZXN0aW5nOjppbnRlcm5hbDo6Q09MT1JfR1JFRU47Cit1c2luZyB0ZXN0aW5nOjppbnRlcm5hbDo6Q09MT1JfWUVMTE9XOwordXNpbmcgdGVzdGluZzo6aW50ZXJuYWw6OkNvbG9yZWRQcmludGY7CisKK2NvbnN0ZXhwciBpbnQgREVGQVVMVF9HTE9CQUxfVEVTVF9SVU5fREVBRExJTkVfTVMgPSA2MDAwMDsKK2NvbnN0ZXhwciBpbnQgREVGQVVMVF9HTE9CQUxfVEVTVF9SVU5fV0FSTkxJTkVfTVMgPSAyMDAwOworCisvLyBUaGUgdGltZSBlYWNoIHRlc3QgY2FuIHJ1biBiZWZvcmUga2lsbGVkIGZvciB0aGUgcmVhc29uIG9mIHRpbWVvdXQuCisvLyBJdCB0YWtlcyBlZmZlY3Qgb25seSB3aXRoIC0taXNvbGF0ZSBvcHRpb24uCitzdGF0aWMgaW50IGdsb2JhbF90ZXN0X3J1bl9kZWFkbGluZV9tcyA9IERFRkFVTFRfR0xPQkFMX1RFU1RfUlVOX0RFQURMSU5FX01TOworCisvLyBUaGUgdGltZSBlYWNoIHRlc3QgY2FuIHJ1biBiZWZvcmUgYmUgd2FybmVkIGZvciB0b28gbXVjaCBydW5uaW5nIHRpbWUuCisvLyBJdCB0YWtlcyBlZmZlY3Qgb25seSB3aXRoIC0taXNvbGF0ZSBvcHRpb24uCitzdGF0aWMgaW50IGdsb2JhbF90ZXN0X3J1bl93YXJubGluZV9tcyA9IERFRkFVTFRfR0xPQkFMX1RFU1RfUlVOX1dBUk5MSU5FX01TOworCisvLyBSZXR1cm4gZGVhZGxpbmUgZHVyYXRpb24gZm9yIGEgdGVzdCwgaW4gbXMuCitzdGF0aWMgaW50IEdldERlYWRsaW5lSW5mbyhjb25zdCBzdGQ6OnN0cmluZyYgLyp0ZXN0X25hbWUqLykgeworICByZXR1cm4gZ2xvYmFsX3Rlc3RfcnVuX2RlYWRsaW5lX21zOworfQorCisvLyBSZXR1cm4gd2FybmxpbmUgZHVyYXRpb24gZm9yIGEgdGVzdCwgaW4gbXMuCitzdGF0aWMgaW50IEdldFdhcm5saW5lSW5mbyhjb25zdCBzdGQ6OnN0cmluZyYgLyp0ZXN0X25hbWUqLykgeworICByZXR1cm4gZ2xvYmFsX3Rlc3RfcnVuX3dhcm5saW5lX21zOworfQorCitzdGF0aWMgdm9pZCBQcmludEhlbHBJbmZvKCkgeworICBwcmludGYoIkJpb25pYyBVbml0IFRlc3QgT3B0aW9uczpcbiIKKyAgICAgICAgICIgIC1qIFtKT0JfQ09VTlRdIG9yIC1qW0pPQl9DT1VOVF1cbiIKKyAgICAgICAgICIgICAgICBSdW4gdXAgdG8gSk9CX0NPVU5UIHRlc3RzIGluIHBhcmFsbGVsLlxuIgorICAgICAgICAgIiAgICAgIFVzZSBpc29sYXRpb24gbW9kZSwgUnVuIGVhY2ggdGVzdCBpbiBhIHNlcGFyYXRlIHByb2Nlc3MuXG4iCisgICAgICAgICAiICAgICAgSWYgSk9CX0NPVU5UIGlzIG5vdCBnaXZlbiwgaXQgaXMgc2V0IHRvIHRoZSBjb3VudCBvZiBhdmFpbGFibGUgcHJvY2Vzc29ycy5cbiIKKyAgICAgICAgICIgIC0tbm8taXNvbGF0ZVxuIgorICAgICAgICAgIiAgICAgIERvbid0IHVzZSBpc29sYXRpb24gbW9kZSwgcnVuIGFsbCB0ZXN0cyBpbiBhIHNpbmdsZSBwcm9jZXNzLlxuIgorICAgICAgICAgIiAgLS1kZWFkbGluZT1bVElNRV9JTl9NU11cbiIKKyAgICAgICAgICIgICAgICBSdW4gZWFjaCB0ZXN0IGluIG5vIGxvbmdlciB0aGFuIFtUSU1FX0lOX01TXSB0aW1lLlxuIgorICAgICAgICAgIiAgICAgIEl0IHRha2VzIGVmZmVjdCBvbmx5IGluIGlzb2xhdGlvbiBtb2RlLiBEZWFmdWx0IGRlYWRsaW5lIGlzIDYwMDAwIG1zLlxuIgorICAgICAgICAgIiAgLS13YXJubGluZT1bVElNRV9JTl9NU11cbiIKKyAgICAgICAgICIgICAgICBUZXN0IHJ1bm5pbmcgbG9uZ2VyIHRoYW4gW1RJTUVfSU5fTVNdIHdpbGwgYmUgd2FybmVkLlxuIgorICAgICAgICAgIiAgICAgIEl0IHRha2VzIGVmZmVjdCBvbmx5IGluIGlzb2xhdGlvbiBtb2RlLiBEZWZhdWx0IHdhcm5saW5lIGlzIDIwMDAgbXMuXG4iCisgICAgICAgICAiICAtLWd0ZXN0LWZpbHRlcj1QT1NJVElWRV9QQVRURVJOU1stTkVHQVRJVkVfUEFUVEVSTlNdXG4iCisgICAgICAgICAiICAgICAgVXNlZCBhcyBhIHN5bm9ueW0gZm9yIC0tZ3Rlc3RfZmlsdGVyIG9wdGlvbiBpbiBndGVzdC5cbiIKKyAgICAgICAgICJEZWZhdWx0IGJpb25pYyB1bml0IHRlc3Qgb3B0aW9uIGlzIC1qLlxuIgorICAgICAgICAgIkluIGlzb2xhdGlvbiBtb2RlLCB5b3UgY2FuIHNlbmQgU0lHUVVJVCB0byB0aGUgcGFyZW50IHByb2Nlc3MgdG8gc2hvdyBjdXJyZW50XG4iCisgICAgICAgICAicnVubmluZyB0ZXN0cywgb3Igc2VuZCBTSUdJTlQgdG8gdGhlIHBhcmVudCBwcm9jZXNzIHRvIHN0b3AgdGVzdGluZyBhbmRcbiIKKyAgICAgICAgICJjbGVhbiB1cCBjdXJyZW50IHJ1bm5pbmcgdGVzdHMuXG4iCisgICAgICAgICAiXG4iKTsKK30KKworZW51bSBUZXN0UmVzdWx0IHsKKyAgVEVTVF9TVUNDRVNTID0gMCwKKyAgVEVTVF9GQUlMRUQsCisgIFRFU1RfVElNRU9VVAorfTsKKworY2xhc3MgVGVzdCB7CisgcHVibGljOgorICBUZXN0KCkge30gLy8gRm9yIHN0ZDo6dmVjdG9yPFRlc3Q+LgorICBleHBsaWNpdCBUZXN0KGNvbnN0IGNoYXIqIG5hbWUpIDogbmFtZV8obmFtZSkge30KKworICBjb25zdCBzdGQ6OnN0cmluZyYgR2V0TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG5hbWVfOyB9CisKKyAgdm9pZCBTZXRSZXN1bHQoVGVzdFJlc3VsdCByZXN1bHQpIHsgcmVzdWx0XyA9IHJlc3VsdDsgfQorCisgIFRlc3RSZXN1bHQgR2V0UmVzdWx0KCkgY29uc3QgeyByZXR1cm4gcmVzdWx0XzsgfQorCisgIHZvaWQgU2V0VGVzdFRpbWUoaW50NjRfdCBlbGFwc2VkX3RpbWVfbnMpIHsgZWxhcHNlZF90aW1lX25zXyA9IGVsYXBzZWRfdGltZV9uczsgfQorCisgIGludDY0X3QgR2V0VGVzdFRpbWUoKSBjb25zdCB7IHJldHVybiBlbGFwc2VkX3RpbWVfbnNfOyB9CisKKyAgdm9pZCBBcHBlbmRUZXN0T3V0cHV0KGNvbnN0IHN0ZDo6c3RyaW5nJiBzKSB7IG91dHB1dF8gKz0gczsgfQorCisgIGNvbnN0IHN0ZDo6c3RyaW5nJiBHZXRUZXN0T3V0cHV0KCkgY29uc3QgeyByZXR1cm4gb3V0cHV0XzsgfQorCisgcHJpdmF0ZToKKyAgY29uc3Qgc3RkOjpzdHJpbmcgbmFtZV87CisgIFRlc3RSZXN1bHQgcmVzdWx0XzsKKyAgaW50NjRfdCBlbGFwc2VkX3RpbWVfbnNfOworICBzdGQ6OnN0cmluZyBvdXRwdXRfOworfTsKKworY2xhc3MgVGVzdENhc2UgeworIHB1YmxpYzoKKyAgVGVzdENhc2UoKSB7fSAvLyBGb3Igc3RkOjp2ZWN0b3I8VGVzdENhc2U+LgorICBleHBsaWNpdCBUZXN0Q2FzZShjb25zdCBjaGFyKiBuYW1lKSA6IG5hbWVfKG5hbWUpIHt9CisKKyAgY29uc3Qgc3RkOjpzdHJpbmcmIEdldE5hbWUoKSBjb25zdCB7IHJldHVybiBuYW1lXzsgfQorCisgIHZvaWQgQXBwZW5kVGVzdChjb25zdCBjaGFyKiB0ZXN0X25hbWUpIHsKKyAgICB0ZXN0X2xpc3RfLnB1c2hfYmFjayhUZXN0KHRlc3RfbmFtZSkpOworICB9CisKKyAgc2l6ZV90IFRlc3RDb3VudCgpIGNvbnN0IHsgcmV0dXJuIHRlc3RfbGlzdF8uc2l6ZSgpOyB9CisKKyAgc3RkOjpzdHJpbmcgR2V0VGVzdE5hbWUoc2l6ZV90IHRlc3RfaWQpIGNvbnN0IHsKKyAgICBWZXJpZnlUZXN0SWQodGVzdF9pZCk7CisgICAgcmV0dXJuIG5hbWVfICsgIi4iICsgdGVzdF9saXN0X1t0ZXN0X2lkXS5HZXROYW1lKCk7CisgIH0KKworICBUZXN0JiBHZXRUZXN0KHNpemVfdCB0ZXN0X2lkKSB7CisgICAgVmVyaWZ5VGVzdElkKHRlc3RfaWQpOworICAgIHJldHVybiB0ZXN0X2xpc3RfW3Rlc3RfaWRdOworICB9CisKKyAgY29uc3QgVGVzdCYgR2V0VGVzdChzaXplX3QgdGVzdF9pZCkgY29uc3QgeworICAgIFZlcmlmeVRlc3RJZCh0ZXN0X2lkKTsKKyAgICByZXR1cm4gdGVzdF9saXN0X1t0ZXN0X2lkXTsKKyAgfQorCisgIHZvaWQgU2V0VGVzdFJlc3VsdChzaXplX3QgdGVzdF9pZCwgVGVzdFJlc3VsdCByZXN1bHQpIHsKKyAgICBWZXJpZnlUZXN0SWQodGVzdF9pZCk7CisgICAgdGVzdF9saXN0X1t0ZXN0X2lkXS5TZXRSZXN1bHQocmVzdWx0KTsKKyAgfQorCisgIFRlc3RSZXN1bHQgR2V0VGVzdFJlc3VsdChzaXplX3QgdGVzdF9pZCkgY29uc3QgeworICAgIFZlcmlmeVRlc3RJZCh0ZXN0X2lkKTsKKyAgICByZXR1cm4gdGVzdF9saXN0X1t0ZXN0X2lkXS5HZXRSZXN1bHQoKTsKKyAgfQorCisgIHZvaWQgU2V0VGVzdFRpbWUoc2l6ZV90IHRlc3RfaWQsIGludDY0X3QgZWxhcHNlZF90aW1lX25zKSB7CisgICAgVmVyaWZ5VGVzdElkKHRlc3RfaWQpOworICAgIHRlc3RfbGlzdF9bdGVzdF9pZF0uU2V0VGVzdFRpbWUoZWxhcHNlZF90aW1lX25zKTsKKyAgfQorCisgIGludDY0X3QgR2V0VGVzdFRpbWUoc2l6ZV90IHRlc3RfaWQpIGNvbnN0IHsKKyAgICBWZXJpZnlUZXN0SWQodGVzdF9pZCk7CisgICAgcmV0dXJuIHRlc3RfbGlzdF9bdGVzdF9pZF0uR2V0VGVzdFRpbWUoKTsKKyAgfQorCisgcHJpdmF0ZToKKyAgdm9pZCBWZXJpZnlUZXN0SWQoc2l6ZV90IHRlc3RfaWQpIGNvbnN0IHsKKyAgICBpZih0ZXN0X2lkID49IHRlc3RfbGlzdF8uc2l6ZSgpKSB7CisgICAgICBmcHJpbnRmKHN0ZGVyciwgInRlc3RfaWQgJXp1IG91dCBvZiByYW5nZSBbMCwgJXp1KVxuIiwgdGVzdF9pZCwgdGVzdF9saXN0Xy5zaXplKCkpOworICAgICAgZXhpdCgxKTsKKyAgICB9CisgIH0KKworIHByaXZhdGU6CisgIGNvbnN0IHN0ZDo6c3RyaW5nIG5hbWVfOworICBzdGQ6OnZlY3RvcjxUZXN0PiB0ZXN0X2xpc3RfOworfTsKKworY2xhc3MgVGVzdFJlc3VsdFByaW50ZXIgOiBwdWJsaWMgdGVzdGluZzo6RW1wdHlUZXN0RXZlbnRMaXN0ZW5lciB7CisgcHVibGljOgorICBUZXN0UmVzdWx0UHJpbnRlcigpIDogcGluZm9fKE5VTEwpIHt9CisgIHZpcnR1YWwgdm9pZCBPblRlc3RTdGFydChjb25zdCB0ZXN0aW5nOjpUZXN0SW5mbyYgdGVzdF9pbmZvKSB7CisgICAgcGluZm9fID0gJnRlc3RfaW5mbzsgLy8gUmVjb3JkIHRlc3RfaW5mbyBmb3IgdXNlIGluIE9uVGVzdFBhcnRSZXN1bHQuCisgIH0KKyAgdmlydHVhbCB2b2lkIE9uVGVzdFBhcnRSZXN1bHQoY29uc3QgdGVzdGluZzo6VGVzdFBhcnRSZXN1bHQmIHJlc3VsdCk7CisKKyBwcml2YXRlOgorICBjb25zdCB0ZXN0aW5nOjpUZXN0SW5mbyogcGluZm9fOworfTsKKworLy8gQ2FsbGVkIGFmdGVyIGFuIGFzc2VydGlvbiBmYWlsdXJlLgordm9pZCBUZXN0UmVzdWx0UHJpbnRlcjo6T25UZXN0UGFydFJlc3VsdChjb25zdCB0ZXN0aW5nOjpUZXN0UGFydFJlc3VsdCYgcmVzdWx0KSB7CisgIC8vIElmIHRoZSB0ZXN0IHBhcnQgc3VjY2VlZGVkLCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nLgorICBpZiAocmVzdWx0LnR5cGUoKSA9PSB0ZXN0aW5nOjpUZXN0UGFydFJlc3VsdDo6a1N1Y2Nlc3MpCisgICAgcmV0dXJuOworCisgIC8vIFByaW50IGZhaWx1cmUgbWVzc2FnZSBmcm9tIHRoZSBhc3NlcnRpb24gKGUuZy4gZXhwZWN0ZWQgdGhpcyBhbmQgZ290IHRoYXQpLgorICBwcmludGYoIiVzOiglZCkgRmFpbHVyZSBpbiB0ZXN0ICVzLiVzXG4lc1xuIiwgcmVzdWx0LmZpbGVfbmFtZSgpLCByZXN1bHQubGluZV9udW1iZXIoKSwKKyAgICAgICAgIHBpbmZvXy0+dGVzdF9jYXNlX25hbWUoKSwgcGluZm9fLT5uYW1lKCksIHJlc3VsdC5tZXNzYWdlKCkpOworICBmZmx1c2goc3Rkb3V0KTsKK30KKworc3RhdGljIGludDY0X3QgTmFub1RpbWUoKSB7CisgIHN0cnVjdCB0aW1lc3BlYyB0OworICB0LnR2X3NlYyA9IHQudHZfbnNlYyA9IDA7CisgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdCk7CisgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ2NF90Pih0LnR2X3NlYykgKiAxMDAwMDAwMDAwTEwgKyB0LnR2X25zZWM7Cit9CisKK3N0YXRpYyBib29sIEVudW1lcmF0ZVRlc3RzKGludCBhcmdjLCBjaGFyKiogYXJndiwgc3RkOjp2ZWN0b3I8VGVzdENhc2U+JiB0ZXN0Y2FzZV9saXN0KSB7CisgIHN0ZDo6c3RyaW5nIGNvbW1hbmQ7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgKytpKSB7CisgICAgY29tbWFuZCArPSBhcmd2W2ldOworICAgIGNvbW1hbmQgKz0gIiAiOworICB9CisgIGNvbW1hbmQgKz0gIi0tZ3Rlc3RfbGlzdF90ZXN0cyI7CisgIEZJTEUqIGZwID0gcG9wZW4oY29tbWFuZC5jX3N0cigpLCAiciIpOworICBpZiAoZnAgPT0gTlVMTCkgeworICAgIHBlcnJvcigicG9wZW4iKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBjaGFyIGJ1ZlsyMDBdOworICB3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZnApICE9IE5VTEwpIHsKKyAgICBjaGFyKiBwID0gYnVmOworCisgICAgd2hpbGUgKCpwICE9ICdcMCcgJiYgaXNzcGFjZSgqcCkpIHsKKyAgICAgICsrcDsKKyAgICB9CisgICAgaWYgKCpwID09ICdcMCcpIGNvbnRpbnVlOworICAgIGNoYXIqIHN0YXJ0ID0gcDsKKyAgICB3aGlsZSAoKnAgIT0gJ1wwJyAmJiAhaXNzcGFjZSgqcCkpIHsKKyAgICAgICsrcDsKKyAgICB9CisgICAgY2hhciogZW5kID0gcDsKKyAgICB3aGlsZSAoKnAgIT0gJ1wwJyAmJiBpc3NwYWNlKCpwKSkgeworICAgICAgKytwOworICAgIH0KKyAgICBpZiAoKnAgIT0gJ1wwJykgeworICAgICAgLy8gVGhpcyBpcyBub3Qgd2Ugd2FudCwgZ3Rlc3QgbXVzdCBtZWV0IHdpdGggc29tZSBlcnJvciB3aGVuIHBhcnNpbmcgdGhlIGFyZ3VtZW50cy4KKyAgICAgIGZwcmludGYoc3RkZXJyLCAiYXJndW1lbnQgZXJyb3IsIGNoZWNrIHdpdGggLS1oZWxwXG4iKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgKmVuZCA9ICdcMCc7CisgICAgaWYgKCooZW5kIC0gMSkgPT0gJy4nKSB7CisgICAgICAqKGVuZCAtIDEpID0gJ1wwJzsKKyAgICAgIHRlc3RjYXNlX2xpc3QucHVzaF9iYWNrKFRlc3RDYXNlKHN0YXJ0KSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RjYXNlX2xpc3QuYmFjaygpLkFwcGVuZFRlc3Qoc3RhcnQpOworICAgIH0KKyAgfQorICBpbnQgcmVzdWx0ID0gcGNsb3NlKGZwKTsKKyAgcmV0dXJuIChyZXN1bHQgIT0gLTEgJiYgV0VYSVRTVEFUVVMocmVzdWx0KSA9PSAwKTsKK30KKworLy8gUGFydCBvZiB0aGUgZm9sbG93aW5nICpQcmludCBmdW5jdGlvbnMgYXJlIGNvcGllZCBmcm9tIGV4dGVybmFsL2d0ZXN0L3NyYy9ndGVzdC5jYzoKKy8vIFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlci4gVGhlIHJlYXNvbiBmb3IgY29weSBpcyB0aGF0IFByZXR0eVVuaXRUZXN0UmVzdWx0UHJpbnRlcgorLy8gaXMgZGVmaW5lZCBhbmQgdXNlZCBpbiBndGVzdC5jYywgd2hpY2ggaXMgaGFyZCB0byByZXVzZS4KK3N0YXRpYyB2b2lkIE9uVGVzdEl0ZXJhdGlvblN0YXJ0UHJpbnQoY29uc3Qgc3RkOjp2ZWN0b3I8VGVzdENhc2U+JiB0ZXN0Y2FzZV9saXN0LCBzaXplX3QgaXRlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaXRlcmF0aW9uX2NvdW50KSB7CisgIGlmIChpdGVyYXRpb25fY291bnQgIT0gMSkgeworICAgIHByaW50ZigiXG5SZXBlYXRpbmcgYWxsIHRlc3RzIChpdGVyYXRpb24gJXp1KSAuIC4gLlxuXG4iLCBpdGVyYXRpb24pOworICB9CisgIENvbG9yZWRQcmludGYoQ09MT1JfR1JFRU4sICAiWz09PT09PT09PT1dICIpOworCisgIHNpemVfdCB0ZXN0Y2FzZV9jb3VudCA9IHRlc3RjYXNlX2xpc3Quc2l6ZSgpOworICBzaXplX3QgdGVzdF9jb3VudCA9IDA7CisgIGZvciAoY29uc3QgYXV0byYgdGVzdGNhc2UgOiB0ZXN0Y2FzZV9saXN0KSB7CisgICAgdGVzdF9jb3VudCArPSB0ZXN0Y2FzZS5UZXN0Q291bnQoKTsKKyAgfQorCisgIHByaW50ZigiUnVubmluZyAlenUgJXMgZnJvbSAlenUgJXMuXG4iLAorICAgICAgICAgdGVzdF9jb3VudCwgKHRlc3RfY291bnQgPT0gMSkgPyAidGVzdCIgOiAidGVzdHMiLAorICAgICAgICAgdGVzdGNhc2VfY291bnQsICh0ZXN0Y2FzZV9jb3VudCA9PSAxKSA/ICJ0ZXN0IGNhc2UiIDogInRlc3QgY2FzZXMiKTsKKyAgZmZsdXNoKHN0ZG91dCk7Cit9CisKKy8vIGJpb25pYyBjdHMgdGVzdCBuZWVkcyBndGVzdCBvdXRwdXQgZm9ybWF0LgorI2lmIGRlZmluZWQoVVNJTkdfR1RFU1RfT1VUUFVUX0ZPUk1BVCkKKworc3RhdGljIHZvaWQgT25UZXN0RW5kUHJpbnQoY29uc3QgVGVzdENhc2UmIHRlc3RjYXNlLCBzaXplX3QgdGVzdF9pZCkgeworICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVOLCAiWyBSVU4gICAgICBdICIpOworICBwcmludGYoIiVzXG4iLCB0ZXN0Y2FzZS5HZXRUZXN0TmFtZSh0ZXN0X2lkKS5jX3N0cigpKTsKKworICBjb25zdCBzdGQ6OnN0cmluZyYgdGVzdF9vdXRwdXQgPSB0ZXN0Y2FzZS5HZXRUZXN0KHRlc3RfaWQpLkdldFRlc3RPdXRwdXQoKTsKKyAgcHJpbnRmKCIlcyIsIHRlc3Rfb3V0cHV0LmNfc3RyKCkpOworCisgIFRlc3RSZXN1bHQgcmVzdWx0ID0gdGVzdGNhc2UuR2V0VGVzdFJlc3VsdCh0ZXN0X2lkKTsKKyAgaWYgKHJlc3VsdCA9PSBURVNUX1NVQ0NFU1MpIHsKKyAgICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVOLCAiWyAgICAgICBPSyBdICIpOworICB9IGVsc2UgeworICAgIENvbG9yZWRQcmludGYoQ09MT1JfUkVELCAiWyAgRkFJTEVEICBdICIpOworICB9CisgIHByaW50ZigiJXMiLCB0ZXN0Y2FzZS5HZXRUZXN0TmFtZSh0ZXN0X2lkKS5jX3N0cigpKTsKKyAgaWYgKHRlc3Rpbmc6OkdURVNUX0ZMQUcocHJpbnRfdGltZSkpIHsKKyAgICBwcmludGYoIiAoJSIgUFJJZDY0ICIgbXMpIiwgdGVzdGNhc2UuR2V0VGVzdFRpbWUodGVzdF9pZCkgLyAxMDAwMDAwKTsKKyAgfQorICBwcmludGYoIlxuIik7CisgIGZmbHVzaChzdGRvdXQpOworfQorCisjZWxzZSAgLy8gIWRlZmluZWQoVVNJTkdfR1RFU1RfT1VUUFVUX0ZPUk1BVCkKKworc3RhdGljIHZvaWQgT25UZXN0RW5kUHJpbnQoY29uc3QgVGVzdENhc2UmIHRlc3RjYXNlLCBzaXplX3QgdGVzdF9pZCkgeworICBUZXN0UmVzdWx0IHJlc3VsdCA9IHRlc3RjYXNlLkdldFRlc3RSZXN1bHQodGVzdF9pZCk7CisgIGlmIChyZXN1bHQgPT0gVEVTVF9TVUNDRVNTKSB7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9HUkVFTiwgIlsgICAgT0sgICAgXSAiKTsKKyAgfSBlbHNlIGlmIChyZXN1bHQgPT0gVEVTVF9GQUlMRUQpIHsKKyAgICBDb2xvcmVkUHJpbnRmKENPTE9SX1JFRCwgIlsgIEZBSUxFRCAgXSAiKTsKKyAgfSBlbHNlIGlmIChyZXN1bHQgPT0gVEVTVF9USU1FT1VUKSB7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9SRUQsICJbIFRJTUVPVVQgIF0gIik7CisgIH0KKworICBwcmludGYoIiVzIiwgdGVzdGNhc2UuR2V0VGVzdE5hbWUodGVzdF9pZCkuY19zdHIoKSk7CisgIGlmICh0ZXN0aW5nOjpHVEVTVF9GTEFHKHByaW50X3RpbWUpKSB7CisgICAgcHJpbnRmKCIgKCUiIFBSSWQ2NCAiIG1zKSIsIHRlc3RjYXNlLkdldFRlc3RUaW1lKHRlc3RfaWQpIC8gMTAwMDAwMCk7CisgIH0KKyAgcHJpbnRmKCJcbiIpOworCisgIGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0X291dHB1dCA9IHRlc3RjYXNlLkdldFRlc3QodGVzdF9pZCkuR2V0VGVzdE91dHB1dCgpOworICBwcmludGYoIiVzIiwgdGVzdF9vdXRwdXQuY19zdHIoKSk7CisgIGZmbHVzaChzdGRvdXQpOworfQorCisjZW5kaWYgIC8vICFkZWZpbmVkKFVTSU5HX0dURVNUX09VVFBVVF9GT1JNQVQpCisKK3N0YXRpYyB2b2lkIE9uVGVzdEl0ZXJhdGlvbkVuZFByaW50KGNvbnN0IHN0ZDo6dmVjdG9yPFRlc3RDYXNlPiYgdGVzdGNhc2VfbGlzdCwgc2l6ZV90IC8qaXRlcmF0aW9uKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IGVsYXBzZWRfdGltZV9ucykgeworCisgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBmYWlsX3Rlc3RfbmFtZV9saXN0OworICBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8c3RkOjpzdHJpbmcsIGludDY0X3Q+PiB0aW1lb3V0X3Rlc3RfbGlzdDsKKworICAvLyBGb3IgdGVzdHMgcnVuIGV4Y2VlZCB3YXJubGluZSBidXQgbm90IHRpbWVvdXQuCisgIHN0ZDo6dmVjdG9yPHN0ZDo6dHVwbGU8c3RkOjpzdHJpbmcsIGludDY0X3QsIGludD4+IHNsb3dfdGVzdF9saXN0OworICBzaXplX3QgdGVzdGNhc2VfY291bnQgPSB0ZXN0Y2FzZV9saXN0LnNpemUoKTsKKyAgc2l6ZV90IHRlc3RfY291bnQgPSAwOworICBzaXplX3Qgc3VjY2Vzc190ZXN0X2NvdW50ID0gMDsKKworICBmb3IgKGNvbnN0IGF1dG8mIHRlc3RjYXNlIDogdGVzdGNhc2VfbGlzdCkgeworICAgIHRlc3RfY291bnQgKz0gdGVzdGNhc2UuVGVzdENvdW50KCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0ZXN0Y2FzZS5UZXN0Q291bnQoKTsgKytpKSB7CisgICAgICBUZXN0UmVzdWx0IHJlc3VsdCA9IHRlc3RjYXNlLkdldFRlc3RSZXN1bHQoaSk7CisgICAgICBpZiAocmVzdWx0ID09IFRFU1RfU1VDQ0VTUykgeworICAgICAgICArK3N1Y2Nlc3NfdGVzdF9jb3VudDsKKyAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID09IFRFU1RfRkFJTEVEKSB7CisgICAgICAgIGZhaWxfdGVzdF9uYW1lX2xpc3QucHVzaF9iYWNrKHRlc3RjYXNlLkdldFRlc3ROYW1lKGkpKTsKKyAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID09IFRFU1RfVElNRU9VVCkgeworICAgICAgICB0aW1lb3V0X3Rlc3RfbGlzdC5wdXNoX2JhY2soc3RkOjptYWtlX3BhaXIodGVzdGNhc2UuR2V0VGVzdE5hbWUoaSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0Y2FzZS5HZXRUZXN0VGltZShpKSkpOworICAgICAgfQorICAgICAgaWYgKHJlc3VsdCAhPSBURVNUX1RJTUVPVVQgJiYKKyAgICAgICAgICB0ZXN0Y2FzZS5HZXRUZXN0VGltZShpKSAvIDEwMDAwMDAgPj0gR2V0V2FybmxpbmVJbmZvKHRlc3RjYXNlLkdldFRlc3ROYW1lKGkpKSkgeworICAgICAgICBzbG93X3Rlc3RfbGlzdC5wdXNoX2JhY2soc3RkOjptYWtlX3R1cGxlKHRlc3RjYXNlLkdldFRlc3ROYW1lKGkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNlLkdldFRlc3RUaW1lKGkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFdhcm5saW5lSW5mbyh0ZXN0Y2FzZS5HZXRUZXN0TmFtZShpKSkpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBDb2xvcmVkUHJpbnRmKENPTE9SX0dSRUVOLCAgIls9PT09PT09PT09XSAiKTsKKyAgcHJpbnRmKCIlenUgJXMgZnJvbSAlenUgJXMgcmFuLiIsIHRlc3RfY291bnQsICh0ZXN0X2NvdW50ID09IDEpID8gInRlc3QiIDogInRlc3RzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNlX2NvdW50LCAodGVzdGNhc2VfY291bnQgPT0gMSkgPyAidGVzdCBjYXNlIiA6ICJ0ZXN0IGNhc2VzIik7CisgIGlmICh0ZXN0aW5nOjpHVEVTVF9GTEFHKHByaW50X3RpbWUpKSB7CisgICAgcHJpbnRmKCIgKCUiIFBSSWQ2NCAiIG1zIHRvdGFsKSIsIGVsYXBzZWRfdGltZV9ucyAvIDEwMDAwMDApOworICB9CisgIHByaW50ZigiXG4iKTsKKyAgQ29sb3JlZFByaW50ZihDT0xPUl9HUkVFTiwgICJbICAgUEFTUyAgIF0gIik7CisgIHByaW50ZigiJXp1ICVzLlxuIiwgc3VjY2Vzc190ZXN0X2NvdW50LCAoc3VjY2Vzc190ZXN0X2NvdW50ID09IDEpID8gInRlc3QiIDogInRlc3RzIik7CisKKyAgLy8gUHJpbnQgdGVzdHMgZmFpbGVkLgorICBzaXplX3QgZmFpbF90ZXN0X2NvdW50ID0gZmFpbF90ZXN0X25hbWVfbGlzdC5zaXplKCk7CisgIGlmIChmYWlsX3Rlc3RfY291bnQgPiAwKSB7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9SRUQsICAiWyAgIEZBSUwgICBdICIpOworICAgIHByaW50ZigiJXp1ICVzLCBsaXN0ZWQgYmVsb3c6XG4iLCBmYWlsX3Rlc3RfY291bnQsIChmYWlsX3Rlc3RfY291bnQgPT0gMSkgPyAidGVzdCIgOiAidGVzdHMiKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIG5hbWUgOiBmYWlsX3Rlc3RfbmFtZV9saXN0KSB7CisgICAgICBDb2xvcmVkUHJpbnRmKENPTE9SX1JFRCwgIlsgICBGQUlMICAgXSAiKTsKKyAgICAgIHByaW50ZigiJXNcbiIsIG5hbWUuY19zdHIoKSk7CisgICAgfQorICB9CisKKyAgLy8gUHJpbnQgdGVzdHMgcnVuIHRpbWVvdXQuCisgIHNpemVfdCB0aW1lb3V0X3Rlc3RfY291bnQgPSB0aW1lb3V0X3Rlc3RfbGlzdC5zaXplKCk7CisgIGlmICh0aW1lb3V0X3Rlc3RfY291bnQgPiAwKSB7CisgICAgQ29sb3JlZFByaW50ZihDT0xPUl9SRUQsICJbIFRJTUVPVVQgIF0gIik7CisgICAgcHJpbnRmKCIlenUgJXMsIGxpc3RlZCBiZWxvdzpcbiIsIHRpbWVvdXRfdGVzdF9jb3VudCwgKHRpbWVvdXRfdGVzdF9jb3VudCA9PSAxKSA/ICJ0ZXN0IiA6ICJ0ZXN0cyIpOworICAgIGZvciAoY29uc3QgYXV0byYgdGltZW91dF9wYWlyIDogdGltZW91dF90ZXN0X2xpc3QpIHsKKyAgICAgIENvbG9yZWRQcmludGYoQ09MT1JfUkVELCAiWyBUSU1FT1VUICBdICIpOworICAgICAgcHJpbnRmKCIlcyAoc3RvcHBlZCBhdCAlIiBQUklkNjQgIiBtcylcbiIsIHRpbWVvdXRfcGFpci5maXJzdC5jX3N0cigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfcGFpci5zZWNvbmQgLyAxMDAwMDAwKTsKKyAgICB9CisgIH0KKworICAvLyBQcmludCB0ZXN0cyBydW4gZXhjZWVkIHdhcm5saW5lLgorICBzaXplX3Qgc2xvd190ZXN0X2NvdW50ID0gc2xvd190ZXN0X2xpc3Quc2l6ZSgpOworICBpZiAoc2xvd190ZXN0X2NvdW50ID4gMCkgeworICAgIENvbG9yZWRQcmludGYoQ09MT1JfWUVMTE9XLCAiWyAgIFNMT1cgICBdICIpOworICAgIHByaW50ZigiJXp1ICVzLCBsaXN0ZWQgYmVsb3c6XG4iLCBzbG93X3Rlc3RfY291bnQsIChzbG93X3Rlc3RfY291bnQgPT0gMSkgPyAidGVzdCIgOiAidGVzdHMiKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHNsb3dfdHVwbGUgOiBzbG93X3Rlc3RfbGlzdCkgeworICAgICAgQ29sb3JlZFByaW50ZihDT0xPUl9ZRUxMT1csICJbICAgU0xPVyAgIF0gIik7CisgICAgICBwcmludGYoIiVzICglIiBQUklkNjQgIiBtcywgZXhjZWVkIHdhcm5saW5lICVkIG1zKVxuIiwgc3RkOjpnZXQ8MD4oc2xvd190dXBsZSkuY19zdHIoKSwKKyAgICAgICAgICAgICBzdGQ6OmdldDwxPihzbG93X3R1cGxlKSAvIDEwMDAwMDAsIHN0ZDo6Z2V0PDI+KHNsb3dfdHVwbGUpKTsKKyAgICB9CisgIH0KKworICBpZiAoZmFpbF90ZXN0X2NvdW50ID4gMCkgeworICAgIHByaW50ZigiXG4lMnp1IEZBSUxFRCAlc1xuIiwgZmFpbF90ZXN0X2NvdW50LCAoZmFpbF90ZXN0X2NvdW50ID09IDEpID8gIlRFU1QiIDogIlRFU1RTIik7CisgIH0KKyAgaWYgKHRpbWVvdXRfdGVzdF9jb3VudCA+IDApIHsKKyAgICBwcmludGYoIiUyenUgVElNRU9VVCAlc1xuIiwgdGltZW91dF90ZXN0X2NvdW50LCAodGltZW91dF90ZXN0X2NvdW50ID09IDEpID8gIlRFU1QiIDogIlRFU1RTIik7CisgIH0KKyAgaWYgKHNsb3dfdGVzdF9jb3VudCA+IDApIHsKKyAgICBwcmludGYoIiUyenUgU0xPVyAlc1xuIiwgc2xvd190ZXN0X2NvdW50LCAoc2xvd190ZXN0X2NvdW50ID09IDEpID8gIlRFU1QiIDogIlRFU1RTIik7CisgIH0KKyAgZmZsdXNoKHN0ZG91dCk7Cit9CisKKy8vIE91dHB1dCB4bWwgZmlsZSB3aGVuIC0tZ3Rlc3Rfb3V0cHV0IGlzIHVzZWQsIHdyaXRlIHRoaXMgZnVuY3Rpb24gYXMgd2UgY2FuJ3QgcmV1c2UKKy8vIGd0ZXN0LmNjOlhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlci4gVGhlIHJlYXNvbiBpcyBYbWxVbml0VGVzdFJlc3VsdFByaW50ZXIgaXMgdG90YWxseQorLy8gZGVmaW5lZCBpbiBndGVzdC5jYyBhbmQgbm90IGV4cG9zZSB0byBvdXRzaWRlLiBXaGF0J3MgbW9yZSwgYXMgd2UgZG9uJ3QgcnVuIGd0ZXN0IGluCisvLyB0aGUgcGFyZW50IHByb2Nlc3MsIHdlIGRvbid0IGhhdmUgZ3Rlc3QgY2xhc3NlcyB3aGljaCBhcmUgbmVlZGVkIGJ5IFhtbFVuaXRUZXN0UmVzdWx0UHJpbnRlci4KK3ZvaWQgT25UZXN0SXRlcmF0aW9uRW5kWG1sUHJpbnQoY29uc3Qgc3RkOjpzdHJpbmcmIHhtbF9vdXRwdXRfZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPFRlc3RDYXNlPiYgdGVzdGNhc2VfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZV90IGVwb2NoX2l0ZXJhdGlvbl9zdGFydF90aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IGVsYXBzZWRfdGltZV9ucykgeworICBGSUxFKiBmcCA9IGZvcGVuKHhtbF9vdXRwdXRfZmlsZW5hbWUuY19zdHIoKSwgInciKTsKKyAgaWYgKGZwID09IE5VTEwpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBvcGVuICclcyc6ICVzXG4iLCB4bWxfb3V0cHV0X2ZpbGVuYW1lLmNfc3RyKCksIHN0cmVycm9yKGVycm5vKSk7CisgICAgZXhpdCgxKTsKKyAgfQorCisgIHNpemVfdCB0b3RhbF90ZXN0X2NvdW50ID0gMDsKKyAgc2l6ZV90IHRvdGFsX2ZhaWxlZF9jb3VudCA9IDA7CisgIHN0ZDo6dmVjdG9yPHNpemVfdD4gZmFpbGVkX2NvdW50X2xpc3QodGVzdGNhc2VfbGlzdC5zaXplKCksIDApOworICBzdGQ6OnZlY3RvcjxpbnQ2NF90PiBlbGFwc2VkX3RpbWVfbGlzdCh0ZXN0Y2FzZV9saXN0LnNpemUoKSwgMCk7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdGVzdGNhc2VfbGlzdC5zaXplKCk7ICsraSkgeworICAgIGF1dG8mIHRlc3RjYXNlID0gdGVzdGNhc2VfbGlzdFtpXTsKKyAgICB0b3RhbF90ZXN0X2NvdW50ICs9IHRlc3RjYXNlLlRlc3RDb3VudCgpOworICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgdGVzdGNhc2UuVGVzdENvdW50KCk7ICsraikgeworICAgICAgaWYgKHRlc3RjYXNlLkdldFRlc3RSZXN1bHQoaikgIT0gVEVTVF9TVUNDRVNTKSB7CisgICAgICAgICsrZmFpbGVkX2NvdW50X2xpc3RbaV07CisgICAgICB9CisgICAgICBlbGFwc2VkX3RpbWVfbGlzdFtpXSArPSB0ZXN0Y2FzZS5HZXRUZXN0VGltZShqKTsKKyAgICB9CisgICAgdG90YWxfZmFpbGVkX2NvdW50ICs9IGZhaWxlZF9jb3VudF9saXN0W2ldOworICB9CisKKyAgY29uc3QgdG0qIHRpbWVfc3RydWN0ID0gbG9jYWx0aW1lKCZlcG9jaF9pdGVyYXRpb25fc3RhcnRfdGltZSk7CisgIGNoYXIgdGltZXN0YW1wWzQwXTsKKyAgc25wcmludGYodGltZXN0YW1wLCBzaXplb2YodGltZXN0YW1wKSwgIiU0ZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQiLAorICAgICAgICAgICB0aW1lX3N0cnVjdC0+dG1feWVhciArIDE5MDAsIHRpbWVfc3RydWN0LT50bV9tb24gKyAxLCB0aW1lX3N0cnVjdC0+dG1fbWRheSwKKyAgICAgICAgICAgdGltZV9zdHJ1Y3QtPnRtX2hvdXIsIHRpbWVfc3RydWN0LT50bV9taW4sIHRpbWVfc3RydWN0LT50bV9zZWMpOworCisgIGZwdXRzKCI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz5cbiIsIGZwKTsKKyAgZnByaW50ZihmcCwgIjx0ZXN0c3VpdGVzIHRlc3RzPVwiJXp1XCIgZmFpbHVyZXM9XCIlenVcIiBkaXNhYmxlZD1cIjBcIiBlcnJvcnM9XCIwXCIiLAorICAgICAgICAgIHRvdGFsX3Rlc3RfY291bnQsIHRvdGFsX2ZhaWxlZF9jb3VudCk7CisgIGZwcmludGYoZnAsICIgdGltZXN0YW1wPVwiJXNcIiB0aW1lPVwiJS4zbGZcIiBuYW1lPVwiQWxsVGVzdHNcIj5cbiIsIHRpbWVzdGFtcCwgZWxhcHNlZF90aW1lX25zIC8gMWU5KTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0ZXN0Y2FzZV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgYXV0byYgdGVzdGNhc2UgPSB0ZXN0Y2FzZV9saXN0W2ldOworICAgIGZwcmludGYoZnAsICIgIDx0ZXN0c3VpdGUgbmFtZT1cIiVzXCIgdGVzdHM9XCIlenVcIiBmYWlsdXJlcz1cIiV6dVwiIGRpc2FibGVkPVwiMFwiIGVycm9ycz1cIjBcIiIsCisgICAgICAgICAgICB0ZXN0Y2FzZS5HZXROYW1lKCkuY19zdHIoKSwgdGVzdGNhc2UuVGVzdENvdW50KCksIGZhaWxlZF9jb3VudF9saXN0W2ldKTsKKyAgICBmcHJpbnRmKGZwLCAiIHRpbWU9XCIlLjNsZlwiPlxuIiwgZWxhcHNlZF90aW1lX2xpc3RbaV0gLyAxZTkpOworCisgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCB0ZXN0Y2FzZS5UZXN0Q291bnQoKTsgKytqKSB7CisgICAgICBmcHJpbnRmKGZwLCAiICAgIDx0ZXN0Y2FzZSBuYW1lPVwiJXNcIiBzdGF0dXM9XCJydW5cIiB0aW1lPVwiJS4zbGZcIiBjbGFzc25hbWU9XCIlc1wiIiwKKyAgICAgICAgICAgICAgdGVzdGNhc2UuR2V0VGVzdChqKS5HZXROYW1lKCkuY19zdHIoKSwgdGVzdGNhc2UuR2V0VGVzdFRpbWUoaikgLyAxZTksCisgICAgICAgICAgICAgIHRlc3RjYXNlLkdldE5hbWUoKS5jX3N0cigpKTsKKyAgICAgIGlmICh0ZXN0Y2FzZS5HZXRUZXN0UmVzdWx0KGopID09IFRFU1RfU1VDQ0VTUykgeworICAgICAgICBmcHV0cygiIC8+XG4iLCBmcCk7CisgICAgICB9IGVsc2UgeworICAgICAgICBmcHV0cygiPlxuIiwgZnApOworICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgdGVzdF9vdXRwdXQgPSB0ZXN0Y2FzZS5HZXRUZXN0KGopLkdldFRlc3RPdXRwdXQoKTsKKyAgICAgICAgZnByaW50ZihmcCwgIiAgICAgIDxmYWlsdXJlIG1lc3NhZ2U9XCIlc1wiIHR5cGU9XCJcIj5cbiIsIHRlc3Rfb3V0cHV0LmNfc3RyKCkpOworICAgICAgICBmcHV0cygiICAgICAgPC9mYWlsdXJlPlxuIiwgZnApOworICAgICAgICBmcHV0cygiICAgIDwvdGVzdGNhc2U+XG4iLCBmcCk7CisgICAgICB9CisgICAgfQorCisgICAgZnB1dHMoIiAgPC90ZXN0c3VpdGU+XG4iLCBmcCk7CisgIH0KKyAgZnB1dHMoIjwvdGVzdHN1aXRlcz5cbiIsIGZwKTsKKyAgZmNsb3NlKGZwKTsKK30KKworc3RydWN0IENoaWxkUHJvY0luZm8geworICBwaWRfdCBwaWQ7CisgIGludDY0X3Qgc3RhcnRfdGltZV9uczsKKyAgaW50NjRfdCBlbmRfdGltZV9uczsKKyAgaW50NjRfdCBkZWFkbGluZV9lbmRfdGltZV9uczsgLy8gVGhlIHRpbWUgd2hlbiB0aGUgdGVzdCBpcyB0aG91Z2h0IG9mIGFzIHRpbWVvdXQuCisgIHNpemVfdCB0ZXN0Y2FzZV9pZCwgdGVzdF9pZDsKKyAgYm9vbCBmaW5pc2hlZDsKKyAgYm9vbCB0aW1lZF9vdXQ7CisgIGludCBleGl0X3N0YXR1czsKKyAgaW50IGNoaWxkX3JlYWRfZmQ7IC8vIEZpbGUgZGVzY3JpcHRvciB0byByZWFkIGNoaWxkIHRlc3QgZmFpbHVyZSBpbmZvLgorfTsKKworLy8gRm9ya2VkIENoaWxkIHByb2Nlc3MsIHJ1biB0aGUgc2luZ2xlIHRlc3QuCitzdGF0aWMgdm9pZCBDaGlsZFByb2Nlc3NGbihpbnQgYXJnYywgY2hhcioqIGFyZ3YsIGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0X25hbWUpIHsKKyAgY2hhcioqIG5ld19hcmd2ID0gbmV3IGNoYXIqW2FyZ2MgKyAyXTsKKyAgbWVtY3B5KG5ld19hcmd2LCBhcmd2LCBzaXplb2YoY2hhciopICogYXJnYyk7CisKKyAgY2hhciogZmlsdGVyX2FyZyA9IG5ldyBjaGFyIFt0ZXN0X25hbWUuc2l6ZSgpICsgMjBdOworICBzdHJjcHkoZmlsdGVyX2FyZywgIi0tZ3Rlc3RfZmlsdGVyPSIpOworICBzdHJjYXQoZmlsdGVyX2FyZywgdGVzdF9uYW1lLmNfc3RyKCkpOworICBuZXdfYXJndlthcmdjXSA9IGZpbHRlcl9hcmc7CisgIG5ld19hcmd2W2FyZ2MgKyAxXSA9IE5VTEw7CisKKyAgaW50IG5ld19hcmdjID0gYXJnYyArIDE7CisgIHRlc3Rpbmc6OkluaXRHb29nbGVUZXN0KCZuZXdfYXJnYywgbmV3X2FyZ3YpOworICBpbnQgcmVzdWx0ID0gUlVOX0FMTF9URVNUUygpOworICBleGl0KHJlc3VsdCk7Cit9CisKK3N0YXRpYyBDaGlsZFByb2NJbmZvIFJ1bkNoaWxkUHJvY2Vzcyhjb25zdCBzdGQ6OnN0cmluZyYgdGVzdF9uYW1lLCBpbnQgdGVzdGNhc2VfaWQsIGludCB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ3NldF90IHNpZ21hc2ssIGludCBhcmdjLCBjaGFyKiogYXJndikgeworICBpbnQgcGlwZWZkWzJdOworICBpbnQgcmV0ID0gcGlwZTIocGlwZWZkLCBPX05PTkJMT0NLKTsKKyAgaWYgKHJldCA9PSAtMSkgeworICAgIHBlcnJvcigicGlwZTIgaW4gUnVuVGVzdEluU2VwYXJhdGVQcm9jIik7CisgICAgZXhpdCgxKTsKKyAgfQorICBwaWRfdCBwaWQgPSBmb3JrKCk7CisgIGlmIChwaWQgPT0gLTEpIHsKKyAgICBwZXJyb3IoImZvcmsgaW4gUnVuVGVzdEluU2VwYXJhdGVQcm9jIik7CisgICAgZXhpdCgxKTsKKyAgfSBlbHNlIGlmIChwaWQgPT0gMCkgeworICAgIC8vIEluIGNoaWxkIHByb2Nlc3MsIHJ1biBhIHNpbmdsZSB0ZXN0LgorICAgIGNsb3NlKHBpcGVmZFswXSk7CisgICAgY2xvc2UoU1RET1VUX0ZJTEVOTyk7CisgICAgY2xvc2UoU1RERVJSX0ZJTEVOTyk7CisgICAgZHVwMihwaXBlZmRbMV0sIFNURE9VVF9GSUxFTk8pOworICAgIGR1cDIocGlwZWZkWzFdLCBTVERFUlJfRklMRU5PKTsKKworICAgIGlmIChzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnNpZ21hc2ssIE5VTEwpID09IC0xKSB7CisgICAgICBwZXJyb3IoInNpZ3Byb2NtYXNrIFNJR19TRVRNQVNLIik7CisgICAgICBleGl0KDEpOworICAgIH0KKyAgICBDaGlsZFByb2Nlc3NGbihhcmdjLCBhcmd2LCB0ZXN0X25hbWUpOworICAgIC8vIFVucmVhY2hhYmxlLgorICB9CisgIC8vIEluIHBhcmVudCBwcm9jZXNzLCBpbml0aWFsaXplIGNoaWxkIHByb2Nlc3MgaW5mby4KKyAgY2xvc2UocGlwZWZkWzFdKTsKKyAgQ2hpbGRQcm9jSW5mbyBjaGlsZF9wcm9jOworICBjaGlsZF9wcm9jLmNoaWxkX3JlYWRfZmQgPSBwaXBlZmRbMF07CisgIGNoaWxkX3Byb2MucGlkID0gcGlkOworICBjaGlsZF9wcm9jLnN0YXJ0X3RpbWVfbnMgPSBOYW5vVGltZSgpOworICBjaGlsZF9wcm9jLmRlYWRsaW5lX2VuZF90aW1lX25zID0gY2hpbGRfcHJvYy5zdGFydF90aW1lX25zICsgR2V0RGVhZGxpbmVJbmZvKHRlc3RfbmFtZSkgKiAxMDAwMDAwTEw7CisgIGNoaWxkX3Byb2MudGVzdGNhc2VfaWQgPSB0ZXN0Y2FzZV9pZDsKKyAgY2hpbGRfcHJvYy50ZXN0X2lkID0gdGVzdF9pZDsKKyAgY2hpbGRfcHJvYy5maW5pc2hlZCA9IGZhbHNlOworICByZXR1cm4gY2hpbGRfcHJvYzsKK30KKworc3RhdGljIHZvaWQgSGFuZGxlU2lnbmFscyhzdGQ6OnZlY3RvcjxUZXN0Q2FzZT4mIHRlc3RjYXNlX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8Q2hpbGRQcm9jSW5mbz4mIGNoaWxkX3Byb2NfbGlzdCkgeworICBzaWdzZXRfdCB3YWl0aW5nX21hc2s7CisgIHNpZ2VtcHR5c2V0KCZ3YWl0aW5nX21hc2spOworICBzaWdhZGRzZXQoJndhaXRpbmdfbWFzaywgU0lHSU5UKTsKKyAgc2lnYWRkc2V0KCZ3YWl0aW5nX21hc2ssIFNJR1FVSVQpOworICB0aW1lc3BlYyB0aW1lb3V0OworICB0aW1lb3V0LnR2X3NlYyA9IHRpbWVvdXQudHZfbnNlYyA9IDA7CisgIHdoaWxlICh0cnVlKSB7CisgICAgaW50IHNpZ25vID0gVEVNUF9GQUlMVVJFX1JFVFJZKHNpZ3RpbWVkd2FpdCgmd2FpdGluZ19tYXNrLCBOVUxMLCAmdGltZW91dCkpOworICAgIGlmIChzaWdubyA9PSAtMSkgeworICAgICAgaWYgKGVycm5vID09IEVBR0FJTikgeworICAgICAgICByZXR1cm47IC8vIFRpbWVvdXQsIG5vIHBlbmRpbmcgc2lnbmFscy4KKyAgICAgIH0KKyAgICAgIHBlcnJvcigic2lndGltZWR3YWl0Iik7CisgICAgICBleGl0KDEpOworICAgIH0gZWxzZSBpZiAoc2lnbm8gPT0gU0lHUVVJVCkgeworICAgICAgLy8gUHJpbnQgY3VycmVudCBydW5uaW5nIHRlc3RzLgorICAgICAgcHJpbnRmKCJMaXN0IG9mIGN1cnJlbnQgcnVubmluZyB0ZXN0czpcbiIpOworICAgICAgZm9yIChhdXRvJiBjaGlsZF9wcm9jIDogY2hpbGRfcHJvY19saXN0KSB7CisgICAgICAgIGlmIChjaGlsZF9wcm9jLnBpZCAhPSAwKSB7CisgICAgICAgICAgc3RkOjpzdHJpbmcgdGVzdF9uYW1lID0gdGVzdGNhc2VfbGlzdFtjaGlsZF9wcm9jLnRlc3RjYXNlX2lkXS5HZXRUZXN0TmFtZShjaGlsZF9wcm9jLnRlc3RfaWQpOworICAgICAgICAgIGludDY0X3QgY3VycmVudF90aW1lX25zID0gTmFub1RpbWUoKTsKKyAgICAgICAgICBpbnQ2NF90IHJ1bl90aW1lX21zID0gKGN1cnJlbnRfdGltZV9ucyAtIGNoaWxkX3Byb2Muc3RhcnRfdGltZV9ucykgLyAxMDAwMDAwOworICAgICAgICAgIHByaW50ZigiICAlcyAoJSIgUFJJZDY0ICIgbXMpXG4iLCB0ZXN0X25hbWUuY19zdHIoKSwgcnVuX3RpbWVfbXMpOworICAgICAgICB9CisgICAgICB9CisgICAgfSBlbHNlIGlmIChzaWdubyA9PSBTSUdJTlQpIHsKKyAgICAgIC8vIEtpbGwgY3VycmVudCBydW5uaW5nIHRlc3RzLgorICAgICAgZm9yIChhdXRvJiBjaGlsZF9wcm9jIDogY2hpbGRfcHJvY19saXN0KSB7CisgICAgICAgIGlmIChjaGlsZF9wcm9jLnBpZCAhPSAwKSB7CisgICAgICAgICAgLy8gU2VuZCBTSUdLSUxMIHRvIGVuc3VyZSB0aGUgY2hpbGQgcHJvY2VzcyBjYW4gYmUga2lsbGVkIHVuY29uZGl0aW9uYWxseS4KKyAgICAgICAgICBraWxsKGNoaWxkX3Byb2MucGlkLCBTSUdLSUxMKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgLy8gU0lHSU5UIGtpbGxzIHRoZSBwYXJlbnQgcHJvY2VzcyBhcyB3ZWxsLgorICAgICAgZXhpdCgxKTsKKyAgICB9CisgIH0KK30KKworc3RhdGljIGJvb2wgQ2hlY2tDaGlsZFByb2NFeGl0KHBpZF90IGV4aXRfcGlkLCBpbnQgZXhpdF9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8Q2hpbGRQcm9jSW5mbz4mIGNoaWxkX3Byb2NfbGlzdCkgeworICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkX3Byb2NfbGlzdC5zaXplKCk7ICsraSkgeworICAgIGlmIChjaGlsZF9wcm9jX2xpc3RbaV0ucGlkID09IGV4aXRfcGlkKSB7CisgICAgICBjaGlsZF9wcm9jX2xpc3RbaV0uZmluaXNoZWQgPSB0cnVlOworICAgICAgY2hpbGRfcHJvY19saXN0W2ldLnRpbWVkX291dCA9IGZhbHNlOworICAgICAgY2hpbGRfcHJvY19saXN0W2ldLmV4aXRfc3RhdHVzID0gZXhpdF9zdGF0dXM7CisgICAgICBjaGlsZF9wcm9jX2xpc3RbaV0uZW5kX3RpbWVfbnMgPSBOYW5vVGltZSgpOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICB9CisgIHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIHNpemVfdCBDaGVja0NoaWxkUHJvY1RpbWVvdXQoc3RkOjp2ZWN0b3I8Q2hpbGRQcm9jSW5mbz4mIGNoaWxkX3Byb2NfbGlzdCkgeworICBpbnQ2NF90IGN1cnJlbnRfdGltZV9ucyA9IE5hbm9UaW1lKCk7CisgIHNpemVfdCB0aW1lb3V0X2NoaWxkX2NvdW50ID0gMDsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZF9wcm9jX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICBpZiAoY2hpbGRfcHJvY19saXN0W2ldLmRlYWRsaW5lX2VuZF90aW1lX25zIDw9IGN1cnJlbnRfdGltZV9ucykgeworICAgICAgY2hpbGRfcHJvY19saXN0W2ldLmZpbmlzaGVkID0gdHJ1ZTsKKyAgICAgIGNoaWxkX3Byb2NfbGlzdFtpXS50aW1lZF9vdXQgPSB0cnVlOworICAgICAgY2hpbGRfcHJvY19saXN0W2ldLmVuZF90aW1lX25zID0gY3VycmVudF90aW1lX25zOworICAgICAgKyt0aW1lb3V0X2NoaWxkX2NvdW50OworICAgIH0KKyAgfQorICByZXR1cm4gdGltZW91dF9jaGlsZF9jb3VudDsKK30KKworc3RhdGljIHZvaWQgV2FpdENoaWxkUHJvY3Moc3RkOjp2ZWN0b3I8VGVzdENhc2U+JiB0ZXN0Y2FzZV9saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8Q2hpbGRQcm9jSW5mbz4mIGNoaWxkX3Byb2NfbGlzdCkgeworICBzaXplX3QgZmluaXNoZWRfY2hpbGRfY291bnQgPSAwOworICB3aGlsZSAodHJ1ZSkgeworICAgIGludCBzdGF0dXM7CisgICAgcGlkX3QgcmVzdWx0OworICAgIHdoaWxlICgocmVzdWx0ID0gVEVNUF9GQUlMVVJFX1JFVFJZKHdhaXRwaWQoLTEsICZzdGF0dXMsIFdOT0hBTkcpKSkgPiAwKSB7CisgICAgICBpZiAoQ2hlY2tDaGlsZFByb2NFeGl0KHJlc3VsdCwgc3RhdHVzLCBjaGlsZF9wcm9jX2xpc3QpKSB7CisgICAgICAgICsrZmluaXNoZWRfY2hpbGRfY291bnQ7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKHJlc3VsdCA9PSAtMSkgeworICAgICAgaWYgKGVycm5vID09IEVDSElMRCkgeworICAgICAgICAvLyBUaGlzIGhhcHBlbnMgd2hlbiB3ZSBoYXZlIG5vIHJ1bm5pbmcgY2hpbGQgcHJvY2Vzc2VzLgorICAgICAgICByZXR1cm47CisgICAgICB9IGVsc2UgeworICAgICAgICBwZXJyb3IoIndhaXRwaWQiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PSAwKSB7CisgICAgICBmaW5pc2hlZF9jaGlsZF9jb3VudCArPSBDaGVja0NoaWxkUHJvY1RpbWVvdXQoY2hpbGRfcHJvY19saXN0KTsKKyAgICB9CisKKyAgICBpZiAoZmluaXNoZWRfY2hpbGRfY291bnQgPiAwKSB7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgSGFuZGxlU2lnbmFscyh0ZXN0Y2FzZV9saXN0LCBjaGlsZF9wcm9jX2xpc3QpOworCisgICAgLy8gc2xlZXAgMSBtcyB0byBhdm9pZCBidXN5IGxvb3BpbmcuCisgICAgdGltZXNwZWMgc2xlZXBfdGltZTsKKyAgICBzbGVlcF90aW1lLnR2X3NlYyA9IDA7CisgICAgc2xlZXBfdGltZS50dl9uc2VjID0gMTAwMDAwMDsKKyAgICBuYW5vc2xlZXAoJnNsZWVwX3RpbWUsIE5VTEwpOworICB9Cit9CisKK3N0YXRpYyBUZXN0UmVzdWx0IFdhaXRGb3JPbmVDaGlsZChwaWRfdCBwaWQpIHsKKyAgaW50IGV4aXRfc3RhdHVzOworICBwaWRfdCByZXN1bHQgPSBURU1QX0ZBSUxVUkVfUkVUUlkod2FpdHBpZChwaWQsICZleGl0X3N0YXR1cywgMCkpOworCisgIFRlc3RSZXN1bHQgdGVzdF9yZXN1bHQgPSBURVNUX1NVQ0NFU1M7CisgIGlmIChyZXN1bHQgIT0gcGlkIHx8IFdFWElUU1RBVFVTKGV4aXRfc3RhdHVzKSAhPSAwKSB7CisgICAgdGVzdF9yZXN1bHQgPSBURVNUX0ZBSUxFRDsKKyAgfQorICByZXR1cm4gdGVzdF9yZXN1bHQ7Cit9CisKK3N0YXRpYyB2b2lkIENvbGxlY3RDaGlsZFRlc3RSZXN1bHQoY29uc3QgQ2hpbGRQcm9jSW5mbyYgY2hpbGRfcHJvYywgVGVzdENhc2UmIHRlc3RjYXNlKSB7CisgIGludCB0ZXN0X2lkID0gY2hpbGRfcHJvYy50ZXN0X2lkOworICB0ZXN0Y2FzZS5TZXRUZXN0VGltZSh0ZXN0X2lkLCBjaGlsZF9wcm9jLmVuZF90aW1lX25zIC0gY2hpbGRfcHJvYy5zdGFydF90aW1lX25zKTsKKyAgaWYgKGNoaWxkX3Byb2MudGltZWRfb3V0KSB7CisgICAgLy8gVGhlIGNoaWxkIHByb2Nlc3MgbWFya2VkIGFzIHRpbWVkX291dCBoYXMgbm90IGV4aXRlZCwgYW5kIHdlIHNob3VsZCBraWxsIGl0IG1hbnVhbGx5LgorICAgIGtpbGwoY2hpbGRfcHJvYy5waWQsIFNJR0tJTEwpOworICAgIFdhaXRGb3JPbmVDaGlsZChjaGlsZF9wcm9jLnBpZCk7CisgIH0KKworICB3aGlsZSAodHJ1ZSkgeworICAgIGNoYXIgYnVmWzEwMjRdOworICAgIHNzaXplX3QgYnl0ZXNfcmVhZCA9IFRFTVBfRkFJTFVSRV9SRVRSWShyZWFkKGNoaWxkX3Byb2MuY2hpbGRfcmVhZF9mZCwgYnVmLCBzaXplb2YoYnVmKSAtIDEpKTsKKyAgICBpZiAoYnl0ZXNfcmVhZCA+IDApIHsKKyAgICAgIGJ1ZltieXRlc19yZWFkXSA9ICdcMCc7CisgICAgICB0ZXN0Y2FzZS5HZXRUZXN0KHRlc3RfaWQpLkFwcGVuZFRlc3RPdXRwdXQoYnVmKTsKKyAgICB9IGVsc2UgaWYgKGJ5dGVzX3JlYWQgPT0gMCkgeworICAgICAgYnJlYWs7IC8vIFJlYWQgZW5kLgorICAgIH0gZWxzZSB7CisgICAgICBpZiAoZXJybm8gPT0gRUFHQUlOKSB7CisgICAgICAgIC8vIE5vIGRhdGEgaXMgYXZhaWxhYmxlLiBUaGlzIHJhcmVseSBoYXBwZW5zLCBvbmx5IHdoZW4gdGhlIGNoaWxkIHByb2Nlc3MgY3JlYXRlZCBvdGhlcgorICAgICAgICAvLyBwcm9jZXNzZXMgd2hpY2ggaGF2ZSBub3QgZXhpdGVkIHNvIGZhci4gQnV0IHRoZSBjaGlsZCBwcm9jZXNzIGhhcyBhbHJlYWR5IGV4aXRlZCBvcgorICAgICAgICAvLyBiZWVuIGtpbGxlZCwgc28gdGhlIHRlc3QgaGFzIGZpbmlzaGVkLCBhbmQgd2Ugc2hvdWxkbid0IHdhaXQgZnVydGhlci4KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBwZXJyb3IoInJlYWQgY2hpbGRfcmVhZF9mZCBpbiBSdW5UZXN0SW5TZXBhcmF0ZVByb2MiKTsKKyAgICAgIGV4aXQoMSk7CisgICAgfQorICB9CisgIGNsb3NlKGNoaWxkX3Byb2MuY2hpbGRfcmVhZF9mZCk7CisKKyAgaWYgKGNoaWxkX3Byb2MudGltZWRfb3V0KSB7CisgICAgdGVzdGNhc2UuU2V0VGVzdFJlc3VsdCh0ZXN0X2lkLCBURVNUX1RJTUVPVVQpOworICAgIGNoYXIgYnVmWzEwMjRdOworICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcyBraWxsZWQgYmVjYXVzZSBvZiB0aW1lb3V0IGF0ICUiIFBSSWQ2NCAiIG1zLlxuIiwKKyAgICAgICAgICAgICB0ZXN0Y2FzZS5HZXRUZXN0TmFtZSh0ZXN0X2lkKS5jX3N0cigpLCB0ZXN0Y2FzZS5HZXRUZXN0VGltZSh0ZXN0X2lkKSAvIDEwMDAwMDApOworICAgIHRlc3RjYXNlLkdldFRlc3QodGVzdF9pZCkuQXBwZW5kVGVzdE91dHB1dChidWYpOworCisgIH0gZWxzZSBpZiAoV0lGU0lHTkFMRUQoY2hpbGRfcHJvYy5leGl0X3N0YXR1cykpIHsKKyAgICAvLyBSZWNvcmQgc2lnbmFsIHRlcm1pbmF0ZWQgdGVzdCBhcyBmYWlsZWQuCisgICAgdGVzdGNhc2UuU2V0VGVzdFJlc3VsdCh0ZXN0X2lkLCBURVNUX0ZBSUxFRCk7CisgICAgY2hhciBidWZbMTAyNF07CisgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVzIHRlcm1pbmF0ZWQgYnkgc2lnbmFsOiAlcy5cbiIsCisgICAgICAgICAgICAgdGVzdGNhc2UuR2V0VGVzdE5hbWUodGVzdF9pZCkuY19zdHIoKSwgc3Ryc2lnbmFsKFdURVJNU0lHKGNoaWxkX3Byb2MuZXhpdF9zdGF0dXMpKSk7CisgICAgdGVzdGNhc2UuR2V0VGVzdCh0ZXN0X2lkKS5BcHBlbmRUZXN0T3V0cHV0KGJ1Zik7CisKKyAgfSBlbHNlIHsKKyAgICB0ZXN0Y2FzZS5TZXRUZXN0UmVzdWx0KHRlc3RfaWQsIFdFWElUU1RBVFVTKGNoaWxkX3Byb2MuZXhpdF9zdGF0dXMpID09IDAgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgVEVTVF9TVUNDRVNTIDogVEVTVF9GQUlMRUQpOworICB9Cit9CisKKy8vIFdlIGNob29zZSB0byB1c2UgbXVsdGktZm9yayBhbmQgbXVsdGktd2FpdCBoZXJlIGluc3RlYWQgb2YgbXVsdGktdGhyZWFkLCBiZWNhdXNlIGl0IGFsd2F5cworLy8gbWFrZXMgZGVhZGxvY2sgdG8gdXNlIGZvcmsgaW4gbXVsdGktdGhyZWFkLgorLy8gUmV0dXJucyB0cnVlIGlmIGFsbCB0ZXN0cyBydW4gc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2UgcmV0dXJuIGZhbHNlLgorc3RhdGljIGJvb2wgUnVuVGVzdEluU2VwYXJhdGVQcm9jKGludCBhcmdjLCBjaGFyKiogYXJndiwgc3RkOjp2ZWN0b3I8VGVzdENhc2U+JiB0ZXN0Y2FzZV9saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpdGVyYXRpb25fY291bnQsIHNpemVfdCBqb2JfY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHhtbF9vdXRwdXRfZmlsZW5hbWUpIHsKKyAgLy8gU3RvcCBkZWZhdWx0IHJlc3VsdCBwcmludGVyIHRvIGF2b2lkIGVudmlyb25tZW50IHNldHVwL3RlYXJkb3duIGluZm9ybWF0aW9uIGZvciBlYWNoIHRlc3QuCisgIHRlc3Rpbmc6OlVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5saXN0ZW5lcnMoKS5SZWxlYXNlKAorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGluZzo6VW5pdFRlc3Q6OkdldEluc3RhbmNlKCktPmxpc3RlbmVycygpLmRlZmF1bHRfcmVzdWx0X3ByaW50ZXIoKSk7CisgIHRlc3Rpbmc6OlVuaXRUZXN0OjpHZXRJbnN0YW5jZSgpLT5saXN0ZW5lcnMoKS5BcHBlbmQobmV3IFRlc3RSZXN1bHRQcmludGVyKTsKKworICAvLyBTaWduYWxzIGFyZSBibG9ja2VkIGhlcmUgYXMgd2Ugd2FudCB0byBoYW5kbGUgdGhlbSBpbiBIYW5kbGVTaWduYWxzKCkgbGF0ZXIuCisgIHNpZ3NldF90IGJsb2NrX21hc2ssIG9yaWdfbWFzazsKKyAgc2lnZW1wdHlzZXQoJmJsb2NrX21hc2spOworICBzaWdhZGRzZXQoJmJsb2NrX21hc2ssIFNJR0lOVCk7CisgIHNpZ2FkZHNldCgmYmxvY2tfbWFzaywgU0lHUVVJVCk7CisgIGlmIChzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZibG9ja19tYXNrLCAmb3JpZ19tYXNrKSA9PSAtMSkgeworICAgIHBlcnJvcigic2lncHJvY21hc2sgU0lHX0JMT0NLIik7CisgICAgZXhpdCgxKTsKKyAgfQorCisgIGJvb2wgYWxsX3Rlc3RzX3Bhc3NlZCA9IHRydWU7CisKKyAgZm9yIChzaXplX3QgaXRlcmF0aW9uID0gMTsKKyAgICAgICBpdGVyYXRpb25fY291bnQgPCAwIHx8IGl0ZXJhdGlvbiA8PSBzdGF0aWNfY2FzdDxzaXplX3Q+KGl0ZXJhdGlvbl9jb3VudCk7CisgICAgICAgKytpdGVyYXRpb24pIHsKKyAgICBPblRlc3RJdGVyYXRpb25TdGFydFByaW50KHRlc3RjYXNlX2xpc3QsIGl0ZXJhdGlvbiwgaXRlcmF0aW9uX2NvdW50KTsKKyAgICBpbnQ2NF90IGl0ZXJhdGlvbl9zdGFydF90aW1lX25zID0gTmFub1RpbWUoKTsKKyAgICB0aW1lX3QgZXBvY2hfaXRlcmF0aW9uX3N0YXJ0X3RpbWUgPSB0aW1lKE5VTEwpOworCisgICAgLy8gUnVuIHVwIHRvIGpvYl9jb3VudCB0ZXN0cyBpbiBwYXJhbGxlbCwgZWFjaCB0ZXN0IGluIGEgY2hpbGQgcHJvY2Vzcy4KKyAgICBzdGQ6OnZlY3RvcjxDaGlsZFByb2NJbmZvPiBjaGlsZF9wcm9jX2xpc3Q7CisKKyAgICAvLyBOZXh0IHRlc3QgdG8gcnVuIGlzIFtuZXh0X3Rlc3RjYXNlX2lkOm5leHRfdGVzdF9pZF0uCisgICAgc2l6ZV90IG5leHRfdGVzdGNhc2VfaWQgPSAwOworICAgIHNpemVfdCBuZXh0X3Rlc3RfaWQgPSAwOworCisgICAgLy8gUmVjb3JkIGhvdyBtYW55IHRlc3RzIGFyZSBmaW5pc2hlZC4KKyAgICBzdGQ6OnZlY3RvcjxzaXplX3Q+IGZpbmlzaGVkX3Rlc3RfY291bnRfbGlzdCh0ZXN0Y2FzZV9saXN0LnNpemUoKSwgMCk7CisgICAgc2l6ZV90IGZpbmlzaGVkX3Rlc3RjYXNlX2NvdW50ID0gMDsKKworICAgIHdoaWxlIChmaW5pc2hlZF90ZXN0Y2FzZV9jb3VudCA8IHRlc3RjYXNlX2xpc3Quc2l6ZSgpKSB7CisgICAgICAvLyBydW4gdXAgdG8gam9iX2NvdW50IGNoaWxkIHByb2Nlc3Nlcy4KKyAgICAgIHdoaWxlIChjaGlsZF9wcm9jX2xpc3Quc2l6ZSgpIDwgam9iX2NvdW50ICYmIG5leHRfdGVzdGNhc2VfaWQgPCB0ZXN0Y2FzZV9saXN0LnNpemUoKSkgeworICAgICAgICBzdGQ6OnN0cmluZyB0ZXN0X25hbWUgPSB0ZXN0Y2FzZV9saXN0W25leHRfdGVzdGNhc2VfaWRdLkdldFRlc3ROYW1lKG5leHRfdGVzdF9pZCk7CisgICAgICAgIENoaWxkUHJvY0luZm8gY2hpbGRfcHJvYyA9IFJ1bkNoaWxkUHJvY2Vzcyh0ZXN0X25hbWUsIG5leHRfdGVzdGNhc2VfaWQsIG5leHRfdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdfbWFzaywgYXJnYywgYXJndik7CisgICAgICAgIGNoaWxkX3Byb2NfbGlzdC5wdXNoX2JhY2soY2hpbGRfcHJvYyk7CisgICAgICAgIGlmICgrK25leHRfdGVzdF9pZCA9PSB0ZXN0Y2FzZV9saXN0W25leHRfdGVzdGNhc2VfaWRdLlRlc3RDb3VudCgpKSB7CisgICAgICAgICAgbmV4dF90ZXN0X2lkID0gMDsKKyAgICAgICAgICArK25leHRfdGVzdGNhc2VfaWQ7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLy8gV2FpdCBmb3IgYW55IGNoaWxkIHByb2MgZmluaXNoIG9yIHRpbWVvdXQuCisgICAgICBXYWl0Q2hpbGRQcm9jcyh0ZXN0Y2FzZV9saXN0LCBjaGlsZF9wcm9jX2xpc3QpOworCisgICAgICAvLyBDb2xsZWN0IHJlc3VsdC4KKyAgICAgIGF1dG8gaXQgPSBjaGlsZF9wcm9jX2xpc3QuYmVnaW4oKTsKKyAgICAgIHdoaWxlIChpdCAhPSBjaGlsZF9wcm9jX2xpc3QuZW5kKCkpIHsKKyAgICAgICAgYXV0byYgY2hpbGRfcHJvYyA9ICppdDsKKyAgICAgICAgaWYgKGNoaWxkX3Byb2MuZmluaXNoZWQgPT0gdHJ1ZSkgeworICAgICAgICAgIHNpemVfdCB0ZXN0Y2FzZV9pZCA9IGNoaWxkX3Byb2MudGVzdGNhc2VfaWQ7CisgICAgICAgICAgc2l6ZV90IHRlc3RfaWQgPSBjaGlsZF9wcm9jLnRlc3RfaWQ7CisgICAgICAgICAgVGVzdENhc2UmIHRlc3RjYXNlID0gdGVzdGNhc2VfbGlzdFt0ZXN0Y2FzZV9pZF07CisKKyAgICAgICAgICBDb2xsZWN0Q2hpbGRUZXN0UmVzdWx0KGNoaWxkX3Byb2MsIHRlc3RjYXNlKTsKKyAgICAgICAgICBPblRlc3RFbmRQcmludCh0ZXN0Y2FzZSwgdGVzdF9pZCk7CisKKyAgICAgICAgICBpZiAoKytmaW5pc2hlZF90ZXN0X2NvdW50X2xpc3RbdGVzdGNhc2VfaWRdID09IHRlc3RjYXNlLlRlc3RDb3VudCgpKSB7CisgICAgICAgICAgICArK2ZpbmlzaGVkX3Rlc3RjYXNlX2NvdW50OworICAgICAgICAgIH0KKyAgICAgICAgICBpZiAodGVzdGNhc2UuR2V0VGVzdFJlc3VsdCh0ZXN0X2lkKSAhPSBURVNUX1NVQ0NFU1MpIHsKKyAgICAgICAgICAgIGFsbF90ZXN0c19wYXNzZWQgPSBmYWxzZTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpdCA9IGNoaWxkX3Byb2NfbGlzdC5lcmFzZShpdCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgKytpdDsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIGludDY0X3QgZWxhcHNlZF90aW1lX25zID0gTmFub1RpbWUoKSAtIGl0ZXJhdGlvbl9zdGFydF90aW1lX25zOworICAgIE9uVGVzdEl0ZXJhdGlvbkVuZFByaW50KHRlc3RjYXNlX2xpc3QsIGl0ZXJhdGlvbiwgZWxhcHNlZF90aW1lX25zKTsKKyAgICBpZiAoIXhtbF9vdXRwdXRfZmlsZW5hbWUuZW1wdHkoKSkgeworICAgICAgT25UZXN0SXRlcmF0aW9uRW5kWG1sUHJpbnQoeG1sX291dHB1dF9maWxlbmFtZSwgdGVzdGNhc2VfbGlzdCwgZXBvY2hfaXRlcmF0aW9uX3N0YXJ0X3RpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGFwc2VkX3RpbWVfbnMpOworICAgIH0KKyAgfQorCisgIC8vIFJlc3RvcmUgc2lnbmFsIG1hc2suCisgIGlmIChzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm9yaWdfbWFzaywgTlVMTCkgPT0gLTEpIHsKKyAgICBwZXJyb3IoInNpZ3Byb2NtYXNrIFNJR19TRVRNQVNLIik7CisgICAgZXhpdCgxKTsKKyAgfQorCisgIHJldHVybiBhbGxfdGVzdHNfcGFzc2VkOworfQorCitzdGF0aWMgc2l6ZV90IEdldFByb2Nlc3NvckNvdW50KCkgeworICByZXR1cm4gc3RhdGljX2Nhc3Q8c2l6ZV90PihzeXNjb25mKF9TQ19OUFJPQ0VTU09SU19PTkxOKSk7Cit9CisKK3N0YXRpYyB2b2lkIEFkZFBhdGhTZXBhcmF0b3JJblRlc3RQcm9ncmFtUGF0aChzdGQ6OnZlY3RvcjxjaGFyKj4mIGFyZ3MpIHsKKyAgLy8gVG8gcnVuIERlYXRoVGVzdCBpbiB0aHJlYWRzYWZlIG1vZGUsIGd0ZXN0IHJlcXVpcmVzIHRoYXQgdGhlIHVzZXIgbXVzdCBpbnZva2UgdGhlCisgIC8vIHRlc3QgcHJvZ3JhbSB2aWEgYSB2YWxpZCBwYXRoIHRoYXQgY29udGFpbnMgYXQgbGVhc3Qgb25lIHBhdGggc2VwYXJhdG9yLgorICAvLyBUaGUgcmVhc29uIGlzIHRoYXQgZ3Rlc3QgdXNlcyBjbG9uZSgpICsgZXhlY3ZlKCkgdG8gcnVuIERlYXRoVGVzdCBpbiB0aHJlYWRzYWZlIG1vZGUsCisgIC8vIGFuZCBleGVjdmUoKSBkb2Vzbid0IHJlYWQgZW52aXJvbm1lbnQgdmFyaWFibGUgUEFUSCwgc28gZXhlY3ZlKCkgd2lsbCBub3Qgc3VjY2VzcworICAvLyB1bnRpbCB3ZSBzcGVjaWZ5IHRoZSBhYnNvbHV0ZSBwYXRoIG9yIHJlbGF0aXZlIHBhdGggb2YgdGhlIHRlc3QgcHJvZ3JhbSBkaXJlY3RseS4KKyAgaWYgKHN0cmNocihhcmdzWzBdLCAnLycpID09IE5VTEwpIHsKKyAgICBjaGFyIHBhdGhbUEFUSF9NQVhdOworICAgIHNzaXplX3QgcGF0aF9sZW4gPSByZWFkbGluaygiL3Byb2Mvc2VsZi9leGUiLCBwYXRoLCBzaXplb2YocGF0aCkpOworICAgIGlmIChwYXRoX2xlbiA8PSAwIHx8IHBhdGhfbGVuID49IHN0YXRpY19jYXN0PHNzaXplX3Q+KHNpemVvZihwYXRoKSkpIHsKKyAgICAgIHBlcnJvcigicmVhZGxpbmsiKTsKKyAgICAgIGV4aXQoMSk7CisgICAgfQorICAgIHBhdGhbcGF0aF9sZW5dID0gJ1wwJzsKKyAgICBhcmdzWzBdID0gc3RyZHVwKHBhdGgpOworICB9Cit9CisKK3N0YXRpYyB2b2lkIEFkZEd0ZXN0RmlsdGVyU3lub255bShzdGQ6OnZlY3RvcjxjaGFyKj4mIGFyZ3MpIHsKKyAgLy8gU3VwcG9ydCAtLWd0ZXN0LWZpbHRlciBhcyBhIHN5bm9ueW0gZm9yIC0tZ3Rlc3RfZmlsdGVyLgorICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IGFyZ3Muc2l6ZSgpOyArK2kpIHsKKyAgICBpZiAoc3RybmNtcChhcmdzW2ldLCAiLS1ndGVzdC1maWx0ZXIiLCBzdHJsZW4oIi0tZ3Rlc3QtZmlsdGVyIikpID09IDApIHsKKyAgICAgIGFyZ3NbaV1bN10gPSAnXyc7CisgICAgfQorICB9Cit9CisKK3N0cnVjdCBJc29sYXRpb25UZXN0T3B0aW9ucyB7CisgIGJvb2wgaXNvbGF0ZTsKKyAgc2l6ZV90IGpvYl9jb3VudDsKKyAgaW50IHRlc3RfZGVhZGxpbmVfbXM7CisgIGludCB0ZXN0X3dhcm5saW5lX21zOworICBzdGQ6OnN0cmluZyBndGVzdF9jb2xvcjsKKyAgYm9vbCBndGVzdF9wcmludF90aW1lOworICBpbnQgZ3Rlc3RfcmVwZWF0OworICBzdGQ6OnN0cmluZyBndGVzdF9vdXRwdXQ7Cit9OworCisvLyBQaWNrIG9wdGlvbnMgbm90IGZvciBndGVzdDogVGhlcmUgYXJlIHR3byBwYXJ0cyBpbiBhcmdzLCBvbmUgcGFydCBpcyB1c2VkIGluIGlzb2xhdGlvbiB0ZXN0IG1vZGUKKy8vIGFzIGRlc2NyaWJlZCBpbiBQcmludEhlbHBJbmZvKCksIHRoZSBvdGhlciBwYXJ0IGlzIGhhbmRsZWQgYnkgdGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoKSBpbgorLy8gZ3Rlc3QuIFBpY2tPcHRpb25zKCkgcGlja3MgdGhlIGZpcnN0IHBhcnQgaW50byBJc29sYXRpb25UZXN0T3B0aW9ucyBzdHJ1Y3R1cmUsIGxlYXZpbmcgdGhlIHNlY29uZAorLy8gcGFydCBpbiBhcmdzLgorLy8gQXJndW1lbnRzOgorLy8gICBhcmdzIGlzIHVzZWQgdG8gcGFzcyBpbiBhbGwgY29tbWFuZCBhcmd1bWVudHMsIGFuZCBwYXNzIG91dCBvbmx5IHRoZSBwYXJ0IG9mIG9wdGlvbnMgZm9yIGd0ZXN0LgorLy8gICBvcHRpb25zIGlzIHVzZWQgdG8gcGFzcyBvdXQgdGVzdCBvcHRpb25zIGluIGlzb2xhdGlvbiBtb2RlLgorLy8gUmV0dXJuIGZhbHNlIGlmIHRoZXJlIGlzIGVycm9yIGluIGFyZ3VtZW50cy4KK3N0YXRpYyBib29sIFBpY2tPcHRpb25zKHN0ZDo6dmVjdG9yPGNoYXIqPiYgYXJncywgSXNvbGF0aW9uVGVzdE9wdGlvbnMmIG9wdGlvbnMpIHsKKyAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBhcmdzLnNpemUoKTsgKytpKSB7CisgICAgaWYgKHN0cmNtcChhcmdzW2ldLCAiLS1oZWxwIikgPT0gMCB8fCBzdHJjbXAoYXJnc1tpXSwgIi1oIikgPT0gMCkgeworICAgICAgUHJpbnRIZWxwSW5mbygpOworICAgICAgb3B0aW9ucy5pc29sYXRlID0gZmFsc2U7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKworICBBZGRQYXRoU2VwYXJhdG9ySW5UZXN0UHJvZ3JhbVBhdGgoYXJncyk7CisgIEFkZEd0ZXN0RmlsdGVyU3lub255bShhcmdzKTsKKworICAvLyBpZiAtLWJpb25pYy1zZWxmdGVzdCBhcmd1bWVudCBpcyB1c2VkLCBvbmx5IGVuYWJsZSBzZWxmIHRlc3RzLCBvdGhlcndpc2UgcmVtb3ZlIHNlbGYgdGVzdHMuCisgIGJvb2wgZW5hYmxlX3NlbGZ0ZXN0ID0gZmFsc2U7CisgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgYXJncy5zaXplKCk7ICsraSkgeworICAgIGlmIChzdHJjbXAoYXJnc1tpXSwgIi0tYmlvbmljLXNlbGZ0ZXN0IikgPT0gMCkgeworICAgICAgLy8gVGhpcyBhcmd1bWVudCBpcyB0byBlbmFibGUgImJpb25pY19zZWxmdGVzdCoiIGZvciBzZWxmIHRlc3QsIGFuZCBpcyBub3Qgc2hvd24gaW4gaGVscCBpbmZvLgorICAgICAgLy8gRG9uJ3QgcmVtb3ZlIHRoaXMgb3B0aW9uIGZyb20gYXJndW1lbnRzLgorICAgICAgZW5hYmxlX3NlbGZ0ZXN0ID0gdHJ1ZTsKKyAgICB9CisgIH0KKyAgc3RkOjpzdHJpbmcgZ3Rlc3RfZmlsdGVyX3N0cjsKKyAgZm9yIChzaXplX3QgaSA9IGFyZ3Muc2l6ZSgpIC0gMTsgaSA+PSAxOyAtLWkpIHsKKyAgICBpZiAoc3RybmNtcChhcmdzW2ldLCAiLS1ndGVzdF9maWx0ZXI9Iiwgc3RybGVuKCItLWd0ZXN0X2ZpbHRlcj0iKSkgPT0gMCkgeworICAgICAgZ3Rlc3RfZmlsdGVyX3N0ciA9IHN0ZDo6c3RyaW5nKGFyZ3NbaV0pOworICAgICAgYXJncy5lcmFzZShhcmdzLmJlZ2luKCkgKyBpKTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICBpZiAoZW5hYmxlX3NlbGZ0ZXN0ID09IHRydWUpIHsKKyAgICBhcmdzLnB1c2hfYmFjayhzdHJkdXAoIi0tZ3Rlc3RfZmlsdGVyPWJpb25pY19zZWxmdGVzdCoiKSk7CisgIH0gZWxzZSB7CisgICAgaWYgKGd0ZXN0X2ZpbHRlcl9zdHIgPT0gIiIpIHsKKyAgICAgIGd0ZXN0X2ZpbHRlcl9zdHIgPSAiLS1ndGVzdF9maWx0ZXI9LWJpb25pY19zZWxmdGVzdCoiOworICAgIH0gZWxzZSB7CisgICAgICAvLyBGaW5kIGlmICctJyBmb3IgTkVHQVRJVkVfUEFUVEVSTlMgZXhpc3RzLgorICAgICAgaWYgKGd0ZXN0X2ZpbHRlcl9zdHIuZmluZCgiOi0iKSAhPSBzdGQ6OnN0cmluZzo6bnBvcykgeworICAgICAgICBndGVzdF9maWx0ZXJfc3RyICs9ICI6YmlvbmljX3NlbGZ0ZXN0KiI7CisgICAgICB9IGVsc2UgeworICAgICAgICBndGVzdF9maWx0ZXJfc3RyICs9ICI6LWJpb25pY19zZWxmdGVzdCoiOworICAgICAgfQorICAgIH0KKyAgICBhcmdzLnB1c2hfYmFjayhzdHJkdXAoZ3Rlc3RfZmlsdGVyX3N0ci5jX3N0cigpKSk7CisgIH0KKworICBvcHRpb25zLmlzb2xhdGUgPSB0cnVlOworICAvLyBQYXJzZSBhcmd1bWVudHMgdGhhdCBtYWtlIHVzIGNhbid0IHJ1biBpbiBpc29sYXRpb24gbW9kZS4KKyAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBhcmdzLnNpemUoKTsgKytpKSB7CisgICAgaWYgKHN0cmNtcChhcmdzW2ldLCAiLS1uby1pc29sYXRlIikgPT0gMCkgeworICAgICAgb3B0aW9ucy5pc29sYXRlID0gZmFsc2U7CisgICAgfSBlbHNlIGlmIChzdHJjbXAoYXJnc1tpXSwgIi0tZ3Rlc3RfbGlzdF90ZXN0cyIpID09IDApIHsKKyAgICAgIG9wdGlvbnMuaXNvbGF0ZSA9IGZhbHNlOworICAgIH0KKyAgfQorCisgIC8vIFN0b3AgcGFyc2luZyBpZiB3ZSB3aWxsIG5vdCBydW4gaW4gaXNvbGF0aW9uIG1vZGUuCisgIGlmIChvcHRpb25zLmlzb2xhdGUgPT0gZmFsc2UpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIC8vIEluaXQgZGVmYXVsdCBpc29sYXRpb24gdGVzdCBvcHRpb25zLgorICBvcHRpb25zLmpvYl9jb3VudCA9IEdldFByb2Nlc3NvckNvdW50KCk7CisgIG9wdGlvbnMudGVzdF9kZWFkbGluZV9tcyA9IERFRkFVTFRfR0xPQkFMX1RFU1RfUlVOX0RFQURMSU5FX01TOworICBvcHRpb25zLnRlc3Rfd2FybmxpbmVfbXMgPSBERUZBVUxUX0dMT0JBTF9URVNUX1JVTl9XQVJOTElORV9NUzsKKyAgb3B0aW9ucy5ndGVzdF9jb2xvciA9IHRlc3Rpbmc6OkdURVNUX0ZMQUcoY29sb3IpOworICBvcHRpb25zLmd0ZXN0X3ByaW50X3RpbWUgPSB0ZXN0aW5nOjpHVEVTVF9GTEFHKHByaW50X3RpbWUpOworICBvcHRpb25zLmd0ZXN0X3JlcGVhdCA9IHRlc3Rpbmc6OkdURVNUX0ZMQUcocmVwZWF0KTsKKyAgb3B0aW9ucy5ndGVzdF9vdXRwdXQgPSB0ZXN0aW5nOjpHVEVTVF9GTEFHKG91dHB1dCk7CisKKyAgLy8gUGFyc2UgYXJndW1lbnRzIHNwZWZpY2llZCBmb3IgaXNvbGF0aW9uIG1vZGUuCisgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgYXJncy5zaXplKCk7ICsraSkgeworICAgIGlmIChzdHJuY21wKGFyZ3NbaV0sICItaiIsIHN0cmxlbigiLWoiKSkgPT0gMCkgeworICAgICAgY2hhciogcCA9IGFyZ3NbaV0gKyBzdHJsZW4oIi1qIik7CisgICAgICBpbnQgY291bnQgPSAwOworICAgICAgaWYgKCpwICE9ICdcMCcpIHsKKyAgICAgICAgLy8gQXJndW1lbnQgbGlrZSAtajUuCisgICAgICAgIGNvdW50ID0gYXRvaShwKTsKKyAgICAgIH0gZWxzZSBpZiAoYXJncy5zaXplKCkgPiBpICsgMSkgeworICAgICAgICAvLyBBcmd1bWVudHMgbGlrZSAtaiA1LgorICAgICAgICBjb3VudCA9IGF0b2koYXJnc1tpICsgMV0pOworICAgICAgICArK2k7CisgICAgICB9CisgICAgICBpZiAoY291bnQgPD0gMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgam9iIGNvdW50OiAlZFxuIiwgY291bnQpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisgICAgICBvcHRpb25zLmpvYl9jb3VudCA9IHN0YXRpY19jYXN0PHNpemVfdD4oY291bnQpOworICAgIH0gZWxzZSBpZiAoc3RybmNtcChhcmdzW2ldLCAiLS1kZWFkbGluZT0iLCBzdHJsZW4oIi0tZGVhZGxpbmU9IikpID09IDApIHsKKyAgICAgIGludCB0aW1lX21zID0gYXRvaShhcmdzW2ldICsgc3RybGVuKCItLWRlYWRsaW5lPSIpKTsKKyAgICAgIGlmICh0aW1lX21zIDw9IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJpbnZhbGlkIGRlYWRsaW5lOiAlZFxuIiwgdGltZV9tcyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICAgIG9wdGlvbnMudGVzdF9kZWFkbGluZV9tcyA9IHRpbWVfbXM7CisgICAgfSBlbHNlIGlmIChzdHJuY21wKGFyZ3NbaV0sICItLXdhcm5saW5lPSIsIHN0cmxlbigiLS13YXJubGluZT0iKSkgPT0gMCkgeworICAgICAgaW50IHRpbWVfbXMgPSBhdG9pKGFyZ3NbaV0gKyBzdHJsZW4oIi0td2FybmxpbmU9IikpOworICAgICAgaWYgKHRpbWVfbXMgPD0gMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgd2FybmxpbmU6ICVkXG4iLCB0aW1lX21zKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgICAgb3B0aW9ucy50ZXN0X3dhcm5saW5lX21zID0gdGltZV9tczsKKyAgICB9IGVsc2UgaWYgKHN0cm5jbXAoYXJnc1tpXSwgIi0tZ3Rlc3RfY29sb3I9Iiwgc3RybGVuKCItLWd0ZXN0X2NvbG9yPSIpKSA9PSAwKSB7CisgICAgICBvcHRpb25zLmd0ZXN0X2NvbG9yID0gYXJnc1tpXSArIHN0cmxlbigiLS1ndGVzdF9jb2xvcj0iKTsKKyAgICB9IGVsc2UgaWYgKHN0cmNtcChhcmdzW2ldLCAiLS1ndGVzdF9wcmludF90aW1lPTAiKSA9PSAwKSB7CisgICAgICBvcHRpb25zLmd0ZXN0X3ByaW50X3RpbWUgPSBmYWxzZTsKKyAgICB9IGVsc2UgaWYgKHN0cm5jbXAoYXJnc1tpXSwgIi0tZ3Rlc3RfcmVwZWF0PSIsIHN0cmxlbigiLS1ndGVzdF9yZXBlYXQ9IikpID09IDApIHsKKyAgICAgIC8vIElmIHRoZSB2YWx1ZSBvZiBndGVzdF9yZXBlYXQgaXMgPCAwLCB0aGVuIGl0IGluZGljYXRlcyB0aGUgdGVzdHMKKyAgICAgIC8vIHNob3VsZCBiZSByZXBlYXRlZCBmb3JldmVyLgorICAgICAgb3B0aW9ucy5ndGVzdF9yZXBlYXQgPSBhdG9pKGFyZ3NbaV0gKyBzdHJsZW4oIi0tZ3Rlc3RfcmVwZWF0PSIpKTsKKyAgICAgIC8vIFJlbW92ZSAtLWd0ZXN0X3JlcGVhdD14eCBmcm9tIGFyZ3VtZW50cywgc28gY2hpbGQgcHJvY2VzcyBvbmx5IHJ1biBvbmUgaXRlcmF0aW9uIGZvciBhIHNpbmdsZSB0ZXN0LgorICAgICAgYXJncy5lcmFzZShhcmdzLmJlZ2luKCkgKyBpKTsKKyAgICAgIC0taTsKKyAgICB9IGVsc2UgaWYgKHN0cm5jbXAoYXJnc1tpXSwgIi0tZ3Rlc3Rfb3V0cHV0PSIsIHN0cmxlbigiLS1ndGVzdF9vdXRwdXQ9IikpID09IDApIHsKKyAgICAgIHN0ZDo6c3RyaW5nIG91dHB1dCA9IGFyZ3NbaV0gKyBzdHJsZW4oIi0tZ3Rlc3Rfb3V0cHV0PSIpOworICAgICAgLy8gZ2VuZXJhdGUgb3V0cHV0IHhtbCBmaWxlIHBhdGggYWNjb3JkaW5nIHRvIHRoZSBzdHJhdGVneSBpbiBndGVzdC4KKyAgICAgIGJvb2wgc3VjY2VzcyA9IHRydWU7CisgICAgICBpZiAoc3RybmNtcChvdXRwdXQuY19zdHIoKSwgInhtbDoiLCBzdHJsZW4oInhtbDoiKSkgPT0gMCkgeworICAgICAgICBvdXRwdXQgPSBvdXRwdXQuc3Vic3RyKHN0cmxlbigieG1sOiIpKTsKKyAgICAgICAgaWYgKG91dHB1dC5zaXplKCkgPT0gMCkgeworICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICAvLyBNYWtlIGFic29sdXRlIHBhdGguCisgICAgICAgIGlmIChzdWNjZXNzICYmIG91dHB1dFswXSAhPSAnLycpIHsKKyAgICAgICAgICBjaGFyKiBjd2QgPSBnZXRjd2QoTlVMTCwgMCk7CisgICAgICAgICAgaWYgKGN3ZCAhPSBOVUxMKSB7CisgICAgICAgICAgICBvdXRwdXQgPSBzdGQ6OnN0cmluZyhjd2QpICsgIi8iICsgb3V0cHV0OworICAgICAgICAgICAgZnJlZShjd2QpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIC8vIEFkZCBmaWxlIG5hbWUgaWYgb3V0cHV0IGlzIGEgZGlyZWN0b3J5LgorICAgICAgICBpZiAoc3VjY2VzcyAmJiBvdXRwdXQuYmFjaygpID09ICcvJykgeworICAgICAgICAgIG91dHB1dCArPSAidGVzdF9kZXRhaWxzLnhtbCI7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGlmIChzdWNjZXNzKSB7CisgICAgICAgIG9wdGlvbnMuZ3Rlc3Rfb3V0cHV0ID0gb3V0cHV0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJpbnZhbGlkIGd0ZXN0X291dHB1dCBmaWxlOiAlc1xuIiwgYXJnc1tpXSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKworICAgICAgLy8gUmVtb3ZlIC0tZ3Rlc3Rfb3V0cHV0PXh4eCBmcm9tIGFyZ3VtZW50cywgc28gY2hpbGQgcHJvY2VzcyB3aWxsIG5vdCB3cml0ZSB4bWwgZmlsZS4KKyAgICAgIGFyZ3MuZXJhc2UoYXJncy5iZWdpbigpICsgaSk7CisgICAgICAtLWk7CisgICAgfQorICB9CisKKyAgLy8gQWRkIC0tbm8taXNvbGF0ZSBpbiBhcmdzIHRvIHByZXZlbnQgY2hpbGQgcHJvY2VzcyBmcm9tIHJ1bm5pbmcgaW4gaXNvbGF0aW9uIG1vZGUgYWdhaW4uCisgIC8vIEFzIERlYXRoVGVzdCB3aWxsIHRyeSB0byBjYWxsIGV4ZWN2ZSgpLCB0aGlzIGFyZ3VtZW50IHNob3VsZCBhbHdheXMgYmUgYWRkZWQuCisgIGFyZ3MuaW5zZXJ0KGFyZ3MuYmVnaW4oKSArIDEsIHN0cmR1cCgiLS1uby1pc29sYXRlIikpOworICByZXR1cm4gdHJ1ZTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KSB7CisgIHN0ZDo6dmVjdG9yPGNoYXIqPiBhcmdfbGlzdDsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyArK2kpIHsKKyAgICBhcmdfbGlzdC5wdXNoX2JhY2soYXJndltpXSk7CisgIH0KKworICBJc29sYXRpb25UZXN0T3B0aW9ucyBvcHRpb25zOworICBpZiAoUGlja09wdGlvbnMoYXJnX2xpc3QsIG9wdGlvbnMpID09IGZhbHNlKSB7CisgICAgcmV0dXJuIDE7CisgIH0KKworICBpZiAob3B0aW9ucy5pc29sYXRlID09IHRydWUpIHsKKyAgICAvLyBTZXQgZ2xvYmFsIHZhcmlhYmxlcy4KKyAgICBnbG9iYWxfdGVzdF9ydW5fZGVhZGxpbmVfbXMgPSBvcHRpb25zLnRlc3RfZGVhZGxpbmVfbXM7CisgICAgZ2xvYmFsX3Rlc3RfcnVuX3dhcm5saW5lX21zID0gb3B0aW9ucy50ZXN0X3dhcm5saW5lX21zOworICAgIHRlc3Rpbmc6OkdURVNUX0ZMQUcoY29sb3IpID0gb3B0aW9ucy5ndGVzdF9jb2xvci5jX3N0cigpOworICAgIHRlc3Rpbmc6OkdURVNUX0ZMQUcocHJpbnRfdGltZSkgPSBvcHRpb25zLmd0ZXN0X3ByaW50X3RpbWU7CisgICAgc3RkOjp2ZWN0b3I8VGVzdENhc2U+IHRlc3RjYXNlX2xpc3Q7CisKKyAgICBhcmdjID0gc3RhdGljX2Nhc3Q8aW50PihhcmdfbGlzdC5zaXplKCkpOworICAgIGFyZ19saXN0LnB1c2hfYmFjayhOVUxMKTsKKyAgICBpZiAoRW51bWVyYXRlVGVzdHMoYXJnYywgYXJnX2xpc3QuZGF0YSgpLCB0ZXN0Y2FzZV9saXN0KSA9PSBmYWxzZSkgeworICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGJvb2wgYWxsX3Rlc3RfcGFzc2VkID0gIFJ1blRlc3RJblNlcGFyYXRlUHJvYyhhcmdjLCBhcmdfbGlzdC5kYXRhKCksIHRlc3RjYXNlX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmd0ZXN0X3JlcGVhdCwgb3B0aW9ucy5qb2JfY291bnQsIG9wdGlvbnMuZ3Rlc3Rfb3V0cHV0KTsKKyAgICByZXR1cm4gYWxsX3Rlc3RfcGFzc2VkID8gMCA6IDE7CisgIH0gZWxzZSB7CisgICAgYXJnYyA9IHN0YXRpY19jYXN0PGludD4oYXJnX2xpc3Quc2l6ZSgpKTsKKyAgICBhcmdfbGlzdC5wdXNoX2JhY2soTlVMTCk7CisgICAgdGVzdGluZzo6SW5pdEdvb2dsZVRlc3QoJmFyZ2MsIGFyZ19saXN0LmRhdGEoKSk7CisgICAgcmV0dXJuIFJVTl9BTExfVEVTVFMoKTsKKyAgfQorfQorCisvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisvLyBCaW9uaWMgR3Rlc3Qgc2VsZiB0ZXN0LCBydW4gdGhpcyBieSAtLWJpb25pYy1zZWxmdGVzdCBvcHRpb24uCisKK1RFU1QoYmlvbmljX3NlbGZ0ZXN0LCB0ZXN0X3N1Y2Nlc3MpIHsKKyAgQVNTRVJUX0VRKDEsIDEpOworfQorCitURVNUKGJpb25pY19zZWxmdGVzdCwgdGVzdF9mYWlsKSB7CisgIEFTU0VSVF9FUSgwLCAxKTsKK30KKworVEVTVChiaW9uaWNfc2VsZnRlc3QsIHRlc3RfdGltZV93YXJuKSB7CisgIHNsZWVwKDQpOworfQorCitURVNUKGJpb25pY19zZWxmdGVzdCwgdGVzdF90aW1lb3V0KSB7CisgIHdoaWxlICgxKSB7fQorfQorCitURVNUKGJpb25pY19zZWxmdGVzdCwgdGVzdF9zaWduYWxfU0VHVl90ZXJtaW5hdGVkKSB7CisgIGNoYXIqIHAgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihzdGF0aWNfY2FzdDxpbnRwdHJfdD4oYXRvaSgiMCIpKSk7CisgICpwID0gMzsKK30KKworY2xhc3MgYmlvbmljX3NlbGZ0ZXN0X0RlYXRoVGVzdCA6IHB1YmxpYyBCaW9uaWNEZWF0aFRlc3Qge307CisKK3N0YXRpYyB2b2lkIGRlYXRodGVzdF9oZWxwZXJfc3VjY2VzcygpIHsKKyAgQVNTRVJUX0VRKDEsIDEpOworICBleGl0KDApOworfQorCitURVNUX0YoYmlvbmljX3NlbGZ0ZXN0X0RlYXRoVGVzdCwgc3VjY2VzcykgeworICBBU1NFUlRfRVhJVChkZWF0aHRlc3RfaGVscGVyX3N1Y2Nlc3MoKSwgOjp0ZXN0aW5nOjpFeGl0ZWRXaXRoQ29kZSgwKSwgIiIpOworfQorCitzdGF0aWMgdm9pZCBkZWF0aHRlc3RfaGVscGVyX2ZhaWwoKSB7CisgIEFTU0VSVF9FUSgxLCAwKTsKK30KKworVEVTVF9GKGJpb25pY19zZWxmdGVzdF9EZWF0aFRlc3QsIGZhaWwpIHsKKyAgQVNTRVJUX0VYSVQoZGVhdGh0ZXN0X2hlbHBlcl9mYWlsKCksIDo6dGVzdGluZzo6RXhpdGVkV2l0aENvZGUoMCksICIiKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2ludHR5cGVzX3Rlc3QuY3BwIGIvdGVzdHMvaW50dHlwZXNfdGVzdC5jcHAKaW5kZXggZTU4ODUwMy4uZGJiYjZkNCAxMDA2NDQKLS0tIGEvdGVzdHMvaW50dHlwZXNfdGVzdC5jcHAKKysrIGIvdGVzdHMvaW50dHlwZXNfdGVzdC5jcHAKQEAgLTE0LDExICsxNCwxMiBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgKi8KIAotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKwogVEVTVChpbnR0eXBlcywgbWlzYykgewogICBjaGFyIGJ1Zls1MTJdOwogCkBAIC00NiwzICs0Nyw1MSBAQAogVEVTVChpbnR0eXBlcywgd2NzdG91bWF4KSB7CiAgIEFTU0VSVF9FUSgxMjNVLCB3Y3N0b3VtYXgoTCIxMjMiLCBOVUxMLCAxMCkpOwogfQorCitURVNUKGludHR5cGVzLCBzdHJ0b2ltYXhfRUlOVkFMKSB7CisgIGVycm5vID0gMDsKKyAgc3RydG9pbWF4KCIxMjMiLCBOVUxMLCAtMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICBzdHJ0b2ltYXgoIjEyMyIsIE5VTEwsIDEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgc3RydG9pbWF4KCIxMjMiLCBOVUxMLCAzNyk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKK30KKworVEVTVChpbnR0eXBlcywgc3RydG91bWF4X0VJTlZBTCkgeworICBlcnJubyA9IDA7CisgIHN0cnRvdW1heCgiMTIzIiwgTlVMTCwgLTEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgc3RydG91bWF4KCIxMjMiLCBOVUxMLCAxKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHN0cnRvdW1heCgiMTIzIiwgTlVMTCwgMzcpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7Cit9CisKK1RFU1QoaW50dHlwZXMsIHdjc3RvaW1heF9FSU5WQUwpIHsKKyAgZXJybm8gPSAwOworICB3Y3N0b2ltYXgoTCIxMjMiLCBOVUxMLCAtMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b2ltYXgoTCIxMjMiLCBOVUxMLCAxKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHdjc3RvaW1heChMIjEyMyIsIE5VTEwsIDM3KTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKGludHR5cGVzLCB3Y3N0b3VtYXhfRUlOVkFMKSB7CisgIGVycm5vID0gMDsKKyAgd2NzdG91bWF4KEwiMTIzIiwgTlVMTCwgLTEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgd2NzdG91bWF4KEwiMTIzIiwgTlVMTCwgMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b3VtYXgoTCIxMjMiLCBOVUxMLCAzNyk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYmNfbG9nZ2luZ190ZXN0LmNwcCBiL3Rlc3RzL2xpYmNfbG9nZ2luZ190ZXN0LmNwcAppbmRleCA5NTAxNjFlLi5kNGNlZGVkIDEwMDY0NAotLS0gYS90ZXN0cy9saWJjX2xvZ2dpbmdfdGVzdC5jcHAKKysrIGIvdGVzdHMvbGliY19sb2dnaW5nX3Rlc3QuY3BwCkBAIC0xNzYsMyArMTc2LDE1IEBACiAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwogI2VuZGlmIC8vIF9fQklPTklDX18KIH0KKworVEVTVChsaWJjX2xvZ2dpbmcsIGJ1ZmZlcl9vdmVycnVuKSB7CisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorICBjaGFyIGJ1ZltCVUZTSVpdOworICBBU1NFUlRfRVEoMTEsIF9fbGliY19mb3JtYXRfYnVmZmVyKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJoZWxsbyAlcyIsICJ3b3JsZCIpKTsKKyAgRVhQRUNUX1NUUkVRKCJoZWxsbyB3b3JsZCIsIGJ1Zik7CisgIEFTU0VSVF9FUSgxMSwgX19saWJjX2Zvcm1hdF9idWZmZXIoYnVmLCA4LCAiaGVsbG8gJXMiLCAid29ybGQiKSk7CisgIEVYUEVDVF9TVFJFUSgiaGVsbG8gdyIsIGJ1Zik7CisjZWxzZSAvLyBfX0JJT05JQ19fCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOworI2VuZGlmIC8vIF9fQklPTklDX18KK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYmdlbl90ZXN0LmNwcCBiL3Rlc3RzL2xpYmdlbl90ZXN0LmNwcAppbmRleCAzOTU4ZjgxLi5lOWE1ZDVjIDEwMDY0NAotLS0gYS90ZXN0cy9saWJnZW5fdGVzdC5jcHAKKysrIGIvdGVzdHMvbGliZ2VuX3Rlc3QuY3BwCkBAIC0xNCwxMSArMTQsMTAgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKLSNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgotCiAjaW5jbHVkZSA8bGliZ2VuLmg+CiAKICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIHN0YXRpYyB2b2lkIFRlc3RCYXNlbmFtZShjb25zdCBjaGFyKiBpbiwgY29uc3QgY2hhciogZXhwZWN0ZWRfb3V0KSB7CiAgIGNoYXIqIHdyaXRhYmxlX2luID0gKGluICE9IE5VTEwpID8gc3RyZHVwKGluKSA6IE5VTEw7CkBAIC00MCw3ICszOSw3IEBACiAKIC8vIERvIG5vdCB1c2UgYmFzZW5hbWUgYXMgdGhlIHRlc3QgbmFtZSwgaXQncyBkZWZpbmVkIHRvIGFub3RoZXIgdmFsdWUgaW4gZ2xpYmMKIC8vIHNvIGxlYWRzIHRvIGEgZGlmZmVyZW50bHkgbmFtZWQgdGVzdCBvbiBob3N0IHZlcnN1cyB0YXJnZXQgYXJjaGl0ZWN0dXJlcy4KLVRFU1QobGliZ2VuLCBiYXNlbmFtZV9zbW9rZSkgeworVEVTVChsaWJnZW4sIHBvc2l4X2Jhc2VuYW1lKSB7CiAgIFRlc3RCYXNlbmFtZShOVUxMLCAiLiIpOwogICBUZXN0QmFzZW5hbWUoIiIsICIuIik7CiAgIFRlc3RCYXNlbmFtZSgiL3Vzci9saWIiLCAibGliIik7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQuZGxleHRfdGVzdHppcC5tayBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5kbGV4dF90ZXN0emlwLm1rCmluZGV4IGQwNTkyN2UuLjdjYzBkYWUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5kbGV4dF90ZXN0emlwLm1rCisrKyBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5kbGV4dF90ZXN0emlwLm1rCkBAIC0zNSw3ICszNSw3IEBACiAkKExPQ0FMX0JVSUxUX01PRFVMRSk6IFBSSVZBVEVfQUxJR05NRU5UIDo9IDQwOTYgIyBQQUdFX1NJWkUKICQoTE9DQUxfQlVJTFRfTU9EVUxFKSA6ICQobXlfc2hhcmVkX2xpYnMpIHwgJChaSVBBTElHTikKIAlAZWNobyAiWmlwYWxpZ24gJChQUklWQVRFX0FMSUdOTUVOVCk6ICRAIgotCSQoaGlkZSkgcm0gLXJmICQoZGlyICRAKSAmJiBta2RpciAtcCAkKGRpciAkQCkKLQkkKGhpZGUpIGNwICReICQoZGlyICRAKQotCSQoaGlkZSkgKGNkICQoZGlyICRAKSAmJiB0b3VjaCBlbXB0eV9maWxlLnR4dCAmJiB6aXAgLXJEMCAkKG5vdGRpciAkQCkudW5hbGlnbmVkIGVtcHR5X2ZpbGUudHh0ICouc28pCisJJChoaWRlKSBybSAtcmYgJChkaXIgJEApICYmIG1rZGlyIC1wICQoZGlyICRAKS9saWJkaXIKKwkkKGhpZGUpIGNwICReICQoZGlyICRAKS9saWJkaXIKKwkkKGhpZGUpIChjZCAkKGRpciAkQCkgJiYgdG91Y2ggZW1wdHlfZmlsZS50eHQgJiYgemlwIC1yRDAgJChub3RkaXIgJEApLnVuYWxpZ25lZCBlbXB0eV9maWxlLnR4dCBsaWJkaXIvKi5zbykKIAkkKGhpZGUpICQoWklQQUxJR04pICQoUFJJVkFURV9BTElHTk1FTlQpICRALnVuYWxpZ25lZCAkQApkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9BbmRyb2lkLmJ1aWxkLmRsb3Blbl8yX3BhcmVudHNfcmVsb2MubWsgYi90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQuZGxvcGVuXzJfcGFyZW50c19yZWxvYy5tawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWFlMTBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9BbmRyb2lkLmJ1aWxkLmRsb3Blbl8yX3BhcmVudHNfcmVsb2MubWsKQEAgLTAsMCArMSw1MiBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMaWJyYXJpZXMgdXNlZCBieSBkbGZjbiB0ZXN0cyB0byB2ZXJpZnkgbG9jYWwgZ3JvdXAgcmVmX2NvdW50aW5nCisjIGxpYnRlc3RfdHdvX3BhcmVudHMqLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgLi4uX2NoaWxkLnNvIC0gY29ycmVjdCBhbnN3ZXIKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfdHdvX3BhcmVudHNfY2hpbGRfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fMl9wYXJlbnRzX3JlbG9jX2Fuc3dlci5jcHAKKworbW9kdWxlIDo9IGxpYnRlc3RfdHdvX3BhcmVudHNfY2hpbGQKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAuLi5fcGFyZW50MS5zbyAtIGNvcnJlY3QgYW5zd2VyCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X3R3b19wYXJlbnRzX3BhcmVudDFfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyX2ltcGwuY3BwCisKK2xpYnRlc3RfdHdvX3BhcmVudHNfcGFyZW50MV9zaGFyZWRfbGlicmFyaWVzIDo9IGxpYnRlc3RfdHdvX3BhcmVudHNfY2hpbGQKK2xpYnRlc3RfdHdvX3BhcmVudHNfcGFyZW50MV9jZmxhZ3MgOj0gLURfX0FOU1dFUj00MgorbW9kdWxlIDo9IGxpYnRlc3RfdHdvX3BhcmVudHNfcGFyZW50MQoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIC4uLl9wYXJlbnQyLnNvIC0gaW5jb3JyZWN0IGFuc3dlcgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF90d29fcGFyZW50c19wYXJlbnQyX3NyY19maWxlcyA6PSBcCisgICAgZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX2Fuc3dlcl9pbXBsLmNwcAorCitsaWJ0ZXN0X3R3b19wYXJlbnRzX3BhcmVudDJfc2hhcmVkX2xpYnJhcmllcyA6PSBsaWJ0ZXN0X3R3b19wYXJlbnRzX2NoaWxkCitsaWJ0ZXN0X3R3b19wYXJlbnRzX3BhcmVudDJfY2ZsYWdzIDo9IC1EX19BTlNXRVI9MQorbW9kdWxlIDo9IGxpYnRlc3RfdHdvX3BhcmVudHNfcGFyZW50MgoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQuZGxvcGVuX2NoZWNrX29yZGVyX2Rsc3ltLm1rIGIvdGVzdHMvbGlicy9BbmRyb2lkLmJ1aWxkLmRsb3Blbl9jaGVja19vcmRlcl9kbHN5bS5tawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2Q4YzFhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9BbmRyb2lkLmJ1aWxkLmRsb3Blbl9jaGVja19vcmRlcl9kbHN5bS5tawpAQCAtMCwwICsxLDkwIEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMiBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIExpYnJhcmllcyB1c2VkIGJ5IGRsZmNuIHRlc3RzIHRvIHZlcmlmeSBjb3JyZWN0IGxvYWQgb3JkZXI6CisjIGxpYnRlc3RfY2hlY2tfb3JkZXJfMl9yaWdodC5zbworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8yX3JpZ2h0X3NyY19maWxlcyA6PSBcCisgICAgZGxvcGVuX2NoZWNrX29yZGVyX2Rsc3ltX2Fuc3dlci5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8yX3JpZ2h0X2NmbGFncyA6PSAtRF9fQU5TV0VSPTQyCittb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8yX3JpZ2h0CitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbGlidGVzdF9jaGVja19vcmRlcl9hLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltX2Ffc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfZGxzeW1fYW5zd2VyLmNwcAorCitsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltX2FfY2ZsYWdzIDo9IC1EX19BTlNXRVI9MQorbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fYQoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxpYnRlc3RfY2hlY2tfb3JkZXJfYi5zbworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV9iX3NyY19maWxlcyA6PSBcCisgICAgZGxvcGVuX2NoZWNrX29yZGVyX2Rsc3ltX2Fuc3dlci5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV9iX2NmbGFncyA6PSAtRF9fQU5TV0VSPTIgLURfX0FOU1dFUjI9NDMKK21vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltX2IKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Muc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fM19jX3NyY19maWxlcyA6PSBcCisgICAgZGxvcGVuX2NoZWNrX29yZGVyX2Rsc3ltX2Fuc3dlci5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8zX2NfY2ZsYWdzIDo9IC1EX19BTlNXRVI9MworbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fM19jCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbGlidGVzdF9jaGVja19vcmRlcl9kLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltX2Rfc3JjX2ZpbGVzIDo9IFwKKyAgIGRsb3Blbl9jaGVja19vcmRlcl9kbHN5bV9hbnN3ZXIuY3BwCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fZF9zaGFyZWRfbGlicmFyaWVzIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fYgorbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV9kX2NmbGFncyA6PSAtRF9fQU5TV0VSPTQgLURfX0FOU1dFUjI9NAorbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fZAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxpYnRlc3RfY2hlY2tfb3JkZXJfbGVmdC5zbworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8xX2xlZnRfc3JjX2ZpbGVzIDo9IFwKKyAgICBlbXB0eS5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8xX2xlZnRfc2hhcmVkX2xpYnJhcmllcyA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltX2EgbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV9iCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltXzFfbGVmdAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxpYnRlc3RfY2hlY2tfb3JkZXIuc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fc3JjX2ZpbGVzIDo9IFwKKyAgICBlbXB0eS5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV9zaGFyZWRfbGlicmFyaWVzIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fMV9sZWZ0IFwKKyAgbGlidGVzdF9jaGVja19vcmRlcl9kbHN5bV8yX3JpZ2h0IGxpYnRlc3RfY2hlY2tfb3JkZXJfZGxzeW1fM19jCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQuZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX21haW5fZXhlY3V0YWJsZS5tayBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfbWFpbl9leGVjdXRhYmxlLm1rCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzOTY5NmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQuZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX21haW5fZXhlY3V0YWJsZS5tawpAQCAtMCwwICsxLDU2IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMiBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIExpYnJhcmllcyB1c2VkIGJ5IGRsZmNuIHRlc3RzIHRvIHZlcmlmeSBjb3JyZWN0IHJlbG9jYXRpb24gb3JkZXI6CisjIGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdCouc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIC4uLl8xLnNvIC0gZW1wdHkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF8xX3NyY19maWxlcyA6PSBcCisgICAgZW1wdHkuY3BwCisKKworbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF8xCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAuLi5fMi5zbyAtIHRoaXMgb25lIGhhcyB0aGUgaW5jb3JyZWN0IGFuc3dlcgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19yb290XzJfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF9hbnN3ZXJfaW1wbC5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19yb290XzJfY2ZsYWdzIDo9IC1EX19BTlNXRVI9MgorCittb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19yb290XzIKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3Jvb3Quc28gPC0gaW1wbGVtZW50cyBnZXRfYW5zd2VyMygpCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3Jvb3Rfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF9hbnN3ZXIuY3BwCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF9zaGFyZWRfbGlicmFyaWVzIDo9IFwKKyAgICBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3Jvb3RfMSBcCisgICAgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19yb290XzIKKworbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5tawpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9BbmRyb2lkLmJ1aWxkLmRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5tayBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3MubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQzNWE1MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3MubWsKQEAgLTAsMCArMSwxNTggQEAKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyMKKyMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjCisjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisjCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgTGlicmFyaWVzIHVzZWQgYnkgZGxmY24gdGVzdHMgdG8gdmVyaWZ5IGNvcnJlY3QgcmVsb2NhdGlvbiBvcmRlcjoKKyMgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncyouc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAuLi5fMS5zbyAtIGVtcHR5CisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzXzFfc3JjX2ZpbGVzIDo9IFwKKyAgICBlbXB0eS5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18xX3NoYXJlZF9saWJyYXJpZXMgOj0gXAorICAgIGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfYSBcCisgICAgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19iCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzXzEKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIC4uLl8yLnNvIC0gZW1wdHkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfMl9zcmNfZmlsZXMgOj0gXAorICAgIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2Fuc3dlci5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18yX3NoYXJlZF9saWJyYXJpZXMgOj0gXAorICAgIGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfYyBcCisgICAgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19kCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfMl9hbGxvd191bmRlZmluZWRfc3ltYm9scyA6PSB0cnVlCittb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18yCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgLi4uXzMuc28gLSBnZXRfYW5zd2VyMigpOworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18zX3NyY19maWxlcyA6PSBcCisgICAgZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX25lcGhld19hbnN3ZXIuY3BwCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfM19zaGFyZWRfbGlicmFyaWVzIDo9IFwKKyAgICBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2UgXAorICAgIGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfZgorCittb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18zCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgLi4uX2Euc28gPC0gY29ycmVjdCBpbXBsCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2Ffc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyX2ltcGwuY3BwCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfYV9jZmxhZ3MgOj0gLURfX0FOU1dFUj00MgorbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfYQoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIC4uLl9iLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2Jfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyX2ltcGwuY3BwCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfYl9jZmxhZ3MgOj0gLURfX0FOU1dFUj0xCittb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19iCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgLi4uX2Muc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfY19zcmNfZmlsZXMgOj0gXAorICAgIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19hbnN3ZXJfaW1wbC5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19jX2NmbGFncyA6PSAtRF9fQU5TV0VSPTIKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfY19zaGFyZWRfbGlicmFyaWVzIDo9IFwKKyAgICBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2NfMSBcCisgICAgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19jXzIKKworbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfYworaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIC4uLl9kLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2Rfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyX2ltcGwuY3BwCisKK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfZF9jZmxhZ3MgOj0gLURfX0FOU1dFUj0zCittb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19kCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgLi4uX2Uuc28KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfZV9zcmNfZmlsZXMgOj0gXAorICAgIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19hbnN3ZXJfaW1wbC5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19lX2NmbGFncyA6PSAtRF9fQU5TV0VSPTQKK21vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2UKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAuLi5fZi5zbyA8LSBnZXRfYW5zd2VyKCkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfZl9zcmNfZmlsZXMgOj0gXAorICAgIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19hbnN3ZXIuY3BwCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2YKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAuLi5fY18xLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2NfMV9zcmNfZmlsZXMgOj0gXAorICAgIGRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2Fuc3dlcl9pbXBsLmNwcAorCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX2NfMV9jZmxhZ3MgOj0gLURfX0FOU1dFUj00MgorbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfY18xCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgLi4uX2NfMi5zbworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19jXzJfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfZ3JhbmRjaGlsZF9hbnN3ZXJfaW1wbC5jcHAKKworbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19jXzJfY2ZsYWdzIDo9IC1EX19BTlNXRVI9MAorbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfY18yCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5zbworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc19zcmNfZmlsZXMgOj0gXAorICAgIGVtcHR5LmNwcAorCitsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzX3NoYXJlZF9saWJyYXJpZXMgOj0gXAorICAgIGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3NfMSBcCisgICAgbGlidGVzdF9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5nc18yIFwKKyAgICBsaWJ0ZXN0X2NoZWNrX29yZGVyX3JlbG9jX3NpYmxpbmdzXzMKKworbW9kdWxlIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3MKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5wdGhyZWFkX2F0Zm9yay5tayBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC5wdGhyZWFkX2F0Zm9yay5tawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmZmZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9BbmRyb2lkLmJ1aWxkLnB0aHJlYWRfYXRmb3JrLm1rCkBAIC0wLDAgKzEsMjUgQEAKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyMKKyMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjCisjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisjCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgVGhpcyBsaWJyYXJ5IHVzZWQgdG8gdGVzdCBwaHRyZWFkX2F0Zm9yayBoYW5kbGVyIGJlaGF2aW91cgorIyBkdXJpbmcvYWZ0ZXIgZGxjbG9zZS4KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfcHRocmVhZF9hdGZvcmtfc3JjX2ZpbGVzIDo9IHB0aHJlYWRfYXRmb3JrLmNwcAorCittb2R1bGUgOj0gbGlidGVzdF9wdGhyZWFkX2F0Zm9yaworaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQudmVyc2lvbmVkX2xpYi5tayBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5idWlsZC52ZXJzaW9uZWRfbGliLm1rCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzYTYzNzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL0FuZHJvaWQuYnVpbGQudmVyc2lvbmVkX2xpYi5tawpAQCAtMCwwICsxLDEyMCBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMaWJyYXJpZXMgdXNlZCB0byB0ZXN0IHZlcnNpb25lZCBzeW1ib2xzCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X3ZlcnNpb25lZF91c2VsaWJ2MV9zcmNfZmlsZXMgOj0gdmVyc2lvbmVkX3VzZWxpYi5jcHAKKworbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjFfc2hhcmVkX2xpYnJhcmllcyA6PSBcCisgICAgbGlidGVzdF92ZXJzaW9uZWRfbGlidjEKKworbW9kdWxlIDo9IGxpYnRlc3RfdmVyc2lvbmVkX3VzZWxpYnYxCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfdmVyc2lvbmVkX3VzZWxpYnYyX3NyY19maWxlcyA6PSBcCisgICAgdmVyc2lvbmVkX3VzZWxpYi5jcHAKKworbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjJfc2hhcmVkX2xpYnJhcmllcyA6PSBcCisgICAgbGlidGVzdF92ZXJzaW9uZWRfbGlidjIKKworbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjJfbGRmbGFncyA6PSBcCisgICAgLVdsLC0tdmVyc2lvbi1zY3JpcHQsJChMT0NBTF9QQVRIKS92ZXJzaW9uZWRfdXNlbGliLm1hcAorCittb2R1bGUgOj0gbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjIKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjJfb3RoZXJfc3JjX2ZpbGVzIDo9IFwKKyAgICB2ZXJzaW9uZWRfdXNlbGliLmNwcAorCitsaWJ0ZXN0X3ZlcnNpb25lZF91c2VsaWJ2Ml9vdGhlcl9zaGFyZWRfbGlicmFyaWVzIDo9IFwKKyAgICBsaWJ0ZXN0X3ZlcnNpb25lZF9vdGhlcmxpYl9lbXB0eSBsaWJ0ZXN0X3ZlcnNpb25lZF9saWJ2MgorCittb2R1bGUgOj0gbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjJfb3RoZXIKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjNfb3RoZXJfc3JjX2ZpbGVzIDo9IFwKKyAgICB2ZXJzaW9uZWRfdXNlbGliLmNwcAorCitsaWJ0ZXN0X3ZlcnNpb25lZF91c2VsaWJ2M19vdGhlcl9zaGFyZWRfbGlicmFyaWVzIDo9IFwKKyAgICBsaWJ0ZXN0X3ZlcnNpb25lZF9vdGhlcmxpYl9lbXB0eSBsaWJ0ZXN0X3ZlcnNpb25lZF9saWIKKworbW9kdWxlIDo9IGxpYnRlc3RfdmVyc2lvbmVkX3VzZWxpYnYzX290aGVyCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbGliIHYxIC0gdGhpcyBvbmUgdXNlZCBkdXJpbmcgc3RhdGljIGxpbmtpbmcgYnV0IG5ldmVyIHVzZWQgYXQgcnVudGltZQorIyB3aGljaCBmb3JjZXMgbGlidGVzdF92ZXJzaW9uZWRfdXNlbGlidjEgdG8gdXNlIGZ1bmN0aW9uIHYxIGZyb20KKyMgbGlidGVzdF92ZXJzaW9uZWRfbGliLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X3ZlcnNpb25lZF9saWJ2MV9zcmNfZmlsZXMgOj0gXAorICAgIHZlcnNpb25lZF9saWJfdjEuY3BwCisKK2xpYnRlc3RfdmVyc2lvbmVkX2xpYnYxX2xkZmxhZ3MgOj0gXAorICAgIC1XbCwtLXZlcnNpb24tc2NyaXB0LCQoTE9DQUxfUEFUSCkvdmVyc2lvbmVkX2xpYl92MS5tYXAgXAorICAgIC1XbCwtc29uYW1lLGxpYnRlc3RfdmVyc2lvbmVkX2xpYi5zbworCittb2R1bGUgOj0gbGlidGVzdF92ZXJzaW9uZWRfbGlidjEKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsaWIgdjIgLSB0byBtYWtlIGxpYnRlc3RfdmVyc2lvbmVkX3VzZWxpYnYyLnNvIHVzZSB2ZXJzaW9uIDIgb2YgdmVyc2lvbmVkX2Z1bmN0aW9uKCkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfdmVyc2lvbmVkX2xpYnYyX3NyY19maWxlcyA6PSBcCisgICAgdmVyc2lvbmVkX2xpYl92Mi5jcHAKKworbGlidGVzdF92ZXJzaW9uZWRfbGlidjJfbGRmbGFncyA6PSBcCisgICAgLVdsLC0tdmVyc2lvbi1zY3JpcHQsJChMT0NBTF9QQVRIKS92ZXJzaW9uZWRfbGliX3YyLm1hcCBcCisgICAgLVdsLC1zb25hbWUsbGlidGVzdF92ZXJzaW9uZWRfbGliLnNvCisKK21vZHVsZSA6PSBsaWJ0ZXN0X3ZlcnNpb25lZF9saWJ2MgoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbGFzdCB2ZXJzaW9uIC0gdGhpcyBvbmUgaXMgdXNlZCBhdCB0aGUgcnVudGltZSBhbmQgZXhwb3J0cyAzIHZlcnNpb25zCisjIG9mIHZlcnNpb25lZF9zeW1ib2woKS4KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfdmVyc2lvbmVkX2xpYl9zcmNfZmlsZXMgOj0gXAorICAgIHZlcnNpb25lZF9saWJfdjMuY3BwCisKK2xpYnRlc3RfdmVyc2lvbmVkX2xpYl9sZGZsYWdzIDo9IFwKKyAgICAtV2wsLS12ZXJzaW9uLXNjcmlwdCwkKExPQ0FMX1BBVEgpL3ZlcnNpb25lZF9saWJfdjMubWFwCisKK21vZHVsZSA6PSBsaWJ0ZXN0X3ZlcnNpb25lZF9saWIKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUaGlzIGxpYnJhcnkgaXMgZW1wdHksIHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24gd2lsbCBwcm92aWRlIGFuIHVudmVyc2lvbmVkCisjIHN5bWJvbCBmb3IgdmVyc2lvbmVkX2Z1bmN0aW9uKCkuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X3ZlcnNpb25lZF9vdGhlcmxpYl9lbXB0eV9zcmNfZmlsZXMgOj0gZW1wdHkuY3BwCisKK2xpYnRlc3RfdmVyc2lvbmVkX290aGVybGliX2VtcHR5X2xkZmxhZ3MgOj0gLVdsLC1zb25hbWUsbGlidGVzdF92ZXJzaW9uZWRfb3RoZXJsaWIuc28KK21vZHVsZSA6PSBsaWJ0ZXN0X3ZlcnNpb25lZF9vdGhlcmxpYl9lbXB0eQoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X3ZlcnNpb25lZF9vdGhlcmxpYl9zcmNfZmlsZXMgOj0gdmVyc2lvbmVkX2xpYl9vdGhlci5jcHAKKworbGlidGVzdF92ZXJzaW9uZWRfb3RoZXJsaWJfbGRmbGFncyA6PSBcCisgICAgLVdsLC0tdmVyc2lvbi1zY3JpcHQsJChMT0NBTF9QQVRIKS92ZXJzaW9uZWRfbGliX290aGVyLm1hcAorCittb2R1bGUgOj0gbGlidGVzdF92ZXJzaW9uZWRfb3RoZXJsaWIKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvQW5kcm9pZC5tayBiL3Rlc3RzL2xpYnMvQW5kcm9pZC5tawppbmRleCBhZjNlMDcwLi5jNDMyYzJlIDEwMDY0NAotLS0gYS90ZXN0cy9saWJzL0FuZHJvaWQubWsKKysrIGIvdGVzdHMvbGlicy9BbmRyb2lkLm1rCkBAIC0yMSwyNSArMjEsNDQgQEAKIGNvbW1vbl9hZGRpdGlvbmFsX2RlcGVuZGVuY2llcyA6PSBcCiAgICAgJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rIFwKICAgICAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQuZGxleHRfdGVzdHppcC5tayBcCisgICAgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLmRsb3Blbl8yX3BhcmVudHNfcmVsb2MubWsgXAorICAgICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC5kbG9wZW5fY2hlY2tfb3JkZXJfZGxzeW0ubWsgXAorICAgICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC5kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfc2libGluZ3MubWsgXAorICAgICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC5kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfbWFpbl9leGVjdXRhYmxlLm1rIFwKKyAgICAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQucHRocmVhZF9hdGZvcmsubWsgXAogICAgICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rIFwKKyAgICAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudmVyc2lvbmVkX2xpYi5tayBcCiAgICAgJChURVNUX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBMaWJyYXJ5IHVzZWQgYnkgZGxmY24gdGVzdHMuCisjIExpYnJhcnkgdG8gdGVzdCBnbnUtc3R5bGVkIGhhc2gKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGlmbmVxICgkKFRBUkdFVF9BUkNIKSwkKGZpbHRlciAkKFRBUkdFVF9BUkNIKSxtaXBzIG1pcHM2NCkpCi1uby1lbGYtaGFzaC10YWJsZS1saWJyYXJ5X3NyY19maWxlcyA6PSBcCi0gICAgZW1wdHkuY3BwIFwKK2xpYmdudS1oYXNoLXRhYmxlLWxpYnJhcnlfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbGV4dF90ZXN0X2xpYnJhcnkuY3BwIFwKIAotbm8tZWxmLWhhc2gtdGFibGUtbGlicmFyeV9sZGZsYWdzIDo9IFwKK2xpYmdudS1oYXNoLXRhYmxlLWxpYnJhcnlfbGRmbGFncyA6PSBcCiAgICAgLVdsLC0taGFzaC1zdHlsZT1nbnUgXAogCi1tb2R1bGUgOj0gbm8tZWxmLWhhc2gtdGFibGUtbGlicmFyeQorbW9kdWxlIDo9IGxpYmdudS1oYXNoLXRhYmxlLWxpYnJhcnkKIG1vZHVsZV90YWcgOj0gb3B0aW9uYWwKIGluY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKIGVuZGlmCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgTGlicmFyeSB0byB0ZXN0IHN5c3Ytc3R5bGVkIGhhc2gKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnN5c3YtaGFzaC10YWJsZS1saWJyYXJ5X3NyY19maWxlcyA6PSBcCisgICAgZGxleHRfdGVzdF9saWJyYXJ5LmNwcCBcCisKK2xpYnN5c3YtaGFzaC10YWJsZS1saWJyYXJ5X2xkZmxhZ3MgOj0gXAorICAgIC1XbCwtLWhhc2gtc3R5bGU9c3lzdiBcCisKK21vZHVsZSA6PSBsaWJzeXN2LWhhc2gtdGFibGUtbGlicmFyeQorbW9kdWxlX3RhZyA6PSBvcHRpb25hbAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIExpYnJhcnkgdXNlZCBieSBkbGV4dCB0ZXN0cyAtIHdpdGggR05VIFJFTFJPIHByb2dyYW0gaGVhZGVyCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWJkbGV4dF90ZXN0X3NyY19maWxlcyA6PSBcCkBAIC0xMDAsNiArMTE5LDE3IEBACiBidWlsZF90YXJnZXQgOj0gU0hBUkVEX0xJQlJBUlkKIGluY2x1ZGUgJChURVNUX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKIAorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIExpYnJhcnkgd2l0aCBzb25hbWUgd2hpY2ggZG9lcyBub3QgbWF0Y2ggZmlsZW5hbWUKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGliZGxleHRfdGVzdF9kaWZmZXJlbnRfc29uYW1lX3NyY19maWxlcyA6PSBcCisgICAgZGxleHRfdGVzdF9saWJyYXJ5LmNwcCBcCisKK21vZHVsZSA6PSBsaWJkbGV4dF90ZXN0X2RpZmZlcmVudF9zb25hbWUKK21vZHVsZV90YWcgOj0gb3B0aW9uYWwKK2xpYmRsZXh0X3Rlc3RfZGlmZmVyZW50X3NvbmFtZV9sZGZsYWdzIDo9IC1XbCwtc29uYW1lPWxpYmRsZXh0X3Rlc3Rfc29uYW1lLnNvCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgTGlicmFyeSB1c2VkIGJ5IGRsZXh0IHRlc3RzIC0gemlwcGVkIGFuZCBhbGlnbmVkCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMjEsODYgKzE1MSw3MCBAQAogaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5tawogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIExpYnJhcmllcyB1c2VkIGJ5IGRsZmNuIHRlc3RzIHRvIHZlcmlmeSBjb3JyZWN0IGxvYWQgb3JkZXI6Ci0jIGxpYnRlc3RfY2hlY2tfb3JkZXJfMl9yaWdodC5zbworIyBMaWJyYXJ5IHVzZWQgYnkgZGxmY24gbm9kZWxldGUgdGVzdHMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWxpYnRlc3RfY2hlY2tfb3JkZXJfMl9yaWdodF9zcmNfZmlsZXMgOj0gXAotICAgIGRsb3Blbl90ZXN0bGliX2Fuc3dlci5jcHAKK2xpYnRlc3Rfbm9kZWxldGVfMV9zcmNfZmlsZXMgOj0gXAorICAgIGRsb3Blbl9ub2RlbGV0ZV8xLmNwcAogCi1saWJ0ZXN0X2NoZWNrX29yZGVyXzJfcmlnaHRfY2ZsYWdzIDo9IC1EX19BTlNXRVI9NDIKLW1vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyXzJfcmlnaHQKK21vZHVsZSA6PSBsaWJ0ZXN0X25vZGVsZXRlXzEKIGluY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Euc28KKyMgTGlicmFyeSB1c2VkIGJ5IGRsZmNuIG5vZGVsZXRlIHRlc3RzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1saWJ0ZXN0X2NoZWNrX29yZGVyX2Ffc3JjX2ZpbGVzIDo9IFwKLSAgICBkbG9wZW5fdGVzdGxpYl9hbnN3ZXIuY3BwCitsaWJ0ZXN0X25vZGVsZXRlXzJfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fbm9kZWxldGVfMi5jcHAKIAotbGlidGVzdF9jaGVja19vcmRlcl9hX2NmbGFncyA6PSAtRF9fQU5TV0VSPTEKLW1vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2EKK21vZHVsZSA6PSBsaWJ0ZXN0X25vZGVsZXRlXzIKIGluY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Iuc28KKyMgTGlicmFyeSB1c2VkIGJ5IGRsZmNuIG5vZGVsZXRlIHRlc3RzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1saWJ0ZXN0X2NoZWNrX29yZGVyX2Jfc3JjX2ZpbGVzIDo9IFwKLSAgICBkbG9wZW5fdGVzdGxpYl9hbnN3ZXIuY3BwCitsaWJ0ZXN0X25vZGVsZXRlX2R0X2ZsYWdzXzFfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fbm9kZWxldGVfZHRfZmxhZ3NfMS5jcHAKIAotbGlidGVzdF9jaGVja19vcmRlcl9iX2NmbGFncyA6PSAtRF9fQU5TV0VSPTIgLURfX0FOU1dFUjI9NDMKLW1vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2IKK2xpYnRlc3Rfbm9kZWxldGVfZHRfZmxhZ3NfMV9sZGZsYWdzIDo9IC1XbCwteixub2RlbGV0ZQorCittb2R1bGUgOj0gbGlidGVzdF9ub2RlbGV0ZV9kdF9mbGFnc18xCiBpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgbGlidGVzdF9jaGVja19vcmRlcl9jLnNvCisjIEJ1aWxkIGxpYnJhcnkgd2l0aCB0d28gcGFyZW50cwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbGlidGVzdF9jaGVja19vcmRlcl8zX2Nfc3JjX2ZpbGVzIDo9IFwKLSAgICBkbG9wZW5fdGVzdGxpYl9hbnN3ZXIuY3BwCi0KLWxpYnRlc3RfY2hlY2tfb3JkZXJfM19jX2NmbGFncyA6PSAtRF9fQU5TV0VSPTMKLW1vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyXzNfYwotaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQuZGxvcGVuXzJfcGFyZW50c19yZWxvYy5tawogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIGxpYnRlc3RfY2hlY2tfb3JkZXJfZC5zbworIyBCdWlsZCBsaWJ0ZXN0X2NoZWNrX29yZGVyX2Rsc3ltLnNvIHdpdGggaXRzIGRlcGVuZGVuY2llcy4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWxpYnRlc3RfY2hlY2tfb3JkZXJfZF9zcmNfZmlsZXMgOj0gXAotICAgZGxvcGVuX3Rlc3RsaWJfYW5zd2VyLmNwcAotCi1saWJ0ZXN0X2NoZWNrX29yZGVyX2Rfc2hhcmVkX2xpYnJhcmllcyA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2IKLWxpYnRlc3RfY2hlY2tfb3JkZXJfZF9jZmxhZ3MgOj0gLURfX0FOU1dFUj00IC1EX19BTlNXRVIyPTQKLW1vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyX2QKLWluY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLmRsb3Blbl9jaGVja19vcmRlcl9kbHN5bS5tawogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIGxpYnRlc3RfY2hlY2tfb3JkZXJfbGVmdC5zbworIyBCdWlsZCBsaWJ0ZXN0X2NoZWNrX29yZGVyX3NpYmxpbmdzLnNvIHdpdGggaXRzIGRlcGVuZGVuY2llcy4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWxpYnRlc3RfY2hlY2tfb3JkZXJfMV9sZWZ0X3NyY19maWxlcyA6PSBcCi0gICAgZW1wdHkuY3BwCi0KLWxpYnRlc3RfY2hlY2tfb3JkZXJfMV9sZWZ0X3NoYXJlZF9saWJyYXJpZXMgOj0gbGlidGVzdF9jaGVja19vcmRlcl9hIGxpYnRlc3RfY2hlY2tfb3JkZXJfYgotCi1tb2R1bGUgOj0gbGlidGVzdF9jaGVja19vcmRlcl8xX2xlZnQKLWluY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLmRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19zaWJsaW5ncy5tawogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIGxpYnRlc3RfY2hlY2tfb3JkZXIuc28KKyMgQnVpbGQgbGlidGVzdF9jaGVja19vcmRlcl9yb290LnNvIHdpdGggaXRzIGRlcGVuZGVuY2llcy4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWxpYnRlc3RfY2hlY2tfb3JkZXJfc3JjX2ZpbGVzIDo9IFwKLSAgICBlbXB0eS5jcHAKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLmRsb3Blbl9jaGVja19vcmRlcl9yZWxvY19tYWluX2V4ZWN1dGFibGUubWsKIAotbGlidGVzdF9jaGVja19vcmRlcl9zaGFyZWRfbGlicmFyaWVzIDo9IGxpYnRlc3RfY2hlY2tfb3JkZXJfMV9sZWZ0IFwKLSAgbGlidGVzdF9jaGVja19vcmRlcl8yX3JpZ2h0IGxpYnRlc3RfY2hlY2tfb3JkZXJfM19jCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEJ1aWxkIGxpYnRlc3RfdmVyc2lvbmVkX2xpYi5zbyB3aXRoIGl0cyBkZXBlbmRlbmNpZXMuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC52ZXJzaW9uZWRfbGliLm1rCiAKLW1vZHVsZSA6PSBsaWJ0ZXN0X2NoZWNrX29yZGVyCi1pbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEJ1aWxkIGxpYnJhcmllcyBuZWVkZWQgYnkgcHRocmVhZF9hdGZvcmsgdGVzdHMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnB0aHJlYWRfYXRmb3JrLm1rCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgTGlicmFyeSB3aXRoIGRlcGVuZGVuY3kgbG9vcCB1c2VkIGJ5IGRsZmNuIHRlc3RzCiAjCiAjIGxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3AgLT4gYSAtPiBiIC0+IGMgLT4gYQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9zcmNfZmlsZXMgOj0gZGxvcGVuX3Rlc3RsaWJfaW52YWxpZC5jcHAKK2xpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3Bfc3JjX2ZpbGVzIDo9IGRsb3Blbl90ZXN0bGliX2xvb3B5X3Jvb3QuY3BwCiAKIGxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3Bfc2hhcmVkX2xpYnJhcmllcyA6PSBcCiAgICAgbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9hCkBAIC0yMTEsNyArMjI1LDcgQEAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9hLnNvCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1saWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2Ffc3JjX2ZpbGVzIDo9IGRsb3Blbl90ZXN0bGliX2ludmFsaWQuY3BwCitsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2Ffc3JjX2ZpbGVzIDo9IGRsb3Blbl90ZXN0bGliX2xvb3B5X2EuY3BwCiAKIGxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfYV9zaGFyZWRfbGlicmFyaWVzIDo9IFwKICAgICBsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2JfdG1wCkBAIC0yMjQsNyArMjM4LDcgQEAKICMKICMgdGhpcyBpcyB0ZW1wb3JhcnkgcGxhY2Vob2xkZXIgLSB3aWxsIGJlIHJlbW92ZWQKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfYl90bXBfc3JjX2ZpbGVzIDo9IGRsb3Blbl90ZXN0bGliX2ludmFsaWQuY3BwCitsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2JfdG1wX3NyY19maWxlcyA6PSBkbG9wZW5fdGVzdGxpYl9sb29weV9pbnZhbGlkLmNwcAogbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9iX3RtcF9sZGZsYWdzIDo9IC1XbCwtc29uYW1lPWxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfYi5zbwogCiBtb2R1bGUgOj0gbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9iX3RtcApAQCAtMjMzLDcgKzI0Nyw3IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIGxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfYi5zbwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9iX3NyY19maWxlcyA6PSBkbG9wZW5fdGVzdGxpYl9pbnZhbGlkLmNwcAorbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9iX3NyY19maWxlcyA6PSBkbG9wZW5fdGVzdGxpYl9sb29weV9iLmNwcAogbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9iX3NoYXJlZF9saWJyYXJpZXMgOj0gbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9jCiAKIG1vZHVsZSA6PSBsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2IKQEAgLTI0Miw3ICsyNTYsNyBAQAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBsaWJ0ZXN0X3dpdGhfZGVwZW5kZW5jeV9sb29wX2Muc28KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfY19zcmNfZmlsZXMgOj0gZGxvcGVuX3Rlc3RsaWJfaW52YWxpZC5jcHAKK2xpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfY19zcmNfZmlsZXMgOj0gZGxvcGVuX3Rlc3RsaWJfbG9vcHlfYy5jcHAKIAogbGlidGVzdF93aXRoX2RlcGVuZGVuY3lfbG9vcF9jX3NoYXJlZF9saWJyYXJpZXMgOj0gXAogICAgIGxpYnRlc3Rfd2l0aF9kZXBlbmRlbmN5X2xvb3BfYQpAQCAtMjk1LDcgKzMwOSw3IEBACiBidWlsZF90eXBlIDo9IGhvc3QKIGluY2x1ZGUgJChURVNUX1BBVEgpL0FuZHJvaWQuYnVpbGQubWsKIAotaWZlcSAoJChUQVJHRVRfQVJDSCksJChmaWx0ZXIgJChUQVJHRVRfQVJDSCkseDg2IHg4Nl82NCkpCitpZmVxICgkKFRBUkdFVF9BUkNIKSwkKGZpbHRlciAkKFRBUkdFVF9BUkNIKSxhcm02NCB4ODYgeDg2XzY0KSkKICAgICBpZmVxICgkKFRBUkdFVF9BUkNIKSxhcm02NCkKICAgICAgIGxpYnRlc3RfaWZ1bmNfbXVsdGlsaWIgOj0gNjQKICAgICAgICMgVE9ETzogVGhpcyBpcyBhIHdvcmthcm91bmQgLSByZW1vdmUgaXQgb25jZSBnY2MKQEAgLTMwNCw2ICszMTgsNyBAQAogICAgIGVuZGlmCiAKICAgICBidWlsZF90eXBlIDo9IHRhcmdldAorICAgIGxpYnRlc3RfaWZ1bmNfY2xhbmdfdGFyZ2V0IDo9IGZhbHNlCiAgICAgaW5jbHVkZSAkKFRFU1RfUEFUSCkvQW5kcm9pZC5idWlsZC5tawogZW5kaWYKIApAQCAtMzE4LDYgKzMzMyw0NyBAQAogaW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5tawogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFRoaXMgbGlicmFyeSBpcyB1c2VkIGJ5IGRsX2xvYWQgdGVzdCB0byBjaGVjayBzeW1ib2wgcHJlZW1wdGluZworIyBieSBtYWluIGV4ZWN1dGFibGUKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYmRsX3ByZWVtcHRfdGVzdF8xX3NyY19maWxlcyA6PSBkbF9wcmVlbXB0X2xpYnJhcnlfMS5jcHAKKworbW9kdWxlIDo9IGxpYmRsX3ByZWVtcHRfdGVzdF8xCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgVGhpcyBsaWJyYXJ5IGlzIHVzZWQgYnkgZGxfbG9hZCB0ZXN0IHRvIGNoZWNrIHN5bWJvbCBwcmVlbXB0aW5nCisjIGJ5IGxpYmRsX3ByZWVtcHRfdGVzdF8xLnNvCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJkbF9wcmVlbXB0X3Rlc3RfMl9zcmNfZmlsZXMgOj0gZGxfcHJlZW1wdF9saWJyYXJ5XzIuY3BwCisKK21vZHVsZSA6PSBsaWJkbF9wcmVlbXB0X3Rlc3RfMgoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIExpYnJhcnkgd2l0aCBERl8xX0dMT0JBTAorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGliZGxfdGVzdF9kZl8xX2dsb2JhbF9zcmNfZmlsZXMgOj0gZGxfZGZfMV9nbG9iYWwuY3BwCitsaWJkbF90ZXN0X2RmXzFfZ2xvYmFsX2xkZmxhZ3MgOj0gLVdsLC16LGdsb2JhbAorIyBUT0RPIChkaW1pdHJ5KTogeDg2KiB0b29sY2hhaW4gZG9lcyBub3Qgc3VwcG9ydCAteiBnbG9iYWwgLSBzd2l0Y2ggdG8gYmZkCitpZmVxICgkKGZpbHRlciAkKFRBUkdFVF9BUkNIKSx4ODYgeDg2XzY0KSwkKFRBUkdFVF9BUkNIKSkKK2xpYmRsX3Rlc3RfZGZfMV9nbG9iYWxfbGRmbGFnc190YXJnZXQgOj0gLWZ1c2UtbGQ9YmZkCitlbmRpZgorIyBUT0RPIChkaW1pdHJ5KTogaG9zdCBsZC5nb2xkIGRvZXMgbm90IHlldCBzdXBwb3J0IC16IGdsb2JhbAorIyByZW1vdmUgdGhpcyBsaW5lIG9uY2UgaXQgaXMgdXBkYXRlZC4KK2xpYmRsX3Rlc3RfZGZfMV9nbG9iYWxfbGRmbGFnc19ob3N0IDo9IC1mdXNlLWxkPWJmZAorCittb2R1bGUgOj0gbGliZGxfdGVzdF9kZl8xX2dsb2JhbAoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5taworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIExpYnJhcnkgdXNpbmcgc3ltYm9sIGZyb20gbGliZGxfdGVzdF9kZl8xX2dsb2JhbAorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbGlidGVzdF9kbHN5bV9kZl8xX2dsb2JhbF9zcmNfZmlsZXMgOj0gZGxfZGZfMV91c2VfZ2xvYmFsLmNwcAorbW9kdWxlIDo9IGxpYnRlc3RfZGxzeW1fZGZfMV9nbG9iYWwKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBMaWJyYXJ5IHdpdGggd2VhayBmdW5jdGlvbgogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogbGlidGVzdF9kbHN5bV93ZWFrX2Z1bmNfc3JjX2ZpbGVzIDo9IFwKQEAgLTMyNSwzICszODEsNDQgQEAKIAogbW9kdWxlIDo9IGxpYnRlc3RfZGxzeW1fd2Vha19mdW5jCiBpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgTGlicmFyeSB0byBjaGVjayBSVExEX0xPQ0FMIHdpdGggZGxzeW0gaW4gJ3RoaXMnCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2Rsc3ltX2Zyb21fdGhpc19zcmNfZmlsZXMgOj0gZGxzeW1fZnJvbV90aGlzLmNwcAorCittb2R1bGUgOj0gbGlidGVzdF9kbHN5bV9mcm9tX3RoaXMKK2xpYnRlc3RfZGxzeW1fZnJvbV90aGlzX3NoYXJlZF9saWJyYXJpZXNfdGFyZ2V0IDo9IGxpYmRsCisKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMaWJyYXJ5IHdpdGggd2VhayB1bmRlZmluZWQgZnVuY3Rpb24KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2xpYnRlc3RfZGxvcGVuX3dlYWtfdW5kZWZpbmVkX2Z1bmNfc3JjX2ZpbGVzIDo9IFwKKyAgICBkbG9wZW5fd2Vha191bmRlZmluZWQuY3BwCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2Rsb3Blbl93ZWFrX3VuZGVmaW5lZF9mdW5jCitpbmNsdWRlICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5idWlsZC50ZXN0bGliLm1rCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgTGlicmFyeSB3aXRoIGNvbnN0cnVjdG9yIHRoYXQgY2FsbHMgZGxvcGVuKCkgYi83OTQxNzE2CisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitsaWJ0ZXN0X2Rsb3Blbl9mcm9tX2N0b3Jfc3JjX2ZpbGVzIDo9IFwKKyAgIGRsb3Blbl90ZXN0bGliX2Rsb3Blbl9mcm9tX2N0b3IuY3BwCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2Rsb3Blbl9mcm9tX2N0b3IKKworbGlidGVzdF9kbG9wZW5fZnJvbV9jdG9yX3NoYXJlZF9saWJyYXJpZXNfdGFyZ2V0IDo9IGxpYmRsCisKK2luY2x1ZGUgJChMT0NBTF9QQVRIKS9BbmRyb2lkLmJ1aWxkLnRlc3RsaWIubWsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBMaWJyYXJ5IHRoYXQgZGVwZW5kcyBvbiB0aGUgbGlicmFyeSB3aXRoIGNvbnN0cnVjdG9yIHRoYXQgY2FsbHMgZGxvcGVuKCkgYi83OTQxNzE2CisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xpYnRlc3RfZGxvcGVuX2Zyb21fY3Rvcl9tYWluX3NyY19maWxlcyA6PSBlbXB0eS5jcHAKK2xpYnRlc3RfZGxvcGVuX2Zyb21fY3Rvcl9tYWluX3NoYXJlZF9saWJyYXJpZXMgOj0gbGlidGVzdF9kbG9wZW5fZnJvbV9jdG9yCisKK21vZHVsZSA6PSBsaWJ0ZXN0X2Rsb3Blbl9mcm9tX2N0b3JfbWFpbgoraW5jbHVkZSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQuYnVpbGQudGVzdGxpYi5tawpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9hdGV4aXRfdGVzdGxpYi5jcHAgYi90ZXN0cy9saWJzL2F0ZXhpdF90ZXN0bGliLmNwcAppbmRleCBkMzVmNTdiLi4zMTRlOGRlIDEwMDY0NAotLS0gYS90ZXN0cy9saWJzL2F0ZXhpdF90ZXN0bGliLmNwcAorKysgYi90ZXN0cy9saWJzL2F0ZXhpdF90ZXN0bGliLmNwcApAQCAtMTksMTIgKzE5LDE5IEBACiAjaW5jbHVkZSA8c3RyaW5nPgogCiAvLyB1c2UgZXh0ZXJuYWwgY29udHJvbCBudW1iZXIgZnJvbSBtYWluIHRlc3QKLXN0YXRpYyBzdGQ6OnN0cmluZyogYXRleGl0X3NlcXVlbmNlID0gTlVMTDsKLXN0YXRpYyBib29sKiBhdGV4aXRfdmFsaWRfdGhpc19pbl9zdGF0aWNfZHRvciA9IE5VTEw7CitzdGF0aWMgc3RkOjpzdHJpbmcqIGF0ZXhpdF9zZXF1ZW5jZSA9IG51bGxwdHI7CitzdGF0aWMgYm9vbCogYXRleGl0X3ZhbGlkX3RoaXNfaW5fc3RhdGljX2R0b3IgPSBudWxscHRyOworc3RhdGljIGJvb2wqIGF0ZXhpdF9hdHRyX2R0b3JfY2FsbGVkID0gbnVsbHB0cjsKKworc3RhdGljIGludCBjeHhfY3Rvcl9jYWxsZWQgPSAwOworc3RhdGljIGludCBhdHRyX2N0b3JfY2FsbGVkID0gMDsKIAogc3RhdGljIGNsYXNzIEF0RXhpdFN0YXRpY0NsYXNzIHsKICBwdWJsaWM6Ci0gIEF0RXhpdFN0YXRpY0NsYXNzKCkgeyBleHBlY3RlZF90aGlzID0gdGhpczsgfQorICBBdEV4aXRTdGF0aWNDbGFzcygpIHsKKyAgICBleHBlY3RlZF90aGlzID0gdGhpczsKKyAgICBjeHhfY3Rvcl9jYWxsZWQgPSAxOworICB9CiAgIH5BdEV4aXRTdGF0aWNDbGFzcygpIHsKICAgICBpZiAoYXRleGl0X3ZhbGlkX3RoaXNfaW5fc3RhdGljX2R0b3IpIHsKICAgICAgICphdGV4aXRfdmFsaWRfdGhpc19pbl9zdGF0aWNfZHRvciA9IChleHBlY3RlZF90aGlzID09IHRoaXMpOwpAQCAtMzUsNyArNDIsNyBAQAogCiB9IHN0YXRpY19vYmo7CiAKLWNvbnN0IEF0RXhpdFN0YXRpY0NsYXNzKiBBdEV4aXRTdGF0aWNDbGFzczo6ZXhwZWN0ZWRfdGhpcyA9IE5VTEw7Citjb25zdCBBdEV4aXRTdGF0aWNDbGFzcyogQXRFeGl0U3RhdGljQ2xhc3M6OmV4cGVjdGVkX3RoaXMgPSBudWxscHRyOwogCiAvLyA0CiBzdGF0aWMgdm9pZCBhdGV4aXRfaGFuZGxlcl9mcm9tX2F0ZXhpdF9mcm9tX2F0ZXhpdDIoKSB7CkBAIC02NiwxMCArNzMsMzAgQEAKICAgKmF0ZXhpdF9zZXF1ZW5jZSArPSAiIGEgd2FsbCI7CiB9CiAKLWV4dGVybiAiQyIgdm9pZCByZWdpc3Rlcl9hdGV4aXQoc3RkOjpzdHJpbmcqIHNlcXVlbmNlLCBib29sKiB2YWxpZF90aGlzX2luX3N0YXRpY19kdG9yKSB7CisvLyBhdHRyaWJ1dGUgYy10b3IgYW5kIGQtdG9yCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChjb25zdHJ1Y3RvcikpIGF0ZXhpdF9hdHRyX2N0b3IoKSB7CisgIGF0dHJfY3Rvcl9jYWxsZWQgPSAxOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChkZXN0cnVjdG9yKSkgYXRleGl0X2F0dHJfZHRvcigpIHsKKyAgaWYgKGF0ZXhpdF9hdHRyX2R0b3JfY2FsbGVkKSB7CisgICAgKmF0ZXhpdF9hdHRyX2R0b3JfY2FsbGVkID0gdHJ1ZTsKKyAgfQorfQorCitleHRlcm4gIkMiIHZvaWQgcmVnaXN0ZXJfYXRleGl0KHN0ZDo6c3RyaW5nKiBzZXF1ZW5jZSwgYm9vbCogdmFsaWRfdGhpc19pbl9zdGF0aWNfZHRvciwgYm9vbCogYXR0cl9kdG9yX2NhbGxlZCkgewogICBhdGV4aXRfc2VxdWVuY2UgPSBzZXF1ZW5jZTsKICAgYXRleGl0X3ZhbGlkX3RoaXNfaW5fc3RhdGljX2R0b3IgPSB2YWxpZF90aGlzX2luX3N0YXRpY19kdG9yOworICBhdGV4aXRfYXR0cl9kdG9yX2NhbGxlZCA9IGF0dHJfZHRvcl9jYWxsZWQ7CiAgIGF0ZXhpdChhdGV4aXRfaGFuZGxlcl9yZWd1bGFyKTsKICAgYXRleGl0KGF0ZXhpdF9oYW5kbGVyX3dpdGhfYXRleGl0KTsKIH0KIAorZXh0ZXJuICJDIiBpbnQgZ2V0X2N4eF9jdG9yX2NhbGxlZCgpIHsKKyAgcmV0dXJuIGN4eF9jdG9yX2NhbGxlZDsKK30KKworZXh0ZXJuICJDIiBpbnQgZ2V0X2F0dHJfY3Rvcl9jYWxsZWQoKSB7CisgIHJldHVybiBhdHRyX2N0b3JfY2FsbGVkOworfQorCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2RsX2RmXzFfZ2xvYmFsLmNwcCBiL3Rlc3RzL2xpYnMvZGxfZGZfMV9nbG9iYWwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ODU2ZmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2RsX2RmXzFfZ2xvYmFsLmNwcApAQCAtMCwwICsxLDE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgZGxfZGZfMV9nbG9iYWxfZ2V0X2Fuc3dlcl9pbXBsKCkgeworICByZXR1cm4gNDI7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2RsX2RmXzFfdXNlX2dsb2JhbC5jcHAgYi90ZXN0cy9saWJzL2RsX2RmXzFfdXNlX2dsb2JhbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE0OTEwZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxfZGZfMV91c2VfZ2xvYmFsLmNwcApAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIGRsX2RmXzFfZ2xvYmFsX2dldF9hbnN3ZXJfaW1wbCgpIHsKKyAgcmV0dXJuIDA7Cit9CisKK2V4dGVybiAiQyIgaW50IGRsX2RmXzFfZ2xvYmFsX2dldF9hbnN3ZXIoKSB7CisgIHJldHVybiBkbF9kZl8xX2dsb2JhbF9nZXRfYW5zd2VyX2ltcGwoKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxfcHJlZW1wdF9saWJyYXJ5XzEuY3BwIGIvdGVzdHMvbGlicy9kbF9wcmVlbXB0X2xpYnJhcnlfMS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRkODFkNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxfcHJlZW1wdF9saWJyYXJ5XzEuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisvLyBUaGlzIG9uZSBzaG91bGQgYmUgcHJlZW1wdGVkIGJ5IHRoZSBmdW5jdGlvbgorLy8gZGVmaW5lZCBpbiB0aGUgbWFpbiBleGVjdXRhYmxlLgorZXh0ZXJuICJDIiBpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIG1haW5fZ2xvYmFsX2RlZmF1bHRfc2VyaWFsKCkgeworICByZXR1cm4gMjcxNjA1NzsKK30KKworLy8gRXZlbiB0aG91Z2ggdGhpcyBvbmUgaXMgZGVmaW5lZCBieSB0aGUgbWFpbgorLy8gZXhlY3V0YWJsZSBpdCBzaG91bGQgbm90IGJlIHByZWVtcHRlZAorLy8gYmVjYXVzZSBvZiBwcm90ZWN0ZWQgdmlzaWJpbGl0eQorZXh0ZXJuICJDIiBpbnQgX19hdHRyaWJ1dGVfXygod2VhaywgdmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKSBtYWluX2dsb2JhbF9wcm90ZWN0ZWRfc2VyaWFsKCkgeworICByZXR1cm4gMzM3MDMxODsKK30KKworZXh0ZXJuICJDIiBpbnQgbWFpbl9nbG9iYWxfZGVmYXVsdF9nZXRfc2VyaWFsKCkgeworICByZXR1cm4gbWFpbl9nbG9iYWxfZGVmYXVsdF9zZXJpYWwoKTsKK30KKworZXh0ZXJuICJDIiBpbnQgbWFpbl9nbG9iYWxfcHJvdGVjdGVkX2dldF9zZXJpYWwoKSB7CisgIHJldHVybiBtYWluX2dsb2JhbF9wcm90ZWN0ZWRfc2VyaWFsKCk7Cit9CisKKy8vIFRyeWluZyB0byBwcmVlbXB0IGZ1bmN0aW9ucyBmcm9tIGEgRFRfTkVFREVEIC5zbworZXh0ZXJuICJDIiBpbnQgbGliX2dsb2JhbF9kZWZhdWx0X3NlcmlhbCgpIHsKKyAgcmV0dXJuIDMzNzAzMTg7Cit9CisKK2V4dGVybiAiQyIgaW50IGxpYl9nbG9iYWxfcHJvdGVjdGVkX3NlcmlhbCgpIHsKKyAgcmV0dXJuIDI3MTYwNTc7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2RsX3ByZWVtcHRfbGlicmFyeV8yLmNwcCBiL3Rlc3RzL2xpYnMvZGxfcHJlZW1wdF9saWJyYXJ5XzIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZjlhMTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2RsX3ByZWVtcHRfbGlicmFyeV8yLmNwcApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworLy8gVGhpcyBvbmUgc2hvdWxkIGJlIHByZWVtcHRlZCBieSB0aGUgZnVuY3Rpb24KKy8vIGRlZmluZWQgaW4gbGliZGxfcHJlZW1wdF90ZXN0XzEuc28KK2V4dGVybiAiQyIgaW50IF9fYXR0cmlidXRlX18oKHdlYWspKSBsaWJfZ2xvYmFsX2RlZmF1bHRfc2VyaWFsKCkgeworICByZXR1cm4gMjcxNjA1NzsKK30KKworLy8gRXZlbiB0aG91Z2ggdGhpcyBvbmUgaXMgZGVmaW5lZCBieQorLy8gbGliZGxfcHJlZW1wdF90ZXN0XzEuc28gaXQgc2hvdWxkIG5vdCBiZQorLy8gcHJlZW1wdGVkIGJlY2F1c2Ugb2YgcHJvdGVjdGVkIHZpc2liaWxpdHkKK2V4dGVybiAiQyIgaW50IF9fYXR0cmlidXRlX18oKHdlYWssdmlzaWJpbGl0eSgicHJvdGVjdGVkIikpKSBsaWJfZ2xvYmFsX3Byb3RlY3RlZF9zZXJpYWwoKSB7CisgIHJldHVybiAzMzcwMzE4OworfQorCitleHRlcm4gIkMiIGludCBsaWJfZ2xvYmFsX2RlZmF1bHRfZ2V0X3NlcmlhbCgpIHsKKyAgcmV0dXJuIGxpYl9nbG9iYWxfZGVmYXVsdF9zZXJpYWwoKTsKK30KKworZXh0ZXJuICJDIiBpbnQgbGliX2dsb2JhbF9wcm90ZWN0ZWRfZ2V0X3NlcmlhbCgpIHsKKyAgcmV0dXJuIGxpYl9nbG9iYWxfcHJvdGVjdGVkX3NlcmlhbCgpOworfQorCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl8yX3BhcmVudHNfcmVsb2NfYW5zd2VyLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuXzJfcGFyZW50c19yZWxvY19hbnN3ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNjY3MGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl8yX3BhcmVudHNfcmVsb2NfYW5zd2VyLmNwcApAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIGNoZWNrX29yZGVyX3JlbG9jX2dldF9hbnN3ZXJfaW1wbCgpIHsKKyAgcmV0dXJuIDA7Cit9CisKK2V4dGVybiAiQyIgaW50IGNoZWNrX29yZGVyX3JlbG9jX2dldF9hbnN3ZXIoKSB7CisgIHJldHVybiBjaGVja19vcmRlcl9yZWxvY19nZXRfYW5zd2VyX2ltcGwoKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX2Rsc3ltX2Fuc3dlci5jcHAgYi90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9kbHN5bV9hbnN3ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZTZjZjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9kbHN5bV9hbnN3ZXIuY3BwCkBAIC0wLDAgKzEsMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitleHRlcm4gIkMiIGludCBjaGVja19vcmRlcl9kbHN5bV9nZXRfYW5zd2VyKCkgeworICByZXR1cm4gX19BTlNXRVI7Cit9CisKKyNpZmRlZiBfX0FOU1dFUjIKK2V4dGVybiAiQyIgaW50IGNoZWNrX29yZGVyX2Rsc3ltX2dldF9hbnN3ZXIyKCkgeworICByZXR1cm4gX19BTlNXRVIyOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9yZWxvY19hbnN3ZXIuY3BwIGIvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzY2NzBiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyLmNwcApAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIGNoZWNrX29yZGVyX3JlbG9jX2dldF9hbnN3ZXJfaW1wbCgpIHsKKyAgcmV0dXJuIDA7Cit9CisKK2V4dGVybiAiQyIgaW50IGNoZWNrX29yZGVyX3JlbG9jX2dldF9hbnN3ZXIoKSB7CisgIHJldHVybiBjaGVja19vcmRlcl9yZWxvY19nZXRfYW5zd2VyX2ltcGwoKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX2Fuc3dlcl9pbXBsLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX2Fuc3dlcl9pbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjRiOTA1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfYW5zd2VyX2ltcGwuY3BwCkBAIC0wLDAgKzEsMTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitleHRlcm4gIkMiIGludCBjaGVja19vcmRlcl9yZWxvY19nZXRfYW5zd2VyX2ltcGwoKSB7CisgIHJldHVybiBfX0FOU1dFUjsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX2dyYW5kY2hpbGRfYW5zd2VyLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX2dyYW5kY2hpbGRfYW5zd2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmI1ZjJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfZ3JhbmRjaGlsZF9hbnN3ZXIuY3BwCkBAIC0wLDAgKzEsMjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitleHRlcm4gIkMiIGludCBjaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2dldF9hbnN3ZXJfaW1wbCgpOworCitleHRlcm4gIkMiIGludCBjaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2dldF9hbnN3ZXIoKSB7CisgIHJldHVybiBjaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2dldF9hbnN3ZXJfaW1wbCgpOworfQorCmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2Fuc3dlcl9pbXBsLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX2dyYW5kY2hpbGRfYW5zd2VyX2ltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyZDJiMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9yZWxvY19ncmFuZGNoaWxkX2Fuc3dlcl9pbXBsLmNwcApAQCAtMCwwICsxLDE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgY2hlY2tfb3JkZXJfcmVsb2NfZ3JhbmRjaGlsZF9nZXRfYW5zd2VyX2ltcGwoKSB7CisgIHJldHVybiBfX0FOU1dFUjsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX25lcGhld19hbnN3ZXIuY3BwIGIvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2NfbmVwaGV3X2Fuc3dlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkMWYwOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX25lcGhld19hbnN3ZXIuY3BwCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitleHRlcm4gIkMiIGludCBjaGVja19vcmRlcl9yZWxvY19nZXRfYW5zd2VyX2ltcGwoKTsKKworZXh0ZXJuICJDIiBpbnQgY2hlY2tfb3JkZXJfcmVsb2NfbmVwaGV3X2dldF9hbnN3ZXIoKSB7CisgIHJldHVybiBjaGVja19vcmRlcl9yZWxvY19nZXRfYW5zd2VyX2ltcGwoKTsKK30KKworbmFtZXNwYWNlIHsKKy8vIFRoZSBkLXRvciBmb3IgdGhpcyBjbGFzcyBpcyBjYWxsZWQgb24gZGxjbG9zZSgpIC0+IF9fb25fZGxjbG9zZSgpIC0+IF9fY3hhX2ZpbmFsaXplKCkKKy8vIFdlIHVzZSBpdCB0byBkZXRlY3QgY2FsbHMgdG8gcHJlbWF0dXJlbHkgdW5tYXBwZWQgbGlicmFyaWVzIGR1cmluZyBkbGNsb3NlLgorLy8gU2VlIGFsc28gYi8xODMzODg4OAorY2xhc3MgQ2FsbE5lcGhld0luRHRvciB7CisgcHVibGljOgorICB+Q2FsbE5lcGhld0luRHRvcigpIHsKKyAgICBjaGVja19vcmRlcl9yZWxvY19nZXRfYW5zd2VyX2ltcGwoKTsKKyAgfQorfSBpbnN0YW5jZTsKK307CisKK2V4dGVybiAiQyIgdm9pZCogZ2V0X2luc3RhbmNlKCkgeworICByZXR1cm4gJmluc3RhbmNlOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF9hbnN3ZXIuY3BwIGIvdGVzdHMvbGlicy9kbG9wZW5fY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF9hbnN3ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMWFiZDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9yZWxvY19yb290X2Fuc3dlci5jcHAKQEAgLTAsMCArMSwyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK2V4dGVybiAiQyIgaW50IGNoZWNrX29yZGVyX3JlbG9jX3Jvb3RfZ2V0X2Fuc3dlcl9pbXBsKCk7CisKK2V4dGVybiAiQyIgaW50IGNoZWNrX29yZGVyX3JlbG9jX3Jvb3RfZ2V0X2Fuc3dlcigpIHsKKyAgcmV0dXJuIGNoZWNrX29yZGVyX3JlbG9jX3Jvb3RfZ2V0X2Fuc3dlcl9pbXBsKCk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9yZWxvY19yb290X2Fuc3dlcl9pbXBsLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX2NoZWNrX29yZGVyX3JlbG9jX3Jvb3RfYW5zd2VyX2ltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZmI5YWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl9jaGVja19vcmRlcl9yZWxvY19yb290X2Fuc3dlcl9pbXBsLmNwcApAQCAtMCwwICsxLDE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgY2hlY2tfb3JkZXJfcmVsb2Nfcm9vdF9nZXRfYW5zd2VyX2ltcGwoKSB7CisgIHJldHVybiBfX0FOU1dFUjsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX25vZGVsZXRlXzEuY3BwIGIvdGVzdHMvbGlicy9kbG9wZW5fbm9kZWxldGVfMS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQzODk3OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxvcGVuX25vZGVsZXRlXzEuY3BwCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKK3VpbnQzMl90IGRsb3Blbl9ub2RlbGV0ZV8xX3RheGljYWJfbnVtYmVyID0gMTcyOTsKK3N0YXRpYyBib29sKiB1bmxvYWRfZmxhZ19wdHIgPSBudWxscHRyOworCitleHRlcm4gIkMiIHZvaWQgZGxvcGVuX25vZGVsZXRlXzFfc2V0X3VubG9hZF9mbGFnX3B0cihib29sKiBwdHIpIHsKKyAgdW5sb2FkX2ZsYWdfcHRyID0gcHRyOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChkZXN0cnVjdG9yKSkgdW5sb2FkX2d1YXJkKCkgeworICBpZiAodW5sb2FkX2ZsYWdfcHRyICE9IG51bGxwdHIpIHsKKyAgICAqdW5sb2FkX2ZsYWdfcHRyID0gdHJ1ZTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9kbG9wZW5fbm9kZWxldGVfMi5jcHAgYi90ZXN0cy9saWJzL2Rsb3Blbl9ub2RlbGV0ZV8yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWFiNWMxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9kbG9wZW5fbm9kZWxldGVfMi5jcHAKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKwordWludDMyX3QgZGxvcGVuX25vZGVsZXRlXzJfdGF4aWNhYl9udW1iZXIgPSAxNzI5Oworc3RhdGljIGJvb2wqIHVubG9hZF9mbGFnX3B0ciA9IG51bGxwdHI7CisKK2V4dGVybiAiQyIgdm9pZCBkbG9wZW5fbm9kZWxldGVfMl9zZXRfdW5sb2FkX2ZsYWdfcHRyKGJvb2wqIHB0cikgeworICB1bmxvYWRfZmxhZ19wdHIgPSBwdHI7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKGRlc3RydWN0b3IpKSB1bmxvYWRfZ3VhcmQoKSB7CisgIGlmICh1bmxvYWRfZmxhZ19wdHIgIT0gbnVsbHB0cikgeworICAgICp1bmxvYWRfZmxhZ19wdHIgPSB0cnVlOworICB9Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl9ub2RlbGV0ZV9kdF9mbGFnc18xLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX25vZGVsZXRlX2R0X2ZsYWdzXzEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5YzBhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl9ub2RlbGV0ZV9kdF9mbGFnc18xLmNwcApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitzdGF0aWMgYm9vbCogdW5sb2FkX2ZsYWdfcHRyID0gbnVsbHB0cjsKKworZXh0ZXJuICJDIiB2b2lkIGRsb3Blbl9ub2RlbGV0ZV9kdF9mbGFnc18xX3NldF91bmxvYWRfZmxhZ19wdHIoYm9vbCogcHRyKSB7CisgIHVubG9hZF9mbGFnX3B0ciA9IHB0cjsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoZGVzdHJ1Y3RvcikpIHVubG9hZF9ndWFyZCgpIHsKKyAgaWYgKHVubG9hZF9mbGFnX3B0ciAhPSBudWxscHRyKSB7CisgICAgKnVubG9hZF9mbGFnX3B0ciA9IHRydWU7CisgIH0KK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfYW5zd2VyLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfYW5zd2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRkNzUwNC4uMDAwMDAwMAotLS0gYS90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2Fuc3dlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotZXh0ZXJuICJDIiBpbnQgZGxvcGVuX3Rlc3RfZ2V0X2Fuc3dlcigpIHsKLSAgcmV0dXJuIF9fQU5TV0VSOwotfQotCi0jaWZkZWYgX19BTlNXRVIyCi1leHRlcm4gIkMiIGludCBkbG9wZW5fdGVzdF9nZXRfYW5zd2VyMigpIHsKLSAgcmV0dXJuIF9fQU5TV0VSMjsKLX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9kbG9wZW5fdGVzdGxpYl9kbG9wZW5fZnJvbV9jdG9yLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfZGxvcGVuX2Zyb21fY3Rvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTUyMzNmNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfZGxvcGVuX2Zyb21fY3Rvci5jcHAKQEAgLTAsMCArMSwyMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxkbGZjbi5oPgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChjb25zdHJ1Y3RvcikpIGNhbGxfZGxvcGVuX2Zyb21fY3RvcigpIHsKKyAgdm9pZCogaGFuZGxlID0gZGxvcGVuKCJsaWJjLnNvIiwgUlRMRF9OT1cpOworICBkbGNsb3NlKGhhbmRsZSk7Cit9CisKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfaW52YWxpZC5jcHAgYi90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2ludmFsaWQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjAzOWM2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfaW52YWxpZC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotCi0vLyBUaGlzIGZpbGUgaXMgdXNlZCBmb3IgbGlicmFyaWVzIHRoYXQgYXJlIG5vdCBzdXBwb3NlZCB0bwotLy8gYmUgc3VjY2Vzc2Z1bGx5IGxvYWRlZC9saW5rZWQgLSB0aGVyZWZvcmUsIHRoaXMgZnVuY3Rpb24gc2hvdWxkCi0vLyBub3QgYmUgdmlzaWJsZSB2aWEgZGxzeW0gLSAod2UgYXJlIGdvaW5nIHRvIHVzZSB0aGlzIGZhY3QgaW4gdGVzdHMpCi1leHRlcm4gIkMiIGludCBkbG9wZW5fdGVzdF9pbnZhbGlkX2Z1bmN0aW9uKCkgewotICBhYm9ydCgpOwotfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9kbG9wZW5fdGVzdGxpYl9sb29weV9hLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfbG9vcHlfYS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMwODc2NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfbG9vcHlfYS5jcHAKQEAgLTAsMCArMSwyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworZXh0ZXJuICJDIiBib29sIF9fYXR0cmlidXRlX18oKHdlYWspKSBkbG9wZW5fdGVzdF9sb29weV9mdW5jdGlvbl9pbXBsKCkgeworICByZXR1cm4gZmFsc2U7Cit9CisKK2V4dGVybiAiQyIgYm9vbCBkbG9wZW5fdGVzdF9sb29weV9mdW5jdGlvbigpIHsKKyAgcmV0dXJuIGRsb3Blbl90ZXN0X2xvb3B5X2Z1bmN0aW9uX2ltcGwoKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfbG9vcHlfYi5jcHAgYi90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2xvb3B5X2IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxZGNkYTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2xvb3B5X2IuY3BwCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisKK2V4dGVybiAiQyIgYm9vbCBkbG9wZW5fdGVzdF9sb29weV9mdW5jdGlvbl9pbXBsKCkgeworICByZXR1cm4gZmFsc2U7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2xvb3B5X2MuY3BwIGIvdGVzdHMvbGlicy9kbG9wZW5fdGVzdGxpYl9sb29weV9jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWRjZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy9kbG9wZW5fdGVzdGxpYl9sb29weV9jLmNwcApAQCAtMCwwICsxLDIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitleHRlcm4gIkMiIGJvb2wgZGxvcGVuX3Rlc3RfbG9vcHlfZnVuY3Rpb25faW1wbCgpIHsKKyAgcmV0dXJuIGZhbHNlOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9kbG9wZW5fdGVzdGxpYl9sb29weV9pbnZhbGlkLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfbG9vcHlfaW52YWxpZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFhMTFmOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfbG9vcHlfaW52YWxpZC5jcHAKQEAgLTAsMCArMSwyMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworLy8gVGhpcyBsaWJyYXJ5IHNob3VsZCBuZXZlciBiZSBsb2FkZWQKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKGNvbnN0cnVjdG9yKSkgcGFuaWMoKSB7CisgIGFib3J0KCk7Cit9CisKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfbG9vcHlfcm9vdC5jcHAgYi90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2xvb3B5X3Jvb3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NDU5ZjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX2xvb3B5X3Jvb3QuY3BwCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisKK2V4dGVybiAiQyIgYm9vbCBkbG9wZW5fdGVzdF9sb29weV9mdW5jdGlvbl9pbXBsKCkgeworICByZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfc2ltcGxlLmNwcCBiL3Rlc3RzL2xpYnMvZGxvcGVuX3Rlc3RsaWJfc2ltcGxlLmNwcAppbmRleCBiZjc1MGIyLi4zMjI2OTU1IDEwMDY0NAotLS0gYS90ZXN0cy9saWJzL2Rsb3Blbl90ZXN0bGliX3NpbXBsZS5jcHAKKysrIGIvdGVzdHMvbGlicy9kbG9wZW5fdGVzdGxpYl9zaW1wbGUuY3BwCkBAIC0xOSw2ICsxOSw2IEBACiAKIHVpbnQzMl90IGRsb3Blbl90ZXN0bGliX3RheGljYWJfbnVtYmVyID0gMTcyOTsKIAotYm9vbCBkbG9wZW5fdGVzdGxpYl9zaW1wbGVfZnVuYygpIHsKK2V4dGVybiAiQyIgYm9vbCBkbG9wZW5fdGVzdGxpYl9zaW1wbGVfZnVuYygpIHsKICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL2Rsb3Blbl93ZWFrX3VuZGVmaW5lZC5jcHAgYi90ZXN0cy9saWJzL2Rsb3Blbl93ZWFrX3VuZGVmaW5lZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk5YTUyZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvZGxvcGVuX3dlYWtfdW5kZWZpbmVkLmNwcApAQCAtMCwwICsxLDI1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiBpbnQgX19hdHRyaWJ1dGVfXygod2VhaykpIHdlYWtfdW5kZWZpbmVkX2Z1bmMoKTsKKworZXh0ZXJuICJDIiBpbnQgdXNlX3dlYWtfdW5kZWZpbmVkX2Z1bmMoKSB7CisgIGlmICh3ZWFrX3VuZGVmaW5lZF9mdW5jKSB7CisgICAgcmV0dXJuIHdlYWtfdW5kZWZpbmVkX2Z1bmMoKTsKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gNjU1MTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy9kbHN5bV9mcm9tX3RoaXMuY3BwIGIvdGVzdHMvbGlicy9kbHN5bV9mcm9tX3RoaXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MjE1YzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL2Rsc3ltX2Zyb21fdGhpcy5jcHAKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8ZGxmY24uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCitpbnQgdGVzdF9kbHN5bV9zeW1ib2wgPSA0MjsKKworZXh0ZXJuICJDIiBpbnQqIGxvb2t1cF9kbHN5bV9zeW1ib2xfdXNpbmdfUlRMRF9ERUZBVUxUKCkgeworICBkbGVycm9yKCk7CisgIGludCogcmVzdWx0ID0gc3RhdGljX2Nhc3Q8aW50Kj4oZGxzeW0oUlRMRF9ERUZBVUxULCAidGVzdF9kbHN5bV9zeW1ib2wiKSk7CisgIC8vIFRPRE86IHJlbW92ZSB0aGlzIG9uY2UgYi8yMDA0OTMwNiBpcyBmaXhlZAorICBpZiAocmVzdWx0ID09IG51bGxwdHIpIHsKKyAgICBwcmludGYoIkNhbm5vdCBmaW5kIHRoZSBhbnN3ZXJcbiIpOworICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvcHRocmVhZF9hdGZvcmsuY3BwIGIvdGVzdHMvbGlicy9wdGhyZWFkX2F0Zm9yay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E1YWE0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvcHRocmVhZF9hdGZvcmsuY3BwCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8cHRocmVhZC5oPgorCitleHRlcm4gIkMiIGludCBwcm94eV9wdGhyZWFkX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkodm9pZCksIHZvaWQgKCpwYXJlbnQpKHZvaWQpLCB2b2lkICgqY2hpbGQpKHZvaWQpKSB7CisgIHJldHVybiBwdGhyZWFkX2F0Zm9yayhwcmVwYXJlLCBwYXJlbnQsIGNoaWxkKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl9vdGhlci5jcHAgYi90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfb3RoZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwZmE5OWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfb3RoZXIuY3BwCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitleHRlcm4gIkMiIGludCB2ZXJzaW9uZWRfZnVuY3Rpb25fdjIoKSB7CisgIHJldHVybiAyMDsKK30KKworX19hc21fXygiLnN5bXZlciB2ZXJzaW9uZWRfZnVuY3Rpb25fdjIsdmVyc2lvbmVkX2Z1bmN0aW9uQEBURVNUTElCX1YyIik7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfb3RoZXIubWFwIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX290aGVyLm1hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTI2ODZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX290aGVyLm1hcApAQCAtMCwwICsxLDkgQEAKK1RFU1RMSUJfVjAgeworICBsb2NhbDoKKyAgICB2ZXJzaW9uZWRfZnVuY3Rpb25fdio7Cit9OworCitURVNUTElCX1YyIHsKKyAgZ2xvYmFsOgorICAgIHZlcnNpb25lZF9mdW5jdGlvbjsKK30gVEVTVExJQl9WMDsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92MS5jcHAgYi90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfdjEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MWNiZjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfdjEuY3BwCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitleHRlcm4gIkMiIHsKKyAgaW50IHZlcnNpb25lZF9mdW5jdGlvbl92MSgpOyAvLyBfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworICBpbnQgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uKCk7Cit9CisKK2ludCB2ZXJzaW9uZWRfZnVuY3Rpb25fdjEoKSB7CisgIHJldHVybiAxOworfQorCitpbnQgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uKCkgeworICByZXR1cm4gMTAwOworfQorCitfX2FzbV9fKCIuc3ltdmVyIHZlcnNpb25lZF9mdW5jdGlvbl92MSx2ZXJzaW9uZWRfZnVuY3Rpb25AQFRFU1RMSUJfVjEiKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92MS5tYXAgYi90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfdjEubWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZGEzMjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfdjEubWFwCkBAIC0wLDAgKzEsMTIgQEAKK1RFU1RMSUJfVjAgeworICBnbG9iYWw6CisgICAgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uOworICBsb2NhbDoKKyAgICB2ZXJzaW9uZWRfZnVuY3Rpb25fdio7Cit9OworCitURVNUTElCX1YxIHsKKyAgZ2xvYmFsOgorICAgIHZlcnNpb25lZF9mdW5jdGlvbjsKK30gVEVTVExJQl9WMDsKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX3YyLmNwcCBiL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92Mi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdkNDEzZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92Mi5jcHAKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK2V4dGVybiAiQyIgeworICBpbnQgdmVyc2lvbmVkX2Z1bmN0aW9uX3YxKCk7IC8vIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisgIGludCB2ZXJzaW9uZWRfZnVuY3Rpb25fdjIoKTsgLy8gX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyAgaW50IHZlcnNpb25femVyb19mdW5jdGlvbigpOworfQorCitpbnQgdmVyc2lvbmVkX2Z1bmN0aW9uX3YxKCkgeworICByZXR1cm4gMTsKK30KKworaW50IHZlcnNpb25lZF9mdW5jdGlvbl92MigpIHsKKyAgcmV0dXJuIDI7Cit9CisKK2ludCB2ZXJzaW9uX3plcm9fZnVuY3Rpb24oKSB7CisgIHJldHVybiAyMDA7Cit9CitfX2FzbV9fKCIuc3ltdmVyIHZlcnNpb25lZF9mdW5jdGlvbl92MSx2ZXJzaW9uZWRfZnVuY3Rpb25AVEVTVExJQl9WMSIpOworX19hc21fXygiLnN5bXZlciB2ZXJzaW9uZWRfZnVuY3Rpb25fdjIsdmVyc2lvbmVkX2Z1bmN0aW9uQEBURVNUTElCX1YyIik7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL3ZlcnNpb25lZF9saWJfdjIubWFwIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX3YyLm1hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjM4MTAyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX3YyLm1hcApAQCAtMCwwICsxLDE2IEBACitURVNUTElCX1YwIHsKKyAgZ2xvYmFsOgorICAgIHZlcnNpb25femVyb19mdW5jdGlvbjsKKyAgbG9jYWw6CisgICAgdmVyc2lvbmVkX2Z1bmN0aW9uX3YqOworfTsKKworVEVTVExJQl9WMSB7CisgIGdsb2JhbDoKKyAgICB2ZXJzaW9uZWRfZnVuY3Rpb247Cit9IFRFU1RMSUJfVjA7CisKK1RFU1RMSUJfVjIgeworICBnbG9iYWw6CisgICAgdmVyc2lvbmVkX2Z1bmN0aW9uOworfSBURVNUTElCX1YxOwpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX3YzLmNwcCBiL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92My5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ3NDBhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92My5jcHAKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK2V4dGVybiAiQyIgeworICBpbnQgdmVyc2lvbmVkX2Z1bmN0aW9uX3YxKCk7IC8vIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisgIGludCB2ZXJzaW9uZWRfZnVuY3Rpb25fdjIoKTsgLy8gX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyAgaW50IHZlcnNpb25lZF9mdW5jdGlvbl92MygpOyAvLyBfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworICBpbnQgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uKCk7Cit9CisKK2ludCB2ZXJzaW9uZWRfZnVuY3Rpb25fdjEoKSB7CisgIHJldHVybiAxOworfQorCitpbnQgdmVyc2lvbmVkX2Z1bmN0aW9uX3YyKCkgeworICByZXR1cm4gMjsKK30KKworaW50IHZlcnNpb25lZF9mdW5jdGlvbl92MygpIHsKKyAgcmV0dXJuIDM7Cit9CisKK2ludCB2ZXJzaW9uX3plcm9fZnVuY3Rpb24oKSB7CisgIHJldHVybiAxMDAwOworfQorCitfX2FzbV9fKCIuc3ltdmVyIHZlcnNpb25lZF9mdW5jdGlvbl92MSx2ZXJzaW9uZWRfZnVuY3Rpb25AVEVTVExJQl9WMSIpOworX19hc21fXygiLnN5bXZlciB2ZXJzaW9uZWRfZnVuY3Rpb25fdjIsdmVyc2lvbmVkX2Z1bmN0aW9uQFRFU1RMSUJfVjIiKTsKK19fYXNtX18oIi5zeW12ZXIgdmVyc2lvbmVkX2Z1bmN0aW9uX3YzLHZlcnNpb25lZF9mdW5jdGlvbkBAVEVTVExJQl9WMyIpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlicy92ZXJzaW9uZWRfbGliX3YzLm1hcCBiL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92My5tYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxY2U1OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xpYnMvdmVyc2lvbmVkX2xpYl92My5tYXAKQEAgLTAsMCArMSwyMSBAQAorVEVTVExJQl9WMCB7CisgIGdsb2JhbDoKKyAgICB2ZXJzaW9uX3plcm9fZnVuY3Rpb247CisgIGxvY2FsOgorICAgIHZlcnNpb25lZF9mdW5jdGlvbl92KjsKK307CisKK1RFU1RMSUJfVjEgeworICBnbG9iYWw6CisgICAgdmVyc2lvbmVkX2Z1bmN0aW9uOworfSBURVNUTElCX1YwOworCitURVNUTElCX1YyIHsKKyAgZ2xvYmFsOgorICAgIHZlcnNpb25lZF9mdW5jdGlvbjsKK30gVEVTVExJQl9WMTsKKworVEVTVExJQl9WMyB7CisgIGdsb2JhbDoKKyAgICB2ZXJzaW9uZWRfZnVuY3Rpb247Cit9IFRFU1RMSUJfVjI7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL3ZlcnNpb25lZF91c2VsaWIuY3BwIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfdXNlbGliLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmViN2MzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfdXNlbGliLmNwcApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworZXh0ZXJuICJDIiB7CisgIGludCB2ZXJzaW9uZWRfZnVuY3Rpb24oKTsKKworICBpbnQgZ2V0X2Z1bmN0aW9uX3ZlcnNpb24oKTsKKyAgaW50IHZlcnNpb25femVyb19mdW5jdGlvbigpOworICBpbnQgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uMigpIF9fYXR0cmlidXRlX18oKHdlYWspKTsKK30KKworaW50IGdldF9mdW5jdGlvbl92ZXJzaW9uKCkgeworICByZXR1cm4gdmVyc2lvbl96ZXJvX2Z1bmN0aW9uMigpICsgdmVyc2lvbl96ZXJvX2Z1bmN0aW9uKCkgKyB2ZXJzaW9uZWRfZnVuY3Rpb24oKTsKK30KKworLy8gd2UgZXhwZWN0IHRoaXMgZnVuY3Rpb24gdG8gYmUgcHJlZW1wdGVkIGJ5IG1haW4gZXhlY3V0YWJsZS4KK2ludCB2ZXJzaW9uX3plcm9fZnVuY3Rpb24yKCkgeworICByZXR1cm4gNDAwMDA7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9saWJzL3ZlcnNpb25lZF91c2VsaWIubWFwIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfdXNlbGliLm1hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGJjOWNlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbGlicy92ZXJzaW9uZWRfdXNlbGliLm1hcApAQCAtMCwwICsxLDkgQEAKK1RFU1RMSUJfTk9ORSB7CisgIGdsb2JhbDoKKyAgICBnZXRfZnVuY3Rpb25fdmVyc2lvbjsKK307CisKK1RFU1RMSUJfWkVSTyB7CisgIGdsb2JhbDoKKyAgICB2ZXJzaW9uX3plcm9fZnVuY3Rpb24yOworfSBURVNUTElCX05PTkU7CmRpZmYgLS1naXQgYS90ZXN0cy9sb2NhbGVfdGVzdC5jcHAgYi90ZXN0cy9sb2NhbGVfdGVzdC5jcHAKaW5kZXggN2VjNjA3YS4uZjMwOGFmNSAxMDA2NDQKLS0tIGEvdGVzdHMvbG9jYWxlX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2xvY2FsZV90ZXN0LmNwcApAQCAtNzEsMjAgKzcxLDMwIEBACiAgIEVYUEVDVF9FUShFTk9FTlQsIGVycm5vKTsgLy8gUE9TSVggc3BlY2lmaWVkLCBub3QgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIQogfQogCi1URVNUKGxvY2FsZSwgbmV3bG9jYWxlKSB7CitURVNUKGxvY2FsZSwgbmV3bG9jYWxlX2ludmFsaWRfY2F0ZWdvcnlfbWFzaykgewogICBlcnJubyA9IDA7CiAgIEVYUEVDVF9FUSgwLCBuZXdsb2NhbGUoMSA8PCAyMCwgIkMiLCAwKSk7CiAgIEVYUEVDVF9FUShFSU5WQUwsIGVycm5vKTsKK30KIAotICBsb2NhbGVfdCBsID0gbmV3bG9jYWxlKExDX0FMTCwgIkMiLCAwKTsKLSAgQVNTRVJUX1RSVUUobCAhPSBOVUxMKTsKLSAgZnJlZWxvY2FsZShsKTsKK1RFU1QobG9jYWxlLCBuZXdsb2NhbGVfTlVMTF9sb2NhbGVfbmFtZSkgeworICBlcnJubyA9IDA7CisgIEVYUEVDVF9FUSgwLCBuZXdsb2NhbGUoTENfQUxMLCBOVUxMLCAwKSk7CisgIEVYUEVDVF9FUShFSU5WQUwsIGVycm5vKTsKK30KIAorVEVTVChsb2NhbGUsIG5ld2xvY2FsZV9iYWRfbG9jYWxlX25hbWUpIHsKICAgZXJybm8gPSAwOwogICBFWFBFQ1RfRVEoMCwgbmV3bG9jYWxlKExDX0FMTCwgInRoaXMtaXMtbm90LWEtbG9jYWxlIiwgMCkpOwogICBFWFBFQ1RfRVEoRU5PRU5ULCBlcnJubyk7IC8vIFBPU0lYIHNwZWNpZmllZCwgbm90IGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCEKIH0KIAorVEVTVChsb2NhbGUsIG5ld2xvY2FsZSkgeworICBsb2NhbGVfdCBsID0gbmV3bG9jYWxlKExDX0FMTCwgIkMiLCAwKTsKKyAgQVNTRVJUX1RSVUUobCAhPSBOVUxMKTsKKyAgZnJlZWxvY2FsZShsKTsKK30KKwogVEVTVChsb2NhbGUsIGR1cGxvY2FsZSkgewogICBsb2NhbGVfdCBjbG9uZWRfZ2xvYmFsID0gZHVwbG9jYWxlKExDX0dMT0JBTF9MT0NBTEUpOwogICBBU1NFUlRfVFJVRShjbG9uZWRfZ2xvYmFsICE9IE5VTEwpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWFsbG9jX3Rlc3QuY3BwIGIvdGVzdHMvbWFsbG9jX3Rlc3QuY3BwCmluZGV4IDZiN2EyOGIuLmI3NjYyNWEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21hbGxvY190ZXN0LmNwcAorKysgYi90ZXN0cy9tYWxsb2NfdGVzdC5jcHAKQEAgLTIyLDYgKzIyLDggQEAKICNpbmNsdWRlIDxtYWxsb2MuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2luY2x1ZGUgPHRpbnl4bWwyLmg+CisKICNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19jb25maWcuaCIKIAogVEVTVChtYWxsb2MsIG1hbGxvY19zdGQpIHsKQEAgLTMyMiwzICszMjQsNTEgQEAKICAgQVNTRVJUX0VRKE5VTEwsIHZhbGxvYyhTSVpFX01BWCkpOwogfQogI2VuZGlmCisKK1RFU1QobWFsbG9jLCBtYWxsb2NfaW5mbykgeworI2lmZGVmIF9fQklPTklDX18KKyAgY2hhciogYnVmOworICBzaXplX3QgYnVmc2l6ZTsKKyAgRklMRSogbWVtc3RyZWFtID0gb3Blbl9tZW1zdHJlYW0oJmJ1ZiwgJmJ1ZnNpemUpOworICBBU1NFUlRfTkUobnVsbHB0ciwgbWVtc3RyZWFtKTsKKyAgQVNTRVJUX0VRKDAsIG1hbGxvY19pbmZvKDAsIG1lbXN0cmVhbSkpOworICBBU1NFUlRfRVEoMCwgZmNsb3NlKG1lbXN0cmVhbSkpOworCisgIHRpbnl4bWwyOjpYTUxEb2N1bWVudCBkb2M7CisgIEFTU0VSVF9FUSh0aW55eG1sMjo6WE1MX1NVQ0NFU1MsIGRvYy5QYXJzZShidWYpKTsKKworICBhdXRvIHJvb3QgPSBkb2MuRmlyc3RDaGlsZEVsZW1lbnQoKTsKKyAgQVNTRVJUX05FKG51bGxwdHIsIHJvb3QpOworICBBU1NFUlRfU1RSRVEoIm1hbGxvYyIsIHJvb3QtPk5hbWUoKSk7CisgIEFTU0VSVF9TVFJFUSgiamVtYWxsb2MtMSIsIHJvb3QtPkF0dHJpYnV0ZSgidmVyc2lvbiIpKTsKKworICBhdXRvIGFyZW5hID0gcm9vdC0+Rmlyc3RDaGlsZEVsZW1lbnQoKTsKKyAgZm9yICg7IGFyZW5hICE9IG51bGxwdHI7IGFyZW5hID0gYXJlbmEtPk5leHRTaWJsaW5nRWxlbWVudCgpKSB7CisgICAgaW50IHZhbDsKKworICAgIEFTU0VSVF9TVFJFUSgiaGVhcCIsIGFyZW5hLT5OYW1lKCkpOworICAgIEFTU0VSVF9FUSh0aW55eG1sMjo6WE1MX1NVQ0NFU1MsIGFyZW5hLT5RdWVyeUludEF0dHJpYnV0ZSgibnIiLCAmdmFsKSk7CisgICAgQVNTRVJUX0VRKHRpbnl4bWwyOjpYTUxfU1VDQ0VTUywKKyAgICAgICAgICAgICAgYXJlbmEtPkZpcnN0Q2hpbGRFbGVtZW50KCJhbGxvY2F0ZWQtbGFyZ2UiKS0+UXVlcnlJbnRUZXh0KCZ2YWwpKTsKKyAgICBBU1NFUlRfRVEodGlueXhtbDI6OlhNTF9TVUNDRVNTLAorICAgICAgICAgICAgICBhcmVuYS0+Rmlyc3RDaGlsZEVsZW1lbnQoImFsbG9jYXRlZC1odWdlIiktPlF1ZXJ5SW50VGV4dCgmdmFsKSk7CisgICAgQVNTRVJUX0VRKHRpbnl4bWwyOjpYTUxfU1VDQ0VTUywKKyAgICAgICAgICAgICAgYXJlbmEtPkZpcnN0Q2hpbGRFbGVtZW50KCJhbGxvY2F0ZWQtYmlucyIpLT5RdWVyeUludFRleHQoJnZhbCkpOworICAgIEFTU0VSVF9FUSh0aW55eG1sMjo6WE1MX1NVQ0NFU1MsCisgICAgICAgICAgICAgIGFyZW5hLT5GaXJzdENoaWxkRWxlbWVudCgiYmlucy10b3RhbCIpLT5RdWVyeUludFRleHQoJnZhbCkpOworCisgICAgYXV0byBiaW4gPSBhcmVuYS0+Rmlyc3RDaGlsZEVsZW1lbnQoImJpbiIpOworICAgIGZvciAoOyBiaW4gIT0gbnVsbHB0cjsgYmluID0gYmluIC0+TmV4dFNpYmxpbmdFbGVtZW50KCkpIHsKKyAgICAgIGlmIChzdHJjbXAoYmluLT5OYW1lKCksICJiaW4iKSA9PSAwKSB7CisgICAgICAgIEFTU0VSVF9FUSh0aW55eG1sMjo6WE1MX1NVQ0NFU1MsIGJpbi0+UXVlcnlJbnRBdHRyaWJ1dGUoIm5yIiwgJnZhbCkpOworICAgICAgICBBU1NFUlRfRVEodGlueXhtbDI6OlhNTF9TVUNDRVNTLAorICAgICAgICAgICAgICAgICAgYmluLT5GaXJzdENoaWxkRWxlbWVudCgiYWxsb2NhdGVkIiktPlF1ZXJ5SW50VGV4dCgmdmFsKSk7CisgICAgICAgIEFTU0VSVF9FUSh0aW55eG1sMjo6WE1MX1NVQ0NFU1MsCisgICAgICAgICAgICAgICAgICBiaW4tPkZpcnN0Q2hpbGRFbGVtZW50KCJubWFsbG9jIiktPlF1ZXJ5SW50VGV4dCgmdmFsKSk7CisgICAgICAgIEFTU0VSVF9FUSh0aW55eG1sMjo6WE1MX1NVQ0NFU1MsCisgICAgICAgICAgICAgICAgICBiaW4tPkZpcnN0Q2hpbGRFbGVtZW50KCJuZGFsbG9jIiktPlF1ZXJ5SW50VGV4dCgmdmFsKSk7CisgICAgICB9CisgICAgfQorICB9CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfY29zX3Rlc3QuY3BwIGIvdGVzdHMvbWF0aF9jb3NfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwYTJkODIuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9jb3NfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NjQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZG91YmxlIGV4cGVjdGVkOwotICBkb3VibGUgY2FsbF9kYXRhOwotfSBjb3NfaW50ZWxfZGF0YV90OwotCi1zdGF0aWMgY29zX2ludGVsX2RhdGFfdCBnX2Nvc19pbnRlbF9kYXRhW10gPSB7Ci0gIHsgLy8gRW50cnkgMAotICAgIDB4MS5jMWEyN2FlODM2ZjEyODAwMDAwMDAwMDAwMDUwNGU5YnAtMSwKLSAgICAweDEuZmViMWY3OTIwZTI0OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEKLSAgICAweDEuYzFhMjdhZTgzNmYxMjgwMDAwMDAwMDAwMDA1MDRlOWJwLTEsCi0gICAgLTB4MS5mZWIxZjc5MjBlMjQ4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMgotICAgIDB4MS43OGRhZjAxMDM2ZDBjZmZmZmZmZmZmZmZmZjk4OTBkNnAtMSwKLSAgICAweDEuN2NiNzY0ODUyNmY5OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDMKLSAgICAweDEuNzhkYWYwMTAzNmQwY2ZmZmZmZmZmZmZmZmY5ODkwZDZwLTEsCi0gICAgLTB4MS43Y2I3NjQ4NTI2Zjk5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNAotICAgIDB4MS5mZjhlYjZhOTFlY2IwMDAwMDAwMDAwMDAwMDFmOGY1NnAtMSwKLSAgICAweDEuNTQ5ZWMwYzBjNWFmYXAtNQotICB9LAotICB7IC8vIEVudHJ5IDUKLSAgICAweDEuZmY4ZWI2YTkxZWNiMDAwMDAwMDAwMDAwMDAxZjhmNTZwLTEsCi0gICAgLTB4MS41NDllYzBjMGM1YWZhcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNgotICAgIDB4MS5mZWQwNDc2ZmM3NWM5ODAwMDAwMDAwMDAwMDIwYjEzZXAtMSwKLSAgICAweDEuMTZlNTM0ZWUzNjU4MHAtNAotICB9LAotICB7IC8vIEVudHJ5IDcKLSAgICAweDEuZmVkMDQ3NmZjNzVjOTgwMDAwMDAwMDAwMDAyMGIxM2VwLTEsCi0gICAgLTB4MS4xNmU1MzRlZTM2NTgwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOAotICAgIDB4MS5mMTBmYzYxZTJjNzhlZmZmZmZmZmZmZmZmZjg3NjY2YXAtMSwKLSAgICAweDEuZWZlZWY2MWQzOWFjMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDkKLSAgICAweDEuZjEwZmM2MWUyYzc4ZWZmZmZmZmZmZmZmZmY4NzY2NmFwLTEsCi0gICAgLTB4MS5lZmVlZjYxZDM5YWMycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAKLSAgICAweDEuNDM0YTM2NDViZTIwODdmZmZmZmZmZmZmZmY3MmQwYWVwLTEsCi0gICAgMHgxLmM2NWExNzA0NzQ1NDlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIDB4MS40MzRhMzY0NWJlMjA4N2ZmZmZmZmZmZmZmZjcyZDBhZXAtMSwKLSAgICAtMHgxLmM2NWExNzA0NzQ1NDlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIDB4MS4zMzdmYzViMDcyYzUyODAwMDAwMDAwMDAwMDE3ZmU3N3AtMywKLSAgICAweDEuNmI4YTYyNzNkN2MyMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMKLSAgICAweDEuMzM3ZmM1YjA3MmM1MjgwMDAwMDAwMDAwMDAxN2ZlNzdwLTMsCi0gICAgLTB4MS42YjhhNjI3M2Q3YzIxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNAotICAgIDB4MS5lZmE3Y2RkYjEyOGZiODAwNDM1Njg3N2I3NGVlOGFiZHAtMSwKLSAgICAtMHgxLjAzNmY0YmE3ZTkwYWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNQotICAgIDB4MS5lZmE3Y2RkYjEyOGZiODAwNDM1Njg3N2I3NGVlOGFiZHAtMSwKLSAgICAweDEuMDM2ZjRiYTdlOTBhYXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmI1MTE3ZmVlMmVkYTdmMTNlcC0xLAotICAgIC0weDEuMTUwMDc2NmM5ZGYyMHAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZiNTExN2ZlZTJlZGE3ZjEzZXAtMSwKLSAgICAweDEuMTUwMDc2NmM5ZGYyMHAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIDB4MS5lYzIzMTgwMjkxN2JkZmZhNjI3YWI2YTU5YWJlM2Y3ZHAtMSwKLSAgICAtMHgxLjFlMmExNTYzZTA2OGVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIDB4MS5lYzIzMTgwMjkxN2JkZmZhNjI3YWI2YTU5YWJlM2Y3ZHAtMSwKLSAgICAweDEuMWUyYTE1NjNlMDY4ZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLmRjMDQ0YWM5MmI3ZmI5MDA3OTEzYzg3ZGI3NmZhNDlmcC04LAotICAgIC0weDEuMjExNWFhNzNmOGQwNXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjEKLSAgICAweDEuZGMwNDRhYzkyYjdmYjkwMDc5MTNjODdkYjc2ZmE0OWZwLTgsCi0gICAgMHgxLjIxMTVhYTczZjhkMDVwNQotICB9LAotICB7IC8vIEVudHJ5IDIyCi0gICAgMHgxLmQxZmE2N2M1MGRkNTI3ZjZlOWFiYmIwYmQwNjY0YWI5cC00LAotICAgIC0weDEuMzRlM2JjZGY4ZjY5YXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMKLSAgICAweDEuZDFmYTY3YzUwZGQ1MjdmNmU5YWJiYjBiZDA2NjRhYjlwLTQsCi0gICAgMHgxLjM0ZTNiY2RmOGY2OWFwMgotICB9LAotICB7IC8vIEVudHJ5IDI0Ci0gICAgMHgxLmUyZjhkMTlmYjhkYjg4MDU2ZGNkZGQ3NmY1YTA1YzIwcC0yLAotICAgIC0weDEuMzgwMDAwMDAwMDAwYnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUKLSAgICAweDEuZTJmOGQxOWZiOGRiODgwNTZkY2RkZDc2ZjVhMDVjMjBwLTIsCi0gICAgMHgxLjM4MDAwMDAwMDAwMGJwNwotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgMHgxLjhkYTljOTBjM2VkYTE3ZjViZDcwOGNmYzQxNGZmMWI4cC0xLAotICAgIC0weDEuNDQwMDAwMDA0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS44ZGE5YzkwYzNlZGExN2Y1YmQ3MDhjZmM0MTRmZjFiOHAtMSwKLSAgICAweDEuNDQwMDAwMDA0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOAotICAgIDB4MS5iNTliMzIwNjAzZjgzN2ZmMDE1ZTJhOTYxZTc1OTQ2ZXAtMSwKLSAgICAtMHgxLjU1MGM4ZWU2N2E0YzRwMjkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIDB4MS5iNTliMzIwNjAzZjgzN2ZmMDE1ZTJhOTYxZTc1OTQ2ZXAtMSwKLSAgICAweDEuNTUwYzhlZTY3YTRjNHAyOQotICB9LAotICB7IC8vIEVudHJ5IDMwCi0gICAgMHgxLmZmZmZmZjdhZjZjODg3ZTVmMzE4NjM3MWExN2RkODFmcC0xLAotICAgIC0weDEuNzExNzg5ZmRiMmU4YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMQotICAgIDB4MS5mZmZmZmY3YWY2Yzg4N2U1ZjMxODYzNzFhMTdkZDgxZnAtMSwKLSAgICAweDEuNzExNzg5ZmRiMmU4YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIDB4MS5jMWI2OGViYjBiNGZlODJlOGU5OWY5ZDQyNWVlOTAxYXAtMiwKLSAgICAtMHgxLjc3ZTAwMDAwMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMKLSAgICAweDEuYzFiNjhlYmIwYjRmZTgyZThlOTlmOWQ0MjVlZTkwMWFwLTIsCi0gICAgMHgxLjc3ZTAwMDAwMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAweDEuMTE2MWUxZGFkNzZkYmZkNTVmMDhjNGE0YTkwYmQ1NDdwLTQsCi0gICAgLTB4MS44MTA2NTYxOTMxYjQzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNQotICAgIDB4MS4xMTYxZTFkYWQ3NmRiZmQ1NWYwOGM0YTRhOTBiZDU0N3AtNCwKLSAgICAweDEuODEwNjU2MTkzMWI0M3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYKLSAgICAweDEuZjgyOGMzMjI2YjNkNzdjMzc0ZTc4OWQ3MjE2YTg1YjNwLTUsCi0gICAgLTB4MS44MjViZTI0NjFjYWQ0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNwotICAgIDB4MS5mODI4YzMyMjZiM2Q3N2MzNzRlNzg5ZDcyMTZhODViM3AtNSwKLSAgICAweDEuODI1YmUyNDYxY2FkNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgKLSAgICAweDEuZjI5OTBkNzQyZTlmYTgwZGQxOTQ4M2EyYzBkZTQyOGJwLTUsCi0gICAgLTB4MS44Mjg4NzU1ODAzYjA4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOQotICAgIDB4MS5mMjk5MGQ3NDJlOWZhODBkZDE5NDgzYTJjMGRlNDI4YnAtNSwKLSAgICAweDEuODI4ODc1NTgwM2IwOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAKLSAgICAtMHgxLmZmMTUwZGRhNzUyNGNlNjc4YWI5N2VlNDYwZThlOTYxcC0xLAotICAgIC0weDEuOGE3NTcwMWY0Y2NkM3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEKLSAgICAtMHgxLmZmMTUwZGRhNzUyNGNlNjc4YWI5N2VlNDYwZThlOTYxcC0xLAotICAgIDB4MS44YTc1NzAxZjRjY2QzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MgotICAgIDB4MS4wMTVjNDdjMzJiNTc0ODAyZWI4MWRlYjBkYjQ2YzIwN3AtMSwKLSAgICAtMHgxLmIzODkzMTZmMzdmMzdwMwotICB9LAotICB7IC8vIEVudHJ5IDQzCi0gICAgMHgxLjAxNWM0N2MzMmI1NzQ4MDJlYjgxZGViMGRiNDZjMjA3cC0xLAotICAgIDB4MS5iMzg5MzE2ZjM3ZjM3cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NAotICAgIDB4MS5kNjgxYTM2NmEwNTM0N2ZhNTZiNzVkODQ1YjMzYzdiYnAtMSwKLSAgICAtMHgxLmM2MDJjNDY1ZDdkMjdwNgotICB9LAotICB7IC8vIEVudHJ5IDQ1Ci0gICAgMHgxLmQ2ODFhMzY2YTA1MzQ3ZmE1NmI3NWQ4NDViMzNjN2JicC0xLAotICAgIDB4MS5jNjAyYzQ2NWQ3ZDI3cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NgotICAgIC0weDEuODRlODk2Yzc1NDNkNTRjMTZkN2JlMzQ2ZTBmNDAwMTdwLTEsCi0gICAgLTB4MS5jZmI4MWZlNjk2NjRjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NwotICAgIC0weDEuODRlODk2Yzc1NDNkNTRjMTZkN2JlMzQ2ZTBmNDAwMTdwLTEsCi0gICAgMHgxLmNmYjgxZmU2OTY2NGNwNAotICB9LAotICB7IC8vIEVudHJ5IDQ4Ci0gICAgMHgxLmZjNWRjZmRkZDU0YzA3ZjE1NzRjZTExNGMxZTVlZmZlcC0xLAotICAgIC0weDEuZDA4ZjJkODZiMTJjNnAxMwotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgMHgxLmZjNWRjZmRkZDU0YzA3ZjE1NzRjZTExNGMxZTVlZmZlcC0xLAotICAgIDB4MS5kMDhmMmQ4NmIxMmM2cDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAKLSAgICAweDEuZmU4MzIzNWZiZTAxNWQ2YzM2MTU1NmVlNWEwZTIyOTRwLTMsCi0gICAgLTB4MS5kZTEzZjA5NDNjNDk0cDk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAweDEuZmU4MzIzNWZiZTAxNWQ2YzM2MTU1NmVlNWEwZTIyOTRwLTMsCi0gICAgMHgxLmRlMTNmMDk0M2M0OTRwOTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIC0weDEuNzIwMzIxMjM5ZWM0ZjM4ZDU1YjQwZDg0NDUwOTljMmFwLTEsCi0gICAgLTB4MS5kZTNjMWYxMjg1ZThicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIC0weDEuNzIwMzIxMjM5ZWM0ZjM4ZDU1YjQwZDg0NDUwOTljMmFwLTEsCi0gICAgMHgxLmRlM2MxZjEyODVlOGJwMwotICB9LAotICB7IC8vIEVudHJ5IDU0Ci0gICAgMHgxLmY3MTQzYzhiYmE0MDZkNmY4MzRhM2JjYTVlOWM2YTU4cC00LAotICAgIC0weDEuZmZmZmZmZmZmZmY3ZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUKLSAgICAweDEuZjcxNDNjOGJiYTQwNmQ2ZjgzNGEzYmNhNWU5YzZhNThwLTQsCi0gICAgMHgxLmZmZmZmZmZmZmZmN2ZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDU2Ci0gICAgLTB4MS5mZmZlNjJlY2ZhYjc1M2MwNzFiMjY4MGUxZTI2YmJjZXAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDU3Ci0gICAgLTB4MS5mZmZlNjJlY2ZhYjc1M2MwNzFiMjY4MGUxZTI2YmJjZXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgKLSAgICAweDEuMDU1ZTQ1N2FjMTIyNzY2YTdhMzQzZWE0YWM3MzliMmVwLTUsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OQotICAgIDB4MS4wNTVlNDU3YWMxMjI3NjZhN2EzNDNlYTRhYzczOWIyZXAtNSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MAotICAgIDB4MS5jMTUyODA2NWI3ZDRlMmQ4NGQ2NDAzMDE4MDBkZGQ4MXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwM3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYxCi0gICAgMHgxLmMxNTI4MDY1YjdkNGUyZDg0ZDY0MDMwMTgwMGRkZDgxcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwM3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZhMHAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwM3AtMzIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmYTBwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAzcC0zMgotICB9LAotICB7IC8vIEVudHJ5IDY0Ci0gICAgMHgxLmZmZmVhNDQ0YmMwNWUwYjJlYzY5M2Y3MjI2ZDA1NmI4cC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDIwcDE1MAotICB9LAotICB7IC8vIEVudHJ5IDY1Ci0gICAgMHgxLmZmZmVhNDQ0YmMwNWUwYjJlYzY5M2Y3MjI2ZDA1NmI4cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAyMHAxNTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NgotICAgIC0weDEuZWJkZGVlODc2ZjQzMzhjYzg4NTM5NGQxMDM5YWNmZTFwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMzhwMzgwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcKLSAgICAtMHgxLmViZGRlZTg3NmY0MzM4Y2M4ODUzOTRkMTAzOWFjZmUxcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAzOHAzODAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OAotICAgIC0weDEuZjJmZmM1MWRjNjk2ODFkZWQzMzM2MjY0NWI0ZTg1MTNwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAxMThwMzgwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkKLSAgICAtMHgxLmYyZmZjNTFkYzY5NjgxZGVkMzMzNjI2NDViNGU4NTEzcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDExOHAzODAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MAotICAgIC0weDEuZjhmYmI0ZDM1OGIyMDdmNGY4MWMzNmNmMjFjNGFmOTdwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAzZmZwNjQxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEKLSAgICAtMHgxLmY4ZmJiNGQzNThiMjA3ZjRmODFjMzZjZjIxYzRhZjk3cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDNmZnA2NDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MgotICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDEwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCi0gICAgLTB4MS4wMDAwMDAwMDAxMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQKLSAgICAweDEuZmQxMjQyYzI1OTk0ZDBjYzVkYWY0MDVmYTUxMGU1MzlwLTEsCi0gICAgMHgxLjAwMDAwMDAwOHA0NTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NQotICAgIDB4MS5mZDEyNDJjMjU5OTRkMGNjNWRhZjQwNWZhNTEwZTUzOXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwOHA0NTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NgotICAgIDB4MS5mZmZjMDAwMTU1NGRhODAwMDA0ODgyOGRlOTdhY2NjYnAtMSwKLSAgICAweDEuMDAwMDAwMDBlZmZhZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgMHgxLmZmZmMwMDAxNTU0ZGE4MDAwMDQ4ODI4ZGU5N2FjY2NicC0xLAotICAgIC0weDEuMDAwMDAwMDBlZmZhZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgMHgxLjE0YTI3ZjI5MjU1MjI4MDAwMGRkMzBmYmY2YjM4NDgxcC0xLAotICAgIDB4MS4wMDAwMDExNGZlZmUycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OQotICAgIDB4MS4xNGEyN2YyOTI1NTIyODAwMDBkZDMwZmJmNmIzODQ4MXAtMSwKLSAgICAtMHgxLjAwMDAwMTE0ZmVmZTJwMAotICB9LAotICB7IC8vIEVudHJ5IDgwCi0gICAgMHgxLmJmODFlMDI2OWM1OWM3ZmY3NTNjYTMyMTQ3NjY2YzU2cC0zLAotICAgIDB4MS4wMDAwMDcwcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgODEKLSAgICAweDEuYmY4MWUwMjY5YzU5YzdmZjc1M2NhMzIxNDc2NjZjNTZwLTMsCi0gICAgLTB4MS4wMDAwMDcwcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAweDEuMTRhMjZlZDE5NjBkNjdmZmZmZGY4ZDEzYjQzZmEyYjRwLTEsCi0gICAgMHgxLjAwMDAwYWNhZGIzZDNwMAotICB9LAotICB7IC8vIEVudHJ5IDgzCi0gICAgMHgxLjE0YTI2ZWQxOTYwZDY3ZmZmZmRmOGQxM2I0M2ZhMmI0cC0xLAotICAgIC0weDEuMDAwMDBhY2FkYjNkM3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODQKLSAgICAweDEuZmZmZmZmZmZiZmZmZTdmZmZmMTU1NjU1NTU5YTdkMmRwLTEsCi0gICAgMHgxLjAwMDAzcC0xNwotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgMHgxLmZmZmZmZmZmYmZmZmU3ZmZmZjE1NTY1NTU1OWE3ZDJkcC0xLAotICAgIC0weDEuMDAwMDNwLTE3Ci0gIH0sCi0gIHsgLy8gRW50cnkgODYKLSAgICAweDEuZmZmZmZmZmZlZmZmZjdmZmZmMTVmOTZhZDNiMjlkOTRwLTEsCi0gICAgMHgxLjAwMDAzZmZmZmZmYWVwLTE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgODcKLSAgICAweDEuZmZmZmZmZmZlZmZmZjdmZmZmMTVmOTZhZDNiMjlkOTRwLTEsCi0gICAgLTB4MS4wMDAwM2ZmZmZmZmFlcC0xOAotICB9LAotICB7IC8vIEVudHJ5IDg4Ci0gICAgMHgxLmZmZmZmZmZmZWZmZmY3ZmZmZjE1NTc2YWFiMzI5ZjQ1cC0xLAotICAgIDB4MS4wMDAwM2ZmZmZmZmZmcC0xOAotICB9LAotICB7IC8vIEVudHJ5IDg5Ci0gICAgMHgxLmZmZmZmZmZmZWZmZmY3ZmZmZjE1NTc2YWFiMzI5ZjQ1cC0xLAotICAgIC0weDEuMDAwMDNmZmZmZmZmZnAtMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MAotICAgIC0weDEuZGFiN2VmZWIzNWJhZDdmYmRjYjBlZmVkYjY2MjA5N2NwLTIsCi0gICAgMHgxLjAwMDA3ZmZmZmRlYTBwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIC0weDEuZGFiN2VmZWIzNWJhZDdmYmRjYjBlZmVkYjY2MjA5N2NwLTIsCi0gICAgLTB4MS4wMDAwN2ZmZmZkZWEwcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTIKLSAgICAweDEuZmZmZmZmZmZmYmZmZjgwMDAwMDE1OTVhYTlhZmZmY2ZwLTEsCi0gICAgMHgxLjAwMDBmZmZmOHAtMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MwotICAgIDB4MS5mZmZmZmZmZmZiZmZmODAwMDAwMTU5NWFhOWFmZmZjZnAtMSwKLSAgICAtMHgxLjAwMDBmZmZmOHAtMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NAotICAgIDB4MS5mZmZmZmZmZmZlZmZmODAwMDAwMDRiMzY0MjMwNTBmNnAtMSwKLSAgICAweDEuMDAwM2ZmZjgwMDA1MXAtMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NQotICAgIDB4MS5mZmZmZmZmZmZlZmZmODAwMDAwMDRiMzY0MjMwNTBmNnAtMSwKLSAgICAtMHgxLjAwMDNmZmY4MDAwNTFwLTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYKLSAgICAweDEuZmZmZmZmZmZmZWZmZjgwMDAwMDA0Mjk2MWZiMDk1ZjdwLTEsCi0gICAgMHgxLjAwMDNmZmY4MDAwOTZwLTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAweDEuZmZmZmZmZmZmZWZmZjgwMDAwMDA0Mjk2MWZiMDk1ZjdwLTEsCi0gICAgLTB4MS4wMDAzZmZmODAwMDk2cC0yMAotICB9LAotICB7IC8vIEVudHJ5IDk4Ci0gICAgLTB4MS5mYmYyYjcxYTIzYTU3N2ZkZGQwODFkMzBiYzI0OTE3ZnAtMiwKLSAgICAweDEuMDAwZmQyMHAzMzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OQotICAgIC0weDEuZmJmMmI3MWEyM2E1NzdmZGRkMDgxZDMwYmMyNDkxN2ZwLTIsCi0gICAgLTB4MS4wMDBmZDIwcDMzNAotICB9LAotICB7IC8vIEVudHJ5IDEwMAotICAgIDB4MS5mY2NjODdlYWU3NzM2ZDhkOGE0Nzc2MzE0ZjZiMGJhN3AtNSwKLSAgICAweDEuMDAzcDUxNAotICB9LAotICB7IC8vIEVudHJ5IDEwMQotICAgIDB4MS5mY2NjODdlYWU3NzM2ZDhkOGE0Nzc2MzE0ZjZiMGJhN3AtNSwKLSAgICAtMHgxLjAwM3A1MTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIKLSAgICAtMHgxLmE0M2Y0MGQ5MmI3ZWQ3ZWVmMGZlNmQxNzk5NDQyY2ZhcC03LAotICAgIDB4MS4wMDYwMDAwMDAxNWY0cDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgLTB4MS5hNDNmNDBkOTJiN2VkN2VlZjBmZTZkMTc5OTQ0MmNmYXAtNywKLSAgICAtMHgxLjAwNjAwMDAwMDE1ZjRwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQKLSAgICAweDEuYzExY2MzOGY0MGFiMjgyN2RkMGZmOGM2ZjNkZDFkYWZwLTEsCi0gICAgMHgxLjAwN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIDB4MS5jMTFjYzM4ZjQwYWIyODI3ZGQwZmY4YzZmM2RkMWRhZnAtMSwKLSAgICAtMHgxLjAwN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIDB4MS5mZmZmZmZmZmZmYmZjN2YzYzAwMDAxNTdhYzMzMWQwY3AtMSwKLSAgICAweDEuMDA3cC0yMQotICB9LAotICB7IC8vIEVudHJ5IDEwNwotICAgIDB4MS5mZmZmZmZmZmZmYmZjN2YzYzAwMDAxNTdhYzMzMWQwY3AtMSwKLSAgICAtMHgxLjAwN3AtMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAweDEuZTliYTk4MjMxZjczNDZlMDU2NjY5NGUxNDg0YTViOThwLTgsCi0gICAgMHgxLjAwY3A0MAotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIDB4MS5lOWJhOTgyMzFmNzM0NmUwNTY2Njk0ZTE0ODRhNWI5OHAtOCwKLSAgICAtMHgxLjAwY3A0MAotICB9LAotICB7IC8vIEVudHJ5IDExMAotICAgIDB4MS5mZWZkZjQ4ZWQ2NDljZDA4N2UzZTgwMTIxOWVkZjgwNHAtMSwKLSAgICAweDEuMDExcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExCi0gICAgMHgxLmZlZmRmNDhlZDY0OWNkMDg3ZTNlODAxMjE5ZWRmODA0cC0xLAotICAgIC0weDEuMDExcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEyCi0gICAgLTB4MS5mZmMxNmEwZjEyZmYyNzFjZWQ3MmZjNjU5ZGRjZDM4MnAtMSwKLSAgICAweDEuMDExcDk5NgotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIC0weDEuZmZjMTZhMGYxMmZmMjcxY2VkNzJmYzY1OWRkY2QzODJwLTEsCi0gICAgLTB4MS4wMTFwOTk2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0Ci0gICAgMHgxLmVmZDViNjFhMzBhMzg3ZmZmMTQwMDUxOTg0NWZjYjFlcC0xLAotICAgIDB4MS4wMjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUKLSAgICAweDEuZWZkNWI2MWEzMGEzODdmZmYxNDAwNTE5ODQ1ZmNiMWVwLTEsCi0gICAgLTB4MS4wMjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYKLSAgICAweDEuYzk3YjgxNjFkYzUwYTA2Y2Q0ODAxZGVlYjhlMDcxNWJwLTIsCi0gICAgMHgxLjAyMDQyNjBjMTgzMDdwNTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTcKLSAgICAweDEuYzk3YjgxNjFkYzUwYTA2Y2Q0ODAxZGVlYjhlMDcxNWJwLTIsCi0gICAgLTB4MS4wMjA0MjYwYzE4MzA3cDU5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE4Ci0gICAgLTB4MS5iZjI2YTNjOWI5ZmJlODM0ODg0NDkzNDNmMDhiMDhkN3AtMiwKLSAgICAweDEuMDJlNzhhMzIxMTU1ZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgLTB4MS5iZjI2YTNjOWI5ZmJlODM0ODg0NDkzNDNmMDhiMDhkN3AtMiwKLSAgICAtMHgxLjAyZTc4YTMyMTE1NWVwMQotICB9LAotICB7IC8vIEVudHJ5IDEyMAotICAgIDB4MS5mZWY4MDZiMWY4NGU0ZGZkNWY3MTMwN2EzYzNlYjYwMnAtMSwKLSAgICAweDEuMDQwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIxCi0gICAgMHgxLmZlZjgwNmIxZjg0ZTRkZmQ1ZjcxMzA3YTNjM2ViNjAycC0xLAotICAgIC0weDEuMDQwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyCi0gICAgMHgxLmZlODUxZmJmODdkMTc2ZmI0YzY5Mjk1YzdmOTI4NDAycC0xLAotICAgIDB4MS4wNGJkZThiYjgwMjU4cDk4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgMHgxLmZlODUxZmJmODdkMTc2ZmI0YzY5Mjk1YzdmOTI4NDAycC0xLAotICAgIC0weDEuMDRiZGU4YmI4MDI1OHA5OAotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS43MGY2YTUxZGE4ZWZlYzM5OGU3NDE2OWU3NzEzODZlYXAtMSwKLSAgICAweDEuMDc3ZTc0OWUzN2NlZXAyMzYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAweDEuNzBmNmE1MWRhOGVmZWMzOThlNzQxNjllNzcxMzg2ZWFwLTEsCi0gICAgLTB4MS4wNzdlNzQ5ZTM3Y2VlcDIzNgotICB9LAotICB7IC8vIEVudHJ5IDEyNgotICAgIDB4MS42YjQwOGM4NTZiZGE1N2ZlNTgyOWE1ODM2MWZlYTExMnAtMywKLSAgICAweDEuMDdmODBwMzAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI3Ci0gICAgMHgxLjZiNDA4Yzg1NmJkYTU3ZmU1ODI5YTU4MzYxZmVhMTEycC0zLAotICAgIC0weDEuMDdmODBwMzAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4Ci0gICAgMHgxLjJiMmY5NjVhZTQwZmM3ZmZmZmJjYTBiN2VhZWM1OTE5cC0xLAotICAgIDB4MS4wN2Y5YmVhMWIzNTQ2cDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI5Ci0gICAgMHgxLjJiMmY5NjVhZTQwZmM3ZmZmZmJjYTBiN2VhZWM1OTE5cC0xLAotICAgIC0weDEuMDdmOWJlYTFiMzU0NnAyNwotICB9LAotICB7IC8vIEVudHJ5IDEzMAotICAgIC0weDEuNGVlZDJmM2ZjNzZhNzdmODAzZDg5MTFlZWRkY2M1ZThwLTEsCi0gICAgMHgxLjA5MGQxODM3MmYyZDVwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMQotICAgIC0weDEuNGVlZDJmM2ZjNzZhNzdmODAzZDg5MTFlZWRkY2M1ZThwLTEsCi0gICAgLTB4MS4wOTBkMTgzNzJmMmQ1cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIKLSAgICAweDEuZmJhNTlhZWNlZTUwMDAzMTVjZWUzMjMwNzllZDE0MjdwLTEsCi0gICAgMHgxLjBiNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzMwotICAgIDB4MS5mYmE1OWFlY2VlNTAwMDMxNWNlZTMyMzA3OWVkMTQyN3AtMSwKLSAgICAtMHgxLjBiNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzNAotICAgIDB4MS5mZmZkMWJjZGE3YTdkNTUxMGFhM2QwZWQ4YWRkYzc4NXAtMSwKLSAgICAweDEuMGMwZDVjMmFmM2MyZXAzNDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUKLSAgICAweDEuZmZmZDFiY2RhN2E3ZDU1MTBhYTNkMGVkOGFkZGM3ODVwLTEsCi0gICAgLTB4MS4wYzBkNWMyYWYzYzJlcDM0NgotICB9LAotICB7IC8vIEVudHJ5IDEzNgotICAgIC0weDEuZTRkZmU4MzEyOTI4NjdmZGMxMzMzYzBhNGMzZjNmNzBwLTEsCi0gICAgMHgxLjBkMzA1OTZlZTkxZmRwMjE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM3Ci0gICAgLTB4MS5lNGRmZTgzMTI5Mjg2N2ZkYzEzMzNjMGE0YzNmM2Y3MHAtMSwKLSAgICAtMHgxLjBkMzA1OTZlZTkxZmRwMjE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4Ci0gICAgMHgxLmZiODQzMjg4NmEyODNiMTdhY2FhNTI0ZTMxMmFiMWUzcC0yLAotICAgIDB4MS4wZDZwMAotICB9LAotICB7IC8vIEVudHJ5IDEzOQotICAgIDB4MS5mYjg0MzI4ODZhMjgzYjE3YWNhYTUyNGUzMTJhYjFlM3AtMiwKLSAgICAtMHgxLjBkNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQwCi0gICAgMHgxLmZmZmZlZTIwMjg1M2ZmYmJjMTY4NDg0NzAxOTcyN2EwcC0xLAotICAgIDB4MS4wZTk0NzRjNjg4MzFjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDE0MQotICAgIDB4MS5mZmZmZWUyMDI4NTNmZmJiYzE2ODQ4NDcwMTk3MjdhMHAtMSwKLSAgICAtMHgxLjBlOTQ3NGM2ODgzMWNwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQyCi0gICAgLTB4MS5iNzBkM2Q1NTg0YjFhODNjNjhlMjU0ZTUyM2QzN2RmZHAtMiwKLSAgICAweDEuMTEzYmFlNDA0OTg0OXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQzCi0gICAgLTB4MS5iNzBkM2Q1NTg0YjFhODNjNjhlMjU0ZTUyM2QzN2RmZHAtMiwKLSAgICAtMHgxLjExM2JhZTQwNDk4NDlwMgotICB9LAotICB7IC8vIEVudHJ5IDE0NAotICAgIDB4MS5mZWQ4ZGY1OGY2MjVmZGNiYjFlNDBjZjgzY2FhMmNhMnAtMSwKLSAgICAweDEuMTJlYjg3MDk3NjU0MHAtNAotICB9LAotICB7IC8vIEVudHJ5IDE0NQotICAgIDB4MS5mZWQ4ZGY1OGY2MjVmZGNiYjFlNDBjZjgzY2FhMmNhMnAtMSwKLSAgICAtMHgxLjEyZWI4NzA5NzY1NDBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDYKLSAgICAweDEuZTUzNmFlMzk1ZGZjZTAwMTQ1Nzk3MGM4YWFhYzNiMWZwLTIsCi0gICAgMHgxLjEzY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ3Ci0gICAgMHgxLmU1MzZhZTM5NWRmY2UwMDE0NTc5NzBjOGFhYWMzYjFmcC0yLAotICAgIC0weDEuMTNjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDgKLSAgICAweDEuZmVkMDQ3NmZjNzVjOTgwMDAwMDAwMDAwMDAyMGIxM2VwLTEsCi0gICAgMHgxLjE2ZTUzNGVlMzY1ODBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDkKLSAgICAweDEuZmVkMDQ3NmZjNzVjOTgwMDAwMDAwMDAwMDAyMGIxM2VwLTEsCi0gICAgLTB4MS4xNmU1MzRlZTM2NTgwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUwCi0gICAgMHgxLmZiMzhlODJlMzE5M2E3ZjE5YTE3ZDIzMWEyZTgxOTRlcC0xLAotICAgIDB4MS4xN2ZmZmZmZmZlYTk4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgMHgxLmZiMzhlODJlMzE5M2E3ZjE5YTE3ZDIzMWEyZTgxOTRlcC0xLAotICAgIC0weDEuMTdmZmZmZmZmZWE5OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDE1MgotICAgIDB4MS5mYjM4ZTgyZTMxODdmYzY1NzQ3YWU0NDM0NjFlYjQzNHAtMSwKLSAgICAweDEuMTgwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUzCi0gICAgMHgxLmZiMzhlODJlMzE4N2ZjNjU3NDdhZTQ0MzQ2MWViNDM0cC0xLAotICAgIC0weDEuMTgwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgLTB4MS5lNTk2NDdmMWZlOWM3NTAwNTliOWVhZmI4OGMyYWNlYXAtMSwKLSAgICAweDEuMWExOTFlYmJiNGQ3ZnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU1Ci0gICAgLTB4MS5lNTk2NDdmMWZlOWM3NTAwNTliOWVhZmI4OGMyYWNlYXAtMSwKLSAgICAtMHgxLjFhMTkxZWJiYjRkN2ZwNwotICB9LAotICB7IC8vIEVudHJ5IDE1NgotICAgIC0weDEuZDBkY2ExZjg3MTViZDdmOWZmMzczYzc2MzUyMmRiMGVwLTQsCi0gICAgMHgxLjFkYTg0ZjJiN2IxZDhwNwotICB9LAotICB7IC8vIEVudHJ5IDE1NwotICAgIC0weDEuZDBkY2ExZjg3MTViZDdmOWZmMzczYzc2MzUyMmRiMGVwLTQsCi0gICAgLTB4MS4xZGE4NGYyYjdiMWQ4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTgKLSAgICAweDEuYjkxN2ViYmMzMGUxZDgzNjRiYzNjMmMxMGVhMTM1MzlwLTIsCi0gICAgMHgxLjIwMWU5NzMyNTEzMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDE1OQotICAgIDB4MS5iOTE3ZWJiYzMwZTFkODM2NGJjM2MyYzEwZWExMzUzOXAtMiwKLSAgICAtMHgxLjIwMWU5NzMyNTEzMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDE2MAotICAgIDB4MS5mZmZhZGYxMmZmNDE0N2Y2ZjZmMzViNDRiMGY2Y2I0NnAtMSwKLSAgICAweDEuMjFlMDJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjEKLSAgICAweDEuZmZmYWRmMTJmZjQxNDdmNmY2ZjM1YjQ0YjBmNmNiNDZwLTEsCi0gICAgLTB4MS4yMWUwMnAtNwotICB9LAotICB7IC8vIEVudHJ5IDE2MgotICAgIC0weDEuNTk4YTRkYWIzZGU1OTdkNTJmYWE3MzY3NjJhM2Y2NTFwLTEsCi0gICAgMHgxLjI3ZTI5YTRiOTg1YmZwMQotICB9LAotICB7IC8vIEVudHJ5IDE2MwotICAgIC0weDEuNTk4YTRkYWIzZGU1OTdkNTJmYWE3MzY3NjJhM2Y2NTFwLTEsCi0gICAgLTB4MS4yN2UyOWE0Yjk4NWJmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAweDEuZmE5NWMxMTU0YWJmNTZjNGRiYjc3YmZlNWU0ZThmNDJwLTEsCi0gICAgMHgxLjJhMWYyOGRiZmI2YzBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAweDEuZmE5NWMxMTU0YWJmNTZjNGRiYjc3YmZlNWU0ZThmNDJwLTEsCi0gICAgLTB4MS4yYTFmMjhkYmZiNmMwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgLTB4MS42NDEyMjkzYWRiN2JjYTk3NzMxZTUwYTg2MzEyZGEyZHAtMSwKLSAgICAweDEuMmI4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjcKLSAgICAtMHgxLjY0MTIyOTNhZGI3YmNhOTc3MzFlNTBhODYzMTJkYTJkcC0xLAotICAgIC0weDEuMmI4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjgKLSAgICAweDEuZmZmYTUxOGE3ZDBlNzdmM2I0MzFmY2QwYmEzNTMwOTVwLTEsCi0gICAgMHgxLjMxMTk5ZGVmNzJmNGRwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjkKLSAgICAweDEuZmZmYTUxOGE3ZDBlNzdmM2I0MzFmY2QwYmEzNTMwOTVwLTEsCi0gICAgLTB4MS4zMTE5OWRlZjcyZjRkcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcwCi0gICAgMHgxLmYzNjg5NWZlMTc3Zjc3ZmU4NDc5ODI2NGFkNGYzM2IxcC0xLAotICAgIDB4MS4zMTI2MGUxNDg1MDE0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzEKLSAgICAweDEuZjM2ODk1ZmUxNzdmNzdmZTg0Nzk4MjY0YWQ0ZjMzYjFwLTEsCi0gICAgLTB4MS4zMTI2MGUxNDg1MDE0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzIKLSAgICAweDEuZDM2MjA3YjRmZWUxNjdmNmIzMTg1ZmRkOTI5NGEyMzNwLTQsCi0gICAgMHgxLjM0ZTk2NGNkMTAzYmRwMgotICB9LAotICB7IC8vIEVudHJ5IDE3MwotICAgIDB4MS5kMzYyMDdiNGZlZTE2N2Y2YjMxODVmZGQ5Mjk0YTIzM3AtNCwKLSAgICAtMHgxLjM0ZTk2NGNkMTAzYmRwMgotICB9LAotICB7IC8vIEVudHJ5IDE3NAotICAgIC0weDEuODRhMzdmNGZhNzYxNmNhYWQ2NmI0ZDcwMWFiNTNlOTRwLTEsCi0gICAgMHgxLjM3NjE4YTBiYTc4NTBwMQotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIC0weDEuODRhMzdmNGZhNzYxNmNhYWQ2NmI0ZDcwMWFiNTNlOTRwLTEsCi0gICAgLTB4MS4zNzYxOGEwYmE3ODUwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzYKLSAgICAtMHgxLmM4MzBiYmM5OWUyMjkwZjlkOTNhYTYyYjJkZGZlYzk3cC0zOSwKLSAgICAweDEuMzc5NzA0ZjVmMWViM3AyNAotICB9LAotICB7IC8vIEVudHJ5IDE3NwotICAgIC0weDEuYzgzMGJiYzk5ZTIyOTBmOWQ5M2FhNjJiMmRkZmVjOTdwLTM5LAotICAgIC0weDEuMzc5NzA0ZjVmMWViM3AyNAotICB9LAotICB7IC8vIEVudHJ5IDE3OAotICAgIDB4MS5iNWRhYWEyMzNiZDRmN2ZjZjM0YjZkNWQwMjgwMTcyZnAtMywKLSAgICAweDEuM2I2MWRkMTY2ZDQ3MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc5Ci0gICAgMHgxLmI1ZGFhYTIzM2JkNGY3ZmNmMzRiNmQ1ZDAyODAxNzJmcC0zLAotICAgIC0weDEuM2I2MWRkMTY2ZDQ3MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgwCi0gICAgLTB4MS5mZmQwMGRjNGRiNDAwZDk2MmUyZDI1NWE2NjFlM2NjYnAtNCwKLSAgICAweDEuM2MwMTEwMjJhY2JkMHAzNwotICB9LAotICB7IC8vIEVudHJ5IDE4MQotICAgIC0weDEuZmZkMDBkYzRkYjQwMGQ5NjJlMmQyNTVhNjYxZTNjY2JwLTQsCi0gICAgLTB4MS4zYzAxMTAyMmFjYmQwcDM3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgyCi0gICAgLTB4MS4xNDA1MmI0MDE2ZmY1N2ZlNTc1MGVkMzQyNmJmZDc1OHAtMSwKLSAgICAweDEuM2U3Nzg4ZTkwMGI3MHA3MjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODMKLSAgICAtMHgxLjE0MDUyYjQwMTZmZjU3ZmU1NzUwZWQzNDI2YmZkNzU4cC0xLAotICAgIC0weDEuM2U3Nzg4ZTkwMGI3MHA3MjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODQKLSAgICAweDEuZmZmZmU2YTVlNDE5N2Y1ZmM1MGFjYjE4OWViODVjOTRwLTEsCi0gICAgMHgxLjQyM2VhZmRjYzI3NzlwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg1Ci0gICAgMHgxLmZmZmZlNmE1ZTQxOTdmNWZjNTBhY2IxODllYjg1Yzk0cC0xLAotICAgIC0weDEuNDIzZWFmZGNjMjc3OXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODYKLSAgICAtMHgxLmZlMDlmYzNkMTZmZWRkNzUwODMwMWRmNjg4NTdiNzU2cC02LAotICAgIDB4MS40MzIxODI4YzFiNTM4cDExOQotICB9LAotICB7IC8vIEVudHJ5IDE4NwotICAgIC0weDEuZmUwOWZjM2QxNmZlZGQ3NTA4MzAxZGY2ODg1N2I3NTZwLTYsCi0gICAgLTB4MS40MzIxODI4YzFiNTM4cDExOQotICB9LAotICB7IC8vIEVudHJ5IDE4OAotICAgIDB4MS5iNjg1ZDk0OWEyN2EwMTQzYzRhYzliNTUzNTQxZWJlY3AtMTQsCi0gICAgMHgxLjQzNTA2Y2IyMjk3NWRwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODkKLSAgICAweDEuYjY4NWQ5NDlhMjdhMDE0M2M0YWM5YjU1MzU0MWViZWNwLTE0LAotICAgIC0weDEuNDM1MDZjYjIyOTc1ZHAyMgotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIDB4MS5mZTM5ODA5MGUyMDNiYzJmNmZlNjgzMGQzODBmYWNjNHAtMSwKLSAgICAweDEuNDM5ZjYzNDk1Nzg2YXA2NwotICB9LAotICB7IC8vIEVudHJ5IDE5MQotICAgIDB4MS5mZTM5ODA5MGUyMDNiYzJmNmZlNjgzMGQzODBmYWNjNHAtMSwKLSAgICAtMHgxLjQzOWY2MzQ5NTc4NmFwNjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTIKLSAgICAweDEuZmU2Mjc0ZTAwMDk3M2EyNmMxYTAwNTNlM2ZkZWZmYzdwLTEsCi0gICAgMHgxLjQ1NzUzOGE2YmQwNzNwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTMKLSAgICAweDEuZmU2Mjc0ZTAwMDk3M2EyNmMxYTAwNTNlM2ZkZWZmYzdwLTEsCi0gICAgLTB4MS40NTc1MzhhNmJkMDczcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk0Ci0gICAgMHgxLjA5ZmNiNjkzNTljMDlkNTczOWYxZjAyNTVkNGZjZTgzcC0xLAotICAgIDB4MS40NzhmYzA4cDQzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk1Ci0gICAgMHgxLjA5ZmNiNjkzNTljMDlkNTczOWYxZjAyNTVkNGZjZTgzcC0xLAotICAgIC0weDEuNDc4ZmMwOHA0MwotICB9LAotICB7IC8vIEVudHJ5IDE5NgotICAgIC0weDEuMjBjMjE1ODUxMWU3ODk5ZjFlYzM3OWU5MGMyOTY3ODBwLTksCi0gICAgMHgxLjQ4YTQ1Nzk3Y2JlNjNwNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTcKLSAgICAtMHgxLjIwYzIxNTg1MTFlNzg5OWYxZWMzNzllOTBjMjk2NzgwcC05LAotICAgIC0weDEuNDhhNDU3OTdjYmU2M3A2MQotICB9LAotICB7IC8vIEVudHJ5IDE5OAotICAgIDB4MS45OTBkMTdhYWUyNTMwN2ZlYzRhZTZkNGU5OGYzMDA5M3AtMSwKLSAgICAweDEuNGE2MmUwZTEyYzE3M3AtMQotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIDB4MS45OTBkMTdhYWUyNTMwN2ZlYzRhZTZkNGU5OGYzMDA5M3AtMSwKLSAgICAtMHgxLjRhNjJlMGUxMmMxNzNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAweDEuZmRkNGYxZTAwYjM4NzAwNDE5Zjk2ZDM0MTkwNWQwNDVwLTMsCi0gICAgMHgxLjRjNTk2NjQyYTk0ODhwOQotICB9LAotICB7IC8vIEVudHJ5IDIwMQotICAgIDB4MS5mZGQ0ZjFlMDBiMzg3MDA0MTlmOTZkMzQxOTA1ZDA0NXAtMywKLSAgICAtMHgxLjRjNTk2NjQyYTk0ODhwOQotICB9LAotICB7IC8vIEVudHJ5IDIwMgotICAgIDB4MS5mZTRmMTQxMDMyZjM3N2ZlMTM1YjEzZTA0NDM2YzVmZnAtMSwKLSAgICAweDEuNGQwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMHgxLmZlNGYxNDEwMzJmMzc3ZmUxMzViMTNlMDQ0MzZjNWZmcC0xLAotICAgIC0weDEuNGQwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgMHgxLjk0ZTlmNDVkNDNjMTM3YTNmMzQ1NjQ0MjQwYTJjZWYwcC0yLAotICAgIDB4MS40ZjBmMzA4cDQ4OAotICB9LAotICB7IC8vIEVudHJ5IDIwNQotICAgIDB4MS45NGU5ZjQ1ZDQzYzEzN2EzZjM0NTY0NDI0MGEyY2VmMHAtMiwKLSAgICAtMHgxLjRmMGYzMDhwNDg4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA2Ci0gICAgMHgxLjkzNTVmNjlhZDQzMjY0MDQ4MjdjZDVjY2ZmOGEwYzY5cC0yLAotICAgIDB4MS41MmYwMGUwcDc5MwotICB9LAotICB7IC8vIEVudHJ5IDIwNwotICAgIDB4MS45MzU1ZjY5YWQ0MzI2NDA0ODI3Y2Q1Y2NmZjhhMGM2OXAtMiwKLSAgICAtMHgxLjUyZjAwZTBwNzkzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA4Ci0gICAgMHgxLjFhMTliZThiZWExMGE4MDFkMGIyZDA5ZDk1MDljMmM0cC0xLAotICAgIDB4MS41MmYwNmM3MzBlYzAycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDkKLSAgICAweDEuMWExOWJlOGJlYTEwYTgwMWQwYjJkMDlkOTUwOWMyYzRwLTEsCi0gICAgLTB4MS41MmYwNmM3MzBlYzAycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTAKLSAgICAweDEuMzg1ZDkyZWMwYzczMzdmZWEzOTQ5M2Y2ZjI2NzQzMjhwLTEsCi0gICAgMHgxLjUzZTdkNTg0NWZlM2RwMjIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjExCi0gICAgMHgxLjM4NWQ5MmVjMGM3MzM3ZmVhMzk0OTNmNmYyNjc0MzI4cC0xLAotICAgIC0weDEuNTNlN2Q1ODQ1ZmUzZHAyMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAweDEuZmZmZmZmZmZmZTJmMGYwMDAwMDA0NjVlMzU5MmJmZmJwLTEsCi0gICAgMHgxLjU5MHAtMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTMKLSAgICAweDEuZmZmZmZmZmZmZTJmMGYwMDAwMDA0NjVlMzU5MmJmZmJwLTEsCi0gICAgLTB4MS41OTBwLTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgLTB4MS5mZmQ3YmMyOGRlZDkxZmZhMjAwZDY3NzEwOTI1MTgwMXAtMSwKLSAgICAweDEuNTkyZjExNzZmMDk4MHA4NgotICB9LAotICB7IC8vIEVudHJ5IDIxNQotICAgIC0weDEuZmZkN2JjMjhkZWQ5MWZmYTIwMGQ2NzcxMDkyNTE4MDFwLTEsCi0gICAgLTB4MS41OTJmMTE3NmYwOTgwcDg2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE2Ci0gICAgLTB4MS5jZWUyOGIzZDc5Nzk5MDAwMDA5ZWE4MDgxMjQ0MTE2Y3AtMSwKLSAgICAweDEuNTk5OTk5OWRjMDlkY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE3Ci0gICAgLTB4MS5jZWUyOGIzZDc5Nzk5MDAwMDA5ZWE4MDgxMjQ0MTE2Y3AtMSwKLSAgICAtMHgxLjU5OTk5OTlkYzA5ZGNwMQotICB9LAotICB7IC8vIEVudHJ5IDIxOAotICAgIDB4MS5jMWYxZWIwOGMyNjA0MGEzMjgwMGYwODc5NTJhMzgzY3AtMSwKLSAgICAweDEuNWJlYTAxMHA0NjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTkKLSAgICAweDEuYzFmMWViMDhjMjYwNDBhMzI4MDBmMDg3OTUyYTM4M2NwLTEsCi0gICAgLTB4MS41YmVhMDEwcDQ2OAotICB9LAotICB7IC8vIEVudHJ5IDIyMAotICAgIDB4MS5mZmZlMzVhYjA5YTY1M2UyNjZlYWRhNmY0NDA1NTIxNHAtMSwKLSAgICAweDEuNWNiODBhNjEzNWU1YXAxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIxCi0gICAgMHgxLmZmZmUzNWFiMDlhNjUzZTI2NmVhZGE2ZjQ0MDU1MjE0cC0xLAotICAgIC0weDEuNWNiODBhNjEzNWU1YXAxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIyCi0gICAgLTB4MS4wN2I4NWY2MDZlNzVkNzY1YjFhYTNiYmNjYmE2ZWFmOHAtMywKLSAgICAweDEuNWQ1YmU0ODczMGQyZHAxMwotICB9LAotICB7IC8vIEVudHJ5IDIyMwotICAgIC0weDEuMDdiODVmNjA2ZTc1ZDc2NWIxYWEzYmJjY2JhNmVhZjhwLTMsCi0gICAgLTB4MS41ZDViZTQ4NzMwZDJkcDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI0Ci0gICAgMHgxLmZmZmZmZmZmZmY4NjIzOWMwMDAwMDRkNTgxYjA1NWVicC0xLAotICAgIDB4MS42MTRwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI1Ci0gICAgMHgxLmZmZmZmZmZmZmY4NjIzOWMwMDAwMDRkNTgxYjA1NWVicC0xLAotICAgIC0weDEuNjE0cC0yMQotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIC0weDEuZGQzYTgwNmU4OWNmMTdmZmZmZjE2ZWNkNTM5N2I0ODZwLTEsCi0gICAgMHgxLjYyYWRjOGE2NjAzNjRwMQotICB9LAotICB7IC8vIEVudHJ5IDIyNwotICAgIC0weDEuZGQzYTgwNmU4OWNmMTdmZmZmZjE2ZWNkNTM5N2I0ODZwLTEsCi0gICAgLTB4MS42MmFkYzhhNjYwMzY0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjgKLSAgICAtMHgxLjQzMDhiMTRmNGI2ZWRjNGMwN2VlNjg5NWYzMTg4YWYzcC0xLAotICAgIDB4MS42NGVmNDM4cDE0MgotICB9LAotICB7IC8vIEVudHJ5IDIyOQotICAgIC0weDEuNDMwOGIxNGY0YjZlZGM0YzA3ZWU2ODk1ZjMxODhhZjNwLTEsCi0gICAgLTB4MS42NGVmNDM4cDE0MgotICB9LAotICB7IC8vIEVudHJ5IDIzMAotICAgIDB4MS42NjIzZDJlYjZhZGQxZmZjMzk4YTNjMjA0NDdmOWQwNnAtMywKLSAgICAweDEuNjUycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzEKLSAgICAweDEuNjYyM2QyZWI2YWRkMWZmYzM5OGEzYzIwNDQ3ZjlkMDZwLTMsCi0gICAgLTB4MS42NTJwMAotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS5mZmY4MzJjNTBmNDcxZmY1NTk5YzIzZGM5NjhlYjhlNHAtMSwKLSAgICAweDEuNjU4NjViMmNiMDhhMnAtNwotICB9LAotICB7IC8vIEVudHJ5IDIzMwotICAgIDB4MS5mZmY4MzJjNTBmNDcxZmY1NTk5YzIzZGM5NjhlYjhlNHAtMSwKLSAgICAtMHgxLjY1ODY1YjJjYjA4YTJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzQKLSAgICAweDEuYWNjMjUxYmUzMzAyMjgwMjFiYzMxMzA3YmM4MWRjMTZwLTEsCi0gICAgMHgxLjZhOTM3ZGFhYmMyMGVwMzc1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM1Ci0gICAgMHgxLmFjYzI1MWJlMzMwMjI4MDIxYmMzMTMwN2JjODFkYzE2cC0xLAotICAgIC0weDEuNmE5MzdkYWFiYzIwZXAzNzUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzYKLSAgICAtMHgxLjE0YWU3MmU2YmEyMmVmNDYwODg3NWM0MTM3OGViMDUycC02MSwKLSAgICAweDEuNmFjNWIyNjJjYTFmZnA4NDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzcKLSAgICAtMHgxLjE0YWU3MmU2YmEyMmVmNDYwODg3NWM0MTM3OGViMDUycC02MSwKLSAgICAtMHgxLjZhYzViMjYyY2ExZmZwODQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM4Ci0gICAgMHgxLmUwNjE5OTYwYTExYzY4MDFlODBhYjBjOWUyNWY4OWQwcC0yLAotICAgIDB4MS42ZjdiZGVmN2JkZWY0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzkKLSAgICAweDEuZTA2MTk5NjBhMTFjNjgwMWU4MGFiMGM5ZTI1Zjg5ZDBwLTIsCi0gICAgLTB4MS42ZjdiZGVmN2JkZWY0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDAKLSAgICAweDEuOGQyM2Y5NzkwMWEzMDdmZmZkNmM1MmFkZjgzZjA5OTNwLTEsCi0gICAgMHgxLjczOWNlNzU5Y2U3MzhwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQxCi0gICAgMHgxLjhkMjNmOTc5MDFhMzA3ZmZmZDZjNTJhZGY4M2YwOTkzcC0xLAotICAgIC0weDEuNzM5Y2U3NTljZTczOHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDIKLSAgICAweDEuZmZmZmY3OGExNGJhMGYzOGE4NGI0OGRjZGI2M2Q0NGZwLTEsCi0gICAgMHgxLjc0NTBjM2Y0OWQwYjJwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgMHgxLmZmZmZmNzhhMTRiYTBmMzhhODRiNDhkY2RiNjNkNDRmcC0xLAotICAgIC0weDEuNzQ1MGMzZjQ5ZDBiMnAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDQKLSAgICAweDEuZDZmMWM3MjdmYjJjYjdmN2U5Y2JlZTJlMTQyNDZjMDhwLTQsCi0gICAgMHgxLjc0OWZlNTNmOTYzZmRwMAotICB9LAotICB7IC8vIEVudHJ5IDI0NQotICAgIDB4MS5kNmYxYzcyN2ZiMmNiN2Y3ZTljYmVlMmUxNDI0NmMwOHAtNCwKLSAgICAtMHgxLjc0OWZlNTNmOTYzZmRwMAotICB9LAotICB7IC8vIEVudHJ5IDI0NgotICAgIC0weDEuZjI4NGI1MDI4YzE4NDdmZmZmZmM5NTMyZmU4OTJhYWRwLTEsCi0gICAgMHgxLjc0YWY2NzI1YzYyMDZwMQotICB9LAotICB7IC8vIEVudHJ5IDI0NwotICAgIC0weDEuZjI4NGI1MDI4YzE4NDdmZmZmZmM5NTMyZmU4OTJhYWRwLTEsCi0gICAgLTB4MS43NGFmNjcyNWM2MjA2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDgKLSAgICAtMHgxLmYzMTY1YTBiMzA2YjFmZmNmOGQxMTkwOWZmZmJhMTY3cC0xLAotICAgIDB4MS43NTUwZDI4ZmZjY2M0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDkKLSAgICAtMHgxLmYzMTY1YTBiMzA2YjFmZmNmOGQxMTkwOWZmZmJhMTY3cC0xLAotICAgIC0weDEuNzU1MGQyOGZmY2NjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUwCi0gICAgMHgxLmQ2NmQyMDc4ZWJkZWI3ZmZlZGY4YTQ4ZTI1MDg0YzE5cC0xLAotICAgIDB4MS43NzVlMzk3Y2Q2YWEwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTEKLSAgICAweDEuZDY2ZDIwNzhlYmRlYjdmZmVkZjhhNDhlMjUwODRjMTlwLTEsCi0gICAgLTB4MS43NzVlMzk3Y2Q2YWEwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTIKLSAgICAweDEuN2FmOWExMzA4NWY1MzgyYTg3YTU0MWFlMGIyZTU5NjVwLTEsCi0gICAgMHgxLjc5OTMwMmJmN2YyOTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTMKLSAgICAweDEuN2FmOWExMzA4NWY1MzgyYTg3YTU0MWFlMGIyZTU5NjVwLTEsCi0gICAgLTB4MS43OTkzMDJiZjdmMjkwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU0Ci0gICAgMHgxLmZmZGQyZmRhYzBjMjQ4M2U3YjExNmQ2ZDQ4OGU3YTRicC0xLAotICAgIDB4MS43OTlmZmZmZmZmZmZkcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgMHgxLmZmZGQyZmRhYzBjMjQ4M2U3YjExNmQ2ZDQ4OGU3YTRicC0xLAotICAgIC0weDEuNzk5ZmZmZmZmZmZmZHAtNgotICB9LAotICB7IC8vIEVudHJ5IDI1NgotICAgIDB4MS5mZmY3NDRmMTg1YTczN2YyNTY3MzJjZTg3ZGJhZjdhN3AtMSwKLSAgICAweDEuN2EzNjkyY2E5NDQ5MHAtNwotICB9LAotICB7IC8vIEVudHJ5IDI1NwotICAgIDB4MS5mZmY3NDRmMTg1YTczN2YyNTY3MzJjZTg3ZGJhZjdhN3AtMSwKLSAgICAtMHgxLjdhMzY5MmNhOTQ0OTBwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTgKLSAgICAweDEuN2E2YjMyNmI2OTBmYTgzMWVlNGQwZGQ3Mjc4N2ZiYzNwLTEsCi0gICAgMHgxLjdhNjZhNjM4YWM1YjVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTkKLSAgICAweDEuN2E2YjMyNmI2OTBmYTgzMWVlNGQwZGQ3Mjc4N2ZiYzNwLTEsCi0gICAgLTB4MS43YTY2YTYzOGFjNWI1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYwCi0gICAgMHgxLjY3MWZkYjY0ZmZiZWQ3ZTQ5NTJhOWQ5Njc5NDFlN2RhcC00LAotICAgIDB4MS43YmE2NTQ2MmI0OWEwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAweDEuNjcxZmRiNjRmZmJlZDdlNDk1MmE5ZDk2Nzk0MWU3ZGFwLTQsCi0gICAgLTB4MS43YmE2NTQ2MmI0OWEwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjIKLSAgICAweDEuZmZhNTU0OTBmMjA2ZTNiNDMyM2EwMjQ3N2I0MTQ5ZThwLTEsCi0gICAgMHgxLjdjZGYzN2NkZjM3YzlwMjM5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLmZmYTU1NDkwZjIwNmUzYjQzMjNhMDI0NzdiNDE0OWU4cC0xLAotICAgIC0weDEuN2NkZjM3Y2RmMzdjOXAyMzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjQKLSAgICAweDEuNGM1YjU5NzBhM2E0ODgyMzMwMDU3NDJhZjVlNmE5NWVwLTQsCi0gICAgMHgxLjdkNTQyNTY1ZjQ3MmVwMAotICB9LAotICB7IC8vIEVudHJ5IDI2NQotICAgIDB4MS40YzViNTk3MGEzYTQ4ODIzMzAwNTc0MmFmNWU2YTk1ZXAtNCwKLSAgICAtMHgxLjdkNTQyNTY1ZjQ3MmVwMAotICB9LAotICB7IC8vIEVudHJ5IDI2NgotICAgIDB4MS40NzlhNTY2N2M2M2Y1N2RhMjZhZGYxODBhN2ViMmZmYnAtNCwKLSAgICAweDEuN2RhMDc1MTY0OTA1OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY3Ci0gICAgMHgxLjQ3OWE1NjY3YzYzZjU3ZGEyNmFkZjE4MGE3ZWIyZmZicC00LAotICAgIC0weDEuN2RhMDc1MTY0OTA1OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgMHgxLmZmZjcxNzUxMWRjYjU3ZjMyZDM4ZjI5YzAxMzc5Yjk4cC0xLAotICAgIDB4MS43ZTBkZGNkYTZjYzBkcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY5Ci0gICAgMHgxLmZmZjcxNzUxMWRjYjU3ZjMyZDM4ZjI5YzAxMzc5Yjk4cC0xLAotICAgIC0weDEuN2UwZGRjZGE2Y2MwZHAtNwotICB9LAotICB7IC8vIEVudHJ5IDI3MAotICAgIDB4MS5mZmZmZmZmZmZmNzA3N2U3MDAwMDA2YjRjNzA2MGMzM3AtMSwKLSAgICAweDEuN2Y2cC0yMQotICB9LAotICB7IC8vIEVudHJ5IDI3MQotICAgIDB4MS5mZmZmZmZmZmZmNzA3N2U3MDAwMDA2YjRjNzA2MGMzM3AtMSwKLSAgICAtMHgxLjdmNnAtMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAtMHgxLmZmZjllMTU1NDY5ODAxNzIyMDkxN2MzZmIzMTE4OGRkcC0xLAotICAgIDB4MS43ZjkwMTE3ZDQ0Yzc0cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDI3MwotICAgIC0weDEuZmZmOWUxNTU0Njk4MDE3MjIwOTE3YzNmYjMxMTg4ZGRwLTEsCi0gICAgLTB4MS43ZjkwMTE3ZDQ0Yzc0cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDI3NAotICAgIDB4MS5mZmRjMDA2YmZmN2U5ODRhOGQ1MDMxYTcxNTJkMzZlNXAtMSwKLSAgICAweDEuN2ZmZmZmZmZmZWY3YXAtNgotICB9LAotICB7IC8vIEVudHJ5IDI3NQotICAgIDB4MS5mZmRjMDA2YmZmN2U5ODRhOGQ1MDMxYTcxNTJkMzZlNXAtMSwKLSAgICAtMHgxLjdmZmZmZmZmZmVmN2FwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzYKLSAgICAweDEuZmZkYzAwNmJmZjdlNzg0NzRkNjZkN2YyNWMzYWMyNzdwLTEsCi0gICAgMHgxLjdmZmZmZmZmZmZhMjZwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzcKLSAgICAweDEuZmZkYzAwNmJmZjdlNzg0NzRkNjZkN2YyNWMzYWMyNzdwLTEsCi0gICAgLTB4MS43ZmZmZmZmZmZmYTI2cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc4Ci0gICAgMHgxLmZmZGMwMDZiZmY3ZTY4MzlhZGJhMmE5MTEwOGQ1NmFmcC0xLAotICAgIDB4MS43ZmZmZmZmZmZmZjgwcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLmZmZGMwMDZiZmY3ZTY4MzlhZGJhMmE5MTEwOGQ1NmFmcC0xLAotICAgIC0weDEuN2ZmZmZmZmZmZmY4MHAtNgotICB9LAotICB7IC8vIEVudHJ5IDI4MAotICAgIDB4MS43NjA3MThhYjQ0Mzk3N2ZkZDhmOGYyMjIxY2E0ZGIzY3AtMSwKLSAgICAweDEuODBlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgxCi0gICAgMHgxLjc2MDcxOGFiNDQzOTc3ZmRkOGY4ZjIyMjFjYTRkYjNjcC0xLAotICAgIC0weDEuODBlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWIyOWQwYnAtMSwKLSAgICAweDEuODFhZTBkZmZhM2IzM3A5NTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYjI5ZDBicC0xLAotICAgIC0weDEuODFhZTBkZmZhM2IzM3A5NTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODQKLSAgICAtMHgxLmZiZGM0ODEyNWIzNDU3NGNmMWY5MTQxOWU3ZWRiNzVicC0xLAotICAgIDB4MS44MWQ2MTIyODljNWNmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODUKLSAgICAtMHgxLmZiZGM0ODEyNWIzNDU3NGNmMWY5MTQxOWU3ZWRiNzVicC0xLAotICAgIC0weDEuODFkNjEyMjg5YzVjZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg2Ci0gICAgMHgxLmZmOWUzOTY2NTFjYzk3ZTkzNWIyZTBlZTczNjA3ZDEycC01LAotICAgIDB4MS44MjIwMTkyMjcwYTBlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuZmY5ZTM5NjY1MWNjOTdlOTM1YjJlMGVlNzM2MDdkMTJwLTUsCi0gICAgLTB4MS44MjIwMTkyMjcwYTBlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODgKLSAgICAweDEuZmUyYjI2ZGRkYjVjODgyZjMwYTg4NWMxYjI5MWY5NDVwLTUsCi0gICAgMHgxLjgyMmJiNzgwZTkxMDRwMAotICB9LAotICB7IC8vIEVudHJ5IDI4OQotICAgIDB4MS5mZTJiMjZkZGRiNWM4ODJmMzBhODg1YzFiMjkxZjk0NXAtNSwKLSAgICAtMHgxLjgyMmJiNzgwZTkxMDRwMAotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIDB4MS5lYjg3Y2ZmN2M5MTE1N2E3NTU4MThjMDEyODRiMGU1MXAtNSwKLSAgICAweDEuODJjMTE5YzRiOGU0OXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgMHgxLmViODdjZmY3YzkxMTU3YTc1NTgxOGMwMTI4NGIwZTUxcC01LAotICAgIC0weDEuODJjMTE5YzRiOGU0OXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgMHgxLmViODdjZmY3YTYyYjc3YjU3YTY2YWMyNzVhMzEwNGM4cC01LAotICAgIDB4MS44MmMxMTljNGI5ZmM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTMKLSAgICAweDEuZWI4N2NmZjdhNjJiNzdiNTdhNjZhYzI3NWEzMTA0YzhwLTUsCi0gICAgLTB4MS44MmMxMTljNGI5ZmM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTQKLSAgICAweDEuZWI4N2NmZjc5NWFiMTdhODA3ODY0ZDhmYjBjYTQzY2FwLTUsCi0gICAgMHgxLjgyYzExOWM0YmE4MDhwMAotICB9LAotICB7IC8vIEVudHJ5IDI5NQotICAgIDB4MS5lYjg3Y2ZmNzk1YWIxN2E4MDc4NjRkOGZiMGNhNDNjYXAtNSwKLSAgICAtMHgxLjgyYzExOWM0YmE4MDhwMAotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIDB4MS5kZTFkMTdhYjBkNmE0ODM2NzUyMzE5M2Q2ODU2OGMxYnAtNSwKLSAgICAweDEuODMyYzlmYzc2NTI3MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk3Ci0gICAgMHgxLmRlMWQxN2FiMGQ2YTQ4MzY3NTIzMTkzZDY4NTY4YzFicC01LAotICAgIC0weDEuODMyYzlmYzc2NTI3MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgMHgxLmRjODZlN2JlYzBjNDQ4NDhjZmMzOWI3ZjFiODIwNGFjcC01LAotICAgIDB4MS44MzM5NTZjZTdkMWY5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTkKLSAgICAweDEuZGM4NmU3YmVjMGM0NDg0OGNmYzM5YjdmMWI4MjA0YWNwLTUsCi0gICAgLTB4MS44MzM5NTZjZTdkMWY5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDAKLSAgICAweDEuZGIwM2NiYjk0MmE3YTg0OTc0ZTkwNGVjYzg5NmE1ZWVwLTUsCi0gICAgMHgxLjgzNDU3NGViMWMwOTlwMAotICB9LAotICB7IC8vIEVudHJ5IDMwMQotICAgIDB4MS5kYjAzY2JiOTQyYTdhODQ5NzRlOTA0ZWNjODk2YTVlZXAtNSwKLSAgICAtMHgxLjgzNDU3NGViMWMwOTlwMAotICB9LAotICB7IC8vIEVudHJ5IDMwMgotICAgIDB4MS5jZTQzMTcxMGQxNTA3N2IxZTgxNzBhNTMyYjY4YWJkZXAtNSwKLSAgICAweDEuODNhYmE1Njg4ZTEzZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLmNlNDMxNzEwZDE1MDc3YjFlODE3MGE1MzJiNjhhYmRlcC01LAotICAgIC0weDEuODNhYmE1Njg4ZTEzZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA0Ci0gICAgMHgxLmNkNDZiM2E3N2Y2ZGQ3YWIwZDMxMjU0NmFiYTdjMGFmcC01LAotICAgIDB4MS44M2IzOGJiYWZkNzVicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDUKLSAgICAweDEuY2Q0NmIzYTc3ZjZkZDdhYjBkMzEyNTQ2YWJhN2MwYWZwLTUsCi0gICAgLTB4MS44M2IzOGJiYWZkNzVicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAtMHgxLmZmMjliYzY2NmJlZTZlYTQ0ZDRkYjAwMGU1ZjE3M2JmcC0xLAotICAgIDB4MS44NmEwMTdjYjFjMzFjcDE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzA3Ci0gICAgLTB4MS5mZjI5YmM2NjZiZWU2ZWE0NGQ0ZGIwMDBlNWYxNzNiZnAtMSwKLSAgICAtMHgxLjg2YTAxN2NiMWMzMWNwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICAtMHgxLjc5Njg5MTZlNGM2NDYzMGU4ZTNhZTYwMjc2YmEyZDI3cC0yLAotICAgIDB4MS44NzIwNTg4cDM5MgotICB9LAotICB7IC8vIEVudHJ5IDMwOQotICAgIC0weDEuNzk2ODkxNmU0YzY0NjMwZThlM2FlNjAyNzZiYTJkMjdwLTIsCi0gICAgLTB4MS44NzIwNTg4cDM5MgotICB9LAotICB7IC8vIEVudHJ5IDMxMAotICAgIDB4MS5mYjk3YzdlNDUyOTE3ZjU5ODkwZGZiNDdlN2M5YjVlM3AtMSwKLSAgICAweDEuODhhMjI4OGEyMjg4OHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgMHgxLmZiOTdjN2U0NTI5MTdmNTk4OTBkZmI0N2U3YzliNWUzcC0xLAotICAgIC0weDEuODhhMjI4OGEyMjg4OHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEyCi0gICAgLTB4MS5hZTQ0YTVmMDFiZjYzMzAxNWU1YWFjY2NhYjRhN2YzZHAtMSwKLSAgICAweDEuOGNmMDEzOTkxYzMwOHAxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgLTB4MS5hZTQ0YTVmMDFiZjYzMzAxNWU1YWFjY2NhYjRhN2YzZHAtMSwKLSAgICAtMHgxLjhjZjAxMzk5MWMzMDhwMTAwMAotICB9LAotICB7IC8vIEVudHJ5IDMxNAotICAgIDB4MS5kOTZlODJmNzFhOWRjN2ZkODZmNTc0ODBlNzU0OTFlM3AtMSwKLSAgICAweDEuOXAtMgotICB9LAotICB7IC8vIEVudHJ5IDMxNQotICAgIDB4MS5kOTZlODJmNzFhOWRjN2ZkODZmNTc0ODBlNzU0OTFlM3AtMSwKLSAgICAtMHgxLjlwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTYKLSAgICAweDEuMGZkOWQ1YzA5M2RmNGY1N2ZjNDk0NjNlMmYzZjMzZTZwLTcsCi0gICAgMHgxLjlwMAotICB9LAotICB7IC8vIEVudHJ5IDMxNwotICAgIDB4MS4wZmQ5ZDVjMDkzZGY0ZjU3ZmM0OTQ2M2UyZjNmMzNlNnAtNywKLSAgICAtMHgxLjlwMAotICB9LAotICB7IC8vIEVudHJ5IDMxOAotICAgIDB4MS4wZmQ5ZDVjMDVlNWZjODAxYTBmNWNiZmEzMzc3N2FlNHAtNywKLSAgICAweDEuOTAwMDAwMDAwMDZiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE5Ci0gICAgMHgxLjBmZDlkNWMwNWU1ZmM4MDFhMGY1Y2JmYTMzNzc3YWU0cC03LAotICAgIC0weDEuOTAwMDAwMDAwMDZiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLmJjOGJlNzI1NDE3ZDg4MDAwMDBjYWRhNDJlZWVhMDRlcC0xLAotICAgIDB4MS45MDBjMjA2ZDQ0MTYycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjEKLSAgICAweDEuYmM4YmU3MjU0MTdkODgwMDAwMGNhZGE0MmVlZWEwNGVwLTEsCi0gICAgLTB4MS45MDBjMjA2ZDQ0MTYycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjIKLSAgICAweDEuZmZmZmZmZmZmNjNiNjdlNDk3MmQ4NmEyZjlkODIwOWJwLTEsCi0gICAgMHgxLjkwMGMyYWY3YmFlZjNwLTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIzCi0gICAgMHgxLmZmZmZmZmZmZjYzYjY3ZTQ5NzJkODZhMmY5ZDgyMDlicC0xLAotICAgIC0weDEuOTAwYzJhZjdiYWVmM3AtMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjQKLSAgICAweDEuYmQ0NjRjOTM1MmQxMDdmZmZmZmY4ZGI5ZTBkYTcxYzBwLTEsCi0gICAgMHgxLjkwMGYxMWJkODk1NWRwNgotICB9LAotICB7IC8vIEVudHJ5IDMyNQotICAgIDB4MS5iZDQ2NGM5MzUyZDEwN2ZmZmZmZjhkYjllMGRhNzFjMHAtMSwKLSAgICAtMHgxLjkwMGYxMWJkODk1NWRwNgotICB9LAotICB7IC8vIEVudHJ5IDMyNgotICAgIDB4MS5mZmZmZmRhODVjZGQwZDQzMWUwNmY5YWE3NGJjOGNlMHAtMSwKLSAgICAweDEuOTEwYjM1YzMyNTNkNHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjcKLSAgICAweDEuZmZmZmZkYTg1Y2RkMGQ0MzFlMDZmOWFhNzRiYzhjZTBwLTEsCi0gICAgLTB4MS45MTBiMzVjMzI1M2Q0cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDMyOAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDMyOQotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzAKLSAgICAtMHgxLjJhZWVmNGI5ZWExYWU0ZTY0YzcxZmNjZjFmZDA2ZjQwcC0xOCwKLSAgICAweDEuOTIycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzEKLSAgICAtMHgxLjJhZWVmNGI5ZWExYWU0ZTY0YzcxZmNjZjFmZDA2ZjQwcC0xOCwKLSAgICAtMHgxLjkyMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgLTB4MS5mZmZmZmZmZmQ5MDQ4NDc3OThjN2FjZDQ2YWQxODNjYXAtMTgsCi0gICAgMHgxLjkyMjAzNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIC0weDEuZmZmZmZmZmZkOTA0ODQ3Nzk4YzdhY2Q0NmFkMTgzY2FwLTE4LAotICAgIC0weDEuOTIyMDM1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZjJhYzhjM2RhNzJjYnAtMSwKLSAgICAweDEuOTI1MWY5M2FlYjU5ZHAxMgotICB9LAotICB7IC8vIEVudHJ5IDMzNQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmYyYWM4YzNkYTcyY2JwLTEsCi0gICAgLTB4MS45MjUxZjkzYWViNTlkcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM2Ci0gICAgMHgxLmZmYjhjNGQxZjc4YTg3ZmZmZmZiMjNkMTcxYmQ1NGQwcC0xLAotICAgIDB4MS45NDNiZTIyMWQ5MDlhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzcKLSAgICAweDEuZmZiOGM0ZDFmNzhhODdmZmZmZmIyM2QxNzFiZDU0ZDBwLTEsCi0gICAgLTB4MS45NDNiZTIyMWQ5MDlhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzgKLSAgICAweDEuZmZmNjAxMWZkZGRhYjdmMjVjODJlNTM4NGQ0NmNjNjlwLTEsCi0gICAgMHgxLjk0YWY2OTkzMDI4NzVwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzkKLSAgICAweDEuZmZmNjAxMWZkZGRhYjdmMjVjODJlNTM4NGQ0NmNjNjlwLTEsCi0gICAgLTB4MS45NGFmNjk5MzAyODc1cC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQwCi0gICAgMHgxLmQ3OTU0ZTdhM2VlOTk4MDAwMDk5NDcwNjA0MzI5YjY4cC0xLAotICAgIDB4MS45OTk5OTlhYjdiMGVkcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQxCi0gICAgMHgxLmQ3OTU0ZTdhM2VlOTk4MDAwMDk5NDcwNjA0MzI5YjY4cC0xLAotICAgIC0weDEuOTk5OTk5YWI3YjBlZHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM0MgotICAgIDB4MS5kNzk1NGU3NmM4ZTMwZmZmZmY1YTliZjQ1NWEwNjQxMHAtMSwKLSAgICAweDEuOTk5OTk5YmQ0MTkwYnAtMgotICB9LAotICB7IC8vIEVudHJ5IDM0MwotICAgIDB4MS5kNzk1NGU3NmM4ZTMwZmZmZmY1YTliZjQ1NWEwNjQxMHAtMSwKLSAgICAtMHgxLjk5OTk5OWJkNDE5MGJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDQKLSAgICAweDEuZmEyM2NmYjgyMDIyNDQwZWI5NzJjN2UwODM5MzNkMjBwLTEsCi0gICAgMHgxLjliZDBmMTk0NzlhMjRwMgotICB9LAotICB7IC8vIEVudHJ5IDM0NQotICAgIDB4MS5mYTIzY2ZiODIwMjI0NDBlYjk3MmM3ZTA4MzkzM2QyMHAtMSwKLSAgICAtMHgxLjliZDBmMTk0NzlhMjRwMgotICB9LAotICB7IC8vIEVudHJ5IDM0NgotICAgIC0weDEuNmEwOWU2NjdmM2FmMDdmMmY0Njc2YjVmNmYyNjhjODFwLTEsCi0gICAgMHgxLjljNTU4MzVlN2U4M2VwOAotICB9LAotICB7IC8vIEVudHJ5IDM0NwotICAgIC0weDEuNmEwOWU2NjdmM2FmMDdmMmY0Njc2YjVmNmYyNjhjODFwLTEsCi0gICAgLTB4MS45YzU1ODM1ZTdlODNlcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDgKLSAgICAweDEuZmZmNTljMTI1NTgwOTdmMjg1OGY0YTEzMjZmMmRkZjRwLTEsCi0gICAgMHgxLjljOTk0MmIxNDQ0OGRwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDkKLSAgICAweDEuZmZmNTljMTI1NTgwOTdmMjg1OGY0YTEzMjZmMmRkZjRwLTEsCi0gICAgLTB4MS45Yzk5NDJiMTQ0NDhkcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUwCi0gICAgMHgxLmZmZWNlNWNhYjRjYTU2NTJlYTJmYzdjY2NlODgzMzA0cC0xLAotICAgIDB4MS45ZDNkOTI0ODVlMmI1cDUyMwotICB9LAotICB7IC8vIEVudHJ5IDM1MQotICAgIDB4MS5mZmVjZTVjYWI0Y2E1NjUyZWEyZmM3Y2NjZTg4MzMwNHAtMSwKLSAgICAtMHgxLjlkM2Q5MjQ4NWUyYjVwNTIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUyCi0gICAgLTB4MS5mZjU1MzAxZDNhNzgwZDE5YzI4YzIyYzgyYzFmNTM4M3AtNSwKLSAgICAweDEuYTBkMDY4MzQxYTA4MHAxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUzCi0gICAgLTB4MS5mZjU1MzAxZDNhNzgwZDE5YzI4YzIyYzgyYzFmNTM4M3AtNSwKLSAgICAtMHgxLmEwZDA2ODM0MWEwODBwMTAwMAotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS41YTU2MTVhY2QwZGMwOWJmMzJlOTAzMTQ5NjM0Zjk5OXAtMSwKLSAgICAweDEuYTdlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU1Ci0gICAgMHgxLjVhNTYxNWFjZDBkYzA5YmYzMmU5MDMxNDk2MzRmOTk5cC0xLAotICAgIC0weDEuYTdlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgMHgxLjc2NmFkMjdhMWRlNGZiMWE1YjY2NzIxNmJiZTZiZjY4cC0xNCwKLSAgICAweDEuYTg1ODM0Mzg2Mzk2NXAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTcKLSAgICAweDEuNzY2YWQyN2ExZGU0ZmIxYTViNjY3MjE2YmJlNmJmNjhwLTE0LAotICAgIC0weDEuYTg1ODM0Mzg2Mzk2NXAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTgKLSAgICAweDEuNmJkNGQ1YmU3MjQ5MzI1ZDg2ODA2MDZlNmI5ZWE2MjVwLTEsCi0gICAgMHgxLmFiMTkwNjMzZDg4ZWFwMwotICB9LAotICB7IC8vIEVudHJ5IDM1OQotICAgIDB4MS42YmQ0ZDViZTcyNDkzMjVkODY4MDYwNmU2YjllYTYyNXAtMSwKLSAgICAtMHgxLmFiMTkwNjMzZDg4ZWFwMwotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS5mZmZmZmZmZmZmNGE1N2U2NGRhODdhNWFmNDdjZmExOHAtMSwKLSAgICAweDEuYWY0YmQyZjRiZDJmMHAtMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjEKLSAgICAweDEuZmZmZmZmZmZmZjRhNTdlNjRkYTg3YTVhZjQ3Y2ZhMThwLTEsCi0gICAgLTB4MS5hZjRiZDJmNGJkMmYwcC0yMQotICB9LAotICB7IC8vIEVudHJ5IDM2MgotICAgIDB4MS43ZmYyOTM0YWQyOWE3NDI4OGI4ODYxMjRmZWFkNTg0MnAtMSwKLSAgICAweDEuYWZhNzAzMDBhZWU2MHA3MgotICB9LAotICB7IC8vIEVudHJ5IDM2MwotICAgIDB4MS43ZmYyOTM0YWQyOWE3NDI4OGI4ODYxMjRmZWFkNTg0MnAtMSwKLSAgICAtMHgxLmFmYTcwMzAwYWVlNjBwNzIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjQKLSAgICAweDEuZmY4NjZhZWJkY2UwYTdmZmZmZmI2MDc0ZDUxOTk4OTZwLTEsCi0gICAgMHgxLmI1YWI0MjdjZmZiNGNwOTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjUKLSAgICAweDEuZmY4NjZhZWJkY2UwYTdmZmZmZmI2MDc0ZDUxOTk4OTZwLTEsCi0gICAgLTB4MS5iNWFiNDI3Y2ZmYjRjcDk0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzY2Ci0gICAgLTB4MS5mNTRmNTIyN2E0ZTgzZmJmOTM5YjJlOTYxNzhmMTIxZHAtNjAsCi0gICAgMHgxLmI5NTFmMTU3MmViYTVwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjcKLSAgICAtMHgxLmY1NGY1MjI3YTRlODNmYmY5MzliMmU5NjE3OGYxMjFkcC02MCwKLSAgICAtMHgxLmI5NTFmMTU3MmViYTVwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjgKLSAgICAweDEuZmZmZDA2ZDM1NTc5YzdmZTI5NWRhZDE3ZWZiYmJlOTdwLTEsCi0gICAgMHgxLmI5NmU1Yjk2ZTViOTFwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjkKLSAgICAweDEuZmZmZDA2ZDM1NTc5YzdmZTI5NWRhZDE3ZWZiYmJlOTdwLTEsCi0gICAgLTB4MS5iOTZlNWI5NmU1YjkxcC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcwCi0gICAgLTB4MS43YzQxMjhlMmFmZjRiMmI3OGUxNDc2MDFmYTY1OGFmNXAtMSwKLSAgICAweDEuYmEzYjE4Mzk1ZDE3YnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcxCi0gICAgLTB4MS43YzQxMjhlMmFmZjRiMmI3OGUxNDc2MDFmYTY1OGFmNXAtMSwKLSAgICAtMHgxLmJhM2IxODM5NWQxN2JwOAotICB9LAotICB7IC8vIEVudHJ5IDM3MgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmYWZmOWRwLTEsCi0gICAgMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzczCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZhZmY5ZHAtMSwKLSAgICAtMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc0Ci0gICAgMHgxLmZmZmZmZjNlNTM0NDY3ZmZmZmYzN2U1MDliN2I3OTJlcC0xLAotICAgIDB4MS5iZDU1YWE0MTFhYjQ2cC0xMwotICB9LAotICB7IC8vIEVudHJ5IDM3NQotICAgIDB4MS5mZmZmZmYzZTUzNDQ2N2ZmZmZmMzdlNTA5YjdiNzkyZXAtMSwKLSAgICAtMHgxLmJkNTVhYTQxMWFiNDZwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc2Ci0gICAgLTB4MS43ZmRiMDdiOWY3N2UwN2ZmZmY3MjA3YzQ2MjhkM2Y2OHAtMSwKLSAgICAweDEuYmQ2MTZkNGZlOTVjZHAzNgotICB9LAotICB7IC8vIEVudHJ5IDM3NwotICAgIC0weDEuN2ZkYjA3YjlmNzdlMDdmZmZmNzIwN2M0NjI4ZDNmNjhwLTEsCi0gICAgLTB4MS5iZDYxNmQ0ZmU5NWNkcDM2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc4Ci0gICAgMHgxLmZmY2Y0ZGE3NjIyMmM4ODk3MTgyMzk1MjMzNDFmNGI1cC0xLAotICAgIDB4MS5iZWFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzkKLSAgICAweDEuZmZjZjRkYTc2MjIyYzg4OTcxODIzOTUyMzM0MWY0YjVwLTEsCi0gICAgLTB4MS5iZWFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODAKLSAgICAtMHgxLmRkZWUxMzM1N2VjNmY3ZmNjOTUwMjM5OWZjY2RjMmYwcC0xLAotICAgIDB4MS5jMTE1MTZhZjU4NWE0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODEKLSAgICAtMHgxLmRkZWUxMzM1N2VjNmY3ZmNjOTUwMjM5OWZjY2RjMmYwcC0xLAotICAgIC0weDEuYzExNTE2YWY1ODVhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgyCi0gICAgMHgxLjU4Y2NjZWMwNTlkYTE3ZDNmNDQ4YThiMmI2ZTdjMGU4cC0xLAotICAgIDB4MS5jNzVlNTRkZTRjMDZlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODMKLSAgICAweDEuNThjY2NlYzA1OWRhMTdkM2Y0NDhhOGIyYjZlN2MwZThwLTEsCi0gICAgLTB4MS5jNzVlNTRkZTRjMDZlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYzg2NjNlcC0xLAotICAgIDB4MS5jYjQ0ZTg2YmMxOTJicDY0OAotICB9LAotICB7IC8vIEVudHJ5IDM4NQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjODY2M2VwLTEsCi0gICAgLTB4MS5jYjQ0ZTg2YmMxOTJicDY0OAotICB9LAotICB7IC8vIEVudHJ5IDM4NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjIxOThmOXAtMSwKLSAgICAweDEuY2I0NGU4NmJjMTkyYnA2NDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYyMTk4ZjlwLTEsCi0gICAgLTB4MS5jYjQ0ZTg2YmMxOTJicDY0OQotICB9LAotICB7IC8vIEVudHJ5IDM4OAotICAgIC0weDEuY2EyODFkN2ZlNDRiMDdmZmZmZDJiN2Q0NmFiNWQzNjFwLTEsCi0gICAgMHgxLmNkNWE2Zjg3NjJhZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIC0weDEuY2EyODFkN2ZlNDRiMDdmZmZmZDJiN2Q0NmFiNWQzNjFwLTEsCi0gICAgLTB4MS5jZDVhNmY4NzYyYWZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTAKLSAgICAweDEuZTgwYWQ0ZmU1NGM3MWQ0ZTYwNGVkZTQ3NGNjYTBiMTlwLTUsCi0gICAgMHgxLmQwY2I5NWYwMmFkNzdwNDY0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkxCi0gICAgMHgxLmU4MGFkNGZlNTRjNzFkNGU2MDRlZGU0NzRjY2EwYjE5cC01LAotICAgIC0weDEuZDBjYjk1ZjAyYWQ3N3A0NjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTIKLSAgICAweDEuMGRmOGViNDA5ZWZlMzdmZmZmZjkyNWI1ZGUyYzgwYjZwLTEsCi0gICAgMHgxLmQzMWJkNjA0OTAzYTBwMgotICB9LAotICB7IC8vIEVudHJ5IDM5MwotICAgIDB4MS4wZGY4ZWI0MDllZmUzN2ZmZmZmOTI1YjVkZTJjODBiNnAtMSwKLSAgICAtMHgxLmQzMWJkNjA0OTAzYTBwMgotICB9LAotICB7IC8vIEVudHJ5IDM5NAotICAgIDB4MS5mZjJhZTk2OGVmZTcwZWE0MTI2ODQ5YzM4MzJjOWNiZHAtMSwKLSAgICAweDEuZDMyZjQ2MTAxODBmNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDM5NQotICAgIDB4MS5mZjJhZTk2OGVmZTcwZWE0MTI2ODQ5YzM4MzJjOWNiZHAtMSwKLSAgICAtMHgxLmQzMmY0NjEwMTgwZjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTYKLSAgICAtMHgxLmNlYzMwN2E2NzRkM2VkMmY4ZGY0N2NmMzk0YWE4OGVhcC0zLAotICAgIDB4MS5kOTZlMDU4cDQ4OAotICB9LAotICB7IC8vIEVudHJ5IDM5NwotICAgIC0weDEuY2VjMzA3YTY3NGQzZWQyZjhkZjQ3Y2YzOTRhYTg4ZWFwLTMsCi0gICAgLTB4MS5kOTZlMDU4cDQ4OAotICB9LAotICB7IC8vIEVudHJ5IDM5OAotICAgIC0weDEuYWM4ZGJmOWNkYzk1NDgzNTc3NTYwYjE4MTRlYTg4OTVwLTUsCi0gICAgMHgxLmRiMDgwM2MzOTJiNGNwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTkKLSAgICAtMHgxLmFjOGRiZjljZGM5NTQ4MzU3NzU2MGIxODE0ZWE4ODk1cC01LAotICAgIC0weDEuZGIwODAzYzM5MmI0Y3AxNQotICB9LAotICB7IC8vIEVudHJ5IDQwMAotICAgIC0weDEuYWM5NDg3MGNhNjMxNjg0YmQxMGI2NThiODBjZmNkNDJwLTUsCi0gICAgMHgxLmRiMDgwM2MzZmY1MWRwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDEKLSAgICAtMHgxLmFjOTQ4NzBjYTYzMTY4NGJkMTBiNjU4YjgwY2ZjZDQycC01LAotICAgIC0weDEuZGIwODAzYzNmZjUxZHAxNQotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIDB4MS5mZjIyOTA3M2ZkOGI1ZTkxZDYwZGQwOTVjZmRlNTk2N3AtMSwKLSAgICAweDEuZGM0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAzCi0gICAgMHgxLmZmMjI5MDczZmQ4YjVlOTFkNjBkZDA5NWNmZGU1OTY3cC0xLAotICAgIC0weDEuZGM0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA0Ci0gICAgMHgxLmZmMjFlNWY5NzVmZmZlODNjMmFlMWM1NWE4ODVmMTJmcC0xLAotICAgIDB4MS5kY2Y3M2RjZjczZGNjcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA1Ci0gICAgMHgxLmZmMjFlNWY5NzVmZmZlODNjMmFlMWM1NWE4ODVmMTJmcC0xLAotICAgIC0weDEuZGNmNzNkY2Y3M2RjY3AtNQotICB9LAotICB7IC8vIEVudHJ5IDQwNgotICAgIDB4MS4yZjAxMTMyNjQyMGU1MDAyMTcyZGIyNDVmZDkwNjNlMnAtMSwKLSAgICAweDEuZGZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQwNwotICAgIDB4MS4yZjAxMTMyNjQyMGU1MDAyMTcyZGIyNDVmZDkwNjNlMnAtMSwKLSAgICAtMHgxLmRmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDgKLSAgICAweDEuZjcyYzhlMTZkYmM3OGIyNmFmYmYzNDYxODVkY2NiNDhwLTEsCi0gICAgMHgxLmUxMjM2OTFhN2M0YmVwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDkKLSAgICAweDEuZjcyYzhlMTZkYmM3OGIyNmFmYmYzNDYxODVkY2NiNDhwLTEsCi0gICAgLTB4MS5lMTIzNjkxYTdjNGJlcDI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEwCi0gICAgLTB4MS40YjBjNmJiNjIzZjU3ZmZmZmY1ZTQ1ODIwM2RlZWYzM3AtMiwKLSAgICAweDEuZTY2NjY2NmY5Y2Y0OXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDExCi0gICAgLTB4MS40YjBjNmJiNjIzZjU3ZmZmZmY1ZTQ1ODIwM2RlZWYzM3AtMiwKLSAgICAtMHgxLmU2NjY2NjZmOWNmNDlwMAotICB9LAotICB7IC8vIEVudHJ5IDQxMgotICAgIDB4MS5mZDc0YjU1ODc1ODg0ODE4ODRhOTJlODM3NDdmNWM0ZXAtMSwKLSAgICAweDEuZTgzYWNjZmM1MGI3MHA5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTMKLSAgICAweDEuZmQ3NGI1NTg3NTg4NDgxODg0YTkyZTgzNzQ3ZjVjNGVwLTEsCi0gICAgLTB4MS5lODNhY2NmYzUwYjcwcDk5NQotICB9LAotICB7IC8vIEVudHJ5IDQxNAotICAgIDB4MS5mZmYxNjliNmFiN2QxN2Y0M2Q1OWY2Y2YwODVhY2NiMHAtMSwKLSAgICAweDEuZThlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDE1Ci0gICAgMHgxLmZmZjE2OWI2YWI3ZDE3ZjQzZDU5ZjZjZjA4NWFjY2IwcC0xLAotICAgIC0weDEuZThlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDE2Ci0gICAgMHgxLjdkMzljOWYxYjBiM2MwMDI3YTVmYzlhNzZmYWVlODNkcC0xLAotICAgIDB4MS5lYWY1ZWE1MzE3NDQycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTcKLSAgICAweDEuN2QzOWM5ZjFiMGIzYzAwMjdhNWZjOWE3NmZhZWU4M2RwLTEsCi0gICAgLTB4MS5lYWY1ZWE1MzE3NDQycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTgKLSAgICAweDEuN2YxM2FmNzA4MWE2NzQxNjYwNDY5ZmQ2MDI1NWZlNDlwLTEsCi0gICAgMHgxLmViMGMyYjAwYjFiODNwNAotICB9LAotICB7IC8vIEVudHJ5IDQxOQotICAgIDB4MS43ZjEzYWY3MDgxYTY3NDE2NjA0NjlmZDYwMjU1ZmU0OXAtMSwKLSAgICAtMHgxLmViMGMyYjAwYjFiODNwNAotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIC0weDEuN2FkN2I4OGExZmUwZjgyYjZmMjQ5YzdjNTZkZDhiNWFwLTEsCi0gICAgMHgxLmViYzZiNTU1MzExYzRwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjEKLSAgICAtMHgxLjdhZDdiODhhMWZlMGY4MmI2ZjI0OWM3YzU2ZGQ4YjVhcC0xLAotICAgIC0weDEuZWJjNmI1NTUzMTFjNHAxNQotICB9LAotICB7IC8vIEVudHJ5IDQyMgotICAgIDB4MS5iMDZiMmI1OGEyYTIzYzk4YjEyODUzNDE1YjVjODNhMXAtNSwKLSAgICAweDEuZWY3YmRlZjdiZGVmMnAyMzkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjMKLSAgICAweDEuYjA2YjJiNThhMmEyM2M5OGIxMjg1MzQxNWI1YzgzYTFwLTUsCi0gICAgLTB4MS5lZjdiZGVmN2JkZWYycDIzOQotICB9LAotICB7IC8vIEVudHJ5IDQyNAotICAgIDB4MS5mZTZkZWQ1MzE3MmE2ODc2NzkwZDNhYWI4M2E2NTZmNHAtMSwKLSAgICAweDEuZWZiYmVlZmJiZWVmOHAxNQotICB9LAotICB7IC8vIEVudHJ5IDQyNQotICAgIDB4MS5mZTZkZWQ1MzE3MmE2ODc2NzkwZDNhYWI4M2E2NTZmNHAtMSwKLSAgICAtMHgxLmVmYmJlZWZiYmVlZjhwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjYKLSAgICAtMHgxLmZlMmJjYjg3YTdlMTU4Y2ZmYTJmZThkMzA2Y2M3NTU1cC0xLAotICAgIDB4MS5mMDdjMWYwN2MxZWY3cDIzOQotICB9LAotICB7IC8vIEVudHJ5IDQyNwotICAgIC0weDEuZmUyYmNiODdhN2UxNThjZmZhMmZlOGQzMDZjYzc1NTVwLTEsCi0gICAgLTB4MS5mMDdjMWYwN2MxZWY3cDIzOQotICB9LAotICB7IC8vIEVudHJ5IDQyOAotICAgIC0weDEuNzlkMDhkNmIzYTg4MjgyZTBhMGRhMjM1MDQ2NGQwYWJwLTEsCi0gICAgMHgxLmYwZjJiNWUwNjBiMjlwMQotICB9LAotICB7IC8vIEVudHJ5IDQyOQotICAgIC0weDEuNzlkMDhkNmIzYTg4MjgyZTBhMGRhMjM1MDQ2NGQwYWJwLTEsCi0gICAgLTB4MS5mMGYyYjVlMDYwYjI5cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzAKLSAgICAweDEuZjBkMTFkMzIxMTc4ZDdmZjE1ZGE0ODk5MGQ1OTgzYzJwLTEsCi0gICAgMHgxLmY0MHAtMwotICB9LAotICB7IC8vIEVudHJ5IDQzMQotICAgIDB4MS5mMGQxMWQzMjExNzhkN2ZmMTVkYTQ4OTkwZDU5ODNjMnAtMSwKLSAgICAtMHgxLmY0MHAtMwotICB9LAotICB7IC8vIEVudHJ5IDQzMgotICAgIDB4MS5lM2ZmNWIxNWY3MjNkN2Y3ZjdmNWJiMGRiY2U1NGQwMXAtNCwKLSAgICAweDEuZjQzZDQ5Zjk0N2U4N3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgMHgxLmUzZmY1YjE1ZjcyM2Q3ZjdmN2Y1YmIwZGJjZTU0ZDAxcC00LAotICAgIC0weDEuZjQzZDQ5Zjk0N2U4N3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgLTB4MS42NjM2YzlmNmE4N2E5N2YxY2JkZjcwOGEyZjFhZDliYXAtMSwKLSAgICAweDEuZjdmZmZmZmZmZmZmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM1Ci0gICAgLTB4MS42NjM2YzlmNmE4N2E5N2YxY2JkZjcwOGEyZjFhZDliYXAtMSwKLSAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDQzNgotICAgIDB4MS5mZmMxYmUzMzA5Mjg1N2ZmMjYyMjBmOTk4MTYzNWJjN3AtMSwKLSAgICAweDEuZjhmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDQzNwotICAgIDB4MS5mZmMxYmUzMzA5Mjg1N2ZmMjYyMjBmOTk4MTYzNWJjN3AtMSwKLSAgICAtMHgxLmY4ZmZmZmZmZmZmZmZwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAweDEuZmZjMWJlMzMwOTI4NTdmYjM0NGFmZmRkOTNkMDQzYTdwLTEsCi0gICAgMHgxLmY5MHAtNgotICB9LAotICB7IC8vIEVudHJ5IDQzOQotICAgIDB4MS5mZmMxYmUzMzA5Mjg1N2ZiMzQ0YWZmZGQ5M2QwNDNhN3AtMSwKLSAgICAtMHgxLmY5MHAtNgotICB9LAotICB7IC8vIEVudHJ5IDQ0MAotICAgIC0weDEuZmZmZmZmZmNhYjBkNTgyMjA2NjlkY2ZhNDIxY2NmYTZwLTEsCi0gICAgMHgxLmZhMDIzNjUyM2NlNTRwMzQ0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgLTB4MS5mZmZmZmZmY2FiMGQ1ODIyMDY2OWRjZmE0MjFjY2ZhNnAtMSwKLSAgICAtMHgxLmZhMDIzNjUyM2NlNTRwMzQ0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQyCi0gICAgMHgxLmZjMGQ5OGFjZTIzMDg4MDAwMDAyMTI3ODhhNzk0ZWFjcC0xLAotICAgIDB4MS5mY2VhYjU0ZDM3ZGEwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQzCi0gICAgMHgxLmZjMGQ5OGFjZTIzMDg4MDAwMDAyMTI3ODhhNzk0ZWFjcC0xLAotICAgIC0weDEuZmNlYWI1NGQzN2RhMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDQ0NAotICAgIC0weDEuOTU4OWJjYTEyOGI5MTdmZTU5NjkyYTczOGMzNzkxYzlwLTQsCi0gICAgMHgxLmZkMDA3MmZmZmZmZmZwMgotICB9LAotICB7IC8vIEVudHJ5IDQ0NQotICAgIC0weDEuOTU4OWJjYTEyOGI5MTdmZTU5NjkyYTczOGMzNzkxYzlwLTQsCi0gICAgLTB4MS5mZDAwNzJmZmZmZmZmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDYKLSAgICAtMHgxLjRkMzA0YjA3ZmM4OTdjZjFhZGU1NGZlOTdkYjdjOGJkcC0yLAotICAgIDB4MS5mZTBmODI3NjczNDIycDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ3Ci0gICAgLTB4MS40ZDMwNGIwN2ZjODk3Y2YxYWRlNTRmZTk3ZGI3YzhiZHAtMiwKLSAgICAtMHgxLmZlMGY4Mjc2NzM0MjJwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDgKLSAgICAweDEuYzFhMjdhZTgzNmYxMjgwMDAwMDAwMDAwMDA1MDRlOWJwLTEsCi0gICAgMHgxLmZlYjFmNzkyMGUyNDhwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAweDEuYzFhMjdhZTgzNmYxMjgwMDAwMDAwMDAwMDA1MDRlOWJwLTEsCi0gICAgLTB4MS5mZWIxZjc5MjBlMjQ4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUwCi0gICAgLTB4MS45MzZiNjRlOTU1OTc4ZDE1YWFjZmRkZjU4MjFjNjI4MXAtMSwKLSAgICAweDEuZmVlZmZmZmZmZmZjNnA5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTEKLSAgICAtMHgxLjkzNmI2NGU5NTU5NzhkMTVhYWNmZGRmNTgyMWM2MjgxcC0xLAotICAgIC0weDEuZmVlZmZmZmZmZmZjNnA5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTIKLSAgICAweDEuZmZmMDA3MTQ3ZWE1NzdmYjAyMTMwYzY4YjMzNWVmNDVwLTEsCi0gICAgMHgxLmZmOGZmZmZmZmZmZmZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTMKLSAgICAweDEuZmZmMDA3MTQ3ZWE1NzdmYjAyMTMwYzY4YjMzNWVmNDVwLTEsCi0gICAgLTB4MS5mZjhmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDU0Ci0gICAgMHgxLmZmZmZjMDFiZmU0NDJiMDljYmVjMTlmNjhhZjhmYmY4cC0xLAotICAgIDB4MS5mZjhmZmZmZmZmZmZmcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NQotICAgIDB4MS5mZmZmYzAxYmZlNDQyYjA5Y2JlYzE5ZjY4YWY4ZmJmOHAtMSwKLSAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU2Ci0gICAgMHgxLjdjYzlmYjc1MzE3YWU5M2JmNWRkZWUwZThiOWM4M2NlcC0xLAotICAgIDB4MS5mZjhmZmZmZmZmZmZmcDg3MAotICB9LAotICB7IC8vIEVudHJ5IDQ1NwotICAgIDB4MS43Y2M5ZmI3NTMxN2FlOTNiZjVkZGVlMGU4YjljODNjZXAtMSwKLSAgICAtMHgxLmZmOGZmZmZmZmZmZmZwODcwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU4Ci0gICAgMHgxLmQ2YWVhNDgwMTU1ODhlNzE5ODMxNDI4MDQyMjdmZDg0cC0xLAotICAgIDB4MS5mZmNmZmY4cDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDU5Ci0gICAgMHgxLmQ2YWVhNDgwMTU1ODhlNzE5ODMxNDI4MDQyMjdmZDg0cC0xLAotICAgIC0weDEuZmZjZmZmOHAxOQotICB9LAotICB7IC8vIEVudHJ5IDQ2MAotICAgIC0weDEuNmE5OTcyZWVlMTliYWRmOWUzNGQzNmIwZDEyMDIwOTFwLTIsCi0gICAgMHgxLmZmY2ZmZjhwMzY1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYxCi0gICAgLTB4MS42YTk5NzJlZWUxOWJhZGY5ZTM0ZDM2YjBkMTIwMjA5MXAtMiwKLSAgICAtMHgxLmZmY2ZmZjhwMzY1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYyCi0gICAgLTB4MS4zYWFhMTVmNzU0NGI2OTFhNDNlMWZhMWE2MzliZGZjMnAtMSwKLSAgICAweDEuZmZjZmZmZmZmZmY2Y3A3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjMKLSAgICAtMHgxLjNhYWExNWY3NTQ0YjY5MWE0M2UxZmExYTYzOWJkZmMycC0xLAotICAgIC0weDEuZmZjZmZmZmZmZmY2Y3A3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICAweDEuM2YxNjRiY2UwNTVjNGM2MWI3NGE2MWY3M2NhNzNkM2ZwLTEsCi0gICAgMHgxLmZmY2ZmZmZmZmZmZjlwMzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY1Ci0gICAgMHgxLjNmMTY0YmNlMDU1YzRjNjFiNzRhNjFmNzNjYTczZDNmcC0xLAotICAgIC0weDEuZmZjZmZmZmZmZmZmOXAzMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjYKLSAgICAweDEuZmZmZmYwMDJmZmYxNGQ1NjZhZThlYzlkMWVkYzNlM2ZwLTEsCi0gICAgMHgxLmZmY2ZmZmZmZmZmZmZwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY3Ci0gICAgMHgxLmZmZmZmMDAyZmZmMTRkNTY2YWU4ZWM5ZDFlZGMzZTNmcC0xLAotICAgIC0weDEuZmZjZmZmZmZmZmZmZnAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjgKLSAgICAtMHgxLmZmZmZmZjk4N2Y5ODVkNjc5NDRiODY3YmZmNGFiODU3cC0xLAotICAgIDB4MS5mZmNmZmZmZmZmZmZmcDQwNQotICB9LAotICB7IC8vIEVudHJ5IDQ2OQotICAgIC0weDEuZmZmZmZmOTg3Zjk4NWQ2Nzk0NGI4NjdiZmY0YWI4NTdwLTEsCi0gICAgLTB4MS5mZmNmZmZmZmZmZmZmcDQwNQotICB9LAotICB7IC8vIEVudHJ5IDQ3MAotICAgIC0weDEuZmZmZjYyMzVhMjVlZGI4Yzk3NWI0ODVjNWM2ZjQxZjdwLTEsCi0gICAgMHgxLmZmY2ZmZmZmZmZmZmZwNTY3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgLTB4MS5mZmZmNjIzNWEyNWVkYjhjOTc1YjQ4NWM1YzZmNDFmN3AtMSwKLSAgICAtMHgxLmZmY2ZmZmZmZmZmZmZwNTY3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDcyCi0gICAgMHgxLmZkZjExYWU0NjA4YjA4OTRiYWI4Nzg2OTQ5YWE2MzMzcC0zLAotICAgIDB4MS5mZmVmZmY4ZmZmZmZmcDE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDczCi0gICAgMHgxLmZkZjExYWU0NjA4YjA4OTRiYWI4Nzg2OTQ5YWE2MzMzcC0zLAotICAgIC0weDEuZmZlZmZmOGZmZmZmZnAxNgotICB9LAotICB7IC8vIEVudHJ5IDQ3NAotICAgIDB4MS44ZjU1MjVhYjQ1ODNjMDY0MzUzYWFhZDEyYzZjY2U2Y3AtMSwKLSAgICAweDEuZmZlZmZmZmZmZmZjY3A5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzUKLSAgICAweDEuOGY1NTI1YWI0NTgzYzA2NDM1M2FhYWQxMmM2Y2NlNmNwLTEsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmNjcDk5NQotICB9LAotICB7IC8vIEVudHJ5IDQ3NgotICAgIDB4MS5hMGFmNDRhNDVjMDU2OWI3MjA1OGNjMzRlZmQwZTMyZXAtOCwKLSAgICAweDEuZmZlZmZmZmZmZmZmZnA3NwotICB9LAotICB7IC8vIEVudHJ5IDQ3NwotICAgIDB4MS5hMGFmNDRhNDVjMDU2OWI3MjA1OGNjMzRlZmQwZTMyZXAtOCwKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwNzcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzgKLSAgICAtMHgxLmRmNzU0NmMzMWJmOGNmZmVmNjljNDg1OWRhMDU1ZjMzcC0xLAotICAgIDB4MS5mZmVmZmZmZmZmZmZmcDEyMgotICB9LAotICB7IC8vIEVudHJ5IDQ3OQotICAgIC0weDEuZGY3NTQ2YzMxYmY4Y2ZmZWY2OWM0ODU5ZGEwNTVmMzNwLTEsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmZmcDEyMgotICB9LAotICB7IC8vIEVudHJ5IDQ4MAotICAgIC0weDEuODI1YTdiZWEyN2Q1YjFhNTk4YWY2YjY4NGViMTg0NzhwLTEsCi0gICAgMHgxLmZmZWZmZmZmZmZmZmZwMTc5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgxCi0gICAgLTB4MS44MjVhN2JlYTI3ZDViMWE1OThhZjZiNjg0ZWIxODQ3OHAtMSwKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwMTc5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgLTB4MS4xYmUyYWIyMDc4ZDU0N2ZmZjA5OTMyMDExZmUxNjQ1NnAtMSwKLSAgICAweDEuZmZlZmZmZmZmZmZmZnAyMzgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODMKLSAgICAtMHgxLjFiZTJhYjIwNzhkNTQ3ZmZmMDk5MzIwMTFmZTE2NDU2cC0xLAotICAgIC0weDEuZmZlZmZmZmZmZmZmZnAyMzgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODQKLSAgICAtMHgxLmE0Y2M1ZjgzOGY1Mjk3ZTBhN2U3NDljYjA4N2MyZjE0cC03LAotICAgIDB4MS5mZmYwMDAwMDAyNTExcDQ5MgotICB9LAotICB7IC8vIEVudHJ5IDQ4NQotICAgIC0weDEuYTRjYzVmODM4ZjUyOTdlMGE3ZTc0OWNiMDg3YzJmMTRwLTcsCi0gICAgLTB4MS5mZmYwMDAwMDAyNTExcDQ5MgotICB9LAotICB7IC8vIEVudHJ5IDQ4NgotICAgIDB4MS5mMTY0MzdkNjExOWY4OWJmYTczYTJmMTRmMzc3ZmQzZXAtMTAsCi0gICAgMHgxLmZmZjFmZmZmZmZmZmZwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODcKLSAgICAweDEuZjE2NDM3ZDYxMTlmODliZmE3M2EyZjE0ZjM3N2ZkM2VwLTEwLAotICAgIC0weDEuZmZmMWZmZmZmZmZmZnA0MQotICB9LAotICB7IC8vIEVudHJ5IDQ4OAotICAgIDB4MS44OTgzMjRjMmYxY2ZjNTk2ZTU5MGI0YTgwZDI1MDhmYnAtMTEsCi0gICAgMHgxLmZmZmZjN2ZmZmZmZmZwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODkKLSAgICAweDEuODk4MzI0YzJmMWNmYzU5NmU1OTBiNGE4MGQyNTA4ZmJwLTExLAotICAgIC0weDEuZmZmZmM3ZmZmZmZmZnA0NQotICB9LAotICB7IC8vIEVudHJ5IDQ5MAotICAgIDB4MS5mMDE1NGMwMDY4OGY4N2ZjYzk2ZjE0YzhlZmI1OTE0ZnAtMSwKLSAgICAweDEuZmZmZmRmMWZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDQ5MQotICAgIDB4MS5mMDE1NGMwMDY4OGY4N2ZjYzk2ZjE0YzhlZmI1OTE0ZnAtMSwKLSAgICAtMHgxLmZmZmZkZjFmZmZmZmZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTIKLSAgICAweDEuZmZjMDAxNTcxMjZhN2Q5ODIxNjQ5MWRmNzNkOTdjZDNwLTEsCi0gICAgMHgxLmZmZmZmOGZmZmZmZmZwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTMKLSAgICAweDEuZmZjMDAxNTcxMjZhN2Q5ODIxNjQ5MWRmNzNkOTdjZDNwLTEsCi0gICAgLTB4MS5mZmZmZjhmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk0Ci0gICAgLTB4MS5lMGQ5ZjBmMzhjNzNmMDA2OTczOWU5ZGU2NTE5MTQxNnAtMiwKLSAgICAweDEuZmZmZmZiZmZmZmZmZnA5NjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTUKLSAgICAtMHgxLmUwZDlmMGYzOGM3M2YwMDY5NzM5ZTlkZTY1MTkxNDE2cC0yLAotICAgIC0weDEuZmZmZmZiZmZmZmZmZnA5NjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTYKLSAgICAweDEuZmZmNDY5OWRkNTYwYjVkYmI4OGEwMjkzMzdiOWFiODZwLTEsCi0gICAgMHgxLmZmZmZmY2ZmZmZmZmZwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTcKLSAgICAweDEuZmZmNDY5OWRkNTYwYjVkYmI4OGEwMjkzMzdiOWFiODZwLTEsCi0gICAgLTB4MS5mZmZmZmNmZmZmZmZmcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk4Ci0gICAgMHgxLmZmMDAxNTU1OWYyMjg4MDI0MzM3MzJhZTExOTQyOTQ1cC0xLAotICAgIDB4MS5mZmZmZmYwMDAwMDQwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk5Ci0gICAgMHgxLmZmMDAxNTU1OWYyMjg4MDI0MzM3MzJhZTExOTQyOTQ1cC0xLAotICAgIC0weDEuZmZmZmZmMDAwMDA0MHAtNQotICB9LAotICB7IC8vIEVudHJ5IDUwMAotICAgIC0weDEuOWM2OTUxY2NjZDM5YmY2MGQ0N2RiODBiZTZmY2UzNGZwLTIsCi0gICAgMHgxLmZmZmZmZjhwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAxCi0gICAgLTB4MS45YzY5NTFjY2NkMzliZjYwZDQ3ZGI4MGJlNmZjZTM0ZnAtMiwKLSAgICAtMHgxLmZmZmZmZjhwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgLTB4MS5mMmMyMjYzNTkwMDM0ZWM2MjUyMmQ0NWQyZWVjYTI4NXAtMSwKLSAgICAweDEuZmZmZmZmOHAxOTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDMKLSAgICAtMHgxLmYyYzIyNjM1OTAwMzRlYzYyNTIyZDQ1ZDJlZWNhMjg1cC0xLAotICAgIC0weDEuZmZmZmZmOHAxOTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDQKLSAgICAweDEuYzc4ODRkNmNmYjU1MTFhNmI1MTExMDc3ZmQwYjFiNzJwLTEsCi0gICAgMHgxLmZmZmZmZjhwNTQzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA1Ci0gICAgMHgxLmM3ODg0ZDZjZmI1NTExYTZiNTExMTA3N2ZkMGIxYjcycC0xLAotICAgIC0weDEuZmZmZmZmOHA1NDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDYKLSAgICAweDEuZTY2Yzc5ZTc3NmExZWZmNmI2OGYyZDAxMjg5ZTA4ZThwLTIsCi0gICAgMHgxLmZmZmZmZmMzZmZmZmZwNTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA3Ci0gICAgMHgxLmU2NmM3OWU3NzZhMWVmZjZiNjhmMmQwMTI4OWUwOGU4cC0yLAotICAgIC0weDEuZmZmZmZmYzNmZmZmZnA1MDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDgKLSAgICAweDEuYzdjOWE5YzU3YzBiMjAwOWYxOGE2YzJjMDdiNTJlYTJwLTMsCi0gICAgMHgxLmZmZmZmZmUxZmZmZmZwNzAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA5Ci0gICAgMHgxLmM3YzlhOWM1N2MwYjIwMDlmMThhNmMyYzA3YjUyZWEycC0zLAotICAgIC0weDEuZmZmZmZmZTFmZmZmZnA3MDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTAKLSAgICAweDEuN2JiMjhkYWY1ZjlhZDM2MDhkZGE4YTE2ZWEyMzVjYjRwLTEsCi0gICAgMHgxLmZmZmZmZmZmMGYwZmZwNDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgMHgxLjdiYjI4ZGFmNWY5YWQzNjA4ZGRhOGExNmVhMjM1Y2I0cC0xLAotICAgIC0weDEuZmZmZmZmZmYwZjBmZnA0MDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTIKLSAgICAweDEuZmMwMTU1MjdkOGJiMzc4MDZlNDk3NmRjZjdhN2M5OGNwLTEsCi0gICAgMHgxLmZmZmZmZmZmM2ZmZmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTMKLSAgICAweDEuZmMwMTU1MjdkOGJiMzc4MDZlNDk3NmRjZjdhN2M5OGNwLTEsCi0gICAgLTB4MS5mZmZmZmZmZjNmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTE0Ci0gICAgLTB4MS5lYTUyNTdlYjY2ZTNiZmZlZTkwMGNkNDQ0NzQwNGMxNnAtMSwKLSAgICAweDEuZmZmZmZmZmY4ZmZmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE1Ci0gICAgLTB4MS5lYTUyNTdlYjY2ZTNiZmZlZTkwMGNkNDQ0NzQwNGMxNnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmOGZmZmZwMwotICB9LAotICB7IC8vIEVudHJ5IDUxNgotICAgIC0weDEuNGVhYTYwNmRiZWY5NjgwMDAyNjdiMDM3NWRlZDY4NzJwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmJjZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDUxNwotICAgIC0weDEuNGVhYTYwNmRiZWY5NjgwMDAyNjdiMDM3NWRlZDY4NzJwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZiY2ZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTgKLSAgICAtMHgxLmZjOWNkNmI1ZjAwOTQ4MmIwZDU1ODJlMWM2Y2RmNzM4cC0xLAotICAgIDB4MS5mZmZmZmZmZmZlMGI1cDcyMAotICB9LAotICB7IC8vIEVudHJ5IDUxOQotICAgIC0weDEuZmM5Y2Q2YjVmMDA5NDgyYjBkNTU4MmUxYzZjZGY3MzhwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZlMGI1cDcyMAotICB9LAotICB7IC8vIEVudHJ5IDUyMAotICAgIDB4MS5lOTZhYzA0NWRkMTM4ZDI1NzQxY2I4NzliOTJhZmE0OHAtMywKLSAgICAweDEuZmZmZmZmZmZmZTdmZnA0MQotICB9LAotICB7IC8vIEVudHJ5IDUyMQotICAgIDB4MS5lOTZhYzA0NWRkMTM4ZDI1NzQxY2I4NzliOTJhZmE0OHAtMywKLSAgICAtMHgxLmZmZmZmZmZmZmU3ZmZwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAtMHgxLmZjYWYzOWNmYjk0ZDQ4MTk1ZDJiMjYwNjBiMzBmODIycC0xLAotICAgIDB4MS5mZmZmZmZmZmZlZTA5cDcyMAotICB9LAotICB7IC8vIEVudHJ5IDUyMwotICAgIC0weDEuZmNhZjM5Y2ZiOTRkNDgxOTVkMmIyNjA2MGIzMGY4MjJwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZlZTA5cDcyMAotICB9LAotICB7IC8vIEVudHJ5IDUyNAotICAgIDB4MS44NDMyMjMyYTZkMWRhYTZhYzhhOTRjMDAyMWU2MGQ1MHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmRmZnA0MAotICB9LAotICB7IC8vIEVudHJ5IDUyNQotICAgIDB4MS44NDMyMjMyYTZkMWRhYTZhYzhhOTRjMDAyMWU2MGQ1MHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZkZmZwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjYKLSAgICAweDEuOWUzNzUxNDMxMzlkOWEzN2IzNTRlYTMzZGQ2MjVjZDZwLTYsCi0gICAgMHgxLmZmZmZmZmZmZmZlZmZwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjcKLSAgICAweDEuOWUzNzUxNDMxMzlkOWEzN2IzNTRlYTMzZGQ2MjVjZDZwLTYsCi0gICAgLTB4MS5mZmZmZmZmZmZmZWZmcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI4Ci0gICAgMHgxLmZmZmMwMDAxNTU1NTI4MDAwMDQ5YjEwYzI2YTFmNTM5cC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZjRhcC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTI5Ci0gICAgMHgxLmZmZmMwMDAxNTU1NTI4MDAwMDQ5YjEwYzI2YTFmNTM5cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmY0YXAtOAotICB9LAotICB7IC8vIEVudHJ5IDUzMAotICAgIDB4MS40NjNhODk1YzRlYTVjZTRlNTZlOGY1NzgzODhlZWQzYXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmY3OHA5MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzEKLSAgICAweDEuNDYzYTg5NWM0ZWE1Y2U0ZTU2ZThmNTc4Mzg4ZWVkM2FwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZjc4cDkyMAotICB9LAotICB7IC8vIEVudHJ5IDUzMgotICAgIDB4MS4zYzFhNDg2MzVjZjM4MGM4MTU4ZDkzNGM0ZDBkZDg3Y3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZkNXA5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzMKLSAgICAweDEuM2MxYTQ4NjM1Y2YzODBjODE1OGQ5MzRjNGQwZGQ4N2NwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmQ1cDk5NQotICB9LAotICB7IC8vIEVudHJ5IDUzNAotICAgIDB4MS45MWM0ZTA3MDhiZDQ4NjIxN2Y1ZmMyMzBmMDQxNjIyMHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZlOHA3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzUKLSAgICAweDEuOTFjNGUwNzA4YmQ0ODYyMTdmNWZjMjMwZjA0MTYyMjBwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmU4cDcyMAotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIC0weDEuM2UxNWNiODQ5YjVlYTg3YmNjNTgzZjYzNDRjYmNjNDBwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZWJwOTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM3Ci0gICAgLTB4MS4zZTE1Y2I4NDliNWVhODdiY2M1ODNmNjM0NGNiY2M0MHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZWJwOTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM4Ci0gICAgLTB4MS44MTY4MDgzNDliODBkZDNjMjJjYmU4MGI0YzE3MWQxZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmMXAyNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzkKLSAgICAtMHgxLjgxNjgwODM0OWI4MGRkM2MyMmNiZTgwYjRjMTcxZDFmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmMXAyNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDAKLSAgICAweDEuNDY5OWM4MTRjNWYwNzViYjBlZDk0NzJkZmVjYzUwYTlwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZjRwODQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTQxCi0gICAgMHgxLjQ2OTljODE0YzVmMDc1YmIwZWQ5NDcyZGZlY2M1MGE5cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmNHA4NDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDIKLSAgICAtMHgxLjgxNWU5MmI3YTJhMDE5ZTc0NjUwYTg1OTk2OGUwZjI5cC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmY0cDEwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDMKLSAgICAtMHgxLjgxNWU5MmI3YTJhMDE5ZTc0NjUwYTg1OTk2OGUwZjI5cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmNHAxMDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ0Ci0gICAgLTB4MS4zZThkMDI4MTUzMjAxZWQyNzJmYzk1NDk3MjVmY2IzZnAtMTAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmNwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDUKLSAgICAtMHgxLjNlOGQwMjgxNTMyMDFlZDI3MmZjOTU0OTcyNWZjYjNmcC0xMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmNwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDYKLSAgICAweDEuN2Q2NzY1NzE0Yzc4NTMyZDNlYjBmMmE3M2M1ZDYxMjZwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwMTA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTQ3Ci0gICAgMHgxLjdkNjc2NTcxNGM3ODUzMmQzZWIwZjJhNzNjNWQ2MTI2cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAtMHgxLmY4NjlmYjE0ZDI1NjhkNjdjMzdjOTBiMGEwMzhiMjQwcC0zLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDQ4MAotICB9LAotICB7IC8vIEVudHJ5IDU0OQotICAgIC0weDEuZjg2OWZiMTRkMjU2OGQ2N2MzN2M5MGIwYTAzOGIyNDBwLTMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcDQ4MAotICB9LAotICB7IC8vIEVudHJ5IDU1MAotICAgIC0weDEuODBhNzViMzY5ZDNjM2ZkMTViNjA2MGM2ZmI5OGYyZDZwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwOTcwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUxCi0gICAgLTB4MS44MGE3NWIzNjlkM2MzZmQxNWI2MDYwYzZmYjk4ZjJkNnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwOTcwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUyCi0gICAgLTB4MS45ZGJhNjllODUzYmQ3N2ZkODgzYmUzYmIxMTcxZGY1NXAtNCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA0MgotICB9LAotICB7IC8vIEVudHJ5IDU1MwotICAgIC0weDEuOWRiYTY5ZTg1M2JkNzdmZDg4M2JlM2JiMTE3MWRmNTVwLTQsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDU1NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDU1NgotICAgIDB4MS5wMCwKLSAgICAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTU4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDU1OQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjEKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDU2NAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDU2NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDU2NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDU3MQotICAgIDB4MS5mZmZmZmY1YzI4ZjVjYjRjNTI3MjA2MTI4MTIxMTEyMHAtMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAweDEuZmZmZmZmNWMyOGY1Y2I0YzUyNzIwNjEyODEyMTExMjBwLTEsCi0gICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMwotICB9LAotICB7IC8vIEVudHJ5IDU3MwotICAgIDB4MS5mZmZmZmQ3MGEzZDc5NjBjZDU2OTVhMDZmZGI4MGU3NHAtMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzQKLSAgICAweDEuZmZmZmZkNzBhM2Q3OTYwY2Q1Njk1YTA2ZmRiODBlNzRwLTEsCi0gICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMgotICB9LAotICB7IC8vIEVudHJ5IDU3NQotICAgIDB4MS5mZmZmZmEzZDcwYTY5YWQ0MmIzOWQ4Njk2NjMyZjg1NnAtMSwKLSAgICAweDEuMzMzMzMzMzMzMzMzNHAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzYKLSAgICAweDEuZmZmZmZhM2Q3MGE2OWFkNDJiMzlkODY5NjYzMmY4NTZwLTEsCi0gICAgLTB4MS4zMzMzMzMzMzMzMzM0cC0xMQotICB9LAotICB7IC8vIEVudHJ5IDU3NwotICAgIDB4MS5mZmZmZjVjMjhmNjRlNWVjMGRhMGE0ZjdmNDM4ODA1MnAtMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzgKLSAgICAweDEuZmZmZmY1YzI4ZjY0ZTVlYzBkYTBhNGY3ZjQzODgwNTJwLTEsCi0gICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMQotICB9LAotICB7IC8vIEVudHJ5IDU3OQotICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKLSAgICAweDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODAKLSAgICAweDEuZmZmZmYwMDAwMDE1NTU1NTQ5ZjQ5ZjRkMzRkMzRjYTBwLTEsCi0gICAgLTB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDU4MQotICAgIDB4MS5mZmZmZThmNWMyYmI5OGM3YzEwM2QyZmY3OWYxNWQ2YXAtMSwKLSAgICAweDEuMzMzMzMzMzMzMzMzM3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODIKLSAgICAweDEuZmZmZmU4ZjVjMmJiOThjN2MxMDNkMmZmNzlmMTVkNmFwLTEsCi0gICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIDB4MS5mZmZmZTBhM2Q3NWMzMWIyNjQ1MTE2NmQ2ZjM5OGFiZHAtMSwKLSAgICAweDEuNjY2NjY2NjY2NjY2NnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODQKLSAgICAweDEuZmZmZmUwYTNkNzVjMzFiMjY0NTExNjZkNmYzOThhYmRwLTEsCi0gICAgLTB4MS42NjY2NjY2NjY2NjY2cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDU4NQotICAgIDB4MS5mZmZmZDcwYTNkZmM3MzNiMzMzMWQ4MzgyYjFlOWRmNXAtMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5OXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODYKLSAgICAweDEuZmZmZmQ3MGEzZGZjNzMzYjMzMzFkODM4MmIxZTlkZjVwLTEsCi0gICAgLTB4MS45OTk5OTk5OTk5OTk5cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDU4NwotICAgIDB4MS5mZmZmY2MyOGY2YTI4MjNmMzc2NWI1MDY1OWVjYjBlMnAtMSwKLSAgICAweDEuY2NjY2NjY2NjY2NjY3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODgKLSAgICAweDEuZmZmZmNjMjhmNmEyODIzZjM3NjViNTA2NTllY2IwZTJwLTEsCi0gICAgLTB4MS5jY2NjY2NjY2NjY2NjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDU4OQotICAgIDB4MS5mZmZiY2MyYTZlODZmZWY3ZDJhZjE1ODBiZDhlNjY5OXAtMSwKLSAgICAweDEuMDY2NjY2NjY2NjY2NnAtNwotICB9LAotICB7IC8vIEVudHJ5IDU5MAotICAgIDB4MS5mZmZiY2MyYTZlODZmZWY3ZDJhZjE1ODBiZDhlNjY5OXAtMSwKLSAgICAtMHgxLjA2NjY2NjY2NjY2NjZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTEKLSAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCi0gICAgMHgxLmNjY2NjY2NjY2NjY2NwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTIKLSAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCi0gICAgLTB4MS5jY2NjY2NjY2NjY2NjcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgMHgxLmZmZTU3YTc4MGYzOGMwZGIzNzA1MWZhOGM4ZDYwZmJjcC0xLAotICAgIDB4MS40OTk5OTk5OTk5OTk5cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTk0Ci0gICAgMHgxLmZmZTU3YTc4MGYzOGMwZGIzNzA1MWZhOGM4ZDYwZmJjcC0xLAotICAgIC0weDEuNDk5OTk5OTk5OTk5OXAtNgotICB9LAotICB7IC8vIEVudHJ5IDU5NQotICAgIDB4MS5mZmQzMWNkMGUxZDYyYzA1ZDJjZGVkMjFhZGQ4YmQzM3AtMSwKLSAgICAweDEuYWNjY2NjY2NjY2NjY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDU5NgotICAgIDB4MS5mZmQzMWNkMGUxZDYyYzA1ZDJjZGVkMjFhZGQ4YmQzM3AtMSwKLSAgICAtMHgxLmFjY2NjY2NjY2NjY2NwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTcKLSAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCi0gICAgMHgxLjA4MHAtNQotICB9LAotICB7IC8vIEVudHJ5IDU5OAotICAgIDB4MS5mZmJiZjE4MjA3NTQyZWY4MTM5MGQ3M2MzYmE4OWMxYXAtMSwKLSAgICAtMHgxLjA4MHAtNQotICB9LAotICB7IC8vIEVudHJ5IDU5OQotICAgIDB4MS5mZjlmZjhjMzI5OWY1NDQ1N2JiYWY4YzEyMTczYjQ2YnAtMSwKLSAgICAweDEuMzk5OTk5OTk5OTk5YXAtNQotICB9LAotICB7IC8vIEVudHJ5IDYwMAotICAgIDB4MS5mZjlmZjhjMzI5OWY1NDQ1N2JiYWY4YzEyMTczYjQ2YnAtMSwKLSAgICAtMHgxLjM5OTk5OTk5OTk5OWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDEKLSAgICAweDEuZmY3ZjMyZDc3YzViMWM0MmYxNjYwYzliNmYyZWY2NGZwLTEsCi0gICAgMHgxLjZiMzMzMzMzMzMzMzRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDIKLSAgICAweDEuZmY3ZjMyZDc3YzViMWM0MmYxNjYwYzliNmYyZWY2NGZwLTEsCi0gICAgLTB4MS42YjMzMzMzMzMzMzM0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjAzCi0gICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAotICAgIDB4MS45Y2NjY2NjY2NjY2NlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjA0Ci0gICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAotICAgIC0weDEuOWNjY2NjY2NjY2NjZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDYwNQotICAgIDB4MS5mZjJmNDBjMDJlNjBmNjFkNmRjZmMzOWI2YzJiZTA4N3AtMSwKLSAgICAweDEuY2U2NjY2NjY2NjY2NnAtNQotICB9LAotICB7IC8vIEVudHJ5IDYwNgotICAgIDB4MS5mZjJmNDBjMDJlNjBmNjFkNmRjZmMzOWI2YzJiZTA4N3AtMSwKLSAgICAtMHgxLmNlNjY2NjY2NjY2NjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDcKLSAgICAweDEuOGNhNDZjN2Q4OTc1ZTU3YTE0ODRmMDVjMzczOGQ4M2JwLTEsCi0gICAgMHgxLjVlN2ZjNDM2OWJkYWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDgKLSAgICAweDEuOGNhNDZjN2Q4OTc1ZTU3YTE0ODRmMDVjMzczOGQ4M2JwLTEsCi0gICAgLTB4MS41ZTdmYzQzNjliZGFkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA5Ci0gICAgMHgxLjBiNWQzODAyZmM3OTkxMTQwMTY4ZjI5NGVlZGQ3OTA0cC0yLAotICAgIDB4MS40ZTdmYzQzNjliZGFkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTAKLSAgICAweDEuMGI1ZDM4MDJmYzc5OTExNDAxNjhmMjk0ZWVkZDc5MDRwLTIsCi0gICAgLTB4MS40ZTdmYzQzNjliZGFkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTEKLSAgICAtMHgxLjY2Yjk2ZjUzMzIzYWYxZDdlMzFhNzE2MmFiMThhNzVicC0yLAotICAgIDB4MS5lZGJmYTY1MWU5Yzg0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTIKLSAgICAtMHgxLjY2Yjk2ZjUzMzIzYWYxZDdlMzFhNzE2MmFiMThhNzVicC0yLAotICAgIC0weDEuZWRiZmE2NTFlOWM4NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEzCi0gICAgLTB4MS5hOTM1NTQ4ODhjMzJmYTU3ZjIyYTk1MjlhMzIwYzFjYnAtMSwKLSAgICAweDEuNDY3ZmM0MzY5YmRhZHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE0Ci0gICAgLTB4MS5hOTM1NTQ4ODhjMzJmYTU3ZjIyYTk1MjlhMzIwYzFjYnAtMSwKLSAgICAtMHgxLjQ2N2ZjNDM2OWJkYWRwMQotICB9LAotICB7IC8vIEVudHJ5IDYxNQotICAgIC0weDEuZmZjMDAxNTU1MjdkMmI5ZmRhMmFlODkzOTZlMDk3MjdwLTEsCi0gICAgMHgxLjk2MWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDYxNgotICAgIC0weDEuZmZjMDAxNTU1MjdkMmI5ZmRhMmFlODkzOTZlMDk3MjdwLTEsCi0gICAgLTB4MS45NjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTcKLSAgICAtMHgxLjk2OTA3YzVjN2MyNWI4OGUzNGFkZGZmMWZiZWY2NmU0cC0xLAotICAgIDB4MS5lNWJmYTY1MWU5YzgzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTgKLSAgICAtMHgxLjk2OTA3YzVjN2MyNWI4OGUzNGFkZGZmMWZiZWY2NmU0cC0xLAotICAgIC0weDEuZTViZmE2NTFlOWM4M3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE5Ci0gICAgLTB4MS4yYTFlNWE1MGY5NDhjZDQ4N2M1MzA5NjgyYjExMGE1M3AtMiwKLSAgICAweDEuMWFhZmNiYWZjODVmN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIwCi0gICAgLTB4MS4yYTFlNWE1MGY5NDhjZDQ4N2M1MzA5NjgyYjExMGE1M3AtMiwKLSAgICAtMHgxLjFhYWZjYmFmYzg1ZjdwMgotICB9LAotICB7IC8vIEVudHJ5IDYyMQotICAgIDB4MS40ODk0ZjY5NWRjNTZiY2U4YjI3M2U1NTI0ZjE4MTI2NHAtMiwKLSAgICAweDEuNDI3ZmM0MzY5YmRhZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIyCi0gICAgMHgxLjQ4OTRmNjk1ZGM1NmJjZThiMjczZTU1MjRmMTgxMjY0cC0yLAotICAgIC0weDEuNDI3ZmM0MzY5YmRhZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIzCi0gICAgMHgxLmEwMTZlYTNhNjkyY2UwYzMyMWI3N2YxNjhkZTM5MTIycC0xLAotICAgIDB4MS42YTRmYmNiZDZmNTYycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjQKLSAgICAweDEuYTAxNmVhM2E2OTJjZTBjMzIxYjc3ZjE2OGRlMzkxMjJwLTEsCi0gICAgLTB4MS42YTRmYmNiZDZmNTYycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjUKLSAgICAweDEuYTMwYTY5ZjU1MzdlYmMyMmYwODcwYzJiZDI2ZWYyODRwLTEsCi0gICAgMHgxLjZhZjJlZmYwYTI4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIDB4MS5hMzBhNjlmNTUzN2ViYzIyZjA4NzBjMmJkMjZlZjI4NHAtMSwKLSAgICAtMHgxLjZhZjJlZmYwYTI4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDYyNwotICAgIDB4MS41YmQ2MmU4YjA0YWQ1OTE1ZTY2MjQyMzQ5Yjc1NmUxMXAtMiwKLSAgICAweDEuNDNjNjJhOWQwMjQxNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI4Ci0gICAgMHgxLjViZDYyZThiMDRhZDU5MTVlNjYyNDIzNDliNzU2ZTExcC0yLAotICAgIC0weDEuNDNjNjJhOWQwMjQxNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI5Ci0gICAgLTB4MS4wY2I3MWY2NzFlNjM0MTA5NjZlNzhkMjAwOWMwNjE2ZnAtMiwKLSAgICAweDEuMWM5OTY1NDk2MWY5MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMwCi0gICAgLTB4MS4wY2I3MWY2NzFlNjM0MTA5NjZlNzhkMjAwOWMwNjE2ZnAtMiwKLSAgICAtMHgxLjFjOTk2NTQ5NjFmOTJwMgotICB9LAotICB7IC8vIEVudHJ5IDYzMQotICAgIC0weDEuODlkODZhYTg1MjFjMTFiNzRmOGIxOTU0YzA4ZjliMzZwLTEsCi0gICAgMHgxLmVhZDkzZmViODM2MWZwMQotICB9LAotICB7IC8vIEVudHJ5IDYzMgotICAgIC0weDEuODlkODZhYTg1MjFjMTFiNzRmOGIxOTU0YzA4ZjliMzZwLTEsCi0gICAgLTB4MS5lYWQ5M2ZlYjgzNjFmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzMKLSAgICAtMHgxLmZlNTFhYzU1NGExNmFkODE5NGYxODEwODVmOGExN2YycC0xLAotICAgIDB4MS45YzdmYjU0NDQyZDFhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzQKLSAgICAtMHgxLmZlNTFhYzU1NGExNmFkODE5NGYxODEwODVmOGExN2YycC0xLAotICAgIC0weDEuOWM3ZmI1NDQ0MmQxYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM1Ci0gICAgLTB4MS5iOTdjMDRkMDhiYzVkNzY1YjM0MWEyMmIyYzcyMGI2ZnAtMSwKLSAgICAweDEuNGUyNjJhOWQwMjQxNXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM2Ci0gICAgLTB4MS5iOTdjMDRkMDhiYzVkNzY1YjM0MWEyMmIyYzcyMGI2ZnAtMSwKLSAgICAtMHgxLjRlMjYyYTlkMDI0MTVwMQotICB9LAotICB7IC8vIEVudHJ5IDYzNwotICAgIC0weDEuYThhYzhhM2U1OGY2Y2E5NTIzOTAyOTlkMmU4YjE4N2ZwLTIsCi0gICAgMHgxLmZmOTkzZmViODM2MjBwMAotICB9LAotICB7IC8vIEVudHJ5IDYzOAotICAgIC0weDEuYThhYzhhM2U1OGY2Y2E5NTIzOTAyOTlkMmU4YjE4N2ZwLTIsCi0gICAgLTB4MS5mZjk5M2ZlYjgzNjIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzkKLSAgICAweDEuNzdhOGI5YjNkMjU0YTllMzlkMDJiM2ViM2UyMzkwZTdwLTMsCi0gICAgMHgxLjYyZTYyYTlkMDI0MTZwMAotICB9LAotICB7IC8vIEVudHJ5IDY0MAotICAgIDB4MS43N2E4YjliM2QyNTRhOWUzOWQwMmIzZWIzZTIzOTBlN3AtMywKLSAgICAtMHgxLjYyZTYyYTlkMDI0MTZwMAotICB9LAotICB7IC8vIEVudHJ5IDY0MQotICAgIDB4MS42ZTEwNjEyMDVkZDc5MDUxYzExMmQzMGEwNTA5N2M2MXAtMSwKLSAgICAweDEuOGM2NjJhOWQwMjQxOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY0MgotICAgIDB4MS42ZTEwNjEyMDVkZDc5MDUxYzExMmQzMGEwNTA5N2M2MXAtMSwKLSAgICAtMHgxLjhjNjYyYTlkMDI0MTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDMKLSAgICAtMHgxLjY4MmYzY2MzYzdhMDhkYTJjZTAyYTQxY2RjN2JlZDg2cC00LAotICAgIC0weDEuYThhYTFkMTFjNDRmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ0Ci0gICAgLTB4MS42ODJmM2NjM2M3YTA4ZGEyY2UwMmE0MWNkYzdiZWQ4NnAtNCwKLSAgICAweDEuYThhYTFkMTFjNDRmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ1Ci0gICAgLTB4MS5lNjY2OWEyNzBjMzZkNDg3OWI0MjhkZGJhOTZjZDg3YnAtNywKLSAgICAtMHgxLjk1ZWM4YjllMDNkNTRwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NgotICAgIC0weDEuZTY2NjlhMjcwYzM2ZDQ4NzliNDI4ZGRiYTk2Y2Q4N2JwLTcsCi0gICAgMHgxLjk1ZWM4YjllMDNkNTRwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NwotICAgIDB4MS5kZGQxZWMyNWUyMDlmMWJiZjdlMTdlZjZjODQ1MGNkN3AtNSwKLSAgICAtMHgxLjgzMmVmYTJhNDM1YTlwMAotICB9LAotICB7IC8vIEVudHJ5IDY0OAotICAgIDB4MS5kZGQxZWMyNWUyMDlmMWJiZjdlMTdlZjZjODQ1MGNkN3AtNSwKLSAgICAweDEuODMyZWZhMmE0MzVhOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ5Ci0gICAgMHgxLjBjYWI5MTE1NjQwZDk5MzA4MmE3MzQzYmI1YWZmZWEycC0zLAotICAgIC0weDEuNzA3MTY4YjY4MmRmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUwCi0gICAgMHgxLjBjYWI5MTE1NjQwZDk5MzA4MmE3MzQzYmI1YWZmZWEycC0zLAotICAgIDB4MS43MDcxNjhiNjgyZGZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTEKLSAgICAweDEuYTA3MjNhOTU0OTJlZGVlNWRjOTgzOTRlNDVmOTZkODhwLTMsCi0gICAgLTB4MS41ZGIzZDc0MmMyNjUzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTIKLSAgICAweDEuYTA3MjNhOTU0OTJlZGVlNWRjOTgzOTRlNDVmOTZkODhwLTMsCi0gICAgMHgxLjVkYjNkNzQyYzI2NTNwMAotICB9LAotICB7IC8vIEVudHJ5IDY1MwotICAgIDB4MS4xOGZlZTk2YTFhNTg1OTI4YTk0Y2RhN2UzZDkxNmZlMXAtMiwKLSAgICAtMHgxLjRhZjY0NWNmMDFlYThwMAotICB9LAotICB7IC8vIEVudHJ5IDY1NAotICAgIDB4MS4xOGZlZTk2YTFhNTg1OTI4YTk0Y2RhN2UzZDkxNmZlMXAtMiwKLSAgICAweDEuNGFmNjQ1Y2YwMWVhOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU1Ci0gICAgMHgxLjYwNDM2MjFiMTNiZTJmZjA3MDg1ZjgyNzg1OThlNTY2cC0yLAotICAgIC0weDEuMzgzOGI0NWI0MTZmZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU2Ci0gICAgMHgxLjYwNDM2MjFiMTNiZTJmZjA3MDg1ZjgyNzg1OThlNTY2cC0yLAotICAgIDB4MS4zODM4YjQ1YjQxNmZkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTcKLSAgICAweDEuYTVhNGNjZjQwZDlkOWJhOTdmYWE0ZTIzZWNjZTllM2FwLTIsCi0gICAgLTB4MS4yNTdiMjJlNzgwZjUycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTgKLSAgICAweDEuYTVhNGNjZjQwZDlkOWJhOTdmYWE0ZTIzZWNjZTllM2FwLTIsCi0gICAgMHgxLjI1N2IyMmU3ODBmNTJwMAotICB9LAotICB7IC8vIEVudHJ5IDY1OQotICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKLSAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMAotICB9LAotICB7IC8vIEVudHJ5IDY2MAotICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKLSAgICAweDEuMTJiZDkxNzNjMDdhYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYxCi0gICAgMHgxLjI2OTc2YTZjNGUwZjg2NjMzMzI3ZjFjZWVjYjUwOGFlcC0xLAotICAgIC0weDEuZWE1YzNlZDViMzg1MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2MgotICAgIDB4MS4yNjk3NmE2YzRlMGY4NjYzMzMyN2YxY2VlY2I1MDhhZXAtMSwKLSAgICAweDEuZWE1YzNlZDViMzg1MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2MwotICAgIDB4MS4zODA1YTE4ODIwMDlmMjg0M2RhODA4ZTk1OWYxNzg2MXAtMSwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjQKLSAgICAweDEuMzgwNWExODgyMDA5ZjI4NDNkYTgwOGU5NTlmMTc4NjFwLTEsCi0gICAgMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjUKLSAgICAweDEuNDhlNTJlMGE2NWJjYjNjZDQ2NDU1YzRkMjMzOGJkZjJwLTEsCi0gICAgLTB4MS5iZjE0YmM4MTFhOGYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgMHgxLjQ4ZTUyZTBhNjViY2IzY2Q0NjQ1NWM0ZDIzMzhiZGYycC0xLAotICAgIDB4MS5iZjE0YmM4MTFhOGYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY3Ci0gICAgMHgxLjU5MmU1OGVhMGE5ZWVjMGIzNTdlYjRlOWE4M2IwZWE1cC0xLAotICAgIC0weDEuYTk3MGZiNTZjZTE0MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2OAotICAgIDB4MS41OTJlNThlYTBhOWVlYzBiMzU3ZWI0ZTlhODNiMGVhNXAtMSwKLSAgICAweDEuYTk3MGZiNTZjZTE0MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2OQotICAgIDB4MS42OGQ5YWZlMDUyZDFmMGU5MzI0YWU4NzY5NjFiY2RiMXAtMSwKLSAgICAtMHgxLjkzY2QzYTJjODE5OTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzAKLSAgICAweDEuNjhkOWFmZTA1MmQxZjBlOTMyNGFlODc2OTYxYmNkYjFwLTEsCi0gICAgMHgxLjkzY2QzYTJjODE5OTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzEKLSAgICAweDEuNzdlMDA4ZDA3NzVlNzQ0ZWIxNmEyYzRlYzcxODRjNDNwLTEsCi0gICAgLTB4MS43ZTI5NzkwMjM1MWUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcyCi0gICAgMHgxLjc3ZTAwOGQwNzc1ZTc0NGViMTZhMmM0ZWM3MTg0YzQzcC0xLAotICAgIDB4MS43ZTI5NzkwMjM1MWUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjczCi0gICAgMHgxLjg2M2E4NTBlNDM4ZmUwMjkzMDJhYmEwZjVmMTI3NjE2cC0xLAotICAgIC0weDEuNjg4NWI3ZDdlOGEzMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY3NAotICAgIDB4MS44NjNhODUwZTQzOGZlMDI5MzAyYWJhMGY1ZjEyNzYxNnAtMSwKLSAgICAweDEuNjg4NWI3ZDdlOGEzMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY3NQotICAgIDB4MS45M2UyOTQ4MjMzZmNlODE0NDM5ZWQ1MWZkMjU0ODkyMHAtMSwKLSAgICAtMHgxLjUyZTFmNmFkOWMyODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzYKLSAgICAweDEuOTNlMjk0ODIzM2ZjZTgxNDQzOWVkNTFmZDI1NDg5MjBwLTEsCi0gICAgMHgxLjUyZTFmNmFkOWMyODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzcKLSAgICAweDEuYTBkMWY4YTlhNzkxZDRiNTY5NGNhNjhhNDJmZTZjOWJwLTEsCi0gICAgLTB4MS4zZDNlMzU4MzRmYWQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc4Ci0gICAgMHgxLmEwZDFmOGE5YTc5MWQ0YjU2OTRjYTY4YTQyZmU2YzlicC0xLAotICAgIDB4MS4zZDNlMzU4MzRmYWQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc5Ci0gICAgMHgxLmJjNmJkODYxZTEzZGUzMDk0MjhlMDBmN2JlZjZjM2VjcC0xLAotICAgIC0weDEuMGEwYjAyNTAxYzc5OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4MAotICAgIDB4MS5iYzZiZDg2MWUxM2RlMzA5NDI4ZTAwZjdiZWY2YzNlY3AtMSwKLSAgICAweDEuMGEwYjAyNTAxYzc5OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4MQotICAgIDB4MS5jYTU5YzZmYTNkOWNlMjM4YTIyNzM5M2I2YjA3NWJjNXAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODIKLSAgICAweDEuY2E1OWM2ZmEzZDljZTIzOGEyMjczOTNiNmIwNzViYzVwLTEsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODMKLSAgICAweDEuZDZjMGIxMjU3OTFjZmZjZTgzZTMyNTY0NzEyYjc4YzZwLTEsCi0gICAgLTB4MS45ZGQ4M2M3YzllMTI2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgMHgxLmQ2YzBiMTI1NzkxY2ZmY2U4M2UzMjU2NDcxMmI3OGM2cC0xLAotICAgIDB4MS45ZGQ4M2M3YzllMTI2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg1Ci0gICAgMHgxLmUxOTYwMjYxODI5ODU4MzkxNjQ1YmJlMTIwMTllNThhcC0xLAotICAgIC0weDEuNjJiOTU4NmFkMGEyMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDY4NgotICAgIDB4MS5lMTk2MDI2MTgyOTg1ODM5MTY0NWJiZTEyMDE5ZTU4YXAtMSwKLSAgICAweDEuNjJiOTU4NmFkMGEyMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDY4NwotICAgIDB4MS5lYWQwN2NjNjM1Njk2NGUyN2ExMDM2ZDJmOGIxNThmN3AtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODgKLSAgICAweDEuZWFkMDdjYzYzNTY5NjRlMjdhMTAzNmQyZjhiMTU4ZjdwLTEsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODkKLSAgICAweDEuZjI2ODQwZTdiMjE4OGY3YTBjYzY2MWEwZWRlMzcyOGJwLTEsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODI5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkwCi0gICAgMHgxLmYyNjg0MGU3YjIxODhmN2EwY2M2NjFhMGVkZTM3MjhicC0xLAotICAgIDB4MS5kOGY3MjA4ZTZiODI5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkxCi0gICAgMHgxLmY4NTZkNDhkYjc5N2RlYzBiNzllMTM1MzQwOWRjM2YycC0xLAotICAgIC0weDEuNjJiOTU4NmFkMGExZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDY5MgotICAgIDB4MS5mODU2ZDQ4ZGI3OTdkZWMwYjc5ZTEzNTM0MDlkYzNmMnAtMSwKLSAgICAweDEuNjJiOTU4NmFkMGExZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDY5MwotICAgIDB4MS5mYzk3MjgzYTQyNDc5NzIxNWY4YThkMTk2NzczNmM5YnAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTQKLSAgICAweDEuZmM5NzI4M2E0MjQ3OTcyMTVmOGE4ZDE5Njc3MzZjOWJwLTEsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTUKLSAgICAweDEuZmYyNTliN2FiOWY0ZjlhOGNiOWYxYzMzMzI3MmU0MDlwLTEsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjk2Ci0gICAgMHgxLmZmMjU5YjdhYjlmNGY5YThjYjlmMWMzMzMyNzJlNDA5cC0xLAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjk3Ci0gICAgMHgxLmZmMjU5YjdhYjlmNGY5YThjYjlmMWMzMzMyNzJlNDA5cC0xLAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjk4Ci0gICAgMHgxLmZmMjU5YjdhYjlmNGY5YThjYjlmMWMzMzMyNzJlNDA5cC0xLAotICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNQotICB9LAotICB7IC8vIEVudHJ5IDY5OQotICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtNAotICB9LAotICB7IC8vIEVudHJ5IDcwMAotICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDEKLSAgICAweDEuZjg1NmQ0OGRiNzk3ZGJmZWNmYThiNGNkM2JlNDQwMjdwLTEsCi0gICAgMHgxLjYyYjk1ODZhZDBhMjJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDIKLSAgICAweDEuZjg1NmQ0OGRiNzk3ZGJmZWNmYThiNGNkM2JlNDQwMjdwLTEsCi0gICAgLTB4MS42MmI5NTg2YWQwYTIycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAzCi0gICAgMHgxLmYyNjg0MGU3YjIxODhiZDA4MTRlM2RmYzdmNmYzZjg3cC0xLAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA0Ci0gICAgMHgxLmYyNjg0MGU3YjIxODhiZDA4MTRlM2RmYzdmNmYzZjg3cC0xLAotICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtMwotICB9LAotICB7IC8vIEVudHJ5IDcwNQotICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDcwNgotICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDcKLSAgICAweDEuZTE5NjAyNjE4Mjk4NTJjYTY2MmNhMjdkNTE4YzJmYTlwLTEsCi0gICAgMHgxLjYyYjk1ODZhZDBhMjJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDgKLSAgICAweDEuZTE5NjAyNjE4Mjk4NTJjYTY2MmNhMjdkNTE4YzJmYTlwLTEsCi0gICAgLTB4MS42MmI5NTg2YWQwYTIycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA5Ci0gICAgMHgxLmQ2YzBiMTI1NzkxY2Y5ODNkNTNlZmFhN2Q0NWUyOTFlcC0xLAotICAgIDB4MS45ZGQ4M2M3YzllMTI4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEwCi0gICAgMHgxLmQ2YzBiMTI1NzkxY2Y5ODNkNTNlZmFhN2Q0NWUyOTFlcC0xLAotICAgIC0weDEuOWRkODNjN2M5ZTEyOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDcxMQotICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDcxMgotICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTMKLSAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCi0gICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTQKLSAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCi0gICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE1Ci0gICAgMHgxLmEwZDFmOGE5YTc5MWY5ZGZmNWM5OTNhZjQ5MDgyNjRkcC0xLAotICAgIDB4MS4zZDNlMzU4MzRmYWNjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE2Ci0gICAgMHgxLmEwZDFmOGE5YTc5MWY5ZGZmNWM5OTNhZjQ5MDgyNjRkcC0xLAotICAgIC0weDEuM2QzZTM1ODM0ZmFjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcxNwotICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKLSAgICAweDEuNTJlMWY2YWQ5YzI3Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcxOAotICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKLSAgICAtMHgxLjUyZTFmNmFkOWMyN2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTkKLSAgICAweDEuODYzYTg1MGU0MzkwMDk5N2U3NmJlODA0MDU0MzczNzdwLTEsCi0gICAgMHgxLjY4ODViN2Q3ZThhMmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjAKLSAgICAweDEuODYzYTg1MGU0MzkwMDk5N2U3NmJlODA0MDU0MzczNzdwLTEsCi0gICAgLTB4MS42ODg1YjdkN2U4YTJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIxCi0gICAgMHgxLjc3ZTAwOGQwNzc1ZTlmYzM4ZTNmNDkyZjhlOTNmZjUxcC0xLAotICAgIDB4MS43ZTI5NzkwMjM1MWRjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIyCi0gICAgMHgxLjc3ZTAwOGQwNzc1ZTlmYzM4ZTNmNDkyZjhlOTNmZjUxcC0xLAotICAgIC0weDEuN2UyOTc5MDIzNTFkY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcyMwotICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKLSAgICAweDEuOTNjZDNhMmM4MTk4Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcyNAotICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKLSAgICAtMHgxLjkzY2QzYTJjODE5OGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjUKLSAgICAweDEuNTkyZTU4ZWEwYTlmMWI0ZmRkYmFhZjg2OGZlNDc5MTFwLTEsCi0gICAgMHgxLmE5NzBmYjU2Y2UxM2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjYKLSAgICAweDEuNTkyZTU4ZWEwYTlmMWI0ZmRkYmFhZjg2OGZlNDc5MTFwLTEsCi0gICAgLTB4MS5hOTcwZmI1NmNlMTNjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI3Ci0gICAgMHgxLjQ4ZTUyZTBhNjViY2U0ZDlkNjJhMzEyOTNmN2Q0MWMxcC0xLAotICAgIDB4MS5iZjE0YmM4MTFhOGVjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI4Ci0gICAgMHgxLjQ4ZTUyZTBhNjViY2U0ZDlkNjJhMzEyOTNmN2Q0MWMxcC0xLAotICAgIC0weDEuYmYxNGJjODExYThlY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcyOQotICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKLSAgICAweDEuZDRiODdkYWI2NzA5Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDczMAotICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzEKLSAgICAweDEuMjY5NzZhNmM0ZTBmYmFiYjg0NjMyYmQ5OWZlZWM5YzZwLTEsCi0gICAgMHgxLmVhNWMzZWQ1YjM4NGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzIKLSAgICAweDEuMjY5NzZhNmM0ZTBmYmFiYjg0NjMyYmQ5OWZlZWM5YzZwLTEsCi0gICAgLTB4MS5lYTVjM2VkNWIzODRjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMzCi0gICAgMHgxLmU4YzQwNWYzNmY4NWI3ZjVkNmEzOGRmZDRhNjkyMzQxcC0yLAotICAgIDB4MS4xMmJkOTE3M2MwN2FicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzQKLSAgICAweDEuZThjNDA1ZjM2Zjg1YjdmNWQ2YTM4ZGZkNGE2OTIzNDFwLTIsCi0gICAgLTB4MS4xMmJkOTE3M2MwN2FicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzUKLSAgICAweDEuYTVhNGNjZjQwZDljYjI1ZjE2YWQ5N2U0ODBjNGI0ODNwLTIsCi0gICAgMHgxLjI1N2IyMmU3ODBmNTZwMAotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIDB4MS5hNWE0Y2NmNDBkOWNiMjVmMTZhZDk3ZTQ4MGM0YjQ4M3AtMiwKLSAgICAtMHgxLjI1N2IyMmU3ODBmNTZwMAotICB9LAotICB7IC8vIEVudHJ5IDczNwotICAgIDB4MS42MDQzNjIxYjEzYmQzZjkwNGIzYjg3NmRmNWIyYzZmNHAtMiwKLSAgICAweDEuMzgzOGI0NWI0MTcwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM4Ci0gICAgMHgxLjYwNDM2MjFiMTNiZDNmOTA0YjNiODc2ZGY1YjJjNmY0cC0yLAotICAgIC0weDEuMzgzOGI0NWI0MTcwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM5Ci0gICAgMHgxLjE4ZmVlOTZhMWE1NzYyZmM2NzcwZmYxNjhlMDZhYjNlcC0yLAotICAgIDB4MS40YWY2NDVjZjAxZWFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDAKLSAgICAweDEuMThmZWU5NmExYTU3NjJmYzY3NzBmZjE2OGUwNmFiM2VwLTIsCi0gICAgLTB4MS40YWY2NDVjZjAxZWFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDEKLSAgICAweDEuYTA3MjNhOTU0OTJjZTk5ODQ1N2ZiN2EwZDA5YTYzODVwLTMsCi0gICAgMHgxLjVkYjNkNzQyYzI2NTdwMAotICB9LAotICB7IC8vIEVudHJ5IDc0MgotICAgIDB4MS5hMDcyM2E5NTQ5MmNlOTk4NDU3ZmI3YTBkMDlhNjM4NXAtMywKLSAgICAtMHgxLjVkYjNkNzQyYzI2NTdwMAotICB9LAotICB7IC8vIEVudHJ5IDc0MwotICAgIDB4MS4wY2FiOTExNTY0MGI5ZDlkNDY2NzIzYmJkNWQ1ODliZXAtMywKLSAgICAweDEuNzA3MTY4YjY4MmUwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ0Ci0gICAgMHgxLjBjYWI5MTE1NjQwYjlkOWQ0NjY3MjNiYmQ1ZDU4OWJlcC0zLAotICAgIC0weDEuNzA3MTY4YjY4MmUwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgMHgxLmRkZDFlYzI1ZTIwMWY1Mzg5MjViZjViY2Y3YzdkZjZlcC01LAotICAgIDB4MS44MzJlZmEyYTQzNWFkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDYKLSAgICAweDEuZGRkMWVjMjVlMjAxZjUzODkyNWJmNWJjZjdjN2RmNmVwLTUsCi0gICAgLTB4MS44MzJlZmEyYTQzNWFkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDcKLSAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAotICAgIDB4MS45NWVjOGI5ZTAzZDU4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDgKLSAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAotICAgIC0weDEuOTVlYzhiOWUwM2Q1OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ5Ci0gICAgLTB4MS42ODJmM2NjM2M3YTA4ZGEyY2UwMmE0MWNkYzdiZWQ4NnAtNCwKLSAgICAweDEuYThhYTFkMTFjNDRmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUwCi0gICAgLTB4MS42ODJmM2NjM2M3YTA4ZGEyY2UwMmE0MWNkYzdiZWQ4NnAtNCwKLSAgICAtMHgxLmE4YWExZDExYzQ0ZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDc1MQotICAgIDB4MS4wY2IzNDY5YTI5ZWE2NmQ0MDMxYmU3Njk3MDJhYWQ1Y3AtMSwKLSAgICAweDEuMDRhZmY2ZDMzMDk0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUyCi0gICAgMHgxLjBjYjM0NjlhMjllYTY2ZDQwMzFiZTc2OTcwMmFhZDVjcC0xLAotICAgIC0weDEuMDRhZmY2ZDMzMDk0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUzCi0gICAgMHgxLjBjYjIyOGZhN2Y4MTE3YzgyZTYxY2Y1MzkzMzQxYzY0cC0xLAotICAgIDB4MS4wNGIwOWU5OGRjZGI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTQKLSAgICAweDEuMGNiMjI4ZmE3ZjgxMTdjODJlNjFjZjUzOTMzNDFjNjRwLTEsCi0gICAgLTB4MS4wNGIwOWU5OGRjZGI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTUKLSAgICAweDEuMGNiMTBiNWE2MWIwNWE3M2U3OGEzZTQ0NDdiYWY1MTRwLTEsCi0gICAgMHgxLjA0YjE0NjVlODkyMjZwMAotICB9LAotICB7IC8vIEVudHJ5IDc1NgotICAgIDB4MS4wY2IxMGI1YTYxYjA1YTczZTc4YTNlNDQ0N2JhZjUxNHAtMSwKLSAgICAtMHgxLjA0YjE0NjVlODkyMjZwMAotICB9LAotICB7IC8vIEVudHJ5IDc1NwotICAgIDB4MS4wY2FmZWRiOWQwNzhhOTg0MDg2OTI4YWE0MGQyZTRhNXAtMSwKLSAgICAweDEuMDRiMWVlMjQzNTY5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU4Ci0gICAgMHgxLjBjYWZlZGI5ZDA3OGE5ODQwODY5MjhhYTQwZDJlNGE1cC0xLAotICAgIC0weDEuMDRiMWVlMjQzNTY5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU5Ci0gICAgMHgxLjBjYWVkMDE4Y2JkYTdmYTU5YzYzMWNkNTViMzFhYThkcC0xLAotICAgIDB4MS4wNGIyOTVlOWUxYjBhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjAKLSAgICAweDEuMGNhZWQwMThjYmRhN2ZhNTljNjMxY2Q1NWIzMWFhOGRwLTEsCi0gICAgLTB4MS4wNGIyOTVlOWUxYjBhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjEKLSAgICAweDEuMGNhZGIyNzc1M2Q2NTc4NWUwNmQwZTQ2NDAwNjE0OWVwLTEsCi0gICAgMHgxLjA0YjMzZGFmOGRmN2NwMAotICB9LAotICB7IC8vIEVudHJ5IDc2MgotICAgIDB4MS4wY2FkYjI3NzUzZDY1Nzg1ZTA2ZDBlNDY0MDA2MTQ5ZXAtMSwKLSAgICAtMHgxLjA0YjMzZGFmOGRmN2NwMAotICB9LAotICB7IC8vIEVudHJ5IDc2MwotICAgIDB4MS4wY2FjOTRkNTY4NmNhYmQyNDMwYzIwZmRmMjg1NWI0N3AtMSwKLSAgICAweDEuMDRiM2U1NzUzYTNlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY0Ci0gICAgMHgxLjBjYWM5NGQ1Njg2Y2FiZDI0MzBjMjBmZGYyODU1YjQ3cC0xLAotICAgIC0weDEuMDRiM2U1NzUzYTNlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY1Ci0gICAgMHgxLjBjYWI3NzMzMDk5ZGY3Mzg2NDU1NzRjZDQ4MmVmNGIycC0xLAotICAgIDB4MS4wNGI0OGQzYWU2ODYwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjYKLSAgICAweDEuMGNhYjc3MzMwOTlkZjczODY0NTU3NGNkNDgyZWY0YjJwLTEsCi0gICAgLTB4MS4wNGI0OGQzYWU2ODYwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjcKLSAgICAweDEuMGNhYTU5OTAzNzZiMDYxZWMxY2YzODkwZjFiOGUxZTNwLTEsCi0gICAgMHgxLjA0YjUzNTAwOTJjY2ZwMAotICB9LAotICB7IC8vIEVudHJ5IDc2OAotICAgIDB4MS4wY2FhNTk5MDM3NmIwNjFlYzFjZjM4OTBmMWI4ZTFlM3AtMSwKLSAgICAtMHgxLjA0YjUzNTAwOTJjY2ZwMAotICB9LAotICB7IC8vIEVudHJ5IDc2OQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzEKLSAgICAweDEucDAsCi0gICAgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDc3MgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDc3MwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAweDEuYWQwMmM3NzFjMzVlZDVmMDEwODlhMDBjNmEyN2UwY2ZwLTEsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzUKLSAgICAweDEuYWQwMmM3NzFjMzVlZDVmMDEwODlhMDBjNmEyN2UwY2ZwLTEsCi0gICAgLTB4MS4yNzlhNzQ1OTAzMzFicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc2Ci0gICAgMHgxLmFkMDJjNzcxYzM1ZWNkMzQ3MWRlOTAyMWU2YzNiOTJicC0xLAotICAgIDB4MS4yNzlhNzQ1OTAzMzFjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc3Ci0gICAgMHgxLmFkMDJjNzcxYzM1ZWNkMzQ3MWRlOTAyMWU2YzNiOTJicC0xLAotICAgIC0weDEuMjc5YTc0NTkwMzMxY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc3OAotICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc3OQotICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODAKLSAgICAtMHgxLjQ4ZDFkZGQyYjJiM2Y4YzIxYjk0MjFlNjViMzgwNzM1cC0zLAotICAgIDB4MS5iYjY3YWU4NTg0Y2E5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODEKLSAgICAtMHgxLjQ4ZDFkZGQyYjJiM2Y4YzIxYjk0MjFlNjViMzgwNzM1cC0zLAotICAgIC0weDEuYmI2N2FlODU4NGNhOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgyCi0gICAgLTB4MS40OGQxZGRkMmIyYjQ3NzE4ZmYzMDYzYjZiZDk4MTA5OXAtMywKLSAgICAweDEuYmI2N2FlODU4NGNhYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgzCi0gICAgLTB4MS40OGQxZGRkMmIyYjQ3NzE4ZmYzMDYzYjZiZDk4MTA5OXAtMywKLSAgICAtMHgxLmJiNjdhZTg1ODRjYWFwMAotICB9LAotICB7IC8vIEVudHJ5IDc4NAotICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCi0gICAgMHgxLmJiNjdhZTg1ODRjYWJwMAotICB9LAotICB7IC8vIEVudHJ5IDc4NQotICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODYKLSAgICAweDEuY2ZjNmNmYTUyYWQ5Zjk5MTFkYjRjYTBkNDVmZGIwYjNwLTEsCi0gICAgMHgxLmJmZmZmZmZmZmZmZmZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODcKLSAgICAweDEuY2ZjNmNmYTUyYWQ5Zjk5MTFkYjRjYTBkNDVmZGIwYjNwLTEsCi0gICAgLTB4MS5iZmZmZmZmZmZmZmZmcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg4Ci0gICAgMHgxLmNmYzZjZmE1MmFkOWY2MmQ2ZDU0MjNjYTgzMzlhMDBhcC0xLAotICAgIDB4MS5jcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg5Ci0gICAgMHgxLmNmYzZjZmE1MmFkOWY2MmQ2ZDU0MjNjYTgzMzlhMDBhcC0xLAotICAgIC0weDEuY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDc5MAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKLSAgICAweDEuYzAwMDAwMDAwMDAwMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDc5MQotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKLSAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTIKLSAgICAweDEuOGJiMTA1YTVkYzkwMTA0MDUxZDA4Y2I5NjU2MzE4MDdwLTEsCi0gICAgMHgxLjVmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTMKLSAgICAweDEuOGJiMTA1YTVkYzkwMTA0MDUxZDA4Y2I5NjU2MzE4MDdwLTEsCi0gICAgLTB4MS41ZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk0Ci0gICAgMHgxLjhiYjEwNWE1ZGM5MDA2MThmODBmYTUxZDMwM2M2OXAtMSwKLSAgICAweDEuNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDc5NQotICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCi0gICAgLTB4MS42cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk2Ci0gICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAotICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk3Ci0gICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAotICAgIC0weDEuNjAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDc5OAotICAgIDB4MS43ZWY0ODQyZjBiY2QxMTY4NmFhZjZmMjFjOWFhODM1NHAtMiwKLSAgICAweDEuMmZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk5Ci0gICAgMHgxLjdlZjQ4NDJmMGJjZDExNjg2YWFmNmYyMWM5YWE4MzU0cC0yLAotICAgIC0weDEuMmZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODAwCi0gICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAotICAgIDB4MS4zcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDEKLSAgICAweDEuN2VmNDg0MmYwYmNjZDYwZDRhNTAxZGM4YmM0YjU3YjNwLTIsCi0gICAgLTB4MS4zcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDIKLSAgICAweDEuN2VmNDg0MmYwYmNjOWFiMjI5ZjBjYzZmYWQ2ZDM3OGRwLTIsCi0gICAgMHgxLjMwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDgwMwotICAgIDB4MS43ZWY0ODQyZjBiY2M5YWIyMjlmMGNjNmZhZDZkMzc4ZHAtMiwKLSAgICAtMHgxLjMwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDgwNAotICAgIC0weDEuODYzZWZhMzYxZGMyMjk0ZTkyOWI5NTE1ZmIzNGY5YmFwLTEsCi0gICAgMHgxLjM3ZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDgwNQotICAgIC0weDEuODYzZWZhMzYxZGMyMjk0ZTkyOWI5NTE1ZmIzNGY5YmFwLTEsCi0gICAgLTB4MS4zN2ZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDYKLSAgICAtMHgxLjg2M2VmYTM2MWRjMjUyYmNhMWVhZWVkMzk3NDliZWQ3cC0xLAotICAgIDB4MS4zODBwMQotICB9LAotICB7IC8vIEVudHJ5IDgwNwotICAgIC0weDEuODYzZWZhMzYxZGMyNTJiY2ExZWFlZWQzOTc0OWJlZDdwLTEsCi0gICAgLTB4MS4zODBwMQotICB9LAotICB7IC8vIEVudHJ5IDgwOAotICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCi0gICAgMHgxLjM4MDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDgwOQotICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCi0gICAgLTB4MS4zODAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTAKLSAgICAweDEuZmVmMmIyZDIxY2Y2YzEwNmU4NmZmOTM5NWY4MjA0YTBwLTEsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTEKLSAgICAweDEuZmVmMmIyZDIxY2Y2YzEwNmU4NmZmOTM5NWY4MjA0YTBwLTEsCi0gICAgLTB4MS4wNjljOGI0NmIzNzkycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgODEyCi0gICAgMHgxLmZiY2JlNjkzYmQ4ZWM4NTcyM2I2Y2I1NWU0ZjVlNzhmcC0xLAotICAgIDB4MS4wNjljOGI0NmIzNzkycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgODEzCi0gICAgMHgxLmZiY2JlNjkzYmQ4ZWM4NTcyM2I2Y2I1NWU0ZjVlNzhmcC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtMwotICB9LAotICB7IC8vIEVudHJ5IDgxNAotICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1YnAtMwotICB9LAotICB7IC8vIEVudHJ5IDgxNQotICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTYKLSAgICAweDEuZWY0MTQ1YjRhZWNmZmJkYWFmZmI3OGZmYjQ5YWM5YmRwLTEsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTcKLSAgICAweDEuZWY0MTQ1YjRhZWNmZmJkYWFmZmI3OGZmYjQ5YWM5YmRwLTEsCi0gICAgLTB4MS4wNjljOGI0NmIzNzkycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODE4Ci0gICAgMHgxLmU1ZWFhMjg2ZmJiYzY3MGRiZjYzOTJkN2M5OGFiMGEwcC0xLAotICAgIDB4MS40ODQzYWUxODYwNTc2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODE5Ci0gICAgMHgxLmU1ZWFhMjg2ZmJiYzY3MGRiZjYzOTJkN2M5OGFiMGEwcC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU3NnAtMgotICB9LAotICB7IC8vIEVudHJ5IDgyMAotICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1YXAtMgotICB9LAotICB7IC8vIEVudHJ5IDgyMQotICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjIKLSAgICAweDEuY2Q0YmNhOWNiNWM3MTUzMDIwMDFlNDQ2Y2M5M2E3YmNwLTEsCi0gICAgMHgxLmNiOTFmM2JiYmExM2VwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjMKLSAgICAweDEuY2Q0YmNhOWNiNWM3MTUzMDIwMDFlNDQ2Y2M5M2E3YmNwLTEsCi0gICAgLTB4MS5jYjkxZjNiYmJhMTNlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODI0Ci0gICAgMHgxLmJlMWQ3YzM1MzRjNDAzMzFmZGRmMjQzZDhhMGE1NmIwcC0xLAotICAgIDB4MS4wNjljOGI0NmIzNzkxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODI1Ci0gICAgMHgxLmJlMWQ3YzM1MzRjNDAzMzFmZGRmMjQzZDhhMGE1NmIwcC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MXAtMQotICB9LAotICB7IC8vIEVudHJ5IDgyNgotICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKLSAgICAweDEuMjc3MDFjYWY4OWU4M3AtMQotICB9LAotICB7IC8vIEVudHJ5IDgyNwotICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKLSAgICAtMHgxLjI3NzAxY2FmODllODNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjgKLSAgICAweDEuOWE1MmUyZTBmYmNiM2EzZjRiZGU2ZjZlYzI3NzY3YTlwLTEsCi0gICAgMHgxLjQ4NDNhZTE4NjA1NzVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjkKLSAgICAweDEuOWE1MmUyZTBmYmNiM2EzZjRiZGU2ZjZlYzI3NzY3YTlwLTEsCi0gICAgLTB4MS40ODQzYWUxODYwNTc1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODMwCi0gICAgMHgxLjg1ZGMzZWExYmJjZTlhODA4NWY2NjU5M2E4N2I3ZTJlcC0xLAotICAgIDB4MS42OTE3M2Y4MTM2YzY3cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODMxCi0gICAgMHgxLjg1ZGMzZWExYmJjZTlhODA4NWY2NjU5M2E4N2I3ZTJlcC0xLAotICAgIC0weDEuNjkxNzNmODEzNmM2N3AtMQotICB9LAotICB7IC8vIEVudHJ5IDgzMgotICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDgzMwotICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzQKLSAgICAweDEuNTgzN2QyODE3Y2YzMDNlZjZkYWU2OWZhZWIwZjAxNWVwLTEsCi0gICAgMHgxLmFhYmU2MjUyZTNhNGJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzUKLSAgICAweDEuNTgzN2QyODE3Y2YzMDNlZjZkYWU2OWZhZWIwZjAxNWVwLTEsCi0gICAgLTB4MS5hYWJlNjI1MmUzYTRicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODM2Ci0gICAgMHgxLjNmM2EwZTI4YmVkZDQwNDQ1ODU4ZjgyM2UxNTAyNjRicC0xLAotICAgIDB4MS5jYjkxZjNiYmJhMTNkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODM3Ci0gICAgMHgxLjNmM2EwZTI4YmVkZDQwNDQ1ODU4ZjgyM2UxNTAyNjRicC0xLAotICAgIC0weDEuY2I5MWYzYmJiYTEzZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDgzOAotICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKLSAgICAweDEuZWM2NTg1MjQ5MDgyZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDgzOQotICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKLSAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDAKLSAgICAweDEuMDk2YWMwMmVjNDJjODViN2IxMGFmZWQ5MjAyNzg1YjlwLTEsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTFwMAotICB9LAotICB7IC8vIEVudHJ5IDg0MQotICAgIDB4MS4wOTZhYzAyZWM0MmM4NWI3YjEwYWZlZDkyMDI3ODViOXAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwMAotICB9LAotICB7IC8vIEVudHJ5IDg0MgotICAgIDB4MS5kOWEzYTMzNmVkYjc2MTNkZjA2MmU4NmEzMmQwOWZlMXAtMiwKLSAgICAweDEuMTcwNjUzZmIxZWIwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODQzCi0gICAgMHgxLmQ5YTNhMzM2ZWRiNzYxM2RmMDYyZTg2YTMyZDA5ZmUxcC0yLAotICAgIC0weDEuMTcwNjUzZmIxZWIwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ0Ci0gICAgMHgxLjllN2Y4NjUyYjQ3NTgyYWZkMjk3NDQyOTMxNzBjMDdjcC0yLAotICAgIDB4MS4yNzcwMWNhZjg5ZTgzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDUKLSAgICAweDEuOWU3Zjg2NTJiNDc1ODJhZmQyOTc0NDI5MzE3MGMwN2NwLTIsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDYKLSAgICAweDEuNjFhNzYwNzdhZWUwN2JiMzQ5Y2E3NmNmNzAwOTEzZDFwLTIsCi0gICAgMHgxLjM3ZDllNTYzZjUxZmNwMAotICB9LAotICB7IC8vIEVudHJ5IDg0NwotICAgIDB4MS42MWE3NjA3N2FlZTA3YmIzNDljYTc2Y2Y3MDA5MTNkMXAtMiwKLSAgICAtMHgxLjM3ZDllNTYzZjUxZmNwMAotICB9LAotICB7IC8vIEVudHJ5IDg0OAotICAgIDB4MS4yMzViMzMxZDhmNzQ4ZTIwZmI2ZGRiNmE3MDhkYmExMHAtMiwKLSAgICAweDEuNDg0M2FlMTg2MDU3NXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ5Ci0gICAgMHgxLjIzNWIzMzFkOGY3NDhlMjBmYjZkZGI2YTcwOGRiYTEwcC0yLAotICAgIC0weDEuNDg0M2FlMTg2MDU3NXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODUwCi0gICAgMHgxLmM3YjkwZTMwMjQ1OTNkYTg0NDk5NjNjZmUwOGRkZTg1cC0zLAotICAgIDB4MS41OGFkNzZjY2NiOGVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTEKLSAgICAweDEuYzdiOTBlMzAyNDU5M2RhODQ0OTk2M2NmZTA4ZGRlODVwLTMsCi0gICAgLTB4MS41OGFkNzZjY2NiOGVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTIKLSAgICAweDEuNDZkYzRmNGNlODNkYTcyN2VhMDQ4Y2M3ZDJmMjc2ZDFwLTMsCi0gICAgMHgxLjY5MTczZjgxMzZjNjdwMAotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIDB4MS40NmRjNGY0Y2U4M2RhNzI3ZWEwNDhjYzdkMmYyNzZkMXAtMywKLSAgICAtMHgxLjY5MTczZjgxMzZjNjdwMAotICB9LAotICB7IC8vIEVudHJ5IDg1NAotICAgIDB4MS44OTRmNzBiZWZiYjk5YWI3ZGY5ZDE3OTBhMjhmNDhhZHAtNCwKLSAgICAweDEuNzk4MTA4MzVhMWZlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODU1Ci0gICAgMHgxLjg5NGY3MGJlZmJiOTlhYjdkZjlkMTc5MGEyOGY0OGFkcC00LAotICAgIC0weDEuNzk4MTA4MzVhMWZlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODU2Ci0gICAgMHgxLjA2OTEwN2FlOTMzMmY5NWZhMmM1Y2VlYWRmYjI5Zjc3cC01LAotICAgIDB4MS44OWVhZDBlYTBkMzU5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTcKLSAgICAweDEuMDY5MTA3YWU5MzMyZjk1ZmEyYzVjZWVhZGZiMjlmNzdwLTUsCi0gICAgLTB4MS44OWVhZDBlYTBkMzU5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTgKLSAgICAtMHgxLjA2OTEwN2FlOTMyN2UwNzMxYTc0OGMyMWYwM2I1ZWZjcC01LAotICAgIDB4MS45YTU0OTk5ZTc4NmQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTkKLSAgICAtMHgxLjA2OTEwN2FlOTMyN2UwNzMxYTc0OGMyMWYwM2I1ZWZjcC01LAotICAgIC0weDEuOWE1NDk5OWU3ODZkMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODYwCi0gICAgLTB4MS44OTRmNzBiZWZiYjQxNDE3ZGZmODQzZTgxZmFjMzg4YnAtNCwKLSAgICAweDEuYWFiZTYyNTJlM2E0YnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODYxCi0gICAgLTB4MS44OTRmNzBiZWZiYjQxNDE3ZGZmODQzZTgxZmFjMzg4YnAtNCwKLSAgICAtMHgxLmFhYmU2MjUyZTNhNGJwMAotICB9LAotICB7IC8vIEVudHJ5IDg2MgotICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCi0gICAgMHgxLmJiMjgyYjA3NGVkYzRwMAotICB9LAotICB7IC8vIEVudHJ5IDg2MwotICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCi0gICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjQKLSAgICAtMHgxLmM3YjkwZTMwMjQ1Njg4ZTA5OTg2MGU4ZDRmZmY2MDFjcC0zLAotICAgIDB4MS5jYjkxZjNiYmJhMTNkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjUKLSAgICAtMHgxLmM3YjkwZTMwMjQ1Njg4ZTA5OTg2MGU4ZDRmZmY2MDFjcC0zLAotICAgIC0weDEuY2I5MWYzYmJiYTEzZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODY2Ci0gICAgLTB4MS4yMzViMzMxZDhmNzMzOTg0MWE1MTczMTJkMGQzNDdmYnAtMiwKLSAgICAweDEuZGJmYmJjNzAyNTRiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODY3Ci0gICAgLTB4MS4yMzViMzMxZDhmNzMzOTg0MWE1MTczMTJkMGQzNDdmYnAtMiwKLSAgICAtMHgxLmRiZmJiYzcwMjU0YjZwMAotICB9LAotICB7IC8vIEVudHJ5IDg2OAotICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCi0gICAgMHgxLmVjNjU4NTI0OTA4MmZwMAotICB9LAotICB7IC8vIEVudHJ5IDg2OQotICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCi0gICAgLTB4MS5lYzY1ODUyNDkwODJmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzAKLSAgICAtMHgxLjllN2Y4NjUyYjQ3NDNkY2MzYzM1NjhiYWZmOGJmOWVicC0yLAotICAgIDB4MS5mY2NmNGRkOGZiYmE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzEKLSAgICAtMHgxLjllN2Y4NjUyYjQ3NDNkY2MzYzM1NjhiYWZmOGJmOWVicC0yLAotICAgIC0weDEuZmNjZjRkZDhmYmJhOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODcyCi0gICAgLTB4MS5kOWEzYTMzNmVkYjY1ZWZhMzBlMWE2Njc5YWEwNjRjMnAtMiwKLSAgICAweDEuMDY5YzhiNDZiMzc5MXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODczCi0gICAgLTB4MS5kOWEzYTMzNmVkYjY1ZWZhMzBlMWE2Njc5YWEwNjRjMnAtMiwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwMQotICB9LAotICB7IC8vIEVudHJ5IDg3NAotICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCi0gICAgMHgxLjBlZDE2ZmEwZTkxNGVwMQotICB9LAotICB7IC8vIEVudHJ5IDg3NQotICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCi0gICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzYKLSAgICAtMHgxLjI0ZWM3OTkxNzE2M2RkYTY1YWZkODEwOWY1OWNiNDY1cC0xLAotICAgIDB4MS4xNzA2NTNmYjFlYjBicDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzcKLSAgICAtMHgxLjI0ZWM3OTkxNzE2M2RkYTY1YWZkODEwOWY1OWNiNDY1cC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIwYnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODc4Ci0gICAgLTB4MS4zZjNhMGUyOGJlZGQwY2YwYzRiZmJkOGM4MmEzYmFhZnAtMSwKLSAgICAweDEuMWYzYjM4NTU1NDRjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODc5Ci0gICAgLTB4MS4zZjNhMGUyOGJlZGQwY2YwYzRiZmJkOGM4MmEzYmFhZnAtMSwKLSAgICAtMHgxLjFmM2IzODU1NTQ0YzhwMQotICB9LAotICB7IC8vIEVudHJ5IDg4MAotICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCi0gICAgMHgxLjI3NzAxY2FmODllODVwMQotICB9LAotICB7IC8vIEVudHJ5IDg4MQotICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODIKLSAgICAtMHgxLjZmY2I3YzZiOGI5MTk5Y2UyZjE3ZGQzZWU4NmIzYjlhcC0xLAotICAgIDB4MS4yZmE1MDEwOWJmODQycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODMKLSAgICAtMHgxLjZmY2I3YzZiOGI5MTk5Y2UyZjE3ZGQzZWU4NmIzYjlhcC0xLAotICAgIC0weDEuMmZhNTAxMDliZjg0MnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODg0Ci0gICAgLTB4MS44NWRjM2VhMWJiY2VhZTJkMjk0NDIxZThjNzM1MGY4Y3AtMSwKLSAgICAweDEuMzdkOWU1NjNmNTFmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODg1Ci0gICAgLTB4MS44NWRjM2VhMWJiY2VhZTJkMjk0NDIxZThjNzM1MGY4Y3AtMSwKLSAgICAtMHgxLjM3ZDllNTYzZjUxZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDg4NgotICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCi0gICAgMHgxLjQwMGVjOWJlMmFiYmNwMQotICB9LAotICB7IC8vIEVudHJ5IDg4NwotICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCi0gICAgLTB4MS40MDBlYzliZTJhYmJjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODgKLSAgICAtMHgxLmFkMTllMjUzNWFhOTliMDQ5YWMwYjU4NThjNWQzODFmcC0xLAotICAgIDB4MS40ODQzYWUxODYwNTc5cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODkKLSAgICAtMHgxLmFkMTllMjUzNWFhOTliMDQ5YWMwYjU4NThjNWQzODFmcC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU3OXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODkwCi0gICAgLTB4MS5iZTFkN2MzNTM0YzQ0MTMyYWIxYzQxMzBjYmU5ZGZhMHAtMSwKLSAgICAweDEuNTA3ODkyNzI5NWYzNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODkxCi0gICAgLTB4MS5iZTFkN2MzNTM0YzQ0MTMyYWIxYzQxMzBjYmU5ZGZhMHAtMSwKLSAgICAtMHgxLjUwNzg5MjcyOTVmMzZwMQotICB9LAotICB7IC8vIEVudHJ5IDg5MgotICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZjNwMQotICB9LAotICB7IC8vIEVudHJ5IDg5MwotICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCi0gICAgLTB4MS41OGFkNzZjY2NiOGYzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTQKLSAgICAtMHgxLmRhOTRkNTRkZDRjMGNlZGNjZDczNjg0OTk0NDIyNzQwcC0xLAotICAgIDB4MS42MGUyNWIyNzAxMmIwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTUKLSAgICAtMHgxLmRhOTRkNTRkZDRjMGNlZGNjZDczNjg0OTk0NDIyNzQwcC0xLAotICAgIC0weDEuNjBlMjViMjcwMTJiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODk2Ci0gICAgLTB4MS5lNWVhYTI4NmZiYmNhZDFlNGE2MzczMzkyZTY3OTY2OXAtMSwKLSAgICAweDEuNjkxNzNmODEzNmM2ZHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODk3Ci0gICAgLTB4MS5lNWVhYTI4NmZiYmNhZDFlNGE2MzczMzkyZTY3OTY2OXAtMSwKLSAgICAtMHgxLjY5MTczZjgxMzZjNmRwMQotICB9LAotICB7IC8vIEVudHJ5IDg5OAotICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCi0gICAgMHgxLjcxNGMyM2RiNmM2MmFwMQotICB9LAotICB7IC8vIEVudHJ5IDg5OQotICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCi0gICAgLTB4MS43MTRjMjNkYjZjNjJhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDAKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZWJhMTI0ZDhjYzQ4ZmQxYmViMDRkcC0xLAotICAgIDB4MS43OTgxMDgzNWExZmU3cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDEKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZWJhMTI0ZDhjYzQ4ZmQxYmViMDRkcC0xLAotICAgIC0weDEuNzk4MTA4MzVhMWZlN3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAyCi0gICAgLTB4MS5mYmNiZTY5M2JkOGVmMDA2ZjVmZjAyMjEwZGZlMDYxOXAtMSwKLSAgICAweDEuODFiNWVjOGZkNzlhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAzCi0gICAgLTB4MS5mYmNiZTY5M2JkOGVmMDA2ZjVmZjAyMjEwZGZlMDYxOXAtMSwKLSAgICAtMHgxLjgxYjVlYzhmZDc5YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDkwNAotICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNWJwMQotICB9LAotICB7IC8vIEVudHJ5IDkwNQotICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCi0gICAgLTB4MS44OWVhZDBlYTBkMzVicDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDYKLSAgICAweDEuZWY0MTQ1YjRhZWNmZjZmNThlZGVjZjI0OTU1NDI4YzFwLTEsCi0gICAgLTB4MS44MWI1ZWM4ZmQ3OTlmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDcKLSAgICAweDEuZWY0MTQ1YjRhZWNmZjZmNThlZGVjZjI0OTU1NDI4YzFwLTEsCi0gICAgMHgxLjgxYjVlYzhmZDc5OWZwMgotICB9LAotICB7IC8vIEVudHJ5IDkwOAotICAgIDB4MS5iZTFkN2MzNTM0YzNmOWI5YjM1NjE5MjgwMDQ5ZGU4NXAtMSwKLSAgICAtMHgxLjcxNGMyM2RiNmM2MjZwMgotICB9LAotICB7IC8vIEVudHJ5IDkwOQotICAgIDB4MS5iZTFkN2MzNTM0YzNmOWI5YjM1NjE5MjgwMDQ5ZGU4NXAtMSwKLSAgICAweDEuNzE0YzIzZGI2YzYyNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEwCi0gICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAotICAgIC0weDEuNjBlMjViMjcwMTJhZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTExCi0gICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAotICAgIDB4MS42MGUyNWIyNzAxMmFkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTIKLSAgICAweDEuMDk2YWMwMmVjNDJjODJlNWIyMjUxODViZDZjNzU3ZDVwLTEsCi0gICAgLTB4MS41MDc4OTI3Mjk1ZjM0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTMKLSAgICAweDEuMDk2YWMwMmVjNDJjODJlNWIyMjUxODViZDZjNzU3ZDVwLTEsCi0gICAgMHgxLjUwNzg5MjcyOTVmMzRwMgotICB9LAotICB7IC8vIEVudHJ5IDkxNAotICAgIDB4MS4yMzViMzMxZDhmNzQ4N2NlMmRiOTc4MTlmYWU3Nzc3Y3AtMiwKLSAgICAtMHgxLjQwMGVjOWJlMmFiYmJwMgotICB9LAotICB7IC8vIEVudHJ5IDkxNQotICAgIDB4MS4yMzViMzMxZDhmNzQ4N2NlMmRiOTc4MTlmYWU3Nzc3Y3AtMiwKLSAgICAweDEuNDAwZWM5YmUyYWJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE2Ci0gICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAotICAgIC0weDEuMmZhNTAxMDliZjg0MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE3Ci0gICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAotICAgIDB4MS4yZmE1MDEwOWJmODQycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTgKLSAgICAtMHgxLmM3YjkwZTMwMjQ1Njk1YmQxZWMxNzBmNDVmZWViMWZmcC0zLAotICAgIC0weDEuMWYzYjM4NTU1NDRjOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE5Ci0gICAgLTB4MS5jN2I5MGUzMDI0NTY5NWJkMWVjMTcwZjQ1ZmVlYjFmZnAtMywKLSAgICAweDEuMWYzYjM4NTU1NDRjOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTIwCi0gICAgLTB4MS5kOWEzYTMzNmVkYjYyYzE1NDFiODU4NGNkNmMwMGY4N3AtMiwKLSAgICAtMHgxLjBlZDE2ZmEwZTkxNTBwMgotICB9LAotICB7IC8vIEVudHJ5IDkyMQotICAgIC0weDEuZDlhM2EzMzZlZGI2MmMxNTQxYjg1ODRjZDZjMDBmODdwLTIsCi0gICAgMHgxLjBlZDE2ZmEwZTkxNTBwMgotICB9LAotICB7IC8vIEVudHJ5IDkyMgotICAgIC0weDEuNTgzN2QyODE3Y2YyNzcwNWNhYzc4ODFmYjU2OWZmYzdwLTEsCi0gICAgLTB4MS5mY2NmNGRkOGZiYmFlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjMKLSAgICAtMHgxLjU4MzdkMjgxN2NmMjc3MDVjYWM3ODgxZmI1NjlmZmM3cC0xLAotICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjQKLSAgICAtMHgxLmFkMTllMjUzNWFhOGZmYjQwMDY2ZDc4YWVmNzFmYWJkcC0xLAotICAgIC0weDEuZGJmYmJjNzAyNTRiY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI1Ci0gICAgLTB4MS5hZDE5ZTI1MzVhYThmZmI0MDA2NmQ3OGFlZjcxZmFiZHAtMSwKLSAgICAweDEuZGJmYmJjNzAyNTRiY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI2Ci0gICAgLTB4MS5lNWVhYTI4NmZiYmMyYjEyOTIzODE2MGRmMzBjZTcwNHAtMSwKLSAgICAtMHgxLmJiMjgyYjA3NGVkY2FwMQotICB9LAotICB7IC8vIEVudHJ5IDkyNwotICAgIC0weDEuZTVlYWEyODZmYmJjMmIxMjkyMzgxNjBkZjMwY2U3MDRwLTEsCi0gICAgMHgxLmJiMjgyYjA3NGVkY2FwMQotICB9LAotICB7IC8vIEVudHJ5IDkyOAotICAgIC0weDEuZmVmMmIyZDIxY2Y2YjQwZmYzYjUzMGNlOGRjMGQ4YTdwLTEsCi0gICAgLTB4MS45YTU0OTk5ZTc4NmQ4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjkKLSAgICAtMHgxLmZlZjJiMmQyMWNmNmI0MGZmM2I1MzBjZThkYzBkOGE3cC0xLAotICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzAKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZWFkZDY1YzI2MWNkODAzOTkwYWUxcC0xLAotICAgIC0weDEuNzk4MTA4MzVhMWZlNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTMxCi0gICAgLTB4MS5mNjhlZWJmY2JiNWVhZGQ2NWMyNjFjZDgwMzk5MGFlMXAtMSwKLSAgICAweDEuNzk4MTA4MzVhMWZlNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTMyCi0gICAgLTB4MS5jZDRiY2E5Y2I1Yzc3NWE5OTcyOWY3YWQ5NWI3ZGNlM3AtMSwKLSAgICAtMHgxLjU4YWQ3NmNjY2I4ZjRwMQotICB9LAotICB7IC8vIEVudHJ5IDkzMwotICAgIC0weDEuY2Q0YmNhOWNiNWM3NzVhOTk3MjlmN2FkOTViN2RjZTNwLTEsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZjRwMQotICB9LAotICB7IC8vIEVudHJ5IDkzNAotICAgIC0weDEuODVkYzNlYTFiYmNmMmFhMmUyMWVjNTg2ZDU0OTdlMzVwLTEsCi0gICAgLTB4MS4zN2Q5ZTU2M2Y1MjAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAtMHgxLjg1ZGMzZWExYmJjZjJhYTJlMjFlYzU4NmQ1NDk3ZTM1cC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzYKLSAgICAtMHgxLjI0ZWM3OTkxNzE2NGU0MWFkZGQ0YmFjZDQ0MjBmOWZicC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIxMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTM3Ci0gICAgLTB4MS4yNGVjNzk5MTcxNjRlNDFhZGRkNGJhY2Q0NDIwZjlmYnAtMSwKLSAgICAweDEuMTcwNjUzZmIxZWIxMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTM4Ci0gICAgLTB4MS42MWE3NjA3N2FlZTIzYjExZjBjNjczZjYzODAwM2IwYXAtMiwKLSAgICAtMHgxLmVjNjU4NTI0OTA4M2NwMAotICB9LAotICB7IC8vIEVudHJ5IDkzOQotICAgIC0weDEuNjFhNzYwNzdhZWUyM2IxMWYwYzY3M2Y2MzgwMDNiMGFwLTIsCi0gICAgMHgxLmVjNjU4NTI0OTA4M2NwMAotICB9LAotICB7IC8vIEVudHJ5IDk0MAotICAgIC0weDEuODk0ZjcwYmVmYmMxMDRiNzA2ZTg1Y2Y0YzFjOTZhNTJwLTQsCi0gICAgLTB4MS5hYWJlNjI1MmUzYTU4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDEKLSAgICAtMHgxLjg5NGY3MGJlZmJjMTA0YjcwNmU4NWNmNGMxYzk2YTUycC00LAotICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDIKLSAgICAweDEuNDZkYzRmNGNlODM3M2M3YzQ0ZjEzYjU3MzYzZWRkM2JwLTMsCi0gICAgLTB4MS42OTE3M2Y4MTM2Yzc0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDMKLSAgICAweDEuNDZkYzRmNGNlODM3M2M3YzQ0ZjEzYjU3MzYzZWRkM2JwLTMsCi0gICAgMHgxLjY5MTczZjgxMzZjNzRwMAotICB9LAotICB7IC8vIEVudHJ5IDk0NAotICAgIDB4MS45ZTdmODY1MmI0NzI4OWU1M2ZjY2Q1NDk1NWRiNDU1MnAtMiwKLSAgICAtMHgxLjI3NzAxY2FmODllOTBwMAotICB9LAotICB7IC8vIEVudHJ5IDk0NQotICAgIDB4MS45ZTdmODY1MmI0NzI4OWU1M2ZjY2Q1NDk1NWRiNDU1MnAtMiwKLSAgICAweDEuMjc3MDFjYWY4OWU5MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ2Ci0gICAgMHgxLjNmM2EwZTI4YmVkYmZiMDY2YjY3YWJkOWMzMzg0MDllcC0xLAotICAgIC0weDEuY2I5MWYzYmJiYTE1N3AtMQotICB9LAotICB7IC8vIEVudHJ5IDk0NwotICAgIDB4MS4zZjNhMGUyOGJlZGJmYjA2NmI2N2FiZDljMzM4NDA5ZXAtMSwKLSAgICAweDEuY2I5MWYzYmJiYTE1N3AtMQotICB9LAotICB7IC8vIEVudHJ5IDk0OAotICAgIDB4MS45YTUyZTJlMGZiY2E0YjAwYzcyZGFhM2NkYWNhMjU3Y3AtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1OGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDkKLSAgICAweDEuOWE1MmUyZTBmYmNhNGIwMGM3MmRhYTNjZGFjYTI1N2NwLTEsCi0gICAgMHgxLjQ4NDNhZTE4NjA1OGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTAKLSAgICAweDEuZGE5NGQ1NGRkNGJmZjc1M2Q5ODhjMTc1NWUyZmZjMDRwLTEsCi0gICAgLTB4MS44OWVhZDBlYTBkMzhhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUxCi0gICAgMHgxLmRhOTRkNTRkZDRiZmY3NTNkOTg4YzE3NTVlMmZmYzA0cC0xLAotICAgIDB4MS44OWVhZDBlYTBkMzhhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUyCi0gICAgMHgxLmZiY2JlNjkzYmQ4ZTk4NDIzMjA3ZTM2NTg3ZDk0MmI3cC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzdmMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDk1MwotICAgIDB4MS5mYmNiZTY5M2JkOGU5ODQyMzIwN2UzNjU4N2Q5NDJiN3AtMSwKLSAgICAweDEuMDY5YzhiNDZiMzdmMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDk1NAotICAgIDB4MS5mYmNiZTY5M2JkOGVmODZjMTU2NWIzNDUzMDM2ZTU1ZXAtMSwKLSAgICAweDEuMDY5YzhiNDZiMzczNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDk1NQotICAgIDB4MS5mYmNiZTY5M2JkOGVmODZjMTU2NWIzNDUzMDM2ZTU1ZXAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3MzRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTYKLSAgICAweDEuZGE5NGQ1NGRkNGMxMTE4NzQwNWFkYTdmMDRlNWIxNzFwLTEsCi0gICAgMHgxLjg5ZWFkMGVhMGQzMmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTcKLSAgICAweDEuZGE5NGQ1NGRkNGMxMTE4NzQwNWFkYTdmMDRlNWIxNzFwLTEsCi0gICAgLTB4MS44OWVhZDBlYTBkMzJjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU4Ci0gICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAotICAgIDB4MS40ODQzYWUxODYwNTVmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU5Ci0gICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDk2MAotICAgIDB4MS4zZjNhMGUyOGJlZGU0NmY2NWNhNWI1YzE5YWQ5OWRkN3AtMSwKLSAgICAweDEuY2I5MWYzYmJiYTEyOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDk2MQotICAgIDB4MS4zZjNhMGUyOGJlZGU0NmY2NWNhNWI1YzE5YWQ5OWRkN3AtMSwKLSAgICAtMHgxLmNiOTFmM2JiYmExMjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjIKLSAgICAweDEuOWU3Zjg2NTJiNDc4MDY2ZWVjNTYzZjgzNTA5N2YxNDhwLTIsCi0gICAgMHgxLjI3NzAxY2FmODllNzhwMAotICB9LAotICB7IC8vIEVudHJ5IDk2MwotICAgIDB4MS45ZTdmODY1MmI0NzgwNjZlZWM1NjNmODM1MDk3ZjE0OHAtMiwKLSAgICAtMHgxLjI3NzAxY2FmODllNzhwMAotICB9LAotICB7IC8vIEVudHJ5IDk2NAotICAgIDB4MS40NmRjNGY0Y2U4NDMxNTFiOWQxNGU1NjE4NzllNWZlM3AtMywKLSAgICAweDEuNjkxNzNmODEzNmM1Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY1Ci0gICAgMHgxLjQ2ZGM0ZjRjZTg0MzE1MWI5ZDE0ZTU2MTg3OWU1ZmUzcC0zLAotICAgIC0weDEuNjkxNzNmODEzNmM1Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY2Ci0gICAgLTB4MS44OTRmNzBiZWZiYTkyMTFiMGRjYWE0ZGNhNDUwNjcwZnAtNCwKLSAgICAweDEuYWFiZTYyNTJlM2E0MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY3Ci0gICAgLTB4MS44OTRmNzBiZWZiYTkyMTFiMGRjYWE0ZGNhNDUwNjcwZnAtNCwKLSAgICAtMHgxLmFhYmU2MjUyZTNhNDBwMAotICB9LAotICB7IC8vIEVudHJ5IDk2OAotICAgIC0weDEuNjFhNzYwNzdhZWRjOTk5NTI0Mzg0MjFmODIwYTJiZWZwLTIsCi0gICAgMHgxLmVjNjU4NTI0OTA4MjRwMAotICB9LAotICB7IC8vIEVudHJ5IDk2OQotICAgIC0weDEuNjFhNzYwNzdhZWRjOTk5NTI0Mzg0MjFmODIwYTJiZWZwLTIsCi0gICAgLTB4MS5lYzY1ODUyNDkwODI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzAKLSAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAotICAgIDB4MS4xNzA2NTNmYjFlYjA0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzEKLSAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIwNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTcyCi0gICAgLTB4MS44NWRjM2VhMWJiY2QzOGNiZmViNDM3MGQ1NDA1ZWViYXAtMSwKLSAgICAweDEuMzdkOWU1NjNmNTFmNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTczCi0gICAgLTB4MS44NWRjM2VhMWJiY2QzOGNiZmViNDM3MGQ1NDA1ZWViYXAtMSwKLSAgICAtMHgxLjM3ZDllNTYzZjUxZjZwMQotICB9LAotICB7IC8vIEVudHJ5IDk3NAotICAgIC0weDEuY2Q0YmNhOWNiNWM2Mjg3MDkzODhhMzlmYzg0NTkxZDFwLTEsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZThwMQotICB9LAotICB7IC8vIEVudHJ5IDk3NQotICAgIC0weDEuY2Q0YmNhOWNiNWM2Mjg3MDkzODhhMzlmYzg0NTkxZDFwLTEsCi0gICAgLTB4MS41OGFkNzZjY2NiOGU4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzYKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAotICAgIDB4MS43OTgxMDgzNWExZmRhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzcKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAotICAgIC0weDEuNzk4MTA4MzVhMWZkYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc4Ci0gICAgLTB4MS5mZWYyYjJkMjFjZjZlNTQ0YWI3Nzk1YWVkMTBkOWZhN3AtMSwKLSAgICAweDEuOWE1NDk5OWU3ODZjY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc5Ci0gICAgLTB4MS5mZWYyYjJkMjFjZjZlNTQ0YWI3Nzk1YWVkMTBkOWZhN3AtMSwKLSAgICAtMHgxLjlhNTQ5OTllNzg2Y2NwMQotICB9LAotICB7IC8vIEVudHJ5IDk4MAotICAgIC0weDEuZTVlYWEyODZmYmJkMWQxMzVlMjE2YzQ5YTlmN2U1ZGFwLTEsCi0gICAgMHgxLmJiMjgyYjA3NGVkYmVwMQotICB9LAotICB7IC8vIEVudHJ5IDk4MQotICAgIC0weDEuZTVlYWEyODZmYmJkMWQxMzVlMjE2YzQ5YTlmN2U1ZGFwLTEsCi0gICAgLTB4MS5iYjI4MmIwNzRlZGJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODIKLSAgICAtMHgxLmFkMTllMjUzNWFhYWEyYWM4NzA1NmI2ZDc3NzZlOTdhcC0xLAotICAgIDB4MS5kYmZiYmM3MDI1NGIwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODMKLSAgICAtMHgxLmFkMTllMjUzNWFhYWEyYWM4NzA1NmI2ZDc3NzZlOTdhcC0xLAotICAgIC0weDEuZGJmYmJjNzAyNTRiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg0Ci0gICAgLTB4MS41ODM3ZDI4MTdjZjRhZjhlNWU1OWIxM2I0YWE5YjVlM3AtMSwKLSAgICAweDEuZmNjZjRkZDhmYmJhMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg1Ci0gICAgLTB4MS41ODM3ZDI4MTdjZjRhZjhlNWU1OWIxM2I0YWE5YjVlM3AtMSwKLSAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQotICB9LAotICB7IC8vIEVudHJ5IDk4NgotICAgIC0weDEuZDlhM2EzMzZlZGJiN2RlNjRhMjE4M2NiMjdiZTRiNWJwLTIsCi0gICAgMHgxLjBlZDE2ZmEwZTkxNGFwMgotICB9LAotICB7IC8vIEVudHJ5IDk4NwotICAgIC0weDEuZDlhM2EzMzZlZGJiN2RlNjRhMjE4M2NiMjdiZTRiNWJwLTIsCi0gICAgLTB4MS4wZWQxNmZhMGU5MTRhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODgKLSAgICAtMHgxLmM3YjkwZTMwMjQ2MjQ4YjdhMGMyYzg3YTNkZDI1MjI0cC0zLAotICAgIDB4MS4xZjNiMzg1NTU0NGMzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODkKLSAgICAtMHgxLmM3YjkwZTMwMjQ2MjQ4YjdhMGMyYzg3YTNkZDI1MjI0cC0zLAotICAgIC0weDEuMWYzYjM4NTU1NDRjM3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkwCi0gICAgMHgxLjA2OTEwN2FlOTMwMmNhZjIwNjhiNDg4NDJhZmRmMDUxcC01LAotICAgIDB4MS4yZmE1MDEwOWJmODNjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTEKLSAgICAweDEuMDY5MTA3YWU5MzAyY2FmMjA2OGI0ODg0MmFmZGYwNTFwLTUsCi0gICAgLTB4MS4yZmE1MDEwOWJmODNjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTIKLSAgICAweDEuMjM1YjMzMWQ4ZjZlYzc0YWEzZGU1YWVkMTVmYTNmNjhwLTIsCi0gICAgMHgxLjQwMGVjOWJlMmFiYjVwMgotICB9LAotICB7IC8vIEVudHJ5IDk5MwotICAgIDB4MS4yMzViMzMxZDhmNmVjNzRhYTNkZTVhZWQxNWZhM2Y2OHAtMiwKLSAgICAtMHgxLjQwMGVjOWJlMmFiYjVwMgotICB9LAotICB7IC8vIEVudHJ5IDk5NAotICAgIDB4MS4wOTZhYzAyZWM0MjlmMjI1Yzk5Yjg5YmI0YzllNWQzZXAtMSwKLSAgICAweDEuNTA3ODkyNzI5NWYyZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk1Ci0gICAgMHgxLjA5NmFjMDJlYzQyOWYyMjVjOTliODliYjRjOWU1ZDNlcC0xLAotICAgIC0weDEuNTA3ODkyNzI5NWYyZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk2Ci0gICAgMHgxLjZmY2I3YzZiOGI4Zjc3M2UzYjQyMWRkZWQ2ZmMxZjI2cC0xLAotICAgIDB4MS42MGUyNWIyNzAxMmE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTcKLSAgICAweDEuNmZjYjdjNmI4YjhmNzczZTNiNDIxZGRlZDZmYzFmMjZwLTEsCi0gICAgLTB4MS42MGUyNWIyNzAxMmE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTgKLSAgICAweDEuYmUxZDdjMzUzNGMyODBkYWI0M2RjZWQ2NzAzMzBiNjNwLTEsCi0gICAgMHgxLjcxNGMyM2RiNmM2MjBwMgotICB9LAotICB7IC8vIEVudHJ5IDk5OQotICAgIDB4MS5iZTFkN2MzNTM0YzI4MGRhYjQzZGNlZDY3MDMzMGI2M3AtMSwKLSAgICAtMHgxLjcxNGMyM2RiNmM2MjBwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMDAKLSAgICAweDEuZWY0MTQ1YjRhZWNmMzQyNzA5YTNiMTkzMjBkMWIxOTRwLTEsCi0gICAgMHgxLjgxYjVlYzhmZDc5OTlwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMDEKLSAgICAweDEuZWY0MTQ1YjRhZWNmMzQyNzA5YTNiMTkzMjBkMWIxOTRwLTEsCi0gICAgLTB4MS44MWI1ZWM4ZmQ3OTk5cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAyCi0gICAgMHgxLmZmMGZkMmM5NmFkZmJhZTU3Njk4MWVlNGIzNDc2OWRlcC0xLAotICAgIDB4MS5lZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMwotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWU1NzY5ODFlZTRiMzQ3NjlkZXAtMSwKLSAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA0Ci0gICAgMHgxLmZmMGZkMmM5NmFkZmJhZDVmOTA0YTcxYjJkMjEwYTJhcC0xLAotICAgIDB4MS5mcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNQotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKLSAgICAtMHgxLmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA2Ci0gICAgMHgxLmZmMGZkMmM5NmFkZmJhYzY3YjcxMmY1MWE2ZmEyYWIzcC0xLAotICAgIDB4MS5mMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNwotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWM2N2I3MTJmNTFhNmZhMmFiM3AtMSwKLSAgICAtMHgxLmYwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA4Ci0gICAgMHgxLmZjMjEwMDU1NDY3ZmU1YzhmNzZlNzVmZDcwODM4MThjcC0xLAotICAgIDB4MS5mN2ZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwOQotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNWM4Zjc2ZTc1ZmQ3MDgzODE4Y3AtMSwKLSAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEwCi0gICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAotICAgIDB4MS5mODBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDExCi0gICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAotICAgIC0weDEuZjgwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMgotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNTRiNDhjM2YxMzVmNmYyOWRmN3AtMSwKLSAgICAweDEuZjgwMDAwMDAwMDAwMXAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwMTMKLSAgICAweDEuZmMyMTAwNTU0NjdmZTU0YjQ4YzNmMTM1ZjZmMjlkZjdwLTEsCi0gICAgLTB4MS5mODAwMDAwMDAwMDAxcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNAotICAgIDB4MS5mOTQ5ODRiMjU1MmUxOWU3MzI5NDEzYjhjMmU4ZGM1MXAtMSwKLSAgICAweDEuNGJmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMTUKLSAgICAweDEuZjk0OTg0YjI1NTJlMTllNzMyOTQxM2I4YzJlOGRjNTFwLTEsCi0gICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNgotICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKLSAgICAweDEuNGMwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNwotICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKLSAgICAtMHgxLjRjMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMTgKLSAgICAweDEuZjk0OTg0YjI1NTJlMTg5Y2E2NThjNTFjNDJlOTA3Y2VwLTEsCi0gICAgMHgxLjRjMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE5Ci0gICAgMHgxLmY5NDk4NGIyNTUyZTE4OWNhNjU4YzUxYzQyZTkwN2NlcC0xLAotICAgIC0weDEuNGMwMDAwMDAwMDAwMXAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMjAKLSAgICAweDEuZTkyMWRkNDJmMDliYTg2ODYwM2VhMzc2ZjZlMmQwMTJwLTEsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIxCi0gICAgMHgxLmU5MjFkZDQyZjA5YmE4Njg2MDNlYTM3NmY2ZTJkMDEycC0xLAotICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjIKLSAgICAweDEuZTkyMWRkNDJmMDliYTYwYjI2OGJlYzFmYjA4NzhhNDJwLTEsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIzCi0gICAgMHgxLmU5MjFkZDQyZjA5YmE2MGIyNjhiZWMxZmIwODc4YTQycC0xLAotICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjQKLSAgICAweDEuZTkyMWRkNDJmMDliYTNhZGVjZDkzNGM4NmEwZGIyNTRwLTEsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI1Ci0gICAgMHgxLmU5MjFkZDQyZjA5YmEzYWRlY2Q5MzRjODZhMGRiMjU0cC0xLAotICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjYKLSAgICAweDEuOGZlZWRiODZiZjBlZjMxNThmOGExZGNiZWY0OWQxMjNwLTEsCi0gICAgMHgxLjU5NDMxN2FjYzRlZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI3Ci0gICAgMHgxLjhmZWVkYjg2YmYwZWYzMTU4ZjhhMWRjYmVmNDlkMTIzcC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMjgKLSAgICAweDEuOGZlZWRiODZiZjBlZTkxODE3YTY0YjI4Yjc5ZTUxMTlwLTEsCi0gICAgMHgxLjU5NDMxN2FjYzRlZjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI5Ci0gICAgMHgxLjhmZWVkYjg2YmYwZWU5MTgxN2E2NGIyOGI3OWU1MTE5cC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMzAKLSAgICAweDEuOGZlZWRiODZiZjBlZGYxYTlmYzI3ODg1N2Y4ZWQ1NTlwLTEsCi0gICAgMHgxLjU5NDMxN2FjYzRlZmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMxCi0gICAgMHgxLjhmZWVkYjg2YmYwZWRmMWE5ZmMyNzg4NTdmOGVkNTU5cC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMzIKLSAgICAweDEuNmI4OThmYTllZmI1ZGQ2ZjllMTdlMzQ0MmQ1OWIyNDFwLTEsCi0gICAgMHgxLjhmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMzCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWRkNmY5ZTE3ZTM0NDJkNTliMjQxcC0xLAotICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMzQKLSAgICAweDEuNmI4OThmYTllZmI1ZDIyYjU4ZjBkOTllOTYzNDkzMWFwLTEsCi0gICAgMHgxLjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM1Ci0gICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAotICAgIC0weDEuOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMzYKLSAgICAweDEuNmI4OThmYTllZmI1YzZlNzEzYzljZmY4ZmViNDkxOGZwLTEsCi0gICAgMHgxLjkwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM3Ci0gICAgMHgxLjZiODk4ZmE5ZWZiNWM2ZTcxM2M5Y2ZmOGZlYjQ5MThmcC0xLAotICAgIC0weDEuOTAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMzgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzOQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDEwNDAKLSAgICAweDEucDAsCi0gICAgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDEwNDEKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDEwNDMKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGU0YThhYjdkN2NkODQ4OGY0OTlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ0Ci0gICAgMHgxLmZmNjIxZTM3OTZkN2RlNGE4YWI3ZDdjZDg0ODhmNDk5cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDUKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzZGZiMDRkZjQ2OTg3ZjY0NTBwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ2Ci0gICAgMHgxLmZmNjIxZTM3OTZkN2RlM2RmYjA0ZGY0Njk4N2Y2NDUwcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDcKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzMTZiNTFlNmJmYWM3NTU0MmZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ4Ci0gICAgMHgxLmZmNjIxZTM3OTZkN2RlMzE2YjUxZTZiZmFjNzU1NDJmcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDkKLSAgICAweDEuZmQ4OGRhM2QxMjUyNWEyMDg4OThjZjU4ZGVkMGVlYjNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUwCi0gICAgMHgxLmZkODhkYTNkMTI1MjVhMjA4ODk4Y2Y1OGRlZDBlZWIzcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtNAotICB9LAotICB7IC8vIEVudHJ5IDEwNTEKLSAgICAweDEuZmQ4OGRhM2QxMjUyNTllZTU5NGI1NzA1NzY3YWI2NDlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUyCi0gICAgMHgxLmZkODhkYTNkMTI1MjU5ZWU1OTRiNTcwNTc2N2FiNjQ5cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwNTMKLSAgICAweDEuZmQ4OGRhM2QxMjUyNTliYzI5ZmRkZWIyMGUyMjgwNTZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU0Ci0gICAgMHgxLmZkODhkYTNkMTI1MjU5YmMyOWZkZGViMjBlMjI4MDU2cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwNTUKLSAgICAweDEuZjYyOTdjZmY3NWNiMDNhYjFmY2VkNjMzN2UzNWEyNDVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU2Ci0gICAgMHgxLmY2Mjk3Y2ZmNzVjYjAzYWIxZmNlZDYzMzdlMzVhMjQ1cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTcKLSAgICAweDEuZjYyOTdjZmY3NWNiMDJlMzVhMGNmMmU2NGRlNjA2MjZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU4Ci0gICAgMHgxLmY2Mjk3Y2ZmNzVjYjAyZTM1YTBjZjJlNjRkZTYwNjI2cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTkKLSAgICAweDEuZjYyOTdjZmY3NWNiMDIxYjk0NGIwZjk5MWQ4ZTkxNjFwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYwCi0gICAgMHgxLmY2Mjk3Y2ZmNzVjYjAyMWI5NDRiMGY5OTFkOGU5MTYxcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwNjEKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjY3MmQ5YzFhODY1ODk4ZTU5NjZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYyCi0gICAgMHgxLmQ5MDZiY2YzMjhkNDY2NzJkOWMxYTg2NTg5OGU1OTY2cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMgotICB9LAotICB7IC8vIEVudHJ5IDEwNjMKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjM2MzFkNmNkMjkwNWQ0YjEzZjVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY0Ci0gICAgMHgxLmQ5MDZiY2YzMjhkNDYzNjMxZDZjZDI5MDVkNGIxM2Y1cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwNjUKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjA1MzYxMTdmY2JiMzBlYTNlMTdwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY2Ci0gICAgMHgxLmQ5MDZiY2YzMjhkNDYwNTM2MTE3ZmNiYjMwZWEzZTE3cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwNjcKLSAgICAweDEuNmEwOWU2NjdmM2JjZDc3N2I2NDYxMzc2YWI1MjMyNDJwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY4Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2Q3NzdiNjQ2MTM3NmFiNTIzMjQycC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNjkKLSAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcwCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NjMjc2NzEyZDNkOGM1NTAyMzg3cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNzEKLSAgICAweDEuNmEwOWU2NjdmM2JjYzBkNzE3ZGY5NDNhZGVmMzkyNTNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcyCi0gICAgMHgxLjZhMDllNjY3ZjNiY2MwZDcxN2RmOTQzYWRlZjM5MjUzcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNzMKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzBiOGI1MGJwLTUyLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc0Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWMwYjhiNTBicC01MiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNzUKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc2Ci0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0NDE5ZmE4cC01NCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNzcKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdkYmNmYmEwcC01MywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3OAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2RiY2ZiYTBwLTUzLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3OQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwMQotICB9LAotICB7IC8vIEVudHJ5IDEwODAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDEwODIKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MwotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMQotICB9LAotICB7IC8vIEVudHJ5IDEwODQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZXAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMgotICB9LAotICB7IC8vIEVudHJ5IDEwODcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMgotICB9LAotICB7IC8vIEVudHJ5IDEwODgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5MQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmOHAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5MgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmOHAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMwotICB9LAotICB7IC8vIEVudHJ5IDEwOTMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMwotICB9LAotICB7IC8vIEVudHJ5IDEwOTQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5NwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlMXAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA5OAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlMXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNAotICB9LAotICB7IC8vIEVudHJ5IDEwOTkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2FwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwNAotICB9LAotICB7IC8vIEVudHJ5IDExMDAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2FwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzEzcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzEzcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEwMwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4N3AtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3A1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEwNAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4N3AtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNQotICB9LAotICB7IC8vIEVudHJ5IDExMDUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwNQotICB9LAotICB7IC8vIEVudHJ5IDExMDYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRjcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRjcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEwOQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmUxZHAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExMAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmUxZHAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNgotICB9LAotICB7IC8vIEVudHJ5IDExMTEKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3YTdwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwNgotICB9LAotICB7IC8vIEVudHJ5IDExMTIKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3YTdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTMxcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTE0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTMxcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjg3NHAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExNgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjg3NHAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNwotICB9LAotICB7IC8vIEVudHJ5IDExMTcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlOWRwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwNwotICB9LAotICB7IC8vIEVudHJ5IDExMTgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlOWRwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTE5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGM2cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGM2cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEyMQotICAgIC0weDEuNmEwOWU2NjdmM2JjOTI2YjU5ZTZkMzk5YmQxYjkwNmNwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDFwMQotICB9LAotICB7IC8vIEVudHJ5IDExMjIKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzkyNmI1OWU2ZDM5OWJkMWI5MDZjcC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyMwotICAgIC0weDEuNmEwOWU2NjdmM2JjYmZhYzk2YjNkMjExNWEzYzNlMjFwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwMQotICB9LAotICB7IC8vIEVudHJ5IDExMjQKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2JmYWM5NmIzZDIxMTVhM2MzZTIxcC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyNQotICAgIC0weDEuNmEwOWU2NjdmM2JjZWNlZGQzODBkMDg4ZjFiNGM0M2NwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwMQotICB9LAotICB7IC8vIEVudHJ5IDExMjYKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2VjZWRkMzgwZDA4OGYxYjRjNDNjcC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyNwotICAgIC0weDEuNmEwOWU2NjdmM2JkMDVlMzc0M2VkNDE3YzQ0ZmJhNDZwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWRwMQotICB9LAotICB7IC8vIEVudHJ5IDExMjgKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDA1ZTM3NDNlZDQxN2M0NGZiYTQ2cC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyOQotICAgIC0weDEuNmEwOWU2NjdmM2JjZDhhMjM3NzFkNWEwMmZmNWU4NDNwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWVwMQotICB9LAotICB7IC8vIEVudHJ5IDExMzAKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2Q4YTIzNzcxZDVhMDJmZjVlODQzcC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzMQotICAgIC0weDEuNmEwOWU2NjdmM2JjYWI2MGZhYTRkNzI4OTVmM2VlYTVwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWZwMQotICB9LAotICB7IC8vIEVudHJ5IDExMzIKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2FiNjBmYWE0ZDcyODk1ZjNlZWE1cC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzMwotICAgIC0weDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3NGMxZDE2MzFwLTUwLAotICAgIDB4MS4yZDk3YzdmMzMyMWQxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTM0Ci0gICAgLTB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4Mzc0YzFkMTYzMXAtNTAsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTM1Ci0gICAgLTB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4NjM3N2M5MnAtNTMsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwMgotICB9LAotICB7IC8vIEVudHJ5IDExMzYKLSAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTg2Mzc3YzkycC01MywKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMgotICB9LAotICB7IC8vIEVudHJ5IDExMzcKLSAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxNWJiY2JjNmNwLTUxLAotICAgIDB4MS4yZDk3YzdmMzMyMWQzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTM4Ci0gICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTViYmNiYzZjcC01MSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMgotICB9LAotICB7IC8vIEVudHJ5IDExMzkKLSAgICAweDEuNmEwOWU2NjdmM2JjNThhZjRjYmFkMzVhYWJiMjAwZjRwLTEsCi0gICAgMHgxLjVmZGJiZTliYmE3NzRwMgotICB9LAotICB7IC8vIEVudHJ5IDExNDAKLSAgICAweDEuNmEwOWU2NjdmM2JjNThhZjRjYmFkMzVhYWJiMjAwZjRwLTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQxCi0gICAgMHgxLjZhMDllNjY3ZjNiY2IzMzFjNjU0ZDA0OWVlYmEzODBmcC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQyCi0gICAgMHgxLjZhMDllNjY3ZjNiY2IzMzFjNjU0ZDA0OWVlYmEzODBmcC0xLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE0MwotICAgIDB4MS42YTA5ZTY2N2YzYmQwZGI0M2ZlZWNkMzkxYjIxZDBjNHAtMSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE0NAotICAgIDB4MS42YTA5ZTY2N2YzYmQwZGI0M2ZlZWNkMzkxYjIxZDBjNHAtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzZwMgotICB9LAotICB7IC8vIEVudHJ5IDExNDUKLSAgICAweDEuNmEwOWU2NjdmM2JkM2Y5ZjgxNmFkNDU2YmExYTU0YTlwLTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmFwMgotICB9LAotICB7IC8vIEVudHJ5IDExNDYKLSAgICAweDEuNmEwOWU2NjdmM2JkM2Y5ZjgxNmFkNDU2YmExYTU0YTlwLTEsCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQ3Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2U1MWQwN2QwZDc2NzlhMmQ4YzUzcC0xLAotICAgIDB4MS5jNDYzYWJlY2NiMmJicDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQ4Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2U1MWQwN2QwZDc2NzlhMmQ4YzUzcC0xLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE0OQotICAgIDB4MS42YTA5ZTY2N2YzYmM4YTlhOGUzNmRhNzg2M2EwMjU5N3AtMSwKLSAgICAweDEuYzQ2M2FiZWNjYjJiY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1MAotICAgIDB4MS42YTA5ZTY2N2YzYmM4YTlhOGUzNmRhNzg2M2EwMjU5N3AtMSwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMgotICB9LAotICB7IC8vIEVudHJ5IDExNTEKLSAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMmFkOWFmZGFwLTUwLAotICAgIDB4MS5mNmE3YTI5NTUzODVkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUyCi0gICAgMHgxLjU4M2ViZWZmNjVjYzIyNjQ4MGFlNjg1YzJhZDlhZmRhcC01MCwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWRwMgotICB9LAotICB7IC8vIEVudHJ5IDExNTMKLSAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzRlNmE4NDlwLTUyLAotICAgIDB4MS5mNmE3YTI5NTUzODVlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTU0Ci0gICAgMHgxLjYwZmFmYmZkOTczMDg5OTIwMmI5YTE3MGM0ZTZhODQ5cC01MiwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMgotICB9LAotICB7IC8vIEVudHJ5IDExNTUKLSAgICAtMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0NzliZDQ4ZjRhcC01MSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1NgotICAgIC0weDEuNGY4MjgyMDEzNDY3YmIzNmZlYTMyZjQ3OWJkNDhmNGFwLTUxLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1NwotICAgIC0weDEuNmEwOWU2NjdmM2JiOTcyZjg5MjdkN2I0NmM3Mzc0ODVwLTEsCi0gICAgMHgxLjE0NzVjYzllZWRlZmZwMwotICB9LAotICB7IC8vIEVudHJ5IDExNTgKLSAgICAtMHgxLjZhMDllNjY3ZjNiYjk3MmY4OTI3ZDdiNDZjNzM3NDg1cC0xLAotICAgIC0weDEuMTQ3NWNjOWVlZGVmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1OQotICAgIC0weDEuNmEwOWU2NjdmM2JjNGMzNDdjNWJkMTkzM2NhMzI2MWZwLTEsCi0gICAgMHgxLjE0NzVjYzllZWRmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmM0YzM0N2M1YmQxOTMzY2EzMjYxZnAtMSwKLSAgICAtMHgxLjE0NzVjYzllZWRmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYxCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQwMTM5NmY4ZmNiNzFiMjUwNWUxZnAtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2MgotICAgIC0weDEuNmEwOWU2NjdmM2JkMDEzOTZmOGZjYjcxYjI1MDVlMWZwLTEsCi0gICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYzCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZhMmM5ZWRhOHAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2NAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYTJjOWVkYThwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTY1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDQzMjZmNXAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2NgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ0MzI2ZjVwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTY3Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkN2JjNjA0MXAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkM3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2OAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDdiYzYwNDFwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQzcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTY5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmUwMTFmNDRmZGNmZmMxNjdmNzE0MHAtMSwKLSAgICAweDEuNDZiOWMzNDc3NjRhMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3MAotICAgIC0weDEuNmEwOWU2NjdmM2JlMDExZjQ0ZmRjZmZjMTY3ZjcxNDBwLTEsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTcxCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQ0YzFhNTFjOWQ2MWUyMGM1MjNmN3AtMSwKLSAgICAweDEuNDZiOWMzNDc3NjRhM3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3MgotICAgIC0weDEuNmEwOWU2NjdmM2JkNGMxYTUxYzlkNjFlMjBjNTIzZjdwLTEsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEzcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTczCi0gICAgLTB4MS42YTA5ZTY2N2YzYmM5NzE1NWU5NWRjM2ZkMDg4NWQxNHAtMSwKLSAgICAweDEuNDZiOWMzNDc3NjRhNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3NAotICAgIC0weDEuNmEwOWU2NjdmM2JjOTcxNTVlOTVkYzNmZDA4ODVkMTRwLTEsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGE0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTc1Ci0gICAgLTB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDA3NDg4NzNiYnAtNDksCi0gICAgMHgxLjVmZGJiZTliYmE3NzRwMwotICB9LAotICB7IC8vIEVudHJ5IDExNzYKLSAgICAtMHgxLjNkYzU4NWIyYzc0MjE4MTMyNmUwN2M0MDc0ODg3M2JicC00OSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzRwMwotICB9LAotICB7IC8vIEVudHJ5IDExNzcKLSAgICAtMHgxLmVlMmMyZDk2M2ExMGMwOTkzNzAzZTIwNDQ2NDYzMzAxcC01MiwKLSAgICAweDEuNWZkYmJlOWJiYTc3NXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3OAotICAgIC0weDEuZWUyYzJkOTYzYTEwYzA5OTM3MDNlMjA0NDY0NjMzMDFwLTUyLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3OQotICAgIDB4MS44NDc0ZjQ5YTcxN2JjZmQ5YjIzZjA3N2VlNGQwOTBjZnAtNTAsCi0gICAgMHgxLjVmZGJiZTliYmE3NzZwMwotICB9LAotICB7IC8vIEVudHJ5IDExODAKLSAgICAweDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdlZTRkMDkwY2ZwLTUwLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4MQotICAgIDB4MS42YTA5ZTY2N2YzYmI4YWI0YjhjOGQ1ZWNmNmI5MTBkNnAtMSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0NXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4MgotICAgIDB4MS42YTA5ZTY2N2YzYmI4YWI0YjhjOGQ1ZWNmNmI5MTBkNnAtMSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDVwMwotICB9LAotICB7IC8vIEVudHJ5IDExODMKLSAgICAweDEuNmEwOWU2NjdmM2JjM2ZiOWFiZmNjZmNiY2QyNjJhYTBwLTEsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDZwMwotICB9LAotICB7IC8vIEVudHJ5IDExODQKLSAgICAweDEuNmEwOWU2NjdmM2JjM2ZiOWFiZmNjZmNiY2QyNjJhYTBwLTEsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg1Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2Y0YmU5ZjMwYzlhYTQ5MTBjYWNmcC0xLAotICAgIDB4MS43OGZkYjllZmZlYTQ3cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg2Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2Y0YmU5ZjMwYzlhYTQ5MTBjYWNmcC0xLAotICAgIC0weDEuNzhmZGI5ZWZmZWE0N3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4NwotICAgIDB4MS42YTA5ZTY2N2YzYmUwZDlhMTU1Y2QxYzM3NjdlYjdiM3AtMSwKLSAgICAweDEuYWI0MWIwOTg4NmZlOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4OAotICAgIDB4MS42YTA5ZTY2N2YzYmUwZDlhMTU1Y2QxYzM3NjdlYjdiM3AtMSwKLSAgICAtMHgxLmFiNDFiMDk4ODZmZThwMwotICB9LAotICB7IC8vIEVudHJ5IDExODkKLSAgICAweDEuNmEwOWU2NjdmM2JkNTg5NTIyMjhkN2U1ODcwMWQyOTlwLTEsCi0gICAgMHgxLmFiNDFiMDk4ODZmZTlwMwotICB9LAotICB7IC8vIEVudHJ5IDExOTAKLSAgICAweDEuNmEwOWU2NjdmM2JkNTg5NTIyMjhkN2U1ODcwMWQyOTlwLTEsCi0gICAgLTB4MS5hYjQxYjA5ODg2ZmU5cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkxCi0gICAgMHgxLjZhMDllNjY3ZjNiY2EzOTAyZWY0ZGUwNzNkMDI3M2U2cC0xLAotICAgIDB4MS5hYjQxYjA5ODg2ZmVhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkyCi0gICAgMHgxLjZhMDllNjY3ZjNiY2EzOTAyZWY0ZGUwNzNkMDI3M2U2cC0xLAotICAgIC0weDEuYWI0MWIwOTg4NmZlYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5MwotICAgIDB4MS40ZjZiYWJlNWRiOWUxZWY0MGQ2OWM0NTJlMTM1NTkxZHAtNDksCi0gICAgMHgxLmM0NjNhYmVjY2IyYmFwMwotICB9LAotICB7IC8vIEVudHJ5IDExOTQKLSAgICAweDEuNGY2YmFiZTVkYjllMWVmNDBkNjljNDUyZTEzNTU5MWRwLTQ5LAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NQotICAgIDB4MS4zZGFlYWY5NzZlNzg3YmQwMzVhNzExNGJlMzg3YjVjM3AtNTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmJwMwotICB9LAotICB7IC8vIEVudHJ5IDExOTYKLSAgICAweDEuM2RhZWFmOTc2ZTc4N2JkMDM1YTcxMTRiZTM4N2I1YzNwLTUxLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NwotICAgIC0weDEuNjEyOGE4MzQ0OGMzYzIxN2U1MmM3NzVhMDY5OGQyNmFwLTUwLAotICAgIDB4MS5jNDYzYWJlY2NiMmJjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTk4Ci0gICAgLTB4MS42MTI4YTgzNDQ4YzNjMjE3ZTUyYzc3NWEwNjk4ZDI2YXAtNTAsCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTk5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmI3ZTM5ZTg2OWQ0MjU4MDkwOGM3Y3AtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4YnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwMAotICAgIC0weDEuNmEwOWU2NjdmM2JiN2UzOWU4NjlkNDI1ODA5MDhjN2NwLTEsCi0gICAgLTB4MS5kZDg1YTc0MTBmNThicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAxCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMzMzNlZGI5ZGNlMDQ1ZDNiMGU3NXAtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwMgotICAgIC0weDEuNmEwOWU2NjdmM2JjMzMzZWRiOWRjZTA0NWQzYjBlNzVwLTEsCi0gICAgLTB4MS5kZDg1YTc0MTBmNThjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAzCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNlODQzY2VkMWM3ZTJkZjYzMTZkNHAtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwNAotICAgIC0weDEuNmEwOWU2NjdmM2JjZTg0M2NlZDFjN2UyZGY2MzE2ZDRwLTEsCi0gICAgLTB4MS5kZDg1YTc0MTBmNThkcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjA1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4YzQ1ZDNkNHAtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwNgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOGM0NWQzZDRwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVkcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjA3Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY1MzM1M3AtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwOAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NTMzNTNwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjA5Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNDg0OTJkM3AtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxMAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTQ4NDkyZDNwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjExCi0gICAgLTB4MS42YTA5ZTY2N2YzYmY4NDFlY2MyM2M3NDU5OTA3NmE4MXAtMSwKLSAgICAweDEuMDdlNGNlZjRjYmQ5NnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIxMgotICAgIC0weDEuNmEwOWU2NjdmM2JmODQxZWNjMjNjNzQ1OTkwNzZhODFwLTEsCi0gICAgLTB4MS4wN2U0Y2VmNGNiZDk2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEzCi0gICAgLTB4MS42YTA5ZTY2N2YzYmUxYTE0ZTViYmQzOGFkNjBmZGQ3YnAtMSwKLSAgICAweDEuMDdlNGNlZjRjYmQ5N3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIxNAotICAgIC0weDEuNmEwOWU2NjdmM2JlMWExNGU1YmJkMzhhZDYwZmRkN2JwLTEsCi0gICAgLTB4MS4wN2U0Y2VmNGNiZDk3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjE1Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNiMDBhZmY1M2RmY2VhOTBlNmEwY3AtMSwKLSAgICAweDEuMDdlNGNlZjRjYmQ5OHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIxNgotICAgIC0weDEuNmEwOWU2NjdmM2JjYjAwYWZmNTNkZmNlYTkwZTZhMGNwLTEsCi0gICAgLTB4MS4wN2U0Y2VmNGNiZDk4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjE3Ci0gICAgLTB4MS5iMDg4ZTkwYzc3ZmQxMmVhNzlmOTg2MzFlNmYwYjc0YnAtNDgsCi0gICAgMHgxLjE0NzVjYzllZWRlZmZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMTgKLSAgICAtMHgxLmIwODhlOTBjNzdmZDEyZWE3OWY5ODYzMWU2ZjBiNzRicC00OCwKLSAgICAtMHgxLjE0NzVjYzllZWRlZmZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMTkKLSAgICAtMHgxLjYxMTFkMjE4ZWZmYTI1ZDRmM2YzMGM2NTRkN2MzNmExcC00OSwKLSAgICAweDEuMTQ3NWNjOWVlZGZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMjAKLSAgICAtMHgxLjYxMTFkMjE4ZWZmYTI1ZDRmM2YzMGM2NTRkN2MzNmExcC00OSwKLSAgICAtMHgxLjE0NzVjYzllZWRmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIxCi0gICAgMHgxLjNkZGM1YmNlMjAwYmI0NTYxODE5ZTczNTI3ZjVhNmQ3cC01MCwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyMgotICAgIDB4MS4zZGRjNWJjZTIwMGJiNDU2MTgxOWU3MzUyN2Y1YTZkN3AtNTAsCi0gICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIzCi0gICAgMHgxLjZhMDllNjY3ZjNiYWJjYmEyNGQ2ZDg3ZWNjOGY4M2I0cC0xLAotICAgIDB4MS4yMTA2Y2E0OTEwMDY4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjI0Ci0gICAgMHgxLjZhMDllNjY3ZjNiYWJjYmEyNGQ2ZDg3ZWNjOGY4M2I0cC0xLAotICAgIC0weDEuMjEwNmNhNDkxMDA2OHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyNQotICAgIDB4MS42YTA5ZTY2N2YzYmMyNmM0MGIzZWNjM2NlY2UxZDFhMHAtMSwKLSAgICAweDEuMjEwNmNhNDkxMDA2OXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyNgotICAgIDB4MS42YTA5ZTY2N2YzYmMyNmM0MGIzZWNjM2NlY2UxZDFhMHAtMSwKLSAgICAtMHgxLjIxMDZjYTQ5MTAwNjlwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMjcKLSAgICAweDEuNmEwOWU2NjdmM2JkOTBjZGYxYTZiZmY5YTMyYTM5MjNwLTEsCi0gICAgMHgxLjIxMDZjYTQ5MTAwNmFwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMjgKLSAgICAweDEuNmEwOWU2NjdmM2JkOTBjZGYxYTZiZmY5YTMyYTM5MjNwLTEsCi0gICAgLTB4MS4yMTA2Y2E0OTEwMDZhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjI5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZThiMjdiNmEycC0xLAotICAgIDB4MS4yZDk3YzdmMzMyMWQxcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZThiMjdiNmEycC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzMQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkNHAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzMgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkNHAtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMzMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWVmMTgxMDdwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMzQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWVmMTgxMDdwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQzcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjM1Ci0gICAgMHgxLjZhMDllNjY3ZjNiZjkwOTk5YzgyYzkwY2ViYWY5ZjNmcC0xLAotICAgIDB4MS4zYTI4YzU5ZDU0MzM5cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjM2Ci0gICAgMHgxLjZhMDllNjY3ZjNiZjkwOTk5YzgyYzkwY2ViYWY5ZjNmcC0xLAotICAgIC0weDEuM2EyOGM1OWQ1NDMzOXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzNwotICAgIDB4MS42YTA5ZTY2N2YzYmUyNjhmYjYxYWQ1NTIzNTMyZTI5OHAtMSwKLSAgICAweDEuM2EyOGM1OWQ1NDMzYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzOAotICAgIDB4MS42YTA5ZTY2N2YzYmUyNjhmYjYxYWQ1NTIzNTMyZTI5OHAtMSwKLSAgICAtMHgxLjNhMjhjNTlkNTQzM2FwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMzkKLSAgICAweDEuNmEwOWU2NjdmM2JjYmM4NWNmYjJlMTk2MTRhYzNmODhwLTEsCi0gICAgMHgxLjNhMjhjNTlkNTQzM2JwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNDAKLSAgICAweDEuNmEwOWU2NjdmM2JjYmM4NWNmYjJlMTk2MTRhYzNmODhwLTEsCi0gICAgLTB4MS4zYTI4YzU5ZDU0MzNicDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQxCi0gICAgMHgxLmI5NWJmYzI2MDIyYjE2NWFlZDNlMmEzYjEyMzgyNDc5cC00OCwKLSAgICAweDEuNDZiOWMzNDc3NjRhMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0MgotICAgIDB4MS5iOTViZmMyNjAyMmIxNjVhZWQzZTJhM2IxMjM4MjQ3OXAtNDgsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQzCi0gICAgMHgxLjcyYjdmODRjMDQ1NjJjYjVkYTdjNTQ3N2I5NTdhZGVicC00OSwKLSAgICAweDEuNDZiOWMzNDc3NjRhM3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0NAotICAgIDB4MS43MmI3Zjg0YzA0NTYyY2I1ZGE3YzU0NzdiOTU3YWRlYnAtNDksCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEzcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQ1Ci0gICAgLTB4MS4xYTkwMGY2N2Y3NTNhNjk0NGIwNzU3MTA0OGYxY2FkMnAtNTAsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNDYKLSAgICAtMHgxLjFhOTAwZjY3Zjc1M2E2OTQ0YjA3NTcxMDQ4ZjFjYWQycC01MCwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNDcKLSAgICAtMHgxLjZhMDllNjY3ZjNiYWIwM2Y1NDc3ZDZiNzRmNGQ1NWQ1cC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBicDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQ4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmFiMDNmNTQ3N2Q2Yjc0ZjRkNTVkNXAtMSwKLSAgICAtMHgxLjUzNGFjMGYxOTg2MGJwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNDkKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzFhNDkzYWRmY2E3NTdjMWE3NDFmcC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMxYTQ5M2FkZmNhNzU3YzFhNzQxZnAtMSwKLSAgICAtMHgxLjUzNGFjMGYxOTg2MGNwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTEKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDg0NTMyMTQ3YmUzMjNlZGRhYzAxcC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUyCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQ4NDUzMjE0N2JlMzIzZWRkYWMwMXAtMSwKLSAgICAtMHgxLjUzNGFjMGYxOTg2MGRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTc1OGQzYTdjcC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjU0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NThkM2E3Y3AtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTg0NWUxcC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc1cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjU2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTE4NDVlMXAtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzVwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTcKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjYTM1MTQ3cC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjU4Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2EzNTE0N3AtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTkKLSAgICAtMHgxLjZhMDllNjY3ZjNiZjlkMTQ2Y2UxY2FkNDNkZTliMzUycC0xLAotICAgIDB4MS42YzZjYmM0NWRjOGRjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmY5ZDE0NmNlMWNhZDQzZGU5YjM1MnAtMSwKLSAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGNwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNjEKLSAgICAtMHgxLjZhMDllNjY3ZjNiZTMzMGE4Njc5ZDcxOTkzZTdjNzA5cC0xLAotICAgIDB4MS42YzZjYmM0NWRjOGRkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYyCi0gICAgLTB4MS42YTA5ZTY2N2YzYmUzMzBhODY3OWQ3MTk5M2U3YzcwOXAtMSwKLSAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNjMKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2M5MDBhMDExZTM1ZDdmZGJmNDU5cC0xLAotICAgIDB4MS42YzZjYmM0NWRjOGRlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY0Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNjOTAwYTAxMWUzNWQ3ZmRiZjQ1OXAtMSwKLSAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGVwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNjUKLSAgICAtMHgxLmMyMmYwZjNmOGM1OTE5Y2I2MDgyY2U0NDNjZjk1MDIycC00OCwKLSAgICAweDEuNzhmZGI5ZWZmZWE0NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2NgotICAgIC0weDEuYzIyZjBmM2Y4YzU5MTljYjYwODJjZTQ0M2NmOTUwMjJwLTQ4LAotICAgIC0weDEuNzhmZGI5ZWZmZWE0NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2NwotICAgIC0weDEuODQ1ZTFlN2YxOGIyMzM5NmMxMDU5YzhhMjRjMjYwOWNwLTQ5LAotICAgIDB4MS43OGZkYjllZmZlYTQ2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY4Ci0gICAgLTB4MS44NDVlMWU3ZjE4YjIzMzk2YzEwNTljOGEyNGMyNjA5Y3AtNDksCi0gICAgLTB4MS43OGZkYjllZmZlYTQ2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY5Ci0gICAgMHgxLmVlODc4NjAzOWQzNzMxYTRmYmU5OGRkNmQzMmZmNjJhcC01MSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0N3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3MAotICAgIDB4MS5lZTg3ODYwMzlkMzczMWE0ZmJlOThkZDZkMzJmZjYyYXAtNTEsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcxCi0gICAgMHgxLjZhMDllNjY3ZjNiYWEzYzQ4NDE4ZDRlZmQxOWQwNzRhcC0xLAotICAgIDB4MS44NThlYjc5YTIwYmFlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcyCi0gICAgMHgxLjZhMDllNjY3ZjNiYWEzYzQ4NDE4ZDRlZmQxOWQwNzRhcC0xLAotICAgIC0weDEuODU4ZWI3OWEyMGJhZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3MwotICAgIDB4MS42YTA5ZTY2N2YzYmMwZGNlNmE4MGM4YWUwYWU0ZjVmM3AtMSwKLSAgICAweDEuODU4ZWI3OWEyMGJhZnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3NAotICAgIDB4MS42YTA5ZTY2N2YzYmMwZGNlNmE4MGM4YWUwYWU0ZjVmM3AtMSwKLSAgICAtMHgxLjg1OGViNzlhMjBiYWZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzUKLSAgICAweDEuNmEwOWU2NjdmM2JkNzdkODUwZThiYzZhZGEyMmZlMzRwLTEsCi0gICAgMHgxLjg1OGViNzlhMjBiYjBwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzYKLSAgICAweDEuNmEwOWU2NjdmM2JkNzdkODUwZThiYzZhZGEyMmZlMzRwLTEsCi0gICAgLTB4MS44NThlYjc5YTIwYmIwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjc3Ci0gICAgLTB4MS4yY2NhZjY0MWQ0MjYxZWEzY2NkOGQyYTEwMmRjMzA2NnAtMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgotICB9LAotICB7IC8vIEVudHJ5IDEyNzgKLSAgICAtMHgxLjJjY2FmNjQxZDQyNjFlYTNjY2Q4ZDJhMTAyZGMzMDY2cC0zLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MgotICB9LAotICB7IC8vIEVudHJ5IDEyNzkKLSAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCi0gICAgMHgxLjBwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgwCi0gICAgMHgxLjgyYWEzNzViM2MzM2U3MDY2MzczMWJhYjRiZWI2ZWQzcC03LAotICAgIC0weDEuMHA2MwotICB9LAotICB7IC8vIEVudHJ5IDEyODEKLSAgICAweDEuNGMwNjIyYTZlMzVkZGVmZDVmMmI3NzAwNzE2YTU4MWZwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgyCi0gICAgMHgxLjRjMDYyMmE2ZTM1ZGRlZmQ1ZjJiNzcwMDcxNmE1ODFmcC0yLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MwotICB9LAotICB7IC8vIEVudHJ5IDEyODMKLSAgICAweDEuNGFiNjUwYjhjNjA3MzQzODUzNzVlMjI2MDNmY2RiMTBwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg0Ci0gICAgMHgxLjRhYjY1MGI4YzYwNzM0Mzg1Mzc1ZTIyNjAzZmNkYjEwcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyNgotICB9LAotICB7IC8vIEVudHJ5IDEyODUKLSAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCi0gICAgMHgxLjBwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg2Ci0gICAgMHgxLjRhYjY1MTFhN2QzOWFkM2NjODhkZWQxZTc3NWNhMTQ3cC0xLAotICAgIC0weDEuMHAyNwotICB9LAotICB7IC8vIEVudHJ5IDEyODcKLSAgICAweDEuNGFiNjUxZGRlYjllNjE0MzgzODJmMDIxNjdhZGU0YWZwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg4Ci0gICAgMHgxLjRhYjY1MWRkZWI5ZTYxNDM4MzgyZjAyMTY3YWRlNGFmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNwotICB9LAotICB7IC8vIEVudHJ5IDEyODkKLSAgICAweDEuNDBhZDY3ZTc3N2IxZGYwMTk1MTg5ZjUwYThjMjYzNDVwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkwCi0gICAgMHgxLjQwYWQ2N2U3NzdiMWRmMDE5NTE4OWY1MGE4YzI2MzQ1cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyMwotICB9LAotICB7IC8vIEVudHJ5IDEyOTEKLSAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCi0gICAgMHgxLjBwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkyCi0gICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAotICAgIC0weDEuMHAyNAotICB9LAotICB7IC8vIEVudHJ5IDEyOTMKLSAgICAweDEuNDBhZDY4MGNlMmY5MjRkNzE2NzY5ZDEwNjRiYzhkZWZwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjk0Ci0gICAgMHgxLjQwYWQ2ODBjZTJmOTI0ZDcxNjc2OWQxMDY0YmM4ZGVmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNAotICB9LAotICB7IC8vIEVudHJ5IDEyOTUKLSAgICAtMHgxLjRlYWE2MDZkYjI0YzNjYjVlMTVkN2IxOWQ1ZWU3M2ExcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjk2Ci0gICAgLTB4MS40ZWFhNjA2ZGIyNGMzY2I1ZTE1ZDdiMTlkNWVlNzNhMXAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDEyOTcKLSAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAotICAgIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjk4Ci0gICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKLSAgICAtMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDEyOTkKLSAgICAtMHgxLjRlYWE2MDZkYjI0YmFiNjc4NjJhNTI2MWI3NzE5ZGNmcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAwCi0gICAgLTB4MS40ZWFhNjA2ZGIyNGJhYjY3ODYyYTUyNjFiNzcxOWRjZnAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMgotICB9LAotICB7IC8vIEVudHJ5IDEzMDEKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDEwMTE0NTIzMDk1MmU2MWM2ZjJjcC0yLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAyCi0gICAgLTB4MS5hYTIyNjU3NTM3MjAxMDExNDUyMzA5NTJlNjFjNmYyY3AtMiwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDEzMDMKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAotICAgIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzA0Ci0gICAgLTB4MS5hYTIyNjU3NTM3MjA0YTQzMzJmOGFjYmI3MmIwZDc2OHAtMiwKLSAgICAtMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDEzMDUKLSAgICAtMHgxLmFhMjI2NTc1MzcyMGJlYTcwZWEzZjM4Yzg2ZGI0MGFmcC0yLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzA2Ci0gICAgLTB4MS5hYTIyNjU3NTM3MjBiZWE3MGVhM2YzOGM4NmRiNDBhZnAtMiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDEzMDcKLSAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzA4Ci0gICAgMHgxLjE0YTI4MGZiNTA2OGM2OWEyZWQ0NWZiNTQ3YzJmMjcxcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzMDkKLSAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDEzMTAKLSAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCi0gICAgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzExCi0gICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEyCi0gICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxMwotICAgIDB4MS5jMTUyODA2NWI3ZDRmZGIxNThjOWM0YTZiM2U0Yjc0MHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEzMTQKLSAgICAweDEuYzE1MjgwNjViN2Q0ZmRiMTU4YzljNGE2YjNlNGI3NDBwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxNQotICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKLSAgICAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzMTYKLSAgICAweDEuYzE1MjgwNjViN2Q0ZjlkYjdiYmIzYjQ1ZjVmNWIzMGFwLTEsCi0gICAgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxNwotICAgIDB4MS5jMTUyODA2NWI3ZDRmMjJmYzE5ZTI4ODQ3OWMzNmIyN3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzMTgKLSAgICAweDEuYzE1MjgwNjViN2Q0ZjIyZmMxOWUyODg0NzljMzZiMjdwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxOQotICAgIDB4MS5mMDE1NDlmN2RlZWExODRjNWYxZDIxMGI2YWRiZTU2Y3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzMjAKLSAgICAweDEuZjAxNTQ5ZjdkZWVhMTg0YzVmMWQyMTBiNmFkYmU1NmNwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyMQotICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKLSAgICAweDEuMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEzMjIKLSAgICAweDEuZjAxNTQ5ZjdkZWVhMTc0ZjA3YTY3OTcyYmYyOWYxNDhwLTEsCi0gICAgLTB4MS4wcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyMwotICAgIDB4MS5mMDE1NDlmN2RlZWExNTU0NThiOTJhNDE2N2FlYzdmZnAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDEzMjQKLSAgICAweDEuZjAxNTQ5ZjdkZWVhMTU1NDU4YjkyYTQxNjdhZWM3ZmZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyNQotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNzFhMTIzMjAyNDljYTRkYWZkN3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEzMjYKLSAgICAweDEuZmMwMTU1MjdkNWJkMzcxYTEyMzIwMjQ5Y2E0ZGFmZDdwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyNwotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKLSAgICAweDEuMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzMjgKLSAgICAweDEuZmMwMTU1MjdkNWJkMzZkYTNjZDQyNTNiZWRlMzE5Y2FwLTEsCi0gICAgLTB4MS4wcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyOQotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNjVhOTIxODZiMjAzNTA3ZjlhZHAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzMzAKLSAgICAweDEuZmMwMTU1MjdkNWJkMzY1YTkyMTg2YjIwMzUwN2Y5YWRwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMzMQotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGRhMGI3NDVkYzc0MzMxNDVlZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEzMzIKLSAgICAweDEuZmYwMDE1NTQ5ZjRkMzRkYTBiNzQ1ZGM3NDMzMTQ1ZWZwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMzMwotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKLSAgICAweDEuMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDEzMzQKLSAgICAweDEuZmYwMDE1NTQ5ZjRkMzRjYTBlMWVlNjUwOWJjNDJiNzFwLTEsCi0gICAgLTB4MS4wcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMzNQotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGFhMTM3M2Y3NjM0Y2U4NzczN3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAotICB9LAotICB7IC8vIEVudHJ5IDEzMzYKLSAgICAweDEuZmYwMDE1NTQ5ZjRkMzRhYTEzNzNmNzYzNGNlODc3MzdwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMzNwotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjE2YWViMDlmYjcwNjM2YTEwYXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEzMzgKLSAgICAweDEuZmZjMDAxNTU1MjdkMmIxNmFlYjA5ZmI3MDYzNmExMGFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMzOQotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKLSAgICAweDEuMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDEzNDAKLSAgICAweDEuZmZjMDAxNTU1MjdkMmIxMmFlZGI0OWQ5MjkyOGRmNzJwLTEsCi0gICAgLTB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM0MQotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjBhYWYzMDllMWQ2ZjBjZmM0ZXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEzNDIKLSAgICAweDEuZmZjMDAxNTU1MjdkMmIwYWFmMzA5ZTFkNmYwY2ZjNGVwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM0MwotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEzOGEyNTYzZWYzNDRjM2ZmNHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDEzNDQKLSAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMzhhMjU2M2VmMzQ0YzNmZjRwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM0NQotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKLSAgICAweDEuMHAtNgotICB9LAotICB7IC8vIEVudHJ5IDEzNDYKLSAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMjhhMjgwZTk3YmNkNTljOGFwLTEsCi0gICAgLTB4MS4wcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM0NwotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEwOGEyZDYzZThjZGU4M2RiNXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgotICB9LAotICB7IC8vIEVudHJ5IDEzNDgKLSAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMDhhMmQ2M2U4Y2RlODNkYjVwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM0OQotICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1NjU1NDlmNDljOWY0ZHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUwCi0gICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU2NTU0OWY0OWM5ZjRkcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUxCi0gICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU1NTU0OWY0OWY0OWY3cC0xLAotICAgIDB4MS4wcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEzNTIKLSAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCi0gICAgLTB4MS4wcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEzNTMKLSAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTM1NTQ5ZjRhNDlmNGRwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM1NAotICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1MzU1NDlmNGE0OWY0ZHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM1NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDQxNTU1NXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzU2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwNDE1NTU1cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzU3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDE1NTU1cC0xLAotICAgIDB4MS4wcC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEzNTgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCi0gICAgLTB4MS4wcC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEzNTkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmJmZmZmZmZmZmZmZmY4MTU1NTVwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM2MAotICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZjgxNTU1NXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM2MQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAxMDAxNXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDEwMDE1cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDE1cC0xLAotICAgIDB4MS4wcC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEzNjQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCi0gICAgLTB4MS4wcC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEzNjUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZTAwMTVwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZlMDAxNXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2NwotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzY4Ci0gICAgLTB4MS5mZmZlNjJlY2ZhYjc1M2MwNzFiMjY4MGUxZTI2YmJjZXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2OQotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEzNzAKLSAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM3MQotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEzNzIKLSAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM3MwotICAgIDB4MS43ZmZkZmI0YzUzMDhmNzc3Y2Y3NzRjNzMzYjI1NjY5NXAtMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM3NAotICAgIDB4MS43ZmZkZmI0YzUzMDhmNzc3Y2Y3NzRjNzMzYjI1NjY5NXAtMiwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEzNzUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzc2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDEzNzcKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzc4Ci0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0NDE5ZmE4cC01NCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNzkKLSAgICAweDEuMTRhMjgwZmI1MDY4OWUzNjJmZmRkMjIxZTI1NTEwMzVwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDEzODAKLSAgICAweDEuMTRhMjgwZmI1MDY4OWUzNjJmZmRkMjIxZTI1NTEwMzVwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzgxCi0gICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAotICAgIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzgyCi0gICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAotICAgIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4MwotICAgIDB4MS4xNGEyODBmYjUwNjhjNjlhMmVkNDVmYjU0N2MyZjI3MXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzODQKLSAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4NQotICAgIDB4MS42YTA5ZTY2N2YzYmNjYzI3NjcxMmQzZDhjNTUwMjM4N3AtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzODYKLSAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4NwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDEzODgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4OQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDEzOTAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM5MQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEzOTIKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM5MwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEzOTQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM5NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3MwotICB9LAotICB7IC8vIEVudHJ5IDEzOTYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDczCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM5NwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDEzOTgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM5OQotICAgIDB4MS5wMCwKLSAgICAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAwCi0gICAgMHgxLnAwLAotICAgIC0wLjAKLSAgfSwKLX07Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwotCi1URVNUKG1hdGhfY29zLCBjb3NfaW50ZWwpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZW9mKGdfY29zX2ludGVsX2RhdGEpL3NpemVvZihjb3NfaW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0RPVUJMRV9FUShnX2Nvc19pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCBjb3MoZ19jb3NfaW50ZWxfZGF0YVtpXS5jYWxsX2RhdGEpKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOwotICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi19CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2Nvc2ZfdGVzdC5jcHAgYi90ZXN0cy9tYXRoX2Nvc2ZfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhOTVmZjMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9jb3NmX3Rlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDM1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPG1hdGguaD4KLQotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGZsb2F0IGV4cGVjdGVkOwotICBmbG9hdCBjYWxsX2RhdGE7Ci19IGNvc2ZfaW50ZWxfZGF0YV90OwotCi1zdGF0aWMgY29zZl9pbnRlbF9kYXRhX3QgZ19jb3NmX2ludGVsX2RhdGFbXSA9IHsKLSAgeyAvLyBFbnRyeSAwCi0gICAgMHgxLmJjN2I2NmZmYjc2ODlkNjQ2ZGQxYWY4M2U5NjYxZDJkcC0xLAotICAgIC0weDEuMDllYmFjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIDB4MS5iYzdiNjZmZmI3Njg5ZDY0NmRkMWFmODNlOTY2MWQyZHAtMSwKLSAgICAweDEuMDllYmFjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMgotICAgIDB4MS5kZWU4ZDBmZmZjZDk5N2NlNWNmYmFiMGE1YTMzNmMxNHAtNSwKLSAgICAtMHgxLjE1NjU2NHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMwotICAgIDB4MS5kZWU4ZDBmZmZjZDk5N2NlNWNmYmFiMGE1YTMzNmMxNHAtNSwKLSAgICAweDEuMTU2NTY0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgLTB4MS5jMTFiYjJmMDU2NTUyY2E0Y2RiNmM1YTBjZjcxNTA5ZHAtOCwKLSAgICAtMHgxLjQwNmE0MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNQotICAgIC0weDEuYzExYmIyZjA1NjU1MmNhNGNkYjZjNWEwY2Y3MTUwOWRwLTgsCi0gICAgMHgxLjQwNmE0MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNgotICAgIDB4MS5mZjgzNmNmZjk3MDc3YmY0ODlhYWRjNWYzNDlhOWZiOXAtMSwKLSAgICAtMHgxLjY1MzA3OHAtNQotICB9LAotICB7IC8vIEVudHJ5IDcKLSAgICAweDEuZmY4MzZjZmY5NzA3N2JmNDg5YWFkYzVmMzQ5YTlmYjlwLTEsCi0gICAgMHgxLjY1MzA3OHAtNQotICB9LAotICB7IC8vIEVudHJ5IDgKLSAgICAweDEuYjI5Y2Q0ZjlkYTI5NjRlOGM2YmI1NjkzMzg3ZDNmM2JwLTUsCi0gICAgLTB4MS42YzAwMDhwNQotICB9LAotICB7IC8vIEVudHJ5IDkKLSAgICAweDEuYjI5Y2Q0ZjlkYTI5NjRlOGM2YmI1NjkzMzg3ZDNmM2JwLTUsCi0gICAgMHgxLjZjMDAwOHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAKLSAgICAweDEuZGY0MGQzZjY1MGY2Yzk0MzkwYTNjYTVkOGQ5YjQ4YzFwLTEsCi0gICAgLTB4MS43MDM4MjRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIDB4MS5kZjQwZDNmNjUwZjZjOTQzOTBhM2NhNWQ4ZDliNDhjMXAtMSwKLSAgICAweDEuNzAzODI0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIKLSAgICAweDEuZjc2MzE2ZjU0MWUxMGVmMTVkNTdjNWEyMzc3NTMyOWNwLTEsCi0gICAgLTB4MS43ODJlMmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMwotICAgIDB4MS5mNzYzMTZmNTQxZTEwZWYxNWQ1N2M1YTIzNzc1MzI5Y3AtMSwKLSAgICAweDEuNzgyZTJlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQKLSAgICAweDEuY2ZhYjBlYzJmYzk1MzgyOTg2ZmE1MTE2NDhiZDRlNmZwLTI0LAotICAgIC0weDEuOGUzMjY2cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNQotICAgIDB4MS5jZmFiMGVjMmZjOTUzODI5ODZmYTUxMTY0OGJkNGU2ZnAtMjQsCi0gICAgMHgxLjhlMzI2NnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAweDEuOTJlNjZiNTkyMGE4NWQ2MDgzZTljYzg1NTY4Y2VhYTNwLTIxLAotICAgIC0weDEuYzZhYzAycDE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcKLSAgICAweDEuOTJlNjZiNTkyMGE4NWQ2MDgzZTljYzg1NTY4Y2VhYTNwLTIxLAotICAgIDB4MS5jNmFjMDJwMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIDB4MS5kMWNlYjRmZmZmNmVkMDViNWVmNWZjNjE4MjMxMjE0YXAtMiwKLSAgICAtMHgxLmU1MTNmY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTkKLSAgICAweDEuZDFjZWI0ZmZmZjZlZDA1YjVlZjVmYzYxODIzMTIxNGFwLTIsCi0gICAgMHgxLmU1MTNmY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAKLSAgICAweDEuYzI3ZTA0OWRmZWFiMzhlMWI4ZWE2YTA5NjMxODI5ZmVwLTEsCi0gICAgLTB4MS5mYjE5MDRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMQotICAgIDB4MS5jMjdlMDQ5ZGZlYWIzOGUxYjhlYTZhMDk2MzE4MjlmZXAtMSwKLSAgICAweDEuZmIxOTA0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIDB4MS5mZmZmZmYwMDAwMDAxNTU1NTU1NDlmNDlmNGEyOGEyOHAtMSwKLSAgICAweDEucC0xMgotICB9LAotICB7IC8vIEVudHJ5IDI1Ci0gICAgMHgxLmZmZmZmZjAwMDAwMDE1NTU1NTU0OWY0OWY0YTI4YTI4cC0xLAotICAgIC0weDEucC0xMgotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgMHgxLmZmZmZmZmZmZmZjMDAwMDAwMDAwMDE1NTU1NTU1NTU1cC0xLAotICAgIDB4MS5wLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcKLSAgICAweDEuZmZmZmZmZmZmZmMwMDAwMDAwMDAwMTU1NTU1NTU1NTVwLTEsCi0gICAgLTB4MS5wLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgKLSAgICAweDEuZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDE1NTU1NTU1NTVwLTEsCi0gICAgMHgxLnAtMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIDB4MS5mZmZmZmZmZmZmZjAwMDAwMDAwMDAwMTU1NTU1NTU1NXAtMSwKLSAgICAtMHgxLnAtMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIDB4MS5mZmZmZmVmZmZmZmMxNTU1NTFmZjQ5ZjY5NmM0YWVjYXAtMSwKLSAgICAweDEuMDAwMDAycC0xMgotICB9LAotICB7IC8vIEVudHJ5IDMxCi0gICAgMHgxLmZmZmZmZWZmZmZmYzE1NTU1MWZmNDlmNjk2YzRhZWNhcC0xLAotICAgIC0weDEuMDAwMDAycC0xMgotICB9LAotICB7IC8vIEVudHJ5IDMyCi0gICAgMHgxLjg4MmQ2MDZiYTA3NTA1YTdhMDlhZTc0ZDcxM2Y5Nzg4cC0xLAotICAgIDB4MS4wMDAwMDJwNTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMwotICAgIDB4MS44ODJkNjA2YmEwNzUwNWE3YTA5YWU3NGQ3MTNmOTc4OHAtMSwKLSAgICAtMHgxLjAwMDAwMnA1MQotICB9LAotICB7IC8vIEVudHJ5IDM0Ci0gICAgMHgxLmZjMDE1NGY3ZjViNjQyMmY3Nzk0YmYxNTZlZTk4YjdlcC0xLAotICAgIDB4MS4wMDAwMDZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNQotICAgIDB4MS5mYzAxNTRmN2Y1YjY0MjJmNzc5NGJmMTU2ZWU5OGI3ZXAtMSwKLSAgICAtMHgxLjAwMDAwNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLjM0ZTk3NmVmNjdkNjBhM2RlODE0YWQzZDAyMDNiYTIxcC0xMCwKLSAgICAweDEuMDAwMDA2cDEyMQotICB9LAotICB7IC8vIEVudHJ5IDM3Ci0gICAgMHgxLjM0ZTk3NmVmNjdkNjBhM2RlODE0YWQzZDAyMDNiYTIxcC0xMCwKLSAgICAtMHgxLjAwMDAwNnAxMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOAotICAgIC0weDEuZmZmZmEyY2Y1OTM5OGRjNjE4MDgwMWU5ZWEzMTIwYzhwLTEsCi0gICAgMHgxLjAwMDAwNnAxMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOQotICAgIC0weDEuZmZmZmEyY2Y1OTM5OGRjNjE4MDgwMWU5ZWEzMTIwYzhwLTEsCi0gICAgLTB4MS4wMDAwMDZwMTIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAKLSAgICAweDEuZmZjMDAxNDQ1MzMxNWQ0N2UyYTMxOGJmNjNlNGNhYTdwLTEsCi0gICAgMHgxLjAwMDAyMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQxCi0gICAgMHgxLmZmYzAwMTQ0NTMzMTVkNDdlMmEzMThiZjYzZTRjYWE3cC0xLAotICAgIC0weDEuMDAwMDIycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDIKLSAgICAweDEuYzE1MjE1MDE1ZjNkOTE2YTAwMTlhMzllM2FjYzczNjRwLTEsCi0gICAgMHgxLjAwMDBlMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQzCi0gICAgMHgxLmMxNTIxNTAxNWYzZDkxNmEwMDE5YTM5ZTNhY2M3MzY0cC0xLAotICAgIC0weDEuMDAwMGUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQKLSAgICAweDEuZmYwMDEzOTRlOTMwODVjN2NjZTUzOTE1ODkzYWY3NjVwLTEsCi0gICAgMHgxLjAwMDBlMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDQ1Ci0gICAgMHgxLmZmMDAxMzk0ZTkzMDg1YzdjY2U1MzkxNTg5M2FmNzY1cC0xLAotICAgIC0weDEuMDAwMGUwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuOTBiMGM5N2RlMjM3MDU4N2E2OGFlYWUyYjY5NDM5NTNwLTE1LAotICAgIDB4MS4wMDAzMjJwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NwotICAgIDB4MS45MGIwYzk3ZGUyMzcwNTg3YTY4YWVhZTJiNjk0Mzk1M3AtMTUsCi0gICAgLTB4MS4wMDAzMjJwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OAotICAgIC0weDEuOGI5MGM2NzY3NzU2NTg3NGY0NGQ5MzE0Y2EyYmE2MzRwLTYsCi0gICAgMHgxLjAwMDQwMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDkKLSAgICAtMHgxLjhiOTBjNjc2Nzc1NjU4NzRmNDRkOTMxNGNhMmJhNjM0cC02LAotICAgIC0weDEuMDAwNDAycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MAotICAgIDB4MS4xNDczNWZmZmQ1NTEyMGE0NDgwYjdjOTFhMWQ3OGQ2ZXAtMSwKLSAgICAweDEuMDAxY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAweDEuMTQ3MzVmZmZkNTUxMjBhNDQ4MGI3YzkxYTFkNzhkNmVwLTEsCi0gICAgLTB4MS4wMDFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIDB4MS5jMGI2ZDEwMDA1NDY4YTNhM2ViMDU2ZWI1OWI1OGNlMnAtMSwKLSAgICAweDEuMDE0NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzCi0gICAgMHgxLmMwYjZkMTAwMDU0NjhhM2EzZWIwNTZlYjU5YjU4Y2UycC0xLAotICAgIC0weDEuMDE0NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU0Ci0gICAgLTB4MS5jNDAzZDkwMDA2NTA5YjA3NjI2NDJkMGJlYTQwZTRiMXAtMiwKLSAgICAweDEuMDM5NGM4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIC0weDEuYzQwM2Q5MDAwNjUwOWIwNzYyNjQyZDBiZWE0MGU0YjFwLTIsCi0gICAgLTB4MS4wMzk0YzhwMQotICB9LAotICB7IC8vIEVudHJ5IDU2Ci0gICAgLTB4MS4yNzBkYTE4YjE5OGU2ZWJmYzg3ODIwODI5MDJiZjJkNHAtMjUsCi0gICAgMHgxLjA0Y2NiY3AxOAotICB9LAotICB7IC8vIEVudHJ5IDU3Ci0gICAgLTB4MS4yNzBkYTE4YjE5OGU2ZWJmYzg3ODIwODI5MDJiZjJkNHAtMjUsCi0gICAgLTB4MS4wNGNjYmNwMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIDB4MS5lZTBmNjcwMTViOWZiMzliYTZlYjkxZDQ3ODI5YzkxM3AtMSwKLSAgICAweDEuMDdiNTE4cDk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTkKLSAgICAweDEuZWUwZjY3MDE1YjlmYjM5YmE2ZWI5MWQ0NzgyOWM5MTNwLTEsCi0gICAgLTB4MS4wN2I1MThwOTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MAotICAgIDB4MS5mZWYwNWQwMDA2NjZjYjQ3ZjE2MzJjNDc4YTYyODJhOHAtMSwKLSAgICAweDEuMDdiZjgwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAweDEuZmVmMDVkMDAwNjY2Y2I0N2YxNjMyYzQ3OGE2MjgyYThwLTEsCi0gICAgLTB4MS4wN2JmODBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIDB4MS4xNmY0MzMwMDAwYjQ0YzgyODg2NzlmOGM3OWQzNmM0ZnAtNiwKLSAgICAweDEuMDdjMWYwcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MwotICAgIDB4MS4xNmY0MzMwMDAwYjQ0YzgyODg2NzlmOGM3OWQzNmM0ZnAtNiwKLSAgICAtMHgxLjA3YzFmMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjQKLSAgICAweDEuY2ZiNDA0NTU3Mjc3ZDg1YmYxNDk0OTZkNDZjMmZhOWZwLTE4LAotICAgIDB4MS4wYmQyMWVwOQotICB9LAotICB7IC8vIEVudHJ5IDY1Ci0gICAgMHgxLmNmYjQwNDU1NzI3N2Q4NWJmMTQ5NDk2ZDQ2YzJmYTlmcC0xOCwKLSAgICAtMHgxLjBiZDIxZXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAweDEuYmI1NDNlZmZmZDZjYWNhYzEyNjk4YjhhOTRlZDJjM2VwLTEsCi0gICAgMHgxLjBjM2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIDB4MS5iYjU0M2VmZmZkNmNhY2FjMTI2OThiOGE5NGVkMmMzZXAtMSwKLSAgICAtMHgxLjBjM2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OAotICAgIDB4MS5iYjBhMjJjMTNiNjE2Y2RjYWQzMmM3ZmNhNThlNjY0M3AtMSwKLSAgICAweDEuMGNkMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY5Ci0gICAgMHgxLmJiMGEyMmMxM2I2MTZjZGNhZDMyYzdmY2E1OGU2NjQzcC0xLAotICAgIC0weDEuMGNkMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcwCi0gICAgMHgxLmY5OGY5YjFkMDVlN2M5MjJhYzVlNWM2YjZhYzg2ODc2cC0yLAotICAgIDB4MS4wZGYwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MQotICAgIDB4MS5mOThmOWIxZDA1ZTdjOTIyYWM1ZTVjNmI2YWM4Njg3NnAtMiwKLSAgICAtMHgxLjBkZjBwMAotICB9LAotICB7IC8vIEVudHJ5IDcyCi0gICAgMHgxLmVlMTUxODE4MzBjMjViMGIxMGNlNjcxZThmN2EzMjg5cC0xLAotICAgIDB4MS4wZmI0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMKLSAgICAweDEuZWUxNTE4MTgzMGMyNWIwYjEwY2U2NzFlOGY3YTMyODlwLTEsCi0gICAgLTB4MS4wZmI0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQKLSAgICAweDEuZWRmNmNjMTZkZWZlNjM2MWYzOGZmYTYwZWNlMzk0NGNwLTEsCi0gICAgMHgxLjEwOWFiMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDc1Ci0gICAgMHgxLmVkZjZjYzE2ZGVmZTYzNjFmMzhmZmE2MGVjZTM5NDRjcC0xLAotICAgIC0weDEuMTA5YWIycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYKLSAgICAweDEuZGVlOGQwZmZmY2Q5OTdjZTVjZmJhYjBhNWEzMzZjMTRwLTUsCi0gICAgMHgxLjE1NjU2NHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzcKLSAgICAweDEuZGVlOGQwZmZmY2Q5OTdjZTVjZmJhYjBhNWEzMzZjMTRwLTUsCi0gICAgLTB4MS4xNTY1NjRwNAotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgMHgxLmI2NTZkNjAwMDAxNTViYWNiNGFhODc0YjI4ZGUyZmY5cC0xLAotICAgIDB4MS4xNjBjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkKLSAgICAweDEuYjY1NmQ2MDAwMDE1NWJhY2I0YWE4NzRiMjhkZTJmZjlwLTEsCi0gICAgLTB4MS4xNjBjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAweDEuZmZiMjc1OTY3YzE5MWVlOTVmODYyZWZiNGY3OTBjZWNwLTEsCi0gICAgMHgxLjE5Y2NwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MQotICAgIDB4MS5mZmIyNzU5NjdjMTkxZWU5NWY4NjJlZmI0Zjc5MGNlY3AtMSwKLSAgICAtMHgxLjE5Y2NwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MgotICAgIDB4MS5jNTljNTBmZmU1NDIyMzNiN2VhMjExMDBkZjg3YmI2MHAtMiwKLSAgICAweDEuMWNhNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODMKLSAgICAweDEuYzU5YzUwZmZlNTQyMjMzYjdlYTIxMTAwZGY4N2JiNjBwLTIsCi0gICAgLTB4MS4xY2E0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NAotICAgIDB4MS5hZjYzMGY4NmI3NzU3MWI5ZGUyZjE3ZmVlMmI2YzVjZXAtNSwKLSAgICAweDEuMWZmZmZlcDc5Ci0gIH0sCi0gIHsgLy8gRW50cnkgODUKLSAgICAweDEuYWY2MzBmODZiNzc1NzFiOWRlMmYxN2ZlZTJiNmM1Y2VwLTUsCi0gICAgLTB4MS4xZmZmZmVwNzkKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5iMTQ5M2VmMWZiYzYyNjczZWMxNDBjMTJhZGM1YTEzNHAtNiwKLSAgICAweDEuMjYyMHAxMAotICB9LAotICB7IC8vIEVudHJ5IDg3Ci0gICAgMHgxLmIxNDkzZWYxZmJjNjI2NzNlYzE0MGMxMmFkYzVhMTM0cC02LAotICAgIC0weDEuMjYyMHAxMAotICB9LAotICB7IC8vIEVudHJ5IDg4Ci0gICAgLTB4MS5hZDAwYjZmMTVjNmFjNWMzZTc5ZWY1NWQyZmVjNzBiZHAtNSwKLSAgICAweDEuMmEzZDYycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OQotICAgIC0weDEuYWQwMGI2ZjE1YzZhYzVjM2U3OWVmNTVkMmZlYzcwYmRwLTUsCi0gICAgLTB4MS4yYTNkNjJwMgotICB9LAotICB7IC8vIEVudHJ5IDkwCi0gICAgLTB4MS5hYjk5ODRmMjgzZjExNGNmMTNjYzZkZjM4YzY3OTU1ZnAtNiwKLSAgICAweDEuMmJlYzIycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIC0weDEuYWI5OTg0ZjI4M2YxMTRjZjEzY2M2ZGYzOGM2Nzk1NWZwLTYsCi0gICAgLTB4MS4yYmVjMjJwMgotICB9LAotICB7IC8vIEVudHJ5IDkyCi0gICAgMHgxLjk5YmM1Yjk2MWIxYWNhY2ExOGQ5NzFmNjhhZTk5ZGE5cC0yNywKLSAgICAweDEuMmQ5N2M4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MwotICAgIDB4MS45OWJjNWI5NjFiMWFjYWNhMThkOTcxZjY4YWU5OWRhOXAtMjcsCi0gICAgLTB4MS4yZDk3YzhwMgotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZkNzAzNDk4YzNiODI4ODU2MzkxNXAtMSwKLSAgICAweDEuMmQ5N2M4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NQotICAgIC0weDEuZmZmZmZmZmZmZmZmZDcwMzQ5OGMzYjgyODg1NjM5MTVwLTEsCi0gICAgLTB4MS4yZDk3YzhwMwotICB9LAotICB7IC8vIEVudHJ5IDk2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTI3ZThkNmQxcC0xLAotICAgIDB4MS4yZDk3YzhwNAotICB9LAotICB7IC8vIEVudHJ5IDk3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTI3ZThkNmQxcC0xLAotICAgIC0weDEuMmQ5N2M4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OAotICAgIC0weDEuOTliNjljZjBjNGEyYzhkZGFkM2Y0Y2YyOTQ1M2U1MDlwLTYsCi0gICAgMHgxLjJmZWZjNHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAtMHgxLjk5YjY5Y2YwYzRhMmM4ZGRhZDNmNGNmMjk0NTNlNTA5cC02LAotICAgIC0weDEuMmZlZmM0cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuZTkyMTQ4MzI4ZDYyMGZjMTg2ZGY5ZDZjZTEwODhmZDlwLTEsCi0gICAgMHgxLjMzMzcyNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMQotICAgIDB4MS5lOTIxNDgzMjhkNjIwZmMxODZkZjlkNmNlMTA4OGZkOXAtMSwKLSAgICAtMHgxLjMzMzcyNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMgotICAgIDB4MS5hMWNhYWIwMDAwMmQzMTg5ZTA2OTlmMmFhZjIwZDlmY3AtMSwKLSAgICAweDEuM2I5MGY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgMHgxLmExY2FhYjAwMDAyZDMxODllMDY5OWYyYWFmMjBkOWZjcC0xLAotICAgIC0weDEuM2I5MGY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0Ci0gICAgMHgxLmZjMzNiYWZmZmZmZmJiMDU1Y2UwMzY5MGJkMzkyNTMxcC0xLAotICAgIDB4MS40MWM0NzBwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUKLSAgICAweDEuZmMzM2JhZmZmZmZmYmIwNTVjZTAzNjkwYmQzOTI1MzFwLTEsCi0gICAgLTB4MS40MWM0NzBwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYKLSAgICAweDEuNDc5OGIzMDY3MmYyMTYwMmEyMWFhZjQ3MWU4MjU5YTBwLTE5LAotICAgIDB4MS40NDJmNzRwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcKLSAgICAweDEuNDc5OGIzMDY3MmYyMTYwMmEyMWFhZjQ3MWU4MjU5YTBwLTE5LAotICAgIC0weDEuNDQyZjc0cDE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4Ci0gICAgMHgxLmUyYjVlY2ZmZmZhNDljOGM2OGQ3NDNjNDdmNjI0NjMzcC0xLAotICAgIDB4MS41YzA5ZGFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkKLSAgICAweDEuZTJiNWVjZmZmZmE0OWM4YzY4ZDc0M2M0N2Y2MjQ2MzNwLTEsCi0gICAgLTB4MS41YzA5ZGFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAweDEuMTA1OTEwOTRhYzU4YTI3MGQ5YWQ5MTgwMmRmNDlmZDBwLTExLAotICAgIDB4MS41ZmUwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEKLSAgICAweDEuMTA1OTEwOTRhYzU4YTI3MGQ5YWQ5MTgwMmRmNDlmZDBwLTExLAotICAgIC0weDEuNWZlMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyCi0gICAgLTB4MS5mZmZlNTgwZWUxNDFjMDIyNWI0NDI4MWMxYzZmN2ZmMXAtMSwKLSAgICAweDEuNjY1OTgycDExOQotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIC0weDEuZmZmZTU4MGVlMTQxYzAyMjViNDQyODFjMWM2ZjdmZjFwLTEsCi0gICAgLTB4MS42NjU5ODJwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0Ci0gICAgLTB4MS5lMmI4ZWNmZmVkOTFjZTNhNGI5ZGM1YTU5MmZiMGIxNHAtMSwKLSAgICAweDEuNjZhMGJhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUKLSAgICAtMHgxLmUyYjhlY2ZmZWQ5MWNlM2E0YjlkYzVhNTkyZmIwYjE0cC0xLAotICAgIC0weDEuNjZhMGJhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYKLSAgICAtMHgxLmEwOGM2Y2ZkYmUwNGI4NTljMGUxNmQ0NzhmZjgxZjdicC01LAotICAgIDB4MS42YmVlNDJwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTcKLSAgICAtMHgxLmEwOGM2Y2ZkYmUwNGI4NTljMGUxNmQ0NzhmZjgxZjdicC01LAotICAgIC0weDEuNmJlZTQycDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4Ci0gICAgMHgxLmZmN2M3MTlhMTg0MzljNDI2NzA3NWUyZGY2ODgzNDNhcC0xLAotICAgIDB4MS42ZjEwNzBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkKLSAgICAweDEuZmY3YzcxOWExODQzOWM0MjY3MDc1ZTJkZjY4ODM0M2FwLTEsCi0gICAgLTB4MS42ZjEwNzBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAweDEuZmY3YzNiOTk3ZDZiZWE2NjFlZjBkMWU2OWUyMjJiZmVwLTEsCi0gICAgMHgxLjZmNWJjMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIDB4MS5mZjdjM2I5OTdkNmJlYTY2MWVmMGQxZTY5ZTIyMmJmZXAtMSwKLSAgICAtMHgxLjZmNWJjMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEyMgotICAgIC0weDEuNmEwYTBlZTY4ZGExMzEwOTFlMjllMDU1MjI2YTFiZDlwLTEsCi0gICAgMHgxLjcyYjUzY3A1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgLTB4MS42YTBhMGVlNjhkYTEzMTA5MWUyOWUwNTUyMjZhMWJkOXAtMSwKLSAgICAtMHgxLjcyYjUzY3A1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0Ci0gICAgMHgxLmZmNzc3YjlhMjE4OTg1YzFhMTkxYzkyYjJkMTFmZmJhcC0xLAotICAgIDB4MS43NWVjMWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAweDEuZmY3NzdiOWEyMTg5ODVjMWExOTFjOTJiMmQxMWZmYmFwLTEsCi0gICAgLTB4MS43NWVjMWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYKLSAgICAweDEuNmQ0ODdmOTI0Mjc5MjBlODFkYzVhZTM0ZTBlOGQ3YmFwLTIsCi0gICAgMHgxLjc4YjNmYXAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcKLSAgICAweDEuNmQ0ODdmOTI0Mjc5MjBlODFkYzVhZTM0ZTBlOGQ3YmFwLTIsCi0gICAgLTB4MS43OGIzZmFwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4Ci0gICAgMHgxLjQ5NDljMmZmZmEwY2QzMzZkZmRhOTk4MjE2ZGFlMzkzcC00LAotICAgIDB4MS43ZDg1NjhwMAotICB9LAotICB7IC8vIEVudHJ5IDEyOQotICAgIDB4MS40OTQ5YzJmZmZhMGNkMzM2ZGZkYTk5ODIxNmRhZTM5M3AtNCwKLSAgICAtMHgxLjdkODU2OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMwCi0gICAgLTB4MS5iOWVkOWViMzNlYWNiZmFjODE1MWNkYTExMzczNGMyOXAtMSwKLSAgICAweDEuODMwNjg4cDU3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMxCi0gICAgLTB4MS5iOWVkOWViMzNlYWNiZmFjODE1MWNkYTExMzczNGMyOXAtMSwKLSAgICAtMHgxLjgzMDY4OHA1NwotICB9LAotICB7IC8vIEVudHJ5IDEzMgotICAgIDB4MS5jNzM0OWFmMDZkNjEzOTRjYWUxOTEyMjMzZjY0YTA0ZXAtNSwKLSAgICAweDEuODNlNDMwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAweDEuYzczNDlhZjA2ZDYxMzk0Y2FlMTkxMjIzM2Y2NGEwNGVwLTUsCi0gICAgLTB4MS44M2U0MzBwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNAotICAgIDB4MS5hYjczZjBmMGZlMDQ0MDNlNmE3ZmRkZTE0MWEzOGE4ZXAtNSwKLSAgICAweDEuODRjMjg4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUKLSAgICAweDEuYWI3M2YwZjBmZTA0NDAzZTZhN2ZkZGUxNDFhMzhhOGVwLTUsCi0gICAgLTB4MS44NGMyODhwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNgotICAgIDB4MS5mZjZjMjc5OWRjZjBkNmM4ZjdhY2FmNWIwYTQ2ZTZlMnAtMSwKLSAgICAweDEuODUyMTQwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM3Ci0gICAgMHgxLmZmNmMyNzk5ZGNmMGQ2YzhmN2FjYWY1YjBhNDZlNmUycC0xLAotICAgIC0weDEuODUyMTQwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4Ci0gICAgMHgxLmZmNjllZDk5ZGU3MGU1MWY1MTlmMzBiYWQyNDdhNGQ5cC0xLAotICAgIDB4MS44ODBjYjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAweDEuZmY2OWVkOTlkZTcwZTUxZjUxOWYzMGJhZDI0N2E0ZDlwLTEsCi0gICAgLTB4MS44ODBjYjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAKLSAgICAtMHgxLmZkNzZjNTdmODcyZjg1YmM0YjBlMWJmNTkxYjNiNWIwcC0xLAotICAgIDB4MS45MzY0ZWFwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgLTB4MS5mZDc2YzU3Zjg3MmY4NWJjNGIwZTFiZjU5MWIzYjViMHAtMSwKLSAgICAtMHgxLjkzNjRlYXAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDIKLSAgICAtMHgxLmY4N2MxY2VlYzVmZDU4MTFjOWMwODljZGFlZWZmMTNjcC04LAotICAgIDB4MS45NzllMjhwOQotICB9LAotICB7IC8vIEVudHJ5IDE0MwotICAgIC0weDEuZjg3YzFjZWVjNWZkNTgxMWM5YzA4OWNkYWVlZmYxM2NwLTgsCi0gICAgLTB4MS45NzllMjhwOQotICB9LAotICB7IC8vIEVudHJ5IDE0NAotICAgIC0weDEuMTZhZTI5MTQ0ZDNiMWVhOGQ5MDdiODc3NmY3MDQxNTdwLTI2LAotICAgIDB4MS45YTQ4ZGVwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDUKLSAgICAtMHgxLjE2YWUyOTE0NGQzYjFlYThkOTA3Yjg3NzZmNzA0MTU3cC0yNiwKLSAgICAtMHgxLjlhNDhkZXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIC0weDEuOTc3NTUyZjhlNmFiM2MwMWNiMjllYzc3ODAzMDA3Y2ZwLTEzLAotICAgIDB4MS45Y2JjMWFwNTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAtMHgxLjk3NzU1MmY4ZTZhYjNjMDFjYjI5ZWM3NzgwMzAwN2NmcC0xMywKLSAgICAtMHgxLjljYmMxYXA1MAotICB9LAotICB7IC8vIEVudHJ5IDE0OAotICAgIDB4MS5mZjU4YzVmZmZmZmZjNzI2NmE5ZGY0ZTkyMTcyNjc3MXAtMSwKLSAgICAweDEuOWRkYjA2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQ5Ci0gICAgMHgxLmZmNThjNWZmZmZmZmM3MjY2YTlkZjRlOTIxNzI2NzcxcC0xLAotICAgIC0weDEuOWRkYjA2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmY1NzAwMDE5ZmZmZmYwMDk0YzE1cC0xLAotICAgIDB4MS45ZmZmZmVwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmY1NzAwMDE5ZmZmZmYwMDk0YzE1cC0xLAotICAgIC0weDEuOWZmZmZlcC0yNwotICB9LAotICB7IC8vIEVudHJ5IDE1MgotICAgIDB4MS4zMWJkNjMwMDRiMWZmNGQ3MjJjNzQ1MDQ0NzA2ZDUxN3AtMSwKLSAgICAweDEuYWMxMjljcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUzCi0gICAgMHgxLjMxYmQ2MzAwNGIxZmY0ZDcyMmM3NDUwNDQ3MDZkNTE3cC0xLAotICAgIC0weDEuYWMxMjljcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgLTB4MS5mMWFkMGYwMDAwMDllMDZjZTQ0OWY1YmRlMDNkNWQxYXAtMSwKLSAgICAweDEuYjA3OGY4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAtMHgxLmYxYWQwZjAwMDAwOWUwNmNlNDQ5ZjViZGUwM2Q1ZDFhcC0xLAotICAgIC0weDEuYjA3OGY4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTYKLSAgICAweDEuZmY0Nzc2ZmZlMzI0YmEyOTU4YWNhOGQ3M2NmOGI4MzlwLTEsCi0gICAgMHgxLmIyYzAzY3AtNQotICB9LAotICB7IC8vIEVudHJ5IDE1NwotICAgIDB4MS5mZjQ3NzZmZmUzMjRiYTI5NThhY2E4ZDczY2Y4YjgzOXAtMSwKLSAgICAtMHgxLmIyYzAzY3AtNQotICB9LAotICB7IC8vIEVudHJ5IDE1OAotICAgIDB4MS5mZjQzN2YwMDAwNWU1MDBkMjliZDgxMDNhOGU3NjllOXAtMSwKLSAgICAweDEuYjc2NmY2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLmZmNDM3ZjAwMDA1ZTUwMGQyOWJkODEwM2E4ZTc2OWU5cC0xLAotICAgIC0weDEuYjc2NmY2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYwCi0gICAgLTB4MS45OTY2M2RhOTRkYjczNDhiY2JiMjU3ZWQxNmI3MjI3Y3AtMjQsCi0gICAgMHgxLmJlZWVlZXA3OQotICB9LAotICB7IC8vIEVudHJ5IDE2MQotICAgIC0weDEuOTk2NjNkYTk0ZGI3MzQ4YmNiYjI1N2VkMTZiNzIyN2NwLTI0LAotICAgIC0weDEuYmVlZWVlcDc5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYyCi0gICAgMHgxLmYzZDYyMGZmZmZmZjg2MGU0OWJiYWI4OTYzZGNjNDJlcC0xLAotICAgIDB4MS5iZjRlMWNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjMKLSAgICAweDEuZjNkNjIwZmZmZmZmODYwZTQ5YmJhYjg5NjNkY2M0MmVwLTEsCi0gICAgLTB4MS5iZjRlMWNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAweDEuODFmZjc5ZWQ5MjAxNzU1ZjdhZDE4YjUzM2FhOTlkMThwLTEsCi0gICAgMHgxLmMwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAweDEuODFmZjc5ZWQ5MjAxNzU1ZjdhZDE4YjUzM2FhOTlkMThwLTEsCi0gICAgLTB4MS5jMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgLTB4MS5hZjNjNjEwODg4NzczMGZjZWNlZGY2MWQyZDgxY2VhYnAtMTUsCi0gICAgMHgxLmMyMGVjOHAyMwotICB9LAotICB7IC8vIEVudHJ5IDE2NwotICAgIC0weDEuYWYzYzYxMDg4ODc3MzBmY2VjZWRmNjFkMmQ4MWNlYWJwLTE1LAotICAgIC0weDEuYzIwZWM4cDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY4Ci0gICAgLTB4MS5iMTY1NmVmOTE0NDdmYTZhNTQ2Y2JkODEwMzRjYWZhYnAtMTQsCi0gICAgMHgxLmM3OWQyMHAxNwotICB9LAotICB7IC8vIEVudHJ5IDE2OQotICAgIC0weDEuYjE2NTZlZjkxNDQ3ZmE2YTU0NmNiZDgxMDM0Y2FmYWJwLTE0LAotICAgIC0weDEuYzc5ZDIwcDE3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcwCi0gICAgMHgxLjJkYTFkMzAwN2E1NzQ2MWY2ZjY3ZjJkM2U5ODNmNzk4cC0xLAotICAgIDB4MS5jYTdjZTBwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzEKLSAgICAweDEuMmRhMWQzMDA3YTU3NDYxZjZmNjdmMmQzZTk4M2Y3OThwLTEsCi0gICAgLTB4MS5jYTdjZTBwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzIKLSAgICAweDEuZmZkZDM3ODg4Mzg3Y2UzYzk4MjgxNDQ2NzZmMmFiMGRwLTEsCi0gICAgMHgxLmNjMzFiOHAxOAotICB9LAotICB7IC8vIEVudHJ5IDE3MwotICAgIDB4MS5mZmRkMzc4ODgzODdjZTNjOTgyODE0NDY3NmYyYWIwZHAtMSwKLSAgICAtMHgxLmNjMzFiOHAxOAotICB9LAotICB7IC8vIEVudHJ5IDE3NAotICAgIDB4MS4zOTViYTRmZmZmYTA2MTIyM2Y3MzA0Mjk5YmUwYWFkOHAtMSwKLSAgICAweDEuZDMwODkycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc1Ci0gICAgMHgxLjM5NWJhNGZmZmZhMDYxMjIzZjczMDQyOTliZTBhYWQ4cC0xLAotICAgIC0weDEuZDMwODkycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc2Ci0gICAgMHgxLmNiMjdjNmZmZDhlOWQ1MWEwNjA1YjU3ZmQwMmVlNDgzcC0xLAotICAgIDB4MS5kNTU3NGNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzcKLSAgICAweDEuY2IyN2M2ZmZkOGU5ZDUxYTA2MDViNTdmZDAyZWU0ODNwLTEsCi0gICAgLTB4MS5kNTU3NGNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzgKLSAgICAweDEuYTBhMDljZmQyYjJiMjM0NzZmMDlhYTNlYjYzMTM1MWNwLTUsCi0gICAgMHgxLmQ3NTU3YXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIDB4MS5hMGEwOWNmZDJiMmIyMzQ3NmYwOWFhM2ViNjMxMzUxY3AtNSwKLSAgICAtMHgxLmQ3NTU3YXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE4MAotICAgIDB4MS4zOGFlNmQwMDBjNDlkZjUwMDFiYWY3MDFiMWEyYTU2NHAtMSwKLSAgICAweDEuZGJlNzVjcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgxCi0gICAgMHgxLjM4YWU2ZDAwMGM0OWRmNTAwMWJhZjcwMWIxYTJhNTY0cC0xLAotICAgIC0weDEuZGJlNzVjcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgyCi0gICAgMHgxLmZmZmYxZjAwMTI1YWJmM2QxNzY1NzgxYjY0ZTZmZTA3cC0xLAotICAgIDB4MS5kZmZmZmVwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODMKLSAgICAweDEuZmZmZjFmMDAxMjVhYmYzZDE3NjU3ODFiNjRlNmZlMDdwLTEsCi0gICAgLTB4MS5kZmZmZmVwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODQKLSAgICAtMHgxLjlhYmM3NmY3ZWIxZDE1YTcyN2UwYmU3YWIxNjQwMGE3cC0xLAotICAgIDB4MS5lMDJhNDJwMTA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTg1Ci0gICAgLTB4MS45YWJjNzZmN2ViMWQxNWE3MjdlMGJlN2FiMTY0MDBhN3AtMSwKLSAgICAtMHgxLmUwMmE0MnAxMDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODYKLSAgICAweDEuNWExNDI5MDQ0ZWIwODcwMzJkYmVlNzE5Y2RkMzAyMjZwLTEsCi0gICAgMHgxLmU3MDFlYXAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODcKLSAgICAweDEuNWExNDI5MDQ0ZWIwODcwMzJkYmVlNzE5Y2RkMzAyMjZwLTEsCi0gICAgLTB4MS5lNzAxZWFwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg4Ci0gICAgLTB4MS45NGZmYzBmOGQ4ODhmNmY0NmM2ZDU1YTJlZmExMDgzZnAtMSwKLSAgICAweDEuZWRmMTg4cDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTg5Ci0gICAgLTB4MS45NGZmYzBmOGQ4ODhmNmY0NmM2ZDU1YTJlZmExMDgzZnAtMSwKLSAgICAtMHgxLmVkZjE4OHAyNAotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIC0weDEuMjdjNmQzMDBkODc1NmU3ODg0NmI4NGExZmEzYjEyYTJwLTEsCi0gICAgMHgxLmY0YzYzYXAyNAotICB9LAotICB7IC8vIEVudHJ5IDE5MQotICAgIC0weDEuMjdjNmQzMDBkODc1NmU3ODg0NmI4NGExZmEzYjEyYTJwLTEsCi0gICAgLTB4MS5mNGM2M2FwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTIKLSAgICAweDEuZGE1NGVjZWZiMWNkMzk1MTA1NTUxMjZhNzZjYjIwZDRwLTcsCi0gICAgMHgxLmY1YmE3NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkzCi0gICAgMHgxLmRhNTRlY2VmYjFjZDM5NTEwNTU1MTI2YTc2Y2IyMGQ0cC03LAotICAgIC0weDEuZjViYTc2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTQKLSAgICAweDEuZmMyOGRhMDAwMDA2YmM0ZjBiMGNkM2M4YWIxMGZjNTdwLTEsCi0gICAgMHgxLmY1ZmY0ZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDE5NQotICAgIDB4MS5mYzI4ZGEwMDAwMDZiYzRmMGIwY2QzYzhhYjEwZmM1N3AtMSwKLSAgICAtMHgxLmY1ZmY0ZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDE5NgotICAgIC0weDEuZmZmZmZmZmZmZmVhMzk2YWI4YWVlNTA5MzkyYzc1NWRwLTEsCi0gICAgMHgxLmY2YTdhMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk3Ci0gICAgLTB4MS5mZmZmZmZmZmZmZWEzOTZhYjhhZWU1MDkzOTJjNzU1ZHAtMSwKLSAgICAtMHgxLmY2YTdhMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk4Ci0gICAgMHgxLmE0ZjFkNGZkMGVhMjg2ZjMyZjNjYjMwOTJiNGNlZDE0cC01LAotICAgIDB4MS5mNmJmZjJwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTkKLSAgICAweDEuYTRmMWQ0ZmQwZWEyODZmMzJmM2NiMzA5MmI0Y2VkMTRwLTUsCi0gICAgLTB4MS5mNmJmZjJwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZhZjMzZGUyOTBjYTk5ZTJmYWYzcC0xLAotICAgIDB4MS5mOWNiZTJwOAotICB9LAotICB7IC8vIEVudHJ5IDIwMQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmFmMzNkZTI5MGNhOTllMmZhZjNwLTEsCi0gICAgLTB4MS5mOWNiZTJwOAotICB9LAotICB7IC8vIEVudHJ5IDIwMgotICAgIDB4MS5mZGQ0MGQ2ZDkxMmNlMjU5NGYyMDAxMDQ1NzBhYzFiM3AtMywKLSAgICAweDEuZmM3NjdlcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMHgxLmZkZDQwZDZkOTEyY2UyNTk0ZjIwMDEwNDU3MGFjMWIzcC0zLAotICAgIC0weDEuZmM3NjdlcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgLTB4MS43NTJkZTJmZmZmYjFhNWUyMjdiZjJjMTJmNDA4MzIwM3AtMSwKLSAgICAweDEuZmY1MzUycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDUKLSAgICAtMHgxLjc1MmRlMmZmZmZiMWE1ZTIyN2JmMmMxMmY0MDgzMjAzcC0xLAotICAgIC0weDEuZmY1MzUycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDYKLSAgICAtMHgxLjRlZDRjNWZmYzgwMTg3NDE4NzA5NDk3NjdmZjhkYWZhcC0xLAotICAgIDB4MS5mZmYxZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDIwNwotICAgIC0weDEuNGVkNGM1ZmZjODAxODc0MTg3MDk0OTc2N2ZmOGRhZmFwLTEsCi0gICAgLTB4MS5mZmYxZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDIwOAotICAgIC0weDEuMjg0MDZhMDAyNTU0NWM5YTU2OGRhY2Q0NTUxOGRkNjVwLTMsCi0gICAgMHgxLmZmZjFmZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA5Ci0gICAgLTB4MS4yODQwNmEwMDI1NTQ1YzlhNTY4ZGFjZDQ1NTE4ZGQ2NXAtMywKLSAgICAtMHgxLmZmZjFmZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEwCi0gICAgMHgxLmYwMTVjOGMyNGNhNWU5OWM3YzY1NTk5YzhkNjA5NzZlcC0xLAotICAgIDB4MS5mZmY3ZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTEKLSAgICAweDEuZjAxNWM4YzI0Y2E1ZTk5YzdjNjU1OTljOGQ2MDk3NmVwLTEsCi0gICAgLTB4MS5mZmY3ZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAweDEuYWZmOWI0NWU5NGQzMmQ4ZTViZGUyNWRlYzZmMzU3ZDZwLTksCi0gICAgMHgxLmZmZmUzZXA0MQotICB9LAotICB7IC8vIEVudHJ5IDIxMwotICAgIDB4MS5hZmY5YjQ1ZTk0ZDMyZDhlNWJkZTI1ZGVjNmYzNTdkNnAtOSwKLSAgICAtMHgxLmZmZmUzZXA0MQotICB9LAotICB7IC8vIEVudHJ5IDIxNAotICAgIC0weDEuZWE1NDY0ZmZmNTcxZjZmZjMzNTAwNGVhZGUzMDFiNTZwLTEsCi0gICAgMHgxLmZmZmY4ZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE1Ci0gICAgLTB4MS5lYTU0NjRmZmY1NzFmNmZmMzM1MDA0ZWFkZTMwMWI1NnAtMSwKLSAgICAtMHgxLmZmZmY4ZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE2Ci0gICAgMHgxLmZmZmQ0ZTczNWRmNmRiNmE3Y2E3Y2IwNDM2ZTZlZjQ4cC0xLAotICAgIDB4MS5mZmZmOGVwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTcKLSAgICAweDEuZmZmZDRlNzM1ZGY2ZGI2YTdjYTdjYjA0MzZlNmVmNDhwLTEsCi0gICAgLTB4MS5mZmZmOGVwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAtMHgxLjg4ZTUyN2ZmZWRkODVkMmUyNDI5MTY2Zjc5NWQ5Nzg4cC03LAotICAgIDB4MS5mZmZmOWVwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTkKLSAgICAtMHgxLjg4ZTUyN2ZmZWRkODVkMmUyNDI5MTY2Zjc5NWQ5Nzg4cC03LAotICAgIC0weDEuZmZmZjllcDQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIwCi0gICAgLTB4MS5kYjhmYTBlMDcxZjk4MDYxZjI3ZWY2NzE2MTUxMTQzN3AtMywKLSAgICAweDEuZmZmZmJhcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIxCi0gICAgLTB4MS5kYjhmYTBlMDcxZjk4MDYxZjI3ZWY2NzE2MTUxMTQzN3AtMywKLSAgICAtMHgxLmZmZmZiYXAyMwotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIC0weDEuZmU1YjMzN2Y0Y2ZlMjVkNDY4ZGVmZTY1ZDVjNTI0YWRwLTEsCi0gICAgMHgxLmZmZmZkY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIzCi0gICAgLTB4MS5mZTViMzM3ZjRjZmUyNWQ0NjhkZWZlNjVkNWM1MjRhZHAtMSwKLSAgICAtMHgxLmZmZmZkY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI0Ci0gICAgLTB4MS5mNTkwMzhmNGMyZGQzM2QxNTkxNzFlZTgwYmI2NDg4NnAtNSwKLSAgICAweDEuZmZmZmY4cDExOAotICB9LAotICB7IC8vIEVudHJ5IDIyNQotICAgIC0weDEuZjU5MDM4ZjRjMmRkMzNkMTU5MTcxZWU4MGJiNjQ4ODZwLTUsCi0gICAgLTB4MS5mZmZmZjhwMTE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgMHgxLmZmZmZmYzAwMDAxMTU1NTUzYTdkMjdmNGEyODlmMzE5cC0xLAotICAgIDB4MS5mZmZmZmNwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI3Ci0gICAgMHgxLmZmZmZmYzAwMDAxMTU1NTUzYTdkMjdmNGEyODlmMzE5cC0xLAotICAgIC0weDEuZmZmZmZjcC0xMgotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIC0weDEuZjlkNmJkZDYyNDczY2QyYjcyOWZlM2E2N2E0ZTkxNTdwLTQsCi0gICAgMHgxLmZmZmZmY3AyMgotICB9LAotICB7IC8vIEVudHJ5IDIyOQotICAgIC0weDEuZjlkNmJkZDYyNDczY2QyYjcyOWZlM2E2N2E0ZTkxNTdwLTQsCi0gICAgLTB4MS5mZmZmZmNwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzAKLSAgICAweDEuZWI0MDgzMDAwMDVkOTFiOTgxNGNhZGE4OGY1ZmM1OTZwLTEsCi0gICAgMHgxLjI0ODM2Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDIzMQotICAgIDB4MS5lYjQwODMwMDAwNWQ5MWI5ODE0Y2FkYTg4ZjVmYzU5NnAtMSwKLSAgICAtMHgxLjI0ODM2Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDIzNAotICAgIDB4MS5wMCwKLSAgICAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDIzOAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDI0MAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDEKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDI0MgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZjcC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZjcC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjAwMDAwMnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDkKLSAgICAweDEuZmZmZmZmNWMyOGY1Nzk2MGNkNTZlYmZlOTQ4MmE2MWZwLTEsCi0gICAgMHgxLjk5OTk5YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAweDEuZmZmZmZmNWMyOGY1Nzk2MGNkNTZlYmZlOTQ4MmE2MWZwLTEsCi0gICAgLTB4MS45OTk5OWFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgMHgxLmZmZmZmZDcwYTNkNjRlNWVjMTY1Y2Q0MzA3YWQxMzI2cC0xLAotICAgIDB4MS45OTk5OWFwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUyCi0gICAgMHgxLmZmZmZmZDcwYTNkNjRlNWVjMTY1Y2Q0MzA3YWQxMzI2cC0xLAotICAgIC0weDEuOTk5OTlhcC0xMgotICB9LAotICB7IC8vIEVudHJ5IDI1MwotICAgIDB4MS5mZmZmZmEzZDcwOWVlY2JmYjVhMzg1YjBmM2UwY2I4ZnAtMSwKLSAgICAweDEuMzMzMzM0cC0xMQotICB9LAotICB7IC8vIEVudHJ5IDI1NAotICAgIDB4MS5mZmZmZmEzZDcwOWVlY2JmYjVhMzg1YjBmM2UwY2I4ZnAtMSwKLSAgICAtMHgxLjMzMzMzNHAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTUKLSAgICAweDEuZmZmZmY1YzI4ZjVmYzczM2M0MjAyYWEwYmRhOTJmOTdwLTEsCi0gICAgMHgxLjk5OTk5YXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAweDEuZmZmZmY1YzI4ZjVmYzczM2M0MjAyYWEwYmRhOTJmOTdwLTEsCi0gICAgLTB4MS45OTk5OWFwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU3Ci0gICAgMHgxLmZmZmZmMDAwMDAxNTU1NTU0OWY0OWY0ZDM0ZDM0Y2EwcC0xLAotICAgIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU4Ci0gICAgMHgxLmZmZmZmMDAwMDAxNTU1NTU0OWY0OWY0ZDM0ZDM0Y2EwcC0xLAotICAgIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI1OQotICAgIDB4MS5mZmZmZThmNWMyOWNlMDc2NDBiZDVmNmQ4YmIxZWE2YnAtMSwKLSAgICAweDEuMzMzMzM0cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI2MAotICAgIDB4MS5mZmZmZThmNWMyOWNlMDc2NDBiZDVmNmQ4YmIxZWE2YnAtMSwKLSAgICAtMHgxLjMzMzMzNHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAweDEuZmZmZmUwYTNkNzE0ODM5ZjM2MDExNDdhZGE3M2Y4ZDlwLTEsCi0gICAgMHgxLjY2NjY2OHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjIKLSAgICAweDEuZmZmZmUwYTNkNzE0ODM5ZjM2MDExNDdhZGE3M2Y4ZDlwLTEsCi0gICAgLTB4MS42NjY2NjhwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLmZmZmZkNzBhM2Q4MTkxZjY2ZGU1NDA4ZmIyYjk5NWEwcC0xLAotICAgIDB4MS45OTk5OWNwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY0Ci0gICAgMHgxLmZmZmZkNzBhM2Q4MTkxZjY2ZGU1NDA4ZmIyYjk5NWEwcC0xLAotICAgIC0weDEuOTk5OTljcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI2NQotICAgIDB4MS5mZmZmY2MyOGY2ZDA5NmI4N2Q2ZDE5YTA2ZTk2OTk5YnAtMSwKLSAgICAweDEuY2NjY2NjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI2NgotICAgIDB4MS5mZmZmY2MyOGY2ZDA5NmI4N2Q2ZDE5YTA2ZTk2OTk5YnAtMSwKLSAgICAtMHgxLmNjY2NjY3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjcKLSAgICAweDEuZmZmYmNjMmE3MWNlYWFiZjU1ODJiNmRhMWZjMzA1MzFwLTEsCi0gICAgMHgxLjA2NjY2NnAtNwotICB9LAotICB7IC8vIEVudHJ5IDI2OAotICAgIDB4MS5mZmZiY2MyYTcxY2VhYWJmNTU4MmI2ZGExZmMzMDUzMXAtMSwKLSAgICAtMHgxLjA2NjY2NnAtNwotICB9LAotICB7IC8vIEVudHJ5IDI2OQotICAgIDB4MS5mZmYzMGE0YjdiNTExOWQ4ZTI5OWY3MTdlYzBlY2UxNnAtMSwKLSAgICAweDEuY2NjY2NjcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgMHgxLmZmZjMwYTRiN2I1MTE5ZDhlMjk5ZjcxN2VjMGVjZTE2cC0xLAotICAgIC0weDEuY2NjY2NjcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgMHgxLmZmZTU3YTc4NTEyMzIyNmMxZTJlZmI0MTEzNTNlZGM5cC0xLAotICAgIDB4MS40OTk5OThwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAweDEuZmZlNTdhNzg1MTIzMjI2YzFlMmVmYjQxMTM1M2VkYzlwLTEsCi0gICAgLTB4MS40OTk5OThwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzMKLSAgICAweDEuZmZkMzFjZDEwY2I2MzJkOTczM2FjNWY1ZjMyN2E1ZjlwLTEsCi0gICAgMHgxLmFjY2NjY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDI3NAotICAgIDB4MS5mZmQzMWNkMTBjYjYzMmQ5NzMzYWM1ZjVmMzI3YTVmOXAtMSwKLSAgICAtMHgxLmFjY2NjY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDI3NQotICAgIDB4MS5mZmJiZjE4MjA3NTQyZWY4MTM5MGQ3M2MzYmE4OWMxYXAtMSwKLSAgICAweDEuMDhwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzYKLSAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCi0gICAgLTB4MS4wOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDI3NwotICAgIDB4MS5mZjlmZjhjMmVhZWFlZTMwZmIyMTE3NjVhZjgzNTE3MXAtMSwKLSAgICAweDEuMzk5OTlhcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc4Ci0gICAgMHgxLmZmOWZmOGMyZWFlYWVlMzBmYjIxMTc2NWFmODM1MTcxcC0xLAotICAgIC0weDEuMzk5OTlhcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLmZmN2YzMmQ2ZWIxZjljZjkwMjI2ZWMyOTFjOWUwOTIycC0xLAotICAgIDB4MS42YjMzMzRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAweDEuZmY3ZjMyZDZlYjFmOWNmOTAyMjZlYzI5MWM5ZTA5MjJwLTEsCi0gICAgLTB4MS42YjMzMzRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODEKLSAgICAweDEuZmY1OWEwMGNjNGFkNDkyY2EyNTk3NDk1NDEyOTk4ZWRwLTEsCi0gICAgMHgxLjljY2NjZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDI4MgotICAgIDB4MS5mZjU5YTAwY2M0YWQ0OTJjYTI1OTc0OTU0MTI5OThlZHAtMSwKLSAgICAtMHgxLjljY2NjZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDI4MwotICAgIDB4MS5mZjJmNDBjMDhhY2Y0NTgwYThkMTMzODBkOTA3MzM5OHAtMSwKLSAgICAweDEuY2U2NjY2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg0Ci0gICAgMHgxLmZmMmY0MGMwOGFjZjQ1ODBhOGQxMzM4MGQ5MDczMzk4cC0xLAotICAgIC0weDEuY2U2NjY2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg1Ci0gICAgMHgxLjhjYTQ2Y2EwMTE3NzFiZmFlMGQ5ZWRiZjFkYWNiNDAycC0xLAotICAgIDB4MS41ZTdmYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODYKLSAgICAweDEuOGNhNDZjYTAxMTc3MWJmYWUwZDllZGJmMWRhY2I0MDJwLTEsCi0gICAgLTB4MS41ZTdmYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuMGI1ZDM4ZDVkODJlNGE3NjI0ZGFjNGUxMGNlMTU5YzJwLTIsCi0gICAgMHgxLjRlN2ZjNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgMHgxLjBiNWQzOGQ1ZDgyZTRhNzYyNGRhYzRlMTBjZTE1OWMycC0yLAotICAgIC0weDEuNGU3ZmM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAtMHgxLjY2Yjk2ZTIwNGU2OWNkYThlOWNmNTA5OTY0MzI1MzllcC0yLAotICAgIDB4MS5lZGJmYTZwMAotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIC0weDEuNjZiOTZlMjA0ZTY5Y2RhOGU5Y2Y1MDk5NjQzMjUzOWVwLTIsCi0gICAgLTB4MS5lZGJmYTZwMAotICB9LAotICB7IC8vIEVudHJ5IDI5MQotICAgIC0weDEuYTkzNTU0MGVkZWNhNGMyMjBlZDkxZGM1NDgxZTRkOWJwLTEsCi0gICAgMHgxLjQ2N2ZjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgLTB4MS5hOTM1NTQwZWRlY2E0YzIyMGVkOTFkYzU0ODFlNGQ5YnAtMSwKLSAgICAtMHgxLjQ2N2ZjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkzCi0gICAgLTB4MS5mZmMwMDE3ZGQ5MjA5ZGQ4ODkxZjE3ZmU0YzllZWU0NnAtMSwKLSAgICAweDEuOTYxZmI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTQKLSAgICAtMHgxLmZmYzAwMTdkZDkyMDlkZDg4OTFmMTdmZTRjOWVlZTQ2cC0xLAotICAgIC0weDEuOTYxZmI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTUKLSAgICAtMHgxLjk2OTA4MjAwNzczM2Q3ODdmNGMzNmJhMGY5NDI1Njk0cC0xLAotICAgIDB4MS5lNWJmYTRwMQotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIC0weDEuOTY5MDgyMDA3NzMzZDc4N2Y0YzM2YmEwZjk0MjU2OTRwLTEsCi0gICAgLTB4MS5lNWJmYTRwMQotICB9LAotICB7IC8vIEVudHJ5IDI5NwotICAgIC0weDEuMmExZTc0MjIzZDliZGRiN2RiNTlmNzgxZjk2YjY1ZWNwLTIsCi0gICAgMHgxLjFhYWZjYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgLTB4MS4yYTFlNzQyMjNkOWJkZGI3ZGI1OWY3ODFmOTZiNjVlY3AtMiwKLSAgICAtMHgxLjFhYWZjYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk5Ci0gICAgMHgxLjQ4OTRkNTBiODRkYmM5ODExMzRhNTkxYWM0MTY1ZDllcC0yLAotICAgIDB4MS40MjdmYzJwMgotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIDB4MS40ODk0ZDUwYjg0ZGJjOTgxMTM0YTU5MWFjNDE2NWQ5ZXAtMiwKLSAgICAtMHgxLjQyN2ZjMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAxCi0gICAgMHgxLmEwMTZkZDc0ODBhMWVlYTRkNDllZmI1ODVmYTQ5Yzg2cC0xLAotICAgIDB4MS42YTRmYmFwMgotICB9LAotICB7IC8vIEVudHJ5IDMwMgotICAgIDB4MS5hMDE2ZGQ3NDgwYTFlZWE0ZDQ5ZWZiNTg1ZmE0OWM4NnAtMSwKLSAgICAtMHgxLjZhNGZiYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLmEzMGE2YTNiZjRhM2UyYjdlMjc2NjZkM2E5YzNiNzRicC0xLAotICAgIDB4MS42YWYyZjBwMgotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIDB4MS5hMzBhNmEzYmY0YTNlMmI3ZTI3NjY2ZDNhOWMzYjc0YnAtMSwKLSAgICAtMHgxLjZhZjJmMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA1Ci0gICAgMHgxLjViZDYyNTUwNDAxNWNjYzEwMWU0ZjQzNDBkNGI3NjJicC0yLAotICAgIDB4MS40M2M2MmFwMgotICB9LAotICB7IC8vIEVudHJ5IDMwNgotICAgIDB4MS41YmQ2MjU1MDQwMTVjY2MxMDFlNGY0MzQwZDRiNzYyYnAtMiwKLSAgICAtMHgxLjQzYzYyYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA3Ci0gICAgLTB4MS4wY2I3MzM0NDhjMzBlZTNkZGZmYjRkYTY5ZjBiMzg0MnAtMiwKLSAgICAweDEuMWM5OTY0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICAtMHgxLjBjYjczMzQ0OGMzMGVlM2RkZmZiNGRhNjlmMGIzODQycC0yLAotICAgIC0weDEuMWM5OTY0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDkKLSAgICAtMHgxLjg5ZDg3NGFkMzBlM2ZiNDYyNDRkYWEyNDQ1MTY5MGQ3cC0xLAotICAgIDB4MS5lYWQ5M2NwMQotICB9LAotICB7IC8vIEVudHJ5IDMxMAotICAgIC0weDEuODlkODc0YWQzMGUzZmI0NjI0NGRhYTI0NDUxNjkwZDdwLTEsCi0gICAgLTB4MS5lYWQ5M2NwMQotICB9LAotICB7IC8vIEVudHJ5IDMxMQotICAgIC0weDEuZmU1MWFlMDlmMGQzOWVkNTU0ZTY4YmVmM2UyZjhhMDNwLTEsCi0gICAgMHgxLjljN2ZiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEyCi0gICAgLTB4MS5mZTUxYWUwOWYwZDM5ZWQ1NTRlNjhiZWYzZTJmOGEwM3AtMSwKLSAgICAtMHgxLjljN2ZiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgLTB4MS5iOTdiZjc2YWU3NjVlYjY5Y2Y1NWU4MGFhZTk3NzMwM3AtMSwKLSAgICAweDEuNGUyNjI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTQKLSAgICAtMHgxLmI5N2JmNzZhZTc2NWViNjljZjU1ZTgwYWFlOTc3MzAzcC0xLAotICAgIC0weDEuNGUyNjI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAtMHgxLmE4YWM1NzkzZTMyNjI5YjEzMTk4NGVjZmZkMmQwZjMxcC0yLAotICAgIDB4MS5mZjk5MzJwMAotICB9LAotICB7IC8vIEVudHJ5IDMxNgotICAgIC0weDEuYThhYzU3OTNlMzI2MjliMTMxOTg0ZWNmZmQyZDBmMzFwLTIsCi0gICAgLTB4MS5mZjk5MzJwMAotICB9LAotICB7IC8vIEVudHJ5IDMxNwotICAgIDB4MS43N2E5MmNhMDFiYzc5YzE5NWRkYTMzNzM2ODA3Zjk4NnAtMywKLSAgICAweDEuNjJlNjFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTgKLSAgICAweDEuNzdhOTJjYTAxYmM3OWMxOTVkZGEzMzczNjgwN2Y5ODZwLTMsCi0gICAgLTB4MS42MmU2MWNwMAotICB9LAotICB7IC8vIEVudHJ5IDMxOQotICAgIDB4MS42ZTEwNjAyODJjMTQ4OGQ5YWJkODNkYTFkNjhjZDBmN3AtMSwKLSAgICAweDEuOGM2NjJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLjZlMTA2MDI4MmMxNDg4ZDlhYmQ4M2RhMWQ2OGNkMGY3cC0xLAotICAgIC0weDEuOGM2NjJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgLTB4MS42ODJmMmJiODdhOGY1MDExNzM1MDk0MTc2YzliNmRhY3AtNCwKLSAgICAtMHgxLmE4YWExY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgLTB4MS42ODJmMmJiODdhOGY1MDExNzM1MDk0MTc2YzliNmRhY3AtNCwKLSAgICAweDEuYThhYTFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAtMHgxLmU2NjVjYjJhZjg0MmJlNWJhNWY2NTk2MDU5OWE5N2VjcC03LAotICAgIC0weDEuOTVlYzhhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjQKLSAgICAtMHgxLmU2NjVjYjJhZjg0MmJlNWJhNWY2NTk2MDU5OWE5N2VjcC03LAotICAgIDB4MS45NWVjOGFwMAotICB9LAotICB7IC8vIEVudHJ5IDMyNQotICAgIDB4MS5kZGQyMzE1MDFiMTJmY2YyYmMyMDYzM2JlNGQ1MWU1MXAtNSwKLSAgICAtMHgxLjgzMmVmOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI2Ci0gICAgMHgxLmRkZDIzMTUwMWIxMmZjZjJiYzIwNjMzYmU0ZDUxZTUxcC01LAotICAgIDB4MS44MzJlZjhwMAotICB9LAotICB7IC8vIEVudHJ5IDMyNwotICAgIDB4MS4wY2FiYTY5OTc2OTFhYjE5NzBkNDNjNzQxOWVkNTFlMXAtMywKLSAgICAtMHgxLjcwNzE2NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgMHgxLjBjYWJhNjk5NzY5MWFiMTk3MGQ0M2M3NDE5ZWQ1MWUxcC0zLAotICAgIDB4MS43MDcxNjZwMAotICB9LAotICB7IC8vIEVudHJ5IDMyOQotICAgIDB4MS5hMDcyNTQxZmQ2ZWFmOGI2NWE4NzRjNThkNmNjNTczOXAtMywKLSAgICAtMHgxLjVkYjNkNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMwCi0gICAgMHgxLmEwNzI1NDFmZDZlYWY4YjY1YTg3NGM1OGQ2Y2M1NzM5cC0zLAotICAgIDB4MS41ZGIzZDRwMAotICB9LAotICB7IC8vIEVudHJ5IDMzMQotICAgIDB4MS4xOGZlZjgxMDZiZWE2M2I5ZTk2YTdhZGY1MzhjNjE5NHAtMiwKLSAgICAtMHgxLjRhZjY0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgMHgxLjE4ZmVmODEwNmJlYTYzYjllOTZhN2FkZjUzOGM2MTk0cC0yLAotICAgIDB4MS40YWY2NDJwMAotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIDB4MS42MDQzNzI3N2Q0ODA2N2U4NTIzMGJjZTE4ODNlYWFiYXAtMiwKLSAgICAtMHgxLjM4MzhiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM0Ci0gICAgMHgxLjYwNDM3Mjc3ZDQ4MDY3ZTg1MjMwYmNlMTg4M2VhYWJhcC0yLAotICAgIDB4MS4zODM4YjBwMAotICB9LAotICB7IC8vIEVudHJ5IDMzNQotICAgIDB4MS5hNWE0ZGVkNDkyYmVkZmU4Y2Y1YzM0Y2FkZDc4ZGY3NXAtMiwKLSAgICAtMHgxLjI1N2IxZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM2Ci0gICAgMHgxLmE1YTRkZWQ0OTJiZWRmZThjZjVjMzRjYWRkNzhkZjc1cC0yLAotICAgIDB4MS4yNTdiMWVwMAotICB9LAotICB7IC8vIEVudHJ5IDMzNwotICAgIDB4MS5lOGM0MDQwNjc4ZDJlZjczNjMzM2E0NTM3YTExMTNhMXAtMiwKLSAgICAtMHgxLjEyYmQ5MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgMHgxLmU4YzQwNDA2NzhkMmVmNzM2MzMzYTQ1MzdhMTExM2ExcC0yLAotICAgIDB4MS4xMmJkOTJwMAotICB9LAotICB7IC8vIEVudHJ5IDMzOQotICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKLSAgICAtMHgxLmVhNWMzZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM0MAotICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKLSAgICAweDEuZWE1YzNlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQxCi0gICAgMHgxLjM4MDVhMmRhZmRhN2Y4NTU0YWVjNjVkYWIzNDhhNzE0cC0xLAotICAgIC0weDEuZDRiODdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQyCi0gICAgMHgxLjM4MDVhMmRhZmRhN2Y4NTU0YWVjNjVkYWIzNDhhNzE0cC0xLAotICAgIDB4MS5kNGI4N2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDMKLSAgICAweDEuNDhlNTJmZjViYmU3OTQ2MThiODUxOTBiODY0MTE4MjRwLTEsCi0gICAgLTB4MS5iZjE0YmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDQKLSAgICAweDEuNDhlNTJmZjViYmU3OTQ2MThiODUxOTBiODY0MTE4MjRwLTEsCi0gICAgMHgxLmJmMTRiYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM0NQotICAgIDB4MS41OTJlNWI2MTVlZjVhZTQ2Mzk3NmQzMTE0MWRiYWNmMHAtMSwKLSAgICAtMHgxLmE5NzBmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM0NgotICAgIDB4MS41OTJlNWI2MTVlZjVhZTQ2Mzk3NmQzMTE0MWRiYWNmMHAtMSwKLSAgICAweDEuYTk3MGY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ3Ci0gICAgMHgxLjY4ZDliMmQ2NTdlNDMwN2QzMzFlYjdiZDM1ZWUxODc5cC0xLAotICAgIC0weDEuOTNjZDM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ4Ci0gICAgMHgxLjY4ZDliMmQ2NTdlNDMwN2QzMzFlYjdiZDM1ZWUxODc5cC0xLAotICAgIDB4MS45M2NkMzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDkKLSAgICAweDEuNzdlMDBjMzcxODUyOGMzNmY3MjJlNjMwOTZjMjY0NmJwLTEsCi0gICAgLTB4MS43ZTI5NzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTAKLSAgICAweDEuNzdlMDBjMzcxODUyOGMzNmY3MjJlNjMwOTZjMjY0NmJwLTEsCi0gICAgMHgxLjdlMjk3NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1MQotICAgIDB4MS44NjNhODhkNmIwNjRmMzZmMzQzNzA3MjJkMzYxY2U5ZnAtMSwKLSAgICAtMHgxLjY4ODViMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1MgotICAgIDB4MS44NjNhODhkNmIwNjRmMzZmMzQzNzA3MjJkMzYxY2U5ZnAtMSwKLSAgICAweDEuNjg4NWIycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUzCi0gICAgMHgxLjkzZTI5ODljZWU2MDg0ZTM0YjUzM2IxZWI5Mjc0NmRhcC0xLAotICAgIC0weDEuNTJlMWYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU0Ci0gICAgMHgxLjkzZTI5ODljZWU2MDg0ZTM0YjUzM2IxZWI5Mjc0NmRhcC0xLAotICAgIDB4MS41MmUxZjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTUKLSAgICAweDEuYTBkMWY4NjEzZWJjNjBjN2VlNjUwMmVlMTgzYzg5ZTdwLTEsCi0gICAgLTB4MS4zZDNlMzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTYKLSAgICAweDEuYTBkMWY4NjEzZWJjNjBjN2VlNjUwMmVlMTgzYzg5ZTdwLTEsCi0gICAgMHgxLjNkM2UzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1NwotICAgIDB4MS5iYzZiZDg4OWE4YTU5ZGJiNTZlNTQ2YTM3YWU3OThmNXAtMSwKLSAgICAtMHgxLjBhMGIwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1OAotICAgIDB4MS5iYzZiZDg4OWE4YTU5ZGJiNTZlNTQ2YTM3YWU3OThmNXAtMSwKLSAgICAweDEuMGEwYjAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU5Ci0gICAgMHgxLmNhNTljNzE5Zjk2MDc1ZGQ2YjdhMGZmNDQzYWQ1OWRjcC0xLAotICAgIC0weDEuZDhmNzIwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYwCi0gICAgMHgxLmNhNTljNzE5Zjk2MDc1ZGQ2YjdhMGZmNDQzYWQ1OWRjcC0xLAotICAgIDB4MS5kOGY3MjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjEKLSAgICAweDEuZDZjMGIxM2RmOTk2MTNhNDkzMDZiNGRjNmM1N2FhMDNwLTEsCi0gICAgLTB4MS45ZGQ4M2NwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjIKLSAgICAweDEuZDZjMGIxM2RmOTk2MTNhNDkzMDZiNGRjNmM1N2FhMDNwLTEsCi0gICAgMHgxLjlkZDgzY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDM2MwotICAgIDB4MS5lMTk2MDI3M2E0YWFhMWJkMTllZjBjY2FhODg3NDE4M3AtMSwKLSAgICAtMHgxLjYyYjk1OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM2NAotICAgIDB4MS5lMTk2MDI3M2E0YWFhMWJkMTllZjBjY2FhODg3NDE4M3AtMSwKLSAgICAweDEuNjJiOTU4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY1Ci0gICAgMHgxLmVhZDA3Y2QyZTBmN2YxOTY3OTY0NjM2MmJiYzBlYjgwcC0xLAotICAgIC0weDEuMjc5YTc0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY2Ci0gICAgMHgxLmVhZDA3Y2QyZTBmN2YxOTY3OTY0NjM2MmJiYzBlYjgwcC0xLAotICAgIDB4MS4yNzlhNzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjcKLSAgICAweDEuZjI2ODQwZWZkODZjZWVhMjNmMzg4YjZhMTEwMmVhNGRwLTEsCi0gICAgLTB4MS5kOGY3MjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjgKLSAgICAweDEuZjI2ODQwZWZkODZjZWVhMjNmMzg4YjZhMTEwMmVhNGRwLTEsCi0gICAgMHgxLmQ4ZjcyMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM2OQotICAgIDB4MS5mODU2ZDQ5MjUxYmQzN2M1NGYwMDk0MjcwZWVjYmQxOHAtMSwKLSAgICAtMHgxLjYyYjk1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIDB4MS5mODU2ZDQ5MjUxYmQzN2M1NGYwMDk0MjcwZWVjYmQxOHAtMSwKLSAgICAweDEuNjJiOTU4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcxCi0gICAgMHgxLmZjOTcyODNjNGY1YmQxZjc5MzIwMTk3MmI4ZGI1NTFmcC0xLAotICAgIC0weDEuZDhmNzIwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcyCi0gICAgMHgxLmZjOTcyODNjNGY1YmQxZjc5MzIwMTk3MmI4ZGI1NTFmcC0xLAotICAgIDB4MS5kOGY3MjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzMKLSAgICAweDEuZmYyNTliN2IzZDcyMWVkZjA2M2E1YmY2ZTdhMWY5M2NwLTEsCi0gICAgLTB4MS5kOGY3MjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzQKLSAgICAweDEuZmYyNTliN2IzZDcyMWVkZjA2M2E1YmY2ZTdhMWY5M2NwLTEsCi0gICAgMHgxLmQ4ZjcyMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDM3NQotICAgIDB4MS5mZjI1OWI3YjNkNzIxZWRmMDYzYTViZjZlN2ExZjkzY3AtMSwKLSAgICAweDEuZDhmNzIwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc2Ci0gICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAotICAgIC0weDEuZDhmNzIwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc3Ci0gICAgMHgxLmZjOTcyODNjNGY1YmQxZjc5MzIwMTk3MmI4ZGI1NTFmcC0xLAotICAgIDB4MS5kOGY3MjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzgKLSAgICAweDEuZmM5NzI4M2M0ZjViZDFmNzkzMjAxOTcyYjhkYjU1MWZwLTEsCi0gICAgLTB4MS5kOGY3MjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzkKLSAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCi0gICAgMHgxLjYyYjk1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM4MAotICAgIDB4MS5mODU2ZDQ5MjUxYmQzN2M1NGYwMDk0MjcwZWVjYmQxOHAtMSwKLSAgICAtMHgxLjYyYjk1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM4MQotICAgIDB4MS5mMjY4NDBlZmQ4NmNlZWEyM2YzODhiNmExMTAyZWE0ZHAtMSwKLSAgICAweDEuZDhmNzIwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgyCi0gICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAotICAgIC0weDEuZDhmNzIwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgzCi0gICAgMHgxLmVhZDA3Y2QyZTBmN2YxOTY3OTY0NjM2MmJiYzBlYjgwcC0xLAotICAgIDB4MS4yNzlhNzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODQKLSAgICAweDEuZWFkMDdjZDJlMGY3ZjE5Njc5NjQ2MzYyYmJjMGViODBwLTEsCi0gICAgLTB4MS4yNzlhNzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODUKLSAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCi0gICAgMHgxLjYyYjk1OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM4NgotICAgIDB4MS5lMTk2MDI3M2E0YWFhMWJkMTllZjBjY2FhODg3NDE4M3AtMSwKLSAgICAtMHgxLjYyYjk1OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM4NwotICAgIDB4MS5kNmMwYjEzZGY5OTYxM2E0OTMwNmI0ZGM2YzU3YWEwM3AtMSwKLSAgICAweDEuOWRkODNjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg4Ci0gICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAotICAgIC0weDEuOWRkODNjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg5Ci0gICAgMHgxLmNhNTljNzE5Zjk2MDc1ZGQ2YjdhMGZmNDQzYWQ1OWRjcC0xLAotICAgIDB4MS5kOGY3MjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTAKLSAgICAweDEuY2E1OWM3MTlmOTYwNzVkZDZiN2EwZmY0NDNhZDU5ZGNwLTEsCi0gICAgLTB4MS5kOGY3MjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTEKLSAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCi0gICAgMHgxLjBhMGIwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5MgotICAgIDB4MS5iYzZiZDg4OWE4YTU5ZGJiNTZlNTQ2YTM3YWU3OThmNXAtMSwKLSAgICAtMHgxLjBhMGIwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5MwotICAgIDB4MS5hMGQxZjg2MTNlYmM2MGM3ZWU2NTAyZWUxODNjODllN3AtMSwKLSAgICAweDEuM2QzZTM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk0Ci0gICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAotICAgIC0weDEuM2QzZTM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk1Ci0gICAgMHgxLjkzZTI5M2IyM2E2YWExYWU1MzczMjE0ZWI4ZmI5ZTk2cC0xLAotICAgIDB4MS41MmUxZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTYKLSAgICAweDEuOTNlMjkzYjIzYTZhYTFhZTUzNzMyMTRlYjhmYjllOTZwLTEsCi0gICAgLTB4MS41MmUxZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTcKLSAgICAweDEuODYzYTgzYThkOTgyNmM2MTM1NTA5NDA2ZWJlMDVjMGZwLTEsCi0gICAgMHgxLjY4ODViYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5OAotICAgIDB4MS44NjNhODNhOGQ5ODI2YzYxMzU1MDk0MDZlYmUwNWMwZnAtMSwKLSAgICAtMHgxLjY4ODViYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5OQotICAgIDB4MS43N2UwMDZjODdjYmFkZWQ2NmVjNWI5NjBjOTNjNTY4YXAtMSwKLSAgICAweDEuN2UyOTdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAwCi0gICAgMHgxLjc3ZTAwNmM4N2NiYWRlZDY2ZWM1Yjk2MGM5M2M1NjhhcC0xLAotICAgIC0weDEuN2UyOTdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAxCi0gICAgMHgxLjY4ZDlhZDI5NzM2YzE3MDRjYWVhNmEyZGI2ZTcxMjIzcC0xLAotICAgIDB4MS45M2NkM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDIKLSAgICAweDEuNjhkOWFkMjk3MzZjMTcwNGNhZWE2YTJkYjZlNzEyMjNwLTEsCi0gICAgLTB4MS45M2NkM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDMKLSAgICAweDEuNTkyZTU1NzhjOWVjNjZhY2NlZGRkNGRjNmNlNjZiMjZwLTEsCi0gICAgMHgxLmE5NzFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDQKLSAgICAweDEuNTkyZTU1NzhjOWVjNjZhY2NlZGRkNGRjNmNlNjZiMjZwLTEsCi0gICAgLTB4MS5hOTcxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA1Ci0gICAgMHgxLjQ4ZTUyOWQ0MjllNzIxZWM4YmIxZTAxNGY5NGQ0OGYxcC0xLAotICAgIDB4MS5iZjE0YzJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDYKLSAgICAweDEuNDhlNTI5ZDQyOWU3MjFlYzhiYjFlMDE0Zjk0ZDQ4ZjFwLTEsCi0gICAgLTB4MS5iZjE0YzJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDcKLSAgICAweDEuMzgwNTljODMzYzU4ZWE5NzBmN2I5NmQ2YWRhM2Q5YzRwLTEsCi0gICAgMHgxLmQ0Yjg4NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQwOAotICAgIDB4MS4zODA1OWM4MzNjNThlYTk3MGY3Yjk2ZDZhZGEzZDljNHAtMSwKLSAgICAtMHgxLmQ0Yjg4NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQwOQotICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKLSAgICAweDEuZWE1YzNlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEwCi0gICAgMHgxLjI2OTc2YjFiMTZkMTkwOTFjMDkyNTk3NjVjNGIzODcycC0xLAotICAgIC0weDEuZWE1YzNlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDExCi0gICAgMHgxLmU4YzQwNDA2NzhkMmVmNzM2MzMzYTQ1MzdhMTExM2ExcC0yLAotICAgIDB4MS4xMmJkOTJwMAotICB9LAotICB7IC8vIEVudHJ5IDQxMgotICAgIDB4MS5lOGM0MDQwNjc4ZDJlZjczNjMzM2E0NTM3YTExMTNhMXAtMiwKLSAgICAtMHgxLjEyYmQ5MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEzCi0gICAgMHgxLmE1YTRjOGY1OThmYTAwNzg5NzEzMTZlYjQ5MDdmOTdicC0yLAotICAgIDB4MS4yNTdiMjRwMAotICB9LAotICB7IC8vIEVudHJ5IDQxNAotICAgIDB4MS5hNWE0YzhmNTk4ZmEwMDc4OTcxMzE2ZWI0OTA3Zjk3YnAtMiwKLSAgICAtMHgxLjI1N2IyNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE1Ci0gICAgMHgxLjYwNDM1YmVlZDEwY2EwNTc2OWYwYTNkODZhNWEyMGYzcC0yLAotICAgIDB4MS4zODM4YjZwMAotICB9LAotICB7IC8vIEVudHJ5IDQxNgotICAgIDB4MS42MDQzNWJlZWQxMGNhMDU3NjlmMGEzZDg2YTVhMjBmM3AtMiwKLSAgICAtMHgxLjM4MzhiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE3Ci0gICAgMHgxLjE4ZmVlMGZjNDVjMzFhNzliMmI5NDc4YjFmNzJhOWVicC0yLAotICAgIDB4MS40YWY2NDhwMAotICB9LAotICB7IC8vIEVudHJ5IDQxOAotICAgIDB4MS4xOGZlZTBmYzQ1YzMxYTc5YjJiOTQ3OGIxZjcyYTllYnAtMiwKLSAgICAtMHgxLjRhZjY0OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE5Ci0gICAgMHgxLmEwNzIyNTIwOTBjMzM4Mjg3NjdhZWUzZTA0MGNjZGRmcC0zLAotICAgIDB4MS41ZGIzZGFwMAotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIDB4MS5hMDcyMjUyMDkwYzMzODI4NzY3YWVlM2UwNDBjY2RkZnAtMywKLSAgICAtMHgxLjVkYjNkYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIxCi0gICAgMHgxLjBjYWI3NzAzYThlOWRhY2M0YWQwMTE4OGI0NDNjZmVlcC0zLAotICAgIDB4MS43MDcxNmNwMAotICB9LAotICB7IC8vIEVudHJ5IDQyMgotICAgIDB4MS4wY2FiNzcwM2E4ZTlkYWNjNGFkMDExODhiNDQzY2ZlZXAtMywKLSAgICAtMHgxLjcwNzE2Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIzCi0gICAgMHgxLmRkZDE3MWEzYzk4NTFlNzgxOWI1ZTRmNmY5MGU3NjNkcC01LAotICAgIDB4MS44MzJlZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDQyNAotICAgIDB4MS5kZGQxNzFhM2M5ODUxZTc4MTliNWU0ZjZmOTBlNzYzZHAtNSwKLSAgICAtMHgxLjgzMmVmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI1Ci0gICAgLTB4MS5lNjY4Y2IxNTRlZWE2OGJiYzdmODE1NGY0NmIyZTUzNnAtNywKLSAgICAweDEuOTVlYzkwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjYKLSAgICAtMHgxLmU2NjhjYjE1NGVlYTY4YmJjN2Y4MTU0ZjQ2YjJlNTM2cC03LAotICAgIC0weDEuOTVlYzkwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjcKLSAgICAtMHgxLjY4MmYyYmI4N2E4ZjUwMTE3MzUwOTQxNzZjOWI2ZGFjcC00LAotICAgIDB4MS5hOGFhMWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQyOAotICAgIC0weDEuNjgyZjJiYjg3YThmNTAxMTczNTA5NDE3NmM5YjZkYWNwLTQsCi0gICAgLTB4MS5hOGFhMWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQyOQotICAgIDB4MS4wY2IzNDQ5YTBkMGE5ZTA2NDNkNDFmNGE1YjBmN2RiN3AtMSwKLSAgICAweDEuMDRhZmY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzAKLSAgICAweDEuMGNiMzQ0OWEwZDBhOWUwNjQzZDQxZjRhNWIwZjdkYjdwLTEsCi0gICAgLTB4MS4wNGFmZjhwMAotICB9LAotICB7IC8vIEVudHJ5IDQzMQotICAgIDB4MS4wY2IyMjY5NzE1M2JjZjFmOGE2M2FjZGRkOTZjNTRjYnAtMSwKLSAgICAweDEuMDRiMGEwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzIKLSAgICAweDEuMGNiMjI2OTcxNTNiY2YxZjhhNjNhY2RkZDk2YzU0Y2JwLTEsCi0gICAgLTB4MS4wNGIwYTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQzMwotICAgIDB4MS4wY2IxMDg5M2E5YjU0NzFhNDQzNTYwNzJjYjMzYjM5NXAtMSwKLSAgICAweDEuMDRiMTQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzQKLSAgICAweDEuMGNiMTA4OTNhOWI1NDcxYTQ0MzU2MDcyY2IzM2IzOTVwLTEsCi0gICAgLTB4MS4wNGIxNDhwMAotICB9LAotICB7IC8vIEVudHJ5IDQzNQotICAgIDB4MS4wY2FmZWE4ZmNhNzc4MTIzNmE1N2U1YjFjOGFlZDM5Y3AtMSwKLSAgICAweDEuMDRiMWYwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzYKLSAgICAweDEuMGNhZmVhOGZjYTc3ODEyMzZhNTdlNWIxYzhhZWQzOWNwLTEsCi0gICAgLTB4MS4wNGIxZjBwMAotICB9LAotICB7IC8vIEVudHJ5IDQzNwotICAgIDB4MS4wY2FlY2M4Yjc3ODJmODY4MjdhZjkyYjBiMjM3NDUxMHAtMSwKLSAgICAweDEuMDRiMjk4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAweDEuMGNhZWNjOGI3NzgyZjg2ODI3YWY5MmIwYjIzNzQ1MTBwLTEsCi0gICAgLTB4MS4wNGIyOThwMAotICB9LAotICB7IC8vIEVudHJ5IDQzOQotICAgIDB4MS4wY2FkYWU4NmIwZDgyODE1ZDhmNjMyZTY3YzdlMWE5OXAtMSwKLSAgICAweDEuMDRiMzQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDAKLSAgICAweDEuMGNhZGFlODZiMGQ4MjgxNWQ4ZjYzMmU2N2M3ZTFhOTlwLTEsCi0gICAgLTB4MS4wNGIzNDBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MQotICAgIDB4MS4wY2FjOTA4MTc2Nzc4YjVhMGNiYWQyMWVlNzVjZTc2NXAtMSwKLSAgICAweDEuMDRiM2U4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDIKLSAgICAweDEuMGNhYzkwODE3Njc3OGI1YTBjYmFkMjFlZTc1Y2U3NjVwLTEsCi0gICAgLTB4MS4wNGIzZThwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MwotICAgIDB4MS4wY2FiNzI3YmM4NjE5ZDYyODM2MTg3NmUxZjMwYTYzM3AtMSwKLSAgICAweDEuMDRiNDkwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDQKLSAgICAweDEuMGNhYjcyN2JjODYxOWQ2MjgzNjE4NzZlMWYzMGE2MzNwLTEsCi0gICAgLTB4MS4wNGI0OTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0NQotICAgIDB4MS4wY2FhNWI0NTBhNDMyNGYyMDRhNTU2YjA3MmRhMTI0YXAtMSwKLSAgICAweDEuMDRiNTM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDYKLSAgICAweDEuMGNhYTViNDUwYTQzMjRmMjA0YTU1NmIwNzJkYTEyNGFwLTEsCi0gICAgLTB4MS4wNGI1MzRwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0NwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQ4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDQ0OQotICAgIDB4MS5wMCwKLSAgICAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDUxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTIKLSAgICAweDEuYWQwMmM4YjljYzkzZjQ0OGVmNGViMDY4YTg4OTIyYTNwLTEsCi0gICAgMHgxLjI3OWE3MnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1MwotICAgIDB4MS5hZDAyYzhiOWNjOTNmNDQ4ZWY0ZWIwNjhhODg5MjJhM3AtMSwKLSAgICAtMHgxLjI3OWE3MnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1NAotICAgIDB4MS5hZDAyYzdhMjU4YmZiMzYyYWJiZTg2ZmI0OGY0ZTk4YnAtMSwKLSAgICAweDEuMjc5YTc0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU1Ci0gICAgMHgxLmFkMDJjN2EyNThiZmIzNjJhYmJlODZmYjQ4ZjRlOThicC0xLAotICAgIC0weDEuMjc5YTc0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU2Ci0gICAgMHgxLmFkMDJjNjhhZTRlOWM1NzlhMDhjMDRjZTU5YmU0MDAycC0xLAotICAgIDB4MS4yNzlhNzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTcKLSAgICAweDEuYWQwMmM2OGFlNGU5YzU3OWEwOGMwNGNlNTliZTQwMDJwLTEsCi0gICAgLTB4MS4yNzlhNzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTgKLSAgICAtMHgxLjQ4ZDFjOWU5OGI2YzA4Nzg0ZjEwMDQwZjQ3YTEyMTkxcC0zLAotICAgIDB4MS5iYjY3YWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1OQotICAgIC0weDEuNDhkMWM5ZTk4YjZjMDg3ODRmMTAwNDBmNDdhMTIxOTFwLTMsCi0gICAgLTB4MS5iYjY3YWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ2MAotICAgIC0weDEuNDhkMWQ5YjQ2N2UzNzk1NTMzNzMxMWRlY2QwOWZjNzRwLTMsCi0gICAgMHgxLmJiNjdhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYxCi0gICAgLTB4MS40OGQxZDliNDY3ZTM3OTU1MzM3MzExZGVjZDA5ZmM3NHAtMywKLSAgICAtMHgxLmJiNjdhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYyCi0gICAgLTB4MS40OGQxZTk3ZjQ0NTVjNmVhYjEwNDgwMjIyMzhiMmJkMHAtMywKLSAgICAweDEuYmI2N2IwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjMKLSAgICAtMHgxLjQ4ZDFlOTdmNDQ1NWM2ZWFiMTA0ODAyMjIzOGIyYmQwcC0zLAotICAgIC0weDEuYmI2N2IwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICAweDEuY2ZjNmQwMTFhMGU1ZDBmY2ViYjU0YjVmZWQ2NzI5NDBwLTEsCi0gICAgMHgxLmJmZmZmZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ2NQotICAgIDB4MS5jZmM2ZDAxMWEwZTVkMGZjZWJiNTRiNWZlZDY3Mjk0MHAtMSwKLSAgICAtMHgxLmJmZmZmZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ2NgotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKLSAgICAweDEuYzBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjcKLSAgICAweDEuY2ZjNmNmYTUyYWQ5ZjYyZDZkNTQyM2NhODMzOWEwMGFwLTEsCi0gICAgLTB4MS5jMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ2OAotICAgIDB4MS5jZmM2Y2YzOGI0Y2RhNzZjM2IwOWIxN2U5ZGViMTllYXAtMSwKLSAgICAweDEuYzAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY5Ci0gICAgMHgxLmNmYzZjZjM4YjRjZGE3NmMzYjA5YjE3ZTlkZWIxOWVhcC0xLAotICAgIC0weDEuYzAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcwCi0gICAgMHgxLjhiYjEwNmVhYzdjNzVkMzNmYmIxOTQ0NjMxM2VjYzJmcC0xLAotICAgIDB4MS41ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzEKLSAgICAweDEuOGJiMTA2ZWFjN2M3NWQzM2ZiYjE5NDQ2MzEzZWNjMmZwLTEsCi0gICAgLTB4MS41ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzIKLSAgICAweDEuOGJiMTA1YTVkYzkwMDYxOGY4MGZhNTFkMzAzYzY5cC0xLAotICAgIDB4MS42MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ3MwotICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCi0gICAgLTB4MS42MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ3NAotICAgIDB4MS44YmIxMDQ2MGYxNTcyMzRjZWVjN2Q5NjQ0YTFhNzhlNXAtMSwKLSAgICAweDEuNjAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc1Ci0gICAgMHgxLjhiYjEwNDYwZjE1NzIzNGNlZWM3ZDk2NDRhMWE3OGU1cC0xLAotICAgIC0weDEuNjAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc2Ci0gICAgMHgxLjdlZjQ4YjlhNmZkNWMyNGY1ZWMzOTgzOWUxNzI5Yjc4cC0yLAotICAgIDB4MS4yZmZmZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDQ3NwotICAgIDB4MS43ZWY0OGI5YTZmZDVjMjRmNWVjMzk4MzllMTcyOWI3OHAtMiwKLSAgICAtMHgxLjJmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc4Ci0gICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAotICAgIDB4MS4zMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc5Ci0gICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAotICAgIC0weDEuMzBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ4MAotICAgIDB4MS43ZWY0N2NjM2E3YmRlZGY5MjUyMDc0MjYzZDhhNDU5NnAtMiwKLSAgICAweDEuMzAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODEKLSAgICAweDEuN2VmNDdjYzNhN2JkZWRmOTI1MjA3NDI2M2Q4YTQ1OTZwLTIsCi0gICAgLTB4MS4zMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDQ4MgotICAgIC0weDEuODYzZWY1MDg1YmNjMzU4ZDJhZTg1MjViZjM5ZjBjNDBwLTEsCi0gICAgMHgxLjM3ZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgzCi0gICAgLTB4MS44NjNlZjUwODViY2MzNThkMmFlODUyNWJmMzlmMGM0MHAtMSwKLSAgICAtMHgxLjM3ZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg0Ci0gICAgLTB4MS44NjNlZmEzNjFkYzI1MmJjYTFlYWVlZDM5NzQ5YmVkN3AtMSwKLSAgICAweDEuMzhwMQotICB9LAotICB7IC8vIEVudHJ5IDQ4NQotICAgIC0weDEuODYzZWZhMzYxZGMyNTJiY2ExZWFlZWQzOTc0OWJlZDdwLTEsCi0gICAgLTB4MS4zOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg2Ci0gICAgLTB4MS44NjNlZmY2M2RmYTAwYmZjNzU4YmFmNDY5NDY5ZDc0MXAtMSwKLSAgICAweDEuMzgwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODcKLSAgICAtMHgxLjg2M2VmZjYzZGZhMDBiZmM3NThiYWY0Njk0NjlkNzQxcC0xLAotICAgIC0weDEuMzgwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODgKLSAgICAweDEuZmVmMmIyZDBhMTBlMjczOWM1NjY5MzY0ODBhMTQ3OWJwLTEsCi0gICAgMHgxLjA2OWM4Y3AtNAotICB9LAotICB7IC8vIEVudHJ5IDQ4OQotICAgIDB4MS5mZWYyYjJkMGExMGUyNzM5YzU2NjkzNjQ4MGExNDc5YnAtMSwKLSAgICAtMHgxLjA2OWM4Y3AtNAotICB9LAotICB7IC8vIEVudHJ5IDQ5MAotICAgIDB4MS5mYmNiZTY4ZGQxMGJhZDBhMjI5Y2NiYjU4MGNjNTQzNnAtMSwKLSAgICAweDEuMDY5YzhjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkxCi0gICAgMHgxLmZiY2JlNjhkZDEwYmFkMGEyMjljY2JiNTgwY2M1NDM2cC0xLAotICAgIC0weDEuMDY5YzhjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkyCi0gICAgMHgxLmY2OGVlYmVmNzJlN2Y2MTI2YjNmM2RkZTY0NmE3NTVjcC0xLAotICAgIDB4MS44OWVhZDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTMKLSAgICAweDEuZjY4ZWViZWY3MmU3ZjYxMjZiM2YzZGRlNjQ2YTc1NWNwLTEsCi0gICAgLTB4MS44OWVhZDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTQKLSAgICAweDEuZWY0MTQ1OWQyZTkwZWExYjdmYWFkN2ZhYmQxZmQ0NDRwLTEsCi0gICAgMHgxLjA2OWM4Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDQ5NQotICAgIDB4MS5lZjQxNDU5ZDJlOTBlYTFiN2ZhYWQ3ZmFiZDFmZDQ0NHAtMSwKLSAgICAtMHgxLjA2OWM4Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDQ5NgotICAgIDB4MS5lNWVhYTIzYTI3ZmU4ZDY4OTBhM2VkYWNlMWM2MTk5OHAtMSwKLSAgICAweDEuNDg0M2IwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk3Ci0gICAgMHgxLmU1ZWFhMjNhMjdmZThkNjg5MGEzZWRhY2UxYzYxOTk4cC0xLAotICAgIC0weDEuNDg0M2IwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk4Ci0gICAgMHgxLmRhOTRkNGI5OWMzYTlhNWUwZDFmYzg2ZDUzMzY5YTg0cC0xLAotICAgIDB4MS44OWVhZDRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTkKLSAgICAweDEuZGE5NGQ0Yjk5YzNhOWE1ZTBkMWZjODZkNTMzNjlhODRwLTEsCi0gICAgLTB4MS44OWVhZDRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDAKLSAgICAweDEuY2Q0YmM5YWZjMDEyMzBiMmY5ODJmNjk2OGRhYjdmMDVwLTEsCi0gICAgMHgxLmNiOTFmOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUwMQotICAgIDB4MS5jZDRiYzlhZmMwMTIzMGIyZjk4MmY2OTY4ZGFiN2YwNXAtMSwKLSAgICAtMHgxLmNiOTFmOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUwMgotICAgIDB4MS5iZTFkN2FkZjA3N2RlZjJhMzYwZmVjMjNkYmJjZWYwOXAtMSwKLSAgICAweDEuMDY5YzhlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAzCi0gICAgMHgxLmJlMWQ3YWRmMDc3ZGVmMmEzNjBmZWMyM2RiYmNlZjA5cC0xLAotICAgIC0weDEuMDY5YzhlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA0Ci0gICAgMHgxLmFkMTllMDg0N2QyNWYzYWExNDIyODlkYWI1NTdiZjk2cC0xLAotICAgIDB4MS4yNzcwMjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDUKLSAgICAweDEuYWQxOWUwODQ3ZDI1ZjNhYTE0MjI4OWRhYjU1N2JmOTZwLTEsCi0gICAgLTB4MS4yNzcwMjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDYKLSAgICAweDEuOWE1MmUwOGIxOTFiZDU1NTEyYzgzNjUwNzRmMTk4N2ZwLTEsCi0gICAgMHgxLjQ4NDNiMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUwNwotICAgIDB4MS45YTUyZTA4YjE5MWJkNTU1MTJjODM2NTA3NGYxOTg3ZnAtMSwKLSAgICAtMHgxLjQ4NDNiMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIDB4MS44NWRjM2JiN2MyZTlhYmI1Y2NjYjZkOTZkMTJkMzljNHAtMSwKLSAgICAweDEuNjkxNzQ0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA5Ci0gICAgMHgxLjg1ZGMzYmI3YzJlOWFiYjVjY2NiNmQ5NmQxMmQzOWM0cC0xLAotICAgIC0weDEuNjkxNzQ0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEwCi0gICAgMHgxLjZmY2I3OGUxY2Q2NWQyZTRmZGU3MTE4Y2FhYzc5ZDZkcC0xLAotICAgIDB4MS44OWVhZDZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTEKLSAgICAweDEuNmZjYjc4ZTFjZDY1ZDJlNGZkZTcxMThjYWFjNzlkNmRwLTEsCi0gICAgLTB4MS44OWVhZDZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTIKLSAgICAweDEuNTgzN2NlNGRjODM1ZDRhNTQ1NGVjMGExYmIzOTQwODFwLTEsCi0gICAgMHgxLmFhYmU2OHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUxMwotICAgIDB4MS41ODM3Y2U0ZGM4MzVkNGE1NDU0ZWMwYTFiYjM5NDA4MXAtMSwKLSAgICAtMHgxLmFhYmU2OHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUxNAotICAgIDB4MS4zZjNhMDk0Mjc5NjZlOTUxODgwMmRlZTNiZjQ0M2E5NXAtMSwKLSAgICAweDEuY2I5MWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE1Ci0gICAgMHgxLjNmM2EwOTQyNzk2NmU5NTE4ODAyZGVlM2JmNDQzYTk1cC0xLAotICAgIC0weDEuY2I5MWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE2Ci0gICAgMHgxLjI0ZWM3M2YxYWVlZjQ5NDBiYjhkYTE5YTgyYmJjNDlmcC0xLAotICAgIDB4MS5lYzY1OGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTcKLSAgICAweDEuMjRlYzczZjFhZWVmNDk0MGJiOGRhMTlhODJiYmM0OWZwLTEsCi0gICAgLTB4MS5lYzY1OGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTgKLSAgICAweDEuMDk2YWJiODYyZjliZDU1MTU5ODJjMjgxOGMzMzJmZjlwLTEsCi0gICAgMHgxLjA2OWM4ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE5Ci0gICAgMHgxLjA5NmFiYjg2MmY5YmQ1NTE1OTgyYzI4MThjMzMyZmY5cC0xLAotICAgIC0weDEuMDY5YzhlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjAKLSAgICAweDEuZDlhMzljMGRkZGM2NTRjNzE3ZTMwMzZkYTVkZDY4NWNwLTIsCi0gICAgMHgxLjE3MDY1NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIxCi0gICAgMHgxLmQ5YTM5YzBkZGRjNjU0YzcxN2UzMDM2ZGE1ZGQ2ODVjcC0yLAotICAgIC0weDEuMTcwNjU2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAweDEuOWU3ZjgxODQwYzBiYmQwZjFiMTM3MzMwNjEwNjJkMzRwLTIsCi0gICAgMHgxLjI3NzAxZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgMHgxLjllN2Y4MTg0MGMwYmJkMGYxYjEzNzMzMDYxMDYyZDM0cC0yLAotICAgIC0weDEuMjc3MDFlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjQKLSAgICAweDEuNjFhNzVlMmRlYjU5NjczMWM4Y2Q0NWUzZDk3OTQ1MjZwLTIsCi0gICAgMHgxLjM3ZDllNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI1Ci0gICAgMHgxLjYxYTc1ZTJkZWI1OTY3MzFjOGNkNDVlM2Q5Nzk0NTI2cC0yLAotICAgIC0weDEuMzdkOWU2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjYKLSAgICAweDEuMjM1YjMzN2IwOTFjZGQ4YWMwNjM5MGFiYzY4MTZiODJwLTIsCi0gICAgMHgxLjQ4NDNhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI3Ci0gICAgMHgxLjIzNWIzMzdiMDkxY2RkOGFjMDYzOTBhYmM2ODE2YjgycC0yLAotICAgIC0weDEuNDg0M2FlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjgKLSAgICAweDEuYzdiOTE0NmQ2ZDEwODI0ZmY2NTJkYzM5MGJhMmQ3ZjlwLTMsCi0gICAgMHgxLjU4YWQ3NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI5Ci0gICAgMHgxLmM3YjkxNDZkNmQxMDgyNGZmNjUyZGMzOTBiYTJkN2Y5cC0zLAotICAgIC0weDEuNThhZDc2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAweDEuNDZkYzViMmYxZGU5NzdlZmZmN2MyNzhiNWFkYjJhNzVwLTMsCi0gICAgMHgxLjY5MTczZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMxCi0gICAgMHgxLjQ2ZGM1YjJmMWRlOTc3ZWZmZjdjMjc4YjVhZGIyYTc1cC0zLAotICAgIC0weDEuNjkxNzNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzIKLSAgICAweDEuODk0ZjkzZWY0OWM0NTc1ODAwYmJkNjQ2YTNhMzFkMmFwLTQsCi0gICAgMHgxLjc5ODEwNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMzCi0gICAgMHgxLjg5NGY5M2VmNDljNDU3NTgwMGJiZDY0NmEzYTMxZDJhcC00LAotICAgIC0weDEuNzk4MTA2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzQKLSAgICAweDEuMDY5MTY0ZTNmNWNlZTk0ZDg2NWZiNTJlMzE2ZGZmNmJwLTUsCi0gICAgMHgxLjg5ZWFjZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM1Ci0gICAgMHgxLjA2OTE2NGUzZjVjZWU5NGQ4NjVmYjUyZTMxNmRmZjZicC01LAotICAgIC0weDEuODllYWNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzYKLSAgICAtMHgxLjA2OTA5M2VlYzBlZDA2NmVjODNkZDAzNDQ5OGVmOGJmcC01LAotICAgIDB4MS45YTU0OTZwMAotICB9LAotICB7IC8vIEVudHJ5IDUzNwotICAgIC0weDEuMDY5MDkzZWVjMGVkMDY2ZWM4M2RkMDM0NDk4ZWY4YmZwLTUsCi0gICAgLTB4MS45YTU0OTZwMAotICB9LAotICB7IC8vIEVudHJ5IDUzOAotICAgIC0weDEuODk0ZjJiZTI5NzlkZDljZWQ4M2NjYzYwY2Y0OWNkNDRwLTQsCi0gICAgMHgxLmFhYmU1ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM5Ci0gICAgLTB4MS44OTRmMmJlMjk3OWRkOWNlZDgzY2NjNjBjZjQ5Y2Q0NHAtNCwKLSAgICAtMHgxLmFhYmU1ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQwCi0gICAgLTB4MS40NmRjMjc5NjczNTE5NWExNWM4MGU1YjcxOWUyZmM0MnAtMywKLSAgICAweDEuYmIyODI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDEKLSAgICAtMHgxLjQ2ZGMyNzk2NzM1MTk1YTE1YzgwZTViNzE5ZTJmYzQycC0zLAotICAgIC0weDEuYmIyODI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDIKLSAgICAtMHgxLmM3YjhlMTc4YjdlOGMwMWQ5ZjMyMDQ2NmNjN2E2OGQ0cC0zLAotICAgIDB4MS5jYjkxZWVwMAotICB9LAotICB7IC8vIEVudHJ5IDU0MwotICAgIC0weDEuYzdiOGUxNzhiN2U4YzAxZDlmMzIwNDY2Y2M3YTY4ZDRwLTMsCi0gICAgLTB4MS5jYjkxZWVwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NAotICAgIC0weDEuMjM1YjFhNmQ3NjdlNGIzNjJjNjQ1NzFhYzk3YjRhMWNwLTIsCi0gICAgMHgxLmRiZmJiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ1Ci0gICAgLTB4MS4yMzViMWE2ZDc2N2U0YjM2MmM2NDU3MWFjOTdiNGExY3AtMiwKLSAgICAtMHgxLmRiZmJiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ2Ci0gICAgLTB4MS42MWE3NDVhNzdiN2U4M2MyZjhhMmY5YjA5MWU4OWFhYXAtMiwKLSAgICAweDEuZWM2NTdlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDcKLSAgICAtMHgxLjYxYTc0NWE3N2I3ZTgzYzJmOGEyZjliMDkxZTg5YWFhcC0yLAotICAgIC0weDEuZWM2NTdlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAtMHgxLjllN2Y2OTllOGI5YWFmOGVkNTFjNzFjOGY3M2IwYjc0cC0yLAotICAgIDB4MS5mY2NmNDZwMAotICB9LAotICB7IC8vIEVudHJ5IDU0OQotICAgIC0weDEuOWU3ZjY5OWU4YjlhYWY4ZWQ1MWM3MWM4ZjczYjBiNzRwLTIsCi0gICAgLTB4MS5mY2NmNDZwMAotICB9LAotICB7IC8vIEVudHJ5IDU1MAotICAgIC0weDEuZDlhMzhiZmEzMTk1YmExY2FhN2ZiNjliYzFkMDRlNDJwLTIsCi0gICAgMHgxLjA2OWM4OHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUxCi0gICAgLTB4MS5kOWEzOGJmYTMxOTViYTFjYWE3ZmI2OWJjMWQwNGU0MnAtMiwKLSAgICAtMHgxLjA2OWM4OHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUyCi0gICAgLTB4MS4wOTZhYjNjNTVjOTFmMzZlMjM1OWVkMWM1YTgzNDJkZnAtMSwKLSAgICAweDEuMGVkMTZjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTMKLSAgICAtMHgxLjA5NmFiM2M1NWM5MWYzNmUyMzU5ZWQxYzVhODM0MmRmcC0xLAotICAgIC0weDEuMGVkMTZjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTQKLSAgICAtMHgxLjI0ZWM2YzgyMDZlNzQ0MzIyZDk5ZjQ3ZTllNDFiZWNlcC0xLAotICAgIDB4MS4xNzA2NTBwMQotICB9LAotICB7IC8vIEVudHJ5IDU1NQotICAgIC0weDEuMjRlYzZjODIwNmU3NDQzMjJkOTlmNDdlOWU0MWJlY2VwLTEsCi0gICAgLTB4MS4xNzA2NTBwMQotICB9LAotICB7IC8vIEVudHJ5IDU1NgotICAgIC0weDEuM2YzYTAwOWI4MmI1YjgyMzRlMTI5NmRkNzNjZmY0OWRwLTEsCi0gICAgMHgxLjFmM2IzNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU3Ci0gICAgLTB4MS4zZjNhMDA5YjgyYjViODIzNGUxMjk2ZGQ3M2NmZjQ5ZHAtMSwKLSAgICAtMHgxLjFmM2IzNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU4Ci0gICAgLTB4MS41ODM3YzRhMTg0Y2NmN2VkNTdjMTg5ZjJhZGRmMzJjNXAtMSwKLSAgICAweDEuMjc3MDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTkKLSAgICAtMHgxLjU4MzdjNGExODRjY2Y3ZWQ1N2MxODlmMmFkZGYzMmM1cC0xLAotICAgIC0weDEuMjc3MDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAtMHgxLjZmY2I2ZTY2ODVlNzJmYjQwNzRlNzBjZDMxNjJkM2JhcC0xLAotICAgIDB4MS4yZmE0ZmNwMQotICB9LAotICB7IC8vIEVudHJ5IDU2MQotICAgIC0weDEuNmZjYjZlNjY4NWU3MmZiNDA3NGU3MGNkMzE2MmQzYmFwLTEsCi0gICAgLTB4MS4yZmE0ZmNwMQotICB9LAotICB7IC8vIEVudHJ5IDU2MgotICAgIC0weDEuODVkYzMwYTc5ZjI2NzU0YWIxMzcwMzM4ZWU3YmZkMTFwLTEsCi0gICAgMHgxLjM3ZDllMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYzCi0gICAgLTB4MS44NWRjMzBhNzlmMjY3NTRhYjEzNzAzMzhlZTdiZmQxMXAtMSwKLSAgICAtMHgxLjM3ZDllMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY0Ci0gICAgLTB4MS45YTUyZDUyM2IxNTMyZTRlZDQ3N2UyN2RjNjA1MWMxMnAtMSwKLSAgICAweDEuNDAwZWM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjUKLSAgICAtMHgxLjlhNTJkNTIzYjE1MzJlNGVkNDc3ZTI3ZGM2MDUxYzEycC0xLAotICAgIC0weDEuNDAwZWM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjYKLSAgICAtMHgxLmFkMTlkNTA2NjRhYmYwYzAxNDExMzdkMmNhNTA5ZjIxcC0xLAotICAgIDB4MS40ODQzYThwMQotICB9LAotICB7IC8vIEVudHJ5IDU2NwotICAgIC0weDEuYWQxOWQ1MDY2NGFiZjBjMDE0MTEzN2QyY2E1MDlmMjFwLTEsCi0gICAgLTB4MS40ODQzYThwMQotICB9LAotICB7IC8vIEVudHJ5IDU2OAotICAgIC0weDEuYmUxZDZmOGQ1MTdkYjVjMmNmN2RlMGZhZjA4MDhkMzBwLTEsCi0gICAgMHgxLjUwNzg4Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY5Ci0gICAgLTB4MS5iZTFkNmY4ZDUxN2RiNWMyY2Y3ZGUwZmFmMDgwOGQzMHAtMSwKLSAgICAtMHgxLjUwNzg4Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcwCi0gICAgLTB4MS5jZDRiYmVjZjdmMjcwNWQ0ZmQwMGRkNDYzNzgwZjQ1ZXAtMSwKLSAgICAweDEuNThhZDcwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzEKLSAgICAtMHgxLmNkNGJiZWNmN2YyNzA1ZDRmZDAwZGQ0NjM3ODBmNDVlcC0xLAotICAgIC0weDEuNThhZDcwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAtMHgxLmRhOTRjYTkxNWRhM2NkZDFmZmY4MzlkODVlZWMzOWUycC0xLAotICAgIDB4MS42MGUyNTRwMQotICB9LAotICB7IC8vIEVudHJ5IDU3MwotICAgIC0weDEuZGE5NGNhOTE1ZGEzY2RkMWZmZjgzOWQ4NWVlYzM5ZTJwLTEsCi0gICAgLTB4MS42MGUyNTRwMQotICB9LAotICB7IC8vIEVudHJ5IDU3NAotICAgIC0weDEuZTVlYTk5MTE2YjM5MzYxYWM5MjZkZDlmZGMyMDg5ZDFwLTEsCi0gICAgMHgxLjY5MTczOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc1Ci0gICAgLTB4MS5lNWVhOTkxMTZiMzkzNjFhYzkyNmRkOWZkYzIwODlkMXAtMSwKLSAgICAtMHgxLjY5MTczOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc2Ci0gICAgLTB4MS5lZjQxM2RiYmRhMjg1OWZmYjBkMWFiODQzNDJmZDIzNXAtMSwKLSAgICAweDEuNzE0YzFjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzcKLSAgICAtMHgxLmVmNDEzZGJiZGEyODU5ZmZiMGQxYWI4NDM0MmZkMjM1cC0xLAotICAgIC0weDEuNzE0YzFjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzgKLSAgICAtMHgxLmY2OGVlNWI1YmYzNTZiMTAyMzA5NDRhMThlNzA5MjVjcC0xLAotICAgIDB4MS43OTgxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzkKLSAgICAtMHgxLmY2OGVlNWI1YmYzNTZiMTAyMzA5NDRhMThlNzA5MjVjcC0xLAotICAgIC0weDEuNzk4MXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgwCi0gICAgLTB4MS5mYmNiZTIzMjk2ZmM2MWI5NmYzODJmMzVlYTE1Yzc2OHAtMSwKLSAgICAweDEuODFiNWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODEKLSAgICAtMHgxLmZiY2JlMjMyOTZmYzYxYjk2ZjM4MmYzNWVhMTVjNzY4cC0xLAotICAgIC0weDEuODFiNWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODIKLSAgICAtMHgxLmZlZjJiMDg5NDMxOTdjZDNhOGJhODYxMDk1MjI3YzQ4cC0xLAotICAgIDB4MS44OWVhYzhwMQotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIC0weDEuZmVmMmIwODk0MzE5N2NkM2E4YmE4NjEwOTUyMjdjNDhwLTEsCi0gICAgLTB4MS44OWVhYzhwMQotICB9LAotICB7IC8vIEVudHJ5IDU4NAotICAgIDB4MS5lZjQxNDg5ZmMyZmU4MDFhNmZjOGFlNzkxNDM4ZWI3OHAtMSwKLSAgICAtMHgxLjgxYjVlZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg1Ci0gICAgMHgxLmVmNDE0ODlmYzJmZTgwMWE2ZmM4YWU3OTE0MzhlYjc4cC0xLAotICAgIDB4MS44MWI1ZWVwMgotICB9LAotICB7IC8vIEVudHJ5IDU4NgotICAgIDB4MS5iZTFkODQ5ZWM2NDliNzk3MzIwZTk4NWQwYjgyYWU4NXAtMSwKLSAgICAtMHgxLjcxNGMyNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg3Ci0gICAgMHgxLmJlMWQ4NDllYzY0OWI3OTczMjBlOTg1ZDBiODJhZTg1cC0xLAotICAgIDB4MS43MTRjMjZwMgotICB9LAotICB7IC8vIEVudHJ5IDU4OAotICAgIDB4MS42ZmNiOGM0NGJkMzBkZDY2ODE0ODYwNTk2OWIxYzE2MXAtMSwKLSAgICAtMHgxLjYwZTI1ZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg5Ci0gICAgMHgxLjZmY2I4YzQ0YmQzMGRkNjY4MTQ4NjA1OTY5YjFjMTYxcC0xLAotICAgIDB4MS42MGUyNWVwMgotICB9LAotICB7IC8vIEVudHJ5IDU5MAotICAgIDB4MS4wOTZhZDg3YzMyNjYyMmM0MmRlMzRmOTI4MTRjZmE4NHAtMSwKLSAgICAtMHgxLjUwNzg5NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkxCi0gICAgMHgxLjA5NmFkODdjMzI2NjIyYzQyZGUzNGY5MjgxNGNmYTg0cC0xLAotICAgIDB4MS41MDc4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDU5MgotICAgIDB4MS4yMzViNzQ2YTJhMmVmZjJiZjY0MGRkOGMwNGQzNWE1YnAtMiwKLSAgICAtMHgxLjQwMGVjZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgMHgxLjIzNWI3NDZhMmEyZWZmMmJmNjQwZGQ4YzA0ZDM1YTVicC0yLAotICAgIDB4MS40MDBlY2VwMgotICB9LAotICB7IC8vIEVudHJ5IDU5NAotICAgIDB4MS4wNjkzODI3YjQ2Y2VlM2I2NjFhYzE3MTE0YjVmZTBmYnAtNSwKLSAgICAtMHgxLjJmYTUwNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk1Ci0gICAgMHgxLjA2OTM4MjdiNDZjZWUzYjY2MWFjMTcxMTRiNWZlMGZicC01LAotICAgIDB4MS4yZmE1MDZwMgotICB9LAotICB7IC8vIEVudHJ5IDU5NgotICAgIC0weDEuYzdiODVkNjY4ZTJhYmNjNDY1NDJjYTg1MjdmMGI4MDFwLTMsCi0gICAgLTB4MS4xZjNiM2VwMgotICB9LAotICB7IC8vIEVudHJ5IDU5NwotICAgIC0weDEuYzdiODVkNjY4ZTJhYmNjNDY1NDJjYTg1MjdmMGI4MDFwLTMsCi0gICAgMHgxLjFmM2IzZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk4Ci0gICAgLTB4MS5kOWEzNDhkNGY0MzYzYmE0NTYyMTEwZGIwMWVlODRlOHAtMiwKLSAgICAtMHgxLjBlZDE3NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk5Ci0gICAgLTB4MS5kOWEzNDhkNGY0MzYzYmE0NTYyMTEwZGIwMWVlODRlOHAtMiwKLSAgICAweDEuMGVkMTc2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDAKLSAgICAtMHgxLjU4MzdhZTg1NjljOTU4NDZlNjE2NGQ5NjM2NTQ2MTIwcC0xLAotICAgIC0weDEuZmNjZjVhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDEKLSAgICAtMHgxLjU4MzdhZTg1NjljOTU4NDZlNjE2NGQ5NjM2NTQ2MTIwcC0xLAotICAgIDB4MS5mY2NmNWFwMQotICB9LAotICB7IC8vIEVudHJ5IDYwMgotICAgIC0weDEuYWQxOWM5MTg4ODMwMDBiMGI3MDJlYzA4MGNmMDEyMmVwLTEsCi0gICAgLTB4MS5kYmZiYzhwMQotICB9LAotICB7IC8vIEVudHJ5IDYwMwotICAgIC0weDEuYWQxOWM5MTg4ODMwMDBiMGI3MDJlYzA4MGNmMDEyMmVwLTEsCi0gICAgMHgxLmRiZmJjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA0Ci0gICAgLTB4MS5lNWVhOTRiMmNmMDdhZGQzZDBkOTVhYjNhMzBhZDRhYnAtMSwKLSAgICAtMHgxLmJiMjgzNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA1Ci0gICAgLTB4MS5lNWVhOTRiMmNmMDdhZGQzZDBkOTVhYjNhMzBhZDRhYnAtMSwKLSAgICAweDEuYmIyODM2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDYKLSAgICAtMHgxLmZlZjJiMDI5MDg1NTlmOTJkZTg5MmQyNDBhMmIwYjQ5cC0xLAotICAgIC0weDEuOWE1NGE0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDcKLSAgICAtMHgxLmZlZjJiMDI5MDg1NTlmOTJkZTg5MmQyNDBhMmIwYjQ5cC0xLAotICAgIDB4MS45YTU0YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDYwOAotICAgIC0weDEuZjY4ZWYzNzkyZTU5MmMzY2VmYmNlMWQ1ZGVkNjRhOTJwLTEsCi0gICAgLTB4MS43OTgxMTJwMQotICB9LAotICB7IC8vIEVudHJ5IDYwOQotICAgIC0weDEuZjY4ZWYzNzkyZTU5MmMzY2VmYmNlMWQ1ZGVkNjRhOTJwLTEsCi0gICAgMHgxLjc5ODExMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEwCi0gICAgLTB4MS5jZDRiZGE5NDNlZWExMzYzMGY4ZTUwOGY4NzQ0ZjJmMnAtMSwKLSAgICAtMHgxLjU4YWQ4MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjExCi0gICAgLTB4MS5jZDRiZGE5NDNlZWExMzYzMGY4ZTUwOGY4NzQ0ZjJmMnAtMSwKLSAgICAweDEuNThhZDgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTIKLSAgICAtMHgxLjg1ZGM1NGY0OWYzMjRiZGZjNzFkNTc0OTQ4M2IzMzE4cC0xLAotICAgIC0weDEuMzdkOWVlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTMKLSAgICAtMHgxLjg1ZGM1NGY0OWYzMjRiZGZjNzFkNTc0OTQ4M2IzMzE4cC0xLAotICAgIDB4MS4zN2Q5ZWVwMQotICB9LAotICB7IC8vIEVudHJ5IDYxNAotICAgIC0weDEuMjRlYzkzZTA0ZDRiZGI1NGUyMGJlYWYzODM1MTlhZjhwLTEsCi0gICAgLTB4MS4xNzA2NWNwMQotICB9LAotICB7IC8vIEVudHJ5IDYxNQotICAgIC0weDEuMjRlYzkzZTA0ZDRiZGI1NGUyMGJlYWYzODM1MTlhZjhwLTEsCi0gICAgMHgxLjE3MDY1Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE2Ci0gICAgLTB4MS42MWE3OTgzZDRjMTZjNDUxYjY4YmYyZjViNzBmM2I2YXAtMiwKLSAgICAtMHgxLmVjNjU5NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE3Ci0gICAgLTB4MS42MWE3OTgzZDRjMTZjNDUxYjY4YmYyZjViNzBmM2I2YXAtMiwKLSAgICAweDEuZWM2NTk0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTgKLSAgICAtMHgxLjg5NTA0YThkZTZjOWVjYWM2NjNlNjc1ODNjYWI0N2U4cC00LAotICAgIC0weDEuYWFiZTcwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTkKLSAgICAtMHgxLjg5NTA0YThkZTZjOWVjYWM2NjNlNjc1ODNjYWI0N2U4cC00LAotICAgIDB4MS5hYWJlNzBwMAotICB9LAotICB7IC8vIEVudHJ5IDYyMAotICAgIDB4MS40NmRiZWM5ZWEzYTVmMDhiYTczYWE2OWU3ZTIyZGUxY3AtMywKLSAgICAtMHgxLjY5MTc0Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIxCi0gICAgMHgxLjQ2ZGJlYzllYTNhNWYwOGJhNzNhYTY5ZTdlMjJkZTFjcC0zLAotICAgIDB4MS42OTE3NGNwMAotICB9LAotICB7IC8vIEVudHJ5IDYyMgotICAgIDB4MS45ZTdmNWNmMDc1ZDFlYzRlZjY5YzljNjdiNjJjMjdjYnAtMiwKLSAgICAtMHgxLjI3NzAyOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIzCi0gICAgMHgxLjllN2Y1Y2YwNzVkMWVjNGVmNjljOWM2N2I2MmMyN2NicC0yLAotICAgIDB4MS4yNzcwMjhwMAotICB9LAotICB7IC8vIEVudHJ5IDYyNAotICAgIDB4MS4zZjM5ZmNjMDE3NjUzZDI2MzY4MzdhNTVmZGY2ZDJkNHAtMSwKLSAgICAtMHgxLmNiOTIwYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDYyNQotICAgIDB4MS4zZjM5ZmNjMDE3NjUzZDI2MzY4MzdhNTVmZGY2ZDJkNHAtMSwKLSAgICAweDEuY2I5MjBhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI2Ci0gICAgMHgxLjlhNTJkNWM3MDBkYWEzZGM4Y2Y4ZjVhNzFmMmRmMjg5cC0xLAotICAgIC0weDEuNDg0M2M0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI3Ci0gICAgMHgxLjlhNTJkNWM3MDBkYWEzZGM4Y2Y4ZjVhNzFmMmRmMjg5cC0xLAotICAgIDB4MS40ODQzYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjgKLSAgICAweDEuZGE5NGNkMzgzZGQ3YTNiOTFhMmZjODhmZjkwNWE2YTBwLTEsCi0gICAgLTB4MS44OWVhZmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjkKLSAgICAweDEuZGE5NGNkMzgzZGQ3YTNiOTFhMmZjODhmZjkwNWE2YTBwLTEsCi0gICAgMHgxLjg5ZWFmY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDYzMAotICAgIDB4MS5mYmNiZTNkZTU4ZTY2YzMyODNiYzgxMGQxNmM0NTgzM3AtMSwKLSAgICAtMHgxLjA2OWNlMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDYzMQotICAgIDB4MS5mYmNiZTNkZTU4ZTY2YzMyODNiYzgxMGQxNmM0NTgzM3AtMSwKLSAgICAweDEuMDY5Y2UwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMyCi0gICAgMHgxLmZiY2JlOTNkNDg1NjNkNTFiNmU5ZDZlZmRiNjI0OTVjcC0xLAotICAgIDB4MS4wNjljMzhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzMKLSAgICAweDEuZmJjYmU5M2Q0ODU2M2Q1MWI2ZTlkNmVmZGI2MjQ5NWNwLTEsCi0gICAgLTB4MS4wNjljMzhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzQKLSAgICAweDEuZGE5NGRjZmIxY2QxNTg1M2NlODQ4ZmZiMDI2NGFkMDhwLTEsCi0gICAgMHgxLjg5ZWFhOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDYzNQotICAgIDB4MS5kYTk0ZGNmYjFjZDE1ODUzY2U4NDhmZmIwMjY0YWQwOHAtMSwKLSAgICAtMHgxLjg5ZWFhOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDYzNgotICAgIDB4MS45YTUyZWVlNWUzNTM3N2Q1NTRhY2U4ODFiZGM0NzI1YnAtMSwKLSAgICAweDEuNDg0MzlhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM3Ci0gICAgMHgxLjlhNTJlZWU1ZTM1Mzc3ZDU1NGFjZTg4MWJkYzQ3MjVicC0xLAotICAgIC0weDEuNDg0MzlhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM4Ci0gICAgMHgxLjNmM2ExZDk2NTdmZjZhYTQ5OGM0NmY2ZmFhZjAzYjkwcC0xLAotICAgIDB4MS5jYjkxZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzkKLSAgICAweDEuM2YzYTFkOTY1N2ZmNmFhNDk4YzQ2ZjZmYWFmMDNiOTBwLTEsCi0gICAgLTB4MS5jYjkxZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDAKLSAgICAweDEuOWU3ZmE2MTdhMWEzYTQwMGE3ZjU5YWE4NzkwODhlMzFwLTIsCi0gICAgMHgxLjI3NzAxNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQxCi0gICAgMHgxLjllN2ZhNjE3YTFhM2E0MDBhN2Y1OWFhODc5MDg4ZTMxcC0yLAotICAgIC0weDEuMjc3MDE0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICAweDEuNDZkYzhhOTE5YjI3ODQwY2RhNmUxOGEwNzlkYTQ1OWNwLTMsCi0gICAgMHgxLjY5MTczOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQzCi0gICAgMHgxLjQ2ZGM4YTkxOWIyNzg0MGNkYTZlMThhMDc5ZGE0NTljcC0zLAotICAgIC0weDEuNjkxNzM4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDQKLSAgICAtMHgxLjg5NGYwYzA4NzI0MTU2NjNiN2Y5ZTRlNDgwMWRlYWYwcC00LAotICAgIDB4MS5hYWJlNWNwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NQotICAgIC0weDEuODk0ZjBjMDg3MjQxNTY2M2I3ZjllNGU0ODAxZGVhZjBwLTQsCi0gICAgLTB4MS5hYWJlNWNwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NgotICAgIC0weDEuNjFhNzRkMjk3NzRhZTRlM2JjNTUzM2EyZWEwOGExNGFwLTIsCi0gICAgMHgxLmVjNjU4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ3Ci0gICAgLTB4MS42MWE3NGQyOTc3NGFlNGUzYmM1NTMzYTJlYTA4YTE0YXAtMiwKLSAgICAtMHgxLmVjNjU4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ4Ci0gICAgLTB4MS4yNGVjNzMxMWJkN2IyMjU1ZjliODkwYjNmZjU4OTlmNHAtMSwKLSAgICAweDEuMTcwNjUycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDkKLSAgICAtMHgxLjI0ZWM3MzExYmQ3YjIyNTVmOWI4OTBiM2ZmNTg5OWY0cC0xLAotICAgIC0weDEuMTcwNjUycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTAKLSAgICAtMHgxLjg1ZGMzYjA2YzQzNWY1MjRjODczZDliNWViYTNkZWY4cC0xLAotICAgIDB4MS4zN2Q5ZTRwMQotICB9LAotICB7IC8vIEVudHJ5IDY1MQotICAgIC0weDEuODVkYzNiMDZjNDM1ZjUyNGM4NzNkOWI1ZWJhM2RlZjhwLTEsCi0gICAgLTB4MS4zN2Q5ZTRwMQotICB9LAotICB7IC8vIEVudHJ5IDY1MgotICAgIC0weDEuY2Q0YmM5Mzk0N2U4NjY3MWFjN2YwZWFjZDk1MjEzNzdwLTEsCi0gICAgMHgxLjU4YWQ3NnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUzCi0gICAgLTB4MS5jZDRiYzkzOTQ3ZTg2NjcxYWM3ZjBlYWNkOTUyMTM3N3AtMSwKLSAgICAtMHgxLjU4YWQ3NnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU0Ci0gICAgLTB4MS5mNjhlZWJkM2I4ZjEyZjk0MzNlNmQ3MjI0OTg5YzEwZXAtMSwKLSAgICAweDEuNzk4MTA4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTUKLSAgICAtMHgxLmY2OGVlYmQzYjhmMTJmOTQzM2U2ZDcyMjQ5ODljMTBlcC0xLAotICAgIC0weDEuNzk4MTA4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTYKLSAgICAtMHgxLmZlZjJiMmI5MWU0MDAyMWEyZmVlNzRmYzYxODEyMTU3cC0xLAotICAgIDB4MS45YTU0OWFwMQotICB9LAotICB7IC8vIEVudHJ5IDY1NwotICAgIC0weDEuZmVmMmIyYjkxZTQwMDIxYTJmZWU3NGZjNjE4MTIxNTdwLTEsCi0gICAgLTB4MS45YTU0OWFwMQotICB9LAotICB7IC8vIEVudHJ5IDY1OAotICAgIC0weDEuZTVlYWExNGQ4NjE2OGI2OTkxOGMyMmYzNzE2YTY3ZWFwLTEsCi0gICAgMHgxLmJiMjgyY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU5Ci0gICAgLTB4MS5lNWVhYTE0ZDg2MTY4YjY5OTE4YzIyZjM3MTZhNjdlYXAtMSwKLSAgICAtMHgxLmJiMjgyY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYwCi0gICAgLTB4MS5hZDE5ZGVlYWQwZWFlMmY3MmQwNDE2NWUwOWU0YTQzZHAtMSwKLSAgICAweDEuZGJmYmJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjEKLSAgICAtMHgxLmFkMTlkZWVhZDBlYWUyZjcyZDA0MTY1ZTA5ZTRhNDNkcC0xLAotICAgIC0weDEuZGJmYmJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjIKLSAgICAtMHgxLjU4MzdjYzIxZGRhNDRmM2FiN2ZkOTZmNTdjMDE0ZTE5cC0xLAotICAgIDB4MS5mY2NmNTBwMQotICB9LAotICB7IC8vIEVudHJ5IDY2MwotICAgIC0weDEuNTgzN2NjMjFkZGE0NGYzYWI3ZmQ5NmY1N2MwMTRlMTlwLTEsCi0gICAgLTB4MS5mY2NmNTBwMQotICB9LAotICB7IC8vIEVudHJ5IDY2NAotICAgIC0weDEuZDlhMzlkZjIwNzEzOWY5OWViZTliNTZkYWZiMjM0YjdwLTIsCi0gICAgMHgxLjBlZDE3MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY1Ci0gICAgLTB4MS5kOWEzOWRmMjA3MTM5Zjk5ZWJlOWI1NmRhZmIyMzRiN3AtMiwKLSAgICAtMHgxLjBlZDE3MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgLTB4MS5jN2I5MTg5NjM4MTI4YmMwYWUzM2ZkZjI3MjljYzk4N3AtMywKLSAgICAweDEuMWYzYjM4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjcKLSAgICAtMHgxLmM3YjkxODk2MzgxMjhiYzBhZTMzZmRmMjcyOWNjOTg3cC0zLAotICAgIC0weDEuMWYzYjM4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAweDEuMDY5MDgyZTA0YjI1ZTlkMmVhOWUyNjNiNTBkMDhiMzRwLTUsCi0gICAgMHgxLjJmYTVwMgotICB9LAotICB7IC8vIEVudHJ5IDY2OQotICAgIDB4MS4wNjkwODJlMDRiMjVlOWQyZWE5ZTI2M2I1MGQwOGIzNHAtNSwKLSAgICAtMHgxLjJmYTVwMgotICB9LAotICB7IC8vIEVudHJ5IDY3MAotICAgIDB4MS4yMzViMTg2MWYyMWFhODZkY2UyNTllNGU1YjRlZjM5NXAtMiwKLSAgICAweDEuNDAwZWM4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzEKLSAgICAweDEuMjM1YjE4NjFmMjFhYTg2ZGNlMjU5ZTRlNWI0ZWYzOTVwLTIsCi0gICAgLTB4MS40MDBlYzhwMgotICB9LAotICB7IC8vIEVudHJ5IDY3MgotICAgIDB4MS4wOTZhYWY3MDM0MTQ4NTA2MmY0NDNjODBhOTBhM2JlM3AtMSwKLSAgICAweDEuNTA3ODkwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzMKLSAgICAweDEuMDk2YWFmNzAzNDE0ODUwNjJmNDQzYzgwYTkwYTNiZTNwLTEsCi0gICAgLTB4MS41MDc4OTBwMgotICB9LAotICB7IC8vIEVudHJ5IDY3NAotICAgIDB4MS42ZmNiNmFlMDMxMDdiZTQ1OGQwNzM2MTM3MWVmYWJiNHAtMSwKLSAgICAweDEuNjBlMjU4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzUKLSAgICAweDEuNmZjYjZhZTAzMTA3YmU0NThkMDczNjEzNzFlZmFiYjRwLTEsCi0gICAgLTB4MS42MGUyNThwMgotICB9LAotICB7IC8vIEVudHJ5IDY3NgotICAgIDB4MS5iZTFkNmQxMGQ1YzhjZWViOGJmOWFlYjdhOWY2OTBiOXAtMSwKLSAgICAweDEuNzE0YzIwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzcKLSAgICAweDEuYmUxZDZkMTBkNWM4Y2VlYjhiZjlhZWI3YTlmNjkwYjlwLTEsCi0gICAgLTB4MS43MTRjMjBwMgotICB9LAotICB7IC8vIEVudHJ5IDY3OAotICAgIDB4MS5lZjQxM2M3MmQ5ODhiYjUzOTM3OTc1ZTRmZDRmY2M3YXAtMSwKLSAgICAweDEuODFiNWU4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzkKLSAgICAweDEuZWY0MTNjNzJkOTg4YmI1MzkzNzk3NWU0ZmQ0ZmNjN2FwLTEsCi0gICAgLTB4MS44MWI1ZThwMgotICB9LAotICB7IC8vIEVudHJ5IDY4MAotICAgIDB4MS5mZjBmZDJjYjVhOTIyOGNmYTFlMDE2MDVkMDYyNmM4NHAtMSwKLSAgICAweDEuZWZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjgxCi0gICAgMHgxLmZmMGZkMmNiNWE5MjI4Y2ZhMWUwMTYwNWQwNjI2Yzg0cC0xLAotICAgIC0weDEuZWZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjgyCi0gICAgMHgxLmZmMGZkMmM5NmFkZmJhZDVmOTA0YTcxYjJkMjEwYTJhcC0xLAotICAgIDB4MS5mMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDY4MwotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKLSAgICAtMHgxLmYwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgMHgxLmZmMGZkMmM3N2IyZDRhZGQ0MDU2NmVjNWFhMjRmYzZlcC0xLAotICAgIDB4MS5mMDAwMDJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODUKLSAgICAweDEuZmYwZmQyYzc3YjJkNGFkZDQwNTY2ZWM1YWEyNGZjNmVwLTEsCi0gICAgLTB4MS5mMDAwMDJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODYKLSAgICAweDEuZmMyMTAwNWQyMTZhODlkZTU1YjE5MjA5NmZjNmI3YmFwLTEsCi0gICAgMHgxLmY3ZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDY4NwotICAgIDB4MS5mYzIxMDA1ZDIxNmE4OWRlNTViMTkyMDk2ZmM2YjdiYXAtMSwKLSAgICAtMHgxLmY3ZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDY4OAotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNThhMjAxOTMzOTliM2JjMGRkMnAtMSwKLSAgICAweDEuZjhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODkKLSAgICAweDEuZmMyMTAwNTU0NjdmZTU4YTIwMTkzMzk5YjNiYzBkZDJwLTEsCi0gICAgLTB4MS5mOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDY5MAotICAgIDB4MS5mYzIxMDA0ZDZiOTUzOTQ1NjY3ZjgwMGZmODFkZTBlYnAtMSwKLSAgICAweDEuZjgwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjkxCi0gICAgMHgxLmZjMjEwMDRkNmI5NTM5NDU2NjdmODAwZmY4MWRlMGVicC0xLAotICAgIC0weDEuZjgwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjkyCi0gICAgMHgxLmY5NDk4NGM2ZmRmMWJlNjE2ODUwOWZmMWUzNWY2MmRlcC0xLAotICAgIDB4MS40YmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTMKLSAgICAweDEuZjk0OTg0YzZmZGYxYmU2MTY4NTA5ZmYxZTM1ZjYyZGVwLTEsCi0gICAgLTB4MS40YmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTQKLSAgICAweDEuZjk0OTg0YjI1NTJlMTk0MWVjNzY2YzZhODJlY2U0YTNwLTEsCi0gICAgMHgxLjRjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk1Ci0gICAgMHgxLmY5NDk4NGIyNTUyZTE5NDFlYzc2NmM2YTgyZWNlNGEzcC0xLAotICAgIC0weDEuNGNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTYKLSAgICAweDEuZjk0OTg0OWRhYzZhNTQ4ZGQ4NTExMzkwNDExMDYzMTZwLTEsCi0gICAgMHgxLjRjMDAwMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDY5NwotICAgIDB4MS5mOTQ5ODQ5ZGFjNmE1NDhkZDg1MTEzOTA0MTEwNjMxNnAtMSwKLSAgICAtMHgxLjRjMDAwMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDY5OAotICAgIDB4MS5lOTIxZGQ3MDU0ZWY1ZDRmNzI3ZDkzOGNlMTBhMDUzY3AtMSwKLSAgICAweDEuMzMzMzMycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk5Ci0gICAgMHgxLmU5MjFkZDcwNTRlZjVkNGY3MjdkOTM4Y2UxMGEwNTNjcC0xLAotICAgIC0weDEuMzMzMzMycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAwCi0gICAgMHgxLmU5MjFkZDI0YWRiOTEyOWVmYzA1M2Y5YWNkNGQyNDQ0cC0xLAotICAgIDB4MS4zMzMzMzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDEKLSAgICAweDEuZTkyMWRkMjRhZGI5MTI5ZWZjMDUzZjlhY2Q0ZDI0NDRwLTEsCi0gICAgLTB4MS4zMzMzMzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDIKLSAgICAweDEuZTkyMWRjZDkwNjgyNGRhNjBlNDNjMDNhNzc3NGIxNzFwLTEsCi0gICAgMHgxLjMzMzMzNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDcwMwotICAgIDB4MS5lOTIxZGNkOTA2ODI0ZGE2MGU0M2MwM2E3Nzc0YjE3MXAtMSwKLSAgICAtMHgxLjMzMzMzNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDcwNAotICAgIDB4MS44ZmVlZGM5Mjc2NGJmYmRjYjQxMzg5ZTgyMDYzZWQ2ZXAtMSwKLSAgICAweDEuNTk0MzE2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA1Ci0gICAgMHgxLjhmZWVkYzkyNzY0YmZiZGNiNDEzODllODIwNjNlZDZlcC0xLAotICAgIC0weDEuNTk0MzE2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA2Ci0gICAgMHgxLjhmZWVkYjUyYzc1MDA4N2M1Zjg3MjdlMDI3OWU1ZjY2cC0xLAotICAgIDB4MS41OTQzMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDcKLSAgICAweDEuOGZlZWRiNTJjNzUwMDg3YzVmODcyN2UwMjc5ZTVmNjZwLTEsCi0gICAgLTB4MS41OTQzMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDgKLSAgICAweDEuOGZlZWRhMTMxODUyODUyZDJmYTdmZTg4NDdiMDU5NzNwLTEsCi0gICAgMHgxLjU5NDMxYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDcwOQotICAgIDB4MS44ZmVlZGExMzE4NTI4NTJkMmZhN2ZlODg0N2IwNTk3M3AtMSwKLSAgICAtMHgxLjU5NDMxYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxMAotICAgIDB4MS42Yjg5OTExMjc4NTlmZDliNDNjYTFkMDhiOTJhYTQwMXAtMSwKLSAgICAweDEuOGZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzExCi0gICAgMHgxLjZiODk5MTEyNzg1OWZkOWI0M2NhMWQwOGI5MmFhNDAxcC0xLAotICAgIC0weDEuOGZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEyCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAotICAgIDB4MS45MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxMwotICAgIDB4MS42Yjg5OGZhOWVmYjVkMjJiNThmMGQ5OWU5NjM0OTMxYXAtMSwKLSAgICAtMHgxLjkwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE0Ci0gICAgMHgxLjZiODk4ZTQxNjcxMDNiMzFkZTZkYTY3ZWJmNWU5ZmU2cC0xLAotICAgIDB4MS45MDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTUKLSAgICAweDEuNmI4OThlNDE2NzEwM2IzMWRlNmRhNjdlYmY1ZTlmZTZwLTEsCi0gICAgLTB4MS45MDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDcxNwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTgKLSAgICAweDEucDAsCi0gICAgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDcyMAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzIxCi0gICAgMHgxLmZmNjIxZTM4OTU2YTNiM2JlOTIwMjU2ZGRiNjAzNGNkcC0xLAotICAgIDB4MS45MjFmYjRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjIKLSAgICAweDEuZmY2MjFlMzg5NTZhM2IzYmU5MjAyNTZkZGI2MDM0Y2RwLTEsCi0gICAgLTB4MS45MjFmYjRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjMKLSAgICAweDEuZmY2MjFlMzcwMzczZGM2ZjM5NjNkNDI4OTZlZGUwNzhwLTEsCi0gICAgMHgxLjkyMWZiNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDcyNAotICAgIDB4MS5mZjYyMWUzNzAzNzNkYzZmMzk2M2Q0Mjg5NmVkZTA3OHAtMSwKLSAgICAtMHgxLjkyMWZiNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDcyNQotICAgIDB4MS5mZjYyMWUzNTcxN2Q3YmEzMjc4OTRiZGZkZTlmNDc4N3AtMSwKLSAgICAweDEuOTIxZmI4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzI2Ci0gICAgMHgxLmZmNjIxZTM1NzE3ZDdiYTMyNzg5NGJkZmRlOWY0Nzg3cC0xLAotICAgIC0weDEuOTIxZmI4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzI3Ci0gICAgMHgxLmZkODhkYTQxMGI2MWNkNTUyMjFkOWJlYjk5NmQ0ZDk5cC0xLAotICAgIDB4MS45MjFmYjRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjgKLSAgICAweDEuZmQ4OGRhNDEwYjYxY2Q1NTIyMWQ5YmViOTk2ZDRkOTlwLTEsCi0gICAgLTB4MS45MjFmYjRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjkKLSAgICAweDEuZmQ4OGRhM2FjNTc4MWY1YTZmYzMyZTQwZWQ1MTIyYjBwLTEsCi0gICAgMHgxLjkyMWZiNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDczMAotICAgIDB4MS5mZDg4ZGEzYWM1NzgxZjVhNmZjMzJlNDBlZDUxMjJiMHAtMSwKLSAgICAtMHgxLjkyMWZiNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDczMQotICAgIDB4MS5mZDg4ZGEzNDdmOGU2OTY5OTlmZmQ1ODA2MGJhMzU2OXAtMSwKLSAgICAweDEuOTIxZmI4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzMyCi0gICAgMHgxLmZkODhkYTM0N2Y4ZTY5Njk5OWZmZDU4MDYwYmEzNTY5cC0xLAotICAgIC0weDEuOTIxZmI4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzMzCi0gICAgMHgxLmY2Mjk3ZDBmNDY3MWRhNTgwZGZlY2RkNGRiMjlmNDczcC0xLAotICAgIDB4MS45MjFmYjRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzQKLSAgICAweDEuZjYyOTdkMGY0NjcxZGE1ODBkZmVjZGQ0ZGIyOWY0NzNwLTEsCi0gICAgLTB4MS45MjFmYjRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzUKLSAgICAweDEuZjYyOTdjZjY0ZGI5YTIxZDk4YWIzOTQwZmM4YTg2ZjBwLTEsCi0gICAgMHgxLjkyMWZiNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIDB4MS5mNjI5N2NmNjRkYjlhMjFkOThhYjM5NDBmYzhhODZmMHAtMSwKLSAgICAtMHgxLjkyMWZiNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDczNwotICAgIDB4MS5mNjI5N2NkZDU1MDE0YTgwOGI4ODNmZDE4M2YzMThhY3AtMSwKLSAgICAweDEuOTIxZmI4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM4Ci0gICAgMHgxLmY2Mjk3Y2RkNTUwMTRhODA4Yjg4M2ZkMTgzZjMxOGFjcC0xLAotICAgIC0weDEuOTIxZmI4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM5Ci0gICAgMHgxLmQ5MDZiZDMxMzQ0MzAwN2RjYjBiZDRlM2Q2MzI4NGMwcC0xLAotICAgIDB4MS45MjFmYjRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDAKLSAgICAweDEuZDkwNmJkMzEzNDQzMDA3ZGNiMGJkNGUzZDYzMjg0YzBwLTEsCi0gICAgLTB4MS45MjFmYjRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDEKLSAgICAweDEuZDkwNmJjY2YzY2I4NzU4NzRkYTNkYTRjMDExMDRiYWZwLTEsCi0gICAgMHgxLjkyMWZiNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDc0MgotICAgIDB4MS5kOTA2YmNjZjNjYjg3NTg3NGRhM2RhNGMwMTEwNGJhZnAtMSwKLSAgICAtMHgxLjkyMWZiNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDc0MwotICAgIDB4MS5kOTA2YmM2ZDQ1MmQ3NDRmMjEwODEwODYxMTAyZjJkYXAtMSwKLSAgICAweDEuOTIxZmI4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ0Ci0gICAgMHgxLmQ5MDZiYzZkNDUyZDc0NGYyMTA4MTA4NjExMDJmMmRhcC0xLAotICAgIC0weDEuOTIxZmI4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgMHgxLjZhMDllNzRkM2QzZmJiOTRkOTQyNzRmMzc3NjlmNmVhcC0xLAotICAgIDB4MS45MjFmYjRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDYKLSAgICAweDEuNmEwOWU3NGQzZDNmYmI5NGQ5NDI3NGYzNzc2OWY2ZWFwLTEsCi0gICAgLTB4MS45MjFmYjRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDcKLSAgICAweDEuNmEwOWU1ZTMzMzU5ODNlNWFjOTJlNzMzZTNmMjRiNDJwLTEsCi0gICAgMHgxLjkyMWZiNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDc0OAotICAgIDB4MS42YTA5ZTVlMzMzNTk4M2U1YWM5MmU3MzNlM2YyNGI0MnAtMSwKLSAgICAtMHgxLjkyMWZiNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDc0OQotICAgIDB4MS42YTA5ZTQ3OTI5NzFlMjJjOWEwMDI2MWFlYWMwNzBkYXAtMSwKLSAgICAweDEuOTIxZmI4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUwCi0gICAgMHgxLjZhMDllNDc5Mjk3MWUyMmM5YTAwMjYxYWVhYzA3MGRhcC0xLAotICAgIC0weDEuOTIxZmI4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUxCi0gICAgMHgxLjQ0NDJkMTg0Njk4OTM2MTAyODFhMGY5YjBlOGQwZWVmcC0yNCwKLSAgICAweDEuOTIxZmI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTIKLSAgICAweDEuNDQ0MmQxODQ2OTg5MzYxMDI4MWEwZjliMGU4ZDBlZWZwLTI0LAotICAgIC0weDEuOTIxZmI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTMKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlY2M0Y2RlM2EzMWU3ZDVhMDI2MTQycC0yNSwKLSAgICAweDEuOTIxZmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTQKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlY2M0Y2RlM2EzMWU3ZDVhMDI2MTQycC0yNSwKLSAgICAtMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU1Ci0gICAgLTB4MS41ZGRlOTczZGNiMzk4NWY0YThlNzZhMWZlY2EyOWUxZHAtMjMsCi0gICAgMHgxLjkyMWZiOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU2Ci0gICAgLTB4MS41ZGRlOTczZGNiMzk4NWY0YThlNzZhMWZlY2EyOWUxZHAtMjMsCi0gICAgLTB4MS45MjFmYjhwMAotICB9LAotICB7IC8vIEVudHJ5IDc1NwotICAgIC0weDEuZmZmZmZmZmZmZmY5OTUxYjMwZTA4NDczMmU2MGJiODVwLTEsCi0gICAgMHgxLjkyMWZiNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU4Ci0gICAgLTB4MS5mZmZmZmZmZmZmZjk5NTFiMzBlMDg0NzMyZTYwYmI4NXAtMSwKLSAgICAtMHgxLjkyMWZiNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU5Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMDhlZWNmNTRhMXAtMSwKLSAgICAweDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZGQ5NDg0OTI3MWQwOGVlY2Y1NGExcC0xLAotICAgIC0weDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjEKLSAgICAtMHgxLmZmZmZmZmZmZmZlMjFkNzU2MTZkYjVlYmM1NjQwNWY1cC0xLAotICAgIDB4MS45MjFmYjhwMQotICB9LAotICB7IC8vIEVudHJ5IDc2MgotICAgIC0weDEuZmZmZmZmZmZmZmUyMWQ3NTYxNmRiNWViYzU2NDA1ZjVwLTEsCi0gICAgLTB4MS45MjFmYjhwMQotICB9LAotICB7IC8vIEVudHJ5IDc2MwotICAgIDB4MS5mZmZmZmZmZmZmZTY1NDZjYzM4MjExZjVlOGRlZWI5N3AtMSwKLSAgICAweDEuOTIxZmI0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjQKLSAgICAweDEuZmZmZmZmZmZmZmU2NTQ2Y2MzODIxMWY1ZThkZWViOTdwLTEsCi0gICAgLTB4MS45MjFmYjRwMgotICB9LAotICB7IC8vIEVudHJ5IDc2NQotICAgIDB4MS5mZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0Mjg1YmY3M2MwN3AtMSwKLSAgICAweDEuOTIxZmI2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjYKLSAgICAweDEuZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDI4NWJmNzNjMDdwLTEsCi0gICAgLTB4MS45MjFmYjZwMgotICB9LAotICB7IC8vIEVudHJ5IDc2NwotICAgIDB4MS5mZmZmZmZmZmZmODg3NWQ1ODViNmRiMmMzMTcxMTAwNHAtMSwKLSAgICAweDEuOTIxZmI4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjgKLSAgICAweDEuZmZmZmZmZmZmZjg4NzVkNTg1YjZkYjJjMzE3MTEwMDRwLTEsCi0gICAgLTB4MS45MjFmYjhwMgotICB9LAotICB7IC8vIEVudHJ5IDc2OQotICAgIDB4MS5mZmZmZmZmZmZmOTk1MWIzMGUwODRhNmE5OTNiODY3NXAtMSwKLSAgICAweDEuOTIxZmI0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzAKLSAgICAweDEuZmZmZmZmZmZmZjk5NTFiMzBlMDg0YTZhOTkzYjg2NzVwLTEsCi0gICAgLTB4MS45MjFmYjRwMwotICB9LAotICB7IC8vIEVudHJ5IDc3MQotICAgIDB4MS5mZmZmZmZmZmZmZGQ5NDg0OTI3MWQwZWI3YjdiODg0YnAtMSwKLSAgICAweDEuOTIxZmI2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzIKLSAgICAweDEuZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMGViN2I3Yjg4NGJwLTEsCi0gICAgLTB4MS45MjFmYjZwMwotICB9LAotICB7IC8vIEVudHJ5IDc3MwotICAgIDB4MS5mZmZmZmZmZmZlMjFkNzU2MTZkYmE0ODI4M2QzYzJmN3AtMSwKLSAgICAweDEuOTIxZmI4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAweDEuZmZmZmZmZmZmZTIxZDc1NjE2ZGJhNDgyODNkM2MyZjdwLTEsCi0gICAgLTB4MS45MjFmYjhwMwotICB9LAotICB7IC8vIEVudHJ5IDc3NQotICAgIDB4MS5mZmZmZmZmZmZlNjU0NmNjMzgyMTUyZDljMGViOWI0N3AtMSwKLSAgICAweDEuOTIxZmI0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzYKLSAgICAweDEuZmZmZmZmZmZmZTY1NDZjYzM4MjE1MmQ5YzBlYjliNDdwLTEsCi0gICAgLTB4MS45MjFmYjRwNAotICB9LAotICB7IC8vIEVudHJ5IDc3NwotICAgIDB4MS5mZmZmZmZmZmZmNzY1MjEyNDljNzQ4NGVhN2Q3YTQwOXAtMSwKLSAgICAweDEuOTIxZmI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzgKLSAgICAweDEuZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0ODRlYTdkN2E0MDlwLTEsCi0gICAgLTB4MS45MjFmYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDc3OQotICAgIDB4MS5mZmZmZmZmZmY4ODc1ZDU4NWI3MjBmMjVmMDQ3Mzk0M3AtMSwKLSAgICAweDEuOTIxZmI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODAKLSAgICAweDEuZmZmZmZmZmZmODg3NWQ1ODViNzIwZjI1ZjA0NzM5NDNwLTEsCi0gICAgLTB4MS45MjFmYjhwNAotICB9LAotICB7IC8vIEVudHJ5IDc4MQotICAgIDB4MS5mZmZmZmZmZmY5OTUxYjMwZTA4N2RlNWNjMzg2ODNiOHAtMSwKLSAgICAweDEuOTIxZmI0cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODIKLSAgICAweDEuZmZmZmZmZmZmOTk1MWIzMGUwODdkZTVjYzM4NjgzYjhwLTEsCi0gICAgLTB4MS45MjFmYjRwNQotICB9LAotICB7IC8vIEVudHJ5IDc4MwotICAgIDB4MS5mZmZmZmZmZmZkZDk0ODQ5MjcxZDZiNDYzZGY2YmRkZnAtMSwKLSAgICAweDEuOTIxZmI2cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODQKLSAgICAweDEuZmZmZmZmZmZmZGQ5NDg0OTI3MWQ2YjQ2M2RmNmJkZGZwLTEsCi0gICAgLTB4MS45MjFmYjZwNQotICB9LAotICB7IC8vIEVudHJ5IDc4NQotICAgIDB4MS5mZmZmZmZmZmUyMWQ3NTYxNmUwMDBlNTVkMDlmODc1N3AtMSwKLSAgICAweDEuOTIxZmI4cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODYKLSAgICAweDEuZmZmZmZmZmZlMjFkNzU2MTZlMDAwZTU1ZDA5Zjg3NTdwLTEsCi0gICAgLTB4MS45MjFmYjhwNQotICB9LAotICB7IC8vIEVudHJ5IDc4NwotICAgIDB4MS5mZmZmZmZmZmU2NTQ2Y2MzODI0OGE4Y2YwYjliNTc5NXAtMSwKLSAgICAweDEuOTIxZmI0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODgKLSAgICAweDEuZmZmZmZmZmZlNjU0NmNjMzgyNDhhOGNmMGI5YjU3OTVwLTEsCi0gICAgLTB4MS45MjFmYjRwNgotICB9LAotICB7IC8vIEVudHJ5IDc4OQotICAgIDB4MS5mZmZmZmZmZmY3NjUyMTI0OWM3YTRkZDJlMTVkZDFjNHAtMSwKLSAgICAweDEuOTIxZmI2cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTAKLSAgICAweDEuZmZmZmZmZmZmNzY1MjEyNDljN2E0ZGQyZTE1ZGQxYzRwLTEsCi0gICAgLTB4MS45MjFmYjZwNgotICB9LAotICB7IC8vIEVudHJ5IDc5MQotICAgIDB4MS5mZmZmZmZmZjg4NzVkNTg1YmI3ZDU1MzgzYTliMzlhNHAtMSwKLSAgICAweDEuOTIxZmI4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTIKLSAgICAweDEuZmZmZmZmZmY4ODc1ZDU4NWJiN2Q1NTM4M2E5YjM5YTRwLTEsCi0gICAgLTB4MS45MjFmYjhwNgotICB9LAotICB7IC8vIEVudHJ5IDc5MwotICAgIDB4MS5mZmZmZmZmZjk5NTFiMzBlMGJiNTk4ZmMwNjc5YTZmN3AtMSwKLSAgICAweDEuOTIxZmI0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTQKLSAgICAweDEuZmZmZmZmZmY5OTUxYjMwZTBiYjU5OGZjMDY3OWE2ZjdwLTEsCi0gICAgLTB4MS45MjFmYjRwNwotICB9LAotICB7IC8vIEVudHJ5IDc5NQotICAgIDB4MS5mZmZmZmZmZmRkOTQ4NDkyNzIzMzQyZWExZGE0OWJhY3AtMSwKLSAgICAweDEuOTIxZmI2cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTYKLSAgICAweDEuZmZmZmZmZmZkZDk0ODQ5MjcyMzM0MmVhMWRhNDliYWNwLTEsCi0gICAgLTB4MS45MjFmYjZwNwotICB9LAotICB7IC8vIEVudHJ5IDc5NwotICAgIDB4MS5mZmZmZmZmZTIxZDc1NjE3MjVjNzEyZjA2OGZjOTcxOHAtMSwKLSAgICAweDEuOTIxZmI4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTgKLSAgICAweDEuZmZmZmZmZmUyMWQ3NTYxNzI1YzcxMmYwNjhmYzk3MThwLTEsCi0gICAgLTB4MS45MjFmYjhwNwotICB9LAotICB7IC8vIEVudHJ5IDc5OQotICAgIC0weDEuNmEwOWRiM2JkYmEwODY4YTMxZTc2NjM1OWE4NDA2Y2FwLTEsCi0gICAgMHgxLjJkOTdjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODAwCi0gICAgLTB4MS42YTA5ZGIzYmRiYTA4NjhhMzFlNzY2MzU5YTg0MDZjYXAtMSwKLSAgICAtMHgxLjJkOTdjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODAxCi0gICAgLTB4MS42YTA5ZTBlNDAzNWI4NjY5NGMxNjUzNGU0MmZiZTExMXAtMSwKLSAgICAweDEuMmQ5N2M2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDIKLSAgICAtMHgxLjZhMDllMGU0MDM1Yjg2Njk0YzE2NTM0ZTQyZmJlMTExcC0xLAotICAgIC0weDEuMmQ5N2M2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDMKLSAgICAtMHgxLjZhMDllNjhjMmFmZmU1YWE1ODA1MGFjY2IwNWM2MjQ4cC0xLAotICAgIDB4MS4yZDk3YzhwMQotICB9LAotICB7IC8vIEVudHJ5IDgwNAotICAgIC0weDEuNmEwOWU2OGMyYWZmZTVhYTU4MDUwYWNjYjA1YzYyNDhwLTEsCi0gICAgLTB4MS4yZDk3YzhwMQotICB9LAotICB7IC8vIEVudHJ5IDgwNQotICAgIC0weDEuNmEwOWVkYjY3NzA2ZTA5OTcxMjFkMTJhMGM4N2JhZThwLTEsCi0gICAgMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODA2Ci0gICAgLTB4MS42YTA5ZWRiNjc3MDZlMDk5NzEyMWQxMmEwYzg3YmFlOHAtMSwKLSAgICAtMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODA3Ci0gICAgLTB4MS42YTA5ZTgwZTRmN2YyYTg4ZGViZWQzN2ZhYTkzZThjOHAtMSwKLSAgICAweDEuZjZhN2EycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDgKLSAgICAtMHgxLjZhMDllODBlNGY3ZjJhODhkZWJlZDM3ZmFhOTNlOGM4cC0xLAotICAgIC0weDEuZjZhN2EycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDkKLSAgICAtMHgxLjZhMDllMjY2MjdlMGQzZDljYjc2ZGUwMGNiOTAyYmVjcC0xLAotICAgIDB4MS5mNmE3YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDgxMAotICAgIC0weDEuNmEwOWUyNjYyN2UwZDNkOWNiNzZkZTAwY2I5MDJiZWNwLTEsCi0gICAgLTB4MS5mNmE3YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDgxMQotICAgIC0weDEuZjk5OTBlOTFhNzQxNjhiOTBiZDY4ZGZhYjc3NWM5Y2FwLTIxLAotICAgIDB4MS4yZDk3YzRwMgotICB9LAotICB7IC8vIEVudHJ5IDgxMgotICAgIC0weDEuZjk5OTBlOTFhNzQxNjhiOTBiZDY4ZGZhYjc3NWM5Y2FwLTIxLAotICAgIC0weDEuMmQ5N2M0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTMKLSAgICAtMHgxLmYzMzIxZDIzNGYxMzYzZDE4N2RkMDk1MjhiNjdiMjE1cC0yMiwKLSAgICAweDEuMmQ5N2M2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTQKLSAgICAtMHgxLmYzMzIxZDIzNGYxMzYzZDE4N2RkMDk1MjhiNjdiMjE1cC0yMiwKLSAgICAtMHgxLjJkOTdjNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODE1Ci0gICAgMHgxLjk5YmM1Yjk2MWIxYWNhY2ExOGQ5NzFmNjhhZTk5ZGE5cC0yNywKLSAgICAweDEuMmQ5N2M4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTYKLSAgICAweDEuOTliYzViOTYxYjFhY2FjYTE4ZDk3MWY2OGFlOTlkYTlwLTI3LAotICAgIC0weDEuMmQ5N2M4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTcKLSAgICAweDEuNmEwOWQ3YTZiNTcyYzJjODI0ZDEzN2QwNDA1ZDgxODhwLTEsCi0gICAgMHgxLjVmZGJiY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgODE4Ci0gICAgMHgxLjZhMDlkN2E2YjU3MmMyYzgyNGQxMzdkMDQwNWQ4MTg4cC0xLAotICAgIC0weDEuNWZkYmJjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTkKLSAgICAweDEuNmEwOWUyZjcwNGVlY2IxODFlM2Y1ZWNlOWJlMGNhMGZwLTEsCi0gICAgMHgxLjVmZGJiZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODIwCi0gICAgMHgxLjZhMDllMmY3MDRlZWNiMTgxZTNmNWVjZTliZTBjYTBmcC0xLAotICAgIC0weDEuNWZkYmJlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjEKLSAgICAweDEuNmEwOWVlNDc1NDEwNTBlZjU5ZWM0YmZjZTkzNWNjMWFwLTEsCi0gICAgMHgxLjVmZGJjMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODIyCi0gICAgMHgxLjZhMDllZTQ3NTQxMDUwZWY1OWVjNGJmY2U5MzVjYzFhcC0xLAotICAgIC0weDEuNWZkYmMwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjMKLSAgICAweDEuNmEwOWZjOWJlYmFiYTIwOGM4MWVjMGIxY2QzMDc1ODlwLTEsCi0gICAgMHgxLmM0NjNhOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODI0Ci0gICAgMHgxLjZhMDlmYzliZWJhYmEyMDhjODFlYzBiMWNkMzA3NTg5cC0xLAotICAgIC0weDEuYzQ2M2E4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjUKLSAgICAweDEuNmEwOWYxNGI5Y2ZjYzBmNjIyN2QzODZjYzM3MDRhMDVwLTEsCi0gICAgMHgxLmM0NjNhYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODI2Ci0gICAgMHgxLjZhMDlmMTRiOWNmY2MwZjYyMjdkMzg2Y2MzNzA0YTA1cC0xLAotICAgIC0weDEuYzQ2M2FhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjcKLSAgICAweDEuNmEwOWU1ZmI0ZGYzNWQ2NzI5ZjQ3MmRhMzQxM2U0MDRwLTEsCi0gICAgMHgxLmM0NjNhY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgODI4Ci0gICAgMHgxLjZhMDllNWZiNGRmMzVkNjcyOWY0NzJkYTM0MTNlNDA0cC0xLAotICAgIC0weDEuYzQ2M2FjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjkKLSAgICAweDEuNGFhOWMyZjJjMWRlZmI4NzI4ZjBkMmRhMTIxN2FhZTFwLTIxLAotICAgIDB4MS5mNmE3YTBwMgotICB9LAotICB7IC8vIEVudHJ5IDgzMAotICAgIDB4MS40YWE5YzJmMmMxZGVmYjg3MjhmMGQyZGExMjE3YWFlMXAtMjEsCi0gICAgLTB4MS5mNmE3YTBwMgotICB9LAotICB7IC8vIEVudHJ5IDgzMQotICAgIDB4MS4yYWE3MGJjYjA3ZDZkMGYzNmI3NzdjYjM4MGE4NDVkOXAtMjMsCi0gICAgMHgxLmY2YTdhMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODMyCi0gICAgMHgxLjJhYTcwYmNiMDdkNmQwZjM2Yjc3N2NiMzgwYTg0NWQ5cC0yMywKLSAgICAtMHgxLmY2YTdhMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODMzCi0gICAgLTB4MS42YWFjN2ExYTdjMGM3YWZjNWZjYjIzMTNhN2VjYTIyOXAtMjIsCi0gICAgMHgxLmY2YTdhNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODM0Ci0gICAgLTB4MS42YWFjN2ExYTdjMGM3YWZjNWZjYjIzMTNhN2VjYTIyOXAtMjIsCi0gICAgLTB4MS5mNmE3YTRwMgotICB9LAotICB7IC8vIEVudHJ5IDgzNQotICAgIC0weDEuNmEwOWM4YzEzZjQ4YjdhYWQ4NTFmOWQ2NDc0YmNiMzFwLTEsCi0gICAgMHgxLjE0NzVjYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODM2Ci0gICAgLTB4MS42YTA5YzhjMTNmNDhiN2FhZDg1MWY5ZDY0NzRiY2IzMXAtMSwKLSAgICAtMHgxLjE0NzVjYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODM3Ci0gICAgLTB4MS42YTA5ZGY2MWRlZDQ5ZDFlZTRmY2E0YmE2MTQwZDE3OXAtMSwKLSAgICAweDEuMTQ3NWNjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzgKLSAgICAtMHgxLjZhMDlkZjYxZGVkNDlkMWVlNGZjYTRiYTYxNDBkMTc5cC0xLAotICAgIC0weDEuMTQ3NWNjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzkKLSAgICAtMHgxLjZhMDlmNjAyN2NmNjc4YjM4ZmM4OTkyY2Q5OTkwMzAycC0xLAotICAgIDB4MS4xNDc1Y2VwMwotICB9LAotICB7IC8vIEVudHJ5IDg0MAotICAgIC0weDEuNmEwOWY2MDI3Y2Y2NzhiMzhmYzg5OTJjZDk5OTAzMDJwLTEsCi0gICAgLTB4MS4xNDc1Y2VwMwotICB9LAotICB7IC8vIEVudHJ5IDg0MQotICAgIC0weDEuZmZmZmZmZmZmYzE5NzJjOTAyZWYzMWMzN2NiNTQ4MTdwLTEsCi0gICAgMHgxLjJkOTdjNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODQyCi0gICAgLTB4MS5mZmZmZmZmZmZjMTk3MmM5MDJlZjMxYzM3Y2I1NDgxN3AtMSwKLSAgICAtMHgxLjJkOTdjNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODQzCi0gICAgLTB4MS5mZmZmZmZmZmZmMGNhNGU2MjYzZDI3YTAyMDQzODlkZnAtMSwKLSAgICAweDEuMmQ5N2M2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDQKLSAgICAtMHgxLmZmZmZmZmZmZmYwY2E0ZTYyNjNkMjdhMDIwNDM4OWRmcC0xLAotICAgIC0weDEuMmQ5N2M2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmQ3MDM0OThjM2I4Mjg4NTYzOTE1cC0xLAotICAgIDB4MS4yZDk3YzhwMwotICB9LAotICB7IC8vIEVudHJ5IDg0NgotICAgIC0weDEuZmZmZmZmZmZmZmZmZDcwMzQ5OGMzYjgyODg1NjM5MTVwLTEsCi0gICAgLTB4MS4yZDk3YzhwMwotICB9LAotICB7IC8vIEVudHJ5IDg0NwotICAgIC0weDEuNmEwYTBiODE1ZmIzN2IyZDAxNTUxZTA3Y2IzMDA5ZDFwLTEsCi0gICAgMHgxLjQ2YjljMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ4Ci0gICAgLTB4MS42YTBhMGI4MTVmYjM3YjJkMDE1NTFlMDdjYjMwMDlkMXAtMSwKLSAgICAtMHgxLjQ2YjljMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ5Ci0gICAgLTB4MS42YTA5ZjRlMGMyZTk4ZGViNzg2NDJiNjAzMmE3M2Q0NnAtMSwKLSAgICAweDEuNDZiOWMycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTAKLSAgICAtMHgxLjZhMDlmNGUwYzJlOThkZWI3ODY0MmI2MDMyYTczZDQ2cC0xLAotICAgIC0weDEuNDZiOWMycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTEKLSAgICAtMHgxLjZhMDlkZTQwMjRiNTk2YjUwZWIwNmQ1NjJkYjhjNzc3cC0xLAotICAgIDB4MS40NmI5YzRwMwotICB9LAotICB7IC8vIEVudHJ5IDg1MgotICAgIC0weDEuNmEwOWRlNDAyNGI1OTZiNTBlYjA2ZDU2MmRiOGM3NzdwLTEsCi0gICAgLTB4MS40NmI5YzRwMwotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIC0weDEuNGRkZDNiYTllZGNkODk4Yjk5NDZmZGQyMGFmMjJhNjhwLTIwLAotICAgIDB4MS41ZmRiYmNwMwotICB9LAotICB7IC8vIEVudHJ5IDg1NAotICAgIC0weDEuNGRkZDNiYTllZGNkODk4Yjk5NDZmZGQyMGFmMjJhNjhwLTIwLAotICAgIC0weDEuNWZkYmJjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTUKLSAgICAtMHgxLjM3NzRlZWE3YjhhYmU4ZmE4YzM4MDE0MmI5N2FmNGI2cC0yMiwKLSAgICAweDEuNWZkYmJlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTYKLSAgICAtMHgxLjM3NzRlZWE3YjhhYmU4ZmE4YzM4MDE0MmI5N2FmNGI2cC0yMiwKLSAgICAtMHgxLjVmZGJiZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODU3Ci0gICAgMHgxLjY0NDU4OGFjMjM4YWU0OTNmYTMyNDM1YmE1MTMyOWJmcC0yMSwKLSAgICAweDEuNWZkYmMwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTgKLSAgICAweDEuNjQ0NTg4YWMyMzhhZTQ5M2ZhMzI0MzViYTUxMzI5YmZwLTIxLAotICAgIC0weDEuNWZkYmMwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTkKLSAgICAweDEuNmEwOWI5ZGJjODgxYzQ1OGU3NDc5MDhjYWYyYWE1ZTFwLTEsCi0gICAgMHgxLjc4ZmRiNnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODYwCi0gICAgMHgxLjZhMDliOWRiYzg4MWM0NThlNzQ3OTA4Y2FmMmFhNWUxcC0xLAotICAgIC0weDEuNzhmZGI2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjEKLSAgICAweDEuNmEwOWQwN2M2OGZjMDEwZmZjZmQzYjE5ZjFlZTRmNDRwLTEsCi0gICAgMHgxLjc4ZmRiOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODYyCi0gICAgMHgxLjZhMDlkMDdjNjhmYzAxMGZmY2ZkM2IxOWYxZWU0ZjQ0cC0xLAotICAgIC0weDEuNzhmZGI4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjMKLSAgICAweDEuNmEwOWU3MWQwODBjMzNmNjk2NGEwN2QxYTBiZjU5ODBwLTEsCi0gICAgMHgxLjc4ZmRiYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY0Ci0gICAgMHgxLjZhMDllNzFkMDgwYzMzZjY5NjRhMDdkMWEwYmY1OTgwcC0xLAotICAgIC0weDEuNzhmZGJhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjUKLSAgICAweDEuNmEwYTAzYzYzNzQyZDYyODAyZDE2M2Q1Y2ZiM2I3ZDVwLTEsCi0gICAgMHgxLmFiNDFhZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY2Ci0gICAgMHgxLjZhMGEwM2M2Mzc0MmQ2MjgwMmQxNjNkNWNmYjNiN2Q1cC0xLAotICAgIC0weDEuYWI0MWFlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjcKLSAgICAweDEuNmEwOWVkMjU5OWZkMzY0Yzk3NjYwY2NhNjY1MmMwYTNwLTEsCi0gICAgMHgxLmFiNDFiMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY4Ci0gICAgMHgxLjZhMDllZDI1OTlmZDM2NGM5NzY2MGNjYTY2NTJjMGEzcC0xLAotICAgIC0weDEuYWI0MWIwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjkKLSAgICAweDEuNmEwOWQ2ODRmYjRkOGM4NDA2NjBkNmI0MmVjODMwMzlwLTEsCi0gICAgMHgxLmFiNDFiMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODcwCi0gICAgMHgxLjZhMDlkNjg0ZmI0ZDhjODQwNjYwZDZiNDJlYzgzMDM5cC0xLAotICAgIC0weDEuYWI0MWIycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzEKLSAgICAweDEuZjY2NTk1ZGE3YTFhZTMwOGQyNmExOGRlNGMyZWQzYTNwLTIwLAotICAgIDB4MS5jNDYzYThwMwotICB9LAotICB7IC8vIEVudHJ5IDg3MgotICAgIDB4MS5mNjY1OTVkYTdhMWFlMzA4ZDI2YTE4ZGU0YzJlZDNhM3AtMjAsCi0gICAgLTB4MS5jNDYzYThwMwotICB9LAotICB7IC8vIEVudHJ5IDg3MwotICAgIDB4MS5lY2NiMmJiNGY2NmVhODYxMjQxZmEwOWNhOWQ4YTAzNHAtMjEsCi0gICAgMHgxLmM0NjNhYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc0Ci0gICAgMHgxLmVjY2IyYmI0ZjY2ZWE4NjEyNDFmYTA5Y2E5ZDhhMDM0cC0yMSwKLSAgICAtMHgxLmM0NjNhYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc1Ci0gICAgLTB4MS4zMzRkNDRiMDk0NTQwN2IxMThiMzYxYWI3ODE3MWY2N3AtMjUsCi0gICAgMHgxLmM0NjNhY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc2Ci0gICAgLTB4MS4zMzRkNDRiMDk0NTQwN2IxMThiMzYxYWI3ODE3MWY2N3AtMjUsCi0gICAgLTB4MS5jNDYzYWNwMwotICB9LAotICB7IC8vIEVudHJ5IDg3NwotICAgIC0weDEuNmEwOWMxOTZmMjg2N2NjOTE2YWUyYjdlNmM5ZDk5YzFwLTEsCi0gICAgMHgxLmRkODVhNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc4Ci0gICAgLTB4MS42YTA5YzE5NmYyODY3Y2M5MTZhZTJiN2U2YzlkOTljMXAtMSwKLSAgICAtMHgxLmRkODVhNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc5Ci0gICAgLTB4MS42YTA5ZDgzNzkyODUwNmY3Y2ZmNzZmMDk0YjRlMDM3N3AtMSwKLSAgICAweDEuZGQ4NWE2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODAKLSAgICAtMHgxLjZhMDlkODM3OTI4NTA2ZjdjZmY3NmYwOTRiNGUwMzc3cC0xLAotICAgIC0weDEuZGQ4NWE2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODEKLSAgICAtMHgxLjZhMDllZWQ4MzExOTg3NGU1MWFlNGJiOGFlZGRjMWYycC0xLAotICAgIDB4MS5kZDg1YThwMwotICB9LAotICB7IC8vIEVudHJ5IDg4MgotICAgIC0weDEuNmEwOWVlZDgzMTE5ODc0ZTUxYWU0YmI4YWVkZGMxZjJwLTEsCi0gICAgLTB4MS5kZDg1YThwMwotICB9LAotICB7IC8vIEVudHJ5IDg4MwotICAgIC0weDEuZmZmZmZmZmZmZTU0ZTVlNGQzMmIzNDUzMTY2MDYwYjNwLTEsCi0gICAgMHgxLmY2YTdhMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODg0Ci0gICAgLTB4MS5mZmZmZmZmZmZlNTRlNWU0ZDMyYjM0NTMxNjYwNjBiM3AtMSwKLSAgICAtMHgxLmY2YTdhMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODg1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZWEzOTZhYjhhZWU1MDkzOTJjNzU1ZHAtMSwKLSAgICAweDEuZjZhN2EycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODYKLSAgICAtMHgxLmZmZmZmZmZmZmZlYTM5NmFiOGFlZTUwOTM5MmM3NTVkcC0xLAotICAgIC0weDEuZjZhN2EycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODcKLSAgICAtMHgxLmZmZmZmZmZmZmY3ZjhjZjA5ZTMyZDYzMDliZWE4NWNhcC0xLAotICAgIDB4MS5mNmE3YTRwMwotICB9LAotICB7IC8vIEVudHJ5IDg4OAotICAgIC0weDEuZmZmZmZmZmZmZjdmOGNmMDllMzJkNjMwOWJlYTg1Y2FwLTEsCi0gICAgLTB4MS5mNmE3YTRwMwotICB9LAotICB7IC8vIEVudHJ5IDg4OQotICAgIC0weDEuNmEwYTI5NGM0NWVjNzQ3YTQ3NzExYTQ5OTRkMmM1ZTRwLTEsCi0gICAgMHgxLjA3ZTRjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODkwCi0gICAgLTB4MS42YTBhMjk0YzQ1ZWM3NDdhNDc3MTFhNDk5NGQyYzVlNHAtMSwKLSAgICAtMHgxLjA3ZTRjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODkxCi0gICAgLTB4MS42YTA5ZmMwYjBlYTdlZDlmYjVkZDUwYTBjOGFmMTljYnAtMSwKLSAgICAweDEuMDdlNGNlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTIKLSAgICAtMHgxLjZhMDlmYzBiMGVhN2VkOWZiNWRkNTBhMGM4YWYxOWNicC0xLAotICAgIC0weDEuMDdlNGNlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTMKLSAgICAtMHgxLjZhMDljZWM5ZDFiYjNlZDRmODEwYzlmOTc4NmQ2MTBlcC0xLAotICAgIDB4MS4wN2U0ZDBwNAotICB9LAotICB7IC8vIEVudHJ5IDg5NAotICAgIC0weDEuNmEwOWNlYzlkMWJiM2VkNGY4MTBjOWY5Nzg2ZDYxMGVwLTEsCi0gICAgLTB4MS4wN2U0ZDBwNAotICB9LAotICB7IC8vIEVudHJ5IDg5NQotICAgIC0weDEuNGY3NmY4MDU4MmM3M2ZjMGNjMDkwM2VkOGNhN2Q2YjNwLTE5LAotICAgIDB4MS4xNDc1Y2FwNAotICB9LAotICB7IC8vIEVudHJ5IDg5NgotICAgIC0weDEuNGY3NmY4MDU4MmM3M2ZjMGNjMDkwM2VkOGNhN2Q2YjNwLTE5LAotICAgIC0weDEuMTQ3NWNhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTcKLSAgICAtMHgxLjNkZGJlMDE2MTEwOGI2OTBlZWQ3MGE3ZjU5ZGU3NTFjcC0yMSwKLSAgICAweDEuMTQ3NWNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTgKLSAgICAtMHgxLjNkZGJlMDE2MTEwOGI2OTBlZWQ3MGE3ZjU5ZGU3NTFjcC0yMSwKLSAgICAtMHgxLjE0NzVjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODk5Ci0gICAgMHgxLjYxMTIwZmY0ZjcwMTgwYjBkNTVjM2FlMGY2OTU4NWNhcC0yMCwKLSAgICAweDEuMTQ3NWNlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDAKLSAgICAweDEuNjExMjBmZjRmNzAxODBiMGQ1NWMzYWUwZjY5NTg1Y2FwLTIwLAotICAgIC0weDEuMTQ3NWNlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDEKLSAgICAweDEuNmEwOWIyYjE3Yjc0MTA1MGE2Y2ZkNjRiODFjNzY0ODVwLTEsCi0gICAgMHgxLjIxMDZjOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTAyCi0gICAgMHgxLjZhMDliMmIxN2I3NDEwNTBhNmNmZDY0YjgxYzc2NDg1cC0xLAotICAgIC0weDEuMjEwNmM4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDMKLSAgICAweDEuNmEwOWRmZjJiYmUzYzk2MTZhMzU3NmM1NWU3NzMyMDdwLTEsCi0gICAgMHgxLjIxMDZjYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTA0Ci0gICAgMHgxLjZhMDlkZmYyYmJlM2M5NjE2YTM1NzZjNTVlNzczMjA3cC0xLAotICAgIC0weDEuMjEwNmNhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDUKLSAgICAweDEuNmEwYTBkMzNmNmFiNWFmMjYyYWQ2YWQxOGFjMWNlOWZwLTEsCi0gICAgMHgxLjIxMDZjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTA2Ci0gICAgMHgxLjZhMGEwZDMzZjZhYjVhZjI2MmFkNmFkMThhYzFjZTlmcC0xLAotICAgIC0weDEuMjEwNmNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDcKLSAgICAweDEuZmZmZmZmZmZmMDY1Y2IyNDBiY2JmZGZmNDk3N2RkZjhwLTEsCi0gICAgMHgxLjJkOTdjNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTA4Ci0gICAgMHgxLmZmZmZmZmZmZjA2NWNiMjQwYmNiZmRmZjQ5NzdkZGY4cC0xLAotICAgIC0weDEuMmQ5N2M0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDkKLSAgICAweDEuZmZmZmZmZmZmYzMyOTM5ODk4ZjU4NWQ2OTQ4Y2YyZDFwLTEsCi0gICAgMHgxLjJkOTdjNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTEwCi0gICAgMHgxLmZmZmZmZmZmZmMzMjkzOTg5OGY1ODVkNjk0OGNmMmQxcC0xLAotICAgIC0weDEuMmQ5N2M2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTEKLSAgICAweDEuZmZmZmZmZmZmZmZmNWMwZDI2MzBlZTBhMjdlOGQ2ZDFwLTEsCi0gICAgMHgxLjJkOTdjOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTEyCi0gICAgMHgxLmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTI3ZThkNmQxcC0xLAotICAgIC0weDEuMmQ5N2M4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTMKLSAgICAweDEuNmEwYTM4MzFiODFkOTQ5NjZhZDhkZjRkMzc4ODI0ZjlwLTEsCi0gICAgMHgxLjNhMjhjMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTE0Ci0gICAgMHgxLjZhMGEzODMxYjgxZDk0OTY2YWQ4ZGY0ZDM3ODgyNGY5cC0xLAotICAgIC0weDEuM2EyOGMycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTUKLSAgICAweDEuNmEwYTBhZjA4MmI1YmNhN2Y1NTY5ZjRkYTY4ODNmNjRwLTEsCi0gICAgMHgxLjNhMjhjNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTE2Ci0gICAgMHgxLjZhMGEwYWYwODJiNWJjYTdmNTU2OWY0ZGE2ODgzZjY0cC0xLAotICAgIC0weDEuM2EyOGM0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTcKLSAgICAweDEuNmEwOWRkYWY0N2E1YmM4ZGJkY2I2YjEzODQ0OTAyYWVwLTEsCi0gICAgMHgxLjNhMjhjNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTE4Ci0gICAgMHgxLjZhMDlkZGFmNDdhNWJjOGRiZGNiNmIxMzg0NDkwMmFlcC0xLAotICAgIC0weDEuM2EyOGM2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTkKLSAgICAweDEuYTNiYjI1MWRjN2VmYWExZTIxMzdiYjM3ZWQ2NjU0ZGJwLTE5LAotICAgIDB4MS40NmI5YzBwNAotICB9LAotICB7IC8vIEVudHJ5IDkyMAotICAgIDB4MS5hM2JiMjUxZGM3ZWZhYTFlMjEzN2JiMzdlZDY2NTRkYnAtMTksCi0gICAgLTB4MS40NmI5YzBwNAotICB9LAotICB7IC8vIEVudHJ5IDkyMQotICAgIDB4MS40Nzc2NGEzYjk1NjY3NThlNWJhYTJlMzAyOWYxYWJiYXAtMjAsCi0gICAgMHgxLjQ2YjljMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTIyCi0gICAgMHgxLjQ3NzY0YTNiOTU2Njc1OGU1YmFhMmUzMDI5ZjFhYmJhcC0yMCwKLSAgICAtMHgxLjQ2YjljMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTIzCi0gICAgLTB4MS43MTEzNmI4OGQ0NjA4NDkwZjJkZGZlOTAxMDExMTJhZXAtMjEsCi0gICAgMHgxLjQ2YjljNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTI0Ci0gICAgLTB4MS43MTEzNmI4OGQ0NjA4NDkwZjJkZGZlOTAxMDExMTJhZXAtMjEsCi0gICAgLTB4MS40NmI5YzRwNAotICB9LAotICB7IC8vIEVudHJ5IDkyNQotICAgIC0weDEuNmEwOWEzY2MwM2M0YmJhZDIyMjJkZmU1YmUzMTc1NjVwLTEsCi0gICAgMHgxLjUzNGFiZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTI2Ci0gICAgLTB4MS42YTA5YTNjYzAzYzRiYmFkMjIyMmRmZTViZTMxNzU2NXAtMSwKLSAgICAtMHgxLjUzNGFiZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTI3Ci0gICAgLTB4MS42YTA5ZDEwZDQ2MTEyMzM1ZDBlNDNkNzM4Mzg3ZGU4Y3AtMSwKLSAgICAweDEuNTM0YWMwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjgKLSAgICAtMHgxLjZhMDlkMTBkNDYxMTIzMzVkMGU0M2Q3MzgzODdkZThjcC0xLAotICAgIC0weDEuNTM0YWMwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjkKLSAgICAtMHgxLjZhMDlmZTRlODJiNTYzN2E0YThmMzkyYzMzMDFiZTk0cC0xLAotICAgIDB4MS41MzRhYzJwNAotICB9LAotICB7IC8vIEVudHJ5IDkzMAotICAgIC0weDEuNmEwOWZlNGU4MmI1NjM3YTRhOGYzOTJjMzMwMWJlOTRwLTEsCi0gICAgLTB4MS41MzRhYzJwNAotICB9LAotICB7IC8vIEVudHJ5IDkzMQotICAgIC0weDEuZmZmZmZmZmZmOTMyNWFjZTVmNjgyYmJiOGIxMjJhMDlwLTEsCi0gICAgMHgxLjVmZGJiY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMyCi0gICAgLTB4MS5mZmZmZmZmZmY5MzI1YWNlNWY2ODJiYmI4YjEyMmEwOXAtMSwKLSAgICAtMHgxLjVmZGJiY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMzCi0gICAgLTB4MS5mZmZmZmZmZmZmYTE0NGFiYWVkNWI0YWFiODgwNjM1ZHAtMSwKLSAgICAweDEuNWZkYmJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzQKLSAgICAtMHgxLmZmZmZmZmZmZmZhMTQ0YWJhZWQ1YjRhYWI4ODA2MzVkcC0xLAotICAgIC0weDEuNWZkYmJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAtMHgxLmZmZmZmZmZmZmUxMDJlODhmZTQ3NjMzMWUxZGRlZmFmcC0xLAotICAgIDB4MS41ZmRiYzBwNAotICB9LAotICB7IC8vIEVudHJ5IDkzNgotICAgIC0weDEuZmZmZmZmZmZmZTEwMmU4OGZlNDc2MzMxZTFkZGVmYWZwLTEsCi0gICAgLTB4MS41ZmRiYzBwNAotICB9LAotICB7IC8vIEVudHJ5IDkzNwotICAgIC0weDEuNmEwYTE5ZDVmNjI2YTM1ZWUxMTJhMzQ2MzhlMDc4MDhwLTEsCi0gICAgMHgxLjZjNmNiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTM4Ci0gICAgLTB4MS42YTBhMTlkNWY2MjZhMzVlZTExMmEzNDYzOGUwNzgwOHAtMSwKLSAgICAtMHgxLjZjNmNiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTM5Ci0gICAgLTB4MS42YTA5ZWM5NGJjZjM1MjA4Y2NkMDMwNjg0ZDVkZGQ5Y3AtMSwKLSAgICAweDEuNmM2Y2JjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDAKLSAgICAtMHgxLjZhMDllYzk0YmNmMzUyMDhjY2QwMzA2ODRkNWRkZDljcC0xLAotICAgIC0weDEuNmM2Y2JjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDEKLSAgICAtMHgxLjZhMDliZjUzN2UxN2Q5MDA2NTliZDJmYTI0YzNhOGM4cC0xLAotICAgIDB4MS42YzZjYmVwNAotICB9LAotICB7IC8vIEVudHJ5IDk0MgotICAgIC0weDEuNmEwOWJmNTM3ZTE3ZDkwMDY1OWJkMmZhMjRjM2E4YzhwLTEsCi0gICAgLTB4MS42YzZjYmVwNAotICB9LAotICB7IC8vIEVudHJ5IDk0MwotICAgIC0weDEuZjdmZjUyMzYwYzYyMmIzZjk0ZDljNzI1MGJmYWQ4ZDRwLTE5LAotICAgIDB4MS43OGZkYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDk0NAotICAgIC0weDEuZjdmZjUyMzYwYzYyMmIzZjk0ZDljNzI1MGJmYWQ4ZDRwLTE5LAotICAgIC0weDEuNzhmZGI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDUKLSAgICAtMHgxLmVmZmVhNDZjMjFiYWEzZGE3YzI2NmM5NTNhMDEzNTk4cC0yMCwKLSAgICAweDEuNzhmZGI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDYKLSAgICAtMHgxLmVmZmVhNDZjMjFiYWEzZGE3YzI2NmM5NTNhMDEzNTk4cC0yMCwKLSAgICAtMHgxLjc4ZmRiOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQ3Ci0gICAgMHgxLjAwMTViOTNkZDBmMDk1YmUxZWIwYTViODdmZTVlMzNlcC0yNCwKLSAgICAweDEuNzhmZGJhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDgKLSAgICAweDEuMDAxNWI5M2RkMGYwOTViZTFlYjBhNWI4N2ZlNWUzM2VwLTI0LAotICAgIC0weDEuNzhmZGJhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDkKLSAgICAweDEuNmEwOTk0ZTY4Yjc4N2VlNGZkNjgzMGIyODgyMjU3NDVwLTEsCi0gICAgMHgxLjg1OGViNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTUwCi0gICAgMHgxLjZhMDk5NGU2OGI3ODdlZTRmZDY4MzBiMjg4MjI1NzQ1cC0xLAotICAgIC0weDEuODU4ZWI0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTEKLSAgICAweDEuNmEwOWMyMjdjZmExOTRkMWZhN2FiOTkwOWRlNTA4M2NwLTEsCi0gICAgMHgxLjg1OGViNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTUyCi0gICAgMHgxLjZhMDljMjI3Y2ZhMTk0ZDFmYTdhYjk5MDlkZTUwODNjcC0xLAotICAgIC0weDEuODU4ZWI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTMKLSAgICAweDEuNmEwOWVmNjkwZTIyODNiNjU4NTA5ZWQzMTk0ODM4MzlwLTEsCi0gICAgMHgxLjg1OGViOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTU0Ci0gICAgMHgxLjZhMDllZjY5MGUyMjgzYjY1ODUwOWVkMzE5NDgzODM5cC0xLAotICAgIC0weDEuODU4ZWI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTUKLSAgICAtMHgxLmYzOTU3YmFkNzBlMDc0MWYxZDNkNjc1MTI0NmNlMjFhcC0xLAotICAgIDB4MS5mZmZmZmVwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTYKLSAgICAtMHgxLmYzOTU3YmFkNzBlMDc0MWYxZDNkNjc1MTI0NmNlMjFhcC0xLAotICAgIC0weDEuZmZmZmZlcDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU3Ci0gICAgMHgxLjgyYWEzNzViM2MzM2U3MDY2MzczMWJhYjRiZWI2ZWQzcC03LAotICAgIDB4MS5wNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTgKLSAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCi0gICAgLTB4MS5wNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTkKLSAgICAweDEuOTQ1ZTZjNjlhNTgwZmI3YmIyN2QwMmMwZmUwZjhhNzFwLTIsCi0gICAgMHgxLjAwMDAwMnA2MwotICB9LAotICB7IC8vIEVudHJ5IDk2MAotICAgIDB4MS45NDVlNmM2OWE1ODBmYjdiYjI3ZDAyYzBmZTBmOGE3MXAtMiwKLSAgICAtMHgxLjAwMDAwMnA2MwotICB9LAotICB7IC8vIEVudHJ5IDk2MQotICAgIC0weDEuYjJkMjU1ZjJiZDA0MjNlMjllMmE1NDg3MjhmMDM0YWJwLTEsCi0gICAgMHgxLmZmZmZmZXAyNgotICB9LAotICB7IC8vIEVudHJ5IDk2MgotICAgIC0weDEuYjJkMjU1ZjJiZDA0MjNlMjllMmE1NDg3MjhmMDM0YWJwLTEsCi0gICAgLTB4MS5mZmZmZmVwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjMKLSAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCi0gICAgMHgxLnAyNwotICB9LAotICB7IC8vIEVudHJ5IDk2NAotICAgIDB4MS40YWI2NTExYTdkMzlhZDNjYzg4ZGVkMWU3NzVjYTE0N3AtMSwKLSAgICAtMHgxLnAyNwotICB9LAotICB7IC8vIEVudHJ5IDk2NQotICAgIC0weDEuYWQzZDgwYzgyZjQ0NTJiMDc2NTgxZGUyNDY0ODQzNWJwLTEsCi0gICAgMHgxLjAwMDAwMnAyNwotICB9LAotICB7IC8vIEVudHJ5IDk2NgotICAgIC0weDEuYWQzZDgwYzgyZjQ0NTJiMDc2NTgxZGUyNDY0ODQzNWJwLTEsCi0gICAgLTB4MS4wMDAwMDJwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjcKLSAgICAtMHgxLjQ1MzJjMzcyMWVkNDM0M2FkODhlZWE4OTA4YTk4OGNicC0yLAotICAgIDB4MS5mZmZmZmVwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjgKLSAgICAtMHgxLjQ1MzJjMzcyMWVkNDM0M2FkODhlZWE4OTA4YTk4OGNicC0yLAotICAgIC0weDEuZmZmZmZlcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY5Ci0gICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAotICAgIDB4MS5wMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzAKLSAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCi0gICAgLTB4MS5wMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzEKLSAgICAweDEuY2FmODUzN2MzZTQ0MmNhOGFjYTg2YzE1Njc3Mzg1M2FwLTIsCi0gICAgMHgxLjAwMDAwMnAyNAotICB9LAotICB7IC8vIEVudHJ5IDk3MgotICAgIDB4MS5jYWY4NTM3YzNlNDQyY2E4YWNhODZjMTU2NzczODUzYXAtMiwKLSAgICAtMHgxLjAwMDAwMnAyNAotICB9LAotICB7IC8vIEVudHJ5IDk3MwotICAgIC0weDEuNGVhYTY2N2JhMGI5MGRmYjA1YWIzZDljMjQ3Y2RlZTdwLTEsCi0gICAgMHgxLmZmZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc0Ci0gICAgLTB4MS40ZWFhNjY3YmEwYjkwZGZiMDVhYjNkOWMyNDdjZGVlN3AtMSwKLSAgICAtMHgxLmZmZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc1Ci0gICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKLSAgICAweDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzYKLSAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAotICAgIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzcKLSAgICAtMHgxLjRlYWE1NDUxZDUzMzQ4ZWI4OWRjNDc4ZDRkMTFiZTAycC0xLAotICAgIDB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDk3OAotICAgIC0weDEuNGVhYTU0NTFkNTMzNDhlYjg5ZGM0NzhkNGQxMWJlMDJwLTEsCi0gICAgLTB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDk3OQotICAgIC0weDEuYWEyMjVlMmVmOTYyNDE5MTViNmZkMjE3NTIyODE0ZjVwLTIsCi0gICAgMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgwCi0gICAgLTB4MS5hYTIyNWUyZWY5NjI0MTkxNWI2ZmQyMTc1MjI4MTRmNXAtMiwKLSAgICAtMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgxCi0gICAgLTB4MS5hYTIyNjU3NTM3MjA0YTQzMzJmOGFjYmI3MmIwZDc2OHAtMiwKLSAgICAweDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODIKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAotICAgIC0weDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODMKLSAgICAtMHgxLmFhMjI3NDAxYjI4ODYyMGEwMzcyZDVhOTYwODQ5MTVkcC0yLAotICAgIDB4MS4wMDAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDk4NAotICAgIC0weDEuYWEyMjc0MDFiMjg4NjIwYTAzNzJkNWE5NjA4NDkxNWRwLTIsCi0gICAgLTB4MS4wMDAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDk4NQotICAgIDB4MS4xNGEyODJhYTI1YjExZjYzMTJhN2E2NTE4MGU3YzNkNHAtMSwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg2Ci0gICAgMHgxLjE0YTI4MmFhMjViMTFmNjMxMmE3YTY1MTgwZTdjM2Q0cC0xLAotICAgIC0weDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg3Ci0gICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAotICAgIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDk4OAotICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKLSAgICAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg5Ci0gICAgMHgxLjE0YTI3ZDlkYTVkNGFlYmNlNzE0MjhmOTA1N2IwOGRhcC0xLAotICAgIDB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDk5MAotICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKLSAgICAtMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkxCi0gICAgMHgxLmMxNTI4MGUwNzM3NjkyZGQ0MzY5MDhmZGM4ZTZlMmUxcC0xLAotICAgIDB4MS5mZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTIKLSAgICAweDEuYzE1MjgwZTA3Mzc2OTJkZDQzNjkwOGZkYzhlNmUyZTFwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTMKLSAgICAweDEuYzE1MjgwNjViN2Q0ZjlkYjdiYmIzYjQ1ZjVmNWIzMGFwLTEsCi0gICAgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDk5NAotICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKLSAgICAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDk5NQotICAgIDB4MS5jMTUyN2Y3MDQwOTA3NmRhMGMzMjA0ZGYxZTA5OWE4M3AtMSwKLSAgICAweDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk2Ci0gICAgMHgxLmMxNTI3ZjcwNDA5MDc2ZGEwYzMyMDRkZjFlMDk5YTgzcC0xLAotICAgIC0weDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk3Ci0gICAgMHgxLmYwMTU0YTE3ODlkOGRjYzE3MmNkMjA5MmQwNWY2Mzk0cC0xLAotICAgIDB4MS5mZmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTgKLSAgICAweDEuZjAxNTRhMTc4OWQ4ZGNjMTcyY2QyMDkyZDA1ZjYzOTRwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTkKLSAgICAweDEuZjAxNTQ5ZjdkZWVhMTc0ZjA3YTY3OTcyYmYyOWYxNDhwLTEsCi0gICAgMHgxLnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMDAKLSAgICAweDEuZjAxNTQ5ZjdkZWVhMTc0ZjA3YTY3OTcyYmYyOWYxNDhwLTEsCi0gICAgLTB4MS5wLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAxCi0gICAgMHgxLmYwMTU0OWI4ODkwYzJmNjYzMzdjYWMxNWE3MjM3YzhlcC0xLAotICAgIDB4MS4wMDAwMDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAyCi0gICAgMHgxLmYwMTU0OWI4ODkwYzJmNjYzMzdjYWMxNWE3MjM3YzhlcC0xLAotICAgIC0weDEuMDAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMwotICAgIDB4MS5mYzAxNTUyZmQwNjhlZTgzZjViNzQyYzA1MjQ1ZThiMnAtMSwKLSAgICAweDEuZmZmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNAotICAgIDB4MS5mYzAxNTUyZmQwNjhlZTgzZjViNzQyYzA1MjQ1ZThiMnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwMDUKLSAgICAweDEuZmMwMTU1MjdkNWJkMzZkYTNjZDQyNTNiZWRlMzE5Y2FwLTEsCi0gICAgMHgxLnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMDYKLSAgICAweDEuZmMwMTU1MjdkNWJkMzZkYTNjZDQyNTNiZWRlMzE5Y2FwLTEsCi0gICAgLTB4MS5wLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA3Ci0gICAgMHgxLmZjMDE1NTE3ZTA2NWFmYjZiYjEwMmMxOGY1OTE5ODIwcC0xLAotICAgIDB4MS4wMDAwMDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA4Ci0gICAgMHgxLmZjMDE1NTE3ZTA2NWFmYjZiYjEwMmMxOGY1OTE5ODIwcC0xLAotICAgIC0weDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwOQotICAgIDB4MS5mZjAwMTU1NjllZjdlMmI5NjMwMWU2Zjc1MmMwMTlkNHAtMSwKLSAgICAweDEuZmZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMAotICAgIDB4MS5mZjAwMTU1NjllZjdlMmI5NjMwMWU2Zjc1MmMwMTlkNHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwMTEKLSAgICAweDEuZmYwMDE1NTQ5ZjRkMzRjYTBlMWVlNjUwOWJjNDJiNzFwLTEsCi0gICAgMHgxLnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwMTIKLSAgICAweDEuZmYwMDE1NTQ5ZjRkMzRjYTBlMWVlNjUwOWJjNDJiNzFwLTEsCi0gICAgLTB4MS5wLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEzCi0gICAgMHgxLmZmMDAxNTUwOWZmN2QyZWU2NDE4ZTkyNGYwZGU1ZTk3cC0xLAotICAgIDB4MS4wMDAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE0Ci0gICAgMHgxLmZmMDAxNTUwOWZmN2QyZWU2NDE4ZTkyNGYwZGU1ZTk3cC0xLAotICAgIC0weDEuMDAwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNQotICAgIDB4MS5mZmMwMDE1NWQyNzdkNThlNzI3Y2Q5NWM0M2Y3NTljZnAtMSwKLSAgICAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNgotICAgIDB4MS5mZmMwMDE1NWQyNzdkNThlNzI3Y2Q5NWM0M2Y3NTljZnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNgotICB9LAotICB7IC8vIEVudHJ5IDEwMTcKLSAgICAweDEuZmZjMDAxNTU1MjdkMmIxMmFlZGI0OWQ5MjkyOGRmNzJwLTEsCi0gICAgMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwMTgKLSAgICAweDEuZmZjMDAxNTU1MjdkMmIxMmFlZGI0OWQ5MjkyOGRmNzJwLTEsCi0gICAgLTB4MS5wLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE5Ci0gICAgMHgxLmZmYzAwMTU0NTI4N2Q0OWI1Nzk3MmFmNTE0NTY2M2EwcC0xLAotICAgIDB4MS4wMDAwMDJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIwCi0gICAgMHgxLmZmYzAwMTU0NTI4N2Q0OWI1Nzk3MmFmNTE0NTY2M2EwcC0xLAotICAgIC0weDEuMDAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMQotICAgIDB4MS5mZmYwMDAxNTc1NDk5ZjNkNzk5NmUyZGExMWNkZWIyNHAtMSwKLSAgICAweDEuZmZmZmZlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMgotICAgIDB4MS5mZmYwMDAxNTc1NDk5ZjNkNzk5NmUyZGExMWNkZWIyNHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNwotICB9LAotICB7IC8vIEVudHJ5IDEwMjMKLSAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMjhhMjgwZTk3YmNkNTljOGFwLTEsCi0gICAgMHgxLnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEwMjQKLSAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMjhhMjgwZTk3YmNkNTljOGFwLTEsCi0gICAgLTB4MS5wLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI1Ci0gICAgMHgxLmZmZjAwMDE1MTU0YTlmMGNhZTRhNjIxNTE1MDFjZDBhcC0xLAotICAgIDB4MS4wMDAwMDJwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI2Ci0gICAgMHgxLmZmZjAwMDE1MTU0YTlmMGNhZTRhNjIxNTE1MDFjZDBhcC0xLAotICAgIC0weDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyNwotICAgIDB4MS5mZmZmZmZmMDAwMDAyMDE1NTU0NGZmZjQ5ZmNhMzhlNnAtMSwKLSAgICAweDEuZmZmZmZlcC0xNQotICB9LAotICB7IC8vIEVudHJ5IDEwMjgKLSAgICAweDEuZmZmZmZmZjAwMDAwMjAxNTU1NDRmZmY0OWZjYTM4ZTZwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyOQotICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1NTU1NDlmNDlmNDlmN3AtMSwKLSAgICAweDEucC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEwMzAKLSAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCi0gICAgLTB4MS5wLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMQotICAgIDB4MS5mZmZmZmZlZmZmZmZjMDE1NTUxNWZmZjRhMTQ5NmMxY3AtMSwKLSAgICAweDEuMDAwMDAycC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEwMzIKLSAgICAweDEuZmZmZmZmZWZmZmZmYzAxNTU1MTVmZmY0YTE0OTZjMWNwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMwotICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwN2ZmZmZmYzAxNTU1NXAtMSwKLSAgICAweDEuZmZmZmZlcC0yOAotICB9LAotICB7IC8vIEVudHJ5IDEwMzQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDdmZmZmZmMwMTU1NTVwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDAxNTU1NXAtMSwKLSAgICAweDEucC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEwMzYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCi0gICAgLTB4MS5wLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNwotICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZlZmZmZmZmMDAxNTU1NXAtMSwKLSAgICAweDEuMDAwMDAycC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEwMzgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmJmZmZmZWZmZmZmZjAwMTU1NTVwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzOQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDFmZmZmZmYwMDAxNXAtMSwKLSAgICAweDEuZmZmZmZlcC0zMQotICB9LAotICB7IC8vIEVudHJ5IDEwNDAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAxZmZmZmZmMDAwMTVwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTMxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAxNXAtMSwKLSAgICAweDEucC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEwNDIKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCi0gICAgLTB4MS5wLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmJmZmZmZmMwMDAxNXAtMSwKLSAgICAweDEuMDAwMDAycC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEwNDQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZlZmZmZmZiZmZmZmZjMDAwMTVwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0NQotICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKLSAgICAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ2Ci0gICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAotICAgIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0NwotICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKLSAgICAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNDgKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0OQotICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKLSAgICAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNTAKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA1MQotICAgIC0weDEuODg3N2EyOWUzZDdiNmRlZmNiNTI4ZTg2ZjRjM2UwOWFwLTEsCi0gICAgMHgxLmZmZmZmY3AxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUyCi0gICAgLTB4MS44ODc3YTI5ZTNkN2I2ZGVmY2I1MjhlODZmNGMzZTA5YXAtMSwKLSAgICAtMHgxLmZmZmZmY3AxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUzCi0gICAgLTB4MS5mZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMDhlZWNmNTRhMXAtMSwKLSAgICAweDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMDhlZWNmNTRhMXAtMSwKLSAgICAtMHgxLjkyMWZiNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NQotICAgIC0weDEuNzc3YTVjZjcyY2VjYzRjZGUzYTMxZTdkNWEwMjYxNDJwLTI1LAotICAgIDB4MS45MjFmYjZwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNTYKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlY2M0Y2RlM2EzMWU3ZDVhMDI2MTQycC0yNSwKLSAgICAtMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NwotICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKLSAgICAweDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU4Ci0gICAgMHgxLjE0YTI3ZDlkYTVkNGFlYmNlNzE0MjhmOTA1N2IwOGRhcC0xLAotICAgIC0weDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU5Ci0gICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAotICAgIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDEwNjAKLSAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCi0gICAgLTB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDEwNjEKLSAgICAweDEuMTRhMjgyYWEyNWIxMWY2MzEyYTdhNjUxODBlN2MzZDRwLTEsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNjIKLSAgICAweDEuMTRhMjgyYWEyNWIxMWY2MzEyYTdhNjUxODBlN2MzZDRwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYzCi0gICAgMHgxLjZhMDllNWUzMzM1OTgzZTVhYzkyZTczM2UzZjI0YjQycC0xLAotICAgIDB4MS45MjFmYjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY0Ci0gICAgMHgxLjZhMDllNWUzMzM1OTgzZTVhYzkyZTczM2UzZjI0YjQycC0xLAotICAgIC0weDEuOTIxZmI2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDEwNjgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDEwNjkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3MAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3MQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmY4cC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmY4cC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDczCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTE0OAotICB9LAotICB7IC8vIEVudHJ5IDEwNzQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTE0OAotICB9LAotICB7IC8vIEVudHJ5IDEwNzUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NwotICAgIDB4MS5wMCwKLSAgICAwLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3OAotICAgIDB4MS5wMCwKLSAgICAtMC4wZgotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF9jb3NmLCBjb3NmX2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX2Nvc2ZfaW50ZWxfZGF0YSkvc2l6ZW9mKGNvc2ZfaW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0ZMT0FUX0VRKGdfY29zZl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCBjb3NmKGdfY29zZl9pbnRlbF9kYXRhW2ldLmNhbGxfZGF0YSkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hY29zX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9hY29zX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzE3N2NlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2Fjb3NfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMxNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2Fjb3NfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEuYzhhNTM4YWU4M2QxZjdmZmZmZmZmZmZmZmZjZWYwOTFwLTEsCisgICAgMHgxLjQxODIxOTk5OTg1ODdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjUyMGRjNTUzZjZiMjM4MDAwMDAwMDAwMDAyMjZiOTNjcC0yLAorICAgIDB4MS5lNDVhMWM5MzY1MWVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS45MWUwMDZkNDFkOGQ4ZmZmZmZmZmZmZmZmZmZmZTRhZXAwLAorICAgIDB4MS5mZDczN2JlOTE0NTc4cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZWZlZWY2MWQzOWFjMWZmZmZmZmZmZmZmZjgyNDQ5MDRwLTMsCisgICAgMHgxLmYxMGZjNjFlMmM3OGZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjBjMTUyMzgyZDhmMWJmZjRlMTM5YjQxZTQwMjVkMGZjcDEsCisgICAgLTB4MS4wMDAwMDAwMDA2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuMGMxNTIzODJlMDczMmJlOTIzZmUwMDllYTBjNzM1NWRwMSwKKyAgICAtMHgxLjAwMDAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuZDJjZjVjYmU4YTQ3NjgwMDBkNjNiYWU5YzcyOTdiY2ZwMCwKKyAgICAtMHgxLjAwMDAwMTAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS4wYzE2NGM0NWFjYTI1MzcwYjU5ZmZkZjRhMThkNjVhMXAxLAorICAgIC0weDEuMDAwNDA0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuYTIyMmUxNjMwYTMyYzgwMDFlM2NlMjNkYTA3NGJlOWJwMCwKKyAgICAtMHgxLjAwMDdmZmZmZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjBjNzViNzMxYjljMGNlZWQwZmMzZjdjNWY5OGM1ZTFicDEsCisgICAgLTB4MS4wMTRlNDQ1YmRjZjdkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuMGM4ZGYwMGI2YTk2YjQ0YjRiYmIyMDlmYzc2NzM2OWZwMSwKKyAgICAtMHgxLjAxYTIwMzdiMWJhYzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS4wZGU0ZWRlYTcxOGJkMmRiNWI4ZjFlOGQ5NWRhMTFmNXAxLAorICAgIC0weDEuMDY0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuMGU0YjdjODRkMTBmZjJjZGMwOWQ4NjI5YzM3YzZiZjlwMSwKKyAgICAtMHgxLjA3YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjBmMmU0MGQwOTA2MGYxYTNkOTQ3MzFhNmNhNzBhOGRkcDEsCisgICAgLTB4MS4wYWE3ZjcxZTZlNzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMGY0MzQ0NWVmNTYwNmZmZmEzMmRmMWQ4OGZmNjkxZWZwMSwKKyAgICAtMHgxLjBhZWZiNTAyMDIzYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS4xMDFhZGI4ODFhODBiMjRkNmI3OGRiZGE5ZjEwOTcyOHAxLAorICAgIC0weDEuMGRjZTFiOWMzNzM4N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjEwZTYyZmE3NjllNjUzNGU2ODhjNGUwZTMzZWNhNTA1cDEsCisgICAgLTB4MS4xMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS4xMWMzMzc5N2FmZGRhYmJlYTI0ZGMzNTQ3NTk0YzVjMHAxLAorICAgIC0weDEuMTM2YWU4OTBhMGIyOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjFiYWUyNTM1ZWFlZTBjMTI5NmM2ZWFiMTJkMjcxMTRhcDEsCisgICAgLTB4MS4zNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS4yMzhkNGY2M2MwMTM3NDYxY2E3YzY2MzVmZDAyMjViY3AxLAorICAgIC0weDEuNGM4ZGYzMGUwZjlmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmJkNGMwNjBlOWQ0ZmE4MDAwYWUyNDE0ZTQ5YzQ0OWRlcDAsCisgICAgLTB4MS41N2NwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5mMzczOWRmMTZkNTgxMDAwOGRiYjhmODYyMDYyNzRlM3AwLAorICAgIC0weDEuN2MwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuMzU5ZDI2ZjkzYjZjMDgwMDFiODIyOTcxZWFkNTZlNGNwMSwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5mNGFhMGVjYmU5Y2EwN2ZmNTM4M2U2Y2JkZWRhMGU2ZnAwLAorICAgIC0weDEuODA4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuM2YxNzYyODNmOTEyZjRkNWM3MTI5YWQ5ZjUxNDFjMWRwMSwKKyAgICAtMHgxLjk4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLjkyMzk4Y2QwNzczNGNmZmY4ZTQ2NThhZmJhNzZiOTYzcDAsCisgICAgLTB4MS45ZDc4YzI5MjcwYzM3cC0xMgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjAyNDFjY2M3Nzk3YjI4MDAxZDhiM2VkNTMwMjg4MTY3cDEsCisgICAgLTB4MS5iYTdjNWFmN2NkOTg4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuYTBmYWQ3YTBmZjZmZjdmZjc3ZTQ0ZWM3YjVlZjliYTNwMCwKKyAgICAtMHgxLmRiMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzExODU0YmRkcDAsCisgICAgLTB4MS5mOWEyNDc1ZDM3YTA0cC0xMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcxMTkzNjhlNXAwLAorICAgIC0weDEuZmI2NWU4NmRjN2U1MnAtMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuODIxZjNjYmVjZjBhNTc3Zjk4ZDkxMjJiNGY3YjM3MzdwMSwKKyAgICAtMHgxLmZjMDExOTBjNWYxZDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS45MzFlYjQ2ZTZkOGZkODAwMTljZjJlYzAwMmQxZWE2ZXAwLAorICAgIC0weDEuZmRmZGZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmQyYmRjZGVhNGJiZmYyOGVlMTUxM2NlMDU4MWU2YjgwcDAsCisgICAgLTB4MS5mZjc3ZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuYjIzNTI5NGMzNzZmOWZmYmUzY2RhODVlZmI2N2M2NThwMCwKKyAgICAtMHgxLmZmZmY3ZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS4wYzE1MjM4MDg4MDEyODAwMDE2OTYwMTVkNDk5Nzk1ZnAxLAorICAgIC0weDEuZmZmZmZmZWZmZmZlMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjlhMjAwYWEzMzMyY2E4MDAyZGQzM2VkYTUyZGFhM2I1cDAsCisgICAgLTB4MS5mZmZmZmZmZmZmOGZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuMGMxNTIzODJkNzM0MGZmZjExYmIzZGMxZjk1YzI2ODlwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmMDNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS45YTIwMGFhMzMzMmU2N2Y4MzA1M2VmMDRkMGE0ZWI0NXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg4Njk4OThjYzUxNzAxOTgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01NQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjcyMGEzOTJjMWQ4NTI3ZjA3NjZiZGMyMzFiMzkwNzA0cDAsCisgICAgMHgxLjAwMDAwMDAwMDA4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuNTE3MDBlMGMxMzI1YjgwMGQxNmRlODkxMWM3NGRlN2RwMCwKKyAgICAweDEuMDAwMDAwMDAwNjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS43MjBhMzkyYzE5OGQzMDAwOWVkYzJhNDI4M2VhZTQxMXAwLAorICAgIDB4MS4wMDAwMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS4wYzE1MjM4MDRhMTU5MDAwMDA3MzQxYzRiZTg0NTlhM3AwLAorICAgIDB4MS4wMDAwMDAwNDZiNDA0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuMGMxNTIzNWRlM2U3Y2I5YmQyMzQ4NjE3Njk2ZmFmY2NwMCwKKyAgICAweDEuMDAwMDAwNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjUxNzAwY2YzMjkxMzU3ZmZhNGNhMzMyZWI2NDRmMGY2cDAsCisgICAgMHgxLjAwMDAwNDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS45MTFmYjExOTk2MTM5ODAwMjM4NTQ0MDU3ODRhYWRlY3AwLAorICAgIDB4MS4wMDA0MDAwMDAwMDUwcC04CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuNTEyZGYyODQ5YzU4MGU4MGEzODRlMGRmOGY4ZTVhMjlwMCwKKyAgICAweDEuMDEwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuMGEyZjIyYjRhYWY0MTM3ZmQ1NTE0ODRlZDU4YTk3MzRwMCwKKyAgICAweDEuMDM0N2Y4ZWRjOWE5NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjRlMzQ3MjdiMzY2MThlN2I0NGE2N2FhNzAyYzUzNjIzcDAsCisgICAgMHgxLjBjOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjA0YmMyNTY3ZGM5ZjhjZDg2MjU1ZGNmNGZhZmE3NjkzcDAsCisgICAgMHgxLjBjOWU4OTE2NDIwYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS4wNDAxNDk4MmQ5Y2U3M2M0NjhjNTVlYjE4NzUzMmNkN3AwLAorICAgIDB4MS4wZGRjNjhiNjc1NjU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuODEzODU3NjBmYWYwZjdmZTdmZDlkMWY3OTNlYjZlOWJwMCwKKyAgICAweDEuMGU0MzkwZTQzOTBlMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjRkNzQwNzgxMWU1ZjhmNTIyZGZkZWI0Njk1MmU4NzYycDAsCisgICAgMHgxLjBmNjY3MWQzY2VlNWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS40ZDRjMzY5ZWM2NTE2YmQwNzVhZGRiOTlhOGYxZmRjN3AwLAorICAgIDB4MS4wZmZmZmZmZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS44OTlmNGVkYzk0MmNlODAwNTVjMDA1NTgyYTlkOWY1ZnAwLAorICAgIDB4MS4xMDAwMDAwMDRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS4wMmJiNDhkYTVmN2I5MzA4ZmM3OTgzYjlmNTU1YmRmOXAwLAorICAgIDB4MS4xMDA1YTNhYzZmMDU0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuMDI4YjFhZjQ2ZDk1OTMyNGVlMTlmNDZhNzA2YjdkMzVwMCwKKyAgICAweDEuMTA1NzQxMWU1NzM1YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjAyMGI1MWIxZjcyYThjMmU0ZGU5ZWM1NDg4ZGU3ODU3cDAsCisgICAgMHgxLjExMmY4YTI3YmE1ZDVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4wMWU2OTdkNjExMDlmM2JiYjk5ZmUyNWU4ZWZhZjgzZnAwLAorICAgIDB4MS4xMTZkYTZiZjhiNDk1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuMDE3ZDliNzg5MjMzZjM5NjRmMWM2MmUzZDFmMThiYjhwMCwKKyAgICAweDEuMTIxZjE1N2NiNmMwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjAxNzZjNGQ2YjU2MzEzMjYzODFmMjc2YTFjZjVhZmYycDAsCisgICAgMHgxLjEyMmFhMjkxMzYzNmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS4wMGQyMTYwZGFhNjBmMmRjOWM1ZDIwNzBkOTBmZjExN3AwLAorICAgIDB4MS4xMzQwOTNlOGY5NzVicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMDA2NzgxOWJjMGE2MTMxYjI1MTVlMDg5ZTVmZmVhZDZwMCwKKyAgICAweDEuMTNmNDM4NzM4Zjc3MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwNWFmMGQ2NzBhNjkzMDAzMjZkMWY5MTllOTBlMzdlcDAsCisgICAgMHgxLjE0MDk2MzNkYTAwMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS4wMDA2YWFhYjIyZjk1MzQ0Njc5ODc4M2MxN2FmYTczYXAwLAorICAgIDB4MS4xNDk3NDhhOWYxZTEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuOGRjMWE3NjFmYzNlMjdmZmRkYmFjZTBjMDhmN2Q5MzFwMCwKKyAgICAweDEuMTc4cC02CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuZmFlZGJlNWQzNjJmNzdlMGUzN2RmMGJhMzgwZDZiZjJwLTEsCisgICAgMHgxLjE4ZTM3NTA5YjY0YmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5mNzIzYzg1NDU3ZjIzZTA0ODAxN2ViYWM5ODI4Zjc0YXAtMSwKKyAgICAweDEuMWMwYzcxYjBkNzdiNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmY0MDA0NWFhMDY4MjU1YmU1NDM5NWIyNjE5MWNhNmVjcC0xLAorICAgIDB4MS4xZWE3OTcyZmM4MTI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuZjNlNGE3OTczYmE5ZjViYzU4ODAyMzI3MmJmZDhmZWZwLTEsCisgICAgMHgxLjFlYmU3OGUyMGIxYzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5mMzViMThkOTEzM2RmNWMzMjg2YWQ3YzdmM2E1OTllYnAtMSwKKyAgICAweDEuMWYzMDY0OTBjNTc4MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLmVkZjA2ZTUxOGYxZDdlN2Q2MzE4ODY0NTUzNzU3YjYzcC0xLAorICAgIDB4MS4yM2E4M2Q3NjQ5Nzg4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuZWRhZTliY2I2MzBkNGQyZDk1MDgxYjE1MmI2Nzk3YTNwLTEsCisgICAgMHgxLjIzZGU1NDVkZWVlZjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5lYjU5ZDcwYzk3OWYyZGE4MjQ5ZDVhNGY1ODc1NWI4ZnAtMSwKKyAgICAweDEuMjVjN2RjYjI2YTljYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmVhNTVjZjEyODc4MDUwNTI0MmM2ODgzODUxMzAzMmU3cC0xLAorICAgIDB4MS4yNjljYWUxNmMzZjYzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuZTBjN2I2ODJiNmE4NTgxYWJmYmM3N2U5OTk1NGRiNzJwLTEsCisgICAgMHgxLjJlNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmQ5YjI5OWJiYjRlNTM3YWM2ZmY2MjIwNmQyZGEzNmIzcC0xLAorICAgIDB4MS4zNDBmYjI0MjNjNmIzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZDUzODg4OTA4NWQzMGU0Y2EzYWJlOTgxYzk4ODhkMjJwLTEsCisgICAgMHgxLjM3YTAxMzBmNjhmNmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS44ZDQwMzQzODhjZDIyZmZmODkyZTkxODBjNDMzN2Y2M3AwLAorICAgIDB4MS4zN2RiNzA5YzM3YmY1cC02CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuYzhhNTM4YWU4M2QxZjdmZmZmZmZmZmZmZmZjZWYwOTFwLTEsCisgICAgMHgxLjQxODIxOTk5OTg1ODdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS4zZWE3MTUyMGNmM2QzN2ZhZWI5NTVjZjYwNWQwYTdkYnAwLAorICAgIDB4MS40ODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5iZTc2ZTU0ZGRlZGUzZmZlODY3Yzg4MTdlN2M2ZTA2ZnAtMSwKKyAgICAweDEuNDk1ZTE2MjVmN2I2ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjkyMTU2MmIwOWNmMGU4MDA0YzVhODFjZjIyMWE2ZTU2cDAsCisgICAgMHgxLjRhNTI3NGE1Mjk0OTZwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuYWY5ZmRhYmQ1OWQ5ZTY1OGZmMGU1ZThjMGMxNDUzNzBwLTEsCisgICAgMHgxLjU0OTZlMDg3YjMzOGZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS45MWY0OGUwYTVjZWMzN2ZmZmY5NzBkODk5YWJjMzhkNnAwLAorICAgIDB4MS41OTM5Y2Q4YzlmYmVkcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmE1MjgyMTYxYjAxODU3ZmE3NGQwODIwMTk3YTE0ZjVlcC0xLAorICAgIDB4MS41YzU1NTcyNDQ3ZmI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuOWMwYzQxOTUwNjRkZjdmZmQzYzY2NzYzM2JmN2E2NTFwLTEsCisgICAgMHgxLjYyZjQyYTA5YmNlMWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS45MWM0YzIwYTBlYTdmODAwMDA0ZWI0NTA5NWZkMTkxYXAwLAorICAgIDB4MS42YmNjZTEyOTczNzNlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLjMzOWQxOGY1OWFmYjg4MDAwMGQyZmJjZTNkOWMwOGMycDAsCisgICAgMHgxLjcxODJmYzIzZWIzMTZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS43YWQ0YzU3NjJkN2I2ODAwMDAxYTNhZGZmZWRlZDVmNHAwLAorICAgIDB4MS43NDJiNjZkY2Q0MzA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuMzI4ODJjMjQyMzYwMzgwMDBjZDQ3YjBiNDZiYmE2NGVwMCwKKyAgICAweDEuNzU4YjM0NWNiOWYzZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjdmNDY5MjdjNDYzYTI4MDYyZTNiMWIwYzE2YWMxYmRicC0xLAorICAgIDB4MS43NzFlMzhlMGFmNGZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuNzgyZWJlMjQ2Y2JlMzdlM2ZiNmExZWY2NzhiMDY0YmZwLTEsCisgICAgMHgxLjdiZThkMzkwOGNiMjdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS43YTQwZGI1N2U5OTYzN2ZlYTA0MTYyODI1YjJiYzE4MXAwLAorICAgIDB4MS43ZDZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS43MjBhMzkyYzFkOTUxN2YwOTcwZTg2ZGQ1ZGU1YjYzNXAtMSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjJlMDM4ZjQ3MzdkZmI3Zjk0ZjMxZGY4OTZlYTBhYzdhcDAsCisgICAgMHgxLjg2NGZiYjdiMTJhZDZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS42NTdkZjFmM2EwYmMwODMzOGE3YWYxOWMyMzRkZmMzYXAtMSwKKyAgICAweDEuODgyZWZkMmRkNDIyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjg1Y2VhMTkxMTcwMWU4MDAwMGJjYTAzNzFiODk5Njc5cDAsCisgICAgMHgxLjg5ZmI4YTZkZjE1ZTJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4yYTIwMjM5M2VkMjM3N2ZkNTg1N2Y5NWFmODY2NTE2MXAwLAorICAgIDB4MS45NGE1Mjk0YTUyOTQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuNzgxZTQzODljMGIzNmZmZjljMTAxNzQ3Y2RhMzBlZGNwMCwKKyAgICAweDEuOWY2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjVkMzE4YmYzZTM5MGU3ZmZmODhhZjdhNWRhNjA0ZDNhcDAsCisgICAgMHgxLmE0NmU5N2Y0OTZlYTNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuMWI1MTQ4ZGQ5ZTFiZDdiMDE3OTExMzhmM2YzMjU1ODBwLTEsCisgICAgMHgxLmIzOTdhNWY5NjE4MzlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuMWE1ODNmZDEzOGZiMzdhM2Y2ZDJmMDdkYmYzZWM3YjNwLTEsCisgICAgMHgxLmI0MWE1Mzc3M2E0ZTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuMTQ4MjNjMjY1N2M4N2Y1NTVlY2QxNWJiMTkzODdlNmJwLTEsCisgICAgMHgxLmI3MjFjZjg3MzgzZjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMTMwMWZkMmFiMzRlNDgwMTgxYzNhMjgzMDExNDk3YzVwLTEsCisgICAgMHgxLmI3ZTZlNjg4NDBkZTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMTJlMDk2YWZjYjdkZTg3OTliMzk2MTlhNGQ0MjUwNTVwLTEsCisgICAgMHgxLmI3ZjdmYzk5N2JmZTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMDViOTQ0Y2M0NjAwYjdmNjExYjQ0NTUwOTAxZjBjZWVwLTEsCisgICAgMHgxLmJlOGNkNzY3OGY1MjFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuOGU5ZjZlMWQzZGVjYzdmZmY1NTYzMGVhNWNjZmQyODlwMCwKKyAgICAweDEuYzAxZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmM3YWQ5MTUzZmYyZmQ3YTc4ODc2NjY4MGQ5YTM1OHAtMiwKKyAgICAweDEuYzE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLjFkYzJjYjM4OGRjOTY4MDAwMDRiMWNhNWEyMWFmNmIwcDAsCisgICAgMHgxLmMxOTZiYTdjMzg2OTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmIyOWQ4MTVkMTQ5ODgwYTdiOTU5YzFmYjgzNzRmZDBwLTIsCisgICAgMHgxLmMyN2EwNGVhMzhjZGRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuZmIwZjM4NzU0YTBjZjdmOTZiNzQxN2I3MzlmZDY3MTJwLTIsCisgICAgMHgxLmMyODA1ODY5NzdmZDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZjE4ODQyODgwMDhlOTdmODFlMWJiZGQ5NTUyODdlNWJwLTIsCisgICAgMHgxLmM0YmVkMzQ1ZWE0MWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuZWI5NzRkODllMWMxMzYwMjZjNjg1OGI5NjNmNGYwZDJwLTIsCisgICAgMHgxLmM2MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5lMjk3ZGE4M2RmMDVmNjJjMzAyMjMyNGM1MGVjMTYxMXAtMiwKKyAgICAweDEuYzgyZjZiMWMzZDkwNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS41ODljMjk2Mzg0NmNhODAxMDc0YTQ3OGI1NWY2YjdjYXAwLAorICAgIDB4MS5jODRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuY2RkOWY4ZDZlNzc3ZjdmZmZmODUzZjA5YTA2YjU5MTFwLTIsCisgICAgMHgxLmNjY2NjY2Q0NDJiZjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuYzQyOTA3YzM3ZDFiMjdjYzBmYTMzNTBhMjgxNzk0MjFwLTIsCisgICAgMHgxLmNlZTQzN2M0ZDYxMTVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuYmYwNWRhNDUwYzk3ZjdmODgyNmM4YmZhYTllMGFmOTVwLTIsCisgICAgMHgxLmNmZmJiZjcwMmE3MzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuYmVkZjcwZDM3MDM2MTdmYWM2NTIwZjAzMzdiZjRhNTZwLTIsCisgICAgMHgxLmQwMDNkZGY1OTIzYmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuYjVkNTgyNGNkNWE1YjdmODRlOTI3MTEzZGY1MGNhMWRwLTIsCisgICAgMHgxLmQxZTg0MjEzMDc5YTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuYTg1OGMyMzExOTBlMTdmYTliMjBhM2QwMzdlYzBlNDNwLTIsCisgICAgMHgxLmQ0YTljMTZiNmI0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuOWY2YzdmZTg3MjM3NzdmYjNkMjU2NjIxMTk0ZWI2ZjFwLTIsCisgICAgMHgxLmQ2NzExMDU5YjJjZTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuOWQ1OTc4ZWYyMDQ3YjdmOTdiMDkzYWQ3NTQwYjM5YjhwLTIsCisgICAgMHgxLmQ2ZDk5YTBjOTBhNmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuOWNiMTg5NjQ1YjJkZjdmNzliMzBjYjc1ZGZmNzhlMGJwLTIsCisgICAgMHgxLmQ2ZmE4ZjAxMDIzY2ZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuOTdiNTc0MjI2YzdkNzdmZDliM2JkM2JjOGJhNzdkZDlwLTIsCisgICAgMHgxLmQ3ZjM1ZTRmMGUxOTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuOTYxM2UyNTBkYTczZTgwNTZiZWYyMmU5ZmUyOTkwNzhwLTIsCisgICAgMHgxLmQ4NDQyYTE2ZjhhMDVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuOTVlNDc0OTEzM2YyYTgwNmNjMTU2MWVjOTMzODFhMDlwLTIsCisgICAgMHgxLmQ4NGQ1MjcxZWNjZWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuODU4YzhjMGUwZjM0YmY5Yjg3YmU5MDhkMGU4Y2QzNjVwLTIsCisgICAgMHgxLmRiNjU4ZDQ3YTRmMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuNmJmMzg5MTM2MjZhYTdmZjFiOGIxNWIwNDgxNDU2ZTVwLTIsCisgICAgMHgxLmUwMDAwMDAwN2ZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuM2MyMzI4ZGRhODU3MTAwMWYxZmEzYTRiMWI3MzhhYjJwLTIsCisgICAgMHgxLmU3Y2IwN2JhODA5N2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuMzdmYTdmODhiZDU0ZDAwMjNiODY0YjIwN2FmMDMwN2NwLTIsCisgICAgMHgxLmU4NmJiZjM1MDA3ZGZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuMjljZTcxOTFjYzJmZTdmZjFhZWU0YTI5ODg2NmZhMTJwLTIsCisgICAgMHgxLmVhN2ZlYWYyOWQ1NThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuMWNlZGYyMmVkZmRhZWU1ODFhMjg0MjNjMzc0YTYzZTlwLTIsCisgICAgMHgxLmVjNGU5YTU5NjEzYWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuMTEwZTlhM2Q5M2U1ZDNiNjYxZGM4ODZiN2RmYzAxNDVwMCwKKyAgICAweDEuZWVhYzIwMDYyOWI1ZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5mZmQzYmYwNmVkMjY0MmYxYmY2NDZkZTRkZmI5MGYxNHAtMywKKyAgICAweDEuZjAxODA2OGY4NGJkZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS4xMDZlZjAyNmFiN2U3M2NiNjI1NmFiMjkzODJhMDVmM3AwLAorICAgIDB4MS5mMGRhZjE1NGRlNzJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmVjZDkxZWNmNWE5ZTgwMDBmY2YwZmUyYTQ4MTY3NmI5cC0zLAorICAgIDB4MS5mMTNlZmFjMjM0MDY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmQ3NTc3MjU0NmJmYzdmM2Q4NzUxMWNlMDA4YjhiOGMzcC0zLAorICAgIDB4MS5mMjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuZDViOTY5MzIzN2FjZTgyMWZlODc1Y2NlZmQ0Y2M0MThwLTMsCisgICAgMHgxLmYyOTc5MjlmZTYzY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuYWY2YzJkNGI1OWRlMDgwMTZmY2VmMmYwMTQ4YTc0NmRwLTMsCisgICAgMHgxLmY0YWU4NzVjNmJhY2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuYTZiZTAzNjEwMDFlZTgwNjBhZjJiYTRkZDBjNTBhYTlwLTMsCisgICAgMHgxLmY1MjE4YTkxYmFhMDdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuMGVlODViYWE1ZWI3ZjNmYmUxZmNjZDA4YmMzYjQ0OTJwMCwKKyAgICAweDEuZjYyZWMzYjk3YjYwY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS4wZTlhOTQxYjIzMjEzM2ZhNjM3NzJjYzZhMDkxMTcxYnAwLAorICAgIDB4MS5mNzNkY2Y3M2RjZjcwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjZjNDI0YjM0MzIzOGI3YzQ0YjUxYmQ3N2M3MTkwMTYwcC0zLAorICAgIDB4MS5mN2VjNDM0ZDIwMWQxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLjZhODMwMTdkZmI1NGRlNTllOTE5MjQ3MDE4ODY2MmNmcC0zLAorICAgIDB4MS5mODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuOTAyNTJkMmM0MmNkOTdmZmU5YmU1MGY5MzIyNTE2Y2NwMCwKKyAgICAweDEuZmE4NmNkN2NmMzUxM3AtOAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS4wZDU4YTM2MGM4N2M0YmJmM2QyOWQwZjRhODIxNjliYnAwLAorICAgIDB4MS5mYjlkYzVjYTczNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmZhNmM2NTFiZjMyZDc4NjYwZmI2MmJhODQ2OGE4Y2MwcC00LAorICAgIDB4MS5mYzE3NzVkYmVmMWFicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLmY3YzMyOGNmODM0Y2Q4N2RlMmI2Mzk1MDlkZGE1ZGUxcC00LAorICAgIDB4MS5mYzIxZWYzYjk4OTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmYzYzhlZDI3ZWY5ZjI4M2YyYWM3MGVjOWQ2MDk4ZDE5cC00LAorICAgIDB4MS5mYzMxN2NkNjkxZjUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLmVlYTZlOTZiNzVlYWQ4MDdiYWNhOTA2ZTU4YmI4MDU5cC00LAorICAgIDB4MS5mYzQ1NjBhMDJkNzEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjBkMWE0Y2YxYjFmZDczYjljNGE4YjUwMTdkNjQ1ZjNicDAsCisgICAgMHgxLmZjNzY0NTNlNmJhZThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuZGYzNDk0Yzc1NTZhMDNlY2Y3NTZiZjRjNWMxZDI0YjdwLTQsCisgICAgMHgxLmZjN2ZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMGQwNTEwM2I0MmM5OTQwZTZlNmM3MDVkNjVlMTc4NThwMCwKKyAgICAweDEuZmNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjljOWJiNWI0Yzk0YzgwMDFiODE3ZmVkYjBlYWNhMGVjcC00LAorICAgIDB4MS5mZDY3OGE1YTczODVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmY0ZjM5ODdjZDY4ZmY4NjkwMDkzMGEyYjk5MTQ4ZjRmcC01LAorICAgIDB4MS5mZjBiMDE2ZjdjYjhicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLmI5NmZlOWFmYTRjMTQ4MTUyZjQ4ZGQ5ZWE3NDU2NWQ2cC01LAorICAgIDB4MS5mZjQxYmYxODg2MjEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLmEzODE4OTM2MGU1ODRjMmMzMTVjMzdiNzRhOGRlMzI0cC01LAorICAgIDB4MS5mZjU0MmQ0YWYzM2U0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLmRlZjJmZWI0MjdmNTg2OTk0NWIxZTYzNDQ2ZGFhYzhlcC02LAorICAgIDB4MS5mZmM3ZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjkxMWZiOTE5YWExM2E4MDAwM2RhYjY2ZWViOTNhZjQ3cDAsCisgICAgMHgxLmZmZjdmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuN2JiOTZkNjg5YmU3Y2ExMDMwZTQzYmMzZmVjYjgxOWFwLTgsCisgICAgMHgxLmZmZmRjY2MxZDcwMWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuYjk1ZTU0NTQxYTA3MWZmY2M1NTllNTc1ZTFjNDVkODRwLTksCisgICAgMHgxLmZmZmY0MWMyODM3NTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuOTQ2NGJjMWZlYTVlNDc2ZmM3YzczMDg0N2VmMjA3MmNwLTksCisgICAgMHgxLmZmZmY2MDRjODFmMzVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuMjM4MGNlMzNjY2M1ZDgxYTFkYTQyYTY2ODE4YjUxZjRwLTksCisgICAgMHgxLmZmZmZhZDA0N2NkN2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEuMGMxNTI0YmNlYjUxOGMzYmI2OGQyZDNjMzIwZmM1NThwMCwKKyAgICAweDEuZmZmZmZiYmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mZWZmYzAzOGMzNjhmOTY3MjYxOTU1MTcyYjJkMjFlMnAtMTIsCisgICAgMHgxLmZmZmZmYzAzZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuODIxZDA5NzNiNGEwYjAwMTZjNmIxZWRmY2MwNmI2ZmZwMCwKKyAgICAweDEuZmZmZmZlM2ZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS45ZWIwNGQ0OWIyMjU5ODZhOTA2OTE3MjBiOTY3NTg5YXAtMTMsCisgICAgMHgxLmZmZmZmZjU4MTA1MzNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuMzk4OGUxNWY5OGYzZGQzNjY1YTdhNzJkOTc1NDc2MTdwLTEzLAorICAgIDB4MS5mZmZmZmY5ZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLmJiNjdhZWQyZTIzNzE2MmM4YWQ5NmI1NDgyZjYwMmJlcC0xNCwKKyAgICAweDEuZmZmZmZmY2ZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS42NTE0YmE5MDlmYmJmMzIyNmRmZDczNWRmZGY0MjE5MXAtMTQsCisgICAgMHgxLmZmZmZmZmUwZGVkMmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuOTExZmI1MTlhMDEzMjdmZmZmYWZmNjNjZmU1MWE2ZmZwMCwKKyAgICAweDEuZmZmZmZmZjAwMTA1MHAtOQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS4wYzE1MjM4NmUxZDJmNDE3OTlhNmIyODliMWRiOWU2Y3AwLAorICAgIDB4MS5mZmZmZmZmMWZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLjM5ODhlN2M4ZDRmNjBmMDAzZTc1MGU3MTI5ZWIzMWNkcC0xNiwKKyAgICAweDEuZmZmZmZmZmU3ZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS5kZWVlYjIzMTY0MDFjYjJjYjc3YWRhMDNjYThkZDQzMXAtMTcsCisgICAgMHgxLmZmZmZmZmZmMWZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuNzUyZWE4YTlkYjkzM2Q3ZGYxZDZjZmZiMDAwMDdhNWFwLTE4LAorICAgIDB4MS5mZmZmZmZmZmRkZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLmRlZWZiMmMzMjUzMGJhYjMwY2Y4YmJiMGE2OTI4ZjRjcC0xOSwKKyAgICAweDEuZmZmZmZmZmZmMWZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wYzE1MjM4MmRhYWQyYzQxZDA4YWIwOTFmOWY0M2FjNnAwLAorICAgIDB4MS5mZmZmZmZmZmYzZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLmIwMDAwMDAwMDBjZDA4MDAwMDAxMDZiYzgwNjY2ODIzcC0xOSwKKyAgICAweDEuZmZmZmZmZmZmNDljMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS4wYzE1MjM4MmQ3YzE3N2RiYjVjN2I1MWM0ZTg3NmU3MXAwLAorICAgIDB4MS5mZmZmZmZmZmZlMWUxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLjkxMWZiNTE5OTgxM2E4MDAzZWIwNDUzOTQxN2NkNDAzcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZDBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuMGMxNTIzODJkNzM2YWI2OWNjNmMzNmY1NGUwYTk1OGJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZlZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS44MDAwMDAwMDAwMDAwOTAwMDAwMDAwMDAwMDkxY2NjY3AtMjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZjdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMGMxNTIzODJkNzM2NzNmY2Q2OWI4NjVjMDAxMGNmOTZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS40ZDUzNDFiMDBiZThhN2ZlZDRjNWRmZGMyZWVlMWNjYnAtMiwKKyAgICAweDEuZTUxY2ZlM2IxYmE4YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAwLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cDAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuZGEyMjg1OWIyZDVjMjdjMmQ0NWNlNzUwNzI4Yzg4MDVwLTEsCisgICAgMHgxLjMzYjY0NWExY2FjMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuOTIxZmI1NDQ0MmQxOTEzMDMwMTM5NTQxYjliODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuOTIxZmI1NDQ0MmQxOTEzMDMwMTM5NTQxYjliODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuMzU5ZDI2ZjkzYjZjMzI1NTFhZDVjZjYzYjY1NDliNTdwMSwKKyAgICAtMHgxLjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuMGMxNTIzODJkNzM2NjZiY2E2OWI4OGYwNDc5MGI3NmNwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuMGMxNTIzODJkNzM2NjZiY2E2OWI4OGYwNDc5MGI3NmNwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuOWU3YzliODkyNjBlM2JjYjQ0ZDE0YThmZGFjMWZkNzBwLTgsCisgICAgMHgxLmZmZmQ2MGU5NGVlMzlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGM4NTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtODIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2MTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuOTIxZmI1NDQ0MjkxODQ2OTg5OGNjNTE3MDFiODM5YTFwMCwKKyAgICAweDEuMHAtNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuOTIxZmIxNDQ0MmQxODQ2OTdlZTIxYTZjNTcwZDQyMmFwMCwKKyAgICAweDEuMHAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuOTE2YWIwNDFmOTE1NTIyYzdhNjM0NTI3NjkwZTgyYTVwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS45MTZhYjA0MWY5MTU1MjI0N2E2MTQ1MjZhOTBlMzJhNXAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLjkxNmFiMDQxZjkxNTUyMWM3YTVmNDUyNWU5MGRlMmE1cDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuOTBiNWFhZTUyYzc5YjJhYTY2YjM2ZDU3N2I5NTFhYjVwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtOAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS45MGI1YWFlNTJjNzliMjlhNjZhMzZkM2Y3YjZkMWE3MHAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjkwYjVhYWU1MmM3OWIyOGE2NjkzNmQyNzdiNDUxYTJhcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuOGY0YjlkYjFmNTlhNzg0NTA3MjhkMDdmY2VjODI4NDRwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtNworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS44ZjRiOWRiMWY1OWE3ODI1MDZhOGNkN2ZiYWM3OWM0Y3AwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjhmNGI5ZGIxZjU5YTc4MDUwNjI4Y2E3ZmE2YzcxMDQ5cDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuOGM3NzZmN2Q3MjkxZjUxMzkyZjViOThiNGY5ZWY2NDBwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS44Yzc3NmY3ZDcyOTFmNGQzOGVmNTU5ODE0ZTg2ZDcxZHAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjhjNzc2ZjdkNzI5MWY0OTM4YWY0Zjk3NzRkNmViNzlmcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuODZjZTc0N2ViNWNiOTk2Y2FmNDQ3MDk3MTdmZWYwOTJwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS44NmNlNzQ3ZWI1Y2I5OGVjOGYzODZiOTRlNzAyN2ZlMXAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLjg2Y2U3NDdlYjVjYjk4NmM2ZjJjNjY5MmI2MDYwYzVhcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuN2I3Nzg1MmM2MzFjMzgxNjA5MTJkNGJmZjA0ZTQxZTJwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS43Yjc3ODUyYzYzMWMzNzE1MDc5MDUwNTgwMWMzNTc5Y3AwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjdiNzc4NTJjNjMxYzM2MTQwNjBkY2JmMDEzMzg1NjcxcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuNjRhMTQ0MjE3YThmMDQzMTEyZGU1ZjU1NTQ0ZTFjMjhwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtMworICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS42NGExNDQyMTdhOGYwMjI4ZTE5NTVlNzk4NGIzZjcxYnAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjY0YTE0NDIxN2E4ZjAwMjBiMDRjNWQ5ZGI1MTkxNDM1cDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMzU5ZDI2ZjkzYjZjMzkwNWU2ZDZlZjVlYjBmNTc0YWRwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS4zNTlkMjZmOTNiNmMzNGJmMzMxZDk3NTVhNjhhN2FmY3AwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjM1OWQyNmY5M2I2YzMwNzg3ZjY0M2Y0YzljMTg5N2ZkcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuOTE0MjAxNTE0OThhZGM2MWZiMjc0ZjA5ZTU0ZjE5MzdwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtOQorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS45MTQyMDE1MTQ5OGFkYzU5ZmIyNDRmMDgzNTRlMGIzN3AwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLjkxNDIwMTUxNDk4YWRjNTFmYjIxNGYwNjg1NGNmZDM2cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuOTA2NDRjYjgwODRhMjg5ZTBmZGFmMzE5YTNkNzJkMGJwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtOAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS45MDY0NGNiODA4NGEyODhlMGZjMmYyZTNhMzUwMmJhYXAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjkwNjQ0Y2I4MDg0YTI4N2UwZmFhZjJhZGEyYzkyYTQ4cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuOGVhOGRlZjk3M2EzNDE5Zjg2NzJkZTYyNzQ4MWNjMTZwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtNworICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS44ZWE4ZGVmOTczYTM0MTdmODViMmQ3YTIzMGZmMDc0NXAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLjhlYThkZWY5NzNhMzQxNWY4NGYyZDBlMWVkN2M0MjY3cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuOGIzMWRmMTg4OTM2NzA5MTJiMWMxYmU0ODg5ODg0ZWZwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS44YjMxZGYxODg5MzY3MDUxMjUxYjQzYzJjMzBlMTVmY3AwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjhiMzFkZjE4ODkzNjcwMTExZjFhNmJhMGZkODNhNjk5cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuODQ0MmJiZDI3ZjAzNmRlYzk0NmExZmJkYmZlMDdkOGZwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS44NDQyYmJkMjdmMDM2ZDZjNjQ0ZjBlZDJhNTYxYjlhYXAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLjg0NDJiYmQyN2YwMzZjZWMzNDMzZmRlNzhhZTJmMjRicDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuNzY1YjRjNDgwNDAyMTk2NjZiMmZlZjU5ZmNiMGQyZDRwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS43NjViNGM0ODA0MDIxODY0ZTdjNzY4Zjc4OTZkZjhlZnAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjc2NWI0YzQ4MDQwMjE3NjM2NDVlZTI5NTE2MmIwMmQ0cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuNWE0MTdkYWUzMWJmODIwNTk4OGUxYWZjMjk0YjkzZTdwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtMworICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS41YTQxN2RhZTMxYmY3ZmY5MjgyN2RiMTYxYTBlMDQxMXAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLjVhNDE3ZGFlMzFiZjdkZWNiN2MxOWIzMDBhY2Y4NWY5cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuMWY3YTkwNjk1Y2E5MDQ2ZjdmNzExZjNjNTI3MTc4OGRwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS4xZjdhOTA2OTVjYThmZmZmNzhjOTEwNDIyZDA5MTc5YnAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLjFmN2E5MDY5NWNhOGZiOGY3MjIxMDE0ODA3OTc0MGVlcDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEwcDAsCisgICAgMHgxLjBwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5OWVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOTllcDAsCisgICAgMHgxLjBwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4Mzk5ZXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuOTIxZmI1NDA0MmQxODQ2OTg5OGNlNTBjNTcwZDhlZjdwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuOTIxZmI1NDA0MmQxODQ2OTg5OGNjNTBjNTcwZDhlZjdwMCwKKyAgICAweDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuOTIxZmI1NDA0MmQxODQ2OTg5OGM4NTBjNTcwZDhlZjdwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuOTIxZmI1MjQ0MmQxODQ2OTg5OGRhZmMxYWM2MmU0NGNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuOTIxZmI1MjQ0MmQxODQ2OTg5OGNhZmMxYWM2MmU0NGNwMCwKKyAgICAweDEuMHAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuOTIxZmI1MjQ0MmQxODQ2OTg5OGFhZmMxYWM2MmU0NGNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuOTIxZmI0YzQ0MmQxODQ2OTg5OGI2ZmMxYWM2MmU0NGNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuOTIxZmI0YzQ0MmQxODQ2OTg5ODc2ZmMxYWM2MmU0NGNwMCwKKyAgICAweDEuMHAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuOTIxZmI0YzQ0MmQxODQ2OTg5N2Y2ZmMxYWM2MmU0NGJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuOTIxYmI1NDQ0MmM2ZDliZWZlOTU0ZGEwODc2NTU0N2ZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuOTIxYmI1NDQ0MmM2ZDliZWRlOTU0ZDlmODc2NTU0NzNwMCwKKyAgICAweDEuMHAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuOTIxYmI1NDQ0MmM2ZDliZTllOTU0ZDlkODc2NTU0NWJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuOGUxZmFhOTk0YjU3MzE4NTNlNTk4NzY0MjMzMzFhMzJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS44ZTFmYWE5OTRiNTczMTY1M2Q1OTdiNjM4MzJhNTliY3AwLAorICAgIDB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjhlMWZhYTk5NGI1NzMxMjUzYjU5NjM2MjQzMThkOGEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuOGExZjVmZTU1Mjc0YTA5YWRhYzQxYWQ5MjE0Nzk3ZDhwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS44YTFmNWZlNTUyNzRhMDVhZDJjMjlhODkwZmMzYTczMHAwLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjhhMWY1ZmU1NTI3NDlmZGFjMmJmOTllOGVjYmJjNDYycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuODIxZDA5NjVhZDliNmJhM2JlMzE3YjgyYTVhMDljOTNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS44MjFkMDk2NWFkOWI2YjIzN2UwMTUzNWY4NjAzYTNhY3AwLAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjgyMWQwOTY1YWQ5YjZhMjJmZGExMDMxOTQ2YzlhNWNlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuNzIwYTM5MmMxZDk1NDk1M2MwZjAxZGNjZDcyOTZmOTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS43MjBhMzkyYzFkOTU0ODUxYmFkYmQ2Y2QyZDhlNzkyY3AwLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjcyMGEzOTJjMWQ5NTQ2NGRhZWIzNDhjZGRhNTgyYTEzcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuNTE3MDBlMGMxNGIyNTIwMGRmZjliNmZkYTBmNzM2ZTNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS41MTcwMGUwYzE0YjI0ZmYwMTU2NTVjNWVjNWE3YWFhM3AwLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLjUxNzAwZTBjMTRiMjRiY2U4MDNjYTcyMTBmMDU0NDEzcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuMGMxNTIzODJkNzM2NWNlNGM1ODQ5MjFjMWQ4N2YwZWRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAwLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjBjMTUyMzgyZDczNjRmMDk4ODEwNjVmNWM4M2I5ZTFhcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMDBhYWFhYWFhYWFhYWFhYmRkZGRwLTI2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuOTIxZmI1NDQ0MmQxYmU3MTZjZTA5M2I5NGZiODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxYTdkMGNlN2ExNDdkODUzODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuOTIxZmI1NDQ0MmQxOTEzMDMwMTM5NTQxYjliODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuOTIxZmI1NDQ0MmQxN2E4ZjkxYWQxNjA1ZWQzODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuOTIxZmI1NDQ0MmQxNjNlZWYzNDY5NmNhMWZiODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuMGMxNTIzODJkNzM2YTZiY2E2OWI4OGYwM2Q4MTg2ZDBwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuMGMxNTIzODJkNzM2ODZiY2E2OWI4OGYwNDQ0NDg2Y2RwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuMGMxNTIzODJkNzM2NjZiY2E2OWI4OGYwNDc5MGI3NmNwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuMGMxNTIzODJkNzM2NDZiY2E2OWI4OGYwNDc2NjE4YWZwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuMGMxNTIzODJkNzM2MjZiY2E2OWI4OGYwNDNjNGFhOTVwLTEsCisgICAgMHgxLmJiNjdhZTg1ODRjYWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwYWFhYWFhYWFhYWFhYWJkZGRkcC0yNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS45MjFmYjUyNDQyZDE4NDY5ODk4Y2FmYzFhYzYyZTQ0Y3AxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS41NWJjZjNjNGE0Njk0MGU0Njc5NjFhNjkyNjI2MTE4OHAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS4zY2IwNzg1MzE5YjczNDMwNmZhNzNlN2NiODJlYjU0MHAxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hY29zZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvYWNvc2ZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkY2E5YTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvYWNvc2ZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsOTgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2Fjb3NmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjBjMjU3YTcwNTBmYzNjZWEyNGYzMDI5YTJhZDJlODE1cDEsCisgICAgLTB4MS4wMDM4OThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjBjNWYxNjc5NDI4NGE4MTRlNTdkZDFhZWFmZjI5MzVkcDEsCisgICAgLTB4MS4wMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuMGM4YjBhNzc5MDA5YzM3NzVlZWUzNThiZTE1M2JhNjVwMSwKKyAgICAtMHgxLjAxOThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjBjOWM2Njc2MzBhYzE0NjViNjEyYmU5MWY4ODAwMzA1cDEsCisgICAgLTB4MS4wMWQ0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS4wY2E5MjI0MzZhMGZmOTAyYzZjZWE3YmVlMzlmMjE2NHAxLAorICAgIC0weDEuMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjBjYjI2NTdlMGRjZTg0NGFhZDEwZDUyMTFhZDE0MzljcDEsCisgICAgLTB4MS4wMjIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4wZGY4YjlmZmQ1MjdhYTIxN2U2NjhlZWQ1Yjk4MTMwZHAxLAorICAgIC0weDEuMDY4NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuMGU2NzdkNmNhMTZhMGFhM2E5ZDBlMTIzMjRiNTZiN2ZwMSwKKyAgICAtMHgxLjA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5iMzM3NDgwMDY5MmU2MmNjYjI4MjMyY2YxMjQ0MDNlZnAwLAorICAgIC0weDEuMDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjBmOTMxOTdkMzExMDZkOWY5ZGJhOWNlODg4NDZlNTIwcDEsCisgICAgLTB4MS4wY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjExMjNlNTZkMWRlMTM0NzQyNmY2ZmEzYTI1Yjk1YzhjcDEsCisgICAgLTB4MS4xMTUwZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS4xMTJhYmQ4ZTU2MGI2MTI5NWY3NmMzNzg1NGNjNDA0ZHAxLAorICAgIC0weDEuMTE2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLmU2NzhkMzAwNmRmZWVhODQ2NjUwOGU5YzZmZWU2N2E0cDAsCisgICAgLTB4MS40YjUyMjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS45NzlmZDEwMDY3MGQ1NzY2ODhjZmFhNjYyZTg5NDgxOHAwLAorICAgIC0weDEuNjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS45MjFmYjYwMDQyZDA4NDY5ODk5ZGFiMGMxMjA1OGY1OXAwLAorICAgIC0weDEuNzdmZmZlcC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjA3ODI4YmZmYmQyNmE5ZjU0MjViM2M3NjkxZDExNDVmcDEsCisgICAgLTB4MS5lMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjgyMWZhZWYwNjE4MTQzYzg0NjE0OTFmYzAyOTg0MjIwcDEsCisgICAgLTB4MS5mYzAxNTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS44NTQ5MTEwNjdkMDBiMDRmODk1NzI0ZDI0ZDI4MzBhNHAxLAorICAgIC0weDEuZmQ2ZDQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuODkyYjI5MDY4ZjVlZDYwY2JjODE0MWNlYjFmZjE3MDFwMSwKKyAgICAtMHgxLmZlYmY1OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjg5MmQ3YWZiMDE1YWIzN2Q2ZWNjYzdmZjc3NzJiNDQ3cDEsCisgICAgLTB4MS5mZWJmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS45MjJmYjUwMDM1N2MwZDBkZjgxNDU5M2VkMGQ4YTZmNnAwLAorICAgIC0weDEuZmZmNzdlcC0xMworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLmQyY2Y1NGZmOTI5ZTJkNWJlMTQxNmM1MGQ5ZDc5NjYycDAsCisgICAgLTB4MS5mZmZmYzZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS41MTZmZWNmZjZhZGZhMzEzZjI1MWFlZDFlMWEyMmY1MXAwLAorICAgIDB4MS4wMDAwODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS43MjBhMjJmZjk3YjgzNTM1NjEyY2JhMTIwMjljNjI2Y3AwLAorICAgIDB4MS4wMDAwYjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS45MjBmYjUwMDAwMjZiNzlkMWEwM2ZlYWU2MGIzYWQxOHAwLAorICAgIDB4MS4wMDA0NDRwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuMGMwMjk2ZmU5M2NiOGUyZGYwNDlkMDdmYzFmNzE1NzNwMCwKKyAgICAweDEuMDAyMDIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuMGJlY2FjMDAwMWVkOTVjYWFiYzhhYWY3YWM3MWJhYWRwMCwKKyAgICAweDEuMDA0NjE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuODIxNDQ0ZmZmYTUwMjA1OGZlZTY0ZDI5NDQzZjY2NzNwMCwKKyAgICAweDEuMDA4Y3AtNAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjkyMWZhNTAwMDJkMTg0NjZiYzJmYmFmMmRmYmZlNWMwcDAsCisgICAgMHgxLjA0NDRwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuODlmYzUyMDAwMDY4NjBkNjY0ZjE3NzlmNjQzM2JiNmJwMCwKKyAgICAweDEuMDQ2MTJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuMDY2ZDA2ZmYyNGNiMDg2NTA3YTMxMzZjYmUxN2Y1M2JwMCwKKyAgICAweDEuMDliY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjAwNGIyNDAwMTg0YTY3ODNjY2UzN2M3NzEyNGZiYWQ3cDAsCisgICAgMHgxLjE0MjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS44ZGNlMmIwMDAwMDAyMDQ3ZWQyMDkxY2JhMDhlNjQ1ZHAwLAorICAgIDB4MS4xNDVmMzZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5mZjRlNDMxNjFmOGUxNTY4ZTNjZWY1ZWE5NTVlMjdhZXAtMSwKKyAgICAweDEuMTUzOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmZiZmQ5YzgwMjMwYmJlY2U3Mzg5YzIzNjk3Y2NmMmZicC0xLAorICAgIDB4MS4xOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmZiNTY1MjAwNmI5MjRjMzdiOThjODdkYWViMWQ4MmVjcC0xLAorICAgIDB4MS4xODhjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmI0MmE0MzBlMDBlZGJkNWRhMjRmMzM3ZTFkMjMwNzlwLTEsCisgICAgMHgxLjE4OWM3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmZhNmY0ZjIzNGI3NTk4NmRiMmRiNWI1ZGM1YzQ4Y2VjcC0xLAorICAgIDB4MS4xOTRkMjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5mNzdhMTgzMGMxM2JkYWQ4NjdkNmM0YjkwNjE2ZjA5MHAtMSwKKyAgICAweDEuMWJjNDllcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZjU3MzI1MGU2ODNlM2ZhZDIzZGI2NmMzMTkxNjE4NTRwLTEsCisgICAgMHgxLjFkNzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5mMjY1MDAwYzRiZmFiZTc3MmU3NjEyZmQ5N2ZlZDI3MnAtMSwKKyAgICAweDEuMWZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLmYyNjAyYmY3ZjQ0ZjdkZTg3ODRlYjk1ZDFiZWJhODlicC0xLAorICAgIDB4MS4xZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mMjVkZTRmZTI0ZjdjZjI3Y2QzMTZkMjgyMDY3OGYyZnAtMSwKKyAgICAweDEuMjAwMWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuZjE5NmQ5MDAwNDU0NTdmZDNiNTRjMzQ4OWM3Yzk4YmVwLTEsCisgICAgMHgxLjIwYTY1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmVjYWYzYjAwMDViNzU4NTE4NTgzY2YyNzhkYjJhZTgycC0xLAorICAgIDB4MS4yNGIwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS42ZDY5NWRmZmZmOWI2MTc1YzFkNjk2MGQ1NDAyZTg2Y3AwLAorICAgIDB4MS4yNGIxNDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5lOWUzZWRmZTUyMjk3YjdlM2JkYTQzZWRjZWMyOGFmNXAtMSwKKyAgICAweDEuMjZmOWNhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuZThlMDRjZmYxMjljMzgxOWIxMDQ3ZmYxZjE3ODM4MjhwLTEsCisgICAgMHgxLjI3Y2RkYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmU4NTljMzAwMDMzOTVlMGRhNTVjYzEwMGJmNjYxMjJlcC0xLAorICAgIDB4MS4yODNiYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5lMGMxZDYxZDc4Y2Q5NGI5ZDllNmVjNzU2MmVjMjM2ZnAtMSwKKyAgICAweDEuMmU2NGJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZGRmZjcyMzgxM2UzOGE0NDFjNzhjNzA0OTZhNjU3ODhwLTEsCisgICAgMHgxLjMwOWRhNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjg4NmU1NTAwMTM5NmUzZjQ3NTMyZDhhNzg3Nzk0ZjE0cDAsCisgICAgMHgxLjM2MTkxMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmQ0MTIxNjMxY2Y3Y2YzYjUxN2Y0NzFiNDU2YmViZGUwcC0xLAorICAgIDB4MS4zODg5ODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5jYTk0OTVmYjdiMmFjNTgzZjdiNjEyYjY1OWJiNGQ3NXAtMSwKKyAgICAweDEuM2ZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuYzQ5NTczNTJhYTgyZTllNjAyYTc1NzE2YzA4N2QzNTVwLTEsCisgICAgMHgxLjQ0YThiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLmJhYTMwOTAzMGY1NTVkNjZhNjRhM2M1MGQ0OWNhMGU0cC0xLAorICAgIDB4MS40YzQ5ZWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5hZWExMzJmYjg5OGExMWJhNjVkZTYxMmNmMzJjN2Y2Y3AtMSwKKyAgICAweDEuNTU1NGRhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuNjY4ZjFmMDAxMjU1ZDFiODg0NGMyYmY3ZDhiODA0ZGVwMCwKKyAgICAweDEuNWFkNmIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuYTYzM2JhZjY3ZDM1MGIwN2NkNjFjMTc3YWIwNThhMWVwLTEsCisgICAgMHgxLjViOTEwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmEzNzI2MmY0OTkzODJiMjgwYzI5Mjk1YzgwMDQzZWYzcC0xLAorICAgIDB4MS41ZDk1YWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5hMTk0NWFmMzkyNThjNDc0MDBhNzA0OWIwZmExY2VkMHAtMSwKKyAgICAweDEuNWVmMjU0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuYTAyMmM2ZjQ5YzM2YWQ3OTg2ZTE5ZjA4N2FhOTMzZDlwLTEsCisgICAgMHgxLjVmZmYxMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjM3ZmFiMmZmZmY5NDc3YjAzNmYzNDk5NzIxOTdjMmJlcDAsCisgICAgMHgxLjYxMmMzYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjY1YjI5MmZmZmZjYzkzOTc4OGU0YjZkNDg3ZmU4Y2RmcDAsCisgICAgMHgxLjYxYTExMnAtMworICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjliOGZmNGZlMTgzYWZhYTQ3NDY0YzA3ZTYyNGQ0NDQ1cC0xLAorICAgIDB4MS42MzRkYjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS45NmRjMTcwMWI2ZTBlYjRlYTFmY2YwMjFhMmMzZDM4YXAtMSwKKyAgICAweDEuNjZhY2FhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuOGUzMmFmMDAwNjUxMjUyNGI1Y2Q4YWViNmU2M2M3OTFwLTEsCisgICAgMHgxLjZjY2RkNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjgwNGJiZDAxNmNhMTNjMTgyMDAzNjJkZWFhNTlmZWQycC0xLAorICAgIDB4MS43NjZjNDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS40ZmQ1MzJmZmZmZDBiMjNhZTk3NWNkZGQ5MTI1OTFiNHAtMSwKKyAgICAweDEuOTVjMDlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuNzg4YzFiMDAwMDcyMzZlN2M2NjRhMDcxNGRlZjc5N2JwMCwKKyAgICAweDEuOTg4YjcycC00CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuNDI2YjYzZmZmZjc1NDg0ZDk4YWZiYWNiNzFmZDFhNWFwLTEsCisgICAgMHgxLjlkY2FmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLjM5ZGU0ZWZmOTVmOGFjMDgwN2FjYTBiOWNkZDA0YTFkcC0xLAorICAgIDB4MS5hMmM1NTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS4zOGYxNmVmZmZmOWU0ZTY3NTE0ZDVkNjNhMGE2NTU3ZHAtMSwKKyAgICAweDEuYTM0ZDcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuMWE3NmNiMDU2ZjQxYmE4ZDljZDY4NzEzYTljMmIwYTNwLTEsCisgICAgMHgxLmI0MGE1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjFlZTNlODAwMDA1MDMzOGYwZmM5ZWZlN2ZmYjYwYmRjcDAsCisgICAgMHgxLmJkODY5NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjAyYmVkYWQ4NmYxODU5NmYwMjZhZGE0OTQ0ZTljMzNkcC0xLAorICAgIDB4MS5iZmZmZTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS4wMmJlOWNlMGI4N2NkMWU1ZDA5ZGEyZTBmMDQyM2JmYXAtMSwKKyAgICAweDEuYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5mZjgzMDdjMWVjNGUwNzc4NDEyNmQxYjRlZGQwNjgyM3AtMiwKKyAgICAweDEuYzE3MDcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuZmUwMmI2NTI5MTIwYWE1MTVlMTgzMjM0OWE2NjJkZmVwLTIsCisgICAgMHgxLmMxY2M1ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjc1OWVkZDAxNjJhOTJiMWE2MjkzNzI3NTQ0OGJiMDkwcDAsCisgICAgMHgxLmM3MWM3MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmUzNjg5YTYyZTkyYzg3NGUxM2Y1ODk0OGJjZmMzZjhlcC0yLAorICAgIDB4MS5jN2ZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS41ODQwYzNmZmZmOWExNmMwMmVhNGEwYmM3NjA4ZDYzY3AwLAorICAgIDB4MS5jYjA4YWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS43NTQ5MGQwMDAxMmFkZDAxNGZkMjA3ODFjZmE1OTE0OXAwLAorICAgIDB4MS5jYzcwZDhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5jMmQ3ODkwMjhkMWI2YmM0NDQ1MzU5YTc3YjY2YjIyY3AtMiwKKyAgICAweDEuY2YyYzNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuYmVmZWU0ZmRlYWE0ZGYxY2U5ZmNhMzk4OGZmYzI1NmZwLTIsCisgICAgMHgxLmNmZmQzOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLjE1ODUxYWZjMmVhMTgyMzQxMmM0NTY2Yjk3NDExNTVhcDAsCisgICAgMHgxLmRlZjdiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjU0Y2Y4OWZmZmY5YjM1YzJkNmYwZWVjMWNkZGRkN2ZjcDAsCisgICAgMHgxLmU1ZDQ0Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjczNmY4NmZmZmY4ZjFjOGUwNzU0ZjQ1Y2U0NmRlMGYwcDAsCisgICAgMHgxLmU5ZDYwZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLjExYmQ3NTg2NjJjNWI1ZDIxODZjMWQyOThjZjdmMGIycDAsCisgICAgMHgxLmVjNDc0NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmUwZjhjMzA4OTI2NjNkYWRjN2Y0M2I1YTkzMDg4NDIzcC0zLAorICAgIDB4MS5mMWYxZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5lMDA3ZGZiMzY5ODExMGViZDFkYzNkNDUyMzNlMmM3M3AtMywKKyAgICAweDEuZjFmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuZDFmYThiMDI5ODg2MTI5NTQ0ZDk0M2M2ODRhOGNlYjVwLTMsCisgICAgMHgxLmYyY2RkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmI0ZGY4NjAyNGI1OGU4ZTk2NTM0YTZlMjZkMzI0ZmEycC0zLAorICAgIDB4MS5mNDY1MjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS4zOWQ3YWNmOWQ2ZTQ4ZjM5YWQyOTYyYTg5ZDNhOGI4NnAtMywKKyAgICAweDEuZjlmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuMGQ2ZGJlN2YyZTM0MWIxOGM3NDAxOWE5OTEyMGY1OWNwMCwKKyAgICAweDEuZmI1NDcycC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuMGM1ZWI4ZjdhYjhjOWU2ODViOWQyMmU0NWQwNGYzYTJwMCwKKyAgICAweDEuZmYwMTA0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMGM1NWM5MmE1NjEzNGIzMzNmYmY0YWYyYzY4YTM4NTRwMCwKKyAgICAweDEuZmYxZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuMGM0ZTQyNmNlOTQxNGYwOGMxOTQxNTBiZGNiY2YxNzZwMCwKKyAgICAweDEuZmYzYTE0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuODIyMGRjZmY4MDFhODgxNTlhOGNhMzQxYzllZWM3OTNwMCwKKyAgICAweDEuZmY4NWNhcC01CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuMGMxNzk4M2QxZGVmNGU4MmI5NTNiZGZjN2RmZjBkZmJwMCwKKyAgICAweDEuZmZmNzdlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjBjMTU5YTcxZWMxMmM5MmUxMmIyNTkyZjk4YzY4YjAzcDAsCisgICAgMHgxLmZmZmU2NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS44MDAwMDkwMDAwOTFjY2Q5MDExNzFjNjAzNGU3YjRkM3AtOSwKKyAgICAweDEuZmZmZjcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjkwMWZiM2ZlZWIzNWMzNTVlNDBlZjJiNzMxNjZlY2NlcDAsCisgICAgMHgxLmZmZmZmMHAtOAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMGMxNTIzODJkNzM2NTg0NjViYjMyZTBmNTY3YWQxMTZwMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmRhMjI4NTI1NGU3OTU0NGZmNzBhNWM0OGY4NTZlMWUycC0xLAorICAgIDB4MS4zM2I2NDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuOTIxZmI1ZDc0NTdmODQ2OTg5OTRkOTk0OWM3NzA1NWVwLTEsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS45MjFmYjVkNzQ1N2Y4NDY5ODk5NGQ5OTQ5Yzc3MDU1ZXAtMSwKKyAgICAweDEuNmEwOWU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjM1OWQyNmY5M2I2YzMyNTUxYWQ1Y2Y2M2I2NTQ5YjU3cDEsCisgICAgLTB4MS44MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS4wYzE1MjQ4ZGUwY2IyZTFlZjQyMDIzZGM4ZWI4MDAyMHAtMSwKKyAgICAweDEuYmI2N2FlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjBjMTUyNDhkZTBjYjJlMWVmNDIwMjNkYzhlYjgwMDIwcC0xLAorICAgIDB4MS5iYjY3YWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuOWVjNGExZmZlYjRkYTBkODM0YzBhODlmOTRhOGUzZDVwLTgsCisgICAgMHgxLmZmZmQ2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Yzg1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTgyCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0NjE4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLnAtNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuOTIxZmI1NDQ0MjkxODQ2OTg5OGNjNTE3MDFiODM5YTFwMCwKKyAgICAweDEucC00MgorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS45MjFmYjE0NDQyZDE4NDY5N2VlMjFhNmM1NzBkNDIyYXAwLAorICAgIDB4MS5wLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjkxNmFiMDQzMmQwZjdkODMwZTU1YmY1ZjlkMjNlYTA2cDAsCisgICAgMHgxLjZhMDllNHAtOQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS45MTZhYjA0MjJkMGYzZDgyZjZkNGY4ZTNlMGIwMTYxYXAwLAorICAgIDB4MS42YTA5ZTZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuOTE2YWIwNDEyZDBlZmQ4MmRlOWYyY2VkNjAzMTc1YTFwMCwKKyAgICAweDEuNmEwOWU4cC05CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjkwYjVhYWU3OTQ2ZmQ3NTFiYjNmMGRkNmJkOWMzYTVmcDAsCisgICAgMHgxLjZhMDllNHAtOAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS45MGI1YWFlNTk0NmRkNzRlYmYzNDMyZTMxMTcxNGEzMnAwLAorICAgIDB4MS42YTA5ZTZwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuOTBiNWFhZTM5NDZiZDc0YmJkODExZjVlYzQxYThkMWNwMCwKKyAgICAweDEuNmEwOWU4cC04CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjhmNGI5ZGI2YzU5NTMxYjY0YzlkMWNjYTcyYTYwMDk4cDAsCisgICAgMHgxLjZhMDllNHAtNworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS44ZjRiOWRiMmM1ODUzMTU2NjllZjUyNTdhMTI1ODg1ZXAwLAorICAgIDB4MS42YTA5ZTZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuOGY0YjlkYWVjNTc1MzBmNjU5ZmUyYzAwYzA4Mjg1NTZwMCwKKyAgICAweDEuNmEwOWU4cC03CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLjhjNzc2Zjg3MTJmYWYzMzJmMDU2OWQyZTJiMWM4YWYycDAsCisgICAgMHgxLjZhMDllNHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS44Yzc3NmY3ZjEyN2FlNzMyYWVlOWEzOGMwMDY4M2MzMXAwLAorICAgIDB4MS42YTA5ZTZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuOGM3NzZmNzcxMWZhZGIzMTAzMmVkNzcyMDY0YmZhYTJwMCwKKyAgICAweDEuNmEwOWU4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjg2Y2U3NDkxZmEzYjM1MTU3NzQzOTNjYzVhMmFjOGQxcDAsCisgICAgMHgxLjZhMDllNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS44NmNlNzQ4MWY2MzliNDdkMmI1MTM1MDM5NTJkMzZiM3AwLAorICAgIDB4MS42YTA5ZTZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuODZjZTc0NzFmMjM4MzNkOTg2OGUxYTFjZTMyMjNkOTVwMCwKKyAgICAweDEuNmEwOWU4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjdiNzc4NTUzMDkxMTVlNjAyNzdkZDBhZGIyZDIxMWVjcDAsCisgICAgMHgxLjZhMDllNHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS43Yjc3ODUzMmU4ZTEwZTEzOGMwNTMwOTY0YmVjNmE0NXAwLAorICAgIDB4MS42YTA5ZTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuN2I3Nzg1MTJjOGIwYmQ2YjViZGU5NDE4YTYwYzUzNjJwMCwKKyAgICAweDEuNmEwOWU4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjY0YTE0NDZmYjQ2OWNiM2U4MTI5ZDhhZjU2OTcwZDAzcDAsCisgICAgMHgxLjZhMDllNHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS42NGExNDQyZWFlNDBhZDM4ZTgwMmFiMjMxOTA5NmNhNHAwLAorICAgIDB4MS42YTA5ZTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuNjRhMTQzZWRhODE3OGMzYmU5ZTU4Zjg4MDVhOGNkOTlwMCwKKyAgICAweDEuNmEwOWU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLjM1OWQyNzlkZGEyYzgwODRjNTcxMjI3NzRiZWRjY2Q3cDAsCisgICAgMHgxLjZhMDllNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS4zNTlkMjcxNTAzYjU2OGYzMjZhYmEyZWUxMTYzYWE1NnAwLAorICAgIDB4MS42YTA5ZTZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuMzU5ZDI2OGMyZDNlMzViYzRlZTlkZWY5YTg4M2I4ZTlwMCwKKyAgICAweDEuNmEwOWU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjkxNDIwMTUyOGM0ZGJhYjMyNDg3NDViMDEyNzQyODRjcDAsCisgICAgMHgxLmJiNjdhY3AtOQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS45MTQyMDE1MThjNGQ1YWIyZWYyZmNmNTA5MjRiYzQ4ZnAwLAorICAgIDB4MS5iYjY3YWVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuOTE0MjAxNTA4YzRjZmFiMmI4ZmFhNDIwYTZlODQyOTBwMCwKKyAgICAweDEuYmI2N2IwcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjkwNjQ0Y2JhOGRkMmJiN2RiY2U2YThkMDBkNjI4YjQ1cDAsCisgICAgMHgxLmJiNjdhY3AtOAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS45MDY0NGNiODhkY2ZiYjc3MDIxYjM1NzJjMzU2ZjcxMnAwLAorICAgIDB4MS5iYjY3YWVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuOTA2NDRjYjY4ZGNjYmI3MDQwNjIwNDJmYmEzNmJhN2ZwMCwKKyAgICAweDEuYmI2N2IwcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjhlYThkZWZlN2VjYjFhMDkzN2NiZDI3NDhkOTRhMjJjcDAsCisgICAgMHgxLmJiNjdhY3AtNworICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS44ZWE4ZGVmYTdlYjMxOTMxNTk4OTE5YmE3YjIyNmFlYnAwLAorICAgIDB4MS5iYjY3YWVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuOGVhOGRlZjY3ZTliMTg1OTQzZDU4NTVjYWI2YjhmMWVwMCwKKyAgICAweDEuYmI2N2IwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjhiMzFkZjIyYTAzYmNlYWI5MzgyMjkwM2E2NGU1NjE2cDAsCisgICAgMHgxLmJiNjdhY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS44YjMxZGYxYTlmN2JiM2E4YWM4NTE2ZmY0MjJiMDJlZnAwLAorICAgIDB4MS5iYjY3YWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuOGIzMWRmMTI5ZWJiOThhNDA5YTM4NDkxNWQ4YTFlNDZwMCwKKyAgICAweDEuYmI2N2IwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjg0NDJiYmU2YjJiZTk0YmJkYzhiYzhjZTkwODQ2MzQycDAsCisgICAgMHgxLmJiNjdhY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS44NDQyYmJkNmFjYmIzMmE5MGZjZDQ0YTY3YjlkYmZhN3AwLAorICAgIDB4MS5iYjY3YWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuODQ0MmJiYzZhNmI3ZDA4ODU4MmMwMTVhYTkyOWM2MGJwMCwKKyAgICAweDEuYmI2N2IwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjc2NWI0YzcwOTk1Y2I2ZmQxYTU3ODVmMzczNDk1MDNlcDAsCisgICAgMHgxLmJiNjdhY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS43NjViNGM1MDY4ZWZhNjg2YTI2MzU2MTA4MGVmODNkM3AwLAorICAgIDB4MS5iYjY3YWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuNzY1YjRjMzAzODgyOTU5ZjU2NDY3YmE0ZGNhMDI5MzFwMCwKKyAgICAweDEuYmI2N2IwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjVhNDE3ZTAwZDgzMzI3YzY5ZDdiMWJlNzI2NjdmYjdhcDAsCisgICAgMHgxLmJiNjdhY3AtMworICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS41YTQxN2RiZjRhMjY2MjllZTZiZmQ0YTkxOTIxMzUyMHAwLAorICAgIDB4MS5iYjY3YWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuNWE0MTdkN2RiYzE5OTliZTI4YzczN2E0OWE4YjFhOTdwMCwKKyAgICAweDEuYmI2N2IwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLjFmN2E5MTFjNjU4OWEyNjcwOTc5ZWU0YmJjZTIwN2FjcDAsCisgICAgMHgxLmJiNjdhY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS4xZjdhOTA4ZTY0YjRiZDUxNWUzMGZjYjBkMjA3ZjU1Y3AwLAorICAgIDB4MS5iYjY3YWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuMWY3YTkwMDA2M2RmYjI2NGM4OGYzY2ZiNTQ2MGExODlwMCwKKyAgICAweDEuYmI2N2IwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEwcDAsCisgICAgMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEwcDAsCisgICAgMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEwcDAsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOTllcDAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOTllcDAsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOTllcDAsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWE2cDAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhNnAwLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTZwMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4Mzk5ZXAwLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4Mzk5ZXAwLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4Mzk5ZXAwLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS45MjFmYjU0MDQyZDE4ODY5ODk4Y2M1MGM1NzBkYWVmN3AwLAorICAgIDB4MS5mZmZmZmVwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjkyMWZiNTQwNDJkMTg0Njk4OThjYzUwYzU3MGQ4ZWY3cDAsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuOTIxZmI1NDA0MmQxN2M2OTg5OGNjNTBjNTcwZDRlZjdwMCwKKyAgICAweDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS45MjFmYjUyNDQyZDFhNDY5ODk4Y2FmYzFhY2EyZTQ0Y3AwLAorICAgIDB4MS5mZmZmZmVwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjkyMWZiNTI0NDJkMTg0Njk4OThjYWZjMWFjNjJlNDRjcDAsCisgICAgMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuOTIxZmI1MjQ0MmQxNDQ2OTg5OGNhZmMxYWJlMmU0NGJwMCwKKyAgICAweDEuMDAwMDAycC0yNworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS45MjFmYjRjNDQyZDIwNDY5ODk4NzZmYzFiYzYyZTQzY3AwLAorICAgIDB4MS5mZmZmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjkyMWZiNGM0NDJkMTg0Njk4OTg3NmZjMWFjNjJlNDRjcDAsCisgICAgMHgxLnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuOTIxZmI0YzQ0MmQwODQ2OTg5ODc2ZmMxOGM2MmU0MGNwMCwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS45MjFiYjU0NDQ2YzZkOWJlZmU5NTRkODEwNzY1NWMzMnAwLAorICAgIDB4MS5mZmZmZmVwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjkyMWJiNTQ0NDJjNmQ5YmVkZTk1NGQ5Zjg3NjU1NDczcDAsCisgICAgMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuOTIxYmI1NDQzYWM2ZDliZTllOTU0ZDFjODc2NGYyZjZwMCwKKyAgICAweDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS44ZTFmYWE5ZDRiNzczMmU1MzE1NzkzNDFlZDVjMjcxM3AwLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuOGUxZmFhOTk0YjU3MzE2NTNkNTk3YjYzODMyYTU5YmNwMCwKKyAgICAweDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgMHgxLjhlMWZhYTkxNGIxNzJlNjQ5NTRiNDlmZTgyODI4ZTE2cDAsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS44YTFmNWZlZDUzNzRkMDYzZDQ5MmZhZjJlOTg5ZjVlOHAwLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuOGExZjVmZTU1Mjc0YTA1YWQyYzI5YTg5MGZjM2E3MzBwMCwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLjhhMWY1ZmQ1NTA3NDQwNDJjY2UxMjM3ZThjNDI3YjE4cDAsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS44MjFkMDk3NWI1YTE3MDFmZDVlNWUzZGZhYjcyNGUxZHAwLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuODIxZDA5NjVhZDliNmIyMzdlMDE1MzVmODYwM2EzYWNwMCwKKyAgICAweDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgMHgxLjgyMWQwOTQ1OWQ4ZjYwZmE4NWRkYjhhMDAxYjIyMTU0cDAsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS43MjBhMzk0YzVlNTdkMGYwMjg2YmFlNDc3YzgwOTVmMXAwLAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuNzIwYTM5MmMxZDk1NDg1MWJhZGJkNmNkMmQ4ZTc5MmNwMCwKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjcyMGEzOGViOWMxMDM1OGJiMWU1ZGQwNjA1OTA5OGIzcDAsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS41MTcwMGU0ZTJlMDRkOTBmZTU4NzU3ZjMzZDE3YzYzZXAwLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuNTE3MDBlMGMxNGIyNGZmMDE1NjU1YzVlYzVhN2FhYTNwMCwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLjUxNzAwZDg3ZTIwZDMwNzgzMTY2YTQ1NTQzOTY0ZTg1cDAsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS4wYzE1MjQxNmE0NzA2YzI1YzA0OTQyZmE4YmI5OGQ5OHAwLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuMGMxNTIzODJkNzM2NTg0NjViYjMyZTBmNTY3YWQxMTZwMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLjBjMTUyMjViM2NjMTljYmE1N2Y3ZjljZGVhMjNjYmE3cDAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS42YTA5ZTY4NjFmM2FhZGQxNzY4MWVlNmRiMDI5YjRjMHAtMTIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuOTIxZmJiN2Y2ZDBmODQ2OWIxZGY0OWM3N2M5ZDRkNDlwLTEsCisgICAgMHgxLjZhMDllMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS45MjFmYjhhYjU5NDk4NDY5OTAxZGI4MGZmMGJhNDllY3AtMSwKKyAgICAweDEuNmEwOWU0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLjkyMWZiNWQ3NDU3Zjg0Njk4OTk0ZDk5NDljNzcwNTVlcC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuOTIxZmIzMDMzMWIxODQ2OTg3YTQxMDc1ZmJmYjIzOTJwLTEsCisgICAgMHgxLjZhMDllOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS45MjFmYjAyZjFkZGY4NDY5NzNhYWJlMTQ4YjcwMWQxN3AtMSwKKyAgICAweDEuNmEwOWVhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjBjMTUyYzhkZTBhODNkOGU0ZTViMTM2MmY0N2E4N2MycC0xLAorICAgIDB4MS5iYjY3YWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuMGMxNTI4OGRlMGMwYTM3NGY2NzZmNDQyNTQ4MmMyODJwLTEsCisgICAgMHgxLmJiNjdhY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS4wYzE1MjQ4ZGUwY2IyZTFlZjQyMDIzZGM4ZWI4MDAyMHAtMSwKKyAgICAweDEuYmI2N2FlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjBjMTUyMDhkZTBjN2RkOGJhNzU2YWIxNmEyMzYyYWY0cC0xLAorICAgIDB4MS5iYjY3YjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMGMxNTFjOGRlMGI2YjFiYTcwMWE4NzI0OTI4ZWY0NmFwLTEsCisgICAgMHgxLmJiNjdiMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjZhMDllNjg2MWYzYWFkZDE3NjgxZWU2ZGIwMjliNGMwcC0xMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjkyMTQ2NGY1MGVhMDhhOTQxYjAxMTEwNzhlNGFiODU0cDEsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuNTViY2YyOTU1ODAwNDJlNDk0NzY2NGI0YzM5OGE2NzJwLTEsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS4zY2IwNzg5ZWVjZDE3M2IwNjQ2ZjJiZTlkMGQyMTAwNXAxLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOTllcDAsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWE2cDAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4Mzk5ZXAwLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhNnAwLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5OWVwMCwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTZwMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOTllcDAsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWE2cDAsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0wLjBmCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvYWNvc2hfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2Fjb3NoX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTU1MmY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2Fjb3NoX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDk1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2Fjb3NoX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjUyNDE3ZGIwNjdmMzdmZmY3OGRhMGU1OWM3ODZhNjNlcDgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNDg3CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4xMzJkZWYyYjUwNWViZmI3NjgxNjFkODJiZTFmODg4ZHA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDc5MworICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuMDk3OWIxZGJjMmU1NjgwMDAzMGJhOWIwNmNmODNmMTBwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAxZnA3NjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjJjMmZjNTk1NDU2YTI4MDcyMTRkMDA4N2Y0NDMyZDQ3cC0yMywKKyAgICAweDEuMDAwMDAwMDAwMDAyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS43ZmZmZmZmZmZmZmY3MDAwMDAwMDAwMDA5MWNjY2NjY3AtMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWQxMTExMTExMTFwLTIyLAorICAgIDB4MS4wMDAwMDAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5iYjY3YWU4NTRkNWRiMTZhODc4ZjllYjJhZGIwNmEwYnAtMTYsCisgICAgMHgxLjAwMDAwMDAxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS42OWRjYTI1NjNmZTAyODAyMWU5MDk0ZWQ0N2VkMDRlY3AtMTUsCisgICAgMHgxLjAwMDAwMDAzZmYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjMwZmMxOTM0ZjA5Yzk3ZmY0MmZmZWNhZDQ2Nzg5N2ZkcDYsCisgICAgMHgxLjAwMDAwMGNwMTA5CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS42YzI3NWU2OWIyOGI0NDQxYjU0NjNiNTQ3NmQ1Mzc1OHAtMTAsCisgICAgMHgxLjAwMDAxMDNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLmIxZTVkOTA2ZDVlZDc5Y2VmY2FlMjY2OGM1ZjY3YzhhcC0xMCwKKyAgICAweDEuMDAwMDE2ZmI1YjBjNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuZGVlZTljYjkwMWVkODg3MzUzY2U1Njg0Y2QyOWM4M2VwLTEwLAorICAgIDB4MS4wMDAwMWMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5kZWVlNWIzZTdkNGMzMzNjYmNiYTFmMTZkODQ3M2ExZXAtOCwKKyAgICAweDEuMDAwMWNwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZmZhYWFhZDExMGZhMzViMmU4NjMxMjk0MzliMDE3cC04LAorICAgIDB4MS4wMDAyMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMzM4YTdiMGE5YmJmNDUxNWQ5MWZjOTRiNjMxZDk0OWJwLTcsCisgICAgMHgxLjAwMDJlMmVjM2Y4MGNwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjM5ODg5MmRlOGVhYjQ2ZGRkZjg5NWU2YjJkZjcxZTE0cC03LAorICAgIDB4MS4wMDAzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuYmI2NmQwZDJkOGQyMzBmZTE3M2QwZDk3MmM1MzIxYTBwLTcsCisgICAgMHgxLjAwMDYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5mZmRlYTllY2ZlNGEyM2ZkMzc1OTI0MjBkZDFlNGFlY3AtNywKKyAgICAweDEuMDAwN2ZmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuNmEwODAzYjZkZjg1YTVhNmEyOGE3ZDI0MzQ0ZmQ3YmNwLTYsCisgICAgMHgxLjAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMTNiNzQ0YjZmYzI0MDgxZGY2NDg4ZmMwYTA1MjE0NDdwLTUsCisgICAgMHgxLjAwMjUxZjRkYmYwZjNwMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjUxNjRjNzc2ZWIzOGI3YTFiNGUzOTIyMDlmN2NkNzZjcDAsCisgICAgMHgxLjAwMzgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS43NDkyN2E1OTA2NGI5NzJjNjI3ZDBmOGRiZjNhMjA4YnAtNSwKKyAgICAweDEuMDA0M2NhM2VhMDU3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuZTliNjFmYTgzMzI3MTE0YTk0OTljNDM4NjE5N2Y3ZWNwLTUsCisgICAgMHgxLjAwNzUyMjE2NmI4NjRwMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjRhNmI1MDRhZTMwYmY4MThmZjU4ZGY3MzE3ODRhMmU1cC00LAorICAgIDB4MS4wMGQ1NWEwN2U3ZDdkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS42ZTQ4ZGYxYmQzMDRkODMyNTliNzM1MGVmMTlkNjU0YXAtNCwKKyAgICAweDEuMDEwNjM2ZjA4ZDk4Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuODZjYzg0NDg1NjQ3YjgwYzYwOGJmYzk3N2M0NjVjM2VwLTQsCisgICAgMHgxLjAxMmE4M2Q1MTE5NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjhjOTZhNjJmNDNmZGE4MjlmMmM2YWE2NGZjN2MzZjUycC00LAorICAgIDB4MS4wMTMzNmVhYTI3MDY1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5jOTZhZTE1OGMyNjE2ODFhYWUyZjFhYzViMWU3YjUzZHAtNCwKKyAgICAweDEuMDE5OTE0MjcyODZhN3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuZmQzMDNiZGNkNTFkMjA3YjM4ZmQwMzNjY2NhNGViZTBwLTQsCisgICAgMHgxLjAxZmIwYjc0NzFjMTNwMAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjAxZmJmMDkxYWQ0Mjg4MGI1MDU5MWFjNWEzYzI1YTU1cC0zLAorICAgIDB4MS4wMjA4YTdiZWMzZWY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS4yMTQyNzgwYTViNGRhODA1NzJmMWYxZTQxN2MyODFlMHAtMywKKyAgICAweDEuMDI4ZWM0YTg2MDk4NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuYzZmM2RlYmM2YjliYWY4ZmQ0OTUyZDNlNzUwMDcxMTZwNCwKKyAgICAweDEuMDQwcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuYjc3NmVhY2E2N2E4ZDgxNDcwY2ExMWUzYzE5NjE4ZjRwLTMsCisgICAgMHgxLjA1ZWE5ZTg3MzU5ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmM3MzhmMzg4Njc0YmJmZmVhYjQyNDY3OTY2NDAwMzlhcC0zLAorICAgIDB4MS4wNjU5YTQzNWYwOTlmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5mMzNkNGY3NzkwZjY5ODJlM2NhZTU4YThmNWE0Yzg1Y3AtMywKKyAgICAweDEuMDdhNGQ5N2Q4ZDk0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuZjZhYzdiYWQ4YjRhYzc0ODk3ODc2NjNjNTFmZDgzODlwLTMsCisgICAgMHgxLjA3Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmMyNWM3ZDkxODA5ZjgwYzE1YWQ3YjhhMDk4OTA0ZTlwLTMsCisgICAgMHgxLjA3ZWJhYWM2NjVlZThwMAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjE0ZDcyZTU2MmI4NmY4MGI5MmRiNzY5MTRjMWE4NDgzcC0yLAorICAgIDB4MS4wOTY5YTUxN2U3MzkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4zNzI0ZWI1MzZhYmQxN2YzNTQ5ZmRlN2MwYThiY2M3OHA0LAorICAgIDB4MS4wYTA1MDI4MTQwYXAyNworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjQyNGUxYTgzMzA5Mjc3ZmM3NGU2MjUyZjljY2ZmNTFlcDQsCisgICAgMHgxLjBiMzFkNTUyNmUzMDRwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS40MmRjMjRhZWZlYTRhMDAwMDBmNGM0YzQyZjc2NzZiZHAtMiwKKyAgICAweDEuMGNkNDg3NzBjMjM0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuYWEzZGJlNDhkZWY4MTc4NDVmYWE2MWZkNWNiMDQ0OWFwLTIsCisgICAgMHgxLjE2OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuNmMwZmY1ODk1MDM2ZDE0YTU0MTM2Y2I5NzQ1OGMzYTFwMCwKKyAgICAweDEuMThjNjMxOGM2MzE4Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuMTRhZWFmMmNmODgyYjgwMDAxNzgxNmIwNjM0YTUxYzdwMSwKKyAgICAweDEuMTk5OTk5OWE3ZjkxYnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuYzYzNmMxYjI3MDBjNzgwMDAxMTRlNTg0NmU1NmYwMmFwLTIsCisgICAgMHgxLjE5OTk5OTlhYmNiODRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmM2MzZjMWI1NWU4OTgwMDAwMDIwNmYyZDViNjM3NDZlcC0yLAorICAgIDB4MS4xOTk5OTk5YjEyYjJmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5jNjM2YzFiNzg3NjI4ODAwMDA3ZTFhOTUwNThlMjhmOXAtMiwKKyAgICAweDEuMTk5OTk5OWI1MjA5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuYzYzNmMxYmM4NjdkYzAwMDAxNTZhMWVhZTYzNWEzNWVwLTIsCisgICAgMHgxLjE5OTk5OTliZTQ5MzZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmM2MzZjMWM3ZGEyYWZmZmZmZWI5OGZjODYwY2Q3Y2VlcC0yLAorICAgIDB4MS4xOTk5OTk5ZDMwYzY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5jNmQzMGYxZDA4Nzc1MTE1N2ZhNTFjMzI0NDBkZDI5MXAtMiwKKyAgICAweDEuMTlhYjg0ZmY3NzBmOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuMzgxMzgwMjE1MjViMTdmNWE3ZDc5YzY3ODcwNDVmYmFwNCwKKyAgICAweDEuMTlmOTg0MmNiZTlkYXAyNworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmNmZjhlZmRkNjhiOGIwMDAwODhmOTkzMDJmMTNmZDU1cC0yLAorICAgIDB4MS4xYWJiMTQ5MzRjMTEycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS40MzQ1Y2UwNjcyNmVlZmZkM2RlZWM2NTRlOTNiYjcwNHA0LAorICAgIDB4MS4xYmQ5ZmYzODE4MjUwcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZGE2MjdiNTc0MTI0MDQxZjU1ZDBiODUzNGMwN2NhYTJwLTIsCisgICAgMHgxLjFiZjczNDIwNjU2MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmRjZmExMTBlNGQyYmU0ZTYwZjRjMmM3Yjc5MmFhOTc5cC0yLAorICAgIDB4MS4xYzQ3MTFjNDcxMWM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5lNGY2MDBiY2E5YjQzYzc1MDU4MjBmMzQ2MjVhZWRmOHAtMiwKKyAgICAweDEuMWQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS40MzVhZjBjZDg3MjNmN2ZjMGYwMzA3NDRlYWY1ZTRmM3A0LAorICAgIDB4MS4xZDUxZWU2OTA0ZjA1cDI4CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuZjY2Y2Q4YTU4OWY5ZTgwMWRjYmJhYmE5NWZhMmRiMWJwLTIsCisgICAgMHgxLjFmN3AwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmIwNGRhMjRiZDMyNjNjM2MxOTU5NTgyOWY4ODc2MjNwLTIsCisgICAgMHgxLjIwMDZkOWJhNmI2MjdwMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmZiNGQ2ODVlMTNkMTczODU1MzE1MWMyYTA4NDM2NTEzcC0yLAorICAgIDB4MS4yMDEwMzRiZTliOTk3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5mZDk3NDdkMTk5ZDllMzRiNWVlNWE3NThiM2EzM2IyZXAtMiwKKyAgICAweDEuMjA1YmY1MTBiNWRlNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZmRlNjQ5MjFmMmJlMjZkMzQ5YWYxNWM2NWQyYmFlYzhwLTIsCisgICAgMHgxLjIwNjYzMzU4OWZiNDJwMAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZmODhhYjViNTc5ODhhNjI2NDVlYzEwNmM0MDk3ODYzcC0yLAorICAgIDB4MS4yMDljOGVhODI0Mzk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mZmFhNWQxOTBiM2UzOGEyZjU5NzhiMGNiZGVmMzdjMHAtMiwKKyAgICAweDEuMjBhMGYxNmExZjNhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuNDNkMGNjYjdlYWY4MTdmYmZjNThiYjJkNjA2YzI0NmFwNCwKKyAgICAweDEuMjVhNjJlY2Q0YWM5NnAyOAorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjI1OTQyZDdlYTM4ZDMwMzdmZGYyMzVjMzc0YTBhMTBhcC0xLAorICAgIDB4MS4yYjRwMAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjFlYjkwZmNiOTc1Yzk3ZTk5YTAzY2Q0ZTllY2Y3ZWZlcDEsCisgICAgMHgxLjMwMDAwMDAwZTRjZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjFlZDYxYWNkMWNlZjM3ZjcyZWJlMjE1MGQ3ODY2NTRhcDEsCisgICAgMHgxLjMwNDM3NjM4MmJmYzFwMgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjFmOTYyZTVjMTY4MDA3ZWRiY2Y5YWFhODMzNGE3YmU4cDEsCisgICAgMHgxLjMyMDMyYTI0MGFmNDVwMgorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjFmZGE1NDY4MDBlYjk4MTAzOWIwNDJjMGE2MjA1YTUxcDEsCisgICAgMHgxLjMyYTJhN2NlYzgwYTNwMgorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjFmZjUzZmE2OWY5ZjY4MTNkZjEyMGMwZmM5YTdjODJmcDEsCisgICAgMHgxLjMyZTFiZjk4NzcwZDJwMgorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLjg1YTZmZTUxNTFlODc3ZmZmZTg5ZGY3MzI4MWRhYzFlcDAsCisgICAgMHgxLjMzMzMzMzMzNWM0ZTdwMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjIwM2RhZTAwOGY0MjI4MTMzNjE5ODkwNGQzNTNhOWQzcDEsCisgICAgMHgxLjMzOGJjNmQyMTczOTBwMgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjIwNDIwMGQwYWQzY2I4MDgyMmVhYWYxYThmZDQwMGVlcDEsCisgICAgMHgxLjMzOTVmMDFlYzMwYWVwMgorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjIxODBhZTQyNDU4NTU3ZjE2MDg2OWZhODhiZmRkNzY3cDEsCisgICAgMHgxLjM2ODZiMzBlYzI4ZjlwMgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjIyODI0ZDc3NzVkMTI3ZWQ2MjQ5YWVkY2Q2NTNhNjgzcDEsCisgICAgMHgxLjM4ZWNiYjQ0OGJiNjBwMgorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjI0ZDdhYTU3ZTA5ZTIwMGYwZmE1MWI4ZTEyMmE1MGQxcDEsCisgICAgMHgxLjNlOGZhM2U4ZmEzZThwMgorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLjI0ZWFkMDk5OGI0NWU4MGMxNTc3NWZlNDEyZmEzNDc2cDEsCisgICAgMHgxLjNlYmU1NzQwYWJmNTdwMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjkxMTljMTNhMzFiYWZmZTQ2ODM1YWIyMjY2NTg4ZGU5cDAsCisgICAgMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjYzOGVhYjQ5MjE2ZjhlZTkyMTdmOTg2NTQwNzM5MjgycC0xLAorICAgIDB4MS40MDRwMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjY2MzEwMGMyYTRmZTIyNTFiYzgwMmUwNDBjMjE1MTdjcC0xLAorICAgIDB4MS40MTNlODI3ZDA0ZmEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS4yYThhNDVlYjE0N2NlODAwODRkNWRjMDYyOTA2MWI3MnAxLAorICAgIDB4MS40Y2M1YmFmNWM4MzkycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS44MzRiMmNhY2VjOWNmMDAwMDBiZjY2MTJlNTdjYmU4ZnAtMSwKKyAgICAweDEuNGNjY2NjY2Q2NDgxYXAwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuODM0YjJjYjUxMGE5YzdmZmZlOTEyNTZiZGU1NGJiZGRwLTEsCisgICAgMHgxLjRjY2NjY2QwYzYxM2RwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjg2OWY2ODlkNDFlNWFlMWNiYzRkYjg4NGRhNzhmZWMwcC0xLAorICAgIDB4MS40ZTMwOTAxNjE2NWZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5kZmNkNWRmMWJjMjcwN2ZmZDVjYTUzODNmNGNjZTZlN3AxLAorICAgIDB4MS41M2Q0ZjUzZDRmNTNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4yZTNiYjZkZDBiMGFlMDA2N2M1ZjkxMWZhYWFhNzhkZHAxLAorICAgIDB4MS41NjU1OTU2NTU5NTY0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS4zMGFmODNjNDJjMTU3ZmYxMzBmNmJiZGZiMjNjYTc1OXAxLAorICAgIDB4MS41Y2Q3MzVjZDczNWNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS5hZjg3OTc3NDA5OTEwYzEyZThhODgwMmZkODdjNmFiZnAtMSwKKyAgICAweDEuNjA3MDM4MWMwZTA0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuM2JhY2M1MzA2MWYzYjdmN2Q5MDM1YzU3MzE1MzQ1ZmJwNCwKKyAgICAweDEuNjExODQ2MTE4NDYxMHAyNworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmIyMDY2ZmUwOTUyYWY3ZmQ1YjFhNTJlMzk3ZDIwYjQycC0xLAorICAgIDB4MS42MTlmODk3NzFmZWFhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5iMjQzZDY4MzkxZjlkODBjMTcyMTZkNTllNDkxOWJhZnAtMSwKKyAgICAweDEuNjFiY2NkN2YzNDljNHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuYmJlOTVhYjZkMjUwNzgwMDAxNzZlYjU3NTc1MThjZTBwLTEsCisgICAgMHgxLjY2NjY2NjZhNGQ4Y2FwMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmJjZTQ3YzUwZTU5N2U4MDE2OGVhNmVhMTk3YjdjNWZicC0xLAorICAgIDB4MS42NmUxOThlNDBhMDdjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5jNGI0MzRlNzg1ODQxN2ZlNTUyMmJkYzI0NTE1ZTNhYnAtMSwKKyAgICAweDEuNmFjMmFiY2NlNjYwZnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuYjRiMDU5MWZhYjkzZTgwYzM0NDkxNjYwMWYzZjk4ZmVwMCwKKyAgICAweDEuNmMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS5jOWU3NzcwMzRiZWQzN2ZjNTE5ZTAwNGFmMjNjNTdlY3AtMSwKKyAgICAweDEuNmQ2M2MwY2I1NDJkNnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuY2RhOTMxMGI3ODRlNTAwMGFlYWU3YmFhMmRjYzRjZmNwLTEsCisgICAgMHgxLjZmNXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuZDE2OTQyNmIxMzVkMGJiYWIyNzY2NjRkOWY4MzBjNzFwLTEsCisgICAgMHgxLjcxNDA3MjdiYjRmYTNwMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmQ3NDBmZGY1MzY2OGExYmNlYTgxNjA5ZGI5ZTBkYjY4cC0xLAorICAgIDB4MS43NDVwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5iYzAxMjA3YmQyNWI2ODAxZGY4ZTc4OGZiNWY0MTM1N3AwLAorICAgIDB4MS43NWUzMmNmMzgzOTk3cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZWNjMmNhZWM1MTYwNDM2ZTZlZjBjNGRmZDM3ZGU5MDVwLTEsCisgICAgMHgxLjdmZmZmZmZmZmZmZmRwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5lY2MyY2FmMGE3NWNkZmZmZmU5MzQxOTgyMjA5ODk1NnAtMSwKKyAgICAweDEuODAwMDAwMDI2YzgwM3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmVlM2IwNmVjZWE1ZWQ1NjQ0MDY0NDJkMDc4NjFhNzNmcC0xLAorICAgIDB4MS44MGQyYmEwODNiNDQ2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuZjMxNGM5Y2I4NzViZTdmMjU5MTVlZjZmZTgxNDdlYTdwLTEsCisgICAgMHgxLjgzOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmY0YmEyZjFjYWQ4ZjQ3NWRmYjRmYTA0OGI1Y2VjZTc1cC0xLAorICAgIDB4MS44NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mYmQxOGU2YWE1MzRlZWQwNTAwN2FlZTNkNjZiOTkwYXAtMSwKKyAgICAweDEuODg5NWI0NjFkYTZjNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLjliZGIyMjVkYWNlNGIwMDA1NzE0YzQxMzcxZGZmMGM0cDEsCisgICAgMHgxLjkwMjQwOTAyNDA5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMGMwNjE2ZGJkMzAxZTAwMDAxNmQ3ZjBkODk3MzE2NzVwMCwKKyAgICAweDEuOTk5OTk5OWFjMTFmM3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLmQ0ZDE5ZDBhODI1OTI3ZmUxYjA5NzNkOGI0NjFlOGVkcDAsCisgICAgMHgxLjk5Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjRjNzAzZDVkYjg1ODY4MDJiYWRmYjgyYjc5N2QzZGMwcDEsCisgICAgMHgxLmIwMDIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuMWVmYjY5OWNkY2QzMzgwMWZiMDNiOTQ2NmZkZDYwZmFwMCwKKyAgICAweDEuYjI2YzliMjZjOWIyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjJkNzJhM2FjZTQ4NDM3ZmRlOTg2ZWI1MTQwOWFlMjczcDAsCisgICAgMHgxLmM2ZjYxZThhNTQyYThwMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5mMWI0NjU2ZmFjMjc3N2ZmMGIwNzMyZjRlZDllYWFmMHAwLAorICAgIDB4MS5jODZwMQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS41NTUwNTQwZDNkZTU0N2ZjZTExMTk2ZmViMjJhYTJlMXAxLAorICAgIDB4MS5jZWIxZGQ5MTVlNDc2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuZTRkYjU3MWUwMDgxOTdmZTllMDljM2FhMjZhYTdmY2NwMywKKyAgICAweDEuZDA3NDFkMDc0MWQwNHAyMAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS4wN2VhYzlmNmRhZmE1N2ZmMDI4ZDMzMWNiNDhmOTAzOHAzLAorICAgIDB4MS5kZDM3NGRkMzc0ZGQwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmU3ODRjMmIzZTU1NGY4MDAwMDRkOTY5MTlmNzkxNjUycDUsCisgICAgMHgxLmUzOTIwZmNiYTA4YzVwODYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuZTRiY2QyZDc3ZWFkM2ZmZmZhNzA4N2M5M2Y1Njc4YjVwMiwKKyAgICAweDEuZTZiZDg2NWQ1OTE4MXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjA5YmEyNTIxNjZjZTg4MDAwMDNhYTJhOTU3NDZhNGFhcDMsCisgICAgMHgxLmY4ZmM3ZTNmMWY4ODBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuNGU2YjEwOGFiZWJhZWZmZmM1YzYxNjYwNTY2MGRhMTRwMCwKKyAgICAweDEuZmI1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuMmE2NjU5NGYyZTViMGZmZmZmN2ZmMzc5ZjVlMjQzYTdwOSwKKyAgICAweDEuZmZmMDAzZmZmZmZmZnA4NTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDgxY2EzZTUyNGRhZjVhNGQxZTllNjA5MmEzN2M2NTlwMSwKKyAgICAweDEuZmZmN2ZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLjA4MWNlNWZmN2ZjZmQ3ZmYyOTM2MjQ5M2VmNTYxNjVmcDEsCisgICAgMHgxLmZmZjhmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS42MjYyYWNiYjY5OGNhODA1MDc3MDBkNWVmM2QwYzVhZHAxLAorICAgIDB4MS5mZmZjZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuOGU4ZjQzZDM4MDQwZmZmZWRhNzMyYzhkMTY0YzFlYjVwOCwKKyAgICAweDEuZmZmZmZiYmZmZmZmZnA1NzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuYzU1MTc5Mzk1YTAwMDgwMGRkYzMzNDc5MDQ2OWQ0ZGVwNywKKyAgICAweDEuZmZmZmZlM2ZmZmZmZnAzMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuMjdhMDk0ZWRlZjBjMjdmZmIzZDliYTlmNmQyOTEwYTVwOSwKKyAgICAweDEuZmZmZmZlM2ZmZmZmZnA4NTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuMjdmOTRkZjllYWY1MGZiYzg5YmVhYzc5MzkyYjBhMjBwOSwKKyAgICAweDEuZmZmZmZlM2ZmZmZmZnA4NTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuYmI3ZDJmZTNkYmY3ZjdmZWUwM2VkZWJjN2EwMWQ1OTlwMSwKKyAgICAweDEuZmZmZmZmZmJmYmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjYyZTNlZmVmMzU5ZGZmZmZiNGUyOTc1Njc4YTYxYmY0cDIsCisgICAgMHgxLmZmZmZmZmZmOGZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS44NmVmNWNjZGZhMWIxN2ZlNzhjODg2YTlkOGIyZmFhZXA3LAorICAgIDB4MS5mZmZmZmZmZmRkZmZmcDI4MAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS42MmUzZWZlZjQxOWUxN2ZmZmU2MzkwYjlmMDJiY2MyOHAyLAorICAgIDB4MS5mZmZmZmZmZmVmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuNjJlM2VmZWY0MzlkZmZmZmQyNmIxMGY4NDY3NjIzcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZjFwNgorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS40MTllY2I3MTJjNDgwODAzNWRlY2I1ODM4Njg0MWQ5ZHA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmY3cDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLjYzM2NlOGZiOWY4N2RhZmM2OWFjNTkwOWQzZTVhNmQ5cDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmFwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS42MmUzZWZlZjQzOWUxODAwMDI2YmEwZmEyZDNjZGI5OHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZkcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuNWNhNzJkMTdlZDNlYTgwMDg5YWU2NWRmYWZjMWUyYjJwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS45ZjMyM2VjYmY5ODQ4YmY4MzVhNDMzYzBjZTlhZWQxN3AtMiwKKyAgICAweDEuMTU1NTU1NTU1NTU1NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjIzYTRmYmNkYmMwODM1ODE5ZmVlYTJjZWFlNjUzMmJkcC0xLAorICAgIDB4MS4yYWFhYWFhYWFhYWFhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuNjJlNDJmZWZhMzllYzhhY2U5MWNiYzg1NWE0NGJkZjZwLTEsCisgICAgMHgxLjNmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS45NzNhMjQ0OGE2MzVkMjQ3MzUyMmUwZTcwMTVkMjhmMXAtMSwKKyAgICAweDEuNTU1NTU1NTU1NTU1NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLmM0ODQ2MDNlYjA5YzA5NzBmZmE4NjI1NGQ2YmFiZmE1cC0xLAorICAgIDB4MS42YWFhYWFhYWFhYWE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZWNjMmNhZWM1MTYwNjAwZDk0YjY4NGNkYjIxMTI1NDNwLTEsCisgICAgMHgxLjdmZmZmZmZmZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjc5MDcyMDI4NTg2YjczNzU4YTRmNjIyY2FmYjA3ZDQ4cC0xLAorICAgIDB4MS40ODlhNTc5NmRlMGIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuOTRkODBmMzBlOTNlNWUyOTk5N2FmOGZlNDQ4MWM4OGNwLTEsCisgICAgMHgxLjU0NDk0MjAzYzE5MzRwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5jZGRjYzcxZGUzMmFiNWFjNTdjMTNiYTQwZWM3OTYzYnAtMSwKKyAgICAweDEuNmY2YThiZTk4MWRiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjhmY2I5ZDg3NGMwMjZmMmMxMjQ1MDk3MWJiMWJkZGZjcC0xLAorICAgIDB4MS41MjE3OTJlYTdkMjZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuOGNhNTA0M2I3OTI2M2EwNmFhMGY3MGQ3ZDBiZGEyMmJwLTIsCisgICAgMHgxLjEzNzIzZjI1ODVkYTJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5lY2MyY2FlYzUxNjA5OTRiZTA0MjA0YTk2OGM3MDIwZHAtMSwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0xLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuMDg5M2ZmN2NlZTQ2ZWIxNjAxNTQ3N2Y5YjY2OTU4MTlwMCwKKyAgICAweDEuOTU1NTU1NTU1NTU1NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLjE5M2VhN2FhZDAzMGExNzZhNDE5OGQ1NTA1MTM3Y2I1cDAsCisgICAgMHgxLmFhYWFhYWFhYWFhYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS4yOGE3Y2JiODUwMDYxZWQ4Y2I0NTJjNjRjNTIyMThjOXAwLAorICAgIDB4MS5iZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuMzcwMzBiOGNjOTM1NDJjY2MzOGNjYTkxNTdiMGYyNmRwMCwKKyAgICAweDEuZDU1NTU1NTU1NTU1NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLjQ0Nzc5ZTFlYmQ4NDcyNTdmNmMwNzdjYjMzNTBiNDU3cDAsCisgICAgMHgxLmVhYWFhYWFhYWFhYTlwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS41MTI0MjcxOTgwNDMzNzQ0YzEwNjNmZTU3MDQwOWI5YXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTEsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS4wYzI0MjNmYzAwMWMzOGRjYmM5Y2QxOTQ2MDAwZjU2M3AwLAorICAgIDB4MS45OWJmMjUyMzRiY2NhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuMTk3ZTg5Y2E0ODgwOWIzNzQ2ZGU0MThmYmYwZWUzODNwMCwKKyAgICAweDEuYWFmZmU1NzNiZDdiYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLjI2MWI3MjkwMGQxMzZiOTBjYmVmOGZhOWEzYmJkODVhcDAsCisgICAgMHgxLmJjNWNjZDcxOTc2Y2JwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS5mYmJmYjk1MzI0ZWIxODZmM2Q2NzdhZWQzMGMzNTg4NHAtMSwKKyAgICAweDEuODg4YjU2ZDg2YjI2ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjRjZjFhNDhiNGJkYmE5MDQzNzA3YTQ1YjM1ZjBkNTI5cDAsCisgICAgMHgxLmY4Y2M2ZGIxYmJjYjRwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS41MTI0MjcxOTgwNDM0OWJlNjg0YmQwMTg4ZDUyY2VjY3AwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTYzYjZkNGNwNiwKKyAgICAweDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuMTg2OWE2ZDBmYzBjODczNGNmZjViZTRjOTk0YTYyM2NwNiwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuMThjMmMwNTNhNjQwMWZkZjhmODAxODg1ZWNlYzg5NmVwNiwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuMTkxNGI3MGFkNTM3MDlmYzAyZTYwYzk5MzE0NjVkMWNwNiwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMTk2MDlhMDBhODRlYjU0NjliOGExNDU3NWNmY2ZmZGNwNiwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEuMTlhNzQwMTFlMzE0ZjExNzliNTk4NDI4MmY5MjU2ODFwNiwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuMTllOTU2NzRiOThkZDkzYzY4OTQyNTQyYWU0OGVjMTRwNiwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuMWEyNzZhZDYzOWIwOWU5Mjk0ZjcyMThlZjU4N2NlNmNwNiwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuMWE2MWYyOTI3MjM5YTRlNWQ3NWFiNzA5NTJiMzU5NWFwNiwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuMWE5OTRmZjgzZWNhNzdmM2VmOTE4NjZhN2I4NTQwZTJwNiwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuMWFjZGQ2MzJmNjYyYTllOWM5YzJlNjNhNDY0YjM5MjdwNiwKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuMTZhNTI5YTMyNzc3Y2QwZmMzMDc5MDA0YjYzMzg3NWZwNywKKyAgICAweDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMTZkNWY2MjIxOWYwNWFhODlkYjRjMzc1MGZiYjAxZDZwNywKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMTcwMjgyZTM2ZjBhMjZmZGZkNzlmMDkxYjk4YzE1NzBwNywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMTcyYjdlM2YwNjg1OWMwYzM3MmNlYTliNWJiOGZmNDdwNywKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuMTc1MTZmYjlmMDExNzFiMTgzN2VlZTdhNzE5NDUwYTZwNywKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuMTc3NGMyYzI4ZDc0OGY5YTAzNjZhNjYyZGFkZWZiZjlwNywKKyAgICAweDEuODAwMDAwMDAwMDAwMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMTc5NWNkZjNmOGIxMDNhYzZhMDNmNmYwMWEzYTQ2YzNwNywKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMTdiNGQ4MjRiOGMyNjY1NzgwMzU3NTE2M2RkOWI3ZWZwNywKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuMTdkMjFjMDJkNTA2ZTk4MTIxNjczZmQzNmM2ZjdkNjZwNywKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuMTdlZGNhYjViYjRmNTMwODJkODJhNzg0MDBkODcxMmFwNywKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTYzYjZkNGNwNywKKyAgICAweDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuNWFlYjhmZGMwMWIyMjE2MDVjMzVhYzllYjNiODgzNDlwOSwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjVhZjdjMmZiYmU1MDQ0YzY5MmUwZjk3YWNhMWE2MWU3cDksCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS41YjAyZTYyYzEzOTZiN2RiZWFkMjQ0YzFmNDhlYTZjZHA5LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuNWIwZDI1MDJmOTc1OTUxZjc5M2YwMzQ0NWQxOWUxNDNwOSwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjViMTZhMTYxYjNkODhhODhjYzUzODQzYzIyOTBiNTlicDksCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS41YjFmNzYyM2RiMzE1MjAyZWM0ZDcyMzYzY2UzNjA3MHA5LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuNWIyN2I4ZjAzNjAwNmYwNzg1ZjRjNjU5OGNiYTMzMjJwOSwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLjViMmY3YjdjNjYwNGM3YjI0YjgxMjVlMzE1YTIwZjZkcDksCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS41YjM2Y2M3M2VkMTVlODdjYjNjZDk4OTI2MTQ3ODBjYnA5LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuNWIzZGI4MjBhNmE4MDJkZTc2ZDQ3MjdlODY2MWJkYmNwOSwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjViNDQ0OGU3ZmQ5YjA5MWQzMjFhOWU3ODdmYmE3Y2M0cDksCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLmVjYzJjYWVjNTE2MDdjYWNiYTdjNDRiYjhlN2VkODQ2cC0xLAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTEsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5lY2MyY2FlYzUxNjBiNWViMDYwN2M0OTc0MGU5YTI5OHAtMSwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLjUxMjQyNzE5ODA0MzQwODE5NGE5MDdmZWZlZmFmOTljcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS41MTI0MjcxOTgwNDM0OWJlNjg0YmQwMTg4ZDUyY2VjY3AwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuNTEyNDI3MTk4MDQzNWMzODBmOTE2MDRiYThkYWRlYjlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjA4MWViNGI0MjE1OTEzOGQ3ODBlZjlkYTQ1NDc2YzkzcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS4wODFlYjRiNDIxNTkxN2FmMGQzN2FmMTdmYmY5M2Y3M3AxLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMDgxZWI0YjQyMTU5MWZmMjM3ODkxOTkzNjhmMzIzMTRwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjE1NDI0NTczMzdkNDI5OWM2YjczYzg5ZDg0NjlhMTcxcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuMTU0MjQ1NzMzN2Q0MmExYzZiNzNjODlkODRhYmExNzFwNCwKKyAgICAweDEuMHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS4xNTQyNDU3MzM3ZDQyYjFjNmI3M2M4OWQ4NTIzYTE3MXA0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLjM2ODdhOWYxYWYyYjE0NWNhMTRlN2E0YTA2ZTYxN2IycDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuMzY4N2E5ZjFhZjJiMTRkY2ExNGU3YTRhMDZlOTE3YjJwNCwKKyAgICAweDEuMHAyNworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS4zNjg3YTlmMWFmMmIxNWRjYTE0ZTdhNGEwNmUzMTdiMnA0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLjQxOWVjYjcxMmM0ODBjMDM1ZGVjYjU4Mzg3MjYxZDlkcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuNDE5ZWNiNzEyYzQ4MGM4MzVkZWNiNTgzODcyODVkOWRwNCwKKyAgICAweDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS40MTllY2I3MTJjNDgwZDgzNWRlY2I1ODM4NzIwZGQ5ZHA0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzMTc5M2M3NjczMDA3ZTRlZDVlcDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwNSwKKyAgICAweDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS42MmU0MmZlZmEzOWVmM2Q3OTNjNzY3MzAwN2UxZWQ1ZXA1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLjYwMWU2NzhmYzQ1N2I1NTBlNDlmZDg2MWE3ZDVhMTgzcDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjYwMWU2NzhmYzQ1N2I1NzBlNDlmZDg2MWE3ZDYyMTgzcDYsCisgICAgMHgxLjBwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjYwMWU2NzhmYzQ1N2I1YjBlNDlmZDg2MWE3ZDQyMTgzcDYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjYyOGI3NmUzYTdiNjBiOTZiZGUyNzU1NjNiZTNlM2UzcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS42MjhiNzZlM2E3YjYwYjlhYmRlMjc1NTYzYmUzZjNlM3A5LAorICAgIDB4MS4wcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuNjI4Yjc2ZTNhN2I2MGJhMmJkZTI3NTU2M2JlM2IzZTNwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjYzM2NlOGZiOWY4N2RiMTA2OWFjNTkwOWQzZTdkNmQ5cDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLjYzM2NlOGZiOWY4N2RiMTA2OWFjNTkwOWQzZTdkNmQ5cDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS42MzNjZThmYjlmODdkYjBjNjlhYzU5MDlkM2U3YTZkOXA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuY2ZjMDJmOTAxMDZjMTdhM2ZkNzc4ODQ1ZGUzNDk0YjRwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjA1ZjIzYzZjYmFmMzBjMDQyZTMyMDExOTg5YWRlNTk0cDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS42YTA5ZTY2N2YzYmNjNzI1ZmIxZDMzNzc0NDNhZTYxOHAtMjYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvYWNvc2hmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9hY29zaGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NDFhZWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvYWNvc2hmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDY2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19hY29zaGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEuNTEyNDI3MTk4MDQzNDliZTY4NGJkMDE4OGQ1MmNlY2NwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjc5MTI3MzBlOWRkOGMyOGQwYzJlODg1MTczMGVlYjQ1cDQsCisgICAgMHgxLjAwMDAwMnAzMworICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuNjJlNDJmZmZhMzllZTM1NzkzZGNiYzg1M2QzYjQyZTdwNSwKKyAgICAweDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS42YTA5ZGVkZDE0YjFlNWQzZjBhN2I2NmZiNzk3OGU1MnAtOSwKKyAgICAweDEuMDAwMDQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjUxMjQ3MTAwMTEwODczNzBiZWY4ZmYyOTMzNGYwNTg4cDAsCisgICAgMHgxLjAwMDA0MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS43ZmZmZjcwMDAwOTFjY2MwOTg4NGQzM2I2NGIxZWI4N3AtOSwKKyAgICAweDEuMDAwMDQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjY4NmZjMzBmNjFkMzJmMzZjZWJkMzU1NjY0N2U2ZDg1cDUsCisgICAgMHgxLjAwMDA0Y3A2NAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuNTEyNWUyN2Y3MzYzYjkxYTRkMzE0OWNmNTA2NjZlY2FwMCwKKyAgICAweDEuMDAwMTgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmUzMzAzNTBjNTcyZjMzMzE2Mjc2N2MzNmRjZTYxNTY0cC04LAorICAgIDB4MS4wMDAxYzhwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuNTJhNzk3ZDcyOTk0MTgyM2M0NGFhZTk0YTc4ZThkNzRwLTcsCisgICAgMHgxLjAwMDM4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuOTRjNGRiMDZjMWU4NGEyMjFkMzlmMGEzY2VlMDU1OTlwLTcsCisgICAgMHgxLjAwMDVwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmRlZWQ4OWI3YjM1MzVjZTgzMzE5YTgzNDU0MjYwYmY4cC03LAorICAgIDB4MS4wMDA3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS41MmExY2U4NWI3NDc0MzExNjhkMTU5ZTY5YzFlZjU2ZXAtNSwKKyAgICAweDEuMDAzOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuNjdkNjc0NTRiOTFiMWQ0NjU2N2Y5OWJhMmUyZTEwMGNwLTUsCisgICAgMHgxLjAwM2YzY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuZGVmZjVkNmQ3ZTc3ZTllZjg5ZDUzM2NkMWI0Njc0YzBwLTUsCisgICAgMHgxLjAwNzAxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuMDNlY2Y1MDVhMzRjZGIyMmU5MjZjMjJkYWZkY2JhOTNwLTQsCisgICAgMHgxLjAwODRwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjUyMjYzN2UxNDYzNzVkYjNkNWU1NGRhNTA2YTZkYThhcDAsCisgICAgMHgxLjAwZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjc0ZDBmYjA0NWZhZDJiYjZhMGUzZjJmOTNjM2RiY2M0cC00LAorICAgIDB4MS4wMTBmYThwMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjkwYjU5MTA1OGRmMDU4ZWI3MDczNTk0NDkwOTNlN2Q1cC00LAorICAgIDB4MS4wMTM5ZGNwMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLmJiNjdhOGZkMTdmYjE1MmQxYzczZWJkYjA5MmNhYzFkcC00LAorICAgIDB4MS4wMTgwNjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmU3MWY1MzBmOTRlOTQ3MTU4YTM4NmIzMzZjZGVjNjU4cC00LAorICAgIDB4MS4wMWQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5mZmFhZDBmYTQ1MjYyNzk3NmZmMzY2YjlkMzg0MGZkMXAtNCwKKyAgICAweDEuMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjU1MzBjY2ZmZjdhZThmN2M3MGYxNTkwOTg0ZWUwNDRmcDAsCisgICAgMHgxLjAzOGFwMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjVlNGZkNGZmZmY1ZGJlMjZkNGVkNTY1MGMwMDNiODZhcDAsCisgICAgMHgxLjBiYzBwMQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjVmYWIxZjc4MGQzODhlOWNjNTdiMzZiZTNjMzE0MWM3cDAsCisgICAgMHgxLjBkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS43NjNiZGYwMDJlYTE3OTM2ZTBiZmNmZTdiNjUxMWJjYnAtMiwKKyAgICAweDEuMTE0OTg2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5hMDA5MTEwMTBmOTNhYmVlMDI4ZTMwMjAwODk2NDUxM3AtMiwKKyAgICAweDEuMTU2YmJjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS45NGU5MDUwZDdmOWIwNWVhYWIyYWI1NzhmOWY3YzhhOXAyLAorICAgIDB4MS4xN2E5M2NwOAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmI2YzkzMWMwMjUyMzhlYmNmOThlZjEyZWIyOGQ4MzA3cDUsCisgICAgMHgxLjE4cDc4CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuYmI2ZjA1ZmZkZGM4YTZkN2VjMDFkZjcwNzJlNmUwZjBwLTIsCisgICAgMHgxLjE4NjE2Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuNmQ3NGVlMDAwMTk1ZWIxYWE3ZDgxZGQxN2EyMTdmZmFwMCwKKyAgICAweDEuMWEyM2JhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5jYTk3NmY3MDgzZmE3NGZiMjhiMDRmYjE2OTQzZTM0OHAxLAorICAgIDB4MS4yMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuZWZiZTIwZmY5YjkzYjhjMWJlMDkwNGM0MTY3MzQ4ZDdwMiwKKyAgICAweDEuMjEwODQwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuNzZiMWMzMDAwMWUyNWYzYzhiZjU5ZjUxZTEzNDViODlwMCwKKyAgICAweDEuMjM2NWU4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS4xNGQ3ZjdmZmZlMmZhYmFlOTFhMTE5ODJlNGU2MTZjOHAtMSwKKyAgICAweDEuMjY1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMjY5Mzk5MDQ4M2ZkOGVlYjUxMjcxZTJlNTg1YjY4NGRwLTEsCisgICAgMHgxLjJiOGQ3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuNWM0ZTk2MDAwMWQ0NzQ0NWJhZTQxMzY5ZGJmZjNiZWJwLTEsCisgICAgMHgxLjNkOGVhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuNmFhZTczMDAwMDhmYTRkOWYwMjFlZDYwMWM2NWY5NjVwLTEsCisgICAgMHgxLjQyZjU1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuOWU4NmE2MDAwZWNmMDIxMGU0YTZhNWI3NDIzZDA0MTNwMCwKKyAgICAweDEuNGZkM2YwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS44ZTA1YjZmZDVkMWI4YWVjODMyZjc1OGFiYWM4ZmU4OXAtMSwKKyAgICAweDEuNTE1NDUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5kZjMyOGIwYmE0N2E3NzI3OWZkNGNlZDNmNDljOTNlYXAxLAorICAgIDB4MS41MjNiNTZwNAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjllYjdhMmZjNWI2YWE0ZmY1OWI4NjAxOTg0YjcyYTY4cC0xLAorICAgIDB4MS41OGFjNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmFiYzQ3YTczOTYwZTg0NzMxMzU1MTEyMjBjYzE2Y2E5cDAsCisgICAgMHgxLjYwNThwMQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjgzY2VlYjBlOTNhNmUwNDdiNzBhMzE0NWIyMmQwODU1cDMsCisgICAgMHgxLjY2MGRkNnAxNgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmU3MzA2ZjBhZTI1Zjc5MjkwMjkyZTZlMmU2ZmE4Y2EwcDEsCisgICAgMHgxLjY3ZmZjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuYzNiZjg0MDAwMjNjYTgyN2M2NzQxZDdlOTBjNjI1ZjRwLTEsCisgICAgMHgxLjZhNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjkwMzYzMTAwMDFhMjViMWNjZWYwZjUwMzVkMTM2ZGMzcDEsCisgICAgMHgxLjZkNzY4MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuY2I3MDc3ZmZmZmI0OTFkZDc2MGI3NTM4YTAyYzZlM2VwLTEsCisgICAgMHgxLjZlMmM0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZDQ2NmViMDQ3ZDMyNzRjM2Y4ZTRhZDU3ZmY3NjRlYTFwLTEsCisgICAgMHgxLjcyZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmQ1M2M2ZmM2ZjkyZTBiYTIzYjMxYzIyZDhjYzI1NGNmcC0xLAorICAgIDB4MS43MzQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5lYzQ5ZDI1ZmJiNjc2NmQzOWU5MDgyOWU2ZTJlMjUwY3AxLAorICAgIDB4MS43NjlkYTBwNAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmRjNjc5ZDAxNzY4Mzk0NmQ3OGUyYTljYzgwM2NmNmM3cC0xLAorICAgIDB4MS43NzBkMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmU4YzBiMGZmZmUxZGRmNmFkZjNkNGMyZjdkZDk1ZDU4cC0xLAorICAgIDB4MS43ZGM1NjZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLmU5NjA5YjAwMDAwMGEwZWRhNzEwOTJmOTNhZTEyOGFicC0xLAorICAgIDB4MS43ZTFkZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmVjYzJjMDMwYTMwZmNkYWI5YWMyNDFiNjZjZDMwYzI1cC0xLAorICAgIDB4MS43ZmZmZmFwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLmVjYzM1YTA3ZjM2ODJkYmFhMzYwNTg3YzU1OWNjYmQzcC0xLAorICAgIDB4MS44MDAwNTBwMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLmVjYzZkYzAzYzM0MTU0MzU0Zjg1NWM2YmQ1MTdhZjVkcC0xLAorICAgIDB4MS44MDAyNDZwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmYwMTkyZjAwMDE5NzEyZWI5NzUyNGMwYmM3MDJiZTE3cC0xLAorICAgIDB4MS44MWRmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmYyODQ1NDAwMDFiOTNjOGViZTNmNGFmZmUyMTkwNWE2cC0xLAorICAgIDB4MS44MzNkZjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmY0ZDQ0YzFjYWY2Y2QyMTZiNjM0ZDMwOTdlOTAxMWYxcC0xLAorICAgIDB4MS44NDhlZThwMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLmY0ZmY4N2QwMTU5YzU5YmEwNDgyNjAyYWJlNDQyYWU4cC0xLAorICAgIDB4MS44NGE3OThwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmZiZDE4ZGMyNTBkMzMyNGFmNzVmOTc4NjU0YjI2Y2RmcC0xLAorICAgIDB4MS44ODk1YjRwMAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZjNWQ0M2EwNDUzYzU0MzE1Y2MzNjQ3YTMwZTRlZDJicC0xLAorICAgIDB4MS44OGU2ZmFwMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmZlYjQ0MzAwMDBlZTg5NzdlMTRhYzk2MmMzZWY3NzA2cC0xLAorICAgIDB4MS44YTQ0YmFwMAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmNlNTFmOWY0Nzg5NWVlODA3MTU4ZGExNmEzOGNhMTU3cDAsCisgICAgMHgxLjhmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuNmMwMjg3MGY0M2Y0MTJmMmZhY2RhOWM3MWFmNjRkOWFwNSwKKyAgICAweDEuOTAyNmY0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuNDc1MzNkMDAwMDI2NGM0Y2JiN2MyZmFiNTgxMzMyNDBwMSwKKyAgICAweDEuOWY0N2UycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS4xYTMwYjIwMDAwMWMzZGU3OWJjMGYyOTk4MmFmNWZjMXAwLAorICAgIDB4MS5hYmVlMjJwMAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjNmNjM1MGZmZGExZDIzNWE0NDkwZjdhYTJjZTI2YWU3cDQsCisgICAgMHgxLmJkNTMxY3AyNworICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjUwZWI2ZDA0NTQyODkzMTExY2ZkMzc0ZGZkM2QyMTRmcDEsCisgICAgMHgxLmJmM2JhYXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuMmRmYTkzZmYyYzY3MDBkMWQ5MDgyNWQzNzE4M2RjZDlwMiwKKyAgICAweDEuYmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5lY2Y0YzIxYWY5NTc4NzI2NmFhYzk5NjE2ZDYzYWYyMXAwLAorICAgIDB4MS5jMDUzZDRwMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmVlNTk2ZTI1MmMwMTY0MWZkMTYxNjBiODBiYzZhZmU2cDAsCisgICAgMHgxLmMyYWMyYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuNTI4MjZlZmZmMzc5ZTU5MTE5M2ZiOTc3ZmY0ZTZiYjFwMSwKKyAgICAweDEuYzRjM2ZjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5jYjYwNWQwYjBmNjZjMmFjNTg1N2NkYTEzOTAxNzkwYnA1LAorICAgIDB4MS5jYjBkMDhwODEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5mMzhmYzFlMjVmMTBmNWZiMjI3MWI1MGVkYmE0NDZiOHAwLAorICAgIDB4MS5jYjkwODBwMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjM5NDBhM2ZmZmY2NWUxMmZmNzZkNjk3NmEyNTI1NGJmcDAsCisgICAgMHgxLmQ4Y2I1NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuNDA4ODllZmZkMjhlMjc3YWQ4NDBkNzQ2NmFiYWQ2ZWNwNCwKKyAgICAweDEuZGU2MWZjcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMDlhYTIwZmY2ZGYzMjlmYzY5NjVjNTE1NzA0MmI0NGFwMywKKyAgICAweDEuZjdmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuZGNhMjFmMDA2MDhjMWQ1ZGZhOGM2ZTJkYjVhYmQ5YzBwNCwKKyAgICAweDEuZjdmZmZlcDQxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuNjI2MzZlMDAwYWFlODBhNzQ4ZGNkNzU1NWNhZjhlODlwMiwKKyAgICAweDEuZmJmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS41MGEyYWM5NTY4NGI2OGZkYzUwOGRmNDBjYzczMzIzZHAwLAorICAgIDB4MS5mZjFmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjUwYjljOGQ5YWMzZDlmZWQ2MDI5NDkyZTI5NDZlODljcDAsCisgICAgMHgxLmZmNDdmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuYjYxMDJhZmZjN2Y3NDYzOGM2ZDk3OTc5OWRiMmJmYWFwNSwKKyAgICAweDEuZmY5ZmZlcDc3CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuNTBmNjI1MDAwMWUxMWVkZTI5N2M0YjNmNGI3NmUyNjRwMCwKKyAgICAweDEuZmZiMDU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS41MTBhMDhmZmZmM2E1Yjk3MWZiNDFiNzU3YzY2MDNlY3AwLAorICAgIDB4MS5mZmQyYzZwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjQxOWVjYjAxMmM0Njg0ODM1NmM3MjgwOGFiODYzNjFjcDQsCisgICAgMHgxLmZmZmZmMnAyNworICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjU1MDc0NjAwNDczYTlkZDYyN2FjNDdkMWQyNDE5OTkwcDYsCisgICAgMHgxLmZmZmZmOHAxMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS42NDBlOTBmZmZlMWRiM2U0YmJiZTNkMmMxYjA4YzIyOXAwLAorICAgIDB4MS4xMTE4NzRwMQorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjlmMzI0NTMyNWZkZGQ1YjJjODdmMjQ5YzUyNzFjMWNkcC0yLAorICAgIDB4MS4xNTU1NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjIzYTUwMDNkYzJhNmQ5MjhkZDkyMWU4MDhhOTAxMWU4cC0xLAorICAgIDB4MS4yYWFhYWNwMAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjYyZTQzNTQ0ZjhlODZlOWEyMGYyOTdjZTRhMmJjNWQ4cC0xLAorICAgIDB4MS40MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjk3M2EyYTU0Y2FhMWRhMGEwNGJlMTU5ZGI1Y2FlOGFicC0xLAorICAgIDB4MS41NTU1NThwMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmM0ODQ2NmUzNzYwOGVlYzU1ODQyOTQzNDQ1NGVmYmMwcC0xLAorICAgIDB4MS42YWFhYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0xLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuNzkwNzIxMmQ5ZjI5MTEyZjI0NmUzZTQ4ZDE3Y2I4NzdwLTEsCisgICAgMHgxLjQ4OWE1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuOTRkODBmMjg1NTJhNzk2MGRiZDM2MWVmOGQ5OTcyMzlwLTEsCisgICAgMHgxLjU0NDk0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuY2RkY2M3NDk5NThhNTA4ZDI3MmM4YWYxZDdmNGVlOWZwLTEsCisgICAgMHgxLjZmNmE4Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjhmY2JhMDBhYWY0N2U3OTZkMDE3MjRjMjhkZjBhOGMzcC0xLAorICAgIDB4MS41MjE3OTRwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS44Y2E1MGNkNDI4YTE3NmY1MzkyMDVmM2FkZDc4M2I1N3AtMiwKKyAgICAweDEuMTM3MjQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTEsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTEsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMDg5NDAwMDdmNTQzY2ZhMGFkYWUyZTYyMjlkY2U3ZTJwMCwKKyAgICAweDEuOTU1NTU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMTkzZWE4YWFkMDMwMDk3NmE0YjZlMmE5OWExMGQzMTVwMCwKKyAgICAweDEuYWFhYWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMjhhN2NkMWNkMmQ4NzVkODliYTMyZWI1ZDU3NGZmYTRwMCwKKyAgICAweDEuYzAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuMzcwMzBkNDkwZjNjYjM2ZGRhOGU4NDM2MjgwZjY2NjZwMCwKKyAgICAweDEuZDU1NTU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuNDQ3N2EwMjg5ZTc2MjIwMDE5NjUyMTQxOTlkMDY2MWJwMCwKKyAgICAweDEuZWFhYWFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuNTEyNDI3MTk4MDQzNDliZTY4NGJkMDE4OGQ1MmNlY2NwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTEsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuMGMyNDIzMTJlOWYxNDdjNzJkZTZmODc4ZWVkNWYyNjNwMCwKKyAgICAweDEuOTliZjI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuMTk3ZTg4YjNkMTQ4NjgyNmU3NTU3ODQ5ZmE4NzAyZjlwMCwKKyAgICAweDEuYWFmZmU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuMjYxYjcxOGI4ZGMyNGEzOWE3N2EwMTM0NTkxODdlYWJwMCwKKyAgICAweDEuYmM1Y2NjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuZmJiZmJiNGZiM2M1MWExYTY5M2I4NTM4ZDEyYjI1MjhwLTEsCisgICAgMHgxLjg4OGI1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjRjZjFhNGI5NTk2NGJjN2FmNDc1YTE2MjhiNjEzZDBicDAsCisgICAgMHgxLmY4Y2M2ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjUxMjQyNzE5ODA0MzQ5YmU2ODRiZDAxODhkNTJjZWNjcDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjE4MDgwZGQzMTcxYjZjMDMxYTliNTc2YmU2M2I2ZDRjcDYsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMTg2OWE2ZDI3MDY5OWUxZmE3YzMwN2Q1ZmRiY2U4NjRwNiwKKyAgICAweDEuMTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS4xOGMyYzA1NjUwZWFjOTdjMDE0NzlhMWE3N2NhYTkwOXA2LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjE5MTRiNzBlODY3MjFiYmRlN2EyZWVhNmYwNzdkNTQ4cDYsCisgICAgMHgxLjRjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuMTk2MDlhMDUzYTk3ZDZmMzA0MDk3NTFlNjI4MWRlNTlwNiwKKyAgICAweDEuNjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS4xOWE3NDAxNzM4NmE0Mjg5NjI3OTFmMDU2ODc5NzJmNnA2LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLjE5ZTk1NjdhYjk4ZGQ0NWM2ODk4YTU0MmE5M2Q2YzFicDYsCisgICAgMHgxLjk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuMWEyNzZhZGNkMDQ3MmY1MmNkYWU0MDUxOTBmMDU4MTRwNiwKKyAgICAweDEuYjMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS4xYTYxZjI5OThlYWI2NTNlNTVjZGE5Y2YxYjhkOWU1MHA2LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjFhOTk0ZmZmZDMwMDU1NWEwZDYzNDgxNjAxZDM2NDIycDYsCisgICAgMHgxLmU2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuMWFjZGQ2MzJmNjYyYTllOWM5YzJlNjNhNDY0YjM5MjdwNiwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuZWNjMmM3NTg2Y2EzOTYzYmE1NzJkYjg2OGMzOTQ3ZWVwLTEsCisgICAgMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0xLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmVjYzJjZTgwMzYxNTA2MzcyYzhhY2NhZWIxNmI4M2FicC0xLAorICAgIDB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS41MTI0MjVmMWU1Y2UyYmE5OTJkYmVhM2E5MDc0NTBiNnAwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS41MTI0MjcxOTgwNDM0OWJlNjg0YmQwMTg4ZDUyY2VjY3AwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS41MTI0Mjk2OGI1MjhlNzdlNDY2NWY4Y2RlODUwNTUzZHAwLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS4wODFlYjQyZmVlYjNiYTg1ZWQxMmNlNGJjMGZjZjFlZXAxLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS4wODFlYjRiNDIxNTkxN2FmMGQzN2FmMTdmYmY5M2Y3M3AxLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS4wODFlYjViYzg2YTIyYWY4ZDgwOGM0OTkzNjBmYzExOHAxLAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS4xNTQyNDU2MzM3ZDQyMjFjNmI2NjczNDgxZjU2NGMwM3A0LAorICAgIDB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuMTU0MjQ1NzMzN2Q0MmExYzZiNzNjODlkODRhYmExNzFwNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjE1NDI0NTkzMzdkNDBhMWM2YmFlNzM0N2JmNTY0ZDBlcDQsCisgICAgMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS4zNjg3YTllMWFmMmIwY2RjYTE0OTA0ZjRhZDYzYzI1OXA0LAorICAgIDB4MS5mZmZmZmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuMzY4N2E5ZjFhZjJiMTRkY2ExNGU3YTRhMDZlOTE3YjJwNCwKKyAgICAweDEucDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjM2ODdhYTExYWYyYWY0ZGNhMTc5NjRmNDcwZDNjMmM1cDQsCisgICAgMHgxLjAwMDAwMnAyNworICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS40MTllY2I2MTJjNDgwNDgzNWRlNzU4MmUyZGM3MDg0NXA0LAorICAgIDB4MS5mZmZmZmVwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuNDE5ZWNiNzEyYzQ4MGM4MzVkZWNiNTgzODcyODVkOWRwNCwKKyAgICAweDEucDI4CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjQxOWVjYjkxMmM0N2VjODM1ZTE3NzAyZGYxYTMwOGFmcDQsCisgICAgMHgxLjAwMDAwMnAyOAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS42MmU0MmZlN2EzOWVlZjU3OTNjNGJjODU1YjNiNDJiMnA1LAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwNSwKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjYyZTQyZmZmYTM5ZWUzNTc5M2RjYmM4NTNkM2I0MmU3cDUsCisgICAgMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS42MDFlNjc4YmM0NTdiMzcwZTQ5ZTgzMGM1MTgwY2MyZHA2LAorICAgIDB4MS5mZmZmZmVwMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLjYwMWU2NzhmYzQ1N2I1NzBlNDlmZDg2MWE3ZDYyMTgzcDYsCisgICAgMHgxLnAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuNjAxZTY3OTdjNDU3YWQ3MGU0YWE4MzBjNDI4MGNjNDhwNiwKKyAgICAweDEuMDAwMDAycDEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS42NWE5Zjg0YjgyZTYyZjNlNDJlZGEwYTkxMWEwNjNlM3A2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS42NWE5Zjg0YjgyZTYyZjNlNDJlZGEwYTkxMWEwNjNlM3A2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjY1YTlmODQ3ODJlNjI5M2U0MmU0NGI1M2FkNGIwZTc0cDYsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuY2ZjMDMwMGUyM2RmNTRjZDkwOGEyNWFjNDM0ZTQ4OGNwMCwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuMDVmMjNkMDdiNjNiMGFmYWZhOWFkODIwM2RhZDY5ZjJwMCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuZmZmZmZmYWFhYWFhZDExMTEwZmEzNWEzNjljM2RjMzJwLTEyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hc2luX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9hc2luX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDE2YTRiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2FzaW5faW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMjc3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2FzaW5faW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEuOTI4MzU4NjUwM2ZlMDAwMDAwMDAwMDAwMDAwZTQ2YWFwLTUsCisgICAgMHgxLjkyNTllMzcwOGJkM2FwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS45MjgzNTg2NTAzZmUwMDAwMDAwMDAwMDAwMDBlNDZhYXAtNSwKKyAgICAtMHgxLjkyNTllMzcwOGJkM2FwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLmQ3YmRjZDc3ODA0OWYwMDAwMDAwMDAwMDAwMGQ1N2UxcC01LAorICAgIDB4MS5kNzdiMTE3ZjIzMGQ2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIC0weDEuZDdiZGNkNzc4MDQ5ZjAwMDAwMDAwMDAwMDAwZDU3ZTFwLTUsCisgICAgLTB4MS5kNzdiMTE3ZjIzMGQ2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS5hMjAyYjNmYjg0Nzg4MDAwMDAwMDAwMDAwMDU2ZWRiN3AtNCwKKyAgICAweDEuYTE0OTBjOGMwNmJhN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAtMHgxLmEyMDJiM2ZiODQ3ODgwMDAwMDAwMDAwMDAwNTZlZGI3cC00LAorICAgIC0weDEuYTE0OTBjOGMwNmJhN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuOTk0ZmZiNWRhZjBmOTdmZmZmZmZmZmZmZmZhODFhZGFwLTMsCisgICAgMHgxLjk2OTdjYjYwMmM1ODJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgLTB4MS45OTRmZmI1ZGFmMGY5N2ZmZmZmZmZmZmZmZmE4MWFkYXAtMywKKyAgICAtMHgxLjk2OTdjYjYwMmM1ODJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmQ1MDY0ZTZmZTgyYzRmZmZmZmZmZmZmZmZmOWVkMTg0cC0zLAorICAgIDB4MS5kMGVmNzk5MDAxYmE5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIC0weDEuZDUwNjRlNmZlODJjNGZmZmZmZmZmZmZmZmY5ZWQxODRwLTMsCisgICAgLTB4MS5kMGVmNzk5MDAxYmE5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuZmU3Njc3MzlkMGY2ZDAwMDAwMDAwMDAwMDAwMDA0NThwLTIsCisgICAgMHgxLmU5OTUwNzMwYzQ2OTZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEuZmU3Njc3MzlkMGY2ZDAwMDAwMDAwMDAwMDAwMDA0NThwLTIsCisgICAgLTB4MS5lOTk1MDczMGM0Njk2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuMzA3MDZmNjk5NDY2ZDdmZmZmZmZmZmZmZmY1ZjIwMTFwLTEsCisgICAgMHgxLjFlZDA2ZDUwZjdlODhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEuMzA3MDZmNjk5NDY2ZDdmZmZmZmZmZmZmZmY1ZjIwMTFwLTEsCisgICAgLTB4MS4xZWQwNmQ1MGY3ZTg4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMjk1MTdhYjRjMTMyYTgwMDAwMDAwMDAwMDA4OWRiNTZwMCwKKyAgICAweDEuZDViMDVhODlkM2U3N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgLTB4MS4yOTUxN2FiNGMxMzJhODAwMDAwMDAwMDAwMDg5ZGI1NnAwLAorICAgIC0weDEuZDViMDVhODlkM2U3N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjNhYTMwMWY2ZWJiMWRmZmZmZmZmZmZmZmZmMTZjMjhjcDAsCisgICAgMHgxLmUyNjQzNTdlYTBlMjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEuM2FhMzAxZjZlYmIxZGZmZmZmZmZmZmZmZmYxNmMyOGNwMCwKKyAgICAtMHgxLmUyNjQzNTdlYTBlMjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuMGMxNTIzODJkNzM2NTg0NjViYjMyZTBmNTY3YWQxMTZwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMGMxNTIzODJkNzM2NTg0NjViYjMyZTBmNTY3YWQxMTZwLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDAyYWFhYWFhYWFhYWFiMmFiZHAtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDJhYWFhYWFhYWFhYWIyYWJkcC0zMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuMWZjNWUxOTMxNTg5MmZmZDY5ZGVmYjczMWU1YjcyM2FwLTIsCisgICAgLTB4MS4xYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS4xZmM1ZTE5MzE1ODkyZmZkNjlkZWZiNzMxZTViNzIzYXAtMiwKKyAgICAweDEuMWMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLjMyMmY2ZDhlOTEwMTEzNTkyZmY0MDE0ZjQwM2FhZDA2cC0xLAorICAgIC0weDEuMjA0MjQ2MjEyMDJhY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjMyMmY2ZDhlOTEwMTEzNTkyZmY0MDE0ZjQwM2FhZDA2cC0xLAorICAgIDB4MS4yMDQyNDYyMTIwMmFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLjU3YzhkMzJkNGM3YTc2M2FiNjc3YTAwNmFlNjY0NjdmcC0xLAorICAgIC0weDEuM2U4NzJjN2NiYTA5NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjU3YzhkMzJkNGM3YTc2M2FiNjc3YTAwNmFlNjY0NjdmcC0xLAorICAgIDB4MS4zZTg3MmM3Y2JhMDk2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLjc1OWVkZDA0ZjY4ZTQ4MDAxYmIwNzc3NTg4OWZjOGE1cC0xLAorICAgIC0weDEuNTU1NTU1NTU1NTU1YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjc1OWVkZDA0ZjY4ZTQ4MDAxYmIwNzc3NTg4OWZjOGE1cC0xLAorICAgIDB4MS41NTU1NTU1NTU1NTVhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjc4MjMzM2Y5Mjg4MTNmZmVjMTFkYmEzYTg5ZDA1YzZjcC0xLAorICAgIC0weDEuNTczNDg5YjlhZTVhZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjc4MjMzM2Y5Mjg4MTNmZmVjMTFkYmEzYTg5ZDA1YzZjcC0xLAorICAgIDB4MS41NzM0ODliOWFlNWFkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLjk0ZDhiNGM3ODA4ZmI3YTg3ZTc1N2I1ZjQyMDM1YWFjcC0xLAorICAgIC0weDEuNmJmNTcwN2FhMGY2YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjk0ZDhiNGM3ODA4ZmI3YTg3ZTc1N2I1ZjQyMDM1YWFjcC0xLAorICAgIDB4MS42YmY1NzA3YWEwZjZicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLmIyMzUzMTVjYzhkMDA4MWMwMjdiNDJlNjNlMzA1YTY2cC0xLAorICAgIC0weDEuODAwMDAwMDA0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuYjIzNTMxNWNjOGQwMDgxYzAyN2I0MmU2M2UzMDVhNjZwLTEsCisgICAgMHgxLjgwMDAwMDAwNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS45NmI2ZThhMjAxODcxMDAwZjg3MGIyNDg0MWMwNWY3M3AtNCwKKyAgICAtMHgxLjk2MGJlNWRiN2E4OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS45NmI2ZThhMjAxODcxMDAwZjg3MGIyNDg0MWMwNWY3M3AtNCwKKyAgICAweDEuOTYwYmU1ZGI3YTg5MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS45OGFkN2Y5OTU0YzJjMDAwZGRhMTAwNjlmMjRiZmI5ZnAtNCwKKyAgICAtMHgxLjk4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjk4YWQ3Zjk5NTRjMmMwMDBkZGExMDA2OWYyNGJmYjlmcC00LAorICAgIDB4MS45ODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIC0weDEuYWEzNzFlZTczYmQxYzgwNzlmZmZmYTM2YmE1ZTVkOGNwLTIsCisgICAgLTB4MS45ZTAzZDJmNTM0NzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuYWEzNzFlZTczYmQxYzgwNzlmZmZmYTM2YmE1ZTVkOGNwLTIsCisgICAgMHgxLjllMDNkMmY1MzQ3MzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIC0weDEuZWQyN2NiMDFhZGVkZDdhZTNkNmNmYzA4YjViMWNhNzNwLTEsCisgICAgLTB4MS5hNDVjYTU3YTMzZmNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZWQyN2NiMDFhZGVkZDdhZTNkNmNmYzA4YjViMWNhNzNwLTEsCisgICAgMHgxLmE0NWNhNTdhMzNmY2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0weDEuYjM0ZDFjMjlkNWNjYmZmZWNkYzJiZGViYzA5NWJmMTNwLTYsCisgICAgLTB4MS5iMzRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5iMzRkMWMyOWQ1Y2NiZmZlY2RjMmJkZWJjMDk1YmYxM3AtNiwKKyAgICAweDEuYjM0cC02CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMHgxLmJmNzk3MTRhMmMxNTY3ZmZmZmY5NTg1ZjQ5MDY5YWRicC0xNSwKKyAgICAtMHgxLmJmNzk3MTQ2OWNhMWZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuYmY3OTcxNGEyYzE1NjdmZmZmZjk1ODVmNDkwNjlhZGJwLTE1LAorICAgIDB4MS5iZjc5NzE0NjljYTFmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5iZjc5NzE0YTJjMTliODAwMDAxM2IyODNiNzdkOWY4MnAtMTUsCisgICAgLTB4MS5iZjc5NzE0NjljYTY0cC0xNQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmJmNzk3MTRhMmMxOWI4MDAwMDEzYjI4M2I3N2Q5ZjgycC0xNSwKKyAgICAweDEuYmY3OTcxNDY5Y2E2NHAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuY2ZhZjI3NDYxMDMxMDc2MTdjNGI2YjJjMTUyMjNkMGRwLTIsCisgICAgLTB4MS5jMDAwMDAwMDAwM2ZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuY2ZhZjI3NDYxMDMxMDc2MTdjNGI2YjJjMTUyMjNkMGRwLTIsCisgICAgMHgxLmMwMDAwMDAwMDAzZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuMDEyOWJlNDk0OWFhZTdmZWVjNTY0ZmJlNTQ4OWM3OGVwLTEsCisgICAgLTB4MS5lY2Y4Y2FkNzQ1ZjU0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuMDEyOWJlNDk0OWFhZTdmZWVjNTY0ZmJlNTQ4OWM3OGVwLTEsCisgICAgMHgxLmVjZjhjYWQ3NDVmNTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuNTA0N2Q3N2IwZjg5MzgwMDAwMTFmNWFmNDFmNzJjODhwMCwKKyAgICAtMHgxLmVmMjg4NDExOTcyOTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS41MDQ3ZDc3YjBmODkzODAwMDAxMWY1YWY0MWY3MmM4OHAwLAorICAgIDB4MS5lZjI4ODQxMTk3MjkycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLmZiOWYxMTc3YTgxNTc4ODAwNzBmM2FkMmExZjk0MjJlcC02LAorICAgIC0weDEuZmI4YTQ3NGZhNjZkMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmZiOWYxMTc3YTgxNTc4ODAwNzBmM2FkMmExZjk0MjJlcC02LAorICAgIDB4MS5mYjhhNDc0ZmE2NmQwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLjdiOTAzM2VkYWQ1MzM3OTNkMTcyYmI1ZDY4MGI5N2I0cDAsCisgICAgLTB4MS5mZTAzNTlhMjE5M2Y4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuN2I5MDMzZWRhZDUzMzc5M2QxNzJiYjVkNjgwYjk3YjRwMCwKKyAgICAweDEuZmUwMzU5YTIxOTNmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS43YjkwMzNmMTdmZThiNzcyODAyOGYwNGQ1YjQyZGZhNHAwLAorICAgIC0weDEuZmUwMzU5YTJjNTgxM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjdiOTAzM2YxN2ZlOGI3NzI4MDI4ZjA0ZDViNDJkZmE0cDAsCisgICAgMHgxLmZlMDM1OWEyYzU4MTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuN2RhNjY1ZjVmZTU5Mjc4MDg1MGMxYmVmNjBmYWM0NzlwMCwKKyAgICAtMHgxLmZlNWQwYjRmMmY1NjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS43ZGE2NjVmNWZlNTkyNzgwODUwYzFiZWY2MGZhYzQ3OXAwLAorICAgIDB4MS5mZTVkMGI0ZjJmNTY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmZmMzQ4MjAxMzkzMjQ4YTc5NTY4NmYzZjBkMzA3YzVhcC02LAorICAgIC0weDEuZmYxZjQ2NTU0NTliNnAtNgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmZmMzQ4MjAxMzkzMjQ4YTc5NTY4NmYzZjBkMzA3YzVhcC02LAorICAgIDB4MS5mZjFmNDY1NTQ1OWI2cC02CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMmFhYWFhYWFhYWFhYjJhYmRwLTMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDAyYWFhYWFhYWFhYWFiMmFiZHAtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjBjMTUyMzgyZDczNmQ5OTllZTlhMWY3NTI2MDRkNDBlcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDA3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjBjMTUyMzgyZDczNmQ5OTllZTlhMWY3NTI2MDRkNDBlcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjBjMTUyMzgyZDc0OTUzNDEzNDJhNTJjNTY5NGNkNzM2cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMTA3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjBjMTUyMzgyZDc0OTUzNDEzNDJhNTJjNTY5NGNkNzM2cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDEwN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjBjMTUyMzgyZDc0YzkyYTM5YjY0YWJkNGIzZGQwOGMzcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMTM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLjBjMTUyMzgyZDc0YzkyYTM5YjY0YWJkNGIzZGQwOGMzcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDEzNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjAwMGFhYmRlMGJiYTg1OTc4ZDZhZDlmNDg4MjhlYzg2cC01LAorICAgIDB4MS4wMDAwMDAwMDAwMWUwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLjAwMGFhYmRlMGJiYTg1OTc4ZDZhZDlmNDg4MjhlYzg2cC01LAorICAgIC0weDEuMDAwMDAwMDAwMDFlMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjAwMGFhYmRlMGJiYzc1ZDU5OTBkNDY3YzU1YjlhZTM0cC01LAorICAgIDB4MS4wMDAwMDAwMDAwMWZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLjAwMGFhYmRlMGJiYzc1ZDU5OTBkNDY3YzU1YjlhZTM0cC01LAorICAgIC0weDEuMDAwMDAwMDAwMDFmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjAwMGFhYmRlMGM4ZGFmZmU4MGQyZTdkM2UxNDA5N2Q3cC01LAorICAgIDB4MS4wMDAwMDAwMDAwZjExcC01CisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjAwMGFhYmRlMGM4ZGFmZmU4MGQyZTdkM2UxNDA5N2Q3cC01LAorICAgIC0weDEuMDAwMDAwMDAwMGYxMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjAyYmU5Y2UwYmEwYjI4MDAwMWMxNTE2NzJiNTcxNDY2cC0yLAorICAgIDB4MS4wMDAwMDAwMDAxODFicC0yCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLjAyYmU5Y2UwYmEwYjI4MDAwMWMxNTE2NzJiNTcxNDY2cC0yLAorICAgIC0weDEuMDAwMDAwMDAwMTgxYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjBjMTUyMzgyZGUyM2Y3MDA3MWNkNDY0YWZkMjZkMGFkcC0xLAorICAgIDB4MS4wMDAwMDAwMDA2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS4wYzE1MjM4MmRlMjNmNzAwNzFjZDQ2NGFmZDI2ZDBhZHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuMGMxNTIzODJmMmVjZDMyZWI0NmViMjZlYWEzYTM0MzZwLTEsCisgICAgMHgxLjAwMDAwMDAwMTgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjBjMTUyMzgyZjJlY2QzMmViNDZlYjI2ZWFhM2EzNDM2cC0xLAorICAgIC0weDEuMDAwMDAwMDAxODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS4wYzE1MjM4MzZiMDM5MjcyZTk5ZDJhYTZjNzMzZmJkNHAtMSwKKyAgICAweDEuMDAwMDAwMDA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjBjMTUyMzgzNmIwMzkyNzJlOTlkMmFhNmM3MzNmYmQ0cC0xLAorICAgIC0weDEuMDAwMDAwMDA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuMGMxNTI1ODgyNTgyOGFlZDc0MzNiZTczNGZhMDM0ZTBwLTEsCisgICAgMHgxLjAwMDAwMWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuMGMxNTI1ODgyNTgyOGFlZDc0MzNiZTczNGZhMDM0ZTBwLTEsCisgICAgLTB4MS4wMDAwMDFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuMGMxNTI1OGQyZTI3ZTExNGRjMzNlMTliZTIxOWE5NjdwLTEsCisgICAgMHgxLjAwMDAwMWM0NWMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjBjMTUyNThkMmUyN2UxMTRkYzMzZTE5YmUyMTlhOTY3cC0xLAorICAgIC0weDEuMDAwMDAxYzQ1YzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS4wMmMyM2E0M2E4MTIyN2ZmZjU1ZTMwMjkzYjg2NjljZnAtMiwKKyAgICAweDEuMDAwMzhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuMDJjMjNhNDNhODEyMjdmZmY1NWUzMDI5M2I4NjY5Y2ZwLTIsCisgICAgLTB4MS4wMDAzOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjAwMzJjMWVjNzYxMTY4MDAyNTdkYzZkZTUzYzA2MTZlcC00LAorICAgIDB4MS4wMDA3ZmZmZmZmZmQxcC00CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjAwMzJjMWVjNzYxMTY4MDAyNTdkYzZkZTUzYzA2MTZlcC00LAorICAgIC0weDEuMDAwN2ZmZmZmZmZkMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjBjMjc5ZDViNjMzY2RjNjlmMjc3NWU4NTYyMmRjNGEycC0xLAorICAgIDB4MS4wMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuMGMyNzlkNWI2MzNjZGM2OWYyNzc1ZTg1NjIyZGM0YTJwLTEsCisgICAgLTB4MS4wMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuMGM0YzkyMzQ0NzA4N2RhZTVjYWU3YzgyNWVkMmEwY2NwLTEsCisgICAgMHgxLjAwM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuMGM0YzkyMzQ0NzA4N2RhZTVjYWU3YzgyNWVkMmEwY2NwLTEsCisgICAgLTB4MS4wMDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuMGM1NWNmYTgyOGMwYjM4YmVjZDE0MDliNjU4ZDY5NTBwLTEsCisgICAgMHgxLjAwMzgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS4wYzU1Y2ZhODI4YzBiMzhiZWNkMTQwOWI2NThkNjk1MHAtMSwKKyAgICAtMHgxLjAwMzgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLjAwNjJkYTA0OGVhMGQ3ZWZkNTM2ZDVjNjQzZTlmMjE1cC00LAorICAgIDB4MS4wMDM4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuMDA2MmRhMDQ4ZWEwZDdlZmQ1MzZkNWM2NDNlOWYyMTVwLTQsCisgICAgLTB4MS4wMDM4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDQwMmFhYWM1ZTY5ODAwNGM5NGUzOTI2MjIwMjcxNHAtOCwKKyAgICAweDEuMDAzZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuMDA0MDJhYWFjNWU2OTgwMDRjOTRlMzkyNjIyMDI3MTRwLTgsCisgICAgLTB4MS4wMDNmZmZlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjBjOTcyMDU5MGFjMzdmZDU5MzIyMTgyNWVjM2EwODRicC0xLAorICAgIDB4MS4wMDcwOGE1NGIyYzY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS4wYzk3MjA1OTBhYzM3ZmQ1OTMyMjE4MjVlYzNhMDg0YnAtMSwKKyAgICAtMHgxLjAwNzA4YTU0YjJjNjdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuMDBjMDAwMDAwMDAwMDAwMDAwMDAwMDBhYzJiY2FmMmFwLTQ1LAorICAgIDB4MS4wMGNwLTQ1CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS4wMGMwMDAwMDAwMDAwMDAwMDAwMDAwMGFjMmJjYWYyYXAtNDUsCisgICAgLTB4MS4wMGNwLTQ1CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjBkOTZlNTcyOTBjM2YxYzM2ODFiYWI4YzFmMDBiMzljcC0xLAorICAgIDB4MS4wMTRkY2FhMjM3OTcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS4wZDk2ZTU3MjkwYzNmMWMzNjgxYmFiOGMxZjAwYjM5Y3AtMSwKKyAgICAtMHgxLjAxNGRjYWEyMzc5NzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuMGRhYmY1NWRjZTkzN2Y3NTU4YThiNTMxZDQ1OWYxNWVwLTEsCisgICAgMHgxLjAxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuMGRhYmY1NWRjZTkzN2Y3NTU4YThiNTMxZDQ1OWYxNWVwLTEsCisgICAgLTB4MS4wMTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMGRjMmVmNjcxZDZjMzNlYWE1NDZkZGFlMDVkNWU0NTNwLTEsCisgICAgMHgxLjAxNzNkYzk0YjYzMDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLjBkYzJlZjY3MWQ2YzMzZWFhNTQ2ZGRhZTA1ZDVlNDUzcC0xLAorICAgIC0weDEuMDE3M2RjOTRiNjMwNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS4wZjFlNmVjNTRlZWEyYzczNDAxZjYyYmFkZDI5NzZhY3AtMSwKKyAgICAweDEuMDJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS4wZjFlNmVjNTRlZWEyYzczNDAxZjYyYmFkZDI5NzZhY3AtMSwKKyAgICAtMHgxLjAyYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wZjRkYTkyMjljZmZlYzBjMzc0Mzk5NzQ5MWYxMWQ1NnAtMSwKKyAgICAweDEuMDJjOGMxNmRjMTkzNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuMGY0ZGE5MjI5Y2ZmZWMwYzM3NDM5OTc0OTFmMTFkNTZwLTEsCisgICAgLTB4MS4wMmM4YzE2ZGMxOTM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjBmNjg5OWRjNzNlMzRhNTRhZDNjY2U4MDZjZTI5MDExcC0xLAorICAgIDB4MS4wMmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLjBmNjg5OWRjNzNlMzRhNTRhZDNjY2U4MDZjZTI5MDExcC0xLAorICAgIC0weDEuMDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjBmODM4ZTMwNDc5YWJhNjdlYzY1MmI2MzIwMjhmZWZhcC0xLAorICAgIDB4MS4wMmY3NDBmNjFlMzdhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS4wZjgzOGUzMDQ3OWFiYTY3ZWM2NTJiNjMyMDI4ZmVmYXAtMSwKKyAgICAtMHgxLjAyZjc0MGY2MWUzN2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuMGZlMzAxYzJmNWJlMmE2M2VmNWIyNjI2ZmUxOWM3OGFwLTEsCisgICAgMHgxLjAzNDk5M2VlM2I4ZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjBmZTMwMWMyZjViZTJhNjNlZjViMjYyNmZlMTljNzhhcC0xLAorICAgIC0weDEuMDM0OTkzZWUzYjhkYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS4xMDIyMjEyYmEyMzA2OWM0YTkzNzQ5NGQzMmZlYTU1OHAtMSwKKyAgICAweDEuMDM4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS4xMDIyMjEyYmEyMzA2OWM0YTkzNzQ5NGQzMmZlYTU1OHAtMSwKKyAgICAtMHgxLjAzOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS4xMDI4Mjk5NmY5ODgzYTU4ODg2YmExNzk5ZWQ1ZGQ4ZXAtMSwKKyAgICAweDEuMDM4NTMzNTY0ZDJmNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuMTAyODI5OTZmOTg4M2E1ODg4NmJhMTc5OWVkNWRkOGVwLTEsCisgICAgLTB4MS4wMzg1MzM1NjRkMmY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjEwNjZlODdlYWMwZmEyMDc2M2MzNDY1ZmFlNDlmNmYzcC0xLAorICAgIDB4MS4wM2JiNDdlYmEyN2FjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS4xMDY2ZTg3ZWFjMGZhMjA3NjNjMzQ2NWZhZTQ5ZjZmM3AtMSwKKyAgICAtMHgxLjAzYmI0N2ViYTI3YWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuMTBjYmI0Yzg2NTY2MjBkNWUyNWRlOTU0Y2MxOTZhMTVwLTEsCisgICAgMHgxLjA0MTIyMDY5YWZhYjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjEwY2JiNGM4NjU2NjIwZDVlMjVkZTk1NGNjMTk2YTE1cC0xLAorICAgIC0weDEuMDQxMjIwNjlhZmFiMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS4xMTY3MTdmOTY1NTZlZTQ0MjBiOTA5YjdmYTZiNjNkZnAtMSwKKyAgICAweDEuMDQ5N2VkYWI2ZWRlMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuMTE2NzE3Zjk2NTU2ZWU0NDIwYjkwOWI3ZmE2YjYzZGZwLTEsCisgICAgLTB4MS4wNDk3ZWRhYjZlZGUxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLjExNzlkYmIyN2U1ODJkNzM4NzhjMDE0YjhlM2UxY2MwcC0xLAorICAgIDB4MS4wNGE4MTQ3NThlMGY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS4xMTc5ZGJiMjdlNTgyZDczODc4YzAxNGI4ZTNlMWNjMHAtMSwKKyAgICAtMHgxLjA0YTgxNDc1OGUwZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuMTE5OGMwZDc5Mjg5YjJmOWYyNzdjMmYzYTdhMDVkMjVwLTEsCisgICAgMHgxLjA0YzJhYjc3Y2Y0NzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjExOThjMGQ3OTI4OWIyZjlmMjc3YzJmM2E3YTA1ZDI1cC0xLAorICAgIC0weDEuMDRjMmFiNzdjZjQ3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS4xOTY4NzU1NTdmMjEzN2QzOWQ3NGQxNzRmNTI5ZGI0YnAtMSwKKyAgICAweDEuMGI3M2MyZGNkYzJiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuMTk2ODc1NTU3ZjIxMzdkMzlkNzRkMTc0ZjUyOWRiNGJwLTEsCisgICAgLTB4MS4wYjczYzJkY2RjMmI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjFiNTUzZTQ0MzZmZWUwNTVkNGQyYzY3YzYwMWEwMjEycC0xLAorICAgIDB4MS4wZDE3N2JlYTNmNjEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS4xYjU1M2U0NDM2ZmVlMDU1ZDRkMmM2N2M2MDFhMDIxMnAtMSwKKyAgICAtMHgxLjBkMTc3YmVhM2Y2MTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuMWMzODQ0OWE2MWM5NTgwZDY4NTkzODBlMzQzZDgzM2NwLTEsCisgICAgMHgxLjBkZDg4NWEzZWY0ZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjFjMzg0NDlhNjFjOTU4MGQ2ODU5MzgwZTM0M2Q4MzNjcC0xLAorICAgIC0weDEuMGRkODg1YTNlZjRmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS4xY2M0YjNjMDc5ODM2MjY1ODcyYjdkNDkyMDQ0ZDYxNnAtMSwKKyAgICAweDEuMGU0ZmQ0MmIxZDBlNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuMWNjNGIzYzA3OTgzNjI2NTg3MmI3ZDQ5MjA0NGQ2MTZwLTEsCisgICAgLTB4MS4wZTRmZDQyYjFkMGU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjFjZmQ2ZTI2NmRlOTVmMWJmNDg3NjRmNDY1NzdlMzA5cC0xLAorICAgIDB4MS4wZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjFjZmQ2ZTI2NmRlOTVmMWJmNDg3NjRmNDY1NzdlMzA5cC0xLAorICAgIC0weDEuMGU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjIxY2RjZjUyMDAwYzIyMGE5NjZiZWZlYjYyZTY0MGY2cC0xLAorICAgIDB4MS4xMjkzNDUwNTFiMjlkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS4yMWNkY2Y1MjAwMGMyMjBhOTY2YmVmZWI2MmU2NDBmNnAtMSwKKyAgICAtMHgxLjEyOTM0NTA1MWIyOWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMTMwZDNhYTAyZGFjMjgwMTc1MDMyZDdkY2Q5MDEwMjlwLTUsCisgICAgMHgxLjEzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMTMwZDNhYTAyZGFjMjgwMTc1MDMyZDdkY2Q5MDEwMjlwLTUsCisgICAgLTB4MS4xMzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuMTQwMDAwMDAwZDVkZjgwMDAxYmY3OTEzY2I4MDk5NWNwLTE3LAorICAgIDB4MS4xNDBwLTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS4xNDAwMDAwMDBkNWRmODAwMDFiZjc5MTNjYjgwOTk1Y3AtMTcsCisgICAgLTB4MS4xNDBwLTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjI3NzVjNGI2MTdkNjU0NTg4OTU4YTE3OGRlYTg2MWJhcC0xLAorICAgIDB4MS4xNzU1MTc0ZDYyODIzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS4yNzc1YzRiNjE3ZDY1NDU4ODk1OGExNzhkZWE4NjFiYXAtMSwKKyAgICAtMHgxLjE3NTUxNzRkNjI4MjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuMTk5YWY4ZTVjYTQyNTdmY2Q3NjM1NDNiOGYzZmNlODFwLTUsCisgICAgMHgxLjE5OGNjNjYzMzE5ODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjE5OWFmOGU1Y2E0MjU3ZmNkNzYzNTQzYjhmM2ZjZTgxcC01LAorICAgIC0weDEuMTk4Y2M2NjMzMTk4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS4yYzVhYjgyNjRiZGJiM2UxYmM2NTIxNDMxNzc1OWEwOXAtMSwKKyAgICAweDEuMWI2YmRjOTFlOGVkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuMmM1YWI4MjY0YmRiYjNlMWJjNjUyMTQzMTc3NTlhMDlwLTEsCisgICAgLTB4MS4xYjZiZGM5MWU4ZWQ4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjJjZWUwMGE4NzBiYTUyOGZiZTZiOWYzY2RhMTQwOGIzcC0xLAorICAgIDB4MS4xYmU2Nzk5MWRlMmQ0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS4yY2VlMDBhODcwYmE1MjhmYmU2YjlmM2NkYTE0MDhiM3AtMSwKKyAgICAtMHgxLjFiZTY3OTkxZGUyZDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMWZjNWUxOTMxNTg5MmZmZDY5ZGVmYjczMWU1YjcyM2FwLTIsCisgICAgMHgxLjFjMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuMWZjNWUxOTMxNTg5MmZmZDY5ZGVmYjczMWU1YjcyM2FwLTIsCisgICAgLTB4MS4xYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuMmZlYmM2NTUxODVjOTljNDQ0ZmYwNGM1NWJmYjZkNjZwLTEsCisgICAgMHgxLjFlNjI3ZjY5YWY1ODhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjJmZWJjNjU1MTg1Yzk5YzQ0NGZmMDRjNTViZmI2ZDY2cC0xLAorICAgIC0weDEuMWU2MjdmNjlhZjU4OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS4zMGQ4YTk4MWI5OTQ4YTM5NGUxNDY3NDcwY2ZhZDIzNXAtMSwKKyAgICAweDEuMWYyNmJkZjhhMDM0M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuMzBkOGE5ODFiOTk0OGEzOTRlMTQ2NzQ3MGNmYWQyMzVwLTEsCisgICAgLTB4MS4xZjI2YmRmOGEwMzQzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjMwZjhkNmJjY2RmMjE3ZmZmOGMwZGRhMzEzOTE5NzRmcC0xLAorICAgIDB4MS4xZjQxNjEzMTcyNzQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS4zMGY4ZDZiY2NkZjIxN2ZmZjhjMGRkYTMxMzkxOTc0ZnAtMSwKKyAgICAtMHgxLjFmNDE2MTMxNzI3NDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuMzExMDI0OTA0N2VhZjMwZmMzYmE2OTg4YTQzYjhjY2JwLTEsCisgICAgMHgxLjFmNTRhYjUwZTM0N2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjMxMTAyNDkwNDdlYWYzMGZjM2JhNjk4OGE0M2I4Y2NicC0xLAorICAgIC0weDEuMWY1NGFiNTBlMzQ3ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS4zMTQ2MmYyMGQzMTQ1YTI1ODk4Y2Q1NTYxMTI2ZGJlZnAtMSwKKyAgICAweDEuMWY4MTY0NjBiNmUwZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuMzE0NjJmMjBkMzE0NWEyNTg5OGNkNTU2MTEyNmRiZWZwLTEsCisgICAgLTB4MS4xZjgxNjQ2MGI2ZTBkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjMxZWYxOTdiZGUzNTUzMWE5MTVlMjY0ZmVmMjMwNWU4cC0xLAorICAgIDB4MS4yMDBkMTljM2YwYjBicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS4zMWVmMTk3YmRlMzU1MzFhOTE1ZTI2NGZlZjIzMDVlOHAtMSwKKyAgICAtMHgxLjIwMGQxOWMzZjBiMGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMzIxZDEyZTU0ZjgzYjMxNjI3ZjgwYzNmYTYyYjdjYTFwLTEsCisgICAgMHgxLjIwMzMxYWI4YTc0NThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjMyMWQxMmU1NGY4M2IzMTYyN2Y4MGMzZmE2MmI3Y2ExcC0xLAorICAgIC0weDEuMjAzMzFhYjhhNzQ1OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS4yMTc3NTIxYTMzOGIwN2ZmZjBkOWM5OTU3YzVhNmNlYnAtMTYsCisgICAgMHgxLjIxNzc1MjE5ZjVkYzVwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS4yMTc3NTIxYTMzOGIwN2ZmZjBkOWM5OTU3YzVhNmNlYnAtMTYsCisgICAgLTB4MS4yMTc3NTIxOWY1ZGM1cC0xNgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS4zZTY3OTI1ZDBlNmY4YmNiYjIxYTc5ZDI3ZWNjYTdkMnAtMSwKKyAgICAweDEuMmE0NjQ3MTgwNWVmZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuM2U2NzkyNWQwZTZmOGJjYmIyMWE3OWQyN2VjY2E3ZDJwLTEsCisgICAgLTB4MS4yYTQ2NDcxODA1ZWZkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjJiYjE4NjJhNTY4MTQ4MDE1YzBiZjRhMmE3MTU0ZGMxcC0zLAorICAgIDB4MS4yYWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLjJiYjE4NjJhNTY4MTQ4MDE1YzBiZjRhMmE3MTU0ZGMxcC0zLAorICAgIC0weDEuMmFhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjNmNmZkMGYyNzgyM2Q3ZmVmYzc0YTcxZWNjZDk2Mjk4cC0xLAorICAgIDB4MS4yYjFjZTU0ODgzM2FlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS4zZjZmZDBmMjc4MjNkN2ZlZmM3NGE3MWVjY2Q5NjI5OHAtMSwKKyAgICAtMHgxLjJiMWNlNTQ4ODMzYWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuNDExYmI0OTM2NGM1ZWE0MTg0YmIzODA1YTg5M2UwNTRwLTEsCisgICAgMHgxLjJjNzdjM2I3ZmFkYmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjQxMWJiNDkzNjRjNWVhNDE4NGJiMzgwNWE4OTNlMDU0cC0xLAorICAgIC0weDEuMmM3N2MzYjdmYWRiY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS40NDJmZjZjMGY1ZDRkN2ZlNzc3NWU3MGMzZTRlODIxOXAtMSwKKyAgICAweDEuMmVmNDllNTUxMWRkZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuNDQyZmY2YzBmNWQ0ZDdmZTc3NzVlNzBjM2U0ZTgyMTlwLTEsCisgICAgLTB4MS4yZWY0OWU1NTExZGRmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjQ0M2ZlY2ZlYmMxZGY3ZGU2ODA1MjYyNGE4YjFkNjFkcC0xLAorICAgIDB4MS4yZjAxN2M0ZmUzNTQ0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS40NDNmZWNmZWJjMWRmN2RlNjgwNTI2MjRhOGIxZDYxZHAtMSwKKyAgICAtMHgxLjJmMDE3YzRmZTM1NDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuNDU3YmYzMThmZTUxNmE3OWRhNmY0YTYxYWY3YTdmYTVwLTEsCisgICAgMHgxLjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLjQ1N2JmMzE4ZmU1MTZhNzlkYTZmNGE2MWFmN2E3ZmE1cC0xLAorICAgIC0weDEuM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS41Y2NkNWMwNWU2OGZiODAwMDAwODQ5ZGRkMGZlMmNhNXAtMSwKKyAgICAweDEuNDI3MGVkNGFhZDcwZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuNWNjZDVjMDVlNjhmYjgwMDAwMDg0OWRkZDBmZTJjYTVwLTEsCisgICAgLTB4MS40MjcwZWQ0YWFkNzBlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjQ0MDAwMDAwMTU5ZmQ4MDAwM2U1OTNiNzg1YmE5NjI2cC0xNywKKyAgICAweDEuNDQwcC0xNworICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuNDQwMDAwMDAxNTlmZDgwMDAzZTU5M2I3ODViYTk2MjZwLTE3LAorICAgIC0weDEuNDQwcC0xNworICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS42M2IxY2JiNjZiOGExN2FlMWZkNzYwMzVkOTQ5ZTJiN3AtMSwKKyAgICAweDEuNDdjM2ZkYzliZjQzM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuNjNiMWNiYjY2YjhhMTdhZTFmZDc2MDM1ZDk0OWUyYjdwLTEsCisgICAgLTB4MS40N2MzZmRjOWJmNDMzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjY1ZmM4ZjY2YmE2OTJlMDFhNWFmZGE3YWNlOGRlYWUycC0xLAorICAgIDB4MS40OTg1ZWMyMmU3YmY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS42NWZjOGY2NmJhNjkyZTAxYTVhZmRhN2FjZThkZWFlMnAtMSwKKyAgICAtMHgxLjQ5ODVlYzIyZTdiZjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuNGQ3OGJhYzA4NjU2NjgxODQ3NDYyNDY3NTU1ZTU0OWJwLTMsCisgICAgMHgxLjRjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuNGQ3OGJhYzA4NjU2NjgxODQ3NDYyNDY3NTU1ZTU0OWJwLTMsCisgICAgLTB4MS40YzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuNmQ1OWJmZTNmMjIyNGY2MDAwYWNjMDBiNzY5ZWQ0NDBwLTEsCisgICAgMHgxLjRmMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuNmQ1OWJmZTNmMjIyNGY2MDAwYWNjMDBiNzY5ZWQ0NDBwLTEsCisgICAgLTB4MS40ZjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuNTAwMDAwMDAwMDIwNzgwMDAwMDAxM2E4MzkzMzMzNDNwLTIwLAorICAgIDB4MS40ZmZmZmZmZmZmY3AtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLjUwMDAwMDAwMDAyMDc4MDAwMDAwMTNhODM5MzMzMzQzcC0yMCwKKyAgICAtMHgxLjRmZmZmZmZmZmZjcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS41MDAwMDAwMDAwNjA3ODAwMDAwMDRhYzgzOTMzMzM3ZnAtMjAsCisgICAgMHgxLjVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS41MDAwMDAwMDAwNjA3ODAwMDAwMDRhYzgzOTMzMzM3ZnAtMjAsCisgICAgLTB4MS41cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS41NTI3N2I5ZjM4ZDAyN2ZmZmYzMDExMmJlZDBjOWYwZnAtNCwKKyAgICAweDEuNTRjMjhhOGU0ZjNlMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuNTUyNzdiOWYzOGQwMjdmZmZmMzAxMTJiZWQwYzlmMGZwLTQsCisgICAgLTB4MS41NGMyOGE4ZTRmM2UycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjVlZDJhMzkyYmI1MGY3ZmFkNjlkYjRkOTU5YjM1MTBhcC0yLAorICAgIDB4MS41ODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLjVlZDJhMzkyYmI1MGY3ZmFkNjlkYjRkOTU5YjM1MTBhcC0yLAorICAgIC0weDEuNTgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjdmMWY0OTE3YzcyYjYwMDNiNTVjODIwMGU4ZGNlY2MwcC0xLAorICAgIDB4MS41YzViMzQwN2Y1NWUxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS43ZjFmNDkxN2M3MmI2MDAzYjU1YzgyMDBlOGRjZWNjMHAtMSwKKyAgICAtMHgxLjVjNWIzNDA3ZjU1ZTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuOGI2MjAxYzBmMTc5MDgwMDAwZDgxYjc5NjRhZTQ2NTRwLTEsCisgICAgMHgxLjY1M2RhNWJhZjc0NDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjhiNjIwMWMwZjE3OTA4MDAwMGQ4MWI3OTY0YWU0NjU0cC0xLAorICAgIC0weDEuNjUzZGE1YmFmNzQ0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS43MjUwOTUyY2EyOWMwODEzZjRlNTBhMGFkMThmMzY0OHAtMiwKKyAgICAweDEuNmE0YmI2M2M4MjEyOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuNzI1MDk1MmNhMjljMDgxM2Y0ZTUwYTBhZDE4ZjM2NDhwLTIsCisgICAgLTB4MS42YTRiYjYzYzgyMTI5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjc3YjI3ZTNhNDQxODQ4MGQ4YzAwNjJiZTExNjkzZTE2cC0yLAorICAgIDB4MS42ZjUzMzYwM2UyMzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS43N2IyN2UzYTQ0MTg0ODBkOGMwMDYyYmUxMTY5M2UxNnAtMiwKKyAgICAtMHgxLjZmNTMzNjAzZTIzMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuOWUxNDliYWQ5NjQ5MjgwMDAwZWI5ZGFkNzQ0MGM1NzRwLTEsCisgICAgMHgxLjcyNjRkMGJlYzQ5YjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLjllMTQ5YmFkOTY0OTI4MDAwMGViOWRhZDc0NDBjNTc0cC0xLAorICAgIC0weDEuNzI2NGQwYmVjNDliMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS43Y2MwZWU3ZWQ4YWQ0ODEzN2UxODVmYjkxNTZiYWU0Y3AtMiwKKyAgICAweDEuNzQwYTU5NjQ3ZDdhNXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuN2NjMGVlN2VkOGFkNDgxMzdlMTg1ZmI5MTU2YmFlNGNwLTIsCisgICAgLTB4MS43NDBhNTk2NDdkN2E1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmEyMDc1NjY0ODhmYzk3ZmNhZGMzMDkzM2UzMzkyZDNkcC0xLAorICAgIDB4MS43NTFiY2NhODUxMzA5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS5hMjA3NTY2NDg4ZmM5N2ZjYWRjMzA5MzNlMzM5MmQzZHAtMSwKKyAgICAtMHgxLjc1MWJjY2E4NTEzMDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuN2U2OTNjMTEzZDRhNDgxNGMxNTBkOGFjNWIwYzhkNTNwLTIsCisgICAgMHgxLjc1OTU4ODNiNjdmMTZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjdlNjkzYzExM2Q0YTQ4MTRjMTUwZDhhYzViMGM4ZDUzcC0yLAorICAgIC0weDEuNzU5NTg4M2I2N2YxNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS43ZWU2YmU1MDU4ZDAyMDFhMjRkMTM3ZjUyZmY2OTA5ZXAtMiwKKyAgICAweDEuNzYwYTYxMTZjNzE5OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuN2VlNmJlNTA1OGQwMjAxYTI0ZDEzN2Y1MmZmNjkwOWVwLTIsCisgICAgLTB4MS43NjBhNjExNmM3MTk4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmE2YTFiZWYzNjFhN2Q3ZjljMjgxNmUwMmRiYWMxYmY1cC0xLAorICAgIDB4MS43ODNlZTgxODMxNjY1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5hNmExYmVmMzYxYTdkN2Y5YzI4MTZlMDJkYmFjMWJmNXAtMSwKKyAgICAtMHgxLjc4M2VlODE4MzE2NjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuODY2MTg2MTJjMzU5ZTgxNDgxZDlhNzM0MWQ2YTJhNTFwLTIsCisgICAgMHgxLjdjZmU0NzM0MzBmYzZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMHgxLjg2NjE4NjEyYzM1OWU4MTQ4MWQ5YTczNDFkNmEyYTUxcC0yLAorICAgIC0weDEuN2NmZTQ3MzQzMGZjNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS44OGQ4YTNiMTRkOWUxZmYxNGJiZGUzZDMzZDE1NzUzMHAtMiwKKyAgICAweDEuN2Y0N2NkMTBkZTBlOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuODhkOGEzYjE0ZDllMWZmMTRiYmRlM2QzM2QxNTc1MzBwLTIsCisgICAgLTB4MS43ZjQ3Y2QxMGRlMGU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLjg5ODg4NjhmYzU2NGM4MTk4MmIyZGI4Y2U4YmMwNjI1cC0yLAorICAgIDB4MS43ZmVhZTEzN2Q1ZGRlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS44OTg4ODY4ZmM1NjRjODE5ODJiMmRiOGNlOGJjMDYyNXAtMiwKKyAgICAtMHgxLjdmZWFlMTM3ZDVkZGVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuODk5ZmQ4ZjAxNzUxNTgxMmRlMTRmNDRiZTk4ZDA1NWNwLTIsCisgICAgMHgxLjgwMDA3ZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjg5OWZkOGYwMTc1MTU4MTJkZTE0ZjQ0YmU5OGQwNTVjcC0yLAorICAgIC0weDEuODAwMDdmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5iMjdhZTBmNWVlNmU2N2ZmZmI0NGZiM2EwY2IzYzIxNXAtMSwKKyAgICAweDEuODAyZTE0M2E5MWM0ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuYjI3YWUwZjVlZTZlNjdmZmZiNDRmYjNhMGNiM2MyMTVwLTEsCisgICAgLTB4MS44MDJlMTQzYTkxYzRlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjhiNzgwOWJiODZhZTE3ZWM2YzI0ZGE5ODQxMzhmNDE5cC0yLAorICAgIDB4MS44MWI2MTI4NDBkYmFlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTB4MS44Yjc4MDliYjg2YWUxN2VjNmMyNGRhOTg0MTM4ZjQxOXAtMiwKKyAgICAtMHgxLjgxYjYxMjg0MGRiYWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuOGY5MWMwZmI4ZTJlOTdlZjg0N2VhYjExNTlmMDBjYzZwLTIsCisgICAgMHgxLjg1ODFhZGUyODM1NWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtMHgxLjhmOTFjMGZiOGUyZTk3ZWY4NDdlYWIxMTU5ZjAwY2M2cC0yLAorICAgIC0weDEuODU4MWFkZTI4MzU1ZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS44YzE2ZjNmYzRhNTg0MDAxMzE4N2M2MmQ5NDhhYTAwM3AtMywKKyAgICAweDEuODlhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS44YzE2ZjNmYzRhNTg0MDAxMzE4N2M2MmQ5NDhhYTAwM3AtMywKKyAgICAtMHgxLjg5YXAtMworICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS5jMWUxMjBiOTgwYjNjZjNmYmYxNzI2ODIwMGZjOGZmYnAtMSwKKyAgICAweDEuOGEyZjJmNTRkODQ5ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuYzFlMTIwYjk4MGIzY2YzZmJmMTcyNjgyMDBmYzhmZmJwLTEsCisgICAgLTB4MS44YTJmMmY1NGQ4NDllcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjk1YjVhOTM2NTYyMTE4MDYzMzVlNTMwMGUyNTE1MzNjcC0yLAorICAgIDB4MS44YjJkYTA3NzMzOGMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS45NWI1YTkzNjU2MjExODA2MzM1ZTUzMDBlMjUxNTMzY3AtMiwKKyAgICAtMHgxLjhiMmRhMDc3MzM4YzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuOTBjYzc3NjZiMzNiZDAwMGZmZjE0MzQ0MmI0ZTIwNDNwLTQsCisgICAgMHgxLjkwMjhjZWI0YWZkMmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLjkwY2M3NzY2YjMzYmQwMDBmZmYxNDM0NDJiNGUyMDQzcC00LAorICAgIC0weDEuOTAyOGNlYjRhZmQyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5jYmUyNzM5Y2U1NjkyN2ZiYjdkMDc3N2ZjNTA1Nzk2NXAtMSwKKyAgICAweDEuOTA3ZTYzMmIxMDAwZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuY2JlMjczOWNlNTY5MjdmYmI3ZDA3NzdmYzUwNTc5NjVwLTEsCisgICAgLTB4MS45MDdlNjMyYjEwMDBlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjllZmY3ZDIyNGExMGNmZmQwY2NjMmVlYTM5YzRlY2FjcC0yLAorICAgIDB4MS45M2JiMGZjMDcwMGI3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgLTB4MS45ZWZmN2QyMjRhMTBjZmZkMGNjYzJlZWEzOWM0ZWNhY3AtMiwKKyAgICAtMHgxLjkzYmIwZmMwNzAwYjdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuYTA1NTJhYTQ5YjcxMTdmYTUzYjEwNTYzMDAyNGZlNDlwLTIsCisgICAgMHgxLjk0ZjRmOTU0NzdkOWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMHgxLmEwNTUyYWE0OWI3MTE3ZmE1M2IxMDU2MzAwMjRmZTQ5cC0yLAorICAgIC0weDEuOTRmNGY5NTQ3N2Q5ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS45OTRmZmI1ZGFmMGY5N2ZmZmZmZmZmZmZmZmE4MWFkYXAtMywKKyAgICAweDEuOTY5N2NiNjAyYzU4MnAtMworICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuOTk0ZmZiNWRhZjBmOTdmZmZmZmZmZmZmZmZhODFhZGFwLTMsCisgICAgLTB4MS45Njk3Y2I2MDJjNTgycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjk4YWQ3Zjk5NTRjMmMwMDBkZGExMDA2OWYyNGJmYjlmcC00LAorICAgIDB4MS45ODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLjk4YWQ3Zjk5NTRjMmMwMDBkZGExMDA2OWYyNGJmYjlmcC00LAorICAgIC0weDEuOTgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjljNjE4YWFmYWJlZDUwMDAwMDgwYmI5ZDljNmQ2MDJlcC0zLAorICAgIDB4MS45OTk5OTlhNDVlODk4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLTB4MS45YzYxOGFhZmFiZWQ1MDAwMDA4MGJiOWQ5YzZkNjAyZXAtMywKKyAgICAtMHgxLjk5OTk5OWE0NWU4OThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuOWM2MThhYWZhYzA2MTAwMzczMmIzNDdkYmI2YmY2MTBwLTMsCisgICAgMHgxLjk5OTk5OWE0NWVhMWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAtMHgxLjljNjE4YWFmYWMwNjEwMDM3MzJiMzQ3ZGJiNmJmNjEwcC0zLAorICAgIC0weDEuOTk5OTk5YTQ1ZWExY3AtMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS45YzYxOGFiNTRhN2IyZmZlNDYyODE5MWY4MjM5MTY0N3AtMywKKyAgICAweDEuOTk5OTk5YTllMDA2ZHAtMworICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuOWM2MThhYjU0YTdiMmZmZTQ2MjgxOTFmODIzOTE2NDdwLTMsCisgICAgLTB4MS45OTk5OTlhOWUwMDZkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjljNjE4YWI1NWIwOTJmZmQ4MDRhM2Y0YmMzMmY0M2M2cC0zLAorICAgIDB4MS45OTk5OTlhOWYwM2YzcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS45YzYxOGFiNTViMDkyZmZkODA0YTNmNGJjMzJmNDNjNnAtMywKKyAgICAtMHgxLjk5OTk5OWE5ZjAzZjNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuZGRlZGY0MDA3MTMwOTdjZTMxZGYwODg4YmNkZThkNjlwLTEsCisgICAgMHgxLjliN2MxZDk0NDU0MTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLmRkZWRmNDAwNzEzMDk3Y2UzMWRmMDg4OGJjZGU4ZDY5cC0xLAorICAgIC0weDEuOWI3YzFkOTQ0NTQxM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5lY2EzNDU2MmQ0YTBkNzk1MTYxODZkMWMyMDBlYWU0NnAtMSwKKyAgICAweDEuYTQxMGVmM2ZmZTliMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuZWNhMzQ1NjJkNGEwZDc5NTE2MTg2ZDFjMjAwZWFlNDZwLTEsCisgICAgLTB4MS5hNDEwZWYzZmZlOWIxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLmY5MDQ2OTQzOGY2MTY4MDFlZGIyM2VmMGZjZjdhMzIycC0xLAorICAgIDB4MS5hYjA1MzgyNWZhM2M3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS5mOTA0Njk0MzhmNjE2ODAxZWRiMjNlZjBmY2Y3YTMyMnAtMSwKKyAgICAtMHgxLmFiMDUzODI1ZmEzYzdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuYjAwMDAwMDAwMGNkMDgwMDAwMDEwNmJjODA2NjY4MjNwLTIwLAorICAgIDB4MS5icC0yMAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuYjAwMDAwMDAwMGNkMDgwMDAwMDEwNmJjODA2NjY4MjNwLTIwLAorICAgIC0weDEuYnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuYjNiMGRhNjc1NDNiMzgwNzgzNGE4ZmViMWMxZWJhOTRwLTMsCisgICAgMHgxLmIwNjk2ZGVjMmMwYTFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmIzYjBkYTY3NTQzYjM4MDc4MzRhOGZlYjFjMWViYTk0cC0zLAorICAgIC0weDEuYjA2OTZkZWMyYzBhMXAtMworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS4wNDE3OWNiZTFlNWMxZmZmZmY4MTg3OTRlNDgyZDU0N3AwLAorICAgIDB4MS5iMzMzMzMzNzYxMjQ1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS4wNDE3OWNiZTFlNWMxZmZmZmY4MTg3OTRlNDgyZDU0N3AwLAorICAgIC0weDEuYjMzMzMzMzc2MTI0NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS5iMzRkMWMyOWQ1Y2NiZmZlY2RjMmJkZWJjMDk1YmYxM3AtNiwKKyAgICAweDEuYjM0cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS5iMzRkMWMyOWQ1Y2NiZmZlY2RjMmJkZWJjMDk1YmYxM3AtNiwKKyAgICAtMHgxLmIzNHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS4wNTU0YmIzMjQyYTJhODAwZGY0Y2VlNDljYTA5MjE3N3AwLAorICAgIDB4MS5iNDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLjA1NTRiYjMyNDJhMmE4MDBkZjRjZWU0OWNhMDkyMTc3cDAsCisgICAgLTB4MS5iNDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuYjhhODhmMzhiYzVhYzgxMzdlOGM3ZWI1NDQ0MzY3NWVwLTMsCisgICAgMHgxLmI1NDQyM2MxNDgzZTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLmI4YTg4ZjM4YmM1YWM4MTM3ZThjN2ViNTQ0NDM2NzVlcC0zLAorICAgIC0weDEuYjU0NDIzYzE0ODNlMnAtMworICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS4wN2Q4Y2RmN2VlZWU4ODBmYmM1Mjc3ZmFhMTQ5ZTI0YXAwLAorICAgIDB4MS5iNzFiZGMyYzRlY2Y2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS4wN2Q4Y2RmN2VlZWU4ODBmYmM1Mjc3ZmFhMTQ5ZTI0YXAwLAorICAgIC0weDEuYjcxYmRjMmM0ZWNmNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5iZjA2Y2EzMTU5YTI0N2ZmZmQ5NDlhY2JmNzE5MDE0MXAtNiwKKyAgICAweDEuYmVmODk3NzViNWU4OHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEuYmYwNmNhMzE1OWEyNDdmZmZkOTQ5YWNiZjcxOTAxNDFwLTYsCisgICAgLTB4MS5iZWY4OTc3NWI1ZTg4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLmNlOGM3YTUwYmRkYmFmZmVhZTIwNTIwOWM0YjI5MGZjcC0yLAorICAgIDB4MS5iZWZhOGM3NjRlMzVkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5jZThjN2E1MGJkZGJhZmZlYWUyMDUyMDljNGIyOTBmY3AtMiwKKyAgICAtMHgxLmJlZmE4Yzc2NGUzNWRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuY2Y3OWNmM2M2M2YwNTdkMDg4NWEyNjRmYTdlMTRhMjRwLTIsCisgICAgMHgxLmJmZDAwN2ExYjFhNDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLmNmNzljZjNjNjNmMDU3ZDA4ODVhMjY0ZmE3ZTE0YTI0cC0yLAorICAgIC0weDEuYmZkMDA3YTFiMWE0OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5jMGUwZDQyYTE1MGY5ODBlNzFiNWYwM2VkZWQ1MDcwZnAtMjMsCisgICAgMHgxLmMwZTBkNDJhMTUwYzBwLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS5jMGUwZDQyYTE1MGY5ODBlNzFiNWYwM2VkZWQ1MDcwZnAtMjMsCisgICAgLTB4MS5jMGUwZDQyYTE1MGMwcC0yMworICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5jMTRhNmM0NTJiZmEwODAxNjAzODlmODAyMzNlY2E2M3AtNiwKKyAgICAweDEuYzEzYzAyMDc1MWE3OHAtNgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuYzE0YTZjNDUyYmZhMDgwMTYwMzg5ZjgwMjMzZWNhNjNwLTYsCisgICAgLTB4MS5jMTNjMDIwNzUxYTc4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLmQxMWE3YjgxYjFjMWU3OWNmNjE2YWQyZTI3M2FmYjQzcC0yLAorICAgIDB4MS5jMTQ2OWExNWU2OGY1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS5kMTFhN2I4MWIxYzFlNzljZjYxNmFkMmUyNzNhZmI0M3AtMiwKKyAgICAtMHgxLmMxNDY5YTE1ZTY4ZjVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuMTZmNGJiODY0YWRmYzgwMDAwOGZkMzhmZDFlMDQyNjFwMCwKKyAgICAweDEuYzVlMDEwMTkwMDllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0weDEuMTZmNGJiODY0YWRmYzgwMDAwOGZkMzhmZDFlMDQyNjFwMCwKKyAgICAtMHgxLmM1ZTAxMDE5MDA5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuYzY3ODU0OGMyMmJhOTBwLTExNSwKKyAgICAweDEuYzY3ODU0OGMyMmJhOXAtMTE1CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5jNjc4NTQ4YzIyYmE5MHAtMTE1LAorICAgIC0weDEuYzY3ODU0OGMyMmJhOXAtMTE1CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMHgxLmQ3ZWZkMGUyMGQwN2Q4MDEzODAxZTk2MmUzMTdlNTQ5cC0yLAorICAgIDB4MS5jNzY3ZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS5kN2VmZDBlMjBkMDdkODAxMzgwMWU5NjJlMzE3ZTU0OXAtMiwKKyAgICAtMHgxLmM3NjdmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuYzllNjNmMWZlMGYwZTgyMWIyOTY2N2JjNGViNGQ1MGJwLTQsCisgICAgMHgxLmM4ZjIzYzhmMjNjOGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLmM5ZTYzZjFmZTBmMGU4MjFiMjk2NjdiYzRlYjRkNTBicC00LAorICAgIC0weDEuYzhmMjNjOGYyM2M4Y3AtNAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS4xZWE5MzcwZTU2N2JlN2ZmZmZmZmUwMWUxNTg2NmEzM3AwLAorICAgIDB4MS5jY2NjY2NkNDE2YzA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS4xZWE5MzcwZTU2N2JlN2ZmZmZmZmUwMWUxNTg2NmEzM3AwLAorICAgIC0weDEuY2NjY2NjZDQxNmMwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS4yMjkyN2U2MDczYjRjODAwMDBkMjc5NjdmMmE3YTRmN3AwLAorICAgIDB4MS5kMDI3ZTQ4ZjJjMmJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS4yMjkyN2U2MDczYjRjODAwMDBkMjc5NjdmMmE3YTRmN3AwLAorICAgIC0weDEuZDAyN2U0OGYyYzJiYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5kMmUwMDAwMDAxMDJjZGM2ZWI0MTgzNTlkMDY4MmRlZHAtMjAsCisgICAgMHgxLmQyZXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMHgxLmQyZTAwMDAwMDEwMmNkYzZlYjQxODM1OWQwNjgyZGVkcC0yMCwKKyAgICAtMHgxLmQyZXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuMjgxYjRjMmZjYWZlNTdmZTE2YjQ2NzliZTc2ZDI5ZjVwMCwKKyAgICAweDEuZDRiODExODJmZTEzYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEuMjgxYjRjMmZjYWZlNTdmZTE2YjQ2NzliZTc2ZDI5ZjVwMCwKKyAgICAtMHgxLmQ0YjgxMTgyZmUxM2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuZTcwYTA4MDExZWViOTdmYjQ2ZTIxMjY4MWZkNTA5ZjBwLTIsCisgICAgMHgxLmQ0ZTIwNWNhZGIzODFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLmU3MGEwODAxMWVlYjk3ZmI0NmUyMTI2ODFmZDUwOWYwcC0yLAorICAgIC0weDEuZDRlMjA1Y2FkYjM4MXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS5kOTBkMDgwMzM5M2I5ODE5ZmVjOWU5MmJmZDQxNDIyM3AtNCwKKyAgICAweDEuZDgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5kOTBkMDgwMzM5M2I5ODE5ZmVjOWU5MmJmZDQxNDIyM3AtNCwKKyAgICAtMHgxLmQ4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS4zMTcyNTI3YTAwZjdlODAwMjQzOWM2ZDlmMWQzNTkwZHAwLAorICAgIDB4MS5kYmVjMGUyYWU1YmRicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgLTB4MS4zMTcyNTI3YTAwZjdlODAwMjQzOWM2ZDlmMWQzNTkwZHAwLAorICAgIC0weDEuZGJlYzBlMmFlNWJkYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5kZDJiZjQ4OGQ0MjQxYzExYmYzMjRkNTA4Y2ZhY2JlYXAtMTEsCisgICAgMHgxLmRkMmJmMDM3OTkyNzhwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgLTB4MS5kZDJiZjQ4OGQ0MjQxYzExYmYzMjRkNTA4Y2ZhY2JlYXAtMTEsCisgICAgLTB4MS5kZDJiZjAzNzk5Mjc4cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5mMTkyMTEyZjE5ZTZmN2ZjMzExYmE3OGVjNjBhYmIxM3AtMiwKKyAgICAweDEuZGUzODZkNjA5MDNhNXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIC0weDEuZjE5MjExMmYxOWU2ZjdmYzMxMWJhNzhlYzYwYWJiMTNwLTIsCisgICAgLTB4MS5kZTM4NmQ2MDkwM2E1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmY0MDg1MTU5MDJmNzc3ZmFkNWNiNjI5NjkwYzk2ZThjcC0yLAorICAgIDB4MS5lMDY1NWY2MjhmY2M0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgLTB4MS5mNDA4NTE1OTAyZjc3N2ZhZDVjYjYyOTY5MGM5NmU4Y3AtMiwKKyAgICAtMHgxLmUwNjU1ZjYyOGZjYzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuZjQyNWQwY2RmMDMxZDc4ZDE0ZTQ3ZWY5MmMzMDQxMGRwLTIsCisgICAgMHgxLmUwN2Y2YzExZjNhZDdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLmY0MjVkMGNkZjAzMWQ3OGQxNGU0N2VmOTJjMzA0MTBkcC0yLAorICAgIC0weDEuZTA3ZjZjMTFmM2FkN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS5lNGM4NmMzNTg3ZTg4ODAzNGM3MWU2MGEzNzBkNjI2M3AtNSwKKyAgICAweDEuZTQ4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5lNGM4NmMzNTg3ZTg4ODAzNGM3MWU2MGEzNzBkNjI2M3AtNSwKKyAgICAtMHgxLmU0OHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5lNmMyZWU4NTE1OWVlZmZkMDVkZDgyODgyNTc4ZDFkNHAtNSwKKyAgICAweDEuZTY3OTllNjc5OWU2NHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuZTZjMmVlODUxNTllZWZmZDA1ZGQ4Mjg4MjU3OGQxZDRwLTUsCisgICAgLTB4MS5lNjc5OWU2Nzk5ZTY0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLmU5Mjk3M2JkMDVmYjIxZDM0YWZkZjY5MmNlZTdjNWQ1cC00LAorICAgIDB4MS5lODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLmU5Mjk3M2JkMDVmYjIxZDM0YWZkZjY5MmNlZTdjNWQ1cC00LAorICAgIC0weDEuZTgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLmViMzIyODk4MmRjYjhhYWE1NTc3NmU4YjliYTNjZDI1cC00LAorICAgIDB4MS5lYTA0ZmI3NTE1M2Y3cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS5lYjMyMjg5ODJkY2I4YWFhNTU3NzZlOGI5YmEzY2QyNXAtNCwKKyAgICAtMHgxLmVhMDRmYjc1MTUzZjdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuZjAyNmY0ODg2NjJmYzUxYjFlNmQ5NzM3MWJiNGY5NTdwLTMsCisgICAgMHgxLmViNTAyOTVmYWQ0MjVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMHgxLmYwMjZmNDg4NjYyZmM1MWIxZTZkOTczNzFiYjRmOTU3cC0zLAorICAgIC0weDEuZWI1MDI5NWZhZDQyNXAtMworICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS5lYjYzMDUxMTQ5ZDNiNzgyMmJhNTQyMDhmYzAzNTgwZXAtNiwKKyAgICAweDEuZWI1MDI5NWZhZDQyNXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuZWI2MzA1MTE0OWQzYjc4MjJiYTU0MjA4ZmMwMzU4MGVwLTYsCisgICAgLTB4MS5lYjUwMjk1ZmFkNDI1cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjRhNTVhZTMzMmM3YTRjMDllYTk4ZTdkNTlkOTg3MmRmcDAsCisgICAgMHgxLmVjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuNGE1NWFlMzMyYzdhNGMwOWVhOThlN2Q1OWQ5ODcyZGZwMCwKKyAgICAtMHgxLmVjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS40YzY1NWJhYmNiZTBiNDEzODliYzgyZTlmMTJlNjdjN3AwLAorICAgIDB4MS5lZDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLjRjNjU1YmFiY2JlMGI0MTM4OWJjODJlOWYxMmU2N2M3cDAsCisgICAgLTB4MS5lZDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuNGZmOTNmMTkxZDM2OTRhYjU5M2RlNWRkNjM3MWI5NmZwMCwKKyAgICAweDEuZWYwMDcwOGE1NGIyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuNGZmOTNmMTkxZDM2OTRhYjU5M2RlNWRkNjM3MWI5NmZwMCwKKyAgICAtMHgxLmVmMDA3MDhhNTRiMmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuZWY3N2FiOGU4ZmVmZjRjMzllOTRmYTA5MzIwOTAyYWJwLTIxLAorICAgIDB4MS5lZjc3YWI4ZThmYTJhcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuZWY3N2FiOGU4ZmVmZjRjMzllOTRmYTA5MzIwOTAyYWJwLTIxLAorICAgIC0weDEuZWY3N2FiOGU4ZmEyYXAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuZWZlNWQ5NjEwOTYycC0xMTQsCisgICAgMHgxLmVmZTVkOTYxMDk2MjBwLTExNAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuZWZlNWQ5NjEwOTYycC0xMTQsCisgICAgLTB4MS5lZmU1ZDk2MTA5NjIwcC0xMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuNTFmNGJkMTNmODU4ZWJmOTI5YTIwODhlMmRmMzRjNzJwMCwKKyAgICAweDEuZWZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuNTFmNGJkMTNmODU4ZWJmOTI5YTIwODhlMmRmMzRjNzJwMCwKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuNTJmOGM3MjcyNmE1MzQzYzZiMWY3NTkxOWVkYjU2OTVwMCwKKyAgICAweDEuZjA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS41MmY4YzcyNzI2YTUzNDNjNmIxZjc1OTE5ZWRiNTY5NXAwLAorICAgIC0weDEuZjA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjU0YTU1NTMyMjFlODBiZjg3YmRiODIzMTkyNTI2MTc2cDAsCisgICAgMHgxLmYxNGU5NGQ4ZDJlMWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjU0YTU1NTMyMjFlODBiZjg3YmRiODIzMTkyNTI2MTc2cDAsCisgICAgLTB4MS5mMTRlOTRkOGQyZTFlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjU1ODc1MjNjNzQ2OGI0MTczY2Y2ODhmMzIxOWExODRicDAsCisgICAgMHgxLmYxYjk1MzViNGYxOTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLjU1ODc1MjNjNzQ2OGI0MTczY2Y2ODhmMzIxOWExODRicDAsCisgICAgLTB4MS5mMWI5NTM1YjRmMTk0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLjU2ZjQyODU3MzVlY2Q3ZmU1MTQ0NGFlYmYzNTNjMGZicDAsCisgICAgMHgxLmYyNjI3NGFkYWM5NzlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLjU2ZjQyODU3MzVlY2Q3ZmU1MTQ0NGFlYmYzNTNjMGZicDAsCisgICAgLTB4MS5mMjYyNzRhZGFjOTc5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjZhNDU2MzFmYzY5ZjM0MDEzOTIwOGE5ZWE0OGZlMTFhcDAsCisgICAgMHgxLmY5Y2VmNTQxZDVlNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLjZhNDU2MzFmYzY5ZjM0MDEzOTIwOGE5ZWE0OGZlMTFhcDAsCisgICAgLTB4MS5mOWNlZjU0MWQ1ZTQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLmZhNjM5ZmMwYWRjMDQ1NGNiMTljODIyOTg0ZGE4NGVkcC0xMCwKKyAgICAweDEuZmE2MzhiMWNlZWQ2MHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLmZhNjM5ZmMwYWRjMDQ1NGNiMTljODIyOTg0ZGE4NGVkcC0xMCwKKyAgICAtMHgxLmZhNjM4YjFjZWVkNjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLmZiZjY1NWE3NTQ1M2Y4OTViOTNhZTRhYmY0NjIyZGExcC01LAorICAgIDB4MS5mYmEzMDUzMDQzZTY1cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS5mYmY2NTVhNzU0NTNmODk1YjkzYWU0YWJmNDYyMmRhMXAtNSwKKyAgICAtMHgxLmZiYTMwNTMwNDNlNjVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuN2I4MDIwODc1NTdhZjc2ZDk2ZjMwNGMwMzIyZGY5OTZwMCwKKyAgICAweDEuZmUwMDg0MzU2ZTZkM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuN2I4MDIwODc1NTdhZjc2ZDk2ZjMwNGMwMzIyZGY5OTZwMCwKKyAgICAtMHgxLmZlMDA4NDM1NmU2ZDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuN2I4MDIwODkwY2Y5ZTc2ZjhmYmMwZmFiZDY0ZWZmNTNwMCwKKyAgICAweDEuZmUwMDg0MzViYzAxMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIC0weDEuN2I4MDIwODkwY2Y5ZTc2ZjhmYmMwZmFiZDY0ZWZmNTNwMCwKKyAgICAtMHgxLmZlMDA4NDM1YmMwMTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuN2UxNzgxYmIzNTVlYzc4MDNmZjMxZDViZThkZWY0NjNwMCwKKyAgICAweDEuZmU2ZWVjMTc4ZGZjYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0weDEuN2UxNzgxYmIzNTVlYzc4MDNmZjMxZDViZThkZWY0NjNwMCwKKyAgICAtMHgxLmZlNmVlYzE3OGRmY2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuN2UyZjIwNDZjMDdiMjg3ZmE4ZGVhODBiYTIzYWQzMmRwMCwKKyAgICAweDEuZmU3MjliM2Q3NmFmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuN2UyZjIwNDZjMDdiMjg3ZmE4ZGVhODBiYTIzYWQzMmRwMCwKKyAgICAtMHgxLmZlNzI5YjNkNzZhZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuN2UyZjJkZThiOGE4MTc4MDZkMTY3MGJlNmY3NTRkNmRwMCwKKyAgICAweDEuZmU3MjlkNWM5M2FkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIC0weDEuN2UyZjJkZThiOGE4MTc4MDZkMTY3MGJlNmY3NTRkNmRwMCwKKyAgICAtMHgxLmZlNzI5ZDVjOTNhZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuZmY0OTg4MGQ1YTIwYWFjM2UzNTI2ZTZjZjllMDljYjhwLTEwLAorICAgIDB4MS5mZjQ5NzJjZWNiZWQ4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuZmY0OTg4MGQ1YTIwYWFjM2UzNTI2ZTZjZjllMDljYjhwLTEwLAorICAgIC0weDEuZmY0OTcyY2VjYmVkOHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuZmY4N2UxNDRiM2Q1Mjg1YzgzMWMwNDgzYmUyZTA2YTdwLTYsCisgICAgMHgxLmZmNzI5YjMzYTQ1MGFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLmZmODdlMTQ0YjNkNTI4NWM4MzFjMDQ4M2JlMmUwNmE3cC02LAorICAgIC0weDEuZmY3MjliMzNhNDUwYXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS4wMjdjN2JkODFhY2RmN2ZmZmUwOWM4NjEzYjNhYzA0YXAtMiwKKyAgICAweDEuZmY3ZmVmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIC0weDEuMDI3YzdiZDgxYWNkZjdmZmZlMDljODYxM2IzYWMwNGFwLTIsCisgICAgLTB4MS5mZjdmZWZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLmZmOGZmZmZmZmZmZmYwMDAwMDAwNTUxZDYxOTQ3MGFhcC00MSwKKyAgICAweDEuZmY4ZmZmZmZmZmZmZnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmYwMDAwMDAwNTUxZDYxOTQ3MGFhcC00MSwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLjBiZjRjZjM0ZjNmYWVmZjJlNGM2Yjg4NWI3N2JiNTQ5cC0xLAorICAgIDB4MS5mZmM3ZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS4wYmY0Y2YzNGYzZmFlZmYyZTRjNmI4ODViNzdiYjU0OXAtMSwKKyAgICAtMHgxLmZmYzdmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuOGFiMGQ2NDJlNGM1NDgwNDM5OGVhZDdkZDI0NTMzNzdwMCwKKyAgICAweDEuZmZjOGMwYzdlNmUxYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIC0weDEuOGFiMGQ2NDJlNGM1NDgwNDM5OGVhZDdkZDI0NTMzNzdwMCwKKyAgICAtMHgxLmZmYzhjMGM3ZTZlMWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuOGJiYzNmYTc5OGRiNjgwMDAwN2MxZjliZTM1NmE1NTRwMCwKKyAgICAweDEuZmZkNzMwNjM0OTM5Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC0weDEuOGJiYzNmYTc5OGRiNjgwMDAwN2MxZjliZTM1NmE1NTRwMCwKKyAgICAtMHgxLmZmZDczMDYzNDkzOWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuOGJjMDlhNTEwMDk4YjgwNGRlZTk5Mzk2MTE5NTljMGVwMCwKKyAgICAweDEuZmZkNzY3ZjBlYjAxNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuOGJjMDlhNTEwMDk4YjgwNGRlZTk5Mzk2MTE5NTljMGVwMCwKKyAgICAtMHgxLmZmZDc2N2YwZWIwMTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuMDAyMmI5ZTY3MTBmOTdmY2RmNTZhOTFjYWNlNTllNmRwLTQsCisgICAgMHgxLmZmZjAwMDAwMDAwMGFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAtMHgxLjAwMjJiOWU2NzEwZjk3ZmNkZjU2YTkxY2FjZTU5ZTZkcC00LAorICAgIC0weDEuZmZmMDAwMDAwMDAwYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS5mZmYxMDY1Mzc1ZTk3ZGNjZTMzOGNmNmU5MzMxYTVkOXAtMTAsCisgICAgMHgxLmZmZjBmMGZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS5mZmYxMDY1Mzc1ZTk3ZGNjZTMzOGNmNmU5MzMxYTVkOXAtMTAsCisgICAgLTB4MS5mZmYwZjBmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS4wYzEwODUxYzFhMTA5N2RjM2RmOTc4NjVjNWNhZWM1YnAtMSwKKyAgICAweDEuZmZmN2ZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIC0weDEuMGMxMDg1MWMxYTEwOTdkYzNkZjk3ODY1YzVjYWVjNWJwLTEsCisgICAgLTB4MS5mZmY3ZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjAyYmU5NGRiODVlODM3ZmZmZDA2YWJkNGJiNmViMDY1cC0yLAorICAgIDB4MS5mZmZmZjA3N2ZmZmFlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS4wMmJlOTRkYjg1ZTgzN2ZmZmQwNmFiZDRiYjZlYjA2NXAtMiwKKyAgICAtMHgxLmZmZmZmMDc3ZmZmYWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZmZmZmZmNDU1NTU1M2Y3YmJiYmQzNTI5NzJkYjc5cC0xNSwKKyAgICAweDEuZmZmZmZmM2ZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAtMHgxLmZmZmZmZjQ1NTU1NTNmN2JiYmJkMzUyOTcyZGI3OXAtMTUsCisgICAgLTB4MS5mZmZmZmYzZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS4wMGFiZTBjMDI2ZDY5ODAwMDBlZTdiNWIzYzc1MGVlNHAtMywKKyAgICAweDEuZmZmZmZmZmRmZGY5YnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIC0weDEuMDBhYmUwYzAyNmQ2OTgwMDAwZWU3YjViM2M3NTBlZTRwLTMsCisgICAgLTB4MS5mZmZmZmZmZGZkZjlicC00CisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjkyMWU3YmJiNWIwOGFmNzM3YThjODZhMWYzNDcwZmI3cDAsCisgICAgMHgxLmZmZmZmZmZlN2ZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAtMHgxLjkyMWU3YmJiNWIwOGFmNzM3YThjODZhMWYzNDcwZmI3cDAsCisgICAgLTB4MS5mZmZmZmZmZTdmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLjkyMWU5MTgzNjIzMDU3MGRjZWU0ZmUwMzc1NmY0NThjcDAsCisgICAgMHgxLmZmZmZmZmZlYjM3ZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAtMHgxLjkyMWU5MTgzNjIzMDU3MGRjZWU0ZmUwMzc1NmY0NThjcDAsCisgICAgLTB4MS5mZmZmZmZmZWIzN2ZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLjAwMDJhYWJkYWM3MzI3ZmZmZmQ1MGQ4ZGIxZTcyMzhjcC02LAorICAgIDB4MS5mZmZmZmZmZjliYmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgLTB4MS4wMDAyYWFiZGFjNzMyN2ZmZmZkNTBkOGRiMWU3MjM4Y3AtNiwKKyAgICAtMHgxLmZmZmZmZmZmOWJiZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuMDBhYmUwYzEyMWQxYTgwYzBjZTg3MDg5NmI5MDUzODlwLTMsCisgICAgMHgxLmZmZmZmZmZmZWZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAtMHgxLjAwYWJlMGMxMjFkMWE4MGMwY2U4NzA4OTZiOTA1Mzg5cC0zLAorICAgIC0weDEuZmZmZmZmZmZlZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS4wMDAyYWFiZGRlNzIzN2ZlYmZkZWMwMmU1NzA2YmFiMXAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmJhZnAtNworICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIC0weDEuMDAwMmFhYmRkZTcyMzdmZWJmZGVjMDJlNTcwNmJhYjFwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmYmFmcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLjAwMmFiZGU5NTM1OGQ4MDE3MGZiMzcwMGEwMmQ4NzJkcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZWU5cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgLTB4MS4wMDJhYmRlOTUzNThkODAxNzBmYjM3MDBhMDJkODcyZHAtNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZlZTlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAweDEuOTIxZmIyY2RlZjIxZDdmZWJjOWYzZjFiMWQxNjgzYjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmY5ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuOTIxZmIyY2RlZjIxZDdmZWJjOWYzZjFiMWQxNjgzYjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmOWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuOTIxZmI0OGYzZGRlNTA2ZmFiMjQ3YjRkYzg2ZWE2ZTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIC0weDEuOTIxZmI0OGYzZGRlNTA2ZmFiMjQ3YjRkYzg2ZWE2ZTBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuMDJiZTljZTBiODdjOTgwZmE4NjNiOTgwZjNlYjZlZDhwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZjlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLjAyYmU5Y2UwYjg3Yzk4MGZhODYzYjk4MGYzZWI2ZWQ4cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmOXAtMworICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuMGMxNTIzODJkNzM2NTg0NjViYjMyZTBmNTY3YWQxMTZwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgLTB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuNGExY2U0ZWQ1ODQ2ZTExMDNlYmNhMmRkOTBlM2ViM2ZwLTEsCisgICAgMHgxLjMzYjY0NWExY2FjMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLjRhMWNlNGVkNTg0NmUxMTAzZWJjYTJkZDkwZTNlYjNmcC0xLAorICAgIC0weDEuMzNiNjQ1YTFjYWMwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS45MjFmYjU0NDQyZDE3N2EyZTMwNWY0ZWM0OWI4MzlhMnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuOTIxZmI1NDQ0MmQxNzdhMmUzMDVmNGVjNDliODM5YTJwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLjkyMWZiNTQ0NDJkMTc3YTJlMzA1ZjRlYzQ5YjgzOWEycC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS45MjFmYjU0NDQyZDE3N2EyZTMwNWY0ZWM0OWI4MzlhMnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAtMHgxLmIyMzUzMTVjNjgwZGMwODE1ODNkYjM2MGQ1ZTFmYTE4cC0xLAorICAgIC0weDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS5iMjM1MzE1YzY4MGRjMDgxNTgzZGIzNjBkNWUxZmExOHAtMSwKKyAgICAweDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS4wYzE1MjM4MmQ3MzY1MTBiMzYzZjAwOWVkZGVmZGRlYnAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgLTB4MS4wYzE1MjM4MmQ3MzY1MTBiMzYzZjAwOWVkZGVmZGRlYnAwLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS4wYzE1MjM4MmQ3MzY1MTBiMzYzZjAwOWVkZGVmZGRlYnAwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS4wYzE1MjM4MmQ3MzY1MTBiMzYzZjAwOWVkZGVmZGRlYnAwLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIDB4MS45MDgxMzhhOGI5YWI3NjJkYmU0N2YzY2M3MWRkNzdhNHAwLAorICAgIDB4MS5mZmZkNjBlOTRlZTM5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgLTB4MS45MDgxMzhhOGI5YWI3NjJkYmU0N2YzY2M3MWRkNzdhNHAwLAorICAgIC0weDEuZmZmZDYwZTk0ZWUzOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS5wLTgyLAorICAgIDB4MS4wcC04MgorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIC0weDEucC04MiwKKyAgICAtMHgxLjBwLTgyCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhcC02MSwKKyAgICAweDEuMHAtNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhcC02MSwKKyAgICAtMHgxLjBwLTYxCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDJhYWFhYWFhYWFhcC00MiwKKyAgICAweDEuMHAtNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDJhYWFhYWFhYWFhcC00MiwKKyAgICAtMHgxLjBwLTQyCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgMHgxLjAwMDAwMDAwMDAwMmFhYWFhYWFhYWFiZGRkZGRkZGRkcC0yMiwKKyAgICAweDEuMHAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMmFhYWFhYWFhYWFiZGRkZGRkZGRkcC0yMiwKKyAgICAtMHgxLjBwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgMHgxLjZhMGEwNDkzNzg2NDdhMWU1MmZmZGYzMTUzNmRmOTUxcC05LAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC05CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgLTB4MS42YTBhMDQ5Mzc4NjQ3YTFlNTJmZmRmMzE1MzZkZjk1MXAtOSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEuNmEwYTA0OTM3ODY0OGExZTU2ZmZlMGIxNTQwZGY5MzZwLTksCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAtMHgxLjZhMGEwNDkzNzg2NDhhMWU1NmZmZTBiMTU0MGRmOTM2cC05LAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtOQorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS42YTBhMDQ5Mzc4NjQ5YTFlNWFmZmUyMzE1NGFkZjk3NnAtOSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtOQorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIC0weDEuNmEwYTA0OTM3ODY0OWExZTVhZmZlMjMxNTRhZGY5NzZwLTksCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC05CisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLjZhMGE1ZjE2NTdkMWJmMjJkOTU3YmY4NjIzMWVlZDFhcC04LAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC04CisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgLTB4MS42YTBhNWYxNjU3ZDFiZjIyZDk1N2JmODYyMzFlZWQxYXAtOCwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuNmEwYTVmMTY1N2QxY2YyMmU5NTdkNzg2NGIxZjMxOTlwLTgsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAtMHgxLjZhMGE1ZjE2NTdkMWNmMjJlOTU3ZDc4NjRiMWYzMTk5cC04LAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtOAorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIDB4MS42YTBhNWYxNjU3ZDFkZjIyZjk1N2VmODY3MzFmNzc4MnAtOCwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtOAorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIC0weDEuNmEwYTVmMTY1N2QxZGYyMmY5NTdlZjg2NzMxZjc3ODJwLTgsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC04CisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLjZhMGJjOTI2OWI4NjEyNDEzMWZhNGI5OTc4MDhhZWM4cC03LAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC03CisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgLTB4MS42YTBiYzkyNjliODYxMjQxMzFmYTRiOTk3ODA4YWVjOHAtNywKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuNmEwYmM5MjY5Yjg2MjI0MTcxZmJjYmEzNzg0ZWFhYmFwLTcsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAtMHgxLjZhMGJjOTI2OWI4NjIyNDE3MWZiY2JhMzc4NGVhYWJhcC03LAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS42YTBiYzkyNjliODYzMjQxYjFmZDRiYWQ3ODk0YWM1NXAtNywKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtNworICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIC0weDEuNmEwYmM5MjY5Yjg2MzI0MWIxZmQ0YmFkNzg5NGFjNTVwLTcsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLjZhMTE3MWI0MGZlM2Q1N2RhNWMyZTJlYzg2NTBkODczcC02LAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC02CisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgLTB4MS42YTExNzFiNDBmZTNkNTdkYTVjMmUyZWM4NjUwZDg3M3AtNiwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuNmExMTcxYjQwZmUzZTU3ZWE1ZGFlNTZjY2M1OGExM2VwLTYsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAtMHgxLjZhMTE3MWI0MGZlM2U1N2VhNWRhZTU2Y2NjNThhMTNlcC02LAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDB4MS42YTExNzFiNDBmZTNmNTdmYTVmMmU3ZWQxMjYwODBhZnAtNiwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIC0weDEuNmExMTcxYjQwZmUzZjU3ZmE1ZjJlN2VkMTI2MDgwYWZwLTYsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLjZhMjgxOGIxYTBiZDVmOWI0OTBhOGZmZDM3MjkyMWZmcC01LAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC01CisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgLTB4MS42YTI4MThiMWEwYmQ1ZjliNDkwYThmZmQzNzI5MjFmZnAtNSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuNmEyODE4YjFhMGJkNmY5ZjRhOGIzMDQzNTZiNzM4MTJwLTUsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAtMHgxLjZhMjgxOGIxYTBiZDZmOWY0YThiMzA0MzU2YjczODEycC01LAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS42YTI4MThiMWEwYmQ3ZmEzNGMwYmQwODk3NjQ1YThlYnAtNSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIC0weDEuNmEyODE4YjFhMGJkN2ZhMzRjMGJkMDg5NzY0NWE4ZWJwLTUsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgMHgxLjZhODMwMTdkZmI1NGM1MzgwNzlmMDU3MTE2OWY3YzAzcC00LAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC00CisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgLTB4MS42YTgzMDE3ZGZiNTRjNTM4MDc5ZjA1NzExNjlmN2MwM3AtNCwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEuNmE4MzAxN2RmYjU0ZDU0ODFmYzc0YmVmZmY0ZTIwNWZwLTQsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAtMHgxLjZhODMwMTdkZmI1NGQ1NDgxZmM3NGJlZmZmNGUyMDVmcC00LAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS42YTgzMDE3ZGZiNTRlNTU4MzdlZjkyNmVlN2ZlMzMwZHAtNCwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIC0weDEuNmE4MzAxN2RmYjU0ZTU1ODM3ZWY5MjZlZTdmZTMzMGRwLTQsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgMHgxLjZiZjM4OTE2NDIxNDAxYzNiNTczMmUwZDZiNTBlYmQwcC0zLAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgLTB4MS42YmYzODkxNjQyMTQwMWMzYjU3MzJlMGQ2YjUwZWJkMHAtMywKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuNmJmMzg5MTY0MjE0MTIwNTNmYmIzNGViZTgyMjE0MzZwLTMsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAtMHgxLjZiZjM4OTE2NDIxNDEyMDUzZmJiMzRlYmU4MjIxNDM2cC0zLAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtMworICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS42YmYzODkxNjQyMTQyMjQ2Y2EwMzNiY2E2NGY5MmI2NnAtMywKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtMworICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuNmJmMzg5MTY0MjE0MjI0NmNhMDMzYmNhNjRmOTJiNjZwLTMsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgMHgxLjcyMGEzOTJjMWQ5NTJkOGU4YWQ3NTZlMTQzMGIxM2QxcC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgLTB4MS43MjBhMzkyYzFkOTUyZDhlOGFkNzU2ZTE0MzBiMTNkMXAtMiwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuNzIwYTM5MmMxZDk1M2VhOTU5YmNiNzA1NmNiNmZhOTZwLTIsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAtMHgxLjcyMGEzOTJjMWQ5NTNlYTk1OWJjYjcwNTZjYjZmYTk2cC0yLAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS43MjBhMzkyYzFkOTU0ZmM0MjhhMjE3Mjk5NjdlODY5NHAtMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuNzIwYTM5MmMxZDk1NGZjNDI4YTIxNzI5OTY3ZTg2OTRwLTIsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgMHgxLmJiNjdlNWYyOGQ1MDBmMWNjYWVjMWEzOGQyNDBkNTNmcC05LAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC05CisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgLTB4MS5iYjY3ZTVmMjhkNTAwZjFjY2FlYzFhMzhkMjQwZDUzZnAtOSwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuYmI2N2U1ZjI4ZDUwMWYxY2QwZWMxZDk4ZDQ1Y2Q2MzhwLTksCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAtMHgxLmJiNjdlNWYyOGQ1MDFmMWNkMGVjMWQ5OGQ0NWNkNjM4cC05LAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtOQorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5iYjY3ZTVmMjhkNTAyZjFjZDZlYzIwZjhkNjc4ZDdhMHAtOSwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtOQorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuYmI2N2U1ZjI4ZDUwMmYxY2Q2ZWMyMGY4ZDY3OGQ3YTBwLTksCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC05CisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLmJiNjg4YzNhODc1YmNiNzliMWQxZmQ1ZGUxMGM5NmQxcC04LAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC04CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5iYjY4OGMzYTg3NWJjYjc5YjFkMWZkNWRlMTBjOTZkMXAtOCwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuYmI2ODhjM2E4NzViZGI3OWM5ZDIzMzVlNjgwZGY3OGZwLTgsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAtMHgxLmJiNjg4YzNhODc1YmRiNzljOWQyMzM1ZTY4MGRmNzhmcC04LAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtOAorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5iYjY4OGMzYTg3NWJlYjc5ZTFkMjY5NWVlZjBmNWEwOHAtOCwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtOAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuYmI2ODhjM2E4NzViZWI3OWUxZDI2OTVlZWYwZjVhMDhwLTgsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC04CisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgMHgxLmJiNmIyNTY3OTcyMTY1MDE4Y2YzNWE0NjliMzZjNWU2cC03LAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC03CisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgLTB4MS5iYjZiMjU2Nzk3MjE2NTAxOGNmMzVhNDY5YjM2YzVlNnAtNywKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAweDEuYmI2YjI1Njc5NzIxNzUwMWVjZjZiYTY4NWM5OTJlNDFwLTcsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAtMHgxLmJiNmIyNTY3OTcyMTc1MDFlY2Y2YmE2ODVjOTkyZTQxcC03LAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtNworICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS5iYjZiMjU2Nzk3MjE4NTAyNGNmYTFhOGExZGZiOWQ4YXAtNywKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtNworICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuYmI2YjI1Njc5NzIxODUwMjRjZmExYThhMWRmYjlkOGFwLTcsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC03CisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLmJiNzU4YWVlNjZjNGY2MTc5YzJhNGM5ZTQ3ZWQyYzk4cC02LAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC02CisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS5iYjc1OGFlZTY2YzRmNjE3OWMyYTRjOWU0N2VkMmM5OHAtNiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuYmI3NThhZWU2NmM1MDYxOTFjNjA1NTBmYWE4OGU5NzhwLTYsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAtMHgxLmJiNzU4YWVlNjZjNTA2MTkxYzYwNTUwZmFhODhlOTc4cC02LAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtNgorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS5iYjc1OGFlZTY2YzUxNjFhOWM5NjVkODEwZDI0YzIxNnAtNiwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuYmI3NThhZWU2NmM1MTYxYTljOTY1ZDgxMGQyNGMyMTZwLTYsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC02CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLmJiOWYyZTM4NzljMmNmOWVhNDU0YWIyODNhZjc4MjVhcC01LAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC01CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS5iYjlmMmUzODc5YzJjZjllYTQ1NGFiMjgzYWY3ODI1YXAtNSwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuYmI5ZjJlMzg3OWMyZGZhNGE3YjZjODhiOGFjZmZlZjVwLTUsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAtMHgxLmJiOWYyZTM4NzljMmRmYTRhN2I2Yzg4YjhhY2ZmZWY1cC01LAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5iYjlmMmUzODc5YzJlZmFhYWIxOGU1ZWVkYWE4ZWFlOHAtNSwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC0weDEuYmI5ZjJlMzg3OWMyZWZhYWFiMThlNWVlZGFhOGVhZThwLTUsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC01CisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgMHgxLmJjNDY4ZmMzZWNmNmIwMzFlNWNkNWJkMDUwNzY2Y2Q3cC00LAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgLTB4MS5iYzQ2OGZjM2VjZjZiMDMxZTVjZDViZDA1MDc2NmNkN3AtNCwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuYmM0NjhmYzNlY2Y2YzA0YTFjNTVjMWY3ODRhNDBiMzNwLTQsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAtMHgxLmJjNDY4ZmMzZWNmNmMwNGExYzU1YzFmNzg0YTQwYjMzcC00LAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5iYzQ2OGZjM2VjZjZkMDYyNTJkZTI4MWViOGQzNmNkZnAtNCwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuYmM0NjhmYzNlY2Y2ZDA2MjUyZGUyODFlYjhkMzZjZGZwLTQsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC00CisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLmJlZjFiY2IwODg5MDEzMWY4N2Y1NTBkNmMzNjUyZGQ3cC0zLAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgLTB4MS5iZWYxYmNiMDg4OTAxMzFmODdmNTUwZDZjMzY1MmRkN3AtMywKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuYmVmMWJjYjA4ODkwMjM4MzBiMjc1MDA3M2Q1MWFjODdwLTMsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAtMHgxLmJlZjFiY2IwODg5MDIzODMwYjI3NTAwNzNkNTFhYzg3cC0zLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMworICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS5iZWYxYmNiMDg4OTAzM2U2OGU1OTRmMzdiNzQ1OWQ0NnAtMywKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtMworICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuYmVmMWJjYjA4ODkwMzNlNjhlNTk0ZjM3Yjc0NTlkNDZwLTMsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLmNhOTQ5MzZiOThhMWZmZTgyODZlOTc2YWJkMWIwNDUxcC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgLTB4MS5jYTk0OTM2Yjk4YTFmZmU4Mjg2ZTk3NmFiZDFiMDQ1MXAtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuY2E5NDkzNmI5OGEyMTFhODQzMGVkMzUzNTJiYzg4MWJwLTIsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLmNhOTQ5MzZiOThhMjExYTg0MzBlZDM1MzUyYmM4ODFicC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS5jYTk0OTM2Yjk4YTIyMzY4NWRhZjBmM2JlODgzZTJkMHAtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIC0weDEuY2E5NDkzNmI5OGEyMjM2ODVkYWYwZjNiZTg4M2UyZDBwLTIsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEyOAorICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEyOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEyOAorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS5wLTEyNywKKyAgICAweDEuMHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgLTB4MS5wLTEyNywKKyAgICAtMHgxLjBwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTI3LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMjcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMTI3LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS4wcC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuMHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMjYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTEyNiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDA1NTU1NTU1NTU1NTU0ZDU3YnAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMDA1NTU1NTU1NTU1NTU0ZDU3YnAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAyYWFhYWFhYWFhYWFhYWFiZHAtMzAsCisgICAgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTg4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAyYWFhYWFhYWFhYWFhYWFiZHAtMzAsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAyYWFhYWFhYWFhYWFiMmFiZHAtMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDAyYWFhYWFhYWFhYWFiMmFiZHAtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMTU1NTU1NTU1NTU1NTM3YmJiYnAtMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMTU1NTU1NTU1NTU1NTM3YmJiYnAtMjgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS4wMDAwMDAwMDAwMDAwMGFhYWFhYWFhYWFhYWFiZGRkZHAtMjcsCisgICAgMHgxLjBwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMGFhYWFhYWFhYWFhYWFiZGRkZHAtMjcsCisgICAgLTB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMGFhYWFhYWFhYWFhYWNiZGRkZHAtMjcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMGFhYWFhYWFhYWFhYWNiZGRkZHAtMjcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yNworICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS4wMDAwMDAwMDAwMDAwMmFhYWFhYWFhYWFhYWRkZGRkZHAtMjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMmFhYWFhYWFhYWFhYWRkZGRkZHAtMjUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwYWFhYWFhYWFhYWFhYmRkZGRkZHAtMjUsCisgICAgMHgxLjBwLTI1CisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwYWFhYWFhYWFhYWFhYmRkZGRkZHAtMjUsCisgICAgLTB4MS4wcC0yNQorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS4wMDAwMDAwMDAwMDAxYWFhYWFhYWFhYWFhZGRkZGRkZHAtMjUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI1CisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxYWFhYWFhYWFhYWFhZGRkZGRkZHAtMjUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yNQorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS4wMDAwMDAwMmFhYWFhMmJkZGRkZDllOTRiOTQ4OWM4MHAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgLTB4MS4wMDAwMDAwMmFhYWFhMmJkZGRkZDllOTRiOTQ4OWM4MHAtMTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIDB4MS4wMDAwMDAwMmFhYWFhYWJkZGRkZGRlOTRiOTRiOWM4MHAtMTQsCisgICAgMHgxLjBwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgLTB4MS4wMDAwMDAwMmFhYWFhYWJkZGRkZGRlOTRiOTRiOWM4MHAtMTQsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIDB4MS4wMDAwMDAwMmFhYWFiYWJkZGRkZTVlOTRiOTUxOWM4MHAtMTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgLTB4MS4wMDAwMDAwMmFhYWFiYWJkZGRkZTVlOTRiOTUxOWM4MHAtMTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS4wMDAyYWFiZGRlOTRiOTEyY2NjZjZjYjdhMTQ3ZGJlNnAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIC0weDEuMDAwMmFhYmRkZTk0YjkxMmNjY2Y2Y2I3YTE0N2RiZTZwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLjAwMDJhYWJkZGU5NGMxMTMwY2QyNmNkZmEzNzdmOTY3cC02LAorICAgIDB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgLTB4MS4wMDAyYWFiZGRlOTRjMTEzMGNkMjZjZGZhMzc3Zjk2N3AtNiwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTMKKyAgICAweDEuMDAwMmFhYmRkZTk0ZDExMzhjZDg2ZDJmYTdkODQwNmNwLTYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAtMHgxLjAwMDJhYWJkZGU5NGQxMTM4Y2Q4NmQyZmE3ZDg0MDZjcC02LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS4wMDBhYWJkZTBiOWM3OWQ1ZDkxNTQ3YmMwZTE0Mzk0NnAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIC0weDEuMDAwYWFiZGUwYjljNzlkNWQ5MTU0N2JjMGUxNDM5NDZwLTUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLjAwMGFhYmRlMGI5YzgxZDZkOTQ1NTFiZTNlOTI0ZTJhcC01LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgLTB4MS4wMDBhYWJkZTBiOWM4MWQ2ZDk0NTUxYmUzZTkyNGUyYXAtNSwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTkKKyAgICAweDEuMDAwYWFiZGUwYjljOTFkOGQ5YTU2NWMyOWY4ZWE4MDRwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAtMHgxLjAwMGFhYmRlMGI5YzkxZDhkOWE1NjVjMjlmOGVhODA0cC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS4wMDJhYmRlOTUzNjE4YzVjYjViNDk5NDVjMTc5ZDBmM3AtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIC0weDEuMDAyYWJkZTk1MzYxOGM1Y2I1YjQ5OTQ1YzE3OWQwZjNwLTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLjAwMmFiZGU5NTM2MTk0NjBiOGI3MWI3N2JiNDk1ZjU3cC00LAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjI0CisgICAgLTB4MS4wMDJhYmRlOTUzNjE5NDYwYjhiNzFiNzdiYjQ5NWY1N3AtNCwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuMDAyYWJkZTk1MzYxYTQ2OGJlYmMxZmRiYWVlOTNkM2ZwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAtMHgxLjAwMmFiZGU5NTM2MWE0NjhiZWJjMWZkYmFlZTkzZDNmcC00LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS4wMGFiZTBjMTI5ZTFkOGFlNDRlNTNhNTE1NDc2NTA3Y3AtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIC0weDEuMDBhYmUwYzEyOWUxZDhhZTQ0ZTUzYTUxNTQ3NjUwN2NwLTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLjAwYWJlMGMxMjllMWUwYmU3NTg3NzI0ZWExNGUwM2IxcC0zLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgLTB4MS4wMGFiZTBjMTI5ZTFlMGJlNzU4NzcyNGVhMTRlMDNiMXAtMywKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEuMDBhYmUwYzEyOWUxZjBkZWQ2Y2JlMjQ5M2IwMDdjNzlwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAtMHgxLjAwYWJlMGMxMjllMWYwZGVkNmNiZTI0OTNiMDA3Yzc5cC0zLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS4wMmJlOWNlMGI4N2NjOWEyYTY0YzM4NjU4MzA0MGFmYXAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIC0weDEuMDJiZTljZTBiODdjYzlhMmE2NGMzODY1ODMwNDBhZmFwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLjAyYmU5Y2UwYjg3Y2QxZTVkMDlkYTJlMGYwNDIzYmZhcC0yLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgLTB4MS4wMmJlOWNlMGI4N2NkMWU1ZDA5ZGEyZTBmMDQyM2JmYXAtMiwKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICAweDEuMDJiZTljZTBiODdjZTI2YzI1NDA3N2Q3Y2FjYmQ2M2NwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzgKKyAgICAtMHgxLjAyYmU5Y2UwYjg3Y2UyNmMyNTQwNzdkN2NhY2JkNjNjcC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIDB4MS4wYzE1MjM4MmQ3MzY0ZjA5ODgxMDY1ZjVjODYwOTE2OXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIC0weDEuMGMxNTIzODJkNzM2NGYwOTg4MTA2NWY1Yzg2MDkxNjlwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgLTB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAweDEuMGMxNTIzODJkNzM2NmFjMDAyZjhiZTQyNzJmOTM3MGZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICAtMHgxLjBjMTUyMzgyZDczNjZhYzAwMmY4YmU0MjcyZjkzNzBmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS45MjFmYjUwNDQyZDE4NDY5ODk4YzlhNmM1NzBkOGVmN3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgLTB4MS45MjFmYjUwNDQyZDE4NDY5ODk4YzlhNmM1NzBkOGVmN3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDgKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDkKKyAgICAweDEuOTIxZmI1NDQ0MmQxNGE2MWE2MzhmNjc0YjNiODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTRhNjFhNjM4ZjY3NGIzYjgzOWEycC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIDB4MS45MjFmYjU0NDQyZDE2MTAyNDQ5Zjc1YjA3ZTM4MzlhMnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxNjEwMjQ0OWY3NWIwN2UzODM5YTJwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTc3YTJlMzA1ZjRlYzQ5YjgzOWEycC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgLTB4MS45MjFmYjU0NDQyZDE3N2EyZTMwNWY0ZWM0OWI4MzlhMnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxOGU0MzgxNmM3NDI4MTYzODM5YTJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThlNDM4MTZjNzQyODE2MzgzOWEycC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS45MjFmYjU0NDQyZDFhNGU0MWZkMmYzNjNlM2I4MzlhMnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxYTRlNDFmZDJmMzYzZTNiODM5YTJwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMHgxLjBjMTUyMzgyZDczNjMxMGIzNjNmMDA5ZWUyZjc3NjNhcDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAtMHgxLjBjMTUyMzgyZDczNjMxMGIzNjNmMDA5ZWUyZjc3NjNhcDAsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2E4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgMHgxLjBjMTUyMzgyZDczNjQxMGIzNjNmMDA5ZWRmOTVmNjNicDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjIKKyAgICAtMHgxLjBjMTUyMzgyZDczNjQxMGIzNjNmMDA5ZWRmOTVmNjNicDAsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2E5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLjBjMTUyMzgyZDczNjUxMGIzNjNmMDA5ZWRkZWZkZGVicDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAtMHgxLjBjMTUyMzgyZDczNjUxMGIzNjNmMDA5ZWRkZWZkZGVicDAsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgMHgxLjBjMTUyMzgyZDczNjYxMGIzNjNmMDA5ZWRlMDUyZDRhcDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAtMHgxLjBjMTUyMzgyZDczNjYxMGIzNjNmMDA5ZWRlMDUyZDRhcDAsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgMHgxLjBjMTUyMzgyZDczNjcxMGIzNjNmMDA5ZWRmZDVlNDU3cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAtMHgxLjBjMTUyMzgyZDczNjcxMGIzNjNmMDA5ZWRmZDVlNDU3cDAsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDB4MS45MjFmYjUwNDQyZDE4NDY5ODk4YzlhNmM1NzBkOGVmN3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgLTB4MS45MjFmYjUwNDQyZDE4NDY5ODk4YzlhNmM1NzBkOGVmN3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIDB4MS5jZTgyNzZjM2UxMzljN2VlYWI4MzZmYzRkZDRhNjFiY3AtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIC0weDEuY2U4Mjc2YzNlMTM5YzdlZWFiODM2ZmM0ZGQ0YTYxYmNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODEKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAtMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIC0wLjAsCisgICAgLTAuMAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2FzaW5mX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9hc2luZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk3OWE2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9hc2luZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxOTM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2FzaW5mX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS4wY2FkOGU2NmY2ZmI0ODdjZjFkZjllZDA5MWU0YTcyZXAtMSwKKyAgICAtMHgxLjAwODNmNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuMGNhZDhlNjZmNmZiNDg3Y2YxZGY5ZWQwOTFlNGE3MmVwLTEsCisgICAgMHgxLjAwODNmNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjEwMzU2NWRhZDdlMjAwMjI4M2EzZmFjMmIxZDYzMTFkcC0xLAorICAgIC0weDEuMDM5MDljcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS4xMDM1NjVkYWQ3ZTIwMDIyODNhM2ZhYzJiMWQ2MzExZHAtMSwKKyAgICAweDEuMDM5MDljcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuMWM2NmI5ZmZkNjY2Y2M3NTE4ZjVhZWVlMzgxOTM1MDhwLTEsCisgICAgLTB4MS4wZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuMWM2NmI5ZmZkNjY2Y2M3NTE4ZjVhZWVlMzgxOTM1MDhwLTEsCisgICAgMHgxLjBlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuMzExOTAwMDEyOTU4YWMzMGYwOWExMTFiODM4YTAwYzRwLTEsCisgICAgLTB4MS4xZjVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS4zMTE5MDAwMTI5NThhYzMwZjA5YTExMWI4MzhhMDBjNHAtMSwKKyAgICAweDEuMWY1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS4yNDZmNWMwMDAwYTcyMDIyYzM5YzI1NWVkZTE1MTJkM3AtMywKKyAgICAtMHgxLjIzNzEzOHAtMworICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjI0NmY1YzAwMDBhNzIwMjJjMzljMjU1ZWRlMTUxMmQzcC0zLAorICAgIDB4MS4yMzcxMzhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIC0weDEuM2RiMDkwMDAwMDM5NWI0MjExYWZlZmZmYzY5MTVjMzZwLTMsCisgICAgLTB4MS4zYzZhY2FwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS4zZGIwOTAwMDAwMzk1YjQyMTFhZmVmZmZjNjkxNWMzNnAtMywKKyAgICAweDEuM2M2YWNhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLjVlMmU0YjU1MWQ2OGFmNGQ4ODE1MmQ2Mjk3NjcyNmM0cC0xLAorICAgIC0weDEuNDM4MmM4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuNWUyZTRiNTUxZDY4YWY0ZDg4MTUyZDYyOTc2NzI2YzRwLTEsCisgICAgMHgxLjQzODJjOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS43YmUyNTJmNmYwYTc3NmE5MzYwODM1MWFlMTBlYjk3NHAwLAorICAgIC0weDEuZmUxMWI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuN2JlMjUyZjZmMGE3NzZhOTM2MDgzNTFhZTEwZWI5NzRwMCwKKyAgICAweDEuZmUxMWI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLjAwYWIwMGZmZTVkNjhhYjc0MmZkOTM2NDdlYzBhNjdicC0zLAorICAgIC0weDEuZmZmZTQ0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMDBhYjAwZmZlNWQ2OGFiNzQyZmQ5MzY0N2VjMGE2N2JwLTMsCisgICAgMHgxLmZmZmU0NHAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS4wYzE1MTEwOTMwMjIwYzc5ZWI2MjRhZTQxOWM4ODM2Y3AtMSwKKyAgICAtMHgxLmZmZmZlMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjBjMTUxMTA5MzAyMjBjNzllYjYyNGFlNDE5Yzg4MzZjcC0xLAorICAgIDB4MS5mZmZmZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjAyYmU5ZWYxODMxMTRmYzU2MDk4ODMwNmY4ODdhYzc0cC0yLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEuMDJiZTllZjE4MzExNGZjNTYwOTg4MzA2Zjg4N2FjNzRwLTIsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS4wMmJlYTEwMjRkYTYxNDI2NWE1OWMwMDJhZTBjNTZhMHAtMiwKKyAgICAweDEuMDAwMDA0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLjAyYmVhMTAyNGRhNjE0MjY1YTU5YzAwMmFlMGM1NmEwcC0yLAorICAgIC0weDEuMDAwMDA0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuMGMxNTJhNzA3NWY3NWJmODVjMWNhOTE5MWIxOWE1YWZwLTEsCisgICAgMHgxLjAwMDAwNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS4wYzE1MmE3MDc1Zjc1YmY4NWMxY2E5MTkxYjE5YTVhZnAtMSwKKyAgICAtMHgxLjAwMDAwNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjBjMTUzMTVlMTRjNjNhZTg3NmY5MzEzODE5MTU3YTkycC0xLAorICAgIDB4MS4wMDAwMGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEuMGMxNTMxNWUxNGM2M2FlODc2ZjkzMTM4MTkxNTdhOTJwLTEsCisgICAgLTB4MS4wMDAwMGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS4wMGFjMDEwMWVjNzJmMWE4Nzg3OTBkMTdiYjI4MTU1NnAtMywKKyAgICAweDEuMDAwMDIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAtMHgxLjAwYWMwMTAxZWM3MmYxYTg3ODc5MGQxN2JiMjgxNTU2cC0zLAorICAgIC0weDEuMDAwMDIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuMGMxNTRhYzU1Yjg4YTNhZjkwMzVhMjgzMjJmZGQ5YTNwLTEsCisgICAgMHgxLjAwMDAyMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS4wYzE1NGFjNTViODhhM2FmOTAzNWEyODMyMmZkZDlhM3AtMSwKKyAgICAtMHgxLjAwMDAyMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAyYmViZmZlMmM3ZWEyODA1MzIwZGVjNjZjYTc4NDRjcC0yLAorICAgIDB4MS4wMDAwMjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEuMDJiZWJmZmUyYzdlYTI4MDUzMjBkZWM2NmNhNzg0NGNwLTIsCisgICAgLTB4MS4wMDAwMjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wYzE1NTY1MTY0YWEzYTU1OTU4NDU4NDA1YTFjMWU5OHAtMSwKKyAgICAweDEuMDAwMDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjBjMTU1NjUxNjRhYTNhNTU5NTg0NTg0MDVhMWMxZTk4cC0xLAorICAgIC0weDEuMDAwMDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuMGMxNTVhZWZjZWMyNzBjNWEzMWIzZTAxNjYxNGI2NzZwLTEsCisgICAgMHgxLjAwMDAzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS4wYzE1NWFlZmNlYzI3MGM1YTMxYjNlMDE2NjE0YjY3NnAtMSwKKyAgICAtMHgxLjAwMDAzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjBjMTU2NjdiZDgxOWVhNTE5MGQ2NGUxZWVjZDlkM2ZmcC0xLAorICAgIDB4MS4wMDAwM2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuMGMxNTY2N2JkODE5ZWE1MTkwZDY0ZTFlZWNkOWQzZmZwLTEsCisgICAgLTB4MS4wMDAwM2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wYzE2ZGVlYWY0OTYzNzhjYjBjMTc2MDFhODJiM2VmN3AtMSwKKyAgICAweDEuMDAwMTgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLjBjMTZkZWVhZjQ5NjM3OGNiMGMxNzYwMWE4MmIzZWY3cC0xLAorICAgIC0weDEuMDAwMTgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuMGMxNzcyYjg4NGZiMDg1MzQ4OGY4MmM4ZWFiMjJmMDZwLTEsCisgICAgMHgxLjAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuMGMxNzcyYjg4NGZiMDg1MzQ4OGY4MmM4ZWFiMjJmMDZwLTEsCisgICAgLTB4MS4wMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuMGMxODlhNTNlZmFjODczNjliZjczNjk5YjAyYWEwOWVwLTEsCisgICAgMHgxLjAwMDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuMGMxODlhNTNlZmFjODczNjliZjczNjk5YjAyYWEwOWVwLTEsCisgICAgLTB4MS4wMDAzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuMDBhZWZjZmZmZmY1NjM2MzRmYjA5NWNjOWU0MGRkYTNwLTMsCisgICAgMHgxLjAwMDMxNnAtMworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS4wMGFlZmNmZmZmZjU2MzYzNGZiMDk1Y2M5ZTQwZGRhM3AtMywKKyAgICAtMHgxLjAwMDMxNnAtMworICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjBjMTkwMjQwYWE5ODU1N2RhOWQ0ZmUyMDZhZTY2Mjc5cC0xLAorICAgIDB4MS4wMDAzNWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuMGMxOTAyNDBhYTk4NTU3ZGE5ZDRmZTIwNmFlNjYyNzlwLTEsCisgICAgLTB4MS4wMDAzNWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4wYzE5YzFlZmJjZTkyNmNhMTRjYjNlMGIwZmNmZTQ2Y3AtMSwKKyAgICAweDEuMDAwNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS4wYzE5YzFlZmJjZTkyNmNhMTRjYjNlMGIwZmNmZTQ2Y3AtMSwKKyAgICAtMHgxLjAwMDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS4wMDBiMmIwMWU0MDcyODMxMTM4OTQzZDUxMDIwYzNmNXAtNiwKKyAgICAweDEuMDAwODgwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLjAwMGIyYjAxZTQwNzI4MzExMzg5NDNkNTEwMjBjM2Y1cC02LAorICAgIC0weDEuMDAwODgwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuMGMzMGRhNmNhMDY4NDYxMTViYjVlODA0MGNkMTYzYTVwLTEsCisgICAgMHgxLjAwMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuMGMzMGRhNmNhMDY4NDYxMTViYjVlODA0MGNkMTYzYTVwLTEsCisgICAgLTB4MS4wMDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuMGMzNTc4ZmU3ZDc0OGVmNDY3OTAyMTg1YjU3MDc5YTFwLTEsCisgICAgMHgxLjAwMWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuMGMzNTc4ZmU3ZDc0OGVmNDY3OTAyMTg1YjU3MDc5YTFwLTEsCisgICAgLTB4MS4wMDFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMGMzYTE3OTY4NDY2ZmExMjhjODJiMDQ3ZDI5ZTFhODFwLTEsCisgICAgMHgxLjAwMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuMGMzYTE3OTY4NDY2ZmExMjhjODJiMDQ3ZDI5ZTFhODFwLTEsCisgICAgLTB4MS4wMDIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuMGMzYjFhNDg5ODQ2YWI4ODM1YzUzMGYzYzkyNWU0OGRwLTEsCisgICAgMHgxLjAwMjBlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS4wYzNiMWE0ODk4NDZhYjg4MzVjNTMwZjNjOTI1ZTQ4ZHAtMSwKKyAgICAtMHgxLjAwMjBlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjBjM2M4YmQ5YzlmMzZhOTlmODAzOWY5OTI0OTcxOWE3cC0xLAorICAgIDB4MS4wMDIyMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuMGMzYzhiZDljOWYzNmE5OWY4MDM5Zjk5MjQ5NzE5YTdwLTEsCisgICAgLTB4MS4wMDIyMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS4wYzNlYjYzNGI1NzBkOTUwMTdjMWVmZDExOTZmMDE4OHAtMSwKKyAgICAweDEuMDAyNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS4wYzNlYjYzNGI1NzBkOTUwMTdjMWVmZDExOTZmMDE4OHAtMSwKKyAgICAtMHgxLjAwMjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4wYzUwMmUzMjliNzZjYmM5MGQyYmMyZDhhNDZmZDg5NHAtMSwKKyAgICAweDEuMDAzMzIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjBjNTAyZTMyOWI3NmNiYzkwZDJiYzJkOGE0NmZkODk0cC0xLAorICAgIC0weDEuMDAzMzIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuMGM3ZjY1NjMxMzhkOGZmMzI4OTQyNWFmYzI5Y2YyZTRwLTEsCisgICAgMHgxLjAwNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMGM3ZjY1NjMxMzhkOGZmMzI4OTQyNWFmYzI5Y2YyZTRwLTEsCisgICAgLTB4MS4wMDVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuMGM4ZDQyNjVkOWVlMjA3YjNkYzIxZjFkYjc2ZWRlN2NwLTEsCisgICAgMHgxLjAwNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuMGM4ZDQyNjVkOWVlMjA3YjNkYzIxZjFkYjc2ZWRlN2NwLTEsCisgICAgLTB4MS4wMDY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuMGM5MWUxNzMyMTk3ZTJhNWQ0ZGNhNjNkZWI2ODA5MGFwLTEsCisgICAgMHgxLjAwNmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuMGM5MWUxNzMyMTk3ZTJhNWQ0ZGNhNjNkZWI2ODA5MGFwLTEsCisgICAgLTB4MS4wMDZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMDM1ZGFkMDA5MWRhYTVkZjFmYzBlMGUwYTlmZTRlZDRwLTIsCisgICAgMHgxLjAwOWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMDM1ZGFkMDA5MWRhYTVkZjFmYzBlMGUwYTlmZTRlZDRwLTIsCisgICAgLTB4MS4wMDlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuMGQ0MDMyMjZhODI3ODgwZTJmZjgyMjZkZGViZGNiMmJwLTEsCisgICAgMHgxLjAxMDJkMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS4wZDQwMzIyNmE4Mjc4ODBlMmZmODIyNmRkZWJkY2IyYnAtMSwKKyAgICAtMHgxLjAxMDJkMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjBkOTQ4OGVmN2Q5M2Y3MWUxMjZhODdlNmE0ZGYyNjA0cC0xLAorICAgIDB4MS4wMTRiYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuMGQ5NDg4ZWY3ZDkzZjcxZTEyNmE4N2U2YTRkZjI2MDRwLTEsCisgICAgLTB4MS4wMTRiYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS4wZGI1MzY3ZjllNjRmM2Y1MGEyZjcwZGJjYzViNzI1NHAtMSwKKyAgICAweDEuMDE2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS4wZGI1MzY3ZjllNjRmM2Y1MGEyZjcwZGJjYzViNzI1NHAtMSwKKyAgICAtMHgxLjAxNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4wZGUwMDUwMDExMDViZWNmZjNiZTJmMDIyYzQyNDcyN3AtMSwKKyAgICAweDEuMDE4ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS4wZGUwMDUwMDExMDViZWNmZjNiZTJmMDIyYzQyNDcyN3AtMSwKKyAgICAtMHgxLjAxOGRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS4wZjhkYjFjNDdkNTRmOTU5YWIwMTQ1MTQ1YzY3YWM3Y3AtMSwKKyAgICAweDEuMDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuMGY4ZGIxYzQ3ZDU0Zjk1OWFiMDE0NTE0NWM2N2FjN2NwLTEsCisgICAgLTB4MS4wM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjE3ZGYxMTAyM2IwMGI2MGU1NjZiY2MzNDQ1MmQ4ZWZjcC0xLAorICAgIDB4MS4wYTI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLjE3ZGYxMTAyM2IwMGI2MGU1NjZiY2MzNDQ1MmQ4ZWZjcC0xLAorICAgIC0weDEuMGEyNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjE4OGExMzAwM2UyZDY2NzNmOGIxMTM3ZGRlZmE3ZmY2cC0xLAorICAgIDB4MS4wYWI2MDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuMTg4YTEzMDAzZTJkNjY3M2Y4YjExMzdkZGVmYTdmZjZwLTEsCisgICAgLTB4MS4wYWI2MDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS4wYzMxMGJmZWQ4MTQ2YmFiM2VjY2QxZjM2YWQ1OThkZnAtNCwKKyAgICAweDEuMGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuMGMzMTBiZmVkODE0NmJhYjNlY2NkMWYzNmFkNTk4ZGZwLTQsCisgICAgLTB4MS4wY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjFhYjA3MWE2YTY0OTU0ODNmYjIwMjgzMjg3NjI2N2IxcC0xLAorICAgIDB4MS4wYzhiM2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuMWFiMDcxYTZhNjQ5NTQ4M2ZiMjAyODMyODc2MjY3YjFwLTEsCisgICAgLTB4MS4wYzhiM2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4xYWUwMzExN2FmNzY1MGM3MDM2ZWViN2YyNTg1MzlhZXAtMSwKKyAgICAweDEuMGNiM2UwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjFhZTAzMTE3YWY3NjUwYzcwMzZlZWI3ZjI1ODUzOWFlcC0xLAorICAgIC0weDEuMGNiM2UwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjFjNjZiOWZmZDY2NmNjNzUxOGY1YWVlZTM4MTkzNTA4cC0xLAorICAgIDB4MS4wZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuMWM2NmI5ZmZkNjY2Y2M3NTE4ZjVhZWVlMzgxOTM1MDhwLTEsCisgICAgLTB4MS4wZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS4wZTAzMjEwMDRmN2Y5NWRlN2RmODU2ZjQ2Mjc2ZDMyY3AtNiwKKyAgICAweDEuMGVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLjBlMDMyMTAwNGY3Zjk1ZGU3ZGY4NTZmNDYyNzZkMzJjcC02LAorICAgIC0weDEuMGVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMWQxOWIzMDAwYThjNjNkYmI5Y2QzYWEyNmNiOTNhZjhwLTEsCisgICAgMHgxLjBlOThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjFkMTliMzAwMGE4YzYzZGJiOWNkM2FhMjZjYjkzYWY4cC0xLAorICAgIC0weDEuMGU5OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wZjM3ZTZmZmZmZmZjYWRmNTQwMzY1M2Q5NjhhMjY4MHAtNSwKKyAgICAweDEuMGYyYjM4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS4wZjM3ZTZmZmZmZmZjYWRmNTQwMzY1M2Q5NjhhMjY4MHAtNSwKKyAgICAtMHgxLjBmMmIzOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS4xZWNmNjdiYjkxMDU3ZTFhNDA5MmYwZDBlYWVhMTcwMXAtMSwKKyAgICAweDEuMTAwYjMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS4xZWNmNjdiYjkxMDU3ZTFhNDA5MmYwZDBlYWVhMTcwMXAtMSwKKyAgICAtMHgxLjEwMGIzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS4xZjRiNjRmZmZmZmZmYTBjOTEyOTFlMTQzMTI4MWYzN3AtMSwKKyAgICAweDEuMTA3NDM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS4xZjRiNjRmZmZmZmZmYTBjOTEyOTFlMTQzMTI4MWYzN3AtMSwKKyAgICAtMHgxLjEwNzQzNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS4xOTAzOTMwMDA2ZjgzMDkyNDE4Mjc1ODViMmM4MDY2MXAtMiwKKyAgICAweDEuMTU4MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuMTkwMzkzMDAwNmY4MzA5MjQxODI3NTg1YjJjODA2NjFwLTIsCisgICAgLTB4MS4xNTgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjE3MjQ5M2ZmZmVlNWEyNTA3ZjEzMjYxM2NhZGVjY2NjcC01LAorICAgIDB4MS4xNzE2YzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjE3MjQ5M2ZmZmVlNWEyNTA3ZjEzMjYxM2NhZGVjY2NjcC01LAorICAgIC0weDEuMTcxNmMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjFjN2Q0NmZkN2IxYWM0ZGVkMTY1NWM1MjA2ZTZlNjMwcC0yLAorICAgIDB4MS4xOGQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS4xYzdkNDZmZDdiMWFjNGRlZDE2NTVjNTIwNmU2ZTYzMHAtMiwKKyAgICAtMHgxLjE4ZDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMjk2NDdhN2U2NDZmMzIwMDhjODYwMWFjMDQ5NjdiZmNwLTEsCisgICAgMHgxLjE4ZjMyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuMjk2NDdhN2U2NDZmMzIwMDhjODYwMWFjMDQ5NjdiZmNwLTEsCisgICAgLTB4MS4xOGYzMmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMzExOTAwMDEyOTU4YWMzMGYwOWExMTFiODM4YTAwYzRwLTEsCisgICAgMHgxLjFmNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLjMxMTkwMDAxMjk1OGFjMzBmMDlhMTExYjgzOGEwMGM0cC0xLAorICAgIC0weDEuMWY1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS4yM2ZlZTkwNTdhNzk5YmQ1Mjc0MGIxYWUxZDFlOTY4NXAtMiwKKyAgICAweDEuMjAwZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuMjNmZWU5MDU3YTc5OWJkNTI3NDBiMWFlMWQxZTk2ODVwLTIsCisgICAgLTB4MS4yMDBlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjNjZGYyNmZkZDdmMzllZjliNmRmMTdlMzA2Y2Y5MjQ3cC0xLAorICAgIDB4MS4yOTA2ZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjNjZGYyNmZkZDdmMzllZjliNmRmMTdlMzA2Y2Y5MjQ3cC0xLAorICAgIC0weDEuMjkwNmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjQ1MzExOTA2ZGJiNDk1YTAzOGVkZjc4ZjM0ODFmYmE5cC0xLAorICAgIDB4MS4yZmMzYzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjQ1MzExOTA2ZGJiNDk1YTAzOGVkZjc4ZjM0ODFmYmE5cC0xLAorICAgIC0weDEuMmZjM2MycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjM2NDRlYWZmZmY3YTdhNTAzNzA4YjU3OTIxMDEyNDNmcC0yLAorICAgIDB4MS4zMThiMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjM2NDRlYWZmZmY3YTdhNTAzNzA4YjU3OTIxMDEyNDNmcC0yLAorICAgIC0weDEuMzE4YjIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjM0MzYwYWZmZmY3YWIwYWMxYTQ0ZjE1MzEyOTA4ZGU5cC01LAorICAgIDB4MS4zNDIzNmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLjM0MzYwYWZmZmY3YWIwYWMxYTQ0ZjE1MzEyOTA4ZGU5cC01LAorICAgIC0weDEuMzQyMzZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjM4MDEzNGY3M2ExMjYwZGUyZTYwMTVhYTNjODgyZTExcC03LAorICAgIDB4MS4zOHAtNworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuMzgwMTM0ZjczYTEyNjBkZTJlNjAxNWFhM2M4ODJlMTFwLTcsCisgICAgLTB4MS4zOHAtNworICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS40MDE0ZDhmZmFmOGFlYjNkYmQyZGNkYWFlODM1ZmZlZnAtNSwKKyAgICAweDEuNDBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjQwMTRkOGZmYWY4YWViM2RiZDJkY2RhYWU4MzVmZmVmcC01LAorICAgIC0weDEuNDBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuNTlhZDE1MDQyNzQzZDAzNjIyMGIwMzNhNDNlMzNhMzNwLTEsCisgICAgMHgxLjQwMDFjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuNTlhZDE1MDQyNzQzZDAzNjIyMGIwMzNhNDNlMzNhMzNwLTEsCisgICAgLTB4MS40MDAxYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuNWZmMWFjZmZlZmUxY2UzMDFkYWFhNGY3MmNlZTVkM2FwLTEsCisgICAgMHgxLjQ0ZTAyNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuNWZmMWFjZmZlZmUxY2UzMDFkYWFhNGY3MmNlZTVkM2FwLTEsCisgICAgLTB4MS40NGUwMjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuNmVhZmE2ZjlmMjc2M2FhZWFiZjYzMTFmODhlZDNjZTFwLTEsCisgICAgMHgxLjUwMjIzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuNmVhZmE2ZjlmMjc2M2FhZWFiZjYzMTFmODhlZDNjZTFwLTEsCisgICAgLTB4MS41MDIyMzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuNzQyM2Q3MDAwN2Y4NmQxYzVjOTJjZDIzOTlkMzNmNGNwLTEsCisgICAgMHgxLjU0M2E3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuNzQyM2Q3MDAwN2Y4NmQxYzVjOTJjZDIzOTlkMzNmNGNwLTEsCisgICAgLTB4MS41NDNhNzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuNTgzZGZmMDAwMDgzZmFiOWFmYjgwOTJmNjgxODNhOWZwLTUsCisgICAgMHgxLjU4MjQxMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuNTgzZGZmMDAwMDgzZmFiOWFmYjgwOTJmNjgxODNhOWZwLTUsCisgICAgLTB4MS41ODI0MTBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuOGYxMDI5MDg0MWQ2NWJmZDMxM2UwMjg3N2E4N2EyMmVwLTEsCisgICAgMHgxLjY3ZGUzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuOGYxMDI5MDg0MWQ2NWJmZDMxM2UwMjg3N2E4N2EyMmVwLTEsCisgICAgLTB4MS42N2RlMzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuNjhhYjZlZmMwNDdkM2FkMDQ2YmQ4MTgzZWM1YzRkNDZwLTQsCisgICAgMHgxLjY4MzQyYXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuNjhhYjZlZmMwNDdkM2FkMDQ2YmQ4MTgzZWM1YzRkNDZwLTQsCisgICAgLTB4MS42ODM0MmFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuOTU4ZDNhZmZlZGQ2NDhmMzUxMTBjZjg3YTc0N2U0M2RwLTEsCisgICAgMHgxLjZjNzQ1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuOTU4ZDNhZmZlZGQ2NDhmMzUxMTBjZjg3YTc0N2U0M2RwLTEsCisgICAgLTB4MS42Yzc0NTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuOTgwMjcyZmZmMTM5NTQ3ZmE1YWQ4MjI2OTRiNzE1OWZwLTEsCisgICAgMHgxLjZlMmQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuOTgwMjcyZmZmMTM5NTQ3ZmE1YWQ4MjI2OTRiNzE1OWZwLTEsCisgICAgLTB4MS42ZTJkMmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuODEwMWNlZmI0Yjc0OTYzMDg0YjY2YzIyMzViNDg1NjdwLTIsCisgICAgMHgxLjc3ZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuODEwMWNlZmI0Yjc0OTYzMDg0YjY2YzIyMzViNDg1NjdwLTIsCisgICAgLTB4MS43N2ZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuODAwMDAxMDAwMDAxY2NjY2QxMTVmMTZhYzA5YzJjMWRwLTEwLAorICAgIDB4MS43ZmZmZjhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS44MDAwMDEwMDAwMDFjY2NjZDExNWYxNmFjMDljMmMxZHAtMTAsCisgICAgLTB4MS43ZmZmZjhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjgxZjI3MmZkZjdiMzFjMTZkMzI0ZjkwNzE3YWQ5ODQ5cC00LAorICAgIDB4MS44MTYwNTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLjgxZjI3MmZkZjdiMzFjMTZkMzI0ZjkwNzE3YWQ5ODQ5cC00LAorICAgIC0weDEuODE2MDUwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmJjZTRjZWZmZWUyNjU2YWY2NTNmNDcxZjIyNTAyY2NicC0xLAorICAgIDB4MS44NmZiZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmJjZTRjZWZmZWUyNjU2YWY2NTNmNDcxZjIyNTAyY2NicC0xLAorICAgIC0weDEuODZmYmU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLmJkNTZkMGZmZWJlNjQxNWE5MjFiNTI2YjEwY2MwOWVkcC0xLAorICAgIDB4MS44NzQ1NzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmJkNTZkMGZmZWJlNjQxNWE5MjFiNTI2YjEwY2MwOWVkcC0xLAorICAgIC0weDEuODc0NTc4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmJkODY2YWZmZWI4M2E4ZWJmMjViN2UwYzliNDUzMDkxcC0xLAorICAgIDB4MS44NzY0MmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmJkODY2YWZmZWI4M2E4ZWJmMjViN2UwYzliNDUzMDkxcC0xLAorICAgIC0weDEuODc2NDJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLmJkZWFlOGZmZWZlNzlmZTI5ODk0YWY4NDQwYjg4OGJkcC0xLAorICAgIDB4MS44N2E0ZWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmJkZWFlOGZmZWZlNzlmZTI5ODk0YWY4NDQwYjg4OGJkcC0xLAorICAgIC0weDEuODdhNGVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLmMwZmZhMmZmZWYyOWVhZDE4YWU2YWI2NzM4MTFmNzI1cC0xLAorICAgIDB4MS44OTlmMjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmMwZmZhMmZmZWYyOWVhZDE4YWU2YWI2NzM4MTFmNzI1cC0xLAorICAgIC0weDEuODk5ZjIycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLmMyNTdmYjAwMDRkZGIyODQ5MDc2NzM3YTUzYWNiMmE4cC0xLAorICAgIDB4MS44YTdhZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmMyNTdmYjAwMDRkZGIyODQ5MDc2NzM3YTUzYWNiMmE4cC0xLAorICAgIC0weDEuOGE3YWZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmNjOWQyYjAwMTE2Y2JjZjQ2MjVhMWJiYjNiNWI0ZTc4cC0xLAorICAgIDB4MS45MGYyOWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmNjOWQyYjAwMTE2Y2JjZjQ2MjVhMWJiYjNiNWI0ZTc4cC0xLAorICAgIC0weDEuOTBmMjljcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLmNkZGRmMTAwMTM1Y2IyZTg3MTZlNjM5YmIzYjUyNDlmcC0xLAorICAgIDB4MS45MWI5Y2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLmNkZGRmMTAwMTM1Y2IyZTg3MTZlNjM5YmIzYjUyNDlmcC0xLAorICAgIC0weDEuOTFiOWNhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLjlkZDgwZjAwMDA4NGUwYzNkZjE5NDZhZWQ2ZDk1OWJmcC03LAorICAgIDB4MS45ZGQ1M2VwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjlkZDgwZjAwMDA4NGUwYzNkZjE5NDZhZWQ2ZDk1OWJmcC03LAorICAgIC0weDEuOWRkNTNlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmU1ZTZlY2VkZDc5NTAyM2RmYTNjN2RjMjQxZjEwNDM4cC0xLAorICAgIDB4MS5hMDJkY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMHgxLmU1ZTZlY2VkZDc5NTAyM2RmYTNjN2RjMjQxZjEwNDM4cC0xLAorICAgIC0weDEuYTAyZGNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmFhODM2M2ZlMDUwYTQ4YzcyMzhlMjMzNjRkMDE5OTk1cC00LAorICAgIDB4MS5hOWJlMmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLmFhODM2M2ZlMDUwYTQ4YzcyMzhlMjMzNjRkMDE5OTk1cC00LAorICAgIC0weDEuYTliZTJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmJmNDJkNjAyMWFkMWJhOWMzNzYwZThjN2NjY2RiNmE1cC0yLAorICAgIDB4MS5iMTJjZDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLmJmNDJkNjAyMWFkMWJhOWMzNzYwZThjN2NjY2RiNmE1cC0yLAorICAgIC0weDEuYjEyY2QwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLmM0M2M0MmZjNDY3NzY1MjY3YjJiY2U1NDRkNzBiMGVkcC0yLAorICAgIDB4MS5iNWFkNjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLmM0M2M0MmZjNDY3NzY1MjY3YjJiY2U1NDRkNzBiMGVkcC0yLAorICAgIC0weDEuYjVhZDYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjEwOTQ5MTBlN2ZjZDE2Yzk3NjRiNGUxYjc2YjczN2Y2cDAsCisgICAgMHgxLmJmZDU4OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuMTA5NDkxMGU3ZmNkMTZjOTc2NGI0ZTFiNzZiNzM3ZjZwMCwKKyAgICAtMHgxLmJmZDU4OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS4xMGMwMmYwZTkzZTg2MzJlNjQ2ZDY3ZTkwMTUzNzRjOXAwLAorICAgIDB4MS5iZmZmY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjEwYzAyZjBlOTNlODYzMmU2NDZkNjdlOTAxNTM3NGM5cDAsCisgICAgLTB4MS5iZmZmY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuMTBjMDY2ZDNlNjkzMWI3NmExM2RmM2E2ODk5NzFiYTVwMCwKKyAgICAweDEuYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjEwYzA2NmQzZTY5MzFiNzZhMTNkZjNhNjg5OTcxYmE1cDAsCisgICAgLTB4MS5jMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5jNzAwNmIwMjk2NmFkZjZhM2RmNjY1MDU3OTU5NmQzOHAtMywKKyAgICAweDEuYzM0NDhlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5jNzAwNmIwMjk2NmFkZjZhM2RmNjY1MDU3OTU5NmQzOHAtMywKKyAgICAtMHgxLmMzNDQ4ZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5jY2VkMWNmZmZmZmZlYWQyZTY3YWZmMmVkMzRmNjhmYnAtNCwKKyAgICAweDEuY2JmNDNjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5jY2VkMWNmZmZmZmZlYWQyZTY3YWZmMmVkMzRmNjhmYnAtNCwKKyAgICAtMHgxLmNiZjQzY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5kMTk0ZmQwMjk3ZjU2ZDY1NGQ3Njc0NjBmMTJiYmQ3MHAtMywKKyAgICAweDEuY2Q5NXAtMworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuZDE5NGZkMDI5N2Y1NmQ2NTRkNzY3NDYwZjEyYmJkNzBwLTMsCisgICAgLTB4MS5jZDk1cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjJkNDZlOTAwMzgxOTk2MmVjNDM4ZTQ3NDE2ZWJlMzU2cDAsCisgICAgMHgxLmQ4YzhjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuMmQ0NmU5MDAzODE5OTYyZWM0MzhlNDc0MTZlYmUzNTZwMCwKKyAgICAtMHgxLmQ4YzhjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS5kZTFiMDkwMWY5OGVhYzc1NTNmMGU4MTk1YWQwNzdmY3AtMywKKyAgICAweDEuZDljNjU0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5kZTFiMDkwMWY5OGVhYzc1NTNmMGU4MTk1YWQwNzdmY3AtMywKKyAgICAtMHgxLmQ5YzY1NHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS4zNzIyZDJmZWIyNGM3ZDljY2M4NDdmNTNhM2E0ZWU4MHAwLAorICAgIDB4MS5lMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuMzcyMmQyZmViMjRjN2Q5Y2NjODQ3ZjUzYTNhNGVlODBwMCwKKyAgICAtMHgxLmUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmU0ODFjMGZjZTcxMzQwMzkzNzk2ZjU2ZTI2NTYyOTgxcC0zLAorICAgIDB4MS5lMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZTQ4MWMwZmNlNzEzNDAzOTM3OTZmNTZlMjY1NjI5ODFwLTMsCisgICAgLTB4MS5lMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5lMjU3OWUwMDAxMGUxNmEyMzM4OWM1ZDJkMDRjYjAxNnAtNiwKKyAgICAweDEuZTI0NWM4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5lMjU3OWUwMDAxMGUxNmEyMzM4OWM1ZDJkMDRjYjAxNnAtNiwKKyAgICAtMHgxLmUyNDVjOHAtNgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS5lYmYxNTcwMDgyNjE2ZWVjNmQ2MmNhNGJiZTk4YTgwZXAtMywKKyAgICAweDEuZTczOWMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS5lYmYxNTcwMDgyNjE2ZWVjNmQ2MmNhNGJiZTk4YTgwZXAtMywKKyAgICAtMHgxLmU3MzljMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5lYzBiMmVmZTQ1MjEzYWEyYTU5MTNiZTUzZmJhMjY3NXAtMywKKyAgICAweDEuZTc1MmRhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS5lYzBiMmVmZTQ1MjEzYWEyYTU5MTNiZTUzZmJhMjY3NXAtMywKKyAgICAtMHgxLmU3NTJkYXAtMworICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5lZDNiMTZmZmZmN2NiOTcwOTIyOTkzNDgwOGJkMDg2YnAtMywKKyAgICAweDEuZTg3YTAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5lZDNiMTZmZmZmN2NiOTcwOTIyOTkzNDgwOGJkMDg2YnAtMywKKyAgICAtMHgxLmU4N2EwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmVhZWNmZmZmODE3Y2ExYWY1ZGY3YWZmNzFmOThjNnAtMywKKyAgICAweDEuZmE5YTgycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5mZmVhZWNmZmZmODE3Y2ExYWY1ZGY3YWZmNzFmOThjNnAtMywKKyAgICAtMHgxLmZhOWE4MnAtMworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS43ZDYwYzJmNDdjODE2N2Q5YWZmZGY2OGQ0ZmRiYzVkOXAwLAorICAgIDB4MS5mZTUxZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLjdkNjBjMmY0N2M4MTY3ZDlhZmZkZjY4ZDRmZGJjNWQ5cDAsCisgICAgLTB4MS5mZTUxZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuOTAxZjM0ZmVhOTRlZDhiZjdkNWNlMWUwMDI1NmJlYzVwMCwKKyAgICAweDEuZmZmYmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS45MDFmMzRmZWE5NGVkOGJmN2Q1Y2UxZTAwMjU2YmVjNXAwLAorICAgIC0weDEuZmZmYmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjAwYWI3ZWZjZGM3ZTNkYTc2MzdlNjE3YzYzMDdjMTMzcC0zLAorICAgIDB4MS5mZmZmM2VwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjAwYWI3ZWZjZGM3ZTNkYTc2MzdlNjE3YzYzMDdjMTMzcC0zLAorICAgIC0weDEuZmZmZjNlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjBjMTUxMTA5MzAyMjBjNzllYjYyNGFlNDE5Yzg4MzZjcC0xLAorICAgIDB4MS5mZmZmZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLjBjMTUxMTA5MzAyMjBjNzllYjYyNGFlNDE5Yzg4MzZjcC0xLAorICAgIC0weDEuZmZmZmUwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLjBjMTUyMzgyZDczNjU4NDY1YmIzMmUwZjU2N2FkMTE2cC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjRhMWNlNTYzMzcyOWI0ODMxYzBmMmRlNTBiMTk5MTYxcC0xLAorICAgIDB4MS4zM2I2NDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjRhMWNlNTYzMzcyOWI0ODMxYzBmMmRlNTBiMTk5MTYxcC0xLAorICAgIC0weDEuMzNiNjQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLjkyMWZiNGIxNDAyMzg0Njk4OTg0YjA5OTY2Zjk2ZGU2cC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLjkyMWZiNGIxNDAyMzg0Njk4OTg0YjA5OTY2Zjk2ZGU2cC0xLAorICAgIC0weDEuNmEwOWU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjkyMWZiNGIxNDAyMzg0Njk4OTg0YjA5OTY2Zjk2ZGU2cC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjkyMWZiNGIxNDAyMzg0Njk4OTg0YjA5OTY2Zjk2ZGU2cC0xLAorICAgIC0weDEuNmEwOWU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5iMjM1MzE1YzY4MGRjMDgxNTgzZGIzNjBkNWUxZmExOHAtMSwKKyAgICAtMHgxLjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLmIyMzUzMTVjNjgwZGMwODE1ODNkYjM2MGQ1ZTFmYTE4cC0xLAorICAgIDB4MS44MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS4wYzE1MjJmZDUyNmJlZDVhMGY3Y2IzMjhiYTVjMzk5MXAwLAorICAgIDB4MS5iYjY3YWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjBjMTUyMmZkNTI2YmVkNWEwZjdjYjMyOGJhNWMzOTkxcDAsCisgICAgLTB4MS5iYjY3YWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuMGMxNTIyZmQ1MjZiZWQ1YTBmN2NiMzI4YmE1YzM5OTFwMCwKKyAgICAweDEuYmI2N2FlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS4wYzE1MjJmZDUyNmJlZDVhMGY3Y2IzMjhiYTVjMzk5MXAwLAorICAgIC0weDEuYmI2N2FlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjkwODBmMGEyNDJlNjM2YzhiMTU4MDQ2ZTYyMjM5MGJlcDAsCisgICAgMHgxLmZmZmQ2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuOTA4MGYwYTI0MmU2MzZjOGIxNTgwNDZlNjIyMzkwYmVwMCwKKyAgICAtMHgxLmZmZmQ2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5wLTgyLAorICAgIDB4MS5wLTgyCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS5wLTgyLAorICAgIC0weDEucC04MgorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYXAtNjEsCisgICAgMHgxLnAtNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhcC02MSwKKyAgICAtMHgxLnAtNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMmFhYWFhYWFhYWFwLTQyLAorICAgIDB4MS5wLTQyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAyYWFhYWFhYWFhYXAtNDIsCisgICAgLTB4MS5wLTQyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjAwMDAwMDAwMDAwMmFhYWFhYWFhYWFiZGRkZGRkZGRkcC0yMiwKKyAgICAweDEucC0yMgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuMDAwMDAwMDAwMDAyYWFhYWFhYWFhYWJkZGRkZGRkZGRwLTIyLAorICAgIC0weDEucC0yMgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS42YTBhMDIyYjg0MGRjY2Y2NmUwYjZlYzkyODlmMzZiNXAtOSwKKyAgICAweDEuNmEwOWU0cC05CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS42YTBhMDIyYjg0MGRjY2Y2NmUwYjZlYzkyODlmMzZiNXAtOSwKKyAgICAtMHgxLjZhMDllNHAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS42YTBhMDQyYjg0OGRjZDI1NmY5ODY2NDIxMDQ3MTAxMHAtOSwKKyAgICAweDEuNmEwOWU2cC05CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS42YTBhMDQyYjg0OGRjZDI1NmY5ODY2NDIxMDQ3MTAxMHAtOSwKKyAgICAtMHgxLjZhMDllNnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS42YTBhMDYyYjg1MGRjZDU1ZGIzMDUzNDMwZDg4MDFkZXAtOSwKKyAgICAweDEuNmEwOWU4cC05CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTB4MS42YTBhMDYyYjg1MGRjZDU1ZGIzMDUzNDMwZDg4MDFkZXAtOSwKKyAgICAtMHgxLjZhMDllOHAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS42YTBhNWNhZTYxYWQxN2NlNGRiNzQwNDQxYmZmNDI2NHAtOCwKKyAgICAweDEuNmEwOWU0cC04CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS42YTBhNWNhZTYxYWQxN2NlNGRiNzQwNDQxYmZmNDI2NHAtOCwKKyAgICAtMHgxLjZhMDllNHAtOAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS42YTBhNWVhZTYzYWQxYWNhNTg5MjMzZjA0NmVmNmY5OHAtOCwKKyAgICAweDEuNmEwOWU2cC04CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTB4MS42YTBhNWVhZTYzYWQxYWNhNTg5MjMzZjA0NmVmNmY5OHAtOCwKKyAgICAtMHgxLjZhMDllNnAtOAorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS42YTBhNjBhZTY1YWQxZGNjMGJhNWI4M2Q5ZGFjODYwOHAtOCwKKyAgICAweDEuNmEwOWU4cC04CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS42YTBhNjBhZTY1YWQxZGNjMGJhNWI4M2Q5ZGFjODYwOHAtOCwKKyAgICAtMHgxLjZhMDllOHAtOAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS42YTBiYzZiZTllMjk1OTllNzdkNDI2NDc4OTFjODRlOXAtNywKKyAgICAweDEuNmEwOWU0cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgLTB4MS42YTBiYzZiZTllMjk1OTllNzdkNDI2NDc4OTFjODRlOXAtNywKKyAgICAtMHgxLjZhMDllNHAtNworICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS42YTBiYzhiZWE2Mjk4OThmY2ViOTVmYjA0OTU4YTIxN3AtNywKKyAgICAweDEuNmEwOWU2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgLTB4MS42YTBiYzhiZWE2Mjk4OThmY2ViOTVmYjA0OTU4YTIxN3AtNywKKyAgICAtMHgxLjZhMDllNnAtNworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS42YTBiY2FiZWFlMjliOTk3Yzc0YzhiMjA5YWRhMjYyNXAtNywKKyAgICAweDEuNmEwOWU4cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgLTB4MS42YTBiY2FiZWFlMjliOTk3Yzc0YzhiMjA5YWRhMjYyNXAtNywKKyAgICAtMHgxLjZhMDllOHAtNworICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS42YTExNmY0YmY1YTQ0ZGE2NGQ4OWZhMzVhNmViYWMwNHAtNiwKKyAgICAweDEuNmEwOWU0cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgLTB4MS42YTExNmY0YmY1YTQ0ZGE2NGQ4OWZhMzVhNmViYWMwNHAtNiwKKyAgICAtMHgxLjZhMDllNHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS42YTExNzE0YzE1YTc0ZGI2YThjODYyYzA1M2ZmNWM0N3AtNiwKKyAgICAweDEuNmEwOWU2cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLTB4MS42YTExNzE0YzE1YTc0ZGI2YThjODYyYzA1M2ZmNWM0N3AtNiwKKyAgICAtMHgxLjZhMDllNnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS42YTExNzM0YzM1YWE0ZTIxOTc3YjY5M2VkYjBmYmZlZHAtNiwKKyAgICAweDEuNmEwOWU4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgLTB4MS42YTExNzM0YzM1YWE0ZTIxOTc3YjY5M2VkYjBmYmZlZHAtNiwKKyAgICAtMHgxLjZhMDllOHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS42YTI4MTY0OTEyYzllYTgyNDkyNjI5NTRmMWFlMWEyMnAtNSwKKyAgICAweDEuNmEwOWU0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgLTB4MS42YTI4MTY0OTEyYzllYTgyNDkyNjI5NTRmMWFlMWEyMnAtNSwKKyAgICAtMHgxLjZhMDllNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS42YTI4MTg0OTkyZjlmZDhiYzc3MjAyNmQ5MTYwNWRjYXAtNSwKKyAgICAweDEuNmEwOWU2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS42YTI4MTg0OTkyZjlmZDhiYzc3MjAyNmQ5MTYwNWRjYXAtNSwKKyAgICAtMHgxLjZhMDllNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS42YTI4MWE0YTEzMmExMjAwNWZkNTVmNDNkMmJmODFhNnAtNSwKKyAgICAweDEuNmEwOWU4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgLTB4MS42YTI4MWE0YTEzMmExMjAwNWZkNTVmNDNkMmJmODFhNnAtNSwKKyAgICAtMHgxLjZhMDllOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS42YTgyZmYxMzljMDI2MDk2MjBlZjQ2OTRlZTYyN2I1N3AtNCwKKyAgICAweDEuNmEwOWU0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgLTB4MS42YTgyZmYxMzljMDI2MDk2MjBlZjQ2OTRlZTYyN2I1N3AtNCwKKyAgICAtMHgxLjZhMDllNHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS42YTgzMDExNTlmMDc2NTVmZDg3OTQ4MGI1Y2JjZjVjYnAtNCwKKyAgICAweDEuNmEwOWU2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS42YTgzMDExNTlmMDc2NTVmZDg3OTQ4MGI1Y2JjZjVjYnAtNCwKKyAgICAtMHgxLjZhMDllNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS42YTgzMDMxN2EyMGM2ZmUyZGFlMzBmZTViYWJlNjNmOHAtNCwKKyAgICAweDEuNmEwOWU4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLTB4MS42YTgzMDMxN2EyMGM2ZmUyZGFlMzBmZTViYWJlNjNmOHAtNCwKKyAgICAtMHgxLjZhMDllOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS42YmYzODZhNDczM2RjOTU4NDMxNzYzM2Q1OTA5NjRmNHAtMywKKyAgICAweDEuNmEwOWU0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgLTB4MS42YmYzODZhNDczM2RjOTU4NDMxNzYzM2Q1OTA5NjRmNHAtMywKKyAgICAtMHgxLjZhMDllNHAtMworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS42YmYzODhhY2E0ODZiOTg1MGM1MGNmOWY0NTc2NjdmMnAtMywKKyAgICAweDEuNmEwOWU2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS42YmYzODhhY2E0ODZiOTg1MGM1MGNmOWY0NTc2NjdmMnAtMywKKyAgICAtMHgxLjZhMDllNnAtMworICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS42YmYzOGFiNGQ1Y2ZjMTZjZmQzOWFjNzdlMDdiNjA0OHAtMywKKyAgICAweDEuNmEwOWU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS42YmYzOGFiNGQ1Y2ZjMTZjZmQzOWFjNzdlMDdiNjA0OHAtMywKKyAgICAtMHgxLjZhMDllOHAtMworICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS43MjBhMzY5OWEyOTQwZjkzMTA2ZThhN2VkNzI5YjMyYXAtMiwKKyAgICAweDEuNmEwOWU0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS43MjBhMzY5OWEyOTQwZjkzMTA2ZThhN2VkNzI5YjMyYXAtMiwKKyAgICAtMHgxLjZhMDllNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS43MjBhMzhiY2ZjNzA2ZGQ5OGI4NDg4YTNjMTUyM2QzMXAtMiwKKyAgICAweDEuNmEwOWU2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS43MjBhMzhiY2ZjNzA2ZGQ5OGI4NDg4YTNjMTUyM2QzMXAtMiwKKyAgICAtMHgxLjZhMDllNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43MjBhM2FlMDU2NGQzYWI0ZWE4Yjk4NzU2NGQyMDJlMnAtMiwKKyAgICAweDEuNmEwOWU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS43MjBhM2FlMDU2NGQzYWI0ZWE4Yjk4NzU2NGQyMDJlMnAtMiwKKyAgICAtMHgxLjZhMDllOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5iYjY3ZTM2ZDA3OTM2Y2NhMGFmZWNkZGU4ODIyYWM5MnAtOSwKKyAgICAweDEuYmI2N2FjcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS5iYjY3ZTM2ZDA3OTM2Y2NhMGFmZWNkZGU4ODIyYWM5MnAtOSwKKyAgICAtMHgxLmJiNjdhY3AtOQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS5iYjY3ZTU2ZDA4NTM2ZDM0YjllYjhjZGVkOGVhMjViM3AtOSwKKyAgICAweDEuYmI2N2FlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5iYjY3ZTU2ZDA4NTM2ZDM0YjllYjhjZGVkOGVhMjViM3AtOSwKKyAgICAtMHgxLmJiNjdhZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS5iYjY3ZTc2ZDA5MTM2ZGExMjQ0MWVjYjU5ZmVlMjQ5M3AtOSwKKyAgICAweDEuYmI2N2IwcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTB4MS5iYjY3ZTc2ZDA5MTM2ZGExMjQ0MWVjYjU5ZmVlMjQ5M3AtOSwKKyAgICAtMHgxLmJiNjdiMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5iYjY4ODliNGZlYzhlYmNjYTYxYzQ2ZjQ1NWFlNWQ0ZnAtOCwKKyAgICAweDEuYmI2N2FjcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS5iYjY4ODliNGZlYzhlYmNjYTYxYzQ2ZjQ1NWFlNWQ0ZnAtOCwKKyAgICAtMHgxLmJiNjdhY3AtOAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5iYjY4OGJiNTAxYzhmMjg3NzE4ZmE0M2U2MTQyOTAyZHAtOCwKKyAgICAweDEuYmI2N2FlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5iYjY4OGJiNTAxYzhmMjg3NzE4ZmE0M2U2MTQyOTAyZHAtOCwKKyAgICAtMHgxLmJiNjdhZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS5iYjY4OGRiNTA0YzhmOTQ5MmFjMGU3NDc4MTdmMjJhOHAtOCwKKyAgICAweDEuYmI2N2IwcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS5iYjY4OGRiNTA0YzhmOTQ5MmFjMGU3NDc4MTdmMjJhOHAtOCwKKyAgICAtMHgxLmJiNjdiMHAtOAorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5iYjZiMjJlMjAzMzUzMDI4ZTA3OTUxM2ExMWNiYmFiM3AtNywKKyAgICAweDEuYmI2N2FjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTB4MS5iYjZiMjJlMjAzMzUzMDI4ZTA3OTUxM2ExMWNiYmFiM3AtNywKKyAgICAtMHgxLmJiNjdhY3AtNworICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5iYjZiMjRlMjBmMzU5YzE4MDFkNWFlNDM0YWU3NWIyZHAtNywKKyAgICAweDEuYmI2N2FlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5iYjZiMjRlMjBmMzU5YzE4MDFkNWFlNDM0YWU3NWIyZHAtNywKKyAgICAtMHgxLmJiNjdhZXAtNworICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5iYjZiMjZlMjFiMzYwODIyZGI5ZmRkMmIyNjU1NDFiNXAtNywKKyAgICAweDEuYmI2N2IwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS5iYjZiMjZlMjFiMzYwODIyZGI5ZmRkMmIyNjU1NDFiNXAtNywKKyAgICAtMHgxLmJiNjdiMHAtNworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS5iYjc1ODg2OGE1NmQ2ZjdkODJhNzA0ZDZkYTc4ZTJmZHAtNiwKKyAgICAweDEuYmI2N2FjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5iYjc1ODg2OGE1NmQ2ZjdkODJhNzA0ZDZkYTc4ZTJmZHAtNiwKKyAgICAtMHgxLmJiNjdhY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS5iYjc1OGE2OGQ1NzQzMDM3NDFlYjg1ZWZlMzRkYWM5YXAtNiwKKyAgICAweDEuYmI2N2FlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS5iYjc1OGE2OGQ1NzQzMDM3NDFlYjg1ZWZlMzRkYWM5YXAtNiwKKyAgICAtMHgxLmJiNjdhZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS5iYjc1OGM2OTA1N2FmMTVmZmE1MDIxNjkwYjg2ZDZlNXAtNiwKKyAgICAweDEuYmI2N2IwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS5iYjc1OGM2OTA1N2FmMTVmZmE1MDIxNjkwYjg2ZDZlNXAtNiwKKyAgICAtMHgxLmJiNjdiMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5iYjlmMmJiMjAyNWRmNWI1YTAxZjg5MGUyNjdhY2JmNnAtNSwKKyAgICAweDEuYmI2N2FjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5iYjlmMmJiMjAyNWRmNWI1YTAxZjg5MGUyNjdhY2JmNnAtNSwKKyAgICAtMHgxLmJiNjdhY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS5iYjlmMmRiMmMyY2EzODBmMzdmMDBlMTBjMzRmM2Y0ZXAtNSwKKyAgICAweDEuYmI2N2FlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5iYjlmMmRiMmMyY2EzODBmMzdmMDBlMTBjMzRmM2Y0ZXAtNSwKKyAgICAtMHgxLmJiNjdhZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5iYjlmMmZiMzgzMzY3YzI2MmMxODc3OGIxMWNlNzJjYXAtNSwKKyAgICAweDEuYmI2N2IwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS5iYjlmMmZiMzgzMzY3YzI2MmMxODc3OGIxMWNlNzJjYXAtNSwKKyAgICAtMHgxLmJiNjdiMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS5iYzQ2OGQzYTk3NGNkNmM2ZjM1M2YyMzhlNmVlOTYzNXAtNCwKKyAgICAweDEuYmI2N2FjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5iYzQ2OGQzYTk3NGNkNmM2ZjM1M2YyMzhlNmVlOTYzNXAtNCwKKyAgICAtMHgxLmJiNjdhY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS5iYzQ2OGYzZDllMWRkZTJlNzI5NmYwNjgwYzhiNWNmMXAtNCwKKyAgICAweDEuYmI2N2FlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgLTB4MS5iYzQ2OGYzZDllMWRkZTJlNzI5NmYwNjgwYzhiNWNmMXAtNCwKKyAgICAtMHgxLmJiNjdhZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5iYzQ2OTE0MGE0ZWVlY2EzMzQ2NDk3MjI1MTgxMDcwZXAtNCwKKyAgICAweDEuYmI2N2IwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgLTB4MS5iYzQ2OTE0MGE0ZWVlY2EzMzQ2NDk3MjI1MTgxMDcwZXAtNCwKKyAgICAtMHgxLmJiNjdiMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5iZWYxYmExYjU0ZjJlNTE3NjA4ZDQ5N2VkYTgxZjEzZXAtMywKKyAgICAweDEuYmI2N2FjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS5iZWYxYmExYjU0ZjJlNTE3NjA4ZDQ5N2VkYTgxZjEzZXAtMywKKyAgICAtMHgxLmJiNjdhY3AtMworICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS5iZWYxYmMyN2M1NTkwZTU1MTY2NzgzNmY0NGI4MjQwYnAtMywKKyAgICAweDEuYmI2N2FlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgLTB4MS5iZWYxYmMyN2M1NTkwZTU1MTY2NzgzNmY0NGI4MjQwYnAtMywKKyAgICAtMHgxLmJiNjdhZXAtMworICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS5iZWYxYmUzNDM1YmY1NTViMDYyYzZiOTMzOTY4Zjg1OHAtMywKKyAgICAweDEuYmI2N2IwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgLTB4MS5iZWYxYmUzNDM1YmY1NTViMDYyYzZiOTMzOTY4Zjg1OHAtMywKKyAgICAtMHgxLmJiNjdiMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS5jYTk0OTA5Zjc1MWY4ODBhMDA0YjViMmQxMzU4YzdkOHAtMiwKKyAgICAweDEuYmI2N2FjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5jYTk0OTA5Zjc1MWY4ODBhMDA0YjViMmQxMzU4YzdkOHAtMiwKKyAgICAtMHgxLmJiNjdhY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5jYTk0OTJkNzc4NzMxYzYwYWQ2ZjIxOThiZWMxMTExOHAtMiwKKyAgICAweDEuYmI2N2FlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS5jYTk0OTJkNzc4NzMxYzYwYWQ2ZjIxOThiZWMxMTExOHAtMiwKKyAgICAtMHgxLmJiNjdhZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5jYTk0OTUwZjdiYzc0ODEzMDNmNjIwNmViNTVlNjA2M3AtMiwKKyAgICAweDEuYmI2N2IwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgLTB4MS5jYTk0OTUwZjdiYzc0ODEzMDNmNjIwNmViNTVlNjA2M3AtMiwKKyAgICAtMHgxLmJiNjdiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLmZmZmZmOHAtMTI4LAorICAgIC0weDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgLTB4MS5wLTEyNywKKyAgICAtMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuMDAwMDA0cC0xMjcsCisgICAgLTB4MS4wMDAwMDRwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLjAwMDAwMnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS4wMDAwMDJwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLjAwMDAwMnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDA1NTU1NTQ1NTU1NTY1NTU3YnAtMzEsCisgICAgMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDU1NTU1NDU1NTU1NjU1NTdicC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMmFhYWFhYWFhYWFhYWFhYmRwLTMwLAorICAgIDB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAyYWFhYWFhYWFhYWFhYWFiZHAtMzAsCisgICAgLTB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDJhYWFhYmFhYWFhY2FhYWJkcC0zMCwKKyAgICAweDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIC0weDEuMDAwMDAyMDAwMDAwMDAwMmFhYWFiYWFhYWFjYWFhYmRwLTMwLAorICAgIC0weDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMTU1NTU1MTU1NTU1OTU3YmJiYXAtMjgsCisgICAgMHgxLmZmZmZmZXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAxNTU1NTUxNTU1NTU5NTdiYmJhcC0yOCwKKyAgICAtMHgxLmZmZmZmZXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDBhYWFhYWFhYWFhYWFhYmRkZGRwLTI3LAorICAgIDB4MS5wLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMGFhYWFhYWFhYWFhYWFiZGRkZHAtMjcsCisgICAgLTB4MS5wLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwYWFhYWFlYWFhYWIyYWJkZGUzcC0yNywKKyAgICAweDEuMDAwMDAycC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIC0weDEuMDAwMDAyMDAwMDAwMDBhYWFhYWVhYWFhYjJhYmRkZTNwLTI3LAorICAgIC0weDEuMDAwMDAycC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS5mZmZmZmUwMDAwMDAxNTU1NTUxNTU1NTU5N2JiYmI5YXAtMjYsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDE1NTU1NTE1NTU1NTk3YmJiYjlhcC0yNiwKKyAgICAtMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMGFhYWFhYWFhYWFhYWJkZGRkZGRwLTI1LAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwYWFhYWFhYWFhYWFhYmRkZGRkZHAtMjUsCisgICAgLTB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLjAwMDAwMjAwMDAwMDBhYWFhYWVhYWFhYjJiZGRkZTNmcC0yNSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIC0weDEuMDAwMDAyMDAwMDAwMGFhYWFhZWFhYWFiMmJkZGRlM2ZwLTI1LAorICAgIC0weDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS5mZmZmZmUwNTU1NTU0NTdiYmJjYWZkMjk2ZWI3ZTNhYXAtMTUsCisgICAgMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAtMHgxLmZmZmZmZTA1NTU1NTQ1N2JiYmNhZmQyOTZlYjdlM2FhcC0xNSwKKyAgICAtMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuMDAwMDAwMDJhYWFhYWFiZGRkZGRkZTk0Yjk0YjljODBwLTE0LAorICAgIDB4MS5wLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgLTB4MS4wMDAwMDAwMmFhYWFhYWJkZGRkZGRlOTRiOTRiOWM4MHAtMTQsCisgICAgLTB4MS5wLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgMHgxLjAwMDAwMjAyYWFhYWJhYmRkZGZlOWU5NGQxYWFmMWRicC0xNCwKKyAgICAweDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIC0weDEuMDAwMDAyMDJhYWFhYmFiZGRkZmU5ZTk0ZDFhYWYxZGJwLTE0LAorICAgIC0weDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS4wMDAyYTliZGQ2OTQ2MTE2MGQ0Yzc1NDUxNzA0YTNiN3AtNiwKKyAgICAweDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgLTB4MS4wMDAyYTliZGQ2OTQ2MTE2MGQ0Yzc1NDUxNzA0YTNiN3AtNiwKKyAgICAtMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS4wMDAyYWFiZGRlOTRjMTEzMGNkMjZjZGZhMzc3Zjk2N3AtNiwKKyAgICAweDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgLTB4MS4wMDAyYWFiZGRlOTRjMTEzMGNkMjZjZGZhMzc3Zjk2N3AtNiwKKyAgICAtMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS4wMDAyYWNiZGVlOTU4MTNkMTA1ZWM2MWZjZDZhZTJmYXAtNiwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgLTB4MS4wMDAyYWNiZGVlOTU4MTNkMTA1ZWM2MWZjZDZhZTJmYXAtNiwKKyAgICAtMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIDB4MS4wMDBhYWFkZGViOTY4MGI2OWYzOTQ0ODMwNWM4Nzc0MXAtNSwKKyAgICAweDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgLTB4MS4wMDBhYWFkZGViOTY4MGI2OWYzOTQ0ODMwNWM4Nzc0MXAtNSwKKyAgICAtMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS4wMDBhYWJkZTBiOWM4MWQ2ZDk0NTUxYmUzZTkyNGUyYXAtNSwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgLTB4MS4wMDBhYWJkZTBiOWM4MWQ2ZDk0NTUxYmUzZTkyNGUyYXAtNSwKKyAgICAtMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS4wMDBhYWRkZTRiYTg4NGQ3OTU3NDMzMGVhZWI3ZDEzMnAtNSwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgLTB4MS4wMDBhYWRkZTRiYTg4NGQ3OTU3NDMzMGVhZWI3ZDEzMnAtNSwKKyAgICAtMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS4wMDJhYmNlOGQzMDE0NDliM2E2ZTEzNzU2NDVlYjg1M3AtNCwKKyAgICAweDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgLTB4MS4wMDJhYmNlOGQzMDE0NDliM2E2ZTEzNzU2NDVlYjg1M3AtNCwKKyAgICAtMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS4wMDJhYmRlOTUzNjE5NDYwYjhiNzFiNzdiYjQ5NWY1N3AtNCwKKyAgICAweDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgLTB4MS4wMDJhYmRlOTUzNjE5NDYwYjhiNzFiNzdiYjQ5NWY1N3AtNCwKKyAgICAtMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS4wMDJhYmZlYTU0MjIzNmYwM2FmMGM3NzAwMDYxODRlMHAtNCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgLTB4MS4wMDJhYmZlYTU0MjIzNmYwM2FmMGM3NzAwMDYxODRlMHAtNCwKKyAgICAtMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS4wMGFiZGZiZjIzY2Q5YmNiMDkwOGI2N2MyOWJkMWQ4NHAtMywKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgLTB4MS4wMGFiZGZiZjIzY2Q5YmNiMDkwOGI2N2MyOWJkMWQ4NHAtMywKKyAgICAtMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS4wMGFiZTBjMTI5ZTFlMGJlNzU4NzcyNGVhMTRlMDNiMXAtMywKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgLTB4MS4wMGFiZTBjMTI5ZTFlMGJlNzU4NzcyNGVhMTRlMDNiMXAtMywKKyAgICAtMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS4wMGFiZTJjNTM2MGE3NmVlYmQzNzQwODdlMTNkMDc3OHAtMywKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgLTB4MS4wMGFiZTJjNTM2MGE3NmVlYmQzNzQwODdlMTNkMDc3OHAtMywKKyAgICAtMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS4wMmJlOWJkODUzMzJhZDY2OTAxNWI0OGYxMjgxY2Q4ZXAtMiwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgLTB4MS4wMmJlOWJkODUzMzJhZDY2OTAxNWI0OGYxMjgxY2Q4ZXAtMiwKKyAgICAtMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS4wMmJlOWNlMGI4N2NkMWU1ZDA5ZGEyZTBmMDQyM2JmYXAtMiwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgLTB4MS4wMmJlOWNlMGI4N2NkMWU1ZDA5ZGEyZTBmMDQyM2JmYXAtMiwKKyAgICAtMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS4wMmJlOWVmMTgzMTE0ZmM1NjA5ODgzMDZmODg3YWM3NHAtMiwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgLTB4MS4wMmJlOWVmMTgzMTE0ZmM1NjA5ODgzMDZmODg3YWM3NHAtMiwKKyAgICAtMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS4wYzE1MjI1YjNjYzIzMDg3OTI4NzA0MzhlYmZkNTgxNHAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgLTB4MS4wYzE1MjI1YjNjYzIzMDg3OTI4NzA0MzhlYmZkNTgxNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS4wYzE1MjM4MmQ3MzY1ODQ2NWJiMzJlMGY1NjdhZDExNnAtMSwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS4wYzE1MjVkMjBjMWZjZjVlNjMyOTk2OTIyZjI4ZGJmNHAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgLTB4MS4wYzE1MjVkMjBjMWZjZjVlNjMyOTk2OTIyZjI4ZGJmNHAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS45MjA5MTRhNWRhNmY5MGJlYWM3NTVjZjgxYWRkMzcwN3AwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAtMHgxLjkyMDkxNGE1ZGE2ZjkwYmVhYzc1NWNmODFhZGQzNzA3cDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIDB4MS45MjFmYWYwOTE4OTM4NDY5NjEzYTQwNjY4NmQzMjVmYnAtMSwKKyAgICAweDEuNmEwOWUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgLTB4MS45MjFmYWYwOTE4OTM4NDY5NjEzYTQwNjY4NmQzMjVmYnAtMSwKKyAgICAtMHgxLjZhMDllMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIDB4MS45MjFmYjFkZDJjNTk4NDY5ODJmYmQyMWUxMmI2Mjk1N3AtMSwKKyAgICAweDEuNmEwOWU0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgLTB4MS45MjFmYjFkZDJjNTk4NDY5ODJmYmQyMWUxMmI2Mjk1N3AtMSwKKyAgICAtMHgxLjZhMDllNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS45MjFmYjRiMTQwMjM4NDY5ODk4NGIwOTk2NmY5NmRlNnAtMSwKKyAgICAweDEuNmEwOWU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgLTB4MS45MjFmYjRiMTQwMjM4NDY5ODk4NGIwOTk2NmY5NmRlNnAtMSwKKyAgICAtMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS45MjFmYjc4NTUzZjE4NDY5OGI3NTc5YjgwNzc1NGZiMXAtMSwKKyAgICAweDEuNmEwOWU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgLTB4MS45MjFmYjc4NTUzZjE4NDY5OGI3NTc5YjgwNzc1NGZiMXAtMSwKKyAgICAtMHgxLjZhMDllOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIDB4MS45MjFmYmE1OTY3YzM4NDY5OWY2ZWNjMTk3ODAwNTYyZHAtMSwKKyAgICAweDEuNmEwOWVhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgLTB4MS45MjFmYmE1OTY3YzM4NDY5OWY2ZWNjMTk3ODAwNTYyZHAtMSwKKyAgICAtMHgxLjZhMDllYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIDB4MS4wYzE1MWVmZDUyN2Q2NWEyNjI1ZjNiNjU4NzdhZjVjMXAwLAorICAgIDB4MS5iYjY3YWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAtMHgxLjBjMTUxZWZkNTI3ZDY1YTI2MjVmM2I2NTg3N2FmNWMxcDAsCisgICAgLTB4MS5iYjY3YWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuMGMxNTIwZmQ1MjcxMzJhZjBlNTE0YWY1ZDc3NmQ4NjFwMCwKKyAgICAweDEuYmI2N2FjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgLTB4MS4wYzE1MjBmZDUyNzEzMmFmMGU1MTRhZjVkNzc2ZDg2MXAwLAorICAgIC0weDEuYmI2N2FjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLjBjMTUyMmZkNTI2YmVkNWEwZjdjYjMyOGJhNWMzOTkxcDAsCisgICAgMHgxLmJiNjdhZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIC0weDEuMGMxNTIyZmQ1MjZiZWQ1YTBmN2NiMzI4YmE1YzM5OTFwMCwKKyAgICAtMHgxLmJiNjdhZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS4wYzE1MjRmZDUyNmQ5NWEzYjVlMTZmOGJiMDlkMjQyOHAwLAorICAgIDB4MS5iYjY3YjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAtMHgxLjBjMTUyNGZkNTI2ZDk1YTNiNWUxNmY4YmIwOWQyNDI4cDAsCisgICAgLTB4MS5iYjY3YjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuMGMxNTI2ZmQ1Mjc2MmI4YzUxN2Y4MTg0Yjg3MGJmNmRwMCwKKyAgICAweDEuYmI2N2IycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgLTB4MS4wYzE1MjZmZDUyNzYyYjhjNTE3ZjgxODRiODcwYmY2ZHAwLAorICAgIC0weDEuYmI2N2IycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuOTIwOTE0YTVkYTZmOTBiZWFjNzU1Y2Y4MWFkZDM3MDdwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS45MjA5MTRhNWRhNmY5MGJlYWM3NTVjZjgxYWRkMzcwN3AwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLmNlODI3N2YzMmRhMmM1ZWU3ZWEzMjU3OTNmZDdjY2QxcC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAtMHgxLmNlODI3N2YzMmRhMmM1ZWU3ZWEzMjU3OTNmZDdjY2QxcC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLjAwMDAwMnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvYXNpbmhfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2FzaW5oX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGVmZjg2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2FzaW5oX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDIwNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19hc2luaF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLmYyZWJhNWViNWI1M2M4MDMzMDFjMGY4Mjc5ZWZkMzhjcC0yLAorICAgIC0weDEuMDM3MmFlMTFjNWE1M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZjJlYmE1ZWI1YjUzYzgwMzMwMWMwZjgyNzllZmQzOGNwLTIsCisgICAgMHgxLjAzNzJhZTExYzVhNTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS5mOGRmMDIzZDIwMjFiYzNkNDAwYjMxNWE1NDk0ZDAwNnAtMiwKKyAgICAtMHgxLjA2YzliMjZjOWIyNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLmY4ZGYwMjNkMjAyMWJjM2Q0MDBiMzE1YTU0OTRkMDA2cC0yLAorICAgIDB4MS4wNmM5YjI2YzliMjY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuZmIyNWQzYTc2MGExOTM3MDZiMzIyODQ0MDgyOWVlOGZwLTIsCisgICAgLTB4MS4wODExNmEyN2MxMDc4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5mYjI1ZDNhNzYwYTE5MzcwNmIzMjI4NDQwODI5ZWU4ZnAtMiwKKyAgICAweDEuMDgxMTZhMjdjMTA3OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmZlYzM1YjNlNzIxNWEzNzI0ZmVlY2RiMjUxODg5OWNlcC0yLAorICAgIC0weDEuMGExYTg2YTFhODdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmZlYzM1YjNlNzIxNWEzNzI0ZmVlY2RiMjUxODg5OWNlcC0yLAorICAgIDB4MS4wYTFhODZhMWE4N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5mZjk1MWJiN2VlN2Y3YTFkOWRjZjMwZmIxZjQ3YmFkNnAtMiwKKyAgICAtMHgxLjBhOTBiZTFjMTU5NDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5mZjk1MWJiN2VlN2Y3YTFkOWRjZjMwZmIxZjQ3YmFkNnAtMiwKKyAgICAweDEuMGE5MGJlMWMxNTk0OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS4zYjYwYTQ0NjBhMmQyODAwODgzZWI1ZGVkM2JlNGRmMHAyLAorICAgIC0weDEuMTQyMTA4NDIxMDg0OHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuM2I2MGE0NDYwYTJkMjgwMDg4M2ViNWRlZDNiZTRkZjBwMiwKKyAgICAweDEuMTQyMTA4NDIxMDg0OHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLjEzOGFlYWIwMTc0ODg4MDRiMzM4ZTlhYzA5OWFiNjg3cC0yLAorICAgIC0weDEuMTZlMTQwMGRiODhhOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjEzOGFlYWIwMTc0ODg4MDRiMzM4ZTlhYzA5OWFiNjg3cC0yLAorICAgIDB4MS4xNmUxNDAwZGI4OGE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMHgxLmZkYmFjZGM4YTY2NDM3ZmYwYzkzZDk3NjdhNDVjYjBjcC0xLAorICAgIC0weDEuMmIxYTUzMjk3MTU2OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuZmRiYWNkYzhhNjY0MzdmZjBjOTNkOTc2N2E0NWNiMGNwLTEsCisgICAgMHgxLjJiMWE1MzI5NzE1NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS4yNDUwMWRjYmNlODNmODEyNmM2MWJhY2JiOGEyN2NlZHAxLAorICAgIC0weDEuMzZjMDM5MDRhOGU0ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMjQ1MDFkY2JjZTgzZjgxMjZjNjFiYWNiYjhhMjdjZWRwMSwKKyAgICAweDEuMzZjMDM5MDRhOGU0ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLjVkMzZmMjJmOWQzNDJmZjhkYTZiYTJiMTdiNDc0ZGI4cC0zLAorICAgIC0weDEuNWVlOGNiM2M3ODFjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjVkMzZmMjJmOWQzNDJmZjhkYTZiYTJiMTdiNDc0ZGI4cC0zLAorICAgIDB4MS41ZWU4Y2IzYzc4MWMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLjUyYjY2NzJiMDI0ZmUwMDBhZTE0NGZjOWFmYWVhZjUxcC0xLAorICAgIC0weDEuNmJmNmZkYmY2ZmQyNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjUyYjY2NzJiMDI0ZmUwMDBhZTE0NGZjOWFmYWVhZjUxcC0xLAorICAgIDB4MS42YmY2ZmRiZjZmZDI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLjM5OTNkNjNhY2M0YmE4MDM1ZDJiNDIwYjExNThmOTkzcDEsCisgICAgLTB4MS43MDAwMDAwMDAwMGZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS4zOTkzZDYzYWNjNGJhODAzNWQyYjQyMGIxMTU4Zjk5M3AxLAorICAgIDB4MS43MDAwMDAwMDAwMGZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEuOTc1ODAzNTExMDMzNjI4NjdhY2NlNTA0ZmVlNDI0NWRwLTksCisgICAgLTB4MS45NzU4MmU0YTExNXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjk3NTgwMzUxMTAzMzYyODY3YWNjZTUwNGZlZTQyNDVkcC05LAorICAgIDB4MS45NzU4MmU0YTExNXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS45N2IzZGEyYzk4NWRjN2UwNGViZTZiMGQ2MmE1NTEzYXAtMywKKyAgICAtMHgxLjlhNjY5OWE2Njk5YjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS45N2IzZGEyYzk4NWRjN2UwNGViZTZiMGQ2MmE1NTEzYXAtMywKKyAgICAweDEuOWE2Njk5YTY2OTliMHAtMworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS45MmEzMzhhZGEwN2MxYjUzMWE5ODY3YzlhMjM1ZDUwMnAtMiwKKyAgICAtMHgxLjlkMTdkOWZjYWQ3NjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS45MmEzMzhhZGEwN2MxYjUzMWE5ODY3YzlhMjM1ZDUwMnAtMiwKKyAgICAweDEuOWQxN2Q5ZmNhZDc2OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS40Yzc2ODU4Yjk4MDIxN2EyNDBhNWM3NGEyNTg4ZTYzMHAxLAorICAgIC0weDEuYWI1MmRkMDhmMzRmNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuNGM3Njg1OGI5ODAyMTdhMjQwYTVjNzRhMjU4OGU2MzBwMSwKKyAgICAweDEuYWI1MmRkMDhmMzRmNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmMwNmYzNmIxYmRmYmY2NjM4ZDJkNmNkYzliYzYzMDgzcC04LAorICAgIC0weDEuYzA3MDFjMDcwMWVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5jMDZmMzZiMWJkZmJmNjYzOGQyZDZjZGM5YmM2MzA4M3AtOCwKKyAgICAweDEuYzA3MDFjMDcwMWVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS40MTllY2I3MTJjNDgwZjhiNWRlY2I1ODM4NmRlZGQ5ZHA0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLjQxOWVjYjcxMmM0ODBmOGI1ZGVjYjU4Mzg2ZGVkZDlkcDQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZWNjMmNhZWM1MTYxNjFhNWU4YWE0NDJhNTA3OGQ1Y2ZwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuZWNjMmNhZWM1MTYxNjFhNWU4YWE0NDJhNTA3OGQ1Y2ZwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZmFjZmIyMzk5ZTY3NGZmYTcwMmJiM2M4OGI1MTMwNjNwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZmFjZmIyMzk5ZTY3NGZmYTcwMmJiM2M4OGI1MTMwNjNwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmYWFhZDEwZmJmNjhlMzJmODA0ODczNDJlNTYwOTFwLTcsCisgICAgMHgxLjAwMDAwMDAwMDAwZTBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuZmZmYWFhZDEwZmJmNjhlMzJmODA0ODczNDJlNTYwOTFwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMGUwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZmZlYWFkMTBiNWVhZGU5MzRkNjc3YjIzYzJiN2YxZjFwLTYsCisgICAgMHgxLjAwMDAwMDAwMDAxYzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuZmZlYWFkMTBiNWVhZGU5MzRkNjc3YjIzYzJiN2YxZjFwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMWMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuYzM0MzY2MTdhMTgwOGE3NGU5Y2I0NGUwNzg1MjIzMTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuYzM0MzY2MTdhMTgwOGE3NGU5Y2I0NGUwNzg1MjIzMTBwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZmZmZmVhYWFjYjdiMGNlODY0MjAzZjc5OGMwY2UzOWRwLTEwLAorICAgIDB4MS4wMDAwMDAwMDBmMzUwcC05CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLmZmZmZlYWFhY2I3YjBjZTg2NDIwM2Y3OThjMGNlMzlkcC0xMCwKKyAgICAtMHgxLjAwMDAwMDAwMGYzNTBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5mZmZmZWFhYWNkMzEwY2IxYTQyYTgzNzBiODhlMWQ2MHAtMTAsCisgICAgMHgxLjAwMDAwMDAwMTAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLmZmZmZlYWFhY2QzMTBjYjFhNDJhODM3MGI4OGUxZDYwcC0xMCwKKyAgICAtMHgxLjAwMDAwMDAwMTAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmVhZDBiNjlkNjE4YTgxNzQ3NjI0ZjNjN2NhMzgzODJwLTQsCisgICAgMHgxLjAwMDAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5mZWFkMGI2OWQ2MThhODE3NDc2MjRmM2M3Y2EzODM4MnAtNCwKKyAgICAtMHgxLjAwMDAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmZmZWFhZDExMzFhMzY4Nzk2MmNiOGNhMGE2NGY0YzYwcC02LAorICAgIDB4MS4wMDAwMDAwMDNlMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5mZmVhYWQxMTMxYTM2ODc5NjJjYjhjYTBhNjRmNGM2MHAtNiwKKyAgICAtMHgxLjAwMDAwMDAwM2UwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZmZlYWFkMTEzNWEyZTg5MTVkY2M2NTc5NGQ1YzEyMTZwLTYsCisgICAgMHgxLjAwMDAwMDAwNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5mZmVhYWQxMTM1YTJlODkxNWRjYzY1Nzk0ZDVjMTIxNnAtNiwKKyAgICAtMHgxLjAwMDAwMDAwNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZlYWQwYjZkMGZhYmU3Zjc5NDBhMTcyYzgxYjIxNmEycC00LAorICAgIDB4MS4wMDAwMDAwMWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuZmVhZDBiNmQwZmFiZTdmNzk0MGExNzJjODFiMjE2YTJwLTQsCisgICAgLTB4MS4wMDAwMDAwMWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS43MTkyMTgzNjlhZGY4ODAwMDM5MmQ3ZGM4NTE4YTE4ZnAwLAorICAgIDB4MS4wMDAwMDAwNjBwMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS43MTkyMTgzNjlhZGY4ODAwMDM5MmQ3ZGM4NTE4YTE4ZnAwLAorICAgIC0weDEuMDAwMDAwMDYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5lY2MyY2FmYWIyOGYxMDAwMDA1OGQ3NTdkNjJiZTBmMnAtMiwKKyAgICAweDEuMDAwMDAwMDgwOWQ3ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5lY2MyY2FmYWIyOGYxMDAwMDA1OGQ3NTdkNjJiZTBmMnAtMiwKKyAgICAtMHgxLjAwMDAwMDA4MDlkN2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5mZmVhYmIwZWY2MDZjN2RhNjc0NTk0MjgxNDlhZGJhZHAtNiwKKyAgICAweDEuMDAwMDA3MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5mZmVhYmIwZWY2MDZjN2RhNjc0NTk0MjgxNDlhZGJhZHAtNiwKKyAgICAtMHgxLjAwMDAwNzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4wYzFmOTgwMzdkZGI5N2ZmM2M1MDY4YjMxNmEwMDE2NXAxLAorICAgIDB4MS4wMDAwMWMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuMGMxZjk4MDM3ZGRiOTdmZjNjNTA2OGIzMTZhMDAxNjVwMSwKKyAgICAtMHgxLjAwMDAxYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmZhZDA2YzdlMGUwYTcwMDNiMTE0MGJjOTVhYjQwNWZmcC0zLAorICAgIDB4MS4wMDAwNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5mYWQwNmM3ZTBlMGE3MDAzYjExNDBiYzk1YWI0MDVmZnAtMywKKyAgICAtMHgxLjAwMDA2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuYzM0NGQwMjEyOTI3ZjVmYTQyYTNkZDkwYzg0NWFhZmVwLTEsCisgICAgMHgxLjAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuYzM0NGQwMjEyOTI3ZjVmYTQyYTNkZDkwYzg0NWFhZmVwLTEsCisgICAgLTB4MS4wMDAxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuNTUwNzY2MGY0NzQ1NjgwMGQ5MTI1OGU4NzU1YmQ1ZjRwNywKKyAgICAweDEuMDAxcDI0NQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS41NTA3NjYwZjQ3NDU2ODAwZDkxMjU4ZTg3NTViZDVmNHA3LAorICAgIC0weDEuMDAxcDI0NQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjIxMGFlMTBhNmNjNTlmYmI4MDIwMTY3YWIxZGZmY2NhcDksCisgICAgMHgxLjAwMXA4MzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMjEwYWUxMGE2Y2M1OWZiYjgwMjAxNjdhYjFkZmZjY2FwOSwKKyAgICAtMHgxLjAwMXA4MzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5kNWY0NWI3NWQ2M2I2ODAwMDFkMTNhYzFkYmU1NjJiY3A4LAorICAgIDB4MS4wMDNwNjc3CisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLmQ1ZjQ1Yjc1ZDYzYjY4MDAwMWQxM2FjMWRiZTU2MmJjcDgsCisgICAgLTB4MS4wMDNwNjc3CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZmZiM2MwNDQxNTczMTg0NDk4MTJhNTU3YmNmMTcwNmFwLTQsCisgICAgMHgxLjAwODQ2MGE0NGZmYzFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuZmZiM2MwNDQxNTczMTg0NDk4MTJhNTU3YmNmMTcwNmFwLTQsCisgICAgLTB4MS4wMDg0NjBhNDRmZmMxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZWRiNTA0MzY3MjNkNDc1OTM5MGQ2NDU2YzJlOGFkZjVwLTIsCisgICAgMHgxLjAwODc2ZjY5ZWM1MmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuZWRiNTA0MzY3MjNkNDc1OTM5MGQ2NDU2YzJlOGFkZjVwLTIsCisgICAgLTB4MS4wMDg3NmY2OWVjNTJmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuNDFiYjQxYzNmMTdkYTgwNGU5YWQxNGY0YmQ3NWJhY2VwNCwKKyAgICAweDEuMDFjOGZiMjk1MWNhNHAyOAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS40MWJiNDFjM2YxN2RhODA0ZTlhZDE0ZjRiZDc1YmFjZXA0LAorICAgIC0weDEuMDFjOGZiMjk1MWNhNHAyOAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmM2ZGZlNzk3NTY1ZjU3ZmZmZjdhODcxM2QwMzJjMDk2cC0xLAorICAgIDB4MS4wMjhmNWMyYTMwMzQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuYzZkZmU3OTc1NjVmNTdmZmZmN2E4NzEzZDAzMmMwOTZwLTEsCisgICAgLTB4MS4wMjhmNWMyYTMwMzQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5jNmRmZTc5YWZhZTdhZmZmZmZhMzExN2QzODE4ZWVlY3AtMSwKKyAgICAweDEuMDI4ZjVjMmNjNmU4YnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmM2ZGZlNzlhZmFlN2FmZmZmZmEzMTE3ZDM4MThlZWVjcC0xLAorICAgIC0weDEuMDI4ZjVjMmNjNmU4YnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZjE1ODk3NzA1YzU0OTdmZDA3MmM0NjdlZTM4NWM3YTBwLTIsCisgICAgMHgxLjAyOTBkNTJjNmU5MWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuZjE1ODk3NzA1YzU0OTdmZDA3MmM0NjdlZTM4NWM3YTBwLTIsCisgICAgLTB4MS4wMjkwZDUyYzZlOTFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZjE3NjA0MjE3NDM0MjVmZWVjNDQzOTgwNWVjZDFmYzVwLTIsCisgICAgMHgxLjAyYTE1MGE4NTQyYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuZjE3NjA0MjE3NDM0MjVmZWVjNDQzOTgwNWVjZDFmYzVwLTIsCisgICAgLTB4MS4wMmExNTBhODU0MmEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZjZiYzc5Yzg3YzAyZWMyNjFhZTcwMzYxODEwNTEzYmZwLTIsCisgICAgMHgxLjA1OTZhZjM2M2VlNWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuZjZiYzc5Yzg3YzAyZWMyNjFhZTcwMzYxODEwNTEzYmZwLTIsCisgICAgLTB4MS4wNTk2YWYzNjNlZTVhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuNzhhNmNmN2IzMDM1YmNlNGUwNjNhYmQxYWIwMGM0MzJwMCwKKyAgICAweDEuMDgwNDAyMDEwMDhwMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS43OGE2Y2Y3YjMwMzViY2U0ZTA2M2FiZDFhYjAwYzQzMnAwLAorICAgIC0weDEuMDgwNDAyMDEwMDhwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mYjE4ZTIzMmRlOGNkN2ZiMGE3YzdkNDBjMjEwMDQxNXAtMiwKKyAgICAweDEuMDgwYTIyMTNjNWQ3ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuZmIxOGUyMzJkZThjZDdmYjBhN2M3ZDQwYzIxMDA0MTVwLTIsCisgICAgLTB4MS4wODBhMjIxM2M1ZDdmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmZjMzZjMjQ4Yzg1MmE3ZmZkZGM5MDYyZDllNzY0ZjRicC0yLAorICAgIDB4MS4wOGFhZmZiMDk5ODYzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS5mYzM2YzI0OGM4NTJhN2ZmZGRjOTA2MmQ5ZTc2NGY0YnAtMiwKKyAgICAtMHgxLjA4YWFmZmIwOTk4NjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMGYyOGVkZDQ0NzYxMTZkNjZjYTc4ZGMzMDljZjgwZjlwLTksCisgICAgMHgxLjBmMjhmYTgxNWI2YzhwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjBmMjhlZGQ0NDc2MTE2ZDY2Y2E3OGRjMzA5Y2Y4MGY5cC05LAorICAgIC0weDEuMGYyOGZhODE1YjZjOHAtOQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4xNTFmNDRmMmI0ZjQyN2ZmZmY3YTQxYzAyYzVjZjM1NXAxLAorICAgIDB4MS4xMzMzMzMzMzU0NzlhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjE1MWY0NGYyYjRmNDI3ZmZmZjdhNDFjMDJjNWNmMzU1cDEsCisgICAgLTB4MS4xMzMzMzMzMzU0NzlhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuZTQ2YmY2MDg2MzBmMTdmMzE4M2E3ZDFkYjU1MjkxNDRwLTEsCisgICAgMHgxLjE4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS5lNDZiZjYwODYzMGYxN2YzMTgzYTdkMWRiNTUyOTE0NHAtMSwKKyAgICAtMHgxLjE4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjQzNDI2NGM2ZmM2NzA4MDM0YTI0YzhlNTI0ZjU2ODdkcDQsCisgICAgMHgxLjFiOWQ4MTllYmY4Y2VwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjQzNDI2NGM2ZmM2NzA4MDM0YTI0YzhlNTI0ZjU2ODdkcDQsCisgICAgLTB4MS4xYjlkODE5ZWJmOGNlcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjEwMWZmOGE3MTM4ODBhMzUxZjQ3Yzk3NGYxMmNlNTVlcC0xLAorICAgIDB4MS4xZDFlNzRlMzMwOTExcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS4xMDFmZjhhNzEzODgwYTM1MWY0N2M5NzRmMTJjZTU1ZXAtMSwKKyAgICAtMHgxLjFkMWU3NGUzMzA5MTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuMWE0OTNhYjg4NDYxZDdmZDNiZWViYTE3MmZmOWE3ZjBwLTIsCisgICAgMHgxLjFkZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuMWE0OTNhYjg4NDYxZDdmZDNiZWViYTE3MmZmOWE3ZjBwLTIsCisgICAgLTB4MS4xZGVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMTJlMDQ0YzNhYjE3MTgwYmViNjdmZDM3ZGRlMzgxOGVwLTEsCisgICAgMHgxLjIwNDVhNzAzYzIzNThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLjEyZTA0NGMzYWIxNzE4MGJlYjY3ZmQzN2RkZTM4MThlcC0xLAorICAgIC0weDEuMjA0NWE3MDNjMjM1OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS4xMzRmODMwM2Y4ZTdkNzc5MmE4Y2ZjYWUyYWIxODhhM3AtMSwKKyAgICAweDEuMjBjNTU3YjFkYTFkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuMTM0ZjgzMDNmOGU3ZDc3OTJhOGNmY2FlMmFiMTg4YTNwLTEsCisgICAgLTB4MS4yMGM1NTdiMWRhMWQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjEzYTg4ZjkyZjE1ZGY0MzIzNmMwYWYxZjg3MDNmMWUzcC0xLAorICAgIDB4MS4yMTJiOTg3Yjg1MDM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS4xM2E4OGY5MmYxNWRmNDMyMzZjMGFmMWY4NzAzZjFlM3AtMSwKKyAgICAtMHgxLjIxMmI5ODdiODUwMzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMTY4MDVlNjZkZWIzY2YwYjFjMGVjOWI2MGZkYjc4OTRwLTEsCisgICAgMHgxLjI0NzA5YjRhN2RlNTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLjE2ODA1ZTY2ZGViM2NmMGIxYzBlYzliNjBmZGI3ODk0cC0xLAorICAgIC0weDEuMjQ3MDliNGE3ZGU1NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS4yNjUxOTVkYjYzNTVkZmZmMDEyN2JiZjFlNWUxMTcwM3AtNiwKKyAgICAweDEuMjY1NWEzNDNhZjkyM3AtNgorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuMjY1MTk1ZGI2MzU1ZGZmZjAxMjdiYmYxZTVlMTE3MDNwLTYsCisgICAgLTB4MS4yNjU1YTM0M2FmOTIzcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjQzZmUxNTUwZGM1NzMwMDIzNDU1NDY5YmI0ZGRiNjNmcDQsCisgICAgMHgxLjI4ZTllMzAzM2IyZDBwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjQzZmUxNTUwZGM1NzMwMDIzNDU1NDY5YmI0ZGRiNjNmcDQsCisgICAgLTB4MS4yOGU5ZTMwMzNiMmQwcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjIxOGY4NTEzZWI0ZDI3ZWMwMGIxMjkxY2ZkYzE4ZDY3cDEsCisgICAgMHgxLjMwMDAwMDAzNmJmOTlwMgorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuMjE4Zjg1MTNlYjRkMjdlYzAwYjEyOTFjZmRjMThkNjdwMSwKKyAgICAtMHgxLjMwMDAwMDAzNmJmOTlwMgorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS4yMmE1NDMwMTEzNmRlN2VlNWNlODVlYjAxNDU1YTRlZXAxLAorICAgIDB4MS4zMmE0ZTY3NDY5N2U3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLjIyYTU0MzAxMTM2ZGU3ZWU1Y2U4NWViMDE0NTVhNGVlcDEsCisgICAgLTB4MS4zMmE0ZTY3NDY5N2U3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuMjQyOTJlZjAzMTI4MDgwZWQzZDliMDhkZjQ0ZjZmYjdwMSwKKyAgICAweDEuMzY1ZmM2OTZmYTViMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS4yNDI5MmVmMDMxMjgwODBlZDNkOWIwOGRmNDRmNmZiN3AxLAorICAgIC0weDEuMzY1ZmM2OTZmYTViMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjI1NzUxNjljODg3MDU3ZmZmZjdhNWIxOWVlODZhM2Q1cDEsCisgICAgMHgxLjM5OTk5OTlhMWFiOGNwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuMjU3NTE2OWM4ODcwNTdmZmZmN2E1YjE5ZWU4NmEzZDVwMSwKKyAgICAtMHgxLjM5OTk5OTlhMWFiOGNwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS4yNWRjODYzOGJkYjJmODBmZjE2NjgwMzE0MzhjOTc2NXAxLAorICAgIDB4MS4zYTljYTQ1ZTY2ZTkxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjI1ZGM4NjM4YmRiMmY4MGZmMTY2ODAzMTQzOGM5NzY1cDEsCisgICAgLTB4MS4zYTljYTQ1ZTY2ZTkxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuMjY0MDlmYWVhMTI0MTdmZDVjYTQ2NzQyNTQxNDJkOTFwMSwKKyAgICAweDEuM2I5ODE3YTI0Nzc3ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS4yNjQwOWZhZWExMjQxN2ZkNWNhNDY3NDI1NDE0MmQ5MXAxLAorICAgIC0weDEuM2I5ODE3YTI0Nzc3ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjRmZmZmZmZmZmY5Zjg4MDAwMDAwNGFjODM5MzMzMmU2cC0yMCwKKyAgICAweDEuNXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjRmZmZmZmZmZmY5Zjg4MDAwMDAwNGFjODM5MzMzMmU2cC0yMCwKKyAgICAtMHgxLjVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjJlZTc4Mzc1YTIxZTU4MGI1NzI4YzAzOGZiMjI1YzlmcDEsCisgICAgMHgxLjUyMTkxZDI1NWE3OTBwMgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuMmVlNzgzNzVhMjFlNTgwYjU3MjhjMDM4ZmIyMjVjOWZwMSwKKyAgICAtMHgxLjUyMTkxZDI1NWE3OTBwMgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS4zMTg1ZDBmMTZlNmI2ODA3YTA5NWJiMzkyYTMzODJiNHAxLAorICAgIDB4MS41OTM1NTJhMzQwZjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjMxODVkMGYxNmU2YjY4MDdhMDk1YmIzOTJhMzM4MmI0cDEsCisgICAgLTB4MS41OTM1NTJhMzQwZjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuNWFhODNjMTc0ZDA3NDdkNzQzMWMzYWUyNDZmMGEwYzBwLTUsCisgICAgMHgxLjVhYzJiOTAxM2ZiYTBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjVhYTgzYzE3NGQwNzQ3ZDc0MzFjM2FlMjQ2ZjBhMGMwcC01LAorICAgIC0weDEuNWFjMmI5MDEzZmJhMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS4zMzlmNGMyYTkwOTg2N2ZiOWMxMGU0MzAxMTEyNWFhNXAxLAorICAgIDB4MS41ZjAzODg4ZGJmMjBmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLjMzOWY0YzJhOTA5ODY3ZmI5YzEwZTQzMDExMTI1YWE1cDEsCisgICAgLTB4MS41ZjAzODg4ZGJmMjBmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuYmQzOGRmZTM1ZDFhY2FhZTVjOTUwMTE5NDI3MGExMzZwMCwKKyAgICAweDEuNjExM2I0OTcyOTBhMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5iZDM4ZGZlMzVkMWFjYWFlNWM5NTAxMTk0MjcwYTEzNnAwLAorICAgIC0weDEuNjExM2I0OTcyOTBhMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmMxMDc1YTM2M2U0MTBhOGY5ODg0NWM3NDNiYTM3ODdhcDAsCisgICAgMHgxLjY2YjM1OWFjZDY2ODBwMQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuYzEwNzVhMzYzZTQxMGE4Zjk4ODQ1Yzc0M2JhMzc4N2FwMCwKKyAgICAtMHgxLjY2YjM1OWFjZDY2ODBwMQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5jMjYyYzEyNzY2ZTMyNTc5OTc5Yjk1NTVjMTFlMTcyNnAwLAorICAgIDB4MS42OGI5N2EzODliNDZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmMyNjJjMTI3NjZlMzI1Nzk5NzliOTU1NWMxMWUxNzI2cDAsCisgICAgLTB4MS42OGI5N2EzODliNDZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuNzQ3ZGYyM2YwOThlMWVhOGJmYzgxZmE1YmU4ZTA5OThwLTcsCisgICAgMHgxLjc0OHAtNworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuNzQ3ZGYyM2YwOThlMWVhOGJmYzgxZmE1YmU4ZTA5OThwLTcsCisgICAgLTB4MS43NDhwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuNzM0ZjM5ZTU5MGZmNGM1NTg3MTRjZTA2YTNlMGNlMTJwLTIsCisgICAgMHgxLjdiOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuNzM0ZjM5ZTU5MGZmNGM1NTg3MTRjZTA2YTNlMGNlMTJwLTIsCisgICAgLTB4MS43YjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuODRlYTU0ZTk1Yjc5ZDgwMDUyZDQ0OTZhM2IyNTcwMzdwLTQsCisgICAgMHgxLjg1OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuODRlYTU0ZTk1Yjc5ZDgwMDUyZDQ0OTZhM2IyNTcwMzdwLTQsCisgICAgLTB4MS44NThwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuOGMzZDg3MjNhZmE3ZDdmZTVhYWM4YzY3MzAyYzIwMTZwLTcsCisgICAgMHgxLjhjNHAtNworICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuOGMzZDg3MjNhZmE3ZDdmZTVhYWM4YzY3MzAyYzIwMTZwLTcsCisgICAgLTB4MS44YzRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuNmZkYWIxMDY3MWJkYjA0ZWUwYjllMjI1NWVhODllZTRwLTEsCisgICAgMHgxLjkwNTQxNTA1NDE1OGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjZmZGFiMTA2NzFiZGIwNGVlMGI5ZTIyNTVlYTg5ZWU0cC0xLAorICAgIC0weDEuOTA1NDE1MDU0MTU4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS43NzIwNGIzMDc2MTk5N2ZmZmY5ZjE0YmNhZGQ1MDUwZXAtMSwKKyAgICAweDEuOTk5OTk5OWRmMzFmMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuNzcyMDRiMzA3NjE5OTdmZmZmOWYxNGJjYWRkNTA1MGVwLTEsCisgICAgLTB4MS45OTk5OTk5ZGYzMWYycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjhmNjU2YjQ4ZmRiYjg4MDAwMDdmYjUzYmM3ZjIyODU3cC0yLAorICAgIDB4MS45OTk5OTlhOGUyNDA0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS44ZjY1NmI0OGZkYmI4ODAwMDA3ZmI1M2JjN2YyMjg1N3AtMiwKKyAgICAtMHgxLjk5OTk5OWE4ZTI0MDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuOThlYjllYTg1MDQ5NDdmZmZmOTdkYWVmMjA5MDE2ZjBwLTQsCisgICAgMHgxLjk5OTk5OWMzYmZhYjlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjk4ZWI5ZWE4NTA0OTQ3ZmZmZjk3ZGFlZjIwOTAxNmYwcC00LAorICAgIC0weDEuOTk5OTk5YzNiZmFiOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS45OGViOWVhZGRmZWJhMDAwMDA4ZTBmMTNiNWIzNzZlOHAtNCwKKyAgICAweDEuOTk5OTk5Yzk1NjY3YXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuOThlYjllYWRkZmViYTAwMDAwOGUwZjEzYjViMzc2ZThwLTQsCisgICAgLTB4MS45OTk5OTljOTU2NjdhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLjc5NjMzNWNhNzcyYzIyNzRlZGNmZWY5YzBkN2FlYTJhcC0xLAorICAgIDB4MS45YzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjc5NjMzNWNhNzcyYzIyNzRlZGNmZWY5YzBkN2FlYTJhcC0xLAorICAgIC0weDEuOWM4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmEzZmM3MGU3OGI3MmFmZmVhNzk4ZmIxZWQ5ZTAxYjExcC03LAorICAgIDB4MS5hM2ZmNjI3Zjc4OXAtNworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuYTNmYzcwZTc4YjcyYWZmZWE3OThmYjFlZDllMDFiMTFwLTcsCisgICAgLTB4MS5hM2ZmNjI3Zjc4OXAtNworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS40ZjBhODViMGFkNDg1N2ZmMDAxYjQxNDA2NDkzOTAxNnA5LAorICAgIDB4MS5hNmVkZmY3YTU4M2Y4cDk2NQorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuNGYwYTg1YjBhZDQ4NTdmZjAwMWI0MTQwNjQ5MzkwMTZwOSwKKyAgICAtMHgxLmE2ZWRmZjdhNTgzZjhwOTY1CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjRjMmI0ODRiYzQxOTA3ZmU1MWZiZjBkYjdlYjZjMDU4cDEsCisgICAgMHgxLmFhNTUyYTk1NGFhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjRjMmI0ODRiYzQxOTA3ZmU1MWZiZjBkYjdlYjZjMDU4cDEsCisgICAgLTB4MS5hYTU1MmE5NTRhYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLjg5NjRkMDcwYjQyZmYyZDAyNjA3MWY4NzBlMzExYjI2cC0xLAorICAgIDB4MS5iMTQyN2NkOTg4YjhjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS44OTY0ZDA3MGI0MmZmMmQwMjYwNzFmODcwZTMxMWIyNnAtMSwKKyAgICAtMHgxLmIxNDI3Y2Q5ODhiOGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuNGQwMjkxNDk1NWQ2MmZmZmZmNzFkZjAzMDQzMzUwZjRwMCwKKyAgICAweDEuYjMzMzMzMzc1MDZjYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS40ZDAyOTE0OTU1ZDYyZmZmZmY3MWRmMDMwNDMzNTBmNHAwLAorICAgIC0weDEuYjMzMzMzMzc1MDZjYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLmIwMTBhZDM4YTgwYjJhZTBmYzQ1NWY5ZjEzNmU3NDZkcC0yLAorICAgIDB4MS5iZDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLmIwMTBhZDM4YTgwYjJhZTBmYzQ1NWY5ZjEzNmU3NDZkcC0yLAorICAgIC0weDEuYmQwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLmM4NTQzYTlhOWMyNDMxMTIzM2EzMTUyNTVmNWM0NjUxcC05LAorICAgIDB4MS5jODU0NzcwNGNjOTRhcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5jODU0M2E5YTljMjQzMTEyMzNhMzE1MjU1ZjVjNDY1MXAtOSwKKyAgICAtMHgxLmM4NTQ3NzA0Y2M5NGFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuYzlhYzBjNzc3ZmZmOGZmOWQ4ZWU3MTUzNjI3MTc2YWJwLTQsCisgICAgMHgxLmNhYXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuYzlhYzBjNzc3ZmZmOGZmOWQ4ZWU3MTUzNjI3MTc2YWJwLTQsCisgICAgLTB4MS5jYWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuY2E2YWRhYmE2NWVmZTdmMjBmODcxZGUxMDk0N2NkNWNwLTQsCisgICAgMHgxLmNiNWZmZmZmZTdhMDZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmNhNmFkYWJhNjVlZmU3ZjIwZjg3MWRlMTA5NDdjZDVjcC00LAorICAgIC0weDEuY2I1ZmZmZmZlN2EwNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5jYTZhZGFiYTdlMjhhN2Y1OWZhMDdiNjkyYTlmZTBmOXAtNCwKKyAgICAweDEuY2I2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5jYTZhZGFiYTdlMjhhN2Y1OWZhMDdiNjkyYTlmZTBmOXAtNCwKKyAgICAtMHgxLmNiNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5lMWM1YzBjYTI3OWY3N2ZmMDdmMzFiOTMzYjU4ZDEyYXAyLAorICAgIDB4MS5kMGI0MmQwYjQyZDA4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLmUxYzVjMGNhMjc5Zjc3ZmYwN2YzMWI5MzNiNThkMTJhcDIsCisgICAgLTB4MS5kMGI0MmQwYjQyZDA4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuYTNlOGI3MWNiYTI4ZDdmZWMzZDFjNjQ1NGJiYmE5OWRwLTEsCisgICAgMHgxLmQ0OTc0ZWNhMzMzYzNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmEzZThiNzFjYmEyOGQ3ZmVjM2QxYzY0NTRiYmJhOTlkcC0xLAorICAgIC0weDEuZDQ5NzRlY2EzMzNjM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS5kNGVkZTAxZjEwYWI2N2IyMTFjMjc4Mjc0YTNjNjRlYXAtNSwKKyAgICAweDEuZDUyZjcxZTkzY2IyMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuZDRlZGUwMWYxMGFiNjdiMjExYzI3ODI3NGEzYzY0ZWFwLTUsCisgICAgLTB4MS5kNTJmNzFlOTNjYjIxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLmE2NmI2YzE4MWE1N2VlYzg5YTg1NmRhYjg4MjYwYzg1cC0xLAorICAgIDB4MS5kODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmE2NmI2YzE4MWE1N2VlYzg5YTg1NmRhYjg4MjYwYzg1cC0xLAorICAgIC0weDEuZDgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmRhNDkzYWZhNWY3YjE4MzRjMGFjOTEyOWVhM2Y4NDgxcC01LAorICAgIDB4MS5kYThkMTJiMTExODUzcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS5kYTQ5M2FmYTVmN2IxODM0YzBhYzkxMjllYTNmODQ4MXAtNSwKKyAgICAtMHgxLmRhOGQxMmIxMTE4NTNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuZDg2YzkzMDg4YmNkODljM2E3ZWE2OWUxMGJlYmM4MzRwLTMsCisgICAgMHgxLmRjYXAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuZDg2YzkzMDg4YmNkODljM2E3ZWE2OWUxMGJlYmM4MzRwLTMsCisgICAgLTB4MS5kY2FwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuNWIyMTAyMzExMjlmNzgwMWIyZGY4YzAzNmJlZGQ2MTRwMSwKKyAgICAweDEuZGZiZjdlZmRmYmY3OHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS41YjIxMDIzMTEyOWY3ODAxYjJkZjhjMDM2YmVkZDYxNHAxLAorICAgIC0weDEuZGZiZjdlZmRmYmY3OHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmU3NDNjZTczZDkyM2QwMDg1NmNiYWFmZTA5MTYzY2RmcC0zLAorICAgIDB4MS5lYmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLmU3NDNjZTczZDkyM2QwMDg1NmNiYWFmZTA5MTYzY2RmcC0zLAorICAgIC0weDEuZWJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmRlNTk2YjRmNGQ1MDE4ZWI4NWU2NTcxMDExYzE1NjgzcC0yLAorICAgIDB4MS5lZmVmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5kZTU5NmI0ZjRkNTAxOGViODVlNjU3MTAxMWMxNTY4M3AtMiwKKyAgICAtMHgxLmVmZWZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuNmE2ZWIyZmZlZTJlZGFmZDdmZWQ0MDNhZDJjNmQyMDNwMCwKKyAgICAweDEuZjAzYzNmOWQ1NzZiY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS42YTZlYjJmZmVlMmVkYWZkN2ZlZDQwM2FkMmM2ZDIwM3AwLAorICAgIC0weDEuZjAzYzNmOWQ1NzZiY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLmYzZGY2ZTg4YTc5MmU4MDFmZjcwNjkyZTVhNzg5ZjIxcC01LAorICAgIDB4MS5mNDJlZGJkODVkOWY4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS5mM2RmNmU4OGE3OTJlODAxZmY3MDY5MmU1YTc4OWYyMXAtNSwKKyAgICAtMHgxLmY0MmVkYmQ4NWQ5ZjhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuNmM1OWE0NDZkMWI3OGIxYzliNzQ2ODRiNzhiMTBiMGZwMCwKKyAgICAweDEuZjQ2ZWE1ZjhmNTRlOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS42YzU5YTQ0NmQxYjc4YjFjOWI3NDY4NGI3OGIxMGIwZnAwLAorICAgIC0weDEuZjQ2ZWE1ZjhmNTRlOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLmY1NWFmZTBjY2NmMDk3MWQ4MTAwNjVmZDhjYTUxNzQ2cC03LAorICAgIDB4MS5mNTZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLmY1NWFmZTBjY2NmMDk3MWQ4MTAwNjVmZDhjYTUxNzQ2cC03LAorICAgIC0weDEuZjU2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmY3MmMyOGJmNDM5Y2Y4MjM0NjJmOTQzNjE3N2MwZjY4cC0zLAorICAgIDB4MS5mYzRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLmY3MmMyOGJmNDM5Y2Y4MjM0NjJmOTQzNjE3N2MwZjY4cC0zLAorICAgIC0weDEuZmM0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZlM2RlOGEyNWMxNDhmZjM3ZmYzZmZmNGVhOTZiMGM1cC00LAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS5mZTNkZThhMjVjMTQ4ZmYzN2ZmM2ZmZjRlYTk2YjBjNXAtNCwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuZmY3YWJiMGIwNzlkNDViOGMwNzdjMTM4ODEyZWY3ODVwLTYsCisgICAgMHgxLmZmOGZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLmZmN2FiYjBiMDc5ZDQ1YjhjMDc3YzEzODgxMmVmNzg1cC02LAorICAgIC0weDEuZmY4ZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mZjhmYWFlMmM0YTdlMTVmNDlmMWU3ZmQxMDIyNmRmOHAtOSwKKyAgICAweDEuZmY4ZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuZmY4ZmFhZTJjNGE3ZTE1ZjQ5ZjFlN2ZkMTAyMjZkZjhwLTksCisgICAgLTB4MS5mZjhmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLjYzNjM3MTY2NTlhMGQ2ZWM5YTRkMTY3M2EwYzFjYWY5cDEsCisgICAgMHgxLmZmZmZmZjNmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuNjM2MzcxNjY1OWEwZDZlYzlhNGQxNjczYTBjMWNhZjlwMSwKKyAgICAtMHgxLmZmZmZmZjNmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5mZmZhYWFiNzAwNzNjZmZlMWNhN2FmNTlkZWEzODNiZHAtNywKKyAgICAweDEuZmZmZmZmZTVlZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuZmZmYWFhYjcwMDczY2ZmZTFjYTdhZjU5ZGVhMzgzYmRwLTcsCisgICAgLTB4MS5mZmZmZmZlNWVmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLmZmZWFhZDA5MWMyNWY3ZmU3OGJlMGVmYjkxMzkzYjM1cC02LAorICAgIDB4MS5mZmZmZmZmODY1N2ZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS5mZmVhYWQwOTFjMjVmN2ZlNzhiZTBlZmI5MTM5M2IzNXAtNiwKKyAgICAtMHgxLmZmZmZmZmY4NjU3ZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuZmZmYWFhY2QwZmMzNTg0M2I4YjljMmM4ZWFhZjE3MGRwLTcsCisgICAgMHgxLmZmZmZmZmZiZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLmZmZmFhYWNkMGZjMzU4NDNiOGI5YzJjOGVhYWYxNzBkcC03LAorICAgIC0weDEuZmZmZmZmZmJmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5jMzQzNjYxNzlhYzhkMDFlMmNkNDVkZTQ3NDVlMTM0YXAtMSwKKyAgICAweDEuZmZmZmZmZmZmYzdmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuYzM0MzY2MTc5YWM4ZDAxZTJjZDQ1ZGU0NzQ1ZTEzNGFwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZjN2ZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLmZlYWQwYjY5OTY3OTc4MzRiNDNiYWM2YjBmM2ZlMjBmcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZTIxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgLTB4MS5mZWFkMGI2OTk2Nzk3ODM0YjQzYmFjNmIwZjNmZTIwZnAtNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZlMjFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuYzM0MzY2MTc5ZDQxYTExYzIwNThjNDAxNTZlYWU3ODBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLmMzNDM2NjE3OWQ0MWExMWMyMDU4YzQwMTU2ZWFlNzgwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZlZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5mZmZmYWFhYWQxMGZkYTM2NDJlN2Y3MTJlZTM5MTA1OHAtOSwKKyAgICAweDEuZmZmZmZmZmZmZmZlZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuZmZmZmFhYWFkMTBmZGEzNjQyZTdmNzEyZWUzOTEwNThwLTksCisgICAgLTB4MS5mZmZmZmZmZmZmZmVlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLjMwZmMxOTMxZjA5Yzk3ZmY0MmZmNWNhZDQ2Nzg5N2ZkcDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZWVwMjE4CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS4zMGZjMTkzMWYwOWM5N2ZmNDJmZjVjYWQ0Njc4OTdmZHA3LAorICAgIC0weDEuZmZmZmZmZmZmZmZlZXAyMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuZmZhYWQwZmE0NTI1NTdmZjIyMzQyZTBjZDQ5OTc4MzBwLTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZjNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAtMHgxLmZmYWFkMGZhNDUyNTU3ZmYyMjM0MmUwY2Q0OTk3ODMwcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmM3AtNQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS41Y2E3MmQxN2VkM2VhODAwODlhZTY1ZGZhZmMxZTJiMnA4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDUwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC0weDEuNWNhNzJkMTdlZDNlYTgwMDg5YWU2NWRmYWZjMWUyYjJwOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNTAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS5jMzQzNjYxNzlkNDI2Y2MxYjFmMzNkMWJhNGEzMTRhN3AtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5jMzQzNjYxNzlkNDI2Y2MxYjFmMzNkMWJhNGEzMTRhN3AtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgLTB4MS45NDkwZmVjM2VmYmU1OTg4NDk3YzE0Nzg1NjVhYTQ0NnAtMSwKKyAgICAtMHgxLmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuOTQ5MGZlYzNlZmJlNTk4ODQ5N2MxNDc4NTY1YWE0NDZwLTEsCisgICAgMHgxLmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIC0weDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0weDEuMmUyNzUwMmNiZmIzMzQ3ZjZiY2JmODRlYjk1Y2E0YTNwLTEsCisgICAgLTB4MS40cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjJlMjc1MDJjYmZiMzM0N2Y2YmNiZjg0ZWI5NWNhNGEzcC0xLAorICAgIDB4MS40cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS5lY2MyY2FlYzUxNjA5OTRiZTA0MjA0YTk2OGM3MDIwZHAtMiwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTIsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLjc3ODZhNzk3M2E1OTIzYjk2ZWVmMjYxMGMyNWU4NDFhcC0yLAorICAgIC0weDEuOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS43Nzg2YTc5NzNhNTkyM2I5NmVlZjI2MTBjMjVlODQxYXAtMiwKKyAgICAweDEuOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgLTB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLmZhY2ZiMjM5OWU2MzZlOGQ2NzExNWRlNTQwYTc3OGFjcC0zLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTB4MS5mZWFkMGI2OTk2OTcyZDA2MDU4ZTNlYjEyYzkzODE0MHAtNCwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuZmVhZDBiNjk5Njk3MmQwNjA1OGUzZWIxMmM5MzgxNDBwLTQsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLmZlYWQwYjY5OTY5NzJkMDYwNThlM2ViMTJjOTM4MTQwcC00LAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgLTB4MS5mZWFkMGI2OTk2OTcyZDA2MDU4ZTNlYjEyYzkzODE0MHAtNCwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLmZhY2ZiMjM5OWU2MzZlOGQ2NzExNWRlNTQwYTc3OGFjcC0zLAorICAgIC0weDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS43Nzg2YTc5NzNhNTkyM2I5NmVlZjI2MTBjMjVlODQxYXAtMiwKKyAgICAweDEuOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuNzc4NmE3OTczYTU5MjNiOTZlZWYyNjEwYzI1ZTg0MWFwLTIsCisgICAgLTB4MS44cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0yLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgLTB4MS5lY2MyY2FlYzUxNjA5OTRiZTA0MjA0YTk2OGM3MDIwZHAtMiwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMmUyNzUwMmNiZmIzMzQ3ZjZiY2JmODRlYjk1Y2E0YTNwLTEsCisgICAgMHgxLjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAtMHgxLjJlMjc1MDJjYmZiMzM0N2Y2YmNiZjg0ZWI5NWNhNGEzcC0xLAorICAgIC0weDEuNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgLTB4MS44cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjk0OTBmZWMzZWZiZTU5ODg0OTdjMTQ3ODU2NWFhNDQ2cC0xLAorICAgIDB4MS5jcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLTB4MS45NDkwZmVjM2VmYmU1OTg4NDk3YzE0Nzg1NjVhYTQ0NnAtMSwKKyAgICAtMHgxLmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC0weDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTYzYjZkNGNwNiwKKyAgICAweDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAtMHgxLjE4MDgwZGQzMTcxYjZjMDMxYTliNTc2YmU2M2I2ZDRjcDYsCisgICAgLTB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS4xODY5YTZkMGZjMGM4NzM0Y2ZmNWJlNGM5OTRhNjIzY3A2LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIC0weDEuMTg2OWE2ZDBmYzBjODczNGNmZjViZTRjOTk0YTYyM2NwNiwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLjE4YzJjMDUzYTY0MDFmZGY4ZjgwMTg4NWVjZWM4OTZlcDYsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgLTB4MS4xOGMyYzA1M2E2NDAxZmRmOGY4MDE4ODVlY2VjODk2ZXA2LAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuMTkxNGI3MGFkNTM3MDlmYzAyZTYwYzk5MzE0NjVkMWNwNiwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAtMHgxLjE5MTRiNzBhZDUzNzA5ZmMwMmU2MGM5OTMxNDY1ZDFjcDYsCisgICAgLTB4MS40Y2NjY2NjY2NjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS4xOTYwOWEwMGE4NGViNTQ2OWI4YTE0NTc1Y2ZjZmZkY3A2LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuMTk2MDlhMDBhODRlYjU0NjliOGExNDU3NWNmY2ZmZGNwNiwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjE5YTc0MDExZTMxNGYxMTc5YjU5ODQyODJmOTI1NjgxcDYsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS4xOWE3NDAxMWUzMTRmMTE3OWI1OTg0MjgyZjkyNTY4MXA2LAorICAgIC0weDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuMTllOTU2NzRiOThkZDkzYzY4OTQyNTQyYWU0OGVjMTRwNiwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAtMHgxLjE5ZTk1Njc0Yjk4ZGQ5M2M2ODk0MjU0MmFlNDhlYzE0cDYsCisgICAgLTB4MS45OTk5OTk5OTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS4xYTI3NmFkNjM5YjA5ZTkyOTRmNzIxOGVmNTg3Y2U2Y3A2LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIC0weDEuMWEyNzZhZDYzOWIwOWU5Mjk0ZjcyMThlZjU4N2NlNmNwNiwKKyAgICAtMHgxLmIzMzMzMzMzMzMzMzZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjFhNjFmMjkyNzIzOWE0ZTVkNzVhYjcwOTUyYjM1OTVhcDYsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS4xYTYxZjI5MjcyMzlhNGU1ZDc1YWI3MDk1MmIzNTk1YXA2LAorICAgIC0weDEuY2NjY2NjY2NjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuMWE5OTRmZjgzZWNhNzdmM2VmOTE4NjZhN2I4NTQwZTJwNiwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAtMHgxLjFhOTk0ZmY4M2VjYTc3ZjNlZjkxODY2YTdiODU0MGUycDYsCisgICAgLTB4MS5lNjY2NjY2NjY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS4xYWNkZDYzMmY2NjJhOWU5YzljMmU2M2E0NjRiMzkyN3A2LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIC0weDEuMWFjZGQ2MzJmNjYyYTllOWM5YzJlNjNhNDY0YjM5MjdwNiwKKyAgICAtMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjE2YTUyOWEzMjc3N2NkMGZjMzA3OTAwNGI2MzM4NzVmcDcsCisgICAgMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS4xNmE1MjlhMzI3NzdjZDBmYzMwNzkwMDRiNjMzODc1ZnA3LAorICAgIC0weDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuMTZkNWY2MjIxOWYwNWFhODlkYjRjMzc1MGZiYjAxZDZwNywKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAtMHgxLjE2ZDVmNjIyMTlmMDVhYTg5ZGI0YzM3NTBmYmIwMWQ2cDcsCisgICAgLTB4MS4xOTk5OTk5OTk5OTlhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS4xNzAyODJlMzZmMGEyNmZkZmQ3OWYwOTFiOThjMTU3MHA3LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuMTcwMjgyZTM2ZjBhMjZmZGZkNzlmMDkxYjk4YzE1NzBwNywKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjE3MmI3ZTNmMDY4NTljMGMzNzJjZWE5YjViYjhmZjQ3cDcsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgLTB4MS4xNzJiN2UzZjA2ODU5YzBjMzcyY2VhOWI1YmI4ZmY0N3A3LAorICAgIC0weDEuNGNjY2NjY2NjY2NjZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMTc1MTZmYjlmMDExNzFiMTgzN2VlZTdhNzE5NDUwYTZwNywKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAtMHgxLjE3NTE2ZmI5ZjAxMTcxYjE4MzdlZWU3YTcxOTQ1MGE2cDcsCisgICAgLTB4MS42NjY2NjY2NjY2NjY4cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS4xNzc0YzJjMjhkNzQ4ZjlhMDM2NmE2NjJkYWRlZmJmOXA3LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIC0weDEuMTc3NGMyYzI4ZDc0OGY5YTAzNjZhNjYyZGFkZWZiZjlwNywKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDJwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLjE3OTVjZGYzZjhiMTAzYWM2YTAzZjZmMDFhM2E0NmMzcDcsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgLTB4MS4xNzk1Y2RmM2Y4YjEwM2FjNmEwM2Y2ZjAxYTNhNDZjM3A3LAorICAgIC0weDEuOTk5OTk5OTk5OTk5Y3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuMTdiNGQ4MjRiOGMyNjY1NzgwMzU3NTE2M2RkOWI3ZWZwNywKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAtMHgxLjE3YjRkODI0YjhjMjY2NTc4MDM1NzUxNjNkZDliN2VmcDcsCisgICAgLTB4MS5iMzMzMzMzMzMzMzM2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4xN2QyMWMwMmQ1MDZlOTgxMjE2NzNmZDM2YzZmN2Q2NnA3LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0weDEuMTdkMjFjMDJkNTA2ZTk4MTIxNjczZmQzNmM2ZjdkNjZwNywKKyAgICAtMHgxLmNjY2NjY2NjY2NjZDBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLjE3ZWRjYWI1YmI0ZjUzMDgyZDgyYTc4NDAwZDg3MTJhcDcsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS4xN2VkY2FiNWJiNGY1MzA4MmQ4MmE3ODQwMGQ4NzEyYXA3LAorICAgIC0weDEuZTY2NjY2NjY2NjY2YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTYzYjZkNGNwNywKKyAgICAweDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAtMHgxLjE4MDgwZGQzMTcxYjZjMDMxYTliNTc2YmU2M2I2ZDRjcDcsCisgICAgLTB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS41YWViOGZkYzAxYjIyMTYwNWMzNWFjOWViM2I4ODM0OXA5LAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAtMHgxLjVhZWI4ZmRjMDFiMjIxNjA1YzM1YWM5ZWIzYjg4MzQ5cDksCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuNWFmN2MyZmJiZTUwNDRjNjkyZTBmOTdhY2ExYTYxZTdwOSwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgLTB4MS41YWY3YzJmYmJlNTA0NGM2OTJlMGY5N2FjYTFhNjFlN3A5LAorICAgIC0weDEuMTk5OTk5OTk5OTk5YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLjViMDJlNjJjMTM5NmI3ZGJlYWQyNDRjMWY0OGVhNmNkcDksCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuNWIwMmU2MmMxMzk2YjdkYmVhZDI0NGMxZjQ4ZWE2Y2RwOSwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS41YjBkMjUwMmY5NzU5NTFmNzkzZjAzNDQ1ZDE5ZTE0M3A5LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAtMHgxLjViMGQyNTAyZjk3NTk1MWY3OTNmMDM0NDVkMTllMTQzcDksCisgICAgLTB4MS40Y2NjY2NjY2NjY2NlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuNWIxNmExNjFiM2Q4OGE4OGNjNTM4NDNjMjI5MGI1OWJwOSwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgLTB4MS41YjE2YTE2MWIzZDg4YTg4Y2M1Mzg0M2MyMjkwYjU5YnA5LAorICAgIC0weDEuNjY2NjY2NjY2NjY2OHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjViMWY3NjIzZGIzMTUyMDJlYzRkNzIzNjNjZTM2MDcwcDksCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIC0weDEuNWIxZjc2MjNkYjMxNTIwMmVjNGQ3MjM2M2NlMzYwNzBwOSwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS41YjI3YjhmMDM2MDA2ZjA3ODVmNGM2NTk4Y2JhMzMyMnA5LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAtMHgxLjViMjdiOGYwMzYwMDZmMDc4NWY0YzY1OThjYmEzMzIycDksCisgICAgLTB4MS45OTk5OTk5OTk5OTljcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuNWIyZjdiN2M2NjA0YzdiMjRiODEyNWUzMTVhMjBmNmRwOSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgLTB4MS41YjJmN2I3YzY2MDRjN2IyNGI4MTI1ZTMxNWEyMGY2ZHA5LAorICAgIC0weDEuYjMzMzMzMzMzMzMzNnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjViMzZjYzczZWQxNWU4N2NiM2NkOTg5MjYxNDc4MGNicDksCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIC0weDEuNWIzNmNjNzNlZDE1ZTg3Y2IzY2Q5ODkyNjE0NzgwY2JwOSwKKyAgICAtMHgxLmNjY2NjY2NjY2NjZDBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS41YjNkYjgyMGE2YTgwMmRlNzZkNDcyN2U4NjYxYmRiY3A5LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAtMHgxLjViM2RiODIwYTZhODAyZGU3NmQ0NzI3ZTg2NjFiZGJjcDksCisgICAgLTB4MS5lNjY2NjY2NjY2NjZhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuNWI0NDQ4ZTdmZDliMDkxZDMyMWE5ZTc4N2ZiYTdjYzRwOSwKKyAgICAweDEuMHAxMDAxCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgLTB4MS41YjQ0NDhlN2ZkOWIwOTFkMzIxYTllNzg3ZmJhN2NjNHA5LAorICAgIC0weDEuMHAxMDAxCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgLTB4MS42MzNjZThmYjlmODdkYjEwNjlhYzU5MDlkM2U3ZDZkOXA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjYzM2NlOGZiOWY4N2RiMTA2OWFjNTkwOWQzZTdkNmQ5cDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS42MzNjZThmYjlmODdkYjEwNjlhYzU5MDlkM2U3ZDZkOXA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2RiMTA2OWFjNTkwOWQzZTdkNmQ5cDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgLTB4MS4wNDk5ZTQwYzY1ZmY1NzFjNDIxNDE5MWU0MDlmODg2Y3AtMSwKKyAgICAtMHgxLjEwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAweDEuMDQ5OWU0MGM2NWZmNTcxYzQyMTQxOTFlNDA5Zjg4NmNwLTEsCisgICAgMHgxLjEwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAtMHgxLjA0OTllNDBjNjVmZjQ4ZmIwNDIxM2VhYjMyZmFhMzQ1cC0xLAorICAgIC0weDEuMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS4wNDk5ZTQwYzY1ZmY0OGZiMDQyMTNlYWIzMmZhYTM0NXAtMSwKKyAgICAweDEuMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIC0weDEuMDQ5OWU0MGM2NWZmM2FkOWM2MmU2NDM4MjUyNmU4OWFwLTEsCisgICAgLTB4MS4wZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgMHgxLjA0OTllNDBjNjVmZjNhZDljNjJlNjQzODI1MjZlODlhcC0xLAorICAgIDB4MS4wZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjA0OTllNDBjNjVmZjNhZDljNjJlNjQzODI1MjZlODlhcC0xLAorICAgIDB4MS4wZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTB4MS4wNDk5ZTQwYzY1ZmYzYWQ5YzYyZTY0MzgyNTI2ZTg5YXAtMSwKKyAgICAtMHgxLjBmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuMDQ5OWU0MGM2NWZmNDhmYjA0MjEzZWFiMzJmYWEzNDVwLTEsCisgICAgMHgxLjFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLjA0OTllNDBjNjVmZjQ4ZmIwNDIxM2VhYjMyZmFhMzQ1cC0xLAorICAgIC0weDEuMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIDB4MS4wNDk5ZTQwYzY1ZmY1NzFjNDIxNDE5MWU0MDlmODg2Y3AtMSwKKyAgICAweDEuMTAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuMDQ5OWU0MGM2NWZmNTcxYzQyMTQxOTFlNDA5Zjg4NmNwLTEsCisgICAgLTB4MS4xMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzMTc5M2M3NjczMDA3ZTRlZDVlcDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzMTc5M2M3NjczMDA3ZTRlZDVlcDUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDUsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDUsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzZDc5M2M3NjczMDA3ZTFlZDVlcDUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzZDc5M2M3NjczMDA3ZTFlZDVlcDUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjQxOWVjYjcxMmM0ODBjMGI1ZGVjYjU4Mzg3MjY5ZDlkcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAtMHgxLjQxOWVjYjcxMmM0ODBjMGI1ZGVjYjU4Mzg3MjY5ZDlkcDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjQxOWVjYjcxMmM0ODBjOGI1ZGVjYjU4Mzg3Mjg1ZDlkcDQsCisgICAgMHgxLjBwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLjQxOWVjYjcxMmM0ODBjOGI1ZGVjYjU4Mzg3Mjg1ZDlkcDQsCisgICAgLTB4MS4wcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjQxOWVjYjcxMmM0ODBkOGI1ZGVjYjU4Mzg3MWZkZDlkcDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAtMHgxLjQxOWVjYjcxMmM0ODBkOGI1ZGVjYjU4Mzg3MWZkZDlkcDQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLjM2ODdhOWYxYWYyYjE0N2NhMTRlN2E0YTA2ZTgxN2IycDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLjM2ODdhOWYxYWYyYjE0N2NhMTRlN2E0YTA2ZTgxN2IycDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI2CisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjM2ODdhOWYxYWYyYjE0ZmNhMTRlN2E0YTA2ZTkxN2IycDQsCisgICAgMHgxLjBwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLjM2ODdhOWYxYWYyYjE0ZmNhMTRlN2E0YTA2ZTkxN2IycDQsCisgICAgLTB4MS4wcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLjM2ODdhOWYxYWYyYjE1ZmNhMTRlN2E0YTA2ZGYxN2IycDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAtMHgxLjM2ODdhOWYxYWYyYjE1ZmNhMTRlN2E0YTA2ZGYxN2IycDQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLjE1NDI0NTczMzdkNDMxOWM2YjczYzg5ZDg0ZTlhMTcxcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLjE1NDI0NTczMzdkNDMxOWM2YjczYzg5ZDg0ZTlhMTcxcDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgMHgxLjE1NDI0NTczMzdkNDMyMWM2YjczYzg5ZDg0YWJhMTcxcDQsCisgICAgMHgxLjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAtMHgxLjE1NDI0NTczMzdkNDMyMWM2YjczYzg5ZDg0YWJhMTcxcDQsCisgICAgLTB4MS4wcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjE1NDI0NTczMzdkNDMzMWM2YjczYzg5ZDg0MjNhMTcxcDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAtMHgxLjE1NDI0NTczMzdkNDMzMWM2YjczYzg5ZDg0MjNhMTcxcDQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLjBjMWY4YTZlODBlZWFlNWM5Njg5NGYyYmZmYjUzNWFmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuMGMxZjhhNmU4MGVlYWU1Yzk2ODk0ZjJiZmZiNTM1YWZwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDB4MS4wYzFmOGE2ZTgwZWViMjNlMDM5MjY5ODFlMzQ4ZWIyZXAxLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAtMHgxLjBjMWY4YTZlODBlZWIyM2UwMzkyNjk4MWUzNDhlYjJlcDEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuMGMxZjhhNmU4MGVlYmEwMGRkYTQ5ZTJkYWExOGFlNzFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS4wYzFmOGE2ZTgwZWViYTAwZGRhNDllMmRhYTE4YWU3MXAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjcxOTIxODMxM2QwODZiZDExZWMwMTM4Mzk4MzEwMjg3cDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuNzE5MjE4MzEzZDA4NmJkMTFlYzAxMzgzOTgzMTAyODdwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS43MTkyMTgzMTNkMDg3MmY4ZTgzMTgzN2YwZTk1NDE4OXAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAtMHgxLjcxOTIxODMxM2QwODcyZjhlODMxODM3ZjBlOTU0MTg5cDAsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuNzE5MjE4MzEzZDA4ODE0ODdiMTQ2Mzc1ZmFkNDVkM2ZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS43MTkyMTgzMTNkMDg4MTQ4N2IxNDYzNzVmYWQ0NWQzZnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLmMzNDM2NjE3OWQ0MjYxNzE2MmJmZmQ3ZGJlNDQyZTcxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgLTB4MS5jMzQzNjYxNzlkNDI2MTcxNjJiZmZkN2RiZTQ0MmU3MXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAweDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIC0weDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuYzM0MzY2MTc5ZDQyODM2MjUwNTliYzU3NzBkOTFkNWRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIC0weDEuYzM0MzY2MTc5ZDQyODM2MjUwNTliYzU3NzBkOTFkNWRwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuZWNjMmNhZWM1MTYwOGFmYzRkNWYyNGIyN2MyMGRjOWNwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAtMHgxLmVjYzJjYWVjNTE2MDhhZmM0ZDVmMjRiMjdjMjBkYzljcC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS5lY2MyY2FlYzUxNjA5OTRiZTA0MjA0YTk2OGM3MDIwZHAtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIC0weDEuZWNjMmNhZWM1MTYwOTk0YmUwNDIwNGE5NjhjNzAyMGRwLTIsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLmVjYzJjYWVjNTE2MGI1ZWIwNjA3YzQ5NzQxY2U5YmM2cC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS5lY2MyY2FlYzUxNjBiNWViMDYwN2M0OTc0MWNlOWJjNnAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuZmFjZmIyMzk5ZTYzNWYwN2IyZWNmNDhkYjI4ZjZiODJwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLmZhY2ZiMjM5OWU2MzVmMDdiMmVjZjQ4ZGIyOGY2YjgycC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS5mYWNmYjIzOTllNjM2ZThkNjcxMTVkZTU0MGE3NzhhY3AtMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIC0weDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgLTB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLmZhY2ZiMjM5OWU2MzhkOThjZjVhMzA5NDVjYzFhOTEwcC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgLTB4MS5mYWNmYjIzOTllNjM4ZDk4Y2Y1YTMwOTQ1Y2MxYTkxMHAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuZmVhZDBiNjk5Njk3MWQyNWE2YzllZTM4M2ZmOWQ5NzFwLTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAtMHgxLmZlYWQwYjY5OTY5NzFkMjVhNmM5ZWUzODNmZjlkOTcxcC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS5mZWFkMGI2OTk2OTcyZDA2MDU4ZTNlYjEyYzkzODE0MHAtNCwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuZmVhZDBiNjk5Njk3MmQwNjA1OGUzZWIxMmM5MzgxNDBwLTQsCisgICAgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLmZlYWQwYjY5OTY5NzRjYzZjMzE2ZGZhMzA1YzBmNDJkcC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgLTB4MS5mZWFkMGI2OTk2OTc0Y2M2YzMxNmRmYTMwNWMwZjQyZHAtNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuZmZhYWQwZmE0NTI2MTc5ZjY5Zjg2MjVkYmZlYjI3MGZwLTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLmZmYWFkMGZhNDUyNjE3OWY2OWY4NjI1ZGJmZWIyNzBmcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS5mZmFhZDBmYTQ1MjYyNzk3NmZmMzY2YjlkMzg0MGZkMXAtNSwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuZmZhYWQwZmE0NTI2Mjc5NzZmZjM2NmI5ZDM4NDBmZDFwLTUsCisgICAgLTB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLmZmYWFkMGZhNDUyNjQ3ODc3YmU5NmY3MWZhYjQ2MzkycC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgLTB4MS5mZmFhZDBmYTQ1MjY0Nzg3N2JlOTZmNzFmYWI0NjM5MnAtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuZmZlYWFkMTBiNWIyZDU5M2ZkNGQ3ZmQzOThhMDRlMTdwLTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLmZmZWFhZDEwYjViMmQ1OTNmZDRkN2ZkMzk4YTA0ZTE3cC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5mZmVhYWQxMGI1YjJlNTkxZmRhZDZiZDdmN2E0OTdjM3AtNiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuZmZlYWFkMTBiNWIyZTU5MWZkYWQ2YmQ3ZjdhNDk3YzNwLTYsCisgICAgLTB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLmZmZWFhZDEwYjViMzA1OGRmZTZkNDNlMGI1YWNjYjQxcC02LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS5mZmVhYWQxMGI1YjMwNThkZmU2ZDQzZTBiNWFjY2I0MXAtNiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuZmZmYWFhZDEwZmEzNTljM2E0ZmFkNGJiYTMzMmFmNTRwLTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAtMHgxLmZmZmFhYWQxMGZhMzU5YzNhNGZhZDRiYmEzMzJhZjU0cC03LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS5mZmZhYWFkMTBmYTM2OWMzMjUwMGQ0NmJhNzkyNzQ1OHAtNywKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIC0weDEuZmZmYWFhZDEwZmEzNjljMzI1MDBkNDZiYTc5Mjc0NThwLTcsCisgICAgLTB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLmZmZmFhYWQxMGZhMzg5YzIyNTBjZDNjYmIwNTFlNjYwcC03LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS5mZmZhYWFkMTBmYTM4OWMyMjUwY2QzY2JiMDUxZTY2MHAtNywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuZmZmZmZmZmFhYWFhOWFkMTExMTE4ZmEzNWEyZmIyZThwLTE1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIC0weDEuZmZmZmZmZmFhYWFhOWFkMTExMTE4ZmEzNWEyZmIyZThwLTE1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuZmZmZmZmZmFhYWFhYWFkMTExMTEwZmEzNWEzNWIyZThwLTE1LAorICAgIDB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIC0weDEuZmZmZmZmZmFhYWFhYWFkMTExMTEwZmEzNWEzNWIyZThwLTE1LAorICAgIC0weDEuMHAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuZmZmZmZmZmFhYWFhY2FkMTExMTAwZmEzNWE0MWIyZThwLTE1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIC0weDEuZmZmZmZmZmFhYWFhY2FkMTExMTAwZmEzNWE0MWIyZThwLTE1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZWVhYWFhYWFhYWFhYWFjZDExMTFwLTI4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZWVhYWFhYWFhYWFhYWFjZDExMTFwLTI4LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmVhYWFhYWFhYWFhYWFhZDExMTFwLTI4LAorICAgIDB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmVhYWFhYWFhYWFhYWFhZDExMTFwLTI4LAorICAgIC0weDEuMHAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuMDAwMDAwMDAwMDAwMGY1NTU1NTU1NTU1NTUzNjg4ODhwLTI3LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNworICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIC0weDEuMDAwMDAwMDAwMDAwMGY1NTU1NTU1NTU1NTUzNjg4ODhwLTI3LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZhYWFhYWFhYWFhYWFiMmQxMTFwLTI5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZhYWFhYWFhYWFhYWFiMmQxMTFwLTI5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWQxMTFwLTI5LAorICAgIDB4MS4wcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWQxMTFwLTI5LAorICAgIC0weDEuMHAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZkNTU1NTU1NTU1NTU0ZDY4ODhwLTI4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZkNTU1NTU1NTU1NTU0ZDY4ODhwLTI4LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmYWFhYWFhYWFhYWFhYjJhZDFwLTMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmYWFhYWFhYWFhYWFhYjJhZDFwLTMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYWFhZDFwLTMxLAorICAgIDB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYWFhZDFwLTMxLAorICAgIC0weDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZDU1NTU1NTU1NTU1NGQ1NjhwLTMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZDU1NTU1NTU1NTU1NGQ1NjhwLTMwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZGIxMDY5YWM1OTA5ZDNlN2Q2ZDlwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgLTB4MS42MzNjZThmYjlmODdkYjEwNjlhYzU5MDlkM2U3ZDZkOXA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLjYzM2NlOGZiOWY4N2RiMGM2OWFjNTkwOWQzZTdhNmQ5cDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIC0weDEuNjMzY2U4ZmI5Zjg3ZGIwYzY5YWM1OTA5ZDNlN2E2ZDlwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS5kY2JmNjlmMTAwMDZjYmU5YzExY2E5YTVkNzZhYjBjMXAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAtMHgxLmRjYmY2OWYxMDAwNmNiZTljMTFjYTlhNWQ3NmFiMGMxcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuM2JjMDRlODQ3ZWMwNTE0NzMxZGRjYjQ3NmQ0MDdkMzlwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgLTB4MS4zYmMwNGU4NDdlYzA1MTQ3MzFkZGNiNDc2ZDQwN2QzOXAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLmMzNDM2NjE3OWQ0MjgzNjI1MDU5YmM1NzcwZDkxZDVkcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAtMHgxLmMzNDM2NjE3OWQ0MjgzNjI1MDU5YmM1NzcwZDkxZDVkcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLmMzNDM2NjE3OWQ0MjZjYzFiMWYzM2QxYmE0YTMxNGE3cC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAtMHgxLmMzNDM2NjE3OWQ0MjZjYzFiMWYzM2QxYmE0YTMxNGE3cC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLmMzNDM2NjE3OWQ0MjYxNzE2MmJmZmQ3ZGJlNDQyZTcxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgLTB4MS5jMzQzNjYxNzlkNDI2MTcxNjJiZmZkN2RiZTQ0MmU3MXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuNzE0NDc3OWUzZjBiYTdhNmJmNzdhZTkyMjkzM2EyOTdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTEKKyAgICAtMHgxLjcxNDQ3NzllM2YwYmE3YTZiZjc3YWU5MjI5MzNhMjk3cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDc0LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hc2luaGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2FzaW5oZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA5YjJmMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9hc2luaGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTY1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19hc2luaGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjBmMWZlYWZmZmUzZDExNTQ3NjVkZTk5NDI0NDZhYmRmcC0yLAorICAgIC0weDEuMTI0ZGI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4wZjFmZWFmZmZlM2QxMTU0NzY1ZGU5OTQyNDQ2YWJkZnAtMiwKKyAgICAweDEuMTI0ZGI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuMjUwYWJiMDAwMzRlN2ZmMTI5YmQzNTE4N2U1YTkwYThwLTExLAorICAgIC0weDEuMjUwYWJjcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuMjUwYWJiMDAwMzRlN2ZmMTI5YmQzNTE4N2U1YTkwYThwLTExLAorICAgIDB4MS4yNTBhYmNwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuNTQ0ZTcwZmZmZmUxNGNjYmFkYWI5N2I2NTU4MGYwZjdwLTUsCisgICAgLTB4MS41NDY3ODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjU0NGU3MGZmZmZlMTRjY2JhZGFiOTdiNjU1ODBmMGY3cC01LAorICAgIDB4MS41NDY3ODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS5lNDcxM2QwYWJmNTUyYmRiYzE2N2UyNDIyYzMzYzljYnAxLAorICAgIC0weDEuNjBwNAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZTQ3MTNkMGFiZjU1MmJkYmMxNjdlMjQyMmMzM2M5Y2JwMSwKKyAgICAweDEuNjBwNAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLjVmZTlhMDAxNjhmNGI2Y2MxYTc2ZjI3YmI2YWNkODhicC00LAorICAgIC0weDEuNjA1ODgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS41ZmU5YTAwMTY4ZjRiNmNjMWE3NmYyN2JiNmFjZDg4YnAtNCwKKyAgICAweDEuNjA1ODgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLmRhZGU1NDZmYWNkNWRjMDY3MjFjM2E3NmYyZmE2YTRjcDAsCisgICAgLTB4MS44ZjA5NmVwMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmRhZGU1NDZmYWNkNWRjMDY3MjFjM2E3NmYyZmE2YTRjcDAsCisgICAgMHgxLjhmMDk2ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmQ0OTgyYjBjOTMwZGFkMWI0ODI5M2VmMzFkNjkzY2VjcC02LAorICAgIC0weDEuZDRhODg2cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuZDQ5ODJiMGM5MzBkYWQxYjQ4MjkzZWYzMWQ2OTNjZWNwLTYsCisgICAgMHgxLmQ0YTg4NnAtNgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5kOWVjYmNmZmY4YmUxMjljYzNjZjdiZjIxNmRhNWY0NnAtNCwKKyAgICAtMHgxLmRhZmJhMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmQ5ZWNiY2ZmZjhiZTEyOWNjM2NmN2JmMjE2ZGE1ZjQ2cC00LAorICAgIDB4MS5kYWZiYTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEuZjk1YWUzMDY5ZWU2ZWE0NjEwNjA2MDYxNWIwNGQxYjlwLTMsCisgICAgLTB4MS5mZTdmYzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5mOTVhZTMwNjllZTZlYTQ2MTA2MDYwNjE1YjA0ZDFiOXAtMywKKyAgICAweDEuZmU3ZmMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuZmZlYWFkMTBiNWIyZTU5MWZkYWQ2YmQ3ZjdhNDk3YzNwLTYsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgLTB4MS5mZmVhYWQxMGI1YjJlNTkxZmRhZDZiZDdmN2E0OTdjM3AtNiwKKyAgICAtMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDQsCisgICAgMHgxLnAtMTQzCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDQsCisgICAgLTB4MS5wLTE0MworICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmZmZWFiMTEwMzVjYWRmOTM3NTRmZDkxNzFhOTk2Yzk4cC02LAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEuZmZlYWIxMTAzNWNhZGY5Mzc1NGZkOTE3MWE5OTZjOThwLTYsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmY1NTU1NTE1NTU1NHAtNDEsCisgICAgMHgxLjAwMDAwMnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmNTU1NTUxNTU1NTRwLTQxLAorICAgIC0weDEuMDAwMDAycC00MQorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjc5MTI3MzBlOWRkOGMyOGQwZTJlODg0OTczMGYwMzQ1cDQsCisgICAgMHgxLjAwMDAwMnAzMworICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS43OTEyNzMwZTlkZDhjMjhkMGUyZTg4NDk3MzBmMDM0NXA0LAorICAgIC0weDEuMDAwMDAycDMzCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmVhZDNiMGFiMmRiNTM2NzVlNzhmYTJkNDEwNDdkNGFwLTQsCisgICAgMHgxLjAwMDAxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5mZWFkM2IwYWIyZGI1MzY3NWU3OGZhMmQ0MTA0N2Q0YXAtNCwKKyAgICAtMHgxLjAwMDAxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmZlYWQ0MmZhZTIzYTRlYzNlYzc0ZTc1ZDdlNmE4ZTAxcC00LAorICAgIDB4MS4wMDAwMWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuZmVhZDQyZmFlMjNhNGVjM2VjNzRlNzVkN2U2YThlMDFwLTQsCisgICAgLTB4MS4wMDAwMWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS42ODZmYzMwZjYxZDMyZjM2Y2ViZDM1NTY2NDdlNmQ4NXA1LAorICAgIDB4MS4wMDAwNGNwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuNjg2ZmMzMGY2MWQzMmYzNmNlYmQzNTU2NjQ3ZTZkODVwNSwKKyAgICAtMHgxLjAwMDA0Y3A2NAorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjBjMWZiOGZmOTUyNDM2NmI0NzcwZTY3OWYzZDJiZTA5cDEsCisgICAgMHgxLjAwMDA2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLjBjMWZiOGZmOTUyNDM2NmI0NzcwZTY3OWYzZDJiZTA5cDEsCisgICAgLTB4MS4wMDAwNjBwMgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmVjYzQzZjAxMWUzMDA4NjcwNDQzYjRmYWQwNjVmNDkycC0yLAorICAgIDB4MS4wMDAwZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuZWNjNDNmMDExZTMwMDg2NzA0NDNiNGZhZDA2NWY0OTJwLTIsCisgICAgLTB4MS4wMDAwZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5mZWFmYmUwOWE5YmExNjJjOWQ3MmUxZDZiZjc1NjRhM3AtNCwKKyAgICAweDEuMDAwMTVjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmZlYWZiZTA5YTliYTE2MmM5ZDcyZTFkNmJmNzU2NGEzcC00LAorICAgIC0weDEuMDAwMTVjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuYzM0NTg1MjVhYjM4ZmJhYmU3NmZjNzY3Y2Y3YTU3MzBwLTEsCisgICAgMHgxLjAwMDE4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmMzNDU4NTI1YWIzOGZiYWJlNzZmYzc2N2NmN2E1NzMwcC0xLAorICAgIC0weDEuMDAwMTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5mYWQyZTUwNjU1MzE0ZmM0YjJjOGYyN2IwZmM2NzRkZHAtMywKKyAgICAweDEuMDAwMWE2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmZhZDJlNTA2NTUzMTRmYzRiMmM4ZjI3YjBmYzY3NGRkcC0zLAorICAgIC0weDEuMDAwMWE2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmOGQ3NGI3ZTIwNGY4MTgyNzIxNjkwMGVkODU0M2ZwLTYsCisgICAgMHgxLjAwMDcxNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5mZmY4ZDc0YjdlMjA0ZjgxODI3MjE2OTAwZWQ4NTQzZnAtNiwKKyAgICAtMHgxLjAwMDcxNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZmYmFjOTAwMDA4OTY0ODU5NzEzOTM4NGRhNjI3ZDM2cC01LAorICAgIDB4MS4wMDA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmZmYmFjOTAwMDA4OTY0ODU5NzEzOTM4NGRhNjI3ZDM2cC01LAorICAgIC0weDEuMDAwOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLmZmZmIxMzA0MDc0MWUzNDY3Y2M2M2I5MWQ5YjlkOGM3cC02LAorICAgIDB4MS4wMDA4MzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuZmZmYjEzMDQwNzQxZTM0NjdjYzYzYjkxZDliOWQ4YzdwLTYsCisgICAgLTB4MS4wMDA4MzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5mZWM4ZDQwYzcwMWM3NDZjZjliZGNjMDY2Y2MwYzViYnAtNCwKKyAgICAweDEuMDAwZXAtMworICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5mZWM4ZDQwYzcwMWM3NDZjZjliZGNjMDY2Y2MwYzViYnAtNCwKKyAgICAtMHgxLjAwMGVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4wYzNhYjE5ZTQ1ZWIyOWQ3YWMzY2I2OTBiMDdmMmM3NnAxLAorICAgIDB4MS4wMDM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuMGMzYWIxOWU0NWViMjlkN2FjM2NiNjkwYjA3ZjJjNzZwMSwKKyAgICAtMHgxLjAwMzhwMgorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLmMzYjVhMzdmOTEwYmZiZjhiYThmZmM4NjE3NTVmMzg3cC0xLAorICAgIDB4MS4wMDUwY2VwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5jM2I1YTM3ZjkxMGJmYmY4YmE4ZmZjODYxNzU1ZjM4N3AtMSwKKyAgICAtMHgxLjAwNTBjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmY5YjMwMWIyMmE2NzNjMzQ1MTVlNmZiODU4MTBmNjBwLTQsCisgICAgMHgxLjAwNzhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuZmY5YjMwMWIyMmE2NzNjMzQ1MTVlNmZiODU4MTBmNjBwLTQsCisgICAgLTB4MS4wMDc4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuYzRiYzRjZmVhYjAxZDU1MzIxN2Q3NzVkYWZiZTFlNTRwLTEsCisgICAgMHgxLjAxMGFjOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLmM0YmM0Y2ZlYWIwMWQ1NTMyMTdkNzc1ZGFmYmUxZTU0cC0xLAorICAgIC0weDEuMDEwYWM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5mZTViOGVmODVmZmM3ZWUwNWE0ZjNmOTZiNmU2MDU1NHAtMywKKyAgICAweDEuMDFkNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5mZTViOGVmODVmZmM3ZWUwNWE0ZjNmOTZiNmU2MDU1NHAtMywKKyAgICAtMHgxLjAxZDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS43OTUyMzM0MzdiZGExMGExN2M5ODE5Y2IxM2QyODhlM3AzLAorICAgIDB4MS4wMnAxNgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS43OTUyMzM0MzdiZGExMGExN2M5ODE5Y2IxM2QyODhlM3AzLAorICAgIC0weDEuMDJwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS43OTUyMzUwMDAyYzAxYmZlMGFmN2Q3NDU3ZGJmMjBkYXAzLAorICAgIDB4MS4wMjAwMGVwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuNzk1MjM1MDAwMmMwMWJmZTBhZjdkNzQ1N2RiZjIwZGFwMywKKyAgICAtMHgxLjAyMDAwZXAxNgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmYxYWJhZDAwMTBiYzkyZmIzYzkyNmViNWRlZDYxNDMxcC0yLAorICAgIDB4MS4wMmJmNjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuZjFhYmFkMDAxMGJjOTJmYjNjOTI2ZWI1ZGVkNjE0MzFwLTIsCisgICAgLTB4MS4wMmJmNjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5jYTM1ZTQ1NTRjOTViNGY3M2Y5NjIzNGJlOGRiNWEwY3AtMSwKKyAgICAweDEuMDRlZmE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuY2EzNWU0NTU0Yzk1YjRmNzNmOTYyMzRiZThkYjVhMGNwLTEsCisgICAgLTB4MS4wNGVmYThwMAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmY2MjU1NmZmZmYxNmM2M2Q0YmE2Nzg1NTU0OGU3YTFhcC0yLAorICAgIDB4MS4wNTQxZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuZjYyNTU2ZmZmZjE2YzYzZDRiYTY3ODU1NTQ4ZTdhMWFwLTIsCisgICAgLTB4MS4wNTQxZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5jYzBhZWM4OGQzMmEyY2NmZjczOGZmOGY1ZTExNmRlM3AtMSwKKyAgICAweDEuMDYzZWY0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuY2MwYWVjODhkMzJhMmNjZmY3MzhmZjhmNWUxMTZkZTNwLTEsCisgICAgLTB4MS4wNjNlZjRwMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjA2YWM3YTAxYTJiOTNkZDM0MzExN2Q2MmRhMDBlZmU5cC01LAorICAgIDB4MS4wNmI4cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLjA2YWM3YTAxYTJiOTNkZDM0MzExN2Q2MmRhMDBlZmU5cC01LAorICAgIC0weDEuMDZiOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjc4YTUwZjAxMzgzOGRkNGJhMzAzMTgwZWNiMGFmMzJmcDAsCisgICAgMHgxLjA4MDJwMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS43OGE1MGYwMTM4MzhkZDRiYTMwMzE4MGVjYjBhZjMyZnAwLAorICAgIC0weDEuMDgwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuMTA0ZTAxYWYzMzk2NTM0YTU5NGJkNzJjMzY1YTNlZWRwMSwKKyAgICAweDEuMDhjMjMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuMTA0ZTAxYWYzMzk2NTM0YTU5NGJkNzJjMzY1YTNlZWRwMSwKKyAgICAtMHgxLjA4YzIzMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZDA1MTdmMDAwMWE3ZDlhMWU2ZjQ0YzZiYWIxNDY5ZWVwLTEsCisgICAgMHgxLjA5NTBjOHAwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLmQwNTE3ZjAwMDFhN2Q5YTFlNmY0NGM2YmFiMTQ2OWVlcC0xLAorICAgIC0weDEuMDk1MGM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5mZTBhMDMwZmI0NmQ0NWZiMWMwMmIzMjcyYmNkMTkxNHAtMiwKKyAgICAweDEuMDliMjFhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmZlMGEwMzBmYjQ2ZDQ1ZmIxYzAyYjMyNzJiY2QxOTE0cC0yLAorICAgIC0weDEuMDliMjFhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZmVhNmJjNDc0MzM2NmFlYmE4NjgzMzZmZmFjM2FjYmRwLTIsCisgICAgMHgxLjBhMGE2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZWE2YmM0NzQzMzY2YWViYTg2ODMzNmZmYWMzYWNiZHAtMiwKKyAgICAtMHgxLjBhMGE2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmQ4MjJmMzAwMDE5NjEyYjBlYTExNDMwMGIyMGI2ZDlkcC0xLAorICAgIDB4MS4wZWY5ZmFwMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS5kODIyZjMwMDAxOTYxMmIwZWExMTQzMDBiMjBiNmQ5ZHAtMSwKKyAgICAtMHgxLjBlZjlmYXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZDk4YTc4OTZlMTYyNDE1ZjkxNjVlNDFhZjVlODg5Y2JwLTEsCisgICAgMHgxLjEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuZDk4YTc4OTZlMTYyNDE1ZjkxNjVlNDFhZjVlODg5Y2JwLTEsCisgICAgLTB4MS4xMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuMTAzNGIyMDAwYTZkN2MxNDAwZmQxODRiZGFjNzMyZmZwLTQsCisgICAgMHgxLjEwNjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuMTAzNGIyMDAwYTZkN2MxNDAwZmQxODRiZGFjNzMyZmZwLTQsCisgICAgLTB4MS4xMDY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZGU1YzcwZmZmZWE3Y2RjNzY5OGMwMGNhN2I1N2Y5MTRwLTEsCisgICAgMHgxLjEzODc1NHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLmRlNWM3MGZmZmVhN2NkYzc2OThjMDBjYTdiNTdmOTE0cC0xLAorICAgIC0weDEuMTM4NzU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4xNmE3YjBmY2U4MTVkMTdhNThkOTQwNjA1Yzg1ZjljZnAtMywKKyAgICAweDEuMTc4NHAtMworICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS4xNmE3YjBmY2U4MTVkMTdhNThkOTQwNjA1Yzg1ZjljZnAtMywKKyAgICAtMHgxLjE3ODRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5lNDZiZjYwODYzMGYxN2YzMTgzYTdkMWRiNTUyOTE0NHAtMSwKKyAgICAweDEuMThwMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS5lNDZiZjYwODYzMGYxN2YzMTgzYTdkMWRiNTUyOTE0NHAtMSwKKyAgICAtMHgxLjE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuYjZjOTMxYzAyNTIzOGViY2Y5OGVmMTJlYjI4ZDgzMDdwNSwKKyAgICAweDEuMThwNzgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmI2YzkzMWMwMjUyMzhlYmNmOThlZjEyZWIyOGQ4MzA3cDUsCisgICAgLTB4MS4xOHA3OAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS43YmY0OGQwMDA2ODk2YmFkNmI3ZTVlNjlhZmJkYzcwYnAzLAorICAgIDB4MS4xODIzcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS43YmY0OGQwMDA2ODk2YmFkNmI3ZTVlNjlhZmJkYzcwYnAzLAorICAgIC0weDEuMTgyM3AxNgorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5lNjgxNjgyZTMyMzA3Nzk1ODJhNTcyODRjZGYxMDU1MnAtMSwKKyAgICAweDEuMTk4YmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLmU2ODE2ODJlMzIzMDc3OTU4MmE1NzI4NGNkZjEwNTUycC0xLAorICAgIC0weDEuMTk4YmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuZTdmZjQ3ZWYxYmU0OTlkYmRiMmQ0YzJkYWI3MTQ0ZDJwLTEsCisgICAgMHgxLjFhYThwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuZTdmZjQ3ZWYxYmU0OTlkYmRiMmQ0YzJkYWI3MTQ0ZDJwLTEsCisgICAgLTB4MS4xYWE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMTlmZmE4ZmZmY2FhNWE3MDgzNmZlNTg2OWQ2ZjNlNjRwLTMsCisgICAgMHgxLjFhZTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjE5ZmZhOGZmZmNhYTVhNzA4MzZmZTU4NjlkNmYzZTY0cC0zLAorICAgIC0weDEuMWFlNHAtMworICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5lOGQ0NWYzOGEyMmJjNjQ3MjNjNDQxNzQyMjdiNjA1NXAtMSwKKyAgICAweDEuMWI0NmQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLmU4ZDQ1ZjM4YTIyYmM2NDcyM2M0NDE3NDIyN2I2MDU1cC0xLAorICAgIC0weDEuMWI0NmQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZThkYjUzZmUwMWNiMmYxOTQxYjFlMDI2NTY4MjhiNzFwLTEsCisgICAgMHgxLjFiNGNwMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuZThkYjUzZmUwMWNiMmYxOTQxYjFlMDI2NTY4MjhiNzFwLTEsCisgICAgLTB4MS4xYjRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuZTkzZDFmZmZmZmM5MTZjYWM1ZGY2Njg1Y2NmYjlhOTVwLTEsCisgICAgMHgxLjFiOTRmNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS5lOTNkMWZmZmZmYzkxNmNhYzVkZjY2ODVjY2ZiOWE5NXAtMSwKKyAgICAtMHgxLjFiOTRmNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLmU5Y2M4NzMyMWQxZWQzZWM4MTMwZTkxMjg1ODUyMTRjcC0xLAorICAgIDB4MS4xY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS5lOWNjODczMjFkMWVkM2VjODEzMGU5MTI4NTg1MjE0Y3AtMSwKKyAgICAtMHgxLjFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMTg3NjBiMDAwNDVlYjMxM2NmMjY1MDU5Mzg4N2UyYmVwNiwKKyAgICAweDEuMWQwNzQwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuMTg3NjBiMDAwNDVlYjMxM2NmMjY1MDU5Mzg4N2UyYmVwNiwKKyAgICAtMHgxLjFkMDc0MHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuZWQ5OGIxZjY0YTgwODc5M2FlMDg4YTEzZDQzZGE5YzJwLTEsCisgICAgMHgxLjFlZDhwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuZWQ5OGIxZjY0YTgwODc5M2FlMDg4YTEzZDQzZGE5YzJwLTEsCisgICAgLTB4MS4xZWQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMjRmNTMzNzg2OTBmYzdhYjhhYWZiZWI2MmIxYzNiYWRwLTUsCisgICAgMHgxLjI1MDUzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuMjRmNTMzNzg2OTBmYzdhYjhhYWZiZWI2MmIxYzNiYWRwLTUsCisgICAgLTB4MS4yNTA1MzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuNGE1YjE1NzY1OGJiNTFmZTJjZDE3MGM4OTdmZjkyMjdwLTUsCisgICAgMHgxLjRhNzIwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuNGE1YjE1NzY1OGJiNTFmZTJjZDE3MGM4OTdmZjkyMjdwLTUsCisgICAgLTB4MS40YTcyMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuYjczNmU4MDAwMTgxMzZiYzQ2Njc4ZDI5NmNkMDI5YmRwMCwKKyAgICAweDEuNTg1YzIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLmI3MzZlODAwMDE4MTM2YmM0NjY3OGQyOTZjZDAyOWJkcDAsCisgICAgLTB4MS41ODVjMjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS4yMjBiMzVmZmZlYTQ1Y2EzYTcwOTFkMGQxZGQwMzI4ZHAwLAorICAgIDB4MS42NDMzZjRwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuMjIwYjM1ZmZmZWE0NWNhM2E3MDkxZDBkMWRkMDMyOGRwMCwKKyAgICAtMHgxLjY0MzNmNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjZiODhlMTBiMzE3YzljMmQ1NDA3OTY2N2MyMTJmZDE2cC02LAorICAgIDB4MS42YjkwODRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLjZiODhlMTBiMzE3YzljMmQ1NDA3OTY2N2MyMTJmZDE2cC02LAorICAgIC0weDEuNmI5MDg0cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLmM1NzAyNDAwMDAxMjljMzMwNGFhMGI5OTE1MDk3YjkzcDAsCisgICAgMHgxLjZkNTA1ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5jNTcwMjQwMDAwMTI5YzMzMDRhYTBiOTkxNTA5N2I5M3AwLAorICAgIC0weDEuNmQ1MDVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuNzFmM2RlMDIzMzEyMzliODUxZjg5NmM4YzI1MWIzNmZwLTQsCisgICAgMHgxLjcyNzRiMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuNzFmM2RlMDIzMzEyMzliODUxZjg5NmM4YzI1MWIzNmZwLTQsCisgICAgLTB4MS43Mjc0YjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuN2ZmZmZmMDAwMDAxY2NjY2M4ODNhODQ2MmU1MmMyZDFwLTEwLAorICAgIDB4MS44MDAwMDhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS43ZmZmZmYwMDAwMDFjY2NjYzg4M2E4NDYyZTUyYzJkMXAtMTAsCisgICAgLTB4MS44MDAwMDhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmQyYzM2NWEyMzY3ZTBhMGYzNDJhOTQ0YjhmZTkxMmFkcDAsCisgICAgMHgxLjgxZjc3OHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5kMmMzNjVhMjM2N2UwYTBmMzQyYTk0NGI4ZmU5MTJhZHAwLAorICAgIC0weDEuODFmNzc4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuNzA0MmY5MDAwMzQzYjg1ZDAwODBhZjU4ZTZjZTJhNWJwMywKKyAgICAweDEuODRjNjFlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS43MDQyZjkwMDAzNDNiODVkMDA4MGFmNThlNmNlMmE1YnAzLAorICAgIC0weDEuODRjNjFlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmNhMzI4YjBiMDczMjM3OGQ3MWIyZWQ4Zjk0OTI2YjVjcDUsCisgICAgMHgxLjhjMjVlNHA4MQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuY2EzMjhiMGIwNzMyMzc4ZDcxYjJlZDhmOTQ5MjZiNWNwNSwKKyAgICAtMHgxLjhjMjVlNHA4MQorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS42YzAyODcwZjQzZjQxMmYyZmFjZGE5YzcxYWY2NGQ5YXA1LAorICAgIDB4MS45MDI2ZjRwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjZjMDI4NzBmNDNmNDEyZjJmYWNkYTljNzFhZjY0ZDlhcDUsCisgICAgLTB4MS45MDI2ZjRwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuZGMyOWEyMWQ5NzhjNDlkNWVmNDBlMjQzZGE5M2U1NDdwMCwKKyAgICAweDEuOTEyOTEycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmRjMjlhMjFkOTc4YzQ5ZDVlZjQwZTI0M2RhOTNlNTQ3cDAsCisgICAgLTB4MS45MTI5MTJwMQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5lODdkYTljZTE3MTc2ZDk1MDhkZDE0YzQ3MGM4M2I5OHAwLAorICAgIDB4MS5hNWU5NzBwMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZTg3ZGE5Y2UxNzE3NmQ5NTA4ZGQxNGM0NzBjODNiOThwMCwKKyAgICAtMHgxLmE1ZTk3MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjUyNzI4YzAwZTUyZWYwN2Q2ZTBhMTc4NDhkMzI2ZWUycDEsCisgICAgMHgxLmJmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS41MjcyOGMwMGU1MmVmMDdkNmUwYTE3ODQ4ZDMyNmVlMnAxLAorICAgIC0weDEuYmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuNTUxMmIyZmZmZmZmZGM5NjYzYTM4YjcyYjZkY2RmNmZwMCwKKyAgICAweDEuYzM1MjNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLjU1MTJiMmZmZmZmZmRjOTY2M2EzOGI3MmI2ZGNkZjZmcDAsCisgICAgLTB4MS5jMzUyM2VwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5jNTJiN2QwZjI3ZTcwMDYyYjZlZWI2M2ZiZmJjY2I5NnAtNiwKKyAgICAweDEuYzUzYTQ4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5jNTJiN2QwZjI3ZTcwMDYyYjZlZWI2M2ZiZmJjY2I5NnAtNiwKKyAgICAtMHgxLmM1M2E0OHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5hODliMzJmZmY0MGQzMGZjYjQ5ODhjNjU2ZTAzYWY4MnAtMSwKKyAgICAweDEuZGFmYTc0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5hODliMzJmZmY0MGQzMGZjYjQ5ODhjNjU2ZTAzYWY4MnAtMSwKKyAgICAtMHgxLmRhZmE3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS42Mjc0YjJmZmZlNjg5ZDdhYmI2NjdiM2Y4YWI2NmU5NHAwLAorICAgIDB4MS5kZjEzNDRwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuNjI3NGIyZmZmZTY4OWQ3YWJiNjY3YjNmOGFiNjZlOTRwMCwKKyAgICAtMHgxLmRmMTM0NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmU5ZDg5YWZmZjY2Njk5YTNhMGEwMTA3ZWVjNzI5MmI4cC00LAorICAgIDB4MS5lYjAzYmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmU5ZDg5YWZmZjY2Njk5YTNhMGEwMTA3ZWVjNzI5MmI4cC00LAorICAgIC0weDEuZWIwM2JjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLmJhYmE2MjRjZjIwM2MzOGJmYzU4NWFiMTk0NjNlODFicC0xLAorICAgIDB4MS5mM2ZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmJhYmE2MjRjZjIwM2MzOGJmYzU4NWFiMTk0NjNlODFicC0xLAorICAgIC0weDEuZjNmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmJjYzY2ZWFkOWJkYzdiYWUxMGI3MDU3MzljZTYyNzNhcC0xLAorICAgIDB4MS5mNmRkODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmJjYzY2ZWFkOWJkYzdiYWUxMGI3MDU3MzljZTYyNzNhcC0xLAorICAgIC0weDEuZjZkZDgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLmRjYTIxZjAwNjA4YzFkNWRmYThjNmViMWNlMmY3MjVjcDQsCisgICAgMHgxLmY3ZmZmZXA0MQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuZGNhMjFmMDA2MDhjMWQ1ZGZhOGM2ZWIxY2UyZjcyNWNwNCwKKyAgICAtMHgxLmY3ZmZmZXA0MQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS4wYTJmMWQwMDAwMDc0YjlmZTE3MDJiMmUzZjA3OWEzYnAxLAorICAgIDB4MS5mODEwMjRwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuMGEyZjFkMDAwMDA3NGI5ZmUxNzAyYjJlM2YwNzlhM2JwMSwKKyAgICAtMHgxLmY4MTAyNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLmY4YjhjMmQ5NDBiNzZlMWNjYTFlYmY1NGY0MTk1ZDIwcC00LAorICAgIDB4MS5mOWZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmY4YjhjMmQ5NDBiNzZlMWNjYTFlYmY1NGY0MTk1ZDIwcC00LAorICAgIC0weDEuZjlmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmZhNmQwNmZmZjY2OTFlOTU2ZjMyMDdiMGE1Y2E0ZWVhcC00LAorICAgIDB4MS5mYmI3OTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZhNmQwNmZmZjY2OTFlOTU2ZjMyMDdiMGE1Y2E0ZWVhcC00LAorICAgIC0weDEuZmJiNzk2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLmZkMjZhNTEyMDJkODQwNDdmNTBjMThhNGM0MjM1ZDg2cC02LAorICAgIDB4MS5mZDNiYTBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLmZkMjZhNTEyMDJkODQwNDdmNTBjMThhNGM0MjM1ZDg2cC02LAorICAgIC0weDEuZmQzYmEwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmVhZjhhOTAwNTc5MmYwOTdlMDA2ZDA3MGVjNmU3NTM4cC0yLAorICAgIDB4MS5mZGZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmVhZjhhOTAwNTc5MmYwOTdlMDA2ZDA3MGVjNmU3NTM4cC0yLAorICAgIC0weDEuZmRmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmZmMzIyZjEyNjBkNWQ1MTY4Y2E2ZDc2OTc1MjQ2MDEycC03LAorICAgIDB4MS5mZjM3N2VwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMHgxLmZmMzIyZjEyNjBkNWQ1MTY4Y2E2ZDc2OTc1MjQ2MDEycC03LAorICAgIC0weDEuZmYzNzdlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmI2MTAyYWZmYzdmNzQ2MzhjNmQ5Nzk3OTlkYjJiZmFhcDUsCisgICAgMHgxLmZmOWZmZXA3NworICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuYjYxMDJhZmZjN2Y3NDYzOGM2ZDk3OTc5OWRiMmJmYWFwNSwKKyAgICAtMHgxLmZmOWZmZXA3NworICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mZmIyOTkxMTQzN2JiNThjYjE1MWUzMDRiMWZhZDlhOHAtNywKKyAgICAweDEuZmZiN2VjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS5mZmIyOTkxMTQzN2JiNThjYjE1MWUzMDRiMWZhZDlhOHAtNywKKyAgICAtMHgxLmZmYjdlY3AtNworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5mZThkNDhhYzE5M2VhYTE3ZTJiYjhiOTM0Mjc5MWYyZHAtNCwKKyAgICAweDEuZmZkZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5mZThkNDhhYzE5M2VhYTE3ZTJiYjhiOTM0Mjc5MWYyZHAtNCwKKyAgICAtMHgxLmZmZGZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5mZmRmYThiYWQxMDRlMDU1MWYwMmIwNTMwY2ZhZDRmOHAtOSwKKyAgICAweDEuZmZkZmZlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5mZmRmYThiYWQxMDRlMDU1MWYwMmIwNTMwY2ZhZDRmOHAtOSwKKyAgICAtMHgxLmZmZGZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5mZWE0OWEzYWViYmMzNWUxNzIzOGVlYTI5NTQ3Y2FmOHAtNCwKKyAgICAweDEuZmZmNzdlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5mZWE0OWEzYWViYmMzNWUxNzIzOGVlYTI5NTQ3Y2FmOHAtNCwKKyAgICAtMHgxLmZmZjc3ZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mYWNmOTkwMDU5OWU5ZTZhYTBiMDIzODExNDc2ZmVlOHAtMywKKyAgICAweDEuZmZmZmU2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5mYWNmOTkwMDU5OWU5ZTZhYTBiMDIzODExNDc2ZmVlOHAtMywKKyAgICAtMHgxLmZmZmZlNnAtMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5mZmFhYzUwMDQwYTljMDg4MWU1NjBlNDg4OTc5MjA4N3AtNSwKKyAgICAweDEuZmZmZmY0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5mZmFhYzUwMDQwYTljMDg4MWU1NjBlNDg4OTc5MjA4N3AtNSwKKyAgICAtMHgxLmZmZmZmNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5mZmFhYzhmZTQyMjg5NTgxNDg1ZWUxMTA1MDc4MzdmNnAtNSwKKyAgICAweDEuZmZmZmY4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5mZmFhYzhmZTQyMjg5NTgxNDg1ZWUxMTA1MDc4MzdmNnAtNSwKKyAgICAtMHgxLmZmZmZmOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5jOWQ5MjZmZmZmZWM1NzdmNTQ5Yzk1MmFmZjhlYTY3ZXAtMSwKKyAgICAweDEuMDRhZDc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLmM5ZDkyNmZmZmZlYzU3N2Y1NDljOTUyYWZmOGVhNjdlcC0xLAorICAgIC0weDEuMDRhZDc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLmMzNDM2NjE3OWQ0MjZjYzFiMWYzM2QxYmE0YTMxNGE3cC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS45NDkwZmVjM2VmYmU1OTg4NDk3YzE0Nzg1NjVhYTQ0NnAtMSwKKyAgICAtMHgxLmMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLjk0OTBmZWMzZWZiZTU5ODg0OTdjMTQ3ODU2NWFhNDQ2cC0xLAorICAgIDB4MS5jMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgLTB4MS44MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEuODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLjJlMjc1MDJjYmZiMzM0N2Y2YmNiZjg0ZWI5NWNhNGEzcC0xLAorICAgIC0weDEuNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuMmUyNzUwMmNiZmIzMzQ3ZjZiY2JmODRlYjk1Y2E0YTNwLTEsCisgICAgMHgxLjQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTB4MS5lY2MyY2FlYzUxNjA5OTRiZTA0MjA0YTk2OGM3MDIwZHAtMiwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS5lY2MyY2FlYzUxNjA5OTRiZTA0MjA0YTk2OGM3MDIwZHAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS43Nzg2YTc5NzNhNTkyM2I5NmVlZjI2MTBjMjVlODQxYXAtMiwKKyAgICAtMHgxLjgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjc3ODZhNzk3M2E1OTIzYjk2ZWVmMjYxMGMyNWU4NDFhcC0yLAorICAgIDB4MS44MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0weDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuZmVhZDBiNjk5Njk3MmQwNjA1OGUzZWIxMmM5MzgxNDBwLTQsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmVhZDBiNjk5Njk3MmQwNjA1OGUzZWIxMmM5MzgxNDBwLTQsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuZmVhZDBiNjk5Njk3MmQwNjA1OGUzZWIxMmM5MzgxNDBwLTQsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEuZmVhZDBiNjk5Njk3MmQwNjA1OGUzZWIxMmM5MzgxNDBwLTQsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuZmFjZmIyMzk5ZTYzNmU4ZDY3MTE1ZGU1NDBhNzc4YWNwLTMsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuNzc4NmE3OTczYTU5MjNiOTZlZWYyNjEwYzI1ZTg0MWFwLTIsCisgICAgMHgxLjgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS43Nzg2YTc5NzNhNTkyM2I5NmVlZjI2MTBjMjVlODQxYXAtMiwKKyAgICAtMHgxLjgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0yLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0yLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjJlMjc1MDJjYmZiMzM0N2Y2YmNiZjg0ZWI5NWNhNGEzcC0xLAorICAgIDB4MS40MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuMmUyNzUwMmNiZmIzMzQ3ZjZiY2JmODRlYjk1Y2E0YTNwLTEsCisgICAgLTB4MS40MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEuODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIC0weDEuODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuOTQ5MGZlYzNlZmJlNTk4ODQ5N2MxNDc4NTY1YWE0NDZwLTEsCisgICAgMHgxLmMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS45NDkwZmVjM2VmYmU1OTg4NDk3YzE0Nzg1NjVhYTQ0NnAtMSwKKyAgICAtMHgxLmMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmMzNDM2NjE3OWQ0MjZjYzFiMWYzM2QxYmE0YTMxNGE3cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS4xODA4MGRkMzE3MWI2YzAzMWE5YjU3NmJlNjNiNmQ0Y3A2LAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS4xODA4MGRkMzE3MWI2YzAzMWE5YjU3NmJlNjNiNmQ0Y3A2LAorICAgIC0weDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS4xODY5YTZkMjcwNjk5ZTFmYTdjMzA3ZDVmZGJjZTg2NHA2LAorICAgIDB4MS4xOTk5OWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS4xODY5YTZkMjcwNjk5ZTFmYTdjMzA3ZDVmZGJjZTg2NHA2LAorICAgIC0weDEuMTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS4xOGMyYzA1NjUwZWFjOTdjMDE0NzlhMWE3N2NhYTkwOXA2LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS4xOGMyYzA1NjUwZWFjOTdjMDE0NzlhMWE3N2NhYTkwOXA2LAorICAgIC0weDEuMzMzMzM0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS4xOTE0YjcwZTg2NzIxYmJkZTdhMmVlYTZmMDc3ZDU0OHA2LAorICAgIDB4MS40Y2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS4xOTE0YjcwZTg2NzIxYmJkZTdhMmVlYTZmMDc3ZDU0OHA2LAorICAgIC0weDEuNGNjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS4xOTYwOWEwNTNhOTdkNmYzMDQwOTc1MWU2MjgxZGU1OXA2LAorICAgIDB4MS42NjY2NjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS4xOTYwOWEwNTNhOTdkNmYzMDQwOTc1MWU2MjgxZGU1OXA2LAorICAgIC0weDEuNjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS4xOWE3NDAxNzM4NmE0Mjg5NjI3OTFmMDU2ODc5NzJmNnA2LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS4xOWE3NDAxNzM4NmE0Mjg5NjI3OTFmMDU2ODc5NzJmNnA2LAorICAgIC0weDEuODAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS4xOWU5NTY3YWI5OGRkNDVjNjg5OGE1NDJhOTNkNmMxYnA2LAorICAgIDB4MS45OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS4xOWU5NTY3YWI5OGRkNDVjNjg5OGE1NDJhOTNkNmMxYnA2LAorICAgIC0weDEuOTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS4xYTI3NmFkY2QwNDcyZjUyY2RhZTQwNTE5MGYwNTgxNHA2LAorICAgIDB4MS5iMzMzMzZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS4xYTI3NmFkY2QwNDcyZjUyY2RhZTQwNTE5MGYwNTgxNHA2LAorICAgIC0weDEuYjMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS4xYTYxZjI5OThlYWI2NTNlNTVjZGE5Y2YxYjhkOWU1MHA2LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS4xYTYxZjI5OThlYWI2NTNlNTVjZGE5Y2YxYjhkOWU1MHA2LAorICAgIC0weDEuY2NjY2QwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS4xYTk5NGZmZmQzMDA1NTVhMGQ2MzQ4MTYwMWQzNjQyMnA2LAorICAgIDB4MS5lNjY2NmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTB4MS4xYTk5NGZmZmQzMDA1NTVhMGQ2MzQ4MTYwMWQzNjQyMnA2LAorICAgIC0weDEuZTY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4xYWNkZDYzMmY2NjJhOWU5YzljMmU2M2E0NjRiMzkyN3A2LAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS4xYWNkZDYzMmY2NjJhOWU5YzljMmU2M2E0NjRiMzkyN3A2LAorICAgIC0weDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEuNjVhOWY4NGI4MmU2MmYzZTQyZWRhMGE5MTFhMDYzZTNwNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuNjVhOWY4NGI4MmU2MmYzZTQyZWRhMGE5MTFhMDYzZTNwNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS42NWE5Zjg0YjgyZTYyZjNlNDJlZGEwYTkxMWEwNjNlM3A2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS42NWE5Zjg0YjgyZTYyZjNlNDJlZGEwYTkxMWEwNjNlM3A2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLjA0OTllNWQwOGRiZDQ2OWU1YzhlMzk5ZDNmZGFmMmJhcC0xLAorICAgIC0weDEuMTAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjA0OTllNWQwOGRiZDQ2OWU1YzhlMzk5ZDNmZGFmMmJhcC0xLAorICAgIDB4MS4xMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAtMHgxLjA0OTllNDBjNjVmZjQ4ZmIwNDIxM2VhYjMyZmFhMzQ1cC0xLAorICAgIC0weDEuMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMDQ5OWU0MGM2NWZmNDhmYjA0MjEzZWFiMzJmYWEzNDVwLTEsCisgICAgMHgxLjEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTB4MS4wNDk5ZTI0ODNlNDA5MDAxOTk0NzEzMTEwODBhYTNlZnAtMSwKKyAgICAtMHgxLjBmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS4wNDk5ZTI0ODNlNDA5MDAxOTk0NzEzMTEwODBhYTNlZnAtMSwKKyAgICAweDEuMGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjA0OTllMjQ4M2U0MDkwMDE5OTQ3MTMxMTA4MGFhM2VmcC0xLAorICAgIDB4MS4wZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLjA0OTllMjQ4M2U0MDkwMDE5OTQ3MTMxMTA4MGFhM2VmcC0xLAorICAgIC0weDEuMGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjA0OTllNDBjNjVmZjQ4ZmIwNDIxM2VhYjMyZmFhMzQ1cC0xLAorICAgIDB4MS4xMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuMDQ5OWU0MGM2NWZmNDhmYjA0MjEzZWFiMzJmYWEzNDVwLTEsCisgICAgLTB4MS4xMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS4wNDk5ZTVkMDhkYmQ0NjllNWM4ZTM5OWQzZmRhZjJiYXAtMSwKKyAgICAweDEuMTAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgLTB4MS4wNDk5ZTVkMDhkYmQ0NjllNWM4ZTM5OWQzZmRhZjJiYXAtMSwKKyAgICAtMHgxLjEwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS42MmU0MmZlN2EzOWVlZjU3OTNjNGJjODU1YjNiNDJiMnA1LAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAtMHgxLjYyZTQyZmU3YTM5ZWVmNTc5M2M0YmM4NTViM2I0MmIycDUsCisgICAgLTB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwNSwKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXA1LAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjYyZTQyZmZmYTM5ZWUzNTc5M2RjYmM4NTNkM2I0MmU3cDUsCisgICAgMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuNjJlNDJmZmZhMzllZTM1NzkzZGNiYzg1M2QzYjQyZTdwNSwKKyAgICAtMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS40MTllY2I2MTJjNDgwNDhiNWRlNzY4MmUyZGRmMDg0NXA0LAorICAgIDB4MS5mZmZmZmVwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtMHgxLjQxOWVjYjYxMmM0ODA0OGI1ZGU3NjgyZTJkZGYwODQ1cDQsCisgICAgLTB4MS5mZmZmZmVwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuNDE5ZWNiNzEyYzQ4MGM4YjVkZWNiNTgzODcyODVkOWRwNCwKKyAgICAweDEucDI4CisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS40MTllY2I3MTJjNDgwYzhiNWRlY2I1ODM4NzI4NWQ5ZHA0LAorICAgIC0weDEucDI4CisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLjQxOWVjYjkxMmM0N2VjOGI1ZTE3NTAyZGYyMDMwOGFlcDQsCisgICAgMHgxLjAwMDAwMnAyOAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuNDE5ZWNiOTEyYzQ3ZWM4YjVlMTc1MDJkZjIwMzA4YWVwNCwKKyAgICAtMHgxLjAwMDAwMnAyOAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS4zNjg3YTllMWFmMmIwY2ZjYTE0OTQ0ZjRhZGMzYzI1YXA0LAorICAgIDB4MS5mZmZmZmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLjM2ODdhOWUxYWYyYjBjZmNhMTQ5NDRmNGFkYzNjMjVhcDQsCisgICAgLTB4MS5mZmZmZmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuMzY4N2E5ZjFhZjJiMTRmY2ExNGU3YTRhMDZlOTE3YjJwNCwKKyAgICAweDEucDI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS4zNjg3YTlmMWFmMmIxNGZjYTE0ZTdhNGEwNmU5MTdiMnA0LAorICAgIC0weDEucDI3CisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjM2ODdhYTExYWYyYWY0ZmNhMTc4ZTRmNDcyNTNjMmMxcDQsCisgICAgMHgxLjAwMDAwMnAyNworICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuMzY4N2FhMTFhZjJhZjRmY2ExNzhlNGY0NzI1M2MyYzFwNCwKKyAgICAtMHgxLjAwMDAwMnAyNworICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS4xNTQyNDU2MzM3ZDQyYTFjNmI3NjczNDgzNzU2NGMyM3A0LAorICAgIDB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLjE1NDI0NTYzMzdkNDJhMWM2Yjc2NzM0ODM3NTY0YzIzcDQsCisgICAgLTB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuMTU0MjQ1NzMzN2Q0MzIxYzZiNzNjODlkODRhYmExNzFwNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS4xNTQyNDU3MzM3ZDQzMjFjNmI3M2M4OWQ4NGFiYTE3MXA0LAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLjE1NDI0NTkzMzdkNDEyMWM2YjhlNzM0ODFmNTY0YzBlcDQsCisgICAgMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIC0weDEuMTU0MjQ1OTMzN2Q0MTIxYzZiOGU3MzQ4MWY1NjRjMGVwNCwKKyAgICAtMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS4wYzFmODlmMjUzNGQ1NDgzNzNhMjVhMjZmMjg1YzhlNHAxLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEuMGMxZjg5ZjI1MzRkNTQ4MzczYTI1YTI2ZjI4NWM4ZTRwMSwKKyAgICAtMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLjBjMWY4YTZlODBlZWIyM2UwMzkyNjk4MWUzNDhlYjJlcDEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS4wYzFmOGE2ZTgwZWViMjNlMDM5MjY5ODFlMzQ4ZWIyZXAxLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuMGMxZjhiNjZkYzMwMGYxNDMwMjAzZGY3Yjc0NjYwNjNwMSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLjBjMWY4YjY2ZGMzMDBmMTQzMDIwM2RmN2I3NDY2MDYzcDEsCisgICAgLTB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS43MTkyMTc0YzQzZDllOTYyOTlmNzgxMTY4NTJmMDIyNnAwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEuNzE5MjE3NGM0M2Q5ZTk2Mjk5Zjc4MTE2ODUyZjAyMjZwMCwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLjcxOTIxODMxM2QwODcyZjhlODMxODM3ZjBlOTU0MTg5cDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS43MTkyMTgzMTNkMDg3MmY4ZTgzMTgzN2YwZTk1NDE4OXAwLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEuNzE5MjE5ZmIyZjYzNjA5YzRhMDQ2MzRmYjY4ODc4YWVwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLjcxOTIxOWZiMmY2MzYwOWM0YTA0NjM0ZmI2ODg3OGFlcDAsCisgICAgLTB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5jMzQzNjRhZDkzNWJhYTRiN2I4MTIxYmE4ZGY2MmI2Y3AtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTB4MS5jMzQzNjRhZDkzNWJhYTRiN2I4MTIxYmE4ZGY2MmI2Y3AtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5jMzQzNjYxNzlkNDI2Y2MxYjFmMzNkMWJhNGEzMTRhN3AtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMHgxLmMzNDM2NjE3OWQ0MjZjYzFiMWYzM2QxYmE0YTMxNGE3cC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuYzM0MzY4ZWJiMTBkZDI5ZjQ1OTYwOGJjYTQzZjkxYzhwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS5jMzQzNjhlYmIxMGRkMjlmNDU5NjA4YmNhNDNmOTFjOHAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLmVjYzJjOTIyNWYwNDBmODE5MzExZmNjNzBhOTgxMzQ3cC0yLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLmVjYzJjOTIyNWYwNDBmODE5MzExZmNjNzBhOTgxMzQ3cC0yLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0yLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLmVjYzJjYWVjNTE2MDk5NGJlMDQyMDRhOTY4YzcwMjBkcC0yLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLmVjYzJjZTgwMzYxODlhMWJkY2FjYTU5MDM2ODg1MGIycC0yLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAtMHgxLmVjYzJjZTgwMzYxODlhMWJkY2FjYTU5MDM2ODg1MGIycC0yLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLmZhY2ZiMDQ4ZTdkZWQyYzY4MDdiZGEwYjgxMDFiZTVlcC0zLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMHgxLmZhY2ZiMDQ4ZTdkZWQyYzY4MDdiZGEwYjgxMDFiZTVlcC0zLAorICAgIC0weDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLmZhY2ZiMjM5OWU2MzZlOGQ2NzExNWRlNTQwYTc3OGFjcC0zLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAtMHgxLmZhY2ZiMjM5OWU2MzZlOGQ2NzExNWRlNTQwYTc3OGFjcC0zLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLmZhY2ZiNjFiMGI2YzRlNzM3NzFhN2I0NDQ2MDBkODYycC0zLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLmZhY2ZiNjFiMGI2YzRlNzM3NzFhN2I0NDQ2MDBkODYycC0zLAorICAgIC0weDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLmZlYWQwOTZkOGFiZTlmMGU3MjIyYjlhYWI5NTUxMmYxcC00LAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLmZlYWQwOTZkOGFiZTlmMGU3MjIyYjlhYWI5NTUxMmYxcC00LAorICAgIC0weDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLmZlYWQwYjY5OTY5NzJkMDYwNThlM2ViMTJjOTM4MTQwcC00LAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLmZlYWQwYjY5OTY5NzJkMDYwNThlM2ViMTJjOTM4MTQwcC00LAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLmZlYWQwZjYxYWU0ODMxODI2OTQzYzNiODcxYmU0NmE0cC00LAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLmZlYWQwZjYxYWU0ODMxODI2OTQzYzNiODcxYmU0NmE0cC00LAorICAgIC0weDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLmZmYWFjZWZiNDQ2NmM2MGQ2YmEyZDJmYWM4Nzc0ZmRhcC01LAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAtMHgxLmZmYWFjZWZiNDQ2NmM2MGQ2YmEyZDJmYWM4Nzc0ZmRhcC01LAorICAgIC0weDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmZmYWFkMGZhNDUyNjI3OTc2ZmYzNjZiOWQzODQwZmQxcC01LAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLmZmYWFkMGZhNDUyNjI3OTc2ZmYzNjZiOWQzODQwZmQxcC01LAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLmZmYWFkNGY4NDZhNGU0YjQ2ZDVmYTg3MTc0OTkwZDk2cC01LAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLmZmYWFkNGY4NDZhNGU0YjQ2ZDVmYTg3MTc0OTkwZDk2cC01LAorICAgIC0weDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLmZmZWFhYjEwZjVhNmU3ZDE4OWM1N2MwZTY4YmJiMDNhcC02LAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAtMHgxLmZmZWFhYjEwZjVhNmU3ZDE4OWM1N2MwZTY4YmJiMDNhcC02LAorICAgIC0weDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLmZmZWFhZDEwYjViMmU1OTFmZGFkNmJkN2Y3YTQ5N2MzcC02LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAtMHgxLmZmZWFhZDEwYjViMmU1OTFmZGFkNmJkN2Y3YTQ5N2MzcC02LAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLmZmZWFiMTEwMzVjYWRmOTM3NTRmZDkxNzFhOTk2Yzk4cC02LAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLmZmZWFiMTEwMzVjYWRmOTM3NTRmZDkxNzFhOTk2Yzk4cC02LAorICAgIC0weDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLmZmZmFhOGQxMWZhMmE5YmQyNWY0YzNhMTM5NzkxYmEzcC03LAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLmZmZmFhOGQxMWZhMmE5YmQyNWY0YzNhMTM5NzkxYmEzcC03LAorICAgIC0weDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLmZmZmFhYWQxMGZhMzY5YzMyNTAwZDQ2YmE3OTI3NDU4cC03LAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMHgxLmZmZmFhYWQxMGZhMzY5YzMyNTAwZDQ2YmE3OTI3NDU4cC03LAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmZmZmFhZWQwZWZhNGU5NmYyYzE4MjIxNmExYWQyMjE4cC03LAorICAgIDB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLmZmZmFhZWQwZWZhNGU5NmYyYzE4MjIxNmExYWQyMjE4cC03LAorICAgIC0weDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLmZmZmZmZGZhYWFhYWJhZDExMTAwNGZhMzYxMTUwODNjcC0xNSwKKyAgICAweDEuZmZmZmZlcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuZmZmZmZkZmFhYWFhYmFkMTExMDA0ZmEzNjExNTA4M2NwLTE1LAorICAgIC0weDEuZmZmZmZlcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5mZmZmZmZmYWFhYWFhYWQxMTExMTBmYTM1YTM1YjJlOHAtMTUsCisgICAgMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLmZmZmZmZmZhYWFhYWFhZDExMTExMGZhMzVhMzViMmU4cC0xNSwKKyAgICAtMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuMDAwMDAxZmQ1NTU1NDU2ODg4Njk0N2QxOWFiYjg0MjRwLTE0LAorICAgIDB4MS4wMDAwMDJwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgLTB4MS4wMDAwMDFmZDU1NTU0NTY4ODg2OTQ3ZDE5YWJiODQyNHAtMTQsCisgICAgLTB4MS4wMDAwMDJwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmZmZmZmZGZmZmZmZmZlYWFhYWFlYWFhYWE2YWQxMTEycC0yOCwKKyAgICAweDEuZmZmZmZlcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmVhYWFhYWVhYWFhYTZhZDExMTJwLTI4LAorICAgIC0weDEuZmZmZmZlcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFkMTExMXAtMjgsCisgICAgMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWQxMTExcC0yOCwKKyAgICAtMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuMDAwMDAxZmZmZmZmZmY1NTU1NTE1NTU1NGQ1Njg4ODNwLTI3LAorICAgIDB4MS4wMDAwMDJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZjU1NTU1MTU1NTU0ZDU2ODg4M3AtMjcsCisgICAgLTB4MS4wMDAwMDJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmYWFhYWFiYWFhYWE5YWFkMTExcC0yOSwKKyAgICAweDEuZmZmZmZlcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZhYWFhYWJhYWFhYTlhYWQxMTFwLTI5LAorICAgIC0weDEuZmZmZmZlcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhZDExMXAtMjksCisgICAgMHgxLnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYWFkMTExcC0yOSwKKyAgICAtMHgxLnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZkNTU1NTQ1NTU1NTM1NTY4ODdwLTI4LAorICAgIDB4MS4wMDAwMDJwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmQ1NTU1NDU1NTU1MzU1Njg4N3AtMjgsCisgICAgLTB4MS4wMDAwMDJwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmFhYWFhYmFhYWFhOWFhYWQxcC0zMSwKKyAgICAweDEuZmZmZmZlcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmYWFhYWFiYWFhYWE5YWFhZDFwLTMxLAorICAgIC0weDEuZmZmZmZlcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFkMXAtMzEsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWQxcC0zMSwKKyAgICAtMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZDU1NTU0NTU1NTUzNTU1NjhwLTMwLAorICAgIDB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZkNTU1NTQ1NTU1NTM1NTU2OHAtMzAsCisgICAgLTB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS42NWE5Zjg0YjgyZTYyZjNlNDJlZGEwYTkxMWEwNjNlM3A2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgLTB4MS42NWE5Zjg0YjgyZTYyZjNlNDJlZGEwYTkxMWEwNjNlM3A2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS42NWE5Zjg0NzgyZTYyOTNlNDJlNDRiNTNhZDRiMGU3NHA2LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgLTB4MS42NWE5Zjg0NzgyZTYyOTNlNDJlNDRiNTNhZDRiMGU3NHA2LAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS5kY2JmNmE2MmUzNTQ3N2Y5YWU3OWJlNzFlZDk3NjIwYnAwLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0weDEuZGNiZjZhNjJlMzU0NzdmOWFlNzliZTcxZWQ5NzYyMGJwMCwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLjNiYzA0ZWU5NTEwMzJiNGY3NTA5YjNiMmUwZjA3MTVhcDAsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgLTB4MS4zYmMwNGVlOTUxMDMyYjRmNzUwOWIzYjJlMGYwNzE1YXAwLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuYzM0MzY4ZWJiMTBkZDI5ZjQ1OTYwOGJjYTQzZjkxYzhwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgLTB4MS5jMzQzNjhlYmIxMGRkMjlmNDU5NjA4YmNhNDNmOTFjOHAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLmMzNDM2NjE3OWQ0MjZjYzFiMWYzM2QxYmE0YTMxNGE3cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuYzM0MzY2MTc5ZDQyNmNjMWIxZjMzZDFiYTRhMzE0YTdwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS5jMzQzNjRhZDkzNWJhYTRiN2I4MTIxYmE4ZGY2MmI2Y3AtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgLTB4MS5jMzQzNjRhZDkzNWJhYTRiN2I4MTIxYmE4ZGY2MmI2Y3AtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS43MTQ0NzgzMWU0M2NkZTJlZDMwNjUwNDI4YzVhODQxMHAtMSwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgLTB4MS43MTQ0NzgzMWU0M2NkZTJlZDMwNjUwNDI4YzVhODQxMHAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS5mZmZmZjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC0weDEuZmZmZmY3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDksCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ5LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAwLjAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIC0wLjAsCisgICAgLTAuMGYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hdGFuMl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvYXRhbjJfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkOWViNDQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvYXRhbjJfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNTM0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGRvdWJsZSwgZG91YmxlLCBkb3VibGU+IGdfYXRhbjJfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjIwMDAwMDAwMDAwMDYxZmZmZDU1cC02MCwKKyAgICAtMHgxLjBwLTEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwN3AtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLmZmZmZmZmZmZmZmZjIwMDAwMDAwMDAwMDYxZmZmZDU1cC02MCwKKyAgICAweDEuMHAtMTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDA3cC00MQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuY2Q2NDgwMTBlNzYzMTdmZDI1ZjE5N2M4OTg5NGE3NDdwLTEsCisgICAgLTB4MS4wcDEwLAorICAgIDB4MS45NTU1NTU1NTU1NTVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLmNkNjQ4MDEwZTc2MzE3ZmQyNWYxOTdjODk4OTRhNzQ3cC0xLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS45NTU1NTU1NTU1NTVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC05MjQsCisgICAgLTB4MS4wcDEwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC05MjQsCisgICAgMHgxLjBwMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS4wOTQ1Y2E0NzU3NjI2ODAxMTBjODZjODJmNDAwN2JkYXAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMThjZDU4NGU2MTEyYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuMDk0NWNhNDc1NzYyNjgwMTEwYzg2YzgyZjQwMDdiZGFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMThjZDU4NGU2MTEyYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5mOWNhMGUxZGQ5NTQzMjRiOTY3MzJmMGFlOWMxYzhmZnAtMywKKyAgICAtMHgxLjAyMjIyMjIyMjIyMjJwMCwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuZjljYTBlMWRkOTU0MzI0Yjk2NzMyZjBhZTljMWM4ZmZwLTMsCisgICAgMHgxLjAyMjIyMjIyMjIyMjJwMCwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmZmZjk2NTNlNjIwMWY4ODg5MzdjZmMyZDcxNmI0ZDQ0cC0yLAorICAgIC0weDEuMTQxNzFmMDZiZmI4OXAtMiwKKyAgICAweDEuZjk2OTAyZGNjZDI5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZjk2NTNlNjIwMWY4ODg5MzdjZmMyZDcxNmI0ZDQ0cC0yLAorICAgIDB4MS4xNDE3MWYwNmJmYjg5cC0yLAorICAgIDB4MS5mOTY5MDJkY2NkMjlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLmZmNTcyYWRlZDBiZTkzMmZlZWI0NzA3ZGNiNjUzMzZkcDAsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk4cC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmNTcyYWRlZDBiZTkzMmZlZWI0NzA3ZGNiNjUzMzZkcDAsCisgICAgMHgxLjE5OTk5OTk5OTk5OThwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMHgxLmZmNTQyNzU4ZWYwNWI4ZTdkZTBkNzBlMmQzNDFlZDY3cDAsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk5cC0xLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLmZmNTQyNzU4ZWYwNWI4ZTdkZTBkNzBlMmQzNDFlZDY3cDAsCisgICAgMHgxLjE5OTk5OTk5OTk5OTlwLTEsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLjJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDcxLAorICAgIC0weDEuM3AtMTA3MCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzEsCisgICAgMHgxLjNwLTEwNzAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS44NTUzOTcyOWVmMTcyN2ZlZDE1Nzg0YjYwYjkxYjJlY3AtMSwKKyAgICAtMHgxLjNjZjNjZjNjZjNjZjRwOSwKKyAgICAweDEuNGQzNGQzNGQzNGQzNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuODU1Mzk3MjllZjE3MjdmZWQxNTc4NGI2MGI5MWIyZWNwLTEsCisgICAgMHgxLjNjZjNjZjNjZjNjZjRwOSwKKyAgICAweDEuNGQzNGQzNGQzNGQzNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLjQwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwZmZmZDY1cC01OSwKKyAgICAtMHgxLjNmZmZmZmZmZmZmZmVwNDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuNDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDBmZmZkNjVwLTU5LAorICAgIDB4MS4zZmZmZmZmZmZmZmZlcDQyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEuNHAtMTA3MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLjRwLTEwNzIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEuM2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzMsCisgICAgLTB4MS40cC0xMDcyLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS4zZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTA3MywKKyAgICAweDEuNHAtMTA3MiwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLjVmZmU3YzI3YTVjZjM3ZmVmMTU2NjhlZDhiZmRjOTJjcC0xLAorICAgIC0weDEuNjQ3N2M4NGEwMzJjZXAtMSwKKyAgICAweDEuYjIxZjY5YWUwMzBiMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjVmZmU3YzI3YTVjZjM3ZmVmMTU2NjhlZDhiZmRjOTJjcC0xLAorICAgIDB4MS42NDc3Yzg0YTAzMmNlcC0xLAorICAgIDB4MS5iMjFmNjlhZTAzMGIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLjY2NzE5OTA4ZjdjM2I3OTZkODQxODQ5NzdjOTIzODk0cC0xMiwKKyAgICAtMHgxLjY2NjY2NjY2NjViNjRwLTEsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS42NjcxOTkwOGY3YzNiNzk2ZDg0MTg0OTc3YzkyMzg5NHAtMTIsCisgICAgMHgxLjY2NjY2NjY2NjViNjRwLTEsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEuNjY3MTk5ZjMzYWNkMDgwMTAwMTFhODJlOTgzODUwMGRwLTUyLAorICAgIC0weDEuNjY2NjY2NjY2NjY2OHAtMSwKKyAgICAweDEuZmZlZmZmZmZmOTI0ZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjY2NzE5OWYzM2FjZDA4MDEwMDExYTgyZTk4Mzg1MDBkcC01MiwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAtMSwKKyAgICAweDEuZmZlZmZmZmZmOTI0ZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS40OGVmODZhNWQ2NzRlN2ZlNjI2MzQ1Y2FhNmRlYTFhZHAwLAorICAgIC0weDEuNmU1ODkyOTJhNThhOHAzLAorICAgIDB4MS5hZWJkOTU2NDQ5OWYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS40OGVmODZhNWQ2NzRlN2ZlNjI2MzQ1Y2FhNmRlYTFhZHAwLAorICAgIDB4MS42ZTU4OTI5MmE1OGE4cDMsCisgICAgMHgxLmFlYmQ5NTY0NDk5ZjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS42OTQxMjY1MWI2NjM4ODAxMDIwNTdmZmUyYjY5MTZlN3AtMiwKKyAgICAtMHgxLjc5MDZmZTkyNTkzZGNwLTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjY5NDEyNjUxYjY2Mzg4MDEwMjA1N2ZmZTJiNjkxNmU3cC0yLAorICAgIDB4MS43OTA2ZmU5MjU5M2RjcC0yLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIC0weDEuN2ZmZmZmZmZmZmZmOTdmZmI4MDAwMDAwMTM4MDNhODBwLTMzLAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDMzCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuN2ZmZmZmZmZmZmZmOTdmZmI4MDAwMDAwMTM4MDNhODBwLTMzLAorICAgIDB4MS43ZmZmZmZmZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwMzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIC0weDEuN2ZmZmZmZmZlZTAwMjAwMDAxODRjODRjZDBhNWJmYjdwLTE4LAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcDE3CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuN2ZmZmZmZmZlZTAwMjAwMDAxODRjODRjZDBhNWJmYjdwLTE4LAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIC0weDEuMDFiN2VhZDYyNTkxMjgwMTA5OWQ1NWYzYmI2ZDliNzRwMCwKKyAgICAtMHgxLjhlMzhlMzhlMzhlMzlwOSwKKyAgICAweDEuZjdkZjdkZjdkZjdkZXA4CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuMDFiN2VhZDYyNTkxMjgwMTA5OWQ1NWYzYmI2ZDliNzRwMCwKKyAgICAweDEuOGUzOGUzOGUzOGUzOXA5LAorICAgIDB4MS5mN2RmN2RmN2RmN2RlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIC0weDEuMTE5ZTBmNzA4NGQ5NmJjMThiYmYyZTdhMDhjZmU1YWRwMSwKKyAgICAtMHgxLjkyNDkyNDkyNDkyNDZwLTIsCisgICAgLTB4MS4wMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS4xMTllMGY3MDg0ZDk2YmMxOGJiZjJlN2EwOGNmZTVhZHAxLAorICAgIDB4MS45MjQ5MjQ5MjQ5MjQ2cC0yLAorICAgIC0weDEuMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS45OTk5OTk5OTk5OWE4cC00LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuOTk5OTk5OTk5OTlhOHAtNCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS4zNzYyNmMyMzgwM2FlYzdkN2E3MGY3MDA1ODU4NTJmNHAtMSwKKyAgICAtMHgxLmE3NzU2OWRkNWE3NzZwOCwKKyAgICAweDEuMzAxZWNjMDdiMzAxZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuMzc2MjZjMjM4MDNhZWM3ZDdhNzBmNzAwNTg1ODUyZjRwLTEsCisgICAgMHgxLmE3NzU2OWRkNWE3NzZwOCwKKyAgICAweDEuMzAxZWNjMDdiMzAxZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLjBjYTdjYzJkMGQ3ZmQwMzE2NGVlM2FmMjY5ZTZiZjc5cDEsCisgICAgLTB4MS5iNmRiNmRiNmRiNmUwcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjBjYTdjYzJkMGQ3ZmQwMzE2NGVlM2FmMjY5ZTZiZjc5cDEsCisgICAgMHgxLmI2ZGI2ZGI2ZGI2ZTBwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLmEyNzFmNjNlMzRmYjJmZmY0MmI5OGU3YTVhYjE3ZWFmcC0yLAorICAgIC0weDEuYmI2N2FlODU4NGM5NnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuYTI3MWY2M2UzNGZiMmZmZjQyYjk4ZTdhNWFiMTdlYWZwLTIsCisgICAgMHgxLmJiNjdhZTg1ODRjOTZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDhwMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5mMDg0NWRlMzE3ZGFlNzgyYWMzZThhN2ViMWZhZGQ2M3AtMiwKKyAgICAtMHgxLmJlZDYxYmVkNjFiZTRwNywKKyAgICAweDEuYTgxNGFmZDZhMDUzYnA4CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZjA4NDVkZTMxN2RhZTc4MmFjM2U4YTdlYjFmYWRkNjNwLTIsCisgICAgMHgxLmJlZDYxYmVkNjFiZTRwNywKKyAgICAweDEuYTgxNGFmZDZhMDUzYnA4CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLjNhNTFmNWYwY2I1ZDMzZGUwN2FjMjRhMzI2MjE4NzhkcC0xLAorICAgIC0weDEuYzE4ZjljMThmOWMzZXA3LAorICAgIDB4MS4zZWYzNjhlYjA0MzM0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS4zYTUxZjVmMGNiNWQzM2RlMDdhYzI0YTMyNjIxODc4ZHAtMSwKKyAgICAweDEuYzE4ZjljMThmOWMzZXA3LAorICAgIDB4MS4zZWYzNjhlYjA0MzM0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuZmNiNTEwY2Q1YjZiYmI4Y2RlMTNmNDZkYmVlYjMxMTBwLTMsCisgICAgLTB4MS5kMjZhMmJhZDk4ZDY4cC0yLAorICAgIDB4MS5jYmJkNDA3YTdhNWIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS5mY2I1MTBjZDViNmJiYjhjZGUxM2Y0NmRiZWViMzExMHAtMywKKyAgICAweDEuZDI2YTJiYWQ5OGQ2OHAtMiwKKyAgICAweDEuY2JiZDQwN2E3YTViMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLmNkNWRlOTdhMmUzZTE4NTlmYzNlMjUxN2RlN2EwODgwcC0zLAorICAgIC0weDEuZDU1NTU1NTU1NTU1NXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5jZDVkZTk3YTJlM2UxODU5ZmMzZTI1MTdkZTdhMDg4MHAtMywKKyAgICAweDEuZDU1NTU1NTU1NTU1NXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuMzM3ZDE3NWUwODhmYjdmYTMyZmFmY2EzODI3NjhhMTVwLTMsCisgICAgLTB4MS5kYjhhODc0NjQwNTY5cC0zLAorICAgIDB4MS44OGVlZDEwZTc1MTM1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS4zMzdkMTc1ZTA4OGZiN2ZhMzJmYWZjYTM4Mjc2OGExNXAtMywKKyAgICAweDEuZGI4YTg3NDY0MDU2OXAtMywKKyAgICAweDEuODhlZWQxMGU3NTEzNXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLmY5ZDI4ZjNkYTA5Yzg4NjQzOTBjZDkyNGFjNjU4ZDMzcDAsCisgICAgLTB4MS5kZGRkZGRkZGRkZGUwcC0yLAorICAgIC0weDEuOTljZTA3NWY2ZmQyN3AtMworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmY5ZDI4ZjNkYTA5Yzg4NjQzOTBjZDkyNGFjNjU4ZDMzcDAsCisgICAgMHgxLmRkZGRkZGRkZGRkZTBwLTIsCisgICAgLTB4MS45OWNlMDc1ZjZmZDI3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmFlMTI3YjRmYjVhN2U4MWNjMTRjOGQwNjI3ZDE4YzczcC04LAorICAgIC0weDEuZWNjZDdmZGY5NjQ1NHAxMCwKKyAgICAweDEuMjU1NjA4ZTEzNWQ4MHAxOAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmFlMTI3YjRmYjVhN2U4MWNjMTRjOGQwNjI3ZDE4YzczcC04LAorICAgIDB4MS5lY2NkN2ZkZjk2NDU0cDEwLAorICAgIDB4MS4yNTU2MDhlMTM1ZDgwcDE4CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLjA5MTIxYjRiMGZiMTU0MDNmOTAyZjJkMDZhOGYxMDM0cDEsCisgICAgLTB4MS5mNWE4MTRhZmQ2YTA1cDksCisgICAgLTB4MS4xMjE5ZGJjYzQ4NjczcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS4wOTEyMWI0YjBmYjE1NDAzZjkwMmYyZDA2YThmMTAzNHAxLAorICAgIDB4MS5mNWE4MTRhZmQ2YTA1cDksCisgICAgLTB4MS4xMjE5ZGJjYzQ4NjczcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuZmZkNTViYmE5NzYyNWE4MGYwM2FhZWViYjMxOTI0MTdwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5mZmQ1NWJiYTk3NjI1YTgwZjAzYWFlZWJiMzE5MjQxN3AtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3A0CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZmZmZmRwLTY0LAorICAgIDB4MS4wcC01MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZHAtNjQsCisgICAgLTB4MS4wcC01MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS43NDVkMTc0NWQxNzNjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczY3AtMworICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS45OTk5OTk5OTk5OWE4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuOTk5OTk5OTk5OTlhOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDIyMjIyMjIyMjIyM3AwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMDIyMjIyMjIyMjIyM3AwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjAzMTI2ZTk3OGQ0ZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjAzMTI2ZTk3OGQ0ZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wYTNkNzBhM2Q3MGEzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wYTNkNzBhM2Q3MGEzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS4wYjgzM2JlMTY1Y2NkM2YzNjYwZDM4NTc5MmQzMGIxZnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yLAorICAgIC0weDEuMjQ5MjQ5MjQ5MjRhYXAtMworICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS4wYjgzM2JlMTY1Y2NkM2YzNjYwZDM4NTc5MmQzMGIxZnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMiwKKyAgICAtMHgxLjI0OTI0OTI0OTI0YWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS41NTIyZDE2YjJmNWE3ZDUyZmJmNmRkNGVhMTI3MzRjNHAtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNCwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLjU1MjJkMTZiMmY1YTdkNTJmYmY2ZGQ0ZWExMjczNGM0cC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNCwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuN2ZmZmZmZmVkZmZmZTgwMTg0Y2QwMmNhNWVmMGU1OWFwLTE2LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xNywKKyAgICAweDEuNTU1NTU1NTU1NTU1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS43ZmZmZmZmZWRmZmZlODAxODRjZDAyY2E1ZWYwZTU5YXAtMTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xNywKKyAgICAweDEuNTU1NTU1NTU1NTU1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjAwMDAwMDAwMDAwMDE3ZmZhYWFhYWFhYWFiNmE5MmFhcC0zMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxN2ZmYWFhYWFhYWFhYjZhOTJhYXAtMzIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZhYWFhYWU2YWFhYWFwLTQwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyN2ZmZmZmZmFhYWFhZTZhYWFhYXAtNDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjAwMDAwMDAwMDAwMDY4MDAwMDAwMDAwMDEwM2ZhYWFhcC01NiwKKyAgICAweDEuMDAwMDAwMDAwMDAwNHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZicDU2CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDY4MDAwMDAwMDAwMDEwM2ZhYWFhcC01NiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDRwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmYnA1NgorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZDViYTlhYWMyZjdjOGI0NTYxYjgwMDM2ZjBlMTY1Y3AtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwN3AzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmZkNWJhOWFhYzJmN2M4YjQ1NjFiODAwMzZmMGUxNjVjcC00LAorICAgIC0weDEuMDAwMDAwMDAwMDAwN3AzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZmY1NWJiNzJjZmUyZTgyMWUyMDM3MTZlMWQ5N2EyNTdwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMWNwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZjNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuZmY1NWJiNzJjZmUyZTgyMWUyMDM3MTZlMWQ5N2EyNTdwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDFjcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmYzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMzhlMzY3NDVhZWY2ZDdhYjAyMDU4YjBjMGM4NzZmYzhwLTksCisgICAgMHgxLjAwMDAwMDAwMDA0ZDZwLTgsCisgICAgMHgxLmEyZThiYTJlOGJhMzBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuMzhlMzY3NDVhZWY2ZDdhYjAyMDU4YjBjMGM4NzZmYzhwLTksCisgICAgLTB4MS4wMDAwMDAwMDAwNGQ2cC04LAorICAgIDB4MS5hMmU4YmEyZThiYTMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuM2ZmNDMyNWE4NDM3NTAwMDAwMjg2ZGZmODZiYzAyYWRwLTEsCisgICAgMHgxLjAwMDAwMDA5ZjAyMDVwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjNmZjQzMjVhODQzNzUwMDAwMDI4NmRmZjg2YmMwMmFkcC0xLAorICAgIC0weDEuMDAwMDAwMDlmMDIwNXAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5iNGY1ZjIzNjMwOGI0ODAzN2ZlMjI5NjA4YzFkODFmYnAtMiwKKyAgICAweDEuMDAxcC0xLAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLmI0ZjVmMjM2MzA4YjQ4MDM3ZmUyMjk2MDhjMWQ4MWZicC0yLAorICAgIC0weDEuMDAxcC0xLAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuOTI0MmU2NDQyZDQzMTdmZjI1MzFjZWFmY2E4YWYwZjRwMCwKKyAgICAweDEuMDAxcDEwLAorICAgIC0weDEuMTk5OTk5OTk5OTk5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuOTI0MmU2NDQyZDQzMTdmZjI1MzFjZWFmY2E4YWYwZjRwMCwKKyAgICAtMHgxLjAwMXAxMCwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuMDQ2ODYyYTQwY2JlNmFiOTA3MDAyMWRmOWUxZTQxMWJwMSwKKyAgICAweDEuMDE3NWZjZDRhYjI2MXAxLAorICAgIC0weDEuMDE3NDljYTk0Mjk0M3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS4wNDY4NjJhNDBjYmU2YWI5MDcwMDIxZGY5ZTFlNDExYnAxLAorICAgIC0weDEuMDE3NWZjZDRhYjI2MXAxLAorICAgIC0weDEuMDE3NDljYTk0Mjk0M3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjliMmJiN2UxMGIyNjc3ZmViYjM3OGRmODFhOTRkNTg3cC0xLAorICAgIDB4MS4wNjZiM2YzOWFlN2ExcDAsCisgICAgMHgxLmZhOWM0YjlmNDY4NDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjliMmJiN2UxMGIyNjc3ZmViYjM3OGRmODFhOTRkNTg3cC0xLAorICAgIC0weDEuMDY2YjNmMzlhZTdhMXAwLAorICAgIDB4MS5mYTljNGI5ZjQ2ODQycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLmU4OTc4NTBhNzE2ZTQ4ODlhMTQzYWZlNmNkYWU3N2QxcC0yLAorICAgIDB4MS4wOGIxZDNiOTdjOTU1cC0yLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS5lODk3ODUwYTcxNmU0ODg5YTE0M2FmZTZjZGFlNzdkMXAtMiwKKyAgICAtMHgxLjA4YjFkM2I5N2M5NTVwLTIsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMTNlN2JiMDYxMTNkNjgwMTM1ZTk4ZThjMmU5Yzk2MjhwLTkyLAorICAgIDB4MS4wOWQ4OWQ4OWQ4OWQ4cDksCisgICAgMHgxLmVkNTU1NTU1NTU1NzNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS4xM2U3YmIwNjExM2Q2ODAxMzVlOThlOGMyZTljOTYyOHAtOTIsCisgICAgLTB4MS4wOWQ4OWQ4OWQ4OWQ4cDksCisgICAgMHgxLmVkNTU1NTU1NTU1NzNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZmNTcyYWRlZDBiZTcxMzZmMjM2MzE1ZTNjOWVjY2I3cDAsCisgICAgMHgxLjE5OTk5OTk5OTk5OWNwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS5mZjU3MmFkZWQwYmU3MTM2ZjIzNjMxNWUzYzllY2NiN3AwLAorICAgIC0weDEuMTk5OTk5OTk5OTk5Y3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMTk2YmE2ODc4YjkyNjgwZWJlNGE1NjY2ZmYxOGEzODRwLTUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWNwLTIsCisgICAgMHgxLjAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS4xOTZiYTY4NzhiOTI2ODBlYmU0YTU2NjZmZjE4YTM4NHAtNSwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OWNwLTIsCisgICAgMHgxLjAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjFiNGEyOWEwMmE5Yzg3ZmZmZGI0OGU1MzkzOTk5NjdhcC0zLAorICAgIDB4MS4xYWRlYzdkMDZhMDEwcC0yLAorICAgIDB4MS5mYmZhMjA0YzgyMzRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjFiNGEyOWEwMmE5Yzg3ZmZmZGI0OGU1MzkzOTk5NjdhcC0zLAorICAgIC0weDEuMWFkZWM3ZDA2YTAxMHAtMiwKKyAgICAweDEuZmJmYTIwNGM4MjM0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjE5ZGNkMDU0MTY5MjQ3ZmZmZDRjYzA1OTAwZTY0ODQ4cC0yLAorICAgIDB4MS4yMTM0MjJlYzYxZjUzcC0zLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLTB4MS4xOWRjZDA1NDE2OTI0N2ZmZmQ0Y2MwNTkwMGU2NDg0OHAtMiwKKyAgICAtMHgxLjIxMzQyMmVjNjFmNTNwLTMsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuYjNiOTViZGNiMzAyNzdmZWMyM2JiNGJlOTBiNjM1MzFwLTEsCisgICAgMHgxLjI3NzZmZTIxNDViZDVwMCwKKyAgICAweDEuMDMwNjIxNjc5MDczOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS5iM2I5NWJkY2IzMDI3N2ZlYzIzYmI0YmU5MGI2MzUzMXAtMSwKKyAgICAtMHgxLjI3NzZmZTIxNDViZDVwMCwKKyAgICAweDEuMDMwNjIxNjc5MDczOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmVlMGM1NDk4NGNiMTVlZGNkY2IyMzlkYmZmZmQ1N2RlcC00LAorICAgIDB4MS4yN2ZiN2RlMGU1N2M4cDEyLAorICAgIDB4MS4zMTNmOTA2MTM5MHAxNQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuZWUwYzU0OTg0Y2IxNWVkY2RjYjIzOWRiZmZmZDU3ZGVwLTQsCisgICAgLTB4MS4yN2ZiN2RlMGU1N2M4cDEyLAorICAgIDB4MS4zMTNmOTA2MTM5MHAxNQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS4yN2ZmNDgzNDc2NmQ3Nzk4NjA3NjVkMTRiNjg3ODhjZXAtOCwKKyAgICAweDEuMjdmYjdkZTBlNTdjOHAxMiwKKyAgICAweDEuZmZmODhkNmUyZDkzNHAxOQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuMjdmZjQ4MzQ3NjZkNzc5ODYwNzY1ZDE0YjY4Nzg4Y2VwLTgsCisgICAgLTB4MS4yN2ZiN2RlMGU1N2M4cDEyLAorICAgIDB4MS5mZmY4OGQ2ZTJkOTM0cDE5CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmY5YzZiMjM4YzY0MzU3Nzc3OTBjZWQwZGY4MTA0OWUycDAsCisgICAgMHgxLjJhYWFhYWFhYWFhYWJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLmY5YzZiMjM4YzY0MzU3Nzc3OTBjZWQwZGY4MTA0OWUycDAsCisgICAgLTB4MS4yYWFhYWFhYWFhYWFicDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLjJhYWFhYWFhYWFhYTc3ZmY3ODdlNmI3NGY5YjJkNjU4cC0zMiwKKyAgICAweDEuMmFhYWFhYWFhYWFhYnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDMyCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS4yYWFhYWFhYWFhYWE3N2ZmNzg3ZTZiNzRmOWIyZDY1OHAtMzIsCisgICAgLTB4MS4yYWFhYWFhYWFhYWFicDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuZWRhZTkxZWJiZmI4NzgwMDA2ZjdlOTE0NDU4M2M3YjNwMCwKKyAgICAweDEuMmQ2NmNhODU3YmY5YXAwLAorICAgIC0weDEuYzI4ZjVjMjhmNWMyOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZWRhZTkxZWJiZmI4NzgwMDA2ZjdlOTE0NDU4M2M3YjNwMCwKKyAgICAtMHgxLjJkNjZjYTg1N2JmOWFwMCwKKyAgICAtMHgxLmMyOGY1YzI4ZjVjMjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuOWQ1YTc3ZDY3Y2YxZDdmZWJhYjMzOGU2OGYyNThmNWFwLTEsCisgICAgMHgxLjJlMTI1MzBhODU5NTFwMiwKKyAgICAweDEuMjExYTdiOTYxMWE3YnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS45ZDVhNzdkNjdjZjFkN2ZlYmFiMzM4ZTY4ZjI1OGY1YXAtMSwKKyAgICAtMHgxLjJlMTI1MzBhODU5NTFwMiwKKyAgICAweDEuMjExYTdiOTYxMWE3YnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmEyNDRlMjFlYmVmYThmZmZmZmJmYWJlYWJhOWU2N2FjcC0yLAorICAgIDB4MS4zMzMzMzMzZDgxM2FicC0yLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5hMjQ0ZTIxZWJlZmE4ZmZmZmZiZmFiZWFiYTllNjdhY3AtMiwKKyAgICAtMHgxLjMzMzMzMzNkODEzYWJwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuOTBhMDhiMjkyMDY3ZjAwMDk0Mjg0MjcwYzNiNzU1NDdwLTQsCisgICAgMHgxLjNkZWIzMDhhOWM5NjBwLTQsCisgICAgMHgxLjk1MDBhMjdjNmE4MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjkwYTA4YjI5MjA2N2YwMDA5NDI4NDI3MGMzYjc1NTQ3cC00LAorICAgIC0weDEuM2RlYjMwOGE5Yzk2MHAtNCwKKyAgICAweDEuOTUwMGEyN2M2YTgyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS5hODk2NTkyZDZmZGI1N2I2M2ZhNmVkNzI4YjkxZmU0N3AtNSwKKyAgICAweDEuNDIwYmM1OWM0MmM3Y3AyLAorICAgIDB4MS44M2ZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmE4OTY1OTJkNmZkYjU3YjYzZmE2ZWQ3MjhiOTFmZTQ3cC01LAorICAgIC0weDEuNDIwYmM1OWM0MmM3Y3AyLAorICAgIDB4MS44M2ZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuMjVlMzAxMGZmMWVkMzdmZTc2OWZhNzZkZWE0MzYwOGNwMSwKKyAgICAweDEuNDk0YjQ4YWNiZTViMHAtOSwKKyAgICAtMHgxLjIzZGE2MWYwODc1MzBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLjI1ZTMwMTBmZjFlZDM3ZmU3NjlmYTc2ZGVhNDM2MDhjcDEsCisgICAgLTB4MS40OTRiNDhhY2JlNWIwcC05LAorICAgIC0weDEuMjNkYTYxZjA4NzUzMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS42ZDBkMTk4NDYzM2ViODBlMDk4YjZkYzkxZjA4M2EwNnAtMywKKyAgICAweDEuNTFmZjg1ZjJiYTQ2OHAwLAorICAgIDB4MS5kNTA2OTI5ODZiOTVkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjZkMGQxOTg0NjMzZWI4MGUwOThiNmRjOTFmMDgzYTA2cC0zLAorICAgIC0weDEuNTFmZjg1ZjJiYTQ2OHAwLAorICAgIDB4MS5kNTA2OTI5ODZiOTVkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuY2NhZGRhNDhkMDgwMjdmZjkyZDFiZDgxNDgxMmNlOGNwLTEsCisgICAgMHgxLjU0MTJlMDAyMzNkNzVwLTEsCisgICAgMHgxLjBkZmYyZDE3MTQ5NDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmNjYWRkYTQ4ZDA4MDI3ZmY5MmQxYmQ4MTQ4MTJjZThjcC0xLAorICAgIC0weDEuNTQxMmUwMDIzM2Q3NXAtMSwKKyAgICAweDEuMGRmZjJkMTcxNDk0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS4zZjI0OTZkODRhYzM0ODAxMTE3ZjZmODMwYzBmYjIwMXAtOTAsCisgICAgMHgxLjU1NTU1NTU1NTRjMmVwOCwKKyAgICAweDEuMTFjY2NjY2NjY2NjZHA5OAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuM2YyNDk2ZDg0YWMzNDgwMTExN2Y2ZjgzMGMwZmIyMDFwLTkwLAorICAgIC0weDEuNTU1NTU1NTU1NGMyZXA4LAorICAgIDB4MS4xMWNjY2NjY2NjY2NkcDk4CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjU1NTU1NTU1NTU1NWFhYWFhYWFhYWFhYWI1NTU1NTU1cC0xMDIxLAorICAgIDB4MS41NTU1NTU1NTU1NTU4cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcDEwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLjU1NTU1NTU1NTU1NWFhYWFhYWFhYWFhYWI1NTU1NTU1cC0xMDIxLAorICAgIC0weDEuNTU1NTU1NTU1NTU1OHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AxMDE4CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjg4MTM0Y2I4ZDA0ZTg4OTg1MDA3YjkyYTYyYjFmZDFhcC04LAorICAgIDB4MS41NzExZWY1ZWUxZWVjcC01LAorICAgIDB4MS5jMDAwMDAwMDAwMzAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLjg4MTM0Y2I4ZDA0ZTg4OTg1MDA3YjkyYTYyYjFmZDFhcC04LAorICAgIC0weDEuNTcxMWVmNWVlMWVlY3AtNSwKKyAgICAweDEuYzAwMDAwMDAwMDMwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjk0YTQ3MDc4MjkwN2Y4MDAwMDZhNDgyMmJjOTRiYzIzcC0xLAorICAgIDB4MS42NjY2NjY2ODhkNDExcC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS45NGE0NzA3ODI5MDdmODAwMDA2YTQ4MjJiYzk0YmMyM3AtMSwKKyAgICAtMHgxLjY2NjY2NjY4OGQ0MTFwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuZDdkN2I2NzJlZTMwYzg1ZDAxODE5YjI1MzA1ZjMyMzBwLTEwLAorICAgIDB4MS42YzliMjZjOWIyNmNhcDAsCisgICAgMHgxLjhiYTJlOGJhMmU4Y2FwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuZDdkN2I2NzJlZTMwYzg1ZDAxODE5YjI1MzA1ZjMyMzBwLTEwLAorICAgIC0weDEuNmM5YjI2YzliMjZjYXAwLAorICAgIDB4MS44YmEyZThiYTJlOGNhcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuN2ZmZmZmZmZlZTAwMzAwMDAxODRjNjBjZDJhNWMwMDhwLTE4LAorICAgIDB4MS44cC01MywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMzYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjdmZmZmZmZmZWUwMDMwMDAwMTg0YzYwY2QyYTVjMDA4cC0xOCwKKyAgICAtMHgxLjhwLTUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0zNgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5lN2M4OTUyY2IyNjE1ODAxMmI1NGI5YTYxYzA4ZjQzMXAtMiwKKyAgICAweDEuOGM0NjIzMTE4OGNwMCwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5lN2M4OTUyY2IyNjE1ODAxMmI1NGI5YTYxYzA4ZjQzMXAtMiwKKyAgICAtMHgxLjhjNDYyMzExODhjcDAsCisgICAgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS4yYjg1NGYwMjJkZTdhOTNjYjYyMWNiMjQ2MmY4NjA3NHAwLAorICAgIDB4MS44ZDc5NDM1ZTUwZDcxcDIsCisgICAgMHgxLjUwZDc5NDM1ZTUwZDlwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuMmI4NTRmMDIyZGU3YTkzY2I2MjFjYjI0NjJmODYwNzRwMCwKKyAgICAtMHgxLjhkNzk0MzVlNTBkNzFwMiwKKyAgICAweDEuNTBkNzk0MzVlNTBkOXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjQyYTc2YTE2NGMzOWM4MDBlNDQwNTAyN2M0OTBiZGZicC0xLAorICAgIDB4MS44ZGQzZDIyMzVhZDYwcC0xLAorICAgIDB4MS4xMGI1ZDFlNzg0NTljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjQyYTc2YTE2NGMzOWM4MDBlNDQwNTAyN2M0OTBiZGZicC0xLAorICAgIC0weDEuOGRkM2QyMjM1YWQ2MHAtMSwKKyAgICAweDEuMTBiNWQxZTc4NDU5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmUzMjQwZTk5M2FiOTU3ZjlkNzZkZGU0YTUwODk2ODI2cC0zLAorICAgIDB4MS45cDAsCisgICAgMHgxLjlmZmZmZmZmZmZmZmJwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuZTMyNDBlOTkzYWI5NTdmOWQ3NmRkZTRhNTA4OTY4MjZwLTMsCisgICAgLTB4MS45cDAsCisgICAgMHgxLjlmZmZmZmZmZmZmZmJwMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5hMzM1ZWZkNGRhOTBhODA0ZjdhNmRhZDQ0MzRmNWJhMHAtMiwKKyAgICAweDEuOTIwZDc5OWZkYTcxM3AtMywKKyAgICAweDEuY2Y0Y2RjNDhmMzUzNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuYTMzNWVmZDRkYTkwYTgwNGY3YTZkYWQ0NDM0ZjViYTBwLTIsCisgICAgLTB4MS45MjBkNzk5ZmRhNzEzcC0zLAorICAgIDB4MS5jZjRjZGM0OGYzNTM2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmVkODdmOWM3MjlkMTdmZmU5ZDJmNDdlMmZlOWVjYjQwcC0xLAorICAgIDB4MS45NWZhZDQwYTU3ZWM2cDksCisgICAgMHgxLjE5ZGJjYzQ4Njc2ZjZwOQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuZWQ4N2Y5YzcyOWQxN2ZmZTlkMmY0N2UyZmU5ZWNiNDBwLTEsCisgICAgLTB4MS45NWZhZDQwYTU3ZWM2cDksCisgICAgMHgxLjE5ZGJjYzQ4Njc2ZjZwOQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wYmZhNWYzZjA5OWU2ODAwMDA2OGQ4MjIzMmRjNGNjN3AtMSwKKyAgICAweDEuOTk5OTk5OWUzN2MyNHAtMiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuMGJmYTVmM2YwOTllNjgwMDAwNjhkODIyMzJkYzRjYzdwLTEsCisgICAgLTB4MS45OTk5OTk5ZTM3YzI0cC0yLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjFmYTZhYzMwZDA2NmQ4MDAwMDZhNWMyMzllNTE4OGYycC0yLAorICAgIDB4MS45OTk5OTliYjA5MTQwcC0zLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS4xZmE2YWMzMGQwNjZkODAwMDA2YTVjMjM5ZTUxODhmMnAtMiwKKyAgICAtMHgxLjk5OTk5OWJiMDkxNDBwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuMjU3MDc0MmZhNDk4OWZmZmZmOWU5NDZjOTg2MTE3ZDlwLTMsCisgICAgMHgxLjk5OTk5OWMyZjNiNTVwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjI1NzA3NDJmYTQ5ODlmZmZmZjllOTQ2Yzk4NjExN2Q5cC0zLAorICAgIC0weDEuOTk5OTk5YzJmM2I1NXAtNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS4yNTcwNzQzNzg2NTNhN2ZmZmZmZmI3OGRiOTk1YWFmY3AtMywKKyAgICAweDEuOTk5OTk5Y2UxYjE4YXAtNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuMjU3MDc0Mzc4NjUzYTdmZmZmZmZiNzhkYjk5NWFhZmNwLTMsCisgICAgLTB4MS45OTk5OTljZTFiMThhcC00LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjI1NzA3NDM3YTE0NzYwMDAwMDYxNjlkZGI1ZGFiZGQ3cC0zLAorICAgIDB4MS45OTk5OTljZTQxM2NjcC00LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4yNTcwNzQzN2ExNDc2MDAwMDA2MTY5ZGRiNWRhYmRkN3AtMywKKyAgICAtMHgxLjk5OTk5OWNlNDEzY2NwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuYjZhMDNiMGYxZmYwZDdmZDA4ZTlmNTg0NmVjNWE3NWJwLTEsCisgICAgMHgxLjljNWM5NzUzMGNjMjFwMCwKKyAgICAweDEuNjU2M2ZhMWQ2ZjUxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5iNmEwM2IwZjFmZjBkN2ZkMDhlOWY1ODQ2ZWM1YTc1YnAtMSwKKyAgICAtMHgxLjljNWM5NzUzMGNjMjFwMCwKKyAgICAweDEuNjU2M2ZhMWQ2ZjUxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmI4MGFhMDY4MTY3Zjk3NTU4OTcyZWNmZWQ2Nzc3Nzc0cC0xOSwKKyAgICAweDEuOWY1YWVhZTAzNzk5ZHAtMTgsCisgICAgMHgxLmUzNDZkOWIyYWQ3M2VwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuYjgwYWEwNjgxNjdmOTc1NTg5NzJlY2ZlZDY3Nzc3NzRwLTE5LAorICAgIC0weDEuOWY1YWVhZTAzNzk5ZHAtMTgsCisgICAgMHgxLmUzNDZkOWIyYWQ3M2VwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5lNWVmN2IyMmM4M2IyN2FkMzRiYmZkYTZjMjM4M2QyM3AtMiwKKyAgICAweDEuYTRkMjY5MzQ5YjY2Y3AtMywKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZTVlZjdiMjJjODNiMjdhZDM0YmJmZGE2YzIzODNkMjNwLTIsCisgICAgLTB4MS5hNGQyNjkzNDliNjZjcC0zLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjVlODJjYjUxNjc2NzI4MDExZTFjNmJhNzVmMzMzOWE3cC05MSwKKyAgICAweDEuYWQ1YWE2ZmY2MzM1ZXA5LAorICAgIDB4MS4zOTk1ODgwZGU3NTdhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuNWU4MmNiNTE2NzY3MjgwMTFlMWM2YmE3NWYzMzM5YTdwLTkxLAorICAgIC0weDEuYWQ1YWE2ZmY2MzM1ZXA5LAorICAgIDB4MS4zOTk1ODgwZGU3NTdhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS45NWFjOTM1MDRmMzE5ZmVmYjFiNTE0ODc5MmRhYjQxMnAtMSwKKyAgICAweDEuYjE0MjdjZDk4OGI4Y3AtMiwKKyAgICAweDEuYWI0YWRlYWYxYTNlYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuOTVhYzkzNTA0ZjMxOWZlZmIxYjUxNDg3OTJkYWI0MTJwLTEsCisgICAgLTB4MS5iMTQyN2NkOTg4YjhjcC0yLAorICAgIDB4MS5hYjRhZGVhZjFhM2VhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjkyMWZkMWYwOWY5Mjg4MDEwODhhOTNmYzdkYmJhMWNhcDAsCisgICAgMHgxLmJiZDQ5YWNjNThkOThwMTAsCisgICAgLTB4MS44ZGIwYTRhYjIyZTdlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS45MjFmZDFmMDlmOTI4ODAxMDg4YTkzZmM3ZGJiYTFjYXAwLAorICAgIC0weDEuYmJkNDlhY2M1OGQ5OHAxMCwKKyAgICAtMHgxLjhkYjBhNGFiMjJlN2VwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuNDNlNTQ5NzVmYjhiYzgwMTI5NTNlOWVmMDIzZjY3YjNwLTEwMCwKKyAgICAweDEuYzM3ZGFjMzdkYWMzY3AwLAorICAgIDB4MS42NGQ5MzY0ZDkzNjU5cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuNDNlNTQ5NzVmYjhiYzgwMTI5NTNlOWVmMDIzZjY3YjNwLTEwMCwKKyAgICAtMHgxLmMzN2RhYzM3ZGFjM2NwMCwKKyAgICAweDEuNjRkOTM2NGQ5MzY1OXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuYWI3OGMxMzUyMWNmYzgwMTE3ZjdmYWU1NzgzNjM1NmVwLTk4LAorICAgIDB4MS5jOWIyNmM5YjI2Y2EwcDIsCisgICAgMHgxLjEyMTlkYmNjNDg2NzlwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5hYjc4YzEzNTIxY2ZjODAxMTdmN2ZhZTU3ODM2MzU2ZXAtOTgsCisgICAgLTB4MS5jOWIyNmM5YjI2Y2EwcDIsCisgICAgMHgxLjEyMTlkYmNjNDg2NzlwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjc3ZTQ2N2Q1ZmY2MzM3Zjg0Zjg4MGViODZmNDI2Zjg3cC0xLAorICAgIDB4MS5jZTBkNTA3OGFlM2QwcDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuNzdlNDY3ZDVmZjYzMzdmODRmODgwZWI4NmY0MjZmODdwLTEsCisgICAgLTB4MS5jZTBkNTA3OGFlM2QwcDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS43Y2NkODgyZDhmZGJlODAxMGQwYmU2MWYwMjMxODZhNXAtMSwKKyAgICAweDEuZGJjYzQ4Njc2ZjMyYXA3LAorICAgIDB4MS4wMjk1ZmFkNDBhNThicDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLjdjY2Q4ODJkOGZkYmU4MDEwZDBiZTYxZjAyMzE4NmE1cC0xLAorICAgIC0weDEuZGJjYzQ4Njc2ZjMyYXA3LAorICAgIDB4MS4wMjk1ZmFkNDBhNThicDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMmQzYTg3ZTI0ZWIzMTkxNTZlZjYxNWNhYTdhYmUxMjhwMCwKKyAgICAweDEuZTA1MmJmNWE4MTRiNnAyLAorICAgIDB4MS44ZjgzZTBmODNlMGYxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLjJkM2E4N2UyNGViMzE5MTU2ZWY2MTVjYWE3YWJlMTI4cDAsCisgICAgLTB4MS5lMDUyYmY1YTgxNGI2cDIsCisgICAgMHgxLjhmODNlMGY4M2UwZjFwMQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5lYjBkZjQyYzM2YTVmN2ZlMWRmOGM4NmJlZDBhMjhhMHAtMSwKKyAgICAweDEuZTA1NDdlNDBlNGNjOHAtMiwKKyAgICAweDEuNTBlZWJjMTk1YmIyNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0weDEuZWIwZGY0MmMzNmE1ZjdmZTFkZjhjODZiZWQwYTI4YTBwLTEsCisgICAgLTB4MS5lMDU0N2U0MGU0Y2M4cC0yLAorICAgIDB4MS41MGVlYmMxOTViYjI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmM3ZmUxZGJkOTUzNDk3Nzg0NTg2OTdmZTE5NWU0YTU4cC04LAorICAgIDB4MS5lNjY2NjY2NjY2NjY4cDEsCisgICAgMHgxLjExMTExMTExMTE5NmRwOQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuYzdmZTFkYmQ5NTM0OTc3ODQ1ODY5N2ZlMTk1ZTRhNThwLTgsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY4cDEsCisgICAgMHgxLjExMTExMTExMTE5NmRwOQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS4zODkyN2VkZTY3MjE2ODAwMDA2YTM5YmI0OWU5YzBmNHAwLAorICAgIDB4MS5lNjY2NjY2Yjk4N2Y1cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLjM4OTI3ZWRlNjcyMTY4MDAwMDZhMzliYjQ5ZTljMGY0cDAsCisgICAgLTB4MS5lNjY2NjY2Yjk4N2Y1cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuMzlmZWQ1Njk5NDI4YjNiNjlhNzMzOWQzNmJiMDQ0YWJwLTEsCisgICAgMHgxLmU5MWVlNzhhZmQxZTZwLTMsCisgICAgMHgxLjViN2MzMmIzMmJkZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLjM5ZmVkNTY5OTQyOGIzYjY5YTczMzlkMzZiYjA0NGFicC0xLAorICAgIC0weDEuZTkxZWU3OGFmZDFlNnAtMywKKyAgICAweDEuNWI3YzMyYjMyYmRlMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5hMTI3MjI0MDEwY2JhODAzOTQ1ZjMxNWUxZDBlZTRiNXAtMSwKKyAgICAweDEuZjE2NmUxZGM0NDk5YnAyLAorICAgIDB4MS5kNTA2OTI5ODZiOThmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmExMjcyMjQwMTBjYmE4MDM5NDVmMzE1ZTFkMGVlNGI1cC0xLAorICAgIC0weDEuZjE2NmUxZGM0NDk5YnAyLAorICAgIDB4MS5kNTA2OTI5ODZiOThmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuZjFmMzJhYTZhY2I3MDgwMWRkNDM0OWQ0M2QzZDRjMjVwLTMsCisgICAgMHgxLmZiZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZTdmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuZjFmMzJhYTZhY2I3MDgwMWRkNDM0OWQ0M2QzZDRjMjVwLTMsCisgICAgLTB4MS5mYmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmU3ZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuMDc5YzQxMzYxYjZhYjgxMTUwMTVlNGYzMmRjZmU0YjNwMSwKKyAgICAweDEuZmY0YjdjODQ4Y2RlNnAtMSwKKyAgICAtMHgxLjBmZDZjN2Y0NGY1ODhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLjA3OWM0MTM2MWI2YWI4MTE1MDE1ZTRmMzJkY2ZlNGIzcDEsCisgICAgLTB4MS5mZjRiN2M4NDhjZGU2cC0xLAorICAgIC0weDEuMGZkNmM3ZjQ0ZjU4OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5kYTRjNjkxMjc4OTk2ODAxMWYxYjUxNmY1OTVkODY4ZXAtMiwKKyAgICAweDEuZmY2NzdmZmZmZmZmZnAtNiwKKyAgICAweDEuZmZmZmZmZmYxOWZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIC0weDEuZGE0YzY5MTI3ODk5NjgwMTFmMWI1MTZmNTk1ZDg2OGVwLTIsCisgICAgLTB4MS5mZjY3N2ZmZmZmZmZmcC02LAorICAgIDB4MS5mZmZmZmZmZjE5ZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLmZmZmM4MDAyMWZmYzQ4MDIyNWZjMWQ4MjJhOWJjNWUwcC01OCwKKyAgICAweDEuZmZmYzdmZmZmZmZmZnAtNTAsCisgICAgMHgxLmZmZmZmZmZkZGZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuZmZmYzgwMDIxZmZjNDgwMjI1ZmMxZDgyMmE5YmM1ZTBwLTU4LAorICAgIC0weDEuZmZmYzdmZmZmZmZmZnAtNTAsCisgICAgMHgxLmZmZmZmZmZkZGZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS42NjY2NjY2NjY2NjYxN2ZmZmZmZmZmZmZmOGI3MjAxNXAtNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwNTAsCisgICAgMHgxLjZkYjZkYjZkYjZkYjlwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS42NjY2NjY2NjY2NjYxN2ZmZmZmZmZmZmZmOGI3MjAxNXAtNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcDUwLAorICAgIDB4MS42ZGI2ZGI2ZGI2ZGI5cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5mZjU1ZDM1YWU4ZTQ2N2NlNzc0MDcwNjlhZDAxM2FiNXAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMywKKyAgICAweDEuZmZmZmU3ZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS5mZjU1ZDM1YWU4ZTQ2N2NlNzc0MDcwNjlhZDAxM2FiNXAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTMsCisgICAgMHgxLmZmZmZlN2ZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5iNGRkZDY2YTM3YjNiMzM1YTJhNWIxMWNlYjlhNGM1NnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtNCwKKyAgICAweDEuMTk5OTk5OTk5OTk5Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuYjRkZGQ2NmEzN2IzYjMzNWEyYTViMTFjZWI5YTRjNTZwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC00LAorICAgIDB4MS4xOTk5OTk5OTk5OTljcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjkwZTZkNDI1MzUxN2M4MDEwMzIxYWVhZTg4Nzk5MGE5cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTcsCisgICAgLTB4MS5hMmU4YmEyZTk3YTIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjkwZTZkNDI1MzUxN2M4MDEwMzIxYWVhZTg4Nzk5MGE5cDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC03LAorICAgIC0weDEuYTJlOGJhMmU5N2EyMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmI2ZGI2ZGI2ZGI2ZDI4MWRkYWFlYTViMTJjY2VkMmExcC0yNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMjUsCisgICAgMHgxLjJhYWFhYWFhYWFhYWJwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuYjZkYjZkYjZkYjZkMjgxZGRhYWVhNWIxMmNjZWQyYTFwLTI1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMjUsCisgICAgMHgxLjJhYWFhYWFhYWFhYWJwMAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC04MDcsCisgICAgLTB4MS43NDVkMTc0NWQxNzNjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtODA3LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczY3AtMworICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS4wOTZkMDUzNzFiMWM1NGM0MGY5YTA2YzZjZjJkYjk4MXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsCisgICAgLTB4MS4xOTk5OTk5OTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLjA5NmQwNTM3MWIxYzU0YzQwZjlhMDZjNmNmMmRiOTgxcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDAsCisgICAgLTB4MS4xOTk5OTk5OTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS40cC0xMDcyCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS40cC0xMDcyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuZjRmM2IxOThjMGYxNjgwMzBlOTQ5MGJlMWVhNTU5ZThwLTQsCisgICAgLTB4MS4wOGRlMjBmYWZlNGEycDAsCisgICAgMHgxLjBkNWJhNzdhZGY5NjlwMworICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS5mNGYzYjE5OGMwZjE2ODAzMGU5NDkwYmUxZWE1NTllOHAtNCwKKyAgICAweDEuMDhkZTIwZmFmZTRhMnAwLAorICAgIDB4MS4wZDViYTc3YWRmOTY5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5mZDViYTlhYWMyZjZkYzY1OTEyZjMxM2U3ZDExMWRlZnAtNCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLmZkNWJhOWFhYzJmNmRjNjU5MTJmMzEzZTdkMTExZGVmcC00LAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuNzI0OWZhYTk5NmEyMTZhMzMwNzlkMjAzMTllNzI3YzNwMCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAtMHgxLjcyNDlmYWE5OTZhMjE2YTMzMDc5ZDIwMzE5ZTcyN2MzcDAsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuZmZmZmQ1NTU1YmJiYmE5NzI5YWI3YWFjMDg5NDczYTNwLTEwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuZmZmZmQ1NTU1YmJiYmE5NzI5YWI3YWFjMDg5NDczYTNwLTEwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuZmZmZmY1NTU1NWJiYmJiNzI5NzJkMDBjZmRlNzUyZjlwLTExLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLmZmZmZmNTU1NTViYmJiYjcyOTcyZDAwY2ZkZTc1MmY5cC0xMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5mZmY1NTViYmI3MjlhYjc3Y2YxOGFjODAyYmVlYzA5MHAtNywKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLmZmZjU1NWJiYjcyOWFiNzdjZjE4YWM4MDJiZWVjMDkwcC03LAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuZmZmZDU1NWJiYmE5NzJkMDBjNDZhM2Y3N2NjMTVlOGVwLTgsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuZmZmZDU1NWJiYmE5NzJkMDBjNDZhM2Y3N2NjMTVlOGVwLTgsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMiwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTk4LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTgsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05OSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTk5LAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS45MTlmYjU0ZWVkN2E5NTdhZTNjMjVhMzg1NmI2MTQ4NXAwLAorICAgIDB4MS4wcDksCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuOTE5ZmI1NGVlZDdhOTU3YWUzYzI1YTM4NTZiNjE0ODVwMCwKKyAgICAtMHgxLjBwOSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjhlMWZjYTk4Y2I2MzMxMTI5OWVlOTNiZTAxNjA1YzIxcDAsCisgICAgMHgxLjBwOSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS44ZTFmY2E5OGNiNjMzMTEyOTllZTkzYmUwMTYwNWMyMXAwLAorICAgIC0weDEuMHA5LAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuOTFkZmI1NDU5ODI2Y2NmMjEyYTc5NmJkMDAxODdjYjdwMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLTB4MS45MWRmYjU0NTk4MjZjY2YyMTJhNzk2YmQwMDE4N2NiN3AwLAorICAgIC0weDEuMHAxMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjkwMWZiN2VlZTcxNWRhZjZiOTgwN2U3MzBhM2I3ODQzcDAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuOTAxZmI3ZWVlNzE1ZGFmNmI5ODA3ZTczMGEzYjc4NDNwMCwKKyAgICAtMHgxLjBwMTAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEuMHA5LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMHA5LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgMHgxLjBwOSwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgLTB4MS4wcDksCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS4xYjZlMTkyZWJiZTQ0NmM2ZDE5YWEyMjBhMzlhZjMyMHAwLAorICAgIC0weDEuMHAxMCwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTkyLAorICAgIDB4MS4wcDksCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTIsCisgICAgLTB4MS4wcDksCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MywKKyAgICAweDEuMHA5LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTkzLAorICAgIC0weDEuMHA5LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTEsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTEsCisgICAgLTB4MS4wcDEwLAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTIsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTIsCisgICAgLTB4MS4wcDEwLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZmMWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZmMWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTY4MWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTY4MWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZmOWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZmOWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZjMWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZjMWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZjcwMWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMCwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZjcwMWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDAsCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZDcwMWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNGQ3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwMTAwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUwNzAxYjgzOWEycDAsCisgICAgMHgxLjBwMTAxLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUwNzAxYjgzOWEycDAsCisgICAgLTB4MS4wcDEwMSwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzRmNzAxYjgzOWEycDAsCisgICAgMHgxLjBwMTAxLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZjcwMWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDEsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjBwMTAwLAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS4wcDEwMCwKKyAgICAweDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgMHgxLjBwMTAwLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgLTB4MS4wcDEwMCwKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAweDEuMHAxMDEsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS4xYjZlMTkyZWJiZTQ0NmM2ZDE5YWEyMjBhMzlhZjMyMHAwLAorICAgIC0weDEuMHAxMDEsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcDEwMSwKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMHAxMDEsCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLmZmNTViYjcyY2ZkZThjN2Q4NjVmMTVjODBjNmI4YmIwcC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAtMHgxLmZmNTViYjcyY2ZkZThjN2Q4NjVmMTVjODBjNmI4YmIwcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLmZmNTViYjcyY2ZkZTZjOWQ2NjdlZjVlN2VmODQ3NmMxcC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTZjOWQ2NjdlZjVlN2VmODQ3NmMxcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLmZmNTViYjcyY2ZkZWFjNWRhNjNmMzVhODJjY2IyYzEwcC01LAorICAgIDB4MS4wcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAtMHgxLmZmNTViYjcyY2ZkZWFjNWRhNjNmMzVhODJjY2IyYzEwcC01LAorICAgIC0weDEuMHAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS4wcC0zLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEuMHAtMywKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLmZmNTViYjcyY2ZkZTdjOGQ3NjZmMDVkN2ZlNzgwMGJhcC01LAorICAgIDB4MS4wcC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTdjOGQ3NjZmMDVkN2ZlNzgwMGJhcC01LAorICAgIC0weDEuMHAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmZmNTViYjcyY2ZkZWNjM2RjNjFmNTU4ODRkYTY1NGUzcC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAtMHgxLmZmNTViYjcyY2ZkZWNjM2RjNjFmNTU4ODRkYTY1NGUzcC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgMHgxLmZmNTViYjcyY2ZkZWJjNGRiNjJmNDU5ODNjM2EzZTdjcC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAtMHgxLmZmNTViYjcyY2ZkZWJjNGRiNjJmNDU5ODNjM2EzZTdjcC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS5mZjU1YmI3MmNmZGVjYzNkYzYxZjU1ODg0ZGE2NTRlM3AtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5mZjU1YmI3MmNmZGVjYzNkYzYxZjU1ODg0ZGE2NTRlM3AtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgLTB4MS5mZjU1YmI3MmNmZGViYzRkYjYyZjQ1OTgzYzNhM2U3Y3AtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5mZjU1YmI3MmNmZGViYzRkYjYyZjQ1OTgzYzNhM2U3Y3AtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTB4MS5mZjU1YmI3MmNmZGVhYzVkYTYzZjM1YTgyY2NiMmMxMHAtNSwKKyAgICAtMHgxLjBwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5mZjU1YmI3MmNmZGVhYzVkYTYzZjM1YTgyY2NiMmMxMHAtNSwKKyAgICAweDEuMHAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLjBwLTMsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIDB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAweDEuMHAtMywKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS5mZjU1YmI3MmNmZGU3YzhkNzY2ZjA1ZDdmZTc4MDBiYXAtNSwKKyAgICAtMHgxLjBwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS5mZjU1YmI3MmNmZGU3YzhkNzY2ZjA1ZDdmZTc4MDBiYXAtNSwKKyAgICAweDEuMHAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5mZjU1YmI3MmNmZGU4YzdkODY1ZjE1YzgwYzZiOGJiMHAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS5mZjU1YmI3MmNmZGU4YzdkODY1ZjE1YzgwYzZiOGJiMHAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS5mZjU1YmI3MmNmZGU2YzlkNjY3ZWY1ZTdlZjg0NzZjMXAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS5mZjU1YmI3MmNmZGU2YzlkNjY3ZWY1ZTdlZjg0NzZjMXAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLmEyNzFmNjNlMzRmY2Y2NWNjZDZlOGQ0MDQwZTI3NzhjcC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLmEyNzFmNjNlMzRmY2Y2NWNjZDZlOGQ0MDQwZTI3NzhjcC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhOXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgMHgxLmEyNzFmNjNlMzRmY2VhYjFhNzI3YWI3MGQwY2UzOTk4cC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAtMHgxLmEyNzFmNjNlMzRmY2VhYjFhNzI3YWI3MGQwY2UzOTk4cC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhOXAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLmEyNzFmNjNlMzRmY2QzNWI1YTk5ZTdkMWYyN2Q2NTZjcC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAtMHgxLmEyNzFmNjNlMzRmY2QzNWI1YTk5ZTdkMWYyN2Q2NTZjcC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhOXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLmEyNzFmNjNlMzRmZDAzZDYxMGNjZGUxN2Q1ODc4NzJkcC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAtMHgxLmEyNzFmNjNlMzRmZDAzZDYxMGNjZGUxN2Q1ODc4NzJkcC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMHgxLmEyNzFmNjNlMzRmY2Y4MmFlYTg1ZmM0ODY1Mjk4OTBjcC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAtMHgxLmEyNzFmNjNlMzRmY2Y4MmFlYTg1ZmM0ODY1Mjk4OTBjcC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgMHgxLmEyNzFmNjNlMzRmY2UwZDQ5ZGY4MzhhOTg2NDUzNDg1cC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAtMHgxLmEyNzFmNjNlMzRmY2UwZDQ5ZGY4MzhhOTg2NDUzNDg1cC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmEyNzFmNjNlMzRmZDExNGY1NDJiMmVlZjZhMDU0OGQzcC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FicC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAtMHgxLmEyNzFmNjNlMzRmZDExNGY1NDJiMmVlZjZhMDU0OGQzcC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgMHgxLmEyNzFmNjNlMzRmZDA1YTQyZGU0NGQxZmY5NWQ4YTg1cC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FicC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAtMHgxLmEyNzFmNjNlMzRmZDA1YTQyZGU0NGQxZmY5NWQ4YTg1cC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYnAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgMHgxLmEyNzFmNjNlMzRmY2VlNGRlMTU2ODk4MTE5ZTViNWE0cC0yLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FicC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAtMHgxLmEyNzFmNjNlMzRmY2VlNGRlMTU2ODk4MTE5ZTViNWE0cC0yLAorICAgIC0weDEuYmI2N2FlODU4NGNhYnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS5hMjcxZjYzZTM0ZmQxMTRmNTQyYjJlZWY2YTA1NDhkM3AtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDB4MS5hMjcxZjYzZTM0ZmQxMTRmNTQyYjJlZWY2YTA1NDhkM3AtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS5hMjcxZjYzZTM0ZmQwNWE0MmRlNDRkMWZmOTVkOGE4NXAtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWJwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS5hMjcxZjYzZTM0ZmQwNWE0MmRlNDRkMWZmOTVkOGE4NXAtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS5hMjcxZjYzZTM0ZmNlZTRkZTE1Njg5ODExOWU1YjVhNHAtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS5hMjcxZjYzZTM0ZmNlZTRkZTE1Njg5ODExOWU1YjVhNHAtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgLTB4MS5hMjcxZjYzZTM0ZmQwM2Q2MTBjY2RlMTdkNTg3ODcyZHAtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS5hMjcxZjYzZTM0ZmQwM2Q2MTBjY2RlMTdkNTg3ODcyZHAtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgLTB4MS5hMjcxZjYzZTM0ZmNmODJhZWE4NWZjNDg2NTI5ODkwY3AtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS5hMjcxZjYzZTM0ZmNmODJhZWE4NWZjNDg2NTI5ODkwY3AtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYXAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS5hMjcxZjYzZTM0ZmNlMGQ0OWRmODM4YTk4NjQ1MzQ4NXAtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS5hMjcxZjYzZTM0ZmNlMGQ0OWRmODM4YTk4NjQ1MzQ4NXAtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgLTB4MS5hMjcxZjYzZTM0ZmNmNjVjY2Q2ZThkNDA0MGUyNzc4Y3AtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS5hMjcxZjYzZTM0ZmNmNjVjY2Q2ZThkNDA0MGUyNzc4Y3AtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS5hMjcxZjYzZTM0ZmNlYWIxYTcyN2FiNzBkMGNlMzk5OHAtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS5hMjcxZjYzZTM0ZmNlYWIxYTcyN2FiNzBkMGNlMzk5OHAtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5hMjcxZjYzZTM0ZmNkMzViNWE5OWU3ZDFmMjdkNjU2Y3AtMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS5hMjcxZjYzZTM0ZmNkMzViNWE5OWU3ZDFmMjdkNjU2Y3AtMiwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLmUxZmMwODRjZDc2MWEzYWE3N2U1MjFiOWE4MDNiMmYycC0xLAorICAgIDB4MS41Zjg5ZTExYTA0NDFjcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIC0weDEuZTFmYzA4NGNkNzYxYTNhYTc3ZTUyMWI5YTgwM2IyZjJwLTEsCisgICAgLTB4MS41Zjg5ZTExYTA0NDFjcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS5lMWZjMDg0Y2Q3NjE5YzBkNTA5MTZkMzVhZjQwYjY2OXAtMSwKKyAgICAweDEuNWY4OWUxMWEwNDQxY3AxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAtMHgxLmUxZmMwODRjZDc2MTljMGQ1MDkxNmQzNWFmNDBiNjY5cC0xLAorICAgIC0weDEuNWY4OWUxMWEwNDQxY3AxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuZTFmYzA4NGNkNzYxOGNkMzAxZWEwNDJkYmUzOTYzNjFwLTEsCisgICAgMHgxLjVmODllMTFhMDQ0MWNwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgLTB4MS5lMWZjMDg0Y2Q3NjE4Y2QzMDFlYTA0MmRiZTM5NjM2MXAtMSwKKyAgICAtMHgxLjVmODllMTFhMDQ0MWNwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLmUxZmMwODRjZDc2MWFlYzE1Mjc1YjVkMjliYTIxYTA5cC0xLAorICAgIDB4MS41Zjg5ZTExYTA0NDFkcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIC0weDEuZTFmYzA4NGNkNzYxYWVjMTUyNzViNWQyOWJhMjFhMDlwLTEsCisgICAgLTB4MS41Zjg5ZTExYTA0NDFkcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS5lMWZjMDg0Y2Q3NjFhNzI0MmIyMjAxNGVhMmZhNTdlYnAtMSwKKyAgICAweDEuNWY4OWUxMWEwNDQxZHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAtMHgxLmUxZmMwODRjZDc2MWE3MjQyYjIyMDE0ZWEyZmE1N2VicC0xLAorICAgIC0weDEuNWY4OWUxMWEwNDQxZHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuZTFmYzA4NGNkNzYxOTdlOWRjN2E5ODQ2YjIyOTc5YjlwLTEsCisgICAgMHgxLjVmODllMTFhMDQ0MWRwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgLTB4MS5lMWZjMDg0Y2Q3NjE5N2U5ZGM3YTk4NDZiMjI5NzliOXAtMSwKKyAgICAtMHgxLjVmODllMTFhMDQ0MWRwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLmUxZmMwODRjZDc2MWI5ZDgyZDA2NDllYjhlOTdhM2JjcC0xLAorICAgIDB4MS41Zjg5ZTExYTA0NDFlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIC0weDEuZTFmYzA4NGNkNzYxYjlkODJkMDY0OWViOGU5N2EzYmNwLTEsCisgICAgLTB4MS41Zjg5ZTExYTA0NDFlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS5lMWZjMDg0Y2Q3NjFiMjNiMDViMjk1Njc5NjBiMWMwOXAtMSwKKyAgICAweDEuNWY4OWUxMWEwNDQxZXAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAtMHgxLmUxZmMwODRjZDc2MWIyM2IwNWIyOTU2Nzk2MGIxYzA5cC0xLAorICAgIC0weDEuNWY4OWUxMWEwNDQxZXAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuZTFmYzA4NGNkNzYxYTMwMGI3MGIyYzVmYTU3MGIyYWVwLTEsCisgICAgMHgxLjVmODllMTFhMDQ0MWVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS5lMWZjMDg0Y2Q3NjFhMzAwYjcwYjJjNWZhNTcwYjJhZXAtMSwKKyAgICAtMHgxLjVmODllMTFhMDQ0MWVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgLTB4MS5lMWZjMDg0Y2Q3NjFiOWQ4MmQwNjQ5ZWI4ZTk3YTNiY3AtMSwKKyAgICAtMHgxLjVmODllMTFhMDQ0MWVwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLmUxZmMwODRjZDc2MWI5ZDgyZDA2NDllYjhlOTdhM2JjcC0xLAorICAgIDB4MS41Zjg5ZTExYTA0NDFlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuZTFmYzA4NGNkNzYxYjIzYjA1YjI5NTY3OTYwYjFjMDlwLTEsCisgICAgLTB4MS41Zjg5ZTExYTA0NDFlcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS5lMWZjMDg0Y2Q3NjFiMjNiMDViMjk1Njc5NjBiMWMwOXAtMSwKKyAgICAweDEuNWY4OWUxMWEwNDQxZXAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAtMHgxLmUxZmMwODRjZDc2MWEzMDBiNzBiMmM1ZmE1NzBiMmFlcC0xLAorICAgIC0weDEuNWY4OWUxMWEwNDQxZXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuZTFmYzA4NGNkNzYxYTMwMGI3MGIyYzVmYTU3MGIyYWVwLTEsCisgICAgMHgxLjVmODllMTFhMDQ0MWVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgLTB4MS5lMWZjMDg0Y2Q3NjFhZWMxNTI3NWI1ZDI5YmEyMWEwOXAtMSwKKyAgICAtMHgxLjVmODllMTFhMDQ0MWRwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLmUxZmMwODRjZDc2MWFlYzE1Mjc1YjVkMjliYTIxYTA5cC0xLAorICAgIDB4MS41Zjg5ZTExYTA0NDFkcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuZTFmYzA4NGNkNzYxYTcyNDJiMjIwMTRlYTJmYTU3ZWJwLTEsCisgICAgLTB4MS41Zjg5ZTExYTA0NDFkcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS5lMWZjMDg0Y2Q3NjFhNzI0MmIyMjAxNGVhMmZhNTdlYnAtMSwKKyAgICAweDEuNWY4OWUxMWEwNDQxZHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAtMHgxLmUxZmMwODRjZDc2MTk3ZTlkYzdhOTg0NmIyMjk3OWI5cC0xLAorICAgIC0weDEuNWY4OWUxMWEwNDQxZHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuZTFmYzA4NGNkNzYxOTdlOWRjN2E5ODQ2YjIyOTc5YjlwLTEsCisgICAgMHgxLjVmODllMTFhMDQ0MWRwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgLTB4MS5lMWZjMDg0Y2Q3NjFhM2FhNzdlNTIxYjlhODAzYjJmMnAtMSwKKyAgICAtMHgxLjVmODllMTFhMDQ0MWNwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLmUxZmMwODRjZDc2MWEzYWE3N2U1MjFiOWE4MDNiMmYycC0xLAorICAgIDB4MS41Zjg5ZTExYTA0NDFjcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIC0weDEuZTFmYzA4NGNkNzYxOWMwZDUwOTE2ZDM1YWY0MGI2NjlwLTEsCisgICAgLTB4MS41Zjg5ZTExYTA0NDFjcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS5lMWZjMDg0Y2Q3NjE5YzBkNTA5MTZkMzVhZjQwYjY2OXAtMSwKKyAgICAweDEuNWY4OWUxMWEwNDQxY3AxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAtMHgxLmUxZmMwODRjZDc2MThjZDMwMWVhMDQyZGJlMzk2MzYxcC0xLAorICAgIC0weDEuNWY4OWUxMWEwNDQxY3AxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuZTFmYzA4NGNkNzYxOGNkMzAxZWEwNDJkYmUzOTYzNjFwLTEsCisgICAgMHgxLjVmODllMTFhMDQ0MWNwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDB4MS45MjFmYjU0NDQyZDE3YzY5ODk4Y2M1MTcwMTk4MzlhMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdjNjk4OThjYzUxNzAxOTgzOWEycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxNmM2OTg5OGNjNTE3MDIxODM5YTJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgLTB4MS45MjFmYjU0NDQyZDE2YzY5ODk4Y2M1MTcwMjE4MzlhMnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLjkyMWZiNTQ0NDJkMThjNjk4OThjYzUxNzAxZDgzOWEycC0xLAorICAgIDB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOGM2OTg5OGNjNTE3MDFkODM5YTJwLTEsCisgICAgLTB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEuMHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuOTIxZmI1NDQ0MmQxNzQ2OTg5OGNjNTE3MDIzODM5YTJwLTEsCisgICAgMHgxLjBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS45MjFmYjU0NDQyZDE3NDY5ODk4Y2M1MTcwMjM4MzlhMnAtMSwKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTljNjk4OThjYzUxNzAxNTgzOWEycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOWM2OTg5OGNjNTE3MDE1ODM5YTJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS45MjFmYjU0NDQyZDE5NDY5ODk4Y2M1MTcwMTM4MzlhMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTk0Njk4OThjYzUxNzAxMzgzOWEycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZkNTU1NTU1NTU1NTU1NWJiYmJicC0yOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmQ1NTU1NTU1NTU1NTU1YmJiYmJwLTI4LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZDU1NTU1NTU1NTU1NTliYmJiYnAtMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVkNTU1NTU1NTU1NTU1OWJiYmJicC0yOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTI3LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAweDEuZmZmZmZmZmZmZmZmY2Q1NTU1NTU1NTU1NTkxYmJiYmJwLTI4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yNywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjZDU1NTU1NTU1NTU1OTFiYmJiYnAtMjgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yNywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLjAwMDAwMDAwMDAwMDA2YWFhYWFhYWFhYWFhY2RkZGRkcC0yNywKKyAgICAweDEuMHAtMjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMDZhYWFhYWFhYWFhYWFjZGRkZGRwLTI3LAorICAgIC0weDEuMHAtMjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZDU1NTU1NTU1NTU1NTViYmJiYnAtMjgsCisgICAgMHgxLjBwLTI2LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZkNTU1NTU1NTU1NTU1NWJiYmJicC0yOCwKKyAgICAtMHgxLjBwLTI2LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZGQ1NTU1NTU1NTU1NTdkYmJiYmJwLTI4LAorICAgIDB4MS4wcC0yNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZDU1NTU1NTU1NTU1N2RiYmJiYnAtMjgsCisgICAgLTB4MS4wcC0yNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLjAwMDAwMDAwMDAwMDE2YWFhYWFhYWFhYWFiMGRkZGRkcC0yNywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTZhYWFhYWFhYWFhYWIwZGRkZGRwLTI3LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS4wMDAwMDAwMDAwMDAwZWFhYWFhYWFhYWFhYTZkZGRkZHAtMjcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI2LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBlYWFhYWFhYWFhYWFhNmRkZGRkcC0yNywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTI2LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmQ1NTU1NTU1NTU1NTU1YmJiYmJwLTI4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZDU1NTU1NTU1NTU1NTViYmJiYnAtMjgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMHA1NworICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAyZmY1NTU1cC01NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMmZmNTU1NXAtNTcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAzZmFhYWFwLTU2LAorICAgIDB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwM2ZhYWFhcC01NiwKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgMHgxLjBwMSwKKyAgICAweDEuMHA1NworICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEuMHAxLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAxZmY1NTU1cC01NywKKyAgICAweDEuMHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmNTU1NXAtNTcsCisgICAgLTB4MS4wcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBiZmFhYWFwLTU2LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYmZhYWFhcC01NiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmYWFhYXAtNTYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMHA1NworICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmFhYWFwLTU2LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYmZhYWFhcC01NiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGJmYWFhYXAtNTYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmFhYWFwLTU2LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZhYWFhcC01NiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwM2ZhYWFhcC01NiwKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDNmYWFhYXAtNTYsCisgICAgMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEuMHAxLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEuMHAxLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmNTU1NXAtNTcsCisgICAgLTB4MS4wcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZjU1NTVwLTU3LAorICAgIDB4MS4wcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1NgorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDU3CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMmZmNTU1NXAtNTcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDJmZjU1NTVwLTU3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1YmJwLTMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmY1NTU1NTU1NTU1NTU2NTViYnAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuMHAzMgorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmNTU1NTU1NTU1NTU1NjU1YmJwLTMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS4wcDMyCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmNmZjU1NTU1NTU1NTU4NTg1NWJicC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMyCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjZmY1NTU1NTU1NTU1ODU4NTViYnAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmYWFhYWFhYWFhYWFlYTJhZGRwLTMwLAorICAgIDB4MS4wcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA3ZmFhYWFhYWFhYWFhZWEyYWRkcC0zMCwKKyAgICAtMHgxLjBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgMHgxLjBwMiwKKyAgICAweDEuMHAzMgorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1YmJwLTMxLAorICAgIC0weDEuMHAyLAorICAgIDB4MS4wcDMyCisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZjU1NTU1NTU1NTU3NTc1NWJicC0zMSwKKyAgICAweDEuMHAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMyCisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmY1NTU1NTU1NTU1NzU3NTViYnAtMzEsCisgICAgLTB4MS4wcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmYWFhYWFhYWFhYWI2OTJhZGRwLTMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE3ZmFhYWFhYWFhYWFiNjkyYWRkcC0zMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZhYWFhYWFhYWFhYWE5YWFkZHAtMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuMHAzMgorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmYWFhYWFhYWFhYWFhOWFhZGRwLTMwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS4wcDMyCisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMyCisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE3ZmFhYWFhYWFhYWFiNjkyYWRkcC0zMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmYWFhYWFhYWFhYWI2OTJhZGRwLTMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZhYWFhYWFhYWFhYWE5YWFkZHAtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yLAorICAgIDB4MS4wcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNTg1CisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmFhYWFhYWFhYWFhYTlhYWRkcC0zMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMiwKKyAgICAweDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1YmJwLTMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyOAorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA3ZmFhYWFhYWFhYWFhZWEyYWRkcC0zMCwKKyAgICAtMHgxLjBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmYWFhYWFhYWFhYWFlYTJhZGRwLTMwLAorICAgIDB4MS4wcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgLTB4MS4wcC0yLAorICAgIDB4MS4wcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEuMHAtMiwKKyAgICAweDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmNTU1NTU1NTU1NTc1NzU1YmJwLTMxLAorICAgIC0weDEuMHAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyOAorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS5mZmZmZmZmZmZmZmZkZmY1NTU1NTU1NTU1NzU3NTViYnAtMzEsCisgICAgMHgxLjBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1YmJwLTMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmY1NTU1NTU1NTU1NTU2NTViYnAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zLAorICAgIDB4MS4wcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNTk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZjU1NTU1NTU1NTU1NTY1NWJicC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywKKyAgICAweDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDU5OAorICAgIC0weDEuZmZmZmZmZmZmZmZmY2ZmNTU1NTU1NTU1NTg1ODU1YmJwLTMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyOAorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS5mZmZmZmZmZmZmZmZjZmY1NTU1NTU1NTU1ODU4NTViYnAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdjNjk4OThjYzUxNzAxOTgzOWEycC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIC0weDEuOTIxZmI1NDQ0MmQxN2M2OTg5OGNjNTE3MDE5ODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIDB4MS45MjFmYjU0NDQyZDE2YzY5ODk4Y2M1MTcwMjE4MzlhMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTZjNjk4OThjYzUxNzAyMTgzOWEycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDYKKyAgICAweDEuOTIxZmI1NDQ0MmQxOGM2OTg5OGNjNTE3MDFkODM5YTJwLTEsCisgICAgMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4YzY5ODk4Y2M1MTcwMWQ4MzlhMnAtMSwKKyAgICAtMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIDB4MS45MjFmYjU0NDQyZDE3NDY5ODk4Y2M1MTcwMjM4MzlhMnAtMSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTc0Njk4OThjYzUxNzAyMzgzOWEycC0xLAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTIKKyAgICAweDEuOTIxZmI1NDQ0MmQxOWM2OTg5OGNjNTE3MDE1ODM5YTJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgLTB4MS45MjFmYjU0NDQyZDE5YzY5ODk4Y2M1MTcwMTU4MzlhMnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTk0Njk4OThjYzUxNzAxMzgzOWEycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIC0weDEuOTIxZmI1NDQ0MmQxOTQ2OTg5OGNjNTE3MDEzODM5YTJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAtMHgxLmRhYzY3MDU2MWJiNTFjZjE0NjJlZjIzZmRmNTY2MWI0cC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTkKKyAgICAweDEuZGFjNjcwNTYxYmI1MWNmMTQ2MmVmMjNmZGY1NjYxYjRwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgLTB4MS5kYWM2NzA1NjFiYjUxMDI0Nzk2MjI1NzMxMWJjYzgxYnAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjIxCisgICAgMHgxLmRhYzY3MDU2MWJiNTEwMjQ3OTYyMjU3MzExYmNjODFicC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIC0weDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS5kYWM2NzA1NjFiYjRmNjhhZGZjODhiZDk3ODc1MWEwNnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAtMHgxLmRhYzY3MDU2MWJiNTAzNTdhYzk1NThhNjQ1OTNkMjU4cC0yLAorICAgIC0weDEuMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuZGFjNjcwNTYxYmI1MDM1N2FjOTU1OGE2NDU5M2QyNThwLTIsCisgICAgMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgLTB4MS5kYWM2NzA1NjFiYjRmNjhhZGZjODhiZDk3ODc1MWEwNnAtMiwKKyAgICAtMHgxLjBwMywKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIC0weDEuZGFjNjcwNTYxYmI0ZGNmMTQ2MmVmMjNmZTAyMzJlODFwLTIsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDYyOQorICAgIDB4MS5kYWM2NzA1NjFiYjRkY2YxNDYyZWYyM2ZlMDIzMmU4MXAtMiwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAtMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgLTB4MS5kYWM2NzA1NjFiYjRlOWJlMTJmYmJmMGNhYjkzZDI1OHAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgMHgxLmRhYzY3MDU2MWJiNGU5YmUxMmZiYmYwY2FiOTNkMjU4cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIC0weDEuZGFjNjcwNTYxYmI0ZDAyNDc5NjIyNTczMTNiY2M4MWJwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIDB4MS5kYWM2NzA1NjFiYjRkMDI0Nzk2MjI1NzMxM2JjYzgxYnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAweDEuNzJjNDNmNGIxNjUwYTlkOWFlYTZhNDBiMTU2ZDk4YzBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgLTB4MS43MmM0M2Y0YjE2NTBhOWQ5YWVhNmE0MGIxNTZkOThjMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLjcyYzQzZjRiMTY1MGE3ZjdjY2M0YzIyOTMzYjU1OGY4cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIC0weDEuNzJjNDNmNGIxNjUwYTdmN2NjYzRjMjI5MzNiNTU4ZjhwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS43MmM0M2Y0YjE2NTBhNzA2ZGJkM2QxMzg0MmMzZjZhNXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDEKKyAgICAtMHgxLjcyYzQzZjRiMTY1MGE3MDZkYmQzZDEzODQyYzNmNmE1cDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDIKKyAgICAweDEuNzJjNDNmNGIxNjUwYThlOGJkYjViMzFhMjQ4OTdmZjJwMSwKKyAgICAweDEuMHAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjQzCisgICAgLTB4MS43MmM0M2Y0YjE2NTBhOGU4YmRiNWIzMWEyNDg5N2ZmMnAxLAorICAgIC0weDEuMHAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLjcyYzQzZjRiMTY1MGE3MDZkYmQzZDEzODQyYzNmNmE1cDEsCisgICAgMHgxLjBwMywKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIC0weDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAtMHgxLjBwMywKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS43MmM0M2Y0YjE2NTBhNjE1ZWFlMmUwNDc1MWNiZWY4ZnAxLAorICAgIDB4MS4wcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAtMHgxLjcyYzQzZjRiMTY1MGE2MTVlYWUyZTA0NzUxY2JlZjhmcDEsCisgICAgLTB4MS4wcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDgKKyAgICAweDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgLTB4MS43MmM0M2Y0YjE2NTBhNzA2ZGJkM2QxMzg0MmMzZjZhNXAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjcyYzQzZjRiMTY1MGE1MjRmOWYxZWY1NjYwZTNkYTRkcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIC0weDEuNzJjNDNmNGIxNjUwYTUyNGY5ZjFlZjU2NjBlM2RhNGRwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS43MmM0M2Y0YjE2NTBhNDM0MDkwMGZlNjU2ZmRlODliMXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAtMHgxLjcyYzQzZjRiMTY1MGE0MzQwOTAwZmU2NTZmZGU4OWIxcDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTQKKyAgICAweDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgLTB4MS5mZDViYTlhYWMyZjZkYzY1OTEyZjMxM2U3ZDExMWRlZnAtNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLmZkNWJhOWFhYzJmNmNjYTQ5NTFmNzA0MjZkNGUzMTgxcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIC0weDEuZmQ1YmE5YWFjMmY2Y2NhNDk1MWY3MDQyNmQ0ZTMxODFwLTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5mZDViYTlhYWMyZjZhZDIyOWNmZmVlNGE1MGIwZTViNHAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAtMHgxLmZkNWJhOWFhYzJmNmFkMjI5Y2ZmZWU0YTUwYjBlNWI0cC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAweDEuZmQ1YmE5YWFjMmY2ZWMyNjhkM2VmMjNhOGQ0ZTMxODFwLTQsCisgICAgMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgLTB4MS5mZDViYTlhYWMyZjZlYzI2OGQzZWYyM2E4ZDRlMzE4MXAtNCwKKyAgICAtMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLmZkNWJhOWFhYzJmNmRjNjU5MTJmMzEzZTdkMTExZGVmcC00LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIC0weDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS5mZDViYTlhYWMyZjZiY2UzOTkwZmFmNDY1ZjdmODNkOXAtNCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAtMHgxLmZkNWJhOWFhYzJmNmJjZTM5OTBmYWY0NjVmN2Y4M2Q5cC00LAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAweDEuZmQ1YmE5YWFjMmY3MGJhODg1NWU3NDMyYWRiY2I2NzFwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgLTB4MS5mZDViYTlhYWMyZjcwYmE4ODU1ZTc0MzJhZGJjYjY3MXAtNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLmZkNWJhOWFhYzJmNmZiZTc4OTRlYjMzNjljOGI1NDk2cC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIC0weDEuZmQ1YmE5YWFjMmY2ZmJlNzg5NGViMzM2OWM4YjU0OTZwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIDB4MS5mZDViYTlhYWMyZjZkYzY1OTEyZjMxM2U3ZDExMWRlZnAtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAtMHgxLmZkNWJhOWFhYzJmNmRjNjU5MTJmMzEzZTdkMTExZGVmcC00LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAtMHgxLmZmNTViYjcyY2ZkZWNjM2RjNjFmNTU4ODRkYTY1NGUzcC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuZmY1NWJiNzJjZmRlY2MzZGM2MWY1NTg4NGRhNjU0ZTNwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgLTB4MS5mZjU1YmI3MmNmZGViYzRkYjYyZjQ1OTgzYzNhM2U3Y3AtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLmZmNTViYjcyY2ZkZWJjNGRiNjJmNDU5ODNjM2EzZTdjcC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIC0weDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIDB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzgKKyAgICAtMHgxLmZmNTViYjcyY2ZkZWFjNWRhNjNmMzVhODJjY2IyYzEwcC01LAorICAgIC0weDEuMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzkKKyAgICAweDEuZmY1NWJiNzJjZmRlYWM1ZGE2M2YzNWE4MmNjYjJjMTBwLTUsCisgICAgMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLjBwMywKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIC0weDEuZmY1NWJiNzJjZmRlN2M4ZDc2NmYwNWQ3ZmU3ODAwYmFwLTUsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIDB4MS5mZjU1YmI3MmNmZGU3YzhkNzY2ZjA1ZDdmZTc4MDBiYXAtNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAweDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgLTB4MS5mZjU1YmI3MmNmZGU4YzdkODY1ZjE1YzgwYzZiOGJiMHAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMHgxLmZmNTViYjcyY2ZkZThjN2Q4NjVmMTVjODBjNmI4YmIwcC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIC0weDEuZmY1NWJiNzJjZmRlNmM5ZDY2N2VmNWU3ZWY4NDc2YzFwLTUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIDB4MS5mZjU1YmI3MmNmZGU2YzlkNjY3ZWY1ZTdlZjg0NzZjMXAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAweDEuMDQ2OGE4YWNlNGRmNjVkMmVkOGM0MGQzN2NjNmU5MDdwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgLTB4MS4wNDY4YThhY2U0ZGY2NWQyZWQ4YzQwZDM3Y2M2ZTkwN3AxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLjA0NjhhOGFjZTRkZjYyOWZiYTU5MGRhMDQ5OGU5NzFjcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDY5MworICAgIC0weDEuMDQ2OGE4YWNlNGRmNjI5ZmJhNTkwZGEwNDk4ZTk3MWNwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIDB4MS4wNDY4YThhY2U0ZGY2MTA2MjBiZjc0MDZhZmVhYzAxMnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAtMHgxLjA0NjhhOGFjZTRkZjYxMDYyMGJmNzQwNmFmZWFjMDEycDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuMDQ2OGE4YWNlNGRmNjQzOTUzZjJhNzM5ZTMxM2I1ZDRwMSwKKyAgICAweDEuMHAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgLTB4MS4wNDY4YThhY2U0ZGY2NDM5NTNmMmE3MzllMzEzYjVkNHAxLAorICAgIC0weDEuMHAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgMHgxLjA0NjhhOGFjZTRkZjYxMDYyMGJmNzQwNmFmZWFjMDEycDEsCisgICAgMHgxLjBwMywKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIC0weDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAtMHgxLjBwMywKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS4wNDY4YThhY2U0ZGY1ZjZjODcyNWRhNmQxNjRlOTcxY3AxLAorICAgIDB4MS4wcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAtMHgxLjA0NjhhOGFjZTRkZjVmNmM4NzI1ZGE2ZDE2NGU5NzFjcDEsCisgICAgLTB4MS4wcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDIKKyAgICAweDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzAzCisgICAgLTB4MS4wNDY4YThhY2U0ZGY2MTA2MjBiZjc0MDZhZmVhYzAxMnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLjA0NjhhOGFjZTRkZjVkZDJlZDhjNDBkMzdjZTA4MmExcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIC0weDEuMDQ2OGE4YWNlNGRmNWRkMmVkOGM0MGQzN2NlMDgyYTFwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS4wNDY4YThhY2U0ZGY1YzM5NTNmMmE3MzllMzUzYjVkNHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAtMHgxLjA0NjhhOGFjZTRkZjVjMzk1M2YyYTczOWUzNTNiNWQ0cDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEwMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMmZmZmZmZnAtMTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAyZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAwLAorICAgIDB4MS4wcC0xMDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMCwKKyAgICAtMHgxLjBwLTEwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIDB4MS4wcC0xMDIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS4wcC0xMDIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZmZmZmZwLTEwMSwKKyAgICAweDEuMHAtMTAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMTAxLAorICAgIC0weDEuMHAtMTAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMjAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yMDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yMDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTIwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjAzLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtMjAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjAzLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAyZmZmZmZmcC0yMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDczMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDJmZmZmZmZwLTIwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTIwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDczMgorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0yMDAsCisgICAgMHgxLjBwLTIwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMjAwLAorICAgIC0weDEuMHAtMjAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yMDEsCisgICAgMHgxLjBwLTIwMiwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTIwMSwKKyAgICAtMHgxLjBwLTIwMiwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMjAxLAorICAgIDB4MS4wcC0yMDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAxZmZmZmZmcC0yMDEsCisgICAgLTB4MS4wcC0yMDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBjMHAtMjAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yMDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTIwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMjAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yMDIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0yMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yMDIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTIwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMjAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMDAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQ1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEwMDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwMDMsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTAwMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMmZmZmZmZnAtMTAwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTAwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDJmZmZmZmZwLTEwMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMDAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzUwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMDAsCisgICAgMHgxLjBwLTEwMDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMDAsCisgICAgLTB4MS4wcC0xMDAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAxLAorICAgIDB4MS4wcC0xMDAyLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwMSwKKyAgICAtMHgxLjBwLTEwMDIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZmZmZmZwLTEwMDEsCisgICAgMHgxLjBwLTEwMDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAxZmZmZmZmcC0xMDAxLAorICAgIC0weDEuMHAtMTAwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzU3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAwMiwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDc1OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDAyLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDc2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAyLAorICAgIDB4MS4wcDEwMworICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMiwKKyAgICAweDEuMHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDNmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMworICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDNmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAweDEuZmZmZmZmZmZmZmZmYTAwMDAwMDAwMDAwMGJmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDc3MQorICAgIC0weDEuZmZmZmZmZmZmZmZmYTAwMDAwMDAwMDAwMGJmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA4MHAtMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDgwcC0xMDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuMHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjBwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAyZmZmZmZmcC0xMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAyZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmIwMDAwMDAwMDAwMDA5ZmZmZmZmcC0xMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmIwMDAwMDAwMDAwMDA5ZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAxcC0xMDAsCisgICAgMHgxLjBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAxcC0xMDAsCisgICAgLTB4MS4wcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMCwKKyAgICAweDEuMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDc4NQorICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAwLAorICAgIC0weDEuMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wcDEwMworICB9LAorICB7IC8vIEVudHJ5IDc4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMTAxLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMTAxLAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMworICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwN2ZmZmZmZnAtMTAxLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwN2ZmZmZmZnAtMTAxLAorICAgIC0weDEuMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIDB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMnAtMTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzkzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMnAtMTAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDc5NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wcDEwMworICB9LAorICB7IC8vIEVudHJ5IDc5NworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuMHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMworICB9LAorICB7IC8vIEVudHJ5IDc5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDNmZmZmZmZwLTEwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDNmZmZmZmZwLTEwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDNwLTEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDgwMworICAgIC0weDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDNwLTEwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE0MHAtMTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwMTQwcC0xMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMywKKyAgICAweDEuMHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDMsCisgICAgMHgxLjBwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmcC0xMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmcC0xMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZjdmZmZmZnAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmN2ZmZmZmcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZjdmZmZmZnAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmN2ZmZmZmcC0xMDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgxOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZjdmZmZmZnAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmN2ZmZmZmcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA4MHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwODBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgzMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDFwLTEwMjMsCisgICAgMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMXAtMTAyMywKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODM0CisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMjMsCisgICAgMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODM1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0xMDIzLAorICAgIC0weDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAyMywKKyAgICAweDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMjMsCisgICAgLTB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0xMDIzLAorICAgIDB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgzOQorICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAyMywKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMjMsCisgICAgMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0xMDIzLAorICAgIC0weDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDIKKyAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDJwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQ0CisgICAgMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBjMHAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBjMHAtMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDNwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwM3AtMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxNDBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODU1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwMTQwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE0MHAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxNDBwLTEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIDB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwMTQwcC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE0MHAtMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxNDBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwMTQwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODY0CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmN2ZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZjdmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmN2ZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODY5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZjdmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmN2ZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg3MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmY3ZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg3MgorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDgwcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg3MworICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA4MHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODc5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMXAtMTAyMiwKKyAgICAweDEuMHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAxcC0xMDIyLAorICAgIC0weDEuMHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAyMiwKKyAgICAweDEuMHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMjIsCisgICAgLTB4MS4wcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg4NgorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0xMDIyLAorICAgIDB4MS4wcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAyMiwKKyAgICAtMHgxLjBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODg4CisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMjIsCisgICAgMHgxLjBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0xMDIyLAorICAgIC0weDEuMHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAyMiwKKyAgICAweDEuMHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwLTEwMjIsCisgICAgLTB4MS4wcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg5MgorICAgIDB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMnAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAycC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBjMHAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg5NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg5NworICAgIC0weDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBjMHAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODk5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMGMwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDBjMHAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwYzBwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkwMgorICAgIDB4MS4wMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwM3AtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAzcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE0MHAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxNDBwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkwNgorICAgIDB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwMTQwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkwNworICAgIC0weDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE0MHAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTA4CisgICAgMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxNDBwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwMTQwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE0MHAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxNDBwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDkxMworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTE2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAxMDIzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTE3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMTAyMywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDkxOAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyMAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDkyMworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTI3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDkyOAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkzMAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkzMgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTM2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuMHAxMDIzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTM3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDkzOAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk0MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk0MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDk0MworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQ2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQ3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDk0OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk1MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk1MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDk1MworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTU2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTU3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDk1OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2MgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTYzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk2NAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTY1CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDk2NgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTY4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk2OQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk3MAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzEKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzMKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk3NQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDk3NgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzcKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzgKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk4MAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODIKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk4MworICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk4NAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk4NQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDk4NgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTg3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDk4OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTg5CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTEKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk5MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk5NAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDk5NQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTk2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTk3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTk4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwMDAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAyCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMDUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNworICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAwOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAwOQorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMTAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDExCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMTIKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMTMKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMTQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxNQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTAxNgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxOAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwMTkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAyMQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIyCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwMjMKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNgorICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMjcKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMjgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI5CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMzEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzMgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM1CisgICAgMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMzYKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMzcKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMzgKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAzOQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNDIKKyAgICAweDEuOTIxZmI1NDQ0MmQxNzQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNDMKKyAgICAweDEuOTIxZmI1NDQ0MmQxOTQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTU1NXAtNTMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTU1NXAtNTMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0OQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNTAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUxCisgICAgMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA1MgorICAgIDB4MS45MjFmYjU0NDQyZDE3YzY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNTMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNTQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNTUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTc0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA1NgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNTgKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdjNjk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNTkKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOTQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA2MQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYyCisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNjQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NQorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2F0YW4yZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvYXRhbjJmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTkwNDZjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2F0YW4yZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw0NzAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZmxvYXQsIGZsb2F0LCBmbG9hdD4gZ19hdGFuMmZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLmZmZmZlNDAwMDE4N2ZmZWE5MDAxMmMxZmVmOTYzZTNicC02MCwKKyAgICAtMHgxLnAtMTAwLAorICAgIDB4MS4wMDAwMGVwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5mZmZmZTQwMDAxODdmZmVhOTAwMTJjMWZlZjk2M2UzYnAtNjAsCisgICAgMHgxLnAtMTAwLAorICAgIDB4MS4wMDAwMGVwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0wLjBmLAorICAgIC0weDEucC0xMDAsCisgICAgMHgxLjAwMDAwZXA1MAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAwLjBmLAorICAgIDB4MS5wLTEwMCwKKyAgICAweDEuMDAwMDBlcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuN2ZmZmZmZmZmZmY0NGNjY2ZmOTVmMTNiMTVlZTQwZjNwLTExLAorICAgIC0weDEuMDAwMDAycC0xMCwKKyAgICAweDEuNTU1NTU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjdmZmZmZmZmZmZmNDRjY2NmZjk1ZjEzYjE1ZWU0MGYzcC0xMSwKKyAgICAweDEuMDAwMDAycC0xMCwKKyAgICAweDEuNTU1NTU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS5mZmZmZmMwMDAwMGQ1NTU1MDU1NTU3MWJiYmIyZDExMXAtMjMsCisgICAgLTB4MS4wMDAwMDRwMCwKKyAgICAweDEuMDAwMDA2cDIyCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5mZmZmZmMwMDAwMGQ1NTU1MDU1NTU3MWJiYmIyZDExMXAtMjMsCisgICAgMHgxLjAwMDAwNHAwLAorICAgIDB4MS4wMDAwMDZwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS5kYWQyMGVmZmJkMzBmNDMxMGE1ODUwMmIwZmYzOTY1ZHAtMiwKKyAgICAtMHgxLjAwMDAwNnAzLAorICAgIDB4MS5mZmYxODZwMworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuZGFkMjBlZmZiZDMwZjQzMTBhNTg1MDJiMGZmMzk2NWRwLTIsCisgICAgMHgxLjAwMDAwNnAzLAorICAgIDB4MS5mZmYxODZwMworICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5mZjY1NGJkZWZjMTk3Yzc1MTU5ZTIzYjg2YTExMjdjMXAtNSwKKyAgICAtMHgxLjAwMDhwMTYsCisgICAgMHgxLjAwMDAzMHAyMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmZmNjU0YmRlZmMxOTdjNzUxNTllMjNiODZhMTEyN2MxcC01LAorICAgIDB4MS4wMDA4cDE2LAorICAgIDB4MS4wMDAwMzBwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIC0weDEuZmY5YjM5ZTFhNDcyODI1NGJjYjkxZjg5NWU1MmFiYzJwLTUsCisgICAgLTB4MS4wMDIzMDRwMywKKyAgICAweDEuMDAwMDIycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5mZjliMzllMWE0NzI4MjU0YmNiOTFmODk1ZTUyYWJjMnAtNSwKKyAgICAweDEuMDAyMzA0cDMsCisgICAgMHgxLjAwMDAyMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLjQzZTZiYjAxMGEwMjJhYmFhOTdiYzkyYzJiZjkyYjJkcC0yLAorICAgIC0weDEuMDRmZDE0cC00LAorICAgIDB4MS44ZWIzNThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS40M2U2YmIwMTBhMDIyYWJhYTk3YmM5MmMyYmY5MmIyZHAtMiwKKyAgICAweDEuMDRmZDE0cC00LAorICAgIDB4MS44ZWIzNThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEuOTA1ODI3NjEwYWExOTQwNjZiNzNhMzZiY2FmYTIwNDFwLTEsCisgICAgLTB4MS4wNTk2YmNwLTMsCisgICAgMHgxLjA3NjlkY3AtMworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjkwNTgyNzYxMGFhMTk0MDY2YjczYTM2YmNhZmEyMDQxcC0xLAorICAgIDB4MS4wNTk2YmNwLTMsCisgICAgMHgxLjA3NjlkY3AtMworICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS5mNWI3NzEwMzQ3YjlhOGI3OWFmZGVmYzMxYTIxODVhMHAtMiwKKyAgICAtMHgxLjExMTExOHAtMiwKKyAgICAweDEuZmZmZmY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZjViNzcxMDM0N2I5YThiNzlhZmRlZmMzMWEyMTg1YTBwLTIsCisgICAgMHgxLjExMTExOHAtMiwKKyAgICAweDEuZmZmZmY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLjE1MWM0NzdjYjkxYWQ0YmI0YTY1ZThkM2ZkMzMyMWY0cDAsCisgICAgLTB4MS4xMTExMThwLTE0LAorICAgIDB4MS4yMjIyMThwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMTUxYzQ3N2NiOTFhZDRiYjRhNjVlOGQzZmQzMzIxZjRwMCwKKyAgICAweDEuMTExMTE4cC0xNCwKKyAgICAweDEuMjIyMjE4cC0xNQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgLTB4MS41MjBhY2IwMDJlMThlOTdjZjdiZWEyYWU5MjkwMzU3YnAwLAorICAgIC0weDEuMTk5OTk0cC0xLAorICAgIDB4MS4yMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjUyMGFjYjAwMmUxOGU5N2NmN2JlYTJhZTkyOTAzNTdicDAsCisgICAgMHgxLjE5OTk5NHAtMSwKKyAgICAweDEuMjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuZDFhMWViYWQyOGNhNzQzZWU1NDMxMzJiNDU5ODBkNWNwLTIsCisgICAgLTB4MS4xOTk5OThwLTEsCisgICAgMHgxLjIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5kMWExZWJhZDI4Y2E3NDNlZTU0MzEzMmI0NTk4MGQ1Y3AtMiwKKyAgICAweDEuMTk5OTk4cC0xLAorICAgIDB4MS4yMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS4xOTk5OWFwMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4xOTk5OWFwMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIC0weDEuOTIyMTcwZmU4NmRjNTY5NjljNzhiOTU5NTA4MTc0ZDNwLTEsCisgICAgLTB4MS4yYzAyMDJwOSwKKyAgICAweDEuMmJmZmZhcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS45MjIxNzBmZTg2ZGM1Njk2OWM3OGI5NTk1MDgxNzRkM3AtMSwKKyAgICAweDEuMmMwMjAycDksCisgICAgMHgxLjJiZmZmYXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLjhlYzE3MGZjNTFiYjBhMjNiZDAxMGNjODI2OTZmNTQ4cDAsCisgICAgLTB4MS4yZmZmZjBwNiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS44ZWMxNzBmYzUxYmIwYTIzYmQwMTBjYzgyNjk2ZjU0OHAwLAorICAgIDB4MS4yZmZmZjBwNiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEuMmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0NiwKKyAgICAtMHgxLjMwcC0xNDUsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuMmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0NiwKKyAgICAweDEuMzBwLTE0NSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIC0weDEuMmE3M2FjZmNlZDUzOGRlMGUzN2ZlNmI5YjBhNDFlYmFwLTIsCisgICAgLTB4MS4zMzMzMzhwLTIsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjJhNzNhY2ZjZWQ1MzhkZTBlMzdmZTZiOWIwYTQxZWJhcC0yLAorICAgIDB4MS4zMzMzMzhwLTIsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEuNDBwLTE0NywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS40MHAtMTQ3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS4zZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ4LAorICAgIC0weDEuNDBwLTE0NywKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS4zZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ4LAorICAgIDB4MS40MHAtMTQ3LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS5mZmEzM2RjYzcyY2U1YTI0ZmJmZmM0NzJlNmQ4YWE1NHAtNSwKKyAgICAtMHgxLjc3ZmZmZXAtMTUsCisgICAgMHgxLjc3YzZlMnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mZmEzM2RjYzcyY2U1YTI0ZmJmZmM0NzJlNmQ4YWE1NHAtNSwKKyAgICAweDEuNzdmZmZlcC0xNSwKKyAgICAweDEuNzdjNmUycC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS43MmVhYjY0MGRhYjNmZjE2ZTU3YWNkYmU3M2U4MDRkNnAtMiwKKyAgICAtMHgxLjdiNGExNnAtNCwKKyAgICAweDEuZjQ3NGQ4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuNzJlYWI2NDBkYWIzZmYxNmU1N2FjZGJlNzNlODA0ZDZwLTIsCisgICAgMHgxLjdiNGExNnAtNCwKKyAgICAweDEuZjQ3NGQ4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLjdmZmZhZDAwMWViZWJmM2E1OTljMDM4NTRiNTFlNTk3cC05LAorICAgIC0weDEuN2ZmZmZlcDAsCisgICAgMHgxLjAwMDAwNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuN2ZmZmFkMDAxZWJlYmYzYTU5OWMwMzg1NGI1MWU1OTdwLTksCisgICAgMHgxLjdmZmZmZXAwLAorICAgIDB4MS4wMDAwMDZwOQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5lMzUzOWMwZjE1ZjdmNDhlYWIyMDg4MDNhMjlhMmM3ZHAwLAorICAgIC0weDEuODVlODVlcC0xLAorICAgIC0weDEuZmZmZmZjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuZTM1MzljMGYxNWY3ZjQ4ZWFiMjA4ODAzYTI5YTJjN2RwMCwKKyAgICAweDEuODVlODVlcC0xLAorICAgIC0weDEuZmZmZmZjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMHgxLmZmZjdhOTVhZGFjNDNlOWM5NzYzOTgxOTExZjBhZjkxcC02LAorICAgIC0weDEuODgxYTRhcDUsCisgICAgMHgxLjg4cDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuZmZmN2E5NWFkYWM0M2U5Yzk3NjM5ODE5MTFmMGFmOTFwLTYsCisgICAgMHgxLjg4MWE0YXA1LAorICAgIDB4MS44OHAxMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5hZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ2LAorICAgIC0weDEuYjBwLTE0NSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5hZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ2LAorICAgIDB4MS5iMHAtMTQ1LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5hNWNlOGQxYTI4ZDViY2IyNzBiYzAxNjc5MGViNDIzYXAwLAorICAgIC0weDEuYmJiYmJjcC0xLAorICAgIC0weDEuMTE3OWY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuYTVjZThkMWEyOGQ1YmNiMjcwYmMwMTY3OTBlYjQyM2FwMCwKKyAgICAweDEuYmJiYmJjcC0xLAorICAgIC0weDEuMTE3OWY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLmVhZmU3MDAwYTVkYzI2NGY3MGZlMWRkN2Y2ODRiMTYwcC0zLAorICAgIC0weDEuZDU1NTU0cC0xLAorICAgIDB4MS5kZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLmVhZmU3MDAwYTVkYzI2NGY3MGZlMWRkN2Y2ODRiMTYwcC0zLAorICAgIDB4MS5kNTU1NTRwLTEsCisgICAgMHgxLmRmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLmViNGE3NTAwMWRlZWU1OWE4ZjFkMDNmMmU3MjViM2FlcC0yLAorICAgIC0weDEuZDVlOTI2cC0zLAorICAgIDB4MS5jMzhkYzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5lYjRhNzUwMDFkZWVlNTlhOGYxZDAzZjJlNzI1YjNhZXAtMiwKKyAgICAweDEuZDVlOTI2cC0zLAorICAgIDB4MS5jMzhkYzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0NywKKyAgICAtMHgxLmUwcC0xNDYsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0NywKKyAgICAweDEuZTBwLTE0NiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIC0weDEuZjEyYWI4ZjRmNzNkMTRhYmVmYThlMzZjYWMxNjgxcC0xOSwKKyAgICAtMHgxLmYxMmE5NnAyLAorICAgIDB4MS5mZmZmZGNwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5mMTJhYjhmNGY3M2QxNGFiZWZhOGUzNmNhYzE2ODFwLTE5LAorICAgIDB4MS5mMTJhOTZwMiwKKyAgICAweDEuZmZmZmRjcDIwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLmU0MmIyNTAwMzllN2RjYTFmZTA0ZWUzMDQ2ODRjMGVkcC0yLAorICAgIC0weDEuZjg3MzJhcC0yLAorICAgIDB4MS5lZDE2ZTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5lNDJiMjUwMDM5ZTdkY2ExZmUwNGVlMzA0Njg0YzBlZHAtMiwKKyAgICAweDEuZjg3MzJhcC0yLAorICAgIDB4MS5lZDE2ZTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuZmY1NzFhMTUzNWU4NGEzZWQwNjE3ZjdjOGJkNDNjOWRwLTUsCisgICAgLTB4MS5mZmZmZGVwLTMsCisgICAgMHgxLmZmZmU3ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuZmY1NzFhMTUzNWU4NGEzZWQwNjE3ZjdjOGJkNDNjOWRwLTUsCisgICAgMHgxLmZmZmZkZXAtMywKKyAgICAweDEuZmZmZTdlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuNWZmZmY3YzAwMDMxN2ZmZWQ3MDAwNmY1ZmZkNjNjcC0xNDcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS43NDVkMjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuNWZmZmY3YzAwMDMxN2ZmZWQ3MDAwNmY1ZmZkNjNjcC0xNDcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuNzQ1ZDIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuNDAwMDBkYzAwMDk3NDAwNjdmYzA0NzdkNDMxMjYxZTFwLTE0NiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjk5OTk4OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS40MDAwMGRjMDAwOTc0MDA2N2ZjMDQ3N2Q0MzEyNjFlMXAtMTQ2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjk5OTk4OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjAwMDAwMTAwMDAwMGZmZmFhYmFhOWFhYmFhOGFhYmRkcC0zMCwKKyAgICAweDEucDIsCisgICAgMHgxLmZmZmZmZXAzMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS4wMDAwMDEwMDAwMDBmZmZhYWJhYTlhYWJhYThhYWJkZHAtMzAsCisgICAgLTB4MS5wMiwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuMDNhMjY0ZmZmYThmODI2MmIxZmFiZjcxNDkxNDJjYjFwLTEsCisgICAgMHgxLnA5LAorICAgIDB4MS5jY2NjZDhwOQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS4wM2EyNjRmZmZhOGY4MjYyYjFmYWJmNzE0OTE0MmNiMXAtMSwKKyAgICAtMHgxLnA5LAorICAgIDB4MS5jY2NjZDhwOQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjA5NmQwMjkxMDY3NmMyYmUxMWRjZmU5ZmUzMTc1Mjc4cDEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAtMHgxLjE5OTk4ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS4wOTZkMDI5MTA2NzZjMmJlMTFkY2ZlOWZlMzE3NTI3OHAxLAorICAgIC0weDEuMDAwMDAycC0xLAorICAgIC0weDEuMTk5OThlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuZmY1NGI4ZDA0ZTc5N2YxNDYzMTUyYTMyN2QwYjg2YzRwLTIsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZDU1NTYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLmZmNTRiOGQwNGU3OTdmMTQ2MzE1MmEzMjdkMGI4NmM0cC0yLAorICAgIC0weDEuMDAwMDAycC0xLAorICAgIDB4MS5kNTU1NjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5kYWM2NzUyMmU4ODNhZWRjYzljNDczNDM4ZTkzNjk2NHAtMiwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuZGFjNjc1MjJlODgzYWVkY2M5YzQ3MzQzOGU5MzY5NjRwLTIsCisgICAgLTB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmY0MzA5OTk2NzJjMDRlMGRmNDZmZDEzMDcxOTFhMzgwcC00LAorICAgIDB4MS4wMDAwMDJwLTMsCisgICAgMHgxLjA0YmQ5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLmY0MzA5OTk2NzJjMDRlMGRmNDZmZDEzMDcxOTFhMzgwcC00LAorICAgIC0weDEuMDAwMDAycC0zLAorICAgIDB4MS4wNGJkOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjdmYjgxZWZmNDNkNGYyNDM4N2UyN2UwNDJkNjU2MmRicC01LAorICAgIDB4MS4wMDAwMDJwLTUsCisgICAgMHgxLjU1NTU1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS43ZmI4MWVmZjQzZDRmMjQzODdlMjdlMDQyZDY1NjJkYnAtNSwKKyAgICAtMHgxLjAwMDAwMnAtNSwKKyAgICAweDEuNTU1NTUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuMDAwMDAzMDAwMDAxYWFhYWExYWFhYTgwZGRkZDk4ZGRwLTIzLAorICAgIDB4MS4wMDAwMDJwLTIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0weDEuMDAwMDAzMDAwMDAxYWFhYWExYWFhYTgwZGRkZDk4ZGRwLTIzLAorICAgIC0weDEuMDAwMDAycC0yMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuOTIxZmI0ZmRkYzZhNjZmOGU1NGYwMTJhMTQ4Y2FjNGVwMSwKKyAgICAweDEuMDAwMDAycC0yNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgLTB4MS45MjFmYjRmZGRjNmE2NmY4ZTU0ZjAxMmExNDhjYWM0ZXAxLAorICAgIC0weDEuMDAwMDAycC0yNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjA0NjhhOTc5YjFhOWYwNjI0ZjRjMTUxNmQ5NmM2NDIycDEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDA2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAtMHgxLjA0NjhhOTc5YjFhOWYwNjI0ZjRjMTUxNmQ5NmM2NDIycDEsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmI5NmU1N2FiZjkwMTQwZjg5NDA5MTgzOGMyYjhhNjkwcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuYjZkYjc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLmI5NmU1N2FiZjkwMTQwZjg5NDA5MTgzOGMyYjhhNjkwcC0xLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmI2ZGI3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmYwMWVjZmRhMjVkZTcwYzNlMGJmZGVhMjI5NTEwZmQzcDAsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIC0weDEuODlkOGEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLmYwMWVjZmRhMjVkZTcwYzNlMGJmZGVhMjI5NTEwZmQzcDAsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAtMHgxLjg5ZDhhMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmZmNTYyNTA5NGQ5NTBkYjBjNzQxNDQ4ODZkOTFjMTRjcC01LAorICAgIDB4MS4wMDAwMDRwLTMsCisgICAgMHgxLmZmZmY5ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS5mZjU2MjUwOTRkOTUwZGIwYzc0MTQ0ODg2ZDkxYzE0Y3AtNSwKKyAgICAtMHgxLjAwMDAwNHAtMywKKyAgICAweDEuZmZmZjllcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZmQ1YmQ0ZmQ3YWM4YjBjZjYwMDZjNDQxNGY3NDNlYTBwLTQsCisgICAgMHgxLjAwMDAwNnAzLAorICAgIDB4MS5mZmZmZTBwNQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC0weDEuZmQ1YmQ0ZmQ3YWM4YjBjZjYwMDZjNDQxNGY3NDNlYTBwLTQsCisgICAgLTB4MS4wMDAwMDZwMywKKyAgICAweDEuZmZmZmUwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuOGM0ZjQ3MDAwM2UxMThiNzY0OTFiMGM4NTlkNmMwNTNwMSwKKyAgICAweDEuMDAwMDA4cC0yLAorICAgIC0weDEuNjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuOGM0ZjQ3MDAwM2UxMThiNzY0OTFiMGM4NTlkNmMwNTNwMSwKKyAgICAtMHgxLjAwMDAwOHAtMiwKKyAgICAtMHgxLjYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMjgzNDYwM2I1MWIwYjFiN2FkYTUxYmFkYjhjNWU3ODdwLTEsCisgICAgMHgxLjAwMDAwZXAtMjAsCisgICAgMHgxLjg4cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIC0weDEuMjgzNDYwM2I1MWIwYjFiN2FkYTUxYmFkYjhjNWU3ODdwLTEsCisgICAgLTB4MS4wMDAwMGVwLTIwLAorICAgIDB4MS44OHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZjc3ZTdiYjY0ZWI1ZjQyMzk1YTZkOGFkY2ZmYTYzMzdwLTIsCisgICAgMHgxLjAwMDAwZXAtMjAsCisgICAgMHgxLmRkZmZmZXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAtMHgxLmY3N2U3YmI2NGViNWY0MjM5NWE2ZDhhZGNmZmE2MzM3cC0yLAorICAgIC0weDEuMDAwMDBlcC0yMCwKKyAgICAweDEuZGRmZmZlcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5mZmQ4N2NmNmZkMzgyNDlmYzIzMWM1NDAyZWRiYzEyMnAtNiwKKyAgICAweDEuMDAwMDEwcC0zLAorICAgIDB4MS5mZmZjZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIC0weDEuZmZkODdjZjZmZDM4MjQ5ZmMyMzFjNTQwMmVkYmMxMjJwLTYsCisgICAgLTB4MS4wMDAwMTBwLTMsCisgICAgMHgxLmZmZmNmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmZkNWJkNGZkNzZiOGVmYjU5MjEwNzEyZDg4YjZlOTEycC00LAorICAgIDB4MS4wMDAwMWVwMywKKyAgICAweDEuMDAwMDA4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMHgxLmZkNWJkNGZkNzZiOGVmYjU5MjEwNzEyZDg4YjZlOTEycC00LAorICAgIC0weDEuMDAwMDFlcDMsCisgICAgMHgxLjAwMDAwOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmZkNWMzNTdiODc5YjJmZTMwZGVkY2QzMTM1Y2I2OTFicC00LAorICAgIDB4MS4wMDAwMzhwMywKKyAgICAweDEuZmZmZmUycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLmZkNWMzNTdiODc5YjJmZTMwZGVkY2QzMTM1Y2I2OTFicC00LAorICAgIC0weDEuMDAwMDM4cDMsCisgICAgMHgxLmZmZmZlMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjk5MzkyY2ZmZmZiMWUzNDQzMWRjMGI3ODU5MmFkMjdjcDAsCisgICAgMHgxLjAwMDI2MnAwLAorICAgIC0weDEuYzY3ZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS45OTM5MmNmZmZmYjFlMzQ0MzFkYzBiNzg1OTJhZDI3Y3AwLAorICAgIC0weDEuMDAwMjYycDAsCisgICAgLTB4MS5jNjdmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuZmY2NTRiZGVmYzE5N2M3NTE1OWUyM2I4NmExMTI3YzFwLTUsCisgICAgMHgxLjAwMDhwMTYsCisgICAgMHgxLjAwMDAzMHAyMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuZmY2NTRiZGVmYzE5N2M3NTE1OWUyM2I4NmExMTI3YzFwLTUsCisgICAgLTB4MS4wMDA4cDE2LAorICAgIDB4MS4wMDAwMzBwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuMzIxYTZhZWFiMjA5MjExMjYwYTU3ZmZhMzMyOTg3NGVwLTEsCisgICAgMHgxLjAwMGVwLTIwLAorICAgIDB4MS43N2ZmZmVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgLTB4MS4zMjFhNmFlYWIyMDkyMTEyNjBhNTdmZmEzMzI5ODc0ZXAtMSwKKyAgICAtMHgxLjAwMGVwLTIwLAorICAgIDB4MS43N2ZmZmVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLmZmNzUzYmVhNzgwZTRiNjcxNWIxMjg5OGQyNmZhZGEwcC01LAorICAgIDB4MS4wMDEwcC0zLAorICAgIDB4MS4wMDAwMzBwMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIC0weDEuZmY3NTNiZWE3ODBlNGI2NzE1YjEyODk4ZDI2ZmFkYTBwLTUsCisgICAgLTB4MS4wMDEwcC0zLAorICAgIDB4MS4wMDAwMzBwMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS40MDBlYTlmZmZkMGRjZjI5ODlhNGU3NmY4YWE1ZGI1MXAtMSwKKyAgICAweDEuMDAxYmU0cC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLjQwMGVhOWZmZmQwZGNmMjk4OWE0ZTc2ZjhhYTVkYjUxcC0xLAorICAgIC0weDEuMDAxYmU0cC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuZmY5YjM5ZTFhNDcyODI1NGJjYjkxZjg5NWU1MmFiYzJwLTUsCisgICAgMHgxLjAwMjMwNHAzLAorICAgIDB4MS4wMDAwMjJwNworICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEuZmY5YjM5ZTFhNDcyODI1NGJjYjkxZjg5NWU1MmFiYzJwLTUsCisgICAgLTB4MS4wMDIzMDRwMywKKyAgICAweDEuMDAwMDIycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuOTQzZjlhNGIzNmViMmI4MDMzZGU1MTEwNjg5ZWMyMjhwLTEsCisgICAgMHgxLjAyMjIyOHAwLAorICAgIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjk0M2Y5YTRiMzZlYjJiODAzM2RlNTExMDY4OWVjMjI4cC0xLAorICAgIC0weDEuMDIyMjI4cDAsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5jNjY0NTBmZmU5MDVhYmRjZmUwNTMxZDVmMTRjMjIzOHAwLAorICAgIDB4MS4wYjc3NzhwLTIxLAorICAgIC0weDEuYmIwY3AtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLmM2NjQ1MGZmZTkwNWFiZGNmZTA1MzFkNWYxNGMyMjM4cDAsCisgICAgLTB4MS4wYjc3NzhwLTIxLAorICAgIC0weDEuYmIwY3AtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuZjc1OWVjMzZlNTliZDYxYjAxN2I2ZWJhYWYxNDg0ODlwLTIsCisgICAgMHgxLjBkZjZiMHA5LAorICAgIDB4MS5mODNkYzBwOQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuZjc1OWVjMzZlNTliZDYxYjAxN2I2ZWJhYWYxNDg0ODlwLTIsCisgICAgLTB4MS4wZGY2YjBwOSwKKyAgICAweDEuZjgzZGMwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuMDAzOWUyNDY1Y2Y4MDgxZmM5YzNmNmFjYzYwMTdlMzFwLTEsCisgICAgMHgxLjBmODNkYXA5LAorICAgIDB4MS5mMDdiZDRwOQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuMDAzOWUyNDY1Y2Y4MDgxZmM5YzNmNmFjYzYwMTdlMzFwLTEsCisgICAgLTB4MS4wZjgzZGFwOSwKKyAgICAweDEuZjA3YmQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuMzJjMDBjZmZmZjgwNjEyYWMyOWQ5NmU1Mzg3ZTRhY2RwLTEsCisgICAgMHgxLjEwY2VlMHAxLAorICAgIDB4MS44ZjgzZTRwMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuMzJjMDBjZmZmZjgwNjEyYWMyOWQ5NmU1Mzg3ZTRhY2RwLTEsCisgICAgLTB4MS4xMGNlZTBwMSwKKyAgICAweDEuOGY4M2U0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuZmM5ZDNlZmZjZjYzY2UzYzczZDMyZjY4OGI3ZTBkM2VwLTIsCisgICAgMHgxLjEzMzMzMnA5LAorICAgIDB4MS5mYmJiYWNwOQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuZmM5ZDNlZmZjZjYzY2UzYzczZDMyZjY4OGI3ZTBkM2VwLTIsCisgICAgLTB4MS4xMzMzMzJwOSwKKyAgICAweDEuZmJiYmFjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuMTNiN2JhOWNiZDJiZGUwYWU5OWRkNWI5MGI2YTZjYWVwLTQsCisgICAgMHgxLjE0MjI4OHAtNSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS4xM2I3YmE5Y2JkMmJkZTBhZTk5ZGQ1YjkwYjZhNmNhZXAtNCwKKyAgICAtMHgxLjE0MjI4OHAtNSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLjliYWViOTAzMTczNTQ5YTQ2MDVjMTNjYjBlYzVjOTk3cC0xLAorICAgIDB4MS4xYThhMDhwLTEsCisgICAgMHgxLjEwMmU4OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEuOWJhZWI5MDMxNzM1NDlhNDYwNWMxM2NiMGVjNWM5OTdwLTEsCisgICAgLTB4MS4xYThhMDhwLTEsCisgICAgMHgxLjEwMmU4OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS41ODVlZDEwMDAzZTI1MDM5Mjg4ZDJhNTk3YmFhYmI0ZXAtMSwKKyAgICAweDEuMWFhYjBlcC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLjU4NWVkMTAwMDNlMjUwMzkyODhkMmE1OTdiYWFiYjRlcC0xLAorICAgIC0weDEuMWFhYjBlcC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuZmQ3YjMwZmU3NTQ1MjEyOWRkNGQ5MjU3NWIxYjY2NDNwLTMsCisgICAgMHgxLjIwcDAsCisgICAgMHgxLjFiNmRiNnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS5mZDdiMzBmZTc1NDUyMTI5ZGQ0ZDkyNTc1YjFiNjY0M3AtMywKKyAgICAtMHgxLjIwcDAsCisgICAgMHgxLjFiNmRiNnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjVlZTJhYmZmZmM4MzMwODdhODQ2MmQ4NDNkMzc1ZjQwcC0xLAorICAgIDB4MS4yMjFmZmNwLTEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuNWVlMmFiZmZmYzgzMzA4N2E4NDYyZDg0M2QzNzVmNDBwLTEsCisgICAgLTB4MS4yMjFmZmNwLTEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS45MjJkZDJmZWE0MWEwN2EwMDg1MjA2MjY4MDQ0OTE5MnAtMSwKKyAgICAweDEuMjIzMjI0cDksCisgICAgMHgxLjIyMjIyNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS45MjJkZDJmZWE0MWEwN2EwMDg1MjA2MjY4MDQ0OTE5MnAtMSwKKyAgICAtMHgxLjIyMzIyNHA5LAorICAgIDB4MS4yMjIyMjRwOQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5mZDk4NzY1YjdhMzExYWQ5NzRiNTg2MTczN2E4OTEyNnAtNCwKKyAgICAweDEuMzAyNGE2cC0xLAorICAgIDB4MS4yZmZmZmNwMgorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuZmQ5ODc2NWI3YTMxMWFkOTc0YjU4NjE3MzdhODkxMjZwLTQsCisgICAgLTB4MS4zMDI0YTZwLTEsCisgICAgMHgxLjJmZmZmY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLmZmMTczZjU5Y2IyNWY0MzYyYzk0Y2U2YWIzOWVjZTcwcC00LAorICAgIDB4MS4zMTBiN2VwLTEsCisgICAgMHgxLjJmZmZmY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5mZjE3M2Y1OWNiMjVmNDM2MmM5NGNlNmFiMzllY2U3MHAtNCwKKyAgICAtMHgxLjMxMGI3ZXAtMSwKKyAgICAweDEuMmZmZmZjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuODkzNjYxZDk4NWNmYjZlNzhkNmVkMDc0OWIyZmQ4MDNwLTEsCisgICAgMHgxLjMxZjU2NHAtNCwKKyAgICAweDEuM2NjYzgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS44OTM2NjFkOTg1Y2ZiNmU3OGQ2ZWQwNzQ5YjJmZDgwM3AtMSwKKyAgICAtMHgxLjMxZjU2NHAtNCwKKyAgICAweDEuM2NjYzgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLjM4MDBhNmY4NTk1YWU3MzcyYjE3MmVmNmFlYzQwYWYzcC0yOCwKKyAgICAweDEuMzhwLTIwLAorICAgIDB4MS5mZmZlZWVwNworICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuMzgwMGE2Zjg1OTVhZTczNzJiMTcyZWY2YWVjNDBhZjNwLTI4LAorICAgIC0weDEuMzhwLTIwLAorICAgIDB4MS5mZmZlZWVwNworICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5mNTFkZWMyMzBiM2RjZGVlNGQ0YjEwNDI3NmJkMDkxYnAwLAorICAgIDB4MS4zYTU4ZjhwMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuZjUxZGVjMjMwYjNkY2RlZTRkNGIxMDQyNzZiZDA5MWJwMCwKKyAgICAtMHgxLjNhNThmOHAwLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLmFkZDRmY2ZmZmM4MThmNzVlZGE0OWVhZTBkOGY5OGUycC0yLAorICAgIDB4MS4zY2MzNjZwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuYWRkNGZjZmZmYzgxOGY3NWVkYTQ5ZWFlMGQ4Zjk4ZTJwLTIsCisgICAgLTB4MS4zY2MzNjZwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS45ZDYzOTRmZmZmZmU4OTkwZWRmY2Y1YzMzZjllN2JjMXAwLAorICAgIDB4MS4zZmMyZTRwMywKKyAgICAtMHgxLmMyOGY1ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuOWQ2Mzk0ZmZmZmZlODk5MGVkZmNmNWMzM2Y5ZTdiYzFwMCwKKyAgICAtMHgxLjNmYzJlNHAzLAorICAgIC0weDEuYzI4ZjVlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLjE2ZDAwNTEzYTVjMmIxMTY2ODhmZWQ3YzllNmQ3YmY5cC0zLAorICAgIDB4MS40MGEwNTBwLTYsCisgICAgMHgxLjI0OTI0YXAtMworICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuMTZkMDA1MTNhNWMyYjExNjY4OGZlZDdjOWU2ZDdiZjlwLTMsCisgICAgLTB4MS40MGEwNTBwLTYsCisgICAgMHgxLjI0OTI0YXAtMworICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS42ZDcxZWEyN2RkZGU3MjkyMDQ2OTlkYjk3ZmRkMDM3ZXAtMSwKKyAgICAweDEuNDFmMDcwcDIsCisgICAgMHgxLjczYjc4MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS42ZDcxZWEyN2RkZGU3MjkyMDQ2OTlkYjk3ZmRkMDM3ZXAtMSwKKyAgICAtMHgxLjQxZjA3MHAyLAorICAgIDB4MS43M2I3ODJwMgorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS42ZTJjZTIxODJhNjU4ZDg0NTA3MjBlNjc3ZjIxY2U2MXAtMSwKKyAgICAweDEuNDI5YXA5LAorICAgIDB4MS43MzY4ZTJwOQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuNmUyY2UyMTgyYTY1OGQ4NDUwNzIwZTY3N2YyMWNlNjFwLTEsCisgICAgLTB4MS40MjlhcDksCisgICAgMHgxLjczNjhlMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLjc0MGE3NWY1ZTAwZjNjMmEyNjU4MThhOGUwNWNjYzk5cC0xLAorICAgIDB4MS40MzVlNTRwMCwKKyAgICAweDEuNmJjYTIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLjc0MGE3NWY1ZTAwZjNjMmEyNjU4MThhOGUwNWNjYzk5cC0xLAorICAgIC0weDEuNDM1ZTU0cDAsCisgICAgMHgxLjZiY2EyMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLjRlYjkyNzY2ZmExNjQxYmRjZDZiNzJmM2JkNjE5MjUxcC0xLAorICAgIDB4MS41YmFhM2FwLTIsCisgICAgMHgxLmM1Yzg1Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuNGViOTI3NjZmYTE2NDFiZGNkNmI3MmYzYmQ2MTkyNTFwLTEsCisgICAgLTB4MS41YmFhM2FwLTIsCisgICAgMHgxLmM1Yzg1Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS5mZWIxN2NhODE1MmE2ZjFjOTZlYmFiMjNlMWNhNDQzOHAtNCwKKyAgICAweDEuNWQ2YzUwcC04LAorICAgIDB4MS41YzgwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS5mZWIxN2NhODE1MmE2ZjFjOTZlYmFiMjNlMWNhNDQzOHAtNCwKKyAgICAtMHgxLjVkNmM1MHAtOCwKKyAgICAweDEuNWM4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS42MWUwNTRmZmZmNTE3NTY0ZmJiNzVmYTkyN2U5MzE3ZHAxLAorICAgIDB4MS42MmIxNDBwMSwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLjYxZTA1NGZmZmY1MTc1NjRmYmI3NWZhOTI3ZTkzMTdkcDEsCisgICAgLTB4MS42MmIxNDBwMSwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuOTI2MDY0ZmZmZDM0MmY4ZjEyOWE3MGRmOTJhNDU4YjNwLTEsCisgICAgMHgxLjYzM2RlNnAtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS45MjYwNjRmZmZkMzQyZjhmMTI5YTcwZGY5MmE0NThiM3AtMSwKKyAgICAtMHgxLjYzM2RlNnAtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmRkZjE1Y2ZmZmVmZjkwNzEzM2RmODM0MDVjZjFjMzgzcC0yLAorICAgIDB4MS42NWEzZTJwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuZGRmMTVjZmZmZWZmOTA3MTMzZGY4MzQwNWNmMWMzODNwLTIsCisgICAgLTB4MS42NWEzZTJwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS5hOGM2OTJmYzNlZmU1MGM5MjA3NmYyY2RkM2Y2YmQ5MnAwLAorICAgIDB4MS42OGI0NGVwMCwKKyAgICAtMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIC0weDEuYThjNjkyZmMzZWZlNTBjOTIwNzZmMmNkZDNmNmJkOTJwMCwKKyAgICAtMHgxLjY4YjQ0ZXAwLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLjFkNzMwZGZmZmMwZDEwODI2YmZmZjQyNjhjNGRiMjEwcDAsCisgICAgMHgxLjZhMDA5MnAwLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLjFkNzMwZGZmZmMwZDEwODI2YmZmZjQyNjhjNGRiMjEwcDAsCisgICAgLTB4MS42YTAwOTJwMCwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLjlhMDZjNmZmZmNiMDAwZjBlYjM3MTk5OGMzMzhiZGFlcC0xLAorICAgIDB4MS42ZTA0ZjJwLTEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuOWEwNmM2ZmZmY2IwMDBmMGViMzcxOTk4YzMzOGJkYWVwLTEsCisgICAgLTB4MS42ZTA0ZjJwLTEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS45MjFmOWYwMDAwMDkyYjZjYzgxZTNjZDk3NTMxMjk5Y3AwLAorICAgIDB4MS43MHAtMSwKKyAgICAweDEuMDAxMXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjkyMWY5ZjAwMDAwOTJiNmNjODFlM2NkOTc1MzEyOTljcDAsCisgICAgLTB4MS43MHAtMSwKKyAgICAweDEuMDAxMXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuNTVhMWYzMDAwNDBiMDA3YjlmY2Y4OGUwYmJhYTRiZjlwMCwKKyAgICAweDEuNzA3NjUycDEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEuNTVhMWYzMDAwNDBiMDA3YjlmY2Y4OGUwYmJhYTRiZjlwMCwKKyAgICAtMHgxLjcwNzY1MnAxLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuZmZhMzNkY2M3MmNlNWEyNGZiZmZjNDcyZTZkOGFhNTRwLTUsCisgICAgMHgxLjc3ZmZmZXAtMTUsCisgICAgMHgxLjc3YzZlMnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLmZmYTMzZGNjNzJjZTVhMjRmYmZmYzQ3MmU2ZDhhYTU0cC01LAorICAgIC0weDEuNzdmZmZlcC0xNSwKKyAgICAweDEuNzdjNmUycC0xMQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIDB4MS43NzAyZDljMGY3ZjRlMWY1ZjY1ZTgwNmU0ZTllMmViNHAtMywKKyAgICAweDEuN2I0Mjc0cC0yLAorICAgIDB4MS4wMDAwMDZwMQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuNzcwMmQ5YzBmN2Y0ZTFmNWY2NWU4MDZlNGU5ZTJlYjRwLTMsCisgICAgLTB4MS43YjQyNzRwLTIsCisgICAgMHgxLjAwMDAwNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmZhYzkyNTVlMmU4NDUwMWQ3ZjY5MTM1ZmE3OGE3ODQycC0yLAorICAgIDB4MS43YzE1NzBwLTIsCisgICAgMHgxLjYwMWU4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuZmFjOTI1NWUyZTg0NTAxZDdmNjkxMzVmYTc4YTc4NDJwLTIsCisgICAgLTB4MS43YzE1NzBwLTIsCisgICAgMHgxLjYwMWU4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS5hNGMyMjIwMDAzZTlmZjcxODRkMTFjMTFkYmVkNzkwYXAtMSwKKyAgICAweDEuN2RiNjUycC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtMHgxLmE0YzIyMjAwMDNlOWZmNzE4NGQxMWMxMWRiZWQ3OTBhcC0xLAorICAgIC0weDEuN2RiNjUycC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuNDg3ZjY4MjAyMmQzYTU1NjIxMDlhMDMwNmRjYjA1YTJwLTEsCisgICAgMHgxLjdlN2E5YXAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS40ODdmNjgyMDIyZDNhNTU2MjEwOWEwMzA2ZGNiMDVhMnAtMSwKKyAgICAtMHgxLjdlN2E5YXAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmU0OGIyZmRkZmYxOWUxYjJhZDMwNWJmODVmNTUzYWNmcDAsCisgICAgMHgxLjdmYmRkZXAwLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5lNDhiMmZkZGZmMTllMWIyYWQzMDViZjg1ZjU1M2FjZnAwLAorICAgIC0weDEuN2ZiZGRlcDAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuODAwMDAzMDAwMDAxN2ZmZmYwZmZmZmM0NGNjYzg3Y2NwLTIzLAorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuODAwMDAzMDAwMDAxN2ZmZmYwZmZmZmM0NGNjYzg3Y2NwLTIzLAorICAgIC0weDEuODBwLTIzLAorICAgIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuMjM2ZWRlMDAwNDE5ZjAyMzIyMDZhMTlkYzFjOWJhNzJwMCwKKyAgICAweDEuODA3Y2RjcDAsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuMjM2ZWRlMDAwNDE5ZjAyMzIyMDZhMTlkYzFjOWJhNzJwMCwKKyAgICAtMHgxLjgwN2NkY3AwLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuMjNhZjkxMDAwNDMyZmY3Y2E5MWI1ODY5NDQ2ZDI2NzdwMCwKKyAgICAweDEuODE3Y2NlcDAsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0weDEuMjNhZjkxMDAwNDMyZmY3Y2E5MWI1ODY5NDQ2ZDI2NzdwMCwKKyAgICAtMHgxLjgxN2NjZXAwLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuMWQwZDc4ZmZkZTc1ZTAwNWNlMTNhNDhiYjk2YzIwZDJwMSwKKyAgICAweDEuODZiY2Y2cC05LAorICAgIC0weDEuMmNkZTE0cC05CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS4xZDBkNzhmZmRlNzVlMDA1Y2UxM2E0OGJiOTZjMjBkMnAxLAorICAgIC0weDEuODZiY2Y2cC05LAorICAgIC0weDEuMmNkZTE0cC05CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLmM0MGI0NGY3ZDQ5ZWMzYmViYmU2YzE0M2JiODc0OTg4cC0xNywKKyAgICAweDEuODhwLTcsCisgICAgMHgxLmJiZmRmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5jNDBiNDRmN2Q0OWVjM2JlYmJlNmMxNDNiYjg3NDk4OHAtMTcsCisgICAgLTB4MS44OHAtNywKKyAgICAweDEuYmJmZGZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuYWM3ZGZmZmQyYjk0ZWJkMmI0MTU1ZDgxZmNiNzQzYzhwLTEsCisgICAgMHgxLjhiYTJiY3A5LAorICAgIDB4MS42NGQ5MTZwOQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEuYWM3ZGZmZmQyYjk0ZWJkMmI0MTU1ZDgxZmNiNzQzYzhwLTEsCisgICAgLTB4MS44YmEyYmNwOSwKKyAgICAweDEuNjRkOTE2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuZjQ0MzZjMjkxOGQ1NjkxNjIwYmRkZWE1ZjBiZGI5OWZwMCwKKyAgICAweDEuOTA0YTZhcDksCisgICAgLTB4MS40MmUyMjBwOAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuZjQ0MzZjMjkxOGQ1NjkxNjIwYmRkZWE1ZjBiZGI5OWZwMCwKKyAgICAtMHgxLjkwNGE2YXA5LAorICAgIC0weDEuNDJlMjIwcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuZjI4MGE0YTg1YTk4MzQ4MDg0ODc0NDNhMjJjMjdmOWNwLTQsCisgICAgMHgxLjkwYzg2NHAtNSwKKyAgICAweDEuOTk5OTlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5mMjgwYTRhODVhOTgzNDgwODQ4NzQ0M2EyMmMyN2Y5Y3AtNCwKKyAgICAtMHgxLjkwYzg2NHAtNSwKKyAgICAweDEuOTk5OTlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLjBhNThkOTAwMDAwNWYwYmE5YTQ3MGNlNTI0MWYxYjljcC0xLAorICAgIDB4MS45Njk3NzBwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEuMGE1OGQ5MDAwMDA1ZjBiYTlhNDcwY2U1MjQxZjFiOWNwLTEsCisgICAgLTB4MS45Njk3NzBwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5mNzMwYTU5Nzk0OGU1YzM1NDMzZDUyMmMyNGJkZWZhNXAtMSwKKyAgICAweDEuOWIyNjk4cDksCisgICAgMHgxLjEyMTlkNnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS5mNzMwYTU5Nzk0OGU1YzM1NDMzZDUyMmMyNGJkZWZhNXAtMSwKKyAgICAtMHgxLjliMjY5OHA5LAorICAgIDB4MS4xMjE5ZDZwOQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS4yNWM3OGYwMDAyYjUwMzA4MDNiMzRlMGQzZDU2NWVjNXAxLAorICAgIDB4MS5hOTk1NTJwLTksCisgICAgLTB4MS43ODhlZTBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjI1Yzc4ZjAwMDJiNTAzMDgwM2IzNGUwZDNkNTY1ZWM1cDEsCisgICAgLTB4MS5hOTk1NTJwLTksCisgICAgLTB4MS43ODhlZTBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZmVjMTI3NTYxMjVhMWMxN2Y0OTZjYTdlZmY2YjVkMDdwLTQsCisgICAgMHgxLmFhYzc2NnAtMSwKKyAgICAweDEuYTk5OTk0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLmZlYzEyNzU2MTI1YTFjMTdmNDk2Y2E3ZWZmNmI1ZDA3cC00LAorICAgIC0weDEuYWFjNzY2cC0xLAorICAgIDB4MS5hOTk5OTRwMgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS5mZjI3MjZmZmZhZGM1N2E1OWMwNjhkYWY5NDAxMWEwNnAtMiwKKyAgICAweDEuYWNkOWM4cC0yLAorICAgIDB4MS44OTQ2OWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLmZmMjcyNmZmZmFkYzU3YTU5YzA2OGRhZjk0MDExYTA2cC0yLAorICAgIC0weDEuYWNkOWM4cC0yLAorICAgIDB4MS44OTQ2OWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuNmNlZmE1MmNkNDlkZjUzYTE5YTk2NjRlZjc5YjVkMjFwLTEsCisgICAgMHgxLmJhOGNwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuNmNlZmE1MmNkNDlkZjUzYTE5YTk2NjRlZjc5YjVkMjFwLTEsCisgICAgLTB4MS5iYThjcC0yLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuZmZlY2QxYmRmYzEwNzAzYmU0Y2FkYjFhYzY0YTZlYWNwLTYsCisgICAgMHgxLmJmMzFlMnAtNSwKKyAgICAweDEuYmYxZDYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLmZmZWNkMWJkZmMxMDcwM2JlNGNhZGIxYWM2NGE2ZWFjcC02LAorICAgIC0weDEuYmYzMWUycC01LAorICAgIDB4MS5iZjFkNjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5kOTM3MzJmNzdjOTE1N2MxNjg4N2NlNWFhNzYyZjM4OXAtNiwKKyAgICAweDEuYzFhZXAtNSwKKyAgICAweDEuZTY2NjU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLmQ5MzczMmY3N2M5MTU3YzE2ODg3Y2U1YWE3NjJmMzg5cC02LAorICAgIC0weDEuYzFhZXAtNSwKKyAgICAweDEuZTY2NjU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuY2VhOGJjZjU3MTk5MDQ4OTkwZjIxYTIwOWEyZDJkM2VwLTQ1LAorICAgIDB4MS5jMjVjMjZwLTQ0LAorICAgIDB4MS5mMjYzYTBwMAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuY2VhOGJjZjU3MTk5MDQ4OTkwZjIxYTIwOWEyZDJkM2VwLTQ1LAorICAgIC0weDEuYzI1YzI2cC00NCwKKyAgICAweDEuZjI2M2EwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuOTAwMDQ3MDJlNjJiZjU4ZmQyNWUxY2IxYzIwOGZiOGJwLTEsCisgICAgMHgxLmM4ZGNiOHAyLAorICAgIDB4MS5jY2FhOTRwMgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuOTAwMDQ3MDJlNjJiZjU4ZmQyNWUxY2IxYzIwOGZiOGJwLTEsCisgICAgLTB4MS5jOGRjYjhwMiwKKyAgICAweDEuY2NhYTk0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuZmQ3Yzg2NWEzZTcxYWQwZDhhNzI0YzkxMmY2ZmI4YjlwLTQsCisgICAgMHgxLmQ2NDg2NnAtMywKKyAgICAweDEuZDYyOWMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAtMHgxLmZkN2M4NjVhM2U3MWFkMGQ4YTcyNGM5MTJmNmZiOGI5cC00LAorICAgIC0weDEuZDY0ODY2cC0zLAorICAgIDB4MS5kNjI5YzBwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS40YWE2NjkwMDAxNzA0ODM3MTVlZmUwNTI4MzY5ZTczZXAtMSwKKyAgICAweDEuZDcwMTFjcDAsCisgICAgMHgxLjM4ODBjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS40YWE2NjkwMDAxNzA0ODM3MTVlZmUwNTI4MzY5ZTczZXAtMSwKKyAgICAtMHgxLmQ3MDExY3AwLAorICAgIDB4MS4zODgwYzhwMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5mNDIwZTYwMzJkYTAzYzU4MWMyMTNkMGNjMmVhY2Y1YnAtMiwKKyAgICAweDEuZGI2ZTMwcC0yLAorICAgIDB4MS5iZjYyYTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMHgxLmY0MjBlNjAzMmRhMDNjNTgxYzIxM2QwY2MyZWFjZjVicC0yLAorICAgIC0weDEuZGI2ZTMwcC0yLAorICAgIDB4MS5iZjYyYTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuOTIyZGMxNWRkMjVlMjk0ZjAyMzYxZjAyOTJiYzBkZjhwLTEsCisgICAgMHgxLmRkZGRkY3AtMiwKKyAgICAweDEuZGRjM2E0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS45MjJkYzE1ZGQyNWUyOTRmMDIzNjFmMDI5MmJjMGRmOHAtMSwKKyAgICAtMHgxLmRkZGRkY3AtMiwKKyAgICAweDEuZGRjM2E0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjlkNmZkOTAyZGVmYWVkZTc4MzA4ODNiN2EyNzg4ZGE4cC0xLAorICAgIDB4MS5kZTYxZmNwOSwKKyAgICAweDEuYzliMjJjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAtMHgxLjlkNmZkOTAyZGVmYWVkZTc4MzA4ODNiN2EyNzg4ZGE4cC0xLAorICAgIC0weDEuZGU2MWZjcDksCisgICAgMHgxLmM5YjIyY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLjdlZTE4MGNhMjcwOTVjNTUwNmIwZmE2OGU5NDAwNGQwcC00LAorICAgIDB4MS5kZmZmZmVwLTIsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAtMHgxLjdlZTE4MGNhMjcwOTVjNTUwNmIwZmE2OGU5NDAwNGQwcC00LAorICAgIC0weDEuZGZmZmZlcC0yLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjdkODQ4ZjAwMGJmYWYyNDNmNzViM2ExMjE4ZGFkOTRlcDAsCisgICAgMHgxLmRmZmZmZXAyLAorICAgIDB4MS4zNWMyOTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLjdkODQ4ZjAwMGJmYWYyNDNmNzViM2ExMjE4ZGFkOTRlcDAsCisgICAgLTB4MS5kZmZmZmVwMiwKKyAgICAweDEuMzVjMjkycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLmRmZmZlNjM2MDFjMTM4M2JjNTRlZWEzNzczYTQ2MjRmcC0xMSwKKyAgICAweDEuZGZmZmZlcDEwLAorICAgIDB4MS4wMDAwMDhwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMHgxLmRmZmZlNjM2MDFjMTM4M2JjNTRlZWEzNzczYTQ2MjRmcC0xMSwKKyAgICAtMHgxLmRmZmZmZXAxMCwKKyAgICAweDEuMDAwMDA4cDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLjhmODJkMWIxNDQzZDE3YjAwOGYxOGY3ODIyMTc1OTAycC00LAorICAgIDB4MS5lMGYwNzhwLTYsCisgICAgMHgxLjMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0weDEuOGY4MmQxYjE0NDNkMTdiMDA4ZjE4Zjc4MjIxNzU5MDJwLTQsCisgICAgLTB4MS5lMGYwNzhwLTYsCisgICAgMHgxLjMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4wNzc5NWQ3YmM1NjhkNzU5NzYwNWYxZTQ0Mzg4MTk4ZXAxLAorICAgIDB4MS5lMmJlMzZwLTIsCisgICAgLTB4MS5mZmZmZmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAtMHgxLjA3Nzk1ZDdiYzU2OGQ3NTk3NjA1ZjFlNDQzODgxOThlcDEsCisgICAgLTB4MS5lMmJlMzZwLTIsCisgICAgLTB4MS5mZmZmZmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuZmZmOTVlNTdhMGIzOWJiOGFmYzMxYTg5Njc0ZGMxOTdwLTkyLAorICAgIDB4MS5lNjI0NDhwOCwKKyAgICAweDEuZTYyYTk0cDk5CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgLTB4MS5mZmY5NWU1N2EwYjM5YmI4YWZjMzFhODk2NzRkYzE5N3AtOTIsCisgICAgLTB4MS5lNjI0NDhwOCwKKyAgICAweDEuZTYyYTk0cDk5CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjBlMDZmNzAwMGE0ZTU0ZTcxODFlZDc5ZDYzNWRlYWQzcDAsCisgICAgMHgxLmU3ODNkNHAtMSwKKyAgICAweDEuMTQ4Y2Y4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgLTB4MS4wZTA2ZjcwMDBhNGU1NGU3MTgxZWQ3OWQ2MzVkZWFkM3AwLAorICAgIC0weDEuZTc4M2Q0cC0xLAorICAgIDB4MS4xNDhjZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuZmVhNjNmYmQxNjdjZjNmNGZhMDk4N2QxZTI4Y2Q3NWZwLTQsCisgICAgMHgxLmU3YTU1YXAtMSwKKyAgICAweDEuZTY2NjYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAtMHgxLmZlYTYzZmJkMTY3Y2YzZjRmYTA5ODdkMWUyOGNkNzVmcC00LAorICAgIC0weDEuZTdhNTVhcC0xLAorICAgIDB4MS5lNjY2NjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5kMzJhYmNmZmZmZmVlNDJmNWFkNmNjODg4MDcyZTQ0NXAwLAorICAgIDB4MS5lY2U2ZDRwMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC0weDEuZDMyYWJjZmZmZmZlZTQyZjVhZDZjYzg4ODA3MmU0NDVwMCwKKyAgICAtMHgxLmVjZTZkNHAwLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLmVjYWM5NmZhZDFkMDJlYzI1ZWVjZGU0YjdmMGI5N2VhcC00LAorICAgIDB4MS5lZjEwNjBwLTUsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuZWNhYzk2ZmFkMWQwMmVjMjVlZWNkZTRiN2YwYjk3ZWFwLTQsCisgICAgLTB4MS5lZjEwNjBwLTUsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS4xMjAyYzJlNmI4NDU0OWQyYmRkMzBmNTA2YWRmYTlkNHAwLAorICAgIDB4MS5mMDdiZDJwOSwKKyAgICAweDEuMGY4M2RjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLjEyMDJjMmU2Yjg0NTQ5ZDJiZGQzMGY1MDZhZGZhOWQ0cDAsCisgICAgLTB4MS5mMDdiZDJwOSwKKyAgICAweDEuMGY4M2RjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuZmZlN2Q5NzAxYjI3MDQzZjQwMWYyNzcxZmNmZjYxYWFwLTYsCisgICAgMHgxLmZkZGZmZXAxNSwKKyAgICAweDEuZmRjZDkwcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgLTB4MS5mZmU3ZDk3MDFiMjcwNDNmNDAxZjI3NzFmY2ZmNjFhYXAtNiwKKyAgICAtMHgxLmZkZGZmZXAxNSwKKyAgICAweDEuZmRjZDkwcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjkxOWM5NDQzNGZjOTFmYjc3MDQxZTBkNGVhYWRmNjE0cC0xLAorICAgIDB4MS5mZWZmZmVwLTEwLAorICAgIDB4MS4wMDAzcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgLTB4MS45MTljOTQ0MzRmYzkxZmI3NzA0MWUwZDRlYWFkZjYxNHAtMSwKKyAgICAtMHgxLmZlZmZmZXAtMTAsCisgICAgMHgxLjAwMDNwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMWI1Nzc4MDgyMDA4NWJjMDM5MWNiZDYxYjJmZDIzMzVwMCwKKyAgICAweDEuZmY4ZmZlcC0yMCwKKyAgICAweDEuMDAwMDg4cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuMWI1Nzc4MDgyMDA4NWJjMDM5MWNiZDYxYjJmZDIzMzVwMCwKKyAgICAtMHgxLmZmOGZmZXAtMjAsCisgICAgMHgxLjAwMDA4OHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuZmY5NzZhZjZlODE3YWMwYjM0M2NjNzlkYTA3NWI4YThwLTYsCisgICAgMHgxLmZmYzBwLTEzOSwKKyAgICAweDEuZmZmZXAtMTM0CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgLTB4MS5mZjk3NmFmNmU4MTdhYzBiMzQzY2M3OWRhMDc1YjhhOHAtNiwKKyAgICAtMHgxLmZmYzBwLTEzOSwKKyAgICAweDEuZmZmZXAtMTM0CisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLmZmN2ZjM2U0OTMzZTg5NGM3MjI2MGUwNTMzODU2MzEzcC00LAorICAgIDB4MS5mZmY3N2VwLTUsCisgICAgMHgxLmZkY2QyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEuZmY3ZmMzZTQ5MzNlODk0YzcyMjYwZTA1MzM4NTYzMTNwLTQsCisgICAgLTB4MS5mZmY3N2VwLTUsCisgICAgMHgxLmZkY2QyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5mZjU3MWExNTM1ZTg0YTNlZDA2MTdmN2M4YmQ0M2M5ZHAtNSwKKyAgICAweDEuZmZmZmRlcC0zLAorICAgIDB4MS5mZmZlN2VwMQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC0weDEuZmY1NzFhMTUzNWU4NGEzZWQwNjE3ZjdjOGJkNDNjOWRwLTUsCisgICAgLTB4MS5mZmZmZGVwLTMsCisgICAgMHgxLmZmZmU3ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLmZmZmZmZGZmZmZmN2ZmZmZkZmZmZmY3ZmZmZmRmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmNnAwLAorICAgIDB4MS5mZmZmZjhwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5mZmZmZmRmZmZmZjdmZmZmZGZmZmZmN2ZmZmZkZmZmZnAtMTI3LAorICAgIC0weDEuZmZmZmY2cDAsCisgICAgMHgxLmZmZmZmOHAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuZmZmZmVjMDAwMDc3ZmZmZDA1NTU2YjM1NTRhMDE1NWJwLTM0LAorICAgIDB4MS5mZmZmZjhwLTIsCisgICAgMHgxLjAwMDAwNnAzMgorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIC0weDEuZmZmZmVjMDAwMDc3ZmZmZDA1NTU2YjM1NTRhMDE1NWJwLTM0LAorICAgIC0weDEuZmZmZmY4cC0yLAorICAgIDB4MS4wMDAwMDZwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuNTU1NTRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNCwKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgMHgxLjgwcC0yMworICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIC0weDEuNTU1NTRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNCwKKyAgICAtMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS44MHAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuZmY1NGJlZWRhODA3YWE0ZWM1Njk4Y2U4Y2M3ZGNiYThwLTIsCisgICAgMHgxLmZmZmZmY3AtMSwKKyAgICAweDEuZDU1NTUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAtMHgxLmZmNTRiZWVkYTgwN2FhNGVjNTY5OGNlOGNjN2RjYmE4cC0yLAorICAgIC0weDEuZmZmZmZjcC0xLAorICAgIDB4MS5kNTU1NTJwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS5mZmZmZjgwMDAwMGZmZmZmZTAwMDAwM2ZmZmZmODBwLTEyOSwKKyAgICAweDEuZmZmZmZjcC0yLAorICAgIDB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgLTB4MS5mZmZmZjgwMDAwMGZmZmZmZTAwMDAwM2ZmZmZmODBwLTEyOSwKKyAgICAtMHgxLmZmZmZmY3AtMiwKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5kNzYyNWRlYjlkM2QxMTNlMGJlMWJhNWRhYzQyZTZjMHAtMiwKKyAgICAweDEuZmZmZmZjcC0yLAorICAgIDB4MS4wMjIyMjhwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuZDc2MjVkZWI5ZDNkMTEzZTBiZTFiYTVkYWM0MmU2YzBwLTIsCisgICAgLTB4MS5mZmZmZmNwLTIsCisgICAgMHgxLjAyMjIyOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLjBjMzBiNzVmYzhiMDYzN2ZjYmFmM2VkMjFmNDdiYmQ1cC0xMTgsCisgICAgMHgxLmZmZmZmY3AtMTIyLAorICAgIDB4MS5lOGJhNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAtMHgxLjBjMzBiNzVmYzhiMDYzN2ZjYmFmM2VkMjFmNDdiYmQ1cC0xMTgsCisgICAgLTB4MS5mZmZmZmNwLTEyMiwKKyAgICAweDEuZThiYTQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI2LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI2LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5mNWI3NDhmYzMyNDkyZjliMGUxYTllMjljN2I0MGE0NXAtMywKKyAgICAweDEuZmZmZmZjcDIwLAorICAgIDB4MS4wMDAwMGFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAtMHgxLmY1Yjc0OGZjMzI0OTJmOWIwZTFhOWUyOWM3YjQwYTQ1cC0zLAorICAgIC0weDEuZmZmZmZjcDIwLAorICAgIDB4MS4wMDAwMGFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuZTgwMDllZmZmYzcyNDAyZjU2MDQ2YmJiMzc3NWRiN2VwLTIsCisgICAgMHgxLjZlNmQ1MnAtMiwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgLTB4MS5lODAwOWVmZmZjNzI0MDJmNTYwNDZiYmIzNzc1ZGI3ZXAtMiwKKyAgICAtMHgxLjZlNmQ1MnAtMiwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLmZkNWJhOWFhYzJmNmRjNjU5MTJmMzEzZTdkMTExZGVmcC00LAorICAgIDB4MS5wMCwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAtMHgxLmZkNWJhOWFhYzJmNmRjNjU5MTJmMzEzZTdkMTExZGVmcC00LAorICAgIC0weDEucDAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjcyNDlmYWE5OTZhMjE2YTMzMDc5ZDIwMzE5ZTcyN2MzcDAsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIC0weDEuNzI0OWZhYTk5NmEyMTZhMzMwNzlkMjAzMTllNzI3YzNwMCwKKyAgICAtMHgxLnAzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEucDMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS5mZmZmZDU1NTViYmJiYTk3MjlhYjdhYWMwODk0NzNhM3AtMTAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuZmZmZmQ1NTU1YmJiYmE5NzI5YWI3YWFjMDg5NDczYTNwLTEwLAorICAgIC0weDEucDAsCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLmZmZmZmNTU1NTViYmJiYjcyOTcyZDAwY2ZkZTc1MmY5cC0xMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0weDEuZmZmZmY1NTU1NWJiYmJiNzI5NzJkMDBjZmRlNzUyZjlwLTExLAorICAgIC0weDEucDAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS5mZmY1NTViYmI3MjlhYjc3Y2YxOGFjODAyYmVlYzA5MHAtNywKKyAgICAweDEucDMsCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS5mZmY1NTViYmI3MjlhYjc3Y2YxOGFjODAyYmVlYzA5MHAtNywKKyAgICAtMHgxLnAzLAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5mZmZkNTU1YmJiYTk3MmQwMGM0NmEzZjc3Y2MxNWU4ZXAtOCwKKyAgICAweDEucDMsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEuZmZmZDU1NWJiYmE5NzJkMDBjNDZhM2Y3N2NjMTVlOGVwLTgsCisgICAgLTB4MS5wMywKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIC0weDEucDAsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMiwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIsCisgICAgLTB4MS5wMCwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTgsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTgsCisgICAgLTB4MS5wMywKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTksCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTksCisgICAgLTB4MS5wMywKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS45MTlmYjU0ZWVkN2E5NTdhZTNjMjVhMzg1NmI2MTQ4NXAwLAorICAgIDB4MS5wOSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAtMHgxLjkxOWZiNTRlZWQ3YTk1N2FlM2MyNWEzODU2YjYxNDg1cDAsCisgICAgLTB4MS5wOSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuOGUxZmNhOThjYjYzMzExMjk5ZWU5M2JlMDE2MDVjMjFwMCwKKyAgICAweDEucDksCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgLTB4MS44ZTFmY2E5OGNiNjMzMTEyOTllZTkzYmUwMTYwNWMyMXAwLAorICAgIC0weDEucDksCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjkxZGZiNTQ1OTgyNmNjZjIxMmE3OTZiZDAwMTg3Y2I3cDAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAtMHgxLjkxZGZiNTQ1OTgyNmNjZjIxMmE3OTZiZDAwMTg3Y2I3cDAsCisgICAgLTB4MS5wMTAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLjkwMWZiN2VlZTcxNWRhZjZiOTgwN2U3MzBhM2I3ODQzcDAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAtMHgxLjkwMWZiN2VlZTcxNWRhZjZiOTgwN2U3MzBhM2I3ODQzcDAsCisgICAgLTB4MS5wMTAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wOSwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEucDksCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIDB4MS5wOSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLTB4MS5kYWM2NzA1NjFiYjRmNjhhZGZjODhiZDk3ODc1MWEwNnAtMiwKKyAgICAtMHgxLnA5LAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIC0weDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAtMHgxLnAxMCwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MiwKKyAgICAweDEucDksCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MiwKKyAgICAtMHgxLnA5LAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MywKKyAgICAweDEucDksCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MywKKyAgICAtMHgxLnA5LAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtOTEsCisgICAgLTB4MS5wMTAsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTkyLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC05MiwKKyAgICAtMHgxLnAxMCwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZmMWI4MzlhMnAwLAorICAgIDB4MS5wMTAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE2ZjFiODM5YTJwMCwKKyAgICAtMHgxLnAxMDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNjgxYjgzOWEycDAsCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTY4MWI4MzlhMnAwLAorICAgIC0weDEucDEwMCwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE2ZjliODM5YTJwMCwKKyAgICAweDEucDEwMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNmY5YjgzOWEycDAsCisgICAgLTB4MS5wMTAxLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTZjMWI4MzlhMnAwLAorICAgIDB4MS5wMTAxLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE2YzFiODM5YTJwMCwKKyAgICAtMHgxLnAxMDEsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzRmNzAxYjgzOWEycDAsCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZjcwMWI4MzlhMnAwLAorICAgIC0weDEucDEwMCwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNGQ3MDFiODM5YTJwMCwKKyAgICAweDEucDEwMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZDcwMWI4MzlhMnAwLAorICAgIC0weDEucDEwMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUwNzAxYjgzOWEycDAsCisgICAgMHgxLnAxMDEsCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MDcwMWI4MzlhMnAwLAorICAgIC0weDEucDEwMSwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNGY3MDFiODM5YTJwMCwKKyAgICAweDEucDEwMSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M0ZjcwMWI4MzlhMnAwLAorICAgIC0weDEucDEwMSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wMTAwLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLnAxMDAsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIC0weDEucDEwMCwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS4xYjZlMTkyZWJiZTQ0NmM2ZDE5YWEyMjBhMzlhZjMyMHAwLAorICAgIDB4MS5wMTAxLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgLTB4MS4xYjZlMTkyZWJiZTQ0NmM2ZDE5YWEyMjBhMzlhZjMyMHAwLAorICAgIC0weDEucDEwMSwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEucDEwMSwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5wMTAxLAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS5mZmZmZmVwLTQsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLmZmZmZmZXAtNCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuZmY1NWI5NzRjZGUwOTg3MzhlNTljMDdhYTQ4ZGQxMTBwLTUsCisgICAgMHgxLmZmZmZmZXAtNCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAtMHgxLmZmNTViOTc0Y2RlMDk4NzM4ZTU5YzA3YWE0OGRkMTEwcC01LAorICAgIC0weDEuZmZmZmZlcC00LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS5mZjU1YjU3OGM5ZjA3OGEzMzcxOWE4NWVmMjllOGEyMHAtNSwKKyAgICAweDEuZmZmZmZlcC00LAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuZmY1NWI1NzhjOWYwNzhhMzM3MTlhODVlZjI5ZThhMjBwLTUsCisgICAgLTB4MS5mZmZmZmVwLTQsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLmZmNTViZDcwZDFkZTlhNzE5MjUwN2YwMzdlNTQxNGJicC01LAorICAgIDB4MS5wLTMsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS5mZjU1YmQ3MGQxZGU5YTcxOTI1MDdmMDM3ZTU0MTRiYnAtNSwKKyAgICAtMHgxLnAtMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgMHgxLnAtMywKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEucC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS5mZjU1Yjc3NmNiZWE4ODg5NjJhZmQ4Mjc2YzAxYTI1ZXAtNSwKKyAgICAweDEucC0zLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIC0weDEuZmY1NWI3NzZjYmVhODg4OTYyYWZkODI3NmMwMWEyNWVwLTUsCisgICAgLTB4MS5wLTMsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLmZmNTVjMTZjZDVkZThhOTE2NjViODRhYmI5NWUwY2M3cC01LAorICAgIDB4MS4wMDAwMDJwLTMsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5mZjU1YzE2Y2Q1ZGU4YTkxNjY1Yjg0YWJiOTVlMGNjN3AtNSwKKyAgICAtMHgxLjAwMDAwMnAtMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuZmY1NWJmNmVkM2RhOTg3OTgyNjVjYzNmMjdjODk2YzdwLTUsCisgICAgMHgxLjAwMDAwMnAtMywKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAtMHgxLmZmNTViZjZlZDNkYTk4Nzk4MjY1Y2MzZjI3Yzg5NmM3cC01LAorICAgIC0weDEuMDAwMDAycC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAweDEuMDAwMDAycC0zLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIC0weDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgLTB4MS4wMDAwMDJwLTMsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgLTB4MS5mZjU1YzE2Y2Q1ZGU4YTkxNjY1Yjg0YWJiOTVlMGNjN3AtNSwKKyAgICAtMHgxLjAwMDAwMnAtMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuZmY1NWMxNmNkNWRlOGE5MTY2NWI4NGFiYjk1ZTBjYzdwLTUsCisgICAgMHgxLjAwMDAwMnAtMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAtMHgxLmZmNTViZjZlZDNkYTk4Nzk4MjY1Y2MzZjI3Yzg5NmM3cC01LAorICAgIC0weDEuMDAwMDAycC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS5mZjU1YmY2ZWQzZGE5ODc5ODI2NWNjM2YyN2M4OTZjN3AtNSwKKyAgICAweDEuMDAwMDAycC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIC0weDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgLTB4MS4wMDAwMDJwLTMsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS4wMDAwMDJwLTMsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgLTB4MS5mZjU1YmQ3MGQxZGU5YTcxOTI1MDdmMDM3ZTU0MTRiYnAtNSwKKyAgICAtMHgxLnAtMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuZmY1NWJkNzBkMWRlOWE3MTkyNTA3ZjAzN2U1NDE0YmJwLTUsCisgICAgMHgxLnAtMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEucC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAweDEucC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIC0weDEuZmY1NWI3NzZjYmVhODg4OTYyYWZkODI3NmMwMWEyNWVwLTUsCisgICAgLTB4MS5wLTMsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMHgxLmZmNTViNzc2Y2JlYTg4ODk2MmFmZDgyNzZjMDFhMjVlcC01LAorICAgIDB4MS5wLTMsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLmZmZmZmZXAtNCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgMHgxLmZmZmZmZXAtNCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAtMHgxLmZmNTViOTc0Y2RlMDk4NzM4ZTU5YzA3YWE0OGRkMTEwcC01LAorICAgIC0weDEuZmZmZmZlcC00LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS5mZjU1Yjk3NGNkZTA5ODczOGU1OWMwN2FhNDhkZDExMHAtNSwKKyAgICAweDEuZmZmZmZlcC00LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIC0weDEuZmY1NWI1NzhjOWYwNzhhMzM3MTlhODVlZjI5ZThhMjBwLTUsCisgICAgLTB4MS5mZmZmZmVwLTQsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLmZmNTViNTc4YzlmMDc4YTMzNzE5YTg1ZWYyOWU4YTIwcC01LAorICAgIDB4MS5mZmZmZmVwLTQsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLmEyNzFmNTk0MDE4NjQ2NWQ0MDY2NDUxODZmM2ZmOTRhcC0yLAorICAgIDB4MS5iYjY3YWNwLTEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgLTB4MS5hMjcxZjU5NDAxODY0NjVkNDA2NjQ1MTg2ZjNmZjk0YXAtMiwKKyAgICAtMHgxLmJiNjdhY3AtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuYTI3MWY0MWU5Y2JkYTNhMjY5NGNhNGRmNzZkYzRhODZwLTIsCisgICAgMHgxLmJiNjdhY3AtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLmEyNzFmNDFlOWNiZGEzYTI2OTRjYTRkZjc2ZGM0YTg2cC0yLAorICAgIC0weDEuYmI2N2FjcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5hMjcxZjEzM2QzMzNiY2NiOWFiYTQwNjdiMWQ1NTFhMnAtMiwKKyAgICAweDEuYmI2N2FjcC0xLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuYTI3MWYxMzNkMzMzYmNjYjlhYmE0MDY3YjFkNTUxYTJwLTIsCisgICAgLTB4MS5iYjY3YWNwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLmEyNzFmNzQzMjlmM2FmMTRhYjAyZjcyZTE0NjI3ZTNlcC0yLAorICAgIDB4MS5iYjY3YWVwLTEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS5hMjcxZjc0MzI5ZjNhZjE0YWIwMmY3MmUxNDYyN2UzZXAtMiwKKyAgICAtMHgxLmJiNjdhZXAtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuYTI3MWY1Y2RjNTI5ZTU1OTFjYmUwMWYwZGZmNWQ0MzZwLTIsCisgICAgMHgxLmJiNjdhZXAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAtMHgxLmEyNzFmNWNkYzUyOWU1NTkxY2JlMDFmMGRmZjVkNDM2cC0yLAorICAgIC0weDEuYmI2N2FlcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS5hMjcxZjJlMmZiOWRiMDgwZTJmNzhjYmFhN2FlNzZkYXAtMiwKKyAgICAweDEuYmI2N2FlcC0xLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIC0weDEuYTI3MWYyZTJmYjlkYjA4MGUyZjc4Y2JhYTdhZTc2ZGFwLTIsCisgICAgLTB4MS5iYjY3YWVwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLmEyNzFmOGYyNTI2MDdhOTQyYjc0M2EyOTI1MWY0MWIzcC0yLAorICAgIDB4MS5iYjY3YjBwLTEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS5hMjcxZjhmMjUyNjA3YTk0MmI3NDNhMjkyNTFmNDFiM3AtMiwKKyAgICAtMHgxLmJiNjdiMHAtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuYTI3MWY3N2NlZDk1ODlkN2U3Nzg0YmU4YzU5YjI4OWVwLTIsCisgICAgMHgxLmJiNjdiMHAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAtMHgxLmEyNzFmNzdjZWQ5NTg5ZDdlNzc4NGJlOGM1OWIyODllcC0yLAorICAgIC0weDEuYmI2N2IwcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS5hMjcxZjQ5MjI0MDcwNmZlNDU2NjdkZTk3ZWUxMDUxYnAtMiwKKyAgICAweDEuYmI2N2IwcC0xLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIC0weDEuYTI3MWY0OTIyNDA3MDZmZTQ1NjY3ZGU5N2VlMTA1MWJwLTIsCisgICAgLTB4MS5iYjY3YjBwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgLTB4MS5hMjcxZjhmMjUyNjA3YTk0MmI3NDNhMjkyNTFmNDFiM3AtMiwKKyAgICAtMHgxLmJiNjdiMHAtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuYTI3MWY4ZjI1MjYwN2E5NDJiNzQzYTI5MjUxZjQxYjNwLTIsCisgICAgMHgxLmJiNjdiMHAtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAtMHgxLmEyNzFmNzdjZWQ5NTg5ZDdlNzc4NGJlOGM1OWIyODllcC0yLAorICAgIC0weDEuYmI2N2IwcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS5hMjcxZjc3Y2VkOTU4OWQ3ZTc3ODRiZThjNTliMjg5ZXAtMiwKKyAgICAweDEuYmI2N2IwcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIC0weDEuYTI3MWY0OTIyNDA3MDZmZTQ1NjY3ZGU5N2VlMTA1MWJwLTIsCisgICAgLTB4MS5iYjY3YjBwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLmEyNzFmNDkyMjQwNzA2ZmU0NTY2N2RlOTdlZTEwNTFicC0yLAorICAgIDB4MS5iYjY3YjBwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgLTB4MS5hMjcxZjc0MzI5ZjNhZjE0YWIwMmY3MmUxNDYyN2UzZXAtMiwKKyAgICAtMHgxLmJiNjdhZXAtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuYTI3MWY3NDMyOWYzYWYxNGFiMDJmNzJlMTQ2MjdlM2VwLTIsCisgICAgMHgxLmJiNjdhZXAtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAtMHgxLmEyNzFmNWNkYzUyOWU1NTkxY2JlMDFmMGRmZjVkNDM2cC0yLAorICAgIC0weDEuYmI2N2FlcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS5hMjcxZjVjZGM1MjllNTU5MWNiZTAxZjBkZmY1ZDQzNnAtMiwKKyAgICAweDEuYmI2N2FlcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIC0weDEuYTI3MWYyZTJmYjlkYjA4MGUyZjc4Y2JhYTdhZTc2ZGFwLTIsCisgICAgLTB4MS5iYjY3YWVwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmEyNzFmMmUyZmI5ZGIwODBlMmY3OGNiYWE3YWU3NmRhcC0yLAorICAgIDB4MS5iYjY3YWVwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgLTB4MS5hMjcxZjU5NDAxODY0NjVkNDA2NjQ1MTg2ZjNmZjk0YXAtMiwKKyAgICAtMHgxLmJiNjdhY3AtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuYTI3MWY1OTQwMTg2NDY1ZDQwNjY0NTE4NmYzZmY5NGFwLTIsCisgICAgMHgxLmJiNjdhY3AtMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAtMHgxLmEyNzFmNDFlOWNiZGEzYTI2OTRjYTRkZjc2ZGM0YTg2cC0yLAorICAgIC0weDEuYmI2N2FjcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS5hMjcxZjQxZTljYmRhM2EyNjk0Y2E0ZGY3NmRjNGE4NnAtMiwKKyAgICAweDEuYmI2N2FjcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIC0weDEuYTI3MWYxMzNkMzMzYmNjYjlhYmE0MDY3YjFkNTUxYTJwLTIsCisgICAgLTB4MS5iYjY3YWNwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLmEyNzFmMTMzZDMzM2JjY2I5YWJhNDA2N2IxZDU1MWEycC0yLAorICAgIDB4MS5iYjY3YWNwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLmUxZmMwODdkMDY4Y2JmZDI1YzY0ZDBkYTk5NjFkZTBkcC0xLAorICAgIDB4MS41Zjg5ZTBwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAtMHgxLmUxZmMwODdkMDY4Y2JmZDI1YzY0ZDBkYTk5NjFkZTBkcC0xLAorICAgIC0weDEuNWY4OWUwcDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLmUxZmMwNzg5NjFhMWI4ZDU4ZWZmMGVmMzU3M2U1ZWJicC0xLAorICAgIDB4MS41Zjg5ZTBwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAtMHgxLmUxZmMwNzg5NjFhMWI4ZDU4ZWZmMGVmMzU3M2U1ZWJicC0xLAorICAgIC0weDEuNWY4OWUwcDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLmUxZmMwNWEyMTdjZGE1NzQyMzFmYWI3ZWY1NmE4MDJlcC0xLAorICAgIDB4MS41Zjg5ZTBwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAtMHgxLmUxZmMwNWEyMTdjZGE1NzQyMzFmYWI3ZWY1NmE4MDJlcC0xLAorICAgIC0weDEuNWY4OWUwcDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLmUxZmMwOWRmZTFkZTg3YmU2M2QyZWZhNzZhZWRlZWYxcC0xLAorICAgIDB4MS41Zjg5ZTJwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAtMHgxLmUxZmMwOWRmZTFkZTg3YmU2M2QyZWZhNzZhZWRlZWYxcC0xLAorICAgIC0weDEuNWY4OWUycDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgMHgxLmUxZmMwOGVjM2NmM2VkYWI0M2M4ODg5NWRjOGJkMTQ5cC0xLAorICAgIDB4MS41Zjg5ZTJwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAtMHgxLmUxZmMwOGVjM2NmM2VkYWI0M2M4ODg5NWRjOGJkMTQ5cC0xLAorICAgIC0weDEuNWY4OWUycDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLmUxZmMwNzA0ZjMyMGI0MWQyZGY5MWM4ZmM3YTc4NWE2cC0xLAorICAgIDB4MS41Zjg5ZTJwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAtMHgxLmUxZmMwNzA0ZjMyMGI0MWQyZGY5MWM4ZmM3YTc4NWE2cC0xLAorICAgIC0weDEuNWY4OWUycDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLmUxZmMwYjQyYmQyZGFjMzRkYzMzNmViZTFhNWRkNjM5cC0xLAorICAgIDB4MS41Zjg5ZTRwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAtMHgxLmUxZmMwYjQyYmQyZGFjMzRkYzMzNmViZTFhNWRkNjM5cC0xLAorICAgIC0weDEuNWY4OWU0cDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLmUxZmMwYTRmMTg0MzdmMGI2YTg5MzgyYmVjODM2YTAzcC0xLAorICAgIDB4MS41Zjg5ZTRwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAtMHgxLmUxZmMwYTRmMTg0MzdmMGI2YTg5MzgyYmVjODM2YTAzcC0xLAorICAgIC0weDEuNWY4OWU0cDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLmUxZmMwODY3Y2U3MTFmNTBhY2QzNmVmMTk4NmE5ZWQzcC0xLAorICAgIDB4MS41Zjg5ZTRwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAtMHgxLmUxZmMwODY3Y2U3MTFmNTBhY2QzNmVmMTk4NmE5ZWQzcC0xLAorICAgIC0weDEuNWY4OWU0cDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgLTB4MS5lMWZjMGI0MmJkMmRhYzM0ZGMzMzZlYmUxYTVkZDYzOXAtMSwKKyAgICAtMHgxLjVmODllNHAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5lMWZjMGI0MmJkMmRhYzM0ZGMzMzZlYmUxYTVkZDYzOXAtMSwKKyAgICAweDEuNWY4OWU0cDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgLTB4MS5lMWZjMGE0ZjE4NDM3ZjBiNmE4OTM4MmJlYzgzNmEwM3AtMSwKKyAgICAtMHgxLjVmODllNHAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS5lMWZjMGE0ZjE4NDM3ZjBiNmE4OTM4MmJlYzgzNmEwM3AtMSwKKyAgICAweDEuNWY4OWU0cDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgLTB4MS5lMWZjMDg2N2NlNzExZjUwYWNkMzZlZjE5ODZhOWVkM3AtMSwKKyAgICAtMHgxLjVmODllNHAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIDB4MS5lMWZjMDg2N2NlNzExZjUwYWNkMzZlZjE5ODZhOWVkM3AtMSwKKyAgICAweDEuNWY4OWU0cDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgLTB4MS5lMWZjMDlkZmUxZGU4N2JlNjNkMmVmYTc2YWVkZWVmMXAtMSwKKyAgICAtMHgxLjVmODllMnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDB4MS5lMWZjMDlkZmUxZGU4N2JlNjNkMmVmYTc2YWVkZWVmMXAtMSwKKyAgICAweDEuNWY4OWUycDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgLTB4MS5lMWZjMDhlYzNjZjNlZGFiNDNjODg4OTVkYzhiZDE0OXAtMSwKKyAgICAtMHgxLjVmODllMnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIDB4MS5lMWZjMDhlYzNjZjNlZGFiNDNjODg4OTVkYzhiZDE0OXAtMSwKKyAgICAweDEuNWY4OWUycDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgLTB4MS5lMWZjMDcwNGYzMjBiNDFkMmRmOTFjOGZjN2E3ODVhNnAtMSwKKyAgICAtMHgxLjVmODllMnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIDB4MS5lMWZjMDcwNGYzMjBiNDFkMmRmOTFjOGZjN2E3ODVhNnAtMSwKKyAgICAweDEuNWY4OWUycDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgLTB4MS5lMWZjMDg3ZDA2OGNiZmQyNWM2NGQwZGE5OTYxZGUwZHAtMSwKKyAgICAtMHgxLjVmODllMHAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS5lMWZjMDg3ZDA2OGNiZmQyNWM2NGQwZGE5OTYxZGUwZHAtMSwKKyAgICAweDEuNWY4OWUwcDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA0CisgICAgLTB4MS5lMWZjMDc4OTYxYTFiOGQ1OGVmZjBlZjM1NzNlNWViYnAtMSwKKyAgICAtMHgxLjVmODllMHAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS5lMWZjMDc4OTYxYTFiOGQ1OGVmZjBlZjM1NzNlNWViYnAtMSwKKyAgICAweDEuNWY4OWUwcDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgLTB4MS5lMWZjMDVhMjE3Y2RhNTc0MjMxZmFiN2VmNTZhODAyZXAtMSwKKyAgICAtMHgxLjVmODllMHAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIDB4MS5lMWZjMDVhMjE3Y2RhNTc0MjMxZmFiN2VmNTZhODAyZXAtMSwKKyAgICAweDEuNWY4OWUwcDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgMHgxLjkyMWZiNDQ0NDJkMTA0Njk4OTYyMWE2YzU3MGQ4ZjA0cC0xLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAtMHgxLjkyMWZiNDQ0NDJkMTA0Njk4OTYyMWE2YzU3MGQ4ZjA0cC0xLAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLjkyMWZiMjQ0NDJkMzA0Njk4YjBjYzUxNDAxYjgzOWM4cC0xLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAtMHgxLjkyMWZiMjQ0NDJkMzA0Njk4YjBjYzUxNDAxYjgzOWM4cC0xLAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLjkyMWZiNjQ0NDJkMjA0Njk4OWI3NmZjMWFjNjJlNDQwcC0xLAorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAtMHgxLjkyMWZiNjQ0NDJkMjA0Njk4OWI3NmZjMWFjNjJlNDQwcC0xLAorICAgIC0weDEucDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTE2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEucDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgMHgxLjkyMWZiMzQ0NDJkMzg0Njk4ODM3NmZjMWFjNjJlNWU2cC0xLAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAtMHgxLjkyMWZiMzQ0NDJkMzg0Njk4ODM3NmZjMWFjNjJlNWU2cC0xLAorICAgIC0weDEucDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgMHgxLjkyMWZiODQ0NDJkMDA0Njk4ODBjYzUxYTAxYjgzOTdicC0xLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAtMHgxLjkyMWZiODQ0NDJkMDA0Njk4ODBjYzUxYTAxYjgzOTdicC0xLAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgMHgxLjkyMWZiNzQ0NDJjZjg0Njk4YWUyMWE2YzU3MGQ4ZDVlcC0xLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAtMHgxLjkyMWZiNzQ0NDJjZjg0Njk4YWUyMWE2YzU3MGQ4ZDVlcC0xLAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLmZmZmZmZmQ1NTU1NTViYmJiYmJhOTcyOTcyZDAwZHAtMTQsCisgICAgMHgxLmZmZmZmZXAtMTMsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS5mZmZmZmZkNTU1NTU1YmJiYmJiYTk3Mjk3MmQwMGRwLTE0LAorICAgIC0weDEuZmZmZmZlcC0xMywKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuZmZmZmZkZDU1NTU1ZGJiYmJiMWE5NzI5ZTU3YWI3NTFwLTE0LAorICAgIDB4MS5mZmZmZmVwLTEzLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIC0weDEuZmZmZmZkZDU1NTU1ZGJiYmJiMWE5NzI5ZTU3YWI3NTFwLTE0LAorICAgIC0weDEuZmZmZmZlcC0xMywKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzAKKyAgICAweDEuZmZmZmY5ZDU1NTYyZGJiYjliZGE5Nzc5MGFjZjNkYjJwLTE0LAorICAgIDB4MS5mZmZmZmVwLTEzLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuZmZmZmY5ZDU1NTYyZGJiYjliZGE5Nzc5MGFjZjNkYjJwLTE0LAorICAgIC0weDEuZmZmZmZlcC0xMywKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEuMDAwMDAwZWFhYWFiNmRkZGRlNmQ0Yjk1MTAxMmIxNGNwLTEzLAorICAgIDB4MS5wLTEyLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMworICAgIC0weDEuMDAwMDAwZWFhYWFiNmRkZGRlNmQ0Yjk1MTAxMmIxNGNwLTEzLAorICAgIC0weDEucC0xMiwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuZmZmZmZmZDU1NTU1NWJiYmJiYmE5NzI5NzJkMDBkcC0xNCwKKyAgICAweDEucC0xMiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAtMHgxLmZmZmZmZmQ1NTU1NTViYmJiYmJhOTcyOTcyZDAwZHAtMTQsCisgICAgLTB4MS5wLTEyLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5mZmZmZmJkNTU1NWU1YmJiYTc3YTk3NTg1ODI0ZjJkMnAtMTQsCisgICAgMHgxLnAtMTIsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgLTB4MS5mZmZmZmJkNTU1NWU1YmJiYTc3YTk3NTg1ODI0ZjJkMnAtMTQsCisgICAgLTB4MS5wLTEyLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIDB4MS4wMDAwMDJlYWFhYWNlZGRkZGUwZDRiOTE3ZDY4MDA5YnAtMTMsCisgICAgMHgxLjAwMDAwMnAtMTIsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgLTB4MS4wMDAwMDJlYWFhYWNlZGRkZGUwZDRiOTE3ZDY4MDA5YnAtMTMsCisgICAgLTB4MS4wMDAwMDJwLTEyLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDB4MS4wMDAwMDFlYWFhYWEyZGRkZGNmZDRiOTQ4NmJkNWNhN3AtMTMsCisgICAgMHgxLjAwMDAwMnAtMTIsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgLTB4MS4wMDAwMDFlYWFhYWEyZGRkZGNmZDRiOTQ4NmJkNWNhN3AtMTMsCisgICAgLTB4MS4wMDAwMDJwLTEyLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5mZmZmZmZkNTU1NTU1YmJiYmJiYTk3Mjk3MmQwMGRwLTE0LAorICAgIDB4MS4wMDAwMDJwLTEyLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuZmZmZmZmZDU1NTU1NWJiYmJiYmE5NzI5NzJkMDBkcC0xNCwKKyAgICAtMHgxLjAwMDAwMnAtMTIsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEucC0xNDksCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjEKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU4MAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU4MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS5mZmZmZmEwMDAwMGJmZmZmZTgwMDAwMmZmZmZlZjU1NXAtNTcsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAtMHgxLmZmZmZmYTAwMDAwYmZmZmZlODAwMDAyZmZmZmVmNTU1cC01NywKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEuMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAwZmZmZmFiYWFwLTU2LAorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgLTB4MS4wMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDBmZmZmYWJhYXAtNTYsCisgICAgLTB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEucDEsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEucDEsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS5mZmZmZmMwMDAwMDdmZmZmZjAwMDAwMWZmZmZmMTU1NXAtNTcsCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAtMHgxLmZmZmZmYzAwMDAwN2ZmZmZmMDAwMDAxZmZmZmYxNTU1cC01NywKKyAgICAtMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAweDEuMDAwMDAzMDAwMDAzMDAwMDAzMDAwMDAyZmZmZmFkYWFwLTU2LAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgLTB4MS4wMDAwMDMwMDAwMDMwMDAwMDMwMDAwMDJmZmZmYWRhYXAtNTYsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZhYWFhcC01NiwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmFhYWFwLTU2LAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDMKKyAgICAtMHgxLjAwMDAwMzAwMDAwMzAwMDAwMzAwMDAwMmZmZmZhZGFhcC01NiwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmVwNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAweDEuMDAwMDAzMDAwMDAzMDAwMDAzMDAwMDAyZmZmZmFkYWFwLTU2LAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYWFhYXAtNTYsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAweDEucDU3CisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZhYWFhcC01NiwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnA1NworICB9LAorICB7IC8vIEVudHJ5IDYwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAtMHgxLjAwMDAwMTAwMDAwMTAwMDAwMTAwMDAwMGZmZmZhYmFhcC01NiwKKyAgICAtMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEuMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAwZmZmZmFiYWFwLTU2LAorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgLTB4MS5wMSwKKyAgICAweDEucDU3CisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEucDEsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIC0weDEuZmZmZmZjMDAwMDA3ZmZmZmYwMDAwMDFmZmZmZjE1NTVwLTU3LAorICAgIC0weDEucDEsCisgICAgMHgxLjAwMDAwMnA1NworICB9LAorICB7IC8vIEVudHJ5IDYxNAorICAgIDB4MS5mZmZmZmMwMDAwMDdmZmZmZjAwMDAwMWZmZmZmMTU1NXAtNTcsCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjU1NTVwLTU3LAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDU2CisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTU1NXAtNTcsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAweDEucDU3CisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1NTU1cC01NywKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLnA1NworICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIC0weDEuZmZmZmZhMDAwMDBiZmZmZmU4MDAwMDJmZmZmZWY1NTVwLTU3LAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMnA1NworICB9LAorICB7IC8vIEVudHJ5IDYyMAorICAgIDB4MS5mZmZmZmEwMDAwMGJmZmZmZTgwMDAwMmZmZmZlZjU1NXAtNTcsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1YmJwLTMxLAorICAgIDB4MS5mZmZmZmVwMSwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgLTB4MS5mZmZmZmVwMSwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZjU1NTU1NzU1NTU1MzU1NWJicC0zMSwKKyAgICAweDEuZmZmZmZlcDEsCisgICAgMHgxLnAzMgorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmNTU1NTU3NTU1NTUzNTU1YmJwLTMxLAorICAgIC0weDEuZmZmZmZlcDEsCisgICAgMHgxLnAzMgorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS5mZmZmZmEwMDAwMGJmZmY1M2Q1NWI1ODU1Mzc0ZjVjMnAtMzEsCisgICAgMHgxLmZmZmZmZXAxLAorICAgIDB4MS4wMDAwMDJwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAtMHgxLmZmZmZmYTAwMDAwYmZmZjUzZDU1YjU4NTUzNzRmNWMycC0zMSwKKyAgICAtMHgxLmZmZmZmZXAxLAorICAgIDB4MS4wMDAwMDJwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjcKKyAgICAweDEuMDAwMDAxMDAwMDAwZmZmYWFiYWE5YWFiYWE4YWFiZGRwLTMwLAorICAgIDB4MS5wMiwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgLTB4MS4wMDAwMDEwMDAwMDBmZmZhYWJhYTlhYWJhYThhYWJkZHAtMzAsCisgICAgLTB4MS5wMiwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEucDIsCisgICAgMHgxLnAzMgorICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1YmJwLTMxLAorICAgIC0weDEucDIsCisgICAgMHgxLnAzMgorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIDB4MS5mZmZmZmMwMDAwMDdmZmY1NDU1NTk1NzU1NDU1MTViZnAtMzEsCisgICAgMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAtMHgxLmZmZmZmYzAwMDAwN2ZmZjU0NTU1OTU3NTU0NTUxNWJmcC0zMSwKKyAgICAtMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzMKKyAgICAweDEuMDAwMDAzMDAwMDAyZmZmYWFkYWE3YWFkYTllYWFkZGJwLTMwLAorICAgIDB4MS4wMDAwMDJwMiwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgLTB4MS4wMDAwMDMwMDAwMDJmZmZhYWRhYTdhYWRhOWVhYWRkYnAtMzAsCisgICAgLTB4MS4wMDAwMDJwMiwKKyAgICAweDEuZmZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmFhYWFhOGFhYWFhNmFhYWRkcC0zMCwKKyAgICAweDEuMDAwMDAycDIsCisgICAgMHgxLnAzMgorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmYWFhYWE4YWFhYWE2YWFhZGRwLTMwLAorICAgIC0weDEuMDAwMDAycDIsCisgICAgMHgxLnAzMgorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgMHgxLjAwMDAwMnAyLAorICAgIDB4MS4wMDAwMDJwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAtMHgxLjAwMDAwMnAyLAorICAgIDB4MS4wMDAwMDJwMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAtMHgxLjAwMDAwMzAwMDAwMmZmZmFhZGFhN2FhZGE5ZWFhZGRicC0zMCwKKyAgICAtMHgxLjAwMDAwMnAtMiwKKyAgICAweDEuZmZmZmZlcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLjAwMDAwMzAwMDAwMmZmZmFhZGFhN2FhZGE5ZWFhZGRicC0zMCwKKyAgICAweDEuMDAwMDAycC0yLAorICAgIDB4MS5mZmZmZmVwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDEKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmFhYWFhOGFhYWFhNmFhYWRkcC0zMCwKKyAgICAtMHgxLjAwMDAwMnAtMiwKKyAgICAweDEucDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmFhYWFhOGFhYWFhNmFhYWRkcC0zMCwKKyAgICAweDEuMDAwMDAycC0yLAorICAgIDB4MS5wMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAtMHgxLjAwMDAwMnAtMiwKKyAgICAweDEuMDAwMDAycDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEuMDAwMDAycC0yLAorICAgIDB4MS4wMDAwMDJwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAtMHgxLjAwMDAwMTAwMDAwMGZmZmFhYmFhOWFhYmFhOGFhYmRkcC0zMCwKKyAgICAtMHgxLnAtMiwKKyAgICAweDEuZmZmZmZlcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgMHgxLjAwMDAwMTAwMDAwMGZmZmFhYmFhOWFhYmFhOGFhYmRkcC0zMCwKKyAgICAweDEucC0yLAorICAgIDB4MS5mZmZmZmVwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAtMHgxLnAtMiwKKyAgICAweDEucDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEucC0yLAorICAgIDB4MS5wMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDkKKyAgICAtMHgxLmZmZmZmYzAwMDAwN2ZmZjU0NTU1OTU3NTU0NTUxNWJmcC0zMSwKKyAgICAtMHgxLnAtMiwKKyAgICAweDEuMDAwMDAycDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLmZmZmZmYzAwMDAwN2ZmZjU0NTU1OTU3NTU0NTUxNWJmcC0zMSwKKyAgICAweDEucC0yLAorICAgIDB4MS4wMDAwMDJwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMywKKyAgICAweDEuZmZmZmZlcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEuZmZmZmZlcC0zLAorICAgIDB4MS5mZmZmZmVwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZjU1NTU1NzU1NTU1MzU1NWJicC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMywKKyAgICAweDEucDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZjU1NTU1NzU1NTU1MzU1NWJicC0zMSwKKyAgICAweDEuZmZmZmZlcC0zLAorICAgIDB4MS5wMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAtMHgxLmZmZmZmYTAwMDAwYmZmZjUzZDU1YjU4NTUzNzRmNWMycC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMywKKyAgICAweDEuMDAwMDAycDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLmZmZmZmYTAwMDAwYmZmZjUzZDU1YjU4NTUzNzRmNWMycC0zMSwKKyAgICAweDEuZmZmZmZlcC0zLAorICAgIDB4MS4wMDAwMDJwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAweDEuOTIxZmI0NDQ0MmQxMDQ2OTg5NjIxYTZjNTcwZDhmMDRwLTEsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIC0weDEuOTIxZmI0NDQ0MmQxMDQ2OTg5NjIxYTZjNTcwZDhmMDRwLTEsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAweDEuOTIxZmIyNDQ0MmQzMDQ2OThiMGNjNTE0MDFiODM5YzhwLTEsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIC0weDEuOTIxZmIyNDQ0MmQzMDQ2OThiMGNjNTE0MDFiODM5YzhwLTEsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEuMDAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICAweDEuOTIxZmI2NDQ0MmQyMDQ2OTg5Yjc2ZmMxYWM2MmU0NDBwLTEsCisgICAgMHgxLnAzLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIC0weDEuOTIxZmI2NDQ0MmQyMDQ2OTg5Yjc2ZmMxYWM2MmU0NDBwLTEsCisgICAgLTB4MS5wMywKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5wMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAweDEuOTIxZmIzNDQ0MmQzODQ2OTg4Mzc2ZmMxYWM2MmU1ZTZwLTEsCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDY2OAorICAgIC0weDEuOTIxZmIzNDQ0MmQzODQ2OTg4Mzc2ZmMxYWM2MmU1ZTZwLTEsCisgICAgLTB4MS5wMywKKyAgICAweDEuMDAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuOTIxZmI4NDQ0MmQwMDQ2OTg4MGNjNTFhMDFiODM5N2JwLTEsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIC0weDEuOTIxZmI4NDQ0MmQwMDQ2OTg4MGNjNTFhMDFiODM5N2JwLTEsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAweDEuOTIxZmI3NDQ0MmNmODQ2OThhZTIxYTZjNTcwZDhkNWVwLTEsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIC0weDEuOTIxZmI3NDQ0MmNmODQ2OThhZTIxYTZjNTcwZDhkNWVwLTEsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEuMDAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAtMHgxLmRhYzY3NTIyZTg4M2FlZGNjOWM0NzM0MzhlOTM2OTY0cC0yLAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgMHgxLmRhYzY3NTIyZTg4M2FlZGNjOWM0NzM0MzhlOTM2OTY0cC0yLAorICAgIDB4MS4wMDAwMDJwMywKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAtMHgxLmRhYzY3Mzg5NGVlNmUyMGZmZTU1MmNmNjEzMDM1ZTQxcC0yLAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLmRhYzY3Mzg5NGVlNmUyMGZmZTU1MmNmNjEzMDM1ZTQxcC0yLAorICAgIDB4MS4wMDAwMDJwMywKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzkKKyAgICAtMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIDB4MS4wMDAwMDJwMywKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODEKKyAgICAtMHgxLmRhYzY3MWVmYjU0ZmQ3ZDI4ZWNkNTMzMGM4OWEzZDczcC0yLAorICAgIC0weDEucDMsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLmRhYzY3MWVmYjU0ZmQ3ZDI4ZWNkNTMzMGM4OWEzZDczcC0yLAorICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAtMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIC0weDEucDMsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIDB4MS5wMywKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAtMHgxLmRhYzY2ZDIyZTg4NmUyMGZmNmZlN2EyMzc4YmFmNmY5cC0yLAorICAgIC0weDEucDMsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmRhYzY2ZDIyZTg4NmUyMGZmNmZlN2EyMzc4YmFmNmY5cC0yLAorICAgIDB4MS5wMywKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODcKKyAgICAtMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLmRhYzY3MDU2MWJiNGY2OGFkZmM4OGJkOTc4NzUxYTA2cC0yLAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODkKKyAgICAtMHgxLmRhYzY2ZWJjODIxYjBiMDVjMTE1YjAwN2VlMjYyZjc4cC0yLAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLmRhYzY2ZWJjODIxYjBiMDVjMTE1YjAwN2VlMjYyZjc4cC0yLAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAtMHgxLmRhYzY2Yjg5NGVlZWUyMGZmNzY2M2UwYTA1NWMyNDYwcC0yLAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLmRhYzY2Yjg5NGVlZWUyMGZmNzY2M2UwYTA1NWMyNDYwcC0yLAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICAweDEuNzJjNDNmYTU3MGFhNWM5ZTU2NGM3ZjBhNWJlZmE0ODRwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgLTB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIC0weDEuNzJjNDNmYTU3MGFhNWM5ZTU2NGM3ZjBhNWJlZmE0ODRwMSwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIC0weDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAweDEuNzJjNDNmNjkzNDZlYzZlYTgzM2U4YzhmODExZDViMjNwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgLTB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIC0weDEuNzJjNDNmNjkzNDZlYzZlYTgzM2U4YzhmODExZDViMjNwMSwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIC0weDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgLTB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIC0weDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIC0weDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTkKKyAgICAweDEuNzJjNDNmODc1MjhjNzFlMGM1OWNkM2NkNGVlZGM5MWNwMSwKKyAgICAweDEucDMsCisgICAgLTB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIC0weDEuNzJjNDNmODc1MjhjNzFlMGM1OWNkM2NkNGVlZGM5MWNwMSwKKyAgICAtMHgxLnAzLAorICAgIC0weDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAweDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAweDEucDMsCisgICAgLTB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIC0weDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAtMHgxLnAzLAorICAgIC0weDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAweDEuNzJjNDNmMmNmODMyNmM5MDI4Y2E4NjYwN2I2NjdhOGNwMSwKKyAgICAweDEucDMsCisgICAgLTB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDcwNAorICAgIC0weDEuNzJjNDNmMmNmODMyNmM5MDI4Y2E4NjYwN2I2NjdhOGNwMSwKKyAgICAtMHgxLnAzLAorICAgIC0weDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgLTB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIC0weDEuNzJjNDNmNGIxNjUwYTcwNmRiZDNkMTM4NDJjM2Y2YTVwMSwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIC0weDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAweDEuNzJjNDNmMGVkYTE0NzFlMGM0Y2Y3NTJhMjZjYTEwYTZwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgLTB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIC0weDEuNzJjNDNmMGVkYTE0NzFlMGM0Y2Y3NTJhMjZjYTEwYTZwMSwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIC0weDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEuNzJjNDNlZjBiYmY2MDI0M2ZhYTY2ZWFmOTViOGViOGVwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgLTB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDcxMAorICAgIC0weDEuNzJjNDNlZjBiYmY2MDI0M2ZhYTY2ZWFmOTViOGViOGVwMSwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIC0weDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICAweDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIC0weDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAweDEuZmQ1YmE3YjJhMzc0ZGM4NDk3MTIzYjY0YjM5OGFhZTJwLTQsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIC0weDEuZmQ1YmE3YjJhMzc0ZGM4NDk3MTIzYjY0YjM5OGFhZTJwLTQsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAweDEuZmQ1YmEzYzI2NDdjN2VmNmM3NmQ2ZDVlYTk3YmFiNzVwLTQsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIC0weDEuZmQ1YmEzYzI2NDdjN2VmNmM3NmQ2ZDVlYTk3YmFiNzVwLTQsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEuMDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAweDEuZmQ1YmFiYTJlMjdhYzRlMzFlZGU1YzRkMzQ4NWViYWNwLTQsCisgICAgMHgxLnAzLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIC0weDEuZmQ1YmFiYTJlMjdhYzRlMzFlZGU1YzRkMzQ4NWViYWNwLTQsCisgICAgLTB4MS5wMywKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAweDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgMHgxLnAzLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIC0weDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgLTB4MS5wMywKKyAgICAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjEKKyAgICAweDEuZmQ1YmE1YmE4M2ZhYWQ5ZWE1NTBlNmQ1NGIwMmQwZjlwLTQsCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIC0weDEuZmQ1YmE1YmE4M2ZhYWQ5ZWE1NTBlNmQ1NGIwMmQwZjlwLTQsCisgICAgLTB4MS5wMywKKyAgICAweDEuMDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAweDEuZmQ1YmFmOTMyMTgyNjc1NTY4YjlkMWRhZjJmZDE3MjdwLTQsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIC0weDEuZmQ1YmFmOTMyMTgyNjc1NTY4YjlkMWRhZjJmZDE3MjdwLTQsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAweDEuZmQ1YmFkOWIwMWZhYWQ5ZWI0NmVmOWJkYTk5ZDRmZGFwLTQsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIC0weDEuZmQ1YmFkOWIwMWZhYWQ5ZWI0NmVmOWJkYTk5ZDRmZGFwLTQsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjcKKyAgICAweDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDcyOAorICAgIC0weDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEuMDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICAtMHgxLmZmNTVjMTZjZDVkZThhOTE2NjViODRhYmI5NWUwY2M3cC01LAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzMwCisgICAgMHgxLmZmNTVjMTZjZDVkZThhOTE2NjViODRhYmI5NWUwY2M3cC01LAorICAgIDB4MS4wMDAwMDJwMywKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICAtMHgxLmZmNTViZjZlZDNkYTk4Nzk4MjY1Y2MzZjI3Yzg5NmM3cC01LAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLmZmNTViZjZlZDNkYTk4Nzk4MjY1Y2MzZjI3Yzg5NmM3cC01LAorICAgIDB4MS4wMDAwMDJwMywKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzMKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS4wMDAwMDJwMywKKyAgICAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAtMHgxLmZmNTViZDcwZDFkZTlhNzE5MjUwN2YwMzdlNTQxNGJicC01LAorICAgIC0weDEucDMsCisgICAgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzM2CisgICAgMHgxLmZmNTViZDcwZDFkZTlhNzE5MjUwN2YwMzdlNTQxNGJicC01LAorICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEucDMsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS5wMywKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzkKKyAgICAtMHgxLmZmNTViNzc2Y2JlYTg4ODk2MmFmZDgyNzZjMDFhMjVlcC01LAorICAgIC0weDEucDMsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgMHgxLmZmNTViNzc2Y2JlYTg4ODk2MmFmZDgyNzZjMDFhMjVlcC01LAorICAgIDB4MS5wMywKKyAgICAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAtMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzQyCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDMKKyAgICAtMHgxLmZmNTViOTc0Y2RlMDk4NzM4ZTU5YzA3YWE0OGRkMTEwcC01LAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLmZmNTViOTc0Y2RlMDk4NzM4ZTU5YzA3YWE0OGRkMTEwcC01LAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAtMHgxLmZmNTViNTc4YzlmMDc4YTMzNzE5YTg1ZWYyOWU4YTIwcC01LAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLmZmNTViNTc4YzlmMDc4YTMzNzE5YTg1ZWYyOWU4YTIwcC01LAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAweDEuMDQ2OGE5NDY3ZTc5MzgxMDVkZmVmMGYzZjJhZTg5ZmRwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgLTB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIC0weDEuMDQ2OGE5NDY3ZTc5MzgxMDVkZmVmMGYzZjJhZTg5ZmRwMSwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIC0weDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDkKKyAgICAweDEuMDQ2OGE4ZTAxODEyYmQyZjE2YTAwY2YxOTllZjY0N2ZwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIC0weDEuMDQ2OGE4ZTAxODEyYmQyZjE2YTAwY2YxOTllZjY0N2ZwMSwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAweDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIC0weDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIC0weDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAweDEuMDQ2OGE5MTM0YjQ1OWU3NmM0OTEwODJhNDMzYzg4OTlwMSwKKyAgICAweDEucDMsCisgICAgLTB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIC0weDEuMDQ2OGE5MTM0YjQ1OWU3NmM0OTEwODJhNDMzYzg4OTlwMSwKKyAgICAtMHgxLnAzLAorICAgIC0weDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAweDEucDMsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIC0weDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAtMHgxLnAzLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuMDQ2OGE4NzliMWFjMjM5NTdjZTkxODhjN2VhMGUyYzBwMSwKKyAgICAweDEucDMsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIC0weDEuMDQ2OGE4NzliMWFjMjM5NTdjZTkxODhjN2VhMGUyYzBwMSwKKyAgICAtMHgxLnAzLAorICAgIC0weDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAweDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgLTB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIC0weDEuMDQ2OGE4YWNlNGRmNjEwNjIwYmY3NDA2YWZlYWMwMTJwMSwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIC0weDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuMDQ2OGE4NDY3ZTc5OWU3NmMzYTYzMWNmZWZmMzdiYjBwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIC0weDEuMDQ2OGE4NDY3ZTc5OWU3NmMzYTYzMWNmZWZmMzdiYjBwMSwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAweDEuMDQ2OGE4MTM0YjQ2OWU3NmMzYjMyYTRjYzE4N2ExNWRwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDc2NAorICAgIC0weDEuMDQ2OGE4MTM0YjQ2OWU3NmMzYjMyYTRjYzE4N2ExNWRwMSwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIC0weDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZlcC0xMDMsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZXAtMTAzLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZlcC0xMDMsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc2OAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmZXAtMTAzLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAweDEuZmZmZmZhMDAwMDBiZmZmZmU4MDAwMDJmZmZmZmEwcC0xMDEsCisgICAgMHgxLmZmZmZmZXAtMTAzLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAtMHgxLmZmZmZmYTAwMDAwYmZmZmZlODAwMDAyZmZmZmZhMHAtMTAxLAorICAgIC0weDEuZmZmZmZlcC0xMDMsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc3MQorICAgIDB4MS4wMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDFwLTEwMCwKKyAgICAweDEucC0xMDIsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDc3MgorICAgIC0weDEuMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxcC0xMDAsCisgICAgLTB4MS5wLTEwMiwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLnAtMTAyLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS5wLTEwMiwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzc1CisgICAgMHgxLmZmZmZmYzAwMDAwN2ZmZmZmMDAwMDAxZmZmZmZjMHAtMTAxLAorICAgIDB4MS5wLTEwMiwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgLTB4MS5mZmZmZmMwMDAwMDdmZmZmZjAwMDAwMWZmZmZmYzBwLTEwMSwKKyAgICAtMHgxLnAtMTAyLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAweDEuMDAwMDAzMDAwMDAzMDAwMDAzMDAwMDAzMDAwMDAzcC0xMDAsCisgICAgMHgxLjAwMDAwMnAtMTAyLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAtMHgxLjAwMDAwMzAwMDAwMzAwMDAwMzAwMDAwMzAwMDAwM3AtMTAwLAorICAgIC0weDEuMDAwMDAycC0xMDIsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDc3OQorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwLAorICAgIDB4MS4wMDAwMDJwLTEwMiwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzgwCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwLAorICAgIC0weDEuMDAwMDAycC0xMDIsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIDB4MS4wMDAwMDJwLTEwMiwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIC0weDEuMDAwMDAycC0xMDIsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc4MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIDB4MS5mZmZmZmNwMiwKKyAgICAweDEuZmZmZmZjcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDc4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLmZmZmZmY3AyLAorICAgIDB4MS5mZmZmZmNwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLmZmZmZmZGZmZmZmZGZmZmZmZGZmZmZmZGZmZmZmZGZmcC0xMDEsCisgICAgMHgxLmZmZmZmY3AyLAorICAgIDB4MS5mZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzg2CisgICAgLTB4MS5mZmZmZmRmZmZmZmRmZmZmZmRmZmZmZmRmZmZmZmRmZnAtMTAxLAorICAgIC0weDEuZmZmZmZjcDIsCisgICAgMHgxLmZmZmZmZXAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODcKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZjcDIsCisgICAgMHgxLnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODgKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmNwMiwKKyAgICAweDEucDEwMworICB9LAorICB7IC8vIEVudHJ5IDc4OQorICAgIDB4MS5mZmZmZjgwMDAwMGZmZmZmZTAwMDAwM2ZmZmZmODBwLTEwMSwKKyAgICAweDEuZmZmZmZjcDIsCisgICAgMHgxLjAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAtMHgxLmZmZmZmODAwMDAwZmZmZmZlMDAwMDAzZmZmZmY4MHAtMTAxLAorICAgIC0weDEuZmZmZmZjcDIsCisgICAgMHgxLjAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuZmZmZmY0MDAwMDJmZmZmZjQwMDAwMmZmZmZmNHAtMTAxLAorICAgIDB4MS5mZmZmZmNwMiwKKyAgICAweDEuMDAwMDA0cDEwMworICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIC0weDEuZmZmZmY0MDAwMDJmZmZmZjQwMDAwMmZmZmZmNHAtMTAxLAorICAgIC0weDEuZmZmZmZjcDIsCisgICAgMHgxLjAwMDAwNHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuMDAwMDAxMDAwMDAyMDAwMDA0MDAwMDA4MDAwMDEwcC0xMDAsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmNwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgLTB4MS4wMDAwMDEwMDAwMDIwMDAwMDQwMDAwMDgwMDAwMTBwLTEwMCwKKyAgICAtMHgxLmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmNwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzk1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLmZmZmZmZXAxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgMHgxLnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTgKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS5mZmZmZmVwMiwKKyAgICAweDEucDEwMworICB9LAorICB7IC8vIEVudHJ5IDc5OQorICAgIDB4MS5mZmZmZmEwMDAwMGJmZmZmZTgwMDAwMmZmZmZmYTBwLTEwMSwKKyAgICAweDEuZmZmZmZlcDIsCisgICAgMHgxLjAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAtMHgxLmZmZmZmYTAwMDAwYmZmZmZlODAwMDAyZmZmZmZhMHAtMTAxLAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLjAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAweDEuZmZmZmY2MDAwMDI3ZmZmZjYwMDAwMjdmZmZmNnAtMTAxLAorICAgIDB4MS5mZmZmZmVwMiwKKyAgICAweDEuMDAwMDA0cDEwMworICB9LAorICB7IC8vIEVudHJ5IDgwMgorICAgIC0weDEuZmZmZmY2MDAwMDI3ZmZmZjYwMDAwMjdmZmZmNnAtMTAxLAorICAgIC0weDEuZmZmZmZlcDIsCisgICAgMHgxLjAwMDAwNHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEuMDAwMDAyMDAwMDA0MDAwMDA4MDAwMDEwMDAwMDIwcC0xMDAsCisgICAgMHgxLnAzLAorICAgIDB4MS5mZmZmZmNwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODA0CisgICAgLTB4MS4wMDAwMDIwMDAwMDQwMDAwMDgwMDAwMTAwMDAwMjBwLTEwMCwKKyAgICAtMHgxLnAzLAorICAgIDB4MS5mZmZmZmNwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgMHgxLjAwMDAwMTAwMDAwMTAwMDAwMTAwMDAwMTAwMDAwMXAtMTAwLAorICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZlcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDgwNgorICAgIC0weDEuMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxcC0xMDAsCisgICAgLTB4MS5wMywKKyAgICAweDEuZmZmZmZlcDEwMgorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIDB4MS5wMywKKyAgICAweDEucDEwMworICB9LAorICB7IC8vIEVudHJ5IDgwOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLnAzLAorICAgIDB4MS5wMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgMHgxLmZmZmZmYzAwMDAwN2ZmZmZmMDAwMDAxZmZmZmZjMHAtMTAxLAorICAgIDB4MS5wMywKKyAgICAweDEuMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIC0weDEuZmZmZmZjMDAwMDA3ZmZmZmYwMDAwMDFmZmZmZmMwcC0xMDEsCisgICAgLTB4MS5wMywKKyAgICAweDEuMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDgxMQorICAgIDB4MS5mZmZmZjgwMDAwMWZmZmZmODAwMDAxZmZmZmY4cC0xMDEsCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDRwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgLTB4MS5mZmZmZjgwMDAwMWZmZmZmODAwMDAxZmZmZmY4cC0xMDEsCisgICAgLTB4MS5wMywKKyAgICAweDEuMDAwMDA0cDEwMworICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIDB4MS4wMDAwMDQwMDAwMDgwMDAwMTAwMDAwMjAwMDAwNDBwLTEwMCwKKyAgICAweDEuMDAwMDAycDMsCisgICAgMHgxLmZmZmZmY3AxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAtMHgxLjAwMDAwNDAwMDAwODAwMDAxMDAwMDAyMDAwMDA0MHAtMTAwLAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLmZmZmZmY3AxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTUKKyAgICAweDEuMDAwMDAzMDAwMDAzMDAwMDAzMDAwMDAzMDAwMDAzcC0xMDAsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS5mZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODE2CisgICAgLTB4MS4wMDAwMDMwMDAwMDMwMDAwMDMwMDAwMDMwMDAwMDNwLTEwMCwKKyAgICAtMHgxLjAwMDAwMnAzLAorICAgIDB4MS5mZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS5wMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwLAorICAgIC0weDEuMDAwMDAycDMsCisgICAgMHgxLnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAweDEuMDAwMDAycDMsCisgICAgMHgxLjAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDEsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEuMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDgyMQorICAgIDB4MS5mZmZmZmMwMDAwMGZmZmZmYzAwMDAwZmZmZmZjcC0xMDEsCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS4wMDAwMDRwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODIyCisgICAgLTB4MS5mZmZmZmMwMDAwMGZmZmZmYzAwMDAwZmZmZmZjcC0xMDEsCisgICAgLTB4MS4wMDAwMDJwMywKKyAgICAweDEuMDAwMDA0cDEwMworICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIDB4MS4wMDAwMDYwMDAwMGMwMDAwMTgwMDAwMzAwMDAwNjBwLTEwMCwKKyAgICAweDEuMDAwMDA0cDMsCisgICAgMHgxLmZmZmZmY3AxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAtMHgxLjAwMDAwNjAwMDAwYzAwMDAxODAwMDAzMDAwMDA2MHAtMTAwLAorICAgIC0weDEuMDAwMDA0cDMsCisgICAgMHgxLmZmZmZmY3AxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAweDEuMDAwMDA1MDAwMDA1MDAwMDA1MDAwMDA1MDAwMDA1cC0xMDAsCisgICAgMHgxLjAwMDAwNHAzLAorICAgIDB4MS5mZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgLTB4MS4wMDAwMDUwMDAwMDUwMDAwMDUwMDAwMDUwMDAwMDVwLTEwMCwKKyAgICAtMHgxLjAwMDAwNHAzLAorICAgIDB4MS5mZmZmZmVwMTAyCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgMHgxLjAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDAsCisgICAgMHgxLjAwMDAwNHAzLAorICAgIDB4MS5wMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODI4CisgICAgLTB4MS4wMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAwLAorICAgIC0weDEuMDAwMDA0cDMsCisgICAgMHgxLnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICAweDEuMDAwMDAxZmZmZmZjMDAwMDA3ZmZmZmYwMDAwMDFmZmZwLTEwMCwKKyAgICAweDEuMDAwMDA0cDMsCisgICAgMHgxLjAwMDAwMnAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAtMHgxLjAwMDAwMWZmZmZmYzAwMDAwN2ZmZmZmMDAwMDAxZmZmcC0xMDAsCisgICAgLTB4MS4wMDAwMDRwMywKKyAgICAweDEuMDAwMDAycDEwMworICB9LAorICB7IC8vIEVudHJ5IDgzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAxLAorICAgIDB4MS4wMDAwMDRwMywKKyAgICAweDEuMDAwMDA0cDEwMworICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMSwKKyAgICAtMHgxLjAwMDAwNHAzLAorICAgIDB4MS4wMDAwMDRwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODQzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDEsCisgICAgLTAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIDAuMCwKKyAgICAwLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTMKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTUKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDg1NgorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg2NQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODY2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg2NworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODY4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg3MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg3MgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg3MworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODc2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg3OAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODEKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg4MworICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODg1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg5MQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODk0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDg5NgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg5OAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTA1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkwNgorICAgIDB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDkwNworICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTA4CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDkKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTEwCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDkxMQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTEyCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTMKKyAgICAweDEuOTIxZmIzNDQ0MmQxODQ2OThjMzc2ZmMxYWM2MmRkZTZwMCwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgMHgxLjkyMWZiNzQ0NDJkMTg0Njk4NmUyMWE2YzU3MGQ5NTVlcDAsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTUKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMjM0ZjI3Mjk5M2QxNDE0YTJiMzlwMSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTcKKyAgICAweDEuZmZmZmZmZmZmZmZkNTU1NTU1NTU1NTViYmJiYmJiYmJwLTI0LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZDU1NTU1NTU1NTU1YmJiYmJiYmJicC0yNCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkxOQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkyMQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTIyCisgICAgMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjMKKyAgICAweDEuOTIxZmI0NDQ0MmQxODQ2OThhZTIxYTZjNTcwZDhiYzRwMSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgLTB4MS45MjFmYjM0NDQyZDE4NDY5OGMzNzZmYzFhYzYyZGRlNnAwLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTI3CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjgKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTI5CisgICAgLTB4MS45MjFmYjQ0NDQyZDE4NDY5OGFlMjFhNmM1NzBkOGJjNHAxLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkzMAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDkzMQorICAgIC0weDEuOTIxZmI3NDQ0MmQxODQ2OTg2ZTIxYTZjNTcwZDk1NWVwMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzMKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDIzNGYyNzI5OTNkMTQxNGEyYjM5cDEsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTM0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAxLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTM1CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTM2CisgICAgLTB4MS4yZDk3YzdmMzMyMWQyMzRmMjcyOTkzZDE0MTRhMmIzOXAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hdGFuX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9hdGFuX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGJkNjA3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2F0YW5faW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDY0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2F0YW5faW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEuMGZiMDZlZGU5OTczYTAwMDAwMDAwMDAwMDA3Y2MwNjBwLTUsCisgICAgMHgxLjBmYzlmMWZhYmU2NThwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS4wZmIwNmVkZTk5NzNhMDAwMDAwMDAwMDAwMDdjYzA2MHAtNSwKKyAgICAtMHgxLjBmYzlmMWZhYmU2NThwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjFiYTE5NTFkYjFkNmRmZmZmZmZmZmZmZmZmYjhmMTc0cC01LAorICAgIDB4MS4xYmJlOWMyNTU2OThkcC01CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIC0weDEuMWJhMTk1MWRiMWQ2ZGZmZmZmZmZmZmZmZmZiOGYxNzRwLTUsCisgICAgLTB4MS4xYmJlOWMyNTU2OThkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS44ZDhkMmQ0YmQ2ZmEyZmZmZmZmZmZmZmZmZmI1MmEwMXAtNSwKKyAgICAweDEuOGRkZDI1YWI5MGNhMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAtMHgxLjhkOGQyZDRiZDZmYTJmZmZmZmZmZmZmZmZmYjUyYTAxcC01LAorICAgIC0weDEuOGRkZDI1YWI5MGNhMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuNTJjMzllZjA3MGNhZDAwMDAwMDAwMDAwMDAzOTdiOGRwLTQsCisgICAgMHgxLjUzODllNmRmNDE5NzlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgLTB4MS41MmMzOWVmMDcwY2FkMDAwMDAwMDAwMDAwMDM5N2I4ZHAtNCwKKyAgICAtMHgxLjUzODllNmRmNDE5NzlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmEzM2YzMmFjNWNlYjRmZmZmZmZmZmZmZmZmZjYyYzBlcC0zLAorICAgIDB4MS5hOTMzZmUxNzZiMzc1cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIC0weDEuYTMzZjMyYWM1Y2ViNGZmZmZmZmZmZmZmZmZmNjJjMGVwLTMsCisgICAgLTB4MS5hOTMzZmUxNzZiMzc1cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuMDk1NDRiNzFhZDRhNjgwMDAwMDAwMDAwMDAxM2E4ZDRwLTIsCisgICAgMHgxLjBmNmU1ZDk5NjAzOTdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEuMDk1NDRiNzFhZDRhNjgwMDAwMDAwMDAwMDAxM2E4ZDRwLTIsCisgICAgLTB4MS4wZjZlNWQ5OTYwMzk3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuNDZhYzM3MjI0MzUzNjAwMDAwMDAwMDAwMDAwZjhhYjhwLTEsCisgICAgMHgxLjdiYTQ5ZjczOTgyOWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEuNDZhYzM3MjI0MzUzNjAwMDAwMDAwMDAwMDAwZjhhYjhwLTEsCisgICAgLTB4MS43YmE0OWY3Mzk4MjlmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLjkzZDBkNGI0YjFkZWU4MmNlYTViMGMzNzA1NGI0MGUycC0xLAorICAgIC0weDEuMDFiMjhmNzUxOWFiNXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuOTNkMGQ0YjRiMWRlZTgyY2VhNWIwYzM3MDU0YjQwZTJwLTEsCisgICAgMHgxLjAxYjI4Zjc1MTlhYjVwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS44ZTM3M2M3NjZhOWNiN2ZmZjAwOTNkMjZhM2U5NmZkY3AwLAorICAgIC0weDEuMDVmZmZmZmZmZjBwNgorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjhlMzczYzc2NmE5Y2I3ZmZmMDA5M2QyNmEzZTk2ZmRjcDAsCisgICAgMHgxLjA1ZmZmZmZmZmYwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuOWE2NmI3N2YzNzA5MzgyODNkYjc0NWZhNGQ4ZjY5MjlwLTEsCisgICAgLTB4MS4wODZhMDUxNzJjMTU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS45YTY2Yjc3ZjM3MDkzODI4M2RiNzQ1ZmE0ZDhmNjkyOXAtMSwKKyAgICAweDEuMDg2YTA1MTcyYzE1OXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLmExZjI5NDk2YTYzZWI3ZmVkNzk0MTc0MmFjMjVjMGJjcC0xLAorICAgIC0weDEuMTA1NTZmMTQ5NzY2MXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuYTFmMjk0OTZhNjNlYjdmZWQ3OTQxNzQyYWMyNWMwYmNwLTEsCisgICAgMHgxLjEwNTU2ZjE0OTc2NjFwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgLTB4MS5hNDZhMjRkMzRlOWIyODI4MTBhZGIxODg4MjdhOWFmMXAtMSwKKyAgICAtMHgxLjEyZmEwZDY5MDE1MjZwMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLmE0NmEyNGQzNGU5YjI4MjgxMGFkYjE4ODgyN2E5YWYxcC0xLAorICAgIDB4MS4xMmZhMGQ2OTAxNTI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuZmQ3MzQzMTE3ZmE1NzVjNTUwZGNkZmYwZmQ2NDI0MTBwLTIsCisgICAgLTB4MS4xNjBkYzMxN2JmODdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZmQ3MzQzMTE3ZmE1NzVjNTUwZGNkZmYwZmQ2NDI0MTBwLTIsCisgICAgMHgxLjE2MGRjMzE3YmY4N2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEuYWJkY2M3NDgyMTQ4NWZmYjNkY2UyYzQ3MWYxZDljY2RwLTEsCisgICAgLTB4MS4xYjJwMAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmFiZGNjNzQ4MjE0ODVmZmIzZGNlMmM0NzFmMWQ5Y2NkcC0xLAorICAgIDB4MS4xYjJwMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS4xYjZiMDBmNjQ2OTJiODE1N2EzMjJkMDVhZGQxNzBjNHAtMiwKKyAgICAtMHgxLjIyZTI0NWM0OGI4OTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS4xYjZiMDBmNjQ2OTJiODE1N2EzMjJkMDVhZGQxNzBjNHAtMiwKKyAgICAweDEuMjJlMjQ1YzQ4Yjg5NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS43NmY1ZGRjM2E4YjUwOGVkOWYxMzdkZWE2YjgxZTkwZnAwLAorICAgIC0weDEuMmM3MmY5OTViMWQyZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuNzZmNWRkYzNhOGI1MDhlZDlmMTM3ZGVhNmI4MWU5MGZwMCwKKyAgICAweDEuMmM3MmY5OTViMWQyZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjFlMDBiYWJkZWZkNDQ3ZDdjZDI5M2ZkODgxOGRlZDE2cC0xLAorICAgIC0weDEuM2ZmZmZmZmZmZmUwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjFlMDBiYWJkZWZkNDQ3ZDdjZDI5M2ZkODgxOGRlZDE2cC0xLAorICAgIDB4MS4zZmZmZmZmZmZmZTAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLjI1N2NmOGY4NmFhZTM3ZmQ4OTAwN2NkZGQ5ZmJlZGFkcC0xLAorICAgIC0weDEuNGE4MThhZGY0ZDAwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjI1N2NmOGY4NmFhZTM3ZmQ4OTAwN2NkZGQ5ZmJlZGFkcC0xLAorICAgIDB4MS40YTgxOGFkZjRkMDBjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLjMwYWM5NDUxMzczMzZjZWU2ZGNmNzNkYjY0OGNmY2I4cC0xLAorICAgIC0weDEuNWE5NTE5MjA0MWY5ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjMwYWM5NDUxMzczMzZjZWU2ZGNmNzNkYjY0OGNmY2I4cC0xLAorICAgIDB4MS41YTk1MTkyMDQxZjllcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmRmYzliN2Y5YWI0MmQ4MDM0NTNlZGI0MTU2YjIyZmUwcC0xLAorICAgIC0weDEuNWM2MzRjYjFkZmU2YnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZGZjOWI3ZjlhYjQyZDgwMzQ1M2VkYjQxNTZiMjJmZTBwLTEsCisgICAgMHgxLjVjNjM0Y2IxZGZlNmJwMAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS42YmYzMzAyYTk4NGE4YTAwNmM0NDc4YzBlNzYzZmFiOXAtMiwKKyAgICAtMHgxLjdjMTc1NmVjMTJiMjNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS42YmYzMzAyYTk4NGE4YTAwNmM0NDc4YzBlNzYzZmFiOXAtMiwKKyAgICAweDEuN2MxNzU2ZWMxMmIyM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS43Zjc0N2MzNzBjMDcyN2ZjY2ZiOTQ5NWVkZTExMDU3OXAtNSwKKyAgICAtMHgxLjdmYmMzZGYyZWQyNzZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS43Zjc0N2MzNzBjMDcyN2ZjY2ZiOTQ5NWVkZTExMDU3OXAtNSwKKyAgICAweDEuN2ZiYzNkZjJlZDI3NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgLTB4MS5mZGRhNGFlZjgxZThlN2ZmZmQ1NDdlNTZjZTA4ZjM2ZHAtMSwKKyAgICAtMHgxLjhiMGFkYzUyOGJjZTRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZkZGE0YWVmODFlOGU3ZmZmZDU0N2U1NmNlMDhmMzZkcC0xLAorICAgIDB4MS44YjBhZGM1MjhiY2U0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0weDEuOTFjZjA2MGE1NzI1NDdmZjhlOGU4MjliMTY3NTkzZmNwMCwKKyAgICAtMHgxLjk2MjAwMDAwMDAwMGJwOQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLjkxY2YwNjBhNTcyNTQ3ZmY4ZThlODI5YjE2NzU5M2ZjcDAsCisgICAgMHgxLjk2MjAwMDAwMDAwMGJwOQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS40N2MyOGU4YzQwZWMyODAwMDAwMjA4MDhmZGM5MDI2NHAwLAorICAgIC0weDEuYWMyZTA4NjJlNTQzZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuNDdjMjhlOGM0MGVjMjgwMDAwMDIwODA4ZmRjOTAyNjRwMCwKKyAgICAweDEuYWMyZTA4NjJlNTQzZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNmVmOTIxNDM5cDAsCisgICAgLTB4MS5jMzVmZTBjYzlkMGU0cDk5CisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE2ZWY5MjE0MzlwMCwKKyAgICAweDEuYzM1ZmUwY2M5ZDBlNHA5OQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5mZWUyNDMxMjE1NjA2ZjlkYjIyZDUyZmM3ZTczMWI5OHAtNiwKKyAgICAtMHgxLmZmMGNhYWFlMzE3OTBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5mZWUyNDMxMjE1NjA2ZjlkYjIyZDUyZmM3ZTczMWI5OHAtNiwKKyAgICAweDEuZmYwY2FhYWUzMTc5MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS4xYjZhZTVlNzBkNTdhMDAyNDgyNWIwY2VlODZmZDQxNXAwLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuMWI2YWU1ZTcwZDU3YTAwMjQ4MjViMGNlZTg2ZmQ0MTVwMCwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLmY1YWEzMmQ4YTZkMTc3ZmZmYWQ2MWI1ZGNhMGJlOGJmcC0zLAorICAgIC0weDEuZmZmMjAwN2ZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmY1YWEzMmQ4YTZkMTc3ZmZmYWQ2MWI1ZGNhMGJlOGJmcC0zLAorICAgIDB4MS5mZmYyMDA3ZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLmY1YjM5ZjkyNTc4ZTAwM2NlMDI1NDQ1ZDU0NDhjNzIzcC0zLAorICAgIC0weDEuZmZmYzAzZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmY1YjM5ZjkyNTc4ZTAwM2NlMDI1NDQ1ZDU0NDhjNzIzcC0zLAorICAgIDB4MS5mZmZjMDNmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZmQ1YmE5YWFjMmY3ZjdmNzRhNGFjMmY3OTYyZWEwMDZwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuZmQ1YmE5YWFjMmY3ZjdmNzRhNGFjMmY3OTYyZWEwMDZwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMWI2ZTE5MmViYmU0YjM5MzllNjc2ZWVkMTNlY2RlYTVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAxMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjFiNmUxOTJlYmJlNGIzOTM5ZTY3NmVlZDEzZWNkZWE1cDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDExcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5mZDViYTlhYWMzMzAxNzc5NDI2YTQ0ZDYyMTZjMDEyN3AtNCwKKyAgICAweDEuMDAwMDAwMDAwMDFkMXAtMworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5mZDViYTlhYWMzMzAxNzc5NDI2YTQ0ZDYyMTZjMDEyN3AtNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAxZDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5mNWI3NWY5MmM4ZTBhOGZkYWU2MjBiNTFjZDlhZmYxMnAtMywKKyAgICAweDEuMDAwMDAwMDAwMDdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuZjViNzVmOTJjOGUwYThmZGFlNjIwYjUxY2Q5YWZmMTJwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmZmZDU1YmJhOWQ2OWE4YWQ2NTFkNzFhZWM5ODhkYWQwcC02LAorICAgIDB4MS4wMDAwMDAwMDAzMDQ3cC01CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmZmZDU1YmJhOWQ2OWE4YWQ2NTFkNzFhZWM5ODhkYWQwcC02LAorICAgIC0weDEuMDAwMDAwMDAwMzA0N3AtNQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjkxMWZiNTk5OTgxM2E4MDAzYzg3OWIxNzkzOTY2ZWExcDAsCisgICAgMHgxLjAwMDAwMDAwMjAwMTdwOAorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS45MTFmYjU5OTk4MTNhODAwM2M4NzliMTc5Mzk2NmVhMXAwLAorICAgIC0weDEuMDAwMDAwMDAyMDAxN3A4CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuOTIxZmI1NDQ3MmQxODQ2OTg1MGNjNTE3MDIwMDM5YTJwLTEsCisgICAgMHgxLjAwMDAwMDAwM3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjkyMWZiNTQ0NzJkMTg0Njk4NTBjYzUxNzAyMDAzOWEycC0xLAorICAgIC0weDEuMDAwMDAwMDAzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5mNWI3NWY5NTlhZTBhOGZkNmU5YWMxZTg0YmNlY2E1N3AtMywKKyAgICAweDEuMDAwMDAwMDE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmY1Yjc1Zjk1OWFlMGE4ZmQ2ZTlhYzFlODRiY2VjYTU3cC0zLAorICAgIC0weDEuMDAwMDAwMDE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuZjViNzY3MWE0ZjkzOTgyOTE0Mzc4MmZjNmUxMjRjY2FwLTMsCisgICAgMHgxLjAwMDAwNDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuZjViNzY3MWE0ZjkzOTgyOTE0Mzc4MmZjNmUxMjRjY2FwLTMsCisgICAgLTB4MS4wMDAwMDQwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuZmQ1YmIxOGI0MTdjNDhhYzg0ODUyMWJiMDc3MmQ5YTFwLTQsCisgICAgMHgxLjAwMDAwNDAwMDA0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLmZkNWJiMThiNDE3YzQ4YWM4NDg1MjFiYjA3NzJkOWExcC00LAorICAgIC0weDEuMDAwMDA0MDAwMDRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS45MjFmYzQ0NDAyNDgyODJkMjkwYTYxNmI4YmQyYTQwZnAtMSwKKyAgICAweDEuMDAwMDBlZmZiZmU3MnAwCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjkyMWZjNDQ0MDI0ODI4MmQyOTBhNjE2YjhiZDJhNDBmcC0xLAorICAgIC0weDEuMDAwMDBlZmZiZmU3MnAwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuOTIxZmNiNGVmZThiOTgwMDAwMTk3OWMzYzE0YWU2NDdwLTEsCisgICAgMHgxLjAwMDAxNjBhYmNhZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS45MjFmY2I0ZWZlOGI5ODAwMDAxOTc5YzNjMTRhZTY0N3AtMSwKKyAgICAtMHgxLjAwMDAxNjBhYmNhZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLmZkNWQ5ZGQ5ZmU0ODc3ZmQ1NzhmNDYwZGNiODNhMDY4cC00LAorICAgIDB4MS4wMDAwZmUwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmZkNWQ5ZGQ5ZmU0ODc3ZmQ1NzhmNDYwZGNiODNhMDY4cC00LAorICAgIC0weDEuMDAwMGZlMHAtMworICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjFiNmZiMmMzMzZkNDkzMTRlYWM5ZjljOThmZDdlMzNjcDAsCisgICAgMHgxLjAwMDQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuMWI2ZmIyYzMzNmQ0OTMxNGVhYzlmOWM5OGZkN2UzM2NwMCwKKyAgICAtMHgxLjAwMDQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS44ZTIwMGE5MGNjNjMwODAzMzdiYjVmNDcyMzAzZDBjYnAwLAorICAgIDB4MS4wMDBmZmZmZmZmZmUxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuOGUyMDBhOTBjYzYzMDgwMzM3YmI1ZjQ3MjMwM2QwY2JwMCwKKyAgICAtMHgxLjAwMGZmZmZmZmZmZTFwNgorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjkyNGZiMGM0OGFkMTgzYTc0MTgzZWRkNTM2MjQ4NmRmcC0xLAorICAgIDB4MS4wMDNwMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS45MjRmYjBjNDhhZDE4M2E3NDE4M2VkZDUzNjI0ODZkZnAtMSwKKyAgICAtMHgxLjAwM3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZmVkYzVmNmFlYjk4MTg2YTNiMGQzYjk1NGQ3MDkxMWNwLTQsCisgICAgMHgxLjAwYzM1ZTk3NThlMmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuZmVkYzVmNmFlYjk4MTg2YTNiMGQzYjk1NGQ3MDkxMWNwLTQsCisgICAgLTB4MS4wMGMzNWU5NzU4ZTJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuOTIxZmIzNDY2MDkxZTdmZmJjOWI4ZTVjNmQ4OGNlMjJwMCwKKyAgICAweDEuMDExcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjkyMWZiMzQ2NjA5MWU3ZmZiYzliOGU1YzZkODhjZTIycDAsCisgICAgLTB4MS4wMTFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4xYzIxMDA5NTg1NThkZmZmOTE1Mzk1YTViZmI0ZTRmN3AwLAorICAgIDB4MS4wMWMxYjc1YTI5MTk4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuMWMyMTAwOTU4NTU4ZGZmZjkxNTM5NWE1YmZiNGU0ZjdwMCwKKyAgICAtMHgxLjAxYzFiNzVhMjkxOThwMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjk0MWRhNmI5NzYxMTI4MDBhZTUwYTc5MjQ0YjJmMDBmcC0xLAorICAgIDB4MS4wMWZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjk0MWRhNmI5NzYxMTI4MDBhZTUwYTc5MjQ0YjJmMDBmcC0xLAorICAgIC0weDEuMDFmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS45NTQxMmMxNGNhZWM2ODM2OGQyMzUyMjYyZTIwNWUyOXAtMSwKKyAgICAweDEuMDMyNjY3YjM4ZmQ2M3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS45NTQxMmMxNGNhZWM2ODM2OGQyMzUyMjYyZTIwNWUyOXAtMSwKKyAgICAtMHgxLjAzMjY2N2IzOGZkNjNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS45NTQ3OTcxNTY5MDdmZmU4ZDQzYzU2ZmVkODgwNmNiYXAtMSwKKyAgICAweDEuMDMyY2U3MjA5ZTkzNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS45NTQ3OTcxNTY5MDdmZmU4ZDQzYzU2ZmVkODgwNmNiYXAtMSwKKyAgICAtMHgxLjAzMmNlNzIwOWU5MzZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS4wM2ZlOTI2ZGViODdkZWEwMzZhZTBlNTAwMGE3ODE3OXAtNywKKyAgICAweDEuMDNmZmY4MHAtNworICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuMDNmZTkyNmRlYjg3ZGVhMDM2YWUwZTUwMDBhNzgxNzlwLTcsCisgICAgLTB4MS4wM2ZmZjgwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZkNjFlNDMyNmMxZTE3ZjliZTVjMGU5NmI5ZTI0NWI1cC0zLAorICAgIDB4MS4wNDEzOTFiNGY2NzczcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS5mZDYxZTQzMjZjMWUxN2Y5YmU1YzBlOTZiOWUyNDViNXAtMywKKyAgICAtMHgxLjA0MTM5MWI0ZjY3NzNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuOTY5MGU3NDY1ODQ3YTdkZGMxNTNiYzY3OThkMWI4MmJwLTEsCisgICAgMHgxLjA0N2IyZDVhYzhjY2JwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuOTY5MGU3NDY1ODQ3YTdkZGMxNTNiYzY3OThkMWI4MmJwLTEsCisgICAgLTB4MS4wNDdiMmQ1YWM4Y2NicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuOTZjOGVhNjM5ZjY4Y2MwOWQ0NDU4NDE5NjI5NWRmOTNwLTEsCisgICAgMHgxLjA0YjQzNDAzOTUzYjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuOTZjOGVhNjM5ZjY4Y2MwOWQ0NDU4NDE5NjI5NWRmOTNwLTEsCisgICAgLTB4MS4wNGI0MzQwMzk1M2IwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuOTZjOTViYTdkZjg0ZjdmZWNmODQxZjA0YTUzODZhOTVwLTEsCisgICAgMHgxLjA0YjRhNzYxYTA3M2JwMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuOTZjOTViYTdkZjg0ZjdmZWNmODQxZjA0YTUzODZhOTVwLTEsCisgICAgLTB4MS4wNGI0YTc2MWEwNzNicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuZmY5NTZhNjhlNWY1ZDdmYTI2ODI5YmEwYTMyODcyMjdwLTMsCisgICAgMHgxLjA1M2Y5NmI4NjhiNDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmZmOTU2YTY4ZTVmNWQ3ZmEyNjgyOWJhMGEzMjg3MjI3cC0zLAorICAgIC0weDEuMDUzZjk2Yjg2OGI0MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS45OGIwYzNjMGRkODkxN2ZlYmUyMWI1ODJlNDViZjMyYXAtMSwKKyAgICAweDEuMDZhNmZkZDhjOWJlOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS45OGIwYzNjMGRkODkxN2ZlYmUyMWI1ODJlNDViZjMyYXAtMSwKKyAgICAtMHgxLjA2YTZmZGQ4YzliZThwMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5lN2UzZDA5MTA4MDdlZmZmOTkyYzdhMjc0ZmRiZWQ4Y3AtMiwKKyAgICAweDEuMDg0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS5lN2UzZDA5MTA4MDdlZmZmOTkyYzdhMjc0ZmRiZWQ4Y3AtMiwKKyAgICAtMHgxLjA4NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wOTg4MmYwZmQ4NzhiN2ZjNzUwYzIzYzA0MTdhYTM1MnAtNSwKKyAgICAweDEuMDlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS4wOTg4MmYwZmQ4NzhiN2ZjNzUwYzIzYzA0MTdhYTM1MnAtNSwKKyAgICAtMHgxLjA5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5hMDU3ZTNjYjc0MjQ1ODAyYjcxYzU3ODZiZDNiZjVhOXAtMSwKKyAgICAweDEuMGVhMTI4MTc4NjY4MXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS5hMDU3ZTNjYjc0MjQ1ODAyYjcxYzU3ODZiZDNiZjVhOXAtMSwKKyAgICAtMHgxLjBlYTEyODE3ODY2ODFwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5hMDU3ZTNjYjc0MjgxMDBjZGU2MjQyYjNiZjJkNzVlN3AtMSwKKyAgICAweDEuMGVhMTI4MTc4NjZjMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS5hMDU3ZTNjYjc0MjgxMDBjZGU2MjQyYjNiZjJkNzVlN3AtMSwKKyAgICAtMHgxLjBlYTEyODE3ODY2YzBwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4wOTU0NGI3MWFkNGE2ODAwMDAwMDAwMDAwMDEzYThkNHAtMiwKKyAgICAweDEuMGY2ZTVkOTk2MDM5N3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMDk1NDRiNzFhZDRhNjgwMDAwMDAwMDAwMDAxM2E4ZDRwLTIsCisgICAgLTB4MS4wZjZlNWQ5OTYwMzk3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjkyMWZiNGNkOWM2NzY3ZmZmZmZlNjA1MWJmMWMzZmVjcDAsCisgICAgMHgxLjE0MmM2OWI3MjAwYjRwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjkyMWZiNGNkOWM2NzY3ZmZmZmZlNjA1MWJmMWMzZmVjcDAsCisgICAgLTB4MS4xNDJjNjliNzIwMGI0cDI1CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmE5MDhhZmE1YjFkNDlkNDUwODM0NTQwZmVlOWMzYzI0cC0xLAorICAgIDB4MS4xODBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuYTkwOGFmYTViMWQ0OWQ0NTA4MzQ1NDBmZWU5YzNjMjRwLTEsCisgICAgLTB4MS4xODBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5hYmRjYzc0ODIxNDg1ZmZiM2RjZTJjNDcxZjFkOWNjZHAtMSwKKyAgICAweDEuMWIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLmFiZGNjNzQ4MjE0ODVmZmIzZGNlMmM0NzFmMWQ5Y2NkcC0xLAorICAgIC0weDEuMWIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuMWZmZmZmZmZmZmY4NjgwMDAwMDAwMDVjNDM5OTk5OTlwLTIyLAorICAgIDB4MS4ycC0yMgorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuMWZmZmZmZmZmZmY4NjgwMDAwMDAwMDVjNDM5OTk5OTlwLTIyLAorICAgIC0weDEuMnAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuMTIzMWYzY2YzYjY0MDgwMTEwZmY0MWVhZjA4ZTdmNTJwLTEsCisgICAgMHgxLjJmY2Y3NDQ0YmRlNzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjEyMzFmM2NmM2I2NDA4MDExMGZmNDFlYWYwOGU3ZjUycC0xLAorICAgIC0weDEuMmZjZjc0NDRiZGU3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS4xNGU4OTE5ODg2MDYyN2ZmZmZlODYwMjI3NTUxOTQ5MHAtMSwKKyAgICAweDEuMzM3ZDlkYjZkN2MxMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuMTRlODkxOTg4NjA2MjdmZmZmZTg2MDIyNzU1MTk0OTBwLTEsCisgICAgLTB4MS4zMzdkOWRiNmQ3YzEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjkxZWFlN2U0NzQyMzQ4MDBmZmVkNDU3OWU5MzliNjllcDAsCisgICAgMHgxLjM2NGEyZjEzNGZjYzhwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjkxZWFlN2U0NzQyMzQ4MDBmZmVkNDU3OWU5MzliNjllcDAsCisgICAgLTB4MS4zNjRhMmYxMzRmY2M4cDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjkyMWZiNTNkYTlhZmM3ZmY4YTdiMzZlNDk4ODdhODhjcDAsCisgICAgMHgxLjM2NjM5ODZmODIyMjBwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLjkyMWZiNTNkYTlhZmM3ZmY4YTdiMzZlNDk4ODdhODhjcDAsCisgICAgLTB4MS4zNjYzOTg2ZjgyMjIwcDI5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjc4YzU2YjkyZjE5MGU4NGEzMjNiZDU4MDRhMWM1YmE2cDAsCisgICAgMHgxLjQyMTA4NDIxMDg0MjBwMworICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuNzhjNTZiOTJmMTkwZTg0YTMyM2JkNTgwNGExYzViYTZwMCwKKyAgICAtMHgxLjQyMTA4NDIxMDg0MjBwMworICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS43OGQ3NTE0OTQ4OTgzNzJkMGZlM2FmM2E3ODM3ZmY4ZnAwLAorICAgIDB4MS40MmY1ZmYxNWRkYzA4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjc4ZDc1MTQ5NDg5ODM3MmQwZmUzYWYzYTc4MzdmZjhmcDAsCisgICAgLTB4MS40MmY1ZmYxNWRkYzA4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuMzFjZTRkYTAzN2YxNTQyMzQwZWU0YzYxNDIxYmJhNWFwMCwKKyAgICAweDEuNDNmZmY4MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS4zMWNlNGRhMDM3ZjE1NDIzNDBlZTRjNjE0MjFiYmE1YXAwLAorICAgIC0weDEuNDNmZmY4MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjMxY2U0ZmM5MzEzNDc0ZTY5YjQxMzA2ZDgyZGVjZWIwcDAsCisgICAgMHgxLjQ0MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS4zMWNlNGZjOTMxMzQ3NGU2OWI0MTMwNmQ4MmRlY2ViMHAwLAorICAgIC0weDEuNDQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuMjZiM2QyMTFiYzNmYWFmOGYwMzdkZDM0MjFkOWY5NjJwLTEsCisgICAgMHgxLjRjM2E5ODc1MzBlYTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLjI2YjNkMjExYmMzZmFhZjhmMDM3ZGQzNDIxZDlmOTYycC0xLAorICAgIC0weDEuNGMzYTk4NzUzMGVhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS4zNTE3NzlmMDcyODQ2ODAwYTliYjE4ZDcyYTc5ODE0ZXAwLAorICAgIDB4MS41MDk0MjUwOTQyNTA4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjM1MTc3OWYwNzI4NDY4MDBhOWJiMThkNzJhNzk4MTRlcDAsCisgICAgLTB4MS41MDk0MjUwOTQyNTA4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuNThmY2VjYjY5NmQ4MjdlYzY2YzRhN2JmZDhlZDMyN2JwLTgsCisgICAgMHgxLjU4ZmRiZDhkZGJiZjhwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLjU4ZmNlY2I2OTZkODI3ZWM2NmM0YTdiZmQ4ZWQzMjdicC04LAorICAgIC0weDEuNThmZGJkOGRkYmJmOHAtOAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS42MzM5OGY2ZGEyZjFhN2ZmZmZmMmQzMTE4ODY5NDhjNXAwLAorICAgIDB4MS41OTZkZThjYTExYWU2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLjYzMzk4ZjZkYTJmMWE3ZmZmZmYyZDMxMTg4Njk0OGM1cDAsCisgICAgLTB4MS41OTZkZThjYTExYWU2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuMzQyNGEwMDY2ZTZhOGQ2ZTNkNjkwMWY5OTAzNGNkZTFwLTEsCisgICAgMHgxLjVmYWEwY2JmNDhlNTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjM0MjRhMDA2NmU2YThkNmUzZDY5MDFmOTkwMzRjZGUxcC0xLAorICAgIC0weDEuNWZhYTBjYmY0OGU1NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS41ZmYyMjNhNjM5ZDViZmNlN2FlMWNmYjc1MTZkMjZhZHAtNiwKKyAgICAweDEuNnAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuNWZmMjIzYTYzOWQ1YmZjZTdhZTFjZmI3NTE2ZDI2YWRwLTYsCisgICAgLTB4MS42cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjM0NWYwMWNjZTM4YzhkOGJlNDBjYzEyYzU4MjQwZTE1cC0xLAorICAgIDB4MS42MDAwMDAwMDAwMThkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS4zNDVmMDFjY2UzOGM4ZDhiZTQwY2MxMmM1ODI0MGUxNXAtMSwKKyAgICAtMHgxLjYwMDAwMDAwMDAxOGRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMzY3Y2IyNGZkZmYyMTQ2YTNjNjg2M2QyMzNmZjA5ZmVwLTEsCisgICAgMHgxLjYzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuMzY3Y2IyNGZkZmYyMTQ2YTNjNjg2M2QyMzNmZjA5ZmVwLTEsCisgICAgLTB4MS42MzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuNTdiYWViOWM1MWRiNDkwZjgyNDlmNjY3OTc2ODc0MWZwLTIsCisgICAgMHgxLjY1NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuNTdiYWViOWM1MWRiNDkwZjgyNDlmNjY3OTc2ODc0MWZwLTIsCisgICAgLTB4MS42NTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMzk1MDA2YjBmZDY4MmQ4NmY0YTQwZjY5ZTRkYWQxZjNwLTEsCisgICAgMHgxLjY3NTM3MGNjMjE3ZjFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjM5NTAwNmIwZmQ2ODJkODZmNGE0MGY2OWU0ZGFkMWYzcC0xLAorICAgIC0weDEuNjc1MzcwY2MyMTdmMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS42OTVhMmMyNjhlMWU1N2ZmZWUwY2I4Yzg4OTg2ZGZlZnAtMTIsCisgICAgMHgxLjY5NWEyZDE2OGI0NDBwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS42OTVhMmMyNjhlMWU1N2ZmZWUwY2I4Yzg4OTg2ZGZlZnAtMTIsCisgICAgLTB4MS42OTVhMmQxNjhiNDQwcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS45MGI2ZmMwNDc0ZmVjN2ZlMTJmNTI0ZjFiNDIwYjE4NHAwLAorICAgIDB4MS42YjVhZDZiNWFjZWI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjkwYjZmYzA0NzRmZWM3ZmUxMmY1MjRmMWI0MjBiMTg0cDAsCisgICAgLTB4MS42YjVhZDZiNWFjZWI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuM2I4ZjMzMDYxNjdhOGJhYTM2OGRhYWUwYmYwOGU4NmNwMCwKKyAgICAweDEuNmMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjNiOGYzMzA2MTY3YThiYWEzNjhkYWFlMGJmMDhlODZjcDAsCisgICAgLTB4MS42YzBwMQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS41ZjZiYWUxODliNTEwOThhODZkOTBjOThkYTRjYzg3N3AtMiwKKyAgICAweDEuNmRlNjNiMTQ4Y2YwYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuNWY2YmFlMTg5YjUxMDk4YTg2ZDkwYzk4ZGE0Y2M4NzdwLTIsCisgICAgLTB4MS42ZGU2M2IxNDhjZjBicC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjNkZTE4NzAzZDQyZDY5ZjU1YjNlNmM0ZDFmZTU2MjlkcC0xLAorICAgIDB4MS42ZTMwMDIyY2I0NTAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS4zZGUxODcwM2Q0MmQ2OWY1NWIzZTZjNGQxZmU1NjI5ZHAtMSwKKyAgICAtMHgxLjZlMzAwMjJjYjQ1MDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuZWJlNTQwMTM2NGQwYzgwMmI2ZDUyZWUyY2RmMjA4NmVwLTEsCisgICAgMHgxLjZlM2IxZTIxYjI3ZGRwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuZWJlNTQwMTM2NGQwYzgwMmI2ZDUyZWUyY2RmMjA4NmVwLTEsCisgICAgLTB4MS42ZTNiMWUyMWIyN2RkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuNjMxMDcyMWU4ZDdiYzA0ZTJhZTRlOGNjZTg3YTFlYzBwLTIsCisgICAgMHgxLjcyMDM2Zjg4OWU4NmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLjYzMTA3MjFlOGQ3YmMwNGUyYWU0ZThjY2U4N2ExZWMwcC0yLAorICAgIC0weDEuNzIwMzZmODg5ZTg2ZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS42ODVjODJiZTFkNmZhOTAyYjIzOGU4NzcxNmMzYmJmYnAtMiwKKyAgICAweDEuNzgwMzcxODQzNDYyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuNjg1YzgyYmUxZDZmYTkwMmIyMzhlODc3MTZjM2JiZmJwLTIsCisgICAgLTB4MS43ODAzNzE4NDM0NjIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjY4YzNiMDhjMjBhZjA5YmU4MDdmNTk4Y2JjYTMyY2I5cC0yLAorICAgIDB4MS43ODc4OGQzMjBkNjM5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS42OGMzYjA4YzIwYWYwOWJlODA3ZjU5OGNiY2EzMmNiOXAtMiwKKyAgICAtMHgxLjc4Nzg4ZDMyMGQ2MzlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuNmIzNWNiYWQwMjYwMDlmMTJkMDAwMDNmODRjMjljYWVwLTIsCisgICAgMHgxLjdiM2ZlOTJlMmZkNjNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjZiMzVjYmFkMDI2MDA5ZjEyZDAwMDAzZjg0YzI5Y2FlcC0yLAorICAgIC0weDEuN2IzZmU5MmUyZmQ2M3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS42YzRiMzYxMGM0MmIyOWVhYmVhYTM1Y2MxYjgwNjdlY3AtMiwKKyAgICAweDEuN2M3YjgwYTlkNzg4YnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuNmM0YjM2MTBjNDJiMjllYWJlYWEzNWNjMWI4MDY3ZWNwLTIsCisgICAgLTB4MS43YzdiODBhOWQ3ODhicC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjZlZWQ2ZmY2Y2Q5OWNhMDJjNGQ4OGM5YWE1OTVkNWNmcC0yLAorICAgIDB4MS43ZjdiOGM2NDhhNjUwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS42ZWVkNmZmNmNkOTljYTAyYzRkODhjOWFhNTk1ZDVjZnAtMiwKKyAgICAtMHgxLjdmN2I4YzY0OGE2NTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuN2ZmZmZmZmZmZmZmYjgwMDAwMDAwMDAwMTg0Y2NjY2NwLTI1LAorICAgIDB4MS44cC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuN2ZmZmZmZmZmZmZmYjgwMDAwMDAwMDAwMTg0Y2NjY2NwLTI1LAorICAgIC0weDEuOHAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuN2ZmZmZmZmZmZmZmYzgwMDAwMDAwMDAwMGY0Y2NjY2NwLTI1LAorICAgIDB4MS44MDAwMDAwMDAwMDAxcC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuN2ZmZmZmZmZmZmZmYzgwMDAwMDAwMDAwMGY0Y2NjY2NwLTI1LAorICAgIC0weDEuODAwMDAwMDAwMDAwMXAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuN2ZmZmZmZmZmZmZmZDgwMDAwMDAwMDAwMDY0Y2NjY2NwLTI1LAorICAgIDB4MS44MDAwMDAwMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuN2ZmZmZmZmZmZmZmZDgwMDAwMDAwMDAwMDY0Y2NjY2NwLTI1LAorICAgIC0weDEuODAwMDAwMDAwMDAwMnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZjdiOWVmM2RjNjU0MDgwMDAwMDVlM2Y5MWU4MTYwNjNwLTEsCisgICAgMHgxLjgwZGY0YjI4YjVhODRwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZjdiOWVmM2RjNjU0MDgwMDAwMDVlM2Y5MWU4MTYwNjNwLTEsCisgICAgLTB4MS44MGRmNGIyOGI1YTg0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuOTBjZTAyNDk4MTEwMDgwMDY2Mzg3MDJkYjhhZTU5ZTJwMCwKKyAgICAweDEuODQyMTA4NDIxMDg0NnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS45MGNlMDI0OTgxMTAwODAwNjYzODcwMmRiOGFlNTllMnAwLAorICAgIC0weDEuODQyMTA4NDIxMDg0NnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmZiM2M1N2RhYjVhZmE4MGE1MDZlOTFmOTJlNmE4ZGY5cC0xLAorICAgIDB4MS44NmE3MTM5NWJjOWI1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLmZiM2M1N2RhYjVhZmE4MGE1MDZlOTFmOTJlNmE4ZGY5cC0xLAorICAgIC0weDEuODZhNzEzOTViYzliNXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLjY4ZDk0MzEyY2E3ZjE3ZmZlZWQxZGQxNmVjMmQzNWU2cDAsCisgICAgMHgxLjg5OHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS42OGQ5NDMxMmNhN2YxN2ZmZWVkMWRkMTZlYzJkMzVlNnAwLAorICAgIC0weDEuODk4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmY2OWQwY2VmYThhMjdlYmY4Y2JmNWVjMWNjNzgzNDJwLTEsCisgICAgMHgxLjhkYjE4MDQ3Yzg5NDRwMAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0weDEuZmY2OWQwY2VmYThhMjdlYmY4Y2JmNWVjMWNjNzgzNDJwLTEsCisgICAgLTB4MS44ZGIxODA0N2M4OTQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuOTgzZTI4NTQ1M2IzZjAwMDAwMmVmYzlkNjU0YzZhMzJwLTQsCisgICAgMHgxLjk5OTk5OWMwMjIzNDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLjk4M2UyODU0NTNiM2YwMDAwMDJlZmM5ZDY1NGM2YTMycC00LAorICAgIC0weDEuOTk5OTk5YzAyMjM0MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS45NDQ0MWZlYjdiZTcxODAwMDAwMDVjNDYzNjJiMTZkOHAtMywKKyAgICAweDEuOTk5OTk5Zjk1MTk2MHAtMworICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuOTQ0NDFmZWI3YmU3MTgwMDAwMDA1YzQ2MzYyYjE2ZDhwLTMsCisgICAgLTB4MS45OTk5OTlmOTUxOTYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjlhNmE4ZTk2Yzg2MDQ3ZmZmZTk0YmE0OTc5OWMwMTFmcC0zLAorICAgIDB4MS45ZmZmZmZmZmZmZmRkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS45YTZhOGU5NmM4NjA0N2ZmZmU5NGJhNDk3OTljMDExZnAtMywKKyAgICAtMHgxLjlmZmZmZmZmZmZmZGRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuOWU5NDE1M2NmZTRkYzgwMDM2YzAzN2UxNzJiN2NlZTlwLTQsCisgICAgMHgxLmEwMDAwMDAwMDA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS45ZTk0MTUzY2ZlNGRjODAwMzZjMDM3ZTE3MmI3Y2VlOXAtNCwKKyAgICAtMHgxLmEwMDAwMDAwMDA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjlmZDhhNGQ5OTczZTU3ZmM0NjVkZTQxZGRjNGNiYWUycC00LAorICAgIDB4MS5hMTQ3ZWI0YzE3MDA2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS45ZmQ4YTRkOTk3M2U1N2ZjNDY1ZGU0MWRkYzRjYmFlMnAtNCwKKyAgICAtMHgxLmExNDdlYjRjMTcwMDZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuNjJlMjNkN2RhNWY2ZDgwMTBkNTQ5NmEwODU3M2UxODhwLTEsCisgICAgMHgxLmE5NDY3ODgyMWYwZTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLjYyZTIzZDdkYTVmNmQ4MDEwZDU0OTZhMDg1NzNlMTg4cC0xLAorICAgIC0weDEuYTk0Njc4ODIxZjBlOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS4wOTZmZTIyMDgxZTJiODAwMDA3ZTM2YzY4MjEwOTA1OHAwLAorICAgIDB4MS5iMTAyMzQyMTYzOTUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjA5NmZlMjIwODFlMmI4MDAwMDdlMzZjNjgyMTA5MDU4cDAsCisgICAgLTB4MS5iMTAyMzQyMTYzOTUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuMGE0NzE3MzZiOTIzYjFmMTg4ODVhMTczMDhlMTJiZWVwMCwKKyAgICAweDEuYjQ0NWMxYWQzY2FkMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTB4MS4wYTQ3MTczNmI5MjNiMWYxODg4NWExNzMwOGUxMmJlZXAwLAorICAgIC0weDEuYjQ0NWMxYWQzY2FkMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjBhNjZkNmY2NDZlOGQzNzY2MjI1M2JkOTE1NWE4NGRlcDAsCisgICAgMHgxLmI0YzFkMGMxMGNjYTlwMAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuMGE2NmQ2ZjY0NmU4ZDM3NjYyMjUzYmQ5MTU1YTg0ZGVwMCwKKyAgICAtMHgxLmI0YzFkMGMxMGNjYTlwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5hM2FkNjBlODlkYThiNmYxZGQyMGM2OTIxM2I3NjEyYXAtMiwKKyAgICAweDEuYmNkZTZmMzc5YmNkZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuYTNhZDYwZTg5ZGE4YjZmMWRkMjBjNjkyMTNiNzYxMmFwLTIsCisgICAgLTB4MS5iY2RlNmYzNzliY2RlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjBlMDRhMjNlNzMzNzkzMDM3MWQ4MWYwY2Y0ZDdlOWRjcDAsCisgICAgMHgxLmMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS4wZTA0YTIzZTczMzc5MzAzNzFkODFmMGNmNGQ3ZTlkY3AwLAorICAgIC0weDEuYzM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuYzc3MjUwYzUyYTRjNHA5OTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5jNzcyNTBjNTJhNGM0cDk5NAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5hZDAwZjU0MjIwNThiN2YxMzBjZTI0NzRiOWZiYmRmOHAtMiwKKyAgICAweDEuYzgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5hZDAwZjU0MjIwNThiN2YxMzBjZTI0NzRiOWZiYmRmOHAtMiwKKyAgICAtMHgxLmM4MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS40YzUwNjk3YWZlMzIyN2ZkNmFmOTZhZDgwNDE5MWZjNHAwLAorICAgIDB4MS5jOWIyNmM5YjI2Y2IycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMHgxLjRjNTA2OTdhZmUzMjI3ZmQ2YWY5NmFkODA0MTkxZmM0cDAsCisgICAgLTB4MS5jOWIyNmM5YjI2Y2IycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuYzI4N2I1NjcyYjY2ZDgyOGViYWY0NzU2ZTRmNjBhZDFwLTMsCisgICAgMHgxLmM5ZjBmMWZlNjQ4YmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmMyODdiNTY3MmI2NmQ4MjhlYmFmNDc1NmU0ZjYwYWQxcC0zLAorICAgIC0weDEuYzlmMGYxZmU2NDhiZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5jZTM1ZTQwYjBhZjI5ODAwMDdmNDdmNDRmMTE3OWU2OXAtNSwKKyAgICAweDEuY2ViMzljZTczOWNlMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuY2UzNWU0MGIwYWYyOTgwMDA3ZjQ3ZjQ0ZjExNzllNjlwLTUsCisgICAgLTB4MS5jZWIzOWNlNzM5Y2UycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLmNhNTA3MjgzMDg5OWU4MDdhNDZmZDQ2ZGVlZDA2YzEzcC0zLAorICAgIDB4MS5kMjFmMWJjMDdmZjEwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTB4MS5jYTUwNzI4MzA4OTllODA3YTQ2ZmQ0NmRlZWQwNmMxM3AtMywKKyAgICAtMHgxLmQyMWYxYmMwN2ZmMTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuZDc1N2FkNjMyMWUxYjdmZjEwZTJiYzJkZWVhNDAxNTJwLTcsCisgICAgMHgxLmQ3NnAtNworICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuZDc1N2FkNjMyMWUxYjdmZjEwZTJiYzJkZWVhNDAxNTJwLTcsCisgICAgLTB4MS5kNzZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuYmM1NjhmZDZlYjU4Zjc1MTQwOWI5NDU3MTdkOTU1NGFwLTIsCisgICAgMHgxLmRhOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuYmM1NjhmZDZlYjU4Zjc1MTQwOWI5NDU3MTdkOTU1NGFwLTIsCisgICAgLTB4MS5kYThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuZGNiNThjZGIyMDY0NzdmZWEyYWM2MTJlYWZlOTBhZjBwLTYsCisgICAgMHgxLmRjZDgwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5kY2I1OGNkYjIwNjQ3N2ZlYTJhYzYxMmVhZmU5MGFmMHAtNiwKKyAgICAtMHgxLmRjZDgwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjRmZWZjOTYzOGE3OWY1MTA5NDA1M2E5NzIwMjNmNmMycDAsCisgICAgMHgxLmUzZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEuNGZlZmM5NjM4YTc5ZjUxMDk0MDUzYTk3MjAyM2Y2YzJwMCwKKyAgICAtMHgxLmUzZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS5lNTU5Zjc3YjNkMWJjN2ZlMGYwYWY2MjAwMWM0ZDY0YXAtNCwKKyAgICAweDEuZTdhMmM2OGNhM2JiZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuZTU1OWY3N2IzZDFiYzdmZTBmMGFmNjIwMDFjNGQ2NGFwLTQsCisgICAgLTB4MS5lN2EyYzY4Y2EzYmJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjUwNzMxNjU5NTkxMWNiYmU0NzVkNmEwZDBjODc5MDA3cDAsCisgICAgMHgxLmU3ZjNmOWZjZmU3ODBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuNTA3MzE2NTk1OTExY2JiZTQ3NWQ2YTBkMGM4NzkwMDdwMCwKKyAgICAtMHgxLmU3ZjNmOWZjZmU3ODBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5kZjExMDg2NGM5ZDlkMDMwMDRlZTI3NGE3MGMwYWUyMnAtMywKKyAgICAweDEuZTdmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuZGYxMTA4NjRjOWQ5ZDAzMDA0ZWUyNzRhNzBjMGFlMjJwLTMsCisgICAgLTB4MS5lN2ZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjcxNDVlYWMyMDg4YTM4MDk2YTFhMTMzNTdkMmY1ZjAycDAsCisgICAgMHgxLmZwMgorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuNzE0NWVhYzIwODhhMzgwOTZhMWExMzM1N2QyZjVmMDJwMCwKKyAgICAtMHgxLmZwMgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5mMmQ4ODYwMmQ5MTViN2E5MjBkMzhjOWY5Y2ZmMTZlOHAtNiwKKyAgICAweDEuZjMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgLTB4MS5mMmQ4ODYwMmQ5MTViN2E5MjBkMzhjOWY5Y2ZmMTZlOHAtNiwKKyAgICAtMHgxLmYzMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5mOGNkYTY0YTA4ZWRhZmEyMDM5ZDlkOGE5MzU0NjU0NXAtNiwKKyAgICAweDEuZjhmNjhlYzllMTdlZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuZjhjZGE2NGEwOGVkYWZhMjAzOWQ5ZDhhOTM1NDY1NDVwLTYsCisgICAgLTB4MS5mOGY2OGVjOWUxN2VlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjhlMTE5OWQwZmZkMTk3ZmZmZTkzZWNhZmJjN2RmMmUxcDAsCisgICAgMHgxLmY4ZmZmZmVmZmZmYWVwNQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuOGUxMTk5ZDBmZmQxOTdmZmZlOTNlY2FmYmM3ZGYyZTFwMCwKKyAgICAtMHgxLmY4ZmZmZmVmZmZmYWVwNQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5lZmMyMGZmMGVhNDM0N2ZiMDlmNzUxZjA2MjI1Y2YzZXAtMywKKyAgICAweDEuZjlhYzg3YzIyYzM4MXAtMworICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuZWZjMjBmZjBlYTQzNDdmYjA5Zjc1MWYwNjIyNWNmM2VwLTMsCisgICAgLTB4MS5mOWFjODdjMjJjMzgxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLmZhNTU1NzllMGJhNTc3ZmU5MjlkYzgzZWI3OTk1YWJjcC02LAorICAgIDB4MS5mYTdlOWZhN2U5Zjg5cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLTB4MS5mYTU1NTc5ZTBiYTU3N2ZlOTI5ZGM4M2ViNzk5NWFiY3AtNiwKKyAgICAtMHgxLmZhN2U5ZmE3ZTlmODlwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuZmE1NTU3OWUwYmE2ZjdhMGI3NDBkOGRhZDgwYzc2ZGVwLTYsCisgICAgMHgxLmZhN2U5ZmE3ZTlmYTFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAtMHgxLmZhNTU1NzllMGJhNmY3YTBiNzQwZDhkYWQ4MGM3NmRlcC02LAorICAgIC0weDEuZmE3ZTlmYTdlOWZhMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mZGIwNjc2MzhlYjU3Nzk5MzE5NDYxNmIxZjAyMjUzZXAtNiwKKyAgICAweDEuZmRkYTgyZmVmNjZlZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuZmRiMDY3NjM4ZWI1Nzc5OTMxOTQ2MTZiMWYwMjI1M2VwLTYsCisgICAgLTB4MS5mZGRhODJmZWY2NmVlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLmY1OGEzMjI1ZDUxN2Y3Yjg1ZDAxNDY0MGY5Mjk2MzVkcC0zLAorICAgIDB4MS5mZmNmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS5mNThhMzIyNWQ1MTdmN2I4NWQwMTQ2NDBmOTI5NjM1ZHAtMywKKyAgICAtMHgxLmZmY2ZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuZjVhODUwN2NhMmU3Zjc0ZmU4Mzg5NzE4MjA4YmNiMTZwLTMsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLmY1YTg1MDdjYTJlN2Y3NGZlODM4OTcxODIwOGJjYjE2cC0zLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4xYjZhZTVlNzBkNTdhMDAyNDgyNWIwY2VlODZmZDQxNXAwLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtMHgxLjFiNmFlNWU3MGQ1N2EwMDI0ODI1YjBjZWU4NmZkNDE1cDAsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuODIyNDg3ZTQzNGE2ODg0MzNmODVmNGQ5ZDU5ZjVjOTFwMCwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS44MjI0ODdlNDM0YTY4ODQzM2Y4NWY0ZDlkNTlmNWM5MXAwLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZjhlNjFlYWRjZjdwMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZjhlNjFlYWRjZjdwMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mNWIzOWY5MjU3OGUwMDNjZTAyNTQ0NWQ1NDQ4YzcyM3AtMywKKyAgICAweDEuZmZmYzAzZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuZjViMzlmOTI1NzhlMDAzY2UwMjU0NDVkNTQ0OGM3MjNwLTMsCisgICAgLTB4MS5mZmZjMDNmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLjFiNmUwZjk1MjE5MjU4MDFkMzJiNDM3NWQyNDBlNWIxcDAsCisgICAgMHgxLmZmZmZjZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuMWI2ZTBmOTUyMTkyNTgwMWQzMmI0Mzc1ZDI0MGU1YjFwMCwKKyAgICAtMHgxLmZmZmZjZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS5mNWI3NWRlZDIyNjQ0N2ZlOTBjNmNiOTA0OTg3ZjI3NXAtMywKKyAgICAweDEuZmZmZmZlM2ZmZmZiZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuZjViNzVkZWQyMjY0NDdmZTkwYzZjYjkwNDk4N2YyNzVwLTMsCisgICAgLTB4MS5mZmZmZmUzZmZmZmJmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLjhhMjA1ZmQ1Mjg3ZmY3ZmYyNjJiYWQ2NTEzMjA3NTQzcDAsCisgICAgMHgxLmZmZmZmZmYzZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuOGEyMDVmZDUyODdmZjdmZjI2MmJhZDY1MTMyMDc1NDNwMCwKKyAgICAtMHgxLmZmZmZmZmYzZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5mZmQ1NWJiYTk2MmRmNzk5YWEwYzNhNWE1ZWRmNzYzMXAtNiwKKyAgICAweDEuZmZmZmZmZmZmZWNiNnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEuZmZkNTViYmE5NjJkZjc5OWFhMGMzYTVhNWVkZjc2MzFwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZlY2I2cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLmZmZDU1YmJhOTcyZGY3OTlhYTBjM2E4NzczOWE0NzdkcC02LAorICAgIDB4MS5mZmZmZmZmZmZmY2JhcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5mZmQ1NWJiYTk3MmRmNzk5YWEwYzNhODc3MzlhNDc3ZHAtNiwKKyAgICAtMHgxLmZmZmZmZmZmZmZjYmFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuZGFjNjcwNTYxYmIzNzY4YWRmYzg4YmQ5MzA3NTFhMDZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLmRhYzY3MDU2MWJiMzc2OGFkZmM4OGJkOTMwNzUxYTA2cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZlMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS44YTIwNWZkNTU4NzNmODAwNDU5YmU2NTg1MjYyNGI1ZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmYzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAtMHgxLjhhMjA1ZmQ1NTg3M2Y4MDA0NTliZTY1ODUyNjI0YjVmcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmYzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuZmZmZmY1NTU1NWJiM2JiNzMxNzJjZjhjZmRlZjUwZjlwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmY4cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0weDEuZmZmZmY1NTU1NWJiM2JiNzMxNzJjZjhjZmRlZjUwZjlwLTExLAorICAgIC0weDEuZmZmZmZmZmZmZmZmOHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuZjViNzVmOTJjODBkYjgwY2JkNzExZmNkZDEwOWI5MThwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMHgxLmY1Yjc1ZjkyYzgwZGI4MGNiZDcxMWZjZGQxMDliOTE4cC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZiNTU1NTU1NTU1NTU2M2JiYmJiYnAtMjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZiNTU1NTU1NTU1NTU2M2JiYmJiYnAtMjYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEuOTk5OTk5NDIzN2ZhYjFkYTY0OTkyYTMxMDMxMjUwNWVwLTEzLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIC0weDEuOTk5OTk5NDIzN2ZhYjFkYTY0OTkyYTMxMDMxMjUwNWVwLTEzLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuOTk5OTk4M2MxMzFmN2ExMGM1ZGQ1ZDZlN2NlM2NiODFwLTEyLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEuOTk5OTk4M2MxMzFmN2ExMGM1ZGQ1ZDZlN2NlM2NiODFwLTEyLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEuMzMzMzMwZTU2MDQ5OGM3MjdlNGQ2MjY1YmQyZmZlYzhwLTExLAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIC0weDEuMzMzMzMwZTU2MDQ5OGM3MjdlNGQ2MjY1YmQyZmZlYzhwLTExLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuOTk5OTk0MjM3ZmNhMzJiNWEyNmZmOGY3ZDliZDhkMzVwLTExLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIC0weDEuOTk5OTk0MjM3ZmNhMzJiNWEyNmZmOGY3ZDliZDhkMzVwLTExLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuZmZmZmY1NTU1NWJiYmJiNzI5NzJkMDBjZmRlNzUyZjlwLTExLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuZmZmZmY1NTU1NWJiYmJiNzI5NzJkMDBjZmRlNzUyZjlwLTExLAorICAgIC0weDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuMzMzMzI5ZmJlN2ViZWVmMDllNTE3MTFiNDRmODY1MzlwLTEwLAorICAgIDB4MS4zMzMzMzMzMzMzMzMzcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIC0weDEuMzMzMzI5ZmJlN2ViZWVmMDllNTE3MTFiNDRmODY1MzlwLTEwLAorICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuNjY2NjU3YzNlZGY1ZmM2MGU4ZWUyMmE0Y2ZlMDU2OWNwLTEwLAorICAgIDB4MS42NjY2NjY2NjY2NjY2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIC0weDEuNjY2NjU3YzNlZGY1ZmM2MGU4ZWUyMmE0Y2ZlMDU2OWNwLTEwLAorICAgIC0weDEuNjY2NjY2NjY2NjY2NnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuOTk5OTgzYzEzM2VlODFkNDE3Y2FlMjFlNDQwNDkyZmZwLTEwLAorICAgIDB4MS45OTk5OTk5OTk5OTk5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIC0weDEuOTk5OTgzYzEzM2VlODFkNDE3Y2FlMjFlNDQwNDkyZmZwLTEwLAorICAgIC0weDEuOTk5OTk5OTk5OTk5OXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAweDEuY2NjY2FkYjIzMGQ1YmUyMDU1ZjhmM2I2NjhkNTdjNjFwLTEwLAorICAgIDB4MS5jY2NjY2NjY2NjY2NjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIC0weDEuY2NjY2FkYjIzMGQ1YmUyMDU1ZjhmM2I2NjhkNTdjNjFwLTEwLAorICAgIC0weDEuY2NjY2NjY2NjY2NjY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuMDY2NGY2ZDVlMWI1NTkzOWZhMzlkMzk3ODM1NGZiMDhwLTcsCisgICAgMHgxLjA2NjY2NjY2NjY2NjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAtMHgxLjA2NjRmNmQ1ZTFiNTU5MzlmYTM5ZDM5NzgzNTRmYjA4cC03LAorICAgIC0weDEuMDY2NjY2NjY2NjY2NnAtNworICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS5jY2M1MDY2MTUyNTZiNGQ2NjBhY2JlNTUzNjYxNGJjMHAtNywKKyAgICAweDEuY2NjY2NjY2NjY2NjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIC0weDEuY2NjNTA2NjE1MjU2YjRkNjYwYWNiZTU1MzY2MTRiYzBwLTcsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLjQ5OGUzODVlNjJiNDJkNDA3MDgzMjJiNjViOWE5MmEycC02LAorICAgIDB4MS40OTk5OTk5OTk5OTk5cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLTB4MS40OThlMzg1ZTYyYjQyZDQwNzA4MzIyYjY1YjlhOTJhMnAtNiwKKyAgICAtMHgxLjQ5OTk5OTk5OTk5OTlwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuYWNiM2JmMjg4OGZkMjUzY2RlNzJhNjVmZjZiNWE1ZWRwLTYsCisgICAgMHgxLmFjY2NjY2NjY2NjY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAtMHgxLmFjYjNiZjI4ODhmZDI1M2NkZTcyYTY1ZmY2YjVhNWVkcC02LAorICAgIC0weDEuYWNjY2NjY2NjY2NjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS4wN2U4OWUzYWJlZTdkZjViYzIyYjg4Mzg1NmU1ZDgwMnAtNSwKKyAgICAweDEuMDgwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS4wN2U4OWUzYWJlZTdkZjViYzIyYjg4Mzg1NmU1ZDgwMnAtNSwKKyAgICAtMHgxLjA4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS4zOTcyNmIwOTZhZmI1NjU3ZjAzN2Q0NGNlYWJhY2ZkZXAtNSwKKyAgICAweDEuMzk5OTk5OTk5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIC0weDEuMzk3MjZiMDk2YWZiNTY1N2YwMzdkNDRjZWFiYWNmZGVwLTUsCisgICAgLTB4MS4zOTk5OTk5OTk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLjZhZjY1OTc1MmE4ZTkwZTc5ODIzNjE2ZDE4OTIyZDA2cC01LAorICAgIDB4MS42YjMzMzMzMzMzMzM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgLTB4MS42YWY2NTk3NTJhOGU5MGU3OTgyMzYxNmQxODkyMmQwNnAtNSwKKyAgICAtMHgxLjZiMzMzMzMzMzMzMzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuOWM3MzdkOWI0ZDA3MDkyYzI5NTU4NDk1MWExZjVhNzFwLTUsCisgICAgMHgxLjljY2NjY2NjY2NjY2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAtMHgxLjljNzM3ZDliNGQwNzA5MmMyOTU1ODQ5NTFhMWY1YTcxcC01LAorICAgIC0weDEuOWNjY2NjY2NjY2NjZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS5jZGU4ZWM1YmI2NWYwZTc0MjQwNWU1NmI1YWU0MjZlMnAtNSwKKyAgICAweDEuY2U2NjY2NjY2NjY2NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIC0weDEuY2RlOGVjNWJiNjVmMGU3NDI0MDVlNTZiNWFlNDI2ZTJwLTUsCisgICAgLTB4MS5jZTY2NjY2NjY2NjY2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLjMzNTliY2U4NWQ0YzBlZGYwNjJhMzE2YWM5YTNiMDM1cC0xLAorICAgIDB4MS41ZTdmYzQzNjliZGFkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgLTB4MS4zMzU5YmNlODVkNGMwZWRmMDYyYTMxNmFjOWEzYjAzNXAtMSwKKyAgICAtMHgxLjVlN2ZjNDM2OWJkYWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuZDVjYTcwODU2MTQ1MGJlYzhjZDU0Y2QwNmVmNzE1ODhwLTEsCisgICAgMHgxLjRlN2ZjNDM2OWJkYWRwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIC0weDEuZDVjYTcwODU2MTQ1MGJlYzhjZDU0Y2QwNmVmNzE1ODhwLTEsCisgICAgLTB4MS40ZTdmYzQzNjliZGFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuMTdhYzQ0MWVlYWMyZTBlMTMxNjMzZDVkYmRhMTE5MmRwMCwKKyAgICAweDEuZWRiZmE2NTFlOWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgLTB4MS4xN2FjNDQxZWVhYzJlMGUxMzE2MzNkNWRiZGExMTkyZHAwLAorICAgIC0weDEuZWRiZmE2NTFlOWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLjMyNzllODU1OTBiZWQ1YzBhN2Q0NjVjNzBlOTMxMmRicDAsCisgICAgMHgxLjQ2N2ZjNDM2OWJkYWRwMQorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIC0weDEuMzI3OWU4NTU5MGJlZDVjMGE3ZDQ2NWM3MGU5MzEyZGJwMCwKKyAgICAtMHgxLjQ2N2ZjNDM2OWJkYWRwMQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS40M2Y2NDRhMjNmMTEzMTJiMGJhZWRhNjQ2OTkzOWRmMXAwLAorICAgIDB4MS45NjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAtMHgxLjQzZjY0NGEyM2YxMTMxMmIwYmFlZGE2NDY5OTM5ZGYxcDAsCisgICAgLTB4MS45NjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAweDEuNTAyYTFkM2RhMmI2MmNkYWZkZmM4ZGY4OTZmYjc4MWVwMCwKKyAgICAweDEuZTViZmE2NTFlOWM4M3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgLTB4MS41MDJhMWQzZGEyYjYyY2RhZmRmYzhkZjg5NmZiNzgxZXAwLAorICAgIC0weDEuZTViZmE2NTFlOWM4M3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLjU5MjA2NmFhNzMzZTU2NTM1ZWYyMzQ4N2YxYmE0NWFicDAsCisgICAgMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIC0weDEuNTkyMDY2YWE3MzNlNTY1MzVlZjIzNDg3ZjFiYTQ1YWJwMCwKKyAgICAtMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS41ZmY4ZTI3NTUxNjVkOTVlZjRkZmEyMzhiNjkwMzVjM3AwLAorICAgIDB4MS40MjdmYzQzNjliZGFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAtMHgxLjVmZjhlMjc1NTE2NWQ5NWVmNGRmYTIzOGI2OTAzNWMzcDAsCisgICAgLTB4MS40MjdmYzQzNjliZGFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuNjU1ZDY1NDg1ZGMxNzJhZDFkYTVkMzc2MTA2OTg3ZGVwMCwKKyAgICAweDEuNmE0ZmJjYmQ2ZjU2MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgLTB4MS42NTVkNjU0ODVkYzE3MmFkMWRhNWQzNzYxMDY5ODdkZXAwLAorICAgIC0weDEuNmE0ZmJjYmQ2ZjU2MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLjY1NzExZDZiZmQ1MzAzYjI2NmUxZjc2NjkxNjM1M2MwcDAsCisgICAgMHgxLjZhZjJlZmYwYTI4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIC0weDEuNjU3MTFkNmJmZDUzMDNiMjY2ZTFmNzY2OTE2MzUzYzBwMCwKKyAgICAtMHgxLjZhZjJlZmYwYTI4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS42MDJhMmFhYTU5MDQxZTczZmU5Y2JlNTAxOGQ5MjU4YnAwLAorICAgIDB4MS40M2M2MmE5ZDAyNDE0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAtMHgxLjYwMmEyYWFhNTkwNDFlNzNmZTljYmU1MDE4ZDkyNThicDAsCisgICAgLTB4MS40M2M2MmE5ZDAyNDE0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuNTk3ZjQ2ZTEwYWEwZWY2ZTdiNzliYWJkNTIyMThlNDFwMCwKKyAgICAweDEuMWM5OTY1NDk2MWY5MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgLTB4MS41OTdmNDZlMTBhYTBlZjZlN2I3OWJhYmQ1MjIxOGU0MXAwLAorICAgIC0weDEuMWM5OTY1NDk2MWY5MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLjUwZDIwMjU0YTJmZjQyZGFiNzMyNTIzOTU4ZmEwMjRjcDAsCisgICAgMHgxLmVhZDkzZmViODM2MWZwMQorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIC0weDEuNTBkMjAyNTRhMmZmNDJkYWI3MzI1MjM5NThmYTAyNGNwMCwKKyAgICAtMHgxLmVhZDkzZmViODM2MWZwMQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS40NTE5MGMwMzBkZjBmNjg2MTFmODE2YTM2ZDEwYjU5YXAwLAorICAgIDB4MS45YzdmYjU0NDQyZDFhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAtMHgxLjQ1MTkwYzAzMGRmMGY2ODYxMWY4MTZhMzZkMTBiNTlhcDAsCisgICAgLTB4MS45YzdmYjU0NDQyZDFhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEuMzQ3OTRkNjk5M2U2MDNkYzIzNmRjOTcwMGJjOTg0ZTlwMCwKKyAgICAweDEuNGUyNjJhOWQwMjQxNXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgLTB4MS4zNDc5NGQ2OTkzZTYwM2RjMjM2ZGM5NzAwYmM5ODRlOXAwLAorICAgIC0weDEuNGUyNjJhOWQwMjQxNXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLjFiNTk4OTEwYmQ5YmRmZWViNjA4YjZiNDFhOTZmMjg3cDAsCisgICAgMHgxLmZmOTkzZmViODM2MjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIC0weDEuMWI1OTg5MTBiZDliZGZlZWI2MDhiNmI0MWE5NmYyODdwMCwKKyAgICAtMHgxLmZmOTkzZmViODM2MjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS5lNDRjOTMwOTE5N2M0Zjk4MzkyMjE1YTQyNDYzMGJiNHAtMSwKKyAgICAweDEuNjJlNjJhOWQwMjQxNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgLTB4MS5lNDRjOTMwOTE5N2M0Zjk4MzkyMjE1YTQyNDYzMGJiNHAtMSwKKyAgICAtMHgxLjYyZTYyYTlkMDI0MTZwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS41MTUwZjFhY2ZiMDE5MGFhOTc5NGJhMDIxMWI0ZWI0YnAtMSwKKyAgICAweDEuOGM2NjJhOWQwMjQxOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIC0weDEuNTE1MGYxYWNmYjAxOTBhYTk3OTRiYTAyMTFiNGViNGJwLTEsCisgICAgLTB4MS44YzY2MmE5ZDAyNDE5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS4wNzNlYTE1YzYxNGUxMTY2OGJhOWZlNzU4ODhmZWUxM3AwLAorICAgIC0weDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjA3M2VhMTVjNjE0ZTExNjY4YmE5ZmU3NTg4OGZlZTEzcDAsCisgICAgMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIC0weDEuMDIxNTQ5NWNlYjE4MDZjMTU1MDQyNjRlOWYxYmUyMjJwMCwKKyAgICAtMHgxLjk1ZWM4YjllMDNkNTRwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS4wMjE1NDk1Y2ViMTgwNmMxNTUwNDI2NGU5ZjFiZTIyMnAwLAorICAgIDB4MS45NWVjOGI5ZTAzZDU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAtMHgxLmY5MjM2NjFiNTI2NDdlNjU4YzFmOTcwN2Y4N2QxNjA2cC0xLAorICAgIC0weDEuODMyZWZhMmE0MzVhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLmY5MjM2NjFiNTI2NDdlNjU4YzFmOTcwN2Y4N2QxNjA2cC0xLAorICAgIDB4MS44MzJlZmEyYTQzNWE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAtMHgxLmVkNTc4MDZiOTA5MGRlZjczMTA2MDRiZmZlZDAwOTNkcC0xLAorICAgIC0weDEuNzA3MTY4YjY4MmRmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLmVkNTc4MDZiOTA5MGRlZjczMTA2MDRiZmZlZDAwOTNkcC0xLAorICAgIDB4MS43MDcxNjhiNjgyZGZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAtMHgxLmUwYjUyNGI1NzhiNDIxMjEwMGY1Zjc4ZWNkNjlhMWRkcC0xLAorICAgIC0weDEuNWRiM2Q3NDJjMjY1M3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLmUwYjUyNGI1NzhiNDIxMjEwMGY1Zjc4ZWNkNjlhMWRkcC0xLAorICAgIDB4MS41ZGIzZDc0MmMyNjUzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAtMHgxLmQzMjkwNzAxZThhYzk4N2VhNTczMmIxNjcwMWEwNWZjcC0xLAorICAgIC0weDEuNGFmNjQ1Y2YwMWVhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLmQzMjkwNzAxZThhYzk4N2VhNTczMmIxNjcwMWEwNWZjcC0xLAorICAgIDB4MS40YWY2NDVjZjAxZWE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAtMHgxLmM0OWU0ODg2ODNhY2U0ZDVmZDQ2ODNmN2NhYWI3ZTlmcC0xLAorICAgIC0weDEuMzgzOGI0NWI0MTZmZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLmM0OWU0ODg2ODNhY2U0ZDVmZDQ2ODNmN2NhYWI3ZTlmcC0xLAorICAgIDB4MS4zODM4YjQ1YjQxNmZkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAtMHgxLmI0ZmU4NDNlOWU4MDNiMjM0OWZmZDM4NGFhYjgwN2YzcC0xLAorICAgIC0weDEuMjU3YjIyZTc4MGY1MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLmI0ZmU4NDNlOWU4MDNiMjM0OWZmZDM4NGFhYjgwN2YzcC0xLAorICAgIDB4MS4yNTdiMjJlNzgwZjUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAtMHgxLmE0MzFmMzliYzZmNGZjMmY1MzNmYjhiNjg1ZjdmYTU2cC0xLAorICAgIC0weDEuMTJiZDkxNzNjMDdhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLmE0MzFmMzliYzZmNGZjMmY1MzNmYjhiNjg1ZjdmYTU2cC0xLAorICAgIDB4MS4xMmJkOTE3M2MwN2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAtMHgxLjg3MTI3OGUyYjAyMjZjN2JlMzE0ZjM5ZTYzNGNiODY2cC0xLAorICAgIC0weDEuZWE1YzNlZDViMzg1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS44NzEyNzhlMmIwMjI2YzdiZTMxNGYzOWU2MzRjYjg2NnAtMSwKKyAgICAweDEuZWE1YzNlZDViMzg1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIC0weDEuN2I4YjNiZTEzZmNhNjE0Yzg1OGFmMGQyYzI4NzliN2FwLTEsCisgICAgLTB4MS5kNGI4N2RhYjY3MGEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLjdiOGIzYmUxM2ZjYTYxNGM4NThhZjBkMmMyODc5YjdhcC0xLAorICAgIDB4MS5kNGI4N2RhYjY3MGEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS42Zjg1MWVkNjBmMWUwY2UxZmYyZDU1Nzc0MzNjNWFiMnAtMSwKKyAgICAtMHgxLmJmMTRiYzgxMWE4ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuNmY4NTFlZDYwZjFlMGNlMWZmMmQ1NTc3NDMzYzVhYjJwLTEsCisgICAgMHgxLmJmMTRiYzgxMWE4ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLjYyZmI2NDRkZTE5OGNjYmIwYjdlMGQzMjQ4NGQ0ZWMwcC0xLAorICAgIC0weDEuYTk3MGZiNTZjZTE0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS42MmZiNjQ0ZGUxOThjY2JiMGI3ZTBkMzI0ODRkNGVjMHAtMSwKKyAgICAweDEuYTk3MGZiNTZjZTE0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIC0weDEuNTVlOTg2YjRhZmUwY2ZkY2YwMTM4NjM0YzdjOTViMmJwLTEsCisgICAgLTB4MS45M2NkM2EyYzgxOTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLjU1ZTk4NmI0YWZlMGNmZGNmMDEzODYzNGM3Yzk1YjJicC0xLAorICAgIDB4MS45M2NkM2EyYzgxOTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgLTB4MS40ODRiNTIxMjZhMjczNWRlYjIyNDYzMmM0YzJlNDA0MnAtMSwKKyAgICAtMHgxLjdlMjk3OTAyMzUxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuNDg0YjUyMTI2YTI3MzVkZWIyMjQ2MzJjNGMyZTQwNDJwLTEsCisgICAgMHgxLjdlMjk3OTAyMzUxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAtMHgxLjNhMWQwMWM5ZjRiMWU5OTY4NWUzZmU3MzlmZGNmZmRhcC0xLAorICAgIC0weDEuNjg4NWI3ZDdlOGEzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS4zYTFkMDFjOWY0YjFlOTk2ODVlM2ZlNzM5ZmRjZmZkYXAtMSwKKyAgICAweDEuNjg4NWI3ZDdlOGEzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuMmI1YjYyNjM1M2JiNDcxNDg3NDJmOWMwNTNjZDQ1YzNwLTEsCisgICAgLTB4MS41MmUxZjZhZDljMjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjJiNWI2MjYzNTNiYjQ3MTQ4NzQyZjljMDUzY2Q0NWMzcC0xLAorICAgIDB4MS41MmUxZjZhZDljMjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgLTB4MS4xYzAzZjczNWU4MTgxNjM2OTgwNDNmZmE1MjRkZDVmN3AtMSwKKyAgICAtMHgxLjNkM2UzNTgzNGZhZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuMWMwM2Y3MzVlODE4MTYzNjk4MDQzZmZhNTI0ZGQ1ZjdwLTEsCisgICAgMHgxLjNkM2UzNTgzNGZhZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLmVhYjdiMmVkYmUyNmViMWI1ZmIxNDkzNTdmNTFkNmM5cC0yLAorICAgIC0weDEuMGEwYjAyNTAxYzc5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS5lYWI3YjJlZGJlMjZlYjFiNWZiMTQ5MzU3ZjUxZDZjOXAtMiwKKyAgICAweDEuMGEwYjAyNTAxYzc5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuYmIxMmYzNGJiZWZkNjMwMDI2YjM1MWJhMTVjM2QyNTZwLTIsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLmJiMTJmMzRiYmVmZDYzMDAyNmIzNTFiYTE1YzNkMjU2cC0yLAorICAgIDB4MS5kOGY3MjA4ZTZiODJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgLTB4MS44OTRhZTBjYjBlZTJmMDA3ODllZWUwOTM5OThiNGE5YnAtMiwKKyAgICAtMHgxLjlkZDgzYzdjOWUxMjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuODk0YWUwY2IwZWUyZjAwNzg5ZWVlMDkzOTk4YjRhOWJwLTIsCisgICAgMHgxLjlkZDgzYzdjOWUxMjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLjU1NzlmZGMzYThmM2Y5Y2YzZjg2M2RjNmFhOWI3MTk4cC0yLAorICAgIC0weDEuNjJiOTU4NmFkMGEyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS41NTc5ZmRjM2E4ZjNmOWNmM2Y4NjNkYzZhYTliNzE5OHAtMiwKKyAgICAweDEuNjJiOTU4NmFkMGEyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuMWZjNzljZmJmNGU3YjU1ZjRkYzI1ZjE4OTBmZWNkNTNwLTIsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLjFmYzc5Y2ZiZjRlN2I1NWY0ZGMyNWYxODkwZmVjZDUzcC0yLAorICAgIDB4MS4yNzlhNzQ1OTAzMzFhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS5kMGQwZjg1Zjk3M2NjZTU0N2JiMGRjMGEzODcwOGJmZnAtMywKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MjlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuZDBkMGY4NWY5NzNjY2U1NDdiYjBkYzBhMzg3MDhiZmZwLTMsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MjlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAtMHgxLjVmM2Q0MTVjYjQ3ZmVkNzYwMDcyZGJhZWIyNjhjZWVmcC0zLAorICAgIC0weDEuNjJiOTU4NmFkMGExZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS41ZjNkNDE1Y2I0N2ZlZDc2MDA3MmRiYWViMjY4Y2VlZnAtMywKKyAgICAweDEuNjJiOTU4NmFkMGExZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIC0weDEuZDZlMTQzMWRlNWJlNTYzMGRlYzMzZDMxZmI5MjZjYmZwLTQsCisgICAgLTB4MS5kOGY3MjA4ZTZiODI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLmQ2ZTE0MzFkZTViZTU2MzBkZWMzM2QzMWZiOTI2Y2JmcC00LAorICAgIDB4MS5kOGY3MjA4ZTZiODI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS5kODcwZGNmY2ZlN2Q0Y2UzNzQyYzcyNjhmOGY1ZTBlOHAtNSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuZDg3MGRjZmNmZTdkNGNlMzc0MmM3MjY4ZjhmNWUwZThwLTUsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuZDg3MGRjZmNmZTdkNGNlMzc0MmM3MjY4ZjhmNWUwZThwLTUsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAtMHgxLmQ4NzBkY2ZjZmU3ZDRjZTM3NDJjNzI2OGY4ZjVlMGU4cC01LAorICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDB4MS5kNmUxNDMxZGU1YmVjNGI3OWI2NGVjNWE2N2JiY2MwOHAtNCwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIC0weDEuZDZlMTQzMWRlNWJlYzRiNzliNjRlYzVhNjdiYmNjMDhwLTQsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJkcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMHgxLjVmM2Q0MTVjYjQ4MDJiOThjYzQxMjYzZWRhN2YyNDJhcC0zLAorICAgIDB4MS42MmI5NTg2YWQwYTIycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgLTB4MS41ZjNkNDE1Y2I0ODAyYjk4Y2M0MTI2M2VkYTdmMjQyYXAtMywKKyAgICAtMHgxLjYyYjk1ODZhZDBhMjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuZDBkMGY4NWY5NzNkMGIxNmU5ZGUzYTAzYmRjNjgwOGJwLTMsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAtMHgxLmQwZDBmODVmOTczZDBiMTZlOWRlM2EwM2JkYzY4MDhicC0zLAorICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtMworICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS4xZmM3OWNmYmY0ZTdkMmU5MjY1ZmU4ZjEyZWRhOTZjYXAtMiwKKyAgICAweDEuMjc5YTc0NTkwMzMxY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuMWZjNzljZmJmNGU3ZDJlOTI2NWZlOGYxMmVkYTk2Y2FwLTIsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgMHgxLjU1NzlmZGMzYThmNDE2NjE4OGFhZDAwZmNmNzFiNTEwcC0yLAorICAgIDB4MS42MmI5NTg2YWQwYTIycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS41NTc5ZmRjM2E4ZjQxNjYxODhhYWQwMGZjZjcxYjUxMHAtMiwKKyAgICAtMHgxLjYyYjk1ODZhZDBhMjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuODk0YWUwY2IwZWUzMGI4OTVmNjM4MWYzYjEzM2RjMDRwLTIsCisgICAgMHgxLjlkZDgzYzdjOWUxMjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAtMHgxLjg5NGFlMGNiMGVlMzBiODk1ZjYzODFmM2IxMzNkYzA0cC0yLAorICAgIC0weDEuOWRkODNjN2M5ZTEyOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS5iYjEyZjM0YmJlZmQ3ZDVmY2NhZGIxNjAxMDNhMjAwMXAtMiwKKyAgICAweDEuZDhmNzIwOGU2YjgyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIC0weDEuYmIxMmYzNGJiZWZkN2Q1ZmNjYWRiMTYwMTAzYTIwMDFwLTIsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmVhYjdiMmVkYmUyNmViMWI1ZmIxNDkzNTdmNTFkNmM5cC0yLAorICAgIDB4MS4wYTBiMDI1MDFjNzk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgLTB4MS5lYWI3YjJlZGJlMjZlYjFiNWZiMTQ5MzU3ZjUxZDZjOXAtMiwKKyAgICAtMHgxLjBhMGIwMjUwMWM3OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuMWMwM2Y3MzVlODE3ZTdmN2M5MDdmZjNjNGU1NDY1MGRwLTEsCisgICAgMHgxLjNkM2UzNTgzNGZhY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAtMHgxLjFjMDNmNzM1ZTgxN2U3ZjdjOTA3ZmYzYzRlNTQ2NTBkcC0xLAorICAgIC0weDEuM2QzZTM1ODM0ZmFjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS4yYjViNjI2MzUzYmIxYTkzOWE1Nzg5MzQ4MWZjNmVmZXAtMSwKKyAgICAweDEuNTJlMWY2YWQ5YzI3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIC0weDEuMmI1YjYyNjM1M2JiMWE5MzlhNTc4OTM0ODFmYzZlZmVwLTEsCisgICAgLTB4MS41MmUxZjZhZDljMjdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLjNhMWQwMWM5ZjRiMWJlY2Q1NjMzOGIyZmYwMDQ1NTJjcC0xLAorICAgIDB4MS42ODg1YjdkN2U4YTJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgLTB4MS4zYTFkMDFjOWY0YjFiZWNkNTYzMzhiMmZmMDA0NTUyY3AtMSwKKyAgICAtMHgxLjY4ODViN2Q3ZThhMmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAweDEuNDg0YjUyMTI2YTI3MGNjNGMyZjBiOWI4ZDU3NDljMjNwLTEsCisgICAgMHgxLjdlMjk3OTAyMzUxZGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAtMHgxLjQ4NGI1MjEyNmEyNzBjYzRjMmYwYjliOGQ1NzQ5YzIzcC0xLAorICAgIC0weDEuN2UyOTc5MDIzNTFkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS41NWU5ODZiNGFmZTBhODY3ZTE3Yjg3NWY4ODkyMTMzZXAtMSwKKyAgICAweDEuOTNjZDNhMmM4MTk4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIC0weDEuNTVlOTg2YjRhZmUwYTg2N2UxN2I4NzVmODg5MjEzM2VwLTEsCisgICAgLTB4MS45M2NkM2EyYzgxOThjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgMHgxLjYyZmI2NDRkZTE5OGE2ZGYwNDRjNWYyMDZhYjE4OWU1cC0xLAorICAgIDB4MS5hOTcwZmI1NmNlMTNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgLTB4MS42MmZiNjQ0ZGUxOThhNmRmMDQ0YzVmMjA2YWIxODllNXAtMSwKKyAgICAtMHgxLmE5NzBmYjU2Y2UxM2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAweDEuNmY4NTFlZDYwZjFkZTg5MjBhZDM5NjczMmQ4MGU2MzBwLTEsCisgICAgMHgxLmJmMTRiYzgxMWE4ZWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAtMHgxLjZmODUxZWQ2MGYxZGU4OTIwYWQzOTY3MzJkODBlNjMwcC0xLAorICAgIC0weDEuYmYxNGJjODExYThlY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS43YjhiM2JlMTNmY2EzZTdhZTYxZWNlMzkzZGMyMDM1MXAtMSwKKyAgICAweDEuZDRiODdkYWI2NzA5Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIC0weDEuN2I4YjNiZTEzZmNhM2U3YWU2MWVjZTM5M2RjMjAzNTFwLTEsCisgICAgLTB4MS5kNGI4N2RhYjY3MDljcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgMHgxLjg3MTI3OGUyYjAyMjRiMWE1N2E3NTE3YWE2MDgwNTYxcC0xLAorICAgIDB4MS5lYTVjM2VkNWIzODRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgLTB4MS44NzEyNzhlMmIwMjI0YjFhNTdhNzUxN2FhNjA4MDU2MXAtMSwKKyAgICAtMHgxLmVhNWMzZWQ1YjM4NGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEuYTQzMWYzOWJjNmY0ZmMyZjUzM2ZiOGI2ODVmN2ZhNTZwLTEsCisgICAgMHgxLjEyYmQ5MTczYzA3YWJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIC0weDEuYTQzMWYzOWJjNmY0ZmMyZjUzM2ZiOGI2ODVmN2ZhNTZwLTEsCisgICAgLTB4MS4xMmJkOTE3M2MwN2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAweDEuYjRmZTg0M2U5ZTgwNzI3MjdiNGI4YmU3NzMwZGM5ZjVwLTEsCisgICAgMHgxLjI1N2IyMmU3ODBmNTZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIC0weDEuYjRmZTg0M2U5ZTgwNzI3MjdiNGI4YmU3NzMwZGM5ZjVwLTEsCisgICAgLTB4MS4yNTdiMjJlNzgwZjU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTEKKyAgICAweDEuYzQ5ZTQ4ODY4M2FkMTg0YjQyNjk5MTU5ZGI4OTYzYzNwLTEsCisgICAgMHgxLjM4MzhiNDViNDE3MDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIC0weDEuYzQ5ZTQ4ODY4M2FkMTg0YjQyNjk5MTU5ZGI4OTYzYzNwLTEsCisgICAgLTB4MS4zODM4YjQ1YjQxNzAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAweDEuZDMyOTA3MDFlOGFjYzg2OGYyMDczMzA1OWMwYzYwOGVwLTEsCisgICAgMHgxLjRhZjY0NWNmMDFlYWNwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIC0weDEuZDMyOTA3MDFlOGFjYzg2OGYyMDczMzA1OWMwYzYwOGVwLTEsCisgICAgLTB4MS40YWY2NDVjZjAxZWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAweDEuZTBiNTI0YjU3OGI0NGRjYTQyNGUyODZiODYxMmIzMzJwLTEsCisgICAgMHgxLjVkYjNkNzQyYzI2NTdwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIC0weDEuZTBiNTI0YjU3OGI0NGRjYTQyNGUyODZiODYxMmIzMzJwLTEsCisgICAgLTB4MS41ZGIzZDc0MmMyNjU3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuZWQ1NzgwNmI5MDkxMDhhM2ZmMDJjNzBhNTY4YmY1OTRwLTEsCisgICAgMHgxLjcwNzE2OGI2ODJlMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIC0weDEuZWQ1NzgwNmI5MDkxMDhhM2ZmMDJjNzBhNTY4YmY1OTRwLTEsCisgICAgLTB4MS43MDcxNjhiNjgyZTAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAweDEuZjkyMzY2MWI1MjY0YTU1NTFkZjZjM2Q0YzI3OWUyYzZwLTEsCisgICAgMHgxLjgzMmVmYTJhNDM1YWRwMAorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIC0weDEuZjkyMzY2MWI1MjY0YTU1NTFkZjZjM2Q0YzI3OWUyYzZwLTEsCisgICAgLTB4MS44MzJlZmEyYTQzNWFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAweDEuMDIxNTQ5NWNlYjE4MThmNzdjMjg3YjYyOTk1ZWVkZGJwMCwKKyAgICAweDEuOTVlYzhiOWUwM2Q1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgLTB4MS4wMjE1NDk1Y2ViMTgxOGY3N2MyODdiNjI5OTVlZWRkYnAwLAorICAgIC0weDEuOTVlYzhiOWUwM2Q1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMHgxLjA3M2VhMTVjNjE0ZTExNjY4YmE5ZmU3NTg4OGZlZTEzcDAsCisgICAgMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIC0weDEuMDczZWExNWM2MTRlMTE2NjhiYTlmZTc1ODg4ZmVlMTNwMCwKKyAgICAtMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS45NmM0YzBlYzI5MGViZWY5MmFiOTM2NzAwZTdkM2YxYnAtMSwKKyAgICAweDEuMDRhZmY2ZDMzMDk0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgLTB4MS45NmM0YzBlYzI5MGViZWY5MmFiOTM2NzAwZTdkM2YxYnAtMSwKKyAgICAtMHgxLjA0YWZmNmQzMzA5NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIDB4MS45NmM1NjVhNjY5OTJlNTc4ZDU1MzYzNTllMjRkMWNmZnAtMSwKKyAgICAweDEuMDRiMDllOThkY2RiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgLTB4MS45NmM1NjVhNjY5OTJlNTc4ZDU1MzYzNTllMjRkMWNmZnAtMSwKKyAgICAtMHgxLjA0YjA5ZTk4ZGNkYjRwMAorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS45NmM2MGE2MDNlMjcwYWM2ZjU1NDdmZDBjMWY4ZjhlY3AtMSwKKyAgICAweDEuMDRiMTQ2NWU4OTIyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgLTB4MS45NmM2MGE2MDNlMjcwYWM2ZjU1NDdmZDBjMWY4ZjhlY3AtMSwKKyAgICAtMHgxLjA0YjE0NjVlODkyMjZwMAorICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIDB4MS45NmM2YWYxOWE2Y2I3NmUwNDMyMTNhNjYzNzJmYzg1NnAtMSwKKyAgICAweDEuMDRiMWVlMjQzNTY5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgLTB4MS45NmM2YWYxOWE2Y2I3NmUwNDMyMTNhNjYzNzJmYzg1NnAtMSwKKyAgICAtMHgxLjA0YjFlZTI0MzU2OThwMAorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIDB4MS45NmM3NTNkMmEzODA3MWMxNzIyODdkZDBlOTAxYTI4ZXAtMSwKKyAgICAweDEuMDRiMjk1ZTllMWIwYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgLTB4MS45NmM3NTNkMmEzODA3MWMxNzIyODdkZDBlOTAxYTI4ZXAtMSwKKyAgICAtMHgxLjA0YjI5NWU5ZTFiMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIDB4MS45NmM3Zjg4YjM0NDY0MzY3MzBlMmM3YzllNDljNjRmYXAtMSwKKyAgICAweDEuMDRiMzNkYWY4ZGY3Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNTE2CisgICAgLTB4MS45NmM3Zjg4YjM0NDY0MzY3MzBlMmM3YzllNDljNjRmYXAtMSwKKyAgICAtMHgxLjA0YjMzZGFmOGRmN2NwMAorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS45NmM4OWQ0MzU5MWQzM2NlMjhkMTdmZWMyNTEzYmZjYnAtMSwKKyAgICAweDEuMDRiM2U1NzUzYTNlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgLTB4MS45NmM4OWQ0MzU5MWQzM2NlMjhkMTdmZWMyNTEzYmZjYnAtMSwKKyAgICAtMHgxLjA0YjNlNTc1M2EzZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS45NmM5NDFmYjEyMDU4YWYyZmU3ZTRlOTY1YTMwMDQ0MXAtMSwKKyAgICAweDEuMDRiNDhkM2FlNjg2MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgLTB4MS45NmM5NDFmYjEyMDU4YWYyZmU3ZTRlOTY1YTMwMDQ0MXAtMSwKKyAgICAtMHgxLjA0YjQ4ZDNhZTY4NjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS45NmM5ZTZiMjVlZmY2MWIyMzc5MzBhN2QwNWE3MzFlYnAtMSwKKyAgICAweDEuMDRiNTM1MDA5MmNjZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgLTB4MS45NmM5ZTZiMjVlZmY2MWIyMzc5MzBhN2QwNWE3MzFlYnAtMSwKKyAgICAtMHgxLjA0YjUzNTAwOTJjY2ZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuMGMxNTIzODJkNzM2NDhhOGM4ZjkxNzU3MTlkODRmMDNwLTEsCisgICAgMHgxLjI3OWE3NDU5MDMzMWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAtMHgxLjBjMTUyMzgyZDczNjQ4YThjOGY5MTc1NzE5ZDg0ZjAzcC0xLAorICAgIC0weDEuMjc5YTc0NTkwMzMxYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS4wYzE1MjM4MmQ3MzY1NGE4YzhmOTE3NTcxYTFhZWQ0YXAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuMGMxNTIzODJkNzM2NTRhOGM4ZjkxNzU3MWExYWVkNGFwLTEsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLjBjMTUyMzgyZDczNjYwYThjOGY5MTc1NzFhMGE2ODIxcC0xLAorICAgIDB4MS4yNzlhNzQ1OTAzMzFkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS4wYzE1MjM4MmQ3MzY2MGE4YzhmOTE3NTcxYTBhNjgyMXAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuMGMxNTIzODJkNzM2NTI3NzkyNTYyMmIzMzgxMjU2MWVwMCwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgLTB4MS4wYzE1MjM4MmQ3MzY1Mjc3OTI1NjIyYjMzODEyNTYxZXAwLAorICAgIC0weDEuYmI2N2FlODU4NGNhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLjBjMTUyMzgyZDczNjU2Nzc5MjU2MjJiMzM4NDcxOTI4cDAsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC0weDEuMGMxNTIzODJkNzM2NTY3NzkyNTYyMmIzMzg0NzE5MjhwMCwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIDB4MS4wYzE1MjM4MmQ3MzY1YTc3OTI1NjIyYjMzODQ0NmYzY3AwLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtMHgxLjBjMTUyMzgyZDczNjVhNzc5MjU2MjJiMzM4NDQ2ZjNjcDAsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuYTY0ZWVjM2NjMjNmYmRmZTkwYjk2MTg5ZDEyODUxYjRwLTIsCisgICAgMHgxLmJmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAtMHgxLmE2NGVlYzNjYzIzZmJkZmU5MGI5NjE4OWQxMjg1MWI0cC0yLAorICAgIC0weDEuYmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5hNjRlZWMzY2MyM2ZjYjZjODRmOTJiZDIwMDNjZTI2Y3AtMiwKKyAgICAweDEuY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuYTY0ZWVjM2NjMjNmY2I2Yzg0ZjkyYmQyMDAzY2UyNmNwLTIsCisgICAgLTB4MS5jcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLmE2NGVlYzNjYzIzZmQ4ZGE3OTM4ZjYxYTJmMjlmZjczcC0yLAorICAgIDB4MS5jMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgLTB4MS5hNjRlZWMzY2MyM2ZkOGRhNzkzOGY2MWEyZjI5ZmY3M3AtMiwKKyAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuMzQ1ZjAxY2NlMzdiYTk2MzI1ZWFjZGM2ZjdjZWVjOGNwLTEsCisgICAgMHgxLjVmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAtMHgxLjM0NWYwMWNjZTM3YmE5NjMyNWVhY2RjNmY3Y2VlYzhjcC0xLAorICAgIC0weDEuNWZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS4zNDVmMDFjY2UzN2JiNDQwODQ0ZGYxYzQ0MDlmZTc3OXAtMSwKKyAgICAweDEuNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuMzQ1ZjAxY2NlMzdiYjQ0MDg0NGRmMWM0NDA5ZmU3NzlwLTEsCisgICAgLTB4MS42cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjM0NWYwMWNjZTM3YmJmMWRlMmIxMTVjMTg5MWZiYWZhcC0xLAorICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgLTB4MS4zNDVmMDFjY2UzN2JiZjFkZTJiMTE1YzE4OTFmYmFmYXAtMSwKKyAgICAtMHgxLjYwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuYmRlNzBlZDQzOWZlNWY3M2EyMTVkNjA5NmMwNGI0MmJwLTEsCisgICAgMHgxLjJmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIC0weDEuYmRlNzBlZDQzOWZlNWY3M2EyMTVkNjA5NmMwNGI0MmJwLTEsCisgICAgLTB4MS4yZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTQKKyAgICAweDEuYmRlNzBlZDQzOWZlNmNiYTk1MzkxYTdmNDIxYjM4MjFwLTEsCisgICAgMHgxLjNwMAorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIC0weDEuYmRlNzBlZDQzOWZlNmNiYTk1MzkxYTdmNDIxYjM4MjFwLTEsCisgICAgLTB4MS4zcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEuYmRlNzBlZDQzOWZlN2EwMTg4NWM1ZWY1MTc2MDY2MmFwLTEsCisgICAgMHgxLjMwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIC0weDEuYmRlNzBlZDQzOWZlN2EwMTg4NWM1ZWY1MTc2MDY2MmFwLTEsCisgICAgLTB4MS4zMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAweDEuMmU3NTcyODgzM2E1M2M3YWI5ZGU3MzRiOWViNGYzOTdwMCwKKyAgICAweDEuMzdmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgLTB4MS4yZTc1NzI4ODMzYTUzYzdhYjlkZTczNGI5ZWI0ZjM5N3AwLAorICAgIC0weDEuMzdmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLjJlNzU3Mjg4MzNhNTQxMTZlM2VmNzMyNmJkOTgzOXAwLAorICAgIDB4MS4zODBwMQorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIC0weDEuMmU3NTcyODgzM2E1NDExNmUzZWY3MzI2YmQ5ODM5cDAsCisgICAgLTB4MS4zODBwMQorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS4yZTc1NzI4ODMzYTU0NWIzMGUwMDczMDFkYzEzZTM5OXAwLAorICAgIDB4MS4zODAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAtMHgxLjJlNzU3Mjg4MzNhNTQ1YjMwZTAwNzMwMWRjMTNlMzk5cDAsCisgICAgLTB4MS4zODAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAweDEuMDY0MGE3NGQ2MTA1ZWUzMzhjNWJjYzZjNzM0OGMxMjNwLTQsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAtMHgxLjA2NDBhNzRkNjEwNWVlMzM4YzViY2M2YzczNDhjMTIzcC00LAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS4wNTJmYWIzNjhlMDYyZTcyZmJmMmQzOWZlOWQxODg4OHAtMywKKyAgICAweDEuMDY5YzhiNDZiMzc5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuMDUyZmFiMzY4ZTA2MmU3MmZiZjJkMzlmZTlkMTg4ODhwLTMsCisgICAgLTB4MS4wNjljOGI0NmIzNzkycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLjg1MmEyMTg3NmYyNDJlOGIxODJhYmQ0MmM0MWVlODlkcC0zLAorICAgIDB4MS44OWVhZDBlYTBkMzVicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgLTB4MS44NTJhMjE4NzZmMjQyZThiMTgyYWJkNDJjNDFlZTg5ZHAtMywKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAweDEuMDExMjNiYzEwYTY0YmYwYWI2MmQ2ZWY3ZjMyNjUxYWFwLTIsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzEKKyAgICAtMHgxLjAxMTIzYmMxMGE2NGJmMGFiNjJkNmVmN2YzMjY1MWFhcC0yLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIDB4MS4zZGFhNzMzZWU1MzU3ODA4ZTY4YWVlMDA4OTcyYzgyOHAtMiwKKyAgICAweDEuNDg0M2FlMTg2MDU3NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIC0weDEuM2RhYTczM2VlNTM1NzgwOGU2OGFlZTAwODk3MmM4MjhwLTIsCisgICAgLTB4MS40ODQzYWUxODYwNTc2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLjc4MGM0NWI5NzM2YTkwODlmMmZlMWY4ZWZhNjBiZjQ0cC0yLAorICAgIDB4MS44OWVhZDBlYTBkMzVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgLTB4MS43ODBjNDViOTczNmE5MDg5ZjJmZTFmOGVmYTYwYmY0NHAtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuYWZmYWFjOTZkNzk3MDI5ZTBiOGFiNDA4M2Q5ODBiNjhwLTIsCisgICAgMHgxLmNiOTFmM2JiYmExM2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzcKKyAgICAtMHgxLmFmZmFhYzk2ZDc5NzAyOWUwYjhhYjQwODNkOTgwYjY4cC0yLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIDB4MS5lNTRjN2Y5ZGFjNjcwOGYzMTVkMzhjOGE4YzJjZTRkM3AtMiwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIC0weDEuZTU0YzdmOWRhYzY3MDhmMzE1ZDM4YzhhOGMyY2U0ZDNwLTIsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLjBiZjU2MGEwOWI5MjQwNzNlNDczY2IwZDVjMzI1MDFlcC0xLAorICAgIDB4MS4yNzcwMWNhZjg5ZTgzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgLTB4MS4wYmY1NjBhMDliOTI0MDczZTQ3M2NiMGQ1YzMyNTAxZXAtMSwKKyAgICAtMHgxLjI3NzAxY2FmODllODNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEuMjNlNzE3ZDBmYTdiMGI4YmY0NWQyY2QxMjBmNmQyOWVwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAtMHgxLjIzZTcxN2QwZmE3YjBiOGJmNDVkMmNkMTIwZjZkMjllcC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU3NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIDB4MS4zYTdlM2Y0NzkzYWZhOWEyNGIwMTEyZWE4MzAzNWM3ZXAtMSwKKyAgICAweDEuNjkxNzNmODEzNmM2N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIC0weDEuM2E3ZTNmNDc5M2FmYTlhMjRiMDExMmVhODMwMzVjN2VwLTEsCisgICAgLTB4MS42OTE3M2Y4MTM2YzY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLjRmYzJjNTVmNzE1NDg3MWM4ZGFhMzU4NDM4NTdiN2ZmcC0xLAorICAgIDB4MS44OWVhZDBlYTBkMzU5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgLTB4MS40ZmMyYzU1ZjcxNTQ4NzFjOGRhYTM1ODQzODU3YjdmZnAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEuNjNjMDVlZjhhMzUzYzZkMTM2MGVhZDk3N2MyYWRiOTRwLTEsCisgICAgMHgxLmFhYmU2MjUyZTNhNGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAtMHgxLjYzYzA1ZWY4YTM1M2M2ZDEzNjBlYWQ5NzdjMmFkYjk0cC0xLAorICAgIC0weDEuYWFiZTYyNTJlM2E0YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIDB4MS43Njg1NjI0Y2IzNzRhZDg5NTBlZTMwMmFlZTc0OGFkOXAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEzZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIC0weDEuNzY4NTYyNGNiMzc0YWQ4OTUwZWUzMDJhZWU3NDhhZDlwLTEsCisgICAgLTB4MS5jYjkxZjNiYmJhMTNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLjg4MjFkMTg3OGRjYjAzNzFkMmVkMDBmOGJhZDc3NTVlcC0xLAorICAgIDB4MS5lYzY1ODUyNDkwODJmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgLTB4MS44ODIxZDE4NzhkY2IwMzcxZDJlZDAwZjhiYWQ3NzU1ZXAtMSwKKyAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEuOThhNjk1OTI5OTk0ODg0NjVjOGI2MTg1ZGQ1OGIzOGFwLTEsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTFwMAorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIC0weDEuOThhNjk1OTI5OTk0ODg0NjVjOGI2MTg1ZGQ1OGIzOGFwLTEsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAweDEuYTgyNGU1NmJlYWZiMTdlZmI5ZWQxMjY5NTE4NWNjNWJwLTEsCisgICAgMHgxLjE3MDY1M2ZiMWViMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIC0weDEuYTgyNGU1NmJlYWZiMTdlZmI5ZWQxMjY5NTE4NWNjNWJwLTEsCisgICAgLTB4MS4xNzA2NTNmYjFlYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAweDEuYjZhZGQ0NDg3MTRlNjI3ZTc0ZWU5Y2U2OTExOTkzZTZwLTEsCisgICAgMHgxLjI3NzAxY2FmODllODNwMAorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIC0weDEuYjZhZGQ0NDg3MTRlNjI3ZTc0ZWU5Y2U2OTExOTkzZTZwLTEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAweDEuYzQ1MjAwMDczNDRmOGIzNmExYzYxMGUyN2Y0YmI1N2VwLTEsCisgICAgMHgxLjM3ZDllNTYzZjUxZmNwMAorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIC0weDEuYzQ1MjAwMDczNDRmOGIzNmExYzYxMGUyN2Y0YmI1N2VwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MWZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAweDEuZDEyMTU5YTE0NGZmM2M4OGU1NDliNmM3ZmU5NzdhNmJwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwMAorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIC0weDEuZDEyMTU5YTE0NGZmM2M4OGU1NDliNmM3ZmU5NzdhNmJwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNTc1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAweDEuZGQyYjAxZTE3YzQyNzBjYWE1ZWFkODMxMTg0NzhjOTlwLTEsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIC0weDEuZGQyYjAxZTE3YzQyNzBjYWE1ZWFkODMxMTg0NzhjOTlwLTEsCisgICAgLTB4MS41OGFkNzZjY2NiOGVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDYKKyAgICAweDEuZTg3ZDM1ODM2MWJkNDc1MWM0NzJmZTc2NjA4ODA0ZjdwLTEsCisgICAgMHgxLjY5MTczZjgxMzZjNjdwMAorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIC0weDEuZTg3ZDM1ODM2MWJkNDc1MWM0NzJmZTc2NjA4ODA0ZjdwLTEsCisgICAgLTB4MS42OTE3M2Y4MTM2YzY3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEuZjMyNTQ0YjY2YWE1ZGZkMWQ1YzU1MWM3YjQzNWYwOTlwLTEsCisgICAgMHgxLjc5ODEwODM1YTFmZTBwMAorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIC0weDEuZjMyNTQ0YjY2YWE1ZGZkMWQ1YzU1MWM3YjQzNWYwOTlwLTEsCisgICAgLTB4MS43OTgxMDgzNWExZmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEuZmQyZjkyZDFmNTFmMWQzMjNlYWNiNjA5ODNhNmY0MGRwLTEsCisgICAgMHgxLjg5ZWFkMGVhMGQzNTlwMAorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIC0weDEuZmQyZjkyZDFmNTFmMWQzMjNlYWNiNjA5ODNhNmY0MGRwLTEsCisgICAgLTB4MS44OWVhZDBlYTBkMzU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTIKKyAgICAweDEuMDM1M2NkZGRjMTY2MDdlMzNiMWY0YzlkNTVmZjE3ODRwMCwKKyAgICAweDEuOWE1NDk5OWU3ODZkMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgLTB4MS4wMzUzY2RkZGMxNjYwN2UzM2IxZjRjOWQ1NWZmMTc4NHAwLAorICAgIC0weDEuOWE1NDk5OWU3ODZkMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLjA3Y2JmZThjMTRkZDlhZTY4MjM3NzZiNWE0ZDgxYmE5cDAsCisgICAgMHgxLmFhYmU2MjUyZTNhNGJwMAorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIC0weDEuMDdjYmZlOGMxNGRkOWFlNjgyMzc3NmI1YTRkODFiYTlwMCwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNGJwMAorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIDB4MS4wYzA1NDBlZTZlZmY1Y2I4YzgzZjBlN2UyMjU2NTJjMHAwLAorICAgIDB4MS5iYjI4MmIwNzRlZGM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAtMHgxLjBjMDU0MGVlNmVmZjVjYjhjODNmMGU3ZTIyNTY1MmMwcDAsCisgICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAweDEuMTAwNDE3OTkxNWYzYmQ3ODI3YmUxYzlkNTU3ZGU0YjFwMCwKKyAgICAweDEuY2I5MWYzYmJiYTEzZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgLTB4MS4xMDA0MTc5OTE1ZjNiZDc4MjdiZTFjOWQ1NTdkZTRiMXAwLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLjEzY2NhOGY1OTBjZGQ2MTA3NzZiYjIzMjY5NGJhMWMxcDAsCisgICAgMHgxLmRiZmJiYzcwMjU0YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIC0weDEuMTNjY2E4ZjU5MGNkZDYxMDc3NmJiMjMyNjk0YmExYzFwMCwKKyAgICAtMHgxLmRiZmJiYzcwMjU0YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIDB4MS4xNzYyYzYwNDM4Y2UyY2Y1OWE5MWEyMTg2NDUyOTAxNnAwLAorICAgIDB4MS5lYzY1ODUyNDkwODJmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjMKKyAgICAtMHgxLjE3NjJjNjA0MzhjZTJjZjU5YTkxYTIxODY0NTI5MDE2cDAsCisgICAgLTB4MS5lYzY1ODUyNDkwODJmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEuMWFjOWYwZjVmMGFjNTllZjQ2OGQwZThjMTNlZWNjOTRwMCwKKyAgICAweDEuZmNjZjRkZDhmYmJhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgLTB4MS4xYWM5ZjBmNWYwYWM1OWVmNDY4ZDBlOGMxM2VlY2M5NHAwLAorICAgIC0weDEuZmNjZjRkZDhmYmJhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgMHgxLjFlMDU2MzdmZmMwYThhNmQwYTdlMjIzMjRlYmVmYWNmcDAsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTFwMQorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIC0weDEuMWUwNTYzN2ZmYzBhOGE2ZDBhN2UyMjMyNGViZWZhY2ZwMCwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwMQorICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIDB4MS4yMTE4MTRkNzk1NDBlZWJkNmRkYThiZTdlZDE5N2Q4NHAwLAorICAgIDB4MS4wZWQxNmZhMGU5MTRlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAtMHgxLjIxMTgxNGQ3OTU0MGVlYmQ2ZGRhOGJlN2VkMTk3ZDg0cDAsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAweDEuMjQwNGJmNGIzZWFkMDAwZmFmODkyYzNmNGViNGJmYTlwMCwKKyAgICAweDEuMTcwNjUzZmIxZWIwYnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgLTB4MS4yNDA0YmY0YjNlYWQwMDBmYWY4OTJjM2Y0ZWI0YmZhOXAwLAorICAgIC0weDEuMTcwNjUzZmIxZWIwYnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgMHgxLjI2Y2RlNTc1YjY0MTYyZTllNDYyZDU2NDc5N2E1ZGQ3cDAsCisgICAgMHgxLjFmM2IzODU1NTQ0YzhwMQorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIC0weDEuMjZjZGU1NzViNjQxNjJlOWU0NjJkNTY0Nzk3YTVkZDdwMCwKKyAgICAtMHgxLjFmM2IzODU1NTQ0YzhwMQorICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIDB4MS4yOTc1ZDcwYTg3NGVlMmMwZmJjNGQzMmI5OTk3ZWRiNHAwLAorICAgIDB4MS4yNzcwMWNhZjg5ZTg1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAtMHgxLjI5NzVkNzBhODc0ZWUyYzBmYmM0ZDMyYjk5OTdlZGI0cDAsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAweDEuMmJmZWI1M2VmMmQ2MjlmZDJlYzNiYmUwOTg4ZWMxMjdwMCwKKyAgICAweDEuMmZhNTAxMDliZjg0MnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgLTB4MS4yYmZlYjUzZWYyZDYyOWZkMmVjM2JiZTA5ODhlYzEyN3AwLAorICAgIC0weDEuMmZhNTAxMDliZjg0MnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLjJlNmE3NmQzYTdjNGRhYTg4Y2QwODU4ZGViY2JmZDU1cDAsCisgICAgMHgxLjM3ZDllNTYzZjUxZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIC0weDEuMmU2YTc2ZDNhN2M0ZGFhODhjZDA4NThkZWJjYmZkNTVwMCwKKyAgICAtMHgxLjM3ZDllNTYzZjUxZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS4zMGJhZWJjNGQwYjEyMjc5YzRjNmE3MGE4M2VjNzQwNHAwLAorICAgIDB4MS40MDBlYzliZTJhYmJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDEKKyAgICAtMHgxLjMwYmFlYmM0ZDBiMTIyNzljNGM2YTcwYTgzZWM3NDA0cDAsCisgICAgLTB4MS40MDBlYzliZTJhYmJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDIKKyAgICAweDEuMzJmMWMwYTY4ODcwOWRiOTAxNmQyNjk3MjVjMDJhNGZwMCwKKyAgICAweDEuNDg0M2FlMTg2MDU3OXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjQzCisgICAgLTB4MS4zMmYxYzBhNjg4NzA5ZGI5MDE2ZDI2OTcyNWMwMmE0ZnAwLAorICAgIC0weDEuNDg0M2FlMTg2MDU3OXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLjM1MTA4MWIzZjkyMDVjNjU4ZWVmM2M1N2JjYzhhY2IycDAsCisgICAgMHgxLjUwNzg5MjcyOTVmMzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIC0weDEuMzUxMDgxYjNmOTIwNWM2NThlZWYzYzU3YmNjOGFjYjJwMCwKKyAgICAtMHgxLjUwNzg5MjcyOTVmMzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS4zNzE4OWQ5NzVlNWY5Y2I5NjJmN2JmOGNmMDM4Y2NjOHAwLAorICAgIDB4MS41OGFkNzZjY2NiOGYzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAtMHgxLjM3MTg5ZDk3NWU1ZjljYjk2MmY3YmY4Y2YwMzhjY2M4cDAsCisgICAgLTB4MS41OGFkNzZjY2NiOGYzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDgKKyAgICAweDEuMzkwYjY3ZjBmMDVmZTNjMzFkMDI4NzkwZmYwZmY1NzFwMCwKKyAgICAweDEuNjBlMjViMjcwMTJiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgLTB4MS4zOTBiNjdmMGYwNWZlM2MzMWQwMjg3OTBmZjBmZjU3MXAwLAorICAgIC0weDEuNjBlMjViMjcwMTJiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjNhZWExYmEyNzBmYzc2NjNmNTc1YzY2YTJkYmY1ZmY4cDAsCisgICAgMHgxLjY5MTczZjgxMzZjNmRwMQorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIC0weDEuM2FlYTFiYTI3MGZjNzY2M2Y1NzVjNjZhMmRiZjVmZjhwMCwKKyAgICAtMHgxLjY5MTczZjgxMzZjNmRwMQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS4zY2I1ZGNlNGI4ZjYzMGI2MjlkNzIyZjVhZTNkYzc1N3AwLAorICAgIDB4MS43MTRjMjNkYjZjNjJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAtMHgxLjNjYjVkY2U0YjhmNjMwYjYyOWQ3MjJmNWFlM2RjNzU3cDAsCisgICAgLTB4MS43MTRjMjNkYjZjNjJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTQKKyAgICAweDEuM2U2ZmJiMmM0MTM5NmNlNGFlZmYxOWQ5NzU1MmQyMTdwMCwKKyAgICAweDEuNzk4MTA4MzVhMWZlN3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgLTB4MS4zZTZmYmIyYzQxMzk2Y2U0YWVmZjE5ZDk3NTUyZDIxN3AwLAorICAgIC0weDEuNzk4MTA4MzVhMWZlN3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLjQwMThiMmUxM2ZlOTMyYmNhNzUzOWRhY2JmYTRkMDllcDAsCisgICAgMHgxLjgxYjVlYzhmZDc5YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIC0weDEuNDAxOGIyZTEzZmU5MzJiY2E3NTM5ZGFjYmZhNGQwOWVwMCwKKyAgICAtMHgxLjgxYjVlYzhmZDc5YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS40MWIxYWVlZjhlNGFlNmJkODcyM2NjMTQ4ZDZjYWYxMHAwLAorICAgIDB4MS44OWVhZDBlYTBkMzVicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAtMHgxLjQxYjFhZWVmOGU0YWU2YmQ4NzIzY2MxNDhkNmNhZjEwcDAsCisgICAgLTB4MS44OWVhZDBlYTBkMzVicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAtMHgxLjY4MDdhOWM1NDBkZDM1MzEyNTQ2MzM0OGE2ODVlZGM4cDAsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OTlmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAweDEuNjgwN2E5YzU0MGRkMzUzMTI1NDYzMzQ4YTY4NWVkYzhwMCwKKyAgICAweDEuODFiNWVjOGZkNzk5ZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgLTB4MS42NjMxZTFhNTk1OTAzNzZkOTg0NDcwZDk5Y2M4ZGY3YnAwLAorICAgIC0weDEuNzE0YzIzZGI2YzYyNnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLjY2MzFlMWE1OTU5MDM3NmQ5ODQ0NzBkOTljYzhkZjdicDAsCisgICAgMHgxLjcxNGMyM2RiNmM2MjZwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIC0weDEuNjQzMWJiN2VkZjJiYjcyMzAwOGIzYzUxY2E0NDhhNzZwMCwKKyAgICAtMHgxLjYwZTI1YjI3MDEyYWRwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIDB4MS42NDMxYmI3ZWRmMmJiNzIzMDA4YjNjNTFjYTQ0OGE3NnAwLAorICAgIDB4MS42MGUyNWIyNzAxMmFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAtMHgxLjYyMDE0OTNiMDIyMzYxYmQzYzQwNjUyMDc2MWI2NWNmcDAsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAweDEuNjIwMTQ5M2IwMjIzNjFiZDNjNDA2NTIwNzYxYjY1Y2ZwMCwKKyAgICAweDEuNTA3ODkyNzI5NWYzNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgLTB4MS41Zjk5NzdhNDdhZWUxN2QwZjEyYzE5M2E3ZGQ2MjI1OXAwLAorICAgIC0weDEuNDAwZWM5YmUyYWJiYnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgMHgxLjVmOTk3N2E0N2FlZTE3ZDBmMTJjMTkzYTdkZDYyMjU5cDAsCisgICAgMHgxLjQwMGVjOWJlMmFiYmJwMgorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIC0weDEuNWNmMWM1M2RkOWNhOWZhMjliM2JiMDRlYzU2ZTA3M2ZwMCwKKyAgICAtMHgxLjJmYTUwMTA5YmY4NDJwMgorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDB4MS41Y2YxYzUzZGQ5Y2E5ZmEyOWIzYmIwNGVjNTZlMDczZnAwLAorICAgIDB4MS4yZmE1MDEwOWJmODQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAtMHgxLjU5ZmZlMjc4ZmI1ZDBmZDY2ZDNhODc1ZjM0ZTk1NWI5cDAsCisgICAgLTB4MS4xZjNiMzg1NTU0NGM5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuNTlmZmUyNzhmYjVkMGZkNjZkM2E4NzVmMzRlOTU1YjlwMCwKKyAgICAweDEuMWYzYjM4NTU1NDRjOXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgLTB4MS41NmI3MzJlNWNkOWU3NjY1Yzg1NWMzM2VjN2JhODZhM3AwLAorICAgIC0weDEuMGVkMTZmYTBlOTE1MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLjU2YjczMmU1Y2Q5ZTc2NjVjODU1YzMzZWM3YmE4NmEzcDAsCisgICAgMHgxLjBlZDE2ZmEwZTkxNTBwMgorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIC0weDEuNTMwODIzNDgzZDM2MDViMmJkOTZmZmFmMmM0Njc5YzlwMCwKKyAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYWVwMQorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIDB4MS41MzA4MjM0ODNkMzYwNWIyYmQ5NmZmYWYyYzQ2NzljOXAwLAorICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzgKKyAgICAtMHgxLjRlZGY0MzBjMDAyNDQ3N2NlZmZmZWMzNjRkYTg1YzFkcDAsCisgICAgLTB4MS5kYmZiYmM3MDI1NGJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzkKKyAgICAweDEuNGVkZjQzMGMwMDI0NDc3Y2VmZmZlYzM2NGRhODVjMWRwMCwKKyAgICAweDEuZGJmYmJjNzAyNTRiY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgLTB4MS40YTI0MDc0NDdhODFjN2RjMTEyMTI1OWUwODU2NWQzZXAwLAorICAgIC0weDEuYmIyODJiMDc0ZWRjYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLjRhMjQwNzQ0N2E4MWM3ZGMxMTIxMjU5ZTA4NTY1ZDNlcDAsCisgICAgMHgxLmJiMjgyYjA3NGVkY2FwMQorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIC0weDEuNDRiNzEwYmRlOTQ0ZjViNzNkMjM4MDkxM2ZiOTZiOTNwMCwKKyAgICAtMHgxLjlhNTQ5OTllNzg2ZDhwMQorICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIDB4MS40NGI3MTBiZGU5NDRmNWI3M2QyMzgwOTEzZmI5NmI5M3AwLAorICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAtMHgxLjNlNmZiYjJjNDEzOTY5OTdmYWUzY2U3Y2IyMDJhYjNjcDAsCisgICAgLTB4MS43OTgxMDgzNWExZmU2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAweDEuM2U2ZmJiMmM0MTM5Njk5N2ZhZTNjZTdjYjIwMmFiM2NwMCwKKyAgICAweDEuNzk4MTA4MzVhMWZlNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgLTB4MS4zNzE4OWQ5NzVlNWZhMDlhMzgyNzJkN2Y1NjBlMGRhNHAwLAorICAgIC0weDEuNThhZDc2Y2NjYjhmNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMHgxLjM3MTg5ZDk3NWU1ZmEwOWEzODI3MmQ3ZjU2MGUwZGE0cDAsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZjRwMQorICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIC0weDEuMmU2YTc2ZDNhN2M0ZTg3ZmVmYTUxOGMzMjZhYjYxNTZwMCwKKyAgICAtMHgxLjM3ZDllNTYzZjUyMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIDB4MS4yZTZhNzZkM2E3YzRlODdmZWZhNTE4YzMyNmFiNjE1NnAwLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAtMHgxLjI0MDRiZjRiM2VhZDFiZTBkNjE0ZTE2YmQxOTE2ZjRkcDAsCisgICAgLTB4MS4xNzA2NTNmYjFlYjEwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAweDEuMjQwNGJmNGIzZWFkMWJlMGQ2MTRlMTZiZDE5MTZmNGRwMCwKKyAgICAweDEuMTcwNjUzZmIxZWIxMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgLTB4MS4xNzYyYzYwNDM4Y2U1OTM4MDY5YjIwY2Y2MzE0OTQ0YXAwLAorICAgIC0weDEuZWM2NTg1MjQ5MDgzY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLjE3NjJjNjA0MzhjZTU5MzgwNjliMjBjZjYzMTQ5NDRhcDAsCisgICAgMHgxLmVjNjU4NTI0OTA4M2NwMAorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIC0weDEuMDdjYmZlOGMxNGRkZDFmMWQzOGJhOTgxYjA5OTZhMWFwMCwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNThwMAorICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIDB4MS4wN2NiZmU4YzE0ZGRkMWYxZDM4YmE5ODFiMDk5NmExYXAwLAorICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAtMHgxLmU4N2QzNTgzNjFiZGQyNzg5ZmQxMzkwMDU0OTEwNGMycC0xLAorICAgIC0weDEuNjkxNzNmODEzNmM3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgMHgxLmU4N2QzNTgzNjFiZGQyNzg5ZmQxMzkwMDU0OTEwNGMycC0xLAorICAgIDB4MS42OTE3M2Y4MTM2Yzc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAtMHgxLmI2YWRkNDQ4NzE0ZjE0ZTRjYmQwNDU3NDAxMTZmNTM0cC0xLAorICAgIC0weDEuMjc3MDFjYWY4OWU5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgMHgxLmI2YWRkNDQ4NzE0ZjE0ZTRjYmQwNDU3NDAxMTZmNTM0cC0xLAorICAgIDB4MS4yNzcwMWNhZjg5ZTkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAtMHgxLjc2ODU2MjRjYjM3NTkzZWI5NjBhZjM2OGFlZWEyNjE2cC0xLAorICAgIC0weDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcwMQorICAgIDB4MS43Njg1NjI0Y2IzNzU5M2ViOTYwYWYzNjhhZWVhMjYxNnAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIC0weDEuMjNlNzE3ZDBmYTdjMjcwNTY1OWUxMWVkODVlNmRhYzRwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNThlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAzCisgICAgMHgxLjIzZTcxN2QwZmE3YzI3MDU2NTllMTFlZDg1ZTZkYWM0cC0xLAorICAgIDB4MS40ODQzYWUxODYwNThlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgLTB4MS43ODBjNDViOTczNmQyZDg5ZTVkYmM1ZmU3MTY3YTc4NnAtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzOGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEuNzgwYzQ1Yjk3MzZkMmQ4OWU1ZGJjNWZlNzE2N2E3ODZwLTIsCisgICAgMHgxLjg5ZWFkMGVhMGQzOGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAtMHgxLjA1MmZhYjM2OGUwYmY2MWVhM2Y5NDJiZDI2MDFlMWJhcC0zLAorICAgIC0weDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDcwNworICAgIDB4MS4wNTJmYWIzNjhlMGJmNjFlYTNmOTQyYmQyNjAxZTFiYXAtMywKKyAgICAweDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS4wNTJmYWIzNjhlMDA2NmM3NTNlYzY0ODE5Yjc2YTQ4OXAtMywKKyAgICAweDEuMDY5YzhiNDZiMzczNHAtMworICB9LAorICB7IC8vIEVudHJ5IDcwOQorICAgIC0weDEuMDUyZmFiMzY4ZTAwNjZjNzUzZWM2NDgxOWI3NmE0ODlwLTMsCisgICAgLTB4MS4wNjljOGI0NmIzNzM0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLjc4MGM0NWI5NzM2ODBmNjlmZjk0NjAwZDk3NmVjY2EzcC0yLAorICAgIDB4MS44OWVhZDBlYTBkMzJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgLTB4MS43ODBjNDViOTczNjgwZjY5ZmY5NDYwMGQ5NzZlY2NhM3AtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzMmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICAweDEuMjNlNzE3ZDBmYTdhMTIxNmQ4NjE4MWVhYjEwNWRjZjlwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAtMHgxLjIzZTcxN2QwZmE3YTEyMTZkODYxODFlYWIxMDVkY2Y5cC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS43Njg1NjI0Y2IzNzNmMzc1MDU2YWE2MjljMTRkN2Y3ZXAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIC0weDEuNzY4NTYyNGNiMzczZjM3NTA1NmFhNjI5YzE0ZDdmN2VwLTEsCisgICAgLTB4MS5jYjkxZjNiYmJhMTI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmI2YWRkNDQ4NzE0ZGNiOGE1MmNkMzVhOTg3MzMwZjcxcC0xLAorICAgIDB4MS4yNzcwMWNhZjg5ZTc4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAtMHgxLmI2YWRkNDQ4NzE0ZGNiOGE1MmNkMzVhOTg3MzMwZjcxcC0xLAorICAgIC0weDEuMjc3MDFjYWY4OWU3OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzE4CisgICAgMHgxLmU4N2QzNTgzNjFiY2QxOTM1OTk5NmE3Nzc5Yzk3N2EycC0xLAorICAgIDB4MS42OTE3M2Y4MTM2YzVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAtMHgxLmU4N2QzNTgzNjFiY2QxOTM1OTk5NmE3Nzc5Yzk3N2EycC0xLAorICAgIC0weDEuNjkxNzNmODEzNmM1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgMHgxLjA3Y2JmZThjMTRkZDZjNTMxNjAzZTk0M2YyM2I1Mzk1cDAsCisgICAgMHgxLmFhYmU2MjUyZTNhNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIC0weDEuMDdjYmZlOGMxNGRkNmM1MzE2MDNlOTQzZjIzYjUzOTVwMCwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIDB4MS4xNzYyYzYwNDM4Y2UwNzgyNTJkODVlNDI2MjEzMTFlZnAwLAorICAgIDB4MS5lYzY1ODUyNDkwODI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAtMHgxLjE3NjJjNjA0MzhjZTA3ODI1MmQ4NWU0MjYyMTMxMWVmcDAsCisgICAgLTB4MS5lYzY1ODUyNDkwODI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuMjQwNGJmNGIzZWFjZDkxZTEzMmJmYjY3NGUyOTEzYWRwMCwKKyAgICAweDEuMTcwNjUzZmIxZWIwNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgLTB4MS4yNDA0YmY0YjNlYWNkOTFlMTMyYmZiNjc0ZTI5MTNhZHAwLAorICAgIC0weDEuMTcwNjUzZmIxZWIwNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzI2CisgICAgMHgxLjJlNmE3NmQzYTdjNGIxMjI2NDUyY2JlZTI1NGNiMDBlcDAsCisgICAgMHgxLjM3ZDllNTYzZjUxZjZwMQorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIC0weDEuMmU2YTc2ZDNhN2M0YjEyMjY0NTJjYmVlMjU0Y2IwMGVwMCwKKyAgICAtMHgxLjM3ZDllNTYzZjUxZjZwMQorICB9LAorICB7IC8vIEVudHJ5IDcyOAorICAgIDB4MS4zNzE4OWQ5NzVlNWY3MjEwMzllZTA2MjI3YjJjYzM0ZXAwLAorICAgIDB4MS41OGFkNzZjY2NiOGU4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICAtMHgxLjM3MTg5ZDk3NWU1ZjcyMTAzOWVlMDYyMjdiMmNjMzRlcDAsCisgICAgLTB4MS41OGFkNzZjY2NiOGU4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuM2U2ZmJiMmM0MTM5NDFmZjg5OWM0NjIzNzZhZmFmZjNwMCwKKyAgICAweDEuNzk4MTA4MzVhMWZkYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgLTB4MS4zZTZmYmIyYzQxMzk0MWZmODk5YzQ2MjM3NmFmYWZmM3AwLAorICAgIC0weDEuNzk4MTA4MzVhMWZkYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLjQ0YjcxMGJkZTk0NGQzYTlhZWZmNjNkOTFmYTFmMDM3cDAsCisgICAgMHgxLjlhNTQ5OTllNzg2Y2NwMQorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIC0weDEuNDRiNzEwYmRlOTQ0ZDNhOWFlZmY2M2Q5MWZhMWYwMzdwMCwKKyAgICAtMHgxLjlhNTQ5OTllNzg2Y2NwMQorICB9LAorICB7IC8vIEVudHJ5IDczNAorICAgIDB4MS40YTI0MDc0NDdhODFhYTRhNjc1MWJhMWMwMGFkMTZiNHAwLAorICAgIDB4MS5iYjI4MmIwNzRlZGJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAtMHgxLjRhMjQwNzQ0N2E4MWFhNGE2NzUxYmExYzAwYWQxNmI0cDAsCisgICAgLTB4MS5iYjI4MmIwNzRlZGJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAweDEuNGVkZjQzMGMwMDI0MmQ5NzYwYWYyYmEzZDEzNGVlMzBwMCwKKyAgICAweDEuZGJmYmJjNzAyNTRiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgLTB4MS40ZWRmNDMwYzAwMjQyZDk3NjBhZjJiYTNkMTM0ZWUzMHAwLAorICAgIC0weDEuZGJmYmJjNzAyNTRiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMHgxLjUzMDgyMzQ4M2QzNWVlZDdiZGM0MWM3ZDQzZDRkMWJlcDAsCisgICAgMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIC0weDEuNTMwODIzNDgzZDM1ZWVkN2JkYzQxYzdkNDNkNGQxYmVwMCwKKyAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDB4MS41NmI3MzJlNWNkOWU2MjE2MjBjMjkyZjIxYzM3MGE2NXAwLAorICAgIDB4MS4wZWQxNmZhMGU5MTRhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAtMHgxLjU2YjczMmU1Y2Q5ZTYyMTYyMGMyOTJmMjFjMzcwYTY1cDAsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAweDEuNTlmZmUyNzhmYjVjZmRhY2JjNTEwNjE2Njc2NDEzMjBwMCwKKyAgICAweDEuMWYzYjM4NTU1NDRjM3AyCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgLTB4MS41OWZmZTI3OGZiNWNmZGFjYmM1MTA2MTY2NzY0MTMyMHAwLAorICAgIC0weDEuMWYzYjM4NTU1NDRjM3AyCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLjVjZjFjNTNkZDljYThmNGQzMjBlZmFmMmJlZDIzOGRlcDAsCisgICAgMHgxLjJmYTUwMTA5YmY4M2NwMgorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIC0weDEuNWNmMWM1M2RkOWNhOGY0ZDMyMGVmYWYyYmVkMjM4ZGVwMCwKKyAgICAtMHgxLjJmYTUwMTA5YmY4M2NwMgorICB9LAorICB7IC8vIEVudHJ5IDc0NgorICAgIDB4MS41Zjk5NzdhNDdhZWUwOTBkNTRjYTdiNzYzYWYyYjhmNnAwLAorICAgIDB4MS40MDBlYzliZTJhYmI1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAtMHgxLjVmOTk3N2E0N2FlZTA5MGQ1NGNhN2I3NjNhZjJiOGY2cDAsCisgICAgLTB4MS40MDBlYzliZTJhYmI1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAweDEuNjIwMTQ5M2IwMjIzNTQ1NGNmZTk5Nzg0OWI1NmU2YTRwMCwKKyAgICAweDEuNTA3ODkyNzI5NWYyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgLTB4MS42MjAxNDkzYjAyMjM1NDU0Y2ZlOTk3ODQ5YjU2ZTZhNHAwLAorICAgIC0weDEuNTA3ODkyNzI5NWYyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzUwCisgICAgMHgxLjY0MzFiYjdlZGYyYmFhZTg4NDY0ZWFkMTJhYjQ2MTllcDAsCisgICAgMHgxLjYwZTI1YjI3MDEyYTdwMgorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIC0weDEuNjQzMWJiN2VkZjJiYWFlODg0NjRlYWQxMmFiNDYxOWVwMCwKKyAgICAtMHgxLjYwZTI1YjI3MDEyYTdwMgorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIDB4MS42NjMxZTFhNTk1OTAyYzNiNDIxNzFhNzY4OThlYzhmYnAwLAorICAgIDB4MS43MTRjMjNkYjZjNjIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAtMHgxLjY2MzFlMWE1OTU5MDJjM2I0MjE3MWE3Njg5OGVjOGZicDAsCisgICAgLTB4MS43MTRjMjNkYjZjNjIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuNjgwN2E5YzU0MGRkMmFlNzJhM2U4YWQ4YzkxNDc4NjdwMCwKKyAgICAweDEuODFiNWVjOGZkNzk5OXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzU1CisgICAgLTB4MS42ODA3YTljNTQwZGQyYWU3MmEzZThhZDhjOTE0Nzg2N3AwLAorICAgIC0weDEuODFiNWVjOGZkNzk5OXAyCisgIH0sCisgIHsgLy8gRW50cnkgNzU2CisgICAgMHgxLmVmNjUyZGNlY2E0ZGFlYzA0NGRlYjM0NmM0YjA4ZDQ4cC01LAorICAgIDB4MS5lZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzU3CisgICAgLTB4MS5lZjY1MmRjZWNhNGRhZWMwNDRkZWIzNDZjNGIwOGQ0OHAtNSwKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTgKKyAgICAweDEuZWY2NTJkY2VjYTRkYmViMTRlZTkwNzE1OWRkMWMzNjlwLTUsCisgICAgMHgxLmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAtMHgxLmVmNjUyZGNlY2E0ZGJlYjE0ZWU5MDcxNTlkZDFjMzY5cC01LAorICAgIC0weDEuZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIDB4MS5lZjY1MmRjZWNhNGRjZWEyNThmMzVhZTQ3NmYyMDM1OXAtNSwKKyAgICAweDEuZjAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDc2MQorICAgIC0weDEuZWY2NTJkY2VjYTRkY2VhMjU4ZjM1YWU0NzZmMjAzNTlwLTUsCisgICAgLTB4MS5mMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzYyCisgICAgMHgxLmY1N2FiMDI2YzNhOGVjYjgzZWMwY2NkZDEwYWRkNDllcC00LAorICAgIDB4MS5mN2ZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNzYzCisgICAgLTB4MS5mNTdhYjAyNmMzYThlY2I4M2VjMGNjZGQxMGFkZDQ5ZXAtNCwKKyAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAweDEuZjU3YWIwMjZjM2E4ZmM3YjI3OGEwNmU5ZDBjNDNlM2FwLTQsCisgICAgMHgxLmY4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDc2NQorICAgIC0weDEuZjU3YWIwMjZjM2E4ZmM3YjI3OGEwNmU5ZDBjNDNlM2FwLTQsCisgICAgLTB4MS5mODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAweDEuZjU3YWIwMjZjM2E5MGMzZTEwNTM0MGY2OTBkNmQ1YWZwLTQsCisgICAgMHgxLmY4MDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAtMHgxLmY1N2FiMDI2YzNhOTBjM2UxMDUzNDBmNjkwZDZkNWFmcC00LAorICAgIC0weDEuZjgwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDc2OAorICAgIDB4MS40OTIzMDI0Y2NiNzdmZmMzNjA5MWE2ZjIzNDA1MTc4M3AtMywKKyAgICAweDEuNGJmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIC0weDEuNDkyMzAyNGNjYjc3ZmZjMzYwOTFhNmYyMzQwNTE3ODNwLTMsCisgICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLjQ5MjMwMjRjY2I3ODBmNWE3ZTJlYWQ0ZTJiZDI0ZDMzcC0zLAorICAgIDB4MS40YzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzEKKyAgICAtMHgxLjQ5MjMwMjRjY2I3ODBmNWE3ZTJlYWQ0ZTJiZDI0ZDMzcC0zLAorICAgIC0weDEuNGMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgMHgxLjQ5MjMwMjRjY2I3ODFlZjE5YmNiYjNhYTIzOTVhOTJicC0zLAorICAgIDB4MS40YzAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgLTB4MS40OTIzMDI0Y2NiNzgxZWYxOWJjYmIzYWEyMzk1YTkyYnAtMywKKyAgICAtMHgxLjRjMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAweDEuMmE3M2E2NjFlYWYwNGM5NDgzM2UwMTk5MTgwZTkzMWRwLTIsCisgICAgMHgxLjMzMzMzMzMzMzMzMzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAtMHgxLjJhNzNhNjYxZWFmMDRjOTQ4MzNlMDE5OTE4MGU5MzFkcC0yLAorICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc3NgorICAgIDB4MS4yYTczYTY2MWVhZjA1YjQyNGY5MjhlODNmNGVhN2JjMnAtMiwKKyAgICAweDEuMzMzMzMzMzMzMzMzM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIC0weDEuMmE3M2E2NjFlYWYwNWI0MjRmOTI4ZTgzZjRlYTdiYzJwLTIsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgMHgxLjJhNzNhNjYxZWFmMDY5ZjAxYmU3MWI2ZWQxYTYxMjU5cC0yLAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgLTB4MS4yYTczYTY2MWVhZjA2OWYwMWJlNzFiNmVkMWE2MTI1OXAtMiwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAweDEuMmZjNDgyMjBjYzFmY2U3ZmM5M2E3N2EwN2U0OGIwMDJwLTEsCisgICAgMHgxLjU5NDMxN2FjYzRlZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAtMHgxLjJmYzQ4MjIwY2MxZmNlN2ZjOTNhNzdhMDdlNDhiMDAycC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4MgorICAgIDB4MS4yZmM0ODIyMGNjMWZkOTdmNmI5NDE5ZjJjZWZhMDY0NnAtMSwKKyAgICAweDEuNTk0MzE3YWNjNGVmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4MworICAgIC0weDEuMmZjNDgyMjBjYzFmZDk3ZjZiOTQxOWYyY2VmYTA2NDZwLTEsCisgICAgLTB4MS41OTQzMTdhY2M0ZWY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLjJmYzQ4MjIwY2MxZmU0N2YwZGVkYmM0NTFmNTljOTljcC0xLAorICAgIDB4MS41OTQzMTdhY2M0ZWZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgLTB4MS4yZmM0ODIyMGNjMWZlNDdmMGRlZGJjNDUxZjU5Yzk5Y3AtMSwKKyAgICAtMHgxLjU5NDMxN2FjYzRlZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEuNTM4ZjU3Yjg5MDYxZTFhMTk3OTNhZGFiNzJkYzRjZDBwLTEsCisgICAgMHgxLjhmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODcKKyAgICAtMHgxLjUzOGY1N2I4OTA2MWUxYTE5NzkzYWRhYjcyZGM0Y2QwcC0xLAorICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4OAorICAgIDB4MS41MzhmNTdiODkwNjFlYjkxMjJkNTA5NmI3Y2YyNjdlYnAtMSwKKyAgICAweDEuOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4OQorICAgIC0weDEuNTM4ZjU3Yjg5MDYxZWI5MTIyZDUwOTZiN2NmMjY3ZWJwLTEsCisgICAgLTB4MS45cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzkwCisgICAgMHgxLjUzOGY1N2I4OTA2MWY1ODBhZTE2NjUyYjg2YmI2MzUzcC0xLAorICAgIDB4MS45MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgLTB4MS41MzhmNTdiODkwNjFmNTgwYWUxNjY1MmI4NmJiNjM1M3AtMSwKKyAgICAtMHgxLjkwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc5NAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc5NgorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLjkxY2QyNGRkNGY4NmYzYWJjZmE0Mjc2ZDgzYTEzZDczcC01LAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzk4CisgICAgLTB4MS45MWNkMjRkZDRmODZmM2FiY2ZhNDI3NmQ4M2ExM2Q3M3AtNSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEuOTFjZDI0ZGQ0Zjg3MDNhMWY3MTg4ZjFkNjQ1NDIxYjFwLTUsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAtMHgxLjkxY2QyNGRkNGY4NzAzYTFmNzE4OGYxZDY0NTQyMWIxcC01LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIDB4MS45MWNkMjRkZDRmODcxMzk4MWU4Y2Y2Y2Q0NTA2M2RkNnAtNSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDgwMgorICAgIC0weDEuOTFjZDI0ZGQ0Zjg3MTM5ODFlOGNmNmNkNDUwNjNkZDZwLTUsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC01CisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgMHgxLjkwZDZkZmJmMDQ2M2JlMmVmYzNkM2FlOTk1YjllMjQwcC00LAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC00CisgIH0sCisgIHsgLy8gRW50cnkgODA0CisgICAgLTB4MS45MGQ2ZGZiZjA0NjNiZTJlZmMzZDNhZTk5NWI5ZTI0MHAtNCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAweDEuOTBkNmRmYmYwNDYzY2UwN2UyM2U1NDE0NThjNGFhMDdwLTQsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAtMHgxLjkwZDZkZmJmMDQ2M2NlMDdlMjNlNTQxNDU4YzRhYTA3cC00LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS45MGQ2ZGZiZjA0NjNkZGUwYzgzZjZkM2YxYmNjNWNkN3AtNCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDgwOAorICAgIC0weDEuOTBkNmRmYmYwNDYzZGRlMGM4M2Y2ZDNmMWJjYzVjZDdwLTQsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC00CisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgMHgxLjhkMTI4ZWFlOTU2MTM1M2E4ODA2MmVmMGEzNGI0ZTgwcC0zLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgODEwCisgICAgLTB4MS44ZDEyOGVhZTk1NjEzNTNhODgwNjJlZjBhMzRiNGU4MHAtMywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAweDEuOGQxMjhlYWU5NTYxNDRhMjdhZDA0ZWFhNWI5MjRkMDZwLTMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTIKKyAgICAtMHgxLjhkMTI4ZWFlOTU2MTQ0YTI3YWQwNGVhYTViOTI0ZDA2cC0zLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIDB4MS44ZDEyOGVhZTk1NjE1NDBhNmQ5YTZlNjQxM2NkYTRmN3AtMywKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAtMworICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIC0weDEuOGQxMjhlYWU5NTYxNTQwYTZkOWE2ZTY0MTNjZGE0ZjdwLTMsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgMHgxLjdmMmQ2YTI0Nzc3ZTA5OWMyMzc2Y2YwODk4YjNjMzYwcC0yLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODE2CisgICAgLTB4MS43ZjJkNmEyNDc3N2UwOTljMjM3NmNmMDg5OGIzYzM2MHAtMiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAweDEuN2YyZDZhMjQ3NzdlMTc3OGUwZDVjNjIxMDIwODU2MTBwLTIsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTgKKyAgICAtMHgxLjdmMmQ2YTI0Nzc3ZTE3NzhlMGQ1YzYyMTAyMDg1NjEwcC0yLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDgxOQorICAgIDB4MS43ZjJkNmEyNDc3N2UyNTU1OWUzNGJkMzk2YjM3MmQ5ZXAtMiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIC0weDEuN2YyZDZhMjQ3NzdlMjU1NTllMzRiZDM5NmIzNzJkOWVwLTIsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgMHgxLjU0ZTA0YzA1ZDA2OWZhMWVjYWMwYzNmNWQ3ZmFlNzBmcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODIyCisgICAgLTB4MS41NGUwNGMwNWQwNjlmYTFlY2FjMGMzZjVkN2ZhZTcwZnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAweDEuNTRlMDRjMDVkMDZhMDQwNDFjY2YzMGYwMDExMGMwZjZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAtMHgxLjU0ZTA0YzA1ZDA2YTA0MDQxY2NmMzBmMDAxMTBjMGY2cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIDB4MS41NGUwNGMwNWQwNmEwZGU5NmVkZDlkZWEyOWQ5YjE5MXAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyNgorICAgIC0weDEuNTRlMDRjMDVkMDZhMGRlOTZlZGQ5ZGVhMjlkOWIxOTFwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgMHgxLjAwZmU5ODdlZDAyZmVkOTYyZTEyM2E3ZTEyYTZkMjgzcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMAorICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0weDEuMDBmZTk4N2VkMDJmZWQ5NjJlMTIzYTdlMTJhNmQyODNwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMAorICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIDB4MS4wMGZlOTg3ZWQwMmZmMjMzNzdkOTllYzM2ZGI1MzNmZXAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAtMHgxLjAwZmU5ODdlZDAyZmYyMzM3N2Q5OWVjMzZkYjUzM2ZlcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAweDEuMDBmZTk4N2VkMDJmZjZkMGMxYTEwMzA4Yzg4MGIwZDNwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAwCisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgLTB4MS4wMGZlOTg3ZWQwMmZmNmQwYzFhMTAzMDhjODgwYjBkM3AwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAwCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgMHgxLjQzM2I4YTMyMmRkZDI2NmZkODFlYzg0M2Q3YzkyYTdhcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMQorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIC0weDEuNDMzYjhhMzIyZGRkMjY2ZmQ4MWVjODQzZDdjOTJhN2FwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMQorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIDB4MS40MzNiOGEzMjJkZGQyOTYxODE2OGEyMWM5NjJjNjhiY3AwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAtMHgxLjQzM2I4YTMyMmRkZDI5NjE4MTY4YTIxYzk2MmM2OGJjcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAweDEuNDMzYjhhMzIyZGRkMmM1MzJhYjI3YmY1NTQ1OTMyMGJwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAxCisgIH0sCisgIHsgLy8gRW50cnkgODM4CisgICAgLTB4MS40MzNiOGEzMjJkZGQyYzUzMmFiMjdiZjU1NDU5MzIwYnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAxCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgMHgxLjY5YjgxNTRiYWY0MmUwZjUyN2ZmM2Y0ZGY3YTQ2MzNlcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMgorICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIC0weDEuNjliODE1NGJhZjQyZTBmNTI3ZmYzZjRkZjdhNDYzM2VwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMgorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIDB4MS42OWI4MTU0YmFmNDJlMjg5ZWE0NmRlNTlmNzVhN2I5MHAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDIKKyAgICAtMHgxLjY5YjgxNTRiYWY0MmUyODllYTQ2ZGU1OWY3NWE3YjkwcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICAweDEuNjliODE1NGJhZjQyZTQxZWFjOGU3ZDY1ZjZmMTI5ZTdwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAyCisgIH0sCisgIHsgLy8gRW50cnkgODQ0CisgICAgLTB4MS42OWI4MTU0YmFmNDJlNDFlYWM4ZTdkNjVmNmYxMjllN3AwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAyCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgMHgxLjdkY2I3YzVjMzk5ZWMwNGFkNWMxZWFiYmIwY2NjZjlmcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMworICB9LAorICB7IC8vIEVudHJ5IDg0NgorICAgIC0weDEuN2RjYjdjNWMzOTllYzA0YWQ1YzFlYWJiYjBjY2NmOWZwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMworICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIDB4MS43ZGNiN2M1YzM5OWVjMTE5MDhmNTk4NjQ0M2YzMGJkYXAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAtMHgxLjdkY2I3YzVjMzk5ZWMxMTkwOGY1OTg2NDQzZjMwYmRhcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDkKKyAgICAweDEuN2RjYjdjNWMzOTllYzFlNzNjMjk0NjBjZDcwOGY5ZDhwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAzCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgLTB4MS43ZGNiN2M1YzM5OWVjMWU3M2MyOTQ2MGNkNzA4ZjlkOHAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAzCisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgMHgxLjg3ZjE3Y2ZkYTBiNWNhZjdiMTcwZGQ4NmY4Mjg3YjYzcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNAorICB9LAorICB7IC8vIEVudHJ5IDg1MgorICAgIC0weDEuODdmMTdjZmRhMGI1Y2FmN2IxNzBkZDg2ZjgyODdiNjNwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNAorICB9LAorICB7IC8vIEVudHJ5IDg1MworICAgIDB4MS44N2YxN2NmZGEwYjVjYjVmNDgzMmMwNGNkZjczNmY4NHAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAtMHgxLjg3ZjE3Y2ZkYTBiNWNiNWY0ODMyYzA0Y2RmNzM2Zjg0cDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTUKKyAgICAweDEuODdmMTdjZmRhMGI1Y2JjNmRlZjRhMzEyYzZiNjI4YjBwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXA0CisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgLTB4MS44N2YxN2NmZGEwYjVjYmM2ZGVmNGEzMTJjNmI2MjhiMHAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA0CisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgMHgxLjhkMDgxNTJlZGRiN2EzYjhjOTc2ZDdlMTIwYmExMTk3cDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNQorICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIC0weDEuOGQwODE1MmVkZGI3YTNiOGM5NzZkN2UxMjBiYTExOTdwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNQorICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIDB4MS44ZDA4MTUyZWRkYjdhM2VjYTQ5NDhmM2FjZmY1MDg2NHAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjAKKyAgICAtMHgxLjhkMDgxNTJlZGRiN2EzZWNhNDk0OGYzYWNmZjUwODY0cDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAweDEuOGQwODE1MmVkZGI3YTQyMDdmYjI0Njk0N2YyYmRmMzVwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXA1CisgIH0sCisgIHsgLy8gRW50cnkgODYyCisgICAgLTB4MS44ZDA4MTUyZWRkYjdhNDIwN2ZiMjQ2OTQ3ZjJiZGYzNXAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA1CisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgMHgxLjhmOTNkNGI3OGI3Y2RkZjQ0NmUzNmU1MzhiOTgwMTkzcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNgorICB9LAorICB7IC8vIEVudHJ5IDg2NAorICAgIC0weDEuOGY5M2Q0Yjc4YjdjZGRmNDQ2ZTM2ZTUzOGI5ODAxOTNwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNgorICB9LAorICB7IC8vIEVudHJ5IDg2NQorICAgIDB4MS44ZjkzZDRiNzhiN2NkZTBlMzY2YWEyMTI2NDZkM2NiNnAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjYKKyAgICAtMHgxLjhmOTNkNGI3OGI3Y2RlMGUzNjZhYTIxMjY0NmQzY2I2cDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAweDEuOGY5M2Q0Yjc4YjdjZGUyODI1ZjFkNWQxM2Q0MDY3OGJwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXA2CisgIH0sCisgIHsgLy8gRW50cnkgODY4CisgICAgLTB4MS44ZjkzZDRiNzhiN2NkZTI4MjVmMWQ1ZDEzZDQwNjc4YnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA2CisgIH0sCisgIHsgLy8gRW50cnkgODY5CisgICAgMHgxLjkwZDljMmVkODg3Mzc3NWE0ZjZlM2ZlNGMzYTU5ODJicDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNworICB9LAorICB7IC8vIEVudHJ5IDg3MAorICAgIC0weDEuOTBkOWMyZWQ4ODczNzc1YTRmNmUzZmU0YzNhNTk4MmJwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNworICB9LAorICB7IC8vIEVudHJ5IDg3MQorICAgIDB4MS45MGQ5YzJlZDg4NzM3NzY3NDc3MGVhYzM2YzI0MzZiNXAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzIKKyAgICAtMHgxLjkwZDljMmVkODg3Mzc3Njc0NzcwZWFjMzZjMjQzNmI1cDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAweDEuOTBkOWMyZWQ4ODczNzc3NDNmNzM5NWEyMTRhMWNkMGVwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXA3CisgIH0sCisgIHsgLy8gRW50cnkgODc0CisgICAgLTB4MS45MGQ5YzJlZDg4NzM3Nzc0M2Y3Mzk1YTIxNGExY2QwZXAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA3CisgIH0sCisgIHsgLy8gRW50cnkgODc1CisgICAgMHgxLjJiNWY0YjUzYzc5NDhkZjU1Njg3ODJkMGE3NWI4NDU5cDAsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMQorICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC0weDEuMmI1ZjRiNTNjNzk0OGRmNTU2ODc4MmQwYTc1Yjg0NTlwMCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMQorICB9LAorICB7IC8vIEVudHJ5IDg3NworICAgIDB4MS4yYjVmNGI1M2M3OTQ5MmQ3YjVhNmNkNjIwM2M5YWFlMnAwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAtMHgxLjJiNWY0YjUzYzc5NDkyZDdiNWE2Y2Q2MjAzYzlhYWUycDAsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAweDEuMmI1ZjRiNTNjNzk0OTdiYTE0YzYxN2YzNWZjNzY2MmVwMCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AxCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgLTB4MS4yYjVmNGI1M2M3OTQ5N2JhMTRjNjE3ZjM1ZmM3NjYyZXAwLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AxCisgIH0sCisgIHsgLy8gRW50cnkgODgxCisgICAgMHgxLjUyNGE2OWZjZmYyYWYwOWY1ZjE0MGRmMzQxYTQ1NWRkcDAsCisgICAgMHgxLmY2YTdhMjk1NTM4NWRwMQorICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0weDEuNTI0YTY5ZmNmZjJhZjA5ZjVmMTQwZGYzNDFhNDU1ZGRwMCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWRwMQorICB9LAorICB7IC8vIEVudHJ5IDg4MworICAgIDB4MS41MjRhNjlmY2ZmMmFmMjkyM2NhYjVjMDBiNjYwYzU1ZnAwLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAtMHgxLjUyNGE2OWZjZmYyYWYyOTIzY2FiNWMwMGI2NjBjNTVmcDAsCisgICAgLTB4MS5mNmE3YTI5NTUzODVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAweDEuNTI0YTY5ZmNmZjJhZjQ4NTFhNDJhYTBlMmFmZjYxYmNwMCwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAxCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgLTB4MS41MjRhNjlmY2ZmMmFmNDg1MWE0MmFhMGUyYWZmNjFiY3AwLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAxCisgIH0sCisgIHsgLy8gRW50cnkgODg3CisgICAgMHgxLjVjOTdkMzdkOThhYTM3YWYxYTFiNzVhNjE5MDk4Mjg4cDAsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMgorICB9LAorICB7IC8vIEVudHJ5IDg4OAorICAgIC0weDEuNWM5N2QzN2Q5OGFhMzdhZjFhMWI3NWE2MTkwOTgyODhwMCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMgorICB9LAorICB7IC8vIEVudHJ5IDg4OQorICAgIDB4MS41Yzk3ZDM3ZDk4YWEzYTcxMWI5NDM1OTM3MWFhZjkwM3AwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAtMHgxLjVjOTdkMzdkOThhYTNhNzExYjk0MzU5MzcxYWFmOTAzcDAsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTEKKyAgICAweDEuNWM5N2QzN2Q5OGFhM2QzMzFkMGNmNTgwY2EwNGMxMDJwMCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AyCisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgLTB4MS41Yzk3ZDM3ZDk4YWEzZDMzMWQwY2Y1ODBjYTA0YzEwMnAwLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AyCisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgMHgxLjY0MTAyZmM1NzFjNzQyMmI2YWQwZWQwNWZkMjRlNjUycDAsCisgICAgMHgxLjVmZGJiZTliYmE3NzRwMgorICB9LAorICB7IC8vIEVudHJ5IDg5NAorICAgIC0weDEuNjQxMDJmYzU3MWM3NDIyYjZhZDBlZDA1ZmQyNGU2NTJwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwMgorICB9LAorICB7IC8vIEVudHJ5IDg5NQorICAgIDB4MS42NDEwMmZjNTcxYzc0NDM4MWQyNjZmZWIwOGRkZmNjNHAwLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAtMHgxLjY0MTAyZmM1NzFjNzQ0MzgxZDI2NmZlYjA4ZGRmY2M0cDAsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAweDEuNjQxMDJmYzU3MWM3NDY0NGNmN2JmMmQwMTQ2OGUyNjVwMCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgLTB4MS42NDEwMmZjNTcxYzc0NjQ0Y2Y3YmYyZDAxNDY4ZTI2NXAwLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgODk5CisgICAgMHgxLjZlMjU2MWE2Y2QyMTgxYzAwOWQ3ZDg2M2U2NjZjNDM3cDAsCisgICAgMHgxLmM0NjNhYmVjY2IyYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC0weDEuNmUyNTYxYTZjZDIxODFjMDA5ZDdkODYzZTY2NmM0MzdwMCwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIDB4MS42ZTI1NjFhNmNkMjE4MzAxODNjODdhZTE3NjEzNTRiMHAwLAorICAgIDB4MS5jNDYzYWJlY2NiMmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDIKKyAgICAtMHgxLjZlMjU2MWE2Y2QyMTgzMDE4M2M4N2FlMTc2MTM1NGIwcDAsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAweDEuNmUyNTYxYTZjZDIxODQ0MmZkYjkxZDVmMDVhOTlhcDAsCisgICAgMHgxLmM0NjNhYmVjY2IyYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIC0weDEuNmUyNTYxYTZjZDIxODQ0MmZkYjkxZDVmMDVhOTlhcDAsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDUKKyAgICAweDEuNzFiNDEwMGYwOTU2NzY5ZDFjNjRhZTRkNzI5MTA3YTVwMCwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTA2CisgICAgLTB4MS43MWI0MTAwZjA5NTY3NjlkMWM2NGFlNGQ3MjkxMDdhNXAwLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTA3CisgICAgMHgxLjcxYjQxMDBmMDk1Njc3YTI3YjJjMDNiOTQwZDVlNjEzcDAsCisgICAgMHgxLmY2YTdhMjk1NTM4NWVwMgorICB9LAorICB7IC8vIEVudHJ5IDkwOAorICAgIC0weDEuNzFiNDEwMGYwOTU2NzdhMjdiMmMwM2I5NDBkNWU2MTNwMCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMgorICB9LAorICB7IC8vIEVudHJ5IDkwOQorICAgIDB4MS43MWI0MTAwZjA5NTY3OGE3ZDlmMzU5MjUwZjBhNjRjOHAwLAorICAgIDB4MS5mNmE3YTI5NTUzODVmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTAKKyAgICAtMHgxLjcxYjQxMDBmMDk1Njc4YTdkOWYzNTkyNTBmMGE2NGM4cDAsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICAweDEuNzQ5Zjk2MDk3YzcwMTUwNzM3MzNlMmUzNjU5YTg0NGJwMCwKKyAgICAweDEuMTQ3NWNjOWVlZGVmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTEyCisgICAgLTB4MS43NDlmOTYwOTdjNzAxNTA3MzczM2UyZTM2NTlhODQ0YnAwLAorICAgIC0weDEuMTQ3NWNjOWVlZGVmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTEzCisgICAgMHgxLjc0OWY5NjA5N2M3MDE2Yjg2ZTk1Y2E2NGIzZjE1NDZmcDAsCisgICAgMHgxLjE0NzVjYzllZWRmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTQKKyAgICAtMHgxLjc0OWY5NjA5N2M3MDE2Yjg2ZTk1Y2E2NGIzZjE1NDZmcDAsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTE1CisgICAgMHgxLjc0OWY5NjA5N2M3MDE4NjlhNWY3YjFlNjAyMTZhOTUycDAsCisgICAgMHgxLjE0NzVjYzllZWRmMDFwMworICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIC0weDEuNzQ5Zjk2MDk3YzcwMTg2OWE1ZjdiMWU2MDIxNmE5NTJwMCwKKyAgICAtMHgxLjE0NzVjYzllZWRmMDFwMworICB9LAorICB7IC8vIEVudHJ5IDkxNworICAgIDB4MS43NzEwMGFiYmRmZTRmODhjNDJiNzZhMWE0NGNjYjQ4N3AwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTgKKyAgICAtMHgxLjc3MTAwYWJiZGZlNGY4OGM0MmI3NmExYTQ0Y2NiNDg3cDAsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTkKKyAgICAweDEuNzcxMDBhYmJkZmU0ZjlmOTBkOTA1MzNjMDJiMzk2NGVwMCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgLTB4MS43NzEwMGFiYmRmZTRmOWY5MGQ5MDUzM2MwMmIzOTY0ZXAwLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTIxCisgICAgMHgxLjc3MTAwYWJiZGZlNGZiNjVkODY5M2M1ZGMwNzQzMWJkcDAsCisgICAgMHgxLjJkOTdjN2YzMzIxZDNwMworICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIC0weDEuNzcxMDBhYmJkZmU0ZmI2NWQ4NjkzYzVkYzA3NDMxYmRwMCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMworICB9LAorICB7IC8vIEVudHJ5IDkyMworICAgIDB4MS43OTIxNmI5NGI2NjJkZWIwN2UyZDZkZTdmMTgwNDUwN3AwLAorICAgIDB4MS40NmI5YzM0Nzc2NGEycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjQKKyAgICAtMHgxLjc5MjE2Yjk0YjY2MmRlYjA3ZTJkNmRlN2YxODA0NTA3cDAsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjUKKyAgICAweDEuNzkyMTZiOTRiNjYyZGZlN2Q1YTkxYjczYzA2MDg2ZWJwMCwKKyAgICAweDEuNDZiOWMzNDc3NjRhM3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgLTB4MS43OTIxNmI5NGI2NjJkZmU3ZDVhOTFiNzNjMDYwODZlYnAwLAorICAgIC0weDEuNDZiOWMzNDc3NjRhM3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTI3CisgICAgMHgxLjc5MjE2Yjk0YjY2MmUxMWYyZDI0YzhmZjhmMjI5NGIzcDAsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTRwMworICB9LAorICB7IC8vIEVudHJ5IDkyOAorICAgIC0weDEuNzkyMTZiOTRiNjYyZTExZjJkMjRjOGZmOGYyMjk0YjNwMCwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwMworICB9LAorICB7IC8vIEVudHJ5IDkyOQorICAgIDB4MS43YWU3ZDdlNWQxZjllZTJhMGU4OWEyMjg5MDYyYWQ3NHAwLAorICAgIDB4MS41ZmRiYmU5YmJhNzc0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICAtMHgxLjdhZTdkN2U1ZDFmOWVlMmEwZTg5YTIyODkwNjJhZDc0cDAsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzEKKyAgICAweDEuN2FlN2Q3ZTVkMWY5ZWYzNmRjODcwZWQ2OTY0ZmE5ZGZwMCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTMyCisgICAgLTB4MS43YWU3ZDdlNWQxZjllZjM2ZGM4NzBlZDY5NjRmYTlkZnAwLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTMzCisgICAgMHgxLjdhZTdkN2U1ZDFmOWYwNDNhYTg0N2I4NDljMjQ2NzRhcDAsCisgICAgMHgxLjVmZGJiZTliYmE3NzZwMworICB9LAorICB7IC8vIEVudHJ5IDkzNAorICAgIC0weDEuN2FlN2Q3ZTVkMWY5ZjA0M2FhODQ3Yjg0OWMyNDY3NGFwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzZwMworICB9LAorICB7IC8vIEVudHJ5IDkzNQorICAgIDB4MS43YzcyMjQ3NjMxOWEyODBkYWIwYjRjZjRjMTg3ZjhhYnAwLAorICAgIDB4MS43OGZkYjllZmZlYTQ1cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzYKKyAgICAtMHgxLjdjNzIyNDc2MzE5YTI4MGRhYjBiNGNmNGMxODdmOGFicDAsCisgICAgLTB4MS43OGZkYjllZmZlYTQ1cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzcKKyAgICAweDEuN2M3MjI0NzYzMTlhMjhmODEzMWY1ZDUwMGYwZjAzZTZwMCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTM4CisgICAgLTB4MS43YzcyMjQ3NjMxOWEyOGY4MTMxZjVkNTAwZjBmMDNlNnAwLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTM5CisgICAgMHgxLjdjNzIyNDc2MzE5YTI5ZTI3YjMzNmRhYjVjODI0ZGVkcDAsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDdwMworICB9LAorICB7IC8vIEVudHJ5IDk0MAorICAgIC0weDEuN2M3MjI0NzYzMTlhMjllMjdiMzM2ZGFiNWM4MjRkZWRwMCwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwMworICB9LAorICB7IC8vIEVudHJ5IDk0MQorICAgIDB4MS43ZWZjNzExYzk3YWNhMzRiMTYyODIzMWQ0ZjRmYWJlMnAwLAorICAgIDB4MS5hYjQxYjA5ODg2ZmU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDIKKyAgICAtMHgxLjdlZmM3MTFjOTdhY2EzNGIxNjI4MjMxZDRmNGZhYmUycDAsCisgICAgLTB4MS5hYjQxYjA5ODg2ZmU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDMKKyAgICAweDEuN2VmYzcxMWM5N2FjYTQwMWRmNjA5Y2FiMDNiYWI2OGNwMCwKKyAgICAweDEuYWI0MWIwOTg4NmZlOXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTQ0CisgICAgLTB4MS43ZWZjNzExYzk3YWNhNDAxZGY2MDljYWIwM2JhYjY4Y3AwLAorICAgIC0weDEuYWI0MWIwOTg4NmZlOXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTQ1CisgICAgMHgxLjdlZmM3MTFjOTdhY2E0YjhhODk5MTYzOGI4MTgyNDFjcDAsCisgICAgMHgxLmFiNDFiMDk4ODZmZWFwMworICB9LAorICB7IC8vIEVudHJ5IDk0NgorICAgIC0weDEuN2VmYzcxMWM5N2FjYTRiOGE4OTkxNjM4YjgxODI0MWNwMCwKKyAgICAtMHgxLmFiNDFiMDk4ODZmZWFwMworICB9LAorICB7IC8vIEVudHJ5IDk0NworICAgIDB4MS44MDBiYjE1ZmZlODBkZDE1MGI4MzUwNmVjYWZjZDg5N3AwLAorICAgIDB4MS5jNDYzYWJlY2NiMmJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDgKKyAgICAtMHgxLjgwMGJiMTVmZmU4MGRkMTUwYjgzNTA2ZWNhZmNkODk3cDAsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDkKKyAgICAweDEuODAwYmIxNWZmZTgwZGRiODJmMTM4OGE5NDFhODIxNWNwMCwKKyAgICAweDEuYzQ2M2FiZWNjYjJiYnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTUwCisgICAgLTB4MS44MDBiYjE1ZmZlODBkZGI4MmYxMzg4YTk0MWE4MjE1Y3AwLAorICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTUxCisgICAgMHgxLjgwMGJiMTVmZmU4MGRlNWI1MmEzYzBlM2I4NDdlZWFhcDAsCisgICAgMHgxLmM0NjNhYmVjY2IyYmNwMworICB9LAorICB7IC8vIEVudHJ5IDk1MgorICAgIC0weDEuODAwYmIxNWZmZTgwZGU1YjUyYTNjMGUzYjg0N2VlYWFwMCwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMworICB9LAorICB7IC8vIEVudHJ5IDk1MworICAgIDB4MS44MGZlODZiMTMyZThmODYxOGRlMDhjZjMzNzk5M2NhM3AwLAorICAgIDB4MS5kZDg1YTc0MTBmNThicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTQKKyAgICAtMHgxLjgwZmU4NmIxMzJlOGY4NjE4ZGUwOGNmMzM3OTkzY2EzcDAsCisgICAgLTB4MS5kZDg1YTc0MTBmNThicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTUKKyAgICAweDEuODBmZTg2YjEzMmU4ZjhmNDBjMTlkMDllNDg5ZDM4ZTFwMCwKKyAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTU2CisgICAgLTB4MS44MGZlODZiMTMyZThmOGY0MGMxOWQwOWU0ODlkMzhlMXAwLAorICAgIC0weDEuZGQ4NWE3NDEwZjU4Y3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTU3CisgICAgMHgxLjgwZmU4NmIxMzJlOGY5ODY4YTUzMTQ0OTU5OTc2ZjNjcDAsCisgICAgMHgxLmRkODVhNzQxMGY1OGRwMworICB9LAorICB7IC8vIEVudHJ5IDk1OAorICAgIC0weDEuODBmZTg2YjEzMmU4Zjk4NjhhNTMxNDQ5NTk5NzZmM2NwMCwKKyAgICAtMHgxLmRkODVhNzQxMGY1OGRwMworICB9LAorICB7IC8vIEVudHJ5IDk1OQorICAgIDB4MS44MWQ5MmRlZjI1ZjI1NzE4YzY4MjlhMDYzZmI4MWZkN3AwLAorICAgIDB4MS5mNmE3YTI5NTUzODVkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjAKKyAgICAtMHgxLjgxZDkyZGVmMjVmMjU3MThjNjgyOWEwNjNmYjgxZmQ3cDAsCisgICAgLTB4MS5mNmE3YTI5NTUzODVkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjEKKyAgICAweDEuODFkOTJkZWYyNWYyNTc5ZDBiMDZiZDU1ZTVkZDEwZDFwMCwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTYyCisgICAgLTB4MS44MWQ5MmRlZjI1ZjI1NzlkMGIwNmJkNTVlNWRkMTBkMXAwLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTYzCisgICAgMHgxLjgxZDkyZGVmMjVmMjU4MjE0ZjhhZTBhNThiZjk5ZWRlcDAsCisgICAgMHgxLmY2YTdhMjk1NTM4NWZwMworICB9LAorICB7IC8vIEVudHJ5IDk2NAorICAgIC0weDEuODFkOTJkZWYyNWYyNTgyMTRmOGFlMGE1OGJmOTllZGVwMCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMworICB9LAorICB7IC8vIEVudHJ5IDk2NQorICAgIDB4MS44MjlmMTZiYjdkOTUxMDhjMGViMjEyMzhhMGM1M2Y1ZXAwLAorICAgIDB4MS4wN2U0Y2VmNGNiZDk2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjYKKyAgICAtMHgxLjgyOWYxNmJiN2Q5NTEwOGMwZWIyMTIzOGEwYzUzZjVlcDAsCisgICAgLTB4MS4wN2U0Y2VmNGNiZDk2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjcKKyAgICAweDEuODI5ZjE2YmI3ZDk1MTE3YzE2YmE2NDhmMzQ4NmQ3MThwMCwKKyAgICAweDEuMDdlNGNlZjRjYmQ5N3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTY4CisgICAgLTB4MS44MjlmMTZiYjdkOTUxMTdjMTZiYTY0OGYzNDg2ZDcxOHAwLAorICAgIC0weDEuMDdlNGNlZjRjYmQ5N3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTY5CisgICAgMHgxLjgyOWYxNmJiN2Q5NTEyNmMxZWMyYjZlNWM4MmI2ZWRlcDAsCisgICAgMHgxLjA3ZTRjZWY0Y2JkOThwNAorICB9LAorICB7IC8vIEVudHJ5IDk3MAorICAgIC0weDEuODI5ZjE2YmI3ZDk1MTI2YzFlYzJiNmU1YzgyYjZlZGVwMCwKKyAgICAtMHgxLjA3ZTRjZWY0Y2JkOThwNAorICB9LAorICB7IC8vIEVudHJ5IDk3MQorICAgIDB4MS44MzUzMTFjNGZhNWQ3YzM3YzU1N2I3YTVhMzMzODMyNHAwLAorICAgIDB4MS4xNDc1Y2M5ZWVkZWZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzIKKyAgICAtMHgxLjgzNTMxMWM0ZmE1ZDdjMzdjNTU3YjdhNWEzMzM4MzI0cDAsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZWZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzMKKyAgICAweDEuODM1MzExYzRmYTVkN2QxMjhjNWZhMDljYzkyMjQ4M2RwMCwKKyAgICAweDEuMTQ3NWNjOWVlZGZwNAorICB9LAorICB7IC8vIEVudHJ5IDk3NAorICAgIC0weDEuODM1MzExYzRmYTVkN2QxMjhjNWZhMDljYzkyMjQ4M2RwMCwKKyAgICAtMHgxLjE0NzVjYzllZWRmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzUKKyAgICAweDEuODM1MzExYzRmYTVkN2RlZDUzNjc4OTkzZWVmN2QwMzdwMCwKKyAgICAweDEuMTQ3NWNjOWVlZGYwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTc2CisgICAgLTB4MS44MzUzMTFjNGZhNWQ3ZGVkNTM2Nzg5OTNlZWY3ZDAzN3AwLAorICAgIC0weDEuMTQ3NWNjOWVlZGYwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTc3CisgICAgMHgxLjgzZjc3MzE4MjVkYzlkOGZmNTczNzA5M2JiMzU0MGRlcDAsCisgICAgMHgxLjIxMDZjYTQ5MTAwNjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk3OAorICAgIC0weDEuODNmNzczMTgyNWRjOWQ4ZmY1NzM3MDkzYmIzNTQwZGVwMCwKKyAgICAtMHgxLjIxMDZjYTQ5MTAwNjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk3OQorICAgIDB4MS44M2Y3NzMxODI1ZGM5ZTU4MmViYzAyMDk3OGVlMWE5NXAwLAorICAgIDB4MS4yMTA2Y2E0OTEwMDY5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODAKKyAgICAtMHgxLjgzZjc3MzE4MjVkYzllNTgyZWJjMDIwOTc4ZWUxYTk1cDAsCisgICAgLTB4MS4yMTA2Y2E0OTEwMDY5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODEKKyAgICAweDEuODNmNzczMTgyNWRjOWYyMDY4MDQ5MzdmMzY5MGRhOWJwMCwKKyAgICAweDEuMjEwNmNhNDkxMDA2YXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTgyCisgICAgLTB4MS44M2Y3NzMxODI1ZGM5ZjIwNjgwNDkzN2YzNjkwZGE5YnAwLAorICAgIC0weDEuMjEwNmNhNDkxMDA2YXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTgzCisgICAgMHgxLjg0OGUyYmVjNzk5ZWNlNDgyMzBlYTliNGRlNjBjZmI3cDAsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwNAorICB9LAorICB7IC8vIEVudHJ5IDk4NAorICAgIC0weDEuODQ4ZTJiZWM3OTllY2U0ODIzMGVhOWI0ZGU2MGNmYjdwMCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwNAorICB9LAorICB7IC8vIEVudHJ5IDk4NQorICAgIDB4MS44NDhlMmJlYzc5OWVjZjAwMTFhMDhlOTNiZmNiZjZiYXAwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODYKKyAgICAtMHgxLjg0OGUyYmVjNzk5ZWNmMDAxMWEwOGU5M2JmY2JmNmJhcDAsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODcKKyAgICAweDEuODQ4ZTJiZWM3OTllY2ZiODAwMzI3MzcyYTEyM2E3YjdwMCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTg4CisgICAgLTB4MS44NDhlMmJlYzc5OWVjZmI4MDAzMjczNzJhMTIzYTdiN3AwLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTg5CisgICAgMHgxLjg1MThkZTRiNDhlNzZlNDExZWExY2RlZWI1OWNiZjc3cDAsCisgICAgMHgxLjNhMjhjNTlkNTQzMzlwNAorICB9LAorICB7IC8vIEVudHJ5IDk5MAorICAgIC0weDEuODUxOGRlNGI0OGU3NmU0MTFlYTFjZGVlYjU5Y2JmNzdwMCwKKyAgICAtMHgxLjNhMjhjNTlkNTQzMzlwNAorICB9LAorICB7IC8vIEVudHJ5IDk5MQorICAgIDB4MS44NTE4ZGU0YjQ4ZTc2ZWVhYWIyYTU4YWI3MzljMzBjYnAwLAorICAgIDB4MS4zYTI4YzU5ZDU0MzNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTIKKyAgICAtMHgxLjg1MThkZTRiNDhlNzZlZWFhYjJhNThhYjczOWMzMGNicDAsCisgICAgLTB4MS4zYTI4YzU5ZDU0MzNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTMKKyAgICAweDEuODUxOGRlNGI0OGU3NmY5NDM3YjJlMzY4MzE4YTY4NjlwMCwKKyAgICAweDEuM2EyOGM1OWQ1NDMzYnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTk0CisgICAgLTB4MS44NTE4ZGU0YjQ4ZTc2Zjk0MzdiMmUzNjgzMThhNjg2OXAwLAorICAgIC0weDEuM2EyOGM1OWQ1NDMzYnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTk1CisgICAgMHgxLjg1OThlYzM1MTY3MTI3Y2UyMDNkMjljY2U2NmI2ODVicDAsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTJwNAorICB9LAorICB7IC8vIEVudHJ5IDk5NgorICAgIC0weDEuODU5OGVjMzUxNjcxMjdjZTIwM2QyOWNjZTY2YjY4NWJwMCwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwNAorICB9LAorICB7IC8vIEVudHJ5IDk5NworICAgIDB4MS44NTk4ZWMzNTE2NzEyODZhZWEwMTBhN2NmMTUzMDRhNHAwLAorICAgIDB4MS40NmI5YzM0Nzc2NGEzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTgKKyAgICAtMHgxLjg1OThlYzM1MTY3MTI4NmFlYTAxMGE3Y2YxNTMwNGE0cDAsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTkKKyAgICAweDEuODU5OGVjMzUxNjcxMjkwN2IzYzRlYjJjZmMyYjRmMmRwMCwKKyAgICAweDEuNDZiOWMzNDc3NjRhNHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwMAorICAgIC0weDEuODU5OGVjMzUxNjcxMjkwN2IzYzRlYjJjZmMyYjRmMmRwMCwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMDEKKyAgICAweDEuODYwZjgzNmU1OWNmNTMzYTVmNWFjZDk3N2ZiM2JkMWJwMCwKKyAgICAweDEuNTM0YWMwZjE5ODYwYnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwMgorICAgIC0weDEuODYwZjgzNmU1OWNmNTMzYTVmNWFjZDk3N2ZiM2JkMWJwMCwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGJwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMDMKKyAgICAweDEuODYwZjgzNmU1OWNmNTNjYmM5N2M0ZTMyNzg3NGZlM2ZwMCwKKyAgICAweDEuNTM0YWMwZjE5ODYwY3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNAorICAgIC0weDEuODYwZjgzNmU1OWNmNTNjYmM5N2M0ZTMyNzg3NGZlM2ZwMCwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGNwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMDUKKyAgICAweDEuODYwZjgzNmU1OWNmNTQ1ZDMzOWRjZWNkNzEyODkwM2FwMCwKKyAgICAweDEuNTM0YWMwZjE5ODYwZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNgorICAgIC0weDEuODYwZjgzNmU1OWNmNTQ1ZDMzOWRjZWNkNzEyODkwM2FwMCwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGRwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMDcKKyAgICAweDEuODY3ZGE2Yzg3YjU3ZThhZGY4OTkwMDE0YWU2YzAxMmZwMCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwOAorICAgIC0weDEuODY3ZGE2Yzg3YjU3ZThhZGY4OTkwMDE0YWU2YzAxMmZwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMDkKKyAgICAweDEuODY3ZGE2Yzg3YjU3ZTkzNTM0OTcyNGUwY2MzN2IzMTFwMCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMAorICAgIC0weDEuODY3ZGE2Yzg3YjU3ZTkzNTM0OTcyNGUwY2MzN2IzMTFwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzVwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTEKKyAgICAweDEuODY3ZGE2Yzg3YjU3ZTliYzcwOTU0OWFjZTlmNzFlZTlwMCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMgorICAgIC0weDEuODY3ZGE2Yzg3YjU3ZTliYzcwOTU0OWFjZTlmNzFlZTlwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzZwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTMKKyAgICAweDEuODZlNDM1ODE4MTUxYjg0ZmUyNTgzNGMxOWE3ZTJlNWZwMCwKKyAgICAweDEuNmM2Y2JjNDVkYzhkY3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNAorICAgIC0weDEuODZlNDM1ODE4MTUxYjg0ZmUyNTgzNGMxOWE3ZTJlNWZwMCwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGNwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTUKKyAgICAweDEuODZlNDM1ODE4MTUxYjhjZGY4NmU2MzQ1ZjU4YzY5ZmFwMCwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNgorICAgIC0weDEuODZlNDM1ODE4MTUxYjhjZGY4NmU2MzQ1ZjU4YzY5ZmFwMCwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGRwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTcKKyAgICAweDEuODZlNDM1ODE4MTUxYjk0YzBlODQ5MWNhNTA4Zjk4YjVwMCwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxOAorICAgIC0weDEuODZlNDM1ODE4MTUxYjk0YzBlODQ5MWNhNTA4Zjk4YjVwMCwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGVwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTkKKyAgICAweDEuODc0M2YxMmJmOWZjOTJhN2Y2NWRlOGQ2Y2QzZGY1OWRwMCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyMAorICAgIC0weDEuODc0M2YxMmJmOWZjOTJhN2Y2NWRlOGQ2Y2QzZGY1OWRwMCwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDVwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjEKKyAgICAweDEuODc0M2YxMmJmOWZjOTMxZGNjNDAwZTQ1ZjFjYmZkMThwMCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyMgorICAgIC0weDEuODc0M2YxMmJmOWZjOTMxZGNjNDAwZTQ1ZjFjYmZkMThwMCwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDZwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjMKKyAgICAweDEuODc0M2YxMmJmOWZjOTM5M2EyMjIzM2I1MTY1MDA4OWZwMCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNAorICAgIC0weDEuODc0M2YxMmJmOWZjOTM5M2EyMjIzM2I1MTY1MDA4OWZwMCwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjUKKyAgICAweDEuODc5ZDgyNzM4Y2RiMDcxNWM3ZTUwOTA3ZTdhODdjODBwMCwKKyAgICAweDEuODU4ZWI3OWEyMGJhZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNgorICAgIC0weDEuODc5ZDgyNzM4Y2RiMDcxNWM3ZTUwOTA3ZTdhODdjODBwMCwKKyAgICAtMHgxLjg1OGViNzlhMjBiYWVwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjcKKyAgICAweDEuODc5ZDgyNzM4Y2RiMDc4NDI2MzRmMTg3ZWI3N2RkZGNwMCwKKyAgICAweDEuODU4ZWI3OWEyMGJhZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyOAorICAgIC0weDEuODc5ZDgyNzM4Y2RiMDc4NDI2MzRmMTg3ZWI3N2RkZGNwMCwKKyAgICAtMHgxLjg1OGViNzlhMjBiYWZwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjkKKyAgICAweDEuODc5ZDgyNzM4Y2RiMDdmMjg0ODRkYTA3ZWYzZTMyMzBwMCwKKyAgICAweDEuODU4ZWI3OWEyMGJiMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAzMAorICAgIC0weDEuODc5ZDgyNzM4Y2RiMDdmMjg0ODRkYTA3ZWYzZTMyMzBwMCwKKyAgICAtMHgxLjg1OGViNzlhMjBiYjBwNAorICB9LAorICB7IC8vIEVudHJ5IDEwMzEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2Nzg5OGNjNTE3MDFiODI5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDEwMzIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njc4OThjYzUxNzAxYjgyOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzMworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY3ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2Nzg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njc4OThjYzUxNzAxYjg1OWEycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM2CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY3ODk4Y2M1MTcwMWI4NTlhMnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MworICB9LAorICB7IC8vIEVudHJ5IDEwMzcKKyAgICAweDEuOTIxZmI1MjQ0MmQxODQ2OTg5OGJlZmMxYWM2MmU0NGNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyNgorICB9LAorICB7IC8vIEVudHJ5IDEwMzgKKyAgICAtMHgxLjkyMWZiNTI0NDJkMTg0Njk4OThiZWZjMWFjNjJlNDRjcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI2CisgIH0sCisgIHsgLy8gRW50cnkgMTAzOQorICAgIDB4MS45MjFmYjUyNDQyZDE4NDY5ODk4Y2VmYzFhYzYyZTQ0Y3AwLAorICAgIDB4MS4wcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MAorICAgIC0weDEuOTIxZmI1MjQ0MmQxODQ2OTg5OGNlZmMxYWM2MmU0NGNwMCwKKyAgICAtMHgxLjBwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQxCisgICAgMHgxLjkyMWZiNTI0NDJkMTg0Njk4OThlZWZjMWFjNjJlNDRjcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgLTB4MS45MjFmYjUyNDQyZDE4NDY5ODk4ZWVmYzFhYzYyZTQ0Y3AwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNworICB9LAorICB7IC8vIEVudHJ5IDEwNDMKKyAgICAweDEuOTIxZmI0NDQ0MmQxODQ2OTg5ZGExYTZjNTcwZDhlY2NwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNDQKKyAgICAtMHgxLjkyMWZiNDQ0NDJkMTg0Njk4OWRhMWE2YzU3MGQ4ZWNjcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NQorICAgIDB4MS45MjFmYjQ0NDQyZDE4NDY5ODllMjFhNmM1NzBkOGVjNHAwLAorICAgIDB4MS4wcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NgorICAgIC0weDEuOTIxZmI0NDQ0MmQxODQ2OTg5ZTIxYTZjNTcwZDhlYzRwMCwKKyAgICAtMHgxLjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ3CisgICAgMHgxLjkyMWZiNDQ0NDJkMTg0Njk4OWYyMWE2YzU3MGQ4ZWIzcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgLTB4MS45MjFmYjQ0NDQyZDE4NDY5ODlmMjFhNmM1NzBkOGViM3AwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNAorICB9LAorICB7IC8vIEVudHJ5IDEwNDkKKyAgICAweDEuNTM2OGM5NTFlOWNmYzdjMjRjMzhmYjc3YTFkZmE1N2NwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MAorICAgIC0weDEuNTM2OGM5NTFlOWNmYzdjMjRjMzhmYjc3YTFkZmE1N2NwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNTEKKyAgICAweDEuNTM2OGM5NTFlOWNmYzlhNDJlMWFkZDU5ODNjZmIzYThwMCwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MgorICAgIC0weDEuNTM2OGM5NTFlOWNmYzlhNDJlMWFkZDU5ODNjZmIzYThwMCwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNTMKKyAgICAweDEuNTM2OGM5NTFlOWNmY2Q2N2YxZGVhMTFkNDc1YWM2NDNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA1NAorICAgIC0weDEuNTM2OGM5NTFlOWNmY2Q2N2YxZGVhMTFkNDc1YWM2NDNwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNTUKKyAgICAweDEuMWI2ZTE5MmViYmU0NDM5MzllNjc2ZWVkNzA1MzQ1MGNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1NgorICAgIC0weDEuMWI2ZTE5MmViYmU0NDM5MzllNjc2ZWVkNzA1MzQ1MGNwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAweDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1OAorICAgIC0weDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNTkKKyAgICAweDEuMWI2ZTE5MmViYmU0NGQyZDM4MDEwODg3MDlhZjZlMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MAorICAgIC0weDEuMWI2ZTE5MmViYmU0NGQyZDM4MDEwODg3MDlhZjZlMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjEKKyAgICAweDEuOTIxZmI1NDQ0MmQxN2M2OTg5OGNjNTE3MDE5ODM5YTJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYyCisgICAgLTB4MS45MjFmYjU0NDQyZDE3YzY5ODk4Y2M1MTcwMTk4MzlhMnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNjUKKyAgICAweDEuOTIxZmI1NDQ0MmQxOTQ2OTg5OGNjNTE3MDEzODM5YTJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNjYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTk0Njk4OThjYzUxNzAxMzgzOWEycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NworICAgIDB4MS5kYWM2NzA1NjFiYjRlOWJlMTJmYmJmMGNhYjkzZDI1OHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjgKKyAgICAtMHgxLmRhYzY3MDU2MWJiNGU5YmUxMmZiYmYwY2FiOTNkMjU4cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjkKKyAgICAweDEuZGFjNjcwNTYxYmI0ZjY4YWRmYzg4YmQ5Nzg3NTFhMDZwLTIsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcwCisgICAgLTB4MS5kYWM2NzA1NjFiYjRmNjhhZGZjODhiZDk3ODc1MWEwNnAtMiwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcxCisgICAgMHgxLmRhYzY3MDU2MWJiNTEwMjQ3OTYyMjU3MzExYmNjODFicC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MgorICAgIC0weDEuZGFjNjcwNTYxYmI1MTAyNDc5NjIyNTczMTFiY2M4MWJwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MworICAgIDB4MS5mNWI3NWY5MmM4MGRjNzFiY2M4MDJlZGNlMDJlMGE5N3AtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwNzQKKyAgICAtMHgxLmY1Yjc1ZjkyYzgwZGM3MWJjYzgwMmVkY2UwMmUwYTk3cC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwNzUKKyAgICAweDEuZjViNzVmOTJjODBkZDYyYWRiOGYzZGViZWY0NDJmY2JwLTMsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc2CisgICAgLTB4MS5mNWI3NWY5MmM4MGRkNjJhZGI4ZjNkZWJlZjQ0MmZjYnAtMywKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc3CisgICAgMHgxLmY1Yjc1ZjkyYzgwZGY0NDhmOWFkNWMwYTBkNDVmNTU0cC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA3OAorICAgIC0weDEuZjViNzVmOTJjODBkZjQ0OGY5YWQ1YzBhMGQ0NWY1NTRwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA3OQorICAgIDB4MS5mZDViYTlhYWMyZjZjY2E0OTUxZjcwNDI2ZDRlMzE4MXAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwODAKKyAgICAtMHgxLmZkNWJhOWFhYzJmNmNjYTQ5NTFmNzA0MjZkNGUzMTgxcC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwODEKKyAgICAweDEuZmQ1YmE5YWFjMmY2ZGM2NTkxMmYzMTNlN2QxMTFkZWZwLTQsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgyCisgICAgLTB4MS5mZDViYTlhYWMyZjZkYzY1OTEyZjMxM2U3ZDExMWRlZnAtNCwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgzCisgICAgMHgxLmZkNWJhOWFhYzJmNmZiZTc4OTRlYjMzNjljOGI1NDk2cC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NAorICAgIC0weDEuZmQ1YmE5YWFjMmY2ZmJlNzg5NGViMzM2OWM4YjU0OTZwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NQorICAgIDB4MS5mZjU1YmI3MmNmZGU4YzdkODY1ZjE1YzgwYzZiOGJiMHAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwODYKKyAgICAtMHgxLmZmNTViYjcyY2ZkZThjN2Q4NjVmMTVjODBjNmI4YmIwcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwODcKKyAgICAweDEuZmY1NWJiNzJjZmRlOWM2ZDk2NGYyNWI4MWM1YzFhYTJwLTUsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg4CisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg5CisgICAgMHgxLmZmNTViYjcyY2ZkZWJjNGRiNjJmNDU5ODNjM2EzZTdjcC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA5MAorICAgIC0weDEuZmY1NWJiNzJjZmRlYmM0ZGI2MmY0NTk4M2MzYTNlN2NwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA5MQorICAgIDB4MS5mZmQ1NWJiYTk3NjIzYTg4ZWUzYjJlY2JiOTE3YTQ3NnAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwOTIKKyAgICAtMHgxLmZmZDU1YmJhOTc2MjNhODhlZTNiMmVjYmI5MTdhNDc2cC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwOTMKKyAgICAweDEuZmZkNTViYmE5NzYyNGE4NGVmM2FlZWRiYjUxOGM0MjdwLTYsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk0CisgICAgLTB4MS5mZmQ1NWJiYTk3NjI0YTg0ZWYzYWVlZGJiNTE4YzQyN3AtNiwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk1CisgICAgMHgxLmZmZDU1YmJhOTc2MjZhN2NmMTNhNmVmYmFkMWE0M2U3cC02LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA5NgorICAgIC0weDEuZmZkNTViYmE5NzYyNmE3Y2YxM2E2ZWZiYWQxYTQzZTdwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA5NworICAgIDB4MS5mZmY1NTViYmI3Mjk5Yjc4Y2YwOGFkODAxYmVmYjg4MXAtNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEwOTgKKyAgICAtMHgxLmZmZjU1NWJiYjcyOTliNzhjZjA4YWQ4MDFiZWZiODgxcC03LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEwOTkKKyAgICAweDEuZmZmNTU1YmJiNzI5YWI3N2NmMThhYzgwMmJlZWMwOTBwLTcsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAwCisgICAgLTB4MS5mZmY1NTViYmI3MjlhYjc3Y2YxOGFjODAyYmVlYzA5MHAtNywKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAxCisgICAgMHgxLmZmZjU1NWJiYjcyOWNiNzVjZjM4YWE4MDRiZWNhMGI0cC03LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTEwMgorICAgIC0weDEuZmZmNTU1YmJiNzI5Y2I3NWNmMzhhYTgwNGJlY2EwYjRwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTEwMworICAgIDB4MS5mZmZmZmZmNTU1NTU0NWJiYmJiY2I3Mjk3Mjg3NjI1NnAtMTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgMTEwNAorICAgIC0weDEuZmZmZmZmZjU1NTU1NDViYmJiYmNiNzI5NzI4NzYyNTZwLTE1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA1CisgICAgMHgxLmZmZmZmZmY1NTU1NTU1YmJiYmJiYjcyOTcyOTc2MjU2cC0xNSwKKyAgICAweDEuMHAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA2CisgICAgLTB4MS5mZmZmZmZmNTU1NTU1NWJiYmJiYmI3Mjk3Mjk3NjI1NnAtMTUsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDExMDcKKyAgICAweDEuZmZmZmZmZjU1NTU1NzViYmJiYjliNzI5NzJiNzYyNTZwLTE1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDExMDgKKyAgICAtMHgxLmZmZmZmZmY1NTU1NTc1YmJiYmI5YjcyOTcyYjc2MjU2cC0xNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZDU1NTU1NTU1NTU1NTliYmJiYnAtMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMTExMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWQ1NTU1NTU1NTU1NTU5YmJiYmJwLTI4LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTExCisgICAgMHgxLmZmZmZmZmZmZmZmZmZkNTU1NTU1NTU1NTU1NWJiYmJicC0yOCwKKyAgICAweDEuMHAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZDU1NTU1NTU1NTU1NTViYmJiYnAtMjgsCisgICAgLTB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDExMTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMGVhYWFhYWFhYWFhYWE2ZGRkZGRwLTI3LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNworICB9LAorICB7IC8vIEVudHJ5IDExMTQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBlYWFhYWFhYWFhYWFhNmRkZGRkcC0yNywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTExNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmY1NTU1NTU1NTU1NTU2NTViYnAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTExNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmNTU1NTU1NTU1NTU1NjU1YmJwLTMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NWJicC0zMSwKKyAgICAweDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDExMTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmYWFhYWFhYWFhYWFhOWFhZGRwLTMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDExMjAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmFhYWFhYWFhYWFhYTlhYWRkcC0zMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMjIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMworICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEyNQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTEyNgorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI3CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMjgKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMzAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMxCisgICAgMHgxLjQzM2I4YTMyMmRkZDI5NjE4MTY4YTIxYzk2MmM2OGJjcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDExMzIKKyAgICAtMHgxLjQzM2I4YTMyMmRkZDI5NjE4MTY4YTIxYzk2MmM2OGJjcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMzCisgICAgMHgxLjAwZmU5ODdlZDAyZmYyMzM3N2Q5OWVjMzZkYjUzM2ZlcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDExMzQKKyAgICAtMHgxLjAwZmU5ODdlZDAyZmYyMzM3N2Q5OWVjMzZkYjUzM2ZlcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTk0Njk4OThjYzUxNzAxMzgzOWEycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM2CisgICAgLTB4MS45MjFmYjU0NDQyZDE5NDY5ODk4Y2M1MTcwMTM4MzlhMnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDExMzcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExMzgKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzOQorICAgIDB4MS45MjFmYjU0NDQyZDE3YzY5ODk4Y2M1MTcwMTk4MzlhMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNDAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdjNjk4OThjYzUxNzAxOTgzOWEycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNDEKKyAgICAweDEuNTRlMDRjMDVkMDZhMDQwNDFjY2YzMGYwMDExMGMwZjZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQyCisgICAgLTB4MS41NGUwNGMwNWQwNmEwNDA0MWNjZjMwZjAwMTEwYzBmNnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQzCisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0NAorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExNDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExNDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ5CisgICAgMHgxLmZmZmZmZmZmZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE1MAorICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTA3NCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDExNTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDc0LAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDExNTMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU0CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU1CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDExNTYKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hdGFuZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvYXRhbmZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1Zjk5NjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvYXRhbmZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDM1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19hdGFuZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEuZGMyYzk4MDA4ZDUzNWM1MTdkZDlkMzcxYzQ0YTYxNTFwLTIsCisgICAgLTB4MS4wMGUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5kYzJjOTgwMDhkNTM1YzUxN2RkOWQzNzFjNDRhNjE1MXAtMiwKKyAgICAweDEuMDBlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjkzZDYzYmZjZTQ2N2VmMTI3NDViY2FmMTY0Yzk4OGNkcC0xLAorICAgIC0weDEuMDFiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS45M2Q2M2JmY2U0NjdlZjEyNzQ1YmNhZjE2NGM5ODhjZHAtMSwKKyAgICAweDEuMDFiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuOTNlNmJjZmNiZjI4NjhiZjNkMjI3YWQ1MmNjMDY3NzVwLTEsCisgICAgLTB4MS4wMWM4OWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuOTNlNmJjZmNiZjI4NjhiZjNkMjI3YWQ1MmNjMDY3NzVwLTEsCisgICAgMHgxLjAxYzg5ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuZTQzNTNmMDA0NDgxYTY5ZTBkOTcxMzZjZDgzMDI1MDhwLTIsCisgICAgLTB4MS4wNWVjNDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLmU0MzUzZjAwNDQ4MWE2OWUwZDk3MTM2Y2Q4MzAyNTA4cC0yLAorICAgIDB4MS4wNWVjNDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS45ODBkZDk0MmM1ODkzMWNjZmE4OGFhNTcxNGQ5NTg5YnAtMSwKKyAgICAtMHgxLjA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjk4MGRkOTQyYzU4OTMxY2NmYTg4YWE1NzE0ZDk1ODlicC0xLAorICAgIDB4MS4wNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLmU0ZTcwNTAwNDFmZWE1ZTQ3NGJjNDJiYjNlOTU5OGVkcC0yLAorICAgIC0weDEuMDY1Yzc4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuZTRlNzA1MDA0MWZlYTVlNDc0YmM0MmJiM2U5NTk4ZWRwLTIsCisgICAgMHgxLjA2NWM3OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5mZDA4ZGFmZmUyOTBlODA2Nzc1ZjhkZjRlZDYzMzMxZnAtMiwKKyAgICAtMHgxLjE1YzhlMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZkMDhkYWZmZTI5MGU4MDY3NzVmOGRmNGVkNjMzMzFmcC0yLAorICAgIDB4MS4xNWM4ZTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEuMTJkMDkxMDAwMGFjZDM3OTYwNDNjZTM5N2RjMGFhZjBwLTEsCisgICAgLTB4MS4zMGE2MTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS4xMmQwOTEwMDAwYWNkMzc5NjA0M2NlMzk3ZGMwYWFmMHAtMSwKKyAgICAweDEuMzBhNjEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMHgxLjg1MDFkZWZjNDBhOTRiZDY5YTMyNmY2ZjRlZmMzY2FicDAsCisgICAgLTB4MS4zODAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS44NTAxZGVmYzQwYTk0YmQ2OWEzMjZmNmY0ZWZjM2NhYnAwLAorICAgIDB4MS4zODAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuMWRiZmRiMDAyYWFmYTM0ZDU2ZDRlZmRlYjg3NWQ3Y2NwLTEsCisgICAgLTB4MS4zZmE1ZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS4xZGJmZGIwMDJhYWZhMzRkNTZkNGVmZGViODc1ZDdjY3AtMSwKKyAgICAweDEuM2ZhNWQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLjkxYzdmNmZmZmZmNmE1ZWVmNThkMzJhMjBjYjc2NTg2cDAsCisgICAgLTB4MS43NTczZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjkxYzdmNmZmZmZmNmE1ZWVmNThkMzJhMjBjYjc2NTg2cDAsCisgICAgMHgxLjc1NzNmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLmYzMWQzNWI4MTI1OWY1ZjQ1YmFkYzhiNzc0MjQxYjE1cC0xLAorICAgIC0weDEuNzk3NDNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5mMzFkMzViODEyNTlmNWY0NWJhZGM4Yjc3NDI0MWIxNXAtMSwKKyAgICAweDEuNzk3NDNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuZjU0Yjc2ZmY4YzhmNDAyMGNjYzRkZmJhNWYxZGNmYzRwLTEsCisgICAgLTB4MS43Y2VmYzhwMAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmY1NGI3NmZmOGM4ZjQwMjBjY2M0ZGZiYTVmMWRjZmM0cC0xLAorICAgIDB4MS43Y2VmYzhwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS45MjFmYTJmZmVmZWExYTQ3NWZjNjM2NDMzMWU5OGMwZnAwLAorICAgIC0weDEuYzA3NjMwcDE5CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuOTIxZmEyZmZlZmVhMWE0NzVmYzYzNjQzMzFlOThjMGZwMCwKKyAgICAweDEuYzA3NjMwcDE5CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLmM4ZDM3Y2ZmZjk3MzJhYWU1NjVlOTZjOWFiMWFlM3AtNCwKKyAgICAtMHgxLmNhYmFkMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmM4ZDM3Y2ZmZjk3MzJhYWU1NjVlOTZjOWFiMWFlM3AtNCwKKyAgICAweDEuY2FiYWQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLjg0NTU4MTZjZDhiMTc5MTBkNWZiNDJjNTRhN2EzZjZhcC0xLAorICAgIC0weDEuZTUyMzI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuODQ1NTgxNmNkOGIxNzkxMGQ1ZmI0MmM1NGE3YTNmNmFwLTEsCisgICAgMHgxLmU1MjMyNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS44N2NlNmNhMzhmNjY5NTFmN2QxNzZkMjdlNGNjNzExNHAtMSwKKyAgICAtMHgxLmViYzUxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjg3Y2U2Y2EzOGY2Njk1MWY3ZDE3NmQyN2U0Y2M3MTE0cC0xLAorICAgIDB4MS5lYmM1MThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5mZmQ1NWJiYTk3NjI0YTg0ZWYzYWVlZGJiNTE4YzQyN3AtNiwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAtMHgxLmZmZDU1YmJhOTc2MjRhODRlZjNhZWVkYmI1MThjNDI3cC02LAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmY1NWJmNmVkM2RhOTg3OTgyNjVjYzNmMjdjODk2YzdwLTUsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTB4MS5mZjU1YmY2ZWQzZGE5ODc5ODI2NWNjM2YyN2M4OTZjN3AtNSwKKyAgICAtMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmZmNTYzMmZiNDc0YjJiZGZmODU5ZWU2NDIxYTEyZDQ4cC01LAorICAgIDB4MS4wMDAwM2NwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuZmY1NjMyZmI0NzRiMmJkZmY4NTllZTY0MjFhMTJkNDhwLTUsCisgICAgLTB4MS4wMDAwM2NwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS45MjIwNjU0NDA2NTE5MjQ2ZGVlMjE4NzUwZjYxMThlMHAtMSwKKyAgICAweDEuMDAwMGIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuOTIyMDY1NDQwNjUxOTI0NmRlZTIxODc1MGY2MTE4ZTBwLTEsCisgICAgLTB4MS4wMDAwYjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmY1YjhjOGZjMjE4NTY4ZDI1NDhjMzkwZGU3YTNkZmNlcC0zLAorICAgIDB4MS4wMDAwYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuZjViOGM4ZmMyMTg1NjhkMjU0OGMzOTBkZTdhM2RmY2VwLTMsCisgICAgLTB4MS4wMDAwYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5mZDY0ZDRmY2NmZmFlZWVkYmE5Yzk1NjRhNjczMGQxOHAtNCwKKyAgICAweDEuMDAwNGE4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmZkNjRkNGZjY2ZmYWVlZWRiYTljOTU2NGE2NzMwZDE4cC00LAorICAgIC0weDEuMDAwNGE4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuOTIyN2I1MjQ0MzI2ZDliZWQ4N2JkZWIwMDkwOGFlYjdwLTEsCisgICAgMHgxLjAwMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS45MjI3YjUyNDQzMjZkOWJlZDg3YmRlYjAwOTA4YWViN3AtMSwKKyAgICAtMHgxLjAwMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjkyMmI3NmZmMjQ1ZTZkZTYzNDU1NTlkZGIyZmNmNTM2cC0xLAorICAgIDB4MS4wMDBiYzJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS45MjJiNzZmZjI0NWU2ZGU2MzQ1NTU5ZGRiMmZjZjUzNnAtMSwKKyAgICAtMHgxLjAwMGJjMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuOTIyYjgyZmU5NzAxYWVhZmZiNzNhMTQ0M2MwYzgzZDBwLTEsCisgICAgMHgxLjAwMGJjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLjkyMmI4MmZlOTcwMWFlYWZmYjczYTE0NDNjMGM4M2QwcC0xLAorICAgIC0weDEuMDAwYmNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS45MjNmYWY0NGQ4MTZkYWE1NGQ0MjVkODA0NWUyODg3ZHAtMSwKKyAgICAweDEuMDAxZmZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuOTIzZmFmNDRkODE2ZGFhNTRkNDI1ZDgwNDVlMjg4N2RwLTEsCisgICAgLTB4MS4wMDFmZmNwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmZlMjQ4NGZkMzFkM2NmMDk4MjE5YTJhZjFkOTg2ZWVkcC00LAorICAgIDB4MS4wMDY2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLmZlMjQ4NGZkMzFkM2NmMDk4MjE5YTJhZjFkOTg2ZWVkcC00LAorICAgIC0weDEuMDA2NnAtMworICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjkyOTM5YjAwM2IwNjliM2UyNzU5NTBhZjgwY2Q2M2ZjcC0xLAorICAgIDB4MS4wMDc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuOTI5MzliMDAzYjA2OWIzZTI3NTk1MGFmODBjZDYzZmNwLTEsCisgICAgLTB4MS4wMDc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4xYjlkM2IwMDIxNTllMjk0NWI1OTVkYWI2NDg4ZGU1YnAwLAorICAgIDB4MS4wMDc2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuMWI5ZDNiMDAyMTU5ZTI5NDViNTk1ZGFiNjQ4OGRlNWJwMCwKKyAgICAtMHgxLjAwNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLmRjMmM5ODAwOGQ1MzVjNTE3ZGQ5ZDM3MWM0NGE2MTUxcC0yLAorICAgIDB4MS4wMGUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLmRjMmM5ODAwOGQ1MzVjNTE3ZGQ5ZDM3MWM0NGE2MTUxcC0yLAorICAgIC0weDEuMDBlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjkzZDYzYmZjZTQ2N2VmMTI3NDViY2FmMTY0Yzk4OGNkcC0xLAorICAgIDB4MS4wMWI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuOTNkNjNiZmNlNDY3ZWYxMjc0NWJjYWYxNjRjOTg4Y2RwLTEsCisgICAgLTB4MS4wMWI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS45NDE2N2VmY2NiYzBmYTZkNDU3N2Y2OWY2MWUwMzFkMnAtMSwKKyAgICAweDEuMDFmOGJhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuOTQxNjdlZmNjYmMwZmE2ZDQ1NzdmNjlmNjFlMDMxZDJwLTEsCisgICAgLTB4MS4wMWY4YmFwMAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjk2NzI0MjhhYmFkNGNlZDNkMGE2ZTM0OWU5YmYyYjNlcC0xLAorICAgIDB4MS4wNDVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuOTY3MjQyOGFiYWQ0Y2VkM2QwYTZlMzQ5ZTliZjJiM2VwLTEsCisgICAgLTB4MS4wNDVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5mZThhYmVmZjBkODU3YWRlYTczNWUwN2NkYzI1ZjQ1Y3AtMywKKyAgICAweDEuMDRiMTk4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmZlOGFiZWZmMGQ4NTdhZGVhNzM1ZTA3Y2RjMjVmNDVjcC0zLAorICAgIC0weDEuMDRiMTk4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuZTNlZTk5MDAzNjMyYWNiZDYzMDE4ZGNkOTk4YjBhNjZwLTIsCisgICAgMHgxLjA1YmZiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5lM2VlOTkwMDM2MzJhY2JkNjMwMThkY2Q5OThiMGE2NnAtMiwKKyAgICAtMHgxLjA1YmZiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjk4MGRkOTQyYzU4OTMxY2NmYTg4YWE1NzE0ZDk1ODlicC0xLAorICAgIDB4MS4wNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjk4MGRkOTQyYzU4OTMxY2NmYTg4YWE1NzE0ZDk1ODlicC0xLAorICAgIC0weDEuMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmU0YzAwZjAwNDBmZDU1NTgxMzVkMjIxZmM5NWQ4NTVlcC0yLAorICAgIDB4MS4wNjQzZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuZTRjMDBmMDA0MGZkNTU1ODEzNWQyMjFmYzk1ZDg1NWVwLTIsCisgICAgLTB4MS4wNjQzZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5lNGU3MDUwMDQxZmVhNWU0NzRiYzQyYmIzZTk1OThlZHAtMiwKKyAgICAweDEuMDY1Yzc4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLmU0ZTcwNTAwNDFmZWE1ZTQ3NGJjNDJiYjNlOTU5OGVkcC0yLAorICAgIC0weDEuMDY1Yzc4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMDY3ZmU5MDAwNzY4OWQ0OGZiMzk3OTFjMGE4MDk3MjNwLTksCisgICAgMHgxLjA2ODBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMDY3ZmU5MDAwNzY4OWQ0OGZiMzk3OTFjMGE4MDk3MjNwLTksCisgICAgLTB4MS4wNjgwcC05CisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZTVmNjQ1MDA0MWYzMWQ3YTFiMWZmYzY2MjZlM2EzYTlwLTIsCisgICAgMHgxLjA3MDdjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5lNWY2NDUwMDQxZjMxZDdhMWIxZmZjNjYyNmUzYTNhOXAtMiwKKyAgICAtMHgxLjA3MDdjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjlhMDAwYTkzNWJkOGUyYjI4MjNiZTFiOTlkZTlhYTZkcC0xLAorICAgIDB4MS4wOHAwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLjlhMDAwYTkzNWJkOGUyYjI4MjNiZTFiOTlkZTlhYTZkcC0xLAorICAgIC0weDEuMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLmU3ZTA5NTAwM2M5NzJjNDdjN2I0ODRkMTE3NGVmOGYxcC0yLAorICAgIDB4MS4wODNkZjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuZTdlMDk1MDAzYzk3MmM0N2M3YjQ4NGQxMTc0ZWY4ZjFwLTIsCisgICAgLTB4MS4wODNkZjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS45Yjk1ZDIwMjdmM2I1MWM0MDhiYWRkMjMyNDQ3ZmNhN3AtMSwKKyAgICAweDEuMDlhNHAwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjliOTVkMjAyN2YzYjUxYzQwOGJhZGQyMzI0NDdmY2E3cC0xLAorICAgIC0weDEuMDlhNHAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuOWJmMjM0OWMyZmUxOTE1YjJiYTk1MWY0ZDkwYzIzNDZwLTEsCisgICAgMHgxLjBhMDRwMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS45YmYyMzQ5YzJmZTE5MTViMmJhOTUxZjRkOTBjMjM0NnAtMSwKKyAgICAtMHgxLjBhMDRwMAorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjljMGQyMDJlZTZjYWRiMzM2OGQwYmMzYmM2MTYyMGY3cC0xLAorICAgIDB4MS4wYTIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuOWMwZDIwMmVlNmNhZGIzMzY4ZDBiYzNiYzYxNjIwZjdwLTEsCisgICAgLTB4MS4wYTIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS45YzBlOWViZjllZTZmMzM5YjhkNGViM2UzNjU5YzcwZXAtMSwKKyAgICAweDEuMGEyMThlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuOWMwZTllYmY5ZWU2ZjMzOWI4ZDRlYjNlMzY1OWM3MGVwLTEsCisgICAgLTB4MS4wYTIxOGVwMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjlkMjUyZTY1OTI2NzYxOWJlZWY2OGU4NzczZGM2ZWMzcC0xLAorICAgIDB4MS4wYjQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuOWQyNTJlNjU5MjY3NjE5YmVlZjY4ZTg3NzNkYzZlYzNwLTEsCisgICAgLTB4MS4wYjQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS5lZTM5ZmIwMDA4MjFiMWE5YzAwMDg5ZTEzNWYwNjlkMnAtMiwKKyAgICAweDEuMGM0NjcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLmVlMzlmYjAwMDgyMWIxYTljMDAwODllMTM1ZjA2OWQycC0yLAorICAgIC0weDEuMGM0NjcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuZWZmMjg1MDM0YjNjYTM0NmZiZWQyZjk5NmExNTM0ZjFwLTIsCisgICAgMHgxLjBkNWY2ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS5lZmYyODUwMzRiM2NhMzQ2ZmJlZDJmOTk2YTE1MzRmMXAtMiwKKyAgICAtMHgxLjBkNWY2ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mMzM4MzcwMzRjMzcxNDFjNmVlNmM0YzIxNWViZTg3OXAtMiwKKyAgICAweDEuMGY3NzFlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS5mMzM4MzcwMzRjMzcxNDFjNmVlNmM0YzIxNWViZTg3OXAtMiwKKyAgICAtMHgxLjBmNzcxZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5hMTY5YWQ4NzI1YjNhYTU3ODMxZDVjZWE5Y2Y4NGE0NXAtMSwKKyAgICAweDEuMGZjM2FlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLmExNjlhZDg3MjViM2FhNTc4MzFkNWNlYTljZjg0YTQ1cC0xLAorICAgIC0weDEuMGZjM2FlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuYTE5OWE1MDEzYjY3YTM2NjgwMjRiNWZkYmE1MzdmZmJwLTEsCisgICAgMHgxLjBmZjZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS5hMTk5YTUwMTNiNjdhMzY2ODAyNGI1ZmRiYTUzN2ZmYnAtMSwKKyAgICAtMHgxLjBmZjZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmY5ZWYxMTAwMDFmYjMwOTlkYmMwMzJiYWZmOGE3YzljcC0yLAorICAgIDB4MS4xM2M4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS5mOWVmMTEwMDAxZmIzMDk5ZGJjMDMyYmFmZjhhN2M5Y3AtMiwKKyAgICAtMHgxLjEzYzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuZmIwNWYyZDA5YTRkYzZiMzFmOTFlYWVkMzY1MWFhMGZwLTIsCisgICAgMHgxLjE0N2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLmZiMDVmMmQwOWE0ZGM2YjMxZjkxZWFlZDM2NTFhYTBmcC0yLAorICAgIC0weDEuMTQ3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS4xNjYyMTBmZjFmMjc0MTliZDU2ZDdhZDU4YTUzMjIwM3AtNCwKKyAgICAweDEuMTZkMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuMTY2MjEwZmYxZjI3NDE5YmQ1NmQ3YWQ1OGE1MzIyMDNwLTQsCisgICAgLTB4MS4xNmQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmZmMTQ0NzllYTBkMDhiMzA1NjY3ZWExZTZiNzFlZmE5cC0yLAorICAgIDB4MS4xNzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS5mZjE0NDc5ZWEwZDA4YjMwNTY2N2VhMWU2YjcxZWZhOXAtMiwKKyAgICAtMHgxLjE3MWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuYWE2NTU5NDFjMmVkMjM3NTI5NjU5YjI2YTZkNDAzNjBwLTEsCisgICAgMHgxLjE5ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuYWE2NTU5NDFjMmVkMjM3NTI5NjU5YjI2YTZkNDAzNjBwLTEsCisgICAgLTB4MS4xOTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMWFjM2M5NTU5ODAyOTE0NDg3YTFhN2UxYjU2M2RjNDJwLTQsCisgICAgMHgxLjFiMzdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLjFhYzNjOTU1OTgwMjkxNDQ4N2ExYTdlMWI1NjNkYzQycC00LAorICAgIC0weDEuMWIzN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5hY2UzMWFmZDYzYzYxODc5MmQ3ZjAwNGE1ZjIwYmY1M3AtMSwKKyAgICAweDEuMWM0NDNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLmFjZTMxYWZkNjNjNjE4NzkyZDdmMDA0YTVmMjBiZjUzcC0xLAorICAgIC0weDEuMWM0NDNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuYWVmZDYzY2VlZWJhNTk2ZTFkMzc3ZWQ5NTAxZjlmMmRwLTEsCisgICAgMHgxLjFlYTBwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuYWVmZDYzY2VlZWJhNTk2ZTFkMzc3ZWQ5NTAxZjlmMmRwLTEsCisgICAgLTB4MS4xZWEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMzFlM2RkZmZmYmU5YzgxYzE3ODI3MGJjNzU5ODc1ZTlwLTMsCisgICAgMHgxLjM0MmY2Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuMzFlM2RkZmZmYmU5YzgxYzE3ODI3MGJjNzU5ODc1ZTlwLTMsCisgICAgLTB4MS4zNDJmNmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuMzBmNTg4ZmZmZWUxNDE3ODJmNjFkZTNiOTEzY2MzNDRwLTIsCisgICAgMHgxLjNhNGU4MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuMzBmNTg4ZmZmZWUxNDE3ODJmNjFkZTNiOTEzY2MzNDRwLTIsCisgICAgLTB4MS4zYTRlODJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuMjZjMzg0ZmU5NWQ1ZTI0YzljNjBhZGY5M2Y1MzExODJwLTEsCisgICAgMHgxLjRjNTBlOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMjZjMzg0ZmU5NWQ1ZTI0YzljNjBhZGY5M2Y1MzExODJwLTEsCisgICAgLTB4MS40YzUwZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZTQyODU2ZmZmZGFmMWUyNzBmNTAyYzcyYmZlMjcyYjBwLTEsCisgICAgMHgxLjYyYjE0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS5lNDI4NTZmZmZkYWYxZTI3MGY1MDJjNzJiZmUyNzJiMHAtMSwKKyAgICAtMHgxLjYyYjE0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjY3MDNmZWZlZDA2YjkxNGI5OWUzMTI0Y2EwYzJjYjU4cC0yLAorICAgIDB4MS43NjdjYWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLjY3MDNmZWZlZDA2YjkxNGI5OWUzMTI0Y2EwYzJjYjU4cC0yLAorICAgIC0weDEuNzY3Y2FhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjc1Y2IwNmZmZmZmZWJjMDliZTM3NDkzMjIzZDE0MzZhcC00LAorICAgIDB4MS43NmQ1OGVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLjc1Y2IwNmZmZmZmZWJjMDliZTM3NDkzMjIzZDE0MzZhcC00LAorICAgIC0weDEuNzZkNThlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjQzZmRkMWE2OTU5YWE5ODlmNTA1NzVjZjQ1NDU1ZDY0cC0xLAorICAgIDB4MS43NzgwZjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjQzZmRkMWE2OTU5YWE5ODlmNTA1NzVjZjQ1NDU1ZDY0cC0xLAorICAgIC0weDEuNzc4MGYycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLjQ4MWJiYTAyMTVmYjA0ZjY2MjUyZDViOGY0YTAyOTlhcC0xLAorICAgIDB4MS43ZGRmNjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjQ4MWJiYTAyMTVmYjA0ZjY2MjUyZDViOGY0YTAyOTlhcC0xLAorICAgIC0weDEuN2RkZjYycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLjZmOTQ2NTk1NTc4YmY3ZWRjYWRiYmU2ZTgxNjgzOGRhcC0yLAorICAgIDB4MS44MDM5ZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLjZmOTQ2NTk1NTc4YmY3ZWRjYWRiYmU2ZTgxNjgzOGRhcC0yLAorICAgIC0weDEuODAzOWY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjZmOWQyOTljYzUzMDg0ZmVhZWI0YTg5ZGQ1Mzg5ODRjcC0yLAorICAgIDB4MS44MDQzZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjZmOWQyOTljYzUzMDg0ZmVhZWI0YTg5ZGQ1Mzg5ODRjcC0yLAorICAgIC0weDEuODA0M2Y4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjZmYTQ2MTYzNDM4NTYyMWE3YjRhMWYzZjM5ZTY5ZTg4cC0yLAorICAgIDB4MS44MDRjMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLjZmYTQ2MTYzNDM4NTYyMWE3YjRhMWYzZjM5ZTY5ZTg4cC0yLAorICAgIC0weDEuODA0YzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjZmZWRiZTAzY2YwYjAwY2RiNjQ4ZjNmNTg4MjJmM2M4cC0yLAorICAgIDB4MS44MDlmZThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjZmZWRiZTAzY2YwYjAwY2RiNjQ4ZjNmNTg4MjJmM2M4cC0yLAorICAgIC0weDEuODA5ZmU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjczOGMyOTdhNzhlOGM2MDMwNDgwMTVmZGM4YmNmNGM5cC0yLAorICAgIDB4MS44NGMyNzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjczOGMyOTdhNzhlOGM2MDMwNDgwMTVmZGM4YmNmNGM5cC0yLAorICAgIC0weDEuODRjMjcwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLjk4ZjAzNDAwMDJjNjFiMWQzM2Y4ZDFlMmMxYWY1NTgxcC00LAorICAgIDB4MS45YTRkNmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLjk4ZjAzNDAwMDJjNjFiMWQzM2Y4ZDFlMmMxYWY1NTgxcC00LAorICAgIC0weDEuOWE0ZDZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjlmOGI0MzAwMDM4YjIzOWViNjNlN2JlODIyNTkxYjVmcC00LAorICAgIDB4MS5hMGY5YmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjlmOGI0MzAwMDM4YjIzOWViNjNlN2JlODIyNTkxYjVmcC00LAorICAgIC0weDEuYTBmOWJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmEwZmQ5ZDAwMDM5YTYwYmRkYmZkZGMxMGIwNWM1NmEzcC00LAorICAgIDB4MS5hMjZmZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmEwZmQ5ZDAwMDM5YTYwYmRkYmZkZGMxMGIwNWM1NmEzcC00LAorICAgIC0weDEuYTI2ZmYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLmE0NzI4OTAwNTU2ZmMyYjhhNWE1MzBlM2Q5OTliMWQ3cC00LAorICAgIDB4MS5hNWVlMmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmE0NzI4OTAwNTU2ZmMyYjhhNWE1MzBlM2Q5OTliMWQ3cC00LAorICAgIC0weDEuYTVlZTJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmE0NzI4YWZhZjUzN2I1NzM2OWRkMTYxMzY3M2YyNzU3cC00LAorICAgIDB4MS5hNWVlMmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLmE0NzI4YWZhZjUzN2I1NzM2OWRkMTYxMzY3M2YyNzU3cC00LAorICAgIC0weDEuYTVlZTJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjkxNWUxOWFhMDk4Y2JhNmVmMTc4NDExZWE0MTc0ZjY3cC0yLAorICAgIDB4MS5hNzQ0ZDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLjkxNWUxOWFhMDk4Y2JhNmVmMTc4NDExZWE0MTc0ZjY3cC0yLAorICAgIC0weDEuYTc0NGQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmE5NWQ1ZWZmZmZlZThkZmEyYTQ0YWY5MTJmZjVjNmJkcC00LAorICAgIDB4MS5hYWU2ODZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmE5NWQ1ZWZmZmZlZThkZmEyYTQ0YWY5MTJmZjVjNmJkcC00LAorICAgIC0weDEuYWFlNjg2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLmIwZjg5N2ZkZWE1NzY5ZWZiNDNiNzM0YzZmNWQzOGZkcC00LAorICAgIDB4MS5iMjk3NDhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmIwZjg5N2ZkZWE1NzY5ZWZiNDNiNzM0YzZmNWQzOGZkcC00LAorICAgIC0weDEuYjI5NzQ4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmI2ZmQ2OGZmZmJmMzM3ODRhOGUxMjk2MDZjNWEzZmQ0cC00LAorICAgIDB4MS5iOGFkYjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmI2ZmQ2OGZmZmJmMzM3ODRhOGUxMjk2MDZjNWEzZmQ0cC00LAorICAgIC0weDEuYjhhZGIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLmEyMDUzNDJjNDU3YWMzYTA1NmFiY2ZlNzUyN2E0NDUzcC0yLAorICAgIDB4MS5iYWU2OGVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmEyMDUzNDJjNDU3YWMzYTA1NmFiY2ZlNzUyN2E0NDUzcC0yLAorICAgIC0weDEuYmFlNjhlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLmE2NGVmZDA2MzM3MGI1ZTNhNzA4YjJhMzdkZGFiMjIzcC0yLAorICAgIDB4MS5jMDAwMTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmE2NGVmZDA2MzM3MGI1ZTNhNzA4YjJhMzdkZGFiMjIzcC0yLAorICAgIC0weDEuYzAwMDE0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLmFkMDBmMzk2ZGIwM2ZhYTdmOWQ3ZTMyMjFkNDU1MmFkcC0yLAorICAgIDB4MS5jN2ZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmFkMDBmMzk2ZGIwM2ZhYTdmOWQ3ZTMyMjFkNDU1MmFkcC0yLAorICAgIC0weDEuYzdmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjZlNmQ1ZDI3YmQwODE1NGE2MzQ5ZGQyZDlhMzExZTEwcDAsCisgICAgMHgxLmM3ZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS42ZTZkNWQyN2JkMDgxNTRhNjM0OWRkMmQ5YTMxMWUxMHAwLAorICAgIC0weDEuYzdmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuNzY5ODg1ZTQ4NGQwOTk5ZWYwN2EwYzdjYzBjZTczZjVwLTEsCisgICAgMHgxLmNiYjQ4NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuNzY5ODg1ZTQ4NGQwOTk5ZWYwN2EwYzdjYzBjZTczZjVwLTEsCisgICAgLTB4MS5jYmI0ODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuNzgwNWY1ZWQ1YTdkMzRjZjkyMjA0MzQ3MWM3NGVlY2ZwLTEsCisgICAgMHgxLmNlNGEzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuNzgwNWY1ZWQ1YTdkMzRjZjkyMjA0MzQ3MWM3NGVlY2ZwLTEsCisgICAgLTB4MS5jZTRhMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuYzg1YjJlYmRhMTNlNGY3ODFlYTY1ZTVhYTFiOGI5ZTFwLTMsCisgICAgMHgxLmQwMGZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuYzg1YjJlYmRhMTNlNGY3ODFlYTY1ZTVhYTFiOGI5ZTFwLTMsCisgICAgLTB4MS5kMDBmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuYzhkZjM3M2VlYmRiZDdkMjk4M2Q5YzA3NDY4N2IzYjFwLTMsCisgICAgMHgxLmQwOWFkMHAtMworICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuYzhkZjM3M2VlYmRiZDdkMjk4M2Q5YzA3NDY4N2IzYjFwLTMsCisgICAgLTB4MS5kMDlhZDBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuODEwOGY3MDAxYjdjZTlkMjZlYTJhNzcwYWNkNDEwNDRwMCwKKyAgICAweDEuZGVhYTM4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjgxMDhmNzAwMWI3Y2U5ZDI2ZWEyYTc3MGFjZDQxMDQ0cDAsCisgICAgLTB4MS5kZWFhMzhwMworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS44MmQ2YjY4N2Q4NjkyZTlhZWZjNjExYmU2YjFkNDRhOHAtMSwKKyAgICAweDEuZTI0ZWFlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS44MmQ2YjY4N2Q4NjkyZTlhZWZjNjExYmU2YjFkNDRhOHAtMSwKKyAgICAtMHgxLmUyNGVhZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS45MjFmYjUwMTFkMGJmZjAyZjUxMzIyYTA4ZjQzNTY4OXAwLAorICAgIDB4MS5lN2ZmZmVwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLjkyMWZiNTAxMWQwYmZmMDJmNTEzMjJhMDhmNDM1Njg5cDAsCisgICAgLTB4MS5lN2ZmZmVwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuODc1NWY3MjA0YjM1ZmVkZDY5MzA0YzAxNGJhOTE5M2FwLTEsCisgICAgMHgxLmVhZGRiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuODc1NWY3MjA0YjM1ZmVkZDY5MzA0YzAxNGJhOTE5M2FwLTEsCisgICAgLTB4MS5lYWRkYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuOTIxZmFjZmZmZTRkNTI1ODY5YWRmMzY0NTNhYzAwNDVwMCwKKyAgICAweDEuZWY3YmQwcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS45MjFmYWNmZmZlNGQ1MjU4NjlhZGYzNjQ1M2FjMDA0NXAwLAorICAgIC0weDEuZWY3YmQwcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLmYxNDA0MWZmZmM2ZjkzNzQyZmYxNTk0Mjc4MzkwN2VlcC00LAorICAgIDB4MS5mM2I1NTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmYxNDA0MWZmZmM2ZjkzNzQyZmYxNTk0Mjc4MzkwN2VlcC00LAorICAgIC0weDEuZjNiNTUycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmY0YmIwYWZlZDc1NTk0ODNlNTgwNWRkNDg3OTQ2NWJjcC02LAorICAgIDB4MS5mNGUyZjhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLmY0YmIwYWZlZDc1NTk0ODNlNTgwNWRkNDg3OTQ2NWJjcC02LAorICAgIC0weDEuZjRlMmY4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLmQ0NWFlYjAyYTA3Y2E0YjcxMWMyMTkzMzI5NDI1Yzc4cC0yLAorICAgIDB4MS5mN2ZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLmQ0NWFlYjAyYTA3Y2E0YjcxMWMyMTkzMzI5NDI1Yzc4cC0yLAorICAgIC0weDEuZjdmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLmQ1MzliY2ZmZDU4ODhkY2E3ZGVjZWJhOGEzZjJkMDQxcC0yLAorICAgIDB4MS5mOTE0ZThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmQ1MzliY2ZmZDU4ODhkY2E3ZGVjZWJhOGEzZjJkMDQxcC0yLAorICAgIC0weDEuZjkxNGU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjhlZTg0ZjE0NzhhMjViOWJmYWNkYWJiNDlmY2VhNmQ1cC0xLAorICAgIDB4MS5mOTliNzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjhlZTg0ZjE0NzhhMjViOWJmYWNkYWJiNDlmY2VhNmQ1cC0xLAorICAgIC0weDEuZjk5Yjc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLmZhZGJmMGZmNDg2YjE1ZTI2NGMwMmNhMzliOGU2ZTQ2cC02LAorICAgIDB4MS5mYjA1NWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZhZGJmMGZmNDg2YjE1ZTI2NGMwMmNhMzliOGU2ZTQ2cC02LAorICAgIC0weDEuZmIwNTVhcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjkwNDRkZjAzNGI4ZDk0MzMyN2JlZTVjNjMzYjNmMzFjcC0xLAorICAgIDB4MS5mYzRkYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLjkwNDRkZjAzNGI4ZDk0MzMyN2JlZTVjNjMzYjNmMzFjcC0xLAorICAgIC0weDEuZmM0ZGMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjkyMWY3NGZmZmEwM2U3MDFhY2NjOWQxZWUzYmQyZjQzcDAsCisgICAgMHgxLmZkZGZmZXAxNworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuOTIxZjc0ZmZmYTAzZTcwMWFjY2M5ZDFlZTNiZDJmNDNwMCwKKyAgICAtMHgxLmZkZGZmZXAxNworICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS45MWFmOWJjMDQwMGUwZTIxZmI0NDY5MmE0MTgyOWM1ZHAtMSwKKyAgICAweDEuZmYxZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS45MWFmOWJjMDQwMGUwZTIxZmI0NDY5MmE0MTgyOWM1ZHAtMSwKKyAgICAtMHgxLmZmMWZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS45MWJmYTI0MWEyYmYxYzhmMzNlN2FlZTNhMzgzNjJmYXAtMSwKKyAgICAweDEuZmYzZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS45MWJmYTI0MWEyYmYxYzhmMzNlN2FlZTNhMzgzNjJmYXAtMSwKKyAgICAtMHgxLmZmM2ZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5mNTAyYTUwMDA4ZGNmYTNkMTI1MmU4MjU2Mjk3YWExNnAtMywKKyAgICAweDEuZmYzZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5mNTAyYTUwMDA4ZGNmYTNkMTI1MmU4MjU2Mjk3YWExNnAtMywKKyAgICAtMHgxLmZmM2ZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS4xYjZjNjU4ZjU3ZDFlNDQzNWM5NDY1MzBlN2QwNDE1Y3AwLAorICAgIDB4MS5mZmY3N2VwMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuMWI2YzY1OGY1N2QxZTQ0MzVjOTQ2NTMwZTdkMDQxNWNwMCwKKyAgICAtMHgxLmZmZjc3ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLmY1YjBhOGZhYzhlZTNiMmEwOTk3NTUyMTgzYmJhZjg2cC0zLAorICAgIDB4MS5mZmY4ZGVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLmY1YjBhOGZhYzhlZTNiMmEwOTk3NTUyMTgzYmJhZjg2cC0zLAorICAgIC0weDEuZmZmOGRlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLmY1YjBjOGZhZDYzYjU2NWVkYWE0MjA1YjU3ODdkMjM0cC0zLAorICAgIDB4MS5mZmY5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5mNWIwYzhmYWQ2M2I1NjVlZGFhNDIwNWI1Nzg3ZDIzNHAtMywKKyAgICAtMHgxLmZmZjlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuZmZkMDQ4ZmY0MmZmMDIyNzAxNTQ2MThjYWM3NjhmOThwLTYsCisgICAgMHgxLmZmZmFlY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuZmZkMDQ4ZmY0MmZmMDIyNzAxNTQ2MThjYWM3NjhmOThwLTYsCisgICAgLTB4MS5mZmZhZWNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuOTIxZGU1NDI5ZTUwODY1YzM0Mzg2YTI0N2RjNGVlNGVwLTEsCisgICAgMHgxLmZmZmM2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuOTIxZGU1NDI5ZTUwODY1YzM0Mzg2YTI0N2RjNGVlNGVwLTEsCisgICAgLTB4MS5mZmZjNjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuOTIxZjg0NDQzZTIxMDQxY2YxNjIxYTZkMmU5MGEzY2FwLTEsCisgICAgMHgxLmZmZmY5ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIC0weDEuOTIxZjg0NDQzZTIxMDQxY2YxNjIxYTZkMmU5MGEzY2FwLTEsCisgICAgLTB4MS5mZmZmOWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuMWI2ZTBkOTUyMTNkOGU1ZThhY2FjZjZlZTNiNWRkYTFwMCwKKyAgICAweDEuZmZmZmM2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLjFiNmUwZDk1MjEzZDhlNWU4YWNhY2Y2ZWUzYjVkZGExcDAsCisgICAgLTB4MS5mZmZmYzZwMAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS41MzY4YzU1MWU5OGZjOWEwNDM2ZmY2YWVkNWE0M2JmZXAwLAorICAgIDB4MS5mZmZmZGVwMQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuNTM2OGM1NTFlOThmYzlhMDQzNmZmNmFlZDVhNDNiZmVwMCwKKyAgICAtMHgxLmZmZmZkZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLjFiNmUxNTk1MjIzMGMxYTc2ZTM2NDQxNDMyN2FlMjUwcDAsCisgICAgMHgxLmZmZmZlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS4xYjZlMTU5NTIyMzBjMWE3NmUzNjQ0MTQzMjdhZTI1MHAwLAorICAgIC0weDEuZmZmZmVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuOTIxZmIxNDQ0MmM5ODQ2OTdlZTIxYTZjNTcwZGMyMmFwLTEsCisgICAgMHgxLmZmZmZmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuOTIxZmIxNDQ0MmM5ODQ2OTdlZTIxYTZjNTcwZGMyMmFwLTEsCisgICAgLTB4MS5mZmZmZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLjk5OTk5OWE4OWU2MGQwNTEyZDZiMGIzOWJkMmE1NjVhcC0xMywKKyAgICAweDEuOTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEuOTk5OTk5YTg5ZTYwZDA1MTJkNmIwYjM5YmQyYTU2NWFwLTEzLAorICAgIC0weDEuOTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS45OTk5OThhMjc5ODRkM2ViZWIxYzMyOTBjYzJjNWNhYXAtMTIsCisgICAgMHgxLjk5OTk5YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLjk5OTk5OGEyNzk4NGQzZWJlYjFjMzI5MGNjMmM1Y2FhcC0xMiwKKyAgICAtMHgxLjk5OTk5YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuMzMzMzMxYjIyZDExYjBjY2IyYmI3YmE2ZjYzYjRkM2NwLTExLAorICAgIDB4MS4zMzMzMzRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS4zMzMzMzFiMjJkMTFiMGNjYjJiYjdiYTZmNjNiNGQzY3AtMTEsCisgICAgLTB4MS4zMzMzMzRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLjk5OTk5NDg5ZTYyYzdhMjI1NmUwNWM0OTg4MGQyM2Q5cC0xMSwKKyAgICAweDEuOTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0weDEuOTk5OTk0ODllNjJjN2EyMjU2ZTA1YzQ5ODgwZDIzZDlwLTExLAorICAgIC0weDEuOTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5mZmZmZjU1NTU1YmJiYmI3Mjk3MmQwMGNmZGU3NTJmOXAtMTEsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAtMHgxLmZmZmZmNTU1NTViYmJiYjcyOTcyZDAwY2ZkZTc1MmY5cC0xMSwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuMzMzMzJhYzhiNGE2NTA1YWFkMWE1NTM5MjAyZGY0ZjRwLTEwLAorICAgIDB4MS4zMzMzMzRwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgLTB4MS4zMzMzMmFjOGI0YTY1MDVhYWQxYTU1MzkyMDJkZjRmNHAtMTAsCisgICAgLTB4MS4zMzMzMzRwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjY2NjY1OTVkODc1ZDZmNTg3ZTRkODc4YTdiNDkyZjQ3cC0xMCwKKyAgICAweDEuNjY2NjY4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuNjY2NjU5NWQ4NzVkNmY1ODdlNGQ4NzhhN2I0OTJmNDdwLTEwLAorICAgIC0weDEuNjY2NjY4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS45OTk5ODYyNzk5ZjJhNDEwNGJhOGM0MTE4NjNlNzFmN3AtMTAsCisgICAgMHgxLjk5OTk5Y3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAtMHgxLjk5OTk4NjI3OTlmMmE0MTA0YmE4YzQxMTg2M2U3MWY3cC0xMCwKKyAgICAtMHgxLjk5OTk5Y3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuY2NjY2FjZTU2NDMyNzZlY2Q4ZmZhZTU0YjI4Yjg3ZmZwLTEwLAorICAgIDB4MS5jY2NjY2NwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgLTB4MS5jY2NjYWNlNTY0MzI3NmVjZDhmZmFlNTRiMjhiODdmZnAtMTAsCisgICAgLTB4MS5jY2NjY2NwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjA2NjRmNjZmN2NmZDQ4MmNmMGZmNDU4MmJiZWVmNDc4cC03LAorICAgIDB4MS4wNjY2NjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLjA2NjRmNjZmN2NmZDQ4MmNmMGZmNDU4MmJiZWVmNDc4cC03LAorICAgIC0weDEuMDY2NjY2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLmNjYzUwNTk0OGZlN2EzYjhlMDgzNzQ0NWMyMTM2ODk3cC03LAorICAgIDB4MS5jY2NjY2NwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLmNjYzUwNTk0OGZlN2EzYjhlMDgzNzQ0NWMyMTM2ODk3cC03LAorICAgIC0weDEuY2NjY2NjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjQ5OGUzNmM0ZjM4NWQ1YWYzYjZiNjQ4MGE4ZWJmZTE0cC02LAorICAgIDB4MS40OTk5OThwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAtMHgxLjQ5OGUzNmM0ZjM4NWQ1YWYzYjZiNjQ4MGE4ZWJmZTE0cC02LAorICAgIC0weDEuNDk5OTk4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLmFjYjNiZTViZTAxMzkzMDIwNTMzNWU5MWYyMzBlYzhicC02LAorICAgIDB4MS5hY2NjY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLmFjYjNiZTViZTAxMzkzMDIwNTMzNWU5MWYyMzBlYzhicC02LAorICAgIC0weDEuYWNjY2NjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjA3ZTg5ZTNhYmVlN2RmNWJjMjJiODgzODU2ZTVkODAycC01LAorICAgIDB4MS4wOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuMDdlODllM2FiZWU3ZGY1YmMyMmI4ODM4NTZlNWQ4MDJwLTUsCisgICAgLTB4MS4wOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS4zOTcyNmI2ZmFiMDU5YjY2ZGQ3NDBhZTgzZmI1NjViN3AtNSwKKyAgICAweDEuMzk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgLTB4MS4zOTcyNmI2ZmFiMDU5YjY2ZGQ3NDBhZTgzZmI1NjViN3AtNSwKKyAgICAtMHgxLjM5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS42YWY2NWE0MTkwODAzOWMyNjc2NzRmMzU2Zjk5N2Q0ZHAtNSwKKyAgICAweDEuNmIzMzM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLTB4MS42YWY2NWE0MTkwODAzOWMyNjc2NzRmMzU2Zjk5N2Q0ZHAtNSwKKyAgICAtMHgxLjZiMzMzNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS45YzczN2VjZGI5MGE3YzRmOWQ4NjgyYmMyODE1NjM1YnAtNSwKKyAgICAweDEuOWNjY2NlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgLTB4MS45YzczN2VjZGI5MGE3YzRmOWQ4NjgyYmMyODE1NjM1YnAtNSwKKyAgICAtMHgxLjljY2NjZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS5jZGU4ZWJmNWEzM2EyNjljNTUyOWM1M2U4NTNjZTQ5MnAtNSwKKyAgICAweDEuY2U2NjY2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5jZGU4ZWJmNWEzM2EyNjljNTUyOWM1M2U4NTNjZTQ5MnAtNSwKKyAgICAtMHgxLmNlNjY2NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS4zMzU5YmNjMzJlNThjNmRlMjAzZjhiNmMxOWZhNWZmOXAtMSwKKyAgICAweDEuNWU3ZmM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgLTB4MS4zMzU5YmNjMzJlNThjNmRlMjAzZjhiNmMxOWZhNWZmOXAtMSwKKyAgICAtMHgxLjVlN2ZjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS5kNWNhNzA1ZDA5YmVlZWM1NThhNWI4ZGIyZDY1NzE5MnAtMSwKKyAgICAweDEuNGU3ZmM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLmQ1Y2E3MDVkMDliZWVlYzU1OGE1YjhkYjJkNjU3MTkycC0xLAorICAgIC0weDEuNGU3ZmM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuMTdhYzQ0MGQ4ZmViZWI3YTFkMTlhNWFlOGZhYTdkN2VwMCwKKyAgICAweDEuZWRiZmE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAtMHgxLjE3YWM0NDBkOGZlYmViN2ExZDE5YTVhZThmYWE3ZDdlcDAsCisgICAgLTB4MS5lZGJmYTZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS4zMjc5ZTg0NzAzZmM5YzhmNzAyYTY3ODY5MzEwMmM0N3AwLAorICAgIDB4MS40NjdmYzRwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuMzI3OWU4NDcwM2ZjOWM4ZjcwMmE2Nzg2OTMxMDJjNDdwMCwKKyAgICAtMHgxLjQ2N2ZjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjQzZjY0NDY3YTU3ODEyNzE1ODJjZTYxY2NjNmIwMTk5cDAsCisgICAgMHgxLjk2MWZiNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS40M2Y2NDQ2N2E1NzgxMjcxNTgyY2U2MWNjYzZiMDE5OXAwLAorICAgIC0weDEuOTYxZmI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuNTAyYTFjZjA4MmMxOTlmODU4OTJiMTc2M2VmYTZjNjFwMCwKKyAgICAweDEuZTViZmE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAtMHgxLjUwMmExY2YwODJjMTk5Zjg1ODkyYjE3NjNlZmE2YzYxcDAsCisgICAgLTB4MS5lNWJmYTRwMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS41OTIwNjY1NjNkNjEzNzhjNjVhOGVmN2QwOTFiZGM5NXAwLAorICAgIDB4MS4xYWFmY2FwMgorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIC0weDEuNTkyMDY2NTYzZDYxMzc4YzY1YThlZjdkMDkxYmRjOTVwMCwKKyAgICAtMHgxLjFhYWZjYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjVmZjhlMjFmNzEyZjllZTQ0MjRiYmM3MTFlMWVmNmYzcDAsCisgICAgMHgxLjQyN2ZjMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS41ZmY4ZTIxZjcxMmY5ZWU0NDI0YmJjNzExZTFlZjZmM3AwLAorICAgIC0weDEuNDI3ZmMycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuNjU1ZDY0ZjM3N2M5ZTU4ZTcyN2Y0NjAxMzNlZDk3YTNwMCwKKyAgICAweDEuNmE0ZmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAtMHgxLjY1NWQ2NGYzNzdjOWU1OGU3MjdmNDYwMTMzZWQ5N2EzcDAsCisgICAgLTB4MS42YTRmYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS42NTcxMWQ2ZGQ3Y2E4Nzg0ODFmY2IyZWM0ZjlmOTM0MXAwLAorICAgIDB4MS42YWYyZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIC0weDEuNjU3MTFkNmRkN2NhODc4NDgxZmNiMmVjNGY5ZjkzNDFwMCwKKyAgICAtMHgxLjZhZjJmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjYwMmEyYTkyYmIzNzc4NDg5YmJjMTY1YTdkMjVmYjY4cDAsCisgICAgMHgxLjQzYzYyYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS42MDJhMmE5MmJiMzc3ODQ4OWJiYzE2NWE3ZDI1ZmI2OHAwLAorICAgIC0weDEuNDNjNjJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuNTk3ZjQ2YTE5ZjA2ZDUzYmYxZGY0MmJmYWVkYzVjNGRwMCwKKyAgICAweDEuMWM5OTY0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAtMHgxLjU5N2Y0NmExOWYwNmQ1M2JmMWRmNDJiZmFlZGM1YzRkcDAsCisgICAgLTB4MS4xYzk5NjRwMgorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS41MGQyMDFkNGQ4MTg4YmM5NTBjZTIzOWNkNDk5MWJiOXAwLAorICAgIDB4MS5lYWQ5M2NwMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuNTBkMjAxZDRkODE4OGJjOTUwY2UyMzljZDQ5OTFiYjlwMCwKKyAgICAtMHgxLmVhZDkzY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjQ1MTkwYjE2MzcxOWM4MjgzMDdkNmEzZDBjZjBiNTRjcDAsCisgICAgMHgxLjljN2ZiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgLTB4MS40NTE5MGIxNjM3MTljODI4MzA3ZDZhM2QwY2YwYjU0Y3AwLAorICAgIC0weDEuOWM3ZmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMzQ3OTRiYjg0ZDJiYWEwMjk1M2EwYTcyYjcxN2YwZWJwMCwKKyAgICAweDEuNGUyNjI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAtMHgxLjM0Nzk0YmI4NGQyYmFhMDI5NTNhMGE3MmI3MTdmMGVicDAsCisgICAgLTB4MS40ZTI2MjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS4xYjU5ODY0NzI0YTEwZWZhYzg1OTdlNzc0NjFiYzNmMXAwLAorICAgIDB4MS5mZjk5MzJwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIC0weDEuMWI1OTg2NDcyNGExMGVmYWM4NTk3ZTc3NDYxYmMzZjFwMCwKKyAgICAtMHgxLmZmOTkzMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLmU0NGM4OTA4NmQxYWVjYWMxY2JlMmIzOTQxYzY3YTBmcC0xLAorICAgIDB4MS42MmU2MWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIC0weDEuZTQ0Yzg5MDg2ZDFhZWNhYzFjYmUyYjM5NDFjNjdhMGZwLTEsCisgICAgLTB4MS42MmU2MWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS41MTUwZjI4YWVlN2FhODE5Y2I0NzViNGE4NWFlNzU2OXAtMSwKKyAgICAweDEuOGM2NjJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgLTB4MS41MTUwZjI4YWVlN2FhODE5Y2I0NzViNGE4NWFlNzU2OXAtMSwKKyAgICAtMHgxLjhjNjYyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuMDczZWExMTM2OGY3YTQ3OTcyYzdhOTBmYzc3ZTNjMzNwMCwKKyAgICAtMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLjA3M2VhMTEzNjhmN2E0Nzk3MmM3YTkwZmM3N2UzYzMzcDAsCisgICAgMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS4wMjE1NDhlNzFiYjM0NTdkNjQ4YzE5MjRkZTRmNWQ2NXAwLAorICAgIC0weDEuOTVlYzhhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuMDIxNTQ4ZTcxYmIzNDU3ZDY0OGMxOTI0ZGU0ZjVkNjVwMCwKKyAgICAweDEuOTVlYzhhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLmY5MjM2NGNhMWZhMmRhYmM2M2JhN2Y2ZThhNjhkM2Y2cC0xLAorICAgIC0weDEuODMyZWY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuZjkyMzY0Y2ExZmEyZGFiYzYzYmE3ZjZlOGE2OGQzZjZwLTEsCisgICAgMHgxLjgzMmVmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5lZDU3N2VhNzUxN2MyOGNiYzg5MWMwMTg0MzhkYWMxMXAtMSwKKyAgICAtMHgxLjcwNzE2NnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLmVkNTc3ZWE3NTE3YzI4Y2JjODkxYzAxODQzOGRhYzExcC0xLAorICAgIDB4MS43MDcxNjZwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIC0weDEuZTBiNTIyNmVmMzZkNjdlMDA1YTBlYjljZmRiOWI1MWFwLTEsCisgICAgLTB4MS41ZGIzZDRwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5lMGI1MjI2ZWYzNmQ2N2UwMDVhMGViOWNmZGI5YjUxYXAtMSwKKyAgICAweDEuNWRiM2Q0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLmQzMjkwNDI3ZjFkMTdlMzBhNjk5M2ZiZTk2Y2MxZmRmcC0xLAorICAgIC0weDEuNGFmNjQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuZDMyOTA0MjdmMWQxN2UzMGE2OTkzZmJlOTZjYzFmZGZwLTEsCisgICAgMHgxLjRhZjY0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS5jNDllNDUwNWNmZjdlOWY1OGJlOWM2MGVmMDhiNzk0ZHAtMSwKKyAgICAtMHgxLjM4MzhiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmM0OWU0NTA1Y2ZmN2U5ZjU4YmU5YzYwZWYwOGI3OTRkcC0xLAorICAgIDB4MS4zODM4YjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0weDEuYjRmZTgwMDE5YTE5MGNlYjM5YzdjY2UyZjA4NDcwODJwLTEsCisgICAgLTB4MS4yNTdiMWVwMAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS5iNGZlODAwMTlhMTkwY2ViMzljN2NjZTJmMDg0NzA4MnAtMSwKKyAgICAweDEuMjU3YjFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLmE0MzFmNDFlMjIxZWUyOTkzZTI4NDgxZjM0ZjdjODIycC0xLAorICAgIC0weDEuMTJiZDkycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuYTQzMWY0MWUyMjFlZTI5OTNlMjg0ODFmMzRmN2M4MjJwLTEsCisgICAgMHgxLjEyYmQ5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS44NzEyNzg3MzM5ZGMxYmIyOGFhY2RiYjc1ZDBlZGE0OXAtMSwKKyAgICAtMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS44NzEyNzg3MzM5ZGMxYmIyOGFhY2RiYjc1ZDBlZGE0OXAtMSwKKyAgICAweDEuZWE1YzNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS43YjhiM2FmOGI5Mjc4ZGQ1YzgwYmY0ZjM4NmRjNTUwM3AtMSwKKyAgICAtMHgxLmQ0Yjg3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS43YjhiM2FmOGI5Mjc4ZGQ1YzgwYmY0ZjM4NmRjNTUwM3AtMSwKKyAgICAweDEuZDRiODdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgLTB4MS42Zjg1MWQ2YTRmNDAzYTcxZWY4NzRkY2M5ZWQ5ZDU5YXAtMSwKKyAgICAtMHgxLmJmMTRiYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS42Zjg1MWQ2YTRmNDAzYTcxZWY4NzRkY2M5ZWQ5ZDU5YXAtMSwKKyAgICAweDEuYmYxNGJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS42MmZiNjI1NDM3YWYyMmVjMzRjZTk2YjE3YzVhYzllY3AtMSwKKyAgICAtMHgxLmE5NzBmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS42MmZiNjI1NDM3YWYyMmVjMzRjZTk2YjE3YzVhYzllY3AtMSwKKyAgICAweDEuYTk3MGY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgLTB4MS41NWU5ODQyMWVlOTQ2NWI5MjJkMTllNzgwMDRiOWU5NnAtMSwKKyAgICAtMHgxLjkzY2QzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS41NWU5ODQyMWVlOTQ2NWI5MjJkMTllNzgwMDRiOWU5NnAtMSwKKyAgICAweDEuOTNjZDM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgLTB4MS40ODRiNGVkYWY4ODcxODQ2MjYxYTc2YmQzM2Q5ZjA0OXAtMSwKKyAgICAtMHgxLjdlMjk3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS40ODRiNGVkYWY4ODcxODQ2MjYxYTc2YmQzM2Q5ZjA0OXAtMSwKKyAgICAweDEuN2UyOTc0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS4zYTFjZmRlMWU1OTA0NzFhYzJmZjVlZWZlNzQ1YTI0OXAtMSwKKyAgICAtMHgxLjY4ODViMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS4zYTFjZmRlMWU1OTA0NzFhYzJmZjVlZWZlNzQ1YTI0OXAtMSwKKyAgICAweDEuNjg4NWIycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgLTB4MS4yYjViNWRiZTg0Njc5MzBkZjI0YmU2YjkwNDZkZGZhZXAtMSwKKyAgICAtMHgxLjUyZTFmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS4yYjViNWRiZTg0Njc5MzBkZjI0YmU2YjkwNDZkZGZhZXAtMSwKKyAgICAweDEuNTJlMWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgLTB4MS4xYzAzZjc5MDAxMzFjN2NiM2ZiZmJiNWU2YzUxMTVlYXAtMSwKKyAgICAtMHgxLjNkM2UzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS4xYzAzZjc5MDAxMzFjN2NiM2ZiZmJiNWU2YzUxMTVlYXAtMSwKKyAgICAweDEuM2QzZTM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS5lYWI3YjI2Zjk1NTc1MmU3OGMwNjJjYjYwODcwNjRkOXAtMiwKKyAgICAtMHgxLjBhMGIwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5lYWI3YjI2Zjk1NTc1MmU3OGMwNjJjYjYwODcwNjRkOXAtMiwKKyAgICAweDEuMGEwYjAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS5iYjEyZjJkNjVkZjEzZmYzNmI3NGUxMjA2NjAyMjIzNnAtMiwKKyAgICAtMHgxLmQ4ZjcyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5iYjEyZjJkNjVkZjEzZmYzNmI3NGUxMjA2NjAyMjIzNnAtMiwKKyAgICAweDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgLTB4MS44OTRhZTA1ZmVmZTZlZTExNjRjM2U3NjliMmIxYTg0ZXAtMiwKKyAgICAtMHgxLjlkZDgzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS44OTRhZTA1ZmVmZTZlZTExNjRjM2U3NjliMmIxYTg0ZXAtMiwKKyAgICAweDEuOWRkODNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS41NTc5ZmQ2NDRhMWEyZDk2ZmFmNWJiODg0NDY1NmQwY3AtMiwKKyAgICAtMHgxLjYyYjk1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS41NTc5ZmQ2NDRhMWEyZDk2ZmFmNWJiODg0NDY1NmQwY3AtMiwKKyAgICAweDEuNjJiOTU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTB4MS4xZmM3OWNhOWNhOTI4MjNkMDEzNzUzMjhhYzQ3MmVlZHAtMiwKKyAgICAtMHgxLjI3OWE3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS4xZmM3OWNhOWNhOTI4MjNkMDEzNzUzMjhhYzQ3MmVlZHAtMiwKKyAgICAweDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS5kMGQwZjdkODYxYzc1M2MzMWZhMjllNzQxNDVkYzEyN3AtMywKKyAgICAtMHgxLmQ4ZjcyMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIDB4MS5kMGQwZjdkODYxYzc1M2MzMWZhMjllNzQxNDVkYzEyN3AtMywKKyAgICAweDEuZDhmNzIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS41ZjNkNDBmNTAwNTAxZjgwYmJhN2E3ODFiMTYxOWI4NXAtMywKKyAgICAtMHgxLjYyYjk1OHAtMworICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS41ZjNkNDBmNTAwNTAxZjgwYmJhN2E3ODFiMTYxOWI4NXAtMywKKyAgICAweDEuNjJiOTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgLTB4MS5kNmUxNDI5MTU5ZjZmMDI5MGNmOWYyZmIyNGJjMjZiZHAtNCwKKyAgICAtMHgxLmQ4ZjcyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5kNmUxNDI5MTU5ZjZmMDI5MGNmOWYyZmIyNGJjMjZiZHAtNCwKKyAgICAweDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5kODcwZGM2ZjBjMWIzZGE2NmZiMjgyZWI3OGM0NzEzNHAtNSwKKyAgICAtMHgxLmQ4ZjcyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS5kODcwZGM2ZjBjMWIzZGE2NmZiMjgyZWI3OGM0NzEzNHAtNSwKKyAgICAweDEuZDhmNzIwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgMHgxLmQ4NzBkYzZmMGMxYjNkYTY2ZmIyODJlYjc4YzQ3MTM0cC01LAorICAgIDB4MS5kOGY3MjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAtMHgxLmQ4NzBkYzZmMGMxYjNkYTY2ZmIyODJlYjc4YzQ3MTM0cC01LAorICAgIC0weDEuZDhmNzIwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLmQ2ZTE0MjkxNTlmNmYwMjkwY2Y5ZjJmYjI0YmMyNmJkcC00LAorICAgIDB4MS5kOGY3MjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLmQ2ZTE0MjkxNTlmNmYwMjkwY2Y5ZjJmYjI0YmMyNmJkcC00LAorICAgIC0weDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgMHgxLjVmM2Q0MGY1MDA1MDFmODBiYmE3YTc4MWIxNjE5Yjg1cC0zLAorICAgIDB4MS42MmI5NThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAtMHgxLjVmM2Q0MGY1MDA1MDFmODBiYmE3YTc4MWIxNjE5Yjg1cC0zLAorICAgIC0weDEuNjJiOTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLmQwZDBmN2Q4NjFjNzUzYzMxZmEyOWU3NDE0NWRjMTI3cC0zLAorICAgIDB4MS5kOGY3MjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAtMHgxLmQwZDBmN2Q4NjFjNzUzYzMxZmEyOWU3NDE0NWRjMTI3cC0zLAorICAgIC0weDEuZDhmNzIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLjFmYzc5Y2E5Y2E5MjgyM2QwMTM3NTMyOGFjNDcyZWVkcC0yLAorICAgIDB4MS4yNzlhNzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAtMHgxLjFmYzc5Y2E5Y2E5MjgyM2QwMTM3NTMyOGFjNDcyZWVkcC0yLAorICAgIC0weDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMHgxLjU1NzlmZDY0NGExYTJkOTZmYWY1YmI4ODQ0NjU2ZDBjcC0yLAorICAgIDB4MS42MmI5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAtMHgxLjU1NzlmZDY0NGExYTJkOTZmYWY1YmI4ODQ0NjU2ZDBjcC0yLAorICAgIC0weDEuNjJiOTU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgMHgxLjg5NGFlMDVmZWZlNmVlMTE2NGMzZTc2OWIyYjFhODRlcC0yLAorICAgIDB4MS45ZGQ4M2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAtMHgxLjg5NGFlMDVmZWZlNmVlMTE2NGMzZTc2OWIyYjFhODRlcC0yLAorICAgIC0weDEuOWRkODNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmJiMTJmMmQ2NWRmMTNmZjM2Yjc0ZTEyMDY2MDIyMjM2cC0yLAorICAgIDB4MS5kOGY3MjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAtMHgxLmJiMTJmMmQ2NWRmMTNmZjM2Yjc0ZTEyMDY2MDIyMjM2cC0yLAorICAgIC0weDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgMHgxLmVhYjdiMjZmOTU1NzUyZTc4YzA2MmNiNjA4NzA2NGQ5cC0yLAorICAgIDB4MS4wYTBiMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAtMHgxLmVhYjdiMjZmOTU1NzUyZTc4YzA2MmNiNjA4NzA2NGQ5cC0yLAorICAgIC0weDEuMGEwYjAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgMHgxLjFjMDNmNzkwMDEzMWM3Y2IzZmJmYmI1ZTZjNTExNWVhcC0xLAorICAgIDB4MS4zZDNlMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAtMHgxLjFjMDNmNzkwMDEzMWM3Y2IzZmJmYmI1ZTZjNTExNWVhcC0xLAorICAgIC0weDEuM2QzZTM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgMHgxLjJiNWI2MzRlYTIwYmRjODZlZTJhMDA1OTE2ZTY0NDBhcC0xLAorICAgIDB4MS41MmUxZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAtMHgxLjJiNWI2MzRlYTIwYmRjODZlZTJhMDA1OTE2ZTY0NDBhcC0xLAorICAgIC0weDEuNTJlMWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgMHgxLjNhMWQwMzNiMGI4YWY5OWJhMzExYTViMmI2MTkyM2ZkcC0xLAorICAgIDB4MS42ODg1YmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAtMHgxLjNhMWQwMzNiMGI4YWY5OWJhMzExYTViMmI2MTkyM2ZkcC0xLAorICAgIC0weDEuNjg4NWJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLjQ4NGI1M2ZlMzY3MDA5NWE4ZGU1ODBiZDM3YjA5ODM0cC0xLAorICAgIDB4MS43ZTI5N2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAtMHgxLjQ4NGI1M2ZlMzY3MDA5NWE4ZGU1ODBiZDM3YjA5ODM0cC0xLAorICAgIC0weDEuN2UyOTdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjU1ZTk4OTEwOTA2N2QwNGZiNDdmMzg4MzExMTIyODRlcC0xLAorICAgIDB4MS45M2NkM2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAtMHgxLjU1ZTk4OTEwOTA2N2QwNGZiNDdmMzg4MzExMTIyODRlcC0xLAorICAgIC0weDEuOTNjZDNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjYyZmI2NzBmYjg5M2NmMTkxZDM4YWIyZjEwNjdiMmRlcC0xLAorICAgIDB4MS5hOTcxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgLTB4MS42MmZiNjcwZmI4OTNjZjE5MWQzOGFiMmYxMDY3YjJkZXAtMSwKKyAgICAtMHgxLmE5NzFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAweDEuNmY4NTIxZjQ0ZGM4MTU0MjBmYTYxMmVkYjY0Y2JkZTZwLTEsCisgICAgMHgxLmJmMTRjMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIC0weDEuNmY4NTIxZjQ0ZGM4MTU0MjBmYTYxMmVkYjY0Y2JkZTZwLTEsCisgICAgLTB4MS5iZjE0YzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAweDEuN2I4YjNmNTJlZDEwMDRlN2IyZmRlMjY5NjRmMWNlNzJwLTEsCisgICAgMHgxLmQ0Yjg4NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIC0weDEuN2I4YjNmNTJlZDEwMDRlN2IyZmRlMjY5NjRmMWNlNzJwLTEsCisgICAgLTB4MS5kNGI4ODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuODcxMjc4NzMzOWRjMWJiMjhhYWNkYmI3NWQwZWRhNDlwLTEsCisgICAgMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIC0weDEuODcxMjc4NzMzOWRjMWJiMjhhYWNkYmI3NWQwZWRhNDlwLTEsCisgICAgLTB4MS5lYTVjM2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuYTQzMWY0MWUyMjFlZTI5OTNlMjg0ODFmMzRmN2M4MjJwLTEsCisgICAgMHgxLjEyYmQ5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgLTB4MS5hNDMxZjQxZTIyMWVlMjk5M2UyODQ4MWYzNGY3YzgyMnAtMSwKKyAgICAtMHgxLjEyYmQ5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLmI0ZmU4NTMxMDZjMWVlOWVkOTIwNjFhODZhYmVhOGZicC0xLAorICAgIDB4MS4yNTdiMjRwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIC0weDEuYjRmZTg1MzEwNmMxZWU5ZWQ5MjA2MWE4NmFiZWE4ZmJwLTEsCisgICAgLTB4MS4yNTdiMjRwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS5jNDllNDlkOGNlNzk5ZGY2MDVjMGMzNzU0ZjEyYzgwNHAtMSwKKyAgICAweDEuMzgzOGI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAtMHgxLmM0OWU0OWQ4Y2U3OTlkZjYwNWMwYzM3NTRmMTJjODA0cC0xLAorICAgIC0weDEuMzgzOGI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuZDMyOTA4YTVlOTAyZTJmOWQxYmRkNjQ0ZWRlYzRmZWNwLTEsCisgICAgMHgxLjRhZjY0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgLTB4MS5kMzI5MDhhNWU5MDJlMmY5ZDFiZGQ2NDRlZGVjNGZlY3AtMSwKKyAgICAtMHgxLjRhZjY0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLmUwYjUyNjllZDE4ZWI2ZThmMWI0ODU0ODNmOTUwZTY5cC0xLAorICAgIDB4MS41ZGIzZGFwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIC0weDEuZTBiNTI2OWVkMThlYjZlOGYxYjQ4NTQ4M2Y5NTBlNjlwLTEsCisgICAgLTB4MS41ZGIzZGFwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS5lZDU3ODI4Zjg0Y2FjZGVjNDRiMjllYWViOTEzOGFlN3AtMSwKKyAgICAweDEuNzA3MTZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAtMHgxLmVkNTc4MjhmODRjYWNkZWM0NGIyOWVhZWI5MTM4YWU3cC0xLAorICAgIC0weDEuNzA3MTZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuZjkyMzY4NzA5NTRjMzkxMGFlNDZkYjc4ZThkYWI0YTFwLTEsCisgICAgMHgxLjgzMmVmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgLTB4MS5mOTIzNjg3MDk1NGMzOTEwYWU0NmRiNzhlOGRhYjRhMXAtMSwKKyAgICAtMHgxLjgzMmVmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLjAyMTU0YTljMmY1YzhjMTQ3MjA3ODliMzk0YThkNzFlcDAsCisgICAgMHgxLjk1ZWM5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgLTB4MS4wMjE1NGE5YzJmNWM4YzE0NzIwNzg5YjM5NGE4ZDcxZXAwLAorICAgIC0weDEuOTVlYzkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAweDEuMDczZWExMTM2OGY3YTQ3OTcyYzdhOTBmYzc3ZTNjMzNwMCwKKyAgICAweDEuYThhYTFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAtMHgxLjA3M2VhMTEzNjhmN2E0Nzk3MmM3YTkwZmM3N2UzYzMzcDAsCisgICAgLTB4MS5hOGFhMWNwMAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS45NmM0YzIxMzgzNjA3ZWM5MDUxMGIzMmFhMTc1ZmUxM3AtMSwKKyAgICAweDEuMDRhZmY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAtMHgxLjk2YzRjMjEzODM2MDdlYzkwNTEwYjMyYWExNzVmZTEzcC0xLAorICAgIC0weDEuMDRhZmY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuOTZjNTY3MDcwN2QwNzlmOTY3YmRlNTY3MjRhMTUwOGNwLTEsCisgICAgMHgxLjA0YjBhMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgLTB4MS45NmM1NjcwNzA3ZDA3OWY5NjdiZGU1NjcyNGExNTA4Y3AtMSwKKyAgICAtMHgxLjA0YjBhMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLjk2YzYwYmZhMjAwNTVhYTYzODk5OWRiYTlkNWI5YmE0cC0xLAorICAgIDB4MS4wNGIxNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIC0weDEuOTZjNjBiZmEyMDA1NWFhNjM4OTk5ZGJhOWQ1YjliYTRwLTEsCisgICAgLTB4MS4wNGIxNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS45NmM2YjBlY2NiZmY2OTE3NWVhZTdkNzMwZjJkNjNjOHAtMSwKKyAgICAweDEuMDRiMWYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAtMHgxLjk2YzZiMGVjY2JmZjY5MTc1ZWFlN2Q3MzBmMmQ2M2M4cC0xLAorICAgIC0weDEuMDRiMWYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuOTZjNzU1ZGYwYmJlZWQ5NGJjMGE3NmZlNmY2ZWZlMDNwLTEsCisgICAgMHgxLjA0YjI5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgLTB4MS45NmM3NTVkZjBiYmVlZDk0YmMwYTc2ZmU2ZjZlZmUwM3AtMSwKKyAgICAtMHgxLjA0YjI5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgMHgxLjk2YzdmYWQwZGY0NDMwNjYyZGJlMjNhMTI1ZmRmNGRjcC0xLAorICAgIDB4MS4wNGIzNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIC0weDEuOTZjN2ZhZDBkZjQ0MzA2NjJkYmUyM2ExMjVmZGY0ZGNwLTEsCisgICAgLTB4MS4wNGIzNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS45NmM4OWZjMjQ2OGY3OWQzOGJkYzE5MmVkMWIxNWVhZHAtMSwKKyAgICAweDEuMDRiM2U4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAtMHgxLjk2Yzg5ZmMyNDY4Zjc5ZDM4YmRjMTkyZWQxYjE1ZWFkcC0xLAorICAgIC0weDEuMDRiM2U4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuOTZjOTQ0YjM0MWExMTIyNGE5NzgzZmM1NTA4ODczMGFwLTEsCisgICAgMHgxLjA0YjQ5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgLTB4MS45NmM5NDRiMzQxYTExMjI0YTk3ODNmYzU1MDg4NzMwYXAtMSwKKyAgICAtMHgxLjA0YjQ5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgMHgxLjk2YzllNWI2NzhmZjM5MWMyZDNmYTI4NDljMGEyNWQ0cC0xLAorICAgIDB4MS4wNGI1MzRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIC0weDEuOTZjOWU1YjY3OGZmMzkxYzJkM2ZhMjg0OWMwYTI1ZDRwLTEsCisgICAgLTB4MS4wNGI1MzRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuMGMxNTIxYzAxNGQwMWY4YTlkZGVjYzM2ZjE0MzA5NDBwLTEsCisgICAgMHgxLjI3OWE3MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIC0weDEuMGMxNTIxYzAxNGQwMWY4YTlkZGVjYzM2ZjE0MzA5NDBwLTEsCisgICAgLTB4MS4yNzlhNzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAweDEuMGMxNTIzNDAxNGQwZmZhMjM2ZDk5MjZhNjgwZmQ4MTdwLTEsCisgICAgMHgxLjI3OWE3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIC0weDEuMGMxNTIzNDAxNGQwZmZhMjM2ZDk5MjZhNjgwZmQ4MTdwLTEsCisgICAgLTB4MS4yNzlhNzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuMGMxNTI0YzAxNGQwOTMyYzBjZjAzNTA2NzRjMzA1Y2FwLTEsCisgICAgMHgxLjI3OWE3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIC0weDEuMGMxNTI0YzAxNGQwOTMyYzBjZjAzNTA2NzRjMzA1Y2FwLTEsCisgICAgLTB4MS4yNzlhNzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuMGMxNTIyZTE3NjAyZmU0MzEzNTFjMWMwOGFlNTFmZjdwMCwKKyAgICAweDEuYmI2N2FjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAtMHgxLjBjMTUyMmUxNzYwMmZlNDMxMzUxYzFjMDhhZTUxZmY3cDAsCisgICAgLTB4MS5iYjY3YWNwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS4wYzE1MjM2MTc2MDNhNmVkYjcyNTU3ZTYzNGI0YjhlMHAwLAorICAgIDB4MS5iYjY3YWVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIC0weDEuMGMxNTIzNjE3NjAzYTZlZGI3MjU1N2U2MzRiNGI4ZTBwMCwKKyAgICAtMHgxLmJiNjdhZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgMHgxLjBjMTUyM2UxNzYwMzcxZTQ4MzMwYTZkYjQ3OTY4YTkzcDAsCisgICAgMHgxLmJiNjdiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgLTB4MS4wYzE1MjNlMTc2MDM3MWU0ODMzMGE2ZGI0Nzk2OGE5M3AwLAorICAgIC0weDEuYmI2N2IwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuYTY0ZWVhOGYwM2I3ODMzYzFiNzhmOWNlZjI4MmNmMGZwLTIsCisgICAgMHgxLmJmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIC0weDEuYTY0ZWVhOGYwM2I3ODMzYzFiNzhmOWNlZjI4MmNmMGZwLTIsCisgICAgLTB4MS5iZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuYTY0ZWVjM2NjMjNmY2I2Yzg0ZjkyYmQyMDAzY2UyNmNwLTIsCisgICAgMHgxLmMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgLTB4MS5hNjRlZWMzY2MyM2ZjYjZjODRmOTJiZDIwMDNjZTI2Y3AtMiwKKyAgICAtMHgxLmMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLmE2NGVlZGVhODBjNzc1Y2UyNzIzYjM3ZDVmMjc3ODhkcC0yLAorICAgIDB4MS5jMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAtMHgxLmE2NGVlZGVhODBjNzc1Y2UyNzIzYjM3ZDVmMjc3ODhkcC0yLAorICAgIC0weDEuYzAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLjM0NWYwMDcxMzdhZWFkNzIwMmQ4N2FkYzVlNzBlNTNlcC0xLAorICAgIDB4MS41ZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAtMHgxLjM0NWYwMDcxMzdhZWFkNzIwMmQ4N2FkYzVlNzBlNTNlcC0xLAorICAgIC0weDEuNWZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLjM0NWYwMWNjZTM3YmI0NDA4NDRkZjFjNDQwOWZlNzc5cC0xLAorICAgIDB4MS42MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIC0weDEuMzQ1ZjAxY2NlMzdiYjQ0MDg0NGRmMWM0NDA5ZmU3NzlwLTEsCisgICAgLTB4MS42MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS4zNDVmMDMyODhmNDc3NjcxNTUyZjQwM2Y3NzM2M2M2ZXAtMSwKKyAgICAweDEuNjAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgLTB4MS4zNDVmMDMyODhmNDc3NjcxNTUyZjQwM2Y3NzM2M2M2ZXAtMSwKKyAgICAtMHgxLjYwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIDB4MS5iZGU3MGQyYjViOTg2MTgwMDAxNmQyNGYzN2UxZjE4MnAtMSwKKyAgICAweDEuMmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAtMHgxLmJkZTcwZDJiNWI5ODYxODAwMDE2ZDI0ZjM3ZTFmMTgycC0xLAorICAgIC0weDEuMmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuYmRlNzBlZDQzOWZlNmNiYTk1MzkxYTdmNDIxYjM4MjFwLTEsCisgICAgMHgxLjMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAtMHgxLmJkZTcwZWQ0MzlmZTZjYmE5NTM5MWE3ZjQyMWIzODIxcC0xLAorICAgIC0weDEuMzBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDB4MS5iZGU3MTA3ZDE4NjEzMjlkNzdmODVlMjFjNWNmOTkxZHAtMSwKKyAgICAweDEuMzAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAtMHgxLmJkZTcxMDdkMTg2MTMyOWQ3N2Y4NWUyMWM1Y2Y5OTFkcC0xLAorICAgIC0weDEuMzAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAweDEuMmU3NTcxZjRhZTYyNTFlNWRkYjc3MTMyNTEwNTQ5NWVwMCwKKyAgICAweDEuMzdmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAtMHgxLjJlNzU3MWY0YWU2MjUxZTVkZGI3NzEzMjUxMDU0OTVlcDAsCisgICAgLTB4MS4zN2ZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIDB4MS4yZTc1NzI4ODMzYTU0MTE2ZTNlZjczMjZiZDk4MzlwMCwKKyAgICAweDEuMzhwMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIC0weDEuMmU3NTcyODgzM2E1NDExNmUzZWY3MzI2YmQ5ODM5cDAsCisgICAgLTB4MS4zOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLjJlNzU3MzFiYjhlNjkxZGNhNzg4YzAyMzMyZDI4OGYwcDAsCisgICAgMHgxLjM4MDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgLTB4MS4yZTc1NzMxYmI4ZTY5MWRjYTc4OGMwMjMzMmQyODhmMHAwLAorICAgIC0weDEuMzgwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuMDY0MGE4MDVlYjVhYzhkNDVmNmU2MjY0NjljZmQzN2NwLTQsCisgICAgMHgxLjA2OWM4Y3AtNAorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIC0weDEuMDY0MGE4MDVlYjVhYzhkNDVmNmU2MjY0NjljZmQzN2NwLTQsCisgICAgLTB4MS4wNjljOGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEuMDUyZmFiZWNkYjMxOTIwMDY2MDFkYTU3YjlmMTg1YmJwLTMsCisgICAgMHgxLjA2OWM4Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIC0weDEuMDUyZmFiZWNkYjMxOTIwMDY2MDFkYTU3YjlmMTg1YmJwLTMsCisgICAgLTB4MS4wNjljOGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEuODUyYTIyOTM3NzZlM2MyY2Y0YjdhMjM3ZGZiY2FjOWNwLTMsCisgICAgMHgxLjg5ZWFkMnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIC0weDEuODUyYTIyOTM3NzZlM2MyY2Y0YjdhMjM3ZGZiY2FjOWNwLTMsCisgICAgLTB4MS44OWVhZDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuMDExMjNjNmVlNzhkZjlmZGRlYWVhYWMwZjY1MWZmZmRwLTIsCisgICAgMHgxLjA2OWM4Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIC0weDEuMDExMjNjNmVlNzhkZjlmZGRlYWVhYWMwZjY1MWZmZmRwLTIsCisgICAgLTB4MS4wNjljOGNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuM2RhYTc0ZjkxM2VmOThiZWJkYWY2ZmY1ZmU5ZWQ5M2VwLTIsCisgICAgMHgxLjQ4NDNiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIC0weDEuM2RhYTc0ZjkxM2VmOThiZWJkYWY2ZmY1ZmU5ZWQ5M2VwLTIsCisgICAgLTB4MS40ODQzYjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAweDEuNzgwYzQ4Njk5MWRhYTVkNzJmZGRhNWNlNTdkNDQyODlwLTIsCisgICAgMHgxLjg5ZWFkNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuNzgwYzQ4Njk5MWRhYTVkNzJmZGRhNWNlNTdkNDQyODlwLTIsCisgICAgLTB4MS44OWVhZDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuYWZmYWIwMjNmZTU4MTlhYjFmNGNhZDYwMDUxYTgzNDVwLTIsCisgICAgMHgxLmNiOTFmOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIC0weDEuYWZmYWIwMjNmZTU4MTlhYjFmNGNhZDYwMDUxYTgzNDVwLTIsCisgICAgLTB4MS5jYjkxZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuZTU0YzgzZWRjYzVjYWFhN2EwNzQ2NDRiM2QyMTgzYTJwLTIsCisgICAgMHgxLjA2OWM4ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIC0weDEuZTU0YzgzZWRjYzVjYWFhN2EwNzQ2NDRiM2QyMTgzYTJwLTIsCisgICAgLTB4MS4wNjljOGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuMGJmNTYzMWQyMWI1OWJlYTYwMzcwNjViZDE4NGM3ZmRwLTEsCisgICAgMHgxLjI3NzAyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuMGJmNTYzMWQyMWI1OWJlYTYwMzcwNjViZDE4NGM3ZmRwLTEsCisgICAgLTB4MS4yNzcwMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuMjNlNzFhOTU2NWNkMmU0MGVlMzkxNTE0YmRiNGU2ZDVwLTEsCisgICAgMHgxLjQ4NDNiMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIC0weDEuMjNlNzFhOTU2NWNkMmU0MGVlMzkxNTE0YmRiNGU2ZDVwLTEsCisgICAgLTB4MS40ODQzYjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuM2E3ZTQyNDgxYjcwODBjZWVjYTA2YWMzNzVlMmFmNWJwLTEsCisgICAgMHgxLjY5MTc0NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIC0weDEuM2E3ZTQyNDgxYjcwODBjZWVjYTA2YWMzNzVlMmFmNWJwLTEsCisgICAgLTB4MS42OTE3NDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuNGZjMmM4OTE0OTFiNTI4NzRjZTI5MzFmMjRlNGI2MTlwLTEsCisgICAgMHgxLjg5ZWFkNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuNGZjMmM4OTE0OTFiNTI4NzRjZTI5MzFmMjRlNGI2MTlwLTEsCisgICAgLTB4MS44OWVhZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEuNjNjMDYyNTIxNWE4ZmFmZGFjYjY1ZWViY2M3NmQwOTBwLTEsCisgICAgMHgxLmFhYmU2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIC0weDEuNjNjMDYyNTIxNWE4ZmFmZGFjYjY1ZWViY2M3NmQwOTBwLTEsCisgICAgLTB4MS5hYWJlNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuNzY4NTY1YzUyOGMxYzc1MTIxODFlZjAyMWE5YmVmZTVwLTEsCisgICAgMHgxLmNiOTFmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIC0weDEuNzY4NTY1YzUyOGMxYzc1MTIxODFlZjAyMWE5YmVmZTVwLTEsCisgICAgLTB4MS5jYjkxZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAweDEuODgyMWQ1MTc4NTNhOTI5MzEwMWUzNDVhZDc0ZjY0OTJwLTEsCisgICAgMHgxLmVjNjU4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuODgyMWQ1MTc4NTNhOTI5MzEwMWUzNDVhZDc0ZjY0OTJwLTEsCisgICAgLTB4MS5lYzY1OGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEuOThhNjk4M2ExZjY5ZTJiYTc4MzBkNDViOWNhYTI4NDdwLTEsCisgICAgMHgxLjA2OWM4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgLTB4MS45OGE2OTgzYTFmNjllMmJhNzgzMGQ0NWI5Y2FhMjg0N3AtMSwKKyAgICAtMHgxLjA2OWM4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgMHgxLmE4MjRlNzQ0NjQ3OWU4OWMyOGMzYzkzYWZjNWM2MGEzcC0xLAorICAgIDB4MS4xNzA2NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIC0weDEuYTgyNGU3NDQ2NDc5ZTg5YzI4YzNjOTNhZmM1YzYwYTNwLTEsCisgICAgLTB4MS4xNzA2NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS5iNmFkZDU2OTA1YzExODc3OTg1MTg0YjFlZTVkMzUzYXAtMSwKKyAgICAweDEuMjc3MDFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAtMHgxLmI2YWRkNTY5MDVjMTE4Nzc5ODUxODRiMWVlNWQzNTNhcC0xLAorICAgIC0weDEuMjc3MDFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAweDEuYzQ1MjAwODRkODgwODQ3ZGRhMzY3YmE4YjdhOGIyMWRwLTEsCisgICAgMHgxLjM3ZDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS5jNDUyMDA4NGQ4ODA4NDdkZGEzNjdiYThiN2E4YjIxZHAtMSwKKyAgICAtMHgxLjM3ZDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMHgxLmQxMjE1OThlZDUwZmZhY2U2MzI0YWExYzIxYTc0ZDIzcC0xLAorICAgIDB4MS40ODQzYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIC0weDEuZDEyMTU5OGVkNTBmZmFjZTYzMjRhYTFjMjFhNzRkMjNwLTEsCisgICAgLTB4MS40ODQzYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS5kZDJiMDE0ZmRlMzVkMTY1YzQ3NGExMTIyODI1ODAyZHAtMSwKKyAgICAweDEuNThhZDc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAtMHgxLmRkMmIwMTRmZGUzNWQxNjVjNDc0YTExMjI4MjU4MDJkcC0xLAorICAgIC0weDEuNThhZDc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEuZTg3ZDM0ODFhYzhkZDU2MjFhM2IzYzRmOTIxYzQ0ZmFwLTEsCisgICAgMHgxLjY5MTczZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS5lODdkMzQ4MWFjOGRkNTYyMWEzYjNjNGY5MjFjNDRmYXAtMSwKKyAgICAtMHgxLjY5MTczZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMHgxLmYzMjU0MzUyMGVmOWM1ZjU4MTBmNmRiODVkN2FhZjI4cC0xLAorICAgIDB4MS43OTgxMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIC0weDEuZjMyNTQzNTIwZWY5YzVmNTgxMGY2ZGI4NWQ3YWFmMjhwLTEsCisgICAgLTB4MS43OTgxMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5mZDJmOTExNmU1OWNlZThhMDQwZTYyZDRiNTI0M2UxYXAtMSwKKyAgICAweDEuODllYWNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAtMHgxLmZkMmY5MTE2ZTU5Y2VlOGEwNDBlNjJkNGI1MjQzZTFhcC0xLAorICAgIC0weDEuODllYWNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuMDM1M2NjZGEyZDY0NGQ3OTM4YzQ4MjQxMGJiOTFiYjFwMCwKKyAgICAweDEuOWE1NDk2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtMHgxLjAzNTNjY2RhMmQ2NDRkNzkzOGM0ODI0MTBiYjkxYmIxcDAsCisgICAgLTB4MS45YTU0OTZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDB4MS4wN2NiZmQ2NzI4YmUxZDcyOGU2ZWZhYTU2Njk2MmEzMXAwLAorICAgIDB4MS5hYWJlNWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIC0weDEuMDdjYmZkNjcyOGJlMWQ3MjhlNmVmYWE1NjY5NjJhMzFwMCwKKyAgICAtMHgxLmFhYmU1ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLjBjMDUzZmFjNTYxNWJkMzNlYTY2OTA5MWZjN2E5MGJjcDAsCisgICAgMHgxLmJiMjgyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgLTB4MS4wYzA1M2ZhYzU2MTViZDMzZWE2NjkwOTFmYzdhOTBiY3AwLAorICAgIC0weDEuYmIyODI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEuMTAwNDE2M2Q4MjAwMDU5M2U3ZGY2YmNlM2Q4Y2FiMTBwMCwKKyAgICAweDEuY2I5MWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtMHgxLjEwMDQxNjNkODIwMDA1OTNlN2RmNmJjZTNkOGNhYjEwcDAsCisgICAgLTB4MS5jYjkxZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NgorICAgIDB4MS4xM2NjYTc4M2M3YmQyMDg4YjkwMGI0MTEzYmE4Nzg1MnAwLAorICAgIDB4MS5kYmZiYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIC0weDEuMTNjY2E3ODNjN2JkMjA4OGI5MDBiNDExM2JhODc4NTJwMCwKKyAgICAtMHgxLmRiZmJiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjE3NjJjNDdmMjEwZjU0NWFjOWE4YTdlMDI0MWU3MjU5cDAsCisgICAgMHgxLmVjNjU3ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgLTB4MS4xNzYyYzQ3ZjIxMGY1NDVhYzlhOGE3ZTAyNDFlNzI1OXAwLAorICAgIC0weDEuZWM2NTdlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTAKKyAgICAweDEuMWFjOWVmNjAxYzJmOTdmN2IwZjBhNmQ5M2RkODM0ZWVwMCwKKyAgICAweDEuZmNjZjQ2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLjFhYzllZjYwMWMyZjk3ZjdiMGYwYTZkOTNkZDgzNGVlcDAsCisgICAgLTB4MS5mY2NmNDZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1MgorICAgIDB4MS4xZTA1NjIzZGZiNGNjM2M2YmFhNjJlNGJjMjc5YTlhNHAwLAorICAgIDB4MS4wNjljODhwMQorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIC0weDEuMWUwNTYyM2RmYjRjYzNjNmJhYTYyZTRiYzI3OWE5YTRwMCwKKyAgICAtMHgxLjA2OWM4OHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjIxMTgxMzg0NTg4YmU2MDczMmQwMTg0OGJjNzE3MDBicDAsCisgICAgMHgxLjBlZDE2Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgLTB4MS4yMTE4MTM4NDU4OGJlNjA3MzJkMDE4NDhiYzcxNzAwYnAwLAorICAgIC0weDEuMGVkMTZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEuMjQwNGJkZThlMjU1MmRlM2NjNTAzMzRkNzhiNWRjNGFwMCwKKyAgICAweDEuMTcwNjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAtMHgxLjI0MDRiZGU4ZTI1NTJkZTNjYzUwMzM0ZDc4YjVkYzRhcDAsCisgICAgLTB4MS4xNzA2NTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS4yNmNkZTQwNjFjNzU3NzM4ZTJjZTdmMjE1MjJiODlkYXAwLAorICAgIDB4MS4xZjNiMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIC0weDEuMjZjZGU0MDYxYzc1NzczOGUyY2U3ZjIxNTIyYjg5ZGFwMCwKKyAgICAtMHgxLjFmM2IzNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLjI5NzVkNThmNWU5YmRmZTE4OTllZjIxZDk5YzQ5YjJicDAsCisgICAgMHgxLjI3NzAxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgLTB4MS4yOTc1ZDU4ZjVlOWJkZmUxODk5ZWYyMWQ5OWM0OWIyYnAwLAorICAgIC0weDEuMjc3MDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAweDEuMmJmZWIzYjliYmVhODNjZGU1NmZiZjk1MWU4NzE0ODdwMCwKKyAgICAweDEuMmZhNGZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAtMHgxLjJiZmViM2I5YmJlYTgzY2RlNTZmYmY5NTFlODcxNDg3cDAsCisgICAgLTB4MS4yZmE0ZmNwMQorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS4yZTZhNzU0NWJhODg2OTJhNDhkNTZlNTU4MTg3MzIxMXAwLAorICAgIDB4MS4zN2Q5ZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIC0weDEuMmU2YTc1NDViYTg4NjkyYTQ4ZDU2ZTU1ODE4NzMyMTFwMCwKKyAgICAtMHgxLjM3ZDllMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLjMwYmFlYTJmNjBjNWE1OWNjNmQyZTk0MTMwZjk1NzY4cDAsCisgICAgMHgxLjQwMGVjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgLTB4MS4zMGJhZWEyZjYwYzVhNTljYzZkMmU5NDEzMGY5NTc2OHAwLAorICAgIC0weDEuNDAwZWM0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAweDEuMzJmMWJmMGFhOTJjOGE2NWE2OTQ4NjQzZmRjZmQyNTVwMCwKKyAgICAweDEuNDg0M2E4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjkKKyAgICAtMHgxLjMyZjFiZjBhYTkyYzhhNjVhNjk0ODY0M2ZkY2ZkMjU1cDAsCisgICAgLTB4MS40ODQzYThwMQorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS4zNTEwODAxMmExMTNjMDVhYWFiMmQxNDZmMTM5M2Y1Y3AwLAorICAgIDB4MS41MDc4OGNwMQorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIC0weDEuMzUxMDgwMTJhMTEzYzA1YWFhYjJkMTQ2ZjEzOTNmNWNwMCwKKyAgICAtMHgxLjUwNzg4Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLjM3MTg5YmYxNmE3MTIwMWFkYWY1Yjg3MDg0NTk4MjhlcDAsCisgICAgMHgxLjU4YWQ3MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgLTB4MS4zNzE4OWJmMTZhNzEyMDFhZGFmNWI4NzA4NDU5ODI4ZXAwLAorICAgIC0weDEuNThhZDcwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAweDEuMzkwYjY2NDcyNjhlNGZmN2E3ZmM5YWQzZDMxNWNhNjhwMCwKKyAgICAweDEuNjBlMjU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAtMHgxLjM5MGI2NjQ3MjY4ZTRmZjdhN2ZjOWFkM2QzMTVjYTY4cDAsCisgICAgLTB4MS42MGUyNTRwMQorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIDB4MS4zYWVhMTlmNTgyY2ZiMmZjN2YwMWU2OTBiOWU2MWMzMnAwLAorICAgIDB4MS42OTE3MzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIC0weDEuM2FlYTE5ZjU4MmNmYjJmYzdmMDFlNjkwYjllNjFjMzJwMCwKKyAgICAtMHgxLjY5MTczOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLjNjYjVkYjM1NDVhOTU3N2I5ZDA1N2NlODJkYzYwOGM2cDAsCisgICAgMHgxLjcxNGMxY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgLTB4MS4zY2I1ZGIzNTQ1YTk1NzdiOWQwNTdjZTgyZGM2MDhjNnAwLAorICAgIC0weDEuNzE0YzFjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEuM2U2ZmI5N2FkN2E2NmJhMDRjN2IwMWQxNjQ2NjAyZTFwMCwKKyAgICAweDEuNzk4MXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgLTB4MS4zZTZmYjk3YWQ3YTY2YmEwNGM3YjAxZDE2NDY2MDJlMXAwLAorICAgIC0weDEuNzk4MXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLjQwMThiMTJlNjAzZDY5MGRmZDg5MTQ0Y2EzNTVhZDdjcDAsCisgICAgMHgxLjgxYjVlNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgLTB4MS40MDE4YjEyZTYwM2Q2OTBkZmQ4OTE0NGNhMzU1YWQ3Y3AwLAorICAgIC0weDEuODFiNWU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuNDFiMWFkM2JhYjhiNTc5YzcxY2ViODljYjIzYTQxOTFwMCwKKyAgICAweDEuODllYWM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAtMHgxLjQxYjFhZDNiYWI4YjU3OWM3MWNlYjg5Y2IyM2E0MTkxcDAsCisgICAgLTB4MS44OWVhYzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIC0weDEuNjgwN2E5ZWNiNjFlNzE3OWQ0N2I4NmEzZDdkODk2MTRwMCwKKyAgICAtMHgxLjgxYjVlZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLjY4MDdhOWVjYjYxZTcxNzlkNDdiODZhM2Q3ZDg5NjE0cDAsCisgICAgMHgxLjgxYjVlZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNTg4CisgICAgLTB4MS42NjMxZTFlNTkwYzg5NDNiYjk4MDgyNzU4NTg0MTQwMXAwLAorICAgIC0weDEuNzE0YzI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAweDEuNjYzMWUxZTU5MGM4OTQzYmI5ODA4Mjc1ODU4NDE0MDFwMCwKKyAgICAweDEuNzE0YzI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAtMHgxLjY0MzFiYmRiYmIyM2IwNWE2Mjk0NjkwY2M4ZmU0YWZicDAsCisgICAgLTB4MS42MGUyNWVwMgorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS42NDMxYmJkYmJiMjNiMDVhNjI5NDY5MGNjOGZlNGFmYnAwLAorICAgIDB4MS42MGUyNWVwMgorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIC0weDEuNjIwMTQ5YmEwNWIzYWJkN2M3NDQ4OThiMzk1ZmYwNzhwMCwKKyAgICAtMHgxLjUwNzg5NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLjYyMDE0OWJhMDViM2FiZDdjNzQ0ODk4YjM5NWZmMDc4cDAsCisgICAgMHgxLjUwNzg5NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgLTB4MS41Zjk5Nzg0YzE2YWU2YWRlMDk3ODQ5ODlkZTkwZjljZXAwLAorICAgIC0weDEuNDAwZWNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAweDEuNWY5OTc4NGMxNmFlNmFkZTA5Nzg0OTg5ZGU5MGY5Y2VwMCwKKyAgICAweDEuNDAwZWNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAtMHgxLjVjZjFjNjE1Zjk1NGExYzE4M2ZhOWRmODc0NTM4ZWU5cDAsCisgICAgLTB4MS4yZmE1MDZwMgorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS41Y2YxYzYxNWY5NTRhMWMxODNmYTlkZjg3NDUzOGVlOXAwLAorICAgIDB4MS4yZmE1MDZwMgorICB9LAorICB7IC8vIEVudHJ5IDU5OAorICAgIC0weDEuNTlmZmUzOGI3MTg5OGVkNzk5OGIzMzUwODVlNjU5NjRwMCwKKyAgICAtMHgxLjFmM2IzZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgMHgxLjU5ZmZlMzhiNzE4OThlZDc5OThiMzM1MDg1ZTY1OTY0cDAsCisgICAgMHgxLjFmM2IzZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgLTB4MS41NmI3MzQzZWU2NjcxYmYxMzdjMzA2MGQ2YmJhYzkwYnAwLAorICAgIC0weDEuMGVkMTc2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDEKKyAgICAweDEuNTZiNzM0M2VlNjY3MWJmMTM3YzMwNjBkNmJiYWM5MGJwMCwKKyAgICAweDEuMGVkMTc2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAtMHgxLjUzMDgyNGJhOTIyOGY5MDZjZjZmYmJiMTE0MDczMjEycDAsCisgICAgLTB4MS5mY2NmNWFwMQorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS41MzA4MjRiYTkyMjhmOTA2Y2Y2ZmJiYjExNDA3MzIxMnAwLAorICAgIDB4MS5mY2NmNWFwMQorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIC0weDEuNGVkZjQ0OWIzOGNhM2EyMjQ3NmY2MmM3MzQ5YmI3NzNwMCwKKyAgICAtMHgxLmRiZmJjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLjRlZGY0NDliMzhjYTNhMjI0NzZmNjJjNzM0OWJiNzczcDAsCisgICAgMHgxLmRiZmJjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgLTB4MS40YTI0MDhmNTA4MTMxYTM1MWU3NWJkNjVhNTYzMTgwYXAwLAorICAgIC0weDEuYmIyODM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEuNGEyNDA4ZjUwODEzMWEzNTFlNzViZDY1YTU2MzE4MGFwMCwKKyAgICAweDEuYmIyODM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAtMHgxLjQ0YjcxMjk1M2Y4NWY3MjNlOGI5MzQ4YzlmNjAwYThjcDAsCisgICAgLTB4MS45YTU0YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS40NGI3MTI5NTNmODVmNzIzZThiOTM0OGM5ZjYwMGE4Y3AwLAorICAgIDB4MS45YTU0YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIC0weDEuM2U2ZmJkMzEyMjQxOGVhMGFjMzA3YTJlZDE3YzBkMjhwMCwKKyAgICAtMHgxLjc5ODExMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLjNlNmZiZDMxMjI0MThlYTBhYzMwN2EyZWQxN2MwZDI4cDAsCisgICAgMHgxLjc5ODExMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgLTB4MS4zNzE4OWZkMjNmOWE3YWMxOGZmNGU0YzU4MjFlODBiZnAwLAorICAgIC0weDEuNThhZDgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTMKKyAgICAweDEuMzcxODlmZDIzZjlhN2FjMThmZjRlNGM1ODIxZTgwYmZwMCwKKyAgICAweDEuNThhZDgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAtMHgxLjJlNmE3OTRmMzc1MjlkN2I4Yzc4NDM4MDk0ZGY4NTYwcDAsCisgICAgLTB4MS4zN2Q5ZWVwMQorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS4yZTZhNzk0ZjM3NTI5ZDdiOGM3ODQzODA5NGRmODU2MHAwLAorICAgIDB4MS4zN2Q5ZWVwMQorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIC0weDEuMjQwNGMyMTUwZTc2ZjZkMjNlNGE1MTRjNzc4Mzk5MjZwMCwKKyAgICAtMHgxLjE3MDY1Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLjI0MDRjMjE1MGU3NmY2ZDIzZTRhNTE0Yzc3ODM5OTI2cDAsCisgICAgMHgxLjE3MDY1Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgLTB4MS4xNzYyYzkyZDg5ZjdiNTE2ZTM4YjFmYWRiYzdjMTcyNXAwLAorICAgIC0weDEuZWM2NTk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTkKKyAgICAweDEuMTc2MmM5MmQ4OWY3YjUxNmUzOGIxZmFkYmM3YzE3MjVwMCwKKyAgICAweDEuZWM2NTk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAtMHgxLjA3Y2MwMjJhOTk4Y2QzNjM1MDczNjc3NTYyOWY3NDExcDAsCisgICAgLTB4MS5hYWJlNzBwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS4wN2NjMDIyYTk5OGNkMzYzNTA3MzY3NzU2MjlmNzQxMXAwLAorICAgIDB4MS5hYWJlNzBwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIC0weDEuZTg3ZDNkZGY1ZDk3NGQwOGY0ZGQ1OGZlMmNiNjJhNzVwLTEsCisgICAgLTB4MS42OTE3NGNwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS5lODdkM2RkZjVkOTc0ZDA4ZjRkZDU4ZmUyY2I2MmE3NXAtMSwKKyAgICAweDEuNjkxNzRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAtMHgxLmI2YWRkZGZjYjYwNzkxYmRmYTI5ZTQzYWUyMzc1MjZjcC0xLAorICAgIC0weDEuMjc3MDI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuYjZhZGRkZmNiNjA3OTFiZGZhMjllNDNhZTIzNzUyNmNwLTEsCisgICAgMHgxLjI3NzAyOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgLTB4MS43Njg1NmVhMThkYTE5NTE3NmUwZWNlMmNiYTk0NzBhOXAtMSwKKyAgICAtMHgxLmNiOTIwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS43Njg1NmVhMThkYTE5NTE3NmUwZWNlMmNiYTk0NzBhOXAtMSwKKyAgICAweDEuY2I5MjBhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgLTB4MS4yM2U3Mjc1NzA1N2M1ODA5Mzc5YTMxMzliYTg3NzkxZHAtMSwKKyAgICAtMHgxLjQ4NDNjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyOQorICAgIDB4MS4yM2U3Mjc1NzA1N2M1ODA5Mzc5YTMxMzliYTg3NzkxZHAtMSwKKyAgICAweDEuNDg0M2M0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgLTB4MS43ODBjNmI0MTkwYTRjMDJlYzY4NmQ4NjVkNTk4NjljOHAtMiwKKyAgICAtMHgxLjg5ZWFmY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIDB4MS43ODBjNmI0MTkwYTRjMDJlYzY4NmQ4NjVkNTk4NjljOHAtMiwKKyAgICAweDEuODllYWZjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgLTB4MS4wNTJmZmU5MGZlYjIzYzEwMTZkODljM2YwMWJjOWUxZnAtMywKKyAgICAtMHgxLjA2OWNlMHAtMworICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS4wNTJmZmU5MGZlYjIzYzEwMTZkODljM2YwMWJjOWUxZnAtMywKKyAgICAweDEuMDY5Y2UwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgMHgxLjA1MmY1OTQ4YjZkNWY4NjBiZDMzODE1ZmI0MjkyNjc5cC0zLAorICAgIDB4MS4wNjljMzhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAtMHgxLjA1MmY1OTQ4YjZkNWY4NjBiZDMzODE1ZmI0MjkyNjc5cC0zLAorICAgIC0weDEuMDY5YzM4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLjc4MGMyMjE1OTIyMWQxOTc2Y2M1OGMwNjdjNzEyYzEycC0yLAorICAgIDB4MS44OWVhYThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICAtMHgxLjc4MGMyMjE1OTIyMWQxOTc2Y2M1OGMwNjdjNzEyYzEycC0yLAorICAgIC0weDEuODllYWE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLjIzZTcwOTkzM2FlYzAxOWRhZjlhNjUzYWZhMzdiZDU2cC0xLAorICAgIDB4MS40ODQzOWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAtMHgxLjIzZTcwOTkzM2FlYzAxOWRhZjlhNjUzYWZhMzdiZDU2cC0xLAorICAgIC0weDEuNDg0MzlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLjc2ODU1NzVmMDQzZmM5Mzc1NzBmYmNkNjc5MjE4YTllcC0xLAorICAgIDB4MS5jYjkxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDEKKyAgICAtMHgxLjc2ODU1NzVmMDQzZmM5Mzc1NzBmYmNkNjc5MjE4YTllcC0xLAorICAgIC0weDEuY2I5MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLmI2YWRjY2Q1NTUyNWI5YzU1MDNlMGNkYzhkMzdlOTBlcC0xLAorICAgIDB4MS4yNzcwMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIC0weDEuYjZhZGNjZDU1NTI1YjljNTUwM2UwY2RjOGQzN2U5MGVwLTEsCisgICAgLTB4MS4yNzcwMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIDB4MS5lODdkMzA3ZTE3NjNlNjE4OWYzM2FkZmIwZTgwNjhjOXAtMSwKKyAgICAweDEuNjkxNzM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAtMHgxLmU4N2QzMDdlMTc2M2U2MTg5ZjMzYWRmYjBlODA2OGM5cC0xLAorICAgIC0weDEuNjkxNzM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAweDEuMDdjYmZjZGZhYTY5OTZiMTJiNDQ0MzRkY2EzNjM1ZTlwMCwKKyAgICAweDEuYWFiZTVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAtMHgxLjA3Y2JmY2RmYWE2OTk2YjEyYjQ0NDM0ZGNhMzYzNWU5cDAsCisgICAgLTB4MS5hYWJlNWNwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS4xNzYyYzRlYzEzNTY3YmQ3ZjVmNzk5YjY1MDEzOWVmMnAwLAorICAgIDB4MS5lYzY1ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIC0weDEuMTc2MmM0ZWMxMzU2N2JkN2Y1Zjc5OWI2NTAxMzllZjJwMCwKKyAgICAtMHgxLmVjNjU4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjI0MDRiZTlhZTliNTZhMWU3YjkzYWFiNDI5YTQzN2RjcDAsCisgICAgMHgxLjE3MDY1MnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgLTB4MS4yNDA0YmU5YWU5YjU2YTFlN2I5M2FhYjQyOWE0MzdkY3AwLAorICAgIC0weDEuMTcwNjUycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTIKKyAgICAweDEuMmU2YTc2NmQwMmNhNDk3NjZiOGM1ZTA2NGVkZDMzMGFwMCwKKyAgICAweDEuMzdkOWU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAtMHgxLjJlNmE3NjZkMDJjYTQ5NzY2YjhjNWUwNjRlZGQzMzBhcDAsCisgICAgLTB4MS4zN2Q5ZTRwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS4zNzE4OWQ2NWJhNmEyMDM2NzFiNzgyNjNlYTU5MTUwZXAwLAorICAgIDB4MS41OGFkNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIC0weDEuMzcxODlkNjViYTZhMjAzNjcxYjc4MjYzZWE1OTE1MGVwMCwKKyAgICAtMHgxLjU4YWQ3NnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLjNlNmZiYjIxMzFiYzgzZmI3YmIxNjgwNTI4ZDg4MTI1cDAsCisgICAgMHgxLjc5ODEwOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjU3CisgICAgLTB4MS4zZTZmYmIyMTMxYmM4M2ZiN2JiMTY4MDUyOGQ4ODEyNXAwLAorICAgIC0weDEuNzk4MTA4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAweDEuNDRiNzEwY2YzNTdlZWZkNTEzMzUwMjQ5NDU0NjkyZmVwMCwKKyAgICAweDEuOWE1NDlhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAtMHgxLjQ0YjcxMGNmMzU3ZWVmZDUxMzM1MDI0OTQ1NDY5MmZlcDAsCisgICAgLTB4MS45YTU0OWFwMQorICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS40YTI0MDc2YWM3NDRjNWQyMDZjNDM2MmYwYTgxYzUzOXAwLAorICAgIDB4MS5iYjI4MmNwMQorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIC0weDEuNGEyNDA3NmFjNzQ0YzVkMjA2YzQzNjJmMGE4MWM1MzlwMCwKKyAgICAtMHgxLmJiMjgyY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLjRlZGY0MzQxZWViMTkwZjM4ZDBmNjI4ZGY3YzBmMzljcDAsCisgICAgMHgxLmRiZmJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgLTB4MS40ZWRmNDM0MWVlYjE5MGYzOGQwZjYyOGRmN2MwZjM5Y3AwLAorICAgIC0weDEuZGJmYmJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEuNTMwODIzODlkNGRlMGJmMDAzM2M5NmUwMmU0Y2U5MTVwMCwKKyAgICAweDEuZmNjZjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAtMHgxLjUzMDgyMzg5ZDRkZTBiZjAwMzNjOTZlMDJlNGNlOTE1cDAsCisgICAgLTB4MS5mY2NmNTBwMQorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS41NmI3MzJmOWViZjU5MmMwYzk0MDk2YmMxZWQyOGE2YnAwLAorICAgIDB4MS4wZWQxNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIC0weDEuNTZiNzMyZjllYmY1OTJjMGM5NDA5NmJjMWVkMjhhNmJwMCwKKyAgICAtMHgxLjBlZDE3MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLjU5ZmZlMjY4ZDY4MDFhY2UwM2YzZDE5NWRjZmU3YjAzcDAsCisgICAgMHgxLjFmM2IzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgLTB4MS41OWZmZTI2OGQ2ODAxYWNlMDNmM2QxOTVkY2ZlN2IwM3AwLAorICAgIC0weDEuMWYzYjM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEuNWNmMWM1MTBhMmM1MTIzMWM3N2FlYjViY2ZkYjE4ZjZwMCwKKyAgICAweDEuMmZhNXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgLTB4MS41Y2YxYzUxMGEyYzUxMjMxYzc3YWViNWJjZmRiMThmNnAwLAorICAgIC0weDEuMmZhNXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgMHgxLjVmOTk3NzVmZGNlYTE5ZDAyODg5Mzc0ZDg5MDY2NGI1cDAsCisgICAgMHgxLjQwMGVjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgLTB4MS41Zjk5Nzc1ZmRjZWExOWQwMjg4OTM3NGQ4OTA2NjRiNXAwLAorICAgIC0weDEuNDAwZWM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAweDEuNjIwMTQ4ZTM3ZWVlZWQwNTZhYWQ0MWU3OWE2MmMyYzFwMCwKKyAgICAweDEuNTA3ODkwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAtMHgxLjYyMDE0OGUzN2VlZWVkMDU2YWFkNDFlNzlhNjJjMmMxcDAsCisgICAgLTB4MS41MDc4OTBwMgorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS42NDMxYmIxODEzNjEyMTYyNzViMGQyMDNhOTMzMWMxM3AwLAorICAgIDB4MS42MGUyNThwMgorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIC0weDEuNjQzMWJiMTgxMzYxMjE2Mjc1YjBkMjAzYTkzMzFjMTNwMCwKKyAgICAtMHgxLjYwZTI1OHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLjY2MzFlMTMyNmI2NGYwMjgyYzQ2NWFmOTBkOWQzYmQ5cDAsCisgICAgMHgxLjcxNGMyMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgLTB4MS42NjMxZTEzMjZiNjRmMDI4MmM0NjVhZjkwZDlkM2JkOXAwLAorICAgIC0weDEuNzE0YzIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAweDEuNjgwN2E5NDgxNjZjYWFjODgxYWQ2NzYxMjc2MzE5MDNwMCwKKyAgICAweDEuODFiNWU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODEKKyAgICAtMHgxLjY4MDdhOTQ4MTY2Y2FhYzg4MWFkNjc2MTI3NjMxOTAzcDAsCisgICAgLTB4MS44MWI1ZThwMgorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5lZjY1MmJkMGE5MGM3MjRiMTFhNTZkMmZkNjcxYWYzMXAtNSwKKyAgICAweDEuZWZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgLTB4MS5lZjY1MmJkMGE5MGM3MjRiMTFhNTZkMmZkNjcxYWYzMXAtNSwKKyAgICAtMHgxLmVmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5lZjY1MmRjZWNhNGRiZWIxNGVlOTA3MTU5ZGQxYzM2OXAtNSwKKyAgICAweDEuZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAtMHgxLmVmNjUyZGNlY2E0ZGJlYjE0ZWU5MDcxNTlkZDFjMzY5cC01LAorICAgIC0weDEuZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODYKKyAgICAweDEuZWY2NTJmY2NlYjhmMDczZWM3ZWM0ZTBkMjBiYjdiZmJwLTUsCisgICAgMHgxLmYwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIC0weDEuZWY2NTJmY2NlYjhmMDczZWM3ZWM0ZTBkMjBiYjdiZmJwLTUsCisgICAgLTB4MS5mMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAweDEuZjU3YWFlMmU2NjhmY2Q5NTNmOTVjMTQwMGI2NmY2OWFwLTQsCisgICAgMHgxLmY3ZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIC0weDEuZjU3YWFlMmU2NjhmY2Q5NTNmOTVjMTQwMGI2NmY2OWFwLTQsCisgICAgLTB4MS5mN2ZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAweDEuZjU3YWIwMjZjM2E4ZmM3YjI3OGEwNmU5ZDBjNDNlM2FwLTQsCisgICAgMHgxLmY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgLTB4MS5mNTdhYjAyNmMzYThmYzdiMjc4YTA2ZTlkMGM0M2UzYXAtNCwKKyAgICAtMHgxLmY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLmY1N2FiMjFmMjBjMjFjMTg2Zjk2MDM4NDM3MWNiMTc0cC00LAorICAgIDB4MS5mODAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICAtMHgxLmY1N2FiMjFmMjBjMjFjMTg2Zjk2MDM4NDM3MWNiMTc0cC00LAorICAgIC0weDEuZjgwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNjk0CisgICAgMHgxLjQ5MjMwMDU5ZTdjNDVhZGI4ZWM2N2JmYjhlOGE2NTZicC0zLAorICAgIDB4MS40YmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAtMHgxLjQ5MjMwMDU5ZTdjNDVhZGI4ZWM2N2JmYjhlOGE2NTZicC0zLAorICAgIC0weDEuNGJmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgMHgxLjQ5MjMwMjRjY2I3ODBmNWE3ZTJlYWQ0ZTJiZDI0ZDMzcC0zLAorICAgIDB4MS40Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIC0weDEuNDkyMzAyNGNjYjc4MGY1YTdlMmVhZDRlMmJkMjRkMzNwLTMsCisgICAgLTB4MS40Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDB4MS40OTIzMDQzZmFmMmI5YzcyOGNhNjYwMTFhZWZhNWQ5NXAtMywKKyAgICAweDEuNGMwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgLTB4MS40OTIzMDQzZmFmMmI5YzcyOGNhNjYwMTFhZWZhNWQ5NXAtMywKKyAgICAtMHgxLjRjMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS4yYTczYTU0ODE1MzZiYzVhZjA2YjZkZjQ1MzFmMmM0NXAtMiwKKyAgICAweDEuMzMzMzMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgLTB4MS4yYTczYTU0ODE1MzZiYzVhZjA2YjZkZjQ1MzFmMmM0NXAtMiwKKyAgICAtMHgxLjMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIDB4MS4yYTczYTcxZGNlYzE1YWU1ZWFkMDBhZGQ0Mjk0ZTc1NHAtMiwKKyAgICAweDEuMzMzMzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzAzCisgICAgLTB4MS4yYTczYTcxZGNlYzE1YWU1ZWFkMDBhZGQ0Mjk0ZTc1NHAtMiwKKyAgICAtMHgxLjMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDcwNAorICAgIDB4MS4yYTczYThmMzg4NGI3ODI4YjBjMDExMTI1NTEwM2RjM3AtMiwKKyAgICAweDEuMzMzMzM2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgLTB4MS4yYTczYThmMzg4NGI3ODI4YjBjMDExMTI1NTEwM2RjM3AtMiwKKyAgICAtMHgxLjMzMzMzNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS4yZmM0ODBmYTBlODg1NzBlZGEyMDA5MDExM2UyOWUzNnAtMSwKKyAgICAweDEuNTk0MzE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgLTB4MS4yZmM0ODBmYTBlODg1NzBlZGEyMDA5MDExM2UyOWUzNnAtMSwKKyAgICAtMHgxLjU5NDMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS4yZmM0ODI1YTAyZDNmOTc0MTU3ZmUzYzUwMGE3ZGVmYnAtMSwKKyAgICAweDEuNTk0MzE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgLTB4MS4yZmM0ODI1YTAyZDNmOTc0MTU3ZmUzYzUwMGE3ZGVmYnAtMSwKKyAgICAtMHgxLjU5NDMxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxMAorICAgIDB4MS4yZmM0ODNiOWY3MWU1NThkOTk5MjljYzhlNWRhMjlkZnAtMSwKKyAgICAweDEuNTk0MzFhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgLTB4MS4yZmM0ODNiOWY3MWU1NThkOTk5MjljYzhlNWRhMjlkZnAtMSwKKyAgICAtMHgxLjU5NDMxYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS41MzhmNTY3YTllZjkyNWQ5YmE5YTQyMzEwNDZlN2YyY3AtMSwKKyAgICAweDEuOGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgLTB4MS41MzhmNTY3YTllZjkyNWQ5YmE5YTQyMzEwNDZlN2YyY3AtMSwKKyAgICAtMHgxLjhmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS41MzhmNTdiODkwNjFlYjkxMjJkNTA5NmI3Y2YyNjdlYnAtMSwKKyAgICAweDEuOTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAtMHgxLjUzOGY1N2I4OTA2MWViOTEyMmQ1MDk2YjdjZjI2N2VicC0xLAorICAgIC0weDEuOTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTYKKyAgICAweDEuNTM4ZjU4ZjY4MWM5N2NjOWJkNWExMjc3ZTllMmYwZmJwLTEsCisgICAgMHgxLjkwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIC0weDEuNTM4ZjU4ZjY4MWM5N2NjOWJkNWExMjc3ZTllMmYwZmJwLTEsCisgICAgLTB4MS45MDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgMHgxLjkxY2QyMzk5ZDQzZmFiZjkwMTg3NTQ0Mjc2YTlmZGQ2cC01LAorICAgIDB4MS45MjFmYjRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAtMHgxLjkxY2QyMzk5ZDQzZmFiZjkwMTg3NTQ0Mjc2YTlmZGQ2cC01LAorICAgIC0weDEuOTIxZmI0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgMHgxLjkxY2QyNTk4OTkyZTM5NTliMzMwODlhZGM5MzFhZjFicC01LAorICAgIDB4MS45MjFmYjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAtMHgxLjkxY2QyNTk4OTkyZTM5NTliMzMwODlhZGM5MzFhZjFicC01LAorICAgIC0weDEuOTIxZmI2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgMHgxLjkxY2QyNzk3NWUxY2MzOWEwMjBlMTE1NTk1NmM5NzRlcC01LAorICAgIDB4MS45MjFmYjhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAtMHgxLjkxY2QyNzk3NWUxY2MzOWEwMjBlMTE1NTk1NmM5NzRlcC01LAorICAgIC0weDEuOTIxZmI4cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgMHgxLjkwZDZkZTdkZGEwNDAwODkzMmJiOWRjNmQ2NjYzZGZmcC00LAorICAgIDB4MS45MjFmYjRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAtMHgxLjkwZDZkZTdkZGEwNDAwODkzMmJiOWRjNmQ2NjYzZGZmcC00LAorICAgIC0weDEuOTIxZmI0cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLjkwZDZlMDc4ZjZjNDI1NTM0YTUyOTAwZDU1YzA3YzA4cC00LAorICAgIDB4MS45MjFmYjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICAtMHgxLjkwZDZlMDc4ZjZjNDI1NTM0YTUyOTAwZDU1YzA3YzA4cC00LAorICAgIC0weDEuOTIxZmI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgMHgxLjkwZDZlMjc0MTM4NDNkYzk4NGQ2ZDY5NmMxOGYxNTdhcC00LAorICAgIDB4MS45MjFmYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzQKKyAgICAtMHgxLjkwZDZlMjc0MTM4NDNkYzk4NGQ2ZDY5NmMxOGYxNTdhcC00LAorICAgIC0weDEuOTIxZmI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMHgxLjhkMTI4ZDc2NWMxNjNiYjJhNDY4NGIzNTliYzM3YjRhcC0zLAorICAgIDB4MS45MjFmYjRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAtMHgxLjhkMTI4ZDc2NWMxNjNiYjJhNDY4NGIzNTliYzM3YjRhcC0zLAorICAgIC0weDEuOTIxZmI0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgMHgxLjhkMTI4ZjYzNWE2Zjg1ZTA2Zjg4OGUwODg3Zjk5MDhmcC0zLAorICAgIDB4MS45MjFmYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAtMHgxLjhkMTI4ZjYzNWE2Zjg1ZTA2Zjg4OGUwODg3Zjk5MDhmcC0zLAorICAgIC0weDEuOTIxZmI2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzM5CisgICAgMHgxLjhkMTI5MTUwNThjOGExNzNlNmIyZDdjOGNmNWYwMTJhcC0zLAorICAgIDB4MS45MjFmYjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDAKKyAgICAtMHgxLjhkMTI5MTUwNThjOGExNzNlNmIyZDdjOGNmNWYwMTJhcC0zLAorICAgIC0weDEuOTIxZmI4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgMHgxLjdmMmQ2OTBiODc5ZjI2YjE2MzQzNTAxMDQ0NzhhMjA5cC0yLAorICAgIDB4MS45MjFmYjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAtMHgxLjdmMmQ2OTBiODc5ZjI2YjE2MzQzNTAxMDQ0NzhhMjA5cC0yLAorICAgIC0weDEuOTIxZmI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLjdmMmQ2YWM3MWY0YjE5YjM4Y2Y3OGJiYWRlYzE0MzVhcC0yLAorICAgIDB4MS45MjFmYjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAtMHgxLjdmMmQ2YWM3MWY0YjE5YjM4Y2Y3OGJiYWRlYzE0MzVhcC0yLAorICAgIC0weDEuOTIxZmI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQ1CisgICAgMHgxLjdmMmQ2YzgyYjZmNjc1YzkyYzlkZmE2MzVmMzE4ZWQ3cC0yLAorICAgIDB4MS45MjFmYjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAtMHgxLjdmMmQ2YzgyYjZmNjc1YzkyYzlkZmE2MzVmMzE4ZWQ3cC0yLAorICAgIC0weDEuOTIxZmI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLjU0ZTA0YjNkNDM1ODlkMGNjMGJkMzMyYzZhODIyZWNmcC0xLAorICAgIDB4MS45MjFmYjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAtMHgxLjU0ZTA0YjNkNDM1ODlkMGNjMGJkMzMyYzZhODIyZWNmcC0xLAorICAgIC0weDEuOTIxZmI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLjU0ZTA0Yzc5ZWQ5YTkzYjAxYzZhOTA2MmRiZDhlMGZmcC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTAKKyAgICAtMHgxLjU0ZTA0Yzc5ZWQ5YTkzYjAxYzZhOTA2MmRiZDhlMGZmcC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUxCisgICAgMHgxLjU0ZTA0ZGI2OTdkYjU2YWU0ODlmODk5ODZhMTRhMWI3cC0xLAorICAgIDB4MS45MjFmYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTIKKyAgICAtMHgxLjU0ZTA0ZGI2OTdkYjU2YWU0ODlmODk5ODZhMTRhMWI3cC0xLAorICAgIC0weDEuOTIxZmI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLjAwZmU5ODIxNGJkNDdiMDcyN2NlZjcwYWY2OGFjZWVlcDAsCisgICAgMHgxLjkyMWZiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU0CisgICAgLTB4MS4wMGZlOTgyMTRiZDQ3YjA3MjdjZWY3MGFmNjhhY2VlZXAwLAorICAgIC0weDEuOTIxZmI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuMDBmZTk4YjRmNTBkOGIzYzM2YjllMmExODBkOTdlZWFwMCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAtMHgxLjAwZmU5OGI0ZjUwZDhiM2MzNmI5ZTJhMTgwZDk3ZWVhcDAsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS4wMGZlOTk0ODllNDU4ZmRlYWY5YmU5NjhjYWI2ZGE2M3AwLAorICAgIDB4MS45MjFmYjhwMAorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIC0weDEuMDBmZTk5NDg5ZTQ1OGZkZWFmOWJlOTY4Y2FiNmRhNjNwMCwKKyAgICAtMHgxLjkyMWZiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLjQzM2I4OWY2ODNlZDdmYTU4MTdkODY1ZjRmNDBiNzcycDAsCisgICAgMHgxLjkyMWZiNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgLTB4MS40MzNiODlmNjgzZWQ3ZmE1ODE3ZDg2NWY0ZjQwYjc3MnAwLAorICAgIC0weDEuOTIxZmI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuNDMzYjhhNTRiOTE2ZDdlYjI3Y2VlNjI5MzA2NmU5ZjZwMCwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAtMHgxLjQzM2I4YTU0YjkxNmQ3ZWIyN2NlZTYyOTMwNjZlOWY2cDAsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS40MzNiOGFiMmVlM2Y1NjVkMDQzNDQ0NTk4NTJmYmNmNHAwLAorICAgIDB4MS45MjFmYjhwMQorICB9LAorICB7IC8vIEVudHJ5IDc2NAorICAgIC0weDEuNDMzYjhhYjJlZTNmNTY1ZDA0MzQ0NDU5ODUyZmJjZjRwMCwKKyAgICAtMHgxLjkyMWZiOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLjY5YjgxNTJiYTQ0YTQ5Y2FiMzgxYTgyZDNlZmJmNzAycDAsCisgICAgMHgxLjkyMWZiNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgLTB4MS42OWI4MTUyYmE0NGE0OWNhYjM4MWE4MmQzZWZiZjcwMnAwLAorICAgIC0weDEuOTIxZmI0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuNjliODE1NWUzYzkzNGU2Y2U2M2EzNDRiMjk1NmFiNTBwMCwKKyAgICAweDEuOTIxZmI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAtMHgxLjY5YjgxNTVlM2M5MzRlNmNlNjNhMzQ0YjI5NTZhYjUwcDAsCisgICAgLTB4MS45MjFmYjZwMgorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIDB4MS42OWI4MTU5MGQ0ZGJkNTY3MzMxYzBkYzRiN2ZkMDQ3YnAwLAorICAgIDB4MS45MjFmYjhwMgorICB9LAorICB7IC8vIEVudHJ5IDc3MAorICAgIC0weDEuNjliODE1OTBkNGRiZDU2NzMzMWMwZGM0YjdmZDA0N2JwMCwKKyAgICAtMHgxLjkyMWZiOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLjdkY2I3YzRiZTZiNGJlNjQ0ZDdkYjA5OGM2OGU2ZTVlcDAsCisgICAgMHgxLjkyMWZiNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgLTB4MS43ZGNiN2M0YmU2YjRiZTY0NGQ3ZGIwOThjNjhlNmU1ZXAwLAorICAgIC0weDEuOTIxZmI0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzMKKyAgICAweDEuN2RjYjdjNjVhZDFiM2NjYjczNjBmMWI5Yjc3YmM1MTBwMCwKKyAgICAweDEuOTIxZmI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAtMHgxLjdkY2I3YzY1YWQxYjNjY2I3MzYwZjFiOWI3N2JjNTEwcDAsCisgICAgLTB4MS45MjFmYjZwMworICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIDB4MS43ZGNiN2M3ZjczODE3OWY5YTU4NDhiZDJmNmVhNzRwMCwKKyAgICAweDEuOTIxZmI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAtMHgxLjdkY2I3YzdmNzM4MTc5ZjlhNTg0OGJkMmY2ZWE3NHAwLAorICAgIC0weDEuOTIxZmI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAweDEuODdmMTdjZjU2ZDU4NTQ1NzJkOGVkNGI2ZDc2MjljYjdwMCwKKyAgICAweDEuOTIxZmI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAtMHgxLjg3ZjE3Y2Y1NmQ1ODU0NTcyZDhlZDRiNmQ3NjI5Y2I3cDAsCisgICAgLTB4MS45MjFmYjRwNAorICB9LAorICB7IC8vIEVudHJ5IDc3OQorICAgIDB4MS44N2YxN2QwMjYwMzA5NTEzODhlZGZmNjA0YzViMzFhY3AwLAorICAgIDB4MS45MjFmYjZwNAorICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIC0weDEuODdmMTdkMDI2MDMwOTUxMzg4ZWRmZjYwNGM1YjMxYWNwMCwKKyAgICAtMHgxLjkyMWZiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNzgxCisgICAgMHgxLjg3ZjE3ZDBmNTMwOGI0ZTQwZDY2ODg0YmZkYTcxZjE2cDAsCisgICAgMHgxLjkyMWZiOHA0CisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgLTB4MS44N2YxN2QwZjUzMDhiNGU0MGQ2Njg4NGJmZGE3MWYxNnAwLAorICAgIC0weDEuOTIxZmI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuOGQwODE1MmFjMmM5ZjgwNTEwYjY3ZmU4Njg4ZmUwMGJwMCwKKyAgICAweDEuOTIxZmI0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODQKKyAgICAtMHgxLjhkMDgxNTJhYzJjOWY4MDUxMGI2N2ZlODY4OGZlMDBicDAsCisgICAgLTB4MS45MjFmYjRwNQorICB9LAorICB7IC8vIEVudHJ5IDc4NQorICAgIDB4MS44ZDA4MTUzMTNlMmRiMTIzNmI3NDE2YWFmMzE3ODRlZHAwLAorICAgIDB4MS45MjFmYjZwNQorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIC0weDEuOGQwODE1MzEzZTJkYjEyMzZiNzQxNmFhZjMxNzg0ZWRwMCwKKyAgICAtMHgxLjkyMWZiNnA1CisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgMHgxLjhkMDgxNTM3Yjk5MTU5YzFkODdiNDkwODliNDYyNTlicDAsCisgICAgMHgxLjkyMWZiOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgLTB4MS44ZDA4MTUzN2I5OTE1OWMxZDg3YjQ5MDg5YjQ2MjU5YnAwLAorICAgIC0weDEuOTIxZmI4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuOGY5M2Q0YjU3ZGRlMWFlODg4Nzc2ZGY5NTkyNDBhMjlwMCwKKyAgICAweDEuOTIxZmI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAtMHgxLjhmOTNkNGI1N2RkZTFhZTg4ODc3NmRmOTU5MjQwYTI5cDAsCisgICAgLTB4MS45MjFmYjRwNgorICB9LAorICB7IC8vIEVudHJ5IDc5MQorICAgIDB4MS44ZjkzZDRiOGJiY2YwMjdhMjBjOGYyZjE0OTZlZDU4MXAwLAorICAgIDB4MS45MjFmYjZwNgorICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIC0weDEuOGY5M2Q0YjhiYmNmMDI3YTIwYzhmMmYxNDk2ZWQ1ODFwMCwKKyAgICAtMHgxLjkyMWZiNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNzkzCisgICAgMHgxLjhmOTNkNGJiZjliZmUxY2E4MTQwNGZmYjExNDYwMWVmcDAsCisgICAgMHgxLjkyMWZiOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgLTB4MS44ZjkzZDRiYmY5YmZlMWNhODE0MDRmZmIxMTQ2MDFlZnAwLAorICAgIC0weDEuOTIxZmI4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAweDEuOTBkOWMyZWM4MTlmMTdiNGQ4MDYyZGY2NWM3OTY4NmVwMCwKKyAgICAweDEuOTIxZmI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAtMHgxLjkwZDljMmVjODE5ZjE3YjRkODA2MmRmNjVjNzk2ODZlcDAsCisgICAgLTB4MS45MjFmYjRwNworICB9LAorICB7IC8vIEVudHJ5IDc5NworICAgIDB4MS45MGQ5YzJlZTIwOWY2ZDlkOTEwYmFiZTdmNjJlN2E3MXAwLAorICAgIDB4MS45MjFmYjZwNworICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIC0weDEuOTBkOWMyZWUyMDlmNmQ5ZDkxMGJhYmU3ZjYyZTdhNzFwMCwKKyAgICAtMHgxLjkyMWZiNnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzk5CisgICAgMHgxLjkwZDljMmVmYmY5ZmJmNjU4NWZlN2Y4NzllMzBjYjI3cDAsCisgICAgMHgxLjkyMWZiOHA3CisgIH0sCisgIHsgLy8gRW50cnkgODAwCisgICAgLTB4MS45MGQ5YzJlZmJmOWZiZjY1ODVmZTdmODc5ZTMwY2IyN3AwLAorICAgIC0weDEuOTIxZmI4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAweDEuMmI1ZjRhMWYxODZhNGY0Y2NlODQ2MzNkNGU4OGM2ZTNwMCwKKyAgICAweDEuMmQ5N2M0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAtMHgxLjJiNWY0YTFmMTg2YTRmNGNjZTg0NjMzZDRlODhjNmUzcDAsCisgICAgLTB4MS4yZDk3YzRwMQorICB9LAorICB7IC8vIEVudHJ5IDgwMworICAgIDB4MS4yYjVmNGFiYjY0NTBjZmUzOTRiMTFkMDE5MGIwMTJhMnAwLAorICAgIDB4MS4yZDk3YzZwMQorICB9LAorICB7IC8vIEVudHJ5IDgwNAorICAgIC0weDEuMmI1ZjRhYmI2NDUwY2ZlMzk0YjExZDAxOTBiMDEyYTJwMCwKKyAgICAtMHgxLjJkOTdjNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgMHgxLjJiNWY0YjU3YjAzNThlY2Q1YzRlZjJjZjhlZWNhOGI1cDAsCisgICAgMHgxLjJkOTdjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgLTB4MS4yYjVmNGI1N2IwMzU4ZWNkNWM0ZWYyY2Y4ZWVjYThiNXAwLAorICAgIC0weDEuMmQ5N2M4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDcKKyAgICAweDEuNTI0YTY5YWM3MzliZThhYTQ0ODE5ZGEyYzQ2ZGRlZmZwMCwKKyAgICAweDEuZjZhN2EwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAtMHgxLjUyNGE2OWFjNzM5YmU4YWE0NDgxOWRhMmM0NmRkZWZmcDAsCisgICAgLTB4MS5mNmE3YTBwMQorICB9LAorICB7IC8vIEVudHJ5IDgwOQorICAgIDB4MS41MjRhNjllYWNmNGYzMGRkNzkzMDA5NGMyYzU0MjJmYXAwLAorICAgIDB4MS5mNmE3YTJwMQorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIC0weDEuNTI0YTY5ZWFjZjRmMzBkZDc5MzAwOTRjMmM1NDIyZmFwMCwKKyAgICAtMHgxLmY2YTdhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODExCisgICAgMHgxLjUyNGE2YTI5MmIwMjAxYzQxZGY3NmY5ODU2ZWE3OTNlcDAsCisgICAgMHgxLmY2YTdhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgLTB4MS41MjRhNmEyOTJiMDIwMWM0MWRmNzZmOTg1NmVhNzkzZXAwLAorICAgIC0weDEuZjZhN2E0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTMKKyAgICAweDEuNWM5N2QyY2Y0ZDQ3YzM5ZTFkMzM2MmM1YzZjYjQ2NWVwMCwKKyAgICAweDEuMmQ5N2M0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAtMHgxLjVjOTdkMmNmNGQ0N2MzOWUxZDMzNjJjNWM2Y2I0NjVlcDAsCisgICAgLTB4MS4yZDk3YzRwMgorICB9LAorICB7IC8vIEVudHJ5IDgxNQorICAgIDB4MS41Yzk3ZDMyNzhkNzg4Mjg3MTRlMWRiMzczYzAxYzQyOHAwLAorICAgIDB4MS4yZDk3YzZwMgorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIC0weDEuNWM5N2QzMjc4ZDc4ODI4NzE0ZTFkYjM3M2MwMWM0MjhwMCwKKyAgICAtMHgxLjJkOTdjNnAyCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgMHgxLjVjOTdkMzdmY2RhODIyYjYxMmNjMzA1YWNkYjM3MTlhcDAsCisgICAgMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgLTB4MS41Yzk3ZDM3ZmNkYTgyMmI2MTJjYzMwNWFjZGIzNzE5YXAwLAorICAgIC0weDEuMmQ5N2M4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAweDEuNjQxMDJmNmZlODk5Nzg4NzllYzFlYjkzODEyN2YzNDdwMCwKKyAgICAweDEuNWZkYmJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICAtMHgxLjY0MTAyZjZmZTg5OTc4ODc5ZWMxZWI5MzgxMjdmMzQ3cDAsCisgICAgLTB4MS41ZmRiYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDgyMQorICAgIDB4MS42NDEwMmZiMTdlZTRiZDc4NGMwYmMzYzRiODdiMTJkYnAwLAorICAgIDB4MS41ZmRiYmVwMgorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIC0weDEuNjQxMDJmYjE3ZWU0YmQ3ODRjMGJjM2M0Yjg3YjEyZGJwMCwKKyAgICAtMHgxLjVmZGJiZXAyCisgIH0sCisgIHsgLy8gRW50cnkgODIzCisgICAgMHgxLjY0MTAyZmYzMTUyZjQ5YTViMjViYmJlZDBlMjk4Nzg5cDAsCisgICAgMHgxLjVmZGJjMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODI0CisgICAgLTB4MS42NDEwMmZmMzE1MmY0OWE1YjI1YmJiZWQwZTI5ODc4OXAwLAorICAgIC0weDEuNWZkYmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAweDEuNmUyNTYxNTdmMDhhZjI4ZjhmYmNiMmYxMDBiNDI3YjJwMCwKKyAgICAweDEuYzQ2M2E4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAtMHgxLjZlMjU2MTU3ZjA4YWYyOGY4ZmJjYjJmMTAwYjQyN2IycDAsCisgICAgLTB4MS5jNDYzYThwMgorICB9LAorICB7IC8vIEVudHJ5IDgyNworICAgIDB4MS42ZTI1NjE4MDFmYzk4OTQ5ZTQ3MWI4N2RkOWUxNjVhZHAwLAorICAgIDB4MS5jNDYzYWFwMgorICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0weDEuNmUyNTYxODAxZmM5ODk0OWU0NzFiODdkZDllMTY1YWRwMCwKKyAgICAtMHgxLmM0NjNhYXAyCisgIH0sCisgIHsgLy8gRW50cnkgODI5CisgICAgMHgxLjZlMjU2MWE4NGYwN2M2ZDc4ZjM1MWY3NzhjYTQ4ZWUxcDAsCisgICAgMHgxLmM0NjNhY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODMwCisgICAgLTB4MS42ZTI1NjFhODRmMDdjNmQ3OGYzNTFmNzc4Y2E0OGVlMXAwLAorICAgIC0weDEuYzQ2M2FjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAweDEuNzFiNDBmZTRkNjI2NGY2ZGNiNWFhOTNkODFlZWUzMzRwMCwKKyAgICAweDEuZjZhN2EwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzIKKyAgICAtMHgxLjcxYjQwZmU0ZDYyNjRmNmRjYjVhYTkzZDgxZWVlMzM0cDAsCisgICAgLTB4MS5mNmE3YTBwMgorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIDB4MS43MWI0MTAwNTgxZmY2ZGY0ZDBlNDNhZGMxYzZkZjM5NHAwLAorICAgIDB4MS5mNmE3YTJwMgorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIC0weDEuNzFiNDEwMDU4MWZmNmRmNGQwZTQzYWRjMWM2ZGYzOTRwMCwKKyAgICAtMHgxLmY2YTdhMnAyCisgIH0sCisgIHsgLy8gRW50cnkgODM1CisgICAgMHgxLjcxYjQxMDI2MmRkODRhZmNmNjEyOGIwMDIyMzg2NGQ0cDAsCisgICAgMHgxLmY2YTdhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODM2CisgICAgLTB4MS43MWI0MTAyNjJkZDg0YWZjZjYxMjhiMDAyMjM4NjRkNHAwLAorICAgIC0weDEuZjZhN2E0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAweDEuNzQ5Zjk1YzI4NjU1ZTI3MTg1YmRmNzYxMWJmNmRhYmFwMCwKKyAgICAweDEuMTQ3NWNhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAtMHgxLjc0OWY5NWMyODY1NWUyNzE4NWJkZjc2MTFiZjZkYWJhcDAsCisgICAgLTB4MS4xNDc1Y2FwMworICB9LAorICB7IC8vIEVudHJ5IDgzOQorICAgIDB4MS43NDlmOTVmOGFkNDJiZmM4NGNkODIxNjM4ZDA1MjcyZXAwLAorICAgIDB4MS4xNDc1Y2NwMworICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIC0weDEuNzQ5Zjk1ZjhhZDQyYmZjODRjZDgyMTYzOGQwNTI3MmVwMCwKKyAgICAtMHgxLjE0NzVjY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODQxCisgICAgMHgxLjc0OWY5NjJlZDQyZWQ3MzIxNTYxMDMwOTAwNDNmZTIwcDAsCisgICAgMHgxLjE0NzVjZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODQyCisgICAgLTB4MS43NDlmOTYyZWQ0MmVkNzMyMTU2MTAzMDkwMDQzZmUyMHAwLAorICAgIC0weDEuMTQ3NWNlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICAweDEuNzcxMDBhNjFkMTFiZDM2ODNlZjdmMTNlMGUyZDM3MTRwMCwKKyAgICAweDEuMmQ5N2M0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDQKKyAgICAtMHgxLjc3MTAwYTYxZDExYmQzNjgzZWY3ZjEzZTBlMmQzNzE0cDAsCisgICAgLTB4MS4yZDk3YzRwMworICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIDB4MS43NzEwMGE4ZjZhNzdkMjVlNjBjOGFjNmIzNjhjZWQ3Y3AwLAorICAgIDB4MS4yZDk3YzZwMworICB9LAorICB7IC8vIEVudHJ5IDg0NgorICAgIC0weDEuNzcxMDBhOGY2YTc3ZDI1ZTYwYzhhYzZiMzY4Y2VkN2NwMCwKKyAgICAtMHgxLjJkOTdjNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODQ3CisgICAgMHgxLjc3MTAwYWJkMDNkMzM4M2IyMDBjMzQ5YTI4OGQwODU4cDAsCisgICAgMHgxLjJkOTdjOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODQ4CisgICAgLTB4MS43NzEwMGFiZDAzZDMzODNiMjAwYzM0OWEyODhkMDg1OHAwLAorICAgIC0weDEuMmQ5N2M4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDkKKyAgICAweDEuNzkyMTZiNTRlNzY5MGY1ZGM2MGM5ZjlhZDE4YzJmZTRwMCwKKyAgICAweDEuNDZiOWMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICAtMHgxLjc5MjE2YjU0ZTc2OTBmNWRjNjBjOWY5YWQxOGMyZmU0cDAsCisgICAgLTB4MS40NmI5YzBwMworICB9LAorICB7IC8vIEVudHJ5IDg1MQorICAgIDB4MS43OTIxNmI3YmQyNTkwZWJjODE2MGEyZTIyODhiMjEzY3AwLAorICAgIDB4MS40NmI5YzJwMworICB9LAorICB7IC8vIEVudHJ5IDg1MgorICAgIC0weDEuNzkyMTZiN2JkMjU5MGViYzgxNjBhMmUyMjg4YjIxM2NwMCwKKyAgICAtMHgxLjQ2YjljMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgMHgxLjc5MjE2YmEyYmQ0ODk1NGFjYzQ3ZmIyNDM2NjM4OWRjcDAsCisgICAgMHgxLjQ2YjljNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgLTB4MS43OTIxNmJhMmJkNDg5NTRhY2M0N2ZiMjQzNjYzODlkY3AwLAorICAgIC0weDEuNDZiOWM0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTUKKyAgICAweDEuN2FlN2Q3YjlmZmYxYjhmYzFhMTkwY2IwOWVjMTkyMTJwMCwKKyAgICAweDEuNWZkYmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTYKKyAgICAtMHgxLjdhZTdkN2I5ZmZmMWI4ZmMxYTE5MGNiMDllYzE5MjEycDAsCisgICAgLTB4MS41ZmRiYmNwMworICB9LAorICB7IC8vIEVudHJ5IDg1NworICAgIDB4MS43YWU3ZDdkYjk5YjFiNDhmNzRhNDc1NTBkZDI3NzVmYnAwLAorICAgIDB4MS41ZmRiYmVwMworICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIC0weDEuN2FlN2Q3ZGI5OWIxYjQ4Zjc0YTQ3NTUwZGQyNzc1ZmJwMCwKKyAgICAtMHgxLjVmZGJiZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgMHgxLjdhZTdkN2ZkMzM3MTRmMjZkMjU2YmFlN2I4ZGEyNjljcDAsCisgICAgMHgxLjVmZGJjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgLTB4MS43YWU3ZDdmZDMzNzE0ZjI2ZDI1NmJhZTdiOGRhMjY5Y3AwLAorICAgIC0weDEuNWZkYmMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAweDEuN2M3MjI0M2M4MjEwODRhODBjZTU5MTFmNmUzZGVhNWRwMCwKKyAgICAweDEuNzhmZGI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICAtMHgxLjdjNzIyNDNjODIxMDg0YTgwY2U1OTExZjZlM2RlYTVkcDAsCisgICAgLTB4MS43OGZkYjZwMworICB9LAorICB7IC8vIEVudHJ5IDg2MworICAgIDB4MS43YzcyMjQ1OWNmMTM3YWMyNThjM2I3MjM3NjA0ZTA4ZXAwLAorICAgIDB4MS43OGZkYjhwMworICB9LAorICB7IC8vIEVudHJ5IDg2NAorICAgIC0weDEuN2M3MjI0NTljZjEzN2FjMjU4YzNiNzIzNzYwNGUwOGVwMCwKKyAgICAtMHgxLjc4ZmRiOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgMHgxLjdjNzIyNDc3MWMxNjIxZDdkMDEwODkxY2M2Y2JkOTFlcDAsCisgICAgMHgxLjc4ZmRiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgODY2CisgICAgLTB4MS43YzcyMjQ3NzFjMTYyMWQ3ZDAxMDg5MWNjNmNiZDkxZXAwLAorICAgIC0weDEuNzhmZGJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAweDEuN2VmYzcwZmVmMDA3OWQwZjQ4YjZkOTQwMmIyNmQ5MDVwMCwKKyAgICAweDEuYWI0MWFlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjgKKyAgICAtMHgxLjdlZmM3MGZlZjAwNzlkMGY0OGI2ZDk0MDJiMjZkOTA1cDAsCisgICAgLTB4MS5hYjQxYWVwMworICB9LAorICB7IC8vIEVudHJ5IDg2OQorICAgIDB4MS43ZWZjNzExNWM5MmVkN2I0MTk5YzQ3MDcxMjdjYjU0YnAwLAorICAgIDB4MS5hYjQxYjBwMworICB9LAorICB7IC8vIEVudHJ5IDg3MAorICAgIC0weDEuN2VmYzcxMTVjOTJlZDdiNDE5OWM0NzA3MTI3Y2I1NGJwMCwKKyAgICAtMHgxLmFiNDFiMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODcxCisgICAgMHgxLjdlZmM3MTJjYTI1NWRiZTQ4N2I4YTI3MDdlN2MwMzE5cDAsCisgICAgMHgxLmFiNDFiMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODcyCisgICAgLTB4MS43ZWZjNzEyY2EyNTVkYmU0ODdiOGEyNzA3ZTdjMDMxOXAwLAorICAgIC0weDEuYWI0MWIycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAweDEuODAwYmIxMzdmOTcxNWFkNjIyYWZmMmFlYTEzMGRjZTBwMCwKKyAgICAweDEuYzQ2M2E4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICAtMHgxLjgwMGJiMTM3Zjk3MTVhZDYyMmFmZjJhZWExMzBkY2UwcDAsCisgICAgLTB4MS5jNDYzYThwMworICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIDB4MS44MDBiYjE0YzVkZTNhNTA5MjQ1MTY4MDdhMmFjZjNmZXAwLAorICAgIDB4MS5jNDYzYWFwMworICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC0weDEuODAwYmIxNGM1ZGUzYTUwOTI0NTE2ODA3YTJhY2YzZmVwMCwKKyAgICAtMHgxLmM0NjNhYXAzCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgMHgxLjgwMGJiMTYwYzI1NWMxNGU0ZTI3ZmYxNDA5ZDQyMmUzcDAsCisgICAgMHgxLmM0NjNhY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODc4CisgICAgLTB4MS44MDBiYjE2MGMyNTVjMTRlNGUyN2ZmMTQwOWQ0MjJlM3AwLAorICAgIC0weDEuYzQ2M2FjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAweDEuODBmZTg2OTM2NzkwYmNmODc1YzVmZTJmYjU0N2Q1NjVwMCwKKyAgICAweDEuZGQ4NWE0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODAKKyAgICAtMHgxLjgwZmU4NjkzNjc5MGJjZjg3NWM1ZmUyZmI1NDdkNTY1cDAsCisgICAgLTB4MS5kZDg1YTRwMworICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIDB4MS44MGZlODZhNWI3NTgxMTdkMGQ1NjE5ZDA2YWIyNzMxOHAwLAorICAgIDB4MS5kZDg1YTZwMworICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0weDEuODBmZTg2YTViNzU4MTE3ZDBkNTYxOWQwNmFiMjczMThwMCwKKyAgICAtMHgxLmRkODVhNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODgzCisgICAgMHgxLjgwZmU4NmI4MDcxZjNlZWExOGI1YjczZmY3ZjJlNGE5cDAsCisgICAgMHgxLmRkODVhOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODg0CisgICAgLTB4MS44MGZlODZiODA3MWYzZWVhMThiNWI3M2ZmN2YyZTRhOXAwLAorICAgIC0weDEuZGQ4NWE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAweDEuODFkOTJkZDljYWYxMzI4YmM2YjM3NTE0MzIzN2NiMGZwMCwKKyAgICAweDEuZjZhN2EwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODYKKyAgICAtMHgxLjgxZDkyZGQ5Y2FmMTMyOGJjNmIzNzUxNDMyMzdjYjBmcDAsCisgICAgLTB4MS5mNmE3YTBwMworICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIDB4MS44MWQ5MmRlYTUzODFkMTg0MzZjOTFkYzE1ZmJjNjQ2ZHAwLAorICAgIDB4MS5mNmE3YTJwMworICB9LAorICB7IC8vIEVudHJ5IDg4OAorICAgIC0weDEuODFkOTJkZWE1MzgxZDE4NDM2YzkxZGMxNWZiYzY0NmRwMCwKKyAgICAtMHgxLmY2YTdhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgMHgxLjgxZDkyZGZhZGMxMjRlZjBmMjQ3N2UzNmU2ZjY4Zjc0cDAsCisgICAgMHgxLmY2YTdhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODkwCisgICAgLTB4MS44MWQ5MmRmYWRjMTI0ZWYwZjI0NzdlMzZlNmY2OGY3NHAwLAorICAgIC0weDEuZjZhN2E0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTEKKyAgICAweDEuODI5ZjE2OGYyNDI2ZTVhYWFkZTZhZjRjNWZkZTg5MGFwMCwKKyAgICAweDEuMDdlNGNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTIKKyAgICAtMHgxLjgyOWYxNjhmMjQyNmU1YWFhZGU2YWY0YzVmZGU4OTBhcDAsCisgICAgLTB4MS4wN2U0Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDg5MworICAgIDB4MS44MjlmMTZhZDI1Mjg2MTZiODI1Yjk3MjYxYjgyYjA2OXAwLAorICAgIDB4MS4wN2U0Y2VwNAorICB9LAorICB7IC8vIEVudHJ5IDg5NAorICAgIC0weDEuODI5ZjE2YWQyNTI4NjE2YjgyNWI5NzI2MWI4MmIwNjlwMCwKKyAgICAtMHgxLjA3ZTRjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgMHgxLjgyOWYxNmNiMjYyOTY5MmM4NTNjOTY4NDJhMGJlOTg3cDAsCisgICAgMHgxLjA3ZTRkMHA0CisgIH0sCisgIHsgLy8gRW50cnkgODk2CisgICAgLTB4MS44MjlmMTZjYjI2Mjk2OTJjODUzYzk2ODQyYTBiZTk4N3AwLAorICAgIC0weDEuMDdlNGQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAweDEuODM1MzExYTEyNDU5NDU1YWM4MmViMTU2NjA5MjdlYThwMCwKKyAgICAweDEuMTQ3NWNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTgKKyAgICAtMHgxLjgzNTMxMWExMjQ1OTQ1NWFjODJlYjE1NjYwOTI3ZWE4cDAsCisgICAgLTB4MS4xNDc1Y2FwNAorICB9LAorICB7IC8vIEVudHJ5IDg5OQorICAgIDB4MS44MzUzMTFiYzdkM2E5NDRhNDcwNDg5YTdlNGQ3OWM4OXAwLAorICAgIDB4MS4xNDc1Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC0weDEuODM1MzExYmM3ZDNhOTQ0YTQ3MDQ4OWE3ZTRkNzljODlwMCwKKyAgICAtMHgxLjE0NzVjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTAxCisgICAgMHgxLjgzNTMxMWQ3ZDYxYjdlNDU0YWZiZGE2ZmMzNzgwZjlicDAsCisgICAgMHgxLjE0NzVjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTAyCisgICAgLTB4MS44MzUzMTFkN2Q2MWI3ZTQ1NGFmYmRhNmZjMzc4MGY5YnAwLAorICAgIC0weDEuMTQ3NWNlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAweDEuODNmNzcyZmI4YzY1NmJmMjg2YmZiOThlMWI2YzIyOTdwMCwKKyAgICAweDEuMjEwNmM4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAtMHgxLjgzZjc3MmZiOGM2NTZiZjI4NmJmYjk4ZTFiNmMyMjk3cDAsCisgICAgLTB4MS4yMTA2YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIDB4MS44M2Y3NzMxNDkzOGViNmYyMDllOWQ2ZjE2MmNlYjIxOHAwLAorICAgIDB4MS4yMTA2Y2FwNAorICB9LAorICB7IC8vIEVudHJ5IDkwNgorICAgIC0weDEuODNmNzczMTQ5MzhlYjZmMjA5ZTlkNmYxNjJjZWIyMThwMCwKKyAgICAtMHgxLjIxMDZjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTA3CisgICAgMHgxLjgzZjc3MzJkOWFiN2E5OGFjYzYwZGI4MTlkYjgxMDUwcDAsCisgICAgMHgxLjIxMDZjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTA4CisgICAgLTB4MS44M2Y3NzMyZDlhYjdhOThhY2M2MGRiODE5ZGI4MTA1MHAwLAorICAgIC0weDEuMjEwNmNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDkKKyAgICAweDEuODQ4ZTJiYmYxMTJiN2MyODc2NjU3YTJhODZkZjk5MTJwMCwKKyAgICAweDEuMmQ5N2M0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTAKKyAgICAtMHgxLjg0OGUyYmJmMTEyYjdjMjg3NjY1N2EyYTg2ZGY5OTEycDAsCisgICAgLTB4MS4yZDk3YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkxMQorICAgIDB4MS44NDhlMmJkNjBlZmUyYjk2MTJiNWZjODA2ZmQ0MThkOXAwLAorICAgIDB4MS4yZDk3YzZwNAorICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIC0weDEuODQ4ZTJiZDYwZWZlMmI5NjEyYjVmYzgwNmZkNDE4ZDlwMCwKKyAgICAtMHgxLjJkOTdjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTEzCisgICAgMHgxLjg0OGUyYmVkMGNkMDhkMmI5YTllZmMwOTU0MTUzYzQ4cDAsCisgICAgMHgxLjJkOTdjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgLTB4MS44NDhlMmJlZDBjZDA4ZDJiOWE5ZWZjMDk1NDE1M2M0OHAwLAorICAgIC0weDEuMmQ5N2M4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTUKKyAgICAweDEuODUxOGRlMjRmYjVlMjNiMmZmMGNjNDE3YjMzOGY0MTBwMCwKKyAgICAweDEuM2EyOGMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTYKKyAgICAtMHgxLjg1MThkZTI0ZmI1ZTIzYjJmZjBjYzQxN2IzMzhmNDEwcDAsCisgICAgLTB4MS4zYTI4YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkxNworICAgIDB4MS44NTE4ZGUzYTJjZWY4ZjFkOGViODQwYzE5NWY3YWVjNnAwLAorICAgIDB4MS4zYTI4YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkxOAorICAgIC0weDEuODUxOGRlM2EyY2VmOGYxZDhlYjg0MGMxOTVmN2FlYzZwMCwKKyAgICAtMHgxLjNhMjhjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgMHgxLjg1MThkZTRmNWU4MGI1YTE0NGNjYjQ0MjI4Njk5M2YycDAsCisgICAgMHgxLjNhMjhjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgLTB4MS44NTE4ZGU0ZjVlODBiNWExNDRjY2I0NDIyODY5OTNmMnAwLAorICAgIC0weDEuM2EyOGM2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjEKKyAgICAweDEuODU5OGVjMTRmNDU1OWZiN2NlNmY5N2Y4YjBjZTk3NzJwMCwKKyAgICAweDEuNDZiOWMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjIKKyAgICAtMHgxLjg1OThlYzE0ZjQ1NTlmYjdjZTZmOTdmOGIwY2U5NzcycDAsCisgICAgLTB4MS40NmI5YzBwNAorICB9LAorICB7IC8vIEVudHJ5IDkyMworICAgIDB4MS44NTk4ZWMyODhkOGU2MWEyNGYzMTYzNzM3OTUwM2ZjNXAwLAorICAgIDB4MS40NmI5YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIC0weDEuODU5OGVjMjg4ZDhlNjFhMjRmMzE2MzczNzk1MDNmYzVwMCwKKyAgICAtMHgxLjQ2YjljMnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI1CisgICAgMHgxLjg1OThlYzNjMjZjNmU2NDVkMTE3YjBiNGQwYjkwNzE2cDAsCisgICAgMHgxLjQ2YjljNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgLTB4MS44NTk4ZWMzYzI2YzZlNjQ1ZDExN2IwYjRkMGI5MDcxNnAwLAorICAgIC0weDEuNDZiOWM0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjcKKyAgICAweDEuODYwZjgzNTM5OGQzNzA0MGRkYzJkNzAxN2JmOTIwOTlwMCwKKyAgICAweDEuNTM0YWJlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjgKKyAgICAtMHgxLjg2MGY4MzUzOThkMzcwNDBkZGMyZDcwMTdiZjkyMDk5cDAsCisgICAgLTB4MS41MzRhYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDkyOQorICAgIDB4MS44NjBmODM2NWM2MTdkNTg2YTE0YjQ0OTMwYWYyNzA0YXAwLAorICAgIDB4MS41MzRhYzBwNAorICB9LAorICB7IC8vIEVudHJ5IDkzMAorICAgIC0weDEuODYwZjgzNjVjNjE3ZDU4NmExNGI0NDkzMGFmMjcwNGFwMCwKKyAgICAtMHgxLjUzNGFjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTMxCisgICAgMHgxLjg2MGY4Mzc3ZjM1YzA0MGZjNDEyMzBkYjI4MzRhMzc5cDAsCisgICAgMHgxLjUzNGFjMnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTMyCisgICAgLTB4MS44NjBmODM3N2YzNWMwNDBmYzQxMjMwZGIyODM0YTM3OXAwLAorICAgIC0weDEuNTM0YWMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzMKKyAgICAweDEuODY3ZGE2YjI2ZjlhYzJmYTRjMWQ3MGI3NTMyY2I2YWVwMCwKKyAgICAweDEuNWZkYmJjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzQKKyAgICAtMHgxLjg2N2RhNmIyNmY5YWMyZmE0YzFkNzBiNzUzMmNiNmFlcDAsCisgICAgLTB4MS41ZmRiYmNwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNQorICAgIDB4MS44NjdkYTZjMzU3MWFhZjBlOTdiNzVmZDgxMDJlMzEyYXAwLAorICAgIDB4MS41ZmRiYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNgorICAgIC0weDEuODY3ZGE2YzM1NzFhYWYwZTk3Yjc1ZmQ4MTAyZTMxMmFwMCwKKyAgICAtMHgxLjVmZGJiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM3CisgICAgMHgxLjg2N2RhNmQ0M2U5YTZhMGFiODQ0MjIxNTU5ZTBjYTRlcDAsCisgICAgMHgxLjVmZGJjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM4CisgICAgLTB4MS44NjdkYTZkNDNlOWE2YTBhYjg0NDIyMTU1OWUwY2E0ZXAwLAorICAgIC0weDEuNWZkYmMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzkKKyAgICAweDEuODZlNDM1NmY5ODA1ODk4ZWZmNzM5YmVlMDliMGViMmJwMCwKKyAgICAweDEuNmM2Y2JhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDAKKyAgICAtMHgxLjg2ZTQzNTZmOTgwNTg5OGVmZjczOWJlZTA5YjBlYjJicDAsCisgICAgLTB4MS42YzZjYmFwNAorICB9LAorICB7IC8vIEVudHJ5IDk0MQorICAgIDB4MS44NmU0MzU3ZjVhYzg2YjgxNDUzYTRiOWYxYWI0MmFjMnAwLAorICAgIDB4MS42YzZjYmNwNAorICB9LAorICB7IC8vIEVudHJ5IDk0MgorICAgIC0weDEuODZlNDM1N2Y1YWM4NmI4MTQ1M2E0YjlmMWFiNDJhYzJwMCwKKyAgICAtMHgxLjZjNmNiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTQzCisgICAgMHgxLjg2ZTQzNThmMWQ4YjIxNDAwYzUyNzNhYjIzMzIyY2M0cDAsCisgICAgMHgxLjZjNmNiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ0CisgICAgLTB4MS44NmU0MzU4ZjFkOGIyMTQwMGM1MjczYWIyMzMyMmNjNHAwLAorICAgIC0weDEuNmM2Y2JlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDUKKyAgICAweDEuODc0M2YxMGVmYTYzOWVhYWY0MDVlODNmODRhOTkxYmJwMCwKKyAgICAweDEuNzhmZGI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDYKKyAgICAtMHgxLjg3NDNmMTBlZmE2MzllYWFmNDA1ZTgzZjg0YTk5MWJicDAsCisgICAgLTB4MS43OGZkYjZwNAorICB9LAorICB7IC8vIEVudHJ5IDk0NworICAgIDB4MS44NzQzZjExZGI1MjAxZTAwZmJhMzY5MzEyOWNlYWFhZHAwLAorICAgIDB4MS43OGZkYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk0OAorICAgIC0weDEuODc0M2YxMWRiNTIwMWUwMGZiYTM2OTMxMjljZWFhYWRwMCwKKyAgICAtMHgxLjc4ZmRiOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ5CisgICAgMHgxLjg3NDNmMTJjNmZkYzc1NjcyZmYyOWNjZDZkNjQyM2NjcDAsCisgICAgMHgxLjc4ZmRiYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTUwCisgICAgLTB4MS44NzQzZjEyYzZmZGM3NTY3MmZmMjljY2Q2ZDY0MjNjY3AwLAorICAgIC0weDEuNzhmZGJhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAweDEuODc5ZDgyNWFiM2ZlNDlmNzExYjJmYTA5ZGYyYzU3MjZwMCwKKyAgICAweDEuODU4ZWI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTIKKyAgICAtMHgxLjg3OWQ4MjVhYjNmZTQ5ZjcxMWIyZmEwOWRmMmM1NzI2cDAsCisgICAgLTB4MS44NThlYjRwNAorICB9LAorICB7IC8vIEVudHJ5IDk1MworICAgIDB4MS44NzlkODI2ODdmYzg3NjIxMmI4NDc1ZTY0ZGU1OTZhNHAwLAorICAgIDB4MS44NThlYjZwNAorICB9LAorICB7IC8vIEVudHJ5IDk1NAorICAgIC0weDEuODc5ZDgyNjg3ZmM4NzYyMTJiODQ3NWU2NGRlNTk2YTRwMCwKKyAgICAtMHgxLjg1OGViNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTU1CisgICAgMHgxLjg3OWQ4Mjc2NGI5MjdlMTcyOGVkMTQ0ZjJkYjIxN2VicDAsCisgICAgMHgxLjg1OGViOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTU2CisgICAgLTB4MS44NzlkODI3NjRiOTI3ZTE3MjhlZDE0NGYyZGIyMTdlYnAwLAorICAgIC0weDEuODU4ZWI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTcKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2Nzg5OGNjMzE3MDFiNjM5YTJwMCwKKyAgICAweDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgOTU4CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY3ODk4Y2MzMTcwMWI2MzlhMnAwLAorICAgIC0weDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgOTU5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njc4OThjYzUxNzAxYjgzOWEycDAsCisgICAgMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDk2MAorICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2Nzg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICAtMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDk2MQorICAgIDB4MS45MjFmYjU0NDQyZDE4NDY3ODk4Y2M5MTcwMWIwMzlhMnAwLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjIKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njc4OThjYzkxNzAxYjAzOWEycDAsCisgICAgLTB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjMKKyAgICAweDEuOTIxZmI1MjQ0MmQxNjQ2OTg5NmNlZmMxOGNlMmU0MmRwMCwKKyAgICAweDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgOTY0CisgICAgLTB4MS45MjFmYjUyNDQyZDE2NDY5ODk2Y2VmYzE4Y2UyZTQyZHAwLAorICAgIC0weDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgOTY1CisgICAgMHgxLjkyMWZiNTI0NDJkMTg0Njk4OThjZWZjMWFjNjJlNDRjcDAsCisgICAgMHgxLnAyNworICB9LAorICB7IC8vIEVudHJ5IDk2NgorICAgIC0weDEuOTIxZmI1MjQ0MmQxODQ2OTg5OGNlZmMxYWM2MmU0NGNwMCwKKyAgICAtMHgxLnAyNworICB9LAorICB7IC8vIEVudHJ5IDk2NworICAgIDB4MS45MjFmYjUyNDQyZDFjNDY5ODkwY2VmYzJhYjYyZTI1MHAwLAorICAgIDB4MS4wMDAwMDJwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjgKKyAgICAtMHgxLjkyMWZiNTI0NDJkMWM0Njk4OTBjZWZjMmFiNjJlMjUwcDAsCisgICAgLTB4MS4wMDAwMDJwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjkKKyAgICAweDEuOTIxZmI0NDQ0MmQwODQ2OTg4ZTIxYTZjNTcwZDhmYzRwMCwKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTcwCisgICAgLTB4MS45MjFmYjQ0NDQyZDA4NDY5ODhlMjFhNmM1NzBkOGZjNHAwLAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTcxCisgICAgMHgxLjkyMWZiNDQ0NDJkMTg0Njk4OWUyMWE2YzU3MGQ4ZWM0cDAsCisgICAgMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDk3MgorICAgIC0weDEuOTIxZmI0NDQ0MmQxODQ2OTg5ZTIxYTZjNTcwZDhlYzRwMCwKKyAgICAtMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDk3MworICAgIDB4MS45MjFmYjQ0NDQyZDM4NDY5ODVlMjFhNzI1NzBkODZjNHAwLAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzQKKyAgICAtMHgxLjkyMWZiNDQ0NDJkMzg0Njk4NWUyMWE3MjU3MGQ4NmM0cDAsCisgICAgLTB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzUKKyAgICAweDEuNTM2OGM5MTVhZDkzNTRiNmM4MDg0N2E5ZjUxNGJiNzVwMCwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzYKKyAgICAtMHgxLjUzNjhjOTE1YWQ5MzU0YjZjODA4NDdhOWY1MTRiYjc1cDAsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDk3NworICAgIDB4MS41MzY4Yzk1MWU5Y2ZjOWE0MmUxYWRkNTk4M2NmYjNhOHAwLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDk3OAorICAgIC0weDEuNTM2OGM5NTFlOWNmYzlhNDJlMWFkZDU5ODNjZmIzYThwMCwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgMHgxLjUzNjhjOWNhNjI0NzVmNTgwMWFjZTI4MzljMjM1ODk1cDAsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTgwCisgICAgLTB4MS41MzY4YzljYTYyNDc1ZjU4MDFhY2UyODM5YzIzNTg5NXAwLAorICAgIC0weDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODEKKyAgICAweDEuMWI2ZTE4Yzg1NTdkOGU3NGU1ZDk3MDRhY2Y5MWFhNDVwMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODIKKyAgICAtMHgxLjFiNmUxOGM4NTU3ZDhlNzRlNWQ5NzA0YWNmOTFhYTQ1cDAsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDk4MworICAgIDB4MS4xYjZlMTkyZWJiZTQ0NmM2ZDE5YWEyMjBhMzlhZjMyMHAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDk4NAorICAgIC0weDEuMWI2ZTE5MmViYmU0NDZjNmQxOWFhMjIwYTM5YWYzMjBwMCwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTg1CisgICAgMHgxLjFiNmUxOWZiODhhZmNiZTU4YmNkMjY4ZTIzODk3YmUzcDAsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTg2CisgICAgLTB4MS4xYjZlMTlmYjg4YWZjYmU1OGJjZDI2OGUyMzg5N2JlM3AwLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODcKKyAgICAweDEuOTIxZmI0NDQ0MmQxMDQ2OTg5NjIxYTZjNTcwZDhmMDRwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4OAorICAgIC0weDEuOTIxZmI0NDQ0MmQxMDQ2OTg5NjIxYTZjNTcwZDhmMDRwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODkKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkxCisgICAgMHgxLjkyMWZiNzQ0NDJjZjg0Njk4YWUyMWE2YzU3MGQ4ZDVlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDk5MgorICAgIC0weDEuOTIxZmI3NDQ0MmNmODQ2OThhZTIxYTZjNTcwZDhkNWVwLTEsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIDB4MS5kYWM2NmViYzgyMWIwYjA1YzExNWIwMDdlZTI2MmY3OHAtMiwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTk0CisgICAgLTB4MS5kYWM2NmViYzgyMWIwYjA1YzExNWIwMDdlZTI2MmY3OHAtMiwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDk5NQorICAgIDB4MS5kYWM2NzA1NjFiYjRmNjhhZGZjODhiZDk3ODc1MWEwNnAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTk2CisgICAgLTB4MS5kYWM2NzA1NjFiYjRmNjhhZGZjODhiZDk3ODc1MWEwNnAtMiwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5NworICAgIDB4MS5kYWM2NzM4OTRlZTZlMjBmZmU1NTJjZjYxMzAzNWU0MXAtMiwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTk4CisgICAgLTB4MS5kYWM2NzM4OTRlZTZlMjBmZmU1NTJjZjYxMzAzNWU0MXAtMiwKKyAgICAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIDB4MS5mNWI3NWRiMGU2MmJkN2YwNjRlMzg4NzgwOWFkZTdlZnAtMywKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMAorICAgIC0weDEuZjViNzVkYjBlNjJiZDdmMDY0ZTM4ODc4MDlhZGU3ZWZwLTMsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAxCisgICAgMHgxLmY1Yjc1ZjkyYzgwZGQ2MmFkYjhmM2RlYmVmNDQyZmNicC0zLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAyCisgICAgLTB4MS5mNWI3NWY5MmM4MGRkNjJhZGI4ZjNkZWJlZjQ0MmZjYnAtMywKKyAgICAtMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMDMKKyAgICAweDEuZjViNzYzNTY4YmQxMjg4YzRiZDRmZWNkYWVlMjhmYjVwLTMsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMDQKKyAgICAtMHgxLmY1Yjc2MzU2OGJkMTI4OGM0YmQ0ZmVjZGFlZTI4ZmI1cC0zLAorICAgIC0weDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNQorICAgIDB4MS5mZDViYTdiMmEzNzRkYzg0OTcxMjNiNjRiMzk4YWFlMnAtNCwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNgorICAgIC0weDEuZmQ1YmE3YjJhMzc0ZGM4NDk3MTIzYjY0YjM5OGFhZTJwLTQsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA3CisgICAgMHgxLmZkNWJhOWFhYzJmNmRjNjU5MTJmMzEzZTdkMTExZGVmcC00LAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA4CisgICAgLTB4MS5mZDViYTlhYWMyZjZkYzY1OTEyZjMxM2U3ZDExMWRlZnAtNCwKKyAgICAtMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMDkKKyAgICAweDEuZmQ1YmFkOWIwMWZhYWQ5ZWI0NmVmOWJkYTk5ZDRmZGFwLTQsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMTAKKyAgICAtMHgxLmZkNWJhZDliMDFmYWFkOWViNDZlZjliZGE5OWQ0ZmRhcC00LAorICAgIC0weDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMQorICAgIDB4MS5mZjU1Yjk3NGNkZTA5ODczOGU1OWMwN2FhNDhkZDExMHAtNSwKKyAgICAweDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMgorICAgIC0weDEuZmY1NWI5NzRjZGUwOTg3MzhlNTljMDdhYTQ4ZGQxMTBwLTUsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEzCisgICAgMHgxLmZmNTViYjcyY2ZkZTljNmQ5NjRmMjViODFjNWMxYWEycC01LAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE0CisgICAgLTB4MS5mZjU1YmI3MmNmZGU5YzZkOTY0ZjI1YjgxYzVjMWFhMnAtNSwKKyAgICAtMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTUKKyAgICAweDEuZmY1NWJmNmVkM2RhOTg3OTgyNjVjYzNmMjdjODk2YzdwLTUsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTYKKyAgICAtMHgxLmZmNTViZjZlZDNkYTk4Nzk4MjY1Y2MzZjI3Yzg5NmM3cC01LAorICAgIC0weDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNworICAgIDB4MS5mZmQ1NTliYjE3NDI1MjAzMmZhMzAxNGMwNjcxMzM2Y3AtNiwKKyAgICAweDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAxOAorICAgIC0weDEuZmZkNTU5YmIxNzQyNTIwMzJmYTMwMTRjMDY3MTMzNmNwLTYsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE5CisgICAgMHgxLmZmZDU1YmJhOTc2MjRhODRlZjNhZWVkYmI1MThjNDI3cC02LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIwCisgICAgLTB4MS5mZmQ1NWJiYTk3NjI0YTg0ZWYzYWVlZGJiNTE4YzQyN3AtNiwKKyAgICAtMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMjEKKyAgICAweDEuZmZkNTVmYjk5N2EyMzg4OWVkZDlmYjZiMjc1OGE2M2VwLTYsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMjIKKyAgICAtMHgxLmZmZDU1ZmI5OTdhMjM4ODllZGQ5ZmI2YjI3NThhNjNlcC02LAorICAgIC0weDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAyMworICAgIDB4MS5mZmY1NTNiYmQ3MjdhYjc3ZDExODc3MmNkNmI5NjQ5MHAtNywKKyAgICAweDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNAorICAgIC0weDEuZmZmNTUzYmJkNzI3YWI3N2QxMTg3NzJjZDZiOTY0OTBwLTcsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI1CisgICAgMHgxLmZmZjU1NWJiYjcyOWFiNzdjZjE4YWM4MDJiZWVjMDkwcC03LAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI2CisgICAgLTB4MS5mZmY1NTViYmI3MjlhYjc3Y2YxOGFjODAyYmVlYzA5MHAtNywKKyAgICAtMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMjcKKyAgICAweDEuZmZmNTU5YmI3NzJkYWFiN2UzMTY5NzZlY2VkYTU0NzNwLTcsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMjgKKyAgICAtMHgxLmZmZjU1OWJiNzcyZGFhYjdlMzE2OTc2ZWNlZGE1NDczcC03LAorICAgIC0weDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAyOQorICAgIDB4MS5mZmZmZmRmNTU1NTU3NWJiYmI5OWI3Mjk4MTYyMGNmY3AtMTUsCisgICAgMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgLTB4MS5mZmZmZmRmNTU1NTU3NWJiYmI5OWI3Mjk4MTYyMGNmY3AtMTUsCisgICAgLTB4MS5mZmZmZmVwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgMTAzMQorICAgIDB4MS5mZmZmZmZmNTU1NTU1NWJiYmJiYmI3Mjk3Mjk3NjI1NnAtMTUsCisgICAgMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMyCisgICAgLTB4MS5mZmZmZmZmNTU1NTU1NWJiYmJiYmI3Mjk3Mjk3NjI1NnAtMTUsCisgICAgLTB4MS5wLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTAzMworICAgIDB4MS4wMDAwMDFmYWFhYWE4YWRkZGQ5ZmRiOTQ5NjgxMDY4ZnAtMTQsCisgICAgMHgxLjAwMDAwMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgLTB4MS4wMDAwMDFmYWFhYWE4YWRkZGQ5ZmRiOTQ5NjgxMDY4ZnAtMTQsCisgICAgLTB4MS4wMDAwMDJwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTAzNQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZDU1NTU1ZDU1NTU0ZDViYmJiZXAtMjgsCisgICAgMHgxLmZmZmZmZXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM2CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZDU1NTU1ZDU1NTU0ZDViYmJiZXAtMjgsCisgICAgLTB4MS5mZmZmZmVwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMTAzNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZDU1NTU1NTU1NTU1NTViYmJiYnAtMjgsCisgICAgMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZDU1NTU1NTU1NTU1NTViYmJiYnAtMjgsCisgICAgLTB4MS5wLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTAzOQorICAgIDB4MS4wMDAwMDFmZmZmZmZmZWFhYWFhMmFhYWE5YWFkZGRkM3AtMjcsCisgICAgMHgxLjAwMDAwMnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQwCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZWFhYWFhMmFhYWE5YWFkZGRkM3AtMjcsCisgICAgLTB4MS4wMDAwMDJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmY1NTU1NTc1NTU1NTM1NTViYnAtMzEsCisgICAgMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmY1NTU1NTc1NTU1NTM1NTViYnAtMzEsCisgICAgLTB4MS5mZmZmZmVwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTViYnAtMzEsCisgICAgLTB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NQorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZhYWFhYThhYWFhYTZhYWFkZHAtMzAsCisgICAgMHgxLjAwMDAwMnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ2CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZhYWFhYThhYWFhYTZhYWFkZHAtMzAsCisgICAgLTB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NworICAgIC0weDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTFwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWExcDAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ5CisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWExcDAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMXAwLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNTEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTJwMCwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUyCisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMnAwLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWExcDAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU0CisgICAgLTB4MS45MjFmYjU0NDQyZDE4NDY5ODk4Y2M1MTcwMWI4MzlhMXAwLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNTUKKyAgICAweDEuOTIxZmI1NDQ0MmQxODQ2OTg5OGNjNTE3MDFiODM5YTFwMCwKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNTYKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWExcDAsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA1NworICAgIDB4MS40MzNiOGE1NGI5MTZkN2ViMjdjZWU2MjkzMDY2ZTlmNnAwLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNTgKKyAgICAtMHgxLjQzM2I4YTU0YjkxNmQ3ZWIyN2NlZTYyOTMwNjZlOWY2cDAsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNTkKKyAgICAweDEuMDBmZTk4YjRmNTBkOGIzYzM2YjllMmExODBkOTdlZWFwMCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYwCisgICAgLTB4MS4wMGZlOThiNGY1MGQ4YjNjMzZiOWUyYTE4MGQ5N2VlYXAwLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYxCisgICAgMHgxLjkyMWZiNzQ0NDJjZjg0Njk4YWUyMWE2YzU3MGQ4ZDVlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNjIKKyAgICAtMHgxLjkyMWZiNzQ0NDJjZjg0Njk4YWUyMWE2YzU3MGQ4ZDVlcC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYzCisgICAgMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwNjQKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTg0Njk4OThjYzUxNzAxYjgzOWEycC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY1CisgICAgMHgxLjkyMWZiNDQ0NDJkMTA0Njk4OTYyMWE2YzU3MGQ4ZjA0cC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY2CisgICAgLTB4MS45MjFmYjQ0NDQyZDEwNDY5ODk2MjFhNmM1NzBkOGYwNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjcKKyAgICAweDEuNTRlMDRjNzllZDlhOTNiMDFjNmE5MDYyZGJkOGUwZmZwLTEsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjgKKyAgICAtMHgxLjU0ZTA0Yzc5ZWQ5YTkzYjAxYzZhOTA2MmRiZDhlMGZmcC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2OQorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwNzAKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwNzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDczCisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3NAorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3NQorICAgIDB4MS5mZmZmZjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzYKKyAgICAtMHgxLmZmZmZmN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0OSwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ5LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc5CisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgwCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwODEKKyAgICAwLjAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwODIKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvYXRhbmhfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2F0YW5oX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjY4MDhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2F0YW5oX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDI0NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19hdGFuaF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuMzNjNTM3MjU2YWMyNmVhMWI4ODY1YTAyNmU3MmM3NTJwLTEsCisgICAgLTB4MS4xMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjMzYzUzNzI1NmFjMjZlYTFiODg2NWEwMjZlNzJjNzUycC0xLAorICAgIDB4MS4xMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS40NDc2N2ZkYzg1Mzc3M2VjZDY1YjQzYjBlZmQxZjhkNnAtMSwKKyAgICAtMHgxLjFmMDdjMWYwN2MxZjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjQ0NzY3ZmRjODUzNzczZWNkNjViNDNiMGVmZDFmOGQ2cC0xLAorICAgIDB4MS4xZjA3YzFmMDdjMWY0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuNzc2MWRkYmQwNTczYjdmZjFkNTFlMzAwYmRiNDM5YmVwLTEsCisgICAgLTB4MS40MDAwMDAwMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjc3NjFkZGJkMDU3M2I3ZmYxZDUxZTMwMGJkYjQzOWJlcC0xLAorICAgIDB4MS40MDAwMDAwMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS42MjU5NDk0YTRiYjM5N2ZmODlkZDg0Yjc0ZTIzMGYzMXAtMiwKKyAgICAtMHgxLjU0ZDlkODExNDY4YzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjYyNTk0OTRhNGJiMzk3ZmY4OWRkODRiNzRlMjMwZjMxcC0yLAorICAgIDB4MS41NGQ5ZDgxMTQ2OGMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLjY3MTlhNmZiZmVmMWQ3ZmMzMjZkMDY3OTAzMTgzY2RkcC0yLAorICAgIC0weDEuNTkxMWMzYTcwY2ViZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjY3MTlhNmZiZmVmMWQ3ZmMzMjZkMDY3OTAzMTgzY2RkcC0yLAorICAgIDB4MS41OTExYzNhNzBjZWJkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmFkNzViOTg0MWIyNGUyNjQ4NzU0ODNkZWYxNjEwYzAxcC0xLAorICAgIC0weDEuNWVjZTM1NGZmODBhMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmFkNzViOTg0MWIyNGUyNjQ4NzU0ODNkZWYxNjEwYzAxcC0xLAorICAgIDB4MS41ZWNlMzU0ZmY4MGEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLmMwOGU2YWE1NWU0MTcyZGI0YzQxMzEzMmIyNDI4M2VkcC0xLAorICAgIC0weDEuNjhhZTFjYThmNmFkNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmMwOGU2YWE1NWU0MTcyZGI0YzQxMzEzMmIyNDI4M2VkcC0xLAorICAgIDB4MS42OGFlMWNhOGY2YWQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMHgxLmQ2ZjEwYTcwODFlN2VjYzRhMmQzZDllMjM3MWQxY2IwcC0xLAorICAgIC0weDEuNzM5Y2U3MzljZTczY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLmQ2ZjEwYTcwODFlN2VjYzRhMmQzZDllMjM3MWQxY2IwcC0xLAorICAgIDB4MS43MzljZTczOWNlNzNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLjg2Mjc5NjMxN2VkM2Q3ZmNiOGJlYzc0MmIyZWE1YzBicC0yLAorICAgIC0weDEuNzQ0Zjg2MTNjNTE0YnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjg2Mjc5NjMxN2VkM2Q3ZmNiOGJlYzc0MmIyZWE1YzBicC0yLAorICAgIDB4MS43NDRmODYxM2M1MTRicC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLjgwMjdmZTQ5NmVhYWQwMDA2YTNkZjRhN2NmYzM5OWJhcC01LAorICAgIC0weDEuN2ZkZmY3ZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjgwMjdmZTQ5NmVhYWQwMDA2YTNkZjRhN2NmYzM5OWJhcC01LAorICAgIDB4MS43ZmRmZjdmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLjgwNjAyYTEzOGE0OGU1ODFiN2JmMGExZDFmODQ3NjlmcC0xMCwKKyAgICAtMHgxLjgwNjAxODA2MDFmZjZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuODA2MDJhMTM4YTQ4ZTU4MWI3YmYwYTFkMWY4NDc2OWZwLTEwLAorICAgIDB4MS44MDYwMTgwNjAxZmY2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS45ZjMyM2VjYmY5ODRjNWQ2MTM4MjExOWVhZmNkZGYzNnAtMywKKyAgICAtMHgxLjk5OTk5OTk5OTk5OWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS45ZjMyM2VjYmY5ODRjNWQ2MTM4MjExOWVhZmNkZGYzNnAtMywKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMworICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS5iN2M1NGY0NTgyYThmNTJjYjA0MzRiNjI0Y2IzMTQwYnAtMiwKKyAgICAtMHgxLjllOTcwMzczNWY2NTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5iN2M1NGY0NTgyYThmNTJjYjA0MzRiNjI0Y2IzMTQwYnAtMiwKKyAgICAweDEuOWU5NzAzNzM1ZjY1MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS5hYzQ0YTFmOTIzMjUwZjg2ZTA2ZDg4ZTY5MTlhMWE0ZnAtMjQsCisgICAgLTB4MS5hYzQ0YTFmOTIzMjM4cC0yNAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmFjNDRhMWY5MjMyNTBmODZlMDZkODhlNjkxOWExYTRmcC0yNCwKKyAgICAweDEuYWM0NGExZjkyMzIzOHAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIC0weDEuY2VlNjJjNTE2ODgyMThhYmNhMzZlZmNmNWY2YWRkNjNwLTIsCisgICAgLTB4MS5iMWJmYTFjMmZmNWM4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuY2VlNjJjNTE2ODgyMThhYmNhMzZlZmNmNWY2YWRkNjNwLTIsCisgICAgMHgxLmIxYmZhMWMyZmY1YzhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEuYjRjMTE4MzgyN2Q0YTgwNWQ2NGRlNmY4NzBjZDY4ODhwLTUsCisgICAgLTB4MS5iNDU3NDZmYjQ1OTgwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuYjRjMTE4MzgyN2Q0YTgwNWQ2NGRlNmY4NzBjZDY4ODhwLTUsCisgICAgMHgxLmI0NTc0NmZiNDU5ODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIC0weDEuY2QxY2U4NjU4ZjFlMjdmOTI5YmIyNmY3MWNmMzllcC0zLAorICAgIC0weDEuYzU3OWQ0MDQzZTA1NHAtMworICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmNkMWNlODY1OGYxZTI3ZjkyOWJiMjZmNzFjZjM5ZXAtMywKKyAgICAweDEuYzU3OWQ0MDQzZTA1NHAtMworICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5mNGI5NzU1ZjJjMjZlN2ZjOTA2Yjg3OTI3ZjMwNzZlY3AtMiwKKyAgICAtMHgxLmQwNGI5YmIwYmRhMjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5mNGI5NzU1ZjJjMjZlN2ZjOTA2Yjg3OTI3ZjMwNzZlY3AtMiwKKyAgICAweDEuZDA0YjliYjBiZGEyOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS5kNDlkZDVjZDgwODZkN2ZlMTk2ZGYxZGE2M2FhZGFmOXAtNCwKKyAgICAtMHgxLmQyOTUyM2JiNjkzMjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5kNDlkZDVjZDgwODZkN2ZlMTk2ZGYxZGE2M2FhZGFmOXAtNCwKKyAgICAweDEuZDI5NTIzYmI2OTMyOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS5mN2Y2MGFjOTU2MTFlNzVhMmEwODVmMzVhN2M1MDhkY3AtMiwKKyAgICAtMHgxLmQyZGNlNzgwYTczMDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mN2Y2MGFjOTU2MTFlNzVhMmEwODVmMzVhN2M1MDhkY3AtMiwKKyAgICAweDEuZDJkY2U3ODBhNzMwNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS5kZjg3NWViMzI2YjIwOWI5YzlhMDBmODJlM2RiYzNiYXAtMywKKyAgICAtMHgxLmQ2ZjQxZTNlYTY0M2FwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5kZjg3NWViMzI2YjIwOWI5YzlhMDBmODJlM2RiYzNiYXAtMywKKyAgICAweDEuZDZmNDFlM2VhNjQzYXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgLTB4MS5mZTBkYzRmYWJlODFmNzJkMDQyZDQ1OWNkYjE3ZjdjNXAtMiwKKyAgICAtMHgxLmQ3YWQxMDU1ZWQ1ODdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mZTBkYzRmYWJlODFmNzJkMDQyZDQ1OWNkYjE3ZjdjNXAtMiwKKyAgICAweDEuZDdhZDEwNTVlZDU4N3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5lZGU3ZmVmODU2MTVkNTc2MjcyM2E0YmM5MDcxYmNmY3AtNCwKKyAgICAtMHgxLmViODZiODViZjY1ZDhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5lZGU3ZmVmODU2MTVkNTc2MjcyM2E0YmM5MDcxYmNmY3AtNCwKKyAgICAweDEuZWI4NmI4NWJmNjVkOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5mZmZmMGYwNWRiNDE5ZTA1NjJhOGExM2UwYzg4ZWMwY3AtMywKKyAgICAtMHgxLmY1OTcwN2UzZjQ5ZDBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5mZmZmMGYwNWRiNDE5ZTA1NjJhOGExM2UwYzg4ZWMwY3AtMywKKyAgICAweDEuZjU5NzA3ZTNmNDlkMHAtMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS4zNDBhZjc2NDc4M2VkZmZmYWMxOTliMGViZjAxYzM2MnAxLAorICAgIC0weDEuZjdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuMzQwYWY3NjQ3ODNlZGZmZmFjMTk5YjBlYmYwMWMzNjJwMSwKKyAgICAweDEuZjdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOWFjYTk1cC01MiwKKyAgICAtMHgxLmZjMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5mYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjlhY2E5NXAtNTIsCisgICAgMHgxLmZjMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuZmRjOTNlYTA0ZTYwMzAwMjFiZjNiN2YxYjcyNzRhZGRwLTUsCisgICAgLTB4MS5mZDIxMGFmNzc4NTZjcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmRjOTNlYTA0ZTYwMzAwMjFiZjNiN2YxYjcyNzRhZGRwLTUsCisgICAgMHgxLmZkMjEwYWY3Nzg1NmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuZmZlYWE5MTExNWE0ZTg3MTZkYzlmMDliZTIwYTkzNjRwLTcsCisgICAgLTB4MS5mZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5mZmVhYTkxMTE1YTRlODcxNmRjOWYwOWJlMjBhOTM2NHAtNywKKyAgICAweDEuZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLjlhNzc1ZTY4Nzg1MGQ4Nzc1ODcxMTRmOTMxZjYxMzY5cDMsCisgICAgLTB4MS5mZmZmZmZmZmUwM2VkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuOWE3NzVlNjg3ODUwZDg3NzU4NzExNGY5MzFmNjEzNjlwMywKKyAgICAweDEuZmZmZmZmZmZlMDNlZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS45YmE4NjNmYjZiZjhlNzkxYzgwOTllNTVjZmY1NzBjM3AzLAorICAgIC0weDEuZmZmZmZmZmZlMjg2M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjliYTg2M2ZiNmJmOGU3OTFjODA5OWU1NWNmZjU3MGMzcDMsCisgICAgMHgxLmZmZmZmZmZmZTI4NjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuZjM2OWQ4ZWVkZmJiMzg0YjBlZTMxYmU0MjQ0MjNlYzJwMywKKyAgICAtMHgxLmZmZmZmZmZmZmZlMGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mMzY5ZDhlZWRmYmIzODRiMGVlMzFiZTQyNDQyM2VjMnAzLAorICAgIDB4MS5mZmZmZmZmZmZmZTBicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLjAyYmQyMmJkMTk3OTc4MTViMWRkZWZjOTBjNDFmOGZicDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZjVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuMDJiZDIyYmQxOTc5NzgxNWIxZGRlZmM5MGM0MWY4ZmJwNCwKKyAgICAweDEuZmZmZmZmZmZmZmY1ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS4xODQxYTRiYWIyZDZkMDNhMjg1MzdmNDNkZTllOTBhNHA0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmNXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjE4NDFhNGJhYjJkNmQwM2EyODUzN2Y0M2RlOWU5MGE0cDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5wLTk5LAorICAgIDB4MS4wcC05OQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5wLTk5LAorICAgIC0weDEuMHAtOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMTU1NTU1NTU1NTU1cC00MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAxNTU1NTU1NTU1NTVwLTQxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS4wMTU4OTFjOWVhZWZkODFmNWVkYjk1ODNmMzg3MTg4OXAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwNnAtMworICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS4wMTU4OTFjOWVhZWZkODFmNWVkYjk1ODNmMzg3MTg4OXAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS4xOTNlYTdhYWQwMzEzZWNiZjk2ZWUyYWE3MDU3ZWU3Y3AtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS4xOTNlYTdhYWQwMzEzZWNiZjk2ZWUyYWE3MDU3ZWU3Y3AtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS4wMDA1NTU4ODhhZDRjOWJlMTAzYTg2MmRjZjkzM2RiNnAtNiwKKyAgICAweDEuMDAwMDAwMDAwMDAzMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS4wMDA1NTU4ODhhZDRjOWJlMTAzYTg2MmRjZjkzM2RiNnAtNiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMzBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS4wMDAwMDU1NTU1YTg5ODhjZDJhZDU3NTM3N2VjZTBkN3AtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAyMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjAwMDAwNTU1NTVhODk4OGNkMmFkNTc1Mzc3ZWNlMGQ3cC0xMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAyMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuMDE1ODkxYzlmMTA3ZDgxZjVlZGMyYTFmODVkMDNlNTdwLTMsCisgICAgMHgxLjAwMDAwMDAwMDYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLjAxNTg5MWM5ZjEwN2Q4MWY1ZWRjMmExZjg1ZDAzZTU3cC0zLAorICAgIC0weDEuMDAwMDAwMDAwNjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS4wMDU1ODhhZDU5N2NlZmVkMzUzOTU0OWI4NmNlMmIxYnAtNCwKKyAgICAweDEuMDAwMDAwMDAyMjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMDA1NTg4YWQ1OTdjZWZlZDM1Mzk1NDliODZjZTJiMWJwLTQsCisgICAgLTB4MS4wMDAwMDAwMDIyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjAwMDAwNTU1Nzc4ODhhYWFkMWNmMzc4ZGQ1YjRjYWEzcC0xMCwKKyAgICAweDEuMDAwMDAwMDAyMjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjAwMDAwNTU1Nzc4ODhhYWFkMWNmMzc4ZGQ1YjRjYWEzcC0xMCwKKyAgICAtMHgxLjAwMDAwMDAwMjIwcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLjE5M2VhN2ZjYTA2ZDcwMDAwMDBmZDZlM2U0NTAzNmMzcC0xLAorICAgIDB4MS4wMDAwMDAzZDVjMmQ5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjE5M2VhN2ZjYTA2ZDcwMDAwMDBmZDZlM2U0NTAzNmMzcC0xLAorICAgIC0weDEuMDAwMDAwM2Q1YzJkOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjAxNTg5MjBhZWVmZmI3ZGY2MmZjNWY3MmQwNWFmYzhhcC0zLAorICAgIDB4MS4wMDAwMDA0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLjAxNTg5MjBhZWVmZmI3ZGY2MmZjNWY3MmQwNWFmYzhhcC0zLAorICAgIC0weDEuMDAwMDAwNHAtMworICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjAxNTg5NGQ2MWJiMmE3ZjBlZTY1MzJmYTY2YzEzODg3cC0zLAorICAgIDB4MS4wMDAwMDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjAxNTg5NGQ2MWJiMmE3ZjBlZTY1MzJmYTY2YzEzODg3cC0zLAorICAgIC0weDEuMDAwMDAzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjAwMjU1YzhhNWI0Zjk4MTM0NjEzYzZhZTEwMGIxN2QycC01LAorICAgIDB4MS4wMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuMDAyNTVjOGE1YjRmOTgxMzQ2MTNjNmFlMTAwYjE3ZDJwLTUsCisgICAgLTB4MS4wMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4xOTk0MDNjODk1ZjNiMmZiZDZlMDRlZjYzZTVlMGI5OXAtMSwKKyAgICAweDEuMDAzZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS4xOTk0MDNjODk1ZjNiMmZiZDZlMDRlZjYzZTVlMGI5OXAtMSwKKyAgICAtMHgxLjAwM2ZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4wMDQwMTAwNDAwMDQ4MDAwMDAwMDAwMDAwNTU5NTc1NnAtNTAsCisgICAgMHgxLjAwNDAxMDA0MDAwNDhwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjAwNDAxMDA0MDAwNDgwMDAwMDAwMDAwMDA1NTk1NzU2cC01MCwKKyAgICAtMHgxLjAwNDAxMDA0MDAwNDhwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjAwYjVlOTMxZTRjMzA4MDkxNjk0OGZhMjgzOTAyZmE4cC00LAorICAgIDB4MS4wMDZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLjAwYjVlOTMxZTRjMzA4MDkxNjk0OGZhMjgzOTAyZmE4cC00LAorICAgIC0weDEuMDA2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjAyMWM4NTc3NjUwZmE0MWQyNDI4MTU2MWVkY2IxMjczcC0xMCwKKyAgICAweDEuMDIxYzhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS4wMjFjODU3NzY1MGZhNDFkMjQyODE1NjFlZGNiMTI3M3AtMTAsCisgICAgLTB4MS4wMjFjOHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMDM4NThlNTEwODhkMjdmOWRmODM3NzQxMzk1NjNmMmNwLTYsCisgICAgMHgxLjAzOHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuMDM4NThlNTEwODhkMjdmOWRmODM3NzQxMzk1NjNmMmNwLTYsCisgICAgLTB4MS4wMzhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMWU5YjJmZDE4ZDkxYjQyZTM5MGQxM2U5YmViNjk3OGNwLTEsCisgICAgMHgxLjA0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuMWU5YjJmZDE4ZDkxYjQyZTM5MGQxM2U5YmViNjk3OGNwLTEsCisgICAgLTB4MS4wNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDg0MTc3NmM0MjBkNDcwNzY4OWY0NTMyOWE5YmYyY2VwLTcsCisgICAgMHgxLjA4NHAtNworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuMDg0MTc3NmM0MjBkNDcwNzY4OWY0NTMyOWE5YmYyY2VwLTcsCisgICAgLTB4MS4wODRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuMzdlZDQxNmRmYWY2NzQ3YjMwN2JlZTU4OTE1N2ZlOTNwLTEsCisgICAgMHgxLjE2NTBlZmVkYjllYjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjM3ZWQ0MTZkZmFmNjc0N2IzMDdiZWU1ODkxNTdmZTkzcC0xLAorICAgIC0weDEuMTY1MGVmZWRiOWViMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS40NWUxMTQxYThjMDBlMGIwZWI3NjdlYjMzODJmMjBiOHAtMSwKKyAgICAweDEuMWZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuNDVlMTE0MWE4YzAwZTBiMGViNzY3ZWIzMzgyZjIwYjhwLTEsCisgICAgLTB4MS4xZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjQ1ZTExNDFhOGMwMGY4MThjODVhYjM1Y2U4OTY4M2EycC0xLAorICAgIDB4MS4ycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS40NWUxMTQxYThjMDBmODE4Yzg1YWIzNWNlODk2ODNhMnAtMSwKKyAgICAtMHgxLjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMmUyMjMxMTlkMzJmODcwYTEyOWI3OGExOTZlZTRjOGRwLTcsCisgICAgMHgxLjJlMnAtNworICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuMmUyMjMxMTlkMzJmODcwYTEyOWI3OGExOTZlZTRjOGRwLTcsCisgICAgLTB4MS4yZTJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuNjAwYzljNmY3MGVmY2Q4NWNkMTYxODllZTY4OGVhZDBwLTEsCisgICAgMHgxLjMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuNjAwYzljNmY3MGVmY2Q4NWNkMTYxODllZTY4OGVhZDBwLTEsCisgICAgLTB4MS4zMTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuM2I1YWZjMmI4Y2ZkODdmNjU1YzkxNDE0YzU5NjlkNjBwLTIsCisgICAgMHgxLjMxY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuM2I1YWZjMmI4Y2ZkODdmNjU1YzkxNDE0YzU5NjlkNjBwLTIsCisgICAgLTB4MS4zMWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuNjJlNDMwNzEyODEwMDgwMDAwMWY3ODgxYmFiYzQ0ZjNwLTEsCisgICAgMHgxLjMzMzMzMzg2MTc1MjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLjYyZTQzMDcxMjgxMDA4MDAwMDFmNzg4MWJhYmM0NGYzcC0xLAorICAgIC0weDEuMzMzMzMzODYxNzUyOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS4zM2FlZjU0NWJiMjA5Njg1MzdiMDkzNzVlNmQ1YzYwYXAtNywKKyAgICAweDEuMzNhY2E0YWUyYjA4MXAtNworICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuMzNhZWY1NDViYjIwOTY4NTM3YjA5Mzc1ZTZkNWM2MGFwLTcsCisgICAgLTB4MS4zM2FjYTRhZTJiMDgxcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjljNWNmYmI4ODlhNzQxOWZlNzcwNWU4OTNiOTlmYmI1cC0xLAorICAgIDB4MS41NTg2YWQ4NjY5NDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLTB4MS45YzVjZmJiODg5YTc0MTlmZTc3MDVlODkzYjk5ZmJiNXAtMSwKKyAgICAtMHgxLjU1ODZhZDg2Njk0MThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuOWQ1ZTA3NjVkMzE4MmU0MTdlNGQ5MTgwOGYzMGI5NWZwLTEsCisgICAgMHgxLjU2MTUyYTUxZGRhNzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjlkNWUwNzY1ZDMxODJlNDE3ZTRkOTE4MDhmMzBiOTVmcC0xLAorICAgIC0weDEuNTYxNTJhNTFkZGE3MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS45ZDc4M2FmOWY5N2JjZTMzYmQyMjFhOTk1NGJlZmIwY3AtMSwKKyAgICAweDEuNTYyM2FiMjcxZmE1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuOWQ3ODNhZjlmOTdiY2UzM2JkMjIxYTk5NTRiZWZiMGNwLTEsCisgICAgLTB4MS41NjIzYWIyNzFmYTUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjU2YTBmMGI0NDc2ZGU4MDI3MGE2MzMyZmY0NDUwNTMzcC01LAorICAgIDB4MS41NjZkZDQ4OTJmYWI5cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS41NmEwZjBiNDQ3NmRlODAyNzBhNjMzMmZmNDQ1MDUzM3AtNSwKKyAgICAtMHgxLjU2NmRkNDg5MmZhYjlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuNWRiNDNhYTBlM2U1NWZmZmE1YWQ5ODg2ZThmMjJjYjhwLTMsCisgICAgMHgxLjVhNTgyY2RjNGU5ZDRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjVkYjQzYWEwZTNlNTVmZmZhNWFkOTg4NmU4ZjIyY2I4cC0zLAorICAgIC0weDEuNWE1ODJjZGM0ZTlkNHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5hYjlkZmEwZWM4OWI4MjQ3YzAzZjcwZDZmY2NkZmQ2NnAtMSwKKyAgICAweDEuNWRkMzRlN2FmOGQ2MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuYWI5ZGZhMGVjODliODI0N2MwM2Y3MGQ2ZmNjZGZkNjZwLTEsCisgICAgLTB4MS41ZGQzNGU3YWY4ZDYxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLjY3YTY0OGU1YjE2YzZhNjk5OWQ5NjY1YThjMjg4ZDI3cC04LAorICAgIDB4MS42N2E1NWM0OWFhNWQ2cC04CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS42N2E2NDhlNWIxNmM2YTY5OTlkOTY2NWE4YzI4OGQyN3AtOCwKKyAgICAtMHgxLjY3YTU1YzQ5YWE1ZDZwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuN2I1N2VlN2JlYTU3YTdmY2ViYWFlYTZmNTU3NzA2YzJwLTIsCisgICAgMHgxLjZhZTQ5MWY3MGM3Y2JwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjdiNTdlZTdiZWE1N2E3ZmNlYmFhZWE2ZjU1NzcwNmMycC0yLAorICAgIC0weDEuNmFlNDkxZjcwYzdjYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS43MjIyYjUwZmQ0ZjhjZTA5NTRlODkzMTM5MzNiZGVkM3AtMywKKyAgICAweDEuNmUyODU2ZTI4NTZmNXAtMworICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuNzIyMmI1MGZkNGY4Y2UwOTU0ZTg5MzEzOTMzYmRlZDNwLTMsCisgICAgLTB4MS42ZTI4NTZlMjg1NmY1cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmNmNjM0NzE5MWY1YjVhYmEyMmRjODQwMGZhODgyY2VlcC0xLAorICAgIDB4MS43cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5jZjYzNDcxOTFmNWI1YWJhMjJkYzg0MDBmYTg4MmNlZXAtMSwKKyAgICAtMHgxLjdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuODM5MTZmODY4Mjg0Zjg4MmFkOTQ2M2QxNzRhNTlkOTdwLTIsCisgICAgMHgxLjcyMTA2MGMxYTczY2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjgzOTE2Zjg2ODI4NGY4ODJhZDk0NjNkMTc0YTU5ZDk3cC0yLAorICAgIC0weDEuNzIxMDYwYzFhNzNjZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS44NWUwODA2ZThlMTNiN2ZjYzA4NDc5NTI5YzgxMDRlNnAtMiwKKyAgICAweDEuNzQxMWQ0NjNiZmU5MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuODVlMDgwNmU4ZTEzYjdmY2MwODQ3OTUyOWM4MTA0ZTZwLTIsCisgICAgLTB4MS43NDExZDQ2M2JmZTkwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmYyMjcyYWY0NmJiZTA4MDAwMDEyYjg3ZDA4ZTc5MzJmcC0xLAorICAgIDB4MS44MDAwMDAwNzhlYWFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5mMjI3MmFmNDZiYmUwODAwMDAxMmI4N2QwOGU3OTMyZnAtMSwKKyAgICAtMHgxLjgwMDAwMDA3OGVhYWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuZjIyNzJhZjQ2YmJmMDgwMDAwMWZhZDBmZDc2NmU4Y2ZwLTEsCisgICAgMHgxLjgwMDAwMDA3OGVhYjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmYyMjcyYWY0NmJiZjA4MDAwMDFmYWQwZmQ3NjZlOGNmcC0xLAorICAgIC0weDEuODAwMDAwMDc4ZWFiM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS44M2U0YTM1M2YzNGYzNTYyZDlkMjNmNDVkYzhiMmUyOXAtNywKKyAgICAweDEuODNlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS44M2U0YTM1M2YzNGYzNTYyZDlkMjNmNDVkYzhiMmUyOXAtNywKKyAgICAtMHgxLjgzZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS44OWI1NDFkMWIzOWZhMzBhMDU0ZDY5YzM4ZmZiZGI1ZXAtNCwKKyAgICAweDEuODg4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS44OWI1NDFkMWIzOWZhMzBhMDU0ZDY5YzM4ZmZiZGI1ZXAtNCwKKyAgICAtMHgxLjg4OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS44YTA4YzMyZWUxM2NkOTQyMmI5YWQxMmYzOThmNTBiYnAtOCwKKyAgICAweDEuOGEwNzhjMDNmOGRjZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuOGEwOGMzMmVlMTNjZDk0MjJiOWFkMTJmMzk4ZjUwYmJwLTgsCisgICAgLTB4MS44YTA3OGMwM2Y4ZGNlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjk0NjY2OWE2YmJhOTA5YzRiYzVkYTg1MmU3NWEzZDY2cC04LAorICAgIDB4MS45NDY1MTk0NjUxOTQxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS45NDY2NjlhNmJiYTkwOWM0YmM1ZGE4NTJlNzVhM2Q2NnAtOCwKKyAgICAtMHgxLjk0NjUxOTQ2NTE5NDFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuOWM3ZDE4NGFjNjUwNWVlZTIxYWNlNjczMmE1MjczMGNwLTMsCisgICAgMHgxLjk3MHAtMworICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuOWM3ZDE4NGFjNjUwNWVlZTIxYWNlNjczMmE1MjczMGNwLTMsCisgICAgLTB4MS45NzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuOThkYTNjNDAwMDBlOTgwMWVjODI5YTEzODk5NDI1ZWNwLTQsCisgICAgMHgxLjk3OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuOThkYTNjNDAwMDBlOTgwMWVjODI5YTEzODk5NDI1ZWNwLTQsCisgICAgLTB4MS45NzhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuOWFmOTNjZGM1NjI0MDAwMDAwMGZmZjQxYTA0MjIwZmZwLTQsCisgICAgMHgxLjk5OTk5OWEzYTE4YzJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLjlhZjkzY2RjNTYyNDAwMDAwMDBmZmY0MWEwNDIyMGZmcC00LAorICAgIC0weDEuOTk5OTk5YTNhMThjMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS45YWY5M2NkYzU2NmYwMDAwMDAxOTdmMjk3YTEzODk1Y3AtNCwKKyAgICAweDEuOTk5OTk5YTNhMWQ2NnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuOWFmOTNjZGM1NjZmMDAwMDAwMTk3ZjI5N2ExMzg5NWNwLTQsCisgICAgLTB4MS45OTk5OTlhM2ExZDY2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjE5M2VhN2ZhOGQ3NzFmZmZmZmU2ZGU2NjBhYWI0MDQ1cDAsCisgICAgMHgxLjk5OTk5OWQzMDMyODdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjE5M2VhN2ZhOGQ3NzFmZmZmZmU2ZGU2NjBhYWI0MDQ1cDAsCisgICAgLTB4MS45OTk5OTlkMzAzMjg3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjlhZjkzZDBjOWVmN2Q4MDAwMDAxN2I5N2MwYzA5MzBjcC00LAorICAgIDB4MS45OTk5OTlkMzZlYzQ0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS45YWY5M2QwYzllZjdkODAwMDAwMTdiOTdjMGMwOTMwY3AtNCwKKyAgICAtMHgxLjk5OTk5OWQzNmVjNDRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuOWYzMjNmNzYzODcyNjgwMDAwMWVkYTM3MDFhNWMzMzhwLTMsCisgICAgMHgxLjk5OTk5YTNkMDkzNjFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjlmMzIzZjc2Mzg3MjY4MDAwMDFlZGEzNzAxYTVjMzM4cC0zLAorICAgIC0weDEuOTk5OTlhM2QwOTM2MXAtMworICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS45ZjMyM2ZkNDcxNzViN2ZmZmZlMDVmYmY5NjBlZmM2YXAtMywKKyAgICAweDEuOTk5OTlhOTc3ZDYyM3AtMworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuOWYzMjNmZDQ3MTc1YjdmZmZmZTA1ZmJmOTYwZWZjNmFwLTMsCisgICAgLTB4MS45OTk5OWE5NzdkNjIzcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjlmMzIzZmUxMGM5YTE4MDAwMDFlZmJiZTBiYjQ4ZWJicC0zLAorICAgIDB4MS45OTk5OWFhMzk3NzBhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS45ZjMyM2ZlMTBjOWExODAwMDAxZWZiYmUwYmI0OGViYnAtMywKKyAgICAtMHgxLjk5OTk5YWEzOTc3MGFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuOWExNzliZTFlN2E2ZTgwMWEwY2JjMTc3MGNjYzA2OTFwLTUsCisgICAgMHgxLjk5Y3AtNQorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuOWExNzliZTFlN2E2ZTgwMWEwY2JjMTc3MGNjYzA2OTFwLTUsCisgICAgLTB4MS45OWNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuYTUyNTY5NzFkYzZlNDQwNjk4ZjI1NDEwZjlhNTA4ZmZwLTEwLAorICAgIDB4MS5hNTI1NTFiMzEzNTNjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuYTUyNTY5NzFkYzZlNDQwNjk4ZjI1NDEwZjlhNTA4ZmZwLTEwLAorICAgIC0weDEuYTUyNTUxYjMxMzUzY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuYWQ2ZGYwMGM4MmNkOTJjOTMxNzc1MTRkZDI0NTU2N2JwLTI0LAorICAgIDB4MS5hZDZkZjAwYzgyY2MwcC0yNAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuYWQ2ZGYwMGM4MmNkOTJjOTMxNzc1MTRkZDI0NTU2N2JwLTI0LAorICAgIC0weDEuYWQ2ZGYwMGM4MmNjMHAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuYWVjNjQ4OTUwYWE5YjYxNjBiZjQ1YmY0NWIyY2UwYmVwLTgsCisgICAgMHgxLmFlYzRiMjAxYWE1M2JwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLmFlYzY0ODk1MGFhOWI2MTYwYmY0NWJmNDViMmNlMGJlcC04LAorICAgIC0weDEuYWVjNGIyMDFhYTUzYnAtOAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5iNmNhYmIzNWYzMzhmN2ZiODMyMjM0NzBjOWZiZmIwOXAtMywKKyAgICAweDEuYjAzMmUxMzhhNTM5ZHAtMworICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuYjZjYWJiMzVmMzM4ZjdmYjgzMjIzNDcwYzlmYmZiMDlwLTMsCisgICAgLTB4MS5iMDMyZTEzOGE1MzlkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmQ2ZjRjNjRiZWU5NWQ4ODRiMDdhNTNmZTEyZDU3MWY0cC0yLAorICAgIDB4MS5iODU2ODAwMDFjMzMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5kNmY0YzY0YmVlOTVkODg0YjA3YTUzZmUxMmQ1NzFmNHAtMiwKKyAgICAtMHgxLmI4NTY4MDAwMWMzMzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuYzE4NGI1ZmJlZDgxOTJmYTQ1M2Q0ZDljMTU3N2E5ZTNwLTEwLAorICAgIDB4MS5jMTg0OTkxYmYyZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmMxODRiNWZiZWQ4MTkyZmE0NTNkNGQ5YzE1NzdhOWUzcC0xMCwKKyAgICAtMHgxLmMxODQ5OTFiZjJmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5lNzFkMzUxN2QzZTAxYjQyZDVkYWU0YzNhYWY3MDUwM3AtMiwKKyAgICAweDEuYzU2YjBiOTZjZGY5MXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuZTcxZDM1MTdkM2UwMWI0MmQ1ZGFlNGMzYWFmNzA1MDNwLTIsCisgICAgLTB4MS5jNTZiMGI5NmNkZjkxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLmM1ZTAwMDAwMDFkYjhmZmZlZDJlMmI5NGZkNTQ4NzBkcC0yMCwKKyAgICAweDEuYzVlcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuYzVlMDAwMDAwMWRiOGZmZmVkMmUyYjk0ZmQ1NDg3MGRwLTIwLAorICAgIC0weDEuYzVlcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5mMDU1NDUxZmIzNTllN2ZmZmZmYmU1MTk1ZDQzNzdlOHAtMiwKKyAgICAweDEuY2NjY2NjZDY2MDA4M3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZjA1NTQ1MWZiMzU5ZTdmZmZmZmJlNTE5NWQ0Mzc3ZThwLTIsCisgICAgLTB4MS5jY2NjY2NkNjYwMDgzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLmYxYzcwNGUxZjNjOGE4MDBiNzExMzFjOTBlMTkzNTk2cC0yLAorICAgIDB4MS5jZGYzN2NkZjM3Y2Q5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5mMWM3MDRlMWYzYzhhODAwYjcxMTMxYzkwZTE5MzU5NnAtMiwKKyAgICAtMHgxLmNkZjM3Y2RmMzdjZDlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZDAwYTA1ODcxNTE5NDgwMjljYjFmYjM2YjJhMjQ5MDNwLTUsCisgICAgMHgxLmNmOGIyMDUyYmJiMTFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmQwMGEwNTg3MTUxOTQ4MDI5Y2IxZmIzNmIyYTI0OTAzcC01LAorICAgIC0weDEuY2Y4YjIwNTJiYmIxMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5mNDY1NmE2OWJlYTZkNzMzZThmM2RmYWVjMTIxMTFjM3AtMiwKKyAgICAweDEuZDAwOGQ1NWY3NTM2MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZjQ2NTZhNjliZWE2ZDczM2U4ZjNkZmFlYzEyMTExYzNwLTIsCisgICAgLTB4MS5kMDA4ZDU1Zjc1MzYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmQwY2FkNmFkYzlhMGM4MzdiYmVjZWE5ODRlOTAxOWQ3cC01LAorICAgIDB4MS5kMDRiNTMyYmQ1YjQxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5kMGNhZDZhZGM5YTBjODM3YmJlY2VhOTg0ZTkwMTlkN3AtNSwKKyAgICAtMHgxLmQwNGI1MzJiZDViNDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuZjYyZjQwNzk0YTdiMDg5OTczMjMxYWU2MTQ1NTNlYjBwLTIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMTFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmY2MmY0MDc5NGE3YjA4OTk3MzIzMWFlNjE0NTUzZWIwcC0yLAorICAgIC0weDEuZDE3NDVkMTc0NWQxMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5kMWMwMDAwMDAwODA3N2ZlNWQwMDNmYzhjZTYzZTRhNHAtMjEsCisgICAgMHgxLmQxY3AtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLmQxYzAwMDAwMDA4MDc3ZmU1ZDAwM2ZjOGNlNjNlNGE0cC0yMSwKKyAgICAtMHgxLmQxY3AtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZjZiZWRkYjZlYzI5Yjc0OWE5ZTRhM2Y2N2EzNmI0MTRwLTIsCisgICAgMHgxLmQxZTY0NmYxNTY1NzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLmY2YmVkZGI2ZWMyOWI3NDlhOWU0YTNmNjdhMzZiNDE0cC0yLAorICAgIC0weDEuZDFlNjQ2ZjE1NjU3MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mYWJjN2M4NDE2NjAzM2ViNTdhNDUzZmQ4MzU4NWRjOHAtMiwKKyAgICAweDEuZDUwZWZhMjA1YTE3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuZmFiYzdjODQxNjYwMzNlYjU3YTQ1M2ZkODM1ODVkYzhwLTIsCisgICAgLTB4MS5kNTBlZmEyMDVhMTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLmQ2MmY0M2I0YzJjNzM3ZmRkMjMyY2YyZTI5OTA3NmY3cC0xMSwKKyAgICAweDEuZDYyZjNiNzFmY2E4Y3AtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLmQ2MmY0M2I0YzJjNzM3ZmRkMjMyY2YyZTI5OTA3NmY3cC0xMSwKKyAgICAtMHgxLmQ2MmYzYjcxZmNhOGNwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLmUzYTRiNDY4ZjI1MTQ4MGE2MDQ5ZTNmZTE3Yjg5NjQ2cC01LAorICAgIDB4MS5lMzE1MGRhZWRiNDc2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5lM2E0YjQ2OGYyNTE0ODBhNjA0OWUzZmUxN2I4OTY0NnAtNSwKKyAgICAtMHgxLmUzMTUwZGFlZGI0NzZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuZTY4ZTBjMmRlNmQyMjgwYzhhMTE3YzRkNjFkOGY0MmZwLTUsCisgICAgMHgxLmU1ZmJjOWVlY2JkYWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLmU2OGUwYzJkZTZkMjI4MGM4YTExN2M0ZDYxZDhmNDJmcC01LAorICAgIC0weDEuZTVmYmM5ZWVjYmRhZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5lOWRlODZlOGZkM2JlODAxYTlmODMwODQ0YmE1ZTUwMXAtNSwKKyAgICAweDEuZTk0OTQzMDNjZDgwZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuZTlkZTg2ZThmZDNiZTgwMWE5ZjgzMDg0NGJhNWU1MDFwLTUsCisgICAgLTB4MS5lOTQ5NDMwM2NkODBmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmVkYmNjODJhMDBhNGMwMDFlN2FjMDE4OTE4NDk4MDBlcC01LAorICAgIDB4MS5lZDIzZjRjODlkYTcwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS5lZGJjYzgyYTAwYTRjMDAxZTdhYzAxODkxODQ5ODAwZXAtNSwKKyAgICAtMHgxLmVkMjNmNGM4OWRhNzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuZmEwZGM5ZDcxMzFmZWUyYjM4YmE5OTNhNjVmODJhMDZwLTMsCisgICAgMHgxLmVmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLmZhMGRjOWQ3MTMxZmVlMmIzOGJhOTkzYTY1ZjgyYTA2cC0zLAorICAgIC0weDEuZWZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mMzc0MjlhZjk2MWE5ODI0NzU0Yjc3YTFiNTkzZDM5YXAtNCwKKyAgICAweDEuZjBmZTM1MzBmNzIzOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuZjM3NDI5YWY5NjFhOTgyNDc1NGI3N2ExYjU5M2QzOWFwLTQsCisgICAgLTB4MS5mMGZlMzUzMGY3MjM5cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmYzNzQyOWFmOTYxYWI4OWVkZGU2ZjRhZTc0Mzc1YTA2cC00LAorICAgIDB4MS5mMGZlMzUzMGY3MjNicC00CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS5mMzc0MjlhZjk2MWFiODllZGRlNmY0YWU3NDM3NWEwNnAtNCwKKyAgICAtMHgxLmYwZmUzNTMwZjcyM2JwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuZjM3NDI5YWY5NjFhYzhkYzEyMzRiMzM0ZDM4ZjFkMWJwLTQsCisgICAgMHgxLmYwZmUzNTMwZjcyM2NwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLmYzNzQyOWFmOTYxYWM4ZGMxMjM0YjMzNGQzOGYxZDFicC00LAorICAgIC0weDEuZjBmZTM1MzBmNzIzY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5mMzc0MjlhZjk2MmIyNjhhYzg4ZWI2YTJmNDAyNjE1MXAtNCwKKyAgICAweDEuZjBmZTM1MzBmNzMzZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuZjM3NDI5YWY5NjJiMjY4YWM4OGViNmEyZjQwMjYxNTFwLTQsCisgICAgLTB4MS5mMGZlMzUzMGY3MzNlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmYxZTljNDNiMjEzNDg4NTdjN2U0NjVlNDY3OTlkY2UxcC01LAorICAgIDB4MS5mMTRkMDhjNzEwOWFhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5mMWU5YzQzYjIxMzQ4ODU3YzdlNDY1ZTQ2Nzk5ZGNlMXAtNSwKKyAgICAtMHgxLmYxNGQwOGM3MTA5YWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuZjkwYjQyMzc1YTQ4NmEzOWNkZjliMmNjZjI4MjRmZWNwLTQsCisgICAgMHgxLmY2OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuZjkwYjQyMzc1YTQ4NmEzOWNkZjliMmNjZjI4MjRmZWNwLTQsCisgICAgLTB4MS5mNjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuZjcyYTE1M2ZmNzY4ODgwOGM4OTZkZDZmZmU2NTE2ZDRwLTUsCisgICAgMHgxLmY2ODg1ODJiZGY0NTBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmY3MmExNTNmZjc2ODg4MDhjODk2ZGQ2ZmZlNjUxNmQ0cC01LAorICAgIC0weDEuZjY4ODU4MmJkZjQ1MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5mN2U3MDNmMWRiMDZlODAyZjkzMjFmZDVlMjM5NGUwN3AtNSwKKyAgICAweDEuZjc0NDkwOTcwNjQxNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuZjdlNzAzZjFkYjA2ZTgwMmY5MzIxZmQ1ZTIzOTRlMDdwLTUsCisgICAgLTB4MS5mNzQ0OTA5NzA2NDE0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjM0MGFmNzY0NzgzZWRmZmZhYzE5OWIwZWJmMDFjMzYycDEsCisgICAgMHgxLmY3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuMzQwYWY3NjQ3ODNlZGZmZmFjMTk5YjBlYmYwMWMzNjJwMSwKKyAgICAtMHgxLmY3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5mYTI0YTAwNmZiNzI3N2ZlOTkxMDdlNTM1ZjE0ODhkN3AtNSwKKyAgICAweDEuZjk4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS5mYTI0YTAwNmZiNzI3N2ZlOTkxMDdlNTM1ZjE0ODhkN3AtNSwKKyAgICAtMHgxLmY5OHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5mYWJlOTM4NGQ4ZWIyODAzMGQ1MzA2YzFkMzhmZmUzY3AtNSwKKyAgICAweDEuZmExOTVkM2YyODI0YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuZmFiZTkzODRkOGViMjgwMzBkNTMwNmMxZDM4ZmZlM2NwLTUsCisgICAgLTB4MS5mYTE5NWQzZjI4MjRhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmZhYzUzY2M3ZjUxYTI4MjVmMDM2MTVmZjIwMTFhM2Y0cC01LAorICAgIDB4MS5mYTJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtMHgxLmZhYzUzY2M3ZjUxYTI4MjVmMDM2MTVmZjIwMTFhM2Y0cC01LAorICAgIC0weDEuZmEycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLmZjYTcxNTYxMGQ0YzU4NGE3MjFiMmMxOWU2MjIzYzYzcC01LAorICAgIDB4MS5mYmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS5mY2E3MTU2MTBkNGM1ODRhNzIxYjJjMTllNjIyM2M2M3AtNSwKKyAgICAtMHgxLmZiZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuZmYyMzAzZTk0YTZmYTc3NmI5OWZkY2RhYzM0MjQ0M2RwLTQsCisgICAgMHgxLmZjN2ZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLmZmMjMwM2U5NGE2ZmE3NzZiOTlmZGNkYWMzNDI0NDNkcC00LAorICAgIC0weDEuZmM3ZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5mY2NhNzc2MjMyMmExOTVlYzI4NTkxMDMzZTkzZTU1YnAtNywKKyAgICAweDEuZmNjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS5mY2NhNzc2MjMyMmExOTVlYzI4NTkxMDMzZTkzZTU1YnAtNywKKyAgICAtMHgxLmZjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5mZGUzNGU1ZTcxMTEyODAyY2Q1ZGM0ZTFmYjJkMDY0MHAtNSwKKyAgICAweDEuZmQzYjAwZWYyOGRjOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuZmRlMzRlNWU3MTExMjgwMmNkNWRjNGUxZmIyZDA2NDBwLTUsCisgICAgLTB4MS5mZDNiMDBlZjI4ZGM5cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLmZkNWRhNTFlNmJlZTliMDE5ZTYyY2Q3OTY2OTlkZjVjcC04LAorICAgIDB4MS5mZDViMDRmMzdhOGFkcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS5mZDVkYTUxZTZiZWU5YjAxOWU2MmNkNzk2Njk5ZGY1Y3AtOCwKKyAgICAtMHgxLmZkNWIwNGYzN2E4YWRwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuZmYwOGI5YjM5ODE3NjgwMjJlNjZkZDQyY2Q0MTlmNGNwLTksCisgICAgMHgxLmZmMDgwZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLmZmMDhiOWIzOTgxNzY4MDIyZTY2ZGQ0MmNkNDE5ZjRjcC05LAorICAgIC0weDEuZmYwODBmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5mZjc4MmE4OGJhMGZiYTAwZjkwOGUxNmYwNTFhMTgxMHAtMTAsCisgICAgMHgxLmZmNzdmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgLTB4MS5mZjc4MmE4OGJhMGZiYTAwZjkwOGUxNmYwNTFhMTgxMHAtMTAsCisgICAgLTB4MS5mZjc3ZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS4wMTU0ODE4OTI4ZWIxMTEzMjkwNTM1MjUwMTgyNmFmNXAtMywKKyAgICAweDEuZmZmN2ZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuMDE1NDgxODkyOGViMTExMzI5MDUzNTI1MDE4MjZhZjVwLTMsCisgICAgLTB4MS5mZmY3ZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLmZmZmNhNmE3MGQxNTU2NDQ4MmRjOTNhMTM5NzY0ZTJkcC05LAorICAgIDB4MS5mZmZiZmJmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgLTB4MS5mZmZjYTZhNzBkMTU1NjQ0ODJkYzkzYTEzOTc2NGUyZHAtOSwKKyAgICAtMHgxLmZmZmJmYmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuMDE1N2NlYmRiYzdlY2ZmNTZkOTM2ZGVmMmRjOTA4NDhwLTMsCisgICAgMHgxLmZmZmU3ZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAtMHgxLjAxNTdjZWJkYmM3ZWNmZjU2ZDkzNmRlZjJkYzkwODQ4cC0zLAorICAgIC0weDEuZmZmZTdmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5mZmZmMmFhYTcwZTExMjI5YTY0NmMzZWEyMTRkNWM2YnAtMTAsCisgICAgMHgxLmZmZmVmZmZmZmZjZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgLTB4MS5mZmZmMmFhYTcwZTExMjI5YTY0NmMzZWEyMTRkNWM2YnAtMTAsCisgICAgLTB4MS5mZmZlZmZmZmZmY2ZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mZTg0OWFlNGFlMDk0OGZjMzVjZDU2MGZlMGY3YTY0ZnAyLAorICAgIDB4MS5mZmZmZjgxNzA0MzJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgLTB4MS5mZTg0OWFlNGFlMDk0OGZjMzVjZDU2MGZlMGY3YTY0ZnAyLAorICAgIC0weDEuZmZmZmY4MTcwNDMyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS5mZTg2MzYxMTlkZWYwNzI3ZjBiMjFhZDhkYTE3YjcwNXAyLAorICAgIDB4MS5mZmZmZjgxNzY5ZDNicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS5mZTg2MzYxMTlkZWYwNzI3ZjBiMjFhZDhkYTE3YjcwNXAyLAorICAgIC0weDEuZmZmZmY4MTc2OWQzYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5mZWFiMGY4ZDA4OTIzNzMyNmY1MjQ2Y2U3ODIyZGRjYXAyLAorICAgIDB4MS5mZmZmZjgyMDdmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgLTB4MS5mZWFiMGY4ZDA4OTIzNzMyNmY1MjQ2Y2U3ODIyZGRjYXAyLAorICAgIC0weDEuZmZmZmY4MjA3ZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5mZmZmZmJjMDAyYWE5YTk5YWFiMTM0ZjBjY2Y4OWRjZnAtMjAsCisgICAgMHgxLmZmZmZmYmJmZmZmZmZwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgLTB4MS5mZmZmZmJjMDAyYWE5YTk5YWFiMTM0ZjBjY2Y4OWRjZnAtMjAsCisgICAgLTB4MS5mZmZmZmJiZmZmZmZmcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS4zOGFhOWJiYzgxZGU4MDM3MmRhMDY2MjczZTE4MWYzZHAzLAorICAgIDB4MS5mZmZmZmZjN2ZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS4zOGFhOWJiYzgxZGU4MDM3MmRhMDY2MjczZTE4MWYzZHAzLAorICAgIC0weDEuZmZmZmZmYzdmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS5hNzkxZDg3M2JjZjFlZjZjYzU4OWI1NWJlOTRjMTFjY3AzLAorICAgIDB4MS5mZmZmZmZmZmYxZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLTB4MS5hNzkxZDg3M2JjZjFlZjZjYzU4OWI1NWJlOTRjMTFjY3AzLAorICAgIC0weDEuZmZmZmZmZmZmMWZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS4wNDhmYTMxZWM2YTA3NmNmZDI2YWJiNDU2YzllODYzYXA0LAorICAgIDB4MS5mZmZmZmZmZmZmZjdmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgLTB4MS4wNDhmYTMxZWM2YTA3NmNmZDI2YWJiNDU2YzllODYzYXA0LAorICAgIC0weDEuZmZmZmZmZmZmZmY3ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmZmZmZmZmY4YWFhYWFhYWFhYTlmMTExMTExMXAtMjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZWVwLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmY4YWFhYWFhYWFhYTlmMTExMTExMXAtMjUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmVlcC0yNQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIC0weDEuMzFkZDI4Yzg5ZDY0ZjM1MTNlYTk4ZjAxNGFlNzYzMGNwMSwKKyAgICAtMHgxLmY3Nzc3Nzc3Nzc3NzdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuMzFkZDI4Yzg5ZDY0ZjM1MTNlYTk4ZjAxNGFlNzYzMGNwMSwKKyAgICAweDEuZjc3Nzc3Nzc3Nzc3N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIC0weDEuMDRmNjVmOWM3Mjk3NTI3NzQ5MzgyODgzYjhlODhlMzNwMSwKKyAgICAtMHgxLmVlZWVlZWVlZWVlZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuMDRmNjVmOWM3Mjk3NTI3NzQ5MzgyODgzYjhlODhlMzNwMSwKKyAgICAweDEuZWVlZWVlZWVlZWVlZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuZDRlZjk2ODg4MGRjZjFjNDhiZjZkNzA3MDA4ZTcxYTBwMCwKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuZDRlZjk2ODg4MGRjZjFjNDhiZjZkNzA3MDA4ZTcxYTBwMCwKKyAgICAweDEuZTY2NjY2NjY2NjY2NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuYWYwMzhjYmNkZmUxNzdmOWI5N2NiMTNhY2I2YTFkNTZwMCwKKyAgICAtMHgxLmRkZGRkZGRkZGRkZGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuYWYwMzhjYmNkZmUxNzdmOWI5N2NiMTNhY2I2YTFkNTZwMCwKKyAgICAweDEuZGRkZGRkZGRkZGRkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEuOTE1N2RmZGQxYjNlOGJiMmJjOGM5NGI2OTJjMzZjOGJwMCwKKyAgICAtMHgxLmQ1NTU1NTU1NTU1NTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuOTE1N2RmZGQxYjNlOGJiMmJjOGM5NGI2OTJjMzZjOGJwMCwKKyAgICAweDEuZDU1NTU1NTU1NTU1M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIC0weDEuNzhlMzYwNjA0YjMyNTEzYWZhMzAyZGQ5MDkwZjU0YWZwMCwKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuNzhlMzYwNjA0YjMyNTEzYWZhMzAyZGQ5MDkwZjU0YWZwMCwKKyAgICAweDEuY2NjY2NjY2NjY2NjYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIC0weDEuNjQwNzc1ZDRkZDk4NDU3YjM2ZmI3Y2U5OGVjNDMzMDhwMCwKKyAgICAtMHgxLmM0NDQ0NDQ0NDQ0NDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuNjQwNzc1ZDRkZDk4NDU3YjM2ZmI3Y2U5OGVjNDMzMDhwMCwKKyAgICAweDEuYzQ0NDQ0NDQ0NDQ0MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEuNTFjY2ExNmQ3YmI5ZmY3OTYwM2MyNTMzYzVjNzZiN2FwMCwKKyAgICAtMHgxLmJiYmJiYmJiYmJiYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuNTFjY2ExNmQ3YmI5ZmY3OTYwM2MyNTMzYzVjNzZiN2FwMCwKKyAgICAweDEuYmJiYmJiYmJiYmJiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIC0weDEuNDE5MzNiMGU0NDYzMDVhOTZhY2UxYmMyNjJjZGVlOTlwMCwKKyAgICAtMHgxLmIzMzMzMzMzMzMzMmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuNDE5MzNiMGU0NDYzMDVhOTZhY2UxYmMyNjJjZGVlOTlwMCwKKyAgICAweDEuYjMzMzMzMzMzMzMyZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0weDEuMzJlZTNiNzdmMzc0NDE0ZDNhMjkxNDEwODBkZmFiZWFwMCwKKyAgICAtMHgxLmFhYWFhYWFhYWFhYTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuMzJlZTNiNzdmMzc0NDE0ZDNhMjkxNDEwODBkZmFiZWFwMCwKKyAgICAweDEuYWFhYWFhYWFhYWFhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuMjU4ZmRhZTgzNzJiOTIzMWE2NjRlYTc2YzlkNjU4NmZwMCwKKyAgICAtMHgxLmEyMjIyMjIyMjIyMWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuMjU4ZmRhZTgzNzJiOTIzMWE2NjRlYTc2YzlkNjU4NmZwMCwKKyAgICAweDEuYTIyMjIyMjIyMjIxZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuMTkzZWE3YWFkMDMwMmQwNGRjZmQxYjhlMTkyZWQ4NWRwMCwKKyAgICAtMHgxLjk5OTk5OTk5OTk5OTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuMTkzZWE3YWFkMDMwMmQwNGRjZmQxYjhlMTkyZWQ4NWRwMCwKKyAgICAweDEuOTk5OTk5OTk5OTk5NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0weDEuMGRjZWZlYTRkMDI1ZTBiOGQwOTA1MmU0NmZkZjRmMmVwMCwKKyAgICAtMHgxLjkxMTExMTExMTExMGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMGRjZWZlYTRkMDI1ZTBiOGQwOTA1MmU0NmZkZjRmMmVwMCwKKyAgICAweDEuOTExMTExMTExMTEwYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuMDMxZWYxMTA5MGY3NzFkOTkwZTQxZTQ3ZDMwOTEzZDZwMCwKKyAgICAtMHgxLjg4ODg4ODg4ODg4ODJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuMDMxZWYxMTA5MGY3NzFkOTkwZTQxZTQ3ZDMwOTEzZDZwMCwKKyAgICAweDEuODg4ODg4ODg4ODg4MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIC0weDEuZjIyNzJhZTMyNWE0NzU0NmY2OTQ5NmNmODYxYmUwNDZwLTEsCisgICAgLTB4MS43ZmZmZmZmZmZmZmY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLmYyMjcyYWUzMjVhNDc1NDZmNjk0OTZjZjg2MWJlMDQ2cC0xLAorICAgIDB4MS43ZmZmZmZmZmZmZmY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgLTB4MS5kZjJlNmQ2ZTVmYjlhM2FlZGU3M2I1NTU3OGY1NTY3MnAtMSwKKyAgICAtMHgxLjc3Nzc3Nzc3Nzc3NzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuZGYyZTZkNmU1ZmI5YTNhZWRlNzNiNTU1NzhmNTU2NzJwLTEsCisgICAgMHgxLjc3Nzc3Nzc3Nzc3NzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAtMHgxLmNkMzAyMTE2ZjUwYWJhYmM0MGMxMzI0MTllMWRhYjJhcC0xLAorICAgIC0weDEuNmVlZWVlZWVlZWVlN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS5jZDMwMjExNmY1MGFiYWJjNDBjMTMyNDE5ZTFkYWIyYXAtMSwKKyAgICAweDEuNmVlZWVlZWVlZWVlN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0weDEuYmMwZWQwOTQ3ZmJkODhlMWJhNTI3MjNiNTc5NTA1OTJwLTEsCisgICAgLTB4MS42NjY2NjY2NjY2NjVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLmJjMGVkMDk0N2ZiZDg4ZTFiYTUyNzIzYjU3OTUwNTkycC0xLAorICAgIDB4MS42NjY2NjY2NjY2NjVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS5hYmIxYzkwNjU4MjU5NzJhYWFmM2QxNjRjYTFmNTMyM3AtMSwKKyAgICAtMHgxLjVkZGRkZGRkZGRkZDVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuYWJiMWM5MDY1ODI1OTcyYWFhZjNkMTY0Y2ExZjUzMjNwLTEsCisgICAgMHgxLjVkZGRkZGRkZGRkZDVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAtMHgxLjljMDQxZjdlZDhkMjI5ZTMxMmFhZDg0OTk4YTBlMDA4cC0xLAorICAgIC0weDEuNTU1NTU1NTU1NTU0Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS45YzA0MWY3ZWQ4ZDIyOWUzMTJhYWQ4NDk5OGEwZTAwOHAtMSwKKyAgICAweDEuNTU1NTU1NTU1NTU0Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIC0weDEuOGNmM2YzYjc5MTczOWJhMzU4MjRiMjBiYjY3YmMwNTFwLTEsCisgICAgLTB4MS40Y2NjY2NjY2NjY2MzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjhjZjNmM2I3OTE3MzliYTM1ODI0YjIwYmI2N2JjMDUxcC0xLAorICAgIDB4MS40Y2NjY2NjY2NjY2MzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgLTB4MS43ZTcxZGVkNjY0NjA2MTRkM2NmZWVhZTUxOTU4NTNmZHAtMSwKKyAgICAtMHgxLjQ0NDQ0NDQ0NDQ0M2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuN2U3MWRlZDY2NDYwNjE0ZDNjZmVlYWU1MTk1ODUzZmRwLTEsCisgICAgMHgxLjQ0NDQ0NDQ0NDQ0M2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAtMHgxLjcwNzA4MjdmMWM3ZWU5ZmMyM2ViMDkwOTk0OTVmNzYwcC0xLAorICAgIC0weDEuM2JiYmJiYmJiYmJiMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS43MDcwODI3ZjFjN2VlOWZjMjNlYjA5MDk5NDk1Zjc2MHAtMSwKKyAgICAweDEuM2JiYmJiYmJiYmJiMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIC0weDEuNjJlNDJmZWZhMzlkZGI1NzkzYzc2NzMwNjNjNWVkNWVwLTEsCisgICAgLTB4MS4zMzMzMzMzMzMzMzI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjYyZTQyZmVmYTM5ZGRiNTc5M2M3NjczMDYzYzVlZDVlcC0xLAorICAgIDB4MS4zMzMzMzMzMzMzMzI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgLTB4MS41NWMyYTE0MWJkOTEzYzlkYTkxZTliYTk3ZDg0ZWY0MnAtMSwKKyAgICAtMHgxLjJhYWFhYWFhYWFhOWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuNTVjMmExNDFiZDkxM2M5ZGE5MWU5YmE5N2Q4NGVmNDJwLTEsCisgICAgMHgxLjJhYWFhYWFhYWFhOWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAtMHgxLjQ5MDJjMDhiZWM4YjhkNmJhMmRlYmNlZTY3MTA3YWE1cC0xLAorICAgIC0weDEuMjIyMjIyMjIyMjIxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS40OTAyYzA4YmVjOGI4ZDZiYTJkZWJjZWU2NzEwN2FhNXAtMSwKKyAgICAweDEuMjIyMjIyMjIyMjIxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIC0weDEuM2M5Yzc5YmM4NTA4Y2EyZDViOTBhODQyZWU3ZWRmYTNwLTEsCisgICAgLTB4MS4xOTk5OTk5OTk5OThkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLjNjOWM3OWJjODUwOGNhMmQ1YjkwYTg0MmVlN2VkZmEzcC0xLAorICAgIDB4MS4xOTk5OTk5OTk5OThkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgLTB4MS4zMDg4OTRkNzEwZDc2N2FmMzQ5YWQ1NjY0ZjkxYWZiY3AtMSwKKyAgICAtMHgxLjExMTExMTExMTExMDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAweDEuMzA4ODk0ZDcxMGQ3NjdhZjM0OWFkNTY2NGY5MWFmYmNwLTEsCisgICAgMHgxLjExMTExMTExMTExMDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAtMHgxLjI0YzA5NmNmOTc2YTk2MDg3YzEzMzU2MjhmZGMwMDk4cC0xLAorICAgIC0weDEuMDg4ODg4ODg4ODg3YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS4yNGMwOTZjZjk3NmE5NjA4N2MxMzM1NjI4ZmRjMDA5OHAtMSwKKyAgICAweDEuMDg4ODg4ODg4ODg3YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIC0weDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjE5M2VhN2FhZDAzMGE5NzZhNDE5OGQ1NTA1M2I3Y2I1cC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjE5M2VhN2FhZDAzMGE5NzZhNDE5OGQ1NTA1M2I3Y2I1cC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgLTB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuMjRjMDk2Y2Y5NzZiYzc5YTdhYjc4OTk1ZDM2YjA2NmJwLTEsCisgICAgMHgxLjA4ODg4ODg4ODg4ODlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAtMHgxLjI0YzA5NmNmOTc2YmM3OWE3YWI3ODk5NWQzNmIwNjZicC0xLAorICAgIC0weDEuMDg4ODg4ODg4ODg4OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS4zMDg4OTRkNzEwZDhhMGJhNTVmZjAxZWI4N2NiYzIyMHAtMSwKKyAgICAweDEuMTExMTExMTExMTExMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuMzA4ODk0ZDcxMGQ4YTBiYTU1ZmYwMWViODdjYmMyMjBwLTEsCisgICAgLTB4MS4xMTExMTExMTExMTEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLjNjOWM3OWJjODUwYTBiNTJmYTRkYWNkOTEwZDEyYTMycC0xLAorICAgIDB4MS4xOTk5OTk5OTk5OTlicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgLTB4MS4zYzljNzliYzg1MGEwYjUyZmE0ZGFjZDkxMGQxMmEzMnAtMSwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuNDkwMmMwOGJlYzhjZDc1ZjExMTAyZGEzMGYxZjc4ZDdwLTEsCisgICAgMHgxLjIyMjIyMjIyMjIyMjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAtMHgxLjQ5MDJjMDhiZWM4Y2Q3NWYxMTEwMmRhMzBmMWY3OGQ3cC0xLAorICAgIC0weDEuMjIyMjIyMjIyMjIyNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS41NWMyYTE0MWJkOTI5MDI3MTc5YTkwZTFiY2RjMWEyZHAtMSwKKyAgICAweDEuMmFhYWFhYWFhYWFhZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuNTVjMmExNDFiZDkyOTAyNzE3OWE5MGUxYmNkYzFhMmRwLTEsCisgICAgLTB4MS4yYWFhYWFhYWFhYWFkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLjYyZTQyZmVmYTM5ZjM5NTc5M2M3NjczMDBkYTNlZDVlcC0xLAorICAgIDB4MS4zMzMzMzMzMzMzMzM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgLTB4MS42MmU0MmZlZmEzOWYzOTU3OTNjNzY3MzAwZGEzZWQ1ZXAtMSwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuNzA3MDgyN2YxYzgwNTM2ZmViNzY3M2RkODhiOTQ2ZWNwLTEsCisgICAgMHgxLjNiYmJiYmJiYmJiYmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAtMHgxLjcwNzA4MjdmMWM4MDUzNmZlYjc2NzNkZDg4Yjk0NmVjcC0xLAorICAgIC0weDEuM2JiYmJiYmJiYmJiZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS43ZTcxZGVkNjY0NjFkNzUzZTMzYWMyZmY2MTg2NDRlMHAtMSwKKyAgICAweDEuNDQ0NDQ0NDQ0NDQ0OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIC0weDEuN2U3MWRlZDY2NDYxZDc1M2UzM2FjMmZmNjE4NjQ0ZTBwLTEsCisgICAgLTB4MS40NDQ0NDQ0NDQ0NDQ4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjhjZjNmM2I3OTE3NTFmODQ1MDYyYzE4ZjRiMGQ3ZmU3cC0xLAorICAgIDB4MS40Y2NjY2NjY2NjY2QxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS44Y2YzZjNiNzkxNzUxZjg0NTA2MmMxOGY0YjBkN2ZlN3AtMSwKKyAgICAtMHgxLjRjY2NjY2NjY2NjZDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuOWMwNDFmN2VkOGQzYmQxNjQ1ZGUwYjdjODU0NGI3MTNwLTEsCisgICAgMHgxLjU1NTU1NTU1NTU1NWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLjljMDQxZjdlZDhkM2JkMTY0NWRlMGI3Yzg1NDRiNzEzcC0xLAorICAgIC0weDEuNTU1NTU1NTU1NTU1YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS5hYmIxYzkwNjU4MjczYjYyYjI2YzQ3ZGFiZDJiMTZjYXAtMSwKKyAgICAweDEuNWRkZGRkZGRkZGRlM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIC0weDEuYWJiMWM5MDY1ODI3M2I2MmIyNmM0N2RhYmQyYjE2Y2FwLTEsCisgICAgLTB4MS41ZGRkZGRkZGRkZGUzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLmJjMGVkMDk0N2ZiZjQwMThmMTg5YTk3MjVhMGM4MjE0cC0xLAorICAgIDB4MS42NjY2NjY2NjY2NjZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5iYzBlZDA5NDdmYmY0MDE4ZjE4OWE5NzI1YTBjODIxNHAtMSwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuY2QzMDIxMTZmNTBjODc0NWFlZDg0YmQ3NTFmYjU3NWNwLTEsCisgICAgMHgxLjZlZWVlZWVlZWVlZjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLmNkMzAyMTE2ZjUwYzg3NDVhZWQ4NGJkNzUxZmI1NzVjcC0xLAorICAgIC0weDEuNmVlZWVlZWVlZWVmNXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS5kZjJlNmQ2ZTVmYmI4ODRjNjg0YzUyZGYzYjI2MGMzOHAtMSwKKyAgICAweDEuNzc3Nzc3Nzc3Nzc3ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuZGYyZTZkNmU1ZmJiODg0YzY4NGM1MmRmM2IyNjBjMzhwLTEsCisgICAgLTB4MS43Nzc3Nzc3Nzc3NzdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLmYyMjcyYWUzMjVhNjc1NDZmNjk0OTZjZjg2MWJlMDQ2cC0xLAorICAgIDB4MS44MDAwMDAwMDAwMDA3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgLTB4MS5mMjI3MmFlMzI1YTY3NTQ2ZjY5NDk2Y2Y4NjFiZTA0NnAtMSwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuMDMxZWYxMTA5MGY4ODE4YzQ4NzAzMTk5ZmVjMTQzM2FwMCwKKyAgICAweDEuODg4ODg4ODg4ODg5MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0weDEuMDMxZWYxMTA5MGY4ODE4YzQ4NzAzMTk5ZmVjMTQzM2FwMCwKKyAgICAtMHgxLjg4ODg4ODg4ODg4OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMGRjZWZlYTRkMDI3MDI5NWQ4ZDg3N2IzNmVhMWMwZTNwMCwKKyAgICAweDEuOTExMTExMTExMTExOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuMGRjZWZlYTRkMDI3MDI5NWQ4ZDg3N2IzNmVhMWMwZTNwMCwKKyAgICAtMHgxLjkxMTExMTExMTExMTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuMTkzZWE3YWFkMDMxNjQyMTRlYzQzODAwMWNjOWI1OTlwMCwKKyAgICAweDEuOTk5OTk5OTk5OTlhMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIC0weDEuMTkzZWE3YWFkMDMxNjQyMTRlYzQzODAwMWNjOWI1OTlwMCwKKyAgICAtMHgxLjk5OTk5OTk5OTk5YTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuMjU4ZmRhZTgzNzJjZTI3OTYzYzc1ODM1ZDQ2YjY2ZTZwMCwKKyAgICAweDEuYTIyMjIyMjIyMjIyYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuMjU4ZmRhZTgzNzJjZTI3OTYzYzc1ODM1ZDQ2YjY2ZTZwMCwKKyAgICAtMHgxLmEyMjIyMjIyMjIyMmJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuMzJlZTNiNzdmMzc1YWZkOGRkMTFjZTNmOWU0YjkyODdwMCwKKyAgICAweDEuYWFhYWFhYWFhYWFiNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIC0weDEuMzJlZTNiNzdmMzc1YWZkOGRkMTFjZTNmOWU0YjkyODdwMCwKKyAgICAtMHgxLmFhYWFhYWFhYWFhYjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuNDE5MzNiMGU0NDY0OTk0M2YwOTIyNGZjZTM4MmM3OTlwMCwKKyAgICAweDEuYjMzMzMzMzMzMzMzZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIC0weDEuNDE5MzNiMGU0NDY0OTk0M2YwOTIyNGZjZTM4MmM3OTlwMCwKKyAgICAtMHgxLmIzMzMzMzMzMzMzM2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuNTFjY2ExNmQ3YmJiYzE3OTYwM2MyNTM1MDViMzZiN2FwMCwKKyAgICAweDEuYmJiYmJiYmJiYmJjNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEuNTFjY2ExNmQ3YmJiYzE3OTYwM2MyNTM1MDViMzZiN2FwMCwKKyAgICAtMHgxLmJiYmJiYmJiYmJiYzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuNjQwNzc1ZDRkZDlhNDMzNzQwMGI1OGFiZmRlYTY0NGZwMCwKKyAgICAweDEuYzQ0NDQ0NDQ0NDQ0ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuNjQwNzc1ZDRkZDlhNDMzNzQwMGI1OGFiZmRlYTY0NGZwMCwKKyAgICAtMHgxLmM0NDQ0NDQ0NDQ0NGZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuNzhlMzYwNjA0YjM0OWViNDNkOGU3ZWIzN2EzYzAxYjZwMCwKKyAgICAweDEuY2NjY2NjY2NjY2NkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIC0weDEuNzhlMzYwNjA0YjM0OWViNDNkOGU3ZWIzN2EzYzAxYjZwMCwKKyAgICAtMHgxLmNjY2NjY2NjY2NjZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuOTE1N2RmZGQxYjQxNDhlYTYzODE3MzU2ZmMwNGMxM2JwMCwKKyAgICAweDEuZDU1NTU1NTU1NTU2MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC0weDEuOTE1N2RmZGQxYjQxNDhlYTYzODE3MzU2ZmMwNGMxM2JwMCwKKyAgICAtMHgxLmQ1NTU1NTU1NTU1NjFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuYWYwMzhjYmNkZmU0ZGNmMGU1YTAwMGI1NzA3N2QwMDVwMCwKKyAgICAweDEuZGRkZGRkZGRkZGRlYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuYWYwMzhjYmNkZmU0ZGNmMGU1YTAwMGI1NzA3N2QwMDVwMCwKKyAgICAtMHgxLmRkZGRkZGRkZGRkZWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuZDRlZjk2ODg4MGUxNmU3YzU3NzM4ZWUxY2FiMjc2NTdwMCwKKyAgICAweDEuZTY2NjY2NjY2NjY3M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuZDRlZjk2ODg4MGUxNmU3YzU3NzM4ZWUxY2FiMjc2NTdwMCwKKyAgICAtMHgxLmU2NjY2NjY2NjY2NzNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuMDRmNjVmOWM3MjlhYThiNDA4MjI3NmIwNjliNmM0NzlwMSwKKyAgICAweDEuZWVlZWVlZWVlZWVmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIC0weDEuMDRmNjVmOWM3MjlhYThiNDA4MjI3NmIwNjliNmM0NzlwMSwKKyAgICAtMHgxLmVlZWVlZWVlZWVlZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuMzFkZDI4Yzg5ZDY0ZjM1MTNlYTk4ZjAxNGFlNzYzMGNwMSwKKyAgICAweDEuZjc3Nzc3Nzc3Nzc3N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIC0weDEuMzFkZDI4Yzg5ZDY0ZjM1MTNlYTk4ZjAxNGFlNzYzMGNwMSwKKyAgICAtMHgxLmY3Nzc3Nzc3Nzc3NzdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAtMHgxLjJiNzA4ODcyMzIwZTFkMzFlNGIwM2YxMDg2YTljMDQ3cDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjJiNzA4ODcyMzIwZTFkMzFlNGIwM2YxMDg2YTljMDQ3cDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAtMHgxLjI1ZTRmN2IyNzM3ZmExNDQ4NjYxMjE3M2M2ODk2ODkycDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgMHgxLjI1ZTRmN2IyNzM3ZmExNDQ4NjYxMjE3M2M2ODk2ODkycDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAtMHgxLjIyYTY5MzM0ZGI4Yzk3YTYyZjhmNzJhNWRlN2RlNDYycDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLjIyYTY5MzM0ZGI4Yzk3YTYyZjhmNzJhNWRlN2RlNDYycDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuMmI3MDg4NzIzMjBlMWQzMWU0YjAzZjEwODZhOWMwNDdwNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIC0weDEuMmI3MDg4NzIzMjBlMWQzMWU0YjAzZjEwODZhOWMwNDdwNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuMjVlNGY3YjI3MzdmYTE0NDg2NjEyMTczYzY4OTY4OTJwNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIC0weDEuMjVlNGY3YjI3MzdmYTE0NDg2NjEyMTczYzY4OTY4OTJwNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuMjJhNjkzMzRkYjhjOTdhNjJmOGY3MmE1ZGU3ZGU0NjJwNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIC0weDEuMjJhNjkzMzRkYjhjOTdhNjJmOGY3MmE1ZGU3ZGU0NjJwNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuNGE4NTFiYWYyN2I2ZDU0OWI3YzUyNGZiZDkxNjQ0YjJwLTMsCisgICAgMHgxLjQ3YWUxNDdhZTE0N2FwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAtMHgxLjRhODUxYmFmMjdiNmQ1NDliN2M1MjRmYmQ5MTY0NGIycC0zLAorICAgIC0weDEuNDdhZTE0N2FlMTQ3YXAtMworICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS40YTg1MWJhZjI3YjZlNWI1NTQ5MDk5NmM4MTM3Mjk2YXAtMywKKyAgICAweDEuNDdhZTE0N2FlMTQ3YnAtMworICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIC0weDEuNGE4NTFiYWYyN2I2ZTViNTU0OTA5OTZjODEzNzI5NmFwLTMsCisgICAgLTB4MS40N2FlMTQ3YWUxNDdicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLjRhODUxYmFmMjdiNmY2MjBmMTVjMGRkZDI5NjJkNzIxcC0zLAorICAgIDB4MS40N2FlMTQ3YWUxNDdjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgLTB4MS40YTg1MWJhZjI3YjZmNjIwZjE1YzBkZGQyOTYyZDcyMXAtMywKKyAgICAtMHgxLjQ3YWUxNDdhZTE0N2NwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAtMHgxLjRhODUxYmFmMjdiNmY2MjBmMTVjMGRkZDI5NjJkNzIxcC0zLAorICAgIC0weDEuNDdhZTE0N2FlMTQ3Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS40YTg1MWJhZjI3YjZmNjIwZjE1YzBkZGQyOTYyZDcyMXAtMywKKyAgICAweDEuNDdhZTE0N2FlMTQ3Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIC0weDEuNGE4NTFiYWYyN2I2ZTViNTU0OTA5OTZjODEzNzI5NmFwLTMsCisgICAgLTB4MS40N2FlMTQ3YWUxNDdicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgMHgxLjRhODUxYmFmMjdiNmU1YjU1NDkwOTk2YzgxMzcyOTZhcC0zLAorICAgIDB4MS40N2FlMTQ3YWUxNDdicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS40YTg1MWJhZjI3YjZkNTQ5YjdjNTI0ZmJkOTE2NDRiMnAtMywKKyAgICAtMHgxLjQ3YWUxNDdhZTE0N2FwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuNGE4NTFiYWYyN2I2ZDU0OWI3YzUyNGZiZDkxNjQ0YjJwLTMsCisgICAgMHgxLjQ3YWUxNDdhZTE0N2FwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzQKKyAgICAweDEuMTkzZWE3YWFkMDMwOWVjYmY5NmVlMmFhNWFhZDQzZDJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAtMHgxLjE5M2VhN2FhZDAzMDllY2JmOTZlZTJhYTVhYWQ0M2QycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIC0weDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLjE5M2VhN2FhZDAzMGJlY2JmOTZlZTJhYTViMDI5OTI3cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgLTB4MS4xOTNlYTdhYWQwMzBiZWNiZjk2ZWUyYWE1YjAyOTkyN3AtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDAKKyAgICAweDEuMDU4YWVmYTgxMTQ1MTFlOWVlMzNhNmY5N2JiNzZmMGFwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLjA1OGFlZmE4MTE0NTExZTllZTMzYTZmOTdiYjc2ZjBhcC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS4wNThhZWZhODExNDUxYTcyNzZiYzJmODIwNDNiNmE3ZHAtMiwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIC0weDEuMDU4YWVmYTgxMTQ1MWE3Mjc2YmMyZjgyMDQzYjZhN2RwLTIsCisgICAgLTB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMHgxLjA1OGFlZmE4MTE0NTJiODM4N2NkNDA5MzE1NWVhZmU0cC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgLTB4MS4wNThhZWZhODExNDUyYjgzODdjZDQwOTMxNTVlYWZlNHAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuMDE1ODkxYzllYWVmNmU3OGM0NzFlZWU5ODk0Y2VhYmRwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAtMHgxLjAxNTg5MWM5ZWFlZjZlNzhjNDcxZWVlOTg5NGNlYWJkcC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS4wMTU4OTFjOWVhZWY3Njk5NDY3YTBmNmI5MTZjNjQ5NHAtMywKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIC0weDEuMDE1ODkxYzllYWVmNzY5OTQ2N2EwZjZiOTE2YzY0OTRwLTMsCisgICAgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLjAxNTg5MWM5ZWFlZjg2ZGE0YThhNTA2ZmExYjE4OTY5cC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgLTB4MS4wMTU4OTFjOWVhZWY4NmRhNGE4YTUwNmZhMWIxODk2OXAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuMDA1NTg4YWQzNzVhYzVjMzBiMGE5ZDViYmU3ZDVkZDdwLTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAtMHgxLjAwNTU4OGFkMzc1YWM1YzMwYjBhOWQ1YmJlN2Q1ZGQ3cC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIDB4MS4wMDU1ODhhZDM3NWFjZGNiMTMxMmE1NjNjNjg1MjU1ZXAtNCwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIC0weDEuMDA1NTg4YWQzNzVhY2RjYjEzMTJhNTYzYzY4NTI1NWVwLTQsCisgICAgLTB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLjAwNTU4OGFkMzc1YWRkZGIyMzIyYjU3M2Q2OTYzNzcxcC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgLTB4MS4wMDU1ODhhZDM3NWFkZGRiMjMyMmI1NzNkNjk2Mzc3MXAtNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuMDAxNTU4ODkxYWVlMWNiMjlkNTNkZGJkYjQ2ZTc5ZDlwLTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAtMHgxLjAwMTU1ODg5MWFlZTFjYjI5ZDUzZGRiZGI0NmU3OWQ5cC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIDB4MS4wMDE1NTg4OTFhZWUyNGI0OWRkM2ZkYzViNjZlZTlmMXAtNSwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIC0weDEuMDAxNTU4ODkxYWVlMjRiNDlkZDNmZGM1YjY2ZWU5ZjFwLTUsCisgICAgLTB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgMHgxLjAwMTU1ODg5MWFlZTM0Yjg5ZWQ0M2RkNWJhNzAyYTUycC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgLTB4MS4wMDE1NTg4OTFhZWUzNGI4OWVkNDNkZDViYTcwMmE1MnAtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuMDAwNTU1ODg4YWQxYzE4ZDhkMzI1NWFhYzZkMmFjYWRwLTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAtMHgxLjAwMDU1NTg4OGFkMWMxOGQ4ZDMyNTVhYWM2ZDJhY2FkcC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIDB4MS4wMDA1NTU4ODhhZDFjOThlMGQzYTU2MmFjZWQzMjhiNXAtNiwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIC0weDEuMDAwNTU1ODg4YWQxYzk4ZTBkM2E1NjJhY2VkMzI4YjVwLTYsCisgICAgLTB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLjAwMDU1NTg4OGFkMWQ5OGYwZDRhNTcyYWRlZDQzOGM3cC02LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgLTB4MS4wMDA1NTU4ODhhZDFkOThmMGQ0YTU3MmFkZWQ0MzhjN3AtNiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuMDAwMTU1NTg4ODkxYTUzNzIzZDBjZmMyNWQ5OTJmZDJwLTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAtMHgxLjAwMDE1NTU4ODg5MWE1MzcyM2QwY2ZjMjVkOTkyZmQycC03LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIDB4MS4wMDAxNTU1ODg4OTFhZDM3NDNkMTRmYzQ1ZGExMmVmMnAtNywKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIC0weDEuMDAwMTU1NTg4ODkxYWQzNzQzZDE0ZmM0NWRhMTJlZjJwLTcsCisgICAgLTB4MS4wcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLjAwMDE1NTU4ODg5MWJkMzc4M2QyNGZjODVkYjEzMzMycC03LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgLTB4MS4wMDAxNTU1ODg4OTFiZDM3ODNkMjRmYzg1ZGIxMzMzMnAtNywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEuMDAwMDU1NTU4ODg4YTUxYWU2MWVmMTMzZmMwNzhmOWFwLTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAtMHgxLjAwMDA1NTU1ODg4OGE1MWFlNjFlZjEzM2ZjMDc4ZjlhcC04LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIDB4MS4wMDAwNTU1NTg4ODhhZDFhZWUxZWY5MzQwNDA3OTc1YXAtOCwKKyAgICAweDEuMHAtOAorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIC0weDEuMDAwMDU1NTU4ODg4YWQxYWVlMWVmOTM0MDQwNzk3NWFwLTgsCisgICAgLTB4MS4wcC04CisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgMHgxLjAwMDA1NTU1ODg4OGJkMWFmZTFmMDkzNDE0MDdhODVicC04LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgLTB4MS4wMDAwNTU1NTg4ODhiZDFhZmUxZjA5MzQxNDA3YTg1YnAtOCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuMDAwMDE1NTU1ODg4ODExYWNmYzk4YzFlOWFlMjMwZmNwLTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgLTB4MS4wMDAwMTU1NTU4ODg4MTFhY2ZjOThjMWU5YWUyMzBmY3AtOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLjAwMDAxNTU1NTg4ODg5MWFkMWM5OGM5ZTliMDIzMGY0cC05LAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgLTB4MS4wMDAwMTU1NTU4ODg4OTFhZDFjOThjOWU5YjAyMzBmNHAtOSwKKyAgICAtMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuMDAwMDE1NTU1ODg4OTkxYWQ1Yzk4ZDllOWI0MjMxNDRwLTksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAtMHgxLjAwMDAxNTU1NTg4ODk5MWFkNWM5OGQ5ZTliNDIzMTQ0cC05LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOQorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS4wMDAwMDU1NTU1ODg4MDhhZDEyZDM3M2I3NWFiMjBhM3AtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgLTB4MS4wMDAwMDU1NTU1ODg4MDhhZDEyZDM3M2I3NWFiMjBhM3AtMTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS4wMDAwMDU1NTU1ODg4ODhhZDFhZDM3NDM3NWFiYTA5ZnAtMTAsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgLTB4MS4wMDAwMDU1NTU1ODg4ODhhZDFhZDM3NDM3NWFiYTA5ZnAtMTAsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS4wMDAwMDU1NTU1ODg5ODhhZDJhZDM3NTM3NWFjYTBhZnAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgLTB4MS4wMDAwMDU1NTU1ODg5ODhhZDJhZDM3NTM3NWFjYTBhZnAtMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS4wMDAwMDAwNTU1NTU0ZDg4ODg4ODBhZDFhZDEyZWUxZXAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgLTB4MS4wMDAwMDAwNTU1NTU0ZDg4ODg4ODBhZDFhZDEyZWUxZXAtMTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS4wMDAwMDAwNTU1NTU1NTg4ODg4ODhhZDFhZDFhZWUxZXAtMTQsCisgICAgMHgxLjBwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgLTB4MS4wMDAwMDAwNTU1NTU1NTg4ODg4ODhhZDFhZDFhZWUxZXAtMTQsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS4wMDAwMDAwNTU1NTU2NTg4ODg4OThhZDFhZDJhZWUxZXAtMTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgLTB4MS4wMDAwMDAwNTU1NTU2NTg4ODg4OThhZDFhZDJhZWUxZXAtMTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMGFhYWFhYWFhYWFhYTliMTExMXAtMjksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI5CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMGFhYWFhYWFhYWFhYTliMTExMXAtMjksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1ODg4OHAtMjgsCisgICAgMHgxLjBwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1ODg4OHAtMjgsCisgICAgLTB4MS4wcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDU1NTU1NTU1NTU1NTY1ODg4OHAtMjgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDU1NTU1NTU1NTU1NTY1ODg4OHAtMjgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDBhYWFhYWFhYWFhYWE5YWIxMXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMDBhYWFhYWFhYWFhYWE5YWIxMXAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDUwOAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU4OHAtMzAsCisgICAgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU4OHAtMzAsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDA1NTU1NTU1NTU1NTU2NTU4OHAtMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDA1NTU1NTU1NTU1NTU2NTU4OHAtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIC0weDEuMTkzZWE3YWFkMDMwYmVjYmY5NmVlMmFhNWIwMjk5MjdwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLjE5M2VhN2FhZDAzMGJlY2JmOTZlZTJhYTViMDI5OTI3cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgLTB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAtMHgxLjE5M2VhN2FhZDAzMDllY2JmOTZlZTJhYTVhYWQ0M2QycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS4xOTNlYTdhYWQwMzA5ZWNiZjk2ZWUyYWE1YWFkNDNkMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIC0weDEuMDU4YWVmYTgxMTQ1MmI4Mzg3Y2Q0MDkzMTU1ZWFmZTRwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgMHgxLjA1OGFlZmE4MTE0NTJiODM4N2NkNDA5MzE1NWVhZmU0cC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgLTB4MS4wNThhZWZhODExNDUxYTcyNzZiYzJmODIwNDNiNmE3ZHAtMiwKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAweDEuMDU4YWVmYTgxMTQ1MWE3Mjc2YmMyZjgyMDQzYjZhN2RwLTIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAtMHgxLjA1OGFlZmE4MTE0NTExZTllZTMzYTZmOTdiYjc2ZjBhcC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS4wNThhZWZhODExNDUxMWU5ZWUzM2E2Zjk3YmI3NmYwYXAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIC0weDEuMDE1ODkxYzllYWVmODZkYTRhOGE1MDZmYTFiMTg5NjlwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgMHgxLjAxNTg5MWM5ZWFlZjg2ZGE0YThhNTA2ZmExYjE4OTY5cC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgLTB4MS4wMTU4OTFjOWVhZWY3Njk5NDY3YTBmNmI5MTZjNjQ5NHAtMywKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEuMDE1ODkxYzllYWVmNzY5OTQ2N2EwZjZiOTE2YzY0OTRwLTMsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAtMHgxLjAxNTg5MWM5ZWFlZjZlNzhjNDcxZWVlOTg5NGNlYWJkcC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDB4MS4wMTU4OTFjOWVhZWY2ZTc4YzQ3MWVlZTk4OTRjZWFiZHAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIC0weDEuMDA1NTg4YWQzNzVhZGRkYjIzMjJiNTczZDY5NjM3NzFwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLjAwNTU4OGFkMzc1YWRkZGIyMzIyYjU3M2Q2OTYzNzcxcC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgLTB4MS4wMDU1ODhhZDM3NWFjZGNiMTMxMmE1NjNjNjg1MjU1ZXAtNCwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuMDA1NTg4YWQzNzVhY2RjYjEzMTJhNTYzYzY4NTI1NWVwLTQsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAtMHgxLjAwNTU4OGFkMzc1YWM1YzMwYjBhOWQ1YmJlN2Q1ZGQ3cC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS4wMDU1ODhhZDM3NWFjNWMzMGIwYTlkNWJiZTdkNWRkN3AtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIC0weDEuMDAxNTU4ODkxYWVlMzRiODllZDQzZGQ1YmE3MDJhNTJwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgMHgxLjAwMTU1ODg5MWFlZTM0Yjg5ZWQ0M2RkNWJhNzAyYTUycC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgLTB4MS4wMDE1NTg4OTFhZWUyNGI0OWRkM2ZkYzViNjZlZTlmMXAtNSwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAweDEuMDAxNTU4ODkxYWVlMjRiNDlkZDNmZGM1YjY2ZWU5ZjFwLTUsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAtMHgxLjAwMTU1ODg5MWFlZTFjYjI5ZDUzZGRiZGI0NmU3OWQ5cC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIDB4MS4wMDE1NTg4OTFhZWUxY2IyOWQ1M2RkYmRiNDZlNzlkOXAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIC0weDEuMDAwNTU1ODg4YWQxZDk4ZjBkNGE1NzJhZGVkNDM4YzdwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMHgxLjAwMDU1NTg4OGFkMWQ5OGYwZDRhNTcyYWRlZDQzOGM3cC02LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgLTB4MS4wMDA1NTU4ODhhZDFjOThlMGQzYTU2MmFjZWQzMjhiNXAtNiwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAweDEuMDAwNTU1ODg4YWQxYzk4ZTBkM2E1NjJhY2VkMzI4YjVwLTYsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAtMHgxLjAwMDU1NTg4OGFkMWMxOGQ4ZDMyNTVhYWM2ZDJhY2FkcC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIDB4MS4wMDA1NTU4ODhhZDFjMThkOGQzMjU1YWFjNmQyYWNhZHAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIC0weDEuMDAwMTU1NTg4ODkxYmQzNzgzZDI0ZmM4NWRiMTMzMzJwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLjAwMDE1NTU4ODg5MWJkMzc4M2QyNGZjODVkYjEzMzMycC03LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgLTB4MS4wMDAxNTU1ODg4OTFhZDM3NDNkMTRmYzQ1ZGExMmVmMnAtNywKKyAgICAtMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAweDEuMDAwMTU1NTg4ODkxYWQzNzQzZDE0ZmM0NWRhMTJlZjJwLTcsCisgICAgMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAtMHgxLjAwMDE1NTU4ODg5MWE1MzcyM2QwY2ZjMjVkOTkyZmQycC03LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS4wMDAxNTU1ODg4OTFhNTM3MjNkMGNmYzI1ZDk5MmZkMnAtNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIC0weDEuMDAwMDU1NTU4ODg4YmQxYWZlMWYwOTM0MTQwN2E4NWJwLTgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLjAwMDA1NTU1ODg4OGJkMWFmZTFmMDkzNDE0MDdhODVicC04LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgLTB4MS4wMDAwNTU1NTg4ODhhZDFhZWUxZWY5MzQwNDA3OTc1YXAtOCwKKyAgICAtMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuMDAwMDU1NTU4ODg4YWQxYWVlMWVmOTM0MDQwNzk3NWFwLTgsCisgICAgMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAtMHgxLjAwMDA1NTU1ODg4OGE1MWFlNjFlZjEzM2ZjMDc4ZjlhcC04LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS4wMDAwNTU1NTg4ODhhNTFhZTYxZWYxMzNmYzA3OGY5YXAtOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIC0weDEuMDAwMDE1NTU1ODg4OTkxYWQ1Yzk4ZDllOWI0MjMxNDRwLTksCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLjAwMDAxNTU1NTg4ODk5MWFkNWM5OGQ5ZTliNDIzMTQ0cC05LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgLTB4MS4wMDAwMTU1NTU4ODg4OTFhZDFjOThjOWU5YjAyMzBmNHAtOSwKKyAgICAtMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAweDEuMDAwMDE1NTU1ODg4ODkxYWQxYzk4YzllOWIwMjMwZjRwLTksCisgICAgMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAtMHgxLjAwMDAxNTU1NTg4ODgxMWFjZmM5OGMxZTlhZTIzMGZjcC05LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAweDEuMDAwMDE1NTU1ODg4ODExYWNmYzk4YzFlOWFlMjMwZmNwLTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgLTB4MS4wMDAwMDU1NTU1ODg5ODhhZDJhZDM3NTM3NWFjYTBhZnAtMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIDB4MS4wMDAwMDU1NTU1ODg5ODhhZDJhZDM3NTM3NWFjYTBhZnAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgLTB4MS4wMDAwMDU1NTU1ODg4ODhhZDFhZDM3NDM3NWFiYTA5ZnAtMTAsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS4wMDAwMDU1NTU1ODg4ODhhZDFhZDM3NDM3NWFiYTA5ZnAtMTAsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgLTB4MS4wMDAwMDU1NTU1ODg4MDhhZDEyZDM3M2I3NWFiMjBhM3AtMTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS4wMDAwMDU1NTU1ODg4MDhhZDEyZDM3M2I3NWFiMjBhM3AtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgLTB4MS4wMDAwMDAwNTU1NTU2NTg4ODg4OThhZDFhZDJhZWUxZXAtMTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIDB4MS4wMDAwMDAwNTU1NTU2NTg4ODg4OThhZDFhZDJhZWUxZXAtMTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgLTB4MS4wMDAwMDAwNTU1NTU1NTg4ODg4ODhhZDFhZDFhZWUxZXAtMTQsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS4wMDAwMDAwNTU1NTU1NTg4ODg4ODhhZDFhZDFhZWUxZXAtMTQsCisgICAgMHgxLjBwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgLTB4MS4wMDAwMDAwNTU1NTU0ZDg4ODg4ODBhZDFhZDEyZWUxZXAtMTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS4wMDAwMDAwNTU1NTU0ZDg4ODg4ODBhZDFhZDEyZWUxZXAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDU1NTU1NTU1NTU1NTY1ODg4OHAtMjgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDU1NTU1NTU1NTU1NTY1ODg4OHAtMjgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1ODg4OHAtMjgsCisgICAgLTB4MS4wcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1ODg4OHAtMjgsCisgICAgMHgxLjBwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMGFhYWFhYWFhYWFhYTliMTExMXAtMjksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMGFhYWFhYWFhYWFhYTliMTExMXAtMjksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI5CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDA1NTU1NTU1NTU1NTU2NTU4OHAtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDA1NTU1NTU1NTU1NTU2NTU4OHAtMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU4OHAtMzAsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU4OHAtMzAsCisgICAgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMDBhYWFhYWFhYWFhYWE5YWIxMXAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDBhYWFhYWFhYWFhYWE5YWIxMXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIDB4MS4yYjcwODg3MjMyMGUxZDMxZTRiMDNmMTA4NmE5YzA0N3A0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgLTB4MS4yYjcwODg3MjMyMGUxZDMxZTRiMDNmMTA4NmE5YzA0N3A0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS4wZjJlYjA3MDIzMDY4ODE0OWEyNTMxOGZkOGQ0ZWEwZnAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgLTB4MS4wZjJlYjA3MDIzMDY4ODE0OWEyNTMxOGZkOGQ0ZWEwZnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDYwOAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9hdGFuaGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2F0YW5oZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ4MDI1YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9hdGFuaGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMjA5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19hdGFuaGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjFmZmMwMDAwMDA3OTdhZjAxMjAwNDZlN2RjMzFkM2Y1cC0yMCwKKyAgICAtMHgxLjFmZmNwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4xZmZjMDAwMDAwNzk3YWYwMTIwMDQ2ZTdkYzMxZDNmNXAtMjAsCisgICAgMHgxLjFmZmNwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuNWYzMjg3ZjkwMjA3NTE5N2M3ODZjMWNmNjk2MTAxYjRwLTEsCisgICAgLTB4MS4zMGQzNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjVmMzI4N2Y5MDIwNzUxOTdjNzg2YzFjZjY5NjEwMWI0cC0xLAorICAgIDB4MS4zMGQzNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS44YTBjYTZmZmRiMzRjNzBiYjRhNWIyM2ZiNmUxOWQwMXAtMSwKKyAgICAtMHgxLjRiMWRmNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuOGEwY2E2ZmZkYjM0YzcwYmI0YTViMjNmYjZlMTlkMDFwLTEsCisgICAgMHgxLjRiMWRmNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLjZkNDZmZjAwMzE5MzFkNzRjYmI5YzJjZmQ5NDI5ZDhjcC0zLAorICAgIC0weDEuNjk3M2UwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS42ZDQ2ZmYwMDMxOTMxZDc0Y2JiOWMyY2ZkOTQyOWQ4Y3AtMywKKyAgICAweDEuNjk3M2UwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuNzEzZjYxMDAxMGRlYjE4ZWUyZTIzOWYxOTYzYTE0MDVwLTEyLAorICAgIC0weDEuNzEzZjYwcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuNzEzZjYxMDAxMGRlYjE4ZWUyZTIzOWYxOTYzYTE0MDVwLTEyLAorICAgIDB4MS43MTNmNjBwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLjcxNDE0OTAwMTRkNWY4MWY5MDNkZjQ5NTA0NjRjZGE4cC0xMiwKKyAgICAtMHgxLjcxNDE0OHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS43MTQxNDkwMDE0ZDVmODFmOTAzZGY0OTUwNDY0Y2RhOHAtMTIsCisgICAgMHgxLjcxNDE0OHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIC0weDEuNzE0MTc3MDAxNTM1YWM2ZTI5MWYyNDZhZDU1NzliMGVwLTEyLAorICAgIC0weDEuNzE0MTc2cC0xMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjcxNDE3NzAwMTUzNWFjNmUyOTFmMjQ2YWQ1NTc5YjBlcC0xMiwKKyAgICAweDEuNzE0MTc2cC0xMgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS4xNTk2M2RhOTM4YTZjMTBhNzRhYWZhYzg0MGEwMTJhMXAwLAorICAgIC0weDEuOTZlZmEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuMTU5NjNkYTkzOGE2YzEwYTc0YWFmYWM4NDBhMDEyYTFwMCwKKyAgICAweDEuOTZlZmEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMHgxLjE3ZjZlOWE2MjU2NWQ2NDRjZDAwMjJkOTE0ODdlZjdicDAsCisgICAgLTB4MS45OGFjYWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS4xN2Y2ZTlhNjI1NjVkNjQ0Y2QwMDIyZDkxNDg3ZWY3YnAwLAorICAgIDB4MS45OGFjYWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuMWJhMGYyZmZmYzhlMzY5MzUzY2FhY2ZhNTQ5YWNiZjJwMCwKKyAgICAtMHgxLjliNGRjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjFiYTBmMmZmZmM4ZTM2OTM1M2NhYWNmYTU0OWFjYmYycDAsCisgICAgMHgxLjliNGRjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS4yZGQ5YjY2M2U1YWUwNmNkNDdkNGNjYTFmNjEzOTU5OHAwLAorICAgIC0weDEuYTc4MmE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMmRkOWI2NjNlNWFlMDZjZDQ3ZDRjY2ExZjYxMzk1OThwMCwKKyAgICAweDEuYTc4MmE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLmNkMmFmMTAwM2ZiOTdlZDMxYTY5NjU2NDg3MWZkMThhcC00LAorICAgIC0weDEuY2IzYTlhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuY2QyYWYxMDAzZmI5N2VkMzFhNjk2NTY0ODcxZmQxOGFwLTQsCisgICAgMHgxLmNiM2E5YXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS5kMDc3ZmMwMWZkYTUzYjgwOTY3ZDk0MmIxZmZlMjE5M3AtMTYsCisgICAgLTB4MS5kMDc3ZmNwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZDA3N2ZjMDFmZGE1M2I4MDk2N2Q5NDJiMWZmZTIxOTNwLTE2LAorICAgIDB4MS5kMDc3ZmNwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLmZiMDMzNWI0MTY2NWE0NDViYWQxNmE1ZGEyNDU0ZDFhcC0zLAorICAgIC0weDEuZjBlN3AtMworICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmZiMDMzNWI0MTY2NWE0NDViYWQxNmE1ZGEyNDU0ZDFhcC0zLAorICAgIDB4MS5mMGU3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLmZiYmJlOTAwMTYyN2U3MTg4Y2I0OGYzOGM0ODIwZTM1cC0zLAorICAgIC0weDEuZjE5NGQwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZmJiYmU5MDAxNjI3ZTcxODhjYjQ4ZjM4YzQ4MjBlMzVwLTMsCisgICAgMHgxLmYxOTRkMHAtMworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS4xOTNkNTUwMDk1ODc2Zjc5MTA1ZTc2Yzc1Y2E1OGIyZnAtMSwKKyAgICAtMHgxLmZmZmUwNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjE5M2Q1NTAwOTU4NzZmNzkxMDVlNzZjNzVjYTU4YjJmcC0xLAorICAgIDB4MS5mZmZlMDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEuMTkzZWE1MDAyNTg3YzVlODY4NzIwYmM0NmQ4NzUwNWJwLTEsCisgICAgLTB4MS5mZmZmZmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS4xOTNlYTUwMDI1ODdjNWU4Njg3MjBiYzQ2ZDg3NTA1YnAtMSwKKyAgICAweDEuZmZmZmZjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAtMSwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAxNTU1NTVkNTU1NTZwLTQxLAorICAgIDB4MS4wMDAwMDJwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMTU1NTU1ZDU1NTU2cC00MSwKKyAgICAtMHgxLjAwMDAwMnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS4xOTNlYmQwMDI1ZjdjNWVkZjMxY2Y1YTBlMjg1MDU5ZXAtMSwKKyAgICAweDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLjE5M2ViZDAwMjVmN2M1ZWRmMzFjZjVhMGUyODUwNTllcC0xLAorICAgIC0weDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuMDU5MDFjNzY4YTkyYzVhMjNjOGU4NTMxZmZlMDE5NDVwLTIsCisgICAgMHgxLjAwMDRkYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS4wNTkwMWM3NjhhOTJjNWEyM2M4ZTg1MzFmZmUwMTk0NXAtMiwKKyAgICAtMHgxLjAwMDRkYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAxZDk3MmZmZmY0MGNkMWNmMzc3MzIyZDVmYWNhOTc1cC02LAorICAgIDB4MS4wMWQ0cC02CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLjAxZDk3MmZmZmY0MGNkMWNmMzc3MzIyZDVmYWNhOTc1cC02LAorICAgIC0weDEuMDFkNHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjBiNGQwNTYwYTk4MGVmOWJjNjQ1YjJjMjk1NjNlODlmcC0yLAorICAgIDB4MS4wNTY0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLjBiNGQwNTYwYTk4MGVmOWJjNjQ1YjJjMjk1NjNlODlmcC0yLAorICAgIC0weDEuMDU2NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjA2MTZlMWZmZDAwNzY2NzA3Yzg0NTQ1NDY4OGFjMjg1cC01LAorICAgIDB4MS4wNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS4wNjE2ZTFmZmQwMDc2NjcwN2M4NDU0NTQ2ODhhYzI4NXAtNSwKKyAgICAtMHgxLjA2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuMGMxYTcxZTBmMjQzYWFhYmY5ODhhMDg2YjkyZDgwOThwLTIsCisgICAgMHgxLjA2MjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuMGMxYTcxZTBmMjQzYWFhYmY5ODhhMDg2YjkyZDgwOThwLTIsCisgICAgLTB4MS4wNjI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuMDY4MDE2ZmZmZmQ4OWVhNWFmODZkMTQwY2M0NDk5YWNwLTksCisgICAgMHgxLjA2ODBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuMDY4MDE2ZmZmZmQ4OWVhNWFmODZkMTQwY2M0NDk5YWNwLTksCisgICAgLTB4MS4wNjgwcC05CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuMTBmOTlhNThkMDczMTczZjY0ZDA3OGQxOTIxZDBhYmRwLTIsCisgICAgMHgxLjBhYjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuMTBmOTlhNThkMDczMTczZjY0ZDA3OGQxOTIxZDBhYmRwLTIsCisgICAgLTB4MS4wYWIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuMTAwMjJlZmNkMjA0OTc1Y2Q1ZGUyZWI3OThjNWEzNjZwLTQsCisgICAgMHgxLjBmOWNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuMTAwMjJlZmNkMjA0OTc1Y2Q1ZGUyZWI3OThjNWEzNjZwLTQsCisgICAgLTB4MS4wZjljcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuMzg0YzdiYmI0MDgxN2E3MTM2NzBlZGE5YjFiMWFhY2RwLTEsCisgICAgMHgxLjE2OTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuMzg0YzdiYmI0MDgxN2E3MTM2NzBlZGE5YjFiMWFhY2RwLTEsCisgICAgLTB4MS4xNjk0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuMTg5YTI3MDAwMzMyNzMyNTFlMTJkNWViYTkwZTQ0NjVwLTMsCisgICAgMHgxLjE2ZGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuMTg5YTI3MDAwMzMyNzMyNTFlMTJkNWViYTkwZTQ0NjVwLTMsCisgICAgLTB4MS4xNmRjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuM2E1MmFjY2JjNzg2ZjIzN2ZmYjczNjMzYzE4MzI0ZmJwLTEsCisgICAgMHgxLjE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjNhNTJhY2NiYzc4NmYyMzdmZmI3MzYzM2MxODMyNGZicC0xLAorICAgIC0weDEuMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS4xOWMzYjBmYTg2ZDU0MDA3MmMwOGM1ZDZiMzk0YjE2NXAtMywKKyAgICAweDEuMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuMTljM2IwZmE4NmQ1NDAwNzJjMDhjNWQ2YjM5NGIxNjVwLTMsCisgICAgLTB4MS4xOHAtMworICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjFjOGY3MzAwMDAwYjdkYzBmZjViMDNlNjQ2MjNkZWM2cC00LAorICAgIDB4MS4xYzFhN2FwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuMWM4ZjczMDAwMDBiN2RjMGZmNWIwM2U2NDYyM2RlYzZwLTQsCisgICAgLTB4MS4xYzFhN2FwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS40NGYxNmE5YmVhN2YwM2FmNTI5YjAzN2IyMzVmMzFiNXAtMSwKKyAgICAweDEuMWY1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS40NGYxNmE5YmVhN2YwM2FmNTI5YjAzN2IyMzVmMzFiNXAtMSwKKyAgICAtMHgxLjFmNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4xZmZjMDAwMDAwNzk3YWYwMTIwMDQ2ZTdkYzMxZDNmNXAtMjAsCisgICAgMHgxLjFmZmNwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjFmZmMwMDAwMDA3OTdhZjAxMjAwNDZlN2RjMzFkM2Y1cC0yMCwKKyAgICAtMHgxLjFmZmNwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuMjdmOWNmYzM0Mzg1YWZmOTZmYTdhMjVjOTAxMDcxMWJwLTIsCisgICAgMHgxLjFmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS4yN2Y5Y2ZjMzQzODVhZmY5NmZhN2EyNWM5MDEwNzExYnAtMiwKKyAgICAtMHgxLjFmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjVkZWI5YTgzZWU5NWMzODViYTUzMzU1ODBhZjA4ZjA4cC0xLAorICAgIDB4MS4zMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS41ZGViOWE4M2VlOTVjMzg1YmE1MzM1NTgwYWYwOGYwOHAtMSwKKyAgICAtMHgxLjMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuNWUwZTAyOThkOWVlYzNhYjhiNGY0ZTFiOGQyOTVhYzNwLTEsCisgICAgMHgxLjMwMTY0NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS41ZTBlMDI5OGQ5ZWVjM2FiOGI0ZjRlMWI4ZDI5NWFjM3AtMSwKKyAgICAtMHgxLjMwMTY0NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjVlNjBlNDAwMDA2ZjUyY2I3NjkyYjZlOGE1MWRhMzg0cC0xLAorICAgIDB4MS4zMDRiZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuNWU2MGU0MDAwMDZmNTJjYjc2OTJiNmU4YTUxZGEzODRwLTEsCisgICAgLTB4MS4zMDRiZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS40N2Y1MTcwMDAwMDI0MjMzODU0YjYyMDNkOThkMzI0ZnAtNSwKKyAgICAweDEuNDdjODQ0cC01CisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjQ3ZjUxNzAwMDAwMjQyMzM4NTRiNjIwM2Q5OGQzMjRmcC01LAorICAgIC0weDEuNDdjODQ0cC01CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuNDhhZTFjZmZmZWZmMzA3YjEzYzE3ZWI1NmZkY2Y3YzJwLTUsCisgICAgMHgxLjQ4ODBmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS40OGFlMWNmZmZlZmYzMDdiMTNjMTdlYjU2ZmRjZjdjMnAtNSwKKyAgICAtMHgxLjQ4ODBmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjc5ZDRjNDAwMDAzNTRkODNmNGMyNmMwOTdiMGU3NWZkcC0yLAorICAgIDB4MS42OTkxZGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuNzlkNGM0MDAwMDM1NGQ4M2Y0YzI2YzA5N2IwZTc1ZmRwLTIsCisgICAgLTB4MS42OTkxZGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5jNzEzOWYyMTVmZWIzYTcyY2YxYjVlMTkyZjkzOGVhNHAtMSwKKyAgICAweDEuNmJlZjcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmM3MTM5ZjIxNWZlYjNhNzJjZjFiNWUxOTJmOTM4ZWE0cC0xLAorICAgIC0weDEuNmJlZjcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuNzE0MGUzMDAxNDAxYzFiMDE0MTcyZDZmZDkxNzExYWVwLTEyLAorICAgIDB4MS43MTQwZTJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjcxNDBlMzAwMTQwMWMxYjAxNDE3MmQ2ZmQ5MTcxMWFlcC0xMiwKKyAgICAtMHgxLjcxNDBlMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5lMDU2NDhkYjdhZjY3YTU0NzZkY2VmMzFjNzgzNDc0MHAtMSwKKyAgICAweDEuNzdmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmUwNTY0OGRiN2FmNjdhNTQ3NmRjZWYzMWM3ODM0NzQwcC0xLAorICAgIC0weDEuNzdmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuNzdmZmZlMDAwMDAwMDAxMGU1ZjUxMDRkNTViMzU2YjNwLTMwLAorICAgIDB4MS43N2ZmZmVwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjc3ZmZmZTAwMDAwMDAwMTBlNWY1MTA0ZDU1YjM1NmIzcC0zMCwKKyAgICAtMHgxLjc3ZmZmZXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS45M2IwYWVlMjFjMmM4MDhmNTg0MGE4ZmRlYzk5ODRlMXAtMiwKKyAgICAweDEuODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuOTNiMGFlZTIxYzJjODA4ZjU4NDBhOGZkZWM5OTg0ZTFwLTIsCisgICAgLTB4MS44MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmYyMjc4MWJlOWU2OTYyOWU1NjVjYjI3ZDdlOGJlMjQxcC0xLAorICAgIDB4MS44MDAwMjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuZjIyNzgxYmU5ZTY5NjI5ZTU2NWNiMjdkN2U4YmUyNDFwLTEsCisgICAgLTB4MS44MDAwMjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mMjJhODFjMmMxZGY2ZTI5MGEzNGQ3OGMwZTQyMTY1ZnAtMSwKKyAgICAweDEuODAwMTc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLmYyMmE4MWMyYzFkZjZlMjkwYTM0ZDc4YzBlNDIxNjVmcC0xLAorICAgIC0weDEuODAwMTc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmY0ZDliMWY0NDlmOTYzNzA0OWY0NjVhZDgxMzY3N2NkcC0xLAorICAgIDB4MS44MTJjZWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmY0ZDliMWY0NDlmOTYzNzA0OWY0NjVhZDgxMzY3N2NkcC0xLAorICAgIC0weDEuODEyY2VhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmY2YTk4YTM0N2FlZmRmYmZkZmMyNmU2YzVmZDM5ZDYzcC0xLAorICAgIDB4MS44MWY1YjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLmY2YTk4YTM0N2FlZmRmYmZkZmMyNmU2YzVmZDM5ZDYzcC0xLAorICAgIC0weDEuODFmNWI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmY2YjE2ZTAzNmExMjI4ZTJkNzU5MmI5OTkyMWE3M2ZkcC0xLAorICAgIDB4MS44MWY5MWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLmY2YjE2ZTAzNmExMjI4ZTJkNzU5MmI5OTkyMWE3M2ZkcC0xLAorICAgIC0weDEuODFmOTFlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjg3OTExNWZmZmY4OTgwZjlkYTE0MDU3ODFhZmQ2M2UwcC0zLAorICAgIDB4MS44MmRkM2NwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjg3OTExNWZmZmY4OTgwZjlkYTE0MDU3ODFhZmQ2M2UwcC0zLAorICAgIC0weDEuODJkZDNjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjg3ZjNmYjAwMDBhYjIxMGJlNjA2Y2EzOTc2MTY4MWJkcC03LAorICAgIDB4MS44N2VmMzJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjg3ZjNmYjAwMDBhYjIxMGJlNjA2Y2EzOTc2MTY4MWJkcC03LAorICAgIC0weDEuODdlZjMycC03CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjhjNjgwYjNhZGRhNWE2NmFkNmQ4ZGE4NTYyMzZmZjk3cC03LAorICAgIDB4MS44YzYzMThwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjhjNjgwYjNhZGRhNWE2NmFkNmQ4ZGE4NTYyMzZmZjk3cC03LAorICAgIC0weDEuOGM2MzE4cC03CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjlhYTY0ZDAwMTgxYWJjNDBmNDVkMDg3MTFhOGEwZTJkcC0zLAorICAgIDB4MS45NTNiYjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjlhYTY0ZDAwMTgxYWJjNDBmNDVkMDg3MTFhOGEwZTJkcC0zLAorICAgIC0weDEuOTUzYmI4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjk5YmEzOTAwMTE4MjFlYjhiYTJmMzk4ZTNlYzNjYmQycC00LAorICAgIDB4MS45ODVkYzRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjk5YmEzOTAwMTE4MjFlYjhiYTJmMzk4ZTNlYzNjYmQycC00LAorICAgIC0weDEuOTg1ZGM0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLmEwNWJhY2ZjY2NjNzg4YjAyMjkxZmYyYTczMzg1YmVmcC01LAorICAgIDB4MS45ZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLmEwNWJhY2ZjY2NjNzg4YjAyMjkxZmYyYTczMzg1YmVmcC01LAorICAgIC0weDEuOWZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmE2NGZiNzAwMmQ5YjliNzI0ODk1ODQzMWQ5NWY3N2VicC00LAorICAgIDB4MS5hNGQyNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLmE2NGZiNzAwMmQ5YjliNzI0ODk1ODQzMWQ5NWY3N2VicC00LAorICAgIC0weDEuYTRkMjQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmE2NDkwOGZiZWM1OWI2YjAyZDMyNjY3NGRlZDJmOWYycC01LAorICAgIDB4MS5hNWU5NjJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLmE2NDkwOGZiZWM1OWI2YjAyZDMyNjY3NGRlZDJmOWYycC01LAorICAgIC0weDEuYTVlOTYycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmIxOTI0NzAwMDBmYjIxMThkYTY4N2NjNDE2MGY5OGM2cC02LAorICAgIDB4MS5iMTc4NjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLmIxOTI0NzAwMDBmYjIxMThkYTY4N2NjNDE2MGY5OGM2cC02LAorICAgIC0weDEuYjE3ODYwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmQ2ZjQ1Y2M5MjI2NjNmNjRkZmZmMTk4OTM2OGVhZmQwcC0yLAorICAgIDB4MS5iODU2MmFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLmQ2ZjQ1Y2M5MjI2NjNmNjRkZmZmMTk4OTM2OGVhZmQwcC0yLAorICAgIC0weDEuYjg1NjJhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmRhZDg4Mjc2MDAzMWIwYjIwN2VlYzUzZjJiYWQzYTU2cC0yLAorICAgIDB4MS5iYjgwYzhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLmRhZDg4Mjc2MDAzMWIwYjIwN2VlYzUzZjJiYWQzYTU2cC0yLAorICAgIC0weDEuYmI4MGM4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLmJjZWYwOTAwMDcwYmI0ZDYwZGJhN2Q3OTE2ZTQ0ZjFjcC0xMSwKKyAgICAweDEuYmNlZjAycC0xMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuYmNlZjA5MDAwNzBiYjRkNjBkYmE3ZDc5MTZlNDRmMWNwLTExLAorICAgIC0weDEuYmNlZjAycC0xMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5lMDY0OGYyOWE1Y2I4ZmE4MzAzNTdlYjI4NDYzYjM3MXAtMiwKKyAgICAweDEuYmZmZmJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS5lMDY0OGYyOWE1Y2I4ZmE4MzAzNTdlYjI4NDYzYjM3MXAtMiwKKyAgICAtMHgxLmJmZmZiZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5jMmU1ZTgwMDAwNDc0ZmNhNDExZGVlYWJjMmQ4NzFiMnAtNiwKKyAgICAweDEuYzJjOGM2cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5jMmU1ZTgwMDAwNDc0ZmNhNDExZGVlYWJjMmQ4NzFiMnAtNiwKKyAgICAtMHgxLmMyYzhjNnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5jOTk3NDMwMDE5YjA0NWQ3OTk4NDA0NDU0M2JkNDMyMnAtNCwKKyAgICAweDEuYzdiMjU4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5jOTk3NDMwMDE5YjA0NWQ3OTk4NDA0NDU0M2JkNDMyMnAtNCwKKyAgICAtMHgxLmM3YjI1OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS42Y2M4ZGNhODU3MzE0ZTY5MDExNTZkMDBmOGEzYjY4MnAwLAorICAgIDB4MS5jN2ZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjZjYzhkY2E4NTczMTRlNjkwMTE1NmQwMGY4YTNiNjgycDAsCisgICAgLTB4MS5jN2ZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuYzdmZmZlMDFlMjQ1ZjlhYjE2MjMwMTk5MDU1MGNhYTlwLTE2LAorICAgIDB4MS5jN2ZmZmVwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5jN2ZmZmUwMWUyNDVmOWFiMTYyMzAxOTkwNTUwY2FhOXAtMTYsCisgICAgLTB4MS5jN2ZmZmVwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmVkNjUyNjdkMDFhMWRiNTQwYjM3NzUzYzUxZDY2NDI2cC0yLAorICAgIDB4MS5jYTc0MzZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmVkNjUyNjdkMDFhMWRiNTQwYjM3NzUzYzUxZDY2NDI2cC0yLAorICAgIC0weDEuY2E3NDM2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmQ0OGFmMzI5NjhmYTNiMzQ0NTdiY2ZmMDNkYjA2MjJkcC0zLAorICAgIDB4MS5jYzg5MjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmQ0OGFmMzI5NjhmYTNiMzQ0NTdiY2ZmMDNkYjA2MjJkcC0zLAorICAgIC0weDEuY2M4OTI4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmYwYzJkOGZmZmVmY2EwMTI5MGMyZWYzNjMzMGM5MTE1cC0yLAorICAgIDB4MS5jZDI0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLmYwYzJkOGZmZmVmY2EwMTI5MGMyZWYzNjMzMGM5MTE1cC0yLAorICAgIC0weDEuY2QyNDJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLmNlNTM1ZWZhMzJmMGNlYzE1YjNiY2NmMDVjMDc5ZjE5cC01LAorICAgIDB4MS5jZGQ1ZTBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmNlNTM1ZWZhMzJmMGNlYzE1YjNiY2NmMDVjMDc5ZjE5cC01LAorICAgIC0weDEuY2RkNWUwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmQwNzAzZTAxZmQ4YmJmOTYzOTVlZDJmNjJmNTRmZGNhcC0xNiwKKyAgICAweDEuZDA3MDNlcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZDA3MDNlMDFmZDhiYmY5NjM5NWVkMmY2MmY1NGZkY2FwLTE2LAorICAgIC0weDEuZDA3MDNlcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5mODRmZDY2Y2Y1OGUzZGE5ZTJkNzVjZTY4M2NjYTJkMHAtMiwKKyAgICAweDEuZDMyNDA2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5mODRmZDY2Y2Y1OGUzZGE5ZTJkNzVjZTY4M2NjYTJkMHAtMiwKKyAgICAtMHgxLmQzMjQwNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5kY2E2MDEwMDQyN2Q0ZDI2NTE1ZGNiMTkwMDllMGZlN3AtNCwKKyAgICAweDEuZGE4MjJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5kY2E2MDEwMDQyN2Q0ZDI2NTE1ZGNiMTkwMDllMGZlN3AtNCwKKyAgICAtMHgxLmRhODIyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5mMTkwNTc5MDdiNmE2ZmU4NGJhOGU0ODMwYjdhMDc5OXAtMywKKyAgICAweDEuZTdmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5mMTkwNTc5MDdiNmE2ZmU4NGJhOGU0ODMwYjdhMDc5OXAtMywKKyAgICAtMHgxLmU3ZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5lZjMxMWIwMDQ5ZGMxM2I1YjBlMDFiODY4YjRjZmM5MnAtNCwKKyAgICAweDEuZWNjYjE0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5lZjMxMWIwMDQ5ZGMxM2I1YjBlMDFiODY4YjRjZmM5MnAtNCwKKyAgICAtMHgxLmVjY2IxNHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5lZTcwM2I0MGJhZDQ0ODE4OGQzMjFjOWNmMWM3N2MyZnAtNiwKKyAgICAweDEuZWU0OWQycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5lZTcwM2I0MGJhZDQ0ODE4OGQzMjFjOWNmMWM3N2MyZnAtNiwKKyAgICAtMHgxLmVlNDlkMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS5lZmEyOGVjY2ViYTk0YWYwMGJhZjZhNzAzOTliMjdjNXAtNiwKKyAgICAweDEuZWY3YmRlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS5lZmEyOGVjY2ViYTk0YWYwMGJhZjZhNzAzOTliMjdjNXAtNiwKKyAgICAtMHgxLmVmN2JkZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mYTBkYzdiNzJjMTZmY2QxYjE2NjIzZDc5ZWQ3MmI0OHAtMywKKyAgICAweDEuZWZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mYTBkYzdiNzJjMTZmY2QxYjE2NjIzZDc5ZWQ3MmI0OHAtMywKKyAgICAtMHgxLmVmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5mNDc5Y2U5ZTYyZjFkZTc5M2U2MjZjNWU0Y2Q0ODNiZnAtNCwKKyAgICAweDEuZjFmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5mNDc5Y2U5ZTYyZjFkZTc5M2U2MjZjNWU0Y2Q0ODNiZnAtNCwKKyAgICAtMHgxLmYxZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mNDhkZmQwMDQ0OTI0MjRhMjI0MmE3ZjFiODRmZGU0M3AtNCwKKyAgICAweDEuZjIxM2UwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5mNDhkZmQwMDQ0OTI0MjRhMjI0MmE3ZjFiODRmZGU0M3AtNCwKKyAgICAtMHgxLmYyMTNlMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS5mNTU1NjUwMDRlMWJhNzdmOGM2ODk1NGQ1OGFkOTUyMnAtNCwKKyAgICAweDEuZjJkODU0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mNTU1NjUwMDRlMWJhNzdmOGM2ODk1NGQ1OGFkOTUyMnAtNCwKKyAgICAtMHgxLmYyZDg1NHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS5mZWM3OTRmZmZmODBkZTZmMTMzZmY3OTFjNTQzOWQ4ZXAtMywKKyAgICAweDEuZjQ3MjMycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5mZWM3OTRmZmZmODBkZTZmMTMzZmY3OTFjNTQzOWQ4ZXAtMywKKyAgICAtMHgxLmY0NzIzMnAtMworICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS5mODEzZTkwMDRkNWNkZmIwNjM3Mjg2NjZmYjY2ZTk3ZnAtNCwKKyAgICAweDEuZjU4YzVlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS5mODEzZTkwMDRkNWNkZmIwNjM3Mjg2NjZmYjY2ZTk3ZnAtNCwKKyAgICAtMHgxLmY1OGM1ZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5mN2I3MjFmZmZmOTkxYzcwNmQ5MDk0NTEwNWVjMDMwZnAtNywKKyAgICAweDEuZjdhY2ZhcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5mN2I3MjFmZmZmOTkxYzcwNmQ5MDk0NTEwNWVjMDMwZnAtNywKKyAgICAtMHgxLmY3YWNmYXAtNworICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mYmQ1ZjUwMDUxZmJjOWU1NWM4YjJiZTllOWUyMTg1MXAtNCwKKyAgICAweDEuZjkzZmUycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS5mYmQ1ZjUwMDUxZmJjOWU1NWM4YjJiZTllOWUyMTg1MXAtNCwKKyAgICAtMHgxLmY5M2ZlMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5mY2ZhZmYwMDUwZjhjYTMwMDlhYjdiMWU0NmI0ZWM5ZHAtNCwKKyAgICAweDEuZmE2MDc0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5mY2ZhZmYwMDUwZjhjYTMwMDlhYjdiMWU0NmI0ZWM5ZHAtNCwKKyAgICAtMHgxLmZhNjA3NHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS4wM2E4YTMwMDA2Mzg1ZWQ2NWQ3NDViNWRlYzdjMTk0ZXAtMiwKKyAgICAweDEuZmM3NzQ2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS4wM2E4YTMwMDA2Mzg1ZWQ2NWQ3NDViNWRlYzdjMTk0ZXAtMiwKKyAgICAtMHgxLmZjNzc0NnAtMworICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mZTJhMzE3MjQzMDc5ZTRmZGQxY2I4NTVjOTc1Y2RmMXAtNiwKKyAgICAweDEuZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLmZlMmEzMTcyNDMwNzllNGZkZDFjYjg1NWM5NzVjZGYxcC02LAorICAgIC0weDEuZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuZmU4MmRiNzQ1NmNmNWI5YjllZGYxYjRiNzdjOTk0YmRwLTYsCisgICAgMHgxLmZlNTg5NHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuZmU4MmRiNzQ1NmNmNWI5YjllZGYxYjRiNzdjOTk0YmRwLTYsCisgICAgLTB4MS5mZTU4OTRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZlYWE3MTBmNWE2ZThkMTZkYzkwNWUzMzhjMDIwMGZwLTcsCisgICAgMHgxLmZmZGZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuZmZlYWE3MTBmNWE2ZThkMTZkYzkwNWUzMzhjMDIwMGZwLTcsCisgICAgLTB4MS5mZmRmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuN2QzM2NiMGMwMjUwNWY0Nzc3OGFlMzM3YWU3MmVjMWZwMiwKKyAgICAweDEuZmZmZTNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS43ZDMzY2IwYzAyNTA1ZjQ3Nzc4YWUzMzdhZTcyZWMxZnAyLAorICAgIC0weDEuZmZmZTNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLjE5M2U1MTAwMmNkYmM0NzU5NzVmZjc2NmZiZDFmNmI1cC0xLAorICAgIDB4MS5mZmZmN2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjE5M2U1MTAwMmNkYmM0NzU5NzVmZjc2NmZiZDFmNmI1cC0xLAorICAgIC0weDEuZmZmZjdlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjAwMDUxNDg0N2E5MWNkYWViYWVjZmE3N2Y2MTExZGQ5cC02LAorICAgIDB4MS5mZmZmN2VwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLjAwMDUxNDg0N2E5MWNkYWViYWVjZmE3N2Y2MTExZGQ5cC02LAorICAgIC0weDEuZmZmZjdlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjE5M2VhNTAwMjU4N2M1ZTg2ODcyMGJjNDZkODc1MDVicC0xLAorICAgIDB4MS5mZmZmZmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjE5M2VhNTAwMjU4N2M1ZTg2ODcyMGJjNDZkODc1MDVicC0xLAorICAgIC0weDEuZmZmZmZjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLmZmZmZmY2FhYWFhNzExMTExNTVhMzVhYTNkYzNkMDZjcC0xMywKKyAgICAweDEuZmZmZmZjcC0xMworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuZmZmZmZjYWFhYWE3MTExMTE1NWEzNWFhM2RjM2QwNmNwLTEzLAorICAgIC0weDEuZmZmZmZjcC0xMworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuMzFkZDJjZDEzODY5MzNkMWQ4OTBiNmE5NzAzYzE2YWRwMSwKKyAgICAtMHgxLmY3Nzc3OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS4zMWRkMmNkMTM4NjkzM2QxZDg5MGI2YTk3MDNjMTZhZHAxLAorICAgIDB4MS5mNzc3NzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtMHgxLjA0ZjY2M2FkY2RkNWU4ODY0YzU1YTU3NTFhMGIxN2I3cDEsCisgICAgLTB4MS5lZWVlZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuMDRmNjYzYWRjZGQ1ZTg4NjRjNTVhNTc1MWEwYjE3YjdwMSwKKyAgICAweDEuZWVlZWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS5kNGVmOWViZDA0NjU4ZTY0MTQyM2E2ZWQzZGVmZTBkYXAwLAorICAgIC0weDEuZTY2NjY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmQ0ZWY5ZWJkMDQ2NThlNjQxNDIzYTZlZDNkZWZlMGRhcDAsCisgICAgMHgxLmU2NjY2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuYWYwMzk1MDM3ZjA3NWNjN2JhZWZhMzhlZjgxZjUwOGZwMCwKKyAgICAtMHgxLmRkZGRlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS5hZjAzOTUwMzdmMDc1Y2M3YmFlZmEzOGVmODFmNTA4ZnAwLAorICAgIDB4MS5kZGRkZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAtMHgxLjkxNTdlODM2MjZhMDQ1YzdjYWY2NWYxM2QyM2IwZGQzcDAsCisgICAgLTB4MS5kNTU1NThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuOTE1N2U4MzYyNmEwNDVjN2NhZjY1ZjEzZDIzYjBkZDNwMCwKKyAgICAweDEuZDU1NTU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS43OGUzNjhjYzE1OGQ4YzQ2ZGNmYTFmOGE4ODk2M2FhNHAwLAorICAgIC0weDEuY2NjY2QwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjc4ZTM2OGNjMTU4ZDhjNDZkY2ZhMWY4YTg4OTYzYWE0cDAsCisgICAgMHgxLmNjY2NkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0weDEuNjQwNzdlNTNiYmRkMDU3Yzk5NTYxNmI0ODlkNTNjZjRwMCwKKyAgICAtMHgxLmM0NDQ0OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS42NDA3N2U1M2JiZGQwNTdjOTk1NjE2YjQ4OWQ1M2NmNHAwLAorICAgIDB4MS5jNDQ0NDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLjUxY2NhOWZmYzUxZWI2MmRhZDFjMmQ1MTNhYjg3YTUycDAsCisgICAgLTB4MS5iYmJiYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuNTFjY2E5ZmZjNTFlYjYyZGFkMWMyZDUxM2FiODdhNTJwMCwKKyAgICAweDEuYmJiYmMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS40MTkzNDNiNDUyNzk4Zjk1NDU4NTQ1YjNhOGU1YzM2NXAwLAorICAgIC0weDEuYjMzMzM4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLjQxOTM0M2I0NTI3OThmOTU0NTg1NDViM2E4ZTVjMzY1cDAsCisgICAgMHgxLmIzMzMzOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEuMzJlZTQ0MzIyMjNmZDZmZjdmYzk2Yjc0NWEzMzlkMTVwMCwKKyAgICAtMHgxLmFhYWFiMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS4zMmVlNDQzMjIyM2ZkNmZmN2ZjOTZiNzQ1YTMzOWQxNXAwLAorICAgIDB4MS5hYWFhYjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAtMHgxLjI1OGZlM2I2ZTUzN2JiMzI5MmY2ZDdlNGFmYmI5ZDA3cDAsCisgICAgLTB4MS5hMjIyMjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuMjU4ZmUzYjZlNTM3YmIzMjkyZjZkN2U0YWZiYjlkMDdwMCwKKyAgICAweDEuYTIyMjI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS4xOTNlYjA4ZTVlYThjMmMyMDBiMGU5OWM1YTM2ZmRkZXAwLAorICAgIC0weDEuOTk5OWEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLjE5M2ViMDhlNWVhOGMyYzIwMGIwZTk5YzVhMzZmZGRlcDAsCisgICAgMHgxLjk5OTlhMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEuMGRjZjA3OWRhMmYwMzBhZTNmYmY2YjZmOTJhMmE3NDNwMCwKKyAgICAtMHgxLjkxMTExOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS4wZGNmMDc5ZGEyZjAzMGFlM2ZiZjZiNmY5MmEyYTc0M3AwLAorICAgIDB4MS45MTExMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAtMHgxLjAzMWVmYTFmMGVjYzhmM2E5MDZkZDQyZDhjMjEyM2NicDAsCisgICAgLTB4MS44ODg4OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuMDMxZWZhMWYwZWNjOGYzYTkwNmRkNDJkOGMyMTIzY2JwMCwKKyAgICAweDEuODg4ODkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTB4MS5mMjI3M2QyYzRhYjUyMWI0Y2Q0ODc2NDBmZjk1OTEzNXAtMSwKKyAgICAtMHgxLjgwMDAwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5mMjI3M2QyYzRhYjUyMWI0Y2Q0ODc2NDBmZjk1OTEzNXAtMSwKKyAgICAweDEuODAwMDA4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS5kZjJlN2ZlNDg3OWExNGJlZDM0NDRjZWJlYjE0ZTE3YXAtMSwKKyAgICAtMHgxLjc3Nzc4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS5kZjJlN2ZlNDg3OWExNGJlZDM0NDRjZWJlYjE0ZTE3YXAtMSwKKyAgICAweDEuNzc3NzgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTB4MS5jZDMwMzNiYWZmNzk1OTc2NThlZDg0YTcwNzkyYjQxOHAtMSwKKyAgICAtMHgxLjZlZWVmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5jZDMwMzNiYWZmNzk1OTc2NThlZDg0YTcwNzkyYjQxOHAtMSwKKyAgICAweDEuNmVlZWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS5iYzBlZTM2NzUzMGQ2NmNjODQxZDVmOWQzMGMyYjg4NnAtMSwKKyAgICAtMHgxLjY2NjY3MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5iYzBlZTM2NzUzMGQ2NmNjODQxZDVmOWQzMGMyYjg4NnAtMSwKKyAgICAweDEuNjY2NjcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5hYmIxZGMwOGUxODEyNjYyMGQ1NzVhYWJjNzkzYjJhOXAtMSwKKyAgICAtMHgxLjVkZGRlOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5hYmIxZGMwOGUxODEyNjYyMGQ1NzVhYWJjNzkzYjJhOXAtMSwKKyAgICAweDEuNWRkZGU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS45YzA0MzJiMjBjODE0YjMwMjEwMTFjNDc5YTUxYWNlZnAtMSwKKyAgICAtMHgxLjU1NTU2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS45YzA0MzJiMjBjODE0YjMwMjEwMTFjNDc5YTUxYWNlZnAtMSwKKyAgICAweDEuNTU1NTYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS44Y2Y0MDcxYzZiMjUzNjU3MjgwZTMwMDE5YjQyYjZjYnAtMSwKKyAgICAtMHgxLjRjY2NkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS44Y2Y0MDcxYzZiMjUzNjU3MjgwZTMwMDE5YjQyYjZjYnAtMSwKKyAgICAweDEuNGNjY2Q4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS43ZTcxZjI2ZGU3NzdiYzUzMmE0MGM0MDU2OWU4MGJlN3AtMSwKKyAgICAtMHgxLjQ0NDQ1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS43ZTcxZjI2ZGU3NzdiYzUzMmE0MGM0MDU2OWU4MGJlN3AtMSwKKyAgICAweDEuNDQ0NDUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS43MDcwOTY0YTU0NjUwMTk4NjliZTQyOTI4MDcyNDNhZHAtMSwKKyAgICAtMHgxLjNiYmJjOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS43MDcwOTY0YTU0NjUwMTk4NjliZTQyOTI4MDcyNDNhZHAtMSwKKyAgICAweDEuM2JiYmM4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS42MmU0NDNlZmE0MTZmMzVjZmU3MjUxOWFiNWM0OTgzM3AtMSwKKyAgICAtMHgxLjMzMzM0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS42MmU0NDNlZmE0MTZmMzVjZmU3MjUxOWFiNWM0OTgzM3AtMSwKKyAgICAweDEuMzMzMzQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS41NWMyYjU3N2EzMTZmMzk4NzQzYmM4NDgxOGE4MzY2ZHAtMSwKKyAgICAtMHgxLjJhYWFiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS41NWMyYjU3N2EzMTZmMzk4NzQzYmM4NDgxOGE4MzY2ZHAtMSwKKyAgICAweDEuMmFhYWI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS40OTAyZDRmOGRjYWJiYTU5NTMzNjg3YWRmMzc4ZmMzYnAtMSwKKyAgICAtMHgxLjIyMjIzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS40OTAyZDRmOGRjYWJiYTU5NTMzNjg3YWRmMzc4ZmMzYnAtMSwKKyAgICAweDEuMjIyMjMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTB4MS4zYzljOGU2MWFlYzk3M2UzNzAwMzFhNzcxOTMyMTA4OXAtMSwKKyAgICAtMHgxLjE5OTlhOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4zYzljOGU2MWFlYzk3M2UzNzAwMzFhNzcxOTMyMTA4OXAtMSwKKyAgICAweDEuMTk5OWE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS4zMDg4YTliNWFkMjAyYjE3ZTUyZDg2MDE1MTM2NjJiMHAtMSwKKyAgICAtMHgxLjExMTEyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS4zMDg4YTliNWFkMjAyYjE3ZTUyZDg2MDE1MTM2NjJiMHAtMSwKKyAgICAweDEuMTExMTIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgLTB4MS4yNGMwYWJlOGU5NzNkNmU5OWFjYmQxNTQ4NGZkNjRmMXAtMSwKKyAgICAtMHgxLjA4ODg5OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS4yNGMwYWJlOGU5NzNkNmU5OWFjYmQxNTQ4NGZkNjRmMXAtMSwKKyAgICAweDEuMDg4ODk4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS4xOTNlYmQwMDI1ZjdjNWVkZjMxY2Y1YTBlMjg1MDU5ZXAtMSwKKyAgICAtMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS4xOTNlYmQwMDI1ZjdjNWVkZjMxY2Y1YTBlMjg1MDU5ZXAtMSwKKyAgICAweDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjE5M2VhN2FhZDAzMGE5NzZhNDE5OGQ1NTA1M2I3Y2I1cC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLjE5M2VhN2FhZDAzMGE5NzZhNDE5OGQ1NTA1M2I3Y2I1cC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjI0YzA5NjE1NTZkMGFhOTVkNmZiNmMxMDZiMjM2MDQ4cC0xLAorICAgIDB4MS4wODg4ODhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAtMHgxLjI0YzA5NjE1NTZkMGFhOTVkNmZiNmMxMDZiMjM2MDQ4cC0xLAorICAgIC0weDEuMDg4ODg4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjMwODg5MzU5NzM2ZTlhY2Y5MTUyZmU0M2YyOGY3ZGNkcC0xLAorICAgIDB4MS4xMTExMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLjMwODg5MzU5NzM2ZTlhY2Y5MTUyZmU0M2YyOGY3ZGNkcC0xLAorICAgIC0weDEuMTExMTEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjNjOWM3NzcxNDc5MTU0N2FhYjM3YTQzMzY2OGViZmI4cC0xLAorICAgIDB4MS4xOTk5OThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMHgxLjNjOWM3NzcxNDc5MTU0N2FhYjM3YTQzMzY2OGViZmI4cC0xLAorICAgIC0weDEuMTk5OTk4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjQ5MDJiZDY3NzhlYmE0ZGRlMzY1OWJkNGU0YjNiNzk2cC0xLAorICAgIDB4MS4yMjIyMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLjQ5MDJiZDY3NzhlYmE0ZGRlMzY1OWJkNGU0YjNiNzk2cC0xLAorICAgIC0weDEuMjIyMjIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjU1YzI5ZDM2ZjYyZTAzNDJhNjA2N2I1ODgxNzc4M2JlcC0xLAorICAgIDB4MS4yYWFhYThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLjU1YzI5ZDM2ZjYyZTAzNDJhNjA2N2I1ODgxNzc4M2JlcC0xLAorICAgIC0weDEuMmFhYWE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjYyZTQyYWVmYTNhNjczNTc3ZTFjYmNjNTFkM2E3NWIzcC0xLAorICAgIDB4MS4zMzMzMzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAtMHgxLjYyZTQyYWVmYTNhNjczNTc3ZTFjYmNjNTFkM2E3NWIzcC0xLAorICAgIC0weDEuMzMzMzMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLjcwNzA3Yzc4ZWE0OGRjZDJiZTkwMjQzNDIwMTM4NjM0cC0xLAorICAgIDB4MS4zYmJiYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAtMHgxLjcwNzA3Yzc4ZWE0OGRjZDJiZTkwMjQzNDIwMTM4NjM0cC0xLAorICAgIC0weDEuM2JiYmI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjdlNzFkN2I2OTIwOWZiZjhhMzFmNjFlMjhmYjM4NDA1cC0xLAorICAgIDB4MS40NDQ0NDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAtMHgxLjdlNzFkN2I2OTIwOWZiZjhhMzFmNjFlMjhmYjM4NDA1cC0xLAorICAgIC0weDEuNDQ0NDQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjhjZjNlYjY3YzZiY2ZkYjUwNmJhYTZlY2I1ZjJkOTUwcC0xLAorICAgIDB4MS40Y2NjYzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAtMHgxLjhjZjNlYjY3YzZiY2ZkYjUwNmJhYTZlY2I1ZjJkOTUwcC0xLAorICAgIC0weDEuNGNjY2M4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjljMDQxNWU1M2Y1ODU1Njc4NTVhZmQwYzMyYWE3ZTE3cC0xLAorICAgIDB4MS41NTU1NTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLjljMDQxNWU1M2Y1ODU1Njc4NTVhZmQwYzMyYWE3ZTE3cC0xLAorICAgIC0weDEuNTU1NTUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLmFiYjFiZTA0ZTBhNjc1YmExOTQ4YjhmYjE4NDE1ODRjcC0xLAorICAgIDB4MS41ZGRkZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtMHgxLmFiYjFiZTA0ZTBhNjc1YmExOTQ4YjhmYjE4NDE1ODRjcC0xLAorICAgIC0weDEuNWRkZGQ4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLmJjMGVjNDA3ZjM2OTIxZTAwYTViZmVlNTI2ZGQwODM0cC0xLAorICAgIDB4MS42NjY2NjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAtMHgxLmJjMGVjNDA3ZjM2OTIxZTAwYTViZmVlNTI2ZGQwODM0cC0xLAorICAgIC0weDEuNjY2NjYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLmNkMzAxMmQ1YzA4ZDI0Mjg4NmZjYzBmNjE2NjhhM2Q1cC0xLAorICAgIDB4MS42ZWVlZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLmNkMzAxMmQ1YzA4ZDI0Mjg4NmZjYzBmNjE2NjhhM2Q1cC0xLAorICAgIC0weDEuNmVlZWU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmRmMmU1ZDQ2ZmRhNDJjZjI3YTcxODYzYjRjZjdjN2U2cC0xLAorICAgIDB4MS43Nzc3NzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmRmMmU1ZDQ2ZmRhNDJjZjI3YTcxODYzYjRjZjdjN2U2cC0xLAorICAgIC0weDEuNzc3NzcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmYyMjcxODlhMDE5MDhmNjBmNjE1NzYwMTQ4Y2I4ZTNmcC0xLAorICAgIDB4MS43ZmZmZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmYyMjcxODlhMDE5MDhmNjBmNjE1NzYwMTQ4Y2I4ZTNmcC0xLAorICAgIC0weDEuN2ZmZmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjAzMWVlNmI2ZGQzMTNiOGU5NTVjZjBkZWI3NGIxM2Q1cDAsCisgICAgMHgxLjg4ODg4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuMDMxZWU2YjZkZDMxM2I4ZTk1NWNmMGRlYjc0YjEzZDVwMCwKKyAgICAtMHgxLjg4ODg4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS4wZGNlZjJlOTQ3MTdjZjU0YWI1ZTNkNGFlN2M2YWIwM3AwLAorICAgIDB4MS45MTExMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLjBkY2VmMmU5NDcxN2NmNTRhYjVlM2Q0YWU3YzZhYjAzcDAsCisgICAgLTB4MS45MTExMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuMTkzZTlhNTU3YjY5OGNmYmQ5ZDRhNzY3ZWY5OWM3NjdwMCwKKyAgICAweDEuOTk5OTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS4xOTNlOWE1NTdiNjk4Y2ZiZDlkNGE3NjdlZjk5Yzc2N3AwLAorICAgIC0weDEuOTk5OTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLjI1OGZjYmIxYzVlNTM0ZjM3YWQ2NGExZTk5YTg2OWU4cDAsCisgICAgMHgxLmEyMjIxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIC0weDEuMjU4ZmNiYjFjNWU1MzRmMzdhZDY0YTFlOTlhODY5ZThwMCwKKyAgICAtMHgxLmEyMjIxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS4zMmVlMmEwMzk3NWI1N2Y2NGE4NDUyODk5MGJlMWY5YXAwLAorICAgIDB4MS5hYWFhYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLjMyZWUyYTAzOTc1YjU3ZjY0YTg0NTI4OTkwYmUxZjlhcDAsCisgICAgLTB4MS5hYWFhYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuNDE5MzI2ZTAyNTczZDhiM2FjYzdjYmY3Njk2OGZlMzNwMCwKKyAgICAweDEuYjMzMzI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS40MTkzMjZlMDI1NzNkOGIzYWNjN2NiZjc2OTY4ZmUzM3AwLAorICAgIC0weDEuYjMzMzI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLjUxY2M4OWRiMzQ3NzZjY2VmNTZkZDYxOGUwMmYxZGE2cDAsCisgICAgMHgxLmJiYmJiMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0weDEuNTFjYzg5ZGIzNDc3NmNjZWY1NmRkNjE4ZTAyZjFkYTZwMCwKKyAgICAtMHgxLmJiYmJiMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS42NDA3NTllYWUyM2EyMjZhOWQ3YzM5MjYyNDJkYTAwNnAwLAorICAgIDB4MS5jNDQ0MzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMHgxLjY0MDc1OWVhZTIzYTIyNmE5ZDdjMzkyNjI0MmRhMDA2cDAsCisgICAgLTB4MS5jNDQ0MzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEuNzhlMzNlYjEyNmM0MjYzMTQyZTRmOTU4NGRmYWEyMzhwMCwKKyAgICAweDEuY2NjY2MwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS43OGUzM2ViMTI2YzQyNjMxNDJlNGY5NTg0ZGZhYTIzOHAwLAorICAgIC0weDEuY2NjY2MwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjkxNTdiNjFmZTlkNTA0MWFkOWY5NzIwZTNhZTBkN2MwcDAsCisgICAgMHgxLmQ1NTU0OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0weDEuOTE1N2I2MWZlOWQ1MDQxYWQ5Zjk3MjBlM2FlMGQ3YzBwMCwKKyAgICAtMHgxLmQ1NTU0OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5hZjAzNTZmMWUxOWFkNTMwZDg5ZWM1NDU5OTU0OTViNnAwLAorICAgIDB4MS5kZGRkZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLmFmMDM1NmYxZTE5YWQ1MzBkODllYzU0NTk5NTQ5NWI2cDAsCisgICAgLTB4MS5kZGRkZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuZDRlZjRjYWZmNzkwMWJlOGRkYTA1NjAzODNmOTk1ZjVwMCwKKyAgICAweDEuZTY2NjU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5kNGVmNGNhZmY3OTAxYmU4ZGRhMDU2MDM4M2Y5OTVmNXAwLAorICAgIC0weDEuZTY2NjU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMHgxLjA0ZjYyNmE5OGY2Yzc3NzVmNWFhMjcyZGZhMzBhYTBjcDEsCisgICAgMHgxLmVlZWVlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuMDRmNjI2YTk4ZjZjNzc3NWY1YWEyNzJkZmEzMGFhMGNwMSwKKyAgICAtMHgxLmVlZWVlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS4zMWRjYjNjZjdhYWRjY2I1M2RkYzZhYjNlNWY0NGNmMXAxLAorICAgIDB4MS5mNzc3NjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLjMxZGNiM2NmN2FhZGNjYjUzZGRjNmFiM2U1ZjQ0Y2YxcDEsCisgICAgLTB4MS5mNzc3NjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAtMHgxLjE1NDI0NTZiMzdkNDJjMWM2YjczMWRmMmRiNDBmNmM3cDMsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuMTU0MjQ1NmIzN2Q0MmMxYzZiNzMxZGYyZGI0MGY2YzdwMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgLTB4MS4wYTJiMjNlM2JhYjcyZTgxYWVkMDM4MGVhYzk3MWNhZXAzLAorICAgIC0weDEuZmZmZmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLjBhMmIyM2UzYmFiNzJlODFhZWQwMzgwZWFjOTcxY2FlcDMsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuMDNhZTVhZTA4YWQxMTE4NTAxMjAyZmM4MjE5N2U5OGVwMywKKyAgICAtMHgxLmZmZmZmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4wM2FlNWFlMDhhZDExMTg1MDEyMDJmYzgyMTk3ZTk4ZXAzLAorICAgIDB4MS5mZmZmZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuMTU0MjQ1NmIzN2Q0MmMxYzZiNzMxZGYyZGI0MGY2YzdwMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS4xNTQyNDU2YjM3ZDQyYzFjNmI3MzFkZjJkYjQwZjZjN3AzLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjBhMmIyM2UzYmFiNzJlODFhZWQwMzgwZWFjOTcxY2FlcDMsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIC0weDEuMGEyYjIzZTNiYWI3MmU4MWFlZDAzODBlYWM5NzFjYWVwMywKKyAgICAtMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS4wM2FlNWFlMDhhZDExMTg1MDEyMDJmYzgyMTk3ZTk4ZXAzLAorICAgIDB4MS5mZmZmZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLjAzYWU1YWUwOGFkMTExODUwMTIwMmZjODIxOTdlOThlcDMsCisgICAgLTB4MS5mZmZmZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuNGE4NTE5MjM5ODVmMjllNTY2ZDEwMGFhNjcyZTlhZTNwLTMsCisgICAgMHgxLjQ3YWUxMnAtMworICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIC0weDEuNGE4NTE5MjM5ODVmMjllNTY2ZDEwMGFhNjcyZTlhZTNwLTMsCisgICAgLTB4MS40N2FlMTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuNGE4NTFiMzEwYmY4Nzg4NmYxOGRiNjgzMWM3ZGJiNWJwLTMsCisgICAgMHgxLjQ3YWUxNHAtMworICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIC0weDEuNGE4NTFiMzEwYmY4Nzg4NmYxOGRiNjgzMWM3ZGJiNWJwLTMsCisgICAgLTB4MS40N2FlMTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuNGE4NTFkM2U3ZjkxZjI0Yzc1N2IzNjMzMmEyMTVjYjRwLTMsCisgICAgMHgxLjQ3YWUxNnAtMworICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIC0weDEuNGE4NTFkM2U3ZjkxZjI0Yzc1N2IzNjMzMmEyMTVjYjRwLTMsCisgICAgLTB4MS40N2FlMTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAtMHgxLjRhODUxZDNlN2Y5MWYyNGM3NTdiMzYzMzJhMjE1Y2I0cC0zLAorICAgIC0weDEuNDdhZTE2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjRhODUxZDNlN2Y5MWYyNGM3NTdiMzYzMzJhMjE1Y2I0cC0zLAorICAgIDB4MS40N2FlMTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAtMHgxLjRhODUxYjMxMGJmODc4ODZmMThkYjY4MzFjN2RiYjVicC0zLAorICAgIC0weDEuNDdhZTE0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjRhODUxYjMxMGJmODc4ODZmMThkYjY4MzFjN2RiYjVicC0zLAorICAgIDB4MS40N2FlMTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAtMHgxLjRhODUxOTIzOTg1ZjI5ZTU2NmQxMDBhYTY3MmU5YWUzcC0zLAorICAgIC0weDEuNDdhZTEycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjRhODUxOTIzOTg1ZjI5ZTU2NmQxMDBhYTY3MmU5YWUzcC0zLAorICAgIDB4MS40N2FlMTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAweDEuMTkzZWE2NTU3YWRiYzVlODZhZGQ4MGIwZWJmMmNiODVwLTEsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuMTkzZWE2NTU3YWRiYzVlODZhZGQ4MGIwZWJmMmNiODVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuMTkzZWFhNTU3YWRkMWIzZGMzNGY0N2QxMTFkZmRiYTFwLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIC0weDEuMTkzZWFhNTU3YWRkMWIzZGMzNGY0N2QxMTFkZmRiYTFwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuMDU4YWVlOTcwMDM0MWI5NWJjMWMwOTdiMTgxNzExNThwLTIsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuMDU4YWVlOTcwMDM0MWI5NWJjMWMwOTdiMTgxNzExNThwLTIsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAweDEuMDU4YWVmYTgxMTQ1MWE3Mjc2YmMyZjgyMDQzYjZhN2RwLTIsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuMDU4YWVmYTgxMTQ1MWE3Mjc2YmMyZjgyMDQzYjZhN2RwLTIsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuMDU4YWYxY2EzMzY3ODU2NWYyZmUzYTJkOTQwODMzNzZwLTIsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuMDU4YWYxY2EzMzY3ODU2NWYyZmUzYTJkOTQwODMzNzZwLTIsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuMDE1ODkwYzVkYWFlNzZhOWM5ODhlYTUzYzlmZGQ1NzFwLTMsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuMDE1ODkwYzVkYWFlNzZhOWM5ODhlYTUzYzlmZGQ1NzFwLTMsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuMDE1ODkxYzllYWVmNzY5OTQ2N2EwZjZiOTE2YzY0OTRwLTMsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuMDE1ODkxYzllYWVmNzY5OTQ2N2EwZjZiOTE2YzY0OTRwLTMsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuMDE1ODkzZDIwYjcxOGYzY2Q4ZGY2YzA1NmRjMDQ1YTlwLTMsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuMDE1ODkzZDIwYjcxOGYzY2Q4ZGY2YzA1NmRjMDQ1YTlwLTMsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuMDA1NTg3YWMzNjU5Y2RjYzE1MTU1MjBlNmRkMzcxYWNwLTQsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuMDA1NTg3YWMzNjU5Y2RjYzE1MTU1MjBlNmRkMzcxYWNwLTQsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuMDA1NTg4YWQzNzVhY2RjYjEzMTJhNTYzYzY4NTI1NWVwLTQsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuMDA1NTg4YWQzNzVhY2RjYjEzMTJhNTYzYzY4NTI1NWVwLTQsCisgICAgLTB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuMDA1NThhYWYzOTVjZDNkNTIxMjc3NjUwZGE4NWEyYjNwLTQsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuMDA1NThhYWYzOTVjZDNkNTIxMjc3NjUwZGE4NWEyYjNwLTQsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuMDAxNTU3ODhkYWRlMjBmM2JkOWZkYzRkOGM3MDI3OTFwLTUsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIC0weDEuMDAxNTU3ODhkYWRlMjBmM2JkOWZkYzRkOGM3MDI3OTFwLTUsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuMDAxNTU4ODkxYWVlMjRiNDlkZDNmZGM1YjY2ZWU5ZjFwLTUsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIC0weDEuMDAxNTU4ODkxYWVlMjRiNDlkZDNmZGM1YjY2ZWU5ZjFwLTUsCisgICAgLTB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuMDAxNTVhODk5YjBlMmRiNzFlODRkOTdlMDRlNjRlZDNwLTUsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuMDAxNTVhODk5YjBlMmRiNzFlODRkOTdlMDRlNjRlZDNwLTUsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuMDAwNTU0ODg3YWQwYzk4ZTBlM2E3MGQ2Nzk2ZGQwMGFwLTYsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIC0weDEuMDAwNTU0ODg3YWQwYzk4ZTBlM2E3MGQ2Nzk2ZGQwMGFwLTYsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuMDAwNTU1ODg4YWQxYzk4ZTBkM2E1NjJhY2VkMzI4YjVwLTYsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIC0weDEuMDAwNTU1ODg4YWQxYzk4ZTBkM2E1NjJhY2VkMzI4YjVwLTYsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuMDAwNTU3ODhhYWQzYzllZTE3M2I2MGY3N2Q1ZTQ4MThwLTYsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIC0weDEuMDAwNTU3ODhhYWQzYzllZTE3M2I2MGY3N2Q1ZTQ4MThwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuMDAwMTU0NTg4NDkxOWQzYjAzZjA0ZjJhZWMzYWFkNjRwLTcsCisgICAgMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuMDAwMTU0NTg4NDkxOWQzYjAzZjA0ZjJhZWMzYWFkNjRwLTcsCisgICAgLTB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuMDAwMTU1NTg4ODkxYWQzNzQzZDE0ZmM0NWRhMTJlZjJwLTcsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIC0weDEuMDAwMTU1NTg4ODkxYWQzNzQzZDE0ZmM0NWRhMTJlZjJwLTcsCisgICAgLTB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuMDAwMTU3NTg5MDkxY2Q0N2M0NTM1ZDc4MTg3NjJiNjlwLTcsCisgICAgMHgxLjAwMDAwMnAtNworICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0weDEuMDAwMTU3NTg5MDkxY2Q0N2M0NTM1ZDc4MTg3NjJiNjlwLTcsCisgICAgLTB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMDAwMDU0NTU4Nzg4YWMxYmVkMjBmN2UxYWJiNjNjMGJwLTgsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuMDAwMDU0NTU4Nzg4YWMxYmVkMjBmN2UxYWJiNjNjMGJwLTgsCisgICAgLTB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuMDAwMDU1NTU4ODg4YWQxYWVlMWVmOTM0MDQwNzk3NWFwLTgsCisgICAgMHgxLnAtOAorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIC0weDEuMDAwMDU1NTU4ODg4YWQxYWVlMWVmOTM0MDQwNzk3NWFwLTgsCisgICAgLTB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuMDAwMDU3NTU4YTg4YWYxZWYwMjZmZGVhYzBjMjZjMjlwLTgsCisgICAgMHgxLjAwMDAwMnAtOAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuMDAwMDU3NTU4YTg4YWYxZWYwMjZmZGVhYzBjMjZjMjlwLTgsCisgICAgLTB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuMDAwMDE0NTU1ODQ4ODkwYjExYzVhYzg4NTE4YzlmOGJwLTksCisgICAgMHgxLmZmZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLjAwMDAxNDU1NTg0ODg5MGIxMWM1YWM4ODUxOGM5ZjhicC05LAorICAgIC0weDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS4wMDAwMTU1NTU4ODg4OTFhZDFjOThjOWU5YjAyMzBmNHAtOSwKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgLTB4MS4wMDAwMTU1NTU4ODg4OTFhZDFjOThjOWU5YjAyMzBmNHAtOSwKKyAgICAtMHgxLnAtOQorICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS4wMDAwMTc1NTU5MDg4OTNiZDFkMjBkNGI3NmFkNmM0MHAtOSwKKyAgICAweDEuMDAwMDAycC05CisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgLTB4MS4wMDAwMTc1NTU5MDg4OTNiZDFkMjBkNGI3NmFkNmM0MHAtOSwKKyAgICAtMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS4wMDAwMDQ1NTU1Nzg4ODg5ZTFhZDI5M2UxZjg0NGIzZHAtMTAsCisgICAgMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAtMHgxLjAwMDAwNDU1NTU3ODg4ODllMWFkMjkzZTFmODQ0YjNkcC0xMCwKKyAgICAtMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuMDAwMDA1NTU1NTg4ODg4YWQxYWQzNzQzNzVhYmEwOWZwLTEwLAorICAgIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS4wMDAwMDU1NTU1ODg4ODhhZDFhZDM3NDM3NWFiYTA5ZnAtMTAsCisgICAgLTB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLjAwMDAwNzU1NTVhODg4OGQxMWFkNWY2ZTIzMjY0YjdjcC0xMCwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC0weDEuMDAwMDA3NTU1NWE4ODg4ZDExYWQ1ZjZlMjMyNjRiN2NwLTEwLAorICAgIC0weDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS5mZmZmZmUwYWFhYWE4YjExMTEyZjE1YTM1MzZiMzE4ZnAtMTUsCisgICAgMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAtMHgxLmZmZmZmZTBhYWFhYThiMTExMTJmMTVhMzUzNmIzMThmcC0xNSwKKyAgICAtMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuMDAwMDAwMDU1NTU1NTU4ODg4ODg4YWQxYWQxYWVlMWVwLTE0LAorICAgIDB4MS5wLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgLTB4MS4wMDAwMDAwNTU1NTU1NTg4ODg4ODhhZDFhZDFhZWUxZXAtMTQsCisgICAgLTB4MS5wLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjAwMDAwMjA1NTU1NTc1ODg4OGNhOGFkMWRmZTU5OGRhcC0xNCwKKyAgICAweDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIC0weDEuMDAwMDAyMDU1NTU1NzU4ODg4Y2E4YWQxZGZlNTk4ZGFwLTE0LAorICAgIC0weDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS5mZmZmZmUwMDAwMDAwMGFhYWFhOGFhYWFhY2FiMTExMHAtMjksCisgICAgMHgxLmZmZmZmZXAtMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwYWFhYWE4YWFhYWFjYWIxMTEwcC0yOSwKKyAgICAtMHgxLmZmZmZmZXAtMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTg4ODhwLTI4LAorICAgIDB4MS5wLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1ODg4OHAtMjgsCisgICAgLTB4MS5wLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLjAwMDAwMjAwMDAwMDAwNTU1NTU3NTU1NTU5NTU4ODhicC0yOCwKKyAgICAweDEuMDAwMDAycC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIC0weDEuMDAwMDAyMDAwMDAwMDA1NTU1NTc1NTU1NTk1NTg4OGJwLTI4LAorICAgIC0weDEuMDAwMDAycC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDBhYWFhYThhYWFhYWNhYWIxMXAtMzEsCisgICAgMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMGFhYWFhOGFhYWFhY2FhYjExcC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwNTU1NTU1NTU1NTU1NTU1ODhwLTMwLAorICAgIDB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU4OHAtMzAsCisgICAgLTB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDU1NTU1NzU1NTU1OTU1NTg4cC0zMCwKKyAgICAweDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIC0weDEuMDAwMDAyMDAwMDAwMDAwNTU1NTU3NTU1NTU5NTU1ODhwLTMwLAorICAgIC0weDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIC0weDEuMTkzZWFhNTU3YWRkMWIzZGMzNGY0N2QxMTFkZmRiYTFwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAweDEuMTkzZWFhNTU3YWRkMWIzZGMzNGY0N2QxMTFkZmRiYTFwLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIC0weDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIC0weDEuMTkzZWE2NTU3YWRiYzVlODZhZGQ4MGIwZWJmMmNiODVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuMTkzZWE2NTU3YWRiYzVlODZhZGQ4MGIwZWJmMmNiODVwLTEsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIC0weDEuMDU4YWYxY2EzMzY3ODU2NWYyZmUzYTJkOTQwODMzNzZwLTIsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAweDEuMDU4YWYxY2EzMzY3ODU2NWYyZmUzYTJkOTQwODMzNzZwLTIsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIC0weDEuMDU4YWVmYTgxMTQ1MWE3Mjc2YmMyZjgyMDQzYjZhN2RwLTIsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAweDEuMDU4YWVmYTgxMTQ1MWE3Mjc2YmMyZjgyMDQzYjZhN2RwLTIsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIC0weDEuMDU4YWVlOTcwMDM0MWI5NWJjMWMwOTdiMTgxNzExNThwLTIsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuMDU4YWVlOTcwMDM0MWI5NWJjMWMwOTdiMTgxNzExNThwLTIsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIC0weDEuMDE1ODkzZDIwYjcxOGYzY2Q4ZGY2YzA1NmRjMDQ1YTlwLTMsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuMDE1ODkzZDIwYjcxOGYzY2Q4ZGY2YzA1NmRjMDQ1YTlwLTMsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIC0weDEuMDE1ODkxYzllYWVmNzY5OTQ2N2EwZjZiOTE2YzY0OTRwLTMsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAweDEuMDE1ODkxYzllYWVmNzY5OTQ2N2EwZjZiOTE2YzY0OTRwLTMsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIC0weDEuMDE1ODkwYzVkYWFlNzZhOWM5ODhlYTUzYzlmZGQ1NzFwLTMsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAweDEuMDE1ODkwYzVkYWFlNzZhOWM5ODhlYTUzYzlmZGQ1NzFwLTMsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIC0weDEuMDA1NThhYWYzOTVjZDNkNTIxMjc3NjUwZGE4NWEyYjNwLTQsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuMDA1NThhYWYzOTVjZDNkNTIxMjc3NjUwZGE4NWEyYjNwLTQsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIC0weDEuMDA1NTg4YWQzNzVhY2RjYjEzMTJhNTYzYzY4NTI1NWVwLTQsCisgICAgLTB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuMDA1NTg4YWQzNzVhY2RjYjEzMTJhNTYzYzY4NTI1NWVwLTQsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIC0weDEuMDA1NTg3YWMzNjU5Y2RjYzE1MTU1MjBlNmRkMzcxYWNwLTQsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuMDA1NTg3YWMzNjU5Y2RjYzE1MTU1MjBlNmRkMzcxYWNwLTQsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIC0weDEuMDAxNTVhODk5YjBlMmRiNzFlODRkOTdlMDRlNjRlZDNwLTUsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuMDAxNTVhODk5YjBlMmRiNzFlODRkOTdlMDRlNjRlZDNwLTUsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIC0weDEuMDAxNTU4ODkxYWVlMjRiNDlkZDNmZGM1YjY2ZWU5ZjFwLTUsCisgICAgLTB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuMDAxNTU4ODkxYWVlMjRiNDlkZDNmZGM1YjY2ZWU5ZjFwLTUsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIC0weDEuMDAxNTU3ODhkYWRlMjBmM2JkOWZkYzRkOGM3MDI3OTFwLTUsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuMDAxNTU3ODhkYWRlMjBmM2JkOWZkYzRkOGM3MDI3OTFwLTUsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIC0weDEuMDAwNTU3ODhhYWQzYzllZTE3M2I2MGY3N2Q1ZTQ4MThwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuMDAwNTU3ODhhYWQzYzllZTE3M2I2MGY3N2Q1ZTQ4MThwLTYsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIC0weDEuMDAwNTU1ODg4YWQxYzk4ZTBkM2E1NjJhY2VkMzI4YjVwLTYsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuMDAwNTU1ODg4YWQxYzk4ZTBkM2E1NjJhY2VkMzI4YjVwLTYsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIC0weDEuMDAwNTU0ODg3YWQwYzk4ZTBlM2E3MGQ2Nzk2ZGQwMGFwLTYsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuMDAwNTU0ODg3YWQwYzk4ZTBlM2E3MGQ2Nzk2ZGQwMGFwLTYsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIC0weDEuMDAwMTU3NTg5MDkxY2Q0N2M0NTM1ZDc4MTg3NjJiNjlwLTcsCisgICAgLTB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuMDAwMTU3NTg5MDkxY2Q0N2M0NTM1ZDc4MTg3NjJiNjlwLTcsCisgICAgMHgxLjAwMDAwMnAtNworICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIC0weDEuMDAwMTU1NTg4ODkxYWQzNzQzZDE0ZmM0NWRhMTJlZjJwLTcsCisgICAgLTB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuMDAwMTU1NTg4ODkxYWQzNzQzZDE0ZmM0NWRhMTJlZjJwLTcsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuMDAwMTU0NTg4NDkxOWQzYjAzZjA0ZjJhZWMzYWFkNjRwLTcsCisgICAgLTB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuMDAwMTU0NTg4NDkxOWQzYjAzZjA0ZjJhZWMzYWFkNjRwLTcsCisgICAgMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIC0weDEuMDAwMDU3NTU4YTg4YWYxZWYwMjZmZGVhYzBjMjZjMjlwLTgsCisgICAgLTB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuMDAwMDU3NTU4YTg4YWYxZWYwMjZmZGVhYzBjMjZjMjlwLTgsCisgICAgMHgxLjAwMDAwMnAtOAorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIC0weDEuMDAwMDU1NTU4ODg4YWQxYWVlMWVmOTM0MDQwNzk3NWFwLTgsCisgICAgLTB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuMDAwMDU1NTU4ODg4YWQxYWVlMWVmOTM0MDQwNzk3NWFwLTgsCisgICAgMHgxLnAtOAorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIC0weDEuMDAwMDU0NTU4Nzg4YWMxYmVkMjBmN2UxYWJiNjNjMGJwLTgsCisgICAgLTB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuMDAwMDU0NTU4Nzg4YWMxYmVkMjBmN2UxYWJiNjNjMGJwLTgsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIC0weDEuMDAwMDE3NTU1OTA4ODkzYmQxZDIwZDRiNzZhZDZjNDBwLTksCisgICAgLTB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuMDAwMDE3NTU1OTA4ODkzYmQxZDIwZDRiNzZhZDZjNDBwLTksCisgICAgMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIC0weDEuMDAwMDE1NTU1ODg4ODkxYWQxYzk4YzllOWIwMjMwZjRwLTksCisgICAgLTB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuMDAwMDE1NTU1ODg4ODkxYWQxYzk4YzllOWIwMjMwZjRwLTksCisgICAgMHgxLnAtOQorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIC0weDEuMDAwMDE0NTU1ODQ4ODkwYjExYzVhYzg4NTE4YzlmOGJwLTksCisgICAgLTB4MS5mZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLjAwMDAxNDU1NTg0ODg5MGIxMWM1YWM4ODUxOGM5ZjhicC05LAorICAgIDB4MS5mZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgLTB4MS4wMDAwMDc1NTU1YTg4ODhkMTFhZDVmNmUyMzI2NGI3Y3AtMTAsCisgICAgLTB4MS4wMDAwMDJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLjAwMDAwNzU1NTVhODg4OGQxMWFkNWY2ZTIzMjY0YjdjcC0xMCwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIC0weDEuMDAwMDA1NTU1NTg4ODg4YWQxYWQzNzQzNzVhYmEwOWZwLTEwLAorICAgIC0weDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS4wMDAwMDU1NTU1ODg4ODhhZDFhZDM3NDM3NWFiYTA5ZnAtMTAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAtMHgxLjAwMDAwNDU1NTU3ODg4ODllMWFkMjkzZTFmODQ0YjNkcC0xMCwKKyAgICAtMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuMDAwMDA0NTU1NTc4ODg4OWUxYWQyOTNlMWY4NDRiM2RwLTEwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgLTB4MS4wMDAwMDIwNTU1NTU3NTg4ODhjYThhZDFkZmU1OThkYXAtMTQsCisgICAgLTB4MS4wMDAwMDJwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLjAwMDAwMjA1NTU1NTc1ODg4OGNhOGFkMWRmZTU5OGRhcC0xNCwKKyAgICAweDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIC0weDEuMDAwMDAwMDU1NTU1NTU4ODg4ODg4YWQxYWQxYWVlMWVwLTE0LAorICAgIC0weDEucC0xNAorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS4wMDAwMDAwNTU1NTU1NTg4ODg4ODhhZDFhZDFhZWUxZXAtMTQsCisgICAgMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAtMHgxLmZmZmZmZTBhYWFhYThiMTExMTJmMTVhMzUzNmIzMThmcC0xNSwKKyAgICAtMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAweDEuZmZmZmZlMGFhYWFhOGIxMTExMmYxNWEzNTM2YjMxOGZwLTE1LAorICAgIDB4MS5mZmZmZmVwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgLTB4MS4wMDAwMDIwMDAwMDAwMDU1NTU1NzU1NTU1OTU1ODg4YnAtMjgsCisgICAgLTB4MS4wMDAwMDJwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwNTU1NTU3NTU1NTU5NTU4ODhicC0yOCwKKyAgICAweDEuMDAwMDAycC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTg4ODhwLTI4LAorICAgIC0weDEucC0yOAorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1ODg4OHAtMjgsCisgICAgMHgxLnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwYWFhYWE4YWFhYWFjYWIxMTEwcC0yOSwKKyAgICAtMHgxLmZmZmZmZXAtMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTEKKyAgICAweDEuZmZmZmZlMDAwMDAwMDBhYWFhYThhYWFhYWNhYjExMTBwLTI5LAorICAgIDB4MS5mZmZmZmVwLTI5CisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgLTB4MS4wMDAwMDIwMDAwMDAwMDA1NTU1NTc1NTU1NTk1NTU4OHAtMzAsCisgICAgLTB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDU1NTU1NzU1NTU1OTU1NTg4cC0zMCwKKyAgICAweDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwNTU1NTU1NTU1NTU1NTU1ODhwLTMwLAorICAgIC0weDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU4OHAtMzAsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMGFhYWFhOGFhYWFhY2FhYjExcC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwYWFhYWE4YWFhYWFjYWFiMTFwLTMxLAorICAgIDB4MS5mZmZmZmVwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS4xNTQyNDU2YjM3ZDQyYzFjNmI3MzFkZjJkYjQwZjZjN3AzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAtMHgxLjE1NDI0NTZiMzdkNDJjMWM2YjczMWRmMmRiNDBmNmM3cDMsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuMGYyZWIxNjUyMTkxMjMzNmRhOTg5OTA3YjQyZTg0OTNwMCwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgLTB4MS4wZjJlYjE2NTIxOTEyMzM2ZGE5ODk5MDdiNDJlODQ5M3AwLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTA0CisgICAgMHgxLjAwMDAwMnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTE2CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvY2JydF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvY2JydF9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJiNDcwOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9jYnJ0X2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDIyNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19jYnJ0X2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5wLTEwLAorICAgIC0weDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuMDAwMDAwMDAwMDdmZmZmZmZmZmZjMDAwMDAwMDAwMzVwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAxOHAtOQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuMDAwMDAwMDAwMDdmZmZmZmZmZmZjMDAwMDAwMDAwMzVwLTMsCisgICAgMHgxLjAwMDAwMDAwMDE4cC05CisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuMDAwMDAwMDAwN2ZmZmZmZmZmYzAwMDAwMDAwMzU1NTVwLTM0MCwKKyAgICAtMHgxLjAwMDAwMDAwMTgwcC0xMDIwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS4wMDAwMDAwMDA3ZmZmZmZmZmZjMDAwMDAwMDAzNTU1NXAtMzQwLAorICAgIDB4MS4wMDAwMDAwMDE4MHAtMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLjk5ODY2NTdmZWRmZTRmZDM2ZTUzM2ViYjU5ZTk2ZWU2cC0xNCwKKyAgICAtMHgxLjA2MHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjk5ODY2NTdmZWRmZTRmZDM2ZTUzM2ViYjU5ZTk2ZWU2cC0xNCwKKyAgICAweDEuMDYwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLjQ1YWJmYjdlZjcxODk5MTFiYTg5NGM0NWVjYTFkZGNhcC0xLAorICAgIC0weDEuMDc4N2MxZmE3N2NlMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuNDVhYmZiN2VmNzE4OTkxMWJhODk0YzQ1ZWNhMWRkY2FwLTEsCisgICAgMHgxLjA3ODdjMWZhNzdjZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEuOWU5ZWUyYmVlNjlmZTgwYzRmNzNjYjU5Y2NiN2YzZDFwNSwKKyAgICAtMHgxLjBmZTZmYzA1YWM4YzBwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS45ZTllZTJiZWU2OWZlODBjNGY3M2NiNTljY2I3ZjNkMXA1LAorICAgIDB4MS4wZmU2ZmMwNWFjOGMwcDE3CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLjQ5M2IzMzM1OGY4M2ZmMTk3YzI5MTkyYmFhY2YyNzYzcC05LAorICAgIC0weDEuMTA0NDExMDQ0MTJwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuNDkzYjMzMzU4ZjgzZmYxOTdjMjkxOTJiYWFjZjI3NjNwLTksCisgICAgMHgxLjEwNDQxMTA0NDEycC0yNgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS45ZjE4N2JiOTk0YjRlODIyZDRjMjlmODRlZGE2NjE0NXAtMSwKKyAgICAtMHgxLjEwZDY3YzA2MmQ3ZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS45ZjE4N2JiOTk0YjRlODIyZDRjMjlmODRlZGE2NjE0NXAtMSwKKyAgICAweDEuMTBkNjdjMDYyZDdlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS4wYWY2NTYyZjgyOTM3ODAwZjZhYWViNTljYThiZTkyM3AtMiwKKyAgICAtMHgxLjIyNTBhYjM3MjZiMDhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS4wYWY2NTYyZjgyOTM3ODAwZjZhYWViNTljYThiZTkyM3AtMiwKKyAgICAweDEuMjI1MGFiMzcyNmIwOHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS5hOWNkOTE5NDAyZjQ4ODIwNTAxZDBhMTZlNjE2YTFlZnAzMCwKKyAgICAtMHgxLjI2ODAyOWFiZjE1ODVwOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5hOWNkOTE5NDAyZjQ4ODIwNTAxZDBhMTZlNjE2YTFlZnAzMCwKKyAgICAweDEuMjY4MDI5YWJmMTU4NXA5MgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5hYTc0ZmI1M2FjZTI0ODEzN2VjMmE2OGY0ZTJjMGU2YXAtMTEsCisgICAgLTB4MS4yN2RjMTAyZmJhYWVjcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLmFhNzRmYjUzYWNlMjQ4MTM3ZWMyYTY4ZjRlMmMwZTZhcC0xMSwKKyAgICAweDEuMjdkYzEwMmZiYWFlY3AtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuYmZiNWMxY2RhYTZkZGZkMDMyYzhhODdkYjdhMTljYTJwLTUsCisgICAgLTB4MS41NjU1OTU2NTU5NTgwcC0xMworICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLmJmYjVjMWNkYWE2ZGRmZDAzMmM4YTg3ZGI3YTE5Y2EycC01LAorICAgIDB4MS41NjU1OTU2NTU5NTgwcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS5jYjhhNzU1NDFhYmVkODFmYTc5OTQ2NDQ1MWE1NThkM3AzMCwKKyAgICAtMHgxLjcyMzI1NjBiOWNjYzZwOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5jYjhhNzU1NDFhYmVkODFmYTc5OTQ2NDQ1MWE1NThkM3AzMCwKKyAgICAweDEuNzIzMjU2MGI5Y2NjNnA5MgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS43ZDAzOGQ2MTU1ZGM0ODBhOWYyOWU4NjU2NmE1ZjQzZHAtMzU2LAorICAgIC0weDEuYTYwcC0xMDY3CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuN2QwMzhkNjE1NWRjNDgwYTlmMjllODY1NjZhNWY0M2RwLTM1NiwKKyAgICAweDEuYTYwcC0xMDY3CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLmUzYjlkZmJjYWZjZGE4Mzk1MzMxYjIyMzIwMjEyYzRjcDcsCisgICAgLTB4MS5hZmM2YWJmNWQwY2UwcDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZTNiOWRmYmNhZmNkYTgzOTUzMzFiMjIzMjAyMTJjNGNwNywKKyAgICAweDEuYWZjNmFiZjVkMGNlMHAyMworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS44NGFkNjAzNzI3YTA1MDhjYmVkZDJiY2EwZWM0ODcyNXAwLAorICAgIC0weDEuYmZmYTkwZDg3YWE5OHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuODRhZDYwMzcyN2EwNTA4Y2JlZGQyYmNhMGVjNDg3MjVwMCwKKyAgICAweDEuYmZmYTkwZDg3YWE5OHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjk0N2MwOWZhMjU4MTUxY2ZlZWU4NTE3NWJjNDFmYjgxcC0zLAorICAgIC0weDEuZjhlMzhlMzhlMzhlNHAtOAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjk0N2MwOWZhMjU4MTUxY2ZlZWU4NTE3NWJjNDFmYjgxcC0zLAorICAgIDB4MS5mOGUzOGUzOGUzOGU0cC04CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjlmZmZmZmZmZmZmZmVkZmZmZmZmcC0zNDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmVlcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuZmZmZmZmZmZmZmZmOWZmZmZmZmZmZmZmZWRmZmZmZmZwLTM0MSwKKyAgICAweDEuZmZmZmZmZmZmZmZlZXAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjQyOGEyZjk4ZDcyOGMyNGFlMGQ0NDQ4ODQ3YzRhNmJhcC0zNDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEuNDI4YTJmOThkNzI4YzI0YWUwZDQ0NDg4NDdjNGE2YmFwLTM0MSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS45NjVmZWE1M2Q2ZTNmYWY3MDJlNDE1OTBiMDcwYmZmYnAtMTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDZwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2ZhZjcwMmU0MTU5MGIwNzBiZmZicC0xNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDZwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuOTY1ZmVhNTNkNmUzZmFmNzAyZTQxNTkwYjA3MGJmZmJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwNnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2ZhZjcwMmU0MTU5MGIwNzBiZmZicDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS45NjVmZWE1M2Q2ZTYwN2RkOTE5MDYwNzNiZjFhMzVlZHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDQ0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuOTY1ZmVhNTNkNmU2MDdkZDkxOTA2MDczYmYxYTM1ZWRwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwNDRwMgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjk2NWZlYTUzZDZlNjk3Y2EzNDhlMTFlMmEwOTFkNWI2cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwNTVwMgorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgLTB4MS45NjVmZWE1M2Q2ZTY5N2NhMzQ4ZTExZTJhMDkxZDViNnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDA1NXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuMDAwMDAwMDAwMDBjYmZmZmZmZmZmZjVkNzBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDI2NHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLjAwMDAwMDAwMDAwY2JmZmZmZmZmZmY1ZDcwcDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMjY0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS45NjVmZWE1M2Q3MDJmN2JjYjEyOGIwYWE4OTA5OTdlMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwM2FmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuOTY1ZmVhNTNkNzAyZjdiY2IxMjhiMGFhODkwOTk3ZTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAzYWZwMgorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjQyOGEyZjk4ZDc1ZTZmZDRkNzUzZGY5MjdiNmIxZDRmcC0xNCwKKyAgICAweDEuMDAwMDAwMDAwMDhwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLjQyOGEyZjk4ZDc1ZTZmZDRkNzUzZGY5MjdiNmIxZDRmcC0xNCwKKyAgICAtMHgxLjAwMDAwMDAwMDA4cC00MQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjAwMDAwMDAwMDA3ZmZmZmZmZmZmYzAwMDAwMDAwMDM1cC0zLAorICAgIDB4MS4wMDAwMDAwMDAxOHAtOQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS4wMDAwMDAwMDAwN2ZmZmZmZmZmZmMwMDAwMDAwMDAzNXAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDE4cC05CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuOTY1ZmVhNTNkYTEwODdmZmFkNDEwOGM0ZWE4MGNiYzJwLTE0LAorICAgIDB4MS4wMDAwMDAwMDA2MHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuOTY1ZmVhNTNkYTEwODdmZmFkNDEwOGM0ZWE4MGNiYzJwLTE0LAorICAgIC0weDEuMDAwMDAwMDAwNjBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuOTY1ZmVhNTNkYTRhZjdhYThmNmU2ZDQwNDhlNTJmMmJwMSwKKyAgICAweDEuMDAwMDAwMDAwNjZlN3A1CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLjk2NWZlYTUzZGE0YWY3YWE4ZjZlNmQ0MDQ4ZTUyZjJicDEsCisgICAgLTB4MS4wMDAwMDAwMDA2NmU3cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4wMDAwMDAwMDA3ZmZmZmZmZmZjMDAwMDAwMDAzNTU1NXAtMzQwLAorICAgIDB4MS4wMDAwMDAwMDE4MHAtMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS4wMDAwMDAwMDA3ZmZmZmZmZmZjMDAwMDAwMDAzNTU1NXAtMzQwLAorICAgIC0weDEuMDAwMDAwMDAxODBwLTEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS45NjVmZWE1NWY1NDA5N2MzNmE2NzM3ZDg1ZGQwMDZkY3AtNDAsCisgICAgMHgxLjAwMDAwMDA0MDEwMDRwLTExOAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS45NjVmZWE1NWY1NDA5N2MzNmE2NzM3ZDg1ZGQwMDZkY3AtNDAsCisgICAgLTB4MS4wMDAwMDAwNDAxMDA0cC0xMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS40MjhhMmZhMTU5OTVlN2ZmZmY2ODUzNGRhYTI2NDZlZHAwLAorICAgIDB4MS4wMDAwMDAxNDQzMGUycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuNDI4YTJmYTE1OTk1ZTdmZmZmNjg1MzRkYWEyNjQ2ZWRwMCwKKyAgICAtMHgxLjAwMDAwMDE0NDMwZTJwMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjQyOGEyZmJlYTM1YTNkOWQ4NmQwYTczZDA1MGQxMzc5cC0zNDgsCisgICAgMHgxLjAwMDAwMDVhMHAtMTA0MworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS40MjhhMmZiZWEzNWEzZDlkODZkMGE3M2QwNTBkMTM3OXAtMzQ4LAorICAgIC0weDEuMDAwMDAwNWEwcC0xMDQzCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuOTY1ZmYyY2FhNDIzMTdjMDBmZmQ3OTFjMDQwZmI5MWRwLTM0LAorICAgIDB4MS4wMDAwMGZmZjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS45NjVmZjJjYWE0MjMxN2MwMGZmZDc5MWMwNDBmYjkxZHAtMzQsCisgICAgLTB4MS4wMDAwMGZmZjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjk2NWZmMmNiMmI5ODYwMzc0YzdhOTJlM2JmNzkyNjVkcC0xNCwKKyAgICAweDEuMDAwMDFwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLjk2NWZmMmNiMmI5ODYwMzc0YzdhOTJlM2JmNzkyNjVkcC0xNCwKKyAgICAtMHgxLjAwMDAxcC00MAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjk2NjBiNTgzNjZiOWM4MTQ0M2M1NjRjODUxOWMxNjQ5cC0zNDEsCisgICAgMHgxLjAwMDE4MDAwMDA4cC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjk2NjBiNTgzNjZiOWM4MTQ0M2M1NjRjODUxOWMxNjQ5cC0zNDEsCisgICAgLTB4MS4wMDAxODAwMDAwOHAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjk2NjM5ZTgwNTU0ZDA3ZjQ0NDgyZWQ0ZWRlYjY5MDI0cC0xNCwKKyAgICAweDEuMDAwNzBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjk2NjM5ZTgwNTU0ZDA3ZjQ0NDgyZWQ0ZWRlYjY5MDI0cC0xNCwKKyAgICAtMHgxLjAwMDcwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjk2NjViMjM0MmY4ZDk3YWI4MjdjYzkwN2JlYTZhNmEwcC0yLAorICAgIDB4MS4wMDBhZWNmMjRiOGJicC00CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLjk2NjViMjM0MmY4ZDk3YWI4MjdjYzkwN2JlYTZhNmEwcC0yLAorICAgIC0weDEuMDAwYWVjZjI0YjhiYnAtNAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjk2NjY0ZTUxNDcwODU3YmE5MjdmZDhjODNlNGE2NjhmcC0yLAorICAgIDB4MS4wMDBjMTQwNDZjMjdjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLjk2NjY0ZTUxNDcwODU3YmE5MjdmZDhjODNlNGE2NjhmcC0yLAorICAgIC0weDEuMDAwYzE0MDQ2YzI3Y3AtNAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjk2ODFjZDRkNTljZjNjNDlkMDlhNDRhNmU1YTcxYTBicC00LAorICAgIDB4MS4wMDQwMTAwNDAwMGRlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS45NjgxY2Q0ZDU5Y2YzYzQ5ZDA5YTQ0YTZlNWE3MWEwYnAtNCwKKyAgICAtMHgxLjAwNDAxMDA0MDAwZGVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuMDAyNTRmZTRlMDlhMjgxNjFiMTlhMTUwZWQ2NzljMzhwLTM0MCwKKyAgICAweDEuMDA3cC0xMDIwCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjAwMjU0ZmU0ZTA5YTI4MTYxYjE5YTE1MGVkNjc5YzM4cC0zNDAsCisgICAgLTB4MS4wMDdwLTEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS40MmI5MzIzYWJhZmQ3OGQwNjY2ZjJjYTFmYmQ5ZjhiOXAtMzQxLAorICAgIDB4MS4wMDdwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuNDJiOTMyM2FiYWZkNzhkMDY2NmYyY2ExZmJkOWY4YjlwLTM0MSwKKyAgICAtMHgxLjAwN3AtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjAwNWE4YWExMWZkOTY2MTBmNDc1ZDEzZWI2ZjgyNDdmcC0zNDAsCisgICAgMHgxLjAxMXAtMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS4wMDVhOGFhMTFmZDk2NjEwZjQ3NWQxM2ViNmY4MjQ3ZnAtMzQwLAorICAgIC0weDEuMDExcC0xMDIwCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuOTc2ZTIxMWI0YTVmZGEyZjNkOTExMGY1OTMxNjI5OGFwLTE0LAorICAgIDB4MS4wMjBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjk3NmUyMTFiNGE1ZmRhMmYzZDkxMTBmNTkzMTYyOThhcC0xNCwKKyAgICAtMHgxLjAyMHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS45N2Y0YzcyYTRjYzkzN2M4ZWM1ODA4ZjdlMGYyM2YxZHAzMzQsCisgICAgMHgxLjAzMDAxZmMwZWI2ZjBwMTAwNAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS45N2Y0YzcyYTRjYzkzN2M4ZWM1ODA4ZjdlMGYyM2YxZHAzMzQsCisgICAgLTB4MS4wMzAwMWZjMGViNmYwcDEwMDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS45N2Y1ZjgxNjBiODkxN2M4MGQzOGE2YWYxZjZmMTUyYnAwLAorICAgIDB4MS4wMzAyNjQ4NGMzOTk0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuOTdmNWY4MTYwYjg5MTdjODBkMzhhNmFmMWY2ZjE1MmJwMCwKKyAgICAtMHgxLjAzMDI2NDg0YzM5OTRwMgorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjQ0NmMxZmJlMWE4MjFhODhiM2EyNWI4NTQ5NTU5ZDFjcC04MSwKKyAgICAweDEuMDQ4MjQxMjA5MDQ4MnAtMjQyCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjQ0NmMxZmJlMWE4MjFhODhiM2EyNWI4NTQ5NTU5ZDFjcC04MSwKKyAgICAtMHgxLjA0ODI0MTIwOTA0ODJwLTI0MgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjk5ODY2NTdmZWRmZTRmZDM2ZTUzM2ViYjU5ZTk2ZWU2cC0xNCwKKyAgICAweDEuMDYwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS45OTg2NjU3ZmVkZmU0ZmQzNmU1MzNlYmI1OWU5NmVlNnAtMTQsCisgICAgLTB4MS4wNjBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuNDU0MDg4ZDE1MDEwZjdmMzQzNDIyYzc2MWU2MDFlNjFwLTEsCisgICAgMHgxLjA2ODM0MWEwZDA2ODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuNDU0MDg4ZDE1MDEwZjdmMzQzNDIyYzc2MWU2MDFlNjFwLTEsCisgICAgLTB4MS4wNjgzNDFhMGQwNjgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuOWE5MmM2MDdjZmQ3MzdlNzUyMWJjN2Y5ODc3MGIxNzBwMiwKKyAgICAweDEuMDgwNDZhM2M3MDllM3A4CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjlhOTJjNjA3Y2ZkNzM3ZTc1MjFiYzdmOTg3NzBiMTcwcDIsCisgICAgLTB4MS4wODA0NmEzYzcwOWUzcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuOWE5M2NkZTcxYmE1NTdlNjIxODUyOGMxY2IwZDZlMzJwLTEsCisgICAgMHgxLjA4MDY2NzQ5NTg0ZGRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLjlhOTNjZGU3MWJhNTU3ZTYyMTg1MjhjMWNiMGQ2ZTMycC0xLAorICAgIC0weDEuMDgwNjY3NDk1ODRkZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS45YTk1Mjc3M2QzNTBjN2U5N2I0MjIzNTY0ZmQ3M2JlN3AtMzQ3LAorICAgIDB4MS4wODA5MDFlYmFwLTEwMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLjlhOTUyNzczZDM1MGM3ZTk3YjQyMjM1NjRmZDczYmU3cC0zNDcsCisgICAgLTB4MS4wODA5MDFlYmFwLTEwMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMDMyZWU2M2M1NmUzYjU1NjI4YzY0MDBjNzQyZDkzZWRwMSwKKyAgICAweDEuMDlhYjM4ZWQxODRiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS4wMzJlZTYzYzU2ZTNiNTU2MjhjNjQwMGM3NDJkOTNlZHAxLAorICAgIC0weDEuMDlhYjM4ZWQxODRiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjliOTk2ODQ1N2M4NmE3ZDdkYmI1NGY1YTAyZmMwMzdicDQsCisgICAgMHgxLjBhMDA1Njk2MGUzNjhwMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjliOTk2ODQ1N2M4NmE3ZDdkYmI1NGY1YTAyZmMwMzdicDQsCisgICAgLTB4MS4wYTAwNTY5NjBlMzY4cDE0CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjllOWYxZjJkMDg1NTg4MTYyNGI2MGY3N2MwNDJiNzhkcDAsCisgICAgMHgxLjBmZTc3MmU5MDM5ZjVwMgorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuOWU5ZjFmMmQwODU1ODgxNjI0YjYwZjc3YzA0MmI3OGRwMCwKKyAgICAtMHgxLjBmZTc3MmU5MDM5ZjVwMgorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS45ZWE3NTNjZGUxYmQwODU1ZGYyZWRmMDE1ZjcwN2EwNHAxLAorICAgIDB4MS4wZmY3OTdlZjFhM2MzcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjllYTc1M2NkZTFiZDA4NTVkZjJlZGYwMTVmNzA3YTA0cDEsCisgICAgLTB4MS4wZmY3OTdlZjFhM2MzcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuNDkxZmMxNTI1NzhjYTdjZGQ4MDc4ZmRhZmNiMzMwMzZwLTM1NywKKyAgICAweDEuMXAtMTA3MAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuNDkxZmMxNTI1NzhjYTdjZGQ4MDc4ZmRhZmNiMzMwMzZwLTM1NywKKyAgICAtMHgxLjFwLTEwNzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuOWVhYzllZmM2ZTg4ZDdjMzEyY2FmYmZjYmQ5NGI1YjRwMCwKKyAgICAweDEuMTAwMjAyOWUxYWFkZHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS45ZWFjOWVmYzZlODhkN2MzMTJjYWZiZmNiZDk0YjViNHAwLAorICAgIC0weDEuMTAwMjAyOWUxYWFkZHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjlmMTQ0NWY0N2JlYjg4MWZlYjhjYzZkYTY0MjNmMWZhcDAsCisgICAgMHgxLjEwY2UyZWUzOWY3MWJwMgorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuOWYxNDQ1ZjQ3YmViODgxZmViOGNjNmRhNjQyM2YxZmFwMCwKKyAgICAtMHgxLjEwY2UyZWUzOWY3MWJwMgorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS45ZjE2ZjFiMzg0OTA5ODIwMzQ2MGM1YmY3OTQ2ZTlkZHAtMSwKKyAgICAweDEuMTBkMzczMTJhZjhmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuOWYxNmYxYjM4NDkwOTgyMDM0NjBjNWJmNzk0NmU5ZGRwLTEsCisgICAgLTB4MS4xMGQzNzMxMmFmOGZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjlmMjJiODk5MTY2NDA4MWY2OGY5OWRiOWExY2MwYjczcDAsCisgICAgMHgxLjEwZWFhYzg5MmEyNDVwMgorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuOWYyMmI4OTkxNjY0MDgxZjY4Zjk5ZGI5YTFjYzBiNzNwMCwKKyAgICAtMHgxLjEwZWFhYzg5MmEyNDVwMgorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS45ZjQ1ODkyMWQ1MmEyODFmYWZlZjJlMjI1YWFhYjZjNnAwLAorICAgIDB4MS4xMTJmNWMwM2VjZWMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLjlmNDU4OTIxZDUyYTI4MWZhZmVmMmUyMjVhYWFiNmM2cDAsCisgICAgLTB4MS4xMTJmNWMwM2VjZWMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuNGM0Yzk5MWFjNjUxYTg0ZTBmZjA2NTYyODU5NzcwNDdwMSwKKyAgICAweDEuMTdmMmNhZmFiYjQ2YXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS40YzRjOTkxYWM2NTFhODRlMGZmMDY1NjI4NTk3NzA0N3AxLAorICAgIC0weDEuMTdmMmNhZmFiYjQ2YXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmE0MzBlY2ZjZjQ0ZWU3ZGM0ZTczNTc2Mjk0N2QzZGMzcDAsCisgICAgMHgxLjFiMDI2MDJjOTA4YmZwMgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuYTQzMGVjZmNmNDRlZTdkYzRlNzM1NzYyOTQ3ZDNkYzNwMCwKKyAgICAtMHgxLjFiMDI2MDJjOTA4YmZwMgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5hNmE1NTZiOTVkZmZhODI4YTlhODFhOTIxZjg3ZmE4NXAtNCwKKyAgICAweDEuMWZmZjkwNWMzYWRiY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLmE2YTU1NmI5NWRmZmE4MjhhOWE4MWE5MjFmODdmYTg1cC00LAorICAgIC0weDEuMWZmZjkwNWMzYWRiY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuYTZhNThkNTVlMzA3YmRkZWQ2ZjBjMjY0NDdlMTRhZmFwLTE0LAorICAgIDB4MS4ycC00MAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuYTZhNThkNTVlMzA3YmRkZWQ2ZjBjMjY0NDdlMTRhZmFwLTE0LAorICAgIC0weDEuMnAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuYTc0MWRjYWE4NWM1MDdmOGY0NzY4NzFhODZjOGYyZmJwLTE0LAorICAgIDB4MS4yMTRwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5hNzQxZGNhYTg1YzUwN2Y4ZjQ3Njg3MWE4NmM4ZjJmYnAtMTQsCisgICAgLTB4MS4yMTRwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmE5YjlhOThjZmMxMTM4MWRlZmU2MjUzYTk4OTM4Nzc1cC00LAorICAgIDB4MS4yNjU2ZGRkMGVmOWE5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuYTliOWE5OGNmYzExMzgxZGVmZTYyNTNhOTg5Mzg3NzVwLTQsCisgICAgLTB4MS4yNjU2ZGRkMGVmOWE5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5hOWNlODYyOTQzNDE5ODFmZmJkMDRmNDYzMzliN2NhM3AwLAorICAgIDB4MS4yNjgyMjUyOWNiOTk3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmE5Y2U4NjI5NDM0MTk4MWZmYmQwNGY0NjMzOWI3Y2EzcDAsCisgICAgLTB4MS4yNjgyMjUyOWNiOTk3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuYWEzMzkzNjEwMTExODAwYzc3M2U0OTJiYTAzYzBiYzBwLTQsCisgICAgMHgxLjI3NTQwNDFlMGJkNThwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5hYTMzOTM2MTAxMTE4MDBjNzczZTQ5MmJhMDNjMGJjMHAtNCwKKyAgICAtMHgxLjI3NTQwNDFlMGJkNThwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmFhNmVhZjE0OTcxMTA4MTI2N2Q0ZDNiY2ZiMjE1NzZhcC0xLAorICAgIDB4MS4yN2NlZjRkNThmYTA2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5hYTZlYWYxNDk3MTEwODEyNjdkNGQzYmNmYjIxNTc2YXAtMSwKKyAgICAtMHgxLjI3Y2VmNGQ1OGZhMDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuYWIwMTExYzRmNjc2ODdlYWI0NWI0N2RiYTM4OTkzNDVwLTE0LAorICAgIDB4MS4yOTBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5hYjAxMTFjNGY2NzY4N2VhYjQ1YjQ3ZGJhMzg5OTM0NXAtMTQsCisgICAgLTB4MS4yOTBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmFiN2QyM2Y1OWVkOTM3ZTEyZmFkNzA3NWFiMmEzNGY1cDY2LAorICAgIDB4MS4yYTAzMmYzNjBiMTQxcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuYWI3ZDIzZjU5ZWQ5MzdlMTJmYWQ3MDc1YWIyYTM0ZjVwNjYsCisgICAgLTB4MS4yYTAzMmYzNjBiMTQxcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS4wZTdmZTkyMGYzMWQzNzQ2Mjc1MDI3YjMyODIxNzJlZXAtMzQwLAorICAgIDB4MS4yZTAyNWMwNGI4NWZjcC0xMDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS4wZTdmZTkyMGYzMWQzNzQ2Mjc1MDI3YjMyODIxNzJlZXAtMzQwLAorICAgIC0weDEuMmUwMjVjMDRiODVmY3AtMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS41NWFhYWFhZTM4NzIxN2Q1M2ZiYmE0MjNjZWJiMWEyZXAtMiwKKyAgICAweDEuMzA0YzEzMDRjMTMwNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuNTVhYWFhYWUzODcyMTdkNTNmYmJhNDIzY2ViYjFhMmVwLTIsCisgICAgLTB4MS4zMDRjMTMwNGMxMzA0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmIzZGQ1NmEyYjEzMmU3ZmRmMTAwNzRiMDkyNDI4OGYxcDMyLAorICAgIDB4MS4zYmRmZWUzM2IwMmY4cDk4CisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5iM2RkNTZhMmIxMzJlN2ZkZjEwMDc0YjA5MjQyODhmMXAzMiwKKyAgICAtMHgxLjNiZGZlZTMzYjAyZjhwOTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuYjQzOWRmM2MyNjU5MDgxZGY2YTMwODVjODc3YzdjZmZwMCwKKyAgICAweDEuM2NhOTQ2ZTczNjg0NXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5iNDM5ZGYzYzI2NTkwODFkZjZhMzA4NWM4NzdjN2NmZnAwLAorICAgIC0weDEuM2NhOTQ2ZTczNjg0NXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLjEzODI5MWVhYmI5MmVmYmE5ZmUwZDk4NDlhODk3YWE1cC0zNDAsCisgICAgMHgxLjNmMWFhNGQ5ODQyNTZwLTEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjEzODI5MWVhYmI5MmVmYmE5ZmUwZDk4NDlhODk3YWE1cC0zNDAsCisgICAgLTB4MS4zZjFhYTRkOTg0MjU2cC0xMDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmI1Njk1ZDQ4NTBiZjAwMmY5M2E4OTUxODQwZmRiZGMxcC0xNCwKKyAgICAweDEuM2Y0cC00MAorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuYjU2OTVkNDg1MGJmMDAyZjkzYTg5NTE4NDBmZGJkYzFwLTE0LAorICAgIC0weDEuM2Y0cC00MAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS4xM2M0ODQxMzg3MDRlODEwMDY2MDUyMmZmNzE0ZDA2M3AtMiwKKyAgICAweDEuM2ZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuMTNjNDg0MTM4NzA0ZTgxMDA2NjA1MjJmZjcxNGQwNjNwLTIsCisgICAgLTB4MS4zZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmI2N2JjMzA3NWU0MTA3ZmEzZTcwZGU1ZDRmYTc1YjIwcDAsCisgICAgMHgxLjQxOWE0YTQ1OThmNWFwMgorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuYjY3YmMzMDc1ZTQxMDdmYTNlNzBkZTVkNGZhNzViMjBwMCwKKyAgICAtMHgxLjQxOWE0YTQ1OThmNWFwMgorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5iOTRhODY3ZDdkMzczMDRiZjM1MTgwMzYwYzhmMjZiYXAtMTEsCisgICAgMHgxLjQ3ZDFmNDdkMWY0NzFwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5iOTRhODY3ZDdkMzczMDRiZjM1MTgwMzYwYzhmMjZiYXAtMTEsCisgICAgLTB4MS40N2QxZjQ3ZDFmNDcxcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5iYTY5NDBmOTQ5YTVmODAyY2I1MWM3YzgzOGM3MzA4ZHAtMiwKKyAgICAweDEuNGE1Mjk0YTUyOTRhNXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuYmE2OTQwZjk0OWE1ZjgwMmNiNTFjN2M4MzhjNzMwOGRwLTIsCisgICAgLTB4MS40YTUyOTRhNTI5NGE1cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLjE3NjU4NjI0OTFiNTc3ZmZmZjY3NGZhYzUyZWU0MjhlcDAsCisgICAgMHgxLjRjY2NjY2NmNmNjODlwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuMTc2NTg2MjQ5MWI1NzdmZmZmNjc0ZmFjNTJlZTQyOGVwMCwKKyAgICAtMHgxLjRjY2NjY2NmNmNjODlwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS4xNzY1ODYyNGIzYjZhN2ZmZmY2NzM2OWVkNzI0YjkwYXAwLAorICAgIDB4MS40Y2NjY2NjZmU2NGJkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjE3NjU4NjI0YjNiNmE3ZmZmZjY3MzY5ZWQ3MjRiOTBhcDAsCisgICAgLTB4MS40Y2NjY2NjZmU2NGJkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMTc2NTg2MmNhOWVlNzgwMDAwOTczMDZiMTNlMGFkOWJwMCwKKyAgICAweDEuNGNjY2NjZWM1OWIyMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS4xNzY1ODYyY2E5ZWU3ODAwMDA5NzMwNmIxM2UwYWQ5YnAwLAorICAgIC0weDEuNGNjY2NjZWM1OWIyMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmMwNGQxMzc2YzM3ZTQ4MTdlMTgzMTViZDZhOWU4NWUzcC04LAorICAgIDB4MS41N2IxMjcyYmI4NDQxcC0yMgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuYzA0ZDEzNzZjMzdlNDgxN2UxODMxNWJkNmE5ZTg1ZTNwLTgsCisgICAgLTB4MS41N2IxMjcyYmI4NDQxcC0yMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5jMDZlYmJhMjZjY2Q1MDBhMGRlMDliNzljYzY0MGYzZHAtMSwKKyAgICAweDEuNTdmZTk1ZGJkN2QyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuYzA2ZWJiYTI2Y2NkNTAwYTBkZTA5Yjc5Y2M2NDBmM2RwLTEsCisgICAgLTB4MS41N2ZlOTVkYmQ3ZDI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmMwZTI5ZTNiNGE5ZTg3ZjQzYzRlYjlkMTNkZTIzYWVmcDAsCisgICAgMHgxLjU5MDk4YWU5MDQwODRwMgorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuYzBlMjllM2I0YTllODdmNDNjNGViOWQxM2RlMjNhZWZwMCwKKyAgICAtMHgxLjU5MDk4YWU5MDQwODRwMgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5jM2RiMDdlMWExNGFjODM4NDEyNTMyMDMwZDRkNGQ3OHAwLAorICAgIDB4MS41ZmVlYTc0MzAzZDM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMHgxLmMzZGIwN2UxYTE0YWM4Mzg0MTI1MzIwMzBkNGQ0ZDc4cDAsCisgICAgLTB4MS41ZmVlYTc0MzAzZDM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuNmQ3M2FiN2RmNGU0N2IwNzU4MmEzZWEwMDkyMTQ0MjhwLTE0LAorICAgIDB4MS43NDZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS42ZDczYWI3ZGY0ZTQ3YjA3NTgyYTNlYTAwOTIxNDQyOHAtMTQsCisgICAgLTB4MS43NDZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLjIyNjIyZGQxNWVkODlhOWY5MjJjNDJhMWIxMjg5NzY5cC0yLAorICAgIDB4MS43NWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjIyNjIyZGQxNWVkODlhOWY5MjJjNDJhMWIxMjg5NzY5cC0yLAorICAgIC0weDEuNzVhcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLmNkODUxNWI1NmNlYjNmNDE1NjFlZGM3NmM5YmYwMWIwcC0xNCwKKyAgICAweDEuNzcwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuY2Q4NTE1YjU2Y2ViM2Y0MTU2MWVkYzc2YzliZjAxYjBwLTE0LAorICAgIC0weDEuNzcwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5kNDQ5YjZkYmJjNDU5ODEyYmRkMjFmNzdjY2RmZDA0NXAtNCwKKyAgICAweDEuODdiZGIxN2VkM2QxZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLmQ0NDliNmRiYmM0NTk4MTJiZGQyMWY3N2NjZGZkMDQ1cC00LAorICAgIC0weDEuODdiZGIxN2VkM2QxZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuMjgwYTM2Y2Y2Mzc5ZWE4ZmRmYWZjODljYzlkNzcwOTFwLTcsCisgICAgMHgxLjhiZTJmOGJlMmY4YjFwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS4yODBhMzZjZjYzNzllYThmZGZhZmM4OWNjOWQ3NzA5MXAtNywKKyAgICAtMHgxLjhiZTJmOGJlMmY4YjFwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLjc1NDYwNjM5Zjg3MWI3ZmZmZjY3OWJiOTQ4ZDFlNTg1cDAsCisgICAgMHgxLjhjY2NjY2Q0MTkyOGFwMQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuNzU0NjA2MzlmODcxYjdmZmZmNjc5YmI5NDhkMWU1ODVwMCwKKyAgICAtMHgxLjhjY2NjY2Q0MTkyOGFwMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5kN2JkMDA4MDhmODMzN2Q5YTU5YmE3OGY3ZjFkNjc5MHAtMSwKKyAgICAweDEuOTA3NmM3NzViNTI3M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZDdiZDAwODA4ZjgzMzdkOWE1OWJhNzhmN2YxZDY3OTBwLTEsCisgICAgLTB4MS45MDc2Yzc3NWI1MjczcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmQ3ZTY0ZGM4MGY3MDk3ZjExMjk5OThkNGRhMjA5MDMxcC0xNCwKKyAgICAweDEuOTBlcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuZDdlNjRkYzgwZjcwOTdmMTEyOTk5OGQ0ZGEyMDkwMzFwLTE0LAorICAgIC0weDEuOTBlcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5kYTdjMmFiMDRmODhkN2U5OWVjYmZlY2YxYTUyNGJjYnAtMTQsCisgICAgMHgxLjk3OHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLmRhN2MyYWIwNGY4OGQ3ZTk5ZWNiZmVjZjFhNTI0YmNicC0xNCwKKyAgICAtMHgxLjk3OHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuZGFkNDlkMjQwOWMzNmZmMmQ0YzliOTk0YTE1NDdmNzlwLTQsCisgICAgMHgxLjk4NjQwYzQxZWMzNzhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS5kYWQ0OWQyNDA5YzM2ZmYyZDRjOWI5OTRhMTU0N2Y3OXAtNCwKKyAgICAtMHgxLjk4NjQwYzQxZWMzNzhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjc5ZWFmYTAzY2QwYzliNzA1NGNmNTE4NGYzNDMyMTg4cC0xLAorICAgIDB4MS45YmNiZDZkMjA0MjM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS43OWVhZmEwM2NkMGM5YjcwNTRjZjUxODRmMzQzMjE4OHAtMSwKKyAgICAtMHgxLjliY2JkNmQyMDQyMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuN2E0MTk3MDM2NWVlYmZmZTg0Nzc5ZDM2ZTViNTVmZjlwLTQsCisgICAgMHgxLjljZTczOWNlNzM5YzFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS43YTQxOTcwMzY1ZWViZmZlODQ3NzlkMzZlNWI1NWZmOXAtNCwKKyAgICAtMHgxLjljZTczOWNlNzM5YzFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmRkMTgyZjllY2NkMzM4MTU0ZGY1MmM4MDY4ZDIxYzU4cC00LAorICAgIDB4MS45ZTQyOWU5MmIwMWFhcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZGQxODJmOWVjY2QzMzgxNTRkZjUyYzgwNjhkMjFjNThwLTQsCisgICAgLTB4MS45ZTQyOWU5MmIwMWFhcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS43YjE4NGM5OWVhZmQ5ODA4MDAzOWYxOWNkYWJhOTU2NnAtMiwKKyAgICAweDEuOWZhN2U5ZmE3ZTlmOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuN2IxODRjOTllYWZkOTgwODAwMzlmMTljZGFiYTk1NjZwLTIsCisgICAgLTB4MS45ZmE3ZTlmYTdlOWY4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLjJjZjg4OGY4ZGIwMmU4MGNmNzhhMzJkNjBkYjkzMTBlcC0xLAorICAgIDB4MS5hcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS4yY2Y4ODhmOGRiMDJlODBjZjc4YTMyZDYwZGI5MzEwZXAtMSwKKyAgICAtMHgxLmFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuN2Q5ZDY2ODA1NGFmNzBhYjMwOGY0Y2NlNGYwNmRhMThwLTEyLAorICAgIDB4MS5hODBwLTM1CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS43ZDlkNjY4MDU0YWY3MGFiMzA4ZjRjY2U0ZjA2ZGExOHAtMTIsCisgICAgLTB4MS5hODBwLTM1CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLjdmODY3Y2E1YmY3ZmQ4MDAwMDk1ZDcwMDY1OWM0MTlicDEsCisgICAgMHgxLmFlNjY2NjY3ZWYyMTVwNAorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuN2Y4NjdjYTViZjdmZDgwMDAwOTVkNzAwNjU5YzQxOWJwMSwKKyAgICAtMHgxLmFlNjY2NjY3ZWYyMTVwNAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5lM2NlNDRhMWE5MWNiMDBkODAzZDM3Zjk1NzgxNGNkMHAtMSwKKyAgICAweDEuYWZmZDRhZDgxZDY3MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuZTNjZTQ0YTFhOTFjYjAwZDgwM2QzN2Y5NTc4MTRjZDBwLTEsCisgICAgLTB4MS5hZmZkNGFkODFkNjcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjgwNzkzNmE0OGEwZjQ3ZmZmZjhmMTVkN2Y3NDMzOTcycDEsCisgICAgMHgxLmIxOTk5OTliN2I5NWNwNAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuODA3OTM2YTQ4YTBmNDdmZmZmOGYxNWQ3Zjc0MzM5NzJwMSwKKyAgICAtMHgxLmIxOTk5OTliN2I5NWNwNAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5lNTkzOTFmMjM0MDBlMDAwODRkY2E4MDMzOGE4NjI2N3AtMTQsCisgICAgMHgxLmI0Y3AtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmU1OTM5MWYyMzQwMGUwMDA4NGRjYTgwMzM4YTg2MjY3cC0xNCwKKyAgICAtMHgxLmI0Y3AtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMzJlNGQyNTRlMGRjMjU1MjIxMzIzYTVjMDY4MzhhMWFwMCwKKyAgICAweDEuYjkwYmYzNjA0MDhiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS4zMmU0ZDI1NGUwZGMyNTUyMjEzMjNhNWMwNjgzOGExYXAwLAorICAgIC0weDEuYjkwYmYzNjA0MDhiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmU4NmM5ZjdmNDMwNjZmNTUyNDE3OTA0YWE2MTViOWEwcDMsCisgICAgMHgxLmJjN2FjYWQ4ZGQ1YWNwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLmU4NmM5ZjdmNDMwNjZmNTUyNDE3OTA0YWE2MTViOWEwcDMsCisgICAgLTB4MS5iYzdhY2FkOGRkNWFjcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmU5YjVkYmE1ODE4OWRiYmNhMGE2ZDc2ZTg3MGViYjU5cC0zNDgsCisgICAgMHgxLmNwLTEwNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLmU5YjVkYmE1ODE4OWRiYmNhMGE2ZDc2ZTg3MGViYjU5cC0zNDgsCisgICAgLTB4MS5jcC0xMDQyCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLmVhYzc4ODU3YmY1MGFmZmY1ZjkzZGQxMzQ1NzI0MTZkcC0xMSwKKyAgICAweDEuYzJmMGJjMmYwYmMyMXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLmVhYzc4ODU3YmY1MGFmZmY1ZjkzZGQxMzQ1NzI0MTZkcC0xMSwKKyAgICAtMHgxLmMyZjBiYzJmMGJjMjFwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLmVjMDViNTMyZGZhNWM2MmJlZTQyMzgxOGFiZTJiZWUxcC0xNCwKKyAgICAweDEuYzY2cC00MAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuZWMwNWI1MzJkZmE1YzYyYmVlNDIzODE4YWJlMmJlZTFwLTE0LAorICAgIC0weDEuYzY2cC00MAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5lZTZhOTk4NjRkZmZmN2Y5ZmE0ZDJhZDc0MjRlYWExNnAwLAorICAgIDB4MS5jZDBhNDNhMmVlYjU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLmVlNmE5OTg2NGRmZmY3ZjlmYTRkMmFkNzQyNGVhYTE2cDAsCisgICAgLTB4MS5jZDBhNDNhMmVlYjU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMzk0MzIwOTc1NWIzZDU1NmJiZGY3YjcxM2RiOTM5Y2JwMCwKKyAgICAweDEuZDUxM2I0YjZkMjI0ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS4zOTQzMjA5NzU1YjNkNTU2YmJkZjdiNzEzZGI5MzljYnAwLAorICAgIC0weDEuZDUxM2I0YjZkMjI0ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjM5NmJkYzYwYmRiNDFmMDE3MjJhMjdlMjkxMTIyYTAycDAsCisgICAgMHgxLmQ1Y2FjODA3NTcxNzhwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuMzk2YmRjNjBiZGI0MWYwMTcyMmEyN2UyOTExMjJhMDJwMCwKKyAgICAtMHgxLmQ1Y2FjODA3NTcxNzhwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS44YWUyZDk5YzY3YjIxZDRhMTA3Y2Q3MTgwY2I2MDQ3Y3AwLAorICAgIDB4MS5kNWNhYzgwNzU3MjM0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjhhZTJkOTljNjdiMjFkNGExMDdjZDcxODBjYjYwNDdjcDAsCisgICAgLTB4MS5kNWNhYzgwNzU3MjM0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuOGFlMmQ5OWM2N2IzYjBjMTc3ZjNiNGQwMjAwMTlkYjNwMCwKKyAgICAweDEuZDVjYWM4MDc1NzI4ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS44YWUyZDk5YzY3YjNiMGMxNzdmM2I0ZDAyMDAxOWRiM3AwLAorICAgIC0weDEuZDVjYWM4MDc1NzI4ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLmY1MWE2MjAzN2U5NTU1ZGYyMjRhMDllODQzMTYwNWVjcC0zNDgsCisgICAgMHgxLmVwLTEwNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmY1MWE2MjAzN2U5NTU1ZGYyMjRhMDllODQzMTYwNWVjcC0zNDgsCisgICAgLTB4MS5lcC0xMDQyCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLjhmMWFhNjY0Njk3NjQ4MDA1MDQwY2EwNTlkZWMyYWE3cDEsCisgICAgMHgxLmU1MDFmOTkxNGI0OTdwNAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuOGYxYWE2NjQ2OTc2NDgwMDUwNDBjYTA1OWRlYzJhYTdwMSwKKyAgICAtMHgxLmU1MDFmOTkxNGI0OTdwNAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS45MWQzODk2ODBkMjUyNTc4YzcxYmQ5NjllOWU1ZGY3Y3AtMTIsCisgICAgMHgxLmVmMHAtMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjkxZDM4OTY4MGQyNTI1NzhjNzFiZDk2OWU5ZTVkZjdjcC0xMiwKKyAgICAtMHgxLmVmMHAtMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuZmE5YzMxMzg1ODU2NzViNjMzYWM1MTliYmU3ZWI2Y2FwLTEsCisgICAgMHgxLmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLmZhOWMzMTM4NTg1Njc1YjYzM2FjNTE5YmJlN2ViNmNhcC0xLAorICAgIC0weDEuZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS45MmEyMDc3MWZmMTEyNTg0YTQ3OTAzODkxOTY1NjVkMXAwLAorICAgIDB4MS5mMWZjYTZjNTgzYzMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAtMHgxLjkyYTIwNzcxZmYxMTI1ODRhNDc5MDM4OTE5NjU2NWQxcDAsCisgICAgLTB4MS5mMWZjYTZjNTgzYzMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuZmQ3Y2Q5NmNlMTY0MzdmZGFlMWQ0YmZiNzg3YjQyNmZwLTE0LAorICAgIDB4MS5mODhwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5mZDdjZDk2Y2UxNjQzN2ZkYWUxZDRiZmI3ODdiNDI2ZnAtMTQsCisgICAgLTB4MS5mODhwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLmZlOWM4OTViYjMxODY4MWQwYjU0MDhkOTZkMWJlYWU1cC0xLAorICAgIDB4MS5mYmQ4N2ZjMzI3YTJkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS5mZTljODk1YmIzMTg2ODFkMGI1NDA4ZDk2ZDFiZWFlNXAtMSwKKyAgICAtMHgxLmZiZDg3ZmMzMjdhMmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuZmViMjcxZGViOTUxZjgyMDAwNGU5OTM0YmJiZjdlNDNwLTEsCisgICAgMHgxLmZjMTllMGY3MzRlZTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLmZlYjI3MWRlYjk1MWY4MjAwMDRlOTkzNGJiYmY3ZTQzcC0xLAorICAgIC0weDEuZmMxOWUwZjczNGVlMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS45NTgzNTQwZDhmZGFlMDY4ZjhjOWRkYjZjZWFiMGMzN3AtMTQsCisgICAgMHgxLmZjY3AtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLjk1ODM1NDBkOGZkYWUwNjhmOGM5ZGRiNmNlYWIwYzM3cC0xNCwKKyAgICAtMHgxLmZjY3AtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuZmVlZTVjY2EzYzQzYmZmNjE4MmFiZDZlYTgzYTYxMjVwLTEsCisgICAgMHgxLmZjY2NjY2NjY2NjY2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLmZlZWU1Y2NhM2M0M2JmZjYxODJhYmQ2ZWE4M2E2MTI1cC0xLAorICAgIC0weDEuZmNjY2NjY2NjY2NjZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS45NjE0M2UxMTc4YjZhMDJlMDE4OTllMTI5NmU5MTc1OXAtMiwKKyAgICAweDEuZmVlMjJlYjI5NGQxY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuOTYxNDNlMTE3OGI2YTAyZTAxODk5ZTEyOTZlOTE3NTlwLTIsCisgICAgLTB4MS5mZWUyMmViMjk0ZDFjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLmZmYTU0NTQyNWRhZDU4MDNhNGM1OTI1NzQ4Y2NlMmEwcC0zNDEsCisgICAgMHgxLmZlZWZmZmZmZmZmZmZwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLmZmYTU0NTQyNWRhZDU4MDNhNGM1OTI1NzQ4Y2NlMmEwcC0zNDEsCisgICAgLTB4MS5mZWVmZmZmZmZmZmZmcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLmZmYjQ5ZjkyNjNjZmE4MTRkOGJhNzdlYmJiOTc0Njc4cC00LAorICAgIDB4MS5mZjFlMDAwMDAwMDcwcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuZmZiNDlmOTI2M2NmYTgxNGQ4YmE3N2ViYmI5NzQ2NzhwLTQsCisgICAgLTB4MS5mZjFlMDAwMDAwMDcwcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5mZmM1YjMyMDNlYTkyODJlNGExMGFjZTM5NjNlMWZiYnAxLAorICAgIDB4MS5mZjUxMmQ0YTVkMmRjcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLmZmYzViMzIwM2VhOTI4MmU0YTEwYWNlMzk2M2UxZmJicDEsCisgICAgLTB4MS5mZjUxMmQ0YTVkMmRjcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuOTY1MjA3MzE1ZGM0OTAyYmQwNzZmY2Y0MDhhNzA5MDJwLTEsCisgICAgMHgxLmZmY2I4NDNhMGE2Y2JwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLjk2NTIwNzMxNWRjNDkwMmJkMDc2ZmNmNDA4YTcwOTAycC0xLAorICAgIC0weDEuZmZjYjg0M2EwYTZjYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS45NjUzMTY5ODI1ODA1MDJiYjgzYzU4Y2RhZWIzYTM2OXAwLAorICAgIDB4MS5mZmNmODVjYmYxMTc2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAtMHgxLjk2NTMxNjk4MjU4MDUwMmJiODNjNThjZGFlYjNhMzY5cDAsCisgICAgLTB4MS5mZmNmODVjYmYxMTc2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuNDI4MDFhZjZiM2EyYTYxZmY1ZmE3MWQwYTY4NDVhOWJwLTM0MCwKKyAgICAweDEuZmZjZmZmZmZmZmZmZnAtMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuNDI4MDFhZjZiM2EyYTYxZmY1ZmE3MWQwYTY4NDVhOWJwLTM0MCwKKyAgICAtMHgxLmZmY2ZmZmZmZmZmZmZwLTEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuOTY1ZmVhMTAxYzNjYWFhYzZlYWIyOTJhYTU3NjliY2FwLTE0LAorICAgIDB4MS5mZmZmZmVmZmZmZmZmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuOTY1ZmVhMTAxYzNjYWFhYzZlYWIyOTJhYTU3NjliY2FwLTE0LAorICAgIC0weDEuZmZmZmZlZmZmZmZmZnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuZmZmZmZmZjU1NTU1NGZjNzFjNzE4YzNmMzVhOTMzOWZwLTE0LAorICAgIDB4MS5mZmZmZmZkZmZmZmZmcC00MAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIC0weDEuZmZmZmZmZjU1NTU1NGZjNzFjNzE4YzNmMzVhOTMzOWZwLTE0LAorICAgIC0weDEuZmZmZmZmZGZmZmZmZnAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuOTY1ZmVhNGQ3ZDY0MWE4Njk5OWFkMmIxYjM4MTkyZDNwLTE0LAorICAgIDB4MS5mZmZmZmZlN2ZmZmZmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuOTY1ZmVhNGQ3ZDY0MWE4Njk5OWFkMmIxYjM4MTkyZDNwLTE0LAorICAgIC0weDEuZmZmZmZmZTdmZmZmZnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuOTY1ZmVhNGQ3ZDY0MWE4Njk5OWFkMmIxYjM4MTkyZDNwMCwKKyAgICAweDEuZmZmZmZmZTdmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgLTB4MS45NjVmZWE0ZDdkNjQxYTg2OTk5YWQyYjFiMzgxOTJkM3AwLAorICAgIC0weDEuZmZmZmZmZTdmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjk2NWZlYTRkN2Q2NDFhODY5OTlhZDJiMWIzODE5MmQzcDEzLAorICAgIDB4MS5mZmZmZmZlN2ZmZmZmcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS45NjVmZWE0ZDdkNjQxYTg2OTk5YWQyYjFiMzgxOTJkM3AxMywKKyAgICAtMHgxLmZmZmZmZmU3ZmZmZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuZmZmZmZmZmQ1NTU1NGZmYzcxYzcwZTMwZmNjODgxN2ZwLTE0LAorICAgIDB4MS5mZmZmZmZmN2ZmZmZmcC00MAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuZmZmZmZmZmQ1NTU1NGZmYzcxYzcwZTMwZmNjODgxN2ZwLTE0LAorICAgIC0weDEuZmZmZmZmZjdmZmZmZnAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuZmZmZmZmZmZmZmYzNGZmZmZmZmZmZmFmODM3ZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZkOWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmMzRmZmZmZmZmZmZhZjgzN2ZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmQ5ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmZmZmZmZjlmZmZmZmZmZmZmZWRmZmZmZmZmZnAtMzQxLAorICAgIDB4MS5mZmZmZmZmZmZmZWUwcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZjlmZmZmZmZmZmZmZWRmZmZmZmZmZnAtMzQxLAorICAgIC0weDEuZmZmZmZmZmZmZmVlMHAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS5mZmZmZmZmZmZmZmY5ZmZmZmZmZmZmZmZlZGZmZmZmZnAtMzQxLAorICAgIDB4MS5mZmZmZmZmZmZmZmVlcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS5mZmZmZmZmZmZmZmY5ZmZmZmZmZmZmZmZlZGZmZmZmZnAtMzQxLAorICAgIC0weDEuZmZmZmZmZmZmZmZlZXAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS45NjVmZWE1M2Q2ZTM4MDM0YjQxYWMxZmJkYWU5YTIyZnAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZWZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS45NjVmZWE1M2Q2ZTM4MDM0YjQxYWMxZmJkYWU5YTIyZnAtMTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmVmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS45NjVmZWE1M2Q2ZTM4MDM0YjQxYWMxZmJkYWU5YTIyZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmVmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLjk2NWZlYTUzZDZlMzgwMzRiNDFhYzFmYmRhZTlhMjJmcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmVmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuOTY1ZmVhNTNkNmUzODAzNGI0MWFjMWZiZGFlOWEyMmZwMTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZWZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjk2NWZlYTUzZDZlMzgwMzRiNDFhYzFmYmRhZTlhMjJmcDEzLAorICAgIC0weDEuZmZmZmZmZmZmZmZlZnA0MAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhOWM3MWM3MXAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhOWM3MWM3MXAtMTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC00MAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhOWM3MWM3MXAtMzQxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhOWM3MWM3MXAtMzQxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS40MjhhMmY5OGQ3MjhhNzZhMDc4Nzg3ZWY4ZmI1ZDU0YnAtMzQwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIwCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTB4MS40MjhhMmY5OGQ3MjhhNzZhMDc4Nzg3ZWY4ZmI1ZDU0YnAtMzQwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS45NjVmZWE1M2Q2ZTNiZmIzYjBiN2RiOGY3ZWMxN2QwZnAtMzQxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS45NjVmZWE1M2Q2ZTNiZmIzYjBiN2RiOGY3ZWMxN2QwZnAtMzQxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS4wY2U5ZDU3M2Y0M2I0NDI5Yjg5ZWM1Nzk0NWU1ZDQzNHAwLAorICAgIDB4MS4yOGJhMmU4YmEyZThjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLjBjZTlkNTczZjQzYjQ0MjliODllYzU3OTQ1ZTVkNDM0cDAsCisgICAgLTB4MS4yOGJhMmU4YmEyZThjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuMThiMTZmMDg2Mjg4ZDZmMDBjZTVjNTc4MGZjYjg2ZjBwMCwKKyAgICAweDEuNTE3NDVkMTc0NWQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTB4MS4xOGIxNmYwODYyODhkNmYwMGNlNWM1NzgwZmNiODZmMHAwLAorICAgIC0weDEuNTE3NDVkMTc0NWQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLjIzOGYyYzg0NzdhZGMwNDliNTE1YzdmNzhmM2FlNDIycDAsCisgICAgMHgxLjdhMmU4YmEyZThiYTRwMAorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuMjM4ZjJjODQ3N2FkYzA0OWI1MTVjN2Y3OGYzYWU0MjJwMCwKKyAgICAtMHgxLjdhMmU4YmEyZThiYTRwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS4yZGFiYjdlNDllMzlmZjJhMTBkZWRkYzMzYmM4MWZjY3AwLAorICAgIDB4MS5hMmU4YmEyZThiYTMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMHgxLjJkYWJiN2U0OWUzOWZmMmExMGRlZGRjMzNiYzgxZmNjcDAsCisgICAgLTB4MS5hMmU4YmEyZThiYTMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuMzcyNTc5ZmQwOGJmM2Y3NDBkNDI1ZTEyNWExMzUyZmZwMCwKKyAgICAweDEuY2JhMmU4YmEyZThiY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS4zNzI1NzlmZDA4YmYzZjc0MGQ0MjVlMTI1YTEzNTJmZnAwLAorICAgIC0weDEuY2JhMmU4YmEyZThiY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjQwMTNkYWM1ZGEyYTcwM2UxYzc3Y2E0NzIxYWNlZTFjcDAsCisgICAgMHgxLmY0NWQxNzQ1ZDE3NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEuNDAxM2RhYzVkYTJhNzAzZTFjNzdjYTQ3MjFhY2VlMWNwMCwKKyAgICAtMHgxLmY0NWQxNzQ1ZDE3NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS40ODg5NGM1MmIzNDQ1ZjZmODQwMTJmNDA1ZGUzMmZhMnAwLAorICAgIDB4MS4wZThiYTJlOGJhMmVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAtMHgxLjQ4ODk0YzUyYjM0NDVmNmY4NDAxMmY0MDVkZTMyZmEycDAsCisgICAgLTB4MS4wZThiYTJlOGJhMmVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuNTA5NGExZDZlNmI2MzkyMjljZGIzODEwYjQxMGNkNWNwMCwKKyAgICAweDEuMjJlOGJhMmU4YmEzMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS41MDk0YTFkNmU2YjYzOTIyOWNkYjM4MTBiNDEwY2Q1Y3AwLAorICAgIC0weDEuMjJlOGJhMmU4YmEzMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLjU4NDFmOGM2MWZkNThjOGRhZDA0ZmRlYzNjZjBhZjczcDAsCisgICAgMHgxLjM3NDVkMTc0NWQxNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEuNTg0MWY4YzYxZmQ1OGM4ZGFkMDRmZGVjM2NmMGFmNzNwMCwKKyAgICAtMHgxLjM3NDVkMTc0NWQxNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS41ZjliNWMxNjkxMGFlNjllZDA2ZDNlNjIxYTA5ZjE4NHAwLAorICAgIDB4MS40YmEyZThiYTJlOGJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLjVmOWI1YzE2OTEwYWU2OWVkMDZkM2U2MjFhMDlmMTg0cDAsCisgICAgLTB4MS40YmEyZThiYTJlOGJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuNjZhOTM5OGJhMmEzYTY5OGMwNTFkZjEwOWY3NzBlODhwMCwKKyAgICAweDEuNjAwMDAwMDAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS42NmE5Mzk4YmEyYTNhNjk4YzA1MWRmMTA5Zjc3MGU4OHAwLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjZkNzJiN2RjYzc2NzJjZmNlZjEwOTM5MzZlMmFmZTc5cDAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDhwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIC0weDEuNmQ3MmI3ZGNjNzY3MmNmY2VmMTA5MzkzNmUyYWZlNzlwMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDhwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS43M2ZkZjczOGU1NWUxNDczNmM4MGJkNTFiNzgxMmYzMHAwLAorICAgIDB4MS44OGJhMmU4YmEyZThlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLjczZmRmNzM4ZTU1ZTE0NzM2YzgwYmQ1MWI3ODEyZjMwcDAsCisgICAgLTB4MS44OGJhMmU4YmEyZThlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuN2E1MDQyNjlmM2Y4ZWFhY2ZlNjk4ODk5ZDcyZDU2MjRwMCwKKyAgICAweDEuOWQxNzQ1ZDE3NDVkNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS43YTUwNDI2OWYzZjhlYWFjZmU2OTg4OTlkNzJkNTYyNHAwLAorICAgIC0weDEuOWQxNzQ1ZDE3NDVkNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLjgwNmUzNGQ0YWY1NzFhOGVjMDQ4NThlOTI5NmU2ZjNicDAsCisgICAgMHgxLmIxNzQ1ZDE3NDVkMWFwMQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0weDEuODA2ZTM0ZDRhZjU3MWE4ZWMwNDg1OGU5Mjk2ZTZmM2JwMCwKKyAgICAtMHgxLmIxNzQ1ZDE3NDVkMWFwMQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS44NjViZDg0MTQ5MzA4NWU3ODEwM2RlYmU3YzFmOTNjOHAwLAorICAgIDB4MS5jNWQxNzQ1ZDE3NDYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLjg2NWJkODQxNDkzMDg1ZTc4MTAzZGViZTdjMWY5M2M4cDAsCisgICAgLTB4MS5jNWQxNzQ1ZDE3NDYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuOGMxY2JjN2NkNGU1NWU4ODZjYjRhOTRmNjM5NDFiNDRwMCwKKyAgICAweDEuZGEyZThiYTJlOGJhNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS44YzFjYmM3Y2Q0ZTU1ZTg4NmNiNGE5NGY2Mzk0MWI0NHAwLAorICAgIC0weDEuZGEyZThiYTJlOGJhNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjkxYjQwYTRkZjIxMTMyYzQ2N2Q4NjU1MzgwNzYwMGNkcDAsCisgICAgMHgxLmVlOGJhMmU4YmEyZWNwMQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuOTFiNDBhNGRmMjExMzJjNDY3ZDg2NTUzODA3NjAwY2RwMCwKKyAgICAtMHgxLmVlOGJhMmU4YmEyZWNwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS45NzI0OTJkMDhlMmM5OWQ5MDRiODNiZDhkOGI1YjdiN3AwLAorICAgIDB4MS4wMTc0NWQxNzQ1ZDE5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLjk3MjQ5MmQwOGUyYzk5ZDkwNGI4M2JkOGQ4YjViN2I3cDAsCisgICAgLTB4MS4wMTc0NWQxNzQ1ZDE5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuOWM3MGRjMDRiMjA2ZWM2Yjg1OGZiZWQ5NTg2NWJkYTBwMCwKKyAgICAweDEuMGJhMmU4YmEyZThiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS45YzcwZGMwNGIyMDZlYzZiODU4ZmJlZDk1ODY1YmRhMHAwLAorICAgIC0weDEuMGJhMmU4YmEyZThiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLmExOWIyYjI5MjkzMDZlNDE4YmM4NWNhMTRiNDcxMTU5cDAsCisgICAgMHgxLjE1ZDE3NDVkMTc0NWZwMgorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuYTE5YjJiMjkyOTMwNmU0MThiYzg1Y2ExNGI0NzExNTlwMCwKKyAgICAtMHgxLjE1ZDE3NDVkMTc0NWZwMgorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS5hNmE1OGQ1NWUzMDdjZDg2MjgwNmU3M2VhM2FhNzVkY3AwLAorICAgIDB4MS4yMDAwMDAwMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLmE2YTU4ZDU1ZTMwN2NkODYyODA2ZTczZWEzYWE3NWRjcDAsCisgICAgLTB4MS4yMDAwMDAwMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuYWI5MWRlYWVlNmU3Mzk4YTRkYjhkOTA4ZTFkMjBiNDJwMCwKKyAgICAweDEuMmEyZThiYTJlOGJhNXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS5hYjkxZGVhZWU2ZTczOThhNGRiOGQ5MDhlMWQyMGI0MnAwLAorICAgIC0weDEuMmEyZThiYTJlOGJhNXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgMHgxLmIwNjFkMDc0YWZiODgwOTM5OGZjODkwMjZmZDc1YTg1cDAsCisgICAgMHgxLjM0NWQxNzQ1ZDE3NDhwMgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuYjA2MWQwNzRhZmI4ODA5Mzk4ZmM4OTAyNmZkNzVhODVwMCwKKyAgICAtMHgxLjM0NWQxNzQ1ZDE3NDhwMgorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS5iNTE2ZWUyN2MyZDM1Y2Y1OWE3NTczMGY4OGYxNzNlMHAwLAorICAgIDB4MS4zZThiYTJlOGJhMmVicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLmI1MTZlZTI3YzJkMzVjZjU5YTc1NzMwZjg4ZjE3M2UwcDAsCisgICAgLTB4MS4zZThiYTJlOGJhMmVicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuYjliMmExZTlmOWRhMzM0NDkwZDQ4Y2IwMmNiNGJmNThwMCwKKyAgICAweDEuNDhiYTJlOGJhMmU4ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS5iOWIyYTFlOWY5ZGEzMzQ0OTBkNDhjYjAyY2I0YmY1OHAwLAorICAgIC0weDEuNDhiYTJlOGJhMmU4ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmJlMzYzODNmNDc1NmYxNmQ3NzdiZmVlMTQ2NWI5MDdlcDAsCisgICAgMHgxLjUyZThiYTJlOGJhMzFwMgorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuYmUzNjM4M2Y0NzU2ZjE2ZDc3N2JmZWUxNDY1YjkwN2VwMCwKKyAgICAtMHgxLjUyZThiYTJlOGJhMzFwMgorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5jMmEyZTM0OTA5OGUxY2UzY2YwOTBjODkyZWMwNDdjYXAwLAorICAgIDB4MS41ZDE3NDVkMTc0NWQ0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLmMyYTJlMzQ5MDk4ZTFjZTNjZjA5MGM4OTJlYzA0N2NhcDAsCisgICAgLTB4MS41ZDE3NDVkMTc0NWQ0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuYzZmOWJkOTFjNzIxNjI5ZDdkMDVhNTRhM2IzNGM4ZmVwMCwKKyAgICAweDEuNjc0NWQxNzQ1ZDE3N3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS5jNmY5YmQ5MWM3MjE2MjlkN2QwNWE1NGEzYjM0YzhmZXAwLAorICAgIC0weDEuNjc0NWQxNzQ1ZDE3N3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLmNiM2JjYzdiMTkwNTY4ZWRlMmUxMjc3NDM4Y2I3ZGMwcDAsCisgICAgMHgxLjcxNzQ1ZDE3NDVkMWFwMgorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIC0weDEuY2IzYmNjN2IxOTA1NjhlZGUyZTEyNzc0MzhjYjdkYzBwMCwKKyAgICAtMHgxLjcxNzQ1ZDE3NDVkMWFwMgorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5jZjZhMDI1YzQ4ZDQ3MDEzNjU1MDc1M2IwNjllYjY4NnAwLAorICAgIDB4MS43YmEyZThiYTJlOGJkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLmNmNmEwMjVjNDhkNDcwMTM2NTUwNzUzYjA2OWViNjg2cDAsCisgICAgLTB4MS43YmEyZThiYTJlOGJkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuZDM4NTQwNWQ5NzA1N2MyZDkwZTYzZjAxY2I4MDU4N2RwMCwKKyAgICAweDEuODVkMTc0NWQxNzQ2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS5kMzg1NDA1ZDk3MDU3YzJkOTBlNjNmMDFjYjgwNTg3ZHAwLAorICAgIC0weDEuODVkMTc0NWQxNzQ2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLmQ3OGU1ODFhMGMxMzBiNTVhOGZlMTdlNGMwNDE2OThjcDAsCisgICAgMHgxLjkwMDAwMDAwMDAwMDNwMgorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIC0weDEuZDc4ZTU4MWEwYzEzMGI1NWE4ZmUxN2U0YzA0MTY5OGNwMCwKKyAgICAtMHgxLjkwMDAwMDAwMDAwMDNwMgorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5kYjg2MGQxMDBkNzVmMmNiNjk3MjZlNzVlNWE1YTlhMHAwLAorICAgIDB4MS45YTJlOGJhMmU4YmE2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLmRiODYwZDEwMGQ3NWYyY2I2OTcyNmU3NWU1YTVhOWEwcDAsCisgICAgLTB4MS45YTJlOGJhMmU4YmE2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuZGY2ZDE1ZTc5NWFmMDJhOWM1NDg0MDUwYjg0N2RiN2RwMCwKKyAgICAweDEuYTQ1ZDE3NDVkMTc0OXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS5kZjZkMTVlNzk1YWYwMmE5YzU0ODQwNTBiODQ3ZGI3ZHAwLAorICAgIC0weDEuYTQ1ZDE3NDVkMTc0OXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLmUzNDQxZDkzZDRhNmU0MzUwYzIyM2MyNDA4NzgzODJjcDAsCisgICAgMHgxLmFlOGJhMmU4YmEyZWNwMgorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuZTM0NDFkOTNkNGE2ZTQzNTBjMjIzYzI0MDg3ODM4MmNwMCwKKyAgICAtMHgxLmFlOGJhMmU4YmEyZWNwMgorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS5lNzBiYzQ1NTE2Nzg0M2FmZjYyOWI3NDZhY2ZkYjk1NHAwLAorICAgIDB4MS5iOGJhMmU4YmEyZThmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLmU3MGJjNDU1MTY3ODQzYWZmNjI5Yjc0NmFjZmRiOTU0cDAsCisgICAgLTB4MS5iOGJhMmU4YmEyZThmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuZWFjNGEwOWYxMDJkYzU0MzkyZTJkNDQ3M2Q4NTkwOGNwMCwKKyAgICAweDEuYzJlOGJhMmU4YmEzMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgLTB4MS5lYWM0YTA5ZjEwMmRjNTQzOTJlMmQ0NDczZDg1OTA4Y3AwLAorICAgIC0weDEuYzJlOGJhMmU4YmEzMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLmVlNmYzZmU3MTQzNDg3MzQ1YTViZGQwNTUwMDI2NjBjcDAsCisgICAgMHgxLmNkMTc0NWQxNzQ1ZDVwMgorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuZWU2ZjNmZTcxNDM0ODczNDVhNWJkZDA1NTAwMjY2MGNwMCwKKyAgICAtMHgxLmNkMTc0NWQxNzQ1ZDVwMgorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS5mMjBjMjc1ZDJkMDJmZWQ1MzU4ZjFjYmY2YmRlMjFmNnAwLAorICAgIDB4MS5kNzQ1ZDE3NDVkMTc4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLmYyMGMyNzVkMmQwMmZlZDUzNThmMWNiZjZiZGUyMWY2cDAsCisgICAgLTB4MS5kNzQ1ZDE3NDVkMTc4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuZjU5YmQ0OTJhZWNiODFlOGY5MjJkZmIwYTA3MGIyMmNwMCwKKyAgICAweDEuZTE3NDVkMTc0NWQxYnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgLTB4MS5mNTliZDQ5MmFlY2I4MWU4ZjkyMmRmYjBhMDcwYjIyY3AwLAorICAgIC0weDEuZTE3NDVkMTc0NWQxYnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLmY5MWViZTEwNzUxMzE2MDdlMWRiYzNjZTIzOWQwMGQycDAsCisgICAgMHgxLmViYTJlOGJhMmU4YmVwMgorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIC0weDEuZjkxZWJlMTA3NTEzMTYwN2UxZGJjM2NlMjM5ZDAwZDJwMCwKKyAgICAtMHgxLmViYTJlOGJhMmU4YmVwMgorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS5mYzk1NTNkZWIzODliYjA0MmFjMGU0M2QyZGNiNjc1ZHAwLAorICAgIDB4MS5mNWQxNzQ1ZDE3NDYxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAtMHgxLmZjOTU1M2RlYjM4OWJiMDQyYWMwZTQzZDJkY2I2NzVkcDAsCisgICAgLTB4MS5mNWQxNzQ1ZDE3NDYxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEucDEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEucDEsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwMzMsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AzMywKKyAgICAtMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjRjZjM4ZmExYWYxYzhlNjBiOTlhYjFjOTBhNzAxODI4cDMzLAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIC0weDEuNGNmMzhmYTFhZjFjOGU2MGI5OWFiMWM5MGE3MDE4MjhwMzMsCisgICAgLTB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS41NmJmZWE2NmVmNzhkNTA3NDY1N2IzZGVlNDJiNWUwY3AzMywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAtMHgxLjU2YmZlYTY2ZWY3OGQ1MDc0NjU3YjNkZWU0MmI1ZTBjcDMzLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuNjAwNDgzNjVkNGM5ZmY5YjY3ZjkzNDk4ZjMzNzg1ZWFwMzMsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgLTB4MS42MDA0ODM2NWQ0YzlmZjliNjdmOTM0OThmMzM3ODVlYXAzMywKKyAgICAtMHgxLjRjY2NjY2NjY2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjY4ZDI1YTliZGY0ODNjNjIyYTI2ODU5MTgzMmI5ZTBjcDMzLAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuNjhkMjVhOWJkZjQ4M2M2MjJhMjY4NTkxODMyYjllMGNwMzMsCisgICAgLTB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS43MTM3NDQ5MTIzZWY3MDBmNjc4MzFlZTE2OWEwZjg1OXAzMywKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAtMHgxLjcxMzc0NDkxMjNlZjcwMGY2NzgzMWVlMTY5YTBmODU5cDMzLAorICAgIC0weDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuNzkzZWFjZTFhMzQyNmMyYWIzMWYwZjcyNDJjYmRhMDRwMzMsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgLTB4MS43OTNlYWNlMWEzNDI2YzJhYjMxZjBmNzI0MmNiZGEwNHAzMywKKyAgICAtMHgxLjk5OTk5OTk5OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjgwZjIyMTA5ZGY0ZTlhYWJmMTVhYTQyYjA5YTU2ZmU0cDMzLAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIC0weDEuODBmMjIxMDlkZjRlOWFhYmYxNWFhNDJiMDlhNTZmZTRwMzMsCisgICAgLTB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS44ODU5YjViZDdlNDZkMGIxNjcyOTM0OGNkYzcyYzg1MXAzMywKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAtMHgxLjg4NTliNWJkN2U0NmQwYjE2NzI5MzQ4Y2RjNzJjODUxcDMzLAorICAgIC0weDEuY2NjY2NjY2NjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuOGY3YzUyNjQwMDM4MDg1OTliMTZlOGJiZmEyOTBlZjZwMzMsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgLTB4MS44ZjdjNTI2NDAwMzgwODU5OWIxNmU4YmJmYTI5MGVmNnAzMywKKyAgICAtMHgxLmU2NjY2NjY2NjY2NmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcDMzLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIC0weDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwMzMsCisgICAgLTB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXA2NiwKKyAgICAweDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcDY2LAorICAgIC0weDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuYTM3ZTEzZGM0YjNiYmRjOWYwNzBiYmNjYWVlOWU3MDhwNjYsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgLTB4MS5hMzdlMTNkYzRiM2JiZGM5ZjA3MGJiY2NhZWU5ZTcwOHA2NiwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OWFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLmFmZDY2ODAzYjJjMGNiMjhiODE0OWI2M2YyZTViOGU5cDY2LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIC0weDEuYWZkNjY4MDNiMmMwY2IyOGI4MTQ5YjYzZjJlNWI4ZTlwNjYsCisgICAgLTB4MS4zMzMzMzMzMzMzMzM0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS5iYjgzYjEyN2U5MzQzOTZkZTUwMDJmMjY4NDU2OTNjMnA2NiwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAtMHgxLmJiODNiMTI3ZTkzNDM5NmRlNTAwMmYyNjg0NTY5M2MycDY2LAorICAgIC0weDEuNGNjY2NjY2NjY2NjZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuYzY5YjVhNzJmMWE5YTNkNTI5N2RmYTA3MTMyOWQzMDNwNjYsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgLTB4MS5jNjliNWE3MmYxYTlhM2Q1Mjk3ZGZhMDcxMzI5ZDMwM3A2NiwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NjhwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLmQxMmVkMGFmMWEyN2ZjMjlhMzQxMjk1YjgyMjU0NDE3cDY2LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuZDEyZWQwYWYxYTI3ZmMyOWEzNDEyOTViODIyNTQ0MTdwNjYsCisgICAgLTB4MS44MDAwMDAwMDAwMDAycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIDB4MS5kYjRjNzc2MGJjZmYzNjY1YjdmNjhhZWQ4NTRlNzg5YnA2NiwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAtMHgxLmRiNGM3NzYwYmNmZjM2NjViN2Y2OGFlZDg1NGU3ODlicDY2LAorICAgIC0weDEuOTk5OTk5OTk5OTk5Y3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuZTUwMDU3YTY4MTkwMzIzNDJmMGIxOTY0N2Y3MGZjODdwNjYsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgLTB4MS5lNTAwNTdhNjgxOTAzMjM0MmYwYjE5NjQ3ZjcwZmM4N3A2NiwKKyAgICAtMHgxLmIzMzMzMzMzMzMzMzZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLmVlNTQ5ZmU3MDg1ZTg3ZTU5Y2E2YTQzNjMxMTY2ZWU0cDY2LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuZWU1NDlmZTcwODVlODdlNTljYTZhNDM2MzExNjZlZTRwNjYsCisgICAgLTB4MS5jY2NjY2NjY2NjY2QwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS5mNzUyMDJlYzg2ZTBjNDdhNmIwNWMyMjlhNmI1OGM2NHA2NiwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAtMHgxLmY3NTIwMmVjODZlMGM0N2E2YjA1YzIyOWE2YjU4YzY0cDY2LAorICAgIC0weDEuZTY2NjY2NjY2NjY2YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEucDY3LAorICAgIDB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIC0weDEucDY3LAorICAgIC0weDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDAKKyAgICAweDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwMzMzLAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcDMzMywKKyAgICAtMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS40Y2YzOGZhMWFmMWM4ZTYwYjk5YWIxYzkwYTcwMTgyOHAzMzMsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIC0weDEuNGNmMzhmYTFhZjFjOGU2MGI5OWFiMWM5MGE3MDE4MjhwMzMzLAorICAgIC0weDEuMTk5OTk5OTk5OTk5YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMHgxLjU2YmZlYTY2ZWY3OGQ1MDc0NjU3YjNkZWU0MmI1ZTBjcDMzMywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgLTB4MS41NmJmZWE2NmVmNzhkNTA3NDY1N2IzZGVlNDJiNWUwY3AzMzMsCisgICAgLTB4MS4zMzMzMzMzMzMzMzM0cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuNjAwNDgzNjVkNGM5ZmY5YjY3ZjkzNDk4ZjMzNzg1ZWFwMzMzLAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAtMHgxLjYwMDQ4MzY1ZDRjOWZmOWI2N2Y5MzQ5OGYzMzc4NWVhcDMzMywKKyAgICAtMHgxLjRjY2NjY2NjY2NjY2VwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS42OGQyNWE5YmRmNDgzYzYyMmEyNjg1OTE4MzJiOWUwY3AzMzMsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIC0weDEuNjhkMjVhOWJkZjQ4M2M2MjJhMjY4NTkxODMyYjllMGNwMzMzLAorICAgIC0weDEuNjY2NjY2NjY2NjY2OHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLjcxMzc0NDkxMjNlZjcwMGY2NzgzMWVlMTY5YTBmODU5cDMzMywKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgLTB4MS43MTM3NDQ5MTIzZWY3MDBmNjc4MzFlZTE2OWEwZjg1OXAzMzMsCisgICAgLTB4MS44MDAwMDAwMDAwMDAycDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuNzkzZWFjZTFhMzQyNmMyYWIzMWYwZjcyNDJjYmRhMDRwMzMzLAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAtMHgxLjc5M2VhY2UxYTM0MjZjMmFiMzFmMGY3MjQyY2JkYTA0cDMzMywKKyAgICAtMHgxLjk5OTk5OTk5OTk5OWNwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIDB4MS44MGYyMjEwOWRmNGU5YWFiZjE1YWE0MmIwOWE1NmZlNHAzMzMsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIC0weDEuODBmMjIxMDlkZjRlOWFhYmYxNWFhNDJiMDlhNTZmZTRwMzMzLAorICAgIC0weDEuYjMzMzMzMzMzMzMzNnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLjg4NTliNWJkN2U0NmQwYjE2NzI5MzQ4Y2RjNzJjODUxcDMzMywKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgLTB4MS44ODU5YjViZDdlNDZkMGIxNjcyOTM0OGNkYzcyYzg1MXAzMzMsCisgICAgLTB4MS5jY2NjY2NjY2NjY2QwcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuOGY3YzUyNjQwMDM4MDg1OTliMTZlOGJiZmEyOTBlZjZwMzMzLAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAtMHgxLjhmN2M1MjY0MDAzODA4NTk5YjE2ZThiYmZhMjkwZWY2cDMzMywKKyAgICAtMHgxLmU2NjY2NjY2NjY2NmFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIDB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXAzMzMsCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIC0weDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwMzMzLAorICAgIC0weDEuMHAxMDAxCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgMHgxLjk2NWZlYTUzZDZlM2MzZWY1YjI4YmIyMWRlNGU3N2M2cDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIC0weDEuOTY1ZmVhNTNkNmUzYzNlZjViMjhiYjIxZGU0ZTc3YzZwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXAwLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcDAsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuOTY1ZmVhNTNkNmUzZDBhMjVhN2I1OWQ4ZmM2ZGYyYTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgLTB4MS45NjVmZWE1M2Q2ZTNkMGEyNWE3YjU5ZDhmYzZkZjJhMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFhYzYyMmIxMWY4MmE2ZjY2NmM5cDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIC0weDEuNDI4YTJmOThkNzI4YWFjNjIyYjExZjgyYTZmNjY2YzlwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIDB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcDAsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuNDI4YTJmOThkNzI4YjRkYTc0MmRlNjNiZWM0Yzk3ZGVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgLTB4MS40MjhhMmY5OGQ3MjhiNGRhNzQyZGU2M2JlYzRjOTdkZXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhOWM3MWM3cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYTljNzFjN3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEucDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTUzOGUzOGVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwNTU1NTU1NTU1NTU1NTM4ZTM4ZXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgMHgxLjk2NWZlYTUzZDZlM2MzZWY1YjI4YmIyMWRlNGU3N2M2cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgLTB4MS45NjVmZWE1M2Q2ZTNjM2VmNWIyOGJiMjFkZTRlNzdjNnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcC0xLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIDB4MS45NjVmZWE1M2Q2ZTNkMGEyNWE3YjU5ZDhmYzZkZjJhMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIC0weDEuOTY1ZmVhNTNkNmUzZDBhMjVhN2I1OWQ4ZmM2ZGYyYTBwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFhYzYyMmIxMWY4MmE2ZjY2NmM5cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgLTB4MS40MjhhMmY5OGQ3MjhhYWM2MjJiMTFmODJhNmY2NjZjOXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwLTEsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0xLAorICAgIC0weDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS40MjhhMmY5OGQ3MjhiNGRhNzQyZGU2M2JlYzRjOTdkZXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIC0weDEuNDI4YTJmOThkNzI4YjRkYTc0MmRlNjNiZWM0Yzk3ZGVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhOWM3MWM3cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYTljNzFjN3AtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEucC0xLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgLTB4MS5wLTEsCisgICAgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgMHgxLjAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1MzhlMzhlcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwNTU1NTU1NTU1NTU1NTM4ZTM4ZXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuOTY1ZmVhNTNkNmUzYzNlZjViMjhiYjIxZGU0ZTc3YzZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2MzZWY1YjI4YmIyMWRlNGU3N2M2cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXAtMiwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwLTIsCisgICAgLTB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgMHgxLjk2NWZlYTUzZDZlM2QwYTI1YTdiNTlkOGZjNmRmMmEwcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgLTB4MS45NjVmZWE1M2Q2ZTNkMGEyNWE3YjU5ZDhmYzZkZjJhMHAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuNDI4YTJmOThkNzI4YWFjNjIyYjExZjgyYTZmNjY2YzlwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFhYzYyMmIxMWY4MmE2ZjY2NmM5cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AtMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwLTIsCisgICAgLTB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgMHgxLjQyOGEyZjk4ZDcyOGI0ZGE3NDJkZTYzYmVjNGM5N2RlcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgLTB4MS40MjhhMmY5OGQ3MjhiNGRhNzQyZGU2M2JlYzRjOTdkZXAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWE5YzcxYzdwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhOWM3MWM3cC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5wLTIsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTUzOGUzOGVwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1MzhlMzhlcC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS5wLTM1OCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIC0weDEucC0zNTgsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgLTB4MS5wLTM1OCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAweDEucC0zNTgsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEuNDI4YTJmOThkNzI4YWFjNjIyYjExZjgyYTZmNjY2YzlwMzQxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFhYzYyMmIxMWY4MmE2ZjY2NmM5cDM0MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIC0weDEuNDI4YTJmOThkNzI4YWFjNjIyYjExZjgyYTZmNjY2YzlwMzQxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLjQyOGEyZjk4ZDcyOGFhYzYyMmIxMWY4MmE2ZjY2NmM5cDM0MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFhYzYyMmIxMWY4MmE2ZjY2NmM5cDM0MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS40MjhhMmY5OGQ3MjhhYWM2MjJiMTFmODJhNmY2NjZjOXAzNDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuNDI4YTJmOThkNzI4YTc2YTA3ODc4N2VmOGZiNWQ1NGJwMzQxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGE3NmEwNzg3ODdlZjhmYjVkNTRicDM0MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS43NmVmN2U3MzEwNGI3NzUwODMzMTMxMjg3MWMxYmFlYXAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAtMHgxLjc2ZWY3ZTczMTA0Yjc3NTA4MzMxMzEyODcxYzFiYWVhcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEuMjk5NjI2NGUwZTNmZGI1NGQzYWIyNTExNDZhMjQwMjdwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS4yOTk2MjY0ZTBlM2ZkYjU0ZDNhYjI1MTE0NmEyNDAyN3AwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMHgxLmQ4NjM5ZmRjYjYwZWEwYjg3MTIzOGFkMDI4NjM3ZDlmcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgLTB4MS5kODYzOWZkY2I2MGVhMGI4NzEyMzhhZDAyODYzN2Q5ZnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAweDEucDEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC0weDEucDEsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwMCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgLTB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AwLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1MzhlMzhlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIC0weDEuMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTUzOGUzOGVwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYTljNzFjN3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWE5YzcxYzdwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLjQyOGEyZjk4ZDcyOGI0ZGE3NDJkZTYzYmVjNGM5N2RlcC0zNDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGI0ZGE3NDJkZTYzYmVjNGM5N2RlcC0zNDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0zNDEsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0zNDEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjQyOGEyZjk4ZDcyOGE3NmEwNzg3ODdlZjhmYjVkNTRicC0zNDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGE3NmEwNzg3ODdlZjhmYjVkNTRicC0zNDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLjQyOGEyZjk4ZDcyOGEwYjFkMTM0NThjOTYwZmVmMDljcC0zNDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGEwYjFkMTM0NThjOTYwZmVmMDljcC0zNDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0zNTgsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0zNTgsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLnAtMzU4LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgLTB4MS5wLTM1OCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLjgwcDEsCisgICAgMHgxLmJwNAorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLmJwNAorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS40MHAyLAorICAgIDB4MS5mNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIC0weDEuNDBwMiwKKyAgICAtMHgxLmY0MHA2CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvY2JydGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2NicnRmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2U3M2RmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2NicnRmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE3NTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxmbG9hdCwgZmxvYXQ+IGdfY2JydGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjAwMDA3ZmZmYzAwMDM1NTUyMDAwM2FhYTY2MzkzNmFhcC00MiwKKyAgICAtMHgxLjAwMDE4MHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4wMDAwN2ZmZmMwMDAzNTU1MjAwMDNhYWE2NjM5MzZhYXAtNDIsCisgICAgMHgxLjAwMDE4MHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuMDAwMGZmZmYwMDAxYWFhNzU1NWNhYTk5OGU2MjcxNWZwLTIsCisgICAgLTB4MS4wMDAzcC02CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS4wMDAwZmZmZjAwMDFhYWE3NTU1Y2FhOTk4ZTYyNzE1ZnAtMiwKKyAgICAweDEuMDAwM3AtNgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjAwN2MyNzE1YjY5MTE3OTUxNThhNGQ0Y2M0NWI4ZDU5cDIsCisgICAgLTB4MS4wMTc1MmFwNgorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuMDA3YzI3MTViNjkxMTc5NTE1OGE0ZDRjYzQ1YjhkNTlwMiwKKyAgICAweDEuMDE3NTJhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS4wYjljY2QwNjAxMWZjZTM2M2I3YTUwYTBhM2I4ZTI2Y3AxLAorICAgIC0weDEuMjQ3MTEycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjBiOWNjZDA2MDExZmNlMzYzYjdhNTBhMGEzYjhlMjZjcDEsCisgICAgMHgxLjI0NzExMnAzCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuYWE4NjNiMGEzOGQwMGUxMjVjYmQxNzNmNjBkZGJiNjhwMSwKKyAgICAtMHgxLjI3ZmZmOHA1CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5hYTg2M2IwYTM4ZDAwZTEyNWNiZDE3M2Y2MGRkYmI2OHAxLAorICAgIDB4MS4yN2ZmZjhwNQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5iMGZmNGIwY2Y1MzBiZTJkZTQ1MDU0OWY5ODVmNDJhZnAtMywKKyAgICAtMHgxLjM1YWU4MHAtNworICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmIwZmY0YjBjZjUzMGJlMmRlNDUwNTQ5Zjk4NWY0MmFmcC0zLAorICAgIDB4MS4zNWFlODBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIC0weDEuZDMwZDRkMDAyN2EzMzllMzM1NWI2YWNjMWQxNmI4NThwLTExLAorICAgIC0weDEuODRhNWI2cC0zMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmQzMGQ0ZDAwMjdhMzM5ZTMzNTViNmFjYzFkMTZiODU4cC0xMSwKKyAgICAweDEuODRhNWI2cC0zMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS43YmM3NDYwMDk4YTI0ZmI0NjlmNjBkZWRkMGMxMTNjZXAtNCwKKyAgICAtMHgxLmExZTg4MHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS43YmM3NDYwMDk4YTI0ZmI0NjlmNjBkZWRkMGMxMTNjZXAtNCwKKyAgICAweDEuYTFlODgwcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS5lMTg3MThmZDJiNWU1MzA3MDQ4ZDQ0MTc0NDk0NjdiNnAtMTEsCisgICAgLTB4MS5hOWVhODBwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuZTE4NzE4ZmQyYjVlNTMwNzA0OGQ0NDE3NDQ5NDY3YjZwLTExLAorICAgIDB4MS5hOWVhODBwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLmUzMDgyYmUzMzI2ZGE2YzIzYWUzMzhhM2YxMjFkZDFmcC0xMSwKKyAgICAtMHgxLmFkZWI4MHAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5lMzA4MmJlMzMyNmRhNmMyM2FlMzM4YTNmMTIxZGQxZnAtMTEsCisgICAgMHgxLmFkZWI4MHAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS45NjVmZjcwNmQ1ZDBjZWVjZDk3OWYyNWQyYmQwZjJkY3AtMTQsCisgICAgMHgxLjAwMDAxOHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIC0weDEuOTY1ZmY3MDZkNWQwY2VlY2Q5NzlmMjVkMmJkMGYyZGNwLTE0LAorICAgIC0weDEuMDAwMDE4cC00MAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjk2NjAyZTBlNzJhN2ZkZjE1ZTMzMTQ1YWY2ZjI2M2Q4cDAsCisgICAgMHgxLjAwMDA4MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMHgxLjk2NjAyZTBlNzJhN2ZkZjE1ZTMzMTQ1YWY2ZjI2M2Q4cDAsCisgICAgLTB4MS4wMDAwODBwMgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjk2NjAzZWZkMTYxMWZmOGVhMTkwY2VmZDAyOGY0NTA2cC0xNCwKKyAgICAweDEuMDAwMGEwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS45NjYwM2VmZDE2MTFmZjhlYTE5MGNlZmQwMjhmNDUwNnAtMTQsCisgICAgLTB4MS4wMDAwYTBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuMDAwMDNmZmZmMDAwMDZhYWE3NTU1NzJhYTk5OGU0MzRwLTIsCisgICAgMHgxLjAwMDBjMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS4wMDAwM2ZmZmYwMDAwNmFhYTc1NTU3MmFhOTk4ZTQzNHAtMiwKKyAgICAtMHgxLjAwMDBjMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjk2NjA2MGRhNThhYTVkMGM1NzMzNGE5YTY4MGMzZTE0cC0xNCwKKyAgICAweDEuMDAwMGUwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS45NjYwNjBkYTU4YWE1ZDBjNTczMzRhOWE2ODBjM2UxNHAtMTQsCisgICAgLTB4MS4wMDAwZTBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuNDI4YWQwZGQ5ZTUyZDEwMjNiMmZhY2EyODEwNDlkMjNwLTQyLAorICAgIDB4MS4wMDAxODBwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS40MjhhZDBkZDllNTJkMTAyM2IyZmFjYTI4MTA0OWQyM3AtNDIsCisgICAgLTB4MS4wMDAxODBwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjAwMDA3ZmZmYzAwMDM1NTUyMDAwM2FhYTY2MzkzNmFhcC00MiwKKyAgICAweDEuMDAwMTgwcC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuMDAwMDdmZmZjMDAwMzU1NTIwMDAzYWFhNjYzOTM2YWFwLTQyLAorICAgIC0weDEuMDAwMTgwcC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS45NjYxMThmZDBmZmY0YWYxMDE2Nzg2YzUyNDczZDczOXAwLAorICAgIDB4MS4wMDAyM2NwMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS45NjYxMThmZDBmZmY0YWYxMDE2Nzg2YzUyNDczZDczOXAwLAorICAgIC0weDEuMDAwMjNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS4wMDAwZmZmZjAwMDFhYWE3NTU1Y2FhOTk4ZTYyNzE1ZnAtMiwKKyAgICAweDEuMDAwM3AtNgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTB4MS4wMDAwZmZmZjAwMDFhYWE3NTU1Y2FhOTk4ZTYyNzE1ZnAtMiwKKyAgICAtMHgxLjAwMDNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS45NjYxYzQ2YzNmMmFjY2JjM2IyODc5ZWNjNjRjNTU2M3AtNDIsCisgICAgMHgxLjAwMDM4MHAtMTI0CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjk2NjFjNDZjM2YyYWNjYmMzYjI4NzllY2M2NGM1NTYzcC00MiwKKyAgICAtMHgxLjAwMDM4MHAtMTI0CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuMDAwOTU0ZmUzZTJlM2IzZmMyMDNjMGYxMTIyZWY1MjVwLTIsCisgICAgMHgxLjAwMWNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuMDAwOTU0ZmUzZTJlM2IzZmMyMDNjMGYxMTIyZWY1MjVwLTIsCisgICAgLTB4MS4wMDFjcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuMDAwZmZmMDAxYWE3NTVjYTk5OTBkMTVmNDk3OGMzMTlwLTEsCisgICAgMHgxLjAwMzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuMDAwZmZmMDAxYWE3NTVjYTk5OTBkMTVmNDk3OGMzMTlwLTEsCisgICAgLTB4MS4wMDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuMDAwZmZmMDAxYWE3NTVjYTk5OTBkMTVmNDk3OGMzMTlwLTIsCisgICAgMHgxLjAwMzBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuMDAwZmZmMDAxYWE3NTVjYTk5OTBkMTVmNDk3OGMzMTlwLTIsCisgICAgLTB4MS4wMDMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuOTZlOTRlZmUzYmI0ZjAzMWY2ZmQyOTc2NGMxODdiYTlwLTE0LAorICAgIDB4MS4wMTA0cC00MAorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS45NmU5NGVmZTNiYjRmMDMxZjZmZDI5NzY0YzE4N2JhOXAtMTQsCisgICAgLTB4MS4wMTA0cC00MAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjQzNTRmNDcwNDZiMTIyYzgyNjljZWZhMzNmNjk0NWUwcC0xMiwKKyAgICAweDEuMDFlNHAtMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuNDM1NGY0NzA0NmIxMjJjODI2OWNlZmEzM2Y2OTQ1ZTBwLTEyLAorICAgIC0weDEuMDFlNHAtMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS40MzVjZTRmZmU1ZGYwZWQ2MTg2ZjM3YzhjZDU1ZGZjZHAtMTQsCisgICAgMHgxLjAxZjdwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLjQzNWNlNGZmZTVkZjBlZDYxODZmMzdjOGNkNTVkZmNkcC0xNCwKKyAgICAtMHgxLjAxZjdwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuNDNkYTZiMDAwMDVjMzliMGU2YzdjNGNlYzgwNjNmNDVwMCwKKyAgICAweDEuMDMyM2RlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuNDNkYTZiMDAwMDVjMzliMGU2YzdjNGNlYzgwNjNmNDVwMCwKKyAgICAtMHgxLjAzMjNkZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuOTk4Y2E1ZmQ5MDc5YzBhY2Y4ZDBjNDcwNTUxODE1YzRwLTE0LAorICAgIDB4MS4wNjBjcC00MAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS45OThjYTVmZDkwNzljMGFjZjhkMGM0NzA1NTE4MTVjNHAtMTQsCisgICAgLTB4MS4wNjBjcC00MAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjk5OGViYjcxZWFmNTRmMmI2MzY2MzY3OGFjZDljMWIwcC0xNCwKKyAgICAweDEuMDYxMHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuOTk4ZWJiNzFlYWY1NGYyYjYzNjYzNjc4YWNkOWMxYjBwLTE0LAorICAgIC0weDEuMDYxMHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS40NTRmNzcwMDAwMDA5YTc3YjY2NzU4NjIwMjk0MzY1ZnAtMSwKKyAgICAweDEuMDZhNzZhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLjQ1NGY3NzAwMDAwMDlhNzdiNjY3NTg2MjAyOTQzNjVmcC0xLAorICAgIC0weDEuMDZhNzZhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuOWFwLTQsCisgICAgMHgxLjA2ZTlhYXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuOWFwLTQsCisgICAgLTB4MS4wNmU5YWFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuOWEyZGM2ZGE4YzA1ZjVlNzY0ODhkMDhhOWQ2OGFhYjNwMCwKKyAgICAweDEuMDc0MWM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuOWEyZGM2ZGE4YzA1ZjVlNzY0ODhkMDhhOWQ2OGFhYjNwMCwKKyAgICAtMHgxLjA3NDFjNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuOWI2N2IxYTZlZDZmZDFjMTRlMDk3M2QxYmJkZmZjNDRwLTE0LAorICAgIDB4MS4wOWEwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS45YjY3YjFhNmVkNmZkMWMxNGUwOTczZDFiYmRmZmM0NHAtMTQsCisgICAgLTB4MS4wOWEwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjQ2ZmZjNzAwMzY2YjEyNTViNzY0OGI0ODk5Yjk4ZDVhcC0xNCwKKyAgICAweDEuMGFjNHAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuNDZmZmM3MDAzNjZiMTI1NWI3NjQ4YjQ4OTliOThkNWFwLTE0LAorICAgIC0weDEuMGFjNHAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS45YzFmMmFkNjlkMzc1NDJlYmUyMTVlZGUzNzMyNWY3ZHAtMTQsCisgICAgMHgxLjBiMDRwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLjljMWYyYWQ2OWQzNzU0MmViZTIxNWVkZTM3MzI1ZjdkcC0xNCwKKyAgICAtMHgxLjBiMDRwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuOWM4MTQ4MDA0MTA2YjI5YmFjZGZkNjQ2Y2NiODkwYmJwLTIsCisgICAgMHgxLjBiYzJlMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS45YzgxNDgwMDQxMDZiMjliYWNkZmQ2NDZjY2I4OTBiYnAtMiwKKyAgICAtMHgxLjBiYzJlMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjQ3OGE3YmI1NzJjYzkwY2VmMzU5NmZkODUyYjUzMmNkcDAsCisgICAgMHgxLjBjMTgwOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjQ3OGE3YmI1NzJjYzkwY2VmMzU5NmZkODUyYjUzMmNkcDAsCisgICAgLTB4MS4wYzE4MDhwMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjlkMjM5NzAzMmNlZjRlYmU4YTJjNWM4ODlhODg3NmExcC0xLAorICAgIDB4MS4wY2ZmNzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuOWQyMzk3MDMyY2VmNGViZThhMmM1Yzg4OWE4ODc2YTFwLTEsCisgICAgLTB4MS4wY2ZmNzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS45ZTIwYjhkNjI0MGYwMmYwZWFmOTMwZmRmNDQxNzg5ZXAwLAorICAgIDB4MS4wZWVmMTJwMgorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS45ZTIwYjhkNjI0MGYwMmYwZWFmOTMwZmRmNDQxNzg5ZXAwLAorICAgIC0weDEuMGVlZjEycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS45ZWFkMzEwNWQ5NThlYTdlYzc2NTAzOTQ0MzAzZWY3ZHAyLAorICAgIDB4MS4xMDAzMjJwOAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS45ZWFkMzEwNWQ5NThlYTdlYzc2NTAzOTQ0MzAzZWY3ZHAyLAorICAgIC0weDEuMTAwMzIycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS45ZjJmYWZmZGVmNjQ2MWMwOTQ1NTQ0OGZhOTI4YjljM3AtMSwKKyAgICAweDEuMTEwNDQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjlmMmZhZmZkZWY2NDYxYzA5NDU1NDQ4ZmE5MjhiOWMzcC0xLAorICAgIC0weDEuMTEwNDQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuYTBkZmI4MTM3YzNlOTFjM2YzZTgzODY0NWI0NTRmMDVwLTE0LAorICAgIDB4MS4xNDVjcC00MAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS5hMGRmYjgxMzdjM2U5MWMzZjNlODM4NjQ1YjQ1NGYwNXAtMTQsCisgICAgLTB4MS4xNDVjcC00MAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLmEyMzExYjAzNTI3MDMxM2M5Y2E3ZjkyZTQyNjQ0Mzc4cC0xLAorICAgIDB4MS4xNmZkMWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuYTIzMTFiMDM1MjcwMzEzYzljYTdmOTJlNDI2NDQzNzhwLTEsCisgICAgLTB4MS4xNmZkMWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5hMjVlN2VmZDAxYjRjN2Y2OWYwMWZlOTZmNjQzNDk0ZnAtMTQsCisgICAgMHgxLjE3NThwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmEyNWU3ZWZkMDFiNGM3ZjY5ZjAxZmU5NmY2NDM0OTRmcC0xNCwKKyAgICAtMHgxLjE3NThwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuYTI4YTY4ZmZiZGZiN2ViNjY2N2QyY2RkMzQxY2QyMzRwLTE0LAorICAgIDB4MS4xN2IwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS5hMjhhNjhmZmJkZmI3ZWI2NjY3ZDJjZGQzNDFjZDIzNHAtMTQsCisgICAgLTB4MS4xN2IwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmEyYjI0ZDA0YTc1ODVmZGRlNjA3YTdmNDJkMzcwODc2cC00MiwKKyAgICAweDEuMThwLTEyNAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS5hMmIyNGQwNGE3NTg1ZmRkZTYwN2E3ZjQyZDM3MDg3NnAtNDIsCisgICAgLTB4MS4xOHAtMTI0CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuYTQ4MGRiMDc2MzQ1NjM4YjI4ZDBiNWQ5N2UyMTY0MDJwLTE0LAorICAgIDB4MS4xYmE0cC00MAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS5hNDgwZGIwNzYzNDU2MzhiMjhkMGI1ZDk3ZTIxNjQwMnAtMTQsCisgICAgLTB4MS4xYmE0cC00MAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjRlMTE5NzA2MTRjZmU5Mzk1ZTdjNTI0YjI5MjJlZDYycC0xNCwKKyAgICAweDEuMWM3MWM4cC00MQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS40ZTExOTcwNjE0Y2ZlOTM5NWU3YzUyNGIyOTIyZWQ2MnAtMTQsCisgICAgLTB4MS4xYzcxYzhwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuYTUyNGFjMDA5ZTk3MjNkNDAxODg1OTI4NTI2MGExMzJwLTE0LAorICAgIDB4MS4xY2YwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS5hNTI0YWMwMDllOTcyM2Q0MDE4ODU5Mjg1MjYwYTEzMnAtMTQsCisgICAgLTB4MS4xY2YwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmE1YjY0ZTZkMWFkMjMzYTU5MzM2OGFjMjE2M2Q2YjdkcC0xNCwKKyAgICAweDEuMWUxOHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuYTViNjRlNmQxYWQyMzNhNTkzMzY4YWMyMTYzZDZiN2RwLTE0LAorICAgIC0weDEuMWUxOHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuYTZhNThjNWI2ZGY1YzcyNWUzZWM0YWIxODczMDE1ODZwLTE0LAorICAgIDB4MS4xZmZmZmVwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS5hNmE1OGM1YjZkZjVjNzI1ZTNlYzRhYjE4NzMwMTU4NnAtMTQsCisgICAgLTB4MS4xZmZmZmVwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmFjcC00LAorICAgIDB4MS4yYjE1MzBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS5hY3AtNCwKKyAgICAtMHgxLjJiMTUzMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuNTUwMDU2M2IwMjVhMjZlNmNkZTc4NDZjNjBkZDFhNjNwMCwKKyAgICAweDEuMmU4NWRjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjU1MDA1NjNiMDI1YTI2ZTZjZGU3ODQ2YzYwZGQxYTYzcDAsCisgICAgLTB4MS4yZTg1ZGNwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS41N2JmYjMwMGM4OWQ1MzVkZGM2MWY5YjNkOTk5ZGMxZXAwLAorICAgIDB4MS4zNWU0ZjhwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuNTdiZmIzMDBjODlkNTM1ZGRjNjFmOWIzZDk5OWRjMWVwMCwKKyAgICAtMHgxLjM1ZTRmOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmIyZTk0MzBiZDIxYWFlODQ2NTk5ZmRmNjhlNTFlMWU2cC0xLAorICAgIDB4MS4zOWNlNzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLmIyZTk0MzBiZDIxYWFlODQ2NTk5ZmRmNjhlNTFlMWU2cC0xLAorICAgIC0weDEuMzljZTcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLmI0MGEwMTBjODRlYWM5NmQ0MTBmOGJhMjFmZGEzZjIycDAsCisgICAgMHgxLjNjNDExNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS5iNDBhMDEwYzg0ZWFjOTZkNDEwZjhiYTIxZmRhM2YyMnAwLAorICAgIC0weDEuM2M0MTE0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuYzVkODU5MGNhNTQzZmNiMWMwYmZiNDZlOTBlNDE5YmVwMCwKKyAgICAweDEuNjQ5OWY2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLmM1ZDg1OTBjYTU0M2ZjYjFjMGJmYjQ2ZTkwZTQxOWJlcDAsCisgICAgLTB4MS42NDk5ZjZwMgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5jNjc5MWYwY2I0N2YxOWYxNmQwODNjMjExZDEwNDIwYnAwLAorICAgIDB4MS42NjE1NzZwMgorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuYzY3OTFmMGNiNDdmMTlmMTZkMDgzYzIxMWQxMDQyMGJwMCwKKyAgICAtMHgxLjY2MTU3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLmM3MWY3ZjBjZDVjNTFkNmJiNDlhOTMwMjNhOWE2NTJkcC0xLAorICAgIDB4MS42NzlmNGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLmM3MWY3ZjBjZDVjNTFkNmJiNDlhOTMwMjNhOWE2NTJkcC0xLAorICAgIC0weDEuNjc5ZjRhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmM3MjhjNTBjOWVjYTM2MzYwYzIyMjU2ZTMzZTQyZGMycDAsCisgICAgMHgxLjY3YjU0NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS5jNzI4YzUwYzllY2EzNjM2MGMyMjI1NmUzM2U0MmRjMnAwLAorICAgIC0weDEuNjdiNTQ2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMWZiMmI1MDIyNDAyMGI5YTMxYjVlMDk4NDRlMTM0OGRwLTEsCisgICAgMHgxLjZiNWFkNnAtMworICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuMWZiMmI1MDIyNDAyMGI5YTMxYjVlMDk4NDRlMTM0OGRwLTEsCisgICAgLTB4MS42YjVhZDZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuNmFiNTYwZmZmZjg0MjhiNGQ0NTNiYWUwODk1OTliYmFwLTEsCisgICAgMHgxLjZjMGQ0YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuNmFiNTYwZmZmZjg0MjhiNGQ0NTNiYWUwODk1OTliYmFwLTEsCisgICAgLTB4MS42YzBkNGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuY2RlZTAyODFlNzRlOTcxMGM2ODkxODA4OWI5YTYyZjJwLTQyLAorICAgIDB4MS43N2ZmZmVwLTEyNAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuY2RlZTAyODFlNzRlOTcxMGM2ODkxODA4OWI5YTYyZjJwLTQyLAorICAgIC0weDEuNzdmZmZlcC0xMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuZDExZmI2ZjlmNzZlMWZkMTlkZTQ3Y2JlNzA5MGRmZmJwLTQzLAorICAgIDB4MS43ZmRhOWNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuZDExZmI2ZjlmNzZlMWZkMTlkZTQ3Y2JlNzA5MGRmZmJwLTQzLAorICAgIC0weDEuN2ZkYTljcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuN2FkNjU5MDAxNTk1Y2YxYjI3MmQ1OTg0ZDgwMDE0NTFwLTIsCisgICAgMHgxLjllY2YyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuN2FkNjU5MDAxNTk1Y2YxYjI3MmQ1OTg0ZDgwMDE0NTFwLTIsCisgICAgLTB4MS45ZWNmMjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuN2FkNjU5MDAxNTk1Y2YxYjI3MmQ1OTg0ZDgwMDE0NTFwLTQxLAorICAgIDB4MS45ZWNmMjBwLTEyMgorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuN2FkNjU5MDAxNTk1Y2YxYjI3MmQ1OTg0ZDgwMDE0NTFwLTQxLAorICAgIC0weDEuOWVjZjIwcC0xMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuZGYxMDI1ZmY4YjFmZWI4NWFmZmZlOGIwY2NlNWM2YzFwLTEsCisgICAgMHgxLmEzNjhkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuZGYxMDI1ZmY4YjFmZWI4NWFmZmZlOGIwY2NlNWM2YzFwLTEsCisgICAgLTB4MS5hMzY4ZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuZGZhNWQyZmY3YjMxZmE5YjA3MzU1OGE3MThkZDdiZWFwLTMsCisgICAgMHgxLmE0ZjI2OHAtNworICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuZGZhNWQyZmY3YjMxZmE5YjA3MzU1OGE3MThkZDdiZWFwLTMsCisgICAgLTB4MS5hNGYyNjhwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuZTE0ZDU2ODA1YTcyNGJmYWZlNGFkM2JkYmYyNzY5NGZwMCwKKyAgICAweDEuYTk1MTRlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmUxNGQ1NjgwNWE3MjRiZmFmZTRhZDNiZGJmMjc2OTRmcDAsCisgICAgLTB4MS5hOTUxNGVwMgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5lMmRmNTMwNjMyNjNkZDQ3ZjRlM2I0YmU1ZDhhY2QyMHAtMiwKKyAgICAweDEuYWQ3ZTc4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5lMmRmNTMwNjMyNjNkZDQ3ZjRlM2I0YmU1ZDhhY2QyMHAtMiwKKyAgICAtMHgxLmFkN2U3OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5lYjU3NTJmZjk0ZGYwZjU5ZGVjOGRmMzZmNGNjMWIzMXAtNDEsCisgICAgMHgxLmM0N2Q4Y3AtMTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5lYjU3NTJmZjk0ZGYwZjU5ZGVjOGRmMzZmNGNjMWIzMXAtNDEsCisgICAgLTB4MS5jNDdkOGNwLTEyMQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5lYmU1ZGYwM2Q5ZDY1M2U5M2U4ZmQwN2UxMTkwZGNhN3AtMiwKKyAgICAweDEuYzYwN2QycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5lYmU1ZGYwM2Q5ZDY1M2U5M2U4ZmQwN2UxMTkwZGNhN3AtMiwKKyAgICAtMHgxLmM2MDdkMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5lY3AtMywKKyAgICAweDEuYzY1MDMwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5lY3AtMywKKyAgICAtMHgxLmM2NTAzMHAtNworICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS5lZDUzYzJmZWQ3OTM4Y2ZlN2Q1NzUwNjkzNGQ3MmVwLTQzLAorICAgIDB4MS5jOWZmZjBwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuZWQ1M2MyZmVkNzkzOGNmZTdkNTc1MDY5MzRkNzJlcC00MywKKyAgICAtMHgxLmM5ZmZmMHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLjg3ZDMwZjAwMDAwMzY3MGI4OTU0NWQ1NzY1ZTBlNDYycC0yLAorICAgIDB4MS5jYWYzMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLjg3ZDMwZjAwMDAwMzY3MGI4OTU0NWQ1NzY1ZTBlNDYycC0yLAorICAgIC0weDEuY2FmMzAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjM3OTY0ZWZmZmY3Nzg5NTdiMTZiNDIwOGFmNzdhOWI5cC0xLAorICAgIDB4MS5jZDk3YThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjM3OTY0ZWZmZmY3Nzg5NTdiMTZiNDIwOGFmNzdhOWI5cC0xLAorICAgIC0weDEuY2Q5N2E4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmVmNzhlMjBhZWU0MzAzMDcyOGFmMDY0OTVlZTY2ZDg3cC0xNCwKKyAgICAweDEuY2ZmZmZlcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuZWY3OGUyMGFlZTQzMDMwNzI4YWYwNjQ5NWVlNjZkODdwLTE0LAorICAgIC0weDEuY2ZmZmZlcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5mMDYwY2VmZjhkYjgzZjJmODcwNzdiOTM4YTBkZTY3ZnAtMSwKKyAgICAweDEuZDI4Y2M0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5mMDYwY2VmZjhkYjgzZjJmODcwNzdiOTM4YTBkZTY3ZnAtMSwKKyAgICAtMHgxLmQyOGNjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5mMGQyODJmZjg2YmEyODI4YWZmMTA5OGE3NTYzZmM1YnAtMSwKKyAgICAweDEuZDNjZGFhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5mMGQyODJmZjg2YmEyODI4YWZmMTA5OGE3NTYzZmM1YnAtMSwKKyAgICAtMHgxLmQzY2RhYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5mMWE4OTIzNjcxOWNkOTFmY2U2M2VjYWMxOWE1M2Q1NnAwLAorICAgIDB4MS5kNjJiNWFwMgorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuZjFhODkyMzY3MTljZDkxZmNlNjNlY2FjMTlhNTNkNTZwMCwKKyAgICAtMHgxLmQ2MmI1YXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmYxYzJiZmMwMzg2MzE1YzUwMWUzOWUzYWMxOWM0Mjc5cC0xLAorICAgIDB4MS5kNjc1OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmYxYzJiZmMwMzg2MzE1YzUwMWUzOWUzYWMxOWM0Mjc5cC0xLAorICAgIC0weDEuZDY3NTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLmYycC00LAorICAgIDB4MS5kNzIzNTJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mMnAtNCwKKyAgICAtMHgxLmQ3MjM1MnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuZjIxYzIwMzU1Nzg1OGE3ZjFjNzhiMGNiMTQ3MThmYTBwMCwKKyAgICAweDEuZDc3MzJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmYyMWMyMDM1NTc4NThhN2YxYzc4YjBjYjE0NzE4ZmEwcDAsCisgICAgLTB4MS5kNzczMmFwMgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mMjFjZjQzODlkNTk5ZWM1MDIyYjg3NmU5ZGFiODE0MnAtOCwKKyAgICAweDEuZDc3NTg0cC0yMgorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuZjIxY2Y0Mzg5ZDU5OWVjNTAyMmI4NzZlOWRhYjgxNDJwLTgsCisgICAgLTB4MS5kNzc1ODRwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLmYyNTBhMTA1MjhmZDNjZjc1NTJlNjVkZjdhNDk1NmY3cDIsCisgICAgMHgxLmQ4MDg0ZXA4CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mMjUwYTEwNTI4ZmQzY2Y3NTUyZTY1ZGY3YTQ5NTZmN3AyLAorICAgIC0weDEuZDgwODRlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuOGJlNjBmMDAwMDg3YTdjMjg1ZDEyNDE2ZDBiMGNiOTZwLTUsCisgICAgMHgxLmQ5NmE0YXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjhiZTYwZjAwMDA4N2E3YzI4NWQxMjQxNmQwYjBjYjk2cC01LAorICAgIC0weDEuZDk2YTRhcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS4zYTdiYjhmZmZmNzdjZTc1Y2ZlMzNlY2ExNDlhNmE1MHAtMSwKKyAgICAweDEuZGE5NTZjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS4zYTdiYjhmZmZmNzdjZTc1Y2ZlMzNlY2ExNDlhNmE1MHAtMSwKKyAgICAtMHgxLmRhOTU2Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5mNTQ3N2FmY2YzMjBiZDQ2YTI4YTIyZGIwODk2OTY4ZXAwLAorICAgIDB4MS5lMDgxYTRwMgorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuZjU0NzdhZmNmMzIwYmQ0NmEyOGEyMmRiMDg5Njk2OGVwMCwKKyAgICAtMHgxLmUwODFhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmY2M2UwYWZmODdjZjE2NDg2ODdmZWM5MjBmNDBhYzFhcC0zLAorICAgIDB4MS5lMzQ4MGFwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmY2M2UwYWZmODdjZjE2NDg2ODdmZWM5MjBmNDBhYzFhcC0zLAorICAgIC0weDEuZTM0ODBhcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmY2NGQ3OGZmODNiZGVjZGQ2YWJiYmI1YzI3ODQ3NmMycDIsCisgICAgMHgxLmUzNzQ5NnA4CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5mNjRkNzhmZjgzYmRlY2RkNmFiYmJiNWMyNzg0NzZjMnAyLAorICAgIC0weDEuZTM3NDk2cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZjY3ZGJjMWU2MjUwODk3YjBlOTBhYTFkMDFkMjIyYzdwLTE0LAorICAgIDB4MS5lM2ZmZmVwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS5mNjdkYmMxZTYyNTA4OTdiMGU5MGFhMWQwMWQyMjJjN3AtMTQsCisgICAgLTB4MS5lM2ZmZmVwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmY2OTZhNmZmOTI4MDA0NTA4Nzg5Njg0MmI2ZWQ1NjE0cDAsCisgICAgMHgxLmU0NDgwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS5mNjk2YTZmZjkyODAwNDUwODc4OTY4NDJiNmVkNTYxNHAwLAorICAgIC0weDEuZTQ0ODAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuZjZiNmU0ZmY0YTkzODY1MTcwNTU2OTA5MTYwM2RlMTVwMCwKKyAgICAweDEuZTRhNTNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLmY2YjZlNGZmNGE5Mzg2NTE3MDU1NjkwOTE2MDNkZTE1cDAsCisgICAgLTB4MS5lNGE1M2NwMgorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS4zZGU2ZDUwMDI5YzViYmY4ODhlNjdiYWUxNDg3OTgzM3AtMSwKKyAgICAweDEuZWEzYTgwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4zZGU2ZDUwMDI5YzViYmY4ODhlNjdiYWUxNDg3OTgzM3AtMSwKKyAgICAtMHgxLmVhM2E4MHAtMworICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5mYzVmYzVkMGFkMDdmMzhlYzliMTdiMWY3ZDRlMTcxN3AwLAorICAgIDB4MS5mNTMyZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuZmM1ZmM1ZDBhZDA3ZjM4ZWM5YjE3YjFmN2Q0ZTE3MTdwMCwKKyAgICAtMHgxLmY1MzJmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmZjN2Q2NWQwZjZiMTc0YWRmODYwYjlkZTYwY2U3YjI0cC0xLAorICAgIDB4MS5mNThhYTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmZjN2Q2NWQwZjZiMTc0YWRmODYwYjlkZTYwY2U3YjI0cC0xLAorICAgIC0weDEuZjU4YWEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjQwZDlkZjI4NGJkYmRkYmM4Nzc3MjcwM2JmYzk1NjQ1cC00MiwKKyAgICAweDEuZjdmZmZlcC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLjQwZDlkZjI4NGJkYmRkYmM4Nzc3MjcwM2JmYzk1NjQ1cC00MiwKKyAgICAtMHgxLmY3ZmZmZXAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjk0NTEyMGZmZmY3N2Y0ZDdlNjhmMTdhNDNkYTE5MjA1cC0xLAorICAgIDB4MS5mODQyZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjk0NTEyMGZmZmY3N2Y0ZDdlNjhmMTdhNDNkYTE5MjA1cC0xLAorICAgIC0weDEuZjg0MmYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLmZkOTI2MjdlYTk3Njg5YWZhYzQwMzk4NjlmMDBlNGFlcC00MywKKyAgICAweDEuZjhiZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLmZkOTI2MjdlYTk3Njg5YWZhYzQwMzk4NjlmMDBlNGFlcC00MywKKyAgICAtMHgxLmY4YmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLmZlZmY3ZWU5OTQwOGM5YjIyMmQ4NWQ0NGQ3MmQ2ODdmcC0xNCwKKyAgICAweDEuZmNmZmZlcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZmVmZjdlZTk5NDA4YzliMjIyZDg1ZDQ0ZDcyZDY4N2ZwLTE0LAorICAgIC0weDEuZmNmZmZlcC00MAorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS40MjE3Y2IwNDcyNDFmZWViNzhjOWE3ODU5MWY3YmM3MnAtNDIsCisgICAgMHgxLmZkZGZmZXAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS40MjE3Y2IwNDcyNDFmZWViNzhjOWE3ODU5MWY3YmM3MnAtNDIsCisgICAgLTB4MS5mZGRmZmVwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5mZmZhNTNlZmU5ZWJmNzVkNmUxMTRkYjgxNDYxZGM3ZXAtNDMsCisgICAgMHgxLmZmZWVmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5mZmZhNTNlZmU5ZWJmNzVkNmUxMTRkYjgxNDYxZGM3ZXAtNDMsCisgICAgLTB4MS5mZmVlZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS45NjVjYmQwNjMxM2IxZDgyM2U5NmQ1YzQ3MzcyMjFmYnAxMywKKyAgICAweDEuZmZmM2ZlcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS45NjVjYmQwNjMxM2IxZDgyM2U5NmQ1YzQ3MzcyMjFmYnAxMywKKyAgICAtMHgxLmZmZjNmZXA0MAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS40Mjg5NzMwNmY0NmI4ODdiNmViODlkOWI1MDJlMTc4MnAtMiwKKyAgICAweDEuZmZmYzdlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS40Mjg5NzMwNmY0NmI4ODdiNmViODlkOWI1MDJlMTc4MnAtMiwKKyAgICAtMHgxLmZmZmM3ZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS40Mjg5NzMwNmY0NmI4ODdiNmViODlkOWI1MDJlMTc4MnAtNDIsCisgICAgMHgxLmZmZmM3ZXAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS40Mjg5NzMwNmY0NmI4ODdiNmViODlkOWI1MDJlMTc4MnAtNDIsCisgICAgLTB4MS5mZmZjN2VwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS45NjVmYjcwMDVkY2ZhNWRhZjkyZTNlYmMyNTUxODNjMnAxMywKKyAgICAweDEuZmZmZjNlcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS45NjVmYjcwMDVkY2ZhNWRhZjkyZTNlYmMyNTUxODNjMnAxMywKKyAgICAtMHgxLmZmZmYzZXA0MAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5mZmZmZjNmZmZmYjdmZmZkMmZmZmRlM2ZmZTQyN2ZlN3AtNDIsCisgICAgMHgxLmZmZmZkY3AtMTI0CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5mZmZmZjNmZmZmYjdmZmZkMmZmZmRlM2ZmZTQyN2ZlN3AtNDIsCisgICAgLTB4MS5mZmZmZGNwLTEyNAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmZmZmRmZmZmZmRmZmZmZmNhYWFhYTNmZmZmZjE1NXAtMTQsCisgICAgMHgxLmZmZmZmYXAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLmZmZmZmZGZmZmZmZGZmZmZmY2FhYWFhM2ZmZmZmMTU1cC0xNCwKKyAgICAtMHgxLmZmZmZmYXAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuOTY1ZmU5NDRlYzQ2ZGJhYTA0ZDBlMjgxMmNmYmVmYjBwLTQyLAorICAgIDB4MS5mZmZmZmNwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuOTY1ZmU5NDRlYzQ2ZGJhYTA0ZDBlMjgxMmNmYmVmYjBwLTQyLAorICAgIC0weDEuZmZmZmZjcC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuNTU5ODRiMDAwMDg1NjY3NWJhYjVmMTY4ZjJlNTNiMWFwLTEsCisgICAgMHgxLjMwMWFmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuNTU5ODRiMDAwMDg1NjY3NWJhYjVmMTY4ZjJlNTNiMWFwLTEsCisgICAgLTB4MS4zMDFhZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjBjZTlkNTQ5YzU4MzI5OTk4MWZkNzFmZjRmYjk5NTQycDAsCisgICAgMHgxLjI4YmEyZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS4wY2U5ZDU0OWM1ODMyOTk5ODFmZDcxZmY0ZmI5OTU0MnAwLAorICAgIC0weDEuMjhiYTJlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuMThiMTZlYmFmM2NiMzc5ZmFlOWNhNzEyNGVkNzljZmZwMCwKKyAgICAweDEuNTE3NDVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjE4YjE2ZWJhZjNjYjM3OWZhZTljYTcxMjRlZDc5Y2ZmcDAsCisgICAgLTB4MS41MTc0NWNwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS4yMzhmMmMxOGQwOTkzM2UxOTAxNDY2M2M1NjYyNzBmY3AwLAorICAgIDB4MS43YTJlOGFwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuMjM4ZjJjMThkMDk5MzNlMTkwMTQ2NjNjNTY2MjcwZmNwMCwKKyAgICAtMHgxLjdhMmU4YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjJkYWJiNzVlOGFjYjkxNDRmNmI1MmNkYTQyMGZlZmFhcDAsCisgICAgMHgxLmEyZThiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS4yZGFiYjc1ZThhY2I5MTQ0ZjZiNTJjZGE0MjBmZWZhYXAwLAorICAgIC0weDEuYTJlOGI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuMzcyNTc5NWY3ZGRmMWU3ODcyOWU0NGExN2U1M2Q2MWVwMCwKKyAgICAweDEuY2JhMmU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLjM3MjU3OTVmN2RkZjFlNzg3MjllNDRhMTdlNTNkNjFlcDAsCisgICAgLTB4MS5jYmEyZTZwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS40MDEzZGExMzM0NGFiNDZkNDEzN2RhMzA4YjMzY2YwOXAwLAorICAgIDB4MS5mNDVkMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuNDAxM2RhMTMzNDRhYjQ2ZDQxMzdkYTMwOGIzM2NmMDlwMCwKKyAgICAtMHgxLmY0NWQxNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjQ4ODk0YmY0N2YwZDUxNmQ5ODgwYzg1ZGFlYTJiYTBlcDAsCisgICAgMHgxLjBlOGJhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS40ODg5NGJmNDdmMGQ1MTZkOTg4MGM4NWRhZWEyYmEwZXAwLAorICAgIC0weDEuMGU4YmEycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuNTA5NGExYzRmMzQzYmQ1NzQ3ZGRkNDI4YTJlMjE3MjZwMCwKKyAgICAweDEuMjJlOGJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjUwOTRhMWM0ZjM0M2JkNTc0N2RkZDQyOGEyZTIxNzI2cDAsCisgICAgLTB4MS4yMmU4YmFwMQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS41ODQxZjhmOTlhMjViZjFjMzNmZWQwMDU5ZjQ0OWYxMnAwLAorICAgIDB4MS4zNzQ1ZDJwMQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuNTg0MWY4Zjk5YTI1YmYxYzMzZmVkMDA1OWY0NDlmMTJwMCwKKyAgICAtMHgxLjM3NDVkMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjVmOWI1Yzg5YjY3MjNhNDc0MGIwMmQwMGU2M2VkOGM1cDAsCisgICAgMHgxLjRiYTJlYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgLTB4MS41ZjliNWM4OWI2NzIzYTQ3NDBiMDJkMDBlNjNlZDhjNXAwLAorICAgIC0weDEuNGJhMmVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuNjZhOTNhMzk4ODE0ODM1YmY2NGJkOTU0NTMwYzJlMjRwMCwKKyAgICAweDEuNjAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLjY2YTkzYTM5ODgxNDgzNWJmNjRiZDk1NDUzMGMyZTI0cDAsCisgICAgLTB4MS42MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS42ZDcyYjhjMTJmMTk3Y2NkMmE4OTFkY2UyYjM0MjBjY3AwLAorICAgIDB4MS43NDVkMWFwMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuNmQ3MmI4YzEyZjE5N2NjZDJhODkxZGNlMmIzNDIwY2NwMCwKKyAgICAtMHgxLjc0NWQxYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLjczZmRmODUwMWU5ZjUxMzE1Y2Q5MjA4YWViMGRmNWZkcDAsCisgICAgMHgxLjg4YmEzMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS43M2ZkZjg1MDFlOWY1MTMxNWNkOTIwOGFlYjBkZjVmZHAwLAorICAgIC0weDEuODhiYTMycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuN2E1MDQzYjBjMjUwNjJjM2E3N2YwMTIwNDFlZDBkZDNwMCwKKyAgICAweDEuOWQxNzRhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAtMHgxLjdhNTA0M2IwYzI1MDYyYzNhNzdmMDEyMDQxZWQwZGQzcDAsCisgICAgLTB4MS45ZDE3NGFwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS44MDZlMzY0ODM3MGQwMTA3NDMwZTY5YmU1MWJhNjE4MXAwLAorICAgIDB4MS5iMTc0NjJwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC0weDEuODA2ZTM2NDgzNzBkMDEwNzQzMGU2OWJlNTFiYTYxODFwMCwKKyAgICAtMHgxLmIxNzQ2MnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjg2NWJkOWRlZmZkYjEwMDk4MTEwMWE3YmIzNzFjNmI4cDAsCisgICAgMHgxLmM1ZDE3YXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS44NjViZDlkZWZmZGIxMDA5ODExMDFhN2JiMzcxYzZiOHAwLAorICAgIC0weDEuYzVkMTdhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuOGMxY2JlNDI3NTAyZGNmMGU1ZGRhYTZjZGU4MjJlMWZwMCwKKyAgICAweDEuZGEyZTkycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLjhjMWNiZTQyNzUwMmRjZjBlNWRkYWE2Y2RlODIyZTFmcDAsCisgICAgLTB4MS5kYTJlOTJwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS45MWI0MGMzOTcwZmE0NWI0NWUxZWM0ZjE4MDM2NmE2M3AwLAorICAgIDB4MS5lZThiYWFwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuOTFiNDBjMzk3MGZhNDViNDVlMWVjNGYxODAzNjZhNjNwMCwKKyAgICAtMHgxLmVlOGJhYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjk3MjQ5NDU5MjE0ODRiOWY1ZWI1ZGVkNDNiODRkMGE2cDAsCisgICAgMHgxLjAxNzQ2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTB4MS45NzI0OTQ1OTIxNDg0YjlmNWViNWRlZDQzYjg0ZDBhNnAwLAorICAgIC0weDEuMDE3NDYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuOWM3MGRkYjMxMTg2ODU3NzBmOWI5ZjJlZDQ3NGE5ZDBwMCwKKyAgICAweDEuMGJhMmVjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAtMHgxLjljNzBkZGIzMTE4Njg1NzcwZjliOWYyZWQ0NzRhOWQwcDAsCisgICAgLTB4MS4wYmEyZWNwMgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5hMTliMmNmYjk4ZDZiOThmY2E0ODdiNDAwNzhmNjBmOHAwLAorICAgIDB4MS4xNWQxNzhwMgorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuYTE5YjJjZmI5OGQ2Yjk4ZmNhNDg3YjQwMDc4ZjYwZjhwMCwKKyAgICAtMHgxLjE1ZDE3OHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLmE2YTU4ZjRhY2QyODMwY2NmNDYxMDY4YmQ3OGI0M2RmcDAsCisgICAgMHgxLjIwMDAwNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgLTB4MS5hNmE1OGY0YWNkMjgzMGNjZjQ2MTA2OGJkNzhiNDNkZnAwLAorICAgIC0weDEuMjAwMDA0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuYWI5MWUwYzRkN2JlYjJkZTAzM2ViMDZjOTdmZjI2MjNwMCwKKyAgICAweDEuMmEyZTkwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLmFiOTFlMGM0ZDdiZWIyZGUwMzNlYjA2Yzk3ZmYyNjIzcDAsCisgICAgLTB4MS4yYTJlOTBwMgorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5iMDYxZDJhYTUxN2E5MjcxZTExZjI5MjcwYmUyNzVjMnAwLAorICAgIDB4MS4zNDVkMWNwMgorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuYjA2MWQyYWE1MTdhOTI3MWUxMWYyOTI3MGJlMjc1YzJwMCwKKyAgICAtMHgxLjM0NWQxY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLmI1MTZmMDdiZGE0YWFmM2NiYjg0OWRlZDgxMzM1MjQ2cDAsCisgICAgMHgxLjNlOGJhOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLTB4MS5iNTE2ZjA3YmRhNGFhZjNjYmI4NDlkZWQ4MTMzNTI0NnAwLAorICAgIC0weDEuM2U4YmE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuYjliMmE0NWI2MzgzNGJlN2U5MjA2OGY0ZWZmN2QyMWZwMCwKKyAgICAweDEuNDhiYTM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAtMHgxLmI5YjJhNDViNjM4MzRiZTdlOTIwNjhmNGVmZjdkMjFmcDAsCisgICAgLTB4MS40OGJhMzRwMgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5iZTM2M2FjY2Y0ZTA3ZmE3MjhjMzVjYjA0NDVmMDU2YnAwLAorICAgIDB4MS41MmU4YzBwMgorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuYmUzNjNhY2NmNGUwN2ZhNzI4YzM1Y2IwNDQ1ZjA1NmJwMCwKKyAgICAtMHgxLjUyZThjMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLmMyYTJlNWYxZmZhZTQ3MzY5NTI4ZGQ2YmFmMzkxNjVkcDAsCisgICAgMHgxLjVkMTc0Y3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS5jMmEyZTVmMWZmYWU0NzM2OTUyOGRkNmJhZjM5MTY1ZHAwLAorICAgIC0weDEuNWQxNzRjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuYzZmOWMwNTUxYmIyYTI1OGQ2YTM5NmNhNTI2MTU3NDlwMCwKKyAgICAweDEuNjc0NWQ4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLmM2ZjljMDU1MWJiMmEyNThkNmEzOTZjYTUyNjE1NzQ5cDAsCisgICAgLTB4MS42NzQ1ZDhwMgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5jYjNiY2Y1N2YxNWZmMTRhMDJmNjliNDIyMTNlZTVjNnAwLAorICAgIDB4MS43MTc0NjRwMgorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuY2IzYmNmNTdmMTVmZjE0YTAyZjY5YjQyMjEzZWU1YzZwMCwKKyAgICAtMHgxLjcxNzQ2NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLmNmNmEwNTUxZDg1YjEyMTQ0YWUxMzc3YTZhOWI3MmIycDAsCisgICAgMHgxLjdiYTJmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS5jZjZhMDU1MWQ4NWIxMjE0NGFlMTM3N2E2YTliNzJiMnAwLAorICAgIC0weDEuN2JhMmYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuZDM4NTQzNmIxZGRlODgzZTM5YzQ4MGQ3MTAyMzY5NDFwMCwKKyAgICAweDEuODVkMTdjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLmQzODU0MzZiMWRkZTg4M2UzOWM0ODBkNzEwMjM2OTQxcDAsCisgICAgLTB4MS44NWQxN2NwMgorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5kNzhlNWIzZWQ2MDZmM2NiMTNhOTFmMTM1N2Y5MTY1N3AwLAorICAgIDB4MS45MDAwMDhwMgorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuZDc4ZTViM2VkNjA2ZjNjYjEzYTkxZjEzNTdmOTE2NTdwMCwKKyAgICAtMHgxLjkwMDAwOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmRiODYxMDRiNzBlZTc3ZDYzODdhZDAzZjVhNDRjNmIzcDAsCisgICAgMHgxLjlhMmU5NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5kYjg2MTA0YjcwZWU3N2Q2Mzg3YWQwM2Y1YTQ0YzZiM3AwLAorICAgIC0weDEuOWEyZTk0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuZGY2ZDE5MzhmMmQyODU2NzJiYTAyMzgzN2M3NjUwYTNwMCwKKyAgICAweDEuYTQ1ZDIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLmRmNmQxOTM4ZjJkMjg1NjcyYmEwMjM4MzdjNzY1MGEzcDAsCisgICAgLTB4MS5hNDVkMjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS5lMzQ0MjBmYTk0OGMyZDVmYzhjZTMwZTc1MzQzMzE1YnAwLAorICAgIDB4MS5hZThiYWNwMgorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuZTM0NDIwZmE5NDhjMmQ1ZmM4Y2UzMGU3NTM0MzMxNWJwMCwKKyAgICAtMHgxLmFlOGJhY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLmU3MGJjN2QwYWE2ZjlhOGMxYTkwYmRmZDIzOTQ0MTYwcDAsCisgICAgMHgxLmI4YmEzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5lNzBiYzdkMGFhNmY5YThjMWE5MGJkZmQyMzk0NDE2MHAwLAorICAgIC0weDEuYjhiYTM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuZWFjNGE0MmVmMTFjYWFiZGJmNDg1MzQ2YmI4NWRjYTlwMCwKKyAgICAweDEuYzJlOGM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLmVhYzRhNDJlZjExY2FhYmRiZjQ4NTM0NmJiODVkY2E5cDAsCisgICAgLTB4MS5jMmU4YzRwMgorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5lZTZmNDM4YWMyMDFjYzgzYzM1NTFlYzNlYzg4Zjc2NXAwLAorICAgIDB4MS5jZDE3NTBwMgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEuZWU2ZjQzOGFjMjAxY2M4M2MzNTUxZWMzZWM4OGY3NjVwMCwKKyAgICAtMHgxLmNkMTc1MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLmYyMGMyYjE0MmUxMTQxZjk0NGE1YmQ0MzZmODk5ZmQ4cDAsCisgICAgMHgxLmQ3NDVkY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5mMjBjMmIxNDJlMTE0MWY5NDRhNWJkNDM2Zjg5OWZkOHAwLAorICAgIC0weDEuZDc0NWRjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuZjU5YmQ4NWM4ZjgwNjAwZjlhOTA5MWFjNGFlNjliMmJwMCwKKyAgICAweDEuZTE3NDY4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLmY1OWJkODVjOGY4MDYwMGY5YTkwOTFhYzRhZTY5YjJicDAsCisgICAgLTB4MS5lMTc0NjhwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5mOTFlYzFlY2M3Njk5ZWE5MDhiM2RjOTFiYjIxMTdkN3AwLAorICAgIDB4MS5lYmEyZjRwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEuZjkxZWMxZWNjNzY5OWVhOTA4YjNkYzkxYmIyMTE3ZDdwMCwKKyAgICAtMHgxLmViYTJmNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLmZjOTU1N2NkMGVhZWUwMzM3NmEwZGY2ZDFiYTVkNTAxcDAsCisgICAgMHgxLmY1ZDE4MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5mYzk1NTdjZDBlYWVlMDMzNzZhMGRmNmQxYmE1ZDUwMXAwLAorICAgIC0weDEuZjVkMTgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEucDEsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcDMzLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AzMywKKyAgICAtMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuNGNmMzhmY2EwYWIxZDBkZDVlM2Y4YjEwZGY3ZGU4OWRwMzMsCisgICAgMHgxLjE5OTk5YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMHgxLjRjZjM4ZmNhMGFiMWQwZGQ1ZTNmOGIxMGRmN2RlODlkcDMzLAorICAgIC0weDEuMTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS41NmJmZWFiMzFhMWU5ZDUzZTc1MjYxZTBmNzE0OTI3YnAzMywKKyAgICAweDEuMzMzMzM0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuNTZiZmVhYjMxYTFlOWQ1M2U3NTI2MWUwZjcxNDkyN2JwMzMsCisgICAgLTB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjYwMDQ4M2QyMjRmMjQ1OWNiZTlhNjkxNTExNTFjOTA4cDMzLAorICAgIDB4MS40Y2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS42MDA0ODNkMjI0ZjI0NTljYmU5YTY5MTUxMTUxYzkwOHAzMywKKyAgICAtMHgxLjRjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuNjhkMjViMjU1M2ZjY2QxODBhZjEwZWVjNjYwZWFkNGRwMzMsCisgICAgMHgxLjY2NjY2OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLjY4ZDI1YjI1NTNmY2NkMTgwYWYxMGVlYzY2MGVhZDRkcDMzLAorICAgIC0weDEuNjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS43MTM3NDUzNTNjN2Y1ZDYxMjU3MDViMDY5ZWM0NTJiOHAzMywKKyAgICAweDEuODAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIC0weDEuNzEzNzQ1MzUzYzdmNWQ2MTI1NzA1YjA2OWVjNDUyYjhwMzMsCisgICAgLTB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLjc5M2VhZDllNDI5ODcyZTJiM2ZlNjE5ZjdmMjUxNTNjcDMzLAorICAgIDB4MS45OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS43OTNlYWQ5ZTQyOTg3MmUyYjNmZTYxOWY3ZjI1MTUzY3AzMywKKyAgICAtMHgxLjk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuODBmMjIxZGQzNzBmZWNhN2M3ZWZiZTQ5NmE4NGVlMjJwMzMsCisgICAgMHgxLmIzMzMzNnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAtMHgxLjgwZjIyMWRkMzcwZmVjYTdjN2VmYmU0OTZhODRlZTIycDMzLAorICAgIC0weDEuYjMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS44ODU5YjZhNWZmNDk5ZjMxMzM4YjExMDc2ZmI0NTdiYXAzMywKKyAgICAweDEuY2NjY2QwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIC0weDEuODg1OWI2YTVmZjQ5OWYzMTMzOGIxMTA3NmZiNDU3YmFwMzMsCisgICAgLTB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLjhmN2M1MzYwNGViYzNhMTI2N2ViNjA4MzQ2NGFjM2E2cDMzLAorICAgIDB4MS5lNjY2NmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS44ZjdjNTM2MDRlYmMzYTEyNjdlYjYwODM0NjRhYzNhNnAzMywKKyAgICAtMHgxLmU2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwMzMsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcDMzLAorICAgIC0weDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS45NjVmZTljYzYxOTU3ZjExOWY4OWQwOGE4OTE4NDgxZXAwLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIC0weDEuOTY1ZmU5Y2M2MTk1N2YxMTlmODlkMDhhODkxODQ4MWVwMCwKKyAgICAtMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcDAsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXAwLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuOTY1ZmViNjJjMTdmNGI3MzM2MTdjY2M1NjkwOWU5ZjlwMCwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLjk2NWZlYjYyYzE3ZjRiNzMzNjE3Y2NjNTY5MDllOWY5cDAsCisgICAgLTB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS40MjhhMmYyZDUzYzM1NzU5NjNkMTFjOWRmNWQ5YWQ4M3AwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIC0weDEuNDI4YTJmMmQ1M2MzNTc1OTYzZDExYzlkZjVkOWFkODNwMCwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AwLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAweDEuNDI4YTMwNmZkZGYyODRhZDI3ZmY3Y2NiNzlhYWJmM2NwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAtMHgxLjQyOGEzMDZmZGRmMjg0YWQyN2ZmN2NjYjc5YWFiZjNjcDAsCisgICAgLTB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5mZmZmZmY1NTU1NTUxYzcxYzZmY2Q2ZTljYjUzMzllMXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgLTB4MS5mZmZmZmY1NTU1NTUxYzcxYzZmY2Q2ZTljYjUzMzllMXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuMDAwMDAwYWFhYWFhMzhlMzhlYjc0ZjAyODA4NmQ5ZmNwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMHgxLjAwMDAwMGFhYWFhYTM4ZTM4ZWI3NGYwMjgwODZkOWZjcDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS45NjVmZTljYzYxOTU3ZjExOWY4OWQwOGE4OTE4NDgxZXAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgLTB4MS45NjVmZTljYzYxOTU3ZjExOWY4OWQwOGE4OTE4NDgxZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS45NjVmZWE1M2Q2ZTNjODJiMDU5OTlhYjQzZGM0ZGVmMXAtMSwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS45NjVmZWI2MmMxN2Y0YjczMzYxN2NjYzU2OTA5ZTlmOXAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgLTB4MS45NjVmZWI2MmMxN2Y0YjczMzYxN2NjYzU2OTA5ZTlmOXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS40MjhhMmYyZDUzYzM1NzU5NjNkMTFjOWRmNWQ5YWQ4M3AtMSwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgLTB4MS40MjhhMmYyZDUzYzM1NzU5NjNkMTFjOWRmNWQ5YWQ4M3AtMSwKKyAgICAtMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AtMSwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AtMSwKKyAgICAtMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS40MjhhMzA2ZmRkZjI4NGFkMjdmZjdjY2I3OWFhYmYzY3AtMSwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS40MjhhMzA2ZmRkZjI4NGFkMjdmZjdjY2I3OWFhYmYzY3AtMSwKKyAgICAtMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5mZmZmZmY1NTU1NTUxYzcxYzZmY2Q2ZTljYjUzMzllMXAtMiwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgLTB4MS5mZmZmZmY1NTU1NTUxYzcxYzZmY2Q2ZTljYjUzMzllMXAtMiwKKyAgICAtMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEucC0xLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjAwMDAwMGFhYWFhYTM4ZTM4ZWI3NGYwMjgwODZkOWZjcC0xLAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjAwMDAwMGFhYWFhYTM4ZTM4ZWI3NGYwMjgwODZkOWZjcC0xLAorICAgIC0weDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjk2NWZlOWNjNjE5NTdmMTE5Zjg5ZDA4YTg5MTg0ODFlcC0yLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLjk2NWZlOWNjNjE5NTdmMTE5Zjg5ZDA4YTg5MTg0ODFlcC0yLAorICAgIC0weDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcC0yLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLjk2NWZlYTUzZDZlM2M4MmIwNTk5OWFiNDNkYzRkZWYxcC0yLAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjk2NWZlYjYyYzE3ZjRiNzMzNjE3Y2NjNTY5MDllOWY5cC0yLAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLjk2NWZlYjYyYzE3ZjRiNzMzNjE3Y2NjNTY5MDllOWY5cC0yLAorICAgIC0weDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjQyOGEyZjJkNTNjMzU3NTk2M2QxMWM5ZGY1ZDlhZDgzcC0yLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLjQyOGEyZjJkNTNjMzU3NTk2M2QxMWM5ZGY1ZDlhZDgzcC0yLAorICAgIC0weDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0yLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC0yLAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjQyOGEzMDZmZGRmMjg0YWQyN2ZmN2NjYjc5YWFiZjNjcC0yLAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAtMHgxLjQyOGEzMDZmZGRmMjg0YWQyN2ZmN2NjYjc5YWFiZjNjcC0yLAorICAgIC0weDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLmZmZmZmZjU1NTU1NTFjNzFjNmZjZDZlOWNiNTMzOWUxcC0zLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLmZmZmZmZjU1NTU1NTFjNzFjNmZjZDZlOWNiNTMzOWUxcC0zLAorICAgIC0weDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLnAtMiwKKyAgICAweDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgLTB4MS5wLTIsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMDAwMDAwYWFhYWFhMzhlMzhlYjc0ZjAyODA4NmQ5ZmNwLTIsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuMDAwMDAwYWFhYWFhMzhlMzhlYjc0ZjAyODA4NmQ5ZmNwLTIsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwLTUwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIC0weDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwLTUwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAtMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC01MCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgMHgxLjQyOGEyZjk4ZDcyOGFlMjIzZGRhYjcxNWJlMjUwZDBjcC01MCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuOTY1ZmU5Y2M2MTk1N2YxMTlmODlkMDhhODkxODQ4MWVwNDIsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLjk2NWZlOWNjNjE5NTdmMTE5Zjg5ZDA4YTg5MTg0ODFlcDQyLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIC0weDEuOTY1ZmU5Y2M2MTk1N2YxMTlmODlkMDhhODkxODQ4MWVwNDIsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgMHgxLjk2NWZlOWNjNjE5NTdmMTE5Zjg5ZDA4YTg5MTg0ODFlcDQyLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS45NjVmZTljYzYxOTU3ZjExOWY4OWQwOGE4OTE4NDgxZXA0MiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuOTY1ZmU5Y2M2MTk1N2YxMTlmODlkMDhhODkxODQ4MWVwNDIsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjk2NWZlOTQ0ZWM0NmRiYWEwNGQwZTI4MTJjZmJlZmIwcDQyLAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS45NjVmZTk0NGVjNDZkYmFhMDRkMGUyODEyY2ZiZWZiMHA0MiwKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuNzZlZjdlYWQ2OTg1MjcxZmU3NjE3YjFkYTUwNjU1NDNwMCwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAtMHgxLjc2ZWY3ZWFkNjk4NTI3MWZlNzYxN2IxZGE1MDY1NTQzcDAsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS4yOTk2MjY3YzVkZWVkYzQ3Yjg4Y2NhZTYwYWEyNzQyYXAwLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuMjk5NjI2N2M1ZGVlZGM0N2I4OGNjYWU2MGFhMjc0MmFwMCwKKyAgICAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLmQ4NjNhMDI2MzljODIyMmJhZWIwZDQ4NDk5MWU1MmNkcC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAtMHgxLmQ4NjNhMDI2MzljODIyMmJhZWIwZDQ4NDk5MWU1MmNkcC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLnAxLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIC0weDEucDEsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS40MjhhMmY5OGQ3MjhhZTIyM2RkYWI3MTViZTI1MGQwY3AwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIC0weDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwMCwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjAwMDAwMGFhYWFhYTM4ZTM4ZWI3NGYwMjgwODZkOWZjcDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS4wMDAwMDBhYWFhYWEzOGUzOGViNzRmMDI4MDg2ZDlmY3AwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLmZmZmZmZjU1NTU1NTFjNzFjNmZjZDZlOWNiNTMzOWUxcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAtMHgxLmZmZmZmZjU1NTU1NTFjNzFjNmZjZDZlOWNiNTMzOWUxcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjAwMDAwMGFhYWFhYTM4ZTM4ZWI3NGYwMjgwODZkOWZjcC00MiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAtMHgxLjAwMDAwMGFhYWFhYTM4ZTM4ZWI3NGYwMjgwODZkOWZjcC00MiwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLnAtNDIsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS5wLTQyLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuZmZmZmZlYWFhYWE5YzcxYzcwY2E0NTg2OTU5OGJmZTlwLTQzLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIC0weDEuZmZmZmZlYWFhYWE5YzcxYzcwY2E0NTg2OTU5OGJmZTlwLTQzLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuZmZmZmZkNTU1NTUxYzcxYzY5ZTA2NTBkYjIwYTRiMjZwLTQzLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIC0weDEuZmZmZmZkNTU1NTUxYzcxYzY5ZTA2NTBkYjIwYTRiMjZwLTQzLAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwLTUwLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIC0weDEuOTY1ZmVhNTNkNmUzYzgyYjA1OTk5YWI0M2RjNGRlZjFwLTUwLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwLTUwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIC0weDEuNDI4YTJmOThkNzI4YWUyMjNkZGFiNzE1YmUyNTBkMGNwLTUwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAwLjAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0wLjAsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuODBwMSwKKyAgICAweDEuYjBwNAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLmIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuNDBwMiwKKyAgICAweDEuZjRwNgorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIC0weDEuNDBwMiwKKyAgICAtMHgxLmY0cDYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9jZWlsX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9jZWlsX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzA5NmFiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2NlaWxfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2NlaWxfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucDEsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAxLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wMSwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS44MHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS44MHAxLAorICAgIDB4MS4zZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS44MHAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS44MHAxLAorICAgIDB4MS40MDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS45MHA2LAorICAgIDB4MS44ZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS45MHA2LAorICAgIDB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS45NHA2LAorICAgIDB4MS45MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS45NHA2LAorICAgIDB4MS45MWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS45NHA2LAorICAgIDB4MS45MjBwNgorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjkyMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmY0cDksCisgICAgMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZjQ4MHA5LAorICAgIDB4MS5mNDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mNDgwcDksCisgICAgMHgxLmY0M2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5mNDgwcDksCisgICAgMHgxLmY0NDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLnA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLnA1MCwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjAwMDAwMDAwMDAwMDQwcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEucDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDUxLAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5wNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5wNTIsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDUzLAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnA1NCwKKyAgICAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjQwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjNmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuOGNwNiwKKyAgICAtMHgxLjhmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmYzODBwOSwKKyAgICAtMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLnA1MCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEucDUwLAorICAgIC0weDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmY4MHA0OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucDUxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5wNTEsCisgICAgLTB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDUwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEucDUyLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA1MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnA1MywKKyAgICAtMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1NAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS5wNTQsCisgICAgLTB4MS4wcDU0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEucDMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI5CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEucDMwLAorICAgIDB4MS4wcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuMDAwMDAwMDRwMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZjMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEucDMxLAorICAgIDB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmRmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZlMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEucDMxLAorICAgIDB4MS5mZmZmZmZmZTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEucDMxLAorICAgIDB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZmcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMTBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMDAwMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuMDAwMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMDAxMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuZmZmZmZmZTBwMzAsCisgICAgMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuZmZmZmZmZTRwMzAsCisgICAgMHgxLmZmZmZmZmU0MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5mZmZmZmZlOHAzMCwKKyAgICAweDEuZmZmZmZmZTgwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLmZmZmZmZmVjcDMwLAorICAgIDB4MS5mZmZmZmZlYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuZmZmZmZmZjBwMzAsCisgICAgMHgxLmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuZmZmZmZmZjRwMzAsCisgICAgMHgxLmZmZmZmZmY0MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjgwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEucDMxLAorICAgIDB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLmZmZmZmZmY4cDI5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyOQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmODAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjgwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmZmNHAzMCwKKyAgICAtMHgxLmZmZmZmZmY3ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmZmY0cDMwLAorICAgIC0weDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmYTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmZhMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmEwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY5ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZkZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmRmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucDY0LAorICAgIDB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDYyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEucDYyLAorICAgIC0weDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDYzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5wNjMsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2NCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZjMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5wMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAyLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLnAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEucDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS4yMHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEucDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5wNCwKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjEwcDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5wNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLnA1LAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLnA2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEucDYsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEucDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5wNywKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjAycDcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5wOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLnA4LAorICAgIDB4MS4wcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLnA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEucDksCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS4wMDgwcDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5wMTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEucDExLAorICAgIDB4MS4wcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEucDEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLnAxMiwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS4wMDEwcDEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjQwcDIsCisgICAgMHgxLjFmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS40MHAyLAorICAgIDB4MS4ycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMjAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLjIwcDMsCisgICAgMHgxLjBmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4yMHAzLAorICAgIDB4MS4xcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuMjBwMywKKyAgICAweDEuMTAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA3ZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS4xMHA0LAorICAgIDB4MS4wODBwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS4xMHA0LAorICAgIDB4MS4wODAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDNmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjA4cDUsCisgICAgMHgxLjA0MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjA4cDUsCisgICAgMHgxLjA0MDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuMDRwNiwKKyAgICAweDEuMDIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMDRwNiwKKyAgICAweDEuMDIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjAycDcsCisgICAgMHgxLjAwZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4wMnA3LAorICAgIDB4MS4wMTBwNworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS4wMnA3LAorICAgIDB4MS4wMTAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMDA3ZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjAxcDgsCisgICAgMHgxLjAwOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjAxcDgsCisgICAgMHgxLjAwODAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS4wMDgwcDksCisgICAgMHgxLjAwM2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS4wMDgwcDksCisgICAgMHgxLjAwNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjAwODBwOSwKKyAgICAweDEuMDA0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwMWZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwMjAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA1ZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS4wMDgwcDEwLAorICAgIDB4MS4wMDZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2MDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4wMDIwcDExLAorICAgIDB4MS4wMDBmZmZmZmZmZmZmcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4wMDIwcDExLAorICAgIDB4MS4wMDEwMDAwMDAwMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLjAwMDdmZmZmZmZmZmZwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODAwMDAwMDAwMXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLnAyLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEucDEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEucDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEucDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS5wMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0wLjAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS5wMSwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS44MHAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5wMSwKKyAgICAweDEuODAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5wMSwKKyAgICAweDEuN2ZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEucDAsCisgICAgLTB4MS44MDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmcDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9jZWlsZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvY2VpbGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiNTI0MDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvY2VpbGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19jZWlsZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5wMSwKKyAgICAweDEuN2ZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5wMSwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAxLAorICAgIDB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuODBwMSwKKyAgICAweDEuM2ZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS44MHAxLAorICAgIDB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuODBwMSwKKyAgICAweDEuNDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS45MHA2LAorICAgIDB4MS44ZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS45NHA2LAorICAgIDB4MS45MDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjkxZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuOTRwNiwKKyAgICAweDEuOTJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjkyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjNmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZjQ4MHA5LAorICAgIDB4MS5mNDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mNDgwcDksCisgICAgMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQ0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5wMjEsCisgICAgMHgxLmZmZmZmZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLnAyMSwKKyAgICAweDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuMDAwMDA4cDIxLAorICAgIDB4MS4wMDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5wMjIsCisgICAgMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLnAyMiwKKyAgICAweDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMDAwMDA0cDIyLAorICAgIDB4MS4wMDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLnAyMywKKyAgICAweDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5mZmZmZmVwMjMsCisgICAgMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnAyNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAycDI0LAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mZmZmZmVwMjQsCisgICAgMHgxLmZmZmZmZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnAyNSwKKyAgICAweDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuMDAwMDAycDI1LAorICAgIDB4MS4wMDAwMDJwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMC4wLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLnAwLAorICAgIC0weDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEucDEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEucDEsCisgICAgLTB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLnAxLAorICAgIC0weDEuM2ZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjhjcDYsCisgICAgLTB4MS44ZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkxZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjRwOQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5mMzgwcDksCisgICAgLTB4MS5mM2ZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEucDIxLAorICAgIC0weDEuMDAwMDAycDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLnAyMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mZmZmZjBwMjAsCisgICAgLTB4MS5mZmZmZmVwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucDIyLAorICAgIC0weDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLnAyMiwKKyAgICAtMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5mZmZmZjhwMjEsCisgICAgLTB4MS5mZmZmZmVwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMDAwMDAycDIzLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnAyMywKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5mZmZmZmNwMjIsCisgICAgLTB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMDAwMDAycDI1LAorICAgIC0weDEuMDAwMDAycDI1CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLnAyNSwKKyAgICAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZmZmZmVwMjQsCisgICAgLTB4MS5mZmZmZmVwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5mZmZmZmVwMjksCisgICAgMHgxLmZmZmZmZXAyOQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLnAzMCwKKyAgICAweDEucDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuMDAwMDAycDMwLAorICAgIDB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS4wMDAwMDJwMzAsCisgICAgLTB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuZmZmZmZlcDI5LAorICAgIC0weDEuZmZmZmZlcDI5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuZmZmZmZjcDYxLAorICAgIDB4MS5mZmZmZmNwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZmZmZmZlcDYxLAorICAgIDB4MS5mZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEucDYyLAorICAgIDB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMDAwMDAycDYyLAorICAgIDB4MS4wMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDAwMDA0cDYyLAorICAgIDB4MS4wMDAwMDRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZmZmZmZjcDYyLAorICAgIDB4MS5mZmZmZmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZmZmZmZlcDYyLAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAycDYzLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDAwMDA0cDYzLAorICAgIDB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIDB4MS5mZmZmZmNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZlcDYzLAorICAgIDB4MS5mZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucDY0LAorICAgIDB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuMDAwMDAycDY0LAorICAgIDB4MS4wMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuMDAwMDA0cDY0LAorICAgIDB4MS4wMDAwMDRwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjAwMDAwNHA2MiwKKyAgICAtMHgxLjAwMDAwNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMDAwMDAycDYyLAorICAgIC0weDEuMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wNjIsCisgICAgLTB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmZmZmZmZXA2MSwKKyAgICAtMHgxLmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuZmZmZmZjcDYxLAorICAgIC0weDEuZmZmZmZjcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4wMDAwMDRwNjMsCisgICAgLTB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjAwMDAwMnA2MywKKyAgICAtMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmVwNjIsCisgICAgLTB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmY3A2MiwKKyAgICAtMHgxLmZmZmZmY3A2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDA0cDY0LAorICAgIC0weDEuMDAwMDA0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDJwNjQsCisgICAgLTB4MS4wMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZlcDYzLAorICAgIC0weDEuZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZmNwNjMsCisgICAgLTB4MS5mZmZmZmNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEucDYyLAorICAgIDB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLnAyLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5wMiwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEucDMsCisgICAgMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS4yMHAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5wNCwKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEucDQsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjEwcDQsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLnA1LAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5wNSwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEucDYsCisgICAgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLnA2LAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5wNywKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEucDcsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjAycDcsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLnA4LAorICAgIDB4MS5mZmZmZmVwNworICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5wOCwKKyAgICAweDEucDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMDAwMDAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEucDksCisgICAgMHgxLmZmZmZmZXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLnA5LAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS4wMDgwcDksCisgICAgMHgxLjAwMDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLnAxMCwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLnAxMSwKKyAgICAweDEuZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnAxMSwKKyAgICAweDEucDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMDAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5wMTIsCisgICAgMHgxLmZmZmZmZXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5wMTIsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS4wMDEwcDEyLAorICAgIDB4MS4wMDAwMDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMWZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS40MHAyLAorICAgIDB4MS4yMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4yMHAzLAorICAgIDB4MS4wZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4yMHAzLAorICAgIDB4MS4xMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjIwcDMsCisgICAgMHgxLjEwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA3ZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuMTBwNCwKKyAgICAweDEuMDgwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDNmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDRwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4wOHA1LAorICAgIDB4MS4wNDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjA0cDYsCisgICAgMHgxLjAyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjAycDcsCisgICAgMHgxLjAwZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjAycDcsCisgICAgMHgxLjAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMDJwNywKKyAgICAweDEuMDEwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMDA3ZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMDA4MHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjAxcDgsCisgICAgMHgxLjAwODAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjAwODBwOSwKKyAgICAweDEuMDAzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuMDA4MHA5LAorICAgIDB4MS4wMDQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuMDA4MHA5LAorICAgIDB4MS4wMDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDFmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDAyMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDIwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA1ZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwODBwMTAsCisgICAgMHgxLjAwNjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2MDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMGZmZXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS4wMDIwcDExLAorICAgIDB4MS4wMDEwcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMTAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS4wMDEwcDEyLAorICAgIDB4MS4wMDA3ZmVwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwOHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS4wMDEwcDEyLAorICAgIDB4MS4wMDA4MDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLnAyLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLnAxLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEucDAsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAtMC4wLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnAxLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuODBwMSwKKyAgICAweDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEucDEsCisgICAgLTB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEucDAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0wLjAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLnAxLAorICAgIDB4MS44MDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5wMSwKKyAgICAweDEuN2ZmZmYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAtMHgxLnAwLAorICAgIC0weDEuODAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuN2ZmZmYwcDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9jb3B5c2lnbl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvY29weXNpZ25faW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NzhmMWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvY29weXNpZ25faW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTQ1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGRvdWJsZSwgZG91YmxlLCBkb3VibGU+IGdfY29weXNpZ25faW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLnAtMTAsCisgICAgLTB4MS4wcC0xMCwKKyAgICAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5wLTEwLAorICAgIC0weDEuMHAtMTAsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEucC0xMCwKKyAgICAweDEuMHAtMTAsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEucC0xMCwKKyAgICAweDEuMHAtMTAsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuNDBwMywKKyAgICAtMHgxLjRwMywKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuNDBwMywKKyAgICAtMHgxLjRwMywKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuNDBwMywKKyAgICAweDEuNHAzLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS40MHAzLAorICAgIDB4MS40cDMsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3MywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDczLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuMHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wLTEwMjMsCisgICAgLTB4MS4wcC0xMDIzLAorICAgIDB4MS4wcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEucC0xMDIzLAorICAgIC0weDEuMHAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAweDEuMHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLnAxMDIzLAorICAgIC0weDEuMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5wMTAyMywKKyAgICAtMHgxLjBwMTAyMywKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEucDEwMjMsCisgICAgLTB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQsCisgICAgLTB4MS4wcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEucC0xMDIzLAorICAgIDB4MS4wcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEucDAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS5wMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5wMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLnAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEucDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIC0weDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTAuMCwKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvY29weXNpZ25mX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9jb3B5c2lnbmZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4YTU3OWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvY29weXNpZ25mX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE0NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxmbG9hdCwgZmxvYXQsIGZsb2F0PiBnX2NvcHlzaWduZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEucC0xMCwKKyAgICAtMHgxLnAtMTAsCisgICAgLTB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5wLTEwLAorICAgIC0weDEucC0xMCwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLnAtMTAsCisgICAgMHgxLnAtMTAsCisgICAgLTB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5wLTEwLAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuNDBwMywKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS40MHAzLAorICAgIC0weDEuNDBwMywKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLjQwcDMsCisgICAgMHgxLjQwcDMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS40MHAzLAorICAgIDB4MS40MHAzLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuMDAwMDA0cC0xMjcsCisgICAgLTB4MS4wMDAwMDRwLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAtMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS5wLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIC0weDEuMDAwMDA0cC0xMjcsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEucC0xMjcsCisgICAgLTB4MS5wLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wLTEyNywKKyAgICAtMHgxLnAtMTI3LAorICAgIDB4MS5wLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLnAtMTI3LAorICAgIC0weDEucC0xMjcsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgLTB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAtMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5wLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLmZmZmZmOHAtMTI4LAorICAgIC0weDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAtMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIC0weDEuMDAwMDAycDEyNywKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgLTB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEucDEyNywKKyAgICAtMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5wMTI3LAorICAgIC0weDEucDEyNywKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS5wMTI3LAorICAgIDB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNiwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAtMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAtMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAtMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLnAtMTI3LAorICAgIDB4MS5wLTEyNywKKyAgICAtMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLnAtMTI3LAorICAgIDB4MS5wLTEyNywKKyAgICAtMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLnAtMTI3LAorICAgIDB4MS5wLTEyNywKKyAgICAtMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAtMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAtMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAtMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wMCwKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS5wMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgLTB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgLTB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMC4wLAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0wLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTAuMCwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0wLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMC4wLAorICAgIDAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9jb3NfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2Nvc19pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJlYzBiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9jb3NfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNTYyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2Nvc19pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS5jMWEyN2FlODM2ZjEyODAwMDAwMDAwMDAwMDUwNGU5YnAtMSwKKyAgICAweDEuZmViMWY3OTIwZTI0OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuYzFhMjdhZTgzNmYxMjgwMDAwMDAwMDAwMDA1MDRlOWJwLTEsCisgICAgLTB4MS5mZWIxZjc5MjBlMjQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS43OGRhZjAxMDM2ZDBjZmZmZmZmZmZmZmZmZjk4OTBkNnAtMSwKKyAgICAweDEuN2NiNzY0ODUyNmY5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuNzhkYWYwMTAzNmQwY2ZmZmZmZmZmZmZmZmY5ODkwZDZwLTEsCisgICAgLTB4MS43Y2I3NjQ4NTI2Zjk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS5mZjhlYjZhOTFlY2IwMDAwMDAwMDAwMDAwMDFmOGY1NnAtMSwKKyAgICAweDEuNTQ5ZWMwYzBjNWFmYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuZmY4ZWI2YTkxZWNiMDAwMDAwMDAwMDAwMDAxZjhmNTZwLTEsCisgICAgLTB4MS41NDllYzBjMGM1YWZhcC01CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5mZWQwNDc2ZmM3NWM5ODAwMDAwMDAwMDAwMDIwYjEzZXAtMSwKKyAgICAweDEuMTZlNTM0ZWUzNjU4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZmVkMDQ3NmZjNzVjOTgwMDAwMDAwMDAwMDAyMGIxM2VwLTEsCisgICAgLTB4MS4xNmU1MzRlZTM2NTgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5mMTBmYzYxZTJjNzhlZmZmZmZmZmZmZmZmZjg3NjY2YXAtMSwKKyAgICAweDEuZWZlZWY2MWQzOWFjMnAtMworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuZjEwZmM2MWUyYzc4ZWZmZmZmZmZmZmZmZmY4NzY2NmFwLTEsCisgICAgLTB4MS5lZmVlZjYxZDM5YWMycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuNDM0YTM2NDViZTIwODdmZmZmZmZmZmZmZmY3MmQwYWVwLTEsCisgICAgMHgxLmM2NWExNzA0NzQ1NDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS40MzRhMzY0NWJlMjA4N2ZmZmZmZmZmZmZmZjcyZDBhZXAtMSwKKyAgICAtMHgxLmM2NWExNzA0NzQ1NDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS4zMzdmYzViMDcyYzUyODAwMDAwMDAwMDAwMDE3ZmU3N3AtMywKKyAgICAweDEuNmI4YTYyNzNkN2MyMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuMzM3ZmM1YjA3MmM1MjgwMDAwMDAwMDAwMDAxN2ZlNzdwLTMsCisgICAgLTB4MS42YjhhNjI3M2Q3YzIxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5lZmE3Y2RkYjEyOGZiODAwNDM1Njg3N2I3NGVlOGFiZHAtMSwKKyAgICAtMHgxLjAzNmY0YmE3ZTkwYWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5lZmE3Y2RkYjEyOGZiODAwNDM1Njg3N2I3NGVlOGFiZHAtMSwKKyAgICAweDEuMDM2ZjRiYTdlOTBhYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmI1MTE3ZmVlMmVkYTdmMTNlcC0xLAorICAgIC0weDEuMTUwMDc2NmM5ZGYyMHAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZiNTExN2ZlZTJlZGE3ZjEzZXAtMSwKKyAgICAweDEuMTUwMDc2NmM5ZGYyMHAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5lYzIzMTgwMjkxN2JkZmZhNjI3YWI2YTU5YWJlM2Y3ZHAtMSwKKyAgICAtMHgxLjFlMmExNTYzZTA2OGVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5lYzIzMTgwMjkxN2JkZmZhNjI3YWI2YTU5YWJlM2Y3ZHAtMSwKKyAgICAweDEuMWUyYTE1NjNlMDY4ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmRjMDQ0YWM5MmI3ZmI5MDA3OTEzYzg3ZGI3NmZhNDlmcC04LAorICAgIC0weDEuMjExNWFhNzNmOGQwNXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuZGMwNDRhYzkyYjdmYjkwMDc5MTNjODdkYjc2ZmE0OWZwLTgsCisgICAgMHgxLjIxMTVhYTczZjhkMDVwNQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmQxZmE2N2M1MGRkNTI3ZjZlOWFiYmIwYmQwNjY0YWI5cC00LAorICAgIC0weDEuMzRlM2JjZGY4ZjY5YXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZDFmYTY3YzUwZGQ1MjdmNmU5YWJiYjBiZDA2NjRhYjlwLTQsCisgICAgMHgxLjM0ZTNiY2RmOGY2OWFwMgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmUyZjhkMTlmYjhkYjg4MDU2ZGNkZGQ3NmY1YTA1YzIwcC0yLAorICAgIC0weDEuMzgwMDAwMDAwMDAwYnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZTJmOGQxOWZiOGRiODgwNTZkY2RkZDc2ZjVhMDVjMjBwLTIsCisgICAgMHgxLjM4MDAwMDAwMDAwMGJwNworICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjhkYTljOTBjM2VkYTE3ZjViZDcwOGNmYzQxNGZmMWI4cC0xLAorICAgIC0weDEuNDQwMDAwMDA0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS44ZGE5YzkwYzNlZGExN2Y1YmQ3MDhjZmM0MTRmZjFiOHAtMSwKKyAgICAweDEuNDQwMDAwMDA0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5iNTliMzIwNjAzZjgzN2ZmMDE1ZTJhOTYxZTc1OTQ2ZXAtMSwKKyAgICAtMHgxLjU1MGM4ZWU2N2E0YzRwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5iNTliMzIwNjAzZjgzN2ZmMDE1ZTJhOTYxZTc1OTQ2ZXAtMSwKKyAgICAweDEuNTUwYzhlZTY3YTRjNHAyOQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmZmZmZmZjdhZjZjODg3ZTVmMzE4NjM3MWExN2RkODFmcC0xLAorICAgIC0weDEuNzExNzg5ZmRiMmU4YXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mZmZmZmY3YWY2Yzg4N2U1ZjMxODYzNzFhMTdkZDgxZnAtMSwKKyAgICAweDEuNzExNzg5ZmRiMmU4YXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5jMWI2OGViYjBiNGZlODJlOGU5OWY5ZDQyNWVlOTAxYXAtMiwKKyAgICAtMHgxLjc3ZTAwMDAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuYzFiNjhlYmIwYjRmZTgyZThlOTlmOWQ0MjVlZTkwMWFwLTIsCisgICAgMHgxLjc3ZTAwMDAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuMTE2MWUxZGFkNzZkYmZkNTVmMDhjNGE0YTkwYmQ1NDdwLTQsCisgICAgLTB4MS44MTA2NTYxOTMxYjQzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS4xMTYxZTFkYWQ3NmRiZmQ1NWYwOGM0YTRhOTBiZDU0N3AtNCwKKyAgICAweDEuODEwNjU2MTkzMWI0M3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZjgyOGMzMjI2YjNkNzdjMzc0ZTc4OWQ3MjE2YTg1YjNwLTUsCisgICAgLTB4MS44MjViZTI0NjFjYWQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5mODI4YzMyMjZiM2Q3N2MzNzRlNzg5ZDcyMTZhODViM3AtNSwKKyAgICAweDEuODI1YmUyNDYxY2FkNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuZjI5OTBkNzQyZTlmYTgwZGQxOTQ4M2EyYzBkZTQyOGJwLTUsCisgICAgLTB4MS44Mjg4NzU1ODAzYjA4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5mMjk5MGQ3NDJlOWZhODBkZDE5NDgzYTJjMGRlNDI4YnAtNSwKKyAgICAweDEuODI4ODc1NTgwM2IwOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLmZmMTUwZGRhNzUyNGNlNjc4YWI5N2VlNDYwZThlOTYxcC0xLAorICAgIC0weDEuOGE3NTcwMWY0Y2NkM3AxCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmZmMTUwZGRhNzUyNGNlNjc4YWI5N2VlNDYwZThlOTYxcC0xLAorICAgIDB4MS44YTc1NzAxZjRjY2QzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS4wMTVjNDdjMzJiNTc0ODAyZWI4MWRlYjBkYjQ2YzIwN3AtMSwKKyAgICAtMHgxLmIzODkzMTZmMzdmMzdwMworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjAxNWM0N2MzMmI1NzQ4MDJlYjgxZGViMGRiNDZjMjA3cC0xLAorICAgIDB4MS5iMzg5MzE2ZjM3ZjM3cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5kNjgxYTM2NmEwNTM0N2ZhNTZiNzVkODQ1YjMzYzdiYnAtMSwKKyAgICAtMHgxLmM2MDJjNDY1ZDdkMjdwNgorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmQ2ODFhMzY2YTA1MzQ3ZmE1NmI3NWQ4NDViMzNjN2JicC0xLAorICAgIDB4MS5jNjAyYzQ2NWQ3ZDI3cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0weDEuODRlODk2Yzc1NDNkNTRjMTZkN2JlMzQ2ZTBmNDAwMTdwLTEsCisgICAgLTB4MS5jZmI4MWZlNjk2NjRjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuODRlODk2Yzc1NDNkNTRjMTZkN2JlMzQ2ZTBmNDAwMTdwLTEsCisgICAgMHgxLmNmYjgxZmU2OTY2NGNwNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZjNWRjZmRkZDU0YzA3ZjE1NzRjZTExNGMxZTVlZmZlcC0xLAorICAgIC0weDEuZDA4ZjJkODZiMTJjNnAxMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmZjNWRjZmRkZDU0YzA3ZjE1NzRjZTExNGMxZTVlZmZlcC0xLAorICAgIDB4MS5kMDhmMmQ4NmIxMmM2cDEzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZmU4MzIzNWZiZTAxNWQ2YzM2MTU1NmVlNWEwZTIyOTRwLTMsCisgICAgLTB4MS5kZTEzZjA5NDNjNDk0cDk5CisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuZmU4MzIzNWZiZTAxNWQ2YzM2MTU1NmVlNWEwZTIyOTRwLTMsCisgICAgMHgxLmRlMTNmMDk0M2M0OTRwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuNzIwMzIxMjM5ZWM0ZjM4ZDU1YjQwZDg0NDUwOTljMmFwLTEsCisgICAgLTB4MS5kZTNjMWYxMjg1ZThicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuNzIwMzIxMjM5ZWM0ZjM4ZDU1YjQwZDg0NDUwOTljMmFwLTEsCisgICAgMHgxLmRlM2MxZjEyODVlOGJwMworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmY3MTQzYzhiYmE0MDZkNmY4MzRhM2JjYTVlOWM2YTU4cC00LAorICAgIC0weDEuZmZmZmZmZmZmZmY3ZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZjcxNDNjOGJiYTQwNmQ2ZjgzNGEzYmNhNWU5YzZhNThwLTQsCisgICAgMHgxLmZmZmZmZmZmZmZmN2ZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5mZmZlNjJlY2ZhYjc1M2MwNzFiMjY4MGUxZTI2YmJjZXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5mZmZlNjJlY2ZhYjc1M2MwNzFiMjY4MGUxZTI2YmJjZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuMDU1ZTQ1N2FjMTIyNzY2YTdhMzQzZWE0YWM3MzliMmVwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4wNTVlNDU3YWMxMjI3NjZhN2EzNDNlYTRhYzczOWIyZXAtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5jMTUyODA2NWI3ZDRlMmQ4NGQ2NDAzMDE4MDBkZGQ4MXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmMxNTI4MDY1YjdkNGUyZDg0ZDY0MDMwMTgwMGRkZDgxcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZhMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AtMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmYTBwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcC0zMgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmZmZmVhNDQ0YmMwNWUwYjJlYzY5M2Y3MjI2ZDA1NmI4cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDIwcDE1MAorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmZmZmVhNDQ0YmMwNWUwYjJlYzY5M2Y3MjI2ZDA1NmI4cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAyMHAxNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuZWJkZGVlODc2ZjQzMzhjYzg4NTM5NGQxMDM5YWNmZTFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMzhwMzgwCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmViZGRlZTg3NmY0MzM4Y2M4ODUzOTRkMTAzOWFjZmUxcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAzOHAzODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZjJmZmM1MWRjNjk2ODFkZWQzMzM2MjY0NWI0ZTg1MTNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAxMThwMzgwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmYyZmZjNTFkYzY5NjgxZGVkMzMzNjI2NDViNGU4NTEzcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDExOHAzODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuZjhmYmI0ZDM1OGIyMDdmNGY4MWMzNmNmMjFjNGFmOTdwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAzZmZwNjQxCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY4ZmJiNGQzNThiMjA3ZjRmODFjMzZjZjIxYzRhZjk3cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDNmZnA2NDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDEwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAxMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuZmQxMjQyYzI1OTk0ZDBjYzVkYWY0MDVmYTUxMGU1MzlwLTEsCisgICAgMHgxLjAwMDAwMDAwOHA0NTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5mZDEyNDJjMjU5OTRkMGNjNWRhZjQwNWZhNTEwZTUzOXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwOHA0NTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5mZmZjMDAwMTU1NGRhODAwMDA0ODgyOGRlOTdhY2NjYnAtMSwKKyAgICAweDEuMDAwMDAwMDBlZmZhZnAtNworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLmZmZmMwMDAxNTU0ZGE4MDAwMDQ4ODI4ZGU5N2FjY2NicC0xLAorICAgIC0weDEuMDAwMDAwMDBlZmZhZnAtNworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjE0YTI3ZjI5MjU1MjI4MDAwMGRkMzBmYmY2YjM4NDgxcC0xLAorICAgIDB4MS4wMDAwMDExNGZlZmUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS4xNGEyN2YyOTI1NTIyODAwMDBkZDMwZmJmNmIzODQ4MXAtMSwKKyAgICAtMHgxLjAwMDAwMTE0ZmVmZTJwMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmJmODFlMDI2OWM1OWM3ZmY3NTNjYTMyMTQ3NjY2YzU2cC0zLAorICAgIDB4MS4wMDAwMDcwcDQwCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuYmY4MWUwMjY5YzU5YzdmZjc1M2NhMzIxNDc2NjZjNTZwLTMsCisgICAgLTB4MS4wMDAwMDcwcDQwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuMTRhMjZlZDE5NjBkNjdmZmZmZGY4ZDEzYjQzZmEyYjRwLTEsCisgICAgMHgxLjAwMDAwYWNhZGIzZDNwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjE0YTI2ZWQxOTYwZDY3ZmZmZmRmOGQxM2I0M2ZhMmI0cC0xLAorICAgIC0weDEuMDAwMDBhY2FkYjNkM3AwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZmZmZmZmZmZiZmZmZTdmZmZmMTU1NjU1NTU5YTdkMmRwLTEsCisgICAgMHgxLjAwMDAzcC0xNworICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmZmZmZmZmZmYmZmZmU3ZmZmZjE1NTY1NTU1OWE3ZDJkcC0xLAorICAgIC0weDEuMDAwMDNwLTE3CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZmZmZmZmZmZlZmZmZjdmZmZmMTVmOTZhZDNiMjlkOTRwLTEsCisgICAgMHgxLjAwMDAzZmZmZmZmYWVwLTE4CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuZmZmZmZmZmZlZmZmZjdmZmZmMTVmOTZhZDNiMjlkOTRwLTEsCisgICAgLTB4MS4wMDAwM2ZmZmZmZmFlcC0xOAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmZmZmZmZmZmZWZmZmY3ZmZmZjE1NTc2YWFiMzI5ZjQ1cC0xLAorICAgIDB4MS4wMDAwM2ZmZmZmZmZmcC0xOAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmZmZmZmZmZWZmZmY3ZmZmZjE1NTc2YWFiMzI5ZjQ1cC0xLAorICAgIC0weDEuMDAwMDNmZmZmZmZmZnAtMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0weDEuZGFiN2VmZWIzNWJhZDdmYmRjYjBlZmVkYjY2MjA5N2NwLTIsCisgICAgMHgxLjAwMDA3ZmZmZmRlYTBwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuZGFiN2VmZWIzNWJhZDdmYmRjYjBlZmVkYjY2MjA5N2NwLTIsCisgICAgLTB4MS4wMDAwN2ZmZmZkZWEwcDQxCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZmZmZmZmZmZmYmZmZjgwMDAwMDE1OTVhYTlhZmZmY2ZwLTEsCisgICAgMHgxLjAwMDBmZmZmOHAtMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS5mZmZmZmZmZmZiZmZmODAwMDAwMTU5NWFhOWFmZmZjZnAtMSwKKyAgICAtMHgxLjAwMDBmZmZmOHAtMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5mZmZmZmZmZmZlZmZmODAwMDAwMDRiMzY0MjMwNTBmNnAtMSwKKyAgICAweDEuMDAwM2ZmZjgwMDA1MXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5mZmZmZmZmZmZlZmZmODAwMDAwMDRiMzY0MjMwNTBmNnAtMSwKKyAgICAtMHgxLjAwMDNmZmY4MDAwNTFwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZmZmZmZmZmZmZWZmZjgwMDAwMDA0Mjk2MWZiMDk1ZjdwLTEsCisgICAgMHgxLjAwMDNmZmY4MDAwOTZwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZmZmZmZmZmZmZWZmZjgwMDAwMDA0Mjk2MWZiMDk1ZjdwLTEsCisgICAgLTB4MS4wMDAzZmZmODAwMDk2cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS5mYmYyYjcxYTIzYTU3N2ZkZGQwODFkMzBiYzI0OTE3ZnAtMiwKKyAgICAweDEuMDAwZmQyMHAzMzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuZmJmMmI3MWEyM2E1NzdmZGRkMDgxZDMwYmMyNDkxN2ZwLTIsCisgICAgLTB4MS4wMDBmZDIwcDMzNAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mY2NjODdlYWU3NzM2ZDhkOGE0Nzc2MzE0ZjZiMGJhN3AtNSwKKyAgICAweDEuMDAzcDUxNAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5mY2NjODdlYWU3NzM2ZDhkOGE0Nzc2MzE0ZjZiMGJhN3AtNSwKKyAgICAtMHgxLjAwM3A1MTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLmE0M2Y0MGQ5MmI3ZWQ3ZWVmMGZlNmQxNzk5NDQyY2ZhcC03LAorICAgIDB4MS4wMDYwMDAwMDAxNWY0cDQxCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS5hNDNmNDBkOTJiN2VkN2VlZjBmZTZkMTc5OTQ0MmNmYXAtNywKKyAgICAtMHgxLjAwNjAwMDAwMDE1ZjRwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuYzExY2MzOGY0MGFiMjgyN2RkMGZmOGM2ZjNkZDFkYWZwLTEsCisgICAgMHgxLjAwN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5jMTFjYzM4ZjQwYWIyODI3ZGQwZmY4YzZmM2RkMWRhZnAtMSwKKyAgICAtMHgxLjAwN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mZmZmZmZmZmZmYmZjN2YzYzAwMDAxNTdhYzMzMWQwY3AtMSwKKyAgICAweDEuMDA3cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5mZmZmZmZmZmZmYmZjN2YzYzAwMDAxNTdhYzMzMWQwY3AtMSwKKyAgICAtMHgxLjAwN3AtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuZTliYTk4MjMxZjczNDZlMDU2NjY5NGUxNDg0YTViOThwLTgsCisgICAgMHgxLjAwY3A0MAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5lOWJhOTgyMzFmNzM0NmUwNTY2Njk0ZTE0ODRhNWI5OHAtOCwKKyAgICAtMHgxLjAwY3A0MAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5mZWZkZjQ4ZWQ2NDljZDA4N2UzZTgwMTIxOWVkZjgwNHAtMSwKKyAgICAweDEuMDExcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmZlZmRmNDhlZDY0OWNkMDg3ZTNlODAxMjE5ZWRmODA0cC0xLAorICAgIC0weDEuMDExcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS5mZmMxNmEwZjEyZmYyNzFjZWQ3MmZjNjU5ZGRjZDM4MnAtMSwKKyAgICAweDEuMDExcDk5NgorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuZmZjMTZhMGYxMmZmMjcxY2VkNzJmYzY1OWRkY2QzODJwLTEsCisgICAgLTB4MS4wMTFwOTk2CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLmVmZDViNjFhMzBhMzg3ZmZmMTQwMDUxOTg0NWZjYjFlcC0xLAorICAgIDB4MS4wMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuZWZkNWI2MWEzMGEzODdmZmYxNDAwNTE5ODQ1ZmNiMWVwLTEsCisgICAgLTB4MS4wMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuYzk3YjgxNjFkYzUwYTA2Y2Q0ODAxZGVlYjhlMDcxNWJwLTIsCisgICAgMHgxLjAyMDQyNjBjMTgzMDdwNTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuYzk3YjgxNjFkYzUwYTA2Y2Q0ODAxZGVlYjhlMDcxNWJwLTIsCisgICAgLTB4MS4wMjA0MjYwYzE4MzA3cDU5CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTB4MS5iZjI2YTNjOWI5ZmJlODM0ODg0NDkzNDNmMDhiMDhkN3AtMiwKKyAgICAweDEuMDJlNzhhMzIxMTU1ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS5iZjI2YTNjOWI5ZmJlODM0ODg0NDkzNDNmMDhiMDhkN3AtMiwKKyAgICAtMHgxLjAyZTc4YTMyMTE1NWVwMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5mZWY4MDZiMWY4NGU0ZGZkNWY3MTMwN2EzYzNlYjYwMnAtMSwKKyAgICAweDEuMDQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLmZlZjgwNmIxZjg0ZTRkZmQ1ZjcxMzA3YTNjM2ViNjAycC0xLAorICAgIC0weDEuMDQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmZlODUxZmJmODdkMTc2ZmI0YzY5Mjk1YzdmOTI4NDAycC0xLAorICAgIDB4MS4wNGJkZThiYjgwMjU4cDk4CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLmZlODUxZmJmODdkMTc2ZmI0YzY5Mjk1YzdmOTI4NDAycC0xLAorICAgIC0weDEuMDRiZGU4YmI4MDI1OHA5OAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS43MGY2YTUxZGE4ZWZlYzM5OGU3NDE2OWU3NzEzODZlYXAtMSwKKyAgICAweDEuMDc3ZTc0OWUzN2NlZXAyMzYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuNzBmNmE1MWRhOGVmZWMzOThlNzQxNjllNzcxMzg2ZWFwLTEsCisgICAgLTB4MS4wNzdlNzQ5ZTM3Y2VlcDIzNgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS42YjQwOGM4NTZiZGE1N2ZlNTgyOWE1ODM2MWZlYTExMnAtMywKKyAgICAweDEuMDdmODBwMzAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjZiNDA4Yzg1NmJkYTU3ZmU1ODI5YTU4MzYxZmVhMTEycC0zLAorICAgIC0weDEuMDdmODBwMzAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjJiMmY5NjVhZTQwZmM3ZmZmZmJjYTBiN2VhZWM1OTE5cC0xLAorICAgIDB4MS4wN2Y5YmVhMWIzNTQ2cDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjJiMmY5NjVhZTQwZmM3ZmZmZmJjYTBiN2VhZWM1OTE5cC0xLAorICAgIC0weDEuMDdmOWJlYTFiMzU0NnAyNworICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuNGVlZDJmM2ZjNzZhNzdmODAzZDg5MTFlZWRkY2M1ZThwLTEsCisgICAgMHgxLjA5MGQxODM3MmYyZDVwNAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuNGVlZDJmM2ZjNzZhNzdmODAzZDg5MTFlZWRkY2M1ZThwLTEsCisgICAgLTB4MS4wOTBkMTgzNzJmMmQ1cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuZmJhNTlhZWNlZTUwMDAzMTVjZWUzMjMwNzllZDE0MjdwLTEsCisgICAgMHgxLjBiNHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5mYmE1OWFlY2VlNTAwMDMxNWNlZTMyMzA3OWVkMTQyN3AtMSwKKyAgICAtMHgxLjBiNHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mZmZkMWJjZGE3YTdkNTUxMGFhM2QwZWQ4YWRkYzc4NXAtMSwKKyAgICAweDEuMGMwZDVjMmFmM2MyZXAzNDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuZmZmZDFiY2RhN2E3ZDU1MTBhYTNkMGVkOGFkZGM3ODVwLTEsCisgICAgLTB4MS4wYzBkNWMyYWYzYzJlcDM0NgorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuZTRkZmU4MzEyOTI4NjdmZGMxMzMzYzBhNGMzZjNmNzBwLTEsCisgICAgMHgxLjBkMzA1OTZlZTkxZmRwMjE2CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5lNGRmZTgzMTI5Mjg2N2ZkYzEzMzNjMGE0YzNmM2Y3MHAtMSwKKyAgICAtMHgxLjBkMzA1OTZlZTkxZmRwMjE2CisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmZiODQzMjg4NmEyODNiMTdhY2FhNTI0ZTMxMmFiMWUzcC0yLAorICAgIDB4MS4wZDZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5mYjg0MzI4ODZhMjgzYjE3YWNhYTUyNGUzMTJhYjFlM3AtMiwKKyAgICAtMHgxLjBkNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmZmZmZlZTIwMjg1M2ZmYmJjMTY4NDg0NzAxOTcyN2EwcC0xLAorICAgIDB4MS4wZTk0NzRjNjg4MzFjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5mZmZmZWUyMDI4NTNmZmJiYzE2ODQ4NDcwMTk3MjdhMHAtMSwKKyAgICAtMHgxLjBlOTQ3NGM2ODgzMWNwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5iNzBkM2Q1NTg0YjFhODNjNjhlMjU0ZTUyM2QzN2RmZHAtMiwKKyAgICAweDEuMTEzYmFlNDA0OTg0OXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5iNzBkM2Q1NTg0YjFhODNjNjhlMjU0ZTUyM2QzN2RmZHAtMiwKKyAgICAtMHgxLjExM2JhZTQwNDk4NDlwMgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5mZWQ4ZGY1OGY2MjVmZGNiYjFlNDBjZjgzY2FhMmNhMnAtMSwKKyAgICAweDEuMTJlYjg3MDk3NjU0MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS5mZWQ4ZGY1OGY2MjVmZGNiYjFlNDBjZjgzY2FhMmNhMnAtMSwKKyAgICAtMHgxLjEyZWI4NzA5NzY1NDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuZTUzNmFlMzk1ZGZjZTAwMTQ1Nzk3MGM4YWFhYzNiMWZwLTIsCisgICAgMHgxLjEzY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLmU1MzZhZTM5NWRmY2UwMDE0NTc5NzBjOGFhYWMzYjFmcC0yLAorICAgIC0weDEuMTNjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuZmVkMDQ3NmZjNzVjOTgwMDAwMDAwMDAwMDAyMGIxM2VwLTEsCisgICAgMHgxLjE2ZTUzNGVlMzY1ODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuZmVkMDQ3NmZjNzVjOTgwMDAwMDAwMDAwMDAyMGIxM2VwLTEsCisgICAgLTB4MS4xNmU1MzRlZTM2NTgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmZiMzhlODJlMzE5M2E3ZjE5YTE3ZDIzMWEyZTgxOTRlcC0xLAorICAgIDB4MS4xN2ZmZmZmZmZlYTk4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLmZiMzhlODJlMzE5M2E3ZjE5YTE3ZDIzMWEyZTgxOTRlcC0xLAorICAgIC0weDEuMTdmZmZmZmZmZWE5OHAtMworICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5mYjM4ZTgyZTMxODdmYzY1NzQ3YWU0NDM0NjFlYjQzNHAtMSwKKyAgICAweDEuMTgwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLmZiMzhlODJlMzE4N2ZjNjU3NDdhZTQ0MzQ2MWViNDM0cC0xLAorICAgIC0weDEuMTgwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5lNTk2NDdmMWZlOWM3NTAwNTliOWVhZmI4OGMyYWNlYXAtMSwKKyAgICAweDEuMWExOTFlYmJiNGQ3ZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5lNTk2NDdmMWZlOWM3NTAwNTliOWVhZmI4OGMyYWNlYXAtMSwKKyAgICAtMHgxLjFhMTkxZWJiYjRkN2ZwNworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuZDBkY2ExZjg3MTViZDdmOWZmMzczYzc2MzUyMmRiMGVwLTQsCisgICAgMHgxLjFkYTg0ZjJiN2IxZDhwNworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZDBkY2ExZjg3MTViZDdmOWZmMzczYzc2MzUyMmRiMGVwLTQsCisgICAgLTB4MS4xZGE4NGYyYjdiMWQ4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuYjkxN2ViYmMzMGUxZDgzNjRiYzNjMmMxMGVhMTM1MzlwLTIsCisgICAgMHgxLjIwMWU5NzMyNTEzMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5iOTE3ZWJiYzMwZTFkODM2NGJjM2MyYzEwZWExMzUzOXAtMiwKKyAgICAtMHgxLjIwMWU5NzMyNTEzMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS5mZmZhZGYxMmZmNDE0N2Y2ZjZmMzViNDRiMGY2Y2I0NnAtMSwKKyAgICAweDEuMjFlMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuZmZmYWRmMTJmZjQxNDdmNmY2ZjM1YjQ0YjBmNmNiNDZwLTEsCisgICAgLTB4MS4yMWUwMnAtNworICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuNTk4YTRkYWIzZGU1OTdkNTJmYWE3MzY3NjJhM2Y2NTFwLTEsCisgICAgMHgxLjI3ZTI5YTRiOTg1YmZwMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuNTk4YTRkYWIzZGU1OTdkNTJmYWE3MzY3NjJhM2Y2NTFwLTEsCisgICAgLTB4MS4yN2UyOWE0Yjk4NWJmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuZmE5NWMxMTU0YWJmNTZjNGRiYjc3YmZlNWU0ZThmNDJwLTEsCisgICAgMHgxLjJhMWYyOGRiZmI2YzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEuZmE5NWMxMTU0YWJmNTZjNGRiYjc3YmZlNWU0ZThmNDJwLTEsCisgICAgLTB4MS4yYTFmMjhkYmZiNmMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS42NDEyMjkzYWRiN2JjYTk3NzMxZTUwYTg2MzEyZGEyZHAtMSwKKyAgICAweDEuMmI4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLjY0MTIyOTNhZGI3YmNhOTc3MzFlNTBhODYzMTJkYTJkcC0xLAorICAgIC0weDEuMmI4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuZmZmYTUxOGE3ZDBlNzdmM2I0MzFmY2QwYmEzNTMwOTVwLTEsCisgICAgMHgxLjMxMTk5ZGVmNzJmNGRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuZmZmYTUxOGE3ZDBlNzdmM2I0MzFmY2QwYmEzNTMwOTVwLTEsCisgICAgLTB4MS4zMTE5OWRlZjcyZjRkcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLmYzNjg5NWZlMTc3Zjc3ZmU4NDc5ODI2NGFkNGYzM2IxcC0xLAorICAgIDB4MS4zMTI2MGUxNDg1MDE0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEuZjM2ODk1ZmUxNzdmNzdmZTg0Nzk4MjY0YWQ0ZjMzYjFwLTEsCisgICAgLTB4MS4zMTI2MGUxNDg1MDE0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuZDM2MjA3YjRmZWUxNjdmNmIzMTg1ZmRkOTI5NGEyMzNwLTQsCisgICAgMHgxLjM0ZTk2NGNkMTAzYmRwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS5kMzYyMDdiNGZlZTE2N2Y2YjMxODVmZGQ5Mjk0YTIzM3AtNCwKKyAgICAtMHgxLjM0ZTk2NGNkMTAzYmRwMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuODRhMzdmNGZhNzYxNmNhYWQ2NmI0ZDcwMWFiNTNlOTRwLTEsCisgICAgMHgxLjM3NjE4YTBiYTc4NTBwMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuODRhMzdmNGZhNzYxNmNhYWQ2NmI0ZDcwMWFiNTNlOTRwLTEsCisgICAgLTB4MS4zNzYxOGEwYmE3ODUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLmM4MzBiYmM5OWUyMjkwZjlkOTNhYTYyYjJkZGZlYzk3cC0zOSwKKyAgICAweDEuMzc5NzA0ZjVmMWViM3AyNAorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuYzgzMGJiYzk5ZTIyOTBmOWQ5M2FhNjJiMmRkZmVjOTdwLTM5LAorICAgIC0weDEuMzc5NzA0ZjVmMWViM3AyNAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5iNWRhYWEyMzNiZDRmN2ZjZjM0YjZkNWQwMjgwMTcyZnAtMywKKyAgICAweDEuM2I2MWRkMTY2ZDQ3MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLmI1ZGFhYTIzM2JkNGY3ZmNmMzRiNmQ1ZDAyODAxNzJmcC0zLAorICAgIC0weDEuM2I2MWRkMTY2ZDQ3MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS5mZmQwMGRjNGRiNDAwZDk2MmUyZDI1NWE2NjFlM2NjYnAtNCwKKyAgICAweDEuM2MwMTEwMjJhY2JkMHAzNworICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuZmZkMDBkYzRkYjQwMGQ5NjJlMmQyNTVhNjYxZTNjY2JwLTQsCisgICAgLTB4MS4zYzAxMTAyMmFjYmQwcDM3CisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgLTB4MS4xNDA1MmI0MDE2ZmY1N2ZlNTc1MGVkMzQyNmJmZDc1OHAtMSwKKyAgICAweDEuM2U3Nzg4ZTkwMGI3MHA3MjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjE0MDUyYjQwMTZmZjU3ZmU1NzUwZWQzNDI2YmZkNzU4cC0xLAorICAgIC0weDEuM2U3Nzg4ZTkwMGI3MHA3MjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuZmZmZmU2YTVlNDE5N2Y1ZmM1MGFjYjE4OWViODVjOTRwLTEsCisgICAgMHgxLjQyM2VhZmRjYzI3NzlwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmZmZmZlNmE1ZTQxOTdmNWZjNTBhY2IxODllYjg1Yzk0cC0xLAorICAgIC0weDEuNDIzZWFmZGNjMjc3OXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLmZlMDlmYzNkMTZmZWRkNzUwODMwMWRmNjg4NTdiNzU2cC02LAorICAgIDB4MS40MzIxODI4YzFiNTM4cDExOQorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuZmUwOWZjM2QxNmZlZGQ3NTA4MzAxZGY2ODg1N2I3NTZwLTYsCisgICAgLTB4MS40MzIxODI4YzFiNTM4cDExOQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5iNjg1ZDk0OWEyN2EwMTQzYzRhYzliNTUzNTQxZWJlY3AtMTQsCisgICAgMHgxLjQzNTA2Y2IyMjk3NWRwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuYjY4NWQ5NDlhMjdhMDE0M2M0YWM5YjU1MzU0MWViZWNwLTE0LAorICAgIC0weDEuNDM1MDZjYjIyOTc1ZHAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mZTM5ODA5MGUyMDNiYzJmNmZlNjgzMGQzODBmYWNjNHAtMSwKKyAgICAweDEuNDM5ZjYzNDk1Nzg2YXA2NworICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5mZTM5ODA5MGUyMDNiYzJmNmZlNjgzMGQzODBmYWNjNHAtMSwKKyAgICAtMHgxLjQzOWY2MzQ5NTc4NmFwNjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZmU2Mjc0ZTAwMDk3M2EyNmMxYTAwNTNlM2ZkZWZmYzdwLTEsCisgICAgMHgxLjQ1NzUzOGE2YmQwNzNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuZmU2Mjc0ZTAwMDk3M2EyNmMxYTAwNTNlM2ZkZWZmYzdwLTEsCisgICAgLTB4MS40NTc1MzhhNmJkMDczcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjA5ZmNiNjkzNTljMDlkNTczOWYxZjAyNTVkNGZjZTgzcC0xLAorICAgIDB4MS40NzhmYzA4cDQzCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLjA5ZmNiNjkzNTljMDlkNTczOWYxZjAyNTVkNGZjZTgzcC0xLAorICAgIC0weDEuNDc4ZmMwOHA0MworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMjBjMjE1ODUxMWU3ODk5ZjFlYzM3OWU5MGMyOTY3ODBwLTksCisgICAgMHgxLjQ4YTQ1Nzk3Y2JlNjNwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLjIwYzIxNTg1MTFlNzg5OWYxZWMzNzllOTBjMjk2NzgwcC05LAorICAgIC0weDEuNDhhNDU3OTdjYmU2M3A2MQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS45OTBkMTdhYWUyNTMwN2ZlYzRhZTZkNGU5OGYzMDA5M3AtMSwKKyAgICAweDEuNGE2MmUwZTEyYzE3M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS45OTBkMTdhYWUyNTMwN2ZlYzRhZTZkNGU5OGYzMDA5M3AtMSwKKyAgICAtMHgxLjRhNjJlMGUxMmMxNzNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuZmRkNGYxZTAwYjM4NzAwNDE5Zjk2ZDM0MTkwNWQwNDVwLTMsCisgICAgMHgxLjRjNTk2NjQyYTk0ODhwOQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS5mZGQ0ZjFlMDBiMzg3MDA0MTlmOTZkMzQxOTA1ZDA0NXAtMywKKyAgICAtMHgxLjRjNTk2NjQyYTk0ODhwOQorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5mZTRmMTQxMDMyZjM3N2ZlMTM1YjEzZTA0NDM2YzVmZnAtMSwKKyAgICAweDEuNGQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmZlNGYxNDEwMzJmMzc3ZmUxMzViMTNlMDQ0MzZjNWZmcC0xLAorICAgIC0weDEuNGQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjk0ZTlmNDVkNDNjMTM3YTNmMzQ1NjQ0MjQwYTJjZWYwcC0yLAorICAgIDB4MS40ZjBmMzA4cDQ4OAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS45NGU5ZjQ1ZDQzYzEzN2EzZjM0NTY0NDI0MGEyY2VmMHAtMiwKKyAgICAtMHgxLjRmMGYzMDhwNDg4CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjkzNTVmNjlhZDQzMjY0MDQ4MjdjZDVjY2ZmOGEwYzY5cC0yLAorICAgIDB4MS41MmYwMGUwcDc5MworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS45MzU1ZjY5YWQ0MzI2NDA0ODI3Y2Q1Y2NmZjhhMGM2OXAtMiwKKyAgICAtMHgxLjUyZjAwZTBwNzkzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLjFhMTliZThiZWExMGE4MDFkMGIyZDA5ZDk1MDljMmM0cC0xLAorICAgIDB4MS41MmYwNmM3MzBlYzAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuMWExOWJlOGJlYTEwYTgwMWQwYjJkMDlkOTUwOWMyYzRwLTEsCisgICAgLTB4MS41MmYwNmM3MzBlYzAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuMzg1ZDkyZWMwYzczMzdmZWEzOTQ5M2Y2ZjI2NzQzMjhwLTEsCisgICAgMHgxLjUzZTdkNTg0NWZlM2RwMjIwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLjM4NWQ5MmVjMGM3MzM3ZmVhMzk0OTNmNmYyNjc0MzI4cC0xLAorICAgIC0weDEuNTNlN2Q1ODQ1ZmUzZHAyMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZmZmZmZmZmZmZTJmMGYwMDAwMDA0NjVlMzU5MmJmZmJwLTEsCisgICAgMHgxLjU5MHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmZmZmZmZmZmZTJmMGYwMDAwMDA0NjVlMzU5MmJmZmJwLTEsCisgICAgLTB4MS41OTBwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5mZmQ3YmMyOGRlZDkxZmZhMjAwZDY3NzEwOTI1MTgwMXAtMSwKKyAgICAweDEuNTkyZjExNzZmMDk4MHA4NgorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuZmZkN2JjMjhkZWQ5MWZmYTIwMGQ2NzcxMDkyNTE4MDFwLTEsCisgICAgLTB4MS41OTJmMTE3NmYwOTgwcDg2CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgLTB4MS5jZWUyOGIzZDc5Nzk5MDAwMDA5ZWE4MDgxMjQ0MTE2Y3AtMSwKKyAgICAweDEuNTk5OTk5OWRjMDlkY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS5jZWUyOGIzZDc5Nzk5MDAwMDA5ZWE4MDgxMjQ0MTE2Y3AtMSwKKyAgICAtMHgxLjU5OTk5OTlkYzA5ZGNwMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5jMWYxZWIwOGMyNjA0MGEzMjgwMGYwODc5NTJhMzgzY3AtMSwKKyAgICAweDEuNWJlYTAxMHA0NjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuYzFmMWViMDhjMjYwNDBhMzI4MDBmMDg3OTUyYTM4M2NwLTEsCisgICAgLTB4MS41YmVhMDEwcDQ2OAorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS5mZmZlMzVhYjA5YTY1M2UyNjZlYWRhNmY0NDA1NTIxNHAtMSwKKyAgICAweDEuNWNiODBhNjEzNWU1YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLmZmZmUzNWFiMDlhNjUzZTI2NmVhZGE2ZjQ0MDU1MjE0cC0xLAorICAgIC0weDEuNWNiODBhNjEzNWU1YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS4wN2I4NWY2MDZlNzVkNzY1YjFhYTNiYmNjYmE2ZWFmOHAtMywKKyAgICAweDEuNWQ1YmU0ODczMGQyZHAxMworICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuMDdiODVmNjA2ZTc1ZDc2NWIxYWEzYmJjY2JhNmVhZjhwLTMsCisgICAgLTB4MS41ZDViZTQ4NzMwZDJkcDEzCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZmZmZmZmZmZmY4NjIzOWMwMDAwMDRkNTgxYjA1NWVicC0xLAorICAgIDB4MS42MTRwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLmZmZmZmZmZmZmY4NjIzOWMwMDAwMDRkNTgxYjA1NWVicC0xLAorICAgIC0weDEuNjE0cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIC0weDEuZGQzYTgwNmU4OWNmMTdmZmZmZjE2ZWNkNTM5N2I0ODZwLTEsCisgICAgMHgxLjYyYWRjOGE2NjAzNjRwMQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuZGQzYTgwNmU4OWNmMTdmZmZmZjE2ZWNkNTM5N2I0ODZwLTEsCisgICAgLTB4MS42MmFkYzhhNjYwMzY0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLjQzMDhiMTRmNGI2ZWRjNGMwN2VlNjg5NWYzMTg4YWYzcC0xLAorICAgIDB4MS42NGVmNDM4cDE0MgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuNDMwOGIxNGY0YjZlZGM0YzA3ZWU2ODk1ZjMxODhhZjNwLTEsCisgICAgLTB4MS42NGVmNDM4cDE0MgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS42NjIzZDJlYjZhZGQxZmZjMzk4YTNjMjA0NDdmOWQwNnAtMywKKyAgICAweDEuNjUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuNjYyM2QyZWI2YWRkMWZmYzM5OGEzYzIwNDQ3ZjlkMDZwLTMsCisgICAgLTB4MS42NTJwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5mZmY4MzJjNTBmNDcxZmY1NTk5YzIzZGM5NjhlYjhlNHAtMSwKKyAgICAweDEuNjU4NjViMmNiMDhhMnAtNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZmY4MzJjNTBmNDcxZmY1NTk5YzIzZGM5NjhlYjhlNHAtMSwKKyAgICAtMHgxLjY1ODY1YjJjYjA4YTJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEuYWNjMjUxYmUzMzAyMjgwMjFiYzMxMzA3YmM4MWRjMTZwLTEsCisgICAgMHgxLjZhOTM3ZGFhYmMyMGVwMzc1CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLmFjYzI1MWJlMzMwMjI4MDIxYmMzMTMwN2JjODFkYzE2cC0xLAorICAgIC0weDEuNmE5MzdkYWFiYzIwZXAzNzUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLjE0YWU3MmU2YmEyMmVmNDYwODg3NWM0MTM3OGViMDUycC02MSwKKyAgICAweDEuNmFjNWIyNjJjYTFmZnA4NDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjE0YWU3MmU2YmEyMmVmNDYwODg3NWM0MTM3OGViMDUycC02MSwKKyAgICAtMHgxLjZhYzViMjYyY2ExZmZwODQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLmUwNjE5OTYwYTExYzY4MDFlODBhYjBjOWUyNWY4OWQwcC0yLAorICAgIDB4MS42ZjdiZGVmN2JkZWY0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuZTA2MTk5NjBhMTFjNjgwMWU4MGFiMGM5ZTI1Zjg5ZDBwLTIsCisgICAgLTB4MS42ZjdiZGVmN2JkZWY0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuOGQyM2Y5NzkwMWEzMDdmZmZkNmM1MmFkZjgzZjA5OTNwLTEsCisgICAgMHgxLjczOWNlNzU5Y2U3MzhwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLjhkMjNmOTc5MDFhMzA3ZmZmZDZjNTJhZGY4M2YwOTkzcC0xLAorICAgIC0weDEuNzM5Y2U3NTljZTczOHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZmZmZmY3OGExNGJhMGYzOGE4NGI0OGRjZGI2M2Q0NGZwLTEsCisgICAgMHgxLjc0NTBjM2Y0OWQwYjJwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLmZmZmZmNzhhMTRiYTBmMzhhODRiNDhkY2RiNjNkNDRmcC0xLAorICAgIC0weDEuNzQ1MGMzZjQ5ZDBiMnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuZDZmMWM3MjdmYjJjYjdmN2U5Y2JlZTJlMTQyNDZjMDhwLTQsCisgICAgMHgxLjc0OWZlNTNmOTYzZmRwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5kNmYxYzcyN2ZiMmNiN2Y3ZTljYmVlMmUxNDI0NmMwOHAtNCwKKyAgICAtMHgxLjc0OWZlNTNmOTYzZmRwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuZjI4NGI1MDI4YzE4NDdmZmZmZmM5NTMyZmU4OTJhYWRwLTEsCisgICAgMHgxLjc0YWY2NzI1YzYyMDZwMQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuZjI4NGI1MDI4YzE4NDdmZmZmZmM5NTMyZmU4OTJhYWRwLTEsCisgICAgLTB4MS43NGFmNjcyNWM2MjA2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLmYzMTY1YTBiMzA2YjFmZmNmOGQxMTkwOWZmZmJhMTY3cC0xLAorICAgIDB4MS43NTUwZDI4ZmZjY2M0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAtMHgxLmYzMTY1YTBiMzA2YjFmZmNmOGQxMTkwOWZmZmJhMTY3cC0xLAorICAgIC0weDEuNzU1MGQyOGZmY2NjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmQ2NmQyMDc4ZWJkZWI3ZmZlZGY4YTQ4ZTI1MDg0YzE5cC0xLAorICAgIDB4MS43NzVlMzk3Y2Q2YWEwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuZDY2ZDIwNzhlYmRlYjdmZmVkZjhhNDhlMjUwODRjMTlwLTEsCisgICAgLTB4MS43NzVlMzk3Y2Q2YWEwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuN2FmOWExMzA4NWY1MzgyYTg3YTU0MWFlMGIyZTU5NjVwLTEsCisgICAgMHgxLjc5OTMwMmJmN2YyOTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuN2FmOWExMzA4NWY1MzgyYTg3YTU0MWFlMGIyZTU5NjVwLTEsCisgICAgLTB4MS43OTkzMDJiZjdmMjkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLmZmZGQyZmRhYzBjMjQ4M2U3YjExNmQ2ZDQ4OGU3YTRicC0xLAorICAgIDB4MS43OTlmZmZmZmZmZmZkcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLmZmZGQyZmRhYzBjMjQ4M2U3YjExNmQ2ZDQ4OGU3YTRicC0xLAorICAgIC0weDEuNzk5ZmZmZmZmZmZmZHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5mZmY3NDRmMTg1YTczN2YyNTY3MzJjZTg3ZGJhZjdhN3AtMSwKKyAgICAweDEuN2EzNjkyY2E5NDQ5MHAtNworICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5mZmY3NDRmMTg1YTczN2YyNTY3MzJjZTg3ZGJhZjdhN3AtMSwKKyAgICAtMHgxLjdhMzY5MmNhOTQ0OTBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuN2E2YjMyNmI2OTBmYTgzMWVlNGQwZGQ3Mjc4N2ZiYzNwLTEsCisgICAgMHgxLjdhNjZhNjM4YWM1YjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuN2E2YjMyNmI2OTBmYTgzMWVlNGQwZGQ3Mjc4N2ZiYzNwLTEsCisgICAgLTB4MS43YTY2YTYzOGFjNWI1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjY3MWZkYjY0ZmZiZWQ3ZTQ5NTJhOWQ5Njc5NDFlN2RhcC00LAorICAgIDB4MS43YmE2NTQ2MmI0OWEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuNjcxZmRiNjRmZmJlZDdlNDk1MmE5ZDk2Nzk0MWU3ZGFwLTQsCisgICAgLTB4MS43YmE2NTQ2MmI0OWEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuZmZhNTU0OTBmMjA2ZTNiNDMyM2EwMjQ3N2I0MTQ5ZThwLTEsCisgICAgMHgxLjdjZGYzN2NkZjM3YzlwMjM5CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLmZmYTU1NDkwZjIwNmUzYjQzMjNhMDI0NzdiNDE0OWU4cC0xLAorICAgIC0weDEuN2NkZjM3Y2RmMzdjOXAyMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuNGM1YjU5NzBhM2E0ODgyMzMwMDU3NDJhZjVlNmE5NWVwLTQsCisgICAgMHgxLjdkNTQyNTY1ZjQ3MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS40YzViNTk3MGEzYTQ4ODIzMzAwNTc0MmFmNWU2YTk1ZXAtNCwKKyAgICAtMHgxLjdkNTQyNTY1ZjQ3MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS40NzlhNTY2N2M2M2Y1N2RhMjZhZGYxODBhN2ViMmZmYnAtNCwKKyAgICAweDEuN2RhMDc1MTY0OTA1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjQ3OWE1NjY3YzYzZjU3ZGEyNmFkZjE4MGE3ZWIyZmZicC00LAorICAgIC0weDEuN2RhMDc1MTY0OTA1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLmZmZjcxNzUxMWRjYjU3ZjMyZDM4ZjI5YzAxMzc5Yjk4cC0xLAorICAgIDB4MS43ZTBkZGNkYTZjYzBkcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLmZmZjcxNzUxMWRjYjU3ZjMyZDM4ZjI5YzAxMzc5Yjk4cC0xLAorICAgIC0weDEuN2UwZGRjZGE2Y2MwZHAtNworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5mZmZmZmZmZmZmNzA3N2U3MDAwMDA2YjRjNzA2MGMzM3AtMSwKKyAgICAweDEuN2Y2cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5mZmZmZmZmZmZmNzA3N2U3MDAwMDA2YjRjNzA2MGMzM3AtMSwKKyAgICAtMHgxLjdmNnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLmZmZjllMTU1NDY5ODAxNzIyMDkxN2MzZmIzMTE4OGRkcC0xLAorICAgIDB4MS43ZjkwMTE3ZDQ0Yzc0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZmZmOWUxNTU0Njk4MDE3MjIwOTE3YzNmYjMxMTg4ZGRwLTEsCisgICAgLTB4MS43ZjkwMTE3ZDQ0Yzc0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mZmRjMDA2YmZmN2U5ODRhOGQ1MDMxYTcxNTJkMzZlNXAtMSwKKyAgICAweDEuN2ZmZmZmZmZmZWY3YXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5mZmRjMDA2YmZmN2U5ODRhOGQ1MDMxYTcxNTJkMzZlNXAtMSwKKyAgICAtMHgxLjdmZmZmZmZmZmVmN2FwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuZmZkYzAwNmJmZjdlNzg0NzRkNjZkN2YyNWMzYWMyNzdwLTEsCisgICAgMHgxLjdmZmZmZmZmZmZhMjZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuZmZkYzAwNmJmZjdlNzg0NzRkNjZkN2YyNWMzYWMyNzdwLTEsCisgICAgLTB4MS43ZmZmZmZmZmZmYTI2cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLmZmZGMwMDZiZmY3ZTY4MzlhZGJhMmE5MTEwOGQ1NmFmcC0xLAorICAgIDB4MS43ZmZmZmZmZmZmZjgwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLmZmZGMwMDZiZmY3ZTY4MzlhZGJhMmE5MTEwOGQ1NmFmcC0xLAorICAgIC0weDEuN2ZmZmZmZmZmZmY4MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS43NjA3MThhYjQ0Mzk3N2ZkZDhmOGYyMjIxY2E0ZGIzY3AtMSwKKyAgICAweDEuODBlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjc2MDcxOGFiNDQzOTc3ZmRkOGY4ZjIyMjFjYTRkYjNjcC0xLAorICAgIC0weDEuODBlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWIyOWQwYnAtMSwKKyAgICAweDEuODFhZTBkZmZhM2IzM3A5NTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYjI5ZDBicC0xLAorICAgIC0weDEuODFhZTBkZmZhM2IzM3A5NTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAtMHgxLmZiZGM0ODEyNWIzNDU3NGNmMWY5MTQxOWU3ZWRiNzVicC0xLAorICAgIDB4MS44MWQ2MTIyODljNWNmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLmZiZGM0ODEyNWIzNDU3NGNmMWY5MTQxOWU3ZWRiNzVicC0xLAorICAgIC0weDEuODFkNjEyMjg5YzVjZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmOWUzOTY2NTFjYzk3ZTkzNWIyZTBlZTczNjA3ZDEycC01LAorICAgIDB4MS44MjIwMTkyMjcwYTBlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuZmY5ZTM5NjY1MWNjOTdlOTM1YjJlMGVlNzM2MDdkMTJwLTUsCisgICAgLTB4MS44MjIwMTkyMjcwYTBlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmUyYjI2ZGRkYjVjODgyZjMwYTg4NWMxYjI5MWY5NDVwLTUsCisgICAgMHgxLjgyMmJiNzgwZTkxMDRwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS5mZTJiMjZkZGRiNWM4ODJmMzBhODg1YzFiMjkxZjk0NXAtNSwKKyAgICAtMHgxLjgyMmJiNzgwZTkxMDRwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS5lYjg3Y2ZmN2M5MTE1N2E3NTU4MThjMDEyODRiMGU1MXAtNSwKKyAgICAweDEuODJjMTE5YzRiOGU0OXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLmViODdjZmY3YzkxMTU3YTc1NTgxOGMwMTI4NGIwZTUxcC01LAorICAgIC0weDEuODJjMTE5YzRiOGU0OXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLmViODdjZmY3YTYyYjc3YjU3YTY2YWMyNzVhMzEwNGM4cC01LAorICAgIDB4MS44MmMxMTljNGI5ZmM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuZWI4N2NmZjdhNjJiNzdiNTdhNjZhYzI3NWEzMTA0YzhwLTUsCisgICAgLTB4MS44MmMxMTljNGI5ZmM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuZWI4N2NmZjc5NWFiMTdhODA3ODY0ZDhmYjBjYTQzY2FwLTUsCisgICAgMHgxLjgyYzExOWM0YmE4MDhwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5lYjg3Y2ZmNzk1YWIxN2E4MDc4NjRkOGZiMGNhNDNjYXAtNSwKKyAgICAtMHgxLjgyYzExOWM0YmE4MDhwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5kZTFkMTdhYjBkNmE0ODM2NzUyMzE5M2Q2ODU2OGMxYnAtNSwKKyAgICAweDEuODMyYzlmYzc2NTI3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLmRlMWQxN2FiMGQ2YTQ4MzY3NTIzMTkzZDY4NTY4YzFicC01LAorICAgIC0weDEuODMyYzlmYzc2NTI3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLmRjODZlN2JlYzBjNDQ4NDhjZmMzOWI3ZjFiODIwNGFjcC01LAorICAgIDB4MS44MzM5NTZjZTdkMWY5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuZGM4NmU3YmVjMGM0NDg0OGNmYzM5YjdmMWI4MjA0YWNwLTUsCisgICAgLTB4MS44MzM5NTZjZTdkMWY5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuZGIwM2NiYjk0MmE3YTg0OTc0ZTkwNGVjYzg5NmE1ZWVwLTUsCisgICAgMHgxLjgzNDU3NGViMWMwOTlwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5kYjAzY2JiOTQyYTdhODQ5NzRlOTA0ZWNjODk2YTVlZXAtNSwKKyAgICAtMHgxLjgzNDU3NGViMWMwOTlwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS5jZTQzMTcxMGQxNTA3N2IxZTgxNzBhNTMyYjY4YWJkZXAtNSwKKyAgICAweDEuODNhYmE1Njg4ZTEzZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLmNlNDMxNzEwZDE1MDc3YjFlODE3MGE1MzJiNjhhYmRlcC01LAorICAgIC0weDEuODNhYmE1Njg4ZTEzZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMHgxLmNkNDZiM2E3N2Y2ZGQ3YWIwZDMxMjU0NmFiYTdjMGFmcC01LAorICAgIDB4MS44M2IzOGJiYWZkNzVicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuY2Q0NmIzYTc3ZjZkZDdhYjBkMzEyNTQ2YWJhN2MwYWZwLTUsCisgICAgLTB4MS44M2IzOGJiYWZkNzVicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLmZmMjliYzY2NmJlZTZlYTQ0ZDRkYjAwMGU1ZjE3M2JmcC0xLAorICAgIDB4MS44NmEwMTdjYjFjMzFjcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5mZjI5YmM2NjZiZWU2ZWE0NGQ0ZGIwMDBlNWYxNzNiZnAtMSwKKyAgICAtMHgxLjg2YTAxN2NiMWMzMWNwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAtMHgxLjc5Njg5MTZlNGM2NDYzMGU4ZTNhZTYwMjc2YmEyZDI3cC0yLAorICAgIDB4MS44NzIwNTg4cDM5MgorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0weDEuNzk2ODkxNmU0YzY0NjMwZThlM2FlNjAyNzZiYTJkMjdwLTIsCisgICAgLTB4MS44NzIwNTg4cDM5MgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5mYjk3YzdlNDUyOTE3ZjU5ODkwZGZiNDdlN2M5YjVlM3AtMSwKKyAgICAweDEuODhhMjI4OGEyMjg4OHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLmZiOTdjN2U0NTI5MTdmNTk4OTBkZmI0N2U3YzliNWUzcC0xLAorICAgIC0weDEuODhhMjI4OGEyMjg4OHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTB4MS5hZTQ0YTVmMDFiZjYzMzAxNWU1YWFjY2NhYjRhN2YzZHAtMSwKKyAgICAweDEuOGNmMDEzOTkxYzMwOHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5hZTQ0YTVmMDFiZjYzMzAxNWU1YWFjY2NhYjRhN2YzZHAtMSwKKyAgICAtMHgxLjhjZjAxMzk5MWMzMDhwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5kOTZlODJmNzFhOWRjN2ZkODZmNTc0ODBlNzU0OTFlM3AtMSwKKyAgICAweDEuOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS5kOTZlODJmNzFhOWRjN2ZkODZmNTc0ODBlNzU0OTFlM3AtMSwKKyAgICAtMHgxLjlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuMGZkOWQ1YzA5M2RmNGY1N2ZjNDk0NjNlMmYzZjMzZTZwLTcsCisgICAgMHgxLjlwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS4wZmQ5ZDVjMDkzZGY0ZjU3ZmM0OTQ2M2UyZjNmMzNlNnAtNywKKyAgICAtMHgxLjlwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS4wZmQ5ZDVjMDVlNWZjODAxYTBmNWNiZmEzMzc3N2FlNHAtNywKKyAgICAweDEuOTAwMDAwMDAwMDZiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLjBmZDlkNWMwNWU1ZmM4MDFhMGY1Y2JmYTMzNzc3YWU0cC03LAorICAgIC0weDEuOTAwMDAwMDAwMDZiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLmJjOGJlNzI1NDE3ZDg4MDAwMDBjYWRhNDJlZWVhMDRlcC0xLAorICAgIDB4MS45MDBjMjA2ZDQ0MTYycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuYmM4YmU3MjU0MTdkODgwMDAwMGNhZGE0MmVlZWEwNGVwLTEsCisgICAgLTB4MS45MDBjMjA2ZDQ0MTYycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuZmZmZmZmZmZmNjNiNjdlNDk3MmQ4NmEyZjlkODIwOWJwLTEsCisgICAgMHgxLjkwMGMyYWY3YmFlZjNwLTE5CisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLmZmZmZmZmZmZjYzYjY3ZTQ5NzJkODZhMmY5ZDgyMDlicC0xLAorICAgIC0weDEuOTAwYzJhZjdiYWVmM3AtMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuYmQ0NjRjOTM1MmQxMDdmZmZmZmY4ZGI5ZTBkYTcxYzBwLTEsCisgICAgMHgxLjkwMGYxMWJkODk1NWRwNgorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS5iZDQ2NGM5MzUyZDEwN2ZmZmZmZjhkYjllMGRhNzFjMHAtMSwKKyAgICAtMHgxLjkwMGYxMWJkODk1NWRwNgorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5mZmZmZmRhODVjZGQwZDQzMWUwNmY5YWE3NGJjOGNlMHAtMSwKKyAgICAweDEuOTEwYjM1YzMyNTNkNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuZmZmZmZkYTg1Y2RkMGQ0MzFlMDZmOWFhNzRiYzhjZTBwLTEsCisgICAgLTB4MS45MTBiMzVjMzI1M2Q0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAtMHgxLjJhZWVmNGI5ZWExYWU0ZTY0YzcxZmNjZjFmZDA2ZjQwcC0xOCwKKyAgICAweDEuOTIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLjJhZWVmNGI5ZWExYWU0ZTY0YzcxZmNjZjFmZDA2ZjQwcC0xOCwKKyAgICAtMHgxLjkyMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgLTB4MS5mZmZmZmZmZmQ5MDQ4NDc3OThjN2FjZDQ2YWQxODNjYXAtMTgsCisgICAgMHgxLjkyMjAzNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIC0weDEuZmZmZmZmZmZkOTA0ODQ3Nzk4YzdhY2Q0NmFkMTgzY2FwLTE4LAorICAgIC0weDEuOTIyMDM1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZjJhYzhjM2RhNzJjYnAtMSwKKyAgICAweDEuOTI1MWY5M2FlYjU5ZHAxMgorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmYyYWM4YzNkYTcyY2JwLTEsCisgICAgLTB4MS45MjUxZjkzYWViNTlkcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmZmYjhjNGQxZjc4YTg3ZmZmZmZiMjNkMTcxYmQ1NGQwcC0xLAorICAgIDB4MS45NDNiZTIyMWQ5MDlhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuZmZiOGM0ZDFmNzhhODdmZmZmZmIyM2QxNzFiZDU0ZDBwLTEsCisgICAgLTB4MS45NDNiZTIyMWQ5MDlhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuZmZmNjAxMWZkZGRhYjdmMjVjODJlNTM4NGQ0NmNjNjlwLTEsCisgICAgMHgxLjk0YWY2OTkzMDI4NzVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuZmZmNjAxMWZkZGRhYjdmMjVjODJlNTM4NGQ0NmNjNjlwLTEsCisgICAgLTB4MS45NGFmNjk5MzAyODc1cC03CisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLmQ3OTU0ZTdhM2VlOTk4MDAwMDk5NDcwNjA0MzI5YjY4cC0xLAorICAgIDB4MS45OTk5OTlhYjdiMGVkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLmQ3OTU0ZTdhM2VlOTk4MDAwMDk5NDcwNjA0MzI5YjY4cC0xLAorICAgIC0weDEuOTk5OTk5YWI3YjBlZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5kNzk1NGU3NmM4ZTMwZmZmZmY1YTliZjQ1NWEwNjQxMHAtMSwKKyAgICAweDEuOTk5OTk5YmQ0MTkwYnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS5kNzk1NGU3NmM4ZTMwZmZmZmY1YTliZjQ1NWEwNjQxMHAtMSwKKyAgICAtMHgxLjk5OTk5OWJkNDE5MGJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuZmEyM2NmYjgyMDIyNDQwZWI5NzJjN2UwODM5MzNkMjBwLTEsCisgICAgMHgxLjliZDBmMTk0NzlhMjRwMgorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS5mYTIzY2ZiODIwMjI0NDBlYjk3MmM3ZTA4MzkzM2QyMHAtMSwKKyAgICAtMHgxLjliZDBmMTk0NzlhMjRwMgorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIC0weDEuNmEwOWU2NjdmM2FmMDdmMmY0Njc2YjVmNmYyNjhjODFwLTEsCisgICAgMHgxLjljNTU4MzVlN2U4M2VwOAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIC0weDEuNmEwOWU2NjdmM2FmMDdmMmY0Njc2YjVmNmYyNjhjODFwLTEsCisgICAgLTB4MS45YzU1ODM1ZTdlODNlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuZmZmNTljMTI1NTgwOTdmMjg1OGY0YTEzMjZmMmRkZjRwLTEsCisgICAgMHgxLjljOTk0MmIxNDQ0OGRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuZmZmNTljMTI1NTgwOTdmMjg1OGY0YTEzMjZmMmRkZjRwLTEsCisgICAgLTB4MS45Yzk5NDJiMTQ0NDhkcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmZmZWNlNWNhYjRjYTU2NTJlYTJmYzdjY2NlODgzMzA0cC0xLAorICAgIDB4MS45ZDNkOTI0ODVlMmI1cDUyMworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS5mZmVjZTVjYWI0Y2E1NjUyZWEyZmM3Y2NjZTg4MzMwNHAtMSwKKyAgICAtMHgxLjlkM2Q5MjQ4NWUyYjVwNTIzCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS5mZjU1MzAxZDNhNzgwZDE5YzI4YzIyYzgyYzFmNTM4M3AtNSwKKyAgICAweDEuYTBkMDY4MzQxYTA4MHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS5mZjU1MzAxZDNhNzgwZDE5YzI4YzIyYzgyYzFmNTM4M3AtNSwKKyAgICAtMHgxLmEwZDA2ODM0MWEwODBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS41YTU2MTVhY2QwZGMwOWJmMzJlOTAzMTQ5NjM0Zjk5OXAtMSwKKyAgICAweDEuYTdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLjVhNTYxNWFjZDBkYzA5YmYzMmU5MDMxNDk2MzRmOTk5cC0xLAorICAgIC0weDEuYTdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLjc2NmFkMjdhMWRlNGZiMWE1YjY2NzIxNmJiZTZiZjY4cC0xNCwKKyAgICAweDEuYTg1ODM0Mzg2Mzk2NXAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuNzY2YWQyN2ExZGU0ZmIxYTViNjY3MjE2YmJlNmJmNjhwLTE0LAorICAgIC0weDEuYTg1ODM0Mzg2Mzk2NXAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuNmJkNGQ1YmU3MjQ5MzI1ZDg2ODA2MDZlNmI5ZWE2MjVwLTEsCisgICAgMHgxLmFiMTkwNjMzZDg4ZWFwMworICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS42YmQ0ZDViZTcyNDkzMjVkODY4MDYwNmU2YjllYTYyNXAtMSwKKyAgICAtMHgxLmFiMTkwNjMzZDg4ZWFwMworICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5mZmZmZmZmZmZmNGE1N2U2NGRhODdhNWFmNDdjZmExOHAtMSwKKyAgICAweDEuYWY0YmQyZjRiZDJmMHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAweDEuZmZmZmZmZmZmZjRhNTdlNjRkYTg3YTVhZjQ3Y2ZhMThwLTEsCisgICAgLTB4MS5hZjRiZDJmNGJkMmYwcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS43ZmYyOTM0YWQyOWE3NDI4OGI4ODYxMjRmZWFkNTg0MnAtMSwKKyAgICAweDEuYWZhNzAzMDBhZWU2MHA3MgorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS43ZmYyOTM0YWQyOWE3NDI4OGI4ODYxMjRmZWFkNTg0MnAtMSwKKyAgICAtMHgxLmFmYTcwMzAwYWVlNjBwNzIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuZmY4NjZhZWJkY2UwYTdmZmZmZmI2MDc0ZDUxOTk4OTZwLTEsCisgICAgMHgxLmI1YWI0MjdjZmZiNGNwOTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuZmY4NjZhZWJkY2UwYTdmZmZmZmI2MDc0ZDUxOTk4OTZwLTEsCisgICAgLTB4MS5iNWFiNDI3Y2ZmYjRjcDk0CisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgLTB4MS5mNTRmNTIyN2E0ZTgzZmJmOTM5YjJlOTYxNzhmMTIxZHAtNjAsCisgICAgMHgxLmI5NTFmMTU3MmViYTVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLmY1NGY1MjI3YTRlODNmYmY5MzliMmU5NjE3OGYxMjFkcC02MCwKKyAgICAtMHgxLmI5NTFmMTU3MmViYTVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuZmZmZDA2ZDM1NTc5YzdmZTI5NWRhZDE3ZWZiYmJlOTdwLTEsCisgICAgMHgxLmI5NmU1Yjk2ZTViOTFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuZmZmZDA2ZDM1NTc5YzdmZTI5NWRhZDE3ZWZiYmJlOTdwLTEsCisgICAgLTB4MS5iOTZlNWI5NmU1YjkxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgLTB4MS43YzQxMjhlMmFmZjRiMmI3OGUxNDc2MDFmYTY1OGFmNXAtMSwKKyAgICAweDEuYmEzYjE4Mzk1ZDE3YnA4CisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS43YzQxMjhlMmFmZjRiMmI3OGUxNDc2MDFmYTY1OGFmNXAtMSwKKyAgICAtMHgxLmJhM2IxODM5NWQxN2JwOAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmYWZmOWRwLTEsCisgICAgMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWZhZmY5ZHAtMSwKKyAgICAtMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLmZmZmZmZjNlNTM0NDY3ZmZmZmYzN2U1MDliN2I3OTJlcC0xLAorICAgIDB4MS5iZDU1YWE0MTFhYjQ2cC0xMworICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS5mZmZmZmYzZTUzNDQ2N2ZmZmZmMzdlNTA5YjdiNzkyZXAtMSwKKyAgICAtMHgxLmJkNTVhYTQxMWFiNDZwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgLTB4MS43ZmRiMDdiOWY3N2UwN2ZmZmY3MjA3YzQ2MjhkM2Y2OHAtMSwKKyAgICAweDEuYmQ2MTZkNGZlOTVjZHAzNgorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIC0weDEuN2ZkYjA3YjlmNzdlMDdmZmZmNzIwN2M0NjI4ZDNmNjhwLTEsCisgICAgLTB4MS5iZDYxNmQ0ZmU5NWNkcDM2CisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLmZmY2Y0ZGE3NjIyMmM4ODk3MTgyMzk1MjMzNDFmNGI1cC0xLAorICAgIDB4MS5iZWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuZmZjZjRkYTc2MjIyYzg4OTcxODIzOTUyMzM0MWY0YjVwLTEsCisgICAgLTB4MS5iZWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLmRkZWUxMzM1N2VjNmY3ZmNjOTUwMjM5OWZjY2RjMmYwcC0xLAorICAgIDB4MS5jMTE1MTZhZjU4NWE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLmRkZWUxMzM1N2VjNmY3ZmNjOTUwMjM5OWZjY2RjMmYwcC0xLAorICAgIC0weDEuYzExNTE2YWY1ODVhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjU4Y2NjZWMwNTlkYTE3ZDNmNDQ4YThiMmI2ZTdjMGU4cC0xLAorICAgIDB4MS5jNzVlNTRkZTRjMDZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuNThjY2NlYzA1OWRhMTdkM2Y0NDhhOGIyYjZlN2MwZThwLTEsCisgICAgLTB4MS5jNzVlNTRkZTRjMDZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYzg2NjNlcC0xLAorICAgIDB4MS5jYjQ0ZTg2YmMxOTJicDY0OAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjODY2M2VwLTEsCisgICAgLTB4MS5jYjQ0ZTg2YmMxOTJicDY0OAorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjIxOThmOXAtMSwKKyAgICAweDEuY2I0NGU4NmJjMTkyYnA2NDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYyMTk4ZjlwLTEsCisgICAgLTB4MS5jYjQ0ZTg2YmMxOTJicDY0OQorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIC0weDEuY2EyODFkN2ZlNDRiMDdmZmZmZDJiN2Q0NmFiNWQzNjFwLTEsCisgICAgMHgxLmNkNWE2Zjg3NjJhZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuY2EyODFkN2ZlNDRiMDdmZmZmZDJiN2Q0NmFiNWQzNjFwLTEsCisgICAgLTB4MS5jZDVhNmY4NzYyYWZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuZTgwYWQ0ZmU1NGM3MWQ0ZTYwNGVkZTQ3NGNjYTBiMTlwLTUsCisgICAgMHgxLmQwY2I5NWYwMmFkNzdwNDY0CisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmU4MGFkNGZlNTRjNzFkNGU2MDRlZGU0NzRjY2EwYjE5cC01LAorICAgIC0weDEuZDBjYjk1ZjAyYWQ3N3A0NjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuMGRmOGViNDA5ZWZlMzdmZmZmZjkyNWI1ZGUyYzgwYjZwLTEsCisgICAgMHgxLmQzMWJkNjA0OTAzYTBwMgorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS4wZGY4ZWI0MDllZmUzN2ZmZmZmOTI1YjVkZTJjODBiNnAtMSwKKyAgICAtMHgxLmQzMWJkNjA0OTAzYTBwMgorICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS5mZjJhZTk2OGVmZTcwZWE0MTI2ODQ5YzM4MzJjOWNiZHAtMSwKKyAgICAweDEuZDMyZjQ2MTAxODBmNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS5mZjJhZTk2OGVmZTcwZWE0MTI2ODQ5YzM4MzJjOWNiZHAtMSwKKyAgICAtMHgxLmQzMmY0NjEwMTgwZjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAtMHgxLmNlYzMwN2E2NzRkM2VkMmY4ZGY0N2NmMzk0YWE4OGVhcC0zLAorICAgIDB4MS5kOTZlMDU4cDQ4OAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuY2VjMzA3YTY3NGQzZWQyZjhkZjQ3Y2YzOTRhYTg4ZWFwLTMsCisgICAgLTB4MS5kOTZlMDU4cDQ4OAorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIC0weDEuYWM4ZGJmOWNkYzk1NDgzNTc3NTYwYjE4MTRlYTg4OTVwLTUsCisgICAgMHgxLmRiMDgwM2MzOTJiNGNwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAtMHgxLmFjOGRiZjljZGM5NTQ4MzU3NzU2MGIxODE0ZWE4ODk1cC01LAorICAgIC0weDEuZGIwODAzYzM5MmI0Y3AxNQorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIC0weDEuYWM5NDg3MGNhNjMxNjg0YmQxMGI2NThiODBjZmNkNDJwLTUsCisgICAgMHgxLmRiMDgwM2MzZmY1MWRwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAtMHgxLmFjOTQ4NzBjYTYzMTY4NGJkMTBiNjU4YjgwY2ZjZDQycC01LAorICAgIC0weDEuZGIwODAzYzNmZjUxZHAxNQorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS5mZjIyOTA3M2ZkOGI1ZTkxZDYwZGQwOTVjZmRlNTk2N3AtMSwKKyAgICAweDEuZGM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLmZmMjI5MDczZmQ4YjVlOTFkNjBkZDA5NWNmZGU1OTY3cC0xLAorICAgIC0weDEuZGM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLmZmMjFlNWY5NzVmZmZlODNjMmFlMWM1NWE4ODVmMTJmcC0xLAorICAgIDB4MS5kY2Y3M2RjZjczZGNjcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLmZmMjFlNWY5NzVmZmZlODNjMmFlMWM1NWE4ODVmMTJmcC0xLAorICAgIC0weDEuZGNmNzNkY2Y3M2RjY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS4yZjAxMTMyNjQyMGU1MDAyMTcyZGIyNDVmZDkwNjNlMnAtMSwKKyAgICAweDEuZGZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS4yZjAxMTMyNjQyMGU1MDAyMTcyZGIyNDVmZDkwNjNlMnAtMSwKKyAgICAtMHgxLmRmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuZjcyYzhlMTZkYmM3OGIyNmFmYmYzNDYxODVkY2NiNDhwLTEsCisgICAgMHgxLmUxMjM2OTFhN2M0YmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAweDEuZjcyYzhlMTZkYmM3OGIyNmFmYmYzNDYxODVkY2NiNDhwLTEsCisgICAgLTB4MS5lMTIzNjkxYTdjNGJlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgLTB4MS40YjBjNmJiNjIzZjU3ZmZmZmY1ZTQ1ODIwM2RlZWYzM3AtMiwKKyAgICAweDEuZTY2NjY2NmY5Y2Y0OXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS40YjBjNmJiNjIzZjU3ZmZmZmY1ZTQ1ODIwM2RlZWYzM3AtMiwKKyAgICAtMHgxLmU2NjY2NjZmOWNmNDlwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS5mZDc0YjU1ODc1ODg0ODE4ODRhOTJlODM3NDdmNWM0ZXAtMSwKKyAgICAweDEuZTgzYWNjZmM1MGI3MHA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuZmQ3NGI1NTg3NTg4NDgxODg0YTkyZTgzNzQ3ZjVjNGVwLTEsCisgICAgLTB4MS5lODNhY2NmYzUwYjcwcDk5NQorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS5mZmYxNjliNmFiN2QxN2Y0M2Q1OWY2Y2YwODVhY2NiMHAtMSwKKyAgICAweDEuZThlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLmZmZjE2OWI2YWI3ZDE3ZjQzZDU5ZjZjZjA4NWFjY2IwcC0xLAorICAgIC0weDEuZThlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjdkMzljOWYxYjBiM2MwMDI3YTVmYzlhNzZmYWVlODNkcC0xLAorICAgIDB4MS5lYWY1ZWE1MzE3NDQycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuN2QzOWM5ZjFiMGIzYzAwMjdhNWZjOWE3NmZhZWU4M2RwLTEsCisgICAgLTB4MS5lYWY1ZWE1MzE3NDQycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuN2YxM2FmNzA4MWE2NzQxNjYwNDY5ZmQ2MDI1NWZlNDlwLTEsCisgICAgMHgxLmViMGMyYjAwYjFiODNwNAorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS43ZjEzYWY3MDgxYTY3NDE2NjA0NjlmZDYwMjU1ZmU0OXAtMSwKKyAgICAtMHgxLmViMGMyYjAwYjFiODNwNAorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIC0weDEuN2FkN2I4OGExZmUwZjgyYjZmMjQ5YzdjNTZkZDhiNWFwLTEsCisgICAgMHgxLmViYzZiNTU1MzExYzRwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLjdhZDdiODhhMWZlMGY4MmI2ZjI0OWM3YzU2ZGQ4YjVhcC0xLAorICAgIC0weDEuZWJjNmI1NTUzMTFjNHAxNQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS5iMDZiMmI1OGEyYTIzYzk4YjEyODUzNDE1YjVjODNhMXAtNSwKKyAgICAweDEuZWY3YmRlZjdiZGVmMnAyMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAweDEuYjA2YjJiNThhMmEyM2M5OGIxMjg1MzQxNWI1YzgzYTFwLTUsCisgICAgLTB4MS5lZjdiZGVmN2JkZWYycDIzOQorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS5mZTZkZWQ1MzE3MmE2ODc2NzkwZDNhYWI4M2E2NTZmNHAtMSwKKyAgICAweDEuZWZiYmVlZmJiZWVmOHAxNQorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS5mZTZkZWQ1MzE3MmE2ODc2NzkwZDNhYWI4M2E2NTZmNHAtMSwKKyAgICAtMHgxLmVmYmJlZWZiYmVlZjhwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAtMHgxLmZlMmJjYjg3YTdlMTU4Y2ZmYTJmZThkMzA2Y2M3NTU1cC0xLAorICAgIDB4MS5mMDdjMWYwN2MxZWY3cDIzOQorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIC0weDEuZmUyYmNiODdhN2UxNThjZmZhMmZlOGQzMDZjYzc1NTVwLTEsCisgICAgLTB4MS5mMDdjMWYwN2MxZWY3cDIzOQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIC0weDEuNzlkMDhkNmIzYTg4MjgyZTBhMGRhMjM1MDQ2NGQwYWJwLTEsCisgICAgMHgxLmYwZjJiNWUwNjBiMjlwMQorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuNzlkMDhkNmIzYTg4MjgyZTBhMGRhMjM1MDQ2NGQwYWJwLTEsCisgICAgLTB4MS5mMGYyYjVlMDYwYjI5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuZjBkMTFkMzIxMTc4ZDdmZjE1ZGE0ODk5MGQ1OTgzYzJwLTEsCisgICAgMHgxLmY0MHAtMworICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS5mMGQxMWQzMjExNzhkN2ZmMTVkYTQ4OTkwZDU5ODNjMnAtMSwKKyAgICAtMHgxLmY0MHAtMworICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS5lM2ZmNWIxNWY3MjNkN2Y3ZjdmNWJiMGRiY2U1NGQwMXAtNCwKKyAgICAweDEuZjQzZDQ5Zjk0N2U4N3A5CisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLmUzZmY1YjE1ZjcyM2Q3ZjdmN2Y1YmIwZGJjZTU0ZDAxcC00LAorICAgIC0weDEuZjQzZDQ5Zjk0N2U4N3A5CisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgLTB4MS42NjM2YzlmNmE4N2E5N2YxY2JkZjcwOGEyZjFhZDliYXAtMSwKKyAgICAweDEuZjdmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgLTB4MS42NjM2YzlmNmE4N2E5N2YxY2JkZjcwOGEyZjFhZDliYXAtMSwKKyAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS5mZmMxYmUzMzA5Mjg1N2ZmMjYyMjBmOTk4MTYzNWJjN3AtMSwKKyAgICAweDEuZjhmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS5mZmMxYmUzMzA5Mjg1N2ZmMjYyMjBmOTk4MTYzNWJjN3AtMSwKKyAgICAtMHgxLmY4ZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuZmZjMWJlMzMwOTI4NTdmYjM0NGFmZmRkOTNkMDQzYTdwLTEsCisgICAgMHgxLmY5MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIDB4MS5mZmMxYmUzMzA5Mjg1N2ZiMzQ0YWZmZGQ5M2QwNDNhN3AtMSwKKyAgICAtMHgxLmY5MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIC0weDEuZmZmZmZmZmNhYjBkNTgyMjA2NjlkY2ZhNDIxY2NmYTZwLTEsCisgICAgMHgxLmZhMDIzNjUyM2NlNTRwMzQ0CisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgLTB4MS5mZmZmZmZmY2FiMGQ1ODIyMDY2OWRjZmE0MjFjY2ZhNnAtMSwKKyAgICAtMHgxLmZhMDIzNjUyM2NlNTRwMzQ0CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLmZjMGQ5OGFjZTIzMDg4MDAwMDAyMTI3ODhhNzk0ZWFjcC0xLAorICAgIDB4MS5mY2VhYjU0ZDM3ZGEwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgMHgxLmZjMGQ5OGFjZTIzMDg4MDAwMDAyMTI3ODhhNzk0ZWFjcC0xLAorICAgIC0weDEuZmNlYWI1NGQzN2RhMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIC0weDEuOTU4OWJjYTEyOGI5MTdmZTU5NjkyYTczOGMzNzkxYzlwLTQsCisgICAgMHgxLmZkMDA3MmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIC0weDEuOTU4OWJjYTEyOGI5MTdmZTU5NjkyYTczOGMzNzkxYzlwLTQsCisgICAgLTB4MS5mZDAwNzJmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAtMHgxLjRkMzA0YjA3ZmM4OTdjZjFhZGU1NGZlOTdkYjdjOGJkcC0yLAorICAgIDB4MS5mZTBmODI3NjczNDIycDYyCisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgLTB4MS40ZDMwNGIwN2ZjODk3Y2YxYWRlNTRmZTk3ZGI3YzhiZHAtMiwKKyAgICAtMHgxLmZlMGY4Mjc2NzM0MjJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEuYzFhMjdhZTgzNmYxMjgwMDAwMDAwMDAwMDA1MDRlOWJwLTEsCisgICAgMHgxLmZlYjFmNzkyMGUyNDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuYzFhMjdhZTgzNmYxMjgwMDAwMDAwMDAwMDA1MDRlOWJwLTEsCisgICAgLTB4MS5mZWIxZjc5MjBlMjQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgLTB4MS45MzZiNjRlOTU1OTc4ZDE1YWFjZmRkZjU4MjFjNjI4MXAtMSwKKyAgICAweDEuZmVlZmZmZmZmZmZjNnA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAtMHgxLjkzNmI2NGU5NTU5NzhkMTVhYWNmZGRmNTgyMWM2MjgxcC0xLAorICAgIC0weDEuZmVlZmZmZmZmZmZjNnA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuZmZmMDA3MTQ3ZWE1NzdmYjAyMTMwYzY4YjMzNWVmNDVwLTEsCisgICAgMHgxLmZmOGZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuZmZmMDA3MTQ3ZWE1NzdmYjAyMTMwYzY4YjMzNWVmNDVwLTEsCisgICAgLTB4MS5mZjhmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLmZmZmZjMDFiZmU0NDJiMDljYmVjMTlmNjhhZjhmYmY4cC0xLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5mZmZmYzAxYmZlNDQyYjA5Y2JlYzE5ZjY4YWY4ZmJmOHAtMSwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLjdjYzlmYjc1MzE3YWU5M2JmNWRkZWUwZThiOWM4M2NlcC0xLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcDg3MAorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS43Y2M5ZmI3NTMxN2FlOTNiZjVkZGVlMGU4YjljODNjZXAtMSwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwODcwCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgMHgxLmQ2YWVhNDgwMTU1ODhlNzE5ODMxNDI4MDQyMjdmZDg0cC0xLAorICAgIDB4MS5mZmNmZmY4cDE5CisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLmQ2YWVhNDgwMTU1ODhlNzE5ODMxNDI4MDQyMjdmZDg0cC0xLAorICAgIC0weDEuZmZjZmZmOHAxOQorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuNmE5OTcyZWVlMTliYWRmOWUzNGQzNmIwZDEyMDIwOTFwLTIsCisgICAgMHgxLmZmY2ZmZjhwMzY1CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgLTB4MS42YTk5NzJlZWUxOWJhZGY5ZTM0ZDM2YjBkMTIwMjA5MXAtMiwKKyAgICAtMHgxLmZmY2ZmZjhwMzY1CisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS4zYWFhMTVmNzU0NGI2OTFhNDNlMWZhMWE2MzliZGZjMnAtMSwKKyAgICAweDEuZmZjZmZmZmZmZmY2Y3A3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAtMHgxLjNhYWExNWY3NTQ0YjY5MWE0M2UxZmExYTYzOWJkZmMycC0xLAorICAgIC0weDEuZmZjZmZmZmZmZmY2Y3A3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuM2YxNjRiY2UwNTVjNGM2MWI3NGE2MWY3M2NhNzNkM2ZwLTEsCisgICAgMHgxLmZmY2ZmZmZmZmZmZjlwMzIwCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLjNmMTY0YmNlMDU1YzRjNjFiNzRhNjFmNzNjYTczZDNmcC0xLAorICAgIC0weDEuZmZjZmZmZmZmZmZmOXAzMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZmZmZmYwMDJmZmYxNGQ1NjZhZThlYzlkMWVkYzNlM2ZwLTEsCisgICAgMHgxLmZmY2ZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmZmZmZmMDAyZmZmMTRkNTY2YWU4ZWM5ZDFlZGMzZTNmcC0xLAorICAgIC0weDEuZmZjZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAtMHgxLmZmZmZmZjk4N2Y5ODVkNjc5NDRiODY3YmZmNGFiODU3cC0xLAorICAgIDB4MS5mZmNmZmZmZmZmZmZmcDQwNQorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIC0weDEuZmZmZmZmOTg3Zjk4NWQ2Nzk0NGI4NjdiZmY0YWI4NTdwLTEsCisgICAgLTB4MS5mZmNmZmZmZmZmZmZmcDQwNQorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIC0weDEuZmZmZjYyMzVhMjVlZGI4Yzk3NWI0ODVjNWM2ZjQxZjdwLTEsCisgICAgMHgxLmZmY2ZmZmZmZmZmZmZwNTY3CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgLTB4MS5mZmZmNjIzNWEyNWVkYjhjOTc1YjQ4NWM1YzZmNDFmN3AtMSwKKyAgICAtMHgxLmZmY2ZmZmZmZmZmZmZwNTY3CisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLmZkZjExYWU0NjA4YjA4OTRiYWI4Nzg2OTQ5YWE2MzMzcC0zLAorICAgIDB4MS5mZmVmZmY4ZmZmZmZmcDE2CisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLmZkZjExYWU0NjA4YjA4OTRiYWI4Nzg2OTQ5YWE2MzMzcC0zLAorICAgIC0weDEuZmZlZmZmOGZmZmZmZnAxNgorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS44ZjU1MjVhYjQ1ODNjMDY0MzUzYWFhZDEyYzZjY2U2Y3AtMSwKKyAgICAweDEuZmZlZmZmZmZmZmZjY3A5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAweDEuOGY1NTI1YWI0NTgzYzA2NDM1M2FhYWQxMmM2Y2NlNmNwLTEsCisgICAgLTB4MS5mZmVmZmZmZmZmZmNjcDk5NQorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS5hMGFmNDRhNDVjMDU2OWI3MjA1OGNjMzRlZmQwZTMyZXAtOCwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnA3NworICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS5hMGFmNDRhNDVjMDU2OWI3MjA1OGNjMzRlZmQwZTMyZXAtOCwKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwNzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAtMHgxLmRmNzU0NmMzMWJmOGNmZmVmNjljNDg1OWRhMDU1ZjMzcC0xLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcDEyMgorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIC0weDEuZGY3NTQ2YzMxYmY4Y2ZmZWY2OWM0ODU5ZGEwNTVmMzNwLTEsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcDEyMgorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIC0weDEuODI1YTdiZWEyN2Q1YjFhNTk4YWY2YjY4NGViMTg0NzhwLTEsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwMTc5CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgLTB4MS44MjVhN2JlYTI3ZDViMWE1OThhZjZiNjg0ZWIxODQ3OHAtMSwKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwMTc5CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgLTB4MS4xYmUyYWIyMDc4ZDU0N2ZmZjA5OTMyMDExZmUxNjQ1NnAtMSwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAyMzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAtMHgxLjFiZTJhYjIwNzhkNTQ3ZmZmMDk5MzIwMTFmZTE2NDU2cC0xLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAyMzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAtMHgxLmE0Y2M1ZjgzOGY1Mjk3ZTBhN2U3NDljYjA4N2MyZjE0cC03LAorICAgIDB4MS5mZmYwMDAwMDAyNTExcDQ5MgorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIC0weDEuYTRjYzVmODM4ZjUyOTdlMGE3ZTc0OWNiMDg3YzJmMTRwLTcsCisgICAgLTB4MS5mZmYwMDAwMDAyNTExcDQ5MgorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIDB4MS5mMTY0MzdkNjExOWY4OWJmYTczYTJmMTRmMzc3ZmQzZXAtMTAsCisgICAgMHgxLmZmZjFmZmZmZmZmZmZwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEuZjE2NDM3ZDYxMTlmODliZmE3M2EyZjE0ZjM3N2ZkM2VwLTEwLAorICAgIC0weDEuZmZmMWZmZmZmZmZmZnA0MQorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS44OTgzMjRjMmYxY2ZjNTk2ZTU5MGI0YTgwZDI1MDhmYnAtMTEsCisgICAgMHgxLmZmZmZjN2ZmZmZmZmZwNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAweDEuODk4MzI0YzJmMWNmYzU5NmU1OTBiNGE4MGQyNTA4ZmJwLTExLAorICAgIC0weDEuZmZmZmM3ZmZmZmZmZnA0NQorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS5mMDE1NGMwMDY4OGY4N2ZjYzk2ZjE0YzhlZmI1OTE0ZnAtMSwKKyAgICAweDEuZmZmZmRmMWZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5mMDE1NGMwMDY4OGY4N2ZjYzk2ZjE0YzhlZmI1OTE0ZnAtMSwKKyAgICAtMHgxLmZmZmZkZjFmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEuZmZjMDAxNTcxMjZhN2Q5ODIxNjQ5MWRmNzNkOTdjZDNwLTEsCisgICAgMHgxLmZmZmZmOGZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAweDEuZmZjMDAxNTcxMjZhN2Q5ODIxNjQ5MWRmNzNkOTdjZDNwLTEsCisgICAgLTB4MS5mZmZmZjhmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgLTB4MS5lMGQ5ZjBmMzhjNzNmMDA2OTczOWU5ZGU2NTE5MTQxNnAtMiwKKyAgICAweDEuZmZmZmZiZmZmZmZmZnA5NjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAtMHgxLmUwZDlmMGYzOGM3M2YwMDY5NzM5ZTlkZTY1MTkxNDE2cC0yLAorICAgIC0weDEuZmZmZmZiZmZmZmZmZnA5NjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuZmZmNDY5OWRkNTYwYjVkYmI4OGEwMjkzMzdiOWFiODZwLTEsCisgICAgMHgxLmZmZmZmY2ZmZmZmZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuZmZmNDY5OWRkNTYwYjVkYmI4OGEwMjkzMzdiOWFiODZwLTEsCisgICAgLTB4MS5mZmZmZmNmZmZmZmZmcDQwCisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgMHgxLmZmMDAxNTU1OWYyMjg4MDI0MzM3MzJhZTExOTQyOTQ1cC0xLAorICAgIDB4MS5mZmZmZmYwMDAwMDQwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgMHgxLmZmMDAxNTU1OWYyMjg4MDI0MzM3MzJhZTExOTQyOTQ1cC0xLAorICAgIC0weDEuZmZmZmZmMDAwMDA0MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIC0weDEuOWM2OTUxY2NjZDM5YmY2MGQ0N2RiODBiZTZmY2UzNGZwLTIsCisgICAgMHgxLmZmZmZmZjhwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgLTB4MS45YzY5NTFjY2NkMzliZjYwZDQ3ZGI4MGJlNmZjZTM0ZnAtMiwKKyAgICAtMHgxLmZmZmZmZjhwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgLTB4MS5mMmMyMjYzNTkwMDM0ZWM2MjUyMmQ0NWQyZWVjYTI4NXAtMSwKKyAgICAweDEuZmZmZmZmOHAxOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAtMHgxLmYyYzIyNjM1OTAwMzRlYzYyNTIyZDQ1ZDJlZWNhMjg1cC0xLAorICAgIC0weDEuZmZmZmZmOHAxOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuYzc4ODRkNmNmYjU1MTFhNmI1MTExMDc3ZmQwYjFiNzJwLTEsCisgICAgMHgxLmZmZmZmZjhwNTQzCisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLmM3ODg0ZDZjZmI1NTExYTZiNTExMTA3N2ZkMGIxYjcycC0xLAorICAgIC0weDEuZmZmZmZmOHA1NDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuZTY2Yzc5ZTc3NmExZWZmNmI2OGYyZDAxMjg5ZTA4ZThwLTIsCisgICAgMHgxLmZmZmZmZmMzZmZmZmZwNTAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLmU2NmM3OWU3NzZhMWVmZjZiNjhmMmQwMTI4OWUwOGU4cC0yLAorICAgIC0weDEuZmZmZmZmYzNmZmZmZnA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuYzdjOWE5YzU3YzBiMjAwOWYxOGE2YzJjMDdiNTJlYTJwLTMsCisgICAgMHgxLmZmZmZmZmUxZmZmZmZwNzAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgMHgxLmM3YzlhOWM1N2MwYjIwMDlmMThhNmMyYzA3YjUyZWEycC0zLAorICAgIC0weDEuZmZmZmZmZTFmZmZmZnA3MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuN2JiMjhkYWY1ZjlhZDM2MDhkZGE4YTE2ZWEyMzVjYjRwLTEsCisgICAgMHgxLmZmZmZmZmZmMGYwZmZwNDAwCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgMHgxLjdiYjI4ZGFmNWY5YWQzNjA4ZGRhOGExNmVhMjM1Y2I0cC0xLAorICAgIC0weDEuZmZmZmZmZmYwZjBmZnA0MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuZmMwMTU1MjdkOGJiMzc4MDZlNDk3NmRjZjdhN2M5OGNwLTEsCisgICAgMHgxLmZmZmZmZmZmM2ZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAweDEuZmMwMTU1MjdkOGJiMzc4MDZlNDk3NmRjZjdhN2M5OGNwLTEsCisgICAgLTB4MS5mZmZmZmZmZjNmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgLTB4MS5lYTUyNTdlYjY2ZTNiZmZlZTkwMGNkNDQ0NzQwNGMxNnAtMSwKKyAgICAweDEuZmZmZmZmZmY4ZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5lYTUyNTdlYjY2ZTNiZmZlZTkwMGNkNDQ0NzQwNGMxNnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmOGZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIC0weDEuNGVhYTYwNmRiZWY5NjgwMDAyNjdiMDM3NWRlZDY4NzJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmJjZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIC0weDEuNGVhYTYwNmRiZWY5NjgwMDAyNjdiMDM3NWRlZDY4NzJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZiY2ZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAtMHgxLmZjOWNkNmI1ZjAwOTQ4MmIwZDU1ODJlMWM2Y2RmNzM4cC0xLAorICAgIDB4MS5mZmZmZmZmZmZlMGI1cDcyMAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuZmM5Y2Q2YjVmMDA5NDgyYjBkNTU4MmUxYzZjZGY3MzhwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZlMGI1cDcyMAorICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS5lOTZhYzA0NWRkMTM4ZDI1NzQxY2I4NzliOTJhZmE0OHAtMywKKyAgICAweDEuZmZmZmZmZmZmZTdmZnA0MQorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5lOTZhYzA0NWRkMTM4ZDI1NzQxY2I4NzliOTJhZmE0OHAtMywKKyAgICAtMHgxLmZmZmZmZmZmZmU3ZmZwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAtMHgxLmZjYWYzOWNmYjk0ZDQ4MTk1ZDJiMjYwNjBiMzBmODIycC0xLAorICAgIDB4MS5mZmZmZmZmZmZlZTA5cDcyMAorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIC0weDEuZmNhZjM5Y2ZiOTRkNDgxOTVkMmIyNjA2MGIzMGY4MjJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZlZTA5cDcyMAorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS44NDMyMjMyYTZkMWRhYTZhYzhhOTRjMDAyMWU2MGQ1MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmRmZnA0MAorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIDB4MS44NDMyMjMyYTZkMWRhYTZhYzhhOTRjMDAyMWU2MGQ1MHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZkZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAweDEuOWUzNzUxNDMxMzlkOWEzN2IzNTRlYTMzZGQ2MjVjZDZwLTYsCisgICAgMHgxLmZmZmZmZmZmZmZlZmZwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEuOWUzNzUxNDMxMzlkOWEzN2IzNTRlYTMzZGQ2MjVjZDZwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZWZmcDQxCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMHgxLmZmZmMwMDAxNTU1NTI4MDAwMDQ5YjEwYzI2YTFmNTM5cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZjRhcC04CisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLmZmZmMwMDAxNTU1NTI4MDAwMDQ5YjEwYzI2YTFmNTM5cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmY0YXAtOAorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS40NjNhODk1YzRlYTVjZTRlNTZlOGY1NzgzODhlZWQzYXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmY3OHA5MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAweDEuNDYzYTg5NWM0ZWE1Y2U0ZTU2ZThmNTc4Mzg4ZWVkM2FwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZjc4cDkyMAorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIDB4MS4zYzFhNDg2MzVjZjM4MGM4MTU4ZDkzNGM0ZDBkZDg3Y3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZkNXA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuM2MxYTQ4NjM1Y2YzODBjODE1OGQ5MzRjNGQwZGQ4N2NwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmQ1cDk5NQorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS45MWM0ZTA3MDhiZDQ4NjIxN2Y1ZmMyMzBmMDQxNjIyMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZlOHA3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAweDEuOTFjNGUwNzA4YmQ0ODYyMTdmNWZjMjMwZjA0MTYyMjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmU4cDcyMAorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIC0weDEuM2UxNWNiODQ5YjVlYTg3YmNjNTgzZjYzNDRjYmNjNDBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZWJwOTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgLTB4MS4zZTE1Y2I4NDliNWVhODdiY2M1ODNmNjM0NGNiY2M0MHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZWJwOTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgLTB4MS44MTY4MDgzNDliODBkZDNjMjJjYmU4MGI0YzE3MWQxZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmMXAyNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtMHgxLjgxNjgwODM0OWI4MGRkM2MyMmNiZTgwYjRjMTcxZDFmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmMXAyNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuNDY5OWM4MTRjNWYwNzViYjBlZDk0NzJkZmVjYzUwYTlwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZjRwODQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgMHgxLjQ2OTljODE0YzVmMDc1YmIwZWQ5NDcyZGZlY2M1MGE5cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmNHA4NDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAtMHgxLjgxNWU5MmI3YTJhMDE5ZTc0NjUwYTg1OTk2OGUwZjI5cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmY0cDEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDMKKyAgICAtMHgxLjgxNWU5MmI3YTJhMDE5ZTc0NjUwYTg1OTk2OGUwZjI5cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmNHAxMDIwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgLTB4MS4zZThkMDI4MTUzMjAxZWQyNzJmYzk1NDk3MjVmY2IzZnAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtMHgxLjNlOGQwMjgxNTMyMDFlZDI3MmZjOTU0OTcyNWZjYjNmcC0xMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuN2Q2NzY1NzE0Yzc4NTMyZDNlYjBmMmE3M2M1ZDYxMjZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTA1CisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLjdkNjc2NTcxNGM3ODUzMmQzZWIwZjJhNzNjNWQ2MTI2cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDgKKyAgICAtMHgxLmY4NjlmYjE0ZDI1NjhkNjdjMzdjOTBiMGEwMzhiMjQwcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDQ4MAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuZjg2OWZiMTRkMjU2OGQ2N2MzN2M5MGIwYTAzOGIyNDBwLTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDQ4MAorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIC0weDEuODBhNzViMzY5ZDNjM2ZkMTViNjA2MGM2ZmI5OGYyZDZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgLTB4MS44MGE3NWIzNjlkM2MzZmQxNWI2MDYwYzZmYjk4ZjJkNnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgLTB4MS45ZGJhNjllODUzYmQ3N2ZkODgzYmUzYmIxMTcxZGY1NXAtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0MgorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIC0weDEuOWRiYTY5ZTg1M2JkNzdmZDg4M2JlM2JiMTE3MWRmNTVwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQyCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIDB4MS5wMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS5mZmZmZmY1YzI4ZjVjYjRjNTI3MjA2MTI4MTIxMTEyMHAtMSwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzIKKyAgICAweDEuZmZmZmZmNWMyOGY1Y2I0YzUyNzIwNjEyODEyMTExMjBwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIDB4MS5mZmZmZmQ3MGEzZDc5NjBjZDU2OTVhMDZmZGI4MGU3NHAtMSwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAweDEuZmZmZmZkNzBhM2Q3OTYwY2Q1Njk1YTA2ZmRiODBlNzRwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS5mZmZmZmEzZDcwYTY5YWQ0MmIzOWQ4Njk2NjMyZjg1NnAtMSwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuZmZmZmZhM2Q3MGE2OWFkNDJiMzlkODY5NjYzMmY4NTZwLTEsCisgICAgLTB4MS4zMzMzMzMzMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS5mZmZmZjVjMjhmNjRlNWVjMGRhMGE0ZjdmNDM4ODA1MnAtMSwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuZmZmZmY1YzI4ZjY0ZTVlYzBkYTBhNGY3ZjQzODgwNTJwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEuZmZmZmYwMDAwMDE1NTU1NTQ5ZjQ5ZjRkMzRkMzRjYTBwLTEsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS5mZmZmZThmNWMyYmI5OGM3YzEwM2QyZmY3OWYxNWQ2YXAtMSwKKyAgICAweDEuMzMzMzMzMzMzMzMzM3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEuZmZmZmU4ZjVjMmJiOThjN2MxMDNkMmZmNzlmMTVkNmFwLTEsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIDB4MS5mZmZmZTBhM2Q3NWMzMWIyNjQ1MTE2NmQ2ZjM5OGFiZHAtMSwKKyAgICAweDEuNjY2NjY2NjY2NjY2NnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuZmZmZmUwYTNkNzVjMzFiMjY0NTExNjZkNmYzOThhYmRwLTEsCisgICAgLTB4MS42NjY2NjY2NjY2NjY2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5mZmZmZDcwYTNkZmM3MzNiMzMzMWQ4MzgyYjFlOWRmNXAtMSwKKyAgICAweDEuOTk5OTk5OTk5OTk5OXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODYKKyAgICAweDEuZmZmZmQ3MGEzZGZjNzMzYjMzMzFkODM4MmIxZTlkZjVwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTk5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5mZmZmY2MyOGY2YTI4MjNmMzc2NWI1MDY1OWVjYjBlMnAtMSwKKyAgICAweDEuY2NjY2NjY2NjY2NjY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEuZmZmZmNjMjhmNmEyODIzZjM3NjViNTA2NTllY2IwZTJwLTEsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS5mZmZiY2MyYTZlODZmZWY3ZDJhZjE1ODBiZDhlNjY5OXAtMSwKKyAgICAweDEuMDY2NjY2NjY2NjY2NnAtNworICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIDB4MS5mZmZiY2MyYTZlODZmZWY3ZDJhZjE1ODBiZDhlNjY5OXAtMSwKKyAgICAtMHgxLjA2NjY2NjY2NjY2NjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCisgICAgMHgxLmNjY2NjY2NjY2NjY2NwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLmZmZTU3YTc4MGYzOGMwZGIzNzA1MWZhOGM4ZDYwZmJjcC0xLAorICAgIDB4MS40OTk5OTk5OTk5OTk5cC02CisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgMHgxLmZmZTU3YTc4MGYzOGMwZGIzNzA1MWZhOGM4ZDYwZmJjcC0xLAorICAgIC0weDEuNDk5OTk5OTk5OTk5OXAtNgorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS5mZmQzMWNkMGUxZDYyYzA1ZDJjZGVkMjFhZGQ4YmQzM3AtMSwKKyAgICAweDEuYWNjY2NjY2NjY2NjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS5mZmQzMWNkMGUxZDYyYzA1ZDJjZGVkMjFhZGQ4YmQzM3AtMSwKKyAgICAtMHgxLmFjY2NjY2NjY2NjY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCisgICAgMHgxLjA4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU5OAorICAgIDB4MS5mZmJiZjE4MjA3NTQyZWY4MTM5MGQ3M2MzYmE4OWMxYXAtMSwKKyAgICAtMHgxLjA4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS5mZjlmZjhjMzI5OWY1NDQ1N2JiYWY4YzEyMTczYjQ2YnAtMSwKKyAgICAweDEuMzk5OTk5OTk5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5mZjlmZjhjMzI5OWY1NDQ1N2JiYWY4YzEyMTczYjQ2YnAtMSwKKyAgICAtMHgxLjM5OTk5OTk5OTk5OWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDEKKyAgICAweDEuZmY3ZjMyZDc3YzViMWM0MmYxNjYwYzliNmYyZWY2NGZwLTEsCisgICAgMHgxLjZiMzMzMzMzMzMzMzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAweDEuZmY3ZjMyZDc3YzViMWM0MmYxNjYwYzliNmYyZWY2NGZwLTEsCisgICAgLTB4MS42YjMzMzMzMzMzMzM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAorICAgIDB4MS45Y2NjY2NjY2NjY2NlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAorICAgIC0weDEuOWNjY2NjY2NjY2NjZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIDB4MS5mZjJmNDBjMDJlNjBmNjFkNmRjZmMzOWI2YzJiZTA4N3AtMSwKKyAgICAweDEuY2U2NjY2NjY2NjY2NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS5mZjJmNDBjMDJlNjBmNjFkNmRjZmMzOWI2YzJiZTA4N3AtMSwKKyAgICAtMHgxLmNlNjY2NjY2NjY2NjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEuOGNhNDZjN2Q4OTc1ZTU3YTE0ODRmMDVjMzczOGQ4M2JwLTEsCisgICAgMHgxLjVlN2ZjNDM2OWJkYWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEuOGNhNDZjN2Q4OTc1ZTU3YTE0ODRmMDVjMzczOGQ4M2JwLTEsCisgICAgLTB4MS41ZTdmYzQzNjliZGFkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLjBiNWQzODAyZmM3OTkxMTQwMTY4ZjI5NGVlZGQ3OTA0cC0yLAorICAgIDB4MS40ZTdmYzQzNjliZGFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEuMGI1ZDM4MDJmYzc5OTExNDAxNjhmMjk0ZWVkZDc5MDRwLTIsCisgICAgLTB4MS40ZTdmYzQzNjliZGFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAtMHgxLjY2Yjk2ZjUzMzIzYWYxZDdlMzFhNzE2MmFiMThhNzVicC0yLAorICAgIDB4MS5lZGJmYTY1MWU5Yzg0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTIKKyAgICAtMHgxLjY2Yjk2ZjUzMzIzYWYxZDdlMzFhNzE2MmFiMThhNzVicC0yLAorICAgIC0weDEuZWRiZmE2NTFlOWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgLTB4MS5hOTM1NTQ4ODhjMzJmYTU3ZjIyYTk1MjlhMzIwYzFjYnAtMSwKKyAgICAweDEuNDY3ZmM0MzY5YmRhZHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgLTB4MS5hOTM1NTQ4ODhjMzJmYTU3ZjIyYTk1MjlhMzIwYzFjYnAtMSwKKyAgICAtMHgxLjQ2N2ZjNDM2OWJkYWRwMQorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIC0weDEuZmZjMDAxNTU1MjdkMmI5ZmRhMmFlODkzOTZlMDk3MjdwLTEsCisgICAgMHgxLjk2MWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIC0weDEuZmZjMDAxNTU1MjdkMmI5ZmRhMmFlODkzOTZlMDk3MjdwLTEsCisgICAgLTB4MS45NjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAtMHgxLjk2OTA3YzVjN2MyNWI4OGUzNGFkZGZmMWZiZWY2NmU0cC0xLAorICAgIDB4MS5lNWJmYTY1MWU5YzgzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAtMHgxLjk2OTA3YzVjN2MyNWI4OGUzNGFkZGZmMWZiZWY2NmU0cC0xLAorICAgIC0weDEuZTViZmE2NTFlOWM4M3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgLTB4MS4yYTFlNWE1MGY5NDhjZDQ4N2M1MzA5NjgyYjExMGE1M3AtMiwKKyAgICAweDEuMWFhZmNiYWZjODVmN3AyCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgLTB4MS4yYTFlNWE1MGY5NDhjZDQ4N2M1MzA5NjgyYjExMGE1M3AtMiwKKyAgICAtMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS40ODk0ZjY5NWRjNTZiY2U4YjI3M2U1NTI0ZjE4MTI2NHAtMiwKKyAgICAweDEuNDI3ZmM0MzY5YmRhZHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgMHgxLjQ4OTRmNjk1ZGM1NmJjZThiMjczZTU1MjRmMTgxMjY0cC0yLAorICAgIC0weDEuNDI3ZmM0MzY5YmRhZHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLmEwMTZlYTNhNjkyY2UwYzMyMWI3N2YxNjhkZTM5MTIycC0xLAorICAgIDB4MS42YTRmYmNiZDZmNTYycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEuYTAxNmVhM2E2OTJjZTBjMzIxYjc3ZjE2OGRlMzkxMjJwLTEsCisgICAgLTB4MS42YTRmYmNiZDZmNTYycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuYTMwYTY5ZjU1MzdlYmMyMmYwODcwYzJiZDI2ZWYyODRwLTEsCisgICAgMHgxLjZhZjJlZmYwYTI4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDYyNgorICAgIDB4MS5hMzBhNjlmNTUzN2ViYzIyZjA4NzBjMmJkMjZlZjI4NHAtMSwKKyAgICAtMHgxLjZhZjJlZmYwYTI4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS41YmQ2MmU4YjA0YWQ1OTE1ZTY2MjQyMzQ5Yjc1NmUxMXAtMiwKKyAgICAweDEuNDNjNjJhOWQwMjQxNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgMHgxLjViZDYyZThiMDRhZDU5MTVlNjYyNDIzNDliNzU2ZTExcC0yLAorICAgIC0weDEuNDNjNjJhOWQwMjQxNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgLTB4MS4wY2I3MWY2NzFlNjM0MTA5NjZlNzhkMjAwOWMwNjE2ZnAtMiwKKyAgICAweDEuMWM5OTY1NDk2MWY5MnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgLTB4MS4wY2I3MWY2NzFlNjM0MTA5NjZlNzhkMjAwOWMwNjE2ZnAtMiwKKyAgICAtMHgxLjFjOTk2NTQ5NjFmOTJwMgorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIC0weDEuODlkODZhYTg1MjFjMTFiNzRmOGIxOTU0YzA4ZjliMzZwLTEsCisgICAgMHgxLmVhZDkzZmViODM2MWZwMQorICB9LAorICB7IC8vIEVudHJ5IDYzMgorICAgIC0weDEuODlkODZhYTg1MjFjMTFiNzRmOGIxOTU0YzA4ZjliMzZwLTEsCisgICAgLTB4MS5lYWQ5M2ZlYjgzNjFmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzMKKyAgICAtMHgxLmZlNTFhYzU1NGExNmFkODE5NGYxODEwODVmOGExN2YycC0xLAorICAgIDB4MS45YzdmYjU0NDQyZDFhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAtMHgxLmZlNTFhYzU1NGExNmFkODE5NGYxODEwODVmOGExN2YycC0xLAorICAgIC0weDEuOWM3ZmI1NDQ0MmQxYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgLTB4MS5iOTdjMDRkMDhiYzVkNzY1YjM0MWEyMmIyYzcyMGI2ZnAtMSwKKyAgICAweDEuNGUyNjJhOWQwMjQxNXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgLTB4MS5iOTdjMDRkMDhiYzVkNzY1YjM0MWEyMmIyYzcyMGI2ZnAtMSwKKyAgICAtMHgxLjRlMjYyYTlkMDI0MTVwMQorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIC0weDEuYThhYzhhM2U1OGY2Y2E5NTIzOTAyOTlkMmU4YjE4N2ZwLTIsCisgICAgMHgxLmZmOTkzZmViODM2MjBwMAorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIC0weDEuYThhYzhhM2U1OGY2Y2E5NTIzOTAyOTlkMmU4YjE4N2ZwLTIsCisgICAgLTB4MS5mZjk5M2ZlYjgzNjIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEuNzdhOGI5YjNkMjU0YTllMzlkMDJiM2ViM2UyMzkwZTdwLTMsCisgICAgMHgxLjYyZTYyYTlkMDI0MTZwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS43N2E4YjliM2QyNTRhOWUzOWQwMmIzZWIzZTIzOTBlN3AtMywKKyAgICAtMHgxLjYyZTYyYTlkMDI0MTZwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS42ZTEwNjEyMDVkZDc5MDUxYzExMmQzMGEwNTA5N2M2MXAtMSwKKyAgICAweDEuOGM2NjJhOWQwMjQxOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIDB4MS42ZTEwNjEyMDVkZDc5MDUxYzExMmQzMGEwNTA5N2M2MXAtMSwKKyAgICAtMHgxLjhjNjYyYTlkMDI0MTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAtMHgxLjY4MmYzY2MzYzdhMDhkYTJjZTAyYTQxY2RjN2JlZDg2cC00LAorICAgIC0weDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgLTB4MS42ODJmM2NjM2M3YTA4ZGEyY2UwMmE0MWNkYzdiZWQ4NnAtNCwKKyAgICAweDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ1CisgICAgLTB4MS5lNjY2OWEyNzBjMzZkNDg3OWI0MjhkZGJhOTZjZDg3YnAtNywKKyAgICAtMHgxLjk1ZWM4YjllMDNkNTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIC0weDEuZTY2NjlhMjcwYzM2ZDQ4NzliNDI4ZGRiYTk2Y2Q4N2JwLTcsCisgICAgMHgxLjk1ZWM4YjllMDNkNTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS5kZGQxZWMyNWUyMDlmMWJiZjdlMTdlZjZjODQ1MGNkN3AtNSwKKyAgICAtMHgxLjgzMmVmYTJhNDM1YTlwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS5kZGQxZWMyNWUyMDlmMWJiZjdlMTdlZjZjODQ1MGNkN3AtNSwKKyAgICAweDEuODMyZWZhMmE0MzVhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgMHgxLjBjYWI5MTE1NjQwZDk5MzA4MmE3MzQzYmI1YWZmZWEycC0zLAorICAgIC0weDEuNzA3MTY4YjY4MmRmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjBjYWI5MTE1NjQwZDk5MzA4MmE3MzQzYmI1YWZmZWEycC0zLAorICAgIDB4MS43MDcxNjhiNjgyZGZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAweDEuYTA3MjNhOTU0OTJlZGVlNWRjOTgzOTRlNDVmOTZkODhwLTMsCisgICAgLTB4MS41ZGIzZDc0MmMyNjUzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTIKKyAgICAweDEuYTA3MjNhOTU0OTJlZGVlNWRjOTgzOTRlNDVmOTZkODhwLTMsCisgICAgMHgxLjVkYjNkNzQyYzI2NTNwMAorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIDB4MS4xOGZlZTk2YTFhNTg1OTI4YTk0Y2RhN2UzZDkxNmZlMXAtMiwKKyAgICAtMHgxLjRhZjY0NWNmMDFlYThwMAorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS4xOGZlZTk2YTFhNTg1OTI4YTk0Y2RhN2UzZDkxNmZlMXAtMiwKKyAgICAweDEuNGFmNjQ1Y2YwMWVhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgMHgxLjYwNDM2MjFiMTNiZTJmZjA3MDg1ZjgyNzg1OThlNTY2cC0yLAorICAgIC0weDEuMzgzOGI0NWI0MTZmZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLjYwNDM2MjFiMTNiZTJmZjA3MDg1ZjgyNzg1OThlNTY2cC0yLAorICAgIDB4MS4zODM4YjQ1YjQxNmZkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAweDEuYTVhNGNjZjQwZDlkOWJhOTdmYWE0ZTIzZWNjZTllM2FwLTIsCisgICAgLTB4MS4yNTdiMjJlNzgwZjUycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAweDEuYTVhNGNjZjQwZDlkOWJhOTdmYWE0ZTIzZWNjZTllM2FwLTIsCisgICAgMHgxLjI1N2IyMmU3ODBmNTJwMAorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKKyAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMAorICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKKyAgICAweDEuMTJiZDkxNzNjMDdhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgMHgxLjI2OTc2YTZjNGUwZjg2NjMzMzI3ZjFjZWVjYjUwOGFlcC0xLAorICAgIC0weDEuZWE1YzNlZDViMzg1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS4yNjk3NmE2YzRlMGY4NjYzMzMyN2YxY2VlY2I1MDhhZXAtMSwKKyAgICAweDEuZWE1YzNlZDViMzg1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIDB4MS4zODA1YTE4ODIwMDlmMjg0M2RhODA4ZTk1OWYxNzg2MXAtMSwKKyAgICAtMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEuMzgwNWExODgyMDA5ZjI4NDNkYTgwOGU5NTlmMTc4NjFwLTEsCisgICAgMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAweDEuNDhlNTJlMGE2NWJjYjNjZDQ2NDU1YzRkMjMzOGJkZjJwLTEsCisgICAgLTB4MS5iZjE0YmM4MTFhOGYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLjQ4ZTUyZTBhNjViY2IzY2Q0NjQ1NWM0ZDIzMzhiZGYycC0xLAorICAgIDB4MS5iZjE0YmM4MTFhOGYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgMHgxLjU5MmU1OGVhMGE5ZWVjMGIzNTdlYjRlOWE4M2IwZWE1cC0xLAorICAgIC0weDEuYTk3MGZiNTZjZTE0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2OAorICAgIDB4MS41OTJlNThlYTBhOWVlYzBiMzU3ZWI0ZTlhODNiMGVhNXAtMSwKKyAgICAweDEuYTk3MGZiNTZjZTE0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIDB4MS42OGQ5YWZlMDUyZDFmMGU5MzI0YWU4NzY5NjFiY2RiMXAtMSwKKyAgICAtMHgxLjkzY2QzYTJjODE5OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEuNjhkOWFmZTA1MmQxZjBlOTMyNGFlODc2OTYxYmNkYjFwLTEsCisgICAgMHgxLjkzY2QzYTJjODE5OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAweDEuNzdlMDA4ZDA3NzVlNzQ0ZWIxNmEyYzRlYzcxODRjNDNwLTEsCisgICAgLTB4MS43ZTI5NzkwMjM1MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgMHgxLjc3ZTAwOGQwNzc1ZTc0NGViMTZhMmM0ZWM3MTg0YzQzcC0xLAorICAgIDB4MS43ZTI5NzkwMjM1MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLjg2M2E4NTBlNDM4ZmUwMjkzMDJhYmEwZjVmMTI3NjE2cC0xLAorICAgIC0weDEuNjg4NWI3ZDdlOGEzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIDB4MS44NjNhODUwZTQzOGZlMDI5MzAyYWJhMGY1ZjEyNzYxNnAtMSwKKyAgICAweDEuNjg4NWI3ZDdlOGEzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NQorICAgIDB4MS45M2UyOTQ4MjMzZmNlODE0NDM5ZWQ1MWZkMjU0ODkyMHAtMSwKKyAgICAtMHgxLjUyZTFmNmFkOWMyODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzYKKyAgICAweDEuOTNlMjk0ODIzM2ZjZTgxNDQzOWVkNTFmZDI1NDg5MjBwLTEsCisgICAgMHgxLjUyZTFmNmFkOWMyODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAweDEuYTBkMWY4YTlhNzkxZDRiNTY5NGNhNjhhNDJmZTZjOWJwLTEsCisgICAgLTB4MS4zZDNlMzU4MzRmYWQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLmEwZDFmOGE5YTc5MWQ0YjU2OTRjYTY4YTQyZmU2YzlicC0xLAorICAgIDB4MS4zZDNlMzU4MzRmYWQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmJjNmJkODYxZTEzZGUzMDk0MjhlMDBmN2JlZjZjM2VjcC0xLAorICAgIC0weDEuMGEwYjAyNTAxYzc5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIDB4MS5iYzZiZDg2MWUxM2RlMzA5NDI4ZTAwZjdiZWY2YzNlY3AtMSwKKyAgICAweDEuMGEwYjAyNTAxYzc5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS5jYTU5YzZmYTNkOWNlMjM4YTIyNzM5M2I2YjA3NWJjNXAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODIKKyAgICAweDEuY2E1OWM2ZmEzZDljZTIzOGEyMjczOTNiNmIwNzViYzVwLTEsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAweDEuZDZjMGIxMjU3OTFjZmZjZTgzZTMyNTY0NzEyYjc4YzZwLTEsCisgICAgLTB4MS45ZGQ4M2M3YzllMTI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmQ2YzBiMTI1NzkxY2ZmY2U4M2UzMjU2NDcxMmI3OGM2cC0xLAorICAgIDB4MS45ZGQ4M2M3YzllMTI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLmUxOTYwMjYxODI5ODU4MzkxNjQ1YmJlMTIwMTllNThhcC0xLAorICAgIC0weDEuNjJiOTU4NmFkMGEyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDY4NgorICAgIDB4MS5lMTk2MDI2MTgyOTg1ODM5MTY0NWJiZTEyMDE5ZTU4YXAtMSwKKyAgICAweDEuNjJiOTU4NmFkMGEyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIDB4MS5lYWQwN2NjNjM1Njk2NGUyN2ExMDM2ZDJmOGIxNThmN3AtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAweDEuZWFkMDdjYzYzNTY5NjRlMjdhMTAzNmQyZjhiMTU4ZjdwLTEsCisgICAgMHgxLjI3OWE3NDU5MDMzMWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODkKKyAgICAweDEuZjI2ODQwZTdiMjE4OGY3YTBjYzY2MWEwZWRlMzcyOGJwLTEsCisgICAgLTB4MS5kOGY3MjA4ZTZiODI5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLmYyNjg0MGU3YjIxODhmN2EwY2M2NjFhMGVkZTM3MjhicC0xLAorICAgIDB4MS5kOGY3MjA4ZTZiODI5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgMHgxLmY4NTZkNDhkYjc5N2RlYzBiNzllMTM1MzQwOWRjM2YycC0xLAorICAgIC0weDEuNjJiOTU4NmFkMGExZXAtMworICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5mODU2ZDQ4ZGI3OTdkZWMwYjc5ZTEzNTM0MDlkYzNmMnAtMSwKKyAgICAweDEuNjJiOTU4NmFkMGExZXAtMworICB9LAorICB7IC8vIEVudHJ5IDY5MworICAgIDB4MS5mYzk3MjgzYTQyNDc5NzIxNWY4YThkMTk2NzczNmM5YnAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAweDEuZmM5NzI4M2E0MjQ3OTcyMTVmOGE4ZDE5Njc3MzZjOWJwLTEsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAweDEuZmYyNTliN2FiOWY0ZjlhOGNiOWYxYzMzMzI3MmU0MDlwLTEsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgMHgxLmZmMjU5YjdhYjlmNGY5YThjYjlmMWMzMzMyNzJlNDA5cC0xLAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgMHgxLmZmMjU5YjdhYjlmNGY5YThjYjlmMWMzMzMyNzJlNDA5cC0xLAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgMHgxLmZmMjU5YjdhYjlmNGY5YThjYjlmMWMzMzMyNzJlNDA5cC0xLAorICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtNAorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAweDEuZjg1NmQ0OGRiNzk3ZGJmZWNmYThiNGNkM2JlNDQwMjdwLTEsCisgICAgMHgxLjYyYjk1ODZhZDBhMjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDIKKyAgICAweDEuZjg1NmQ0OGRiNzk3ZGJmZWNmYThiNGNkM2JlNDQwMjdwLTEsCisgICAgLTB4MS42MmI5NTg2YWQwYTIycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzAzCisgICAgMHgxLmYyNjg0MGU3YjIxODhiZDA4MTRlM2RmYzdmNmYzZjg3cC0xLAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLmYyNjg0MGU3YjIxODhiZDA4MTRlM2RmYzdmNmYzZjg3cC0xLAorICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtMworICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAweDEuZTE5NjAyNjE4Mjk4NTJjYTY2MmNhMjdkNTE4YzJmYTlwLTEsCisgICAgMHgxLjYyYjk1ODZhZDBhMjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEuZTE5NjAyNjE4Mjk4NTJjYTY2MmNhMjdkNTE4YzJmYTlwLTEsCisgICAgLTB4MS42MmI5NTg2YWQwYTIycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgMHgxLmQ2YzBiMTI1NzkxY2Y5ODNkNTNlZmFhN2Q0NWUyOTFlcC0xLAorICAgIDB4MS45ZGQ4M2M3YzllMTI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmQ2YzBiMTI1NzkxY2Y5ODNkNTNlZmFhN2Q0NWUyOTFlcC0xLAorICAgIC0weDEuOWRkODNjN2M5ZTEyOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCisgICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTQKKyAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCisgICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE1CisgICAgMHgxLmEwZDFmOGE5YTc5MWY5ZGZmNWM5OTNhZjQ5MDgyNjRkcC0xLAorICAgIDB4MS4zZDNlMzU4MzRmYWNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmEwZDFmOGE5YTc5MWY5ZGZmNWM5OTNhZjQ5MDgyNjRkcC0xLAorICAgIC0weDEuM2QzZTM1ODM0ZmFjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKKyAgICAweDEuNTJlMWY2YWQ5YzI3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKKyAgICAtMHgxLjUyZTFmNmFkOWMyN2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAweDEuODYzYTg1MGU0MzkwMDk5N2U3NmJlODA0MDU0MzczNzdwLTEsCisgICAgMHgxLjY4ODViN2Q3ZThhMmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAweDEuODYzYTg1MGU0MzkwMDk5N2U3NmJlODA0MDU0MzczNzdwLTEsCisgICAgLTB4MS42ODg1YjdkN2U4YTJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgMHgxLjc3ZTAwOGQwNzc1ZTlmYzM4ZTNmNDkyZjhlOTNmZjUxcC0xLAorICAgIDB4MS43ZTI5NzkwMjM1MWRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLjc3ZTAwOGQwNzc1ZTlmYzM4ZTNmNDkyZjhlOTNmZjUxcC0xLAorICAgIC0weDEuN2UyOTc5MDIzNTFkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcyMworICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKKyAgICAweDEuOTNjZDNhMmM4MTk4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKKyAgICAtMHgxLjkzY2QzYTJjODE5OGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAweDEuNTkyZTU4ZWEwYTlmMWI0ZmRkYmFhZjg2OGZlNDc5MTFwLTEsCisgICAgMHgxLmE5NzBmYjU2Y2UxM2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAweDEuNTkyZTU4ZWEwYTlmMWI0ZmRkYmFhZjg2OGZlNDc5MTFwLTEsCisgICAgLTB4MS5hOTcwZmI1NmNlMTNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgMHgxLjQ4ZTUyZTBhNjViY2U0ZDlkNjJhMzEyOTNmN2Q0MWMxcC0xLAorICAgIDB4MS5iZjE0YmM4MTFhOGVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLjQ4ZTUyZTBhNjViY2U0ZDlkNjJhMzEyOTNmN2Q0MWMxcC0xLAorICAgIC0weDEuYmYxNGJjODExYThlY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKKyAgICAweDEuZDRiODdkYWI2NzA5Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDczMAorICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKKyAgICAtMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICAweDEuMjY5NzZhNmM0ZTBmYmFiYjg0NjMyYmQ5OWZlZWM5YzZwLTEsCisgICAgMHgxLmVhNWMzZWQ1YjM4NGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICAweDEuMjY5NzZhNmM0ZTBmYmFiYjg0NjMyYmQ5OWZlZWM5YzZwLTEsCisgICAgLTB4MS5lYTVjM2VkNWIzODRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgMHgxLmU4YzQwNWYzNmY4NWI3ZjVkNmEzOGRmZDRhNjkyMzQxcC0yLAorICAgIDB4MS4xMmJkOTE3M2MwN2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzQKKyAgICAweDEuZThjNDA1ZjM2Zjg1YjdmNWQ2YTM4ZGZkNGE2OTIzNDFwLTIsCisgICAgLTB4MS4xMmJkOTE3M2MwN2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAweDEuYTVhNGNjZjQwZDljYjI1ZjE2YWQ5N2U0ODBjNGI0ODNwLTIsCisgICAgMHgxLjI1N2IyMmU3ODBmNTZwMAorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5hNWE0Y2NmNDBkOWNiMjVmMTZhZDk3ZTQ4MGM0YjQ4M3AtMiwKKyAgICAtMHgxLjI1N2IyMmU3ODBmNTZwMAorICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIDB4MS42MDQzNjIxYjEzYmQzZjkwNGIzYjg3NmRmNWIyYzZmNHAtMiwKKyAgICAweDEuMzgzOGI0NWI0MTcwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMHgxLjYwNDM2MjFiMTNiZDNmOTA0YjNiODc2ZGY1YjJjNmY0cC0yLAorICAgIC0weDEuMzgzOGI0NWI0MTcwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzM5CisgICAgMHgxLjE4ZmVlOTZhMWE1NzYyZmM2NzcwZmYxNjhlMDZhYjNlcC0yLAorICAgIDB4MS40YWY2NDVjZjAxZWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDAKKyAgICAweDEuMThmZWU5NmExYTU3NjJmYzY3NzBmZjE2OGUwNmFiM2VwLTIsCisgICAgLTB4MS40YWY2NDVjZjAxZWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAweDEuYTA3MjNhOTU0OTJjZTk5ODQ1N2ZiN2EwZDA5YTYzODVwLTMsCisgICAgMHgxLjVkYjNkNzQyYzI2NTdwMAorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIDB4MS5hMDcyM2E5NTQ5MmNlOTk4NDU3ZmI3YTBkMDlhNjM4NXAtMywKKyAgICAtMHgxLjVkYjNkNzQyYzI2NTdwMAorICB9LAorICB7IC8vIEVudHJ5IDc0MworICAgIDB4MS4wY2FiOTExNTY0MGI5ZDlkNDY2NzIzYmJkNWQ1ODliZXAtMywKKyAgICAweDEuNzA3MTY4YjY4MmUwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLjBjYWI5MTE1NjQwYjlkOWQ0NjY3MjNiYmQ1ZDU4OWJlcC0zLAorICAgIC0weDEuNzA3MTY4YjY4MmUwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQ1CisgICAgMHgxLmRkZDFlYzI1ZTIwMWY1Mzg5MjViZjViY2Y3YzdkZjZlcC01LAorICAgIDB4MS44MzJlZmEyYTQzNWFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAweDEuZGRkMWVjMjVlMjAxZjUzODkyNWJmNWJjZjdjN2RmNmVwLTUsCisgICAgLTB4MS44MzJlZmEyYTQzNWFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAorICAgIDB4MS45NWVjOGI5ZTAzZDU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAorICAgIC0weDEuOTVlYzhiOWUwM2Q1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgLTB4MS42ODJmM2NjM2M3YTA4ZGEyY2UwMmE0MWNkYzdiZWQ4NnAtNCwKKyAgICAweDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUwCisgICAgLTB4MS42ODJmM2NjM2M3YTA4ZGEyY2UwMmE0MWNkYzdiZWQ4NnAtNCwKKyAgICAtMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS4wY2IzNDY5YTI5ZWE2NmQ0MDMxYmU3Njk3MDJhYWQ1Y3AtMSwKKyAgICAweDEuMDRhZmY2ZDMzMDk0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMHgxLjBjYjM0NjlhMjllYTY2ZDQwMzFiZTc2OTcwMmFhZDVjcC0xLAorICAgIC0weDEuMDRhZmY2ZDMzMDk0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLjBjYjIyOGZhN2Y4MTE3YzgyZTYxY2Y1MzkzMzQxYzY0cC0xLAorICAgIDB4MS4wNGIwOWU5OGRjZGI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuMGNiMjI4ZmE3ZjgxMTdjODJlNjFjZjUzOTMzNDFjNjRwLTEsCisgICAgLTB4MS4wNGIwOWU5OGRjZGI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuMGNiMTBiNWE2MWIwNWE3M2U3OGEzZTQ0NDdiYWY1MTRwLTEsCisgICAgMHgxLjA0YjE0NjVlODkyMjZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIDB4MS4wY2IxMGI1YTYxYjA1YTczZTc4YTNlNDQ0N2JhZjUxNHAtMSwKKyAgICAtMHgxLjA0YjE0NjVlODkyMjZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS4wY2FmZWRiOWQwNzhhOTg0MDg2OTI4YWE0MGQyZTRhNXAtMSwKKyAgICAweDEuMDRiMWVlMjQzNTY5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgMHgxLjBjYWZlZGI5ZDA3OGE5ODQwODY5MjhhYTQwZDJlNGE1cC0xLAorICAgIC0weDEuMDRiMWVlMjQzNTY5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLjBjYWVkMDE4Y2JkYTdmYTU5YzYzMWNkNTViMzFhYThkcC0xLAorICAgIDB4MS4wNGIyOTVlOWUxYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjAKKyAgICAweDEuMGNhZWQwMThjYmRhN2ZhNTljNjMxY2Q1NWIzMWFhOGRwLTEsCisgICAgLTB4MS4wNGIyOTVlOWUxYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuMGNhZGIyNzc1M2Q2NTc4NWUwNmQwZTQ2NDAwNjE0OWVwLTEsCisgICAgMHgxLjA0YjMzZGFmOGRmN2NwMAorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDB4MS4wY2FkYjI3NzUzZDY1Nzg1ZTA2ZDBlNDY0MDA2MTQ5ZXAtMSwKKyAgICAtMHgxLjA0YjMzZGFmOGRmN2NwMAorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS4wY2FjOTRkNTY4NmNhYmQyNDMwYzIwZmRmMjg1NWI0N3AtMSwKKyAgICAweDEuMDRiM2U1NzUzYTNlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgMHgxLjBjYWM5NGQ1Njg2Y2FiZDI0MzBjMjBmZGYyODU1YjQ3cC0xLAorICAgIC0weDEuMDRiM2U1NzUzYTNlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLjBjYWI3NzMzMDk5ZGY3Mzg2NDU1NzRjZDQ4MmVmNGIycC0xLAorICAgIDB4MS4wNGI0OGQzYWU2ODYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAweDEuMGNhYjc3MzMwOTlkZjczODY0NTU3NGNkNDgyZWY0YjJwLTEsCisgICAgLTB4MS4wNGI0OGQzYWU2ODYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuMGNhYTU5OTAzNzZiMDYxZWMxY2YzODkwZjFiOGUxZTNwLTEsCisgICAgMHgxLjA0YjUzNTAwOTJjY2ZwMAorICB9LAorICB7IC8vIEVudHJ5IDc2OAorICAgIDB4MS4wY2FhNTk5MDM3NmIwNjFlYzFjZjM4OTBmMWI4ZTFlM3AtMSwKKyAgICAtMHgxLjA0YjUzNTAwOTJjY2ZwMAorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzEKKyAgICAweDEucDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc3MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAweDEuYWQwMmM3NzFjMzVlZDVmMDEwODlhMDBjNmEyN2UwY2ZwLTEsCisgICAgMHgxLjI3OWE3NDU5MDMzMWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAweDEuYWQwMmM3NzFjMzVlZDVmMDEwODlhMDBjNmEyN2UwY2ZwLTEsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLmFkMDJjNzcxYzM1ZWNkMzQ3MWRlOTAyMWU2YzNiOTJicC0xLAorICAgIDB4MS4yNzlhNzQ1OTAzMzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzc3CisgICAgMHgxLmFkMDJjNzcxYzM1ZWNkMzQ3MWRlOTAyMWU2YzNiOTJicC0xLAorICAgIC0weDEuMjc5YTc0NTkwMzMxY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc3OAorICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3OQorICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAtMHgxLjQ4ZDFkZGQyYjJiM2Y4YzIxYjk0MjFlNjViMzgwNzM1cC0zLAorICAgIDB4MS5iYjY3YWU4NTg0Y2E5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAtMHgxLjQ4ZDFkZGQyYjJiM2Y4YzIxYjk0MjFlNjViMzgwNzM1cC0zLAorICAgIC0weDEuYmI2N2FlODU4NGNhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgLTB4MS40OGQxZGRkMmIyYjQ3NzE4ZmYzMDYzYjZiZDk4MTA5OXAtMywKKyAgICAweDEuYmI2N2FlODU4NGNhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgzCisgICAgLTB4MS40OGQxZGRkMmIyYjQ3NzE4ZmYzMDYzYjZiZDk4MTA5OXAtMywKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDc4NAorICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwMAorICB9LAorICB7IC8vIEVudHJ5IDc4NQorICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEuY2ZjNmNmYTUyYWQ5Zjk5MTFkYjRjYTBkNDVmZGIwYjNwLTEsCisgICAgMHgxLmJmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODcKKyAgICAweDEuY2ZjNmNmYTUyYWQ5Zjk5MTFkYjRjYTBkNDVmZGIwYjNwLTEsCisgICAgLTB4MS5iZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmNmYzZjZmE1MmFkOWY2MmQ2ZDU0MjNjYTgzMzlhMDBhcC0xLAorICAgIDB4MS5jcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzg5CisgICAgMHgxLmNmYzZjZmE1MmFkOWY2MmQ2ZDU0MjNjYTgzMzlhMDBhcC0xLAorICAgIC0weDEuY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKKyAgICAweDEuYzAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDc5MQorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKKyAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAweDEuOGJiMTA1YTVkYzkwMTA0MDUxZDA4Y2I5NjU2MzE4MDdwLTEsCisgICAgMHgxLjVmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuOGJiMTA1YTVkYzkwMTA0MDUxZDA4Y2I5NjU2MzE4MDdwLTEsCisgICAgLTB4MS41ZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLjhiYjEwNWE1ZGM5MDA2MThmODBmYTUxZDMwM2M2OXAtMSwKKyAgICAweDEuNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCisgICAgLTB4MS42cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAorICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS43ZWY0ODQyZjBiY2QxMTY4NmFhZjZmMjFjOWFhODM1NHAtMiwKKyAgICAweDEuMmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzk5CisgICAgMHgxLjdlZjQ4NDJmMGJjZDExNjg2YWFmNmYyMWM5YWE4MzU0cC0yLAorICAgIC0weDEuMmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgODAwCisgICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAorICAgIDB4MS4zcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAweDEuN2VmNDg0MmYwYmNjZDYwZDRhNTAxZGM4YmM0YjU3YjNwLTIsCisgICAgLTB4MS4zcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEuN2VmNDg0MmYwYmNjOWFiMjI5ZjBjYzZmYWQ2ZDM3OGRwLTIsCisgICAgMHgxLjMwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDgwMworICAgIDB4MS43ZWY0ODQyZjBiY2M5YWIyMjlmMGNjNmZhZDZkMzc4ZHAtMiwKKyAgICAtMHgxLjMwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDgwNAorICAgIC0weDEuODYzZWZhMzYxZGMyMjk0ZTkyOWI5NTE1ZmIzNGY5YmFwLTEsCisgICAgMHgxLjM3ZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDgwNQorICAgIC0weDEuODYzZWZhMzYxZGMyMjk0ZTkyOWI5NTE1ZmIzNGY5YmFwLTEsCisgICAgLTB4MS4zN2ZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAtMHgxLjg2M2VmYTM2MWRjMjUyYmNhMWVhZWVkMzk3NDliZWQ3cC0xLAorICAgIDB4MS4zODBwMQorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIC0weDEuODYzZWZhMzYxZGMyNTJiY2ExZWFlZWQzOTc0OWJlZDdwLTEsCisgICAgLTB4MS4zODBwMQorICB9LAorICB7IC8vIEVudHJ5IDgwOAorICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCisgICAgMHgxLjM4MDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDgwOQorICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCisgICAgLTB4MS4zODAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAweDEuZmVmMmIyZDIxY2Y2YzEwNmU4NmZmOTM5NWY4MjA0YTBwLTEsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAweDEuZmVmMmIyZDIxY2Y2YzEwNmU4NmZmOTM5NWY4MjA0YTBwLTEsCisgICAgLTB4MS4wNjljOGI0NmIzNzkycC00CisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMHgxLmZiY2JlNjkzYmQ4ZWM4NTcyM2I2Y2I1NWU0ZjVlNzhmcC0xLAorICAgIDB4MS4wNjljOGI0NmIzNzkycC0zCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgMHgxLmZiY2JlNjkzYmQ4ZWM4NTcyM2I2Y2I1NWU0ZjVlNzhmcC0xLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKKyAgICAweDEuODllYWQwZWEwZDM1YnAtMworICB9LAorICB7IC8vIEVudHJ5IDgxNQorICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTYKKyAgICAweDEuZWY0MTQ1YjRhZWNmZmJkYWFmZmI3OGZmYjQ5YWM5YmRwLTEsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAweDEuZWY0MTQ1YjRhZWNmZmJkYWFmZmI3OGZmYjQ5YWM5YmRwLTEsCisgICAgLTB4MS4wNjljOGI0NmIzNzkycC0yCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMHgxLmU1ZWFhMjg2ZmJiYzY3MGRiZjYzOTJkN2M5OGFiMGEwcC0xLAorICAgIDB4MS40ODQzYWUxODYwNTc2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgMHgxLmU1ZWFhMjg2ZmJiYzY3MGRiZjYzOTJkN2M5OGFiMGEwcC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU3NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKKyAgICAweDEuODllYWQwZWEwZDM1YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDgyMQorICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAweDEuY2Q0YmNhOWNiNWM3MTUzMDIwMDFlNDQ2Y2M5M2E3YmNwLTEsCisgICAgMHgxLmNiOTFmM2JiYmExM2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAweDEuY2Q0YmNhOWNiNWM3MTUzMDIwMDFlNDQ2Y2M5M2E3YmNwLTEsCisgICAgLTB4MS5jYjkxZjNiYmJhMTNlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODI0CisgICAgMHgxLmJlMWQ3YzM1MzRjNDAzMzFmZGRmMjQzZDhhMGE1NmIwcC0xLAorICAgIDB4MS4wNjljOGI0NmIzNzkxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODI1CisgICAgMHgxLmJlMWQ3YzM1MzRjNDAzMzFmZGRmMjQzZDhhMGE1NmIwcC0xLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyNgorICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKKyAgICAweDEuMjc3MDFjYWY4OWU4M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgyNworICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKKyAgICAtMHgxLjI3NzAxY2FmODllODNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjgKKyAgICAweDEuOWE1MmUyZTBmYmNiM2EzZjRiZGU2ZjZlYzI3NzY3YTlwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICAweDEuOWE1MmUyZTBmYmNiM2EzZjRiZGU2ZjZlYzI3NzY3YTlwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNTc1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMwCisgICAgMHgxLjg1ZGMzZWExYmJjZTlhODA4NWY2NjU5M2E4N2I3ZTJlcC0xLAorICAgIDB4MS42OTE3M2Y4MTM2YzY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMxCisgICAgMHgxLjg1ZGMzZWExYmJjZTlhODA4NWY2NjU5M2E4N2I3ZTJlcC0xLAorICAgIC0weDEuNjkxNzNmODEzNmM2N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKKyAgICAweDEuODllYWQwZWEwZDM1OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAweDEuNTgzN2QyODE3Y2YzMDNlZjZkYWU2OWZhZWIwZjAxNWVwLTEsCisgICAgMHgxLmFhYmU2MjUyZTNhNGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzUKKyAgICAweDEuNTgzN2QyODE3Y2YzMDNlZjZkYWU2OWZhZWIwZjAxNWVwLTEsCisgICAgLTB4MS5hYWJlNjI1MmUzYTRicC0xCisgIH0sCisgIHsgLy8gRW50cnkgODM2CisgICAgMHgxLjNmM2EwZTI4YmVkZDQwNDQ1ODU4ZjgyM2UxNTAyNjRicC0xLAorICAgIDB4MS5jYjkxZjNiYmJhMTNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODM3CisgICAgMHgxLjNmM2EwZTI4YmVkZDQwNDQ1ODU4ZjgyM2UxNTAyNjRicC0xLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKKyAgICAweDEuZWM2NTg1MjQ5MDgyZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzOQorICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKKyAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAweDEuMDk2YWMwMmVjNDJjODViN2IxMGFmZWQ5MjAyNzg1YjlwLTEsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTFwMAorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIDB4MS4wOTZhYzAyZWM0MmM4NWI3YjEwYWZlZDkyMDI3ODViOXAtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwMAorICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIDB4MS5kOWEzYTMzNmVkYjc2MTNkZjA2MmU4NmEzMmQwOWZlMXAtMiwKKyAgICAweDEuMTcwNjUzZmIxZWIwYXAwCisgIH0sCisgIHsgLy8gRW50cnkgODQzCisgICAgMHgxLmQ5YTNhMzM2ZWRiNzYxM2RmMDYyZTg2YTMyZDA5ZmUxcC0yLAorICAgIC0weDEuMTcwNjUzZmIxZWIwYXAwCisgIH0sCisgIHsgLy8gRW50cnkgODQ0CisgICAgMHgxLjllN2Y4NjUyYjQ3NTgyYWZkMjk3NDQyOTMxNzBjMDdjcC0yLAorICAgIDB4MS4yNzcwMWNhZjg5ZTgzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDUKKyAgICAweDEuOWU3Zjg2NTJiNDc1ODJhZmQyOTc0NDI5MzE3MGMwN2NwLTIsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAweDEuNjFhNzYwNzdhZWUwN2JiMzQ5Y2E3NmNmNzAwOTEzZDFwLTIsCisgICAgMHgxLjM3ZDllNTYzZjUxZmNwMAorICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIDB4MS42MWE3NjA3N2FlZTA3YmIzNDljYTc2Y2Y3MDA5MTNkMXAtMiwKKyAgICAtMHgxLjM3ZDllNTYzZjUxZmNwMAorICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIDB4MS4yMzViMzMxZDhmNzQ4ZTIwZmI2ZGRiNmE3MDhkYmExMHAtMiwKKyAgICAweDEuNDg0M2FlMTg2MDU3NXAwCisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgMHgxLjIzNWIzMzFkOGY3NDhlMjBmYjZkZGI2YTcwOGRiYTEwcC0yLAorICAgIC0weDEuNDg0M2FlMTg2MDU3NXAwCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgMHgxLmM3YjkwZTMwMjQ1OTNkYTg0NDk5NjNjZmUwOGRkZTg1cC0zLAorICAgIDB4MS41OGFkNzZjY2NiOGVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICAweDEuYzdiOTBlMzAyNDU5M2RhODQ0OTk2M2NmZTA4ZGRlODVwLTMsCisgICAgLTB4MS41OGFkNzZjY2NiOGVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAweDEuNDZkYzRmNGNlODNkYTcyN2VhMDQ4Y2M3ZDJmMjc2ZDFwLTMsCisgICAgMHgxLjY5MTczZjgxMzZjNjdwMAorICB9LAorICB7IC8vIEVudHJ5IDg1MworICAgIDB4MS40NmRjNGY0Y2U4M2RhNzI3ZWEwNDhjYzdkMmYyNzZkMXAtMywKKyAgICAtMHgxLjY5MTczZjgxMzZjNjdwMAorICB9LAorICB7IC8vIEVudHJ5IDg1NAorICAgIDB4MS44OTRmNzBiZWZiYjk5YWI3ZGY5ZDE3OTBhMjhmNDhhZHAtNCwKKyAgICAweDEuNzk4MTA4MzVhMWZlMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODU1CisgICAgMHgxLjg5NGY3MGJlZmJiOTlhYjdkZjlkMTc5MGEyOGY0OGFkcC00LAorICAgIC0weDEuNzk4MTA4MzVhMWZlMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgMHgxLjA2OTEwN2FlOTMzMmY5NWZhMmM1Y2VlYWRmYjI5Zjc3cC01LAorICAgIDB4MS44OWVhZDBlYTBkMzU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAweDEuMDY5MTA3YWU5MzMyZjk1ZmEyYzVjZWVhZGZiMjlmNzdwLTUsCisgICAgLTB4MS44OWVhZDBlYTBkMzU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAtMHgxLjA2OTEwN2FlOTMyN2UwNzMxYTc0OGMyMWYwM2I1ZWZjcC01LAorICAgIDB4MS45YTU0OTk5ZTc4NmQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTkKKyAgICAtMHgxLjA2OTEwN2FlOTMyN2UwNzMxYTc0OGMyMWYwM2I1ZWZjcC01LAorICAgIC0weDEuOWE1NDk5OWU3ODZkMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgLTB4MS44OTRmNzBiZWZiYjQxNDE3ZGZmODQzZTgxZmFjMzg4YnAtNCwKKyAgICAweDEuYWFiZTYyNTJlM2E0YnAwCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgLTB4MS44OTRmNzBiZWZiYjQxNDE3ZGZmODQzZTgxZmFjMzg4YnAtNCwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNGJwMAorICB9LAorICB7IC8vIEVudHJ5IDg2MgorICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCisgICAgMHgxLmJiMjgyYjA3NGVkYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDg2MworICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCisgICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAtMHgxLmM3YjkwZTMwMjQ1Njg4ZTA5OTg2MGU4ZDRmZmY2MDFjcC0zLAorICAgIDB4MS5jYjkxZjNiYmJhMTNkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjUKKyAgICAtMHgxLmM3YjkwZTMwMjQ1Njg4ZTA5OTg2MGU4ZDRmZmY2MDFjcC0zLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZHAwCisgIH0sCisgIHsgLy8gRW50cnkgODY2CisgICAgLTB4MS4yMzViMzMxZDhmNzMzOTg0MWE1MTczMTJkMGQzNDdmYnAtMiwKKyAgICAweDEuZGJmYmJjNzAyNTRiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgODY3CisgICAgLTB4MS4yMzViMzMxZDhmNzMzOTg0MWE1MTczMTJkMGQzNDdmYnAtMiwKKyAgICAtMHgxLmRiZmJiYzcwMjU0YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCisgICAgMHgxLmVjNjU4NTI0OTA4MmZwMAorICB9LAorICB7IC8vIEVudHJ5IDg2OQorICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCisgICAgLTB4MS5lYzY1ODUyNDkwODJmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzAKKyAgICAtMHgxLjllN2Y4NjUyYjQ3NDNkY2MzYzM1NjhiYWZmOGJmOWVicC0yLAorICAgIDB4MS5mY2NmNGRkOGZiYmE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzEKKyAgICAtMHgxLjllN2Y4NjUyYjQ3NDNkY2MzYzM1NjhiYWZmOGJmOWVicC0yLAorICAgIC0weDEuZmNjZjRkZDhmYmJhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgODcyCisgICAgLTB4MS5kOWEzYTMzNmVkYjY1ZWZhMzBlMWE2Njc5YWEwNjRjMnAtMiwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAxCisgIH0sCisgIHsgLy8gRW50cnkgODczCisgICAgLTB4MS5kOWEzYTMzNmVkYjY1ZWZhMzBlMWE2Njc5YWEwNjRjMnAtMiwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwMQorICB9LAorICB7IC8vIEVudHJ5IDg3NAorICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCisgICAgMHgxLjBlZDE2ZmEwZTkxNGVwMQorICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzYKKyAgICAtMHgxLjI0ZWM3OTkxNzE2M2RkYTY1YWZkODEwOWY1OWNiNDY1cC0xLAorICAgIDB4MS4xNzA2NTNmYjFlYjBicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzcKKyAgICAtMHgxLjI0ZWM3OTkxNzE2M2RkYTY1YWZkODEwOWY1OWNiNDY1cC0xLAorICAgIC0weDEuMTcwNjUzZmIxZWIwYnAxCisgIH0sCisgIHsgLy8gRW50cnkgODc4CisgICAgLTB4MS4zZjNhMGUyOGJlZGQwY2YwYzRiZmJkOGM4MmEzYmFhZnAtMSwKKyAgICAweDEuMWYzYjM4NTU1NDRjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODc5CisgICAgLTB4MS4zZjNhMGUyOGJlZGQwY2YwYzRiZmJkOGM4MmEzYmFhZnAtMSwKKyAgICAtMHgxLjFmM2IzODU1NTQ0YzhwMQorICB9LAorICB7IC8vIEVudHJ5IDg4MAorICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCisgICAgMHgxLjI3NzAxY2FmODllODVwMQorICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODIKKyAgICAtMHgxLjZmY2I3YzZiOGI5MTk5Y2UyZjE3ZGQzZWU4NmIzYjlhcC0xLAorICAgIDB4MS4yZmE1MDEwOWJmODQycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODMKKyAgICAtMHgxLjZmY2I3YzZiOGI5MTk5Y2UyZjE3ZGQzZWU4NmIzYjlhcC0xLAorICAgIC0weDEuMmZhNTAxMDliZjg0MnAxCisgIH0sCisgIHsgLy8gRW50cnkgODg0CisgICAgLTB4MS44NWRjM2VhMWJiY2VhZTJkMjk0NDIxZThjNzM1MGY4Y3AtMSwKKyAgICAweDEuMzdkOWU1NjNmNTFmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgODg1CisgICAgLTB4MS44NWRjM2VhMWJiY2VhZTJkMjk0NDIxZThjNzM1MGY4Y3AtMSwKKyAgICAtMHgxLjM3ZDllNTYzZjUxZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDg4NgorICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCisgICAgMHgxLjQwMGVjOWJlMmFiYmNwMQorICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCisgICAgLTB4MS40MDBlYzliZTJhYmJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICAtMHgxLmFkMTllMjUzNWFhOTliMDQ5YWMwYjU4NThjNWQzODFmcC0xLAorICAgIDB4MS40ODQzYWUxODYwNTc5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODkKKyAgICAtMHgxLmFkMTllMjUzNWFhOTliMDQ5YWMwYjU4NThjNWQzODFmcC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU3OXAxCisgIH0sCisgIHsgLy8gRW50cnkgODkwCisgICAgLTB4MS5iZTFkN2MzNTM0YzQ0MTMyYWIxYzQxMzBjYmU5ZGZhMHAtMSwKKyAgICAweDEuNTA3ODkyNzI5NWYzNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODkxCisgICAgLTB4MS5iZTFkN2MzNTM0YzQ0MTMyYWIxYzQxMzBjYmU5ZGZhMHAtMSwKKyAgICAtMHgxLjUwNzg5MjcyOTVmMzZwMQorICB9LAorICB7IC8vIEVudHJ5IDg5MgorICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZjNwMQorICB9LAorICB7IC8vIEVudHJ5IDg5MworICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCisgICAgLTB4MS41OGFkNzZjY2NiOGYzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAtMHgxLmRhOTRkNTRkZDRjMGNlZGNjZDczNjg0OTk0NDIyNzQwcC0xLAorICAgIDB4MS42MGUyNWIyNzAxMmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTUKKyAgICAtMHgxLmRhOTRkNTRkZDRjMGNlZGNjZDczNjg0OTk0NDIyNzQwcC0xLAorICAgIC0weDEuNjBlMjViMjcwMTJiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgODk2CisgICAgLTB4MS5lNWVhYTI4NmZiYmNhZDFlNGE2MzczMzkyZTY3OTY2OXAtMSwKKyAgICAweDEuNjkxNzNmODEzNmM2ZHAxCisgIH0sCisgIHsgLy8gRW50cnkgODk3CisgICAgLTB4MS5lNWVhYTI4NmZiYmNhZDFlNGE2MzczMzkyZTY3OTY2OXAtMSwKKyAgICAtMHgxLjY5MTczZjgxMzZjNmRwMQorICB9LAorICB7IC8vIEVudHJ5IDg5OAorICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCisgICAgMHgxLjcxNGMyM2RiNmM2MmFwMQorICB9LAorICB7IC8vIEVudHJ5IDg5OQorICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCisgICAgLTB4MS43MTRjMjNkYjZjNjJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDAKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZWJhMTI0ZDhjYzQ4ZmQxYmViMDRkcC0xLAorICAgIDB4MS43OTgxMDgzNWExZmU3cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDEKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZWJhMTI0ZDhjYzQ4ZmQxYmViMDRkcC0xLAorICAgIC0weDEuNzk4MTA4MzVhMWZlN3AxCisgIH0sCisgIHsgLy8gRW50cnkgOTAyCisgICAgLTB4MS5mYmNiZTY5M2JkOGVmMDA2ZjVmZjAyMjEwZGZlMDYxOXAtMSwKKyAgICAweDEuODFiNWVjOGZkNzlhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTAzCisgICAgLTB4MS5mYmNiZTY5M2JkOGVmMDA2ZjVmZjAyMjEwZGZlMDYxOXAtMSwKKyAgICAtMHgxLjgxYjVlYzhmZDc5YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCisgICAgMHgxLjg5ZWFkMGVhMGQzNWJwMQorICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCisgICAgLTB4MS44OWVhZDBlYTBkMzVicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICAweDEuZWY0MTQ1YjRhZWNmZjZmNThlZGVjZjI0OTU1NDI4YzFwLTEsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OTlmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDcKKyAgICAweDEuZWY0MTQ1YjRhZWNmZjZmNThlZGVjZjI0OTU1NDI4YzFwLTEsCisgICAgMHgxLjgxYjVlYzhmZDc5OWZwMgorICB9LAorICB7IC8vIEVudHJ5IDkwOAorICAgIDB4MS5iZTFkN2MzNTM0YzNmOWI5YjM1NjE5MjgwMDQ5ZGU4NXAtMSwKKyAgICAtMHgxLjcxNGMyM2RiNmM2MjZwMgorICB9LAorICB7IC8vIEVudHJ5IDkwOQorICAgIDB4MS5iZTFkN2MzNTM0YzNmOWI5YjM1NjE5MjgwMDQ5ZGU4NXAtMSwKKyAgICAweDEuNzE0YzIzZGI2YzYyNnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTEwCisgICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAorICAgIC0weDEuNjBlMjViMjcwMTJhZHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTExCisgICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAorICAgIDB4MS42MGUyNWIyNzAxMmFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTIKKyAgICAweDEuMDk2YWMwMmVjNDJjODJlNWIyMjUxODViZDZjNzU3ZDVwLTEsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTMKKyAgICAweDEuMDk2YWMwMmVjNDJjODJlNWIyMjUxODViZDZjNzU3ZDVwLTEsCisgICAgMHgxLjUwNzg5MjcyOTVmMzRwMgorICB9LAorICB7IC8vIEVudHJ5IDkxNAorICAgIDB4MS4yMzViMzMxZDhmNzQ4N2NlMmRiOTc4MTlmYWU3Nzc3Y3AtMiwKKyAgICAtMHgxLjQwMGVjOWJlMmFiYmJwMgorICB9LAorICB7IC8vIEVudHJ5IDkxNQorICAgIDB4MS4yMzViMzMxZDhmNzQ4N2NlMmRiOTc4MTlmYWU3Nzc3Y3AtMiwKKyAgICAweDEuNDAwZWM5YmUyYWJiYnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTE2CisgICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAorICAgIC0weDEuMmZhNTAxMDliZjg0MnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTE3CisgICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAorICAgIDB4MS4yZmE1MDEwOWJmODQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTgKKyAgICAtMHgxLmM3YjkwZTMwMjQ1Njk1YmQxZWMxNzBmNDVmZWViMWZmcC0zLAorICAgIC0weDEuMWYzYjM4NTU1NDRjOXAyCisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgLTB4MS5jN2I5MGUzMDI0NTY5NWJkMWVjMTcwZjQ1ZmVlYjFmZnAtMywKKyAgICAweDEuMWYzYjM4NTU1NDRjOXAyCisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgLTB4MS5kOWEzYTMzNmVkYjYyYzE1NDFiODU4NGNkNmMwMGY4N3AtMiwKKyAgICAtMHgxLjBlZDE2ZmEwZTkxNTBwMgorICB9LAorICB7IC8vIEVudHJ5IDkyMQorICAgIC0weDEuZDlhM2EzMzZlZGI2MmMxNTQxYjg1ODRjZDZjMDBmODdwLTIsCisgICAgMHgxLjBlZDE2ZmEwZTkxNTBwMgorICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIC0weDEuNTgzN2QyODE3Y2YyNzcwNWNhYzc4ODFmYjU2OWZmYzdwLTEsCisgICAgLTB4MS5mY2NmNGRkOGZiYmFlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjMKKyAgICAtMHgxLjU4MzdkMjgxN2NmMjc3MDVjYWM3ODgxZmI1NjlmZmM3cC0xLAorICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjQKKyAgICAtMHgxLmFkMTllMjUzNWFhOGZmYjQwMDY2ZDc4YWVmNzFmYWJkcC0xLAorICAgIC0weDEuZGJmYmJjNzAyNTRiY3AxCisgIH0sCisgIHsgLy8gRW50cnkgOTI1CisgICAgLTB4MS5hZDE5ZTI1MzVhYThmZmI0MDA2NmQ3OGFlZjcxZmFiZHAtMSwKKyAgICAweDEuZGJmYmJjNzAyNTRiY3AxCisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgLTB4MS5lNWVhYTI4NmZiYmMyYjEyOTIzODE2MGRmMzBjZTcwNHAtMSwKKyAgICAtMHgxLmJiMjgyYjA3NGVkY2FwMQorICB9LAorICB7IC8vIEVudHJ5IDkyNworICAgIC0weDEuZTVlYWEyODZmYmJjMmIxMjkyMzgxNjBkZjMwY2U3MDRwLTEsCisgICAgMHgxLmJiMjgyYjA3NGVkY2FwMQorICB9LAorICB7IC8vIEVudHJ5IDkyOAorICAgIC0weDEuZmVmMmIyZDIxY2Y2YjQwZmYzYjUzMGNlOGRjMGQ4YTdwLTEsCisgICAgLTB4MS45YTU0OTk5ZTc4NmQ4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjkKKyAgICAtMHgxLmZlZjJiMmQyMWNmNmI0MGZmM2I1MzBjZThkYzBkOGE3cC0xLAorICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZWFkZDY1YzI2MWNkODAzOTkwYWUxcC0xLAorICAgIC0weDEuNzk4MTA4MzVhMWZlNnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTMxCisgICAgLTB4MS5mNjhlZWJmY2JiNWVhZGQ2NWMyNjFjZDgwMzk5MGFlMXAtMSwKKyAgICAweDEuNzk4MTA4MzVhMWZlNnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTMyCisgICAgLTB4MS5jZDRiY2E5Y2I1Yzc3NWE5OTcyOWY3YWQ5NWI3ZGNlM3AtMSwKKyAgICAtMHgxLjU4YWQ3NmNjY2I4ZjRwMQorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIC0weDEuY2Q0YmNhOWNiNWM3NzVhOTk3MjlmN2FkOTViN2RjZTNwLTEsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZjRwMQorICB9LAorICB7IC8vIEVudHJ5IDkzNAorICAgIC0weDEuODVkYzNlYTFiYmNmMmFhMmUyMWVjNTg2ZDU0OTdlMzVwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MjAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzUKKyAgICAtMHgxLjg1ZGMzZWExYmJjZjJhYTJlMjFlYzU4NmQ1NDk3ZTM1cC0xLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzYKKyAgICAtMHgxLjI0ZWM3OTkxNzE2NGU0MWFkZGQ0YmFjZDQ0MjBmOWZicC0xLAorICAgIC0weDEuMTcwNjUzZmIxZWIxMHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTM3CisgICAgLTB4MS4yNGVjNzk5MTcxNjRlNDFhZGRkNGJhY2Q0NDIwZjlmYnAtMSwKKyAgICAweDEuMTcwNjUzZmIxZWIxMHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTM4CisgICAgLTB4MS42MWE3NjA3N2FlZTIzYjExZjBjNjczZjYzODAwM2IwYXAtMiwKKyAgICAtMHgxLmVjNjU4NTI0OTA4M2NwMAorICB9LAorICB7IC8vIEVudHJ5IDkzOQorICAgIC0weDEuNjFhNzYwNzdhZWUyM2IxMWYwYzY3M2Y2MzgwMDNiMGFwLTIsCisgICAgMHgxLmVjNjU4NTI0OTA4M2NwMAorICB9LAorICB7IC8vIEVudHJ5IDk0MAorICAgIC0weDEuODk0ZjcwYmVmYmMxMDRiNzA2ZTg1Y2Y0YzFjOTZhNTJwLTQsCisgICAgLTB4MS5hYWJlNjI1MmUzYTU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDEKKyAgICAtMHgxLjg5NGY3MGJlZmJjMTA0YjcwNmU4NWNmNGMxYzk2YTUycC00LAorICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDIKKyAgICAweDEuNDZkYzRmNGNlODM3M2M3YzQ0ZjEzYjU3MzYzZWRkM2JwLTMsCisgICAgLTB4MS42OTE3M2Y4MTM2Yzc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDMKKyAgICAweDEuNDZkYzRmNGNlODM3M2M3YzQ0ZjEzYjU3MzYzZWRkM2JwLTMsCisgICAgMHgxLjY5MTczZjgxMzZjNzRwMAorICB9LAorICB7IC8vIEVudHJ5IDk0NAorICAgIDB4MS45ZTdmODY1MmI0NzI4OWU1M2ZjY2Q1NDk1NWRiNDU1MnAtMiwKKyAgICAtMHgxLjI3NzAxY2FmODllOTBwMAorICB9LAorICB7IC8vIEVudHJ5IDk0NQorICAgIDB4MS45ZTdmODY1MmI0NzI4OWU1M2ZjY2Q1NDk1NWRiNDU1MnAtMiwKKyAgICAweDEuMjc3MDFjYWY4OWU5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQ2CisgICAgMHgxLjNmM2EwZTI4YmVkYmZiMDY2YjY3YWJkOWMzMzg0MDllcC0xLAorICAgIC0weDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk0NworICAgIDB4MS4zZjNhMGUyOGJlZGJmYjA2NmI2N2FiZDljMzM4NDA5ZXAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk0OAorICAgIDB4MS45YTUyZTJlMGZiY2E0YjAwYzcyZGFhM2NkYWNhMjU3Y3AtMSwKKyAgICAtMHgxLjQ4NDNhZTE4NjA1OGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDkKKyAgICAweDEuOWE1MmUyZTBmYmNhNGIwMGM3MmRhYTNjZGFjYTI1N2NwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1OGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTAKKyAgICAweDEuZGE5NGQ1NGRkNGJmZjc1M2Q5ODhjMTc1NWUyZmZjMDRwLTEsCisgICAgLTB4MS44OWVhZDBlYTBkMzhhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTUxCisgICAgMHgxLmRhOTRkNTRkZDRiZmY3NTNkOTg4YzE3NTVlMmZmYzA0cC0xLAorICAgIDB4MS44OWVhZDBlYTBkMzhhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTUyCisgICAgMHgxLmZiY2JlNjkzYmQ4ZTk4NDIzMjA3ZTM2NTg3ZDk0MmI3cC0xLAorICAgIC0weDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDk1MworICAgIDB4MS5mYmNiZTY5M2JkOGU5ODQyMzIwN2UzNjU4N2Q5NDJiN3AtMSwKKyAgICAweDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDk1NAorICAgIDB4MS5mYmNiZTY5M2JkOGVmODZjMTU2NWIzNDUzMDM2ZTU1ZXAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzczNHAtMworICB9LAorICB7IC8vIEVudHJ5IDk1NQorICAgIDB4MS5mYmNiZTY5M2JkOGVmODZjMTU2NWIzNDUzMDM2ZTU1ZXAtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3MzRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTYKKyAgICAweDEuZGE5NGQ1NGRkNGMxMTE4NzQwNWFkYTdmMDRlNWIxNzFwLTEsCisgICAgMHgxLjg5ZWFkMGVhMGQzMmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTcKKyAgICAweDEuZGE5NGQ1NGRkNGMxMTE4NzQwNWFkYTdmMDRlNWIxNzFwLTEsCisgICAgLTB4MS44OWVhZDBlYTBkMzJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTU4CisgICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAorICAgIDB4MS40ODQzYWUxODYwNTVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTU5CisgICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2MAorICAgIDB4MS4zZjNhMGUyOGJlZGU0NmY2NWNhNWI1YzE5YWQ5OWRkN3AtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2MQorICAgIDB4MS4zZjNhMGUyOGJlZGU0NmY2NWNhNWI1YzE5YWQ5OWRkN3AtMSwKKyAgICAtMHgxLmNiOTFmM2JiYmExMjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjIKKyAgICAweDEuOWU3Zjg2NTJiNDc4MDY2ZWVjNTYzZjgzNTA5N2YxNDhwLTIsCisgICAgMHgxLjI3NzAxY2FmODllNzhwMAorICB9LAorICB7IC8vIEVudHJ5IDk2MworICAgIDB4MS45ZTdmODY1MmI0NzgwNjZlZWM1NjNmODM1MDk3ZjE0OHAtMiwKKyAgICAtMHgxLjI3NzAxY2FmODllNzhwMAorICB9LAorICB7IC8vIEVudHJ5IDk2NAorICAgIDB4MS40NmRjNGY0Y2U4NDMxNTFiOWQxNGU1NjE4NzllNWZlM3AtMywKKyAgICAweDEuNjkxNzNmODEzNmM1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTY1CisgICAgMHgxLjQ2ZGM0ZjRjZTg0MzE1MWI5ZDE0ZTU2MTg3OWU1ZmUzcC0zLAorICAgIC0weDEuNjkxNzNmODEzNmM1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTY2CisgICAgLTB4MS44OTRmNzBiZWZiYTkyMTFiMGRjYWE0ZGNhNDUwNjcwZnAtNCwKKyAgICAweDEuYWFiZTYyNTJlM2E0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTY3CisgICAgLTB4MS44OTRmNzBiZWZiYTkyMTFiMGRjYWE0ZGNhNDUwNjcwZnAtNCwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDk2OAorICAgIC0weDEuNjFhNzYwNzdhZWRjOTk5NTI0Mzg0MjFmODIwYTJiZWZwLTIsCisgICAgMHgxLmVjNjU4NTI0OTA4MjRwMAorICB9LAorICB7IC8vIEVudHJ5IDk2OQorICAgIC0weDEuNjFhNzYwNzdhZWRjOTk5NTI0Mzg0MjFmODIwYTJiZWZwLTIsCisgICAgLTB4MS5lYzY1ODUyNDkwODI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzAKKyAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAorICAgIDB4MS4xNzA2NTNmYjFlYjA0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzEKKyAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAorICAgIC0weDEuMTcwNjUzZmIxZWIwNHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTcyCisgICAgLTB4MS44NWRjM2VhMWJiY2QzOGNiZmViNDM3MGQ1NDA1ZWViYXAtMSwKKyAgICAweDEuMzdkOWU1NjNmNTFmNnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTczCisgICAgLTB4MS44NWRjM2VhMWJiY2QzOGNiZmViNDM3MGQ1NDA1ZWViYXAtMSwKKyAgICAtMHgxLjM3ZDllNTYzZjUxZjZwMQorICB9LAorICB7IC8vIEVudHJ5IDk3NAorICAgIC0weDEuY2Q0YmNhOWNiNWM2Mjg3MDkzODhhMzlmYzg0NTkxZDFwLTEsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZThwMQorICB9LAorICB7IC8vIEVudHJ5IDk3NQorICAgIC0weDEuY2Q0YmNhOWNiNWM2Mjg3MDkzODhhMzlmYzg0NTkxZDFwLTEsCisgICAgLTB4MS41OGFkNzZjY2NiOGU4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzYKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAorICAgIDB4MS43OTgxMDgzNWExZmRhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzcKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAorICAgIC0weDEuNzk4MTA4MzVhMWZkYXAxCisgIH0sCisgIHsgLy8gRW50cnkgOTc4CisgICAgLTB4MS5mZWYyYjJkMjFjZjZlNTQ0YWI3Nzk1YWVkMTBkOWZhN3AtMSwKKyAgICAweDEuOWE1NDk5OWU3ODZjY3AxCisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgLTB4MS5mZWYyYjJkMjFjZjZlNTQ0YWI3Nzk1YWVkMTBkOWZhN3AtMSwKKyAgICAtMHgxLjlhNTQ5OTllNzg2Y2NwMQorICB9LAorICB7IC8vIEVudHJ5IDk4MAorICAgIC0weDEuZTVlYWEyODZmYmJkMWQxMzVlMjE2YzQ5YTlmN2U1ZGFwLTEsCisgICAgMHgxLmJiMjgyYjA3NGVkYmVwMQorICB9LAorICB7IC8vIEVudHJ5IDk4MQorICAgIC0weDEuZTVlYWEyODZmYmJkMWQxMzVlMjE2YzQ5YTlmN2U1ZGFwLTEsCisgICAgLTB4MS5iYjI4MmIwNzRlZGJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODIKKyAgICAtMHgxLmFkMTllMjUzNWFhYWEyYWM4NzA1NmI2ZDc3NzZlOTdhcC0xLAorICAgIDB4MS5kYmZiYmM3MDI1NGIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODMKKyAgICAtMHgxLmFkMTllMjUzNWFhYWEyYWM4NzA1NmI2ZDc3NzZlOTdhcC0xLAorICAgIC0weDEuZGJmYmJjNzAyNTRiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTg0CisgICAgLTB4MS41ODM3ZDI4MTdjZjRhZjhlNWU1OWIxM2I0YWE5YjVlM3AtMSwKKyAgICAweDEuZmNjZjRkZDhmYmJhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTg1CisgICAgLTB4MS41ODM3ZDI4MTdjZjRhZjhlNWU1OWIxM2I0YWE5YjVlM3AtMSwKKyAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQorICB9LAorICB7IC8vIEVudHJ5IDk4NgorICAgIC0weDEuZDlhM2EzMzZlZGJiN2RlNjRhMjE4M2NiMjdiZTRiNWJwLTIsCisgICAgMHgxLjBlZDE2ZmEwZTkxNGFwMgorICB9LAorICB7IC8vIEVudHJ5IDk4NworICAgIC0weDEuZDlhM2EzMzZlZGJiN2RlNjRhMjE4M2NiMjdiZTRiNWJwLTIsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODgKKyAgICAtMHgxLmM3YjkwZTMwMjQ2MjQ4YjdhMGMyYzg3YTNkZDI1MjI0cC0zLAorICAgIDB4MS4xZjNiMzg1NTU0NGMzcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODkKKyAgICAtMHgxLmM3YjkwZTMwMjQ2MjQ4YjdhMGMyYzg3YTNkZDI1MjI0cC0zLAorICAgIC0weDEuMWYzYjM4NTU1NDRjM3AyCisgIH0sCisgIHsgLy8gRW50cnkgOTkwCisgICAgMHgxLjA2OTEwN2FlOTMwMmNhZjIwNjhiNDg4NDJhZmRmMDUxcC01LAorICAgIDB4MS4yZmE1MDEwOWJmODNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTEKKyAgICAweDEuMDY5MTA3YWU5MzAyY2FmMjA2OGI0ODg0MmFmZGYwNTFwLTUsCisgICAgLTB4MS4yZmE1MDEwOWJmODNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTIKKyAgICAweDEuMjM1YjMzMWQ4ZjZlYzc0YWEzZGU1YWVkMTVmYTNmNjhwLTIsCisgICAgMHgxLjQwMGVjOWJlMmFiYjVwMgorICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIDB4MS4yMzViMzMxZDhmNmVjNzRhYTNkZTVhZWQxNWZhM2Y2OHAtMiwKKyAgICAtMHgxLjQwMGVjOWJlMmFiYjVwMgorICB9LAorICB7IC8vIEVudHJ5IDk5NAorICAgIDB4MS4wOTZhYzAyZWM0MjlmMjI1Yzk5Yjg5YmI0YzllNWQzZXAtMSwKKyAgICAweDEuNTA3ODkyNzI5NWYyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgOTk1CisgICAgMHgxLjA5NmFjMDJlYzQyOWYyMjVjOTliODliYjRjOWU1ZDNlcC0xLAorICAgIC0weDEuNTA3ODkyNzI5NWYyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgOTk2CisgICAgMHgxLjZmY2I3YzZiOGI4Zjc3M2UzYjQyMWRkZWQ2ZmMxZjI2cC0xLAorICAgIDB4MS42MGUyNWIyNzAxMmE3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTcKKyAgICAweDEuNmZjYjdjNmI4YjhmNzczZTNiNDIxZGRlZDZmYzFmMjZwLTEsCisgICAgLTB4MS42MGUyNWIyNzAxMmE3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTgKKyAgICAweDEuYmUxZDdjMzUzNGMyODBkYWI0M2RjZWQ2NzAzMzBiNjNwLTEsCisgICAgMHgxLjcxNGMyM2RiNmM2MjBwMgorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIDB4MS5iZTFkN2MzNTM0YzI4MGRhYjQzZGNlZDY3MDMzMGI2M3AtMSwKKyAgICAtMHgxLjcxNGMyM2RiNmM2MjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMDAKKyAgICAweDEuZWY0MTQ1YjRhZWNmMzQyNzA5YTNiMTkzMjBkMWIxOTRwLTEsCisgICAgMHgxLjgxYjVlYzhmZDc5OTlwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMDEKKyAgICAweDEuZWY0MTQ1YjRhZWNmMzQyNzA5YTNiMTkzMjBkMWIxOTRwLTEsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OTk5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAyCisgICAgMHgxLmZmMGZkMmM5NmFkZmJhZTU3Njk4MWVlNGIzNDc2OWRlcC0xLAorICAgIDB4MS5lZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAwMworICAgIDB4MS5mZjBmZDJjOTZhZGZiYWU1NzY5ODFlZTRiMzQ3NjlkZXAtMSwKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA0CisgICAgMHgxLmZmMGZkMmM5NmFkZmJhZDVmOTA0YTcxYjJkMjEwYTJhcC0xLAorICAgIDB4MS5mcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNQorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKKyAgICAtMHgxLmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA2CisgICAgMHgxLmZmMGZkMmM5NmFkZmJhYzY3YjcxMmY1MWE2ZmEyYWIzcC0xLAorICAgIDB4MS5mMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNworICAgIDB4MS5mZjBmZDJjOTZhZGZiYWM2N2I3MTJmNTFhNmZhMmFiM3AtMSwKKyAgICAtMHgxLmYwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA4CisgICAgMHgxLmZjMjEwMDU1NDY3ZmU1YzhmNzZlNzVmZDcwODM4MThjcC0xLAorICAgIDB4MS5mN2ZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAwOQorICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNWM4Zjc2ZTc1ZmQ3MDgzODE4Y3AtMSwKKyAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEwCisgICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAorICAgIDB4MS5mODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDExCisgICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAorICAgIC0weDEuZjgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMgorICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNTRiNDhjM2YxMzVmNmYyOWRmN3AtMSwKKyAgICAweDEuZjgwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTMKKyAgICAweDEuZmMyMTAwNTU0NjdmZTU0YjQ4YzNmMTM1ZjZmMjlkZjdwLTEsCisgICAgLTB4MS5mODAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNAorICAgIDB4MS5mOTQ5ODRiMjU1MmUxOWU3MzI5NDEzYjhjMmU4ZGM1MXAtMSwKKyAgICAweDEuNGJmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMTUKKyAgICAweDEuZjk0OTg0YjI1NTJlMTllNzMyOTQxM2I4YzJlOGRjNTFwLTEsCisgICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAxNgorICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKKyAgICAweDEuNGMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAxNworICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKKyAgICAtMHgxLjRjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMTgKKyAgICAweDEuZjk0OTg0YjI1NTJlMTg5Y2E2NThjNTFjNDJlOTA3Y2VwLTEsCisgICAgMHgxLjRjMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE5CisgICAgMHgxLmY5NDk4NGIyNTUyZTE4OWNhNjU4YzUxYzQyZTkwN2NlcC0xLAorICAgIC0weDEuNGMwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMjAKKyAgICAweDEuZTkyMWRkNDJmMDliYTg2ODYwM2VhMzc2ZjZlMmQwMTJwLTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIxCisgICAgMHgxLmU5MjFkZDQyZjA5YmE4Njg2MDNlYTM3NmY2ZTJkMDEycC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjIKKyAgICAweDEuZTkyMWRkNDJmMDliYTYwYjI2OGJlYzFmYjA4NzhhNDJwLTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIzCisgICAgMHgxLmU5MjFkZDQyZjA5YmE2MGIyNjhiZWMxZmIwODc4YTQycC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjQKKyAgICAweDEuZTkyMWRkNDJmMDliYTNhZGVjZDkzNGM4NmEwZGIyNTRwLTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI1CisgICAgMHgxLmU5MjFkZDQyZjA5YmEzYWRlY2Q5MzRjODZhMGRiMjU0cC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjYKKyAgICAweDEuOGZlZWRiODZiZjBlZjMxNThmOGExZGNiZWY0OWQxMjNwLTEsCisgICAgMHgxLjU5NDMxN2FjYzRlZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI3CisgICAgMHgxLjhmZWVkYjg2YmYwZWYzMTU4ZjhhMWRjYmVmNDlkMTIzcC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMjgKKyAgICAweDEuOGZlZWRiODZiZjBlZTkxODE3YTY0YjI4Yjc5ZTUxMTlwLTEsCisgICAgMHgxLjU5NDMxN2FjYzRlZjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI5CisgICAgMHgxLjhmZWVkYjg2YmYwZWU5MTgxN2E2NGIyOGI3OWU1MTE5cC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMzAKKyAgICAweDEuOGZlZWRiODZiZjBlZGYxYTlmYzI3ODg1N2Y4ZWQ1NTlwLTEsCisgICAgMHgxLjU5NDMxN2FjYzRlZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMxCisgICAgMHgxLjhmZWVkYjg2YmYwZWRmMWE5ZmMyNzg4NTdmOGVkNTU5cC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMzIKKyAgICAweDEuNmI4OThmYTllZmI1ZGQ2ZjllMTdlMzQ0MmQ1OWIyNDFwLTEsCisgICAgMHgxLjhmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMzCisgICAgMHgxLjZiODk4ZmE5ZWZiNWRkNmY5ZTE3ZTM0NDJkNTliMjQxcC0xLAorICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMzQKKyAgICAweDEuNmI4OThmYTllZmI1ZDIyYjU4ZjBkOTllOTYzNDkzMWFwLTEsCisgICAgMHgxLjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM1CisgICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAorICAgIC0weDEuOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMzYKKyAgICAweDEuNmI4OThmYTllZmI1YzZlNzEzYzljZmY4ZmViNDkxOGZwLTEsCisgICAgMHgxLjkwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM3CisgICAgMHgxLjZiODk4ZmE5ZWZiNWM2ZTcxM2M5Y2ZmOGZlYjQ5MThmcC0xLAorICAgIC0weDEuOTAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAzOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNDAKKyAgICAweDEucDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwNDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNDMKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGU0YThhYjdkN2NkODQ4OGY0OTlwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgMHgxLmZmNjIxZTM3OTZkN2RlNGE4YWI3ZDdjZDg0ODhmNDk5cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNDUKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzZGZiMDRkZjQ2OTg3ZjY0NTBwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ2CisgICAgMHgxLmZmNjIxZTM3OTZkN2RlM2RmYjA0ZGY0Njk4N2Y2NDUwcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNDcKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzMTZiNTFlNmJmYWM3NTU0MmZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgMHgxLmZmNjIxZTM3OTZkN2RlMzE2YjUxZTZiZmFjNzU1NDJmcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNDkKKyAgICAweDEuZmQ4OGRhM2QxMjUyNWEyMDg4OThjZjU4ZGVkMGVlYjNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgMHgxLmZkODhkYTNkMTI1MjVhMjA4ODk4Y2Y1OGRlZDBlZWIzcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTEKKyAgICAweDEuZmQ4OGRhM2QxMjUyNTllZTU5NGI1NzA1NzY3YWI2NDlwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUyCisgICAgMHgxLmZkODhkYTNkMTI1MjU5ZWU1OTRiNTcwNTc2N2FiNjQ5cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTMKKyAgICAweDEuZmQ4OGRhM2QxMjUyNTliYzI5ZmRkZWIyMGUyMjgwNTZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU0CisgICAgMHgxLmZkODhkYTNkMTI1MjU5YmMyOWZkZGViMjBlMjI4MDU2cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTUKKyAgICAweDEuZjYyOTdjZmY3NWNiMDNhYjFmY2VkNjMzN2UzNWEyNDVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU2CisgICAgMHgxLmY2Mjk3Y2ZmNzVjYjAzYWIxZmNlZDYzMzdlMzVhMjQ1cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMworICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAweDEuZjYyOTdjZmY3NWNiMDJlMzVhMGNmMmU2NGRlNjA2MjZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU4CisgICAgMHgxLmY2Mjk3Y2ZmNzVjYjAyZTM1YTBjZjJlNjRkZTYwNjI2cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwNTkKKyAgICAweDEuZjYyOTdjZmY3NWNiMDIxYjk0NGIwZjk5MWQ4ZTkxNjFwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYwCisgICAgMHgxLmY2Mjk3Y2ZmNzVjYjAyMWI5NDRiMGY5OTFkOGU5MTYxcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMworICB9LAorICB7IC8vIEVudHJ5IDEwNjEKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjY3MmQ5YzFhODY1ODk4ZTU5NjZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYyCisgICAgMHgxLmQ5MDZiY2YzMjhkNDY2NzJkOWMxYTg2NTg5OGU1OTY2cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjMKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjM2MzFkNmNkMjkwNWQ0YjEzZjVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgMHgxLmQ5MDZiY2YzMjhkNDYzNjMxZDZjZDI5MDVkNGIxM2Y1cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjUKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjA1MzYxMTdmY2JiMzBlYTNlMTdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY2CisgICAgMHgxLmQ5MDZiY2YzMjhkNDYwNTM2MTE3ZmNiYjMwZWEzZTE3cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjcKKyAgICAweDEuNmEwOWU2NjdmM2JjZDc3N2I2NDYxMzc2YWI1MjMyNDJwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY4CisgICAgMHgxLjZhMDllNjY3ZjNiY2Q3NzdiNjQ2MTM3NmFiNTIzMjQycC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjkKKyAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcwCisgICAgMHgxLjZhMDllNjY3ZjNiY2NjMjc2NzEyZDNkOGM1NTAyMzg3cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNzEKKyAgICAweDEuNmEwOWU2NjdmM2JjYzBkNzE3ZGY5NDNhZGVmMzkyNTNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcyCisgICAgMHgxLjZhMDllNjY3ZjNiY2MwZDcxN2RmOTQzYWRlZjM5MjUzcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNzMKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzBiOGI1MGJwLTUyLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc0CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWMwYjhiNTBicC01MiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNzUKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc2CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0NDE5ZmE4cC01NCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNzcKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdkYmNmYmEwcC01MywKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3OAorICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2RiY2ZiYTBwLTUzLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMQorICB9LAorICB7IC8vIEVudHJ5IDEwODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTA4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDEwODIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA4MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwMQorICB9LAorICB7IC8vIEVudHJ5IDEwODQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZXAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZXAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMgorICB9LAorICB7IC8vIEVudHJ5IDEwODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMgorICB9LAorICB7IC8vIEVudHJ5IDEwODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmOHAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmOHAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMworICB9LAorICB7IC8vIEVudHJ5IDEwOTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMworICB9LAorICB7IC8vIEVudHJ5IDEwOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWVwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlMXAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTA5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlMXAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNAorICB9LAorICB7IC8vIEVudHJ5IDEwOTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2FwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwNAorICB9LAorICB7IC8vIEVudHJ5IDExMDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2FwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzEzcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzEzcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4N3AtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A1CisgIH0sCisgIHsgLy8gRW50cnkgMTEwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4N3AtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNQorICB9LAorICB7IC8vIEVudHJ5IDExMDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwNQorICB9LAorICB7IC8vIEVudHJ5IDExMDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRjcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRjcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTEwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmUxZHAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A2CisgIH0sCisgIHsgLy8gRW50cnkgMTExMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmUxZHAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNgorICB9LAorICB7IC8vIEVudHJ5IDExMTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3YTdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwNgorICB9LAorICB7IC8vIEVudHJ5IDExMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3YTdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTMxcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTMxcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTExNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjg3NHAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A3CisgIH0sCisgIHsgLy8gRW50cnkgMTExNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjg3NHAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNworICB9LAorICB7IC8vIEVudHJ5IDExMTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlOWRwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwNworICB9LAorICB7IC8vIEVudHJ5IDExMTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlOWRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGM2cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGM2cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA3CisgIH0sCisgIHsgLy8gRW50cnkgMTEyMQorICAgIC0weDEuNmEwOWU2NjdmM2JjOTI2YjU5ZTZkMzk5YmQxYjkwNmNwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMQorICB9LAorICB7IC8vIEVudHJ5IDExMjIKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzkyNmI1OWU2ZDM5OWJkMWI5MDZjcC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMworICAgIC0weDEuNmEwOWU2NjdmM2JjYmZhYzk2YjNkMjExNWEzYzNlMjFwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwMQorICB9LAorICB7IC8vIEVudHJ5IDExMjQKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JmYWM5NmIzZDIxMTVhM2MzZTIxcC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyNQorICAgIC0weDEuNmEwOWU2NjdmM2JjZWNlZGQzODBkMDg4ZjFiNGM0M2NwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDNwMQorICB9LAorICB7IC8vIEVudHJ5IDExMjYKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2VjZWRkMzgwZDA4OGYxYjRjNDNjcC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyNworICAgIC0weDEuNmEwOWU2NjdmM2JkMDVlMzc0M2VkNDE3YzQ0ZmJhNDZwLTEsCisgICAgMHgxLmY2YTdhMjk1NTM4NWRwMQorICB9LAorICB7IC8vIEVudHJ5IDExMjgKKyAgICAtMHgxLjZhMDllNjY3ZjNiZDA1ZTM3NDNlZDQxN2M0NGZiYTQ2cC0xLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyOQorICAgIC0weDEuNmEwOWU2NjdmM2JjZDhhMjM3NzFkNWEwMmZmNWU4NDNwLTEsCisgICAgMHgxLmY2YTdhMjk1NTM4NWVwMQorICB9LAorICB7IC8vIEVudHJ5IDExMzAKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2Q4YTIzNzcxZDVhMDJmZjVlODQzcC0xLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEzMQorICAgIC0weDEuNmEwOWU2NjdmM2JjYWI2MGZhYTRkNzI4OTVmM2VlYTVwLTEsCisgICAgMHgxLmY2YTdhMjk1NTM4NWZwMQorICB9LAorICB7IC8vIEVudHJ5IDExMzIKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2FiNjBmYWE0ZDcyODk1ZjNlZWE1cC0xLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEzMworICAgIC0weDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3NGMxZDE2MzFwLTUwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM0CisgICAgLTB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4Mzc0YzFkMTYzMXAtNTAsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM1CisgICAgLTB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4NjM3N2M5MnAtNTMsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwMgorICB9LAorICB7IC8vIEVudHJ5IDExMzYKKyAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTg2Mzc3YzkycC01MywKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMgorICB9LAorICB7IC8vIEVudHJ5IDExMzcKKyAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxNWJiY2JjNmNwLTUxLAorICAgIDB4MS4yZDk3YzdmMzMyMWQzcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM4CisgICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTViYmNiYzZjcC01MSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMgorICB9LAorICB7IC8vIEVudHJ5IDExMzkKKyAgICAweDEuNmEwOWU2NjdmM2JjNThhZjRjYmFkMzVhYWJiMjAwZjRwLTEsCisgICAgMHgxLjVmZGJiZTliYmE3NzRwMgorICB9LAorICB7IC8vIEVudHJ5IDExNDAKKyAgICAweDEuNmEwOWU2NjdmM2JjNThhZjRjYmFkMzVhYWJiMjAwZjRwLTEsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQxCisgICAgMHgxLjZhMDllNjY3ZjNiY2IzMzFjNjU0ZDA0OWVlYmEzODBmcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQyCisgICAgMHgxLjZhMDllNjY3ZjNiY2IzMzFjNjU0ZDA0OWVlYmEzODBmcC0xLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0MworICAgIDB4MS42YTA5ZTY2N2YzYmQwZGI0M2ZlZWNkMzkxYjIxZDBjNHAtMSwKKyAgICAweDEuNWZkYmJlOWJiYTc3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0NAorICAgIDB4MS42YTA5ZTY2N2YzYmQwZGI0M2ZlZWNkMzkxYjIxZDBjNHAtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzZwMgorICB9LAorICB7IC8vIEVudHJ5IDExNDUKKyAgICAweDEuNmEwOWU2NjdmM2JkM2Y5ZjgxNmFkNDU2YmExYTU0YTlwLTEsCisgICAgMHgxLmM0NjNhYmVjY2IyYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDExNDYKKyAgICAweDEuNmEwOWU2NjdmM2JkM2Y5ZjgxNmFkNDU2YmExYTU0YTlwLTEsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ3CisgICAgMHgxLjZhMDllNjY3ZjNiY2U1MWQwN2QwZDc2NzlhMmQ4YzUzcC0xLAorICAgIDB4MS5jNDYzYWJlY2NiMmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ4CisgICAgMHgxLjZhMDllNjY3ZjNiY2U1MWQwN2QwZDc2NzlhMmQ4YzUzcC0xLAorICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0OQorICAgIDB4MS42YTA5ZTY2N2YzYmM4YTlhOGUzNmRhNzg2M2EwMjU5N3AtMSwKKyAgICAweDEuYzQ2M2FiZWNjYjJiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTE1MAorICAgIDB4MS42YTA5ZTY2N2YzYmM4YTlhOGUzNmRhNzg2M2EwMjU5N3AtMSwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDExNTEKKyAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMmFkOWFmZGFwLTUwLAorICAgIDB4MS5mNmE3YTI5NTUzODVkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUyCisgICAgMHgxLjU4M2ViZWZmNjVjYzIyNjQ4MGFlNjg1YzJhZDlhZmRhcC01MCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWRwMgorICB9LAorICB7IC8vIEVudHJ5IDExNTMKKyAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzRlNmE4NDlwLTUyLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU0CisgICAgMHgxLjYwZmFmYmZkOTczMDg5OTIwMmI5YTE3MGM0ZTZhODQ5cC01MiwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMgorICB9LAorICB7IC8vIEVudHJ5IDExNTUKKyAgICAtMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0NzliZDQ4ZjRhcC01MSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE1NgorICAgIC0weDEuNGY4MjgyMDEzNDY3YmIzNmZlYTMyZjQ3OWJkNDhmNGFwLTUxLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE1NworICAgIC0weDEuNmEwOWU2NjdmM2JiOTcyZjg5MjdkN2I0NmM3Mzc0ODVwLTEsCisgICAgMHgxLjE0NzVjYzllZWRlZmZwMworICB9LAorICB7IC8vIEVudHJ5IDExNTgKKyAgICAtMHgxLjZhMDllNjY3ZjNiYjk3MmY4OTI3ZDdiNDZjNzM3NDg1cC0xLAorICAgIC0weDEuMTQ3NWNjOWVlZGVmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE1OQorICAgIC0weDEuNmEwOWU2NjdmM2JjNGMzNDdjNWJkMTkzM2NhMzI2MWZwLTEsCisgICAgMHgxLjE0NzVjYzllZWRmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYwCisgICAgLTB4MS42YTA5ZTY2N2YzYmM0YzM0N2M1YmQxOTMzY2EzMjYxZnAtMSwKKyAgICAtMHgxLjE0NzVjYzllZWRmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYxCisgICAgLTB4MS42YTA5ZTY2N2YzYmQwMTM5NmY4ZmNiNzFiMjUwNWUxZnAtMSwKKyAgICAweDEuMTQ3NWNjOWVlZGYwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2MgorICAgIC0weDEuNmEwOWU2NjdmM2JkMDEzOTZmOGZjYjcxYjI1MDVlMWZwLTEsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZhMmM5ZWRhOHAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYTJjOWVkYThwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDQzMjZmNXAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ0MzI2ZjVwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkN2JjNjA0MXAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDdiYzYwNDFwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY5CisgICAgLTB4MS42YTA5ZTY2N2YzYmUwMTFmNDRmZGNmZmMxNjdmNzE0MHAtMSwKKyAgICAweDEuNDZiOWMzNDc3NjRhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3MAorICAgIC0weDEuNmEwOWU2NjdmM2JlMDExZjQ0ZmRjZmZjMTY3ZjcxNDBwLTEsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcxCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ0YzFhNTFjOWQ2MWUyMGM1MjNmN3AtMSwKKyAgICAweDEuNDZiOWMzNDc3NjRhM3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3MgorICAgIC0weDEuNmEwOWU2NjdmM2JkNGMxYTUxYzlkNjFlMjBjNTIzZjdwLTEsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTczCisgICAgLTB4MS42YTA5ZTY2N2YzYmM5NzE1NWU5NWRjM2ZkMDg4NWQxNHAtMSwKKyAgICAweDEuNDZiOWMzNDc3NjRhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3NAorICAgIC0weDEuNmEwOWU2NjdmM2JjOTcxNTVlOTVkYzNmZDA4ODVkMTRwLTEsCisgICAgLTB4MS40NmI5YzM0Nzc2NGE0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc1CisgICAgLTB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDA3NDg4NzNiYnAtNDksCisgICAgMHgxLjVmZGJiZTliYmE3NzRwMworICB9LAorICB7IC8vIEVudHJ5IDExNzYKKyAgICAtMHgxLjNkYzU4NWIyYzc0MjE4MTMyNmUwN2M0MDc0ODg3M2JicC00OSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwMworICB9LAorICB7IC8vIEVudHJ5IDExNzcKKyAgICAtMHgxLmVlMmMyZDk2M2ExMGMwOTkzNzAzZTIwNDQ2NDYzMzAxcC01MiwKKyAgICAweDEuNWZkYmJlOWJiYTc3NXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3OAorICAgIC0weDEuZWUyYzJkOTYzYTEwYzA5OTM3MDNlMjA0NDY0NjMzMDFwLTUyLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3OQorICAgIDB4MS44NDc0ZjQ5YTcxN2JjZmQ5YjIzZjA3N2VlNGQwOTBjZnAtNTAsCisgICAgMHgxLjVmZGJiZTliYmE3NzZwMworICB9LAorICB7IC8vIEVudHJ5IDExODAKKyAgICAweDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdlZTRkMDkwY2ZwLTUwLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4MQorICAgIDB4MS42YTA5ZTY2N2YzYmI4YWI0YjhjOGQ1ZWNmNmI5MTBkNnAtMSwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4MgorICAgIDB4MS42YTA5ZTY2N2YzYmI4YWI0YjhjOGQ1ZWNmNmI5MTBkNnAtMSwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDVwMworICB9LAorICB7IC8vIEVudHJ5IDExODMKKyAgICAweDEuNmEwOWU2NjdmM2JjM2ZiOWFiZmNjZmNiY2QyNjJhYTBwLTEsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDZwMworICB9LAorICB7IC8vIEVudHJ5IDExODQKKyAgICAweDEuNmEwOWU2NjdmM2JjM2ZiOWFiZmNjZmNiY2QyNjJhYTBwLTEsCisgICAgLTB4MS43OGZkYjllZmZlYTQ2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTg1CisgICAgMHgxLjZhMDllNjY3ZjNiY2Y0YmU5ZjMwYzlhYTQ5MTBjYWNmcC0xLAorICAgIDB4MS43OGZkYjllZmZlYTQ3cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTg2CisgICAgMHgxLjZhMDllNjY3ZjNiY2Y0YmU5ZjMwYzlhYTQ5MTBjYWNmcC0xLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0N3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4NworICAgIDB4MS42YTA5ZTY2N2YzYmUwZDlhMTU1Y2QxYzM3NjdlYjdiM3AtMSwKKyAgICAweDEuYWI0MWIwOTg4NmZlOHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4OAorICAgIDB4MS42YTA5ZTY2N2YzYmUwZDlhMTU1Y2QxYzM3NjdlYjdiM3AtMSwKKyAgICAtMHgxLmFiNDFiMDk4ODZmZThwMworICB9LAorICB7IC8vIEVudHJ5IDExODkKKyAgICAweDEuNmEwOWU2NjdmM2JkNTg5NTIyMjhkN2U1ODcwMWQyOTlwLTEsCisgICAgMHgxLmFiNDFiMDk4ODZmZTlwMworICB9LAorICB7IC8vIEVudHJ5IDExOTAKKyAgICAweDEuNmEwOWU2NjdmM2JkNTg5NTIyMjhkN2U1ODcwMWQyOTlwLTEsCisgICAgLTB4MS5hYjQxYjA5ODg2ZmU5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkxCisgICAgMHgxLjZhMDllNjY3ZjNiY2EzOTAyZWY0ZGUwNzNkMDI3M2U2cC0xLAorICAgIDB4MS5hYjQxYjA5ODg2ZmVhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkyCisgICAgMHgxLjZhMDllNjY3ZjNiY2EzOTAyZWY0ZGUwNzNkMDI3M2U2cC0xLAorICAgIC0weDEuYWI0MWIwOTg4NmZlYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MworICAgIDB4MS40ZjZiYWJlNWRiOWUxZWY0MGQ2OWM0NTJlMTM1NTkxZHAtNDksCisgICAgMHgxLmM0NjNhYmVjY2IyYmFwMworICB9LAorICB7IC8vIEVudHJ5IDExOTQKKyAgICAweDEuNGY2YmFiZTVkYjllMWVmNDBkNjljNDUyZTEzNTU5MWRwLTQ5LAorICAgIC0weDEuYzQ2M2FiZWNjYjJiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5NQorICAgIDB4MS4zZGFlYWY5NzZlNzg3YmQwMzVhNzExNGJlMzg3YjVjM3AtNTEsCisgICAgMHgxLmM0NjNhYmVjY2IyYmJwMworICB9LAorICB7IC8vIEVudHJ5IDExOTYKKyAgICAweDEuM2RhZWFmOTc2ZTc4N2JkMDM1YTcxMTRiZTM4N2I1YzNwLTUxLAorICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5NworICAgIC0weDEuNjEyOGE4MzQ0OGMzYzIxN2U1MmM3NzVhMDY5OGQyNmFwLTUwLAorICAgIDB4MS5jNDYzYWJlY2NiMmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk4CisgICAgLTB4MS42MTI4YTgzNDQ4YzNjMjE3ZTUyYzc3NWEwNjk4ZDI2YXAtNTAsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk5CisgICAgLTB4MS42YTA5ZTY2N2YzYmI3ZTM5ZTg2OWQ0MjU4MDkwOGM3Y3AtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4YnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMAorICAgIC0weDEuNmEwOWU2NjdmM2JiN2UzOWU4NjlkNDI1ODA5MDhjN2NwLTEsCisgICAgLTB4MS5kZDg1YTc0MTBmNThicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAxCisgICAgLTB4MS42YTA5ZTY2N2YzYmMzMzNlZGI5ZGNlMDQ1ZDNiMGU3NXAtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMgorICAgIC0weDEuNmEwOWU2NjdmM2JjMzMzZWRiOWRjZTA0NWQzYjBlNzVwLTEsCisgICAgLTB4MS5kZDg1YTc0MTBmNThjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAzCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlODQzY2VkMWM3ZTJkZjYzMTZkNHAtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4ZHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwNAorICAgIC0weDEuNmEwOWU2NjdmM2JjZTg0M2NlZDFjN2UyZGY2MzE2ZDRwLTEsCisgICAgLTB4MS5kZDg1YTc0MTBmNThkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4YzQ1ZDNkNHAtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOGM0NWQzZDRwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY1MzM1M3AtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NTMzNTNwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNDg0OTJkM3AtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTQ4NDkyZDNwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjExCisgICAgLTB4MS42YTA5ZTY2N2YzYmY4NDFlY2MyM2M3NDU5OTA3NmE4MXAtMSwKKyAgICAweDEuMDdlNGNlZjRjYmQ5NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIxMgorICAgIC0weDEuNmEwOWU2NjdmM2JmODQxZWNjMjNjNzQ1OTkwNzZhODFwLTEsCisgICAgLTB4MS4wN2U0Y2VmNGNiZDk2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEzCisgICAgLTB4MS42YTA5ZTY2N2YzYmUxYTE0ZTViYmQzOGFkNjBmZGQ3YnAtMSwKKyAgICAweDEuMDdlNGNlZjRjYmQ5N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTIxNAorICAgIC0weDEuNmEwOWU2NjdmM2JlMWExNGU1YmJkMzhhZDYwZmRkN2JwLTEsCisgICAgLTB4MS4wN2U0Y2VmNGNiZDk3cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE1CisgICAgLTB4MS42YTA5ZTY2N2YzYmNiMDBhZmY1M2RmY2VhOTBlNmEwY3AtMSwKKyAgICAweDEuMDdlNGNlZjRjYmQ5OHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIxNgorICAgIC0weDEuNmEwOWU2NjdmM2JjYjAwYWZmNTNkZmNlYTkwZTZhMGNwLTEsCisgICAgLTB4MS4wN2U0Y2VmNGNiZDk4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE3CisgICAgLTB4MS5iMDg4ZTkwYzc3ZmQxMmVhNzlmOTg2MzFlNmYwYjc0YnAtNDgsCisgICAgMHgxLjE0NzVjYzllZWRlZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMTgKKyAgICAtMHgxLmIwODhlOTBjNzdmZDEyZWE3OWY5ODYzMWU2ZjBiNzRicC00OCwKKyAgICAtMHgxLjE0NzVjYzllZWRlZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMTkKKyAgICAtMHgxLjYxMTFkMjE4ZWZmYTI1ZDRmM2YzMGM2NTRkN2MzNmExcC00OSwKKyAgICAweDEuMTQ3NWNjOWVlZGZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMjAKKyAgICAtMHgxLjYxMTFkMjE4ZWZmYTI1ZDRmM2YzMGM2NTRkN2MzNmExcC00OSwKKyAgICAtMHgxLjE0NzVjYzllZWRmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIxCisgICAgMHgxLjNkZGM1YmNlMjAwYmI0NTYxODE5ZTczNTI3ZjVhNmQ3cC01MCwKKyAgICAweDEuMTQ3NWNjOWVlZGYwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIyMgorICAgIDB4MS4zZGRjNWJjZTIwMGJiNDU2MTgxOWU3MzUyN2Y1YTZkN3AtNTAsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIzCisgICAgMHgxLjZhMDllNjY3ZjNiYWJjYmEyNGQ2ZDg3ZWNjOGY4M2I0cC0xLAorICAgIDB4MS4yMTA2Y2E0OTEwMDY4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI0CisgICAgMHgxLjZhMDllNjY3ZjNiYWJjYmEyNGQ2ZDg3ZWNjOGY4M2I0cC0xLAorICAgIC0weDEuMjEwNmNhNDkxMDA2OHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIyNQorICAgIDB4MS42YTA5ZTY2N2YzYmMyNmM0MGIzZWNjM2NlY2UxZDFhMHAtMSwKKyAgICAweDEuMjEwNmNhNDkxMDA2OXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIyNgorICAgIDB4MS42YTA5ZTY2N2YzYmMyNmM0MGIzZWNjM2NlY2UxZDFhMHAtMSwKKyAgICAtMHgxLjIxMDZjYTQ5MTAwNjlwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMjcKKyAgICAweDEuNmEwOWU2NjdmM2JkOTBjZGYxYTZiZmY5YTMyYTM5MjNwLTEsCisgICAgMHgxLjIxMDZjYTQ5MTAwNmFwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMjgKKyAgICAweDEuNmEwOWU2NjdmM2JkOTBjZGYxYTZiZmY5YTMyYTM5MjNwLTEsCisgICAgLTB4MS4yMTA2Y2E0OTEwMDZhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZThiMjdiNmEycC0xLAorICAgIDB4MS4yZDk3YzdmMzMyMWQxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZThiMjdiNmEycC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkNHAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkNHAtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDJwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWVmMTgxMDdwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDNwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWVmMTgxMDdwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM1CisgICAgMHgxLjZhMDllNjY3ZjNiZjkwOTk5YzgyYzkwY2ViYWY5ZjNmcC0xLAorICAgIDB4MS4zYTI4YzU5ZDU0MzM5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM2CisgICAgMHgxLjZhMDllNjY3ZjNiZjkwOTk5YzgyYzkwY2ViYWY5ZjNmcC0xLAorICAgIC0weDEuM2EyOGM1OWQ1NDMzOXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIzNworICAgIDB4MS42YTA5ZTY2N2YzYmUyNjhmYjYxYWQ1NTIzNTMyZTI5OHAtMSwKKyAgICAweDEuM2EyOGM1OWQ1NDMzYXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIzOAorICAgIDB4MS42YTA5ZTY2N2YzYmUyNjhmYjYxYWQ1NTIzNTMyZTI5OHAtMSwKKyAgICAtMHgxLjNhMjhjNTlkNTQzM2FwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMzkKKyAgICAweDEuNmEwOWU2NjdmM2JjYmM4NWNmYjJlMTk2MTRhYzNmODhwLTEsCisgICAgMHgxLjNhMjhjNTlkNTQzM2JwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNDAKKyAgICAweDEuNmEwOWU2NjdmM2JjYmM4NWNmYjJlMTk2MTRhYzNmODhwLTEsCisgICAgLTB4MS4zYTI4YzU5ZDU0MzNicDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQxCisgICAgMHgxLmI5NWJmYzI2MDIyYjE2NWFlZDNlMmEzYjEyMzgyNDc5cC00OCwKKyAgICAweDEuNDZiOWMzNDc3NjRhMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI0MgorICAgIDB4MS5iOTViZmMyNjAyMmIxNjVhZWQzZTJhM2IxMjM4MjQ3OXAtNDgsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQzCisgICAgMHgxLjcyYjdmODRjMDQ1NjJjYjVkYTdjNTQ3N2I5NTdhZGVicC00OSwKKyAgICAweDEuNDZiOWMzNDc3NjRhM3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTI0NAorICAgIDB4MS43MmI3Zjg0YzA0NTYyY2I1ZGE3YzU0NzdiOTU3YWRlYnAtNDksCisgICAgLTB4MS40NmI5YzM0Nzc2NGEzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ1CisgICAgLTB4MS4xYTkwMGY2N2Y3NTNhNjk0NGIwNzU3MTA0OGYxY2FkMnAtNTAsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNDYKKyAgICAtMHgxLjFhOTAwZjY3Zjc1M2E2OTQ0YjA3NTcxMDQ4ZjFjYWQycC01MCwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNDcKKyAgICAtMHgxLjZhMDllNjY3ZjNiYWIwM2Y1NDc3ZDZiNzRmNGQ1NWQ1cC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBicDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ4CisgICAgLTB4MS42YTA5ZTY2N2YzYmFiMDNmNTQ3N2Q2Yjc0ZjRkNTVkNXAtMSwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGJwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNDkKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzFhNDkzYWRmY2E3NTdjMWE3NDFmcC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUwCisgICAgLTB4MS42YTA5ZTY2N2YzYmMxYTQ5M2FkZmNhNzU3YzFhNzQxZnAtMSwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGNwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTEKKyAgICAtMHgxLjZhMDllNjY3ZjNiZDg0NTMyMTQ3YmUzMjNlZGRhYzAxcC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBkcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUyCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ4NDUzMjE0N2JlMzIzZWRkYWMwMXAtMSwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTc1OGQzYTdjcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NThkM2E3Y3AtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTg0NWUxcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTE4NDVlMXAtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzVwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjYTM1MTQ3cC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2EzNTE0N3AtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTkKKyAgICAtMHgxLjZhMDllNjY3ZjNiZjlkMTQ2Y2UxY2FkNDNkZTliMzUycC0xLAorICAgIDB4MS42YzZjYmM0NWRjOGRjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYwCisgICAgLTB4MS42YTA5ZTY2N2YzYmY5ZDE0NmNlMWNhZDQzZGU5YjM1MnAtMSwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGNwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNjEKKyAgICAtMHgxLjZhMDllNjY3ZjNiZTMzMGE4Njc5ZDcxOTkzZTdjNzA5cC0xLAorICAgIDB4MS42YzZjYmM0NWRjOGRkcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYyCisgICAgLTB4MS42YTA5ZTY2N2YzYmUzMzBhODY3OWQ3MTk5M2U3YzcwOXAtMSwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNjMKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2M5MDBhMDExZTM1ZDdmZGJmNDU5cC0xLAorICAgIDB4MS42YzZjYmM0NWRjOGRlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY0CisgICAgLTB4MS42YTA5ZTY2N2YzYmNjOTAwYTAxMWUzNWQ3ZmRiZjQ1OXAtMSwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGVwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNjUKKyAgICAtMHgxLmMyMmYwZjNmOGM1OTE5Y2I2MDgyY2U0NDNjZjk1MDIycC00OCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2NgorICAgIC0weDEuYzIyZjBmM2Y4YzU5MTljYjYwODJjZTQ0M2NmOTUwMjJwLTQ4LAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2NworICAgIC0weDEuODQ1ZTFlN2YxOGIyMzM5NmMxMDU5YzhhMjRjMjYwOWNwLTQ5LAorICAgIDB4MS43OGZkYjllZmZlYTQ2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY4CisgICAgLTB4MS44NDVlMWU3ZjE4YjIzMzk2YzEwNTljOGEyNGMyNjA5Y3AtNDksCisgICAgLTB4MS43OGZkYjllZmZlYTQ2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY5CisgICAgMHgxLmVlODc4NjAzOWQzNzMxYTRmYmU5OGRkNmQzMmZmNjJhcC01MSwKKyAgICAweDEuNzhmZGI5ZWZmZWE0N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MAorICAgIDB4MS5lZTg3ODYwMzlkMzczMWE0ZmJlOThkZDZkMzJmZjYyYXAtNTEsCisgICAgLTB4MS43OGZkYjllZmZlYTQ3cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcxCisgICAgMHgxLjZhMDllNjY3ZjNiYWEzYzQ4NDE4ZDRlZmQxOWQwNzRhcC0xLAorICAgIDB4MS44NThlYjc5YTIwYmFlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcyCisgICAgMHgxLjZhMDllNjY3ZjNiYWEzYzQ4NDE4ZDRlZmQxOWQwNzRhcC0xLAorICAgIC0weDEuODU4ZWI3OWEyMGJhZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MworICAgIDB4MS42YTA5ZTY2N2YzYmMwZGNlNmE4MGM4YWUwYWU0ZjVmM3AtMSwKKyAgICAweDEuODU4ZWI3OWEyMGJhZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3NAorICAgIDB4MS42YTA5ZTY2N2YzYmMwZGNlNmE4MGM4YWUwYWU0ZjVmM3AtMSwKKyAgICAtMHgxLjg1OGViNzlhMjBiYWZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNzUKKyAgICAweDEuNmEwOWU2NjdmM2JkNzdkODUwZThiYzZhZGEyMmZlMzRwLTEsCisgICAgMHgxLjg1OGViNzlhMjBiYjBwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNzYKKyAgICAweDEuNmEwOWU2NjdmM2JkNzdkODUwZThiYzZhZGEyMmZlMzRwLTEsCisgICAgLTB4MS44NThlYjc5YTIwYmIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc3CisgICAgLTB4MS4yY2NhZjY0MWQ0MjYxZWEzY2NkOGQyYTEwMmRjMzA2NnAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDEyNzgKKyAgICAtMHgxLjJjY2FmNjQxZDQyNjFlYTNjY2Q4ZDJhMTAyZGMzMDY2cC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDEyNzkKKyAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgwCisgICAgMHgxLjgyYWEzNzViM2MzM2U3MDY2MzczMWJhYjRiZWI2ZWQzcC03LAorICAgIC0weDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDEyODEKKyAgICAweDEuNGMwNjIyYTZlMzVkZGVmZDVmMmI3NzAwNzE2YTU4MWZwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgyCisgICAgMHgxLjRjMDYyMmE2ZTM1ZGRlZmQ1ZjJiNzcwMDcxNmE1ODFmcC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MworICB9LAorICB7IC8vIEVudHJ5IDEyODMKKyAgICAweDEuNGFiNjUwYjhjNjA3MzQzODUzNzVlMjI2MDNmY2RiMTBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg0CisgICAgMHgxLjRhYjY1MGI4YzYwNzM0Mzg1Mzc1ZTIyNjAzZmNkYjEwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyNgorICB9LAorICB7IC8vIEVudHJ5IDEyODUKKyAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCisgICAgMHgxLjBwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg2CisgICAgMHgxLjRhYjY1MTFhN2QzOWFkM2NjODhkZWQxZTc3NWNhMTQ3cC0xLAorICAgIC0weDEuMHAyNworICB9LAorICB7IC8vIEVudHJ5IDEyODcKKyAgICAweDEuNGFiNjUxZGRlYjllNjE0MzgzODJmMDIxNjdhZGU0YWZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg4CisgICAgMHgxLjRhYjY1MWRkZWI5ZTYxNDM4MzgyZjAyMTY3YWRlNGFmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNworICB9LAorICB7IC8vIEVudHJ5IDEyODkKKyAgICAweDEuNDBhZDY3ZTc3N2IxZGYwMTk1MTg5ZjUwYThjMjYzNDVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkwCisgICAgMHgxLjQwYWQ2N2U3NzdiMWRmMDE5NTE4OWY1MGE4YzI2MzQ1cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyMworICB9LAorICB7IC8vIEVudHJ5IDEyOTEKKyAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCisgICAgMHgxLjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkyCisgICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAorICAgIC0weDEuMHAyNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTMKKyAgICAweDEuNDBhZDY4MGNlMmY5MjRkNzE2NzY5ZDEwNjRiYzhkZWZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk0CisgICAgMHgxLjQwYWQ2ODBjZTJmOTI0ZDcxNjc2OWQxMDY0YmM4ZGVmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTUKKyAgICAtMHgxLjRlYWE2MDZkYjI0YzNjYjVlMTVkN2IxOWQ1ZWU3M2ExcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk2CisgICAgLTB4MS40ZWFhNjA2ZGIyNGMzY2I1ZTE1ZDdiMTlkNWVlNzNhMXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEyOTcKKyAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk4CisgICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEyOTkKKyAgICAtMHgxLjRlYWE2MDZkYjI0YmFiNjc4NjJhNTI2MWI3NzE5ZGNmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAwCisgICAgLTB4MS40ZWFhNjA2ZGIyNGJhYjY3ODYyYTUyNjFiNzcxOWRjZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDEzMDEKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDEwMTE0NTIzMDk1MmU2MWM2ZjJjcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAyCisgICAgLTB4MS5hYTIyNjU3NTM3MjAxMDExNDUyMzA5NTJlNjFjNmYyY3AtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMDMKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA0CisgICAgLTB4MS5hYTIyNjU3NTM3MjA0YTQzMzJmOGFjYmI3MmIwZDc2OHAtMiwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMDUKKyAgICAtMHgxLmFhMjI2NTc1MzcyMGJlYTcwZWEzZjM4Yzg2ZGI0MGFmcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA2CisgICAgLTB4MS5hYTIyNjU3NTM3MjBiZWE3MGVhM2YzOGM4NmRiNDBhZnAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMDcKKyAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA4CisgICAgMHgxLjE0YTI4MGZiNTA2OGM2OWEyZWQ0NWZiNTQ3YzJmMjcxcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMDkKKyAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMTAKKyAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzExCisgICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEyCisgICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxMworICAgIDB4MS5jMTUyODA2NWI3ZDRmZGIxNThjOWM0YTZiM2U0Yjc0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzMTQKKyAgICAweDEuYzE1MjgwNjViN2Q0ZmRiMTU4YzljNGE2YjNlNGI3NDBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMxNQorICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMTYKKyAgICAweDEuYzE1MjgwNjViN2Q0ZjlkYjdiYmIzYjQ1ZjVmNWIzMGFwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxNworICAgIDB4MS5jMTUyODA2NWI3ZDRmMjJmYzE5ZTI4ODQ3OWMzNmIyN3AtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMTgKKyAgICAweDEuYzE1MjgwNjViN2Q0ZjIyZmMxOWUyODg0NzljMzZiMjdwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxOQorICAgIDB4MS5mMDE1NDlmN2RlZWExODRjNWYxZDIxMGI2YWRiZTU2Y3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDEzMjAKKyAgICAweDEuZjAxNTQ5ZjdkZWVhMTg0YzVmMWQyMTBiNmFkYmU1NmNwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMQorICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzMjIKKyAgICAweDEuZjAxNTQ5ZjdkZWVhMTc0ZjA3YTY3OTcyYmYyOWYxNDhwLTEsCisgICAgLTB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMworICAgIDB4MS5mMDE1NDlmN2RlZWExNTU0NThiOTJhNDE2N2FlYzdmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzMjQKKyAgICAweDEuZjAxNTQ5ZjdkZWVhMTU1NDU4YjkyYTQxNjdhZWM3ZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMyNQorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNzFhMTIzMjAyNDljYTRkYWZkN3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzMjYKKyAgICAweDEuZmMwMTU1MjdkNWJkMzcxYTEyMzIwMjQ5Y2E0ZGFmZDdwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTMyNworICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzMjgKKyAgICAweDEuZmMwMTU1MjdkNWJkMzZkYTNjZDQyNTNiZWRlMzE5Y2FwLTEsCisgICAgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTMyOQorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNjVhOTIxODZiMjAzNTA3ZjlhZHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDEzMzAKKyAgICAweDEuZmMwMTU1MjdkNWJkMzY1YTkyMTg2YjIwMzUwN2Y5YWRwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTMzMQorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGRhMGI3NDVkYzc0MzMxNDVlZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzMzIKKyAgICAweDEuZmYwMDE1NTQ5ZjRkMzRkYTBiNzQ1ZGM3NDMzMTQ1ZWZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTMzMworICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzMzQKKyAgICAweDEuZmYwMDE1NTQ5ZjRkMzRjYTBlMWVlNjUwOWJjNDJiNzFwLTEsCisgICAgLTB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTMzNQorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGFhMTM3M2Y3NjM0Y2U4NzczN3AtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzMzYKKyAgICAweDEuZmYwMDE1NTQ5ZjRkMzRhYTEzNzNmNzYzNGNlODc3MzdwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTMzNworICAgIDB4MS5mZmMwMDE1NTUyN2QyYjE2YWViMDlmYjcwNjM2YTEwYXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzMzgKKyAgICAweDEuZmZjMDAxNTU1MjdkMmIxNmFlYjA5ZmI3MDYzNmExMGFwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTMzOQorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzNDAKKyAgICAweDEuZmZjMDAxNTU1MjdkMmIxMmFlZGI0OWQ5MjkyOGRmNzJwLTEsCisgICAgLTB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTM0MQorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjBhYWYzMDllMWQ2ZjBjZmM0ZXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzNDIKKyAgICAweDEuZmZjMDAxNTU1MjdkMmIwYWFmMzA5ZTFkNmYwY2ZjNGVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTM0MworICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEzOGEyNTYzZWYzNDRjM2ZmNHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEzNDQKKyAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMzhhMjU2M2VmMzQ0YzNmZjRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTM0NQorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzNDYKKyAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMjhhMjgwZTk3YmNkNTljOGFwLTEsCisgICAgLTB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTM0NworICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEwOGEyZDYzZThjZGU4M2RiNXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzNDgKKyAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMDhhMmQ2M2U4Y2RlODNkYjVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTM0OQorICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1NjU1NDlmNDljOWY0ZHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUwCisgICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU2NTU0OWY0OWM5ZjRkcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUxCisgICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU1NTU0OWY0OWY0OWY3cC0xLAorICAgIDB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEzNTIKKyAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEzNTMKKyAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTM1NTQ5ZjRhNDlmNGRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTM1NAorICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1MzU1NDlmNGE0OWY0ZHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTM1NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDQxNTU1NXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwNDE1NTU1cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDE1NTU1cC0xLAorICAgIDB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDEzNTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCisgICAgLTB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDEzNTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmJmZmZmZmZmZmZmZmY4MTU1NTVwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZjgxNTU1NXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM2MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAxMDAxNXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDEwMDE1cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDE1cC0xLAorICAgIDB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEzNjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEzNjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZTAwMTVwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZlMDAxNXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2NworICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY4CisgICAgLTB4MS5mZmZlNjJlY2ZhYjc1M2MwNzFiMjY4MGUxZTI2YmJjZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM2OQorICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNzAKKyAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3MQorICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNzIKKyAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3MworICAgIDB4MS43ZmZkZmI0YzUzMDhmNzc3Y2Y3NzRjNzMzYjI1NjY5NXAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3NAorICAgIDB4MS43ZmZkZmI0YzUzMDhmNzc3Y2Y3NzRjNzMzYjI1NjY5NXAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNXAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDEzNzcKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc4CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0NDE5ZmE4cC01NCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNzkKKyAgICAweDEuMTRhMjgwZmI1MDY4OWUzNjJmZmRkMjIxZTI1NTEwMzVwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzODAKKyAgICAweDEuMTRhMjgwZmI1MDY4OWUzNjJmZmRkMjIxZTI1NTEwMzVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgxCisgICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgyCisgICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4MworICAgIDB4MS4xNGEyODBmYjUwNjhjNjlhMmVkNDVmYjU0N2MyZjI3MXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzODQKKyAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4NQorICAgIDB4MS42YTA5ZTY2N2YzYmNjYzI3NjcxMmQzZDhjNTUwMjM4N3AtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzODYKKyAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzOTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzOTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM5MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDEzOTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTM5NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzOTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM5OQorICAgIDB4MS5wMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAwCisgICAgMHgxLnAwLAorICAgIC0wLjAKKyAgfSwKK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvY29zZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvY29zZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYwNjAyMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9jb3NmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDQzMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxmbG9hdCwgZmxvYXQ+IGdfY29zZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS5iYzdiNjZmZmI3Njg5ZDY0NmRkMWFmODNlOTY2MWQyZHAtMSwKKyAgICAtMHgxLjA5ZWJhY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuYmM3YjY2ZmZiNzY4OWQ2NDZkZDFhZjgzZTk2NjFkMmRwLTEsCisgICAgMHgxLjA5ZWJhY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuZGVlOGQwZmZmY2Q5OTdjZTVjZmJhYjBhNWEzMzZjMTRwLTUsCisgICAgLTB4MS4xNTY1NjRwNAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZGVlOGQwZmZmY2Q5OTdjZTVjZmJhYjBhNWEzMzZjMTRwLTUsCisgICAgMHgxLjE1NjU2NHA0CisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuYzExYmIyZjA1NjU1MmNhNGNkYjZjNWEwY2Y3MTUwOWRwLTgsCisgICAgLTB4MS40MDZhNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAtMHgxLmMxMWJiMmYwNTY1NTJjYTRjZGI2YzVhMGNmNzE1MDlkcC04LAorICAgIDB4MS40MDZhNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuZmY4MzZjZmY5NzA3N2JmNDg5YWFkYzVmMzQ5YTlmYjlwLTEsCisgICAgLTB4MS42NTMwNzhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLmZmODM2Y2ZmOTcwNzdiZjQ4OWFhZGM1ZjM0OWE5ZmI5cC0xLAorICAgIDB4MS42NTMwNzhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmIyOWNkNGY5ZGEyOTY0ZThjNmJiNTY5MzM4N2QzZjNicC01LAorICAgIC0weDEuNmMwMDA4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmIyOWNkNGY5ZGEyOTY0ZThjNmJiNTY5MzM4N2QzZjNicC01LAorICAgIDB4MS42YzAwMDhwNQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLmRmNDBkM2Y2NTBmNmM5NDM5MGEzY2E1ZDhkOWI0OGMxcC0xLAorICAgIC0weDEuNzAzODI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuZGY0MGQzZjY1MGY2Yzk0MzkwYTNjYTVkOGQ5YjQ4YzFwLTEsCisgICAgMHgxLjcwMzgyNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLmY3NjMxNmY1NDFlMTBlZjE1ZDU3YzVhMjM3NzUzMjljcC0xLAorICAgIC0weDEuNzgyZTJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuZjc2MzE2ZjU0MWUxMGVmMTVkNTdjNWEyMzc3NTMyOWNwLTEsCisgICAgMHgxLjc4MmUyZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmNmYWIwZWMyZmM5NTM4Mjk4NmZhNTExNjQ4YmQ0ZTZmcC0yNCwKKyAgICAtMHgxLjhlMzI2NnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuY2ZhYjBlYzJmYzk1MzgyOTg2ZmE1MTE2NDhiZDRlNmZwLTI0LAorICAgIDB4MS44ZTMyNjZwOQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjkyZTY2YjU5MjBhODVkNjA4M2U5Y2M4NTU2OGNlYWEzcC0yMSwKKyAgICAtMHgxLmM2YWMwMnAxNAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjkyZTY2YjU5MjBhODVkNjA4M2U5Y2M4NTU2OGNlYWEzcC0yMSwKKyAgICAweDEuYzZhYzAycDE0CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuZDFjZWI0ZmZmZjZlZDA1YjVlZjVmYzYxODIzMTIxNGFwLTIsCisgICAgLTB4MS5lNTEzZmNwNAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLmQxY2ViNGZmZmY2ZWQwNWI1ZWY1ZmM2MTgyMzEyMTRhcC0yLAorICAgIDB4MS5lNTEzZmNwNAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmMyN2UwNDlkZmVhYjM4ZTFiOGVhNmEwOTYzMTgyOWZlcC0xLAorICAgIC0weDEuZmIxOTA0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuYzI3ZTA0OWRmZWFiMzhlMWI4ZWE2YTA5NjMxODI5ZmVwLTEsCisgICAgMHgxLmZiMTkwNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZmZmZmZmMDAwMDAwMTU1NTU1NTQ5ZjQ5ZjRhMjhhMjhwLTEsCisgICAgMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5mZmZmZmYwMDAwMDAxNTU1NTU1NDlmNDlmNGEyOGEyOHAtMSwKKyAgICAtMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5mZmZmZmZmZmZmYzAwMDAwMDAwMDAxNTU1NTU1NTU1NXAtMSwKKyAgICAweDEucC0yMQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmZmZmZmZmZmZmZjMDAwMDAwMDAwMDE1NTU1NTU1NTU1cC0xLAorICAgIC0weDEucC0yMQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAxNTU1NTU1NTU1cC0xLAorICAgIDB4MS5wLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDE1NTU1NTU1NTVwLTEsCisgICAgLTB4MS5wLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmZmZmZlZmZmZmZjMTU1NTUxZmY0OWY2OTZjNGFlY2FwLTEsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mZmZmZmVmZmZmZmMxNTU1NTFmZjQ5ZjY5NmM0YWVjYXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS44ODJkNjA2YmEwNzUwNWE3YTA5YWU3NGQ3MTNmOTc4OHAtMSwKKyAgICAweDEuMDAwMDAycDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuODgyZDYwNmJhMDc1MDVhN2EwOWFlNzRkNzEzZjk3ODhwLTEsCisgICAgLTB4MS4wMDAwMDJwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5mYzAxNTRmN2Y1YjY0MjJmNzc5NGJmMTU2ZWU5OGI3ZXAtMSwKKyAgICAweDEuMDAwMDA2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuZmMwMTU0ZjdmNWI2NDIyZjc3OTRiZjE1NmVlOThiN2VwLTEsCisgICAgLTB4MS4wMDAwMDZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS4zNGU5NzZlZjY3ZDYwYTNkZTgxNGFkM2QwMjAzYmEyMXAtMTAsCisgICAgMHgxLjAwMDAwNnAxMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS4zNGU5NzZlZjY3ZDYwYTNkZTgxNGFkM2QwMjAzYmEyMXAtMTAsCisgICAgLTB4MS4wMDAwMDZwMTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmZmZmZhMmNmNTkzOThkYzYxODA4MDFlOWVhMzEyMGM4cC0xLAorICAgIDB4MS4wMDAwMDZwMTIyCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmZmZmZhMmNmNTkzOThkYzYxODA4MDFlOWVhMzEyMGM4cC0xLAorICAgIC0weDEuMDAwMDA2cDEyMgorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLmZmYzAwMTQ0NTMzMTVkNDdlMmEzMThiZjYzZTRjYWE3cC0xLAorICAgIDB4MS4wMDAwMjJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mZmMwMDE0NDUzMzE1ZDQ3ZTJhMzE4YmY2M2U0Y2FhN3AtMSwKKyAgICAtMHgxLjAwMDAyMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmMxNTIxNTAxNWYzZDkxNmEwMDE5YTM5ZTNhY2M3MzY0cC0xLAorICAgIDB4MS4wMDAwZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5jMTUyMTUwMTVmM2Q5MTZhMDAxOWEzOWUzYWNjNzM2NHAtMSwKKyAgICAtMHgxLjAwMDBlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmZmMDAxMzk0ZTkzMDg1YzdjY2U1MzkxNTg5M2FmNzY1cC0xLAorICAgIDB4MS4wMDAwZTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mZjAwMTM5NGU5MzA4NWM3Y2NlNTM5MTU4OTNhZjc2NXAtMSwKKyAgICAtMHgxLjAwMDBlMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjkwYjBjOTdkZTIzNzA1ODdhNjhhZWFlMmI2OTQzOTUzcC0xNSwKKyAgICAweDEuMDAwMzIycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuOTBiMGM5N2RlMjM3MDU4N2E2OGFlYWUyYjY5NDM5NTNwLTE1LAorICAgIC0weDEuMDAwMzIycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMHgxLjhiOTBjNjc2Nzc1NjU4NzRmNDRkOTMxNGNhMmJhNjM0cC02LAorICAgIDB4MS4wMDA0MDJwOAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS44YjkwYzY3Njc3NTY1ODc0ZjQ0ZDkzMTRjYTJiYTYzNHAtNiwKKyAgICAtMHgxLjAwMDQwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuMTQ3MzVmZmZkNTUxMjBhNDQ4MGI3YzkxYTFkNzhkNmVwLTEsCisgICAgMHgxLjAwMWNwMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjE0NzM1ZmZmZDU1MTIwYTQ0ODBiN2M5MWExZDc4ZDZlcC0xLAorICAgIC0weDEuMDAxY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuYzBiNmQxMDAwNTQ2OGEzYTNlYjA1NmViNTliNThjZTJwLTEsCisgICAgMHgxLjAxNDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5jMGI2ZDEwMDA1NDY4YTNhM2ViMDU2ZWI1OWI1OGNlMnAtMSwKKyAgICAtMHgxLjAxNDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuYzQwM2Q5MDAwNjUwOWIwNzYyNjQyZDBiZWE0MGU0YjFwLTIsCisgICAgMHgxLjAzOTRjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLmM0MDNkOTAwMDY1MDliMDc2MjY0MmQwYmVhNDBlNGIxcC0yLAorICAgIC0weDEuMDM5NGM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuMjcwZGExOGIxOThlNmViZmM4NzgyMDgyOTAyYmYyZDRwLTI1LAorICAgIDB4MS4wNGNjYmNwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuMjcwZGExOGIxOThlNmViZmM4NzgyMDgyOTAyYmYyZDRwLTI1LAorICAgIC0weDEuMDRjY2JjcDE4CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZWUwZjY3MDE1YjlmYjM5YmE2ZWI5MWQ0NzgyOWM5MTNwLTEsCisgICAgMHgxLjA3YjUxOHA5OQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmVlMGY2NzAxNWI5ZmIzOWJhNmViOTFkNDc4MjljOTEzcC0xLAorICAgIC0weDEuMDdiNTE4cDk5CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZmVmMDVkMDAwNjY2Y2I0N2YxNjMyYzQ3OGE2MjgyYThwLTEsCisgICAgMHgxLjA3YmY4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmZlZjA1ZDAwMDY2NmNiNDdmMTYzMmM0NzhhNjI4MmE4cC0xLAorICAgIC0weDEuMDdiZjgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMTZmNDMzMDAwMGI0NGM4Mjg4Njc5ZjhjNzlkMzZjNGZwLTYsCisgICAgMHgxLjA3YzFmMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuMTZmNDMzMDAwMGI0NGM4Mjg4Njc5ZjhjNzlkMzZjNGZwLTYsCisgICAgLTB4MS4wN2MxZjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmNmYjQwNDU1NzI3N2Q4NWJmMTQ5NDk2ZDQ2YzJmYTlmcC0xOCwKKyAgICAweDEuMGJkMjFlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5jZmI0MDQ1NTcyNzdkODViZjE0OTQ5NmQ0NmMyZmE5ZnAtMTgsCisgICAgLTB4MS4wYmQyMWVwOQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmJiNTQzZWZmZmQ2Y2FjYWMxMjY5OGI4YTk0ZWQyYzNlcC0xLAorICAgIDB4MS4wYzNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuYmI1NDNlZmZmZDZjYWNhYzEyNjk4YjhhOTRlZDJjM2VwLTEsCisgICAgLTB4MS4wYzNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuYmIwYTIyYzEzYjYxNmNkY2FkMzJjN2ZjYTU4ZTY2NDNwLTEsCisgICAgMHgxLjBjZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS5iYjBhMjJjMTNiNjE2Y2RjYWQzMmM3ZmNhNThlNjY0M3AtMSwKKyAgICAtMHgxLjBjZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5mOThmOWIxZDA1ZTdjOTIyYWM1ZTVjNmI2YWM4Njg3NnAtMiwKKyAgICAweDEuMGRmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuZjk4ZjliMWQwNWU3YzkyMmFjNWU1YzZiNmFjODY4NzZwLTIsCisgICAgLTB4MS4wZGYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5lZTE1MTgxODMwYzI1YjBiMTBjZTY3MWU4ZjdhMzI4OXAtMSwKKyAgICAweDEuMGZiNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmVlMTUxODE4MzBjMjViMGIxMGNlNjcxZThmN2EzMjg5cC0xLAorICAgIC0weDEuMGZiNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmVkZjZjYzE2ZGVmZTYzNjFmMzhmZmE2MGVjZTM5NDRjcC0xLAorICAgIDB4MS4xMDlhYjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5lZGY2Y2MxNmRlZmU2MzYxZjM4ZmZhNjBlY2UzOTQ0Y3AtMSwKKyAgICAtMHgxLjEwOWFiMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmRlZThkMGZmZmNkOTk3Y2U1Y2ZiYWIwYTVhMzM2YzE0cC01LAorICAgIDB4MS4xNTY1NjRwNAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLmRlZThkMGZmZmNkOTk3Y2U1Y2ZiYWIwYTVhMzM2YzE0cC01LAorICAgIC0weDEuMTU2NTY0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS5iNjU2ZDYwMDAwMTU1YmFjYjRhYTg3NGIyOGRlMmZmOXAtMSwKKyAgICAweDEuMTYwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLmI2NTZkNjAwMDAxNTViYWNiNGFhODc0YjI4ZGUyZmY5cC0xLAorICAgIC0weDEuMTYwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmZmYjI3NTk2N2MxOTFlZTk1Zjg2MmVmYjRmNzkwY2VjcC0xLAorICAgIDB4MS4xOWNjcC01CisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuZmZiMjc1OTY3YzE5MWVlOTVmODYyZWZiNGY3OTBjZWNwLTEsCisgICAgLTB4MS4xOWNjcC01CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuYzU5YzUwZmZlNTQyMjMzYjdlYTIxMTAwZGY4N2JiNjBwLTIsCisgICAgMHgxLjFjYTRwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmM1OWM1MGZmZTU0MjIzM2I3ZWEyMTEwMGRmODdiYjYwcC0yLAorICAgIC0weDEuMWNhNHAwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuYWY2MzBmODZiNzc1NzFiOWRlMmYxN2ZlZTJiNmM1Y2VwLTUsCisgICAgMHgxLjFmZmZmZXA3OQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmFmNjMwZjg2Yjc3NTcxYjlkZTJmMTdmZWUyYjZjNWNlcC01LAorICAgIC0weDEuMWZmZmZlcDc5CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuYjE0OTNlZjFmYmM2MjY3M2VjMTQwYzEyYWRjNWExMzRwLTYsCisgICAgMHgxLjI2MjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5iMTQ5M2VmMWZiYzYyNjczZWMxNDBjMTJhZGM1YTEzNHAtNiwKKyAgICAtMHgxLjI2MjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuYWQwMGI2ZjE1YzZhYzVjM2U3OWVmNTVkMmZlYzcwYmRwLTUsCisgICAgMHgxLjJhM2Q2MnAyCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLmFkMDBiNmYxNWM2YWM1YzNlNzllZjU1ZDJmZWM3MGJkcC01LAorICAgIC0weDEuMmEzZDYycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0weDEuYWI5OTg0ZjI4M2YxMTRjZjEzY2M2ZGYzOGM2Nzk1NWZwLTYsCisgICAgMHgxLjJiZWMyMnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmFiOTk4NGYyODNmMTE0Y2YxM2NjNmRmMzhjNjc5NTVmcC02LAorICAgIC0weDEuMmJlYzIycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS45OWJjNWI5NjFiMWFjYWNhMThkOTcxZjY4YWU5OWRhOXAtMjcsCisgICAgMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuOTliYzViOTYxYjFhY2FjYTE4ZDk3MWY2OGFlOTlkYTlwLTI3LAorICAgIC0weDEuMmQ5N2M4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZDcwMzQ5OGMzYjgyODg1NjM5MTVwLTEsCisgICAgMHgxLjJkOTdjOHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQ3MDM0OThjM2I4Mjg4NTYzOTE1cC0xLAorICAgIC0weDEuMmQ5N2M4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS5mZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGEyN2U4ZDZkMXAtMSwKKyAgICAweDEuMmQ5N2M4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGEyN2U4ZDZkMXAtMSwKKyAgICAtMHgxLjJkOTdjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLjk5YjY5Y2YwYzRhMmM4ZGRhZDNmNGNmMjk0NTNlNTA5cC02LAorICAgIDB4MS4yZmVmYzRwOQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS45OWI2OWNmMGM0YTJjOGRkYWQzZjRjZjI5NDUzZTUwOXAtNiwKKyAgICAtMHgxLjJmZWZjNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmU5MjE0ODMyOGQ2MjBmYzE4NmRmOWQ2Y2UxMDg4ZmQ5cC0xLAorICAgIDB4MS4zMzM3MjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZTkyMTQ4MzI4ZDYyMGZjMTg2ZGY5ZDZjZTEwODhmZDlwLTEsCisgICAgLTB4MS4zMzM3MjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuYTFjYWFiMDAwMDJkMzE4OWUwNjk5ZjJhYWYyMGQ5ZmNwLTEsCisgICAgMHgxLjNiOTBmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5hMWNhYWIwMDAwMmQzMTg5ZTA2OTlmMmFhZjIwZDlmY3AtMSwKKyAgICAtMHgxLjNiOTBmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mYzMzYmFmZmZmZmZiYjA1NWNlMDM2OTBiZDM5MjUzMXAtMSwKKyAgICAweDEuNDFjNDcwcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZjMzNiYWZmZmZmZmJiMDU1Y2UwMzY5MGJkMzkyNTMxcC0xLAorICAgIC0weDEuNDFjNDcwcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjQ3OThiMzA2NzJmMjE2MDJhMjFhYWY0NzFlODI1OWEwcC0xOSwKKyAgICAweDEuNDQyZjc0cDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLjQ3OThiMzA2NzJmMjE2MDJhMjFhYWY0NzFlODI1OWEwcC0xOSwKKyAgICAtMHgxLjQ0MmY3NHAxNQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5lMmI1ZWNmZmZmYTQ5YzhjNjhkNzQzYzQ3ZjYyNDYzM3AtMSwKKyAgICAweDEuNWMwOWRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLmUyYjVlY2ZmZmZhNDljOGM2OGQ3NDNjNDdmNjI0NjMzcC0xLAorICAgIC0weDEuNWMwOWRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjEwNTkxMDk0YWM1OGEyNzBkOWFkOTE4MDJkZjQ5ZmQwcC0xMSwKKyAgICAweDEuNWZlMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjEwNTkxMDk0YWM1OGEyNzBkOWFkOTE4MDJkZjQ5ZmQwcC0xMSwKKyAgICAtMHgxLjVmZTBwMworICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIC0weDEuZmZmZTU4MGVlMTQxYzAyMjViNDQyODFjMWM2ZjdmZjFwLTEsCisgICAgMHgxLjY2NTk4MnAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLmZmZmU1ODBlZTE0MWMwMjI1YjQ0MjgxYzFjNmY3ZmYxcC0xLAorICAgIC0weDEuNjY1OTgycDExOQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuZTJiOGVjZmZlZDkxY2UzYTRiOWRjNWE1OTJmYjBiMTRwLTEsCisgICAgMHgxLjY2YTBiYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS5lMmI4ZWNmZmVkOTFjZTNhNGI5ZGM1YTU5MmZiMGIxNHAtMSwKKyAgICAtMHgxLjY2YTBiYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5hMDhjNmNmZGJlMDRiODU5YzBlMTZkNDc4ZmY4MWY3YnAtNSwKKyAgICAweDEuNmJlZTQycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS5hMDhjNmNmZGJlMDRiODU5YzBlMTZkNDc4ZmY4MWY3YnAtNSwKKyAgICAtMHgxLjZiZWU0MnAxMgorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5mZjdjNzE5YTE4NDM5YzQyNjcwNzVlMmRmNjg4MzQzYXAtMSwKKyAgICAweDEuNmYxMDcwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLmZmN2M3MTlhMTg0MzljNDI2NzA3NWUyZGY2ODgzNDNhcC0xLAorICAgIC0weDEuNmYxMDcwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZmN2MzYjk5N2Q2YmVhNjYxZWYwZDFlNjllMjIyYmZlcC0xLAorICAgIDB4MS42ZjViYzJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuZmY3YzNiOTk3ZDZiZWE2NjFlZjBkMWU2OWUyMjJiZmVwLTEsCisgICAgLTB4MS42ZjViYzJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLjZhMGEwZWU2OGRhMTMxMDkxZTI5ZTA1NTIyNmExYmQ5cC0xLAorICAgIDB4MS43MmI1M2NwNQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuNmEwYTBlZTY4ZGExMzEwOTFlMjllMDU1MjI2YTFiZDlwLTEsCisgICAgLTB4MS43MmI1M2NwNQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5mZjc3N2I5YTIxODk4NWMxYTE5MWM5MmIyZDExZmZiYXAtMSwKKyAgICAweDEuNzVlYzFhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLmZmNzc3YjlhMjE4OTg1YzFhMTkxYzkyYjJkMTFmZmJhcC0xLAorICAgIC0weDEuNzVlYzFhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjZkNDg3ZjkyNDI3OTIwZTgxZGM1YWUzNGUwZThkN2JhcC0yLAorICAgIDB4MS43OGIzZmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjZkNDg3ZjkyNDI3OTIwZTgxZGM1YWUzNGUwZThkN2JhcC0yLAorICAgIC0weDEuNzhiM2ZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS40OTQ5YzJmZmZhMGNkMzM2ZGZkYTk5ODIxNmRhZTM5M3AtNCwKKyAgICAweDEuN2Q4NTY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuNDk0OWMyZmZmYTBjZDMzNmRmZGE5OTgyMTZkYWUzOTNwLTQsCisgICAgLTB4MS43ZDg1NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuYjllZDllYjMzZWFjYmZhYzgxNTFjZGExMTM3MzRjMjlwLTEsCisgICAgMHgxLjgzMDY4OHA1NworICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuYjllZDllYjMzZWFjYmZhYzgxNTFjZGExMTM3MzRjMjlwLTEsCisgICAgLTB4MS44MzA2ODhwNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuYzczNDlhZjA2ZDYxMzk0Y2FlMTkxMjIzM2Y2NGEwNGVwLTUsCisgICAgMHgxLjgzZTQzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLmM3MzQ5YWYwNmQ2MTM5NGNhZTE5MTIyMzNmNjRhMDRlcC01LAorICAgIC0weDEuODNlNDMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuYWI3M2YwZjBmZTA0NDAzZTZhN2ZkZGUxNDFhMzhhOGVwLTUsCisgICAgMHgxLjg0YzI4OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLmFiNzNmMGYwZmUwNDQwM2U2YTdmZGRlMTQxYTM4YThlcC01LAorICAgIC0weDEuODRjMjg4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuZmY2YzI3OTlkY2YwZDZjOGY3YWNhZjViMGE0NmU2ZTJwLTEsCisgICAgMHgxLjg1MjE0MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5mZjZjMjc5OWRjZjBkNmM4ZjdhY2FmNWIwYTQ2ZTZlMnAtMSwKKyAgICAtMHgxLjg1MjE0MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5mZjY5ZWQ5OWRlNzBlNTFmNTE5ZjMwYmFkMjQ3YTRkOXAtMSwKKyAgICAweDEuODgwY2I2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmZmNjllZDk5ZGU3MGU1MWY1MTlmMzBiYWQyNDdhNGQ5cC0xLAorICAgIC0weDEuODgwY2I2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5mZDc2YzU3Zjg3MmY4NWJjNGIwZTFiZjU5MWIzYjViMHAtMSwKKyAgICAweDEuOTM2NGVhcDExOQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmQ3NmM1N2Y4NzJmODViYzRiMGUxYmY1OTFiM2I1YjBwLTEsCisgICAgLTB4MS45MzY0ZWFwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5mODdjMWNlZWM1ZmQ1ODExYzljMDg5Y2RhZWVmZjEzY3AtOCwKKyAgICAweDEuOTc5ZTI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmY4N2MxY2VlYzVmZDU4MTFjOWMwODljZGFlZWZmMTNjcC04LAorICAgIC0weDEuOTc5ZTI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLjE2YWUyOTE0NGQzYjFlYThkOTA3Yjg3NzZmNzA0MTU3cC0yNiwKKyAgICAweDEuOWE0OGRlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS4xNmFlMjkxNDRkM2IxZWE4ZDkwN2I4Nzc2ZjcwNDE1N3AtMjYsCisgICAgLTB4MS45YTQ4ZGVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLjk3NzU1MmY4ZTZhYjNjMDFjYjI5ZWM3NzgwMzAwN2NmcC0xMywKKyAgICAweDEuOWNiYzFhcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS45Nzc1NTJmOGU2YWIzYzAxY2IyOWVjNzc4MDMwMDdjZnAtMTMsCisgICAgLTB4MS45Y2JjMWFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuZmY1OGM1ZmZmZmZmYzcyNjZhOWRmNGU5MjE3MjY3NzFwLTEsCisgICAgMHgxLjlkZGIwNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS5mZjU4YzVmZmZmZmZjNzI2NmE5ZGY0ZTkyMTcyNjc3MXAtMSwKKyAgICAtMHgxLjlkZGIwNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmNTcwMDAxOWZmZmZmMDA5NGMxNXAtMSwKKyAgICAweDEuOWZmZmZlcC0yNworICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmNTcwMDAxOWZmZmZmMDA5NGMxNXAtMSwKKyAgICAtMHgxLjlmZmZmZXAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuMzFiZDYzMDA0YjFmZjRkNzIyYzc0NTA0NDcwNmQ1MTdwLTEsCisgICAgMHgxLmFjMTI5Y3AyNAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS4zMWJkNjMwMDRiMWZmNGQ3MjJjNzQ1MDQ0NzA2ZDUxN3AtMSwKKyAgICAtMHgxLmFjMTI5Y3AyNAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZjFhZDBmMDAwMDA5ZTA2Y2U0NDlmNWJkZTAzZDVkMWFwLTEsCisgICAgMHgxLmIwNzhmOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5mMWFkMGYwMDAwMDllMDZjZTQ0OWY1YmRlMDNkNWQxYXAtMSwKKyAgICAtMHgxLmIwNzhmOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmZmNDc3NmZmZTMyNGJhMjk1OGFjYThkNzNjZjhiODM5cC0xLAorICAgIDB4MS5iMmMwM2NwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuZmY0Nzc2ZmZlMzI0YmEyOTU4YWNhOGQ3M2NmOGI4MzlwLTEsCisgICAgLTB4MS5iMmMwM2NwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuZmY0MzdmMDAwMDVlNTAwZDI5YmQ4MTAzYThlNzY5ZTlwLTEsCisgICAgMHgxLmI3NjZmNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5mZjQzN2YwMDAwNWU1MDBkMjliZDgxMDNhOGU3NjllOXAtMSwKKyAgICAtMHgxLmI3NjZmNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuOTk2NjNkYTk0ZGI3MzQ4YmNiYjI1N2VkMTZiNzIyN2NwLTI0LAorICAgIDB4MS5iZWVlZWVwNzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjk5NjYzZGE5NGRiNzM0OGJjYmIyNTdlZDE2YjcyMjdjcC0yNCwKKyAgICAtMHgxLmJlZWVlZXA3OQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mM2Q2MjBmZmZmZmY4NjBlNDliYmFiODk2M2RjYzQyZXAtMSwKKyAgICAweDEuYmY0ZTFjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLmYzZDYyMGZmZmZmZjg2MGU0OWJiYWI4OTYzZGNjNDJlcC0xLAorICAgIC0weDEuYmY0ZTFjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjgxZmY3OWVkOTIwMTc1NWY3YWQxOGI1MzNhYTk5ZDE4cC0xLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLjgxZmY3OWVkOTIwMTc1NWY3YWQxOGI1MzNhYTk5ZDE4cC0xLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuYWYzYzYxMDg4ODc3MzBmY2VjZWRmNjFkMmQ4MWNlYWJwLTE1LAorICAgIDB4MS5jMjBlYzhwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmFmM2M2MTA4ODg3NzMwZmNlY2VkZjYxZDJkODFjZWFicC0xNSwKKyAgICAtMHgxLmMyMGVjOHAyMworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuYjE2NTZlZjkxNDQ3ZmE2YTU0NmNiZDgxMDM0Y2FmYWJwLTE0LAorICAgIDB4MS5jNzlkMjBwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmIxNjU2ZWY5MTQ0N2ZhNmE1NDZjYmQ4MTAzNGNhZmFicC0xNCwKKyAgICAtMHgxLmM3OWQyMHAxNworICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS4yZGExZDMwMDdhNTc0NjFmNmY2N2YyZDNlOTgzZjc5OHAtMSwKKyAgICAweDEuY2E3Y2UwcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLjJkYTFkMzAwN2E1NzQ2MWY2ZjY3ZjJkM2U5ODNmNzk4cC0xLAorICAgIC0weDEuY2E3Y2UwcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmZmZGQzNzg4ODM4N2NlM2M5ODI4MTQ0Njc2ZjJhYjBkcC0xLAorICAgIDB4MS5jYzMxYjhwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuZmZkZDM3ODg4Mzg3Y2UzYzk4MjgxNDQ2NzZmMmFiMGRwLTEsCisgICAgLTB4MS5jYzMxYjhwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuMzk1YmE0ZmZmZmEwNjEyMjNmNzMwNDI5OWJlMGFhZDhwLTEsCisgICAgMHgxLmQzMDg5MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS4zOTViYTRmZmZmYTA2MTIyM2Y3MzA0Mjk5YmUwYWFkOHAtMSwKKyAgICAtMHgxLmQzMDg5MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5jYjI3YzZmZmQ4ZTlkNTFhMDYwNWI1N2ZkMDJlZTQ4M3AtMSwKKyAgICAweDEuZDU1NzRjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLmNiMjdjNmZmZDhlOWQ1MWEwNjA1YjU3ZmQwMmVlNDgzcC0xLAorICAgIC0weDEuZDU1NzRjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmEwYTA5Y2ZkMmIyYjIzNDc2ZjA5YWEzZWI2MzEzNTFjcC01LAorICAgIDB4MS5kNzU1N2FwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuYTBhMDljZmQyYjJiMjM0NzZmMDlhYTNlYjYzMTM1MWNwLTUsCisgICAgLTB4MS5kNzU1N2FwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMzhhZTZkMDAwYzQ5ZGY1MDAxYmFmNzAxYjFhMmE1NjRwLTEsCisgICAgMHgxLmRiZTc1Y3AyNAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS4zOGFlNmQwMDBjNDlkZjUwMDFiYWY3MDFiMWEyYTU2NHAtMSwKKyAgICAtMHgxLmRiZTc1Y3AyNAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mZmZmMWYwMDEyNWFiZjNkMTc2NTc4MWI2NGU2ZmUwN3AtMSwKKyAgICAweDEuZGZmZmZlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLmZmZmYxZjAwMTI1YWJmM2QxNzY1NzgxYjY0ZTZmZTA3cC0xLAorICAgIC0weDEuZGZmZmZlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS45YWJjNzZmN2ViMWQxNWE3MjdlMGJlN2FiMTY0MDBhN3AtMSwKKyAgICAweDEuZTAyYTQycDEwOAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuOWFiYzc2ZjdlYjFkMTVhNzI3ZTBiZTdhYjE2NDAwYTdwLTEsCisgICAgLTB4MS5lMDJhNDJwMTA4CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjVhMTQyOTA0NGViMDg3MDMyZGJlZTcxOWNkZDMwMjI2cC0xLAorICAgIDB4MS5lNzAxZWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLjVhMTQyOTA0NGViMDg3MDMyZGJlZTcxOWNkZDMwMjI2cC0xLAorICAgIC0weDEuZTcwMWVhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuOTRmZmMwZjhkODg4ZjZmNDZjNmQ1NWEyZWZhMTA4M2ZwLTEsCisgICAgMHgxLmVkZjE4OHAyNAorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuOTRmZmMwZjhkODg4ZjZmNDZjNmQ1NWEyZWZhMTA4M2ZwLTEsCisgICAgLTB4MS5lZGYxODhwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjI3YzZkMzAwZDg3NTZlNzg4NDZiODRhMWZhM2IxMmEycC0xLAorICAgIDB4MS5mNGM2M2FwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjI3YzZkMzAwZDg3NTZlNzg4NDZiODRhMWZhM2IxMmEycC0xLAorICAgIC0weDEuZjRjNjNhcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLmRhNTRlY2VmYjFjZDM5NTEwNTU1MTI2YTc2Y2IyMGQ0cC03LAorICAgIDB4MS5mNWJhNzZwMgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5kYTU0ZWNlZmIxY2QzOTUxMDU1NTEyNmE3NmNiMjBkNHAtNywKKyAgICAtMHgxLmY1YmE3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmZjMjhkYTAwMDAwNmJjNGYwYjBjZDNjOGFiMTBmYzU3cC0xLAorICAgIDB4MS5mNWZmNGVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuZmMyOGRhMDAwMDA2YmM0ZjBiMGNkM2M4YWIxMGZjNTdwLTEsCisgICAgLTB4MS5mNWZmNGVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLmZmZmZmZmZmZmZlYTM5NmFiOGFlZTUwOTM5MmM3NTVkcC0xLAorICAgIDB4MS5mNmE3YTJwMworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuZmZmZmZmZmZmZmVhMzk2YWI4YWVlNTA5MzkyYzc1NWRwLTEsCisgICAgLTB4MS5mNmE3YTJwMworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5hNGYxZDRmZDBlYTI4NmYzMmYzY2IzMDkyYjRjZWQxNHAtNSwKKyAgICAweDEuZjZiZmYycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgMHgxLmE0ZjFkNGZkMGVhMjg2ZjMyZjNjYjMwOTJiNGNlZDE0cC01LAorICAgIC0weDEuZjZiZmYycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmYWYzM2RlMjkwY2E5OWUyZmFmM3AtMSwKKyAgICAweDEuZjljYmUycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZhZjMzZGUyOTBjYTk5ZTJmYWYzcC0xLAorICAgIC0weDEuZjljYmUycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZmRkNDBkNmQ5MTJjZTI1OTRmMjAwMTA0NTcwYWMxYjNwLTMsCisgICAgMHgxLmZjNzY3ZXAxMgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS5mZGQ0MGQ2ZDkxMmNlMjU5NGYyMDAxMDQ1NzBhYzFiM3AtMywKKyAgICAtMHgxLmZjNzY3ZXAxMgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuNzUyZGUyZmZmZmIxYTVlMjI3YmYyYzEyZjQwODMyMDNwLTEsCisgICAgMHgxLmZmNTM1MnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS43NTJkZTJmZmZmYjFhNWUyMjdiZjJjMTJmNDA4MzIwM3AtMSwKKyAgICAtMHgxLmZmNTM1MnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTB4MS40ZWQ0YzVmZmM4MDE4NzQxODcwOTQ5NzY3ZmY4ZGFmYXAtMSwKKyAgICAweDEuZmZmMWZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLjRlZDRjNWZmYzgwMTg3NDE4NzA5NDk3NjdmZjhkYWZhcC0xLAorICAgIC0weDEuZmZmMWZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLjI4NDA2YTAwMjU1NDVjOWE1NjhkYWNkNDU1MThkZDY1cC0zLAorICAgIDB4MS5mZmYxZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuMjg0MDZhMDAyNTU0NWM5YTU2OGRhY2Q0NTUxOGRkNjVwLTMsCisgICAgLTB4MS5mZmYxZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mMDE1YzhjMjRjYTVlOTljN2M2NTU5OWM4ZDYwOTc2ZXAtMSwKKyAgICAweDEuZmZmN2ZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLmYwMTVjOGMyNGNhNWU5OWM3YzY1NTk5YzhkNjA5NzZlcC0xLAorICAgIC0weDEuZmZmN2ZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmFmZjliNDVlOTRkMzJkOGU1YmRlMjVkZWM2ZjM1N2Q2cC05LAorICAgIDB4MS5mZmZlM2VwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuYWZmOWI0NWU5NGQzMmQ4ZTViZGUyNWRlYzZmMzU3ZDZwLTksCisgICAgLTB4MS5mZmZlM2VwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmVhNTQ2NGZmZjU3MWY2ZmYzMzUwMDRlYWRlMzAxYjU2cC0xLAorICAgIDB4MS5mZmZmOGVwMworICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuZWE1NDY0ZmZmNTcxZjZmZjMzNTAwNGVhZGUzMDFiNTZwLTEsCisgICAgLTB4MS5mZmZmOGVwMworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5mZmZkNGU3MzVkZjZkYjZhN2NhN2NiMDQzNmU2ZWY0OHAtMSwKKyAgICAweDEuZmZmZjhlcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLmZmZmQ0ZTczNWRmNmRiNmE3Y2E3Y2IwNDM2ZTZlZjQ4cC0xLAorICAgIC0weDEuZmZmZjhlcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS44OGU1MjdmZmVkZDg1ZDJlMjQyOTE2NmY3OTVkOTc4OHAtNywKKyAgICAweDEuZmZmZjllcDQ1CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS44OGU1MjdmZmVkZDg1ZDJlMjQyOTE2NmY3OTVkOTc4OHAtNywKKyAgICAtMHgxLmZmZmY5ZXA0NQorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEuZGI4ZmEwZTA3MWY5ODA2MWYyN2VmNjcxNjE1MTE0MzdwLTMsCisgICAgMHgxLmZmZmZiYXAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuZGI4ZmEwZTA3MWY5ODA2MWYyN2VmNjcxNjE1MTE0MzdwLTMsCisgICAgLTB4MS5mZmZmYmFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLmZlNWIzMzdmNGNmZTI1ZDQ2OGRlZmU2NWQ1YzUyNGFkcC0xLAorICAgIDB4MS5mZmZmZGNwOAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuZmU1YjMzN2Y0Y2ZlMjVkNDY4ZGVmZTY1ZDVjNTI0YWRwLTEsCisgICAgLTB4MS5mZmZmZGNwOAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuZjU5MDM4ZjRjMmRkMzNkMTU5MTcxZWU4MGJiNjQ4ODZwLTUsCisgICAgMHgxLmZmZmZmOHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLmY1OTAzOGY0YzJkZDMzZDE1OTE3MWVlODBiYjY0ODg2cC01LAorICAgIC0weDEuZmZmZmY4cDExOAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5mZmZmZmMwMDAwMTE1NTU1M2E3ZDI3ZjRhMjg5ZjMxOXAtMSwKKyAgICAweDEuZmZmZmZjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5mZmZmZmMwMDAwMTE1NTU1M2E3ZDI3ZjRhMjg5ZjMxOXAtMSwKKyAgICAtMHgxLmZmZmZmY3AtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLmY5ZDZiZGQ2MjQ3M2NkMmI3MjlmZTNhNjdhNGU5MTU3cC00LAorICAgIDB4MS5mZmZmZmNwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLmY5ZDZiZGQ2MjQ3M2NkMmI3MjlmZTNhNjdhNGU5MTU3cC00LAorICAgIC0weDEuZmZmZmZjcDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmViNDA4MzAwMDA1ZDkxYjk4MTRjYWRhODhmNWZjNTk2cC0xLAorICAgIDB4MS4yNDgzNmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuZWI0MDgzMDAwMDVkOTFiOTgxNGNhZGE4OGY1ZmM1OTZwLTEsCisgICAgLTB4MS4yNDgzNmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLmZmZmZmZjVjMjhmNTc5NjBjZDU2ZWJmZTk0ODJhNjFmcC0xLAorICAgIDB4MS45OTk5OWFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmZmZmZmZjVjMjhmNTc5NjBjZDU2ZWJmZTk0ODJhNjFmcC0xLAorICAgIC0weDEuOTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5mZmZmZmQ3MGEzZDY0ZTVlYzE2NWNkNDMwN2FkMTMyNnAtMSwKKyAgICAweDEuOTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS5mZmZmZmQ3MGEzZDY0ZTVlYzE2NWNkNDMwN2FkMTMyNnAtMSwKKyAgICAtMHgxLjk5OTk5YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuZmZmZmZhM2Q3MDllZWNiZmI1YTM4NWIwZjNlMGNiOGZwLTEsCisgICAgMHgxLjMzMzMzNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuZmZmZmZhM2Q3MDllZWNiZmI1YTM4NWIwZjNlMGNiOGZwLTEsCisgICAgLTB4MS4zMzMzMzRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLmZmZmZmNWMyOGY1ZmM3MzNjNDIwMmFhMGJkYTkyZjk3cC0xLAorICAgIDB4MS45OTk5OWFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLmZmZmZmNWMyOGY1ZmM3MzNjNDIwMmFhMGJkYTkyZjk3cC0xLAorICAgIC0weDEuOTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuZmZmZmU4ZjVjMjljZTA3NjQwYmQ1ZjZkOGJiMWVhNmJwLTEsCisgICAgMHgxLjMzMzMzNHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuZmZmZmU4ZjVjMjljZTA3NjQwYmQ1ZjZkOGJiMWVhNmJwLTEsCisgICAgLTB4MS4zMzMzMzRwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLmZmZmZlMGEzZDcxNDgzOWYzNjAxMTQ3YWRhNzNmOGQ5cC0xLAorICAgIDB4MS42NjY2NjhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLmZmZmZlMGEzZDcxNDgzOWYzNjAxMTQ3YWRhNzNmOGQ5cC0xLAorICAgIC0weDEuNjY2NjY4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5mZmZmZDcwYTNkODE5MWY2NmRlNTQwOGZiMmI5OTVhMHAtMSwKKyAgICAweDEuOTk5OTljcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5mZmZmZDcwYTNkODE5MWY2NmRlNTQwOGZiMmI5OTVhMHAtMSwKKyAgICAtMHgxLjk5OTk5Y3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuZmZmZmNjMjhmNmQwOTZiODdkNmQxOWEwNmU5Njk5OWJwLTEsCisgICAgMHgxLmNjY2NjY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuZmZmZmNjMjhmNmQwOTZiODdkNmQxOWEwNmU5Njk5OWJwLTEsCisgICAgLTB4MS5jY2NjY2NwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLmZmZmJjYzJhNzFjZWFhYmY1NTgyYjZkYTFmYzMwNTMxcC0xLAorICAgIDB4MS4wNjY2NjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuZmZmYmNjMmE3MWNlYWFiZjU1ODJiNmRhMWZjMzA1MzFwLTEsCisgICAgLTB4MS4wNjY2NjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuZmZmMzBhNGI3YjUxMTlkOGUyOTlmNzE3ZWMwZWNlMTZwLTEsCisgICAgMHgxLmNjY2NjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5mZmYzMGE0YjdiNTExOWQ4ZTI5OWY3MTdlYzBlY2UxNnAtMSwKKyAgICAtMHgxLmNjY2NjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5mZmU1N2E3ODUxMjMyMjZjMWUyZWZiNDExMzUzZWRjOXAtMSwKKyAgICAweDEuNDk5OTk4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLmZmZTU3YTc4NTEyMzIyNmMxZTJlZmI0MTEzNTNlZGM5cC0xLAorICAgIC0weDEuNDk5OTk4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLmZmZDMxY2QxMGNiNjMyZDk3MzNhYzVmNWYzMjdhNWY5cC0xLAorICAgIDB4MS5hY2NjY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuZmZkMzFjZDEwY2I2MzJkOTczM2FjNWY1ZjMyN2E1ZjlwLTEsCisgICAgLTB4MS5hY2NjY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCisgICAgMHgxLjA4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLmZmYmJmMTgyMDc1NDJlZjgxMzkwZDczYzNiYTg5YzFhcC0xLAorICAgIC0weDEuMDhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuZmY5ZmY4YzJlYWVhZWUzMGZiMjExNzY1YWY4MzUxNzFwLTEsCisgICAgMHgxLjM5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5mZjlmZjhjMmVhZWFlZTMwZmIyMTE3NjVhZjgzNTE3MXAtMSwKKyAgICAtMHgxLjM5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS5mZjdmMzJkNmViMWY5Y2Y5MDIyNmVjMjkxYzllMDkyMnAtMSwKKyAgICAweDEuNmIzMzM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLmZmN2YzMmQ2ZWIxZjljZjkwMjI2ZWMyOTFjOWUwOTIycC0xLAorICAgIC0weDEuNmIzMzM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLmZmNTlhMDBjYzRhZDQ5MmNhMjU5NzQ5NTQxMjk5OGVkcC0xLAorICAgIDB4MS45Y2NjY2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuZmY1OWEwMGNjNGFkNDkyY2EyNTk3NDk1NDEyOTk4ZWRwLTEsCisgICAgLTB4MS45Y2NjY2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuZmYyZjQwYzA4YWNmNDU4MGE4ZDEzMzgwZDkwNzMzOThwLTEsCisgICAgMHgxLmNlNjY2NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS5mZjJmNDBjMDhhY2Y0NTgwYThkMTMzODBkOTA3MzM5OHAtMSwKKyAgICAtMHgxLmNlNjY2NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS44Y2E0NmNhMDExNzcxYmZhZTBkOWVkYmYxZGFjYjQwMnAtMSwKKyAgICAweDEuNWU3ZmM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjhjYTQ2Y2EwMTE3NzFiZmFlMGQ5ZWRiZjFkYWNiNDAycC0xLAorICAgIC0weDEuNWU3ZmM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjBiNWQzOGQ1ZDgyZTRhNzYyNGRhYzRlMTBjZTE1OWMycC0yLAorICAgIDB4MS40ZTdmYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS4wYjVkMzhkNWQ4MmU0YTc2MjRkYWM0ZTEwY2UxNTljMnAtMiwKKyAgICAtMHgxLjRlN2ZjNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS42NmI5NmUyMDRlNjljZGE4ZTljZjUwOTk2NDMyNTM5ZXAtMiwKKyAgICAweDEuZWRiZmE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLjY2Yjk2ZTIwNGU2OWNkYThlOWNmNTA5OTY0MzI1MzllcC0yLAorICAgIC0weDEuZWRiZmE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLmE5MzU1NDBlZGVjYTRjMjIwZWQ5MWRjNTQ4MWU0ZDlicC0xLAorICAgIDB4MS40NjdmYzRwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIC0weDEuYTkzNTU0MGVkZWNhNGMyMjBlZDkxZGM1NDgxZTRkOWJwLTEsCisgICAgLTB4MS40NjdmYzRwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuZmZjMDAxN2RkOTIwOWRkODg5MWYxN2ZlNGM5ZWVlNDZwLTEsCisgICAgMHgxLjk2MWZiNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgLTB4MS5mZmMwMDE3ZGQ5MjA5ZGQ4ODkxZjE3ZmU0YzllZWU0NnAtMSwKKyAgICAtMHgxLjk2MWZiNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS45NjkwODIwMDc3MzNkNzg3ZjRjMzZiYTBmOTQyNTY5NHAtMSwKKyAgICAweDEuZTViZmE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAtMHgxLjk2OTA4MjAwNzczM2Q3ODdmNGMzNmJhMGY5NDI1Njk0cC0xLAorICAgIC0weDEuZTViZmE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjJhMWU3NDIyM2Q5YmRkYjdkYjU5Zjc4MWY5NmI2NWVjcC0yLAorICAgIDB4MS4xYWFmY2FwMgorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEuMmExZTc0MjIzZDliZGRiN2RiNTlmNzgxZjk2YjY1ZWNwLTIsCisgICAgLTB4MS4xYWFmY2FwMgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS40ODk0ZDUwYjg0ZGJjOTgxMTM0YTU5MWFjNDE2NWQ5ZXAtMiwKKyAgICAweDEuNDI3ZmMycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuNDg5NGQ1MGI4NGRiYzk4MTEzNGE1OTFhYzQxNjVkOWVwLTIsCisgICAgLTB4MS40MjdmYzJwMgorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5hMDE2ZGQ3NDgwYTFlZWE0ZDQ5ZWZiNTg1ZmE0OWM4NnAtMSwKKyAgICAweDEuNmE0ZmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuYTAxNmRkNzQ4MGExZWVhNGQ0OWVmYjU4NWZhNDljODZwLTEsCisgICAgLTB4MS42YTRmYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS5hMzBhNmEzYmY0YTNlMmI3ZTI3NjY2ZDNhOWMzYjc0YnAtMSwKKyAgICAweDEuNmFmMmYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuYTMwYTZhM2JmNGEzZTJiN2UyNzY2NmQzYTljM2I3NGJwLTEsCisgICAgLTB4MS42YWYyZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS41YmQ2MjU1MDQwMTVjY2MxMDFlNGY0MzQwZDRiNzYyYnAtMiwKKyAgICAweDEuNDNjNjJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEuNWJkNjI1NTA0MDE1Y2NjMTAxZTRmNDM0MGQ0Yjc2MmJwLTIsCisgICAgLTB4MS40M2M2MmFwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuMGNiNzMzNDQ4YzMwZWUzZGRmZmI0ZGE2OWYwYjM4NDJwLTIsCisgICAgMHgxLjFjOTk2NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS4wY2I3MzM0NDhjMzBlZTNkZGZmYjRkYTY5ZjBiMzg0MnAtMiwKKyAgICAtMHgxLjFjOTk2NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS44OWQ4NzRhZDMwZTNmYjQ2MjQ0ZGFhMjQ0NTE2OTBkN3AtMSwKKyAgICAweDEuZWFkOTNjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAtMHgxLjg5ZDg3NGFkMzBlM2ZiNDYyNDRkYWEyNDQ1MTY5MGQ3cC0xLAorICAgIC0weDEuZWFkOTNjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLmZlNTFhZTA5ZjBkMzllZDU1NGU2OGJlZjNlMmY4YTAzcC0xLAorICAgIDB4MS45YzdmYjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuZmU1MWFlMDlmMGQzOWVkNTU0ZTY4YmVmM2UyZjhhMDNwLTEsCisgICAgLTB4MS45YzdmYjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuYjk3YmY3NmFlNzY1ZWI2OWNmNTVlODBhYWU5NzczMDNwLTEsCisgICAgMHgxLjRlMjYyNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgLTB4MS5iOTdiZjc2YWU3NjVlYjY5Y2Y1NWU4MGFhZTk3NzMwM3AtMSwKKyAgICAtMHgxLjRlMjYyNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS5hOGFjNTc5M2UzMjYyOWIxMzE5ODRlY2ZmZDJkMGYzMXAtMiwKKyAgICAweDEuZmY5OTMycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAtMHgxLmE4YWM1NzkzZTMyNjI5YjEzMTk4NGVjZmZkMmQwZjMxcC0yLAorICAgIC0weDEuZmY5OTMycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuNzdhOTJjYTAxYmM3OWMxOTVkZGEzMzczNjgwN2Y5ODZwLTMsCisgICAgMHgxLjYyZTYxY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjc3YTkyY2EwMWJjNzljMTk1ZGRhMzM3MzY4MDdmOTg2cC0zLAorICAgIC0weDEuNjJlNjFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuNmUxMDYwMjgyYzE0ODhkOWFiZDgzZGExZDY4Y2QwZjdwLTEsCisgICAgMHgxLjhjNjYyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS42ZTEwNjAyODJjMTQ4OGQ5YWJkODNkYTFkNjhjZDBmN3AtMSwKKyAgICAtMHgxLjhjNjYyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIC0weDEuNjgyZjJiYjg3YThmNTAxMTczNTA5NDE3NmM5YjZkYWNwLTQsCisgICAgLTB4MS5hOGFhMWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuNjgyZjJiYjg3YThmNTAxMTczNTA5NDE3NmM5YjZkYWNwLTQsCisgICAgMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5lNjY1Y2IyYWY4NDJiZTViYTVmNjU5NjA1OTlhOTdlY3AtNywKKyAgICAtMHgxLjk1ZWM4YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgLTB4MS5lNjY1Y2IyYWY4NDJiZTViYTVmNjU5NjA1OTlhOTdlY3AtNywKKyAgICAweDEuOTVlYzhhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEuZGRkMjMxNTAxYjEyZmNmMmJjMjA2MzNiZTRkNTFlNTFwLTUsCisgICAgLTB4MS44MzJlZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5kZGQyMzE1MDFiMTJmY2YyYmMyMDYzM2JlNGQ1MWU1MXAtNSwKKyAgICAweDEuODMyZWY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMGNhYmE2OTk3NjkxYWIxOTcwZDQzYzc0MTllZDUxZTFwLTMsCisgICAgLTB4MS43MDcxNjZwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS4wY2FiYTY5OTc2OTFhYjE5NzBkNDNjNzQxOWVkNTFlMXAtMywKKyAgICAweDEuNzA3MTY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEuYTA3MjU0MWZkNmVhZjhiNjVhODc0YzU4ZDZjYzU3MzlwLTMsCisgICAgLTB4MS41ZGIzZDRwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS5hMDcyNTQxZmQ2ZWFmOGI2NWE4NzRjNThkNmNjNTczOXAtMywKKyAgICAweDEuNWRiM2Q0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuMThmZWY4MTA2YmVhNjNiOWU5NmE3YWRmNTM4YzYxOTRwLTIsCisgICAgLTB4MS40YWY2NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4xOGZlZjgxMDZiZWE2M2I5ZTk2YTdhZGY1MzhjNjE5NHAtMiwKKyAgICAweDEuNGFmNjQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuNjA0MzcyNzdkNDgwNjdlODUyMzBiY2UxODgzZWFhYmFwLTIsCisgICAgLTB4MS4zODM4YjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS42MDQzNzI3N2Q0ODA2N2U4NTIzMGJjZTE4ODNlYWFiYXAtMiwKKyAgICAweDEuMzgzOGIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuYTVhNGRlZDQ5MmJlZGZlOGNmNWMzNGNhZGQ3OGRmNzVwLTIsCisgICAgLTB4MS4yNTdiMWVwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS5hNWE0ZGVkNDkyYmVkZmU4Y2Y1YzM0Y2FkZDc4ZGY3NXAtMiwKKyAgICAweDEuMjU3YjFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuZThjNDA0MDY3OGQyZWY3MzYzMzNhNDUzN2ExMTEzYTFwLTIsCisgICAgLTB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS5lOGM0MDQwNjc4ZDJlZjczNjMzM2E0NTM3YTExMTNhMXAtMiwKKyAgICAweDEuMTJiZDkycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuMjY5NzZiMWIxNmQxOTA5MWMwOTI1OTc2NWM0YjM4NzJwLTEsCisgICAgLTB4MS5lYTVjM2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuMjY5NzZiMWIxNmQxOTA5MWMwOTI1OTc2NWM0YjM4NzJwLTEsCisgICAgMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS4zODA1YTJkYWZkYTdmODU1NGFlYzY1ZGFiMzQ4YTcxNHAtMSwKKyAgICAtMHgxLmQ0Yjg3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS4zODA1YTJkYWZkYTdmODU1NGFlYzY1ZGFiMzQ4YTcxNHAtMSwKKyAgICAweDEuZDRiODdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLjQ4ZTUyZmY1YmJlNzk0NjE4Yjg1MTkwYjg2NDExODI0cC0xLAorICAgIC0weDEuYmYxNGJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLjQ4ZTUyZmY1YmJlNzk0NjE4Yjg1MTkwYjg2NDExODI0cC0xLAorICAgIDB4MS5iZjE0YmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAweDEuNTkyZTViNjE1ZWY1YWU0NjM5NzZkMzExNDFkYmFjZjBwLTEsCisgICAgLTB4MS5hOTcwZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuNTkyZTViNjE1ZWY1YWU0NjM5NzZkMzExNDFkYmFjZjBwLTEsCisgICAgMHgxLmE5NzBmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS42OGQ5YjJkNjU3ZTQzMDdkMzMxZWI3YmQzNWVlMTg3OXAtMSwKKyAgICAtMHgxLjkzY2QzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS42OGQ5YjJkNjU3ZTQzMDdkMzMxZWI3YmQzNWVlMTg3OXAtMSwKKyAgICAweDEuOTNjZDM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjc3ZTAwYzM3MTg1MjhjMzZmNzIyZTYzMDk2YzI2NDZicC0xLAorICAgIC0weDEuN2UyOTc0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjc3ZTAwYzM3MTg1MjhjMzZmNzIyZTYzMDk2YzI2NDZicC0xLAorICAgIDB4MS43ZTI5NzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuODYzYTg4ZDZiMDY0ZjM2ZjM0MzcwNzIyZDM2MWNlOWZwLTEsCisgICAgLTB4MS42ODg1YjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuODYzYTg4ZDZiMDY0ZjM2ZjM0MzcwNzIyZDM2MWNlOWZwLTEsCisgICAgMHgxLjY4ODViMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS45M2UyOTg5Y2VlNjA4NGUzNGI1MzNiMWViOTI3NDZkYXAtMSwKKyAgICAtMHgxLjUyZTFmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS45M2UyOTg5Y2VlNjA4NGUzNGI1MzNiMWViOTI3NDZkYXAtMSwKKyAgICAweDEuNTJlMWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAorICAgIC0weDEuM2QzZTM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAorICAgIDB4MS4zZDNlMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCisgICAgLTB4MS4wYTBiMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCisgICAgMHgxLjBhMGIwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS5jYTU5YzcxOWY5NjA3NWRkNmI3YTBmZjQ0M2FkNTlkY3AtMSwKKyAgICAtMHgxLmQ4ZjcyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5jYTU5YzcxOWY5NjA3NWRkNmI3YTBmZjQ0M2FkNTlkY3AtMSwKKyAgICAweDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAorICAgIC0weDEuOWRkODNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAorICAgIDB4MS45ZGQ4M2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCisgICAgLTB4MS42MmI5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCisgICAgMHgxLjYyYjk1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS5lYWQwN2NkMmUwZjdmMTk2Nzk2NDYzNjJiYmMwZWI4MHAtMSwKKyAgICAtMHgxLjI3OWE3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5lYWQwN2NkMmUwZjdmMTk2Nzk2NDYzNjJiYmMwZWI4MHAtMSwKKyAgICAweDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAorICAgIC0weDEuZDhmNzIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAorICAgIDB4MS5kOGY3MjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCisgICAgLTB4MS42MmI5NThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCisgICAgMHgxLjYyYjk1OHAtMworICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIDB4MS5mYzk3MjgzYzRmNWJkMWY3OTMyMDE5NzJiOGRiNTUxZnAtMSwKKyAgICAtMHgxLmQ4ZjcyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS5mYzk3MjgzYzRmNWJkMWY3OTMyMDE5NzJiOGRiNTUxZnAtMSwKKyAgICAweDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAorICAgIC0weDEuZDhmNzIwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAorICAgIDB4MS5kOGY3MjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuZmYyNTliN2IzZDcyMWVkZjA2M2E1YmY2ZTdhMWY5M2NwLTEsCisgICAgMHgxLmQ4ZjcyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS5mZjI1OWI3YjNkNzIxZWRmMDYzYTViZjZlN2ExZjkzY3AtMSwKKyAgICAtMHgxLmQ4ZjcyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS5mYzk3MjgzYzRmNWJkMWY3OTMyMDE5NzJiOGRiNTUxZnAtMSwKKyAgICAweDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLmZjOTcyODNjNGY1YmQxZjc5MzIwMTk3MmI4ZGI1NTFmcC0xLAorICAgIC0weDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLmY4NTZkNDkyNTFiZDM3YzU0ZjAwOTQyNzBlZWNiZDE4cC0xLAorICAgIDB4MS42MmI5NThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCisgICAgLTB4MS42MmI5NThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuZjI2ODQwZWZkODZjZWVhMjNmMzg4YjZhMTEwMmVhNGRwLTEsCisgICAgMHgxLmQ4ZjcyMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS5mMjY4NDBlZmQ4NmNlZWEyM2YzODhiNmExMTAyZWE0ZHAtMSwKKyAgICAtMHgxLmQ4ZjcyMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIDB4MS5lYWQwN2NkMmUwZjdmMTk2Nzk2NDYzNjJiYmMwZWI4MHAtMSwKKyAgICAweDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLmVhZDA3Y2QyZTBmN2YxOTY3OTY0NjM2MmJiYzBlYjgwcC0xLAorICAgIC0weDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLmUxOTYwMjczYTRhYWExYmQxOWVmMGNjYWE4ODc0MTgzcC0xLAorICAgIDB4MS42MmI5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCisgICAgLTB4MS42MmI5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuZDZjMGIxM2RmOTk2MTNhNDkzMDZiNGRjNmM1N2FhMDNwLTEsCisgICAgMHgxLjlkZDgzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS5kNmMwYjEzZGY5OTYxM2E0OTMwNmI0ZGM2YzU3YWEwM3AtMSwKKyAgICAtMHgxLjlkZDgzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS5jYTU5YzcxOWY5NjA3NWRkNmI3YTBmZjQ0M2FkNTlkY3AtMSwKKyAgICAweDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLmNhNTljNzE5Zjk2MDc1ZGQ2YjdhMGZmNDQzYWQ1OWRjcC0xLAorICAgIC0weDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmJjNmJkODg5YThhNTlkYmI1NmU1NDZhMzdhZTc5OGY1cC0xLAorICAgIDB4MS4wYTBiMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCisgICAgLTB4MS4wYTBiMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuYTBkMWY4NjEzZWJjNjBjN2VlNjUwMmVlMTgzYzg5ZTdwLTEsCisgICAgMHgxLjNkM2UzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS5hMGQxZjg2MTNlYmM2MGM3ZWU2NTAyZWUxODNjODllN3AtMSwKKyAgICAtMHgxLjNkM2UzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS45M2UyOTNiMjNhNmFhMWFlNTM3MzIxNGViOGZiOWU5NnAtMSwKKyAgICAweDEuNTJlMWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLjkzZTI5M2IyM2E2YWExYWU1MzczMjE0ZWI4ZmI5ZTk2cC0xLAorICAgIC0weDEuNTJlMWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgMHgxLjg2M2E4M2E4ZDk4MjZjNjEzNTUwOTQwNmViZTA1YzBmcC0xLAorICAgIDB4MS42ODg1YmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuODYzYTgzYThkOTgyNmM2MTM1NTA5NDA2ZWJlMDVjMGZwLTEsCisgICAgLTB4MS42ODg1YmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuNzdlMDA2Yzg3Y2JhZGVkNjZlYzViOTYwYzkzYzU2OGFwLTEsCisgICAgMHgxLjdlMjk3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS43N2UwMDZjODdjYmFkZWQ2NmVjNWI5NjBjOTNjNTY4YXAtMSwKKyAgICAtMHgxLjdlMjk3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS42OGQ5YWQyOTczNmMxNzA0Y2FlYTZhMmRiNmU3MTIyM3AtMSwKKyAgICAweDEuOTNjZDNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjY4ZDlhZDI5NzM2YzE3MDRjYWVhNmEyZGI2ZTcxMjIzcC0xLAorICAgIC0weDEuOTNjZDNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjU5MmU1NTc4YzllYzY2YWNjZWRkZDRkYzZjZTY2YjI2cC0xLAorICAgIDB4MS5hOTcxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjU5MmU1NTc4YzllYzY2YWNjZWRkZDRkYzZjZTY2YjI2cC0xLAorICAgIC0weDEuYTk3MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIDB4MS40OGU1MjlkNDI5ZTcyMWVjOGJiMWUwMTRmOTRkNDhmMXAtMSwKKyAgICAweDEuYmYxNGMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjQ4ZTUyOWQ0MjllNzIxZWM4YmIxZTAxNGY5NGQ0OGYxcC0xLAorICAgIC0weDEuYmYxNGMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLjM4MDU5YzgzM2M1OGVhOTcwZjdiOTZkNmFkYTNkOWM0cC0xLAorICAgIDB4MS5kNGI4ODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuMzgwNTljODMzYzU4ZWE5NzBmN2I5NmQ2YWRhM2Q5YzRwLTEsCisgICAgLTB4MS5kNGI4ODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAweDEuMjY5NzZiMWIxNmQxOTA5MWMwOTI1OTc2NWM0YjM4NzJwLTEsCisgICAgMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKKyAgICAtMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS5lOGM0MDQwNjc4ZDJlZjczNjMzM2E0NTM3YTExMTNhMXAtMiwKKyAgICAweDEuMTJiZDkycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZThjNDA0MDY3OGQyZWY3MzYzMzNhNDUzN2ExMTEzYTFwLTIsCisgICAgLTB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS5hNWE0YzhmNTk4ZmEwMDc4OTcxMzE2ZWI0OTA3Zjk3YnAtMiwKKyAgICAweDEuMjU3YjI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuYTVhNGM4ZjU5OGZhMDA3ODk3MTMxNmViNDkwN2Y5N2JwLTIsCisgICAgLTB4MS4yNTdiMjRwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS42MDQzNWJlZWQxMGNhMDU3NjlmMGEzZDg2YTVhMjBmM3AtMiwKKyAgICAweDEuMzgzOGI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuNjA0MzViZWVkMTBjYTA1NzY5ZjBhM2Q4NmE1YTIwZjNwLTIsCisgICAgLTB4MS4zODM4YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS4xOGZlZTBmYzQ1YzMxYTc5YjJiOTQ3OGIxZjcyYTllYnAtMiwKKyAgICAweDEuNGFmNjQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuMThmZWUwZmM0NWMzMWE3OWIyYjk0NzhiMWY3MmE5ZWJwLTIsCisgICAgLTB4MS40YWY2NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS5hMDcyMjUyMDkwYzMzODI4NzY3YWVlM2UwNDBjY2RkZnAtMywKKyAgICAweDEuNWRiM2RhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuYTA3MjI1MjA5MGMzMzgyODc2N2FlZTNlMDQwY2NkZGZwLTMsCisgICAgLTB4MS41ZGIzZGFwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS4wY2FiNzcwM2E4ZTlkYWNjNGFkMDExODhiNDQzY2ZlZXAtMywKKyAgICAweDEuNzA3MTZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuMGNhYjc3MDNhOGU5ZGFjYzRhZDAxMTg4YjQ0M2NmZWVwLTMsCisgICAgLTB4MS43MDcxNmNwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS5kZGQxNzFhM2M5ODUxZTc4MTliNWU0ZjZmOTBlNzYzZHAtNSwKKyAgICAweDEuODMyZWZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuZGRkMTcxYTNjOTg1MWU3ODE5YjVlNGY2ZjkwZTc2M2RwLTUsCisgICAgLTB4MS44MzJlZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIC0weDEuZTY2OGNiMTU0ZWVhNjhiYmM3ZjgxNTRmNDZiMmU1MzZwLTcsCisgICAgMHgxLjk1ZWM5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgLTB4MS5lNjY4Y2IxNTRlZWE2OGJiYzdmODE1NGY0NmIyZTUzNnAtNywKKyAgICAtMHgxLjk1ZWM5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgLTB4MS42ODJmMmJiODdhOGY1MDExNzM1MDk0MTc2YzliNmRhY3AtNCwKKyAgICAweDEuYThhYTFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAtMHgxLjY4MmYyYmI4N2E4ZjUwMTE3MzUwOTQxNzZjOWI2ZGFjcC00LAorICAgIC0weDEuYThhYTFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAweDEuMGNiMzQ0OWEwZDBhOWUwNjQzZDQxZjRhNWIwZjdkYjdwLTEsCisgICAgMHgxLjA0YWZmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjBjYjM0NDlhMGQwYTllMDY0M2Q0MWY0YTViMGY3ZGI3cC0xLAorICAgIC0weDEuMDRhZmY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuMGNiMjI2OTcxNTNiY2YxZjhhNjNhY2RkZDk2YzU0Y2JwLTEsCisgICAgMHgxLjA0YjBhMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgMHgxLjBjYjIyNjk3MTUzYmNmMWY4YTYzYWNkZGQ5NmM1NGNicC0xLAorICAgIC0weDEuMDRiMGEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuMGNiMTA4OTNhOWI1NDcxYTQ0MzU2MDcyY2IzM2IzOTVwLTEsCisgICAgMHgxLjA0YjE0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjBjYjEwODkzYTliNTQ3MWE0NDM1NjA3MmNiMzNiMzk1cC0xLAorICAgIC0weDEuMDRiMTQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAweDEuMGNhZmVhOGZjYTc3ODEyMzZhNTdlNWIxYzhhZWQzOWNwLTEsCisgICAgMHgxLjA0YjFmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjBjYWZlYThmY2E3NzgxMjM2YTU3ZTViMWM4YWVkMzljcC0xLAorICAgIC0weDEuMDRiMWYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAweDEuMGNhZWNjOGI3NzgyZjg2ODI3YWY5MmIwYjIzNzQ1MTBwLTEsCisgICAgMHgxLjA0YjI5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLjBjYWVjYzhiNzc4MmY4NjgyN2FmOTJiMGIyMzc0NTEwcC0xLAorICAgIC0weDEuMDRiMjk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuMGNhZGFlODZiMGQ4MjgxNWQ4ZjYzMmU2N2M3ZTFhOTlwLTEsCisgICAgMHgxLjA0YjM0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLjBjYWRhZTg2YjBkODI4MTVkOGY2MzJlNjdjN2UxYTk5cC0xLAorICAgIC0weDEuMDRiMzQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuMGNhYzkwODE3Njc3OGI1YTBjYmFkMjFlZTc1Y2U3NjVwLTEsCisgICAgMHgxLjA0YjNlOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLjBjYWM5MDgxNzY3NzhiNWEwY2JhZDIxZWU3NWNlNzY1cC0xLAorICAgIC0weDEuMDRiM2U4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuMGNhYjcyN2JjODYxOWQ2MjgzNjE4NzZlMWYzMGE2MzNwLTEsCisgICAgMHgxLjA0YjQ5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMHgxLjBjYWI3MjdiYzg2MTlkNjI4MzYxODc2ZTFmMzBhNjMzcC0xLAorICAgIC0weDEuMDRiNDkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuMGNhYTViNDUwYTQzMjRmMjA0YTU1NmIwNzJkYTEyNGFwLTEsCisgICAgMHgxLjA0YjUzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLjBjYWE1YjQ1MGE0MzI0ZjIwNGE1NTZiMDcyZGExMjRhcC0xLAorICAgIC0weDEuMDRiNTM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgMHgxLmFkMDJjOGI5Y2M5M2Y0NDhlZjRlYjA2OGE4ODkyMmEzcC0xLAorICAgIDB4MS4yNzlhNzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuYWQwMmM4YjljYzkzZjQ0OGVmNGViMDY4YTg4OTIyYTNwLTEsCisgICAgLTB4MS4yNzlhNzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuYWQwMmM3YTI1OGJmYjM2MmFiYmU4NmZiNDhmNGU5OGJwLTEsCisgICAgMHgxLjI3OWE3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5hZDAyYzdhMjU4YmZiMzYyYWJiZTg2ZmI0OGY0ZTk4YnAtMSwKKyAgICAtMHgxLjI3OWE3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5hZDAyYzY4YWU0ZTljNTc5YTA4YzA0Y2U1OWJlNDAwMnAtMSwKKyAgICAweDEuMjc5YTc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLmFkMDJjNjhhZTRlOWM1NzlhMDhjMDRjZTU5YmU0MDAycC0xLAorICAgIC0weDEuMjc5YTc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgLTB4MS40OGQxYzllOThiNmMwODc4NGYxMDA0MGY0N2ExMjE5MXAtMywKKyAgICAweDEuYmI2N2FjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAtMHgxLjQ4ZDFjOWU5OGI2YzA4Nzg0ZjEwMDQwZjQ3YTEyMTkxcC0zLAorICAgIC0weDEuYmI2N2FjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAtMHgxLjQ4ZDFkOWI0NjdlMzc5NTUzMzczMTFkZWNkMDlmYzc0cC0zLAorICAgIDB4MS5iYjY3YWVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIC0weDEuNDhkMWQ5YjQ2N2UzNzk1NTMzNzMxMWRlY2QwOWZjNzRwLTMsCisgICAgLTB4MS5iYjY3YWVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIC0weDEuNDhkMWU5N2Y0NDU1YzZlYWIxMDQ4MDIyMjM4YjJiZDBwLTMsCisgICAgMHgxLmJiNjdiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgLTB4MS40OGQxZTk3ZjQ0NTVjNmVhYjEwNDgwMjIyMzhiMmJkMHAtMywKKyAgICAtMHgxLmJiNjdiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgMHgxLmNmYzZkMDExYTBlNWQwZmNlYmI1NGI1ZmVkNjcyOTQwcC0xLAorICAgIDB4MS5iZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuY2ZjNmQwMTFhMGU1ZDBmY2ViYjU0YjVmZWQ2NzI5NDBwLTEsCisgICAgLTB4MS5iZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuY2ZjNmNmYTUyYWQ5ZjYyZDZkNTQyM2NhODMzOWEwMGFwLTEsCisgICAgMHgxLmMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmNmYzZjZmE1MmFkOWY2MmQ2ZDU0MjNjYTgzMzlhMDBhcC0xLAorICAgIC0weDEuYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuY2ZjNmNmMzhiNGNkYTc2YzNiMDliMTdlOWRlYjE5ZWFwLTEsCisgICAgMHgxLmMwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS5jZmM2Y2YzOGI0Y2RhNzZjM2IwOWIxN2U5ZGViMTllYXAtMSwKKyAgICAtMHgxLmMwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIDB4MS44YmIxMDZlYWM3Yzc1ZDMzZmJiMTk0NDYzMTNlY2MyZnAtMSwKKyAgICAweDEuNWZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLjhiYjEwNmVhYzdjNzVkMzNmYmIxOTQ0NjMxM2VjYzJmcC0xLAorICAgIC0weDEuNWZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLjhiYjEwNWE1ZGM5MDA2MThmODBmYTUxZDMwM2M2OXAtMSwKKyAgICAweDEuNjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAweDEuOGJiMTA1YTVkYzkwMDYxOGY4MGZhNTFkMzAzYzY5cC0xLAorICAgIC0weDEuNjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuOGJiMTA0NjBmMTU3MjM0Y2VlYzdkOTY0NGExYTc4ZTVwLTEsCisgICAgMHgxLjYwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS44YmIxMDQ2MGYxNTcyMzRjZWVjN2Q5NjQ0YTFhNzhlNXAtMSwKKyAgICAtMHgxLjYwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS43ZWY0OGI5YTZmZDVjMjRmNWVjMzk4MzllMTcyOWI3OHAtMiwKKyAgICAweDEuMmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAweDEuN2VmNDhiOWE2ZmQ1YzI0ZjVlYzM5ODM5ZTE3MjliNzhwLTIsCisgICAgLTB4MS4yZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIDB4MS43ZWY0ODQyZjBiY2NkNjBkNGE1MDFkYzhiYzRiNTdiM3AtMiwKKyAgICAweDEuMzBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS43ZWY0ODQyZjBiY2NkNjBkNGE1MDFkYzhiYzRiNTdiM3AtMiwKKyAgICAtMHgxLjMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuN2VmNDdjYzNhN2JkZWRmOTI1MjA3NDI2M2Q4YTQ1OTZwLTIsCisgICAgMHgxLjMwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLjdlZjQ3Y2MzYTdiZGVkZjkyNTIwNzQyNjNkOGE0NTk2cC0yLAorICAgIC0weDEuMzAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAtMHgxLjg2M2VmNTA4NWJjYzM1OGQyYWU4NTI1YmYzOWYwYzQwcC0xLAorICAgIDB4MS4zN2ZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIC0weDEuODYzZWY1MDg1YmNjMzU4ZDJhZTg1MjViZjM5ZjBjNDBwLTEsCisgICAgLTB4MS4zN2ZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIC0weDEuODYzZWZhMzYxZGMyNTJiY2ExZWFlZWQzOTc0OWJlZDdwLTEsCisgICAgMHgxLjM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAtMHgxLjg2M2VmYTM2MWRjMjUyYmNhMWVhZWVkMzk3NDliZWQ3cC0xLAorICAgIC0weDEuMzhwMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIC0weDEuODYzZWZmNjNkZmEwMGJmYzc1OGJhZjQ2OTQ2OWQ3NDFwLTEsCisgICAgMHgxLjM4MDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgLTB4MS44NjNlZmY2M2RmYTAwYmZjNzU4YmFmNDY5NDY5ZDc0MXAtMSwKKyAgICAtMHgxLjM4MDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLmZlZjJiMmQwYTEwZTI3MzljNTY2OTM2NDgwYTE0NzlicC0xLAorICAgIDB4MS4wNjljOGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAweDEuZmVmMmIyZDBhMTBlMjczOWM1NjY5MzY0ODBhMTQ3OWJwLTEsCisgICAgLTB4MS4wNjljOGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuZmJjYmU2OGRkMTBiYWQwYTIyOWNjYmI1ODBjYzU0MzZwLTEsCisgICAgMHgxLjA2OWM4Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5mYmNiZTY4ZGQxMGJhZDBhMjI5Y2NiYjU4MGNjNTQzNnAtMSwKKyAgICAtMHgxLjA2OWM4Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS5mNjhlZWJlZjcyZTdmNjEyNmIzZjNkZGU2NDZhNzU1Y3AtMSwKKyAgICAweDEuODllYWQycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgMHgxLmY2OGVlYmVmNzJlN2Y2MTI2YjNmM2RkZTY0NmE3NTVjcC0xLAorICAgIC0weDEuODllYWQycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgMHgxLmVmNDE0NTlkMmU5MGVhMWI3ZmFhZDdmYWJkMWZkNDQ0cC0xLAorICAgIDB4MS4wNjljOGNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAweDEuZWY0MTQ1OWQyZTkwZWExYjdmYWFkN2ZhYmQxZmQ0NDRwLTEsCisgICAgLTB4MS4wNjljOGNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuZTVlYWEyM2EyN2ZlOGQ2ODkwYTNlZGFjZTFjNjE5OThwLTEsCisgICAgMHgxLjQ4NDNiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDB4MS5lNWVhYTIzYTI3ZmU4ZDY4OTBhM2VkYWNlMWM2MTk5OHAtMSwKKyAgICAtMHgxLjQ4NDNiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS5kYTk0ZDRiOTljM2E5YTVlMGQxZmM4NmQ1MzM2OWE4NHAtMSwKKyAgICAweDEuODllYWQ0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgMHgxLmRhOTRkNGI5OWMzYTlhNWUwZDFmYzg2ZDUzMzY5YTg0cC0xLAorICAgIC0weDEuODllYWQ0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLmNkNGJjOWFmYzAxMjMwYjJmOTgyZjY5NjhkYWI3ZjA1cC0xLAorICAgIDB4MS5jYjkxZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAweDEuY2Q0YmM5YWZjMDEyMzBiMmY5ODJmNjk2OGRhYjdmMDVwLTEsCisgICAgLTB4MS5jYjkxZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuYmUxZDdhZGYwNzdkZWYyYTM2MGZlYzIzZGJiY2VmMDlwLTEsCisgICAgMHgxLjA2OWM4ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS5iZTFkN2FkZjA3N2RlZjJhMzYwZmVjMjNkYmJjZWYwOXAtMSwKKyAgICAtMHgxLjA2OWM4ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS5hZDE5ZTA4NDdkMjVmM2FhMTQyMjg5ZGFiNTU3YmY5NnAtMSwKKyAgICAweDEuMjc3MDIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLmFkMTllMDg0N2QyNWYzYWExNDIyODlkYWI1NTdiZjk2cC0xLAorICAgIC0weDEuMjc3MDIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgMHgxLjlhNTJlMDhiMTkxYmQ1NTUxMmM4MzY1MDc0ZjE5ODdmcC0xLAorICAgIDB4MS40ODQzYjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAweDEuOWE1MmUwOGIxOTFiZDU1NTEyYzgzNjUwNzRmMTk4N2ZwLTEsCisgICAgLTB4MS40ODQzYjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuODVkYzNiYjdjMmU5YWJiNWNjY2I2ZDk2ZDEyZDM5YzRwLTEsCisgICAgMHgxLjY5MTc0NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS44NWRjM2JiN2MyZTlhYmI1Y2NjYjZkOTZkMTJkMzljNHAtMSwKKyAgICAtMHgxLjY5MTc0NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIDB4MS42ZmNiNzhlMWNkNjVkMmU0ZmRlNzExOGNhYWM3OWQ2ZHAtMSwKKyAgICAweDEuODllYWQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgMHgxLjZmY2I3OGUxY2Q2NWQyZTRmZGU3MTE4Y2FhYzc5ZDZkcC0xLAorICAgIC0weDEuODllYWQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLjU4MzdjZTRkYzgzNWQ0YTU0NTRlYzBhMWJiMzk0MDgxcC0xLAorICAgIDB4MS5hYWJlNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAweDEuNTgzN2NlNGRjODM1ZDRhNTQ1NGVjMGExYmIzOTQwODFwLTEsCisgICAgLTB4MS5hYWJlNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEuM2YzYTA5NDI3OTY2ZTk1MTg4MDJkZWUzYmY0NDNhOTVwLTEsCisgICAgMHgxLmNiOTFmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIDB4MS4zZjNhMDk0Mjc5NjZlOTUxODgwMmRlZTNiZjQ0M2E5NXAtMSwKKyAgICAtMHgxLmNiOTFmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS4yNGVjNzNmMWFlZWY0OTQwYmI4ZGExOWE4MmJiYzQ5ZnAtMSwKKyAgICAweDEuZWM2NThjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgMHgxLjI0ZWM3M2YxYWVlZjQ5NDBiYjhkYTE5YTgyYmJjNDlmcC0xLAorICAgIC0weDEuZWM2NThjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgMHgxLjA5NmFiYjg2MmY5YmQ1NTE1OTgyYzI4MThjMzMyZmY5cC0xLAorICAgIDB4MS4wNjljOGVwMAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS4wOTZhYmI4NjJmOWJkNTUxNTk4MmMyODE4YzMzMmZmOXAtMSwKKyAgICAtMHgxLjA2OWM4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgMHgxLmQ5YTM5YzBkZGRjNjU0YzcxN2UzMDM2ZGE1ZGQ2ODVjcC0yLAorICAgIDB4MS4xNzA2NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5kOWEzOWMwZGRkYzY1NGM3MTdlMzAzNmRhNWRkNjg1Y3AtMiwKKyAgICAtMHgxLjE3MDY1NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgMHgxLjllN2Y4MTg0MGMwYmJkMGYxYjEzNzMzMDYxMDYyZDM0cC0yLAorICAgIDB4MS4yNzcwMWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS45ZTdmODE4NDBjMGJiZDBmMWIxMzczMzA2MTA2MmQzNHAtMiwKKyAgICAtMHgxLjI3NzAxZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLjYxYTc1ZTJkZWI1OTY3MzFjOGNkNDVlM2Q5Nzk0NTI2cC0yLAorICAgIDB4MS4zN2Q5ZTZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIDB4MS42MWE3NWUyZGViNTk2NzMxYzhjZDQ1ZTNkOTc5NDUyNnAtMiwKKyAgICAtMHgxLjM3ZDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLjIzNWIzMzdiMDkxY2RkOGFjMDYzOTBhYmM2ODE2YjgycC0yLAorICAgIDB4MS40ODQzYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIDB4MS4yMzViMzM3YjA5MWNkZDhhYzA2MzkwYWJjNjgxNmI4MnAtMiwKKyAgICAtMHgxLjQ4NDNhZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMHgxLmM3YjkxNDZkNmQxMDgyNGZmNjUyZGMzOTBiYTJkN2Y5cC0zLAorICAgIDB4MS41OGFkNzZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDB4MS5jN2I5MTQ2ZDZkMTA4MjRmZjY1MmRjMzkwYmEyZDdmOXAtMywKKyAgICAtMHgxLjU4YWQ3NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLjQ2ZGM1YjJmMWRlOTc3ZWZmZjdjMjc4YjVhZGIyYTc1cC0zLAorICAgIDB4MS42OTE3M2VwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIDB4MS40NmRjNWIyZjFkZTk3N2VmZmY3YzI3OGI1YWRiMmE3NXAtMywKKyAgICAtMHgxLjY5MTczZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLjg5NGY5M2VmNDljNDU3NTgwMGJiZDY0NmEzYTMxZDJhcC00LAorICAgIDB4MS43OTgxMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMworICAgIDB4MS44OTRmOTNlZjQ5YzQ1NzU4MDBiYmQ2NDZhM2EzMWQyYXAtNCwKKyAgICAtMHgxLjc5ODEwNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMHgxLjA2OTE2NGUzZjVjZWU5NGQ4NjVmYjUyZTMxNmRmZjZicC01LAorICAgIDB4MS44OWVhY2VwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS4wNjkxNjRlM2Y1Y2VlOTRkODY1ZmI1MmUzMTZkZmY2YnAtNSwKKyAgICAtMHgxLjg5ZWFjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgLTB4MS4wNjkwOTNlZWMwZWQwNjZlYzgzZGQwMzQ0OThlZjhiZnAtNSwKKyAgICAweDEuOWE1NDk2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAtMHgxLjA2OTA5M2VlYzBlZDA2NmVjODNkZDAzNDQ5OGVmOGJmcC01LAorICAgIC0weDEuOWE1NDk2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAtMHgxLjg5NGYyYmUyOTc5ZGQ5Y2VkODNjY2M2MGNmNDljZDQ0cC00LAorICAgIDB4MS5hYWJlNWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIC0weDEuODk0ZjJiZTI5NzlkZDljZWQ4M2NjYzYwY2Y0OWNkNDRwLTQsCisgICAgLTB4MS5hYWJlNWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIC0weDEuNDZkYzI3OTY3MzUxOTVhMTVjODBlNWI3MTllMmZjNDJwLTMsCisgICAgMHgxLmJiMjgyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgLTB4MS40NmRjMjc5NjczNTE5NWExNWM4MGU1YjcxOWUyZmM0MnAtMywKKyAgICAtMHgxLmJiMjgyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgLTB4MS5jN2I4ZTE3OGI3ZThjMDFkOWYzMjA0NjZjYzdhNjhkNHAtMywKKyAgICAweDEuY2I5MWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDMKKyAgICAtMHgxLmM3YjhlMTc4YjdlOGMwMWQ5ZjMyMDQ2NmNjN2E2OGQ0cC0zLAorICAgIC0weDEuY2I5MWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAtMHgxLjIzNWIxYTZkNzY3ZTRiMzYyYzY0NTcxYWM5N2I0YTFjcC0yLAorICAgIDB4MS5kYmZiYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIC0weDEuMjM1YjFhNmQ3NjdlNGIzNjJjNjQ1NzFhYzk3YjRhMWNwLTIsCisgICAgLTB4MS5kYmZiYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NgorICAgIC0weDEuNjFhNzQ1YTc3YjdlODNjMmY4YTJmOWIwOTFlODlhYWFwLTIsCisgICAgMHgxLmVjNjU3ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgLTB4MS42MWE3NDVhNzdiN2U4M2MyZjhhMmY5YjA5MWU4OWFhYXAtMiwKKyAgICAtMHgxLmVjNjU3ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgLTB4MS45ZTdmNjk5ZThiOWFhZjhlZDUxYzcxYzhmNzNiMGI3NHAtMiwKKyAgICAweDEuZmNjZjQ2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAtMHgxLjllN2Y2OTllOGI5YWFmOGVkNTFjNzFjOGY3M2IwYjc0cC0yLAorICAgIC0weDEuZmNjZjQ2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTAKKyAgICAtMHgxLmQ5YTM4YmZhMzE5NWJhMWNhYTdmYjY5YmMxZDA0ZTQycC0yLAorICAgIDB4MS4wNjljODhwMQorICB9LAorICB7IC8vIEVudHJ5IDU1MQorICAgIC0weDEuZDlhMzhiZmEzMTk1YmExY2FhN2ZiNjliYzFkMDRlNDJwLTIsCisgICAgLTB4MS4wNjljODhwMQorICB9LAorICB7IC8vIEVudHJ5IDU1MgorICAgIC0weDEuMDk2YWIzYzU1YzkxZjM2ZTIzNTllZDFjNWE4MzQyZGZwLTEsCisgICAgMHgxLjBlZDE2Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgLTB4MS4wOTZhYjNjNTVjOTFmMzZlMjM1OWVkMWM1YTgzNDJkZnAtMSwKKyAgICAtMHgxLjBlZDE2Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgLTB4MS4yNGVjNmM4MjA2ZTc0NDMyMmQ5OWY0N2U5ZTQxYmVjZXAtMSwKKyAgICAweDEuMTcwNjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAtMHgxLjI0ZWM2YzgyMDZlNzQ0MzIyZDk5ZjQ3ZTllNDFiZWNlcC0xLAorICAgIC0weDEuMTcwNjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAtMHgxLjNmM2EwMDliODJiNWI4MjM0ZTEyOTZkZDczY2ZmNDlkcC0xLAorICAgIDB4MS4xZjNiMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIC0weDEuM2YzYTAwOWI4MmI1YjgyMzRlMTI5NmRkNzNjZmY0OWRwLTEsCisgICAgLTB4MS4xZjNiMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIC0weDEuNTgzN2M0YTE4NGNjZjdlZDU3YzE4OWYyYWRkZjMyYzVwLTEsCisgICAgMHgxLjI3NzAxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgLTB4MS41ODM3YzRhMTg0Y2NmN2VkNTdjMTg5ZjJhZGRmMzJjNXAtMSwKKyAgICAtMHgxLjI3NzAxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgLTB4MS42ZmNiNmU2Njg1ZTcyZmI0MDc0ZTcwY2QzMTYyZDNiYXAtMSwKKyAgICAweDEuMmZhNGZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjEKKyAgICAtMHgxLjZmY2I2ZTY2ODVlNzJmYjQwNzRlNzBjZDMxNjJkM2JhcC0xLAorICAgIC0weDEuMmZhNGZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAtMHgxLjg1ZGMzMGE3OWYyNjc1NGFiMTM3MDMzOGVlN2JmZDExcC0xLAorICAgIDB4MS4zN2Q5ZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIC0weDEuODVkYzMwYTc5ZjI2NzU0YWIxMzcwMzM4ZWU3YmZkMTFwLTEsCisgICAgLTB4MS4zN2Q5ZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIC0weDEuOWE1MmQ1MjNiMTUzMmU0ZWQ0NzdlMjdkYzYwNTFjMTJwLTEsCisgICAgMHgxLjQwMGVjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgLTB4MS45YTUyZDUyM2IxNTMyZTRlZDQ3N2UyN2RjNjA1MWMxMnAtMSwKKyAgICAtMHgxLjQwMGVjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgLTB4MS5hZDE5ZDUwNjY0YWJmMGMwMTQxMTM3ZDJjYTUwOWYyMXAtMSwKKyAgICAweDEuNDg0M2E4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAtMHgxLmFkMTlkNTA2NjRhYmYwYzAxNDExMzdkMmNhNTA5ZjIxcC0xLAorICAgIC0weDEuNDg0M2E4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAtMHgxLmJlMWQ2ZjhkNTE3ZGI1YzJjZjdkZTBmYWYwODA4ZDMwcC0xLAorICAgIDB4MS41MDc4OGNwMQorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIC0weDEuYmUxZDZmOGQ1MTdkYjVjMmNmN2RlMGZhZjA4MDhkMzBwLTEsCisgICAgLTB4MS41MDc4OGNwMQorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIC0weDEuY2Q0YmJlY2Y3ZjI3MDVkNGZkMDBkZDQ2Mzc4MGY0NWVwLTEsCisgICAgMHgxLjU4YWQ3MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgLTB4MS5jZDRiYmVjZjdmMjcwNWQ0ZmQwMGRkNDYzNzgwZjQ1ZXAtMSwKKyAgICAtMHgxLjU4YWQ3MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgLTB4MS5kYTk0Y2E5MTVkYTNjZGQxZmZmODM5ZDg1ZWVjMzllMnAtMSwKKyAgICAweDEuNjBlMjU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzMKKyAgICAtMHgxLmRhOTRjYTkxNWRhM2NkZDFmZmY4MzlkODVlZWMzOWUycC0xLAorICAgIC0weDEuNjBlMjU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAtMHgxLmU1ZWE5OTExNmIzOTM2MWFjOTI2ZGQ5ZmRjMjA4OWQxcC0xLAorICAgIDB4MS42OTE3MzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIC0weDEuZTVlYTk5MTE2YjM5MzYxYWM5MjZkZDlmZGMyMDg5ZDFwLTEsCisgICAgLTB4MS42OTE3MzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIC0weDEuZWY0MTNkYmJkYTI4NTlmZmIwZDFhYjg0MzQyZmQyMzVwLTEsCisgICAgMHgxLjcxNGMxY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgLTB4MS5lZjQxM2RiYmRhMjg1OWZmYjBkMWFiODQzNDJmZDIzNXAtMSwKKyAgICAtMHgxLjcxNGMxY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgLTB4MS5mNjhlZTViNWJmMzU2YjEwMjMwOTQ0YTE4ZTcwOTI1Y3AtMSwKKyAgICAweDEuNzk4MXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgLTB4MS5mNjhlZTViNWJmMzU2YjEwMjMwOTQ0YTE4ZTcwOTI1Y3AtMSwKKyAgICAtMHgxLjc5ODFwMQorICB9LAorICB7IC8vIEVudHJ5IDU4MAorICAgIC0weDEuZmJjYmUyMzI5NmZjNjFiOTZmMzgyZjM1ZWExNWM3NjhwLTEsCisgICAgMHgxLjgxYjVlNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgLTB4MS5mYmNiZTIzMjk2ZmM2MWI5NmYzODJmMzVlYTE1Yzc2OHAtMSwKKyAgICAtMHgxLjgxYjVlNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgLTB4MS5mZWYyYjA4OTQzMTk3Y2QzYThiYTg2MTA5NTIyN2M0OHAtMSwKKyAgICAweDEuODllYWM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAtMHgxLmZlZjJiMDg5NDMxOTdjZDNhOGJhODYxMDk1MjI3YzQ4cC0xLAorICAgIC0weDEuODllYWM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuZWY0MTQ4OWZjMmZlODAxYTZmYzhhZTc5MTQzOGViNzhwLTEsCisgICAgLTB4MS44MWI1ZWVwMgorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5lZjQxNDg5ZmMyZmU4MDFhNmZjOGFlNzkxNDM4ZWI3OHAtMSwKKyAgICAweDEuODFiNWVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODYKKyAgICAweDEuYmUxZDg0OWVjNjQ5Yjc5NzMyMGU5ODVkMGI4MmFlODVwLTEsCisgICAgLTB4MS43MTRjMjZwMgorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5iZTFkODQ5ZWM2NDliNzk3MzIwZTk4NWQwYjgyYWU4NXAtMSwKKyAgICAweDEuNzE0YzI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEuNmZjYjhjNDRiZDMwZGQ2NjgxNDg2MDU5NjliMWMxNjFwLTEsCisgICAgLTB4MS42MGUyNWVwMgorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS42ZmNiOGM0NGJkMzBkZDY2ODE0ODYwNTk2OWIxYzE2MXAtMSwKKyAgICAweDEuNjBlMjVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEuMDk2YWQ4N2MzMjY2MjJjNDJkZTM0ZjkyODE0Y2ZhODRwLTEsCisgICAgLTB4MS41MDc4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS4wOTZhZDg3YzMyNjYyMmM0MmRlMzRmOTI4MTRjZmE4NHAtMSwKKyAgICAweDEuNTA3ODk2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAweDEuMjM1Yjc0NmEyYTJlZmYyYmY2NDBkZDhjMDRkMzVhNWJwLTIsCisgICAgLTB4MS40MDBlY2VwMgorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS4yMzViNzQ2YTJhMmVmZjJiZjY0MGRkOGMwNGQzNWE1YnAtMiwKKyAgICAweDEuNDAwZWNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEuMDY5MzgyN2I0NmNlZTNiNjYxYWMxNzExNGI1ZmUwZmJwLTUsCisgICAgLTB4MS4yZmE1MDZwMgorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS4wNjkzODI3YjQ2Y2VlM2I2NjFhYzE3MTE0YjVmZTBmYnAtNSwKKyAgICAweDEuMmZhNTA2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAtMHgxLmM3Yjg1ZDY2OGUyYWJjYzQ2NTQyY2E4NTI3ZjBiODAxcC0zLAorICAgIC0weDEuMWYzYjNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAtMHgxLmM3Yjg1ZDY2OGUyYWJjYzQ2NTQyY2E4NTI3ZjBiODAxcC0zLAorICAgIDB4MS4xZjNiM2VwMgorICB9LAorICB7IC8vIEVudHJ5IDU5OAorICAgIC0weDEuZDlhMzQ4ZDRmNDM2M2JhNDU2MjExMGRiMDFlZTg0ZThwLTIsCisgICAgLTB4MS4wZWQxNzZwMgorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIC0weDEuZDlhMzQ4ZDRmNDM2M2JhNDU2MjExMGRiMDFlZTg0ZThwLTIsCisgICAgMHgxLjBlZDE3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgLTB4MS41ODM3YWU4NTY5Yzk1ODQ2ZTYxNjRkOTYzNjU0NjEyMHAtMSwKKyAgICAtMHgxLmZjY2Y1YXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgLTB4MS41ODM3YWU4NTY5Yzk1ODQ2ZTYxNjRkOTYzNjU0NjEyMHAtMSwKKyAgICAweDEuZmNjZjVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAtMHgxLmFkMTljOTE4ODgzMDAwYjBiNzAyZWMwODBjZjAxMjJlcC0xLAorICAgIC0weDEuZGJmYmM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDMKKyAgICAtMHgxLmFkMTljOTE4ODgzMDAwYjBiNzAyZWMwODBjZjAxMjJlcC0xLAorICAgIDB4MS5kYmZiYzhwMQorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIC0weDEuZTVlYTk0YjJjZjA3YWRkM2QwZDk1YWIzYTMwYWQ0YWJwLTEsCisgICAgLTB4MS5iYjI4MzZwMQorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIC0weDEuZTVlYTk0YjJjZjA3YWRkM2QwZDk1YWIzYTMwYWQ0YWJwLTEsCisgICAgMHgxLmJiMjgzNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgLTB4MS5mZWYyYjAyOTA4NTU5ZjkyZGU4OTJkMjQwYTJiMGI0OXAtMSwKKyAgICAtMHgxLjlhNTRhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgLTB4MS5mZWYyYjAyOTA4NTU5ZjkyZGU4OTJkMjQwYTJiMGI0OXAtMSwKKyAgICAweDEuOWE1NGE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAtMHgxLmY2OGVmMzc5MmU1OTJjM2NlZmJjZTFkNWRlZDY0YTkycC0xLAorICAgIC0weDEuNzk4MTEycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAtMHgxLmY2OGVmMzc5MmU1OTJjM2NlZmJjZTFkNWRlZDY0YTkycC0xLAorICAgIDB4MS43OTgxMTJwMQorICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIC0weDEuY2Q0YmRhOTQzZWVhMTM2MzBmOGU1MDhmODc0NGYyZjJwLTEsCisgICAgLTB4MS41OGFkODBwMQorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIC0weDEuY2Q0YmRhOTQzZWVhMTM2MzBmOGU1MDhmODc0NGYyZjJwLTEsCisgICAgMHgxLjU4YWQ4MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgLTB4MS44NWRjNTRmNDlmMzI0YmRmYzcxZDU3NDk0ODNiMzMxOHAtMSwKKyAgICAtMHgxLjM3ZDllZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgLTB4MS44NWRjNTRmNDlmMzI0YmRmYzcxZDU3NDk0ODNiMzMxOHAtMSwKKyAgICAweDEuMzdkOWVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAtMHgxLjI0ZWM5M2UwNGQ0YmRiNTRlMjBiZWFmMzgzNTE5YWY4cC0xLAorICAgIC0weDEuMTcwNjVjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTUKKyAgICAtMHgxLjI0ZWM5M2UwNGQ0YmRiNTRlMjBiZWFmMzgzNTE5YWY4cC0xLAorICAgIDB4MS4xNzA2NWNwMQorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIC0weDEuNjFhNzk4M2Q0YzE2YzQ1MWI2OGJmMmY1YjcwZjNiNmFwLTIsCisgICAgLTB4MS5lYzY1OTRwMAorICB9LAorICB7IC8vIEVudHJ5IDYxNworICAgIC0weDEuNjFhNzk4M2Q0YzE2YzQ1MWI2OGJmMmY1YjcwZjNiNmFwLTIsCisgICAgMHgxLmVjNjU5NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgLTB4MS44OTUwNGE4ZGU2YzllY2FjNjYzZTY3NTgzY2FiNDdlOHAtNCwKKyAgICAtMHgxLmFhYmU3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgLTB4MS44OTUwNGE4ZGU2YzllY2FjNjYzZTY3NTgzY2FiNDdlOHAtNCwKKyAgICAweDEuYWFiZTcwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAweDEuNDZkYmVjOWVhM2E1ZjA4YmE3M2FhNjllN2UyMmRlMWNwLTMsCisgICAgLTB4MS42OTE3NGNwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS40NmRiZWM5ZWEzYTVmMDhiYTczYWE2OWU3ZTIyZGUxY3AtMywKKyAgICAweDEuNjkxNzRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAweDEuOWU3ZjVjZjA3NWQxZWM0ZWY2OWM5YzY3YjYyYzI3Y2JwLTIsCisgICAgLTB4MS4yNzcwMjhwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS45ZTdmNWNmMDc1ZDFlYzRlZjY5YzljNjdiNjJjMjdjYnAtMiwKKyAgICAweDEuMjc3MDI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEuM2YzOWZjYzAxNzY1M2QyNjM2ODM3YTU1ZmRmNmQyZDRwLTEsCisgICAgLTB4MS5jYjkyMGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuM2YzOWZjYzAxNzY1M2QyNjM2ODM3YTU1ZmRmNmQyZDRwLTEsCisgICAgMHgxLmNiOTIwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyNgorICAgIDB4MS45YTUyZDVjNzAwZGFhM2RjOGNmOGY1YTcxZjJkZjI4OXAtMSwKKyAgICAtMHgxLjQ4NDNjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS45YTUyZDVjNzAwZGFhM2RjOGNmOGY1YTcxZjJkZjI4OXAtMSwKKyAgICAweDEuNDg0M2M0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgMHgxLmRhOTRjZDM4M2RkN2EzYjkxYTJmYzg4ZmY5MDVhNmEwcC0xLAorICAgIC0weDEuODllYWZjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLmRhOTRjZDM4M2RkN2EzYjkxYTJmYzg4ZmY5MDVhNmEwcC0xLAorICAgIDB4MS44OWVhZmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAweDEuZmJjYmUzZGU1OGU2NmMzMjgzYmM4MTBkMTZjNDU4MzNwLTEsCisgICAgLTB4MS4wNjljZTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEuZmJjYmUzZGU1OGU2NmMzMjgzYmM4MTBkMTZjNDU4MzNwLTEsCisgICAgMHgxLjA2OWNlMHAtMworICB9LAorICB7IC8vIEVudHJ5IDYzMgorICAgIDB4MS5mYmNiZTkzZDQ4NTYzZDUxYjZlOWQ2ZWZkYjYyNDk1Y3AtMSwKKyAgICAweDEuMDY5YzM4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgMHgxLmZiY2JlOTNkNDg1NjNkNTFiNmU5ZDZlZmRiNjI0OTVjcC0xLAorICAgIC0weDEuMDY5YzM4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgMHgxLmRhOTRkY2ZiMWNkMTU4NTNjZTg0OGZmYjAyNjRhZDA4cC0xLAorICAgIDB4MS44OWVhYThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAweDEuZGE5NGRjZmIxY2QxNTg1M2NlODQ4ZmZiMDI2NGFkMDhwLTEsCisgICAgLTB4MS44OWVhYThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAweDEuOWE1MmVlZTVlMzUzNzdkNTU0YWNlODgxYmRjNDcyNWJwLTEsCisgICAgMHgxLjQ4NDM5YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS45YTUyZWVlNWUzNTM3N2Q1NTRhY2U4ODFiZGM0NzI1YnAtMSwKKyAgICAtMHgxLjQ4NDM5YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS4zZjNhMWQ5NjU3ZmY2YWE0OThjNDZmNmZhYWYwM2I5MHAtMSwKKyAgICAweDEuY2I5MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgMHgxLjNmM2ExZDk2NTdmZjZhYTQ5OGM0NmY2ZmFhZjAzYjkwcC0xLAorICAgIC0weDEuY2I5MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLjllN2ZhNjE3YTFhM2E0MDBhN2Y1OWFhODc5MDg4ZTMxcC0yLAorICAgIDB4MS4yNzcwMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS45ZTdmYTYxN2ExYTNhNDAwYTdmNTlhYTg3OTA4OGUzMXAtMiwKKyAgICAtMHgxLjI3NzAxNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLjQ2ZGM4YTkxOWIyNzg0MGNkYTZlMThhMDc5ZGE0NTljcC0zLAorICAgIDB4MS42OTE3MzhwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS40NmRjOGE5MTliMjc4NDBjZGE2ZTE4YTA3OWRhNDU5Y3AtMywKKyAgICAtMHgxLjY5MTczOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgLTB4MS44OTRmMGMwODcyNDE1NjYzYjdmOWU0ZTQ4MDFkZWFmMHAtNCwKKyAgICAweDEuYWFiZTVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAtMHgxLjg5NGYwYzA4NzI0MTU2NjNiN2Y5ZTRlNDgwMWRlYWYwcC00LAorICAgIC0weDEuYWFiZTVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAtMHgxLjYxYTc0ZDI5Nzc0YWU0ZTNiYzU1MzNhMmVhMDhhMTRhcC0yLAorICAgIDB4MS5lYzY1ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIC0weDEuNjFhNzRkMjk3NzRhZTRlM2JjNTUzM2EyZWEwOGExNGFwLTIsCisgICAgLTB4MS5lYzY1ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIC0weDEuMjRlYzczMTFiZDdiMjI1NWY5Yjg5MGIzZmY1ODk5ZjRwLTEsCisgICAgMHgxLjE3MDY1MnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgLTB4MS4yNGVjNzMxMWJkN2IyMjU1ZjliODkwYjNmZjU4OTlmNHAtMSwKKyAgICAtMHgxLjE3MDY1MnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgLTB4MS44NWRjM2IwNmM0MzVmNTI0Yzg3M2Q5YjVlYmEzZGVmOHAtMSwKKyAgICAweDEuMzdkOWU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAtMHgxLjg1ZGMzYjA2YzQzNWY1MjRjODczZDliNWViYTNkZWY4cC0xLAorICAgIC0weDEuMzdkOWU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTIKKyAgICAtMHgxLmNkNGJjOTM5NDdlODY2NzFhYzdmMGVhY2Q5NTIxMzc3cC0xLAorICAgIDB4MS41OGFkNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIC0weDEuY2Q0YmM5Mzk0N2U4NjY3MWFjN2YwZWFjZDk1MjEzNzdwLTEsCisgICAgLTB4MS41OGFkNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIC0weDEuZjY4ZWViZDNiOGYxMmY5NDMzZTZkNzIyNDk4OWMxMGVwLTEsCisgICAgMHgxLjc5ODEwOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgLTB4MS5mNjhlZWJkM2I4ZjEyZjk0MzNlNmQ3MjI0OTg5YzEwZXAtMSwKKyAgICAtMHgxLjc5ODEwOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgLTB4MS5mZWYyYjJiOTFlNDAwMjFhMmZlZTc0ZmM2MTgxMjE1N3AtMSwKKyAgICAweDEuOWE1NDlhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAtMHgxLmZlZjJiMmI5MWU0MDAyMWEyZmVlNzRmYzYxODEyMTU3cC0xLAorICAgIC0weDEuOWE1NDlhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAtMHgxLmU1ZWFhMTRkODYxNjhiNjk5MThjMjJmMzcxNmE2N2VhcC0xLAorICAgIDB4MS5iYjI4MmNwMQorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIC0weDEuZTVlYWExNGQ4NjE2OGI2OTkxOGMyMmYzNzE2YTY3ZWFwLTEsCisgICAgLTB4MS5iYjI4MmNwMQorICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIC0weDEuYWQxOWRlZWFkMGVhZTJmNzJkMDQxNjVlMDllNGE0M2RwLTEsCisgICAgMHgxLmRiZmJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgLTB4MS5hZDE5ZGVlYWQwZWFlMmY3MmQwNDE2NWUwOWU0YTQzZHAtMSwKKyAgICAtMHgxLmRiZmJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgLTB4MS41ODM3Y2MyMWRkYTQ0ZjNhYjdmZDk2ZjU3YzAxNGUxOXAtMSwKKyAgICAweDEuZmNjZjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICAtMHgxLjU4MzdjYzIxZGRhNDRmM2FiN2ZkOTZmNTdjMDE0ZTE5cC0xLAorICAgIC0weDEuZmNjZjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAtMHgxLmQ5YTM5ZGYyMDcxMzlmOTllYmU5YjU2ZGFmYjIzNGI3cC0yLAorICAgIDB4MS4wZWQxNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIC0weDEuZDlhMzlkZjIwNzEzOWY5OWViZTliNTZkYWZiMjM0YjdwLTIsCisgICAgLTB4MS4wZWQxNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIC0weDEuYzdiOTE4OTYzODEyOGJjMGFlMzNmZGYyNzI5Y2M5ODdwLTMsCisgICAgMHgxLjFmM2IzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgLTB4MS5jN2I5MTg5NjM4MTI4YmMwYWUzM2ZkZjI3MjljYzk4N3AtMywKKyAgICAtMHgxLjFmM2IzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLjA2OTA4MmUwNGIyNWU5ZDJlYTllMjYzYjUwZDA4YjM0cC01LAorICAgIDB4MS4yZmE1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuMDY5MDgyZTA0YjI1ZTlkMmVhOWUyNjNiNTBkMDhiMzRwLTUsCisgICAgLTB4MS4yZmE1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEuMjM1YjE4NjFmMjFhYTg2ZGNlMjU5ZTRlNWI0ZWYzOTVwLTIsCisgICAgMHgxLjQwMGVjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLjIzNWIxODYxZjIxYWE4NmRjZTI1OWU0ZTViNGVmMzk1cC0yLAorICAgIC0weDEuNDAwZWM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAweDEuMDk2YWFmNzAzNDE0ODUwNjJmNDQzYzgwYTkwYTNiZTNwLTEsCisgICAgMHgxLjUwNzg5MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLjA5NmFhZjcwMzQxNDg1MDYyZjQ0M2M4MGE5MGEzYmUzcC0xLAorICAgIC0weDEuNTA3ODkwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAweDEuNmZjYjZhZTAzMTA3YmU0NThkMDczNjEzNzFlZmFiYjRwLTEsCisgICAgMHgxLjYwZTI1OHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLjZmY2I2YWUwMzEwN2JlNDU4ZDA3MzYxMzcxZWZhYmI0cC0xLAorICAgIC0weDEuNjBlMjU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzYKKyAgICAweDEuYmUxZDZkMTBkNWM4Y2VlYjhiZjlhZWI3YTlmNjkwYjlwLTEsCisgICAgMHgxLjcxNGMyMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLmJlMWQ2ZDEwZDVjOGNlZWI4YmY5YWViN2E5ZjY5MGI5cC0xLAorICAgIC0weDEuNzE0YzIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzgKKyAgICAweDEuZWY0MTNjNzJkOTg4YmI1MzkzNzk3NWU0ZmQ0ZmNjN2FwLTEsCisgICAgMHgxLjgxYjVlOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmVmNDEzYzcyZDk4OGJiNTM5Mzc5NzVlNGZkNGZjYzdhcC0xLAorICAgIC0weDEuODFiNWU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAweDEuZmYwZmQyY2I1YTkyMjhjZmExZTAxNjA1ZDA2MjZjODRwLTEsCisgICAgMHgxLmVmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS5mZjBmZDJjYjVhOTIyOGNmYTFlMDE2MDVkMDYyNmM4NHAtMSwKKyAgICAtMHgxLmVmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKKyAgICAweDEuZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAweDEuZmYwZmQyYzk2YWRmYmFkNWY5MDRhNzFiMmQyMTBhMmFwLTEsCisgICAgLTB4MS5mMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5mZjBmZDJjNzdiMmQ0YWRkNDA1NjZlYzVhYTI0ZmM2ZXAtMSwKKyAgICAweDEuZjAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLmZmMGZkMmM3N2IyZDRhZGQ0MDU2NmVjNWFhMjRmYzZlcC0xLAorICAgIC0weDEuZjAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmZjMjEwMDVkMjE2YTg5ZGU1NWIxOTIwOTZmYzZiN2JhcC0xLAorICAgIDB4MS5mN2ZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODcKKyAgICAweDEuZmMyMTAwNWQyMTZhODlkZTU1YjE5MjA5NmZjNmI3YmFwLTEsCisgICAgLTB4MS5mN2ZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAweDEuZmMyMTAwNTU0NjdmZTU4YTIwMTkzMzk5YjNiYzBkZDJwLTEsCisgICAgMHgxLmY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAorICAgIC0weDEuZjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAweDEuZmMyMTAwNGQ2Yjk1Mzk0NTY2N2Y4MDBmZjgxZGUwZWJwLTEsCisgICAgMHgxLmY4MDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDY5MQorICAgIDB4MS5mYzIxMDA0ZDZiOTUzOTQ1NjY3ZjgwMGZmODFkZTBlYnAtMSwKKyAgICAtMHgxLmY4MDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5mOTQ5ODRjNmZkZjFiZTYxNjg1MDlmZjFlMzVmNjJkZXAtMSwKKyAgICAweDEuNGJmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLmY5NDk4NGM2ZmRmMWJlNjE2ODUwOWZmMWUzNWY2MmRlcC0xLAorICAgIC0weDEuNGJmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjk0CisgICAgMHgxLmY5NDk4NGIyNTUyZTE5NDFlYzc2NmM2YTgyZWNlNGEzcC0xLAorICAgIDB4MS40Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKKyAgICAtMHgxLjRjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgMHgxLmY5NDk4NDlkYWM2YTU0OGRkODUxMTM5MDQxMTA2MzE2cC0xLAorICAgIDB4MS40YzAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuZjk0OTg0OWRhYzZhNTQ4ZGQ4NTExMzkwNDExMDYzMTZwLTEsCisgICAgLTB4MS40YzAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAweDEuZTkyMWRkNzA1NGVmNWQ0ZjcyN2Q5MzhjZTEwYTA1M2NwLTEsCisgICAgMHgxLjMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIDB4MS5lOTIxZGQ3MDU0ZWY1ZDRmNzI3ZDkzOGNlMTBhMDUzY3AtMSwKKyAgICAtMHgxLjMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5lOTIxZGQyNGFkYjkxMjllZmMwNTNmOWFjZDRkMjQ0NHAtMSwKKyAgICAweDEuMzMzMzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgMHgxLmU5MjFkZDI0YWRiOTEyOWVmYzA1M2Y5YWNkNGQyNDQ0cC0xLAorICAgIC0weDEuMzMzMzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLmU5MjFkY2Q5MDY4MjRkYTYwZTQzYzAzYTc3NzRiMTcxcC0xLAorICAgIDB4MS4zMzMzMzZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAweDEuZTkyMWRjZDkwNjgyNGRhNjBlNDNjMDNhNzc3NGIxNzFwLTEsCisgICAgLTB4MS4zMzMzMzZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDQKKyAgICAweDEuOGZlZWRjOTI3NjRiZmJkY2I0MTM4OWU4MjA2M2VkNmVwLTEsCisgICAgMHgxLjU5NDMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIDB4MS44ZmVlZGM5Mjc2NGJmYmRjYjQxMzg5ZTgyMDYzZWQ2ZXAtMSwKKyAgICAtMHgxLjU5NDMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS44ZmVlZGI1MmM3NTAwODdjNWY4NzI3ZTAyNzllNWY2NnAtMSwKKyAgICAweDEuNTk0MzE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLjhmZWVkYjUyYzc1MDA4N2M1Zjg3MjdlMDI3OWU1ZjY2cC0xLAorICAgIC0weDEuNTk0MzE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA4CisgICAgMHgxLjhmZWVkYTEzMTg1Mjg1MmQyZmE3ZmU4ODQ3YjA1OTczcC0xLAorICAgIDB4MS41OTQzMWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEuOGZlZWRhMTMxODUyODUyZDJmYTdmZTg4NDdiMDU5NzNwLTEsCisgICAgLTB4MS41OTQzMWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTAKKyAgICAweDEuNmI4OTkxMTI3ODU5ZmQ5YjQzY2ExZDA4YjkyYWE0MDFwLTEsCisgICAgMHgxLjhmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIDB4MS42Yjg5OTExMjc4NTlmZDliNDNjYTFkMDhiOTJhYTQwMXAtMSwKKyAgICAtMHgxLjhmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS42Yjg5OGZhOWVmYjVkMjJiNThmMGQ5OWU5NjM0OTMxYXAtMSwKKyAgICAweDEuOTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAweDEuNmI4OThmYTllZmI1ZDIyYjU4ZjBkOTllOTYzNDkzMWFwLTEsCisgICAgLTB4MS45MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS42Yjg5OGU0MTY3MTAzYjMxZGU2ZGE2N2ViZjVlOWZlNnAtMSwKKyAgICAweDEuOTAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE1CisgICAgMHgxLjZiODk4ZTQxNjcxMDNiMzFkZTZkYTY3ZWJmNWU5ZmU2cC0xLAorICAgIC0weDEuOTAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzE4CisgICAgMHgxLnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDcxOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIDB4MS5mZjYyMWUzODk1NmEzYjNiZTkyMDI1NmRkYjYwMzRjZHAtMSwKKyAgICAweDEuOTIxZmI0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLmZmNjIxZTM4OTU2YTNiM2JlOTIwMjU2ZGRiNjAzNGNkcC0xLAorICAgIC0weDEuOTIxZmI0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgMHgxLmZmNjIxZTM3MDM3M2RjNmYzOTYzZDQyODk2ZWRlMDc4cC0xLAorICAgIDB4MS45MjFmYjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuZmY2MjFlMzcwMzczZGM2ZjM5NjNkNDI4OTZlZGUwNzhwLTEsCisgICAgLTB4MS45MjFmYjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAweDEuZmY2MjFlMzU3MTdkN2JhMzI3ODk0YmRmZGU5ZjQ3ODdwLTEsCisgICAgMHgxLjkyMWZiOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIDB4MS5mZjYyMWUzNTcxN2Q3YmEzMjc4OTRiZGZkZTlmNDc4N3AtMSwKKyAgICAtMHgxLjkyMWZiOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIDB4MS5mZDg4ZGE0MTBiNjFjZDU1MjIxZDliZWI5OTZkNGQ5OXAtMSwKKyAgICAweDEuOTIxZmI0cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmZkODhkYTQxMGI2MWNkNTUyMjFkOWJlYjk5NmQ0ZDk5cC0xLAorICAgIC0weDEuOTIxZmI0cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgMHgxLmZkODhkYTNhYzU3ODFmNWE2ZmMzMmU0MGVkNTEyMmIwcC0xLAorICAgIDB4MS45MjFmYjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuZmQ4OGRhM2FjNTc4MWY1YTZmYzMyZTQwZWQ1MTIyYjBwLTEsCisgICAgLTB4MS45MjFmYjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICAweDEuZmQ4OGRhMzQ3ZjhlNjk2OTk5ZmZkNTgwNjBiYTM1NjlwLTEsCisgICAgMHgxLjkyMWZiOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDczMgorICAgIDB4MS5mZDg4ZGEzNDdmOGU2OTY5OTlmZmQ1ODA2MGJhMzU2OXAtMSwKKyAgICAtMHgxLjkyMWZiOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIDB4MS5mNjI5N2QwZjQ2NzFkYTU4MGRmZWNkZDRkYjI5ZjQ3M3AtMSwKKyAgICAweDEuOTIxZmI0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmY2Mjk3ZDBmNDY3MWRhNTgwZGZlY2RkNGRiMjlmNDczcC0xLAorICAgIC0weDEuOTIxZmI0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMHgxLmY2Mjk3Y2Y2NGRiOWEyMWQ5OGFiMzk0MGZjOGE4NmYwcC0xLAorICAgIDB4MS45MjFmYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAweDEuZjYyOTdjZjY0ZGI5YTIxZDk4YWIzOTQwZmM4YTg2ZjBwLTEsCisgICAgLTB4MS45MjFmYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAweDEuZjYyOTdjZGQ1NTAxNGE4MDhiODgzZmQxODNmMzE4YWNwLTEsCisgICAgMHgxLjkyMWZiOHAtMworICB9LAorICB7IC8vIEVudHJ5IDczOAorICAgIDB4MS5mNjI5N2NkZDU1MDE0YTgwOGI4ODNmZDE4M2YzMThhY3AtMSwKKyAgICAtMHgxLjkyMWZiOHAtMworICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIDB4MS5kOTA2YmQzMTM0NDMwMDdkY2IwYmQ0ZTNkNjMyODRjMHAtMSwKKyAgICAweDEuOTIxZmI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgMHgxLmQ5MDZiZDMxMzQ0MzAwN2RjYjBiZDRlM2Q2MzI4NGMwcC0xLAorICAgIC0weDEuOTIxZmI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgMHgxLmQ5MDZiY2NmM2NiODc1ODc0ZGEzZGE0YzAxMTA0YmFmcC0xLAorICAgIDB4MS45MjFmYjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAweDEuZDkwNmJjY2YzY2I4NzU4NzRkYTNkYTRjMDExMDRiYWZwLTEsCisgICAgLTB4MS45MjFmYjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDMKKyAgICAweDEuZDkwNmJjNmQ0NTJkNzQ0ZjIxMDgxMDg2MTEwMmYyZGFwLTEsCisgICAgMHgxLjkyMWZiOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0NAorICAgIDB4MS5kOTA2YmM2ZDQ1MmQ3NDRmMjEwODEwODYxMTAyZjJkYXAtMSwKKyAgICAtMHgxLjkyMWZiOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIDB4MS42YTA5ZTc0ZDNkM2ZiYjk0ZDk0Mjc0ZjM3NzY5ZjZlYXAtMSwKKyAgICAweDEuOTIxZmI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLjZhMDllNzRkM2QzZmJiOTRkOTQyNzRmMzc3NjlmNmVhcC0xLAorICAgIC0weDEuOTIxZmI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLjZhMDllNWUzMzM1OTgzZTVhYzkyZTczM2UzZjI0YjQycC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAweDEuNmEwOWU1ZTMzMzU5ODNlNWFjOTJlNzMzZTNmMjRiNDJwLTEsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDkKKyAgICAweDEuNmEwOWU0NzkyOTcxZTIyYzlhMDAyNjFhZWFjMDcwZGFwLTEsCisgICAgMHgxLjkyMWZiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIDB4MS42YTA5ZTQ3OTI5NzFlMjJjOWEwMDI2MWFlYWMwNzBkYXAtMSwKKyAgICAtMHgxLjkyMWZiOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS40NDQyZDE4NDY5ODkzNjEwMjgxYTBmOWIwZThkMGVlZnAtMjQsCisgICAgMHgxLjkyMWZiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMHgxLjQ0NDJkMTg0Njk4OTM2MTAyODFhMGY5YjBlOGQwZWVmcC0yNCwKKyAgICAtMHgxLjkyMWZiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU0CisgICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1NQorICAgIC0weDEuNWRkZTk3M2RjYjM5ODVmNGE4ZTc2YTFmZWNhMjllMWRwLTIzLAorICAgIDB4MS45MjFmYjhwMAorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIC0weDEuNWRkZTk3M2RjYjM5ODVmNGE4ZTc2YTFmZWNhMjllMWRwLTIzLAorICAgIC0weDEuOTIxZmI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmOTk1MWIzMGUwODQ3MzJlNjBiYjg1cC0xLAorICAgIDB4MS45MjFmYjRwMQorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIC0weDEuZmZmZmZmZmZmZmY5OTUxYjMwZTA4NDczMmU2MGJiODVwLTEsCisgICAgLTB4MS45MjFmYjRwMQorICB9LAorICB7IC8vIEVudHJ5IDc1OQorICAgIC0weDEuZmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDA4ZWVjZjU0YTFwLTEsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgLTB4MS5mZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMDhlZWNmNTRhMXAtMSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgLTB4MS5mZmZmZmZmZmZmZTIxZDc1NjE2ZGI1ZWJjNTY0MDVmNXAtMSwKKyAgICAweDEuOTIxZmI4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAtMHgxLmZmZmZmZmZmZmZlMjFkNzU2MTZkYjVlYmM1NjQwNWY1cC0xLAorICAgIC0weDEuOTIxZmI4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAweDEuZmZmZmZmZmZmZmU2NTQ2Y2MzODIxMWY1ZThkZWViOTdwLTEsCisgICAgMHgxLjkyMWZiNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgMHgxLmZmZmZmZmZmZmZlNjU0NmNjMzgyMTFmNWU4ZGVlYjk3cC0xLAorICAgIC0weDEuOTIxZmI0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAweDEuZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDI4NWJmNzNjMDdwLTEsCisgICAgMHgxLjkyMWZiNnAyCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgMHgxLmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyODViZjczYzA3cC0xLAorICAgIC0weDEuOTIxZmI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuZmZmZmZmZmZmZjg4NzVkNTg1YjZkYjJjMzE3MTEwMDRwLTEsCisgICAgMHgxLjkyMWZiOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgMHgxLmZmZmZmZmZmZmY4ODc1ZDU4NWI2ZGIyYzMxNzExMDA0cC0xLAorICAgIC0weDEuOTIxZmI4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAweDEuZmZmZmZmZmZmZjk5NTFiMzBlMDg0YTZhOTkzYjg2NzVwLTEsCisgICAgMHgxLjkyMWZiNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLmZmZmZmZmZmZmY5OTUxYjMwZTA4NGE2YTk5M2I4Njc1cC0xLAorICAgIC0weDEuOTIxZmI0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzEKKyAgICAweDEuZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMGViN2I3Yjg4NGJwLTEsCisgICAgMHgxLjkyMWZiNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgMHgxLmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDBlYjdiN2I4ODRicC0xLAorICAgIC0weDEuOTIxZmI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzMKKyAgICAweDEuZmZmZmZmZmZmZTIxZDc1NjE2ZGJhNDgyODNkM2MyZjdwLTEsCisgICAgMHgxLjkyMWZiOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLmZmZmZmZmZmZmUyMWQ3NTYxNmRiYTQ4MjgzZDNjMmY3cC0xLAorICAgIC0weDEuOTIxZmI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAweDEuZmZmZmZmZmZmZTY1NDZjYzM4MjE1MmQ5YzBlYjliNDdwLTEsCisgICAgMHgxLjkyMWZiNHA0CisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLmZmZmZmZmZmZmU2NTQ2Y2MzODIxNTJkOWMwZWI5YjQ3cC0xLAorICAgIC0weDEuOTIxZmI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAweDEuZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0ODRlYTdkN2E0MDlwLTEsCisgICAgMHgxLjkyMWZiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgMHgxLmZmZmZmZmZmZmY3NjUyMTI0OWM3NDg0ZWE3ZDdhNDA5cC0xLAorICAgIC0weDEuOTIxZmI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAweDEuZmZmZmZmZmZmODg3NWQ1ODViNzIwZjI1ZjA0NzM5NDNwLTEsCisgICAgMHgxLjkyMWZiOHA0CisgIH0sCisgIHsgLy8gRW50cnkgNzgwCisgICAgMHgxLmZmZmZmZmZmZjg4NzVkNTg1YjcyMGYyNWYwNDczOTQzcC0xLAorICAgIC0weDEuOTIxZmI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAweDEuZmZmZmZmZmZmOTk1MWIzMGUwODdkZTVjYzM4NjgzYjhwLTEsCisgICAgMHgxLjkyMWZiNHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLmZmZmZmZmZmZjk5NTFiMzBlMDg3ZGU1Y2MzODY4M2I4cC0xLAorICAgIC0weDEuOTIxZmI0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuZmZmZmZmZmZmZGQ5NDg0OTI3MWQ2YjQ2M2RmNmJkZGZwLTEsCisgICAgMHgxLjkyMWZiNnA1CisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmZmZmZmRkOTQ4NDkyNzFkNmI0NjNkZjZiZGRmcC0xLAorICAgIC0weDEuOTIxZmI2cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODUKKyAgICAweDEuZmZmZmZmZmZlMjFkNzU2MTZlMDAwZTU1ZDA5Zjg3NTdwLTEsCisgICAgMHgxLjkyMWZiOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzg2CisgICAgMHgxLmZmZmZmZmZmZTIxZDc1NjE2ZTAwMGU1NWQwOWY4NzU3cC0xLAorICAgIC0weDEuOTIxZmI4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODcKKyAgICAweDEuZmZmZmZmZmZlNjU0NmNjMzgyNDhhOGNmMGI5YjU3OTVwLTEsCisgICAgMHgxLjkyMWZiNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmZmZmZmZmZmZTY1NDZjYzM4MjQ4YThjZjBiOWI1Nzk1cC0xLAorICAgIC0weDEuOTIxZmI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuZmZmZmZmZmZmNzY1MjEyNDljN2E0ZGQyZTE1ZGQxYzRwLTEsCisgICAgMHgxLjkyMWZiNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNzkwCisgICAgMHgxLmZmZmZmZmZmZjc2NTIxMjQ5YzdhNGRkMmUxNWRkMWM0cC0xLAorICAgIC0weDEuOTIxZmI2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuZmZmZmZmZmY4ODc1ZDU4NWJiN2Q1NTM4M2E5YjM5YTRwLTEsCisgICAgMHgxLjkyMWZiOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzkyCisgICAgMHgxLmZmZmZmZmZmODg3NWQ1ODViYjdkNTUzODNhOWIzOWE0cC0xLAorICAgIC0weDEuOTIxZmI4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuZmZmZmZmZmY5OTUxYjMwZTBiYjU5OGZjMDY3OWE2ZjdwLTEsCisgICAgMHgxLjkyMWZiNHA3CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLmZmZmZmZmZmOTk1MWIzMGUwYmI1OThmYzA2NzlhNmY3cC0xLAorICAgIC0weDEuOTIxZmI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAweDEuZmZmZmZmZmZkZDk0ODQ5MjcyMzM0MmVhMWRhNDliYWNwLTEsCisgICAgMHgxLjkyMWZiNnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgMHgxLmZmZmZmZmZmZGQ5NDg0OTI3MjMzNDJlYTFkYTQ5YmFjcC0xLAorICAgIC0weDEuOTIxZmI2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICAweDEuZmZmZmZmZmUyMWQ3NTYxNzI1YzcxMmYwNjhmYzk3MThwLTEsCisgICAgMHgxLjkyMWZiOHA3CisgIH0sCisgIHsgLy8gRW50cnkgNzk4CisgICAgMHgxLmZmZmZmZmZlMjFkNzU2MTcyNWM3MTJmMDY4ZmM5NzE4cC0xLAorICAgIC0weDEuOTIxZmI4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAtMHgxLjZhMDlkYjNiZGJhMDg2OGEzMWU3NjYzNTlhODQwNmNhcC0xLAorICAgIDB4MS4yZDk3YzRwMQorICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIC0weDEuNmEwOWRiM2JkYmEwODY4YTMxZTc2NjM1OWE4NDA2Y2FwLTEsCisgICAgLTB4MS4yZDk3YzRwMQorICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIC0weDEuNmEwOWUwZTQwMzViODY2OTRjMTY1MzRlNDJmYmUxMTFwLTEsCisgICAgMHgxLjJkOTdjNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODAyCisgICAgLTB4MS42YTA5ZTBlNDAzNWI4NjY5NGMxNjUzNGU0MmZiZTExMXAtMSwKKyAgICAtMHgxLjJkOTdjNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgLTB4MS42YTA5ZTY4YzJhZmZlNWFhNTgwNTBhY2NiMDVjNjI0OHAtMSwKKyAgICAweDEuMmQ5N2M4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAtMHgxLjZhMDllNjhjMmFmZmU1YWE1ODA1MGFjY2IwNWM2MjQ4cC0xLAorICAgIC0weDEuMmQ5N2M4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAtMHgxLjZhMDllZGI2NzcwNmUwOTk3MTIxZDEyYTBjODdiYWU4cC0xLAorICAgIDB4MS5mNmE3YTBwMQorICB9LAorICB7IC8vIEVudHJ5IDgwNgorICAgIC0weDEuNmEwOWVkYjY3NzA2ZTA5OTcxMjFkMTJhMGM4N2JhZThwLTEsCisgICAgLTB4MS5mNmE3YTBwMQorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIC0weDEuNmEwOWU4MGU0ZjdmMmE4OGRlYmVkMzdmYWE5M2U4YzhwLTEsCisgICAgMHgxLmY2YTdhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgLTB4MS42YTA5ZTgwZTRmN2YyYTg4ZGViZWQzN2ZhYTkzZThjOHAtMSwKKyAgICAtMHgxLmY2YTdhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgLTB4MS42YTA5ZTI2NjI3ZTBkM2Q5Y2I3NmRlMDBjYjkwMmJlY3AtMSwKKyAgICAweDEuZjZhN2E0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAtMHgxLjZhMDllMjY2MjdlMGQzZDljYjc2ZGUwMGNiOTAyYmVjcC0xLAorICAgIC0weDEuZjZhN2E0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAtMHgxLmY5OTkwZTkxYTc0MTY4YjkwYmQ2OGRmYWI3NzVjOWNhcC0yMSwKKyAgICAweDEuMmQ5N2M0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTIKKyAgICAtMHgxLmY5OTkwZTkxYTc0MTY4YjkwYmQ2OGRmYWI3NzVjOWNhcC0yMSwKKyAgICAtMHgxLjJkOTdjNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgLTB4MS5mMzMyMWQyMzRmMTM2M2QxODdkZDA5NTI4YjY3YjIxNXAtMjIsCisgICAgMHgxLjJkOTdjNnAyCisgIH0sCisgIHsgLy8gRW50cnkgODE0CisgICAgLTB4MS5mMzMyMWQyMzRmMTM2M2QxODdkZDA5NTI4YjY3YjIxNXAtMjIsCisgICAgLTB4MS4yZDk3YzZwMgorICB9LAorICB7IC8vIEVudHJ5IDgxNQorICAgIDB4MS45OWJjNWI5NjFiMWFjYWNhMThkOTcxZjY4YWU5OWRhOXAtMjcsCisgICAgMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODE2CisgICAgMHgxLjk5YmM1Yjk2MWIxYWNhY2ExOGQ5NzFmNjhhZTk5ZGE5cC0yNywKKyAgICAtMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgMHgxLjZhMDlkN2E2YjU3MmMyYzgyNGQxMzdkMDQwNWQ4MTg4cC0xLAorICAgIDB4MS41ZmRiYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDgxOAorICAgIDB4MS42YTA5ZDdhNmI1NzJjMmM4MjRkMTM3ZDA0MDVkODE4OHAtMSwKKyAgICAtMHgxLjVmZGJiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgMHgxLjZhMDllMmY3MDRlZWNiMTgxZTNmNWVjZTliZTBjYTBmcC0xLAorICAgIDB4MS41ZmRiYmVwMgorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS42YTA5ZTJmNzA0ZWVjYjE4MWUzZjVlY2U5YmUwY2EwZnAtMSwKKyAgICAtMHgxLjVmZGJiZXAyCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgMHgxLjZhMDllZTQ3NTQxMDUwZWY1OWVjNGJmY2U5MzVjYzFhcC0xLAorICAgIDB4MS41ZmRiYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIDB4MS42YTA5ZWU0NzU0MTA1MGVmNTllYzRiZmNlOTM1Y2MxYXAtMSwKKyAgICAtMHgxLjVmZGJjMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODIzCisgICAgMHgxLjZhMDlmYzliZWJhYmEyMDhjODFlYzBiMWNkMzA3NTg5cC0xLAorICAgIDB4MS5jNDYzYThwMgorICB9LAorICB7IC8vIEVudHJ5IDgyNAorICAgIDB4MS42YTA5ZmM5YmViYWJhMjA4YzgxZWMwYjFjZDMwNzU4OXAtMSwKKyAgICAtMHgxLmM0NjNhOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODI1CisgICAgMHgxLjZhMDlmMTRiOWNmY2MwZjYyMjdkMzg2Y2MzNzA0YTA1cC0xLAorICAgIDB4MS5jNDYzYWFwMgorICB9LAorICB7IC8vIEVudHJ5IDgyNgorICAgIDB4MS42YTA5ZjE0YjljZmNjMGY2MjI3ZDM4NmNjMzcwNGEwNXAtMSwKKyAgICAtMHgxLmM0NjNhYXAyCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgMHgxLjZhMDllNWZiNGRmMzVkNjcyOWY0NzJkYTM0MTNlNDA0cC0xLAorICAgIDB4MS5jNDYzYWNwMgorICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIDB4MS42YTA5ZTVmYjRkZjM1ZDY3MjlmNDcyZGEzNDEzZTQwNHAtMSwKKyAgICAtMHgxLmM0NjNhY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODI5CisgICAgMHgxLjRhYTljMmYyYzFkZWZiODcyOGYwZDJkYTEyMTdhYWUxcC0yMSwKKyAgICAweDEuZjZhN2EwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAweDEuNGFhOWMyZjJjMWRlZmI4NzI4ZjBkMmRhMTIxN2FhZTFwLTIxLAorICAgIC0weDEuZjZhN2EwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAweDEuMmFhNzBiY2IwN2Q2ZDBmMzZiNzc3Y2IzODBhODQ1ZDlwLTIzLAorICAgIDB4MS5mNmE3YTJwMgorICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIDB4MS4yYWE3MGJjYjA3ZDZkMGYzNmI3NzdjYjM4MGE4NDVkOXAtMjMsCisgICAgLTB4MS5mNmE3YTJwMgorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIC0weDEuNmFhYzdhMWE3YzBjN2FmYzVmY2IyMzEzYTdlY2EyMjlwLTIyLAorICAgIDB4MS5mNmE3YTRwMgorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIC0weDEuNmFhYzdhMWE3YzBjN2FmYzVmY2IyMzEzYTdlY2EyMjlwLTIyLAorICAgIC0weDEuZjZhN2E0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzUKKyAgICAtMHgxLjZhMDljOGMxM2Y0OGI3YWFkODUxZjlkNjQ3NGJjYjMxcC0xLAorICAgIDB4MS4xNDc1Y2FwMworICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIC0weDEuNmEwOWM4YzEzZjQ4YjdhYWQ4NTFmOWQ2NDc0YmNiMzFwLTEsCisgICAgLTB4MS4xNDc1Y2FwMworICB9LAorICB7IC8vIEVudHJ5IDgzNworICAgIC0weDEuNmEwOWRmNjFkZWQ0OWQxZWU0ZmNhNGJhNjE0MGQxNzlwLTEsCisgICAgMHgxLjE0NzVjY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODM4CisgICAgLTB4MS42YTA5ZGY2MWRlZDQ5ZDFlZTRmY2E0YmE2MTQwZDE3OXAtMSwKKyAgICAtMHgxLjE0NzVjY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgLTB4MS42YTA5ZjYwMjdjZjY3OGIzOGZjODk5MmNkOTk5MDMwMnAtMSwKKyAgICAweDEuMTQ3NWNlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAtMHgxLjZhMDlmNjAyN2NmNjc4YjM4ZmM4OTkyY2Q5OTkwMzAycC0xLAorICAgIC0weDEuMTQ3NWNlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDEKKyAgICAtMHgxLmZmZmZmZmZmZmMxOTcyYzkwMmVmMzFjMzdjYjU0ODE3cC0xLAorICAgIDB4MS4yZDk3YzRwMworICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIC0weDEuZmZmZmZmZmZmYzE5NzJjOTAyZWYzMWMzN2NiNTQ4MTdwLTEsCisgICAgLTB4MS4yZDk3YzRwMworICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIC0weDEuZmZmZmZmZmZmZjBjYTRlNjI2M2QyN2EwMjA0Mzg5ZGZwLTEsCisgICAgMHgxLjJkOTdjNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODQ0CisgICAgLTB4MS5mZmZmZmZmZmZmMGNhNGU2MjYzZDI3YTAyMDQzODlkZnAtMSwKKyAgICAtMHgxLjJkOTdjNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkNzAzNDk4YzNiODI4ODU2MzkxNXAtMSwKKyAgICAweDEuMmQ5N2M4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQ3MDM0OThjM2I4Mjg4NTYzOTE1cC0xLAorICAgIC0weDEuMmQ5N2M4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDcKKyAgICAtMHgxLjZhMGEwYjgxNWZiMzdiMmQwMTU1MWUwN2NiMzAwOWQxcC0xLAorICAgIDB4MS40NmI5YzBwMworICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIC0weDEuNmEwYTBiODE1ZmIzN2IyZDAxNTUxZTA3Y2IzMDA5ZDFwLTEsCisgICAgLTB4MS40NmI5YzBwMworICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIC0weDEuNmEwOWY0ZTBjMmU5OGRlYjc4NjQyYjYwMzJhNzNkNDZwLTEsCisgICAgMHgxLjQ2YjljMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgLTB4MS42YTA5ZjRlMGMyZTk4ZGViNzg2NDJiNjAzMmE3M2Q0NnAtMSwKKyAgICAtMHgxLjQ2YjljMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgLTB4MS42YTA5ZGU0MDI0YjU5NmI1MGViMDZkNTYyZGI4Yzc3N3AtMSwKKyAgICAweDEuNDZiOWM0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAtMHgxLjZhMDlkZTQwMjRiNTk2YjUwZWIwNmQ1NjJkYjhjNzc3cC0xLAorICAgIC0weDEuNDZiOWM0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTMKKyAgICAtMHgxLjRkZGQzYmE5ZWRjZDg5OGI5OTQ2ZmRkMjBhZjIyYTY4cC0yMCwKKyAgICAweDEuNWZkYmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAtMHgxLjRkZGQzYmE5ZWRjZDg5OGI5OTQ2ZmRkMjBhZjIyYTY4cC0yMCwKKyAgICAtMHgxLjVmZGJiY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODU1CisgICAgLTB4MS4zNzc0ZWVhN2I4YWJlOGZhOGMzODAxNDJiOTdhZjRiNnAtMjIsCisgICAgMHgxLjVmZGJiZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgLTB4MS4zNzc0ZWVhN2I4YWJlOGZhOGMzODAxNDJiOTdhZjRiNnAtMjIsCisgICAgLTB4MS41ZmRiYmVwMworICB9LAorICB7IC8vIEVudHJ5IDg1NworICAgIDB4MS42NDQ1ODhhYzIzOGFlNDkzZmEzMjQzNWJhNTEzMjliZnAtMjEsCisgICAgMHgxLjVmZGJjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODU4CisgICAgMHgxLjY0NDU4OGFjMjM4YWU0OTNmYTMyNDM1YmE1MTMyOWJmcC0yMSwKKyAgICAtMHgxLjVmZGJjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgMHgxLjZhMDliOWRiYzg4MWM0NThlNzQ3OTA4Y2FmMmFhNWUxcC0xLAorICAgIDB4MS43OGZkYjZwMworICB9LAorICB7IC8vIEVudHJ5IDg2MAorICAgIDB4MS42YTA5YjlkYmM4ODFjNDU4ZTc0NzkwOGNhZjJhYTVlMXAtMSwKKyAgICAtMHgxLjc4ZmRiNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgMHgxLjZhMDlkMDdjNjhmYzAxMGZmY2ZkM2IxOWYxZWU0ZjQ0cC0xLAorICAgIDB4MS43OGZkYjhwMworICB9LAorICB7IC8vIEVudHJ5IDg2MgorICAgIDB4MS42YTA5ZDA3YzY4ZmMwMTBmZmNmZDNiMTlmMWVlNGY0NHAtMSwKKyAgICAtMHgxLjc4ZmRiOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgMHgxLjZhMDllNzFkMDgwYzMzZjY5NjRhMDdkMWEwYmY1OTgwcC0xLAorICAgIDB4MS43OGZkYmFwMworICB9LAorICB7IC8vIEVudHJ5IDg2NAorICAgIDB4MS42YTA5ZTcxZDA4MGMzM2Y2OTY0YTA3ZDFhMGJmNTk4MHAtMSwKKyAgICAtMHgxLjc4ZmRiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgMHgxLjZhMGEwM2M2Mzc0MmQ2MjgwMmQxNjNkNWNmYjNiN2Q1cC0xLAorICAgIDB4MS5hYjQxYWVwMworICB9LAorICB7IC8vIEVudHJ5IDg2NgorICAgIDB4MS42YTBhMDNjNjM3NDJkNjI4MDJkMTYzZDVjZmIzYjdkNXAtMSwKKyAgICAtMHgxLmFiNDFhZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODY3CisgICAgMHgxLjZhMDllZDI1OTlmZDM2NGM5NzY2MGNjYTY2NTJjMGEzcC0xLAorICAgIDB4MS5hYjQxYjBwMworICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIDB4MS42YTA5ZWQyNTk5ZmQzNjRjOTc2NjBjY2E2NjUyYzBhM3AtMSwKKyAgICAtMHgxLmFiNDFiMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODY5CisgICAgMHgxLjZhMDlkNjg0ZmI0ZDhjODQwNjYwZDZiNDJlYzgzMDM5cC0xLAorICAgIDB4MS5hYjQxYjJwMworICB9LAorICB7IC8vIEVudHJ5IDg3MAorICAgIDB4MS42YTA5ZDY4NGZiNGQ4Yzg0MDY2MGQ2YjQyZWM4MzAzOXAtMSwKKyAgICAtMHgxLmFiNDFiMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODcxCisgICAgMHgxLmY2NjU5NWRhN2ExYWUzMDhkMjZhMThkZTRjMmVkM2EzcC0yMCwKKyAgICAweDEuYzQ2M2E4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzIKKyAgICAweDEuZjY2NTk1ZGE3YTFhZTMwOGQyNmExOGRlNGMyZWQzYTNwLTIwLAorICAgIC0weDEuYzQ2M2E4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAweDEuZWNjYjJiYjRmNjZlYTg2MTI0MWZhMDljYTlkOGEwMzRwLTIxLAorICAgIDB4MS5jNDYzYWFwMworICB9LAorICB7IC8vIEVudHJ5IDg3NAorICAgIDB4MS5lY2NiMmJiNGY2NmVhODYxMjQxZmEwOWNhOWQ4YTAzNHAtMjEsCisgICAgLTB4MS5jNDYzYWFwMworICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC0weDEuMzM0ZDQ0YjA5NDU0MDdiMTE4YjM2MWFiNzgxNzFmNjdwLTI1LAorICAgIDB4MS5jNDYzYWNwMworICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC0weDEuMzM0ZDQ0YjA5NDU0MDdiMTE4YjM2MWFiNzgxNzFmNjdwLTI1LAorICAgIC0weDEuYzQ2M2FjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzcKKyAgICAtMHgxLjZhMDljMTk2ZjI4NjdjYzkxNmFlMmI3ZTZjOWQ5OWMxcC0xLAorICAgIDB4MS5kZDg1YTRwMworICB9LAorICB7IC8vIEVudHJ5IDg3OAorICAgIC0weDEuNmEwOWMxOTZmMjg2N2NjOTE2YWUyYjdlNmM5ZDk5YzFwLTEsCisgICAgLTB4MS5kZDg1YTRwMworICB9LAorICB7IC8vIEVudHJ5IDg3OQorICAgIC0weDEuNmEwOWQ4Mzc5Mjg1MDZmN2NmZjc2ZjA5NGI0ZTAzNzdwLTEsCisgICAgMHgxLmRkODVhNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgLTB4MS42YTA5ZDgzNzkyODUwNmY3Y2ZmNzZmMDk0YjRlMDM3N3AtMSwKKyAgICAtMHgxLmRkODVhNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODgxCisgICAgLTB4MS42YTA5ZWVkODMxMTk4NzRlNTFhZTRiYjhhZWRkYzFmMnAtMSwKKyAgICAweDEuZGQ4NWE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODIKKyAgICAtMHgxLjZhMDllZWQ4MzExOTg3NGU1MWFlNGJiOGFlZGRjMWYycC0xLAorICAgIC0weDEuZGQ4NWE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODMKKyAgICAtMHgxLmZmZmZmZmZmZmU1NGU1ZTRkMzJiMzQ1MzE2NjA2MGIzcC0xLAorICAgIDB4MS5mNmE3YTBwMworICB9LAorICB7IC8vIEVudHJ5IDg4NAorICAgIC0weDEuZmZmZmZmZmZmZTU0ZTVlNGQzMmIzNDUzMTY2MDYwYjNwLTEsCisgICAgLTB4MS5mNmE3YTBwMworICB9LAorICB7IC8vIEVudHJ5IDg4NQorICAgIC0weDEuZmZmZmZmZmZmZmVhMzk2YWI4YWVlNTA5MzkyYzc1NWRwLTEsCisgICAgMHgxLmY2YTdhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgLTB4MS5mZmZmZmZmZmZmZWEzOTZhYjhhZWU1MDkzOTJjNzU1ZHAtMSwKKyAgICAtMHgxLmY2YTdhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODg3CisgICAgLTB4MS5mZmZmZmZmZmZmN2Y4Y2YwOWUzMmQ2MzA5YmVhODVjYXAtMSwKKyAgICAweDEuZjZhN2E0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICAtMHgxLmZmZmZmZmZmZmY3ZjhjZjA5ZTMyZDYzMDliZWE4NWNhcC0xLAorICAgIC0weDEuZjZhN2E0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODkKKyAgICAtMHgxLjZhMGEyOTRjNDVlYzc0N2E0NzcxMWE0OTk0ZDJjNWU0cC0xLAorICAgIDB4MS4wN2U0Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDg5MAorICAgIC0weDEuNmEwYTI5NGM0NWVjNzQ3YTQ3NzExYTQ5OTRkMmM1ZTRwLTEsCisgICAgLTB4MS4wN2U0Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDg5MQorICAgIC0weDEuNmEwOWZjMGIwZWE3ZWQ5ZmI1ZGQ1MGEwYzhhZjE5Y2JwLTEsCisgICAgMHgxLjA3ZTRjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgLTB4MS42YTA5ZmMwYjBlYTdlZDlmYjVkZDUwYTBjOGFmMTljYnAtMSwKKyAgICAtMHgxLjA3ZTRjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgLTB4MS42YTA5Y2VjOWQxYmIzZWQ0ZjgxMGM5Zjk3ODZkNjEwZXAtMSwKKyAgICAweDEuMDdlNGQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAtMHgxLjZhMDljZWM5ZDFiYjNlZDRmODEwYzlmOTc4NmQ2MTBlcC0xLAorICAgIC0weDEuMDdlNGQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTUKKyAgICAtMHgxLjRmNzZmODA1ODJjNzNmYzBjYzA5MDNlZDhjYTdkNmIzcC0xOSwKKyAgICAweDEuMTQ3NWNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAtMHgxLjRmNzZmODA1ODJjNzNmYzBjYzA5MDNlZDhjYTdkNmIzcC0xOSwKKyAgICAtMHgxLjE0NzVjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgODk3CisgICAgLTB4MS4zZGRiZTAxNjExMDhiNjkwZWVkNzBhN2Y1OWRlNzUxY3AtMjEsCisgICAgMHgxLjE0NzVjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgLTB4MS4zZGRiZTAxNjExMDhiNjkwZWVkNzBhN2Y1OWRlNzUxY3AtMjEsCisgICAgLTB4MS4xNDc1Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDg5OQorICAgIDB4MS42MTEyMGZmNGY3MDE4MGIwZDU1YzNhZTBmNjk1ODVjYXAtMjAsCisgICAgMHgxLjE0NzVjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTAwCisgICAgMHgxLjYxMTIwZmY0ZjcwMTgwYjBkNTVjM2FlMGY2OTU4NWNhcC0yMCwKKyAgICAtMHgxLjE0NzVjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTAxCisgICAgMHgxLjZhMDliMmIxN2I3NDEwNTBhNmNmZDY0YjgxYzc2NDg1cC0xLAorICAgIDB4MS4yMTA2YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDkwMgorICAgIDB4MS42YTA5YjJiMTdiNzQxMDUwYTZjZmQ2NGI4MWM3NjQ4NXAtMSwKKyAgICAtMHgxLjIxMDZjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTAzCisgICAgMHgxLjZhMDlkZmYyYmJlM2M5NjE2YTM1NzZjNTVlNzczMjA3cC0xLAorICAgIDB4MS4yMTA2Y2FwNAorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIDB4MS42YTA5ZGZmMmJiZTNjOTYxNmEzNTc2YzU1ZTc3MzIwN3AtMSwKKyAgICAtMHgxLjIxMDZjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTA1CisgICAgMHgxLjZhMGEwZDMzZjZhYjVhZjI2MmFkNmFkMThhYzFjZTlmcC0xLAorICAgIDB4MS4yMTA2Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkwNgorICAgIDB4MS42YTBhMGQzM2Y2YWI1YWYyNjJhZDZhZDE4YWMxY2U5ZnAtMSwKKyAgICAtMHgxLjIxMDZjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTA3CisgICAgMHgxLmZmZmZmZmZmZjA2NWNiMjQwYmNiZmRmZjQ5NzdkZGY4cC0xLAorICAgIDB4MS4yZDk3YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkwOAorICAgIDB4MS5mZmZmZmZmZmYwNjVjYjI0MGJjYmZkZmY0OTc3ZGRmOHAtMSwKKyAgICAtMHgxLjJkOTdjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgMHgxLmZmZmZmZmZmZmMzMjkzOTg5OGY1ODVkNjk0OGNmMmQxcC0xLAorICAgIDB4MS4yZDk3YzZwNAorICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIDB4MS5mZmZmZmZmZmZjMzI5Mzk4OThmNTg1ZDY5NDhjZjJkMXAtMSwKKyAgICAtMHgxLjJkOTdjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTExCisgICAgMHgxLmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTI3ZThkNmQxcC0xLAorICAgIDB4MS4yZDk3YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIDB4MS5mZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGEyN2U4ZDZkMXAtMSwKKyAgICAtMHgxLjJkOTdjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTEzCisgICAgMHgxLjZhMGEzODMxYjgxZDk0OTY2YWQ4ZGY0ZDM3ODgyNGY5cC0xLAorICAgIDB4MS4zYTI4YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkxNAorICAgIDB4MS42YTBhMzgzMWI4MWQ5NDk2NmFkOGRmNGQzNzg4MjRmOXAtMSwKKyAgICAtMHgxLjNhMjhjMnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE1CisgICAgMHgxLjZhMGEwYWYwODJiNWJjYTdmNTU2OWY0ZGE2ODgzZjY0cC0xLAorICAgIDB4MS4zYTI4YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIDB4MS42YTBhMGFmMDgyYjViY2E3ZjU1NjlmNGRhNjg4M2Y2NHAtMSwKKyAgICAtMHgxLjNhMjhjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE3CisgICAgMHgxLjZhMDlkZGFmNDdhNWJjOGRiZGNiNmIxMzg0NDkwMmFlcC0xLAorICAgIDB4MS4zYTI4YzZwNAorICB9LAorICB7IC8vIEVudHJ5IDkxOAorICAgIDB4MS42YTA5ZGRhZjQ3YTViYzhkYmRjYjZiMTM4NDQ5MDJhZXAtMSwKKyAgICAtMHgxLjNhMjhjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgMHgxLmEzYmIyNTFkYzdlZmFhMWUyMTM3YmIzN2VkNjY1NGRicC0xOSwKKyAgICAweDEuNDZiOWMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjAKKyAgICAweDEuYTNiYjI1MWRjN2VmYWExZTIxMzdiYjM3ZWQ2NjU0ZGJwLTE5LAorICAgIC0weDEuNDZiOWMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjEKKyAgICAweDEuNDc3NjRhM2I5NTY2NzU4ZTViYWEyZTMwMjlmMWFiYmFwLTIwLAorICAgIDB4MS40NmI5YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIDB4MS40Nzc2NGEzYjk1NjY3NThlNWJhYTJlMzAyOWYxYWJiYXAtMjAsCisgICAgLTB4MS40NmI5YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkyMworICAgIC0weDEuNzExMzZiODhkNDYwODQ5MGYyZGRmZTkwMTAxMTEyYWVwLTIxLAorICAgIDB4MS40NmI5YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIC0weDEuNzExMzZiODhkNDYwODQ5MGYyZGRmZTkwMTAxMTEyYWVwLTIxLAorICAgIC0weDEuNDZiOWM0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjUKKyAgICAtMHgxLjZhMDlhM2NjMDNjNGJiYWQyMjIyZGZlNWJlMzE3NTY1cC0xLAorICAgIDB4MS41MzRhYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNgorICAgIC0weDEuNmEwOWEzY2MwM2M0YmJhZDIyMjJkZmU1YmUzMTc1NjVwLTEsCisgICAgLTB4MS41MzRhYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNworICAgIC0weDEuNmEwOWQxMGQ0NjExMjMzNWQwZTQzZDczODM4N2RlOGNwLTEsCisgICAgMHgxLjUzNGFjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI4CisgICAgLTB4MS42YTA5ZDEwZDQ2MTEyMzM1ZDBlNDNkNzM4Mzg3ZGU4Y3AtMSwKKyAgICAtMHgxLjUzNGFjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI5CisgICAgLTB4MS42YTA5ZmU0ZTgyYjU2MzdhNGE4ZjM5MmMzMzAxYmU5NHAtMSwKKyAgICAweDEuNTM0YWMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICAtMHgxLjZhMDlmZTRlODJiNTYzN2E0YThmMzkyYzMzMDFiZTk0cC0xLAorICAgIC0weDEuNTM0YWMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzEKKyAgICAtMHgxLmZmZmZmZmZmZjkzMjVhY2U1ZjY4MmJiYjhiMTIyYTA5cC0xLAorICAgIDB4MS41ZmRiYmNwNAorICB9LAorICB7IC8vIEVudHJ5IDkzMgorICAgIC0weDEuZmZmZmZmZmZmOTMyNWFjZTVmNjgyYmJiOGIxMjJhMDlwLTEsCisgICAgLTB4MS41ZmRiYmNwNAorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIC0weDEuZmZmZmZmZmZmZmExNDRhYmFlZDViNGFhYjg4MDYzNWRwLTEsCisgICAgMHgxLjVmZGJiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM0CisgICAgLTB4MS5mZmZmZmZmZmZmYTE0NGFiYWVkNWI0YWFiODgwNjM1ZHAtMSwKKyAgICAtMHgxLjVmZGJiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM1CisgICAgLTB4MS5mZmZmZmZmZmZlMTAyZTg4ZmU0NzYzMzFlMWRkZWZhZnAtMSwKKyAgICAweDEuNWZkYmMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzYKKyAgICAtMHgxLmZmZmZmZmZmZmUxMDJlODhmZTQ3NjMzMWUxZGRlZmFmcC0xLAorICAgIC0weDEuNWZkYmMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzcKKyAgICAtMHgxLjZhMGExOWQ1ZjYyNmEzNWVlMTEyYTM0NjM4ZTA3ODA4cC0xLAorICAgIDB4MS42YzZjYmFwNAorICB9LAorICB7IC8vIEVudHJ5IDkzOAorICAgIC0weDEuNmEwYTE5ZDVmNjI2YTM1ZWUxMTJhMzQ2MzhlMDc4MDhwLTEsCisgICAgLTB4MS42YzZjYmFwNAorICB9LAorICB7IC8vIEVudHJ5IDkzOQorICAgIC0weDEuNmEwOWVjOTRiY2YzNTIwOGNjZDAzMDY4NGQ1ZGRkOWNwLTEsCisgICAgMHgxLjZjNmNiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTQwCisgICAgLTB4MS42YTA5ZWM5NGJjZjM1MjA4Y2NkMDMwNjg0ZDVkZGQ5Y3AtMSwKKyAgICAtMHgxLjZjNmNiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTQxCisgICAgLTB4MS42YTA5YmY1MzdlMTdkOTAwNjU5YmQyZmEyNGMzYThjOHAtMSwKKyAgICAweDEuNmM2Y2JlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDIKKyAgICAtMHgxLjZhMDliZjUzN2UxN2Q5MDA2NTliZDJmYTI0YzNhOGM4cC0xLAorICAgIC0weDEuNmM2Y2JlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDMKKyAgICAtMHgxLmY3ZmY1MjM2MGM2MjJiM2Y5NGQ5YzcyNTBiZmFkOGQ0cC0xOSwKKyAgICAweDEuNzhmZGI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDQKKyAgICAtMHgxLmY3ZmY1MjM2MGM2MjJiM2Y5NGQ5YzcyNTBiZmFkOGQ0cC0xOSwKKyAgICAtMHgxLjc4ZmRiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ1CisgICAgLTB4MS5lZmZlYTQ2YzIxYmFhM2RhN2MyNjZjOTUzYTAxMzU5OHAtMjAsCisgICAgMHgxLjc4ZmRiOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ2CisgICAgLTB4MS5lZmZlYTQ2YzIxYmFhM2RhN2MyNjZjOTUzYTAxMzU5OHAtMjAsCisgICAgLTB4MS43OGZkYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk0NworICAgIDB4MS4wMDE1YjkzZGQwZjA5NWJlMWViMGE1Yjg3ZmU1ZTMzZXAtMjQsCisgICAgMHgxLjc4ZmRiYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ4CisgICAgMHgxLjAwMTViOTNkZDBmMDk1YmUxZWIwYTViODdmZTVlMzNlcC0yNCwKKyAgICAtMHgxLjc4ZmRiYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ5CisgICAgMHgxLjZhMDk5NGU2OGI3ODdlZTRmZDY4MzBiMjg4MjI1NzQ1cC0xLAorICAgIDB4MS44NThlYjRwNAorICB9LAorICB7IC8vIEVudHJ5IDk1MAorICAgIDB4MS42YTA5OTRlNjhiNzg3ZWU0ZmQ2ODMwYjI4ODIyNTc0NXAtMSwKKyAgICAtMHgxLjg1OGViNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTUxCisgICAgMHgxLjZhMDljMjI3Y2ZhMTk0ZDFmYTdhYjk5MDlkZTUwODNjcC0xLAorICAgIDB4MS44NThlYjZwNAorICB9LAorICB7IC8vIEVudHJ5IDk1MgorICAgIDB4MS42YTA5YzIyN2NmYTE5NGQxZmE3YWI5OTA5ZGU1MDgzY3AtMSwKKyAgICAtMHgxLjg1OGViNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTUzCisgICAgMHgxLjZhMDllZjY5MGUyMjgzYjY1ODUwOWVkMzE5NDgzODM5cC0xLAorICAgIDB4MS44NThlYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk1NAorICAgIDB4MS42YTA5ZWY2OTBlMjI4M2I2NTg1MDllZDMxOTQ4MzgzOXAtMSwKKyAgICAtMHgxLjg1OGViOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTU1CisgICAgLTB4MS5mMzk1N2JhZDcwZTA3NDFmMWQzZDY3NTEyNDZjZTIxYXAtMSwKKyAgICAweDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgOTU2CisgICAgLTB4MS5mMzk1N2JhZDcwZTA3NDFmMWQzZDY3NTEyNDZjZTIxYXAtMSwKKyAgICAtMHgxLmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDk1NworICAgIDB4MS44MmFhMzc1YjNjMzNlNzA2NjM3MzFiYWI0YmViNmVkM3AtNywKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgOTU4CisgICAgMHgxLjgyYWEzNzViM2MzM2U3MDY2MzczMWJhYjRiZWI2ZWQzcC03LAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgOTU5CisgICAgMHgxLjk0NWU2YzY5YTU4MGZiN2JiMjdkMDJjMGZlMGY4YTcxcC0yLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjAKKyAgICAweDEuOTQ1ZTZjNjlhNTgwZmI3YmIyN2QwMmMwZmUwZjhhNzFwLTIsCisgICAgLTB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjEKKyAgICAtMHgxLmIyZDI1NWYyYmQwNDIzZTI5ZTJhNTQ4NzI4ZjAzNGFicC0xLAorICAgIDB4MS5mZmZmZmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjIKKyAgICAtMHgxLmIyZDI1NWYyYmQwNDIzZTI5ZTJhNTQ4NzI4ZjAzNGFicC0xLAorICAgIC0weDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgOTYzCisgICAgMHgxLjRhYjY1MTFhN2QzOWFkM2NjODhkZWQxZTc3NWNhMTQ3cC0xLAorICAgIDB4MS5wMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjQKKyAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCisgICAgLTB4MS5wMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjUKKyAgICAtMHgxLmFkM2Q4MGM4MmY0NDUyYjA3NjU4MWRlMjQ2NDg0MzVicC0xLAorICAgIDB4MS4wMDAwMDJwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjYKKyAgICAtMHgxLmFkM2Q4MGM4MmY0NDUyYjA3NjU4MWRlMjQ2NDg0MzVicC0xLAorICAgIC0weDEuMDAwMDAycDI3CisgIH0sCisgIHsgLy8gRW50cnkgOTY3CisgICAgLTB4MS40NTMyYzM3MjFlZDQzNDNhZDg4ZWVhODkwOGE5ODhjYnAtMiwKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTY4CisgICAgLTB4MS40NTMyYzM3MjFlZDQzNDNhZDg4ZWVhODkwOGE5ODhjYnAtMiwKKyAgICAtMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDk2OQorICAgIDB4MS40MGFkNjdmM2YwYzlhMTQzOTYzYzljOTZkYmNlM2Y4YXAtMSwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTcwCisgICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTcxCisgICAgMHgxLmNhZjg1MzdjM2U0NDJjYThhY2E4NmMxNTY3NzM4NTNhcC0yLAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzIKKyAgICAweDEuY2FmODUzN2MzZTQ0MmNhOGFjYTg2YzE1Njc3Mzg1M2FwLTIsCisgICAgLTB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzMKKyAgICAtMHgxLjRlYWE2NjdiYTBiOTBkZmIwNWFiM2Q5YzI0N2NkZWU3cC0xLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDk3NAorICAgIC0weDEuNGVhYTY2N2JhMGI5MGRmYjA1YWIzZDljMjQ3Y2RlZTdwLTEsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDk3NQorICAgIC0weDEuNGVhYTYwNmRiMjRjMGM0NjZkYTFjMmRjN2JhYTJiMzJwLTEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTc2CisgICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTc3CisgICAgLTB4MS40ZWFhNTQ1MWQ1MzM0OGViODlkYzQ3OGQ0ZDExYmUwMnAtMSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzgKKyAgICAtMHgxLjRlYWE1NDUxZDUzMzQ4ZWI4OWRjNDc4ZDRkMTFiZTAycC0xLAorICAgIC0weDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzkKKyAgICAtMHgxLmFhMjI1ZTJlZjk2MjQxOTE1YjZmZDIxNzUyMjgxNGY1cC0yLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDk4MAorICAgIC0weDEuYWEyMjVlMmVmOTYyNDE5MTViNmZkMjE3NTIyODE0ZjVwLTIsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDk4MQorICAgIC0weDEuYWEyMjY1NzUzNzIwNGE0MzMyZjhhY2JiNzJiMGQ3NjhwLTIsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTgyCisgICAgLTB4MS5hYTIyNjU3NTM3MjA0YTQzMzJmOGFjYmI3MmIwZDc2OHAtMiwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTgzCisgICAgLTB4MS5hYTIyNzQwMWIyODg2MjBhMDM3MmQ1YTk2MDg0OTE1ZHAtMiwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODQKKyAgICAtMHgxLmFhMjI3NDAxYjI4ODYyMGEwMzcyZDVhOTYwODQ5MTVkcC0yLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODUKKyAgICAweDEuMTRhMjgyYWEyNWIxMWY2MzEyYTdhNjUxODBlN2MzZDRwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4NgorICAgIDB4MS4xNGEyODJhYTI1YjExZjYzMTJhN2E2NTE4MGU3YzNkNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4NworICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODgKKyAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk4OQorICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTAKKyAgICAweDEuMTRhMjdkOWRhNWQ0YWViY2U3MTQyOGY5MDU3YjA4ZGFwLTEsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDk5MQorICAgIDB4MS5jMTUyODBlMDczNzY5MmRkNDM2OTA4ZmRjOGU2ZTJlMXAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTkyCisgICAgMHgxLmMxNTI4MGUwNzM3NjkyZGQ0MzY5MDhmZGM4ZTZlMmUxcC0xLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTkzCisgICAgMHgxLmMxNTI4MDY1YjdkNGY5ZGI3YmJiM2I0NWY1ZjViMzBhcC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTQKKyAgICAweDEuYzE1MjgwNjViN2Q0ZjlkYjdiYmIzYjQ1ZjVmNWIzMGFwLTEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTUKKyAgICAweDEuYzE1MjdmNzA0MDkwNzZkYTBjMzIwNGRmMWUwOTlhODNwLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5NgorICAgIDB4MS5jMTUyN2Y3MDQwOTA3NmRhMGMzMjA0ZGYxZTA5OWE4M3AtMSwKKyAgICAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5NworICAgIDB4MS5mMDE1NGExNzg5ZDhkY2MxNzJjZDIwOTJkMDVmNjM5NHAtMSwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTk4CisgICAgMHgxLmYwMTU0YTE3ODlkOGRjYzE3MmNkMjA5MmQwNWY2Mzk0cC0xLAorICAgIC0weDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTk5CisgICAgMHgxLmYwMTU0OWY3ZGVlYTE3NGYwN2E2Nzk3MmJmMjlmMTQ4cC0xLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAwCisgICAgMHgxLmYwMTU0OWY3ZGVlYTE3NGYwN2E2Nzk3MmJmMjlmMTQ4cC0xLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMQorICAgIDB4MS5mMDE1NDliODg5MGMyZjY2MzM3Y2FjMTVhNzIzN2M4ZXAtMSwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMgorICAgIDB4MS5mMDE1NDliODg5MGMyZjY2MzM3Y2FjMTVhNzIzN2M4ZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMDMKKyAgICAweDEuZmMwMTU1MmZkMDY4ZWU4M2Y1Yjc0MmMwNTI0NWU4YjJwLTEsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMDQKKyAgICAweDEuZmMwMTU1MmZkMDY4ZWU4M2Y1Yjc0MmMwNTI0NWU4YjJwLTEsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA1CisgICAgMHgxLmZjMDE1NTI3ZDViZDM2ZGEzY2Q0MjUzYmVkZTMxOWNhcC0xLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA2CisgICAgMHgxLmZjMDE1NTI3ZDViZDM2ZGEzY2Q0MjUzYmVkZTMxOWNhcC0xLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNworICAgIDB4MS5mYzAxNTUxN2UwNjVhZmI2YmIxMDJjMThmNTkxOTgyMHAtMSwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAwOAorICAgIDB4MS5mYzAxNTUxN2UwNjVhZmI2YmIxMDJjMThmNTkxOTgyMHAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMDkKKyAgICAweDEuZmYwMDE1NTY5ZWY3ZTJiOTYzMDFlNmY3NTJjMDE5ZDRwLTEsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMTAKKyAgICAweDEuZmYwMDE1NTY5ZWY3ZTJiOTYzMDFlNmY3NTJjMDE5ZDRwLTEsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDExCisgICAgMHgxLmZmMDAxNTU0OWY0ZDM0Y2EwZTFlZTY1MDliYzQyYjcxcC0xLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEyCisgICAgMHgxLmZmMDAxNTU0OWY0ZDM0Y2EwZTFlZTY1MDliYzQyYjcxcC0xLAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMworICAgIDB4MS5mZjAwMTU1MDlmZjdkMmVlNjQxOGU5MjRmMGRlNWU5N3AtMSwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNAorICAgIDB4MS5mZjAwMTU1MDlmZjdkMmVlNjQxOGU5MjRmMGRlNWU5N3AtMSwKKyAgICAtMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMTUKKyAgICAweDEuZmZjMDAxNTVkMjc3ZDU4ZTcyN2NkOTVjNDNmNzU5Y2ZwLTEsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMTYKKyAgICAweDEuZmZjMDAxNTVkMjc3ZDU4ZTcyN2NkOTVjNDNmNzU5Y2ZwLTEsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE3CisgICAgMHgxLmZmYzAwMTU1NTI3ZDJiMTJhZWRiNDlkOTI5MjhkZjcycC0xLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE4CisgICAgMHgxLmZmYzAwMTU1NTI3ZDJiMTJhZWRiNDlkOTI5MjhkZjcycC0xLAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAxOQorICAgIDB4MS5mZmMwMDE1NDUyODdkNDliNTc5NzJhZjUxNDU2NjNhMHAtMSwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAyMAorICAgIDB4MS5mZmMwMDE1NDUyODdkNDliNTc5NzJhZjUxNDU2NjNhMHAtMSwKKyAgICAtMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMjEKKyAgICAweDEuZmZmMDAwMTU3NTQ5OWYzZDc5OTZlMmRhMTFjZGViMjRwLTEsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDEwMjIKKyAgICAweDEuZmZmMDAwMTU3NTQ5OWYzZDc5OTZlMmRhMTFjZGViMjRwLTEsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIzCisgICAgMHgxLmZmZjAwMDE1NTU0OWY0YTI4YTI4MGU5N2JjZDU5YzhhcC0xLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI0CisgICAgMHgxLmZmZjAwMDE1NTU0OWY0YTI4YTI4MGU5N2JjZDU5YzhhcC0xLAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNQorICAgIDB4MS5mZmYwMDAxNTE1NGE5ZjBjYWU0YTYyMTUxNTAxY2QwYXAtMSwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNgorICAgIDB4MS5mZmYwMDAxNTE1NGE5ZjBjYWU0YTYyMTUxNTAxY2QwYXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMjcKKyAgICAweDEuZmZmZmZmZjAwMDAwMjAxNTU1NDRmZmY0OWZjYTM4ZTZwLTEsCisgICAgMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI4CisgICAgMHgxLmZmZmZmZmYwMDAwMDIwMTU1NTQ0ZmZmNDlmY2EzOGU2cC0xLAorICAgIC0weDEuZmZmZmZlcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDEwMjkKKyAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCisgICAgMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU1NTU0OWY0OWY0OWY3cC0xLAorICAgIC0weDEucC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEwMzEKKyAgICAweDEuZmZmZmZmZWZmZmZmYzAxNTU1MTVmZmY0YTE0OTZjMWNwLTEsCisgICAgMHgxLjAwMDAwMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMyCisgICAgMHgxLmZmZmZmZmVmZmZmZmMwMTU1NTE1ZmZmNGExNDk2YzFjcC0xLAorICAgIC0weDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEwMzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDdmZmZmZmMwMTU1NTVwLTEsCisgICAgMHgxLmZmZmZmZXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDA3ZmZmZmZjMDE1NTU1cC0xLAorICAgIC0weDEuZmZmZmZlcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDEwMzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCisgICAgMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDE1NTU1cC0xLAorICAgIC0weDEucC0yNworICB9LAorICB7IC8vIEVudHJ5IDEwMzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmJmZmZmZWZmZmZmZjAwMTU1NTVwLTEsCisgICAgMHgxLjAwMDAwMnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZiZmZmZmVmZmZmZmYwMDE1NTU1cC0xLAorICAgIC0weDEuMDAwMDAycC0yNworICB9LAorICB7IC8vIEVudHJ5IDEwMzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAxZmZmZmZmMDAwMTVwLTEsCisgICAgMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMWZmZmZmZjAwMDE1cC0xLAorICAgIC0weDEuZmZmZmZlcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDEwNDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDE1cC0xLAorICAgIC0weDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEwNDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZlZmZmZmZiZmZmZmZjMDAwMTVwLTEsCisgICAgMHgxLjAwMDAwMnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZWZmZmZmYmZmZmZmYzAwMDE1cC0xLAorICAgIC0weDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEwNDUKKyAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NgorICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNDcKKyAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNDkKKyAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNTEKKyAgICAtMHgxLjg4NzdhMjllM2Q3YjZkZWZjYjUyOGU4NmY0YzNlMDlhcC0xLAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA1MgorICAgIC0weDEuODg3N2EyOWUzZDdiNmRlZmNiNTI4ZTg2ZjRjM2UwOWFwLTEsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA1MworICAgIC0weDEuZmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDA4ZWVjZjU0YTFwLTEsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1NAorICAgIC0weDEuZmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDA4ZWVjZjU0YTFwLTEsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNTUKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlY2M0Y2RlM2EzMWU3ZDVhMDI2MTQycC0yNSwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU2CisgICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAweDEuMTRhMjdkOWRhNWQ0YWViY2U3MTQyOGY5MDU3YjA4ZGFwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1OAorICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1OQorICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYwCisgICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYxCisgICAgMHgxLjE0YTI4MmFhMjViMTFmNjMxMmE3YTY1MTgwZTdjM2Q0cC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYyCisgICAgMHgxLjE0YTI4MmFhMjViMTFmNjMxMmE3YTY1MTgwZTdjM2Q0cC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MworICAgIDB4MS42YTA5ZTVlMzMzNTk4M2U1YWM5MmU3MzNlM2YyNGI0MnAtMSwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NAorICAgIDB4MS42YTA5ZTVlMzMzNTk4M2U1YWM5MmU3MzNlM2YyNGI0MnAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA2NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwNzcKKyAgICAweDEucDAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwNzgKKyAgICAweDEucDAsCisgICAgLTAuMGYKKyAgfSwKK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvY29zaF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvY29zaF9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE4ZmU4MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9jb3NoX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDI5MzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19jb3NoX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLmY5MjI1ZjdlMzE5M2M4MDE1NmUyOTM3OGMzNGIyM2QzcDgzMSwKKyAgICAtMHgxLjIwYjA2NTlkOGE3ZTFwOQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuZjkyMjVmN2UzMTkzYzgwMTU2ZTI5Mzc4YzM0YjIzZDNwODMxLAorICAgIDB4MS4yMGIwNjU5ZDhhN2UxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLmUxMjhkM2E5OWM0YjI4MjE2NTExYTdhZDk4ZDEwNmYwcDkxMSwKKyAgICAtMHgxLjNjNjQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLmUxMjhkM2E5OWM0YjI4MjE2NTExYTdhZDk4ZDEwNmYwcDkxMSwKKyAgICAweDEuM2M2NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuZjVmNjJkNDQ0ZjI0YzNiZWU4YWViNzVhNDEzYjgxMDFwOTQxLAorICAgIC0weDEuNDZjZjFhNGU4ZWZmOHA5CisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS5mNWY2MmQ0NDRmMjRjM2JlZThhZWI3NWE0MTNiODEwMXA5NDEsCisgICAgMHgxLjQ2Y2YxYTRlOGVmZjhwOQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuZmQwZDI3ZjRjZmU5ODgwMWQxNWZhMmQ0OGU1YTU0YzBwOTUyLAorICAgIC0weDEuNGFhMGQ5NjcxOWZjNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5mZDBkMjdmNGNmZTk4ODAxZDE1ZmEyZDQ4ZTVhNTRjMHA5NTIsCisgICAgMHgxLjRhYTBkOTY3MTlmYzZwOQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuZWIzNGYwYTkyZWU3MjgwMTI4YzExNGYwN2QzNTU3NzZwOTU4LAorICAgIC0weDEuNGNiMDllNjVlYjkzMHA5CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5lYjM0ZjBhOTJlZTcyODAxMjhjMTE0ZjA3ZDM1NTc3NnA5NTgsCisgICAgMHgxLjRjYjA5ZTY1ZWI5MzBwOQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLmQyMTA4ZTlhYTFiMTI0MTY4OTYwYTY3ZjFjYjI4YjA3cDk2MCwKKyAgICAtMHgxLjRkNWI1NmQ1YjU1YWNwOQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmQyMTA4ZTlhYTFiMTI0MTY4OTYwYTY3ZjFjYjI4YjA3cDk2MCwKKyAgICAweDEuNGQ1YjU2ZDViNTVhY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZjY4ZDdjZjMwZTAxMjNjMjE2NGMxMzY4ZDIxM2Y5YjVwOTcwLAorICAgIC0weDEuNTBkYzM3MzlkZGU4ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuZjY4ZDdjZjMwZTAxMjNjMjE2NGMxMzY4ZDIxM2Y5YjVwOTcwLAorICAgIDB4MS41MGRjMzczOWRkZThlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5mZDc5OTQzMDQ0M2YwODAwZWYyZmNmMmNkOWRhOTY5N3A5NzUsCisgICAgLTB4MS41Mjk5OTRiYjE1Nzk1cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5mZDc5OTQzMDQ0M2YwODAwZWYyZmNmMmNkOWRhOTY5N3A5NzUsCisgICAgMHgxLjUyOTk5NGJiMTU3OTVwOQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLmU3YjM2ZWIxZjFlNjk4MDE3ZDkwNWM5MWUyNWRmNjE2cDEwMDUsCisgICAgLTB4MS41Y2Y5YWNlMjdkMTIwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5lN2IzNmViMWYxZTY5ODAxN2Q5MDVjOTFlMjVkZjYxNnAxMDA1LAorICAgIDB4MS41Y2Y5YWNlMjdkMTIwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5mM2FlNmU2YWQ2Y2YzM2Y5NTJiOGQ3ZDI2YWJjZDk0NnAxMDEzLAorICAgIC0weDEuNWZjMjkwN2JiZmI1M3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZjNhZTZlNmFkNmNmMzNmOTUyYjhkN2QyNmFiY2Q5NDZwMTAxMywKKyAgICAweDEuNWZjMjkwN2JiZmI1M3A5CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuZmZmZmZmZmZmZWIyYTFiMGUyNjNhYzY4MDc2ZWQ0ZTBwMTAyMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWFwOQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLmZmZmZmZmZmZmViMmExYjBlMjYzYWM2ODA3NmVkNGUwcDEwMjIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWFwOQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjAwMDAwNGEyNGU1NThjMDJhOTQ3MGJkOGQ0Zjg2OWEzcDAsCisgICAgLTB4MS44NWFjZmI2Y2YwOTkycC0xMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjAwMDAwNGEyNGU1NThjMDJhOTQ3MGJkOGQ0Zjg2OWEzcDAsCisgICAgMHgxLjg1YWNmYjZjZjA5OTJwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucDAsCisgICAgLTB4MS45cC0xMDY5CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEucDAsCisgICAgMHgxLjlwLTEwNjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS4xNGMxMjhiMWE3YzJiNjlmNTg0YzQyZTFmNWQyNGU0M3AwLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjE0YzEyOGIxYTdjMmI2OWY1ODRjNDJlMWY1ZDI0ZTQzcDAsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS41ODA0ODU5OTNjZjUzODAwMDdiNmYzZGZiMzQyNjc5NXAxLAorICAgIC0weDEuYTUyZjJmZmYyNjY1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuNTgwNDg1OTkzY2Y1MzgwMDA3YjZmM2RmYjM0MjY3OTVwMSwKKyAgICAweDEuYTUyZjJmZmYyNjY1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuNzg2Y2Y1NjU1ZmYyY2Y5ZjNlMmY5MTAxM2YzZjhjMzFwOSwKKyAgICAtMHgxLmQ0NDlmNmI5MmZiNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjc4NmNmNTY1NWZmMmNmOWYzZTJmOTEwMTNmM2Y4YzMxcDksCisgICAgMHgxLmQ0NDlmNmI5MmZiNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjA3MmYyZjg5ZGRjMmY3YTZkZDI0MjBmNGZkZTJjMjQ0cDAsCisgICAgLTB4MS5lNDExYWMxN2M2MTZkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuMDcyZjJmODlkZGMyZjdhNmRkMjQyMGY0ZmRlMmMyNDRwMCwKKyAgICAweDEuZTQxMWFjMTdjNjE2ZHAtMworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLjAwMDAwMDAwMDAyMDAwMDAwMDAwMDBhYWFhYWFhYWFhcDAsCisgICAgMHgxLjBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMDAwMDAwMDAwMDIwMDAwMDAwMDAwMGFhYWFhYWFhYWFwMCwKKyAgICAtMHgxLjBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwYWFhYWFwMCwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDBhYWFhYXAwLAorICAgIC0weDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS45NWU1NGM1ZGQ0MjE3N2Y1M2Y0ZDUyMTlkZjExY2EzYnAxODMsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjk1ZTU0YzVkZDQyMTc3ZjUzZjRkNTIxOWRmMTFjYTNicDE4MywKKyAgICAtMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDIwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00MQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTM1MgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjc0OWVhYTkzZjRlOThmZmVjZDQ0ZWFlMDNkMGExZDVicDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS43NDllYWE5M2Y0ZTk4ZmZlY2Q0NGVhZTAzZDBhMWQ1YnAxMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwMworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjQxYzdhODgxNGM3ODY4M2NkYmMxNjU1OTdjYTYxZDIzcDM2OCwKKyAgICAweDEuMDAwMDAwMDAwMDAwN3A4CisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuNDFjN2E4ODE0Yzc4NjgzY2RiYzE2NTU5N2NhNjFkMjNwMzY4LAorICAgIC0weDEuMDAwMDAwMDAwMDAwN3A4CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMTEwYWFhYWFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAxMXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAxMTBhYWFhYXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAxMXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS44YjA3NTUxZDlmNjdmN2ZkYzBmZjY3YmY5MmE5NjJmZHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMTAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS44YjA3NTUxZDlmNjdmN2ZkYzBmZjY3YmY5MmE5NjJmZHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDEwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuMWY0M2ZjYzU5NTJjMzdmZjA1MDZlYWExYjBjMjE2ZWVwNDUsCisgICAgMHgxLjAwMDAwMDAwMDYzNDVwNQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjFmNDNmY2M1OTUyYzM3ZmYwNTA2ZWFhMWIwYzIxNmVlcDQ1LAorICAgIC0weDEuMDAwMDAwMDAwNjM0NXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuOTRkYmRmYmI2NmJjNjUxZWU3NjU3MjExOWQ5YzFjNGNwNzM3LAorICAgIDB4MS4wMDAwMjAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS45NGRiZGZiYjY2YmM2NTFlZTc2NTcyMTE5ZDljMWM0Y3A3MzcsCisgICAgLTB4MS4wMDAwMjAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS4yMDNmYzY1YTAzNGQwN2ZmZGE4OTFmMGNlNTZhNjliNnA0NSwKKyAgICAweDEuMDAwNzBwNQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjIwM2ZjNjVhMDM0ZDA3ZmZkYTg5MWYwY2U1NmE2OWI2cDQ1LAorICAgIC0weDEuMDAwNzBwNQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDEwMDA4MDAwMDAwMGFhZDU1cDAsCisgICAgMHgxLjAwMXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAxMDAwODAwMDAwMDBhYWQ1NXAwLAorICAgIC0weDEuMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjc1ZTU0NDMyYzg1NTFmYWJlZWMzMjQ4MjAxZTZjMmNjcDEwLAorICAgIDB4MS4wMDFjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuNzVlNTQ0MzJjODU1MWZhYmVlYzMyNDgyMDFlNmMyY2NwMTAsCisgICAgLTB4MS4wMDFjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZTcwOGQ2ZjdhMzE5MjU4MDM0ZWUzYjIwNGQyNmNhOTJwMSwKKyAgICAweDEuMDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5lNzA4ZDZmN2EzMTkyNTgwMzRlZTNiMjA0ZDI2Y2E5MnAxLAorICAgIC0weDEuMDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS4wMDAwMjE2Mjg3Y2VjYzBkMGRjMmM1MzA0ZjUxM2RiMXAwLAorICAgIDB4MS4wNTdiMTc0ODBlYjZicC05CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuMDAwMDIxNjI4N2NlY2MwZDBkYzJjNTMwNGY1MTNkYjFwMCwKKyAgICAtMHgxLjA1N2IxNzQ4MGViNmJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS4wMDAwMDg2MzdiZGQ0ODAwMDFlOTVlZmQ4MDQ0NzQwNXAwLAorICAgIDB4MS4wNjI0ZGQ0MWQxZDA2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjAwMDAwODYzN2JkZDQ4MDAwMWU5NWVmZDgwNDQ3NDA1cDAsCisgICAgLTB4MS4wNjI0ZGQ0MWQxZDA2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmZlODdjNDYwYWRjMDg4MmZiZTg1MzE0ZGY0MThkMmI0cDEsCisgICAgMHgxLjA3YmQ2OWY3MjAxN2RwMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLmZlODdjNDYwYWRjMDg4MmZiZTg1MzE0ZGY0MThkMmI0cDEsCisgICAgLTB4MS4wN2JkNjlmNzIwMTdkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4wMDAwMDAwMDAwMjIwODAwMDAwMDAwYzEwNTYwcDAsCisgICAgMHgxLjA4MHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS4wMDAwMDAwMDAwMjIwODAwMDAwMDAwYzEwNTYwcDAsCisgICAgLTB4MS4wODBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuZjM5YTU5ZjI1MDQxNjgwMzkyM2ExYzFlMTUyOGQ3NGRwMTAsCisgICAgMHgxLjA5NjI1ODk2MjU4OTRwMworICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmYzOWE1OWYyNTA0MTY4MDM5MjNhMWMxZTE1MjhkNzRkcDEwLAorICAgIC0weDEuMDk2MjU4OTYyNTg5NHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuMDljNGZlMDA4ZWJiZjdmZWZmOWM1NTc0Mjk0NGM5NzlwNDcsCisgICAgMHgxLjBhNzdkNzhmNjNjNzdwNQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjA5YzRmZTAwOGViYmY3ZmVmZjljNTU3NDI5NDRjOTc5cDQ3LAorICAgIC0weDEuMGE3N2Q3OGY2M2M3N3A1CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuMjUwZTgzMGQxN2M1M2ZmZmYwZjBhN2IzN2MzMjc0YWVwMCwKKyAgICAweDEuMTA0NDExMDQ0MTEwNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLjI1MGU4MzBkMTdjNTNmZmZmMGYwYTdiMzdjMzI3NGFlcDAsCisgICAgLTB4MS4xMDQ0MTEwNDQxMTA0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMDAwMDAyNGZmNTI0ZWMwMjA2YmNlYmNiY2I4ZmQyZDhwMCwKKyAgICAweDEuMTM0M2I5NGMxMGI5MXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS4wMDAwMDI0ZmY1MjRlYzAyMDZiY2ViY2JjYjhmZDJkOHAwLAorICAgIC0weDEuMTM0M2I5NGMxMGI5MXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5hNGU0NjkzNDEzYjk5NzA3NTVjMTU2MzNhZjI1Zjk2YnAzOTksCisgICAgMHgxLjE1YzE4ZGU4Nzc1NjNwOAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmE0ZTQ2OTM0MTNiOTk3MDc1NWMxNTYzM2FmMjVmOTZicDM5OSwKKyAgICAtMHgxLjE1YzE4ZGU4Nzc1NjNwOAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLmE3YjBhNjNiNzcxNDg3ZmU3ZWEzZTRjNGM2YTU5ODZjcDAsCisgICAgMHgxLjE3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuYTdiMGE2M2I3NzE0ODdmZTdlYTNlNGM0YzZhNTk4NmNwMCwKKyAgICAtMHgxLjE3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuMjA0MGYyYTFhYjUyZjY1MTlhY2QwYTY4ZTQ0ZTI2NzJwMiwKKyAgICAweDEuMTdjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS4yMDQwZjJhMWFiNTJmNjUxOWFjZDBhNjhlNDRlMjY3MnAyLAorICAgIC0weDEuMTdjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5mZmZmZmZmZmZmZmY2OTFhZmRiZjg1MWY1ZWJlY2Y4ZnAyNCwKKyAgICAweDEuMjA1OTY2ZjJiNGYxMnA0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuZmZmZmZmZmZmZmZmNjkxYWZkYmY4NTFmNWViZWNmOGZwMjQsCisgICAgLTB4MS4yMDU5NjZmMmI0ZjEycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS43OTg0MmMxYmNmMDA5N2ZmN2ZiMmRkMTgyNzEzZTY3YXAyMDcsCisgICAgMHgxLjIxMjA0ODEyMDQ4MzFwNworICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjc5ODQyYzFiY2YwMDk3ZmY3ZmIyZGQxODI3MTNlNjdhcDIwNywKKyAgICAtMHgxLjIxMjA0ODEyMDQ4MzFwNworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjI5ZmJiODRiYTg4NzZiMzY4ZDhhOWRiNWMxZTE0NTRkcDAsCisgICAgMHgxLjIxNWMzMWRmYjA2YmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS4yOWZiYjg0YmE4ODc2YjM2OGQ4YTlkYjVjMWUxNDU0ZHAwLAorICAgIC0weDEuMjE1YzMxZGZiMDZiZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmVhYTUyMWVkZjFiYzI4MDE0NjAyMTkxY2U2MThjMDVmcDg0NSwKKyAgICAweDEuMjU4NmNhOWNmNDExYnA5CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZWFhNTIxZWRmMWJjMjgwMTQ2MDIxOTFjZTYxOGMwNWZwODQ1LAorICAgIC0weDEuMjU4NmNhOWNmNDExYnA5CisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuNmEwOWU2NjdmM2I4NzNlM2ZlM2E2NDYzMmUzODJjMjBwMjUsCisgICAgMHgxLjI1ZTRmN2IyNzM3ZjdwNAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjZhMDllNjY3ZjNiODczZTNmZTNhNjQ2MzJlMzgyYzIwcDI1LAorICAgIC0weDEuMjVlNGY3YjI3MzdmN3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuNTcyNjFkOTAyMjAxNzgwMDkwNTcxZmI1YmY3MGY2MThwMTIsCisgICAgMHgxLjI5Yjk4ZDJjYTc3YmZwMworICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjU3MjYxZDkwMjIwMTc4MDA5MDU3MWZiNWJmNzBmNjE4cDEyLAorICAgIC0weDEuMjliOThkMmNhNzdiZnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuYmZhODZiM2EwOGJhMDgwMDAzMzMxYjg0ZmE4MDliNzhwNSwKKyAgICAweDEuMmRlZTBmOTQ3NmVmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuYmZhODZiM2EwOGJhMDgwMDAzMzMxYjg0ZmE4MDliNzhwNSwKKyAgICAtMHgxLjJkZWUwZjk0NzZlZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5jYTJkMzBhZWU4YzgzN2Y5M2MwMTY0NjNjMjM0YmViMHAwLAorICAgIDB4MS4yZmFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5jYTJkMzBhZWU4YzgzN2Y5M2MwMTY0NjNjMjM0YmViMHAwLAorICAgIC0weDEuMmZhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZGM4NTFhNTU2ODZkNDgwMTJhZGQzYzAyYTU0Y2M0ZDlwODc1LAorICAgIDB4MS4yZmU4YmNkMTgzMjk5cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuZGM4NTFhNTU2ODZkNDgwMTJhZGQzYzAyYTU0Y2M0ZDlwODc1LAorICAgIC0weDEuMmZlOGJjZDE4MzI5OXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmZmMTJmNzI5NmIwNDA4MDE3ZWFhZjQ4ZmJmMjgwMzk5cDg3NywKKyAgICAweDEuMzBhMzI0ZDYwMzNiNXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZmMTJmNzI5NmIwNDA4MDE3ZWFhZjQ4ZmJmMjgwMzk5cDg3NywKKyAgICAtMHgxLjMwYTMyNGQ2MDMzYjVwOQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDAwYjgzOWY4NjNiM2U0YmNhZTcxYjU1MDcyY2E4MHAwLAorICAgIDB4MS4zMzFmMmFkYmFmOThkcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLjAwMDBiODM5Zjg2M2IzZTRiY2FlNzFiNTUwNzJjYTgwcDAsCisgICAgLTB4MS4zMzFmMmFkYmFmOThkcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmYzYTk4ODg0ZWJhNGJjMzI2NDdiN2FjM2M1NDA0Zjg1cDI2LAorICAgIDB4MS4zNjIzYzBjOWU5ZDVhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZjNhOTg4ODRlYmE0YmMzMjY0N2I3YWMzYzU0MDRmODVwMjYsCisgICAgLTB4MS4zNjIzYzBjOWU5ZDVhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuNzVhMDdjZmIxMDdjYTZiYTlkYmExZTJjMmNlZGQ2NTlwNDUzLAorICAgIDB4MS4zYjExMjA2MDA1NDI5cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuNzVhMDdjZmIxMDdjYTZiYTlkYmExZTJjMmNlZGQ2NTlwNDUzLAorICAgIC0weDEuM2IxMTIwNjAwNTQyOXA4CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmYxZWY5YzhhNGZkYWU4MDFiMTlmOGU0MmVmZjJjNGE4cDkyOSwKKyAgICAweDEuNDJhNTY1ZTQ1NmUwNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmYxZWY5YzhhNGZkYWU4MDFiMTlmOGU0MmVmZjJjNGE4cDkyOSwKKyAgICAtMHgxLjQyYTU2NWU0NTZlMDRwOQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5mNGVjNDQxOTRiNjQyODAxYTRhZmQ0YzUwNjMzZThhYXA5MzcsCisgICAgMHgxLjQ1NmJmMjNlMDI0MjhwOQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS5mNGVjNDQxOTRiNjQyODAxYTRhZmQ0YzUwNjMzZThhYXA5MzcsCisgICAgLTB4MS40NTZiZjIzZTAyNDI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuZWE5MWQ5NTMzYjM5NDgwMWJmM2QzZWM4Zjg4ZGU1NjhwOTM4LAorICAgIDB4MS40NWMxZmVlZjgwODZjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuZWE5MWQ5NTMzYjM5NDgwMWJmM2QzZWM4Zjg4ZGU1NjhwOTM4LAorICAgIC0weDEuNDVjMWZlZWY4MDg2Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjRkYmUyNzM3OTJiZGU3ZmM0NWZmNGY2ODdiZjgxZjk0cDYsCisgICAgMHgxLjQ3OHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjRkYmUyNzM3OTJiZGU3ZmM0NWZmNGY2ODdiZjgxZjk0cDYsCisgICAgLTB4MS40NzhwMgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5hMTczMmJlZmZiODFlODBmMDU5YmU1OWRmMDg4ZTBkY3AyLAorICAgIDB4MS40ODBwMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5hMTczMmJlZmZiODFlODBmMDU5YmU1OWRmMDg4ZTBkY3AyLAorICAgIC0weDEuNDgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuZjI5MmI3MDljNzBjOTAzOWFlYzJjOTc4ZDFkN2U3M2VwMCwKKyAgICAweDEuNDk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuZjI5MmI3MDljNzBjOTAzOWFlYzJjOTc4ZDFkN2U3M2VwMCwKKyAgICAtMHgxLjQ5NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmE2YzgzYzBmZDY0NTMyMDc5M2EwMTQ3MjVjM2Q2ZTJkcDIsCisgICAgMHgxLjQ5YTRkMjY5MzQ5ODBwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5hNmM4M2MwZmQ2NDUzMjA3OTNhMDE0NzI1YzNkNmUyZHAyLAorICAgIC0weDEuNDlhNGQyNjkzNDk4MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjE0ZmY4Y2U3ZWVkY2Y3ZmYwMGM4NWMyMjk5MGZkMGZlcDk1MSwKKyAgICAweDEuNDlmYTNiYzlmYTNiY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjE0ZmY4Y2U3ZWVkY2Y3ZmYwMGM4NWMyMjk5MGZkMGZlcDk1MSwKKyAgICAtMHgxLjQ5ZmEzYmM5ZmEzYmNwOQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mNmM2NjUxZGU3MGQ3MDRjNTU4MzcyNTA4MTFjODZkZHAwLAorICAgIDB4MS40YmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5mNmM2NjUxZGU3MGQ3MDRjNTU4MzcyNTA4MTFjODZkZHAwLAorICAgIC0weDEuNGJjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuYzE4YzU2MzAzZmU2NmZmZjlkOWI4YzQ3NjU1ZjEyYzBwMiwKKyAgICAweDEuNTE5NjVkMmI1OTgyNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmMxOGM1NjMwM2ZlNjZmZmY5ZDliOGM0NzY1NWYxMmMwcDIsCisgICAgLTB4MS41MTk2NWQyYjU5ODI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuZWVhYzNkOTEyYjFjZTgwMTAwZGYwNDJjZmIzM2MwNmVwNTksCisgICAgMHgxLjUxZmFmYjc4MjZmMjdwNQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5lZWFjM2Q5MTJiMWNlODAxMDBkZjA0MmNmYjMzYzA2ZXA1OSwKKyAgICAtMHgxLjUxZmFmYjc4MjZmMjdwNQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS45NTQ4ZTk2ODhmYjJlODAwYzQ2NmU3ZDg5MzMyOGY2OHA5OTEsCisgICAgMHgxLjU4MDdkYzc4N2E1ZDVwOQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS45NTQ4ZTk2ODhmYjJlODAwYzQ2NmU3ZDg5MzMyOGY2OHA5OTEsCisgICAgLTB4MS41ODA3ZGM3ODdhNWQ1cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuMDAwMDAzYTkzYmU3MmJmZmFlYjgyOWFkMjNmOTkwMWJwMCwKKyAgICAweDEuNWE1YzZhZjNjYmYzNXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuMDAwMDAzYTkzYmU3MmJmZmFlYjgyOWFkMjNmOTkwMWJwMCwKKyAgICAtMHgxLjVhNWM2YWYzY2JmMzVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLjhkMzViMTJjNDg0MDQ4MDAwMzRiZWU3M2M5OTgzMTZmcDE0LAorICAgIDB4MS41YWM0OTA4YTc1NGMxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuOGQzNWIxMmM0ODQwNDgwMDAzNGJlZTczYzk5ODMxNmZwMTQsCisgICAgLTB4MS41YWM0OTA4YTc1NGMxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuZjJhM2MyOWZjNmQ3MjNhNjNlMzQ5YmJjZDc4OTRhOGFwMTAwNywKKyAgICAweDEuNWRhZGY1ZDFlNDUyY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLmYyYTNjMjlmYzZkNzIzYTYzZTM0OWJiY2Q3ODk0YThhcDEwMDcsCisgICAgLTB4MS41ZGFkZjVkMWU0NTJjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuZWRjYjE0ODc5NjEzZTgwMTc2MDg3YzFhNzZkZWM5N2NwMTAwOCwKKyAgICAweDEuNWUwNTZlZDQwZTU2ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLmVkY2IxNDg3OTYxM2U4MDE3NjA4N2MxYTc2ZGVjOTdjcDEwMDgsCisgICAgLTB4MS41ZTA1NmVkNDBlNTZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuOTZmYWE4NzJhMDZhYTMwMDNmNTE1OGRlOWM1NzAzMDJwMTAyMywKKyAgICAweDEuNjMxZjg2YWMwNjExYnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLjk2ZmFhODcyYTA2YWEzMDAzZjUxNThkZTljNTcwMzAycDEwMjMsCisgICAgLTB4MS42MzFmODZhYzA2MTFicDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuYmY2NjhmYzZmNGY5ZDMxZjc1M2M0MDgyNjFiYjAyYjRwMTAyMywKKyAgICAweDEuNjMyYmE1OGVhZTA3MXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLmJmNjY4ZmM2ZjRmOWQzMWY3NTNjNDA4MjYxYmIwMmI0cDEwMjMsCisgICAgLTB4MS42MzJiYTU4ZWFlMDcxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuZmZmZmZmZmZiY2QzYWU1OTUzMDNlNzRhYmIzZmQ3NWRwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjc3MXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLmZmZmZmZmZmYmNkM2FlNTk1MzAzZTc0YWJiM2ZkNzVkcDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmNzcxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuZmZmZmZmZmZmMDkzYWU1OTRlZDc1MDhhMDI0Mjk0MzZwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLmZmZmZmZmZmZjA5M2FlNTk0ZWQ3NTA4YTAyNDI5NDM2cDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuZmZmZmZmZmZmNzEzYWU1OTRlYWZjMDgwYTQ4Mjg5ZjlwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg1YXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLmZmZmZmZmZmZjcxM2FlNTk0ZWFmYzA4MGE0ODI4OWY5cDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODVhcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMTM1MGE0MTMwMjNiZmZmZmZlMTQxNTZiMmFkMmEwYWFwMSwKKyAgICAweDEuNjY2NjY2NjY3OGRjOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjEzNTBhNDEzMDIzYmZmZmZmZTE0MTU2YjJhZDJhMGFhcDEsCisgICAgLTB4MS42NjY2NjY2Njc4ZGM5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuNDE1MmMxODYzYmE4MjgwMDAxY2JmNzg4ZTZhYTIzN2NwMCwKKyAgICAweDEuNjY2NjY2NjZhNmI3ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS40MTUyYzE4NjNiYTgyODAwMDFjYmY3ODhlNmFhMjM3Y3AwLAorICAgIC0weDEuNjY2NjY2NjZhNmI3ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5mZmZmZDQ3ZmI3MzViODAwNzQwNjkxMTc0YzdmNTgxM3AzMSwKKyAgICAweDEuNmRmYjUwMTMxZTY2ZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLmZmZmZkNDdmYjczNWI4MDA3NDA2OTExNzRjN2Y1ODEzcDMxLAorICAgIC0weDEuNmRmYjUwMTMxZTY2ZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjIzYWFhY2FmMzA0ZmJmZmZmZjg1ZjJlMDNmMTE3ODcycDMsCisgICAgMHgxLjczMzMzMzMzNWM4NGFwMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS4yM2FhYWNhZjMwNGZiZmZmZmY4NWYyZTAzZjExNzg3MnAzLAorICAgIC0weDEuNzMzMzMzMzM1Yzg0YXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLjAwMDAwMDAwMDA0N2Y0MDA4MDAwMDM1ZWUwMjNmZXAwLAorICAgIDB4MS43ZmVwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjAwMDAwMDAwMDA0N2Y0MDA4MDAwMDM1ZWUwMjNmZXAwLAorICAgIC0weDEuN2ZlcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5mMGUzZTViNmMxN2MwMmE3OTljMzA2ZGJjMWIxYThlY3A1NTUsCisgICAgMHgxLjgyMGQ5MmZjNGI0MmFwOAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS5mMGUzZTViNmMxN2MwMmE3OTljMzA2ZGJjMWIxYThlY3A1NTUsCisgICAgLTB4MS44MjBkOTJmYzRiNDJhcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuOWQ1NTU1NWFiOThmNDgxN2E5ZjkwYWNlZmNhMjM1MjNwMTQwLAorICAgIDB4MS44OGQ5ZWZmMjQzZWM4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuOWQ1NTU1NWFiOThmNDgxN2E5ZjkwYWNlZmNhMjM1MjNwMTQwLAorICAgIC0weDEuODhkOWVmZjI0M2VjOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjA0YzVmM2Q3NTA5MWU4MDEyNTU5ZmI4NzI4NWE5OWRlcDAsCisgICAgMHgxLjhhZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS4wNGM1ZjNkNzUwOTFlODAxMjU1OWZiODcyODVhOTlkZXAwLAorICAgIC0weDEuOGFlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjUwYTEyNWFkMzAwZTU4MDI3MzZhZDJmNjhkZTllZmRhcDAsCisgICAgMHgxLjhjNjMxOGM2MzE4YzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEuNTBhMTI1YWQzMDBlNTgwMjczNmFkMmY2OGRlOWVmZGFwMCwKKyAgICAtMHgxLjhjNjMxOGM2MzE4YzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuYTJjYzA5ZTJlN2RkNzgwMDA1YzU4OGJmMmViZDJkMjhwMzUsCisgICAgMHgxLjk3MjBjYzY2ZjFjYmJwNAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS5hMmNjMDllMmU3ZGQ3ODAwMDVjNTg4YmYyZWJkMmQyOHAzNSwKKyAgICAtMHgxLjk3MjBjYzY2ZjFjYmJwNAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS40OWVhNWIxNTU2NDY1MDAwMDFjYjNjN2ExNGQ0ZjY0MXAxLAorICAgIDB4MS45OTk5OTk5OWI4ZGI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuNDllYTViMTU1NjQ2NTAwMDAxY2IzYzdhMTRkNGY2NDFwMSwKKyAgICAtMHgxLjk5OTk5OTk5YjhkYjhwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS4wMTQ3ZjQwMjI0ZWE3N2ZmZmUzNWY2M2UwNjIwYzI4ZXAwLAorICAgIDB4MS45OTk5OTk5OWJiZTFicC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLjAxNDdmNDAyMjRlYTc3ZmZmZTM1ZjYzZTA2MjBjMjhlcDAsCisgICAgLTB4MS45OTk5OTk5OWJiZTFicC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjA1MjMxODRiMjYxODFmZmZmZTVhZDVmNjBhZjM5NjA3cDAsCisgICAgMHgxLjk5OTk5OTlhYjZlZWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDUyMzE4NGIyNjE4MWZmZmZlNWFkNWY2MGFmMzk2MDdwMCwKKyAgICAtMHgxLjk5OTk5OTlhYjZlZWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMDE0N2Y0MDIyNjk3NjgwMDAxYjNlMTNmMDA5YWY4MGJwMCwKKyAgICAweDEuOTk5OTk5OWFjNzg1N3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS4wMTQ3ZjQwMjI2OTc2ODAwMDFiM2UxM2YwMDlhZjgwYnAwLAorICAgIC0weDEuOTk5OTk5OWFjNzg1N3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS4wNTIzMTg0YjI5MDI5MDAwMDE5OWRlNzcyM2JjNzk5ZHAwLAorICAgIDB4MS45OTk5OTk5YjJhY2ExcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjA1MjMxODRiMjkwMjkwMDAwMTk5ZGU3NzIzYmM3OTlkcDAsCisgICAgLTB4MS45OTk5OTk5YjJhY2ExcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjAxNDdmNDAyMjgwZWQ4MDAwMWQ1OWVlYWMzNmJhNzNkcDAsCisgICAgMHgxLjk5OTk5OTliYjFjNzdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuMDE0N2Y0MDIyODBlZDgwMDAxZDU5ZWVhYzM2YmE3M2RwMCwKKyAgICAtMHgxLjk5OTk5OTliYjFjNzdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZmZmZmZmVkNDU3YTQyZTE2MTQ1NmNmODYyYjJwNTkwLAorICAgIDB4MS45YTU3ZDc2ZDE1MmZjcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuZmZmZmZmZmZmZmVkNDU3YTQyZTE2MTQ1NmNmODYyYjJwNTkwLAorICAgIC0weDEuOWE1N2Q3NmQxNTJmY3A4CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjYzNzU0MDFjNGZiYmY4MDAzMzg2ZWEzODFkM2ZlNjY5cDAsCisgICAgMHgxLmI1ZGFlZDc2YmI1ODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuNjM3NTQwMWM0ZmJiZjgwMDMzODZlYTM4MWQzZmU2NjlwMCwKKyAgICAtMHgxLmI1ZGFlZDc2YmI1ODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuZjMwNjA1ZThiNTQ1MTgwNTEwMWIzZWEwMzNiYWI0MWNwOCwKKyAgICAweDEuYjlmODllMjI2MjliNXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLmYzMDYwNWU4YjU0NTE4MDUxMDFiM2VhMDMzYmFiNDFjcDgsCisgICAgLTB4MS5iOWY4OWUyMjYyOWI1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZjMwOWViZjgyM2QxMDgwNTQxNTlmMjc4ZTE2YWQxMDlwOCwKKyAgICAweDEuYjlmOTFlMjI2MjliNXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgMHgxLmYzMDllYmY4MjNkMTA4MDU0MTU5ZjI3OGUxNmFkMTA5cDgsCisgICAgLTB4MS5iOWY5MWUyMjYyOWI1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuMTg1YzJiZjFkNTI3NmZmZmQ3M2ZkNTFhMzA3NzQzYTRwMCwKKyAgICAweDEuYmI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLjE4NWMyYmYxZDUyNzZmZmZkNzNmZDUxYTMwNzc0M2E0cDAsCisgICAgLTB4MS5iYjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuMDAwNWZmZDBjNzk3ZjdmZjE5NzBiZTE4MDc4NGE1NWNwMCwKKyAgICAweDEuYmI2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLjAwMDVmZmQwYzc5N2Y3ZmYxOTcwYmUxODA3ODRhNTVjcDAsCisgICAgLTB4MS5iYjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuOTY4ZWY2Y2VhZGU3ZjYwZWRjMmI0ZjAyNjVkYTZiYTRwNjQwLAorICAgIDB4MS5iY2M1MTdiNTUzYzkzcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuOTY4ZWY2Y2VhZGU3ZjYwZWRjMmI0ZjAyNjVkYTZiYTRwNjQwLAorICAgIC0weDEuYmNjNTE3YjU1M2M5M3A4CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjdiOTcyZTQ1Mzc4MzkzMGYyMDJhOGFhNDU1YmI2YzAxcDEsCisgICAgMHgxLmMwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLjdiOTcyZTQ1Mzc4MzkzMGYyMDJhOGFhNDU1YmI2YzAxcDEsCisgICAgLTB4MS5jMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS43ZWVjMTlkNGRjYmM3MzhiYWExYTExMTRkZWUwNDliOHAxLAorICAgIDB4MS5jMjhwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS43ZWVjMTlkNGRjYmM3MzhiYWExYTExMTRkZWUwNDliOHAxLAorICAgIC0weDEuYzI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuMDY1NjU2MWNiZTUzYzdmZmZkYjYwZTFiMDU0ZDhmMTZwMCwKKyAgICAweDEuYzZjMmU5MzQ2N2U4MHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS4wNjU2NTYxY2JlNTNjN2ZmZmRiNjBlMWIwNTRkOGYxNnAwLAorICAgIC0weDEuYzZjMmU5MzQ2N2U4MHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS4wNmEyYjNlN2I2MDNlODAwYzJmNDE2Nzc2MWIzMGJmOHAwLAorICAgIDB4MS5kMTRiZjgzYjQ4ZWMzcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjA2YTJiM2U3YjYwM2U4MDBjMmY0MTY3NzYxYjMwYmY4cDAsCisgICAgLTB4MS5kMTRiZjgzYjQ4ZWMzcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLmZiNGQ5ZGUwYWQ4NDU2NzdlYzZmYzQ2N2MyY2E5ZjlhcDE5LAorICAgIDB4MS5kMThwMworICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mYjRkOWRlMGFkODQ1Njc3ZWM2ZmM0NjdjMmNhOWY5YXAxOSwKKyAgICAtMHgxLmQxOHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjczYTZjZDhmMmY2ZDY4MWU3MGY5Njk1YTI1ZjM5YzM1cDAsCisgICAgMHgxLmQ2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS43M2E2Y2Q4ZjJmNmQ2ODFlNzBmOTY5NWEyNWYzOWMzNXAwLAorICAgIC0weDEuZDYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLjlmYjcxNThhMjI1ZTAwMDA0N2Y0NGY0N2VkYWQwNTQ1cDEsCisgICAgMHgxLmQ4YjVmMTQ0MzlmODdwMAorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS45ZmI3MTU4YTIyNWUwMDAwNDdmNDRmNDdlZGFkMDU0NXAxLAorICAgIC0weDEuZDhiNWYxNDQzOWY4N3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLmVhNDBiNGMzNjMwZDEwMDA2MTVkZTg3MzdlYzQ4NTdjcDksCisgICAgMHgxLmU1MzJhMTM0Yjk1OGNwMgorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5lYTQwYjRjMzYzMGQxMDAwNjE1ZGU4NzM3ZWM0ODU3Y3A5LAorICAgIC0weDEuZTUzMmExMzRiOTU4Y3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLmRiY2E5MjYzZjg0MGZjYTQ4NDUwZTQwOGZhMzZiNTZicDE3NywKKyAgICAweDEuZWZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLmRiY2E5MjYzZjg0MGZjYTQ4NDUwZTQwOGZhMzZiNTZicDE3NywKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS4wMWU0ZmFkM2I5OTNhYTFhNTJkMDM2NzkwYjM0ZTFjZXAwLAorICAgIDB4MS5mMWZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjAxZTRmYWQzYjk5M2FhMWE1MmQwMzY3OTBiMzRlMWNlcDAsCisgICAgLTB4MS5mMWZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjA3YTZiYjdlZGI1ZGU4MDAwNjY5YjEyMWE0OGY4MWU5cDAsCisgICAgMHgxLmYzN2E3YTc2Y2JjNzJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEuMDdhNmJiN2VkYjVkZTgwMDA2NjliMTIxYTQ4ZjgxZTlwMCwKKyAgICAtMHgxLmYzN2E3YTc2Y2JjNzJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuZDFlZThlNjJiMjA5OGZmZjdiMjI1MzI5NzNiNGNjcDEsCisgICAgMHgxLmY3M2EyOWI4ZmNjMjJwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5kMWVlOGU2MmIyMDk4ZmZmN2IyMjUzMjk3M2I0Y2NwMSwKKyAgICAtMHgxLmY3M2EyOWI4ZmNjMjJwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5mNjE3YTI3ZTI1MGNlMWIwNjQ4OGU1MTY3YzA4NDlhOHA5MCwKKyAgICAweDEuZmRmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLmY2MTdhMjdlMjUwY2UxYjA2NDg4ZTUxNjdjMDg0OWE4cDkwLAorICAgIC0weDEuZmRmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjAwMDAwMDAwMDAwN2Y0MDE4MTgwYTgzMzJmZWVkMjY5cDAsCisgICAgMHgxLmZlN2Y5ZmU3ZjlmYzFwLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjAwMDAwMDAwMDAwN2Y0MDE4MTgwYTgzMzJmZWVkMjY5cDAsCisgICAgLTB4MS5mZTdmOWZlN2Y5ZmMxcC0yMworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS4wMDAwMDdmNzgyNGM5NDEyMGViOWMzYmUyMTQ0NDE5NXAwLAorICAgIDB4MS5mZWVmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS4wMDAwMDdmNzgyNGM5NDEyMGViOWMzYmUyMTQ0NDE5NXAwLAorICAgIC0weDEuZmVlZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuZGZhMzZmOGU2YmY3MmZhOGE5MzRlZjI3YjUyMzFiNTRwMSwKKyAgICAweDEuZmVlZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLmRmYTM2ZjhlNmJmNzJmYThhOTM0ZWYyN2I1MjMxYjU0cDEsCisgICAgLTB4MS5mZWVmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMDgwODZlYzQzYmY2Mjg3NTkwZjM2OTJjMmI4ZDU1NWRwMCwKKyAgICAweDEuZmZiODg2ZmU0NDRjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS4wODA4NmVjNDNiZjYyODc1OTBmMzY5MmMyYjhkNTU1ZHAwLAorICAgIC0weDEuZmZiODg2ZmU0NDRjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS4wODA5NzI5OTVhMmI1NzNhYzA3NjY2NzYyZjFhMGI3MnAwLAorICAgIDB4MS5mZmQ4YWYzMzY4NmRicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLjA4MDk3Mjk5NWEyYjU3M2FjMDc2NjY3NjJmMWEwYjcycDAsCisgICAgLTB4MS5mZmQ4YWYzMzY4NmRicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLjZkNGZkOWFiNDdjOTIwMDA3M2FhODEyN2EyNDE5YWM4cDczNywKKyAgICAweDEuZmZlNWVmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLjZkNGZkOWFiNDdjOTIwMDA3M2FhODEyN2EyNDE5YWM4cDczNywKKyAgICAtMHgxLmZmZTVlZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS43NDQxOGU4ZWFjYTYzYzgyZTI1YTlmN2QwNjU0OGU1ZHAxMCwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLjc0NDE4ZThlYWNhNjNjODJlMjVhOWY3ZDA2NTQ4ZTVkcDEwLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjA4MGEzZGViNDZlYzA4YTU2Y2JkN2YxYmRlMjc1OWIwcDAsCisgICAgMHgxLmZmZjFkNzdmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuMDgwYTNkZWI0NmVjMDhhNTZjYmQ3ZjFiZGUyNzU5YjBwMCwKKyAgICAtMHgxLmZmZjFkNzdmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuOTQxYTg1NWFjYmY3YTdmZmM1OGIzMjY2MGEyM2JhMzJwNzM3LAorICAgIDB4MS5mZmZmYzVkZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuOTQxYTg1NWFjYmY3YTdmZmM1OGIzMjY2MGEyM2JhMzJwNzM3LAorICAgIC0weDEuZmZmZmM1ZGZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjk1ZTQ4MTZiNjBhOGQ3Njk3MjRiNTg2ZTRkZWIzYjFicDE4MywKKyAgICAweDEuZmZmZmZkZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLjk1ZTQ4MTZiNjBhOGQ3Njk3MjRiNTg2ZTRkZWIzYjFicDE4MywKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS4wODBhYjA1ODliNjEyODZiNmQ0MTQwMjY5OGQ1YmZlZXAwLAorICAgIDB4MS5mZmZmZmY3ZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjA4MGFiMDU4OWI2MTI4NmI2ZDQxNDAyNjk4ZDViZmVlcDAsCisgICAgLTB4MS5mZmZmZmY3ZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjIwYWMxODU0MTc1NmY4MDA3YjlhMmY0M2RhYjBjYzljcDAsCisgICAgMHgxLmZmZmZmZjhmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuMjBhYzE4NTQxNzU2ZjgwMDdiOWEyZjQzZGFiMGNjOWNwMCwKKyAgICAtMHgxLmZmZmZmZjhmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuZTE4ZmEwZGViOThjNjgwMDhjMTk2NzY2MTIyODZhMmRwMSwKKyAgICAweDEuZmZmZmZmZmZiZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLmUxOGZhMGRlYjk4YzY4MDA4YzE5Njc2NjEyMjg2YTJkcDEsCisgICAgLTB4MS5mZmZmZmZmZmJmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZjdmZmZwLTM1MgorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZjdmZmZwLTM1MgorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS4wZjJlYmQwYTdmYzE3N2Y2ZmEyYTBhNGU2YmIyZjY5NnAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmY3ZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjBmMmViZDBhN2ZjMTc3ZjZmYTJhMGE0ZTZiYjJmNjk2cDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmY3ZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLmUxOGZhMGRmMmQ5OWI4NGU5MmY0M2I5YjQ3ZjczNDFlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5lMThmYTBkZjJkOTliODRlOTJmNDNiOWI0N2Y3MzQxZXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLmI0ZWU4NThkZTNlNWE4MDBmNjU5NzkzNzY1MjQ4ZmI0cDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZjVwMQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5iNGVlODU4ZGUzZTVhODAwZjY1OTc5Mzc2NTI0OGZiNHA0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmNXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZkcC0yMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkcC0yMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMDAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZmNhYWFhYWFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuMDAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZmNhYWFhYWFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmMGFhYWFhcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmMGFhYWFhcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0yNworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS45NDc2NTA0YmE4MjA1N2Y2OTMxMDYwOGMzMGU3NmNlYnA3MzcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS45NDc2NTA0YmE4MjA1N2Y2OTMxMDYwOGMzMGU3NmNlYnA3MzcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjAwYTc0MTM4NjllMGJjNjc1ZWY4ZjgwNTliY2MzNzIycDAsCisgICAgMHgxLjI0OTI0OTI0OTI0OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuMDBhNzQxMzg2OWUwYmM2NzVlZjhmODA1OWJjYzM3MjJwMCwKKyAgICAtMHgxLjI0OTI0OTI0OTI0OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuMDI5ZGRmNmRmN2YyOWM2ZTU1MzFjODUzYWE3ZWY1NTFwMCwKKyAgICAweDEuMjQ5MjQ5MjQ5MjQ5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS4wMjlkZGY2ZGY3ZjI5YzZlNTUzMWM4NTNhYTdlZjU1MXAwLAorICAgIC0weDEuMjQ5MjQ5MjQ5MjQ5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS4wNWU2NmI2MzJkZjEyNTNiMDFkZjY5YmU5ZWNlNDRlM3AwLAorICAgIDB4MS5iNmRiNmRiNmRiNmRicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjA1ZTY2YjYzMmRmMTI1M2IwMWRmNjliZTllY2U0NGUzcDAsCisgICAgLTB4MS5iNmRiNmRiNmRiNmRicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjBhODUyZjZhZWY0ZmQwMzAwOGE4YWEwNTU0ODY1NTE4cDAsCisgICAgMHgxLjI0OTI0OTI0OTI0OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuMGE4NTJmNmFlZjRmZDAzMDA4YThhYTA1NTQ4NjU1MThwMCwKKyAgICAtMHgxLjI0OTI0OTI0OTI0OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMTA4MDM1MDNhNzAwZjMxZWIxZDRlZDlkZWZjYmE1ODhwMCwKKyAgICAweDEuNmRiNmRiNmRiNmRiNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4xMDgwMzUwM2E3MDBmMzFlYjFkNGVkOWRlZmNiYTU4OHAwLAorICAgIC0weDEuNmRiNmRiNmRiNmRiNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS4xN2RmNGNiYWJkZTBhMjU2NTExNzliYzk1ZDI3M2I2M3AwLAorICAgIDB4MS5iNmRiNmRiNmRiNmRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjE3ZGY0Y2JhYmRlMGEyNTY1MTE3OWJjOTVkMjczYjYzcDAsCisgICAgLTB4MS5iNmRiNmRiNmRiNmRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjIwYWMxODYyYWU4ZDAyMWE0ZTM2NTU3NzIyNzI3MGIxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMjBhYzE4NjJhZThkMDIxYTRlMzY1NTc3MjI3MjcwYjFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMjBhYzE4NjJhZThkMDY0NTgyM2E0ZjA2MDgwMGU4OGNwMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS4yMGFjMTg2MmFlOGQwNjQ1ODIzYTRmMDYwODAwZTg4Y3AwLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS4yYWYyMTdhOTBlNmRlYzM5MDA0ZjU2NDk1Y2Q0MzUwNXAwLAorICAgIDB4MS4yNDkyNDkyNDkyNDkycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjJhZjIxN2E5MGU2ZGVjMzkwMDRmNTY0OTVjZDQzNTA1cDAsCisgICAgLTB4MS4yNDkyNDkyNDkyNDkycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjM2YmViNzFjZmUxNTRmYTI2Yjg2NWNiMWEzY2I4YTVmcDAsCisgICAgMHgxLjQ5MjQ5MjQ5MjQ5MjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuMzZiZWI3MWNmZTE1NGZhMjZiODY1Y2IxYTNjYjhhNWZwMCwKKyAgICAtMHgxLjQ5MjQ5MjQ5MjQ5MjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuNDQyMTYxYjlhMzA3MTE5MDI4NzFlNmQ1MDc5MTMzNjJwMCwKKyAgICAweDEuNmRiNmRiNmRiNmRiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS40NDIxNjFiOWEzMDcxMTkwMjg3MWU2ZDUwNzkxMzM2MnAwLAorICAgIC0weDEuNmRiNmRiNmRiNmRiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS41MzJiOTUwYjk2ODMwNjA3MjBmNTc5ZTMyM2U5MzQ3NHAwLAorICAgIDB4MS45MjQ5MjQ5MjQ5MjQ4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLjUzMmI5NTBiOTY4MzA2MDcyMGY1NzllMzIzZTkzNDc0cDAsCisgICAgLTB4MS45MjQ5MjQ5MjQ5MjQ4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjYzZjBmODBiOWM2YmIwNTE5ZDhlYWUyYzNjY2JiZDk4cDAsCisgICAgMHgxLmI2ZGI2ZGI2ZGI2ZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuNjNmMGY4MGI5YzZiYjA1MTlkOGVhZTJjM2NjYmJkOThwMCwKKyAgICAtMHgxLmI2ZGI2ZGI2ZGI2ZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuNzY4Nzc0Y2M3ZjQ5NzY0ZTc1ODkzNDdlMzYxM2QzNmJwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI2Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43Njg3NzRjYzdmNDk3NjRlNzU4OTM0N2UzNjEzZDM2YnAwLAorICAgIC0weDEuZGI2ZGI2ZGI2ZGI2Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS44YjA3NTUxZDlmNTRmMWY1MWQ2M2MxNDgxNTBmZjlmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLjhiMDc1NTFkOWY1NGYxZjUxZDYzYzE0ODE1MGZmOWYwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS4wMDA5YTE0OGIwZTA2ZGMzZDA2MTRjNDBkZDE0NjhkNnAwLAorICAgIDB4MS4xOGRlNWFiMjc3ZjQ1cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjAwMDlhMTQ4YjBlMDZkYzNkMDYxNGM0MGRkMTQ2OGQ2cDAsCisgICAgLTB4MS4xOGRlNWFiMjc3ZjQ1cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLjAwMjY4NWRjM2NmMzljZGIzNjE1NGE4YzY3M2Y0MDBicDAsCisgICAgMHgxLjE4ZGU1YWIyNzdmNDVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuMDAyNjg1ZGMzY2YzOWNkYjM2MTU0YThjNjczZjQwMGJwMCwKKyAgICAtMHgxLjE4ZGU1YWIyNzdmNDVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuMDA1NmFmZTcxZTgzN2NjNTYxNjlhMDBhOTY1MzVkNjBwMCwKKyAgICAweDEuYTU0ZDg4MGJiM2VlOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS4wMDU2YWZlNzFlODM3Y2M1NjE2OWEwMGE5NjUzNWQ2MHAwLAorICAgIC0weDEuYTU0ZDg4MGJiM2VlOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS4wMDlhMjMwOGZhOGZjZGFkZGVlNjM3NzdkYmIzNzBlNnAwLAorICAgIDB4MS4xOGRlNWFiMjc3ZjQ1cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjAwOWEyMzA4ZmE4ZmNkYWRkZWU2Mzc3N2RiYjM3MGU2cDAsCisgICAgLTB4MS4xOGRlNWFiMjc3ZjQ1cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjAwZjBlNDU0ZTY5ODk2ZGJlN2JmYTQyYzQ5MDUwMmJicDAsCisgICAgMHgxLjVmMTVmMTVmMTVmMTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuMDBmMGU0NTRlNjk4OTZkYmU3YmZhNDJjNDkwNTAyYmJwMCwKKyAgICAtMHgxLjVmMTVmMTVmMTVmMTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuMDE1YWZhNTFjYTVhOGM2YTgxMmNiNzQwMTBmZDIzMzlwMCwKKyAgICAweDEuYTU0ZDg4MGJiM2VlN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS4wMTVhZmE1MWNhNWE4YzZhODEyY2I3NDAxMGZkMjMzOXAwLAorICAgIC0weDEuYTU0ZDg4MGJiM2VlN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS4wMWQ4NmNmYWRkODRiZWY0MmVmZmJlZTkwZmQzYjI2NXAwLAorICAgIDB4MS5lYjg1MWViODUxZWI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjAxZDg2Y2ZhZGQ4NGJlZjQyZWZmYmVlOTBmZDNiMjY1cDAsCisgICAgLTB4MS5lYjg1MWViODUxZWI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMHgxLjAxZDg2Y2ZhZGQ4NGJlZjQyZWZmYmVlOTBmZDNiMjY1cDAsCisgICAgMHgxLmViODUxZWI4NTFlYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMDFkODZjZmFkZDg0YmVmNDJlZmZiZWU5MGZkM2IyNjVwMCwKKyAgICAtMHgxLmViODUxZWI4NTFlYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuMDIwNjhjZjA1NTk3MzczNjg0ODU5NTY1ZmUzNmJhYmZwMCwKKyAgICAweDEuMDE3NjdkY2U0MzRhYXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS4wMjA2OGNmMDU1OTczNzM2ODQ4NTk1NjVmZTM2YmFiZnAwLAorICAgIC0weDEuMDE3NjdkY2U0MzRhYXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS4wMjM2ZDUwZmIwZGFmZjlmZWVhMzlkY2FlNTIxOTY4NXAwLAorICAgIDB4MS4wZDJhNmM0MDVkOWY4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLjAyMzZkNTBmYjBkYWZmOWZlZWEzOWRjYWU1MjE5Njg1cDAsCisgICAgLTB4MS4wZDJhNmM0MDVkOWY4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLjAyNjk0NWMwNDE3MTBhYWNiNmU1YjNjN2ZiMmFhMzdhcDAsCisgICAgMHgxLjE4ZGU1YWIyNzdmNDZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuMDI2OTQ1YzA0MTcxMGFhY2I2ZTViM2M3ZmIyYWEzN2FwMCwKKyAgICAtMHgxLjE4ZGU1YWIyNzdmNDZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuMDI5ZGRmNmRmN2YyOWQwMTFkZDg2YmZlMDFlYzM2ODNwMCwKKyAgICAweDEuMjQ5MjQ5MjQ5MjQ5NHAtMworICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4wMjlkZGY2ZGY3ZjI5ZDAxMWRkODZiZmUwMWVjMzY4M3AwLAorICAgIC0weDEuMjQ5MjQ5MjQ5MjQ5NHAtMworICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS4wMmQ0YTI4OTY0NTg0OWZhZjEyYTk1YTkyZDI1MzRkNXAwLAorICAgIDB4MS4zMDQ2Mzc5NmFjOWUycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLjAyZDRhMjg5NjQ1ODQ5ZmFmMTJhOTVhOTJkMjUzNGQ1cDAsCisgICAgLTB4MS4zMDQ2Mzc5NmFjOWUycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjAzMGQ4Zjg3YjZlYWQ0YTBiYzc0NjRiMzNkYmJhM2FhcDAsCisgICAgMHgxLjNiZmEyNjA4YzZmMzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMDMwZDhmODdiNmVhZDRhMGJjNzQ2NGIzM2RiYmEzYWFwMCwKKyAgICAtMHgxLjNiZmEyNjA4YzZmMzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuMDM0OGE2ZTJjMTNkZjVmYjNkOTljMzYxYTFiYjlkY2JwMCwKKyAgICAweDEuNDdhZTE0N2FlMTQ3YnAtMworICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4wMzQ4YTZlMmMxM2RmNWZiM2Q5OWMzNjFhMWJiOWRjYnAwLAorICAgIC0weDEuNDdhZTE0N2FlMTQ3YnAtMworICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS4wMzQ4YTZlMmMxM2RmNWZiM2Q5OWMzNjFhMWJiOWRjYnAwLAorICAgIDB4MS40N2FlMTQ3YWUxNDdicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjAzNDhhNmUyYzEzZGY1ZmIzZDk5YzM2MWExYmI5ZGNicDAsCisgICAgLTB4MS40N2FlMTQ3YWUxNDdicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLjBhMTlkNmRlNjA1YWJmMDgxMjljZGRkZTE2MzZkZDJhcDAsCisgICAgMHgxLjFlYjg1MWViODUxZWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuMGExOWQ2ZGU2MDVhYmYwODEyOWNkZGRlMTYzNmRkMmFwMCwKKyAgICAtMHgxLjFlYjg1MWViODUxZWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuMTRjMTI4YjFhN2MyYjY5ZjU4NGM0MmUxZjVkMjRlNDNwMCwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS4xNGMxMjhiMWE3YzJiNjlmNTg0YzQyZTFmNWQyNGU0M3AwLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS4yMzY1ZWU2YzYwZDMzMTEzNWQwYjNhZDMxNTgzMzM2M3AwLAorICAgIDB4MS4wYTNkNzBhM2Q3MGE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjIzNjVlZTZjNjBkMzMxMTM1ZDBiM2FkMzE1ODMzMzYzcDAsCisgICAgLTB4MS4wYTNkNzBhM2Q3MGE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLjM2M2UzNDFmNjYxNjA1MjdkOTNjMzBiNjNkNjE5YTYwcDAsCisgICAgMHgxLjQ3YWUxNDdhZTE0N2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuMzYzZTM0MWY2NjE2MDUyN2Q5M2MzMGI2M2Q2MTlhNjBwMCwKKyAgICAtMHgxLjQ3YWUxNDdhZTE0N2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuNGQ4Zjg3NTcyNTgyYmFkZDc0Mzk2MjBiZDdlOTU5MGJwMCwKKyAgICAweDEuODUxZWI4NTFlYjg1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS40ZDhmODc1NzI1ODJiYWRkNzQzOTYyMGJkN2U5NTkwYnAwLAorICAgIC0weDEuODUxZWI4NTFlYjg1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS42OWFmZjdkMGNlMTM1ZGNkMWE2ZWMyZTY1ZDBhODlkZnAwLAorICAgIDB4MS5jMjhmNWMyOGY1YzI5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLjY5YWZmN2QwY2UxMzVkY2QxYTZlYzJlNjVkMGE4OWRmcDAsCisgICAgLTB4MS5jMjhmNWMyOGY1YzI5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS44YjA3NTUxZDlmNTUwNGMyYmQyODEwMDE5NmE0ZjY2YXAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS44YjA3NTUxZDlmNTUwNGMyYmQyODEwMDE5NmE0ZjY2YXAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLmMwMzVjYzNjZjc4ZWRmODIxM2NiYWQ5NDc5MDkwZDE0cDcsCisgICAgMHgxLjg2YmM4OGNiZjFiNjdwMgorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS5jMDM1Y2MzY2Y3OGVkZjgyMTNjYmFkOTQ3OTA5MGQxNHA3LAorICAgIC0weDEuODZiYzg4Y2JmMWI2N3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjIwYWY2Y2JiNGJhNjk1OThlYzkzOWQ3ZGU4NGY1ODhkcDE1LAorICAgIDB4MS42NmJjODhjYmYxYjY3cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuMjBhZjZjYmI0YmE2OTU5OGVjOTM5ZDdkZTg0ZjU4OGRwMTUsCisgICAgLTB4MS42NmJjODhjYmYxYjY3cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuNzNlMDk2Y2Y1N2I1NTA1MjQyZmI4ZTNiOGJlNjgwMzRwMjIsCisgICAgMHgxLjA1MGQ2Njk4ZjU0OGRwNAorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS43M2UwOTZjZjU3YjU1MDUyNDJmYjhlM2I4YmU2ODAzNHAyMiwKKyAgICAtMHgxLjA1MGQ2Njk4ZjU0OGRwNAorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5kZjBiMTNhODQ1MTNlMmRmY2I0YjJkZDBiNzY1Y2FmNHAyOSwKKyAgICAweDEuNTZiYzg4Y2JmMWI2N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmRmMGIxM2E4NDUxM2UyZGZjYjRiMmRkMGI3NjVjYWY0cDI5LAorICAgIC0weDEuNTZiYzg4Y2JmMWI2N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLjM0OGJjMWUwMThiYzU5M2NlMzE0NWU5ZjRjMDZiMjJjcDM3LAorICAgIDB4MS5hODZiYWFmZWVlMjQxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuMzQ4YmMxZTAxOGJjNTkzY2UzMTQ1ZTlmNGMwNmIyMmNwMzcsCisgICAgLTB4MS5hODZiYWFmZWVlMjQxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuOGQ3NjFhMzM5ODk0MjQ0OGVhNzk2Y2I3ZTYwMmEyMDVwNDQsCisgICAgMHgxLmZhMWFjZDMxZWE5MWJwNAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS44ZDc2MWEzMzk4OTQyNDQ4ZWE3OTZjYjdlNjAyYTIwNXA0NCwKKyAgICAtMHgxLmZhMWFjZDMxZWE5MWJwNAorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5mZmZmZmZmZmZmZmY5ZWRlNjdiN2EzMGU2NzFjNzllMnA1MSwKKyAgICAweDEuMjVlNGY3YjI3MzdmYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLmZmZmZmZmZmZmZmZjllZGU2N2I3YTMwZTY3MWM3OWUycDUxLAorICAgIC0weDEuMjVlNGY3YjI3MzdmYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLjAwMDAwMDAwZmZmZjY1NDM2MWM1NjEzYzhkY2Y4YjM4cDE1LAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuMDAwMDAwMDBmZmZmNjU0MzYxYzU2MTNjOGRjZjhiMzhwMTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuMDAwMDAwMDBmZmZmZTU0MzYxYzRlMTNjNjA3MTNjMWFwMTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMworICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS4wMDAwMDAwMGZmZmZlNTQzNjFjNGUxM2M2MDcxM2MxYXAxNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwMworICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS4wMDAwMDAwMTAwMDA2NTQzNjFjNDYxM2M3MzEyZWNmZHAxNSwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLjAwMDAwMDAxMDAwMDY1NDM2MWM0NjEzYzczMTJlY2ZkcDE1LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjAwMDBmZmZmZmZmZmIyYTFmZTQwYjI1ZDg4ZDk2NGY5cDcsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMgorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS4wMDAwZmZmZmZmZmZiMmExZmU0MGIyNWQ4OGQ5NjRmOXA3LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLjAwMDBmZmZmZmZmZmYyYTFiZTQwYjI1ZDdkODFjNWRhcDcsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMgorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIDB4MS4wMDAwZmZmZmZmZmZmMmExYmU0MGIyNWQ3ZDgxYzVkYXA3LAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjAwMDEwMDAwMDAwMDMyYTE3ZTQwYjI1ZDgyMmEzNmJicDcsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIDB4MS4wMDAxMDAwMDAwMDAzMmExN2U0MGIyNWQ4MjJhMzZiYnA3LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjAwZmZmZmZmZmZmZmQ5Nzc4Nzk4YzA2ZTUzMzMxOTI0cDMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMQorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS4wMGZmZmZmZmZmZmZkOTc3ODc5OGMwNmU1MzMzMTkyNHAzLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjAwZmZmZmZmZmZmZmY5NTc4Nzk4YzA2ZTUwNWE1ZTRkcDMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMQorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS4wMGZmZmZmZmZmZmZmOTU3ODc5OGMwNmU1MDVhNWU0ZHAzLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjAxMDAwMDAwMDAwMDE5Mzc4Nzk4YzA2ZTUxODVhMzc2cDMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS4wMTAwMDAwMDAwMDAxOTM3ODc5OGMwNmU1MTg1YTM3NnAzLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjBmZmZmZmZmZmZmZmVkZGRlNTc1MGY0MmY5NWYzMTU5cDEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS4wZmZmZmZmZmZmZmZlZGRkZTU3NTBmNDJmOTVmMzE1OXAxLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjBmZmZmZmZmZmZmZmZjZGRlNTc1MGY0MmY4OWU2MDg5cDEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIDB4MS4wZmZmZmZmZmZmZmZmY2RkZTU3NTBmNDJmODllNjA4OXAxLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLjEwMDAwMDAwMDAwMDBiZGRlNTc1MGY0MmY4ZWQ4ZmI4cDEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS4xMDAwMDAwMDAwMDAwYmRkZTU3NTBmNDJmOGVkOGZiOHAxLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjNmZmZmZmZmZmZmZmY4YmYyODk1Mzk0ZGZkNDQzYmE4cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuM2ZmZmZmZmZmZmZmZjhiZjI4OTUzOTRkZmQ0NDNiYThwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuM2ZmZmZmZmZmZmZmZmViZjI4OTUzOTRkZmQwYjg1YzVwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS4zZmZmZmZmZmZmZmZmZWJmMjg5NTM5NGRmZDBiODVjNXAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS40MDAwMDAwMDAwMDAwNGJmMjg5NTM5NGRmZDIyY2ZlMnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLjQwMDAwMDAwMDAwMDA0YmYyODk1Mzk0ZGZkMjJjZmUycDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgMHgxLjBmODc2Y2NkZjZjZDk1MTBkY2Q1MDM1N2E3MzM1ZjlkcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuMGY4NzZjY2RmNmNkOTUxMGRjZDUwMzU3YTczMzVmOWRwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuMGY4NzZjY2RmNmNkOTY3YWU2YmI2YjRiNjNmMDYwOWJwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS4wZjg3NmNjZGY2Y2Q5NjdhZTZiYjZiNGI2M2YwNjA5YnAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS4wZjg3NmNjZGY2Y2Q5N2U0ZjBhMWQzM2YyMGJlNWEwZnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgMHgxLjBmODc2Y2NkZjZjZDk3ZTRmMGExZDMzZjIwYmU1YTBmcDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjAzZGE2ZWI2ZjkwNzVlN2Q5ODgxMGZlOTZmZTc0ODQwcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuMDNkYTZlYjZmOTA3NWU3ZDk4ODEwZmU5NmZlNzQ4NDBwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuMDNkYTZlYjZmOTA3NWVkNmMzNjRlODJlNDNjYzUxYzFwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMworICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS4wM2RhNmViNmY5MDc1ZWQ2YzM2NGU4MmU0M2NjNTFjMXAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAtMworICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS4wM2RhNmViNmY5MDc1ZjJmZWU0OGMwNzMxN2I1NmFhZHAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjAzZGE2ZWI2ZjkwNzVmMmZlZTQ4YzA3MzE3YjU2YWFkcDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjAwZjYyNTU3ZDkxZGYzNjM4YjBiYTdjYTQ4OGIyODM5cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAweDEuMDBmNjI1NTdkOTFkZjM2MzhiMGJhN2NhNDg4YjI4MzlwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuMDBmNjI1NTdkOTFkZjM3OWMwNmExN2M2NDI0NGMxYTVwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS4wMGY2MjU1N2Q5MWRmMzc5YzA2YTE3YzY0MjQ0YzFhNXAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS4wMGY2MjU1N2Q5MWRmMzhmZjVjODg3YzIzYmZmNWMwN3AwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjAwZjYyNTU3ZDkxZGYzOGZmNWM4ODdjMjNiZmY1YzA3cDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjAwM2Q4MWYyNWU4YmUxMjQ0ZWY4NzViZTMyZTVmYmIwcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuMDAzZDgxZjI1ZThiZTEyNDRlZjg3NWJlMzJlNWZiYjBwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuMDAzZDgxZjI1ZThiZTEyOWRhZmFlNDViMzU3MDRkOGFwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS4wMDNkODFmMjVlOGJlMTI5ZGFmYWU0NWIzNTcwNGQ4YXAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS4wMDNkODFmMjVlOGJlMTJmNjZmZDUyZjgzN2ZhZGY3NXAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLjAwM2Q4MWYyNWU4YmUxMmY2NmZkNTJmODM3ZmFkZjc1cDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjAwMGY2MDA2NjU0MGEzNzJjZjJmMGVhNWQzY2E3ZThicDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuMDAwZjYwMDY2NTQwYTM3MmNmMmYwZWE1ZDNjYTdlOGJwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuMDAwZjYwMDY2NTQwYTM3NDMyMWE1OTYyOTk3MjgxYjJwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS4wMDBmNjAwNjY1NDBhMzc0MzIxYTU5NjI5OTcyODFiMnAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIDB4MS4wMDBmNjAwNjY1NDBhMzc1OTUwNWE0MWY1ZjFhOTRkYnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLjAwMGY2MDA2NjU0MGEzNzU5NTA1YTQxZjVmMWE5NGRicDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLjAwMDAwMDAwMDAwMGNhODdjMzg5OGNmZmQxYmNkOTU0cDMxLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLjAwMDAwMDAwMDAwMGNhODdjMzg5OGNmZmQxYmNkOTU0cDMxLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuZmZmZmZmZmZmZmZmOTUwZjg3MTMxOWZmMGU2ZTJiOTVwMzAsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuZmZmZmZmZmZmZmZmOTUwZjg3MTMxOWZmMGU2ZTJiOTVwMzAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwNAorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS5mZmZmZmZmZmZmZmQ5NTBmODcxMzFhMDA3OTYyYTQ4MnAzMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwNAorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS5mZmZmZmZmZmZmZmQ5NTBmODcxMzFhMDA3OTYyYTQ4MnAzMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZXA0CisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjAwMDAwMDAxMDAwMDY1NDM2MWM0NjEzYzczMTJlY2ZkcDE1LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMHgxLjAwMDAwMDAxMDAwMDY1NDM2MWM0NjEzYzczMTJlY2ZkcDE1LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuMDAwMDAwMDBmZmZmZTU0MzYxYzRlMTNjNjA3MTNjMWFwMTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuMDAwMDAwMDBmZmZmZTU0MzYxYzRlMTNjNjA3MTNjMWFwMTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMworICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS4wMDAwMDAwMGZmZmY2NTQzNjFjNTYxM2M4ZGNmOGIzOHAxNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwMworICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS4wMDAwMDAwMGZmZmY2NTQzNjFjNTYxM2M4ZGNmOGIzOHAxNSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAzCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjAwMDEwMDAwMDAwMDMyYTE3ZTQwYjI1ZDgyMmEzNmJicDcsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAweDEuMDAwMTAwMDAwMDAwMzJhMTdlNDBiMjVkODIyYTM2YmJwNywKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjAwMDBmZmZmZmZmZmYyYTFiZTQwYjI1ZDdkODFjNWRhcDcsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAweDEuMDAwMGZmZmZmZmZmZjJhMWJlNDBiMjVkN2Q4MWM1ZGFwNywKKyAgICAweDEuNjJlNDJmZWZhMzllZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLjAwMDBmZmZmZmZmZmIyYTFmZTQwYjI1ZDg4ZDk2NGY5cDcsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuMDAwMGZmZmZmZmZmYjJhMWZlNDBiMjVkODhkOTY0ZjlwNywKKyAgICAweDEuNjJlNDJmZWZhMzllZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLjAxMDAwMDAwMDAwMDE5Mzc4Nzk4YzA2ZTUxODVhMzc2cDMsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuMDEwMDAwMDAwMDAwMTkzNzg3OThjMDZlNTE4NWEzNzZwMywKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLjAwZmZmZmZmZmZmZmY5NTc4Nzk4YzA2ZTUwNWE1ZTRkcDMsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuMDBmZmZmZmZmZmZmZjk1Nzg3OThjMDZlNTA1YTVlNGRwMywKKyAgICAweDEuNjJlNDJmZWZhMzllZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMHgxLjAwZmZmZmZmZmZmZmQ5Nzc4Nzk4YzA2ZTUzMzMxOTI0cDMsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuMDBmZmZmZmZmZmZmZDk3Nzg3OThjMDZlNTMzMzE5MjRwMywKKyAgICAweDEuNjJlNDJmZWZhMzllZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLjEwMDAwMDAwMDAwMDBiZGRlNTc1MGY0MmY4ZWQ4ZmI4cDEsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuMTAwMDAwMDAwMDAwMGJkZGU1NzUwZjQyZjhlZDhmYjhwMSwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLjBmZmZmZmZmZmZmZmZjZGRlNTc1MGY0MmY4OWU2MDg5cDEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuMGZmZmZmZmZmZmZmZmNkZGU1NzUwZjQyZjg5ZTYwODlwMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLjBmZmZmZmZmZmZmZmVkZGRlNTc1MGY0MmY5NWYzMTU5cDEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuMGZmZmZmZmZmZmZmZWRkZGU1NzUwZjQyZjk1ZjMxNTlwMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgMHgxLjQwMDAwMDAwMDAwMDA0YmYyODk1Mzk0ZGZkMjJjZmUycDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLjQwMDAwMDAwMDAwMDA0YmYyODk1Mzk0ZGZkMjJjZmUycDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuM2ZmZmZmZmZmZmZmZmViZjI4OTUzOTRkZmQwYjg1YzVwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuM2ZmZmZmZmZmZmZmZmViZjI4OTUzOTRkZmQwYjg1YzVwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS4zZmZmZmZmZmZmZmZmOGJmMjg5NTM5NGRmZDQ0M2JhOHAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS4zZmZmZmZmZmZmZmZmOGJmMjg5NTM5NGRmZDQ0M2JhOHAwLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgMHgxLjBmODc2Y2NkZjZjZDk3ZTRmMGExZDMzZjIwYmU1YTBmcDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLjBmODc2Y2NkZjZjZDk3ZTRmMGExZDMzZjIwYmU1YTBmcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuMGY4NzZjY2RmNmNkOTY3YWU2YmI2YjRiNjNmMDYwOWJwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuMGY4NzZjY2RmNmNkOTY3YWU2YmI2YjRiNjNmMDYwOWJwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS4wZjg3NmNjZGY2Y2Q5NTEwZGNkNTAzNTdhNzMzNWY5ZHAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS4wZjg3NmNjZGY2Y2Q5NTEwZGNkNTAzNTdhNzMzNWY5ZHAwLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgMHgxLjAzZGE2ZWI2ZjkwNzVmMmZlZTQ4YzA3MzE3YjU2YWFkcDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLjAzZGE2ZWI2ZjkwNzVmMmZlZTQ4YzA3MzE3YjU2YWFkcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuMDNkYTZlYjZmOTA3NWVkNmMzNjRlODJlNDNjYzUxYzFwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuMDNkYTZlYjZmOTA3NWVkNmMzNjRlODJlNDNjYzUxYzFwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIDB4MS4wM2RhNmViNmY5MDc1ZTdkOTg4MTBmZTk2ZmU3NDg0MHAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS4wM2RhNmViNmY5MDc1ZTdkOTg4MTBmZTk2ZmU3NDg0MHAwLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLjAwZjYyNTU3ZDkxZGYzOGZmNWM4ODdjMjNiZmY1YzA3cDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLjAwZjYyNTU3ZDkxZGYzOGZmNWM4ODdjMjNiZmY1YzA3cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuMDBmNjI1NTdkOTFkZjM3OWMwNmExN2M2NDI0NGMxYTVwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAweDEuMDBmNjI1NTdkOTFkZjM3OWMwNmExN2M2NDI0NGMxYTVwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS4wMGY2MjU1N2Q5MWRmMzYzOGIwYmE3Y2E0ODhiMjgzOXAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS4wMGY2MjU1N2Q5MWRmMzYzOGIwYmE3Y2E0ODhiMjgzOXAwLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLjAwM2Q4MWYyNWU4YmUxMmY2NmZkNTJmODM3ZmFkZjc1cDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMHgxLjAwM2Q4MWYyNWU4YmUxMmY2NmZkNTJmODM3ZmFkZjc1cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuMDAzZDgxZjI1ZThiZTEyOWRhZmFlNDViMzU3MDRkOGFwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuMDAzZDgxZjI1ZThiZTEyOWRhZmFlNDViMzU3MDRkOGFwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS4wMDNkODFmMjVlOGJlMTI0NGVmODc1YmUzMmU1ZmJiMHAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIDB4MS4wMDNkODFmMjVlOGJlMTI0NGVmODc1YmUzMmU1ZmJiMHAwLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLmJmZWIzMjA2OTU4NDYxZTBjZDk0OWI3NDAzOTczNzRicDI2MiwKKyAgICAweDEuNmRiNmRiNmRiNmRiN3A3CisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgMHgxLmJmZWIzMjA2OTU4NDYxZTBjZDk0OWI3NDAzOTczNzRicDI2MiwKKyAgICAtMHgxLjZkYjZkYjZkYjZkYjdwNworICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIDB4MS5lZTRhZGZmYzQ4MTZjMTk2Y2M4NWM1NzliNDliNzEzY3AzNDEsCisgICAgMHgxLmRiNmRiNmRiNmRiNmVwNworICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5lZTRhZGZmYzQ4MTZjMTk2Y2M4NWM1NzliNDliNzEzY3AzNDEsCisgICAgLTB4MS5kYjZkYjZkYjZkYjZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuMTBiYmQzMDRlNGQ1MzMxNzE5MWRiODAxNjhmNDFlODhwNDIxLAorICAgIDB4MS4yNDkyNDkyNDkyNDkycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEuMTBiYmQzMDRlNGQ1MzMxNzE5MWRiODAxNjhmNDFlODhwNDIxLAorICAgIC0weDEuMjQ5MjQ5MjQ5MjQ5MnA4CisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLjJjZjg2MjFhYTNlYWNiY2UzYzVjNmFhYzdhNTJlODcycDUwMCwKKyAgICAweDEuNWI2ZGI2ZGI2ZGI2ZHA4CisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLjJjZjg2MjFhYTNlYWNiY2UzYzVjNmFhYzdhNTJlODcycDUwMCwKKyAgICAtMHgxLjViNmRiNmRiNmRiNmRwOAorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS40YzIxNTM5NTcyYzE5YjU5ZmM2MjkxMjlkMzA3ZDliMXA1NzksCisgICAgMHgxLjkyNDkyNDkyNDkyNDhwOAorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS40YzIxNTM5NTcyYzE5YjU5ZmM2MjkxMjlkMzA3ZDliMXA1NzksCisgICAgLTB4MS45MjQ5MjQ5MjQ5MjQ4cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEuNmU4NDIyYjRkYjMzYjYyOTNjZDQ0Y2QxYzY1NTg1YjJwNjU4LAorICAgIDB4MS5jOTI0OTI0OTI0OTIzcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAweDEuNmU4NDIyYjRkYjMzYjYyOTNjZDQ0Y2QxYzY1NTg1YjJwNjU4LAorICAgIC0weDEuYzkyNDkyNDkyNDkyM3A4CisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgMHgxLjZkZGU0Yzg1NWYzMzk3Y2QwNWYzODNlMmFkNWVmMjE5cDkzNSwKKyAgICAweDEuNDQ5MjQ5MjQ5MjQ5MnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLjZkZGU0Yzg1NWYzMzk3Y2QwNWYzODNlMmFkNWVmMjE5cDkzNSwKKyAgICAtMHgxLjQ0OTI0OTI0OTI0OTJwOQorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS5hMTc4ZDI1M2ZjMzVhMGI5ODAyZDljZDVmNjdjYjdlZnA5NDgsCisgICAgMHgxLjQ5MjQ5MjQ5MjQ5MjRwOQorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDB4MS5hMTc4ZDI1M2ZjMzVhMGI5ODAyZDljZDVmNjdjYjdlZnA5NDgsCisgICAgLTB4MS40OTI0OTI0OTI0OTI0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuZGM1YTljOTdlYTEzYTAwNjI4MjgzODZkYzI0NjBhYzJwOTYxLAorICAgIDB4MS40ZGI2ZGI2ZGI2ZGI2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAweDEuZGM1YTljOTdlYTEzYTAwNjI4MjgzODZkYzI0NjBhYzJwOTYxLAorICAgIC0weDEuNGRiNmRiNmRiNmRiNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLjBmYzUzYzcyNzE1NWQ5ZGQwMDE3MzNkNDI1OGUzMjAzcDk3NSwKKyAgICAweDEuNTI0OTI0OTI0OTI0OHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLjBmYzUzYzcyNzE1NWQ5ZGQwMDE3MzNkNDI1OGUzMjAzcDk3NSwKKyAgICAtMHgxLjUyNDkyNDkyNDkyNDhwOQorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIDB4MS4zNjFhMjJmNTg3OWExNTgxMDZiZWUxZTg5ZWEyYTRkN3A5ODgsCisgICAgMHgxLjU2ZGI2ZGI2ZGI2ZGFwOQorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS4zNjFhMjJmNTg3OWExNTgxMDZiZWUxZTg5ZWEyYTRkN3A5ODgsCisgICAgLTB4MS41NmRiNmRiNmRiNmRhcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuNjFkNzE2ZWNhOTM4MTFmOGQ4Mjg4NjQ5ZGMyY2VlNjVwMTAwMSwKKyAgICAweDEuNWI2ZGI2ZGI2ZGI2Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLjYxZDcxNmVjYTkzODExZjhkODI4ODY0OWRjMmNlZTY1cDEwMDEsCisgICAgLTB4MS41YjZkYjZkYjZkYjZjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNzZkYjZkYjZkYjZkYnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS43NmRiNmRiNmRiNmRicDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuOGRiNmRiNmRiNmRiNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS44ZGI2ZGI2ZGI2ZGI2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuYTQ5MjQ5MjQ5MjQ5MXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5hNDkyNDkyNDkyNDkxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuYmI2ZGI2ZGI2ZGI2Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5iYjZkYjZkYjZkYjZjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZDI0OTI0OTI0OTI0N3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5kMjQ5MjQ5MjQ5MjQ3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZTkyNDkyNDkyNDkyMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5lOTI0OTI0OTI0OTIycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAweDEuOTNiZjRlYzI4MmVmYjMyMGE1N2Y5YWUwMmUwMWFlNTFwMTAxNCwKKyAgICAtMHgxLjZwOQorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS45M2JmNGVjMjgyZWZiMzIwYTU3ZjlhZTAyZTAxYWU1MXAxMDE0LAorICAgIDB4MS42cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEuNjFkNzE2ZWNhOTkwODdiZTkzNTJkZjVkMTMxYTVkZDJwMTAwMSwKKyAgICAtMHgxLjViNmRiNmRiNmRiNmVwOQorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS42MWQ3MTZlY2E5OTA4N2JlOTM1MmRmNWQxMzFhNWRkMnAxMDAxLAorICAgIDB4MS41YjZkYjZkYjZkYjZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAweDEuMzYxYTIyZjU4N2U3OWMwOWM0MjBkMjFlY2ZmYzAwY2RwOTg4LAorICAgIC0weDEuNTZkYjZkYjZkYjZkY3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLjM2MWEyMmY1ODdlNzljMDljNDIwZDIxZWNmZmMwMGNkcDk4OCwKKyAgICAweDEuNTZkYjZkYjZkYjZkY3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLjBmYzUzYzcyNzE5OWNiMmMxY2IzOTFjOGM2YjFjYjVicDk3NSwKKyAgICAtMHgxLjUyNDkyNDkyNDkyNGFwOQorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIDB4MS4wZmM1M2M3MjcxOTljYjJjMWNiMzkxYzhjNmIxY2I1YnA5NzUsCisgICAgMHgxLjUyNDkyNDkyNDkyNGFwOQorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS5kYzVhOWM5N2VhOGFiNmFkNGUyMmNjMzg5OGI0ZDQyMnA5NjEsCisgICAgLTB4MS40ZGI2ZGI2ZGI2ZGI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEuZGM1YTljOTdlYThhYjZhZDRlMjJjYzM4OThiNGQ0MjJwOTYxLAorICAgIDB4MS40ZGI2ZGI2ZGI2ZGI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuYTE3OGQyNTNmYzlkZmVlZTE1MmNiNzQ5ZWI2ZjYzMzlwOTQ4LAorICAgIC0weDEuNDkyNDkyNDkyNDkyNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLmExNzhkMjUzZmM5ZGZlZWUxNTJjYjc0OWViNmY2MzM5cDk0OCwKKyAgICAweDEuNDkyNDkyNDkyNDkyNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLjZkZGU0Yzg1NWY4ZjBmNjAyNzRiNWMzNzkzMDQ5OWY1cDkzNSwKKyAgICAtMHgxLjQ0OTI0OTI0OTI0OTRwOQorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIDB4MS42ZGRlNGM4NTVmOGYwZjYwMjc0YjVjMzc5MzA0OTlmNXA5MzUsCisgICAgMHgxLjQ0OTI0OTI0OTI0OTRwOQorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIDB4MS40MGE0YjljMjcxYzhjNDI3MWZiY2MzZGYzMzZlMGVkYnA5MjIsCisgICAgLTB4MS40MDAwMDAwMDAwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuNDBhNGI5YzI3MWM4YzQyNzFmYmNjM2RmMzM2ZTBlZGJwOTIyLAorICAgIDB4MS40MDAwMDAwMDAwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEucDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLnAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEucDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgMHgxLjAxZDg2Y2ZhZGQ4NGJlZDU2M2NhODFlNjM5ZDgyZGU0cDAsCisgICAgMHgxLmViODUxZWI4NTFlYjdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuMDFkODZjZmFkZDg0YmVkNTYzY2E4MWU2MzlkODJkZTRwMCwKKyAgICAtMHgxLmViODUxZWI4NTFlYjdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAweDEuMDFkODZjZmFkZDg0YmVmNDJlZmZiZWU5MGZkM2IyNjVwMCwKKyAgICAweDEuZWI4NTFlYjg1MWViOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS4wMWQ4NmNmYWRkODRiZWY0MmVmZmJlZTkwZmQzYjI2NXAwLAorICAgIC0weDEuZWI4NTFlYjg1MWViOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS4wMWQ4NmNmYWRkODRiZjEyZmEzNGZiZWJlNWQwMzhiZXAwLAorICAgIDB4MS5lYjg1MWViODUxZWI5cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLjAxZDg2Y2ZhZGQ4NGJmMTJmYTM0ZmJlYmU1ZDAzOGJlcDAsCisgICAgLTB4MS5lYjg1MWViODUxZWI5cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgMHgxLjIwYWMxODYyYWU4ZDA0MmZlODM4NTIzZTk1MzBhNzNlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuMjBhYzE4NjJhZThkMDQyZmU4Mzg1MjNlOTUzMGE3M2VwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAweDEuMjBhYzE4NjJhZThkMDY0NTgyM2E0ZjA2MDgwMGU4OGNwMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS4yMGFjMTg2MmFlOGQwNjQ1ODIzYTRmMDYwODAwZTg4Y3AwLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIDB4MS4yMGFjMTg2MmFlOGQwYTcwYjYzZTQ4OTRlZGQ3OGI2ZXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjIwYWMxODYyYWU4ZDBhNzBiNjNlNDg5NGVkZDc4YjZlcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMHgxLjhiMDc1NTFkOWY1NGZiNWJlZDQ1ZThhNGQ1YTkxNzQycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuOGIwNzU1MWQ5ZjU0ZmI1YmVkNDVlOGE0ZDVhOTE3NDJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MTc5MDVjZWM1ZWJiMTljNGZhMzlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLjhiMDc1NTFkOWY1NTE3OTA1Y2VjNWViYjE5YzRmYTM5cDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuYWI1YWRiOWM0MzVlNGNjMzNkMTM4NmQ4MDViY2M2NjdwMzAsCisgICAgMHgxLjVmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS5hYjVhZGI5YzQzNWU0Y2MzM2QxMzg2ZDgwNWJjYzY2N3AzMCwKKyAgICAtMHgxLjVmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS5hYjVhZGI5YzQzNWZmODFlMThhZmNhMzcyODI4YTY3NnAzMCwKKyAgICAweDEuNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLmFiNWFkYjljNDM1ZmY4MWUxOGFmY2EzNzI4MjhhNjc2cDMwLAorICAgIC0weDEuNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLmFiNWFkYjljNDM2MWEzNzhmNDRjMGQ5N2Y1ZWY2MjIycDMwLAorICAgIDB4MS42MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAweDEuYWI1YWRiOWM0MzYxYTM3OGY0NGMwZDk3ZjVlZjYyMjJwMzAsCisgICAgLTB4MS42MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAweDEuMjI2YWYzM2IxZmRhZTdlY2NhMTAyYWQ2YjdmOThhMDZwMzIsCisgICAgMHgxLjZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS4yMjZhZjMzYjFmZGFlN2VjY2ExMDJhZDZiN2Y5OGEwNnAzMiwKKyAgICAtMHgxLjZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS4yMjZhZjMzYjFmZGMwYTU3YmQ0YjRhYjIzMTFiNWNkZnAzMiwKKyAgICAweDEuN3A0CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLjIyNmFmMzNiMWZkYzBhNTdiZDRiNGFiMjMxMWI1Y2RmcDMyLAorICAgIC0weDEuN3A0CisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLjIyNmFmMzNiMWZkZDJjYzJiMDg2NmE4ZWNjYTgyMmY0cDMyLAorICAgIDB4MS43MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAweDEuMjI2YWYzM2IxZmRkMmNjMmIwODY2YThlY2NhODIyZjRwMzIsCisgICAgLTB4MS43MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjkKKyAgICAweDEuZmZmZmZmZmZmZmZiOWVkZTY3YjdhMzEzMjk1ZmFhNzNwNTEsCisgICAgMHgxLjI1ZTRmN2IyNzM3ZjlwNQorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS5mZmZmZmZmZmZmZmI5ZWRlNjdiN2EzMTMyOTVmYWE3M3A1MSwKKyAgICAtMHgxLjI1ZTRmN2IyNzM3ZjlwNQorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS5mZmZmZmZmZmZmZmY5ZWRlNjdiN2EzMGU2NzFjNzllMnA1MSwKKyAgICAweDEuMjVlNGY3YjI3MzdmYXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLmZmZmZmZmZmZmZmZjllZGU2N2I3YTMwZTY3MWM3OWUycDUxLAorICAgIC0weDEuMjVlNGY3YjI3MzdmYXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLjAwMDAwMDAwMDAwMWNmNmYzM2RiZDE4OGQyNmNhNGE5cDUyLAorICAgIDB4MS4yNWU0ZjdiMjczN2ZicDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAweDEuMDAwMDAwMDAwMDAxY2Y2ZjMzZGJkMTg4ZDI2Y2E0YTlwNTIsCisgICAgLTB4MS4yNWU0ZjdiMjczN2ZicDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAweDEuNmEwOWU2NjdmM2I3M2IyZTliMTMyZDUxNDM0ZTY4MmRwNTIsCisgICAgMHgxLjI4YWFjMDEyNTJjNmNwNQorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIDB4MS42YTA5ZTY2N2YzYjczYjJlOWIxMzJkNTE0MzRlNjgyZHA1MiwKKyAgICAtMHgxLjI4YWFjMDEyNTJjNmNwNQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS42YTA5ZTY2N2YzYmEwZjQyNjdlMzE0YzI4ZGJmNmIyM3A1MiwKKyAgICAweDEuMjhhYWMwMTI1MmM2ZHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLjZhMDllNjY3ZjNiYTBmNDI2N2UzMTRjMjhkYmY2YjIzcDUyLAorICAgIC0weDEuMjhhYWMwMTI1MmM2ZHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgMHgxLjZhMDllNjY3ZjNiY2UzNTYzNGIyZmMzOTgwNTgwN2I5cDUyLAorICAgIDB4MS4yOGFhYzAxMjUyYzZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEuNmEwOWU2NjdmM2JjZTM1NjM0YjJmYzM5ODA1ODA3YjlwNTIsCisgICAgLTB4MS4yOGFhYzAxMjUyYzZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAweDEuZmZmZmZmZmZmZjkzYWU1OTRlOWJlNDI1YTAxMGJkZWNwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg3Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLmZmZmZmZmZmZmY5M2FlNTk0ZTliZTQyNWEwMTBiZGVjcDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODdjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAweDEuZmZmZmZmZmZmZmQzYWU1OTRlOWJkYTliNmIzYTkxNjhwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgMHgxLmZmZmZmZmZmZmZkM2FlNTk0ZTliZGE5YjZiM2E5MTY4cDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS42MzNjZThmYjlmODdlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2VwOQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIEhVR0VfVkFMLAorICAgIDB4MS42MzNjZThmYjlmODdlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAweDEuZmZmZmZmZmZmZmQzYWU1OTRlOWJkYTliNmIzYTkxNjhwMTAyMywKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2RwOQorICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIDB4MS5mZmZmZmZmZmZmZDNhZTU5NGU5YmRhOWI2YjNhOTE2OHAxMDIzLAorICAgIDB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEuZmZmZmZmZmZmZjkzYWU1OTRlOWJlNDI1YTAxMGJkZWNwMTAyMywKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2NwOQorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIDB4MS5mZmZmZmZmZmZmOTNhZTU5NGU5YmU0MjVhMDEwYmRlY3AxMDIzLAorICAgIDB4MS42MzNjZThmYjlmODdjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwMGFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwMGFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDBhcDAsCisgICAgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDBhcDAsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAxMDAwYXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU5OAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAxMDAwYXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEuMDAwMDAwMDIwMDAwMDAwMGFhYWE4YWFhYzE2YzAxNmNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAweDEuMDAwMDAwMDIwMDAwMDAwMGFhYWE4YWFhYzE2YzAxNmNwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLjAwMDAwMDAyMDAwMDAwMDBhYWFhYWFhYWMxNmMxNmMxcDAsCisgICAgMHgxLjBwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLjAwMDAwMDAyMDAwMDAwMDBhYWFhYWFhYWMxNmMxNmMxcDAsCisgICAgLTB4MS4wcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS4wMDAwMDAwMjAwMDAwMDAwYWFhYWVhYWFjMTZjNDE2Y3AwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIDB4MS4wMDAwMDAwMjAwMDAwMDAwYWFhYWVhYWFjMTZjNDE2Y3AwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAweDEuMDAwODAwMGFhYWIwNWIwNmQwNzNmYmYzNTY3NWQzYzdwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS4wMDA4MDAwYWFhYjA1YjA2ZDA3M2ZiZjM1Njc1ZDNjN3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIDB4MS4wMDA4MDAwYWFhYjA1YjA3NTA3NTUxNDliY2RjYTAzNHAwLAorICAgIDB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgMHgxLjAwMDgwMDBhYWFiMDViMDc1MDc1NTE0OWJjZGNhMDM0cDAsCisgICAgLTB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLjAwMDgwMDBhYWFiMDViMDg1MDc3ZmJmNjg5YWE0NTBlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEuMDAwODAwMGFhYWIwNWIwODUwNzdmYmY2ODlhYTQ1MGVwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAweDEuMDAyMDAwYWFhYzE2YzMwYTMxZDU5YzIyMTc4ZTgwZDJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS4wMDIwMDBhYWFjMTZjMzBhMzFkNTljMjIxNzhlODBkMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS4wMDIwMDBhYWFjMTZjMzBjMzFlYWYxYmJiMTkwMTk0N3AwLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLjAwMjAwMGFhYWMxNmMzMGMzMWVhZjFiYmIxOTAxOTQ3cDAsCisgICAgLTB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgMHgxLjAwMjAwMGFhYWMxNmMzMTAzMjE1OWNlZWU1OTM3YTM4cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAweDEuMDAyMDAwYWFhYzE2YzMxMDMyMTU5Y2VlZTU5MzdhMzhwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAweDEuMDA4MDBhYWIwNWIxZmIxYzUwNDI5ZWEyNjk0Y2NhYzhwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIDB4MS4wMDgwMGFhYjA1YjFmYjFjNTA0MjllYTI2OTRjY2FjOHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIDB4MS4wMDgwMGFhYjA1YjFmYjI0NTE5ODA1MDkzN2JiMDM2OHAwLAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLjAwODAwYWFiMDViMWZiMjQ1MTk4MDUwOTM3YmIwMzY4cDAsCisgICAgLTB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjIxCisgICAgMHgxLjAwODAwYWFiMDViMWZiMzQ1NDQyZDFkNmQ0OTgzNTA4cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAweDEuMDA4MDBhYWIwNWIxZmIzNDU0NDJkMWQ2ZDQ5ODM1MDhwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjMKKyAgICAweDEuMDIwMGFhYzE2ZGI2ZWRjYzgwYjMzYjEwNjIwMzNjYzdwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIDB4MS4wMjAwYWFjMTZkYjZlZGNjODBiMzNiMTA2MjAzM2NjN3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS4wMjAwYWFjMTZkYjZlZGVjOTYwY2Q1MTIwN2U0NmMxZXAwLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgMHgxLjAyMDBhYWMxNmRiNmVkZWM5NjBjZDUxMjA3ZTQ2YzFlcDAsCisgICAgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLjAyMDBhYWMxNmRiNmVlMmNjMGMwMDkxNTUzYTlkMGNlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAweDEuMDIwMGFhYzE2ZGI2ZWUyY2MwYzAwOTE1NTNhOWQwY2VwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEuMDgwYWIwNWNhNjE0NWU1Yjg4Mjk2YjE4N2YwNjgwNWZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIDB4MS4wODBhYjA1Y2E2MTQ1ZTViODgyOTZiMTg3ZjA2ODA1ZnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIDB4MS4wODBhYjA1Y2E2MTQ1ZWRjZGU5MDM5OWM4NzEzYTM4NHAwLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgMHgxLjA4MGFiMDVjYTYxNDVlZGNkZTkwMzk5Yzg3MTNhMzg0cDAsCisgICAgLTB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgMHgxLjA4MGFiMDVjYTYxNDVmZGY4YjVkZDZhNDk3M2E0YTRlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAweDEuMDgwYWIwNWNhNjE0NWZkZjhiNWRkNmE0OTczYTRhNGVwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAweDEuZTE4ZmEwZGYyZDliYTU4ZjU4OTM2MDk1YWU4ZDk5NjlwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLmUxOGZhMGRmMmQ5YmE1OGY1ODkzNjA5NWFlOGQ5OTY5cDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICAweDEuZTE4ZmEwZGYyZDliYzI5MzI3ZjcxNzc3NGQwYzA2NjFwMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLmUxOGZhMGRmMmQ5YmMyOTMyN2Y3MTc3NzRkMGMwNjYxcDEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEuZTE4ZmEwZGYyZDliZmM5YWM2YmU4NTNhOGZhZDhmMzNwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLmUxOGZhMGRmMmQ5YmZjOWFjNmJlODUzYThmYWQ4ZjMzcDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDEKKyAgICAweDEuYjRlZTg1OGRlM2U3YzljZDU2OWUzZDcxOWIzOGQzNDJwNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLmI0ZWU4NThkZTNlN2M5Y2Q1NjllM2Q3MTliMzhkMzQycDQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAweDEuYjRlZTg1OGRlM2U4MDA2MWM2YTUxZGRkZjk2MGYzMTdwNCwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLmI0ZWU4NThkZTNlODAwNjFjNmE1MWRkZGY5NjBmMzE3cDQsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAweDEuYjRlZTg1OGRlM2U4NmQ4YWE2YjJkZWI2Y2EyYzYxMDRwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgMHgxLmI0ZWU4NThkZTNlODZkOGFhNmIyZGViNmNhMmM2MTA0cDQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAweDEuNzQ5ZWFhOTNmNGU3MDNlOTJjNjA0Y2JiODJiMDc4N2FwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS43NDllYWE5M2Y0ZTcwM2U5MmM2MDRjYmI4MmIwNzg3YXAxMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS43NDllYWE5M2Y0ZTc2MTEwZDVhNTg3ZTUwZTRkM2RjM3AxMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjc0OWVhYTkzZjRlNzYxMTBkNWE1ODdlNTBlNGQzZGMzcDEwLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLjc0OWVhYTkzZjRlODFiNjAyODJmZmUzODZiNjQ4ODUxcDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTIKKyAgICAweDEuNzQ5ZWFhOTNmNGU4MWI2MDI4MmZmZTM4NmI2NDg4NTFwMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAweDEuMGYyZWJkMGE4MDA1NDNhNjNjY2EwMTQyODk5ZTI2MmZwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS4wZjJlYmQwYTgwMDU0M2E2M2NjYTAxNDI4OTllMjYyZnAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIDB4MS4wZjJlYmQwYTgwMDVjYjNkOWI0ZjQxNDE4NmFiYTRkN3AyMiwKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLjBmMmViZDBhODAwNWNiM2Q5YjRmNDE0MTg2YWJhNGQ3cDIyLAorICAgIC0weDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjU3CisgICAgMHgxLjBmMmViZDBhODAwNmRhNmM1ODU5YzE0MDRjMjlhZmYwcDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAweDEuMGYyZWJkMGE4MDA2ZGE2YzU4NTljMTQwNGMyOWFmZjBwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAweDEuMWY0M2ZjYzRiNjYxYTg5NDRhYzM4OWM0NGMxMzcyZmZwNDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS4xZjQzZmNjNGI2NjFhODk0NGFjMzg5YzQ0YzEzNzJmZnA0NSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIDB4MS4xZjQzZmNjNGI2NjJjN2Q4NDc4ODQwMjY4NDQ5YmMyNXA0NSwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLjFmNDNmY2M0YjY2MmM3ZDg0Nzg4NDAyNjg0NDliYzI1cDQ1LAorICAgIC0weDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLjFmNDNmY2M0YjY2NTA2NjA0MTExYWNlZTUyODI0NGJmcDQ1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEuMWY0M2ZjYzRiNjY1MDY2MDQxMTFhY2VlNTI4MjQ0YmZwNDUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAweDEuNDI1OTgyY2Y1OTdhNGQ1MmM4OWVhODU3YmJhYTgwN2FwOTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS40MjU5ODJjZjU5N2E0ZDUyYzg5ZWE4NTdiYmFhODA3YXA5MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIDB4MS40MjU5ODJjZjU5N2NkMjA1Y2UzZDViNGVkYjAzMTc1NnA5MSwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLjQyNTk4MmNmNTk3Y2QyMDVjZTNkNWI0ZWRiMDMxNzU2cDkxLAorICAgIC0weDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgMHgxLjQyNTk4MmNmNTk4MWRiNmJkOTdhYzE0YzM1ZTY2NmM2cDkxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEuNDI1OTgyY2Y1OTgxZGI2YmQ5N2FjMTRjMzVlNjY2YzZwOTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAweDEuOTVlNTRjNWRkNDFiMjA2MDBkZDYwMWEwYWU2NzJmZjRwMTgzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAweDEuOTVlNTRjNWRkNDFiMjA2MDBkZDYwMWEwYWU2NzJmZjRwMTgzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLjk1ZTU0YzVkZDQyMTc3ZjUzZjRkNTIxOWRmMTFjYTNicDE4MywKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgMHgxLjk1ZTU0YzVkZDQyMTc3ZjUzZjRkNTIxOWRmMTFjYTNicDE4MywKKyAgICAtMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDY3NQorICAgIDB4MS45NWU1NGM1ZGQ0MmUyNzFmYTIzYmYzNTg1YjY1NTA2MHAxODMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS45NWU1NGM1ZGQ0MmUyNzFmYTIzYmYzNTg1YjY1NTA2MHAxODMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAweDEuNDFjN2E4ODE0YmUxOTJhNWRmMjViMDQyYWY4MjRlZmRwMzY4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzgKKyAgICAweDEuNDFjN2E4ODE0YmUxOTJhNWRmMjViMDQyYWY4MjRlZmRwMzY4LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLjQxYzdhODgxNGJlYmEwZTMyMzMwMGY3NzdkYTY1ODU0cDM2OCwKKyAgICAweDEuMHA4CisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLjQxYzdhODgxNGJlYmEwZTMyMzMwMGY3NzdkYTY1ODU0cDM2OCwKKyAgICAtMHgxLjBwOAorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS40MWM3YTg4MTRiZmZiZDVkYWI0NGNlZDI2ZmFjY2JmYnAzNjgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS40MWM3YTg4MTRiZmZiZDVkYWI0NGNlZDI2ZmFjY2JmYnAzNjgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAweDEuOTQ3NjUwNGJhODM5OWY1Yjk3Y2FlMzViZWI3OGMzYzVwNzM3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAweDEuOTQ3NjUwNGJhODM5OWY1Yjk3Y2FlMzViZWI3OGMzYzVwNzM3LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLjk0NzY1MDRiYTg1MmU2YzA5Yzg1NjdjMDFjNWE2NjQ4cDczNywKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLjk0NzY1MDRiYTg1MmU2YzA5Yzg1NjdjMDFjNWE2NjQ4cDczNywKKyAgICAtMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIDB4MS45NDc2NTA0YmE4ODU3NThhYTVmYTc1NDVlMTBlOGU0NnA3MzcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIDB4MS45NDc2NTA0YmE4ODU3NThhYTVmYTc1NDVlMTBlOGU0NnA3MzcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODkKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgMHgxLjcyZjE0N2ZlZTQwMDA0ZjYzNjk2MGZiNjU2MTZmOTMzcDMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIDB4MS40MTJjYzJhOGQ0ZTlkZjgzMTljZWVlNDVkOTNmMjFmM3AxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MTc5MDVjZWM1ZWJiMTljNGZhMzlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS44YjA3NTUxZDlmNTRmYjViZWQ0NWU4YTRkNWE5MTc0MnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgMHgxLjUzMTk5NGNlNTI1Yjk3ZDQ4OWMxYmViMzgzOTQzMjQwcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDIKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDQKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgMHgxLnAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTAKKyAgICAweDEucDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgMHgxLnAwLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgMHgxLnAwLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTYKKyAgICAweDEuNTMxOTk0Y2U1MjViOTdkNDg5YzFiZWIzODM5NDMyNDBwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAweDEuOGIwNzU1MWQ5ZjU0ZmI1YmVkNDVlOGE0ZDVhOTE3NDJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDcxOQorICAgIDB4MS44YjA3NTUxZDlmNTUxNzkwNWNlYzVlYmIxOWM0ZmEzOXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgMHgxLjQxMmNjMmE4ZDRlOWRmODMxOWNlZWU0NWQ5M2YyMWYzcDEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjEKKyAgICAweDEuNzJmMTQ3ZmVlNDAwMDRmNjM2OTYwZmI2NTYxNmY5MzNwMywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAweDEuZmZmZmZmZmZmZmQzYWU1OTRlOWJkYTliNmIzYTkxNjhwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzI2CisgICAgMHgxLmZmZmZmZmZmZmZkM2FlNTk0ZTliZGE5YjZiM2E5MTY4cDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS42MzNjZThmYjlmODdlcDkKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9jb3NoZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvY29zaGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxM2IxYjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvY29zaGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMjQzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19jb3NoZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS4yYWUwNjEwMGU2MmJlOTA0ZmRiNWJjODU2ODFkNWFhZXAxMSwKKyAgICAtMHgxLjBmMWZiMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4yYWUwNjEwMGU2MmJlOTA0ZmRiNWJjODU2ODFkNWFhZXAxMSwKKyAgICAweDEuMGYxZmIycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDBjODc3ODVkNjE4OHAwLAorICAgIC0weDEuNDA1ZjkwcC0zOAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMGM4Nzc4NWQ2MTg4cDAsCisgICAgMHgxLjQwNWY5MHAtMzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjRmMWZlNmZmZmQwNTU0MDNhMGFmYTVmNjFmN2FkNDU2cDEyMiwKKyAgICAtMHgxLjU2MWIxMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS40ZjFmZTZmZmZkMDU1NDAzYTBhZmE1ZjYxZjdhZDQ1NnAxMjIsCisgICAgMHgxLjU2MWIxMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5kMmYyMjI3YWU0ZGQ2NWI1ODEwNzFiMGY0MDQ2N2MzMHAxMjIsCisgICAgLTB4MS41NzZlYmNwNgorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZDJmMjIyN2FlNGRkNjViNTgxMDcxYjBmNDA0NjdjMzBwMTIyLAorICAgIDB4MS41NzZlYmNwNgorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuOTM2YjQxMDQ3YzdmNGVmMjBhY2JmYzNhYjI4YWRkZTFwNywKKyAgICAtMHgxLjdmZmY4MHAyCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS45MzZiNDEwNDdjN2Y0ZWYyMGFjYmZjM2FiMjhhZGRlMXA3LAorICAgIDB4MS43ZmZmODBwMgorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjAwMDAwMTdmNTg0MzdhYzU3YmU4NmVhZjg3OGFmZGRhcDAsCisgICAgLTB4MS5iYjA2Y2NwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuMDAwMDAxN2Y1ODQzN2FjNTdiZTg2ZWFmODc4YWZkZGFwMCwKKyAgICAweDEuYmIwNmNjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLmZiYWNmNGNhNzAyYTk3OTQ1ZDdjN2Q3OGMwYmRhZDQ3cDgsCisgICAgLTB4MS5iYjEyNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZiYWNmNGNhNzAyYTk3OTQ1ZDdjN2Q3OGMwYmRhZDQ3cDgsCisgICAgMHgxLmJiMTI0MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMDAwMDAxN2ZiMmM5YjllMjg4OTgzZmEwNmNlNjJiMDRwMCwKKyAgICAtMHgxLmJiM2IxOHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS4wMDAwMDE3ZmIyYzliOWUyODg5ODNmYTA2Y2U2MmIwNHAwLAorICAgIDB4MS5iYjNiMThwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuMDAwMDA3MDAwMzU1MWZlY2VhMGRhZTZkMDU1MWRlMTBwMCwKKyAgICAtMHgxLmRlZWYxMnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS4wMDAwMDcwMDAzNTUxZmVjZWEwZGFlNmQwNTUxZGUxMHAwLAorICAgIDB4MS5kZWVmMTJwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuMDFmZTJiMDAwODc0ZDg5MTdiM2E3M2ZkMDgwNTQyZjdwMCwKKyAgICAtMHgxLmZlYzA5MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjAxZmUyYjAwMDg3NGQ4OTE3YjNhNzNmZDA4MDU0MmY3cDAsCisgICAgMHgxLmZlYzA5MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjAwMDAwMDAwMDAyMDAwMDAwMDAwMDBhYWFhYWFhYWFhcDAsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS4wMDAwMDAwMDAwMjAwMDAwMDAwMDAwYWFhYWFhYWFhYXAwLAorICAgIC0weDEucC0yMQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDgwcDAsCisgICAgMHgxLjAwMDAwMnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDgwcDAsCisgICAgLTB4MS4wMDAwMDJwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuNzQ5ZjFmMDU5YWFmYWMzZTNhZTQ4MmY3MzIwMzRmOTlwMTAsCisgICAgMHgxLjAwMDAwYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuNzQ5ZjFmMDU5YWFmYWMzZTNhZTQ4MmY3MzIwMzRmOTlwMTAsCisgICAgLTB4MS4wMDAwMGFwMworICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjA4MGFiMTNlZmQ0ZTk5ODU2NmIwNjkzYTlhNzczMWE4cDAsCisgICAgMHgxLjAwMDAwZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjA4MGFiMTNlZmQ0ZTk5ODU2NmIwNjkzYTlhNzczMWE4cDAsCisgICAgLTB4MS4wMDAwMGVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS4wMjAwYWIwMTk4NmMyNWYxMzc3ZGQ4NTE2OWM3Y2NmNXAwLAorICAgIDB4MS4wMDAwMTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS4wMjAwYWIwMTk4NmMyNWYxMzc3ZGQ4NTE2OWM3Y2NmNXAwLAorICAgIC0weDEuMDAwMDEwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuZTE5MGZkMGQ2ZGI4ZGIwOWI1YWFkMmY4OWJiMmFkNzZwMSwKKyAgICAweDEuMDAwMDYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5lMTkwZmQwZDZkYjhkYjA5YjVhYWQyZjg5YmIyYWQ3NnAxLAorICAgIC0weDEuMDAwMDYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5iNGY0ZWFmZjA0ZjI2NWQ1ZjU1YWVjYWQ5NDQxMjg3N3A0LAorICAgIDB4MS4wMDAwZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmI0ZjRlYWZmMDRmMjY1ZDVmNTVhZWNhZDk0NDEyODc3cDQsCisgICAgLTB4MS4wMDAwZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjc2MTEyZjAyOGE4MjMzYzZiZTUyZGRkMGQxMWRkNTBmcDEwLAorICAgIDB4MS4wMDFmYzJwMworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjc2MTEyZjAyOGE4MjMzYzZiZTUyZGRkMGQxMWRkNTBmcDEwLAorICAgIC0weDEuMDAxZmMycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5lMjAzYmYyYTZmMTA0ZDk5MGQ5NjEwYWZiNmM4YjAxNHAxLAorICAgIDB4MS4wMDIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5lMjAzYmYyYTZmMTA0ZDk5MGQ5NjEwYWZiNmM4YjAxNHAxLAorICAgIC0weDEuMDAyMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuMDgwY2M1MDE1OTFjYzY2OWM0Y2M4Y2QxYTU4OTE3MjdwMCwKKyAgICAweDEuMDAyMGYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDgwY2M1MDE1OTFjYzY2OWM0Y2M4Y2QxYTU4OTE3MjdwMCwKKyAgICAtMHgxLjAwMjBmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjdkMTU3OTA5MjNmYzU5YjhkN2QxMGE4YzVkM2FkYzQ4cDEwLAorICAgIDB4MS4wMGI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS43ZDE1NzkwOTIzZmM1OWI4ZDdkMTBhOGM1ZDNhZGM0OHAxMCwKKyAgICAtMHgxLjAwYjhwMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwODE4NTAwMDIwYzA2Y2VkYmQzOGQzNGVlZTZhYjU0cDAsCisgICAgMHgxLjAxNzlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS4wMDgxODUwMDAyMGMwNmNlZGJkMzhkMzRlZWU2YWI1NHAwLAorICAgIC0weDEuMDE3OXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjhkMTdlNzAzMGI4ZTk2OTBlMDE5NjRiZDJjOGJlOTRicDAsCisgICAgMHgxLjAxYmZjMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuOGQxN2U3MDMwYjhlOTY5MGUwMTk2NGJkMmM4YmU5NGJwMCwKKyAgICAtMHgxLjAxYmZjMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuOGUzNDQzMDA3M2UwZTkxOTllNjhhZDNiY2E5ZWQ3OTNwMTAsCisgICAgMHgxLjAyMjBwMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjhlMzQ0MzAwNzNlMGU5MTk5ZTY4YWQzYmNhOWVkNzkzcDEwLAorICAgIC0weDEuMDIyMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuOTNkYzYzMDAwOGI2NjkxODdlNTE1ZGM3YWE0MmY0ODZwMCwKKyAgICAweDEuMDc2MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuOTNkYzYzMDAwOGI2NjkxODdlNTE1ZGM3YWE0MmY0ODZwMCwKKyAgICAtMHgxLjA3NjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmJmMWFiZWRiOWZjZGU3OTRiYTc5M2I2YjUwNWViMTdicDIyLAorICAgIDB4MS4wOHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuYmYxYWJlZGI5ZmNkZTc5NGJhNzkzYjZiNTA1ZWIxN2JwMjIsCisgICAgLTB4MS4wOHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuODlhY2RmMjZmOTkwMTJlYzUyN2M1ZWExMTYyYWEwOTVwNDYsCisgICAgMHgxLjA4MTBlZXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuODlhY2RmMjZmOTkwMTJlYzUyN2M1ZWExMTYyYWEwOTVwNDYsCisgICAgLTB4MS4wODEwZWVwNQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjk1MDZkMjAyMzM5NjkxZGFhOTIyNDJjODkwZDUzMDM3cDAsCisgICAgMHgxLjA4NTRwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjk1MDZkMjAyMzM5NjkxZGFhOTIyNDJjODkwZDUzMDM3cDAsCisgICAgLTB4MS4wODU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS45N2E3NWIwMDA4ODEwYmUyODUxMTBkY2ZmMzMxYWMxN3AwLAorICAgIDB4MS4wYTc1OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLjk3YTc1YjAwMDg4MTBiZTI4NTExMGRjZmYzMzFhYzE3cDAsCisgICAgLTB4MS4wYTc1OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLmEyMjlkZmZmZjYxZTE0OTQ3ODdkMjlkZGYyM2IwYTVjcDAsCisgICAgMHgxLjEyYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmEyMjlkZmZmZjYxZTE0OTQ3ODdkMjlkZGYyM2IwYTVjcDAsCisgICAgLTB4MS4xMmM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5hMzA4NjUwYTA5OTE2YTFmNjVkZDJlMzA0MGRhYzhlNnAwLAorICAgIDB4MS4xMzcwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5hMzA4NjUwYTA5OTE2YTFmNjVkZDJlMzA0MGRhYzhlNnAwLAorICAgIC0weDEuMTM3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuYWY3Yzg4YjU5ZjhjYjkwMjczZDk3MTIxMGY5ZWJhZjFwMCwKKyAgICAweDEuMWNkNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuYWY3Yzg4YjU5ZjhjYjkwMjczZDk3MTIxMGY5ZWJhZjFwMCwKKyAgICAtMHgxLjFjZDRwMAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmIxNDVkZWRkZDRiNzI4N2UwOTc2YjEzNGFhZWExZTU5cDAsCisgICAgMHgxLjFlMjRwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmIxNDVkZWRkZDRiNzI4N2UwOTc2YjEzNGFhZWExZTU5cDAsCisgICAgLTB4MS4xZTI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS4wMDAwMDI4MDI2MzJlZWNhYTAwODQ4YmUyZTQzZTdlOHAwLAorICAgIDB4MS4xZTQwMDRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuMDAwMDAyODAyNjMyZWVjYWEwMDg0OGJlMmU0M2U3ZThwMCwKKyAgICAtMHgxLjFlNDAwNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4wMDAwMDI4MGFlMGM5Mzc2ZDAyYzBlZTJlZWMwN2I5Y3AwLAorICAgIDB4MS4xZTVlNjJwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuMDAwMDAyODBhZTBjOTM3NmQwMmMwZWUyZWVjMDdiOWNwMCwKKyAgICAtMHgxLjFlNWU2MnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS4wMDBhMGQ0MTliNGFkNzMyNWNjZWQ2ZTNkZjI0MzJiN3AwLAorICAgIDB4MS4xZWY0cC02CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuMDAwYTBkNDE5YjRhZDczMjVjY2VkNmUzZGYyNDMyYjdwMCwKKyAgICAtMHgxLjFlZjRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5iMjY3ZWQ3MjNmODhmODIxMzZiYTM2NmRiMjE3MTU0OHAwLAorICAgIDB4MS4xZWY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5iMjY3ZWQ3MjNmODhmODIxMzZiYTM2NmRiMjE3MTU0OHAwLAorICAgIC0weDEuMWVmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuZDdmZDA1MGU0MmJmYjlkYTUyNGJkYTFiNjY4ZWQyMGVwMjQsCisgICAgMHgxLjFmMGMxY3A0CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZDdmZDA1MGU0MmJmYjlkYTUyNGJkYTFiNjY4ZWQyMGVwMjQsCisgICAgLTB4MS4xZjBjMWNwNAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjAyYjA1YjAwMDBmZTQzMGI4ZWMwYWIwMDA4OTM0MzIwcDAsCisgICAgMHgxLjI4OTJjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjAyYjA1YjAwMDBmZTQzMGI4ZWMwYWIwMDA4OTM0MzIwcDAsCisgICAgLTB4MS4yODkyYzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5iNTZkN2IwMDE5ZWJlMTk4MGE4OGJmYzk4Yjk2ZjkwM3A1LAorICAgIDB4MS4yYzczM2NwMgorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmI1NmQ3YjAwMTllYmUxOTgwYTg4YmZjOThiOTZmOTAzcDUsCisgICAgLTB4MS4yYzczM2NwMgorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjJkZGUwNzAwMjdlNTU1YWY5M2JmNGIzYTI5NmZlMWU0cDAsCisgICAgMHgxLjJlMTZkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjJkZGUwNzAwMjdlNTU1YWY5M2JmNGIzYTI5NmZlMWU0cDAsCisgICAgLTB4MS4yZTE2ZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS4wYmJiZTcwMDAwMDFlNmIzYjQ1NWVmZGFiNTNlNGVlNHAwLAorICAgIDB4MS4zNGRlMzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS4wYmJiZTcwMDAwMDFlNmIzYjQ1NWVmZGFiNTNlNGVlNHAwLAorICAgIC0weDEuMzRkZTMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZDZkYWVhZGMwYWEzODZhMmRmN2ZlZTJmOWI3NThiZGJwMCwKKyAgICAweDEuMzhwMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLmQ2ZGFlYWRjMGFhMzg2YTJkZjdmZWUyZjliNzU4YmRicDAsCisgICAgLTB4MS4zOHAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuZWM3ZTg4MGJmNDMyYWNmMGNkYjMwNTVjODllY2ExMTlwMCwKKyAgICAweDEuNDU5NTA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5lYzdlODgwYmY0MzJhY2YwY2RiMzA1NWM4OWVjYTExOXAwLAorICAgIC0weDEuNDU5NTA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS45YTc0MTUwYWEyMzVlZTdjODFlYjBjOGE4NGU1NzU2ZXAyLAorICAgIDB4MS40NWNmNmFwMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjlhNzQxNTBhYTIzNWVlN2M4MWViMGM4YTg0ZTU3NTZlcDIsCisgICAgLTB4MS40NWNmNmFwMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmY3YzYwMWMyNmEwYWFiMDdhY2IzYWVkMTI5NTI5ODYwcDExNiwKKyAgICAweDEuNDcxOWM2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS5mN2M2MDFjMjZhMGFhYjA3YWNiM2FlZDEyOTUyOTg2MHAxMTYsCisgICAgLTB4MS40NzE5YzZwNgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZlYjc1MTM3ZTczZmM1NTExYTFjZGRhMWNlNmVhNzNicDExNiwKKyAgICAweDEuNDcyN2NhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5mZWI3NTEzN2U3M2ZjNTUxMWExY2RkYTFjZTZlYTczYnAxMTYsCisgICAgLTB4MS40NzI3Y2FwNgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjM5MmZlMTAwMzAzYWMyYzBmNjUzYTNhYzQwYmIzNDVlcDAsCisgICAgMHgxLjUwMjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS4zOTJmZTEwMDMwM2FjMmMwZjY1M2EzYWM0MGJiMzQ1ZXAwLAorICAgIC0weDEuNTAyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjdlY2EzMTBiMmNjMThmMWIxNDAxMmIxYWJhNzVkMTkxcDYsCisgICAgMHgxLjUwNDZhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuN2VjYTMxMGIyY2MxOGYxYjE0MDEyYjFhYmE3NWQxOTFwNiwKKyAgICAtMHgxLjUwNDZhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjAzYjk2OGZmZmYwMjE1YmZhY2M3MGMxY2M4Y2JlYjAxcDAsCisgICAgMHgxLjVjZWE0NHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS4wM2I5NjhmZmZmMDIxNWJmYWNjNzBjMWNjOGNiZWIwMXAwLAorICAgIC0weDEuNWNlYTQ0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmZiZGFiYWM5N2FjMTMwNTE3Y2EwODUwMDFkZTk3YThkcDYsCisgICAgMHgxLjYyNWViY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmZiZGFiYWM5N2FjMTMwNTE3Y2EwODUwMDFkZTk3YThkcDYsCisgICAgLTB4MS42MjVlYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmUzMDhmZmY2MDQ4Mzc1MGE4YTY2YzkzZTE2ZGE5NnAxMjYsCisgICAgMHgxLjYyZTNmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZmZTMwOGZmZjYwNDgzNzUwYThhNjZjOTNlMTZkYTk2cDEyNiwKKyAgICAtMHgxLjYyZTNmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMjEwNjM4MzZiNDlkY2M4OWU0YzVhYWI1ZTkxMWQxcDEyNywKKyAgICAweDEuNjJlNGI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuMDAyMTA2MzgzNmI0OWRjYzg5ZTRjNWFhYjVlOTExZDFwMTI3LAorICAgIC0weDEuNjJlNGI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDNkZDM4ZmZmZjAxMTZiNDEyODA3NmE0OTVjY2Q4MTRwMCwKKyAgICAweDEuNjM2NDQ0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLjAzZGQzOGZmZmYwMTE2YjQxMjgwNzZhNDk1Y2NkODE0cDAsCisgICAgLTB4MS42MzY0NDRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuMzg4N2M1OWZiMDRkNDM0ZTYwOTYxMGMxNDhkOWI4Y2VwMTI3LAorICAgIDB4MS42M2IwODBwNgorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS4zODg3YzU5ZmIwNGQ0MzRlNjA5NjEwYzE0OGQ5YjhjZXAxMjcsCisgICAgLTB4MS42M2IwODBwNgorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mNDBhMmM2YzdlNGVlYzRjMGVkMWZhZTMyZDI1NWUyM3AxMjcsCisgICAgMHgxLjY1OTFjNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmY0MGEyYzZjN2U0ZWVjNGMwZWQxZmFlMzJkMjU1ZTIzcDEyNywKKyAgICAtMHgxLjY1OTFjNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLmZmNzBlYzQwMGI5YzJkOGRlZTg3OGUzMGI1NjMzOWJlcDEyNywKKyAgICAweDEuNjVhOGRhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuZmY3MGVjNDAwYjljMmQ4ZGVlODc4ZTMwYjU2MzM5YmVwMTI3LAorICAgIC0weDEuNjVhOGRhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMDBmZTc1ZmZmZmEyNTc5ZjczZWRkYjI2OTMyNjQxYWRwMCwKKyAgICAweDEuNjhkNTAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjAwZmU3NWZmZmZhMjU3OWY3M2VkZGIyNjkzMjY0MWFkcDAsCisgICAgLTB4MS42OGQ1MDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMDAwMDAxMDAwMzRkNGQ4MmNjNjU5YmE0MmZkOWVlZTdwMCwKKyAgICAweDEuNmEwYzNjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS4wMDAwMDEwMDAzNGQ0ZDgyY2M2NTliYTQyZmQ5ZWVlN3AwLAorICAgIC0weDEuNmEwYzNjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wNDM3YjBmZmZmNmZjMzk2MDcwMzg0OWQwNDg2NGQxOXAwLAorICAgIDB4MS43MzNlYWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuMDQzN2IwZmZmZjZmYzM5NjA3MDM4NDlkMDQ4NjRkMTlwMCwKKyAgICAtMHgxLjczM2VhYXAtMworICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS4wMDA0NTkwMDAyOGI3NmNlZTQzMzBjYzM2MTA1MDA0Y3AwLAorICAgIDB4MS43OTcxMjRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuMDAwNDU5MDAwMjhiNzZjZWU0MzMwY2MzNjEwNTAwNGNwMCwKKyAgICAtMHgxLjc5NzEyNHAtNworICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS4xMWFlZWQwMDAwZmRhOTc3ZjFkODk0NjA2YzEzMTI3ZXAwLAorICAgIDB4MS43YTczMGNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMTFhZWVkMDAwMGZkYTk3N2YxZDg5NDYwNmMxMzEyN2VwMCwKKyAgICAtMHgxLjdhNzMwY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4wMTE4MmVmZmZjZDE0YjMzZDQ1YzkwMGVkMDNlNWI4ZHAwLAorICAgIDB4MS43YTllNTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuMDExODJlZmZmY2QxNGIzM2Q0NWM5MDBlZDAzZTViOGRwMCwKKyAgICAtMHgxLjdhOWU1MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS4wNDZhNjcwMDAzMGQ0YWY4OTg1MDA3ZTg1YjRhZjNhN3AwLAorICAgIDB4MS43YmQ2YjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuMDQ2YTY3MDAwMzBkNGFmODk4NTAwN2U4NWI0YWYzYTdwMCwKKyAgICAtMHgxLjdiZDZiNnAtMworICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS41ZGY5MWNmZmY4NmY3MjEwZmExNjM2OGRmMDY5OGZhOXAxNiwKKyAgICAweDEuODMxM2VhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuNWRmOTFjZmZmODZmNzIxMGZhMTYzNjhkZjA2OThmYTlwMTYsCisgICAgLTB4MS44MzEzZWFwMworICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS4wNDliMDUwMDAxYzgwOGE5NDE1NTMzYWZjN2E4NDg4NnAwLAorICAgIDB4MS44M2U1YThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuMDQ5YjA1MDAwMWM4MDhhOTQxNTUzM2FmYzdhODQ4ODZwMCwKKyAgICAtMHgxLjgzZTVhOHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS4wNGIxYTUwMDAyN2Y4OWExYjBmZTQxNDg5ODNlMThhMnAwLAorICAgIDB4MS44Nzk3MGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuMDRiMWE1MDAwMjdmODlhMWIwZmU0MTQ4OTgzZTE4YTJwMCwKKyAgICAtMHgxLjg3OTcwY3AtMworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS45ODJhYTRmOWQ2ZWNmMmRhZjI5ZWY2MzExYzdkYjhlMXAxNiwKKyAgICAweDEuODhwMworICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS45ODJhYTRmOWQ2ZWNmMmRhZjI5ZWY2MzExYzdkYjhlMXAxNiwKKyAgICAtMHgxLjg4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuZDUwMTk1MGU4ZWYyM2M1YWNiYjc4ZTZiZjdhNDQ0MWNwNywKKyAgICAweDEuODlhMzllcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuZDUwMTk1MGU4ZWYyM2M1YWNiYjc4ZTZiZjdhNDQ0MWNwNywKKyAgICAtMHgxLjg5YTM5ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmRhYjc3ZDA0MWVkNWFlMDlmMTE5NDMzNmUxZGZlY2E0cDE2LAorICAgIDB4MS44Y2Q1NThwMworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5kYWI3N2QwNDFlZDVhZTA5ZjExOTQzMzZlMWRmZWNhNHAxNiwKKyAgICAtMHgxLjhjZDU1OHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjAwMTM3NzAwMDJhMDZiZGE1ZGVkNTU2NDA2ZTM0YTU0cDAsCisgICAgMHgxLjhmNGYzZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS4wMDEzNzcwMDAyYTA2YmRhNWRlZDU1NjQwNmUzNGE1NHAwLAorICAgIC0weDEuOGY0ZjNlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjAxNGE4YzAwMDAwMTcyNGJjZjIxYmNjOWNkNGVmNjQ3cDAsCisgICAgMHgxLjliMzcxNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS4wMTRhOGMwMDAwMDE3MjRiY2YyMWJjYzljZDRlZjY0N3AwLAorICAgIC0weDEuOWIzNzE2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjkyYzFkZjBhYTA4Yzg5NDlkMmRiZmI2MTcxMjYzNmVhcDMsCisgICAgMHgxLjljYjE2NHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjkyYzFkZjBhYTA4Yzg5NDlkMmRiZmI2MTcxMjYzNmVhcDMsCisgICAgLTB4MS45Y2IxNjRwMQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS41YjI1OThmZmZmZmUzOGZkZTI4YWIzZTZmNmM5MzkyMnAwLAorICAgIDB4MS5hNDI5OWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuNWIyNTk4ZmZmZmZlMzhmZGUyOGFiM2U2ZjZjOTM5MjJwMCwKKyAgICAtMHgxLmE0Mjk5Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS4wNTZlYTUwMjBlYjQ2MDdlODgwMGU1NjE3NWI5NTQyN3AwLAorICAgIDB4MS5hNTI5MzJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuMDU2ZWE1MDIwZWI0NjA3ZTg4MDBlNTYxNzViOTU0MjdwMCwKKyAgICAtMHgxLmE1MjkzMnAtMworICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS4xNjkyOGYwMDAwYmY5MjYyOTFlZDllZmE1ODJjY2VhYnAwLAorICAgIDB4MS5hYWVhZTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuMTY5MjhmMDAwMGJmOTI2MjkxZWQ5ZWZhNTgyY2NlYWJwMCwKKyAgICAtMHgxLmFhZWFlNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS4wMTczMWFmZmZmMDI4NTliZDFmYzJlM2QzZDVjNmFmY3AwLAorICAgIDB4MS5iM2IwZmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuMDE3MzFhZmZmZjAyODU5YmQxZmMyZTNkM2Q1YzZhZmNwMCwKKyAgICAtMHgxLmIzYjBmY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5mYzNiNWFjODYxNGE3M2U4Mzk0ZmU5ZTFiZjM0MWE1ZHAzLAorICAgIDB4MS5iYThhYThwMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5mYzNiNWFjODYxNGE3M2U4Mzk0ZmU5ZTFiZjM0MWE1ZHAzLAorICAgIC0weDEuYmE4YWE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuZmNiNjk4Y2ViZWZiZGRlMDg3Zjk0MGUxMzYzN2I5OTdwMywKKyAgICAweDEuYmFhOWJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuZmNiNjk4Y2ViZWZiZGRlMDg3Zjk0MGUxMzYzN2I5OTdwMywKKyAgICAtMHgxLmJhYTliZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjAwNjI4OTAwMDAwMDBhMjAwNTE3N2EzNjBiOGRhZmFkcDAsCisgICAgMHgxLmMxMmE1MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS4wMDYyODkwMDAwMDAwYTIwMDUxNzdhMzYwYjhkYWZhZHAwLAorICAgIC0weDEuYzEyYTUwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLjg2MWNlOTBhMmNkOTQ1ZTI3OTZhNzAwMzRhMDYyZjkwcDEsCisgICAgMHgxLmM3OGMyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjg2MWNlOTBhMmNkOTQ1ZTI3OTZhNzAwMzRhMDYyZjkwcDEsCisgICAgLTB4MS5jNzhjMmNwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS4wMDAwMTk2MjAwMzI2MTk0ZjM2Zjg3YTlhMTA5NTRiY3AwLAorICAgIDB4MS5jN2ZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLjAwMDAxOTYyMDAzMjYxOTRmMzZmODdhOWExMDk1NGJjcDAsCisgICAgLTB4MS5jN2ZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLjFhNjA0NGZmZmYwMTliZTdmZTQzMTUzNGMxZTFlOTFjcDAsCisgICAgMHgxLmNjZWY1MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS4xYTYwNDRmZmZmMDE5YmU3ZmU0MzE1MzRjMWUxZTkxY3AwLAorICAgIC0weDEuY2NlZjUycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjkwOGRlMTBhZmQ5ZjVhYTBiYWRjMDc1YThhYTE0Y2NmcDEsCisgICAgMHgxLmNlYjFjMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLjkwOGRlMTBhZmQ5ZjVhYTBiYWRjMDc1YThhYTE0Y2NmcDEsCisgICAgLTB4MS5jZWIxYzBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS5hMDYwYWIwOGJlNzE2NGEwOTU0NmI1Y2UxNTk3MGUzOHAxLAorICAgIDB4MS5kOTIzOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS5hMDYwYWIwOGJlNzE2NGEwOTU0NmI1Y2UxNTk3MGUzOHAxLAorICAgIC0weDEuZDkyMzljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuZDM0NGUxMGU4YmNlYTAwYWM0ODQ0YTM0NDhiZTlhNWVwOSwKKyAgICAweDEuZTIxZmYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuZDM0NGUxMGU4YmNlYTAwYWM0ODQ0YTM0NDhiZTlhNWVwOSwKKyAgICAtMHgxLmUyMWZmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLjAxZGJhYmZmZmZmZGM4OTA5OTIxMDFlOWUwMjMwMTc3cDAsCisgICAgMHgxLmVkMzQyYXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS4wMWRiYWJmZmZmZmRjODkwOTkyMTAxZTllMDIzMDE3N3AwLAorICAgIC0weDEuZWQzNDJhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLjc1Y2FhNzAyYWMzMWZjYWNhNzAzY2I3NjdlNzA0NzMycDIxLAorICAgIDB4MS5mNDE2OWFwMworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS43NWNhYTcwMmFjMzFmY2FjYTcwM2NiNzY3ZTcwNDczMnAyMSwKKyAgICAtMHgxLmY0MTY5YXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjJkMTFjZWZmYTczZDYwM2VjYTk2MWUwN2ZiY2QwNzQ5cDg5LAorICAgIDB4MS5mNDVkcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMmQxMWNlZmZhNzNkNjAzZWNhOTYxZTA3ZmJjZDA3NDlwODksCisgICAgLTB4MS5mNDVkcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMDAwMDFmMDIwMDYxM2Y1NGUwMThlYWNjYzc2OTA2NzFwMCwKKyAgICAweDEuZjdmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS4wMDAwMWYwMjAwNjEzZjU0ZTAxOGVhY2NjNzY5MDY3MXAwLAorICAgIC0weDEuZjdmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mZThiZmQzODc2MjQ5MGM3ZjY4ZTgwYTRiZGYzYTE3ZHA4OSwKKyAgICAweDEuZjg5NmEycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuZmU4YmZkMzg3NjI0OTBjN2Y2OGU4MGE0YmRmM2ExN2RwODksCisgICAgLTB4MS5mODk2YTJwNQorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5kNmNmY2FjNTdkNmJhYWEyOWRlNTdjOTNlNTc2YWJjNXAxLAorICAgIDB4MS5mOWZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5kNmNmY2FjNTdkNmJhYWEyOWRlNTdjOTNlNTc2YWJjNXAxLAorICAgIC0weDEuZjlmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZGRiZmEzMGU0NzcxNzE5ZTA3YzFkYTc4YzA5NzFiNDZwMSwKKyAgICAweDEuZmRlMzdlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuZGRiZmEzMGU0NzcxNzE5ZTA3YzFkYTc4YzA5NzFiNDZwMSwKKyAgICAtMHgxLmZkZTM3ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwN2YwYWZmOTk5NWEzMDAwYzdjOTUwOTVhMDZmNzFkcDAsCisgICAgMHgxLmZkZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS4wMDdmMGFmZjk5OTVhMzAwMGM3Yzk1MDk1YTA2ZjcxZHAwLAorICAgIC0weDEuZmRmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLjIwNzEzNzAwMDEwMWVmNmE2NzU2YmViMGVhNDViODU3cDAsCisgICAgMHgxLmZlM2IyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS4yMDcxMzcwMDAxMDFlZjZhNjc1NmJlYjBlYTQ1Yjg1N3AwLAorICAgIC0weDEuZmUzYjJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjZmOGY1M2MzZWJhYzZkZmZmZThhOWI2ZTA4OGFjMDdmcDEwLAorICAgIDB4MS5mZjFmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS42ZjhmNTNjM2ViYWM2ZGZmZmU4YTliNmUwODhhYzA3ZnAxMCwKKyAgICAtMHgxLmZmMWZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmIyNjE3NDFjNGZiM2YxMDM2ZDlmODQ1ZjM1NjRhZjJkcDQsCisgICAgMHgxLmZmM2ZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLmIyNjE3NDFjNGZiM2YxMDM2ZDlmODQ1ZjM1NjRhZjJkcDQsCisgICAgLTB4MS5mZjNmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS4zZDU5ZDJkOGIyMmI0MWMyYmI2MzM0YzliZTdiZTkwMnA5MSwKKyAgICAweDEuZmZkZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuM2Q1OWQyZDhiMjJiNDFjMmJiNjMzNGM5YmU3YmU5MDJwOTEsCisgICAgLTB4MS5mZmRmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5lMTU1OWQwMzVlYzEzZjgyOTEzYWVlYjYxZmFiMjBkNHAxLAorICAgIDB4MS5mZmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuZTE1NTlkMDM1ZWMxM2Y4MjkxM2FlZWI2MWZhYjIwZDRwMSwKKyAgICAtMHgxLmZmZTBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS4xZjA1MDhlM2M4Mjc4ZmUxMGEyZThjOTAyMGM4MTc2ZHA0NSwKKyAgICAweDEuZmZmYzdlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuMWYwNTA4ZTNjODI3OGZlMTBhMmU4YzkwMjBjODE3NmRwNDUsCisgICAgLTB4MS5mZmZjN2VwNAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS4wZjEzZmVmZmZmOGUxNGU3MjM5OGU1OGQ2MjU4YTFkY3AyMiwKKyAgICAweDEuZmZmY2Q4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuMGYxM2ZlZmZmZjhlMTRlNzIzOThlNThkNjI1OGExZGNwMjIsCisgICAgLTB4MS5mZmZjZDhwMworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5lMThkY2QwMmIyMDI0MTNhNGE3NjAzN2VmZTcxNmZlZXAxLAorICAgIDB4MS5mZmZlZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS5lMThkY2QwMmIyMDI0MTNhNGE3NjAzN2VmZTcxNmZlZXAxLAorICAgIC0weDEuZmZmZWZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuMWYzNjYxZmVkODg3ZTFlYTZiMWM0OWM4NmU2MmM2NWNwNDUsCisgICAgMHgxLmZmZmYzZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjFmMzY2MWZlZDg4N2UxZWE2YjFjNDljODZlNjJjNjVjcDQ1LAorICAgIC0weDEuZmZmZjNlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMjBhYzE0ZmY5NDYxOWRiNGQyZTQwYWYxY2YxMThmNTBwMCwKKyAgICAweDEuZmZmZmU2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjIwYWMxNGZmOTQ2MTlkYjRkMmU0MGFmMWNmMTE4ZjUwcDAsCisgICAgLTB4MS5mZmZmZTZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuMDAwMDAxZmZmZmY4YWFhYWFkNmMxNmQwNWNhNWJhNDJwMCwKKyAgICAweDEuZmZmZmZjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS4wMDAwMDFmZmZmZjhhYWFhYWQ2YzE2ZDA1Y2E1YmE0MnAwLAorICAgIC0weDEuZmZmZmZjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS4xYzc0YTZmZmZmMjcwMzdhZWQ4OWJlNzk5YWU4N2Q4OXAwLAorICAgIDB4MS5kZTczMTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuMWM3NGE2ZmZmZjI3MDM3YWVkODliZTc5OWFlODdkODlwMCwKKyAgICAtMHgxLmRlNzMxNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5wMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuMDBhNzQxMzk2NGRkZGY2Mjk2NjljMzUwMGY3MDg0NTlwMCwKKyAgICAweDEuMjQ5MjRhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjAwYTc0MTM5NjRkZGRmNjI5NjY5YzM1MDBmNzA4NDU5cDAsCisgICAgLTB4MS4yNDkyNGFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuMDI5ZGRmNzFlNjc3MTRhYWJhZGVjYjZjMzQ4ODE0NjZwMCwKKyAgICAweDEuMjQ5MjRhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjAyOWRkZjcxZTY3NzE0YWFiYWRlY2I2YzM0ODgxNDY2cDAsCisgICAgLTB4MS4yNDkyNGFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuMDVlNjZiNzJmOTIwY2E1MzRlMWRhYTBiODZhNGU3ZWJwMCwKKyAgICAweDEuYjZkYjcwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjA1ZTY2YjcyZjkyMGNhNTM0ZTFkYWEwYjg2YTRlN2VicDAsCisgICAgLTB4MS5iNmRiNzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEuMGE4NTJmN2FkMjg4YWJkMDY5NWM1MDM3NzdiYzAxOTVwMCwKKyAgICAweDEuMjQ5MjRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjBhODUyZjdhZDI4OGFiZDA2OTVjNTAzNzc3YmMwMTk1cDAsCisgICAgLTB4MS4yNDkyNGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuMTA4MDM1MTBmZTM2YTNmN2M4NDJhYjZhNzVjOGIwMDZwMCwKKyAgICAweDEuNmRiNmRjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjEwODAzNTEwZmUzNmEzZjdjODQyYWI2YTc1YzhiMDA2cDAsCisgICAgLTB4MS42ZGI2ZGNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuMTdkZjRjYzJkMjEwMDAxOTBiNTM4M2I2YmVjZDdiZWNwMCwKKyAgICAweDEuYjZkYjZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjE3ZGY0Y2MyZDIxMDAwMTkwYjUzODNiNmJlY2Q3YmVjcDAsCisgICAgLTB4MS5iNmRiNmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuMjBhYzE4NjJhZThkMDY0NTgyM2E0ZjA2MDgwMGU4OGNwMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjIwYWMxODYyYWU4ZDA2NDU4MjNhNGYwNjA4MDBlODhjcDAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuMjBhYzE4NjJhZThkMDY0NTgyM2E0ZjA2MDgwMGU4OGNwMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLjIwYWMxODYyYWU4ZDA2NDU4MjNhNGYwNjA4MDBlODhjcDAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuMmFmMjE3ZWIzN2UyMzY5NjUwMDAzOTk3YmIwMmQ3MmNwMCwKKyAgICAweDEuMjQ5MjRhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjJhZjIxN2ViMzdlMjM2OTY1MDAwMzk5N2JiMDJkNzJjcDAsCisgICAgLTB4MS4yNDkyNGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuMzZiZWI3YjNmOGYyMzdlNDhlZmNkYTdmYmE4NWRlZjVwMCwKKyAgICAweDEuNDkyNDk0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjM2YmViN2IzZjhmMjM3ZTQ4ZWZjZGE3ZmJhODVkZWY1cDAsCisgICAgLTB4MS40OTI0OTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuNDQyMTYyYjkzZjJkNDk2N2IyYmFjODdkOTg4OTk4Y2FwMCwKKyAgICAweDEuNmRiNmRlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLjQ0MjE2MmI5M2YyZDQ5NjdiMmJhYzg3ZDk4ODk5OGNhcDAsCisgICAgLTB4MS42ZGI2ZGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuNTMyYjk2ODhmZTg0NzQ5ZDcxYTk2Mjc5MzRkMDBhMDVwMCwKKyAgICAweDEuOTI0OTI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLjUzMmI5Njg4ZmU4NDc0OWQ3MWE5NjI3OTM0ZDAwYTA1cDAsCisgICAgLTB4MS45MjQ5MjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuNjNmMGZhMWQ4YjI3YWJmNzkyOGE4MzUzOGYxZmI0MDJwMCwKKyAgICAweDEuYjZkYjcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjYzZjBmYTFkOGIyN2FiZjc5MjhhODM1MzhmMWZiNDAycDAsCisgICAgLTB4MS5iNmRiNzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuNzY4Nzc3OGI3OGM4NTcxZmJkNWY0MTY1ZmMwNTJhZWZwMCwKKyAgICAweDEuZGI2ZGJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLjc2ODc3NzhiNzhjODU3MWZiZDVmNDE2NWZjMDUyYWVmcDAsCisgICAgLTB4MS5kYjZkYmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS4wMDA5YTE0OGE0YTM2MzE3Yjc2OGZhMTgwZDNiN2ViM3AwLAorICAgIDB4MS4xOGRlNWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuMDAwOWExNDhhNGEzNjMxN2I3NjhmYTE4MGQzYjdlYjNwMCwKKyAgICAtMHgxLjE4ZGU1YXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS4wMDI2ODVkYzBiZmQ5YWJkZGRkNDU1YjEzZWE4ODdkOXAwLAorICAgIDB4MS4xOGRlNWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuMDAyNjg1ZGMwYmZkOWFiZGRkZDQ1NWIxM2VhODg3ZDlwMCwKKyAgICAtMHgxLjE4ZGU1YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS4wMDU2YWZlNzE5YjI1NTAzOGU1NTllMzk0Y2Y0Yjc5ZXAwLAorICAgIDB4MS5hNTRkODhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuMDA1NmFmZTcxOWIyNTUwMzhlNTU5ZTM5NGNmNGI3OWVwMCwKKyAgICAtMHgxLmE1NGQ4OHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4wMDlhMjMwODM2OWE0Y2JmOTY4MzE3OGViYjlkOWM3OXAwLAorICAgIDB4MS4xOGRlNWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuMDA5YTIzMDgzNjlhNGNiZjk2ODMxNzhlYmI5ZDljNzlwMCwKKyAgICAtMHgxLjE4ZGU1YXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS4wMGYwZTQ1MzA0ODQ2ZDNhOWI2NTE4MTBiNDBmZjM2M3AwLAorICAgIDB4MS41ZjE1ZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuMDBmMGU0NTMwNDg0NmQzYTliNjUxODEwYjQwZmYzNjNwMCwKKyAgICAtMHgxLjVmMTVmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS4wMTVhZmE0ZTZhZjdjYzY3MTQ1Yjk2NjYyODAxNWQ0MXAwLAorICAgIDB4MS5hNTRkODZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMDE1YWZhNGU2YWY3Y2M2NzE0NWI5NjY2MjgwMTVkNDFwMCwKKyAgICAtMHgxLmE1NGQ4NnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS4wMWQ4NmNmNWExNWY4Y2QzODk4OTQ3NTI2YTMyMjQ2MXAwLAorICAgIDB4MS5lYjg1MWNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuMDFkODZjZjVhMTVmOGNkMzg5ODk0NzUyNmEzMjI0NjFwMCwKKyAgICAtMHgxLmViODUxY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS4wMWQ4NmNmOTdhYzYzMGZjZTc0Y2Q1ZDUyNDNiM2IyZnAwLAorICAgIDB4MS5lYjg1MWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuMDFkODZjZjk3YWM2MzBmY2U3NGNkNWQ1MjQzYjNiMmZwMCwKKyAgICAtMHgxLmViODUxZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS4wMjA2OGNmMTFlMzQxYmVhNDU4NGU5MjZiOWI4N2E1Y3AwLAorICAgIDB4MS4wMTc2N2VwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuMDIwNjhjZjExZTM0MWJlYTQ1ODRlOTI2YjliODdhNWNwMCwKKyAgICAtMHgxLjAxNzY3ZXAtMworICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4wMjM2ZDUwZWExNWYyNDk3NGM0ZjJmNzg0Njk1ZjhmM3AwLAorICAgIDB4MS4wZDJhNmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMDIzNmQ1MGVhMTVmMjQ5NzRjNGYyZjc4NDY5NWY4ZjNwMCwKKyAgICAtMHgxLjBkMmE2Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS4wMjY5NDViZDJmYzMxNGFhNTM5YmQyYjBhMTM0NGU2YXAwLAorICAgIDB4MS4xOGRlNWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuMDI2OTQ1YmQyZmMzMTRhYTUzOWJkMmIwYTEzNDRlNmFwMCwKKyAgICAtMHgxLjE4ZGU1YXAtMworICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS4wMjlkZGY2OGI5ZWNhYjk3YTU0MzE0MGFiN2JjMTk2YXAwLAorICAgIDB4MS4yNDkyNDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuMDI5ZGRmNjhiOWVjYWI5N2E1NDMxNDBhYjdiYzE5NmFwMCwKKyAgICAtMHgxLjI0OTI0OHAtMworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS4wMmQ0YTI4MWNmYzc0MzM3NmY2OWY4YjliMDE2N2E1ZXAwLAorICAgIDB4MS4zMDQ2MzZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuMDJkNGEyODFjZmM3NDMzNzZmNjlmOGI5YjAxNjdhNWVwMCwKKyAgICAtMHgxLjMwNDYzNnAtMworICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS4wMzBkOGY3ZGExOGRiMDg2NGY0NzgzMDBlNzgwYTk1MXAwLAorICAgIDB4MS4zYmZhMjRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuMDMwZDhmN2RhMThkYjA4NjRmNDc4MzAwZTc4MGE5NTFwMCwKKyAgICAtMHgxLjNiZmEyNHAtMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS4wMzQ4YTZkNjAwYzUwYWM0YWI4MzJlNDc0MTIxZThiMXAwLAorICAgIDB4MS40N2FlMTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDM0OGE2ZDYwMGM1MGFjNGFiODMyZTQ3NDEyMWU4YjFwMCwKKyAgICAtMHgxLjQ3YWUxMnAtMworICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS4wMzQ4YTZlMDQ5Njg5ZDMwYjJkMjBiMDEzNWYzZmVlNHAwLAorICAgIDB4MS40N2FlMTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDM0OGE2ZTA0OTY4OWQzMGIyZDIwYjAxMzVmM2ZlZTRwMCwKKyAgICAtMHgxLjQ3YWUxNHAtMworICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4wYTE5ZDZkZmQ0MmI5ZWJkNTczZGUyYmRlZmYzMzYyZXAwLAorICAgIDB4MS4xZWI4NTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuMGExOWQ2ZGZkNDJiOWViZDU3M2RlMmJkZWZmMzM2MmVwMCwKKyAgICAtMHgxLjFlYjg1MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4xNGMxMjhiYzJiYWFjM2Y0ZjgzZjE2YjQzZmM2OTMyNHAwLAorICAgIDB4MS45OTk5OWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuMTRjMTI4YmMyYmFhYzNmNGY4M2YxNmI0M2ZjNjkzMjRwMCwKKyAgICAtMHgxLjk5OTk5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS4yMzY1ZWUzZmQ1N2M5OTg2NDBhMzc5Njk2N2I2YzAyMnAwLAorICAgIDB4MS4wYTNkNzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMjM2NWVlM2ZkNTdjOTk4NjQwYTM3OTY5NjdiNmMwMjJwMCwKKyAgICAtMHgxLjBhM2Q3MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS4zNjNlMzNmNTU2NTk5OGYxYjUyMjE3NzNmMDNlZWE4YnAwLAorICAgIDB4MS40N2FlMTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuMzYzZTMzZjU1NjU5OThmMWI1MjIxNzczZjAzZWVhOGJwMCwKKyAgICAtMHgxLjQ3YWUxNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS40ZDhmODczNGVlYjQzYzY4NjIzOWZjMzkzMGJmYmExN3AwLAorICAgIDB4MS44NTFlYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuNGQ4Zjg3MzRlZWI0M2M2ODYyMzlmYzM5MzBiZmJhMTdwMCwKKyAgICAtMHgxLjg1MWViOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS42OWFmZjdiYzVkNjAxMDhiMzQ4ZWQzOGI4MDNlYjQ0NXAwLAorICAgIDB4MS5jMjhmNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuNjlhZmY3YmM1ZDYwMTA4YjM0OGVkMzhiODAzZWI0NDVwMCwKKyAgICAtMHgxLmMyOGY1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS44YjA3NTUxZDlmNTUwNGMyYmQyODEwMDE5NmE0ZjY2YXAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS44YjA3NTUxZDlmNTUwNGMyYmQyODEwMDE5NmE0ZjY2YXAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjk2OTUzZTVmMTViZWJiMDkyNGQ5NWU1NmU3MzM5MGQzcDMsCisgICAgMHgxLjlkZTgyNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjk2OTUzZTVmMTViZWJiMDkyNGQ5NWU1NmU3MzM5MGQzcDMsCisgICAgLTB4MS45ZGU4MjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5kOWE1NDFkNjQ1OTM5MTE2MTE5NTk0NDBlYmI5OGZkMnA2LAorICAgIDB4MS41ZGU4MjZwMgorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS5kOWE1NDFkNjQ1OTM5MTE2MTE5NTk0NDBlYmI5OGZkMnA2LAorICAgIC0weDEuNWRlODI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuMTQ0ZGFmNzNiMDU1NjdhOGFiMGFlYzA2MzU5Njg3YmFwMTAsCisgICAgMHgxLmVjZGMzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLjE0NGRhZjczYjA1NTY3YThhYjBhZWMwNjM1OTY4N2JhcDEwLAorICAgIC0weDEuZWNkYzM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuNDI1ZjJhNTgxOWQ5NzRiNGY5MTgwYTYyMTEwZDQ4Y2JwMTMsCisgICAgMHgxLjNkZTgyNnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjQyNWYyYTU4MTlkOTc0YjRmOTE4MGE2MjExMGQ0OGNicDEzLAorICAgIC0weDEuM2RlODI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuNzgxZjAwMWJkM2UzNTA2NTZiMDU3MzY4YTQzMTM4MjJwMTYsCisgICAgMHgxLjg1NjIzMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLjc4MWYwMDFiZDNlMzUwNjU2YjA1NzM2OGE0MzEzODIycDE2LAorICAgIC0weDEuODU2MjMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuYjZkNTA2YzU5ZWI3NmQ2Mjc0MTVhNmM5ZWU0ODBiNGZwMTksCisgICAgMHgxLmNjZGMzYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLmI2ZDUwNmM1OWViNzZkNjI3NDE1YTZjOWVlNDgwYjRmcDE5LAorICAgIC0weDEuY2NkYzNhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEuZmZmZmMxODhhY2VhYjExMTI0ZmU5YTAyYjkyOGY3ZDhwMjIsCisgICAgMHgxLjBhMmIyMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLmZmZmZjMTg4YWNlYWIxMTEyNGZlOWEwMmI5MjhmN2Q4cDIyLAorICAgIC0weDEuMGEyYjIycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEuZmZmZmMxMDdjOWYwOTM4MTllNzZlMzdjMDg1MTBmN2NwMTQsCisgICAgMHgxLjYyZTQyY3AzCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLmZmZmZjMTA3YzlmMDkzODE5ZTc2ZTM3YzA4NTEwZjdjcDE0LAorICAgIC0weDEuNjJlNDJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuZmZmZmUxMDdjNzAwZDAwNjc5MDk3MGE4MjIyZTIxZDhwMTQsCisgICAgMHgxLjYyZTQyZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLmZmZmZlMTA3YzcwMGQwMDY3OTA5NzBhODIyMmUyMWQ4cDE0LAorICAgIC0weDEuNjJlNDJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuMDAwMDAwODNlMzA4ODYzNjJkYjE5NGE3NzU0ZDFjNzNwMTUsCisgICAgMHgxLjYyZTQzMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjAwMDAwMDgzZTMwODg2MzYyZGIxOTRhNzc1NGQxYzczcDE1LAorICAgIC0weDEuNjJlNDMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuMDAwMGYwNDE4MWJlYjJkYzBkYTMyMzBlYmExZGRhZDhwNywKKyAgICAweDEuNjJlNDJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMDAwMGYwNDE4MWJlYjJkYzBkYTMyMzBlYmExZGRhZDhwNywKKyAgICAtMHgxLjYyZTQyY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjAwMDBmODQxNzk2MGJlMGM3N2NmYmFkMmVmZjc2MjAxcDcsCisgICAgMHgxLjYyZTQyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjAwMDBmODQxNzk2MGJlMGM3N2NmYmFkMmVmZjc2MjAxcDcsCisgICAgLTB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS4wMDAxMDA0MTcxNDJjOTdhZjI1YWFjMWJmZjhmMzQ2NnA3LAorICAgIDB4MS42MmU0MzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS4wMDAxMDA0MTcxNDJjOTdhZjI1YWFjMWJmZjhmMzQ2NnA3LAorICAgIC0weDEuNjJlNDMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuMDBmZmY4Mjg5ODI4NzI4NGQyMDljMjYzOWFlY2Q4ZWJwMywKKyAgICAweDEuNjJlNDJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuMDBmZmY4Mjg5ODI4NzI4NGQyMDljMjYzOWFlY2Q4ZWJwMywKKyAgICAtMHgxLjYyZTQyY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLjAwZmZmYzI0OTgxMGRkZWIwNGQxN2U5ZmE3MWNjNTE0cDMsCisgICAgMHgxLjYyZTQyZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLjAwZmZmYzI0OTgxMGRkZWIwNGQxN2U5ZmE3MWNjNTE0cDMsCisgICAgLTB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS4wMTAwMDAyMDk4MDk1OTUwZjllMmJiZmVmY2E3NTZiNnAzLAorICAgIDB4MS42MmU0MzBwMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4wMTAwMDAyMDk4MDk1OTUwZjllMmJiZmVmY2E3NTZiNnAzLAorICAgIC0weDEuNjJlNDMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuMGZmZmZjNGY1NmEzMzZlMzczOWY3ZTcwYjBhMTdmZmNwMSwKKyAgICAweDEuNjJlNDJjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMGZmZmZjNGY1NmEzMzZlMzczOWY3ZTcwYjBhMTdmZmNwMSwKKyAgICAtMHgxLjYyZTQyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLjBmZmZmZTJmNTY5Y2Y5YTdjYTNmNTc5ZDYwYTViYWZhcDEsCisgICAgMHgxLjYyZTQyZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLjBmZmZmZTJmNTY5Y2Y5YTdjYTNmNTc5ZDYwYTViYWZhcDEsCisgICAgLTB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS4xMDAwMDAwZjU2OWFmYzZjMTk5YzhiM2Y2MWYzYzczNXAxLAorICAgIDB4MS42MmU0MzBwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS4xMDAwMDAwZjU2OWFmYzZjMTk5YzhiM2Y2MWYzYzczNXAxLAorICAgIC0weDEuNjJlNDMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuM2ZmZmZlODYyMmE2ZDA3NTgxNmMyNTU5ZGUzMWExMmVwMCwKKyAgICAweDEuNjJlNDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLjNmZmZmZTg2MjJhNmQwNzU4MTZjMjU1OWRlMzFhMTJlcDAsCisgICAgLTB4MS42MmU0MmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuM2ZmZmZmNDYyMmE0ZmFhZjNlZWFmM2JlNzE1NWE5M2NwMCwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLjNmZmZmZjQ2MjJhNGZhYWYzZWVhZjNiZTcxNTVhOTNjcDAsCisgICAgLTB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuNDAwMDAwMDYyMmE0NjRlOGZiYWZlNGM4MTlkMzlhY2ZwMCwKKyAgICAweDEuNjJlNDMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjQwMDAwMDA2MjJhNDY0ZThmYmFmZTRjODE5ZDM5YWNmcDAsCisgICAgLTB4MS42MmU0MzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuMGY4NzZjNzRlNjg4YjM4ZWM4Y2M5OTNiZWQ3MmMzNjlwMCwKKyAgICAweDEuNjJlNDJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjBmODc2Yzc0ZTY4OGIzOGVjOGNjOTkzYmVkNzJjMzY5cDAsCisgICAgLTB4MS42MmU0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuMGY4NzZjYTIyN2M1MWNlNWM1ZjIxZTQ4NDBkNjQ3NWFwMCwKKyAgICAweDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjBmODc2Y2EyMjdjNTFjZTVjNWYyMWU0ODQwZDY0NzVhcDAsCisgICAgLTB4MS42MmU0MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAweDEuMGY4NzZjY2Y2OTAxY2ExZTllNDAyZDQ1ZGNkZDQ2YWZwMCwKKyAgICAweDEuNjJlNDMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLjBmODc2Y2NmNjkwMWNhMWU5ZTQwMmQ0NWRjZGQ0NmFmcDAsCisgICAgLTB4MS42MmU0MzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuMDNkYTZlYTEwOTdjM2Y5Y2Q1N2U3YjY1YmM5MmVjYzRwMCwKKyAgICAweDEuNjJlNDJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjAzZGE2ZWExMDk3YzNmOWNkNTdlN2I2NWJjOTJlY2M0cDAsCisgICAgLTB4MS42MmU0MmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuMDNkYTZlYWMyZWQ4YTJjZGQwZmE4N2E1MDMxMWNjNWRwMCwKKyAgICAweDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLjAzZGE2ZWFjMmVkOGEyY2RkMGZhODdhNTAzMTFjYzVkcDAsCisgICAgLTB4MS42MmU0MmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuMDNkYTZlYjc1NDM1MTYzYzczNjE1NmQxZDNkMzMwOGVwMCwKKyAgICAweDEuNjJlNDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjAzZGE2ZWI3NTQzNTE2M2M3MzYxNTZkMWQzZDMzMDhlcDAsCisgICAgLTB4MS42MmU0MzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAweDEuMDBmNjI1NTI2MjdiZjc0YTBhZDRiYTc3ZThhYjc4YTJwMCwKKyAgICAweDEuNjJlNDJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgMHgxLjAwZjYyNTUyNjI3YmY3NGEwYWQ0YmE3N2U4YWI3OGEycDAsCisgICAgLTB4MS42MmU0MmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuMDBmNjI1NTUyOTI3YmY2NDlkNjQ2Yjg1MWJlNTAwMTZwMCwKKyAgICAweDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLjAwZjYyNTU1MjkyN2JmNjQ5ZDY0NmI4NTFiZTUwMDE2cDAsCisgICAgLTB4MS42MmU0MmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuMDBmNjI1NTdlZmQzOGI4MzA4ODk3MTM2ZWUxZDcwOWVwMCwKKyAgICAweDEuNjJlNDMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLjAwZjYyNTU3ZWZkMzhiODMwODg5NzEzNmVlMWQ3MDllcDAsCisgICAgLTB4MS42MmU0MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuMDAzZDgxZjEwMTM3NTA5NWNhNTRlMzIxMjgzZWY3N2JwMCwKKyAgICAweDEuNjJlNDJjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgMHgxLjAwM2Q4MWYxMDEzNzUwOTVjYTU0ZTMyMTI4M2VmNzdicDAsCisgICAgLTB4MS42MmU0MmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuMDAzZDgxZjFiMmI3OWNmMTNlOGFmNzJiZGMxYTNhOTZwMCwKKyAgICAweDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLjAwM2Q4MWYxYjJiNzljZjEzZThhZjcyYmRjMWEzYTk2cDAsCisgICAgLTB4MS42MmU0MmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuMDAzZDgxZjI2NDM3ZWE0Y2YwNDJmY2U5NDc5Mjg0NGJwMCwKKyAgICAweDEuNjJlNDMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLjAwM2Q4MWYyNjQzN2VhNGNmMDQyZmNlOTQ3OTI4NDRicDAsCisgICAgLTB4MS42MmU0MzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuMDAwZjYwMDYwZGYwYmRiZGI5NGE5YWE2MWRmZWI4ZThwMCwKKyAgICAweDEuNjJlNDJjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgMHgxLjAwMGY2MDA2MGRmMGJkYmRiOTRhOWFhNjFkZmViOGU4cDAsCisgICAgLTB4MS42MmU0MmNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuMDAwZjYwMDYzYTRlMjZiNzU3ZTcyZDQ5MzZhMTM1OTlwMCwKKyAgICAweDEuNjJlNDJlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgMHgxLjAwMGY2MDA2M2E0ZTI2Yjc1N2U3MmQ0OTM2YTEzNTk5cDAsCisgICAgLTB4MS42MmU0MmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuMDAwZjYwMDY2NmFiOGZmMGZhNWJjMTdhZTJjZDYxNzZwMCwKKyAgICAweDEuNjJlNDMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLjAwMGY2MDA2NjZhYjhmZjBmYTViYzE3YWUyY2Q2MTc2cDAsCisgICAgLTB4MS42MmU0MzBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuMDAwMDAxMDVjNjExNTA1ZTdmNzRhMzBlNmQyMGU4NTBwMzEsCisgICAgLTB4MS42MmU0MzBwNAorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS4wMDAwMDEwNWM2MTE1MDVlN2Y3NGEzMGU2ZDIwZTg1MHAzMSwKKyAgICAweDEuNjJlNDMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuZmZmZmMyMGI4ZmUxMmYxMjE3NDBlYThhY2I5NTk1MjVwMzAsCisgICAgLTB4MS42MmU0MmVwNAorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIDB4MS5mZmZmYzIwYjhmZTEyZjEyMTc0MGVhOGFjYjk1OTUyNXAzMCwKKyAgICAweDEuNjJlNDJlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuZmZmZjgyMGI5YjlmYmM2ZjVkZGFiZTVmNWQ1NWM4MzFwMzAsCisgICAgLTB4MS42MmU0MmNwNAorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIDB4MS5mZmZmODIwYjliOWZiYzZmNWRkYWJlNWY1ZDU1YzgzMXAzMCwKKyAgICAweDEuNjJlNDJjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuMDAwMDAwODNlMzA4ODYzNjJkYjE5NGE3NzU0ZDFjNzNwMTUsCisgICAgLTB4MS42MmU0MzBwMworICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS4wMDAwMDA4M2UzMDg4NjM2MmRiMTk0YTc3NTRkMWM3M3AxNSwKKyAgICAweDEuNjJlNDMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuZmZmZmUxMDdjNzAwZDAwNjc5MDk3MGE4MjIyZTIxZDhwMTQsCisgICAgLTB4MS42MmU0MmVwMworICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS5mZmZmZTEwN2M3MDBkMDA2NzkwOTcwYTgyMjJlMjFkOHAxNCwKKyAgICAweDEuNjJlNDJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuZmZmZmMxMDdjOWYwOTM4MTllNzZlMzdjMDg1MTBmN2NwMTQsCisgICAgLTB4MS42MmU0MmNwMworICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS5mZmZmYzEwN2M5ZjA5MzgxOWU3NmUzN2MwODUxMGY3Y3AxNCwKKyAgICAweDEuNjJlNDJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuMDAwMTAwNDE3MTQyYzk3YWYyNWFhYzFiZmY4ZjM0NjZwNywKKyAgICAtMHgxLjYyZTQzMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgMHgxLjAwMDEwMDQxNzE0MmM5N2FmMjVhYWMxYmZmOGYzNDY2cDcsCisgICAgMHgxLjYyZTQzMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjAwMDBmODQxNzk2MGJlMGM3N2NmYmFkMmVmZjc2MjAxcDcsCisgICAgLTB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIDB4MS4wMDAwZjg0MTc5NjBiZTBjNzdjZmJhZDJlZmY3NjIwMXA3LAorICAgIDB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIDB4MS4wMDAwZjA0MTgxYmViMmRjMGRhMzIzMGViYTFkZGFkOHA3LAorICAgIC0weDEuNjJlNDJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAweDEuMDAwMGYwNDE4MWJlYjJkYzBkYTMyMzBlYmExZGRhZDhwNywKKyAgICAweDEuNjJlNDJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuMDEwMDAwMjA5ODA5NTk1MGY5ZTJiYmZlZmNhNzU2YjZwMywKKyAgICAtMHgxLjYyZTQzMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMHgxLjAxMDAwMDIwOTgwOTU5NTBmOWUyYmJmZWZjYTc1NmI2cDMsCisgICAgMHgxLjYyZTQzMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLjAwZmZmYzI0OTgxMGRkZWIwNGQxN2U5ZmE3MWNjNTE0cDMsCisgICAgLTB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS4wMGZmZmMyNDk4MTBkZGViMDRkMTdlOWZhNzFjYzUxNHAzLAorICAgIDB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS4wMGZmZjgyODk4Mjg3Mjg0ZDIwOWMyNjM5YWVjZDhlYnAzLAorICAgIC0weDEuNjJlNDJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAweDEuMDBmZmY4Mjg5ODI4NzI4NGQyMDljMjYzOWFlY2Q4ZWJwMywKKyAgICAweDEuNjJlNDJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuMTAwMDAwMGY1NjlhZmM2YzE5OWM4YjNmNjFmM2M3MzVwMSwKKyAgICAtMHgxLjYyZTQzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgMHgxLjEwMDAwMDBmNTY5YWZjNmMxOTljOGIzZjYxZjNjNzM1cDEsCisgICAgMHgxLjYyZTQzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjBmZmZmZTJmNTY5Y2Y5YTdjYTNmNTc5ZDYwYTViYWZhcDEsCisgICAgLTB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS4wZmZmZmUyZjU2OWNmOWE3Y2EzZjU3OWQ2MGE1YmFmYXAxLAorICAgIDB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS4wZmZmZmM0ZjU2YTMzNmUzNzM5ZjdlNzBiMGExN2ZmY3AxLAorICAgIC0weDEuNjJlNDJjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAweDEuMGZmZmZjNGY1NmEzMzZlMzczOWY3ZTcwYjBhMTdmZmNwMSwKKyAgICAweDEuNjJlNDJjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuNDAwMDAwMDYyMmE0NjRlOGZiYWZlNGM4MTlkMzlhY2ZwMCwKKyAgICAtMHgxLjYyZTQzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS40MDAwMDAwNjIyYTQ2NGU4ZmJhZmU0YzgxOWQzOWFjZnAwLAorICAgIDB4MS42MmU0MzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuM2ZmZmZmNDYyMmE0ZmFhZjNlZWFmM2JlNzE1NWE5M2NwMCwKKyAgICAtMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS4zZmZmZmY0NjIyYTRmYWFmM2VlYWYzYmU3MTU1YTkzY3AwLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuM2ZmZmZlODYyMmE2ZDA3NTgxNmMyNTU5ZGUzMWExMmVwMCwKKyAgICAtMHgxLjYyZTQyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS4zZmZmZmU4NjIyYTZkMDc1ODE2YzI1NTlkZTMxYTEyZXAwLAorICAgIDB4MS42MmU0MmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuMGY4NzZjY2Y2OTAxY2ExZTllNDAyZDQ1ZGNkZDQ2YWZwMCwKKyAgICAtMHgxLjYyZTQzMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIDB4MS4wZjg3NmNjZjY5MDFjYTFlOWU0MDJkNDVkY2RkNDZhZnAwLAorICAgIDB4MS42MmU0MzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuMGY4NzZjYTIyN2M1MWNlNWM1ZjIxZTQ4NDBkNjQ3NWFwMCwKKyAgICAtMHgxLjYyZTQyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS4wZjg3NmNhMjI3YzUxY2U1YzVmMjFlNDg0MGQ2NDc1YXAwLAorICAgIDB4MS42MmU0MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuMGY4NzZjNzRlNjg4YjM4ZWM4Y2M5OTNiZWQ3MmMzNjlwMCwKKyAgICAtMHgxLjYyZTQyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS4wZjg3NmM3NGU2ODhiMzhlYzhjYzk5M2JlZDcyYzM2OXAwLAorICAgIDB4MS42MmU0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAweDEuMDNkYTZlYjc1NDM1MTYzYzczNjE1NmQxZDNkMzMwOGVwMCwKKyAgICAtMHgxLjYyZTQzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS4wM2RhNmViNzU0MzUxNjNjNzM2MTU2ZDFkM2QzMzA4ZXAwLAorICAgIDB4MS42MmU0MzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuMDNkYTZlYWMyZWQ4YTJjZGQwZmE4N2E1MDMxMWNjNWRwMCwKKyAgICAtMHgxLjYyZTQyZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS4wM2RhNmVhYzJlZDhhMmNkZDBmYTg3YTUwMzExY2M1ZHAwLAorICAgIDB4MS42MmU0MmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuMDNkYTZlYTEwOTdjM2Y5Y2Q1N2U3YjY1YmM5MmVjYzRwMCwKKyAgICAtMHgxLjYyZTQyY3AtMworICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS4wM2RhNmVhMTA5N2MzZjljZDU3ZTdiNjViYzkyZWNjNHAwLAorICAgIDB4MS42MmU0MmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuMDBmNjI1NTdlZmQzOGI4MzA4ODk3MTM2ZWUxZDcwOWVwMCwKKyAgICAtMHgxLjYyZTQzMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS4wMGY2MjU1N2VmZDM4YjgzMDg4OTcxMzZlZTFkNzA5ZXAwLAorICAgIDB4MS42MmU0MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuMDBmNjI1NTUyOTI3YmY2NDlkNjQ2Yjg1MWJlNTAwMTZwMCwKKyAgICAtMHgxLjYyZTQyZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS4wMGY2MjU1NTI5MjdiZjY0OWQ2NDZiODUxYmU1MDAxNnAwLAorICAgIDB4MS42MmU0MmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuMDBmNjI1NTI2MjdiZjc0YTBhZDRiYTc3ZThhYjc4YTJwMCwKKyAgICAtMHgxLjYyZTQyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS4wMGY2MjU1MjYyN2JmNzRhMGFkNGJhNzdlOGFiNzhhMnAwLAorICAgIDB4MS42MmU0MmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuMDAzZDgxZjI2NDM3ZWE0Y2YwNDJmY2U5NDc5Mjg0NGJwMCwKKyAgICAtMHgxLjYyZTQzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS4wMDNkODFmMjY0MzdlYTRjZjA0MmZjZTk0NzkyODQ0YnAwLAorICAgIDB4MS42MmU0MzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuMDAzZDgxZjFiMmI3OWNmMTNlOGFmNzJiZGMxYTNhOTZwMCwKKyAgICAtMHgxLjYyZTQyZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS4wMDNkODFmMWIyYjc5Y2YxM2U4YWY3MmJkYzFhM2E5NnAwLAorICAgIDB4MS42MmU0MmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuMDAzZDgxZjEwMTM3NTA5NWNhNTRlMzIxMjgzZWY3N2JwMCwKKyAgICAtMHgxLjYyZTQyY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS4wMDNkODFmMTAxMzc1MDk1Y2E1NGUzMjEyODNlZjc3YnAwLAorICAgIDB4MS42MmU0MmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAweDEucDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLjAxZDg2Y2Y1YTE1ZjhjZDM4OTg5NDc1MjZhMzIyNDYxcDAsCisgICAgMHgxLmViODUxY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS4wMWQ4NmNmNWExNWY4Y2QzODk4OTQ3NTI2YTMyMjQ2MXAwLAorICAgIC0weDEuZWI4NTFjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLjAxZDg2Y2Y5N2FjNjMwZmNlNzRjZDVkNTI0M2IzYjJmcDAsCisgICAgMHgxLmViODUxZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS4wMWQ4NmNmOTdhYzYzMGZjZTc0Y2Q1ZDUyNDNiM2IyZnAwLAorICAgIC0weDEuZWI4NTFlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMHgxLjAxZDg2Y2ZkNTQyY2Q5MmRhNmM0NGE0MmY3MDk5ZDY1cDAsCisgICAgMHgxLmViODUyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIDB4MS4wMWQ4NmNmZDU0MmNkOTJkYTZjNDRhNDJmNzA5OWQ2NXAwLAorICAgIC0weDEuZWI4NTIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLjIwYWMxODFmZmI0Y2VhYzIxNmU4YjQ4OWM0OGRkM2RmcDAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS4yMGFjMTgxZmZiNGNlYWMyMTZlOGI0ODljNDhkZDNkZnAwLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgMHgxLjIwYWMxODYyYWU4ZDA2NDU4MjNhNGYwNjA4MDBlODhjcDAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS4yMGFjMTg2MmFlOGQwNjQ1ODIzYTRmMDYwODAwZTg4Y3AwLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgMHgxLjIwYWMxOGU4MTUwZTE1Y2Q2YjM4MzNiODcxMDk4MDRmcDAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDB4MS4yMGFjMThlODE1MGUxNWNkNmIzODMzYjg3MTA5ODA0ZnAwLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgMHgxLjhiMDc1M2YwYzU1OTg1NWFjZjVmMTM1NTJhMGMzNTdicDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS44YjA3NTNmMGM1NTk4NTVhY2Y1ZjEzNTUyYTBjMzU3YnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIDB4MS44YjA3NTc3NzUzNTBhNGE4OTkzZmMxNTZlYjRmYzgwOHAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIDB4MS44YjA3NTc3NzUzNTBhNGE4OTkzZmMxNTZlYjRmYzgwOHAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuYWI1YWE2MzBlYjQzMjU0NWI1NGNkYWY3ZjQ1NTIxMGNwMzAsCisgICAgMHgxLjVmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgMHgxLmFiNWFhNjMwZWI0MzI1NDViNTRjZGFmN2Y0NTUyMTBjcDMwLAorICAgIC0weDEuNWZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuYWI1YWRiOWM0MzVmZjgxZTE4YWZjYTM3MjgyOGE2NzZwMzAsCisgICAgMHgxLjYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuYWI1YWRiOWM0MzVmZjgxZTE4YWZjYTM3MjgyOGE2NzZwMzAsCisgICAgLTB4MS42MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMHgxLmFiNWIxMTA3YTIyYTM2NjRlZDIyNzMyNTRlODQ5YTgxcDMwLAorICAgIDB4MS42MDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5hYjViMTEwN2EyMmEzNjY0ZWQyMjczMjU0ZTg0OWE4MXAzMCwKKyAgICAtMHgxLjYwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLjIyNmFjZWVkYzNiOTdjMmE3ZWFjOTVlNzU2MmJlMjYzcDMyLAorICAgIDB4MS42ZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIDB4MS4yMjZhY2VlZGMzYjk3YzJhN2VhYzk1ZTc1NjJiZTI2M3AzMiwKKyAgICAtMHgxLjZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLjIyNmFmMzNiMWZkYzBhNTdiZDRiNGFiMjMxMWI1Y2RmcDMyLAorICAgIDB4MS43MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgMHgxLjIyNmFmMzNiMWZkYzBhNTdiZDRiNGFiMjMxMWI1Y2RmcDMyLAorICAgIC0weDEuNzBwNAorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS4yMjZiMTc4ODgwODg0NDUxZTg2YWYyZGZhZjRlZDllMHAzMiwKKyAgICAweDEuNzAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEuMjI2YjE3ODg4MDg4NDQ1MWU4NmFmMmRmYWY0ZWQ5ZTBwMzIsCisgICAgLTB4MS43MDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS5mZmZmODE4OGI4Yjk5YWNjYjU5MjM5YTk5OTc5NWNlZHAyMiwKKyAgICAweDEuMGEyYjIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuZmZmZjgxODhiOGI5OWFjY2I1OTIzOWE5OTk3OTVjZWRwMjIsCisgICAgLTB4MS4wYTJiMjBwNAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS5mZmZmYzE4OGFjZWFiMTExMjRmZTlhMDJiOTI4ZjdkOHAyMiwKKyAgICAweDEuMGEyYjIycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZmZmZmMxODhhY2VhYjExMTI0ZmU5YTAyYjkyOGY3ZDhwMjIsCisgICAgLTB4MS4wYTJiMjJwNAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS4wMDAwMDBjNDU0OGRlMzJkZGI5MGE3ZTUzYTY2YmEwYXAyMywKKyAgICAweDEuMGEyYjI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuMDAwMDAwYzQ1NDhkZTMyZGRiOTBhN2U1M2E2NmJhMGFwMjMsCisgICAgLTB4MS4wYTJiMjRwNAorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS5mZmZmYzJjNDU4YjM2ZTdlMThjYjFmMjE0ZTdiMTBmZnAxMCwKKyAgICAweDEuMGEyYjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuZmZmZmMyYzQ1OGIzNmU3ZTE4Y2IxZjIxNGU3YjEwZmZwMTAsCisgICAgLTB4MS4wYTJiMjBwMworICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS5mZmZmZTJjNDU1OWZiM2U4MWZiZTJiYmIxMmUxMmFlMXAxMCwKKyAgICAweDEuMGEyYjIycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuZmZmZmUyYzQ1NTlmYjNlODFmYmUyYmJiMTJlMTJhZTFwMTAsCisgICAgLTB4MS4wYTJiMjJwMworICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIDB4MS4wMDAwMDE2MjJhNDVmYzlhNzU4MzgxNTliM2QxMDUwOXAxMSwKKyAgICAweDEuMGEyYjI0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuMDAwMDAxNjIyYTQ1ZmM5YTc1ODM4MTU5YjNkMTA1MDlwMTEsCisgICAgLTB4MS4wYTJiMjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgMHgxLjY1YTlmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLmZmZmVkODNlZTI1MzJhYzg0NmJkZmYwOTdjZDJmNDNicDEyNywKKyAgICAtMHgxLjY1YTlmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMHgxLmZmZmZkODNlOGU3MjgxYTQ1ZTQzMmJkNThjYmJjMzhhcDEyNywKKyAgICAweDEuNjVhOWY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuZmZmZmQ4M2U4ZTcyODFhNDVlNDMyYmQ1OGNiYmMzOGFwMTI3LAorICAgIC0weDEuNjVhOWY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjY1YTlmYXA2CisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuNjVhOWZhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS42NWE5ZmFwNgorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuNjVhOWZhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAweDEuZmZmZmQ4M2U4ZTcyODFhNDVlNDMyYmQ1OGNiYmMzOGFwMTI3LAorICAgIC0weDEuNjVhOWY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAweDEuZmZmZmQ4M2U4ZTcyODFhNDVlNDMyYmQ1OGNiYmMzOGFwMTI3LAorICAgIDB4MS42NWE5ZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgLTB4MS42NWE5ZjZwNgorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIDB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgMHgxLjY1YTlmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDdmZmZmZjAwMDAwMDgwMDBhcDAsCisgICAgMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwN2ZmZmZmMDAwMDAwODAwMGFwMCwKKyAgICAtMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMGFwMCwKKyAgICAweDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwYXAwLAorICAgIC0weDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA4MDAwMDIwMDAwMDIwMDAwYXAwLAorICAgIDB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDgwMDAwMjAwMDAwMjAwMDBhcDAsCisgICAgLTB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgMHgxLjAwMDAwMDAxZmZmZmZjMDBhYWFjYTgwMDE2YzU2YjhlcDAsCisgICAgMHgxLmZmZmZmZXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEuMDAwMDAwMDFmZmZmZmMwMGFhYWNhODAwMTZjNTZiOGVwMCwKKyAgICAtMHgxLmZmZmZmZXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAweDEuMDAwMDAwMDIwMDAwMDAwMGFhYWFhYWFhYzE2YzE2YzFwMCwKKyAgICAweDEucC0xNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS4wMDAwMDAwMjAwMDAwMDAwYWFhYWFhYWFjMTZjMTZjMXAwLAorICAgIC0weDEucC0xNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDB4MS4wMDAwMDAwMjAwMDAwODAwYWFiMmIwMDAxNmQxNmQyN3AwLAorICAgIDB4MS4wMDAwMDJwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgMHgxLjAwMDAwMDAyMDAwMDA4MDBhYWIyYjAwMDE2ZDE2ZDI3cDAsCisgICAgLTB4MS4wMDAwMDJwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgMHgxLjAwMDgwMDBhOWFiMDMwNjQ4M2U4NzdkMTQ3ZjZkMThhcDAsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS4wMDA4MDAwYTlhYjAzMDY0ODNlODc3ZDE0N2Y2ZDE4YXAwLAorICAgIC0weDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLjAwMDgwMDBhYWFiMDViMDc1MDc1NTE0OWJjZGNhMDM0cDAsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIDB4MS4wMDA4MDAwYWFhYjA1YjA3NTA3NTUxNDliY2RjYTAzNHAwLAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMHgxLjAwMDgwMDBhY2FiMGIwN2NlYjBmMDYzYmE3YmJmYTU0cDAsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS4wMDA4MDAwYWNhYjBiMDdjZWIwZjA2M2JhN2JiZmE1NHAwLAorICAgIC0weDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLjAwMjAwMGFhNmMxNDE4NzkwMmFhZDJmZmJhNzRjZjJjcDAsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS4wMDIwMDBhYTZjMTQxODc5MDJhYWQyZmZiYTc0Y2YyY3AwLAorICAgIC0weDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLjAwMjAwMGFhYWMxNmMzMGMzMWVhZjFiYmIxOTAxOTQ3cDAsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUwOAorICAgIDB4MS4wMDIwMDBhYWFjMTZjMzBjMzFlYWYxYmJiMTkwMTk0N3AwLAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgMHgxLjAwMjAwMGFiMmMxYzE4ZjJhODZiYWY0NGIxODNhZjcycDAsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIDB4MS4wMDIwMDBhYjJjMWMxOGYyYTg2YmFmNDRiMTgzYWY3MnAwLAorICAgIC0weDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgMHgxLjAwODAwYWFhMDU4NzRlZDdiN2NmOGY0YjVlNmZkYjM4cDAsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS4wMDgwMGFhYTA1ODc0ZWQ3YjdjZjhmNGI1ZTZmZGIzOHAwLAorICAgIC0weDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLjAwODAwYWFiMDViMWZiMjQ1MTk4MDUwOTM3YmIwMzY4cDAsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDUxNAorICAgIDB4MS4wMDgwMGFhYjA1YjFmYjI0NTE5ODA1MDkzN2JiMDM2OHAwLAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgMHgxLjAwODAwYWFkMDYwNzU2YmYwNTQ4ZjI5NjJhZjA0ZGY2cDAsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS4wMDgwMGFhZDA2MDc1NmJmMDU0OGYyOTYyYWYwNGRmNnAwLAorICAgIC0weDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgMHgxLjAyMDBhYWJkNmIwYmJjYjA2MmE2MWYzNjE4MjhmODIycDAsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS4wMjAwYWFiZDZiMGJiY2IwNjJhNjFmMzYxODI4ZjgyMnAwLAorICAgIC0weDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgMHgxLjAyMDBhYWMxNmRiNmVkZWM5NjBjZDUxMjA3ZTQ2YzFlcDAsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS4wMjAwYWFjMTZkYjZlZGVjOTYwY2Q1MTIwN2U0NmMxZXAwLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgMHgxLjAyMDBhYWM5NzMwZDVjN2QwNGRiNjFmOTI3NWI4M2ZhcDAsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS4wMjAwYWFjOTczMGQ1YzdkMDRkYjYxZjkyNzViODNmYXAwLAorICAgIC0weDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLjA4MGFiMDRjN2I0NzhkNGNiMzExMGQ0OTEwNDZjOWM5cDAsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS4wODBhYjA0YzdiNDc4ZDRjYjMxMTBkNDkxMDQ2YzljOXAwLAorICAgIC0weDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgMHgxLjA4MGFiMDVjYTYxNDVlZGNkZTkwMzk5Yzg3MTNhMzg0cDAsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS4wODBhYjA1Y2E2MTQ1ZWRjZGU5MDM5OWM4NzEzYTM4NHAwLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgMHgxLjA4MGFiMDdjZmJhZTMzN2YzNmEwZjQxNDE0ZDlkMGM4cDAsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDUyOAorICAgIDB4MS4wODBhYjA3Y2ZiYWUzMzdmMzZhMGY0MTQxNGQ5ZDBjOHAwLAorICAgIC0weDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLmUxOGY5ZDNlYjNiMzBlZDYzMzVjOTAyNDE4ZmI3MjM0cDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLmUxOGY5ZDNlYjNiMzBlZDYzMzVjOTAyNDE4ZmI3MjM0cDEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIDB4MS5lMThmYTBkZjJkOWJjMjkzMjdmNzE3Nzc0ZDBjMDY2MXAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIDB4MS5lMThmYTBkZjJkOWJjMjkzMjdmNzE3Nzc0ZDBjMDY2MXAxLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuZTE4ZmE4MjAyMTgzYmNjOGFhMjQzMTMzNDIzZjc2ZmZwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuZTE4ZmE4MjAyMTgzYmNjOGFhMjQzMTMzNDIzZjc2ZmZwMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgMHgxLmI0ZWU3ZWJiNTVmNGNiYzg1NGIwODJlNzMyMDkyNTA3cDQsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLmI0ZWU3ZWJiNTVmNGNiYzg1NGIwODJlNzMyMDkyNTA3cDQsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIDB4MS5iNGVlODU4ZGUzZTgwMDYxYzZhNTFkZGRmOTYwZjMxN3A0LAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIDB4MS5iNGVlODU4ZGUzZTgwMDYxYzZhNTFkZGRmOTYwZjMxN3A0LAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAweDEuYjRlZTkzMzMwMDIwNTY0ZTIyNTFmMGExMGUyNDcwNjBwNCwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuYjRlZTkzMzMwMDIwNTY0ZTIyNTFmMGExMGUyNDcwNjBwNCwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgMHgxLjc0OWU5ZWVlZmZlZDRkODA3OTA3MGNjNDQxYjA3ZTUxcDEwLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS43NDllOWVlZWZmZWQ0ZDgwNzkwNzBjYzQ0MWIwN2U1MXAxMCwKKyAgICAtMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMHgxLjc0OWVhYTkzZjRlNzYxMTBkNWE1ODdlNTBlNGQzZGMzcDEwLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS43NDllYWE5M2Y0ZTc2MTEwZDVhNTg3ZTUwZTRkM2RjM3AxMCwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgMHgxLjc0OWVjMWRkZGZmMmZmMzQ2NzE3ODc1MGJkYTEzNjJicDEwLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDU0NgorICAgIDB4MS43NDllYzFkZGRmZjJmZjM0NjcxNzg3NTBiZGExMzYyYnAxMCwKKyAgICAtMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLjBmMmVhYzE3OTRiY2JhOTk2OTg5OTczOTMzM2Q1NzVkcDIyLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS4wZjJlYWMxNzk0YmNiYTk5Njk4OTk3MzkzMzNkNTc1ZHAyMiwKKyAgICAtMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLjBmMmViZDBhODAwNWNiM2Q5YjRmNDE0MTg2YWJhNGQ3cDIyLAorICAgIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS4wZjJlYmQwYTgwMDVjYjNkOWI0ZjQxNDE4NmFiYTRkN3AyMiwKKyAgICAtMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMHgxLjBmMmVkZWYwNTljNTc4Y2UxMTQ3NDJiZWY4NDJhNzBicDIyLAorICAgIDB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDU1MgorICAgIDB4MS4wZjJlZGVmMDU5YzU3OGNlMTE0NzQyYmVmODQyYTcwYnAyMiwKKyAgICAtMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLjFmNDNkOGRjMzkwOGI4ZWQ4N2E1YWJlMzQ4NTViNDYxcDQ1LAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS4xZjQzZDhkYzM5MDhiOGVkODdhNWFiZTM0ODU1YjQ2MXA0NSwKKyAgICAtMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLjFmNDNmY2M0YjY2MmM3ZDg0Nzg4NDAyNjg0NDliYzI1cDQ1LAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIDB4MS4xZjQzZmNjNGI2NjJjN2Q4NDc4ODQwMjY4NDQ5YmMyNXA0NSwKKyAgICAtMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLjFmNDQ0NDk1YmU4ZTE2MTZhMWU1ZTM5NmI5Y2FhYzZicDQ1LAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS4xZjQ0NDQ5NWJlOGUxNjE2YTFlNWUzOTZiOWNhYWM2YnA0NSwKKyAgICAtMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgMHgxLjQyNTkzMjM5MDJkYmM2ZTYyZTNlMDdjZTI2Y2Q5MDRjcDkxLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS40MjU5MzIzOTAyZGJjNmU2MmUzZTA3Y2UyNmNkOTA0Y3A5MSwKKyAgICAtMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLjQyNTk4MmNmNTk3Y2QyMDVjZTNkNWI0ZWRiMDMxNzU2cDkxLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS40MjU5ODJjZjU5N2NkMjA1Y2UzZDViNGVkYjAzMTc1NnA5MSwKKyAgICAtMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgMHgxLjQyNWEyM2ZjNDMyZmI1ZDU1NjAwNmE0ZDhlN2VlMTFicDkxLAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS40MjVhMjNmYzQzMmZiNWQ1NTYwMDZhNGQ4ZTdlZTExYnA5MSwKKyAgICAtMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjkKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLjcyZjE0YTFjZWQ4NTZhN2U2NWMxNjA3ZDM2ZWY2NGIzcDMsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLjQxMmNjMzgwZGE3Y2I2OTg3ZGZmNjhhZDc3OTMyZjVkcDEsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLjhiMDc1Nzc3NTM1MGE0YTg5OTNmYzE1NmViNGZjODA4cDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLjhiMDc1NTFkOWY1NTA0YzJiZDI4MTAwMTk2YTRmNjZhcDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgMHgxLjhiMDc1M2YwYzU1OTg1NWFjZjVmMTM1NTJhMGMzNTdicDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS41MzE5OTUxZmRkMDhkOTU2NDNhNjc2MmMyYmVmZmFlMnAwLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU4MAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEucDAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5wMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgMHgxLnAwLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIDB4MS41MzE5OTUxZmRkMDhkOTU2NDNhNjc2MmMyYmVmZmFlMnAwLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLjhiMDc1M2YwYzU1OTg1NWFjZjVmMTM1NTJhMGMzNTdicDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEuOGIwNzU1MWQ5ZjU1MDRjMmJkMjgxMDAxOTZhNGY2NmFwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLjhiMDc1Nzc3NTM1MGE0YTg5OTNmYzE1NmViNGZjODA4cDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS40MTJjYzM4MGRhN2NiNjk4N2RmZjY4YWQ3NzkzMmY1ZHAxLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAweDEuNzJmMTRhMWNlZDg1NmE3ZTY1YzE2MDdkMzZlZjY0YjNwMywKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS5mZmZmZDgzZThlNzI4MWE0NWU0MzJiZDU4Y2JiYzM4YXAxMjcsCisgICAgMHgxLjY1YTlmOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLmZmZmZkODNlOGU3MjgxYTQ1ZTQzMmJkNThjYmJjMzhhcDEyNywKKyAgICAtMHgxLjY1YTlmOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS42NWE5ZmFwNgorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLjY1YTlmYXA2CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZXhwMl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZXhwMl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFmMjY5MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9leHAyX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEzNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19leHAyX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjc1NTA2ODVhNDJjNjM4MDAwMDAwMDAwMDAwODQ1YTQ3cDAsCisgICAgMHgxLjE2YTc2ZWM0MWI1MTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjg5ZDk0OGE5NGZlMTZmZmZmZmZmZmZmZmZmMmNkM2JkcDAsCisgICAgMHgxLjNlMzRmYTZhYjk2OWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjkwNjYxZGExMmQ1Mjg4MDAwMDAwMDAwMDAwYjFiNWYxcDAsCisgICAgMHgxLjRhNjNmZjFkNTNmNTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLmNkNmIzN2VkZWNlYWY3ZmZmZmZmZmZmZmZmNzY4MWQ0cDAsCisgICAgMHgxLmIzMmE2YzkyZDExODVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjFiYTM5ZmYyOGUzZTlmZmZmZmZmZmZmZmZmYzY5YzQ0cDEsCisgICAgMHgxLjI1ZGQ5ZWVkYWM3OWFwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5mZmZmZmZmZTlkMWJkMDEwZDc1ZmVlNzgxN2U0ZGZjMHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMyCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5mZmZmZmZmZmZmYTc0NmY0MDQxNzFmZjMxOTlhZWVkN3AtMTAyNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmZlOWQ5NmIyYTIzZDg4MjE5M2Y3Yjk5MzU4NmYyNjAycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDA2YXAtOAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuZmZmZmZmZmY4YTJhM2MxNTdjM2I3ZjE4ZWJhYjY0MmRwLTEwMjUsCisgICAgLTB4MS4wMDAwMDAwMDAwMTU0cDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuZWE0YWZhMmE0N2I5YmZmZWI1M2E5MjEyM2UyODkyZDVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS42YTA5ZDNjN2ZhNzg1N2ZmZmY1ZDgxNmViNjgzZWY0YnAtMSwKKyAgICAtMHgxLjAwMDAyNWZmZmZmYWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5mZTlkOTY2YzFmYjhhODJkZTkxZWU5YTI5NDEwZDlhOXAtMSwKKyAgICAtMHgxLjAwMDAzMzBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5mYTc2NDQxN2ZmN2RhN2ZkMjUyNTYwZWE2MTEzMDI5NnAtMSwKKyAgICAtMHgxLjAxMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmUzZWY5NjY5M2Y4NTc5YmJjMjBmYzFjYmY5ZGVjZmMzcC0xMDMxLAorICAgIC0weDEuMDE4NTM0NzlkNjQxNHAxMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjE3MTM1NGEzZGFjOTBmYjFjMDZjZWQ5NGJjMDk4NTY0cC0xMDU4LAorICAgIC0weDEuMDg3ODA4MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjAwMDAwMDAwMDE4ZjQwYjVlZDk5NGEyNzI2NDE0ZDA2cC0xMDc0LAorICAgIC0weDEuMGM3ZmZmZmZmZmZmN3AxMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjAwMDAwMDAwMDAyYzVjODVmZGY0NzdiNjYyYjI2OTQ1cC0xMDc0LAorICAgIC0weDEuMGM3ZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMC4wLAorICAgIC0weDEuMGM4MDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMC4wLAorICAgIC0weDEuMGM4MDQwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMC4wLAorICAgIC0weDEuMGNiZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMC4wLAorICAgIC0weDEuMGNjcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuNWZhMjFmNDhiMzgwYTdmZjg4ZTY4NTI1NWNkMmIwYjlwLTY4LAorICAgIC0weDEuMGUyYjE0ZjYzNzA5M3A2CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZmZmZmYzZGViMzgxNTgwOTExYmIwYTMzOGQ1MDEzZDNwLTEsCisgICAgLTB4MS4xODBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZjIyMGM5YmZjM2U1ZTgwMmQzZDIyOTlmMWMwY2I4OTZwLTEsCisgICAgLTB4MS40NGFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5kMmM0MTY2NDBiYjU4ODAwMDAwMzAyZDg4ZGQ0Nzk0ZHAtNiwKKyAgICAtMHgxLjQ4OGE1YTg4ZDg2MjdwMgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjc0NzdmZTY1ZWQ5ZWI4MDFmYjc4ZTlmODE5NTk0N2RlcC02LAorICAgIC0weDEuNWQ2MGE4NWNlYzg2MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZmZmZmZmZmZmZTAxZDdmYjE3ODVjOWFiMTA4Zjg1ZjBwLTEsCisgICAgLTB4MS43cC00MAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmY3MTAwNjRmZmJkZjY4MDBmZjM1NGU5MzQyNjBkZDQ1cC0xLAorICAgIC0weDEuYTA0cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuODFkYjI2OTlkNjQ3ZTgwMTE5YTVmZjY1Nzg1NjIzNjhwLTEsCisgICAgLTB4MS5hMWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS4xOGE4MmMwN2ZjNDZkODAzM2JkMGZkMDY0MThmMWQ4M3AtMSwKKyAgICAtMHgxLmJjMTM3YzgyOWZlM2ZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mZmZmZDcxYWI4ZTFjN2ZmYzIzYmI5N2U2NDMxYjZmZXAtMSwKKyAgICAtMHgxLmQ3ZmZlcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmIyM2RkMmZiZDkyNTM4MDFkNTk2MzA2NGViNzM0YTJmcC0xLAorICAgIC0weDEuZTZiMzBjZGZmNjZlYXAtMworICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjlhZmRhZTVmYTEwOWY3ZmZmYjU1NWEzMmMxNzBkOGIxcC0zMiwKKyAgICAtMHgxLmY1MTI5NTljOWZlZjhwNAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLjZhZTVmNDBjMmQyNjgwMDE1OTU2MzdkNzIwZmRhYTkwcC0xLAorICAgIC0weDEuZmM3ZjFmYzdmMWZjOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmFlZDQ5YjVlYjU4MDMwMDFmY2QwNDlhMzczMmIzMWYwcC0xLAorICAgIC0weDEuZmRmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAwMDAwMDBkNmE3NTI4MDBhOTE2MzA1MzljNmU3YjBmcC0xMDIyLAorICAgIC0weDEuZmVmZmZmZmZmNjUyOXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuMDAwMDAwMGMwNzkwZjdmZjYyNDlkODQxOGUxYjgyYzBwLTEwMjIsCisgICAgLTB4MS5mZWZmZmZmZmY3NTI5cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS41YWIwN2RkNDg1NGExODAwZTM2Y2Q1YWU0N2E2ODViZXAtMjU2LAorICAgIC0weDEuZmYxZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuNmEwYmRjNGRiNGQ3YjFmNGUzNWU0M2RmYzg1ODE3YTdwLTEsCisgICAgLTB4MS5mZmY3ZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTlkMjBiYzFwLTEsCisgICAgLTB4MS5mZmY4ZTYxZWFkZDQ4cC0xMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mZmQzYTU3MDVhMGEzODAwMDAzZGU4ZjA2OGJhOGZkZHAtMSwKKyAgICAtMHgxLmZmZmY4N2JmZmZmZmZwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmZmZmY0ZThkZTlmNDgwMDAzODZhNzc1ODk5NTE3ZWFwLTEsCisgICAgLTB4MS5mZmZmZmZmZjA3ZmZmcC0yMgorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLmZmZmZkM2EzN2JlZTE4MDA5NjZlNmM5ZTliYjQ4NDk2cC0xLAorICAgIC0weDEuZmZmZmZmZmYzZmZmZnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wMDAwMDAwYjU2MWVkZmZmNzc2MjIwM2U2ZDk1NGFiNHAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZjdkMjlwOQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjAwMDAwMDA0ZGE4Mjc3ZmZmZjVkNzNhZmUyNGYyMWMzcC01MTIsCisgICAgLTB4MS5mZmZmZmZmZmY4ZmY3cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS4wMDAwMDAwMDM4NTE3NjFiNmQ4OGY4MjliZWNkMzMxNXAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZkNzZwOQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLjAwMDAwMDAwMWU1MzNmOTg5YmU3MDQwODI0NDIzNDUwcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmVhMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuMDAwMDAwMDAxMTExOTk4ZTM3MjA0MGUxNzg2ZDgxNmZwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZjNicDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS4wMDAwMDAwMDA0NTUwOTE1Y2NlOGIyZmM0ZDQ3YTUzOXAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmY2VwOQorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjAwMDAwMDAwMDFmZTI4MDRlODdkMzBjZjhhY2M1OWM3cC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZlOXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuMDAwMDAwMDAwMTIwNTk2NmYyYjU5MzhhNWE5NTdjZTRwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmYzcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5mZmZmZmZmZmZlOWQxYmQwMTA1Y2RjMjFjZWFkNDI4Y3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZmZmZmZmZmZmZmE3NDZmNDA0MTcxZmY4YTUyYmFlOTVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC00MworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjAwMDAwMDAwMDAxNjJlNDJmZWZhM2FlNTMzNjkzODhjcC0xMDI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS42YTA5ZTY2N2YzYmNkMGUwNDQ4ZmYyMTUyYzU2YmYxZnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuMDAwMDAwMDBiMTcyMTdmODBmNGYwMGMxZmYyM2RhMjFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4wMDAwMDAwMGIxNzIxN2Y4MGY0ZjQzNGNjODIwZjZlZXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDA3cC0zMgorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLjAyYzlhM2U3NzgwZmU4MDBjNzI4ZTdkNDg2ZmNmMzFjcDAsCisgICAgMHgxLjAwMDAwMDAwMDM4MzhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS42YTA5ZTY2Y2MxODRiMDAwMDA0ZWUxMzMwMGVlZmVlZHAwLAorICAgIDB4MS4wMDAwMDAwOWNkMTg5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuMDBiMWFmZGU3YjFjYjgwMTI4Nzc3NmI2OTkyNzgxNzRwMCwKKyAgICAweDEuMDAwMDUxYmNkNjBlN3AtOAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjAwNThjODlhMGRhOTI3ZmZkNGY1NGM3NjgxZWIwNjhkcDAsCisgICAgMHgxLjAwMDA3ZmZmZmZmYWVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS4wNTliNjdkYmI3Mzc0N2ZmYzc1NTlmMzdlZjkxMzE1N3AwLAorICAgIDB4MS4wMDBmZmZmYzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS42YjE0ZWEwNDhiYTZiNGE4YTc3ZmQyNzVhMjBkY2IyN3AwLAorICAgIDB4MS4wMjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS4wMDJkNzExYzlmZTI3ZmZmZmZmNDVhOWU1MTliZTk5ZnAwLAorICAgIDB4MS4wNjI0ZGUwYjg3N2E5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjAwMmQ3MTFkZDY1Zjc3ZmZmZmY5YTMwZTE4YmFmZjYwcDAsCisgICAgMHgxLjA2MjRlNTBhMGJlZTFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuMDAyZDcxMWY0YzViNzgwMDAwMDY3MWQxNWJiNjA2NjdwMCwKKyAgICAweDEuMDYyNGVkNzZiYjk4NnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS4xYTdjMDcxM2MxNGMyZmZmZmY1ZTcwODVkNzE0MDcwMXA0LAorICAgIDB4MS4wOTE2ZmJkMTZhNGE0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS4wMDA1ZjBlZWNhNDc2ZmY1NzQ2ZTc3OTE4ZjMwNTYyMnAwLAorICAgIDB4MS4xMjQ0OTEyNDQ5MTAxcC0xMworICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjc1NTA2ODVhNDJjNjM4MDAwMDAwMDAwMDAwODQ1YTQ3cDAsCisgICAgMHgxLjE2YTc2ZWM0MWI1MTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS43NmUyMTlmNDRlODA3N2ZmZmJmNjkxMzI3ZTE4YTZhNnAwLAorICAgIDB4MS4xOWMwOTQ5NGI4MzllcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuMzczOGQ3MmU4NTFkMDgwMDdmOTRhZWMwNGU3MjAxNDNwMCwKKyAgICAweDEuMjA5MDQ4MjQxMjA4MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjVlYmNiMGMzYTVlOGNmZmZmZjQwM2NmYzg5YWYwMjVkcDIsCisgICAgMHgxLjNhMjRiYzlmNzQ3YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmVmZjk0OGFiODY4N2Y4MDFkOGMwYjUyZDRmZDFhYmM0cDQsCisgICAgMHgxLjNkMTA0ZDU1MWQ4MWNwMgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmY2NjJhYTY3MDYyZjY4MzEyYWZjYmI2NGVlN2EwY2FjcDE5LAorICAgIDB4MS4zZjhmZmEzZjZjNzE2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS4zZGM2NDI0NTdkMDg1N2ZmMTZmYjNiOWJjMGM4NjgxNHAxLAorICAgIDB4MS40ZmQ2MDMxY2UyZjU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS4wMDAwMDAwMDc1NTcxZmZmZmU5Mjg3Yjg5MTM0OTBjYXAwLAorICAgIDB4MS41MjkyOTdlNGQ0NzMwcC0zMworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjQyOGEyZjk4ZDcyODk4MDI4N2NkMTlmMjJiYTIzMzQycDAsCisgICAgMHgxLjU1NTU1NTU1NTU1NGZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS4wNzkyYzM3NDM1ZTViODAxYTliYWU0MjE5ZjExYTZhOXAwLAorICAgIDB4MS41ODhmMGE0ZWFjMTNlcC01CisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZTBlYWE1ZTEyYjYyYjdmZWZmMGFlOTgyYmM5YjBlMjBwMiwKKyAgICAweDEuNzQ2ZjJkYWM0YzRhZXAxCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuZThmNTk3YTM3NWI5MDgzMTBiOWZkMTg5MmI5NDBmZGRwMiwKKyAgICAweDEuNzc3ZjNlYjExODY0NHAxCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZTIxMmQxY2Q5MmFmNTgwMDAwMDY1YWU0ZDMzNWZjZDVwNSwKKyAgICAweDEuN2E3MDYyM2E2NTA1NXAyCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuNmUxNzY3Njk4MzI0MzdmZjAwNzhiMTM3OTEzODE5NjJwMSwKKyAgICAweDEuODQxYzg0YmYwMmM5M3AwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuMDAwMDAwMDAxMGU1NzgwMDAxNTJiNTYyMzJhYWI2OGVwMCwKKyAgICAweDEuODYwNTUxMjljMTMzZnAtMzYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS4xZjk4ZTMwYjA3MDcxN2YwNDc5NDRlNTY0ZmI2ODk0OXA2LAorICAgIDB4MS44YWJlZjg1YWMyN2NhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4yOWYyMDlmNjJjZDFiZmZmZmZiNDQyZmM2NjZhYjAwMnA2LAorICAgIDB4MS44ZTAyODdlYjMwNTcycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS4yZTZlYjYwZmVmOWU5ODAxYTcwM2Q3YjhiNzI3NzYwZHA1MCwKKyAgICAweDEuOTFlYzdiMWVjN2MzZHA1CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuMTI1ZmJlZTNhOGY0YjAwMDAwNmIwMWFjNmMzOWZhZTNwMCwKKyAgICAweDEuOTk5OTk5YjY5NjZiMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjEyNWZiZWY2MGQyM2Y3ZmZmZmY5OTBhZjRhZDM1NmRlcDAsCisgICAgMHgxLjk5OTk5YjQyYjAxMGVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS4yZGY4OWQ2OGVjZDgxN2ZlZmZiYzhhMDI0ODlhMmMzMXAzLAorICAgIDB4MS45ZTdmODdjZDgxM2QwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS43YjA4MzdhMDFjNGJmN2ZmZmI0YjI0Y2E5MjA1N2VjOHA4NDQsCisgICAgMHgxLmE2NDg3ODc2NWQ5YzZwOQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjI3OTQxN2JkMWVlNTgwMDBkNjU3Yzg4ZTk1OWFhMzBhcDAsCisgICAgMHgxLmE4Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjI0ZTRjZmE5NTBkODU4MDFlNGU5N2NmNTg4ZWFlODU1cDg1OCwKKyAgICAweDEuYWQxOGRjYTc1MTUxY3A5CisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuYzlkN2Q5YjY4N2ZkNTgwMzNlYjU2MjMzYWNkMmU3NDNwODU4LAorICAgIDB4MS5hZDZiNWFkNmI1YWQ2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS4wOTlhZDE4YmE0NTI1ODAxNzllODRiOWYzNjdjMjRmY3AwLAorICAgIDB4MS5iMzRjYzQ1NjZkMGI4cC01CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuNzVkYjA0ODYyNmNjOTgwMWZkZDgzMjhlNWU3YzJlZDNwNTUsCisgICAgMHgxLmJjNWVlNWZiNWFiZGZwNQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjA0ZWI5ZGY5NDY3ZWE4MDA2ZWMyYWU0MGZlNGFhOWEycDAsCisgICAgMHgxLmMyMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjczMzZhNjYyZjdhMzA4MDAwMDMyMWM3NjE5MTJiYjRkcDMsCisgICAgMHgxLmM0OWYxOTAyMGJlOTlwMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjAwMDUxMTgwMjE4Y2E3ZmZmZmZhOThhMGFjYTE2MDJicDAsCisgICAgMHgxLmQzZjRjZmE3ZTllNTRwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjAwMDAxNDZiYjgxZWEwMDAzYjYyZTNkNmQ5MDhhNzA4cDAsCisgICAgMHgxLmQ3NnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZTdlZGU4MTU1ZjQxNDgwMTNjNDIzMmFiYzcxOTRkNGRwMCwKKyAgICAweDEuZGM2ZTM3MWI4ZGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZTk2YjU2MjRjOGYzZTgwMDA0NzU5ZTEyMzdlMjk4ZGZwMSwKKyAgICAweDEuZWY1NzYyN2JjZDE4ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLjY2MWJkMGU3NjdlZTM3ZmZmZjZmMTlkY2JmMTNmNzMzcDAsCisgICAgMHgxLmVmZTAyYmNjY2MzZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMGIyMTZlMjdhZDAxNTdmZmI3YjA3YWVlNzQ0YmM2NGJwMCwKKyAgICAweDEuZjcwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZiZGE5YjIzN2ExNDM3ZmVmZmVlMTI5NDRjY2MyYWJlcDEsCisgICAgMHgxLmZjZmYzZmNmZjNmY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mMGY1ZDllMWFiNGNjODI1ZjY1NTAwN2U4Y2U4MzUyZnA3LAorICAgIDB4MS5mZDNmNDYzOTdjOTJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZmM1MmU4MzY5ODBhZjdmZmZiNjk4ODc4MzJkZjM2YmVwMSwKKyAgICAweDEuZmQ1NmIyMzZlNDdiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZlOTc0YTQ2ZjA3YjA4MmQzMmNlMzYyN2FkYmU3MzRicDEsCisgICAgMHgxLmZlZmI3MWIzZTUxOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS4zMDU1ODEyNjg3OWE2ODJmZjNmMTZmYmZlZjEyYTk1OXAwLAorICAgIDB4MS5mZWZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLmVhNGFmYTJhM2U1OTk4MDE0MzM4MWMwZDY2ZjA2MjQxcDUxMSwKKyAgICAweDEuZmZlZmZmZmZmZmY3ZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmZmZDkzMDgzNjRmMDhmNmYyNjE3ZGE3ZDBiOTk0YWVlcDEwMjMsCisgICAgMHgxLmZmZmZmMWZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mZmZmZmZmZmFhNTVlN2ZmZmZhYThlNmI1Zjg3MTM1MnAwLAorICAgIDB4MS5mZmZmZmZmZjg0Njk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS43YjI5MzU4ZDQxYTY0NjZmMDU5YmFkZWJjMGYzZWYyYXAtMSwKKyAgICAtMHgxLmJiYmJiYmJiYmJiYmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuOGQxN2QyYjc3MDA2N2RkMGI1NjA5OTdkNzA5NDYyZjJwLTEsCisgICAgLTB4MS43Nzc3Nzc3Nzc3Nzc4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjlmZGY4YmNjZTUzM2QzODUwNDk5Y2Q5MWI0ZmUxYjQ1cC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5iMzhhYTU2ODIxNTNlYTEwZWM2YWFmMDNiMWUxOWExN3AtMSwKKyAgICAtMHgxLmRkZGRkZGRkZGRkZTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuYzgyM2UwNzRlYzEyOGRkM2U1YTIyNjY1ZjUzZGU0MzBwLTEsCisgICAgLTB4MS41NTU1NTU1NTU1NTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmRkYjY4MDExN2FiMTE5ZGRmN2RlMjNhYmY3MGE5NzRhcC0xLAorICAgIC0weDEuOTk5OTk5OTk5OTk5ZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5mNDRlNGZiNmM1NWQ2Zjg0NjFmMGMyNGE2NTYxZThjZnAtMSwKKyAgICAtMHgxLjExMTExMTExMTExMWNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDVmYmQ0ZDViNGQ1OTc1MTdmMmYxNDk5MGM3YzFkNzRwMCwKKyAgICAweDEuMTExMTExMTExMTEwNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS4xMjVmYmVlMjUwNjYzZTM5YTYwMDkyNWVjYWY4N2U3YXAwLAorICAgIDB4MS45OTk5OTk5OTk5OTk0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjFmNTlhYzNjN2Q2YmY4M2MwYWFjMDhmODY0ZDkxN2EwcDAsCisgICAgMHgxLjU1NTU1NTU1NTU1NTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMmNmMGI1MjQ1ZThmMjg4ZmQ3OWZiMTMxMzczNTJkM2NwMCwKKyAgICAweDEuZGRkZGRkZGRkZGRkYXAtMworICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4zYjJjNDdiZmY4MzI4Njk5NTQ1ZWJiYzFiODIyNDU2OXAwLAorICAgIDB4MS4zMzMzMzMzMzMzMzMxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjRhMTQyYzJiMmU3MWRiZmMyYjQ0NjczNWRkZmUwMmZlcDAsCisgICAgMHgxLjc3Nzc3Nzc3Nzc3NzVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuNTliMDg4YjhmMjllZDI2ZTRhZmM4NTNkMjI0MmYzZGNwMCwKKyAgICAweDEuYmJiYmJiYmJiYmJiOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS42YTA5ZTY2N2YzYmNiZDQ1NTg5YmM1NjE4ODQ1MjM4OHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnA0OCwKKyAgICAweDEuOHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjUxY2I0NTNiOTUzNjY2YWU4YTczYzM3N2U3MDRhMTMxcDQ4LAorICAgIDB4MS44MzMzMzMzMzMzMzMzcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuYmRiOGNkYWRiZTExMGFlYmQyYmEyNjY2OGYxYTA1M2ZwNDgsCisgICAgMHgxLjg2NjY2NjY2NjY2NjZwNQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS4yNjExMTg2YmFlNjY1NGQxNDQxNTM4MjZhOGNiZGU2YXA0OSwKKyAgICAweDEuODk5OTk5OTk5OTk5OXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjg0MDYwMDNiMmFlNDE4NjRhNDllZWE1NDk5NGRmMzZmcDQ5LAorICAgIDB4MS44Y2NjY2NjY2NjY2NjcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuZmZmZmZmZmZmZmZkM2EzN2EwMjBiOGM0MDU0Y2I4NjlwNDksCisgICAgMHgxLjhmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS41MWNiNDUzYjk1MzQ5MjY2NWM2ZDJmYjE1MDgzZjZlMnA1MCwKKyAgICAweDEuOTMzMzMzMzMzMzMzMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmJkYjhjZGFkYmUwZWExMDRmYTQyOGNhYjBkNTEyNWEycDUwLAorICAgIDB4MS45NjY2NjY2NjY2NjY1cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuMjYxMTE4NmJhZTY0YmQyNzgyMDYyN2IxZTRjM2YxNzlwNTEsCisgICAgMHgxLjk5OTk5OTk5OTk5OThwNQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS44NDA2MDAzYjJhZTFmZTdhN2E0YzkwYWU5ZTdhODU4ZXA1MSwKKyAgICAweDEuOWNjY2NjY2NjY2NjYnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmZmZmZmZmZmZmZmYTc0NmY0MDQxNzE4YmUyOTEzMGMzcDUxLAorICAgIDB4MS45ZmZmZmZmZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEucC01MiwKKyAgICAtMHgxLmFwNQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS41MWNiNDUzYjk1MzY2NmFlOGE3M2MzNzdlNzA0YTEzMXAtNTIsCisgICAgLTB4MS45Y2NjY2NjY2NjY2NkcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuYmRiOGNkYWRiZTExMGFlYmQyYmEyNjY2OGYxYTA1M2ZwLTUyLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjI2MTExODZiYWU2NjU0ZDE0NDE1MzgyNmE4Y2JkZTZhcC01MSwKKyAgICAtMHgxLjk2NjY2NjY2NjY2NjdwNQorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS44NDA2MDAzYjJhZTQxODY0YTQ5ZWVhNTQ5OTRkZjM2ZnAtNTEsCisgICAgLTB4MS45MzMzMzMzMzMzMzM0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuZmZmZmZmZmZmZmZkM2EzN2EwMjBiOGM0MDU0Y2I4NjlwLTUxLAorICAgIC0weDEuOTAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjUxY2I0NTNiOTUzNDkyNjY1YzZkMmZiMTUwODNmNmUycC01MCwKKyAgICAtMHgxLjhjY2NjY2NjY2NjY2VwNQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5iZGI4Y2RhZGJlMGVhMTA0ZmE0MjhjYWIwZDUxMjVhMnAtNTAsCisgICAgLTB4MS44OTk5OTk5OTk5OTlicDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuMjYxMTE4NmJhZTY0YmQyNzgyMDYyN2IxZTRjM2YxNzlwLTQ5LAorICAgIC0weDEuODY2NjY2NjY2NjY2OHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjg0MDYwMDNiMmFlMWZlN2E3YTRjOTBhZTllN2E4NThlcC00OSwKKyAgICAtMHgxLjgzMzMzMzMzMzMzMzVwNQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5mZmZmZmZmZmZmZmE3NDZmNDA0MTcxOGJlMjkxMzBjM3AtNDksCisgICAgLTB4MS44MDAwMDAwMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEucDc2OCwKKyAgICAweDEuOHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLnAtODk2LAorICAgIC0weDEuY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjRwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAwLjAsCisgICAgLTB4MS42cDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmZmZmZmZmZmZmZkM2EzN2EwMjBiOGUwZDkwZWQ3ZjNmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wYzhwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuZmZmZmZmZmZmZmE3NDZmNDA0MTcxZmYzMTk5YWVlZDdwLTEwMjUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLnAtMTAyNCwKKyAgICAtMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuMDAwMDAwMDAwMDE2MmU0MmZlZmEzYWU1MzM2OTM4OGNwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuZmZmZmZmZmZmZmQzYTM3YTAyMGI4ZTBkOTBlZDdmM2ZwLTUxMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5wLTUxMiwKKyAgICAtMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS4wMDAwMDAwMDAwMGIxNzIxN2Y3ZDFkMzUxYTM4OWQ0MHAtNTEyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmZmZmZmZmZmZmZlOWQxYmQwMTA1YzY4YmM5N2VjMTk0cC0yNTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEucC0yNTYsCisgICAgLTB4MS4wcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMDAwMDAwMDAwMDA1OGI5MGJmYmU4ZThiMmQzZDRlZGVwLTI1NiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS5mZmZmZmZmZmZmZjRlOGRlODA4MmUzMjcyNTAxNjE0N3AtMTI5LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLnAtMTI4LAorICAgIC0weDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLjAwMDAwMDAwMDAwMmM1Yzg1ZmRmNDc0MWJlYTZlNzdmcC0xMjgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZmZmZmZmZmZmZmZhNzQ2ZjQwNDE3MThiZTI5MTMwYzNwLTY1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLnAtNjQsCisgICAgLTB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuMDAwMDAwMDAwMDAxNjJlNDJmZWZhMzlmZTk1NTgzYzNwLTY0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLmZmZmZmZmZmZmZmZDNhMzdhMDIwYjhjNDA1NGNiODY5cC0zMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5wLTMyLAorICAgIC0weDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLjAwMDAwMDAwMDAwMGIxNzIxN2Y3ZDFjZmI3MmI0NWUycC0zMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mZmZmZmZmZmZmZmU5ZDFiZDAxMDVjNjE4N2E3NjQzNnAtMTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEucC0xNiwKKyAgICAtMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wMDAwMDAwMDAwMDA1OGI5MGJmYmU4ZTdjYzM1YzNmMXAtMTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuZmZmZmZmZmZmZmZmNGU4ZGU4MDgyZTMwYTUxM2Y0MWJwLTksCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEucC04LAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLjAwMDAwMDAwMDAwMDJjNWM4NWZkZjQ3M2UyNDJlYTM4cC04LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmE3NDZmNDA0MTcxODRhZGEwYThlcC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLnAtNCwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxNjJlNDJmZWZhMzlmMDJiNzcyY3AtNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZkM2EzN2EwMjBiOGMyMzgxMDk2N3AtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5wLTIsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuMDAwMDAwMDAwMDAwMGIxNzIxN2Y3ZDFjZjdkODNjMWFwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTlkMWJkMDEwNWM2MTE0NTg1YmJwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEucC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA1OGI5MGJmYmU4ZTdiZGNiZTJlcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5mZmZmZmZmZmZmZTlkMWJkMDEwNWM2OGJjOTdlYzE5NHA1MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5wNTEyLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuMDAwMDAwMDAwMDE2MmU0MmZlZmEzYWU1MzM2OTM4OGNwNTEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuZmZmZmZmZmZmZmY0ZThkZTgwODJlMzI3MjUwMTYxNDdwMjU1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEucDI1NiwKKyAgICAweDEuMHA4CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLjAwMDAwMDAwMDAwYjE3MjE3ZjdkMWQzNTFhMzg5ZDQwcDI1NiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmZmZmZmZmZmZmZmYTc0NmY0MDQxNzE4YmUyOTEzMGMzcDEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLnAxMjgsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS4wMDAwMDAwMDAwMDU4YjkwYmZiZThlOGIyZDNkNGVkZXAxMjgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS5mZmZmZmZmZmZmZmQzYTM3YTAyMGI4YzQwNTRjYjg2OXA2MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLnA2NCwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjAwMDAwMDAwMDAwMmM1Yzg1ZmRmNDc0MWJlYTZlNzdmcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuZmZmZmZmZmZmZmZlOWQxYmQwMTA1YzYxODdhNzY0MzZwMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5wMzIsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS4wMDAwMDAwMDAwMDE2MmU0MmZlZmEzOWZlOTU1ODNjM3AzMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmZmZmZmZmZmZmZmZjRlOGRlODA4MmUzMGE1MTNmNDFicDE1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEucDE2LAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMDAwMDAwMDAwMDAwYjE3MjE3ZjdkMWNmYjcyYjQ1ZTJwMTYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZhNzQ2ZjQwNDE3MTg0YWRhMGE4ZXA3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEucDgsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS4wMDAwMDAwMDAwMDA1OGI5MGJmYmU4ZTdjYzM1YzNmMXA4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZDNhMzdhMDIwYjhjMjM4MTA5NjdwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLnA0LAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMmM1Yzg1ZmRmNDczZTI0MmVhMzhwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmU5ZDFiZDAxMDVjNjExNDU4NWJicDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5wMiwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLjAwMDAwMDAwMDAwMDE2MmU0MmZlZmEzOWYwMmI3NzJjcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmNGU4ZGU4MDgyZTMwODg0MDMxZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLnAxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMDAwMDAwMDAwMDAwMGIxNzIxN2Y3ZDFjZjdkODNjMWFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLjZhMDllNjY3ZjNiY2MxMzEyMTY2MzRiOGE4ZmZiN2IwcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuNmEwOWU2NjdmM2JjY2NmNDdiYzU4MmJlMGI3MGFlYTRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmFlODlmOTk1YWQzYWQxM2ViZTJmZDQzN2NkYzRkODZicC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5hZTg5Zjk5NWFkM2FkNWU4NzM0ZDE3NzMyMDVhN2ZiY3AtMSwKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuYWU4OWY5OTVhZDNhZDgzZDRkZGJiOTEwYzlhYTJjODRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLmQ1ODE4ZGNmYmE0ODZmZDJjMGI1ODU5MTM1M2UxNDMxcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5kNTgxOGRjZmJhNDg3MjVkYTA1YWViNjZlMGRjYTlmNXAtMSwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuZDU4MThkY2ZiYTQ4NzNhMzEwMmQ5ZTUxYjZhZDQ3MzRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmVhNGFmYTJhNDkwZDk3MDUxZWRmZDZmNWRlODRmMWZlcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5lYTRhZmEyYTQ5MGQ5ODU4ZjczYTE4ZjVkYjMwMWY4NnAtMSwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuZWE0YWZhMmE0OTBkOTkwMmUzNjczOWY1ZDk4NjBlYTBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmY1MDc2NWI2ZTQ1NDA1Yzc1Mzk2YjI3MTQ3MDI5Y2MwcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5mNTA3NjViNmU0NTQwNjc0Zjg0Yjc2Mjg2MmJhZmY5OXAtMSwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuZjUwNzY1YjZlNDU0MDZjYmNhYTVkODAzZjA5NzQ3OTZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmZhN2MxODE5ZTkwZDgyOTE0NjFjOWVhYzM4ZTIxNjc2cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5mYTdjMTgxOWU5MGQ4MmU5MGE3ZTc0YjI2M2MxZGMwNnAtMSwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuZmE3YzE4MTllOTBkODMxNGVjYWY1ZmI1NzkzMWM0ODJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLmZkM2MyMmI4ZjcxZjEwNmIzYzczYTQ1NGY4MGMwMGVjcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5mZDNjMjJiOGY3MWYxMDk3NWJhNGIzMmJjZjNhNWUxMnAtMSwKKyAgICAtMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuZmQzYzIyYjhmNzFmMTBhZDZiM2QzYTk3M2FkMThlMTVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLmZlOWQ5NmIyYTIzZDkxMzQ0MTRlZDE1ZWIxNzViYzYycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS5mZTlkOTZiMmEyM2Q5MTRhNjAzNzQ0MmZkZTMxYmFmOHAtMSwKKyAgICAtMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuZmU5ZDk2YjJhMjNkOTE1NTZmYWI3ZDk4NzQ4ZmJhOWZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmZmNGVhY2E0MzkxYjVkOTgyYjJhMDQ2NjQ2NzcyYTg3cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5mZjRlYWNhNDM5MWI1ZGEzM2U3NDM2OTFmNzI5OGIxMnAtMSwKKyAgICAtMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuZmY0ZWFjYTQzOTFiNWRhOGM4MTk0ZmE3Y2Y4MmJiNmVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5mZmE3NGVhMzgxZWZjMjEyMWNkOTFhM2U2NDc1YTdkOHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLmZmYTc0ZWEzODFlZmMyMTdhNzczZjE1YzAyNWY3YzBkcC0xLAorICAgIC0weDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuZmZhNzRlYTM4MWVmYzIxYTZjYzE1Y2VhZDE1NDY2MmRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5mZmY0ZThmZDQwMDgwY2M3OTViMGU1ZTQ2YTkxZjBmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLmZmZjRlOGZkNDAwODBjYzg0NzFmMjVlZjI0ODBiMDBicC0xLAorICAgIC0weDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuZmZmNGU4ZmQ0MDA4MGNjODlmZDY0NWY0ODE3ODBmOTBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS42YTA5ZTY2N2YzYmNjNTFjZWEzMGE0MGZjOWM1MmFlY3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuNmEwOWU2NjdmM2JjZDBlMDQ0OGZmMjE1MmM1NmJmMWZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS4zMDZmZTBhMzFiNzE1MTM4ODM0OGZmMGRlMDc0YzVhM3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjMwNmZlMGEzMWI3MTUyZGU4ZDVhNDYzMDVjODVlZGVjcDAsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuMzA2ZmUwYTMxYjcxNTYyYWExN2NkNDc1NTRhZjE5YjRwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS4xNzJiODNjN2Q1MTdhZDBjNzY0NzI0MGNiZjI1OWQwZHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjE3MmI4M2M3ZDUxN2FkY2RmN2M4YzUwZWIxNGE3OTIwcDAsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMTcyYjgzYzdkNTE3YWY1MGZhY2MwNzEyOTU5NWMzYThwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS4wYjU1ODZjZjk4OTBmNWNjZTRlZjBkOTJlZGY5OGY4MXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjBiNTU4NmNmOTg5MGY2Mjk4YjkyYjcxODQyYTk4MzY0cDAsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMGI1NTg2Y2Y5ODkwZjZlMmQ4ZGEwYTIyZWMwOWNiN2RwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS4wNTliMGQzMTU4NTc0MzgxMjcyMWE0NmJiZDA3ZjA0MnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjA1OWIwZDMxNTg1NzQzYWU3YzU0OGViNjhjYTQxN2ZlcDAsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuMDU5YjBkMzE1ODU3NDQwOTI2YmE2MzRjMmJkYzdmMDZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS4wMmM5YTNlNzc4MDYwZWQwOGJiMmJmM2E0YzRiZmZkZHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjAyYzlhM2U3NzgwNjBlZTZmN2NhY2E0ZjdhMjliZGU5cDAsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuMDJjOWEzZTc3ODA2MGYxM2NmZmFlMDc5ZDVlNTNmZDVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS4wMTYzZGE5ZmIzMzM1NmNkMjNkYWEyYTRkZTkyYjAxMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjAxNjNkYTlmYjMzMzU2ZDg0YTY2YWUzMzZkY2RmYTQwcDAsCisgICAgMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuMDE2M2RhOWZiMzMzNTZlZTk3N2VjNTUwOGM0NDkwMTFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS4wMGIxYWZhNWFiY2JlZDViOWE0MTA3MWE1MDljZWFmN3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwYjFhZmE1YWJjYmVkNjEyOWFiMTNlYzExZGM5NTQ0cDAsCisgICAgMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDBiMWFmYTVhYmNiZWQ2YzQ4N2YyZDhmOTQ1YmVhMzlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4wMDU4Yzg2ZGExYzA5ZTlmMzg1YjRhMjAxMTgwYWY4OXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS4wMDU4Yzg2ZGExYzA5ZWExZmYxOWQyOTRjZjJmNjc5Y3AwLAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjAwNThjODZkYTFjMDllYTc4Yzk2ZTM3ZTRhOGNkN2Q4cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuMDAyYzYwNWUyZThjZWM0ZjBhMDAwYjA4OTcwOGI5MGRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMDAyYzYwNWUyZThjZWM1MDZkMjFiZmM4OWEyM2EwMTBwMCwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMDAyYzYwNWUyZThjZWM1MzMzNjUyOTQ4YTA1OTZlMWNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuMDAwNThiYTAxZmI5Zjk2ZDQwNGY1OGIyZjIxM2M2Y2NwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuMDAwNThiYTAxZmI5Zjk2ZDZjYWNkNGIxODA5MTdjM2VwMCwKKyAgICAweDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuMDAwNThiYTAxZmI5Zjk2ZGM1NjdjY2FlOWQ4Y2U3MjFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAwLjAsCisgICAgLTB4MS4wYzgwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBjOHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS4wMDAwMDAwMDAwMmM1Yzg1ZmRmNDc3YjY2MmIyNjk0NXAtMTA3NCwKKyAgICAtMHgxLjBjN2ZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAwLjAsCisgICAgLTB4MS4wY2MwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMC4wLAorICAgIC0weDEuMGNjcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMC4wLAorICAgIC0weDEuMGNiZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuMWE2NjM3ZTY2NmY4MmUxYmY5YmRjMjkzZTExMGM1ODZwMywKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLmQwMjMxYmQ1ZTljZmQxYzU2ZDhjNTdmYjlhZGMxNmUxcC00LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLjdjM2Y3M2U1ZTlkZjQ5NTVlNTFkYjJjOTZjNGNkNDgzcDEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS41OGIzOTQwYWZlZDE2NWU0NmZiYjc2ZDBjYjAxZGQ4N3AtMiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS4wMDAwMDAwMDAwMDAwYjE3MjE3ZjdkMWNmN2Q4M2MxYXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTlkMWJkMDEwNWM2MTE0NTg1YmJwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEucDEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5wLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjRlOGRlODA4MmUzMDg4NDAzMWZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS4wMDAwMDAwMDAwMDAwNThiOTBiZmJlOGU3YmRjYmUyZXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuYjkzYmJmODU4MmUxMjkzNDFlMjRmZjQ2NTE0MmFkZmFwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS4yOTBlZTZhNWU4M2NmNzhkYTA2MzA2MGEzZjUwY2M3ZnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLnAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuZmZmZmZmZmZmZmQzYTM3YTAyMGI4ZTBkOTBlZDdmM2ZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuZmYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuZmZmZmZmZmZmZmQzYTM3YTAyMGI4ZTBkOTBlZDdmM2ZwLTEwMjMsCisgICAgLTB4MS5mZjAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEucDEyNSwKKyAgICAweDEuZjQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEucC0xMjUsCisgICAgLTB4MS5mNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS5wMiwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLnAtMiwKKyAgICAtMHgxLjBwMQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2V4cDJmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9leHAyZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRjNTJhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9leHAyZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2V4cDJmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLnAtMTI4LAorICAgIC0weDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLmZmZmU5ZDFjNGIwZjM3ZjQxM2Q0NGM2NmMwNDgxODM0cC0xMjksCisgICAgLTB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuYWU4OTkzMDAyOGVmYjc4ODY2MzUwMzRkYjcwNTQwMjBwLTEsCisgICAgLTB4MS4wMDAxNjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmZmYTcyMzAwMDA2ZTIwZmEwMzU5YzU3ZjFiMzZhOGU2cC0xLAorICAgIC0weDEuMDA3ZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLmY0ZjVkOGZmY2ZlYzVlN2I1ODlhYTQ4ZjViNWQ5MDE3cC0xLAorICAgIC0weDEuMDE5ZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuMWMwZGY5Yjk0ZGYzY2RiNDE2Mjg5NzY5MjdiZjU0ZTVwLTEyOSwKKyAgICAtMHgxLjAxYjMzMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5lOWYwYmQwMTM5ZWM2ODlmNzJmYjY3YzRlMmNhNjAxY3AtMSwKKyAgICAtMHgxLjA0NDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjVlZmZiMGZmZmQxOWI0Mzc2ZDRlNmFlMmIxNmIzYTIxcC0xLAorICAgIC0weDEuMTZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuZDczN2E3ZmE0ZGJmMmNmYjZkYmE2ZWM2ODE3ZWQwM2JwLTIsCisgICAgLTB4MS4xZWE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5hNGU1YjMwMDAwZjU5ZGFmNDAzMjZjMjEyYzVhMmZjYnAtMSwKKyAgICAtMHgxLjIxNzViY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjlmN2YxNmZlYjI1ZjMwMDBkMDYyMDU1NDEzMDY4YTk3cC0xOSwKKyAgICAtMHgxLjI0ZDIyOHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuMDAwNjNkMTY0ZDM1MTJhMTM5NDZhOWQ0NDc3ZDU5NGZwLTE0OSwKKyAgICAtMHgxLjI5ZmZlZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAwLjBmLAorICAgIC0weDEuMmEwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDAuMGYsCisgICAgLTB4MS4yYTAwMDRwNworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMC4wZiwKKyAgICAtMHgxLjJhMTRjMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAwLjBmLAorICAgIC0weDEuMmMwMDBhcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5hMGQ5ZWNmZmZmMTlkNDE1MmI4MmM2NjBkYzIwOWE3N3AtMSwKKyAgICAtMHgxLjJmYmFkMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmM2MDUyZjAwNTg5ZDRmODAzNzM4ZjhmY2YzNmZhMDBicC0xLAorICAgIC0weDEuNjMxOGQwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZjdjYmYwZmZmZTMyYWY0ZGRhMDFmYjU1NTRlNWJkZDVwLTEsCisgICAgLTB4MS43ZGM4ZTZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS45OTRiNGYwOWI2ZWUwNGJkZjViNDIxZDRlOTVkZDM4ZXAtMTA3LAorICAgIC0weDEuYTk0YWMycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS45NzY4ZGQwYmFmYzlkOWIxYTk3YTU0NzExZDQ5OWI3NHAtNCwKKyAgICAtMHgxLmFhMzI2Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuZDU4MTk3ZmIzOGZhM2MxZmUxMmU3YWQ1OWMwOGZmMjFwLTgsCisgICAgLTB4MS5jN2ZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjZkN2E2OGIyZTQ3ZDMxMTA3MTJkZjI1OTVjOTFmMjNjcC0xLAorICAgIC0weDEuZjIwN2ZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuYmU5ZTkzNDc3MzAxOTQ5MDE2YmMyYzJiNTBiZmUyY2FwLTEyNiwKKyAgICAtMHgxLmY0YzlkNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZDYxMDI3ZjdiYWU5ZjE5NjRjMjA1ZGZjYmUzZjQ2NzlwLTEsCisgICAgLTB4MS5mOGZlNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS40YzZmZWEwNTc5ZGM3OTRlOTg5YzM1MDVlMzliZTQ4ZnAtMTI3LAorICAgIC0weDEuZmE3ZTA0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5kNWRhMDBmZmY3ZmM1M2ViNGZmZjc4Y2Q3ZDFmMDgwYnAtMSwKKyAgICAtMHgxLmZiYTcyYXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjA1YzlkMTNiNzBjZmYyY2RlNWY3NWI4NzBkYWNjYTYycC0xMjcsCisgICAgLTB4MS5mYmRlZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmQ1ZDJmMGZhMWYyM2JhMGI3YTA2Yzg5Y2MwMTI4Zjc3cC0xLAorICAgIC0weDEuZmJmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZWE1YTY0ZjU2YTdiYTc2MmZlMzhmZThlYjRhOWRkMDNwLTEsCisgICAgLTB4MS5mZThjNjRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5lYTRjY2NmNTMyM2I4YzQ0MDVmMWE3MzZlNTg2NzM4ZnAtMSwKKyAgICAtMHgxLmZmZDQwY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjAwMjZkZWZmOGU1M2MyNDA5NzZkMjk2YjM4MTAwZDhhcC0xNiwKKyAgICAtMHgxLmZmZjhmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuZWE0YjM5ZjgxYmE2NjgwNGVjYWIzZDcxMDczZTI3YjNwLTEsCisgICAgLTB4MS5mZmY5ZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS4wMDc5NjliZmRjYmRmYjNlNThiZGYzMzNmNTNhM2MxZHAtMTI4LAorICAgIC0weDEuZmZmZDQ0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS4wMDU2YjM2MGU1YTJkZmU5ZWU0OTg3NWRkNTI5ZTMzYnAtMTI4LAorICAgIC0weDEuZmZmZTBjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5mZmY0ZTkwMDEwZDdmMGY1ZDVlODhlZDQ4NTFkMTU0MnAtMSwKKyAgICAtMHgxLmZmZmY3ZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS4wMDExNTRiYTdlZDQ4NWZiZjgwNGNkODI4MGQ0Y2EwZnAtMTI4LAorICAgIC0weDEuZmZmZjljcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5kNTgxOTRmNjRmNTc5MTczZDllZTVkM2M1NzZlZjUyM3AtMSwKKyAgICAtMHgxLmZmZmZhNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmY1MDc2NzA3NTM3MmIyOWM1NTc3YjdhOTYxMGY4ZDY5cC0xLAorICAgIC0weDEuZmZmZmMycC02CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuNmEwOWYyYThjNzZhN2EzY2ZlZjBkZTgxZjJiNzlkOGVwLTEsCisgICAgLTB4MS5mZmZmY2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5hZTg5ZmVkNDk5MDNlZmYwMWZiOGRhMjBlZTMwNmE1ZXAtMSwKKyAgICAtMHgxLmZmZmZkY3AtMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjAwNTMzYWZmZjVlZWFjNmQyZGM5MDIzYzBiODcyYmRhcDEsCisgICAgMHgxLjAwNzhwMAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjZhNGE5ZWExMzcwMDM5YmI2NTRhMjFhODA4ZDQyZWE5cDAsCisgICAgMHgxLjAwODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS42YzAyMTNkYjIwZTEyZDAwYjU5M2UyMWI0MWVjNmY3YnAwLAorICAgIDB4MS4wNDAxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS42ZDdjNjJkZWEyZjhhNzk4OTJmZmIwYTQyM2M4MzEyZHAwLAorICAgIDB4MS4wN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjAyZWE5ZDAwMGNhN2EzZDFjOWYyZmVmZjFkNzVkOWU4cDAsCisgICAgMHgxLjBiYzJmMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLjc4ZDA2MjA0MjRlZDIwMDJkMGYzNmNiNjAxMmMwOTJjcDAsCisgICAgMHgxLjFkOGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS44ZmJjYzMwYjhhOWQxZWExODU0MjZhZTcyNTRmYTI5YXA0LAorICAgIDB4MS4yOTI1NmFwMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjM5ZTQ0Y2ZmZmZmZTM4YWZmMjg3MDRjNzMyYjU0MGZkcDAsCisgICAgMHgxLjJkMmViOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjkzOTRjNTBhMTU5MDgwYWQzNzdmOThlMWQzODJkMjFhcDAsCisgICAgMHgxLjUwM2NmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjk2NzE4NzAzZjYxOTA3Nzc0MzFjYThlOWM4ZDFlNDQxcDAsCisgICAgMHgxLjU1NzU1OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmJlMjVkY2ZmZmZmZGU4YjA0ZTdjN2IxYmFlYzdhYmRicDIsCisgICAgMHgxLjY2OTM5MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuN2NhNDBmMGM3YmRjOGI1NjgzZmMwNTYwYzYxNTlmMThwMjQsCisgICAgMHgxLjg5MjgxNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuMjUzNmFhZmZmZjE0MWM4ODcwZThkNGMyMzUyZTkyZWFwMCwKKyAgICAweDEuOTEwM2MycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuN2NhNDRlZjI5N2Q5YzMyZmUwMGRiNTU5ODY0MmU4NjhwMSwKKyAgICAweDEuOTI4MTllcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS4wMDAwMDhmZjQ3ZDdlZTJjZTgyYWUwYmRhYWE1NTc3MnAwLAorICAgIDB4MS45ZjVkYzhwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuOTNjZGYzMGJjYTNmMWNjYzZlZWIyM2ViNjU0NWYwZmRwNiwKKyAgICAweDEuYWExNGIycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4xMzI1MmQwMDAwZjRiNTM3NzUzOTNhMDRkYmVlNmNkM3AwLAorICAgIDB4MS5hYTJmYzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4yOGViNTQwMDAwYzVlNzI2MDU3ZjNlZTU2NjEyYTg0M3AwLAorICAgIDB4MS5iNjFmNDRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5iNWZlYWQwMDAwMjJhODZlYzliYzQyMzJkYTQ3ZjJmYnAxLAorICAgIDB4MS5jNjU3NTRwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmRlODQ0Y2ZmZmYwYjIxZTBhNDcxZTlkNTYwYTUxNGNicDAsCisgICAgMHgxLmNlMGFjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjAwMDUwNGZmZmYwNzI5ODVkNzE0NThkNWQ0NTM4NTBlcDAsCisgICAgMHgxLmNmNzJiMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5jMWMyNzhmZmZiNmJjN2RhODFlMjBjNDNhZWI5Y2U5MnAxLAorICAgIDB4MS5kMDIxNzRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmUxYWU3OGZmZmYwMDAwYjVjYTg4ODY3ZjU0ZGNjODkxcDAsCisgICAgMHgxLmQyZTk0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjE1MzVkMzAwMDAwMGNkMDMyMTFlNzdlOGRlNGViN2QycDAsCisgICAgMHgxLmQ2NWYxY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjAwMDUxYzAwMDAwMDdmOTk4YmUwZDQ1ZWYzNWYzZDU3cDAsCisgICAgMHgxLmQ3YmUyZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5mMjk0ZDRmZmZlYmE5YWQ0ZmU1NTNiYzE5N2ZhYzI0M3AwLAorICAgIDB4MS5lYzYycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuZjI5NGQ0ZmZmZWJhOWFkNGZlNTUzYmMxOTdmYWMyNDNwMzAsCisgICAgMHgxLmVmNjMxMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuZWEzY2I1MDlhOTVmNjBhNWQ0MTYyZWE3ZTQ3NmY3ODdwMywKKyAgICAweDEuZjdmYWEwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4wMzM0M2I0NzUwMmMxZjI4ZWI2M2U3ZjQyMzkyYzAyNHAxMjcsCisgICAgMHgxLmZjMTI2MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuMTZmYzhiMDAwMGM4NzM5NThjZTc3YjU1OGJiMDRiNzdwMCwKKyAgICAweDEuZmMxZDY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuNjllYTg5MDAwYTk0M2NiYjQ0NGZlMzNlZjY0ODRiMTRwMCwKKyAgICAweDEuZmY3ZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuNjlmMjVkMDhjOWJkZWY5MmIxNTUwNDdlNGUyNzAwZjhwMCwKKyAgICAweDEuZmY5ZmYycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuZmZlZjU4MDc4Y2Q2ZDBkNWYxZmU2NTc0NGM2MTY0OTZwMywKKyAgICAweDEuZmZmOWZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5mZmYzN2IwYTVlYmNhMDExZDc1NmVkYjRkNjJlNzY2NnA3LAorICAgIDB4MS5mZmZkYmVwMgorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmZmZmUxODA3MjZhMDQyMDE5MDdjZDczZjg4NDg4ZDgwcDMxLAorICAgIDB4MS5mZmZmZWFwNAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYjE3cDAsCisgICAgMHgxLmZmZmZmY3AtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS43YjI5MzU3YmJjNDhkMjk1Mzc4MTIyOGIyZTliYTQ3NHAtMSwKKyAgICAtMHgxLmJiYmJiY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjhkMTdkMjkyYmQwODRmNjA4MDk5MzQ0YzQwYmExNTZhcC0xLAorICAgIC0weDEuNzc3Nzc4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuOWZkZjhiOTMzZTM4YTA5OWU4YjI3NWFhNjU1ZDcyMGRwLTEsCisgICAgLTB4MS4zMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5iMzhhYTUxN2EwMDA4NzI0NjBjZTQ1MGI0MTUyOTdlZXAtMSwKKyAgICAtMHgxLmRkZGRlMHAtMworICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmM4MjNlMDBiODgwYTU2MTAwOGQ1YzE1NTZhODQyYTc0cC0xLAorICAgIC0weDEuNTU1NTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZGRiNjdmYjY2Yjc3YzM1MTAyY2U0MTg3NGU2NTdlYjZwLTEsCisgICAgLTB4MS45OTk5OWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5mNDRlNGY2YmEyNTI4YTUxMGU4YTdjYjhlMTE5MzBiZHAtMSwKKyAgICAtMHgxLjExMTExOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjA1ZmJkNGI4ZjQ0MGYyYzFjY2RiNWNkZGVmZjY2YjQxcDAsCisgICAgMHgxLjExMTEwY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjEyNWZiZWNmNGJjMDU0ZTAzOTEyZGI4MjM2NmI2Y2I1cDAsCisgICAgMHgxLjk5OTk5OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLjFmNTlhYzFiNGIzZTgyYjZlNWE2NmFjNTBhODg1N2RicDAsCisgICAgMHgxLjU1NTU1NHAtMworICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjJjZjBiNGYzYjI2ZTYzYzlkM2NiNDBiNGJhZTMxNTg2cDAsCisgICAgMHgxLmRkZGRkY3AtMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjNiMmM0NzdlNmU1Zjg3ZmVhNGIwMmVhZDgyNGYyNjlhcDAsCisgICAgMHgxLjMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjRhMTQyYmQ3NGE2NDFjZTBlZTkwODc3OWI3ZDIxNGZjcDAsCisgICAgMHgxLjc3Nzc3NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjU5YjA4ODUxMWQ3N2FiNDcyOTUzNDZjYjNhNzczYjI4cDAsCisgICAgMHgxLmJiYmJiYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjZhMDllNWVhN2FhMzkwZGJmODY4YjcyNzhiNzQ0ODI5cDAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLnA0OCwKKyAgICAweDEuODBwNQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjUxY2I1Y2E1OTg1M2ExZTU0NTkzYzc3ZTdlYjhkYjgzcDQ4LAorICAgIDB4MS44MzMzMzRwNQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmJkYjkwYjc4MGIzMzM1N2EzNTlhNTJiOWY3Y2U4OGQycDQ4LAorICAgIDB4MS44NjY2NjhwNQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjI2MTE1NTkxZjg0NTI3OGFiYjEzMDE2MzQ4YWMyZjM4cDQ5LAorICAgIDB4MS44OTk5OWNwNQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjg0MDY2YmQwNzU3OWUwOTc4ODBhMDg1NTNiNDcxNjdhcDQ5LAorICAgIDB4MS44Y2NjZDBwNQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjAwMDA1OGI5MWI1YmM5YWUyZWVkODFlOWI3ZDRjZmFjcDUwLAorICAgIDB4MS45MDAwMDRwNQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS41MWNiZDFiN2MwM2MxMjFiMDE3YjdhNjNlNWU3ZGYyY3A1MCwKKyAgICAweDEuOTMzMzM4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuYmRiOWE1ZjFmMTgwMTczNjM0NTQyZjQyZDUxMjJlMTFwNTAsCisgICAgMHgxLjk2NjY2Y3A1CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjI2MTFiYjdjOGZhMzZmM2E2Yzk2ODY4MDY0Y2EyZDMxcDUxLAorICAgIDB4MS45OTk5YTBwNQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS44NDA2ZjI0YjNjYTUzZmY2YWZmNDIzYzQxYWIwNmVmYXA1MSwKKyAgICAweDEuOWNjY2Q0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEucDUyLAorICAgIDB4MS5hMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLnAtNTIsCisgICAgLTB4MS5hMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjUxY2I1Y2E1OTg1M2ExZTU0NTkzYzc3ZTdlYjhkYjgzcC01MiwKKyAgICAtMHgxLjljY2NjY3A1CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmJkYjkwYjc4MGIzMzM1N2EzNTlhNTJiOWY3Y2U4OGQycC01MiwKKyAgICAtMHgxLjk5OTk5OHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjI2MTE1NTkxZjg0NTI3OGFiYjEzMDE2MzQ4YWMyZjM4cC01MSwKKyAgICAtMHgxLjk2NjY2NHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLjg0MDY2YmQwNzU3OWUwOTc4ODBhMDg1NTNiNDcxNjdhcC01MSwKKyAgICAtMHgxLjkzMzMzMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjAwMDA1OGI5MWI1YmM5YWUyZWVkODFlOWI3ZDRjZmFjcC01MCwKKyAgICAtMHgxLjhmZmZmY3A1CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjUxY2JkMWI3YzAzYzEyMWIwMTdiN2E2M2U1ZTdkZjJjcC01MCwKKyAgICAtMHgxLjhjY2NjOHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmJkYjlhNWYxZjE4MDE3MzYzNDU0MmY0MmQ1MTIyZTExcC01MCwKKyAgICAtMHgxLjg5OTk5NHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLjI2MTFiYjdjOGZhMzZmM2E2Yzk2ODY4MDY0Y2EyZDMxcC00OSwKKyAgICAtMHgxLjg2NjY2MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjg0MDZmMjRiM2NhNTNmZjZhZmY0MjNjNDFhYjA2ZWZhcC00OSwKKyAgICAtMHgxLjgzMzMyY3A1CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAtNDgsCisgICAgLTB4MS44MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS44MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMC4wZiwKKyAgICAtMHgxLmMwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjQwcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMC4wZiwKKyAgICAtMHgxLjYwcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZmZmY0ZThlMDZjN2U4YTJhODRkYWVkOGVjNTZkNmMzcDEyNywKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucC0xNDksCisgICAgLTB4MS4yYXA3CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmZmZmU5ZDFjNGIwZjM3ZjQxM2Q0NGM2NmMwNDgxODM0cC0xMjksCisgICAgLTB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5wLTEyOCwKKyAgICAtMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjAwMDA1OGI5MWI1YmM5YWUyZWVkODFlOWI3ZDRjZmFjcC0xMjgsCisgICAgLTB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5mZmZmNGU4ZTA2YzdlOGEyYTg0ZGFlZDhlYzU2ZDZjM3AtNjUsCisgICAgLTB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5wLTY0LAorICAgIC0weDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuMDAwMDJjNWM4OWQ1ZWM2Y2E0ZDdjOGFjYzAxN2I3YzlwLTY0LAorICAgIC0weDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZmZmE3NDZmYmI0MDYyNjc3YmQwZjUwNmYzOTEyNjVwLTMzLAorICAgIC0weDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEucC0zMiwKKyAgICAtMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjAwMDAxNjJlNDNmNGY4MzEwNjBlMDJkODM5YTlkMTZkcC0zMiwKKyAgICAtMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmZmZmZkM2EzN2JlZTA3NWRlNDNkNDliOWY2MGQwNWIwcC0xNywKKyAgICAtMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLnAtMTYsCisgICAgLTB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS4wMDAwMGIxNzIxYmNmYzk5ZDlmODkwZWEwNjkxMTc2M3AtMTYsCisgICAgLTB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mZmZmZTlkMWJkN2MwNGJjNDgyNTE0N2E4YzBlNjNlM3AtOSwKKyAgICAtMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLnAtOCwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLjAwMDAwNThiOTBjZjFlNmQ5N2Y5Y2ExNGRiY2MxNjI4cC04LAorICAgIC0weDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuZmZmZmY0ZThkZTlmNDJhMGNmMTFmNzkxMmVhMTdlZTJwLTUsCisgICAgLTB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5wLTQsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS4wMDAwMDJjNWM4NjNiNzNmMDE2NDY4ZjZiYWM1Y2EyY3AtNCwKKyAgICAtMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmZmZmZmYTc0NmY0N2YxNjBmY2Y4OTBlM2I4MDFhZWRkcC0zLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEucC0yLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuMDAwMDAxNjJlNDMwZTVhMThmNjExOWUzYzAyMjgyYTVwLTIsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5mZmZmZmQzYTM3YTIwY2I0YTEyZTI0ZWFmMjVlMzkwN3AtMiwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLnAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLjAwMDAwMGIxNzIxODM1NTE0Yjg2ZTZkOTZlZmQxYmZmcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLmZmZmZhNzQ2ZmJiNDA2MjY3N2JkMGY1MDZmMzkxMjY1cDYzLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS5wNjQsCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLjAwMDA1OGI5MWI1YmM5YWUyZWVkODFlOWI3ZDRjZmFjcDY0LAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS5mZmZmZDNhMzdiZWUwNzVkZTQzZDQ5YjlmNjBkMDViMHAzMSwKKyAgICAweDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEucDMyLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS4wMDAwMmM1Yzg5ZDVlYzZjYTRkN2M4YWNjMDE3YjdjOXAzMiwKKyAgICAweDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuZmZmZmU5ZDFiZDdjMDRiYzQ4MjUxNDdhOGMwZTYzZTNwMTUsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLnAxNiwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMDAwMDE2MmU0M2Y0ZjgzMTA2MGUwMmQ4MzlhOWQxNmRwMTYsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLmZmZmZmNGU4ZGU5ZjQyYTBjZjExZjc5MTJlYTE3ZWUycDcsCisgICAgMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLnA4LAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS4wMDAwMGIxNzIxYmNmYzk5ZDlmODkwZWEwNjkxMTc2M3A4LAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5mZmZmZmE3NDZmNDdmMTYwZmNmODkwZTNiODAxYWVkZHAzLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5wNCwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuMDAwMDA1OGI5MGNmMWU2ZDk3ZjljYTE0ZGJjYzE2MjhwNCwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuZmZmZmZkM2EzN2EyMGNiNGExMmUyNGVhZjI1ZTM5MDdwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEucDIsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjAwMDAwMmM1Yzg2M2I3M2YwMTY0NjhmNmJhYzVjYTJjcDIsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmZmZmZmZTlkMWJkMDhiNWI1OGVlNDg3OWExMjI5NjZlcDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS5wMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMDAwMDAxNjJlNDMwZTVhMThmNjExOWUzYzAyMjgyYTVwMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuNmEwOWU1NmQwMThhODQyYjkwZGQwNmMzNjJmZWY3YWRwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuNmEwOWU2ZTU2Y2Q2MmNiMWMwYTMyZGFjZWU2YzE1MTNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuYWU4OWY5MDA3Njk3NDc1YzVhZDNjMWNhMjBjNWVmMzVwLTEsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEuYWU4OWY5OTVhZDNhZDVlODczNGQxNzczMjA1YTdmYmNwLTEsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuYWU4OWY5ZTA0ODhjYjA5MmZjZWU4MzllZmJmM2ZjNGNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuZDU4MThkN2U1ZTUzY2NhZjg1YmUwNGY5MmRlN2U5YmZwLTEsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuZDU4MThkY2ZiYTQ4NzI1ZGEwNWFlYjY2ZTBkY2E5ZjVwLTEsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuZDU4MThkZjg2ODQyY2E3ZTIxY2FlMTM4NWM5N2ViOTdwLTEsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZWE0YWY5ZmZjZTAyNTFmMDE3YmRiOTcwMTBjMTE4MjRwLTEsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuZWE0YWZhMmE0OTBkOTg1OGY3M2ExOGY1ZGIzMDFmODZwLTEsCisgICAgLTB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuZWE0YWZhM2Y4NjkzM2NlZWJmMGIxZDdlMjk2NmIzZmJwLTEsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuZjUwNzY1YTEyZmJkNmU3NjcxMThmYTAyYmNiM2EwZDFwLTEsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZjUwNzY1YjZlNDU0MDY3NGY4NGI3NjI4NjJiYWZmOTlwLTEsCisgICAgLTB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZjUwNzY1YzFiZTlmNTJjZTgxMTgyM2RjNDY0YjQwZDVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuZmE3YzE4MGVmMDgxNDg0NmIwMTUyMmU4MzcxN2FkNzFwLTEsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuZmE3YzE4MTllOTBkODJlOTBhN2U3NGIyNjNjMWRjMDZwLTEsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuZmE3YzE4MWY2NTUzYTA1MTA3ZTkxYjkwZWVhNDJkOWRwLTEsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmQzYzIyYjM3MzM4ZWVjNDI2MGRhMzZhN2I3ZjViZjNwLTEsCisgICAgLTB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmQzYzIyYjhmNzFmMTA5NzViYTRiMzJiY2YzYTVlMTJwLTEsCisgICAgLTB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuZmQzYzIyYmJiOTEyMjE4NmIyNmI0ODI3OTljZTQwYzdwLTEsCisgICAgLTB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuZmU5ZDk2YWZkZTYwODJmMjI1NDcxNWVmYzVmNmFkN2VwLTEsCisgICAgLTB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuZmU5ZDk2YjJhMjNkOTE0YTYwMzc0NDJmZGUzMWJhZjhwLTEsCisgICAgLTB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuZmU5ZDk2YjQwNDJjMTg3N2VkYWNkODg5YjM2ZDFjZDVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuZmY0ZWFjYTJkNmIyMTc1ZTQzMzI0OTRmYjFjMjQ1ODlwLTEsCisgICAgLTB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZmY0ZWFjYTQzOTFiNWRhMzNlNzQzNjkxZjcyOThiMTJwLTEsCisgICAgLTB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuZmY0ZWFjYTRlYTUwMDBjNjE4MzQ3NDUxNDIxMjEwY2JwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmZmYTc0ZWEyZDA5YzY3MzQxMjcxMjEzODY5OTIxMTY3cC0xLAorICAgIC0weDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIDB4MS5mZmE3NGVhMzgxZWZjMjE3YTc3M2YxNWMwMjVmN2MwZHAtMSwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuZmZhNzRlYTNkYTk5NmY4OTg5MDEyOTM4ZDAyZGRkZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmZmZjRlOGZkMjlkYTQ0YzZmMDVjNGE1YmFmMWMyYmVkcC0xLAorICAgIC0weDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5mZmY0ZThmZDQwMDgwY2M4NDcxZjI1ZWYyNDgwYjAwYnAtMSwKKyAgICAtMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuZmZmNGU4ZmQ0YjFlZjBjOGYyZGNkMGYzNWNhNWFmZWVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjZhMDllNWVhN2FhMzkwZGJmODY4YjcyNzhiNzQ0ODI5cDAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuNmEwOWU3NjJlNWVmYmJkNzIxNzAxODI1MGEzYWIxOTRwMCwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLjMwNmZlMDZlNWEyZjJlOGM2MjBmN2U1NWNjODAzZGJhcDAsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS4zMDZmZTBhMzFiNzE1MmRlOGQ1YTQ2MzA1Yzg1ZWRlY3AwLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuMzA2ZmUxMGM5ZGY1YjZlZmJkNDAwYjc4MDYwMDVmYTlwMCwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjE3MmI4M2FmYTRlNzdhYjlmYjE0ZWQ2ZDU5MDAwYjU4cDAsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS4xNzJiODNjN2Q1MTdhZGNkZjdjOGM1MGViMTRhNzkyMHAwLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMTcyYjgzZjgzNTc4MWEzZjdhOTU5YWRjNmY1MTcwMTBwMCwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjBiNTU4NmM0MDNiYzgxMzkxOTdlYmY2Y2UwOWNhN2Y4cDAsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS4wYjU1ODZjZjk4OTBmNjI5OGI5MmI3MTg0MmE5ODM2NHAwLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuMGI1NTg2ZTZjMjM5ZTE4YmMyYzZlNjgwMGUxYTM1NGVwMCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLjA1OWIwZDJiYWRiMGU2NzRkODZmM2FiZTU4NTc4YzdkcDAsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS4wNTliMGQzMTU4NTc0M2FlN2M1NDhlYjY4Y2E0MTdmZXAwLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuMDU5YjBkM2NhZGEzZmU4MDA4NzQ2MGYxMmIzZjg1ZDdwMCwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLjAyYzlhM2U0YWE4MzBkODgzNGJkYzk1ZGE2MDVkNDI1cDAsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS4wMmM5YTNlNzc4MDYwZWU2ZjdjYWNhNGY3YTI5YmRlOXAwLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuMDJjOWEzZWQxMzBjMTFiYmNkZmQxNWY2Y2I0NTc3N2FwMCwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjAxNjNkYTllNGU2MWQ1Njc2ZmQzMjYxOGYyNzE5YjIwcDAsCisgICAgMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDB4MS4wMTYzZGE5ZmIzMzM1NmQ4NGE2NmFlMzM2ZGNkZmE0MHAwLAorICAgIDB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMDE2M2RhYTI3Y2Q2NTliZmNiODUwNWEwOGE2Njg0OWFwMCwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLjAwYjFhZmE0ZjlkZWFiYzcyZjJkNDlmNjNhMjgxNDI0cDAsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS4wMGIxYWZhNWFiY2JlZDYxMjlhYjEzZWMxMWRjOTU0NHAwLAorICAgIDB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuMDBiMWFmYTcwZmE2NzA5NjkwYTNhYmRhNDkyOWVjMjVwMCwKKyAgICAweDEuMDAwMDAycC04CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjAwNThjODZkNDhlOGNkOTM3NmM5MmY4ZmU5MzMzNWI2cDAsCisgICAgMHgxLmZmZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuMDA1OGM4NmRhMWMwOWVhMWZmMTlkMjk0Y2YyZjY3OWNwMCwKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjAwNThjODZlNTM3MDQwYmY2YzFhNTA5MjA0MjZlMDdmcDAsCisgICAgMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS4wMDJjNjA1ZTAyMjhiNWI4NzA5NzA1MzhmZjMyODNkY3AwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjAwMmM2MDVlMmU4Y2VjNTA2ZDIxYmZjODlhMjNhMDEwcDAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuMDAyYzYwNWU4NzU1NTk4MDdkNGIwMmNkNWFjZTU3MjNwMCwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS4wMDA1OGJhMDFhMmU0OWVkOWFlYzdlMzc5MThjMWE0YXAwLAorICAgIDB4MS5mZmZmZmVwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLjAwMDU4YmEwMWZiOWY5NmQ2Y2FjZDRiMTgwOTE3YzNlcDAsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMDAwNThiYTAyYWQxNTg2ZDEwODljMmRlZTk0ZWE0MjBwMCwKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDAuMGYsCisgICAgLTB4MS4yYTAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLjJhcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuMDAwMGIxNzI1NTc3NWMwNDA2MThiZjRhNGFkZTgzZmNwLTE0OSwKKyAgICAtMHgxLjI5ZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMC4wZiwKKyAgICAtMHgxLjJjMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMC4wZiwKKyAgICAtMHgxLjJjcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAwLjBmLAorICAgIC0weDEuMmJmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS4xYTY2MzkwNTgwYTJjNTg1ZjNkZTIwN2RlY2IyNzY2ZHAzLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5kMDIzMTlmZTBjYzhjNzk4YWFlOWJlYzFjMzAxZmNlMnAtNCwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLjdjM2Y3NGE3MzNkMDMyYWE1MmQxYTgxNjgyZTlhYTljcDEsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLjU4YjM5MzViYzY4ZTViNjFiODk4ODQ0NWRhMzMxMmVkcC0yLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuMDAwMDAxNjJlNDMwZTVhMThmNjExOWUzYzAyMjgyYTVwMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuZmZmZmZkM2EzN2EyMGNiNGExMmUyNGVhZjI1ZTM5MDdwLTIsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5wMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEucC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuZmZmZmZlOWQxYmQwOGI1YjU4ZWU0ODc5YTEyMjk2NmVwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjAwMDAwMGIxNzIxODM1NTE0Yjg2ZTZkOTZlZmQxYmZmcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLmI5M2JiZmY1YTdlNTcyYmNkNTEyMjdjOWIzMzk3NmYwcDAsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS4yOTBlZTY1YTY4MDhjYjNhYzY3YTA4NmI1MTkwOWY5ZHAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAwLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYXAtMSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZhcC0xLAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwMCwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmFwLTEsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAwLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYXAtMSwKKyAgICAtMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLnAwLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEucDAsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuZmZmZjRlOGUwNmM3ZThhMmE4NGRhZWQ4ZWM1NmQ2YzNwMTI3LAorICAgIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLmZmZmY0ZThlMDZjN2U4YTJhODRkYWVkOGVjNTZkNmMzcC0xMjcsCisgICAgLTB4MS5mODAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS5wMTI1LAorICAgIDB4MS5mNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLnAtMTI1LAorICAgIC0weDEuZjRwNgorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5wMiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEucC0yLAorICAgIC0weDEucDEKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9leHBfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2V4cF9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNhMzgxMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9leHBfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTk1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2V4cF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC01MgorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMDAwMDAwMDAwMDExZmZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMWZmZmZmZmZmZmY1ZXAtNDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjAwMDAwMDAwMDIwN2ZmZmZmZmZmZmZmZmZmZmZmZDM0cDAsCisgICAgMHgxLjAzZmZmZmZmZmVmN2ZwLTM5CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS4wMDAwMDAwMGMxYjU5ODAwMDAwMDAwMDAwMDI3YTdkNXAwLAorICAgIDB4MS44MzZiMmZmZjZkNmNicC0zMworICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuMDAwMDAwMDMzZDM5NzgwMDAwMDAwMDAwMDAwMmE1MWRwMCwKKyAgICAweDEuOWU5Y2JiZmQ2MDgwYnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjAwM2FmNmMzN2MxZDMwMDAwMDAwMDAwMDAwMDk0NDZlcDAsCisgICAgMHgxLmQ3N2ZkMTNkMjdmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4wMTZiNGRmMzI5OWQ3N2ZmZmZmZmZmZmZmZmU4M2UxMHAwLAorICAgIDB4MS42YTRkMWFmOWNjOTg5cC04CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS4wY2E0YTQxNjYzZmUwN2ZmZmZmZmZmZmZmZmRhYjIzNXAwLAorICAgIDB4MS44YWU4MjM4NTAyMzBicC01CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS4xNTM4ZWExOGE0NTg1MDAwMDAwMDAwMDAwMDM5ZTA1NHAwLAorICAgIDB4MS40NjM3MGQ5MTU5OTFicC00CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS40NzQwOGNiOTU4M2NlMDAwMDAwMDAwMDAwMDJjODk2ZnAwLAorICAgIDB4MS5mNmU0YzNjZWQ3YzcycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuMjdjMmU0YmMxZWU3MDdmZmZmZmZmZmZmZmZlYjBjMmRwMSwKKyAgICAweDEuYWNjZmJlNDZiNGVmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjU1N2Q0YWNkN2U1NTY4MDAwMDAwMDAwMDAwMjAyYzg2cDIsCisgICAgMHgxLmFjYTdhZThkYTVhN2JwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjkxYThkZmY1NDBmZjcwMDAwMDAwMDAwMDAwMmYxZTMzcDIsCisgICAgMHgxLmQ2MzM2YTg4MDc3YWFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjhlZGU0OTJkOTYwNzFmZmZmZmZmZmZmZmZmMGFlY2QycDMsCisgICAgMHgxLjQyZWUzYzdkYzQ5NDZwMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmFjNTBiNDA5YzhhZWUwMDAwMDAwMDAwMDAwMDIyY2UzcDgsCisgICAgMHgxLjgzZDRiY2RlYmIzZjRwMgorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmYzZTU1OGNmNGRlNTQwMDAwMDAwMDAwMDAwMWY1ODA4cC0yMywKKyAgICAtMHgxLmU4YmRiZmNkOTE0NGVwMworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjk1MWM2ZGM1ZDI0ZTI3ZmZmZmZmZmZmZmZmYjZlMGMzcC05LAorICAgIC0weDEuNzFlMGI4NjliNWU3OXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuMTA2NGIyYzEwM2RkYTgwMDAwMDAwMDAwMDAzZWI1ZDdwLTMsCisgICAgLTB4MS4wMjM5M2Q1OTc2NzY5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS4zZWYxZTliM2E4MWM3ZmZmZmZmZmZmZmZmZmMzMTVwLTIsCisgICAgLTB4MS4yYTljYWQ5OTk4MjYycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS41MzRkNGRlODcwNzEzMDAwMDAwMDAwMDAwMDNjNmZiN3AtMywKKyAgICAtMHgxLmNjMzdlZjdkZTc1MDFwMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjIyMTcxNDdiODVlYTk4MDAwMDAwMDAwMDAwNzc0NWEzcC0xLAorICAgIC0weDEuMjJlMjRmYTNkNWNmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjk0MDNmZDBlZTUxYzgwMDAwMDAwMDAwMDAwNzcyMGYxcC0yLAorICAgIC0weDEuZGMyYjVkZjFmN2QzZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmJhZGVkMzBjYmYxYzNmZmZmZmZmZmZmZmZmZmJkOTA0cC0xLAorICAgIC0weDEuMjkwZWEwOWUzNjQ3OXAtMworICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLmZmZTVkMGJiN2VhYmYwMDAwMDAwMDAwMDAwMDMwMzIwcC0xLAorICAgIC0weDEuYTJmZWZlZmQ1ODBkZnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mZmZmZmY4NGIzOWM0ZmZmZmZmZmZmZmZmZmZmMTdmNHAtMSwKKyAgICAtMHgxLmVkMzE4ZWZiNjI3ZWFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZmZmZmZmZmFkMGFlNjgwMDAwMDAwMDAwMDAwOWYxYThwLTEsCisgICAgLTB4MS40YmQ0NjYwMWFlMWVmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmZmZmZmZmZmZmY3MDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xLAorICAgIC0weDEuMjAwMDAwMDAwMDI4OHAtNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mZmZmZmZmZmZmZmRwLTEsCisgICAgLTB4MS44MDAwMDAwMDAwMDEycC00OAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZTBwLTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuMDAwMDAwMDE3ZmZlODAwMDAwMDAwMDAwMDAwMzVmZmRwMCwKKyAgICAweDEuN2ZmZTdmZmVlMDAyNHAtMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS4wMDAwMDAwMTgwMDE3ZmZmZmZmZmZmZmZmZmZjOWZmZHAwLAorICAgIDB4MS44MDAxN2ZmZWRmZmRjcC0zMgorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjAwMDAwMDc1ZTlmNjQwMDAwMDAwMDAwMDAwMGIxZTgwcDAsCisgICAgMHgxLmQ3YTdkODkzNjA5ZTVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuMDAwNmU4MzczNmY4YzgwMDAwMDAwMDAwMDAwYWEwYWZwMCwKKyAgICAweDEuYmEwN2Q3MzI1MGRlN3AtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5kZTdjZDY3NTEwMjlhMDAwMDAwMDAwMDAwMGU4YmIyZnAxNiwKKyAgICAweDEuNzZlN2U1ZDdiNmVhY3AzCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuMWQ3MTk2NWY1MTZhZDgwMDAwMDAwMDAwMDA5ZjdlOTdwMTksCisgICAgMHgxLmE4ZWFkMDU4YmM2YjhwMworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmE4YzAyZTk3NGMzMTRmZmZmZmZmZmZmZmZmZTIxZjAzcDI1LAorICAgIDB4MS4xZDVjMmRhZWJlMzY3cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5iODkwY2E4NjM3YWUxZmZmZmZmZmZmZmZmZmU0MjE2MXA0MCwKKyAgICAweDEuYzQ0Y2UwZDcxNmExYXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZjAzZjU2YTg4YjVkNzgxYzkwNWY2YjUxYzc2YWU5ODFwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmYwMDNmZjU1NmFhODdlYmIwNmUwZWI1NzI4NzU2N2ZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDBhcC05CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuOGViZWY5ZWFjODFmYzgwMDFhM2RiZDg4MjQ4ZWZlMTNwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDI1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmMwM2ZkNTZhNDY5YjgwMDAwOGJjZGZlMDE4ZGJjNzRwLTEsCisgICAgLTB4MS4wMDAwMDAwMTcxMDUxcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuNzhiNTYxMmRiZWUwMTAwMDhkM2JjMDczNWM4MGY3YThwLTIsCisgICAgLTB4MS4wMDAwMDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS45NjljODcwZWE5ZjVhODAxZGRjMWZmMDhhMDA4ZGIwOXAtOTMsCisgICAgLTB4MS4wMDAwMDFlM2VwNgorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjc4YWY4NjdiYzUxMWQzMjFjZDQ1NGRiZGRhZjgwNmJjcC0yLAorICAgIC0weDEuMDAwM2ZjMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmZmZmZmZmZWZmZjgwMDAwMDAwMDA0MDAxMDAwMTVwLTEsCisgICAgLTB4MS4wMDA4MDAwMDAwNHAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS43ODkyMTQwOTNjODFkM2I2NWZhYzY1OWZiM2ZjODI0OXAtMiwKKyAgICAtMHgxLjAwMTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS44ZTI5OGU1MmZjY2U4ODAxNGFkOTVjNGYzYmQ4ODc2NXAtMSwKKyAgICAtMHgxLjAxOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmFhNmZmYjBiYTUxOWY4MDFmOWMzZTE0NmExNWRjMDJjcC0yNCwKKyAgICAtMHgxLjAyMDEwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5kZDdhNDZiOGQ4NWQ2N2Q2NzM1OTMzNzEwOWMyNTE2OHAtMzc2LAorICAgIC0weDEuMDQwcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS4zM2U5NmNhM2JjZjNlODAxZjliM2Y2MTI2ZmM2MDY5OXAtMSwKKyAgICAtMHgxLjA0NWI5NDg3MjQxMzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5lZjJmNjUyZGMyNjA1N2ZmZmM5OGFhNTRkNGMzM2MxNnAtMSwKKyAgICAtMHgxLjExOGUwNWNmYTNlODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5hNWQyY2U5NzdiYmUyODA0OGIzMTY5MjdmOTcwYzIwMXAtNywKKyAgICAtMHgxLjE2OTE1NmUxN2I5YjlwMgorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmEwMjA3Y2Y0MTkwZjcwMDQ1MjI4MmIwNGZhMzkwNDA3cC03LAorICAgIC0weDEuMTc3MDFiM2JmMDUwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmI5N2UxZmY4Y2JiYTdhZGYxNmYzZmJkNjg3OGY1NjBwLTEsCisgICAgLTB4MS4xYjRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5iY2ZmMDlhZTMwYzQ2ODA0YTZmYWZkNTUwNzY2ZWVkMnAtMSwKKyAgICAtMHgxLjFmNHAtMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmZlZTcwY2Y1ZTg2ZWY0ZTU0ZDBiMWZhMjcwMWEzNDZmcC04MzMsCisgICAgLTB4MS4yMDU5YWQ0MmMzY2Y3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS43Y2NkM2YzMzQwNzQ1ODAxMTQ3MGIzZjY3MTk3YTljOHAtMSwKKyAgICAtMHgxLjJmMjY5ZDJjYTM4ZDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4wOWNkYjM2ZTk3N2JjN2ZmZmZlNmQ0ZGRiYjE4ZDU1M3AtMTQsCisgICAgLTB4MS4zNTUzY2YxODI4YjBicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5mOWRjNWNkNTQ2ZDliODAwZGMzZDk1NTE5ZGM2N2VlOHAtNDQ5LAorICAgIC0weDEuMzY4YWMwODMxMjhmY3A4CisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZjFjNTNjOTA3ZjZmNTc2ZTYyZTQwMTMxNWJhZmM2OWVwLTE1LAorICAgIC0weDEuMzc2ZThmNjc5YWUxNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZjI0NTk1OTU0ZTY2MTgwMjg5NjVhOWQ2N2VkZWFmN2JwLTgsCisgICAgLTB4MS4zODQ0ZjY3NDk1ZjdkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mYjU2NTIxMjkwYTIyMjUyN2QxZDNjMzYzODI2NWY0NnAtOTA1LAorICAgIC0weDEuMzk0ZTllMWIwODlkN3A5CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuZGMxNjU4ZmY2ZTA3MDdmYWZkMmZkODMwNmM0YjE4OTdwLTExNCwKKyAgICAtMHgxLjM5OTdlYTUxZTUyNzFwNgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmVjOGIzYzA5MGY4Yjk3NzE2YTNkMzhkZTQ2ZDY4YTFlcC0xLAorICAgIC0weDEuM2Q1ZGU1NjBlMTkwNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmFmNDExYmY5ODUyMjBiNTYyOTA5YzY1MmMwODdmZWY0cC05NTEsCisgICAgLTB4MS40OTU0YWE1NTJhOTYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5lMWI3MWQyMzhkNTA3N2ZlM2JlYTIyMmZjYmExNTYwOHAtOTU3LAorICAgIC0weDEuNGI1YWQ2YTlhZDZhZHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuY2M2NjZhMzUxOWNhMDgwZjFkYWVmNTdmOTJiNDFkMjlwLTk3MywKKyAgICAtMHgxLjUwZWMzMjY4NmE4MzRwOQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjIyNDYyYmQ1ZjcyYjBmZmZhNjA4NWIwNDQyN2ZkZjVkcC05NzYsCisgICAgLTB4MS41MjMxNjg3MmIwMjIycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5jMWViYzE4NjEwMzAxZmZmMjQyNGJjMzkzNjI2MGRkMnAtOTgxLAorICAgIC0weDEuNTNiNGVkM2I0ZWM3N3A5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuOGQwMTViY2FmOWUxOGI1N2ZkZjA1NzIzOWQ5NGY1ODZwLTk4MSwKKyAgICAtMHgxLjUzYzRmMTNjNGYwNzlwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmZkNTgzNTQ2MGVkNDhjNGUxNDIwNzMwOWExMjM3ZjkwcC05ODksCisgICAgLTB4MS41NjZhZDRhNDFiZWMwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS41ODczM2ZiYzA4OGVmN2ZmMzhlMTVmOTQxNjZjMDIyY3AtOTk0LAorICAgIC0weDEuNTg1ODgzZTdiM2IzOHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuYjA1MjA5MDY5MDQ4MTgwMmFjZjAxNjlmNjJiZjMyYzlwLTMyLAorICAgIC0weDEuNWE4MWVjZjY4YmVjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuZGY2MTU0YmM2NDRkYWMwZjllM2E1NjY0Njk0OGI3YzVwLTEwMTUsCisgICAgLTB4MS41Zjc1NjI5YWY0ZWI3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5mZjRiMGRhMzcwODM1MDJjMTE0YTdhYzU2YWMwNDk4ZnAtMTAyMywKKyAgICAtMHgxLjYyMzJlYjFjNDMyZjJwOQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLjYyNWVkZDRjNzUxM2U4NDJmMjdhOTMxYzJiYmUwMDdjcC0xMDIzLAorICAgIC0weDEuNjI2MWQ3ZGJmNDhjY3A5CisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuZDU3MmQyNDk3M2JlMjAwMDZiYWQ5MmUyOWJjYmE5ODRwLTEsCisgICAgLTB4MS42MzY0YjhmNzQ3ZTMycC00CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuZWU0ZGQ3OTIyNDU3NzgwMjAyNTBmODk4MWQxYTBhZDFwLTksCisgICAgLTB4MS42NTI0Nzk2YjQwODk1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5mNjYwYzU5YjI5NDUwNWQ4OTg5Zjg1ZjhlZDJhMTg3OHAtNSwKKyAgICAtMHgxLjY1NTFkYWFlMzY5Y2VwMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmFhMDcwNDQ5ZWZmZmU5YjkxMDY1Nzg5OGNkYzBjY2RkcC0xMDM3LAorICAgIC0weDEuNjcyNDYzZjE0MTYwN3A5CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZDRlN2ZjMzMxYjczMjdmZmNjZjRlZTBjNTlhYTdiMjJwLTEsCisgICAgLTB4MS42ODIwYzk5YzFkYzE2cC00CisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuZmNjNDQ4YWNmNDc2NTc1YzY2ZWUzOTY5MTJkYmFhY2RwLTUyOCwKKyAgICAtMHgxLjZkNGI3ZTgyYzNmMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjdmZmY1YTFiZmZjYjIwNjJjOWFhYTViMDdkMDk3MjU1cC01MjksCisgICAgLTB4MS42ZTQ0Zjc2NWZkYTc2cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5mYTRlY2Q4YWU1NzE4N2ZmZmZmZmY5OTEwYzQ3NmM2NHAtMSwKKyAgICAtMHgxLjZlNTZlNzI1YjgzMDRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5lOGQyZGFmZDAxN2NlODAzMmJjYjg5NDU5NDY0ZmU3ZHAtMywKKyAgICAtMHgxLjZlY3AwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuMjE0ZTM0Y2FhYzllNjcxMzk2ODhhZDE2MzJkZDIwNTVwLTEwNjIsCisgICAgLTB4MS43cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS5jODdmMjE3NzVhNDgyYTA5YTQ0YWY1OWMzYzNhZTQ0YnAtMTA3MSwKKyAgICAtMHgxLjcyZTQycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5hMzQ5YjIzMjljNjc3N2ZmY2U2NTkzNGIzYjYyMDNhN3AtMjczLAorICAgIC0weDEuNzk3OGJhYzcxMTIxY3A3CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZDJhNmQ1ZWE5OTVjMTdhYjQ0ODEzMmUxZTA0NTM4MDVwLTEsCisgICAgLTB4MS43YmRlNzllMGY5NzBjcC00CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuYjc3NmRjNjRjNzZkMTk3ZThjNjQ0ZGM4Y2I1MDljNGFwLTMsCisgICAgLTB4MS44YTBwMAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjQ0NDZmY2Y3ZGE2ODk4MDJkOGM3MjVkYjhjMTE0NWFmcC03MiwKKyAgICAtMHgxLjhkNWM4NGYwYmFjOGNwNQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmU3MmEwYjY4YmI4MmI3OGNlMDUyNGQxYWJiNmY3YWJlcC03MywKKyAgICAtMHgxLjhmYTY4YjQ0NDcyMzBwNQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZjMzNkNWUxY2E2ZGY3ZDUwNjliMDNkYzVhNjgzZTRmcC03NSwKKyAgICAtMHgxLjlhNjcxNjkzYjk0NmJwNQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmU2OTgxZmQ2ZWY3OWM3ZmZmZmZjYzcyMDFmODJmZDQ5cC0xLAorICAgIC0weDEuYTBlYzg5Zjg5N2E3NXAtNQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmYyYjlkM2I2Y2YyMjc3YTEyODNmOGUwMDc0M2EwNjY5cC0xLAorICAgIC0weDEuYWU2cC02CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZTUwMzRjOGQxOTFiYmZmZjcxOWYyMDk4ZTMzYzA1NzdwLTEsCisgICAgLTB4MS5iYjk3MDZlMmYxYmI0cC01CisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuZjI0ZGM5MGY5ZmJlYjgwMjhmYmNhZWViYWJjN2U5ZmNwLTEsCisgICAgLTB4MS5iYzNlZGFkMmUxZWZicC02CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuNzFmMjM3ZDY0YTZlYjQ2YWExNTQ0NzZmZDBmYzM4ODZwLTExLAorICAgIC0weDEuZDA2OTdlZGJlMDA1MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmYxMmMwZDNhZGRhYTQ4MDA0YjIzNTE2ZDJhMTEzODA0cC0xLAorICAgIC0weDEuZTE4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmYxMTBkZDkwNzNkNzE4MDBiYjQwNTY4MzBiNTE3YjA4cC0xLAorICAgIC0weDEuZTUwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmYzYWE3YTg2MDU3NGMyYjA3ODMwNjFmZTFmZDFkZjJlcC03MDUsCisgICAgLTB4MS5lN2ZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuZjBmODk4ZDU1MTE3MDgxZmMzYjg3OTIyMDVlNGUxMzBwLTEsCisgICAgLTB4MS5lODJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuZmY4MTRmZmYxOGRhYzg1NDE4NWQwMTliMGY4ZWFkMzZwLTEsCisgICAgLTB4MS5mYWZlYmZhZmViZmIwcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5mZmZmZmZmZjAxYzA3MDFjNDYyMDhjNTQxNmQ5NDNhZHAtMSwKKyAgICAtMHgxLmZjN2YxZmM3ZjIwcC0zNAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS43OTA3ZDQxNDhiZDkxNjg3YTFiNTBmMjZlODgzMDc3NXAtMiwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZmZmZmZmZmZmZmZmODAxYzAwMDAwMDAwMTNmOTAwYzNwLTEsCisgICAgLTB4MS5mZjhmZmZmZmZmZmZmcC01MQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5lMGZiYjAzYTBjMjdkN2U4NDgwNGNhZGVjMzc3YmRmOXAtMSwKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZmZmZmZmZmZmZjAwMDgwMDAwMDA0MDA0MDAwZmZmZjVwLTEsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcC00MgorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5mZmZmZmZmZmZmMDAwN2ZmZmZmZmZmZmMwMDEwMDAxNXAtMSwKKyAgICAtMHgxLmZmZjAwMDAwMDA4cC00MgorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMDAwNzE5ZXAtMSwKKyAgICAtMHgxLmZmZjhlNjFlYWRkNDhwLTEwMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mZmZmZmZmZmZjMDAwODAwMDAwNDAwMTAwMDBmZmQ1NXAtMSwKKyAgICAtMHgxLmZmZmJmZmZmZmZmZmZwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmZmZmZmZmZmZmMwMDAwMWMwMDA0MDAxZmM3ZmZmZTE5cC0xLAorICAgIC0weDEuZmZmZmYxZmZmZmZmZnAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuZmY4MDBmZmVhYWMwMDg1ODlmOWE5NmFmNzNlYWZmNjdwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZGE1cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS5lMzU1YmJhZWU4ZDg1ODE1ZTRiNDc2YjcwNGQwZjRmMXAtMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZjdkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuNzhiNTYzNjJjZWYzZGE5ODQ0NTNkMWM3MmMzNDRhMzFwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS40MmViOWYzOWFmYmFjN2U1ZTczYzMyYTIxZTg1M2YyNnAtMTg1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMjBwMCwKKyAgICAweDEuMHAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuOTVlNTRjNWRkNDIxNzdmNTNmNGQ1MjE5ZGYxMWNhM2JwMTg0LAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuOTQ3NjUwNGJhODg1NzU4YWE1ZmE3NTQ1ZTEwZThlNDZwNzM4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDEwMDgwMmFiNTU3NzgwMmJhNDI0YWQ0NmIxMDZhNjZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AtOAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS4wMDAwMDA0MDAwMDAwODAwMDAxY2FhYWFiMWI1NTU1NnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDA3cC0yNgorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5kOGU2NGI4ZjI2YzEyODUxNzQ4OWE0OTBlNjg0ZDhhOHAyLAorICAgIDB4MS4wMDAwMDAwMDhwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS43NDllYTdlMDE1YmMxZGRkZmExOWZiYjNjZjhiZGVkNHAxMSwKKyAgICAweDEuMDAwMDAwMDEwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuMGYyZWJkMmM2NWQ5YTgwMDgxYWMyZTY1ZTgwMjVhYjFwMjMsCisgICAgMHgxLjAwMDAwMDAyMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjBmMmVjMTQ3M2FmZWE4MDgxZmE0NTY2OTI3YTRjZmQzcDIzLAorICAgIDB4MS4wMDAwMDA0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuMDAwMDAwMDAwMTAwMDgwMDAwMDA4MDA4MDAyMDAwMmFwMCwKKyAgICAweDEuMDAwODBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjAwMDAwMDAwMDA4MDA4MDAwMDAwMjAwNDAwMjAwMDA1cDAsCisgICAgMHgxLjAwMXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDgwMDAwMDAwMDAyMDA0cDAsCisgICAgMHgxLjAwMXAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuYThiZjgxYTU5N2VkZDIyM2YyZGI2ZWJmZTJlYjFjYzFwMTg0LAorICAgIDB4MS4wMDE3M2VhYjM2MjNhcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuNzVlNTQxNzVhYWJiMzdmZmY1ZTViNDRiYTBmMTAxYjdwMTEsCisgICAgMHgxLjAwMWMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuNjAwMDhmYmVkNmM1MjgwMjA2ZTc5OTA5MzIxZDA5YzhwMSwKKyAgICAweDEuMDJmOGFmOGFmOGFmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjA0MTg0YmI4MGZmNDNmZmZjODljNTNmMWVlMDRjZTA0cDAsCisgICAgMHgxLjA0MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS4wMDAwMDg0MDAwMjIwODAwNWQ5NjAwYzEwNTYxM2U3Y3AwLAorICAgIDB4MS4wODBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLjIzMzhhYjliNzQzMjA4MDAwMDAwMDk3MzkzOGJhY2IwcDAsCisgICAgMHgxLjA4MDAwMDAxZDBmYzhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuYWNjOTFiZmE3YzU0YzgwMzY1NDhjOTY4YjM2ZTU3NTBwMCwKKyAgICAweDEuMDgxNDQxOWQ2YTY1YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5hNGU0NjkzNDEzYjk5NzA3NTVjMTU2MzNhZjI1Zjk2YnA0MDAsCisgICAgMHgxLjE1YzE4ZGU4Nzc1NjNwOAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS4wMDAwMDAwMDAwMDA0ODAwMDAwMDAwMDAwNjFmZmZmZnAwLAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcC01MAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5lYWE1MjFlZGYxYmMyODAxNDYwMjE5MWNlNjE4YzA1ZnA4NDYsCisgICAgMHgxLjI1ODZjYTljZjQxMWJwOQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5mY2E5YzQ3MDE2Y2IxNzYxN2IyNzViMjk4Y2Y5Zjg5NHAyNiwKKyAgICAweDEuMmI1NWMwMzdlYmI5ZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmZjYmIxZTVjOGQ1MzU3NWFiYzc4NzI2ZjVjZWE2ZjUxcDI2LAorICAgIDB4MS4yYjU2NGJlZTBhNmNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuY2MwZjlkOTExZjFkMTAwMmNmMGFmMzgyZmRmNjJmMDJwMCwKKyAgICAweDEuMmMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmI2OGEyOGIwOWZlOTQ3ZmRmMDAxMDRmNmQ4YzI0ODAxcDYsCisgICAgMHgxLjJjOWUzM2Y3OTQ3NjlwMgorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS5kMmUwMzViMTg5MmQ2ODAyYTljOWUyODhkOGU5N2M5OHAwLAorICAgIDB4MS4zM2E3NGZmMDZmYjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjZhY2RlODQ0MzU2YzkyMWZhOTkzMTNhYTE4NjcwNTkzcDMsCisgICAgMHgxLjM2Y2NlM2MzOTI1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMDZkYWRlZTI4YzExYzgwMGZiOTA5NDQzNWMxZGU3MjdwNywKKyAgICAweDEuMzgzODljNDhiMGZjZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmM3OGYzN2YwN2NlYTY0MjZlZDU1NDhiNGEzMWQ0YWMycDkwNCwKKyAgICAweDEuMzk5NzM4MWQ3ZDk0ZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLmJmZTBjNTE5MTY2YzQ3ZmUzYTRiMzRlNmMzNGI1YWU0cDEsCisgICAgMHgxLjQwYTMzOWM4MWNlY2JwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5mYmM5YzMwNjAzMDg3NDg4YTNkOTIyNjViNTNjMmE2NXA5MjcsCisgICAgMHgxLjQxOWRiY2M0ODY3NzBwOQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5mMWVmOWM4YTRmZGFlODAxYjE5ZjhlNDJlZmYyYzRhOHA5MzAsCisgICAgMHgxLjQyYTU2NWU0NTZlMDRwOQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5kYTEzNGQ1YTRkMWUxODAwYzQzNjU0NDk5NDA1OGNlNnA5MzQsCisgICAgMHgxLjQ0MDIwMTAwODA0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuZjRlYzQ0MTk0YjY0MjgwMWE0YWZkNGM1MDYzM2U4YWFwOTM4LAorICAgIDB4MS40NTZiZjIzZTAyNDI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuZWE5MWQ5NTMzYjM5NDgwMWJmM2QzZWM4Zjg4ZGU1NjhwOTM5LAorICAgIDB4MS40NWMxZmVlZjgwODZjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuY2I0MTliOTI3OWIzNTc2M2QxMTNlNmM1ZGI3OWRjNTRwOTQzLAorICAgIDB4MS40NzFjNzFjNzFjNzFjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuNmQxNDMwODgyODMyMWRlNmZlNjdhNDEzNmYxN2QxZjhwMjksCisgICAgMHgxLjQ3NGM5Y2M0NGNjMjVwNAorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5jMDE5NGI0MTg2ZTI3ODAxMjBiODczZDcyNDU2ZWNkZHA5NTYsCisgICAgMHgxLjRiOWFiMTc4MTIwMzBwOQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS4xNWM2MDU4NTM0NzZiODAwMDhjYWJjNGIyMDdmZmQxZnAwLAorICAgIDB4MS40ZTU5ZGM3ZTJiMDUzcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLjZkZWUzODczNWE2ZDM4MDBkOGVjMTE3NjgzMjc1ZjNhcDk3MiwKKyAgICAweDEuNTEwYzU0NjVkOTg0YnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmYxZTk2YmUyYTUyY2Q3NzdlOGNmNTQxODRlZDdhZTQ4cDAsCisgICAgMHgxLjU0OWIwZjU3NDIzODJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuZjI1M2M1OTkwYWFkMjgwMDAwNGRiNjE1YjExNDg0NzZwMCwKKyAgICAweDEuNTUwODVmYjg2NTAxYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS4yNzliMWM0M2EyNjYxN2ZmNGM3NTA4YzM1ZTU2MmIyMnA5OTMsCisgICAgMHgxLjU4MzgzMTI2ZTk0YmZwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS42ZmQ1YWI1OTE1M2YzMmE0YTM4MzcxMGEzNDE5ZjU3ZHA5OTYsCisgICAgMHgxLjU5NWU1Nzk1ZTU5MmJwOQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS41ZWNmMTg3NjUzOTU0N2ZmZDYxMmU1YzRiNzE1YzhhZHAxMDA0LAorICAgIDB4MS41YzFlMGYwNzgzYzEwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEuZjJhM2MyOWZjNmQ3MjNhNjNlMzQ5YmJjZDc4OTRhOGFwMTAwOCwKKyAgICAweDEuNWRhZGY1ZDFlNDUyY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLmVkY2IxNDg3OTYxM2U4MDE3NjA4N2MxYTc2ZGVjOTdjcDEwMDksCisgICAgMHgxLjVlMDU2ZWQ0MGU1NmVwOQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS5mY2M3ZTVjYTgwYjFmNzVjMTRkNzYyZjg0NmJjMTY2OXAwLAorICAgIDB4MS41ZmE5N2JiNGU5MDYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLmY4YjVjOTg3YTNkODc3ZTE4YmZjYWRhNTBmMWM1NGIwcDMsCisgICAgMHgxLjYxMGU0N2UxMzI1ZGNwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS5mMWU5ZDhjZjI0ZmNkODAyNTEyNzg3N2E3MzhlYjJkMXA3LAorICAgIDB4MS42MTFiMTlkY2M1M2U0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZmZjMDQ1NjkyZThhMDM5YzU2MjJiODIxOWYxOWM2MTlwMTAyMywKKyAgICAweDEuNjJlNDFmZmZmZmZmYXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLmZmYzA0NTY5MzAwOWQzZDA2NTA2MmY5MjY3ZGZmNTVlcDEwMjMsCisgICAgMHgxLjYyZTQycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuZmZjMDQ1NjlhMmZiODM2NzkyMzkwOTFkZjA2ODk5N2VwMTAyMywKKyAgICAweDEuNjJlNDIwMDAwMDFjY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLmZmZmZmZmZmZmViMmExYjBlMjYzYWM2ODA3NmVkNGUwcDEwMjMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWFwOQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS4wMDAwMGI0MDAwM2Y0ODAwZWQ0ZTAyOWI2YjY1ZGRiMXAwLAorICAgIDB4MS42ODBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLjE3ZTYyZjcwYmVjOTk4MDFhMjkzNmU4OWI1NGM1MjU2cDgsCisgICAgMHgxLjY4OWE3ZGM1OTIxYjhwMgorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS42ZGFhYTEzMzZhMzE1MDAxNzRjYTBiZTU2OTgwNmZkZXAyNjQsCisgICAgMHgxLjZlYjFkZTY5YWNlMzJwNworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS43MmE5ZGFkZWE3NDk4Yzk1YTUxNGMwMWQ1NDAzZTVkMHAwLAorICAgIDB4MS43YjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMWVkM2ZlNjRmYzUzOTgwMGY5Y2QzNGVjNGM4M2Q5ZDFwMiwKKyAgICAweDEuN2ZmZmZmZmZmZmZmOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwMWZmZmZmcDAsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwLTUyCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmZlMzExNTJiN2VmNmIxZTBhOGI5ZmVjN2VjZGQ4NWE0cDU1MywKKyAgICAweDEuOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLjc0ZDc3Yjc2ZDk1MTYzMjI2Y2FmODQ3NjBhMzQ2YWJicDAsCisgICAgMHgxLjgxMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mMGUzZTViNmMxN2MwMmE3OTljMzA2ZGJjMWIxYThlY3A1NTYsCisgICAgMHgxLjgyMGQ5MmZjNGI0MmFwOAorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS4wMDAwMDAwMGMxYjU5ODAwMDAwMDAwMDAwMDI3YTdkNXAwLAorICAgIDB4MS44MzZiMmZmZjZkNmNicC0zMworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS43OGI2OWQ2OTBkYjc5MmI1NzRmOTA0ZDJiYjFlOWViZXA1NzAsCisgICAgMHgxLjhiN2FlZTYzMWY0ODlwOAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS40ZGFkOTU4NzdhZTA3ODAwMDAxMjgyN2ZhYzg5MTUzNXAxNDQsCisgICAgMHgxLjkwNTAxMWUwZGY2MjlwNgorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5mY2JiODc3OGY2MTIxNzY2NWE2ZTZmMjExOTg4MGIyOXAxNDQsCisgICAgMHgxLjkxZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuN2E1YjI3NzFlMGExNmNlNmVjZDZkZTg1NzNjMTExOTJwNCwKKyAgICAweDEuOTRlNTQ3MzhmYjRiN3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjdkNjc2YTI2ZmU1Y2FjY2VhNTliMDIzNTQwYmVjODBmcDAsCisgICAgMHgxLjk4NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS42OTg3NjQxMjhhNDQ0ODAxMGUyNTFiNTVmMzdhN2I2ZXAxNDcsCisgICAgMHgxLjk4ZjM4MWQ3ZGI0NGZwNgorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS40NGU1YTc1MmY5ZTFlZmZmYjMxNDgxNDg0YWE3NjkyYXA5LAorICAgIDB4MS45ZTgxODZiMjY3YTI4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuODAyM2QyOThlMzcyZjgwMjBlYzhjZjRhNzBhZmZhODdwMCwKKyAgICAweDEuOWY5MWMxNDQ5YzQyMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5kZjliZDA2ZGFmOGNlN2IxMjNkZjQzYmI1MDEwOTkzOHAyOTksCisgICAgMHgxLjlmYzFmMjEyZDcwZjZwNworICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS44MWE0ZmJjYTlkY2RiODAwMDAwYWUwNjhiYzIxYzRmNXAwLAorICAgIDB4MS5hMzkyNzg5ZWFmY2U5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjgyNWYzNTRjY2Y2ZjJmZmZhYjdlOWViODI4ZmJjNjdkcDAsCisgICAgMHgxLmE1ODA3Y2ExMzkyYjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuM2MxZTI4NzY4MzRhYTdmYTQ2MDExZTk4YWJlYWRmNzZwMCwKKyAgICAweDEuYnAtMworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS4xYzdlMWFjYTUzNzk1ZmZmNTRhNWZkZjU1MjkyNjFjYXAwLAorICAgIDB4MS5iMDRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuYTJkNTBiOGIyODgwZTgwMWEyN2EzNGQxOTU0ZGFiNTBwMzMxLAorICAgIDB4MS5jYmQ5MTdjY2FkMDk2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuNDE5YzhhOGRhMWI3OTgwMmUyMDI5NmU1ZjkyNzk2MjZwMSwKKyAgICAweDEuZDdiNjc3ZTMzM2QzOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS40MWQxYjhiNDY0OWViODAwMDAyM2Y5Nzc2ZGE5ZDY0NXAxLAorICAgIDB4MS5kODBiMWE2MzMwYmVicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLmJmMzQ0NzkyMWZkMzk3ZmQ2ZGI0NjJjZDJmYmIzOWZlcDEwLAorICAgIDB4MS5kZjUwZDlhZjllNDEwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuOTkxOTc5NGJjODYyOTgwMjBhMTk1ODg1NTJjZWFlNWNwMCwKKyAgICAweDEuZTAwODFlYmMzMjY0ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS43NmE2MmJhZDcxNWI0ODAwZGFhZGI2ZmMyYjZlNjE2NnA1LAorICAgIDB4MS5lYzViYjIwOWU1NzA3cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuYzcwMTU1NGM3NjFhYTgwZWVkZjJhNDllZjYwZTU2MmNwMiwKKyAgICAweDEuZjYycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuYzNkZGEzYzk1MmI5MTgwMTJmZDc5ZmJiOGVhMzhmNjlwNzI3LAorICAgIDB4MS5mODdjNzgyMGQ4NDQ2cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuZDI4YzYwOTdiOWQ1NTc4ODM1ZTZjZmYxYjE5NDY0Y2RwMiwKKyAgICAweDEuZmM4OWRjMWFhOTA5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjQyMzExNzhjMjM0OGY1Zjc3ZWVkYjI3ZGM0MDRmNjE2cDczNCwKKyAgICAweDEuZmNmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjA0MDM0NTkxOTExZTc3ZmYxODM0ZmQ3MGQwYmJiNGIwcDAsCisgICAgMHgxLmZkYTZkZmUyN2ZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuYTViNTY5MWM0YjBlZjgwM2NhYjJiYWQ0YTIwMTNmMTRwMCwKKyAgICAweDEuZmYxZGQxZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS4wMDAwMDAwMDAwMDAzZmYyMDAwMDAwMDAwNWZjODA2MnAwLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcC01MQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS42ZDRmZDlhYjQ3YzkyMDAwNzNhYTgxMjdhMjQxOWFjOHA3MzgsCisgICAgMHgxLmZmZTVlZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS4wMDAwMDAwMDAwZmZmODAwMDAwMDAwMDAwMDFmZmZhYXAwLAorICAgIDB4MS5mZmVmZmZmZmZmMDAxcC00MQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS43NDQxOGJjZTc4OGViNDY3NDZiMzhiNTc4NzU5ZWNjMHAxMSwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLjAwMDAwMDAwMDBmZmY4MDAwMDAwN2ZmODAwMjAwMDJhcDAsCisgICAgMHgxLmZmZnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuMDAwMDAwMDAwMGZmZmZmMjAwMDA3ZmY3ZjIwMDAwOGNwMCwKKyAgICAweDEuZmZmZmUzZmZmZmZmZnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuZDhlNjRiOGQyMTg1MjgxZjk4NGE0ZTUxMTQ4ZGFkZWNwMiwKKyAgICAweDEuZmZmZmZmZmZlN2ZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmOWZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZGZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjMwNGQ2YWVjYTI1MjUzMTQ3NWVjOTE4MjM2OWJhNDE1cDY5LAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMzA0ZDZhZWNhMjU0YjNhZjRiYzVkNjI5M2Q1ZjY1YzdwNjksCisgICAgMHgxLjhwNQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS4zMDRkNmFlY2EyNTcxNDRhMjE5ZjFhZDUwNTU4ZDMyY3A2OSwKKyAgICAweDEuODAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmY4ZTZjMjRiNTU4ZWYxNzQ5OTViY2ZhZDQ5NTE0OWY1cC03NiwKKyAgICAtMHgxLmEwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5mOGU2YzI0YjU1OTJlMzQyMWRmMjdhY2YxZTA4MDE0NHAtNzYsCisgICAgLTB4MS5hcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuZjhlNmMyNGI1NTk2ZDUwZmEyODkyNWY4ZDY1OWMxYmZwLTc2LAorICAgIC0weDEuOWZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLjU1Nzc5Yjk4NGYzOTVkZWEzNmEyNzdiOGJlZTJlNjRjcDExNSwKKyAgICAweDEuM2ZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjU1Nzc5Yjk4NGYzZWIzYzhhNTAzYjRhOGUyNDg5ZDk4cDExNSwKKyAgICAweDEuNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjU1Nzc5Yjk4NGY0NDA5YTcxMzY0ZjFhZTVkMjgwZTY5cDExNSwKKyAgICAweDEuNDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjA3YjcxMTJiYzFmYmMyYzBmOWMxMzY1MzMwOTMwMzEwcC0xMjcsCisgICAgLTB4MS42MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuMDdiNzExMmJjMWZmZTE5ZDNlNzAzZTRhNzk0ZjczNzJwLTEyNywKKyAgICAtMHgxLjZwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS4wN2I3MTEyYmMyMDQwMDc5ODMxZjQ2NTIzZDdjZjY5MnAtMTI3LAorICAgIC0weDEuNWZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLjQwYTRiOWMyNzE1MDg2NjE3NmQyMmYyMTM5ZDFkNDBmcDkyMywKKyAgICAweDEuM2ZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjQwYTRiOWMyNzE3ODlhZjhhZjIwNWJiMzRmNzQzMzM3cDkyMywKKyAgICAweDEuNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLjQwYTRiOWMyNzFhMGFmOGZlNzZlOGQ0N2Y3ZmQ5YzI2cDkyMywKKyAgICAweDEuNDAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjQ0YTM4MjRlNTI1ZDU2ZmMzZjAyZjg4NjM3NWVjODc2cC0xMDE2LAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLjQ0YTM4MjRlNTI4NWViNmM4OGNkNDZiYTVkZWI0NTdhcC0xMDE2LAorICAgIC0weDEuNnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLjQ0YTM4MjRlNTJhZTdmZGNkMjk3OWEwMTEyODBmYmM4cC0xMDE2LAorICAgIC0weDEuNWZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLjAzOTk2NTI4ZTA3MmI3OGEzMzI0ODA4ODRjNzliYWY3cDc1LAorICAgIDB4MS45ZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuMDM5OTY1MjhlMDc0YmViY2ZkNzY0MTZmYzJjMGViOTJwNzUsCisgICAgMHgxLmFwNQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS4wMzk5NjUyOGUwNzZjNWVmYzdjODAyNWI0NzZkYjBkMHA3NSwKKyAgICAweDEuYTAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLmFlYmFiYWUzYTQxN2VlNmU3ZmFmOWVjZmM5NTEwNDBjcC03MCwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5hZWJhYmFlM2E0MWI0YmUzZjU3NmU3MDMwM2EzNzkzMnAtNzAsCisgICAgLTB4MS44cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuYWViYWJhZTNhNDFlYTk1OTZiM2UyZjNjZjhlMGQ5ZTdwLTcwLAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLmYxMDU2ZGM3YmYxYjBmYzg1N2I2Nzk5OWY1MDM1MjczcDEyNiwKKyAgICAweDEuNWZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLmYxMDU2ZGM3YmYyMmQzZGUwZWQ1NzYxNWJjNTAxZjhicDEyNiwKKyAgICAweDEuNnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmYxMDU2ZGM3YmYyYTk3ZjNjNWY0NzJiMDkzZjNjOTFmcDEyNiwKKyAgICAweDEuNjAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLjdmZDk3NGQzNzJkZTQ5MDk5ZWU3YmY0OGFlMzQ2ZWFhcC0xMTYsCisgICAgLTB4MS40MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuN2ZkOTc0ZDM3MmU0NDg2ZjcyMzU4YWNkZDEyNjkwZTVwLTExNiwKKyAgICAtMHgxLjRwNgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS43ZmQ5NzRkMzcyZWE0N2Q1NDU4MzU2NmFmMWIwMDA1NnAtMTE2LAorICAgIC0weDEuM2ZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjkzYmY0ZWMyODJiZDNiMzZjZDJmNDAxMTQ4OGE4MzY0cDEwMTUsCisgICAgMHgxLjVmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS45M2JmNGVjMjgyZWZiMzIwYTU3ZjlhZTAyZTAxYWU1MXAxMDE1LAorICAgIDB4MS42cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuOTNiZjRlYzI4MzIyMmIwYTdkY2ZmYmZlMTBiM2UzNGFwMTAxNSwKKyAgICAweDEuNjAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjk4YzcyY2EwY2FiMTRlZGE1YWNhOTdiZWUwZmRkNDhmcC05MjQsCisgICAgLTB4MS40MDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuOThjNzJjYTBjYWU0NjdiZmVlZTNmMTFhNGFhMjZmNzdwLTkyNCwKKyAgICAtMHgxLjRwOQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS45OGM3MmNhMGNiMTc4MGE1ODJmZDUwZDhkMGY5OGQ4YnAtOTI0LAorICAgIC0weDEuM2ZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjYxMDEzYTQ0YTk4MWM5MTBmMjBmODA3NTYwMDcxMjBhcC04MjIsCisgICAgLTB4MS4xY2I5MGJmYmU4ZTdjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuODA4NzcxN2E3ZjA4YTcyNTEyMTBlNzFkNDdhY2M1ZTNwLTkwNSwKKyAgICAtMHgxLjM5NzIxN2Y3ZDFjZjhwOQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5hMmRlNTlkODU0NTIxMDlmMzQxNjVmYTU1ZjllNGU3YnAtOTg4LAorICAgIC0weDEuNTYyYjIzZjNiYWI3M3A5CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYzNTc5M2M3NjczMDA4MGRmYjlicC0yLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMWFiYzllM2IzOTgwM2Y0NWMxY3AtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuMDAwMDAwMDAwMDAwMDlhYmM5ZTNiMzk4MDQyMWJhNmJwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjZhMDllNjY3ZjNiY2M0OGYwOTY1MDA5ZjI3NzhkZjkxcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS42YTA5ZTY2N2YzYmNjYTM3MzBmZWEwNmUxYTk2NmMwNnAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ZkZjU4OTg0MDNkMGRjYTk5MTlwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLmFlODlmOTk1YWQzYWQzM2YzYzQ1MTExOGU0YWQ3NGM1cC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5hZTg5Zjk5NWFkM2FkNjljNTAzODNjNzM1YTU3NTA1MnAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuYWU4OWY5OTVhZDNhZDlmOTY0MmI2N2NkZDAwN2U2MDZwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLmQ1ODE4ZGNmYmE0ODcwZWEzMGY4OTc0ZjM2OWVhYjhjcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5kNTgxOGRjZmJhNDg3MmJmYjI4NjY3MDk3ZjEwODA3ZXAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuZDU4MThkY2ZiYTQ4NzQ5NTM0MTQzNmMzYzc4NDJhZjFwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLmVhNGFmYTJhNDkwZDk3OTcwNjk4ODc4NzliN2M5NzRlcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5lYTRhZmEyYTQ5MGQ5ODhjMmMxNTljYWMyMjQ4YTAxYnAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuZWE0YWZhMmE0OTBkOTk4MTUxOTJiMWQwYTkxNTIzN2JwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLmY1MDc2NWI2ZTQ1NDA2MTFlMDY1YzE0ZjEwNTAyNGNlcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mNTA3NjViNmU0NTQwNjhmMjIzZjJmMDgyNTUxYjhlZnAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuZjUwNzY1YjZlNDU0MDcwYzY0MTg5Y2MxM2E1MzZjNWZwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjA1OWIwZDMxNTg1NzQzNWY2YzUxY2VlYjBhNmI0NmU2cDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDU5YjBkMzE1ODU3NDNhMGQzMTUxYjQxMjAzYzI2ZWVwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4wNTliMGQzMTU4NTc0M2UyMzlkODY3OTczNjBkMTc0ZnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjBiNTU4NmNmOTg5MGY1ODdmNTI3OTI5NDExNDE2NWEycDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuMGI1NTg2Y2Y5ODkwZjYwZDlmZWFmYTYwNTliYzRiMDhwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS4wYjU1ODZjZjk4OTBmNjkzNGFhZTYyMmNhMjM3NzM0MnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjE3MmI4M2M3ZDUxN2FjN2M3YzBkMzQzMmFkNTQzYWZhcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMTcyYjgzYzdkNTE3YWQ5M2E3OTBmYzA3YzUwMTQzMGNwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS4xNzJiODNjN2Q1MTdhZWFhZDMxNGMzZGNkY2FmNjI0OXAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjMwNmZlMGEzMWI3MTRmZmU3ZWVjNmJlYmY3Y2E5ZDdkcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuMzA2ZmUwYTMxYjcxNTI1ZjVlYWRiMjIyZGE2Y2ZiNWFwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS4zMDZmZTBhMzFiNzE1NGMwM2U2ZWY4NTliZDE0MWFmN3AwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLjZhMDllNjY3ZjNiY2MyMzIwZDVkZTY5MGM3ODE3MmFlcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzdkYTM0Zjc4NjVmYmE5NThiMzNwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjZDgyNWM5MTI2MmVhZGMwNDQ1NnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmVjYTg2YzM4OThjZmY4Nzc5YTFhcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmNhODZjMzg5OGNmZjgxY2RkN2NwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS4wMDAwMDAwMDAwMDAwNjU0MzYxYzRjNjdmYzIxMTA2ZnAxLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLmZmZmZmZmZmZmZmZmQ5NTBkODcxMzE5ZmYxYWE0MzI4cDEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmOTUwZDg3MTMxOWZmMDNmNTBhZnAxLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMGNhODZjMzg5OGNmZjg2YTJmMWJwMiwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmIyYTFiMGUyNjMzZmU2NDBjMjFicDMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMmExYjBlMjYzM2ZlMDk0ZjgzN3AzLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTk1MGQ4NzEzMTlmZjE3NDk3MmFwNCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLmZmZmZmZmZmZmZmZjY1NDM2MWM0YzY3ZmQ4MzI3MzYxcDcsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMgorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlNTQzNjFjNGM2N2ZjMTgzNGJkM3A3LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuMDAwMDAwMDAwMDAwMzJhMWIwZTI2MzNmZTU2YTEyMjJwOCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLmZmZmZmZmZmZmZmZWNhODZjMzg5OGNmZmRmMjhhMzZmcDE1LAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuZmZmZmZmZmZmZmZmY2E4NmMzODk4Y2ZmODQ2YzA1MzRwMTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMworICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS4wMDAwMDAwMDAwMDA2NTQzNjFjNGM2N2ZkNGQ3YjM3Y3AxNiwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLmZmZmZmZmZmZmZmZDk1MGQ4NzEzMWEwMDc5NjAzOThmcDMxLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuZmZmZmZmZmZmZmZmOTUwZDg3MTMxOWZmMGU2ZGMwYTNwMzEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwNAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS4wMDAwMDAwMDAwMDBjYTg2YzM4OThjZmZkMWJkYTNkYnAzMiwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLmZmZmZmZmZmZmZiMmExYjBlMjYzNDViOGRmZTAwNjk3cDEwMjMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwOQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5mZmZmZmZmZmZmZjJhMWIwZTI2MzQwMGQxNWZjNTJmZnAxMDIzLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLmM4NDY0Zjc2MTYxOTYyZWQxOTMwNzk2YzA3OTQyNTRhcC0xMDcxLAorICAgIC0weDEuNzJlNDJmZWZhMzlmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLmM4NDY0Zjc2MTY1MjZiYjcwN2YzNDAyOGYxZDYzNzg2cC0xMDcxLAorICAgIC0weDEuNzJlNDJmZWZhMzllZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMHgxLmM4NDY0Zjc2MTY4Yjc0ODBmNmI2MGUwNmY1NTYyMjFicC0xMDcxLAorICAgIC0weDEuNzJlNDJmZWZhMzllZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLjhlYmVmOWVhYzgyMGE4NGI4NmQxY2UxYTQ0MjQ0MzVmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS44ZWJlZjllYWM4MjBhZTg2ODJiOTc5M2FjNmQxZTc3MnAtMSwKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuOGViZWY5ZWFjODIwYjFhNDAwYWQ0ZWNiMDgzMjExZjZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLmMzZDZhMjRlZDgyMjE0ZjBkMDFkYWY4ZTFhOGQyY2E3cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS5jM2Q2YTI0ZWQ4MjIxODc4N2Q2MjRkM2U1ZWJhOTVmNXAtMSwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuYzNkNmEyNGVkODIyMWEzYzU0MDQ5YzE2ODBkM2YwNWVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLmUwZmFiZmJjNzAyYTNiMDRlODYwMjNmMDY5MWNjNTk3cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5lMGZhYmZiYzcwMmEzY2U1ZTMxZmUwNjA5MzU4YmFmZHAtMSwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuZTBmYWJmYmM3MDJhM2RkNjYwN2ZiZTk4YTg3NzZhMGVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLmYwM2Y1NmE4OGI1ZDc4MWM5MDVmNmI1MWM3NmFlOTgxcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS5mMDNmNTZhODhiNWQ3OTE0YjAwYWJmOTc3NjI3MzVkMXAtMSwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuZjAzZjU2YTg4YjVkNzk5MGJmZTA2OWJhNGQ4NThhN2ZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLmY4MGZlYWJmZWVmYTQ4YTljZDExMmQ1OTJjNDM3MDEycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS5mODBmZWFiZmVlZmE0OTI3ZDEwYmRkNTRlYWQ1YWE0NnAtMSwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEuZjgwZmVhYmZlZWZhNDk2NmQzMDkzNTUyY2ExZWQzMzBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLmZjMDNmZDU2YWEyMjRmNTg3YzNmNjg1ZDU0M2U1M2Q3cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS5mYzAzZmQ1NmFhMjI0Zjk3ZmNiZjEzMzI5ODg4NDJkZXAtMSwKKyAgICAtMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuZmMwM2ZkNTZhYTIyNGZiN2JjZmVlODlkM2FhZDNkNWNwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLmZlMDBmZmFhYmZmYmJjNTFjZDBlMTZkOGIwMDVkNjYycC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5mZTAwZmZhYWJmZmJiYzcxYWQxZTExODRhZmMxOWM3ZXAtMSwKKyAgICAtMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuZmUwMGZmYWFiZmZiYmM4MTlkMjYwZWRhYWY5ZjgwNGJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmZmMDAzZmY1NTZhYTg4N2I2ODgwMGJiNWQyN2RhNGZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS5mZjAwM2ZmNTU2YWE4ODhiNjA4MjBiNjA4N2QxZTkxYXAtMSwKKyAgICAtMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuZmYwMDNmZjU1NmFhODg5MzVjODMwYjM1ZTI3YzBiNTdwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS5mZjgwMGZmZWFhYmZmZWU2ZmM0ZWZjZmM2NDU5ZGUxM3AtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLmZmODAwZmZlYWFiZmZlZWVmYTRmM2NmNzBmNTlkOWJmcC0xLAorICAgIC0weDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAweDEuZmY4MDBmZmVhYWJmZmVmMmY5NGY1Y2Y0NjRkOWQ3YTFwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5mZmYwMDAzZmZmNTU1NmE5YTg5MDhiNDBiMzIwODQ5ZHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLmZmZjAwMDNmZmY1NTU2YWFhODg4OGI2MGIyY2IyZmYycC0xLAorICAgIC0weDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuZmZmMDAwM2ZmZjU1NTZhYjI4ODQ4YjcwYjJhMDg1OWRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS40OGI1ZTNjM2U4MTg2M2U1MGZmYzJlY2I3OWYzZjdjM3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjQ4YjVlM2MzZTgxODY2NzY3YmMzYjY5YmFhYmU1MzRlcDAsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAweDEuNDhiNWUzYzNlODE4NmI5OTUzNTJjNjNjMGM2MjcyZWNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS4yMjE2MDQ1YjZmNWNjZTdhZDc2NDI4MTU4MzljODE2MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjIyMTYwNDViNmY1Y2NmOWNlZDY4ODM4NGUwNmI4ZDQycDAsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAweDEuMjIxNjA0NWI2ZjVjZDFlMTE5NzEzYTYzOWEwZDBiNDlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS4xMDgyYjU3N2QzNGVkNzRkNzA0NTVkZjg3ZTVkZTA4OXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjEwODJiNTc3ZDM0ZWQ3ZDViMWEwMTllMjI1YzlhOTUxcDAsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAweDEuMTA4MmI1NzdkMzRlZDhlNjM0NTU5MWI1NzRhMjA3NDRwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS4wODIwNTYwMTEyN2VjOTRjMDNiYjAzNjcwODVhM2M2NHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLjA4MjA1NjAxMTI3ZWM5OGUwYmQwODNhYmE4MGM5N2E2cDAsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuMDgyMDU2MDExMjdlY2ExMjFiZmI4NDM0ZTc3MTdmYjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS4wNDA4MGFiNTVkZTM5MTVhMzc2MzVkM2Q0N2RjM2RmNnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLjA0MDgwYWI1NWRlMzkxN2FiODY0YjNlOTA0NGU2YjQ1cDAsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAweDEuMDQwODBhYjU1ZGUzOTFiYmJhNjc2MTQwN2QzMmQyMTNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS4wMjAyMDE1NjAwNDQ1YWZjMTI0MzZkNWM2ZjIyZWNmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLjAyMDIwMTU2MDA0NDViMGMzMjYzODJiYzczNjg5ZDMycDAsCisgICAgMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuMDIwMjAxNTYwMDQ0NWIyYzcyYTNhZDdjN2JmNDAwYmNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS4wMTAwODAyYWI1NTc3N2NhODIyNjQxN2NiZmVlMmZmM3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLjAxMDA4MDJhYjU1Nzc3ZDI4YTJhNDJkMjZhYTllZTY3cDAsCisgICAgMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuMDEwMDgwMmFiNTU3NzdlMjlhMzI0NTdkYzAyMTZjMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS4wMDgwMjAwNTU2MDAxMTBlN2I0MTU1YTgxYWY0ODRiMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS4wMDgwMjAwNTU2MDAxMTEyN2Q0MWQ1YmQ3MmY0YzhmM3AwLAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjAwODAyMDA1NTYwMDExMWE4MTQyZDVlODIyZjU1MWE3cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuMDA0MDA4MDBhYWI1NTVkYmUzMGU1Y2U3MTkyN2NiZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuMDA0MDA4MDBhYWI1NTVkZGUzOGU2Y2U4NmU5Mjc3YWFwMCwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAweDEuMDA0MDA4MDBhYWI1NTVlMWU0OGU4Y2ViMTk2N2NmMjlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuMDAwODAwMjAwMDU1NTVmZmMxMGYxMjc1Mjk1ZDQzNDlwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAweDEuMDAwODAwMjAwMDU1NTYwMDAxMTExMjdkMjk3Mjk4YzlwMCwKKyAgICAweDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuMDAwODAwMjAwMDU1NTYwMDgxMTUxMjhkMjk5ZDQzYzlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuNDQxMDllZGIyMDZhOTM4ZmFkNjcwYjY4YWI5OWI3NjhwLTczOSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS40NDEwOWVkYjIwOTMxNWEzODhjYjFiNDMzZWNkMWE4YXAtNzM5LAorICAgIC0weDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgMHgxLjQ0MTA5ZWRiMjBhNzU2YWQ3NjdkMjUxNmExNTUxNGNjcC03MzksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuOTc1NTk1NmFkNGQwNGE2MDZhOGNkOWRkZmIzNjhlZmZwLTM3MCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS45NzU1OTU2YWQ0ZTliZmI5YzEzYTI3YWU0YzA3ZWQzN3AtMzcwLAorICAgIC0weDEuMHA4CisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjk3NTU5NTZhZDRmNjdhNjY2YzkwY2YyZjM0ODhhNDYzcC0zNzAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuNDJlYjlmMzlhZmE2OTkyYmYzYTEzNzk3MTVmNjY4M2JwLTE4NSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS40MmViOWYzOWFmYjBiMDg4ZWQ2ZWI0ZjQzY2M5ZWM3YnAtMTg1LAorICAgIC0weDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLjQyZWI5ZjM5YWZiNWJjMzc2YTU1NzNjMTE2NGE5YzAzcC0xODUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuOTY5ZDQ3MzIxZTQ2NjA0YTEwNWY4ZGUzMmQ5ZGM2ODVwLTkzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLjk2OWQ0NzMyMWU0Y2JhYmYyZDI4MDcwOTYzYjA0MTk0cC05MywKKyAgICAtMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS45NjlkNDczMjFlNGZlN2Y5YmI4YzQzYTYwNjY5MmE0OHAtOTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuYzg0NjRmNzYxNjQyZjE1NWZhYjNlNWJiMTQ0ZmI5MTBwLTQ3LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLmM4NDY0Zjc2MTY0NjgxZTI5OWEwMTI0NDg3ODg0ZDY0cC00NywKKyAgICAtMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS5jODQ2NGY3NjE2NDg0YTI4ZTkxNjI4OGJlZDhlMGViZnAtNDcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuZTM1NWJiYWVlODVhY2E1MGEzYzUwYWQyY2NmZmJiMjlwLTI0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmUzNTViYmFlZTg1Y2FkYTY1ZjczZjMyZTg4ZmIzY2M2cC0yNCwKKyAgICAtMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS5lMzU1YmJhZWU4NWQ5ZjUxM2Q0YjY3NWQxYzM5MjNmNnAtMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuNWZjMjEwNDEwMjdhMWJkZWM1MjVmNmQyYjQ4YTQ2MzdwLTEyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjVmYzIxMDQxMDI3YWNiYmZjZDQ2NzgwZmVlNzFlYWQycC0xMiwKKyAgICAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS41ZmMyMTA0MTAyN2IyM2IwNTE1NmI4YWVhYzVmZWVhNXAtMTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuMmMxNTViODIxM2NlZmM3OTM0MGY4ZTM4NjI2MzQ1NmFwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAweDEuMmMxNTViODIxM2NmNDc3ZThhZjAxMzJjMmFlMjNkNGFwLTYsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuMmMxNTViODIxM2NmNmQwMTM2NjA1NWE2MTYyYTM5NWZwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuMTUyYWFhM2JmODFjOTc1ODYyMjcyZjBmM2IxM2Y1ODZwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuMTUyYWFhM2JmODFjYjlmZGI3NmVhZTEyZDAyOTU3MWZwLTMsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAweDEuMTUyYWFhM2JmODFjY2I1MDYyMTI2ZDk0OWM1M2M3ZWJwLTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuNzhiNTYzNjJjZWYzNjRkZjk1NDRmMTFiMGE0OTkwMzFwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAweDEuNzhiNTYzNjJjZWYzN2M2YWViN2IxZTBhNDE1M2U0MzdwLTIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuNzhiNTYzNjJjZWYzODgzMDk2OTYzNDgxZGQ2NjUyM2ZwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjk0NzY1MDRiYTgzOTlmNWI5N2NhZTM1YmViNzhjM2M1cDczOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjk0NzY1MDRiYTg1MmU2YzA5Yzg1NjdjMDFjNWE2NjQ4cDczOCwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLjk0NzY1MDRiYTg4NTc1OGFhNWZhNzU0NWUxMGU4ZTQ2cDczOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLjQxYzdhODgxNGJlMTkyYTVkZjI1YjA0MmFmODI0ZWZkcDM2OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjQxYzdhODgxNGJlYmEwZTMyMzMwMGY3NzdkYTY1ODU0cDM2OSwKKyAgICAweDEuMHA4CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjQxYzdhODgxNGJmZmJkNWRhYjQ0Y2VkMjZmYWNjYmZicDM2OSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjk1ZTU0YzVkZDQxYjIwNjAwZGQ2MDFhMGFlNjcyZmY0cDE4NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLjk1ZTU0YzVkZDQyMTc3ZjUzZjRkNTIxOWRmMTFjYTNicDE4NCwKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgMHgxLjk1ZTU0YzVkZDQyZTI3MWZhMjNiZjM1ODViNjU1MDYwcDE4NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA3CisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLjQyNTk4MmNmNTk3YTRkNTJjODllYTg1N2JiYWE4MDdhcDkyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAweDEuNDI1OTgyY2Y1OTdjZDIwNWNlM2Q1YjRlZGIwMzE3NTZwOTIsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS40MjU5ODJjZjU5ODFkYjZiZDk3YWMxNGMzNWU2NjZjNnA5MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjFmNDNmY2M0YjY2MWE4OTQ0YWMzODliNjA5ZTBmNzRlcDQ2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuMWY0M2ZjYzRiNjYyYzdkODQ3ODg0MDE4NDIxNzQwNzRwNDYsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS4xZjQzZmNjNGI2NjUwNjYwNDExMWFjZTAxMDRmYzkwZXA0NiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLjBmMmViZDBhODAwMTdjZmFjNTZjMzA4NzRhZmJhYjk4cDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAweDEuMGYyZWJkMGE4MDAyMDQ5MjIzZjE3MDg4MmI1ZWU1ZWZwMjMsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS4wZjJlYmQwYTgwMDMxM2MwZTBmYmYwOGFiNzg4Njg2NnAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLjc0OWVhN2Q0NzBjNjgxZTQzNjE4ZWMxOGQ1M2YxYjIxcDExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuNzQ5ZWE3ZDQ3MGM2ZGYwYmUwMGUwODRhODE1ZDFkZTZwMTEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS43NDllYTdkNDcwYzc5OTViMzNmODQwYWUxZjc2ZTJlN3AxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLmI0YzkwMmUyNzNhNTRmZGZiNjc3NzE2NmU2NzYwZGZicDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS5iNGM5MDJlMjczYTU4Njc4ZDZkM2JmZGI5M2RiOTZkMHA1LAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAweDEuYjRjOTAyZTI3M2E1ZjNhYjE3OGM1Y2M1MDMyMDE0OWNwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMHgxLmQ4ZTY0YjhkNGRkYWJmMzRkNTgyY2QyOTA5YWFmYjJhcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIDB4MS5kOGU2NGI4ZDRkZGFkY2MzM2EzYmEyMDZiNjhhYmJhOHAyLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuZDhlNjRiOGQ0ZGRiMTdlMDAzYWQ0YmMyMTVkNGVmODZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgMHgxLjViZjBhOGIxNDU3NjhhNTVkYTczMjIxNDk5ZmM0Y2ZicDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuNWJmMGE4YjE0NTc2OTUzNTVmYjhhYzQwNGU3YTc5ZTNwMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjViZjBhOGIxNDU3NmFhZjQ2YTQzYzA5N2I4N2JjODMzcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS5mZmMwNDU2OTJmYzlkYmM3YjdlMDMyNTc2ZTVlMjZmOHAxMDIzLAorICAgIDB4MS42MmU0MWZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAweDEuZmZjMDQ1NjkzMDA5ZDNkMDY1MDYyZjkyNjdkZmY1NWVwMTAyMywKKyAgICAweDEuNjJlNDJwOQorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS5mZmMwNDU2OTMwNDljYmQ5MTIyYzM0Y2M2Mjc3Njg4NHAxMDIzLAorICAgIDB4MS42MmU0MjAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuYzg3ZjIxNzc1YTBmMWEyNTc1NWZiMDI3Zjk0OTQ5YTFwLTEwNzEsCisgICAgLTB4MS43MmU0MjAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuYzg3ZjIxNzc1YTQ4MmEwOWE0NGFmNTljM2MzYWU0NGJwLTEwNzEsCisgICAgLTB4MS43MmU0MnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLmM4N2YyMTc3NWE4MTM5ZWRkMzM2NDIzMjdiYjI1YzVmcC0xMDcxLAorICAgIC0weDEuNzJlNDFmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIEhVR0VfVkFMLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcDEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDIxCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjY2NjY2NjY2NjY2NjdwMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5iMzMzMzMzMzMzMzM0cDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuNzI0MDQ2ZWIwOTMzOGQyOTkxYTMwODkzZTdmNDEwOGRwNCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgMHgxLjMzZGVkYzg1NTkzNWVmYWFhZjU3OGNlZDNmODIxZjk2cDIsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDB4MS41YmYwYThiMTQ1NzZhYWY0NmE0M2MwOTdiODdiYzgzM3AxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuNWJmMGE4YjE0NTc2OTUzNTVmYjhhYzQwNGU3YTc5ZTNwMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMHgxLjViZjBhOGIxNDU3NjhhNTVkYTczMjIxNDk5ZmM0Y2ZicDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAweDEuMThiZDY2OTQ3MWNhYTU1ODVjNzFjYzMyYTc5MmFjODVwMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS5wMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEucDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS5kMmUxNzFjZjA0ODc5M2UxNmE3Zjk0MDZlMDBjMmRkOXAtMiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuNzhiNTYzNjJjZWYzODgzMDk2OTYzNDgxZGQ2NjUyM2ZwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLjc4YjU2MzYyY2VmMzdjNmFlYjdiMWUwYTQxNTNlNDM3cC0yLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLjc4YjU2MzYyY2VmMzY0ZGY5NTQ0ZjExYjBhNDk5MDMxcC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLmE5YmNjNDZmNzY3ZGZiMGQ0ZWVjMmIxMzM3YTA0YjlhcC0zLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLjYyMDIyN2I1OThlZjk5NDllNjBlNDRkYzQ1ZDE0ZDBjcC01LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS5mZmZmZmZmZmZmZjJhMWIwZTI2MzQwMGQxNWZjNTJmZnAxMDIzLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLjAwMDAwMDAwMDAwN2JiY2ZmYjA2ZjhmZGFiODk2ZGIwcC0xMDIyLAorICAgIC0weDEuNjIzMmJkZDdhYmNkMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgMHgxLmZmZmZmZmZmZmZjZjc3OWZmNjBkZjQwYzYzMTQxOWEycC0xMDIzLAorICAgIC0weDEuNjIzMmJkZDdhYmNkM3A5CisgIH0sCit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2V4cGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2V4cGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMDc0NTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZXhwZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxNDE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2V4cGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEuZTBmYWJmMDgxMjIyNzgwZDc0YzAwZmRhMzBhYTM5NDNwLTEsCisgICAgLTB4MS4wMDAwMDZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLmUwZmFiZWNiZjJjYTlhY2QyNWVlZjYzYWY4NThlZDYwcC0xLAorICAgIC0weDEuMDAwMDA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS5mYzAzZmNjZmI5MTMxNjdlY2ZhODRmNDhmNWI3MjA1YnAtMSwKKyAgICAtMHgxLjAwMDAyMnAtNworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuYzNkNjQyZmY5YmYyZDI5NGMwY2UwODhlOGJhZDI3YjNwLTEsCisgICAgLTB4MS4wMDAxYjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmZmODAwZWZhZWJiODIxOGZjNWQ0OTFiOTg2ODY4OWFhcC0xLAorICAgIC0weDEuMDAwMjA4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuOGViZDlkMDQ0NjE4MmU5MDU2ZjYwNDg5ZmNkMDAyY2RwLTEsCisgICAgLTB4MS4wMDAzODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLmUwZjk5NTAxMGZkOTZkM2YyOTRjM2ZmZTBlNTEyNDI2cC0xLAorICAgIC0weDEuMDAwOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS43OGEzYmI0YzE3YWRmNWIyZDQwZTZlZTNkYmQ0ODY2ZnAtMiwKKyAgICAtMHgxLjAwMGNwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuZmZkZmZkMDAzYWFjYmZjYTY1OTFlN2EzODM2OGI5NGNwLTEsCisgICAgLTB4MS4wMDIwcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuZmRmZjQxNmFhMzgyN2Q2MzM1YTFmZmE0M2Q0NDA1NjJwLTEsCisgICAgLTB4MS4wMGUwcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuOTkwMDdmZmJkZmZhYzMxZGZmOTBkYTVlZTQ2YTE2ZmFwLTQ3LAorICAgIC0weDEuMDBlMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuMzVjMGRjZmZmYjQ0MTlkYzI5NTU1YzIzMmYzY2RjYTdwLTEsCisgICAgLTB4MS4wMTRlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZmJlZDlhYzdlZDAzMmFiZmM3NjMwNmEzZTFkYzgxNmJwLTEsCisgICAgLTB4MS4wNWE0cC03CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuZWZkZGI5Y2NjZDczZjcxYTRiMmI4YzAxYTU3YWU3NWZwLTEsCisgICAgLTB4MS4wNjRjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuZmZmZGYxMDEwZjM3ZTJmMWY1ZmNhOGI5YzEzYWZmNzBwLTEsCisgICAgLTB4MS4wNzgwcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmVmYzM1NjUzOTEyZmFkZTZhMTdhOGY4ZWY0MTA5Njc5cC0xLAorICAgIC0weDEuMDhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS44YjMwOTZmZmZjYmU3Mzc5NjFmOGM2MWNkZjlkNzEzN3AtMSwKKyAgICAtMHgxLjA5MmM2OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLmZiZGQxY2U1NjFmOWQwYTY4OTgxMmU1YmVhMDg5ZjljcC0xLAorICAgIC0weDEuMDljY3AtNworICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmVmYTFlZjhhMTlkNDBiYjIyYzVkM2MzMTU5OTFlMTVmcC0xLAorICAgIC0weDEuMGEyOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLmZmZmZlZjA5Y2U0N2VjYzAzZDFkMTFmOTQ5MWU2NTE5cC0xLAorICAgIC0weDEuMGY2MzIwcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmZmZmZlZjA5YzA0N2VkMzZmOGFhMWE3ZTY3ZTI2NTI4cC0xLAorICAgIC0weDEuMGY2NHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS44ODkwNjM2ZTMxZjU0M2IzODUzYjFiMzA1ZGFlYjkzM3AtMSwKKyAgICAtMHgxLjEwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuZmZmZmVmMDAwMDQ4M2ZmZjMzNGFhYzVkYWJmZDFjN2RwLTEsCisgICAgLTB4MS4xMHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5lZjFjMmQwMDJmNzYzOWQ0ZDgyZWRjMDFlYWFkMWRlZHAtMSwKKyAgICAtMHgxLjEyY2NwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5kZTdmMDEwZDFjNjQ5NDEzOWIwNTMxYmQ1YjhmMTA4YnAtMSwKKyAgICAtMHgxLjE1MzRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS4wMjA1N2QxMjQ1Y2VhZjYyYTIxMDk5ZDQ0NDFhMzZkYnAtMTAxLAorICAgIC0weDEuMThwNgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmU5MDQwNzM0YTE2MzMzNTY3Y2Y2ZjMxYmM5MGQ0MzU1cC0yNywKKyAgICAtMHgxLjIxMTU4OHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuOGQwM2Y4ZmZmZmIxYTI2MjJiYmE4MWQ2YWI0YTkyZmZwLTE0LAorICAgIC0weDEuMjg3ZDA4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5lOTdlNDMwMjU3ZTc1ZjQ5N2Y2YTNlZmU1MWZmNTA1NHAtMTEyLAorICAgIC0weDEuMzNlZmVhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5jNjljNTE4ZWE3YzU4ODQyYzE3OGZiZDllOGNmNTM2ZXAtMTE3LAorICAgIC0weDEuNDIxODg4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5kZjJhMGY5MmMxN2U5ZmYwYmZiNzdiN2FiYmU2MzdhNnAtMTI2LAorICAgIC0weDEuNWFkNmI2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS43ODJmMjMwNjhjMTBiMWM1NTEzZGMzYjAxOTJkMzBkNHAtMTI3LAorICAgIC0weDEuNWU5NDQ0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS43MTA2MDJmOWY0Mjg4MzQ4Y2M4MzQ4NDcyYTI0ZjkzZHAtMTI3LAorICAgIC0weDEuNWVhN2YycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS42NWFiNzk5NGZmMzQ0MGRjZDNlZTdmOWI5YTAyNDIzYXAtMTI3LAorICAgIC0weDEuNWVjN2YycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS42MDMxY2M0NTRmMWMzZTAxMjZiNzFiZjIxZTkwM2QyMHAtMTI3LAorICAgIC0weDEuNWVkN2JlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5iNzhmNjgwMDAzMGZiN2VjNzk4NGEzZTc0MTlkNmZjMnAtMTI5LAorICAgIC0weDEuNjM4MDY2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5mOTM2M2YzNTgzMjc5YWMyNGU3NTdlZWI3NjU0OTEwY3AtMywKKyAgICAtMHgxLjY2NGVlMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuZDYxN2YxMGU2M2FkZmNkNjc0MTRjMDhkYzZmOWQwMTBwLTksCisgICAgLTB4MS42ODViNDRwMgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmNmOGM0NTAzYmYxN2Q4Yzc2NDdlOTNhMTUzYWYzN2I2cC05LAorICAgIC0weDEuNjk0MXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZDQ3MGI3MGU5MGQ1MDk3ZTg3YjkyNWM1ZjYzZmVlN2RwLTEsCisgICAgLTB4MS42YzMzMjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5hOWMwYTUwMTBkZTg1ZjlhNjBjODEwNGYzN2ZjNTk3ZnAtMSwKKyAgICAtMHgxLjc5Yzk4NHAtMworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLmRmZjEyNmZmZmNkZGUzNDM2MzIyYmEwOWRiNDU1NmUxcC0yLAorICAgIC0weDEuODNmZjM4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZGExYjgzMDFhZjgxMzg0YjhlNDk1YzlhNGY5NzQ5N2ZwLTcyLAorICAgIC0weDEuOGE1MjllcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5iYWJhZjRmZmZmZTI5MDI1Y2U3NTEwOTRhZWNmOWIwM3AtMTksCisgICAgLTB4MS45M2U3ODhwMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjZlOTUzYWZmZmVjN2ZjM2I1ZGRhMTdjODIwNjc4ODIxcC00MywKKyAgICAtMHgxLmQ3MjNmOHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmYwZmY2ZjNkOWY0OTNlZDYxMDM2NDg2MWE5OTU2NjRwLTEsCisgICAgLTB4MS5lMDgyYzRwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmYzOGE0MGEzYmMzM2Y2NWY0YmVkNWRlMGJkZmMzOTdwLTQ1LAorICAgIC0weDEuZTdmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS44MDI4OTkwMDM0ZmNjOGYzMzQ0MzMyMWRiMDhjNmRlOHAtMiwKKyAgICAtMHgxLmY1ZjkyMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZmMDI0OGYxYTE3NDE4ZTYzZDQ3MTFmM2U2NmI3YzI1cC0xLAorICAgIC0weDEuZmJlY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5mZjAyNDZmMjlmMmMyNmM1ZWQ1MWQxNjQ5OGQxZDY4ZXAtMSwKKyAgICAtMHgxLmZiZjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZmE4N2Y2NmY4MTI4NDkyOTIyOTBhOWY2MjY4ZWYyZjlwLTI0LAorICAgIC0weDEuZmU3ZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5mZjAwNDZmMmQ3MTZjMDk1NzcwZDg0OWUxODJhM2JiMnAtMSwKKyAgICAtMHgxLmZmZjFmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5lMGZiMjkxMTY1NTAwNjQyMmExNWMzYzAzZjhjZTg0N3AtMSwKKyAgICAtMHgxLmZmZjhmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLmZmMDA0MGY0ZDZjYWMzMTZiZGNmYTEzY2M1YWY3ZTdjcC0xLAorICAgIC0weDEuZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5mZmUwMDEwODFhMjhjNDIwMjYwYTE2MWIxMmZiYjk3ZHAtMSwKKyAgICAtMHgxLmZmZmY3ZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS4wMDAwMDEwMDAwMDA4MDAwMDAyYWFhYWFiNTU1NTU1N3AwLAorICAgIDB4MS5wLTI0CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuNDI2NDM2ZjVhZWMxYzMxM2E2ZDJiYmNkNThhMzg4ZGVwOTIsCisgICAgMHgxLjAwMDAyMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuYTYxNWU1MGE1ZTU0ZTFmMmY3ZTU3YzNmMGZmOTBjNjFwMCwKKyAgICAweDEuMDAwNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmQ5NWQ2MzAxNGNlNWNkY2QxMTNmZWUwYTRiZTY3OTAycDIsCisgICAgMHgxLjAwMjAzOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuNzYyYjYzMDRlMTlmMzUxOGU5MDM0OGI1ZDlkYzU0NGVwMTEsCisgICAgMHgxLjAwMjJwMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLmE2MzZlMDBhMGNkNWI4NTI2Mjc1NmQ1MGI5NWNjYzg4cDAsCisgICAgMHgxLjAwMmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS44Y2E2ZDMwNTg3YWY1MDRhNmY2OWQzYTU3YmYzZTZhOHAxMSwKKyAgICAweDEuMDJwMworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmRmYTJkNzAxZGE5OGExNDgwNjNjM2NhNmQxM2YxYmNlcDkzLAorICAgIDB4MS4wNDVjYjZwNgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjYzNDBlNzAwMDBlMjk2ZTc5MDczNjcwZWY5YzA5MTVkcDEsCisgICAgMHgxLjA1NTMzZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuZWY1OTViMDE4NTQ5NDQyZWM3M2UzZDUxNjE3NjhkMTZwNSwKKyAgICAweDEuMDgwZDc0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS44OWFjZGYyNmY5OTAxMmVjNTI3YzVlOWU3YzQ3MTE3ZnA0NywKKyAgICAweDEuMDgxMGVlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5mMzNiZWYwMDAwM2FiOTNhNDY3Yzk0ZmM5NWRlZWQzMHA1LAorICAgIDB4MS4wODhkNzRwMgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmIwZjM0YWZmZmY5ZGMyNDMwYjMxYzJlYTA0ZjlkZjkwcDk1LAorICAgIDB4MS4wOTdmNmFwNgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjZiNGFlNTUyMjYwNGUxMDI3MzI4M2VmYmY5ZjYyNmM5cDEsCisgICAgMHgxLjBiMGRiYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuMDAwMDExMDAwMDkwODAwMzMyZDU2MmVkNjAyZTM4MjRwMCwKKyAgICAweDEuMTBwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuYjM4MGIwZjZhMTJmYTE5ZGYzOTFmNTAzNGI4YWUzMWJwMCwKKyAgICAweDEuMTAwOWE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuYjVkMjkzZjViZmEyMDQxNjcyMTk5OWM2YmUwM2ExOTVwMCwKKyAgICAweDEuMTJjMWZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuYjY2MDlmZjc4NWEwNDYzMDUzMTM1NGQxOTI0ZjhkMTFwMCwKKyAgICAweDEuMTM2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjc4MjQxYWZmZmZkMWNmOTY3YTllZWM2NjNmNDU2NzdlcDEsCisgICAgMHgxLjEzZjM3YXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuYjc3NjYwZjU4YmNiMWVlMmQ3NTdhOTdmODJjODIyM2RwMCwKKyAgICAweDEuMTRhY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjdiNGQ2ZjA2Y2YwZmJkMWZiYzA1ZDUwOTA4MzUyMDc1cDEsCisgICAgMHgxLjE2MThwMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjI3NjU4MTAwMDJjMmViNDI2NTMwOGFjOGIxMmFmYTNicDAsCisgICAgMHgxLjI1MjcyNnAtMworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLjkyYjBhY2ZmZmYxYzg2NDZkNDA3NTk3NmY2MmRmYmMycDEsCisgICAgMHgxLjI1NjkzZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuZmJkMjI0YzdlMTk3MGJlZDg2OGZhZGM4MDEyYzg1YWVwMTMsCisgICAgMHgxLjM2NDQ4NnAzCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuMDYwMDdkMDAwODQzNDlmOTQ5MTEwNGYyMGM4OWYyZjlwMjgsCisgICAgMHgxLjM2ZTY5NnA0CisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuNWVjMTg0MDAwMDM0MTlhZDM4MTViNDFjNDUzODRkY2NwMCwKKyAgICAweDEuNDI3ODk4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuYjIzZmRhY2ZhM2UwZDlkMjFiMzQyOTgzZTE1OWZlZGNwMTE4LAorICAgIDB4MS40OTQ3N2NwNgorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLmZlYTAwMGUyNDM4MjE0Y2E5MTU1ZDRjOTFiZDI5ZTlhcDExOSwKKyAgICAweDEuNGNiMzJjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5mNjcxNzZjMTlmZWUwYzlhOGQxYzljYmIyZDczYjYxN3AxMjAsCisgICAgMHgxLjRmNjg2YXA2CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZDFjMjQxMDI0ZDg0MWJkNTI5NzJiZTYxODI2MzM3MzNwMTIxLAorICAgIDB4MS41MWUwOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmNkZTJkZDA3MGM3ZGU5Y2I1OGMwY2FlZDkyNzE0NWQ4cDMsCisgICAgMHgxLjU1YjRlMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZjcxMDkwMDljZDM0OTRhZjUyNmMxOGFmMDE5MDU1ZWVwMCwKKyAgICAweDEuNTllMDhlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuZmE3YzI2YzEyYWZiODdiNWIyYjE1MWU2NTRmNmViOTBwMCwKKyAgICAweDEuNWQ1OGFlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuY2YzZDQ2Y2I5OGE1NzE4NzFmNmRlZTFhODA1ODFhNTJwMTI2LAorICAgIDB4MS41ZmI3ZWNwNgorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZkODcxOGYzZDNlZDhmNGE1ZDhkZWM2YWU3MzI3MTU5cDcsCisgICAgMHgxLjYyOTRlMnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmVhZmZlZjNlNzM2YjcxNTY5YTQ3NDA0MjA1NGU4YjdwNywKKyAgICAweDEuNjJiYTIycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5mNzZiYTQ2NzMzZjQxNDZhMGY5NGIzZDEzMTE0OTRiY3AxMjcsCisgICAgMHgxLjYyZDJlMnA2CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZmQ3YjlmMDFiNGRmMDg4NTVmZWIyOTAyMzIzMmZkOTlwMTI3LAorICAgIDB4MS42MmRmMjRwNgorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmNjkxZTZkZDcxYmM4Y2IxZjFmY2ZmY2MzMmNiOTgycDEyNywKKyAgICAweDEuNjJlMzAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5mZmNlMGE5ZTRmYzY3NjJjOTFmMWEwY2UzNThhODQ4N3AxMjcsCisgICAgMHgxLjYyZTNjY3A2CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuZmZmYzAxMDljNDAyZDhiMjNiZmVhM2ExNDgzNTgzMWJwMTUsCisgICAgMHgxLjYyZTNmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZmZmMTA4NjYzMmIwZTliOTNiYzViZTQ0ZDljMWRlYTdwMTI3LAorICAgIDB4MS42MmU0MTJwNgorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmZmZjYwODQ3MDc4NmQ3ZTQ3ZWYxMTY2MmYxNzkwYzJhcDEyNywKKyAgICAweDEuNjJlNDFjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4yMzJiOTZmZmVjMTQ3YmIzMTY5NTU5NTg3OGJhNGY5ZHA0LAorICAgIDB4MS43MzVlNzBwMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjhkMmM5OTAzMTc2NjBlMjFhNjRiYTc3MjNmNWUwZWQzcDgsCisgICAgMHgxLjdmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZWQzNzlmMDI1NzgxZGRjYTI0MGM4MzM3NWVlNDk2YWJwNzAsCisgICAgMHgxLjg5Njg5YXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjM2ODc0MTAwMDBlMmM5Zjg3MzIyMDhjOTc5MTlmYjBlcDAsCisgICAgMHgxLjhiNzZkMHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS4zMTJlNzlmZjUyMmFmNzFiOWUyZTgzN2JmODg3Mjk3MnAyLAorICAgIDB4MS44ZmUwY2FwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS43MDA4ZjEwMDIwMjI2ZTRmNTliNWFmZDhjMTE3YzA5NnA0LAorICAgIDB4MS45MTVhZmNwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5kZTc1ZTkwMjI1ZWM2ZGEyY2ZiMzlkY2E2NDQwYjY4OHA3NSwKKyAgICAweDEuYTRlNDM4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuNzlmMDY1MDA5NWZkNDI2ZGNlOGFhODAzZTlhNGZjOThwOSwKKyAgICAweDEuYTgyZjMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMmUwMmQ2ZmZmZmZlZDk3ZjI3ZGNjMzc0MjQ3MmZmYTRwMSwKKyAgICAweDEuYjc4NDk4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZhMmI2MGZmZmZmZWVhMWM3YmQxYzc4YmI1YzQ2YjE3cDksCisgICAgMHgxLmJhZTE5NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjAwMDczNGZmZmZmZmJhYmE0ODIwYTJiNzlkMjk2ZDYzcDAsCisgICAgMHgxLmNkMzk4MnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZDU0MTU4ZjU0MzRlZGIyYTIzNDM1OWJlZmIyMjA5YmNwMTAsCisgICAgMHgxLmUyNjU3MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjk5ZmIyOTAxNzZlYzAxMGQwNjhjNWY4ODhhMThkODQ3cDg3LAorICAgIDB4MS5lNjMyYWFwNQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5iYzhlNTMwMDAwM2UxMmVhZjBlYTA0YjhjNTA3NjQ3NHAyLAorICAgIDB4MS5mMDJkNjhwMAorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS41NjU2NzJmZmZmZTc4MTY4Y2VhOWVkMWRlZWQyYzQ3MnAxLAorICAgIDB4MS5mN2IwNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuYTY2NGRjZWQ3Y2MzM2VkZTk2NTM5MjcyMmIwZDg3YmZwMjIsCisgICAgMHgxLmY3ZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLmZlOGJmZDM4NzYyNDkwYzdmNjhlODBhNGJkZjNhMTdkcDkwLAorICAgIDB4MS5mODk2YTJwNQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS5jYzI0ZDUwYzE2NTAwMDg0NzU0ZmJkZGM2MGU3Mjc2Y3AyLAorICAgIDB4MS5mOGZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS43MjE1MWM2OWZmMGU5ODUwYjg4Y2JkOWE2MDBmZWE1MHAxMSwKKyAgICAweDEuZmY5MDBlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuM2Q1OWQyZDhiMjJiNDFjMmJiNjMzNGM5YmU3YmU5MDJwOTIsCisgICAgMHgxLmZmZGZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjc0ODc1MzAwMDQyYjk0M2JhMzY4OTk0ZWVjOGRjYjBlcDExLAorICAgIDB4MS5mZmZiZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5kOGU2MDkwY2VmZTgwNDg3OTQ4YzAxZWZlM2NmNGM1YXAyLAorICAgIDB4MS5mZmZmZGNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wMDAwMDBmZmZmZmU3ZmZmZmUyYWFhYWJiNTU1NTcwMnAwLAorICAgIDB4MS5mZmZmZmNwLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjMwNGQxZWQ5NTExYmY1YTZhNWIyMGU0Y2RiZjZkOGZmcDY5LAorICAgIDB4MS43ZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS4zMDRkNmFlY2EyNTRiM2FmNGJjNWQ2MjkzZDVmNjVjN3A2OSwKKyAgICAweDEuODBwNQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS4zMDRkYjcwMDA2OTI0ODY2YmMxODQ1MDk3YzkxZTQ4OHA2OSwKKyAgICAweDEuODAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZjhlNjQ0MTFiNGM3NDI5ZjI2MGNiNzI1Mzk4ODA5MTlwLTc2LAorICAgIC0weDEuYTAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuZjhlNmMyNGI1NTkyZTM0MjFkZjI3YWNmMWUwODAxNDRwLTc2LAorICAgIC0weDEuYTBwNQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5mOGU3NDA4NTE1ZWNmMDA5Y2I1YjdmZTgwMDAzYWU3NHAtNzYsCisgICAgLTB4MS45ZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS41NTc2ZjBkY2FjMjE3ODdmMmQ1N2IxNGE3MDAyMjRlM3AxMTUsCisgICAgMHgxLjNmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjU1Nzc5Yjk4NGYzZWIzYzhhNTAzYjRhOGUyNDg5ZDk4cDExNSwKKyAgICAweDEuNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS41NTc4NDY1NDQ3YjlkNWY4MzI0NmFmMWU0OGU4MjI1YnAxMTUsCisgICAgMHgxLjQwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjA3YjY4ZDUwNWE2MGRkNDQ0YjhiMmJkZmUwNjAzOGNmcC0xMjcsCisgICAgLTB4MS42MDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS4wN2I3MTEyYmMxZmZlMTlkM2U3MDNlNGE3OTRmNzM3MnAtMTI3LAorICAgIC0weDEuNjBwNgorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS4wN2I3OTUwNzZiOGNhYTQxMjMzNGU3ZGRmMThiMDBmNXAtMTI3LAorICAgIC0weDEuNWZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuMDM5OTI0NDI4ZjQ3NTExYzAzZTc1ZGQ2MjNiYzQ3ZTFwNzUsCisgICAgMHgxLjlmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjAzOTk2NTI4ZTA3NGJlYmNmZDc2NDE2ZmMyYzBlYjkycDc1LAorICAgIDB4MS5hMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLjAzOTlhNjBmNDFkYmMyYjA4NTIyMTMxMmY1MDUwODlkcDc1LAorICAgIDB4MS5hMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5hZWJhNGYzNTAyZDgzNzk1MTg4OTc0MDg5MDc0NzYwOXAtNzAsCisgICAgLTB4MS44MDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5hZWJhYmFlM2E0MWI0YmUzZjU3NmU3MDMwM2EzNzkzMnAtNzAsCisgICAgLTB4MS44MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmFlYmIyNjkyNjA0YTBiZTEwY2M5ZjNhMDllNzdhYWUxcC03MCwKKyAgICAtMHgxLjdmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmYxMDQ3NTQ1NDY1Zjk3YWFkNjc3NGRmZTE2Yjk2MGUycDEyNiwKKyAgICAweDEuNWZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuZjEwNTZkYzdiZjIyZDNkZTBlZDU3NjE1YmM1MDFmOGJwMTI2LAorICAgIDB4MS42MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLmYxMDY2NjRhYjQyNzZiODMzOTkzMDUwYzlhYTA5YTk1cDEyNiwKKyAgICAweDEuNjAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuN2ZkOGI0ZTZlODc1YjU5ODhhZWIyZTkwODNjYWY3OTFwLTExNiwKKyAgICAtMHgxLjQwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjdmZDk3NGQzNzJlNDQ4NmY3MjM1OGFjZGQxMjY5MGU1cC0xMTYsCisgICAgLTB4MS40MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjdmZGEzNGMwNWQ0OTM4N2IzODM4YzVjMmJmYWQwMTIzcC0xMTYsCisgICAgLTB4MS4zZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS42YTMyZTE2MDY0NWRjNTM2NGRhOTNjMTIzMjE1YzU5MXAtMTA3LAorICAgIC0weDEuMjc0NzY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuNDJhMjgwYjQ3ZjFlNTBlNzMwN2M5NTk5ZTk0OTc1ZGFwLTEyMSwKKyAgICAtMHgxLjRlOGVkMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjFmNjQ3OWQ2ZTc5ZDkyNDc1OWM3ZjQ0MTYwYWQzMGUzcC0xMzUsCisgICAgLTB4MS43NWQ2MzhwNgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5mZmZmZmZlZmEzOWVmMzlhN2YyNTQ1MzVkOTM1MTQyYnAtMiwKKyAgICAtMHgxLjYyZTQzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS4wMDAwMDBmN2QxY2ZmMTlmMGYzMzAzNmNmMDFjMTIwY3AtMSwKKyAgICAtMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS4wMDAwMDFmN2QxZDE2OTcwZGZjYjM2MGVmYTkxZmVhMHAtMSwKKyAgICAtMHgxLjYyZTQyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS42YTA5ZTY2MjJhZWJmYmQ3YTRhMDM3NzcyMjNjNjA0ZnAtMSwKKyAgICAtMHgxLjYyZTQzMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS42YTA5ZTcxNzJmZGY1YTJlNTc3MWYzODY2YTI1NTE0ZXAtMSwKKyAgICAtMHgxLjYyZTQyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS42YTA5ZTdjYzM0ZDMxMzA3ODQwOTdiOGQ4YTdjOTAwOHAtMSwKKyAgICAtMHgxLjYyZTQyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5hZTg5Zjk5MjNjYmI0OTE4M2FhYmIzM2I5ZGUxYmM4MnAtMSwKKyAgICAtMHgxLjYyZTQzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS5hZTg5ZjlmZGRmMzliYjFiYjk0YmFhMzZjOThhYmI3YnAtMSwKKyAgICAtMHgxLjYyZTQyZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5hZTg5ZmE2OTgxYjg0ODA3ZDc4YjdmMjU5MTA5NTZkZXAtMSwKKyAgICAtMHgxLjYyZTQyY3AtMworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5kNTgxOGRjZGRhMzAxYmNhOTVmYmNjNTMwYWI5YjkzOHAtMSwKKyAgICAtMHgxLjYyZTQzMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5kNTgxOGUwODhhNjFkOTMwZGYxYjA4N2E0YjkyOGVhMHAtMSwKKyAgICAtMHgxLjYyZTQyZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5kNTgxOGU0MzNhOTM5ZGVkMmU3MjY2Y2IxM2QyOTk4NnAtMSwKKyAgICAtMHgxLjYyZTQyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS5lYTRhZmEyOTRlNjBiNGJmYTI0NDk0NjEwZTc1MjYxY3AtMSwKKyAgICAtMHgxLjYyZTQzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS5lYTRhZmE0N2YzMTA1ODQ5YWRjY2ZhMWRkNWIzZjkzZHAtMSwKKyAgICAtMHgxLjYyZTQyZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5lYTRhZmE2Njk3YmZmZGJlMDQ0ZmE3Y2RhZDRiM2VlN3AtMSwKKyAgICAtMHgxLjYyZTQyY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS5mNTA3NjViNjY0M2VmYWEyY2E5ZTY2OTA5MzNlNWMzN3AtMSwKKyAgICAtMHgxLjYyZTQzMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5mNTA3NjVjNjBjN2EyODk0OGQ4MmYzMWE3Mjg4MjMyZnAtMSwKKyAgICAtMHgxLjYyZTQyZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS5mNTA3NjVkNWI0YjU1NzAzOTI0MGYxMjc3MDVjMTFlN3AtMSwKKyAgICAtMHgxLjYyZTQyY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS4wNTliMGQyMTQxODZjZmY5YTk3NGJjYjg4M2NmNjhkZXAwLAorICAgIDB4MS42MmU0MmNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuMDU5YjBkMjk2ZTVmMzkyNDY5MGNlMTA1MzNmZTU5OWJwMCwKKyAgICAweDEuNjJlNDJlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjA1OWIwZDMxOWIzN2EyOTA4ZjY4NGZhZDdiZmI5NGQwcDAsCisgICAgMHgxLjYyZTQzMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS4wYjU1ODZhZWI2OGVhMjRjOTI4MWYyNWI3OWQ4NGY4M3AwLAorICAgIDB4MS42MmU0MmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMGI1NTg2YmY2YmU3MGRiZGE2MmY3MTQ4Y2Q1YTc4OGZwMCwKKyAgICAweDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLjBiNTU4NmQwMjEzZjdhM2EwZjYzYWZhMjA3ZWE3NTg3cDAsCisgICAgMHgxLjYyZTQzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS4xNzJiODM4MzI3YWUxZjlkN2U3MDQxOGE0NzZkYTQ4MHAwLAorICAgIDB4MS42MmU0MmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuMTcyYjgzYTYwZDFlOTIzMGNiM2I1MmNkMTIwMGI4ZGNwMCwKKyAgICAweDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLjE3MmI4M2M4ZjI4ZjA5MjBjNjE0ZmM0NDU2ZGUwNDlmcDAsCisgICAgMHgxLjYyZTQzMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS4zMDZmZTAwZDUyMWM1YjM1YmYzNzM3MzhiMGExMmUxYXAwLAorICAgIDB4MS42MmU0MmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuMzA2ZmUwNTk2ZTE0NjgwZGM1NGYzYTJlYTE1ZTNhZmNwMCwKKyAgICAweDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLjMwNmZlMGE1OGEwYzg3ZWNjOTZjZDQwNWQ4YjU4MmRicDAsCisgICAgMHgxLjYyZTQzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS42YTA5ZTUwM2IyYTdkZDk5Y2Y5NDc0YjExNWE3M2VjZXAwLAorICAgIDB4MS42MmU0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuNmEwOWU1YjhiNzlhOGNiNDYwMmI0MmNkNGM5OWU2MGVwMCwKKyAgICAweDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjZhMDllNjZkYmM4ZDk2NTE2YTMwM2VkMDI4OWM1ZDM2cDAsCisgICAgMHgxLjYyZTQzMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS5mZmZmZmMxMDVjNjRlYzMyOTJmMmFmYWMzZjFhNDMwZHAwLAorICAgIDB4MS42MmU0MmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuZmZmZmZlMTA1YzYxZmM4ZWY2M2M2NWM2NmE5ZDQ5NzFwMCwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjAwMDAwMDA4MmUzMDg2NzVhYmNiM2MyMTVlYWNmODRhcDEsCisgICAgMHgxLjYyZTQzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5mZmZmZjgyMGI4ZDE5Nzc5NjkyZmIwZmNjMDI4MTI0NnAxLAorICAgIDB4MS42MmU0MmNwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mZmZmZmMyMGI4YzVkOGVhZmY0YWMwMTNjZjczNDYzOXAxLAorICAgIDB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS4wMDAwMDAxMDVjNjEwZDJlNDJmNDU5MjI3NjhhOGU2Y3AyLAorICAgIDB4MS42MmU0MzBwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS5mZmZmZjA0MTcxYzIyYjQzYTI4ZDgwODhjMzQ3YmYxZnAzLAorICAgIDB4MS42MmU0MmNwMQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5mZmZmZjg0MTcxOTMzMTBhNDI5YjcxZTcwZDc5MjE4NnAzLAorICAgIDB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS4wMDAwMDAyMGI4YzIxYjY4MzM2MDNlNTE4OTdjNTk4Y3A0LAorICAgIDB4MS42MmU0MzBwMQorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mZmZmZTA4MmU0MDA0N2M4OWRmYTQxZDA5YzFlMWVmOHA3LAorICAgIDB4MS42MmU0MmNwMgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5mZmZmZjA4MmUzNDQ1ZWU1NWIzZmE4NGE1ZGQ4NDljOXA3LAorICAgIDB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS4wMDAwMDA0MTcxODQzYWZmMWM5ZWYxNDM0MWJmYTQyZXA4LAorICAgIDB4MS42MmU0MzBwMgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5mZmZmYzEwNWM5ZjA1NDg3NjBhODIzYjBkZmRhZWI2NnAxNSwKKyAgICAweDEuNjJlNDJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuZmZmZmUxMDVjNzAwYjEwYzNlMmE1NDlmYmRlYmIwZGFwMTUsCisgICAgMHgxLjYyZTQyZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLjAwMDAwMDgyZTMwODg2YjkxMGI5ZDg3NTI4MjgzODlkcDE2LAorICAgIDB4MS42MmU0MzBwMworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5mZmZmODIwYjliOWZiYzZkNWRkYTQwNmFkOWY5MzM1NHAzMSwKKyAgICAweDEuNjJlNDJjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuZmZmZmMyMGI4ZmUxMmYxMDE3NDBhYzk2NTNmNzhmZTNwMzEsCisgICAgMHgxLjYyZTQyZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjAwMDAwMTA1YzYxMTUwNWQ3Zjc0YTQxNDMzMzEyZHAzMiwKKyAgICAweDEuNjJlNDMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuZmZmZTA4MmYyODY4OGQzODcyYWI4YWE2OWYzZGMzNThwMTI3LAorICAgIDB4MS42MmU0MmNwNgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS5mZmZmMDgyZTZjN2ZlZDFkM2ZkNWNmZjdlMWY2MDU5MXAxMjcsCisgICAgMHgxLjYyZTQyZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS42MmU0MzBwNgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDAuMGYsCisgICAgLTB4MS45ZDFkYTJwNgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDAuMGYsCisgICAgLTB4MS45ZDFkYTBwNgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS4wMDAwNzMzZDM3YjFkMDhhODBkN2Y1YjQ1YTU3Yjg4OHAtMTQ5LAorICAgIC0weDEuOWQxZDllcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuOGViZWY5MjM2OGEzZWFmYTUxOTc0MDU4NGMwYmMzYjRwLTEsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuOGViZWY5ZWFjODIwYWU4NjgyYjk3OTNhYzZkMWU3NzJwLTEsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuOGViZWZhNGU3N2RmMzVhZTgyYjU3YWYxMjE1MThjZWZwLTEsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuYzNkNmExZGRlMjc5OTJlMTI5ZWQ3OGE2NTU3M2Y4NzhwLTEsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuYzNkNmEyNGVkODIyMTg3ODdkNjI0ZDNlNWViYTk1ZjVwLTEsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuYzNkNmEyODc1MmY2NjVkYjJlZWExZmE1ODc2Nzk4YTNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZTBmYWJmODA1MGQyNDkxOWQzNTc5NDZmOWU4ODA3NTRwLTEsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZTBmYWJmYmM3MDJhM2NlNWUzMWZlMDYwOTM1OGJhZmRwLTEsCisgICAgLTB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZTBmYWJmZGE3ZmQ2Mzk5ZDYzMjM5MWY5NzcxZjNlODJwLTEsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuZjAzZjU2ODk4NzY4MGY4NDE5ZGU3ZDY2ZDBhNjE5ZWNwLTEsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuZjAzZjU2YTg4YjVkNzkxNGIwMGFiZjk3NzYyNzM1ZDFwLTEsCisgICAgLTB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuZjAzZjU2YjgwZDU4MmU5NzEyZTE1ZGYzY2M5ZThlOWNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuZjgwZmVhYjAyZTdhZjM2NzViMzZlYjZjM2M3MWE1ZWVwLTEsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuZjgwZmVhYmZlZWZhNDkyN2QxMGJkZDU0ZWFkNWFhNDZwLTEsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuZjgwZmVhYzdjZjM5ZjQzNzRkNzQ1ODA4YTc4MTMwZWNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuZmMwM2ZkNGViYTEyNWE0ZDM0NTViZjcyY2JjOTM5ZjdwLTEsCisgICAgLTB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEuZmMwM2ZkNTZhYTIyNGY5N2ZjYmYxMzMyOTg4ODQyZGVwLTEsCisgICAgLTB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuZmMwM2ZkNWFhMjJhNGE0OTQ5MGJhZDEyOGJhNWFmOTNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuZmUwMGZmYTZjM2Y5YmQyMDI5Mjg5N2Y0MmQ3YjlkNzZwLTEsCisgICAgLTB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuZmUwMGZmYWFiZmZiYmM3MWFkMWUxMTg0YWZjMTljN2VwLTEsCisgICAgLTB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuZmUwMGZmYWNiZGZjYmMxZDZjMWE0ZGNjMTFkZGI2ZDhwLTEsCisgICAgLTB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuZmYwMDNmZjM1N2FhNDg5NzA5NTdhMmNmN2Q3YTZjYWNwLTEsCisgICAgLTB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZmYwMDNmZjU1NmFhODg4YjYwODIwYjYwODdkMWU5MWFwLTEsCisgICAgLTB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEuZmYwMDNmZjY1NjJhYTg4NjRiYjc1N2E0ZWQ4ZDk2ODZwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmZmODAwZmZkYWFmZmY2ZWZlNGRmM2Y3ZjVjZTIzYWNjcC0xLAorICAgIC0weDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5mZjgwMGZmZWFhYmZmZWVlZmE0ZjNjZjcwZjU5ZDliZnAtMSwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuZmY4MDBmZmYyYWEwMDJlZWI0ZmIzZDMyYzQ5OGE4ZmZwLTEsCisgICAgLTB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLmZmZjAwMDNmZGY1NjU2YTZhOTkzMmRmNjI4M2NmY2JkcC0xLAorICAgIC0weDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZmYwMDAzZmZmNTU1NmFhYTg4ODhiNjBiMmNiMmZmMnAtMSwKKyAgICAtMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEuZmZmMDAwNDAwZjU0ZDZhY2E4YzMzNDE2MTAxMDA5OWVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLjQ4YjVlMzcxYmE5ZjdmYzIyNGM3NWQxOThmZTRjZDFicDAsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS40OGI1ZTNjM2U4MTg2Njc2N2JjM2I2OWJhYWJlNTM0ZXAwLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuNDhiNWU0Njg0MzBhNzE4MTQ0NzY0N2ZjMDNhZGJmYjZwMCwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLjIyMTYwNDM3MmM5YzQ2NzMyZGQ3MmU5OTZjOWUyM2YycDAsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS4yMjE2MDQ1YjZmNWNjZjljZWQ2ODgzODRlMDZiOGQ0MnAwLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuMjIxNjA0YTNmNGRkZWY4OTc0YzAwNzlmMjNmZDBiYjlwMCwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLjEwODJiNTY2Y2IyMzgwZTBiZTBkNTU5YTAxNTAxNzJmcDAsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS4xMDgyYjU3N2QzNGVkN2Q1YjFhMDE5ZTIyNWM5YTk1MXAwLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuMTA4MmI1OTllM2E1ODhmMTIwZTYxYWY0ODY5Yzk4NDJwMCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjA4MjA1NWY4ZDE3YzE5YTY3YmU0ZjcwNThlOWE1NzBhcDAsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS4wODIwNTYwMTEyN2VjOThlMGJkMDgzYWJhODBjOTdhNnAwLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuMDgyMDU2MTE5NDg0MmEyMzQzZTgxZmQ1ZmFiNDUxZWZwMCwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjA0MDgwYWIxNGRjMzY2YWQ2MTE2YzM5ZTNjMmQwYTllcDAsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS4wNDA4MGFiNTVkZTM5MTdhYjg2NGIzZTkwNDRlNmI0NXAwLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuMDQwODBhYmQ3ZTIzZTc0NjI4ODI5NmMxMzEzZjIxYjFwMCwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjAyMDIwMTUzZmM0MDU4NjIzNWRlY2Y0ZWI3MjdhMTVmcDAsCisgICAgMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4wMjAyMDE1NjAwNDQ1YjBjMzI2MzgyYmM3MzY4OWQzMnAwLAorICAgIDB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuMDIwMjAxNWEwODRjNjA2YzQzODRmOWE3ZmYyZWU0MjVwMCwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjAxMDA4MDI5YjQ1NmY3YTg1NTUzMGIxNTEwNTVmY2NjcDAsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS4wMTAwODAyYWI1NTc3N2QyOGEyYTQyZDI2YWE5ZWU2N3AwLAorICAgIDB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuMDEwMDgwMmNiNzU4NzgyOWY2ZGEzMmNlNDA1OGI5NDBwMCwKKyAgICAweDEuMDAwMDAycC04CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjAwODAyMDA0ZDVjMDAxMGZmMjUxZDEzNGQ5YmJkZjhjcDAsCisgICAgMHgxLmZmZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMDA4MDIwMDU1NjAwMTExMjdkNDFkNWJkNzJmNGM4ZjNwMCwKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjAwODAyMDA2NTY4MDMxMTg1MzgxZjZkMmM1ZjZhYzkwcDAsCisgICAgMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4wMDQwMDgwMDZhYTU1M2RkYzBlMzE3YjBmYTU5YjFjNHAwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjAwNDAwODAwYWFiNTU1ZGRlMzhlNmNlODZlOTI3N2FhcDAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuMDA0MDA4MDEyYWQ1NTlkZTU4ZjExOGQ3N2IwNzAzYWZwMCwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS4wMDA4MDAxZmY4NTUxNWZmMDEyZTY4Y2QyZDY5YzU4OHAwLAorICAgIDB4MS5mZmZmZmVwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjAwMDgwMDIwMDA1NTU2MDAwMTExMTI3ZDI5NzI5OGM5cDAsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuMDAwODAwMjAxMDU1ZDYwMjAxOTY2YmRkMzk4NjdmNWNwMCwKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS45NjljN2JlM2FkODc0YzA2Nzg3YWJhOTU1ZDIwNmQ4M3AtOTMsCisgICAgLTB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS45NjlkNDczMjFlNGNiYWJmMmQyODA3MDk2M2IwNDE5NHAtOTMsCisgICAgLTB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS45NjlkYWNkOTdjY2UyZDliMDA1ZmY1NzZiN2EwYmI0ZnAtOTMsCisgICAgLTB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5jODQ1ZGQ2NDkwYWIyZDljN2IwY2ZlYzljNTAwODQ4M3AtNDcsCisgICAgLTB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5jODQ2NGY3NjE2NDY4MWUyOTlhMDEyNDQ4Nzg4NGQ2NHAtNDcsCisgICAgLTB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5jODQ2ODg3ZWUzYzVkMTcwNWJlNjE3MmQxMTc4NzBhMHAtNDcsCisgICAgLTB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5lMzU1N2Y0NDM0YWQ3YmU5ZTA2YzI5OTY2ZjU2ZTYyYnAtMjQsCisgICAgLTB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5lMzU1YmJhZWU4NWNhZGE2NWY3M2YzMmU4OGZiM2NjNnAtMjQsCisgICAgLTB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS5lMzU1ZDllNDQ1MDk0NzBmMGFhNzNhYzdlZjEyMTQ4ZnAtMjQsCisgICAgLTB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS41ZmMxZmE0NGUyMjY5YzljOTcwNjQ2OWMyMGI5M2U5NXAtMTIsCisgICAgLTB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS41ZmMyMTA0MTAyN2FjYmJmY2Q0Njc4MGZlZTcxZWFkMnAtMTIsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS41ZmMyMWIzZjEzMjhjYzE2MjEwNTc2ZDNjNzBiZjk4YnAtMTIsCisgICAgLTB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS4yYzE1NTIyMTY5MThiOThiMWNlZjdiMDRmNzEwZTM2Y3AtNiwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjJjMTU1YjgyMTNjZjQ3N2U4YWYwMTMyYzJhZTIzZDRhcC02LAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuMmMxNTYwMzI2OTQ2YjA3OGIwOWY4ZmFlYmUyZmMyODdwLTYsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4xNTJhYTVlNzRkN2M3MzcyOGFkYTA2NjNmMjI0YTM4MXAtMywKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjE1MmFhYTNiZjgxY2I5ZmRiNzZlYWUxMmQwMjk1NzFmcC0zLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMTUyYWFjNjY0ZDczNWM0MzQ2Y2MyN2Y0MmEzZDgzYjFwLTMsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS43OGI1NjA3MTY0MmZhODM3Yzk1MTllZWMxMGE3ZjkzN3AtMiwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLjc4YjU2MzYyY2VmMzdjNmFlYjdiMWUwYTQxNTNlNDM3cC0yLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuNzhiNTY0ZGI4NDU3OWI5NDkwZTdiOTU1NzAyNmM2NDdwLTIsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuNDI1OTMyMzkwMmRiYzZlNjJlM2UwN2NlMjZjZDkwNGNwOTIsCisgICAgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjQyNTk4MmNmNTk3Y2QyMDVjZTNkNWI0ZWRiMDMxNzU2cDkyLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS40MjVhMjNmYzQzMmZiNWQ1NTYwMDZhNGQ4ZTdlZTExYnA5MiwKKyAgICAweDEuMDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuMWY0M2Q4ZGMzOTA4YjhlZDg3YTVhYmQ1MDYyMTcwNmFwNDYsCisgICAgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjFmNDNmY2M0YjY2MmM3ZDg0Nzg4NDAxODQyMTc0MDc0cDQ2LAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS4xZjQ0NDQ5NWJlOGUxNjE2YTFlNWUzODg3NzliYzE0NnA0NiwKKyAgICAweDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuMGYyZWFjMTc5NGI4ZjNlZGI1YzEwZDI2YTUxZjQyMGZwMjMsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjBmMmViZDBhODAwMjA0OTIyM2YxNzA4ODJiNWVlNWVmcDIzLAorICAgIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS4wZjJlZGVmMDU5YzFiMjIzMTJiZWQ5NjQwMDZlZTYzM3AyMywKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuNzQ5ZTljMmY3YmI2Y2Y1YTI3NmVlMDgyMzZjMmQ2YzNwMTEsCisgICAgMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLjc0OWVhN2Q0NzBjNmRmMGJlMDBlMDg0YTgxNWQxZGU2cDExLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS43NDllYmYxZTViZmU3NTcwMTlkZTRlMjJiMTEzZmRlOXAxMSwKKyAgICAweDEuMDAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuYjRjOGZjMGY0ZmE3YTJmMjQ1OWE2ZWY1M2MzMTVmMGZwNSwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuYjRjOTAyZTI3M2E1ODY3OGQ2ZDNiZmRiOTNkYjk2ZDBwNSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuYjRjOTEwODhiYmYzMzMzNmYwZWU1MmIxYWQ4NThlNDNwNSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuZDhlNjQ3ZGI4MTQ3NzNmNDE5MjYyZWU0NzdhOTg2MTZwMiwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuZDhlNjRiOGQ0ZGRhZGNjMzNhM2JhMjA2YjY4YWJiYThwMiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuZDhlNjUyZjBlNzE3ZDkyZDE1Y2Q2MTAwMjJhZTUxZTNwMiwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuNWJmMGE3NTU1NGNlOTFlODNkNDIxYzJhN2MwNzVjYjJwMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLjViZjBhOGIxNDU3Njk1MzU1ZmI4YWM0MDRlN2E3OWUzcDEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLjViZjBhYjY5MjZjYWFmYTFhMDE1OGQ3OTY5M2FjOGUxcDEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMTI0CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS45OTk5OWFwMTI0CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS4xOTk5OWFwMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS42NjY2NjhwMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5iMzMzMzRwMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS43MjQwNDkwYTE2NTYyMGQ5YjkyMmFhYTIyYThlNGMwOXA0LAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS4zM2RlZGQ2NzIwODRjY2E2MTJhYWIyYjlhM2U4MTdiYnAyLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS41YmYwYWI2OTI2Y2FhZmExYTAxNThkNzk2OTNhYzhlMXAxLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS41YmYwYThiMTQ1NzY5NTM1NWZiOGFjNDA0ZTdhNzllM3AxLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS41YmYwYTc1NTU0Y2U5MWU4M2Q0MjFjMmE3YzA3NWNiMnAxLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuMThiZDY2ZmI2MmIzMTkwMGNjMDc2MzRkZWJhNDM0NTZwMSwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0cDAsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0cDAsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcDAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcDAsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEucDAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS5wMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjdwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS5kMmUxNzEyM2QyYWUwMmFiYmNmODk2ZjIwMjVlMzQ2M3AtMiwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS43OGI1NjRkYjg0NTc5Yjk0OTBlN2I5NTU3MDI2YzY0N3AtMiwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS43OGI1NjM2MmNlZjM3YzZhZWI3YjFlMGE0MTUzZTQzN3AtMiwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLjc4YjU2MDcxNjQyZmE4MzdjOTUxOWVlYzEwYTdmOTM3cC0yLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAweDEuYTliY2MzMzczZWZkM2U0ZDZhOTZiZTdhNzU2MmY0MjhwLTMsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS42MjAyMjVhZTVlOTM0OTU5M2Q2YmI2MThjMjMxNTQ1ZXAtNSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLmZmZmYwODJlNmM3ZmVkMWQzZmQ1Y2ZmN2UxZjYwNTkxcDEyNywKKyAgICAweDEuNjJlNDJlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjYyZTQzMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLjAwMDA0YmY5NGY2M2UzZmE2ODYyMjIxNDhmMTI5M2M0cC0xMjYsCisgICAgLTB4MS41ZDU4OWVwNgorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS5mZmZmOTdmMjkyY2U4MGU0OTQyMzFjNjQ5NmU5Y2JmNXAtMTI3LAorICAgIC0weDEuNWQ1OGEwcDYKKyAgfSwKK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZXhwbTFfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2V4cG0xX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTkwYzhkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2V4cG0xX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE1NzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19leHBtMV9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEuZmZmZmZmZmZmZjAwMDAwMDAwMDA1NTU1NTU1NTU1NDBwLTQxLAorICAgIC0weDEuMHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS5mZTAxNTRhYWVlZDg3MzgyMjAyMTNiZjgwNWM5YTAxN3AtOCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS5mZmZmZmZmZmZmYTAwMDAwMDAwMDA1NTU1NTU1NTU1NnAtNDIsCisgICAgLTB4MS4wMDAwMDAwMDAwMXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS5mZTAxNTRhYWVmNTcxNTQwYjY0Yjg0ODVjYzgyOGYwNHAtOCwKKyAgICAtMHgxLjAwMDAwMDAwMDAzZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS40M2E1NGU0ZWIwMTE5ODAwYjViOGYzNWUyYjRlN2U4MXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuYmFjZjRjOTI1MzczNjk2ZmQyMWYyNGFlODkzNTRhMzJwLTEsCisgICAgLTB4MS4wMDNwMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAtMHgxLmZjYzI1NTZlODUzNDMwMGU2M2MxMmY4YTVhMTEwNmI2cC03LAorICAgIC0weDEuMDA2cC02CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuYmRhZWVhMjA3NDQ5NTY2MzZlMmU4ODhmYzE4MDk2NTFwLTEsCisgICAgLTB4MS4wNTlkZWYyYjJmMmM0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgLTB4MS4wN2ZmZmZmZmZmNzdlMDAwMDAwMDJlY2FmZmZmZmZmM3AtNDAsCisgICAgLTB4MS4wODBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLjFiMTllNWU5MGU2NTM4MDAyZWM0ZTlmNjNjMTkyN2E5cC0zLAorICAgIC0weDEuMzBhZTgwNjg3Y2Q1N3AtMworICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgLTB4MS5kMjNjODNlNWM5MjNhOGQ3NTBiMjM3NDJhZDVkMmQzZHAtMSwKKyAgICAtMHgxLjM1MTk1MzBhODYzZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS4zNDUzM2NmNDQ3NDRjN2Y3ZGZlMjRjYzgxY2U5M2E1ZXAtNCwKKyAgICAtMHgxLjQwOGMwYTQzY2Q5N2NwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEuNzljNmNhYTllNDlhZjQ0NjNjZWUzZDUyNmE4ZTE3NjJwLTEsCisgICAgLTB4MS41NmJjY2Y5YzA4Zjk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEuN2RlODk4YmI0YTE4MTQ0NDlmYzliZjVhNzg3ZjJjZTNwLTEsCisgICAgLTB4MS41ZWJlMDhjZTU5NDQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEuZmRlODU2YjRhNmIwZDdmYzM2MGE5NjU3Mjk0NGE1ZWRwLTEsCisgICAgLTB4MS41ZmZmZmZmZmZmZjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEuN2Y2MzcyNzZkYjM3YWI4YjRmOGFmMzhhZDYyYWZkYjNwLTEsCisgICAgLTB4MS42MWFiZDNiYjYzOGZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuN2ZkMzg1ODgxODYzMGFkOWFmZDExNzk4NDhlZTJlZmZwLTEsCisgICAgLTB4MS42MjhiNGE3MGU4NTg2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MmVwOQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS43ODViMThmNTI3NWQ2NGEzZjVmZGE5ZWY3MzlkODBiNXAtOCwKKyAgICAtMHgxLjc5NzBjZjIyNjViOWFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIC0weDEuOGI5Mjg3MGZhMmI1OTdmZTliMDJjMjVlOWFkOGEzY2VwLTQsCisgICAgLTB4MS5hcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLmI1N2FiZTliYTg2ZDU2ZTI2OTYyYzU1MjVmMTM0N2E3cC04LAorICAgIC0weDEuYjZmMjM4YzJhMDQwYXAtOAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS5iNTdhYmU5YmE4ODg5N2ZmMTE5NGY2NzNiMTJlMjI1OHAtOCwKKyAgICAtMHgxLmI2ZjIzOGMyYTA1YzFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuYjU3YWJlOWJhODg5MTcyNDU0MzVhODlmNmNjMjU5N2VwLTgsCisgICAgLTB4MS5iNmYyMzhjMmEwNWM5cC04CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAtMHgxLmI3NmY1NjUxZDE5YzI2Zjg5NTZiOTljZjYxZjNmMmVmcC02LAorICAgIC0weDEuYmQ2ZjdiZmE3ODk1ZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS5iNzZmNTY1MWQzYmM2NzEwYjAyMjliZTNmOTYwNzA4OXAtNiwKKyAgICAtMHgxLmJkNmY3YmZhN2FjNTJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEuYTc4YzJiN2FlMjE2NjlmMGYzY2QzN2MxMDUyODI2N2VwLTEsCisgICAgLTB4MS5jMThwMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS4yYjhkZWQzMTMyZDYxZmZmZjQ5NTQ4YjZlYzZlYzhjNnAtMSwKKyAgICAtMHgxLmMyNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS5hYzZiMTU4ZDk1M2RlOTk0MjUyMDY0ODNiZGNkMmIyOHAtMSwKKyAgICAtMHgxLmRwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5mZmVmZmZmZmZmZmZlODAwN2ZmZTAwMDAwMDk1NGY1NXAtNTQsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcC01NAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5iYWI1MjE3OGVlOTA4OWNmMDkwMjYxZWM4NTE2MWI0NHAtMSwKKyAgICAtMHgxLmZmZmYzZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5mNjlmNTUyM2VmNDdhODAwYzM2NzA0OTk0ZGU2YmY3Y3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmU5ZWZwMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5mZTAxNTRhYWVlOThiMzgxZjVhMTIyNjFkOGNmMDM1MnAtOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZjcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLjkyZTlhMDcyMGQzMDI3ZjYwZjU3OGEyY2QzMGQxMDRlcC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmU3ZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS5iYWI1NTU3MTAxZjhjOGQ3M2NkMjc0YmE2NTliMjcyN3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjAwMDAwMDAwMDA4MDAwMDAwMDAwMmFhYWFhYWFhYWI1cC00MCwKKyAgICAweDEuMHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDJhYWFhYXAtNTIsCisgICAgMHgxLjBwLTUyCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuOTQ3NjUwNGJhODg1NzU4YWE1ZmE3NTQ1ZTEwZThlNDZwNzM4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS4wZjJlYmIyYzY1ZDlhODAwODFhYzJlNjVlODAyNWFiMXAyMywKKyAgICAweDEuMDAwMDAwMDIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5lNTIwOGM4ZWJiNjA3YWQ3NjdjMWFkYjJhZTk2MTZmNHA3MzksCisgICAgMHgxLjAwN3A5CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuMDQwMDAwMDAwMDg0MDgwMDAwMDAyY2IyYjU1NTU1NjBwLTQwLAorICAgIDB4MS4wNDBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuYzYxZTgxMDhjYjNiMTAwZjRhOTY0MWZlNGI1OWQ1YTJwMCwKKyAgICAweDEuMDUyZjc0MmJiNTNkNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuMDY0NjZmOTdiNDI2ZDAwMDAwMGE5MDU2MDJkN2ZiNjlwLTEwLAorICAgIDB4MS4wNjI0ZGVjYWQ4NWQ5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjY1NTkxYTNhN2I5ZmFiZTg5MWMyZWE1ZjQ3YTZiYjk2cC0xLAorICAgIDB4MS4wZjBmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuNjZmMGZiOTAxZjJiZDQ1ZDk5YzNhZTBjNTUwNmFkN2ZwLTEsCisgICAgMHgxLjFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS4yNmJlYWNlZjg0ZGRhODAwZWU4N2Q5MWQ4OGMxOTlhN3AtNiwKKyAgICAweDEuMjQycC02CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuMTFmNjI3MGQyNWJlNzAwZWY3YzM0ZDAyYTI5OTc0ZjFwNTMsCisgICAgMHgxLjI2NmZkN2NkZGZmNDJwNQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjJkMjYyMTYxMzlkODEwMDZiY2Q1Yzg3NmNhNjAwYTM4cDUzLAorICAgIDB4MS4yNzMxOWU4MThjMjMwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS40ZDEzZmJiMWEwMDE5Mjc4NWRmMjcyNTdmMDYwZTY4M3A1MywKKyAgICAweDEuMjgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS42MGM5YjUzNmUzM2JhZmVmYzYyYmNhOTZmODg0YTIyZXA1MywKKyAgICAweDEuMjg3NWJkNmRhYjYzMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuODI0NGY3MzhhYjk4NmZjYjAyMjM3NDI0MGQ4NjA1Y2FwNTMsCisgICAgMHgxLjI5MmY2ZDhkMzA2YzNwNQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLmY0YjFlY2Q1MDg1MDRmZGJlOTY2Mjk5ODBkNDhhMDIwcDUzLAorICAgIDB4MS4yYjQyY2U2ZTU4NGVicDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS44OGExMjJkMjM0YjM5NGI4ODY5NmFkYTdmN2MxMWEwYXA4NjUsCisgICAgMHgxLjJjMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuNjY0MTYzMzcwM2VhMjgwMDAwMTA5OTViYjdjNGIyMWRwLTIsCisgICAgMHgxLjMzMzMzMzQyMDIyYTdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS4wNGRhZGVlMjhjMTFjODAwZmI5MDk0NDM1YzFkZTcyN3A3LAorICAgIDB4MS4zODM4OWM0OGIwZmNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS4wMDc4NDhiYWVkOGIzN2MzZTZjYzNiZmIxYTEwMTY0NHA1OCwKKyAgICAweDEuNDFhMjhjZDUzOTVjMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuMGM3MTkyMjlmYjA0YjdjMjFlYzNlMGQ3ZjJhZWQ5MThwNTgsCisgICAgMHgxLjQyMDAwMDAwMDQwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4xMDkyNDYwMDMwNzQ0N2MxMzlkOWJiMmY4MmZmOWEyN3A1OCwKKyAgICAweDEuNDIxZjQwNjZjZjJmY3A1CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuMzFkMjE1ZDM2YjFjYzdjMDIzZGFjYzBlZGZhNzFiZWJwNTgsCisgICAgMHgxLjQzMGFmOTBjMTdlMzZwNQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjM3OTU1M2IxOWRmMjA3YzAxNTY1ZTVmMTZkNDg1ZDRkcDU4LAorICAgIDB4MS40MzMxMzQ2Y2E2Y2U3cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS4zNzk1NTNiNDk4ZGE1N2MwMGZlYzBhNTcxZGQ0OGE2ZnA1OCwKKyAgICAweDEuNDMzMTM0NmNiYTY0ZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuNGJjMmZkY2UxNTYxMTdiZjVhNDk4MDVkZDQxOWMwNzJwNTgsCisgICAgMHgxLjQzYjFiNzkzNTFmNGVwNQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmNmMzkyMDc2YTFiZGQ3YmYwZDUzZTY0ZWZlYzEwMDUzcDU4LAorICAgIDB4MS40NjVkNTJiOGIwNTk2cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5kZjgwMjhkMDhkN2JmN2MwMWEwNjZjMGJjYTUzOWU1YXA1OCwKKyAgICAweDEuNDZhNDBkYWU5MDY3MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuZWE1Nzk4OGU5NGM4MTdiZjhmNTJmODRlZDNkZjg4YjBwNTgsCisgICAgMHgxLjQ2ZDFkN2Q5ZThhOThwNQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmNiNDE5YjkyNzliMzU3NjNkMTEzZTZjNWRiNzlkYzU0cDk0MywKKyAgICAweDEuNDcxYzcxYzcxYzcxY3A5CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuZjEzNDUzNTVkNzhiYTRiZjdiM2ZkMWUzZWNiZjdkZmRwOTQ4LAorICAgIDB4MS40OGUyMzg4ZTIzOTFjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS41NWFiODM2NDk1YWJlODAwMDA1Y2E2ZDIwMDk1MjQzM3AxLAorICAgIDB4MS40Y2NjY2NjZThjZTk3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS42YTc3YzI0NzhiZGIxNTBiYmM4ZWE3NTZiYmI4NTcwYnA5NzAsCisgICAgMHgxLjUwNTlhYWJmZTU3NjVwOQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLmUxYWZjMWYxNTEyYjc0MjhkM2QyOGM1ODZkY2Q3ZGEwcDk3NCwKKyAgICAweDEuNTFlMGY0YzcwZWNkYXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuNWIxYmFjNTI2NTViZjAxNWQwYzA4OTczNTJjZmYwNzRwLTgsCisgICAgMHgxLjVhMzEyZTJkNTQ2OWVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS41ZDk4YThiMWM1YjhhMDQzZjg3MmRjZTQxNTViYTAyZHAtOCwKKyAgICAweDEuNWNhYWNjNWE4NWNhZHAtOAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmYyYTNjMjlmYzZkNzIzYTYzZTM0OWJiY2Q3ODk0YThhcDEwMDgsCisgICAgMHgxLjVkYWRmNWQxZTQ1MmNwOQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjYyNGNhMWFjZTNmMTU5NzNhNDYzYjUzOWM3OWEyOWZkcC04LAorICAgIDB4MS42MTU4NTZmNTkwNDU2cC04CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuNjI0Y2ExYWNlNjEzYTk3OTBjMGUwZmNmZjkyNGJiN2ZwLTgsCisgICAgMHgxLjYxNTg1NmY1OTI2NGNwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5mZmZmZmZmZmZjNzJhMWIwZTI2NjY3NzIyMDcwMjM3MXAxMDIzLAorICAgIDB4MS42MmU0MmZlZmEzOWUxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS42NmJiNmY4OThjNmI1ZmI1ZDg0NmRlMTdiZTM2NmFkMHAtOCwKKyAgICAweDEuNjVjMTAwZmZhYzNmZHAtOAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjAzODU0YzI3MzdiOGQ3ZmZmZmE1OTQ0ZWNjNTg0NDc5cDAsCisgICAgMHgxLjY2NjY2NjY4YzhiYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5hZDQ0NWY5NDlmYTdkMzQ0OTZlODMxNzRlMjc4NmIwN3AtMiwKKyAgICAweDEuNjY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuNjdhZDk0NWYyZjFkOWZlMmI2NmRjMDYyZGI3OTk2ZWZwLTgsCisgICAgMHgxLjY2YjFkM2VjMjA1NGZwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5hZTM1ZjA3ZjU1Yjg3MmRlNDcwNzc0NGMwYTI2YWU5MHAtMiwKKyAgICAweDEuNjcyYTI4Mjk1ZTljOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjc4YTRhZjZiMzM3NDhmZTJjYjA1ZGQ2YTRiZmE3MDU2cC04LAorICAgIDB4MS43NzkwYWJlZDQ4ZjVhcC04CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuN2JjYWUyZmEzYThjYzhjY2U5NTMzNmY3MDYyNzllNWFwLTgsCisgICAgMHgxLjdhYjIzZjNhMjY4MDdwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS43Y2U1MjdhZGRlMGI4OGQwNmVjYmExOTVjN2IwYWE0Y3AtOCwKKyAgICAweDEuN2JjYWUyZmEzYWRiZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjdjZTUyN2FkZTBmNWQ4ZDA5ZmNkOTc2NGM4MmQxMjc0cC04LAorICAgIDB4MS43YmNhZTJmYTNkYzFlcC04CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuN2UwMTEwZjhiMGU2NzhkNGE4NTg2NDcyYWU3YmMxZDJwLTgsCisgICAgMHgxLjdjZTUyN2FkZTI1YjRwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS43ZjFlYTI4OTI1YTYzOGRjMGRiNGZiZjA5MWI5MGIwOXAtOCwKKyAgICAweDEuN2UwMTEwZjhiMGM4Y3AtOAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjgwM2RlMDE4YzQxMTI4ZGUwN2MzYWFmOGNkNzlkNDVjcC04LAorICAgIDB4MS43ZjFlYTI4OTI2NjUxcC04CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmUzMTE1MmI3ZWY2YjFlMGE4YjlmZWM3ZWNkZDg1YTRwNTUzLAorICAgIDB4MS44cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5kMzhjODk4NTQxY2Y5NTU0NGRiNDVmZmM3ZTQ2ZmQxNnAtMiwKKyAgICAweDEuODEycC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuODUyN2ExZWNkYmVjMjgwMDA1MDBmMmVmODEwNjVlNjVwLTcsCisgICAgMHgxLjgyZGNiNGU1MmNhYjFwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS44ZmU1ZTYxYTgzY2FkN2ZjZWU3OGFhMjc0ZThkYzY1NHAtOSwKKyAgICAweDEuOGY0YTBiOWZmN2VkMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmU5MzA2ZDY3MTU1MGI3ZmNlNTJmZTM4NGUyMzZlZDUxcC0yLAorICAgIDB4MS44ZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5hZWM3YjM1YzhjMjA5ZmZmZmZlNzZkNGFjMTQ4Y2E3YXAtNCwKKyAgICAweDEuOTk5OTk5OWJlNmViZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmM1NmVjZjNkZGVhNzQ3ZmZmZmExY2ZjZDkyNjZmMzg0cC0zLAorICAgIDB4MS45OTk5OTlhN2Y0NWY5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZjdhMGU0ZDUwNjdlZmZmZmZmYzJiZjBkMDM4Nzc3MjJwLTIsCisgICAgMHgxLjk5OTk5OWE4NjdmMTdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mN2EwZTRkOGFmN2M0ODAwMDAzMjVjOTg2NmQzZjY2NnAtMiwKKyAgICAweDEuOTk5OTk5YWFkYzA2YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmZjOGVjYWJlMTU2YTkyZjkyY2NkOTVmNzQyZDVmNzBmcC0yLAorICAgIDB4MS45Y2U2MWQzMDYxNTQ0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmM4MDgyYThlMzAyMjg4MDAwMmUzOWZhOTM3ODZiMGNlcC00LAorICAgIDB4MS5iMDYyYTJkZjFkZTk4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmI1ZTFmMGYwYzFkNzk4YTViMTY5Y2IxOTFjZDBjNjIxcC04LAorICAgIDB4MS5iNDZkMWI0NmU1Y2NlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmI1ZTlmYTk5MTllZGQ4YmFmZGVjMDM0NThkZjQ5YzExcC04LAorICAgIDB4MS5iNDc1MTc0NmU1Y2NkcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmI1ZTlmYTk5MTllZGU4ZDY1YzhiYWNkNzJjZDJhODljcC04LAorICAgIDB4MS5iNDc1MTc0NmU1Y2NlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmI3NTk0NTY1YTRiNDI4YjQ3MzRlMmM5YjQzYmVjNjEycC04LAorICAgIDB4MS5iNWUxZjBmMGFmNjc3cC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmNmN2ZjZTM5MzFjNWU3ZmZlNDA2YjA4ZGM0NzdmOTFicC04LAorICAgIDB4MS5jZGRlMmUzZDcwYzZkcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmNmNDRiNTM2Mjc3NTQ4MDk5MGQyMTkzZmRhYzJhNmMycC05LAorICAgIDB4MS5jZTczOWNlNzM1Y2UycC05CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLjgyNjBkYWUwZjE4ODUzZmY5ZWRhZjQ0YjI3YmExN2IycDAsCisgICAgMHgxLmQ3MGEzZDcwYTNkNzFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuZGVjNWM1OTRhNDFiYjcyZjNhYjZhNjM5MjdmOGU4MGRwLTgsCisgICAgMHgxLmRkMDgzZDI5MDhhODFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZTA4NjkwYzNmYjc3NTcxZTQ5NTM3ZDRkNWY2OWFhZjJwLTgsCisgICAgMHgxLmRlYzVjNTk0ZWNmYmNwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZTZmOGRhOTI5NTRjZTgwYjY2MDE1N2QzYWU5ZjRlNzBwLTksCisgICAgMHgxLmU2MTFkNzhkY2Y5NDZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuOTVlNzg0YmE2MjgwNzNmZjc3ZDJmN2VkNGQ2MjAxYmNwMCwKKyAgICAweDEuZTY1ZjAzNjI3MjIzOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5lN2Q4NzUzMjcxZTdhODAzNTliZDM0YWMwNWQ2ODdmNXAtOSwKKyAgICAweDEuZTZmMDllMWE0ODM1MXAtOQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS45OGRmNWMyMTM0MjdmNDA4NGY3N2Q2MTVmMzU0NGM1NnAwLAorICAgIDB4MS5lOGE5NzRjNWQzOWY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjlmNWI4YmVjNTgyZTRiNTliYjY5OGRiZDI1NzZlZDQ0cDAsCisgICAgMHgxLmVkYTFiOWI1ZGZmNThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuZjFiZTEyZjhmMjBjZjg3NmJjY2I5ZTQ3ZTNlYjMwYjhwLTcsCisgICAgMHgxLmVlMHAtNworICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS5mMTVjOTUwYWFkZDMxNzhlNGU4ZDQ4ODY5MTMwNzI3NHAtOCwKKyAgICAweDEuZWY3YmRlZjdiZGVmMnAtOAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5mNDY0N2NlN2ZkZWZjODA0MTViYjhjNzQ3YmVkNDk4ZXAtOSwKKyAgICAweDEuZjM3MDk1OTliZDBhMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5mYmZjODFjMDA2MmEyODBiYzNkYjhhMzkxODAxMGI2YXAtOSwKKyAgICAweDEuZmIwMTI3NmFkNTM4YnAtOQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS40MjMxMTc4YzIzNDhmNWY3N2VlZGIyN2RjNDA0ZjYxNnA3MzQsCisgICAgMHgxLmZjZmZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS43NDIxOGJjZTc4OGViNDY3NDZiMzhiNTc4NzU5ZWNjMHAxMSwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjAwMDAwMDAwMDA5ZmY3ZmZmZmZmZWE5YWFhYWFhYTYzcC0zOSwKKyAgICAweDEuZmZmZmZmZmZmZjNmZnAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmVhYWFhYWFwLTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC01MQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5mZmZmZmZmZmZmZmZlN2ZmZmZmZmZmZmZmZjE1NTU1NXAtNTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjAwMDAwMDAwMDA3ZmY4MDAwMDAwMmFhMmFhYWFhYWI1cC00MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMzA0ZDZhZWNhMjUyNTMxNDZkZWM5MTgyMzY5YmE0MTVwNjksCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4zMDRkNmFlY2EyNTRiM2FmNDNjNWQ2MjkzZDVmNjVjN3A2OSwKKyAgICAweDEuOHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjMwNGQ2YWVjYTI1NzE0NGExOTlmMWFkNTA1NThkMzJjcDY5LAorICAgIDB4MS44MDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmMwZTMyN2I2OTU0ZTIxcC0xLAorICAgIC0weDEuYTAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZjMGUzMjdiNjk1NGRhM3AtMSwKKyAgICAtMHgxLmFwNQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmYzBlMzI3YjY5NTRkMjVwLTEsCisgICAgLTB4MS45ZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuNTU3NzliOTg0ZjM5NWRlYTM2YTI3N2I4YmVlMmM2NGNwMTE1LAorICAgIDB4MS4zZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuNTU3NzliOTg0ZjNlYjNjOGE1MDNiNGE4ZTI0ODdkOThwMTE1LAorICAgIDB4MS40cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuNTU3NzliOTg0ZjQ0MDlhNzEzNjRmMWFlNWQyN2VlNjlwMTE1LAorICAgIDB4MS40MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZicC0xLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYnAtMSwKKyAgICAtMHgxLjZwNgorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmJwLTEsCisgICAgLTB4MS41ZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuNDBhNGI5YzI3MTUwODY2MTc2ZDIyZjIxMzlkMWQ0MGZwOTIzLAorICAgIDB4MS4zZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuNDBhNGI5YzI3MTc4OWFmOGFmMjA1YmIzNGY3NDMzMzdwOTIzLAorICAgIDB4MS40cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuNDBhNGI5YzI3MWEwYWY4ZmU3NmU4ZDQ3ZjdmZDljMjZwOTIzLAorICAgIDB4MS40MDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjZwOQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS41ZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuMDM5OTY1MjhlMDcyYjc4YTMzMDQ4MDg4NGM3OWJhZjdwNzUsCisgICAgMHgxLjlmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS4wMzk5NjUyOGUwNzRiZWJjZmQ1NjQxNmZjMmMwZWI5MnA3NSwKKyAgICAweDEuYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLjAzOTk2NTI4ZTA3NmM1ZWZjN2E4MDI1YjQ3NmRiMGQwcDc1LAorICAgIDB4MS5hMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmMjhhMmEyOGUyZGY0MDhjcC0xLAorICAgIC0weDEuODAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZjI4YTJhMjhlMmRmMjVhMHAtMSwKKyAgICAtMHgxLjhwNQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmYyOGEyYTI4ZTJkZjBhYjVwLTEsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuZjEwNTZkYzdiZjFiMGZjODU3YjY3OTk5ZjUwMzUyNmZwMTI2LAorICAgIDB4MS41ZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuZjEwNTZkYzdiZjIyZDNkZTBlZDU3NjE1YmM1MDFmODdwMTI2LAorICAgIDB4MS42cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuZjEwNTZkYzdiZjJhOTdmM2M1ZjQ3MmIwOTNmM2M5MWJwMTI2LAorICAgIDB4MS42MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDA0cC0xLAorICAgIC0weDEuNDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDAwNHAtMSwKKyAgICAtMHgxLjRwNgorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQwMDRwLTEsCisgICAgLTB4MS4zZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuOTNiZjRlYzI4MmJkM2IzNmNkMmY0MDExNDg4YTgzNjRwMTAxNSwKKyAgICAweDEuNWZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjkzYmY0ZWMyODJlZmIzMjBhNTdmOWFlMDJlMDFhZTUxcDEwMTUsCisgICAgMHgxLjZwOQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS45M2JmNGVjMjgzMjIyYjBhN2RjZmZiZmUxMGIzZTM0YXAxMDE1LAorICAgIDB4MS42MDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNDAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjRwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4zZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMWNiOTBiZmJlOGU3Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjM5NzIxN2Y3ZDFjZjhwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS41NjJiMjNmM2JhYjczcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA2NTQzNjFjNGM2N2ZiZjkwMjMycC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmNhODZjMzg5OGNmZjgxNzQ3YzZwLTIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlY2E4NmMzODk4Y2ZmN2JjOGIyOHAtMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLjJiZWMzMzMwMTg4Njc2ZTFlZDM1ZmVjMWIxMGU0MGRjcC0yLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuMmJlYzMzMzAxODg2NmI5MTllMDJiZjIzY2FkMzI3ZjNwLTIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS4yYmVjMzMzMDE4ODY2MDQxNGVjZjdmODVlNDZhY2RjZHAtMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLjQ1ZDgxOWE5NGIxNGIzMDMwZWViYmI5YzZkNGEyY2U4cC0zLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuNDVkODE5YTk0YjE0YTU4ZWJmMWYwZTMyOTZhMmJlYjZwLTMsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS40NWQ4MTlhOTRiMTQ5ODFhNmY1MjYwYzhiZmUwNjdlNXAtMywKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjUzZjM5MTgyMmRiYzc4YWU3ODNiNDU4NjRiMGFhMzk4cC00LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuNTNmMzkxODIyZGJjNmEwMjZiY2NjN2I0MDc3YmZjMGFwLTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS41M2YzOTE4MjJkYmM1YjU2NWY1ZTQ5ZTFjM2RlYTg3MHAtNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLjViNTA1ZDViNmYyNjg2OGY5Njc3ODc4NjQ4MzY4YjExcC01LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuNWI1MDVkNWI2ZjI2NzczZDNlYTYzNTNkZGI3NWZlNDZwLTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgLTB4MS41YjUwNWQ1YjZmMjY2N2VhZTZkNGUyZjU2ZWFkYzg0ZnAtNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMHgxLjVmMTM0OTIzNzU3ZjNkYzNmMzQ3ZDYxZGY1ZmI2NjI2cC02LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuNWYxMzQ5MjM3NTdmMmUxYmI4MWExZWZiNTVjOGUyMWNwLTYsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS41ZjEzNDkyMzc1N2YxZTczN2NlYzY3ZDhiNTkyNzQwMnAtNiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuNjZjMzRjNTYxNWQwZDdkYjE0NzNiYWMyOWFkMWI5OGRwLTYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuNjZjMzRjNTYxNWQwZTgzNGM1NDZkMDQ4MGYwOWJiODlwLTYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuNjZjMzRjNTYxNWQwZjg4ZTc2MTllNWNkODM0NWQzZjBwLTYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuNmFiMGQ5ZjMxMjFlYjBmZWE0ZjI1MjgyMjgyY2I0NTlwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuNmFiMGQ5ZjMxMjFlYzFiM2ZkNWY0YzBiMzc4OTYxMDFwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuNmFiMGQ5ZjMxMjFlZDI2OTU1Y2M0NTk0NDZlZTY4NTZwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuNzJiODNjN2Q1MTdhYzdjN2MwZDM0MzJhZDU0M2FmYTZwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuNzJiODNjN2Q1MTdhZDkzYTc5MGZjMDdjNTAxNDMwYzNwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuNzJiODNjN2Q1MTdhZWFhZDMxNGMzZGNkY2FmNjI0OThwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuODM3ZjA1MThkYjhhN2ZmM2Y3NjM1ZjVmYmU1NGViZThwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuODM3ZjA1MThkYjhhOTJmYWY1NmQ5MTE2ZDM2N2RhZDVwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuODM3ZjA1MThkYjhhYTYwMWYzNzdjMmNkZThhMGQ3YmVwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuYTgyNzk5OWZjZWYzMDhjODM1Nzc5YTQzMWUwNWNhYmJwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuYTgyNzk5OWZjZWYzMWY2OGQzZGUxOTdlZWE1NjJjY2VwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuYTgyNzk5OWZjZWYzMzYwOTcyNDQ5OGJhYjcwMTExNWFwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZDk1MGQ4NzEzMTlmZjBlZjM0MzVwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjk1MGQ4NzEzMTlmZjAzOWJhZjlwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMGNhODZjMzg5OGNmZjg0MjIwZGVwMCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS43ZmZmZmZmZmZmZmZkOTUwZDg3MTMxOWZmMWFhNDMyOHAxLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuN2ZmZmZmZmZmZmZmZjk1MGQ4NzEzMTlmZjAzZjUwYWZwMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjgwMDAwMDAwMDAwMDE5NTBkODcxMzE5ZmYwZDQ1ZTM2cDEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS5kZmZmZmZmZmZmZmZiMmExYjBlMjYzM2ZlNjQwYzIxYnAzLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuZGZmZmZmZmZmZmZmZjJhMWIwZTI2MzNmZTA5NGY4MzdwMywKKyAgICAweDEuNjJlNDJmZWZhMzllZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLmUwMDAwMDAwMDAwMDMyYTFiMGUyNjMzZmUyZTkyZTU0cDMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5mZGZmZmZmZmZmZmY2NTQzNjFjNGM2N2ZkODMyNzM2MXA3LAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuZmRmZmZmZmZmZmZmZTU0MzYxYzRjNjdmYzE4MzRiZDNwNywKKyAgICAweDEuNjJlNDJmZWZhMzllZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLmZlMDAwMDAwMDAwMDY1NDM2MWM0YzY3ZmNhZDQyNDQ0cDcsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZkZmZmZmZmZmVjYTg2YzM4OThjZmZkZjI4YTM2ZnAxNSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmZmRmZmZmZmZmZmNhODZjMzg5OGNmZjg0NmMwNTM0cDE1LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZmZmZTAwMDAwMDAwY2E4NmMzODk4Y2ZmYTlhZjY2ZjlwMTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMworICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5mZmZmZmZmZGZmZmQ5NTBkODcxMzFhMDA3OTYwMzk4ZnAzMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLmZmZmZmZmZkZmZmZjk1MGQ4NzEzMTlmZjBlNmRjMGEzcDMxLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuZmZmZmZmZmUwMDAxOTUwZDg3MTMxOWZmYTM3YjQ3YjZwMzEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwNAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5mZmZmZmZmZmZmYjJhMWIwZTI2MzQ1YjhkZmUwMDY5N3AxMDIzLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuZmZmZmZmZmZmZmYyYTFiMGUyNjM0MDBkMTVmYzUyZmZwMTAyMywKKyAgICAweDEuNjJlNDJmZWZhMzllZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwOQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS43MmU0MmZlZmEzOWYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNzJlNDJmZWZhMzllZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjcyZTQyZmVmYTM5ZWVwOQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuYzUwNDE4NTRkZjdkNWVkMWU0YjhjNzk2ZWY2ZWYyODFwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS5jNTA0MTg1NGRmN2Q0NWU1ZjUxYTFiMTRlNGI4NjIzNHAtMywKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLmM1MDQxODU0ZGY3ZDM5NmZmZDRhYzRkM2RmMzdiODI3cC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuZTE0YWVkODkzZWVmNTg3OTdmMTI4MzhmMmI5NjlhYzBwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS5lMTRhZWQ4OTNlZWYzYzNjMTRlZDk2MGQwYTJiNTA1NHAtNCwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLmUxNGFlZDg5M2VlZjJlMWQ1ZmRiMWY0YmY5NjA3ZDBlcC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuZjA1NDA0MzhmZDVjNGZiMTc5ZmRjMGY5NmUzM2E2ODdwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS5mMDU0MDQzOGZkNWMzMWExY2UwMWY5ZjZjYTc0NTAyYnAtNSwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLmYwNTQwNDM4ZmQ1YzIyOTlmODA0MTY3NTc4ODk1ZjFkcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEuZjgxNTJhZWU5NDUwZmM2ZGY0MTI5NWM3MTJhMmNmY2JwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS5mODE1MmFlZTk0NTBkZDY5ZmVhODBkMTEzYjE5NDVjN3AtNiwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMHgxLmY4MTUyYWVlOTQ1MGNkZTgwM2YyYzhiNjRmNGViMDA4cC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuZmMwNTUwMDQ0MTZkZDU4Y2JiYjRhOWI0ZWYyM2ZiNjdwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5mYzA1NTAwNDQxNmRiNjBiYmQwOGFhYzU0YTk1NmU3NnAtNywKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLmZjMDU1MDA0NDE2ZGE2NGIzZGIyYWI0ZDc4NGIzM2U2cC03LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuZmUwMTU0YWFlZWQ4NTNjMWUwNGJkMTU1ZTBkNjE0NTdwLTgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5mZTAxNTRhYWVlZDgzNDAxYTA3NjY2YjNiYmRlOTA4ZnAtOCwKKyAgICAtMHgxLjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLmZlMDE1NGFhZWVkODI0MjE4MDhiYjE2MmE5NjE1MWE4cC04LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuZmYwMDU1NDAwNDQzYWUzMmYxZTkyNzRmZmEyOTlkNWRwLTksCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS5mZjAwNTU0MDA0NDM4ZTUyZTFlZTdiNTAzZTYzODE4Y3AtOSwKKyAgICAtMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmZmMDA1NTQwMDQ0MzdlNjJkOWYxMjU1MDYwN2ZiNDYzcC05LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuZmY4MDE1NTJhYWVmMDkyZWZmZTg5NDViMDRiNjAxNjhwLTEwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuZmY4MDE1NTJhYWVlZTkzZWZiZTkzZWYwNWMyZGNiMjBwLTEwLAorICAgIC0weDEuMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIC0weDEuZmY4MDE1NTJhYWVlZDk0NmY5ZTk5NDNiMDdlOTUwMmNwLTEwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLmZmYzAwNTU1MDAwNDY0MGVjNDBjMGU2ZTk4ODdiMGM5cC0xMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS5mZmMwMDU1NTAwMDQ0NDE2YzMwYzIzYzI5ODk5MDExNHAtMTEsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuZmZjMDA1NTUwMDA0MzQxYWMyOGMyZTZjOThhMTc5NDZwLTExLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLmZmZjgwMDE1NTUyYWNhZWRlZTk3ZTk5YmVmNmM0MmZmcC0xNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTB4MS5mZmY4MDAxNTU1MmFhYWVlZWU5M2U5YTY5YTAxYTA3NnAtMTQsCisgICAgLTB4MS4wcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuZmZmODAwMTU1NTJhOWFlZjZlOTFlOWFiZWY0YzQ5MzJwLTE0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuMjJkNzhmMGZhMDYxOGY5NDNmZjBiYjJkZTdjZmRmMGNwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuMjJkNzhmMGZhMDYxOTlkOWVmMGVkYTZlYWFmOTRkM2JwLTIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuMjJkNzhmMGZhMDYxYWU2NTRkNGIxOGYwMzE4OWNiYjNwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuMTBiMDIyZGI3YWU2NzNkNmJiMjE0MGFjMWNlNDBicC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjEwYjAyMmRiN2FlNjdjZTc2YjQ0MWMyNzAzNWM2YTEzcC0zLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjEwYjAyMmRiN2FlNjhmMDhjYjg5ZDMxY2QwNjg1YTRhcC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLjA4MmI1NzdkMzRlZDc0ZDcwNDU1ZGY4N2U1ZGUwODk0cC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjA4MmI1NzdkMzRlZDdkNWIxYTAxOWUyMjVjOWE5NTFicC00LAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjA4MmI1NzdkMzRlZDhlNjM0NTU5MWI1NzRhMjA3NDRicC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjA0MGFjMDIyNGZkOTI5ODA3NzYwNmNlMTBiNDc4Yzk3cC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjA0MGFjMDIyNGZkOTMxYzE3YTEwNzU3NTAxOTJmNGQ1cC01LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjA0MGFjMDIyNGZkOTQyNDM3ZjcwODY5Y2VlMmZmNjEzcC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjAyMDJhZDU3NzhlNDU2OGRkOGQ3NGY1MWY3MGY3ZDljcC02LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjAyMDJhZDU3NzhlNDVlYWUxOTJjZmE0MTEzOWFkMTVicC02LAorICAgIDB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjAyMDJhZDU3NzhlNDZlZWU5OWQ4NTAxZjRjYjQ4NGYycC02LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjAxMDBhYjAwMjIyZDdlMDkyMWI2YWUzNzkxNzY3ODI1cC03LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjAxMDBhYjAwMjIyZDg2MTkzMWMxNWUzOWI0NGU5OTM3cC03LAorICAgIDB4MS4wcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjAxMDBhYjAwMjIyZDk2Mzk1MWQ2YmUzZGZhMDA1ZTVmcC03LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjAwODAyYWI1NTc3N2NhODIyNjQxN2NiZmVlMmZmMzhicC04LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjAwODAyYWI1NTc3N2QyOGEyYTQyZDI2YWE5ZWU2N2JjcC04LAorICAgIDB4MS4wcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjAwODAyYWI1NTc3N2UyOWEzMjQ1N2RjMDIxNmMxMGRmcC04LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLjAwNDAwYWFjMDAyMjFjZjY4MmFiNTAzNWU5MDk2MzU1cC05LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS4wMDQwMGFhYzAwMjIyNGZhODNhYjdhZTVlOTkxZTczN3AtOSwKKyAgICAweDEuMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS4wMDQwMGFhYzAwMjIzNTAyODVhYmQwNDVlYWEzNGYyYnAtOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS4wMDIwMDJhYWQ1NTc2ZjhjMzk3MzljNjQ5ZjJmYzIzN3AtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwMjAwMmFhZDU1Nzc3OGUzOWIzYTFiYTQ5ZGVhOTUycC0xMCwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDAyMDAyYWFkNTU3ODc5MjNhMzNhYzY1OWYzY2E3OTJwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4wMDA0MDAwYWFhYmZmODIxZTI0ZWE1MmJhODY5MzJiOHAtMTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjAwMDQwMDBhYWFjMDAwMjIyMjRmYTUyZTUzMTkzMWMxcC0xMywKKyAgICAweDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuMDAwNDAwMGFhYWMwMTAyMmEyNTFhNTMzYTg3OTM1ZDJwLTEzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU2OTYyYjhjZGVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNjk2MmI4Y2RlcC0xLAorICAgIC0weDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTY5NjJiOGNkZXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuZmZmZmZmZmZmZmY4ZGVlNmMyMjdhNmY0M2FhODE1MzBwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmOGRlZTZjMjI3YTZlNWY4NzU5OTdmcC0xLAorICAgIC0weDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5mZmZmZmZmZmZmZjhkZWU2YzIyN2E2ZGVkNzVjNWJhN3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuZmZmZmZjMzk1NDg4YTIyZjRhNmI1ZWI4NzVlYTVhNjZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLmZmZmZmYzM5NTQ4OGEyMmY0NmE0YjM0MTE4MTlhMmVlcC0xLAorICAgIC0weDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgLTB4MS5mZmZmZmMzOTU0ODhhMjJmNDRjMTVkODU2OTMxNDVjN3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEuZmZkNDA3YmRmN2RmYjBiYzg0Mjc1YjQxMjVhOTZlYjdwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLmZmZDQwN2JkZjdkZmIwYTY4ODA2NTczMGZlMDIzMWMycC0xLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5mZmQ0MDdiZGY3ZGZiMDliODlmNWQ1MjhlYTJhNzQwMnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIC0weDEuZjY5ZjU1MjNlZjYxODgxYzM2NWY4MzhlM2NlY2U1ZDRwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLmY2OWY1NTIzZWY2MTg1YzQwYmE4N2Y2NjllYThlZTE1cC0xLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgLTB4MS5mNjlmNTUyM2VmNjE4NDk3ZjY0Y2ZkNTJjZjRlYWUzNXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEuYmFiNTU1NzEwMWY4ZGEyOWU3NzYzNDNjMzEzYjAyOWVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLmJhYjU1NTcxMDFmOGQxODA5MjI0NTQ3YjRiZjVhYTM4cC0xLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5iYWI1NTU3MTAxZjhjZDJiZTc3YjY0OWFkOGViMGUwNXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0weDEuNDNhNTRlNGU5ODg2NGQ5MDM1NWQ4NzcyN2FkYjM3ZTdwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLjQzYTU0ZTRlOTg4NjQxY2E4YTQyNzBmYWRmNTYwZGU0cC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgLTB4MS40M2E1NGU0ZTk4ODYzYmU3YjRiNGU1YmYxMTRjZDZlMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuOTQ3NjUwNGJhODM5OWY1Yjk3Y2FlMzViZWI3OGMzYzVwNzM4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuOTQ3NjUwNGJhODUyZTZjMDljODU2N2MwMWM1YTY2NDhwNzM4LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuOTQ3NjUwNGJhODg1NzU4YWE1ZmE3NTQ1ZTEwZThlNDZwNzM4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuNDFjN2E4ODE0YmUxOTJhNWRmMjViMDQyYWY4MjRlZmRwMzY5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuNDFjN2E4ODE0YmViYTBlMzIzMzAwZjc3N2RhNjU4NTRwMzY5LAorICAgIDB4MS4wcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuNDFjN2E4ODE0YmZmYmQ1ZGFiNDRjZWQyNmZhY2NiZmJwMzY5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuOTVlNTRjNWRkNDFiMjA2MDBkZDYwMWEwYWU2NzJmZjRwMTg0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuOTVlNTRjNWRkNDIxNzdmNTNmNGQ1MjE5ZGYxMWNhM2JwMTg0LAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuOTVlNTRjNWRkNDJlMjcxZmEyM2JmMzU4NWI2NTUwNjBwMTg0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuNDI1OTgyY2Y1OTdhNGQ1MmM4OWVhODQ3YmJhYTgwN2FwOTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS40MjU5ODJjZjU5N2NkMjA1Y2UzZDViM2VkYjAzMTc1NnA5MiwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLjQyNTk4MmNmNTk4MWRiNmJkOTdhYzEzYzM1ZTY2NmM2cDkyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuMWY0M2ZjYzRiNjVkYTg5NDRhYzM4OWI2MDllMGY3NGVwNDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS4xZjQzZmNjNGI2NWVjN2Q4NDc4ODQwMTg0MjE3NDA3NHA0NiwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLjFmNDNmY2M0YjY2MTA2NjA0MTExYWNlMDEwNGZjOTBlcDQ2LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuMGYyZWJiMGE4MDAxN2NmYWM1NmMzMDg3NGFmYmFiOThwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4wZjJlYmIwYTgwMDIwNDkyMjNmMTcwODgyYjVlZTVlZnAyMywKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLjBmMmViYjBhODAwMzEzYzBlMGZiZjA4YWI3ODg2ODY2cDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEuNzQ3ZWE3ZDQ3MGM2ODFlNDM2MThlYzE4ZDUzZjFiMjFwMTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS43NDdlYTdkNDcwYzZkZjBiZTAwZTA4NGE4MTVkMWRlNnAxMSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjc0N2VhN2Q0NzBjNzk5NWIzM2Y4NDBhZTFmNzZlMmU3cDExLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuYWNjOTAyZTI3M2E1NGZkZmI2Nzc3MTY2ZTY3NjBkZmJwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLmFjYzkwMmUyNzNhNTg2NzhkNmQzYmZkYjkzZGI5NmQwcDUsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5hY2M5MDJlMjczYTVmM2FiMTc4YzVjYzUwMzIwMTQ5Y3A1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuOThlNjRiOGQ0ZGRhYmYzNGQ1ODJjZDI5MDlhYWZiMmFwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLjk4ZTY0YjhkNGRkYWRjYzMzYTNiYTIwNmI2OGFiYmE4cDIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS45OGU2NGI4ZDRkZGIxN2UwMDNhZDRiYzIxNWQ0ZWY4NnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuYjdlMTUxNjI4YWVkMTRhYmI0ZTY0NDI5MzNmODk5ZjZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS5iN2UxNTE2MjhhZWQyYTZhYmY3MTU4ODA5Y2Y0ZjNjN3AwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuYjdlMTUxNjI4YWVkNTVlOGQ0ODc4MTJmNzBmNzkwNjdwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLmZmYzA0NTY5MmZjOWRiYzdiN2UwMzI1NzZlNWUyNmY4cDEwMjMsCisgICAgMHgxLjYyZTQxZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5mZmMwNDU2OTMwMDlkM2QwNjUwNjJmOTI2N2RmZjU1ZXAxMDIzLAorICAgIDB4MS42MmU0MnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLmZmYzA0NTY5MzA0OWNiZDkxMjJjMzRjYzYyNzc2ODg0cDEwMjMsCisgICAgMHgxLjYyZTQyMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS43MmU0MjAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNzJlNDJwOQorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS43MmU0MWZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjY2NjY2NjY2NjY2N3AxMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmIzMzMzMzMzMzMzMzRwMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLnAwLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuNjI0MDQ2ZWIwOTMzOGQyOTkxYTMwODkzZTdmNDEwOGRwNCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS5lOWRmZGQ4NGE2NzEwNjZiNjE5ZjFiYjIzYmEyZWIyZnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5lN2JkYjkwYWIyNmJkZjU1NWVhZjE5ZGE3ZjA0M2YyY3AxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLjk1OTBjZWU0MjI2MDgxM2NhYzQ0ZjUzYjMyMTdlZDE5cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLmI3ZTE1MTYyOGFlZDU1ZThkNDg3ODEyZjcwZjc5MDY3cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuNDNhNTRlNGU5ODg2NGQ5MDM1NWQ4NzcyN2FkYjM3ZTdwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuYjdlMTUxNjI4YWVkMmE2YWJmNzE1ODgwOWNmNGYzYzdwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTB4MS40M2E1NGU0ZTk4ODY0MWNhOGE0MjcwZmFkZjU2MGRlNHAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5iN2UxNTE2MjhhZWQxNGFiYjRlNjQ0MjkzM2Y4OTlmNnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS40M2E1NGU0ZTk4ODYzYmU3YjRiNGU1YmYxMTRjZDZlMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuMzE3YWNkMjhlMzk1NGFiMGI4ZTM5ODY1NGYyNTU5MGFwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuMTY4ZjQ3MTg3ZGJjMzYwZjRhYzAzNWZjOGZmOWU5MTNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS5mZmZmZmZmZmZmZjJhMWIwZTI2MzQwMGQxNWZjNTJmZnAxMDIzLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHA5CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZXhwbTFmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9leHBtMWZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZjZiYzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZXhwbTFmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDExODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxmbG9hdCwgZmxvYXQ+IGdfZXhwbTFmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5mZmZmZjAwMDAwNTU1NTU0MDAwMDA0NDQ0NDM4ZTM4ZXAtMjEsCisgICAgLTB4MS5wLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0weDEuZmZmZmY4MDAwMDE1NTU1NTJhYWFhYWVlZWVlZTkzZTlwLTIyLAorICAgIC0weDEucC0yMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLmZmZmZmZjAwMDAwMDU1NTU1NTQwMDAwMDA0NDQ0NDQzcC0yNSwKKyAgICAtMHgxLnAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS5mZmZmZjQwMDAwMTU1NTU1YmZmZmZkOTk5OTliOGUzOHAtMjEsCisgICAgLTB4MS4wMDAwMDJwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuMDAwMDAwZmZmZmZjYWFhYWFhNTU1NTVhY2NjY2NiNmNwLTIzLAorICAgIC0weDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAtMHgxLjkyZWFkNmZjZWY2MmZhOGZmZDZkZGRlYTUyY2I3NzVkcC0yLAorICAgIC0weDEuMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLjAwMDNmZmZmZmY3ZmZiZmZmODAwMmFhY2FhYjJhYWFhcC00MCwKKyAgICAtMHgxLjAwMDRwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0weDEuNDNlYjI3MDAwNzNkNDIzODE5ZmE4NWNlNTM0ZjNiZjFwLTEsCisgICAgLTB4MS4wMDVmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS5jNTk5OThmMDc0MzUzYzVkMDQ5MmUyM2NmZWNiYzFmNXAtMywKKyAgICAtMHgxLjAwNjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgLTB4MS5mNDhhMmFlNWNjNzJkMjhlNGZmNWQzOTQwYzYwODE0NnAtNSwKKyAgICAtMHgxLjAyM2VwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEuZjJiZTU3MDAyZmMzNzEwOTNkZDk2MjNlYzZjZGNmODhwLTQsCisgICAgLTB4MS4wOWU5NDBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEuNGIzYjhjZmZmZjc4Yjk3YTYwY2U4NDFkOTkxMzhlMzRwLTEsCisgICAgLTB4MS4wYTg2NmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS4xZTM3ZmFmZmZiNWRlODRkZGI2MWFjNThkOTZjNjEwOXAtMjEsCisgICAgLTB4MS4xZTM4cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgLTB4MS5jOTYwMDZmZmY3MzVkNTliMjhjYzgyMjZlOTliZDgxMXAtMiwKKyAgICAtMHgxLjJlZmQwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5kMzAwMjMwMDNjYzQ1ODlhNGEyMTc3NDlhNTA5NTlkY3AtMSwKKyAgICAtMHgxLjM3NDExOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAtMHgxLjdlOGJjZWY5YzRmZTllMGFjMmQwNTMxMGY1Y2JkOGYycC0xLAorICAgIC0weDEuNjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYnAtMSwKKyAgICAtMHgxLjYwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEuOTc1OGI2ZjM4YjAxMjk0OWU3YjkzYzdmMjcyMDJhNDhwLTMsCisgICAgLTB4MS5jNjJlZTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuNzUxYjIxNjllZTIwMGE3YmI0ZjI2YmNjYjYxOWE4MGVwLTIsCisgICAgLTB4MS5jZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEuYTA2NmQzMDAxMzBmZjRlNGZjNjViYWQwYTdmNzJjYTFwLTMsCisgICAgLTB4MS5kMTg0OGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIC0weDEuZmZmZmY2ZmZmZjI5MzMzMjBlYjMzMTBmYzk1Yzk3YTVwLTEsCisgICAgLTB4MS5lNDM0ZGVwMworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5mZmZmZjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU2OTYxZWQ3ZjBwLTEsCisgICAgLTB4MS5mZmZmZmNwNQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjAxMDBhYjAwMjIyZDg2MTkzMWMxNWUzOWI0NGU5OTM3cC03LAorICAgIDB4MS5wLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS4wMDAwMDQwMDAwMGFhYWFhYzAwMDAwMjIyMjIyNGZhNHAtMjEsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5iY2FiODkwMDAxMWZmNDU2YjU2MjEyZjk5ODk1MWUzOHAwLAorICAgIDB4MS4wMWMxOGVwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmI2MWU1Y2EzYTVlMzBiMmYwYTAzZjI4YWY5Y2UwMDg0cDkzLAorICAgIDB4MS4wNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuYzYyYjFkN2VlYTljYzZmNmVhM2ZmNzgyYmU3M2IwY2JwMCwKKyAgICAweDEuMDUzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuYWVmMWFiYzFiMWM1NGUyNDI5ZDgxZGRiNzk3NzVlZWZwOTQsCisgICAgMHgxLjA2YjRlMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuOTRjMjU5MGMwYWM5OTkzZTkzYWE4YWNhZjEwNDZjNzNwOTYsCisgICAgMHgxLjBjMDA0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuMmE3OTM4ZmZmZWM5NjE2YjRkNjMxY2IzM2Q5OTAxNjBwLTMsCisgICAgMHgxLjE2YTE1MHAtMworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjc1MmE2NGZmZmY2MTQ5ZmEwYmQ2Zjk1YmIxMGJmOGU4cC0xLAorICAgIDB4MS4xODRiNjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS4zNzcwM2QwMDAwMmQ4MTRlNDYwNWIwOWQ3ZWYxNTM2OHAtNCwKKyAgICAweDEuMmMyYTkwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuNDQ4MzVhZmZmZWYwZjAxZTJlNDAwOTg5ZGU4MWJkODJwLTMsCisgICAgMHgxLjJkM2I3NnAtMworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLjAyMWM4NGZmZmZmNWQ1NGU0MjI5ZWRlOTQzZjRhMTY4cDcsCisgICAgMHgxLjM3OGNiNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuZmYyYWM0NzA3ZGVlM2NkMzU4NDhiZGI0ZDQyOTY4MjRwMTI0LAorICAgIDB4MS41YTkxMmNwNgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjdmZjdmNjkzMjQ0NWQyZTMxZjFiN2MyMGQ3YzdkODcxcDEyNiwKKyAgICAweDEuNWVmN2JjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5mOTE2NDY3MzQ5YjA1OGI5YzM4OTA2OTExYjg1NjA1MnAxMjYsCisgICAgMHgxLjYwMTA3Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuZjc2YmE0NjczM2Y0MTQ2YTBmOTRiM2QxMzExNDk0YmFwMTI3LAorICAgIDB4MS42MmQyZTJwNgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZjEwODY2MzJiMGU5YjkzYmM1YmU0NGQ5YzFkZWE1cDEyNywKKyAgICAweDEuNjJlNDEycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS44ZGJlNjMwMDAwMDBkN2RjNjdlMmU2NzU3NWMwNjU5OXAtMywKKyAgICAweDEuNmI3ZDhhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuOTE4NWE4ZmZmZTVhNGYwMDBlYjVhYjYzZGEzYmZhM2ZwLTMsCisgICAgMHgxLjZlYTZlMnAtMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmU1ZmE3MzYzMWM4MDU3MWJiNzg1ZTg0YjFkZmYwZmI0cDcwLAorICAgIDB4MS44OTRhNTJwNQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLmRmYzVlNTAwYTBkNjQ3NjVmMDY5MjczYjdlMjE1NzE5cC0yLAorICAgIDB4MS44OTdiYThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS45YTZlODcwYmJiN2IyNzc5Y2RlZDc4YmU5YjkxYTJkYXA3MSwKKyAgICAweDEuOGQ3YmRlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mYjE4MDYwMDAwMGMwMTc1ZWUxYzg4NTVkYWFlYmRiNnAxLAorICAgIDB4MS45YTBiY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjAwZjIwMGZmZmY5MThjNjBhNmYxMjJhM2I0NzVlMGZlcC0xLAorICAgIDB4MS5hMDc0YjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5jNmI0YWEwMDAwMGJmMmQ1ODIyM2NhOTI0OWI0NzMxNnAtNCwKKyAgICAweDEuYWYzMTFhcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZTFiY2Q0ZmZmZTMxNDQ4NzU1NmEwOWJiMGM4YTc1NTFwLTMsCisgICAgMHgxLmIwYTRkNHAtMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmQ2MjY0OWZmZmZmODJiMWU2Njk4NDExYTA4MTQ1YTI5cC00LAorICAgIDB4MS5iZDExYThwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS4wNTE2MWIwMDAxMWI5MzEzZWZlZDI0YTA5YThjYjA0NHAtMiwKKyAgICAweDEuZDExZWJhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuOWE5MmU5MGJhYTI5NjlmYThjNzFiYjNjMmJlOGJiNDBwODUsCisgICAgMHgxLmRiMWU3ZXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZTYzZWJjZmZmZWU4NDAwODIwNmM0NTQzNWVlNTI3MjJwLTE0LAorICAgIDB4MS5lNjM3ODZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuOTc2OGQzMDAwMmQ4OWJiZDdmODdjMjEzMTA3NGM5YzVwMCwKKyAgICAweDEuZTc4OGI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuNmUyM2Q5ODBkZDJkMmZiYTI4NWZmMzA0NDZhNzg5MTRwNSwKKyAgICAweDEuZWMyZjI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5hNjY0ZDhlZDdjYzMzZWRlOTY1MzkyNzIyYjBkODdiZnAyMiwKKyAgICAweDEuZjdmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5iNjkwNGRmZmZlNDI1MTQyNzlkYjcxMzk3YjdmZmI0NXAwLAorICAgIDB4MS5mZjA3Y2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5iNmIxMWVhNzk5YjdjNzFjZjJmNmI5NjU5YzgxNTVjNnAwLAorICAgIDB4MS5mZjFmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4zZDU5ZDJkOGIyMmI0MWMyYmI2MzM0YjliZTdiZTkwMnA5MiwKKyAgICAweDEuZmZkZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4wMDAwMGIwMDAwMGFhYWE3OGZmZmU5Nzc3N2E0ZDgzMnAtMTksCisgICAgMHgxLmZmZmZmNnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5mZmZmZjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjAwMDAwMWZmZmZmYWFhYWE4ZmZmZmZmNzc3NzdmYTRmcC0yMSwKKyAgICAweDEuZmZmZmZjcC0yMgorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjQyNThlMWEyYzA2MDRlZWExZTg3NGQ3MDA0ZTZkZmI5cDkyLAorICAgIDB4MS5mZmZmZmNwNQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwMDAwNzAwMDAxYWFhYWFkZDU1NTU0Y2NjY2JhN2QycC0yMCwKKyAgICAweDEuZmZmZmZlcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjMwNGQxZWQ5NTExYmY1YTY5ZGIyMGU0Y2RiZjZkOGZmcDY5LAorICAgIDB4MS43ZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjMwNGQ2YWVjYTI1NGIzYWY0M2M1ZDYyOTNkNWY2NWM3cDY5LAorICAgIDB4MS44MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuMzA0ZGI3MDAwNjkyNDg2NmI0MTg0NTA5N2M5MWU0ODhwNjksCisgICAgMHgxLjgwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmMwZTMzNzdkYzk2NzE3cC0xLAorICAgIC0weDEuYTAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmYzBlMzI3YjY5NTRkYTNwLTEsCisgICAgLTB4MS5hMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmMwZTMxN2VmNWQ0MjYxcC0xLAorICAgIC0weDEuOWZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS41NTc2ZjBkY2FjMjE3ODdmMmQ1N2IxNGE3MDAyMDRlM3AxMTUsCisgICAgMHgxLjNmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuNTU3NzliOTg0ZjNlYjNjOGE1MDNiNGE4ZTI0ODdkOThwMTE1LAorICAgIDB4MS40MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuNTU3ODQ2NTQ0N2I5ZDVmODMyNDZhZjFlNDhlODAyNWJwMTE1LAorICAgIDB4MS40MDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYnAtMSwKKyAgICAtMHgxLjYwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZicC0xLAorICAgIC0weDEuNjBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYnAtMSwKKyAgICAtMHgxLjVmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuMDM5OTI0NDI4ZjQ3NTExYzAzYzc1ZGQ2MjNiYzQ3ZTFwNzUsCisgICAgMHgxLjlmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuMDM5OTY1MjhlMDc0YmViY2ZkNTY0MTZmYzJjMGViOTJwNzUsCisgICAgMHgxLmEwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS4wMzk5YTYwZjQxZGJjMmIwODUwMjEzMTJmNTA1MDg5ZHA3NSwKKyAgICAweDEuYTAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmYyOGEyZDg2NTdlOTNlNDNwLTEsCisgICAgLTB4MS44MDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZjI4YTJhMjhlMmRmMjVhMHAtMSwKKyAgICAtMHgxLjgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmYyOGEyNmNiNmNmZGFmYTBwLTEsCisgICAgLTB4MS43ZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLmYxMDQ3NTQ1NDY1Zjk3YWFkNjc3NGRmZTE2Yjk2MGRlcDEyNiwKKyAgICAweDEuNWZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5mMTA1NmRjN2JmMjJkM2RlMGVkNTc2MTViYzUwMWY4N3AxMjYsCisgICAgMHgxLjYwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5mMTA2NjY0YWI0Mjc2YjgzMzk5MzA1MGM5YWEwOWE5MXAxMjYsCisgICAgMHgxLjYwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDA0cC0xLAorICAgIC0weDEuNDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQwMDRwLTEsCisgICAgLTB4MS40MHA2CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDA0cC0xLAorICAgIC0weDEuM2ZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZhNTczNDdwLTEsCisgICAgLTB4MS4yNzQ3NjhwNgorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmViZHAtMSwKKyAgICAtMHgxLjRlOGVkMHA2CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNzVkNjM4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuMDAwMDAwMDgyZTMwODYzMmMwNmQ1ZDY1MTM2NTc1ZWFwLTEsCisgICAgLTB4MS42MmU0MzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIC0weDEuZmZmZmZlMTA1YzYwMWNjMWUxOTlmOTI2MWZjN2RiZTZwLTIsCisgICAgLTB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuZmZmZmZjMTA1YzVkMmQxZTQwNjk5M2UyMGFkYzAyYmZwLTIsCisgICAgLTB4MS42MmU0MmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuMmJlYzMzM2JhYTI4MDg1MGI2YmY5MTExYmI4NzNmNjBwLTIsCisgICAgLTB4MS42MmU0MzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuMmJlYzMxZDFhMDQxNGJhMzUxMWMxOGYzMmJiNTVkNjNwLTIsCisgICAgLTB4MS42MmU0MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIC0weDEuMmJlYzMwNjc5NjU5ZDlmMGY3ZWQwOGU0ZWIwNmRmZWZwLTIsCisgICAgLTB4MS42MmU0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuNDVkODE5YjcwZDEyZGI5ZjE1NTEzMzExODg3OTBkZjZwLTMsCisgICAgLTB4MS42MmU0MzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIC0weDEuNDVkODE4MDg4MzE5MTM5MTFhZDE1NzI0ZDlkNTEyMTFwLTMsCisgICAgLTB4MS42MmU0MmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuNDVkODE2NTlmOTFlZGZlMGExZDIwMzY5YmJkYWE0ODVwLTMsCisgICAgLTB4MS42MmU0MmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAtMHgxLjUzZjM5MTkxMmU3ZjIxYWI1MDIxOWQ2N2FhMzIzNjNhcC00LAorICAgIC0weDEuNjJlNDMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS41M2YzOGZiYmFjZjEzNjc5MDcyN2JjMmRhMzZiOGFmY3AtNCwKKyAgICAtMHgxLjYyZTQyZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC0weDEuNTNmMzhkZTYyYjYzMTA5NjhjNmNjOWE3NjE2YjMzY2JwLTQsCisgICAgLTB4MS42MmU0MmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLjViNTA1ZDZiMTlmNGI0MDVkYmI2YjllZjE4YWQ5ZTM1cC01LAorICAgIC0weDEuNjJlNDMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgLTB4MS41YjUwNWI4MGNlZmE3YjY1MjMzMDVlMjJhNGMwNmMyOHAtNSwKKyAgICAtMHgxLjYyZTQyZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuNWI1MDU5OTY4NDAwMjQxZmJiMDU4MzI1MmI0YzExODVwLTUsCisgICAgLTB4MS42MmU0MmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAtMHgxLjVmMTM0OTMzNzgyMGFiYTZhYzMzMmRlZDk4MzQ3OTA0cC02LAorICAgIC0weDEuNjJlNDMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS41ZjEzNDczZTcwYmFlZDZlNGZhMTljYjFhZWZiOWEwNHAtNiwKKyAgICAtMHgxLjYyZTQyZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuNWYxMzQ1NDk2OTU1MWY4ZGI3ZTFkYjExZjQ3ZGMzMTVwLTYsCisgICAgLTB4MS42MmU0MmNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuNjZjMzQ4NTA2MWIzZmU2YTVkMmYyZTIwZjNkYTM3ODNwLTYsCisgICAgMHgxLjYyZTQyY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS42NmMzNGE1Yjk3Y2U0OTFhNDMzODQxNGNmZjk2NjZlNnAtNiwKKyAgICAweDEuNjJlNDJlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjY2YzM0YzY2Y2RlOGE0MjNkYTEzZWI1ZWZlZTUzNDBlcC02LAorICAgIDB4MS42MmU0MzBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuNmFiMGQ1ZDZkMWQ0NDk5MjUwM2U0YjZmM2IwOWYwN2VwLTUsCisgICAgMHgxLjYyZTQyY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS42YWIwZDdlZDdjZTFiN2I0YzVlZTI5MTlhYjRmMTFlNnAtNSwKKyAgICAweDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjZhYjBkYTA0MjdlZjQ3NDFlYzc1ZjQ0MGZkNGViMGY5cC01LAorICAgIDB4MS42MmU0MzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuNzJiODM4MzI3YWUxZjlkN2U3MDQxOGE0NzZkYTQ4MGRwLTQsCisgICAgMHgxLjYyZTQyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS43MmI4M2E2MGQxZTkyMzBjYjNiNTJjZDEyMDBiOGRjZHAtNCwKKyAgICAweDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjcyYjgzYzhmMjhmMDkyMGM2MTRmYzQ0NTZkZTA0OWZjcC00LAorICAgIDB4MS42MmU0MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuODM3ZjAwNmE5MGUyZDlhZGY5YjliOWM1ODUwOTcwZDFwLTMsCisgICAgMHgxLjYyZTQyY3AtMworICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS44MzdmMDJjYjcwYTM0MDZlMmE3OWQxNzUwYWYxZDdlMnAtMywKKyAgICAweDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjgzN2YwNTJjNTA2NDNmNjY0YjY2YTAyZWM1YWMxNmRicC0zLAorICAgIDB4MS42MmU0MzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuYTgyNzk0MGVjYTlmNzY2NzNlNTFkMmM0NTY5Y2ZiM2FwLTIsCisgICAgMHgxLjYyZTQyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5hODI3OTZlMmRlNmEzMmQxODBhZDBiMzUzMjY3OTgzYnAtMiwKKyAgICAweDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLmE4Mjc5OWI2ZjIzNjU5NDVhOGMwZmI0MGEyNzE3NGRhcC0yLAorICAgIDB4MS42MmU0MzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZmZmZmY4MjBiOGM5ZDg2NTI1ZTU1ZjU4N2UzNDg2MWFwLTEsCisgICAgMHgxLjYyZTQyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5mZmZmZmMyMGI4YzNmOTFkZWM3OGNiOGNkNTNhOTJlM3AtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjAwMDAwMDEwNWM2MTBjZWI1Nzk2Nzg0MmJkNTlmMDk0cDAsCisgICAgMHgxLjYyZTQzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS43ZmZmZjgyMGI4ZDE5Nzc5NjkyZmIwZmNjMDI4MTI0NnAxLAorICAgIDB4MS42MmU0MmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS43ZmZmZmMyMGI4YzVkOGVhZmY0YWMwMTNjZjczNDYzOXAxLAorICAgIDB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS44MDAwMDAyMGI4YzIxYTVjODVlOGIyNDRlZDE1MWNkOHAxLAorICAgIDB4MS42MmU0MzBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5kZmZmZjA0MTcxYzIyYjQzYTI4ZDgwODhjMzQ3YmYxZnAzLAorICAgIDB4MS42MmU0MmNwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS5kZmZmZjg0MTcxOTMzMTBhNDI5YjcxZTcwZDc5MjE4NnAzLAorICAgIDB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5lMDAwMDA0MTcxODQzNmQwNjZjMDdjYTMxMmY4YjMxOHAzLAorICAgIDB4MS42MmU0MzBwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5mZGZmZTA4MmU0MDA0N2M4OWRmYTQxZDA5YzFlMWVmOHA3LAorICAgIDB4MS42MmU0MmNwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mZGZmZjA4MmUzNDQ1ZWU1NWIzZmE4NGE1ZGQ4NDljOXA3LAorICAgIDB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5mZTAwMDA4MmUzMDg3NWZlMzkzZGUyODY4MzdmNDg1ZHA3LAorICAgIDB4MS42MmU0MzBwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5mZmZkYzEwNWM5ZjA1NDg3NjBhODIzYjBkZmRhZWI2NnAxNSwKKyAgICAweDEuNjJlNDJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuZmZmZGUxMDVjNzAwYjEwYzNlMmE1NDlmYmRlYmIwZGFwMTUsCisgICAgMHgxLjYyZTQyZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmZmZmUwMTA1YzYxMTBkNzIyMTczYjBlYTUwNTA3MTNhcDE1LAorICAgIDB4MS42MmU0MzBwMworICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5mZmZmODIwOTliOWZiYzZkNWRkYTQwNmFkOWY5MzM1NHAzMSwKKyAgICAweDEuNjJlNDJjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuZmZmZmMyMDk4ZmUxMmYxMDE3NDBhYzk2NTNmNzhmZTNwMzEsCisgICAgMHgxLjYyZTQyZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLjAwMDAwMTA0YzYxMTUwNWQ3Zjc0YTQxNDMzMzEyZHAzMiwKKyAgICAweDEuNjJlNDMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuZmZmZTA4MmYyODY4OGQzODcyYWI4YWE2OWYzZGMzNTZwMTI3LAorICAgIDB4MS42MmU0MmNwNgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5mZmZmMDgyZTZjN2ZlZDFkM2ZkNWNmZjdlMWY2MDU4ZnAxMjcsCisgICAgMHgxLjYyZTQyZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS42MmU0MzBwNgorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS45ZDFkYTJwNgorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS45ZDFkYTBwNgorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS45ZDFkOWVwNgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuYzUwNDFiNzI1ZDcwNTQxNmI5YTJmZTllY2ZkMGYxMmZwLTMsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmM1MDQxODU0ZGY3ZDQ1ZTVmNTFhMWIxNGU0Yjg2MjM0cC0zLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5jNTA0MTZjNjIwODMyOTQ1ZjUyYTE0M2I3YWI5Y2M0MHAtMywKKyAgICAtMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZTE0YWYxMTBlYzMzNjhmNmIwOTQzYWNkNTQ2MDNjMzhwLTQsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmUxNGFlZDg5M2VlZjNjM2MxNGVkOTYwZDBhMmI1MDU0cC00LAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5lMTRhZWJjNTY4NGNkMTI2ODhhZjAyZDNjNGMzM2FlNXAtNCwKKyAgICAtMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZjA1NDA3ZmFmMmRiNmU2MmNhODZiOTA2MTc3ZjhhYjRwLTUsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmYwNTQwNDM4ZmQ1YzMxYTFjZTAxZjlmNmNhNzQ1MDJicC01LAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5mMDU0MDI1ODAyOWM2NjI5Y2RjNmUwNjg4ZTBjMTdkMXAtNSwKKyAgICAtMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZjgxNTJlY2YxMmZlMGY3Y2M0MzA1MzI1ZWIzY2MyN2VwLTYsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmY4MTUyYWVlOTQ1MGRkNjlmZWE4MGQxMTNiMTk0NWM3cC02LAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mODE1MjhmZTU0ZmEyZDFkYTNkNDQxODY2YzJlMmM2OHAtNiwKKyAgICAtMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuZmMwNTUzZjQ2MTQzMjYyOTMyNDUyNGYwZTM5Njg0NTVwLTcsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmZjMDU1MDA0NDE2ZGI2MGJiZDA4YWFjNTRhOTU2ZTc2cC03LAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5mYzA1NGUwYzMxODJmMjJjYTJlOWZkZDYxZmIzYzRkNnAtNywKKyAgICAtMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuZmUwMTU4YTJmNmQyZDk2NWQ1MjA0NjlhMWI2MzA0MThwLTgsCisgICAgLTB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLmZlMDE1NGFhZWVkODM0MDFhMDc2NjZiM2JiZGU5MDhmcC04LAorICAgIC0weDEucC03CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5mZTAxNTJhZWVhZGFkYjViN2EyOTc2YmEyZDI4MzYzNHAtOCwKKyAgICAtMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuZmYwMDU5M2MwNjQyZGZkNmQ3NjgwYmQyODQ2Mjg5ZThwLTksCisgICAgLTB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZmMDA1NTQwMDQ0MzhlNTJlMWVlN2I1MDNlNjM4MThjcC05LAorICAgIC0weDEucC04CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5mZjAwNTM0MjAzNDNlMjkzZTViMjMzZWUyMjQ5Mjc3YnAtOSwKKyAgICAtMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuZmY4MDE5NTBhYjZlZDFlZDUwYmE2MTA1MGIyNmE3YzJwLTEwLAorICAgIC0weDEuMDAwMDAycC05CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS5mZjgwMTU1MmFhZWVlOTNlZmJlOTNlZjA1YzJkY2IyMHAtMTAsCisgICAgLTB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmZmODAxMzUzYWFhZWYzNjg5MTUwYjYyNGU0ZDJmMmRhcC0xMCwKKyAgICAtMHgxLmZmZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLmZmYzAwOTU0MDAyNDQwNmM4MzAyMDI4Yzc3MTRjY2VhcC0xMSwKKyAgICAtMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmYzAwNTU1MDAwNDQ0MTZjMzBjMjNjMjk4OTkwMTE0cC0xMSwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLmZmYzAwMzU1N2ZmNDQ1MmMxMzBiMzRlZDlkNWMwMTdlcC0xMSwKKyAgICAtMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLmZmZjgwNDE1MzUyYjJhY2Q5YTQxM2FmODYwNjg0YzljcC0xNCwKKyAgICAtMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLmZmZjgwMDE1NTUyYWFhZWVlZTkzZTlhNjlhMDFhMDc2cC0xNCwKKyAgICAtMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmZmZjdmZTE1NjUyYTZhZTc5OTdkM2RmZGZlY2MzYTZicC0xNCwKKyAgICAtMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMjJkNzhkYzZlYTdkZmYwODkzMWQ3NDY2M2Y5MzM0NmRwLTIsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS4yMmQ3OGYwZmEwNjE5OWQ5ZWYwZWRhNmVhYWY5NGQzYnAtMiwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjIyZDc5MWExMGMyOWM2MDUxMWQ5MWZmMDBlYjZmZWRhcC0yLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuMTBiMDIxYjk2NGUyMzM5OTZlYjk3NGNiNjRmMTFmOTZwLTMsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS4xMGIwMjJkYjdhZTY3Y2U3NmI0NDFjMjcwMzVjNmExM3AtMywKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjEwYjAyNTFmYTZlZjdjNGJhNjAwM2NmOTFmZTg1ZGM5cC0zLAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDgyYjU2NmNiMjM4MGUwYmUwZDU1OWEwMTUwMTcyZjdwLTQsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS4wODJiNTc3ZDM0ZWQ3ZDViMWEwMTllMjI1YzlhOTUxYnAtNCwKKyAgICAweDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjA4MmI1OTllM2E1ODhmMTIwZTYxYWY0ODY5Yzk4NDIxcC00LAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuMDQwYWJmMWEyZjgzMzRjZjdjOWVlMGIxZDM0YWUxNDRwLTUsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS4wNDBhYzAyMjRmZDkzMWMxN2ExMDc1NzUwMTkyZjRkNXAtNSwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjA0MGFjMjMyOTA4NTQ0Njg3ZDAzZmFiZjU2OGEzZGUycC01LAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuMDIwMmFjNTM3MGQ5YWI1ODQ1YjBlNzhmMGI0MmE3ODNwLTYsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS4wMjAyYWQ1Nzc4ZTQ1ZWFlMTkyY2ZhNDExMzlhZDE1YnAtNiwKKyAgICAweDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjAyMDJhZjVmODhmOWQxOGEyMGE1YjA0YzRmYzg2YzUxcC02LAorICAgIDB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuMDEwMGE5ZmUyMDJjMzExYWVmNjdhNzViOTNkMGFmZjdwLTcsCisgICAgMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS4wMTAwYWIwMDIyMmQ4NjE5MzFjMTVlMzliNDRlOTkzN3AtNywKKyAgICAweDEucC03CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLjAxMDBhZDA0MjYzMDM2MjFjMjdjZDNmZjk3NzIxMmY0cC03LAorICAgIDB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuMDA4MDI5YjQ1NmY3YTg1NTUzMGIxNTEwNTVmY2NjZDlwLTgsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS4wMDgwMmFiNTU3NzdkMjhhMmE0MmQyNmFhOWVlNjdiY3AtOCwKKyAgICAweDEucC04CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjAwODAyY2I3NTg3ODI5ZjZkYTMyY2U0MDU4Yjk0MDk5cC04LAorICAgIDB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuMDA0MDA5YWI4MDAyMWZlNGEzYTI2OWIzNzdiZjE4ZDZwLTksCisgICAgMHgxLmZmZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMDA0MDBhYWMwMDIyMjRmYTgzYWI3YWU1ZTk5MWU3MzdwLTksCisgICAgMHgxLnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS4wMDQwMGNhZDAwNjIzMGE3MDNlZGE1OGJlZDU5MjEyMXAtOSwKKyAgICAweDEuMDAwMDAycC05CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjAwMjAwMWFhOTU0Zjc3MDM4YzVlYzNlOTY2YzcxMWYzcC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS4wMDIwMDJhYWQ1NTc3NzhlMzliM2ExYmE0OWRlYTk1MnAtMTAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuMDAyMDA0YWI1NTY3Nzk2M2M0NjM1ZGVjMWMwZWJlODdwLTEwLAorICAgIDB4MS4wMDAwMDJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLjAwMDNmZjBhYTJiZmUwMjVjZDE5YTVhZDM4YjEwYzk2cC0xMywKKyAgICAweDEuZmZmZmZlcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS4wMDA0MDAwYWFhYzAwMDIyMjI0ZmE1MmU1MzE5MzFjMXAtMTMsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuMDAwNDAyMGFiYWMwNDAzMmNkN2JhNzMwY2ZlYjhjMWVwLTEzLAorICAgIDB4MS4wMDAwMDJwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTY5NjM4NDFjNXAtMSwKKyAgICAtMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTY5NjJiOGNkZXAtMSwKKyAgICAtMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTY5NjI1MzI2OHAtMSwKKyAgICAtMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS5mZmZmZmZmZmZmZjhkZWU4OGE2ZGJkNTM0OThlMTNjY3AtMSwKKyAgICAtMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS5mZmZmZmZmZmZmZjhkZWU2YzIyN2E2ZTVmODc1OTk3ZnAtMSwKKyAgICAtMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5mZmZmZmZmZmZmZjhkZWU1ZGUwNDcwZThiYTNlOTA2N3AtMSwKKyAgICAtMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5mZmZmZmMzOTU1MDE3Nzk2YTUwODJjM2YyN2FjZDMyMXAtMSwKKyAgICAtMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5mZmZmZmMzOTU0ODhhMjJmNDZhNGIzNDExODE5YTJlZXAtMSwKKyAgICAtMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgLTB4MS5mZmZmZmMzOTU0NGMzNzc1ZWQ3MWUxZWFiMThhNzAyMXAtMSwKKyAgICAtMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS5mZmQ0MDdjMGI3NjNiYjJjNmM2ZDFmMzcyYzdiZThkOHAtMSwKKyAgICAtMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS5mZmQ0MDdiZGY3ZGZiMGE2ODgwNjU3MzBmZTAyMzFjMnAtMSwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5mZmQ0MDdiYzk4MWQ5YWU2N2QzYmRmNTEyNTg3MWU4MHAtMSwKKyAgICAtMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5mNjlmNTU2ZWY0YjczYTMzYTcxODg0MjdkODQ3NzhlNHAtMSwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS5mNjlmNTUyM2VmNjE4NWM0MGJhODdmNjY5ZWE4ZWUxNXAtMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS5mNjlmNTRmZTZjYjVjYTdjM2E3YjAzODI4YTBlODFlYnAtMSwKKyAgICAtMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS5iYWI1NTY4NjJjYTBlMzIzNWQ0OTdlNjcwMzc2ZDcxZnAtMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS5iYWI1NTU3MTAxZjhkMTgwOTIyNDU0N2I0YmY1YWEzOHAtMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS5iYWI1NTRlNjZjYTMyOGVmMmU0Y2Y2MDJmNTcwOWYxM3AtMSwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTB4MS40M2E1NGZjNzRkZTgyYmU0MWI1NzMwODlmN2FjMDM2NHAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTB4MS40M2E1NGU0ZTk4ODY0MWNhOGE0MjcwZmFkZjU2MGRlNHAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS40M2E1NGQ5MjNkZDQzMjM1Yjc4YzIzNTU0N2VjOWNkY3AtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS40MjU5MzIzOTAyZGJjNmU2MmUzZTA3YmUyNmNkOTA0Y3A5MiwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuNDI1OTgyY2Y1OTdjZDIwNWNlM2Q1YjNlZGIwMzE3NTZwOTIsCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLjQyNWEyM2ZjNDMyZmI1ZDU1NjAwNmEzZDhlN2VlMTFicDkyLAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS4xZjQzZDhkYzM5MDRiOGVkODdhNWFiZDUwNjIxNzA2YXA0NiwKKyAgICAweDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuMWY0M2ZjYzRiNjVlYzdkODQ3ODg0MDE4NDIxNzQwNzRwNDYsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjFmNDQ0NDk1YmU4YTE2MTZhMWU1ZTM4ODc3OWJjMTQ2cDQ2LAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS4wZjJlYWExNzk0YjhmM2VkYjVjMTBkMjZhNTFmNDIwZnAyMywKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuMGYyZWJiMGE4MDAyMDQ5MjIzZjE3MDg4MmI1ZWU1ZWZwMjMsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLjBmMmVkY2YwNTljMWIyMjMxMmJlZDk2NDAwNmVlNjMzcDIzLAorICAgIDB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS43NDdlOWMyZjdiYjZjZjVhMjc2ZWUwODIzNmMyZDZjM3AxMSwKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuNzQ3ZWE3ZDQ3MGM2ZGYwYmUwMGUwODRhODE1ZDFkZTZwMTEsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjc0N2ViZjFlNWJmZTc1NzAxOWRlNGUyMmIxMTNmZGU5cDExLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5hY2M4ZmMwZjRmYTdhMmYyNDU5YTZlZjUzYzMxNWYwZnA1LAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5hY2M5MDJlMjczYTU4Njc4ZDZkM2JmZGI5M2RiOTZkMHA1LAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS5hY2M5MTA4OGJiZjMzMzM2ZjBlZTUyYjFhZDg1OGU0M3A1LAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS45OGU2NDdkYjgxNDc3M2Y0MTkyNjJlZTQ3N2E5ODYxNnAyLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS45OGU2NGI4ZDRkZGFkY2MzM2EzYmEyMDZiNjhhYmJhOHAyLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS45OGU2NTJmMGU3MTdkOTJkMTVjZDYxMDAyMmFlNTFlM3AyLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS5iN2UxNGVhYWE5OWQyM2QwN2E4NDM4NTRmODBlYjk2NXAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuYjdlMTUxNjI4YWVkMmE2YWJmNzE1ODgwOWNmNGYzYzdwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuYjdlMTU2ZDI0ZDk1NWY0MzQwMmIxYWYyZDI3NTkxYzJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjk5OTk5YXAxMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjE5OTk5YXAxMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjY2NjY2OHAxMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmIzMzMzNHAxMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgLTB4MS5wMCwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS42MjQwNDkwYTE2NTYyMGQ5YjkyMmFhYTIyYThlNGMwOXA0LAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuZTlkZmRkYTUxYTE2Y2I2YTZjMjk0NDllNzNkY2VhYmFwLTEsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5lN2JkYmFjZTQxMDk5OTRjMjU1NTY1NzM0N2QwMmY3N3AxLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIC0weDEuOTU5MGNmMzIzMDQwYjA2Y2E1NWE1MDYxNjJhNzQyZjVwLTEsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5iN2UxNTZkMjRkOTU1ZjQzNDAyYjFhZjJkMjc1OTFjMnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC0weDEuNDNhNTRmYzc0ZGU4MmJlNDFiNTczMDg5ZjdhYzAzNjRwLTEsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5iN2UxNTE2MjhhZWQyYTZhYmY3MTU4ODA5Y2Y0ZjNjN3AwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuNDNhNTRlNGU5ODg2NDFjYThhNDI3MGZhZGY1NjBkZTRwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5iN2UxNGVhYWE5OWQyM2QwN2E4NDM4NTRmODBlYjk2NXAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLjQzYTU0ZDkyM2RkNDMyMzViNzhjMjM1NTQ3ZWM5Y2RjcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjMxN2FjZGY2YzU2NjMyMDE5ODBlYzY5YmQ3NDg2OGFjcDAsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuMTY4ZjQ3NmUxNmE4ZmVhYTIxODNiNDg2ZmVkMGU1Y2VwLTEsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkcC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuZmZmZmY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAtMHgxLmZmZmZmN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDksCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLmZmZmYwODJlNmM3ZmVkMWQzZmQ1Y2ZmN2UxZjYwNThmcDEyNywKKyAgICAweDEuNjJlNDJlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjYyZTQzMHA2CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZmFic19pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZmFic19pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJkYjBjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9mYWJzX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDQ5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2ZhYnNfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEucC0xMCwKKyAgICAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLnAxMDAwLAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDE5OQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDIwMCwKKyAgICAweDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDIwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAxMDAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDE5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDE5CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucDIwLAorICAgIDB4MS4wcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxNAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAxNSwKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDE1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEucDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5wOSwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEucDcsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLnA1LAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wNCwKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEucDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLnAyLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5wMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5wLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEucC0yLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLnAtMywKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5wLTQsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC02LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEucC01LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLnAtNywKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC03LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLnAtOSwKKyAgICAweDEuMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC05LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLnAtMTAsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5wLTE1LAorICAgIDB4MS4wcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEucC0yMCwKKyAgICAweDEuMHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEucC0xMDAsCisgICAgMHgxLjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0yMDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIwMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLnAtMjAwLAorICAgIDB4MS4wcC0yMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMjAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMTAwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLnAtMTAwMCwKKyAgICAweDEuMHAtMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDAwCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODBwMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODBwMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjkyMWZiNTQ0NDJkMTgwcDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTgwcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEucDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuOTIxZmI1NDQ0MmQxODBwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuOTIxZmI1NDQ0MmQxODBwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZmFic2ZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2ZhYnNmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjQyNmI2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2ZhYnNmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDQ0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19mYWJzZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS5wLTEwLAorICAgIC0weDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmZmZmZmZXA5OSwKKyAgICAweDEuZmZmZmZlcDk5CisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS5wMTAwLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5mZmZmZmVwMTksCisgICAgMHgxLmZmZmZmZXAxOQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDIwLAorICAgIDB4MS5wMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjAwMDAwMnAyMCwKKyAgICAweDEuMDAwMDAycDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuZmZmZmZlcDE0LAorICAgIDB4MS5mZmZmZmVwMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjAwMDAwMnAxNSwKKyAgICAweDEuMDAwMDAycDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLjAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLmZmZmZmZXA4LAorICAgIDB4MS5mZmZmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnA5LAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjAwMDAwMnA5LAorICAgIDB4MS4wMDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLmZmZmZmZXA2LAorICAgIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLnA3LAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjAwMDAwMnA3LAorICAgIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmZmZmZmZXA0LAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLnA1LAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjAwMDAwMnA1LAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmZmZmZmZXAzLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLnA0LAorICAgIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjAwMDAwMnA0LAorICAgIDB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmZmZmZmZXAyLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjAwMDAwMnAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLnAyLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjAwMDAwMnAyLAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuZmZmZmZlcC0zLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5wLTIsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjAwMDAwMnAtMiwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmZmZlcC00LAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5wLTMsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjAwMDAwMnAtMywKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuZmZmZmZlcC01LAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5wLTQsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjAwMDAwMnAtNCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZmZmZmZlcC02LAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5wLTUsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjAwMDAwMnAtNSwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZlcC04LAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5wLTcsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjAwMDAwMnAtNywKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmZmZmZlcC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLnAtOSwKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuMDAwMDAycC05LAorICAgIDB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEucC0xMCwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5mZmZmZmVwLTE2LAorICAgIDB4MS5mZmZmZmVwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEucC0xNSwKKyAgICAweDEucC0xNQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjAwMDAwMnAtMTUsCisgICAgMHgxLjAwMDAwMnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5mZmZmZmVwLTIxLAorICAgIDB4MS5mZmZmZmVwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEucC0yMCwKKyAgICAweDEucC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjAwMDAwMnAtMjAsCisgICAgMHgxLjAwMDAwMnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5mZmZmZmVwLTEwMSwKKyAgICAweDEuZmZmZmZlcC0xMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5wLTEwMCwKKyAgICAweDEucC0xMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS4wMDAwMDJwLTEwMCwKKyAgICAweDEuMDAwMDAycC0xMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuOTIxZmI2cDEsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuOTIxZmI2cDEsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjkyMWZiNnAwLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjkyMWZiNnAwLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuOTIxZmI2cC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS45MjFmYjZwLTEsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS4wMDAwMDJwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS4wMDAwMDJwLTEyNiwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEucC0xNDgsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDAuMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMC4wLAorICAgIC0wLjBmCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZmRpbV9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZmRpbV9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ0OGQ5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9mZGltX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE3ODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlPiBnX2ZkaW1faW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEuMzM0ZDZhMTYxZTRmNDhwLTIsCisgICAgLTB4MS45OTk5OTk5OTk5OTlmcC0zLAorICAgIC0weDEuMDAwZDFiNzE3NThlMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuOTliM2QwN2M4NGI1YzhwLTIsCisgICAgLTB4MS45OTk5OTk5OTk5OTlmcC0zLAorICAgIC0weDEuMzM0MDRlYTRhOGMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuOTk5OTk5OTk5OTk5ODhwLTEyLAorICAgIC0weDEuOTk5OTk5OTk5OTk5ZnAtMTMsCisgICAgLTB4MS4zMzMzMzMzMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZjA3YzFmMDdjMWYwZjhwLTEyLAorICAgIC0weDEuZGJjYzQ4Njc2ZjJmOXAtMTMsCisgICAgLTB4MS42ZjMxMjE5ZGJjYzQ2cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuMTExZTJjODI4NjlmMThwLTEsCisgICAgLTB4MS5kZGRkZGRkZGRkZGUxcC0yLAorICAgIC0weDEuMDAwNjhkYjhiYWM3MXAwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS4xMTFlMmM4Mjg2OWVhOHAtMSwKKyAgICAtMHgxLmRkZGRkZGRkZGRkZWZwLTIsCisgICAgLTB4MS4wMDA2OGRiOGJhYzcxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLnAxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5hZjI4NmJjYTFhZjMwODAwMDAwMDAwMDAwMDgwcC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01NywKKyAgICAtMHgxLmFmMjg2YmNhMWFmMzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcDM1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzNTAsCisgICAgMHgxLmFmMjg2YmNhMWFmMjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmFmMjg2YmNhMWFmMzA4MDA4MDAwMDAwMDAwODBwLTQsCisgICAgMHgxLjAwMTAwMDAwMDAwMDFwLTU3LAorICAgIC0weDEuYWYyODZiY2ExYWYzMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjBjMzBjMzBjMzBjMzA4cC0xMCwKKyAgICAweDEuODYxODYxODYxODYxMHAtMTUsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmE0OTI0OTI0OTI0OTM4cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC00LAorICAgIC0weDEuMjQ5MjQ5MjQ5MjQ5NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjdmZmZmZmZmZmZmZmY4cC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtNTMsCisgICAgLTB4MS4wcC01MQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjlwLTEwNjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDAuMCwKKyAgICAtMHgxLjRwMywKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAxLAorICAgIC0weDEuMHAzLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEucDIsCisgICAgLTB4MS44cDIsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS44MHAyLAorICAgIC0weDEuMHAyLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEucDMsCisgICAgLTB4MS4wcDEsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS40MHAzLAorICAgIDAuMCwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjgwcDMsCisgICAgMHgxLjBwMSwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmMwcDMsCisgICAgMHgxLjBwMiwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLnA0LAorICAgIDB4MS44cDIsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS4yMHA0LAorICAgIDB4MS4wcDMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS40MHA0LAorICAgIDB4MS40cDMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDAuMCwKKyAgICAtMHgxLjhwLTEwNzMsCisgICAgLTB4MS44cC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAwLjAsCisgICAgLTB4MS44cC0xMDczLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMC4wLAorICAgIC0weDEuOHAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDAuMCwKKyAgICAtMHgxLjhwLTEwNzMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMC4wLAorICAgIC0weDEuOHAtMTA3MywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMC4wLAorICAgIC0weDEuOHAtMTA3MywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMC4wLAorICAgIC0weDEuOHAtMTA3MywKKyAgICAweDEuOHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgLTB4MS44cC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDczLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAweDEuOHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS44cC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjhwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS44MHAtMTA3MywKKyAgICAtMC4wLAorICAgIC0weDEuOHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLnAtMTA3MywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuOHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLnAtMTA3MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjhwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS44MHAtMTA3MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjhwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS40MHAtMTA3MiwKKyAgICAweDEuMHAtMTA3MywKKyAgICAtMHgxLjhwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5wLTEwNzIsCisgICAgMHgxLjBwLTEwNzMsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuODBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDczLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDczLAorICAgIDB4MS44cC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuODBwLTEwNzIsCisgICAgMHgxLjhwLTEwNzMsCisgICAgLTB4MS44cC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuNDBwLTEwNzIsCisgICAgMHgxLjhwLTEwNzMsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEucC0xMDcyLAorICAgIDB4MS44cC0xMDczLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLjgwcC0xMDczLAorICAgIDB4MS44cC0xMDczLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjhwLTEwNzMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjhwLTEwNzMsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDAuMCwKKyAgICAweDEuOHAtMTA3MywKKyAgICAweDEuOHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDI0CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQsCisgICAgMHgxLjBwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIzLAorICAgIDB4MS4wcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMsCisgICAgMHgxLjBwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgMHgxLjBwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLnAtMTAzLAorICAgIDB4MS4wcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAwLjAsCisgICAgMHgxLjBwLTUwLAorICAgIDB4MS4wcC01MAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDAuMCwKKyAgICAweDEuMHAtNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjgwcC0xMDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5wLTEwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAsCisgICAgMHgxLjBwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEucC02MywKKyAgICAweDEuMHAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMC4wLAorICAgIDB4MS4wcC0xMCwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS44MHAtNjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5wLTYyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMCwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5wLTU0LAorICAgIDB4MS4wcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMC4wLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMC4wLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjgwcC01MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5wLTUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLnAtNTIsCisgICAgMHgxLjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMC4wLAorICAgIDB4MS4wcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDAuMCwKKyAgICAweDEuMHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuODBwLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5wLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5wLTQzLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAwLjAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAwLjAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuODBwLTQyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEucC00MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5wLTMsCisgICAgMHgxLjBwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAwLjAsCisgICAgMHgxLjBwNTAsCisgICAgMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAwLjAsCisgICAgMHgxLjBwNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuODBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEucC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwLAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLnA5NzAsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMC4wLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDAuMCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuODBwOTcxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5wOTcxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAwLjAsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLnAtMTAyMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAwLjAsCisgICAgMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5wMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLnAwLAorICAgIC0wLjAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLnAtNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDAuMCwKKyAgICAtMHgxLjBwMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDAuMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDAuMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAwLjAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZmRpbWZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2ZkaW1mX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjA1OTgzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2ZkaW1mX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE3OTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxmbG9hdCwgZmxvYXQsIGZsb2F0PiBnX2ZkaW1mX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjg2MTg2MXAtMTQsCisgICAgLTB4MS44NjE4N2VwLTE1LAorICAgIC0weDEuMjQ5MjUwcC0xMworICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMzM0ZDY5cC0yLAorICAgIC0weDEuOTk5OTllcC0zLAorICAgIC0weDEuMDAwZDFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS45OWIzZDFwLTIsCisgICAgLTB4MS45OTk5OWVwLTMsCisgICAgLTB4MS4zMzQwNTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjk5OTk5OXAtMTIsCisgICAgLTB4MS45OTk5OWVwLTEzLAorICAgIC0weDEuMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuMTExZTJicC0xLAorICAgIC0weDEuZGRkZGUycC0yLAorICAgIC0weDEuMDAwNjhlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjExMWUyOXAtMSwKKyAgICAtMHgxLmRkZGRlNnAtMiwKKyAgICAtMHgxLjAwMDY4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4wNGE3ODFwLTExLAorICAgIC0weDEuZjZiMGZlcC0xMiwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjAyOTYwYnAtMTEsCisgICAgLTB4MS5mYWQzZWFwLTEyLAorICAgIC0weDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDEsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmYyODZiYWMwcDczLAorICAgIDB4MS4wMDAwMDJwNzMsCisgICAgMHgxLmFmMjhhOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjI0OTI2OXAtMiwKKyAgICAweDEuMDhwLTIxLAorICAgIC0weDEuMjQ5MjQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuYWYyODUxcC00LAorICAgIDB4MS4wOHAtMjMsCisgICAgLTB4MS5hZjI4MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS4wMDAwMjFwLTI0LAorICAgIDB4MS4wOHAtNDMsCisgICAgLTB4MS5wLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuNGZmNGQzcDMsCisgICAgMHgxLjA4M2QyOHAyLAorICAgIC0weDEuOTdhYzdlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuOTBwLTE0MworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDAuMCwKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEucDEsCisgICAgLTB4MS5wMywKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5wMiwKKyAgICAtMHgxLjgwcDIsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuODBwMiwKKyAgICAtMHgxLnAyLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLnAzLAorICAgIC0weDEucDEsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuNDBwMywKKyAgICAwLjAsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuODBwMywKKyAgICAweDEucDEsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuYzBwMywKKyAgICAweDEucDIsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucDQsCisgICAgMHgxLjgwcDIsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuMjBwNCwKKyAgICAweDEucDMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuNDBwNCwKKyAgICAweDEuNDBwMywKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDAuMCwKKyAgICAtMHgxLjgwcC0xNDgsCisgICAgLTB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAwLjAsCisgICAgLTB4MS44MHAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDAuMCwKKyAgICAtMHgxLjgwcC0xNDgsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMC4wLAorICAgIC0weDEuODBwLTE0OCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDAuMCwKKyAgICAtMHgxLjgwcC0xNDgsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAwLjAsCisgICAgLTB4MS44MHAtMTQ4LAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMC4wLAorICAgIC0weDEuODBwLTE0OCwKKyAgICAweDEuODBwLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMC4wLAorICAgIC0weDEucC0xNDgsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OCwKKyAgICAweDEuODBwLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuODBwLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjgwcC0xNDgsCisgICAgMC4wLAorICAgIC0weDEuODBwLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLnAtMTQ4LAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEucC0xNDksCisgICAgMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjgwcC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5wLTE0NywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuODBwLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuNDBwLTE0NywKKyAgICAweDEucC0xNDgsCisgICAgLTB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEucC0xNDcsCisgICAgMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS44MHAtMTQ4LAorICAgIDB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDAuMCwKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS44MHAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuODBwLTE0NywKKyAgICAweDEuODBwLTE0OCwKKyAgICAtMHgxLjgwcC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS40MHAtMTQ3LAorICAgIDB4MS44MHAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5wLTE0NywKKyAgICAweDEuODBwLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuODBwLTE0OCwKKyAgICAweDEuODBwLTE0OCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5wLTE0OCwKKyAgICAweDEuODBwLTE0OCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuODBwLTE0OCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDAuMCwKKyAgICAweDEuODBwLTE0OCwKKyAgICAweDEuODBwLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS4wMDAwMDRwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDAuMCwKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAwLjAsCisgICAgMHgxLnAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMDAwMDA0cC0xMjcsCisgICAgMHgxLnAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTUxLAorICAgIDB4MS5mZmZmZmVwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtNTEsCisgICAgMHgxLnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC01MSwKKyAgICAweDEuMDAwMDAycC01MAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5wLTc0LAorICAgIDB4MS5wLTUwLAorICAgIDB4MS5mZmZmZmVwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMC4wLAorICAgIDB4MS5wLTUwLAorICAgIDB4MS5wLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMC4wLAorICAgIDB4MS5wLTUwLAorICAgIDB4MS4wMDAwMDJwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLjgwcC03MywKKyAgICAweDEuMDAwMDAycC01MCwKKyAgICAweDEuZmZmZmZlcC01MQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5wLTczLAorICAgIDB4MS4wMDAwMDJwLTUwLAorICAgIDB4MS5wLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTUwLAorICAgIDB4MS4wMDAwMDJwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS4wMDAwMDJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLnAtMzQsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAwLjAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAwLjAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuODBwLTMzLAorICAgIDB4MS4wMDAwMDJwLTEwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLnAtMzMsCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEucC0yNSwKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAwLjAsCisgICAgMHgxLnAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMC4wLAorICAgIDB4MS5wLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS44MHAtMjQsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAtMjQsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5wLTIzLAorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAwLjAsCisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDAuMCwKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjgwcC0yMiwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLnAtMjIsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEucC0xNCwKKyAgICAweDEucDEwLAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDAuMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAwLjAsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLjgwcC0xMywKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5wLTEzLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEuZmZmZmZlcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwNDksCisgICAgMHgxLnA1MAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDQ5LAorICAgIDB4MS4wMDAwMDJwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEucDI2LAorICAgIDB4MS5wNTAsCisgICAgMHgxLmZmZmZmZXA0OQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDAuMCwKKyAgICAweDEucDUwLAorICAgIDB4MS5wNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAwLjAsCisgICAgMHgxLnA1MCwKKyAgICAweDEuMDAwMDAycDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLjgwcDI3LAorICAgIDB4MS4wMDAwMDJwNTAsCisgICAgMHgxLmZmZmZmZXA0OQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS5wMjcsCisgICAgMHgxLjAwMDAwMnA1MCwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwNTAsCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5wMTAzLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMC4wLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMC4wLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLjgwcDEwNCwKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5wMTA0LAorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS4wMDAwMDJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMC4wLAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuMDAwMDAycC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuZmZmZmZlcC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEucC0xMjUsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwMCwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLmZmZmZmY3AtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLmZmZmZmZXAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcDAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS4wMDAwMDJwLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5wMCwKKyAgICAwLjBmLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEucDAsCisgICAgLTAuMGYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAwLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLnAtMjQsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAwLjAsCisgICAgLTB4MS5wMCwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAwLjAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAwLjAsCisgICAgLTB4MS5wMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAwLjAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMC4wLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVwMTI3LAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucDAsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDAuMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZHAxMjcsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2Zsb29yX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9mbG9vcl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEyMTZkZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9mbG9vcl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMzM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfZmxvb3JfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAwLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wMCwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEucDEsCisgICAgMHgxLjNmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5wMSwKKyAgICAweDEuNDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuOGNwNiwKKyAgICAweDEuOGZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45MHA2LAorICAgIDB4MS45MjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mMzgwcDksCisgICAgMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDQwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5mZmZmZmZmZmZmZmY4MHA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLnA1MCwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDUxLAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEucDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5wNTIsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDUzLAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnA1NCwKKyAgICAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS44MHAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40MDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS44MHAxLAorICAgIC0weDEuM2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLjk0cDYsCisgICAgLTB4MS45MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjlwNgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOGZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLjk0cDYsCisgICAgLTB4MS45MjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkyMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLjk0cDYsCisgICAgLTB4MS45MWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuZjQ4MHA5LAorICAgIC0weDEuZjQwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDBwOQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjNmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLmY0ODBwOSwKKyAgICAtMHgxLmY0NDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDNmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMDAwMDAwMDAwMDAwNDBwNTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLnA1MCwKKyAgICAtMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEucDUwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA1MSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEucDUxLAorICAgIC0weDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wNTIsCisgICAgLTB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLnA1MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnA1MywKKyAgICAtMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1NAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS5wNTQsCisgICAgLTB4MS4wcDU0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmZmZmZmZjhwMjksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5wMzAsCisgICAgMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5wMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmZmNHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZTBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZlMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEucDMxLAorICAgIDB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAxMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmZmZmZmZmUwcDMwLAorICAgIDB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLmZmZmZmZmU0cDMwLAorICAgIDB4MS5mZmZmZmZlNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZmZmZmZmZThwMzAsCisgICAgMHgxLmZmZmZmZmU4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5mZmZmZmZlY3AzMCwKKyAgICAweDEuZmZmZmZmZWMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmZmZmZmZmYwcDMwLAorICAgIDB4MS5mZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAzMSwKKyAgICAweDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS4wMDAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAwMDIwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS4wMDAwMDAwNHAzMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZjgwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY3ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYTAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmY5ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmUwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmUwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS4wMDAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLjAwMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuMDAwMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS4wMDAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLjAwMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAwMDEwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS4wMDAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwZmZmZmZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLjAwMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucDY0LAorICAgIDB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDYyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEucDYyLAorICAgIC0weDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDYzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5wNjMsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2NCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuMDAwMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLjgwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5wMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuYzBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLnAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5lMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEucDQsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5wNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmYwcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5wNSwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLnA1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZjhwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLnA2LAorICAgIDB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEucDYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5mY3A2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEucDcsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5wNywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmZlcDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5wOCwKKyAgICAweDEuMHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuZmZwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLnA5LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEucDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLmZmYzBwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEucDExLAorICAgIDB4MS4wcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5mZmUwcDExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLnAxMiwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEucDIsCisgICAgMHgxLjFmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5wMiwKKyAgICAweDEuMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLnAyLAorICAgIDB4MS4yMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEucDMsCisgICAgMHgxLjBmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS5wMywKKyAgICAweDEuMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLnAzLAorICAgIDB4MS4xMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS5wNCwKKyAgICAweDEuMDgwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEucDQsCisgICAgMHgxLjA4MDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5wNSwKKyAgICAweDEuMDNmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLnA1LAorICAgIDB4MS4wNDBwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5wNSwKKyAgICAweDEuMDQwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLnA2LAorICAgIDB4MS4wMWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEucDYsCisgICAgMHgxLjAyMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLnA2LAorICAgIDB4MS4wMjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5wNywKKyAgICAweDEuMDEwcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEucDcsCisgICAgMHgxLjAxMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5wOCwKKyAgICAweDEuMDA3ZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDhwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5wOCwKKyAgICAweDEuMDA4MDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDNmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEucDksCisgICAgMHgxLjAwNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDQwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDFmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAyMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDVmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwNnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDYwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMTAwMDAwMDAwMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA3ZmZmZmZmZmZmcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwODBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA4MDAwMDAwMDAxcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuODBwMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS5wMiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS5wMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMC4wLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEucDAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0weDEucDAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnAwLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLnAxLAorICAgIC0weDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLnAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMC4wLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0weDEucDAsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLnAwLAorICAgIDB4MS44MDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuN2ZmZmZwMAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2Zsb29yZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZmxvb3JmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmYyYzlmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2Zsb29yZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMzM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2Zsb29yZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEucDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDAuMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMC4wLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5wMCwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAwLAorICAgIDB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLnAxLAorICAgIDB4MS4zZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAxLAorICAgIDB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEucDEsCisgICAgMHgxLjQwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuOGNwNiwKKyAgICAweDEuOGZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS45MHA2LAorICAgIDB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS45MHA2LAorICAgIDB4MS45MWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45MHA2LAorICAgIDB4MS45MjAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmYzODBwOSwKKyAgICAweDEuZjNmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0NDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmZmZmYwcDIwLAorICAgIDB4MS5mZmZmZmVwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5wMjEsCisgICAgMHgxLnAyMQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLnAyMSwKKyAgICAweDEuMDAwMDAycDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuZmZmZmY4cDIxLAorICAgIDB4MS5mZmZmZmVwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5wMjIsCisgICAgMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLnAyMiwKKyAgICAweDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmZmZmZjcDIyLAorICAgIDB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5wMjMsCisgICAgMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZmZmZmZlcDIzLAorICAgIDB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5wMjQsCisgICAgMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjAwMDAwMnAyNCwKKyAgICAweDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmZmZmZlcDI0LAorICAgIDB4MS5mZmZmZmVwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wMjUsCisgICAgMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMDAwMnAyNSwKKyAgICAweDEuMDAwMDAycDI1CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEucDEsCisgICAgLTB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEucDEsCisgICAgLTB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS44MHAxLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEucDEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS44MHAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS44MHAxLAorICAgIC0weDEuM2ZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS44ZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS45NHA2LAorICAgIC0weDEuOTIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkxZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmY0ODBwOSwKKyAgICAtMHgxLmY0MDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mM2ZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuZjQ4MHA5LAorICAgIC0weDEuZjQzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMDAwMDA4cDIxLAorICAgIC0weDEuMDAwMDAycDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLnAyMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5wMjEsCisgICAgLTB4MS5mZmZmZmVwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuMDAwMDA0cDIyLAorICAgIC0weDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLnAyMiwKKyAgICAtMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wMjIsCisgICAgLTB4MS5mZmZmZmVwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMDAwMDAycDIzLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnAyMywKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5wMjMsCisgICAgLTB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMDAwMDAycDI1LAorICAgIC0weDEuMDAwMDAycDI1CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLnAyNSwKKyAgICAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZmZmZmVwMjQsCisgICAgLTB4MS5mZmZmZmVwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5mZmZmZmVwMjksCisgICAgMHgxLmZmZmZmZXAyOQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLnAzMCwKKyAgICAweDEucDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuMDAwMDAycDMwLAorICAgIDB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS4wMDAwMDJwMzAsCisgICAgLTB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuZmZmZmZlcDI5LAorICAgIC0weDEuZmZmZmZlcDI5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuZmZmZmZjcDYxLAorICAgIDB4MS5mZmZmZmNwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZmZmZmZlcDYxLAorICAgIDB4MS5mZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEucDYyLAorICAgIDB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMDAwMDAycDYyLAorICAgIDB4MS4wMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDAwMDA0cDYyLAorICAgIDB4MS4wMDAwMDRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZmZmZmZjcDYyLAorICAgIDB4MS5mZmZmZmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZmZmZmZlcDYyLAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAycDYzLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDAwMDA0cDYzLAorICAgIDB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIDB4MS5mZmZmZmNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZlcDYzLAorICAgIDB4MS5mZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucDY0LAorICAgIDB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuMDAwMDAycDY0LAorICAgIDB4MS4wMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuMDAwMDA0cDY0LAorICAgIDB4MS4wMDAwMDRwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjAwMDAwNHA2MiwKKyAgICAtMHgxLjAwMDAwNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMDAwMDAycDYyLAorICAgIC0weDEuMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wNjIsCisgICAgLTB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmZmZmZmZXA2MSwKKyAgICAtMHgxLmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuZmZmZmZjcDYxLAorICAgIC0weDEuZmZmZmZjcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4wMDAwMDRwNjMsCisgICAgLTB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjAwMDAwMnA2MywKKyAgICAtMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmVwNjIsCisgICAgLTB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmY3A2MiwKKyAgICAtMHgxLmZmZmZmY3A2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDA0cDY0LAorICAgIC0weDEuMDAwMDA0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDJwNjQsCisgICAgLTB4MS4wMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZlcDYzLAorICAgIC0weDEuZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZmNwNjMsCisgICAgLTB4MS5mZmZmZmNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEucDYyLAorICAgIDB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLjgwcDEsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAyLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5wMiwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuYzBwMiwKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEucDMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5lMHAzLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5wNCwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucDQsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmYwcDQsCisgICAgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLnA1LAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5wNSwKKyAgICAweDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZjhwNSwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEucDYsCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLnA2LAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5mY3A2LAorICAgIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5wNywKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEucDcsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmZlcDcsCisgICAgMHgxLmZmZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLnA4LAorICAgIDB4MS5wOAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5wOCwKKyAgICAweDEuMDAwMDAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuZmZwOCwKKyAgICAweDEuZmZmZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEucDksCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLmZmYzBwMTAsCisgICAgMHgxLmZmZmZmZXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS5wMTEsCisgICAgMHgxLnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMDAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5mZmUwcDExLAorICAgIDB4MS5mZmZmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEucDEyLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDAwMDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEucDIsCisgICAgMHgxLjFmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLnAyLAorICAgIDB4MS4yMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLnAyLAorICAgIDB4MS4yMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5wMywKKyAgICAweDEuMGZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEucDMsCisgICAgMHgxLjEwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEucDMsCisgICAgMHgxLjEwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLnA0LAorICAgIDB4MS4wN2ZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS5wNCwKKyAgICAweDEuMDhwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5wNCwKKyAgICAweDEuMDgwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEucDUsCisgICAgMHgxLjAzZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLnA1LAorICAgIDB4MS4wNHA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLnA1LAorICAgIDB4MS4wNDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5wNiwKKyAgICAweDEuMDFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEucDYsCisgICAgMHgxLjAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEucDYsCisgICAgMHgxLjAyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLnA3LAorICAgIDB4MS4wMGZmZmVwNworICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5wNywKKyAgICAweDEuMDFwNworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5wNywKKyAgICAweDEuMDEwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucDgsCisgICAgMHgxLjAwN2ZmZXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDgwcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEucDgsCisgICAgMHgxLjAwODAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMWZmZXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDIwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA1ZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwNjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA2MDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwZmZlcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAxMHAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMTAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDdmZXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDhwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA4MDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS5wMiwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEucDEsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMC4wLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDAuMCwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnAwLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEucDEsCisgICAgMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAwLjAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0weDEucDAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLnAwLAorICAgIDB4MS44MDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAtMHgxLnAxLAorICAgIC0weDEuODAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuN2ZmZmYwcDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9mbWFfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2ZtYV9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYwNTk5NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9mbWFfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTM4MzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzNfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGU+IGdfZm1hX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2MHAwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuY2NjY2NjY2NjY2NjZHAtMSwKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjZwMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMTVmMTVmMTVmMTVlZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NkcC0xLAorICAgIDB4MS4xNWYxNWYxNWYxNWVlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS4wMDAwMDAwMDAwMDAyZmZmZmZmZmZmZmZmZmZmZmZmZnAtNDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcC00MQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjVmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjA3NTA3NTA3NTA3NTZwLTMsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjAwMDAwMDAwMDAwMDMwcC00MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNDQ0NDQ0NDQ0NDQzMHAtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS5mNGNjY2NjY2NjY2NjNzY2NjY2NjY2NjY2NjY4cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NkcC0xLAorICAgIC0weDEuZTY2NjY2NjY2NjY2NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4xYmU5YzA3YmVmM2FhMDAwMDAwMDBjYTNhY2MwcDAsCisgICAgMHgxLjMzMzMzNGJlOTBiN2RwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjJkYTg1YzJjOTM0MTZmZmZmZmZmZmQxYjQyYzBwMCwKKyAgICAweDEuNjY2NjY3MGYyNGFhNXAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuNmNlOTk5OTk5OTk5YzgwMjMzMzMzMzMzMzQ4MHAxNiwKKyAgICAweDEuODAwMDAwMDAwMDAwMXA0LAorICAgIDB4MS5lNjY2NjY2NjY2NjY5cDExLAorICAgIDB4MS5jY2NjY2NjY2NjY2NmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjYyYjgzYzQ0NjFjYzI4MDAwMDAwMDAwMWJjNDBwMCwKKyAgICAweDEuZmY4MTJlOGJjMmQxZnAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjA5NDJiMGRmNmEzMGU3ZmYzNTg2ZmI1ZmI1cDM5LAorICAgIDB4MS5mZmU3ZmZmZmZmZmZmcDQwLAorICAgIDB4MS4wOTRmMjA5NGYyMDk2cC0yLAorICAgIC0weDEuYmEyZThiYTJlOGJhMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjA2ZmI1ODZmYjU4NmY4cC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMSwKKyAgICAtMHgxLjhkZjZiMGRmNmIwZGZwLTEsCisgICAgMHgxLjhkZjZiMGRmNmIwZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5mZmZmZmZmZmZmZmY3MDAwMDAwMDAwMDAwNHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDA0cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZhMDAwMDAwMDAwMDAwNHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuMDAwMDAwMDAwMDAwMzdmZmZmZmZmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMDAwMDAwMDAwMDAwM2ZmZmZmZmZmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS4wMDAwMDAwMDAwMDA0ZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLmZmZmZmZmZmZmZmZjcwMDAwMDAwMDAwMDA4cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAwMDhwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5mZmZmZmZmZmZmZmZhMDAwMDAwMDAwMDAwOHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS4wMDAwMDAwMDAwMDAzN2ZmZmZmZmZmZmZmY3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuMDAwMDAwMDAwMDAwM2ZmZmZmZmZmZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjAwMDAwMDAwMDAwMDRmZmZmZmZmZmZmZmZjcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5mZmZmZmZmZmZmZmY3MDAwMDAwMDAwMDAwNHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDA0cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuZmZmZmZmZmZmZmZmYTAwMDAwMDAwMDAwMDRwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMzdmZmZmZmZmZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjAwMDAwMDAwMDAwMDNmZmZmZmZmZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDA0ZmZmZmZmZmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZmZmZmZmZmZmZmZmNzBwLTIsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5mZmZmZmZmZmZmZmY4MHAtMiwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLmZmZmZmZmZmZmZmZmEwcC0yLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEucC0xLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjAwMDAwMDAwMDAwMDM4cC0xLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS4wMDAwMDAwMDAwMDA0MHAtMSwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuMDAwMDAwMDAwMDAwNTBwLTEsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZmZmZmZmZmZmZmZmIwMDAwMDAwMDAwMDA0cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDRwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDA0cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxN2ZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjAwMDAwMDAwMDAwMDJmZmZmZmZmZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuZmZmZmZmZmZmZmZmYjAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwMDAwMDAwMDAwMDE3ZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjAwMDAwMDAwMDAwMDFmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZiMHAtMSwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMSwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEucDAsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMThwMCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwMCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS4wMDAwMDAwMDAwMDAzMHAwLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwN2ZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS4wcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjdmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmODBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmY4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0yLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS5wLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEucC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjdmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDBmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmY0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDA0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDI0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDE4cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcC01MgorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZmZmZmZmU4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZmZmZmZmY4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMThwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMDAwMDAwMDAwMDAwMzBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZmZmZmZmU4MHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MworICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS4wMDAwMDAwMDAwMDAyN2ZmZmZmZmZmZmZmZjgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTUyCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxODBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuMDAwMDAwMDAwMDAwMzBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuMDAwMDAwMDAwMDAwNDBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmY0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDA0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDI0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUzCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLjAwMDAwMDAwMDAwMDE4cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcC01MgorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZmZmZmZmU4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZmZmZmZmY4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuMDAwMDAwMDAwMDAwMThwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuMDAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuMDAwMDAwMDAwMDAwMzBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMDAwMDAwMDAwMDAwMjdmZmZmZmZmZmZmZmU4MHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MworICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS4wMDAwMDAwMDAwMDAyN2ZmZmZmZmZmZmZmZjgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTUyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxODBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMzBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuMDAwMDAwMDAwMDAwNDBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuMDAwMDAwMDAwMDAwNmZmZmZmZmZmZmZmZmM0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuMDAwMDAwMDAwMDAwNzAwMDAwMDAwMDAwMDA0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuMDAwMDAwMDAwMDAwNzAwMDAwMDAwMDAwMDg0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuMDAwMDAwMDAwMDAwNzdmZmZmZmZmZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjAwMDAwMDAwMDAwMDc4cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcC01MAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS4wMDAwMDAwMDAwMDA3ODAwMDAwMDAwMDAwOHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuMDAwMDAwMDAwMDAwODdmZmZmZmZmZmZmZmI4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuMDAwMDAwMDAwMDAwODdmZmZmZmZmZmZmZmY4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuMDAwMDAwMDAwMDAwODgwMDAwMDAwMDAwMDc4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEuMDAwMDAwMDAwMDAwNzdmZmZmZmZmZmZmZmNwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMDAwMDAwMDAwMDAwNzhwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuMDAwMDAwMDAwMDAwNzgwMDAwMDAwMDAwMDhwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZmNwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuMDAwMDAwMDAwMDAwODBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDhwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEuMDAwMDAwMDAwMDAwOGZmZmZmZmZmZmZmZmNwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuMDAwMDAwMDAwMDAwOTBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuMDAwMDAwMDAwMDAwOTAwMDAwMDAwMDAwMDhwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuMDAwMDAwMDAwMDAwODdmZmZmZmZmZmZmZmI4MHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS4wMDAwMDAwMDAwMDA4N2ZmZmZmZmZmZmZmZjgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLjAwMDAwMDAwMDAwMDg4MDAwMDAwMDAwMDA3ODBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuMDAwMDAwMDAwMDAwOGZmZmZmZmZmZmZmZmNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMDAwMDAwMDAwMDAwOTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDAwMDAwMDAwMDAwOTAwMDAwMDAwMDAwMDhwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMDAwMDAwMDAwMDAwOWZmZmZmZmZmZmZmZmRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuMDAwMDAwMDAwMDAwYTAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuMDAwMDAwMDAwMDAwYTAwMDAwMDAwMDAwMDlwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTU1CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwODBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAxODBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTU1CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmY0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmY4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODBwLTIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEucC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZjMHAtMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01NQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS4wMDAwMDAwMDAwMDAwOHAtMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcC01NAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDgwcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjAwMDAwMDAwMDAwMDE3ZmZmZmZmZmZmZmZmYzBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMThwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDA4MHAtMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01NAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZjQwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTU1CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmODBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTdmZmZmZmZmZmZmZmZjMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01NQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS4wMDAwMDAwMDAwMDAxOHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wcC01NAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS4wMDAwMDAwMDAwMDAxODAwMDAwMDAwMDAwMDgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjAwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAwYzBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDE4MHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01NAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMDdmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA4MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDk3MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5NzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDUxMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNTExLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNTExLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwN2ZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA4MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMDgwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAweDEuMHA1MTIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIDB4MS4wcDUxMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIDB4MS4wcDUxMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuN2ZmZmZmZmZmZmZmZjBwOTcyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA1MTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDk3MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA1MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS5wOTcxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDUxMSwKKyAgICAweDEuMHA1MTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDk3MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNTExLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5NzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEsCisgICAgMHgxLjBwNTEyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5wOTcxLAorICAgIDB4MS4wcDUxMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA1MTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAwLjAsCisgICAgMHgxLjBwNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5wOTcxLAorICAgIDB4MS4wcDUxMiwKKyAgICAweDEuMHA1MTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDk3MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEucDk3MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwOTcxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOTcxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwOTcwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuODBwOTcyLAorICAgIDB4MS4wcDEwMjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEucDk3MSwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAwLjAsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wcDEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS4wcDEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuMHAxLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wcDEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgLTB4MS4wcDEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuMHAxLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMDgwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwN2ZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMHAxLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuMHAxLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS43ZmZmZmZmZmZmZmZlNDAwMDAwMDAwMDAwMDQwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjdmZmZmZmZmZmZmZmVjMDAwMDAwMDAwMDAwNDBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuN2ZmZmZmZmZmZmZmZjQwMDAwMDAwMDAwMDA0MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS43ZmZmZmZmZmZmZmZlOHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS43ZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS43ZmZmZmZmZmZmZmZmOHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS43ZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZjgwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgMHgxLjdmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmODBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS43ZmZmZmZmZmZmZmZlODAwMDAwMDAwMDAwMDIwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjdmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuN2ZmZmZmZmZmZmZmZjgwMDAwMDAwMDAwMDAyMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS43ZmZmZmZmZmZmZmZlY3AxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43ZmZmZmZmZmZmZmZmNHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS43ZmZmZmZmZmZmZmZmY3AxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS43ZmZmZmZmZmZmZmZmM2ZmZmZmZmZmZmZmZmMwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLjdmZmZmZmZmZmZmZmZiZmZmZmZmZmZmZmZmYzBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuODAwMDAwMDAwMDAwMDNmZmZmZmZmZmZmZmZjMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS43ZmZmZmZmZmZmZmZlY3AxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS43ZmZmZmZmZmZmZmZmNHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43ZmZmZmZmZmZmZmZmY3AxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS43ZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS43ZmZmZmZmZmZmZmZmOHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS44MHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS43ZmZmZmZmZmZmZmZmOHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS44MHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS44MDAwMDAwMDAwMDAwOHAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS5mZmZmZmZmZmZmZmZkODAwMDAwMDAwMDAwMDgwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTgwMDAwMDAwMDAwMDA4MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmU4cDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMDQwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmU4MDAwMDAwMDAwMDAwNDBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDA0MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlOHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmN2ZmZmZmZmZmZmZmZjgwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLmZmZmZmZmZmZmZmZmU4cDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmQ4MDAwMDAwMDAwMDAwODBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA4MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlODAwMDAwMDAwMDAwMDgwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZThwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjdmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwNDBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTgwMDAwMDAwMDAwMDA0MHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDQwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmU4cDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmODBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZThwMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTgwMDAwMDAwMDAwMDA0MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwNDBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmOHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS4wMDAwMDAwMDAwMDAwNHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjgwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS4wMDAwMDAwMDAwMDAwM2ZmZmZmZmZmZmZmZmMwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgMHgxLjAwMDAwMDAwMDAwMDBiZmZmZmZmZmZmZmZmYzBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmY4cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjAwMDAwMDAwMDAwMDA0cDEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgMHgxLmZmZmZmZmZmZmZmZmY4cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLjAwMDAwMDAwMDAwMDA4cDEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMDRwMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDhwMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAzZmZmZmZmZmZmZmZmYzBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMGJmZmZmZmZmZmZmZmZjMHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS4wMDAwMDAwMDAwMDAwNHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwOHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuMDAwMDAwMDAwMDAwMGMwMDAwMDAwMDAwMDA4MHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDgwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTgwMDAwMDAwMDAwMDA4MHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC01NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC01MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLnAtNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS44MHAtNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmY4cC01MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmY3AtNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAtMHgxLjgwcC01MiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgLTB4MS5wLTUyLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDAuMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAtMHgxLnAtNTMsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDAuMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEucC01MiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAwLjAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEucC01MywKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLjgwcC01MiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgLTB4MS40MDAwMDAwMDAwMDAwOHAtNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuMDAwMDAwMDAwMDAwMDhwLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuODBwLTUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAtMHgxLnAtNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtNTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMDdmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmY3ZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmODBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmN2ZmZmZmcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmY4MHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMGZmZmZmZnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmY4MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIC0weDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmY4MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmN2ZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA3ZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgLTB4MS5wMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIC0weDEucDAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDBmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjgwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmY3ZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS4wMDAwMDAzZmZmZmZlZmZmZmZmZTAwMDAwMDQwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLjAwMDAwMDNmZmZmZmYwMDAwMDAwMDAwMDAwNDBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuMDAwMDAwM2ZmZmZmZjAwMDAwMDQwMDAwMDA0MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIDB4MS4wMDAwMDAzZmZmZmZmN2ZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLjAwMDAwMDNmZmZmZmY4cDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuMDAwMDAwM2ZmZmZmZjgwMDAwMDRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS4wMDAwMDA0MDAwMDAwN2ZmZmZmZGZmZmZmZjgwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuMDAwMDAwNDAwMDAwMDdmZmZmZmZmZmZmZmY4MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLjAwMDAwMDQwMDAwMDA4MDAwMDAzZmZmZmZmODBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS4wMDAwMDAzZmZmZmZmN2ZmZmZmZXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLjAwMDAwMDNmZmZmZmY4cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEuMDAwMDAwM2ZmZmZmZjgwMDAwMDRwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS4wMDAwMDAzZmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuMDAwMDAwNDBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgMHgxLjAwMDAwMDQwMDAwMDAwMDAwMDA0cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS4wMDAwMDA0MDAwMDAwZmZmZmZmZXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAweDEuMDAwMDAwNDAwMDAwMTBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLjAwMDAwMDQwMDAwMDEwMDAwMDA0cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS4wMDAwMDA0MDAwMDAwN2ZmZmZmZGZmZmZmZjgwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAweDEuMDAwMDAwNDAwMDAwMDdmZmZmZmZmZmZmZmY4MHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgMHgxLjAwMDAwMDQwMDAwMDA4MDAwMDAzZmZmZmZmODBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIDB4MS4wMDAwMDA0MDAwMDAwZmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEuMDAwMDAwNDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLjAwMDAwMDQwMDAwMDEwMDAwMDA0cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIDB4MS4wMDAwMDA0MDAwMDAxZmZmZmZmZTAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuMDAwMDAwNDAwMDAwMjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgMHgxLjAwMDAwMDQwMDAwMDIwMDAwMDA0MDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIC0weDEuZmZmZmZmODAwMDAwMTAwMDAwMDNmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgLTB4MS5mZmZmZmY4MDAwMDAwZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAtMHgxLmZmZmZmZjgwMDAwMDBmZmZmZmY3ZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIC0weDEuZmZmZmZmN2ZmZmZmZjAwMDAwMDRwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgLTB4MS5mZmZmZmY3ZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAtMHgxLmZmZmZmZjdmZmZmZmVmZmZmZmY4cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIC0weDEuZmZmZmZmN2ZmZmZmZTAwMDAwMDQwMDAwMDA4MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgLTB4MS5mZmZmZmY3ZmZmZmZlMDAwMDAwMDAwMDAwMDgwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAtMHgxLmZmZmZmZjdmZmZmZmRmZmZmZmY4MDAwMDAwODBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuZmZmZmZmODAwMDAwMjAwMDAwMDRwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAtMHgxLmZmZmZmZjgwMDAwMDIwcC0xLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgLTB4MS5mZmZmZmY4MDAwMDAxZmZmZmZmOHAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIC0weDEuZmZmZmZmODAwMDAwMDAwMDAwMDRwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAtMHgxLmZmZmZmZjgwcC0xLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgLTB4MS5mZmZmZmY3ZmZmZmZmZmZmZmZmOHAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuZmZmZmZmN2ZmZmZmZjAwMDAwMDRwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgLTB4MS5mZmZmZmY3ZmZmZmZmMHAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAtMHgxLmZmZmZmZjdmZmZmZmVmZmZmZmY4cC0xLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIC0weDEuZmZmZmZmODAwMDAwNDAwMDAwMDQwMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAtMHgxLmZmZmZmZjgwMDAwMDQwMDAwMDAwMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgLTB4MS5mZmZmZmY4MDAwMDAzZmZmZmZmODAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuZmZmZmZmODAwMDAwMjAwMDAwMDRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAtMHgxLmZmZmZmZjgwMDAwMDIwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5mZmZmZmY4MDAwMDAxZmZmZmZmOHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIC0weDEuZmZmZmZmODAwMDAwMTAwMDAwMDNmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgLTB4MS5mZmZmZmY4MDAwMDAwZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAtMHgxLmZmZmZmZjgwMDAwMDBmZmZmZmY3ZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNgorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmY4cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgLTB4MS44MHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgLTB4MS5wLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgLTB4MS44MHAwLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIC0weDEucC0xLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDAuMCwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAtMHgxLnAwLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMC4wLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMHgxLnAtMSwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDAuMCwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS5wMCwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS44MHAwLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS44MHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDhwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIDB4MS40MDAwMDAwMDAwMDAwOHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLjA4cC01LAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLjAwNDBwMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLnAtNCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLjA4cDAsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLnAtNCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMHgxLjA4cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLjA4cDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjIwcC0yLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAweDEuNDBwMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEuMDhwMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLnAxLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS4wMXAzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS4yMHAzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLjAwNDBwNSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjEKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS4wMDQwcDUsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLjAwMTBwNywKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS4wMnA3LAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDEyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjYKKyAgICAweDEuMDAwMnAxMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLjAwMDA4MHAxMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEyLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLjAwMDhwMywKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLjAwMDJwNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLjAxcDMsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLjAwNDBwNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAweDEuMDFwMywKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAweDEuMDA0MHA1LAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIDB4MS4yMHAzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLjA4cDUsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuMDhwMywKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEuMDJwNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEuMjBwMywKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEucDQsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAweDEuNDBwNSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIDB4MS40MHA1LAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTg1CisgICAgMHgxLnA2LAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLjQwcDUsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5wNiwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg4CisgICAgMHgxLjEwcDcsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS40MHA3LAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDEyLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEuMDJwMTAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgMHgxLjA4cDEwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIDB4MS4wMDgwcDEyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS4wMnAxMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEyLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEuMDAwMDEwcDEwLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLjAwMDAwNHAxMiwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS4wMDAycDEwLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAweDEuMDAwMDgwcDEyLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAweDEuMDAwMnAxMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgMHgxLjAwMDA4MHAxMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLjAwMTBwMTAsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS4wMDA0cDEyLAorICAgIDB4MS4wcC01LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS4wMnAxMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEuMDA4MHAxMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEuMDhwMTAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLjAycDEyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIDB4MS4wOHAxMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIDB4MS4wMnAxMiwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS4yMHAxMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS4wOHAxMiwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDYxNAorICAgIDB4MS5wMTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS40MHAxMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgMHgxLjQwcDEyLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAweDEucDEzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAweDEuMDAyMHA2LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLjAwMDhwOCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjEKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIDB4MS4wMDA4cDgsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLjAxcDgsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEuMDAwMnAxMCwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDYyNgorICAgIDB4MS4yMHA2LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLjgwcDYsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAweDEuMDhwOCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYyOQorICAgIDB4MS4yMHA4LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgMHgxLjA4cDgsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEuMjBwOCwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDYzMgorICAgIDB4MS4wMnAxMCwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS4wOHAxMCwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIDB4MS4xMHAxMCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAweDEuMDRwMTIsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLjQwcDEwLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS4xMHAxMiwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzgKKyAgICAweDEuNDBwMTAsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgMHgxLjEwcDEyLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5wMTEsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLjQwcDEyLAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIDB4MS4wMDAwNDBwMTMsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS4wMDA4cDEzLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIDB4MS4wMDAwMTBwMTUsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS4wMDAycDE1LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS4wMDAwMTBwMTUsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS4wMDAycDE1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS4wMDAwMDRwMTcsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS4wMDAwODBwMTcsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjAwNDBwMTMsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLjAxcDEzLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS4wMDEwcDE1LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIDB4MS4wMDQwcDE1LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS4wMDEwcDE1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIDB4MS4wMDQwcDE1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIDB4MS4wMDA0cDE3LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS4wMDEwcDE3LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS4yMHAxMywKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMHgxLjgwcDEzLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAweDEuMDhwMTUsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMiwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIDB4MS4yMHAxNSwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDEyLAorICAgIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLjA4cDE1LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICAweDEuMjBwMTUsCisgICAgMHgxLjBwNSwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS4wMnAxNywKKyAgICAweDEuMHA1LAorICAgIDB4MS4wcDEyLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgMHgxLjA4cDE3LAorICAgIDB4MS4wcDUsCisgICAgMHgxLjBwMTIsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAtMHgxLmZmZmZlMHAtMjEsCisgICAgLTB4MS4wcC0yMCwKKyAgICAtMHgxLjBwLTIwLAorICAgIC0weDEuMHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAweDEuMDAwMDEwcC0yMCwKKyAgICAtMHgxLjBwLTIwLAorICAgIC0weDEuMHAtMjAsCisgICAgMHgxLjBwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgLTB4MS4wMDAwMTBwLTIwLAorICAgIC0weDEuMHAtMjAsCisgICAgMHgxLjBwLTIwLAorICAgIC0weDEuMHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuZmZmZmUwcC0yMSwKKyAgICAtMHgxLjBwLTIwLAorICAgIDB4MS4wcC0yMCwKKyAgICAweDEuMHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAtMHgxLjAwMDAxMHAtMjAsCisgICAgMHgxLjBwLTIwLAorICAgIC0weDEuMHAtMjAsCisgICAgLTB4MS4wcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDB4MS5mZmZmZTBwLTIxLAorICAgIDB4MS4wcC0yMCwKKyAgICAtMHgxLjBwLTIwLAorICAgIDB4MS4wcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIC0weDEuZmZmZmUwcC0yMSwKKyAgICAweDEuMHAtMjAsCisgICAgMHgxLjBwLTIwLAorICAgIC0weDEuMHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuMDAwMDEwcC0yMCwKKyAgICAweDEuMHAtMjAsCisgICAgMHgxLjBwLTIwLAorICAgIDB4MS4wcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgLTB4MS4wcC0xMCwKKyAgICAtMHgxLjBwLTEwLAorICAgIC0weDEuMHAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAxcC0yMCwKKyAgICAtMHgxLjBwLTEwLAorICAgIC0weDEuMHAtMTAsCisgICAgMHgxLjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDFwLTIwLAorICAgIC0weDEuMHAtMTAsCisgICAgMHgxLjBwLTEwLAorICAgIC0weDEuMHAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgLTB4MS4wcC0xMCwKKyAgICAweDEuMHAtMTAsCisgICAgMHgxLjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDFwLTIwLAorICAgIDB4MS4wcC0xMCwKKyAgICAtMHgxLjBwLTEwLAorICAgIC0weDEuMHAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgMHgxLjBwLTEwLAorICAgIC0weDEuMHAtMTAsCisgICAgMHgxLjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS4wcC0xMCwKKyAgICAtMHgxLjBwLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS4wcC0xMCwKKyAgICAweDEuMHAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLmYwcC0xMSwKKyAgICAtMHgxLjBwLTUsCisgICAgLTB4MS4wcC01LAorICAgIC0weDEuMHAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAweDEuMDhwLTEwLAorICAgIC0weDEuMHAtNSwKKyAgICAtMHgxLjBwLTUsCisgICAgMHgxLjBwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgLTB4MS4wOHAtMTAsCisgICAgLTB4MS4wcC01LAorICAgIDB4MS4wcC01LAorICAgIC0weDEuMHAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAtMHgxLmYwcC0xMSwKKyAgICAtMHgxLjBwLTUsCisgICAgMHgxLjBwLTUsCisgICAgMHgxLjBwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgLTB4MS4wOHAtMTAsCisgICAgMHgxLjBwLTUsCisgICAgLTB4MS4wcC01LAorICAgIC0weDEuMHAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODcKKyAgICAtMHgxLmYwcC0xMSwKKyAgICAweDEuMHAtNSwKKyAgICAtMHgxLjBwLTUsCisgICAgMHgxLjBwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLmYwcC0xMSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtNSwKKyAgICAtMHgxLjBwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLjA4cC0xMCwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtNSwKKyAgICAweDEuMHAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAweDEuNjhwNiwKKyAgICAtMHgxLjRwMywKKyAgICAtMHgxLjRwMywKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY5MQorICAgIDB4MS5iOHA2LAorICAgIC0weDEuNHAzLAorICAgIC0weDEuNHAzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTIKKyAgICAtMHgxLmI4cDYsCisgICAgLTB4MS40cDMsCisgICAgMHgxLjRwMywKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY5MworICAgIC0weDEuNjhwNiwKKyAgICAtMHgxLjRwMywKKyAgICAweDEuNHAzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAtMHgxLmI4cDYsCisgICAgMHgxLjRwMywKKyAgICAtMHgxLjRwMywKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIC0weDEuNjhwNiwKKyAgICAweDEuNHAzLAorICAgIC0weDEuNHAzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuNjhwNiwKKyAgICAweDEuNHAzLAorICAgIDB4MS40cDMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuYjhwNiwKKyAgICAweDEuNHAzLAorICAgIDB4MS40cDMsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDAuMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIDB4MS5wMSwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzAwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgMC4wLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIC0weDEucDEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIDAuMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDQKKyAgICAwLjAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgMHgxLnAxLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzA2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcwNworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzEyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDcxOQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjcKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDcyOAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzMwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzM5CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzQyCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc0MworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc0NworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzUwCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzUxCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzYzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc2OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc3NgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc5MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDgwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDgxMgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDgxNworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDgxOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODIwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODI0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgyNworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODM1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgODQxCisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDQKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIC0weDEucC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg1NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDg1NgorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODU4CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTkKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg2MQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg2MgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg2MworICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjUKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODY2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODY3CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjkKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDg3MAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzEKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzIKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODczCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODc4CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODEKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODgyCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODMKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODg0CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg4NQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODcKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg4OQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg5MAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODkxCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDg5NAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDg5NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTAwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkwMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDkwMworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDcKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDkwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDkxMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDkxOAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDkyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTI0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTI1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkyNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDkyNworICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTI5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzEKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDkzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTMzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDkzNAorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDkzNQorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDk0MAorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk0MgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgOTQzCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDk0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk0NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk0OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTQ5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTUwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTU0CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgOTU1CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk1OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTYxCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTYyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTY2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgOTY3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzAKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk3MQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTc0CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTc2CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTc4CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDk3OQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDk4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTgyCisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTgzCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk4NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODYKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDk4OAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDk4OQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDk5MQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTk0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTk1CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDk5OAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwMDAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMgorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMDMKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA2CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMDcKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMDgKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAwOQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwMTIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwMTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwMTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIxCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMjcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAzMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTAzMworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwMzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwMzYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwMzcKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTAzOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MworICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ1CisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwNDcKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwNDgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MworICAgIC0weDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU0CisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA1OAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwNTkKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY4CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNjkKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEwNzAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MQorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MgorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwNzMKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwNzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc3CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwODAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA4MQorICAgIC0weDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgyCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTA4MworICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwODgKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA4OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwOTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwOTIKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA5MworICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA5NAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk1CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTA5NworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTA5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExMDEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTEwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEwNAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA1CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExMDYKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA3CisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDExMDgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTExCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMTIKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExMTMKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTExNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTExNgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTExNworICAgIC0weDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE4CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE5CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIxCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMjQKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI1CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMjgKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI5CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMwCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTEzMQorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTEzMgorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTEzMworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMzQKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEzNQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM2CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMzgKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMzkKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE0MAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE0MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTE0MgorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDExNDMKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTE0NAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNDUKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE0NgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ3CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ4CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNDkKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE1MQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE1MgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTE1MworICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDExNTQKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDExNTUKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTE1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE1OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExNTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE2MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExNjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE2NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTE2NworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTE2OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE3MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3MworICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDExNzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDExNzgKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExODIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE4MworICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExODUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTg2CisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExODcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE4OAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDExODkKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkxCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExOTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExOTQKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExOTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExOTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5OAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExOTkKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTIwMAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyMDEKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMDMKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyMDUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA3CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyMDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyMTAKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTIxMQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEyCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTIxMworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE0CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMTUKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxNworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxOAorICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyMTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTIyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIyCisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTIyMworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI0CisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTIyNQorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIyNworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIyOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyMzEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTIzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzNAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyMzYKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyMzgKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIzOQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQyCisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI0MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNDYKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyNDgKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ5CisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyNTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTI1MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU0CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI1NQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU4CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI1OQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2MAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyNjEKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyNjIKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNjMKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTI2NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2NgorICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY3CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI2OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNzAKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyNzIKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTI3MworICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI3OQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI4MAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyODEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyODIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgzCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTI4NAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg2CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI4NworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg4CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyODkKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyOTAKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI5MQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI5MgorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkzCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk0CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTI5NgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk3CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTI5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyOTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTMwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTMwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzMDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDBmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzMDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzMDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzMTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTMxMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzMTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzMTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTMxOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzI0CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzMjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzMjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzI3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzI4CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzMjkKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzMzAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTMzMQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTMzMgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzMzMKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzMzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTMzNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzM3CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzMzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTMzOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNDAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM0MQorICAgIC0weDEucC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQyCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTM0MworICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQ0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQ1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzNDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM0NworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNDgKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM0OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNTIKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM1MworICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM1NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTM1NworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTM1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM1OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEzNjEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM2NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY1CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzNjYKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY3CisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzNjgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzNjkKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTM3MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3MgorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3NgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc3CisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzNzkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzODAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgxCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM4NQorICAgIC0weDEucC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEzODkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM5MAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzOTEKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTM5MgorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzOTMKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzOTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM5NgorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5NworICAgIC0weDEucC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzk4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzOTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAxCisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0MDIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE0MDMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE0MDUKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQwNworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQwOAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MDkKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQxMgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0MTMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0MTQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE1CisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE2CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQxOAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MjAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MjEKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQyMgorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQyMworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI0CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI1CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI2CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQyNworICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI4CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQyOQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMwCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MzEKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MzIKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQzMworICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQzNAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDM1CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDM2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDM3CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQzOAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTQzOQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQwCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0NDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0MworICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMGZmZmZmZnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0NworICAgIC0weDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE0NDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE0NTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUxCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDU1CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0NTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDU3CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0NTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwMDAwMDAwMDAwMDAwZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0NjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2MQorICAgIDB4MS5mZmZmZmZmZmZmZmZkMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2MgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE0NjMKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE0NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0NjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDY3CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0NzAKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3MQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3MworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDc0CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE0NzUKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3NworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3OAorICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0NzkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgyCisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4MworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDg0CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4NQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDg2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4NworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0OTEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5NAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDk1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0OTYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDk3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE0OTgKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5OQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE1MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAyCisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTUwMworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MDYKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTA3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1MDgKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTA5CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE1MTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTExCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEyCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTUxNQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTE4CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1MTkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTUyMAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE1MjEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTUyMgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIzCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTUyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MjYKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTI3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1MjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTUzMAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1MzEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTUzMgorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE1MzMKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTUzNAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTM1CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTUzNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MzgKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTM5CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NDIKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQzCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQ0CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTU0NQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTU0NgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTU0NworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQ4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUwCisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1NTEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU1MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU1NAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTU1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTU1NgorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTU3CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTU4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTU5CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NjAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NjEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1NjIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYzCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTY0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU2NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTU2NgorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1NjcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTY4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE1NjkKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE1NzAKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcxCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1NzIKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU3MworICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU3NAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTc1CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTc2CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1NzcKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1NzgKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE1NzkKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE1ODEKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU4MworICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1ODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1ODkKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTU5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkzCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE1OTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU5NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1OTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1OTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTk4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTk5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTYwMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2MDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MDQKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE2MDUKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTYwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjA3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTYwOAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTYxMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTYxMgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEzCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MTUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MTYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE3CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE4CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2MjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTYyMQorICAgIC0weDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2MjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjI0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2MjUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYyNgorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MjcKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTYyOAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTYyOQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2MzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMyCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2MzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2MzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjM1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjM2CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2MzcKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2MzgKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTYzOQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTY0MAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE2NDEKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE2NDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2NDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQ1CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2NDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY0NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2NDgKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTY0OQorICAgIC0weDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUwCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTY1MQorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUzCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE2NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY1NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2NTYKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTY1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTY1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2NTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2NjAKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTY2MQorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTY2MgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYzCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjY0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTY2NQorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTY2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY2NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2NjkKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTY3MAorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY3MgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjczCisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2NzQKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjc1CisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2NzYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjc3CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjc5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2ODAKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2ODEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTY4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY4NAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTY4NQorICAgIC0weDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjg2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjg3CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTY4OAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjg5CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTY5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2OTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2OTIKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkzCisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjk0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjk1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE2OTYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjk3CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjk4CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTY5OQorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTcwMAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTcwMQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MDIKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTcwMworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzA0CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzA1CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MDYKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MDcKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTcwOAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTcwOQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTcxMAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3MTEKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTcxMgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MTMKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTcxNAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzE1CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzE2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MTcKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MTgKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTcxOQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTcyMAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTcyMQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3MjIKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3MjMKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTcyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzI1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTcyNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTcyNworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE3MjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTczMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3MzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTczNAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3MzUKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3MzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3MzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTczOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTczOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE3NDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3NDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQzCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcC01MSwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3NDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTc0NgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3NDcKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3NDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3NDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUxCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE3NTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc1MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3NTQKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc1NQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzU2CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTc1NworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzU4CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3NTkKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc2MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc2MgorICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE3NjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTc2NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzY2CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc2NworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzY4CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTc2OQorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcwCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTc3MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTc3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc3MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE3NzUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTc3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzc3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc3OAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzc5CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE3ODAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgxCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3ODIKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTc4MworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3ODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg2CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTc4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3OTAKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkxCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE3OTIKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkzCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3OTQKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzk1CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE3OTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTc5OQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAyCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE4MDMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTgwNAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4MDUKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTgwNgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODA3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTgwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MTAKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODExCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTgxNAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE4MTUKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTgxNgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4MTcKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTgxOAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODE5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTgyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MjIKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIzCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODI1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MjYKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODI3CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODI4CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTgyOQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTgzMAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTgzMQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4MzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODM0CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4MzUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTgzNworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTgzOAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODM5CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTg0MAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQxCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQyCisgICAgSFVHRV9WQUwsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQzCisgICAgLUhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE4NDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg0NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4NDYKKyAgICAweDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTg0NworICAgIC0weDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4NDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQ5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUwCisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE4NTEKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUyCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4NTMKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4NTQKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU1CisgICAgLUhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4NTgKKyAgICAweDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4NTkKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTg2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2MgorICAgIDB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTg2MworICAgIC0weDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODY0CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODY1CisgICAgLTAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4NjYKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODY3CisgICAgLUhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODY5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4NzAKKyAgICAweDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4NzEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTg3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODczCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg3NAorICAgIDB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTg3NQorICAgIC0weDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODc2CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODc3CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTg3OAorICAgIEhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODc5CisgICAgLUhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4ODEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4ODIKKyAgICAweDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgzCisgICAgLTB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODg1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4ODYKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODg3CisgICAgLTB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODg4CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTg4OQorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTg5MAorICAgIEhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE4OTEKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE4OTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4OTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg5NAorICAgIDB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTg5NQorICAgIC0weDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE4OTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODk4CisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODk5CisgICAgLTB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5MDAKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MDEKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAyCisgICAgSFVHRV9WQUwsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MDMKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkwNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkwNgorICAgIDB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5MDcKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5MDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkxMAorICAgIDB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5MTEKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5MTIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEzCisgICAgLTAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE0CisgICAgSFVHRV9WQUwsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkxNQorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkxNworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE4CisgICAgMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE5CisgICAgLTB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5MjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkyMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MjIKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5MjMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTkyNAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTkyNQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MjYKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkyNworICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTI5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMwCisgICAgMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTkzMQorICAgIC0weDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTkzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkzMworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTM0CisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTkzNQorICAgIC0weDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTkzNgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MzcKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MzgKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkzOQorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5NDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQyCisgICAgMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0MworICAgIC0weDEucC0xMDIyLAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk0NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQ2CisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTk0NworICAgIC0weDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTk0OAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5NDkKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk1MAorICAgIEhVR0VfVkFMLAorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk1MQorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTU0CisgICAgMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5NTUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTU2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk1OAorICAgIDB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTU5CisgICAgLTB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTk2MAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYxCisgICAgLTAuMCwKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk2MgorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5NjMKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk2NgorICAgIDB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTk2NworICAgIC0weDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcwCisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5NzIKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5NzMKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk3NAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTc1CisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NzgKKyAgICAweDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTc5CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5ODIKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgzCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTg0CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk4NQorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTg2CisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5ODcKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk5MAorICAgIDB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5OTEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5OTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5OTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk5NAorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5OTUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5OTYKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTk3CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTk4CisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTk5CisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMDIKKyAgICAweDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjAwMworICAgIC0weDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwMDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDA2CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwMDcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDA4CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwMDkKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwMTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAxMQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDE0CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjAxNQorICAgIC0weDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjAxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAxNworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDE4CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxOQorICAgIC0weDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjAyMAorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwMjEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwMjIKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMjMKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDI1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAyNgorICAgIDB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDI3CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjAyOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMzAKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjAzMQorICAgIC0weDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwMzIKKyAgICAwLjAsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjAzMworICAgIDAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjAzNAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDM1CisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAzNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMzgKKyAgICAweDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDM5CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNDIKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQzCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQ0CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjA0NQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjA0NgorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA0NworICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQ4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUwCisgICAgMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwNTEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1NAorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjA1NgorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU3CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU4CisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU5CisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwNjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA2MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNjIKKyAgICAweDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA2MworICAgIC0weDEucC0xMDIyLAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwNjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDY1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDY2CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwNjcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDY4CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwNjkKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcwCisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA3MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA3MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDc0CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDc1CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA3NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNzgKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwNzkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjA4MAorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjA4MQorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwODIKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwODMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4NQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA4NgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwODcKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwODgKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDg5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkwCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjA5MQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwOTIKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjA5MworICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA5NAorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwOTUKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5NgorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDk3CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDk4CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwOTkKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMDAKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEwMQorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEwMgorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjEwMworICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIxMDQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjEwNQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMDYKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjEwNworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTA4CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTA5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMTAKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMTEKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjExMgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjExMworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjExNAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIxMTUKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjExNgorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjExNworICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMTgKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTE5CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMjAKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIxCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMjIKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIzCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxMjQKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjEyNQorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjEyNgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjEyNworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTI4CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTI5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMwCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjEzMQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjEzMgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMzMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxMzQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTM1CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjEzNgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTM3CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTM4CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjEzOQorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQwCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxNDEKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxNDIKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE0MworICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE0NAorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQ1CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQ2CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQ3CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE0OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjE0OQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUwCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUxCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUyCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjE1MworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE1NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNTUKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxNTYKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTU3CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE1OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTU5CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYwCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE2MQorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYyCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxNjMKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxNjQKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE2NQorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE2NgorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTY3CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTY4CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTY5CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE3MAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjE3MQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcyCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTczCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTc0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjE3NQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE3NgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNzcKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxNzgKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTc5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE4MAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgxCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgyCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE4MworICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTg0CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxODUKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxODYKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE4NworICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE4OAorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTg5CisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkwCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkxCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE5MgorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjE5MworICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxOTQKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE5NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTk2CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTk3CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxOTgKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxOTkKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjIwMAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjIwMQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjIwMgorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyMDMKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjIwNAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMDUKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwNgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjA3CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjA4CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMDkKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjIxMQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjIxMgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjIxMworICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyMTQKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjIxNQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxNgorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMTcKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjE4CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyMTkKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIwCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMjEKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIyCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyMjMKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjIyNAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjIyNQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIyMjYKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMjcKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjI4CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjIyOQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMwCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIzMQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMyCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjIzMworICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjM0CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyMzUKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyMzYKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIyMzcKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjM4CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMzkKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjI0MAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjI0MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQyCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQzCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyNDQKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyNDUKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyNDYKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQ3CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIyNDgKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQ5CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyNTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjI1MQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjI1MgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUzCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjU0CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyNTUKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyNTYKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyNTcKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjU4CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjU5CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2MAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYxCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyNjIKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyNjMKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2NAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjY2CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjY3CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjY4CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjI2OQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcwCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI3MQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcyCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyNzMKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIyNzQKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI3NQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI3NgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjc3CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjc4CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjc5CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjI4MAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjI4MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyODIKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI4MworICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjg0CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjg1CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyODYKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyODcKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI4OAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI4OQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjI5MAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyOTEKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjI5MgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyOTMKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI5NAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjk1CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjk2CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyOTcKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyOTgKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI5OQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjMwMAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjMwMQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2ZtYWZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2ZtYWZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNTA5ZTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZm1hZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMzgzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfM190PGZsb2F0LCBmbG9hdCwgZmxvYXQsIGZsb2F0PiBnX2ZtYWZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjgwMDAwMmZmZmZmZmZmZmZmZDgwcDczLAorICAgIC0weDEuMDAwMDAycDcyLAorICAgIDB4MS44MHAxLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0weDEuZTY2NjY2cDAsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuY2NjY2NjcC0xLAorICAgIC0weDEuZTY2NjY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjE1ZjE1M2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmNjY2NjY3AtMSwKKyAgICAweDEuMTVmMTU0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS4wMDAwMDVmZmZmZmZmZmZmZmZmZmZmZmZmZmYwY2NjY3AtNDEsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZTY2NjY2cC0xLAorICAgIDB4MS4wMDAwMDZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuZTY2NjY1ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjA3NTA3MHAtMywKKyAgICAtMHgxLmU2NjY2NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS4wMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDQ0NHAtNDEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40NDQ0MjRwLTQsCisgICAgMHgxLjAwMDAwNnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLmM5OTk5OTA2NjY2NjgwcDAsCisgICAgMHgxLjAwMDAwMnAtMywKKyAgICAtMHgxLmNjY2NjY3AtMSwKKyAgICAweDEuZTY2NjY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjg4MDE1NmZmZmZmZmZmZmVmYmJjcDE0LAorICAgIDB4MS4wMDAwZTBwNywKKyAgICAweDEuODhwNywKKyAgICAtMHgxLjA0NDRwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS4yYjMzMzVwLTQzLAorICAgIDB4MS4wOHAtNDEsCisgICAgLTB4MS44ZGY2YjBwLTEsCisgICAgMHgxLjE4cC00MQorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuOWFmNzA0MDAwMDAxcC0xLAorICAgIDB4MS40Mzk2OWNwLTMsCisgICAgMHgxLjYyZTQyZXAtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuN2VlZDk5MDAwMDAwODBwLTEsCisgICAgMHgxLjQzOTY5Y3AtNCwKKyAgICAweDEuNjJlNDJlcC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEuNTIyOWNhZmZmZmZmZmZmYzZkZTQ5OHA1OSwKKyAgICAweDEuODhwNjAsCisgICAgLTB4MS5iOWFlYzBwLTIsCisgICAgMHgxLmM5MGRiNHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjY3OGM4ZGZmZmZmZmIwcC0xLAorICAgIDB4MS5hZTBlZjRwLTcsCisgICAgMHgxLjYyZTQyZXAtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuZmZmZmVlMDAwMDEwcC0xLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmZmZmZmMDAwMDAxMHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZmZmNDAwMDAxMHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMDAwMDA2ZmZmZmY4cDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS4wMDAwMDdmZmZmZjhwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMDAwMDA5ZmZmZmY4cDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmZmZmZlZTAwMDAyMHAtMiwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5mZmZmZjAwMDAwMjBwLTIsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZmZmZmY0MDAwMDIwcC0yLAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjAwMDAwNmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjAwMDAwN2ZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjAwMDAwOWZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmZmZmZlZTAwMDAxMHAtMiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5mZmZmZjAwMDAwMTBwLTIsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuZmZmZmY0MDAwMDEwcC0yLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjAwMDAwNmZmZmZmOHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjAwMDAwN2ZmZmZmOHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjAwMDAwOWZmZmZmOHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLmZmZmZlZXAtMiwKKyAgICAweDEucDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mZmZmZjBwLTIsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmZmZmY0cC0yLAorICAgIDB4MS5wMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEucDEyNywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLnAtMSwKKyAgICAweDEucDEyNywKKyAgICAwLjAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEucDEyNywKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjAwMDAwN3AtMSwKKyAgICAweDEucDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLjAwMDAwOHAtMSwKKyAgICAweDEucDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjAwMDAwYXAtMSwKKyAgICAweDEucDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmZmZmZmNjAwMDAxMHAtMSwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5mZmZmZjgwMDAwMTBwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5mZmZmZmMwMDAwMTBwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLjAwMDAwMmZmZmZmOHAwLAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuMDAwMDAzZmZmZmY4cDAsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjAwMDAwNWZmZmZmOHAwLAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5mZmZmZjYwMDAwMDhwLTEsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuZmZmZmY4MDAwMDA4cC0xLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZmZmZmZjMDAwMDA4cC0xLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS4wMDAwMDJmZmZmZmNwMCwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjAwMDAwM2ZmZmZmY3AwLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS4wMDAwMDVmZmZmZmNwMCwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuZmZmZmY2cC0xLAorICAgIDB4MS5wMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmZmZmZmOHAtMSwKKyAgICAweDEucDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLmZmZmZmY3AtMSwKKyAgICAweDEucDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDEyNywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTI3LAorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDEyNywKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuMDAwMDAzcDAsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS4wMDAwMDRwMCwKKyAgICAweDEucDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuMDAwMDA2cDAsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmZmZmZmYzAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZmZmZmZjMDAwMDAycC0yLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS5mZmZmZmMwMDAwMDJwLTIsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjAwMDAwMGZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS4wMDAwMDBmZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuMDAwMDAwZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjAwMDAwMGZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuMDAwMDAwZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4wMDAwMDBmZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4wMDAwMDQwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjAwMDAwNDAwMDAwNHAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuMDAwMDA0MDAwMDA0cC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS4wMDAwMDFmZmZmZmRwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLjAwMDAwMjAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDAwMDAyMDAwMDA5cC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDAwMDJmZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLjAwMDAwM3AtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDAwMDAzMDAwMDA4cC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS4wMDAwMDRmZmZmZmFwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjAwMDAwNGZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuMDAwMDA1MDAwMDA2cC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS4wMDAwMDJmZmZmZmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuMDAwMDAzcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjAwMDAwMzAwMDAwOHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS4wMDAwMDNmZmZmZmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMDAwMDA0cC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjAwMDAwNDAwMDAwOHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS4wMDAwMDVmZmZmZmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuMDAwMDA2cC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjAwMDAwNjAwMDAwOHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS4wMDAwMDRmZmZmZmFwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDAwMDA0ZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLjAwMDAwNTAwMDAwNnAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS4wMDAwMDVmZmZmZmNwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMDAwMDA2cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjAwMDAwNjAwMDAwOHAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS4wMDAwMDhwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuMDAwMDA4MDAwMDA0cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjAwMDAwODAwMDAwY3AtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS4wMDAwMDFmZmZmZmRwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjAwMDAwMjAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuMDAwMDAyMDAwMDA5cC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS4wMDAwMDJmZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjAwMDAwM3AtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuMDAwMDAzMDAwMDA4cC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS4wMDAwMDRmZmZmZmFwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLjAwMDAwNGZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuMDAwMDA1MDAwMDA2cC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS4wMDAwMDJmZmZmZmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuMDAwMDAzcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLjAwMDAwMzAwMDAwOHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS4wMDAwMDNmZmZmZmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuMDAwMDA0cC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjAwMDAwNDAwMDAwOHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS4wMDAwMDVmZmZmZmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuMDAwMDA2cC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjAwMDAwNjAwMDAwOHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS4wMDAwMDRmZmZmZmFwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuMDAwMDA0ZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjAwMDAwNTAwMDAwNnAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS4wMDAwMDVmZmZmZmNwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuMDAwMDA2cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLjAwMDAwNjAwMDAwOHAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS4wMDAwMDhwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuMDAwMDA4MDAwMDA0cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjAwMDAwODAwMDAwY3AtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS4wMDAwMGRmZmZmZjFwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjAwMDAwZTAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuMDAwMDBlMDAwMDIxcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS4wMDAwMGVmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLjAwMDAwZnAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuMDAwMDBmMDAwMDIwcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS4wMDAwMTBmZmZmZWVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjAwMDAxMGZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEuMDAwMDExMDAwMDFlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS4wMDAwMGVmZmZmZjBwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuMDAwMDBmcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjAwMDAwZjAwMDAyMHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS4wMDAwMGZmZmZmZjBwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMDAwMDEwcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLjAwMDAxMDAwMDAyMHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS4wMDAwMTFmZmZmZjBwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuMDAwMDEycC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLjAwMDAxMjAwMDAyMHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS4wMDAwMTBmZmZmZWVwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuMDAwMDEwZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLjAwMDAxMTAwMDAxZXAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wMDAwMTFmZmZmZjBwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDAwMDEycC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjAwMDAxMjAwMDAyMHAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS4wMDAwMTNmZmZmZjRwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuMDAwMDE0MDAwMDA0cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjAwMDAxNDAwMDAyNHAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmZmZmZmZTAwMDAwMnAtMiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZlMDAwMDA2cC0yLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS5mZmZmZmZmZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuMDAwMDAwMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS4wMDAwMDFmZmZmZmRwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLjAwMDAwMWZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5mZmZmZmZmZmZmZmVwLTIsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEucC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLjAwMDAwMDAwMDAwMnAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS4wMDAwMDBmZmZmZmZwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuMDAwMDAxcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjAwMDAwMTAwMDAwMnAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS4wMDAwMDJmZmZmZmZwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMDAwMDAzcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLjAwMDAwMzAwMDAwMnAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS4wMDAwMDFmZmZmZmRwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuMDAwMDAxZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS4wMDAwMDJmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuMDAwMDAzcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjAwMDAwMzAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS4wMDAwMDUwMDAwMDNwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuMDAwMDA1MDAwMDA0cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjAwMDAwNTAwMDAwNnAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0yNQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5mZmZmZmMwMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmZmZmZmYzAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmZmZmZjMDAwMDAycDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuMDAwMDAycDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAtMHgxLmZmZmZmZXAxMDMsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5mZmZmZmVwMTA0LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmY3A2MywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZmZmZmYTAwMDAwNHAxMjcsCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5mZmZmZmEwMDAwMDRwMTI3LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmY3A2MywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuZmZmZmZjMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLmZmZmZmYzAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEuZmZmZmZlcDYzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mZmZmZmMwMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLnA2NCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEucDY0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLnA2NCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMHgxLjdmZmZmZXAxMDUsCisgICAgMHgxLmZmZmZmY3A2MywKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuZmZmZmZlcDEwNCwKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5wMTA0LAorICAgIDB4MS5mZmZmZmNwNjMsCisgICAgMHgxLnA2NCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLmZmZmZmZXAxMDQsCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuZmZmZmZlcDEwMywKKyAgICAweDEuZmZmZmZlcDYzLAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLnA2NCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLnAxMDQsCisgICAgMHgxLnA2NCwKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDAuMCwKKyAgICAweDEucDY0LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnAxMDQsCisgICAgMHgxLnA2NCwKKyAgICAweDEucDY0LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuZmZmZmY4cDEwMywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLnAxMDQsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgLTB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS5mZmZmZmVwMTA0LAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAtMHgxLmZmZmZmZXAxMDQsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAtMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLmZmZmZmZXAxMDMsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuODBwMTA1LAorICAgIDB4MS5wMTI3LAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLnAxMDQsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDAuMCwKKyAgICAweDEucDEyNywKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLnAxLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgLTB4MS5wMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLnAxLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuZmZmZmZhMDAwMDA0cDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLmZmZmZmYTAwMDAwNHAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEucDEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5wMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMHgxLmZmZmZmYzAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTB4MS5mZmZmZmMwMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgLTB4MS5mZmZmZmMwMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIC0weDEuMDAwMDAycDEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIC0weDEuMDAwMDAycDEsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucDEyNywKKyAgICAtMHgxLnAxLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIC0weDEucDEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucDEyNywKKyAgICAtMHgxLnAxLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucDEyNywKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEucDEyNywKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS43ZmZmZmM4MDAwMDFwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuN2ZmZmZkODAwMDAxcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjdmZmZmZTgwMDAwMXAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS43ZmZmZmRwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuN2ZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjdmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLnAtMSwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS43ZmZmZmRmZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuN2ZmZmZlZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjdmZmZmZmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS43ZmZmZmQwMDAwMDA4MHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS43ZmZmZmUwMDAwMDA4MHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS43ZmZmZmYwMDAwMDA4MHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43ZmZmZmQ4MHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS43ZmZmZmU4MHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS43ZmZmZmY4MHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAtMSwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS43ZmZmZmU3ZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuN2ZmZmZmN2ZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjgwMDAwMDdmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS43ZmZmZmQ4MHAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43ZmZmZmU4MHAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS43ZmZmZmY4MHAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS43ZmZmZmVwMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuN2ZmZmZmcDEyNywKKyAgICAweDEucDEyNywKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLjgwcDEyNywKKyAgICAweDEucDEyNywKKyAgICAweDEucC0xLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjdmZmZmZnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS44MHAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS44MDAwMDFwMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuZmZmZmZiMDAwMDAycDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmNwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLmZmZmZmYzAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5mZmZmZmQwMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEuZmZmZmZkcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuZmZmZmZkZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuZmZmZmZlZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLmZmZmZmYzAwMDAwMXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5mZmZmZmQwMDAwMDFwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuZmZmZmZlMDAwMDAxcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLmZmZmZmZHAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmNwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5wMCwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS5mZmZmZmVmZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLmZmZmZmZHAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDEyNywKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDEyNywKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLmZmZmZmYjAwMDAwMnAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5mZmZmZmMwMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuZmZmZmZkMDAwMDAycDEyNywKKyAgICAweDEuZmZmZmZjcDEyNiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmNwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLmZmZmZmZHAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLmZmZmZmZGZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmNwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLmZmZmZmZWZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjYsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwMTI2LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS5mZmZmZmMwMDAwMDFwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAweDEuZmZmZmZkMDAwMDAxcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLmZmZmZmZTAwMDAwMXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS5mZmZmZmRwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZjcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuZmZmZmZlZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS5mZmZmZmRwMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucDEyNywKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucDEyNywKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMCwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDEyNywKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmY3AxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzU3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMTI3LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDEyNworICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS5mZmZmZmQwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS5mZmZmZmUwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLjAwMDAwMDAwMDAwMDgwcDEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS4wMDAwMDA4MHAxLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5mZmZmZmZmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgMHgxLjAwMDAwMDdmZmZmZnAxLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS4wMDAwMDE3ZmZmZmZwMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5mZmZmZmZwMCwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuMDAwMDAwODBwMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuZmZmZmZmcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLnAxLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjAwMDAwMXAxLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLjAwMDAwMDgwcDEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjAwMDAwMXAxLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLmZmZmZmZmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuMDAwMDAwN2ZmZmZmcDEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjAwMDAwMTdmZmZmZnAxLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS4wMDAwMDA4MHAxLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS4wMDAwMDFwMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS4wMDAwMDE4MDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMDAwMDAyMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMDAwMDAzMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLmZmZmZmZXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAtMHgxLmZmZmZmY3AtMjUsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS4wMDAwMDJwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEucC0yNCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLjgwcC0yMywKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmZmZmZmZXAtMjUsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgMHgxLmZmZmZmZnAtMjQsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuZmZmZmZmODBwLTIzLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgLTB4MS44MHAtMjMsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEucC0yMywKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS5wLTI0LAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgMHgxLnAtMjMsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLnAtMjQsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuNDAwMDAxcC0yMiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgLTB4MS4wMDAwMDFwLTIyLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuMDAwMDAycC0yMywKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAtMHgxLjgwcC0yMywKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS5wLTIzLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAtMHgxLmZmZmZmZXAtMjQsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAtMHgxLmZmZmZmY3AtMjUsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS4wMDAwMDJwLTI0LAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZmZmZmZjMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuZmZmZmZjMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuZmZmZmZjMDAwMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuMDAwMDAwZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjAwMDAwMGZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIDB4MS4wMDAwMDBmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjAwMDAwMGZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS4wMDAwMDBmZmZmZmVwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuMDAwMDAwZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjAwMDAwNDAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMHgxLjAwMDAwNDAwMDAwNHAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLjAwMDAwNDAwMDAwNHAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgLTB4MS4wMDAwMDBmZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIC0weDEuMDAwMDAwZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuMDAwMDAwZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgLTB4MS5mZmZmZmMwMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgLTB4MS5mZmZmZmMwMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAtMHgxLmZmZmZmYzAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgLTB4MS5wMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgLTB4MS5wMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIC0weDEuMDAwMDA0MDAwMDA0cDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIC0weDEuMDAwMDA0MDAwMDA0cDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgLTB4MS4wMDAwMDQwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIC0weDEuMDAwMDAwZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAtMHgxLjAwMDAwMGZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAtMHgxLjAwMDAwMGZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIDB4MS4wMDBmZmRmZmYwMDFwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuMDAwZmZlMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLjAwMGZmZTAwMjAwMXAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS4wMDBmZmVmZmYwcDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuMDAwZmZmcDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuMDAwZmZmMDAyMHAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLjAwMTAwMGZmZWZmZXAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLjAwMTAwMGZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLjAwMTAwMTAwMWZmZXAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLjAwMGZmZWZmZjBwMCwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xMworICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS4wMDBmZmZwMCwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS4wMDBmZmYwMDIwcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuMDAwZmZmZmZmMHAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuMDAxMHAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuMDAxMDAwMDAyMHAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAweDEuMDAxMDAxZmZmMHAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuMDAxMDAycDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS4wMDEwMDIwMDIwcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIDB4MS4wMDEwMDBmZmVmZmVwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xMworICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS4wMDEwMDBmZmZmZmVwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIDB4MS4wMDEwMDEwMDFmZmVwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIDB4MS4wMDEwMDFmZmYwcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xMworICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS4wMDEwMDJwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLjAwMTAwMjAwMjBwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgMHgxLjAwMTAwM2ZmZjAwNHAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTEKKyAgICAweDEuMDAxMDA0MDAwMDA0cDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS4wMDEwMDQwMDIwMDRwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgLTB4MS5mZmUwMDIwMDFmZmNwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgLTB4MS5mZmUwMDFmZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgLTB4MS5mZmUwMDFmZmJmZmNwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgLTB4MS5mZmRmZmUwMDIwcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xMworICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIC0weDEuZmZkZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMCwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIC0weDEuZmZkZmZkZmZjMHAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAtMHgxLmZmZGZmYzAwMjAwMnAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgLTB4MS5mZmRmZmMwMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuZmZkZmZiZmZjMDAycC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAtMHgxLmZmZTAwNDAwMjBwLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAtMHgxLmZmZTAwNHAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIC0weDEuZmZlMDAzZmZjMHAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xMgorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIC0weDEuZmZlMDAwMDAyMHAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xMworICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIC0weDEuZmZlMHAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuZmZkZmZmZmZjMHAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuMDAwMDAycC0xMgorICB9LAorICB7IC8vIEVudHJ5IDUwOAorICAgIC0weDEuZmZkZmZlMDAyMHAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAtMHgxLmZmZGZmZXAtMSwKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAtMHgxLmZmZGZmZGZmYzBwLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgLTB4MS5mZmUwMDgwMDIwMDhwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAtMHgxLmZmZTAwODAwMDAwOHAtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEucC0xMgorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuZmZlMDA3ZmZjMDA4cC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgLTB4MS5mZmUwMDQwMDIwcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5mZmUwMDRwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAtMHgxLmZmZTAwM2ZmYzBwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAtMHgxLmZmZTAwMjAwMWZmY3AtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAtMHgxLmZmZTAwMWZmZmZmY3AtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAtMHgxLmZmZTAwMWZmYmZmY3AtMSwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAtMHgxLmZmZmZmZjgwcDAsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgLTB4MS5mZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgLTB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgLTB4MS44MHAwLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgLTB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAtMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIDB4MS5mZmZmZmNwLTIsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgLTB4MS44MHAwLAorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIC0weDEucC0xLAorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIDAuMCwKKyAgICAweDEucDIzLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMjMsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMC4wLAorICAgIDB4MS5wMjMsCisgICAgMHgxLnAwLAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMHgxLnAtMSwKKyAgICAweDEucDIzLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDAuMCwKKyAgICAweDEucDIzLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5wMCwKKyAgICAweDEucDIzLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIDB4MS44MHAwLAorICAgIDB4MS5wMjMsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgLTB4MS4wMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgMHgxLmZmZmZmY3AtMiwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS44MHAwLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgMHgxLjAwMDAwMXAxLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLjQwMDAwMXAxLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLjA4cC01LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAtNSwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjAwNDBwMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLnAtNCwKKyAgICAweDEucC01LAorICAgIDB4MS5wMCwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjA4cDAsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMHgxLnAtNCwKKyAgICAweDEucDAsCisgICAgMHgxLnAtNSwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLjA4cDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLjA4cDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLnAxLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLjIwcC0yLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAzLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEuNDBwMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuMDhwMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wNSwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLnAxLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS4wMXAzLAorICAgIDB4MS5wMCwKKyAgICAweDEucDMsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS4yMHAzLAorICAgIDB4MS5wMCwKKyAgICAweDEucDMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLjAwNDBwNSwKKyAgICAweDEucDAsCisgICAgMHgxLnA1LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAweDEuMDhwNSwKKyAgICAweDEucDAsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIDB4MS4wMDQwcDUsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAweDEuMDhwNSwKKyAgICAweDEucC01LAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLjAwMTBwNywKKyAgICAweDEucC01LAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS4wMnA3LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAxMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAweDEuMDAwMnAxMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLjAwMDA4MHAxMiwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMiwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLjAwMDhwMywKKyAgICAweDEucC01LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLjAwMDJwNSwKKyAgICAweDEucC01LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLjAxcDMsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLjAwNDBwNSwKKyAgICAweDEucC01LAorICAgIDB4MS5wMCwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAweDEuMDFwMywKKyAgICAweDEucDAsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuMDA0MHA1LAorICAgIDB4MS5wMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS4yMHAzLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLjA4cDUsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEuMDhwMywKKyAgICAweDEucC01LAorICAgIDB4MS5wMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEuMDJwNSwKKyAgICAweDEucC01LAorICAgIDB4MS5wMywKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAweDEuMjBwMywKKyAgICAweDEucC01LAorICAgIDB4MS5wNSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEuMDhwNSwKKyAgICAweDEucC01LAorICAgIDB4MS5wNSwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAweDEucDQsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuNDBwNSwKKyAgICAweDEucDAsCisgICAgMHgxLnAzLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS40MHA1LAorICAgIDB4MS5wMCwKKyAgICAweDEucDUsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnA2LAorICAgIDB4MS5wMCwKKyAgICAweDEucDUsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLjQwcDUsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS5wNiwKKyAgICAweDEucC01LAorICAgIDB4MS5wMTAsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLjEwcDcsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDEyLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIDB4MS40MHA3LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAxMiwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEuMDJwMTAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLjA4cDEwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS4wMDgwcDEyLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEyLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS4wMnAxMiwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMiwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAweDEuMDAwMDEwcDEwLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgMHgxLjAwMDAwNHAxMiwKKyAgICAweDEucC01LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS4wMDAycDEwLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAweDEuMDAwMDgwcDEyLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEuMDAwMnAxMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgMHgxLjAwMDA4MHAxMiwKKyAgICAweDEucDAsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgMHgxLjAwMTBwMTAsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDMsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIDB4MS4wMDA0cDEyLAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgMHgxLjAwMTBwMTIsCisgICAgMHgxLnAtNSwKKyAgICAweDEucDUsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIDB4MS4wMnAxMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEuMDA4MHAxMiwKKyAgICAweDEucDAsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAweDEuMDhwMTAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLjAycDEyLAorICAgIDB4MS5wMCwKKyAgICAweDEucDUsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIDB4MS4wOHAxMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS4wMnAxMiwKKyAgICAweDEucC01LAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS4yMHAxMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDYxNAorICAgIDB4MS4wOHAxMiwKKyAgICAweDEucC01LAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS5wMTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIDB4MS40MHAxMiwKKyAgICAweDEucDAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLjQwcDEyLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEyLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAweDEucDEzLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEyLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTkKKyAgICAweDEuMDAyMHA2LAorICAgIDB4MS5wMywKKyAgICAweDEucDMsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDYyMAorICAgIDB4MS4wNHA2LAorICAgIDB4MS5wMywKKyAgICAweDEucDMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjIxCisgICAgMHgxLjAwMDhwOCwKKyAgICAweDEucDMsCisgICAgMHgxLnA1LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAweDEuMDFwOCwKKyAgICAweDEucDMsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS4wMDA4cDgsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMywKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNjI0CisgICAgMHgxLjAxcDgsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEuMDAwMnAxMCwKKyAgICAweDEucDUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEucDUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS4yMHA2LAorICAgIDB4MS5wMywKKyAgICAweDEucDMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgMHgxLjgwcDYsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMywKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEuMDhwOCwKKyAgICAweDEucDMsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIDB4MS4yMHA4LAorICAgIDB4MS5wMywKKyAgICAweDEucDUsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgMHgxLjA4cDgsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAweDEuMjBwOCwKKyAgICAweDEucDUsCisgICAgMHgxLnAzLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS4wMnAxMCwKKyAgICAweDEucDUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIDB4MS4wOHAxMCwKKyAgICAweDEucDUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIDB4MS4xMHAxMCwKKyAgICAweDEucDMsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAweDEuMDRwMTIsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMywKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgMHgxLjQwcDEwLAorICAgIDB4MS5wMywKKyAgICAweDEucDUsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS4xMHAxMiwKKyAgICAweDEucDMsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEuNDBwMTAsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMywKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLjEwcDEyLAorICAgIDB4MS5wNSwKKyAgICAweDEucDMsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS5wMTEsCisgICAgMHgxLnA1LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLjQwcDEyLAorICAgIDB4MS5wNSwKKyAgICAweDEucDUsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS4wMDAwNDBwMTMsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIDB4MS4wMDA4cDEzLAorICAgIDB4MS5wMywKKyAgICAweDEucDEwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS4wMDAwMTBwMTUsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS4wMDAycDE1LAorICAgIDB4MS5wMywKKyAgICAweDEucDEyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS4wMDAwMTBwMTUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS4wMDAycDE1LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS4wMDAwMDRwMTcsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY1MAorICAgIDB4MS4wMDAwODBwMTcsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLjAwNDBwMTMsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgMHgxLjAxcDEzLAorICAgIDB4MS5wMywKKyAgICAweDEucDEwLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIDB4MS4wMDEwcDE1LAorICAgIDB4MS5wMywKKyAgICAweDEucDEyLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS4wMDQwcDE1LAorICAgIDB4MS5wMywKKyAgICAweDEucDEyLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIDB4MS4wMDEwcDE1LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIDB4MS4wMDQwcDE1LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS4wMDA0cDE3LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEyLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS4wMDEwcDE3LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEyLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIDB4MS4yMHAxMywKKyAgICAweDEucDMsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLjgwcDEzLAorICAgIDB4MS5wMywKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAweDEuMDhwMTUsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMTIsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS4yMHAxNSwKKyAgICAweDEucDMsCisgICAgMHgxLnAxMiwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLjA4cDE1LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEuMjBwMTUsCisgICAgMHgxLnA1LAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIDB4MS4wMnAxNywKKyAgICAweDEucDUsCisgICAgMHgxLnAxMiwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLjA4cDE3LAorICAgIDB4MS5wNSwKKyAgICAweDEucDEyLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAtMHgxLmZmZmZlMHAtMjEsCisgICAgLTB4MS5wLTIwLAorICAgIC0weDEucC0yMCwKKyAgICAtMHgxLnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAweDEuMDAwMDEwcC0yMCwKKyAgICAtMHgxLnAtMjAsCisgICAgLTB4MS5wLTIwLAorICAgIDB4MS5wLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgLTB4MS4wMDAwMTBwLTIwLAorICAgIC0weDEucC0yMCwKKyAgICAweDEucC0yMCwKKyAgICAtMHgxLnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEuZmZmZmUwcC0yMSwKKyAgICAtMHgxLnAtMjAsCisgICAgMHgxLnAtMjAsCisgICAgMHgxLnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAtMHgxLjAwMDAxMHAtMjAsCisgICAgMHgxLnAtMjAsCisgICAgLTB4MS5wLTIwLAorICAgIC0weDEucC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIDB4MS5mZmZmZTBwLTIxLAorICAgIDB4MS5wLTIwLAorICAgIC0weDEucC0yMCwKKyAgICAweDEucC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIC0weDEuZmZmZmUwcC0yMSwKKyAgICAweDEucC0yMCwKKyAgICAweDEucC0yMCwKKyAgICAtMHgxLnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAweDEuMDAwMDEwcC0yMCwKKyAgICAweDEucC0yMCwKKyAgICAweDEucC0yMCwKKyAgICAweDEucC0yMAorICB9LAorICB7IC8vIEVudHJ5IDY3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgLTB4MS5wLTEwLAorICAgIC0weDEucC0xMCwKKyAgICAtMHgxLnAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAxcC0yMCwKKyAgICAtMHgxLnAtMTAsCisgICAgLTB4MS5wLTEwLAorICAgIDB4MS5wLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDFwLTIwLAorICAgIC0weDEucC0xMCwKKyAgICAweDEucC0xMCwKKyAgICAtMHgxLnAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgLTB4MS5wLTEwLAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5wLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDFwLTIwLAorICAgIDB4MS5wLTEwLAorICAgIC0weDEucC0xMCwKKyAgICAtMHgxLnAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgMHgxLnAtMTAsCisgICAgLTB4MS5wLTEwLAorICAgIDB4MS5wLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjEsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMTAsCisgICAgLTB4MS5wLTEwMAorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLmYwcC0xMSwKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAweDEuMDhwLTEwLAorICAgIC0weDEucC01LAorICAgIC0weDEucC01LAorICAgIDB4MS5wLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgLTB4MS4wOHAtMTAsCisgICAgLTB4MS5wLTUsCisgICAgMHgxLnAtNSwKKyAgICAtMHgxLnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODYKKyAgICAtMHgxLmYwcC0xMSwKKyAgICAtMHgxLnAtNSwKKyAgICAweDEucC01LAorICAgIDB4MS5wLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgLTB4MS4wOHAtMTAsCisgICAgMHgxLnAtNSwKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAtMHgxLmYwcC0xMSwKKyAgICAweDEucC01LAorICAgIC0weDEucC01LAorICAgIDB4MS5wLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLmYwcC0xMSwKKyAgICAweDEucC01LAorICAgIDB4MS5wLTUsCisgICAgLTB4MS5wLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLjA4cC0xMCwKKyAgICAweDEucC01LAorICAgIDB4MS5wLTUsCisgICAgMHgxLnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAweDEuNjhwNiwKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40MHAzLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5iOHA2LAorICAgIC0weDEuNDBwMywKKyAgICAtMHgxLjQwcDMsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICAtMHgxLmI4cDYsCisgICAgLTB4MS40MHAzLAorICAgIDB4MS40MHAzLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIC0weDEuNjhwNiwKKyAgICAtMHgxLjQwcDMsCisgICAgMHgxLjQwcDMsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAtMHgxLmI4cDYsCisgICAgMHgxLjQwcDMsCisgICAgLTB4MS40MHAzLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIC0weDEuNjhwNiwKKyAgICAweDEuNDBwMywKKyAgICAtMHgxLjQwcDMsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuNjhwNiwKKyAgICAweDEuNDBwMywKKyAgICAweDEuNDBwMywKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAweDEuYjhwNiwKKyAgICAweDEuNDBwMywKKyAgICAweDEuNDBwMywKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIDAuMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5wMSwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMC4wLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIC0weDEucDEsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDcwNAorICAgIDAuMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzA2CisgICAgMHgxLnAxLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTAKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNzE4CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNzMwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzQ4CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDc0OQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzYzCisgICAgMHgxLmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgMHgxLmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDc2NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNzY3CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDc3MworICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIC0weDEuZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzc1CisgICAgLTB4MS5mZmZmZmVwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAtMHgxLmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDc3OAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAweDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODUKKyAgICAweDEuZmZmZmZhMDAwMDA0cDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIDB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgMHgxLmZmZmZmYTAwMDAwNHAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmZmZmZmYTAwMDAwNHAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDc4OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzkyCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAtMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAtMHgxLmZmZmZmYTAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzk1CisgICAgLTB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgLTB4MS5mZmZmZmEwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDc5NworICAgIC0weDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIC0weDEuZmZmZmZhMDAwMDA0cDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzk5CisgICAgLTB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAtMHgxLmZmZmZmYTAwMDAwNHAxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgwMgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAxcC0yMiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yMiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZXAtMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDgwOAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZjAwMDAwMnAtMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTIyLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVwLTIyLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODExCisgICAgMHgxLmZmZmZmZXAtMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTIKKyAgICAweDEuZmZmZmZlcC0yMiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgxNQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgxNworICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTIyLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZjAwMDAwMnAtMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwZmZmZmZlcC0yMiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcC0yMiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTIyLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIC0weDEuZmZmZmZlcC0yMiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAtMHgxLmZmZmZmZXAtMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgyNgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDgzMAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODMxCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzMKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDgzNworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODQyCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODQzCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDcKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDkKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg1MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg1MQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODU1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg2MAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDg2NAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDg2NgorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODY3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODY5CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzAKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzEKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg3MgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg3NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzcKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODc5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODIKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg4MworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg4NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODg1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODYKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODcKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODkwCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDg5MQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDg5MgorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODk0CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg5NworICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg5OAorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODk5CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTAwCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDkwMgorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAtMHgxLmZmZmZmZXAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIC0weDEuZmZmZmZlcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgOTA2CisgICAgLTB4MS5mZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgOTA3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDkwOAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDkwOQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTAKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTIKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTEzCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDkxNQorICAgIDB4MS5mZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTYKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTE3CisgICAgMHgxLmZmZmZmZXAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTgKKyAgICAweDEuZmZmZmZlcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTkKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDkyMQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTIzCisgICAgLTB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTI0CisgICAgLTB4MS5mZmZmZmEwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMnAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDkyNQorICAgIC0weDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDkyNgorICAgIC0weDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjcKKyAgICAtMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjgKKyAgICAtMHgxLmZmZmZmYTAwMDAwNHAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDkyOQorICAgIC0weDEuZmZmZmZhMDAwMDA0cDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgOTMwCisgICAgLTB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgOTMxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDkzMgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzQKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzUKKyAgICAweDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDJwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzYKKyAgICAweDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTM3CisgICAgMHgxLmZmZmZmYTAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTM4CisgICAgMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDkzOQorICAgIDB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDAKKyAgICAweDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTQxCisgICAgMHgxLmZmZmZmYTAwMDAwNHAxLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDIKKyAgICAweDEuZmZmZmZhMDAwMDA0cDEsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDk0NQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk0NgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk0NworICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTIyLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTQ4CisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjIsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTQ5CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZjAwMDAwMnAtMjIsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwZmZmZmZlcC0yMiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcC0yMiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk1MgorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTIyLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk1MworICAgIC0weDEuZmZmZmZlcC0yMiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTQKKyAgICAtMHgxLmZmZmZmZXAtMjIsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDk1NQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTcKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk1OAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk1OQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjIsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTYwCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yMiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTYxCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwZmZmZmZlcC0yMiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjIKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmYwMDAwMDJwLTIyLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjMKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTIyLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk2NAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjIsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk2NQorICAgIDB4MS5mZmZmZmVwLTIyLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjYKKyAgICAweDEuZmZmZmZlcC0yMiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDk2NworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk3MAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzEKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTcyCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTczCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDk3NAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDk3NQorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzYKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzcKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDk3OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzkKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDk4MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODIKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk4MworICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgOTg0CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDk4NQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTg2CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDk4NworICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTg4CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDk4OQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDk5MAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk5NAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDk5NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTk4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTk5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwMDAKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEwMDMKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwMDcKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMDgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA5CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTAxMQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwMTIKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTAxNAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE1CisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE2CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMTcKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTAxOAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTAxOQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIwCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIxCisgICAgMHgxLmZmZmZmZXAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIyCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIzCisgICAgMHgxLmZmZmZmZXAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNAorICAgIDB4MS5mZmZmZmVwMSwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI1CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNworICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMjgKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cDEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMjkKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwMzEKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMyCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMzMKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgLTB4MS5mZmZmZmVwMSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM1CisgICAgLTB4MS5mZmZmZmVwMSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM2CisgICAgLTB4MS5mZmZmZmVwMSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEwMzgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEwMzkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNHAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQzCisgICAgMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4cC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNDUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwNDYKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ3CisgICAgMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTA0OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUyCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNHAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU1CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA1NgorICAgIC0weDEuZmZmZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA1NworICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA1OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA1OQorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYwCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY1CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwNjcKKyAgICAweDEuZmZmZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNjgKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA2OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWZmZmZmY3AtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA3MAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwNzEKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwNzIKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDczCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEwNzQKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc1CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwNzgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwNzkKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgwCisgICAgLTB4MS5mZmZmZmMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgxCisgICAgMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWZmZmZmY3AtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgzCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwODQKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEwODUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg2CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwODgKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwODkKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwOTEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkyCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwOTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwOTQKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk1CisgICAgMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk2CisgICAgMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTA5NworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk4CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTA5OQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExMDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAyCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTEwMworICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExMDQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA1CisgICAgMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNHAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA3CisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExMDgKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExMDkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTExMAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDExMTEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExMTIKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTExMworICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE0CisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTExNQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE2CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTExNworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE4CisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTExOQorICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMAorICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExMjEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDExMjIKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExMjQKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExMjUKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDExMjYKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTEyNworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTEyOAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI5CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMwCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExMzEKKyAgICAwLjAsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMyCisgICAgLTAuMCwKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMzCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTEzNAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTEzOAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTEzOQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExNDAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNDEKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTE0MworICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ0CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExNDYKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExNDcKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDExNDgKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ5CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUwCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1MQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTE1MgorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNTMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU0CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExNTUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU3CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1OAorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1OQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDExNjAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycDEsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE2MQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExNjIKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE2MworICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNjQKKyAgICAtMHgxLmZmZmZmZXAxLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNjUKKyAgICAtMHgxLmZmZmZmZXAxLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExNjYKKyAgICAtMHgxLmZmZmZmZXAxLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDExNjgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY5CisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExNzAKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcxCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycDEsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE3MgorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTczCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE3NAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc1CisgICAgMHgxLmZmZmZmZXAxLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNzYKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTE3NworICAgIDB4MS5mZmZmZmVwMSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTE3OAorICAgIDB4MS5mZmZmZmVwMSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExNzkKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTE4MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDExODEKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE4MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE4NAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE4NQorICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExODYKKyAgICAtMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4cC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExODcKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExODgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExODkKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkzCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE5NAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk1CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0cC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDExOTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk3CisgICAgMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4cC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExOTgKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk5CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyMDAKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyMDEKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMgorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTIwNQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA5CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIxMAorICAgIC0weDEuZmZmZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIxMQorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTIxMgorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZmNwLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTIxMworICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE0CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyMTcKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE4CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTIyMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEyMjEKKyAgICAweDEuZmZmZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIyMgorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMjMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZmNwLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTIyNAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTIyNQorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI2CisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyMjgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI5CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMzAKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEyMzIKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMzCisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIzNAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMzUKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyMzYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0cC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyMzcKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTIzOAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTIzOQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTI0MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI0MgorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQzCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTI0NQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI0NgorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNDcKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI0OAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI0OQorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUwCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyNTMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU0CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU1CisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU2CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEyNTcKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNTgKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI1OQorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI2MAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYxCisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTI2MgorICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTI2MworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyNjQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyNjUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI2NgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNjcKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY4CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY5CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MQorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNzIKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNzMKKyAgICAwLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyNzYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNzcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTI3OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgwCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI4MQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgyCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI4MworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg0CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEyODUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEyODYKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg3CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyODgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyODkKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEyOTAKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkxCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI5MworICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI5NAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyOTUKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk2CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEyOTcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyOTgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTI5OQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMwMAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAxCisgICAgMHgxLmZmZmZmYTAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAycDEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzMDIKKyAgICAweDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzMDMKKyAgICAweDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMwNAorICAgIDB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMwNQorICAgIDB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMwNgorICAgIDB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMwNworICAgIDB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEzMDgKKyAgICAweDEuZmZmZmZhMDAwMDA0cDEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTMwOQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzMTAKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzMTEKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEyCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEzCisgICAgLTB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTMxNAorICAgIC0weDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDJwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE1CisgICAgLTB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZXAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMxNgorICAgIC0weDEuZmZmZmZhMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE3CisgICAgLTB4MS5mZmZmZmEwMDAwMDNmZmZmZmZmZmZmZmZmZmZmZmZmZnAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMxOAorICAgIC0weDEuZmZmZmZhMDAwMDA0cDEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMxOQorICAgIC0weDEuZmZmZmZhMDAwMDA0cDEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMAorICAgIC0weDEuZmZmZmZhMDAwMDA0cDEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEzMjEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIzCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzMjQKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzMjUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzMjYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTMyNworICAgIDB4MS5mZmZmZmMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMyOAorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzI5CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZjcC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMwCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMzMQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTMzMgorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEzMzMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTMzNAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzMzUKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMzNgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTMzOAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTMzOQorICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNDAKKyAgICAtMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNDEKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEzNDIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZjcC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEzNDMKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTM0NAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTM0NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzNDYKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzNDcKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM0OAorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM0OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTM1MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUxCisgICAgMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUyCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZjhwLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEzNTQKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU1CisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU2CisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTM1NworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU4CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTM1OQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYzCisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM2NAorICAgIC0weDEuZmZmZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM2NQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM2NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZjhwLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM2NworICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY4CisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTM3MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTM3MQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcyCisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzczCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTM3NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc1CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM3NgorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc4CisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM3OQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTM4MAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEzODEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTM4MgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzODMKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM4NAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTM4NgorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzODcKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg4CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM4OQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM5MAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM5MQorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkyCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkzCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEzOTQKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzk1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzk2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzOTcKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTM5OAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzOTkKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQwMAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MDEKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTQwMgorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0MDMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0MDQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA1CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA2CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0MDcKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA5CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEwCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE0MTEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MTIKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQxMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTQxNAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQxNgorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQxNworICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0MTgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQxOQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQyMAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQyMQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE0MjIKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MjMKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTQyNgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0MjcKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQyOAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQyOQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMwCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMyCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQzMworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQzNAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MzUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0MzYKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDM3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQzOAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDM5CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0MQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NDIKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NDMKKyAgICAtMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ0CisgICAgLTB4MS5mZmZmZmEwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMnAxLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE0NDUKKyAgICAtMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZlcDEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ2CisgICAgLTB4MS5mZmZmZmEwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NDcKKyAgICAtMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ4CisgICAgLTB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQ5CisgICAgLTB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUwCisgICAgLTB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1MQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1MworICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDU0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1NQorICAgIDB4MS5mZmZmZmEwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMnAxLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE0NTYKKyAgICAweDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1NworICAgIDB4MS5mZmZmZmEwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NTgKKyAgICAweDEuZmZmZmZhMDAwMDAzZmZmZmZmZmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1OQorICAgIDB4MS5mZmZmZmEwMDAwMDRwMSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYwCisgICAgMHgxLmZmZmZmYTAwMDAwM2ZmZmZmZmZmZmZmZmZmZmZmZmZmcDEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0NjEKKyAgICAweDEuZmZmZmZhMDAwMDA0cDEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0NjIKKyAgICAweDEuZmZmZmZhMDAwMDA0cDEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYzCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0NjQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDY1CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NjYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE0NjgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE0NjkKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcwCisgICAgLTB4MS5mZmZmZmMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcxCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWZmZmZmY3AtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDczCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0NzQKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0NzUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0NzYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3NworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NzgKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3OQorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4MQorICAgIDB4MS5mZmZmZmMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgyCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4MworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWZmZmZmY3AtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDg0CisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDg1CisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0ODYKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0ODcKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4OAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0ODkKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5MAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5MworICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0OTQKKyAgICAtMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0OTUKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0OTYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmY4cC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0OTcKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5OAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5OQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTUwMAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUwMgorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAzCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1MDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTA1CisgICAgMHgxLmZmZmZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MDYKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTA3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmY4cC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MDgKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MDkKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTUxMAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTUxMQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTUxMworICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTE0CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTE2CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTUxNworICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MTgKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTE5CisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIxCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1MjIKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1MjMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE1MjQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTUyNQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MjYKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUyNworICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTUyOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1MjkKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MzAKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMxCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MzIKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MzMKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTUzNAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTUzNQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTUzNgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTM3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUzOAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUzOQorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU0MAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQxCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQyCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NDMKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1NDQKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTU0NQorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1NDYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1NDcKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQ4CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQ5CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NTAKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUxCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU1MgorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU1MworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NTQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NTUKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTU2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTU3CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1NTgKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1NTkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYwCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU2MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1NjMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU2NAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NjUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU2NgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1NjcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTU2OAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTY5CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTU3MQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTczCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTc0CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU3NQorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU3NgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NzcKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1NzgKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTc5CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTU4MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE1ODMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTg0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1ODUKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDFwLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTg2CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmcC0yMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1ODcKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmVwLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTg4CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmMDAwMDAycC0yMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1ODkKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkwCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcC0yMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1OTEKKyAgICAweDEuZmZmZmZlcC0yMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE1OTIKKyAgICAweDEuZmZmZmZlcC0yMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkzCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTU5NAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTU5NQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1OTYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTk3CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMjIsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTk4CisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjIsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU5OQorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmYwMDAwMDJwLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTYwMAorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmVwLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MDEKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcC0yMiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2MDIKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycC0yMiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAzCisgICAgLTB4MS5mZmZmZmVwLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2MDQKKyAgICAtMHgxLmZmZmZmZXAtMjIsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2MDUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjA2CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjA3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MDgKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MDkKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2MTEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEyCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2MTQKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE1CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE2CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTYxNworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjE4CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTYxOQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIyCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTYyMworICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MjQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjI1CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjI2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNHAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjI3CisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2MjgKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2MjkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMwCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MzIKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MzMKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjM0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2MzUKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjM2CisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2MzgKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjM5CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQwCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY0MQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQyCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTY0MworICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQ0CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQ2CisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY0NworICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NDgKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQ5CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUxCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2NTIKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2NTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjU0CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjU1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NTYKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NTcKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjU4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2NTkKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYwCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NjEKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYyCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTY2MworICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY2NAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2NjUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTY2NgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE2NjcKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY2OAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjY5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY3MAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2NzEKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcyCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY3MworICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTY3NAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2NzUKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY3NgorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY3NworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjc4CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTY3OQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY4MAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgxCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2ODIKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgzCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2ODQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjg1CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2ODYKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjg3CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjg4CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY4OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTY5MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY5MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY5MworICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY5NAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjk1CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjk2CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2OTcKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2OTgKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTY5OQorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3MDAKKyAgICAtMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3MDEKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MDMKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MDQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3MDUKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzA2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzA3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTcwOAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTcwOQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3MTAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzExCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3MTIKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3MTMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTcxNAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTcxNQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTcxNgorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3MTcKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MTgKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzE5CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIwCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTcyMQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3MjIKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTcyMworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3MjQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3MjUKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzI2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTcyNworICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTIyLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTcyOAorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDFwLTIyLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3MjkKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmMDAwMDAycC0yMiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MzAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwZmZmZmZlcC0yMiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMxCisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZXAtMjIsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMyCisgICAgLTB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAtMjIsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTczMworICAgIC0weDEuZmZmZmZlcC0yMiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzM0CisgICAgLTB4MS5mZmZmZmVwLTIyLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzM1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3MzYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzM3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzM4CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTczOQorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMXAtMjIsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTc0MAorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMjIsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3NDEKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmVwLTIyLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NDIKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmYwMDAwMDJwLTIyLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQzCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycC0yMiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQ0CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlcC0yMiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTc0NQorICAgIDB4MS5mZmZmZmVwLTIyLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQ2CisgICAgMHgxLmZmZmZmZXAtMjIsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQ3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3NDgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQ5CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NTAKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3NTIKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUzCisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc1NAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NTUKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3NTYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0cC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3NTcKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTc1OAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTc1OQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTc2MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc2MgorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYzCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzY0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTc2NQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc2NgorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NjcKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTc2OAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTc2OQorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcwCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3NzIKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzczCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NzQKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3NzYKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzc3CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc3OAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NzkKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3ODAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3ODEKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTc4MgorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTc4MworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTc4NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc4NgorICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg3CisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTc4OQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc5MAorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3OTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTc5MgorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTc5MworICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzk0CisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzk1CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE3OTYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzk3CisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3OTgKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTc5OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4MDAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAxCisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTgwMgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MDMKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4MDQKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODA1CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MDYKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MDcKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4MDgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTgwOQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MTAKKyAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTgxMQorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTgxMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4MTMKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MTQKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODE1CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODE2CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODE3CisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MTgKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MTkKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4MjAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTgyMQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MjIKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MjMKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4MjQKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTgyNQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTgyNgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODI3CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODI4CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4MjkKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMwCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTgzMgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTgzMworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODM0CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTgzNQorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4MzYKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4MzcKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODM4CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODM5CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg0MAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg0MQorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQyCisgICAgMC4wLAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQzCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg0NAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg0NQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQ2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg0NworICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4NDgKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4NDkKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUwCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUxCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg1MgorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg1MworICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU0CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU1CisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4NTYKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODU4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4NTkKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg2MAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4NjEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg2MgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE4NjMKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg2NAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4NjUKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4NjYKKyAgICAtMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTg2NworICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODY4CisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg2OQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg3MAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcxCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4NzIKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODczCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE4NzQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODc1CisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4NzYKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODc3CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODc4CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTg3OQorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg4MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg4MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg4MworICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg4NAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODg1CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODg2CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE4ODcKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4ODgKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg4OQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4OTAKKyAgICAtMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4OTEKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg5MgorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4OTMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4OTQKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg5NQorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODk2CisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg5NworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODk4CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg5OQorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAwCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTkwMQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTkwMgorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MDMKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5MDQKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTkwNQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5MDYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5MDcKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5MDgKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTkwOQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTkxMAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTExCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEyCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5MTMKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE0CisgICAgLTAuMCwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE1CisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5MTYKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTE4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5MTkKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTkyMAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5MjEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTkyMgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE5MjMKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTkyNAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5MjUKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MjYKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTI3CisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTI4CisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5MjkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMxCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMyCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5MzMKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE5MzQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTkzNQorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTkzNgorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTM3CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTkzOAorICAgIC0wLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTkzOQorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk0MAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAwLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk0MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk0MworICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTk0NAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQ1CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQ2CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE5NDcKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5NDgKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk0OQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5NTAKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAwLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTk1MQorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIC0wLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NTIKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgLTAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NTMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk1NAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5NTUKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTU2CisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTU3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDAuMGYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk1OAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk1OQorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5NjAKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5NjEKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTk2MgorICAgIC0wLjAsCisgICAgMC4wZiwKKyAgICAtMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5NjMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk2NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NjUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5NjYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk2NworICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTY4CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTk2OQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcwCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk3MQorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk3MworICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTk3NAorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTc1CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTc2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NzcKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTc4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTc5CisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgwCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5ODEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE5ODIKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk4MworICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk4NAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTg1CisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTk4NgorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTg3CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTg4CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5ODkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkxCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkyCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5OTMKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE5OTQKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk5NQorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk5NgorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTk3CisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTk5OAorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTk5OQorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMDAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMDEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAwMgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMDMKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDA0CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDA1CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAwNgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAwNworICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwMDgKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwMDkKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjAxMAorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjAxMQorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjAxMgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEzCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAxNAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAxNQorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjAxNgorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDE3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDE4CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMTkKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwMjAKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjAyMQorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIwMjIKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIwMjMKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDI0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDI1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMjYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDI3CisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjAyOAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjAyOQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMzAKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMzEKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMzCisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIwMzQKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIwMzUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMzYKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjAzNworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMzgKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMzkKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNDAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA0MQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA0MgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQzCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQ0CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwNDUKKyAgICAwLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQ2CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQ3CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjA0OAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjA0OQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA1MQorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNTIKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNTMKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU0CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU1CisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA1NgorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA1NworICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU4CisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDU5CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjA2MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjA2MQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYyCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA2MworICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZiwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNjQKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNjUKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDY2CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZiwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDY3CisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA2OAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA2OQorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAwLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcwCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAwLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjA3MQorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjA3MworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA3NAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDc1CisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNzYKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDc3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIwNzgKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDc5CisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwODAKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgxCisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgyCisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIC0wLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjA4MworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwODQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwODUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDg2CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA4NworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDg4CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA4OQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkwCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA5MQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIwOTMKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIwOTQKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDk1CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwOTYKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwOTcKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwOTgKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDk5CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAwCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEwMQorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEwMgorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxMDMKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTA0CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxMDUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIxMDYKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEwNworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEwOAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjEwOQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxMTAKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMTEKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEzCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjExNAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxMTUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjExNgorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjExNworICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMTgKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjExOQorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIwCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIxCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMjIKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMjMKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEyNAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEyNQorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjEyNgorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxMjcKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTI4CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTI5CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEzMAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxMzEKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjEzMgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMzMKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEzNAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxMzUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEzNgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTM3CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTM4CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjEzOQorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQwCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQxCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQyCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjE0MworICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE0NAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNDUKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNDYKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQ3CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjE0OAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQ5CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjE1MAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE1MQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNTIKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUzCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxNTQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTU1CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNTYKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTU3CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNTgKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjE1OQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjE2MAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIxNjEKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE2MgorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE2MworICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjE2NAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxNjUKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNjYKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTY3CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTY4CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjE2OQorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxNzAKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjE3MQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIxNzIKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNzMKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTc0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjE3NQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTc2CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE3NworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTc4CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjE3OQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgwCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxODEKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxODIKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgzCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxODQKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxODUKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxODYKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTg3CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTg4CisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE4OQorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjE5MAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxOTEKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkyCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIxOTMKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTk0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxOTUKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxOTYKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxOTcKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTk4CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTk5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwMAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjIwMQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyMDIKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAzCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyMDQKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIyMDUKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwNgorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwNworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjIwOAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyMDkKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMTAKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjExCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEyCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjIxMworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyMTQKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjIxNQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjIxNgorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMTcKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIxOAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjE5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIwCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMjEKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMjIKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjIyMworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjIyNAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjIyNQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyMjYKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjIyNworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMjgKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIyOQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMwCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMxCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMzIKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMzMKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjIzNAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjIzNQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjIzNgorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyMzcKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjM4CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMzkKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNDAKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyNDEKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQzCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI0NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjI0NQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyNDYKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQ3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyNDgKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIyNDkKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI1MAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI1MQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI1MgorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyNTMKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNTQKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjU1CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjU2CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjI1NworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyNTgKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjI1OQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIyNjAKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI2MQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI2MgorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI2MworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyNjQKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNjUKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjY2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjY3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjI2OAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDIyNjkKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjI3MAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjI3MQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcyCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjczCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjc0CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI3NQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI3NgorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNzcKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyNzgKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjc5CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjI4MAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgxCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjI4MgorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgzCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjg0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjg1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI4NgorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI4NworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyODgKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyODkKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkwCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjI5MQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkyCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkzCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyOTQKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyOTUKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyOTYKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjk3CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjk4CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI5OQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjMwMAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMDEKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAyCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2ZtYXhfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2ZtYXhfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0YmQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZm1heF9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZG91YmxlLCBkb3VibGUsIGRvdWJsZT4gZ19mbWF4X2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS40MHAzLAorICAgIC0weDEuNHAzLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS40MHAzLAorICAgIC0weDEuNHAzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjQwcDMsCisgICAgMHgxLjRwMywKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuNDBwMywKKyAgICAweDEuNHAzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDczLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDczLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEucC0xMDczLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDczLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3MywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3MywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQsCisgICAgMHgxLjBwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS4wMDAwMDAwMDAwMDAyMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuMHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5wLTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MAorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLnAtNTAsCisgICAgMHgxLjBwLTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLnAtNTAsCisgICAgMHgxLjBwLTUwLAorICAgIDB4MS4wcC01MAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC01MCwKKyAgICAweDEuMHAtNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwLAorICAgIDB4MS4wcC01MAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC01MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMSwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLnAtMTAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLnAtMTAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMCwKKyAgICAweDEuMHAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS4wcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLnAxLAorICAgIDB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLnAxLAorICAgIDB4MS4wcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEsCisgICAgMHgxLjBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLnAxMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLnA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEucDUwLAorICAgIDB4MS4wcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEucDUwLAorICAgIDB4MS4wcDUwLAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTAsCisgICAgMHgxLjBwNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwLAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5wMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEucDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgSFVHRV9WQUwsCisgICAgMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEucC0xMDIyLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLnAtMTA3NCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMC4wLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucC0xMDc0LAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEucC0xMDIyLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5wLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9mbWF4Zl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZm1heGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZjgzMTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZm1heGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTEwMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfZm1heGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEucC0xNDgsCisgICAgMC4wLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS4wMDA2OGVwMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40MHAzLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuNDBwMywKKyAgICAtMHgxLjQwcDMsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjQwcDMsCisgICAgMHgxLjQwcDMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS40MHAzLAorICAgIDB4MS40MHAzLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEucC0xNDgsCisgICAgMC4wLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEucC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5wLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEuMDAwMDA0cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5wLTEyNywKKyAgICAweDEucC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTI3LAorICAgIDB4MS5wLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS5wLTEyNywKKyAgICAweDEuMDAwMDA0cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAweDEuMDAwMDA0cC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuMDAwMDA0cC0xMjcsCisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS5wLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAweDEuMDAwMDA0cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5mZmZmZmVwLTUxLAorICAgIDB4MS5mZmZmZmVwLTUxLAorICAgIDB4MS5mZmZmZmVwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEucC01MCwKKyAgICAweDEuZmZmZmZlcC01MSwKKyAgICAweDEucC01MAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjAwMDAwMnAtNTAsCisgICAgMHgxLmZmZmZmZXAtNTEsCisgICAgMHgxLjAwMDAwMnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5wLTUwLAorICAgIDB4MS5wLTUwLAorICAgIDB4MS5mZmZmZmVwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEucC01MCwKKyAgICAweDEucC01MCwKKyAgICAweDEucC01MAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjAwMDAwMnAtNTAsCisgICAgMHgxLnAtNTAsCisgICAgMHgxLjAwMDAwMnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS4wMDAwMDJwLTUwLAorICAgIDB4MS4wMDAwMDJwLTUwLAorICAgIDB4MS5mZmZmZmVwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuMDAwMDAycC01MCwKKyAgICAweDEuMDAwMDAycC01MCwKKyAgICAweDEucC01MAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjAwMDAwMnAtNTAsCisgICAgMHgxLjAwMDAwMnAtNTAsCisgICAgMHgxLjAwMDAwMnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEucC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMSwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLmZmZmZmZXAtMTEsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEucC0xMCwKKyAgICAweDEucC0xMCwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS4wMDAwMDJwLTEwLAorICAgIDB4MS4wMDAwMDJwLTEwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMDAwMDAycC0xMCwKKyAgICAweDEuMDAwMDAycC0xMCwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5wMSwKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEucDEsCisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEucDEwLAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLjAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEuZmZmZmZlcDQ5LAorICAgIDB4MS5mZmZmZmVwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5wNTAsCisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuMDAwMDAycDUwLAorICAgIDB4MS5mZmZmZmVwNDksCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLnA1MCwKKyAgICAweDEucDUwLAorICAgIDB4MS5mZmZmZmVwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5wNTAsCisgICAgMHgxLnA1MCwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMDAwMDAycDUwLAorICAgIDB4MS5wNTAsCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjAwMDAwMnA1MCwKKyAgICAweDEuMDAwMDAycDUwLAorICAgIDB4MS5mZmZmZmVwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4wMDAwMDJwNTAsCisgICAgMHgxLjAwMDAwMnA1MCwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuMDAwMDAycDUwLAorICAgIDB4MS4wMDAwMDJwNTAsCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEucDEyNywKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZm1pbl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZm1pbl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI1MzhmNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9mbWluX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEwOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlPiBnX2ZtaW5faW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40cDMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS40MHAzLAorICAgIC0weDEuNHAzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS40MHAzLAorICAgIDB4MS40cDMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjQwcDMsCisgICAgMHgxLjRwMywKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDczLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAtMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDczLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEucC0xMDczLAorICAgIDB4MS4wcC0xMDczLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDczLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNCwKKyAgICAweDEuMHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDI0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjQsCisgICAgMHgxLjBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwMjMsCisgICAgMHgxLjBwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAtMTAyMywKKyAgICAweDEuMHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUxLAorICAgIDB4MS4wcC01MAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUxLAorICAgIDB4MS4wcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS5wLTUwLAorICAgIDB4MS4wcC01MCwKKyAgICAweDEuMHAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5wLTUwLAorICAgIDB4MS4wcC01MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLnAtNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwLAorICAgIDB4MS4wcC01MAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC01MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTExLAorICAgIDB4MS4wcC0xMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5wLTEwLAorICAgIDB4MS4wcC0xMCwKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5wLTEwLAorICAgIDB4MS4wcC0xMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5wLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5wLTEsCisgICAgMHgxLjBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5wMSwKKyAgICAweDEuMHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5wMSwKKyAgICAweDEuMHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS4wcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDQ5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDksCisgICAgMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDQ5LAorICAgIDB4MS4wcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEucDUwLAorICAgIDB4MS4wcDUwLAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEucDUwLAorICAgIDB4MS4wcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS5wNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAsCisgICAgMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEucDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLnAxMDIzLAorICAgIDB4MS4wcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5wMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIDB4MS4wcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEucC0xMDIyLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLnAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDAuMCwKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMC4wLAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLnAtMTAyMiwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEucC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9mbWluZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZm1pbmZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MWFlOWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZm1pbmZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTEwMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfZm1pbmZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuZmZmMmUycC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZjJlMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40MHAzLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLjQwcDMsCisgICAgLTB4MS40MHAzLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuNDBwMywKKyAgICAweDEuNDBwMywKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjQwcDMsCisgICAgMHgxLjQwcDMsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ4LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEucC0xNDgsCisgICAgMC4wLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEucC0xNDksCisgICAgMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIC0weDEucC0xNDgsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEucC0xNDgsCisgICAgMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDAuMCwKKyAgICAweDEucC0xNDgsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5mZmZmZjhwLTEyOAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmZmZmZmOHAtMTI4LAorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEucC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5mZmZmZjhwLTEyOCwKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLnAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyOAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLnAtMTI3LAorICAgIDB4MS5wLTEyNywKKyAgICAweDEucC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5wLTEyNywKKyAgICAweDEucC0xMjcsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuZmZmZmY4cC0xMjgsCisgICAgMHgxLjAwMDAwNHAtMTI3LAorICAgIDB4MS5mZmZmZjhwLTEyOAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLnAtMTI3LAorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAweDEucC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS4wMDAwMDRwLTEyNywKKyAgICAweDEuMDAwMDA0cC0xMjcsCisgICAgMHgxLjAwMDAwNHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmZmZlcC01MSwKKyAgICAweDEuZmZmZmZlcC01MSwKKyAgICAweDEuZmZmZmZlcC01MQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLmZmZmZmZXAtNTEsCisgICAgMHgxLmZmZmZmZXAtNTEsCisgICAgMHgxLnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS5mZmZmZmVwLTUxLAorICAgIDB4MS5mZmZmZmVwLTUxLAorICAgIDB4MS4wMDAwMDJwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuZmZmZmZlcC01MSwKKyAgICAweDEucC01MCwKKyAgICAweDEuZmZmZmZlcC01MQorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLnAtNTAsCisgICAgMHgxLnAtNTAsCisgICAgMHgxLnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5wLTUwLAorICAgIDB4MS5wLTUwLAorICAgIDB4MS4wMDAwMDJwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZmZmZmZlcC01MSwKKyAgICAweDEuMDAwMDAycC01MCwKKyAgICAweDEuZmZmZmZlcC01MQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLnAtNTAsCisgICAgMHgxLjAwMDAwMnAtNTAsCisgICAgMHgxLnAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4wMDAwMDJwLTUwLAorICAgIDB4MS4wMDAwMDJwLTUwLAorICAgIDB4MS4wMDAwMDJwLTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZlcC0xMSwKKyAgICAweDEuZmZmZmZlcC0xMSwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLmZmZmZmZXAtMTEsCisgICAgMHgxLmZmZmZmZXAtMTEsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS4wMDAwMDJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmZmZmZlcC0xMSwKKyAgICAweDEucC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5wLTEwLAorICAgIDB4MS4wMDAwMDJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZmZmZmZlcC0xMSwKKyAgICAweDEuMDAwMDAycC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS4wMDAwMDJwLTEwLAorICAgIDB4MS4wMDAwMDJwLTEwLAorICAgIDB4MS4wMDAwMDJwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS5wLTEsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLnAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLnAxLAorICAgIDB4MS5wMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS5wMSwKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEucDEwLAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLjAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEuZmZmZmZlcDQ5LAorICAgIDB4MS5mZmZmZmVwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmVwNDksCisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZmZmZmZlcDQ5LAorICAgIDB4MS5mZmZmZmVwNDksCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEucDUwLAorICAgIDB4MS5mZmZmZmVwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5wNTAsCisgICAgMHgxLnA1MCwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEucDUwLAorICAgIDB4MS5wNTAsCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmZmZmZmZXA0OSwKKyAgICAweDEuMDAwMDAycDUwLAorICAgIDB4MS5mZmZmZmVwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5wNTAsCisgICAgMHgxLjAwMDAwMnA1MCwKKyAgICAweDEucDUwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuMDAwMDAycDUwLAorICAgIDB4MS4wMDAwMDJwNTAsCisgICAgMHgxLjAwMDAwMnA1MAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEucDEyNywKKyAgICAweDEucDEyNywKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLnAxMjcsCisgICAgMHgxLjAwMDAwMnAxMjcsCisgICAgMHgxLnAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDAuMCwKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0wLjAsCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0wLjAsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0wLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2Ztb2RfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2Ztb2RfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNWM3N2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvZm1vZF9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMzI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZG91YmxlLCBkb3VibGUsIGRvdWJsZT4gZ19mbW9kX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS41N2U4OTMyNDkyYzBwLTEwLAorICAgIC0weDEuMjAwYWQ2ODVlN2Y0NHAzLAorICAgIC0weDEuMDAwMDE0YWJkNDQ2ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0weDEuZDdkYmY0ODdmZmQwcC0xMSwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTEsCisgICAgMHgxLjEwYTgzNTg1NjQ5ZjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLnAtMTA3MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDEsCisgICAgMHgxLjRwLTEwNzIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLnAtMTA3MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAxNywKKyAgICAweDEuNHAtMTA3MgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuZmM4NDIwZTg4Y2JmcDE4LAorICAgIDB4MS4xMWY3ODNlZTg5YjA4cDk5LAorICAgIDB4MS4wYWJlMWEyOWQ4ZThjcDE5CisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS41MHAtNjEsCisgICAgMHgxLjU1NTU1NTU1NTU1NTJwLTEyLAorICAgIDB4MS4xMTExMTExMTExMTA2cC0xNAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTE3LAorICAgIC0weDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMTcsCisgICAgMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAwLjAsCisgICAgMHgxLjBwLTExNywKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAwLjAsCisgICAgMHgxLjBwLTExNywKKyAgICAweDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEuMHAtMTE3LAorICAgIDB4MS4wcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEuMHAtMTE3LAorICAgIDB4MS4wcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEucC0xMTcsCisgICAgMHgxLjBwLTExNywKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEucC0xMTcsCisgICAgLTB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEuMHAtMTE3LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAtMTE3LAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEucC0xMTcsCisgICAgMHgxLjBwLTExNywKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDAuMCwKKyAgICAweDEuMHAxNSwKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMC4wLAorICAgIDB4MS4wcDE1LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDAuMCwKKyAgICAweDEuMHAxNiwKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMC4wLAorICAgIDB4MS4wcDE2LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDAuMCwKKyAgICAweDEuMHAxNSwKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLnAxNSwKKyAgICAweDEuMHAxNSwKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMC4wLAorICAgIDB4MS4wcDE2LAorICAgIDB4MS4wcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAwLjAsCisgICAgMHgxLjBwMTYsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wMTUsCisgICAgMHgxLjBwMTUsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEucDE1LAorICAgIDB4MS4wcDE1LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLnAxNiwKKyAgICAweDEuMHAxNiwKKyAgICAweDEuMHAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5wMTYsCisgICAgMHgxLjBwMTYsCisgICAgMHgxLjBwMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAwLjAsCisgICAgMHgxLjBwMTE3LAorICAgIC0weDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAwLjAsCisgICAgMHgxLjBwMTE3LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgLTB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMC4wLAorICAgIDB4MS4wcDExOCwKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMC4wLAorICAgIDB4MS4wcDExOCwKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5wMTE3LAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAwLjAsCisgICAgMHgxLjBwMTE4LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMC4wLAorICAgIDB4MS45cDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnAwLAorICAgIDB4MS45cDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLnAyLAorICAgIDB4MS45cDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLnAwLAorICAgIDB4MS45NDBwNiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEucDEsCisgICAgMHgxLjk0MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS40MHAyLAorICAgIDB4MS45NDBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEucDEsCisgICAgMHgxLjk4MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS44MHAxLAorICAgIDB4MS45ODBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuODBwMiwKKyAgICAweDEuOTgwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjljMHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5wMiwKKyAgICAweDEuOWMwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLmMwcDIsCisgICAgMHgxLjljMHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5wMiwKKyAgICAweDEuYXA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS40MHAyLAorICAgIDB4MS5hcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLnAzLAorICAgIDB4MS5hcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjQwcDIsCisgICAgMHgxLmE0MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS44MHAyLAorICAgIDB4MS5hNDBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuMjBwMywKKyAgICAweDEuYTQwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjgwcDIsCisgICAgMHgxLmE4MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5jMHAyLAorICAgIDB4MS5hODBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuNDBwMywKKyAgICAweDEuYTgwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmMwcDIsCisgICAgMHgxLmFjMHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5wMywKKyAgICAweDEuYWMwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjYwcDMsCisgICAgMHgxLmFjMHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5wMywKKyAgICAweDEuYnA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS4yMHAzLAorICAgIDB4MS5icDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMC4wLAorICAgIDB4MS5icDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjIwcDMsCisgICAgMHgxLmI0MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS40MHAzLAorICAgIDB4MS5iNDBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEucDAsCisgICAgMHgxLmI0MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDAuMCwKKyAgICAweDEuYjgwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMC4wLAorICAgIDB4MS5iODBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEucDEsCisgICAgMHgxLmI4MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucC01MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS44MHAtNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMC4wLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnAtNTMsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS44MHAtNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEucC01MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEucC01MywKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTAuMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDAuMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEucC01MywKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEucC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjgwcC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEucC01MywKKyAgICAweDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMC4wLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuODBwLTUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEucC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS44MHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLjBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMC4wLAorICAgIC0weDEuMHA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHAtMSwKKyAgICAtMHgxLjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS44MHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuMDAwMDAwMDAwMDAwNDBwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuMDAwMDAwMDAwMDAwNDBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS5wLTEsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAwLjAsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS5wLTUyLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS44MHAtNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLnAtNTMsCisgICAgLTB4MS4wcDUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEucC01MSwKKyAgICAtMHgxLjBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuODBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjgwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuMDAwMDAwMDAwMDAwNDBwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS5wLTIsCisgICAgMHgxLjBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAwLjAsCisgICAgMHgxLjBwNTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS4wMDAwMDAwMDAwMDAyMHAtMSwKKyAgICAweDEuMHA1MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjgwcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuMDAwMDAwMDAwMDAwNDBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5wLTEsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAwLjAsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5wLTUyLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuODBwLTUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLnAtNTEsCisgICAgLTB4MS4wcDUzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTAuMCwKKyAgICAtMHgxLjBwNTMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLnAtNTMsCisgICAgLTB4MS4wcDUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEuODBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMC4wLAorICAgIDAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDAuMCwKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuOGZkOTA0NzkwOTQzMjBwLTk2NCwKKyAgICAtMHgxLjM5OGRkMDY5MDE3ZmZwNzU5LAorICAgIC0weDEuYjE0OGUzNmZkZWMyZnAtOTY0CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZm1vZGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2Ztb2RmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmJhNTgzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2Ztb2RmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEyOTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxmbG9hdCwgZmxvYXQsIGZsb2F0PiBnX2Ztb2RmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLmZicC0xMSwKKyAgICAweDEuOGU3N2I2cDEyLAorICAgIC0weDEuMDE0MHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAwLjAsCisgICAgMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMC4wLAorICAgIDB4MS5wLTExNywKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS5wLTExNywKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS5wLTExNywKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDE1CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5wLTExNywKKyAgICAweDEucC0xMTcsCisgICAgMHgxLnAxNgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcsCisgICAgMHgxLnAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEucC0xMTcsCisgICAgLTB4MS5wLTExNywKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMC4wLAorICAgIDB4MS5wMTUsCisgICAgLTB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMC4wLAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAwLjAsCisgICAgMHgxLnAxNiwKKyAgICAtMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAwLjAsCisgICAgMHgxLnAxNiwKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDAuMCwKKyAgICAweDEucDE1LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxNSwKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAwLjAsCisgICAgMHgxLnAxNiwKKyAgICAweDEucDE1CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAwLjAsCisgICAgMHgxLnAxNiwKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEucDE1LAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxNSwKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLnAxNiwKKyAgICAweDEucDE2LAorICAgIDB4MS5wMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucDE2LAorICAgIDB4MS5wMTYsCisgICAgMHgxLnAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDAuMCwKKyAgICAweDEucDExNywKKyAgICAtMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAwLjAsCisgICAgMHgxLnAxMTcsCisgICAgMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAwLjAsCisgICAgMHgxLnAxMTgsCisgICAgLTB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMC4wLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMC4wLAorICAgIDB4MS5wMTE3LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDAuMCwKKyAgICAweDEucDExNywKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAwLjAsCisgICAgMHgxLnAxMTgsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMC4wLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDAuMCwKKyAgICAweDEucDExNywKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLnAxMTcsCisgICAgMHgxLnAxMTcsCisgICAgMHgxLnAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDAuMCwKKyAgICAweDEucDExOCwKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMC4wLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAwLjAsCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5wMCwKKyAgICAweDEuOTBwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLnAyLAorICAgIDB4MS45MHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDAsCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5wMSwKKyAgICAweDEuOTRwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjQwcDIsCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wMSwKKyAgICAweDEuOThwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjk4cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS44MHAyLAorICAgIDB4MS45OHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuODBwMSwKKyAgICAweDEuOWNwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLnAyLAorICAgIDB4MS45Y3A2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuYzBwMiwKKyAgICAweDEuOWNwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLnAyLAorICAgIDB4MS5hMHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuNDBwMiwKKyAgICAweDEuYTBwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLnAzLAorICAgIDB4MS5hMHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuNDBwMiwKKyAgICAweDEuYTRwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjgwcDIsCisgICAgMHgxLmE0cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4yMHAzLAorICAgIDB4MS5hNHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuODBwMiwKKyAgICAweDEuYThwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLmMwcDIsCisgICAgMHgxLmE4cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS40MHAzLAorICAgIDB4MS5hOHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuYzBwMiwKKyAgICAweDEuYWNwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLnAzLAorICAgIDB4MS5hY3A2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuNjBwMywKKyAgICAweDEuYWNwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLnAzLAorICAgIDB4MS5iMHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuMjBwMywKKyAgICAweDEuYjBwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMC4wLAorICAgIDB4MS5iMHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuMjBwMywKKyAgICAweDEuYjRwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjQwcDMsCisgICAgMHgxLmI0cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5wMCwKKyAgICAweDEuYjRwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMC4wLAorICAgIDB4MS5iOHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAwLjAsCisgICAgMHgxLmI4cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS5wMSwKKyAgICAweDEuYjhwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEucC0yMywKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuODBwLTIzLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMC4wLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5wLTI0LAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuODBwLTIzLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wLTIzLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLnAtMjQsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMC4wLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEucDAsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDAuMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLnAtMjQsCisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5wLTIzLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuODBwLTIzLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5wLTI0LAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEucDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS44MHAtMjMsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEucC0yMywKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgLTB4MS44MHAtMSwKKyAgICAtMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS5wLTEsCisgICAgLTB4MS4wMDAwMDJwMjIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTAuMCwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjAwMDAwNHAtMSwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDIxLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjgwcC0xLAorICAgIC0weDEuZmZmZmZlcDIxLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuMDAwMDA4cC0yLAorICAgIC0weDEuZmZmZmZlcDIxLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLjAwMDAwOHAtMSwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5wLTEsCisgICAgMHgxLnAyMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMC4wLAorICAgIDB4MS5wMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLnAtMjMsCisgICAgMHgxLnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuODBwLTIzLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5wLTI0LAorICAgIC0weDEucDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMC4wLAorICAgIC0weDEucDI0LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEucC0yMiwKKyAgICAtMHgxLnAyNCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuODBwLTIyLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDIxLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuODBwLTEsCisgICAgMHgxLmZmZmZmZXAyMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuMDAwMDA4cC0yLAorICAgIDB4MS5mZmZmZmVwMjEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLnAtMiwKKyAgICAweDEucDIyLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAwLjAsCisgICAgMHgxLnAyMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuMDAwMDA0cC0xLAorICAgIDB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjgwcC0xLAorICAgIDB4MS4wMDAwMDJwMjIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5wLTEsCisgICAgMHgxLjAwMDAwMnAyMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS4wMDAwMDhwLTEsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEucC0xLAorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDAuMCwKKyAgICAweDEucDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS5wLTIzLAorICAgIDB4MS5wMjMsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjgwcC0yMywKKyAgICAtMHgxLjAwMDAwMnAyNCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0weDEucC0yMiwKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTAuMCwKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS5wLTI0LAorICAgIC0weDEucDI0LAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS44MHAtMjIsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAwLjAsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvZnJleHBfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2ZyZXhwX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTJlODczCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2ZyZXhwX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDExMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xX2ludF8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfZnJleHBfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4xOTk5OTk5OTk5OTlhMHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuMzMzMzMzMzMzMzMzNDBwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjRjY2NjY2NjY2NjY2UwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS42NjY2NjY2NjY2NjY4MHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuODAwMDAwMDAwMDAwMjBwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjk5OTk5OTk5OTk5OWMwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5iMzMzMzMzMzMzMzM2MHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuY2NjY2NjY2NjY2NkcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5lNjY2NjY2NjY2NjZhMHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS45OHA2LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIDB4MS4wcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjE5OTk5OTk5OTk5OWEwcC0xLAorICAgIChpbnQpMHgxLjkycDcsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuMzMzMzMzMzMzMzMzNDBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS40Y2NjY2NjY2NjY2NlMHAtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjY2NjY2NjY2NjY2NjgwcC0xLAorICAgIChpbnQpMHgxLjkycDcsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuODAwMDAwMDAwMDAwMjBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAweDEuODAwMDAwMDAwMDAwMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS45OTk5OTk5OTk5OTljMHAtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmIzMzMzMzMzMzMzMzYwcC0xLAorICAgIChpbnQpMHgxLjkycDcsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuY2NjY2NjY2NjY2NkcC0xLAorICAgIChpbnQpMHgxLjkycDcsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuZTY2NjY2NjY2NjY2YTBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuOTRwNywKKyAgICAweDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS4xOTk5OTk5OTk5OTlhMHAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjMzMzMzMzMzMzMzMzQwcC0xLAorICAgIChpbnQpMHgxLmY0ODBwOSwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuNGNjY2NjY2NjY2NjZTBwLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS42NjY2NjY2NjY2NjY4MHAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjgwMDAwMDAwMDAwMDIwcC0xLAorICAgIChpbnQpMHgxLmY0ODBwOSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuOTk5OTk5OTk5OTk5YzBwLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5iMzMzMzMzMzMzMzM2MHAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmNjY2NjY2NjY2NjZHAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmU2NjY2NjY2NjY2NmEwcC0xLAorICAgIChpbnQpMHgxLmY0ODBwOSwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmY1cDksCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5wLTEsCisgICAgKGludCkweDEuOThwNiwKKyAgICAtMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjYwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS5jY2NjY2NjY2NjY2NjMHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIC0weDEuY2NjY2NjY2NjY2NjY3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIC0weDEuYjMzMzMzMzMzMzMzMjBwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLmIzMzMzMzMzMzMzMzJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLjk5OTk5OTk5OTk5OTgwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS45OTk5OTk5OTk5OTk4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS43ZmZmZmZmZmZmZmZlMHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuNjY2NjY2NjY2NjY2NDBwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NjRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLjRjY2NjY2NjY2NjY2EwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS40Y2NjY2NjY2NjY2NhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS4zMzMzMzMzMzMzMzNwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLjE5OTk5OTk5OTk5OTYwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS5wLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS45NHA3LAorICAgIC0weDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZTY2NjY2NjY2NjY2NjBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2MwcC0xLAorICAgIChpbnQpMHgxLjkycDcsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5iMzMzMzMzMzMzMzMyMHAtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIC0weDEuYjMzMzMzMzMzMzMzMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuOTk5OTk5OTk5OTk5ODBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAtMHgxLjk5OTk5OTk5OTk5OThwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmUwcC0xLAorICAgIChpbnQpMHgxLjkycDcsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZlcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS42NjY2NjY2NjY2NjY0MHAtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIC0weDEuNjY2NjY2NjY2NjY2NHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuNGNjY2NjY2NjY2NjYTBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAtMHgxLjRjY2NjY2NjY2NjY2FwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLjMzMzMzMzMzMzMzM3AtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIC0weDEuMzMzMzMzMzMzMzMzMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuMTk5OTk5OTk5OTk5NjBwLTEsCisgICAgKGludCkweDEuOTJwNywKKyAgICAtMHgxLjE5OTk5OTk5OTk5OTZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS45MnA3LAorICAgIC0weDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEucC0xLAorICAgIChpbnQpMHgxLmY1cDksCisgICAgLTB4MS4wcDEwMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuZTY2NjY2NjY2NjY2NjBwLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIC0weDEuZTY2NjY2NjY2NjY2NnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2MwcC0xLAorICAgIChpbnQpMHgxLmY0ODBwOSwKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2NwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5iMzMzMzMzMzMzMzMyMHAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgLTB4MS5iMzMzMzMzMzMzMzMycDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuOTk5OTk5OTk5OTk5ODBwLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIC0weDEuOTk5OTk5OTk5OTk5OHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmUwcC0xLAorICAgIChpbnQpMHgxLmY0ODBwOSwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmVwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS42NjY2NjY2NjY2NjY0MHAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgLTB4MS42NjY2NjY2NjY2NjY0cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuNGNjY2NjY2NjY2NjYTBwLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIC0weDEuNGNjY2NjY2NjY2NjYXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjMzMzMzMzMzMzMzM3AtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgLTB4MS4zMzMzMzMzMzMzMzMwcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuMTk5OTk5OTk5OTk5NjBwLTEsCisgICAgKGludCkweDEuZjQ4MHA5LAorICAgIC0weDEuMTk5OTk5OTk5OTk5NnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuOThwNSwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjE5OTk5OTk5OTk5OWEwcC0xLAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS4zMzMzMzMzMzMzMzM0MHAtMSwKKyAgICAoaW50KTB4MS45OHA1LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDUwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuNGNjY2NjY2NjY2NjZTBwLTEsCisgICAgKGludCkweDEuOThwNSwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXA1MAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjY2NjY2NjY2NjY2NjgwcC0xLAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS44MDAwMDAwMDAwMDAyMHAtMSwKKyAgICAoaW50KTB4MS45OHA1LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuOTk5OTk5OTk5OTk5YzBwLTEsCisgICAgKGludCkweDEuOThwNSwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3A1MAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmIzMzMzMzMzMzMzMzYwcC0xLAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5jY2NjY2NjY2NjY2RwLTEsCisgICAgKGludCkweDEuOThwNSwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmU2NjY2NjY2NjY2NmEwcC0xLAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMTk5OTk5OTk5OTk5YTBwLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXA1MQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjMzMzMzMzMzMzMzMzQwcC0xLAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS40Y2NjY2NjY2NjY2NlMHAtMSwKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDUxCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuNjY2NjY2NjY2NjY2ODBwLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHA1MQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjgwMDAwMDAwMDAwMDIwcC0xLAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS45OTk5OTk5OTk5OTljMHAtMSwKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDUxCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuYjMzMzMzMzMzMzMzNjBwLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnA1MQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmNjY2NjY2NjY2NjZHAtMSwKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDUxCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZTY2NjY2NjY2NjY2YTBwLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXA1MQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS4xOTk5OTk5OTk5OTlhMHAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuMzMzMzMzMzMzMzMzNDBwLTEsCisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHA1MgorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjRjY2NjY2NjY2NjY2UwcC0xLAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS42NjY2NjY2NjY2NjY4MHAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuODAwMDAwMDAwMDAwMjBwLTEsCisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnA1MgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjk5OTk5OTk5OTk5OWMwcC0xLAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5iMzMzMzMzMzMzMzM2MHAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuY2NjY2NjY2NjY2NkcC0xLAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5lNjY2NjY2NjY2NjZhMHAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmIwcDUsCisgICAgMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuYjBwNSwKKyAgICAweDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4xOTk5OTk5OTk5OTlhMHAtMSwKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjMzMzMzMzMzMzMzMzQwcC0xLAorICAgIChpbnQpMHgxLmIwcDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuNGNjY2NjY2NjY2NjZTBwLTEsCisgICAgKGludCkweDEuYjBwNSwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXA1MworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS42NjY2NjY2NjY2NjY4MHAtMSwKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLjgwMDAwMDAwMDAwMDIwcC0xLAorICAgIChpbnQpMHgxLmIwcDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuOTk5OTk5OTk5OTk5YzBwLTEsCisgICAgKGludCkweDEuYjBwNSwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3A1MworICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5iMzMzMzMzMzMzMzM2MHAtMSwKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmNjY2NjY2NjY2NjZHAtMSwKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmU2NjY2NjY2NjY2NmEwcC0xLAorICAgIChpbnQpMHgxLmIwcDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmI4cDUsCisgICAgMHgxLjBwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS4wMDQwcDEwLAorICAgIDB4MS4wcC0xMDI2CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmQzMzMzMzMzMzMzMzQwcC0xLAorICAgIChpbnQpLTB4MS5mZjgwcDksCisgICAgMHgxLmQzMzMzMzMzMzMzMzRwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuYjMzMzMzMzMzMzMzNDBwLTEsCisgICAgKGludCktMHgxLmZmcDksCisgICAgMHgxLmIzMzMzMzMzMzMzMzRwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuM2U2NjY2NjY2NjY2NzBwLTEsCisgICAgKGludCktMHgxLmZlODBwOSwKKyAgICAweDEuM2U2NjY2NjY2NjY2N3AtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5hMzMzMzMzMzMzMzM0MHAtMSwKKyAgICAoaW50KS0weDEuZmU4MHA5LAorICAgIDB4MS5hMzMzMzMzMzMzMzM0cC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjA0cC0xLAorICAgIChpbnQpLTB4MS5mZXA5LAorICAgIDB4MS4wNDBwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMzY2NjY2NjY2NjY2NjBwLTEsCisgICAgKGludCktMHgxLmZlcDksCisgICAgMHgxLjM2NjY2NjY2NjY2NjZwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuNjhjY2NjY2NjY2NjYzBwLTEsCisgICAgKGludCktMHgxLmZlcDksCisgICAgMHgxLjY4Y2NjY2NjY2NjY2NwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuOWIzMzMzMzMzMzMzMjBwLTEsCisgICAgKGludCktMHgxLmZlcDksCisgICAgMHgxLjliMzMzMzMzMzMzMzJwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuY2Q5OTk5OTk5OTk5ODBwLTEsCisgICAgKGludCktMHgxLmZlcDksCisgICAgMHgxLmNkOTk5OTk5OTk5OThwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgKGludCktMHgxLmZlcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkweDEuOThwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLmIwcDUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS5wLTEsCisgICAgKGludCkweDEuYTBwNSwKKyAgICAtMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEucC0xLAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgLTB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgKGludCkweDEuYjBwNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIC0weDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkweDEuYThwNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkweDEucDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIChpbnQpMHgxLnAxMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KS0weDEuODBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLjQwcDIsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgKGludCktMHgxLjQwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCktMHgxLjQwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS5wMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KS0weDEucDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCktMHgxLnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLnAtMSwKKyAgICAoaW50KS0weDEuODBwMSwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KS0weDEuODBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KS0weDEuODBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLnAxLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpLTB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEucC0xLAorICAgIChpbnQpLTB4MS4wYzQwcDEwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLjBjNDBwMTAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkweDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuODBwMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLjgwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KTB4MS44MHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLnAyLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgKGludCkweDEucDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KTB4MS5wMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS40MHAyLAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEsCisgICAgKGludCkweDEuNDBwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIChpbnQpMHgxLjQwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuODBwMiwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLjgwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAoaW50KTB4MS44MHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmMwcDIsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAoaW50KTB4MS5jMHAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkweDEuYzBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMywKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLnAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICBIVUdFX1ZBTCwKKyAgICAoaW50KTAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtSFVHRV9WQUwsCisgICAgKGludCkwLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkweDEucDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIChpbnQpMHgxLnAxMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMSwKKyAgICAoaW50KTB4MS5wMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgKGludCkweDEucDEwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjkyMWZiNTQ0NDJkMTgwcC0xLAorICAgIChpbnQpMHgxLnAxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTgwcC0xLAorICAgIChpbnQpMHgxLnAxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLjkyMWZiNTQ0NDJkMTgwcC0xLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTgwcC0xLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5wLTEsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS45MjFmYjU0NDQyZDE4MHAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuOTIxZmI1NDQ0MmQxODBwLTEsCisgICAgKGludCkwLjAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpLTB4MS5mZTgwcDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIChpbnQpLTB4MS5mZTgwcDksCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLnAtMSwKKyAgICAoaW50KS0weDEuZmU4MHA5LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS5wLTEsCisgICAgKGludCktMHgxLmZlODBwOSwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgKGludCktMHgxLmZmcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xLAorICAgIChpbnQpLTB4MS5mZnA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMSwKKyAgICAoaW50KS0weDEuZmZwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEsCisgICAgKGludCktMHgxLmZmcDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLnAtMSwKKyAgICAoaW50KS0weDEuMGNwMTAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KS0weDEuMGNwMTAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAtMSwKKyAgICAoaW50KS0weDEuMGM0MHAxMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEucC0xLAorICAgIChpbnQpLTB4MS4wYzQwcDEwLAorICAgIC0weDEuMHAtMTA3NAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2ZyZXhwZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvZnJleHBmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDZiYTdkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2ZyZXhwZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw4ODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xX2ludF8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2ZyZXhwZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMTk5OTlhcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLjE5OTk5YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjMzMzMzNHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS40Y2NjY2VwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEuNGNjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuNjY2NjY4cC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLjY2NjY2OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjgwMDAwMnAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS45OTk5OWNwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEuOTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuYjMzMzM2cC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLmIzMzMzNnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmNjY2NkMHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5lNjY2NmFwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEuZTY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS45OHA2LAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS45OHA2LAorICAgIC0weDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5lNjY2NjZwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLmU2NjY2NnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEuY2NjY2NjcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS5jY2NjY2NwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLmIzMzMzMnAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIC0weDEuYjMzMzMycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgLTB4MS45OTk5OThwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLjk5OTk5OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEuN2ZmZmZlcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS43ZmZmZmVwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAtMHgxLjY2NjY2NHAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIC0weDEuNjY2NjY0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS40Y2NjY2FwLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLjRjY2NjYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEuMzMzMzMwcC0xLAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS4zMzMzMzBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLjE5OTk5NnAtMSwKKyAgICAoaW50KTB4MS45NHA2LAorICAgIC0weDEuMTk5OTk2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5wLTEsCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuMTk5OTlhcC0xLAorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLjE5OTk5YXAyMQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjMzMzMzNHAtMSwKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS4zMzMzMzRwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS40Y2NjY2VwLTEsCisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuNGNjY2NlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuNjY2NjY4cC0xLAorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLjY2NjY2OHAyMQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjgwMDAwMnAtMSwKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS44MDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS45OTk5OWNwLTEsCisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuOTk5OTljcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuYjMzMzM2cC0xLAorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLmIzMzMzNnAyMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmNjY2NkMHAtMSwKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS5jY2NjZDBwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5lNjY2NmFwLTEsCisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuZTY2NjZhcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS4xOTk5OWFwLTEsCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuMTk5OTlhcDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMzMzMzM0cC0xLAorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLjMzMzMzNHAyMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjRjY2NjZXAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS40Y2NjY2VwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS42NjY2NjhwLTEsCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuNjY2NjY4cDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuODAwMDAycC0xLAorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLjgwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjk5OTk5Y3AtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS45OTk5OWNwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5iMzMzMzZwLTEsCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuYjMzMzM2cDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuY2NjY2QwcC0xLAorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLmNjY2NkMHAyMgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmU2NjY2YXAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS5lNjY2NmFwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjE5OTk5YXAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS4xOTk5OWFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS4zMzMzMzRwLTEsCisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuMzMzMzM0cDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuNGNjY2NlcC0xLAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLjRjY2NjZXAyMworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjY2NjY2OHAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS42NjY2NjhwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS44MDAwMDJwLTEsCisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuODAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuOTk5OTljcC0xLAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLjk5OTk5Y3AyMworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmIzMzMzNnAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS5iMzMzMzZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5jY2NjZDBwLTEsCisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuY2NjY2QwcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZTY2NjZhcC0xLAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLmU2NjY2YXAyMworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5wLTEsCisgICAgKGludCkweDEuOTBwNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuMTk5OTlhcC0xLAorICAgIChpbnQpMHgxLjkwcDQsCisgICAgMHgxLjE5OTk5YXAyNAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjMzMzMzNHAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIDB4MS4zMzMzMzRwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS40Y2NjY2VwLTEsCisgICAgKGludCkweDEuOTBwNCwKKyAgICAweDEuNGNjY2NlcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuNjY2NjY4cC0xLAorICAgIChpbnQpMHgxLjkwcDQsCisgICAgMHgxLjY2NjY2OHAyNAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjgwMDAwMnAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIDB4MS44MDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS45OTk5OWNwLTEsCisgICAgKGludCkweDEuOTBwNCwKKyAgICAweDEuOTk5OTljcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuYjMzMzM2cC0xLAorICAgIChpbnQpMHgxLjkwcDQsCisgICAgMHgxLmIzMzMzNnAyNAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmNjY2NkMHAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIDB4MS5jY2NjZDBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5lNjY2NmFwLTEsCisgICAgKGludCkweDEuOTBwNCwKKyAgICAweDEuZTY2NjZhcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLmEwcDQsCisgICAgMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLnAtMSwKKyAgICAoaW50KS0weDEuMDJwNywKKyAgICAweDEucC0xMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5kMzMzMzBwLTEsCisgICAgKGludCktMHgxLmZjcDYsCisgICAgMHgxLmQzMzMzMHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuYjMzMzMwcC0xLAorICAgIChpbnQpLTB4MS5mOHA2LAorICAgIDB4MS5iMzMzMzBwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjNlNjY2NHAtMSwKKyAgICAoaW50KS0weDEuZjRwNiwKKyAgICAweDEuM2U2NjY0cC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5hMzMzMzBwLTEsCisgICAgKGludCktMHgxLmY0cDYsCisgICAgMHgxLmEzMzMzMHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuMDNmZmZlcC0xLAorICAgIChpbnQpLTB4MS5mMHA2LAorICAgIDB4MS4wM2ZmZmVwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjM2NjY2NHAtMSwKKyAgICAoaW50KS0weDEuZjBwNiwKKyAgICAweDEuMzY2NjY0cC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS42OGNjY2FwLTEsCisgICAgKGludCktMHgxLmYwcDYsCisgICAgMHgxLjY4Y2NjYXAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuOWIzMzMwcC0xLAorICAgIChpbnQpLTB4MS5mMHA2LAorICAgIDB4MS45YjMzMzBwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmNkOTk5NnAtMSwKKyAgICAoaW50KS0weDEuZjBwNiwKKyAgICAweDEuY2Q5OTk2cC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5mZmZmZmNwLTEsCisgICAgKGludCktMHgxLmYwcDYsCisgICAgMHgxLmZmZmZmY3AtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuOTBwNCwKKyAgICAweDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIC0weDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIC0weDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTB4MS42MHA0LAorICAgIC0weDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTB4MS43MHA0LAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS45MHA0LAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTB4MS44MHA0LAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLnA3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTB4MS5wNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCktMHgxLjgwcDIsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLnAtMSwKKyAgICAoaW50KS0weDEuNDBwMiwKKyAgICAweDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpLTB4MS40MHAyLAorICAgIDB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpLTB4MS40MHAyLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS5wMiwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KS0weDEucDIsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCktMHgxLnAyLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS44MHAxLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpLTB4MS44MHAxLAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpLTB4MS44MHAxLAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS5wMSwKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCktMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEucC0xLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEucC0xLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KS0weDEuMjhwNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLjI4cDcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCkweDEucDEsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS44MHAxLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuODBwMSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLjgwcDEsCisgICAgMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMiwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCkweDEucDIsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS40MHAyLAorICAgIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuNDBwMiwKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLjQwcDIsCisgICAgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS44MHAyLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuODBwMiwKKyAgICAweDEuMDAwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLjgwcDIsCisgICAgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5jMHAyLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCkweDEuYzBwMiwKKyAgICAweDEuMDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIChpbnQpMHgxLmMwcDIsCisgICAgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMywKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuMDAwMDAycC0xLAorICAgIChpbnQpMHgxLnAzLAorICAgIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIEhVR0VfVkFMRiwKKyAgICAoaW50KTAsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLUhVR0VfVkFMRiwKKyAgICAoaW50KTAsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgKGludCkweDEucDcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTB4MS5wNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuZmZmZmZjcC0xLAorICAgIChpbnQpMHgxLnA3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5mZmZmZmNwLTEsCisgICAgKGludCkweDEucDcsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjkyMWZiNnAtMSwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjkyMWZiNnAtMSwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjkyMWZiNnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLjkyMWZiNnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjAwMDAwMnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuOTIxZmI2cC0xLAorICAgIChpbnQpMC4wLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjkyMWZiNnAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgKGludCktMHgxLmY0cDYsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS4wMDAwMDJwLTEsCisgICAgKGludCktMHgxLmY0cDYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLmY0cDYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5wLTEsCisgICAgKGludCktMHgxLmY0cDYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mZmZmZmNwLTEsCisgICAgKGludCktMHgxLmY4cDYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5mZmZmZmNwLTEsCisgICAgKGludCktMHgxLmY4cDYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS5mZmZmZjhwLTEsCisgICAgKGludCktMHgxLmY4cDYsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZmZmZjhwLTEsCisgICAgKGludCktMHgxLmY4cDYsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLjI2cDcsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5wLTEsCisgICAgKGludCktMHgxLjI2cDcsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLjI4cDcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS5wLTEsCisgICAgKGludCktMHgxLjI4cDcsCisgICAgLTB4MS5wLTE0OQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2h5cG90X2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9oeXBvdF9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFiZmRkZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9oeXBvdF9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwyNzg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZG91YmxlLCBkb3VibGUsIGRvdWJsZT4gZ19oeXBvdF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS43NDMzNGYyODcyYmYzMjRhOGI2YzBmZmFmMmY0ZWUzZHAwLAorICAgIC0weDEuMGIyNTAyYjNmNzY1NnAwLAorICAgIDB4MS4wMzJhNzRjOGUyYmJkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjIxYzkxMjNlNmNiYmY4MTI5NTM5MTAzNzFlMjc1ZGM3cDMsCisgICAgLTB4MS4yMWM5MTA3YjBlNDg4cDMsCisgICAgMHgxLmZmNzdmZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLmFkMDlkMGM4NWE5YjczOGZiZWI1OTA0OTJjNDUxMDhmcC0yMSwKKyAgICAtMHgxLjNkYjVhZjcyZDkwNzRwLTIxLAorICAgIDB4MS4yMDU0OTc2ZTQ3MTg0cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuNmExZjdiNTg0ZTA1MjgwMGU1ZDVlYjJjODQyZGVmYTZwLTEsCisgICAgLTB4MS40NzIwMGRiMzJmODhjcC0xLAorICAgIC0weDEuMzZhMDQ5YWIxZWVlMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuODkzZWZmMTBhMDRhZWQ2MTM1OGQzZDViNjQ4MWVlYmNwLTQyNSwKKyAgICAtMHgxLjVhOWM5NDUzOTQxYTBwLTQyNiwKKyAgICAtMHgxLjYwZmY3YjczMjY1MTBwLTQyNQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuOTRjNTgzYWRhNWI1MjE4OTYyZTZlZDE1NjhmZWFkMTJwMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuOTdjZmU2ZTI1Y2Q0NDhjZjVkYmNiNTIyMTM2Nzk3OTZwLTExLAorICAgIC0weDEuOGUzOGUzOGUzOGUzN3AtMTEsCisgICAgLTB4MS41ZmFkNDBhNTdlYjM4cC0xMworICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuOWU2NjE4MjllNWVlMTdmZmJhMWQyMmVjZjA1ODA4NzNwNDIxLAorICAgIC0weDEuOTg5N2ZiYjBmYTc0N3A0MTgsCisgICAgMHgxLjliM2Q0NTc0MGMzNGNwNDIxCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5jNzY1M2Q0ZTllNmM3N2ZlMmViM2ZjNjcyMDUwNWRiNnAtMTEsCisgICAgLTB4MS5iYmJiYmJiYmJiYmJjcC0xMSwKKyAgICAtMHgxLjk5OTk5OTk5OTljMzNwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5kZGZmZTZlNWEzYTgzODQwMTZlZDM1ZjExNWJjMDk1ZXAtMTEsCisgICAgLTB4MS5lOTEzMWFiZjBiNzE3cC0xNCwKKyAgICAweDEuZGExMmY2ODRiZGEyNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS43MTU4YjUwY2EzMzQ4ODAxMmQ3OTZlYjZmMWE3NTg5YnAwLAorICAgIC0weDEuZjU3MjNiZTBjYWZiNHAtMSwKKyAgICAweDEuMGYzNWI2ZDFlNGUwZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuMDAwMDdmZmZkZmZmZjdmZmUyMDAwZGZmZjY0MDA3YWZwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5mZmZmZmZmZXAtMTA0MywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZlMHAtMTA0MworICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjE5OTk5OTk5OTk5OWEwcDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4xOTk5OTk5OTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5hYWFhYWFhYWFhYWFhMHAwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuYWFhYWFhYWFhYWFhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuYjg3MDY1ZDI0Y2VlNTJiMDgwZDMyNTQzY2E5Y2ZjMTlwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgICAgLTB4MS42NjY2NjY2NjY2NjY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuNDM1OTZmZmFhNzQ3ODg1NThkMWZiZWY1YmM2NjU0ZTVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMiwKKyAgICAtMHgxLjNjZjNjZjNjZjNjZjRwMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjRjY2NjY2NjY2NjZDA4MDAwMDAwMDAwMDAwNjI3NjI3cC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zLAorICAgIC0weDEuMzMzMzMzMzMzMzMzN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjgwMTU1NGJkYTk5YzcyZDhkZThlOGQwODEwNTIzZDU2cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjc0YjUwY2UyNDU0MzA4MDE1MDQ1ZWVjZTk0OTRhY2ZicC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03LAorICAgIC0weDEuNzQ1ZDE3NDVkMGUxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjI4ZmY5MWFiNzJkNzI3ZmFjZjliZThmYmQxMjllMDVlcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDgwcC0zLAorICAgIDB4MS4wYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS4wMDAwMzNkNWFiMDllODAxN2I5ZmU4NzAyODBkMTI0N3A5LAorICAgIDB4MS4wMDAwMDAwMDAwYWVlcDksCisgICAgMHgxLjQ1ZDE3NDVkMTc0NWVwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjA3ZTBmNjcwYzE2ZTQ4ZTFlN2MyNGU1OTM5ZTMxZjU1cC0zLAorICAgIDB4MS4wMDAwMDAwOTg4MHAtMywKKyAgICAweDEuZmZmZmZmOGNmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLmI1OTZiNTg3OGUyNTgwMDAwMTA5NGRmZDIxNmNmNjkzcC0xLAorICAgIDB4MS4wMDAwMDA0MGVkNDM1cC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuMDAwOGZmZDgwOTY3OTgxZDBlZmRmMzRkZTQyYmU2NThwLTQsCisgICAgMHgxLjAwMDAwMDdmZmZmZGVwLTEwLAorICAgIDB4MS4wMDAwZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuNmEwOWU4ZTE5MTE2MDgwOTk0YWYwZWZiZGUxNTk4MzhwLTIwLAorICAgIDB4MS4wMDAwMDM3ZmZmZmRmcC0yMCwKKyAgICAweDEuMDAwMDAwMDAxMTBwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuMDAwMDllYzQ1MmE4YzgxYzQ5MGY5YmEzODc2OGNlN2NwLTMsCisgICAgMHgxLjAwMDAwNDNmZmZmZGZwLTMsCisgICAgMHgxLjE5NDUzODA4Y2EyOTZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuYjg3OWIyYzNmYWFlMzdmZTVkODI1NGMxYTk0NDNmZDZwLTEsCisgICAgMHgxLjAwMGZmZmZmZmY2YzhwLTEsCisgICAgLTB4MS42NjY2NjY2NjY2NjY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuNmI5ODI0YTVkOWZlZmM2ZmFjM2MwNmYyYmViYTZkMTZwMCwKKyAgICAweDEuMDAxcDAsCisgICAgMHgxLjAyMjIyMjIyMjIyMjNwMAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjZiMWRjMjMzYzA4YWFjZjA0ZDQyYjNkMjkzZTEyYTQ5cDAsCisgICAgMHgxLjAwMTZmNWU3NGJmZGRwMCwKKyAgICAtMHgxLjAxNmViNjg0MTVhYjFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjc3OGQyNzY5MDUxOGRkNDFiZDczYWQ0ODhmMmEyMTc0cC0yNywKKyAgICAweDEuMDBhNDM2ZTk0NDJkZHAtMjcsCisgICAgMHgxLjEyMmRjNDJlMTI0OTFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuNmM5ZWQ1NmQzZTA5MzgwMDMwMGYyYzIyOWIzNTlhM2RwMCwKKyAgICAweDEuMDFiNTkzNzJkM2RwMCwKKyAgICAtMHgxLjAxZjExY2FhMGQ4ZmFwMAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjYyZTQ0ODIzZjZjODI4MDE5ZDk5ZjJlYTZlNDJiNDRkcC0xLAorICAgIDB4MS4wNjI0ZGQ0MWZhYzg3cC0xMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjYyZTQ0ODIzZjZjOTk4MDAwMGZjMGY4NWIzYzU1YTc5cC0xLAorICAgIDB4MS4wNjI0ZGQ0OWMzOGM5cC0xMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLjA4NmI5NDhhMTJkOGM4MDBjZjE4MDhhMTBhNTE3NGQ5cDMsCisgICAgMHgxLjA4NmFjOTgwNGMxNmZwMywKKyAgICAweDEuNDdhZTE0N2FlMTQ4OHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjc0MzM0ZjI4NzJiZjMyNGE4YjZjMGZmYWYyZjRlZTNkcDAsCisgICAgMHgxLjBiMjUwMmIzZjc2NTZwMCwKKyAgICAtMHgxLjAzMmE3NGM4ZTJiYmRwMAorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLmIxNzRlMjY1NTlkZjY4MDFlNjc5ODIxMTBjNzllOTIxcDAsCisgICAgMHgxLjBkYWRlYzc1NDA3ZDFwMCwKKyAgICAweDEuNTM1OTRkNjUzNTk1MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuMGZhNmFiNTg3YmUzZjgxMzE2ZDEwM2RkNTY4NDUxODlwMiwKKyAgICAweDEuMGRjMjdiN2VkYWQ2MXAyLAorICAgIC0weDEuZmZmZmZmZmZmZmZkZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjBlMDAwMDAwMDFlNzc4MDA3OTViMzMxN2NkYjhjZjQ4cC0xLAorICAgIDB4MS4wZTBwLTEsCisgICAgMHgxLjAwODgwcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjFlNjQzYTI0ZGRlOTE4MTA4NzAyYTk1OGEzNDY1OWJkcDEsCisgICAgMHgxLjE3MjYxZDFmYmU3MGZwMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS4wMDAwOWVjNDUyYThjODFjNDkwZjliYTM4NzY4Y2U3Y3AtMywKKyAgICAweDEuMTk0NTM4MDhjYTI5NnAtMTEsCisgICAgMHgxLjAwMDAwNDNmZmZmZGZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS4xZjc2NDhjYjljMjkyODEwMmYzMDFiNGUyYTZkYTdmOHAzLAorICAgIDB4MS4xZjZmYjdkYmVkZjMxcDMsCisgICAgLTB4MS5lYjg1MWViODUxZWIycC00CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuM2ZjMTY4YjFiYTY1ZjdmZWZjYmE4YzUxYzlkY2VlYmVwMSwKKyAgICAweDEuMzMzMzMzMzM0OTU1ZHAxLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuZDU2MWRjNmJiYzY5YjdmZmZlZmQ0ZWVmMzZiYjQ1Y2VwLTEsCisgICAgMHgxLjMzMzMzMzM2ZmZiMzNwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5iNmQ2MzQ5MmQyMDhiN2ZlNjY3Njk2MDA4NTJiMTJkOHA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY3cDcsCisgICAgMHgxLjM0NTM0NTY0NTYxZDRwNworICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmI2ZDYzNDkyY2Y2ZGRmZmY3YTRiZjE3OWE5ZjJkNmNhcDcsCisgICAgMHgxLjM4NDU2MzY0MjU3NzZwNywKKyAgICAweDEuMzQ1MzQ1NjQ1MjY3M3A3CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuODUzYTBkNTEyMmNlZjQ1NmIwNWExNTEwZmJlYWQ2NDNwNiwKKyAgICAweDEuM2JiZDllMWZhMjdiNHA2LAorICAgIDB4MS5jNzM3MmI2YTUxNGJjcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS4zZmJhMGFlNGNlMDhiODEwZThmNTZkZGFmMTJhN2Y0ZnAzLAorICAgIDB4MS4zZTFmMGY4N2MzZGQxcDMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmRmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuYjcxYmU0MjE1YTUzMjgzZDcxZjViMTEwYTg3MGU4OTRwLTExLAorICAgIDB4MS40ODRlMmFmZTBiYmM2cC0xMywKKyAgICAtMHgxLmFmNWViZDdhZjVlYzBwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuNTZkMDdmOWZlYjgwZDgwNDc4MWFlNDMwNTA1OGI2NzZwMiwKKyAgICAweDEuNTUwZmUxNzc5YzVwMiwKKyAgICAtMHgxLjE0ZjI4MDVmODVkMjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5hNTJkZjVjMjRjODk0ODlkNTA1Mjg1MzNhN2YzNTc2M3AyLAorICAgIDB4MS41NTU1NTU1NTU1NTU2cDAsCisgICAgMHgxLjljNzFjNzFjNzFjNjlwMgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmI5OTNjYzQ0ODJiNDQ3ZmY0Zjc0MDMwZThiYTE0ODcwcC0xLAorICAgIDB4MS41NzM1NDA3MWM2NDI2cC0zLAorICAgIC0weDEuYjEyOTNmNmY1Mzg4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmE3ZTJhYmM1N2YwZTM4MGE3MGMyNGQ2NzUyNDFmMTIwcDAsCisgICAgMHgxLjViMmQ5NmNiNjVicDAsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZTQ0ZDI2MzAzYzhlNzAzMjYwYWRhYzM1YmViMDIwMWFwNDIxLAorICAgIDB4MS42MDBlYzIzYjdiNjFlcDQyMSwKKyAgICAtMHgxLjRjOTIxNDhjZWYxNGFwNDIxCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuZjg2MTE3MDE5NjljY2ZmZmZmMDQ1YzNmOTlmZTQ4ZjdwLTEsCisgICAgMHgxLjY2NjY2NjZkYWMyZmFwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS42Y2M5M2M0ZDY1MzY4ODAyMzQ1ODQyYWYyMjgyYTVlYXAxLAorICAgIDB4MS42Y2M5M2E3NTQxMzNlcDEsCisgICAgMHgxLjI1NzQzMDEzOXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS42Y2M5M2M0ZDY1MzY4ODAyNWM5MTQ3YjViNjA0NDFlOXAxLAorICAgIDB4MS42Y2M5M2E3NTQxMzNlcDEsCisgICAgMHgxLjI1NzQzMDEzOTAwYzhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuNmNjOTNjNGQ2NTM2ODgwMjVlMmQyOTMwZGFhMzEzZDVwMSwKKyAgICAweDEuNmNjOTNhNzU0MTMzZXAxLAorICAgIDB4MS4yNTc0MzAxMzkwMGQwcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmQ0ODhhYzk3MDUzZjM3ZmJiYTI3N2QwN2FjNDNjYWQ1cC0yMCwKKyAgICAweDEuN3AtMjAsCisgICAgMHgxLjIyMHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS40MDAwMDAwMDRjY2NjODAwMDUyZjFiYzZhNmMxN2U4OHAtMSwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDA2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZmZlZThkZjk1MTdmZjdmZTc1NjAwYmI5NzVlNWNlNjFwMCwKKyAgICAweDEuODE3OTI5MTBhNWRiMXAtMSwKKyAgICAtMHgxLmRhNDNiNWRjZTBiMThwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjliMGE1NzM2NTEzZmM3ZmZhYjAzN2FlNzVkMDRlOTlhcDIsCisgICAgMHgxLjg4YTQ1MjI5MTQ4ODFwMiwKKyAgICAweDEuZTY2NjY2NjY2NjY2N3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuYTVmYTA4YTc1NWI1YzkwMGYyZDVjYzY3NTFlMWVjZjlwMiwKKyAgICAweDEuODhjYjNjOTQ4NGUyYXAwLAorICAgIDB4MS45YTY0NDllNTliYjVkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS44YmVmZWZlZDAyN2U4N2ZmNmM3MDMwOGUyMDVjMmExOXA2LAorICAgIDB4MS44YmVlYTRlMWEwODczcDYsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuOTY5OTFhNzJiZmQwMTAwMDAwODY4ZmZlM2U4MzEyNzlwMSwKKyAgICAweDEuOGNjY2NjY2UzYmNiZHAxLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuYmY3Y2Q5ZDAyYzdlMjIwYzY5OWNjODM0ZmRkNGZiNDFwLTQsCisgICAgMHgxLjhkZGY0MTUyMDY3ZmNwLTQsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuNzZlN2JhOGJjNzQ1MjgwMDk0YTcxZGFmMTBkNGE2OGVwMjUsCisgICAgMHgxLjk3ZmUzODk2YzgwZjBwMiwKKyAgICAweDEuNzZlN2JhOGJjNzQxYnAyNQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjBlZmFjZWYyZTRlODFmZmZmZWZlNTg3ZjFhZTc4M2I2cDAsCisgICAgMHgxLjk5OTk5OWEwYzBhMGJwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS43MTVlODY3ODU5YTg1ODAwMDEwNDhhMWU5ZTlkZmY3Y3AtMSwKKyAgICAweDEuOTk5OTk5YjljZTc5M3AtMywKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjY2OTBjZDdjMzlmYTQ4MDAwMTA3NDVkYzFmOTAxOTE5cC0xLAorICAgIDB4MS45OTk5OTlkYThlZDdhcC00LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuZjY1Mjk0YmFlYjc3ODgzMzBkZWNlZmE1OThlMjczZDVwLTExLAorICAgIDB4MS45ZGJjYzQ4Njc2Zjk0cC0xNSwKKyAgICAweDEuZjVhODE0YWZkNmExMXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5jMjZjYjczMDg2NGQ2OThjODJkYjU3Njk1ODZiZDUxOXAwLAorICAgIDB4MS5hMjg4MmY3NjYwYzE4cC0yLAorICAgIDB4MS5iNjFhNjQ1MDE4ODhhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS4yMDlmNGYyYzU5NzllODE2YmY5OWVmZTE4ZTZmMWNkYXAxLAorICAgIDB4MS5iOGYyMmYwMzNjODcycC0zLAorICAgIDB4MS4xZjRkYjUzM2JjZGRjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS41MDIyNTQ3OWQ0YjE1N2ZlNzg1NTg4NTU3Y2M2NmNkZXAtMTAsCisgICAgMHgxLmJkOGNhYWFmOTkwOTBwLTExLAorICAgIC0weDEuZjc2YjIzOTg2ZmY0NHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS4wNjBkYjAwMjQ1YmY3ODEwNDhjNTI5ZTRlZmZmMGFmYnAyNSwKKyAgICAweDEuYmZmZmZmZmZmZmZmZnAyMiwKKyAgICAweDEuMDAwMDAyN2ZmZmZkZnAyNQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmM4YzI1YjQ1YWJhMTY4ZjAxODdiYjVjM2FiYmMzZDE2cC0xMSwKKyAgICAweDEuYzA2YjA5ZTkxOWQ5NHAtMTEsCisgICAgLTB4MS41YjkxMTA0OGEzMzEwcC0xMworICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmY1M2IyMWI1YzQwMjQ5YjkyYTljMjIzYmFlNDMzMjNicDAsCisgICAgMHgxLmM4MWU2ZjdmZTM5OTNwLTIsCisgICAgLTB4MS5lODE2N2I2ZGYyZWUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5mNTk1MGYwNTZlMzllOTBjYmFhYzFmODlhYjM2YjQwYXAyLAorICAgIDB4MS5jYmEyZThiYTJlOGI3cDAsCisgICAgMHgxLmU4M2UwZjgzZTBmNzZwMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLmRkZmZlNmU1YTNhODM4NDAxNmVkMzVmMTE1YmMwOTVlcC0xMSwKKyAgICAweDEuZGExMmY2ODRiZGEyNHAtMTEsCisgICAgLTB4MS5lOTEzMWFiZjBiNzE3cC0xNAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjc5NDFiYjA1YTM5Y2E3ZmY1ZTQ1NTNiMWZjNGQ3ZGI5cC00MjMsCisgICAgMHgxLmY4ZDdiYmQ3Y2U5MjBwLTQyNiwKKyAgICAtMHgxLjczZjBmZDRmZDlmZDBwLTQyMworICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmIxM2ZhZDdjYjdjNTA4MDFkZWRlMTkwNWYzZjM2NmExcDksCisgICAgMHgxLmY5MWI5MWI5MWI5MDVwMiwKKyAgICAweDEuYjEzYjEzYjEzYjEzMHA5CisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuNjlmZDg1ODg3OTQ3OTAwMDcxZmJjMDgxODNiOGFiMjNwMCwKKyAgICAweDEuZmNmNzZjNTQwZDk1OHAtMSwKKyAgICAtMHgxLjAxNzA5OGQ4MmY5NWVwMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjIxYzkxMjNlNmNiYmY4MTI5NTM5MTAzNzFlMjc1ZGM3cDMsCisgICAgMHgxLmZmNzdmZmZmZmZmZmZwLTksCisgICAgLTB4MS4yMWM5MTA3YjBlNDg4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5jNjZhZGRmZWM5MWM0MTFmMzhlMmFhY2I2ZWEwNmE5MXAtMywKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAtNCwKKyAgICAtMHgxLjc3Nzc3Nzc3Nzc3NzRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS40ZWI1MjJiMjQxODZlODI1NDU3NGM3N2I1ZjkxNDg1NXAtMSwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAtNCwKKyAgICAweDEuNDg4ODg4ODg4ODg4YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLjAwMmNhZmZlNTliMGE3ZmVlZGE3NDdhOTRiMTc2Y2NhcDQsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwMywKKyAgICAtMHgxLjQ4ODg4ODg4ODg4ODhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5mZmYyOGY2ZjAwZTc5N2ZlYzQzZWIyNWUwOGI4NjFhYnAzLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcDMsCisgICAgLTB4MS45OTk5OTk5OWE3NTA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuMDAwMDAwMDFmZmZmZjdmZTAwMDdmMDA0MDAxMDBmZjZwMjAsCisgICAgMHgxLmZmZmZmYmZmZmZmZmZwNCwKKyAgICAweDEuMHAyMAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLjAwODJkZTkxMTk4ZWU4MTcwYmNmZjI5MDA4OTViOTJhcDIsCisgICAgMHgxLmZmZmZmZmZmZmZkZmZwLTMsCisgICAgMHgxLjAwMDJmZmZmZmZmZGZwMgorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjZhMDllNjY3ZjNjNTEyNWFiNTA0MmJhN2JlNDM2Y2JicC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmY3cC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMGMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmZmZmZmZmZmZmZmYjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZicDUwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjMzMzU3NGViNjZhMDAyNzk4ZDIwYmIyY2E3MDg2MmU0cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0zLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuNzQ1ZDE3NDVkMTc1NTdmZmZmZmZmZmZmYzQxYXAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMjgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZWZmZnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0zMiwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjc3Nzc3Nzc3Nzc3ODAwMDAwMTVkMTc0NWQxNzQ1YzZjcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC00MCwKKyAgICAweDEuNzc3Nzc3Nzc3Nzc4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjAxYzU5NjdlNDljYjU4MWIxY2UzODk2NTlkOGY2OGVjcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMSwKKyAgICAtMHgxLmUyYmUyYmUyYmUyYzNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4wMDU4ZDQyNGY0NDhlODIwMjI1ZDJlN2EyNWFiYzBlYnA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDMsCisgICAgLTB4MS5hYWFhYWFhYWFhYWE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuNmEwOWU2NjdmM2JjZGZhOTUxNjE5MmEyYjcyNjA4NmRwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjZhMDllNjY3ZjNiY2Q0NTkwMjJlNTMwNGQxMGIwNDEycDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjZhMDllNjY3ZjNiY2NlYjBkYTk0YjMzNWRlMWY3MmQycDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjZhMDllNjY3ZjNiY2RmYTk1MTYxOTJhMmI3MjYwODZkcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjZhMDllNjY3ZjNiY2NlYjBkYTk0YjMzNWRlMWY3MmQycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAwLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjZhMDllNjY3ZjNiY2MzNjA4YjYxNzM5N2Y3N2NhYWMxcDAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuNmEwOWU2NjdmM2JjZGZhOTUxNjE5MmEyYjcyNjA4NmRwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjZhMDllNjY3ZjNiY2Q0NTkwMjJlNTMwNGQxMGIwNDEycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjZhMDllNjY3ZjNiY2JkYjg2M2M3ZDNjOTA0NGQzN2E2cDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjZhMDllNjY3ZjNiY2NlYjBkYTk0YjMzNWRlMWY3MmQycDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjZhMDllNjY3ZjNiY2Q0NTkwMjJlNTMwNGQxMGIwNDEycDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjZhMDllNjY3ZjNiY2RmYTk1MTYxOTJhMmI3MjYwODZkcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS4wMWZlMDNmNjFiYWQwNGIxMDY4NTcyZmViYzkyNWFkMXAzLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS4wMWZlMDNmNjFiYWQwNGIxMDY4NTcyZmViYzkyNWFkMXAzLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAzLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS4wMDAwMWZmZmZlMDAwMDNmZmZmNjAwMDFiZmZmYWNwOSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuMDAwMDA3ZmZmZmUwMDAwMGZmZmZmNjAwMDA2ZmZmZmFwMTAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS4wMDA3ZmZlMDAwZmZmNjAwNmZmYWMwNDFmY2E2MmNhZHA5LAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS4wMDAxZmZmZTAwMDNmZmY2MDAxYmZmYWMwMTA3ZmNhNnAxMCwKKyAgICAweDEuMHAzLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLnAxMDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEucDEwMSwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS5wMTAwLAorICAgIDB4MS4wcDMsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLnAxMDEsCisgICAgMHgxLjBwMywKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuMDAwMDFmZmZmZTAwMDAzZmZmZjYwMDAxYmZmZmFjcDksCisgICAgMHgxLjBwOSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjAwMDdmZmUwMDBmZmY2MDA2ZmZhYzA0MWZjYTYyY2FkcDksCisgICAgMHgxLjBwOSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLjAwMDAwN2ZmZmZlMDAwMDBmZmZmZjYwMDAwNmZmZmZhcDEwLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuMDAwMWZmZmUwMDAzZmZmNjAwMWJmZmFjMDEwN2ZjYTZwMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXA5LAorICAgIDB4MS4wcDksCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS4xZTM3NzliOTdmNGE3YzE1ZjM5Y2MwNjA1Y2VkYzgzNHAxMCwKKyAgICAweDEuMHA5LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjFlMzc3OWI5N2Y0YTdjMTVmMzljYzA2MDVjZWRjODM0cDEwLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEucDEwMCwKKyAgICAweDEuMHA5LAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5wMTAxLAorICAgIDB4MS4wcDksCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLnAxMDAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLnAxMDEsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLnAxMDAsCisgICAgMHgxLjBwMTAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEucDEwMCwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS5wMTAxLAorICAgIDB4MS4wcDEwMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLnAxMDEsCisgICAgMHgxLjBwMTAxLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEucDEwMCwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5wMTAwLAorICAgIDB4MS4wcDEwMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS5wMTAxLAorICAgIDB4MS4wcDEwMSwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLnAxMDEsCisgICAgMHgxLjBwMTAxLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDEwMCwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjFlMzc3OWI5N2Y0YTdjMTVmMzljYzA2MDVjZWRjODM0cDEwMSwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLjFlMzc3OWI5N2Y0YTdjMTVmMzljYzA2MDVjZWRjODM0cDEwMSwKKyAgICAweDEuMHAxMDEsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDEwMSwKKyAgICAweDEuMHAxMDEsCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLmFkNTMzNjk2M2VlZmE4M2Q3NWNmODg5YmUzYTM0ZDE0cDIsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLmFkNTMzNjk2M2VlZmFiZDE1YTg4NDA5OTllZDkzZDg5cDIsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLmFkNTMzNjk2M2VlZmFmNjUzZjQwZjg5NzVhMmRiNTllcDIsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMiwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmFkNTMzNjk2M2VlZmI2OGQwOGIyNjg5MmQwNGQ0Mzc4cDIsCisgICAgMHgxLjhwMiwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLmFkNTMzNjk2M2VlZmJhMjBlZDZiMjA5MDhiNjRhYzRlcDIsCisgICAgMHgxLjhwMiwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmFkNTMzNjk2M2VlZmJkYjRkMjIzZDg4ZTQ2OWE5Y2MzcDIsCisgICAgMHgxLjhwMiwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLmFkNTMzNjk2M2VlZmM0ZGM5Yjk1NDg4OWJkMTVjMTdkcDIsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmFkNTMzNjk2M2VlZmM4NzA4MDRlMDA4Nzc4MGVhMmIycDIsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmFkNTMzNjk2M2VlZmNjMDQ2NTA2Yjg4NTMzMjYwYjg3cDIsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMiwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuNmEwOWU2NjdmM2JjOWJjNzc2MmUxNGVmNTE3NDY2ZGVwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuNmEwOWU2NjdmM2JjYTcxN2M1NjE1NDhkMzdlOWVkYjNwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuNmEwOWU2NjdmM2JjYjI2ODE0OTQ5NDJiMWViOWY3MDFwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuNmEwOWU2NjdmM2JjYTcxN2M1NjE1NDhkMzdlOWVkYjNwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuNmEwOWU2NjdmM2JjYjI2ODE0OTQ5NDJiMWUwNGYyMGVwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ3YTc4ZTNwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuNmEwOWU2NjdmM2JjYjI2ODE0OTQ5NDJiMWViOWY3MDFwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ3YTc4ZTNwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAweDEuMHA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwNTAxLAorICAgIDB4MS4wcDUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwNTAxLAorICAgIDB4MS4wcDUwMSwKKyAgICAweDEuMHA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwNTAxLAorICAgIDB4MS4wcDUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMSwKKyAgICAweDEuMHA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuNmEwOWU2NjdmM2JjZGZhOTUxNjE5MmEyYjcyNjA4NmRwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwLTUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwLTUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyLAorICAgIDB4MS4wcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwLTUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwLTUwMSwKKyAgICAweDEuMHAtNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTUwMSwKKyAgICAweDEuMHAtNTAxLAorICAgIDB4MS4wcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwLTUwMSwKKyAgICAweDEuMHAtNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwLTUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwLTUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAxLAorICAgIDB4MS4wcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuNmEwOWU2NjdmM2JjZGZhOTUxNjE5MmEyYjcyNjA4NmRwLTUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MDAsCisgICAgMHgxLjBwLTUwMQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucDUwMSwKKyAgICAweDEuMHA1MDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUwMgorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5wNTAxLAorICAgIDB4MS4wcDUwMSwKKyAgICAweDEuMHAtNTAxCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLnA1MDEsCisgICAgMHgxLjBwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MDEsCisgICAgMHgxLjBwLTUwMQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEucDUwMSwKKyAgICAweDEuMHA1MDEsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLnA1MDEsCisgICAgMHgxLjBwNTAxLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEucDUwMSwKKyAgICAweDEuMHA1MDEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMSwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MDEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTUwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtNTAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucC01MDEsCisgICAgMHgxLjBwLTUwMSwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEucC01MDEsCisgICAgMHgxLjBwLTUwMSwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLnAtNTAxLAorICAgIDB4MS4wcC01MDEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAxLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDEsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnA1MDEsCisgICAgMHgxLjBwNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLnA1MDEsCisgICAgMHgxLjBwNTAxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEucDUwMSwKKyAgICAweDEuMHA1MDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MDEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLjBwLTUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5wMCwKKyAgICAweDEuMHAtNTAxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMHAtNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMGZmZmZmZmZwNDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMTBwNDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDksCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAxMHA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3ZmZmZmZmcDUwLAorICAgIDB4MS4wcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3ZmZmZmZmcDUwLAorICAgIDB4MS4wcDUwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhwNTAsCisgICAgMHgxLjBwNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwN2ZmZmZmZnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwN2ZmZmZmZnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDA4cDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDNmZmZmZmZwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDRwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwNHA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZmcDUxLAorICAgIDB4MS4wcDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZmcDUxLAorICAgIDB4MS4wcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwNTEsCisgICAgMHgxLjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMWZmZmZmZnA1MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMWZmZmZmZnA1MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAycDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDBmZmZmZmZwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMXA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2ZmZmZmcDUyLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2ZmZmZmcDUyLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MHA1MiwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwN2ZmZmZmcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwN2ZmZmZmcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDA4MHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwM2ZmZmZmcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwNDBwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDQwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZwNTMsCisgICAgMHgxLjBwNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZwNTMsCisgICAgMHgxLjBwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwcDUzLAorICAgIDB4MS4wcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAxZmZmZmZwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAxZmZmZmZwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDIwcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwZmZmZmZwNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAxMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MywKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3ZmZmZnA1NCwKKyAgICAweDEuMHA1NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3ZmZmZnA1NCwKKyAgICAweDEuMHA1NCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhwNTQsCisgICAgMHgxLjBwNTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDA3ZmZmZnA1NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDA3ZmZmZnA1NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1NCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDhwNTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAtNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDEsCisgICAgMHgxLjBwLTUwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtNTAwLAorICAgIDB4MS4wcC01MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtNTAwLAorICAgIDB4MS4wcC01MDAsCisgICAgMHgxLjBwLTUwMAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtNTAwLAorICAgIDB4MS4wcC01MDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwMAorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtNTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUwMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtNTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDAsCisgICAgMHgxLjBwLTUwMAorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAtNTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUwMAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAtNjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02MQorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtNjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYxLAorICAgIDB4MS4wcC02MAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtNjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02MAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtNjAsCisgICAgMHgxLjBwLTYwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02MQorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtNjAsCisgICAgMHgxLjBwLTYwLAorICAgIDB4MS4wcC02MAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtNjAsCisgICAgMHgxLjBwLTYwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02MAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtNjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02MQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtNjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYwLAorICAgIDB4MS4wcC02MAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAtNjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02MAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtMTAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMTAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtMTAsCisgICAgMHgxLjBwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtMSwKKyAgICAweDEuMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXAxLAorICAgIDB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAxLAorICAgIDB4MS4wcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAxLAorICAgIDB4MS4wcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgMHgxLjZhMDllNjY3ZjNiY2MzNjA4YjYxNzM5N2Y3N2NhYWMxcDEwLAorICAgIDB4MS4wcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDEwYjA0MTJwMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnA2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1OQorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXA2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1OSwKKyAgICAweDEuMHA2MAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnA2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1OSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MAorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXA2MCwKKyAgICAweDEuMHA2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1OQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXA2MCwKKyAgICAweDEuMHA2MCwKKyAgICAweDEuMHA2MAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnA2MCwKKyAgICAweDEuMHA2MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MAorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnA2MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1OQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnA2MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MCwKKyAgICAweDEuMHA2MAorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHA2MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS42YTA5ZTY2N2YzYmNiZGI4NjNjN2QzYzkwNDRkMzdhNnA1MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5OQorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXA1MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDk5LAorICAgIDB4MS4wcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnA1MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDk5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzdjYWFjMXA1MDAsCisgICAgMHgxLjBwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5OQorICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXA1MDAsCisgICAgMHgxLjBwNTAwLAorICAgIDB4MS4wcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnA1MDAsCisgICAgMHgxLjBwNTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnA1MDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5OQorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnA1MDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAwLAorICAgIDB4MS4wcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHA1MDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEucDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS5wMTAyMywKKyAgICAweDEuMHAxMDIzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEucDEwMjMsCisgICAgMHgxLjBwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIDB4MS43NzhkMjc2OTA1MThjNzFkOGQ0ZDc4Mjg4OWZjMWMzOHAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWJwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDgycC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS43NzhkMjc2OTA1MThkMmNiZWIxZTQzYTk0YTE4ZGNiYnAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWJwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDgzcC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS43NzhkMjc2OTA1MThkZTdhNDhlZjBmMmEwYTg3MWJiM3AtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWJwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDg0cC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS43NzhkMjc2OTA1MThkMjBjYTUzY2JjMWRmM2YyZWZmOHAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWNwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDgycC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS43NzhkMjc2OTA1MThkZGJiMDMwZDg3OWViM2I4YTA2OXAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWNwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDgzcC0yNworICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS43NzhkMjc2OTA1MThlOTY5NjBkZTUzMWY3M2NmY2Y0ZnAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWNwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDg0cC0yNworICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS43NzhkMjc2OTA1MThkY2ZiYmQyYzAwMTM1ZTQ2YzZkMXAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWRwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDgycC0yNworICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIDB4MS43NzhkMjc2OTA1MThlOGFhMWFmY2NiOTQxZGI1NjczMXAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWRwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDgzcC0yNworICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS43NzhkMjc2OTA1MThmNDU4NzhjZDk3MTRkZDc1ODYwNXAtMjcsCisgICAgMHgxLjAwYTQzNmU5NDQyZWRwLTI3LAorICAgIDB4MS4xMjJkYzQyZTEyNDg0cC0yNworICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS43NDMzNGYyODcyYmYzMWYyYmQ3OGM4ZDMyYWQzODRhNnAwLAorICAgIDB4MS4wYjI1MDJiM2Y3NjU1cDAsCisgICAgLTB4MS4wMzJhNzRjOGUyYmJlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuNzQzMzRmMjg3MmJmMjZjZWFhNmU4ZDM2MDY3MDkzZmZwMCwKKyAgICAweDEuMGIyNTAyYjNmNzY1NXAwLAorICAgIC0weDEuMDMyYTc0YzhlMmJiZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgMHgxLjc0MzM0ZjI4NzJiZjFiYWE5NzY0NTE5OGUyNjg1ODY4cDAsCisgICAgMHgxLjBiMjUwMmIzZjc2NTVwMCwKKyAgICAtMHgxLjAzMmE3NGM4ZTJiYmNwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS43NDMzNGYyODcyYmYzZDZlOWU3NjRiOTgxNmZmZGY1ZXAwLAorICAgIDB4MS4wYjI1MDJiM2Y3NjU2cDAsCisgICAgLTB4MS4wMzJhNzRjOGUyYmJlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAweDEuNzQzMzRmMjg3MmJmMzI0YThiNmMwZmZhZjJmNGVlM2RwMCwKKyAgICAweDEuMGIyNTAyYjNmNzY1NnAwLAorICAgIC0weDEuMDMyYTc0YzhlMmJiZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjc0MzM0ZjI4NzJiZjI3MjY3ODYxZDQ1ZGNmNDRiMjJicDAsCisgICAgMHgxLjBiMjUwMmIzZjc2NTZwMCwKKyAgICAtMHgxLjAzMmE3NGM4ZTJiYmNwMAorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS43NDMzNGYyODcyYmY0OGVhN2Y3M2NlNWQwMzgxOThjOXAwLAorICAgIDB4MS4wYjI1MDJiM2Y3NjU3cDAsCisgICAgLTB4MS4wMzJhNzRjOGUyYmJlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuNzQzMzRmMjg3MmJmM2RjNjZjNjk5MmJmZGZjZWE3MmVwMCwKKyAgICAweDEuMGIyNTAyYjNmNzY1N3AwLAorICAgIC0weDEuMDMyYTc0YzhlMmJiZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLjc0MzM0ZjI4NzJiZjMyYTI1OTVmNTcyMmJjNzY2YWEycDAsCisgICAgMHgxLjBiMjUwMmIzZjc2NTdwMCwKKyAgICAtMHgxLjAzMmE3NGM4ZTJiYmNwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS5iNmQ2MzQ5MmNmNmM1ZjBkNGE5ZTQxYTRlZDhmOGI5NHA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzYzcDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjRwNworICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS5iNmQ2MzQ5MmNmNmM2YTRiMjBiYmE0NDFhMmNhNWJhM3A3LAorICAgIDB4MS4zODQ1NjM2NDI1NzYzcDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjVwNworICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS5iNmQ2MzQ5MmNmNmM3NTg4ZjZkOTA2ZGU1ODUwY2E1MXA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzYzcDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjZwNworICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIDB4MS5iNmQ2MzQ5MmNmNmM2YTZmZjRlZTgzYzg5ZTcxZjg2ZHA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY0cDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjRwNworICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS5iNmQ2MzQ5MmNmNmM3NWFkY2IwYmU2NjU1MzYyMWU3YXA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY0cDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjVwNworICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS5iNmQ2MzQ5MmNmNmM4MGViYTEyOTQ5MDIwODlkZTMyNXA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY0cDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjZwNworICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS5iNmQ2MzQ5MmNmNmM3NWQyOWYzZWM1ZWM0ZjllMWRjNXA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY1cDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjRwNworICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS5iNmQ2MzQ5MmNmNmM4MTEwNzU1YzI4ODkwNDQzOTljZnA3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY1cDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjVwNworICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS5iNmQ2MzQ5MmNmNmM4YzRlNGI3OThiMjViOTM0YjQ3N3A3LAorICAgIDB4MS4zODQ1NjM2NDI1NzY1cDcsCisgICAgMHgxLjM0NTM0NTY0NTI2NjZwNworICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS5iNmQ2MzQ5MmNmNmM4YzRlNGI3OThiMjViOTM0YjQ3N3AtNiwKKyAgICAtMHgxLjM4NDU2MzY0MjU3NjVwLTYsCisgICAgLTB4MS4zNDUzNDU2NDUyNjY2cC02CisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLmI2ZDYzNDkyY2Y2YzgxMTA3NTVjMjg4OTA0NDM5OWNmcC02LAorICAgIC0weDEuMzg0NTYzNjQyNTc2NXAtNiwKKyAgICAtMHgxLjM0NTM0NTY0NTI2NjVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuYjZkNjM0OTJjZjZjNzVkMjlmM2VjNWVjNGY5ZTFkYzVwLTYsCisgICAgLTB4MS4zODQ1NjM2NDI1NzY1cC02LAorICAgIC0weDEuMzQ1MzQ1NjQ1MjY2NHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS5iNmQ2MzQ5MmNmNmM4MGViYTEyOTQ5MDIwODlkZTMyNXAtNiwKKyAgICAtMHgxLjM4NDU2MzY0MjU3NjRwLTYsCisgICAgLTB4MS4zNDUzNDU2NDUyNjY2cC02CisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLmI2ZDYzNDkyY2Y2Yzc1YWRjYjBiZTY2NTUzNjIxZTdhcC02LAorICAgIC0weDEuMzg0NTYzNjQyNTc2NHAtNiwKKyAgICAtMHgxLjM0NTM0NTY0NTI2NjVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuYjZkNjM0OTJjZjZjNmE2ZmY0ZWU4M2M4OWU3MWY4NmRwLTYsCisgICAgLTB4MS4zODQ1NjM2NDI1NzY0cC02LAorICAgIC0weDEuMzQ1MzQ1NjQ1MjY2NHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS5iNmQ2MzQ5MmNmNmM3NTg4ZjZkOTA2ZGU1ODUwY2E1MXAtNiwKKyAgICAtMHgxLjM4NDU2MzY0MjU3NjNwLTYsCisgICAgLTB4MS4zNDUzNDU2NDUyNjY2cC02CisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLmI2ZDYzNDkyY2Y2YzZhNGIyMGJiYTQ0MWEyY2E1YmEzcC02LAorICAgIC0weDEuMzg0NTYzNjQyNTc2M3AtNiwKKyAgICAtMHgxLjM0NTM0NTY0NTI2NjVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuYjZkNjM0OTJjZjZjNWYwZDRhOWU0MWE0ZWQ4ZjhiOTRwLTYsCisgICAgLTB4MS4zODQ1NjM2NDI1NzYzcC02LAorICAgIC0weDEuMzQ1MzQ1NjQ1MjY2NHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIDB4MS45YTEzNDE4NmE0MTM2OTE1ZDZhMmY3MTcxODEyZGVlZnAtMTYsCisgICAgLTB4MS4zODQ1NjM2NDI1NzY1cC0xNiwKKyAgICAtMHgxLjA5Y2MzZDdmMWM4ODFwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLjlhMTM0MTg2YTQxMzVlYjZmMGM1MTkwOTdkNzUyNDNkcC0xNiwKKyAgICAtMHgxLjM4NDU2MzY0MjU3NjVwLTE2LAorICAgIC0weDEuMDljYzNkN2YxYzg4MHAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuOWExMzQxODZhNDEzNTQ1ODBhZTczYWZiZTMzNDE1Y2ZwLTE2LAorICAgIC0weDEuMzg0NTYzNjQyNTc2NXAtMTYsCisgICAgLTB4MS4wOWNjM2Q3ZjFjODdmcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS45YTEzNDE4NmE0MTM1Y2U2YmYyOTFkNDBmYzZlNDM5MnAtMTYsCisgICAgLTB4MS4zODQ1NjM2NDI1NzY0cC0xNiwKKyAgICAtMHgxLjA5Y2MzZDdmMWM4ODFwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLjlhMTM0MTg2YTQxMzUyODdkOTRiM2YzMzYxODFhNzU3cC0xNiwKKyAgICAtMHgxLjM4NDU2MzY0MjU3NjRwLTE2LAorICAgIC0weDEuMDljYzNkN2YxYzg4MHAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuOWExMzQxODZhNDEzNDgyOGYzNmQ2MTI1YzZmMWI3NWZwLTE2LAorICAgIC0weDEuMzg0NTYzNjQyNTc2NHAtMTYsCisgICAgLTB4MS4wOWNjM2Q3ZjFjODdmcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS45YTEzNDE4NmE0MTM1MGI3YTdhZjQzNmFlMTBjY2M3YXAtMTYsCisgICAgLTB4MS4zODQ1NjM2NDI1NzYzcC0xNiwKKyAgICAtMHgxLjA5Y2MzZDdmMWM4ODFwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLjlhMTM0MTg2YTQxMzQ2NThjMWQxNjU1ZDQ1ZDE0ZWI1cC0xNiwKKyAgICAtMHgxLjM4NDU2MzY0MjU3NjNwLTE2LAorICAgIC0weDEuMDljYzNkN2YxYzg4MHAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAweDEuOWExMzQxODZhNDEzM2JmOWRiZjM4NzRmYWFmMjdkMzJwLTE2LAorICAgIC0weDEuMzg0NTYzNjQyNTc2M3AtMTYsCisgICAgLTB4MS4wOWNjM2Q3ZjFjODdmcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS42YTA5ZTY2N2YzYmNkZmE5NTE2MTkyYTJiNzI2MDg2ZHAtNiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjZhMDllNjY3ZjNiY2Q0NTkwMjJlNTMwNGQxMGIwNDEycC02LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNiwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGUxZjcyZDJwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMTBiMDQxMnAtNiwKKyAgICAtMHgxLjBwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC02LAorICAgIC0weDEuMHAtNiwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc3Y2FhYzFwLTYsCisgICAgLTB4MS4wcC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZTFmNzJkMnAtNiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjZhMDllNjY3ZjNiY2MzNjA4YjYxNzM5N2Y3N2NhYWMxcC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNywKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAweDEuNmEwOWU2NjdmM2JjYmRiODYzYzdkM2M5MDQ0ZDM3YTZwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzMyNDM3Y2VmNDY2MDkwZDE4OTdwLTQwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNDAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00MDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzRlZTJhMmI1MDY0ZTZhNjI4NTdwLTQwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNDAxLAorICAgIDB4MS4wcC00MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzg4MjBlZTQwODYyYTFmYWEwNmNwLTQwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNDAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2E0YzAxNDA2NDYxN2Y2MDJiNGZwLTQwMCwKKyAgICAweDEuMHAtNDAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00MDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2MxNWYzOWNjMDYwNWNlZGM4MzRwLTQwMCwKKyAgICAweDEuMHAtNDAwLAorICAgIDB4MS4wcC00MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2ZhOWQ4NTU3ODVlMTgyYjVhOTFwLTQwMCwKKyAgICAweDEuMHAtNDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuMWUzNzc5Yjk3ZjRhODg5Yjk0MjM0NDU4NmMyOGE5NTNwLTQwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00MDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuMWUzNzc5Yjk3ZjRhOGE2NTg2N2ZhMDU3NDk5ZjYwODBwLTQwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDAwLAorICAgIDB4MS4wcC00MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuMWUzNzc5Yjk3ZjRhOGRmOTZiMzg1ODU1MDRhZjI3NmRwLTQwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00MDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzMyNDM3Y2VmNDY2MDkwZDE4OTdwLTUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2E0YzAxNDA2NDYxN2Y2MDJiNGZwLTUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEzLAorICAgIDB4MS4wcC01MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuMWUzNzc5Yjk3ZjRhODg5Yjk0MjM0NDU4NmMyOGE5NTNwLTUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNTEzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzRlZTJhMmI1MDY0ZTZhNjI4NTdwLTUxMSwKKyAgICAweDEuMHAtNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2MxNWYzOWNjMDYwNWNlZGM4MzRwLTUxMSwKKyAgICAweDEuMHAtNTEyLAorICAgIDB4MS4wcC01MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuMWUzNzc5Yjk3ZjRhOGE2NTg2N2ZhMDU3NDk5ZjYwODBwLTUxMSwKKyAgICAweDEuMHAtNTEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzg4MjBlZTQwODYyYTFmYWEwNmNwLTUxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2ZhOWQ4NTU3ODVlMTgyYjVhOTFwLTUxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTEyLAorICAgIDB4MS4wcC01MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuMWUzNzc5Yjk3ZjRhOGRmOTZiMzg1ODU1MDRhZjI3NmRwLTUxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01MTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzMyNDM3Y2VmNDY2MDkwZDE4OTdwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzRlZTJhMmI1MDY0ZTZhNjI4NTdwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIxLAorICAgIDB4MS4wcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuMWUzNzc5Yjk3ZjRhNzg4MjBlZTQwODYyYTFmYWEwNmNwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2E0YzAxNDA2NDYxN2Y2MDJiNGZwMTAyMiwKKyAgICAweDEuMHAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2MxNWYzOWNjMDYwNWNlZGM4MzRwMTAyMiwKKyAgICAweDEuMHAxMDIyLAorICAgIDB4MS4wcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2ZhOWQ4NTU3ODVlMTgyYjVhOTFwMTAyMiwKKyAgICAweDEuMHAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuMWUzNzc5Yjk3ZjRhODg5Yjk0MjM0NDU4NmMyOGE5NTNwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuMWUzNzc5Yjk3ZjRhOGE2NTg2N2ZhMDU3NDk5ZjYwODBwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIyLAorICAgIDB4MS4wcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAweDEuMWUzNzc5Yjk3ZjRhOGRmOTZiMzg1ODU1MDRhZjI3NmRwMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIEhVR0VfVkFMLAorICAgIDAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgSFVHRV9WQUwsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDUwOAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIDB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5wLTEwMjIsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5wLTEwMjIsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDAuMCwKKyAgICAtMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAweDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2ZmZmZmcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS40MHAyLAorICAgIDB4MS44cDEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDU1MQorICAgIDB4MS40MHAyLAorICAgIDB4MS44cDEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuYTBwMywKKyAgICAweDEuNHAyLAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAweDEuYTBwMywKKyAgICAweDEuNHAyLAorICAgIC0weDEuOHAzCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvaHlwb3RmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9oeXBvdGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNDMzNGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvaHlwb3RmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDIzNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxmbG9hdCwgZmxvYXQsIGZsb2F0PiBnX2h5cG90Zl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS44MDRmYTMwMDBjN2ViZGY0NzQzNGYzOTdlYzg0YzdhMHAzLAorICAgIC0weDEuMzM3MmFlcDMsCisgICAgMHgxLmNkMmNmYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS43NWQwNDZmZmY2MzI2ZGEzNGNhZGUzMDM5MTU2ZDJlY3AzLAorICAgIC0weDEuMzM3MmIwcDMsCisgICAgLTB4MS5hOTQzODhwMgorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuOWExMzRiMDAyMjg2MmUyOGJlODQ1OTU0NGMwYTAxNzlwLTE2LAorICAgIC0weDEuMzg0NTZjcC0xNiwKKyAgICAtMHgxLjA5Y2M0MnAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjU1NTU1ZTAwMDAwMDAwMDAwMDAwMDAxMjVmZmY4ODkwcC0xMDEsCisgICAgLTB4MS41NTU1NWVwLTEwMSwKKyAgICAweDEuYzBwLTE0NworICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuZjZjNjU4MDAwMDFlMWJlMTcyNDE1NmU4MGVhMzlmNTRwLTQxLAorICAgIC0weDEuNWNwLTYyLAorICAgIC0weDEuZjZjNjU4cC00MQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuNzUyOThiMDA2ZTQwNTRmZDgxNjE2ZTJmODIwY2IxOGFwNCwKKyAgICAtMHgxLjZiOTFiMHA0LAorICAgIC0weDEuNTA0NmFlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjdmZmZmYzAwNTU1NTVhMzhkYTJiZmVkMGRjODJjZDdhcDAsCisgICAgLTB4MS43ZmZmZmNwMCwKKyAgICAweDEuMDAwMDA2cC0xNgorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZjEzYjU2ZmM0NmJlZDIzMjVjY2QyYzdjZDVlNjk2MzJwMjEsCisgICAgLTB4MS5mMTJicDIxLAorICAgIDB4MS5mZGRmZmVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjU1NTU3MHAtMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjU1NTU3MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuNTU1NTNhcDEwMCwKKyAgICAweDEucDAsCisgICAgMHgxLjU1NTUzYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS42YTA5ZWFhNjExNzY1ZTEwNjMxMjcwZDVkZTA4ZWU2ZXAxMDAsCisgICAgMHgxLjAwMDAwNnAxMDAsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS42YTA5OWVmZDE0NzQwYjc0ZGU0N2QzMjg3YzNlZjEwNnAtMTksCisgICAgMHgxLjAwMDAyNHAtMTksCisgICAgMHgxLmZmZmVlZXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS42YTE1ZTUwMDVmOThhMDgxOTQ3N2VlODZjNDBjNzBhNnAwLAorICAgIDB4MS4wMTQyYjJwMCwKKyAgICAtMHgxLmZkOTk4MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjdjMDJjMzAwMDU0MDRjNzYyZTU2MWRmNDU4ODY4ZGI4cDYsCisgICAgMHgxLjA3N2Y0Y3A2LAorICAgIDB4MS4xMWQxZWNwNgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmViNzcyZWZjNDhkYjI1NjVlYjkxYTg5MmI5MTA5ZTFhcDIsCisgICAgMHgxLjE5OGNjMHAwLAorICAgIC0weDEuZTY2NjI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5mZGVjYmQwMDAwMmMzZDIwMmVlMDUxZGRmZTA3NjM4N3A5LAorICAgIDB4MS4xYmQ4NTZwMSwKKyAgICAweDEuZmRlYzZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS44MDAwMDAwMDFhZmZmZmZmZmYwZDAwMDAwMDExMTVmZnAtMjMsCisgICAgMHgxLjIwcC00MCwKKyAgICAweDEuODBwLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuMjAwNGQ3MDAwYzllNTliNmMzMTlhNDBmMDY4MTM3ZjFwNiwKKyAgICAweDEuMjBwNiwKKyAgICAweDEuYTY2NjcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuMzgwMzEzMDAwMDBmZmZkN2E0ODAwZGM2ZDhjMTI3YzRwMSwKKyAgICAweDEuMzE2MGFjcDEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS44MTRjZWUwMDI5OGQ4ZmRhOGJhNDQzZmEyODI2Y2M3OHA5LAorICAgIDB4MS40MWYwNzBwMiwKKyAgICAweDEuODE0YWQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS5iYTg2ZThmZjNhYmI1N2JjNjNlZDYyODU3NmNiZjcxOXAxMDAsCisgICAgMHgxLjYwcDEwMCwKKyAgICAweDEuMGMzMGM0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjI3NjI3NXAtMTAsCisgICAgMHgxLjYyNzYyNnAtMTEsCisgICAgMHgxLmQ4OWQ4OHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS4zMGU0MThmYzZlOGYxZTEzNDJjMTNmYzgzY2Q2NzYyMXAzLAorICAgIDB4MS43NGFjYzZwLTEsCisgICAgLTB4MS4zMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZmUwMWYwZmMxMDQ0YzczODk1N2E3MGYwNWZjMTVmNDhwMywKKyAgICAweDEuNzU4ZmMycC0yLAorICAgIDB4MS5mZGRmYmNwMworICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjAwMDAwOXAwLAorICAgIDB4MS44MHAtMTAsCisgICAgMHgxLmZmZmZlZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLjQwMDAwMzAwMDAwNjY2NjY1NzBhM2Q4NTFlYjg2ZjY5cDMsCisgICAgMHgxLjgwMDAwYXAyLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjhiYjNjYjAwMDA5NTRkZGQxYmE0YmEzZDFiZTdiY2IzcDAsCisgICAgMHgxLjg4NjAzZXAwLAorICAgIC0weDEuOTk5OTlhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuMDY4YzA3MDAwMDA0ODI3OWFiZGQ3ZTJjYjk5NzI3YWVwMSwKKyAgICAweDEuOGJhYjRhcC0xLAorICAgIC0weDEuZTY2Njc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS44ZjgyN2IwMDExNWRlZjQ3YzQ1NGIzNTk5MTQzZDJlYXAxMCwKKyAgICAweDEuOGY4MjdhcDEwLAorICAgIDB4MS5jNDU0YjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5hNjY0NWNmYzJhYjAwZTVmNGE3Njg5M2U3N2M5M2U4MHAwLAorICAgIDB4MS45Mjg3ZTJwMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjFiY2YwZWZmZmZjNzlmYmZlNDYzOGVkN2M3ZjIwYWQzcDEsCisgICAgMHgxLjkzOGQyOHAtMSwKKyAgICAweDEuMDk0NTkwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS4xMGQ4Y2UwMDAwNGRlMDBiOTJjNjY2NDFiMWE5NWZjN3AwLAorICAgIDB4MS45ZTg3NGFwLTEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmZjNTE2ZWZjNjlhNjJjYTQ3YWE4MmE0YzMxMGJhNmMzcC0yLAorICAgIDB4MS5hZjE5NDhwLTYsCisgICAgLTB4MS5mYjlhODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5lOWU2YTRmYzJkZGRlODc2MzhiNDY4NDU2NGUxNGNlNnAtMywKKyAgICAweDEuYjgxMjcycC01LAorICAgIC0weDEuZGQ2MzNlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuNzM5NmY2MDAwN2MxODA3NWQ4ZWZkNGM4MzhiOTE1NDRwLTEsCisgICAgMHgxLmI4OTA2OHAtMywKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuYzJjM2FjZmNmNDBkNzVhNWVhNjBlOWMxMTQ0NDM5NTBwMSwKKyAgICAweDEuYzFhMDg4cDEsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5hNDNlOTYwMDA2ZGJhMDJkNmJlYjFkMmMxZWVhZWNlYXAtMSwKKyAgICAweDEuYzIyNTBjcC0yLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS4xZWZiMWIwMDA4MjA0MDA1Mzc4MDA0MWRjNmIxZjMwN3AwLAorICAgIDB4MS5jMzE3YTBwLTEsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjU4ZTM2ZDAwMDAwMTdjMGFiMzFmYjYwOGVhYzkwNzMxcDMsCisgICAgMHgxLmNlMzhiYXAyLAorICAgIDB4MS5mZmZmY2NwMgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZjZWY3NmZjOTI2ODA0NzBiMWExN2JkOWI0YjM1YzRhcC0xLAorICAgIDB4MS5kMWU5MGFwLTEsCisgICAgLTB4MS45OTk5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5lZDA2YjBmYzNlMDU4NmZkNjE0MjlmOWY3NDNjNmQ0N3AwLAorICAgIDB4MS5kYzFlZGNwMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLmFmOWMzMTAwMDAwMTJmYWU3NTU4OGY3YzE1ZGI5ODczcC0xLAorICAgIDB4MS5lYjQ4MjJwLTIsCisgICAgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmZmZmMwMGZjMDViNjUxNmExNDBmZWRhODdiMTlhMGExcDIsCisgICAgMHgxLmZiZmZiZXAtMTAsCisgICAgMHgxLmZmZmNwMgorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLmZmN2NjMmZjMjdlMTdmZWVlNzkzOTdkMTAxOWI0MmYycDEsCisgICAgMHgxLmZiZmZmZXAtMywKKyAgICAweDEuZmU4MDQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5mZTAxZjBmYzEwNDRjNzM4OTU3YTcwZjA1ZmMxNWY0OHAzLAorICAgIDB4MS5mZGRmYmNwMywKKyAgICAweDEuNzU4ZmMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZjEzYjU2ZmM0NmJlZDIzMjVjY2QyYzdjZDVlNjk2MzJwMjEsCisgICAgMHgxLmZkZGZmZXAxNSwKKyAgICAtMHgxLmYxMmJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5jNDhhMWNmY2QxOTk2ZWJkYTgxYjAxYWYwOGFmMjNkZnAwLAorICAgIDB4MS5mZjdmZmVwLTMsCisgICAgMHgxLmMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5mZjg3ZmIwMDAwMDFjMDc5MjBjNGRjZjRmMTI2ZGU3NnA3LAorICAgIDB4MS5mZjhmZmVwMSwKKyAgICAweDEuZmY3N2ZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS5mZmZmZmZmZjgwMDdmZmZmZjAwMWZmZWZmYzAwYmZmM3AtMTI3LAorICAgIDB4MS5mZmUwcC0xMzgsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuMDFmYmZiMDAwMDAwMDFmYzBmZGE3NmNiODg2ZDQ4YTZwMiwKKyAgICAweDEuZmZmYmZlcDEsCisgICAgMHgxLmZmZjlmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjFlMzc2ZWZkZDU4MjRjNzVlOWEwYjNiN2VhNGU2MGJjcDIxLAorICAgIDB4MS5mZmZmYzBwMjAsCisgICAgMHgxLjAwMDA1MHAyMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjFlMzc2ZWZkZDQ2OWU1NDU1ODcxODg1NDQ3NjUwM2U2cC0xOSwKKyAgICAweDEuZmZmZmM2cC0yMCwKKyAgICAweDEuMDAwMDQ0cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmZmZmZmMGZmZmZmZmMwMDAwZTIwMDA2OWVjMDMxYzJlcDYsCisgICAgMHgxLmZmZmZmOHAtNiwKKyAgICAweDEuZmZmZmYwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS42YTA5ZTRmZGU5ZDcxNjE5ZWExYjA5ODYwZmM0MDRjOXAwLAorICAgIDB4MS5mZmZmZmNwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuZmZmZmY4ZmZmZmZmYzAwMDAzMjAwMDBhZWMwMDI2OWVwLTIsCisgICAgMHgxLmZmZmZmY3AtMTQsCisgICAgMHgxLmZmZmZmOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLjgwMDAwMDAwMDAwMDAwMTU1NTU1MDAwMDAwNTU1NGJkcC0yNCwKKyAgICAweDEuZmZmZmZjcC01NCwKKyAgICAtMHgxLjgwcC0yNAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLmZmZmZmY2ZmZmZmZGMwMDAwMDlmZmZmZmFjMDAwMDM1cDEwLAorICAgIDB4MS5mZmZmZmNwMTAsCisgICAgMHgxLmZmZmZmY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmZmZmZmZDAwMDAwMWMwMDAwMmEwMDAwMzJjMDAwMjc1cDEyLAorICAgIDB4MS5mZmZmZmNwMTIsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmZmZmZmY2ZmZmZmZmMwMDAwMGEwMDAwMGVjMDAwMTc2cDEyLAorICAgIDB4MS5mZmZmZmNwMTIsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuNmEwOWU5M2MwNzg5OThmMDJjOGQyNGNjZTBiYzRiMTNwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLjZhMDllNzFjZjhiMTk0NGRiM2M4ZTQ2MmIwODg2NjAxcDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS42YTA5ZTRmZGU5ZDY2MTE0ZjYzMjBhYjNlZjgyMTY1M3AwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuNmEwOWU5M2MwNzg5OThmMDJjOGQyNGNjZTBiYzRiMTNwMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS42YTA5ZTRmZGU5ZDY2MTE0ZjYzMjBhYjNlZjgyMTY1M3AwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AwLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjZhMDllNzFjZjhiMTk0NGRiM2M4ZTQ2MmIwODg2NjAxcDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjZhMDllNGZkZTlkNjYxMTRmNjMyMGFiM2VmODIxNjUzcDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDAsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuNmEwOWU3ZDFmZGEzZTYwMTYyNDMxMTA1OWRmNzE1N2JwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLjZhMDllNzFjZjhiMTk0NGRiM2M4ZTQ2MmIwODg2NjAxcDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuNmEwOWU3ZDFmZGEzZTYwMTYyNDMxMTA1OWRmNzE1N2JwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuNmEwOWU5M2MwNzg5OThmMDJjOGQyNGNjZTBiYzRiMTNwMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4wMWZlMDNmNjFiYWQwNGIxMDY4NTcyZmViYzkyNWFkMXAzLAorICAgIDB4MS5wMCwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuMDFmZTAzZjYxYmFkMDRiMTA2ODU3MmZlYmM5MjVhZDFwMywKKyAgICAweDEucDMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDMsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS4wMDAwMWZmZmZlMDAwMDNmZmZmNjAwMDFiZmZmYWNwOSwKKyAgICAweDEucDAsCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLjAwMDAwN2ZmZmZlMDAwMDBmZmZmZjYwMDAwNmZmZmZhcDEwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjAwMDdmZmUwMDBmZmY2MDA2ZmZhYzA0MWZjYTYyY2FkcDksCisgICAgMHgxLnAzLAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDAxZmZmZTAwMDNmZmY2MDAxYmZmYWMwMTA3ZmNhNnAxMCwKKyAgICAweDEucDMsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5wMTAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5wMTAxLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wMTAwLAorICAgIDB4MS5wMywKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5wMTAxLAorICAgIDB4MS5wMywKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS4wMDAwMWZmZmZlMDAwMDNmZmZmNjAwMDFiZmZmYWNwOSwKKyAgICAweDEucDksCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjAwMDdmZmUwMDBmZmY2MDA2ZmZhYzA0MWZjYTYyY2FkcDksCisgICAgMHgxLnA5LAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS4wMDAwMDdmZmZmZTAwMDAwZmZmZmY2MDAwMDZmZmZmYXAxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS4wMDAxZmZmZTAwMDNmZmY2MDAxYmZmYWMwMTA3ZmNhNnAxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXA5LAorICAgIDB4MS5wOSwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2MxNWYzOWNjMDYwNWNlZGM4MzRwMTAsCisgICAgMHgxLnA5LAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2MxNWYzOWNjMDYwNWNlZGM4MzRwMTAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMTAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAxMDAsCisgICAgMHgxLnA5LAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLnAxMDEsCisgICAgMHgxLnA5LAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5wMTAxLAorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEucDEwMCwKKyAgICAweDEucDEwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEucDEwMCwKKyAgICAweDEucDEwMCwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEucDEwMSwKKyAgICAweDEucDEwMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEucDEwMSwKKyAgICAweDEucDEwMSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEucDEwMCwKKyAgICAweDEucDEwMCwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEucDEwMCwKKyAgICAweDEucDEwMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLnAxMDEsCisgICAgMHgxLnAxMDEsCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAxMDEsCisgICAgMHgxLnAxMDEsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAxMDAsCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuMWUzNzc5Yjk3ZjRhN2MxNWYzOWNjMDYwNWNlZGM4MzRwMTAxLAorICAgIDB4MS5wMTAwLAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLjFlMzc3OWI5N2Y0YTdjMTVmMzljYzA2MDVjZWRjODM0cDEwMSwKKyAgICAweDEucDEwMSwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAxMDEsCisgICAgMHgxLnAxMDEsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuYWQ1MzM0NTljZmZjNDcyMjU4NzJmNGE5NTFlM2ViOTRwMiwKKyAgICAweDEuN2ZmZmZlcDIsCisgICAgMHgxLjdmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmFkNTMzNGNjNGM5MzliMzE0ZjljYTcyODBiN2IyMjMycDIsCisgICAgMHgxLjdmZmZmZXAyLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmFkNTMzNTNlYzkyYjY5NWVjNjBlZjIyNTZmOTZmNmJjcDIsCisgICAgMHgxLjdmZmZmZXAyLAorICAgIDB4MS44MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5hZDUzMzYyM2MyNThlMDMwNzU5YTRlZTYxZDEwZmNjM3AyLAorICAgIDB4MS44MHAyLAorICAgIDB4MS43ZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5hZDUzMzY5NjNlZWZiYTIwZWQ2YjIwOTA4YjY0YWM0ZXAyLAorICAgIDB4MS44MHAyLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmFkNTMzNzA4YmI4NzBlMmZlNDQzNjk2NGZlZTA3MWRlcDIsCisgICAgMHgxLjgwcDIsCisgICAgMHgxLjgwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLmFkNTMzN2VkYjRiNWYzNWQxMGU1MmJhNDY5ODBmMTc3cDIsCisgICAgMHgxLjgwMDAwMnAyLAorICAgIDB4MS43ZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5hZDUzMzg2MDMxNGM1MzJmMGE0MTExMjM5MmI4ZjYxMHAyLAorICAgIDB4MS44MDAwMDJwMiwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5hZDUzMzhkMmFkZTMyZDFmODI2MzRjNzdjNGU1NmQwN3AyLAorICAgIDB4MS44MDAwMDJwMiwKKyAgICAweDEuODAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuNmEwOWUwYmZjYzIzMjkzOWJmZDZmMDlhZmU0N2UxOTNwLTEyNiwKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjZhMDllMjI5ZDYwYTQ2MzI3MWYzMDIwYzI5Yjg5ZWIwcC0xMjYsCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS42YTA5ZTM5M2RmZjJjZDM1MGJlMTExMWNhMjhhNzQ5YnAtMTI2LAorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuNmEwOWUyMjlkNjBhNDYzMjcxZjMwMjBjMjliODllYjBwLTEyNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjZhMDllMzkzZGZlZmY5MjEzOTY5MDIwMGY0NmVhZjY5cC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS42YTA5ZTRmZGU5ZDcxNjE5ZWExYjA5ODYwZmM0MDRjOXAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuNmEwOWUzOTNkZmYyY2QzNTBiZTExMTFjYTI4YTc0OWJwLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjZhMDllNGZkZTlkNzE2MTllYTFiMDk4NjBmYzQwNGM5cC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjZhMDllNGZkZTlkNjYxMTRmNjMyMGFiM2VmODIxNjUzcDY0LAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS42YTA5ZTRmZGU5ZDY2MTE0ZjYzMjBhYjNlZjgyMTY1M3A2NCwKKyAgICAweDEuZmZmZmZlcDYzLAorICAgIDB4MS5mZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwNTMsCisgICAgMHgxLmZmZmZmZXA1MiwKKyAgICAweDEuZmZmZmZlcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcDUzLAorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgMHgxLnA1MworICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXA1MywKKyAgICAweDEuZmZmZmZlcDUyLAorICAgIDB4MS4wMDAwMDJwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwNTMsCisgICAgMHgxLnA1MywKKyAgICAweDEuZmZmZmZlcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDUzLAorICAgIDB4MS5wNTMsCisgICAgMHgxLnA1MworICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnA1MywKKyAgICAweDEucDUzLAorICAgIDB4MS4wMDAwMDJwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwNTMsCisgICAgMHgxLjAwMDAwMnA1MywKKyAgICAweDEuZmZmZmZlcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDUzLAorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLnA1MworICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3A1MywKKyAgICAweDEuMDAwMDAycDUzLAorICAgIDB4MS4wMDAwMDJwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwLTUzLAorICAgIDB4MS5mZmZmZmVwLTU0LAorICAgIDB4MS5mZmZmZmVwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcC01MywKKyAgICAweDEuZmZmZmZlcC01NCwKKyAgICAweDEucC01MworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAtNTMsCisgICAgMHgxLmZmZmZmZXAtNTQsCisgICAgMHgxLjAwMDAwMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwLTUzLAorICAgIDB4MS5wLTUzLAorICAgIDB4MS5mZmZmZmVwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC01MywKKyAgICAweDEucC01MywKKyAgICAweDEucC01MworICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAtNTMsCisgICAgMHgxLnAtNTMsCisgICAgMHgxLjAwMDAwMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwLTUzLAorICAgIDB4MS4wMDAwMDJwLTUzLAorICAgIDB4MS5mZmZmZmVwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicC01MywKKyAgICAweDEuMDAwMDAycC01MywKKyAgICAweDEucC01MworICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AtNTMsCisgICAgMHgxLjAwMDAwMnAtNTMsCisgICAgMHgxLjAwMDAwMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuZmZmZmZlcDUyLAorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgMHgxLmZmZmZmZXAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZmZmZmZlcDUyLAorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgMHgxLnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuZmZmZmZlcDUyLAorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgMHgxLjAwMDAwMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEucDUzLAorICAgIDB4MS5wNTMsCisgICAgMHgxLmZmZmZmZXAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEucDUzLAorICAgIDB4MS5wNTMsCisgICAgMHgxLnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEucDUzLAorICAgIDB4MS5wNTMsCisgICAgMHgxLjAwMDAwMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuMDAwMDAycDUzLAorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLmZmZmZmZXAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuMDAwMDAycDUzLAorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAycDUzLAorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLjAwMDAwMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuZmZmZmZlcDUyLAorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgMHgxLmZmZmZmZXA1MiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZlcDUyLAorICAgIDB4MS5mZmZmZmVwNTIsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLnA1MywKKyAgICAweDEucDUzLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEucDUzLAorICAgIDB4MS5wNTMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLnA1MywKKyAgICAweDEucDUzLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLjAwMDAwMnA1MywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLjAwMDAwMnA1MywKKyAgICAweDEuMDAwMDAycDUzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLjAwMDAwMnA1MywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuZmZmZmZlcC01NCwKKyAgICAweDEuZmZmZmZlcC01NCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmZmZmZmZXAtNTQsCisgICAgMHgxLmZmZmZmZXAtNTQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLmZmZmZmZXAtNTQsCisgICAgMHgxLmZmZmZmZXAtNTQsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLnAtNTMsCisgICAgMHgxLnAtNTMsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS5wLTUzLAorICAgIDB4MS5wLTUzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5wLTUzLAorICAgIDB4MS5wLTUzLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS4wMDAwMDJwLTUzLAorICAgIDB4MS4wMDAwMDJwLTUzLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMDAwMDAycC01MywKKyAgICAweDEuMDAwMDAycC01MywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuMDAwMDAycC01MywKKyAgICAweDEuMDAwMDAycC01MywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAzZmZmZmZwNTIsCisgICAgMHgxLmZmZmZmZXA1MiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDAwMDAwMDAwMDAwNDBwNTIsCisgICAgMHgxLmZmZmZmZXA1MiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDFwNTIsCisgICAgMHgxLmZmZmZmZXA1MiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZwNTMsCisgICAgMHgxLnA1MywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWZmZmZmcDUzLAorICAgIDB4MS5wNTMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjBwNTMsCisgICAgMHgxLnA1MywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZwNTMsCisgICAgMHgxLjAwMDAwMnA1MywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMWZmZmZmcDUzLAorICAgIDB4MS4wMDAwMDJwNTMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMjBwNTMsCisgICAgMHgxLjAwMDAwMnA1MywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDAzZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZXAtNTQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZnAwLAorICAgIDB4MS5mZmZmZmVwLTU0LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS4wMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDFmZmZmZnAwLAorICAgIDB4MS5mZmZmZmVwLTU0LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmZmZmUwMDAwMDAwMDAwMDAwMDAwMDAwMDQwcC0xLAorICAgIDB4MS5wLTUzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZwMCwKKyAgICAweDEucC01MywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAxZmZmZmZwMCwKKyAgICAweDEucC01MywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuZmZmZmZlMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDFwLTEsCisgICAgMHgxLjAwMDAwMnAtNTMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwcDAsCisgICAgMHgxLjAwMDAwMnAtNTMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMjBwMCwKKyAgICAweDEuMDAwMDAycC01MywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuZmZmZmZlMDAwMDNmZmZmZmJmZmZmYzAwMDAwNHAyMCwKKyAgICAweDEuZmZmZmZlcDIwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEuZmZmZmZlMDAwMDQwMDAwMDNmZmZmYzNmZmZmNDQwcDIwLAorICAgIDB4MS5mZmZmZmVwMjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmZmZmZmZTAwMDA0MDAwMDEzZmZmZmUzZmZmZDYzZmZmcDIwLAorICAgIDB4MS5mZmZmZmVwMjAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjAwMDAwMDAwMDAxZmZmZmZiZmZmZmUyMDAwMDhwMjEsCisgICAgMHgxLnAyMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLjAwMDAwMDAwMDAxZmZmZmZmZmZmZmVwMjEsCisgICAgMHgxLnAyMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuMDAwMDAwMDAwMDIwMDAwMDdmZmZmZTdmZmZmMHAyMSwKKyAgICAweDEucDIxLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS4wMDAwMDIwMDAwMWZmZmZmN2ZmZmZmMjAwMDExYmZmZnAyMSwKKyAgICAweDEuMDAwMDAycDIxLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuMDAwMDAyMDAwMDFmZmZmZmJmZmZmZTgwMDAwYnAyMSwKKyAgICAweDEuMDAwMDAycDIxLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS4wMDAwMDIwMDAwMjAwMDAwM2ZmZmZkZmZmZmZjcDIxLAorICAgIDB4MS4wMDAwMDJwMjEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmZmZmZmZTAwMDAwZmZmZmZlZmZmZmZjMDAwMDA0MHAyMSwKKyAgICAweDEuZmZmZmZlcDIxLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuZmZmZmZlMDAwMDEwMDAwMDBmZmZmZmNmZmZmZjUwcDIxLAorICAgIDB4MS5mZmZmZmVwMjEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLmZmZmZmZTAwMDAxMDAwMDA1MDAwMDA0ZmZmZmRjZmZmcDIxLAorICAgIDB4MS5mZmZmZmVwMjEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjAwMDAwMDAwMDAwN2ZmZmZlZmZmZmZlODAwMDA4MHAyMiwKKyAgICAweDEucDIyLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmUwcDIyLAorICAgIDB4MS5wMjIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLjAwMDAwMDAwMDAwODAwMDAxZmZmZmZmZmZmZmVmZmZmcDIyLAorICAgIDB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLjAwMDAwMjAwMDAwN2ZmZmZlMDAwMDAyODAwMDBhZmZmcDIyLAorICAgIDB4MS4wMDAwMDJwMjIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS4wMDAwMDIwMDAwMDdmZmZmZjAwMDAwMDAwMDAwN2ZmZnAyMiwKKyAgICAweDEuMDAwMDAycDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS4wMDAwMDIwMDAwMDgwMDAwMGZmZmZmZGZmZmZmYzBwMjIsCisgICAgMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuZmZmZmZlMDAwMDAzZmZmZmZiZmZmZmZjMDAwMDA0cDIyLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5mZmZmZmUwMDAwMDQwMDAwMDNmZmZmZmZmZmZmZjdmZnAyMiwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5mZmZmZmUwMDAwMDQwMDAwMTQwMDAwMWZmZmZmZjdmZnAyMiwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS4wMDAwMDAwMDAwMDFmZmZmZmMwMDAwMDAwMDAwMDdmZnAyMywKKyAgICAweDEucDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuMDAwMDAwMDAwMDAxZmZmZmZmZmZmZmZlcDIzLAorICAgIDB4MS5wMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLjAwMDAwMDAwMDAwMjAwMDAwODAwMDAwNWZmZmZlZmZmcDIzLAorICAgIDB4MS5wMjMsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjAwMDAwMjAwMDAwMWZmZmZmODAwMDAwZmZmZmZlZmZmcDIzLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS4wMDAwMDIwMDAwMDFmZmZmZmMwMDAwMDVmZmZmZmJmZnAyMywKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS4wMDAwMDIwMDAwMDIwMDAwMDNmZmZmZmRmZmZmZmNwMjMsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuZmZmZmZlMDAwMDAwZmZmZmZlZmZmZmZmYzAwMDAwNDBwMjMsCisgICAgMHgxLmZmZmZmZXAyMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLmZmZmZmZTAwMDAwMTAwMDAwMTAwMDAwMGMwMDAwMDNmcDIzLAorICAgIDB4MS5mZmZmZmVwMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLmZmZmZmZTAwMDAwMTAwMDAwNTAwMDAwOGMwMDAwNjNmcDIzLAorICAgIDB4MS5mZmZmZmVwMjMsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjAwMDAwMDAwMDAwMDdmZmZmZjAwMDAwMDYwMDAwMDdmcDI0LAorICAgIDB4MS5wMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4wMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZlMHAyNCwKKyAgICAweDEucDI0LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4wMDAwMDAwMDAwMDA4MDAwMDIwMDAwMDFkZmZmZmVmZnAyNCwKKyAgICAweDEucDI0LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS4wMDAwMDIwMDAwMDA3ZmZmZmUwMDAwMDQ1ZmZmZjg0MHAyNCwKKyAgICAweDEuMDAwMDAycDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuMDAwMDAyMDAwMDAwN2ZmZmZmMDAwMDAxZGZmZmZjYzBwMjQsCisgICAgMHgxLjAwMDAwMnAyNCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuMDAwMDAyMDAwMDAwODAwMDAwZmZmZmZmZGZmZmZmYzBwMjQsCisgICAgMHgxLjAwMDAwMnAyNCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuZmZmZmZlMDAwMDAwM2ZmZmZmYmZmZmZmZmMwMDAwMDRwMjQsCisgICAgMHgxLmZmZmZmZXAyNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLmZmZmZmZTAwMDAwMDQwMDAwMDQwMDAwMDNjMDAwMDM0cDI0LAorICAgIDB4MS5mZmZmZmVwMjQsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLmZmZmZmZTAwMDAwMDQwMDAwMTQwMDAwMjNjMDAwMjE0cDI0LAorICAgIDB4MS5mZmZmZmVwMjQsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjAwMDAwMDAwMDAwMDFmZmZmZmMwMDAwMDFlMDAwMDA3cDI1LAorICAgIDB4MS5wMjUsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxZmZmZmZmZmZmZmZmZXAyNSwKKyAgICAweDEucDI1LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMDAwMDA4MDAwMDA3ZGZmZmZlZnAyNSwKKyAgICAweDEucDI1LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS4wMDAwMDIwMDAwMDAxZmZmZmY4MDAwMDExZGZmZmRkNHAyNSwKKyAgICAweDEuMDAwMDAycDI1LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuMDAwMDAyMDAwMDAwMWZmZmZmYzAwMDAwN2RmZmZmMGNwMjUsCisgICAgMHgxLjAwMDAwMnAyNSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuMDAwMDAyMDAwMDAwMjAwMDAwM2ZmZmZmZmRmZmZmZmNwMjUsCisgICAgMHgxLjAwMDAwMnAyNSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwLTYwLAorICAgIDB4MS5mZmZmZmVwLTYxLAorICAgIDB4MS5mZmZmZmVwLTYxCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcC02MCwKKyAgICAweDEuZmZmZmZlcC02MSwKKyAgICAweDEucC02MAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAtNjAsCisgICAgMHgxLmZmZmZmZXAtNjEsCisgICAgMHgxLjAwMDAwMnAtNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwLTYwLAorICAgIDB4MS5wLTYwLAorICAgIDB4MS5mZmZmZmVwLTYxCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC02MCwKKyAgICAweDEucC02MCwKKyAgICAweDEucC02MAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAtNjAsCisgICAgMHgxLnAtNjAsCisgICAgMHgxLjAwMDAwMnAtNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwLTYwLAorICAgIDB4MS4wMDAwMDJwLTYwLAorICAgIDB4MS5mZmZmZmVwLTYxCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicC02MCwKKyAgICAweDEuMDAwMDAycC02MCwKKyAgICAweDEucC02MAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AtNjAsCisgICAgMHgxLjAwMDAwMnAtNjAsCisgICAgMHgxLjAwMDAwMnAtNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwLTEwLAorICAgIDB4MS5mZmZmZmVwLTExLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMSwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAtMTAsCisgICAgMHgxLmZmZmZmZXAtMTEsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwLTEwLAorICAgIDB4MS5wLTEwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xMCwKKyAgICAweDEucC0xMCwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAtMTAsCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwLTEwLAorICAgIDB4MS4wMDAwMDJwLTEwLAorICAgIDB4MS5mZmZmZmVwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicC0xMCwKKyAgICAweDEuMDAwMDAycC0xMCwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwLTEsCisgICAgMHgxLmZmZmZmZXAtMiwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcC0xLAorICAgIDB4MS5mZmZmZmVwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwLTEsCisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xLAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAtMSwKKyAgICAweDEucC0xLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwLTEsCisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AtMSwKKyAgICAweDEuMDAwMDAycC0xLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwMSwKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcDEsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAxLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwMSwKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDEsCisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnAxLAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwMSwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDEsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AxLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwMTAsCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AxMCwKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXAxMCwKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLjAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS42YTA5ZTViMmVlYzljMjUwMTE3YTJlMjM3NTI4NTc1Y3AxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEuNmEwOWU3ZDFmZGEzZTYwMTYyNDMxMTA1OWRmNzE1N2JwMTAsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjZhMDllNzFjZjhiMTk0NGRiM2M4ZTQ2MmIwODg2NjAxcDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3AxMCwKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwNjAsCisgICAgMHgxLmZmZmZmZXA1OSwKKyAgICAweDEuZmZmZmZlcDU5CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjZhMDllNWIyZWVjOWMyNTAxMTdhMmUyMzc1Mjg1NzVjcDYwLAorICAgIDB4MS5mZmZmZmVwNTksCisgICAgMHgxLnA2MAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS42YTA5ZTcxY2Y4YjE5NDRkYjNjOGU0NjJiMDg4NjYwMXA2MCwKKyAgICAweDEuZmZmZmZlcDU5LAorICAgIDB4MS4wMDAwMDJwNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwNjAsCisgICAgMHgxLnA2MCwKKyAgICAweDEuZmZmZmZlcDU5CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDYwLAorICAgIDB4MS5wNjAsCisgICAgMHgxLnA2MAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS42YTA5ZTdkMWZkYTNlNjAxNjI0MzExMDU5ZGY3MTU3YnA2MCwKKyAgICAweDEucDYwLAorICAgIDB4MS4wMDAwMDJwNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwNjAsCisgICAgMHgxLjAwMDAwMnA2MCwKKyAgICAweDEuZmZmZmZlcDU5CisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjZhMDllN2QxZmRhM2U2MDE2MjQzMTEwNTlkZjcxNTdicDYwLAorICAgIDB4MS4wMDAwMDJwNjAsCisgICAgMHgxLnA2MAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS42YTA5ZTkzYzA3ODk5OGYwMmM4ZDI0Y2NlMGJjNGIxM3A2MCwKKyAgICAweDEuMDAwMDAycDYwLAorICAgIDB4MS4wMDAwMDJwNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuZmZmZmZlcDEyNiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLnAxMjcsCisgICAgMHgxLnAxMjcsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMTI3LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS4wMDAwMDJwMTI3LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDEyNywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuNzc4ZDIzZDQ0YjU1YzRlN2IxMGRiMWI3NTdmNmVlNTVwLTI3LAorICAgIDB4MS4wMGE0MzRwLTI3LAorICAgIDB4MS4xMjJkYzJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLjc3OGQyNTRhMTcxMTE4ZWZiMzIwNjQ3N2QwMjUwZWNkcC0yNywKKyAgICAweDEuMDBhNDM0cC0yNywKKyAgICAweDEuMTIyZGM0cC0yNworICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS43NzhkMjZiZmUyY2RiMmYxODZjZTdkM2IxMzAzZTQ0NXAtMjcsCisgICAgMHgxLjAwYTQzNHAtMjcsCisgICAgMHgxLjEyMmRjNnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuNzc4ZDI1MzIyZTUzYzU3NTc3OWJmODQ1M2RmYTNkMWNwLTI3LAorICAgIDB4MS4wMGE0MzZwLTI3LAorICAgIDB4MS4xMjJkYzJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLjc3OGQyNmE3ZmEwZGJkM2QzMDhkODVhMmRlNTMyOWI1cC0yNywKKyAgICAweDEuMDBhNDM2cC0yNywKKyAgICAweDEuMTIyZGM0cC0yNworICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS43NzhkMjgxZGM1YzhmYWZlYmNhMDA1MWQ4MDE0MjNmMnAtMjcsCisgICAgMHgxLjAwYTQzNnAtMjcsCisgICAgMHgxLjEyMmRjNnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuNzc4ZDI2OTAxMTUzM2EwZmE1NzNlYzdhZjA4NmJjMzJwLTI3LAorICAgIDB4MS4wMGE0MzhwLTI3LAorICAgIDB4MS4xMjJkYzJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLjc3OGQyODA1ZGQwYmQ1OTcxNjVhZWNjMjM3OGJhYzFjcC0yNywKKyAgICAweDEuMDBhNDM4cC0yNywKKyAgICAweDEuMTIyZGM0cC0yNworICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS43NzhkMjk3YmE4YzViNzE4NWJlODZiMzdlZDcxYjdlN3AtMjcsCisgICAgMHgxLjAwYTQzOHAtMjcsCisgICAgMHgxLjEyMmRjNnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuNzQzMzRlMTA2Y2JlZDlhZTg0YmM4Yzc2ZGQ1YzU3MTNwMCwKKyAgICAweDEuMGIyNXAwLAorICAgIC0weDEuMDMyYTc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuNzQzMzRjYWJlYTViOGY3NGQ1ZDE0Yzk0ZTBjNzU5ZTFwMCwKKyAgICAweDEuMGIyNXAwLAorICAgIC0weDEuMDMyYTc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuNzQzMzRiNDc2N2Y5YjAwZjYyNjZmNzk4Y2UwM2ZlNTZwMCwKKyAgICAweDEuMGIyNXAwLAorICAgIC0weDEuMDMyYTcycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuNzQzMzRmN2ZlOGRjOTE1ZjU2OTU0Y2I3MzBlYzRlYWNwMCwKKyAgICAweDEuMGIyNTAycDAsCisgICAgLTB4MS4wMzJhNzZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS43NDMzNGUxYjY2N2FhNzIzYmVmOGJkOTk5N2UzMThkYnAwLAorICAgIDB4MS4wYjI1MDJwMCwKKyAgICAtMHgxLjAzMmE3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjc0MzM0Y2I2ZTQxYTI3YmM2NDE5MmM3NjIzYzkwOTVlcDAsCisgICAgMHgxLjBiMjUwMnAwLAorICAgIC0weDEuMDMyYTcycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuNzQzMzUwZWY2NGZiOWU4YWY2NTNjMmMzMzA4MjUwNGZwMCwKKyAgICAweDEuMGIyNTA0cDAsCisgICAgLTB4MS4wMzJhNzZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS43NDMzNGY4YWUyOWIxNDRkNzQ5NWU4ZjNkMzU2YmU3ZnAwLAorICAgIDB4MS4wYjI1MDRwMCwKKyAgICAtMHgxLjAzMmE3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjc0MzM0ZTI2NjAzYmY0ZTQzMGQxMjAyOWJlN2U5ZTUwcDAsCisgICAgMHgxLjBiMjUwNHAwLAorICAgIC0weDEuMDMyYTcycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuYjZkNjJmYzZmN2E4MWVjOTQ4YTExNDFlZmM2MDUyYTdwNywKKyAgICAweDEuMzg0NTYwcDcsCisgICAgMHgxLjM0NTM0MnA3CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLmI2ZDYzMTJlYjI2YzViYzQ4NmI5MmY4Y2Y1NTY5NGYwcDcsCisgICAgMHgxLjM4NDU2MHA3LAorICAgIDB4MS4zNDUzNDRwNworICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS5iNmQ2MzI5NjZkMzFjNzNhNDA0MWJhZGMxODg4MjM3ZHA3LAorICAgIDB4MS4zODQ1NjBwNywKKyAgICAweDEuMzQ1MzQ2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuYjZkNjMxMzM0Y2YyYzBmZjA1ZDBkZTI2ZmY0MDE0NzhwNywKKyAgICAweDEuMzg0NTYycDcsCisgICAgMHgxLjM0NTM0MnA3CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmI2ZDYzMjliMDdiNWQzNTIzNzY3NmQwZWY0YjlmNDI2cDcsCisgICAgMHgxLjM4NDU2MnA3LAorICAgIDB4MS4zNDUzNDRwNworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS5iNmQ2MzQwMmMyN2ExNDFmZTU1Y2VmMWUzNDY1YWQ2ZHA3LAorICAgIDB4MS4zODQ1NjJwNywKKyAgICAweDEuMzQ1MzQ2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuYjZkNjMyOWZhMjNlOGExNmI5YmI5MzI5ODIzNTA0OGNwNywKKyAgICAweDEuMzg0NTY0cDcsCisgICAgMHgxLjM0NTM0MnA3CisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLmI2ZDYzNDA3NWQwMDcxYzFkZmNlYzM0MTg5ODllMDVlcDcsCisgICAgMHgxLjM4NDU2NHA3LAorICAgIDB4MS4zNDUzNDRwNworICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5iNmQ2MzU2ZjE3YzM4N2U3ODMyZjY5YzE2YzgxZTBjY3A3LAorICAgIDB4MS4zODQ1NjRwNywKKyAgICAweDEuMzQ1MzQ2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAweDEuYjZkNjM1NmYxN2MzODdlNzgzMmY2OWMxNmM4MWUwY2NwLTYsCisgICAgLTB4MS4zODQ1NjRwLTYsCisgICAgLTB4MS4zNDUzNDZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuYjZkNjM0MDc1ZDAwNzFjMWRmY2VjMzQxODk4OWUwNWVwLTYsCisgICAgLTB4MS4zODQ1NjRwLTYsCisgICAgLTB4MS4zNDUzNDRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuYjZkNjMyOWZhMjNlOGExNmI5YmI5MzI5ODIzNTA0OGNwLTYsCisgICAgLTB4MS4zODQ1NjRwLTYsCisgICAgLTB4MS4zNDUzNDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuYjZkNjM0MDJjMjdhMTQxZmU1NWNlZjFlMzQ2NWFkNmRwLTYsCisgICAgLTB4MS4zODQ1NjJwLTYsCisgICAgLTB4MS4zNDUzNDZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAweDEuYjZkNjMyOWIwN2I1ZDM1MjM3Njc2ZDBlZjRiOWY0MjZwLTYsCisgICAgLTB4MS4zODQ1NjJwLTYsCisgICAgLTB4MS4zNDUzNDRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuYjZkNjMxMzM0Y2YyYzBmZjA1ZDBkZTI2ZmY0MDE0NzhwLTYsCisgICAgLTB4MS4zODQ1NjJwLTYsCisgICAgLTB4MS4zNDUzNDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAweDEuYjZkNjMyOTY2ZDMxYzczYTQwNDFiYWRjMTg4ODIzN2RwLTYsCisgICAgLTB4MS4zODQ1NjBwLTYsCisgICAgLTB4MS4zNDUzNDZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuYjZkNjMxMmViMjZjNWJjNDg2YjkyZjhjZjU1Njk0ZjBwLTYsCisgICAgLTB4MS4zODQ1NjBwLTYsCisgICAgLTB4MS4zNDUzNDRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuYjZkNjJmYzZmN2E4MWVjOTQ4YTExNDFlZmM2MDUyYTdwLTYsCisgICAgLTB4MS4zODQ1NjBwLTYsCisgICAgLTB4MS4zNDUzNDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuOWExMzQyNTBkZDUwNTgyYjM2ODBkODIzNzVjOTU0ODZwLTE2LAorICAgIC0weDEuMzg0NTY0cC0xNiwKKyAgICAtMHgxLjA5Y2MzZXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuOWExMzQxMDUwMDk1NTg3Y2UwZmYyZjY5MGFiZTMxMzBwLTE2LAorICAgIC0weDEuMzg0NTY0cC0xNiwKKyAgICAtMHgxLjA5Y2MzY3AtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuOWExMzNmYjkyM2RiY2I3ZjlkNjhkYjM2MzYxZjdhNGNwLTE2LAorICAgIC0weDEuMzg0NTY0cC0xNiwKKyAgICAtMHgxLjA5Y2MzYXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAweDEuOWExMzQwY2FmYTYxYTBlNjI3Nzg5YjVlMjA0NjNkMWZwLTE2LAorICAgIC0weDEuMzg0NTYycC0xNiwKKyAgICAtMHgxLjA5Y2MzZXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuOWExMzNmN2YxZGE1NjViMWE5MzhiNWJjMmEwNWFkMmJwLTE2LAorICAgIC0weDEuMzg0NTYycC0xNiwKKyAgICAtMHgxLjA5Y2MzY3AtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuOWExMzNlMzM0MGVhOWQyZTNjNDVlNTQ2ZjJiMzAxODhwLTE2LAorICAgIC0weDEuMzg0NTYycC0xNiwKKyAgICAtMHgxLjA5Y2MzYXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuOWExMzNmNDUxNzczZjYzMjJkY2RmODM3M2U5OWVmNzdwLTE2LAorICAgIC0weDEuMzg0NTYwcC0xNiwKKyAgICAtMHgxLjA5Y2MzZXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAweDEuOWExMzNkZjkzYWI2N2Y3Nzg1NTEzMjk3NWE2ZDNhYTJwLTE2LAorICAgIC0weDEuMzg0NTYwcC0xNiwKKyAgICAtMHgxLjA5Y2MzY3AtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuOWExMzNjYWQ1ZGZhN2I2ZGVkODM0MmMyZWQyMzUwN2VwLTE2LAorICAgIC0weDEuMzg0NTYwcC0xNiwKKyAgICAtMHgxLjA5Y2MzYXAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAweDEuNmEwOWU5M2MwNzg5OThmMDJjOGQyNGNjZTBiYzRiMTNwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuNmEwOWU3ZDFmZGEzZTYwMTYyNDMxMTA1OWRmNzE1N2JwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuNmEwOWU3ZDFmZGEzZTYwMTYyNDMxMTA1OWRmNzE1N2JwLTYsCisgICAgLTB4MS5wLTYsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTYsCisgICAgLTB4MS5wLTYsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwLTYsCisgICAgLTB4MS5wLTYsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuNmEwOWU3MWNmOGIxOTQ0ZGIzYzhlNDYyYjA4ODY2MDFwLTYsCisgICAgLTB4MS5mZmZmZmVwLTcsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuNmEwOWU1YjJlZWM5YzI1MDExN2EyZTIzNzUyODU3NWNwLTYsCisgICAgLTB4MS5mZmZmZmVwLTcsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuNmEwOWU0ZmRlOWQ2NjExNGY2MzIwYWIzZWY4MjE2NTNwLTYsCisgICAgLTB4MS5mZmZmZmVwLTcsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMHgxLnAtMTQ5LAorICAgIDAuMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEucC0xMjYsCisgICAgMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzQKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgMC4wLAorICAgIC0wLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEucC0xMjYsCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgMHgxLjAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZXAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuNDBwMiwKKyAgICAweDEuODBwMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuNDBwMiwKKyAgICAweDEuODBwMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmEwcDMsCisgICAgMHgxLjQwcDIsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuYTBwMywKKyAgICAweDEuNDBwMiwKKyAgICAtMHgxLjgwcDMKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9pbG9nYl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvaWxvZ2JfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwYTNhN2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvaWxvZ2JfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsODkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfaW50XzFfdDxkb3VibGU+IGdfaWxvZ2JfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgKGludCkweDEuOTRwNiwKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIChpbnQpMHgxLjkwcDcsCisgICAgMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAoaW50KTB4MS45MHA3LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgKGludCkweDEuOTBwNywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIChpbnQpMHgxLjkwcDcsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAoaW50KTB4MS45MHA3LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgKGludCkweDEuOTBwNywKKyAgICAweDEuODAwMDAwMDAwMDAwMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIChpbnQpMHgxLjkwcDcsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAoaW50KTB4MS45MHA3LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgKGludCkweDEuOTBwNywKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIChpbnQpMHgxLjkwcDcsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAoaW50KTB4MS45MnA3LAorICAgIDB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgKGludCkweDEuZjRwOSwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAoaW50KTB4MS5mNHA5LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIChpbnQpMHgxLmY0cDksCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgKGludCkweDEuZjRwOSwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAoaW50KTB4MS5mNHA5LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIChpbnQpMHgxLmY0cDksCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgKGludCkweDEuZjRwOSwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAoaW50KTB4MS5mNHA5LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIChpbnQpMHgxLmY0cDksCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgKGludCkweDEuZjRwOSwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgKGludCkweDEuOTRwNiwKKyAgICAtMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuZTY2NjY2NjY2NjY2NnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIChpbnQpMHgxLjkwcDYsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgKGludCkweDEuOTBwNiwKKyAgICAtMHgxLmIzMzMzMzMzMzMzMzJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuOTk5OTk5OTk5OTk5OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIChpbnQpMHgxLjkwcDYsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgKGludCkweDEuOTBwNiwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NjRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuNGNjY2NjY2NjY2NjYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIChpbnQpMHgxLjkwcDYsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgKGludCkweDEuOTBwNiwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OTZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIChpbnQpMHgxLjkycDcsCisgICAgLTB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgKGludCkweDEuOTBwNywKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAoaW50KTB4MS45MHA3LAorICAgIC0weDEuY2NjY2NjY2NjY2NjY3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIChpbnQpMHgxLjkwcDcsCisgICAgLTB4MS5iMzMzMzMzMzMzMzMycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgKGludCkweDEuOTBwNywKKyAgICAtMHgxLjk5OTk5OTk5OTk5OThwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAoaW50KTB4MS45MHA3LAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIChpbnQpMHgxLjkwcDcsCisgICAgLTB4MS42NjY2NjY2NjY2NjY0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgKGludCkweDEuOTBwNywKKyAgICAtMHgxLjRjY2NjY2NjY2NjY2FwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAoaW50KTB4MS45MHA3LAorICAgIC0weDEuMzMzMzMzMzMzMzMzMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIChpbnQpMHgxLjkwcDcsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgKGludCkweDEuOTBwNywKKyAgICAtMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAoaW50KTB4MS5mNDgwcDksCisgICAgLTB4MS4wcDEwMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS5iMzMzMzMzMzMzMzMycDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS45OTk5OTk5OTk5OTk4cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS43ZmZmZmZmZmZmZmZlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS42NjY2NjY2NjY2NjY0cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS40Y2NjY2NjY2NjY2NhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS4zMzMzMzMzMzMzMzMwcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS4xOTk5OTk5OTk5OTk2cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIChpbnQpMHgxLmY0cDksCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHA1MworICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnA1MworICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHA1MworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIChpbnQpMHgxLmE4cDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAoaW50KTB4MS5iMHA1LAorICAgIDB4MS4wcDU0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgKGludCktMHgxLjAwODBwMTAsCisgICAgMHgxLjBwLTEwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAoaW50KS0weDEucDEwLAorICAgIDB4MS5kMzMzMzMzMzMzMzM0cC0xMDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgKGludCktMHgxLmZmODBwOSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNHAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIChpbnQpLTB4MS5mZnA5LAorICAgIDB4MS4zZTY2NjY2NjY2NjY3cC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgKGludCktMHgxLmZmcDksCisgICAgMHgxLmEzMzMzMzMzMzMzMzRwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAoaW50KS0weDEuZmU4MHA5LAorICAgIDB4MS4wNDBwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAoaW50KS0weDEuZmU4MHA5LAorICAgIDB4MS4zNjY2NjY2NjY2NjY2cC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgKGludCktMHgxLmZlODBwOSwKKyAgICAweDEuNjhjY2NjY2NjY2NjY3AtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIChpbnQpLTB4MS5mZTgwcDksCisgICAgMHgxLjliMzMzMzMzMzMzMzJwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAoaW50KS0weDEuZmU4MHA5LAorICAgIDB4MS5jZDk5OTk5OTk5OTk4cC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgKGludCktMHgxLmZlODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIChpbnQpMHgxLjkwcDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAoaW50KTB4MS45OHA1LAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgKGludCkweDEuOThwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIDB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgKGludCkweDEuYTBwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIChpbnQpMHgxLmEwcDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAoaW50KTB4MS5hOHA1LAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgKGludCkweDEuYThwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MworICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIChpbnQpMHgxLjk4cDUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgKGludCkweDEuOThwNSwKKyAgICAtMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAoaW50KTB4MS45MHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIChpbnQpMHgxLmEwcDUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgKGludCkweDEuYTBwNSwKKyAgICAtMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAoaW50KTB4MS45OHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIChpbnQpMHgxLmE4cDUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgKGludCkweDEuYThwNSwKKyAgICAtMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAoaW50KTB4MS5hMHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIChpbnQpMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgKGludCkweDEuZmY4MHA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgKGludCktMHgxLmMwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAoaW50KS0weDEuODBwMiwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIChpbnQpLTB4MS44MHAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgKGludCktMHgxLjgwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAoaW50KS0weDEuNDBwMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIChpbnQpLTB4MS40MHAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgKGludCktMHgxLjQwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAoaW50KS0weDEucDIsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAoaW50KS0weDEucDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAoaW50KS0weDEucDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAoaW50KS0weDEuODBwMSwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIChpbnQpLTB4MS44MHAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgKGludCktMHgxLjgwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAoaW50KS0weDEuMGM4MHAxMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAoaW50KS0weDEuZmZmZmZmZmNwMzAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIChpbnQpLTB4MS4wYzgwcDEwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgKGludCkweDEucDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgKGludCkweDEucDEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIChpbnQpMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgKGludCkweDEuODBwMSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgKGludCkweDEuODBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgKGludCkweDEuODBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgKGludCkweDEucDIsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIChpbnQpMHgxLnAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAoaW50KTB4MS5wMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgKGludCkweDEuNDBwMiwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgKGludCkweDEuNDBwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgKGludCkweDEuNDBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgKGludCkweDEuODBwMiwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgKGludCkweDEuODBwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgKGludCkweDEuODBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgKGludCkweDEuYzBwMiwKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgKGludCkweDEuYzBwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgKGludCkweDEuZmZmZmZmZmNwMzAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAoaW50KTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAoaW50KS0weDEuZmZmZmZmZmNwMzAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgKGludCktMHgxLmZmZmZmZmZjcDMwLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAoaW50KTB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIChpbnQpMHgxLmZmODBwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIChpbnQpMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgKGludCkweDEuZmY4MHA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgKGludCkweDEucDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgKGludCkwLjAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIChpbnQpMC4wLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgKGludCkwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIChpbnQpMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAoaW50KS0weDEuZmZwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIChpbnQpLTB4MS5mZnA5LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIChpbnQpLTB4MS5mZnA5LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgKGludCktMHgxLmZmcDksCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgKGludCktMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIChpbnQpLTB4MS5mZjgwcDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgKGludCktMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIChpbnQpLTB4MS5mZjgwcDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgKGludCktMHgxLjBjNDBwMTAsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAoaW50KS0weDEuMGM0MHAxMCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAoaW50KS0weDEuMGM4MHAxMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIChpbnQpLTB4MS4wYzgwcDEwLAorICAgIC0weDEuMHAtMTA3NAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2lsb2diZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvaWxvZ2JmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjA4ZmEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2lsb2diZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw3MTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV9pbnRfMV90PGZsb2F0PiBnX2lsb2diZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIChpbnQpMHgxLjkwcDYsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgKGludCkweDEuOTBwNiwKKyAgICAweDEuMTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIChpbnQpMHgxLjkwcDYsCisgICAgMHgxLjRjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgKGludCkweDEuOTBwNiwKKyAgICAweDEuNjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIChpbnQpMHgxLjkwcDYsCisgICAgMHgxLjk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgKGludCkweDEuOTBwNiwKKyAgICAweDEuYjMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAoaW50KTB4MS45MHA2LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIChpbnQpMHgxLjkwcDYsCisgICAgMHgxLmU2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIChpbnQpMHgxLjk0cDYsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIChpbnQpMHgxLjk0cDYsCisgICAgLTB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuZTY2NjY2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgKGludCkweDEuOTBwNiwKKyAgICAtMHgxLmNjY2NjY3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIChpbnQpMHgxLjkwcDYsCisgICAgLTB4MS5iMzMzMzJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuOTk5OTk4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgKGludCkweDEuOTBwNiwKKyAgICAtMHgxLjdmZmZmZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIChpbnQpMHgxLjkwcDYsCisgICAgLTB4MS42NjY2NjRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEuNGNjY2NhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgKGludCkweDEuOTBwNiwKKyAgICAtMHgxLjMzMzMzMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIChpbnQpMHgxLjkwcDYsCisgICAgLTB4MS4xOTk5OTZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAoaW50KTB4MS45MHA2LAorICAgIC0weDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgKGludCkweDEuNTBwNCwKKyAgICAweDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAoaW50KTB4MS41MHA0LAorICAgIDB4MS4xOTk5OWFwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIChpbnQpMHgxLjUwcDQsCisgICAgMHgxLjMzMzMzNHAyMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgKGludCkweDEuNTBwNCwKKyAgICAweDEuNGNjY2NlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAoaW50KTB4MS41MHA0LAorICAgIDB4MS42NjY2NjhwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIChpbnQpMHgxLjUwcDQsCisgICAgMHgxLjgwMDAwMnAyMQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgKGludCkweDEuNTBwNCwKKyAgICAweDEuOTk5OTljcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAoaW50KTB4MS41MHA0LAorICAgIDB4MS5iMzMzMzZwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIChpbnQpMHgxLjUwcDQsCisgICAgMHgxLmNjY2NkMHAyMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgKGludCkweDEuNTBwNCwKKyAgICAweDEuZTY2NjZhcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuMTk5OTlhcDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS4zMzMzMzRwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLjRjY2NjZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuNjY2NjY4cDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS44MDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLjk5OTk5Y3AyMgorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuYjMzMzM2cDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS5jY2NjZDBwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLmU2NjY2YXAyMgorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLjE5OTk5YXAyMworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuMzMzMzM0cDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS40Y2NjY2VwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLjY2NjY2OHAyMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuODAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS45OTk5OWNwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLmIzMzMzNnAyMworICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuY2NjY2QwcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS5lNjY2NmFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS4xOTk5OWFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLjMzMzMzNHAyNAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuNGNjY2NlcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS42NjY2NjhwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLjgwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuOTk5OTljcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS5iMzMzMzZwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLmNjY2NkMHAyNAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgKGludCkweDEuODBwNCwKKyAgICAweDEuZTY2NjZhcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAoaW50KTB4MS45MHA0LAorICAgIDB4MS5wMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIChpbnQpLTB4MS4wNHA3LAorICAgIDB4MS5wLTEzMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgKGludCktMHgxLnA3LAorICAgIDB4MS5kMzMzMzBwLTEyOAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgKGludCktMHgxLmZjcDYsCisgICAgMHgxLmIzMzMzMHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAoaW50KS0weDEuZjhwNiwKKyAgICAweDEuM2U2NjY0cC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIChpbnQpLTB4MS5mOHA2LAorICAgIDB4MS5hMzMzMzBwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgKGludCktMHgxLmY0cDYsCisgICAgMHgxLjAzZmZmZXAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAoaW50KS0weDEuZjRwNiwKKyAgICAweDEuMzY2NjY0cC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIChpbnQpLTB4MS5mNHA2LAorICAgIDB4MS42OGNjY2FwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgKGludCktMHgxLmY0cDYsCisgICAgMHgxLjliMzMzMHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAoaW50KS0weDEuZjRwNiwKKyAgICAweDEuY2Q5OTk2cC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIChpbnQpLTB4MS5mNHA2LAorICAgIDB4MS5mZmZmZmNwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgKGludCkweDEuNTBwNCwKKyAgICAweDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAoaW50KTB4MS42MHA0LAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIChpbnQpMHgxLjYwcDQsCisgICAgMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgKGludCkweDEuNjBwNCwKKyAgICAweDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAoaW50KTB4MS43MHA0LAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIChpbnQpMHgxLjcwcDQsCisgICAgMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgKGludCkweDEuNzBwNCwKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAoaW50KTB4MS44MHA0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIChpbnQpMHgxLjgwcDQsCisgICAgMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgKGludCkweDEuNjBwNCwKKyAgICAtMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgKGludCkweDEuNjBwNCwKKyAgICAtMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgKGludCkweDEuNTBwNCwKKyAgICAtMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgKGludCkweDEuNzBwNCwKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgKGludCkweDEuNzBwNCwKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgKGludCkweDEuNjBwNCwKKyAgICAtMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgKGludCkweDEuODBwNCwKKyAgICAtMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgKGludCkweDEuODBwNCwKKyAgICAtMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgKGludCkweDEuNzBwNCwKKyAgICAtMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgKGludCkweDEuZmNwNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgKGludCkweDEuZmNwNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIChpbnQpLTB4MS5jMHAyLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIChpbnQpLTB4MS44MHAyLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIChpbnQpLTB4MS44MHAyLAorICAgIDB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAoaW50KS0weDEuODBwMiwKKyAgICAweDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgKGludCktMHgxLjQwcDIsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIChpbnQpLTB4MS40MHAyLAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAoaW50KS0weDEuNDBwMiwKKyAgICAweDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgKGludCktMHgxLnAyLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAoaW50KS0weDEucDIsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIChpbnQpLTB4MS5wMiwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgKGludCktMHgxLjgwcDEsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIChpbnQpLTB4MS44MHAxLAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAoaW50KS0weDEuODBwMSwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgKGludCktMHgxLnAxLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIChpbnQpLTB4MS5wMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIChpbnQpLTB4MS4yYXA3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAoaW50KS0weDEuZmZmZmZmZmNwMzAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgKGludCktMHgxLjJhcDcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAoaW50KTAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAoaW50KTB4MS44MHAxLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIChpbnQpMHgxLjgwcDEsCisgICAgMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgKGludCkweDEuODBwMSwKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAoaW50KTB4MS5wMiwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAoaW50KTB4MS5wMiwKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAoaW50KTB4MS5wMiwKKyAgICAweDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAoaW50KTB4MS40MHAyLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIChpbnQpMHgxLjQwcDIsCisgICAgMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgKGludCkweDEuNDBwMiwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAoaW50KTB4MS44MHAyLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIChpbnQpMHgxLjgwcDIsCisgICAgMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgKGludCkweDEuODBwMiwKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAoaW50KTB4MS5jMHAyLAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIChpbnQpMHgxLmMwcDIsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgKGludCkweDEuZmZmZmZmZmNwMzAsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgKGludCkweDEuZmZmZmZmZmNwMzAsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIChpbnQpLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgKGludCktMHgxLmZmZmZmZmZjcDMwLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgKGludCkweDEuZmNwNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIChpbnQpMHgxLmZjcDYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgKGludCkweDEuZmNwNiwKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIChpbnQpMHgxLmZjcDYsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIChpbnQpMC4wLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIChpbnQpMC4wLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgKGludCkwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgKGludCkwLjAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAoaW50KS0weDEuZjhwNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAoaW50KS0weDEuZjhwNiwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgKGludCktMHgxLmY4cDYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgKGludCktMHgxLmY4cDYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIChpbnQpLTB4MS5mY3A2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIChpbnQpLTB4MS5mY3A2LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAoaW50KS0weDEuZmNwNiwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAoaW50KS0weDEuZmNwNiwKKyAgICAtMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgKGludCktMHgxLjI4cDcsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgKGludCktMHgxLjI4cDcsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIChpbnQpLTB4MS4yYXA3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIChpbnQpLTB4MS4yYXA3LAorICAgIC0weDEucC0xNDkKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9sZGV4cF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbGRleHBfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNGFkMWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbGRleHBfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDM0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGRvdWJsZSwgZG91YmxlLCBpbnQ+IGdfbGRleHBfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTYwcC0xMDI0LAorICAgIC0weDEuNTU1NTU1NTU1NTU1NnAtMiwKKyAgICAoaW50KS0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuNmRiNmRiNmRiNmRiNzBwLTEwMjMsCisgICAgLTB4MS42ZGI2ZGI2ZGI2ZGI3cC0xLAorICAgIChpbnQpLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS44ZTM4ZTM4ZTM4ZTM5MHAtMTAyMywKKyAgICAtMHgxLjhlMzhlMzhlMzhlMzlwLTEsCisgICAgKGludCktMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpLTQ3CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5wLTEwNjQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjI5ZTQxMjllNDEyOWUwcC0xMDI0LAorICAgIDB4MS4yOWU0MTI5ZTQxMjllcC03LAorICAgIChpbnQpLTEwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIEhVR0VfVkFMLAorICAgIDB4MS44ZTE0N2FlMTQ3YWUxcDAsCisgICAgKGludCkyMTQ3NDgzNjQ3CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAwLjAsCisgICAgMHgxLmRkZGRkZGRkZGRkZGRwLTIsCisgICAgKGludCktMTA3MworICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLmUwcC00OCwKKyAgICAweDEuZXAtMTA3MSwKKyAgICAoaW50KTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDAuMCwKKyAgICAweDEuZjdkZjdkZjdkZjdkZnAtMiwKKyAgICAoaW50KS0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZjBwLTIsCisgICAgKGludCktMTA3MworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDMzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwNzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCktNDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkyMTQ3NDgzNjQ3CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpMjE0NzQ4MzY0NworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5wLTEwLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLnAtOSwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMHgxLnAtOCwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLnAtNywKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAtMHgxLnAtNiwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLnAtNCwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLnAtMywKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEucDIsCisgICAgLTB4MS4wcDAsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLnAzLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS5wNCwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIC0weDEucDUsCisgICAgLTB4MS4wcDAsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLnA2LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS5wNywKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEucDgsCisgICAgLTB4MS4wcDAsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLnA5LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS4wcDAsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtMTEsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0xMCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtOSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtOCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtNywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtNiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtNSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtNCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtMywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtMSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDAsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAxLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwMiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDMsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHA0LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwNSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDYsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHA3LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwOCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDksCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTExLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMTAsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTksCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTgsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTcsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTYsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTUsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTQsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTMsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTIsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTEsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAwLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwMSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDIsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAzLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwNCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDUsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHA2LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwNywKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDgsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHA5LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC0xMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTEwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC05LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC04LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC03LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC02LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC01LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC00LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC0zLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC0yLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC0xLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDEsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDQsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwNSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHA2LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDcsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwOCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHA5LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtMTEsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtMTAsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC05LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtOCwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTcsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC02LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtNSwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTQsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC0zLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtMiwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTEsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwMCwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAxLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDIsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwMywKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHA0LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDUsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwNiwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHA3LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDgsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwOSwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTExLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTEwLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtOSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTgsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC03LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtNiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTUsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC00LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtMywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTIsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC0xLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDAsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwMSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAyLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDMsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwNCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA1LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDYsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwNywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA4LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDksCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC0xMiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC0xMSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTEwLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtOSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTgsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC03LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtNiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTUsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC00LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTIsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTEsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwMCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAxLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcDIsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwMywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA0LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcDUsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwNiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA3LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcDgsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC0xMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC0xMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTEwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtOSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTgsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC03LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTUsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC00LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAxLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcDIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcDUsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA3LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcDgsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMTIsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTExLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTEwLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTksCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtOCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC03LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTYsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtNSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC00LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTMsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDAsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDIsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDMsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDQsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDUsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDYsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDcsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDgsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC0xMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC0xMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTExLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMTAsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC05LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtOCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTcsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC02LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtNSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC0zLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC0yLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC0xLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDAsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDMsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwNCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHA1LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDYsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwNywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTE0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTEzLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtMTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTEwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtOSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTgsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC03LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTUsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC00LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0zLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0yLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcDAsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcDMsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwNCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHA1LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcDYsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuMjBwLTYyLAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS4yMHAtNjEsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuMjBwLTYwLAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjIwcC01OSwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS4yMHAtNTgsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMjBwLTU3LAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjIwcC01NiwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4yMHAtNTUsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuMjBwLTU0LAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjIwcC01MywKKyAgICAweDEuMnAtNTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS4yMHAtNTIsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS4yMHAtNTEsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4yMHAtNTAsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS4yMHAtNDksCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS4yMHAtNDgsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS4yMHAtNDcsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS4yMHAtNDYsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS4yMHAtNDUsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS4yMHAtNDQsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS4yMHAtNDMsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS4yMHAtNDIsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTE0LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xMCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC05LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtNywKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC02LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0yLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwMCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwNiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0xMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMTIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMTAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtOSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC04LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtNiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC01LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0xLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS43NDVkMTc0NWQxNzRmMHAwLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAxLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAyLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAzLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHA0LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS43NDVkMTc0NWQxNzRmMHA1LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS43NDVkMTc0NWQxNzRmMHA2LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHA3LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTEyLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0xMSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0xMCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC05LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTgsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtNywKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC02LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTUsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtNCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0zLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTIsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0xLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAwLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAxLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAyLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAzLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA0LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA1LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA2LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA3LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA4LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTEyLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0xMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0xMCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC05LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtNywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC02LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0zLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0xLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAwLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAxLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAyLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAzLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS43NDVkMTc0NWQxNzRhMHA0LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS43NDVkMTc0NWQxNzRhMHA1LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS43NDVkMTc0NWQxNzRhMHA2LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIDB4MS43NDVkMTc0NWQxNzRhMHA3LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS43NDVkMTc0NWQxNzRhMHA4LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTEyLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0xMSwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0xMCwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC05LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTgsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtNywKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC02LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTUsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtNCwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0zLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0xLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAwLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAxLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAyLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAzLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA0LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA1LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA2LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA3LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA4LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTExLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC0xMCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC05LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTgsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtNywKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC02LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTUsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtNCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC0zLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTIsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtMSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwMCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwMSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwMiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwMywKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwNCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwNSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwNiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwNywKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwOCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwOSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtMTEsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC0xMCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtOSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtOCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtNywKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtNiwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtNSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtNCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtMywKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtMiwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtMSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDAsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAxLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS40NWQxNzQ1ZDE3NDZwMiwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDMsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnA0LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS40NWQxNzQ1ZDE3NDZwNSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDYsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnA3LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS40NWQxNzQ1ZDE3NDZwOCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDksCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTEwLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTksCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtOCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC03LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC00LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC0xLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAwLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAxLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAyLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAzLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA0LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA1LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA2LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA3LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA4LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA5LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTExLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC0xMCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC05LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTgsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtNywKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC02LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTUsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtNCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC0zLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTIsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtMSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwMCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwMSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwMiwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwMywKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwNCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwNSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwNiwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwNywKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwOCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwOSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0xMSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtMTAsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtOSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC04LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTcsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtNiwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC01LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTQsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtMywKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0yLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTEsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDAsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDEsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDMsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDQsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDUsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDYsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDcsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDgsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDksCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS5wLTEwLAorICAgIDB4MS4wcDAsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAweDEucC05LAorICAgIDB4MS4wcDAsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5wLTgsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLnAtNywKKyAgICAweDEuMHAwLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEucC02LAorICAgIDB4MS4wcDAsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS5wLTUsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLnAtNCwKKyAgICAweDEuMHAwLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEucC0zLAorICAgIDB4MS4wcDAsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5wLTIsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLnAtMSwKKyAgICAweDEuMHAwLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEucDEsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAweDEucDIsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEucDMsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEucDQsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEucDUsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAweDEucDYsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAweDEucDcsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAweDEucDgsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEucDksCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAweDEucDEwLAorICAgIDB4MS4wcDAsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCktMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCktMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS05OTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNTE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAweDEucC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEucC01MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAweDEucC03NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAweDEucC03NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTk5OQorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAweDEucC0xMDcyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS5wLTEwNzEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgMHgxLnAtMTA3MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEucC0xMDY5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDB4MS5wLTEwNjgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLnAtMTA2NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAweDEucC0xMDY2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIDB4MS5wLTEwNjUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMHgxLnAtMTA2NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMHgxLnAtMTAyNSwKKyAgICAweDEuMHAtMiwKKyAgICAoaW50KS0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgMHgxLnAtMTAyNCwKKyAgICAweDEuMHAtMiwKKyAgICAoaW50KS0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLnAtMTAyNCwKKyAgICAweDEuMHAtMSwKKyAgICAoaW50KS0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMSwKKyAgICAoaW50KS0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgMHgxLjgwcC0xMDI0LAorICAgIDB4MS44cC0xLAorICAgIChpbnQpLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAweDEuODBwLTEwMjMsCisgICAgMHgxLjhwLTEsCisgICAgKGludCktMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDAuMCwKKyAgICAweDEuMHAtMiwKKyAgICAoaW50KS0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgMC4wLAorICAgIDB4MS4wcC0yLAorICAgIChpbnQpLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAwLjAsCisgICAgMHgxLjBwLTEsCisgICAgKGludCktMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEsCisgICAgKGludCktMTA3MworICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDAuMCwKKyAgICAweDEuOHAtMSwKKyAgICAoaW50KS0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgMHgxLjgwcC0xMDc0LAorICAgIDB4MS44cC0xLAorICAgIChpbnQpLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEucDEwMjMsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAweDEucDEwMjIsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDgKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLnAtMTA3MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAweDEucC0xMDcxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDU1MgorICAgIDB4MS5wLTEwNzAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLnAtMTA2OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTQKKyAgICAweDEucC0xMDY4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIDB4MS5wLTEwNjcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLnAtMTA2NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEucC0xMDY1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS5wLTEwNjQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS5wLTEwNjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMQorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS5wLTEwNjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMgorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIDB4MS5wLTEwNjEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMworICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS5wLTEwNjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxNAorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIDB4MS5wLTEwNTksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxNQorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS5wLTEwNTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxNgorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS5wLTEwNTcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxNworICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS5wLTEwNTYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxOAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIDB4MS5wLTEwNTUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxOQorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIDB4MS5wLTEwNTQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyMAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS5wLTEwNTMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyMQorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS5wLTEwNTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyMgorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS5wLTEwNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyMworICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIDB4MS5wLTEwNTAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyNAorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIDB4MS5wLTEwNDksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyNQorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIDB4MS5wLTEwNDgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyNgorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS5wLTEwNDcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyNworICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIDB4MS5wLTEwNDYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyOAorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS5wLTEwNDUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyOQorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIDB4MS5wLTEwNDQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzMAorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIDB4MS5wLTEwNDMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzMQorICB9LAorICB7IC8vIEVudHJ5IDU4MAorICAgIDB4MS5wLTEwNDIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzMgorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS5wLTEwNDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzMworICB9LAorICB7IC8vIEVudHJ5IDU4MgorICAgIDB4MS5wLTEwNDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzNAorICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIDB4MS5wLTEwMzksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzNQorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIDB4MS5wLTEwMzgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzNgorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5wLTEwMzcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzNworICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIDB4MS5wLTEwMzYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzOAorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5wLTEwMzUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzOQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS5wLTEwMzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0MAorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDB4MS5wLTEwMzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0MQorICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIDB4MS5wLTEwMzIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0MgorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS5wLTEwMzEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0MworICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIDB4MS5wLTEwMzAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0NAorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS5wLTEwMjksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0NQorICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS5wLTEwMjgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0NgorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS5wLTEwMjcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0NworICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS5wLTEwMjYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0OAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5wLTEwMjUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0OQorICB9LAorICB7IC8vIEVudHJ5IDU5OAorICAgIDB4MS5wLTEwMjQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1MAorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1MQorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1MgorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS5wLTEwMjEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1MworICB9LAorICB7IC8vIEVudHJ5IDYwMgorICAgIDB4MS5wLTEwMjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1NAorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS5wLTEwMTksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1NQorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIDB4MS5wLTEwMTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1NgorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIDB4MS5wLTEwMTcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1NworICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS5wLTEwMTYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1OAorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIDB4MS5wLTEwMTUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1OQorICB9LAorICB7IC8vIEVudHJ5IDYwOAorICAgIDB4MS5wLTEwMTQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2MAorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS5wLTEwMTMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2MQorICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIDB4MS5wLTEwMTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2MgorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIDB4MS5wLTEwMTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2MworICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS5wLTEwMTAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2NAorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS5wLTEwMDksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2NQorICB9LAorICB7IC8vIEVudHJ5IDYxNAorICAgIDB4MS5wLTEwMDgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2NgorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS5wLTEwMDcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2NworICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIDB4MS5wLTEwMDYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2OAorICB9LAorICB7IC8vIEVudHJ5IDYxNworICAgIDB4MS5wLTEwMDUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2OQorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIDB4MS5wLTEwMDQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3MAorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIDB4MS5wLTEwMDMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3MQorICB9LAorICB7IC8vIEVudHJ5IDYyMAorICAgIDB4MS5wLTEwMDIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3MgorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS5wLTEwMDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3MworICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIDB4MS5wLTEwMDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3NAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS5wLTk5OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTc1CisgIH0sCisgIHsgLy8gRW50cnkgNjI0CisgICAgMHgxLnAtOTk4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNzYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAweDEucC05OTcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3NworICB9LAorICB7IC8vIEVudHJ5IDYyNgorICAgIDB4MS5wLTk5NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTc4CisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLnAtOTk1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNzkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAweDEucC05OTQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4MAorICB9LAorICB7IC8vIEVudHJ5IDYyOQorICAgIDB4MS5wLTk5MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTgxCisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgMHgxLnAtOTkyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpODIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEucC05OTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4MworICB9LAorICB7IC8vIEVudHJ5IDYzMgorICAgIDB4MS5wLTk5MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTg0CisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgMHgxLnAtOTg5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpODUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAweDEucC05ODgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4NgorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIDB4MS5wLTk4NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTg3CisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLnAtOTg2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpODgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICAweDEucC05ODUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4OQorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS5wLTk4NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTkwCisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgMHgxLnAtOTgzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDAKKyAgICAweDEucC05ODIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5MgorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS5wLTk4MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTkzCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLnAtOTgwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAweDEucC05NzksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5NQorICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIDB4MS5wLTk3OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTk2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ1CisgICAgMHgxLnAtOTc3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAweDEucC05NzYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5OAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS5wLTk3NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTk5CisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgMHgxLnAtOTc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgMHgxLnAtOTczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLnAtOTcyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLnAtOTcxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgMHgxLnAtOTcwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA0CisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgMHgxLnAtOTY5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA1CisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgMHgxLnAtOTY4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgMHgxLnAtOTY3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA3CisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLnAtOTY2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA4CisgIH0sCisgIHsgLy8gRW50cnkgNjU3CisgICAgMHgxLnAtOTY1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA5CisgIH0sCisgIHsgLy8gRW50cnkgNjU4CisgICAgMHgxLnAtOTY0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMHgxLnAtOTYzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTExCisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLnAtOTYyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTEyCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgMHgxLnAtOTYxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTEzCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLnAtOTYwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLnAtOTU5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjY0CisgICAgMHgxLnAtOTU4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgMHgxLnAtOTU3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLnAtOTU2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTE4CisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgMHgxLnAtOTU1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLnAtOTU0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTIwCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgMHgxLnAtOTUzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTIxCisgIH0sCisgIHsgLy8gRW50cnkgNjcwCisgICAgMHgxLnAtOTUyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTIyCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLnAtOTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTIzCisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgMHgxLnAtOTUwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTI0CisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLnAtOTQ5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgMHgxLnAtOTQ4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLnAtOTQ3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgMHgxLnAtOTQ2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLnAtOTQ1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTI5CisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLnAtOTQ0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDE3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDY4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDE0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMgorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEzCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxNQorICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDA2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxOAorICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTE5CisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyMQorICB9LAorICB7IC8vIEVudHJ5IDcwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTIyCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTI0CisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyNQorICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTk3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTI3CisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyOAorICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTk0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTMwCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzMQorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTkxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTMzCisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzNAorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTg4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTM2CisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzNworICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTg1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTM5CisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0MAorICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTgyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQyCisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0MworICB9LAorICB7IC8vIEVudHJ5IDcyMworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTc5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQ1CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0NgorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTc2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0OQorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTczLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTUxCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1MgorICB9LAorICB7IC8vIEVudHJ5IDczMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTcwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTU0CisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1NQorICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTY3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTU3CisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1OAorICB9LAorICB7IC8vIEVudHJ5IDczOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTY0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTYwCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2MQorICB9LAorICB7IC8vIEVudHJ5IDc0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTYzCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2NAorICB9LAorICB7IC8vIEVudHJ5IDc0NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTU4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTY2CisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2NworICB9LAorICB7IC8vIEVudHJ5IDc0NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTU1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTY5CisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3MAorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTcyCisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3MworICB9LAorICB7IC8vIEVudHJ5IDc1MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTc1CisgIH0sCisgIHsgLy8gRW50cnkgNzU1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3NgorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTc4CisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3OQorICB9LAorICB7IC8vIEVudHJ5IDc1OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTgxCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4MgorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTg0CisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4NQorICB9LAorICB7IC8vIEVudHJ5IDc2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTg3CisgIH0sCisgIHsgLy8gRW50cnkgNzY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4OAorICB9LAorICB7IC8vIEVudHJ5IDc2OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTkwCisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5MQorICB9LAorICB7IC8vIEVudHJ5IDc3MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTkzCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5NAorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTk2CisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5NworICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTk5CisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwMQorICB9LAorICB7IC8vIEVudHJ5IDc4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTIxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwNAorICB9LAorICB7IC8vIEVudHJ5IDc4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTE4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTA1CisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwNworICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTE1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTA4CisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExMAorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTExCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExMworICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTE0CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExNgorICB9LAorICB7IC8vIEVudHJ5IDc5NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTA2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExOQorICB9LAorICB7IC8vIEVudHJ5IDc5OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTIwCisgIH0sCisgIHsgLy8gRW50cnkgODAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyMgorICB9LAorICB7IC8vIEVudHJ5IDgwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTIzCisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyNQorICB9LAorICB7IC8vIEVudHJ5IDgwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtODk3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTI2CisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyOAorICB9LAorICB7IC8vIEVudHJ5IDgwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtODk0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTI5CisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODExCisgICAgMHgxLnAtMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDc0CisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTA3MworICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1MgorICB9LAorICB7IC8vIEVudHJ5IDgxNQorICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1MQorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTcxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTUxCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODIyCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODI0CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjgKKyAgICAwLjAsCisgICAgMC4wLAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODI5CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgKGludCktMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzNworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODQwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODQyCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODQzCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODQ2CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDcKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODQ4CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgKGludCktMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDg1MQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg1NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTYKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIChpbnQpNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIChpbnQpNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAweDEucC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg2MAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg2MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjMKKyAgICAtMHgxLnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg2NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTQwMDAwCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS00MDAwMAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2xkZXhwZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbGRleHBmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzRlZDkzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2xkZXhwZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw0Mjg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZmxvYXQsIGZsb2F0LCBpbnQ+IGdfbGRleHBmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLjU1NTU1NHAtMTI4LAorICAgIC0weDEuNTU1NTU0cC0yLAorICAgIChpbnQpLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjZkYjZkY3AtMTI4LAorICAgIC0weDEuNmRiNmRjcC0xLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLjhlMzhlNHAtMTI4LAorICAgIC0weDEuOGUzOGU0cC0xLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4yOWU0MTJwLTEyNywKKyAgICAweDEuMjllNDEycC03LAorICAgIChpbnQpLTEyMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjBmLAorICAgIDB4MS5kZGRkZGVwLTIsCisgICAgKGludCktMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDAuMGYsCisgICAgMHgxLmZmZmY2MHAtMTI3LAorICAgIChpbnQpLTIzCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDAuMGYsCisgICAgMHgxLmZmZmY4NHAtMTI3LAorICAgIChpbnQpLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuZmZmZmY4cC0xMzcsCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpKC0yMTQ3NDgzNjQ3LTEpCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkyMTQ3NDgzNjQ3CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLnAtMTAsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5wLTksCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAtMHgxLnAtOCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEucC03LAorICAgIC0weDEucDAsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTB4MS5wLTYsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEucC00LAorICAgIC0weDEucDAsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5wLTMsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEucC0xLAorICAgIC0weDEucDAsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS5wMiwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS5wMywKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS5wNCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS5wNSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS5wNiwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5wNywKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5wOCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5wOSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmQxNzQ1Y3AtMTEsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuZDE3NDVjcC0xMCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLmQxNzQ1Y3AtOSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLmQxNzQ1Y3AtOCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmQxNzQ1Y3AtNywKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmQxNzQ1Y3AtNiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLmQxNzQ1Y3AtNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmQxNzQ1Y3AtNCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLmQxNzQ1Y3AtMywKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmQxNzQ1Y3AtMiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZDE3NDVjcDAsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmQxNzQ1Y3AxLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5kMTc0NWNwMiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuZDE3NDVjcDMsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmQxNzQ1Y3A0LAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5kMTc0NWNwNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuZDE3NDVjcDYsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLmQxNzQ1Y3A3LAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5kMTc0NWNwOCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuZDE3NDVjcDksCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5hMmU4YjhwLTExLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLmEyZThiOHAtMTAsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5hMmU4YjhwLTksCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5hMmU4YjhwLTgsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5hMmU4YjhwLTcsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5hMmU4YjhwLTYsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5hMmU4YjhwLTUsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5hMmU4YjhwLTQsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5hMmU4YjhwLTMsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5hMmU4YjhwLTIsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmEyZThiOHAwLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5hMmU4YjhwMSwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuYTJlOGI4cDIsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmEyZThiOHAzLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5hMmU4YjhwNCwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuYTJlOGI4cDUsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmEyZThiOHA2LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5hMmU4YjhwNywKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEuYTJlOGI4cDgsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmEyZThiOHA5LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuNzQ1ZDE0cC0xMSwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS43NDVkMTRwLTEwLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuNzQ1ZDE0cC05LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuNzQ1ZDE0cC04LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEuNzQ1ZDE0cC03LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuNzQ1ZDE0cC02LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuNzQ1ZDE0cC01LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuNzQ1ZDE0cC00LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuNzQ1ZDE0cC0zLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuNzQ1ZDE0cC0yLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS43NDVkMTRwMCwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuNzQ1ZDE0cDEsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjc0NWQxNHAyLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS43NDVkMTRwMywKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuNzQ1ZDE0cDQsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjc0NWQxNHA1LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS43NDVkMTRwNiwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuNzQ1ZDE0cDcsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjc0NWQxNHA4LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgLTB4MS43NDVkMTRwOSwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjQ1ZDE3MHAtMTEsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIC0weDEuNDVkMTcwcC0xMCwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjQ1ZDE3MHAtOSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS40NWQxNzBwLTgsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuNDVkMTcwcC03LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLjQ1ZDE3MHAtNiwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS40NWQxNzBwLTUsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuNDVkMTcwcC00LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjQ1ZDE3MHAtMywKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS40NWQxNzBwLTIsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuNDVkMTcwcC0xLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuNDVkMTcwcDAsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS40NWQxNzBwMSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLjQ1ZDE3MHAyLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuNDVkMTcwcDMsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS40NWQxNzBwNCwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjQ1ZDE3MHA1LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuNDVkMTcwcDYsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS40NWQxNzBwNywKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLjQ1ZDE3MHA4LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuNDVkMTcwcDksCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuMTc0NWNjcC0xMSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuMTc0NWNjcC0xMCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgLTB4MS4xNzQ1Y2NwLTksCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuMTc0NWNjcC04LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLjE3NDVjY3AtNywKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS4xNzQ1Y2NwLTYsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuMTc0NWNjcC01LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjE3NDVjY3AtNCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS4xNzQ1Y2NwLTMsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMTc0NWNjcC0yLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjE3NDVjY3AwLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMTc0NWNjcDEsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS4xNzQ1Y2NwMiwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLjE3NDVjY3AzLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuMTc0NWNjcDQsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS4xNzQ1Y2NwNSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjE3NDVjY3A2LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuMTc0NWNjcDcsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS4xNzQ1Y2NwOCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLjE3NDVjY3A5LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmQxNzQ1MnAtMTIsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLmQxNzQ1MnAtMTEsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZDE3NDUycC0xMCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5kMTc0NTJwLTksCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZDE3NDUycC04LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLmQxNzQ1MnAtNywKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5kMTc0NTJwLTYsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZDE3NDUycC01LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmQxNzQ1MnAtNCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5kMTc0NTJwLTMsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuZDE3NDUycC0xLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZDE3NDUycDAsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5kMTc0NTJwMSwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmQxNzQ1MnAyLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZDE3NDUycDMsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5kMTc0NTJwNCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLmQxNzQ1MnA1LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZDE3NDUycDYsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5kMTc0NTJwNywKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLmQxNzQ1MnA4LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLjc0NWQwY3AtMTIsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjc0NWQwY3AtMTEsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuNzQ1ZDBjcC0xMCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS43NDVkMGNwLTksCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuNzQ1ZDBjcC04LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjc0NWQwY3AtNywKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS43NDVkMGNwLTYsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuNzQ1ZDBjcC01LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLjc0NWQwY3AtNCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS43NDVkMGNwLTMsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuNzQ1ZDBjcC0xLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuNzQ1ZDBjcDAsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS43NDVkMGNwMSwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLjc0NWQwY3AyLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuNzQ1ZDBjcDMsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS43NDVkMGNwNCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjc0NWQwY3A1LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0weDEuNzQ1ZDBjcDYsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS43NDVkMGNwNywKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAtMHgxLjc0NWQwY3A4LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjE3NDVjNnAtMTIsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLjE3NDVjNnAtMTEsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuMTc0NWM2cC0xMCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS4xNzQ1YzZwLTksCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuMTc0NWM2cC04LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLjE3NDVjNnAtNywKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4xNzQ1YzZwLTYsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuMTc0NWM2cC01LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjE3NDVjNnAtNCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4xNzQ1YzZwLTMsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEuMTc0NWM2cC0xLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuMTc0NWM2cDAsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS4xNzQ1YzZwMSwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjE3NDVjNnAyLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMTc0NWM2cDMsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4xNzQ1YzZwNCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLjE3NDVjNnA1LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuMTc0NWM2cDYsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS4xNzQ1YzZwNywKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjE3NDVjNnA4LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLjc0NWRwLTEzLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuNzQ1ZHAtMTIsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLjc0NWRwLTExLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS43NDVkcC0xMCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuNzQ1ZHAtOSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuNzQ1ZHAtOCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuNzQ1ZHAtNywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuNzQ1ZHAtNiwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0weDEuNzQ1ZHAtNSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0weDEuNzQ1ZHAtNCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS43NDVkcC0yLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLjc0NWRwLTEsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuNzQ1ZHAwLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLjc0NWRwMSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS43NDVkcDIsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuNzQ1ZHAzLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjc0NWRwNCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS43NDVkcDUsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuNzQ1ZHA2LAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjc0NWRwNywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuNzQ1Y2U4cC0xNCwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuNzQ1Y2U4cC0xMywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS43NDVjZThwLTEyLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjc0NWNlOHAtMTEsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuNzQ1Y2U4cC0xMCwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS43NDVjZThwLTksCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuNzQ1Y2U4cC04LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLjc0NWNlOHAtNywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS43NDVjZThwLTYsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuNzQ1Y2U4cC01LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjc0NWNlOHAtMywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjc0NWNlOHAtMiwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLjc0NWNlOHAtMSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjc0NWNlOHAwLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuNzQ1Y2U4cDEsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS43NDVjZThwMiwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLjc0NWNlOHAzLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuNzQ1Y2U4cDQsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS43NDVjZThwNSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLjc0NWNlOHA2LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuODBwLTMzLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEuODBwLTMyLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS44MHAtMzEsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjgwcC0zMCwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuODBwLTI5LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS44MHAtMjgsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjgwcC0yNywKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuODBwLTI2LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS44MHAtMjUsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjgwcC0yNCwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuODBwLTIzLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjgwcC0yMiwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS44MHAtMjEsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuODBwLTIwLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjgwcC0xOSwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS44MHAtMTgsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuODBwLTE3LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjgwcC0xNiwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS44MHAtMTUsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuODBwLTE0LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjgwcC0xMywKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuNzQ1ZDQ4cC0xNCwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjc0NWQ0OHAtMTMsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjc0NWQ0OHAtMTIsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjc0NWQ0OHAtMTEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjc0NWQ0OHAtMTAsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjc0NWQ0OHAtOSwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuNzQ1ZDQ4cC04LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS43NDVkNDhwLTcsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjc0NWQ0OHAtNiwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuNzQ1ZDQ4cC01LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS43NDVkNDhwLTQsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNzQ1ZDQ4cC0zLAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjc0NWQ0OHAtMiwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS43NDVkNDhwLTEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuNzQ1ZDQ4cDAsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuNzQ1ZDQ4cDEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuNzQ1ZDQ4cDIsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuNzQ1ZDQ4cDMsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuNzQ1ZDQ4cDQsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuNzQ1ZDQ4cDUsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuNzQ1ZDQ4cDYsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjc0NWQzMHAtMTMsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS43NDVkMzBwLTEyLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS43NDVkMzBwLTExLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43NDVkMzBwLTEwLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS43NDVkMzBwLTksCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjc0NWQzMHAtOCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuNzQ1ZDMwcC03LAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS43NDVkMzBwLTYsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjc0NWQzMHAtNSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuNzQ1ZDMwcC00LAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43NDVkMzBwLTMsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuNzQ1ZDMwcC0yLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLjc0NWQzMHAtMSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS43NDVkMzBwMCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS43NDVkMzBwMSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS43NDVkMzBwMiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS43NDVkMzBwMywKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS43NDVkMzBwNCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS43NDVkMzBwNSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS43NDVkMzBwNiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS43NDVkMzBwNywKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuMTc0NWRlcC0xMiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjE3NDVkZXAtMTEsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLjE3NDVkZXAtMTAsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLjE3NDVkZXAtOSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuMTc0NWRlcC04LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS4xNzQ1ZGVwLTcsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjE3NDVkZXAtNiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuMTc0NWRlcC01LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS4xNzQ1ZGVwLTQsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjE3NDVkZXAtMywKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjE3NDVkZXAtMSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS4xNzQ1ZGVwMCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS4xNzQ1ZGVwMSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS4xNzQ1ZGVwMiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS4xNzQ1ZGVwMywKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4xNzQ1ZGVwNCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS4xNzQ1ZGVwNSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4xNzQ1ZGVwNiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS4xNzQ1ZGVwNywKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4xNzQ1ZGVwOCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuNzQ1ZDI0cC0xMiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLjc0NWQyNHAtMTEsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjc0NWQyNHAtMTAsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjc0NWQyNHAtOSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuNzQ1ZDI0cC04LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS43NDVkMjRwLTcsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLjc0NWQyNHAtNiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuNzQ1ZDI0cC01LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS43NDVkMjRwLTQsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjc0NWQyNHAtMywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjc0NWQyNHAtMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS43NDVkMjRwMCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS43NDVkMjRwMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS43NDVkMjRwMiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS43NDVkMjRwMywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS43NDVkMjRwNCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS43NDVkMjRwNSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS43NDVkMjRwNiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS43NDVkMjRwNywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS43NDVkMjRwOCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuZDE3NDZhcC0xMiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmQxNzQ2YXAtMTEsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgMHgxLmQxNzQ2YXAtMTAsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLmQxNzQ2YXAtOSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAweDEuZDE3NDZhcC04LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5kMTc0NmFwLTcsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmQxNzQ2YXAtNiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuZDE3NDZhcC01LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS5kMTc0NmFwLTQsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmQxNzQ2YXAtMywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmQxNzQ2YXAtMSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5kMTc0NmFwMCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5kMTc0NmFwMSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS5kMTc0NmFwMiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5kMTc0NmFwMywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS5kMTc0NmFwNCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5kMTc0NmFwNSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS5kMTc0NmFwNiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5kMTc0NmFwNywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS5kMTc0NmFwOCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuMTc0NWQ4cC0xMSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLjE3NDVkOHAtMTAsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjE3NDVkOHAtOSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAweDEuMTc0NWQ4cC04LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS4xNzQ1ZDhwLTcsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgMHgxLjE3NDVkOHAtNiwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuMTc0NWQ4cC01LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS4xNzQ1ZDhwLTQsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjE3NDVkOHAtMywKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuMTc0NWQ4cC0yLAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuMTc0NWQ4cDAsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuMTc0NWQ4cDEsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMTc0NWQ4cDIsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMTc0NWQ4cDMsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAweDEuMTc0NWQ4cDQsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuMTc0NWQ4cDUsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuMTc0NWQ4cDYsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuMTc0NWQ4cDcsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEuMTc0NWQ4cDgsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuMTc0NWQ4cDksCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLjQ1ZDE3Y3AtMTEsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS40NWQxN2NwLTEwLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS40NWQxN2NwLTksCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjQ1ZDE3Y3AtOCwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuNDVkMTdjcC03LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS40NWQxN2NwLTYsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgMHgxLjQ1ZDE3Y3AtNSwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuNDVkMTdjcC00LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS40NWQxN2NwLTMsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLjQ1ZDE3Y3AtMiwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjQ1ZDE3Y3AwLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjQ1ZDE3Y3AxLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjQ1ZDE3Y3AyLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjQ1ZDE3Y3AzLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjQ1ZDE3Y3A0LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLjQ1ZDE3Y3A1LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLjQ1ZDE3Y3A2LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjQ1ZDE3Y3A3LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjQ1ZDE3Y3A4LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjQ1ZDE3Y3A5LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS43NDVkMjBwLTExLAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuNzQ1ZDIwcC0xMCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuNzQ1ZDIwcC05LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS43NDVkMjBwLTgsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjc0NWQyMHAtNywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuNzQ1ZDIwcC02LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS43NDVkMjBwLTUsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjc0NWQyMHAtNCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuNzQ1ZDIwcC0zLAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS43NDVkMjBwLTIsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS43NDVkMjBwMCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS43NDVkMjBwMSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS43NDVkMjBwMiwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS43NDVkMjBwMywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS43NDVkMjBwNCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS43NDVkMjBwNSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS43NDVkMjBwNiwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIDB4MS43NDVkMjBwNywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS43NDVkMjBwOCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS43NDVkMjBwOSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuYTJlOGM0cC0xMSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLmEyZThjNHAtMTAsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLmEyZThjNHAtOSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAweDEuYTJlOGM0cC04LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS5hMmU4YzRwLTcsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLmEyZThjNHAtNiwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuYTJlOGM0cC01LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5hMmU4YzRwLTQsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgMHgxLmEyZThjNHAtMywKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAweDEuYTJlOGM0cC0yLAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS5hMmU4YzRwLTEsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuYTJlOGM0cDAsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuYTJlOGM0cDEsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuYTJlOGM0cDIsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuYTJlOGM0cDMsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEuYTJlOGM0cDQsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuYTJlOGM0cDUsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuYTJlOGM0cDYsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuYTJlOGM0cDcsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuYTJlOGM0cDgsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuYTJlOGM0cDksCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLmQxNzQ2OHAtMTEsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5kMTc0NjhwLTEwLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5kMTc0NjhwLTksCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLmQxNzQ2OHAtOCwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuZDE3NDY4cC03LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS5kMTc0NjhwLTYsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgMHgxLmQxNzQ2OHAtNSwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuZDE3NDY4cC00LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS5kMTc0NjhwLTMsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLmQxNzQ2OHAtMiwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmQxNzQ2OHAwLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLmQxNzQ2OHAxLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmQxNzQ2OHAyLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmQxNzQ2OHAzLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmQxNzQ2OHA0LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLmQxNzQ2OHA1LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLmQxNzQ2OHA2LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLmQxNzQ2OHA3LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLmQxNzQ2OHA4LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLmQxNzQ2OHA5LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS5wLTEwLAorICAgIDB4MS5wMCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS5wLTksCisgICAgMHgxLnAwLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAweDEucC04LAorICAgIDB4MS5wMCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLnAtNywKKyAgICAweDEucDAsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS5wLTYsCisgICAgMHgxLnAwLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEucC01LAorICAgIDB4MS5wMCwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLnAtNCwKKyAgICAweDEucDAsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDB4MS5wLTMsCisgICAgMHgxLnAwLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAweDEucC0yLAorICAgIDB4MS5wMCwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLnAtMSwKKyAgICAweDEucDAsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLnAxLAorICAgIDB4MS5wMCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEucDIsCisgICAgMHgxLnAwLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS5wMywKKyAgICAweDEucDAsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLnA0LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEucDUsCisgICAgMHgxLnAwLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5wNiwKKyAgICAweDEucDAsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLnA3LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAweDEucDgsCisgICAgMHgxLnAwLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS5wOSwKKyAgICAweDEucDAsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLnAxMCwKKyAgICAweDEucDAsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgMHgxLmZmZmZmZXAxMTcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAweDEuZmZmZmZlcDExOCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLmZmZmZmZXAxMTksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIDB4MS5mZmZmZmVwMTIwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuZmZmZmZlcDEyMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMHgxLmZmZmZmZXAxMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS5mZmZmZmVwMTIzLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAweDEuZmZmZmZlcDEyNCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgMHgxLmZmZmZmZXAxMjUsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAweDEucC0yMiwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEucC0yMywKKyAgICAweDEucC0xNDksCisgICAgKGludCkxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLnAtMTQ3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEucC0xNDYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIDB4MS5wLTE0NSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNTE2CisgICAgMHgxLnAtMTQ0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAweDEucC0xNDMsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5wLTE0MiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgMHgxLnAtMTQxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEucC0xNDAsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5wLTEzOSwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS5wLTEyOSwKKyAgICAweDEucC0yLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS5wLTEyOCwKKyAgICAweDEucC0yLAorICAgIChpbnQpLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS5wLTEyOCwKKyAgICAweDEucC0xLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIDB4MS5wLTEyNywKKyAgICAweDEucC0xLAorICAgIChpbnQpLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS44MHAtMTI4LAorICAgIDB4MS44MHAtMSwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEuODBwLTEyNywKKyAgICAweDEuODBwLTEsCisgICAgKGludCktMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMC4wZiwKKyAgICAweDEucC0yLAorICAgIChpbnQpLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDAuMGYsCisgICAgMHgxLnAtMiwKKyAgICAoaW50KS0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzAKKyAgICAwLjBmLAorICAgIDB4MS5wLTEsCisgICAgKGludCktMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEsCisgICAgKGludCktMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMC4wZiwKKyAgICAweDEuODBwLTEsCisgICAgKGludCktMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMHgxLjgwcC0xNDksCisgICAgMHgxLjgwcC0xLAorICAgIChpbnQpLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS5wMTI2LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEucC0xNDcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDB4MS5wLTE0NiwKKyAgICAweDEucC0xNDksCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNTQwCisgICAgMHgxLnAtMTQ1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAweDEucC0xNDQsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5wLTE0MywKKyAgICAweDEucC0xNDksCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMHgxLnAtMTQyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEucC0xNDEsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIDB4MS5wLTE0MCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLnAtMTM5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLnAtMTM4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLnAtMTM3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLnAtMTM2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEzCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLnAtMTM1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE0CisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMHgxLnAtMTM0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLnAtMTMzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE2CisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLnAtMTMyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE3CisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLnAtMTMxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE4CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLnAtMTMwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE5CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLnAtMTI5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLnAtMTI4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIxCisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIyCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIzCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLnAtMTI1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI0CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLnAtMTI0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI1CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMHgxLnAtMTIzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgMHgxLnAtMTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLnAtMTIxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLnAtMTIwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI5CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLnAtMTE5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLnAtMTE4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMyCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLnAtMTE2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMzCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLnAtMTE1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM0CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLnAtMTE0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM1CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLnAtMTEzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM2CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLnAtMTEyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM3CisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLnAtMTExLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM4CisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLnAtMTEwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM5CisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgMHgxLnAtMTA5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQwCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLnAtMTA4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLnAtMTA3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQyCisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgMHgxLnAtMTA2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQzCisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLnAtMTA1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ0CisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgMHgxLnAtMTA0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLnAtMTAzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ2CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLnAtMTAyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ3CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgMHgxLnAtMTAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTg1CisgICAgMHgxLnAtMTAwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnAtOTksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEucC05OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk1MQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS5wLTk3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTUyCisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLnAtOTYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEucC05NSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk1NAorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS5wLTk0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTU1CisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLnAtOTMsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAweDEucC05MiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk1NworICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS5wLTkxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTU4CisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLnAtOTAsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAweDEucC04OSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk2MAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5wLTg4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTYxCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLnAtODcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEucC04NiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk2MworICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5wLTg1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTY0CisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLnAtODQsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAweDEucC04MywKKyAgICAweDEucC0xNDksCisgICAgKGludCk2NgorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS5wLTgyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTY3CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLnAtODEsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAweDEucC04MCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk2OQorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS5wLTc5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTcwCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgMHgxLnAtNzgsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEucC03NywKKyAgICAweDEucC0xNDksCisgICAgKGludCk3MgorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS5wLTc2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTczCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLnAtNzUsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAweDEucC03NCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk3NQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS5wLTczLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTc2CisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgMHgxLnAtNzIsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAweDEucC03MSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk3OAorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS5wLTcwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTc5CisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgMHgxLnAtNjksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAweDEucC02OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk4MQorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIDB4MS5wLTY3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTgyCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLnAtNjYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAweDEucC02NSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk4NAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS5wLTY0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTg1CisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgMHgxLnAtNjMsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjMKKyAgICAweDEucC02MiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk4NworICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIDB4MS5wLTYxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTg4CisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLnAtNjAsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAweDEucC01OSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5MAorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS5wLTU4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTkxCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgMHgxLnAtNTcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEucC01NiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5MworICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIDB4MS5wLTU1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTk0CisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgMHgxLnAtNTQsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAweDEucC01MywKKyAgICAweDEucC0xNDksCisgICAgKGludCk5NgorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS5wLTUyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTk3CisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgMHgxLnAtNTEsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAweDEucC01MCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5OQorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIDB4MS5wLTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMAorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS5wLTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMQorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS5wLTQ3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMgorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIDB4MS5wLTQ2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMworICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5wLTQ1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNAorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS5wLTQ0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNQorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIDB4MS5wLTQzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNgorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS5wLTQyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNworICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIDB4MS5wLTQxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwOAorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS5wLTQwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwOQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS5wLTM5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS5wLTM4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMQorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS5wLTM3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMgorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS5wLTM2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMworICB9LAorICB7IC8vIEVudHJ5IDY1MAorICAgIDB4MS5wLTM1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNAorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIDB4MS5wLTM0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS5wLTMzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNgorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIDB4MS5wLTMyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNworICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS5wLTMxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExOAorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIDB4MS5wLTMwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExOQorICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIDB4MS5wLTI5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMAorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS5wLTI4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMQorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5wLTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMgorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIDB4MS5wLTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMworICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS5wLTI1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNAorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIDB4MS5wLTI0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNQorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS5wLTIzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNgorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIDB4MS5wLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS5wLTIxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyOAorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIDB4MS5wLTIwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyOQorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS5wLTE5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEzMAorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLmZmZmZmY3AtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuZmZmZmZjcC0xMjUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIDB4MS5mZmZmZmNwLTEyNCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLmZmZmZmY3AtMTIzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAweDEuZmZmZmZjcC0xMjIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIDB4MS5mZmZmZmNwLTEyMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgMHgxLmZmZmZmY3AtMTIwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEuZmZmZmZjcC0xMTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS5mZmZmZmNwLTExOCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLmZmZmZmY3AtMTE3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLmZmZmZmY3AtMTE2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTExCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmZmZmZmY3AtMTE1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLmZmZmZmY3AtMTE0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEzCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLmZmZmZmY3AtMTEzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLmZmZmZmY3AtMTEyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLmZmZmZmY3AtMTExLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmZmZmZmY3AtMTEwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE3CisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLmZmZmZmY3AtMTA5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE4CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmZmZmZmY3AtMTA4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE5CisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMHgxLmZmZmZmY3AtMTA3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIwCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLmZmZmZmY3AtMTA2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIxCisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLmZmZmZmY3AtMTA1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIyCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLmZmZmZmY3AtMTA0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIzCisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgMHgxLmZmZmZmY3AtMTAzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI0CisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLmZmZmZmY3AtMTAyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI1CisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLmZmZmZmY3AtMTAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjk0CisgICAgMHgxLmZmZmZmY3AtMTAwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgMHgxLmZmZmZmY3AtOTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuZmZmZmZjcC05OCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkyOQorICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIDB4MS5mZmZmZmNwLTk3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgMHgxLmZmZmZmY3AtOTYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTkKKyAgICAweDEuZmZmZmZjcC05NSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzMgorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5mZmZmZmNwLTk0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTMzCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgMHgxLmZmZmZmY3AtOTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDIKKyAgICAweDEuZmZmZmZjcC05MiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzNQorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIDB4MS5mZmZmZmNwLTkxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTM2CisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLmZmZmZmY3AtOTAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEuZmZmZmZjcC04OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzOAorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS5mZmZmZmNwLTg4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTM5CisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLmZmZmZmY3AtODcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEuZmZmZmZjcC04NiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk0MQorICB9LAorICB7IC8vIEVudHJ5IDcwOQorICAgIDB4MS5mZmZmZmNwLTg1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQyCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmZmZmZmY3AtODQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICAweDEuZmZmZmZjcC04MywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk0NAorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS5mZmZmZmNwLTgyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQ1CisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgMHgxLmZmZmZmY3AtODEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTQKKyAgICAweDEuZmZmZmZjcC04MCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk0NworICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIDB4MS5mZmZmZmNwLTc5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmZmZmZmY3AtNzgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAweDEuZmZmZmZjcC03NywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1MAorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIDB4MS5mZmZmZmNwLTc2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTUxCisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgMHgxLmZmZmZmY3AtNzUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAweDEuZmZmZmZjcC03NCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1MworICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIDB4MS5mZmZmZmNwLTczLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTU0CisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLmZmZmZmY3AtNzIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAweDEuZmZmZmZjcC03MSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1NgorICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIDB4MS5mZmZmZmNwLTcwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTU3CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgMHgxLmZmZmZmY3AtNjksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAweDEuZmZmZmZjcC02OCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1OQorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIDB4MS5mZmZmZmNwLTY3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTYwCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmZmZmZmY3AtNjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICAweDEuZmZmZmZjcC02NSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2MgorICB9LAorICB7IC8vIEVudHJ5IDczMAorICAgIDB4MS5mZmZmZmNwLTY0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTYzCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLmZmZmZmY3AtNjMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICAweDEuZmZmZmZjcC02MiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2NQorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIDB4MS5mZmZmZmNwLTYxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTY2CisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmZmZmZmY3AtNjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAweDEuZmZmZmZjcC01OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2OAorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5mZmZmZmNwLTU4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTY5CisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgMHgxLmZmZmZmY3AtNTcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAweDEuZmZmZmZjcC01NiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk3MQorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIDB4MS5mZmZmZmNwLTU1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTcyCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgMHgxLmZmZmZmY3AtNTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAweDEuZmZmZmZjcC01MywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk3NAorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIDB4MS5mZmZmZmNwLTUyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTc1CisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLmZmZmZmY3AtNTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAweDEuZmZmZmZjcC01MCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk3NworICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIDB4MS5mZmZmZmNwLTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTc4CisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLmZmZmZmY3AtNDgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAweDEuZmZmZmZjcC00NywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4MAorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIDB4MS5mZmZmZmNwLTQ2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTgxCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLmZmZmZmY3AtNDUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpODIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTAKKyAgICAweDEuZmZmZmZjcC00NCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4MworICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS5mZmZmZmNwLTQzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTg0CisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMHgxLmZmZmZmY3AtNDIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpODUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAweDEuZmZmZmZjcC00MSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4NgorICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIDB4MS5mZmZmZmNwLTQwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTg3CisgIH0sCisgIHsgLy8gRW50cnkgNzU1CisgICAgMHgxLmZmZmZmY3AtMzksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpODgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAweDEuZmZmZmZjcC0zOCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4OQorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS5mZmZmZmNwLTM3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTkwCisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgMHgxLmZmZmZmY3AtMzYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAweDEuZmZmZmZjcC0zNSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5MgorICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIDB4MS5mZmZmZmNwLTM0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTkzCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLmZmZmZmY3AtMzMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAweDEuZmZmZmZjcC0zMiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5NQorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS5mZmZmZmNwLTMxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTk2CisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgMHgxLmZmZmZmY3AtMzAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAweDEuZmZmZmZjcC0yOSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5OAorICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIDB4MS5mZmZmZmNwLTI4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTk5CisgIH0sCisgIHsgLy8gRW50cnkgNzY3CisgICAgMHgxLmZmZmZmY3AtMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgMHgxLmZmZmZmY3AtMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY5CisgICAgMHgxLmZmZmZmY3AtMjUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLmZmZmZmY3AtMjQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLmZmZmZmY3AtMjMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA0CisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgMHgxLmZmZmZmY3AtMjIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA1CisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLmZmZmZmY3AtMjEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA2CisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLmZmZmZmY3AtMjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA3CisgIH0sCisgIHsgLy8gRW50cnkgNzc1CisgICAgMHgxLmZmZmZmY3AtMTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA4CisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLmZmZmZmY3AtMTgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA5CisgIH0sCisgIHsgLy8gRW50cnkgNzc3CisgICAgMHgxLmZmZmZmY3AtMTcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTEwCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgMHgxLmZmZmZmY3AtMTYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTExCisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgMHgxLmZmZmZmY3AtMTUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTEyCisgIH0sCisgIHsgLy8gRW50cnkgNzgwCisgICAgMHgxLmZmZmZmY3AtMTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTEzCisgIH0sCisgIHsgLy8gRW50cnkgNzgxCisgICAgMHgxLmZmZmZmY3AtMTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE0CisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLmZmZmZmY3AtMTIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE1CisgIH0sCisgIHsgLy8gRW50cnkgNzgzCisgICAgMHgxLmZmZmZmY3AtMTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE2CisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmY3AtMTAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLmZmZmZmY3AtOSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEuZmZmZmZjcC04LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTExOQorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS5mZmZmZmNwLTcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTIwCisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmZmZmZmY3AtNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuZmZmZmZjcC01LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyMgorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5mZmZmZmNwLTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTIzCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgMHgxLmZmZmZmY3AtMywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAweDEuZmZmZmZjcC0yLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyNQorICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIDB4MS5mZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLmZmZmZmY3AwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDB4MS5mZmZmZmNwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAweDEuZmZmZmZjcDIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTI5CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLmZmZmZmY3AzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEzMAorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE0OAorICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIDB4MS5mZmZmZmNwMjIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODAxCisgICAgMHgxLmZmZmZmY3AyMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEuZmZmZmZjcC0xMDQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAweDEuZmZmZmZjcC0xMDUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEuZmZmZmZjcC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgxMQorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODE2CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgKGludCktMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyMQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODIzCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODI5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzMAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODMxCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODM0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgKGludCktMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODM3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDEKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAoaW50KTQwMDAwCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIChpbnQpNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDcKKyAgICAweDEuZmZmZmZjcC0xMjgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgLTB4MS5mZmZmZmNwLTEyOCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICAtMHgxLnAtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg1MgorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTMKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktNDAwMDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9sb2cxMF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbG9nMTBfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlOGE5YmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbG9nMTBfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTQ3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2xvZzEwX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5hN2Q5YThlZGI0N2JlODA1MmVlMTBkNjFmNzJiZWRiM3AzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLmI2NGNiNzZhMmMxNzY3ZmUwY2IzODFkYTViOWNlOTYycDYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTM2NAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLmNlNjFjZjhlOTIyN2I3ZmZiYmMyMjU4ZjA2YjAwODQ4cC0xLAorICAgIDB4MS4wMDAwMDAwMDdwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS5jZTYxY2Y4ZTkyMjdiN2ZmZDEwOWVmY2IyNWQ4OTYzMnAwLAorICAgIDB4MS4wMDAwMDAwMGVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmRkNGY4NTY1ODQzMTc4MDAwM2M4ZDdiZWJlNTFmODM2cC0zMywKKyAgICAweDEuMDAwMDAwMDIyNTg2M3AwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIC0weDEuODE1MTgyNDczZjYwZDgwMDQzMzgzNjgzMTUzMzMyYWFwMywKKyAgICAweDEuMDAwMDAwNnAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS5jNGJmYzVlMDhmMzAwMDAxOTYxMTMzZDY3YThhZThmOHA1LAorICAgIDB4MS4wMDAwMDFjcC0xODgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgLTB4MS4zNDI4ZTVhNmRiMjZiMDAyMjYyOTcwY2IyOTRmODFwMCwKKyAgICAweDEuMDAzODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS44YTU5M2FiYjdhMTAyODAwZjk0ZTk5ZWExNzg4NjRlZXA3LAorICAgIDB4MS4wMDM4MHAtNjU1CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5lMWE5NWQyZDliYTFkZmE1OGIyZjhlNWZkZjBhMWI1NHA0LAorICAgIDB4MS4wMDgwNDAyMDEwMDgwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLmZkYzlmYzdiOWQzMjU4Njc1YjQ5NDI1NmI3OTI4ZmM2cC0xMSwKKyAgICAweDEuMDA5MmU0YjkyZTRhMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuMTU5YzE3MTJlNzRjNjgyNzdmYmE1OGZlNzExZjgwMjdwLTEwLAorICAgIDB4MS4wMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLmJkOTRlNTIwMjc5YWY4NjJmZTM5YzAwNWY0NjgyNjM1cC0xMCwKKyAgICAweDEuMDEwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjgyOGY4MjA3MTU2NGU4NGFkYjRhZjhlZTllZWQ3YjVlcC05LAorICAgIDB4MS4wMWJlOGYxMGNkYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuOWZiOGNkY2RhNmMyNjQ1ZTE3NDUzOGVhODhhZWQyNGFwLTksCisgICAgMHgxLjAxZTA1ZTk2MTQyMTNwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmEzN2EwMDUzYTAxZjk1OWRmZjlkN2VkOGMwNzM4MjIzcC05LAorICAgIDB4MS4wMWU0Yjk1YThkOTMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5hNjA1ODAxY2I4NWYyNzUyNWJjZGEzZGE1ZjIwMWFkMXAtOSwKKyAgICAweDEuMDFlN2FjZmMwNTdkYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuYTYxOWNjNzE2OGZhYzU2OTc5MWM5OWQ3NTE4MDI2NWRwLTksCisgICAgMHgxLjAxZTdjNDg3MGE1NmRwMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmJhZmI4ZGRjZjYxODI3NWZlNGJhOTc5YWY1NjBhNjYwcC05LAorICAgIDB4MS4wMWZmZmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5jZjNmNGUzMjg0N2Y0ZmZjZGNhOWUxYThhMDhhNDU0N3AwLAorICAgIDB4MS4wMjBwNgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmJhZmQ0Nzc0ZGJjOWI3MWZjMDFjOWIyODFiMTI5MGQxcC05LAorICAgIDB4MS4wMjAwMDAwMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLmJiYWE0MTU4MmJkNGI3NTUxNmJmMWU4NmVlZjRiYmE4cC05LAorICAgIDB4MS4wMjAwYzhiNDYxMzU3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5lYzBkNWEwNzQ5MjYyODk4NmNjMThmNWQ2YTY2ODg2N3AtOSwKKyAgICAweDEuMDIzOGYzOTJhMjExMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuNGM5Nzk1ZmQxZjdlODgwMDllMzI3M2JmNzgzNWYwODRwLTcsCisgICAgMHgxLjA2MGRhZTgxMzFiYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjc4YjRlZTQzYWYxYzA4MDEzOWE0MzkyNjA1OGE2ZTQ2cC03LAorICAgIDB4MS4wNmRkZjZhYjk0ZWRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEuOTNjYTk2NDUyYzg1NjgwMDQxZWJlMzM4ZjYzZDEzOWFwMiwKKyAgICAweDEuMDc2ODk5ZDM4Y2MzMHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5hYjA5ZjkzMjIxZjQwMDAwMTk0YzY2M2JlYmQ3OGY1NXAtNywKKyAgICAweDEuMDdjYzY0MGY5NmExOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuNjY3MWIzNjVkMTViYjc2ZjUwODBjYzM2NThlMjUxOWVwLTYsCisgICAgMHgxLjBkMzlmNWZjMjRmYTNwMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjY3MWE5YjFiYzZkYTdmZmZjOTQ3Y2ZkYjRkZDI0ZTNhcC02LAorICAgIDB4MS4wZDQwNWExYmZlN3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZGQ5ZGUyZWJlZTY0ODgwMTI3MjkwMGU3ODVjOTk2YjNwLTYsCisgICAgMHgxLjExYzYwMmQ4YTFiNjRwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjRiNTViODRjNzRjYTg3ZmYzZDIzYjNiODMzNDdjNTBmcC0xLAorICAgIDB4MS4xYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS45ODk3ZTg1MTQ4ZDc1ZmZmZmY5ODhlMDZkZDhlYWU1ZXA0LAorICAgIDB4MS4xZjhiMDI2MGNjYzA4cC04NQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5mZmJmYzJiYmM3ODAzNzU4MzdjNGIwYjg0ZjM4YTE0YXAtMywKKyAgICAweDEuMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmRlMjg4NDM0YzM1YzU4MjgxN2RkYjI0NTk0OWE1OWE3cC01LAorICAgIDB4MS4yNGQzNTQwMjE3YjE1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIC0weDEuZWUzMGUwNjUzNzdlZGQyMTFhZTY3ZjQ5ZDExNGE4ZGVwLTMsCisgICAgMHgxLjI1YmRlOGIwOWJjOWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuYmVmMjg0MTJhOWQ4MDgwMDg3MWM1OWE4NDI1ZDNhYTZwMCwKKyAgICAweDEuMjYycC02CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZjI1ZDYyOTE3MWFhZWIyMjc2OTA3MTY3YTlhZWNkNmVwLTUsCisgICAgMHgxLjI2N2U0Y2ZjOTlmOTNwMAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTB4MS45MDgwODkwZTJmMTc5ODAwM2E3ZjMxNjYyODlhMjU1NXAyLAorICAgIDB4MS4yODhwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmU1NjEwNjViMDE5YzdjOGQ0OThlOGM3ODQ2NDMzMGJhcC0zLAorICAgIDB4MS4yOGFhOWYyNTE1Zjg3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmFjZGM2NWE5MzVhNWU3ZmJlYjJhMDQxNGRhZTI5ZGI2cC0xLAorICAgIDB4MS4yOWE3NGExMzVkMTc4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLmVmMGM1NTA5MDQ2NmU3ZmM1ZDJiZThiMDE3YWExZWI1cDQsCisgICAgMHgxLjI5YmEzM2MzM2JiNThwLTEwMworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS5kOGQ5YTJjZmI3OWQwYjJjZTZkYjA5YjQwM2ZiZGVmMXAtMywKKyAgICAweDEuMmNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuNDQ1MzhlYTA2MDM1YTAwMDAwMGU3Y2MxODI1Y2E0MjJwLTQsCisgICAgMHgxLjMzMzMzMzUzYzg5YzVwMAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnAwLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS45Yzg5OWRkYjdjYzNhODAxMDZiZDkyZDlmMzA2MDdhZHAtNCwKKyAgICAweDEuNDJkMTRiNGRhOTIwY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLjdkZGZjNWIyMDAyMDM3ZmVhYjQ0NjBlNjQ2NjRiMDlkcDMsCisgICAgMHgxLjQ4MHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5hOGVlYzYwNjViZDk5ZmZmZmZmMjI5M2EzNGIxOTE3ZHAtMiwKKyAgICAweDEuNGNjY2NjZDZjZWRhN3AxCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuZDJiNjQ0NjY1ZjEwYzdmZmZmZjJlMWQyNDE4OTk4ZjVwLTQsCisgICAgMHgxLjRjY2NjY2VjYTkxOWRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmQzYmRiOTg0N2JmNzA5YzQzNDU3OTY4Y2E2ZTI4NjQ2cC00LAorICAgIDB4MS40Y2ZlMWE4YzMwZWQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5kNmNmMTM2NTNiOTE0NjQzMTkyODIwODhlZWZmNGM5N3AtNCwKKyAgICAweDEuNGQ5MTNlMzVhZWE0ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLmYxMjI1YWM0MzY2MjM3ZmRiMzAzYTA1OTdhM2M4ZjRhcC0yLAorICAgIDB4MS40ZWQzMTgyMzZjODVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuZjM3MTk2NDMwYzJiZWVjMjZiMWMzMWJmMzhkNTdmNDhwLTQsCisgICAgMHgxLjUyZmFmNTEwZTAyMmRwMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmYzOGMwYzgzMjVkODVhZDY1OWIyMTc0YTNlYmY2ZjU1cC00LAorICAgIDB4MS41MzBwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLmZmZWRlYWM0ZDE3NmY3ZDJjZGUzNDRiN2VjNzBmMTY2cC00LAorICAgIDB4MS41NTVlMzBiYmRhNjlmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5lZjM1YWExYzZiMWE3N2ZkOWRlNDVhMWUxNzJiMDJjNnAwLAorICAgIDB4MS41N2VlOTgyNDdkOTY2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuZTI4MGZlOWI4Y2Y4NTdmZGMzYWQwZGM4MTJlNThkMWRwLTIsCisgICAgMHgxLjVhMDVkODUzYzc3YzlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuZGFlMzMxMWRhNGM0MDg4NDY0OGM0MWE4MzBkZmUzNzJwLTIsCisgICAgMHgxLjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuY2JhYzhiYTM1MmRlM2JlMmE1Y2NhOGZiOTY0MDI4NjJwLTIsCisgICAgMHgxLjZjNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmQ5N2VkYzZjYjA5NmE4MDAwMDBjNjY2OTk1NDIwMjU2cC0yLAorICAgIDB4MS43MzMzMzM0MjE3YjlhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS40ZmI2ODgzOGNjZmEyN2ZmMjMxMWVlY2I1MDhkNTkyOHAtMywKKyAgICAweDEuNzU2M2MzODg3ZGIyOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZjg4NzFjMTc0Nzc4YzdmZmY1NzMxYWNmMmVhNDQ2N2NwMCwKKyAgICAweDEuNzYwMDAwMDAwNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5mMmMxNGMyZjZjNWM5ZGJlN2M4Mjg0YjE1ZmUwMTc4N3AtNCwKKyAgICAweDEuODJkMGI0MmQwYjQyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5kYjFkOTkwZTExMWVlNzY2ZTk2MjEwNGZiYmYwZjAwM3AtNCwKKyAgICAweDEuODdmZDZkYTYxYzNkYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS44OGJkY2EwMjRmMzJlODBhMWRlNjY3MWIyMjU2MDc1OXAyLAorICAgIDB4MS44ODBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLmQwM2I4Y2U2MDUxYzk3ZmRkNDI1NjQ3ZjM3MzlkN2E3cC00LAorICAgIDB4MS44YTY1M2Q5OTI4MmFhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLmMyZDgyNmY2YWQ1ZmU4MTYyNTkyY2MwMzZlMDY5Y2VkcC00LAorICAgIDB4MS44ZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuYzAyNjE4ZTA0NDdkMjdmOWViYjUxNDYyZDY5NzhmMjVwLTQsCisgICAgMHgxLjhkZmE0M2ZlNWM5MWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuZWVhYTE5ZmMzNGY4MTdmZGEzNDBhZWI3YjY1MjA3NWJwMywKKyAgICAweDEuOTE1Yzc4MmUyMGI3Y3AtNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuOTc3ZDk1ODc5ZGEwOGZmZmZmZjE2NzQ5YTliYzEwMjFwLTIsCisgICAgMHgxLjk5OTk5OWY2MWUxYWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuNjVkZjY1MTJmNzZkMTdmZmZmZWZjNzE2ODkzOTVhYmVwLTEsCisgICAgMHgxLjk5OTk5YTU5NDQ1NDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuNjVkZjY0YzQzMDU1NTgwMDAwMTA3NGI2MTNmODM1MDhwLTEsCisgICAgMHgxLjk5OTk5YWVhNjE3Y2VwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuZmZmZmZlYzhlNGFkNjgwMDAwMTA1ODA5ZmVlN2M2OGNwLTEsCisgICAgMHgxLjk5OTk5YmQ2YWUwNzNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5iODgyNDVmODZkZjhhZmZmZmYyMzEzYWY4YTkxMGY2YnAwLAorICAgIDB4MS5hNDhmNTFjMjdmM2VmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5jMDNlYzgwNWM1MmM5MjQ0NzI2OGQ3OTQ5NTg4ZTYwOHAtMywKKyAgICAweDEuYTdjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5lMzdhYmUwOTUzOWFkN2ZkYjJjYmI5YzE5NzVkMWZjMnA1LAorICAgIDB4MS5iMWFmMjg2YmNhMjA4cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmQ3ZjU5YWIyYmNkMDU3ZmZmZmZmYjRiYjYxZWZmYjZmcC0zLAorICAgIDB4MS5iMzMzMzMzOThlOWU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5kN2Y1OWFlODkwOGFhN2ZmZmZlZjdmM2YxNzgyMzE2MnAtMywKKyAgICAweDEuYjMzMzMzNTNlNTA3Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZTY3YjQ0YmE0ODUxODg4OTgwMTJjMDUzNmM2MDRhMTVwLTMsCisgICAgMHgxLmJhNWQyZTk3NGJhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuZDUxZTc0ZTIyMzVmOTAwMWM5MDJmNDliM2QzOWJlODhwLTUsCisgICAgMHgxLmMwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS5jMjUwYjUzN2U3NGJjODI2NWM3YjFiMGViM2NiNzU0MXAtNSwKKyAgICAweDEuYzMyMGM4MzIwYzgzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmMxNDk3YWEzZWU3N2Y3ZmNmMGJjOTZjNzQxOGYwNGI2cDAsCisgICAgMHgxLmM3MWM3MWM3MWM3MWVwNQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLjc4ZDgzNTExNWFlOWY3ZmYwYzA2ODA3ODM4ODllNmExcDAsCisgICAgMHgxLmRhNmQzNjliNGRhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuZWU4NDRkMjMxMjBlNmZmNGI5ZDI3ZjhjZTMwYjNjYzJwLTYsCisgICAgMHgxLmRkYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS5hZjdiY2ViYTEwNTBkN2ZlZWFkNmVmOTE2MjViOTFkZnAtNiwKKyAgICAweDEuZTFkZmY4NjE4OTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5lM2RiZDA5NDMxZDBkN2ZkZjI3NTViODViZThhMTY3NnA1LAorICAgIDB4MS5lM2IyMWJjMTc3OWVjcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS43YWVhMmFhYjEzYTA0ODA3MjlkZWM3NDg2NThiMzRmZHAtNiwKKyAgICAweDEuZTU3MmI5NWNhZTU0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmM4ZGUyZmJhZmUxODU4MDAwM2NkYWE3NzRhNzNkMGMwcDAsCisgICAgMHgxLmU3MzljZTczOWNlNzBwNQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS4wY2U0NDZlM2NhMTBjMDA0ZDYzZmI3MGZhYjZhMjZmZnAtNiwKKyAgICAweDEuZWQwMzQwZDAzNDBkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS5mY2Y0NThmNmZhYTQzODAwOTdhZjFkYjRiMjkxMGM3ZHAtNywKKyAgICAweDEuZWUwMzMwOTJmZTYyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS5mYmUwOTkwMGYyZTlkN2UzYmJiZTBiZDQ1NWM5MjAzOHAtNywKKyAgICAweDEuZWUwY2MzMzBjYzM0N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS5mOTQ1NGFkOGM1OGE2ODAxNzIzZDQ4OTE0YmRiYzgxYnAtNywKKyAgICAweDEuZWUyM2VlNWRmNzQ1ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjJjODU4YTIzMjZjZWQ4MDBkZDNlZDNhZDAzZTBlZmVkcC0xLAorICAgIDB4MS5lZThwMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjdmNjk0Y2MzNWE0ZGE4MDBmYjZlNmYxN2E1OTAzZTE3cDEsCisgICAgMHgxLmVlYmJhZWViYmFlZThwOQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS5lMmNmYmI0OTM0ODA2ZmU2OTg2MzhkOTMyNWNlMGRlNnAtNywKKyAgICAweDEuZWVlYmJhZWViYmFlZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgLTB4MS5jM2QwODM3NzgzY2FjODAwNTM3NDIwOWU2MjQ4ZmIyMnAtNywKKyAgICAweDEuZjAwMDAwMDAwMDA4YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS41MTgyNGM3NTg3ZWNjNGNhZTBlYmUyYThlYWU4OTRiMHAtNywKKyAgICAweDEuZjNmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgLTB4MS5kMGVmN2Q4M2M1MGE3N2ZkZjBhOWRmNzYyNTE3NGRmNnAwLAorICAgIDB4MS5mNDZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuM2NhZDI2MzMwMTAyODdlYzUyMWYzZmIxYjBlMTZjMzRwLTcsCisgICAgMHgxLmY0YmI4M2ZmMjU0MDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIC0weDEuMzAyNjBlY2JlNWU0ODgwMTkzMDcyMWEyZTQyNzg5NWFwLTcsCisgICAgMHgxLmY1MmM2OTEyNTE5MTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS42OTM3ZTA2NzRkYWUzN2ZlYzAyMDQ3M2RjYWQ4YzdlNXA3LAorICAgIDB4MS5mNWE4MTRhZmQ2OWY0cDU5OQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC0weDEuZjc4ODg3YThkNzBkYTAwMDkyYWMwOTZlMGMyYTc0OGRwLTgsCisgICAgMHgxLmY3MDU4OGYxNDRkNGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmY2Zjg0NzJlMDY1MTI4MDE1MDEzNzFjZWViNjkwMmMxcC04LAorICAgIDB4MS5mNzA4MTU5YWFiMGZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLTB4MS5jNTc1YmM3MTFmNTdmN2JjZDVlNjUyMTliMDFjODE5Y3AtOCwKKyAgICAweDEuZjdlODQ5ODY4YzkwN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuYzAzYTgwYWU2MDgwODdiY2VjNGI5NWI0M2NjN2NmNjhwLTgsCisgICAgMHgxLmY3ZmZmZmZmZmZmNGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMmQ1MzZlNDI4NDVmOTdmZTU2MGZhN2I0NTA4MDRiMjZwOCwKKyAgICAweDEuZjlmZTdmOWZlN2Y5Y3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS5mNTY4ZTc3ZWQ4NGIxMzcyYzk0Y2ZmNWU3ZTM4ZTk4NXAtMTAsCisgICAgMHgxLmZkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIC0weDEuYmUyMDJiYWJkMzg5MjEyMzU2NTJkYjI4NzkwN2Y2MzRwLTEwLAorICAgIDB4MS5mZGZmNjI0NWExMmYycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS5iZDk2YTFkN2RhMDM5MTUyMGUxNTk1ZTA5MDQ3NjhmZnAtMTAsCisgICAgMHgxLmZkZmZmZmZmZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAtMHgxLmJkOTZhMWQ3ZDlkOWI2M2U1YWE3ZDA4MmExNDBkNzM4cC0xMCwKKyAgICAweDEuZmRmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuYmQyNzA0NWJmZDFlMjQ3NjdlYjFmYWRkYTM4YjgyZTJwLTExLAorICAgIDB4MS5mZWZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgLTB4MS5iZDI3MDQ1YmM3N2M3Nzk4NTNiNmZjN2I0MTlhY2I0OXAtMTEsCisgICAgMHgxLmZmMDAwMDAwMDAxZWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLmJkMjVlMDU2YjYzOGQ4MTJhODFkNDhiZjJkZDVjMDU1cC0xMSwKKyAgICAweDEuZmYwMDAwYTdjNWIyYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIC0weDEuYmQyMjY1MjliZmZhNzgwMWI1NGQxZTY5NWY5Y2Y0NmFwLTExLAorICAgIDB4MS5mZjAwMDJhN2M1YjJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS5kOGMxZjhmMjlkODYyMzg3MTMzYTc4MTRjYjA2MWI2ZHAtMTIsCisgICAgMHgxLmZmNzdmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLjdjODU2NTcyODlmYmU4Mjc1YzE5NzFlOTUzYTZhZTcxcC0xMiwKKyAgICAweDEuZmY5Mjg1ZTFhZTljOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuZWE3ZWJlYzUxMWE2OWIzN2I5NzJkNDFhNTE3Y2Q4ODRwLTEzLAorICAgIDB4MS5mZmI5NmU1Yjk2ZTQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5jNGUyOTNiMTQ4Y2VjODQ3YjRlMjE0Yzc2NjQyY2Q3M3AtMTMsCisgICAgMHgxLmZmYmVkNzNlYzI2NGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLmJjZDM3ZjFlYjA2ZmY3Y2MxMTBhOGJkMGVmYzI4MDRicC0xMywKKyAgICAweDEuZmZiZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuYmNkMzdmMWViMDAwYmJmODQxZjUxNGU3OGIwYmVjNjdwLTEzLAorICAgIDB4MS5mZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLjg1MzYwNDdmYjlkNGYzYjVjYmE5NWNhYmFjYWUyMmFlcC0xMywKKyAgICAweDEuZmZjN2ZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4zNDM1NzNlZmE0YzRjMDAwMDQ3NjQ4ZDRmMzQ5ZGZjZXAtMSwKKyAgICAweDEuZmZlNGVmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS44NTIzNjQyN2EwODcxN2VmYzg5ZWJjYjE1OWIwYjU3OHAtMTYsCisgICAgMHgxLmZmZjhmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLmU4ZGY3NDIxZjA0MWZmZmZmZTViMDk0OTc2MWVjNjU3cDUsCisgICAgMHgxLmZmZmEzYmZmZmZmZmZwLTIwNAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuZTJlZmJjMWRjOTIzMzdkN2E2NzlhYjZjOThmYWI3MzlwLTIwLAorICAgIDB4MS5mZmZmNzRmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgLTB4MS4zNDQxMzY1NzgxNjU3N2ZkNDM2ZmNiYzRhYTMyZGU4OHAtMiwKKyAgICAweDEuZmZmZmZlN2ZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuZDBjYTUxZjk1YWMxOTdmZTFhZGQ2NGI2MTE5Y2I0NTRwNywKKyAgICAweDEuZmZmZmZmM2ZmZmZmZnAtNzczCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS5mMDE4ZjE1YzBhYjYwOTQyMDlmY2ZlMDgzZWJjMzA2ZXA0LAorICAgIDB4MS5mZmZmZmZmZmYxZmZmcC0xMDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuNDY1MTA3MjU4ZDFkMTgwMDA2MmZlZTgyYmZmYmZmNGNwNiwKKyAgICAweDEuZmZmZmZmZmZmOWZmZnAyNzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjlhOWFkYmE2NDZkOGU3ZmYzOWViZTVjNWI2NTFlY2JjcDcsCisgICAgMHgxLmZmZmZmZmZmZmRmZmZwLTY4MworICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuMTZjMGY3NzY4MzZkOGZmZTUxNWQ2NzllZDhhMjUzYjFwOCwKKyAgICAweDEuZmZmZmZmZmZmZGZmZnAtOTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmQ1OWI1NmNkMmYzY2M4MDIwOWNlODA1NmQzNDc3YTA4cDcsCisgICAgMHgxLmZmZmZmZmZmZmRmZmZwNzc5CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS5jZTYxY2Y4ZWYzNzJmN2ZlMDNiMTk3ZDA1ZGVjZmYwZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmY4ZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuYzg1Yzg5ODVjMTk5YzdmYzE0ZDk1OGJhOTJlMzk5ZGJwNywKKyAgICAweDEuZmZmZmZmZmZmZmZlMHAtNzU5CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5iY2I3YjE1MjZlNTExYWMxNjBlMWEzMjk4MDEwZDk2ZHAtNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLjM0NDEzNTA5ZjdhMDA1NjJkMmJmMDUwNmVmNDRlM2E1cC0zLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS44ZTI3MWRhNDA1NmE0Mzk5M2ZkYjEzNDg3MDMxZmJkNHAtNCwKKyAgICAweDEuOTk1MjU1ZjJkMDBhYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuOTc2MmJlMjZjMmM1N2RjYWUwMTE4ZTBjY2VkNmU3NWFwLTUsCisgICAgMHgxLmM4OWFjNTdkYWM1OGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmM2OTRhY2UwOGU1MTI0ZjczMjdjZDVkYTFmYzQ4MGY2cC04LAorICAgIDB4MS5mN2UzMzUwODg4YTY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLjA2NDY2NGQwZGQ0N2NiMDc4NGIxMTdkMmVmYjBhZmIycC01LAorICAgIDB4MS4xMzk1ZDI0OWIyN2E0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuMTU4YmVlMWU1NmJlOTc0YzE3ODQ0ZDA3MzY5MjVhODNwLTQsCisgICAgMHgxLjJiM2EwYTBmMjBhMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS45Y2QxMGIwMDhkZGQ3MzlkZTllNmQ4NDNiOGZmNDA5MnAtNCwKKyAgICAweDEuNDJkZTQxZDQ4ZWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLjBkNDJmODQ3OThiNGJlMWRiMDI0MzFmNzNjNzEwYjVmcC0zLAorICAgIDB4MS41YTgyNzk5OWZjZWY0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuNDdmNzA2NDc2NDRhNTM4ZGQ3MTdjM2YwYzk5YjRmNTJwLTMsCisgICAgMHgxLjcyMjZiMTVmNmIxNjRwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS43ZjA4NTQ4ZTA5OTI1NTIwNTRjODJkZWZmNjVjNWE3ZXAtMywKKyAgICAweDEuODljYWU5MjRkOTNkNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmIyZTM3YmVmMDJjYTY1YTZiNjllZjBlZjYwNDVmY2E5cC0zLAorICAgIDB4MS5hMTZmMjBlYTQ3NjQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuZTNlMzFlYjU1ODVkNmRlZmJlY2YxMDAzZWQ4NTg2ZGRwLTMsCisgICAgMHgxLmI5MTM1OGFmYjU4YjRwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS4wOTI5ZDUwNjg1MWI3NTlhYzhiOTcxYTM2NWJiNTNiZnAtMiwKKyAgICAweDEuZDBiNzkwNzUyM2IyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjFmM2IxNDRkMjkwM2FhMGUxNWI1ZDNjNjdkNTNmOTFicC0yLAorICAgIDB4MS5lODViYzgzYTkxZDk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwLTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuMzQ0MTM1MDlmN2EwMDU2MmQyYmYwNTA2ZWY0NGUzYTVwLTMsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMHgxLmVkYzdiMjhjMWNkZmY2NDZhZmExYmRjZDRlNmEwMmYwcC00LAorICAgIDB4MS44M2U2MDkyNjNjMDExcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS43YWY5NzM1OGI5ZTBhNDI0ZmE3MDJlNjlkNGFjM2E4Y3AtNCwKKyAgICAweDEuOWRjMjJiZTQ4NDQ1NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuMGYyMThlYWNiNjQ4N2RkMGM2MDZjM2U4MTZlN2MzZGFwLTQsCisgICAgMHgxLmI3OWU0ZWEyY2M4OWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLjUyZTg0OTUwZDRjMzA3ZDliZWRlYTQ3ZDM5ODdjMDFicC01LAorICAgIDB4MS5kMTdhNzE2MTE0Y2UwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS4yNTE5YjdmMWNiM2Q5NGQzMzI0NGE2YzcwOGZmYWVmY3AtNiwKKyAgICAweDEuZWI1Njk0MWY1ZDEyNXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS4xZjgxMDJmYWE5ZmQzMDFhYTU0Y2QxMzU5OWVmMTk4MHAtOCwKKyAgICAweDEuMDI5OTViNmVkMmFiNXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmEzMGE5ZDYwOWVmYzQ3NTFkOWQyMDM2M2ZhODUyZTYzcC02LAorICAgIDB4MS4wZjg3NmNjZGY2Y2Q4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuNzcwNmUxMDBlMDFkNGRhMTNjYzU5NDQ2ZGY1OTY5ZDlwLTUsCisgICAgMHgxLjFjNzU3ZTJkMWFlZmJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS4wYTk2NWNhM2M1OWZhNjg0M2VjMzljMTcyOThiMWFhYXAtNCwKKyAgICAweDEuMjk2MzhmOGMzZjExZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLjU2NGI5ZTEzNWQxZjBmMjMzYmQ2N2UwMmJjNWJmNmVhcC00LAorICAgIDB4MS4zNjUxYTBlYjYzMzQxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuOWVlOTkzYjgwZjIxMzZjYTZiZmI2NmI5YzdiMjU0MjhwLTQsCisgICAgMHgxLjQzM2ZiMjRhODc1NjRwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS5lNGFlNTNlYmJjZWZiZDA0ODgyZjEwYWFhM2RlODZiN3AtNCwKKyAgICAweDEuNTAyZGMzYTlhYjc4N3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLjEzZTg3NjYxZDY0ZjUyNDZiNWE4ZDY5MjE0NzQ2MzMxcC0zLAorICAgIDB4MS41ZDFiZDUwOGNmOWFhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuMzQ0MTM1MDlmNzlmZDhmZjZiNjY2MWE5M2VhZDYyM2JwLTMsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZmZiZmMyYmJjNzgwMzc1ODM3YzRiMGI4NGYzOGExNGFwLTQsCisgICAgMHgxLjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjU2MzQ2MjZiMDIxMWM0ODczOGIzM2YwN2QxNTk0NDMxcC00LAorICAgIDB4MS5hNjY2NjY2NjY2NjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS43NmQ4NjliMDJhMDM1YTEwNzk3OTUzZjA1OGI1MmVjYXAtNSwKKyAgICAweDEuY2NjY2NjY2NjY2NjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuNjg0YmY3ZmRhOThhMWM1OWVmYWFjNjI3MjkzOWRjZDZwLTcsCisgICAgMHgxLmYzMzMzMzMzMzMzMzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuNWIyYTVjYTFmNDdiMTViNjQ0YjMzYzY0MDkyM2JmMzVwLTYsCisgICAgMHgxLjBjY2NjY2NjY2NjY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS5hMzBhOWQ2MDllZmRkNjgxMjAwOGRmYmI4MjM5YmY4Y3AtNSwKKyAgICAweDEuMWZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjQ0NTM4ZGUzYjI3ZTRjOGJjZDExZTkzNGU0MTU4M2FhcC00LAorICAgIDB4MS4zMzMzMzMzMzMzMzMycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEuYjAyYjcyOGZiNjE2ODA0MGUyYzRlNWU3ZmIzODA5YjFwLTQsCisgICAgMHgxLjQ2NjY2NjY2NjY2NjVwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS4wYWVjNmU0YTAwZmVjMzA0OGZlYjUwNTA3MGJiNGYxNHAtMywKKyAgICAweDEuNTk5OTk5OTk5OTk5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLjNiMDM0OTlmZmNjN2Q3YjI4YTI1NGY2MTIyYTZhNGQ0cC0zLAorICAgIDB4MS42Y2NjY2NjY2NjY2NicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuNjhhMjg4YjYwYjdmNzg5Nzg0YjU1MTQ2ODgwZDljZTFwLTMsCisgICAgMHgxLjdmZmZmZmZmZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmUxYTVlMmRmOTJlOWU1YmNjMDhkMzgzOWEzZTU0Njk3cDQsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLmUyNGY2ZTNmZTNhZjU0NzJmMzMyY2E4NWJkYmI5ZDc3cDQsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmUyZWEzNjZkNzY5YzY0YzI5OGU0MmM3YjdhN2Y0NjkzcDQsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLmUzNzg5OTIzNGVmYzM1NWI5OTE5ZmZlMzY3YTUxMjA5cDQsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmUzZmM2ZDM5NzcyZTg1OGQ0Yjg2MDdkNTliYjhkMGRkcDQsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmU0NzcyN2YwZmYwMGU1ZDY2YTBjZDlkMDY2ZTIyOGMzcDQsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmU0ZTlmNjMwMzI2M2U1NTY5NzYwZTI1ODgzYTIzNzczcDQsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLmU1NTVjZTE0ZGU2NzdkYTU4YzZjYmUyNjAzMzRjZjFicDQsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLmU1YmI3YjdlZTJiMzY0YzM4ZDg0OWVkMzM4ZmE4MDRkcDQsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmU2MWJhOTM1OGVhYWY3MDI5NTliMmE0YmZmZmRjYTI4cDQsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLmU2NzZlN2IzYmFjODY1Nzk4NTA5ODMwNzA0NDEyYjIzcDQsCisgICAgMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLmUxYTVlMmRmOTJlOWU1YmNjMDhkMzgzOWEzZTU0Njk3cDUsCisgICAgMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLmUxZmFhODhmYmI0YzlkMTdkOWUwMDE1ZmIwZDA3MjA3cDUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLmUyNDgwY2E2ODRjMzI1M2ZhY2I4YjI1YThmMzI0Njk1cDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmUyOGYzZTAxNzBmMzBkOGMyY2QzOWMwZTg1YzUyYzUwcDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLmUyZDEyODBjODUwYzM1YTUwNjA5YTAwNzlmY2YwYmJhcDUsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLmUzMGU4NTY4NDhmNTY1Yzk5NTRkMDkwNTA1NjNiN2FkcDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgMHgxLmUzNDdlYzg3ZTJhNmU1ODlhYmY3MGQ0OTEzYzNiZjA1cDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmUzN2RkODdhMzhhOGIxYjEyNjdjZmIyZmQzOGQwYWQ5cDUsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLmUzYjBhZjJmM2FjZWE1NDAyNzA4ZWI4NjZlNmZlMzcycDUsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLmUzZTBjNjBhOTBjYTZlNWZhYjE0MzE0MmQxZjE4ODYwcDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmU0MGU2NTQ5YTZkOTI1OWIyMmNiNWRhMDU0MTMzOGRkcDUsCisgICAgMHgxLjBwMjAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjJkMDdhZGNiYmJkMjJmOTVmODU4NDMyNDA2NmY0YzFlcDgsCisgICAgMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS4yZDEyNDY4MWMwZGU4NjgxNWI4MjljNDhjODBjYjE4Y3A4LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMmQxYmYzMDQ5YTBkNTc4NjU1ZGRiMjY4MjNkOGVjMWVwOCwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLjJkMjRkOTJmZjc5MzU0OGZlNWUxMGY5ZWEyYWI0OGQ1cDgsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS4yZDJkMTY3MTVhMTY3OTkzMDEwN2QwMWRjNWVjODRjM3A4LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuMmQzNGMyMWNkMjkzOWY5NzkyZjAzZDNkNzI5ZjFhNDFwOCwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjJkM2JlZjAwYzVjOWNmOGY5NWM1N2RjNWY0NmIxYjJjcDgsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS4yZDQyYWM3ZjEwOGEwOTE0ODUxNjNiODJjYzY0NDRhNnA4LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuMmQ0OTA3NTViMGNlYzc4NjY1MjdiOThkOWZjMDlmYmFwOCwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLjJkNGYwYTMxMWI4ZTQwYWE1NWE5MjI0NTJjMzBkNDU3cDgsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS4yZDU0YmUxOGZlNTAxNzkxYzRhMDA3ZDBkYzc1MGE2N3A4LAorICAgIDB4MS4wcDEwMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmJjYjdiZjM4MmM2ZmIzZGYwMDI5ZTFlNmMwNGU1YjA0cC0yMiwKKyAgICAweDEuZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLjI4N2E3OTRlMjQ2NDBkZTc5ZmI1ZGQzOTAzM2YxYzNhcC0yMywKKyAgICAweDEuZmZmZmY1NTU1NTU1NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS4yODdhNzMxZjJmZTA4ZmVhNTVhNzhiMTUwMTMwNjg1MHAtMjMsCisgICAgMHgxLjAwMDAwNTU1NTU1NTVwMAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5iY2I3YTM2Y2IxNWE4Y2VjMGMzOWIwYTdjZjJkNzg1OHAtMjIsCisgICAgMHgxLjAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLmJjYjdiMTU1ZTdjMDQ1ZDg4YjJjY2Q4NzlkMDBkZWRhcC0zMiwKKyAgICAweDEuZmZmZmZmZjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS4yODdhNzg4OGFlYzk1NzQwYTE2NmVmYWY4NzU2ZWFhMXAtMzMsCisgICAgMHgxLmZmZmZmZmZkNTU1NTVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuMjg3YTcxOTQ0NGI2MWRhYTA5NjhjYTFmNTVhNmJlOWFwLTMzLAorICAgIDB4MS4wMDAwMDAwMTU1NTU1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuYmNiN2IxNGVmNGUxODA4ZWQxZTk0MGE2NWIyZDVmMGZwLTMyLAorICAgIDB4MS4wMDAwMDAwNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuYmNiN2IxNTI2ZjJmM2YwMzEzZWYxMjBlMmFiODhlOTlwLTQyLAorICAgIDB4MS5mZmZmZmZmZmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuMjg4M2JhMGFhNjFlZmI0YjVlYzU4ODJkMTQyNmExMThwLTQzLAorICAgIDB4MS5mZmZmZmZmZmZmNTU1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjI4NjdlZThmOTA5NTQ1ZDZjZDQ0ODRhNTgyNDk1YTFmcC00MywKKyAgICAweDEuMDAwMDAwMDAwMDU1NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLmJjYjdiMTUyNmQ3Mjg3NTFjMTgwYzEyYjAwNGRkNjY1cC00MiwKKyAgICAweDEuMDAwMDAwMDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuYmNiN2IxNTI2ZTUxMWFjMTYwZTFhMzI5ODAxMGQ5NmRwLTUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS40ZDg5YzRmZGQyYmNiYTAyNDU0NTY1ZTg1Y2M0NmY1ZnAtNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuYmNiN2IxNTI2ZTUwZDU0NGFkMmNjMWVjZDNlMmEyNDlwLTU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuYmNiN2IxNTI2ZTUwYWI5Mzc0OGQwNzk1NDc0NjNlYmZwLTUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuMzQ0MTM1MDlmNzlmZWYyZGE1YTM1MGIzM2E1NzRlYjVwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTB4MS40MzRlNjQyMGY0MzczZTVmMDUxNzFkMTllNDE4NGQyNXA4LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTB4MS4zNDQxMzUwOWY3YTAyY2IxYTFmNjViYWY2MGNiMTVkZnAtMywKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0weDEuMzQ0MTM1MDlmN2EwMDU2MmQyYmYwNTA2ZWY0NGUzYTVwLTMsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmRlMTQwMzg3YWU1ZTdmN2I2OTFkcC0zLAorICAgIDB4MS42YTA5ZTY2N2YzYmNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLjM0NDEzNTA5Zjc5ZmIxYjA5YzJmMGIwMGNkMjczMDAxcC0zLAorICAgIDB4MS42YTA5ZTY2N2YzYmNicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuMzQ0MTM1MDlmNzlmZDhmZjZiNjY2MWE5M2VhZDYyM2JwLTMsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS4zNDQxMzUwOWY3YTAwMDRlM2E5ZGI4NTFhZTc2ZGNjM3AtMywKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS4zNDQxMzUwOWY3OWZmZDE2ZGM5ZDQ2Y2E5ZTRhMGQzY3AtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0weDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwLTIsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmQzNjVhM2ZkOGM3MzA5YTRkODFkcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS5mZmJmYzJiYmM3ODA4MTc2ZDU1MjZkYzVjYmY1YWJiMHAtNCwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuZmZiZmMyYmJjNzgwMzc1ODM3YzRiMGI4NGYzOGExNGFwLTQsCisgICAgMHgxLjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLmZmYmZjMmJiYzc3ZmVkMzk5YTM2ZjNhYWQ1OTIzMmM5cC00LAorICAgIDB4MS44MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLjY4YTI4OGI2MGI3ZjlkYTZkMzdjMmZjZDQ3Zjc3MDA4cC0zLAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuNjhhMjg4YjYwYjdmYzJiNjIyNDMwZTU0MDY1NWY1M2JwLTMsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS42OGEyODhiNjBiN2ZlN2M1NzEwOWVjZGFjMzI5MmM3YnAtMywKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLjI4MTdjZTkwODQyYzBlNWQ5Y2E0NDRlZTkzYzJmMmIycC0xMCwKKyAgICAweDEuMDBhYWFhYWFhYWFhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLjI4MTdjZTkwODQ0N2M3NWQ1Y2EwODFkNDc3MTRiYzRjcC0xMCwKKyAgICAweDEuMDBhYWFhYWFhYWFhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjI4MTdjZTkwODQ2MzgwNWQxYzljYmViODlmZmQ3YTk4cC0xMCwKKyAgICAweDEuMDBhYWFhYWFhYWFhY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLjM0NDEzNTA5Zjc5ZmU4M2U0MDRkNjk5ZWQzNTBhZGNhcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwLTEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS4zNDQxMzUwOWY3OWZmZDE2ZGM5ZDQ2Y2E5ZGEzNDg1OXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjM0NDEzNTA5Zjc5ZmUxNGI2MTg4MWZlNThmYTgzOGE0cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwLTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS4zNDQxMzUwOWY3YTAwYWZjOWEyN2RhM2QyNDRkNmRjM3AtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5iY2I3YjE1MjZlNTBlYTFkNDk3YzlmMTg5ZTE5NzE1ZXAtNTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5iY2I3YjE1MjZlNTBkNTQ0YWQyY2MxZWNkM2UyYTI0OXAtNTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuMzQ0MTM1MDlmNzlmZmQxNmRjOWQ0NmNhOWU0YTBkM2NwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcC0yLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS4zNDQxMzUwOWY3OWZkMzY1YTNmZDhjNzMwOWE0ZDgxZHAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuMzQ0MTM1MDlmNzlmZjYyM2ZkZDdmZDExNWFhMTk4MTZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcC0xLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTB4MS4zNDQxMzUwOWY3OWZlMTRiNjE4ODFmZTU5MDRlZmQ4NnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIC0weDEuY2U2MWNmOGVmMzZmZWRiYzhkNjE1NmJkNjYxZTI5OGVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAtMHgxLmNlNjFjZjhlZjM2ZmU2YzlhZTljMGQwNDIyNzViNDY4cC0xLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgLTB4MS5jZTYxY2Y4ZWYzNmZkOGUzZjExMTc5OTE5YmNiOGVmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuMzQ0MTM1MDlmNzlmZjJhYThlNzU1ODM0YjhjZDVkODNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwMCwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuMzQ0MTM1MDlmNzlmZTgzZTQwNGQ2OTllZDNhNDEwM2JwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIC0weDEuODE1MTgyNGM3NTg3ZWU3NmQ2M2EwNTBhYmU4YmE2M2ZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuODE1MTgyNGM3NTg3ZWFmZDY2ZDc2MDJlMWNiNzZiYWNwMCwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC0weDEuODE1MTgyNGM3NTg3ZTQwYTg4MTIxNjc0ZDk2MjU4ZjdwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuY2U2MWNmOGVmMzZmZWE0MzFkZmViMWUwYzQ0OWVlZmJwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuY2U2MWNmOGVmMzZmZTZjOWFlOWMwZDA0MjI3NWI0NjhwMCwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuY2U2MWNmOGVmMzZmZGZkNmNmZDZjMzRhZGYyMGExYjNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC0weDEuMGRiOTBlNjhiOGFiZjMwN2IyZTFhZjViNjUwNDFiZGJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuMGRiOTBlNjhiOGFiZjE0YWZiMzA1Y2VkMTQxOWZlOTJwMSwKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuMGRiOTBlNjhiOGFiZWRkMThiY2RiODEwNzI2Zjc1MzdwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuMzQ0MTM1MDlmNzlmZjBlZGQ2YzQwNWM2NjdlMzQwMzlwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIC0weDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwMSwKKyAgICAweDEuMHAtOAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIC0weDEuMzQ0MTM1MDlmNzlmZWJiN2FmYjAwZTdiNzU0ZTk5OTVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuNWFjOTViYWIzNjkzZWVkM2ZhYTY1YzMxNmFjMjY0OTdwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLjVhYzk1YmFiMzY5M2VkMTc0MmY1MDljMzE5ZDg0NzRlcDEsCisgICAgMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAtMHgxLjVhYzk1YmFiMzY5M2U5OWRkMzkyNjRlNjc4MmRiZGYzcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtMHgxLjgxNTE4MjRjNzU4N2VjYmExZTg4YjI5YzZkYTE4OGY1cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLTB4MS44MTUxODI0Yzc1ODdlYWZkNjZkNzYwMmUxY2I3NmJhY3AxLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIC0weDEuODE1MTgyNGM3NTg3ZTc4M2Y3NzRiYjUxN2IwY2UyNTJwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAtMHgxLmY0ZTlmNjMwMzI2M2U2NmM4YTJmYjVkZDc2M2VmNjBmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLTB4MS5mNGU5ZjYzMDMyNjNlNGFmZDI3ZTYzNmYyNTU0ZDhjNnAxLAorICAgIDB4MS4wcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIC0weDEuZjRlOWY2MzAzMjYzZTEzNjYzMWJiZTkyODNhYTRmNmNwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmY0ZTlmNjMwMzI2M2U2NmM4YTJmYjVkZDc2M2VmNjBmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgLTB4MS5mNGU5ZjYzMDMyNjNlNGFmZDI3ZTYzNmYyNTU0ZDhjNnAxLAorICAgIDB4MS4wcC0xMworICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuZjRlOWY2MzAzMjYzZTEzNjYzMWJiZTkyODNhYTRmNmNwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLmNlNjFjZjhlZjM2ZmVkYmM4ZDYxNTZiZDY2MWUyOThlcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS5jZTYxY2Y4ZWYzNmZlNmM5YWU5YzBkMDQyMjc1YjQ2OHAtMSwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIC0weDEuY2U2MWNmOGVmMzZmZDhlM2YxMTE3OTkxOWJjYjhlZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLmRiMTFlZDc2NmFiZmMyM2RhZDQ2ZmY1ODg2NDEwOTVkcC01LAorICAgIDB4MS5iZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgLTB4MS5kYjExZWQ3NjZhYmY0MzJkYzNjMWJiNDE2N2E2ZWI0N3AtNSwKKyAgICAweDEuY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEuZGIxMWVkNzY2YWJlYzQxZGRhM2M3NzJhNGQ5NjgzM2VwLTUsCisgICAgMHgxLmMwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmYyYWE4ZTc1NTgzNGI4Y2Q1ZDgzcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcDAsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmU4M2U0MDRkNjk5ZWQzYTQxMDNicDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLmNiMzhmY2NkOGJmZWEzYzU3NzhkMjZjM2U2OTI5YjM2cC02LAorICAgIDB4MS5kZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgLTB4MS5jYjM4ZmNjZDhiZmRiNjk2YjI5NDYzNjU4Yjk5MTIzN3AtNiwKKyAgICAweDEuZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0weDEuY2IzOGZjY2Q4YmZjYzk2N2VkOWJhMDA3Mzg4NzdlYjdwLTYsCisgICAgMHgxLmUwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAtMHgxLjgxNTE4MjRjNzU4N2VlNzZkNjNhMDUwYWJlOGJhNjNmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLjgxNTE4MjRjNzU4N2VhZmQ2NmQ3NjAyZTFjYjc2YmFjcDAsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAtMHgxLjgxNTE4MjRjNzU4N2U0MGE4ODEyMTY3NGQ5NjI1OGY3cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMHgxLmMzZDA4Mzc3ODRjNWQ0ZGMyYjQ3MGEwODliOGI2MTM3cC03LAorICAgIDB4MS5lZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgLTB4MS5jM2QwODM3Nzg0YzQwOWNiZjg1ZDRkZDYxZDQyNmUxYnAtNywKKyAgICAweDEuZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuYzNkMDgzNzc4NGMyM2ViYmM1NzM5MWEzYWRjODc0NjFwLTcsCisgICAgMHgxLmYwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAtMHgxLmNlNjFjZjhlZjM2ZmVhNDMxZGZlYjFlMGM0NDllZWZicDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLmNlNjFjZjhlZjM2ZmU2YzlhZTljMGQwNDIyNzViNDY4cDAsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAtMHgxLmNlNjFjZjhlZjM2ZmRmZDZjZmQ2YzM0YWRmMjBhMWIzcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLmMwM2E4MGFlNWUwOGJmYmFlYjAwMWJiM2NjMGUwMDIwcC04LAorICAgIDB4MS5mN2ZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTB4MS5jMDNhODBhZTVlMDUzODJkNTFmNzFiMGY2NjAyYzc2YXAtOCwKKyAgICAweDEuZjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS5jMDNhODBhZTVlMDFiMDlmYjhlZTFhNmIxY2E2YjgyM3AtOCwKKyAgICAweDEuZjgwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0weDEuMGRiOTBlNjhiOGFiZjMwN2IyZTFhZjViNjUwNDFiZGJwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuMGRiOTBlNjhiOGFiZjE0YWZiMzA1Y2VkMTQxOWZlOTJwMSwKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuMGRiOTBlNjhiOGFiZWRkMThiY2RiODEwNzI2Zjc1MzdwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuYmU3NmJkNzdiNTAzMzFiNzUxYjRkOGFmODhmYjA3ZWNwLTksCisgICAgMHgxLmZiZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAtMHgxLmJlNzZiZDc3YjRmYzMwZDZjYjVlNzI5ZmMwYmQ1ZmE1cC05LAorICAgIDB4MS5mYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLmJlNzZiZDc3YjRmNTJmZjY0NTA4MGM5MDMwZjdhYjc5cC05LAorICAgIDB4MS5mYzAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgLTB4MS4zNDQxMzUwOWY3OWZmMGVkZDZjNDA1YzY2N2UzNDAzOXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS4zNDQxMzUwOWY3OWZlZjMxMWYxMmIzNTgxNmY5MjJmMHAxLAorICAgIDB4MS4wcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgLTB4MS4zNDQxMzUwOWY3OWZlYmI3YWZiMDBlN2I3NTRlOTk5NXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5iZDk2YTFkN2Q5ZDliNjNlNWFhN2QwODJhMTQwZDczOHAtMTAsCisgICAgMHgxLmZkZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLmJkOTZhMWQ3ZDljYmMyOGQxZWQ4OGViOTg3MDQ4MDM4cC0xMCwKKyAgICAweDEuZmUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5iZDk2YTFkN2Q5YmRjZWRiZTMwOTRjZjBkY2Q1YzBhZHAtMTAsCisgICAgMHgxLmZlMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAtMHgxLjVhYzk1YmFiMzY5M2VlZDNmYWE2NWMzMTZhYzI2NDk3cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS41YWM5NWJhYjM2OTNlZDE3NDJmNTA5YzMxOWQ4NDc0ZXAxLAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS41YWM5NWJhYjM2OTNlOTlkZDM5MjY0ZTY3ODJkYmRmM3AxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5iZDI3MDQ1YmZkMWUyNDc2N2ViMWZhZGRhMzhiODJlMnAtMTEsCisgICAgMHgxLmZlZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAtMHgxLmJkMjcwNDViZmQwMjRiMGViNWE2OTAxOTlmN2QzMTFmcC0xMSwKKyAgICAweDEuZmYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgLTB4MS5iZDI3MDQ1YmZjZTY3MWE2ZWM5YjI1NTY3YWE5YmIxM3AtMTEsCisgICAgMHgxLmZmMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAtMHgxLjgxNTE4MjRjNzU4N2VjYmExZTg4YjI5YzZkYTE4OGY1cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgLTB4MS44MTUxODI0Yzc1ODdlYWZkNjZkNzYwMmUxY2I3NmJhY3AxLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuODE1MTgyNGM3NTg3ZTc4M2Y3NzRiYjUxN2IwY2UyNTJwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAtMHgxLmJjZWY1MThlMjk5OGJmMmZjZGVjYTZkMGM3ZDI0M2MzcC0xMiwKKyAgICAweDEuZmY3ZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIC0weDEuYmNlZjUxOGUyOTYxMWE1MDZiYzY1MzFlOTc2NTU0MTRwLTEyLAorICAgIDB4MS5mZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLmJjZWY1MThlMjkyOTc1NzEwOTlmZmY2ZTI0OGVjNTBlcC0xMiwKKyAgICAweDEuZmY4MDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIC0weDEuZjRlOWY2MzAzMjYzZTY2YzhhMmZiNWRkNzYzZWY2MGZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLmY0ZTlmNjMwMzI2M2U0YWZkMjdlNjM2ZjI1NTRkOGM2cDEsCisgICAgMHgxLjBwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgLTB4MS5mNGU5ZjYzMDMyNjNlMTM2NjMxYmJlOTI4M2FhNGY2Y3AxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMworICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIC0weDEuYmNiZWE0NTY0NTg0OGE0YmU0MmUyZDRhYzkxYzZkOWZwLTE1LAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgLTB4MS5iY2JlYTQ1NjQzYzdjNGI0NjUwM2UzMGU1OWI3ZGQyOHAtMTUsCisgICAgMHgxLmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuYmNiZWE0NTY0MjBhZmYxY2U1ZDk5OGRmZDBlZjNkOGJwLTE1LAorICAgIDB4MS5mZmYwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAweDEuMzQ0MTM1MDlmNzlmZWYyZGE1YTM1MGIzM2E1NzRlYjVwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjM0NDEzNTA5Zjc5ZmVmMmEyYzMzZWUwZTVkYjU1ZWFmcDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS5mZDE0ZGIzMWJhM2JhYjJiOTFhNWFlNzgyZjIwNGQ0ZnAtMiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLjkxYTc0YzRmODUzNzc3ZjRlNTI1ZjY0MDMwNGU1NGJlcC0zLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuYmNiN2IxNTI2ZTUwZDU0NGFkMmNjMWVjZDNlMmEyNDlwLTU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuYmNiN2IxNTI2ZTUwZWExZDQ5N2M5ZjE4OWUxOTcxNWVwLTU1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS5hZGI2M2I4OGQ0MTBjY2RhYjFmZWUwZGZmYjQ3ZTI0NHAtNCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuMzNhNzE0NmY3MmE0MWYzMjkzYTQ2NGI0YjFhYTUxNGNwOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIC0weDEuMzNhNzE0NmY3MmE0MWYzOTg2ODMyOWZlNmFlZGE2NWVwOCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuMzNhNzE0NmY3MmE0MWY0MDc5NjFlZjQ4MjQzMTZhOWZwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIC0weDEuMzNhNzE0NmY3MmE0MWY0NzZjNDBiNDkxZGQ3NTllMGVwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuNDMwMTUzZDNiMWI5NTY2MzM4Y2Y1ODZkMGUxMjhlZGNwOCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIC0weDEuNDM0ZTY0MjBmNDM3M2U1ZjA1MTcxZDE5ZTQxODRkMjVwOCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5wMCwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLnAxLAorICAgIDB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuODBwMSwKKyAgICAweDEuZjQwcDkKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9sb2cxMGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2xvZzEwZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYxYWMyNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9sb2cxMGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTIyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19sb2cxMGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLmZlOGJmZGZmZmYxM2RkNDc1MTJjMDQ4ZjQ5MWY5YjQzcDMsCisgICAgMHgxLjAwMDAyMnAtNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS44MTUxNzBlZDRlMDg2ZTc1NTE3MTAwMGEyMWU0NDE4YXAyLAorICAgIDB4MS4wMDAwYTBwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuZmU4YmVhZmZmNTczNmM5NzEzMGM5Y2VkMWY1N2QxYTNwMywKKyAgICAweDEuMDAwMTgwcC01MworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLjM0M2UwZWZmZTBiMmNmNWM0MjYxMTQwZjY3YmJiOWRicC0yLAorICAgIDB4MS4wMDAxZDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmJjNDFiOTAwNmY5ZWExOTFmOGQ3Nzk5Mjk4ODE0OGU4cC0xMSwKKyAgICAweDEuMDA3ZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjI4NmQ0OGYyMzI4ZDFjNTFiYjQyNjQ5ZjFlMzZmNTFjcC0xMCwKKyAgICAweDEuMDBhYWRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjNjMzcyNGZmZjlhNjZhMWZjODhjNjI3NTNhMDFhMDkzcC0xMCwKKyAgICAweDEuMDBiNjQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLmI0MTA2NmE3NjVjNDdjNjUwZTNmMmI2NTM4MzgzNmM1cC0xMCwKKyAgICAweDEuMDBmYjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLmI0ZWRlOGFiNzM4M2I4ZTFhYzY0MDM4NDJhYjEyNWUxcC0xMCwKKyAgICAweDEuMDBmY3AwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5iNjA2NDA5YTY2YWNlMjY0NGQ1NjViM2JiZTQ5NWI0YnAtMTAsCisgICAgMHgxLjAwZmNhMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuMzYxNzAyZmZmMjcyMjA2MDNmZjVhNzRiOWE3Mjc4YTFwLTIsCisgICAgMHgxLjAxMGZwMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjMwZWNkNmZlOTgwM2IyNjQ0M2QwYThjODRjZjg4ZjQ5cC05LAorICAgIDB4MS4wMTYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5hZDE1NjEwNDNlMjM4YTU0ZjI5NjgzMDhiNWI4NGEwYXAtOSwKKyAgICAweDEuMDFlZmRlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5hZGQ2N2IwNDliOWVjY2I1ODlkNTlmMmU5NDA0NGQ0Y3AtOSwKKyAgICAweDEuMDFmMGJlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5iNDE4MTcyN2U1MjVhYTNjOWZlOWJiODFhMWVhMzJmMnAtOSwKKyAgICAweDEuMDFmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuYmE5MGFmMDMwMDU0NjcxNGM5MWU2OTgwNzcxNjI0NGJwLTksCisgICAgMHgxLjAxZmY4MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuYmY3NWM2ZmRkMzg3Y2ZjMzNlMTc4YzcxNDBmZjRhNDNwLTksCisgICAgMHgxLjAyMDUzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuYzE2MGZjZmIzZjExMjYzZGY2YzU0NzlhN2ZjMWY5NmVwLTksCisgICAgMHgxLjAyMDc2YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuYzNiMzk2ZmI3Y2MxNzU0ODA5NGNkZWVkODA2ODEyZDdwLTksCisgICAgMHgxLjAyMGExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuMDQxZTVlZmZmODYzN2ExODFjYWI1YTQ4N2U1MzRmMWNwNSwKKyAgICAweDEuMDIyMHAxMDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS5kZWFmNDEwMDlkZGU2NGNiODVmNjhkMDlkMmVkZjE3M3AtOSwKKyAgICAweDEuMDIyOTZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5lY2Y0N2VmZGFlYjEwZjVhZGUyOGZmOTNmNGY0NDUyN3AtOSwKKyAgICAweDEuMDIzYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuZjUxNGY4OTc1NmQ2NjdhMjA5NGI5YWE2ZjU0MjVhOTRwLTgsCisgICAgMHgxLjA0OGNwMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS4zMWFkZDNmZmNmMTkxZWI3NWI5NDlkMGM0YjI1NTYyZXAwLAorICAgIDB4MS4wNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjVkNWViOGZmZmNlMTNlZjU2MTNmNWMyNjM1MGIzZWYzcC03LAorICAgIDB4MS4wNjVjZDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmIwMmFmYjAwM2RlZjMwNGE1MTNjODRkODA5ZjIxMjM4cC03LAorICAgIDB4MS4wN2U0YmNwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmU4Mjk2YjAwMmJiYTA2MmI0MmIyNTY0MjM4MDE1MmUycC03LAorICAgIDB4MS4wOGVmMTJwMAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmU5YzVlOTAwMjFlYzAxYzI5N2U0NzVhYmU0YmE0MnAtNywKKyAgICAweDEuMDhmNmMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIC0weDEuN2QyYjUwZmZmZjAxODYzNzMyODdhOTlmMGNlY2QyOGVwMCwKKyAgICAweDEuMDliY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjNhNjJjYmZmZmYyODM0ZDc1YTcwMzYwZjZiOWQ2NGNmcDAsCisgICAgMHgxLjBlODNhMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLjdhYTJiYzAwMDIyMTA1NTI3M2JmYTdmZWU2MmQwMzc5cDAsCisgICAgMHgxLjBmZGNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5kNWJiZDRmZmZkMzVjNDAzYmIwYTY1MmU5MzM0ZjFlNHAwLAorICAgIDB4MS4xMTgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5lZjQyNTI4N2MyMWZlZWM5YzU0ZTE3OGQ4OTQzNTRlZHAtNiwKKyAgICAweDEuMTI3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAtMHgxLjI5Mjk3ZGZmZmY5MDFiYjhhYzUxOTBlY2ExMDE4NmI5cDAsCisgICAgMHgxLjFhZGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS44MTdkYzhmY2NiYzBmYjUwODdlODhmNTU0ZjE5MDhmZHAtNSwKKyAgICAweDEuMWQ0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuOTZhYWFjZmVmY2YzYmI4ZGNmM2Q4Yzk0ZWIxNDIzY2FwLTUsCisgICAgMHgxLjFmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5hMmQ5MzM0YTY3NDE3NjM1OTE4YWFmNjFhMDA5OTRmMHAtNSwKKyAgICAweDEuMWZmY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuZTMyZDMyZmE1YzlkMzg1MDlhN2JhM2UyYmZiOTM1NzRwLTUsCisgICAgMHgxLjI1M2QyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuNTU4MTFlZmZiZTMxMTMyNWJlODE4NTJiMDU1NjAzMmNwLTEsCisgICAgMHgxLjI5NGE1MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmQ3ZGFlMGZmZmVlODVmNjM5YzQ0ZDFmOTRiODhhOWFhcC0zLAorICAgIDB4MS4yZDM2M2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIC0weDEuOWJhNzFiMDAwMWJjYjg5MTA2ZTk3NWE1NzM1Y2M1NGNwMSwKKyAgICAweDEuM2VjZjg0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLnAwLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuODc5ZWNlZmZmZmY5OTkzNjJkZTNlNTZhMmE2ZWQyMzhwMiwKKyAgICAweDEuNDEyNjY4cDIwCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuYzEwMzQzMDU3ZjM2YmU4NTdlODczOGI2ZGZlY2Q1ZGVwLTQsCisgICAgMHgxLjQ5ODE1MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZjIzN2IzODliOGFmYWFjNGNhYzQwZjI2OTVkZjcyMDlwLTQsCisgICAgMHgxLjUyYmYyYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmUwZThmOWU0YjE3ZTUxN2MwYTQ3NDA0MTMwZTY4ODM4cC0yLAorICAgIDB4MS41YjQzZTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5iY2U4YjAwMDAyMTJiZDU2M2FkZTlmOTMzNDM3NzlmYnAtMiwKKyAgICAweDEuNWMxN3AxCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmQzMGZhM2Q5NTE3OTY4NzYyNDEwODA3YmU5YzdjYjdlcC0yLAorICAgIDB4MS42NjNmZTBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS5jYTNmOThmZmZmZmVhODA2NjQwZTA3M2M1YjE3ZGE3NXAtMiwKKyAgICAweDEuNjZiMDZhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuODFiYmNjZmZmZWIxMDA3NGQwZjg3ZTllNmFiNjhmM2ZwLTEsCisgICAgMHgxLjY5NWRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEuMzQ0Mjg5MTE1NWZlZGMxNTMxZTVjNGE1OTNmMGUyZjBwLTMsCisgICAgMHgxLjZhMDk1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmYyODQ4OTAwMmQzMmYyOWY3NjYyNzZlOTZmN2YyMWFhcDQsCisgICAgMHgxLjZhYWFhYXAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuN2Q5NzIyZmZmZmZlZTA2ODI5NTM2NTYxZjBmMTNlMDdwLTEsCisgICAgMHgxLjcwMjhlMnAtMworICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLmUzOWU0NWQ1MWNjYzViYTc5MzU5OGUyYTViNzlhMGRmcC0yLAorICAgIDB4MS43YmJmMDZwMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5mZmJmY2JmZjliMzgxYzMxYjg3ODMwNTlmMGFjZjA2MnAtNCwKKyAgICAweDEuN2ZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLmZmYmZjMmJiYzc4MDM3NTgzN2M0YjBiODRmMzhhMTRhcC00LAorICAgIDB4MS44MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5iNDBkZDIzODE4MWIzYTllMGFhY2QwNDAyOGFmNGE4MHAtMiwKKyAgICAweDEuODAxZTgycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLmY5MDQzMzAwMDMzYTJmZGEwYzllOGI2NjRkMGRmYWUycC00LAorICAgIDB4MS44MTc0YzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuNTMwY2NiMDAwMzA4MTdjMzdkMTg5NGY2MmMwNTUxOTRwMCwKKyAgICAweDEuODQyMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5lMjI3ODgyMGIzNGNkNTE2ODE1Y2NkOWFmMDBlYzM2Y3AtNCwKKyAgICAweDEuODY3MTI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLmRiMTFlZDc2NmFiZjQzMmRjM2MxYmI0MTY3YTZlYjQ3cC00LAorICAgIDB4MS44OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmViNzZhNDMxN2Y5MzUwNjZhOWRkMjU4ZDY5NDk1ZjNicC0zLAorICAgIDB4MS5iY2Q5NDZwMAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5lNWE3ZDJmZmZiZGU1ZmFiYTlhZDFkYWZhOWY4ZTI1ZXAtMSwKKyAgICAweDEuY2QxZWI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmUzZTJlODAwMDAwMzcwNzAxNTMzNGU4ZjZkNGUxYmFlcC0xLAorICAgIDB4MS5kMGNkYjRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuNDZiNTI4ZmZmMTlmMGRiOTNiMzFjZTY2Yzk0ZDRmYWFwLTEsCisgICAgMHgxLmQ3MzljZXAtMworICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5mZmQxNThiZDBiMjgyNzkwNGFmNmNlYzRjNmUxYmJlNHAtNiwKKyAgICAweDEuZGM3NzEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuYzAwODA2YmI1ODRhODFkMjQyNWE0YzQ0OTI3N2EzYzBwLTEsCisgICAgMHgxLmRmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmEwZWQzNGZmZmM2NjZkYTRkNTJlYzAyYWVhZmVjMzA1cC02LAorICAgIDB4MS5lMmRjOWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5lNjEwMDJmZmZmYzJkMWUwOTgzODUxYmYyNGM5Y2UyM3A0LAorICAgIDB4MS5lMzM5YTJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLjNhNmFlOGZmZmQwZmFmNGFjYTEzNDVhMmI0MTJjYjExcC02LAorICAgIDB4MS5lOWRlNTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuOTc3NWE2ZTM1NTMyZTk5ZDBjZjIzODRhYjg2ZDU0NzNwLTcsCisgICAgMHgxLmYxOGM2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS44MWY5NzcwMDI2MzQ0MzI2NjVkNjVkNzhkMjk2OGE2NXAyLAorICAgIDB4MS5mNDBlNWVwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmY2MjI1MWZmZmZmZjk2OGRiM2VkYmQ2OWJjZjVjZmRjcDEsCisgICAgMHgxLmY0ZTI2YXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMTRmMDNlZmZlMTcyN2EwYzRlNDliMmE2YmFkODg2ODlwLTcsCisgICAgMHgxLmY2MjFmNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTB4MS5mN2MzZjhmZmJkYWIxM2E2Y2FjM2UxZTMxZGY0ZWJiZnAtOCwKKyAgICAweDEuZjcwNDdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmY2M2VmYWFmYjg4ODNlOTc5MzQ5MDg1MGU1OTY4OWM1cC04LAorICAgIDB4MS5mNzBiNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuZjM3ZDE4ZmZiOWVmM2IwZmVmNTc3MjE3ZWQxOGUwOTdwLTgsCisgICAgMHgxLmY3MTdkNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5kZWYzNjRhZDllNTAyOTZiNDFlNjliYmQ5M2Q0Yjg5ZHAtOCwKKyAgICAweDEuZjc3NGNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLmQ5ODBhMzA2MzUwNTViOGQ5YjU0ZWRkNjcyYzg1OGEzcC0xMCwKKyAgICAweDEuZmRkZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLmJlN2NkNmZmYzlmNjM5NzljNjI3NjNiNzQyNGI5MWI4cC0xMCwKKyAgICAweDEuZmRmZWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLmEwZDBmMjk3MWY4YzMzNTlmMDdhNmJiNGZjY2FiMjEwcC0xMCwKKyAgICAweDEuZmUyMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5iZDJhN2Y4OGY3ZTIyZTFmYmVkYTdjMzRlNzhjNWZiZnAtMTEsCisgICAgMHgxLmZlZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS5hZDE3ZWFmZmYzZTU4NWYzMmU5NmQwZTdjNjg5N2VhZXAtMTEsCisgICAgMHgxLmZmMDkzYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS5lMWIyMGVhYjAzZmIzYTRhM2MxY2E1ODcxNmFhMDRkOHAyLAorICAgIDB4MS5mZjFmZmVwLTI2CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLmJkNDJjOGRmMzFlM2Q0NDcyNDRjYzcyMGJkNjdmYWFkcC0xMiwKKyAgICAweDEuZmY3ZmU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmJkYjFmNmNkNDJjN2M0NmQ2OTY3YmIwMDMwMTZlNDVicC0xMywKKyAgICAweDEuZmZiZmUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLmNhNzQ5Yzg3MDZkZThlNDZlZTNjZjViZjlhOTZhYjFicC0xNCwKKyAgICAweDEuZmZkZjA0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmM2MDBiY2JjZTY0NTk5MWQxNjk3OWVkYmJjMGMzMTFmcC0xNCwKKyAgICAweDEuZmZkZjU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLmJkMzRjYzg0YmUyMDBmOGNiNDQ5YzI2YzNmNjc2M2QxcC0xNCwKKyAgICAweDEuZmZkZmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLmJjZTE2NGRjMzM5ZjkyYzE3Y2MyMmNiOWEwNzQ1OGQ2cC0xNCwKKyAgICAweDEuZmZkZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLjM0NDNkMGZmYzhiNGU4YjMxZWQwNTVlNTc5MDI0YTgwcC0xLAorICAgIDB4MS5mZmY5ZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuNzJkZTgwMDAwMTU0OTAzMWFmNmNhOTY3NDdjMTEyNmZwNCwKKyAgICAweDEuZmZmYzdlcC03OAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjM0NDEzNGZmOGI1MWI3YTAxM2QyMzU4ZTAwODlkMzBkcDUsCisgICAgMHgxLmZmZmZmYXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuYmNiN2IzMGYyNjA0ODY4ZGFiODFkNzllMWY0MDQ0M2NwLTI1LAorICAgIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuMzQ0MTM2MDk1OWMyYmYxN2E1OWFmMzczNTc2NjNmMDlwLTMsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS44ZTI3MWQ2YWI1ZDdlZTg0MTA2ZjQ4ZTMzYjhjYjhlMHAtNCwKKyAgICAweDEuOTk1MjU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLjk3NjJiYTJmNGEyMTk4YTJjZTg5NzQ0NTBiZTE2NjFmcC01LAorICAgIDB4MS5jODlhYzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuYzY5NDc2NDY4MjAwMmY3OWE3NGIyMmJiNzU3MDQ3N2VwLTgsCisgICAgMHgxLmY3ZTMzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjA2NDY2MTE5NzM4MWM3MWYxYTlmOWFjMjFlMzEzNzQ5cC01LAorICAgIDB4MS4xMzk1ZDJwMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjE1OGJlZGM0Njg2MWQwZDI3YzExNDAzM2YzZGI5YTk2cC00LAorICAgIDB4MS4yYjNhMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS45Y2QxMGJlZmU3MmNjOGE4ZWNmZWFjZDcwYWVkODc0YXAtNCwKKyAgICAweDEuNDJkZTQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuMGQ0MmY5NGQ3MWVhYjFhNDVhNGUxOWY1YTFkNzhmY2JwLTMsCisgICAgMHgxLjVhODI3YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjQ3ZjcwN2M5NDBjNjljMGUyYjgxYTg4M2M3ZmNmM2UycC0zLAorICAgIDB4MS43MjI2YjJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS43ZjA4NTY3ZDA1NmExNWFjMTg5OTJhMjU3MzA3NGZjMXAtMywKKyAgICAweDEuODljYWVhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuYjJlMzdlM2VjMWJkNjBjNzhlYzBiODIxZWEzNzYwNGRwLTMsCisgICAgMHgxLmExNmYyMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmUzZTMyMTViN2FmYTMzNTVlZjRlZDYzYzcyNjg1ZmYzcC0zLAorICAgIDB4MS5iOTEzNWFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wOTI5ZDY4MDYzMjg4ZWFmMTU5NDI3OGViN2IyZmM4ZXAtMiwKKyAgICAweDEuZDBiNzkycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuMWYzYjE1ZWExMjFlZDM3ODYzOGM2ZTc2YjFhMzEwOGZwLTIsCisgICAgMHgxLmU4NWJjYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcC0yLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuMzQ0MTM2MDk1OWMyYmYxN2E1OWFmMzczNTc2NjNmMDlwLTMsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIC0weDEuZWRjN2I3ZDE3MjZiOWQzYTMyOTk2NzYyZDQ1ZTc4MGFwLTQsCisgICAgMHgxLjgzZTYwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuN2FmOTdiN2JjZThhZmM3NzEyMmFmYjAzNzVhMmRhNTNwLTQsCisgICAgMHgxLjlkYzIyYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIC0weDEuMGYyMTk5NTczNzVhMzFiZTQxYmU0YzQzYTY5MTYxMDRwLTQsCisgICAgMHgxLmI3OWU0Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuNTJlODYzMjRkMDgzNDhkYjYyYTFiMzBhMTk2NzRhNWNwLTUsCisgICAgMHgxLmQxN2E2ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuMjUxOWYzYTU2NjdhZWE0MGUxZjk2MmExZjVkODVjMjFwLTYsCisgICAgMHgxLmViNTY5MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS4xZjgwNjU0NTY3YzVhYTA3ZTFkOTU3OGRmZGU3NWIxZnAtOCwKKyAgICAweDEuMDI5OTVhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuYTMwYTg4NGI0OGNlZDEwMzcyYzNjMWY3OWQ4MTA1NWJwLTYsCisgICAgMHgxLjBmODc2Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjc3MDZkZWNjYmUxNWRmOWM5MTAxNjkwY2M5YjczNmIwcC01LAorICAgIDB4MS4xYzc1N2VwMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS4wYTk2NWY1ODJhZDJkMmNjMzk2MjM2NGU3MmZhYmY0YnAtNCwKKyAgICAweDEuMjk2MzkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuNTY0YmE0NDUwNDAyYjZkNTFiMjIyMzFlZTMwMDU2ZWNwLTQsCisgICAgMHgxLjM2NTFhMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjllZTk5ZDFmODFjZWE1MjYyZThlNWZhODMwOGE0ZjEwcC00LAorICAgIDB4MS40MzNmYjRwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5lNGFlNjA0OWM0NTYxYmEyZTViNTRlNGFlZjdlYzFmN3AtNCwKKyAgICAweDEuNTAyZGM2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMTNlODdkZjAwYmU1YzhlNThmNWY2YmFhMDBhOGU5YThwLTMsCisgICAgMHgxLjVkMWJkOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLjM0NDEzNDBhOTU3ZDFmNGE5ODhhNzMzY2Q2OGMwNmQ3cC0zLAorICAgIDB4MS42YTA5ZTZwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuZmZiZmMyYmJjNzgwMzc1ODM3YzRiMGI4NGYzOGExNGFwLTQsCisgICAgMHgxLjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS41NjM0NjQxYTNmZDUxNjgxZjEyZDNkZjkwNzE5YWVkMHAtNCwKKyAgICAweDEuYTY2NjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS43NmQ4NmZkZDYxZDAyNjVmZDg0MTZmNzI5N2JkNDk0ZnAtNSwKKyAgICAweDEuY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLTB4MS42ODRjMWEzMzJkNWRjMzMwN2Q3M2M3YmEyNTE2OGQwZnAtNywKKyAgICAweDEuZjMzMzMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjViMmE0Nzc0YTJkZTIxNDNkOGZmNWY2NDlhNTA4NjNicC02LAorICAgIDB4MS4wY2NjY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5hMzBhOWQ2MDllZmU5YzI4MTk4MmQ3ZGY3YWU2OTI1OXAtNSwKKyAgICAweDEuMjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS40NDUzOTI4NTljNTYwYzNjOWVkNTYxMjVlMjFiYTU4NHAtNCwKKyAgICAweDEuMzMzMzM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuYjAyYjdiNDgwNGQ2ZTMzNDZlNmYzMGZiMGVkODBlZDhwLTQsCisgICAgMHgxLjQ2NjY2OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjBhZWM3NDc3MzhjNTU3MjExYjIxNDEwNjIxYjI2ZjhmcC0zLAorICAgIDB4MS41OTk5OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS4zYjAzNTE2ZDUwYjM1NDQxNThmNTg5Yzc2OGY5NDZlNnAtMywKKyAgICAweDEuNmNjY2QwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuNjhhMjg4YjYwYjdmYzJiNjIyNDMwZTU0MDY1NWY1M2JwLTMsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmUxYTVlMmRmOTJlOWU1YmNjMDhkMzgzOWEzZTU0Njk3cDQsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuZTI0ZjZlNDI2YThiZjhhOWU2N2E3Nzk5ZjhiMTc0NTFwNCwKKyAgICAweDEuMTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5lMmVhMzY3MjE4ODYzYmM4ZmQyYzBkOWFjOWM3NjIzY3A0LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmUzNzg5OTI5YjkwNGU4MWJjNmYwZTUxNThmMzY1MjAzcDQsCisgICAgMHgxLjRjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuZTNmYzZkNDE2ODJkMThkOGM3MDNkNjAxZGRjMWZhMjBwNCwKKyAgICAweDEuNjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5lNDc3MjdmYTQyZDQ5MGNjOTZiYWQyNTNhMzY1NjQzNnA0LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmU0ZTlmNjNhOWViMjA0Y2QyZGNkOTRiN2NlY2EyOGE3cDQsCisgICAgMHgxLjk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuZTU1NWNlMjA1MDRlZDY5MTk1NGJjMTBlMTc1ODY3YThwNCwKKyAgICAweDEuYjMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5lNWJiN2I4YjNkMjJmMGEyNWFmYjNmNmM2ODc3ZTQxN3A0LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLmU2MWJhOTQyYjkyODk1NmFmMGJhZmMxYWQwNGYwYjIwcDQsCisgICAgMHgxLmU2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuZTY3NmU3YjNiYWM4NjU3OTg1MDk4MzA3MDQ0MTJiMjNwNCwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuYmNiN2JmMzgyYzZmYjNkZjAwMjllMWU2YzA0ZTViMDRwLTIyLAorICAgIDB4MS5mZmZmZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLjE1ZjJkMThhNjQwMGFiMDNiZTkwYmZjZWFhNTQ0N2ZicC0yMywKKyAgICAweDEuZmZmZmY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjRkODljMTE1MzU3ZDUzNWM4Zjk1MzMzMzhlNjg4M2VhcC0yMywKKyAgICAweDEuMDAwMDA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuYmNiN2EzNmNiMTVhOGNlYzBjMzliMGE3Y2YyZDc4NThwLTIyLAorICAgIDB4MS4wMDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuYmNiN2IyMzBjYTJhMjA5ZWNlYjM5MjljNWEwMmZmNTlwLTI2LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmJjYjdiMjMwY2EyYTIwOWVjZWIzOTI5YzVhMDJmZjU5cC0yNiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5iY2I3YjIzMGNhMmEyMDllY2ViMzkyOWM1YTAyZmY1OXAtMjYsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuYmNiN2IyMzBjYTJhMjA5ZWNlYjM5MjljNWEwMmZmNTlwLTI2LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmJjYjdiMjMwY2EyYTIwOWVjZWIzOTI5YzVhMDJmZjU5cC0yNiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5iY2I3YjIzMGNhMmEyMDllY2ViMzkyOWM1YTAyZmY1OXAtMjYsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuYmNiN2IyMzBjYTJhMjA5ZWNlYjM5MjljNWEwMmZmNTlwLTI2LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmJjYjdiMjMwY2EyYTIwOWVjZWIzOTI5YzVhMDJmZjU5cC0yNiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5iY2I3YjIzMGNhMmEyMDllY2ViMzkyOWM1YTAyZmY1OXAtMjYsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuYmNiN2IyMzBjYTJhMjA5ZWNlYjM5MjljNWEwMmZmNTlwLTI2LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmJjYjdiMjMwY2EyYTIwOWVjZWIzOTI5YzVhMDJmZjU5cC0yNiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5iY2I3YjIzMGNhMmEyMDllY2ViMzkyOWM1YTAyZmY1OXAtMjYsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS4zNDQxMzUwNjdlMzA4YWNmOGFiZTcyMWE3OTkxZmRiN3A1LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTB4MS42NmQzZTdiZDlhNDAyYzZmMmUyYmM0YzQ4YWJlMDJhYnA1LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuMzQ0MTNhZjMzM2FlOGM4NmMxMzVhYjUyNzg0OTQ0NTJwLTMsCisgICAgMHgxLjZhMDllNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuMzQ0MTM2MDk1OWMyYmYxN2E1OWFmMzczNTc2NjNmMDlwLTMsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuMzQ0MTMxMWY3ZmRkZTQ4NzUzNDc3ZDZiMWFmNWQ5M2RwLTMsCisgICAgMHgxLjZhMDllOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS4zNDQxMmYyMGJiOTE1MWRiN2NlZmJiNWRiNWE5MDE4ZXAtMywKKyAgICAweDEuNmEwOWU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuMzQ0MTM0MGE5NTdkMWY0YTk4OGE3MzNjZDY4YzA2ZDdwLTMsCisgICAgMHgxLjZhMDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjM0NDEzOGY0NmY2MWY5ZGFlYWRkZTk0NTEyZmM2Y2EzcC0zLAorICAgIDB4MS42YTA5ZThwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuMzQ0MTM2YzZhZjUyMWZmYjQ5MzM1MjI2Y2E4YmJmNGFwLTIsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuMzQ0MTMxOTA4ODQwYzNjM2RiNGY1MTUyODViMTFjMjJwLTIsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuZmZiZmNiZmY5YjM4MWMzMWI4NzgzMDU5ZjBhY2YwNjJwLTQsCisgICAgMHgxLjdmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuZmZiZmMyYmJjNzgwMzc1ODM3YzRiMGI4NGYzOGExNGFwLTQsCisgICAgMHgxLjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS5mZmJmYjk3N2YzZDRhY2VlNGViMGIzNjBkYmM2ZWM0OHAtNCwKKyAgICAweDEuODAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLjY4YTI4NDE0MjFhM2QwNDk2MWU5NGU4MzM1OWJjZGFmcC0zLAorICAgIDB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS42OGEyODhiNjBiN2ZjMmI2MjI0MzBlNTQwNjU1ZjUzYnAtMywKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS42OGEyOGQ1N2Y1NTU4N2ViMTZjZDBjZmZjMDBlY2ZiY3AtMywKKyAgICAweDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMjgxMzJmYmIzMzZmN2JjYjM0YjcwYjAwODY3ZGM5ZDVwLTEwLAorICAgIDB4MS4wMGFhYThwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS4yODE2YTZkYjMxMzFiNmVkYTQxNGU2OWVhZTQ0N2M5ZHAtMTAsCisgICAgMHgxLjAwYWFhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLjI4MWExZGZiMjgwYTRkZDlhYmNkYTNhNzAyZTUyNThkcC0xMCwKKyAgICAweDEuMDBhYWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMzQ0MTM0MmI5YmM2ZDZjYzBhMDI2M2YwYmQyZmQ0YzNwLTEsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcC0xLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS4zNDQxMzZjNmFmNGY4NGU3YzBmNDY0NWFkZjlkMjY1N3AtMSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuMzQ0MTMzNGQzZmVkYmU2NmY0ZjIxNDg5NjM2Njg2OTZwLTIsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcC0yLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS4zNDQxMzg4MzY2ZmYxYTllNjJkNjE1NWRhODQxMjliZXAtMiwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLmJjYjdiMjMwY2EyYTIwOWVjZWIzOTI5YzVhMDJmZjU5cC0yNiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5iY2I3YWY5NWI2YTFlMWIxMDJjOGE0MDM2NmRjMmY3M3AtMjUsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS4zNDQxMzZjNmFmNTIxZmZiNDkzMzUyMjZjYThiYmY0YXAtMiwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS4zNDQxMzUwOWY3OWZlZjMxMWYxMmIzNTgxNmY5MjJmMHAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS4zNDQxMzE5MDg4NDBjM2MzZGI0ZjUxNTI4NWIxMWMyMnAtMiwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4zNDQxMzVlODUzNzkwNzk2MzQyMzAyYmY3MGMyNzExZHAtMSwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS4zNDQxMzUwOWY3OWZlZjMxMWYxMmIzNTgxNmY5MjJmMHAtMSwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4zNDQxMzM0ZDNmZjA1OTdhN2QzMTAyNTU0ZTU1MWY4OXAtMSwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5jZTYxZDA2ZDRmNDhmZjJlYzNhYzVjNmI3YzNmMDI5NXAtMSwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS5jZTYxY2Y4ZWYzNmZlNmM5YWU5YzBkMDQyMjc1YjQ2OHAtMSwKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5jZTYxY2RkMjNiYzA1MTEzMGNiYTVjMDE1OWQxYjEwMXAtMSwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4zNDQxMzU3OTI1OGM3YjYzYTk5YWRiMGJjM2RkY2EwNnAwLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcDAsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuMzQ0MTM0MmI5YmM4MjQ1NWNlMjFkYWQ2YjJhNzIxM2NwMCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS44MTUxODJiYmEzNzQ3NzJmZjE1Zjg3ZTFjOTljMTJjMnAwLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLjgxNTE4MjRjNzU4N2VhZmQ2NmQ3NjAyZTFjYjc2YmFjcDAsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuODE1MTgxNmUxOWIwMjAyMjE1ZTY4N2FjYjg2NTY5ZjhwMCwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5jZTYxY2ZmZTIxNWM3MmZjMzkyNDM0YjdjZjVhNWI3ZXAwLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLmNlNjFjZjhlZjM2ZmU2YzlhZTljMGQwNDIyNzViNDY4cDAsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuY2U2MWNlYjA5Nzk4MWJlZTVkYWIzNDgyYmUyM2IyYjVwMCwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgLTB4MS4wZGI5MGVhMDRmYTIzNzY0NDA3NDcwYzZlYThjNTIxZHAxLAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLjBkYjkwZTY4YjhhYmYxNGFmYjMwNWNlZDE0MTlmZTkycDEsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuMGRiOTBkZjk4YWMwMGJkZDUyYjdmMGFjNjFmMGZkYjhwMSwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS4zNDQxMzU0MThlOTYzNTRhNjQ1NmM3MzFlZDZiNzY3YnAxLAorICAgIDB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcDEsCisgICAgMHgxLnAtOAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuMzQ0MTM0OWFjOWI0MDljMzc2OWE0NzE3NjRkMDIyMTZwMSwKKyAgICAweDEuMDAwMDAycC04CisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgLTB4MS41YWM5NWJlMmNkOGEzMzMwODgzOTFkOWNmMDRhOWFkOXAxLAorICAgIDB4MS5mZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS41YWM5NWJhYjM2OTNlZDE3NDJmNTA5YzMxOWQ4NDc0ZXAxLAorICAgIDB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAtMHgxLjVhYzk1YjNjMDhhODA3YTk5YTdjOWQ4MjY3YWY0Njc0cDEsCisgICAgMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuODE1MTgyODQwYzdlMzExNmFjMWI3NDA3ZjMyOWJmMzdwMSwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEuODE1MTgyNGM3NTg3ZWFmZDY2ZDc2MDJlMWNiNzZiYWNwMSwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuODE1MTgxZGQ0NzljMDU4ZmJlNWVmM2VkNmE4ZTZhZDJwMSwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEuZjRlOWY2NjdjOTVhMmFjOTE3YzI3NzQ4ZmJjNzJjNTFwMSwKKyAgICAweDEuZmZmZmZlcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuZjRlOWY2MzAzMjYzZTRhZmQyN2U2MzZmMjU1NGQ4YzZwMSwKKyAgICAweDEucC0xMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuZjRlOWY1YzEwNDc3ZmY0MjJhMDVmNzJlNzMyYmQ3ZWNwMSwKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIC0weDEuZjRlOWY2NjdjOTVhMmFjOTE3YzI3NzQ4ZmJjNzJjNTFwMSwKKyAgICAweDEuZmZmZmZlcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIC0weDEuZjRlOWY2MzAzMjYzZTRhZmQyN2U2MzZmMjU1NGQ4YzZwMSwKKyAgICAweDEucC0xMworICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuZjRlOWY1YzEwNDc3ZmY0MjJhMDVmNzJlNzMyYmQ3ZWNwMSwKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0weDEuY2U2MWQwNmQ0ZjQ4ZmYyZWMzYWM1YzZiN2MzZjAyOTVwLTEsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuY2U2MWNmOGVmMzZmZTZjOWFlOWMwZDA0MjI3NWI0NjhwLTEsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEuY2U2MWNkZDIzYmMwNTExMzBjYmE1YzAxNTlkMWIxMDFwLTEsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuZGIxMWZkNTg2N2Y4ZmYxY2NhMDQ5ZjRjYjRmZDg2OTRwLTUsCisgICAgMHgxLmJmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuZGIxMWVkNzY2YWJmNDMyZGMzYzFiYjQxNjdhNmViNDdwLTUsCisgICAgMHgxLmMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS5kYjExZGQ5NDZkOTdhZTE2ZjUxYWRhOGYyNWJkNGNjMXAtNSwKKyAgICAweDEuYzAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS4zNDQxMzU3OTI1OGM3YjYzYTk5YWRiMGJjM2RkY2EwNnAwLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjM0NDEzNTA5Zjc5ZmVmMzExZjEyYjM1ODE2ZjkyMmYwcDAsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuMzQ0MTM0MmI5YmM4MjQ1NWNlMjFkYWQ2YjJhNzIxM2NwMCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5jYjM5MWE3MzY0YWM5ZWVkODgzODE3ZjFmZmMyMTUwY3AtNiwKKyAgICAweDEuZGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS5jYjM4ZmNjZDhiZmRiNjk2YjI5NDYzNjU4Yjk5MTIzN3AtNiwKKyAgICAweDEuZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMHgxLmNiMzhkZjI3YjM2ZTZlMTVkYmY5YWE2ZTI2ZTA1MjdicC02LAorICAgIDB4MS5lMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLjgxNTE4MmJiYTM3NDc3MmZmMTVmODdlMWM5OWMxMmMycDAsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuODE1MTgyNGM3NTg3ZWFmZDY2ZDc2MDJlMWNiNzZiYWNwMCwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS44MTUxODE2ZTE5YjAyMDIyMTVlNjg3YWNiODY1NjlmOHAwLAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLmMzZDBiY2Q5OGIzZWRmNDUyMDVjZmRiYjZhZWQxOTE3cC03LAorICAgIDB4MS5lZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAtMHgxLmMzZDA4Mzc3ODRjNDA5Y2JmODVkNGRkNjFkNDI2ZTFicC03LAorICAgIDB4MS5mMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuYzNkMDRhMTU3ZTg0NzAzODU5ZTE0MTdhOGMzMjYyMTJwLTcsCisgICAgMHgxLmYwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuY2U2MWNmZmUyMTVjNzJmYzM5MjQzNGI3Y2Y1YTViN2VwMCwKKyAgICAweDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS5jZTYxY2Y4ZWYzNmZlNmM5YWU5YzBkMDQyMjc1YjQ2OHAwLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLmNlNjFjZWIwOTc5ODFiZWU1ZGFiMzQ4MmJlMjNiMmI1cDAsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuYzAzYWYxYTAxMTVmYjY5NGRmYzdlNTMwNWUzNTAyOTdwLTgsCisgICAgMHgxLmY3ZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuYzAzYTgwYWU1ZTA1MzgyZDUxZjcxYjBmNjYwMmM3NmFwLTgsCisgICAgMHgxLmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5jMDNhMGZiY2FiMWQ3NjZiN2MyNjY2MDgxMjQ3ODY3NXAtOCwKKyAgICAweDEuZjgwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS4wZGI5MGVhMDRmYTIzNzY0NDA3NDcwYzZlYThjNTIxZHAxLAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAtMHgxLjBkYjkwZTY4YjhhYmYxNGFmYjMwNWNlZDE0MTlmZTkycDEsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuMGRiOTBkZjk4YWMwMGJkZDUyYjdmMGFjNjFmMGZkYjhwMSwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTB4MS5iZTc3OWQ5M2M2MzdlZDgxNDI5MzBkMzJjNzYwNjcyY3AtOSwKKyAgICAweDEuZmJmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS5iZTc2YmQ3N2I0ZmMzMGQ2Y2I1ZTcyOWZjMGJkNWZhNXAtOSwKKyAgICAweDEuZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLmJlNzVkZDViYTRhMjUzZmNiZmNkZTI4OTA2NzgyZjgxcC05LAorICAgIDB4MS5mYzAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjM0NDEzNTQxOGU5NjM1NGE2NDU2YzczMWVkNmI3NjdicDEsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuMzQ0MTM1MDlmNzlmZWYzMTFmMTJiMzU4MTZmOTIyZjBwMSwKKyAgICAweDEucC04CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS4zNDQxMzQ5YWM5YjQwOWMzNzY5YTQ3MTc2NGQwMjIxNnAxLAorICAgIDB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAtMHgxLmJkOTg2MDRlMDIyNWM1ZjViY2ZjYWYyZDMxN2E5Y2I4cC0xMCwKKyAgICAweDEuZmRmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgLTB4MS5iZDk2YTFkN2Q5Y2JjMjhkMWVkODhlYjk4NzA0ODAzOHAtMTAsCisgICAgMHgxLmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgLTB4MS5iZDk0ZTM2MWIzMzFmNTgyNTg3NDY4M2QxNmE0ZmEwMnAtMTAsCisgICAgMHgxLmZlMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuNWFjOTViZTJjZDhhMzMzMDg4MzkxZDljZjA0YTlhZDlwMSwKKyAgICAweDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuNWFjOTViYWIzNjkzZWQxNzQyZjUwOWMzMTlkODQ3NGVwMSwKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTB4MS41YWM5NWIzYzA4YTgwN2E5OWE3YzlkODI2N2FmNDY3NHAxLAorICAgIDB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLmJkMmE3Zjg4ZjdlMjJlMWZiZWRhN2MzNGU3OGM1ZmJmcC0xMSwKKyAgICAweDEuZmVmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgLTB4MS5iZDI3MDQ1YmZkMDI0YjBlYjVhNjkwMTk5ZjdkMzExZnAtMTEsCisgICAgMHgxLmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgLTB4MS5iZDIzODkyZjA1OWY1MzZjODU0YzZiMTNjNWEzYjdiZnAtMTEsCisgICAgMHgxLmZmMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuODE1MTgyODQwYzdlMzExNmFjMWI3NDA3ZjMyOWJmMzdwMSwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuODE1MTgyNGM3NTg3ZWFmZDY2ZDc2MDJlMWNiNzZiYWNwMSwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC0weDEuODE1MTgxZGQ0NzljMDU4ZmJlNWVmM2VkNmE4ZTZhZDJwMSwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuYmNmNjQ2MmExOTIxMTE4YTNiNjZmOTJmYjdjNjA3OTdwLTEyLAorICAgIDB4MS5mZjdmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAtMHgxLmJjZWY1MThlMjk2MTFhNTA2YmM2NTMxZTk3NjU1NDE0cC0xMiwKKyAgICAweDEuZmY4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuYmNlODVjZjI0MDk3N2M5OTQxOTk4M2E5NWRmYThkMjhwLTEyLAorICAgIDB4MS5mZjgwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLmY0ZTlmNjY3Yzk1YTJhYzkxN2MyNzc0OGZiYzcyYzUxcDEsCisgICAgMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAtMHgxLmY0ZTlmNjMwMzI2M2U0YWZkMjdlNjM2ZjI1NTRkOGM2cDEsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAtMHgxLmY0ZTlmNWMxMDQ3N2ZmNDIyYTA1ZjcyZTczMmJkN2VjcDEsCisgICAgMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLmJjZjYzZDA5NGY3YTQ1ZWY0ZjlkMmJjZGU0NWRlZDJmcC0xNSwKKyAgICAweDEuZmZlZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgLTB4MS5iY2JlYTQ1NjQzYzdjNGI0NjUwM2UzMGU1OWI3ZGQyOHAtMTUsCisgICAgMHgxLmZmZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtMHgxLmJjODcwYmEzNmZhZmIzM2NkZGNmMTdmMDU1NDM2NDM3cC0xNSwKKyAgICAweDEuZmZmMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS4zNDQxMzUwNjdlMzA4YWNmOGFiZTcyMWE3OTkxZmRiN3A1LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLjM0NDEzNTAzMDRjMTIyZjQ4NzAwOTkyMTY4ZjFjNDc3cDUsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuZmQxNGRjMDE1YTI0NDNkYzhkMWM5YTdhNGVhZDdjNDRwLTIsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjkxYTc0ZGVlYzUwOGE5NTZkYzEzY2U0NDZmNjhiMmE3cC0zLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5iY2I3YWY5NWI2YTFlMWIxMDJjOGE0MDM2NmRjMmY3M3AtMjUsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuYmNiN2IyMzBjYTJhMjA5ZWNlYjM5MjljNWEwMmZmNTlwLTI2LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLmFkYjYzODRhNTQ2ZTZhMTZjNDIzMzBkNzdkMTMyNjcxcC00LAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLjJmNzAzMDJlZGNlMmIxMWQ4MDBlZTFjNmFiN2FhZTU2cDUsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS4yZjcwMzAzNWNmYzE2Zjc0NWE5NjY4OGFiNjlkM2U2NHA1LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuMmY3MDMwM2NjMmEwM2JiMGYyYTg4MmMxNjRhNDljZGRwNSwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAtMHgxLjJmNzAzMDQzYjU3ZjE1ZDM0ODdjYzc2MTg2YTM3OGY2cDUsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS42NDZiNjU1Mzg2NTBlYzkwY2JlZDlmNWRkYTkwMTA2NXA1LAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuNjZkM2U3YmQ5YTQwMmM2ZjJlMmJjNGM0OGFiZTAyYWJwNSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLnAwLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLnAxLAorICAgIDB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjgwcDEsCisgICAgMHgxLmY0cDkKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9sb2cxcF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbG9nMXBfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMTE4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbG9nMXBfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTQ4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX2xvZzFwX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS4wNDE1ZDg5ZTc0NDQ2ODA5YjVkN2UxNmU5MGRjZmIxN3AtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS4yNjk2MjEzMzRkYjkyODAzYmViNzZhMTZiNTU0N2Q0ZHAtMiwKKyAgICAtMHgxLjAwMDAwMDE4MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLjAwMDgwMDAwMDAwMDA4MDA4MDAyMDAwMDAwNTU1ZDU1cC01MiwKKyAgICAtMHgxLjAwMDgwcC01MgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjAwMTAwMDAwMDA0MDA4MDA0MDAwMTU1OTU1OTU1NmIycC00MSwKKyAgICAtMHgxLjAwMXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS42NTcyNGMyMTEwZjM1NDE2YzkzMjJkZTFmYmNlNmVhMHAtMiwKKyAgICAtMHgxLjJkYmEyNjJhN2M4YjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS41YWY0MTc5MDI4ZWI3NjM4ZjExNDViZDQzM2Q2YzgzMXAtMTEsCisgICAgLTB4MS41YWQ2YjVhZDZiNWIwcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAtMHgxLjc0ZmMzNmYwNmNkNWI3ZmZkNzliMGZmOTBhNjRiYjZlcC02LAorICAgIC0weDEuNzBjNThlNjdiN2FlYXAtNgorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmQ2MmUwY2Q3MzcyYWMxMWNmYjJmMjg1ZDI3OWRjM2Q0cC0yLAorICAgIC0weDEuNzkwNWI4MmExODM5ZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLjdkOWMxZGViZjA4MmY3ZmUzZGY0ODdkMGU0ODIzNjc2cC02LAorICAgIC0weDEuNzkzMzMxZWVjZTU5NnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5lMTQ4YTFhMjcyNmNiZmI0NWYzNDNkMmU3OGI3MWE1MXAtMiwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEuOWJhZjYxMTM0YzA0ODgwMWUzNzMxODgzYjY1MjkwYjNwLTUsCisgICAgLTB4MS45MTgyZmRlN2UzMzE4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmZmOTNjY2JkMzEyNDIzN2E1YjNjZjE2YzQ3YzkxNWM5cC0yLAorICAgIC0weDEuOTJhN2ZjODZkY2JkOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgLTB4MS44ZmViNWJhM2M1YjBkN2ZkZGZmZTFiOTEzM2JkMzgyN3AwLAorICAgIC0weDEuOTRhNTI5NGE1Mjk0Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5lMjY1YTFkOTQ4MzE3ODAwMjkyMmRkOTg0ZDMzZjE5OHAtNCwKKyAgICAtMHgxLmM3MTJkMGQ3ZjA0OTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEuY2Q0ZTRjMDNhNTU3MDdlODY4OTk0MjY1MTcwZWVmYjhwLTEwLAorICAgIC0weDEuY2NlNjczMzk5Y2NlOHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEuZTVkZjdmOWIzMDdhYzAwMDExNWY4NDczYzkwZmI1MTVwLTksCisgICAgLTB4MS5lNGY5M2U0ZjkzZTUwcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAtMHgxLmY5NmVmNDhlY2Q0MDM3ZmUyMjBmZmFlMzNmZWY1ZDA0cC01LAorICAgIC0weDEuZWEyODMwMjQwMzU4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS5mZGQwOWY3M2Q3ZjY4OGRkNTUwOGM3NzBmZTdiN2E5ZnAtNSwKKyAgICAtMHgxLmVlNDY3NWQwYWM5YWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEuZmZmZmZmZmZmZmU0YjcyZGQ1YWM5ODc5MWE3MjhlMWZwLTUsCisgICAgLTB4MS5mMDU0MDQzOGZkNDI5cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLmZmN2ZhYzliYjExNjA3ZGFmODY5ODA0OTJmMTQ3ZWVkcC0xMCwKKyAgICAtMHgxLmZmMDAwMWZmZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLmZmZTdmZmZmZmZmZmY3ZmY0MDA0N2ZmZmZmYWFhYWFhcC01NCwKKyAgICAtMHgxLmZmZTdmZmZmZmZmZmZwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLjRjYjllZDUwYjZiYzc5ZDQ0ZDMwMTgwMWNlMGZmNmYzcDQsCisgICAgLTB4MS5mZmZmZmZmODAxZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMHgxLjU3Y2QwZTMwMjY4MjdiYmNkNWQzZDZhNTMyNTE1YmQxcDQsCisgICAgLTB4MS5mZmZmZmZmYmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLjAwMjAwNTU0NTUwODczMmQ3YjU3YTFlYzg2YmQ1YzdhcC0xMCwKKyAgICAtMHgxLmZmZmZmZmZjMHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEuMDg1OThiNTdjMTgwNjAwMWRiYjk5YzBhZWJmNDRiZGVwLTQsCisgICAgLTB4MS5mZmZmZmZmYzAwMDNmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLjA4NTk4YjU4ZTNhMDYwMDFiZjUxMzc1MDMzMWZiMjVjcC00LAorICAgIC0weDEuZmZmZmZmZmUxZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS5mZmZmZmZmZjAwMDAwN2ZmZmZmZmY4MDAwMDJhYWNhYXAtNTQsCisgICAgLTB4MS5mZmZmZmZmZjBwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLjAwMDAwMDAwMDAxZmY3ZmZmZmZmZjU0ZDU1NTU1NTQ3cC00MCwKKyAgICAtMHgxLmZmZmZmZmZmZmYzZmZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZlYWFhYWFhcC01MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTUzCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmZmZmZmZmZmZjAwMDAwMDAwMDBhYWFhYWFhYWFhMmFwLTQxLAorICAgIDB4MS4wcC00MAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTIxLAorICAgIDB4MS4wcC0xMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYWFhYWFhcC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZjU1NTU1NXAtNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuOWYzMjNlY2JmOTg1NTQ4MGJlMmNiYzQ5NGY5M2RmMzZwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5mZmZmZmZmZmZmYzAwMDAwMDAwMDBhYWFhYWFhYWFhOHAtNDIsCisgICAgMHgxLjAwMDAwMDAwMDAycC00MQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmZmZmZmZmZmZmZkZmZmZmZmZmZmZmFhYWFhYWFhYWFlcC00MiwKKyAgICAweDEuMDAwMDAwMDAwMDNwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuZmZlMDAyYWU2YTMxMDA2ODc3ZWRiMzMyOGJkM2FlOTFwLTEyLAorICAgIDB4MS4wMDAwMDAwMWZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjlmMzIzZjA5NGM2OGE4MDAwMDEzOTAxMDkzNDEyZGE2cC0yLAorICAgIDB4MS4wMDAwMDAyZGZlMmFmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuOWYzMjNmMDk0YzY5MjgwMDAwMGJlNWI0MGU2MTVkMmRwLTIsCisgICAgMHgxLjAwMDAwMDJkZmUyYjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS4xOTNlYTgyYWQwMzA4OTc2YTQyNDM3ZmZhYmU2Mjc2MnAwLAorICAgIDB4MS4wMDAwMDBjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mMGIyMWIwYzlhMjdmNzk3MzA5MmJlZjJiOGExOGQ4MHAtNSwKKyAgICAweDEuMDAwODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS4xYWNlMTYzMWY2NjgwMDFmMTdlNTQzMDUzN2E5NGY5ZnA1LAorICAgIDB4MS4wMDA4MHA1MQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMGZmZmZmZmZiZmY3ZmZjMDAwMTU1OTU1OTU1NmEycC00MSwKKyAgICAweDEuMDAxcC00MQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmYzMWNkZWViM2NkNGM3YzBhM2U5NDVhZDg1NmJlZmNicDQsCisgICAgMHgxLjAwY3A0NQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjIwNjM2MGI3ZTU2OTU4N2IzNjAwOWQ3Yzk0MmQ0ZjNjcDUsCisgICAgMHgxLjAxNHA1MgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLmYzMzNhNWY1ZWRiMWI3NmUxNjY4NGU2MGI3MTgxNzE5cC01LAorICAgIDB4MS4wMTVjZGZjNTFmOTFjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuNjQ4OTI1NjNmODAyNTAwMDBiNjBhZGFhYzY3N2UyZWFwLTEsCisgICAgMHgxLjAxYTVhMmIxNWZjNWNwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjA0ODJhZmNmNTI3ZDk4MDAyYmM0MWM0MGNkM2I0NGM1cC0yMywKKyAgICAweDEuMDQ4MmIwZDg2YzM2MnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS4wNDVkY2YyY2IxNWY1N2ZlM2YyZWQxNTIyMjYzNjhjOHAtNSwKKyAgICAweDEuMDg4YzU5YWM4YzdkMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjAxNWUwNTg3NmUzZTY3ZmZmMDQ3YzY5NmViYTQ0YmEycC00LAorICAgIDB4MS4wOWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS4wYjY1MTVkODFkOTczMjY5NGNkN2VjNTEyZmM2ZjFiNHAtMTEsCisgICAgMHgxLjBiNzY4YjVhZDgwMTlwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuYjM0NmExZDI4ZjQ0ZDdmZGNlZTdhMGJkMDc0MDU4NDVwLTIsCisgICAgMHgxLjBmMzU1NjZlZDNjYzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5iM2NjZTliNzIyMTc1N2ZlYjQzZGNmNTMxMDcwYzg5NHAwLAorICAgIDB4MS4xZjI3YzE0ZTQyNWI5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5mYmMzNzliZDEzYTZiMDAwOTFlOGRhMjMwN2EzNzEyZnAtMywKKyAgICAweDEuMjAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuMjE0MGEzM2VlNGY1MzdmZTRkZTM4YmFlNDA1NmUwOThwLTUsCisgICAgMHgxLjI2NmI3NTM5NDY0NDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5kNmJmYmVhNWFiN2ZkNGM0M2IzMDM0OGRhMzJlMmE3ZHAtMiwKKyAgICAweDEuMmFkMGMwMmY2MDQwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmMwOWRhNWE4YjM3ODc2ZjY2OWVmYWZmZDkzNDEyZjlhcDAsCisgICAgMHgxLjMxMmU3YjdiZTYyYTVwMgorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmUzYTkxZDRkNzUxNmNiOWRiMDhmZDNjM2NmN2Q0MGNhcC0yLAorICAgIDB4MS4zNTFhOGQ0NmEzNXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLmYxMjhmNWZhZjA2ZWNiMzVjODNiMTEzMWNmNWQ3M2Q1cC0yLAorICAgIDB4MS40cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZjFlZTMxZjE0ZDRmMTdmZmRlMmYyZmU3NjZkZmMzMThwLTIsCisgICAgMHgxLjQwYTA1MDI4MTQwODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS40MWUzZTQ1MGI2MDczMDAxYzUwMmIyMmZlYzNhYjRkN3AtNSwKKyAgICAweDEuNDg0YzQzYWNjMTk0Y3AtNQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjRkOWZmOTM0ZDk5ZjM3ZmY0MGZkMzllYjYxOGRjZDNhcC0yMSwKKyAgICAweDEuNGRhcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmEwNzExZjliNDc1Njg3ZmZmZmQyOTgxYjViNDk5MTBlcDIsCisgICAgMHgxLjRlNWZmZmZmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuZTE5MDUxNzU3MTFhMTdjMDlmZDQwMjU0ZmFkNzJhZThwNCwKKyAgICAweDEuNTZmMzA1MjkyMGVmMHA0MworICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjRmN2VmM2IxM2UxZmE4MDAzNjFjNDI3N2RmYTEwOTJhcC00LAorICAgIDB4MS41ZDllNjg4NGQ2YWMycC00CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuZTQ1YzAxZThjMjMzY2ZmZTVhYzEwOGJjNmMxMjNiZmFwMCwKKyAgICAweDEuNjg4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5jMzQzNjYxNzlkNDI1ODA0OGUwZWM1MWM2ZmVmZDU4Y3AtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuZTJhZjE2NDQ0MzNhYzdjMDMwOTZkYTUzY2YyOGMxOGFwNCwKKyAgICAweDEuNmZkMWZmYjE0MDg3OHA0MworICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjYzOTJhNTEwMDMzMjg3ZmZjM2Q0MGQ4Y2UzM2QxNjI3cC00LAorICAgIDB4MS43Mzc2N2ZkODUzN2IzcC00CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuZDM2YTM1YWFhZTc2ODgwMGY3N2JlMGIyYTI5ZTQwYjdwLTEsCisgICAgMHgxLjdkZDg5ZTUwZTA3OGVwMAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjgzZmZlZDlmODEyOTE4MDAzOWYwZWFjZjIzNTAxYzM0cC0yMCwKKyAgICAweDEuODQwcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjg5OTYzODFlZjJjYjY3ZmYyYzFhMDMxZDhlODhmYTgxcC04LAorICAgIDB4MS44YWM1NjJiMTU4YWM0cC04CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuOTI2NDk5MjY0ZmQ4NzdmZTc3YmFiODU4ODFkYmFiNzRwLTQzLAorICAgIDB4MS45MjY0OTkyNjVwLTQzCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuZTczN2NiMjM4NjVjNmI5MjE1NTJhZDgxZDU3MmI3MjlwLTEsCisgICAgMHgxLjk3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuNTg4YzJkZTVlODhkYjAwMDAwMGVhNGU1OTg0N2QxNWNwLTIsCisgICAgMHgxLjk5OTk5YTEwMzBmOWRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS41ODhjMmRmMmMwMjA1N2ZmZmZlZmMzMGZmMjVkNzlkZHAtMiwKKyAgICAweDEuOTk5OTlhMjIyYjkzZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjc1NjUwMWJlM2UyNDI4MDAwMDEwMTljZDdjZDdjZTNmcC0zLAorICAgIDB4MS45OTk5OWE1OThjMTVjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuNzU2NTAyMjU3ZGJmNTAwMDAwMGJjMGRkYzcyMTU2ZmFwLTMsCisgICAgMHgxLjk5OTk5YWQ1NzIwMzNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS44NjYzZjk5MDNlMTJlZmZmZmZmMDM5ZmFmYzZiNWY2N3AtNCwKKyAgICAweDEuOTk5OTliYzhlYzM3NXAtNAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLjliZDhhYmIxNTBmYmQwMDVhYTllMmVkNWEwNzRhMDhlcC0yMSwKKyAgICAweDEuOWJkOGI2MGI5NmUyZnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS45OTU1YmFkMWUzNjUzN2ZmZDdmZDg0NDhkMzkyZGUyNXAtNywKKyAgICAweDEuOWJlNmY5YmU2ZjliMXAtNworICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjViYTA2ZTNmYjAxYTJkMTA3ZWM1MjAxMjIzZjAwYmJicC0yLAorICAgIDB4MS45ZGVhZDA4NmE1OGNkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuNWYxYTU1N2Y0MWYyNmNjNjczZGI0ZjkxNjg2YTM3NThwLTIsCisgICAgMHgxLmEyY2U4ZGY1NTRiMmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS42MjQwNWViZDZhYjMzMzgzN2M4YTc3MDI2YWI0YWFlOHAtMiwKKyAgICAweDEuYTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZjVmNzNkNjkxMTRjMmI4NWIzYjE1MWQ0NWEzM2QwZTVwLTEsCisgICAgMHgxLmFhNnAwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuYjIyOWZiZWNhNzc4MWZmZmU2ZjVmZGI5N2I3MjQyYzZwLTUsCisgICAgMHgxLmJkZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmJjMjFhOGNmZTBjNDE3OGIzNDk5MGE3MzFkM2ZiZDE1cC01LAorICAgIDB4MS5jODY0MzIxOTBjOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjA3OTUyMzY3YWY1Yzg4MDAwMDEwNWUyYjU0YTVhMDYycDAsCisgICAgMHgxLmNjY2NjY2VkMmVkN2VwMAorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmMxZGU4YmMzMTgxYmEwMDFjMWI2MGM0MGVmZjkwNjUwcC01LAorICAgIDB4MS5jZTczNzViNTAyM2M0cC01CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuZDU5ZWZkYTY3Nzk1YTgwMGZkZGY4YzViYmE0YTYwYjNwLTQzLAorICAgIDB4MS5kNTllZmRhNjc3Y2I4cC00MworICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmQ4MDE1OGM0MDY5MDU3ZmY3Njg3NDBhYTgwYzBiZDY2cC03LAorICAgIDB4MS5kYjZiY2Y1MDJmM2UwcC03CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZGZlYWJlMjliNTEwMzEyZTgzNjdmNDE0YjA1MTE5NDlwLTExLAorICAgIDB4MS5lMDIyZmQ5MzBmODZhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjhhOWE1OWNhZjExOTgwYTU5MTVkMmI2YjdjZjI1NTNkcC0yLAorICAgIDB4MS5lMTZiMjRkMzhkMWIycC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuOGYxMWU4NzM2NjJjNzdlMTc2OWQ1Njk4NjhhNjVlNzJwLTIsCisgICAgMHgxLmU4MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmRkMTY2MTA2ZTg3ZjM3NjIyYWFjMmM5MDhkNmFhZjkxcC01LAorICAgIDB4MS5lYjQwZTE1MWZhZDgxcC01CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZWM4MGZmZmZmZmM0YjdmZTZmZjAwOTgyNGRkYzIzNWFwLTQzLAorICAgIDB4MS5lYzgwZmZmZmZmZmZmcC00MworICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmVkZjUyYzJlMzQ3NDBiMjRiNzM2ZGNhNDVmYjRhZTllcC0xMywKKyAgICAweDEuZWUwNDEwZTNiMWQyNHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5mMDI3MTdkODU1NTY5ZmZlODViYjlmMjI0MzU4YWZlYXAtNiwKKyAgICAweDEuZjdiZGQ2Nzg5YzY3MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mYmZmZmZmZmZlMDdlODAwMDAwMjlhZWE1NTU1NTE3NHAtNDAsCisgICAgMHgxLmZiZmZmZmZmZmZmZmZwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmZiZmZmZmZmZmUwN2Y4MDAwMDAyOWFjYTk1NTU1MTc0cC00MCwKKyAgICAweDEuZmMwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS4zNjc3OTlkYzM5YTIzODA2OGVhZTBkNTMzOWVhZmVlMnA1LAorICAgIDB4MS5mYzAwMDAwMDAwMDA2cDU1CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmZmYzdmZmZmZmYwMDI3ZmNmMDAwYWE4MmFmMGE3MXAtNDEsCisgICAgMHgxLmZmYzdmZmZmZmZmZmZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmZmZGZmZmZmZmZmZmU4MDBmZmY4MDAwMDAwYWE5YWFicC01NCwKKyAgICAweDEuZmZkZmZmZmZmZmZmZnAtNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuZmZmN2ZmZmZmZWZmZjdmZmYwMDBhYWIyYWE4YWE5ZmZwLTQxLAorICAgIDB4MS5mZmY3ZmZmZmZmZmZmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mZmY3ZmZmZmZmZmZlODAwM2ZmZjgwMDAwMGFhYTZhYXAtNTQsCisgICAgMHgxLmZmZjdmZmZmZmZmZmZwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmM1NTE3OTM5NWEwMDA4MDBkZGMzMzQ3OTA0NjlkNGRlcDcsCisgICAgMHgxLmZmZmZmZTNmZmZmZmZwMzI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmYzAwYWE0YWMxMGFiZDQ0NzA2ZDg5Y2YxMjg5MmEzcC0xMSwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuZmZjMDBhYTdhYjUwZWJjNDRiZjU2MTExY2UzMzIzNzVwLTExLAorICAgIDB4MS5mZmZmZmZmZjBwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjI1ZTRmN2IyNzM3ZjlmYzQ4NjYxMjE3M2M2NTk2ODkycDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZjhwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuNjJlNDJmZWZhMzllZjMzNzkzYzc2NzMwMDdlMWVkNWVwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmOHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjlmMzIzZWNiZjk4NDg5ZDYxMzgyMTE5ZWFlNjkzNDhicC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZicC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLjVjYTcyZDE3ZWQzZWE4MDA4OWFlNjVkZmFmYzFlMmIycDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNTAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLjExZDE0ZTFmY2I3MmVkY2IyOGEwMzJlMDgzYTZmMTk5cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjJjY2FjNmM4ZjQxYjc0ZDZiNzMzYzkxNDFjMGJlY2U1cC0xLAorICAgIDB4MS45OTUyNTVmMmQwMGFicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjQ2NmE5MjY5NzA3Mzc2ZTUwMTg3MjU5ZWUyYjA0ODE4cC0xLAorICAgIDB4MS5jODlhYzU3ZGFjNThhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjVlZDFhN2RjZTExYWNlNTVhM2NkYmUzNDFlZTg4MjIycC0xLAorICAgIDB4MS5mN2UzMzUwODg4YTY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjc2MWM3ZDlkZGRjMDFkNTA5ZGNiOWI0ZWJjZWNhODRlcC0xLAorICAgIDB4MS4xMzk1ZDI0OWIyN2E0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEuOGM2M2QyN2Q0Y2EwM2RhYmE4Yzk4YTIzMmIyMzgwZjBwLTEsCisgICAgMHgxLjJiM2EwYTBmMjBhMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5hMWJkNGM3N2Q1NTM2M2FiM2I2MWRjODlmNzgxMmM3MXAtMSwKKyAgICAweDEuNDJkZTQxZDQ4ZWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLmI2M2JmN2JhZjVlYWE2ZWFkZWM2NWVkMDQwOGZmOTY0cC0xLAorICAgIDB4MS41YTgyNzk5OWZjZWY0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuYzlmMGFkMzQxY2JlYmQxZDg0YWUwYzI2NzRhMzQ5ODNwLTEsCisgICAgMHgxLjcyMjZiMTVmNmIxNjRwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5kY2VhNjYxYjU5ZTdmMmE2MWY2NGJjNmQ5NDNhYjVhZXAtMSwKKyAgICAweDEuODljYWU5MjRkOTNkNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmVmMzY4MDhlNTAxZmY1YmM5N2RlM2JlNjE3YWQwOGI1cC0xLAorICAgIDB4MS5hMTZmMjBlYTQ3NjQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMDA3MDdjMjljNDY0M2VhNmY1M2YyYzBlZGNmM2Y5MGVwMCwKKyAgICAweDEuYjkxMzU4YWZiNThiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjA4ZmE0YjEyOWQzNjUxMDNkODYxNWIwZmVlODMwNzUzcDAsCisgICAgMHgxLmQwYjc5MDc1MjNiMjRwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS4xMTNkOGJhY2E4NjA4YzE5OTc0ZmY4OWMyMWNjOGQxNnAwLAorICAgIDB4MS5lODViYzgzYTkxZDk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwMCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjExZDE0ZTFmY2I3MmVkY2IyOGEwMzJlMDgzYTZmMTk5cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjI2OTkwZTA3ZTI1ODI1ZGUyMWNiNTJlNjU1MzkwZDlhcC0xLAorICAgIDB4MS44ZTNlMTcwYmYyODJkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjNhOTE0YTFkYjhjYzM4NTVkMjAwY2EzMjAyZTIzZDA0cC0xLAorICAgIDB4MS5iMjcyNDdhZmYxNDhlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjRkYzk5N2NiZjJlZDY4MDYzMTVjNjk2MjYxNGI0MWYycC0xLAorICAgIDB4MS5kNmE2Nzg1M2YwMGVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLjYwNGZkYjUxNTQ1MTUyNmZjZjYzMmUyMjU1ZDk3ZWYycC0xLAorICAgIDB4MS5mYWRhYThmN2VlZDUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjcyMzA4NDQ3YzUxNjY1ZWM4ZjQyZjZjMWMyZjUxMjk0cC0xLAorICAgIDB4MS4wZjg3NmNjZGY2Y2Q5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuODM3NmJmZjQwNmY5MTNhMzU3OWEyM2YyZTkzMmRmNTdwLTEsCisgICAgMHgxLjIxYTE4NTFmZjYzMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS45NDJjYTM1ZThmMThmMzU5MWFkZWQ0M2FkZDIyNjBkYnAtMSwKKyAgICAweDEuMzNiYjlkNzFmNTkzYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLmE0NWI0ZWM0ODUyNTk3YjRhYjhmZGQ2Mjc1YTVjMWY3cC0xLAorICAgIDB4MS40NWQ1YjVjM2Y0ZjZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuYjQwYjBiOWE0ODlmMTY4ZjVmZmMyYzYwYWM1YmQwNmFwLTEsCisgICAgMHgxLjU3ZWZjZTE1ZjQ1OWRwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5jMzQzNjYxNzlkNDI2NTQ1Y2FkYmMzOTQwOTZlNzE5YnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjFlODVmNWU3MDQwZDAzZGVjNTlhNWYzZTNjNmJlNWNmcC0xLAorICAgIDB4MS44cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLjM0MDI0YWM0N2I2ZmNlYmY5OTRjNjQyZWY3YTg4MmFkcC0xLAorICAgIDB4MS5hNjY2NjY2NjY2NjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjQ4YTExMjkzZDc4NWI1MGMyYTNmZWIxNGMzNjgwNTAxcC0xLAorICAgIDB4MS5jY2NjY2NjY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjVjNzM3NjBiM2MzNjJlNTE4MDZmNmEyZmNiNTQwMmIzcC0xLAorICAgIDB4MS5mMzMzMzMzMzMzMzMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjZmODhiMjg2YjIyZjBhNWY3MGI4Y2UzNWRmNDJjODBhcC0xLAorICAgIDB4MS4wY2NjY2NjY2NjY2NjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuODFlZTYwYWZiNTAxOGFhYTAxODFjOThmZTNkMTFlNTdwLTEsCisgICAgMHgxLjFmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS45M2IwYWVlMjFjMmM2ZjFhZmIyOTYzMmM3N2YwNDM0YnAtMSwKKyAgICAweDEuMzMzMzMzMzMzMzMzMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLmE0ZGE5MWM2MTFkYmNmMTdkNzQzYmFkMDExMjFlOTFkcC0xLAorICAgIDB4MS40NjY2NjY2NjY2NjY1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuYjU3NWVkMDc0MzQ5MmM4YWFjZmY2MGQ1OTIwZGZmYzRwLTEsCisgICAgMHgxLjU5OTk5OTk5OTk5OThwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS5jNThiYjVhNjA5NzhhMTUwOTVmZTU1ODYxYWNjYTczN3AtMSwKKyAgICAweDEuNmNjY2NjY2NjY2NjYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmQ1MjQwZjBlMGUwNzYwNmU5MThlNDk2MjZjOGYwNWU2cC0xLAorICAgIDB4MS43ZmZmZmZmZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS43YmRmMzYyZTk2NjZlMmRjNDQyYmFmNGRjNjI1ODA3ZHAtMSwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLjkzYjBhZWUyMWMyYzhjMzI0MGZhZDc4OThmNjA2NTI1cC0xLAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuYWE3MzEwODcxN2I2YjI0MDI1MGM1MzkzYjM1NmU0MGFwLTEsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS5jMDNkNzAzNzM1ZjhlMTkyMDYyN2Y0MzM2MDczZmU3OHAtMSwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmQ1MjQwZjBlMGUwNzkzYTFjNGMxN2M5NTlmYzIzOTE5cC0xLAorICAgIDB4MS44MDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuZTkzOGNiY2ViMTZkZWZjYmI5MjFmZGQ1OGQ1ZGQ1NjdwLTEsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5mYzhiN2YxMzhiZGViOTNmZWUyZTc4YjRmZTNlMDgzMXAtMSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLjA3OTUyMzVjMWVhMWNhOGMwNTkyZWU3NWI0NTc5YThlcDAsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS4xMDkwZTIwMzE1MjEzYjJkZGI0NWMzMjg0MzVjM2NhN3AwLAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwMCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLjMyMTdiMGZkMmIxMTY5MDg4OTdjYjEwNTBiZWVhMjA1cC0xLAorICAgIC0weDEuY2NjY2NjY2NjY2NjZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuMDU4YWVmYTgxMTQ1MWZjN2NjMTE4NGQ3NTk5N2RjNDRwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5iOTFmMjgyMTJiYTAzNzlmN2E2Mzc5YjI4ZDFiYTliN3AtMiwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NjdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLjZkM2MzMjRlMTNmNGZlOWJlZmFkNTBhMDI3MzQxMWM4cC0yLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuMjY5NjIxMTM0ZGI5M2NkOTE0MGNiY2MxNjAzN2ZiODZwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5jOGZmN2M3OWE5YTI0YWMyNWQ4MWVmMmZmYzJhMjRhZXAtMywKKyAgICAtMHgxLjk5OTk5OTk5OTk5OWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjRjZDZiOTc5NjQxN2I1ZjExZjEwZGUyOTA0MzBiMzJicC0zLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNnAtMworICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuYWY4ZTgyMTBhNDE2MzZlNjEyODNlMDQwMGU3MmYzODBwLTQsCisgICAgLTB4MS45OTk5OTk5OTk5OTlmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5hNDMxZDViY2MxOTQyODE0ZTk0ZjU1ZWEyZTE1ZDVmNHAtNSwKKyAgICAtMHgxLjk5OTk5OTk5OTk5YTRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLjQwMDAwMDAwMDAwMDAzMjAwMDAwMDAwMDAwMGE2YWFhcC01NCwKKyAgICAtMHgxLjRwLTU0CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS44ZmIwNjNlZjJjN2U5Y2RkNGY2OTE0MjUwOTFmODIxMnAtNSwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS44NjYzZjc5M2M0NmM2ZjhmOTgyNzI1YjRmNzEwMGE2MnAtNCwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS4xZTNiODI1ZGQwNWVjM2ZiNTAzNTE1YmIzNDYzOGQ0MXAtMywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAtMworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS43NTY1MDExZTQ5Njc2OGU5Yzk4MjM0MGQ2M2ZkOTliZXAtMywKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5jOGZmN2M3OWE5YTIxYWMyNWQ4MWVmMmZmYjlhMjRhZXAtMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS4wY2E5MzdiZTFiOWRiYjVlNzIxN2EzNzI2ZjE5NzgzN3AtMiwKKyAgICAweDEuMzMzMzMzMzMzMzMzM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS4zMzRlOWU0N2QwN2Y0NGI0NDMwNzA2OTgyN2I3OTU4NHAtMiwKKyAgICAweDEuNjY2NjY2NjY2NjY2NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS41ODhjMmQ5MTMzNDhmMzgwZWViY2ViNzZjNDI5NmFlYXAtMiwKKyAgICAweDEuOTk5OTk5OTk5OTk5OXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS43YzdiMjgyZDBkNDZhZGMxYTZhMmI5ZDcxMjU4MTQ4OHAtMiwKKyAgICAweDEuY2NjY2NjY2NjY2NjY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS45ZjMyM2VjYmY5ODRiNDgwYmUyY2JjNDk1YTY5MzQ4YnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIC0weDEuN2Y3NDI3YjczZTM4ZjUwM2I5OWY4NjIzMGI5ZjhmYTlwMSwKKyAgICAtMHgxLmU2NjY2NjY2NjY2NjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLjI2YmIxYmJiNTU1MTM4MmRkNGFkYWM1NzA5YTYxNDUxcDEsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS5lNWE5YTdjM2FjNDE0MDkwY2YyNTdlZjExMjAzYTI5ZHAwLAorICAgIC0weDEuYjMzMzMzMzMzMzMzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuOWMwNDFmN2VkOGQyZjZhZmRmNzdhNTE2MGY1OTMxZjRwMCwKKyAgICAtMHgxLjk5OTk5OTk5OTk5OThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWIzNTc5M2M3NjczMDBmZTVlZDVlcDAsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS4zNDM3OGZjYmRhNzFjNmU1MDU0MWNiNTkwZTEwYWJlZHAwLAorICAgIC0weDEuNjY2NjY2NjY2NjY2NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuMGNjMTI0OGI1NmNjNzRjMDdjYWE3NTc2ZjEyMzNmMGNwMCwKKyAgICAtMHgxLjRjY2NjY2NjY2NjY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmQ1MjQwZjBlMGUwNmZhMDgyYjI3ZTJmYzE2Y2M3NjhhcC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEuOThkNjAwMzFiODIxMmUzNDU2MTdlMzM4MTk5MDRiY2VwLTEsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuMTU0MjQ1NzMzN2Q0MmUxYzZiNzNjODlkODY2YmExNzFwNiwKKyAgICAweDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuMTVhM2RlNzExY2M1NDk0ZTIwY2UyZjdlMzk3NGM0ZWRwNiwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuMTVmY2Y3ZjNjNmY4ZTFmOGUwNTg4OWI3OGQxMjEyZTlwNiwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuMTY0ZWVlYWFmNWVmY2MxNTUzYmU3ZGNhZDE2N2NjNTVwNiwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuMTY5YWQxYTBjOTA3Nzc1ZmVjNjI4NTg4ZmQxYWVhZGNwNiwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuMTZlMTc3YjIwM2NkYjMzMGVjMzFmNTU5Y2ZhZDM1NTFwNiwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMTcyMzhlMTRkYTQ2OWI1NWI5NmM5Njc0NGU2MTIwM2FwNiwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuMTc2MWEyNzY1YTY5NjBhYmU1Y2Y5MmMwOTU5ZGE4MzdwNiwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuMTc5YzJhMzI5MmYyNjZmZjI4MzMyODNhZjJjNzFiYjhwNiwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuMTdkMzg3OTg1ZjgzM2EwZDQwNjlmNzljMWI5NzI0MmZwNiwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTY1YjZkNGNwNiwKKyAgICAweDEuMHAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuMTU0MjQ1NzMzN2Q0MmUxYzZiNzNjODlkODYyYmExNzFwNywKKyAgICAweDEuMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuMTU3MzExZjIyYTRjYmJiNTQ2MjBmYzBkZGZiMzFiZTlwNywKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuMTU5ZjllYjM3ZjY2ODgwYWE1ZTYyOTJhODk4NDJmODJwNywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMTVjODlhMGYxNmUxZmQxOGRmOTkyMzM0MmJiMTE5NTlwNywKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuMTVlZThiOGEwMDZkZDJiZTJiZWIyNzEzNDE4YzZhYjlwNywKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuMTYxMWRlOTI5ZGQwZjBhNmFiZDJkZWZiYWFkNzE2MGNwNywKKyAgICAweDEuODAwMDAwMDAwMDAwMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuMTYzMmU5YzQwOTBkNjRiOTEyNzAyZjg4ZWEzMjYwZDZwNywKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuMTY1MWYzZjRjOTFlYzc2NDI4YTFhZGFmMGRkMWQyMDFwNywKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuMTY2ZjM3ZDJlNTYzNGE4ZGM5ZDM3ODZjM2M2Nzk3NzhwNywKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuMTY4YWU2ODVjYmFiYjQxNGQ1ZWVlMDFjZDBkMDhiM2NwNywKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuMTZhNTI5YTMyNzc3Y2QwZmMzMDc5MDA0YjYzMzg3NWZwNywKKyAgICAweDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuNWE5MmQ2ZDAwNWM5MzlhMzg2NTBiYWM0ZTdiNjg5Y2VwOSwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLjVhOWYwOWVmYzI2NzVkMDliY2ZjMDdhMGZlMTg2ODZjcDksCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS41YWFhMmQyMDE3YWRkMDFmMTRlZDUyZTgyODhjYWQ1MnA5LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuNWFiNDZiZjZmZDhjYWQ2MmEzNWExMTZhOTExN2U3YzhwOSwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjVhYmRlODU1YjdlZmEyY2JmNjZlOTI2MjU2OGViYzIwcDksCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS41YWM2YmQxN2RmNDg2YTQ2MTY2ODgwNWM3MGUxNjZmNHA5LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuNWFjZWZmZTQzYTE3ODc0YWIwMGZkNDdmYzBiODM5YTdwOSwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjVhZDZjMjcwNmExYmRmZjU3NTljMzQwOTQ5YTAxNWYycDksCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS41YWRlMTM2N2YxMmQwMGJmZGRlOGE2Yjg5NTQ1ODc1MHA5LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuNWFlNGZmMTRhYWJmMWIyMWEwZWY4MGE0YmE1ZmM0NDFwOSwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjVhZWI4ZmRjMDFiMjIxNjA1YzM1YWM5ZWIzYjg4MzQ5cDksCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS42MmU0MmZlZmEzOWVmMzUzOTNjNzY3MzAwN2U1ZGQ1ZXA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuMTFkMTRlMWZjYjcyZTQ2YmM3MDZiMjFjNTAwOGI5ZjFwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuMTFkMTRlMWZjYjcyZWRjYjI4YTAzMmUwODNhNmYxOTlwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMTFkMTRlMWZjYjcyZjcyYThhMzliM2E0YjcxOTNkMGVwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjNhNWFiZjA3Yjc4OGZmMWIwNmUwM2M3Yjc0MzAxYmI4cDAsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS4zYTVhYmYwN2I3ODhlM2NhYjdhY2ZjZGQ4ZTE4MGM1ZHAwLAorICAgIC0weDEuNmEwOWU2NjdmM2JjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuM2E1YWJmMDdiNzg4Yzg3YTY4NzliZDNmYWFlYTA2ZThwMCwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuYzM0MzY2MTc5ZDQyNTgwNDhlMGVjNTFjNmZlZmQ1OGNwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2JwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5jMzQzNjYxNzlkNDI2NTQ1Y2FkYmMzOTQwOTZlNzE5YnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLmMzNDM2NjE3OWQ0MjcyODcwN2E4YzIwYmEyOTUzNTQ0cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuOWYzMjNlY2JmOTg0YjQ4MGJlMmNiYzQ5NWE2OTM0OGJwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuOWYzMjNlY2JmOTg0YmYyYjY4ZDc2NmY0MDUyMjE4MTlwLTIsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuOWYzMjNlY2JmOTg0ZDQ4MGJlMmNiYzQ5NWEzZTg5ZTFwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuMWU4NWY1ZTcwNDBjZmFiYTMzNTEzYWFiZjMzMjZkYTVwLTEsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuMWU4NWY1ZTcwNDBkMDNkZWM1OWE1ZjNlM2M2YmU1Y2ZwLTEsCisgICAgMHgxLjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuMWU4NWY1ZTcwNDBkMGQwMzU3ZTM4M2QwODU3YjkyMzhwLTEsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjEzNTc5M2M3NjczMDA5ZTVlZDVlcDAsCisgICAgLTB4MS44MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAwLAorICAgIC0weDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuNjJlNDJmZWZhMzllZDM1NzkzYzc2NzMwMDllNWVkNWVwMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuZDUyNDBmMGUwZTA3NmQzYjVlNWIxNjJmMzlkNmIzZmFwLTEsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5kNTI0MGYwZTBlMDc3YTA4MmIyN2UyZmMwNmNjNzY4YXAtMSwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmQ1MjQwZjBlMGUwNzg2ZDRmN2Y0YWZjOGQzNzA0ZDk0cC0xLAorICAgIDB4MS44MDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtMHgxLjI1ZTRmN2IyNzM3ZmExODQ4NjYxMjE3M2M2OGE2ODkycDUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjljMDQxZjdlZDhkMzMwNDk3OTExM2VhZmEwZGU1MGFjcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS45YzA0MWY3ZWQ4ZDMzNmFmZGY3N2E1MTYwNzU5MzFmNHAwLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuOWMwNDFmN2VkOGQzNDM3Y2FjNDQ3MWUyZDNkNDEzM2JwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjE5M2VhN2FhZDAzMGE0MjE0ZWM0MzdmZmFmZDdlZTdjcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMTkzZWE3YWFkMDMwYjQyMTRlYzQzN2ZmYWZhZDQzZDJwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjYyZTQyZmVmYTM5ZWViNTc5M2M3NjczMDA3ZDVlZDVlcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuNjJlNDJmZWZhMzlmMDM1NzkzYzc2NzMwMDdhNWVkNWVwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS45ZjMyM2VjYmY5ODRiNDgwYmUyY2JjNDk1YTY5MzQ4YnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS45ZjMyM2VjYmY5ODRiZjJiNjhkNzY2ZjQwNTIyMTgxOXAtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS45ZjMyM2VjYmY5ODRkNDgwYmUyY2JjNDk1YTNlODllMXAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS5jOGZmN2M3OWE5YTIwZGY1OTBiNTIyNjMyZWMzMWE3MHAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5jOGZmN2M3OWE5YTIxYWMyNWQ4MWVmMmZmYjlhMjRhZXAtMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5jOGZmN2M3OWE5YTIzNDViZjcxYjg4Yzk5NTBhYzg4NXAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5lMjcwNzZlMmFmMmU1MDY1YzRmMWM1M2M1YmEyMjAyMXAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5lMjcwNzZlMmFmMmU1ZTllYTg3ZmZlMWZlOWUxNTVkYnAtNCwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5lMjcwNzZlMmFmMmU3YjEwNmY5YzZmZTcwNjM5ZDQ0N3AtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5mMGEzMGMwMTE2MmE1NzA4YmQ4ODA3ZGZhNDFjNzhmOHAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5mMGEzMGMwMTE2MmE2NjE3Y2M5NzE2ZWViMzJmMTMxYXAtNSwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5mMGEzMGMwMTE2MmE4NDM1ZWFiNTM1MGNkMTNmMDRlZXAtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS5mODI5YjBlNzgzMmZmNTRiYWVjOGZlNmM0NGM1MTFmZHAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mODI5YjBlNzgzMzAwNGNmOGZjMTNjN2JjOGE3ZWJhYnAtNiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5mODI5YjBlNzgzMzAyM2Q3NTFiMWI4OWFkMDYyNTY2NXAtNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS5mYzBhOGIwZmMwM2UyZDM4ZjE5NzhjM2I5YzEzNzliNnAtNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS5mYzBhOGIwZmMwM2UzY2Y5ZWRhNzRkMzdhYmQ1NmRmNXAtNywKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5mYzBhOGIwZmMwM2U1YzdiZTVjNmNmMmZjYjUzODU1OHAtNywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS5mZTAyYTZiMTA2Nzg3ZmUzMzcwZjNiMTljYTcyNzQ2ZXAtOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5mZTAyYTZiMTA2Nzg4ZmMzNzY5MDM5MWRjMjgyZDJiM3AtOCwKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5mZTAyYTZiMTA2NzhhZjgzZjU5MjM1MjViMmEwOWIxYnAtOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS5mZjAwYWEyYjEwYmJmNGIwNzZjNTU5YzRjNGM3MTlhOHAtOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5mZjAwYWEyYjEwYmMwNGEwODZiNTY5YjRkNGI3NjkxOXAtOSwKKyAgICAweDEuMHAtOAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS5mZjAwYWEyYjEwYmMyNDgwYTY5NTg5OTRmNDk2OGFmNnAtOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS5mZjgwMmE5YWIxMGU1NzkyNzRlYTUzZjk2YzJhYzczYnAtMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmODAyYTlhYjEwZTY3OGE3OGU4NTRmOGVjNmFjNzJicC0xMCwKKyAgICAweDEuMHAtOQorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5mZjgwMmE5YWIxMGU4NzdhODBlNDU2ZjdlY2VhMDdjYXAtMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmZjMDBhYThhYjEwZWJjNDRjMDU1OTE0Y2QzMzY0YjlwLTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS5mZmMwMGFhOGFiMTBmYmMwNGQwNTE5MjRjOTM0NzQ3MXAtMTEsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLmZmYzAwYWE4YWIxMTFiYjg0ZjA0OTk0NGMxMzYzNDExcC0xMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuZmZmODAwMmFhOWFhYTExMTY2NjM4YjEwYWVjM2UwYTRwLTE0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS5mZmY4MDAyYWE5YWFiMTEwZTY2NzhhZjBhZmMzZGFhNHAtMTQsCisgICAgMHgxLjBwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLmZmZjgwMDJhYTlhYWQxMGZlNjZmOGFiMGIxYzNjMmE1cC0xNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjEzNTc5M2M3NjczMDA4ZTVlZDVlcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS42MmU0MmZlZmEzOWVlMzU3OTNjNzY3MzAwODI1ZWQ1ZXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjI2OTYyMTEzNGRiOTNjZDkxNDBjYmNjMTYwMzdmYjg2cC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEuMjY5NjIxMTM0ZGI5Mjc4M2JlYjc2NzZjMGFhOWMyYTNwLTIsCisgICAgLTB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS4yNjk2MjExMzRkYjkxY2Q5MTQwY2JjYzE2MDBkNTBkYnAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLjExNzhlODIyN2U0N2QwMmM1ZDQ2NjhlYmMwNDYyOGFlcC0zLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0weDEuMTE3OGU4MjI3ZTQ3YmRlMzM4YjQxZmM3MmRlODFlM2JwLTMsCisgICAgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS4xMTc4ZTgyMjdlNDdiNGJlYTY2YWZiMzRlNGM4YzU2YXAtMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLjA4NTk4YjU5ZTNhMDc5OWI1MGVhZDA2MTQ0OGNlYzZjcC00LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEuMDg1OThiNTllM2EwNjg4YTNmZDliZjUwMzM3MmMxMmZwLTQsCisgICAgLTB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS4wODU5OGI1OWUzYTA2MDAxYjc1MTM2YzdhYWVjN2YzMnAtNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLjA0MTVkODllNzQ0NDU3ODU5NGNmOWY1ZTBjYWYyOTcxcC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuMDQxNWQ4OWU3NDQ0NDcwMTczYzc1ZDRkODg4OWRlMGVwLTUsCisgICAgLTB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS4wNDE1ZDg5ZTc0NDQzZWJmNjM0MzNjNDU0NjdhNmFiNXAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLjAyMDU2NTg5MzU4NDg0ZTAyN2IxNDZiZGQ3ZmVhZWUxcC02LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuMDIwNTY1ODkzNTg0NzQ5ZjIzYTEwNWI5YzdiYjlhNmZwLTYsCisgICAgLTB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTB4MS4wMjA1NjU4OTM1ODQ2YzdlYTE5OGU1MzdiZjliOWM3ZnAtNiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAtMHgxLjAxMDE1NzU4OGRlNzIyYWQwY2RiODRmZGUyMTIxOGQ4cC03LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuMDEwMTU3NTg4ZGU3MTI4Y2NjNWE4MmY5ZGEwMGY0OGJwLTcsCisgICAgLTB4MS4wcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgLTB4MS4wMTAxNTc1ODhkZTcwYTdjYWMxYTAxZjdkNWY5MjU2ZXAtNywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMHgxLjAwODA1NTk1ODhiMzY3ZjVhOGYzNGQ5ZGFkYzQwYjNhcC04LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuMDA4MDU1OTU4OGIzNTdlNTk4ZTMzZDhkOWRiMzdhMjlwLTgsCisgICAgLTB4MS4wcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS4wMDgwNTU5NTg4YjM0ZmRkOTBkYjM1ODU5NWFiOTI2MXAtOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAtMHgxLjAwNDAxNTVkNTg4OWVlNzg2YjIwZWZjMTQwMGY1ZWE0cC05LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEuMDA0MDE1NWQ1ODg5ZGU3MDY3MWVlZWMwYmZjZWZlNTNwLTksCisgICAgLTB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgLTB4MS4wMDQwMTU1ZDU4ODlkNjZjNjUxZGVlNDA3ZmFlZmU1YnAtOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS4wMDIwMDU1NjU1ODhhMzM5N2RkODIyMDQ4YWJlMjc1NXAtMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuMDAyMDA1NTY1NTg4OTMzNTdjZDdlMWY0ODZiZDA3MDVwLTEwLAorICAgIC0weDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMHgxLjAwMjAwNTU2NTU4ODhiMzM3YzU3YzFlYzg0YmM4ZWU5cC0xMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgLTB4MS4wMDA0MDAxNTU1ZDU2ODg5MWRlMjcwNGIwMzhjYTU5NnAtMTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMworICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEuMDAwNDAwMTU1NWQ1NTg4ODlkZGU3MDJiMDI4Yzk5OTZwLTEzLAorICAgIC0weDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAtMHgxLjAwMDQwMDE1NTVkNTUwODg1ZGRjNzAxYjAyMGM5Njk2cC0xMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLjczMjQyZDQ1MjY3Mzc2ZDNhMmEwYTgyMGM0OTAyMzM1cC0xLAorICAgIDB4MS4xMDgyYjU3N2QzNGVhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuNzMyNDJkNDUyNjczODY1M2FkNGE0MWQ1ZmU3ZWE2YzFwLTEsCisgICAgMHgxLjEwODJiNTc3ZDM0ZWJwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS43MzI0MmQ0NTI2NzM5NWQzYjdmM2RiOGIzN2Y1MDlhOHAtMSwKKyAgICAweDEuMTA4MmI1NzdkMzRlY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjczMjQyZDQ1MjY3M2E1NTNjMjlkNzU0MDcwZjM0YmVhcC0xLAorICAgIDB4MS4xMDgyYjU3N2QzNGVkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuNzMyNDJkNDUyNjczYjRkM2NkNDcwZWY1YTk3OTZkODZwLTEsCisgICAgMHgxLjEwODJiNTc3ZDM0ZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS43MzI0MmQ0NTI2NzNjNDUzZDdmMGE4YWFlMTg3NmU3ZXAtMSwKKyAgICAweDEuMTA4MmI1NzdkMzRlZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLjczMjQyZDQ1MjY3M2QzZDNlMjlhNDI2MDE5MWQ0ZWNmcC0xLAorICAgIDB4MS4xMDgyYjU3N2QzNGYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDE4YWRlMGU4Y2I2ODRlMDgzNDY4cC00LAorICAgIC0weDEuZjA1NDA0MzhmZDVjNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTAyOWNiM2QwY2NkZDczZWE4NWFwLTQsCisgICAgLTB4MS5mMDU0MDQzOGZkNWM1cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwN2E1YjU5MTRlMzM2MDc5YTRhNXAtNCwKKyAgICAtMHgxLmYwNTQwNDM4ZmQ1YzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZlNDMzZmNiMWYzMWQzNzI1MjkwcC01LAorICAgIC0weDEuZjA1NDA0MzhmZDVjM3AtNQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWQzYjE0NzNhMWZjZTVmYTZjODZwLTUsCisgICAgLTB4MS5mMDU0MDQzOGZkNWMycC01CisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkYzMyZTkxYzI0YzdmODhiOTcyY3AtNSwKKyAgICAtMHgxLmYwNTQwNDM4ZmQ1YzFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNiMmFiZGM0YTc5MzBiMjVkMjgycC01LAorICAgIC0weDEuZjA1NDA0MzhmZDVjMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTM5M2M3NjczMDA3ZTVkZDVlcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS42MmU0MmZlZmEzOWVmMzRmOTNjNzY3MzAwN2U1YWQ1ZXA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuNmJjYmVkMDlmMDBhZWNlMmVhODAwYjZhZjBmMjRhMGJwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLmUzNzAzZGIwYWIxMTliZWQzZTc2M2Y0MzRkZDdjNGZicC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuNjJlNDJmZWZhMzlmMDM1NzkzYzc2NzMwMDdhNWVkNWVwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjYyZTQyZmVmYTM5ZWViNTc5M2M3NjczMDA3ZDVlZDVlcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgLTB4MS4yNWU0ZjdiMjczN2ZhMTg0ODY2MTIxNzNjNjhhNjg5MnA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS4yOGM2YzNhNzlmZTI5NWM3Y2E2NGVkOTgyNjQyYWRjZnAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIC0weDEuODlmOWZmMGM3NjFiYzU0NTRmMTdlYzUzOWU4ODdkMzdwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAtMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvbG9nMXBmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9sb2cxcGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MTlhNjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbG9nMXBmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDExODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxmbG9hdCwgZmxvYXQ+IGdfbG9nMXBmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS42MzA0MzBlZmFlNGExZTA4YTUyZGQyMjhmNzc0NzQ3YXAtMSwKKyAgICAtMHgxLjAwMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS4wYTZhOTUwMzIwYjgxNTMwOWNlZTc2YzZjMzQ2YWE4YXAtNiwKKyAgICAtMHgxLjA4NDMxMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjQ1OTJmNGRmM2MyMjM4MGE4YTdhNmJkMjU2YTIzMWM5cC0yLAorICAgIC0weDEuMTZlNDgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIC0weDEuNTM2MmI2ZGVlY2U1M2UyODkzMGUwZDc1ZjNiMGU5NjlwLTIsCisgICAgLTB4MS4yMGUwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0weDEuNjZlYTBlZGVjMjljY2FjY2JiYzk0NTllNTU1ODM4NTJwLTIsCisgICAgLTB4MS4yZWMzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIC0weDEuZTVlZTAyZWY2NDM3NDJiNDA2OTFjZmJiZTVjMzQyMzVwLTEsCisgICAgLTB4MS4zOWNlODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS5lZTJhMTU2YjQxM2U0ZmU4YjQ4ZTA0YTFhODFkN2QxZnAtMiwKKyAgICAtMHgxLjg4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0weDEuYWY4OTY3ZDg5MGNlYjVhZTJjMjVhYzIyYmUzZDVkMTRwLTQsCisgICAgLTB4MS45OTk1MDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS5jNTBlOWUwMGMwMzQ2ZjAyNTNlMDhhNjg0YmJiOWE3ZXAtNywKKyAgICAtMHgxLmMxZjA4MHAtNworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLmQyNDBlZDAxNDA0ZGViZmNhODQ4NWY0MTU5MjM4Njc4cC03LAorICAgIC0weDEuY2VmM2MwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLmUzZDZmZjAxNGZiNjUwZjQwZmNjZTg0ODg5NDI0ZGFkcC03LAorICAgIC0weDEuZTA0OTA2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLmUzZGJjYjAxMjI0OWE2ZDk5ZmEyYzJjY2RkZGRhY2M3cC03LAorICAgIC0weDEuZTA0ZGMwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmU5OTI0YjAxYTc1M2NlY2ZkMzNmMmQ1MzZiODRmMDJmcC03LAorICAgIC0weDEuZTVlZWIwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLmY4MmJhMGU3OGFiMjA0ZjY1YTE3NzM0OTMzNzMyOTg3cC02LAorICAgIC0weDEuZjA3ZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5mOWMxM2IwMjA3MmRkOTYxOGI5ODAzZWQ3ZGRmYmFiZXAtNywKKyAgICAtMHgxLmY1ZGYyZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgLTB4MS5mYTJmNWQwMWM4NzFkMjJjZGU3MGNjMDg1Y2VkMDJlYnAtNywKKyAgICAtMHgxLmY2NGJhMHAtNworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS5mYjExNzUwMjFjYzNlMTI3MmYzYzZiMTAzMjQ4ZmMyOXAtNywKKyAgICAtMHgxLmY3MmE0MHAtNworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTB4MS5mZDY5ZjcwMjI3YjRmZWE2MDY3MWU2OGRjYjRkZWU2Y3AtNywKKyAgICAtMHgxLmY5Nzk4NHAtNworICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS42MmM0MmVlZmI4ZjNjOGE2ODM2MGZjMzcxODYyMTBlZHAtMSwKKyAgICAtMHgxLmZmZGZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgLTB4MS5mZmZmZmRmZmZmZmFhYWFhYTZhYWFhYjExMTExMjY2NnAtMjQsCisgICAgLTB4MS5mZmZmZmNwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuZmY4MDJhOWFiMTBlNjc4YTc4ZTg1NGY4ZWM2YWM3MmJwLTEwLAorICAgIDB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5mZmMwMGFhOGFiMTBmYmMwNGQwNTE5MjRjOTM0NzQ3MXAtMTEsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5mZmZmZjAwMDAwYWFhYWEyYWFhYjExMTEwYmJiYmMwNHAtMjEsCisgICAgMHgxLnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5mZmZmZjgwMDAwMmFhYWE5YWFhYWIxMTExMGU2NjY2N3AtMjIsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyMSwKKyAgICAweDEucC0xMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZmMwYThlZmZmZjQyMWRiNjAxNDk1NmNmOTM2YzUyNDZwLTcsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmZmZmZjNDAwMDlhYWE4ZTlhYjAxOTBmZjhjMTRiMzE5cC0xOSwKKyAgICAweDEuMDAwMDAycC0xOAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjAwMDAwMGZmZmZmZDU1NTU1NzU1NTU1ODg4ODg3ZGRkcC0yMywKKyAgICAweDEuMDAwMDAycC0yMworICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjAwMDAwMWZmZmZiZmZmZmYwMDAwMTQ1NTU1ZDU1NTRlcC00MSwKKyAgICAweDEuMDAwMDAycC00MQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmUyNzA4NTFiOTJiNjQ1NTVmYjQyMTIwM2FhMGJjYjVjcC00LAorICAgIDB4MS4wMDAwMDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS4xOTNlYWQwMDI1NzdjNWU4OWRjNzYwNGI4OWZjN2NlYnAwLAorICAgIDB4MS4wMDAwMDhwMQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjE5M2YzY2ZmZjlmN2Q2ZDg5NjVlNGU2YjgxOGNiNjIycDAsCisgICAgMHgxLjAwMDBlMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuZmZkMDA2YTk5YWQ5MDhkMjkzMTIyMzRlZjMwMWY4YTdwLTExLAorICAgIDB4MS4wMDA4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmYyYTdjNzAwMDA0YjAwZjFjYjc3NTUzNmM1ODU3MjUycC01LAorICAgIDB4MS4wMTEyOGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5jYWJjMTkwMDAzMTE0Mzc4NzlhZmNjZGI2ZmM5MWFhZnAtMywKKyAgICAweDEuMDExNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjIwNzk0NzAxNTc5MjUzNjQ3YTQzY2VjZDA0YzA5M2UycDQsCisgICAgMHgxLjAxZmZmZXAyNgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjAyZDU5YmZmZmViYmVlM2VjMGMxNTliMjM5MTg4YzY5cC03LAorICAgIDB4MS4wM2RjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuZWE1ZjExMDAwZmNhM2ZmOTRiY2VlZmRkYmU2N2I1NTNwLTQsCisgICAgMHgxLjA0Nzc1MnAtMworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmJlNjljNGZmZmZlZGQyY2I1ZTVmMDQ2ZTk0OTI1MWNhcC0yLAorICAgIDB4MS4xN2M1ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5mNDBhZGU3OTAyNzc0NTUyMTkyMDhlNmNiY2UxMmM4MXAtMywKKyAgICAweDEuMWIzMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLmIxN2Q2MTQ1NDhiNjlhNzQ1MDllOWQwMDNjMDk2YWNkcDAsCisgICAgMHgxLjFjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5jNDAxN2VmZmZlYzgzOWI5NmNkMWEwNDNkNTllNTczNXAtMiwKKyAgICAweDEuMWMxY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjZmYjY3ZWZmZmIyNjU3OGEwNTI3ZjYxMzYyYWM4ZmE4cC04LAorICAgIDB4MS43MGJmMTRwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS43YjliOTgyYjI3ZDhmZDY1Zjc4MzYzZDNkZWRjOTdiMnAtMTQsCisgICAgMHgxLjdiOWZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS40NDAyYzBmZmZmZmZmMWVlOGY2NTlkYTVlYTNhZjI5NnAtMiwKKyAgICAweDEuN2QyMjg2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuNDUzMjUyZmZmZmZmOWI5NDFkZmQwN2ZiZmUzNjZlOThwMywKKyAgICAweDEuOTRkNGVhcDE0CisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuOTgxZWI2MDAwMDExYjA1ZWNiNTljNzU0NWZmOTI5ZmFwLTQsCisgICAgMHgxLmFkMjUwYXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZmMWUxZTczZTcxM2RjNWE0NGU0NWY5YzNmMjhiN2M4cC0xLAorICAgIDB4MS5iNmFlOTRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjk5MDE5M2ZmZmZkZDZmOWZlZTM3ZjgwOGNkMjY2M2FicC0zLAorICAgIDB4MS5jNGI1MjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5jZDE1ZmVmZmY2OTY0MGFlYTM0NTM0MTM0Yzg4NGNmNXAtMTQsCisgICAgMHgxLmNkMWM3Y3AtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS5kMjliODY0YzM2NzhkYjlmYWZiOTI5NTcwM2JiMmJjMXAtNywKKyAgICAweDEuZDVmMjBlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZGI4YmU3YzUxMWQwMGUwMDg0MTUyODhjZTlhMjUxNjNwLTgsCisgICAgMHgxLmRkNDZhYXAtOAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjlhMzdjYjAwMDAwNmNmOWFjOWUzYjBlZWRlYzU1M2ZmcC0yLAorICAgIDB4MS5mODhjZjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4wYjIxNDgwMDBkNTIxNzVkODBjNTQ4ODdiMGQ0YTQ3MHAyLAorICAgIDB4MS5mZmJmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLmZjMDkwZWZmZmQwZGVlNmViMDJmMmZhNWI1ZDM1NGFmcC03LAorICAgIDB4MS5mZmZlN2VwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS4xOTNlMjcwMDA1MzA2NWJkODM3OGZiYmQzYjYzN2ViNnAwLAorICAgIDB4MS5mZmZlN2VwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmY4Mjk3MGU3ODMxMDA0Y2Y3YTZiZTcxNjczNTI4OTg5cC02LAorICAgIDB4MS5mZmZmYmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4xOTNlYTUwMDI1ODI3MDkzMGY4ZTdkN2FmMjQ0ZGNmZnAwLAorICAgIDB4MS5mZmZmZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmZmZmZmNDAwMDA0YWFhYTg4YWFhYmIxMTEwOGQxMTE1cC0yMiwKKyAgICAweDEuZmZmZmZjcC0yMgorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjExZDE0ZGUyZTZhNzcyODA4NDFlODkyZmFjOTBjY2ZhcC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS4yY2NhYzZkMDQ4MzRkMDNjNTEzYTBmMDNkNGM4OWI4M3AtMSwKKyAgICAweDEuOTk1MjU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuNDY2YTkyYWU1NDUzZDk1YjBiYTY2MzE0OTczODhlOTJwLTEsCisgICAgMHgxLmM4OWFjNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjVlZDFhODU5OTliYTdiOGI1NDQwY2U3ZTVhNmI1NmYycC0xLAorICAgIDB4MS5mN2UzMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS43NjFjN2Q1NmUyNWYzZjczNjllYjJlOGQzM2I4MjA5Y3AtMSwKKyAgICAweDEuMTM5NWQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS44YzYzZDI2ZjU5N2YxNzFlNGQ0NGZmNGIzMDM1NjU1NXAtMSwKKyAgICAweDEuMmIzYTBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS5hMWJkNGM5ZTQxZGYxZGJjOWJkY2Y1MjU0OGZlNzViMnAtMSwKKyAgICAweDEuNDJkZTQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5iNjNiZjgxMWE1ZjJhYzkzYTVkMTdlYzkxYmI1ZGFhYnAtMSwKKyAgICAweDEuNWE4MjdhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5jOWYwYWRiNzZiNDExMmFmYWNkNGViZTJhODI4NTBjNnAtMSwKKyAgICAweDEuNzIyNmIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS5kY2VhNjZjODA3YjhlZDkyZjQxYTRjNzk2OGI1NTU5ZnAtMSwKKyAgICAweDEuODljYWVhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5lZjM2ODE2MTc1OWQ1YTliYjJkYTUxODMzZDJiNTAyYnAtMSwKKyAgICAweDEuYTE2ZjIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS4wMDcwN2NhNTQ0ZmNiNTIzMTVlYmFmZDU3OGI4NzJiM3AwLAorICAgIDB4MS5iOTEzNWFwMAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjA4ZmE0YjllZGU4YTBiNThiNGNhZDljMTgyYjViYzdhcDAsCisgICAgMHgxLmQwYjc5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuMTEzZDhjNDg5YTAyMGIxNDg1YWVhZGNiZDgzMjhlMzlwMCwKKyAgICAweDEuZTg1YmNhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjExZDE0ZGUyZTZhNzcyODA4NDFlODkyZmFjOTBjY2ZhcC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS4yNjk5MGQ3MTJhY2FmMzc3ZGI5OTliN2E0ZDZmMGQ3N3AtMSwKKyAgICAweDEuOGUzZTE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuM2E5MTQ5MzQwZGIzMTRlYTMyMzU2ZWNlZmFjNDgxcC0xLAorICAgIDB4MS5iMjcyNDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS40ZGM5OTY5NTcxMGM2NWI5YmNmMGJiNmI4ZWRkNWQyMXAtMSwKKyAgICAweDEuZDZhNjc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuNjA0ZmQ5ZDM3MTlkZmU5MzVlMzNkZGM3ZDY5NzkxNGJwLTEsCisgICAgMHgxLmZhZGFhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjcyMzA4MzdmZGU2YTg0MzhiNGE0NTdlMjBhOGUwNmZlcC0xLAorICAgIDB4MS4wZjg3NmNwMAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLjgzNzZiZWU1ZDA4OGM1MGE5NDU4YmM2ZjdhZTlhNzgzcC0xLAorICAgIDB4MS4yMWExODRwMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjk0MmNhMjBlOGNkZGQxZGI0NWZkMjhhODEyOGJhMTIycC0xLAorICAgIDB4MS4zM2JiOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmE0NWI0ZDM2Y2YzNDg2YzYyMjQ1ZmYzZmEyOTE1ZjZmcC0xLAorICAgIDB4MS40NWQ1YjRwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLmI0MGIwOWQyOTgyZGRlNWZhNjc5Y2YzMDdlNTg1N2MycC0xLAorICAgIDB4MS41N2VmY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmMzNDM2NDE5NTdjNTM2ODdkZWFmZDE1YTQ0MzI2YzZjcC0xLAorICAgIDB4MS42YTA5ZTRwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjFlODVmNWU3MDQwZDAzZGVjNTlhNWYzZTNjNmJlNWNmcC0xLAorICAgIDB4MS44MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjM0MDI0YThjNWY2MWM4MmFjNjFlMzE4MDg3OTA4ZGY2cC0xLAorICAgIDB4MS5hNjY2NjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS40OGExMTIyODBkNmFiZGU5NmFjNjdiMWZiNWVjYjE0NnAtMSwKKyAgICAweDEuY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuNWM3Mzc1NmZiMGRlYTIwODdjZDkwZDhiN2JjOTk3YTlwLTEsCisgICAgMHgxLmYzMzMzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjZmODhiMWJlZTQyMjcyZmYwYTU3ZGI3NTA5NmQ1ODVlcC0xLAorICAgIDB4MS4wY2NjY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjgxZWU2MGFmYjUwMTk5YjkxMDkwZDg5ZWYzMThkZTkwcC0xLAorICAgIDB4MS4yMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuOTNiMGFmOWM0YWI4MDE5ZTI3OWY5YzNiYzhhMzc5NTVwLTEsCisgICAgMHgxLjMzMzMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuYTRkYTkzMmUyODVjY2MzZmMwN2YxMTg3MDExNDVhNDFwLTEsCisgICAgMHgxLjQ2NjY2OHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuYjU3NWVmMTIyODBjNGQxYjRmMDZhNDZlMjVlOGE0YTZwLTEsCisgICAgMHgxLjU5OTk5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuYzU4YmI4NDlhYTc0NTdhOWFiYmRhYzA2MzgzM2Q3MjRwLTEsCisgICAgMHgxLjZjY2NkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZDUyNDBmMGUwZTA3N2EwODJiMjdlMmZjMDZjYzc2OGFwLTEsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS43YmRmMzY5MDFjN2YzNTAwNDFkYTZlZjEzMDQzOTVjZXAtMSwKKyAgICAweDEuMTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS45M2IwYWY5YzRhYjgwMTllMjc5ZjljM2JjOGEzNzk1NXAtMSwKKyAgICAweDEuMzMzMzM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuYWE3MzExOTIzOTFhODg2M2Y0YmZlODQ1Mjk5MWMxNDFwLTEsCisgICAgMHgxLjRjY2NjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmMwM2Q3MThjOGI0ZGFmY2FlOWU4YmU3OGNmODNjYmY0cC0xLAorICAgIDB4MS42NjY2NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5kNTI0MTBhN2E3YTA2ZmNhYmFkYjZkOTBhNGExOTc5M3AtMSwKKyAgICAweDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuZTkzOGNkYTc0ZWY2ZDBiZTE3OTMwNGI1MjYxOWViODJwLTEsCisgICAgMHgxLjk5OTk5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmZjOGI4MTI2ODI2MjQyNjE0YjQ4MWQ4M2FhZWMzY2JkcC0xLAorICAgIDB4MS5iMzMzMzZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS4wNzk1MjQ4MGIwZWEzNWE2MjU2YjIwMzcxNThmMzlmZHAwLAorICAgIDB4MS5jY2NjZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4xMDkwZTM0MGUwMjkzNWVkYTE3NzI4YjU3ZGJiMjk3NHAwLAorICAgIDB4MS5lNjY2NmFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS4xOTNlYTdhYWQwMzBhOTc2YTQxOThkNTUwNTNiN2NiNXAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjMyMTdiMDQyZmM4NWU1MTBmZmVmMzIyNDQ3Mjg2MTY3cC0xLAorICAgIC0weDEuY2NjY2NjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgLTB4MS4wNThhZWU1MmJiZjAzNmU0M2RhNjBmZTc0MDQ4MGVjOHAtMSwKKyAgICAtMHgxLjk5OTk5OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuYjkxZjI0NmZmMDhlMmJlMjFmZjc5MzU1ZDM2M2RlNzVwLTIsCisgICAgLTB4MS42NjY2NjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMHgxLjZkM2MyZGJiY2FkMmY2YzViOTcxMWJlM2M5NWFjZDgzcC0yLAorICAgIC0weDEuMzMzMzMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS4yNjk2MWQxMzRkYmIyNzgzYmQ2MjEyMTdiNTU0NmM4MHAtMiwKKyAgICAtMHgxLmZmZmZmYXAtMworICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuYzhmZjc1NzlhOWE1MmFjMjViYjg5OWRiZDI2NGNlODZwLTMsCisgICAgLTB4MS45OTk5OTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjRjZDZiMzViNDVmYmI5ZWQ5MmNjZmQ3ZjEwZDI5ZGZjcC0zLAorICAgIC0weDEuMzMzMzJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5hZjhlNzc2NWY5NmViYTc0NDlkMmUzNjllZGI4MTVkOHAtNCwKKyAgICAtMHgxLjk5OTk5MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuYTQzMWMxMWIxMjcxYjNjODUwMWNmYWY5ZDMzMTkwMTVwLTUsCisgICAgLTB4MS45OTk5ODZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS44ZmIwNjQ1MGIyOTZmN2I2NmFiMWE1NDlhZTQ4MjZhMnAtNSwKKyAgICAweDEuOTk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjg2NjNmN2YwZGJiMjNhMjNiMThhOTlmMTNiMDY4MzlhcC00LAorICAgIDB4MS45OTk5OWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMWUzYjgzMGZlNmExNzk3NGM3YmQ4NGM0ZTNlYWI4MmNwLTMsCisgICAgMHgxLjMzMzMzNHAtMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS43NTY1MDE3MzllYmNiNzIyYWQxMDc5OTU0YWI2NGFiYnAtMywKKyAgICAweDEuOTk5OTlhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmM4ZmY3Yzc5YTlhMjFhYzI1ZDgxZWYyZmZiOWEyNGFlcC0zLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuMGNhOTM4NWJhNTc2NGY0MDI2NWI4ODQyMjc3ZGVjMjdwLTIsCisgICAgMHgxLjMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4zMzRlOWY3NzM4Y2FmNjkxZDkwMjhmNzBkMDAzOWZlZnAtMiwKKyAgICAweDEuNjY2NjY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjU4OGMyZjQ4MGViNjUzMmQ1NzU1MmQyNGEyMmMxOGI4cC0yLAorICAgIDB4MS45OTk5OWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuN2M3YjJhNjIwNDcyM2UwYWI1MmE5NjBhMjFkYmU0NjFwLTIsCisgICAgMHgxLmNjY2NkMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS45ZjMyM2VjYmY5ODRiZjJiNjhkNzY2ZjQwNTIyMTgxOXAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgLTB4MS43Zjc0MjViNzNlM2QxNTAzYWVmNGRiOTg1Y2Y0N2U5OHAxLAorICAgIC0weDEuZTY2NjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS4yNmJiMTliYjU1NTU1ODJkY2EwMzAxY2M1YWZiMDM0MHAxLAorICAgIC0weDEuY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS5lNWE5YTNjM2FjNDk4MDkwYjlkMDI5ZGJiNGFkODA3YXAwLAorICAgIC0weDEuYjMzMzMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS45YzA0MWI3ZWQ4ZGIzNmFmY2EyMjUwMDBiMjAzMGZkMnAwLAorICAgIC0weDEuOTk5OTk4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS42MmU0MmJlZmEzYTZmMzU3N2U3MjEyMWFiMjhmY2IzY3AwLAorICAgIC0weDEuN2ZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS4zNDM3OGJjYmRhN2EwNmU0ZWZlYzc2NDNiMGJhODljYnAwLAorICAgIC0weDEuNjY2NjY0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS4wY2MxMjA4YjU2ZDRiNGMwNjc1NTIwNjE5M2NkMWNlYXAwLAorICAgIC0weDEuNGNjY2NhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5kNTI0MDcwZTBlMTc3YTA4MDA3ZDM4ZDE1YzIwMzI0NXAtMSwKKyAgICAtMHgxLjMzMzMzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuOThkNWY4MzFiODMxYWUzNDJiNmQzOTBkNWVlNDA3OGFwLTEsCisgICAgLTB4MS4xOTk5OTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjE1NDI0NTczMzdkNDJlMWM2YjczYzg5ZDg2NmJhMTcxcDYsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuMTVhM2RlNzI5MTIyNjAzOGY4OWI3OTA3OWRlNzRiMTVwNiwKKyAgICAweDEuMTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS4xNWZjZjdmNjcxYTM4Yjk1NTIyMDBiNGMxN2YwMzI4NHA2LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjE2NGVlZWFlYTcyYWRkZDczODdiNWZkODkwOTk0NDgxcDYsCisgICAgMHgxLjRjY2NjZXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuMTY5YWQxYTU1YjUwOTkwYzU0ZTFlNjUwMDI5ZmM5NWFwNiwKKyAgICAweDEuNjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS4xNmUxNzdiNzU5MjMwNGEyYjM1MTkwMzcwODk0NTFjNXA2LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjE3MjM4ZTFhZGE0Njk2NzViOTcxMTY3NDQ5NTVhMDQwcDYsCisgICAgMHgxLjk5OTk5Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMTc2MWEyN2NmMGZmZjE2YzFlODZiMTgzMzEwNjMxZGZwNiwKKyAgICAweDEuYjMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS4xNzljMmEzOWFmNjQyNzU3YTZhNjFiMDBiYmExNjBhZXA2LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjE3ZDM4NzlmZjNiOTE3NzM1ZTNiYjk0N2ExZTU0NzZmcDYsCisgICAgMHgxLmU2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTY1YjZkNGNwNiwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS42MmU0MmZlYmEzOWVmMTU3OTNjNjExZGFiMTkwOTgwOHA2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMTFkMTRjYjZmYTczYzZlM2UyYjMyZmRjMmUzOTE4N2NwLTEsCisgICAgMHgxLjZhMDllNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS4xMWQxNGRlMmU2YTc3MjgwODQxZTg5MmZhYzkwY2NmYXAtMSwKKyAgICAweDEuNmEwOWU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjExZDE0ZjBlZDJkYTZlNmM1ODlmYjVmNDMzMmQ0NzZmcC0xLAorICAgIDB4MS42YTA5ZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLjNhNWFjMWMwNGM1ZjNiNDkxM2I3OTlkYTlkNzM4MTczcDAsCisgICAgLTB4MS42YTA5ZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLjNhNWFiZTU2NDI3NTVkMjIxNWQwNjY1NmFiYjM4YzVkcDAsCisgICAgLTB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLjNhNWFiYWVjMzg5NzI3MjJhMTVmZDFkNWMwYTg5YzM2cDAsCisgICAgLTB4MS42YTA5ZTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuYzM0MzY0MTk1N2M1MzY4N2RlYWZkMTVhNDQzMjZjNmNwLTEsCisgICAgMHgxLjZhMDllNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLmMzNDM2NWMxN2Y1ZmNkNWYwODAwMDgzYzVmM2YyZGUzcC0xLAorICAgIDB4MS42YTA5ZTZwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5jMzQzNjc2OWE2ZjkwNGQ0OTc1OTQ3MWJjZmNlNDQ5MHAtMSwKKyAgICAweDEuNmEwOWU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuOWYzMjNkNzZhNDJmMzBmMjg1M2M4OWI3ZjU1NGE5N2JwLTIsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS45ZjMyM2VjYmY5ODRiZjJiNjhkNzY2ZjQwNTIyMTgxOXAtMiwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLjlmMzI0MTc2YTQyZTg2NDdkYjAzYTYyOThkMDhjZjgzcC0yLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuMWU4NWY0YzI3MWMzOGJiNGY5YjkzOGFlNjI4NTZhNzVwLTEsCisgICAgMHgxLjdmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS4xZTg1ZjVlNzA0MGQwM2RlYzU5YTVmM2UzYzZiZTVjZnAtMSwKKyAgICAweDEuODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuMWU4NWY3MGI5NjU1ZDRkOThjNDIwZGE0MmY0NTdhNmVwLTEsCisgICAgMHgxLjgwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuNjJlNDMzZWZhM2E2ZjM1N2E5MWNiY2M1NWQzYzBmODBwMCwKKyAgICAtMHgxLjgwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMCwKKyAgICAtMHgxLjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS42MmU0MmJlZmEzYTZmMzU3N2U3MjEyMWFiMjhmY2IzY3AwLAorICAgIC0weDEuN2ZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmQ1MjQwZDc0NzQ2ZDNjOTc4NmY5NzcxZjUyMDc0ZWYzcC0xLAorICAgIDB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS5kNTI0MGYwZTBlMDc3YTA4MmIyN2UyZmMwNmNjNzY4YXAtMSwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5kNTI0MTBhN2E3YTA2ZmNhYmFkYjZkOTBhNGExOTc5M3AtMSwKKyAgICAweDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDQsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuOWMwNDFlYjIwYzA2MTdmNzhkNjA2ZjI3YWNmNjllMjhwMCwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuOWMwNDFmN2VkOGQzMzZhZmRmNzdhNTE2MDc1OTMxZjRwMCwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuOWMwNDIxMTg3MjZiODg5YjY1ZjNlM2UyOGUzZTRlNjZwMCwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMTkzZWE3MDAyNTg1YzVlODZiMWNiNjZiMTgzMjAxNmNwMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMTkzZWE3YWFkMDMwYTk3NmE0MTk4ZDU1MDUzYjdjYjVwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuMTkzZWE5MDAyNTg1MWIzZGMxNTU5OWY4OTM3NDYxMWJwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuNjJlNDJlZWZhMzllYjM1NzkzYjIxMWRhYWE5MDk4MDVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuNjJlNDMxZWZhMzlkZjM1Nzk0NzIxMWRhMzI5MDk4NmZwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLjlmMzIzZDc2YTQyZjMwZjI4NTNjODliN2Y1NTRhOTdicC0yLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuOWYzMjNlY2JmOTg0YmYyYjY4ZDc2NmY0MDUyMjE4MTlwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS45ZjMyNDE3NmE0MmU4NjQ3ZGIwM2E2Mjk4ZDA4Y2Y4M3AtMiwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLmM4ZmY3YWUwMTAwODU4MzMwMTUzODM1MzdhNzEwYmY3cC0zLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuYzhmZjdjNzlhOWEyMWFjMjVkODFlZjJmZmI5YTI0YWVwLTMsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5jOGZmN2ZhY2RjZDRhYTFlODZhMzYyOGVkMjgxNmU0OXAtMywKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLmUyNzA3NTFiOTJiYzdlMzk4NWJhMmI0ZWRhMjdlMTc3cC00LAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZTI3MDc2ZTJhZjJlNWU5ZWE4N2ZmZTFmZTllMTU1ZGJwLTQsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5lMjcwN2E3MGU4MTE4N2I0YzgyOWQ3MDczNDg1YzI1NHAtNCwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmYwYTMwYTFmMzQ0ODc2MDlhMDRjMjAxZWRkMWY2MjI0cC01LAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuZjBhMzBjMDExNjJhNjYxN2NjOTcxNmVlYjMyZjEzMWFwLTUsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5mMGEzMGZjNGQ5ZWRmMTJhNjZiZDMyNjhmNTNlYjI0N3AtNSwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmY4MjlhZWY3MDcxMGY1ODdkY2RjMWU0NmY1YzhmYzI4cC02LAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuZjgyOWIwZTc4MzMwMDRjZjhmYzEzYzdiYzhhN2ViYWJwLTYsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS5mODI5YjRjODdiNmRmNjNjNjcxNzUwYjBkNDliZDBkMHAtNiwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLmZjMGE4OTE3YTBiYzQwZjlhZjliODFjZWZmYjY4NzZhcC03LAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAweDEuZmMwYThiMGZjMDNlM2NmOWVkYTc0ZDM3YWJkNTZkZjVwLTcsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5mYzBhOGVmZmZmNDIxZGI2MDE0OTU2Y2Y5MzZjNTI0NnAtNywKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLmZlMDJhNGI0ZmU4ODZlMGFkZmNkOWJmNzcwNzk2Nzk1cC04LAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuZmUwMmE2YjEwNjc4OGZjMzc2OTAzOTFkYzI4MmQyYjNwLTgsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS5mZTAyYWFhOTE2NThjNzY0MTU5MWNiZjcxMTM5Mjc4OXAtOCwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmZmMDBhODJkMGViZTAxYTQ4MWJiNjIxNDFkMWQ1M2I1cC05LAorICAgIDB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuZmYwMGFhMmIxMGJjMDRhMDg2YjU2OWI0ZDRiNzY5MTlwLTksCisgICAgMHgxLnAtOAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS5mZjAwYWUyNzE0YjgwNGE0N2VjMTVmMGUzMWYzOTBlZHAtOSwKKyAgICAweDEuMDAwMDAycC04CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmODAyODliYjA4ZWE2ZWIwODgwOThhNDlhNzFkOWQ5cC0xMCwKKyAgICAweDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mZjgwMmE5YWIxMGU2NzhhNzhlODU0ZjhlYzZhYzcyYnAtMTAsCisgICAgMHgxLnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5mZjgwMmU5OGIyMGRlNWNjNTc3OTRkYjBhMTg3OTE4NXAtMTAsCisgICAgMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5mZmMwMDhhOTJhZjEwMzdlNmQ3OGZkMjBlNGU2MmY1NnAtMTEsCisgICAgMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmZjMDBhYThhYjEwZmJjMDRkMDUxOTI0YzkzNDc0NzFwLTExLAorICAgIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLmZmYzAwZWE3YWI1MGVhYzRjYmQ1Njk2NGU0Mjg0Y2I2cC0xMSwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5mZmY3ZmUyYWI5YWEzMTBjZTZjNzg1ZjBiZDFhZWZjZnAtMTQsCisgICAgMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuZmZmODAwMmFhOWFhYjExMGU2Njc4YWYwYWZjM2RhYTRwLTE0LAorICAgIDB4MS5wLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLmZmZjgwNDJhODlhYmIwZThlOGE3NzBmMzE0ZWViMjVkcC0xNCwKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuNjJlNDMzZWZhM2EyZjM1Nzk5MWNiYzhkNWQzYjRmODBwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS42MmU0MmRlZmEzOWZmMzU3OTMxY2JjODVkZDNiNDI0ZHAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuMjY5NjIzYmRmODY0YjViY2EyYWFjMzEzYmVjZmFmYzdwLTIsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjI2OTYyMTEzNGRiOTI3ODNiZWI3Njc2YzBhYTljMmEzcC0yLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS4yNjk2MWZiZGY4NjQwYjExZjc4ZTUxNGM3MmY1OWNiNXAtMiwKKyAgICAtMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuMTE3OGVhNmJhMmRhNWE5ZjRkYTllYzg3NDEzZGFhMjlwLTMsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjExNzhlODIyN2U0N2JkZTMzOGI0MWZjNzJkZTgxZTNicC0zLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTB4MS4xMTc4ZTZmZGViZmVhZTM2ZDAzNGJmMDAyNmU3YmEyNnAtMywKKyAgICAtMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuMDg1OThkN2MwNWMyYWYxNTBlZjA1MzZkM2E2YmVjNDNwLTQsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLjA4NTk4YjU5ZTNhMDY4OGEzZmQ5YmY1MDMzNzJjMTJmcC00LAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS4wODU5OGE0OGQyOGY2MDkzNWEwNDk0MGQ2ZDE3MzI0NnAtNCwKKyAgICAtMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEuMDQxNWRhYWVmODY1NjA1MDA5N2UwYWEzOWY3ZWI1M2VwLTUsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLjA0MTVkODllNzQ0NDQ3MDE3M2M3NWQ0ZDg4ODlkZTBlcC01LAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS4wNDE1ZDc5NjMyMzNjNzIzOGNkMWE5Nzc5ZGZiZDEwZnAtNSwKKyAgICAtMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuMDIwNTY3OTE1NjA2ODUwMTJkZDIxNjg3MzEwNjY3MGVwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjAyMDU2NTg5MzU4NDc0OWYyM2ExMDViOWM3YmI5YTZmcC02LAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS4wMjA1NjQ4NTI1NDM3MjlmNDRhNzIwYzU3MzAwNWM1ZnAtNiwKKyAgICAtMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuMDEwMTU5NWM5NWY3MzZkZDdkZGRkNGY0YTg0ZmMzMGVwLTcsCisgICAgLTB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjAxMDE1NzU4OGRlNzEyOGNjYzVhODJmOWRhMDBmNDhicC03LAorICAgIC0weDEucC03CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS4wMTAxNTY1Njg5ZGYwMzcwOTdmOWQwNWEyMDM4YTZmZXAtNywKKyAgICAtMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuMDA4MDU3OTc4YWI1NWJlYmEwZWQ0YzRlNjg4YjBmZGRwLTgsCisgICAgLTB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLjAwODA1NTk1ODhiMzU3ZTU5OGUzM2Q4ZDlkYjM3YTI5cC04LAorICAgIC0weDEucC04CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgLTB4MS4wMDgwNTQ5NDg3YjI1NzY1OTk2NDNlYjk0OGRkY2UzY3AtOCwKKyAgICAtMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuMDA0MDE3NWU1OTBhMWY5MTc3ZTc3M2JlOWM5NzBmYmVwLTksCisgICAgLTB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLjAwNDAxNTVkNTg4OWRlNzA2NzFlZWVjMGJmY2VmZTUzcC05LAorICAgIC0weDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS4wMDQwMTQ1Y2Q4NDliZWEwOWY0YjBjYmU1NWUwNTIyYXAtOSwKKyAgICAtMHgxLmZmZmZmZXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjAwMjAwNzU2ZDVhODliYjdiZDcwMGEyOWQ0Mzg3MDlkcC0xMCwKKyAgICAtMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMHgxLjAwMjAwNTU2NTU4ODkzMzU3Y2Q3ZTFmNDg2YmQwNzA1cC0xMCwKKyAgICAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLjAwMjAwNDU2MTU3ODhmNTQ4YzlkZDNlYmNjOTU3ZWNmcC0xMCwKKyAgICAtMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLjAwMDQwMjE1NjVkNWQ4OWM5ZWZlN2QyYzM1NGM4NTczcC0xMywKKyAgICAtMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAtMHgxLjAwMDQwMDE1NTVkNTU4ODg5ZGRlNzAyYjAyOGM5OTk2cC0xMywKKyAgICAtMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAtMHgxLjAwMDNmZjE1NGRkNTE4OGE5ZTBlNzJhYjA5MzY2NDJjcC0xMywKKyAgICAtMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuNzMyNDI2MDkwY2I4Mjg3YjIwNzY3ZjgyMmNmZjIxM2ZwLTEsCisgICAgMHgxLjEwODJhZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjczMjQyN2Y5MGUxMzZkYWU0MzY0NDM3NjQzNmQ0ODNhcC0xLAorICAgIDB4MS4xMDgyYjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS43MzI0MjllOTBmNmNkMjVlYzc0Yzg4OWMyOGJiZWIwZHAtMSwKKyAgICAweDEuMTA4MmIycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuNzMyNDJiZDkxMGM0NTY4Y2FmZDI0ZThjYmVhZDRmOGNwLTEsCisgICAgMHgxLjEwODJiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjczMjQyZGM5MTIxOWZhMzgwMDk4OTRkNjU1NDU5ZjkycC0xLAorICAgIDB4MS4xMDgyYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS43MzI0MmZiOTEzNmRiZDYwYmQ0MjVhZmNhYWNiMTFmMHAtMSwKKyAgICAweDEuMTA4MmI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuNzMyNDMxYTkxNGJmYTAwNmU5NzJhMDc4ZWJjNjEzNmJwLTEsCisgICAgMHgxLjEwODJiYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgLTB4MS4wMDAwMDMxMzMyZmIzMTcwZjE0N2JiYWJkNWE1ZGJlMnAtNCwKKyAgICAtMHgxLmYwNTQwYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuMDAwMDAyMDJiMDQ1OGU0ZWQxMDQxNDk2ZTczMzVhNGRwLTQsCisgICAgLTB4MS5mMDU0MDhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAtMHgxLjAwMDAwMGYyMmQ4ZmZkNGUxMTBhYjJlN2FiYmYwOThicC00LAorICAgIC0weDEuZjA1NDA2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS5mZmZmZmZjMzU1YjRmY2RkNjJiMjVhMGUzZjc4YTE3MnAtNSwKKyAgICAtMHgxLmYwNTQwNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIC0weDEuZmZmZmZkYTI1MDRhMjM2MTYzZGEzMmJjODAzM2I2NTdwLTUsCisgICAgLTB4MS5mMDU0MDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLmZmZmZmYjgxNGFkZjZlMjgyNTg4MWNhYzE0ODMzMGQ3cC01LAorICAgIC0weDEuZjA1NHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuZmZmZmY5NjA0NTc0ZGQzMWE3Yjc0NGFlZjgzMTc4NmVwLTUsCisgICAgLTB4MS5mMDUzZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjYyZTQyZmViYTM5ZWYxNTc5M2M2MTFkYWIxOTA5ODA4cDYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuNjJlNDJmZTdhMzllZWI1NzkzYmNiYzg1NGQzYjQyOWFwNiwKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS42YmNiZWQ2NDk5MTM3YTZkOGNiODhhM2I0NmZlMzEzYnAwLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5lMzcwM2U0MmI5MmU0NGNjNGExNmM2NDc1OTM0N2JhOXAtMSwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuNjJlNDMxZWZhMzlkZjM1Nzk0NzIxMWRhMzI5MDk4NmZwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS42MmU0MmVlZmEzOWViMzU3OTNiMjExZGFhYTkwOTgwNXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgLTB4MS4wYTJiMjNmM2JhYjczNjgxYWVkNThkNjQwNWVjNzIwNnA0LAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjI4YzZjNDEwYzZlOTdlODZhYzY1Y2JiYWY5YmU1NmUxcC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLjg5ZmEwMGMxZGZhZDg3MmE1ZWZlNGMzMWViN2RkZGI1cDAsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAtMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLTB4MS5mZmZmZmMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuZmZmZmY3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAtMHgxLmZmZmZmODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ5LAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvbG9nMl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbG9nMl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE0ZmI3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9sb2cyX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE0MjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19sb2cyX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5mZWZmZmZmZmZmZmZmZmY0NzU1YzRkNmEzZTgxNTA5OXA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0weDEuZGZmZmZmZmZmZmEzYTdmZmMyNjVhYWYyMjU1YjY5MjlwMywKKyAgICAweDEuMDAwMDAwMDAwMjAwMXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjE0ZmY1OGJlMDZlNGViMGY2M2JhOGU3NTc5YmFiOTEzcC0zNywKKyAgICAweDEuMDAwMDAwMDAwNjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuMTRmZjVhMTU2NmE5YTgwMDAyMDhhZjcyMDgxMjE0ODZwLTI2LAorICAgIDB4MS4wMDAwMDAzMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjQzMjllNmZhZmVkNGVjMTc2NzRmYjIwMTA3ZWU0NzM4cC0yNCwKKyAgICAweDEuMDAwMDAwZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS5mMmQ4ZmM4MGRhYzk3ODAwMDAzY2JjZTY3OTdhYzcyNXAtMjIsCisgICAgMHgxLjAwMDAwNTY3MTk3NjRwMAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuZGM0MTM3NzFkOWYzYzgwMDUwYjdlZjA5MTM0YmZjNjVwLTEwLAorICAgIDB4MS4wMDUyOTRhNTI5NGE0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLmY5NGY0NmRhMjcyYWU4NzIxNGY2Njc4M2RjMDAxMmFlcC0xMCwKKyAgICAweDEuMDA1NzlmM2M4YTcxZHAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS41YWY0NTdjMDY5NzZkODY5MzRlODEyZmNhYmQwODZhMHAtOSwKKyAgICAweDEuMDA3ODViMGFkZGNlOXAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS45MDAyZTM2MWQ0ODVjYmU0MmY3YzUyNGViMTk0ZDkwNHA2LAorICAgIDB4MS4wMDgwNDAyMDEwMDgwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLmViY2NjMTA5NWNmYTg4NjZhY2U3OWNmYzAwNTQ0YzYzcC05LAorICAgIDB4MS4wMGFhYWFhYWFhOWFicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS42ZmU1MGI2ZWYwODUxN2Y4ZTM3YjAwMTc5NGY0NDQxY3AtNywKKyAgICAweDEuMDIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIC0weDEuZjE1ZjYyNDc4NmE5ZmZmZmZmNzRkYzYzYTg1MTY0MzBwLTEsCisgICAgMHgxLjA1MWViODU2MTM0YzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5kNzNlNDYzNDExNDhlZmZmMzNkODNmMDhhMzExM2JiMXAtNiwKKyAgICAweDEuMDUyN2FjYzhhZDBjMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMDY4NDRmMzMyOWNmNDgwMTYwYzkyMDdiMGZlOTY4NmRwLTUsCisgICAgMHgxLjA1YmZmZDcxNzdmOTBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjZkMTZjY2JmZTgzMTMwMDA3MWQyZTEyN2RjYWRjNjJjcC01LAorICAgIDB4MS4wODA4MTNkMzkyZWVhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5iZDczNWViMThjZjVlODAxMTg1MjIyOTcyZmU3ZDdmN3AtNSwKKyAgICAweDEuMDlkNTNlNTA3ODU2NnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuODgzYTU3OGEyMTQ0ZDgwMDAwMDgyMjM2YmI5NzVhN2JwNiwKKyAgICAweDEuMGE0ZmVhODk0Y2U2M3A5OAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmU1MmJiMzJkZGUwZTM3ODM1YjA5OTc5ZWU0OGViOTE1cC01LAorICAgIDB4MS4wYWJhNTdjNGNhMmQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS44YzRkNjBhNmY5MWNmZmZmZmZjNGRiNTIxZWMyMzA1MnAxLAorICAgIDB4MS4xMWEyYWQ1NzBmYzg0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS4zYzEwNjUyY2QyYzAzN2I3MjJkOGMzMDFhOWNiYjc4N3AtMywKKyAgICAweDEuMWNlNzM5Y2U3MzljZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMjVhNTdlYTU0MDYwYWZmZmZkNmUyYjM4ZDhhNmU2ODBwMywKKyAgICAweDEuMjE0ZTUwMzFjOWM5OHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLjk1ZDg5NzZmYTJiZWM3ZmZmZTQ0ZTcxYWIzMGRhMjc1cC0xLAorICAgIDB4MS4yNzkwYTdhNGFjMmUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuYWQ1MzJjZDdjZmMwYzgwMGZlYzk3NTJiMDcyOGM1ZTFwLTMsCisgICAgMHgxLjI4MDk1OGFkZDY2ZThwMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS45MmEzMjFhNzE5ZTJmN2ZmZmZhNDZjOTk2MmYyMTNmY3AtMSwKKyAgICAweDEuMjhkYTEwZmFhNzkyMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmYwMGQ4ODNhNTE1NGM4MGI3Y2RjYTA3ZTFmNGMwM2I3cC0zLAorICAgIDB4MS4yZWNjNWQ5OGJiMzE3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEuNzk1MzhkZTMyN2ViMDAwMDAwOGEzMWVlZWM1YjQ0NzlwLTEsCisgICAgMHgxLjMzMzMzMzM2M2FmMTVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEuNzk1MzhkZDkzZGY3ZDgwMDAwODgzM2NjOWQyMzBkZWFwLTEsCisgICAgMHgxLjMzMzMzMzNhNWE3MjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS44Mzk4OGQwZGZhM2I2ZmZmZmY3YzMxNWQ5ZWIzODhhM3AtMiwKKyAgICAweDEuNGNjY2NjY2QzN2M1OXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuODM5ODhkMWNiNWFmMmZmZmZmZmIzNjQzNTE5NzNkYmZwLTIsCisgICAgMHgxLjRjY2NjY2QwODk2MGFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjYwZTYyMzUyODFlMTBmZmZmZjcyYzA3YjQ3ZDU2NTNhcDAsCisgICAgMHgxLjRjY2NjY2RhYmVmNDhwMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjMyNWZlMjIxNDQxNDY4MDAwMDA0ZGJlNDI3ZmZjYzZhcDEsCisgICAgMHgxLjUwNDk5NjQ4ODJmMTZwMgorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS45NWMwMWEzOWZiZGY1N2ZmYTJlYzZmNjk3ODg2ZjZhYnAwLAorICAgIDB4MS41NTU1NTU1NTU1NGQzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuYjIxOWI0MDhhYzQwNjgwMTI5N2Y5YzBmMzEzYTBhYmNwLTIsCisgICAgMHgxLjU3NzE1ZDljNjJiZTJwMAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS4xNGM1NjBmZTY4YWY4ODBlMGEwZjMzN2Q1NTU2NTI4MXAtMSwKKyAgICAweDEuNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS41MTQwY2NmYmM5NGJhN2ZjMTRjYWUyNWFmMTMyMmUxOXAzLAorICAgIDB4MS42MDU3ZmYxNzQ1Mjk0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjdjNDRlZWNjNzlkOTA4MDAwMDg4NGE4N2NlMDlhMWUzcDAsCisgICAgMHgxLjY2NjY2Njc3MTIwMjZwMQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmY0NGMzYjgwY2UxYjdmNTMwNzdlMmQwYmEyZGYzYzU4cC0yLAorICAgIDB4MS42NzJlYTRjOGVkMTNjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS43ZTNkNTliNzZmZWNmODAwMDAxZjI3NmJmYzgwMWFmNXAwLAorICAgIDB4MS42ODUxMzJiZmI3YmQ2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuYTAyYjVlYzRmYzdjODdmZjk3ODRlMTlhODZhY2NiOWVwMiwKKyAgICAweDEuNjk2cC03CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmZmZmZmZmZmZmYzOWQ0NDk3OWNjNjdiY2Y3ZGVkZmFwLTIsCisgICAgMHgxLjZhMDllNjY3ZjNiOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS5mZmZmZmZmZmZmZTNkNWNiMDU4NWEzODQwYzkxNTE0Y3AtMiwKKyAgICAweDEuNmEwOWU2NjdmM2MzYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS5lYmU0Nzk2MGUzYzA4N2ZlNGU1MjY4NjI1ZjVhNjk3YXAtMiwKKyAgICAweDEuNmYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLjllOTcxNmQxY2I3MmM4MDEzM2M1ZjBmMzczY2Q5N2QwcDIsCisgICAgMHgxLjZmOWJlNmY5YmU2ZjhwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4xODJmZmRjY2VkNzBhZmZmZjk4NDZlYWI1M2U3NjlkZnAtMSwKKyAgICAweDEuNzYxNzAyYWMxMzE0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmM1MjcyNDg0Mzk5ZDFmZmZhNzliOGM0YWI4OWVhOGJjcC0yLAorICAgIDB4MS43OGMwNDc1Nzk5YjQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmMxYmFlNjg2M2M3YjE3ODc4OWZlZjg3MWE1MzNmMTdhcC0yLAorICAgIDB4MS43OWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuYjdmY2VjMjU2NWVlNzdmYmQzNmQ2OTgzN2RkOTU0MjBwMSwKKyAgICAweDEuN2ExNzk0NDg3OWYwNHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjk1YzAxYTQxMGExYWY3ZmZmZmZmZmYxOGFjMjBiYzRmcDAsCisgICAgMHgxLjgwMDAwMDA3NTYwMzhwMQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5iNWEyYTkxMDI0YTIzN2ZjMjUwZDQ4YjdkZmM1NzVmNnA2LAorICAgIDB4MS44MWE2YTY1Nzg1ZGU1cC0xMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEuNWIyYzNkYTE5NzIzYTgwZGI2YTA0ODA1OTI4MTI1OTlwMCwKKyAgICAweDEuOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS45NTk2ZDc2MWMzYzFmMDAwOTQyYTg3OTYwYzRlNmFjYXAyLAorICAgIDB4MS45NTRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuMzYxZjdhMGY0MGFjZjgwMDA4YTNjZGJiNTZlZjQzYTNwLTIsCisgICAgMHgxLjlmMGQxYzRhODVkZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuYTY0YTE0ZWEzMWZmMjdmZmZmYzZlMDQ5MWMwMGVjZTBwMSwKKyAgICAweDEuYTAxZjU2ZDVjOGJmNXAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjM2YmRhNzAyOGE2YzE4MDAwNDM2Y2NlYmQ2NTRiMTEycDMsCisgICAgMHgxLmEyZjQ3MDRhN2I3ZmNwOQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS45MTYyYzhhN2M4OWQ2ZmZmM2I2MTY5NmNjMGNiN2IwOHAyLAorICAgIDB4MS5hODJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuM2RmNWYyN2YwODIzOGZmZjNkOTMwYjBhYTdiNjdlMTlwMCwKKyAgICAweDEuYjBlYzNiMGVjM2IwY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmMyMGEwZDgwZjdkYzcwMDBjMjZjZjRmNTU4NDk4MWU2cDAsCisgICAgMHgxLmIwZWMzYjBlYzNiMGNwMQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmYzMmQ2YzczZmU0ZWIwMDAwMDk5OGY4MDJmZDg5NGEycDIsCisgICAgMHgxLmJkOWNlYzFjNzJjOTBwNworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS40ZjU3NWI3ZDQxNjA4ODAxODJjNmY2OTMwNmQwM2MyOHAtMywKKyAgICAweDEuYzkxMGVmMGQ2ZDg5ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS40ZjI3OGFiZmZiMTEwODAxYTNkN2VkY2I3OWVlNWYzMnAtMywKKyAgICAweDEuYzkxODU0YWY5ZWUyNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS4yODUzNzhkYTkwZDdlN2ZiMDA4ZWVkZjBhMTBmYmE0OHAtMywKKyAgICAweDEuY2YyNDNmZjE5NzFhMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmI3NDk0OTAyMGY3ODU4MDAxMDVjYTMxNDBhZmI1M2I1cC0xLAorICAgIDB4MS5kMDAwMDAwODBwMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS4wMjBmYmI0YWUwMWM2N2ZhODVmNTEyOGVlZjgwMDY3OHAtMywKKyAgICAweDEuZDUyZGI5NjMyOGVkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjczMGE4ZDI0MWVmYmI3ZmZmZmYzMmNlOTVhNjk0OTkzcDEsCisgICAgMHgxLmRkNGQ2NDA3YzA0YzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS43ZDA2ZDI2M2NmMDZlODAxMzUxOTE5N2VlMzExZDcwZHAtNCwKKyAgICAweDEuZTAwNzQ0NmQ1MzE3YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS42NTFhMDQzZTU5OTA4ODAxNTE4ZjlhZDhhNzMwYjAwNnAtNCwKKyAgICAweDEuZTFmOWNmZTRkYTM2NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5jMzE1YWNlODNmNmQ4N2ZmZDQ3ZWUzNDg4MjFiZTkzMXAtNSwKKyAgICAweDEuZWNkMzkzZWUyYTIyZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS5jMWEyZGQzMGU5MmM5N2ZlMWU4YTg5MjdiY2E4OGQwOXAtNSwKKyAgICAweDEuZWNlMzBhOTk3MDhmM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS4zMTgxMTQxNGM5ZjQ1N2ZlZGIzMzlhMmE1OWFhNmExNXAtNSwKKyAgICAweDEuZjJlZjQ0MTk2NmIyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mZjU0ZDRlMDE5MDY3MDAwODI0NzY2ODZmMzM5ZmViMHAtNiwKKyAgICAweDEuZjUwYjA2OGM2OWFiOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5mZTQ3NjRlMDI1YTdhODAxMGRiMWI2Y2YxM2RhMTdhZnAtNiwKKyAgICAweDEuZjUxMGJjYWZhNTM1YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5lOWM4ZmI4YTdhOGZmOWY5ZDQ4MmQ0M2Y4OWM5MTBmMXAtNiwKKyAgICAweDEuZjU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmNmZjkyOWVlZTQ2ZjI4MDEyZDU1YmE3MmY5MTA2YTNmcC02LAorICAgIDB4MS5mNjBjNDViMTc4ZDRkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLmNmYmUwOTczZDAwOWE4MDFmMzJhMGI0MDVmNjRjOGZicC02LAorICAgIDB4MS5mNjBkODczMGRjMDlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmFlZjEzZGUxMTk3ZjkyYTI0ODk3Mjk3YTMzNWRmOWU3cC02LAorICAgIDB4MS5mNmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuYTI1NTFjOGYyYWM0NjgwMGJhODViMWExZWFlMGE2ZTJwLTYsCisgICAgMHgxLmY3MDRhZGQ4NWU0YTVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuYTIxZmJkZmVkNWM1YTgwMWUyMjY5ZGU1MTdmYTdhYjZwLTYsCisgICAgMHgxLmY3MDVkMDk4ZmZkOWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuYTBiOTIwMTc2YmRhNTgwMGMwNDRmNmY5MDRmMTU5NWNwLTYsCisgICAgMHgxLmY3MGQ3MjYxYzJiYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuYzU4N2NkYjJiNWNjNjdjYWU0OTkwYTZlYWY1MGJhOGNwLTksCisgICAgMHgxLmZlYzYwMzY4MmY2YjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEuN2MxNmZmZTFjY2NiNDdkNTM3OWRiMjdmN2I0OTBkZjVwLTksCisgICAgMHgxLmZlZjhjZTcwMzA2ZDVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuNzFiMGVhNDJlNGU4MTg0NDBlY2M3ZTQ2N2UxMjVkOWNwLTksCisgICAgMHgxLmZmMDAwMDAwMDAwMGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuNzFiMGVhNDJjOTg4MzhkMzk4MTFhMWY4NjlkYTgxN2RwLTksCisgICAgMHgxLmZmMDAwMDAwMDAxM2JwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuZmUzNjcyZTBmYzBiMTdiZTU0ZTRjYWYyMDQzNGExOThwLTEwLAorICAgIDB4MS5mZjRmNGIwMGE0ZjhlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLmY5MTRkNTIzZjE3ODU3NmVlYjcyNTI3ZjJiNzBhMjljcC0xMCwKKyAgICAweDEuZmY1MTExYTgxMDU4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS5mOTE0ZDUyM2VlNjY3NzcyODZjY2ZkNDkxMzIzNTU5NHAtMTAsCisgICAgMHgxLmZmNTExMWE4MTA1OTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEuZGU3ZTg2MTE0NGFjOTc4MzJhNGUzYTVkOTI4NTY4MDlwLTEwLAorICAgIDB4MS5mZjVhNDU3YTVlMTNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmI2ZDU3MzZhZjBhYzk3ZDI2MDIwMGI2ZGVhMmU0YzFicC0xMCwKKyAgICAweDEuZmY2N2ZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS41NGM2Y2Y3ODFmYTA4N2QzMzI0MWVjMTdjNDgzNzI1NXAtMTAsCisgICAgMHgxLmZmODlmMmYzMjhlZDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuZmIyNDMzNTNhOTNiNTc2MjFhODUzOGYwNTlkOWFlOWNwLTExLAorICAgIDB4MS5mZmE4MjYwNzBmNGNicC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLmI4MjY2ODI1MDA1MGQ3NzhkODk5M2ExMGU4MjhjMzkwcC0xMSwKKyAgICAweDEuZmZiM2JmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS5jMDA1MGNjYWY4Yjg5ODAwMDJiZDM3OWUyYTZjNjIxNHAyLAorICAgIDB4MS5mZmUzZmZmZmZjMDUwcC04CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjdkNDEyMDY3MTI1NzY4MDAwNWE4NmQ2MDZkY2YyZjMycC0xNCwKKyAgICAweDEuZmZmN2JkZjE3YmRlZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS4wMTgwMDBiOGFhZjVhODAwMDdiMmRiNGMxOTIyNTNjYnAxMCwKKyAgICAweDEuZmZmYmZmZmZmNWVwLTEwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuMTRmZjcyYjYyYmRmNGZmZTY0ZmIzNGQ1OWRkNTFlNzRwLTE4LAorICAgIDB4MS5mZmZmOWZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLmY4MDAwMTcxNTQ4ZDY4MDE4MTdkYzY2OTViMWQ3YmIxcDUsCisgICAgMHgxLmZmZmZjcC02NAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgLTB4MS5mZTRhOWEwMjNmMDU3N2ZkZmYzZGI4NGI2MmQ5ZjJlYXAtMjEsCisgICAgMHgxLmZmZmZlOWU0YjA2MjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuZmE0YWMwYWJhM2MyYTdmYzAyNDM5NjYwNzIyOGJhOWRwLTIxLAorICAgIDB4MS5mZmZmZWExMTBiMzlkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLmQ2YTViNDdmNGFmMGY3ZmQ0ZjMwMGMwYjY5MThjNjNmcC0yMSwKKyAgICAweDEuZmZmZmViOWM1YjJkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS43MTU0NzdjOWQxZjgxOTIzZjg3MzhmNTZmYWZiMzk3YnAtMjksCisgICAgMHgxLmZmZmZmZmVmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAtMHgxLjg4NmE3NjYyMmJlM2NhYjZkMjEwM2ZiZWUxMzA3Njc0cC0zNiwKKyAgICAweDEuZmZmZmZmZmZkZGZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuMTUwMGNhMTI4M2I1YTdmYmI5ZmEyNTVhNmI1ZTM4MmJwLTM3LAorICAgIDB4MS5mZmZmZmZmZmYzZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLTB4MS44MDAwMDAwMDAwYjhiMDAwN2IzNWJmMmM1ZTQyMDJjZXAxLAorICAgIDB4MS5mZmZmZmZmZmZkZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS4wMDAwMDAwMDAwNWM1ODAwM2Q5YWRmOTYyZjIxMDE2N3AyLAorICAgIDB4MS5mZmZmZmZmZmZkZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgLTB4MS40MDAwMDAwMDAwNWM1ODAwM2Q5YWRmOTYyZjIxMDE2N3AyLAorICAgIDB4MS5mZmZmZmZmZmZkZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS5jMDAwMDAwMDAwNWM1ODAwM2Q5YWRmOTYyZjIxMDE2N3AyLAorICAgIDB4MS5mZmZmZmZmZmZkZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjdmZmZmZmZmZmY0NzRmZmY4NGNhNDBkM2ExYmRmZDMxcDEsCisgICAgMHgxLmZmZmZmZmZmZmRmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuOWY3ZjA1MWQwZjM2MTgxNDQ5NmExMzc4OGFhMWNkNWZwLTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMjZlOGQxZWE3ZGU4ODNlODNkZHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuNTYxNDY0MGM2ZmJjNDg2Y2IyOTViMTBmOGFiZDY5MzlwLTIsCisgICAgMHgxLjk2MmI1Zjk0MzhkMjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLjdiNjdlM2Q4ZTE4NzljNTA0MDdlOGUwOWNhNjJkN2MycC0zLAorICAgIDB4MS5jMjRjZDhjMDdkZTdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS45Y2FiOTg1ZmUxZDhkOTk1ODFlMDlhOTVjM2ZhYzhlNXAtNSwKKyAgICAweDEuZWU2ZTUxZWNjMmZkN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS4yYWUwNGE1MWM5YmMwYjE4MjFlYzM4NjUxNjc5MmIyNnAtNCwKKyAgICAweDEuMGQ0N2U1OGM4NDA5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLjdlMjM1MTkxY2M0NmJmYWVkOTYxYmJhZDYwNzVmY2FjcC0zLAorICAgIDB4MS4yMzU4YTIyMmE2OTQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuMmFlYmI0ZWVkMzRiZjQyYmM1NDQ4YTE4OTA3MDg4NWFwLTIsCisgICAgMHgxLjM5Njk1ZWI4YzkxZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS44ZjZlN2ZlOTc2NGMyZTkxY2I0ZmZlNWYwYmM4YzViZHAtMiwKKyAgICAweDEuNGY3YTFiNGVlYmE5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLmVkODlhMmRjMWJiNzg3YWI3MTAyNTk4MTk5YzQzMTRlcC0yLAorICAgIDB4MS42NThhZDdlNTBlMzQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuMjMwMGQwMWEwMmIwZjRjNDIzMzc1ZjVmMjdkYzcyNjhwLTEsCisgICAgMHgxLjdiOWI5NDdiMzBiZjRwMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS40Y2JjZDFkYjBjZDUyNjI2Yzg4YzEzNWRlZjZmZTlhZHAtMSwKKyAgICAweDEuOTFhYzUxMTE1MzRhMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjc0M2Q1MzE2OGE1MjUxMzRlODM0M2VlYmNmNTlmZTBlcC0xLAorICAgIDB4MS5hN2JkMGRhNzc1ZDRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuOTliYzYwNGU1NzQ4YmI1MzI3NmU0NTM0MWViOThhMDZwLTEsCisgICAgMHgxLmJkY2RjYTNkOTg1ZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5iZDZiOWFlNjY2MWM4NzkwNzE1MTMxNTg3YTcwN2Y2M3AtMSwKKyAgICAweDEuZDNkZTg2ZDNiYWVhNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmRmNzVjNmI4NjFiOTM1OTlhYWViMzc3NmI2MDEzYzdkcC0xLAorICAgIDB4MS5lOWVmNDM2OWRkNzUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuZmZmZmZmZmZmZmZmYTNhYWUyNmI1MWY0MDFkY2NlZTJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTI2ZThkMWVhN2RlODgzZTgzZGRwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjczMzI0NmI5YTMxN2YwYmNhODMwYTBjNTg4YzMyNzdicC0yLAorICAgIDB4MS44ZTNlMTcwYmYyODJkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS5lNTRlMzdhOWM0YmQ5ODBjZmU0NTA0MTljNmY4ODNmY3AtMywKKyAgICAweDEuYjI3MjQ3YWZmMTQ4ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuZjE5ZGNiY2Y4MjdkZTRmN2QzMmI0OTJiMDRhMjRjMjdwLTQsCisgICAgMHgxLmQ2YTY3ODUzZjAwZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLmRkODhhMjU5ZjQ1MWE4N2IwMzg2MWJiNzY4OGY0M2NlcC03LAorICAgIDB4MS5mYWRhYThmN2VlZDUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjVjMDFhMzlmYmQ2N2U2ODU5N2JiZTFhYzI2YzZiZTI1cC00LAorICAgIDB4MS4wZjg3NmNjZGY2Y2Q5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuNmNiMGY2ODY1YzhlOTdjNjljZmNhMDI1NWU2Nzc2YmFwLTMsCisgICAgMHgxLjIxYTE4NTFmZjYzMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS4wZmU4NTcyZTUyOTNjMmE0NGVhMjU4NzI2NjkxYmNkZXAtMiwKKyAgICAweDEuMzNiYjlkNzFmNTkzYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjY0NTk0ZDEzMGNmYmJmNDg5Y2EzZmFhYThlNmVlOTM3cC0yLAorICAgIDB4MS40NWQ1YjVjM2Y0ZjZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuYjQzOTMxMGI0MTg3ZWE1MTZmYTQ3MDhjNDIyNmE2NmRwLTIsCisgICAgMHgxLjU3ZWZjZTE1ZjQ1OWRwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mZmZmZmZmZmZmZmZkYjIyZTVjMmIwNDJlZjgyZjg0NHAtMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5hOGZmOTcxODEwYTVlMTgxN2ZkM2I3ZDdlNWQxNDhiYnAtMiwKKyAgICAweDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuMWMzMWRkZDFiM2JkYjdlNDVjNjhmZWNhNTI4NzdmZGRwLTIsCisgICAgMHgxLmE2NjY2NjY2NjY2NjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjM3NGQ2NWQ5ZTYwOTM3ZTFlOWMzYWY1M2YyNDYwNzgxcC0zLAorICAgIDB4MS5jY2NjY2NjY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS4yYjM4NTA1ZjhhMmE4NDkxMGZlMmRlZjZlMDk5YzFhNHAtNSwKKyAgICAweDEuZjMzMzMzMzMzMzMzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS4yMDUwOGY1NDdlZGU1NDM1NzVkM2QxYzUyNzFjOGFlYnAtNCwKKyAgICAweDEuMGNjY2NjY2NjY2NjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjVjMDFhMzlmYmQ2N2Q1ZDQ3NmM1NDA4YjFjNjg0NTM2cC0zLAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuMGQ1OGU0MmIxZGExMTI0NGNmZDgyYTI3NDNmMDdhNDZwLTIsCisgICAgMHgxLjMzMzMzMzMzMzMzMzJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS42NmU4YzAxNjQxZWQ2MzJhYTNlNTZkZTc2NDg0OTljZHAtMiwKKyAgICAweDEuNDY2NjY2NjY2NjY2NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLmJiNTliNWZhZmM1NTNlMjg5MWQyZDMxZmVhNTNmY2IwcC0yLAorICAgIDB4MS41OTk5OTk5OTk5OTk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuMDU5Y2NjZjk5ODcwYTU4YWU1YmVlNzg3YjVkYTNlMjZwLTEsCisgICAgMHgxLjZjY2NjY2NjY2NjY2JwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS4yYjgwMzQ3M2Y3YWNkMWIxMmM1ZGIwMGMwZjlkODVmN3AtMSwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMTk5YjcyOGNiOWQwYzMyNTUzNmFhMjI5YTg4OTRmZDJwLTMsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS4wZDU4ZTQyYjFkYTFhYzI4MDEyNTRjM2IzOGQxZjZlNXAtMiwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjgzOTg4ZDBjMWY2MTFlZmMyOGUzN2I2ZGU4ZjBkMjVlcC0yLAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuZjExM2JhZWQzMDVlMjY2ZGYxMGU4YTE2ZDVkMWI2MDRwLTIsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS4yYjgwMzQ3M2Y3YWQ0Y2NkNTNjZTk4MWMwNTcwMDRmZHAtMSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjViMmMzZGExOTcyM2VkNGQ4Y2NmY2E4ZTg5ODg4ZjAxcC0xLAorICAgIDB4MS45OTk5OTk5OTk5OTljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuODdmNDJiOTcyOTRhMjExMTJiNjc2M2E0YzViMTVjNWVwLTEsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5iMjJjYTY4OTg2N2UxODllZmJjMjgwMzg0YzAyNDMwY3AtMSwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLmRhMWM5ODg1YTBjNDI4MTU2ODkzODU2Yjk5ZDRjZTVhcC0xLAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEucDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS45MHA2LAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS45MDhjY2RiOTQ2NWNlODYxOTJhOWI1NTExNGQ0NDRhN3A2LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS45MTBkNThlNDJiMWRhMWFjMjgwMTI1NGMzYjM4ZDFmNnA2LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS45MTgzOTg4ZDBjMWY2MTFlZmMyOGUzN2I2ZGU4ZjBkMnA2LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS45MWYxMTNiYWVkMzA1ZTI2NmRmMTBlOGExNmQ1ZDFiNnA2LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS45MjU3MDA2OGU3ZWY1YTk5OWFhNzlkMzAzODBhZTAwOXA2LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS45MmI2NTg3YjQzMmU0N2RhOWIxOTlmOTUxZDEzMTExZXA2LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS45MzBmZTg1NzJlNTI5NDQyMjI1NmNlYzc0OThiNjJiOHA2LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS45MzY0NTk0ZDEzMGNmYzMxM2RmNzg1MDA3MDk4MDQ4NnA2LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS45M2I0MzkzMTBiNDE4ODUwMmFkMTI3MGFkNzMzYTk5Y3A2LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS45NHA2LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS45MHA3LAorICAgIDB4MS4wcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS45MDQ2NjZkY2EzMmU3NDMwYzk1NGRhYTg4YTZhMjI1M3A3LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS45MDg2YWM3MjE1OGVkMGQ2MTQwMDkyYTYxZDljNjhmYnA3LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS45MGMxY2M0Njg2MGZiMDhmN2UxNDcxYmRiNmY0Nzg2OXA3LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS45MGY4ODlkZDc2OTgyZjEzMzZmODg3NDUwYjZhZThkYnA3LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS45MTJiODAzNDczZjdhZDRjY2Q1M2NlOTgxYzA1NzAwNHA3LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS45MTViMmMzZGExOTcyM2VkNGQ4Y2NmY2E4ZTg5ODg4ZnA3LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS45MTg3ZjQyYjk3Mjk0YTIxMTEyYjY3NjNhNGM1YjE1Y3A3LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS45MWIyMmNhNjg5ODY3ZTE4OWVmYmMyODAzODRjMDI0M3A3LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS45MWRhMWM5ODg1YTBjNDI4MTU2ODkzODU2Yjk5ZDRjZXA3LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS45MnA3LAorICAgIDB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS5mNHA5LAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZjQxMTk5YjcyOGNiOWQwYzMyNTUzNmFhMjI5YTg4OTRwOSwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmY0MjFhYjFjODU2M2I0MzU4NTAwMjRhOTg3NjcxYTNlcDksCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mNDMwNzMxMWExODNlYzIzZGY4NTFjNmY2ZGJkMWUxYXA5LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuZjQzZTIyNzc1ZGE2MGJjNGNkYmUyMWQxNDJkYWJhMzZwOSwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLmY0NGFlMDBkMWNmZGViNTMzMzU0ZjNhNjA3MDE1YzAxcDksCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mNDU2Y2IwZjY4NjVjOGZiNTM2MzMzZjJhM2EyNjIyM3A5LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZjQ2MWZkMGFlNWNhNTI4ODQ0NGFkOWQ4ZTkzMTZjNTdwOSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLmY0NmM4YjI5YTI2MTlmODYyN2JlZjBhMDBlMTMwMDkwcDksCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5mNDc2ODcyNjIxNjgzMTBhMDU1YTI0ZTE1YWU2NzUzM3A5LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuZjQ4MHA5LAorICAgIDB4MS4wcDEwMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjcxNTQ4MWRkNWM1ZDkzNjYzMjU1ZWNhN2JhODJhZWI2cC0yMCwKKyAgICAweDEuZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjcxNTQ3YzE4MGEyN2YzNjJkMTdhMWY1OWJlMWJiNTVkcC0yMSwKKyAgICAweDEuZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS43MTU0NzA4ZDY2NzU1ZDlmZTExOWVkMWU4NWMxM2Y0MHAtMjEsCisgICAgMHgxLjAwMDAwODBwMAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS43MTU0NmFjODE0Zjg2N2Q3YTk5YWMyNDBmMTc3ZDM1ZnAtMjAsCisgICAgMHgxLjAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjcxNTQ3NjU1OWFkOGNlMjQ5ZjMyMzdiNTYyYTEzYWYwcC0zMCwKKyAgICAweDEuZmZmZmZmZjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS43MTU0NzY1NDI5ODQ1N2NjMjFiMDdjZGVkMjMzM2VhNnAtMzEsCisgICAgMHgxLmZmZmZmZmZjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjcxNTQ3NjUxNDZkYjZiMjZiMTUwYjllYTEyYzE2YTFhcC0zMSwKKyAgICAweDEuMDAwMDAwMDIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuNzE1NDc2NGZkNTg2ZjRkOWJlNzJiMWE5NDNkMjdhMTZwLTMwLAorICAgIDB4MS4wMDAwMDAwNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuNzE1NDc2NTJiOGU4OGJiMmE2NmM5MGFkYjU2OWVkN2NwLTQwLAorICAgIDB4MS5mZmZmZmZmZmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuNzE1NDc2NTJiODhjMzY5NTExYmUyODYwMzlmNWZiMjBwLTQxLAorICAgIDB4MS5mZmZmZmZmZmZmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLjcxNTQ3NjUyYjdkMzhjNTllODYyMTA2ZjdlMzc3MzBhcC00MSwKKyAgICAweDEuMDAwMDAwMDAwMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS43MTU0NzY1MmI3NzczNzNjNTNiNDYwY2MzZGVjZGNjNnAtNDAsCisgICAgMHgxLjAwMDAwMDAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLjcxNTQ3NjUyYjgzMDBmYTIwYmRhNTRhNmQ2MWIyZjJhcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuNzE1NDc2NTJiODJmZjg4Y2M0NzUyOTIzZDIzZTY1ODBwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuNzE1NDc2NTJiODJmY2E2MjM1YWFkMjFkZDYwZjc1ZGVwLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuNzE1NDc2NTJiODJmYjM0Y2VlNDVhNjlhZGRiZDRmZTZwLTUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTNhYWUyNmI1MWY0MDYzMGNwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS4wYzgwcDEwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzMzEzODg5OWI3YTMyNDAxZmIxY3AtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuMDAwMDAwMDAwMDAwMTI2ZThkMWVhN2RlODgzZTgzZGRwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUzOTMyMzQ3MzAzM2RiZDhjMjJhcC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLmZmZmZmZmZmZmZmZjk5ZDhlZWNjOTBiOWI3ZmMwOWM3cC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZGIyMmU1YzJiMDQyZWY4MmY4NDRwLTIsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS4wMDAwMDAwMDAwMDAwZTM2NmU1YzY3ZTYxMjEzOWVlYXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwYjhhYTNiMjk1YzE3ZjM5ZTY3N3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS5wMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZDFkNTcxMzVhOGZhMDU0MjY0ZDRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLmE4ZmY5NzE4MTBhNjFmMGY5MzhjMmJkZmUyMDJkMzUxcC0yLAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS5hOGZmOTcxODEwYTVlMTgxN2ZkM2I3ZDdlNWQxNDhiYnAtMiwKKyAgICAweDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuYThmZjk3MTgxMGE1YTNmMzZjMWI0M2NmZWMzMDU0NGNwLTIsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuMmI4MDM0NzNmN2FjZjA3ODM2MzllYTEwMGVmZTk2NTdwLTEsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS4yYjgwMzQ3M2Y3YWQwZjNmNDAxNjI0MTQwZDE3NWJhMnAtMSwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjJiODAzNDczZjdhZDJlMDY0OWYyNWUxODA5ZTdkNWQ5cC0xLAorICAgIDB4MS44MDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEuZWJjY2MxMDk4YWQ4NThjMWZjYjgyMjNlYmMzYTJkODlwLTksCisgICAgMHgxLjAwYWFhYWFhYWFhYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5lYmNjYzEwOThiMDY2NDllMzQzZjc4YWM3MjI1N2RlN3AtOSwKKyAgICAweDEuMDBhYWFhYWFhYWFhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmViY2NjMTA5OGIzNDcwN2E2YmM2Y2YxNzQ5M2NlZDYzcC05LAorICAgIDB4MS4wMGFhYWFhYWFhYWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjQ3NTVjNGQ2YTNlODBjNjE5ODhwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMGI4YWEzYjI5NWMxN2VhZjY2Y2FwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmU4ZWFiODlhZDQ3ZDAxOGMzMzExcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS4wMDAwMDAwMDAwMDAxNzE1NDc2NTJiODJmZDVlY2Q5NXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLjcxNTQ3NjUyYjgyZmU3M2NjZWU5NDg4MTkxZGYyMjBmcC01MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLjcxNTQ3NjUyYjgyZmQ1ZWNkOTVkNjdkZjUzYTlkZDUwcC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwYjhhYTNiMjk1YzE3ZjM5ZTY3N3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS5wMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDFkNTcxMzVhOGZhMDU0MjY0ZDRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA1YzU1MWQ5NGFlMGJmOWNmMzNicDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLnAxLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlOGVhYjg5YWQ0N2QwMmExMzI2YXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTB4MS44MDAwMDAwMDAwMDAwNWM1NTFkOTRhZTBiZjljZjMzYnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS44MHAxLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS43ZmZmZmZmZmZmZmZmNDc1NWM0ZDZhM2U4MTUwOTkzNXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMmUyYThlY2E1NzA1ZmNlNzk5ZHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTB4MS5wMiwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjQ3NTVjNGQ2YTNlODE1MDk5MzVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC0weDEuNDAwMDAwMDAwMDAwMDJlMmE4ZWNhNTcwNWZjZTc5OWRwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEuNDBwMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEuM2ZmZmZmZmZmZmZmZmEzYWFlMjZiNTFmNDBhODRjOWFwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuODAwMDAwMDAwMDAwMDJlMmE4ZWNhNTcwNWZjZTc5OWRwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuODBwMiwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuN2ZmZmZmZmZmZmZmZmEzYWFlMjZiNTFmNDBhODRjOWFwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuYzAwMDAwMDAwMDAwMDJlMmE4ZWNhNTcwNWZjZTc5OWRwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0weDEuYzBwMiwKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuYmZmZmZmZmZmZmZmZmEzYWFlMjZiNTFmNDBhODRjOWFwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIC0weDEuMDAwMDAwMDAwMDAwMDE3MTU0NzY1MmI4MmZlNzNjY2VwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEucDMsCisgICAgMHgxLjBwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZhM2FhZTI2YjUxZjQwYTg0YzlhcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLjIwMDAwMDAwMDAwMDAxNzE1NDc2NTJiODJmZTczY2NlcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgLTB4MS4yMHAzLAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgLTB4MS4xZmZmZmZmZmZmZmZmZDFkNTcxMzVhOGZhMDU0MjY0ZHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTB4MS40MDAwMDAwMDAwMDAwMTcxNTQ3NjUyYjgyZmU3M2NjZXAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuNDBwMywKKyAgICAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAtMHgxLjNmZmZmZmZmZmZmZmZkMWQ1NzEzNWE4ZmEwNTQyNjRkcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgLTB4MS5hMDAwMDAwMDAwMDAwMTcxNTQ3NjUyYjgyZmU3M2NjZXAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuYTBwMywKKyAgICAweDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAtMHgxLjlmZmZmZmZmZmZmZmZkMWQ1NzEzNWE4ZmEwNTQyNjRkcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgLTB4MS5hMDAwMDAwMDAwMDAwMTcxNTQ3NjUyYjgyZmU3M2NjZXAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuYTBwMywKKyAgICAweDEuMHAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAtMHgxLjlmZmZmZmZmZmZmZmZkMWQ1NzEzNWE4ZmEwNTQyNjRkcDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgLTB4MS44MDAwMDAwMDAwMDAwNWM1NTFkOTRhZTBiZjljZjMzYnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgLTB4MS44MHAxLAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS43ZmZmZmZmZmZmZmZmNDc1NWM0ZDZhM2U4MTUwOTkzNXAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgLTB4MS44YTg5ODBhYmZiZDM4ZmVjODI2MWNlNWFjN2IyYjMxNnAtMywKKyAgICAweDEuYmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuOGE4OTgwYWJmYmQzMjY2NmE5YjdlMmRmNjBkMmJkYzZwLTMsCisgICAgMHgxLmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAtMHgxLjhhODk4MGFiZmJkMmJjZTBkMTBkZjc2M2ZkYjc5MDMycC0zLAorICAgIDB4MS5jMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMmUyYThlY2E1NzA1ZmNlNzk5ZHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgLTB4MS5wMiwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjQ3NTVjNGQ2YTNlODE1MDk5MzVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC0weDEuN2Q2MDQ5NmNmYmI1OGI2ZDhkMDVjNjBjMWU0ZGVmYTBwLTQsCisgICAgMHgxLmRmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLjdkNjA0OTZjZmJiNGM2NzNiNDUxMWY4YzJiNGU0ZmI3cC00LAorICAgIDB4MS5lcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS43ZDYwNDk2Y2ZiYjQwMTc5ZGI5Yzc5MGMzZWRmOGM1Y3AtNCwKKyAgICAweDEuZTAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuNDAwMDAwMDAwMDAwMDJlMmE4ZWNhNTcwNWZjZTc5OWRwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIC0weDEuNDBwMiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuM2ZmZmZmZmZmZmZmZmEzYWFlMjZiNTFmNDBhODRjOWFwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIC0weDEuNzczOTRjOWQ5NThlZDMxY2M1ZDdjNWJmNjU3Y2U3YzdwLTUsCisgICAgMHgxLmVmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLjc3Mzk0YzlkOTU4ZDU1ZGU1YzM4MGZlMDg3MWQ3NTdmcC01LAorICAgIDB4MS5mcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS43NzM5NGM5ZDk1OGJkODlmZjI5ODVhMDFiNTBhNTkzM3AtNSwKKyAgICAweDEuZjAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuODAwMDAwMDAwMDAwMDJlMmE4ZWNhNTcwNWZjZTc5OWRwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuODBwMiwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEuN2ZmZmZmZmZmZmZmZmEzYWFlMjZiNTFmNDBhODRjOWFwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuNzQzZWU4NjFmMzU4NTFjN2JlYjU4MDBmZjAyNTIyMGFwLTYsCisgICAgMHgxLmY3ZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjc0M2VlODYxZjM1NTYzNjU0ODM2MTFmN2MwYmYwNTlmcC02LAorICAgIDB4MS5mODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAtMHgxLjc0M2VlODYxZjM1Mjc1MDJkMWI2YTNkZmE5MmI0NjVjcC02LAorICAgIDB4MS5mODAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS5jMDAwMDAwMDAwMDAwMmUyYThlY2E1NzA1ZmNlNzk5ZHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgLTB4MS5jMHAyLAorICAgIDB4MS4wcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5iZmZmZmZmZmZmZmZmYTNhYWUyNmI1MWY0MGE4NGM5YXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS43MmM3YmEyMGY3Mzg0NmE5OTI1MTFjNzkxOGRmMWUzZXAtNywKKyAgICAweDEuZmJmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0weDEuNzJjN2JhMjBmNzMyNzViNWQxODRhMmM2MTViNzBhZDRwLTcsCisgICAgMHgxLmZjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEuNzJjN2JhMjBmNzJjYTRjMjEwYjgyOTEzNDE3NDYwNDJwLTcsCisgICAgMHgxLmZjMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAxNzE1NDc2NTJiODJmZTczY2NlcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLnAzLAorICAgIDB4MS4wcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmYTNhYWUyNmI1MWY0MGE4NGM5YXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS43MjBkOWMwNmE4NDE4MGE4ZGUxMWRiNDE1YTljMTliZnAtOCwKKyAgICAweDEuZmRmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0weDEuNzIwZDljMDZhODM1ZWE2ZWYxOGY5NzdlNWQ4YTM3YWJwLTgsCisgICAgMHgxLmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuNzIwZDljMDZhODJhNTQzNTA1MGQ1M2JiYmQ4NzMzZDlwLTgsCisgICAgMHgxLmZlMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLjIwMDAwMDAwMDAwMDAxNzE1NDc2NTJiODJmZTczY2NlcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTB4MS4yMHAzLAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTB4MS4xZmZmZmZmZmZmZmZmZDFkNTcxMzVhOGZhMDU0MjY0ZHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgLTB4MS43MWIwZWE0MmU2MTRjMzM5YWNkMTI3NGU4NWM5OWYxMnAtOSwKKyAgICAweDEuZmVmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuNzFiMGVhNDJlNWZkYTI2MWRiYmQxYTQ5OGY1MzMzOThwLTksCisgICAgMHgxLmZmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuNzFiMGVhNDJlNWU2ODE4YTBhYTkwZDQ1NTI0MDM4NWZwLTksCisgICAgMHgxLmZmMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLjQwMDAwMDAwMDAwMDAxNzE1NDc2NTJiODJmZTczY2NlcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgLTB4MS40MHAzLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEuM2ZmZmZmZmZmZmZmZmQxZDU3MTM1YThmYTA1NDI2NGRwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAtMHgxLjcxODJhODk0YjZjYThmN2JjYThjMmY3NjdlYWJjNTcycC0xMCwKKyAgICAweDEuZmY3ZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIC0weDEuNzE4MmE4OTRiNjljNTk1Zjc5MjBjZWExNjE5YzZlNTdwLTEwLAorICAgIDB4MS5mZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAtMHgxLjcxODJhODk0YjY2ZTIzNDMyN2I1NmRjZGI2OWE3ZDIxcC0xMCwKKyAgICAweDEuZmY4MDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuYTAwMDAwMDAwMDAwMDE3MTU0NzY1MmI4MmZlNzNjY2VwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLmEwcDMsCisgICAgMHgxLjBwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS45ZmZmZmZmZmZmZmZmZDFkNTcxMzVhOGZhMDU0MjY0ZHAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMworICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIC0weDEuNzE1YTNiYzM1YWFlYWQ0YjdjZTY1ZDQzNjMyYWYwYWRwLTEzLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS43MTVhM2JjMzU5M2Q0ZDRhMmEyMzk3NDVmNjQyNzQyMHAtMTMsCisgICAgMHgxLmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEuNzE1YTNiYzM1N2NiZWQ0OGQ3NjBkMTU0MTRiNjVkMGRwLTEzLAorICAgIDB4MS5mZmYwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTNhYWUyNmI1MWY0MDYzMGNwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjQ3NTVjNGQ2YTNlODA5N2VlcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5hNmM4NzM0OThkZGY3MWEzNmY0NzdhNzc2ZmIzNGU0YnAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuNGQ5MGU2OTMxYmJlZTM0NmRlOGVmNGVlZGY2NjljOTZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS43MTU0NzY1MmI4MmZkNWVjZDk1ZDY3ZGY1M2E5ZGQ1MHAtNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgLTB4MS43MTU0NzY1MmI4MmZlNzNjY2VlOTQ4ODE5MWRmMjIwZnAtNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLjY0ZGUzMmQ5Yzg4MjM5NzI0MmUyMTYyMjQxMzJjNmQycC0yLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgLTB4MS5mZWZmZmZmZmZmZmZmZmY0NzU1YzRkNmEzZTgxNTA5OXA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgLTB4MS5mZnA5LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgLTB4MS5mZjAwMDAwMDAwMDAwMDBiOGFhM2IyOTVjMTdmNjgxMXA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5mZjAwMDAwMDAwMDAwMDE3MTU0NzY1MmI4MmZmODhjY3A5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgLTB4MS4wYzQwcDEwLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS4wYzgwcDEwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgLUhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLmY0cDYsCisgICAgMHgxLjBwMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS5mY3A2LAorICAgIDB4MS4wcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEucDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS5wMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgLTB4MS5wMCwKKyAgICAweDEuMHAtMQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2xvZzJmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9sb2cyZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY2YTg0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9sb2cyZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMTUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX2xvZzJmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjcxNTQxOWZkYjk2MjMxYmQxZmExNWYzN2JmYTQyOTEwcC0xNywKKyAgICAweDEuMDAwMDgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjE0ZmU4OGZmNTc1M2ZhNTZkYzI3YmNhMDU2Mjg1NjcycC0xNSwKKyAgICAweDEuMDAwMTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjcxNTMwNTAwMmU0YWU0NjZlZDA2NGEwMWFlNTUyMDRlcC0xNSwKKyAgICAweDEuMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS40MzI3YjIwNDMzODM3YTNlMmM2MTBhMzkyYmJkMjk1YXAtMTQsCisgICAgMHgxLjAwMDM4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS42NDUzMWVmZmVkMTdlYjliMGE5M2IzY2NhYTI0ZjgyYnAtMTMsCisgICAgMHgxLjAwMDdiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIC0weDEuZmZlN2E0ZmZmZjVmMTI1Y2FkN2YwNDY4YjU1YTg3M2NwMiwKKyAgICAweDEuMDA0MzkwcC04CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuNGZkZDYzMDAyZTAwMGVhNzRhODBjOTFiNzcxZmViMmVwNCwKKyAgICAweDEuMDE4MXAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjYxMzgyZDAxMTY2YTVmNjU2NjI4Njc2ZGQ1NzI4N2MzcC03LAorICAgIDB4MS4wMWViODBwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuNjdlYTFiMDQxYWVlZjVkMDZkMjdkYjE3M2M0YThlYzNwLTcsCisgICAgMHgxLjAxZjRkYXAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS42ZjA4OTcwM2ZhOGI4MzYyMDllODA2Mzc0MDE0ZWVlYXAtNywKKyAgICAweDEuMDFmZWNjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5kOGM1YjkwMDAwNzI4MTRiYTExZGMwN2UzZTU1NzMwY3AtNiwKKyAgICAweDEuMDUyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuNjVhZDczMDAzNjk4YWUzYjY2MjlkNDJkNmQ5NjlkNjVwLTUsCisgICAgMHgxLjA3ZGRiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuNjcxYjcyMDAzMWJmZjE4YzIxZDNjNjY4MGI2MDdhOTdwLTUsCisgICAgMHgxLjA3ZTVlMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLmJkMDE4MjAwMTNkMmJkZjJlNzA4YTAzYjYzY2FkODk0cDIsCisgICAgMHgxLjA4NzBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5iYzhhM2YwMDJkNDlmZjJmZmY2MWJiYzg4Y2E4NDM2NnAtNSwKKyAgICAweDEuMDlkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuZDE1Y2ZkMDAwYmExOGI4MzQ2NjgyNzNkYjQzYTU0ZjRwLTUsCisgICAgMHgxLjBhNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjI1NDUwM2ZmZmZmMmM3NDY5ZjBjNTUxYzU4NjI4Yzc1cC00LAorICAgIDB4MS4wZDA2ODZwMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjg5NzI0NDVkYmUyMDExZmJhZjc2Nzc0ZWNhYTE4ODZicC00LAorICAgIDB4MS4xMWEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuNGUwZGRkZmZmZDFmYWRmZjg5NmM3NzNhOTgzY2IwNjlwNCwKKyAgICAweDEuMTY4NHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEuNmQ5ZjQzMDAwMDAxODhkNWUyOGJmOWVjZDdlYjQ4YTNwMSwKKyAgICAweDEuMWFjOWJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuM2U4NjY2ZmVkOWUwOTE5MDU0ZDE3MjNjN2JmYTJhMmVwLTMsCisgICAgMHgxLjFkMjRwMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5hOTk2N2RmZmZkZWEyZjIyZTg3YTNkMmNmYjQ2NTNlMHAtMSwKKyAgICAweDEuMWZjNTMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLmFjN2I0MzAwMDAwMDJiMTZhODM1MjYwZDM1ZjczZjNicDAsCisgICAgMHgxLjQwZjU3MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS41MGZkMzZmZmZmN2IxZmUyMTFiMmYxZTQ2N2E4MDhjNnAxLAorICAgIDB4MS40YTM3YWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuNjhlM2U3MDAwMTFlZWQxYzhiZGY3OGE1MDA0ZWM4NDVwNCwKKyAgICAweDEuNWM1NzgwcC0yMworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS4xNGM1NjBmZTY4YWY4ODBlMGEwZjMzN2Q1NTU2NTI4MXAtMSwKKyAgICAweDEuNjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5lZWUwZjllOWJkNTQxYzIxNjFmYmFhNjAxYWQ0NGY5ZHAtMiwKKyAgICAweDEuNjVkZGZhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mZmZmNmI3MTVlMjI5MTkyMDc0ZGQ1MjBlODAwNTIzZHAtMiwKKyAgICAweDEuNmEwOWMycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mZmZmYjRlNDk5ODZkOTIzYTRlNTQwZjAzYjFkYTBkYXAtMiwKKyAgICAweDEuNmEwOWQ0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIC0weDEuMDAwMDA4ZmQ1NjRhODUzMjE5OGZkOWM2MDI1OTYzNTFwLTEsCisgICAgMHgxLjZhMDllMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS41ZTdkZjVmZTUzOGFiMzRlZmI1MTVhYzkzYjQ0M2Q1NXAyLAorICAgIDB4MS43MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjM3MTlkOGZmZGE4ZWUyN2MyMGNhNWQzNmNlNDBhMTlicDMsCisgICAgMHgxLmE2M2M2MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjk1MTUyYTAwMWNiMDAwMDI5N2E0MThiYzU4NzQxY2Q4cDYsCisgICAgMHgxLmE4NmE0MHAtMTAyCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAtMHgxLmE4NmQ1MjAwMDAwMGRkZTljYzg1ODJjYTZmNGFkZjAycDMsCisgICAgMHgxLmFhOTMyY3AtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIC0weDEuYTY1YmY0ZmZmZGMyZWI2ZTJiYmExZTE1NTczMTQ4NWNwMywKKyAgICAweDEuYmUxZGFjcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjE5ZTk2YWZmZmZlNDY5NjllMDkxMzE5YWYzOWJmMDFkcDMsCisgICAgMHgxLmMwYmUwOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLjZiMjE5NGZmZmJjYzQ3M2U2YjQwODU5OGIxMWMwYjc2cC0zLAorICAgIDB4MS5jNGM5OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEuYjA3NDdhZmZmMDkxMjllN2MyNzk4MTgzMjM3MWEyYjdwLTQsCisgICAgMHgxLmRiZGU2Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS5hMzFkOTBmZmZkYzA2ZmE2NzRlNmM3N2UwZDI3MzI1ZXAzLAorICAgIDB4MS5kZTk2OTBwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjdkNjFlYmZmZjcwN2JhZjBhNGJhYmM3YTQ1NWZkZWRhcC00LAorICAgIDB4MS5kZmZmZGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIC0weDEuOGJlMzM1MDAwMDEyOTAyNGYxNzQ2ZGYwOWIxOGUxYzBwMSwKKyAgICAweDEuZTAxNDQ4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLjJkYWI2OGZmZmY2NTNhYTBmNTIyMTEwZjE2NWZjNmNkcC00LAorICAgIDB4MS5lNjg0YWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIC0weDEuMWRkYzA2ZmZlNDkzZWI5ZTgzOGJjNTdmMTY5MmYwNzFwLTUsCisgICAgMHgxLmYzYzNjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS5mZTVjMjhiNTE3NjNmZDllNTk3Yjc0Yjc3ZWFlZjM2M3AtNiwKKyAgICAweDEuZjUxMDRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmZiNDZjOGZmYjI5N2JjOGIzNmVjNzJiZjhmODQ1ZGFmcC02LAorICAgIDB4MS5mNTIxMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuODNhNDM4MmJjMGNhNzZiYTUzYTAyZjVjMzlkZDExMDVwMSwKKyAgICAweDEuZjYwMGE4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmM1Njg1ZWZmZDZkYzYwYzQ2NWY2ZDQ1NjY0MDBlYTFicC02LAorICAgIDB4MS5mNjQ1YmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuYzBkYWEyZmZlM2ZkZTQyYzIyMGQ5Y2RkNmRiYTYzNmJwLTYsCisgICAgMHgxLmY2NWU4MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5hMGFiM2VmZmIyMmIyYmFhMjMwZDAxZDM2OGY0ODZjZnAtNiwKKyAgICAweDEuZjcwZGJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLjk5OTNlNmI1ZWViYzYwYzY0MTY5ODJkZjliZjAyN2NkcC02LAorICAgIDB4MS5mNzM0NjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEuOTBkYjQwYjNkOThiZWJlNmUwNjhiNzI2NDY1MzYyMzNwLTYsCisgICAgMHgxLmY3NjNlY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS44MDVjZTZkMWVlYzRlNTU0YzA1ZDEyNzdiN2E2MWYxZXAtNiwKKyAgICAweDEuZjdiZGUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLjcxYzUyNzAwMDNlNzQwMGE4MjU3MWUxNGQyMTFiMWFicC05LAorICAgIDB4MS5mZWZmZjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuNGZkMDk1MDAwMGY5ZWExNjNlM2I2YjM3OWI4MDZhMjdwLTksCisgICAgMHgxLmZmMTc3MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS44MDJlMmJmZmZmZmMzM2YyNzhmYTUyNDAyMzIwZjEwYXAxLAorICAgIDB4MS5mZjgwMGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuNzE4ODY3YzM5YWFjNWVlMzc2ODUzOTRmZTliZmQ3NDlwLTEzLAorICAgIDB4MS5mZmVmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuNzJjNjg0ZTVjZmMxNDZkMjI3NTIxMDgxMmMwYzdmNjhwLTE2LAorICAgIDB4MS5mZmZkZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuNzE1NTJlZmQ2ZTc1YzE1NWJkNGU0ZWQ5NGY1OWEyNmFwLTE2LAorICAgIDB4MS5mZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLjQ4ZWY1ZTAwNTM1ZDkxNjViYmI5YjlhOGMwNTZmNzk3cC0xOCwKKyAgICAweDEuZmZmZjhlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLjcxNTQ3OTM1NjEyNDM4YWE2YWY2YjU0OTU4OTJlNzE5cC0yMiwKKyAgICAweDEuZmZmZmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLjcxNTQ3N2M0MGNhODIwYTA0ZDk3YmU0ZWZjY2Q5NWE5cC0yMywKKyAgICAweDEuZmZmZmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLjcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlOTc4OWY5cC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjAwMDAwMGQ0MTc1ZGRlYmFhNmNjOWQ2MTEyMzY1MjI5cC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuNTYxNDYyODQ2ZDE1MzUwZWU2MjQ4ZWNkNGMxYjAwMmJwLTIsCisgICAgMHgxLjk2MmI2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS43YjY3ZGJhODZlODk2YzBhNTNkMmM5MzllZjBkMjliZnAtMywKKyAgICAweDEuYzI0Y2RhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjljYWI2NmM1ODE0M2YyYTgwMGU2OGRiYjAyZjU0MzMxcC01LAorICAgIDB4MS5lZTZlNTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS4yYWUwNTQzODBkMTZkOGY1OTY3M2E3ZTM5MjgyNDZjZHAtNCwKKyAgICAweDEuMGQ0N2U2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS43ZTIzNTAzMjY0YzRhZDM3MWI4ZjE2M2M0ZjlhZWYyNnAtMywKKyAgICAweDEuMjM1OGEycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS4yYWViYjE4N2NlNmVlMzYyZDMxMDNhMjIwMGIyODZlMnAtMiwKKyAgICAweDEuMzk2OTVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS44ZjZlN2EyNjk3YjUzMGZhZDNkMTJhOWQ2YThmMWQzYXAtMiwKKyAgICAweDEuNGY3YTFhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5lZDg5OWIwN2ViOWNiOGFmMmM5MjdlY2YxMmVjN2NiZXAtMiwKKyAgICAweDEuNjU4YWQ2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS4yMzAwY2I0NjA2NjE1Yjc0NDY1M2UxNjdkODZmMjgxM3AtMSwKKyAgICAweDEuN2I5YjkycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS40Y2JjY2MzNmRlYjUwZGQzZTAwYzFhNGVjYTE4ZDU3ZXAtMSwKKyAgICAweDEuOTFhYzRlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS43NDNkNGNiN2Q5MjU2MmUxNDg0Zjg2MmI2ODhhNDZmYnAtMSwKKyAgICAweDEuYTdiZDBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS45OWJjNTk0Nzk5OWIxOTBjY2M2N2NlZjA0MTMxMTI4MnAtMSwKKyAgICAweDEuYmRjZGM2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5iZDZiOTM0Nzc1YmVmMTNhNjM1OWUzMzFlZmU2N2ExMXAtMSwKKyAgICAweDEuZDNkZTgycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5kZjc1YmU4ZWY0MzljZTM2MWViYmIxM2ZmZjNhN2I1M3AtMSwKKyAgICAweDEuZTllZjNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5mZmZmZjc1ODA1MmQxM2I2OWRkNmM4ZDY3NDBhMzM1N3AtMSwKKyAgICAweDEuZmZmZmZhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuMDAwMDAwZDQxNzVkZGViYWE2Y2M5ZDYxMTIzNjUyMjlwLTEsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS43MzMyNGE5YjlkMjg5NWQ3OWQ4ZGRmMDdhNTAyYmVwLTIsCisgICAgMHgxLjhlM2UxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5lNTRlNDMyMzYxMTg5YzMzNTNjYzA2YzJkZDI3ZDczNnAtMywKKyAgICAweDEuYjI3MjQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLmYxOWRlOTA5ZDdlNjNmZDI2NGEyYzMxMmQwYzE3ODlkcC00LAorICAgIDB4MS5kNmE2NzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuZGQ4OWI3MzhkMjFkMDIyMWM5MDhiOGEwYzMyZjEyMTJwLTcsCisgICAgMHgxLmZhZGFhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjVjMDE5MjFkNTk0YWNlNzQ3MDllMTM0NDA5ZDRlZDI0cC00LAorICAgIDB4MS4wZjg3NmNwMAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjZjYjBlYjBjYzAzMzI2Y2ZhYmRiNjhlY2VlN2FiYTQwcC0zLAorICAgIDB4MS4yMWExODRwMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLjBmZTg1MDNlNDY3MTA2YTY1Nzg4ZGRiM2ExNWY1Mzc1cC0yLAorICAgIDB4MS4zM2JiOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjY0NTk0NTExZTYzN2U2ZjkzYjVjYjI5MTJiOTlhYmVkcC0yLAorICAgIDB4MS40NWQ1YjRwMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLmI0MzkyODE1YmY5MjExM2U3NWViMGRkMmIyNmZkNzQwcC0yLAorICAgIDB4MS41N2VmY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmZmZmZmNjJlOTI1ZDYxNjUyYzkxNDUwNGRjM2VlMmNlcC0yLAorICAgIDB4MS42YTA5ZTRwMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS5hOGZmOTcxODEwYTVlMTgxN2ZkM2I3ZDdlNWQxNDhiYnAtMiwKKyAgICAweDEuODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0weDEuMWMzMWRmMzdkNzE5NDNlYjc3ODI5YTFmZWIzN2I5OWFwLTIsCisgICAgMHgxLmE2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS4zNzRkNmFmYjEyNTk2OGEwYzQ5M2RmMTViZjY5ZTQzOHAtMywKKyAgICAweDEuY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjJiMzg2Y2M4N2Y5YTRlZWU3ODVkNGE1ZGJjZTg4N2I3cC01LAorICAgIDB4MS5mMzMzMzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS4yMDUwN2RiZTMwMTFiZGRiOWE5YjEyM2M0MzQxYmM0Y3AtNCwKKyAgICAweDEuMGNjY2NjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS41YzAxYTM5ZmJkNjg3OWZhMDBiMTIwYTA2OGJhZGQxMnAtMywKKyAgICAweDEuMjBwMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjBkNThlODAzZmVkYmFkOGY1OWQ1OTQ3YjJhMjFhNDI1cC0yLAorICAgIDB4MS4zMzMzMzRwMAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjY2ZThjNzU0MjYxZDBlYmRhMjBjMDBhZDc0ZTg1MDkxcC0yLAorICAgIDB4MS40NjY2NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmJiNTljMDNkNTRlYjRiMTBhMzg0MDQ2YzM4ZWQzOWZkcC0yLAorICAgIDB4MS41OTk5OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjA1OWNkMzc0NTcxZWIzMTg1MjY0MGJiNTUzNjc3YzgzcC0xLAorICAgIDB4MS42Y2NjZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjJiODAzNDczZjdhZDBmM2Y0MDE2MjQxNDBkMTc1YmEycC0xLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS4xOTliNzZiZjIzZTIyMWE2MjMxZmMzM2JjYTQxYjYwN3AtMywKKyAgICAweDEuMTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuMGQ1OGU4MDNmZWRiYWQ4ZjU5ZDU5NDdiMmEyMWE0MjVwLTIsCisgICAgMHgxLjMzMzMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLjgzOTg5MjVmY2Q2MWZiZjFhYTgxZWY3OThiMDhiYjJjcC0yLAorICAgIDB4MS40Y2NjY2VwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mMTEzYzE4NThkZTQ5NmQ4MTRhNjhlODI5MTlkNjczYnAtMiwKKyAgICAweDEuNjY2NjY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMmI4MDM4NGNkOGU2MDVlOTlhNWNkOTlmMzQyOTM4ODhwLTEsCisgICAgMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjViMmM0MWY1OTQ4MzYxMzgzZjQ5OGUxNzlhNmRkMzQ3cC0xLAorICAgIDB4MS45OTk5OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS44N2Y0MzA1N2M3MDdlYzg5Y2EwMDgzNWZiOTVmNjZkN3AtMSwKKyAgICAweDEuYjMzMzM2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuYjIyY2FiYWFiMmM4OTY0OTExYWJkZTIyMGY1ZjQxNWNwLTEsCisgICAgMHgxLmNjY2NkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLmRhMWM5ZGZkMzFhNzcwNjE0NmVmMjY2YzE2ZWQ2NTVkcC0xLAorICAgIDB4MS5lNjY2NmFwMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5wMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuOTBwNiwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS45MDhjY2RiYjVmOTFmMTEwZDMxMThmZTE5ZGU1MjBkYnA2LAorICAgIDB4MS4xOTk5OWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLjkxMGQ1OGU4MDNmZWRiYWQ4ZjU5ZDU5NDdiMmEyMWE0cDYsCisgICAgMHgxLjMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuOTE4Mzk4OTI1ZmNkNjFmYmYxYWE4MWVmNzk4YjA4YmJwNiwKKyAgICAweDEuNGNjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS45MWYxMTNjMTg1OGRlNDk2ZDgxNGE2OGU4MjkxOWQ2N3A2LAorICAgIDB4MS42NjY2NjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjkyNTcwMDcwOTliMWNjMGJkMzM0YjliMzNlNjg1MjcxcDYsCisgICAgMHgxLjgwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuOTJiNjU4ODNlYjI5MDZjMjcwN2U5MzFjMmYzNGRiYTZwNiwKKyAgICAweDEuOTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS45MzBmZTg2MGFmOGUwZmQ5MTM5NDAxMDZiZjcyYmVjZHA2LAorICAgIDB4MS5iMzMzMzZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjkzNjQ1OTU3NTU2NTkxMmM5MjIzNTdiYzQ0MWViZTgycDYsCisgICAgMHgxLmNjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuOTNiNDM5M2JmYTYzNGVlMGMyOGRkZTRjZDgyZGRhY2FwNiwKKyAgICAweDEuZTY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS45NHA2LAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTB4MS43MTU0ODFkZDVjNWQ5MzY2MzI1NWVjYTdiYTgyYWViNnAtMjAsCisgICAgMHgxLmZmZmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuNzE1NDdjMTgwYTI3ZjM2MmQxN2ExZjU5YmUxYmI1NWRwLTIxLAorICAgIDB4MS5mZmZmZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLjcxNTQ3MDhkNjY3NTVkOWZlMTE5ZWQxZTg1YzEzZjQwcC0yMSwKKyAgICAweDEuMDAwMDA4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuNzE1NDZhYzgxNGY4NjdkN2E5OWFjMjQwZjE3N2QzNWZwLTIwLAorICAgIDB4MS4wMDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmU5Nzg5ZjlwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlOTc4OWY5cC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS43MTU0NzcwYjYyNmI4NWVmYmNjZGY2OGQyZTk3ODlmOXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmU5Nzg5ZjlwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLjcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlOTc4OWY5cC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS43MTU0NzcwYjYyNmI4NWVmYmNjZGY2OGQyZTk3ODlmOXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmU5Nzg5ZjlwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLjcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlOTc4OWY5cC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS43MTU0NzcwYjYyNmI4NWVmYmNjZGY2OGQyZTk3ODlmOXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmU5Nzg5ZjlwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlOTc4OWY5cC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS43MTU0NzcwYjYyNmI4NWVmYmNjZGY2OGQyZTk3ODlmOXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmU5Nzg5ZjlwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLjcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlOTc4OWY5cC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS43MTU0NzcwYjYyNmI4NWVmYmNjZGY2OGQyZTk3ODlmOXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5mZmZmZmZmYTNhYWUyM2QyNzY1MWU4NDEwY2M4MjVjYnA2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS4yYXA3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuMDAwMDA0ZThiNmQxNGY0ZDY5Yjc1ZDdkOTFlMDhlOThwLTEsCisgICAgMHgxLjZhMDllNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuMDAwMDAwZDQxNzVkZGViYWE2Y2M5ZDYxMTIzNjUyMjlwLTEsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZmZmZmY5N2VlZmUwNjZmMzgwZmEzNzA0OTg3Yjk4MTFwLTIsCisgICAgMHgxLjZhMDllOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS5mZmZmZjYyZTkyNWQ2MTY1MmM5MTQ1MDRkYzNlZTJjZXAtMiwKKyAgICAweDEuNmEwOWU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuZmZmZmZlNTdkMTQ0NDI4YWIyNjZjNTNkZGI5MzViYWNwLTIsCisgICAgMHgxLjZhMDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjAwMDAwMzQwODgwZmNjODYzZjgyZTQ3ZGIzYzIzM2Y3cC0xLAorICAgIDB4MS42YTA5ZThwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuMDAwMDAxNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmVwMCwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5wMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5mZmZmZmEzYWFlMmM3YTcxMTIxMzQwNWZjMjBhMTFiOHAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5hOGZmOWVjOWQzMjIxMTJlZDMxZjI0NGJjZWIxZWM4NXAtMiwKKyAgICAweDEuN2ZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5hOGZmOTcxODEwYTVlMTgxN2ZkM2I3ZDdlNWQxNDhiYnAtMiwKKyAgICAweDEuODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmE4ZmY4ZjY2NGUzM2Y0MmNjYjQ2NGNjMTk3YWQ4ZWVmcC0yLAorICAgIDB4MS44MDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuMmI4MDMwOWIxNjZlZjc2ODk2NzA2ZGRhMThhNzA5YmRwLTEsCisgICAgMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLjJiODAzNDczZjdhZDBmM2Y0MDE2MjQxNDBkMTc1YmEycC0xLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjJiODAzODRjZDhlNjA1ZTk5YTVjZDk5ZjM0MjkzODg4cC0xLAorICAgIDB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5lYmM1MTQ2NGNjZDY2ZjEwZTdkMjM0YTJhMGNlMjI1ZnAtOSwKKyAgICAweDEuMDBhYWE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuZWJjYWQ1ZTA1ZDU4YzZkZGZkNmMwOWMxOTNmYjNlM2VwLTksCisgICAgMHgxLjAwYWFhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLmViZDA5NzViZTI1ZmNmMTg0M2ZhY2FiYWE3YWE3YjUxcC05LAorICAgIDB4MS4wMGFhYWNwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mZmZmZmU4ZWFiODhmNDlkOTQ3YTEwNDMzMjA5NzJkMXAwLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS5wMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuMDAwMDAxNzE1NDc0ZTE2M2JiN2IyZmU4MGY3ZDdiOTFwMSwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAweDEuZmZmZmZkMWQ1NzExZTkzYjI4ZjQyMDg2NjQxMmU1YTJwLTEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLnAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS4wMDAwMDJlMmE4ZTljMmM3NzZmNjVmZDAxZWZhZjcyM3AwLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuNzE1NDc3MGI2MjZiODVlZmJjY2RmNjhkMmU5Nzg5ZjlwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjcxNTQ3NGUxNjNiYjdiMmZlODBmN2Q3YjkxZjE4NTFjcC0yMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjAwMDAwMTcxNTQ3NzBiNjI2Yjg1ZWZiY2NkZjY4ZDJlcDAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEucDAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuZmZmZmZhM2FhZTJjN2E3MTEyMTM0MDVmYzIwYTExYjhwLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuMDAwMDAwYjhhYTNiODViMTM1YzJmN2RlNjZmYjQ2OTdwMSwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5wMSwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS5mZmZmZmQxZDU3MTYzZDM4ODkwOWEwMmZlMTA1MDhkY3AwLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjgwMDAwMGI4YWEzYjg1YjEzNWMyZjdkZTY2ZmI0Njk3cDEsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0weDEuODBwMSwKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS43ZmZmZmU4ZWFiOGIxZTljNDQ4NGQwMTdmMDgyODQ2ZXAxLAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAtMHgxLjAwMDAwMDVjNTUxZGMyZDg5YWUxN2JlZjMzN2RhMzRicDIsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEucDIsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuZmZmZmZlOGVhYjhiMWU5YzQ0ODRkMDE3ZjA4Mjg0NmVwMSwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS40MDAwMDA1YzU1MWRjMmQ4OWFlMTdiZWYzMzdkYTM0YnAyLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLjQwcDIsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuM2ZmZmZmNDc1NWM1OGY0ZTIyNDI2ODBiZjg0MTQyMzdwMiwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS44MDAwMDA1YzU1MWRjMmQ4OWFlMTdiZWYzMzdkYTM0YnAyLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLjgwcDIsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuN2ZmZmZmNDc1NWM1OGY0ZTIyNDI2ODBiZjg0MTQyMzdwMiwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5jMDAwMDA1YzU1MWRjMmQ4OWFlMTdiZWYzMzdkYTM0YnAyLAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLmMwcDIsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuYmZmZmZmNDc1NWM1OGY0ZTIyNDI2ODBiZjg0MTQyMzdwMiwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS4wMDAwMDAyZTJhOGVlMTZjNGQ3MGJkZjc5OWJlZDFhNXAzLAorICAgIDB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLnAzLAorICAgIDB4MS5wLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLmZmZmZmZjQ3NTVjNThmNGUyMjQyNjgwYmY4NDE0MjM3cDIsCisgICAgMHgxLjAwMDAwMnAtOAorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuMjAwMDAwMmUyYThlZTE2YzRkNzBiZGY3OTliZWQxYTVwMywKKyAgICAweDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMjBwMywKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4xZmZmZmZhM2FhZTJjN2E3MTEyMTM0MDVmYzIwYTExYnAzLAorICAgIDB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLjQwMDAwMDJlMmE4ZWUxNmM0ZDcwYmRmNzk5YmVkMWE1cDMsCisgICAgMHgxLmZmZmZmZXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLjQwcDMsCisgICAgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtMHgxLjNmZmZmZmEzYWFlMmM3YTcxMTIxMzQwNWZjMjBhMTFicDMsCisgICAgMHgxLjAwMDAwMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLmEwMDAwMDJlMmE4ZWUxNmM0ZDcwYmRmNzk5YmVkMWE1cDMsCisgICAgMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLmEwcDMsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLjlmZmZmZmEzYWFlMmM3YTcxMTIxMzQwNWZjMjBhMTFicDMsCisgICAgMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLmEwMDAwMDJlMmE4ZWUxNmM0ZDcwYmRmNzk5YmVkMWE1cDMsCisgICAgMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLmEwcDMsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAtMHgxLjlmZmZmZmEzYWFlMmM3YTcxMTIxMzQwNWZjMjBhMTFicDMsCisgICAgMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLjgwMDAwMGI4YWEzYjg1YjEzNWMyZjdkZTY2ZmI0Njk3cDEsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuODBwMSwKKyAgICAweDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS43ZmZmZmU4ZWFiOGIxZTljNDQ4NGQwMTdmMDgyODQ2ZXAxLAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLjhhODk4ZGRjYjZlZmVkNjU5NWVmYWZjNWUwNzdhMWNicC0zLAorICAgIDB4MS5iZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLjhhODk4MGFiZmJkMzI2NjZhOWI3ZTJkZjYwZDJiZGM2cC0zLAorICAgIDB4MS5jMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuOGE4OTczN2I0MGM1NzI4NmIxMzQwMzExMjZjOWM3ZWRwLTMsCisgICAgMHgxLmMwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuMDAwMDAwNWM1NTFkYzJkODlhZTE3YmVmMzM3ZGEzNGJwMiwKKyAgICAweDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5wMiwKKyAgICAweDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5mZmZmZmU4ZWFiOGIxZTljNDQ4NGQwMTdmMDgyODQ2ZXAxLAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLjdkNjA2MjBjMzZkODdjZmNkOGJhYmY3NTFlZGMwYzhicC00LAorICAgIDB4MS5kZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLjdkNjA0OTZjZmJiNGM2NzNiNDUxMWY4YzJiNGU0ZmI3cC00LAorICAgIDB4MS5lMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuN2Q2MDMwY2RjMGFiNTM1Y2NhMWZkNTA1NTIyMzdiMWVwLTQsCisgICAgMHgxLmUwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuNDAwMDAwNWM1NTFkYzJkODlhZTE3YmVmMzM3ZGEzNGJwMiwKKyAgICAweDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS40MHAyLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjNmZmZmZjQ3NTVjNThmNGUyMjQyNjgwYmY4NDE0MjM3cDIsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEuNzczOTdjNDU2MmQ5ZTU0NjQxZjYxNWE2Y2EyYjI3YmFwLTUsCisgICAgMHgxLmVmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuNzczOTRjOWQ5NThkNTVkZTVjMzgwZmUwODcxZDc1N2ZwLTUsCisgICAgMHgxLmYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS43NzM5MWNmNWM4NzFmN2NlNmEwZDYwYzNmY2M4YzBhM3AtNSwKKyAgICAweDEuZjAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS44MDAwMDA1YzU1MWRjMmQ4OWFlMTdiZWYzMzdkYTM0YnAyLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjgwcDIsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuN2ZmZmZmNDc1NWM1OGY0ZTIyNDI2ODBiZjg0MTQyMzdwMiwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS43NDNmNDYyZTQyNTRmNWUyYmUyNWI4NTA2MDI4ZDA4YXAtNiwKKyAgICAweDEuZjdmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS43NDNlZTg2MWYzNTU2MzY1NDgzNjExZjdjMGJmMDU5ZnAtNiwKKyAgICAweDEuZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLjc0M2U4YTk1YTRiNTFhNWM3NGJlMGQ1YWU2NWFhYjFicC02LAorICAgIDB4MS5mODAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLmMwMDAwMDVjNTUxZGMyZDg5YWUxN2JlZjMzN2RhMzRicDIsCisgICAgMHgxLmZmZmZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuYzBwMiwKKyAgICAweDEucC03CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS5iZmZmZmY0NzU1YzU4ZjRlMjI0MjY4MGJmODQxNDIzN3AyLAorICAgIDB4MS4wMDAwMDJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjcyYzg3NDNmNmZhOWNmYmUxZTI4N2FkMTlhY2E2ZDY3cC03LAorICAgIDB4MS5mYmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjcyYzdiYTIwZjczMjc1YjVkMTg0YTJjNjE1YjcwYWQ0cC03LAorICAgIDB4MS5mY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuNzJjNzAwMDI3Zjc2YjE1MGU1MzBhMTIzNjBkMTU2NmFwLTcsCisgICAgMHgxLmZjMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuMDAwMDAwMmUyYThlZTE2YzRkNzBiZGY3OTliZWQxYTVwMywKKyAgICAweDEuZmZmZmZlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS5wMywKKyAgICAweDEucC04CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS5mZmZmZmY0NzU1YzU4ZjRlMjI0MjY4MGJmODQxNDIzN3AyLAorICAgIDB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLjcyMGYwZWNkZTY4MDUwYTQ0YzlhMmViMzAwMDJlYjAycC04LAorICAgIDB4MS5mZGZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLjcyMGQ5YzA2YTgzNWVhNmVmMThmOTc3ZTVkOGEzN2FicC04LAorICAgIDB4MS5mZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuNzIwYzI5M2Y2YjVmYmZiMjlmZDZjYjI5NDQ3ZTY5NTdwLTgsCisgICAgMHgxLmZlMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuMjAwMDAwMmUyYThlZTE2YzRkNzBiZGY3OTliZWQxYTVwMywKKyAgICAweDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIC0weDEuMjBwMywKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTB4MS4xZmZmZmZhM2FhZTJjN2E3MTEyMTM0MDVmYzIwYTExYnAzLAorICAgIDB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMHgxLjcxYjNjZTVkZTE5MmVhZTNlODIyNTg2MjQ5ZWYxMDMxcC05LAorICAgIDB4MS5mZWZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLjcxYjBlYTQyZTVmZGEyNjFkYmJkMWE0OThmNTMzMzk4cC05LAorICAgIDB4MS5mZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIC0weDEuNzFhZTA2MjdlZDRkZTdhMGQyNWFmZmM5NWEzMTUxMThwLTksCisgICAgMHgxLmZmMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuNDAwMDAwMmUyYThlZTE2YzRkNzBiZGY3OTliZWQxYTVwMywKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuNDBwMywKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC0weDEuM2ZmZmZmYTNhYWUyYzdhNzExMjEzNDA1ZmMyMGExMWJwMywKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEuNzE4ODZmNTg0M2FkZTA0N2JkMmQwNzJlOTY0ODRhNjFwLTEwLAorICAgIDB4MS5mZjdmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAtMHgxLjcxODJhODk0YjY5YzU5NWY3OTIwY2VhMTYxOWM2ZTU3cC0xMCwKKyAgICAweDEuZmY4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuNzE3Y2UxZDEyZjUzMDgwZWM4NjU4N2MxZWQ3NjAyOWJwLTEwLAorICAgIDB4MS5mZjgwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMHgxLmEwMDAwMDJlMmE4ZWUxNmM0ZDcwYmRmNzk5YmVkMWE1cDMsCisgICAgMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMHgxLmEwcDMsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLjlmZmZmZmEzYWFlMmM3YTcxMTIxMzQwNWZjMjBhMTFicDMsCisgICAgMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjcxODg2N2MzOWFhYzVlZTM3Njg1Mzk0ZmU5YmZkNzQ5cC0xMywKKyAgICAweDEuZmZlZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTB4MS43MTVhM2JjMzU5M2Q0ZDRhMmEyMzk3NDVmNjQyNzQyMHAtMTMsCisgICAgMHgxLmZmZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAtMHgxLjcxMmMwZmMzNDVmYmFkNDZjMmM5ZjM4ODRkZjcyMzNlcC0xMywKKyAgICAweDEuZmZmMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5mZmZmZmZmYTNhYWUyM2QyNzY1MWU4NDEwY2M4MjVjYnA2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLmZmZmZmZmY0NzU1YzQxZGY5YWJlZmFmZDkzNDIwZDg4cDYsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuYTZjODczZjVmYjkzZDI3MTE0MThjNzY5Y2NmNDgxOGFwMCwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuNGQ5MGU3ZWJmNzI3YTRlMjI4MzE4ZWQzOTllOTAzMTVwLTEsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjcxNTQ3NGUxNjNiYjdiMmZlODBmN2Q3YjkxZjE4NTFjcC0yMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgLTB4MS43MTU0NzcwYjYyNmI4NWVmYmNjZGY2OGQyZTk3ODlmOXAtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuNjRkZTMwMjgxMWIwYjYzYmFmOWNlMjU4Y2MyZGY5ZDVwLTIsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuZjdmZmZmZjQ3NTVjNThmNGUyMjQyNjgwYmY4NDE0MjNwNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAtMHgxLmY4cDYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgLTB4MS5mODAwMDAwYjhhYTNiZTIwNjU0MTA1MDI2Y2JkZjI3N3A2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZjgwMDAwMTcxNTQ3OTM1NjEyNDM4YWE2YWY2YjU0OTVwNiwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAtMHgxLjI4cDcsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgLTB4MS4yYXA3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuZjRwNiwKKyAgICAweDEucDEyNQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuZmNwNiwKKyAgICAweDEucC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEucDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLnAxLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEucDAsCisgICAgMHgxLnAtMQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2xvZ19pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbG9nX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWFlNjBlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2xvZ19pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxNjU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfbG9nX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLmQ3N2ZkMTNkMjdmZmVmZmZmZmZmZmZmZmI1ZWQ5ODQzcC0xMSwKKyAgICAweDEuMDAzYWY2YzM3YzFkM3AwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS40MTFlZmQyOTdjNzgwODAwMDAwMDAwMDAxNmQ2MTViMnAtNiwKKyAgICAweDEuMDUxMTI3OTI5MzRiM3AwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS5kNDg0MDY2NDQ0NmZiODAwMDAwMDAwMDAxZjU3NGZmY3AtNiwKKyAgICAweDEuMDc2ZDFkOGM3NWVhNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5mNmU0YzNjZWQ3YzcxZmZmZmZmZmZmZmZmZWU5NDdkYXAtMywKKyAgICAweDEuNDc0MDhjYjk1ODNjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS4xYTA0MDg3MTJlMDA5ZmZmZmZmZmZmZmZmZWU0NjAxMnAtMiwKKyAgICAweDEuNTEyYjMxMjY0NTRmM3AwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS44YjUyYzE1ZWE5YzIzN2ZmZmZmZmZmZmZmZTYxMzk1Y3AtMiwKKyAgICAweDEuNzg5ZTk1YjExNTc4Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5kNzA3MDI5YmI1OWQ4ZmZmZmZmZmZmZmZmZWNmNmVmNnAtMiwKKyAgICAweDEuOTU4NDk3ZjdiMzUzZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS4wNzI3YWY1ZmVlOGY1ZmZmZmZmZmZmZmZmZWM3MDIxZnAtMSwKKyAgICAweDEuYWMwMzJhOGQyZWMyM3AwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS4xMmZjY2UwMmVmYjMyMDAwMDAwMDAwMDAwMTQzNWI5MHAtMSwKKyAgICAweDEuYjYwNGUxOTQyMDk4ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS4xNzhlNmQzZWNhY2U5ODAwMDAwMDAwMDAwMTMwMGFjY3AtMSwKKyAgICAweDEuYjlmMWZhNDU4Nzk2N3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuNjJmNzFjNDY1NmI2MGZmZmZmZmZmZmZmZmY3ZjE2OGVwLTEsCisgICAgMHgxLjAwMDk3NjU4MWNlNGVwMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmQ2MzM2YTg4MDc3YTlmZmZmZmZmZmZmZmZmZTFmODE3cDAsCisgICAgMHgxLjkxYThkZmY1NDBmZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjAxNmU4MmNlZGEzNThmZmZmZmZmZmZmZmZmYWNiZjYycDEsCisgICAgMHgxLmRlMzdmYjMxZmQ1ZmNwMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjFlMTI2ZjVkOTVmMzg4MDAwMDAwMDAwMDAwNWQzNzYxcDEsCisgICAgMHgxLjJiMTE5OWU0OTc3MzlwMworICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLjJmMzgzMmNhZDNkNWYwMDAwMDAwMDAwMDAwNzg4MDFjcDEsCisgICAgMHgxLjU1ZjBlYWExYjJmYzhwMworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjQyZWUzYzdkYzQ5NDYwMDAwMDAwMDAwMDAwNGVhNTdmcDEsCisgICAgMHgxLjhlZGU0OTJkOTYwNzJwMworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjZiNWRmN2UzY2Q0MjE4MDAwMDAwMDAwMDAwNDQ2MTNicDEsCisgICAgMHgxLjExODY3NjM3Y2JkMDNwNAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjdlN2YwOTU3MDNlZWU3ZmZmZmZmZmZmZmZmYWNkYzA2cDEsCisgICAgMHgxLjNkOWQ3ZDU5N2E5ZGRwNAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjk2ODdjODNmYWYwMDY3ZmZmZmZmZmZmZmZmYjljZjNmcDEsCisgICAgMHgxLjdmMzgyNTc3OGFhYWZwNAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjgzZDRiY2RlYmIzZjNmZmZmZmZmZmZmZmZmZmZhY2M5cDIsCisgICAgMHgxLmFjNTBiNDA5YzhhZWVwOAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwYWFhYWFhcC01MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuNzZlN2U1ZDdiNmVhYmZmZmZmZmZmZmZmZmZmMDZmODBwMywKKyAgICAweDEuZGU3Y2Q2NzUxMDI5YXAxNgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwYWFhYWFhcC01MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMHgxLjkxNTUwYzM1N2Y4ODNmZmY4OTlkZmYzMGQwZjMwM2VlcDgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwLTU3OQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjdmZmZmZmZmZmZmZmI4MDAwMDAwMDAwMDExZmZmZmZmcC01MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuYmZmZmZmZmZmZmZlNzgwMDAwMDAwMDAxYzk1NTU1NTVwLTQ4LAorICAgIDB4MS4wMDAwMDAwMDAwMDFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS43ZmRmZmZmZmZmNzAxN2ZmMDAwMDQ3ZWUwMTdmZjUyY3AtNDEsCisgICAgMHgxLjAwMDAwMDAwMDBiZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjBmZmZmZmZmZWRmMDAwMDAwMTk5NmFhYWFhODFlMjhhcC0zNSwKKyAgICAweDEuMDAwMDAwMDAyMjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmZmZmZmZmZmMDAwMDAwMDBhYWFhYWFhYTJhYWFhYWFicC0zMywKKyAgICAweDEuMDAwMDAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS43ZmZmZmY3MDAwMDA0N2ZmZmZkNzgwMDAxODRjY2NiZHAtMjUsCisgICAgMHgxLjAwMDAwMGNwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjBhMmVhM2U3N2FmMDYwMDA0MDEwYzRmNmI0MzdmYjQ1cDEsCisgICAgMHgxLjAwMDcwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS45MDQxMjA5NGQzNjdmOTlmM2M2MTUyMzFhZDk4YmYzZHAtMTMsCisgICAgMHgxLjAwMGM4MjU3M2Y1ZjlwMAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmZmZTAwMmFhNmFiMTEwNjY3OGFkOGIzMThjYjM4NTQ1cC0xMiwKKyAgICAweDEuMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5iZmNmMDcyNDI5NjlkMTVkYjRkMmIzZWZlMWMwMzdlMHAtMTEsCisgICAgMHgxLjAwMzgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5kNzdmZDEzZDI3ZmZlZmZmZmZmZmZmZmZiNWVkOTg0M3AtMTEsCisgICAgMHgxLjAwM2FmNmMzN2MxZDNwMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLmVhMDU0Y2U4NTA4ZTQ4NzQ0NDJlOTVlNDE3MThiMGRlcC0xMCwKKyAgICAweDEuMDA3YTllYTdhOWU4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmYwMDRhN2FiOTA4M2Y5ZTE3MTdkM2E0YWFlYzg2NTdwLTEwLAorICAgIDB4MS4wMDdmZGZmN2ZkZmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5mZmRhNjVkNDRkY2NjODg5MTE1YTRhNGZmNzVjNWE3N3AtMTAsCisgICAgMHgxLjAwODAxNjlhMTZjZDVwMAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmI5NTY5ODlkMjU4OWQ3ZmQ2ODM4ZTU3YTcwMmYzOGFjcC05LAorICAgIDB4MS4wMGRkMGE4MzE3MTc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5mZDA4MTZkOTcxNTJjN2ZlYWQ3Yjg0OWY3NjE0ZmI0OHAtOSwKKyAgICAweDEuMDBmZjAyYmE4YTU0M3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLjM3OTE1NTU1Nzg1YjA3ZmMxOWRkMjYzMjA4OGExZTdmcDksCisgICAgMHgxLjAwZmZmZmZmZmZmZmZwLTg5OQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjY0YTJhOWI2YTQwNTg4MDEwMTAyODA3MTM4ZGZmNTBjcDAsCisgICAgMHgxLjAxYzAwMDAwMDAwZGNwMgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmQ0NjU5NTcxMDZiZDI4NmJhZTY3YzA4Mjk3MTYzZWEzcC04LAorICAgIDB4MS4wMWQ2MTMxZDA5ZGM1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5mZGY2MzliZWE1YWQzNzYyZGYyNGEyMDhlMmExY2JlOHAtOCwKKyAgICAweDEuMDFmZmYzN2EzNDA4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZmRmNmU0ZmNmNDU2OTc3MjA1MjI4NTMwYWNkNTcxNTVwLTgsCisgICAgMHgxLjAxZmZmNDI2YzhjYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZkZjZlNGZkMDQyNmY3NmQ2ZDdiODM5YjVmNmM4YmFmcC04LAorICAgIDB4MS4wMWZmZjQyNmM4ZGI1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5mZGZlOWM1N2RlYmUxNzYwZmU0ZmYwODk5YmY5ZTZkY3AtOCwKKyAgICAweDEuMDFmZmZiZWQ5MjJlM3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmQxN2JlMjQ1MTIyOWZmZmYxMWU4NTE4MDRlOTdjZGQ3cDMsCisgICAgMHgxLjAyOHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS42ZGNiMmZlZDdmMjVkM2YyODY3MDcyMzBiZTE5MDc2MHAtNywKKyAgICAweDEuMDJkZmFmYTA3ZGY2ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuZmYwOTJhODVlZTAyZjdmZTdmYzVkYzFkNDE3MTg0YzBwLTcsCisgICAgMHgxLjA0MDYxNTQ2MWY2Y2FwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjBhYTUzY2VhM2YxYWJmZmYxZGRmYjVhZjRhYzQ5YWFlcC02LAorICAgIDB4MS4wNDMzNGVlYzVhNjVkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS42ZWEwNzAyMWMxMzM0ODAxNzQ4MzVkMTQyYTRiODMxZXAtNiwKKyAgICAweDEuMDVjYjA5YmI5ZmVkN3AwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuNzE5OWY5ODRmNTYwODAwMTM1ZmYzYWVjM2EwNzk2YThwLTYsCisgICAgMHgxLjA1ZDczNTE4NDI2MWNwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjc3ODhiYzljMDgzMTg4MDE1NDZjMDM1Y2JkOWEyNjlhcC02LAorICAgIDB4MS4wNWVmN2JkZWU3YmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS5jMjY4OGU5NTJhNzIzN2ZkZDg1NjMyOTdkZTYyNWFjZnAtNiwKKyAgICAweDEuMDcyMmEwNTcxMTc3OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZTAyMTUxMzUyNTEyZjdjMjMwY2M0Yjg5NWRjNjhkZDFwLTYsCisgICAgMHgxLjA3OWNmMDBmZTI0ZjlwMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS4zZTFmZWU2OTljNmJjN2ZjMDAxYTM1OWUwZWZlMmRiN3A4LAorICAgIDB4MS4wN2NwLTQ1OQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmYzMWI1NmI4YjZmMWEyODYyNTgyZjUyOGIzM2M0ZGUycC02LAorICAgIDB4MS4wN2ViMjU5ZWUwMWI1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuZDA4MTkwOTVmY2Q2YzgwMDkyNGVjZDAzMDhlYmUyMThwMywKKyAgICAweDEuMGE4NTUxZjhmYzdmOHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuMDI2OGQ0MDAwMGM3MTgwMDVkYTAyNDllYmIwYTMwMjRwMSwKKyAgICAweDEuMGZmZjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS42YjVkZjdlM2NkNDIxODAwMDAwMDAwMDAwMDQ0NjEzYnAxLAorICAgIDB4MS4xMTg2NzYzN2NiZDAzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS42Yjk2Y2I2NmY1NWMyODAwMTcyZDgxYzFjZWYzNTdiMXAxLAorICAgIDB4MS4xMWZmZmZmZmZmZmY4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuZjdhMjEzYTdjZDM4MGZmZmRlNDk4YzQ1M2YxMjU1M2RwMCwKKyAgICAweDEuMWU2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmEwNzY1ODUzZGVjMDZmZmVkZjQ5MDAyYjVkMzAwOGJlcDgsCisgICAgMHgxLjIwNjY1OGQ5YjBmMDVwLTYwMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjBkN2I2ZmY2ZTNhMjQ3ZmZmZmZlZmI5NDQ5ZmFmOGU2cDYsCisgICAgMHgxLjI1MTQ3MzhlNmRjYWRwOTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS4xZWUzODk5ZjY4MThlN2ZmZmZkMDllNmViNDg3OTcyNXAxLAorICAgIDB4MS4yY2ZiYjllNGExNTk5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuMzMxNTMzMzY3OTI4OTdmZDM4ZjRhZjdhYjVjMDA3NjlwNiwKKyAgICAweDEuMmYwNjE3MDM3ZTU5MHAtMTExCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLjA0YzFlNmNlYzk2Mzc3ZmViZTExODNlM2JkMzczYzNlcDMsCisgICAgMHgxLjJmMjlmZDRiNDI1MTVwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLjA1NzhiYzRhMTQzZDY5OTgwNmY5NDVkMTM1NmQwNmEycC0xLAorICAgIDB4MS4zMzNlMWYwM2FmNTVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmZkMmExZDRkY2YyM2Q3ZmU3NWY3ZWVmOTQ5OGZkYWEycC0yLAorICAgIDB4MS4zNzY3YTBhYWYxNDUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLmZiMGNlMGVjNzliYzk3ZmU5NTE0MWNlMjI3ZWQ0N2QycC0yLAorICAgIDB4MS4zODBjNjQwZTYyNDZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmVlNjkzY2FhNTAxYTkzZjMwMDYyZTJhM2M0NDVhYzljcC0yLAorICAgIDB4MS4zYmVjODM3ZDYwMWMxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmVkNjdiOWIwZjJmOGQ0MjBhZGNkZjUxZjQzMjgxN2ZhcC0yLAorICAgIDB4MS4zYzNjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjI1Mzk3ZGM5Zjg1YmQ4MDAwMDBhM2Q1NWJkNmQ4ZTUwcDEsCisgICAgMHgxLjNjNDE5YjlkYjY2MmFwMworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjljMDQxZjdlZDhkMzI5ZTMxMmFhZDg0OTNhM2E3OWEycDAsCisgICAgMHgxLjNmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLmM4ZmY3Yzc5YTlhMjFhYzI1ZDgxZWYyZmZiOWEyNGFlcC0zLAorICAgIDB4MS40cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5kNDJhZGZlYzM1ZDE0N2ZlMDRmZjdiMWIwMjdjNWZkYXAtMywKKyAgICAweDEuNDFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5kNzU3NzQ3N2I5ZWFkN2ZlOWIyYmM2OTYwYTc2NjMwM3AtMywKKyAgICAweDEuNDIzZmMyNGQwNGZjNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLmQzNjBlOTBjMzg1MGIzNmQ2MTEwM2Y1NzViOTkxODgwcC0yLAorICAgIDB4MS40NDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuY2RlYWJlMDFhODZiMmQ1MGM4ZWEzYmIwMzBjNjZiYmNwLTIsCisgICAgMHgxLjQ2MWMxNTlhNzZkNGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5mYjkxODZkNWUzZTI0NGVlNGUyODUzMTU2M2I2OWEyY3AtMywKKyAgICAweDEuNDdmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuZmI5MTg2ZDVlM2UyYThkNTU0NjZjMzc5NGQyY2EwOTJwLTMsCisgICAgMHgxLjQ4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZmI5MjA0NjRmNWZjNzc3ZjNjYjBkODQ0OGMzMGU3MDFwLTMsCisgICAgMHgxLjQ4MDAxNDFiZWE4M2ZwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmZiOWMyNzkyMDQ1ZTllODJlZmY0M2VmMWNlMGJlZTAycC0zLAorICAgIDB4MS40ODAxYjNiZjQyYTRhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5mYzQ2NzE4YTJkYzIyZGRiZmFiYjI1OThhMTM3YmFhN3AtMywKKyAgICAweDEuNDgxY2ZhZGU4YTY0ZHAwCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuZmY5YmQ3ODU1YWFlYWI4MTVmZDg1ZDJjYjA2OTQyMzFwLTMsCisgICAgMHgxLjQ4YTVkMGM3YWM1YjVwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmZmZDY1ZjI5YmZkNGVkZjk4ZWM4NDljOTAwMzJmMzAycC0zLAorICAgIDB4MS40OGFmMzU2MDgxY2ExcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5lNzM3Y2IyMzg2NWM2YjkyMTU1MmFkODFkNTcyYjcyOXAtMSwKKyAgICAweDEuNGI4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS45MGVkNTJkMWEyM2M0ZmZlZDhlZTc3MjVjNTMwMzVkNnA4LAorICAgIDB4MS41NTZlZTYxMWZhMzA5cDU3OAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS5iMjViOGQ4NjNiM2I0ODAwZmNlYzRlYjVjMTRhN2MyZXAzLAorICAgIDB4MS41NWVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuMTY3NThhOTNkMjlhZjdmZjEwMGEwYzEwN2ZiMGM5ZTdwNiwKKyAgICAweDEuNTk5NjY1OTk2NjU5OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuN2UzYTkzYmYzNTQwZDgxZTNkYmJiNTc1ODVlYzE2NzRwLTIsCisgICAgMHgxLjYwODA1NGRlNzQ1ODJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS41ODNhNDE3YmUyMjE2Y2I5MzY2MTBjYTk4NDM1MTFkYnAtMiwKKyAgICAweDEuNjY0OWJiNTE1MzU0ZnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjRmN2RhYzNmMWQ3ZjNmZmZmZmRmNTIxY2NmYzlkYmNkcDUsCisgICAgMHgxLjY5YjEwOTM3N2Y3cC02MQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjYyZTQyZmVmYTM4MzczNGE3NjliYjQxMjU4MzE5YzFhcC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYjMxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuZTdhMmRkMDE2ZGFhODdmZmE3OTUyOGU4OWI2MTBjMGFwMSwKKyAgICAweDEuNmIwcC02CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuNzM5ZDdmNmJiZDAwNjljZTI0YzUzZmFkM2VmNzk2YWJwLTIsCisgICAgMHgxLjdwMAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS40YzNhZjQ3OTcyMDYyODAwMTNjNGQ0NWFmNjk2ZDdjYnAtMiwKKyAgICAweDEuNzIyM2NlZjc4ZTI1ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS40OGU2NWZlMmMyMzA1N2ZkZWIyNWM3ZjdjNDg1OWU5Y3AtMiwKKyAgICAweDEuNzM1ODdjZTc1MzY4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS40MDU3YjAyYmZkZDA5N2ZlNTczNzk4ODg3NDBkODEwM3AtMiwKKyAgICAweDEuNzY3NjQwODczOTVmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS40YTVmMTJlZDQwN2E0MDAwODM2NDVlZmNjNjU4ZWRhNnA4LAorICAgIDB4MS44YWQ5MzRiODM4YmRhcDQ3NgorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuODNkMGY5MDY5MGQwZjdmZjIwN2IxZjAwN2Y3YTM5MTdwMSwKKyAgICAweDEuOGJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLTB4MS5lMzg3NTQ1NzM1OTMxNDAwZWRiNDdlZTQyNjVkNzI4ZXAtMSwKKyAgICAweDEuOGU0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS5mY2M1OWUwMTM2OTc2ODI0M2VjYTU5OWU1OWU2YTkwOXAtMywKKyAgICAweDEuOGY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgLTB4MS5lZGQ2MTQ5YjMzMTU2ODI4NzUwYmIzYTYwOGM0ZGRjMXAtMywKKyAgICAweDEuOTI0YzU3ZDYyOTA4MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5jZmJlNjE2NGE3M2YxMzYxNjA0OTI2YTBhOTBmNTE5ZnAtMiwKKyAgICAweDEuOTJhNGNiNzk4NjY0YnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS5iNDI4MjE2YTVjMTU4N2ZkYmYyZjk3ZDRjMjcxNDhjY3A0LAorICAgIDB4MS45ODBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS5kMDgxZjBmMjVkNjYzODAwMjdkNTliNmViZGI5YmFjOXAtMywKKyAgICAweDEuOTgxOWQwMjU1YmU2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuY2MwZDZhOTJiNzkxNTdmZTgyYmZhZDBhZGRkMDg1YTVwLTEsCisgICAgMHgxLmEwZWY4ODNiZTIxNzdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjhmNjJlMmNiNjU4NjM4MDAwMDMwZWIxYTI4OWY3OGUzcC0zLAorICAgIDB4MS5hNTQ5MzM2MzEwZTZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgLTB4MS4zNjUxZDBkZTIzNjhkN2ZlZTNkMWQ2ZWUyYjIyNzc0NHAtMywKKyAgICAweDEuYjgwMzAwYzAzMDExOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS4yMGYyNWU2ODZlN2Y5N2ZlY2VmZjlhNzI5OWZjZDFlZHAtMSwKKyAgICAweDEuYzIyMDI0ZGM4Mjg5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS45ZTMyN2ViNmFjMmMzN2Y3YTM5YWYyYzk4OGFiZTJiNnAtMSwKKyAgICAweDEuYzgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS5iNzZmM2QwYWFmMGM5N2ZhZGVmYjRmNTMzMmQzNjVhOXAtNCwKKyAgICAweDEuY2JlYTIyYzhhOWExNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuOTMzNWU1ZDU5NDk5MTgxZmEwZjMxMmE5ODU0ZDMwNDJwLTQsCisgICAgMHgxLmNmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuYjZjYzJiMDVjOTBhNzdmZTlhMGJiMzAxOWQ4YTlhZWRwMiwKKyAgICAweDEuZGFlMTg5NGEyZGJlZHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5mYzcwMmI4ZDk2ZDBkN2Q0Nzk0ZmQ1NmM5YmVjMmNlMnAtNSwKKyAgICAweDEuZTEzMDRjMTMwNGMxM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuZjZjN2Y3ZDBiMDM1NTdkMWMyNjkwZmMyMTRiM2VmNDNwLTUsCisgICAgMHgxLmUxODU2NDZiYzc4NTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAtMHgxLmViOGRjYjc2NGUwN2U3ZDRmMGVmMzZjNmVlODhlYWNhcC01LAorICAgIDB4MS5lMjJlNzM0OWY2ZTk3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS5kOTRhOWMzMjNlNzdjN2ZkNDNlMmUxM2Y1NDExNDFjYnAtNSwKKyAgICAweDEuZTM0MWYwNTkyYzJhYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIC0weDEuY2NiMTA2MDg1Mzk0ZjdhMDVlMDNkZjhhYzIzZWFlNWRwLTUsCisgICAgMHgxLmU0MDA1ZGZkNjZjMzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLmE5YmQ4YWZjNmQ4NGI3ZWM3YmJjODBjYzZmMjk4M2Y4cC01LAorICAgIDB4MS5lNjEyMjIyNDFjYTdmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTB4MS43ODczOTJhNDU4ODhkODAwNmJiNTM4YzcyNGM0NWY3ZXAtNSwKKyAgICAweDEuZTkwMTEzM2UxNjFlNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuNzlhNjM0Y2RmYjI1NTgwMDAwODYwN2IwYzJjMDE1NzBwNCwKKyAgICAweDEuZWRkYzA4MjFjNzZjMXAtMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuNTE3MjE1M2Q1ZmU5YjdmZjBmMjZhODdjMDg1Yjg3ZDdwLTEsCisgICAgMHgxLmVlZDkyMDhhNmEzNDlwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuMTJiMjI3MjQ0ZmY5NzdkODc4ZTExNjZjMjlmNzZhYTVwLTUsCisgICAgMHgxLmVmMWRiY2VhMTk1Y2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAtMHgxLmY4YTM0ZDI1MDVmODE3ZDg0OGY0ZTg5NTk3MTNmYjc2cC02LAorICAgIDB4MS5mMDc4NmZhNDhiZDljcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjA2ODg1ZDAzYzE5YzM4MDAwMDAyZjk5MjA1YTYwYjU0cDEsCisgICAgMHgxLmYxYTk0NWE0NTdkOTZwMgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5hMjhjY2NiOWM2ZjBkN2ZlZGQ4OWU5YzRkNGI5ZjY4YnA2LAorICAgIDB4MS5mMWZmZmZmZmZmZmZmcDE1MAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuYjAzMmRhMDk1NjcxZTdjOGQ0MjdlYjQyMjkyNzY0ZDJwLTYsCisgICAgMHgxLmYyYWI5ZGVlODQxYjVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLjlkNjZhZGE2OTA1NjQ4NTMyNjE5NGUzZjFjN2IxNzBjcC02LAorICAgIDB4MS5mMzNlMmE5NDRhYzk2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS44OGU3YTZiZjFiNWI5N2ZkYmY0ZGQ1ZTA1NDY3YzI1ZHAtNiwKKyAgICAweDEuZjNkZTI2ODM5NGU4ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuODRlMzYyYWQyMTcwMTdmZTdlZTZjNWU5NTgwYWExZGRwLTYsCisgICAgMHgxLmYzZmQ4NmIzOTI4ODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLjc0NGVmZjZkNzdkZGU3ZDJhMTc5NjY5ZTIyNTY5OWUzcC02LAorICAgIDB4MS5mNDdmMWUxZjUzZjI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS42OGI0Zjg2NDk3YTBhN2ZlMjRjNWZiYTc4YmYxN2E4OHAwLAorICAgIDB4MS5mNDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjZmNTFlNjhmY2Q3Y2Q3ZmExZTZhY2Q5ZjRiOTc5MzQxcC02LAorICAgIDB4MS5mNGE2MjJkZjc2MGM5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS42YmFiNGY5M2EzNzIwN2QyMzc2NTkzZTEyZTg5MGQ4MHAtNiwKKyAgICAweDEuZjRjMmIyYTVhNWMxZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuNjVhZTRkZWVkYTdiNzdmZTljNWRhYzJjMGMwZGVkZjRwLTYsCisgICAgMHgxLmY0ZjE4ZmFiNWMzYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLjRjMmE2NGNiMjI0NDFmZTc0ZTJmODY4OTM0ZTllNDkxcC02LAorICAgIDB4MS5mNWI5NmU1Yjk2ZWI3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS40M2FlNmM0NGI5Zjc2N2YzNGViZjhhMmNjMzc0NGM5NHAtNiwKKyAgICAweDEuZjVmYmY1Y2VkYzQ4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuNDFmNzgxMjMxMGM5YjAwMTVjYTM5NzhjYWVhMmFmNDlwLTYsCisgICAgMHgxLmY2MDk2OGE1OTUyZDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjNiMGNiMGIxNDY5ZGI4MDBiMjBhYTExNjk4OGNiNmYycC02LAorICAgIDB4MS5mNjNmYWU2YmFlMzIxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS4zMTFlNjc1NzViNGY1MDA2OTk0ZGYzMTU4YzczMTZjY3AtNiwKKyAgICAweDEuZjY4ZGEzNjhkYTM2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuMDIwZGE3MDNmMmY5ZDdkODhjMjM2MWY5MzEyYzgzODJwLTYsCisgICAgMHgxLmY3ZmZiZWZjNWQ5ZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLjAyMDU2NTg5MzViOTQ3ZWM1ODc0NTMwNDY4MTQ1YWU3cC02LAorICAgIDB4MS5mN2ZmZmZmZmZmZmU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5hZTgyNWZlMmViNjcwN2Y5NmE2ZTRjMWRkNTM1ZjljY3AtNywKKyAgICAweDEuZjk1MTM5YzU2MTEzOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuMjM4NTFjODBkZGRmMjdmYjg0N2NkZDIzN2RiMzJlODZwLTcsCisgICAgMHgxLmZiNzcxNzdmYjVkMzVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjdjNDk4ZWI4N2VkNjg3ZjVhYjZkMDBlMzk5NDZkM2JmcC04LAorICAgIDB4MS5mZDA5YTBiNWIxN2YwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS41MGRkNDFhZWI0ODY1NzAwYzY4ZjVkZjRhODQzOGUwZHAtOCwKKyAgICAweDEuZmQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS4wOGI4YmJhNWRiM2E4NWI0ZTI1MmVkMTAwM2UzNDgxZnAtOCwKKyAgICAweDEuZmRlZjlmZTdmOWZlM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuMDdjOTg5YWRkOWY1ODVlNjVjNzhmZTkxMmMxYThjcC04LAorICAgIDB4MS5mZGYxN2M1ZjE3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuMDA4MDU1OTU4ZTEwYjU0MmY2NDBhOTRlZDQ1ZjliYzBwLTgsCisgICAgMHgxLmZkZmZmZmZmZmZmNTVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLjFmM2U0NzE3OGY5N2M3NTMzNGE2MmEyZjdhYTY2YmM1cC05LAorICAgIDB4MS5mZWUxMTIzZDA1YzFicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZjdmYWE5YWIxMzY3NzhhNzQzYmFhNGY1MjgwM2M0ZXAtMTAsCisgICAgMHgxLmZmMDA3ZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmMzllY2JlMjY3NTk3NzhmOGJiZjY3ZjFlNGE3ZTBhcC0xMCwKKyAgICAweDEuZmYwMGEyY2Q4OGI1NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuNjM2MzQ3NzY5OGQyNTdmYzE3NTIyYjUwZmY1NTU1M2NwMCwKKyAgICAweDEuZmYwMjBmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuZjdhMjQ4YmYyMmZhOTdmYWNhZGI5NDY2MzBlMzk2N2NwLTEwLAorICAgIDB4MS5mZjA0NmNiZTZjYmRkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5kYWU2MGZlZTlmYTlmN2UzNDFmZTkwNTljY2Y2MDk3NHAtMTAsCisgICAgMHgxLmZmMTJjM2ZmMTJjMzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmQyMDhiYzg1ODc3NzY3OTFjMzhhNzZhNjc1YzFlYTQ1cC0xMCwKKyAgICAweDEuZmYxNzMwOWZlZmNkMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuYmFiZmYyNjNlYWJmODdhYzIxNmVhZDY1NTc0YWNmMDFwLTEyLAorICAgIDB4MS5mZmM4YWFmZjUzNGQ0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5jMDBjNDA3MjViMDYxN2RlMTdkN2I3NGU0OTA5MWQ3NHAtMTMsCisgICAgMHgxLmZmZTNmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjc4YmZhNTAwNDE1MzE3M2YyZjUyMjZjZDIzOTQ4NTE4cC0xMywKKyAgICAweDEuZmZlODc0OTA0YWJkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuMTE0OGRmZjk1N2U3Yzc0NTY0MjI5ZTljYjljNGI4M2NwLTEzLAorICAgIDB4MS5mZmVlZWJiYWVlYmI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS40YWExOTZhYWUxZWY5N2ZmMTczMDg5Nzc5OWVlNGYwMnA4LAorICAgIDB4MS5mZmZmZmJiZmZmZmZmcC00NzgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuOGU4ZjQzZDM4MDQwZmZmZWRhNzMyYzhkMTY0YzFlYjVwOCwKKyAgICAweDEuZmZmZmZiYmZmZmZmZnA1NzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjAwMDAwNDAxMDAwMDA4MDE1NTY1NjU1NzU1OTU3NTU4cC0zMSwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuZmY4MDQwMDA3ZmMwMjdmODJjOGFjMmEyMTJlZjhlMGVwLTM0LAorICAgIDB4MS5mZmZmZmZmZjAwM2ZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLjg2ZWY1Y2NkZmExYjE3ZmU3OGM4ODZhOWQ4YjJmYWFlcDcsCisgICAgMHgxLmZmZmZmZmZmZGRmZmZwMjgxCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS4wMDA4MDAwMDAwODAwODAwMjAwMDU1NWQ1NTk1NTY0MHAtNDAsCisgICAgMHgxLmZmZmZmZmZmZmRmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjAwMjAwMDAwMDAyMDA4MDA4MDAwMDU1NzU1OTU1ODAxcC00MiwKKyAgICAweDEuZmZmZmZmZmZmZjdmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuMDA0MDAwMDAwMDEwMDgwMTAwMDAwMTU2NTU5NTVhYWFwLTQzLAorICAgIDB4MS5mZmZmZmZmZmZmYmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLjMwZmMxOTMxZjA5Yzk3ZmY0MmZmNWNhZDQ2Nzg5N2ZkcDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZWVwMjE5CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMTU1NTU1NXAtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNTU1NTU1cC01MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuMDNmZTU1YTA2MWM3NTdmZWQ2YTFkYTMxN2RhNTBiMWFwLTEsCisgICAgMHgxLjM0MjE4NTc5OGY2ZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBjZTRlMGQ1MDc4NTc4ODkyNzIxcC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS5kYTM5MWM5MDQzYTBmMTZhYmUwNTZlMzg0YmYwN2YyOXAtMywKKyAgICAweDEuOTYyYjVmOTQzOGQyNXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuMDZmYmVjNTIwODJiZDI1M2UyMDIxMGI1ODg2OGU1MjFwLTMsCisgICAgMHgxLmMyNGNkOGMwN2RlN2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLjFlMGE4ZjY3MGM1MGFkMTcyYjI2MDhlNGE3OGI1ZTYwcC01LAorICAgIDB4MS5lZTZlNTFlY2MyZmQ3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLjllNTQ4ZTdlM2RkZTdiMGYzNDM4NWYwNzVlODUwMTA2cC01LAorICAgIDB4MS4wZDQ3ZTU4Yzg0MDk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuMDhlMGJhZTczYWMyMzhkNWQwZDFmZDlhMDQ1Nzk2MzBwLTMsCisgICAgMHgxLjIzNThhMjIyYTY5NDRwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS45ZTY0NjIxODdjMzZhOGRkZWVkODk5YzRlMzU5Njg5NnAtMywKKyAgICAweDEuMzk2OTVlYjhjOTFmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLjE0ZGQ2YjBhZjkzOWFjOWZkMWNmOGQ4YTNhNjMwYTA3cC0yLAorICAgIDB4MS40ZjdhMWI0ZWViYTljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuNTYxODFmMTlkNzE5ODAzNWNmN2M1ZGYwMmQxNjYwMjZwLTIsCisgICAgMHgxLjY1OGFkN2U1MGUzNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS45MzZhODJmYWRjZDg1YTc2OGExNjU1YTgwN2E1YzVmZHAtMiwKKyAgICAweDEuN2I5Yjk0N2IzMGJmNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmNkNDViMGE5ZjI1MDIxZTRjNmFiODc2ZTU0MWRlZmM5cC0yLAorICAgIDB4MS45MWFjNTExMTUzNGEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuMDIwNDRjOWI3MDYyNzM1MGY1YzYxM2JhM2VmZjdmMTRwLTEsCisgICAgMHgxLmE3YmQwZGE3NzVkNGNwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS4xYzAxZGFkNTllNzJmYTA0N2I2MWFjMjZjNTFmNGMxN3AtMSwKKyAgICAweDEuYmRjZGNhM2Q5ODVmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjM0YmRlOWI4MjFmZTMxMTM2ZTY3NDUzZGZlY2Y5ZTM0cC0xLAorICAgIDB4MS5kM2RlODZkM2JhZWE0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuNGM1NjFkYmJiMjFkOWE4ZmFhYjQ0ZjY3NzdmOTI5ZjdwLTEsCisgICAgMHgxLmU5ZWY0MzY5ZGQ3NTBwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS42MmU0MmZlZmEzOWViMzU3OTNjNzY3MzAwM2U1ZWQ1ZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS42MmU0MmZlZmEzOWYwY2U0ZTBkNTA3ODU3ODg5MjcyMXAtMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEuMjRjZmNlNmY4MGQ5YjU3YmY3MTFlOGM3YmEyMWRlZjlwLTIsCisgICAgMHgxLjgwYWE4NGNlNzJmODlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmQ0OTAyNDZkZWZhNmMyNDA3MDQyMTE1N2M4YmRiYWM0cC0zLAorICAgIDB4MS45NzRiMjMzNGYyMzQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS42NWQ1NThkNGNlMDBhNDE4ODc5M2Y3NDUyYTQxYzlkM3AtMywKKyAgICAweDEuYWRlYmMxOWI3MTcwM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuZjk5MWM2Y2IzYjM3NmQzZTA1YzA0NDlkOTk3OGI5YmJwLTQsCisgICAgMHgxLmM0OGM2MDAxZjBhYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjMxYjk5NGQzYTRmODA2NDYxNDZhMzU2MWUxNjY4MjEzcC00LAorICAgIDB4MS5kYjJjZmU2ODZmZTdkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5jY2I3M2NkZGRiMmIzYjViODQxZWIxNTBhM2Q1ZTM0ZHAtNiwKKyAgICAweDEuZjFjZDljY2VlZjIzYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS4wYjk0ZjdjMTk2MTc0ODViY2I0Mzc1YjBiODJlZDdhYXAtNiwKKyAgICAweDEuMDQzNzFkOWFiNzJmYnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgMHgxLmUyNzA3NmUyYWYyZDkyMzQ0MDEyZmI3NDY0Yzc4N2M2cC01LAorICAgIDB4MS4wZjg3NmNjZGY2Y2Q5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuOTg2ZDMyMjgxODBiZTA5MjRhYzNhMTliNzI4NzBlNzlwLTQsCisgICAgMHgxLjFhZDdiYzAxMzY2YjdwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS4xYzg5OGMxNjk5OWYyOTE1YWQ1MWEwMDViNjhkZGNjNHAtMywKKyAgICAweDEuMjYyODBiMzQ3NjA5NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjY5ZDQ1OTJhMDM2MjFiMmU2Y2NjYzIwMzZmMzkzMWZmcC0zLAorICAgIDB4MS4zMTc4NWE2N2I1YTczcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuYjQ0Zjc3YmNjOGY1NWE4ODg0NDliYzUzZTlkOWJmM2VwLTMsCisgICAgMHgxLjNjYzhhOTlhZjU0NTFwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5mYzJkNmNmNDdjZjBiMmUwYjg4ZjQ4ODMyNDAyNDA4Y3AtMywKKyAgICAweDEuNDgxOGY4Y2UzNGUyZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLjIwY2RjZDE5MmFiNjUzMGIyNGQ3NWFiNDQ1OWUzYmMzcC0yLAorICAgIDB4MS41MzY5NDgwMTc0ODBkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuNDI2MTc0ZGJkNTE1ZDY0OWQ2OTk4NDgxNmU2ODk0MGRwLTIsCisgICAgMHgxLjVlYjk5NzM0YjQxZWJwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS42MmU0MmZlZmEzOWU1MjA2OTA1MmNiNzNiZjdjMmQ1ZnAtMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS4yNjk2MjExMzRkYjkyNzgzYmViNzY3NmMwYWE5YzJhM3AtMiwKKyAgICAweDEuOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuODlmYTQ2NWNiOTNjMzkzMDJkN2E0M2JmOGE4MzQ1YzhwLTMsCisgICAgMHgxLmE2NjY2NjY2NjY2NjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLmFmOGU4MjEwYTQxNjQ4YWQyZWY1YTc1YzgwYWU5YjAycC00LAorICAgIDB4MS5jY2NjY2NjY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS45ZWNlOTU1MzIxYjkxMTE5YjY0YjA0ODYxM2RiYzA3ZHAtNiwKKyAgICAweDEuZjMzMzMzMzMzMzMzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS44ZmIwNjNlZjJjN2QxMGFjOGM1Y2UzNjFmM2E1OWE3M3AtNSwKKyAgICAweDEuMGNjY2NjY2NjY2NjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLmUyNzA3NmUyYWYyZDdiMTA2ZjljNmZlNzAwMDBmMGI4cC00LAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuNzU2NTAxMWU0OTY2ZTM5NDc0MmNkZWI4MGFhYTBiODVwLTMsCisgICAgMHgxLjMzMzMzMzMzMzMzMzJwMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5mMThkYzQxZThlZjE3MDhkZGFjNjE3ZTcyYTE2YTM1MXAtMywKKyAgICAweDEuNDY2NjY2NjY2NjY2NXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLjMzNGU5ZTQ3ZDA3ZWZkOTdkMTNmZWEyNjVkY2VjMmQxcC0yLAorICAgIDB4MS41OTk5OTk5OTk5OTk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuNmFhYzA0MTQ2MTUxZmYzNjQ0ZjBkYTg3OTNmZTkxMWZwLTIsCisgICAgMHgxLjZjY2NjY2NjY2NjY2JwMAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS45ZjMyM2VjYmY5ODQ2OWQ2MTM4MjExOWVhYzNlODllMXAtMiwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuODY2M2Y3OTNjNDZjYzZkNTY5OWI4MmNjM2JkM2JlMzhwLTQsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS43NTY1MDExZTQ5NjdiOGU5Yzk4MjM0MGQ2MjM4NDQ2OXAtMywKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjBjYTkzN2JlMWI5ZGY4ZTg0YWI1MmQ0YjBhZWZkMDEycC0yLAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuNTg4YzJkOTEzMzQ5NDM4MGVlYmNlYjc2YzE5MjhmN2NwLTIsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS45ZjMyM2VjYmY5ODUxNDgwYmUyY2JjNDk1NmU5MzQ4YnAtMiwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLmUxNDhhMWEyNzI2ZDM5NGRmOGNkZDZjODBkN2VjODY1cC0yLAorICAgIDB4MS45OTk5OTk5OTk5OTljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuMGZhZTgxOTE0YTk5NDdiZDJkZTUxMTg3YTYzMDhmZGJwLTEsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS4yY2YyNWZhZDhmMWM3MTVlNWZhZmNlYjYzYmY2MDcwN3AtMSwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjQ4YTExMjkzZDc4NWY4NmE3YjE3N2Y0YWE0ZTljYWRicC0xLAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS4xNTQyNDU3MzM3ZDQyZTFjNmI3M2M4OWQ4NjJiYTE3MXA2LAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS4xNWEzZGU3MTFjYzU0OTRlMjBjZTJmN2UzOTNhOTY2MXA2LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS4xNWZjZjdmM2M2ZjhlMWY4ZTA1ODg5Yjc4Y2RjYmQ5NHA2LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS4xNjRlZWVhYWY1ZWZjYzE1NTNiZTdkY2FkMTM2OTE0MXA2LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS4xNjlhZDFhMGM5MDc3NzVmZWM2Mjg1ODhmY2VkMzQwMXA2LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS4xNmUxNzdiMjAzY2RiMzMwZWMzMWY1NTljZjgyOGFhNnA2LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS4xNzIzOGUxNGRhNDY5YjU1Yjk2Yzk2NzQ0ZTM5MjAzYXA2LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS4xNzYxYTI3NjVhNjk2MGFiZTVjZjkyYzA5NTc4MDI5MXA2LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS4xNzljMmEzMjkyZjI2NmZmMjgzMzI4M2FmMmEzOGQ3ZnA2LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS4xN2QzODc5ODVmODMzYTBkNDA2OWY3OWMxYjc1NzUwN3A2LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS4xODA4MGRkMzE3MWI2YzAzMWE5YjU3NmJlNjNiNmQ0Y3A2LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS4xNTQyNDU3MzM3ZDQyZTFjNmI3M2M4OWQ4NjJiYTE3MXA3LAorICAgIDB4MS4wcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS4xNTczMTFmMjJhNGNiYmI1NDYyMGZjMGRkZmIzMWJlOXA3LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS4xNTlmOWViMzdmNjY4ODBhYTVlNjI5MmE4OTg0MmY4MnA3LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS4xNWM4OWEwZjE2ZTFmZDE4ZGY5OTIzMzQyYmIxMTk1OXA3LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS4xNWVlOGI4YTAwNmRkMmJlMmJlYjI3MTM0MThjNmFiOXA3LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS4xNjExZGU5MjlkZDBmMGE2YWJkMmRlZmJhYWQ3MTYwY3A3LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS4xNjMyZTljNDA5MGQ2NGI5MTI3MDJmODhlYTMyNjBkNnA3LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS4xNjUxZjNmNGM5MWVjNzY0MjhhMWFkYWYwZGQxZDIwMXA3LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS4xNjZmMzdkMmU1NjM0YThkYzlkMzc4NmMzYzY3OTc3OHA3LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS4xNjhhZTY4NWNiYWJiNDE0ZDVlZWUwMWNkMGQwOGIzY3A3LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4xNmE1MjlhMzI3NzdjZDBmYzMwNzkwMDRiNjMzODc1ZnA3LAorICAgIDB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS41YTkyZDZkMDA1YzkzOWEzODY1MGJhYzRlN2I2ODljZXA5LAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAtMHgxLjAwMDAwODAwMDA1NTU1NTk1NTU1ODg4ODhiMzMzMzU3cC0yMCwKKyAgICAweDEuZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLjAwMDAwNDAwMDAxNTU1NTVkNTU1NTg4ODg4OWRkZGRlcC0yMSwKKyAgICAweDEuZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5mZmZmZjgwMDAwMmFhYWE5YWFhYWIxMTExMGU2NjY2N3AtMjIsCisgICAgMHgxLjAwMDAwODBwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5mZmZmZjAwMDAwYWFhYWEyYWFhYjExMTEwYmJiYmMwNHAtMjEsCisgICAgMHgxLjAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjAwMDAwMDAyMDAwMDAwMDU1NTU1NTU2NTU1NTU1NTg4cC0zMCwKKyAgICAweDEuZmZmZmZmZjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTB4MS4wMDAwMDAwMTAwMDAwMDAxNTU1NTU1NTc1NTU1NTU1OHAtMzEsCisgICAgMHgxLmZmZmZmZmZjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLmZmZmZmZmZlMDAwMDAwMDJhYWFhYWFhNmFhYWFhYWIxcC0zMiwKKyAgICAweDEuMDAwMDAwMDIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuZmZmZmZmZmMwMDAwMDAwYWFhYWFhYThhYWFhYWFiMTFwLTMxLAorICAgIDB4MS4wMDAwMDAwNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuMDAwMDAwMDAwMDgwMDAwMDAwMDA1NTU1NTU1NTU1OTVwLTQwLAorICAgIDB4MS5mZmZmZmZmZmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuMDAwMDAwMDAwMDQwMDAwMDAwMDAxNTU1NTU1NTU1NWRwLTQxLAorICAgIDB4MS5mZmZmZmZmZmZmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLmZmZmZmZmZmZmY4MDAwMDAwMDAwMmFhYWFhYWFhYTlhcC00MiwKKyAgICAweDEuMDAwMDAwMDAwMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5mZmZmZmZmZmZmMDAwMDAwMDAwMGFhYWFhYWFhYWEyYXAtNDEsCisgICAgMHgxLjAwMDAwMDAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDA1NTU1NTU1cC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDE1NTU1NTVwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDJhYWFhYWFwLTUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMGFhYWFhYWFwLTUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1MzkzYzc2NzMwMDdlNWRkNWVwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgLTB4MS43NDM4NTQ0NmQ3MWMzNjM5NWE3ZWEzYjllMDQ4YTc3NXA5LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgLTB4MS42MmU0MmZlZmEzOWYzYTI2MWRhMjA1ZmQxM2NiNTNkZnAtMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIC0weDEuNjJlNDJmZWZhMzlmMGNlNGUwZDUwNzg1Nzg4OTI3MjFwLTIsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWRmYTNhNDA4MDkwZGRmNDZmYTYycC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMHgxLjYyZTQyZmVmYTM5ZWFjODkwOWVjYzg2MmZjMDA4NmRkcC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuNjJlNDJmZWZhMzllZDljYTQ2YjljNmRhOTc0MmIzOWJwLTIsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMAorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS42MmU0MmZlZmEzOWYwNzBiODM4NmM1NTIzMDg0ZTA1YXAtMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgLTB4MS42MmU0MmZlZmEzOWYwMzU3OTNjNzY3MzAwODI1ZWQ1ZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWQzNTc5M2M3NjczMDA4ZTVlZDVlcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgLTB4MS4yNjk2MjExMzRkYjk1MjJlNjk2MjEyMTZiNjM3ZmI4NnAtMiwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuMjY5NjIxMTM0ZGI5Mjc4M2JlYjc2NzZjMGFhOWMyYTNwLTIsCisgICAgMHgxLjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAtMHgxLjI2OTYyMTEzNGRiOGZjZDkxNDBjYmNjMTYwZTJhNjMxcC0yLAorICAgIDB4MS44MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjlmMzIzZWNiZjk4NDk0ODBiZTJjYmM0OTU5OTNkZjM2cC0yLAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuOWYzMjNlY2JmOTg0YmYyYjY4ZDc2NmY0MDUyMjE4MTlwLTIsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS45ZjMyM2VjYmY5ODRlOWQ2MTM4MjExOWVhZWU5MzQ4YnAtMiwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjU0ZTNjMGIxMGEzNjQzNGFiYWMyNzcxNjAzMTFjY2I0cC05LAorICAgIDB4MS4wMGFhYWFhYWFhYWFhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuNTRlM2MwYjEwYTU2MmUwMzk0ZGJiYjkzNTlmNDc3ZGRwLTksCisgICAgMHgxLjAwYWFhYWFhYWFhYWJwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS41NGUzYzBiMTBhNzYxOGJjNmVmNTAwMGViMzdmMjU2M3AtOSwKKyAgICAweDEuMDBhYWFhYWFhYWFhY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjYyZTQyZmVmYTM5ZWViNTc5M2M3NjczMDA3YzVlZDVlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAwLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuNjJlNDJmZWZhMzlmMDM1NzkzYzc2NzMwMDc2NWVkNWVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLjYyZTQyZmVmYTM5ZWUzNTc5M2M3NjczMDA3YTVlZDVlcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS42MmU0MmZlZmEzOWYxMzU3OTNjNzY3MzAwNmU1ZWQ1ZXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDE1NTU1NXAtNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMGFhYWFhYXAtNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIC0weDEuNjJlNDJmZWZhMzlmMDM1NzkzYzc2NzMwMDgyNWVkNWVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgLTB4MS42MmU0MmZlZmEzOWVkMzU3OTNjNzY3MzAwOGU1ZWQ1ZXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEuNjJlNDJmZWZhMzllZmI1NzkzYzc2NzMwMDgwNWVkNWVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMCwKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuNjJlNDJmZWZhMzllZTM1NzkzYzc2NzMwMDg2NWVkNWVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0weDEuMGEyYjIzZjNiYWI3M2E4MWFlZDU4ZDY0MDVmYzcyMDZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0weDEuMGEyYjIzZjNiYWI3MzY4MWFlZDU4ZDY0MDVlYzcyMDZwMSwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuMGEyYjIzZjNiYWI3MmU4MWFlZDU4ZDY0MDYyYzcyMDZwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0weDEuNjJlNDJmZWZhMzllZjc1NzkzYzc2NzMwMDdmNWVkNWVwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMSwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuNjJlNDJmZWZhMzllZWI1NzkzYzc2NzMwMDgyNWVkNWVwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjQyZDc4Yjk0MGZjMDllZjY4YjZwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMSwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YTgyZDc4Yjk0MGZjMGExZjY4YjZwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuMGEyYjIzZjNiYWI3Mzg4MWFlZDU4ZDY0MDVmNDcyMDZwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIC0weDEuMGEyYjIzZjNiYWI3MzY4MWFlZDU4ZDY0MDVlYzcyMDZwMiwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEuMGEyYjIzZjNiYWI3MzI4MWFlZDU4ZDY0MDYwYzcyMDZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIC0weDEuMzY4N2E5ZjFhZjJiMTZlY2ExNGU3YTRhMDZmMTJmYjJwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIC0weDEuMzY4N2E5ZjFhZjJiMTRlY2ExNGU3YTRhMDZlOTJmYjJwMiwKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuMzY4N2E5ZjFhZjJiMTBlY2ExNGU3YTRhMDcwOTJmYjJwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuNjJlNDJmZWZhMzllZjU1NzkzYzc2NzMwMDdlZGVkNWVwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMiwKKyAgICAweDEuMHAtOAorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEuNjJlNDJmZWZhMzllZWY1NzkzYzc2NzMwMDgwNWVkNWVwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIC0weDEuOGY0MGI1ZWQ5ODEyZDNjMjg2NDA1NDE2MDhlYWFiMGFwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLjhmNDBiNWVkOTgxMmQxYzI4NjQwNTQxNjA4ZTJhYjBhcDIsCisgICAgMHgxLjBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAtMHgxLjhmNDBiNWVkOTgxMmNkYzI4NjQwNTQxNjA5MDJhYjBhcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLmJiOWQzYmViOGM4NmIyMmQ3OGI5NDBmYzA5ZTc2OGI2cDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTB4MS5iYjlkM2JlYjhjODZiMDJkNzhiOTQwZmMwOWRmNjhiNnAyLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YWMyZDc4Yjk0MGZjMDlmZjY4YjZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAtMHgxLjIwNTk2NmYyYjRmMTI2YjcyODEyMDNkNzA2NmVkMGRjcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgLTB4MS4yMDU5NjZmMmI0ZjEyNWI3MjgxMjAzZDcwNjZhZDBkY3AzLAorICAgIDB4MS4wcC0xMworICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuMjA1OTY2ZjJiNGYxMjNiNzI4MTIwM2Q3MDY3YWQwZGNwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAtMHgxLjIwNTk2NmYyYjRmMTI2YjcyODEyMDNkNzA2NmVkMGRjcDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgLTB4MS4yMDU5NjZmMmI0ZjEyNWI3MjgxMjAzZDcwNjZhZDBkY3AzLAorICAgIDB4MS4wcC0xMworICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0weDEuMjA1OTY2ZjJiNGYxMjNiNzI4MTIwM2Q3MDY3YWQwZGNwMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzNhODFhZWQ1OGQ2NDA1ZmM3MjA2cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDEsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzJlODFhZWQ1OGQ2NDA2MmM3MjA2cDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAtMHgxLjExNzhlODIyN2U0ODA3MDdjYWZkNDQ1OTc4NWIwZThmcC0zLAorICAgIDB4MS5iZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgLTB4MS4xMTc4ZTgyMjdlNDdiZGUzMzhiNDFmYzcyZGU4MWUzYnAtMywKKyAgICAweDEuY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuMTE3OGU4MjI3ZTQ3NzRiZWE2NmFmYjM0ZTYxMWU5ZmRwLTMsCisgICAgMHgxLmMwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWY3NTc5M2M3NjczMDA3ZjVlZDVlcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDEsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWViNTc5M2M3NjczMDA4MjVlZDVlcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLjA4NTk4YjU5ZTNhMGYxMTJjODYyNDdkOGJlNDFkNDg3cC00LAorICAgIDB4MS5kZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLTB4MS4wODU5OGI1OWUzYTA2ODhhM2ZkOWJmNTAzMzcyYzEyZnAtNCwKKyAgICAweDEuZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuMDg1OThiNTllMzlmZTAwMWI3NTEzNmM3YWQzMGMzNzZwLTQsCisgICAgMHgxLmUwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAtMHgxLmJiOWQzYmViOGM4NmI0MmQ3OGI5NDBmYzA5ZWY2OGI2cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLmJiOWQzYmViOGM4NmIwMmQ3OGI5NDBmYzA5ZGY2OGI2cDEsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAtMHgxLmJiOWQzYmViOGM4NmE4MmQ3OGI5NDBmYzBhMWY2OGI2cDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAtMHgxLjA0MTVkODllNzQ0NTRmNDM4NDRiN2U1NWNlZGQ4MzdicC01LAorICAgIDB4MS5lZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgLTB4MS4wNDE1ZDg5ZTc0NDQ0NzAxNzNjNzVkNGQ4ODg5ZGUwZXAtNSwKKyAgICAweDEuZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuMDQxNWQ4OWU3NDQzM2ViZjYzNDMzYzQ1NGFiYzdiMzlwLTUsCisgICAgMHgxLmYwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzM4ODFhZWQ1OGQ2NDA1ZjQ3MjA2cDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDIsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzMyODFhZWQ1OGQ2NDA2MGM3MjA2cDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAtMHgxLjAyMDU2NTg5MzU4NjdjYmZhNWE5MjYzYmQ4MWRhNGEwcC02LAorICAgIDB4MS5mN2ZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgLTB4MS4wMjA1NjU4OTM1ODQ3NDlmMjNhMTA1YjljN2JiOWE2ZnAtNiwKKyAgICAweDEuZjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS4wMjA1NjU4OTM1ODI2YzdlYTE5OGU1MzdjN2RjYTA4ZnAtNiwKKyAgICAweDEuZjgwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIC0weDEuMzY4N2E5ZjFhZjJiMTZlY2ExNGU3YTRhMDZmMTJmYjJwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtOAorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuMzY4N2E5ZjFhZjJiMTRlY2ExNGU3YTRhMDZlOTJmYjJwMiwKKyAgICAweDEuMHAtNworICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIC0weDEuMzY4N2E5ZjFhZjJiMTBlY2ExNGU3YTRhMDcwOTJmYjJwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuMDEwMTU3NTg4ZGViMWE5Y2VjOWIwM2ZiZWU0OWM2YjBwLTcsCisgICAgMHgxLmZiZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAtMHgxLjAxMDE1NzU4OGRlNzEyOGNjYzVhODJmOWRhMDBmNDhicC03LAorICAgIDB4MS5mYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjAxMDE1NzU4OGRlMzBhN2NhYzFhMDFmN2U2MzlhNjcwcC03LAorICAgIDB4MS5mYzAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgLTB4MS42MmU0MmZlZmEzOWVmNTU3OTNjNzY3MzAwN2VkZWQ1ZXAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAyLAorICAgIDB4MS4wcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgLTB4MS42MmU0MmZlZmEzOWVlZjU3OTNjNzY3MzAwODA1ZWQ1ZXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04CisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS4wMDgwNTU5NTg4YmI1ZmVkYTBlYjQ1OTVjNWZiZTJiMXAtOCwKKyAgICAweDEuZmRmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIC0weDEuMDA4MDU1OTU4OGIzNTdlNTk4ZTMzZDhkOWRiMzdhMjlwLTgsCisgICAgMHgxLmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIC0weDEuMDA4MDU1OTU4OGFiNGZkZDkwZGIzNTg1YjVlYmQyYTFwLTgsCisgICAgMHgxLmZlMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAtMHgxLjhmNDBiNWVkOTgxMmQzYzI4NjQwNTQxNjA4ZWFhYjBhcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS44ZjQwYjVlZDk4MTJkMWMyODY0MDU0MTYwOGUyYWIwYXAyLAorICAgIDB4MS4wcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgLTB4MS44ZjQwYjVlZDk4MTJjZGMyODY0MDU0MTYwOTAyYWIwYXAyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS4wMDQwMTU1ZDU4OTllNjc0NjkxZmVmNDE0MDJmM2U3YnAtOSwKKyAgICAweDEuZmVmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIC0weDEuMDA0MDE1NWQ1ODg5ZGU3MDY3MWVlZWMwYmZjZWZlNTNwLTksCisgICAgMHgxLmZmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuMDA0MDE1NWQ1ODc5ZDY2YzY1MWRlZTQwYmZlZjFlNmJwLTksCisgICAgMHgxLmZmMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLmJiOWQzYmViOGM4NmIyMmQ3OGI5NDBmYzA5ZTc2OGI2cDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgLTB4MS5iYjlkM2JlYjhjODZiMDJkNzhiOTQwZmMwOWRmNjhiNnAyLAorICAgIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YWMyZDc4Yjk0MGZjMDlmZjY4YjZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAtMHgxLjAwMjAwNTU2NTVhODliMzc3ZDU4MDFmZDA4ZmQ5ZjJkcC0xMCwKKyAgICAweDEuZmY3ZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIC0weDEuMDAyMDA1NTY1NTg4OTMzNTdjZDdlMWY0ODZiZDA3MDVwLTEwLAorICAgIDB4MS5mZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLjAwMjAwNTU2NTU2ODhiMzM3YzU3YzFlZDA0ZmM5ZWVkcC0xMCwKKyAgICAweDEuZmY4MDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIC0weDEuMjA1OTY2ZjJiNGYxMjZiNzI4MTIwM2Q3MDY2ZWQwZGNwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLjIwNTk2NmYyYjRmMTI1YjcyODEyMDNkNzA2NmFkMGRjcDMsCisgICAgMHgxLjBwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgLTB4MS4yMDU5NjZmMmI0ZjEyM2I3MjgxMjAzZDcwNjdhZDBkY3AzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMworICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuMDAwNDAwMTU1NmQ1NjA4OGRkZTA3MDNmMDM0Y2EwOTZwLTEzLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgLTB4MS4wMDA0MDAxNTU1ZDU1ODg4OWRkZTcwMmIwMjhjOTk5NnAtMTMsCisgICAgMHgxLmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIC0weDEuMDAwNDAwMTU1NGQ1NTA4ODVkZGM3MDFmMDI0Yzk4OTZwLTEzLAorICAgIDB4MS5mZmYwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1MzkzYzc2NzMwMDdlNWRkNWVwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzNGY5M2M3NjczMDA3ZTVhZDVlcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS4yNTBkMDQ4ZTdhMWJjZGVlNDk5ZmE1YjBjYTFkZDI0M3AwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuY2U2YmIyNWFhMTMxNTEwOWZlZWZjODYzMThhYjZlNTJwLTIsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMGFhYWFhYXAtNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDAuMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDE1NTU1NXAtNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAtMHgxLmVlYjk1YjA5NGMxOTJiNGE1MTNlMGJmOWVlNDBkOGQ0cC0zLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS42MjMyYmRkN2FiY2QyM2Q1ZTdmZDgzN2M2ZmUyM2E2N3A5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgLTB4MS42MjMyYmRkN2FiY2QyM2RkZTdmZDgzN2M2ZmUxZmE2N3A5LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgLTB4MS42MjMyYmRkN2FiY2QyM2U1ZTdmZDgzN2M2ZmUyM2E2N3A5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgLTB4MS42MjMyYmRkN2FiY2QyM2VkZTdmZDgzN2M2ZmUyZmE2N3A5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgLTB4MS43M2RmOWIzYWRiMzM0ZTdjODQ5OWIxZTAxNDQ2YWRmYXA5LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgLTB4MS43NDM4NTQ0NmQ3MWMzNjM5NWE3ZWEzYjllMDQ4YTc3NXA5LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLUhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL2xvZ2JfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2xvZ2JfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NTcwMTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbG9nYl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw4OTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19sb2diX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS4wYzgwcDEwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLjBjODBwMTAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS45MHA2LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuOTBwNiwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS45MHA2LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuOTBwNiwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS45MHA2LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjkwcDYsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuOTBwNiwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS45NHA2LAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjkwcDcsCisgICAgMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuOTBwNywKKyAgICAweDEuMTk5OTk5OTk5OTk5YXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS45MHA3LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjkwcDcsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuOTBwNywKKyAgICAweDEuNjY2NjY2NjY2NjY2OHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS45MHA3LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjkwcDcsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOTBwNywKKyAgICAweDEuYjMzMzMzMzMzMzMzNnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS45MHA3LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjkwcDcsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuOTJwNywKKyAgICAweDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mNHA5LAorICAgIDB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5mNHA5LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5mNHA5LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mNHA5LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mNHA5LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5mNHA5LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5mNHA5LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5mNHA5LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5mNHA5LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5mNDgwcDksCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjk0cDYsCisgICAgLTB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS5iMzMzMzMzMzMzMzMycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS45OTk5OTk5OTk5OTk4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjkwcDYsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjkwcDYsCisgICAgLTB4MS42NjY2NjY2NjY2NjY0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjkwcDYsCisgICAgLTB4MS40Y2NjY2NjY2NjY2NhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLjkwcDYsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjkycDcsCisgICAgLTB4MS4wcDIwMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLjkwcDcsCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjkwcDcsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjkwcDcsCisgICAgLTB4MS5iMzMzMzMzMzMzMzMycDIwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjkwcDcsCisgICAgLTB4MS45OTk5OTk5OTk5OTk4cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjkwcDcsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZlcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjkwcDcsCisgICAgLTB4MS42NjY2NjY2NjY2NjY0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjkwcDcsCisgICAgLTB4MS40Y2NjY2NjY2NjY2NhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjkwcDcsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLjkwcDcsCisgICAgLTB4MS4xOTk5OTk5OTk5OTk2cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjkwcDcsCisgICAgLTB4MS4wcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmY0ODBwOSwKKyAgICAtMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLmY0cDksCisgICAgLTB4MS5lNjY2NjY2NjY2NjY2cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS5mNHA5LAorICAgIC0weDEuY2NjY2NjY2NjY2NjY3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZjRwOSwKKyAgICAtMHgxLmIzMzMzMzMzMzMzMzJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmY0cDksCisgICAgLTB4MS45OTk5OTk5OTk5OTk4cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5mNHA5LAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuZjRwOSwKKyAgICAtMHgxLjY2NjY2NjY2NjY2NjRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmY0cDksCisgICAgLTB4MS40Y2NjY2NjY2NjY2NhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5mNHA5LAorICAgIC0weDEuMzMzMzMzMzMzMzMzMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuZjRwOSwKKyAgICAtMHgxLjE5OTk5OTk5OTk5OTZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmY0cDksCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS45MHA1LAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuOTBwNSwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXA1MAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjkwcDUsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS45MHA1LAorICAgIDB4MS40Y2NjY2NjY2NjY2NlcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuOTBwNSwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHA1MAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLjkwcDUsCisgICAgMHgxLjgwMDAwMDAwMDAwMDJwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS45MHA1LAorICAgIDB4MS45OTk5OTk5OTk5OTljcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuOTBwNSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnA1MAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjkwcDUsCisgICAgMHgxLmNjY2NjY2NjY2NjZDBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS45MHA1LAorICAgIDB4MS5lNjY2NjY2NjY2NjZhcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuOThwNSwKKyAgICAweDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLjk4cDUsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS45OHA1LAorICAgIDB4MS4xOTk5OTk5OTk5OTlhcDUxCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuOThwNSwKKyAgICAweDEuMzMzMzMzMzMzMzMzNHA1MQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjk4cDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS45OHA1LAorICAgIDB4MS42NjY2NjY2NjY2NjY4cDUxCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuOThwNSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnA1MQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLjk4cDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS45OHA1LAorICAgIDB4MS5iMzMzMzMzMzMzMzM2cDUxCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuOThwNSwKKyAgICAweDEuY2NjY2NjY2NjY2NkMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLjk4cDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5hMHA1LAorICAgIDB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuYTBwNSwKKyAgICAweDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLmEwcDUsCisgICAgMHgxLjE5OTk5OTk5OTk5OWFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5hMHA1LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuYTBwNSwKKyAgICAweDEuNGNjY2NjY2NjY2NjZXA1MgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmEwcDUsCisgICAgMHgxLjY2NjY2NjY2NjY2NjhwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5hMHA1LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuYTBwNSwKKyAgICAweDEuOTk5OTk5OTk5OTk5Y3A1MgorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmEwcDUsCisgICAgMHgxLmIzMzMzMzMzMzMzMzZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5hMHA1LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDUyCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuYTBwNSwKKyAgICAweDEuZTY2NjY2NjY2NjY2YXA1MgorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5hOHA1LAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmE4cDUsCisgICAgMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuYThwNSwKKyAgICAweDEuMTk5OTk5OTk5OTk5YXA1MworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5hOHA1LAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLmE4cDUsCisgICAgMHgxLjRjY2NjY2NjY2NjY2VwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuYThwNSwKKyAgICAweDEuNjY2NjY2NjY2NjY2OHA1MworICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5hOHA1LAorICAgIDB4MS44MDAwMDAwMDAwMDAycDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmE4cDUsCisgICAgMHgxLjk5OTk5OTk5OTk5OWNwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuYThwNSwKKyAgICAweDEuYjMzMzMzMzMzMzMzNnA1MworICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5hOHA1LAorICAgIDB4MS5jY2NjY2NjY2NjY2QwcDUzCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLmE4cDUsCisgICAgMHgxLmU2NjY2NjY2NjY2NmFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuYjBwNSwKKyAgICAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIC0weDEuMDA4MHAxMCwKKyAgICAweDEuMHAtMTAyNgorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEucDEwLAorICAgIDB4MS5kMzMzMzMzMzMzMzM0cC0xMDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgLTB4MS5mZjgwcDksCisgICAgMHgxLmIzMzMzMzMzMzMzMzRwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmZmcDksCisgICAgMHgxLjNlNjY2NjY2NjY2NjdwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLmZmcDksCisgICAgMHgxLmEzMzMzMzMzMzMzMzRwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLmZlODBwOSwKKyAgICAweDEuMDQwcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTB4MS5mZTgwcDksCisgICAgMHgxLjM2NjY2NjY2NjY2NjZwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLmZlODBwOSwKKyAgICAweDEuNjhjY2NjY2NjY2NjY3AtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIC0weDEuZmU4MHA5LAorICAgIDB4MS45YjMzMzMzMzMzMzMycC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS5mZTgwcDksCisgICAgMHgxLmNkOTk5OTk5OTk5OThwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLmZlODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS45MHA1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjk4cDUsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuOThwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS45OHA1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmEwcDUsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuYTBwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5hMHA1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmE4cDUsCisgICAgMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuYThwNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MworICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS45OHA1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS45OHA1LAorICAgIC0weDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS45MHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5hMHA1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5hMHA1LAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS45OHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5hOHA1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MworICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5hOHA1LAorICAgIC0weDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5hMHA1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MgorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5mZjgwcDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmMwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLjgwcDIsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjgwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLjgwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjQwcDIsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLjQwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLjQwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMHgxLnAyLAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5wMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLnAxLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLnAwLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuMGM4MHAxMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuMGM4MHAxMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEucDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEucDEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuODBwMSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS44MHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEucDIsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5wMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLjQwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS40MHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuODBwMiwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjgwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS44MHAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuYzBwMiwKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLmMwcDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLmZmODBwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5mZjgwcDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEucDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDAuMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMC4wLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAwLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDAuMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEucDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuZmZwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuZmZwOSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLmZmcDksCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmZmcDksCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgLTB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLmZmODBwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuZmY4MHA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuMGM0MHAxMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuMGM0MHAxMCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLjBjODBwMTAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLjBjODBwMTAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLUhVR0VfVkFMLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvbG9nYmZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL2xvZ2JmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWQzYzAzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2xvZ2JmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDcxNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19sb2diZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS45MHA2LAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS45MHA2LAorICAgIDB4MS4xOTk5OWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS45MHA2LAorICAgIDB4MS4zMzMzMzRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS45MHA2LAorICAgIDB4MS40Y2NjY2VwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS45MHA2LAorICAgIDB4MS42NjY2NjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS45MHA2LAorICAgIDB4MS44MDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS45MHA2LAorICAgIDB4MS45OTk5OWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS45MHA2LAorICAgIDB4MS5iMzMzMzZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS45MHA2LAorICAgIDB4MS5jY2NjZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS45MHA2LAorICAgIDB4MS5lNjY2NmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuOTRwNiwKKyAgICAweDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjk0cDYsCisgICAgLTB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuOTBwNiwKKyAgICAtMHgxLmU2NjY2NnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS45MHA2LAorICAgIC0weDEuY2NjY2NjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS5iMzMzMzJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuOTBwNiwKKyAgICAtMHgxLjk5OTk5OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS45MHA2LAorICAgIC0weDEuN2ZmZmZlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjkwcDYsCisgICAgLTB4MS42NjY2NjRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuOTBwNiwKKyAgICAtMHgxLjRjY2NjYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS45MHA2LAorICAgIC0weDEuMzMzMzMwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjkwcDYsCisgICAgLTB4MS4xOTk5OTZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuOTBwNiwKKyAgICAtMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS41MHA0LAorICAgIDB4MS5wMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS41MHA0LAorICAgIDB4MS4xOTk5OWFwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS41MHA0LAorICAgIDB4MS4zMzMzMzRwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS41MHA0LAorICAgIDB4MS40Y2NjY2VwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS41MHA0LAorICAgIDB4MS42NjY2NjhwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS41MHA0LAorICAgIDB4MS44MDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS41MHA0LAorICAgIDB4MS45OTk5OWNwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS41MHA0LAorICAgIDB4MS5iMzMzMzZwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS41MHA0LAorICAgIDB4MS5jY2NjZDBwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS41MHA0LAorICAgIDB4MS5lNjY2NmFwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS42MHA0LAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS42MHA0LAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS42MHA0LAorICAgIDB4MS4xOTk5OWFwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS42MHA0LAorICAgIDB4MS4zMzMzMzRwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS42MHA0LAorICAgIDB4MS40Y2NjY2VwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS42MHA0LAorICAgIDB4MS42NjY2NjhwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS42MHA0LAorICAgIDB4MS44MDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS42MHA0LAorICAgIDB4MS45OTk5OWNwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS42MHA0LAorICAgIDB4MS5iMzMzMzZwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS42MHA0LAorICAgIDB4MS5jY2NjZDBwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS42MHA0LAorICAgIDB4MS5lNjY2NmFwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS43MHA0LAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS43MHA0LAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS43MHA0LAorICAgIDB4MS4xOTk5OWFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS43MHA0LAorICAgIDB4MS4zMzMzMzRwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS43MHA0LAorICAgIDB4MS40Y2NjY2VwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS43MHA0LAorICAgIDB4MS42NjY2NjhwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS43MHA0LAorICAgIDB4MS44MDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS43MHA0LAorICAgIDB4MS45OTk5OWNwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS43MHA0LAorICAgIDB4MS5iMzMzMzZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS43MHA0LAorICAgIDB4MS5jY2NjZDBwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS43MHA0LAorICAgIDB4MS5lNjY2NmFwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS44MHA0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS44MHA0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS44MHA0LAorICAgIDB4MS4xOTk5OWFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS44MHA0LAorICAgIDB4MS4zMzMzMzRwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS44MHA0LAorICAgIDB4MS40Y2NjY2VwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS44MHA0LAorICAgIDB4MS42NjY2NjhwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS44MHA0LAorICAgIDB4MS44MDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS44MHA0LAorICAgIDB4MS45OTk5OWNwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS44MHA0LAorICAgIDB4MS5iMzMzMzZwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS44MHA0LAorICAgIDB4MS5jY2NjZDBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS44MHA0LAorICAgIDB4MS5lNjY2NmFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS45MHA0LAorICAgIDB4MS5wMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuMDRwNywKKyAgICAweDEucC0xMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEucDcsCisgICAgMHgxLmQzMzMzMHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmZjcDYsCisgICAgMHgxLmIzMzMzMHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmY4cDYsCisgICAgMHgxLjNlNjY2NHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLmY4cDYsCisgICAgMHgxLmEzMzMzMHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0cDYsCisgICAgMHgxLjAzZmZmZXAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmY0cDYsCisgICAgMHgxLjM2NjY2NHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmY0cDYsCisgICAgMHgxLjY4Y2NjYXAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLmY0cDYsCisgICAgMHgxLjliMzMzMHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmY0cDYsCisgICAgMHgxLmNkOTk5NnAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMHgxLmY0cDYsCisgICAgMHgxLmZmZmZmY3AtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuNTBwNCwKKyAgICAweDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuNjBwNCwKKyAgICAweDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuNjBwNCwKKyAgICAweDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuNjBwNCwKKyAgICAweDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEuNzBwNCwKKyAgICAweDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuNzBwNCwKKyAgICAweDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuNzBwNCwKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuODBwNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuODBwNCwKKyAgICAweDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuNjBwNCwKKyAgICAtMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjYwcDQsCisgICAgLTB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS41MHA0LAorICAgIC0weDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuNzBwNCwKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjcwcDQsCisgICAgLTB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS42MHA0LAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuODBwNCwKKyAgICAtMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjgwcDQsCisgICAgLTB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS43MHA0LAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuZmNwNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmZjcDYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLmMwcDIsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS44MHAyLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuODBwMiwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS44MHAyLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLjQwcDIsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC0weDEuNDBwMiwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS40MHAyLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLnAyLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAtMHgxLnAyLAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuODBwMSwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS44MHAxLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLnAxLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjJhcDcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS4yYXA3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDAuMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5wMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5wMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS44MHAxLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS44MHAxLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS44MHAxLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS5wMiwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEucDIsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLnAyLAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS40MHAyLAorICAgIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS40MHAyLAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS40MHAyLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS44MHAyLAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS44MHAyLAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS44MHAyLAorICAgIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5jMHAyLAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5jMHAyLAorICAgIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5mY3A2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLmZjcDYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLmZjcDYsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuZmNwNiwKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEucDAsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLnAwLAorICAgIC0weDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAwLjAsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMC4wLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMC4wLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMC4wLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5wMCwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuZjhwNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLmY4cDYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuZjhwNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmY4cDYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZmNwNiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmZjcDYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuZmNwNiwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZjcDYsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuMjhwNywKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjI4cDcsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuMmFwNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjJhcDcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9sb2dmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9sb2dmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjk3NzZjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL2xvZ2ZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19sb2dmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5iYjlkM2FlYjhjODdiMDJkNzc2M2ViYThiNDhhMTAyZHAxLAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLmZmZmZmZTAwMDAwMmFhYWFhNmFhYWFiMTExMTEwNjY2cC0yNCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS5jNmI0NWNlYjA5YTVhN2M4MmFhY2QxY2FkZjcyNTNkY3A0LAorICAgIDB4MS4wMDAwMDhwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIC0weDEuZDFjYjdjZWE4NmQwOWY2MjQ3NGIxNGM0NWY0Y2I2ODBwMywKKyAgICAweDEuMDAwMDEwcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLmZlMjgwMGU4N2MzNDdkNzg4ZjM5NGVmMmU5M2RiODY4cDUsCisgICAgMHgxLjAwMDA4MHAtOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjFmZmZhZjAwMWU1ZmYzMmY4NWM0MzZlNTlmZTczYjFlcC0xNywKKyAgICAweDEuMDAwMDkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTB4MS4wYTI3YTNmZmZhN2UwZDAzMWQ5YTU1ZDE1N2EwZThjOHAxLAorICAgIDB4MS4wMDA3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS41NGRlNmVlNzg5ODlhOWFjZmM4NzVjMWQ0NWUxNjQ5MHAtOSwKKyAgICAweDEuMDBhYWE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjhmNDgyNmZmZjc4N2M1OGZhYjUyMGU1MDU5NTJiYjU1cC05LAorICAgIDB4MS4wMGM3ZjJwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLjYxNTBjZWZmZmM4M2JhMmRhNDNkOGQ3NDU1ZWYyZmRlcC0xLAorICAgIDB4MS4wMGNhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuY2YyZTNlYjA5MjhiZGY1Y2JmMDY0YTI3YzY0MjJjODVwLTksCisgICAgMHgxLjAwZThwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmYwZWU4YTlhNjdhYjM2NTk3ZmZkM2M5MzMwNGQwY2M1cC05LAorICAgIDB4MS4wMGY4ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLmZiZGZjODk3ZDIzOWZiNDlkYzFjMzFhZmVhZWExZWE1cC05LAorICAgIDB4MS4wMGZlNmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZkYzVlNDhmODkzZThmNDg5NjdlZTRmZjFlODk1ZGQ1cC05LAorICAgIDB4MS4wMGZmNjJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmJlNzljNzAwNThlYzhmOWE2YzA0MDQzZjUyNzYzYzMwcC04LAorICAgIDB4MS4wMWMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5lM2FmZWYwMzZjNDQyYmVhNDZkMTA1ZjY4NjRlYTZmM3AtOCwKKyAgICAweDEuMDFlNTdhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5lYjkyZGIwM2Q4OWYyNTcxOWFmOTA4ZWJiNmU3ZTUxMHAtOCwKKyAgICAweDEuMDFlZDZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5mODczYjUwMmY5NDI3Y2IxYTE0ODcyMjY3ZmZhZTJmOHAtOCwKKyAgICAweDEuMDFmYTY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5mYzEwODkwM2ZjZDRjZDQ0NTgwMGNiMDZjMTY0ZDBiMHAtOCwKKyAgICAweDEuMDFmZTBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5mZWExNjhmYWQ2Mjc0MjMyYWQzOTk4YzNlMzllNDNkOXAtOCwKKyAgICAweDEuMDIwMGEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS4wY2U0YzlmZTNlZGQ3ZjQ1ZGMzOGQzMGY3NjMwNTkzMXAtNywKKyAgICAweDEuMDIxY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMGVlMDk2ZTI3NjRmOWYxZTY0ODQwNjA3NDM2Y2MwOTNwLTcsCisgICAgMHgxLjAyMjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmZjMDk4ZWZmZmU0OWZlMzJjMzU3NmRlZjZmMzAzMzM1cC03LAorICAgIDB4MS4wM2ZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS41OGZlZDQwMDAxNWZmZjk0YWMzYmI5ZWJiYzgxYzhhZXAtMSwKKyAgICAweDEuMDRmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS41OGIxZjFmZmZmYTU2YjU1YjZhNzIyZTBhYjJjNWFlNnAtMSwKKyAgICAweDEuMDUyNjM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZTcyMGEzMDAzZDA5OTczMWM4NWNlNmQ2ODk1NDZhNzZwLTYsCisgICAgMHgxLjA3YjljNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZjVhNGNiMDAzNTM5MzdhZDhiMWUwN2E2YTQ2OTE4OWZwLTYsCisgICAgMHgxLjA3ZjU5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLmIwMDgwZmZmZDU4OGVjOTE4ODM3MTU3MzZhYWUwZjUwcDQsCisgICAgMHgxLjA4cC0zOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjdmNjRhNzAwMDAyYjU0ZDZmYjVkNjliYzM1YzVlMmNhcC0xLAorICAgIDB4MS4wZWE3YjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmNmMjgyNTA3OGQ4YmQyMWY1YjU1NDMzNDJlNjZiNTRkcC01LAorICAgIDB4MS4wZWU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS44NDU2NTcwMDAzOTFmMzQwZGE3NDVkOWU1ZDI4MzE2NXAtMSwKKyAgICAweDEuMTE0OHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAtMHgxLmI5NTk0MjAwMDRiNTFmYjgwZDgzMjkxNzJkODkyMmY2cDMsCisgICAgMHgxLjEyYzhwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjNjYjIyNmNlZjlhNjEwY2Y3N2RjMDA2NzkwMmI0MDk5cC0xLAorICAgIDB4MS4xM2Q0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuNWUxYTIyZmNjZDg3ZDQwYjZlN2ViYzAyMjYzNzRkNjFwLTQsCisgICAgMHgxLjE2ZDhwMAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS4zNWZiNzZkZDhjN2EyMTFmMzM4NDJhZjQyYzU5OTExNHAtMSwKKyAgICAweDEuMTc3OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS4zNTAyOGFkOWQ4Yzg1YzFmY2E5M2YzNTVkNDc5NmJjMXAtMSwKKyAgICAweDEuMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5hM2Y3MWNmZjE0YjgxMTFhZGVkOTc2YzI2ZDE4OTYwZXAtNCwKKyAgICAweDEuMWJhNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLjU1YTA2MWZmZjkwZmE2ZGY3NTVmN2FlZjVhYjlmOTc4cDEsCisgICAgMHgxLjFiZjRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIC0weDEuY2U1ZmZkZTY2YTlhZjc4M2I4NjQ0MzIwOWVjZWMxNjRwMywKKyAgICAweDEuMWNlMHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuY2UzYTU1ZWE1ZDQ3MzIyYmRiYmUwZmZmNTQ3OWNhMWVwMywKKyAgICAweDEuMWUzMHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5lMjM3OTJlZjUyOTcxZmQ2YzcyYTk5ZjU5OGEwZmJhY3AtNCwKKyAgICAweDEuMWZmY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuOGZlMGM4NTMxNGJhNWUwOWUxMTU1MjhjMDJlZjZlMzFwMCwKKyAgICAweDEuMzEyZTc4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIC0weDEuZmRlZGZhZGU0NjVkNTczMzZhOWI4YTM1NjJkM2IxNzZwLTIsCisgICAgMHgxLjM3MmMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS5mZDljOThkZTdkODliOWUyOTU0NmE5Yjc2OTJjYWNkZHAtMiwKKyAgICAweDEuMzc0NGQycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmZkNTY1NmRlMGM2NmQ0N2I3YjljZjRmYTY4YjM1NmU0cC0yLAorICAgIDB4MS4zNzVhMmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZmNhOThjZGUwY2ViMThkNmQ3YmFiNzcwNWQxNGRlMTdwLTIsCisgICAgMHgxLjM3OGViY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5mYzBhNThkZTRlYTdjOTQzMmFjMDBmZjBhZGI2ZGI3ZXAtMiwKKyAgICAweDEuMzdiZjMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmViZGVkZTUxZGU3ZDdiMzU5YWNjMjNlYzMxMmFmMmQ0cC0yLAorICAgIDB4MS4zY2I1NmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuZGFlMGRlZGZkZGEyNTY5Mzc5NjMwYWJmZmNhZmZmZjJwLTIsCisgICAgMHgxLjQyMDIwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5kOTMwY2E1M2FlOGUwNjk1ZDE0ZTQ4Mzc2YjU4NDY2OHAtMiwKKyAgICAweDEuNDI4YTA0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZWMzNjQ5YzcyYzA1YTA2OWMyZDAwMDA5MDg1MWM2MzlwLTMsCisgICAgMHgxLjQ1OGNiZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuZjNlNjMyNTdlY2QxMmIwZDljY2M5ZmYzNGMzZjNkNmVwLTMsCisgICAgMHgxLjQ2YzYyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLjY5M2NmYTMwYjYzM2IxZDAzZjRlY2Q4OGE3NTBhYzc5cC0yLAorICAgIDB4MS42N2NkM2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuNjkyYjVlNDIxMDhiNzNkNzU5OTUxODA3NGNlODY3MGFwLTIsCisgICAgMHgxLjY3ZDM2YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS42M2JiYmExNzcxYjgyMDhkODUxYWIzNmNkNmQ5M2YzOHAtMiwKKyAgICAweDEuNjliZGJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuNjJlMjVlZWM4NTc4MWU2MGNiNDliNGYyMWJlY2FiZGZwLTIsCisgICAgMHgxLjZhMDk0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuNjJlM2NlOWVmODZmNjUyNDM1MWVkZDg3MzEwZTg3NDNwLTIsCisgICAgMHgxLjZhMDljNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLjNjNjA3YWRlZGIxNjhkOWQ4OWM2YjIyNjViNGRkMGE0cC0yLAorICAgIDB4MS43N2VhMzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuMTk0NDMyZmZmY2IwOTJkODkxNjcwYjdmOGY2MjhmYzRwNiwKKyAgICAweDEuNzdmZmZlcC0xMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4xOTNlYTUwMDI1ODI3MDkzMGY4ZTdkN2FmMjQ0ZGNmZnAwLAorICAgIDB4MS43ZmZmZmNwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5kYWMwOGRlMWQyNmIwZjY5ZTFlZDU4YmQzZDlmZDgyYnAzLAorICAgIDB4MS44MmZlOTJwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuYzhkNzBkZTExN2NiMmZlNDU5ZWQ2NGNjNjdlNWFiYzlwMywKKyAgICAweDEuODMwNjA4cDIwCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZjIyNzJhZTMyNWE1NzU0NmY2OTQ5NmNmMjYxYmUwNDZwMSwKKyAgICAweDEuODhwNQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmM5YzVhZGUzNDc2M2MwYjlhMTgwZDg2M2JmYzdmMTA2cDMsCisgICAgMHgxLjhlNzY4NnAyMAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5mOTkxZDEwOGFiZTFmYzljOTFlOTFhZTdmNzA3YmQ0ZnAtMywKKyAgICAweDEuOGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjgyN2Q0ZDAwMmU1ZDEzMjE1Y2U1ZjhkZTg3NTY2OTMzcDEsCisgICAgMHgxLjhmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5mMzA1YmQwNThiM2M5ZTY0MTAxNDc2ZTVkZTkxMWQ4M3AtMywKKyAgICAweDEuOTE0N2UwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmVlN2VlNTA2NTA4NzhhODRlOTdmNGNlYzk2NzM2YmM1cC0zLAorICAgIDB4MS45MjJiMzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5kYzAzOTEwMDViZjBmY2NiOTJjMjYyZWViNmEzMDBlNHAwLAorICAgIDB4MS45YWUyNzhwMgorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS4yNjUwYjYwMDAwMGJlMGM1OTAyYzdhMTU0OTUxNjFjNXAxLAorICAgIDB4MS45YWVlYTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuN2JhOWI3ZmZmZjNkMTg5ZjVhMTcxNDk2OTdjMTJjZTJwMSwKKyAgICAweDEuYTVlOTcwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjIwNjE3MGZmZmM5ZThhOTNjMTk4NmUyMTc4N2JlZDVhcDEsCisgICAgMHgxLmFlNmVmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5kNzNkN2ZmYzFlN2FiYzQyMjVlMzk4Nzg4MjhmODY2NnAzLAorICAgIDB4MS5hZmUyNmNwLTIyCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjI1MTc0NzAwMDAwMDA4ZGRiZTc1NTczOWQ2MjYzNjRmcDMsCisgICAgMHgxLmI5N2M3MHAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEuMWNhNWI1MDAwMzVmYzA3YzM4OWE5ZTVjYmZkNzhlZGJwMSwKKyAgICAweDEuYmIyYzJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLjI0YjBlYmZmZmNjMzJlZTFiOWI3MzllMmE0YzdkMDU5cDMsCisgICAgMHgxLmJmMDk3MHAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuNjY5OTE1MDAwMjMwZDc0ZmEyZGEyZjQwYmJkZjQ0NjlwMywKKyAgICAweDEuYzdmZmZlcC0xNworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS45NTRhZWVkZjRkNWY1ZmI3YzQ3NGEzNTcyM2I0ZTcwN3AtMSwKKyAgICAweDEuY2ZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLjkyZTc2YWZmZmNkNDQ5YjNhYzVkNDEyYjYyMmY3OGE4cC00LAorICAgIDB4MS5kMDA4ZTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuZmZhMjRmMWMxMjMzYTlmOGU4YWU2ODRlZGY4OTMxM2ZwLTUsCisgICAgMHgxLmUxMDA0MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS4xMTc4ODlmZmZmZmJkZjhhNWNkN2MzNGY3MjQ2ZjNjZnAxLAorICAgIDB4MS5lMzliYjRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuODk0YWMyZGNkZGU1NDlkMGQwOTIyYjViNGY1NGUwMjhwLTUsCisgICAgMHgxLmU3ZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS4zODFkMzZmZmU2MGViMWRmYjA2ODY1NzQwNzQyMjNlN3AtNSwKKyAgICAweDEuZWNkYzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuZDE0OTczZWRiMzY1NmM3NzFlMThlY2E4NGJjOTRjNzZwNCwKKyAgICAweDEuZWZmZmZlcDQxCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLmVmZWExOGZmZjExMTVlODE2MzZmNTNiNjU2NjVlMTZlcC02LAorICAgIDB4MS5mMGJjMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuYTViNTg0ZmZkYWQzMTE0N2QxMTQwYjE2OTQ3NDBhZDdwLTYsCisgICAgMHgxLmYyZmQ2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS42MmIzNWFmZmRmMGEyNDI5Mjg0YjAwNmI2ODBiZDFiZXAtNiwKKyAgICAweDEuZjUwOGU0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjBjYjE0MGZmZmY5ZjhmMWUwNmU3ZjlhZjBhNTMxYTVicDEsCisgICAgMHgxLmY2MDBkY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS4wYmZlNzBlYjQ1MWFkMDlhN2NiNzVjMWVlZGZhNjE1MHAxLAorICAgIDB4MS5mOGMwMTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuNzBjOGM1MGRjZTI0NmRkNmJjYjA0NjFlN2RjNDkzN2VwLTcsCisgICAgMHgxLmZhNDUyMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS40MTZhNzFiNzczYTJjM2UzOTgwYjExZWZkMWExOTdiNXAtOCwKKyAgICAweDEuZmQ3ZWJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmMwYzY3NDYyMWM1YjQ3NGE0MzBlMTM1NzBjNTgwMzg4cC05LAorICAgIDB4MS5mZTNmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIC0weDEuMDQ4NjNjZmZmYmJmN2VkYjE2N2NiNjBkZjNmM2Q1OTlwLTksCisgICAgMHgxLmZlZmJiY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS4wYTVkZGYwMDAwNGViZjJhNmZlZWU5OWQ1YmRkZGUzNHAxLAorICAgIDB4MS5mZjM1M2NwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuZDgwMzY2NDg1Yjc0NzI0N2E0NWJiOWE0NzAxNzlkZjFwLTE1LAorICAgIDB4MS5mZmY4YTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuZDFjYjdmZWE4NmM0OWY2MzA3NGIwZDQ0NWZiNjUwMTRwMywKKyAgICAweDEuZmZmZmYwcC0yMgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmQxY2I3ZGVhODZiYzlmNjJkY2EwNjE5OWI1MDUzZjAzcDMsCisgICAgMHgxLmZmZmZmMHAyMAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS4wMDAwMDIwMDAwMDU1NTU1NjU1NTU1ODg4ODg5MzMzM3AtMjIsCisgICAgMHgxLmZmZmZmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS4wMDAwMDEwMDAwMDE1NTU1NTc1NTU1NTg4ODg4OGRkZHAtMjMsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC0weDEuNjJlNDMxMTVhOGZiNDdjM2E3YzJlNzZhODBjY2E5YTVwLTIsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuZGEzOTFhNzBkMjhhMjQ2NDE2MjZmNWU5MTU1MzI0YjVwLTMsCisgICAgMHgxLjk2MmI2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC0weDEuMDZmYmU2YTRlMjUyOTVmODBmYjIyNzRhZmU2ZDNiYWNwLTMsCisgICAgMHgxLmMyNGNkYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuMWUwYTZkMDUzNDI1ZDNkNjUyOGFhNzE3ZWNjOWE1NzhwLTUsCisgICAgMHgxLmVlNmU1NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS45ZTU0OWMzNzc5ZjA5MzQ1MTg5MmExZmU0ZTY3YjUwZXAtNSwKKyAgICAweDEuMGQ0N2U2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDhlMGI5ZjNhNzk0NGJhYjNlY2I1NmQ2YTdmZjAzYjVwLTMsCisgICAgMHgxLjIzNThhMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjllNjQ1ZDYwZmYxOTg5ODY0NzkzNDZkMTY0ZWNhZDdlcC0zLAorICAgIDB4MS4zOTY5NWVwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS4xNGRkNjcwY2FjMDIxMjUwNmJmNzJmYjc2MmQ4YTdkYnAtMiwKKyAgICAweDEuNGY3YTFhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuNTYxODE5YWNhNDlkZTZiMWQxY2NkYTEwOTVjNzQ1MDJwLTIsCisgICAgMHgxLjY1OGFkNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLjkzNmE3YzQ5NmMzZTIxNDA2YWY5ZjRhYzliZWFjNmE1cC0yLAorICAgIDB4MS43YjliOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5jZDQ1YThkN2UzNDAzZjUyNzhkNWUzZDU2NjM0OWY3NXAtMiwKKyAgICAweDEuOTFhYzRlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuMDIwNDQ4MzEyMTFlZDAwNjhlZmE0YzJhOGI5ODcwYmZwLTEsCisgICAgMHgxLmE3YmQwYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjFjMDFkNWY2ZDNhNTBkMzFjNDVjYmZkZGQwMjcyNzY1cC0xLAorICAgIDB4MS5iZGNkYzZwMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS4zNGJkZTQ2ZmQ4NGZjYTQzYmEzZjQ3OTlhY2FiMTBmZnAtMSwKKyAgICAweDEuZDNkZTgycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuNGM1NjE4MTM2YTMyMjFkODQ0NzZiNzgzNTNmYWJjODBwLTEsCisgICAgMHgxLmU5ZWYzZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjYyZTQyOWVmYTM5NWYzNTc4MWM3NjcwNzg3ZTU4YzJicC0xLAorICAgIDB4MS5mZmZmZmFwMAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC0weDEuNjJlNDMxMTVhOGZiNDdjM2E3YzJlNzZhODBjY2E5YTVwLTIsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuMjRjZmQwOTUxNGJhZTllMjE1MDFkMWEyOGMzN2Q1MWVwLTIsCisgICAgMHgxLjgwYWE4NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuZDQ5MDJhN2Y2YTFkMThkYTI0MWRmZmI0MmEwODE4ZWRwLTMsCisgICAgMHgxLjk3NGIyMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuNjVkNTYwN2NjODViYWJhMjZlMmZhZjc4ODY1ZGM5OTFwLTMsCisgICAgMHgxLmFkZWJjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIC0weDEuZjk5MWQ4ZjZlMmYwMTE5NDNkNWE2YTYwY2Q2NDYwMDJwLTQsCisgICAgMHgxLmM0OGM1ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuMzFiOWE5OTU1MDJkNTkyNDE1MDBjZDFjZTk1NWY1YzRwLTQsCisgICAgMHgxLmRiMmNmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIC0weDEuY2NiNzk5NGJkYTgxOGMyNmNjMTVmY2E2NjBmMzY0ZWNwLTYsCisgICAgMHgxLmYxY2Q5YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS4wYjk0OTJiZDk5NTcwZThhMmEyZjVhN2Y1OTY0NGI0MnAtNiwKKyAgICAweDEuMDQzNzFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZTI3MDVlOWNjNTU0ZDhiNTY1NDMzYzhmYWQyZGIxNjRwLTUsCisgICAgMHgxLjBmODc2Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLjk4NmQzMjE2ODhiMDc0YTIxZWIyNmI0MTY3OWVlMzA5cC00LAorICAgIDB4MS4xYWQ3YmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4xYzg5OTE5ZmIyMDhlYmRhMjc1ZDZmZWU3NTU3N2E0M3AtMywKKyAgICAweDEuMjYyODBjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuNjlkNDYzZGI1ZDBkOGNiYzVkYThiZDJjMWY1ZDI5NTNwLTMsCisgICAgMHgxLjMxNzg1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLmI0NGY4NzM4MTYxMWFiMjgwNmQ2ZjAwZDIxM2RlMmNmcC0zLAorICAgIDB4MS4zY2M4YWNwMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5mYzJkODBlNTMxMWIzZjdlMDVmMjZiOTYzMDQ0ZWEwOHAtMywKKyAgICAweDEuNDgxOGZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuMjBjZGQ5MjYyYzU5YTc3MjY2ODlmNGZlNWZmYTU4ZmVwLTIsCisgICAgMHgxLjUzNjk0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjQyNjE4MmRiMjBlMjNkMGI0NzNhZTFjMmQxOTc1YzNmcC0yLAorICAgIDB4MS41ZWI5OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS42MmU0MmVjOTllNDI5ZWViN2ZjYmU2ZjU4ZWZmMzExN3AtMiwKKyAgICAweDEuNmEwOWU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLjI2OTYyMTEzNGRiOTI3ODNiZWI3Njc2YzBhYTljMmEzcC0yLAorICAgIDB4MS44MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuODlmYTQ4NGQzNTViNWUxODZmNTY2MmIzZGEzZTc0NWJwLTMsCisgICAgMHgxLmE2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuYWY4ZTg5MmQxNWRlODdlMmU5ZTU5ZGZmNWMwNjMzYmVwLTQsCisgICAgMHgxLmNjY2NjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuOWVjZWJjYjU5N2VhMWJiNDNkODk2ZjU4NDc1OTc0NGFwLTYsCisgICAgMHgxLmYzMzMzMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS44ZmIwNGI4ZGE2NWNlYjg1YTJlZGI3ZDBmZjBhZDJkM3AtNSwKKyAgICAweDEuMGNjY2NjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuZTI3MDc2ZTJhZjJlNWU5ZWE4N2ZmZTFmZTllMTU1ZGJwLTQsCisgICAgMHgxLjIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuNzU2NTA2NzM5ZWJhZjFjZDU4ODU1ZDIzMWU3NzdhNTlwLTMsCisgICAgMHgxLjMzMzMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmYxOGRjZTI4OThmNWJhOTE5ZDgyNWQ5Njk2YzZjNzc0cC0zLAorICAgIDB4MS40NjY2NjhwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS4zMzRlYTU2NDQyNDAxM2I3NzM5YWZiYzk0Nzg3NDFiNXAtMiwKKyAgICAweDEuNTk5OTljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuNmFhYzBkMGZlMzg3MWFiNjBkNzBkNDFlOTU0YzJiZDNwLTIsCisgICAgMHgxLjZjY2NkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjlmMzIzZWNiZjk4NGJmMmI2OGQ3NjZmNDA1MjIxODE5cC0yLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS44NjYzZmQ2NTM4Yzg3MjM0OWVjMWE4NWUwNWVjNWZiNXAtNCwKKyAgICAweDEuMTk5OTlhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuNzU2NTA2NzM5ZWJhZjFjZDU4ODU1ZDIzMWU3NzdhNTlwLTMsCisgICAgMHgxLjMzMzMzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjBjYTkzYjZmNTZhZmJhY2QwNzk3M2IwYTNjNjdmYzQ3cC0yLAorICAgIDB4MS40Y2NjY2VwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS41ODhjMzIyMzdjNmFlZmU5NmUxZGIyN2M0NjcxMGQzOXAtMiwKKyAgICAweDEuNjY2NjY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuOWYzMjQ0MjE0ZWQ2ODY0N2RkYzc5OTgyM2UwNWE5YjFwLTIsCisgICAgMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmUxNDhhN2EyNzI2ODU5NGRmZDRkZDZjMzAxZmVjZTc5cC0yLAorICAgIDB4MS45OTk5OWNwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDB4MS4wZmFlODRkYzk1ZTFhN2Q5ODk3NDcyZDU1YTc1NjNlOHAtMSwKKyAgICAweDEuYjMzMzM2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuMmNmMjYzM2JjN2ZjOWQ5ZDk5MjkzMTlhYTkxODgyMmNwLTEsCisgICAgMHgxLmNjY2NkMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLjQ4YTExNjVkZjI3NGFiNzk2M2Y4NTUwZGNiZmI2YWVicC0xLAorICAgIDB4MS5lNjY2NmFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuMTU0MjQ1NzMzN2Q0MmUxYzZiNzNjODlkODYyYmExNzFwNiwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS4xNWEzZGU3MjkxMjI2MDM4Zjg5Yjc5MDc5ZGFkMWM4OXA2LAorICAgIDB4MS4xOTk5OWFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLjE1ZmNmN2Y2NzFhMzhiOTU1MjIwMGI0YzE3YmFkZDJmcDYsCisgICAgMHgxLjMzMzMzNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuMTY0ZWVlYWVhNzJhZGRkNzM4N2I1ZmQ4OTA2ODA5NmVwNiwKKyAgICAweDEuNGNjY2NlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS4xNjlhZDFhNTViNTA5OTBjNTRlMWU2NTAwMjcyMTI3ZnA2LAorICAgIDB4MS42NjY2NjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjE2ZTE3N2I3NTkyMzA0YTJiMzUxOTAzNzA4NjlhNzFicDYsCisgICAgMHgxLjgwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuMTcyMzhlMWFkYTQ2OTY3NWI5NzExNjc0NDkyZGEwNDBwNiwKKyAgICAweDEuOTk5OTljcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS4xNzYxYTI3Y2YwZmZmMTZjMWU4NmIxODMzMGUwOGMzOXA2LAorICAgIDB4MS5iMzMzMzZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjE3OWMyYTM5YWY2NDI3NTdhNmE2MWIwMGJiN2RkMjc2cDYsCisgICAgMHgxLmNjY2NkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuMTdkMzg3OWZmM2I5MTc3MzVlM2JiOTQ3YTFjMzk4NDdwNiwKKyAgICAweDEuZTY2NjZhcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS4xODA4MGRkMzE3MWI2YzAzMWE5YjU3NmJlNjNiNmQ0Y3A2LAorICAgIDB4MS5wMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS4wMDAwMDgwMDAwNTU1NTU5NTU1NTg4ODg4YjMzMzM1N3AtMjAsCisgICAgMHgxLmZmZmZlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuMDAwMDA0MDAwMDE1NTU1NWQ1NTU1ODg4ODg5ZGRkZGVwLTIxLAorICAgIDB4MS5mZmZmZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMHgxLmZmZmZmODAwMDAyYWFhYTlhYWFhYjExMTEwZTY2NjY3cC0yMiwKKyAgICAweDEuMDAwMDA4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZmZmZmYwMDAwMGFhYWFhMmFhYWIxMTExMGJiYmJjMDRwLTIxLAorICAgIDB4MS4wMDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS42MmU0MmZlYmEzOWVmMTU3OTNjNjExZGFiMTkwOTgwOHA2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS45ZDFkOWZjY2Y0NzcwNzQzZjIwNjFlMWRlOTMxYTY1MHA2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuNjJlNDM2YmRkMDlhODc2MTk0OTQwYjk2Y2IyOGZkN2ZwLTIsCisgICAgMHgxLjZhMDllNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuNjJlNDMxMTVhOGZiNDdjM2E3YzJlNzZhODBjY2E5YTVwLTIsCisgICAgMHgxLjZhMDllNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuNjJlNDJiNmQ4MTY0MDgyNWJmODlkOGI4ZDlkMGZmNThwLTIsCisgICAgMHgxLjZhMDllOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS42MmU0MjkyMTc2YTM1ZjRkOTJmYWMyYzk0NGEyZGQzZHAtMiwKKyAgICAweDEuNmEwOWU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuNjJlNDJlYzk5ZTQyOWVlYjdmY2JlNmY1OGVmZjMxMTdwLTIsCisgICAgMHgxLjZhMDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgMHgxLjYyZTQzNDcxYzVkOWRlODk2ODA0ZjVhNzM1ZmFkYjY1cC0yLAorICAgIDB4MS42YTA5ZThwMAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuNjJlNDMxZWZhMzlmZjM1Nzk0NzIxMWRiMzI5MDk4NmZwLTEsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuNjJlNDJiZWZhM2EyZjM1NzhlNzIxMWUyYjI5MDhiM2NwLTEsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuMjY5NjI2NjhhMzEyMGIxMWZhYzQwYmM3YjIyYjVhOGRwLTIsCisgICAgMHgxLjdmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuMjY5NjIxMTM0ZGI5Mjc4M2JlYjc2NzZjMGFhOWMyYTNwLTIsCisgICAgMHgxLjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS4yNjk2MWJiZGY4Njc2MDY3NDljNzM0ZGRkMWM2MzEwYnAtMiwKKyAgICAweDEuODAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjlmMzIzOTc2YTQyYmRiOWQyY2NhYzI5ODVkYTA4MDJmcC0yLAorICAgIDB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS45ZjMyM2VjYmY5ODRiZjJiNjhkNzY2ZjQwNTIyMTgxOXAtMiwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS45ZjMyNDQyMTRlZDY4NjQ3ZGRjNzk5ODIzZTA1YTliMXAtMiwKKyAgICAweDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuNTRkZTZlZTc4OTg5YTlhY2ZjODc1YzFkNDVlMTY0OTBwLTksCisgICAgMHgxLjAwYWFhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLjU0ZTI2YzNlYWI2ZWEyNDExNWE0ZWNiYzZjMjFjM2RlcC05LAorICAgIDB4MS4wMGFhYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS41NGU2Njk5NWM1NWUzYWQ0MGNiMmIwMWQ3N2I4YjYzZnAtOSwKKyAgICAweDEuMDBhYWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuNjJlNDJlZWZhMzllNzM1NzkzNzIxMWRhNzI5MDk3ZDVwMCwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMCwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuNjJlNDMxZWZhMzljZjM1Nzk2NzIxMWQ2YjI5MDllNmZwMCwKKyAgICAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuNjJlNDJkZWZhMzlkZjM1NzkzMWNiYzg0ZGQzYjQyNGRwLTEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS42MmU0MzNlZmEzOWFmMzU3OTkxY2JjN2Q1ZDNiNGY4MHAtMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMC4wLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmZmZmUwMDAwMDJhYWFhYTZhYWFhYjExMTExMDY2NnAtMjQsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS42MmU0MzFlZmEzOWZmMzU3OTQ3MjExZGIzMjkwOTg2ZnAtMSwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS42MmU0MmJlZmEzYTJmMzU3OGU3MjExZTJiMjkwOGIzY3AtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS42MmU0MzBlZmEzOWY3MzU3OTQxY2JjODU5ZDNiNDJlN3AwLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDAsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEuNjJlNDJkZWZhM2EwZjM1NzkxMWNiYzg5NWQzYjNjNGRwMCwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS4wYTJiMjQ3M2JhYjc3NjgxYWYwMDM4MGVkMDk3MWNjYnAxLAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDEsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuMGEyYjIyZjNiYWI4MzY4MWFkODAzODEwYjA5NzE5N2VwMSwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS42MmU0MzA2ZmEzOWYzMzU3OTNmMjExZGFkMjkwOTgyMnAxLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDEsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIC0weDEuNjJlNDJlZWZhMzlmZjM1NzkyNzIxMWRjYjI5MDk0ZDVwMSwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTB4MS5iYjlkM2M2YjhjODZmMDJkNzhlM2ViYTZkNDhhMTM3YXAxLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLmJiOWQzYmViOGM4NmIwMmQ3OGI5NDBmYzA5ZGY2OGI2cDEsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuYmI5ZDNhZWI4Yzg3YjAyZDc3NjNlYmE4YjQ4YTEwMmRwMSwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTB4MS4wYTJiMjQzM2JhYjc1NjgxYWVlYWUyYjk2YjQxYzc2OXAyLAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDIsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuMGEyYjIzNzNiYWI3YjY4MWFlMmFlMmJhNWI0MWM1YzJwMiwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS4zNjg3YWEzMWFmMmIzNGVjYTE2M2NmOWY2YzNlODUxNHAyLAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjM2ODdhOWYxYWYyYjE0ZWNhMTRlN2E0YTA2ZTkyZmIycDIsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuMzY4N2E5NzFhZjJiOTRlY2EwYTNjZmEwNWMzZTgzNmVwMiwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS42MmU0MzAyZmEzOWYxMzU3OTNkY2JjODU2ZDNiNDJjMHAyLAorICAgIDB4MS5mZmZmZmVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDIsCisgICAgMHgxLnAtOAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuNjJlNDJmNmZhMzlmNzM1NzkzMWNiYzg2NWQzYjQxMWFwMiwKKyAgICAweDEuMDAwMDAycC04CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS44ZjQwYjYyZDk4MTJmMWMyODY1NWE5NmI2ZTM4MDA2Y3AyLAorICAgIDB4MS5mZmZmZmVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS44ZjQwYjVlZDk4MTJkMWMyODY0MDU0MTYwOGUyYWIwYXAyLAorICAgIDB4MS5wLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLjhmNDBiNTZkOTgxMzUxYzI4NTk1YTk2YzVlMzdmZWM2cDIsCisgICAgMHgxLjAwMDAwMnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuYmI5ZDNjMmI4Yzg2ZDAyZDc4Y2U5NjUxNmYzNGJlMThwMiwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMiwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIC0weDEuYmI5ZDNiNmI4Yzg3MzAyZDc4MGU5NjUyNWYzNGJjNzFwMiwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuMjA1OTY3MTJiNGYxMzViNzI4MWNhZTgxYjkxNTdiOGRwMywKKyAgICAweDEuZmZmZmZlcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuMjA1OTY2ZjJiNGYxMjViNzI4MTIwM2Q3MDY2YWQwZGNwMywKKyAgICAweDEucC0xMworICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuMjA1OTY2YjJiNGYxNjViNzI3YmNhZTgyMzExNTdhYmFwMywKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIC0weDEuMjA1OTY3MTJiNGYxMzViNzI4MWNhZTgxYjkxNTdiOGRwMywKKyAgICAweDEuZmZmZmZlcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuMjA1OTY2ZjJiNGYxMjViNzI4MTIwM2Q3MDY2YWQwZGNwMywKKyAgICAweDEucC0xMworICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuMjA1OTY2YjJiNGYxNjViNzI3YmNhZTgyMzExNTdhYmFwMywKKyAgICAweDEuMDAwMDAycC0xMworICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIC0weDEuMGEyYjI0NzNiYWI3NzY4MWFmMDAzODBlZDA5NzFjY2JwMSwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS4wYTJiMjNmM2JhYjczNjgxYWVkNThkNjQwNWVjNzIwNnAxLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAtMHgxLjBhMmIyMmYzYmFiODM2ODFhZDgwMzgxMGIwOTcxOTdlcDEsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuMTE3OGYxNDcxMDk2MWJlZGFmOWY3OTlhNTNhZmMzM2RwLTMsCisgICAgMHgxLmJmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuMTE3OGU4MjI3ZTQ3YmRlMzM4YjQxZmM3MmRlODFlM2JwLTMsCisgICAgMHgxLmMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS4xMTc4ZGVmZGVjMDNkMmM5MTU2MDQ4OTc5NzFiNzY1OHAtMywKKyAgICAweDEuYzAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS42MmU0MzA2ZmEzOWYzMzU3OTNmMjExZGFkMjkwOTgyMnAxLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDEsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0weDEuNjJlNDJlZWZhMzlmZjM1NzkyNzIxMWRjYjI5MDk0ZDVwMSwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS4wODU5OWM2YWY0YmE5M2M2OTNiMTMxMjJmNjgyNGE4YnAtNCwKKyAgICAweDEuZGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS4wODU5OGI1OWUzYTA2ODhhM2ZkOWJmNTAzMzcyYzEyZnAtNCwKKyAgICAweDEuZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLjA4NTk3YTQ4ZDI5ODcxYTQ2NDlkMGE2NmNjYmQ1ZWRicC00LAorICAgIDB4MS5lMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLmJiOWQzYzZiOGM4NmYwMmQ3OGUzZWJhNmQ0OGExMzdhcDEsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMSwKKyAgICAweDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgLTB4MS5iYjlkM2FlYjhjODdiMDJkNzc2M2ViYThiNDhhMTAyZHAxLAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAtMHgxLjA0MTVmOWE2YjY2NWQ3YTdiOTk1OGQ3ZDI4ZjYyYTc0cC01LAorICAgIDB4MS5lZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLjA0MTVkODllNzQ0NDQ3MDE3M2M3NWQ0ZDg4ODlkZTBlcC01LAorICAgIDB4MS5mMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC0weDEuMDQxNWI3OTYzMjQ0Y2Y2NTkxOWE1NzhiMmRhYTI5ZDVwLTUsCisgICAgMHgxLmYwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuMGEyYjI0MzNiYWI3NTY4MWFlZWFlMmI5NmI0MWM3NjlwMiwKKyAgICAweDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgLTB4MS4wYTJiMjNmM2JhYjczNjgxYWVkNThkNjQwNWVjNzIwNnAyLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAtMHgxLjBhMmIyMzczYmFiN2I2ODFhZTJhZTJiYTViNDFjNWMycDIsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC0weDEuMDIwNWE2OGQ0NWU2N2VkMDFlMTBlMzIyYmQ0M2ExNzBwLTYsCisgICAgMHgxLmY3ZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuMDIwNTY1ODkzNTg0NzQ5ZjIzYTEwNWI5YzdiYjlhNmZwLTYsCisgICAgMHgxLmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgLTB4MS4wMjA1MjQ4NTI1NjQ3NmFmNmY0ZGFhYmQxMzliNWU1N3AtNiwKKyAgICAweDEuZjgwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgLTB4MS4zNjg3YWEzMWFmMmIzNGVjYTE2M2NmOWY2YzNlODUxNHAyLAorICAgIDB4MS5mZmZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLjM2ODdhOWYxYWYyYjE0ZWNhMTRlN2E0YTA2ZTkyZmIycDIsCisgICAgMHgxLnAtNworICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIC0weDEuMzY4N2E5NzFhZjJiOTRlY2EwYTNjZmEwNWMzZTgzNmVwMiwKKyAgICAweDEuMDAwMDAycC03CisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgLTB4MS4wMTAxZDg1YTkyMzAyNWI1NGNiYWFlNDk5ZDVlNDBiZnAtNywKKyAgICAweDEuZmJmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgLTB4MS4wMTAxNTc1ODhkZTcxMjhjY2M1YTgyZjlkYTAwZjQ4YnAtNywKKyAgICAweDEuZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAtMHgxLjAxMDBkNjU2OGEyMDA1NzQ3NDViMzlmMGFhZTI2Njg1cC03LAorICAgIDB4MS5mYzAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAtMHgxLjYyZTQzMDJmYTM5ZjEzNTc5M2RjYmM4NTZkM2I0MmMwcDIsCisgICAgMHgxLmZmZmZmZXAtOQorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMiwKKyAgICAweDEucC04CisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS42MmU0MmY2ZmEzOWY3MzU3OTMxY2JjODY1ZDNiNDExYXAyLAorICAgIDB4MS4wMDAwMDJwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAtMHgxLjAwODE1Njk2OGEzNTVhNjhmMmJlOWIwMzU3NzJjOWMzcC04LAorICAgIDB4MS5mZGZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLjAwODA1NTk1ODhiMzU3ZTU5OGUzM2Q4ZDlkYjM3YTI5cC04LAorICAgIDB4MS5mZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIC0weDEuMDA3ZjU0OTQ4ODMzNTg2NjQ0MGRlN2ExZjIwODQ3MzZwLTgsCisgICAgMHgxLmZlMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuOGY0MGI2MmQ5ODEyZjFjMjg2NTVhOTZiNmUzODAwNmNwMiwKKyAgICAweDEuZmZmZmZlcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIC0weDEuOGY0MGI1ZWQ5ODEyZDFjMjg2NDA1NDE2MDhlMmFiMGFwMiwKKyAgICAweDEucC05CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS44ZjQwYjU2ZDk4MTM1MWMyODU5NWE5NmM1ZTM3ZmVjNnAyLAorICAgIDB4MS4wMDAwMDJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLjAwNDIxNjVkZDljYWZmNDE5YjFlY2NkZjcyMGEzNmQycC05LAorICAgIDB4MS5mZWZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLjAwNDAxNTVkNTg4OWRlNzA2NzFlZWVjMGJmY2VmZTUzcC05LAorICAgIDB4MS5mZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIC0weDEuMDAzZTE0NWNkOTRhYmYyMDMzYmY3MWRjMzAyODUyMGNwLTksCisgICAgMHgxLmZmMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuYmI5ZDNjMmI4Yzg2ZDAyZDc4Y2U5NjUxNmYzNGJlMThwMiwKKyAgICAweDEuZmZmZmZlcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMiwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEuYmI5ZDNiNmI4Yzg3MzAyZDc4MGU5NjUyNWYzNGJjNzFwMiwKKyAgICAweDEuMDAwMDAycC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuMDAyNDA2NTY5Nzk5OTc5N2YzNzdjYjg1Mjc1MDI0MGJwLTEwLAorICAgIDB4MS5mZjdmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjAwMjAwNTU2NTU4ODkzMzU3Y2Q3ZTFmNDg2YmQwNzA1cC0xMCwKKyAgICAweDEuZmY4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEuMDAxYzA0NTYxNzc5OGY5MzQ2NGMwMDY3YTdlYWFlNGZwLTEwLAorICAgIDB4MS5mZjgwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLjIwNTk2NzEyYjRmMTM1YjcyODFjYWU4MWI5MTU3YjhkcDMsCisgICAgMHgxLmZmZmZmZXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLjIwNTk2NmYyYjRmMTI1YjcyODEyMDNkNzA2NmFkMGRjcDMsCisgICAgMHgxLnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAtMHgxLjIwNTk2NmIyYjRmMTY1YjcyN2JjYWU4MjMxMTU3YWJhcDMsCisgICAgMHgxLjAwMDAwMnAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAtMHgxLjAwMjQwMTE1NmRkNjk4YTE0YTE5Mzg1N2I2YjJlMmJkcC0xMywKKyAgICAweDEuZmZlZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTB4MS4wMDA0MDAxNTU1ZDU1ODg4OWRkZTcwMmIwMjhjOTk5NnAtMTMsCisgICAgMHgxLmZmZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAtMHgxLmZmYzdmZTJhYmJhYzMxMGZlNTQ3ODQwMTVkMjNhNjFkcC0xNCwKKyAgICAweDEuZmZmMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS42MmU0MmZlYmEzOWVmMTU3OTNjNjExZGFiMTkwOTgwOHA2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjYyZTQyZmU3YTM5ZWViNTc5M2JjYmM4NTRkM2I0MjlhcDYsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEuMjUwZDA1MDVmZWNlODNmNWYzMzI4Y2MzMjJmNjUxNTNwMCwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuY2U2YmI0MzhiM2ZjMjkyOGE1M2I2NGFjN2MwZDZhOTFwLTIsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLmZmZmZmZTAwMDAwMmFhYWFhNmFhYWFiMTExMTEwNjY2cC0yNCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAwLjAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuZWViOTU3NGQyNjgzN2IwZDA0YTZkMzY3Mjc3Y2UwNTZwLTMsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0weDEuNWQ1ODlmMjdlNTEwN2Y4YTM1NmQ5ZWU4YWQxYmFhZTRwNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMHgxLjVkNTg5ZjJmZTUxMDc3OGEzNTc4NDk5MzQ3YzY1NWE5cDYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgLTB4MS41ZDU4OWYzN2U1MTA3ZjhhMzU4MmY0M2UwMjcxMDA2ZHA2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuNWQ1ODlmM2ZlNTEwOTc4YTM1Y2Q5ZWU5OWQxYmFlMzFwNiwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAtMHgxLjlhNTdkNzZkMTUyZmM5NWQ0MmRlOGY0Zjg5MjFkYTc1cDYsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS45ZDFkOWZjY2Y0NzcwNzQzZjIwNjFlMWRlOTMxYTY1MHA2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvbW9kZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbW9kZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFmN2UxYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9tb2RmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDE4NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8yXzFfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlPiBnX21vZGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTIsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS5wLTEsCisgICAgMC4wLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMSwKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLnAtNTIsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0yLAorICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS44MDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMC4wLAorICAgIDB4MS5wMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucC01MSwKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZmZmZmZmZmZmZjgwcC0yLAorICAgIDB4MS5wMSwKKyAgICAweDEuM2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEucC0xLAorICAgIDB4MS5wMSwKKyAgICAweDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuMDAwMDAwMDAwMDAwNDBwLTEsCisgICAgMHgxLnAxLAorICAgIDB4MS40MDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5mZmZmZmZmZmZmZjhwLTEsCisgICAgMHgxLjhjcDYsCisgICAgMHgxLjhmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMC4wLAorICAgIDB4MS45MHA2LAorICAgIDB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS5wLTQ2LAorICAgIDB4MS45MHA2LAorICAgIDB4MS45MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5mZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkxZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLnAtMSwKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS4wMDAwMDAwMDAwMDhwLTEsCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkyMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmZmZmZmZmZmZmZjMHAtMSwKKyAgICAweDEuZjM4MHA5LAorICAgIDB4MS5mM2ZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDAuMCwKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wLTQzLAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mZmZmZmZmZmZmODBwLTIsCisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0M2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLnAtMSwKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS4wMDAwMDAwMDAwNDBwLTEsCisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0NDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmMwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmY4MHA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMC4wLAorICAgIDB4MS5wNTAsCisgICAgMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wLTIsCisgICAgMHgxLnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjgwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMC4wLAorICAgIDB4MS5wNTEsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wLTEsCisgICAgMHgxLnA1MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDAuMCwKKyAgICAweDEucDUyLAorICAgIDB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAwLjAsCisgICAgMHgxLnA1MywKKyAgICAweDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMC4wLAorICAgIDB4MS5wNTQsCisgICAgMHgxLjBwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xLAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLnAtMSwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMiwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5wLTUyLAorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0wLjAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHAtMSwKKyAgICAtMHgxLnAwLAorICAgIC0weDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0yLAorICAgIC0weDEucDAsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEucC01MSwKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMC4wLAorICAgIC0weDEucDEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS4wMDAwMDAwMDAwMDA0MHAtMSwKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjgwcC0yLAorICAgIC0weDEucDEsCisgICAgLTB4MS4zZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEucC00NiwKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0wLjAsCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmOHAtMSwKKyAgICAtMHgxLjhjcDYsCisgICAgLTB4MS44ZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuMDAwMDAwMDAwMDA4cC0xLAorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkyMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5wLTEsCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuZmZmZmZmZmZmZmYwcC0yLAorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkxZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5wLTQzLAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTAuMCwKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDBwOQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5mZmZmZmZmZmZmYzBwLTEsCisgICAgLTB4MS5mMzgwcDksCisgICAgLTB4MS5mM2ZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuMDAwMDAwMDAwMDQwcC0xLAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0NDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5wLTEsCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuZmZmZmZmZmZmZjgwcC0yLAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0M2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5wLTIsCisgICAgLTB4MS5wNTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMC4wLAorICAgIC0weDEucDUwLAorICAgIC0weDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5jMHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjgwcDQ5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5wLTEsCisgICAgLTB4MS5wNTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMC4wLAorICAgIC0weDEucDUxLAorICAgIC0weDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS44MHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDUwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTAuMCwKKyAgICAtMHgxLnA1MiwKKyAgICAtMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEucC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMC4wLAorICAgIC0weDEucDUzLAorICAgIC0weDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MgorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1NAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTAuMCwKKyAgICAtMHgxLnA1NCwKKyAgICAtMHgxLjBwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmZmZmZjcC0xLAorICAgIDB4MS5mZmZmZmZmOHAyOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyOQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMC4wLAorICAgIDB4MS5wMzAsCisgICAgMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5wLTIyLAorICAgIDB4MS5wMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZThwLTEsCisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmN2ZmZmZkcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmNHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZmZmZmOHAtMSwKKyAgICAweDEuZmZmZmZmZjRwMzAsCisgICAgMHgxLmZmZmZmZmY3ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLnAtMjIsCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEucC0yMSwKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS44MHAtMjEsCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAzcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmQwcC0yLAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjlmZmZmZHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZTBwLTIsCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmOWZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLmZmZmZmMHAtMiwKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY5ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmEwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLjAwMDAwOHAtMSwKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmZhMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuMDAwMDEwcC0xLAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS4wMDAwMThwLTEsCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmYTAwMDAzcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmZlOHAtMSwKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmRwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmZmZjhwLTEsCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmYmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLnAtMjIsCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLnAtMjEsCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjgwcC0yMSwKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMDAwMDNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuZmZmZmQwcC0yLAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmRmZmZmZHAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5mZmZmZTBwLTIsCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLmZmZmZmMHAtMiwKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZkZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEucC0xLAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLjAwMDAwOHAtMSwKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMDAwMDEwcC0xLAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmUwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS4wMDAwMThwLTEsCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZTAwMDAzcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZmZmZlOHAtMSwKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmRwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuZmZmZmYwcC0xLAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5mZmZmZjhwLTEsCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEucC0yMSwKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLnAtMjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS44MHAtMjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5mZmZmYTBwLTIsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDBmZmZmZHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mZmZmYzBwLTIsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDBmZmZmZXAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5mZmZmZTBwLTIsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDEwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjAwMDAxMHAtMSwKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjAwMDAyMHAtMSwKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLjAwMDAzMHAtMSwKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAzcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZlMHAzMCwKKyAgICAweDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZTRwMzAsCisgICAgMHgxLmZmZmZmZmU0MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZThwMzAsCisgICAgMHgxLmZmZmZmZmU4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZWNwMzAsCisgICAgMHgxLmZmZmZmZmVjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZjBwMzAsCisgICAgMHgxLmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAwLjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMDAyMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEucC0yMiwKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMC4wLAorICAgIC0weDEucDMwLAorICAgIC0weDEuMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZmZmZmZjcC0xLAorICAgIC0weDEuZmZmZmZmZjhwMjksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS44MHAtMjEsCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MDAwMDNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLnAtMjEsCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLnAtMjIsCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmODBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLmZmZmZmOHAtMSwKKyAgICAtMHgxLmZmZmZmZmY0cDMwLAorICAgIC0weDEuZmZmZmZmZjdmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZjRwMzAsCisgICAgLTB4MS5mZmZmZmZmN2ZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZThwLTEsCisgICAgLTB4MS5mZmZmZmZmNHAzMCwKKyAgICAtMHgxLmZmZmZmZmY3ZmZmZmRwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLjAwMDAxOHAtMSwKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmEwMDAwM3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMDAwMDEwcC0xLAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmYTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS4wMDAwMDhwLTEsCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmZhMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmEwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5mZmZmZjBwLTIsCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY5ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLmZmZmZlMHAtMiwKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuZmZmZmQwcC0yLAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmOWZmZmZkcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS44MHAtMjEsCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLnAtMjEsCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLnAtMjIsCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmZmZmZmOHAtMSwKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuZmZmZmYwcC0xLAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmYmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5mZmZmZThwLTEsCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmZiZmZmZmRwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLjAwMDAxOHAtMSwKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmUwMDAwM3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuMDAwMDEwcC0xLAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS4wMDAwMDhwLTEsCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5mZmZmZjBwLTIsCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZkZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmZmZlMHAtMiwKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmRmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuZmZmZmQwcC0yLAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZGZmZmZkcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS44MHAtMjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS5wLTIwLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEucC0yMSwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuZmZmZmY4cC0xLAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS5mZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLmZmZmZlOHAtMSwKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuMDAwMDMwcC0xLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDEwMDAwM3AzMQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuMDAwMDIwcC0xLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDEwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIC0weDEuMDAwMDEwcC0xLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDEwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEucC0xLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDEwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS5mZmZmZTBwLTIsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMGZmZmZmcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5mZmZmYzBwLTIsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMGZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgLTB4MS5mZmZmYTBwLTIsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMGZmZmZkcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZDBwNjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmRwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MQorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDAuMCwKKyAgICAweDEucDYyLAorICAgIDB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDMwcDYyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZkMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMC4wLAorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDYzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMzBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmQwcDYzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZkcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAwLjAsCisgICAgMHgxLnA2NCwKKyAgICAweDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzMHA2NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3A2NAorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzMHA2MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDYyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0wLjAsCisgICAgLTB4MS5wNjIsCisgICAgLTB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZDBwNjEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDMwcDYzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwM3A2MworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTAuMCwKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMHA2MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMzBwNjQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2NCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMC4wLAorICAgIC0weDEucDY0LAorICAgIC0weDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwcDYzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZHA2MworICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDAuMCwKKyAgICAweDEucDYyLAorICAgIDB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMC4wLAorICAgIDB4MS40MHA2MiwKKyAgICAweDEuNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDAuMCwKKyAgICAweDEuODBwNjIsCisgICAgMHgxLjhwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAwLjAsCisgICAgMHgxLmMwcDYyLAorICAgIDB4MS5jcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMC4wLAorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAwLjAsCisgICAgMHgxLnA2MywKKyAgICAweDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDAuMCwKKyAgICAweDEuNDBwNjMsCisgICAgMHgxLjRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAwLjAsCisgICAgMHgxLjgwcDYzLAorICAgIDB4MS44cDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMC4wLAorICAgIDB4MS5jMHA2MywKKyAgICAweDEuY3A2MworICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDAuMCwKKyAgICAweDEucDY0LAorICAgIDB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTAuMCwKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAtMC4wLAorICAgIC0weDEuNDBwNjIsCisgICAgLTB4MS40cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTAuMCwKKyAgICAtMHgxLjgwcDYyLAorICAgIC0weDEuOHA2MgorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0wLjAsCisgICAgLTB4MS5jMHA2MiwKKyAgICAtMHgxLmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAtMC4wLAorICAgIC0weDEucDYzLAorICAgIC0weDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0wLjAsCisgICAgLTB4MS5wNjMsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTAuMCwKKyAgICAtMHgxLjQwcDYzLAorICAgIC0weDEuNHA2MworICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0wLjAsCisgICAgLTB4MS44MHA2MywKKyAgICAtMHgxLjhwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMC4wLAorICAgIC0weDEuYzBwNjMsCisgICAgLTB4MS5jcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTAuMCwKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuZmZmZmY4cC0xLAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5wLTIyLAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEucC0yMSwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIC0weDEuZmZmZmY4cC0xLAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xLAorICAgIDB4MS44MHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAwLjAsCisgICAgMHgxLnAyLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEucC01MCwKKyAgICAweDEucDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5mZmZmZmZmZmZmZmY4MHAtMSwKKyAgICAweDEuYzBwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMC4wLAorICAgIDB4MS5wMywKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLnAtNDksCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5lMHAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAwLjAsCisgICAgMHgxLnA0LAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEucC00OCwKKyAgICAweDEucDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS5mZmZmZmZmZmZmZmVwLTEsCisgICAgMHgxLmYwcDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDAuMCwKKyAgICAweDEucDUsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5wLTQ3LAorICAgIDB4MS5wNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLmZmZmZmZmZmZmZmY3AtMSwKKyAgICAweDEuZjhwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMC4wLAorICAgIDB4MS5wNiwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLnAtNDYsCisgICAgMHgxLnA2LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuZmZmZmZmZmZmZmY4cC0xLAorICAgIDB4MS5mY3A2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAwLjAsCisgICAgMHgxLnA3LAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEucC00NSwKKyAgICAweDEucDcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS5mZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLmZlcDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDAuMCwKKyAgICAweDEucDgsCisgICAgMHgxLjBwOAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5wLTQ0LAorICAgIDB4MS5wOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmZmZmZmZmZmZmZlMHAtMSwKKyAgICAweDEuZmZwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMC4wLAorICAgIDB4MS5wOSwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLnAtNDMsCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuZmZmZmZmZmZmZmMwcC0xLAorICAgIDB4MS5mZjgwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDAuMCwKKyAgICAweDEucDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLnAtNDIsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5mZmZmZmZmZmZmODBwLTEsCisgICAgMHgxLmZmYzBwMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAwLjAsCisgICAgMHgxLnAxMSwKKyAgICAweDEuMHAxMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5wLTQxLAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZlMHAxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDAuMCwKKyAgICAweDEucDEyLAorICAgIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLnAtNDAsCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMgorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLnAyLAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEucC0xLAorICAgIDB4MS5wMiwKKyAgICAweDEuMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMHgxLjAwMDAwMDAwMDAwMDgwcC0xLAorICAgIDB4MS5wMiwKKyAgICAweDEuMjAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLmZmZmZmZmZmZmZmZXAtMiwKKyAgICAweDEucDMsCisgICAgMHgxLjBmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAzLAorICAgIDB4MS4xcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuMDAwMDAwMDAwMDAxcC0xLAorICAgIDB4MS5wMywKKyAgICAweDEuMTAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLmZmZmZmZmZmZmZmY3AtMiwKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS5wLTEsCisgICAgMHgxLnA0LAorICAgIDB4MS4wODBwNAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS4wMDAwMDAwMDAwMDJwLTEsCisgICAgMHgxLnA0LAorICAgIDB4MS4wODAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuZmZmZmZmZmZmZmY4cC0yLAorICAgIDB4MS5wNSwKKyAgICAweDEuMDNmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLnAtMSwKKyAgICAweDEucDUsCisgICAgMHgxLjA0MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjAwMDAwMDAwMDAwNHAtMSwKKyAgICAweDEucDUsCisgICAgMHgxLjA0MDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5mZmZmZmZmZmZmZjBwLTIsCisgICAgMHgxLnA2LAorICAgIDB4MS4wMWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEucC0xLAorICAgIDB4MS5wNiwKKyAgICAweDEuMDIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuMDAwMDAwMDAwMDA4cC0xLAorICAgIDB4MS5wNiwKKyAgICAweDEuMDIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLmZmZmZmZmZmZmZlMHAtMiwKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS5wLTEsCisgICAgMHgxLnA3LAorICAgIDB4MS4wMTBwNworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS4wMDAwMDAwMDAwMTBwLTEsCisgICAgMHgxLnA3LAorICAgIDB4MS4wMTAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuZmZmZmZmZmZmZmMwcC0yLAorICAgIDB4MS5wOCwKKyAgICAweDEuMDA3ZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLnAtMSwKKyAgICAweDEucDgsCisgICAgMHgxLjAwOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLjAwMDAwMDAwMDAyMHAtMSwKKyAgICAweDEucDgsCisgICAgMHgxLjAwODAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS5mZmZmZmZmZmZmODBwLTIsCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDNmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEucC0xLAorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuMDAwMDAwMDAwMDQwcC0xLAorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAxZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS5wLTEsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjAwMDAwMDAwMDA4MHAtMSwKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDIwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLmZmZmZmZmZmZmZwLTIsCisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwNWZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEucC0xLAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEuMDAwMDAwMDAwMDgwcC0xLAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDYwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLmZmZmZmZmZmZmVwLTIsCisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS5wLTEsCisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLjAwMDAwMDAwMDFwLTEsCisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAxMDAwMDAwMDAwMXAxMQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS5mZmZmZmZmZmZjcC0yLAorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDdmZmZmZmZmZmZwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEucC0xLAorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDgwcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLjAwMDAwMDAwMDJwLTEsCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwODAwMDAwMDAwMXAxMgorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDAuMCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0wLjAsCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjIxZmI1NDQ0MmQxOHAtMywKKyAgICAweDEuODBwMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS4yMWZiNTQ0NDJkMThwLTMsCisgICAgLTB4MS44MHAxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLjI0M2Y2YTg4ODVhM3AtMSwKKyAgICAweDEucDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuMjQzZjZhODg4NWEzcC0xLAorICAgIC0weDEucDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEucC01MiwKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIC0weDEucC01MiwKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgLTAuMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuOTIxZmI1NDQ0MmQxODBwLTEsCisgICAgMC4wLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS45MjFmYjU0NDQyZDE4MHAtMSwKKyAgICAtMC4wLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLnAtMTAyMiwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEucC0xMDczLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEucC0xMDczLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9tb2RmZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvbW9kZmZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOGY1YzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbW9kZmZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTg1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzJfMV90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfbW9kZmZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEucC0xNDksCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZmZmZmZlcC0yLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS5wLTEsCisgICAgMC4wLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjAwMDAwMnAtMSwKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDAuMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5wLTIzLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmZmZmZmOHAtMiwKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjAwMDAwNHAtMSwKKyAgICAweDEucDAsCisgICAgMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZmZmZmZjcC0xLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDAuMCwKKyAgICAweDEucDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucC0yMiwKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuZmZmZmYwcC0yLAorICAgIDB4MS5wMSwKKyAgICAweDEuM2ZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5wLTEsCisgICAgMHgxLnAxLAorICAgIDB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuMDAwMDA4cC0xLAorICAgIDB4MS5wMSwKKyAgICAweDEuNDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5mZmZmcC0xLAorICAgIDB4MS44Y3A2LAorICAgIDB4MS44ZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMC4wLAorICAgIDB4MS45MHA2LAorICAgIDB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEucC0xNywKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5mZmZlcC0yLAorICAgIDB4MS45MHA2LAorICAgIDB4MS45MWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLnAtMSwKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjAwMDFwLTEsCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZmZmOHAtMSwKKyAgICAweDEuZjM4MHA5LAorICAgIDB4MS5mM2ZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMC4wLAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEucC0xNCwKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mZmYwcC0yLAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLnAtMSwKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQ0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuMDAwOHAtMSwKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQ0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5jMHAtMSwKKyAgICAweDEuZmZmZmYwcDIwLAorICAgIDB4MS5mZmZmZmVwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDAuMCwKKyAgICAweDEucDIxLAorICAgIDB4MS5wMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wLTIsCisgICAgMHgxLnAyMSwKKyAgICAweDEuMDAwMDAycDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuODBwLTEsCisgICAgMHgxLmZmZmZmOHAyMSwKKyAgICAweDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAwLjAsCisgICAgMHgxLnAyMiwKKyAgICAweDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEucC0xLAorICAgIDB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLnAtMSwKKyAgICAweDEuZmZmZmZjcDIyLAorICAgIDB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDAuMCwKKyAgICAweDEucDIzLAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDIzLAorICAgIDB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDAuMCwKKyAgICAweDEucDI0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDI0LAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDI0LAorICAgIDB4MS5mZmZmZmVwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDAuMCwKKyAgICAweDEucDI1LAorICAgIDB4MS5wMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDI1LAorICAgIDB4MS4wMDAwMDJwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS4wMDAwMDJwLTEsCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5wLTEsCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5mZmZmZmVwLTIsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5wLTIzLAorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTAuMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuMDAwMDA0cC0xLAorICAgIC0weDEucDAsCisgICAgLTB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5wLTEsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuZmZmZmY4cC0yLAorICAgIC0weDEucDAsCisgICAgLTB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5wLTIyLAorICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTAuMCwKKyAgICAtMHgxLnAxLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuZmZmZmZjcC0xLAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS4wMDAwMDhwLTEsCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjQwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5mZmZmZjBwLTIsCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjNmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLnAtMTcsCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0wLjAsCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5mZmZmcC0xLAorICAgIC0weDEuOGNwNiwKKyAgICAtMHgxLjhmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLjAwMDFwLTEsCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEucC0xLAorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuZmZmZXAtMiwKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5wLTE0LAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMC4wLAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuZmZmOHAtMSwKKyAgICAtMHgxLmYzODBwOSwKKyAgICAtMHgxLmYzZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLjAwMDhwLTEsCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEucC0xLAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mZmYwcC0yLAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0M2ZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLjAwMDAwMnAyMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTAuMCwKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLnAyMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5jMHAtMSwKKyAgICAtMHgxLmZmZmZmMHAyMCwKKyAgICAtMHgxLmZmZmZmZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5wLTEsCisgICAgLTB4MS5wMjIsCisgICAgLTB4MS4wMDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0wLjAsCisgICAgLTB4MS5wMjIsCisgICAgLTB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuODBwLTEsCisgICAgLTB4MS5mZmZmZjhwMjEsCisgICAgLTB4MS5mZmZmZmVwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMjMsCisgICAgLTB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0wLjAsCisgICAgLTB4MS5wMjMsCisgICAgLTB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEucC0xLAorICAgIC0weDEuZmZmZmZjcDIyLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMC4wLAorICAgIC0weDEucDI0LAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI1LAorICAgIC0weDEuMDAwMDAycDI1CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMC4wLAorICAgIC0weDEucDI1LAorICAgIC0weDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDI0LAorICAgIC0weDEuZmZmZmZlcDI0CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDI5LAorICAgIDB4MS5mZmZmZmVwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDAuMCwKKyAgICAweDEucDMwLAorICAgIDB4MS5wMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDMwLAorICAgIDB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZhcDMwLAorICAgIDB4MS5mZmZmZmFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDAuMCwKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDAuMCwKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDAuMCwKKyAgICAweDEuMDAwMDA2cDMxLAorICAgIDB4MS4wMDAwMDZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZhcDMwLAorICAgIDB4MS5mZmZmZmFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDAuMCwKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDAuMCwKKyAgICAweDEuMDAwMDA2cDMxLAorICAgIDB4MS4wMDAwMDZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmYXAzMCwKKyAgICAweDEuZmZmZmZhcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAwLjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDAuMCwKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwNnAzMSwKKyAgICAweDEuMDAwMDA2cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmFwMzAsCisgICAgMHgxLmZmZmZmYXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDZwMzEsCisgICAgMHgxLjAwMDAwNnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZhcDMwLAorICAgIDB4MS5mZmZmZmFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDAuMCwKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDAuMCwKKyAgICAweDEuMDAwMDA2cDMxLAorICAgIDB4MS4wMDAwMDZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmYXAzMCwKKyAgICAweDEuZmZmZmZhcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAwLjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwNnAzMSwKKyAgICAweDEuMDAwMDA2cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDAuMCwKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAwLjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDAuMCwKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAwLjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDAuMCwKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAwLjAsCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMzAsCisgICAgLTB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMC4wLAorICAgIC0weDEucDMwLAorICAgIC0weDEucDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAyOSwKKyAgICAtMHgxLmZmZmZmZXAyOQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDZwMzEsCisgICAgLTB4MS4wMDAwMDZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0wLjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmFwMzAsCisgICAgLTB4MS5mZmZmZmFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDA2cDMxLAorICAgIC0weDEuMDAwMDA2cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZhcDMwLAorICAgIC0weDEuZmZmZmZhcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwNnAzMSwKKyAgICAtMHgxLjAwMDAwNnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTAuMCwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmYXAzMCwKKyAgICAtMHgxLmZmZmZmYXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDZwMzEsCisgICAgLTB4MS4wMDAwMDZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0wLjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmFwMzAsCisgICAgLTB4MS5mZmZmZmFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDA2cDMxLAorICAgIC0weDEuMDAwMDA2cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZhcDMwLAorICAgIC0weDEuZmZmZmZhcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwNnAzMSwKKyAgICAtMHgxLjAwMDAwNnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTAuMCwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmYXAzMCwKKyAgICAtMHgxLmZmZmZmYXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0wLjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTAuMCwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0wLjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTAuMCwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0wLjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTAuMCwKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0wLjAsCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmYXA2MSwKKyAgICAweDEuZmZmZmZhcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmNwNjEsCisgICAgMHgxLmZmZmZmY3A2MQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDYxLAorICAgIDB4MS5mZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAwLjAsCisgICAgMHgxLnA2MiwKKyAgICAweDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwNjIsCisgICAgMHgxLjAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDAuMCwKKyAgICAweDEuMDAwMDA0cDYyLAorICAgIDB4MS4wMDAwMDRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwNnA2MiwKKyAgICAweDEuMDAwMDA2cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmFwNjIsCisgICAgMHgxLmZmZmZmYXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcDYyLAorICAgIDB4MS5mZmZmZmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXA2MiwKKyAgICAweDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMC4wLAorICAgIDB4MS5wNjMsCisgICAgMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDYzLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwNHA2MywKKyAgICAweDEuMDAwMDA0cDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDZwNjMsCisgICAgMHgxLjAwMDAwNnA2MworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZhcDYzLAorICAgIDB4MS5mZmZmZmFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3A2MywKKyAgICAweDEuZmZmZmZjcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDAuMCwKKyAgICAweDEucDY0LAorICAgIDB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnA2NCwKKyAgICAweDEuMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDRwNjQsCisgICAgMHgxLjAwMDAwNHA2NAorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDAuMCwKKyAgICAweDEuMDAwMDA2cDY0LAorICAgIDB4MS4wMDAwMDZwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDA2cDYyLAorICAgIC0weDEuMDAwMDA2cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwNHA2MiwKKyAgICAtMHgxLjAwMDAwNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwNjIsCisgICAgLTB4MS4wMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMC4wLAorICAgIC0weDEucDYyLAorICAgIC0weDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXA2MSwKKyAgICAtMHgxLmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmNwNjEsCisgICAgLTB4MS5mZmZmZmNwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZhcDYxLAorICAgIC0weDEuZmZmZmZhcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwNnA2MywKKyAgICAtMHgxLjAwMDAwNnA2MworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDRwNjMsCisgICAgLTB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDYzLAorICAgIC0weDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTAuMCwKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwNjIsCisgICAgLTB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZjcDYyLAorICAgIC0weDEuZmZmZmZjcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmYXA2MiwKKyAgICAtMHgxLmZmZmZmYXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDZwNjQsCisgICAgLTB4MS4wMDAwMDZwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDA0cDY0LAorICAgIC0weDEuMDAwMDA0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnA2NCwKKyAgICAtMHgxLjAwMDAwMnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0wLjAsCisgICAgLTB4MS5wNjQsCisgICAgLTB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDYzLAorICAgIC0weDEuZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3A2MywKKyAgICAtMHgxLmZmZmZmY3A2MworICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmFwNjMsCisgICAgLTB4MS5mZmZmZmFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAwLjAsCisgICAgMHgxLnA2MiwKKyAgICAweDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMC4wLAorICAgIDB4MS40MHA2MiwKKyAgICAweDEuNDBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAwLjAsCisgICAgMHgxLjgwcDYyLAorICAgIDB4MS44MHA2MgorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDAuMCwKKyAgICAweDEuYzBwNjIsCisgICAgMHgxLmMwcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMC4wLAorICAgIDB4MS5wNjMsCisgICAgMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDAuMCwKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAwLjAsCisgICAgMHgxLjQwcDYzLAorICAgIDB4MS40MHA2MworICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDAuMCwKKyAgICAweDEuODBwNjMsCisgICAgMHgxLjgwcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMC4wLAorICAgIDB4MS5jMHA2MywKKyAgICAweDEuYzBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAwLjAsCisgICAgMHgxLnA2NCwKKyAgICAweDEucDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTAuMCwKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0wLjAsCisgICAgLTB4MS40MHA2MiwKKyAgICAtMHgxLjQwcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTAuMCwKKyAgICAtMHgxLjgwcDYyLAorICAgIC0weDEuODBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMC4wLAorICAgIC0weDEuYzBwNjIsCisgICAgLTB4MS5jMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0wLjAsCisgICAgLTB4MS5wNjMsCisgICAgLTB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMC4wLAorICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTAuMCwKKyAgICAtMHgxLjQwcDYzLAorICAgIC0weDEuNDBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMC4wLAorICAgIC0weDEuODBwNjMsCisgICAgLTB4MS44MHA2MworICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIC0wLjAsCisgICAgLTB4MS5jMHA2MywKKyAgICAtMHgxLmMwcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTAuMCwKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLnA2NAorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMC4wLAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMC4wLAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5mZmZmZjhwLTEsCisgICAgMHgxLjgwcDEsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMC4wLAorICAgIDB4MS5wMiwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEucC0yMSwKKyAgICAweDEucDIsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLmZmZmZmMHAtMSwKKyAgICAweDEuYzBwMiwKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAwLjAsCisgICAgMHgxLnAzLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5wLTIwLAorICAgIDB4MS5wMywKKyAgICAweDEuMDAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuZmZmZmUwcC0xLAorICAgIDB4MS5lMHAzLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDAuMCwKKyAgICAweDEucDQsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLnAtMTksCisgICAgMHgxLnA0LAorICAgIDB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS5mZmZmYzBwLTEsCisgICAgMHgxLmYwcDQsCisgICAgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMC4wLAorICAgIDB4MS5wNSwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucC0xOCwKKyAgICAweDEucDUsCisgICAgMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLmZmZmY4MHAtMSwKKyAgICAweDEuZjhwNSwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAwLjAsCisgICAgMHgxLnA2LAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5wLTE3LAorICAgIDB4MS5wNiwKKyAgICAweDEuMDAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuZmZmZnAtMSwKKyAgICAweDEuZmNwNiwKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAwLjAsCisgICAgMHgxLnA3LAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS5wLTE2LAorICAgIDB4MS5wNywKKyAgICAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuZmZmZXAtMSwKKyAgICAweDEuZmVwNywKKyAgICAweDEuZmZmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAwLjAsCisgICAgMHgxLnA4LAorICAgIDB4MS5wOAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5wLTE1LAorICAgIDB4MS5wOCwKKyAgICAweDEuMDAwMDAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmZmY3AtMSwKKyAgICAweDEuZmZwOCwKKyAgICAweDEuZmZmZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAwLjAsCisgICAgMHgxLnA5LAorICAgIDB4MS5wOQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS5wLTE0LAorICAgIDB4MS5wOSwKKyAgICAweDEuMDAwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuZmZmOHAtMSwKKyAgICAweDEuZmY4MHA5LAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDAuMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEucC0xMywKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuZmZmMHAtMSwKKyAgICAweDEuZmZjMHAxMCwKKyAgICAweDEuZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMC4wLAorICAgIDB4MS5wMTEsCisgICAgMHgxLnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5wLTEyLAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMDAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS5mZmUwcC0xLAorICAgIDB4MS5mZmUwcDExLAorICAgIDB4MS5mZmZmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAwLjAsCisgICAgMHgxLnAxMiwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLnAtMTEsCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwMDAycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLmZmZmZlMHAtMiwKKyAgICAweDEucDIsCisgICAgMHgxLjFmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLnAtMSwKKyAgICAweDEucDIsCisgICAgMHgxLjIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuMDAwMDEwcC0xLAorICAgIDB4MS5wMiwKKyAgICAweDEuMjAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuZmZmZmMwcC0yLAorICAgIDB4MS5wMywKKyAgICAweDEuMGZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEucC0xLAorICAgIDB4MS5wMywKKyAgICAweDEuMTBwMworICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS4wMDAwMjBwLTEsCisgICAgMHgxLnAzLAorICAgIDB4MS4xMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5mZmZmODBwLTIsCisgICAgMHgxLnA0LAorICAgIDB4MS4wN2ZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS5wLTEsCisgICAgMHgxLnA0LAorICAgIDB4MS4wOHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjAwMDA0MHAtMSwKKyAgICAweDEucDQsCisgICAgMHgxLjA4MDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLmZmZmZwLTIsCisgICAgMHgxLnA1LAorICAgIDB4MS4wM2ZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5wLTEsCisgICAgMHgxLnA1LAorICAgIDB4MS4wNHA1CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjAwMDA4MHAtMSwKKyAgICAweDEucDUsCisgICAgMHgxLjA0MDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLmZmZmVwLTIsCisgICAgMHgxLnA2LAorICAgIDB4MS4wMWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS5wLTEsCisgICAgMHgxLnA2LAorICAgIDB4MS4wMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMHgxLjAwMDFwLTEsCisgICAgMHgxLnA2LAorICAgIDB4MS4wMjAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS5mZmZjcC0yLAorICAgIDB4MS5wNywKKyAgICAweDEuMDBmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEucC0xLAorICAgIDB4MS5wNywKKyAgICAweDEuMDFwNworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS4wMDAycC0xLAorICAgIDB4MS5wNywKKyAgICAweDEuMDEwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuZmZmOHAtMiwKKyAgICAweDEucDgsCisgICAgMHgxLjAwN2ZmZXA4CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLnAtMSwKKyAgICAweDEucDgsCisgICAgMHgxLjAwODBwOAorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS4wMDA0cC0xLAorICAgIDB4MS5wOCwKKyAgICAweDEuMDA4MDAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuZmZmMHAtMiwKKyAgICAweDEucDksCisgICAgMHgxLjAwM2ZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLnAtMSwKKyAgICAweDEucDksCisgICAgMHgxLjAwNDBwOQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4wMDA4cC0xLAorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuZmZlMHAtMiwKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDFmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEucC0xLAorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuMDAxMHAtMSwKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDIwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuZmZlMHAtMiwKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA1ZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLnAtMSwKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA2MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4wMDEwcC0xLAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDYwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuZmZjMHAtMiwKKyAgICAweDEucDExLAorICAgIDB4MS4wMDBmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEucC0xLAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMTBwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuMDAyMHAtMSwKKyAgICAweDEucDExLAorICAgIDB4MS4wMDEwMDJwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuZmY4MHAtMiwKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA3ZmVwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEucC0xLAorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDhwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuMDA0MHAtMSwKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA4MDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAwLjAsCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0wLjAsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjIxZmI2MHAtMywKKyAgICAweDEuODBwMSwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAtMHgxLjIxZmI2MHAtMywKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS4yNDNmNmNwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuMjQzZjZjcC0xLAorICAgIC0weDEucDAsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS5wLTIzLAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLnAtMjMsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMC4wLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjkyMWZiNnAtMSwKKyAgICAwLjAsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuOTIxZmI2cC0xLAorICAgIC0wLjAsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuMDAwMDAycC0xMjYsCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLnAtMTI2LAorICAgIDAuMCwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLnAtMTQ4LAorICAgIDAuMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMGYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9uZWFyYnlpbnRfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL25lYXJieWludF9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUxY2JlNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9uZWFyYnlpbnRfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX25lYXJieWludF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDAuMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucDEsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAxLAorICAgIDB4MS44MDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEucDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5wMSwKKyAgICAweDEuM2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEucDEsCisgICAgMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjQwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjhmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjlwNgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkxZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkyMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuOTRwNiwKKyAgICAweDEuOTIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjNmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDNmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQ0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEucDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEucDUwLAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEucDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEucDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDUxLAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEucDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEucDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEucDUyLAorICAgIDB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MgorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnA1MywKKyAgICAweDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wNTQsCisgICAgMHgxLjBwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1NAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEucDEsCisgICAgLTB4MS44MDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEucDEsCisgICAgLTB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEucDAsCisgICAgLTB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEucDEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEucDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjQwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjNmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjhmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS45NHA2LAorICAgIC0weDEuOTIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mM2ZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuZjQ4MHA5LAorICAgIC0weDEuZjQ0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLnA1MCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEucDUwLAorICAgIC0weDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5wNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMHgxLnA1MSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEucDUxLAorICAgIC0weDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wNTIsCisgICAgLTB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLnA1MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnA1MywKKyAgICAtMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1NAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS5wNTQsCisgICAgLTB4MS4wcDU0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEucDMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI5CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEucDMwLAorICAgIDB4MS4wcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEucDMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY3ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjgwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY5ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjlmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmYTBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZhMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZhMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmRmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmRmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZlMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEucDMxLAorICAgIDB4MS5mZmZmZmZmZTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEucDMxLAorICAgIDB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAxMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wMDAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAwMDEwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS4wMDAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAwMDEwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5mZmZmZmZlMHAzMCwKKyAgICAweDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5mZmZmZmZlNHAzMCwKKyAgICAweDEuZmZmZmZmZTQwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmZmZmZmZmU4cDMwLAorICAgIDB4MS5mZmZmZmZlODBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuZmZmZmZmZWNwMzAsCisgICAgMHgxLmZmZmZmZmVjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5mZmZmZmZmMHAzMCwKKyAgICAweDEuZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5mZmZmZmZmNHAzMCwKKyAgICAweDEuZmZmZmZmZjQwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5wMzEsCisgICAgMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuMDAwMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMDAyMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEucDMwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEucDMwLAorICAgIC0weDEuMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEucDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyOQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmODAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjgwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY3ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZhMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmEwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY5ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmUwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmUwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZkZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmRmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuMDAwMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS4wMDAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucDY0LAorICAgIDB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDYyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEucDYyLAorICAgIC0weDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDYzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5wNjMsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2NCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5wMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAyLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEucDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLnAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5wNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLnA0LAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5wNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLnA1LAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEucDUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5wNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLnA2LAorICAgIDB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEucDYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5wNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLnA3LAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEucDcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5wOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLnA4LAorICAgIDB4MS4wcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEucDgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5wOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLnA5LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEucDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLnAxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS5wMTEsCisgICAgMHgxLjBwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEucDExLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLnAxMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5wMTIsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLnAyLAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEucDIsCisgICAgMHgxLjJwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS40MHAyLAorICAgIDB4MS4yMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEucDMsCisgICAgMHgxLjBmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS5wMywKKyAgICAweDEuMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjIwcDMsCisgICAgMHgxLjEwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS5wNCwKKyAgICAweDEuMDdmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLnA0LAorICAgIDB4MS4wODBwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS4xMHA0LAorICAgIDB4MS4wODAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEucDUsCisgICAgMHgxLjAzZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5wNSwKKyAgICAweDEuMDQwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDQwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLnA2LAorICAgIDB4MS4wMWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEucDYsCisgICAgMHgxLjAyMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjA0cDYsCisgICAgMHgxLjAyMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5wNywKKyAgICAweDEuMDBmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLnA3LAorICAgIDB4MS4wMTBwNworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS4wMnA3LAorICAgIDB4MS4wMTAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucDgsCisgICAgMHgxLjAwN2ZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5wOCwKKyAgICAweDEuMDA4cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuMDFwOCwKKyAgICAweDEuMDA4MDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDNmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEucDksCisgICAgMHgxLjAwNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjAwODBwOSwKKyAgICAweDEuMDA0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAxZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDIwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwNWZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2cDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjAwODBwMTAsCisgICAgMHgxLjAwNjAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucDExLAorICAgIDB4MS4wMDBmZmZmZmZmZmZmcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMTAwMDAwMDAwMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA3ZmZmZmZmZmZmcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwODBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODAwMDAwMDAwMXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS5wMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnAxLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLnAxLAorICAgIC0weDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLnAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDAuMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5wMSwKKyAgICAweDEuODAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEucDEsCisgICAgLTB4MS44MDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmcDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9uZWFyYnlpbnRmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9uZWFyYnlpbnRmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTE3Yjc3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL25lYXJieWludGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19uZWFyYnlpbnRmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAxLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEucDEsCisgICAgMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEucDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEucDEsCisgICAgMHgxLjNmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEucDEsCisgICAgMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS44MHAxLAorICAgIDB4MS40MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjhmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS45MHA2LAorICAgIDB4MS45MnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuOTRwNiwKKyAgICAweDEuOTIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mM2ZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0M2ZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQ0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZjQ4MHA5LAorICAgIDB4MS5mNDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLnAyMSwKKyAgICAweDEuZmZmZmZlcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEucDIxLAorICAgIDB4MS5wMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wMjEsCisgICAgMHgxLjAwMDAwMnAyMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLnAyMiwKKyAgICAweDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDIyLAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLnAyMywKKyAgICAweDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEucDIzLAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZmZmZXAyMywKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDI0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS4wMDAwMDJwMjQsCisgICAgMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmZmZmZmZXAyNCwKKyAgICAweDEuZmZmZmZlcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEucDI1LAorICAgIDB4MS5wMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wMDAwMDJwMjUsCisgICAgMHgxLjAwMDAwMnAyNQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0wLjAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLnAxLAorICAgIC0weDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEucDEsCisgICAgLTB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLnAwLAorICAgIC0weDEuN2ZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLnAxLAorICAgIC0weDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjQwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjNmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOGZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmYzZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLmY0ODBwOSwKKyAgICAtMHgxLmY0NDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0M2ZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLjAwMDAwMnAyMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTB4MS5wMjEsCisgICAgLTB4MS5wMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEucDIxLAorICAgIC0weDEuZmZmZmZlcDIwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMHgxLnAyMiwKKyAgICAtMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5wMjIsCisgICAgLTB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEucDIyLAorICAgIC0weDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLjAwMDAwMnAyMywKKyAgICAtMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wMjMsCisgICAgLTB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEucDIzLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLjAwMDAwMnAyNCwKKyAgICAtMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS5wMjQsCisgICAgLTB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLjAwMDAwMnAyNSwKKyAgICAtMHgxLjAwMDAwMnAyNQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS5wMjUsCisgICAgLTB4MS5wMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuZmZmZmZlcDI0LAorICAgIC0weDEuZmZmZmZlcDI0CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmZmZmZlcDI5LAorICAgIDB4MS5mZmZmZmVwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5wMzAsCisgICAgMHgxLnAzMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLjAwMDAwMnAzMCwKKyAgICAweDEuMDAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuMDAwMDAycDMwLAorICAgIC0weDEuMDAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5wMzAsCisgICAgLTB4MS5wMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLmZmZmZmZXAyOSwKKyAgICAtMHgxLmZmZmZmZXAyOQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLmZmZmZmY3A2MSwKKyAgICAweDEuZmZmZmZjcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmZmZmZmZXA2MSwKKyAgICAweDEuZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLnA2MiwKKyAgICAweDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjAwMDAwMnA2MiwKKyAgICAweDEuMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLjAwMDAwNHA2MiwKKyAgICAweDEuMDAwMDA0cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmZmZmZmY3A2MiwKKyAgICAweDEuZmZmZmZjcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmZmZmZmZXA2MiwKKyAgICAweDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLnA2MywKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjAwMDAwMnA2MywKKyAgICAweDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjAwMDAwNHA2MywKKyAgICAweDEuMDAwMDA0cDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmZmZmZmY3A2MywKKyAgICAweDEuZmZmZmZjcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEuZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLnA2NCwKKyAgICAweDEucDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwMDAwMnA2NCwKKyAgICAweDEuMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjAwMDAwNHA2NCwKKyAgICAweDEuMDAwMDA0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4wMDAwMDRwNjIsCisgICAgLTB4MS4wMDAwMDRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjAwMDAwMnA2MiwKKyAgICAtMHgxLjAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEucDYyLAorICAgIC0weDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5mZmZmZmVwNjEsCisgICAgLTB4MS5mZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLmZmZmZmY3A2MSwKKyAgICAtMHgxLmZmZmZmY3A2MQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuMDAwMDA0cDYzLAorICAgIC0weDEuMDAwMDA0cDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS4wMDAwMDJwNjMsCisgICAgLTB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuZmZmZmZlcDYyLAorICAgIC0weDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS5mZmZmZmNwNjIsCisgICAgLTB4MS5mZmZmZmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtMHgxLjAwMDAwNHA2NCwKKyAgICAtMHgxLjAwMDAwNHA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuMDAwMDAycDY0LAorICAgIC0weDEuMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS5wNjQsCisgICAgLTB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZmZmZmZXA2MywKKyAgICAtMHgxLmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmZmZjcDYzLAorICAgIC0weDEuZmZmZmZjcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLnA2MiwKKyAgICAweDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLnA2MywKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5wNjIsCisgICAgLTB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5wMiwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucDIsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEucDMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5wNCwKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEucDQsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLnA0LAorICAgIDB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5wNSwKKyAgICAweDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEucDUsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLnA1LAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5wNiwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEucDYsCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLnA2LAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5wNywKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEucDcsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLnA3LAorICAgIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5wOCwKKyAgICAweDEuZmZmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucDgsCisgICAgMHgxLnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDAwMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5wOSwKKyAgICAweDEuZmZmZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEucDksCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLnAxMSwKKyAgICAweDEuZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnAxMSwKKyAgICAweDEucDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwMDAycDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLnAxMiwKKyAgICAweDEuZmZmZmZlcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLnAxMiwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwMDAycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLnAyLAorICAgIDB4MS4xZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5wMiwKKyAgICAweDEuMjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS40MHAyLAorICAgIDB4MS4yMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5wMywKKyAgICAweDEuMGZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEucDMsCisgICAgMHgxLjEwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuMjBwMywKKyAgICAweDEuMTAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLnA0LAorICAgIDB4MS4wOHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA4MDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLnA1LAorICAgIDB4MS4wM2ZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5wNSwKKyAgICAweDEuMDRwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4wOHA1LAorICAgIDB4MS4wNDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5wNiwKKyAgICAweDEuMDFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEucDYsCisgICAgMHgxLjAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMDRwNiwKKyAgICAweDEuMDIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLnA3LAorICAgIDB4MS4wMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjAycDcsCisgICAgMHgxLjAxMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDdmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5wOCwKKyAgICAweDEuMDA4MHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjAxcDgsCisgICAgMHgxLjAwODAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjAwODBwOSwKKyAgICAweDEuMDA0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDFmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDIwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwMjAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDVmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS4wMDgwcDEwLAorICAgIDB4MS4wMDYwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucDExLAorICAgIDB4MS4wMDBmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEucDExLAorICAgIDB4MS4wMDEwcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMTAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDdmZXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDhwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODAycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS44MHAxLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLnAxLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEucDEsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDAuMCwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnAxLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEucDEsCisgICAgMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDAuMCwKKyAgICAweDEuZmZmZmYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMC4wLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMC4wLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5wMSwKKyAgICAweDEuODAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmMHAwCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvbmV4dGFmdGVyX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9uZXh0YWZ0ZXJfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MWRiZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvbmV4dGFmdGVyX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDIwODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlPiBnX25leHRhZnRlcl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuMHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5wMSwKKyAgICAweDEuMHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxLAorICAgIDB4MS4wcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuMHAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuMHAxLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgLTB4MS4wcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIC0weDEuMHAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAtMHgxLjBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMSwKKyAgICAtMHgxLjBwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIC0weDEuMHAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLnAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEucDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS4wcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMCwKKyAgICAweDEuMHAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIC0weDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDksCisgICAgMHgxLjBwMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwOSwKKyAgICAweDEuMHAxMCwKKyAgICAtMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIDB4MS4wcDEwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAtMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEucDEwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIC0weDEuMHAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIC0weDEuMHAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOSwKKyAgICAtMHgxLjBwMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMTAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEucDEwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMCwKKyAgICAtMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDEwLAorICAgIC0weDEuMHAxMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLjBwMTAsCisgICAgLTB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5LAorICAgIC0weDEuMHAxMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEucDEwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEucDEwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5LAorICAgIC0weDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5wMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5LAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5wMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5OSwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucDEwMCwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMCwKKyAgICAweDEuMHAxMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAxMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLnAxMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwLAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5LAorICAgIC0weDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwOTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5LAorICAgIDB4MS4wcDEwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5LAorICAgIDB4MS4wcDEwMCwKKyAgICAtMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5LAorICAgIDB4MS4wcDEwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEucDEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5wMTAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMCwKKyAgICAtMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLnAxMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5OSwKKyAgICAtMHgxLjBwMTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5OSwKKyAgICAtMHgxLjBwMTAwLAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOTksCisgICAgLTB4MS4wcDEwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDk5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwOTksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5LAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwOTksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMTAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwLAorICAgIC0weDEuMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLnAxMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDEwMCwKKyAgICAtMHgxLjBwMTAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLnAxMDAsCisgICAgLTB4MS4wcDEwMCwKKyAgICAtMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5OSwKKyAgICAtMHgxLjBwMTAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOTksCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOTksCisgICAgLTB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOTksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5OTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5OQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5wMTAwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OTksCisgICAgMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIDB4MS5wMTAwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OTksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA5OTksCisgICAgMHgxLjBwMTAwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEucDEwMDAsCisgICAgMHgxLjBwMTAwMCwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDEwMDAsCisgICAgMHgxLjBwMTAwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLnAxMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTk5CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLnAxMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMDAsCisgICAgMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAxMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA5OTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTk5LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDk5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5OTksCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwOTk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOTk5CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5OSwKKyAgICAweDEuMHAxMDAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5OSwKKyAgICAweDEuMHAxMDAwLAorICAgIC0weDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDk5OSwKKyAgICAweDEuMHAxMDAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEucDEwMDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS5wMTAwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDAwLAorICAgIC0weDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLnAxMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5OQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEucDEwMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTk5CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5wMTAwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwMCwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS5wMTAwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5OTksCisgICAgLTB4MS4wcDEwMDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOTk5CisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5OTksCisgICAgLTB4MS4wcDEwMDAsCisgICAgMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOTk5LAorICAgIC0weDEuMHAxMDAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDk5OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwOTk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDk5OQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwOTk5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OTksCisgICAgMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwOTk5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OTksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMTAwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEucDEwMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMDAsCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLnAxMDAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMDAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDEwMDAsCisgICAgLTB4MS4wcDEwMDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLnAxMDAwLAorICAgIC0weDEuMHAxMDAwLAorICAgIC0weDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA5OTksCisgICAgLTB4MS4wcDEwMDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5OQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEucDEwMDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5OSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEucDEwMDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5OSwKKyAgICAtMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwOTk5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA5OTksCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDk5OQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZmZmZmZmZmZDBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZDBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS5mZmZmZmZmZmZmZmZkMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZDBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5mZmZmZmZmZmZmZmZkMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmQwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuZmZmZmZmZmZmZmZmZDBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZDBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS4wMDAwMGZmZmZmZmZlMHAxLAorICAgIDB4MS4wMDAwMGZmZmZmZmZlcDEsCisgICAgMHgxLjAwMDAwZmZmZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS4wMDAwMGZmZmZmZmZmMHAxLAorICAgIDB4MS4wMDAwMGZmZmZmZmZlcDEsCisgICAgMHgxLjAwMDAwZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS4wMDAwMGZmZmZmZmZmMHAxLAorICAgIDB4MS4wMDAwMGZmZmZmZmZlcDEsCisgICAgMHgxLjAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuMDAwMDBmZmZmZmZmZTBwMSwKKyAgICAweDEuMDAwMDBmZmZmZmZmZnAxLAorICAgIDB4MS4wMDAwMGZmZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMDAwMDBmZmZmZmZmZjBwMSwKKyAgICAweDEuMDAwMDBmZmZmZmZmZnAxLAorICAgIDB4MS4wMDAwMGZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuMDAwMDEwcDEsCisgICAgMHgxLjAwMDAwZmZmZmZmZmZwMSwKKyAgICAweDEuMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS4wMDAwMGZmZmZmZmZmMHAxLAorICAgIDB4MS4wMDAwMXAxLAorICAgIDB4MS4wMDAwMGZmZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuMDAwMDBmZmZmZmZmZjBwMSwKKyAgICAweDEuMDAwMDFwMSwKKyAgICAweDEuMDAwMDBmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjAwMDAxMHAxLAorICAgIDB4MS4wMDAwMXAxLAorICAgIDB4MS4wMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAtMC4wLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgLTB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIC0weDEucC0xMDc0LAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgLTB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5wLTEwNzQsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMC4wLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIC0weDEucC0xMDc0LAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLnAtMTA3MywKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9uZXh0YWZ0ZXJmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9uZXh0YWZ0ZXJmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDdiY2UyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL25leHRhZnRlcmZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTg2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfbmV4dGFmdGVyZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5mZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZmZmZmZjcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmZmZmZmY3AtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5mZmZmZmNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS5mZmZmZmNwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAtMHgxLmZmZmZmY3AtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5wMSwKKyAgICAweDEucDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuMDAwMDAycDEsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmZmZmZmY3AwLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZjcDAsCisgICAgMHgxLmZmZmZmZXAwLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5mZmZmZmNwMCwKKyAgICAweDEuZmZmZmZlcDAsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLnAxLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEucDEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAxLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5mZmZmZmNwMCwKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mZmZmZmNwMCwKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5mZmZmZmNwMCwKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAtMHgxLjAwMDAwMnAxLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAycDEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS4wMDAwMDJwMSwKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucDEsCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEucDEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEucDEsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEuZmZmZmZlcDAsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEucDEwLAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAweDEuMDAwMDAycDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5mZmZmZmNwOSwKKyAgICAweDEuZmZmZmZlcDksCisgICAgLTB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5mZmZmZmNwOSwKKyAgICAweDEuZmZmZmZlcDksCisgICAgLTB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmNwOSwKKyAgICAweDEuZmZmZmZlcDksCisgICAgLTB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZXA5LAorICAgIDB4MS5wMTAsCisgICAgLTB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5mZmZmZmVwOSwKKyAgICAweDEucDEwLAorICAgIC0weDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuZmZmZmZlcDksCisgICAgMHgxLnAxMCwKKyAgICAtMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAsCisgICAgLTB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMDAwMnAxMCwKKyAgICAtMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwLAorICAgIC0weDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEucDEwLAorICAgIC0weDEuMDAwMDAycDEwLAorICAgIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC0weDEucDEwLAorICAgIC0weDEuMDAwMDAycDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLjAwMDAwMnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLTB4MS5mZmZmZmVwOSwKKyAgICAtMHgxLnAxMCwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLmZmZmZmZXA5LAorICAgIC0weDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLmZmZmZmZXA5LAorICAgIC0weDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLmZmZmZmY3A5LAorICAgIC0weDEuZmZmZmZlcDksCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS5mZmZmZmNwOSwKKyAgICAtMHgxLmZmZmZmZXA5LAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLmZmZmZmY3A5LAorICAgIC0weDEuZmZmZmZlcDksCisgICAgMHgxLjAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuMDAwMDAycDEwLAorICAgIC0weDEuMDAwMDAycDEwLAorICAgIC0weDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS5wMTAsCisgICAgLTB4MS4wMDAwMDJwMTAsCisgICAgLTB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLjAwMDAwMnAxMCwKKyAgICAtMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS4wMDAwMDJwMTAsCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuZmZmZmZlcDksCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEucDEwLAorICAgIC0weDEuZmZmZmZlcDksCisgICAgLTB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLmZmZmZmZXA5LAorICAgIC0weDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5mZmZmZmVwOSwKKyAgICAtMHgxLmZmZmZmZXA5LAorICAgIC0weDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuZmZmZmZlcDk5LAorICAgIDB4MS5mZmZmZmVwOTksCisgICAgMHgxLmZmZmZmZXA5OQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5wMTAwLAorICAgIDB4MS5mZmZmZmVwOTksCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEucDEwMCwKKyAgICAweDEuZmZmZmZlcDk5LAorICAgIDB4MS4wMDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZmZmZmZXA5OSwKKyAgICAweDEucDEwMCwKKyAgICAweDEuZmZmZmZlcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnAxMDAsCisgICAgMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDAwMDAycDEwMCwKKyAgICAweDEucDEwMCwKKyAgICAweDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5wMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIDB4MS5mZmZmZmVwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEucDEwMCwKKyAgICAweDEuMDAwMDAycDEwMCwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmZmZmZmY3A5OSwKKyAgICAweDEuZmZmZmZlcDk5LAorICAgIC0weDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5mZmZmZmNwOTksCisgICAgMHgxLmZmZmZmZXA5OSwKKyAgICAtMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZmZmZjcDk5LAorICAgIDB4MS5mZmZmZmVwOTksCisgICAgLTB4MS5mZmZmZmVwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuZmZmZmZlcDk5LAorICAgIDB4MS5wMTAwLAorICAgIC0weDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5mZmZmZmVwOTksCisgICAgMHgxLnAxMDAsCisgICAgLTB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmZmZmZmZXA5OSwKKyAgICAweDEucDEwMCwKKyAgICAtMHgxLmZmZmZmZXA5OQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5wMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIC0weDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5wMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIC0weDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5wMTAwLAorICAgIDB4MS4wMDAwMDJwMTAwLAorICAgIC0weDEuZmZmZmZlcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuMDAwMDAycDEwMCwKKyAgICAweDEuZmZmZmZlcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuMDAwMDAycDEwMCwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEucDEwMCwKKyAgICAtMHgxLjAwMDAwMnAxMDAsCisgICAgMHgxLjAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLmZmZmZmZXA5OSwKKyAgICAtMHgxLnAxMDAsCisgICAgMHgxLmZmZmZmZXA5OQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZmZmZmZlcDk5LAorICAgIC0weDEucDEwMCwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuZmZmZmZlcDk5LAorICAgIC0weDEucDEwMCwKKyAgICAweDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmZmZmZjcDk5LAorICAgIC0weDEuZmZmZmZlcDk5LAorICAgIDB4MS5mZmZmZmVwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLmZmZmZmY3A5OSwKKyAgICAtMHgxLmZmZmZmZXA5OSwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZjcDk5LAorICAgIC0weDEuZmZmZmZlcDk5LAorICAgIDB4MS4wMDAwMDJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS4wMDAwMDJwMTAwLAorICAgIC0weDEuMDAwMDAycDEwMCwKKyAgICAtMHgxLjAwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLnAxMDAsCisgICAgLTB4MS4wMDAwMDJwMTAwLAorICAgIC0weDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLjAwMDAwMnAxMDAsCisgICAgLTB4MS5mZmZmZmVwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjAwMDAwMnAxMDAsCisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLnAxMDAsCisgICAgLTB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5mZmZmZmVwOTksCisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuZmZmZmZlcDk5CisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5wMTAwLAorICAgIC0weDEuZmZmZmZlcDk5LAorICAgIC0weDEuMDAwMDAycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEucDEwMCwKKyAgICAtMHgxLmZmZmZmZXA5OSwKKyAgICAtMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmZmZmZmZXA5OSwKKyAgICAtMHgxLmZmZmZmZXA5OSwKKyAgICAtMHgxLmZmZmZmZXA5OQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgLTB4MS5mZmZmZmFwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuZmZmZmZhcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5mZmZmZmFwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEuZmZmZmY4cDEyNywKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLmZmZmZmOHAxMjcsCisgICAgLTB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgLTB4MS5mZmZmZjhwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuZmZmZmZhcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuZmZmZmZhcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLmZmZmZmYXAxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZhcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZjhwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS5mZmZmZjhwMTI3LAorICAgIC0weDEuZmZmZmZhcDEyNywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAtMHgxLmZmZmZmOHAxMjcsCisgICAgLTB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEucC0xNDksCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEucC0xNDksCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEucC0xNDksCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEucC0xNDksCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZhcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjAwMDAwMnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuMDAwMDAycC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5mZmZmZjhwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEucC0xNDksCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTAuMCwKKyAgICAwLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLnAtMTQ5LAorICAgIDAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEucC0xNDksCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLnAtMTQ5LAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDAuMCwKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEucC0xNDksCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS5wLTE0OCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS5mZmZmZjhwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLmZmZmZmOHAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5mZmZmZjhwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS5mZmZmZjhwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS5mZmZmZjhwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5wLTEyNiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS4wMDAwMDJwLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9wb3dfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3Bvd19pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM5ZjVhZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9wb3dfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMzI3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGRvdWJsZSwgZG91YmxlLCBkb3VibGU+IGdfcG93X2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLnAwLAorICAgIC0weDEuMHAtMTAsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEucDAsCisgICAgLTB4MS4wcC0yMCwgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsIDB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIC0weDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZmZmZmZwMjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yMSwgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNDEsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuMDAwMDAwMDAwMDAwYTAwMDAwMDAwMDAwMmRwLTQxMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQxLCAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS45MjQxYjcwN2Y2ZGFkZmY5NTVmZDg5MTkzYjY3ZDMzMXAtNzYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA5cDAsIC0weDEuNzM2NGQ5MzY0ZDkzZXA1NAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZmZmZmUwMDAwMGZmZmZmYWJhYWFiZWZmZmZjM2IxMTFwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDEwcDAsIC0weDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmZmZmZmZWZmYWMwMDQwM2IwYzZkNDI0YWNkOTAwOTUzcDk2NCwKKyAgICAtMHgxLjAwMDAwMDAwMjIwcC0xLCAtMHgxLmUyOHA5CisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5mZmU4OGY4OThmYWQ2ODA1ZWY1NDI1Y2EzNTcyZjFlOHA3MDUsCisgICAgLTB4MS4wMDAwMDQ0cC0xLCAtMHgxLjYxMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLmZmZjAwMDdmZmMwMDFmZmYwMDA3ZmZjMDAxZmZmMHA0MCwKKyAgICAtMHgxLjAwMDgwcC00MSwgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5mZjYwMWI3YzkwNTk1ODJlOWM1Y2Q0YmRlMDIxZjQ2MnA0MDksCisgICAgLTB4MS4wMDA4MHAtNDEsIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLjAwMjgwMjgwMTQwMDUwMDA4MHAyMDAsCisgICAgLTB4MS4wMDA4MHA0MCwgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmYTAwYTdmMTRjMzM3ZmNlY2ZmYzEwNzI0NGY5NmRmcDI0NSwKKyAgICAtMHgxLjAwMDgwMDAwMDBmMTRwLTQxLCAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmZmODAxMWZkM2JlNTc3ZmVjODVmZmM1ZDYwYjAzMzRlcC0zMjEsCisgICAgLTB4MS4wMDA4MDAwMDBlNDg0cDQwLCAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjZiM2M0NjQxNTQzMGMwMDRlOWZkMGIzNWY4ZWM2ZmQ1cC0xLAorICAgIC0weDEuMDQ2ZThiZmZmZmZjMnAwLCAtMHgxLjRwNAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMC4wLAorICAgIC0weDEuNTE4cC0xMDY1LCAweDEuMHAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuMjAwMDAwNjAwMDAwMDhwLTgxLAorICAgIC0weDEuODAwMDAwNHAtNDEsIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5jM2Q2YTIxNTdiNjIzNDA3ZThjODIxMjg5ZWJhYzJiNnAtMSwKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZwLTEsIDB4MS4wcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAtMHgxLjAwMDAwMDYwMDAwMDMwMDAwMDExMDAwMDA2MzAwMDAycDAsCisgICAgLTB4MS5mZmZmZmZiZmZmZmZmcC0xLCAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS4wMDAwMDBlMDAwMDBhODAwMDA2MjAwMDAzM2EwMDAxOHAzNSwKKyAgICAtMHgxLmZmZmZmZmJmZmZmZmZwLTYsIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLjAwMDAwMGUwMDAwMGE4MDAwMDYyMDAwMDMzYTAwMDE4cDI4MCwKKyAgICAtMHgxLmZmZmZmZmJmZmZmZmZwLTQxLCAtMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgLTB4MS4wMDAwMDBlMDAwMDBhODAwMDA2MjAwMDAzM2EwMDAxOHAtMjg3LAorICAgIC0weDEuZmZmZmZmYmZmZmZmZnA0MCwgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEuZmZmZmZlNDAwMDAwMzgwMDAwMzBmZmZmZjQ5ZmZmZmRwMjg2LAorICAgIC0weDEuZmZmZmZmYmZmZmZmZnA0MCwgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmZmZmZmZjgwMDAwMDA4cC0yMSwKKyAgICAtMHgxLmZmZmZmZmNwLTExLCAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAtMHgxLjAwMDAwMDAwMDEwMDA4MDAwMDAxMDAxMDAwNDAwMXA0MCwKKyAgICAtMHgxLmZmZmZmZmZmZmRmZmZwLTQxLCAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS4wMDAwMDAwMDAwMGM5ODAwMDAwMDAwOWU5YTQwcDQwLAorICAgIC0weDEuZmZmZmZmZmZmZmU2ZHAtNDEsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAtMHgxLmZmZmZmZmZkZmZmZmUwMDEwMDAwMGZmZmFhYWFhYWFhcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMSwgMHgxLjAwMDAxcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIDB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmRhNmExYmUzZTlkNDdmYzg0MjkzMjgxZTc3YWEyMWFwLTEsCisgICAgMHgxLjBwLTIsIDB4MS5iMmNiMmNiMmNiMmQwcC05CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAwLjAsCisgICAgMHgxLjBwLTUxMiwgMHgxLjBjY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuZjliM2EzODIwOTgwOTM4Njg3ZThiZjdmZjA2YmM0MmNwLTkxNCwKKyAgICAweDEuMHAtMTAzNSwgMHgxLmMzYTgzYTgzYTgzYTVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwgMHgxLjBwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LCAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuNTFjYjQ1M2I5NTRmNTMwNWZkOGQ2MWU2NTBlOGQwZDVwLTk2NywKKyAgICAweDEuMHAtMTA3NCwgMHgxLmNjY2NjY2NjY2NjY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5mZmZmZmZmZDNhMzdhMDIyYTRiZGY5NDgyMTcxZDU2ZnAxMDIzLAorICAgIDB4MS4wcDEsIDB4MS5mZmZmZmZmZmZmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZlMHAtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAsIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuYWU4OWY5OTVhZDU4ODdmZjQ2ZGQyMzYyYmU2YThmMjNwLTIwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjcxLCAweDEuN2ZmZmZmZmZmZmZmZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjI2MTExODZiYWU2YTM4MDAwMmU2MjAyYzMxYjA0ZDEzcC0zOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDYyLCAweDEuNGYyMDk0ZjIwOTRmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjZhMDllNjY3ZjNlY2QyYWRiNjcyMjNmOTU2NGIzNDIycC0zOTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUyMiwgMHgxLjdmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS45ZmRmOGJjY2U1NDM1NDdkNjExZWYxMzkwNDAyMmI4YnAtNDkzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01NDcsIDB4MS5jY2NjY2NjY2NjY2NjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuOTFiNTAxYzJkYjVjOGZmZTgxY2MzZWZmZmZlMjgyZThwLTI5MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNjQzLCAweDEuY2NjY2NjY2NjY2NjYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLmE4MzBmZDA1NDcyMDI0NzljNzBjODBiNzJhMzI1ZDJmcC00MDgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTczMSwgMHgxLjFkNDFkNDFkNDFkNDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5hOTMzNWRmMzhlNmU2NGNiZGFhNTc3NTBhMGNmZDVlZXAtMjkxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC03MzMsIDB4MS45NTgxMDYyNGRkMmY3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuNmEwOWU2NjdmM2QxOTJhMjdiNzM1Nzc0ODRhODZkY2RwLTc2MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtODQ1LCAweDEuY2NjY2NjY2NjY2NjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLmJkYjhjZGFkYmU2MGE1NmRkNjFjNGUwNDM1MGNmYTlhcC01NjksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTk0NywgMHgxLjMzMzMzMzMzMzMzMzFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS42YTA5ZTY2ZDcyYzljODAxODQwNTMyNTc3ZTYwNWUwN3A5MDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMDUsIC0weDEuY2NjY2NjY2NjZmE4MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmZmZmZmZmZmZmZmYWVhNmUwNjIyYTQ1YjM1ODlkNzcxcDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLmZmZmZmZmZmZmZmZmRwOQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmU2MTAyYmE0NjUwNDQ4MTRiMjhhMGE0OTIxNmVmNjY3cC0zNDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjYzLCAtMHgxLjBjY2NjY2NjY2NjY2ZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5mZmZmZmZmZmZmZDc1YjZkODVkZThmYjNhN2UyZTgyNnAtNzAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkzNiwgLTB4MS44MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZmZmZmZwLTEwMjQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAyMywgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5mZmZmZmZmZmZmZmFlYTZlMDYyMmE0NTczNTg5ZDc3MXAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDIsIDB4MS5mZmZmZmZmZmZmZmZkcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMjlmZmZmZnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDA0cDAsIDB4MS4wMDAwMDAwMDAwMDA3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmMzkyMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDA0cDAsIDB4MS5mZmZmZmZmZmZmY2U4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmZmZmZmZmZmZmZhZWE2ZTA2MjJhNDRmMzU4OWQ3NzFwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDAwNHA0LCAweDEuZmZmZmZmZmZmZmZmZHA3CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmI5NTQwZDk5MjU4YTgwZjg2YjcxOTI1YWFmNDQyMWVwODAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwMTAyMywgMHgxLjQ0NDQ0NDQ0NDQ0MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5kZjkwNWVmOGUyNTA3ZmQ4NTI3MTJlZDZjZWE5ODk2M3A4MzMsCisgICAgMHgxLjAwMDAwMDAwMDAwMTFwMSwgMHgxLmEwZjNlYTA2OTdhMGJwOQorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLjAwMDAwMDAwMDAwMDk3ZmZmZmZmZmZmZmQyZTBwMywKKyAgICAweDEuMDAwMDAwMDAwMDAxM3A2LCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLjAwMDAwMDAwMDAwMGQ3ZmZmZmZmZmZmZjc3ZTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAyMXAwLCAweDEuYTJlOGJhMmU4YmEyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjk0NzY1MDRiOWJhZjM0M2UzZjc1YTJiZDJlNGNhZGRicDczOCwKKyAgICAweDEuMDAwMDAwMDAwMDA4MHAwLCAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmZmZmZmNGU5NWUxZjNmZGNkZDVlM2Q5MjhmM2E0N2Y1cDEwMjMsCisgICAgMHgxLjAwMDAwMDAwMDAwZmZwMSwgMHgxLmZmZmZmZmZjMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZmZmZmZmZmY4ZTRkZTgwODNhYzYzZjk1YmNiNTI1ZmNwMTAyMywKKyAgICAweDEuMDAwMDAwMDAwMDBmZnAyLCAweDEuZmZmZmZmZmZmZmNwOAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLjk0NzY1MDRiNDMzNTUyYWRiZjI1M2FkNWE5ZTYxZTY4cDczOCwKKyAgICAweDEuMDAwMDAwMDAwMDRwMCwgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS42MjQ3ZWIwMzU3ODYzN2ZmMmNiOTNjOTNmZTJmMjQ3M3AtMTI5LAorICAgIDB4MS4wMDAwMDAwMDAwN3AxLCAtMHgxLjAxMXA3CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuODdjZWEyZTUwNmQyZWE5YjIxODIzZDc1NTc2NjNmYmFwNDI3LAorICAgIDB4MS4wMDAwMDAwMDAyMHAxMDIzLCAweDEuYWMwODMxMjZlOTc4Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmZmZmZmZjJiMDMzODA4MGIyNTdkZjMxYmIwMmZmNzBhcDc2NywKKyAgICAweDEuMDAwMDAwMDAwZmZmZnAtMSwgLTB4MS43ZmZmZmZmZmQ1Y2UycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS5mZmQ5MzEwMzViMzk0MDg3MTY0NTAxNDczZGYyMzA5NXAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDFwMSwgMHgxLmZmZmZmMWZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjkxMmI2ZGQ2NjUyZGY3ZmEwZmJhZmZiYzdiMzJkNjJhcDk1MywKKyAgICAweDEuMDAwMDAwMDAxYjFlZnAtMSwgLTB4MS5kY2QyZjNlYTA2OTk1cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS5mZmZmZmZmODAwMDAwMDIwYzAwMDNmN2I3ZmZlODIxNnAtMSwKKyAgICAweDEuMDAwMDAwMDQwcDAsIC0weDEuZmZmZmZmZmZjZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmZmZmZmZmMwMDAwMDI3ZmZmZmY3MDAwMDAzOWZmZmZlcC0xMDI0LAorICAgIDB4MS4wMDAwMDAxZmZmZmZmcDEwMjMsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuNzA1ZGYzNGY4NGUzMTM4NzE0ODE1M2M3Y2Y3ODNhNTNwLTEsCisgICAgMHgxLjAwMDAwMDRwMSwgLTB4MS5lNjY2NjY2NjY2NjZicC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuMWExNjc0NGMyZWMwZDgwNDI0MTBiZjNlM2E5MDE0YWNwMSwKKyAgICAweDEuMDAwMDAwNHAyLCAweDEuMjNkNzBhM2Q3MGEzYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmZmZjgwMDEwMDJiNDE3ZWY1ODhlMjFjNTA5MmUyMGM3cDEwMjMsCisgICAgMHgxLjAwMDAwMTBwLTEsIC0weDEuZmZmZmZmZmZmZmZmOXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuYTEyZjgwNmMzOTEwNTgwMGQ1YWMzOGY2Y2I4OGQzNzRwLTIsCisgICAgMHgxLjAwMDAwMWNwMywgLTB4MS5iYTJlOGJhMmU4YmEycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuZDcyZjdmMzU0ZDg2ZDAyMDZhZDdjOWJlOWI0NzhjN2NwLTg4NSwKKyAgICAweDEuMDAwMDA0NHAtMSwgMHgxLmJhMGY2MWM5MTA3YzlwOQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjkxNWQxOTU1YjE1ZmMwODE5MWUwMDBiYzhhOWM4MjYycDczOCwKKyAgICAweDEuMDAwMjBwMCwgMHgxLjAwMDAwNDBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5mZmMwMDQzY2JjNWRiN2ZlZDkwNWVhMjY3NzI0Y2Q4NnA0NywKKyAgICAweDEuMDAwMjAwMDAwYzBlNHAtMywgLTB4MS5mZmZmZmZmZmYzZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS4wMzg2MWMwZjI1ZjBiN2ZkZDdkYjk4OGZjNTBlOGFjNXA4OTYsCisgICAgMHgxLjAwMDcwcDcsIDB4MS4wMDAwMDAwMDg4MHA3CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuNzM1ZjRjYWU2ZmQ1ZTdlYzllYzkzOTIzZjMzOWU5NTFwLTI0MiwKKyAgICAweDEuMDAwN2ZkZXAwLCAtMHgxLjRmMWI3N2MyNzhkYzBwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5iNmJkY2RhZmQ1NTgyODIzYjRkMzYxY2I3YmYwMmYwYnAwLAorICAgIDB4MS4wMDA3ZmZmZmZmMThjcC0zLCAtMHgxLjA5NGYyMDk0ZjIwOTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5lZTlkZTM4MTU1ODlmODAyMDQyOWM4NTA1MDJhNzNjZXAwLAorICAgIDB4MS4wMDA4MHAxLCAweDEuZTY2NjY2NjY2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLmZjNGU5NTdhZDNjZmY4MGRmMTRkNTM4M2JkMDlhODNhcDEwMjMsCisgICAgMHgxLjAwMWZlYmViY2NkNDJwMCwgMHgxLjYzZDhhYTk4NmE5ZWFwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS5mYmRkZjQ2ZDZiNjI4ODJiNGM0ZTY1OWJmMDIxMmRmNHAxMDIzLAorICAgIDB4MS4wMDFmZWYxY2M0MTkzcDAsIDB4MS42M2I1MDBjODM2ODlkcDIwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZmJhN2Y5MzE4YzVkYzgxYjFlMTc4ODY1MTQ3MjAyZjNwMTAyMywKKyAgICAweDEuMDAxZmYwNjlkMmE2YnAwLCAweDEuNjNhNjc2Yzg0OTNlOHAyMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLmY2MTY2MWI3MDAwZDMyZDFmNjk4ZTBmYTJmODg5ZDM1cDY5LAorICAgIDB4MS4wMDgwNDAyNTIxM2RlcC03LCAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmUxMDliZGNjYTAxZmI3ZmZiYmU0ZjUwYzgyZDBlYzYycDE1LAorICAgIDB4MS4wMTBwLTEsIC0weDEuZmZmZmZmZmY5ZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuMWU0OWM1MTQ3M2ZmMzdkYzFhZDI3MjY0MzEyYzM3YjVwLTEwMTEsCisgICAgMHgxLjAyMWVlYWE2ZDI3MGRwMSwgLTB4MS5mMzc5NzE3NThlMjU3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS5lYjQxMzIxZTEzNmIzN2ZmZmJiOTkwMjdmZmM4NTE0YnAtMjEsCisgICAgMHgxLjAyZjE3OGJjNWUyYzFwMywgLTB4MS5hOTk5OTk5OTk5OTlhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS4wODBmZmZmZmY3OWNiODAwZDRmYTQzNTFkOGU2MzE3MXAtMiwKKyAgICAweDEuMDQwcC0xLCAweDEuMDAwMDAwMDAwNjBwMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmNmMmIxOWFjZmQ1Mzg4MjBjZDYyYjk3NjJmYmQwN2Q4cC0xMDE4LAorICAgIDB4MS4wNDkzY2RhN2JlNDUycDEsIC0weDEuZWZlNGIyNDIwNzFhYnA5CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuNjY5MmMwNWIwOWJhYmEyZWE0OGQ3ODVhZDRhNDU3NWRwMTM1LAorICAgIDB4MS4wNWViZjgyNDhhNzM0cDk5LCAweDEuNWUzYjMyYTJhOWZiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuODEwZjJmNTM5ODA1NzdmNjY2M2FiZmExZjc3NDI5MWJwNzAsCisgICAgMHgxLjBhYWFhYWFhYWFhYWJwNywgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmVlMzM1MzY4ZWEwMDA4YWE2YjNiMDA2MzU0NjI1cC0xLAorICAgIDB4MS4wZTRmOTM4YzBlMGJicC00ODIsIDB4MS5iNDgzOGFhNzBkMDI1cC0yNgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmNmYzQ3MGNjOTM5MjI3ZmE5NzBiNThiOTE1NzJmNzI0cC00MCwKKyAgICAweDEuMTNiZDExYmNmYWE1MHAtNSwgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmVjMzNlYTU1YWZkMzNhZDIxOWFhMmFlYzA4MzM5N2RmcC0xLAorICAgIDB4MS4xNTAxZjQ0NjU5ZTU0cDAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmY2NDhhMGVhZDgyZjYwMDFkYWYwZDQ2YWJkMDE4Yjc3cC0xLAorICAgIDB4MS4xNTU1NTU1NTU1NTU1cC0xLCAweDEuMDAwMDAwMDAwMDAwN3AtNQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmZlN2ViNjg3MzRiNWU4MjVlOTRkNmRlNDU0Y2RlMThlcDYsCisgICAgMHgxLjE3NDVkMTc0NWRhNzFwLTEsIC0weDEuMDAwMDAwMDAwMDAwN3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuYTVhMDBjNzdjNjViZjViMDU5MmE2MTQwN2IyYmM3OWZwLTM5LAorICAgIDB4MS4xOTczYjEwMmZmZGRicC02LCAweDEuYTFkODRmNmEzYjkzNHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZTdlMjY3NDVmNTBmZTgwMGQxNDE0NWZmODAxMzM3NjFwLTIsCisgICAgMHgxLjE5ZWVkZWIxMDJkODRwMiwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmE3M2Y5YWNiZjQxMjVhODkwMjAxMTBhMjljMzliYmQycDEwMywKKyAgICAweDEuMjQ3NjVhMGNkZDQ1NHA3LCAweDEuY2Q4MWVkZmQ2ZDViOHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjQ0NWFlMzkwZjRiNTM2OWMxNDI2ZjlmZThiOGExNzUxcDYxNSwKKyAgICAweDEuMjQ5MjQ5MjQ5MjQ5MnAtNSwgLTB4MS5mZmZmZmZmZmZmZmY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZTRlMDQ1MjA1NTI3ZjMzZjBjOTc2OGRjYjdmMTNmYWJwLTYxNiwKKyAgICAweDEuMjQ5MjQ5MjQ5MjQ5MnAtNSwgMHgxLmZmYzdmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS4yZGQxN2RjNzI5M2RjODAwMWUxOTg2YTE0ODc1YmU5NXAxMjIsCisgICAgMHgxLjMxNTBhMTJmMjVjOGRwLTQxLCAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS41MmM1OGNkYmFjNGNiN2ZlYjc2MWUyNGJiZGU5OWI4NXAtNTM0LAorICAgIDB4MS4zMzMzMzMzMzMzMzMzcC0yLCAweDEuMzMzMzMzMzMzY2U5N3A4CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmJjN2YwNTZlYzcxZmYwMDAwMTA0ODA4Yzk5OTBhZTlmcC0yLAorICAgIDB4MS4zMzMzMzM0NmNmOGJhcC0yLCAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5hMmM5ZGM3YmIyZTcyNGFlNzQ2YzdhMGEwNzZiMTI5YnAtMjkxLAorICAgIDB4MS4zOGFiZjgyZWU2OTg2cC0xLCAweDEuOTgwcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuYjRmNjBlNTc5NWI1ZTgwODhjMTg2NWFiOWUwZTI2OTRwMCwKKyAgICAweDEuM2VjOTg0Y2IzNjcwMXAwLCAweDEuMzgwMTg4NzliMmJhOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLjhmY2YzMDFjMmI0NjUzMmZmZmI2YTA2Y2M0M2RlYzkxcC02NjcsCisgICAgMHgxLjRwLTEwNzAsIDB4MS4zZWYzNjhlYjA0MzI3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLjAwMDAzZjY1Y2NlODA4MDAwMGZmZWY2ZTAyYmZlNTA5cDAsCisgICAgMHgxLjRwNCwgMHgxLjUyOWExNTc0YzBjNzJwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjkwMDAwMDAwMDAwMDI4MDAwMDAwMDAwMDAxcDQsCisgICAgMHgxLjQwMDAwMDAwMDAwMDFwMiwgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS40MzAxNWNmNzRkNmUwN2ZmMzY2NjMwNWRkZmZiNWY0ZXAxLAorICAgIDB4MS40M2U3NDNiYTc5YzQxcC0xLCAtMHgxLjAyYzMwYjgwZWI1MTRwMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5hMzZlMWMzYzcwMGI3YTQxNmZhZDY0MWJmYzAzMWFkYnAtMTAsCisgICAgMHgxLjQ3YWUxNDdhZTE0N2JwLTUsIDB4MS4wMDAwMDFjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuZTVlY2NmMWIzYTA1ZGNmN2FkY2E4ZDQ3ZjkzN2RhYzdwLTk4NSwKKyAgICAweDEuNGU5MWIwZTkxYjBmMXAtMSwgMHgxLjkwYzk3MTRmYmNkOWJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuOTUzMzViZmI3NmM2YzdmZTM4NTI2Y2RlMWMxNmVkYmRwLTMsCisgICAgMHgxLjUxNTJiN2MzNzMzNjhwLTIyLCAweDEuYmIzODI4OGEwYTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuZmZmZmZmZmZmZmZmYjAxZTIxYTQwNDQyOWU4OGNmZDZwLTEsCisgICAgMHgxLjUxNzU4NzkwYjQxODFwLTQsIDB4MS4wcC01MgorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS43MDJlYmZhMWZmMjAxM2YyNDM4Y2ZkMTkzNWI3MzA5OXAxMDEsCisgICAgMHgxLjU1NTU1NTU1NTU1NTVwLTIsIC0weDEuMDAzODBwNgorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5iYTMwYTEyN2Y2ZGQ1ZmQ5YzYwYTdmMDEwZDljYTEyNXAyMDIsCisgICAgMHgxLjU1NTU1NTU1NTU1NTVwLTIsIC0weDEuZmZjN2ZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjdmZmZmZThlZGRjNDlhMGJiNzRjOWIzOTQyZTVlYjBicDEsCisgICAgMHgxLjU1NTU1NTU1NTU1NTVwLTIsIC0weDEuZmZmZmZlM2ZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS44YWE4ODA4NjQ3ZDA3Yjg4MTliNjg2YTQ0ODE3NDA3NnA1ODYsCisgICAgMHgxLjU1NTU1NTU1NTU1NTVwLTUsIC0weDEuZmZjN2ZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjdhMGE5MTA4ZTFkMTg4NGM1ODRhOWFiODFmYzNmM2QxcC0yOTQsCisgICAgMHgxLjU1NTU1NTU1NTU1NTVwLTUsIDB4MS4wMDAwMDAwMDBlMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLmFkM2Q1MDMzMjE3YTA0N2MyNjAyZWQ5YjNjMGE5NjQ0cC00NjEsCisgICAgMHgxLjU4YTI2MTIxZjQ2ZjZwLTIsIDB4MS4yNGY0NWY1ZmQ0Zjc5cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMTEwNGZiOGNmNzg2YzgwMGZmYzczNTg4OWE1MzFmYTNwMCwKKyAgICAweDEuNjEzMDk4NGMwMjAxN3AwLCAweDEuOTk5OTk5OTk5OTk5YXAtMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS4xZTk1MmIxOWNjMzM2NzJmMWNkZDNlYzUwZTBiM2RmMnAtMTAyMywKKyAgICAweDEuNjIyZThiYTJlOGI5ZHAtMSwgMHgxLmUwZjgzZTBmODNlMGNwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuY2VhZmQ4YzAzODViZDhhYmJkNTc0NDcwNGJmMTNkNGVwLTEwMjMsCisgICAgMHgxLjY3MTExMTExMTExMGNwLTEsIDB4MS5mMzMzMzMzMzMzMzI0cDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLjZhMDllNjY3ZjNiYTEyZjkzMjQ3YTc2ZDc0Mzc0NDE4cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYjllcC0xLCAweDEuZmZmZmZmZmZmZmZmM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5hODg3MjkzZmQ2ZjMwYTExZTlmM2FhYjE2MWIwZDQxZnAwLAorICAgIDB4MS43NDVkMTc0NWQxNzQ2cC0yLCAtMHgxLmZmZmZmZmZmZmZmZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuOTE3NDk5OTAwZmRhMDdmZWQ0OTc5NmQ4MjU2Y2JlYWRwLTQwLAorICAgIDB4MS43NDVkMTc0NWQxNzQ2cC0zLCAweDEuZmZmZmZlM2ZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLmY0NmU5Njc5ODBlMDQ4YzU5ZmQwZmJlYTFlNTc3ODFjcDk2NywKKyAgICAweDEuN2EwcDcsIDB4MS5mZmZmZmZmZWZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuOTljZTQ1YjdlMjhmYzdmZjJkM2NmYjQ2MTc3NDJkN2FwLTEsCisgICAgMHgxLjdiZjBiMjM0OGIwYThwMiwgLTB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmZlOWQzZmFjZWNkYjQ4MmU1MmEyMDI2ZjBkMGZjYmFicDAsCisgICAgMHgxLjhwLTEsIC0weDEuMzMzMzMzMzMzMzNjMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLjk2YzNhODY0ZDkyY2M4MjQyZmE2YTA1NmJiMDhiM2NmcC0xLAorICAgIDB4MS44NWU4NWU4NWU4NWVhcC0xLCAweDEuYjA3M2VjYWRlMzA1M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5mMmQ4MGNmOGNjMDhiN2ZmZmZlZWE3OWY5NWMzYTliYXAtMSwKKyAgICAweDEuODdkODcyNDQxZWFiYnA5LCAtMHgxLmZmZmZmZmZmZmZmZWVwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuZmZmZmZmZmZmZmZmNzAxZjhhZmI5YWEwNmJhZDMzYzFwLTEsCisgICAgMHgxLjg5ZTM2ZWY4NGYxOWRwMSwgLTB4MS4wMDAwMDAwMDAwMDExcC01MAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmYjc1MGYwNzU5M2FjMGZlZnAwLAorICAgIDB4MS44ZDYwMGI3Njk2ODYycC05NiwgLTB4MS5lZmFlNjFmNjBmNmU4cC01OQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5lOGYxNTU2NWVkNDNhODJlMDUyMjM2YWMzZjhhMWYwOXA3NywKKyAgICAweDEuOThkMmZlNWM1M2YzNHAtMzksIC0weDEuMDQ0YTAwMmQ1MGFkOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLjBmNGIxMThhMTBlNDlmZmZmZjAwYWU3MzU3ZDg3Yzk0cC0xLAorICAgIDB4MS45OTk5OTlhNjM3ZjEwcC0yLCAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5kMjUxNWM0OWQ2NDE1N2ZlZjYyZWZlMzdhYTdkNGU1N3AtNDQsCisgICAgMHgxLjljMDEzM2NkYjA4NTZwLTUsIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuZmI4NWU5ZjEzZjA3Njc1MzQ1MGUzMTU2OTVkMjM5ZTlwLTEwMjMsCisgICAgMHgxLjlmMGVkNGY5MzA1MjJwLTEsIDB4MS5hNWRiOGExNzU1ZTljcDExCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLjAxYWI4ZjI2NzFiNmU4MDAwMDk2MzQ5YWI4OTc0ZWM1cDAsCisgICAgMHgxLjlmY2ZlN2YzZmExODFwLTEsIC0weDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS42OWM3MzgyNGZiYWJmODA2NmMwZjM4NDg3YzYwMGM3MnA5LAorICAgIDB4MS5hMDQzMjc0YjcwNWNlcDMsIDB4MS40ODdlMzFjY2U2NDY4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAweDEuZDIwMDg4ZjRlZWI4YTUyZmYwMjlmZjdlNDc2ZTNiNjdwLTU4MiwKKyAgICAweDEuYTVkMTc0NWQxNzQ2ZXAtMSwgMHgxLjAzZTBmODNlMGY4M2NwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuYzRiZWVkZjMxNTFlMjgwM2UwNDliYjUxNjFkMTI3MmRwLTI3MiwKKyAgICAweDEuYWE0Y2U4ZWQ1MjZiMXAtMSwgMHgxLjAwODgwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLjcxNzMwNjJiNzRjMjE3ZmVhNmI0MWU2YTdmYjQ4ZGQ2cC03MTEsCisgICAgMHgxLmFiOTlkMzYwOTFiYzBwOTcsIC0weDEuZDEzNmVlOGU1OTU3M3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjg2YzFiNDlhNTUxMDk3ZmU3ODM5OWMwMGQwMTU3ZDkycC0yLAorICAgIDB4MS5iNzgyMjE4YzNmZGI0cDIsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS41YjZhNzQ0OTlkNjM3ODA0YjlhYTI4ZjliNzY2YzNjY3AtMSwKKyAgICAweDEuYmNlYjc3MWEwMmJkZXAyLCAtMHgxLjk5OTk5OTk5OTk5OWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuZmRkZTZkN2Q5OTJkNGZmY2QwYTI0NDZhOTU3MmI3OTFwLTEsCisgICAgMHgxLmJmZmZmZmZmZmZmZmRwLTEsIDB4MS5mZmM3ZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLjI0OTI0OTI0OTI0OTJmMDUzOTc4MjljYmMxYWRlNjlmcC0xMDIzLAorICAgIDB4MS5iZmZmZmZmZmZmZmZmcDEwMjIsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmNjYTM0ZDhkNjA5NTQyMzUyZGZlYWFjZTUyOGNiN2ExcC04MTgsCisgICAgMHgxLmNwLTEwMzMsIDB4MS45NTU1NTU1NTU1NTUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLjU1Y2I4MDVkM2I2YWI1Yzc2NzVjZTI4OGRiMTc5ZjJicC05ODEsCisgICAgMHgxLmNwLTEwMzMsIDB4MS5lNjY2NjY2NjY2NjYycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjk3YTNmY2JhY2ViZTVkODZkNGY5Njc1ZDNiODIwOGY4cDg2MSwKKyAgICAweDEuY3AtMTA1OSwgLTB4MS5hMGVhMGVhMGVhMGVhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLmU5MjZmMzM0MjcyOWQxMDBiZWFiMjJiNTAyOWZhNjkycC05NTYsCisgICAgMHgxLmNwLTEwNzEsIDB4MS5jOGViZDQ4ZWJkNDk4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmYxNjY4YTg3N2MzMDIwYzg1MDVjNDVhZTk5NGJkMzU4cC0xMDAyLAorICAgIDB4MS5jcC0xMDcxLCAweDEuZGVlYWJiNzg4NDU0OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDB4MS4yNDkyNDkyNDkyNDU5NzgyOWNiYzE0ZjBlOTNjNzQ2ZXAtMTAyMywKKyAgICAweDEuYzAwMDAwMDAwMDA1N3AxMDIyLCAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS5jNjVjMmNmMzk2MmRhODAxM2Q0MGVlOGMzYjQ2YmYxZHA5NiwKKyAgICAweDEuYzI1YzI2ODQ5MTYxMHAtNDQsIC0weDEuMWVmZWZmNWEyNzNlY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjk3MGMxMGQ2YjBhNTlhN2ZhZGYxZTIxZTVhYjY3N2JlcDc3LAorICAgIDB4MS5jMjVjMjY4NDk3NjgycC00NCwgLTB4MS5jYzZiOTNhYmJiMDc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuODU4M2MyNDg5YTUwMzgwMDA2YzljNzIwNWI1YTU0ZmVwLTEsCisgICAgMHgxLmMyZTE3MGI4NWM5OTRwLTIsIDB4MS41NTU1NTU1NTU1NTU1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLjdlNDU3MzAxNWJjNjNiZDI2NzY3OWFhYjJjZDg5ZjY2cC0xLAorICAgIDB4MS5jYjNjOTQ4NGUyYWQwcDAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS43ZTNlNzE5Y2U1Yjc5N2ZlODg1ODE1YmMzYjI0NTdmMnAtMSwKKyAgICAweDEuY2I0ZDY5ZWI0ZjRiOXAwLCAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuZmQ0MjUwYTg3MWM3ZmUwMGQ1ZjUxMDM5YzU3ZGRlNmZwLTYyNCwKKyAgICAweDEuY2NjNGMwZmQ2M2NiNnAtMSwgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuNWRjMjg1ZDViNWYxNjgwMGY2ZDdkYzVmZmRjZjhkMTZwLTEsCisgICAgMHgxLmQxNzQ1ZDE3NDk4ODNwLTEsIDB4MS5mZmM3ZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAweDEuZmVhNTk1ZDVjMDRmODgxNDM4ZjdmNWYxMGRiYjAyOTdwLTIsCisgICAgMHgxLmQ1NTU1NTU1NTU1NTJwLTEsIDB4MS5mZmM3ZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuMDAwMDAwMDAwMDAwN2ZmMDRhMjY2NzhiNjMzYTEzM2VwMCwKKyAgICAweDEuZDg3MjQ0MWVjMzkwNXAyLCAweDEuMDAwMDAwMDAwMDAxMXAtNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuYTYzZjRiZDc5N2Y4MjgwNTkxOWIwOWQyYjYyZGExZTFwLTEsCisgICAgMHgxLmRhNjBhMWYyZWM2MDhwLTIsIDB4MS4wMDdjZDk1MjRkM2Y0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmE4MmUxNDY5MDI1Yzg1MGMxNDQ4YTE5YzJhZjY3ZmU0cC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzJwLTIsIDB4MS5jMzBjMzBjMzBjM3A4CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLjc3OWEwNmJjMzg4MGUyYzM5ZGZjNjc5NzQ5ZTQ3MGE1cC0yLAorICAgIDB4MS5kYmIwZTBhYTJkZDBlcDIsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mNTViNDFhYjRhNjc1NDA1YjU0MjcwM2Q5YjAzN2FlN3AtNDA4LAorICAgIDB4MS5kZGE5NWE5NWE5NWIxcC0xLCAweDEuZmMwcDExCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLjc2N2ZiYWQyMTlhMjA4MDE4ZDZiODFmN2YzYTIwNTFicDIsCisgICAgMHgxLmRlN2YxNTQ4Mzg1MzdwLTYsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS43MTFkNjAyZmZiMjdmODAyMDkwNDNkNmQ4ZjI4M2NmOHAtMTAsCisgICAgMHgxLmU2NjY2NjY2NjY2NmJwLTEsIDB4MS5mZmZmZmZmZmZmZmY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuZmY1Njk3Mzk2YWYxNTdmZmVhZDc0ODg1OWFlM2M5Y2JwMSwKKyAgICAweDEuZWVlZWVlZWVlZWVlZXAyLCAweDEuNWFhYWFhYWFhYWFhYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS5mZTk2MWEzY2NkM2MyODFhZDAzMzNkNjgwNjkyN2IyYnAtMSwKKyAgICAweDEuZjA3YzFmMDdjMWYwN3AtMTQsIDB4MS40MGE1N2ViNTAyOTZkcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS5kYWMwYzdjZmJlZjA1YmQ2NWEwZTZlYTI0NzdmNDdmYXA3NzgsCisgICAgMHgxLmYxYTE3ZDA3OWUyNGZwLTMsIC0weDEuN2Q5YzBiNWYzYTk2MHA4CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjZlYTY5YmQ4NWI2N2NjODViZTgzZmE5NzdkYzEyM2NhcC0xLAorICAgIDB4MS5mMzMzMzMzMzMzMzI0cDAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS43MTViZjkyZjQzZjAwYjQwMzA0OWUwYzNlNTExNTNmOHAtMTYsCisgICAgMHgxLmY2NjQ5ODRiOGExNTJwLTIxLCAweDEuOGI4NTJjZTIyMTlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS43NDM2ODA5NGVmYmZiMzgwYmIyZGYyZTIwZTJhN2ExN3AtODUsCisgICAgMHgxLmY2ZGVkOGJjM2ZhNDNwLTcsIDB4MS5jMDgzNTk1YzJiMWJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuYjBlZjU1NjAwNjIwNzcxOGQzZGEwOGE5MDEzNjcyNmRwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYjhhcC0xLCAtMHgxLjAwMDAwMDAyYjY1OGVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuYjBlZjRjZDk0ZjhmOGE4ZTYwM2ZmNjU4ZjYxZmVmYjFwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYmE1cC0xLCAtMHgxLjAwMDAwMDAwMjIxZWZwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEuYjBlZjRjZDgyZjEzODdkNzY1ODBhOWVlYWJhNjU2ZjZwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYmNmcC0xLCAtMHgxLjAwMDAwMDAwMjIxZWZwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuYjBlZjRjZmIxY2VjMzdkNjRmMzdlYTM3NTU5N2I3NDBwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYmNmcC0xLCAtMHgxLjAwMDAwMDAwMmNiMDlwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuYjBlZjU1NWUyNjljNjc3NGExOGI1NmFmMzY5NDdkODJwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYmNmcC0xLCAtMHgxLjAwMDAwMDAyYjY1NzNwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuYjFjMzA0MmZlNzZlYzc0ZWI2MzE3NzZlYTkwYzNjYzZwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYmNmcC0xLCAtMHgxLjAwMDA0MDAwMjIxZWZwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZjJlOTI0NzdkNjRjODZmYTU0ZjYyMTVlYzhkZTU4OTZwODI3LAorICAgIDB4MS5mODNlMGY4M2UwYmNmcC0xLCAtMHgxLjI1YWI2ZjdiY2VkOTNwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuYjBlZjRjMDRhYjZmOTdhNTI5MzUwOTE1NTA0YzAwNzRwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYmNmcC0xLCAtMHgxLmZmZmZmZmZmYzQzZGVwMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuYjBlZjU1NWIxZGJlOTdkMjc2ZDE5NjMwNmJhMDAwNTFwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwYzI2cC0xLCAtMHgxLjAwMDAwMDAyYjYyMGZwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuYjBlZjRjYmU2ZGVlNjhmNjk3ZmM1ODg1ZTQzYTM1NDVwNzIxLAorICAgIDB4MS5mODNlMGY4M2UwZjgwcC0xLCAtMHgxLjAwMDAwMDAwMjIwcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLjY2MWRiMjQyZTEzZjc4NzYwZjMzODVjNDhkZTZlMTRkcC03MTYsCisgICAgMHgxLmY4NGYxYjc3YWE2MWVwLTEsIDB4MS4wMDAwMDQ0cDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjZjYzA1NjU5M2IxODk3ZmU3Mjk0NTU2ZTg1YTdmY2NhcC0xLAorICAgIDB4MS5mODY5YjEwZTE2NDZlcDAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS45NmVjMTk5YzgyODMyODBkY2RlMWJmMGE2YmRmMThkZHAtMzMsCisgICAgMHgxLmY4NmQ2ZjYzYWEwNDlwLTEsIDB4MS43ODBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuOGQzNTc1YzVhMDgyMTdlOTZkMmJhY2NkOTIxMDIxMDFwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNDUycC0xLCAtMHgxLjAwMDAwNDNmZmZlZWRwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuOGQzNTc1YzUyZWEzMWZlYTNkMDc5OWY4Y2Y4NTIzZTNwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNDY4cC0xLCAtMHgxLjAwMDAwNDNmZmZmODVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuOGQzNTc1YzQ3MmYwYzg2M2MwNmE5NzZlMjJhMjVjNmRwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNDg5cC0xLCAtMHgxLjAwMDAwNDRwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuOGQzNTc1YzM1YWFjZWZlYTk1Yzg4NTQzOWQ0OWJkOTlwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNGJicC0xLCAtMHgxLjAwMDAwNDQwMDAwZDRwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuOGQzNTc1YzBjZmM0NjFiYmU1ZWUzNjQ0Y2M2ZDc3YzJwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNTA2cC0xLCAtMHgxLjAwMDAwNDNmZmZjNzlwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuOGQzNTc1YzE2NjdkZjExNjM5Nzk4MjRkODYzY2M1NzFwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNTA2cC0xLCAtMHgxLjAwMDAwNDQwMDAwMjJwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuOGQzNTc1YjRmZWM1ODhlNTZmMWJhNGJiMmNkZTNkMzdwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiNzE0cC0xLCAtMHgxLjAwMDAwNDQwMDAzNTNwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuOGQzNTc1YWMzZmY0OWVlMDA0NDA0MTk1MWQyMDcwNmJwNjEyLAorICAgIDB4MS5mOTY4NjBhZmNiODU4cC0xLCAtMHgxLjAwMDAwNDNmZmZlNmRwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuNjcxOTg2ZGJlNTNmNTZhY2QzNmRkYWVlYzk3Mjc3YWFwLTQ2LAorICAgIDB4MS5mOTg1ZjdjYmYwMDU5cC03LCAweDEuZTNmYTMwMThiZGUwOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLmVlYzczZWIzZWQ5MjQ3OTQwZTg3NzUwZTdmYzQ5NDc5cDEwMTksCisgICAgMHgxLmZhODFhNWU3ZDQxMmNwLTEsIC0weDEuMDAwMDA3ZmZlZjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuNmFmYzJiMzY2OWNhZmQ4YjA0YmUwNzYzN2NiOGNlNWVwLTEsCisgICAgMHgxLmZkNTU3MDE5ZjFjZDBwMCwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgMHgxLmM0ZjkxZDI0ZTVjM2U4NmY3M2VhNjgxMzJiZGE0YjhhcDEwMDIsCisgICAgMHgxLmZkZmZmZmZmZmZmZmZwLTMsIC0weDEuZjNmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjZhOTNiN2YwNDY5NGFkNjZiOWFhNjRmNzZiYTFmYTM4cC0yLAorICAgIDB4MS5mZTdiMGVlNmFmYTNjcDIsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDB4MS5lMTc3NmJkZTE2NjQzODA4YTM4Y2FmMDUwZjVjYjYzMHAtOTY2LAorICAgIDB4MS5mZjNlOWFlMzAzM2FlcC0xLCAweDEuYmE2YzEzYmYwMDVlY3AxOAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5kNGVmNWVjZDc1NGNkN2Y2ZTcwMTY0NTM5OTRjMjFkNXAtOTQzLAorICAgIDB4MS5mZjQzM2EwMmVjOTY0cC0xLCAweDEuYmE3YTM0N2NkZmZlYnAxOAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDB4MS5mZTliYmRjMTYxYWJkN2ZkOWIzMmRiYmMyZDc0ODQzOHAtOTE1LAorICAgIDB4MS5mZjQ4ZTJiNGE1ZDdlcC0xLCAweDEuYmE4YjgxMGY1NTA3ZnAxOAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5kZTUyYWE2YTVlY2FmODA2Nzc5N2M5ZTJhMjgxYjIzZXAtOTA1LAorICAgIDB4MS5mZjRhZTBlNDQwZmI2cC0xLCAweDEuYmE5MTk4YWIwM2NkNHAxOAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS43NmJjNTJkYzc0MzFmODAwMDAwNTM2YTk0YmMzZDMwNXAxMzMsCisgICAgMHgxLmZmNzdmZmZmZmZmZmZwMTUsIDB4MS4wYjFmZGNkNzU5MGFicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEuNWMxYzJkZWQ3MjEzZDk5MTgzNmZkMmFhOGRmZjRkZjdwLTEwMjMsCisgICAgMHgxLmZmN2ZmZmZmZmZmZmZwMCwgLTB4MS4wMDAwMDAwMGNwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAweDEuN2EyYjRkNzJjY2ZhYjdmZWJiNjhhYjNhYzQyMmNkYTdwLTYxMywKKyAgICAweDEuZmY4NTc5NmU0ZjA2M3AtMSwgMHgxLmJiNDRiODZjYTA5MjhwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuMThhMmZhZjhiNWY2ZTgwMzI4MzdlN2Q4N2FiY2ZhNThwLTQxMCwKKyAgICAweDEuZmZhZTEzZWJmMTg3MnAtMSwgMHgxLmJiYzBkN2MzYTg4MmNwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuMzllN2Q4NGE4OTU4MjgyMDUzNjY2ZDhjNDE5Mzg0NjZwLTczOSwKKyAgICAweDEuZmZmMDAwMDAwNjA3MXAtMSwgMHgxLjAwMDAxNDBwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZTZjZTZmNDllYTYwMjgwMTYwNTBmNWYzOGFlZmMyMDRwNzk1LAorICAgIDB4MS5mZmY4MDAwMDBlNDgzcDEwMjMsIDB4MS44ZGY2YjBkZjZiMGUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLjlhYWEzY2RkMTJkYzA1ZTI0NmIyMzQ2NTRiOGRjNzZmcC00NDIsCisgICAgMHgxLmZmZmZmZTdmZmZmZmVwLTEwMjMsIDB4MS5iYTJlOGJhMmU4YmE0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmY2NjMyNzhmNzMwNDQ4MzJhMmMxYzU4MjBjNTFjZGU3cC0xLAorICAgIDB4MS5mZmZmZmYzZmZmZmZmcC04LCAweDEuMDAwMDAwZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5mZmZmZmZjZDU1NTU0ODAxYzcyMmJmN2YzNzE1NjRkN3AtMSwKKyAgICAweDEuZmZmZmZmYmZmZmZmZnAtMSwgMHgxLjk1NTU1NTU1NTU1NTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuNjFjNTBhYzhlMDI1NzAwMGNhMGQ4YjkzOGRmZTc5YWJwNTY3LAorICAgIDB4MS5mZmZmZmZiZmZmZmZmcDEwMjMsIDB4MS4xYmJiYmJiYmJiYmI5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLmZmZmZmZjgwMDAwMDA4cC0xOTksCisgICAgMHgxLmZmZmZmZmNwLTEwMCwgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5mZmZmZmY4NTI5MWM2ODAzYjg1NDczMzJkMDFmNjNiMXAxMDIzLAorICAgIDB4MS5mZmZmZmZmZjhmZmZmcDcsIDB4MS5mZmZmZmZmZmU3ZTQ5cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEuZmZmZmZmYzdmZmY0NWY5NTFmM2E3OGRjYjU5YTdmYTVwLTg5NywKKyAgICAweDEuZmZmZmZmZmZlZmZmZnAtMiwgMHgxLmJmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS43YjI5MzU4ZDQ1ZjQxYTJmMjNlZTIyZjgwYmI2ZmQwOHA1MDgsCisgICAgMHgxLmZmZmZmZmZmZjNmZmVwLTEwMjMsIC0weDEuZmQ4ZmQ4ZmQ4ZmQ4ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDB4MS5lMzQzN2U3MGZlYzI0NTU4YzEwNzljYWRlNTYxZTI3NnAtODEwLAorICAgIDB4MS5mZmZmZmZmZmZiZmZlcC0xMDIzLCAweDEuOTU1NTU1NTU1NTU1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS5mZmZmZmZmZmZkZmZmN2ZmZmZmZWZmOTdmZTZmZmVmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmYmZmZnAtMSwgMHgxLjAwMDAwMDAwMDAwMDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEuZjY2OTdjN2FmYTBhYzgyN2Q0NWI0MjhiOWMxM2VhNDZwNzcsCisgICAgMHgxLmZmZmZmZmZmZmYwZDZwOTUyLCAweDEuNGYyMDk0ZjIwOTRmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5mZmZmZmZmZmZmYmMzN2ZmZmZmZmZmODI0MzZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmI0YnAtMSwgMHgxLmNjY2NjY2NjY2NjY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEuZmZmZmZmZmZmZmNmZTdmZmZmZmZmZmUyMzJjZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZjZDZwLTEsIDB4MS5lNjY2NjY2NjY2NjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmZmZmZmZmZmZmZmMzc3ZmZmZmZmZmZkYmRmZWZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZTZmcC0xLCAweDEuZmZmZmZmZmZmZmZmOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS4wMDAwMDAwMDAwMDNjN2ZmZmZmZmZmZWI0MzFmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZjBlcC0xLCAtMHgxLmZmZmZmZmZmZmZlOWJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuMDAwMDAwMDAwMDEyZDgwMDAwMDAwMGVjYjk4MHAtMywKKyAgICAweDEuZmZmZmZmZmZmZmYzN3AwLCAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5hZTg5Zjk5NWFhYTkzYjhhYmVhMmM3YjdjYmNkYzVlMnAzNzgsCisgICAgMHgxLmZmZmZmZmZmZmZmOWZwMiwgMHgxLmY4ZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS4wMDAwMDAwMDAxOTM0ODAwMDAwMTNmZDZiMjQwMDBhYXAtMTAxNSwKKyAgICAweDEuZmZmZmZmZmZmZmZhN3A2LCAtMHgxLjIyMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmZmZmZmZmZmZmZmZDA3ZmZmZmZmZmZmZmVjNGZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmNlcC0xLCAweDEuZTY2NjY2NjY2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5mZmZmZmZmZmZmMWNlNDg1ZmRmNGE1ZmQzZTY3MWVhOXAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZlZnAtNSwgMHgxLmZlZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS4wMDAwMDAwMDAwMDA0N2ZmZmZmZmZmZmZmZmZmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmY3cC0xLCAtMHgxLmZmZmZmZmZmZmZmZjdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDY0MHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmYnAxMDIyLCAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmODAwMDAwNmZmZmZmZmQwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xLCAweDEuZmZmZmZlM2ZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5mZmZmZmZmZmZmZjE3MjE3ZjdkMWNmOGRhMGNjNzdjYnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZkcDAsIDB4MS4wMDAwMDAwMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLmZmZmZmZmZmZmZmOGI5MGJmYmU4ZTdiZjkzMjU5NmRmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmRwMSwgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZmRmZmZmZnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xLCAtMHgxLmZmZmZmZmZmZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuOWZkZjhiY2NlNTM0NjAwNGM1ZjhmZTFmZTUyYjExMTVwNTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTY0LCAtMHgxLmNjY2NjY2NjY2NjY2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuMzM1NDA1MzYxMzk3NTgwMWUxZjE4YzYwN2Q5ZjdjOTZwLTU1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0yMjQsIDB4MS5mNmIwZGY2YjBkZjZhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLjQzMzdjZDZiMTFiZDc3ZmYxZGZiMTZlNzc0NDdlZjhlcDE1NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtNjQyLCAtMHgxLmY2YjBkZjZiMGRmNmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuOWZkZjhiY2NlNTcxZmIzYzk1NjFmMzM3YzljNDI3ZDRwMjc4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC05MzAsIC0weDEuMzMzMzMzMzMzMzMzN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5kZGI2ODAxMTdhYjk2ODA1Nzc5NmU4MTkxNGU3ODU5NXA5MDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMTIsIC0weDEuY2NjY2NjY2NjY2NjZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS4yMzg3YTZlNzU2MjMzMDAwYjQ5YzNiMGJmOWM1NDk4MnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDQsIDB4MS5lNjY2NjY2NjY2NjVjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLmE1YWRiOGM4ZTMyYzE4MDdhN2RhOTJiNDNmN2NjOTBjcDU0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDc1LCAweDEuNzBhM2Q3MGEzZDcwZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5lYzFkZWFiYmUzYTllYWUyOWJkZTU2Zjg4ZThlZjRlZXA2MjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwODEzLCAweDEuOGFmOGFmOGFmOGFmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS5mZmZmZmZmZmZmOGY5ZGNjZDUyZDQ3MGE4ODI2NjljM3A2NDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwODYzLCAweDEuN2ZmZmZmZmZmZmZmZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS4wMDAwMDAwNGRhMjBhN2QyODIxY2RmZDRmNjM0N2RkMHAxMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMsIC0weDEuMDAwMDAwMDAwZTBwNgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS40NGNlNTQxYjYwMzQ2Yzk4MDk0NDQzYjlmYWE4NGFiZHAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAweDEuNGFmZDZhMDUyYzBlMnAtNworICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5jYjcyMGRjZWY5MDY5MTUwM2NiZDFlOTQ5ZGI3NjFkOXAtMSwKKyAgICAweDEuMHAtNSwgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEucC01LAorICAgIDB4MS4wcC01LCAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEucC00MCwKKyAgICAweDEuMHAtNSwgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5wLTE2MCwKKyAgICAweDEuMHAtNSwgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAwLjAsCisgICAgMHgxLjBwLTUsIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMC4wLAorICAgIDB4MS4wcC01LCAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS4xMTMwMWQwMTI1YjUwYTRlYmJmMWFlZDkzMThjZWFjNXAwLAorICAgIDB4MS4wcDMsIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLnAzLAorICAgIDB4MS4wcDMsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMWQ0ODczMTY4YjlhYTc4MDViODAyODk5MGYwN2E5OGJwMCwKKyAgICAweDEuMHA1LCAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5wNSwKKyAgICAweDEuMHA1LCAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLnAyNCwKKyAgICAweDEuMHAzLCAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLnA5NiwKKyAgICAweDEuMHAzLCAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLnA0MCwKKyAgICAweDEuMHA1LCAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLnAxNjAsCisgICAgMHgxLjBwNSwgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDMsIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMywgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHA1LCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDUsIDB4MS4wcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLjNkZWE2NGMxMjM0MjIzNWI0MTIyM2UxM2Q3NzNmYmEycDAsCisgICAgMHgxLjBwMTAsIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLnAxMCwKKyAgICAweDEuMHAxMCwgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS40YmZkYWQ1MzYyYTI3MWQ0Mzk3YWZlYzQyZTIwZTAzNnAwLAorICAgIDB4MS4wcDEyLCAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5wMTIsCisgICAgMHgxLjBwMTIsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEucDgwLAorICAgIDB4MS4wcDEwLCAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLnAzMjAsCisgICAgMHgxLjBwMTAsIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucDk2LAorICAgIDB4MS4wcDEyLCAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLnAzODQsCisgICAgMHgxLjBwMTIsIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTk4ZDRkMGRhMDU1NzFlOWFkNDdwMiwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AtMSwgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuZmZmZmZmZmZmZmZmY2NlNTY1ZTRiZjU1MjE0NjczODVwLTMsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEsIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTk4ZDRkMGRhMDU1NzFlOWFkNDdwLTIsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMCwgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuZmZmZmZmZmZmZmZmY2NlNTY1ZTRiZjU1MjE0NjczODVwMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AwLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLjAwMDAwMDAwMDAwMDE5OGQ0ZDBkYTA1NTcxZTlhZDQ3cDIsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEsIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmNjZTU2NWU0YmY1NTIxNDY3Mzg1cC0zLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjAwMDAwMDAwMDAwMDE5OGQ0ZDBkYTA1NTcxZTlhZDQ3cC0yLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcDAsIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLmZmZmZmZmZmZmZmZmNjZTU2NWU0YmY1NTIxNDY3Mzg1cDEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMCwgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS4wMDE2MmYzOTA0MDUxZmEyYzFiNGU4NTM3NDZiNmYwNHAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xLCAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLmZmZDNhNTY1ZWZiNjRlYTg4YTgwZDhhNTI1NTRhM2EwcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xLCAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuZmZkM2E1NjVlZmI2NGVhZWVkNDY3MTgzYjhkNDZhOTZwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwMCwgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS4wMDE2MmYzOTA0MDUxZjlmOGZjNDZiMzc0M2Y4NWNiZXAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcDAsIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS45NDhiMGZjZDZlOWUwNjUyMmMzZjM1YmE3ODE5NDhiMHAxLAorICAgIDB4MS44cC0xLCAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS40NHAtMiwKKyAgICAweDEuOHAtMSwgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS45NDhiMGZjZDZlOWUwNjUyMmMzZjM1YmE3ODE5NDhiMHAtMywKKyAgICAweDEuOHAwLCAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS40NHAyLAorICAgIDB4MS44cDAsIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuMjc5YTc0NTkwMzMxYzRkMjE4ZjgxZTRhZmIyNTdkMDZwMCwKKyAgICAweDEuOHAtMSwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLmJiNjdhZTg1ODRjYWE3M2IyNTc0MmQ3MDc4YjgzYjg5cC0xLAorICAgIDB4MS44cC0xLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5hMjBiZDcwMGMyYzNkZmMwNDJjYzFhZWQ3ODcxZGI0NXAtMSwKKyAgICAweDEuOHAwLCAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuMzk4OGUxNDA5MjEyZTdkMDMyMTkxNDMyMWE1NTY0NzNwMCwKKyAgICAweDEuOHAwLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS4wMDEyNmEwYjkzZGIyOTRjYWJlMzNkYTczNTQzN2Y1MXAwLAorICAgIDB4MS44cC0xLCAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLmZmZGIyZThlZDJhMWZlNzFiZDU5ZmRkNjEwMzEzMDQ2cC0xLAorICAgIDB4MS44cC0xLCAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuZmZjYzFjNTk3M2IyMTI5YTViMTQyNGUwYzg4Nzg2YjhwLTEsCisgICAgMHgxLjhwMCwgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS4wMDE5ZjQ3NGFhMTkwMDM4YzZhZjc3NWQ5MmYxZDcyNXAwLAorICAgIDB4MS44cDAsIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLnAtNCwKKyAgICAweDEuMHAxLCAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS5wNCwKKyAgICAweDEuMHAxLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKKyAgICAweDEuMHAxLCAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAxLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5mZmE3NGVhMzgxZWZjMjE3YTc3M2YxNWMwMjVmN2MwZHAtMSwKKyAgICAweDEuMHAxLCAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLjAwMmM2MDVlMmU4Y2VjNTA2ZDIxYmZjODlhMjNhMDEwcDAsCisgICAgMHgxLjBwMSwgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnA0MCwKKyAgICAweDEuMHAtMTAsIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLnAtNDAsCisgICAgMHgxLjBwLTEwLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLmZlMDEzZjYwNDVlNDBhN2M0MTQ5OTIyM2I0YTM4Y2U4cC0xLAorICAgIDB4MS4wMDRwMCwgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuMDEwMDYwMTAwMXAwLAorICAgIDB4MS4wMDRwMCwgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS5wNSwKKyAgICAweDEuMHAtMTAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS5wLTUsCisgICAgMHgxLjBwLTEwLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5mZmMwMGJmZDgwOGJlMDg3MzY1MzY0NzQ0ODIyMGZkZnAtMSwKKyAgICAweDEuMDA0cDAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4wMDFmZmUwMDNmZjYwMWJmYWMxMDdjYTZiMjlhMGMzMXAwLAorICAgIDB4MS4wMDRwMCwgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuMDFiZDFlNzcxNzBiNDE1ZTc2MjY2MjFlYjVhYWZmNjFwMCwKKyAgICAweDEuMHAtMTAsIC0weDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEuZmM4YmM0ODY2ZThhZDJiOTYzZTE4MjhiMDc2MWNiYzZwLTEsCisgICAgMHgxLjBwLTEwLCAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuZmZmZmUwMDQwMDU1MzU1ODQ0NDQzZGY4NjgwYThlMDVwLTEsCisgICAgMHgxLjAwNHAwLCAtMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLjAwMDAwZmZlMDBkNTI1NjI4NTM0MGU0ZjNhZDM2Mjg3cDAsCisgICAgMHgxLjAwNHAwLCAweDEuMHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuM2IyYzQ3YmZmODI3MTk0NDI1NjA1YTkyMzExYWNjZWVwMTAyMCwKKyAgICAweDEuMHAtMTA3NCwgLTB4MS5lNjY2NjY2NjY2NjY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjlmZGY4YmNjZTU0MmY1MDgxNDA1NzgzNzY3N2JhZjgycC0xMDIxLAorICAgIDB4MS4wcC0xMDc0LCAweDEuZTY2NjY2NjY2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4wMDAwMDAwMDAwMDY1MTU5MWY5ZGQ1Y2RiMTEwZjZlM3AtMzg0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03LCAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwM2VmZmZmZmZmcC0zODUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcsIDB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuZmZmZmZmZmZmZmRhYmE5YjgxODhhYTc0Mjg0MTFkZDVwLTM4NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNywgMHgxLjAwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS4wMDAwMDAwMDAwMDg1MTU5MWY5ZGQ1ZGM0YmMzMzYxZnAtMzg0LAorICAgIDB4MS4wcC02LCAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLnAtMzg0LAorICAgIDB4MS4wcC02LCAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLmZmZmZmZmZmZmZkZWJhOWI4MTg4YWEyZGVkNzgyMGU3cC0zODUsCisgICAgMHgxLjBwLTYsIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuMDAwMDAwMDAwMDBjNTE1OTFmOWRkNjA1NTEyN2I0OTZwLTM4NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNiwgMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS4wMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDdlMHAtMzg0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02LCAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLmZmZmZmZmZmZmZlNmJhOWI4MTg4YTliOTE3ZTYyNzA5cC0zODUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYsIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAweDEuMDAwMDAwMDAwMDAyNzczYTc3ZDcxOTEwNmU5Mzk1ODJwLTE2MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNiwgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS5mZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDBmN2ZmZmZmZnAtMTYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02LCAweDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLmZmZmZmZmZmZmZmMDIzMTYyMGEzOWMwOTNmMTZmOGNlcC0xNjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYsIDB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuMDAwMDAwMDAwMDAzNzczYTc3ZDcxOTEzNjFjZTBkNWFwLTE2MCwKKyAgICAweDEuMHAtNSwgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS5wLTE2MCwKKyAgICAweDEuMHAtNSwgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS5mZmZmZmZmZmZmZjIyMzE2MjBhMzliZmE4YTJkMTk3MnAtMTYxLAorICAgIDB4MS4wcC01LCAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLjAwMDAwMDAwMDAwNTc3M2E3N2Q3MTkxYzMwNDJmZDA4cC0xNjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUsIDB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAxZjBwLTE2MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNSwgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS5mZmZmZmZmZmZmZjYyMzE2MjBhMzliZTJmMDU5NWFiOXAtMTYxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01LCAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjAwMDAwMDAwMDAwMGUyZTQyZmVmYTM5ZjU5ZTM2YmNicC02NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNSwgMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS5mZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAzYmZmZmZmZnAtNjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUsIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuZmZmZmZmZmZmZmY5NzQ2ZjQwNDE3MThlZDQ1OTkwYTJwLTY1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01LCAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLjAwMDAwMDAwMDAwMTYyZTQyZmVmYTM5ZmU5NTU4M2MzcC02NCwKKyAgICAweDEuMHAtNCwgMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5wLTY0LAorICAgIDB4MS4wcC00LCAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmZmZmZmZmZmZmZmYTc0NmY0MDQxNzE4YmUyOTEzMGMzcC02NSwKKyAgICAweDEuMHAtNCwgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS4wMDAwMDAwMDAwMDI2MmU0MmZlZmEzYTFiYzM5YjNiM3AtNjQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQsIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwNzhwLTY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00LCAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmZmZmZmZmZmZmZmYzc0NmY0MDQxNzE4NzY3MDA3MTA0cC02NSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNCwgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS4wMDAwMDAwMDAwMDA0NTE1OTFmOWRkNWJhNTkzMjhhYnAtMjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQsIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuZmZmZmZmZmZmZmZmODAwMDAwMDAwMDAwMGRmZmZmZmZwLTI1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00LCAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLmZmZmZmZmZmZmZmZDZiYTliODE4OGE5MzMyY2ZlMjRhcC0yNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS4wMDAwMDAwMDAwMDA4NTE1OTFmOWRkNWJiZGQ4OGQyYXAtMjQsCisgICAgMHgxLjBwLTMsIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEucC0yNCwKKyAgICAweDEuMHAtMywgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5mZmZmZmZmZmZmZmRlYmE5YjgxODhhOTJhN2JhNTA1MHAtMjUsCisgICAgMHgxLjBwLTMsIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuMDAwMDAwMDAwMDAxMDUxNTkxZjlkZDVjMTg2MzU2MjdwLTI0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zLCAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDFjcC0yNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS5mZmZmZmZmZmZmZmVlYmE5YjgxODhhOTFlNThmMmM1Y3AtMjUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMsIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuMDAwMDAwMDAwMDAwMGM1Yzg1ZmRmNDczZGYzNzU5NzlwLTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMsIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDJmZmZmZmZwLTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMsIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuZmZmZmZmZmZmZmZmMGU4ZGU4MDgyZTMwYmE0MjM3MWFwLTksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMsIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAweDEuMDAwMDAwMDAwMDAwMmM1Yzg1ZmRmNDczZTI0MmVhMzhwLTgsCisgICAgMHgxLjBwLTIsIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEucC04LAorICAgIDB4MS4wcC0yLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLmZmZmZmZmZmZmZmZjRlOGRlODA4MmUzMGE1MTNmNDFicC05LAorICAgIDB4MS4wcC0yLCAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjAwMDAwMDAwMDAwMDZjNWM4NWZkZjQ3M2YxNWEwYmI4cC04LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yLCAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgMHgxLjAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDA2cC04LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yLCAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLmZmZmZmZmZmZmZmZmNlOGRlODA4MmUzMDhjYjc2ZTFkcC05LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yLCAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmY2MmU0MmZlZmEzOWVmY2Q5NDA0cC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLCAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAwODBwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuZmZmZmZmZmZmZmZmYjNhMzdhMDIwYjhjMjRjNmQxYzZwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuMDAwMDAwMDAwMDAwMGIxNzIxN2Y3ZDFjZjdkODNjMWFwLTIsCisgICAgMHgxLjBwLTEsIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEucC0yLAorICAgIDB4MS4wcC0xLCAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmQzYTM3YTAyMGI4YzIzODEwOTY3cC0zLAorICAgIDB4MS4wcC0xLCAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLjAwMDAwMDAwMDAwMDJiMTcyMTdmN2QxY2Y5M2IyMDRhcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLCAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAxcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLCAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLjAwMDAwMDAwMDAwMDA5ZDFiZDAxMDVjNjExZmFiYzUzcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLCAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwN2ZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmY3ZmZmZmZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgMHgxLjZhMDllNjY3ZjNiY2JmNzRjMjk3MDQ0MGQ2ZDJhODMxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuNmEwOWU2NjdmM2JjYzM2MDhiNjE3Mzk3Zjc2NjBhMjNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS42YTA5ZTY2N2YzYmNjYjM4MWNmNjUyNDYzOGFkNmI0M3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjZhMDllNjY3ZjNiY2M1MWNlYTMwYTQwZmM5YzUyYWVjcDAsCisgICAgMHgxLjBwMSwgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAxLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS42YTA5ZTY2N2YzYmNkMGUwNDQ4ZmYyMTUyYzU2YmYxZnAwLAorICAgIDB4MS4wcDEsIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLjZhMDllNjY3ZjNiY2QwNmQzOTYzZTNhZGFmNjY0ZTg4cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDBiMDgxOTlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS42YTA5ZTY2N2YzYmNkYzMwOTNjMzMxYjMxMzY1ODRmOXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjZhMDllNjY3ZjNiY2MyNDhkNjYzZDQyODUwNDkxNTdicDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMSwgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAweDEuNmEwOWU2NjdmM2JjYzYzNDlmMmU0MzdmNzBmYWVmOWNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxLCAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjZTBjMzBjMzIyMmRiMjdmNDExZHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEsIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLjZhMDllNjY3ZjNiY2M1MWNlYTMwYTQwZmM5YzUyYWVjcDAsCisgICAgMHgxLjBwMiwgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAyLCAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS42YTA5ZTY2N2YzYmNkMGUwNDQ4ZmYyMTUyYzU2YmYxZnAwLAorICAgIDB4MS4wcDIsIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjZhMDllNjY3ZjNiY2NhYzUxMWNhNDNkZWJjOGE2YzZicDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMiwgMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuNmEwOWU2NjdmM2JjY2ViMGRhOTRiMzM1ZGQ5N2FmMWNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyLCAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS42YTA5ZTY2N2YzYmNkNjg4NmMyOTkxZTQxZmQyZDFiZHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIsIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgMHgxLjRiZmRhZDUzNjJhMjZkZDVlMGJkMDI1OTRiNTgxMmNicDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuNGJmZGFkNTM2MmEyNzA4ODNiY2RhYjYxOGJhYTgyMDRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyLCAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS40YmZkYWQ1MzYyYTI3NWVjZjFlZWZkNzIwYzYwMzMyMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjRiZmRhZDUzNjJhMjZmMjFkZTZhNTViYmVkYzE1ZWI0cDAsCisgICAgMHgxLjBwMywgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuNGJmZGFkNTM2MmEyNzFkNDM5N2FmZWM0MmUyMGUwMzZwMCwKKyAgICAweDEuMHAzLCAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS40YmZkYWQ1MzYyYTI3NzM4ZWY5YzUwZDRhZWYwYjVlNHAwLAorICAgIDB4MS4wcDMsIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjRiZmRhZDUzNjJhMjcxYjlkOWM0ZmM4MTMyNzhiYWI2cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMywgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuNGJmZGFkNTM2MmEyNzQ2YzM0ZDVhNTg5NzJmMjYwYzlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzLCAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS40YmZkYWQ1MzYyYTI3OWQwZWFmNmY3OTlmM2Y2N2Y5OXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLjMwNmZlMGEzMWI3MTUwYTA0YjU4YWQ4MDI3Y2ViMDUwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMywgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAweDEuMzA2ZmUwYTMxYjcxNTI0NjU1NjlmNGEyYTNkYTQzZDRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzLCAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS4zMDZmZTBhMzFiNzE1NTkyNjk4YzgyZTc5YmY4NDYxM3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMsIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgMHgxLjMwNmZlMGEzMWI3MTUxMzg4MzQ4ZmYwZGUwNzRjNWEzcDAsCisgICAgMHgxLjBwNCwgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuMzA2ZmUwYTMxYjcxNTJkZThkNWE0NjMwNWM4NWVkZWNwMCwKKyAgICAweDEuMHA0LCAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS4zMDZmZTBhMzFiNzE1NjJhYTE3Y2Q0NzU1NGFmMTliNHAwLAorICAgIDB4MS4wcDQsIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjMwNmZlMGEzMWI3MTUyNjhmMzI5YTIyOTUxYjM4ZjYxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNCwgMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAweDEuMzA2ZmUwYTMxYjcxNTQwZWZkM2FlOTRiY2RjZmUxMzNwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0LCAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIDB4MS4zMDZmZTBhMzFiNzE1NzViMTE1ZDc3OTBjNjBmNjAwZHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQsIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgMHgxLjFkNDg3MzE2OGI5YWE2NDFkYjk3YjQ5MWEzNzkzNmFlcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNCwgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuMWQ0ODczMTY4YjlhYTczOTA5NjM2MmY2Mjg1Y2I1MTZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0LCAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS4xZDQ4NzMxNjhiOWFhOTI3NjRmYWJmYmYzMjI2MzQ2MnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQsIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjFkNDg3MzE2OGI5YWE2ODkyZGI0N2EzNDhhMjFiMmM3cDAsCisgICAgMHgxLjBwNSwgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAweDEuMWQ0ODczMTY4YjlhYTc4MDViODAyODk5MGYwN2E5OGJwMCwKKyAgICAweDEuMHA1LCAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS4xZDQ4NzMxNjhiOWFhOTZlYjcxNzg1NjIxOGQ2MTk5MHAwLAorICAgIDB4MS4wcDUsIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMHgxLjFkNDg3MzE2OGI5YWE3MTdkMWVlMDU3YTU3NmMzMGM0cDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNSwgMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuMWQ0ODczMTY4YjlhYTgwZWZmYjliM2RlZGM1NzE4NDBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1LCAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIDB4MS4xZDQ4NzMxNjhiOWFhOWZkNWI1MTEwYTdlNjJmNjliNnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUsIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLjExMzAxZDAxMjViNTA5OWU5MGVhNDNkNjU5OWVlMmJicDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNSwgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuMTEzMDFkMDEyNWI1MGEyYzk1ZWUwZWI0N2FlYjFhNzhwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1LCAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS4xMTMwMWQwMTI1YjUwYjQ4OWZmNWE0NzBiZDg0Njc3MXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUsIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgMHgxLjExMzAxZDAxMjViNTA5YzBiNmVkZTNmYjEwM2Y5MDE3cDAsCisgICAgMHgxLjBwNiwgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuMTEzMDFkMDEyNWI1MGE0ZWJiZjFhZWQ5MzE4Y2VhYzVwMCwKKyAgICAweDEuMHA2LCAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS4xMTMwMWQwMTI1YjUwYjZhYzVmOTQ0OTU3NDI4N2Q5ZnAwLAorICAgIDB4MS4wcDYsIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLjExMzAxZDAxMjViNTBhMDUwMmY1MjQ0NDdkN2RjNDBlcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNiwgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuMTEzMDFkMDEyNWI1MGE5MzA3ZjhlZjIyOWVjZDY0OWVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2LCAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS4xMTMwMWQwMTI1YjUwYmFmMTIwMDg0ZGVlMTZkODMzYnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYsIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgMHgxLmZmZmZmZmZmZmYyNzQ2ZjQwNDE3NDYyNTVjOTllOTBicDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgMHgxLmZmZmZmZmZmZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIDB4MS5mZmZmZmZmZmZmNTNhMzdhMDIwYmE5MjRiMjZjZmM1OXAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuZmZmZmZmZmZmZjgwMDAwMDAwMDAwZmZiZmZmZmZmZmVwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAwLCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS5mZmZmZmZmZmZmZDhiOTBiZmJlOGU5MzI4MjY1ZDg1MXAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgMHgxLjAwMDAwMDAwMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuZmZmZmZmZmZmZjY3NDZmNDA0MTcyZjBkM2IxYTZiZjJwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAweDEuZmZmZmZmZmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMHgxLmZmZmZmZmZmZmY5M2EzN2EwMjBiOTc5YTIxYWQzZGNkcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5mZmZmZmZmZmZmYzAwMDAwMDAwMDAzZmVmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAweDEuMDAwMDAwMDAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS5mZmZmZmZmZmZmYTc0NmY0MDQxNzFmZjMxOTlhZWVkN3AxMDIzLAorICAgIDB4MS4wcDEsIDB4MS5mZmZmZmZmZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuZmZmZmZmZmZmZmQzYTM3YTAyMGI4ZTBkOTBlZDdmM2ZwMTAyMywKKyAgICAweDEuMHAxLCAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMSwgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAxLCAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcDEsIDB4MS4wMDAwMDAwMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLmZmZmZmZmZmZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIEhVR0VfVkFMLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLjAwMDAwMDAwMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAweDEuZmZmZmZmZmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAweDEuMDAwMDAwMDAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAwLCAtMHgxLjBjYzAwMDAwMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgLTB4MS4wY2MwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIC0weDEuMGNjcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIC0weDEuMGNiZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAwLCAtMHgxLjBjYmZmZmZmZmZmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgLTB4MS4wY2MwMDAwMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIC0weDEuMGNjMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAtMHgxLjBjY3AxMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAtMHgxLjBjYmZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgLTB4MS4wY2JmZmZmZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMC4wLAorICAgIDB4MS4wcDEsIC0weDEuMGNjMDAwMDAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDAuMCwKKyAgICAweDEuMHAxLCAtMHgxLjBjYzAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAwLjAsCisgICAgMHgxLjBwMSwgLTB4MS4wY2NwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAwLjAsCisgICAgMHgxLjBwMSwgLTB4MS4wY2JmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMC4wLAorICAgIDB4MS4wcDEsIC0weDEuMGNiZmZmZmZmZmZmZXAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAtMHgxLjBjYzAwMDAwMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgLTB4MS4wY2MwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIC0weDEuMGNjcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIC0weDEuMGNiZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAtMHgxLjBjYmZmZmZmZmZmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwgLTB4MS4wY2MwMDAwMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsIC0weDEuMGNjMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAtMHgxLjBjY3AxMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAtMHgxLjBjYmZmZmZmZmZmZmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwgLTB4MS4wY2JmZmZmZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgMHgxLmE4MmUxNDY5MDI1MmU1ZWEyY2ZhMzBiMjVlOTQ3Y2VkcC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzBwLTIsIDB4MS5jMzBjMzBjMzBjMmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAweDEuYTgyZTE0NjkwMjNlOGVhNTY3ODgzZmNkMjc0MmU0YjdwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3MHAtMiwgMHgxLmMzMGMzMGMzMGMyZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIDB4MS5hODJlMTQ2OTAyMmEzNzYwYTIxNjRmZTFhNGNkM2FhMnAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjcwcC0yLCAweDEuYzMwYzMwYzMwYzNwOAorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIDB4MS5hODJlMTQ2OTAyMTVlMDFiZGNhNDYwZWZkNzMzN2VhZXAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjcwcC0yLCAweDEuYzMwYzMwYzMwYzMwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMHgxLmE4MmUxNDY5MDIwMTg4ZDcxNzMyNzJmN2JlNzViMGRjcC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzBwLTIsIDB4MS5jMzBjMzBjMzBjMzAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuYTgyZTE0NjkwMjZjMGNiZmU2MTM1YjM4ZTc2ZDNhNDdwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3MXAtMiwgMHgxLmMzMGMzMGMzMGMyZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS5hODJlMTQ2OTAyNTdiNTdiMjBhMTY5MWZkMGQ4NTNkNnAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjcxcC0yLCAweDEuYzMwYzMwYzMwYzJmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgMHgxLmE4MmUxNDY5MDI0MzVlMzY1YjJmNzgwMDZmMWY1Yjg3cC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzFwLTIsIDB4MS5jMzBjMzBjMzBjM3A4CisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLmE4MmUxNDY5MDIyZjA2ZjE5NWJkODdkYWMyNDI1MTU5cC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzFwLTIsIDB4MS5jMzBjMzBjMzBjMzAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuYTgyZTE0NjkwMjFhYWZhY2QwNGI5OGFlY2E0MTM1NGRwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3MXAtMiwgMHgxLmMzMGMzMGMzMGMzMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS5hODJlMTQ2OTAyODUzMzk1OWYyYzg3M2M2MWNhZmIxOHAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjcycC0yLCAweDEuYzMwYzMwYzMwYzJmZXA4CisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgMHgxLmE4MmUxNDY5MDI3MGRjNTBkOWJhOTNlZjZiZjJjNjZkcC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzJwLTIsIDB4MS5jMzBjMzBjMzBjMmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEuYTgyZTE0NjkwMjVjODUwYzE0NDhhMTljMmFmNjdmZTRwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3MnAtMiwgMHgxLmMzMGMzMGMzMGMzcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuYTgyZTE0NjkwMjQ4MmRjNzRlZDZiMDQyOWVkNjI3N2NwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3MnAtMiwgMHgxLmMzMGMzMGMzMGMzMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIDB4MS5hODJlMTQ2OTAyMzNkNjgyODk2NGJmZTJjNzkxYmQzNXAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjcycC0yLCAweDEuYzMwYzMwYzMwYzMwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLmE4MmUxNDY5MDI5ZTVhNmI1ODQ1YjRiY2NkYWRiZjYycC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzNwLTIsIDB4MS5jMzBjMzBjMzBjMmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAweDEuYTgyZTE0NjkwMjhhMDMyNjkyZDNjMDNiZjg5MjNjN2NwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3M3AtMiwgMHgxLmMzMGMzMGMzMGMyZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS5hODJlMTQ2OTAyNzVhYmUxY2Q2MWNjYjRkODUyYTdiOXAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjczcC0yLCAweDEuYzMwYzMwYzMwYzNwOAorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS5hODJlMTQ2OTAyNjE1NDlkMDdlZmRhMjc2Y2VmMDExNnAtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjczcC0yLCAweDEuYzMwYzMwYzMwYzMwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgMHgxLmE4MmUxNDY5MDI0Y2ZkNTg0MjdkZTg5M2I2Njc0ODk1cC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzNwLTIsIDB4MS5jMzBjMzBjMzBjMzAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAweDEuYTgyZTE0NjkwMmI3ODE0MTExNWVlM2JhMmIxNTg3MjNwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3NHAtMiwgMHgxLmMzMGMzMGMzMGMyZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS5hODJlMTQ2OTAyYTMyOWZjNGJlY2VlMDU3NmI2YjYwM3AtNTAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjc0cC0yLCAweDEuYzMwYzMwYzMwYzJmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgMHgxLmE4MmUxNDY5MDI4ZWQyYjc4NjdhZjk0YTc3MzNkMzA1cC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzRwLTIsIDB4MS5jMzBjMzBjMzBjM3A4CisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgMHgxLmE4MmUxNDY5MDI3YTdiNzJjMTA5MDU4OTJjOGNkZTI5cC01MDAsCisgICAgMHgxLmRiNmRiNmRiNmRiNzRwLTIsIDB4MS5jMzBjMzBjMzBjMzAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAweDEuYTgyZTE0NjkwMjY2MjQyZGZiOTcxMmMxOTZjMWQ3NmRwLTUwMCwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI3NHAtMiwgMHgxLmMzMGMzMGMzMGMzMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDFmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMCwgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwNDBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMSwgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAyLCAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLmZmZmZmZmZmZmZlYzVjODVmZGY0NzQzZmQ2MTJiMjhhcC0xMDI1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLCAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLmZmZmZmZmZmZmZjMDAwMDAwMDAwMDNmZWZmZmZmZmZmcC0xMDI1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIDB4MS5mZmZmZmZmZmZmNjc0NmY0MDQxNzJmMDUzYjFhNmJmMnAtMTAyNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEuMDAwMDAwMDAwMDE2MmU0MmZlZmEzYWU1MzM2OTM4OGNwLTEwMjQsCisgICAgMHgxLjBwLTEsIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEucC0xMDI0LAorICAgIDB4MS4wcC0xLCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS5mZmZmZmZmZmZmYTc0NmY0MDQxNzFmZjMxOTlhZWVkN3AtMTAyNSwKKyAgICAweDEuMHAtMSwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAweDEuMDAwMDAwMDAwMDU2MmU0MmZlZmE0ODZjYzQyOGY3MWNwLTEwMjQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAweDEuMDAwMDAwMDAwMDQwMDAwMDAwMDAwN2ZlcC0xMDI0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLCAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIDB4MS4wMDAwMDAwMDAwMTNhMzdhMDIwYjhjZTQ2YjRkZmE0ZXAtMTAyNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuMDAwMDAwMDAwMDc0NTE5YTU2MjM1MzNkZjhkY2QzNTNwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsIDB4MS5mZmZmZmZmZmZmZmZicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgMHgxLjAwMDAwMDAwMDA1ZDBlMTUxMWI1ZDdmNzJjNjEzNjhhcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LCAweDEuZmZmZmZmZmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDB4MS4wMDAwMDAwMDAwNDVjYThmY2Q0ODVlY2Q5M2E2ZWM5ZHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwgMHgxLmZmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAweDEuMDAwMDAwMDAwMDJlODcwYTg4ZGFlN2MxMmVhZGY1OGNwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsIDB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLjAwMDAwMDAwMDAxNzQzODU0NDZkNzJkMWZkNzY1MTU4cC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wMDAwMDAwMDAwMDAzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wMDAwMDAwMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDgKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wMDAwMDAwMDAwMDA1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAweDEuMDAwMDAwMDAwMDc0MzVlMDgyNjQ5YTY4ZjY0ZmUzMDZwLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjAwMDAwMDAwMDA1Y2Y3ZTZjZWI2ZGRiNTJlMWIwOTllcC0xMDczLAorICAgIDB4MS4wcC0xMDczLCAweDEuZmZmZmZmZmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDU1MQorICAgIDB4MS4wMDAwMDAwMDAwNDViOWVkMWIwOTIzMWQ5N2M1NmM5ZHAtMTA3MywKKyAgICAweDEuMHAtMTA3MywgMHgxLmZmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuMDAwMDAwMDAwMDJlN2JmMzY3NWI2YWEyMzM0ZjBjMDJwLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLjAwMDAwMDAwMDAxNzNkZjliM2FkYjQ0MzAwYjdlN2NlcC0xMDczLAorICAgIDB4MS4wcC0xMDczLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAweDEuZmZmZmZmZmZmZmEzMDgxOTMxNDkzYjlkMjg1YmNiMmJwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEuZmZmZmZmZmZmZjQ2MTAzMjYyOTI4ODFiZGZiMTc5ODNwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsIDB4MS4wMDAwMDAwMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuZmZmZmZmZmZmZWU5MTg0YjkzZGJlNTdjMjYwMTBiMDRwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsIDB4MS4wMDAwMDAwMDAwMDAzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAweDEuZmZmZmZmZmZmZThjMjA2NGM1MjU1M2JkZmI0YTdmYWRwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsIDB4MS4wMDAwMDAwMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAweDEuZmZmZmZmZmZmZTJmMjg3ZGY2NmVkMmUxNWY4ZGQ3N2FwLTEwNzQsCisgICAgMHgxLjBwLTEwNzMsIDB4MS4wMDAwMDAwMDAwMDA1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjAKKyAgICAweDEuODAwMDAwMDAwMGFlMzg3Y2QxZThmM2YzOWZlMTU3ZjlwLTEwNzMsCisgICAgMHgxLjhwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLjgwMDAwMDAwMDA4YjYwNjNkYjIwYmNkNjdiNGY1YmE1cC0xMDczLAorICAgIDB4MS44cC0xMDczLCAweDEuZmZmZmZmZmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS44MDAwMDAwMDAwNjg4ODRhZTQ1ODg4ZTJiZjZmZDRhZnAtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLmZmZmZmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAweDEuODAwMDAwMDAwMDQ1YjAzMWVkOTA1ODE4NmM0MmMzMTdwLTEwNzMsCisgICAgMHgxLjhwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLjgwMDAwMDAwMDAyMmQ4MThmNmM4MmE3NzgxYzgyNmRjcC0xMDczLAorICAgIDB4MS44cC0xMDczLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS44MHAtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS43ZmZmZmZmZmZmYmE0ZmNlMTI2ZmI0OGQzNjg3MTI1ZHAtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIDB4MS43ZmZmZmZmZmZmNzQ5ZjljMjRkZjc1YzAwZmQ3ZmEyZXAtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIDB4MS43ZmZmZmZmZmZmMmVlZjZhMzc0ZjQzOTg4YmYyYjc2ZXAtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDNwMAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS43ZmZmZmZmZmZlZTkzZjM4NDliZjFlMTZhYWQ3NGExZHAtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDRwMAorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS43ZmZmZmZmZmZlYTM4ZjA2NWMyZjA1M2E2Yzg1YjIzN3AtMTA3MywKKyAgICAweDEuOHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDVwMAorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS4wMDAwMDBhMGNmNjVlYjE4MTdhNzA5NWQ5YTA0NDNhN3AwLAorICAgIDB4MS4wcC0yOSwgLTB4MS4wcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIDB4MS5mZmZmZmY1ZjMwOWE2MGFhZDVjMjMwOWY4MWY5MGRlZnAtMSwKKyAgICAweDEuMHAtMjksIDB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIDB4MS5mZmZmZmQ5ZTA3Y2YwNzc2N2E1NWFmYmU5YWNhZTkzZXAtMSwKKyAgICAweDEuMHA1NSwgLTB4MS4wcC0yOQorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIDB4MS4wMDAwMDA5ODdlMGNjNjYzNDRkODliNDk0ZTFmNDNiM3AwLAorICAgIDB4MS4wcDU1LCAweDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAweDEuZmZmZmZkNjY5NDI3Y2YxNTk1MTU4NzM4ODdjMTdjZjJwLTEsCisgICAgMHgxLjBwNjAsIC0weDEuMHAtMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuMDAwMDAwYTY1YWY2YWU2MWJlODhlYTI1NTg3OTBjZDdwMCwKKyAgICAweDEuMHA2MCwgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLmZmZmZmZmZmZmUwMDAwMDAwMDAwZmZmN2ZmZmZmZmFhcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAweDEuMHAxMworICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIDB4MS5mZmZmZmZmZmYwMDAwMDAwMDAzZmZmYmZmZmZmNTU1N3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgMHgxLjBwMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAweDEuMDAwMDAwMDAwMjAwMDAwMDAwMDFmZmYwMDAwMDAxNTVwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAweDEuMHAxMworICB9LAorICB7IC8vIEVudHJ5IDU4MgorICAgIDB4MS4wMDAwMDAwMDEwMDAwMDAwMDA3ZmZmODAwMDAyYWFhMnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIDB4MS4wcDE2CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLmZmZmZmZmMwMDAwMDA0MDAwMDAxZDU1NTU1MTZhYWFhcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuZmZmZmZlMDAwMDAwZmZmZmZmYmFhYWFhYjAwMDAwMDNwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgLTB4MS4wcDI1CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLCAtMHgxLjBwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEuMDAwMDAwMTAwMDAwMDA4MDAwMDA0MmFhYWFhZWI1NTVwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHAyNQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS4wMDAwMDA4MDAwMDAyMDAwMDAwNzU1NTU1N3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLjM2OGIyZmM2Zjk2MGE0YzFkOWFhNjI4ZmUzZjEzZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEuNWZjMjEwNDEwMjdiMjNiMDUxNTZiOGFlYThiNWU5MjVwLTEyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEucDAsCisgICAgLTB4MS4wcDAsIC0weDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDU5MgorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgLTB4MS4wcDU1CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLjQ4YjVlM2MzZTgxODY3YmYzMWE3N2E4M2MzMmM0NzQ0cDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEuYjRjOTAyZTI3M2E1YTFjNTY3MDFlNzE1ZWRhZjIxMTVwNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS41ZmMyMTA0MTAyN2IyM2IwNTE1NmI4YWVhOGI1ZTkyNXAtMTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS45NjlkNDczMjFlNGZlN2Y5YmI4YzQzYTVlNDg2YjlhZXAtOTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA1OAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgLTB4MS4wcDU1CisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLCAtMHgxLjBwNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEuYjRjOTAyZTI3M2E1YTFjNTY3MDFlNzE1ZWRhZjIxMTVwNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS4xZjQzZmNjNGI2NjM1NzdhNDVlYTliNDljY2U5ZWU3M3A0NiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA1OAorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS40NDEwOWVkYjIwYTc1NmFkNzY3ZDI1MTVjOTRhMDAzYXAtNzM5LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgLTB4MS4wcDYxCisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLnAwLAorICAgIC0weDEuMHAwLCAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAweDEuNDFjN2E4ODE0YmYwYTgwMWM1MzUzZjMwMmE0MGNjN2ZwMzY5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDYxCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEuMDAwMDAwMTAwMDAwMDA4MDAwMDA0MmFhYWFhZWI1NTVwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDI1CisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgMHgxLjAwMDAwMDgwMDAwMDIwMDAwMDA3NTU1NTU3cDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHAyOAorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLjBwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgLTB4MS4wcDI4CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLmZmZmZmZmMwMDAwMDA0MDAwMDAxZDU1NTU1MTZhYWFhcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHAyNQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS5mZmZmZmUwMDAwMDBmZmZmZmZiYWFhYWFiMDAwMDAwM3AtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTMKKyAgICAweDEuNDhiNWUzYzNlODE4NjdiZjMxYTc3YTgzYzMyYzQ3NDRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLmI0YzkwMmUyNzNhNWExYzU2NzAxZTcxNWVkYWYyMTE1cDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgLTB4MS4wcDU1CisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLjM2OGIyZmM2Zjk2MGE0YzFkOWFhNjI4ZmUzZjEzZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA1MQorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIDB4MS41ZmMyMTA0MTAyN2IyM2IwNTE1NmI4YWVhOGI1ZTkyNXAtMTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDU1CisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLmI0YzkwMmUyNzNhNWExYzU2NzAxZTcxNWVkYWYyMTE1cDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDYyMAorICAgIDB4MS4xZjQzZmNjNGI2NjM1NzdhNDVlYTliNDljY2U5ZWU3M3A0NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDU4CisgIH0sCisgIHsgLy8gRW50cnkgNjIxCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLjBwNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjMKKyAgICAweDEuNWZjMjEwNDEwMjdiMjNiMDUxNTZiOGFlYThiNWU5MjVwLTEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA1NQorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIDB4MS45NjlkNDczMjFlNGZlN2Y5YmI4YzQzYTVlNDg2YjlhZXAtOTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDU4CisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLjQxYzdhODgxNGJmMGE4MDFjNTM1M2YzMDJhNDBjYzdmcDM2OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDYxCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLjBwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgLTB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLjQ0MTA5ZWRiMjBhNzU2YWQ3NjdkMjUxNWM5NGEwMDNhcC03MzksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDYxCisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAxNSwgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgLUhVR0VfVkFMLAorICAgIC0wLjAsIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgSFVHRV9WQUwsCisgICAgMC4wLCAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wLCAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIEhVR0VfVkFMLAorICAgIDAuMCwgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgSFVHRV9WQUwsCisgICAgMC4wLCAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIEhVR0VfVkFMLAorICAgIDAuMCwgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDAKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIEhVR0VfVkFMLAorICAgIDAuMCwgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgSFVHRV9WQUwsCisgICAgMC4wLCAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wLCAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjQ1CisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wLCAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIEhVR0VfVkFMLAorICAgIC0wLjAsIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDY1MAorICAgIEhVR0VfVkFMLAorICAgIDAuMCwgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgSFVHRV9WQUwsCisgICAgLTAuMCwgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgMC4wLAorICAgIDAuMCwgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIC0wLjAsCisgICAgLTAuMCwgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDAuMCwKKyAgICAwLjAsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAtMC4wLAorICAgIC0wLjAsIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAwLjAsCisgICAgMC4wLCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDAuMCwKKyAgICAwLjAsIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAwLjAsCisgICAgMC4wLCAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMC4wLAorICAgIDAuMCwgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDAuMCwKKyAgICAwLjAsIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAwLjAsCisgICAgMC4wLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDAuMCwKKyAgICAwLjAsIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMC4wLAorICAgIDAuMCwgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAwLjAsCisgICAgLTAuMCwgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAwLjAsCisgICAgLTAuMCwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDAuMCwKKyAgICAtMC4wLCAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgMC4wLAorICAgIC0wLjAsIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAwLjAsCisgICAgLTAuMCwgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIDAuMCwKKyAgICAtMC4wLCAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIDAuMCwKKyAgICAtMC4wLCAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDAuMCwKKyAgICAtMC4wLCAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEucDAsCisgICAgLTB4MS4wcDAsIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDY3NQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzYKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwMCwgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODEKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY4NQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODYKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODcKKyAgICAweDEucDAsCisgICAgMHgxLjBwMCwgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLCAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLnAwLAorICAgIEhVR0VfVkFMLCAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAweDEucDAsCisgICAgSFVHRV9WQUwsIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTIKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwMjIsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTAyMiwgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTA3NCwgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDc0LCAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgMHgxLnAwLAorICAgIDAuMCwgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgMHgxLnAwLAorICAgIDAuMCwgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5wMCwKKyAgICAtMC4wLCAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAweDEucDAsCisgICAgLTAuMCwgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzQsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzQsIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDQKKyAgICAweDEucDAsCisgICAgLTB4MS4wcC0xMDIyLCAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEucDAsCisgICAgLTB4MS4wcC0xMDIyLCAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzA2CisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEucDAsCisgICAgLUhVR0VfVkFMLCAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEucDAsCisgICAgLUhVR0VfVkFMLCAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwMjIsIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LCAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcxMworICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgMC4wLAorICAgIEhVR0VfVkFMLCAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMC4wLAorICAgIDB4MS44cDAsIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIDAuMCwKKyAgICAtMHgxLjhwMCwgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzE4CisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLCAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIDAuMCwKKyAgICAwLjAsIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgMC4wLAorICAgIC0wLjAsIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NCwgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyLCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjhwMCwgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjhwMCwgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwsIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwsIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLCAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTCwgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzkKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMLCAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc0MQorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDMKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLCAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDc0NgorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDc0NworICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwgMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDc0OQorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIEhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICBIVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMC4wLAorICAgIEhVR0VfVkFMLCAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAwLjAsCisgICAgSFVHRV9WQUwsIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIDAuMCwKKyAgICBIVUdFX1ZBTCwgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAwLjAsCisgICAgSFVHRV9WQUwsIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLCBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc2MQorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDAuMCwKKyAgICAtMHgxLjBwLTEwMjIsIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0LCAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmZWZmZmZmcDUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKKyAgICAweDEuMHAtMSwgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAweDEucC01MTEsCisgICAgMHgxLjBwLTEwMjIsIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzY5CisgICAgMHgxLnAtNTM3LAorICAgIDB4MS4wcC0xMDc0LCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3MAorICAgIDAuMCwKKyAgICAwLjAsIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMC4wLAorICAgIC0wLjAsIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3MworICAgIDAuMCwKKyAgICBIVUdFX1ZBTCwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLjAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMThwLTUxMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAtMSwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLnA1MTEsCisgICAgMHgxLjBwLTEwMjIsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIDB4MS5wNTM3LAorICAgIDB4MS4wcC0xMDc0LCAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICBIVUdFX1ZBTCwKKyAgICAwLjAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3OQorICAgIEhVR0VfVkFMLAorICAgIC0wLjAsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDc4MQorICAgIDAuMCwKKyAgICAweDEuMHAtMSwgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODIKKyAgICAwLjAsCisgICAgMHgxLjBwLTEsIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEsCisgICAgMHgxLjBwLTEsIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xLCAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMSwgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMSwgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc4OAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMSwgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzg5CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xLCAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEuMHAtMSwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEsIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzkyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEsIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIDAuMCwKKyAgICAtMHgxLjBwLTEsIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMC4wLAorICAgIC0weDEuMHAtMSwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwLTEsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDc5NgorICAgIDB4MS5wMCwKKyAgICAtMHgxLjBwLTEsIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEsIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzk4CisgICAgSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xLCAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEucDEsCisgICAgMHgxLjBwMiwgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAweDEuODBwMSwKKyAgICAweDEuMnAzLCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIDB4MS5wMiwKKyAgICAweDEuMHA0LCAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwMgorICAgIDB4MS5wLTEsCisgICAgMHgxLjBwMiwgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgMHgxLnAtMiwKKyAgICAweDEuMHA0LCAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEucC0zLAorICAgIDB4MS4wcDYsIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgwNQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjc0OTEwZDUyZDMwNTJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIDB4MS43NDkxMGQ1MmQzMDUycDYyCisgIH0sCisgIHsgLy8gRW50cnkgODA3CisgICAgMHgxLnAyLAorICAgIDB4MS4wcDEsIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAweDEucC0yLAorICAgIDB4MS4wcDEsIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgMHgxLnAyLAorICAgIC0weDEuMHAxLCAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgODEwCisgICAgMHgxLnAtMiwKKyAgICAtMHgxLjBwMSwgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAweDEuYjBwNCwKKyAgICAweDEuOHAxLCAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMHgxLjg2YTBwMTEsCisgICAgMHgxLjRwMiwgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIDB4MS45MjFlZTBwMTksCisgICAgMHgxLmNwMiwgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS4yYTA1ZjJwMzMsCisgICAgMHgxLjRwMywgMHgxLjRwMworICB9LAorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9wb3dmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9wb3dmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTE3NjViCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3Bvd2ZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMjc2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfcG93Zl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wLCAtMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAwLjBmLAorICAgIC0weDEucC01LCAweDEuZTBwNAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMzAsIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLCAweDEuMDAwMDAycDMyCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAtNDEsIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuZDFhMDI5MTI4Nzc4ZmNhM2Y5YTI2MWJlMWNiODZiZTdwLTEyMSwKKyAgICAtMHgxLjAwMDAwNnAwLCAtMHgxLmJjMWVlMnAyNworICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuZGE2ZTNmZjIwMmRhNzUyZGU1MjNmOTg0NjMwM2MwYjVwLTEyNCwKKyAgICAtMHgxLjAwMDAwYXAwLCAtMHgxLjExMTExMnAyNworICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZWI3MGEyZmJiOGIyNDg5YjhkODM4ZWI2NWVkNjc2YWNwLTkxLAorICAgIC0weDEuMDAwMDBhcDAsIC0weDEuOGY4M2U0cDI2CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLjAwMDAyOHAwLCAweDEuMjBwNDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjAwMjAwMXAtNCwKKyAgICAtMHgxLjAwMTBwLTIsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjAwMjAwMXAtODIsCisgICAgLTB4MS4wMDEwcC00MSwgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuMDA0MDA0cC04MiwKKyAgICAtMHgxLjAwMjBwLTQxLCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS4wMDYwMDlwLTEyLAorICAgIC0weDEuMDAzMHAtNiwgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLmZiODU5YWRiZGI3ZGY2OTc0YzVjOWE1NDg5ZTY5NzJhcDUzLAorICAgIC0weDEuMDA0MHAtNiwgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMDA4MDEwcC04MiwKKyAgICAtMHgxLjAwNDBwLTQxLCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS4wMGUwMzFwLTQwLAorICAgIC0weDEuMDA3MHAtMjAsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjMxZTQ1MmZmZmZlYzk2YTNkNWE4ODJmZTI0NGY4YzYzcC0xLAorICAgIC0weDEuMDQ2ZWY0cDAsIC0weDEuZTBwNAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjMzZThmMzA0cC0zNiwKKyAgICAtMHgxLjA4cC02LCAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmQ4MjAwMWZlOWQ2YmRiYmE5ODYzOGRlZjhkMzdlNTBicC0xMjQsCisgICAgLTB4MS4xZWMzOGNwMCwgLTB4MS43OHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAtMHgxLjQ1ZjNiZGVhYTVmNjBkMTIxYzNmYTc1MWRiZDc1OGFkcDM2LAorICAgIC0weDEuYmZmZmZlcC02LCAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS5kZjQxYWU3ZWY0ZTE1ZThhZDQ1YzcyOTNkZGMzZmU3ZHA2MSwKKyAgICAtMHgxLmZmZmZmYXAtMSwgLTB4MS5jOWIyNDRwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5kZjQ2ZjI2ZjFmMTI5YTU0OTIyMDIyZjliNjUzYTk5ZnA2MSwKKyAgICAtMHgxLmZmZmZmYXAtMSwgLTB4MS5jOWIyNjJwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuMDAwMDAzMDAwMDA5MDAwMDFiMDAwMDUxMDAwMGYzcDIxLAorICAgIC0weDEuZmZmZmZhcC0yMiwgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS4wMDAwMDMwMDAwMDkwMDAwMWIwMDAwNTEwMDAwZjNwLTk5LAorICAgIC0weDEuZmZmZmZhcDk4LCAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLjc4YjU1ZWY4YWVjYjBiN2M1Yjg4NjVlMjcxNTdkODI0cC0yLAorICAgIC0weDEuZmZmZmZjcC0xLCAweDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAtMHgxLmZmZmZmZXAtNDEsCisgICAgLTB4MS5mZmZmZmVwLTQxLCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wNzEsCisgICAgMHgxLnAtMiwgLTB4MS4xY3A1CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZDU4MDcxMGUzODQ2M2MzZGQ2MmZjZTk4ZjIwM2I0NzFwLTEsCisgICAgMHgxLnAtMiwgMHgxLjAwMDdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5wLTE1LAorICAgIDB4MS5wLTIsIDB4MS5lMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAwLjBmLAorICAgIDB4MS5wLTMsIDB4MS44ZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLnAtNDAsCisgICAgMHgxLnAtNSwgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEucDQwLAorICAgIDB4MS5wLTEwLCAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuZWNmZmYwYjQ0OWQ3YzlhNWQ0OTRjODg0YzcxN2Y5Y2RwLTg4LAorICAgIDB4MS5wLTE0NCwgMHgxLjM1ODZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmVjZmZmMGI0NDlkN2M5YTVkNDk0Yzg4NGM3MTdmOWNkcC0xMDYsCisgICAgMHgxLnAtMTQ0LCAweDEuNzU4NmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LCAtMHgxLmNjYWNjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTE0OSwgLTB4MS5lNmU2NjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5lOGUxMDEzNTViZDk3NWJmZWMzZmI1ZWQzNzU3Nzc3ZHAtMSwKKyAgICAweDEuMDAwMDAycC0yLCAweDEuMTExMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmRkYjY0MzQ3YTU1ZTQ1MmVkMDRkNmExNzNjYTViNTZjcDk5LAorICAgIDB4MS4wMDAwMDJwLTExMSwgLTB4MS5jY2NjY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS41NThlOTkwMDA0YThlYmIzZTgxNzYyNzViYTlmMTA1MnA1MiwKKyAgICAweDEuMDAwMDAycC0xMTIsIC0weDEuZGYzYjVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuZmZmZmZkMDAwMDA1M2ZmZmY2NjAwMDEyMGJmZmRkYjZwOTIsCisgICAgMHgxLjAwMDAwMnAtMTI0LCAtMHgxLjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmZmZmZmZmZmZmY4MDAwMDA4MDAwMDA1NTU1NTQ1NTVwLTEsCisgICAgMHgxLjAwMDAwMnAwLCAtMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5mZmZmZmZmZmZmZjkwMDAwMDcwMDAwMDJlYWFhYTAyYXAtMSwKKyAgICAweDEuMDAwMDAycDAsIC0weDEuYzBwLTI0CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZGRiNjUzMGQ0ODViN2JhZGI0NDFhNDQ2MGNhNTRjNjJwOSwKKyAgICAweDEuMDAwMDAycDExLCAweDEuY2NjY2M2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuZDkwMTc5MGNkOWQxYjlkOGNkZjYxNjI5NjQ3OTAyMmZwLTE0LAorICAgIDB4MS4wMDAwMDJwMTcsIC0weDEuOGFmOGIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZTZkM2Y5MGQ0MTQ0NDdiMmYyNDY3ZDRjMjE0NDk2YmRwMzAsCisgICAgMHgxLjAwMDAwMnA0MiwgMHgxLjc5MDRhNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLjAwMDAxMmZmZmZkNjgwMDRmYTdmYjE1OTEwOGVjOTdkcDAsCisgICAgMHgxLjAwMDAxY3AwLCAweDEuNWI2ZGJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZDE3NDgxMGUxZTQ1MjdmMDExNTQ3ZGZjNGRjNmI0OGNwLTMsCisgICAgMHgxLjAwMDAxY3AzLCAtMHgxLjZjY2NjZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLmQ1ODE5NzBlOGI0Y2NjOWRiYzI4ODk5YmQxODQ4ZTI0cC0xLAorICAgIDB4MS4wMDAwMmVwLTIsIDB4MS5mZmZmY2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS4wMDA0NTUwMDAzMTJjYzZlNzljZWQ2NTNjMzhkN2UyYXAwLAorICAgIDB4MS4wMDAwMzhwLTUwLCAtMHgxLmZmZjc3ZXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS4wMDQ4MDkwMGE4MDdlMDNmMDE1MDA0ODAwOTAwMDhwLTgxLAorICAgIDB4MS4wMDA4cC05LCAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLmZmYzAwNGZmYjAwNDVmYzgwMjlmZTIwMTQ5ZjI0MDhlcDM5LAorICAgIDB4MS4wMDA4cC0xMCwgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmZlYzFiYjM1YjVhODI2NTI2MTAxYWRhYjA2OTVkMWQzcC0xLAorICAgIDB4MS4wMGUwcDAsIC0weDEuNmNjY2NlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZmFkYmRlMTg3YWNiYTViM2E2YzRjZGU3OGUxYmJiNGFwNDUsCisgICAgMHgxLjAxZmZmY3AwLCAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZmYxZmI2ZmY3OWE1ZTAzOTFiMWQ3ZGZiMTRkZTdkZTZwMjIsCisgICAgMHgxLjAxZmZmZXAwLCAweDEuMDAwY2I2cDExCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuNmNiYmMyZmZmNjRjNzNhYWIwMDMzZGY3NTdmMzgwOGRwMTEsCisgICAgMHgxLjAyMjBwMCwgMHgxLmUyOTVmMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZjgxZjUzMTJiYTQ0OTQyMWJkOTM5M2FkOGRmNTNhYWVwLTEsCisgICAgMHgxLjA0cDAsIC0weDEuMDAwNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmZlODhhZmZmZmZmMzNlOTMzY2ZhYWQ1ZjBlZTI2NzhwLTEsCisgICAgMHgxLjA4YzdlZXAtMTYsIDB4MS4wZjk0YjJwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuMDAwMGRjZmZmZmM2ZmVlN2U0YWFjMDlhM2Q5ZmI5YTFwMCwKKyAgICAweDEuMGVwLTIwLCAtMHgxLjAwMGNkY3AtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS43MGNlMDVlNjI5ODAzYzBjYTQ3NDgyMzkyYTg4MmRlYnAtMywKKyAgICAweDEuMGVwMywgLTB4MS45YjkxYmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS41YTg5MjZlNDczZjYxNDhhNWEzODNiZmExZWQwYjMzNXAtOTAsCisgICAgMHgxLjBmZmZmZXAwLCAtMHgxLjAwMDBmZXAxMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjhlYzViMmUxNjA2NzI4ZjIxY2YyYzkwYzJlNGQyYTlicC05MywKKyAgICAweDEuMGZmZmZlcDAsIC0weDEuMDdmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuYTQ3ZGQ0ZmZmZmUyNTQ4NjMxNDM1MTQxMzgzN2IyZmRwNCwKKyAgICAweDEuMTYyNHAtNCwgLTB4MS4zNzIwYzBwMAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLjQ0MjQwMXAwLAorICAgIDB4MS4yMDEwcDAsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmU3YWFmMmZmZmZiY2U4NmE0ZmQyY2Y5Y2I1M2Q3ZTU1cC0xLAorICAgIDB4MS4yNTMyNjRwMCwgLTB4MS42ZjgyNmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS40ZDYzMjkwMDUyZDRkMmQ4OTRiNDYzNWNiOWI5ODEzMHAtMzksCisgICAgMHgxLjI3MTFjOHAtNiwgMHgxLmFhODA0ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuYjIwMTY4ZGEwZmMxZmNhNmQzYzFiOGMyM2ZkY2FmMzlwNDksCisgICAgMHgxLjJhYWFhYXAtMSwgLTB4MS5mZmYxZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmVlMjZjMTJlYmY1YjY0OWJlZjk1NDg0ZWNlMTEzMDA3cDIsCisgICAgMHgxLjJmN2RjMHAtMjMsIC0weDEuMDk2N2MwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuYmM5MDU5MDAwMDAwMmVlMTE3NjNjNmZlMjQxODczMGNwLTIsCisgICAgMHgxLjMzNDQ3OHAtMiwgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjhjOGM4MzAwMzA4Y2VlN2MxYTQxYjA5Mjk0MzIzY2ZicC04MiwKKyAgICAweDEuM2ZmZmZlcC0xLCAweDEuZTBwNgorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLjY0M2Q0ZWZmZmU2MDZlMDU2ZTQwMzViMGJlY2MyMGZkcC01LAorICAgIDB4MS4zZmZmZmVwLTQwLCAweDEuZDJmMTkwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuZjgxNDg5MTRkNGVhM2FmOTRlZTcyNDU3MmYyZWU4ZmZwLTEsCisgICAgMHgxLjQxZDQyMHAyMCwgLTB4MS4yMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5jZDZlOTEwMDAzOGM5M2E3ZGNlNzJhMTEzY2E1NmM3MHAtMiwKKyAgICAweDEuNDQzYTQycC0yLCAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuZjg5NTkxMGYzOTJmM2I4ZmNjNjQxYWU4NzE2NGQ2ODRwLTEsCisgICAgMHgxLjQ1YTJhOHAxLCAtMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmUzZGZmOGZmZjZlOWVmZDRmMTY3YTdiOTFlYjg4MmFmcC0xLAorICAgIDB4MS40NWQxNzRwLTEsIDB4MS4wMDAwMWNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5kMzMyZjBmZmZjODMxMjhhN2ZjN2JkNTZiZTI3ZTc1NXAtMiwKKyAgICAweDEuNGExNzA0cC0yLCAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuZDVhZTc5MDAwM2NiMTdjZjgzZGViNWUyY2MwZWEwMWNwLTIsCisgICAgMHgxLjRjOWY5NHAtMiwgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmNhOGVjNmVkNWRmMzlmOTkxZjgwOGQ5NGRkNWM4ODM0cDg4LAorICAgIDB4MS40ZTljYzJwLTMwLCAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIDB4MS5kOWI2NDhmZmZjMTY3ZWQ4YjkxN2I2NGY3NDdlNjI3MHAtMiwKKyAgICAweDEuNTBiZmM4cC0yLCAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuZGE5NTA3MDAwMWEzNzk5ZmVlMDJlYTAzNDM1N2E4YzJwLTIsCisgICAgMHgxLjUxYTQ1MHAtMiwgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLmZlOTU3YjM4YzViNjk1OWJiMGVhODBlNDNjNzA5ZWNhcC0xLAorICAgIDB4MS42NzkyODZwLTExLCAweDEuOGVhODI0cC0xMgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmFjYTkxYjVmMzg4MmYzNmRjZGFiMmE4ZDY0MWMwYWI1cC01NiwKKyAgICAweDEuNzQ1ZDE4cC00LCAweDEuZmYxZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5mODJlYjcxMWZmMDA2NmVlNTkxNjU4MjU4YjY5MjMzMXAtMSwKKyAgICAweDEuNzdmZmZlcC0xMjAsIDB4MS44NWJjN2FwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZDk4YzgzMDAwMDNlODNmZDI1Yjk1MzgxZjcwMjE2MWNwLTEsCisgICAgMHgxLjdhM2QwZXAwLCAtMHgxLjk5OTk5YXAtMworICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmY4MmNlZjEzYTExYTVmNWEwNTYyZmU1MmM4ODIwN2JkcC0xLAorICAgIDB4MS43YzlhMTZwLTIsIDB4MS5mZGRmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5kMGQwMTRmZmZlNzE1ZTI3MzJiNmQxY2VkOTZhZGI3NnAxOSwKKyAgICAweDEuN2U5YmIwcC04LCAtMHgxLjU2OTgyOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuODUxOGUyZmZmZGVhMzAxMDYyYWM2YTI5YzZlNTNkZjZwLTEsCisgICAgMHgxLjg1MWViYXAtMSwgMHgxLjAwMGVwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjJkYTFlOGZmZmUxMzUwZTRkYWY1NTUzZTc1ZGNhMDIwcC00LAorICAgIDB4MS44NjE4NjJwLTQsIDB4MS4xY3AwCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEuZGQwMzdhMmM1NjFiZmUxODI0cC0xMSwKKyAgICAweDEuOGNlNjMycC00LCAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmY4MWZhNzEzZDJiMjNlYWM1MmEzNmY0YjNhMzMwMjNlcC0xLAorICAgIDB4MS44Zjg2YWFwLTEsIDB4MS4wMDAwZTBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS4wM2YxNGIwOTVhZTY4NzUyNWE3ZTM3N2UzNTA1ZTU4N3AwLAorICAgIDB4MS45MHA1LCAweDEuMDAwOHAtOAorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjM2Mzk1MTAwMDA1Y2M0MTEzYjIyMGQ2Y2U2NzJlMTY1cDAsCisgICAgMHgxLjk1NTc4ZXAxLCAweDEuNTU1NTU2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuZjgzMjQ5MTM0ZTc3YTIxYmY4MTEzNTBjNmE5MzFiZWVwLTEsCisgICAgMHgxLjk4cDUsIC0weDEuMDAwMDAycC04CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuOWY2MjhiM2NmZDA2ZjQxN2Y4NmUxY2E4ZWRjMTQ2OWVwMTE3LAorICAgIDB4MS45OTk5OWNwMywgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZDQ4NTFjY2VkYWZkZDFjYmM3OWE2YTZiM2RiYjFjYmVwMTE5LAorICAgIDB4MS45YTY2ZDBwLTE0LCAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS4yNTM2MjcwMDAxZmFiNzBhMjlkNjhlNjBmZWIxMTIxMXAtMTEsCisgICAgMHgxLjlmZmZmZXA0MSwgLTB4MS4wOTRmMWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5kMDhhZThmZmZkYzcwMjllMGJkMDJjODcxNjA2YTAxY3AwLAorICAgIDB4MS5hNTdiZWNwMSwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmI4MzYzOGZmYjIxNTYxYTIzZWM5YjhhN2IwYmE3YjUycDE1LAorICAgIDB4MS5hYWFhYWVwLTEsIC0weDEuZTBwNQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmMxOTg4NjAwMDAwMDFjMWNlZTE0NmU0NTEzNjVlYWUxcC0xMCwKKyAgICAweDEuYWQxZDFjcC0xNCwgMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmNkMGM2ZWVmYzMzZGZjMmVmM2QyYmViODFhZDU2OGNhcDMwLAorICAgIDB4MS5iMTNiMWNwLTEsIC0weDEuZmZmZjFlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS42MjI4ZTRmZWY4ODI3NjliYTA0MDE2NGZjNGJjYTBjYnAtODEsCisgICAgMHgxLmI3ZmZkOHAtMSwgMHgxLjcwNTM5NHA4CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmFlOWQ3NTZjODRiNDA2M2YyMzhkZDE1MWJlYzMwZTBicC05OSwKKyAgICAweDEuYmUwZDdjcC0xLCAweDEuZWRlNDQ4cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuOTEzZjY4ZjEwMWViZTQ5MGQyOWQ4NzNkMWUwZmQ4MjhwLTg1LAorICAgIDB4MS5iZTBmNzBwLTEsIDB4MS5hODE0N2FwOAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5iMWU3MjE1YzEyODA4MmFhYjQ5ZWRhYjE2NDE5MTlhOHAtOTksCisgICAgMHgxLmJlMGY3MHAtMSwgMHgxLmVkZTVkOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmRjNTc0MTgzZjAzZDdhMzMzYzE4ZmM2OTE2ZGFhODU5cC05NiwKKyAgICAweDEuYmZmMGQwcC0xLCAweDEuZWQyZmI0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuZGE2ZmNkMDAwMjBkYTY1OWU0YTUwYmE5OTNhNzFkOTJwNiwKKyAgICAweDEuYmZmZmZlcDEsIDB4MS5lN2Y3ODJwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuYzI1YzI2cC00NCwgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjk1MWRmYWYwZDAzNDEwOTdlNTBmOGQ1MWZiNWIwYjJhcC03MiwKKyAgICAweDEuYzRlYzc0cC0xLCAweDEuOTM1MjM0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZmIxYzZjZmZmZWYxOTk4ODRlNzhjMjZmZWYwNTdmYzNwNCwKKyAgICAweDEuYzc2MzgwcDAsIDB4MS44MDA4N2NwMgorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5kODJkN2RmZmZmZWZjMjZlMWYwOWU2ZDczYTI3NmQ4MXAtMTAsCisgICAgMHgxLmNjOGQwNnAtMTQsIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEuOTk3ZTBlZWY3YmIzZDRlZGE0MGRjNDNjNzJhNTMxNjdwLTcwLAorICAgIDB4MS5kMWNkY2NwLTEsIDB4MS5mYzI2NDBwOAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5mZTgyZGQzODFhOGQzMDU2YTRjNTU0ZjFlMTc2NGY5ZHAtMSwKKyAgICAweDEuZDQwYTY2cC0zLCAweDEuMDI5NjRjcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmYzYWIxOTM3MTY5YzlhYjdhYWM2N2I5NDg5NGVkZTEwcC0xLAorICAgIDB4MS5kNTU1NTJwLTIsIDB4MS4wMDAwMzhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZmU4MDVmMzdiODliYzBjOGIwMTYzZGI3YzExZjQ4ZjJwLTEsCisgICAgMHgxLmRhMTJmMHAtMSwgMHgxLjM4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmMyNzkzNzAwMGY2YzE1YTg2ZjhlYjA0MmEwODk1NTY2cC03MywKKyAgICAweDEuZGYwYTgycC0xLCAweDEuNzdmYmMwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuYzY0YjBkMDAwMDI3ZGJlZmExZTMyMzNlZjUzNjE5YjdwMTA1LAorICAgIDB4MS5kZmZmZmVwNTIsIDB4MS4wMDA4N2NwMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS4wODQ3YjA4MGUxMGEzZjMzYmE1OTlhMjE4YjYzMGZmYnAwLAorICAgIDB4MS5lMDZiOGNwLTEsIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLmVmZjU3MTZmYTA1N2MwZGIwMjk3MmU1YjUxYTk1ODk5cC0xLAorICAgIDB4MS5lMDZiOGNwLTEsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuMDgzZjdmNTg3Y2RiNmNjMDA1ZWU3MGFiYjEyODA2N2NwMCwKKyAgICAweDEuZTA4OTU2cC0xLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5mMDA0ZDE4NjY1M2RmNzQ2ZjQ2YWMxZGE1MWU2ODgxN3AtMSwKKyAgICAweDEuZTA4OTU2cC0xLCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjJlNzg5ODZjZTcxNjkwNjg5YTE3YjA5ZTJmZDAxMjU2cDAsCisgICAgMHgxLmUwZWU4YXAtMSwgLTB4MS41NTE1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMzRlMzA2ZWJkYWNiM2ZiMjQ5ZWZiOTJjNWRmNTBhMzBwMCwKKyAgICAweDEuZTBlZThhcC0xLCAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuMWEyMmEyYjI4NDg0M2NlZjcyOWFhNzkyMzIwMDYxNmJwMCwKKyAgICAweDEuZTBlZThhcC0xLCAtMHgxLjhkODlkOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjFkOGJlZmVkMDNmOWVkOGQ2MjhlNzJhY2ZkNTg0NmYycDAsCisgICAgMHgxLmUwZWU4YXAtMSwgLTB4MS5iZWIwNTBwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5lOWU1MThmYjE2MTdlY2ViOTc2YjQyMDkzMGEzY2U1MXAtMSwKKyAgICAweDEuZTBlZThhcC0xLCAweDEuNjhmODgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmEwYmRiYWU3ZDFiOTVkMWFkYjA1OTM5YWVmY2QzNWYycC05MywKKyAgICAweDEuZTEzZDBlcC0xLCAweDEuMDIyMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS44Nzg5MjY5YzNkNzM2MWY2NDY0ZjM2OWJhZWNkMzU4ZnAtOTAsCisgICAgMHgxLmUxZjA3ZXAtMSwgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS5mNjdkY2IwZDAzNGVjMjhhNDMwOWM0NDE1NTY1ZjllY3AxLAorICAgIDB4MS5lNDAwMGVwNSwgMHgxLjU1NTU1YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5lNjU3ODU5ODZmYjdhZjEyMTkyMzQ5ODBkY2E0ZWYzNHAtOTMsCisgICAgMHgxLmU2ZjMxNHAtMSwgMHgxLjNlMGY4MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5lOWE1NzY5MWYwNmFjYmQzODkzOTAxZTM3NjgzMDUzN3AtMTI1LAorICAgIDB4MS5lOTc0NzBwLTEsIDB4MS5kZDY3YzBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuODY2ZWM5MDAwMTdkNjg5Y2E1ZGViMThjNDc2OWVmZmJwLTIsCisgICAgMHgxLmYwNDBjOHAtMSwgMHgxLmVkZGJhY3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmY4MzlkNTEwMWJjZjMwNWUwNGMxODdhZmI1M2E2YzUzcC0xLAorICAgIDB4MS5mMDkxZTJwLTEsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuYTM3NGMyYjAwYjYyMTcyY2Q0Njc4ZGY1ZTUwM2I2ZjFwLTEzLAorICAgIDB4MS5mNjBjMDRwLTE0LCAweDEuZTJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLmY4NDc5YjExNTU2MWYxNzAyOGIyMzZmYjhmMmMxNzNmcC0xLAorICAgIDB4MS5mZjE3NGFwLTEsIDB4MS4xMTk5OTZwMworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5mOTQ3Y2YwZGViYjNmNTE0OWRmNjZlMDgzOTZmNjVjNXAzLAorICAgIDB4MS5mZjFmZmVwMywgMHgxLmZkZGZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mM2FlNmIzNmMzMTYzY2QyZDQyZjFlZGRmNGU5NTg4NnAtMSwKKyAgICAweDEuZmY3ZmZlcDAsIC0weDEuMjAzYzg4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLmY4NDJiNTEyN2U1NjJiZjRjYzJmYjJhYTMwMzEyMzkzcC0xLAorICAgIDB4MS5mZmJmZmVwLTEwLCAweDEuM2ZmZmZlcC05CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmZjMDQyY2ZjYWJkM2QwMGMzZmQ3ZTlkMTY4YTIwMTgycC0xLAorICAgIDB4MS5mZmMwcC0xLCAweDEuZmZjN2ZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuZjgzNmNkMTI5MjdmZTNlYTJlYjk4MTA0NjJjMjA4ZGNwLTEsCisgICAgMHgxLmZmZjc3ZXAxMDAsIC0weDEuY2IwOTY4cC0xMworICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5mZmYzZmQwYzA2MDhjNjBkOGMzYzlmMDc2NDg2MDdkNXAxNCwKKyAgICAweDEuZmZmN2ZlcDksIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmY4MTFkMzE0MGQxNzI5NmRjNjMzY2QwMGJmZDk2Mzg3cC0xLAorICAgIDB4MS5mZmY4cC0xLCAweDEuZmY4MHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmZlOWQ5NzM4ZDBjYTlmMTFmOTdhNzFiMWEzNjYxNDVhcC0xLAorICAgIDB4MS5mZmZlZmVwMSwgLTB4MS5mZmZmZjhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLmYyMDJiMzAwMDAzMDY5YTdhODg2ZTQ0ZmJmNjA3M2MycDcyLAorICAgIDB4MS5mZmZmM2VwMTI3LCAweDEuMjNkNzE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmI4MzRhMTkyODc1ZDcyYWM4MWI3OTE1Y2Y4OTc5NjkwcC05NiwKKyAgICAweDEuZmZmZmJlcC0xLCAweDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLmZmZmZlZDAwMDAyOWJmZmRkZWY1NDk1ZTU2MDNjZTNicC0xLAorICAgIDB4MS5mZmZmZTJwLTEsIDB4MS40NDQ0M2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZDZhYjVkMGU3YWUwMzQzM2FkODI0NjE2ZDBkYjhiMDNwMTUsCisgICAgMHgxLmZmZmZlZXAtNDAsIC0weDEuYTBlYTBjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLjAwMDAwMmZmZmZmZmZmZmZmMjdmZmZlNGZmZmZlYmMwcDAsCisgICAgMHgxLmZmZmZmYXAtMSwgLTB4MS5mZmZmZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuMDAwMDAwMDAwMDA0MDAwMDA0MDAwMDBkNTU1NTZkNTVwMCwKKyAgICAweDEuZmZmZmZjcC0xLCAtMHgxLnAtMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMDAwMDAwMDAwMDAzODAwMDAzODAwMDBhY2FhYWJkZWFwMCwKKyAgICAweDEuZmZmZmZjcC0xLCAtMHgxLmMwcC0yNAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS5lZThmYzkzMDk1NGQyOWIzZTI4YzVjMWVhZmI5ZjdmZHA0LAorICAgIDB4MS5mZmZmZmNwLTY3LCAtMHgxLjMzMzM0ZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS42YTBhMGNmZmYzZmZhMDBlNzUzYWY4NGMwMTAwZmJmMHAxMywKKyAgICAweDEuZmZmZmZjcC0xMDYsIC0weDEuMDc1MDc4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLjlhYWFiY2ZmZjJhZTNlN2M4NGU4NzA4NTY0MDM1NWU0cDQ4LAorICAgIDB4MS5mZmZmZmNwLTEyMCwgLTB4MS5hMmU4YmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuZjU3NzdhZmZmZTJiNDZhNGRhOTg3NTkwNDNkZTQ4NjJwLTUyLAorICAgIDB4MS5mZmZmZmNwODAsIC0weDEuNDI4ZjU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjczZDMzMjFlN2YyNDdkZWYxZWQ0YzgxNmM4MjRjNzdkcC02NywKKyAgICAweDEuZmZmZmZjcDExOSwgLTB4MS4xYjkxYjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxcDEwLAorICAgIDB4MS5mZmZmZmVwLTExLCAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLmZmZmZmZWZmZmZmZmJmZmZmZmRmZmZmZmViZmZmZmYxcDAsCisgICAgMHgxLmZmZmZmZXAxLCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLmNiNWEwZDAwMDJmNTE2OWExM2RlMzk4NjNiYjVmOTFkcC0yLAorICAgIDB4MS40MjFlZmFwLTIsIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuY2I3MjBkY2VmOTA2OTE1MDNjYmQxZTk0OWRiNzYxZDlwLTEsCisgICAgMHgxLnAtNSwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5wLTUsCisgICAgMHgxLnAtNSwgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS5wLTQwLAorICAgIDB4MS5wLTUsIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDAuMGYsCisgICAgMHgxLnAtNSwgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMC4wZiwKKyAgICAweDEucC01LCAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMC4wZiwKKyAgICAweDEucC01LCAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuMTEzMDFkMDEyNWI1MGE0ZWJiZjFhZWQ5MzE4Y2VhYzVwMCwKKyAgICAweDEucDMsIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEucDMsCisgICAgMHgxLnAzLCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuMWQ0ODczMTY4YjlhYTc4MDViODAyODk5MGYwN2E5OGJwMCwKKyAgICAweDEucDUsIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAweDEucDUsCisgICAgMHgxLnA1LCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEucDI0LAorICAgIDB4MS5wMywgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLnA5NiwKKyAgICAweDEucDMsIDB4MS5wNQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5wNDAsCisgICAgMHgxLnA1LCAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnA1LCAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAzLCAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMywgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDUsIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnA1LCAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjNkZWE2NGMxMjM0MjIzNWI0MTIyM2UxM2Q3NzNmYmEycDAsCisgICAgMHgxLnAxMCwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS5wMTAsCisgICAgMHgxLnAxMCwgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLjRiZmRhZDUzNjJhMjcxZDQzOTdhZmVjNDJlMjBlMDM2cDAsCisgICAgMHgxLnAxMiwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS5wMTIsCisgICAgMHgxLnAxMiwgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLnA4MCwKKyAgICAweDEucDEwLCAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMCwgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLnA5NiwKKyAgICAweDEucDEyLCAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxMiwgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwMDAwMTI2MDU1Y2ZkNDQzYzUzNzY5MzBkMTY5ZjMycDIsCisgICAgMHgxLjZhMDllNnAtMSwgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS5mZmZmZmRiM2Y1NDhhOGQ4MjdiNjVjODhwLTMsCisgICAgMHgxLjZhMDllNnAtMSwgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLjAwMDAwMTI2MDU1Y2ZkNDQzYzUzNzY5MzBkMTY5ZjMycC0yLAorICAgIDB4MS42YTA5ZTZwMCwgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5mZmZmZmRiM2Y1NDhhOGQ4MjdiNjVjODhwMSwKKyAgICAweDEuNmEwOWU2cDAsIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS4wMDAwMDEyNjA1NWNmZDQ0M2M1Mzc2OTMwZDE2OWYzMnAyLAorICAgIDB4MS42YTA5ZTZwLTEsIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuZmZmZmZkYjNmNTQ4YThkODI3YjY1Yzg4cC0zLAorICAgIDB4MS42YTA5ZTZwLTEsIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS4wMDAwMDEyNjA1NWNmZDQ0M2M1Mzc2OTMwZDE2OWYzMnAtMiwKKyAgICAweDEuNmEwOWU2cDAsIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuZmZmZmZkYjNmNTQ4YThkODI3YjY1Yzg4cDEsCisgICAgMHgxLjZhMDllNnAwLCAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuMDAxNjJmMzkxNjY3MGQxMTk2OTcxNTRhZTM1MTJjMmRwMCwKKyAgICAweDEuNmEwOWU2cC0xLCAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuZmZkM2E1NjVjYWY4ZDIzMGRhZTEyNTA2OTNhNTVmMjNwLTEsCisgICAgMHgxLjZhMDllNnAtMSwgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuZmZkM2E1NjYxNDczY2IyNjlmODk0YjQwZDZjZjliYWNwLTEsCisgICAgMHgxLjZhMDllNnAwLCAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAweDEuMDAxNjJmMzhmMWEzMzIzMGJjMzQwYmQzNzUyZmMwOTRwMCwKKyAgICAweDEuNmEwOWU2cDAsIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjk0OGIwZmNkNmU5ZTA2NTIyYzNmMzViYTc4MTk0OGIwcDEsCisgICAgMHgxLjgwcC0xLCAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLjQ0cC0yLAorICAgIDB4MS44MHAtMSwgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLjk0OGIwZmNkNmU5ZTA2NTIyYzNmMzViYTc4MTk0OGIwcC0zLAorICAgIDB4MS44MHAwLCAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLjQ0cDIsCisgICAgMHgxLjgwcDAsIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS4yNzlhNzQ1OTAzMzFjNGQyMThmODFlNGFmYjI1N2QwNnAwLAorICAgIDB4MS44MHAtMSwgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuYmI2N2FlODU4NGNhYTczYjI1NzQyZDcwNzhiODNiODlwLTEsCisgICAgMHgxLjgwcC0xLCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmEyMGJkNzAwYzJjM2RmYzA0MmNjMWFlZDc4NzFkYjQ1cC0xLAorICAgIDB4MS44MHAwLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDB4MS4zOTg4ZTE0MDkyMTJlN2QwMzIxOTE0MzIxYTU1NjQ3M3AwLAorICAgIDB4MS44MHAwLCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLjAwMTI2YTBiOTNkYjI5NGNhYmUzM2RhNzM1NDM3ZjUxcDAsCisgICAgMHgxLjgwcC0xLCAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuZmZkYjJlOGVkMmExZmU3MWJkNTlmZGQ2MTAzMTMwNDZwLTEsCisgICAgMHgxLjgwcC0xLCAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mZmNjMWM1OTczYjIxMjlhNWIxNDI0ZTBjODg3ODZiOHAtMSwKKyAgICAweDEuODBwMCwgLTB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLjAwMTlmNDc0YWExOTAwMzhjNmFmNzc1ZDkyZjFkNzI1cDAsCisgICAgMHgxLjgwcDAsIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5wLTQsCisgICAgMHgxLnAxLCAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLnA0LAorICAgIDB4MS5wMSwgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xLAorICAgIDB4MS5wMSwgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEucDEsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5mZmE3NGVhMzgxZWZjMjE3YTc3M2YxNWMwMjVmN2MwZHAtMSwKKyAgICAweDEucDEsIC0weDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS4wMDJjNjA1ZTJlOGNlYzUwNmQyMWJmYzg5YTIzYTAxMHAwLAorICAgIDB4MS5wMSwgMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEucDQwLAorICAgIDB4MS5wLTEwLCAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLnAtNDAsCisgICAgMHgxLnAtMTAsIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5mZTAxM2Y2MDQ1ZTQwYTdjNDE0OTkyMjNiNGEzOGNlOHAtMSwKKyAgICAweDEuMDA0MHAwLCAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjAxMDA2MDEwMDFwMCwKKyAgICAweDEuMDA0MHAwLCAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEucDUsCisgICAgMHgxLnAtMTAsIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLnAtNSwKKyAgICAweDEucC0xMCwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5mZmMwMGJmZDgwOGJlMDg3MzY1MzY0NzQ0ODIyMGZkZnAtMSwKKyAgICAweDEuMDA0MHAwLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS4wMDFmZmUwMDNmZjYwMWJmYWMxMDdjYTZiMjlhMGMzMXAwLAorICAgIDB4MS4wMDQwcDAsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuMDFiZDFlNzcxNzBiNDE1ZTc2MjY2MjFlYjVhYWZmNjFwMCwKKyAgICAweDEucC0xMCwgLTB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmZjOGJjNDg2NmU4YWQyYjk2M2UxODI4YjA3NjFjYmM2cC0xLAorICAgIDB4MS5wLTEwLCAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5mZmZmZTAwNDAwNTUzNTU4NDQ0NDNkZjg2ODBhOGUwNXAtMSwKKyAgICAweDEuMDA0MHAwLCAtMHgxLnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuMDAwMDBmZmUwMGQ1MjU2Mjg1MzQwZTRmM2FkMzYyODdwMCwKKyAgICAweDEuMDA0MHAwLCAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS4wMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDFwLTEyOCwKKyAgICAweDEuZmZmZmZlcDEyNywgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LCAtMHgxLmU2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS41ZGI0ZWNhYjNlMWNiOTQyZmM5MGEwMDNlNzdkYTI4MnAtMTQyLAorICAgIDB4MS5wLTE0OSwgMHgxLmU2NjY2NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAtNywgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcC03LCAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwLTcsIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDAuMGYsCisgICAgMHgxLnAtNiwgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMC4wZiwKKyAgICAweDEucC02LCAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAwLjBmLAorICAgIDB4MS5wLTYsIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDAuMGYsCisgICAgMHgxLjAwMDAwMnAtNiwgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMC4wZiwKKyAgICAweDEuMDAwMDAycC02LCAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAwLjBmLAorICAgIDB4MS4wMDAwMDJwLTYsIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAtNiwgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcC02LCAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwLTYsIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDAuMGYsCisgICAgMHgxLnAtNSwgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMC4wZiwKKyAgICAweDEucC01LCAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAwLjBmLAorICAgIDB4MS5wLTUsIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDAuMGYsCisgICAgMHgxLjAwMDAwMnAtNSwgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMC4wZiwKKyAgICAweDEuMDAwMDAycC01LCAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAwLjBmLAorICAgIDB4MS4wMDAwMDJwLTUsIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS4wMDAwMWM1Yzg3OTgyM2UzYWYzOWJhYTIyMWRmODRiMHAtNjQsCisgICAgMHgxLmZmZmZmZXAtNSwgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLmZmZmZlMDAwMDBlZmZmZmJhMDAwMGUzN2ZmZGRlMHAtNjUsCisgICAgMHgxLmZmZmZmZXAtNSwgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLmZmZmYyZThlMTI4ZjA3ZjhhYTk1ZmI4YjM1ZDcyZWE0cC02NSwKKyAgICAweDEuZmZmZmZlcC01LCAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuMDAwMDJjNWM4OWQ1ZWM2Y2E0ZDdjOGFjYzAxN2I3YzlwLTY0LAorICAgIDB4MS5wLTQsIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5wLTY0LAorICAgIDB4MS5wLTQsIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5mZmZmNGU4ZTA2YzdlOGEyYTg0ZGFlZDhlYzU2ZDZjM3AtNjUsCisgICAgMHgxLnAtNCwgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjAwMDA0YzVjOTEyMTdlMDJhNDU5MmJhN2FkNWRmMzJlcC02NCwKKyAgICAweDEuMDAwMDAycC00LCAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMDAwMDIwMDAwMWUwMDAxMTgwMDA3MWMwMDIyMjAwMDdwLTY0LAorICAgIDB4MS4wMDAwMDJwLTQsIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5mZmZmOGU4ZGY0ZDlhODM1MTMyMGMwNWQzZDgxNGY5ZnAtNjUsCisgICAgMHgxLjAwMDAwMnAtNCwgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjAwMDAwOGEyYjI2ODg0ZjEwNjhiODE4ODk0NjdkNjdmcC0yNCwKKyAgICAweDEuZmZmZmZlcC00LCAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuZmZmZmYwMDAwMDM3ZmZmZjkwMDAwMDhiZmZmZjkwcC0yNSwKKyAgICAweDEuZmZmZmZlcC00LCAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuZmZmZmFkNzUzZDgyNWRmY2RkNjVlNGVhNTRjY2NlYjVwLTI1LAorICAgIDB4MS5mZmZmZmVwLTQsIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS4wMDAwMTBhMmIyYzk5YTg1NzA3ZThmMTNkYzY0ODcxMHAtMjQsCisgICAgMHgxLnAtMywgMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLnAtMjQsCisgICAgMHgxLnAtMywgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLmZmZmZiZDc1M2I1NjA3ZGEyYzI2MDA2NDgyM2IzMGE3cC0yNSwKKyAgICAweDEucC0zLCAweDEuMDAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuMDAwMDIwYTJiNDMzYzViOTE3MjlmZTA0OTMzMjFkM2ZwLTI0LAorICAgIDB4MS4wMDAwMDJwLTMsIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS4wMDAwMTAwMDAwNzAwMDAxYzAwMDA0NjAwMDA3cC0yNCwKKyAgICAweDEuMDAwMDAycC0zLCAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuZmZmZmRkNzUzODRkNWI3MTVlOTQzNzY5OTUzNDg4M2JwLTI1LAorICAgIDB4MS4wMDAwMDJwLTMsIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS4wMDAwMDE4YjkwYzJmMDJhODBmM2JiODJhYTEyZTk1ZHAtOCwKKyAgICAweDEuZmZmZmZlcC0zLCAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuZmZmZmY4MDAwMDBiZmZmZmY4MDAwMDAycC05LAorICAgIDB4MS5mZmZmZmVwLTMsIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5mZmZmZTFkMWJkZDBiZGM2YjQ2ZWE2NGE0MmIxYmFkMnAtOSwKKyAgICAweDEuZmZmZmZlcC0zLCAweDEuMDAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuMDAwMDA1OGI5MGNmMWU2ZDk3ZjljYTE0ZGJjYzE2MjhwLTgsCisgICAgMHgxLnAtMiwgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLnAtOCwKKyAgICAweDEucC0yLCAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuZmZmZmU5ZDFiZDdjMDRiYzQ4MjUxNDdhOGMwZTYzZTNwLTksCisgICAgMHgxLnAtMiwgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjAwMDAwZDhiOTEwYjdhZjQ1MWE2NDJlNmQwYjY2YjA2cC04LAorICAgIDB4MS4wMDAwMDJwLTIsIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS4wMDAwMDgwMDAwMTgwMDAwMjAwMDAwMTBwLTgsCisgICAgMHgxLjAwMDAwMnAtMiwgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgMHgxLmZmZmZmOWQxYmQxYTkyYTVkMTEwODhlZDE3NDE3ZjQxcC05LAorICAgIDB4MS4wMDAwMDJwLTIsIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS5mZmZmZmVjNWM4NjIzZmIyNWQ3ZDA2YWM2MWEzMDYzZnAtMywKKyAgICAweDEuZmZmZmZlcC0yLCAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuZmZmZmZjMDAwMDAycC0zLAorICAgIDB4MS5mZmZmZmVwLTIsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5mZmZmZjY3NDZmNGQwODgyODliODgwZmUwMmFkYmZkZXAtMywKKyAgICAweDEuZmZmZmZlcC0yLCAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuMDAwMDAxNjJlNDMwZTVhMThmNjExOWUzYzAyMjgyYTVwLTIsCisgICAgMHgxLnAtMSwgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLnAtMiwKKyAgICAweDEucC0xLCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuZmZmZmZhNzQ2ZjQ3ZjE2MGZjZjg5MGUzYjgwMWFlZGRwLTMsCisgICAgMHgxLnAtMSwgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjAwMDAwNTYyZTQzNjcxMzI0NmY3YTAxMzRjODI4N2VhcC0yLAorICAgIDB4MS4wMDAwMDJwLTEsIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS4wMDAwMDQwMDAwMDRwLTIsCisgICAgMHgxLjAwMDAwMnAtMSwgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjAwMDAwMTNhMzdhNGUxOGYwNTE5YTYwMzk1NGE1YjBicC0yLAorICAgIDB4MS4wMDAwMDJwLTEsIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5mZmZmZmUwMDAwMDFmZmZmZmYwMDAwMDBhYWFhYWE4MHAtMSwKKyAgICAweDEuZmZmZmZlcC0xLCAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xLCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuZmZmZmZkZmZmZmZjMDAwMDAyMDAwMDA0YWFhYWFhZmZwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS4wMDAwMDFmZmZmZmRmZmZmZmUwMDAwMDM1NTU1NTNmZnAwLAorICAgIDB4MS4wMDAwMDJwMCwgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAsIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS4wMDAwMDIwMDAwMDQwMDAwMDQwMDAwMDU1NTU1NThwMCwKKyAgICAweDEuMDAwMDAycDAsIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS42YTA5ZTUzNTc1YjEyMzYyNWNjMTk2OGE2NjU1ODFhNHAwLAorICAgIDB4MS5mZmZmZmVwMCwgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS42YTA5ZTViMmVlYzk2N2NkOTdiMmVmZjc1ZjQ3MTQ5M3AwLAorICAgIDB4MS5mZmZmZmVwMCwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS42YTA5ZTZhZGUwZmE3MzE5MDUyYzQ5NDhkZWE0OGE3NnAwLAorICAgIDB4MS5mZmZmZmVwMCwgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS42YTA5ZTVlYTdhYTM5MGRiZjg2OGI3Mjc4Yjc0NDgyOXAwLAorICAgIDB4MS5wMSwgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS5wMSwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS42YTA5ZTc2MmU1ZWZiYmQ3MjE3MDE4MjUwYTNhYjE5NHAwLAorICAgIDB4MS5wMSwgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS42YTA5ZTc1NDg0ODc1YzQ3YzNjZWUwMWQ5ZjM0OGJkOHAwLAorICAgIDB4MS4wMDAwMDJwMSwgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS42YTA5ZTdkMWZkYTI3YmY3N2Q0NTI3MmRkMmQ4M2E0YnAwLAorICAgIDB4MS4wMDAwMDJwMSwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS42YTA5ZThjY2VmZDkzZGNiZWNmNTRkMjMzZWE4MjY1YnAwLAorICAgIDB4MS4wMDAwMDJwMSwgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS42YTA5ZTU4ZmY4MmE0ZWNlZGI3M2Y3NjZkM2QwNzU4ZHAwLAorICAgIDB4MS5mZmZmZmVwMSwgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS42YTA5ZTYwZDcxNDMwZDFhZDYxYjQ1ZDVkMWFiZGYxNXAwLAorICAgIDB4MS5mZmZmZmVwMSwgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS42YTA5ZTcwODYzNzUwYzI3YzNkZDVjMGVjZGNlNTI3MXAwLAorICAgIDB4MS5mZmZmZmVwMSwgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS42YTA5ZTVlYTdhYTM5MGRiZjg2OGI3Mjc4Yjc0NDgyOXAwLAorICAgIDB4MS5wMiwgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS5wMiwgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIDB4MS42YTA5ZTc2MmU1ZWZiYmQ3MjE3MDE4MjUwYTNhYjE5NHAwLAorICAgIDB4MS5wMiwgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS42YTA5ZTY5ZjdmOTU0OTUwYTFmY2UwYTFiMmMzNjJkMHAwLAorICAgIDB4MS4wMDAwMDJwMiwgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS42YTA5ZTcxY2Y4YWY3NTNlZGI5NzAwYWQ5MDZjOWNkOXAwLAorICAgIDB4MS4wMDAwMDJwMiwgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS42YTA5ZTgxN2VhZTQ0ZjkwNDlkNTMyY2RhMmE5MGNiNnAwLAorICAgIDB4MS4wMDAwMDJwMiwgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS40YmZkYWNkMzk3OGFkZjlmM2I2NGZlMDFmNDA1OTNhZXAwLAorICAgIDB4MS5mZmZmZmVwMiwgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS40YmZkYWQyOWUyZWNiNTQwMDVhNmRiZWM2N2M1ZTQxM3AwLAorICAgIDB4MS5mZmZmZmVwMiwgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS40YmZkYWRkNjc5YjBhM2NjNDBlY2I2MGFmZGM0YTU1MnAwLAorICAgIDB4MS5mZmZmZmVwMiwgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS40YmZkYWNmZDE3NDA2N2VhNGQ0M2Y4YjA5Zjk3NGQ4NnAwLAorICAgIDB4MS5wMywgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS40YmZkYWQ1MzYyYTI3MWQ0Mzk3YWZlYzQyZTIwZTAzNnAwLAorICAgIDB4MS5wMywgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS40YmZkYWRmZmY5NjZjOGYyYjhmNDRiMTM3ZmJmYWE5NnAwLAorICAgIDB4MS5wMywgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS40YmZkYWQ1MDE2YWIwYjkxMzRlMDU3NGFiY2E3OGI3YXAwLAorICAgIDB4MS4wMDAwMDJwMywgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS40YmZkYWRhNjYyMGQ3ZTBkNjQ4N2ZkOWJlNjQ4ODdhM3AwLAorICAgIDB4MS4wMDAwMDJwMywgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS40YmZkYWU1MmY4ZDJhNjUwNmI3NGNlMjMyZmRjZDI5MXAwLAorICAgIDB4MS4wMDAwMDJwMywgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDMzMAorICAgIDB4MS4zMDZmZTA1YjUzMzEzMWMyNzYxMmNmZmY3YTBmZmRiMHAwLAorICAgIDB4MS5mZmZmZmVwMywgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS4zMDZmZTA5MDE0NzMzZmMxOGYyYThlNWJjOGEzMGNkY3AwLAorICAgIDB4MS5mZmZmZmVwMywgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4zMDZmZTBmOTk2Zjc3NzJjOWE5NGMxNjA4MzQ0NjI2MnAwLAorICAgIDB4MS5mZmZmZmVwMywgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS4zMDZmZTA2ZTVhMmYyZThjNjIwZjdlNTVjYzgwM2RiYXAwLAorICAgIDB4MS5wNCwgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS4zMDZmZTBhMzFiNzE1MmRlOGQ1YTQ2MzA1Yzg1ZWRlY3AwLAorICAgIDB4MS5wNCwgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS4zMDZmZTEwYzlkZjViNmVmYmQ0MDBiNzgwNjAwNWZhOXAwLAorICAgIDB4MS5wNCwgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS4zMDZmZTA5NDY4MmFmMjljOGZlOWY3MzVmYjFjNDA4MXAwLAorICAgIDB4MS4wMDAwMDJwNCwgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS4zMDZmZTBjOTI5NmQ0Mzk0ZGY1Zjk5YjliZDFhNDdkMnAwLAorICAgIDB4MS4wMDAwMDJwNCwgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS4zMDZmZTEzMmFiZjIwMGYyNTdjNjEyZTA3ZjE0OWFhM3AwLAorICAgIDB4MS4wMDAwMDJwNCwgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS4xZDQ4NzJlZWJiOWRhMDNiYmFjNWFmNzliMGNmOTQwOXAwLAorICAgIDB4MS5mZmZmZmVwNCwgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS4xZDQ4NzMwZGExNTcwYTdhODVlYTFmYzFmY2Y4OGZkZHAwLAorICAgIDB4MS5mZmZmZmVwNCwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS4xZDQ4NzM0YjZjYzllOTAyMTQ4ZmFmY2VmYTllYWEwNnAwLAorICAgIDB4MS5mZmZmZmVwNCwgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS4xZDQ4NzJmN2E1ZTEzMzYwMWVmM2I0OTVmM2Y4OWExMnAwLAorICAgIDB4MS5wNSwgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS4xZDQ4NzMxNjhiOWFhNzgwNWI4MDI4OTkwZjA3YTk4YnAwLAorICAgIDB4MS5wNSwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS4xZDQ4NzM1NDU3MGQ5OWNhY2NmYmRiN2UzNWZmMGRmMXAwLAorICAgIDB4MS5wNSwgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS4xZDQ4NzMwOTdhNjgzZmMwMTMwOGQ0YTcxNjE1YjgyMHAwLAorICAgIDB4MS4wMDAwMDJwNSwgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS4xZDQ4NzMyODYwMjFjN2EzMzI0OTZlZTRhZDkxYWRlOXAwLAorICAgIDB4MS4wMDAwMDJwNSwgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS4xZDQ4NzM2NjJiOTRlMTczNjkzOWE1MDNkODNjNWU0MnAwLAorICAgIDB4MS4wMDAwMDJwNSwgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS4xMTMwMWNlYjIwNTQxZmYzZjY1NWUzYmQxMjI3MWIzZXAwLAorICAgIDB4MS5mZmZmZmVwNSwgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS4xMTMwMWNmY2UwZjQ5NDMwNGU2MzA3OTlmYzhiMTgxZnAwLAorICAgIDB4MS5mZmZmZmVwNSwgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS4xMTMwMWQyMDYyMzU4MDFlZjU1ODA4OTQzNTRmOTAwY3AwLAorICAgIDB4MS5mZmZmZmVwNSwgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS4xMTMwMWNlZjY1MTQ5MTg2YTBlY2I2MDcxMzU2NWI0NXAwLAorICAgIDB4MS5wNiwgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS4xMTMwMWQwMTI1YjUwYTRlYmJmMWFlZDkzMThjZWFjNXAwLAorICAgIDB4MS5wNiwgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS4xMTMwMWQyNGE2ZjVmZjU0ZThkODExYTRiOTc4YjU0ZnAwLAorICAgIDB4MS5wNiwgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS4xMTMwMWNmN2VlOTU2ODEwZWRkOTRkMWM3Njk3ZjM0YnAwLAorICAgIDB4MS4wMDAwMDJwNiwgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIDB4MS4xMTMwMWQwOWFmMzVlOWYwOGVjMGI2NTY0Y2ZkNGQzYXAwLAorICAgIDB4MS4wMDAwMDJwNiwgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS4xMTMwMWQyZDMwNzZmMTI1Yzc2ZjY5YmYxMDdmNDA1MnAwLAorICAgIDB4MS4wMDAwMDJwNiwgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS5mZmZjOWQxZWFmZjFlMmJjNzA4ZmJiOWZjMTQxZDE4NnAxMjcsCisgICAgMHgxLmZmZmZmY3AwLCAweDEuZmZmZmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuZmZmZDRlOGZiODM5MzNjYmY1ZjgyN2UyNTgxZjIwZGNwMTI3LAorICAgIDB4MS5mZmZmZmNwMCwgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmZmZmUwMDAwZmRmZmFjYTgxNDU4ZjgwZWMzMDFhMmM4cDEyNywKKyAgICAweDEuZmZmZmZjcDAsIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5mZmZmNjJlNDQyMGE2YjA2ZDcwMmY0ZTJhYWZmYTRlNXAxMjcsCisgICAgMHgxLmZmZmZmY3AwLCAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AwLCAweDEuMDAwMDA0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuZmZmZDlkMWQzZTAwZDk5YmRmZTM2MTlmMDVmMmVjYzFwMTI3LAorICAgIDB4MS5mZmZmZmVwMCwgMHgxLmZmZmZmY3A2CisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgMHgxLmZmZmU0ZThlYTAwMGMzZjk5ZDg0ZDg4NmMwMzgxMWZhcDEyNywKKyAgICAweDEuZmZmZmZlcDAsIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5mZmZmMDAwMDNmN2ZmNTk1MDE0NThmYTA3NjE1ODY4YnAxMjcsCisgICAgMHgxLmZmZmZmZXAwLCAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAwLCAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAwLCAweDEuMDAwMDA0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAweDEuZmZmZTlkMWM0YjBmMzdmNDEzZDQ0YzY2YzA0ODE4MzRwMTI3LAorICAgIDB4MS5wMSwgMHgxLmZmZmZmY3A2CisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLmZmZmY0ZThlMDZjN2U4YTJhODRkYWVkOGVjNTZkNmMzcDEyNywKKyAgICAweDEucDEsIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDEsIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDEsIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucDEsIDB4MS4wMDAwMDRwNworICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDAycDEsIDB4MS5mZmZmZmNwNgorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDAycDEsIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDAycDEsIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDAycDEsIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDAycDEsIDB4MS4wMDAwMDRwNworICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDA0cDEsIDB4MS5mZmZmZmNwNgorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDA0cDEsIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDA0cDEsIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDA0cDEsIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuMDAwMDA0cDEsIDB4MS4wMDAwMDRwNworICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmY3AwLCAtMHgxLjJjMDAwNHA3CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcDAsIC0weDEuMmMwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwMCwgLTB4MS4yY3A3CisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZjcDAsIC0weDEuMmJmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwMCwgLTB4MS4yYmZmZmNwNworICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAwLCAtMHgxLjJjMDAwNHA3CisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDAsIC0weDEuMmMwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMCwgLTB4MS4yY3A3CisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDAsIC0weDEuMmJmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMCwgLTB4MS4yYmZmZmNwNworICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDAuMGYsCisgICAgMHgxLnAxLCAtMHgxLjJjMDAwNHA3CisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgMC4wZiwKKyAgICAweDEucDEsIC0weDEuMmMwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAwLjBmLAorICAgIDB4MS5wMSwgLTB4MS4yY3A3CisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgMC4wZiwKKyAgICAweDEucDEsIC0weDEuMmJmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAwLjBmLAorICAgIDB4MS5wMSwgLTB4MS4yYmZmZmNwNworICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDAuMGYsCisgICAgMHgxLjAwMDAwMnAxLCAtMHgxLjJjMDAwNHA3CisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMC4wZiwKKyAgICAweDEuMDAwMDAycDEsIC0weDEuMmMwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAwLjBmLAorICAgIDB4MS4wMDAwMDJwMSwgLTB4MS4yY3A3CisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMC4wZiwKKyAgICAweDEuMDAwMDAycDEsIC0weDEuMmJmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAwLjBmLAorICAgIDB4MS4wMDAwMDJwMSwgLTB4MS4yYmZmZmNwNworICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDAuMGYsCisgICAgMHgxLjAwMDAwNHAxLCAtMHgxLjJjMDAwNHA3CisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMC4wZiwKKyAgICAweDEuMDAwMDA0cDEsIC0weDEuMmMwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAwLjBmLAorICAgIDB4MS4wMDAwMDRwMSwgLTB4MS4yY3A3CisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMC4wZiwKKyAgICAweDEuMDAwMDA0cDEsIC0weDEuMmJmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAwLjBmLAorICAgIDB4MS4wMDAwMDRwMSwgLTB4MS4yYmZmZmNwNworICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDAuMGYsCisgICAgMHgxLmRiNmRiMnAtMiwgMHgxLmMzMGMyY3A4CisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGIycC0yLCAweDEuYzMwYzJlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYjJwLTIsIDB4MS5jMzBjMzBwOAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiMnAtMiwgMHgxLmMzMGMzMnA4CisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGIycC0yLCAweDEuYzMwYzM0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYjRwLTIsIDB4MS5jMzBjMmNwOAorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDAuMGYsCisgICAgMHgxLmRiNmRiNHAtMiwgMHgxLmMzMGMyZXA4CisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGI0cC0yLCAweDEuYzMwYzMwcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYjRwLTIsIDB4MS5jMzBjMzJwOAorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiNHAtMiwgMHgxLmMzMGMzNHA4CisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGI2cC0yLCAweDEuYzMwYzJjcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYjZwLTIsIDB4MS5jMzBjMmVwOAorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiNnAtMiwgMHgxLmMzMGMzMHA4CisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGI2cC0yLCAweDEuYzMwYzMycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYjZwLTIsIDB4MS5jMzBjMzRwOAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiOHAtMiwgMHgxLmMzMGMyY3A4CisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGI4cC0yLCAweDEuYzMwYzJlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYjhwLTIsIDB4MS5jMzBjMzBwOAorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiOHAtMiwgMHgxLmMzMGMzMnA4CisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGI4cC0yLCAweDEuYzMwYzM0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYmFwLTIsIDB4MS5jMzBjMmNwOAorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiYXAtMiwgMHgxLmMzMGMyZXA4CisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMC4wZiwKKyAgICAweDEuZGI2ZGJhcC0yLCAweDEuYzMwYzMwcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAwLjBmLAorICAgIDB4MS5kYjZkYmFwLTIsIDB4MS5jMzBjMzJwOAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDAuMGYsCisgICAgMHgxLmRiNmRiYXAtMiwgMHgxLmMzMGMzNHA4CisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS5mZmZmZmMwMDAwMDdmZmZmZjAwMDAwMWZmZmZmYzBwLTEsCisgICAgLTB4MS4wMDAwMDJwMCwgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIC0weDEucDAsCisgICAgLTB4MS5wMCwgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIC0weDEuMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmVwLTEsIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAxLCAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMiwgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcC0yLCAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwLTIsIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwLTIsIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDAKKyAgICAwLjBmLAorICAgIDB4MS5wLTEsIDB4MS5mZmZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIDAuMGYsCisgICAgMHgxLnAtMSwgMHgxLnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDAuMGYsCisgICAgMHgxLnAtMSwgMHgxLjAwMDAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDAuMGYsCisgICAgMHgxLjAwMDAwMnAtMSwgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMC4wZiwKKyAgICAweDEuMDAwMDAycC0xLCAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgMC4wZiwKKyAgICAweDEuMDAwMDAycC0xLCAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLjAwMDIwNDY3MTA5NTQ3NTcyZmE4ZjNmNjUzZWRhNTQ4cC0xNDksCisgICAgMHgxLnAtMTQ5LCAweDEuZmZmZmY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgMHgxLjAwMDE5ZDFlZWQyMWY0NDhmMmM2MjE3ZWFiM2Q5YzU1cC0xNDksCisgICAgMHgxLnAtMTQ5LCAweDEuZmZmZmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLjAwMDEzNWQ2ZjM1OTZlMDg2ZDQ2MzM3NmE5ZGJkMWUycC0xNDksCisgICAgMHgxLnAtMTQ5LCAweDEuZmZmZmZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgMHgxLjAwMDBjZThmMjMzYmEzYzY0YWRjNTY2N2E3YjBiMjQ1cC0xNDksCisgICAgMHgxLnAtMTQ5LCAweDEuZmZmZmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLjAwMDA2NzQ3N2NjODg0YjMzZTAzZDBiYjc3NTcxMTUwcC0xNDksCisgICAgMHgxLnAtMTQ5LCAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgMC4wZiwKKyAgICAweDEucC0xNDksIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LCAweDEuMDAwMDA0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwgMHgxLjAwMDAwNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksIDB4MS4wMDAwMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LCAweDEuMDAwMDBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuMDAwMjAwZWZjZjI1YmFiMWM3Y2QyMjgyNzM0MWFiNjNwLTE0OCwKKyAgICAweDEucC0xNDgsIDB4MS5mZmZmZjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuMDAwMTlhNTkyMDRjODJmZTA2MGNmNmQzMjBmMTU0MzNwLTE0OCwKKyAgICAweDEucC0xNDgsIDB4MS5mZmZmZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuMDAwMTMzYzI5YThmNjRmMjA0ZGExM2I3MmViYzU2ZWRwLTE0OCwKKyAgICAweDEucC0xNDgsIDB4MS5mZmZmZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuMDAwMGNkMmMzZGVlNTAxNDgwNzI5NTA2NTkzZmQ2OGJwLTE0OCwKKyAgICAweDEucC0xNDgsIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuMDAwMDY2OTYwYTY5MzNlYzNiYWU4Y2FiOWNjZmQ1NDNwLTE0OCwKKyAgICAweDEucC0xNDgsIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4LCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuZmZmZTY1YThjZDAyMWRlZGQ1NWE0MGMyNzJkYzhhY2FwLTE0OSwKKyAgICAweDEucC0xNDgsIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS5mZmZjY2I1MmUyZTFmMjYwMjAyMTgyMGFiNDcwMzZmZXAtMTQ5LAorICAgIDB4MS5wLTE0OCwgMHgxLjAwMDAwNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmZmZmIzMGZlNDE5ZTc1YzU1MmMwNzRiNzVlOWUxMzJkcC0xNDksCisgICAgMHgxLnAtMTQ4LCAweDEuMDAwMDA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZmZmOTk2YWFlOTM2YTA4Y2IyZGUzYjgzMTMyNjgzNmNwLTE0OSwKKyAgICAweDEucC0xNDgsIDB4MS4wMDAwMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS5mZmY3ZmM1OGQ5YTk2YjI2NTk1ZGMxYjkxYWFiMTA2NXAtMTQ5LAorICAgIDB4MS5wLTE0OCwgMHgxLjAwMDAwYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLjgwMDJmZTVkMzI2ZTE5MTBkY2Y1YWRhZGM0ZmI4MGJhcC0xNDgsCisgICAgMHgxLjgwcC0xNDgsIDB4MS5mZmZmZjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuODAwMjY1MTZlMTMwNDEwY2JjMzRkNmJlMWYzMTRhZjNwLTE0OCwKKyAgICAweDEuODBwLTE0OCwgMHgxLmZmZmZmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIDB4MS44MDAxY2JkMGNkMjAwNDhkYzAwNDFhYWU2ODUzZjQxNHAtMTQ4LAorICAgIDB4MS44MHAtMTQ4LCAweDEuZmZmZmZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLjgwMDEzMjhhZjYzZDRiMjhiOTNiYWMxNjhkMzIzNzc2cC0xNDgsCisgICAgMHgxLjgwcC0xNDgsIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuODAwMDk5NDU1Yzg3ZmM3MjgyNzJkNzk5M2MzYzBlZDJwLTE0OCwKKyAgICAweDEuODBwLTE0OCwgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIDB4MS44MHAtMTQ4LAorICAgIDB4MS44MHAtMTQ4LCAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuN2ZmZWNkNzVmZTc3OWMzOWRhMzEyYTBhZTY1NzVhYWVwLTE0OCwKKyAgICAweDEuODBwLTE0OCwgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLjdmZmQ5YWVjZjFhMzVjN2UyZDZmNjdiOTE3N2I4YmM4cC0xNDgsCisgICAgMHgxLjgwcC0xNDgsIDB4MS4wMDAwMDRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS43ZmZjNjg2NGQ5ODI3ZDc1N2I0YjYwMDFkMGM4MGE5YnAtMTQ4LAorICAgIDB4MS44MHAtMTQ4LCAweDEuMDAwMDA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAweDEuN2ZmYjM1ZGRiNjE0M2JjOGUxNDVhNmQ2MTZhMWI1NTFwLTE0OCwKKyAgICAweDEuODBwLTE0OCwgMHgxLjAwMDAwOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLjdmZmEwMzU3ODc1N2Q0MjIxOGNlNDBhNTc4Yzc0NDc2cC0xNDgsCisgICAgMHgxLjgwcC0xNDgsIDB4MS4wMDAwMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS4wMDAwMDBhMGNmNjVlYjE4MTdhNzA5NWQ5YTA0NDNhN3AwLAorICAgIDB4MS5wLTI5LCAtMHgxLnAtMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuZmZmZmZmNWYzMDlhNjBhYWQ1YzIzMDlmODFmOTBkZWZwLTEsCisgICAgMHgxLnAtMjksIDB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLmZmZmZmZDllMDdjZjA3NzY3YTU1YWZiZTlhY2FlOTNlcC0xLAorICAgIDB4MS5wNTUsIC0weDEucC0yOQorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDB4MS4wMDAwMDA5ODdlMGNjNjYzNDRkODliNDk0ZTFmNDNiM3AwLAorICAgIDB4MS5wNTUsIDB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgMHgxLmZmZmZmZDY2OTQyN2NmMTU5NTE1ODczODg3YzE3Y2YycC0xLAorICAgIDB4MS5wNjAsIC0weDEucC0yOQorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIDB4MS4wMDAwMDBhNjVhZjZhZTYxYmU4OGVhMjU1ODc5MGNkN3AwLAorICAgIDB4MS5wNjAsIDB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgMHgxLmZmYzAwM2ZmYjU1YWFhNGNkMzRmMzQzMWVhNWI3N2YxcC0xLAorICAgIDB4MS5mZmZmZmVwLTEsIDB4MS5wMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuZmUwMGZmYTljMGZiM2JmMjhjOGE5YjJiM2QyZDdkYWFwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwgMHgxLnAxNgorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS5wMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLjAwNDAwODAwNmFhNTU0MzMyYjhmZWQwOWQ4ZWQyOWYzcDAsCisgICAgMHgxLjAwMDAwMnAwLCAweDEucDEzCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgMHgxLjAyMDIwMTUzZmM0MDViMTIzYjMzYTczY2I5M2EzNjQ4cDAsCisgICAgMHgxLjAwMDAwMnAwLCAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgMHgxLjJjMTU2MDMyNjk0MDcwMDZiOGYzNWU4ZTRmMTQ5N2JhcC02LAorICAgIC0weDEuMDAwMDAycDAsIC0weDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLmM4NDY4ODdlZTM3OWM1YWY2MzdjNzM0OWFmYzlmNjk5cC00NywKKyAgICAtMHgxLjAwMDAwMnAwLCAtMHgxLnAyOAorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLCAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAwLCAtMHgxLnAyOAorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIDB4MS5kOGU2NGQ2NjM0Mjg5MWM4NmZiM2M4N2QxZWQ2ZDVjNXAyLAorICAgIC0weDEuZmZmZmZlcC0xLCAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS4wZjJlYzU4M2Y2MTFlNGI4ZmMxY2M3YjUwZWZiYjczOHAyMywKKyAgICAtMHgxLmZmZmZmZXAtMSwgLTB4MS5wMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuZDhlNjRkNjYzNDI4OTFjODZmYjNjODdkMWVkNmQ1YzVwMiwKKyAgICAweDEuZmZmZmZlcC0xLCAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS4wZjJlYzU4M2Y2MTFlNGI4ZmMxY2M3YjUwZWZiYjczOHAyMywKKyAgICAweDEuZmZmZmZlcC0xLCAtMHgxLnAyOAorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIDB4MS5wMCwKKyAgICAweDEucDAsIC0weDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgLTB4MS5wMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAweDEuMmMxNTYwMzI2OTQwNzAwNmI4ZjM1ZThlNGYxNDk3YmFwLTYsCisgICAgMHgxLjAwMDAwMnAwLCAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIDB4MS5jODQ2ODg3ZWUzNzljNWFmNjM3YzczNDlhZmM5ZjY5OXAtNDcsCisgICAgMHgxLjAwMDAwMnAwLCAtMHgxLnAyOAorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAxNSwgMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLCAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAtSFVHRV9WQUxGLAorICAgIC0wLjBmLCAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYsIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLCAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUxNAorICAgIEhVR0VfVkFMRiwKKyAgICAwLjBmLCAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLCAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYsIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYsIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYsIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICBIVUdFX1ZBTEYsCisgICAgMC4wZiwgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIEhVR0VfVkFMRiwKKyAgICAtMC4wZiwgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDAuMCwKKyAgICAwLjBmLCAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0wLjAsCisgICAgLTAuMGYsIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMC4wLAorICAgIDAuMGYsIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIC0wLjAsCisgICAgLTAuMGYsIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUyOAorICAgIDAuMCwKKyAgICAwLjBmLCBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAwLjAsCisgICAgMC4wZiwgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzAKKyAgICAwLjAsCisgICAgMC4wZiwgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAwLjAsCisgICAgMC4wZiwgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMC4wLAorICAgIDAuMGYsIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMworICAgIDAuMCwKKyAgICAwLjBmLCAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMC4wLAorICAgIDAuMGYsIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDAuMCwKKyAgICAwLjBmLCAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAwLjAsCisgICAgLTAuMGYsIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIDAuMCwKKyAgICAtMC4wZiwgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAwLjAsCisgICAgLTAuMGYsIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgMC4wLAorICAgIC0wLjBmLCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAwLjAsCisgICAgLTAuMGYsIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIDAuMCwKKyAgICAtMC4wZiwgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDAuMCwKKyAgICAtMC4wZiwgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMC4wLAorICAgIC0wLjBmLCAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgMHgxLnAwLAorICAgIC0weDEucDAsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTAKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAweDEucDAsCisgICAgLTB4MS5wMCwgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS5wMCwKKyAgICAweDEucDAsIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIDB4MS5wMCwKKyAgICAweDEucDAsIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIDB4MS5wMCwKKyAgICAweDEucDAsIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAweDEucDAsCisgICAgMHgxLnAwLCAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLnAwLAorICAgIDB4MS5wMCwgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIDB4MS5wMCwKKyAgICAweDEucDAsIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMHgxLnAwLAorICAgIEhVR0VfVkFMRiwgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIDB4MS5wMCwKKyAgICBIVUdFX1ZBTEYsIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI3LCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI3LCAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS5wMCwKKyAgICAweDEucC0xMjYsIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTI2LCAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDksIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjkKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTQ5LCAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS5wMCwKKyAgICAwLjBmLCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLnAwLAorICAgIDAuMGYsIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLnAwLAorICAgIC0wLjBmLCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLnAwLAorICAgIC0wLjBmLCAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5LCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLnAwLAorICAgIC0weDEucC0xNDksIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgMHgxLnAwLAorICAgIC0weDEucC0xMjYsIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzcKKyAgICAweDEucDAsCisgICAgLTB4MS5wLTEyNiwgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcDEyNywgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEucDAsCisgICAgLUhVR0VfVkFMRiwgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS5wMCwKKyAgICAtSFVHRV9WQUxGLCAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU4MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LCAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIDAuMCwKKyAgICBIVUdFX1ZBTEYsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAwLjAsCisgICAgMHgxLjgwcDAsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAwLjAsCisgICAgLTB4MS44MHAwLCAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLCAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMC4wLAorICAgIDB4MS5wLTEyNiwgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgMC4wLAorICAgIDAuMGYsIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDAuMCwKKyAgICAtMC4wZiwgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgMC4wLAorICAgIC0weDEucC0xNDksIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDAuMCwKKyAgICAtMHgxLnAtMTI2LCBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLCBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuODBwMCwgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuODBwMCwgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMRiwgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUxGLCAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDYwOAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLCAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLCAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMRiwgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLCAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTEYsIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLCAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDYxNgorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLCBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLCAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDYyMAorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLCAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIEhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIDAuMCwKKyAgICBIVUdFX1ZBTEYsIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjUKKyAgICAwLjAsCisgICAgSFVHRV9WQUxGLCAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgMC4wLAorICAgIEhVR0VfVkFMRiwgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMC4wLAorICAgIEhVR0VfVkFMRiwgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDYyOQorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LCAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDAuMGYsCisgICAgMHgxLnAtMTI2LCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LCAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDksIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzgKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwNjMsCisgICAgMHgxLmZmZmZmZXAxMjcsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEsCisgICAgMHgxLnAtMSwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5wLTYzLAorICAgIDB4MS5wLTEyNiwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtNzUsCisgICAgMHgxLnAtMTQ5LCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMC4wLAorICAgIDAuMGYsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAwLjAsCisgICAgLTAuMGYsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICBIVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDAuMCwKKyAgICBIVUdFX1ZBTEYsIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgMHgxLjAwMDAwMDgwMDAwMDYwMDAwMDUwMDAwMDQ2MDAwMDNmcC02NCwKKyAgICAweDEuZmZmZmZlcDEyNywgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEucC0xLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS5wNjMsCisgICAgMHgxLnAtMTI2LCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXA3NCwKKyAgICAweDEucC0xNDksIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYsIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgSFVHRV9WQUxGLAorICAgIC0wLjBmLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDAuMCwKKyAgICAtSFVHRV9WQUxGLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIDAuMCwKKyAgICAweDEucC0xLCBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTQKKyAgICAwLjBmLAorICAgIDB4MS5wLTEsIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xLAorICAgIDB4MS5wLTEsIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmFwLTEsCisgICAgMHgxLnAtMSwgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjU3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTEsIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xLCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEsIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEsIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJwMCwKKyAgICAweDEucC0xLCAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCisgICAgMHgxLnAtMSwgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMSwgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjY0CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEsIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAwLjAsCisgICAgLTB4MS5wLTEsIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDAuMGYsCisgICAgLTB4MS5wLTEsIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgMHgxLnAwLAorICAgIC0weDEucC0xLCAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLnAwLAorICAgIC0weDEucC0xLCAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIEhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMSwgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjcwCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucC0xLCAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLnAxLAorICAgIDB4MS5wMiwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIDB4MS44MHAxLAorICAgIDB4MS4yMHAzLCAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLnAyLAorICAgIDB4MS5wNCwgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAyLCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NQorICAgIDB4MS5wLTIsCisgICAgMHgxLnA0LCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS5wLTMsCisgICAgMHgxLnA2LCAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcC0xLCAtMHgxLjc0OTEwY3A2MgorICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAtMSwgMHgxLjc0OTEwY3A2MgorICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIDB4MS5wMiwKKyAgICAweDEucDEsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIDB4MS5wLTIsCisgICAgMHgxLnAxLCAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLnAyLAorICAgIC0weDEucDEsIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5wLTIsCisgICAgLTB4MS5wMSwgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIDB4MS5iMHA0LAorICAgIDB4MS44MHAxLCAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS44NmEwcDExLAorICAgIDB4MS40MHAyLCAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDY4NQorICAgIDB4MS45MjFlZTBwMTksCisgICAgMHgxLmMwcDIsIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLjJhMDVmMnAzMywKKyAgICAweDEuNDBwMywgMHgxLjQwcDMKKyAgfSwKK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvcmVtYWluZGVyX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9yZW1haW5kZXJfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMTk2MTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvcmVtYWluZGVyX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEzMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlPiBnX3JlbWFpbmRlcl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEucC01MSwKKyAgICAtMHgxLjRwMSwKKyAgICAtMHgxLjNmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuYzBwNDYsCisgICAgLTB4MS44ODg4ODg4ODg4ODg4cDEwMCwKKyAgICAtMHgxLjExMTExMTExMTExMTFwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjBjNmY3YTIwcC0xNiwKKyAgICAtMHgxLmIxNTU1NTU1NTU1NTVwOSwKKyAgICAtMHgxLmIxNTU1NWRiOGQxMjZwOQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTE3LAorICAgIC0weDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMTcsCisgICAgMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAwLjAsCisgICAgMHgxLjBwLTExNywKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAwLjAsCisgICAgMHgxLjBwLTExNywKKyAgICAweDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0weDEucC0xMTcsCisgICAgLTB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgLTB4MS5wLTExNywKKyAgICAtMHgxLjBwLTExNywKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucC0xMTcsCisgICAgMHgxLjBwLTExNywKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEucC0xMTcsCisgICAgLTB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEuMHAtMTE3LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucC0xMTcsCisgICAgMHgxLjBwLTExNywKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDAuMCwKKyAgICAweDEuMHAxNSwKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMC4wLAorICAgIDB4MS4wcDE1LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDAuMCwKKyAgICAweDEuMHAxNiwKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMC4wLAorICAgIDB4MS4wcDE2LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDAuMCwKKyAgICAweDEuMHAxNSwKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLnAxNSwKKyAgICAweDEuMHAxNSwKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMC4wLAorICAgIDB4MS4wcDE2LAorICAgIDB4MS4wcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAwLjAsCisgICAgMHgxLjBwMTYsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5wMTUsCisgICAgMHgxLjBwMTUsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEucDE1LAorICAgIDB4MS4wcDE1LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLnAxNiwKKyAgICAweDEuMHAxNiwKKyAgICAweDEuMHAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wMTYsCisgICAgMHgxLjBwMTYsCisgICAgMHgxLjBwMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAwLjAsCisgICAgMHgxLjBwMTE3LAorICAgIC0weDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAwLjAsCisgICAgMHgxLjBwMTE3LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgLTB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMC4wLAorICAgIDB4MS4wcDExOCwKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMC4wLAorICAgIDB4MS4wcDExOCwKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5wMTE3LAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAwLjAsCisgICAgMHgxLjBwMTE4LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMC4wLAorICAgIDB4MS45cDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnAwLAorICAgIDB4MS45cDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLnAyLAorICAgIDB4MS45cDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAwLAorICAgIDB4MS45NDBwNiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEucDEsCisgICAgMHgxLjk0MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS40MHAyLAorICAgIDB4MS45NDBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEucDEsCisgICAgMHgxLjk4MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS44MHAxLAorICAgIDB4MS45ODBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuODBwMiwKKyAgICAweDEuOTgwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjljMHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5wMiwKKyAgICAweDEuOWMwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS40MHAyLAorICAgIDB4MS45YzBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEucDIsCisgICAgMHgxLmFwNiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuNDBwMiwKKyAgICAweDEuYXA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEucDIsCisgICAgMHgxLmFwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuNDBwMiwKKyAgICAweDEuYTQwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS40MHAyLAorICAgIDB4MS5hNDBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLmE0MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEucDIsCisgICAgMHgxLmE4MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEucDIsCisgICAgMHgxLmE4MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEucDEsCisgICAgMHgxLmE4MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIC0weDEuODBwMSwKKyAgICAweDEuYWMwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS44MHAxLAorICAgIDB4MS5hYzBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLnAwLAorICAgIDB4MS5hYzBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLnAxLAorICAgIDB4MS5icDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5wMSwKKyAgICAweDEuYnA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDAuMCwKKyAgICAweDEuYnA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEucDAsCisgICAgMHgxLmI0MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEucDAsCisgICAgMHgxLmI0MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5wMCwKKyAgICAweDEuYjQwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMC4wLAorICAgIDB4MS5iODBwNiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAwLjAsCisgICAgMHgxLmI4MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5wMSwKKyAgICAweDEuYjgwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5wLTUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLjgwcC01MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5wLTUyLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMC4wLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLnAtNTMsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuODBwLTUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLnAtNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuODBwLTUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLnAtNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLnAtNTMsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0wLjAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLnAtNTIsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS5wLTUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuODBwLTUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLjgwcC01MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS5wLTUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLnAtNTIsCisgICAgMHgxLjBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMC4wLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5wLTUzLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLnAtNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjgwcC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS5wLTUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLjgwcC01MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLnAtNTMsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDAuMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLnAtNTIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjgwcC01MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLnAtNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLjBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMC4wLAorICAgIC0weDEuMHA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLnAtMSwKKyAgICAtMHgxLjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLnAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuMDAwMDAwMDAwMDAwNDBwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMiwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDAuMCwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLnAtNTIsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS44MHAtNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLnAtNTMsCisgICAgLTB4MS4wcDUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTAuMCwKKyAgICAtMHgxLjBwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEucC01MSwKKyAgICAtMHgxLjBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuODBwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5wLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS4wMDAwMDAwMDAwMDA0MHAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLnAtMiwKKyAgICAweDEuMHA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDAuMCwKKyAgICAweDEuMHA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTB4MS5wLTEsCisgICAgMHgxLjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEucC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEucC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0yLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMC4wLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAweDEucC01MiwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS44MHAtNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEucC01MSwKKyAgICAtMHgxLjBwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMC4wLAorICAgIC0weDEuMHA1MywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEucC01MywKKyAgICAtMHgxLjBwNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS44MHAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAwLjAsCisgICAgMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAtMHgxLnAwLAorICAgIDB4MS44cDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5wMCwKKyAgICAtMHgxLjhwMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS5wMCwKKyAgICAweDEuOHAxLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLnAwLAorICAgIC0weDEuOHAxLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLnAwLAorICAgIDB4MS40cDIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEucDAsCisgICAgLTB4MS40cDIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5wMCwKKyAgICAweDEuNHAyLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjRwMiwKKyAgICAtMHgxLjBwMQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3JlbWFpbmRlcmZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3JlbWFpbmRlcmZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YzRhZjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvcmVtYWluZGVyZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMjkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZmxvYXQsIGZsb2F0LCBmbG9hdD4gZ19yZW1haW5kZXJmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAwLjAsCisgICAgMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMC4wLAorICAgIDB4MS5wLTExNywKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS5wLTExNywKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS5wLTExNywKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDE1CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5wLTExNywKKyAgICAweDEucC0xMTcsCisgICAgMHgxLnAxNgorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcsCisgICAgMHgxLnAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgLTB4MS5wLTExNywKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucC0xMTcsCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEucC0xMTcsCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAwLjAsCisgICAgMHgxLnAxNSwKKyAgICAtMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAwLjAsCisgICAgMHgxLnAxNSwKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDAuMCwKKyAgICAweDEucDE2LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDAuMCwKKyAgICAweDEucDE2LAorICAgIDB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMC4wLAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAxNSwKKyAgICAweDEucDE1LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDAuMCwKKyAgICAweDEucDE2LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDAuMCwKKyAgICAweDEucDE2LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxNSwKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLnAxNSwKKyAgICAweDEucDE1LAorICAgIDB4MS5wMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEucDE2LAorICAgIDB4MS5wMTYsCisgICAgMHgxLnAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5wMTYsCisgICAgMHgxLnAxNiwKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMC4wLAorICAgIDB4MS5wMTE3LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDAuMCwKKyAgICAweDEucDExNywKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDAuMCwKKyAgICAweDEucDExOCwKKyAgICAtMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAwLjAsCisgICAgMHgxLnAxMTgsCisgICAgMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAwLjAsCisgICAgMHgxLnAxMTcsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMC4wLAorICAgIDB4MS5wMTE3LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDAuMCwKKyAgICAweDEucDExOCwKKyAgICAweDEucDE1CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAwLjAsCisgICAgMHgxLnAxMTgsCisgICAgMHgxLnAxNgorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMC4wLAorICAgIDB4MS5wMTE3LAorICAgIDB4MS5wMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEucDExNywKKyAgICAweDEucDExNywKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMC4wLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAwLjAsCisgICAgMHgxLnAxMTgsCisgICAgMHgxLnAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDAuMCwKKyAgICAweDEuOTBwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLnAwLAorICAgIDB4MS45MHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEucDIsCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5wMCwKKyAgICAweDEuOTRwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnAxLAorICAgIDB4MS45NHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuNDBwMiwKKyAgICAweDEuOTRwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAxLAorICAgIDB4MS45OHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuODBwMSwKKyAgICAweDEuOThwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjgwcDIsCisgICAgMHgxLjk4cDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS44MHAxLAorICAgIDB4MS45Y3A2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEucDIsCisgICAgMHgxLjljcDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuNDBwMiwKKyAgICAweDEuOWNwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLnAyLAorICAgIDB4MS5hMHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuNDBwMiwKKyAgICAweDEuYTBwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5wMiwKKyAgICAweDEuYTBwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjQwcDIsCisgICAgMHgxLmE0cDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuNDBwMiwKKyAgICAweDEuYTRwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS44MHAxLAorICAgIDB4MS5hNHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLnAyLAorICAgIDB4MS5hOHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLnAyLAorICAgIDB4MS5hOHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLnAxLAorICAgIDB4MS5hOHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLmFjcDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuODBwMSwKKyAgICAweDEuYWNwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMCwKKyAgICAweDEuYWNwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAweDEuYjBwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5wMSwKKyAgICAweDEuYjBwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMC4wLAorICAgIDB4MS5iMHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLnAwLAorICAgIDB4MS5iNHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLnAwLAorICAgIDB4MS5iNHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEucDAsCisgICAgMHgxLmI0cDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDAuMCwKKyAgICAweDEuYjhwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMC4wLAorICAgIDB4MS5iOHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEucDEsCisgICAgMHgxLmI4cDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLnAtMjMsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjgwcC0yMywKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEucC0yMywKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0wLjAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLnAtMjQsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgMHgxLjgwcC0yMywKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEucC0yNCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLjgwcC0yMywKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEucC0yMywKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5wLTI0LAorICAgIC0weDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTAuMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLnAtMjMsCisgICAgLTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLnAtMjQsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuODBwLTIzLAorICAgIC0weDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS44MHAtMjMsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLnAtMjQsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS5wLTIzLAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5wLTI0LAorICAgIDB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEucC0yMywKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjgwcC0yMywKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEucC0yNCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS44MHAtMjMsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5wLTI0LAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLnAtMjMsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEucC0yMywKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLmZmZmZmOHAtMywKKyAgICAtMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgLTB4MS5wLTEsCisgICAgLTB4MS4wMDAwMDJwMjIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTAuMCwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEucC0xLAorICAgIC0weDEucDIyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMjEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5wLTIsCisgICAgLTB4MS5mZmZmZmVwMjEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS4wMDAwMDhwLTIsCisgICAgLTB4MS5mZmZmZmVwMjEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEucC0xLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5mZmZmZjhwLTIsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmZmZmZmY3AtMiwKKyAgICAweDEucDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAwLjAsCisgICAgMHgxLnAyMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEucC0yMywKKyAgICAweDEucDIzLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuZmZmZmY4cC0yLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuODBwLTIzLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5wLTI0LAorICAgIC0weDEucDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMC4wLAorICAgIC0weDEucDI0LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucC0yMiwKKyAgICAtMHgxLnAyNCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuODBwLTIyLAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDIxLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAtMiwKKyAgICAweDEuZmZmZmZlcDIxLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS4wMDAwMDhwLTIsCisgICAgMHgxLmZmZmZmZXAyMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEucC0yLAorICAgIDB4MS5wMjIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDAuMCwKKyAgICAweDEucDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEucC0xLAorICAgIDB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5mZmZmZjhwLTMsCisgICAgMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLnAtMSwKKyAgICAweDEuMDAwMDAycDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycDIyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLnAtMSwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuZmZmZmY4cC0yLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5mZmZmZmNwLTIsCisgICAgMHgxLnAyMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgMC4wLAorICAgIDB4MS5wMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLnAtMjMsCisgICAgMHgxLnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmZmZmZmOHAtMiwKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLjgwcC0yMywKKyAgICAtMHgxLjAwMDAwMnAyNCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEucC0yMiwKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgLTAuMCwKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5wLTI0LAorICAgIC0weDEucDI0LAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS44MHAtMjIsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAwLjAsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAwLjAsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDAuMCwKKyAgICAweDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLnAwLAorICAgIDB4MS44MHAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjgwcDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTB4MS5wMCwKKyAgICAweDEuODBwMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLnAwLAorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAwLAorICAgIDB4MS40MHAyLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEucDAsCisgICAgLTB4MS40MHAyLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5wMCwKKyAgICAweDEuNDBwMiwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjQwcDIsCisgICAgLTB4MS5wMQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3JlbXF1b19pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvcmVtcXVvX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTNiNmU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3JlbXF1b19pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxNTg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV9pbnRfMl90PGRvdWJsZSwgZG91YmxlLCBkb3VibGU+IGdfcmVtcXVvX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjQyOTY3MjY4MzE1YXAtMTMsCisgICAgKGludCktMHgxLnAxLAorICAgIC0weDEuMHAtMTAsCisgICAgMHgxLjI4NTJjZTRkMDYyYjRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4xYWI3NTUwNDQ2NDQ0MHAxNCwKKyAgICAoaW50KTB4MS42YTNiMzYxOHAzMCwKKyAgICAweDEuMDI5NWZhZDQwYTU3ZnAxMTcsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS5kMWE3NzcwODE4NjFwMTgsCisgICAgKGludCktMHgxLjBmNjJkNGI4cDMwLAorICAgIDB4MS4xMWY3ODNlZTg5YjA4cDk5LAorICAgIC0weDEuZmQ2ZWY0N2Q5NmYxY3AxOQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLmIwcDMsCisgICAgKGludCktMHgxLmFmZTUwMWIwcDI5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZicDEwMjMsCisgICAgLTB4MS4wMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS43ZDkxNjVjMDAwMjRwOSwKKyAgICAoaW50KTB4MS5kZDAwMDAzMHAyOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmYnAxMDIzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDE0CisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIC0weDEucC0xNywKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0wLjAsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS4wcC0xMTcsCisgICAgLTB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wcC0xMTcsCisgICAgMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAwLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS4wcC0xMTcsCisgICAgLTB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTExNywKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgLTB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTExNywKKyAgICAweDEuMHAxNgorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTE3LAorICAgIDB4MS4wcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHAtMTE3LAorICAgIDB4MS4wcDExNworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgLTB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTExNywKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTE3LAorICAgIDB4MS4wcDExNworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcC0xMTcsCisgICAgMHgxLjBwMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMTUsCisgICAgLTB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxNSwKKyAgICAweDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMTYsCisgICAgLTB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxNiwKKyAgICAweDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjBwMTUsCisgICAgMHgxLjBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5wMTUsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMTUsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuMHAxNiwKKyAgICAweDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcDE2LAorICAgIDB4MS4wcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEucDE1LAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcDE1LAorICAgIDB4MS4wcDExNworICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLnAxNSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxNSwKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5wMTYsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMTYsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEucDE2LAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcDE2LAorICAgIDB4MS4wcDExOAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAtMHgxLjBwLTExNworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcDExNywKKyAgICAweDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMTE4LAorICAgIC0weDEuMHAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwMTE4LAorICAgIDB4MS4wcC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxMTcsCisgICAgMHgxLjBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxMTcsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgMHgxLjBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxMTgsCisgICAgMHgxLjBwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMHAxMTcsCisgICAgMHgxLjBwMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEucDExNywKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAxMTcsCisgICAgMHgxLjBwMTE4CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAwLjAsCisgICAgKGludCkweDEucDEsCisgICAgMHgxLjBwMTE4LAorICAgIDB4MS4wcDExNworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcDExOCwKKyAgICAweDEuMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDAuMCwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS45cDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnAwLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLjlwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEucDIsCisgICAgKGludCkweDEucDMsCisgICAgMHgxLjlwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEucDAsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuOTQwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLnAxLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLjk0MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS40MHAyLAorICAgIChpbnQpMHgxLnAzLAorICAgIDB4MS45NDBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEucDEsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuOTgwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjgwcDEsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuOTgwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLjgwcDIsCisgICAgKGludCkweDEucDMsCisgICAgMHgxLjk4MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS44MHAxLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLjljMHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5wMiwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS45YzBwNiwKKyAgICAweDEuNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLjQwcDIsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuOWMwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLnAyLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmFwNiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuNDBwMiwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5hcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMiwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5hcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjQwcDIsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuYTQwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS40MHAyLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmE0MHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuODBwMSwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5hNDBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLnAyLAorICAgIChpbnQpMHgxLjYwcDMsCisgICAgMHgxLmE4MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEucDIsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuYTgwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5wMSwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5hODBwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjgwcDEsCisgICAgKGludCkweDEuNjBwMywKKyAgICAweDEuYWMwcDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS44MHAxLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmFjMHA2LAorICAgIDB4MS42cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEucDAsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuYWMwcDYsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5wMSwKKyAgICAoaW50KTB4MS42MHAzLAorICAgIDB4MS5icDYsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5wMSwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS5icDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMC4wLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLmJwNiwKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMHgxLjYwcDMsCisgICAgMHgxLmI0MHA2LAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEucDAsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuYjQwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLnAwLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLmI0MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDAuMCwKKyAgICAoaW50KTB4MS42MHAzLAorICAgIDB4MS5iODBwNiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAwLjAsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuYjgwcDYsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLnAxLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLmI4MHA2LAorICAgIDB4MS44cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0wLjAsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucC01MiwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS44MHAtNTIsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEucC01MiwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wLTUzLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLjgwcC01MiwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5wLTUzLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLjgwcC01MiwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEucC01MiwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5wLTUzLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLnAtNTIsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0wLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLnAtNTMsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuODBwLTUyLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS44MHAtNTIsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAtMHgxLnAtNTMsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAwLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgLTB4MS5wLTUyLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAwLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5wLTUzLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLnAtNTIsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuODBwLTUyLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEucC01MywKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgLTB4MS44MHAtNTIsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5wLTUzLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS5wLTUyLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS44MHAtNTIsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wLTUyLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgLTB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEucC0xMDc0LAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEucC0xMDc0LAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0wLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0zLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLnAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLnAtMiwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLnAtMSwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLnAtMiwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuMDAwMDAwMDAwMDAwNDBwLTIsCisgICAgKGludCktMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5wLTEsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTIsCisgICAgKGludCkweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTIsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwNTIsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIDB4MS5wLTUyLAorICAgIChpbnQpMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0yLAorICAgIChpbnQpMHgxLnAxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuODBwLTUyLAorICAgIChpbnQpLTB4MS44MHAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0wLjAsCisgICAgKGludCktMHgxLnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MywKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEucC01MywKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wcDUzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwNTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEucC01MSwKKyAgICAoaW50KS0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS4wcDUzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0wLjAsCisgICAgKGludCktMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS44MHAtNTEsCisgICAgKGludCktMHgxLmZmZmZmZmY0cDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5wLTIsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS4wMDAwMDAwMDAwMDA0MHAtMiwKKyAgICAoaW50KTB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLnAtMiwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHA1MSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5wLTEsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTMsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEucC0xLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEucC0xLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcC0yLAorICAgIChpbnQpMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0yLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcDUyLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEucC01MiwKKyAgICAoaW50KTB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMiwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0wLjAsCisgICAgKGludCkweDEucDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgLTB4MS44MHAtNTIsCisgICAgKGludCkweDEuODBwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS5wLTUxLAorICAgIChpbnQpMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuMHA1MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcDUzLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5wLTUzLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMHA1MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLjgwcC01MSwKKyAgICAoaW50KTB4MS5mZmZmZmZmNHAzMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MiwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEucC0xMDIyLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5wLTEwMjIsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLnAtMTAyMiwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEucC0xMDc0LAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0wLjAsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0wLjAsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLnAtMTAyMiwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS5wLTEwMjIsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEucC0xMDIyLAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5wLTEwMjIsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucC0xMDc0LAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEucC0xMDc0LAorICAgIChpbnQpMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS5wLTEwNzQsCisgICAgKGludCkwLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0wLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEucDAsCisgICAgKGludCkweDEucDEsCisgICAgMHgxLjhwMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLnAwLAorICAgIChpbnQpLTB4MS5wMSwKKyAgICAtMHgxLjhwMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTB4MS5wMCwKKyAgICAoaW50KS0weDEucDEsCisgICAgMHgxLjhwMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5wMCwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAtMHgxLjhwMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5wMCwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuNHAyLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTB4MS5wMSwKKyAgICAtMHgxLjRwMiwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLnAwLAorICAgIChpbnQpLTB4MS5wMSwKKyAgICAweDEuNHAyLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS5wMCwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAtMHgxLjRwMiwKKyAgICAtMHgxLjBwMQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3JlbXF1b2ZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3JlbXF1b2ZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlZWJiYWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvcmVtcXVvZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxNTc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV9pbnRfMl90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfcmVtcXVvZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS43MmMyYzBwMTgsCisgICAgKGludCktMHgxLmIzN2QyYjYwcDI4LAorICAgIC0weDEuMjg1MzA4cDk5LAorICAgIDB4MS43YTQxMTBwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS45NmRmYjBwMTMsCisgICAgKGludCkweDEuMjEyZDVkNThwMzAsCisgICAgMHgxLjAyOTVmYXAxMTcsCisgICAgMHgxLjBjZWRlMnAxNQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuZmQwMDMwcDIwLAorICAgIChpbnQpLTB4MS4wMDdmZjhwMjIsCisgICAgMHgxLmZmZmZlNnAxMjcsCisgICAgLTB4MS4wMDAwMDZwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjQ3ODJiMHAyLAorICAgIChpbnQpMHgxLjQzMjNjMTU4cDMwLAorICAgIDB4MS5mZmZmZjhwMTI3LAorICAgIDB4MS5kZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLnAtMTEsCisgICAgKGludCkweDEuZmZmZmMwcDMwLAorICAgIDB4MS5mZmZmZmFwMTI3LAorICAgIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLnAtMTE3LAorICAgIC0weDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS5wLTExNywKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEucC0xMTcsCisgICAgLTB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xMTcsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLnAtMTE3LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wLTExNywKKyAgICAoaW50KTAuMCwKKyAgICAweDEucC0xMTcsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xMTcsCisgICAgMHgxLnAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEucC0xMTcsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5wLTExNywKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAtMTE3LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTExNywKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTUsCisgICAgLTB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxNiwKKyAgICAtMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxNiwKKyAgICAweDEucC0xMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEucDE1LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS5wMTUsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxNSwKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAwLjAsCisgICAgKGludCkweDEucDEsCisgICAgMHgxLnAxNiwKKyAgICAweDEucDE1CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLnAxNiwKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEucDE1LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTUsCisgICAgMHgxLnAxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS5wMTUsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxNSwKKyAgICAweDEucDExOAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLnAxNiwKKyAgICAoaW50KTAuMCwKKyAgICAweDEucDE2LAorICAgIDB4MS5wMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEucDE2LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTYsCisgICAgMHgxLnAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEucDExNywKKyAgICAtMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxMTcsCisgICAgMHgxLnAtMTE3CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxMTgsCisgICAgLTB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wLTExNworICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTE3LAorICAgIDB4MS5wMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEucDExNywKKyAgICAweDEucDE2CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxMTgsCisgICAgMHgxLnAxNQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEucDExNywKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLnAxMTcsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAxMTcsCisgICAgMHgxLnAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEucDExOCwKKyAgICAweDEucDExNworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS5wMTE4LAorICAgIDB4MS5wMTE4CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAwLjAsCisgICAgKGludCkweDEuNDBwMywKKyAgICAweDEuOTBwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAwLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS5wMiwKKyAgICAoaW50KTB4MS5wMywKKyAgICAweDEuOTBwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLnAwLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5wMSwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS45NHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuNDBwMiwKKyAgICAoaW50KTB4MS5wMywKKyAgICAweDEuOTRwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLnAxLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLjk4cDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS44MHAxLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLjk4cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS44MHAyLAorICAgIChpbnQpMHgxLnAzLAorICAgIDB4MS45OHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuODBwMSwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS45Y3A2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEucDIsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuOWNwNiwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS40MHAyLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLjljcDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5wMiwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS5hMHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuNDBwMiwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5hMHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLnAyLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLmEwcDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS40MHAyLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmE0cDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuNDBwMiwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS5hNHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLjgwcDEsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuYTRwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMiwKKyAgICAoaW50KTB4MS42MHAzLAorICAgIDB4MS5hOHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLnAyLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmE4cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEucDEsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuYThwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS44MHAxLAorICAgIChpbnQpMHgxLjYwcDMsCisgICAgMHgxLmFjcDYsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuODBwMSwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS5hY3A2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMHgxLjIwcDMsCisgICAgMHgxLmFjcDYsCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEucDEsCisgICAgKGludCkweDEuNjBwMywKKyAgICAweDEuYjBwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5wMSwKKyAgICAoaW50KTB4MS40MHAzLAorICAgIDB4MS5iMHA2LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAwLjAsCisgICAgKGludCkweDEuMjBwMywKKyAgICAweDEuYjBwNiwKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS5wMCwKKyAgICAoaW50KTB4MS42MHAzLAorICAgIDB4MS5iNHA2LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmI0cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5wMCwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5iNHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAwLjAsCisgICAgKGludCkweDEuNjBwMywKKyAgICAweDEuYjhwNiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMC4wLAorICAgIChpbnQpMHgxLjQwcDMsCisgICAgMHgxLmI4cDYsCisgICAgMHgxLjYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5wMSwKKyAgICAoaW50KTB4MS4yMHAzLAorICAgIDB4MS5iOHA2LAorICAgIDB4MS44MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5wLTIzLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS44MHAtMjMsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLnAtMjMsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS5wLTI0LAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLnAtMjQsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS44MHAtMjMsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5wLTIzLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEucC0yNCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLnAtMjMsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEucC0yNCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIC0weDEuODBwLTIzLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEucC0yNCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAwLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEucC0yMywKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5wLTI0LAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5wLTIzLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLnAtMjQsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLjgwcC0yMywKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5wLTI0LAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAtMHgxLnAtMjMsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS44MHAtMjMsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLjAwMDAwMnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEucC0yMywKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAwLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0wLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0wLjAsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5mZmZmZjhwLTMsCisgICAgKGludCktMHgxLjAwMDAwNHAyMiwKKyAgICAtMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5wLTEsCisgICAgKGludCktMHgxLnAyMiwKKyAgICAtMHgxLjAwMDAwMnAyMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMjIsCisgICAgLTB4MS4wMDAwMDJwMjIsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5wLTIsCisgICAgKGludCktMHgxLnAyMiwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDIyLAorICAgIC0weDEucDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5wLTEsCisgICAgKGludCktMHgxLnAyMiwKKyAgICAtMHgxLnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMjIsCisgICAgLTB4MS5mZmZmZmVwMjEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5wLTIsCisgICAgKGludCktMHgxLnAyMiwKKyAgICAtMHgxLmZmZmZmZXAyMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLjAwMDAwOHAtMiwKKyAgICAoaW50KS0weDEuZmZmZmY4cDIxLAorICAgIC0weDEuZmZmZmZlcDIxLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5wLTEsCisgICAgKGludCkweDEucDIzLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5mZmZmZjhwLTIsCisgICAgKGludCkweDEuZmZmZmZjcDIyLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS5mZmZmZmNwLTIsCisgICAgKGludCkweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMjMsCisgICAgMHgxLnAyMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEucC0yMywKKyAgICAoaW50KTB4MS5mZmZmZmNwMjIsCisgICAgMHgxLnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmZmZmZmOHAtMiwKKyAgICAoaW50KTB4MS4wMDAwMDRwMjMsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMC4wLAorICAgIChpbnQpMHgxLjAwMDAwMnAyMywKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMjMsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLjgwcC0yMywKKyAgICAoaW50KS0weDEuMDAwMDAzcDI0LAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS4wMDAwMDJwMjQsCisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDI0LAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEucC0yNCwKKyAgICAoaW50KS0weDEuMDAwMDAxcDI0LAorICAgIC0weDEucDI0LAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5wMjQsCisgICAgLTB4MS5wMjQsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5wLTIyLAorICAgIChpbnQpLTB4MS5mZmZmZmNwMjMsCisgICAgLTB4MS5wMjQsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDI0LAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMC4wLAorICAgIChpbnQpLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS44MHAtMjIsCisgICAgKGludCktMHgxLmZmZmZmYXAyMywKKyAgICAtMHgxLmZmZmZmZXAyMywKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAwLjAsCisgICAgKGludCkweDEucDIyLAorICAgIDB4MS5mZmZmZmVwMjEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEucC0yLAorICAgIChpbnQpMHgxLnAyMiwKKyAgICAweDEuZmZmZmZlcDIxLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS4wMDAwMDhwLTIsCisgICAgKGludCkweDEuZmZmZmY4cDIxLAorICAgIDB4MS5mZmZmZmVwMjEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLnAtMiwKKyAgICAoaW50KTB4MS5wMjIsCisgICAgMHgxLnAyMiwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAyMiwKKyAgICAweDEucDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEucC0xLAorICAgIChpbnQpMHgxLnAyMiwKKyAgICAweDEucDIyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuZmZmZmY4cC0zLAorICAgIChpbnQpMHgxLjAwMDAwNHAyMiwKKyAgICAweDEuMDAwMDAycDIyLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEucC0xLAorICAgIChpbnQpMHgxLnAyMiwKKyAgICAweDEuMDAwMDAycDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAyMiwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAwLjAsCisgICAgKGludCkweDEucDIzLAorICAgIDB4MS5mZmZmZmVwMjIsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEucC0xLAorICAgIChpbnQpMHgxLnAyMywKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuZmZmZmY4cC0yLAorICAgIChpbnQpMHgxLmZmZmZmY3AyMiwKKyAgICAweDEuZmZmZmZlcDIyLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuZmZmZmZjcC0yLAorICAgIChpbnQpMHgxLjAwMDAwMnAyMywKKyAgICAweDEucDIzLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAwLjAsCisgICAgKGludCkweDEucDIzLAorICAgIDB4MS5wMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgMHgxLnAtMjMsCisgICAgKGludCkweDEuZmZmZmZjcDIyLAorICAgIDB4MS5wMjMsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS5mZmZmZjhwLTIsCisgICAgKGludCkweDEuMDAwMDA0cDIzLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDAuMCwKKyAgICAoaW50KTB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAyMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAwLjAsCisgICAgKGludCkweDEucDIzLAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMjQsCisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0wLjAsCisgICAgKGludCkweDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjgwcC0yMywKKyAgICAoaW50KTB4MS4wMDAwMDNwMjQsCisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLnAtMjIsCisgICAgKGludCkweDEuZmZmZmZjcDIzLAorICAgIC0weDEucDI0LAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAyNCwKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS5wLTI0LAorICAgIChpbnQpMHgxLjAwMDAwMXAyNCwKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuODBwLTIyLAorICAgIChpbnQpMHgxLmZmZmZmYXAyMywKKyAgICAtMHgxLmZmZmZmZXAyMywKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0wLjAsCisgICAgKGludCkweDEucDI0LAorICAgIC0weDEuZmZmZmZlcDIzLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpMC4wLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLnAtMTI2LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLnAtMTI2LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLnAtMTI2LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5wLTEyNiwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjBmLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMGYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMGYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucC0xMjYsCisgICAgKGludCkwLjAsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS5wLTEyNiwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLnAtMTI2LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLnAtMTI2LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEucC0xNDksCisgICAgKGludCkwLjAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTAuMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0wLjAsCisgICAgKGludCkwLjAsCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAwLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMC4wLAorICAgIChpbnQpMHgxLnAwLAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDAuMCwKKyAgICAoaW50KTB4MS5wMjMsCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDAuMCwKKyAgICAoaW50KS0weDEucDIzLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTAuMCwKKyAgICAoaW50KS0weDEucDIzLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTAuMCwKKyAgICAoaW50KTB4MS5wMjMsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMC4wLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KTAuMCwKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMC4wZiwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAwLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMC4wLAorICAgIChpbnQpMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAwLjAsCisgICAgKGludCkweDEucDAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0wLjAsCisgICAgKGludCktMHgxLnAwLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMC4wLAorICAgIChpbnQpLTB4MS5wMCwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0wLjAsCisgICAgKGludCkweDEucDAsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMC4wLAorICAgIChpbnQpMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAwLjAsCisgICAgKGludCkwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTAuMCwKKyAgICAoaW50KTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS5wMCwKKyAgICAoaW50KTB4MS5wMSwKKyAgICAweDEuODBwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEucDAsCisgICAgKGludCktMHgxLnAxLAorICAgIC0weDEuODBwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTB4MS5wMSwKKyAgICAweDEuODBwMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLnAwLAorICAgIChpbnQpMHgxLnAxLAorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLnAwLAorICAgIChpbnQpMHgxLnAxLAorICAgIDB4MS40MHAyLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEucDAsCisgICAgKGludCktMHgxLnAxLAorICAgIC0weDEuNDBwMiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEucDAsCisgICAgKGludCktMHgxLnAxLAorICAgIDB4MS40MHAyLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMHgxLnAxLAorICAgIC0weDEuNDBwMiwKKyAgICAtMHgxLnAxCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvcmludF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvcmludF9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBhYmZmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9yaW50X2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEzMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19yaW50X2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMC4wLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5wMSwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEucDEsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLnAxLAorICAgIDB4MS4zZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5wMSwKKyAgICAweDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuODBwMSwKKyAgICAweDEuNDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOGZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45NHA2LAorICAgIDB4MS45MjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mM2ZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDBwOQorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0M2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0NHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZjQ4MHA5LAorICAgIDB4MS5mNDQwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5wNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5wNTAsCisgICAgMHgxLjBwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wNTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5wNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5wNTEsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5wNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5wNTIsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDUzLAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnA1NCwKKyAgICAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS44MHAxLAorICAgIC0weDEuNDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLnAxLAorICAgIC0weDEuM2ZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjlwNgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOGZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLjk0cDYsCisgICAgLTB4MS45MjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkyMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDQwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0NHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDNmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEucDUwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTB4MS5wNTAsCisgICAgLTB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLnA1MCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucDUxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5wNTEsCisgICAgLTB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLnA1MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnA1MiwKKyAgICAtMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEucDUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA1MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEucDUzLAorICAgIC0weDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA1MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLnA1NCwKKyAgICAtMHgxLjBwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUzCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5wMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5wMzAsCisgICAgMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5wMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmUwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZlMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEucDMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5wMzEsCisgICAgMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAwZmZmZmVwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZmcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDEwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmZmZmZmZmUwcDMwLAorICAgIDB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLmZmZmZmZmU0cDMwLAorICAgIDB4MS5mZmZmZmZlNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZmZmZmZmZThwMzAsCisgICAgMHgxLmZmZmZmZmU4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5mZmZmZmZlY3AzMCwKKyAgICAweDEuZmZmZmZmZWMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmZmZmZmZmYwcDMwLAorICAgIDB4MS5mZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAzMSwKKyAgICAweDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS4wMDAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAwMDIwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS5wMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5wMzAsCisgICAgLTB4MS4wcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS5wMzAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjgwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmODBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjdmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmN2ZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZhMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmEwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmYTBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjlmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmOWZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZTAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZTAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZTBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmRmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS4wMDAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjAwMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAwMDEwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDEwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMGZmZmZmcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMGZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEucDYyLAorICAgIDB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDYyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDYyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLnA2MywKKyAgICAweDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2MywKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS5wNjQsCisgICAgMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDYyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wNjIsCisgICAgLTB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2NCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDY0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEucDY0LAorICAgIC0weDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEucDYyLAorICAgIDB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLnA2MywKKyAgICAweDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEucDYyLAorICAgIC0weDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEucDYzLAorICAgIC0weDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLnAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucDIsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5wMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLnAzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEucDMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS5wMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLnA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEucDQsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5wNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLnA1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEucDUsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5wNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLnA2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEucDYsCisgICAgMHgxLjBwNgorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS5wNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLnA3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEucDcsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5wNywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLnA4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucDgsCisgICAgMHgxLjBwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5wOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLnA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEucDksCisgICAgMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5wOSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLnAxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnAxMCwKKyAgICAweDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEucDExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnAxMSwKKyAgICAweDEuMHAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEucDEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLnAxMiwKKyAgICAweDEuMHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEucDIsCisgICAgMHgxLjFmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5wMiwKKyAgICAweDEuMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjQwcDIsCisgICAgMHgxLjIwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5wMywKKyAgICAweDEuMGZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLnAzLAorICAgIDB4MS4xcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuMjBwMywKKyAgICAweDEuMTAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLnA0LAorICAgIDB4MS4wN2ZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEucDQsCisgICAgMHgxLjA4MHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA4MDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5wNSwKKyAgICAweDEuMDNmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLnA1LAorICAgIDB4MS4wNDBwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4wOHA1LAorICAgIDB4MS4wNDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEucDYsCisgICAgMHgxLjAxZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS5wNiwKKyAgICAweDEuMDIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMDRwNiwKKyAgICAweDEuMDIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLnA3LAorICAgIDB4MS4wMGZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEucDcsCisgICAgMHgxLjAxMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjAycDcsCisgICAgMHgxLjAxMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5wOCwKKyAgICAweDEuMDA3ZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDhwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS4wMXA4LAorICAgIDB4MS4wMDgwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEucDksCisgICAgMHgxLjAwM2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuMDA4MHA5LAorICAgIDB4MS4wMDQwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDFmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwMjAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA1ZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS4wMDgwcDEwLAorICAgIDB4MS4wMDZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2MDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMGZmZmZmZmZmZmZwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEucDExLAorICAgIDB4MS4wMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuMDAyMHAxMSwKKyAgICAweDEuMDAxMDAwMDAwMDAwMXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDdmZmZmZmZmZmZwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA4MHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS4wMDEwcDEyLAorICAgIDB4MS4wMDA4MDAwMDAwMDAxcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuODBwMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS44MHAxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLnAxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLnAxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEucDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEucDEsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEucDEsCisgICAgLTB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEucDEsCisgICAgMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEucDEsCisgICAgLTB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMC4wLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLnAxLAorICAgIDB4MS44MDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuN2ZmZmZwMAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3JpbnRmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9yaW50Zl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVjYTgzMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9yaW50Zl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMzU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX3JpbnRmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMCwKKyAgICAtMHgxLjY3ZTlkOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMDAwMDA4cDIxLAorICAgIDB4MS4wMDAwMDZwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLmZmZmQ0OHAyMSwKKyAgICAweDEuZmZmZDQ2cDIxCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5mZmZmZjhwMjEsCisgICAgMHgxLmZmZmZmNnAyMQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDAuMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5wMSwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAxLAorICAgIDB4MS44MDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLnAxLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLnAxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLnAxLAorICAgIDB4MS4zZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLnAxLAorICAgIDB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuODBwMSwKKyAgICAweDEuNDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45MHA2LAorICAgIDB4MS44ZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS45MHA2LAorICAgIDB4MS45MDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkxZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTJwNgorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjk0cDYsCisgICAgMHgxLjkyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjNmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQ0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wMjEsCisgICAgMHgxLmZmZmZmZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLnAyMSwKKyAgICAweDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEucDIxLAorICAgIDB4MS4wMDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5wMjIsCisgICAgMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLnAyMiwKKyAgICAweDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDIyLAorICAgIDB4MS4wMDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLnAyMywKKyAgICAweDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5mZmZmZmVwMjMsCisgICAgMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLnAyNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuMDAwMDAycDI0LAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5mZmZmZmVwMjQsCisgICAgMHgxLmZmZmZmZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLnAyNSwKKyAgICAweDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAweDEuMDAwMDAycDI1LAorICAgIDB4MS4wMDAwMDJwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMC4wLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLnAxLAorICAgIC0weDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEucDEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEucDEsCisgICAgLTB4MS4zZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjhmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLjk0cDYsCisgICAgLTB4MS45MjAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTJwNgorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mM2ZmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wMjEsCisgICAgLTB4MS4wMDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEucDIxLAorICAgIC0weDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLmZmZmZmZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5wMjIsCisgICAgLTB4MS4wMDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEucDIyLAorICAgIC0weDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnAyMiwKKyAgICAtMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS4wMDAwMDJwMjMsCisgICAgLTB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEucDIzLAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLnAyMywKKyAgICAtMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgLTB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEucDI0LAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLmZmZmZmZXAyMywKKyAgICAtMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS4wMDAwMDJwMjUsCisgICAgLTB4MS4wMDAwMDJwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEucDI1LAorICAgIC0weDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLmZmZmZmZXAyNCwKKyAgICAtMHgxLmZmZmZmZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZmZmZmZXAyOSwKKyAgICAweDEuZmZmZmZlcDI5CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEucDMwLAorICAgIDB4MS5wMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS4wMDAwMDJwMzAsCisgICAgMHgxLjAwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS4wMDAwMDRwMzEsCisgICAgMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuMDAwMDAycDMwLAorICAgIC0weDEuMDAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5wMzAsCisgICAgLTB4MS5wMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmZXAyOSwKKyAgICAtMHgxLmZmZmZmZXAyOQorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmZmZmZmY3A2MSwKKyAgICAweDEuZmZmZmZjcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgMHgxLmZmZmZmZXA2MSwKKyAgICAweDEuZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLnA2MiwKKyAgICAweDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjAwMDAwMnA2MiwKKyAgICAweDEuMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjAwMDAwNHA2MiwKKyAgICAweDEuMDAwMDA0cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmZmZmZmY3A2MiwKKyAgICAweDEuZmZmZmZjcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLmZmZmZmZXA2MiwKKyAgICAweDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLnA2MywKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLjAwMDAwMnA2MywKKyAgICAweDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgMHgxLjAwMDAwNHA2MywKKyAgICAweDEuMDAwMDA0cDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmZmZmZmY3A2MywKKyAgICAweDEuZmZmZmZjcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLmZmZmZmZXA2MywKKyAgICAweDEuZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLnA2NCwKKyAgICAweDEucDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgMHgxLjAwMDAwMnA2NCwKKyAgICAweDEuMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLjAwMDAwNHA2NCwKKyAgICAweDEuMDAwMDA0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4wMDAwMDRwNjIsCisgICAgLTB4MS4wMDAwMDRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjAwMDAwMnA2MiwKKyAgICAtMHgxLjAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucDYyLAorICAgIC0weDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmVwNjEsCisgICAgLTB4MS5mZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmY3A2MSwKKyAgICAtMHgxLmZmZmZmY3A2MQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDA0cDYzLAorICAgIC0weDEuMDAwMDA0cDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDJwNjMsCisgICAgLTB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZlcDYyLAorICAgIC0weDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZmNwNjIsCisgICAgLTB4MS5mZmZmZmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLjAwMDAwNHA2NCwKKyAgICAtMHgxLjAwMDAwNHA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuMDAwMDAycDY0LAorICAgIC0weDEuMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5wNjQsCisgICAgLTB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLmZmZmZmZXA2MywKKyAgICAtMHgxLmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuZmZmZmZjcDYzLAorICAgIC0weDEuZmZmZmZjcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLnA2MiwKKyAgICAweDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLnA2MywKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS5wNjIsCisgICAgLTB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS5wMiwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEucDIsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEucDMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDJwMworICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5wNCwKKyAgICAweDEuZmZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAweDEucDQsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLnA0LAorICAgIDB4MS4wMDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS5wNSwKKyAgICAweDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEucDUsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLnA1LAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5wNiwKKyAgICAweDEuZmZmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEucDYsCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLnA2LAorICAgIDB4MS4wMDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5wNywKKyAgICAweDEuZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEucDcsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLnA3LAorICAgIDB4MS4wMDAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5wOCwKKyAgICAweDEuZmZmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEucDgsCisgICAgMHgxLnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnA4LAorICAgIDB4MS4wMDAwMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS5wOSwKKyAgICAweDEuZmZmZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEucDksCisgICAgMHgxLnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDAwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLnAxMCwKKyAgICAweDEucDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAycDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLnAxMSwKKyAgICAweDEuZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLnAxMSwKKyAgICAweDEucDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwMDAycDExCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLnAxMiwKKyAgICAweDEuZmZmZmZlcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAxMiwKKyAgICAweDEucDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwMDAycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLnAyLAorICAgIDB4MS4xZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS5wMiwKKyAgICAweDEuMjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS40MHAyLAorICAgIDB4MS4yMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5wMywKKyAgICAweDEuMGZmZmZlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEucDMsCisgICAgMHgxLjEwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuMjBwMywKKyAgICAweDEuMTAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLnA0LAorICAgIDB4MS4wOHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA4MDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLnA1LAorICAgIDB4MS4wM2ZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS5wNSwKKyAgICAweDEuMDRwNQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4wOHA1LAorICAgIDB4MS4wNDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5wNiwKKyAgICAweDEuMDFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucDYsCisgICAgMHgxLjAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuMDRwNiwKKyAgICAweDEuMDIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLnA3LAorICAgIDB4MS4wMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjAycDcsCisgICAgMHgxLjAxMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLnA4LAorICAgIDB4MS4wMDdmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5wOCwKKyAgICAweDEuMDA4MHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjAxcDgsCisgICAgMHgxLjAwODAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwODBwOSwKKyAgICAweDEuMDA0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDFmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDIwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwMjAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDVmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS4wMDgwcDEwLAorICAgIDB4MS4wMDYwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEucDExLAorICAgIDB4MS4wMDBmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEucDExLAorICAgIDB4MS4wMDEwcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjAwMjBwMTEsCisgICAgMHgxLjAwMTAwMnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDdmZXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDhwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODAycDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS5mZmZmZmNwMTI3LAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgLTB4MS5mZmZmZmNwMTI3LAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS44MHAxLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLnAxLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEucDEsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLnAwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDAuMCwKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAtMC4wLAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDAuMCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLnAxLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEucDEsCisgICAgMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMC4wLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMC4wLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS5wMSwKKyAgICAweDEuODAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmMHAwCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvcm91bmRfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3JvdW5kX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmI4NTAyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3JvdW5kX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEzNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19yb3VuZF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMDAyMHAxMSwKKyAgICAweDEuMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS44MHAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wMSwKKyAgICAweDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucDEsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5wMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLnAxLAorICAgIDB4MS4zZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS44MHAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS44MHAxLAorICAgIDB4MS40MDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS45MHA2LAorICAgIDB4MS44ZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS45MHA2LAorICAgIDB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45MHA2LAorICAgIDB4MS45MDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS45MHA2LAorICAgIDB4MS45MWZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS45NHA2LAorICAgIDB4MS45MjBwNgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjk0cDYsCisgICAgMHgxLjkyMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmY0cDksCisgICAgMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuZjQ4MHA5LAorICAgIDB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQ0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEucDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDUwLAorICAgIDB4MS4wcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEucDUwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEucDUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEucDUxLAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5wNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5wNTIsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEucDUzLAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLnA1NCwKKyAgICAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS44MHAxLAorICAgIC0weDEuNDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEucDEsCisgICAgLTB4MS4zZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS44ZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkyMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS45NHA2LAorICAgIC0weDEuOTIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkxZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDBwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjNmZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmY0ODBwOSwKKyAgICAtMHgxLmY0NDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTB4MS5mNDgwcDksCisgICAgLTB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMHgxLnA1MCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEucDUwLAorICAgIC0weDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDUxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5wNTEsCisgICAgLTB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLnA1MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnA1MiwKKyAgICAtMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEucDUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA1MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEucDUzLAorICAgIC0weDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA1MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLnA1NCwKKyAgICAtMHgxLjBwNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUzCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5wMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIDB4MS5wMzAsCisgICAgMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5wMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY5ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY5ZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmUwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmUwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5wMzEsCisgICAgMHgxLmZmZmZmZmZlMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEucDMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLnAzMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5wMzEsCisgICAgMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAwZmZmZmVwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZmcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMTBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuMDAwMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuMDAwMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMDAxMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuZmZmZmZmZTBwMzAsCisgICAgMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuZmZmZmZmZTRwMzAsCisgICAgMHgxLmZmZmZmZmU0MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIDB4MS5mZmZmZmZlOHAzMCwKKyAgICAweDEuZmZmZmZmZTgwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLmZmZmZmZmVjcDMwLAorICAgIDB4MS5mZmZmZmZlYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEuZmZmZmZmZjBwMzAsCisgICAgMHgxLmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuZmZmZmZmZjRwMzAsCisgICAgMHgxLmZmZmZmZmY0MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjgwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEucDMxLAorICAgIDB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLjAwMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDAwMjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjgwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY3ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYTAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY5ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmMwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZiZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZlMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZlMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZkZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLjAwMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAwMDEwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuMDAwMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDAwMTAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS4wMDAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMDAxMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDBmZmZmZXAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEucDY0LAorICAgIDB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDYyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEucDYyLAorICAgIC0weDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDYzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5wNjMsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2NCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLjBwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLnA2MiwKKyAgICAweDEuMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5wNjMsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLnA2MywKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZiZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEucDMxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIC0weDEucDMxLAorICAgIC0weDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEucDMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5wMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLnAyLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIDB4MS5wMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLnAzLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucDMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5wNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLnA0LAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEucDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5wNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLnA1LAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEucDUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5wNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLnA2LAorICAgIDB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEucDYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5wNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLnA3LAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEucDcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5wOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgMHgxLnA4LAorICAgIDB4MS4wcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEucDgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5wOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLnA5LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEucDksCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5wMTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLnAxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5wMTEsCisgICAgMHgxLjBwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEucDExLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLnAxMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS5wMTIsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAyLAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjQwcDIsCisgICAgMHgxLjIwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS5wMywKKyAgICAweDEuMGZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjIwcDMsCisgICAgMHgxLjFwMworICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS4yMHAzLAorICAgIDB4MS4xMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS4xMHA0LAorICAgIDB4MS4wODBwNAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS4xMHA0LAorICAgIDB4MS4wODAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEucDUsCisgICAgMHgxLjAzZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS4wOHA1LAorICAgIDB4MS4wNDBwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS4wOHA1LAorICAgIDB4MS4wNDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEucDYsCisgICAgMHgxLjAxZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMjBwNgorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS4wNHA2LAorICAgIDB4MS4wMjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZmZmZmZmZmZwNworICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS4wMnA3LAorICAgIDB4MS4wMTBwNworICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS4wMnA3LAorICAgIDB4MS4wMTAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEucDgsCisgICAgMHgxLjAwN2ZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS4wMXA4LAorICAgIDB4MS4wMDhwOAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS4wMXA4LAorICAgIDB4MS4wMDgwMDAwMDAwMDAxcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEucDksCisgICAgMHgxLjAwM2ZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS4wMDgwcDksCisgICAgMHgxLjAwNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjAwODBwOSwKKyAgICAweDEuMDA0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAxZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDAyMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDVmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjAwODBwMTAsCisgICAgMHgxLjAwNnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4wMDgwcDEwLAorICAgIDB4MS4wMDYwMDAwMDAwMDAxcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS4wMDIwcDExLAorICAgIDB4MS4wMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMDAyMHAxMSwKKyAgICAweDEuMDAxMDAwMDAwMDAwMXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDdmZmZmZmZmZmZwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwODAwMDAwMDAwMXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5wMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLnAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLnAxLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAtMHgxLnAxLAorICAgIC0weDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAweDEucDEsCisgICAgMHgxLjgwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLnAxLAorICAgIC0weDEuODAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIC0weDEucDAsCisgICAgLTB4MS43ZmZmZnAwCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvcm91bmRmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9yb3VuZGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2N2NkZWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvcm91bmRmX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDEzMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxmbG9hdCwgZmxvYXQ+IGdfcm91bmRmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEucDAsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAxLAorICAgIDB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEucDEsCisgICAgMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEucDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEucDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEucDEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEucDEsCisgICAgMHgxLjNmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuODBwMSwKKyAgICAweDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjQwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOGZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS45MHA2LAorICAgIDB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS45MHA2LAorICAgIDB4MS45MWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjk0cDYsCisgICAgMHgxLjkycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45NHA2LAorICAgIDB4MS45MjAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmY0cDksCisgICAgMHgxLmYzZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjRwOQorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mNDgwcDksCisgICAgMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmY0ODBwOSwKKyAgICAweDEuZjQ0MDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5wMjEsCisgICAgMHgxLmZmZmZmZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLnAyMSwKKyAgICAweDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEucDIxLAorICAgIDB4MS4wMDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5wMjIsCisgICAgMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLnAyMiwKKyAgICAweDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuMDAwMDA0cDIyLAorICAgIDB4MS4wMDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIDB4MS5wMjMsCisgICAgMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLnAyMywKKyAgICAweDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuMDAwMDAycDIzLAorICAgIDB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5mZmZmZmVwMjMsCisgICAgMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnAyNCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAycDI0LAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mZmZmZmVwMjQsCisgICAgMHgxLmZmZmZmZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnAyNSwKKyAgICAweDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuMDAwMDAycDI1LAorICAgIDB4MS4wMDAwMDJwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLnAxLAorICAgIC0weDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEucDEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS40MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS44MHAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjNmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MDAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOGZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuOTRwNiwKKyAgICAtMHgxLjkyMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjk0cDYsCisgICAgLTB4MS45MnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmYzZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLmY0ODBwOSwKKyAgICAtMHgxLmY0NDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0ODBwOSwKKyAgICAtMHgxLmY0NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEucDIxLAorICAgIC0weDEuMDAwMDAycDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLnAyMSwKKyAgICAtMHgxLnAyMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5wMjEsCisgICAgLTB4MS5mZmZmZmVwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuMDAwMDA0cDIyLAorICAgIC0weDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLnAyMiwKKyAgICAtMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5wMjIsCisgICAgLTB4MS5mZmZmZmVwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMDAwMDAycDIzLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLnAyMywKKyAgICAtMHgxLnAyMworICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5wMjMsCisgICAgLTB4MS5mZmZmZmVwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAycDI0LAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnAyNCwKKyAgICAtMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5mZmZmZmVwMjMsCisgICAgLTB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMDAwMDAycDI1LAorICAgIC0weDEuMDAwMDAycDI1CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLnAyNSwKKyAgICAtMHgxLnAyNQorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZmZmZmVwMjQsCisgICAgLTB4MS5mZmZmZmVwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5mZmZmZmVwMjksCisgICAgMHgxLmZmZmZmZXAyOQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLnAzMCwKKyAgICAweDEucDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuMDAwMDAycDMwLAorICAgIDB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIDB4MS4wMDAwMDJwMzEsCisgICAgMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS5mZmZmZmVwMzAsCisgICAgMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjAwMDAwNHAzMSwKKyAgICAweDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS4wMDAwMDJwMzAsCisgICAgLTB4MS4wMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLnAzMCwKKyAgICAtMHgxLnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuZmZmZmZlcDI5LAorICAgIC0weDEuZmZmZmZlcDI5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuZmZmZmZjcDYxLAorICAgIDB4MS5mZmZmZmNwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZmZmZmZlcDYxLAorICAgIDB4MS5mZmZmZmVwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAweDEucDYyLAorICAgIDB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMDAwMDAycDYyLAorICAgIDB4MS4wMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDAwMDA0cDYyLAorICAgIDB4MS4wMDAwMDRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZmZmZmZjcDYyLAorICAgIDB4MS5mZmZmZmNwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZmZmZmZlcDYyLAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMDAwMDAycDYzLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMDAwMDA0cDYzLAorICAgIDB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuZmZmZmZjcDYzLAorICAgIDB4MS5mZmZmZmNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAweDEuZmZmZmZlcDYzLAorICAgIDB4MS5mZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEucDY0LAorICAgIDB4MS5wNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuMDAwMDAycDY0LAorICAgIDB4MS4wMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuMDAwMDA0cDY0LAorICAgIDB4MS4wMDAwMDRwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAtMHgxLjAwMDAwNHA2MiwKKyAgICAtMHgxLjAwMDAwNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMDAwMDAycDYyLAorICAgIC0weDEuMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS5wNjIsCisgICAgLTB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmZmZmZmZXA2MSwKKyAgICAtMHgxLmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuZmZmZmZjcDYxLAorICAgIC0weDEuZmZmZmZjcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4wMDAwMDRwNjMsCisgICAgLTB4MS4wMDAwMDRwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjAwMDAwMnA2MywKKyAgICAtMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS5mZmZmZmVwNjIsCisgICAgLTB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmZmZmY3A2MiwKKyAgICAtMHgxLmZmZmZmY3A2MgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMDAwMDA0cDY0LAorICAgIC0weDEuMDAwMDA0cDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4wMDAwMDJwNjQsCisgICAgLTB4MS4wMDAwMDJwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLnA2NCwKKyAgICAtMHgxLnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuZmZmZmZlcDYzLAorICAgIC0weDEuZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5mZmZmZmNwNjMsCisgICAgLTB4MS5mZmZmZmNwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEucDYyLAorICAgIDB4MS5wNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEucDYzLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEucDYzLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLnAzMSwKKyAgICAweDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLnAyLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5wMiwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAweDEucDIsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLnAzLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDB4MS5wMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDMsCisgICAgMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLnA0LAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5wNCwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucDQsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLnA1LAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIDB4MS5wNSwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEucDUsCisgICAgMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLnA2LAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5wNiwKKyAgICAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEucDYsCisgICAgMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLnA3LAorICAgIDB4MS5mZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS5wNywKKyAgICAweDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEucDcsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLnA4LAorICAgIDB4MS5mZmZmZmVwNworICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS5wOCwKKyAgICAweDEucDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEucDgsCisgICAgMHgxLjAwMDAwMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLnA5LAorICAgIDB4MS5mZmZmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5wOSwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEucDksCisgICAgMHgxLjAwMDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLnAxMCwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEucDExLAorICAgIDB4MS5mZmZmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEucDExLAorICAgIDB4MS5wMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEucDExLAorICAgIDB4MS4wMDAwMDJwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEucDEyLAorICAgIDB4MS5mZmZmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEucDEyLAorICAgIDB4MS5wMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDAwMDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEucDIsCisgICAgMHgxLjFmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjQwcDIsCisgICAgMHgxLjIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuNDBwMiwKKyAgICAweDEuMjAwMDAycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEucDMsCisgICAgMHgxLjBmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjIwcDMsCisgICAgMHgxLjEwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuMjBwMywKKyAgICAweDEuMTAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjEwcDQsCisgICAgMHgxLjA4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuMTBwNCwKKyAgICAweDEuMDgwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEucDUsCisgICAgMHgxLjAzZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjA4cDUsCisgICAgMHgxLjA0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuMDhwNSwKKyAgICAweDEuMDQwMDAycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEucDYsCisgICAgMHgxLjAxZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjA0cDYsCisgICAgMHgxLjAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMDRwNiwKKyAgICAweDEuMDIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjAycDcsCisgICAgMHgxLjAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuMDJwNywKKyAgICAweDEuMDEwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucDgsCisgICAgMHgxLjAwN2ZmZXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjAxcDgsCisgICAgMHgxLjAwODBwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS4wMXA4LAorICAgIDB4MS4wMDgwMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5wOSwKKyAgICAweDEuMDAzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuMDA4MHA5LAorICAgIDB4MS4wMDQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuMDA4MHA5LAorICAgIDB4MS4wMDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMWZmZXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDIwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjAwNDBwMTAsCisgICAgMHgxLjAwMjAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDVmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuMDA4MHAxMCwKKyAgICAweDEuMDA2MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS4wMDgwcDEwLAorICAgIDB4MS4wMDYwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucDExLAorICAgIDB4MS4wMDBmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuMDAyMHAxMSwKKyAgICAweDEuMDAxMHAxMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS4wMDIwcDExLAorICAgIDB4MS4wMDEwMDJwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDA3ZmVwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMDAxMHAxMiwKKyAgICAweDEuMDAwOHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS4wMDEwcDEyLAorICAgIDB4MS4wMDA4MDJwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmZmZmZmY3AxMjcsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmZmZmZmY3AxMjcsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgLTB4MS44MHAxLAorICAgIC0weDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEucDEsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEucDAsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEucDAsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0weDEucDAsCisgICAgLTB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTAuMCwKKyAgICAtMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMC4wLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMC4wLAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDAuMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAwLjAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0wLjAsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEucDEsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLnAxLAorICAgIC0weDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS44MHAxLAorICAgIDB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS44MHAxLAorICAgIC0weDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDAuMCwKKyAgICAweDEuZmZmZmYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAxMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5wMSwKKyAgICAweDEuODAwMDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjgwMDAxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmMHAwCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvc2NhbGJfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3NjYWxiX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDZjMWY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3NjYWxiX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDQ2MjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxkb3VibGUsIGRvdWJsZSwgZG91YmxlPiBnX3NjYWxiX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS41NTU1NTU1NTU1NTU2MHAtMTAyNCwKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTZwLTIsCisgICAgLTB4MS5mZjBwOQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjZkYjZkYjZkYjZkYjcwcC0xMDIzLAorICAgIC0weDEuNmRiNmRiNmRiNmRiN3AtMSwKKyAgICAtMHgxLmZmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIC0weDEuOGUzOGUzOGUzOGUzOTBwLTEwMjMsCisgICAgLTB4MS44ZTM4ZTM4ZTM4ZTM5cC0xLAorICAgIC0weDEuZmYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTB4MS43ODBwNQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucC01MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZmY4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLjU0NjRhNjA2MTEyODgwcC0xMDI2LAorICAgIDB4MS41NDY0YTYwNjExMjg4cC0yLAorICAgIC0weDEuMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuOGUxNDdhZTE0N2FlMXAwLAorICAgIDB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDAuMCwKKyAgICAweDEuZGRkZGRkZGRkZGRkZHAtMiwKKyAgICAtMHgxLjBjNHAxMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMC4wLAorICAgIDB4MS5mN2RmN2RmN2RmN2RmcC0yLAorICAgIC0weDEuMGM0cDEwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmNnAzMCwKKyAgICAweDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDMzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDcwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0weDEuNzgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgLTB4MS5wLTEwLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLnAtOSwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5wLTgsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEucC03LAorICAgIC0weDEuMHAwLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMHgxLnAtNiwKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS5wLTUsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEucC00LAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLnAtMywKKyAgICAtMHgxLjBwMCwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS5wLTIsCisgICAgLTB4MS4wcDAsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIC0weDEucC0xLAorICAgIC0weDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAtMHgxLnAyLAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEucDMsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5wNCwKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLnA1LAorICAgIC0weDEuMHAwLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEucDYsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5wNywKKyAgICAtMHgxLjBwMCwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLnA4LAorICAgIC0weDEuMHAwLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIC0weDEucDksCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgLTB4MS5wMTAsCisgICAgLTB4MS4wcDAsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtMTEsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0xMCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwLTksCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC04LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAtMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtNywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwLTYsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC01LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtNCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwLTMsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAtMSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDAsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwMSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAyLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDMsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwNCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHA1LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDYsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIDB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwNywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHA4LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDksCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTExLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMTAsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcC05LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtOCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTcsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcC02LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAtMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtNSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTQsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcC0zLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMiwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwLTEsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAwLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDEsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwMiwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAzLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDQsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwNSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHA2LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDcsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwOCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHA5LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC0xMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTEwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAtMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAtOSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTgsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC03LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAtNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgLTB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTUsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC00LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAtMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcC0xLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAxLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHA0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDUsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwNywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwOCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwOSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTExLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTEwLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAtMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTksCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtOCwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC03LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTYsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtNSwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC00LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTMsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtMiwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC0xLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDAsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDEsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDIsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDMsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDQsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDUsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDYsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDcsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDgsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDksCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC0xMSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC0xMCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC05LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTgsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtNywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC02LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAtMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTUsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtNCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC0zLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTIsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtMSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAwLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAxLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAyLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAzLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA0LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA1LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA2LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA3LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA4LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA5LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMTIsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMTEsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMTAsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtOSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC04LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTcsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtNiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC01LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTQsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC0yLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC0xLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAwLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAxLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAyLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAzLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA0LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA1LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA2LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA3LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA4LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMTAsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtOSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC04LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTcsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC01LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC0yLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC0xLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAxLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAzLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA1LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA2LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA3LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA4LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTEyLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC0xMSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMTAsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTksCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTgsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTcsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTYsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTUsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTQsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTMsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTIsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC0xLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwMCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AyLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwMywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDQsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3A1LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwNiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cDcsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3A4LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMTMsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMTAsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtOSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC04LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAtMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTcsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC01LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDAsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDEsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDIsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDMsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDQsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDUsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDYsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDcsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xNCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC05LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAtMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTgsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtNywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC02LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTUsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtNCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAxLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAzLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHA0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHA1LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHA2LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjIwcC02MiwKKyAgICAweDEuMnAtNTIsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuMjBwLTYxLAorICAgIDB4MS4ycC01MiwKKyAgICAtMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS4yMHAtNjAsCisgICAgMHgxLjJwLTUyLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjIwcC01OSwKKyAgICAweDEuMnAtNTIsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuMjBwLTU4LAorICAgIDB4MS4ycC01MiwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS4yMHAtNTcsCisgICAgMHgxLjJwLTUyLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjIwcC01NiwKKyAgICAweDEuMnAtNTIsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMjBwLTU1LAorICAgIDB4MS4ycC01MiwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS4yMHAtNTQsCisgICAgMHgxLjJwLTUyLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjIwcC01MywKKyAgICAweDEuMnAtNTIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuMjBwLTUyLAorICAgIDB4MS4ycC01MiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuMjBwLTUxLAorICAgIDB4MS4ycC01MiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjIwcC01MCwKKyAgICAweDEuMnAtNTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS4yMHAtNDksCisgICAgMHgxLjJwLTUyLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuMjBwLTQ4LAorICAgIDB4MS4ycC01MiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjIwcC00NywKKyAgICAweDEuMnAtNTIsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS4yMHAtNDYsCisgICAgMHgxLjJwLTUyLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEuMjBwLTQ1LAorICAgIDB4MS4ycC01MiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjIwcC00NCwKKyAgICAweDEuMnAtNTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS4yMHAtNDMsCisgICAgMHgxLjJwLTUyLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuMjBwLTQyLAorICAgIDB4MS4ycC01MiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtMTMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTEyLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAtMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtMTAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTksCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0zLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcDAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAxLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcDMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43NDVkMTc0NWQxNzU4MHA0LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcDYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMTMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTEyLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0xMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMTAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTksCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0yLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAwLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAzLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS43NDVkMTc0NWQxNzRmMHA2LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwNywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0xMiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtMTEsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTEwLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC05LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC04LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC03LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC02LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC01LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC00LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0zLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC0yLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtMSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDAsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAxLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwMiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDMsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA0LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwNSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDYsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHA3LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwOCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0xMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtMTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTEwLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC05LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC04LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC03LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC02LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC01LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC00LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0zLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC0yLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS43NDVkMTc0NWQxNzRhMHAxLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS43NDVkMTc0NWQxNzRhMHA0LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS43NDVkMTc0NWQxNzRhMHA3LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwOCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0xMiwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtMTEsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTEwLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC05LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC04LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC03LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC02LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC01LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzYzCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC00LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0zLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC0yLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtMSwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDAsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAxLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwMiwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDMsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA0LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwNSwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDYsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHA3LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwOCwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC0xMSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtMTAsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTksCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTgsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTcsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTYsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTUsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTQsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTMsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTIsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTEsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcDAsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAxLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwMiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcDMsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA0LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwNSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcDYsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA3LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwOCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcDksCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS40NWQxNzQ1ZDE3NDZwLTExLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtMTAsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC05LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtOCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAtMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS40NWQxNzQ1ZDE3NDZwLTcsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC02LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtNSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS40NWQxNzQ1ZDE3NDZwLTQsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC0zLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAtMiwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS40NWQxNzQ1ZDE3NDZwLTEsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAwLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDEsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS40NWQxNzQ1ZDE3NDZwMiwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAzLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDQsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS40NWQxNzQ1ZDE3NDZwNSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnA2LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIDB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDcsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS40NWQxNzQ1ZDE3NDZwOCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnA5LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTExLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC0xMCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtOSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtOCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtNywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtNiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwMCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAyLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIDB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA1LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIDB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwNiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS43NDVkMTc0NWQxNzQ5MHA4LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIDB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwOSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC0xMSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAtMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtMTAsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS4ycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTksCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTgsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTcsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS44cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTYsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTUsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTQsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS44cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTMsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTIsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTEsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLmEyZThiYTJlOGJhMzIwcDAsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAxLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwMiwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLmEyZThiYTJlOGJhMzIwcDMsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHA0LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwNSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcDYsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS5hMmU4YmEyZThiYTMyMHA3LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwOCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcDksCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtMTEsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTEwLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC05LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC04LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC03LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC02LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC01LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC00LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0zLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0yLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0xLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAwLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwMSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAzLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwNCwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDUsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHA2LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIDB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwNywKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcDgsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHA5LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAweDEucC0xMCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLnAtOSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgMHgxLnAtOCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLnAtNywKKyAgICAweDEuMHAwLAorICAgIC0weDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgMHgxLnAtNiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLnAtNSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgMHgxLnAtNCwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLnAtMywKKyAgICAweDEuMHAwLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLnAtMiwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgMHgxLnAtMSwKKyAgICAweDEuMHAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS5wMiwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEucDMsCisgICAgMHgxLjBwMCwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLnA0LAorICAgIDB4MS4wcDAsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS5wNSwKKyAgICAweDEuMHAwLAorICAgIDB4MS40cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEucDYsCisgICAgMHgxLjBwMCwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgMHgxLnA3LAorICAgIDB4MS4wcDAsCisgICAgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIDB4MS5wOCwKKyAgICAweDEuMHAwLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAweDEucDksCisgICAgMHgxLjBwMCwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLnAxMCwKKyAgICAweDEuMHAwLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmY4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuZmYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mMzhwOQorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDE2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDE5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0weDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS5wLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZjhwOQorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5wLTUyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZjBwOQorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS5wLTc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mNDBwOQorICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS5wLTc1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mMzhwOQorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLnAtMTA3MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLnAtMTA3MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgMHgxLnAtMTA3MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLnAtMTA2OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgMHgxLnAtMTA2OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMHgxLnAtMTA2NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLnAtMTA2NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLnAtMTA2NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLnAtMTA2NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLnAtMTAyNSwKKyAgICAweDEuMHAtMiwKKyAgICAtMHgxLmZmOHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMHgxLnAtMTAyNCwKKyAgICAweDEuMHAtMiwKKyAgICAtMHgxLmZmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTM0CisgICAgMHgxLnAtMTAyNCwKKyAgICAweDEuMHAtMSwKKyAgICAtMHgxLmZmOHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMSwKKyAgICAtMHgxLmZmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLjgwcC0xMDI0LAorICAgIDB4MS44cC0xLAorICAgIC0weDEuZmY4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAweDEuODBwLTEwMjMsCisgICAgMHgxLjhwLTEsCisgICAgLTB4MS5mZjBwOQorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIDAuMCwKKyAgICAweDEuMHAtMiwKKyAgICAtMHgxLjBjOHAxMAorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDAuMCwKKyAgICAweDEuMHAtMiwKKyAgICAtMHgxLjBjNHAxMAorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDAuMCwKKyAgICAweDEuMHAtMSwKKyAgICAtMHgxLjBjOHAxMAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEsCisgICAgLTB4MS4wYzRwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAwLjAsCisgICAgMHgxLjhwLTEsCisgICAgLTB4MS4wYzhwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDMKKyAgICAweDEuODBwLTEwNzQsCisgICAgMHgxLjhwLTEsCisgICAgLTB4MS4wYzRwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEucDEwMjMsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmY4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAweDEucDEwMjIsCisgICAgMHgxLjBwMCwKKyAgICAweDEuZmYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS5wLTEwNzIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIDB4MS5wLTEwNzEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjhwMQorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS5wLTEwNzAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDU1MQorICAgIDB4MS5wLTEwNjksCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDU1MgorICAgIDB4MS5wLTEwNjgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjhwMgorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS5wLTEwNjcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmNwMgorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS5wLTEwNjYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIDB4MS5wLTEwNjUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIDB4MS5wLTEwNjQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjRwMworICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIDB4MS5wLTEwNjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS5wLTEwNjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjhwMworICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS5wLTEwNjEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmFwMworICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS5wLTEwNjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmNwMworICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIDB4MS5wLTEwNTksCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmVwMworICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS5wLTEwNTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIDB4MS5wLTEwNTcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjFwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS5wLTEwNTYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjJwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS5wLTEwNTUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjNwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIDB4MS5wLTEwNTQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjRwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIDB4MS5wLTEwNTMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjVwNAorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIDB4MS5wLTEwNTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjZwNAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS5wLTEwNTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjdwNAorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS5wLTEwNTAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjhwNAorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIDB4MS5wLTEwNDksCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjlwNAorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIDB4MS5wLTEwNDgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmFwNAorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIDB4MS5wLTEwNDcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmJwNAorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIDB4MS5wLTEwNDYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmNwNAorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS5wLTEwNDUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmRwNAorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIDB4MS5wLTEwNDQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmVwNAorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIDB4MS5wLTEwNDMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZwNAorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIDB4MS5wLTEwNDIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIDB4MS5wLTEwNDEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjA4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLnAtMTA0MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgMHgxLnAtMTAzOSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMTgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEucC0xMDM4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4ycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODMKKyAgICAweDEucC0xMDM3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4yODBwNQorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIDB4MS5wLTEwMzYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjNwNQorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS5wLTEwMzUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjM4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnAtMTAzNCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLnAtMTAzMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNDgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEucC0xMDMyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS41cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAweDEucC0xMDMxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS41ODBwNQorICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIDB4MS5wLTEwMzAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjZwNQorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS5wLTEwMjksCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjY4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLnAtMTAyOCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuN3A1CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLnAtMTAyNywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNzgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEucC0xMDI2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS44cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAweDEucC0xMDI1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS44ODBwNQorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIDB4MS5wLTEwMjQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjlwNQorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjk4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYXA1CisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgMHgxLnAtMTAyMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYTgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAweDEucC0xMDIwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5icDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDEKKyAgICAweDEucC0xMDE5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5iODBwNQorICB9LAorICB7IC8vIEVudHJ5IDYwMgorICAgIDB4MS5wLTEwMTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmNwNQorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS5wLTEwMTcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmM4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLnAtMTAxNiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLnAtMTAxNSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZDgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDYKKyAgICAweDEucC0xMDE0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5lcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEucC0xMDEzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5lODBwNQorICB9LAorICB7IC8vIEVudHJ5IDYwOAorICAgIDB4MS5wLTEwMTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZwNQorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS5wLTEwMTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmY4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLnAtMTAxMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLnAtMTAwOSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTIKKyAgICAweDEucC0xMDA4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wODBwNgorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS5wLTEwMDcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjBjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLnAtMTAwNiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgMHgxLnAtMTAwNSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMTQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAweDEucC0xMDA0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4xODBwNgorICB9LAorICB7IC8vIEVudHJ5IDYxNworICAgIDB4MS5wLTEwMDMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjFjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgMHgxLnAtMTAwMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLnAtMTAwMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMjQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAweDEucC0xMDAwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4yODBwNgorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS5wLTk5OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMmMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAweDEucC05OTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjNwNgorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS5wLTk5NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMzQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEucC05OTYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjM4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLnAtOTk1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4zYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDYyNgorICAgIDB4MS5wLTk5NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLnAtOTkzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS40NDBwNgorICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIDB4MS5wLTk5MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNDgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEucC05OTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjRjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgMHgxLnAtOTkwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS41cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEucC05ODksCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjU0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgMHgxLnAtOTg4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS41ODBwNgorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS5wLTk4NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNWMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAweDEucC05ODYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjZwNgorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIDB4MS5wLTk4NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNjQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAweDEucC05ODQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjY4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgMHgxLnAtOTgzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS42YzBwNgorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS5wLTk4MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuN3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgMHgxLnAtOTgxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS43NDBwNgorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5wLTk4MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuNzgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDEKKyAgICAweDEucC05NzksCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjdjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLnAtOTc4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS44cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAweDEucC05NzcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjg0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLnAtOTc2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS44ODBwNgorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS5wLTk3NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuOGMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAweDEucC05NzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjlwNgorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS5wLTk3MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuOTQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDgKKyAgICAweDEucC05NzIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLjk4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgMHgxLnAtOTcxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS45YzBwNgorICB9LAorICB7IC8vIEVudHJ5IDY1MAorICAgIDB4MS5wLTk3MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLnAtOTY5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5hNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS5wLTk2OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYTgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAweDEucC05NjcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmFjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgMHgxLnAtOTY2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5icDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAweDEucC05NjUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmI0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLnAtOTY0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5iODBwNgorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS5wLTk2MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYmMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAweDEucC05NjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmNwNgorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIDB4MS5wLTk2MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYzQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAweDEucC05NjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmM4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgMHgxLnAtOTU5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5jYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS5wLTk1OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLnAtOTU3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5kNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS5wLTk1NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZDgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAweDEucC05NTUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmRjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLnAtOTU0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5lcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAweDEucC05NTMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmU0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLnAtOTUyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5lODBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIDB4MS5wLTk1MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZWMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEucC05NTAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmZwNgorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDB4MS5wLTk0OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuZjQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAweDEucC05NDgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgMHgxLmY4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLnAtOTQ3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIDB4MS5wLTk0NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLnAtOTQ1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wMjBwNworICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS5wLTk0NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMDQwcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDE5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjRwMgorICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDE2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5jcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDY4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS40cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjZwMworICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5hcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmNwMworICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZXAzCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDA3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjFwNAorICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4zcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjRwNAorICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNXA0CisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS42cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjdwNAorICB9LAorICB7IC8vIEVudHJ5IDcwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS44cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOXA0CisgIH0sCisgIHsgLy8gRW50cnkgNzAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmFwNAorICB9LAorICB7IC8vIEVudHJ5IDcwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTk2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5icDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuY3A0CisgIH0sCisgIHsgLy8gRW50cnkgNzA2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmRwNAorICB9LAorICB7IC8vIEVudHJ5IDcwNworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTkzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5lcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZnA0CisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDcxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTkwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wODBwNQorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTg5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4xcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMTgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjI4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjNwNQorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTg0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4zODBwNQorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTgzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS40cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNDgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNXA1CisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjU4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjZwNQorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTc4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS42ODBwNQorICB9LAorICB7IC8vIEVudHJ5IDcyMworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTc3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS43cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNzgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjg4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjlwNQorICB9LAorICB7IC8vIEVudHJ5IDcyOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTcyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS45ODBwNQorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTcxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5hcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuYTgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuYnA1CisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmI4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmNwNQorICB9LAorICB7IC8vIEVudHJ5IDczNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTY2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5jODBwNQorICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTY1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5kcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZDgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZXA1CisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmU4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZwNQorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTYwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mODBwNQorICB9LAorICB7IC8vIEVudHJ5IDc0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTU5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMDQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMDgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMGMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjE0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjE4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzQ4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjFjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjJwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4yNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4yODBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4yYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4zcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMzQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMzgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuM2MwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjQ0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjQ4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjRjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjVwNgorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS41NDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS41ODBwNgorICB9LAorICB7IC8vIEVudHJ5IDc2NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS41YzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS42cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNjQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNjgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuNmMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuN3A2CisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjc0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjc4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjdjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjhwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS44NDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS44ODBwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS44YzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOTQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOTgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuOWMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuYXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmE0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmE4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmFjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmJwNgorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTE0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5iNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5iODBwNgorICB9LAorICB7IC8vIEVudHJ5IDc4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5iYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5jcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuYzQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuYzgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuY2MwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmQ0MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmQ4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmRjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmVwNgorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTAyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5lNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc5OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5lODBwNgorICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5lYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtODk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZjQwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZjgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuZmMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMHA3CisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjAyMHA3CisgIH0sCisgIHsgLy8gRW50cnkgODA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjA0MHA3CisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wYzhwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEucC0xLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wYzRwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjBjOHAxMAorICB9LAorICB7IC8vIEVudHJ5IDgxMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuMGM0cDEwCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuYXA1CisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuOTgwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAweDEuYXA1CisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLjk4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgODE2CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDgyMQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjcKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODI4CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODM2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgzNworICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDEKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDQKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODQ2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODQ3CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDg1MAorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg1NQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDg1NgorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIDAuMCwKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODYyCisgICAgMC4wLAorICAgIDAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgLTAuMCwKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjUKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg2NgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjgKKyAgICAwLjAsCisgICAgMC4wLAorICAgIDB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDg2OQorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAweDEuZmMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzAKKyAgICAwLjAsCisgICAgMC4wLAorICAgIC0weDEuZmMwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzEKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDg3MgorICAgIDAuMCwKKyAgICAwLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODc1CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODc2CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODc5CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgODgzCisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDg4NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDg4NQorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgMHgxLmZjMHA2CisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwsCisgICAgLTB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDg4OAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDg5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTMKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDg5NworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDg5OAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTkKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDIKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTAzCisgICAgLTB4MS5wLTEwMjIsCisgICAgLTB4MS4wcC0xMDIyLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDcKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDkwOAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIDB4MS5mYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIEhVR0VfVkFMLAorICAgIDB4MS4wcC0xMDIyLAorICAgIDB4MS4zODhwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAweDEuMzg4cDE1CisgIH0sCisgIHsgLy8gRW50cnkgOTEyCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAweDEuMzg4cDE1CisgIH0sCisgIHsgLy8gRW50cnkgOTEzCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAweDEuMzg4cDE1CisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTAyMiwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDkxNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDkxNworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTE4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTkKKyAgICAtMHgxLnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAtMHgxLjM4OHAxNQorICB9LAorICB7IC8vIEVudHJ5IDkyMQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgLTB4MS4zODhwMTUKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zY2FsYmZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3NjYWxiZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QxZDVlZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9zY2FsYmZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDU4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMl90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfc2NhbGJmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgLTB4MS41NTU1NTRwLTEyOCwKKyAgICAtMHgxLjU1NTU1NHAtMiwKKyAgICAtMHgxLmY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS42ZGI2ZGNwLTEyOCwKKyAgICAtMHgxLjZkYjZkY3AtMSwKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS44ZTM4ZTRwLTEyOCwKKyAgICAtMHgxLjhlMzhlNHAtMSwKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMC4wZiwKKyAgICAweDEucC0xNDksCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjU0NjRiMHAtMTMwLAorICAgIDB4MS41NDY0YjBwLTIsCisgICAgLTB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjBmLAorICAgIDB4MS5kZGRkZGVwLTIsCisgICAgLTB4MS4yOHA3CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5lY2I3ZThwLTEyOSwKKyAgICAweDEuZWNiN2U4cC0xLAorICAgIC0weDEucDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMC4wZiwKKyAgICAweDEuZmZmZjYwcC0xMjcsCisgICAgLTB4MS43MHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmODRwLTEyNywKKyAgICAtMHgxLjcwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5mZmZmZjhwLTEzNywKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEucC0xMCwKKyAgICAtMHgxLnAwLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS5wLTksCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEucC04LAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgLTB4MS5wLTcsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEucC02LAorICAgIC0weDEucDAsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLnAwLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5wLTQsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLnAtMywKKyAgICAtMHgxLnAwLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS5wLTIsCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLnAtMSwKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEucDAsCisgICAgLTB4MS5wMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEucDEsCisgICAgLTB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEucDIsCisgICAgLTB4MS5wMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIC0weDEucDMsCisgICAgLTB4MS5wMCwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS5wNCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5wNSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAtMHgxLnA2LAorICAgIC0weDEucDAsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEucDcsCisgICAgLTB4MS5wMCwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5wOCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS5wOSwKKyAgICAtMHgxLnAwLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLnAwLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLmQxNzQ1Y3AtMTEsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLmQxNzQ1Y3AtMTAsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmQxNzQ1Y3AtOSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmQxNzQ1Y3AtOCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIC0weDEuZDE3NDVjcC03LAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS5kMTc0NWNwLTYsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLmQxNzQ1Y3AtNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmQxNzQ1Y3AtNCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIC0weDEuZDE3NDVjcC0zLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZDE3NDVjcC0yLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5kMTc0NWNwMCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuZDE3NDVjcDEsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmQxNzQ1Y3AyLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLmQxNzQ1Y3AzLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5kMTc0NWNwNCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5kMTc0NWNwNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5kMTc0NWNwNiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5kMTc0NWNwNywKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuZDE3NDVjcDgsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuZDE3NDVjcDksCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuYTJlOGI4cC0xMSwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuYTJlOGI4cC0xMCwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuYTJlOGI4cC05LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIC0weDEuYTJlOGI4cC04LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5hMmU4YjhwLTcsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLmEyZThiOHAtNiwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuYTJlOGI4cC01LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuYTJlOGI4cC00LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5hMmU4YjhwLTMsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5hMmU4YjhwLTIsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmEyZThiOHAwLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5hMmU4YjhwMSwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuYTJlOGI4cDIsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuYTJlOGI4cDMsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmEyZThiOHA0LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmEyZThiOHA1LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLmEyZThiOHA2LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmEyZThiOHA3LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5hMmU4YjhwOCwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5hMmU4YjhwOSwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS43NDVkMTRwLTExLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS43NDVkMTRwLTEwLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS43NDVkMTRwLTksCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS43NDVkMTRwLTgsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgLTB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAtMHgxLjc0NWQxNHAtNywKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuNzQ1ZDE0cC02LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS43NDVkMTRwLTUsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS43NDVkMTRwLTQsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAtMHgxLjc0NWQxNHAtMywKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLjc0NWQxNHAtMiwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuNzQ1ZDE0cDAsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLjc0NWQxNHAxLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS43NDVkMTRwMiwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgLTB4MS43NDVkMTRwMywKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuNzQ1ZDE0cDQsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuNzQ1ZDE0cDUsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuNzQ1ZDE0cDYsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIC0weDEuNzQ1ZDE0cDcsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjc0NWQxNHA4LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLjc0NWQxNHA5LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjQ1ZDE3MHAtMTEsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS40NWQxNzBwLTEwLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuNDVkMTcwcC05LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLjQ1ZDE3MHAtOCwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLjQ1ZDE3MHAtNywKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLjQ1ZDE3MHAtNiwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjQ1ZDE3MHAtNSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS40NWQxNzBwLTQsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS40NWQxNzBwLTMsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuNDVkMTcwcC0yLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLjQ1ZDE3MHAwLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuNDVkMTcwcDEsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS40NWQxNzBwMiwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuNDVkMTcwcDMsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgLTB4MS40NWQxNzBwNCwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuNDVkMTcwcDUsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLjQ1ZDE3MHA2LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS40NWQxNzBwNywKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAtMHgxLjQ1ZDE3MHA4LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS40NWQxNzBwOSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIC0weDEuMTc0NWNjcC0xMSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLjE3NDVjY3AtMTAsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTB4MS4xNzQ1Y2NwLTksCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuMTc0NWNjcC04LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuMTc0NWNjcC03LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuMTc0NWNjcC02LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEuMTc0NWNjcC01LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjE3NDVjY3AtNCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjE3NDVjY3AtMywKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS4xNzQ1Y2NwLTIsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuMTc0NWNjcDAsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS4xNzQ1Y2NwMSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLjE3NDVjY3AyLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS4xNzQ1Y2NwMywKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjE3NDVjY3A0LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS4xNzQ1Y2NwNSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuMTc0NWNjcDYsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLjE3NDVjY3A3LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuMTc0NWNjcDgsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLjE3NDVjY3A5LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5kMTc0NTJwLTEyLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEuZDE3NDUycC0xMSwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmQxNzQ1MnAtMTAsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuZDE3NDUycC05LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuZDE3NDUycC04LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZDE3NDUycC03LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuZDE3NDUycC02LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmQxNzQ1MnAtNSwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmQxNzQ1MnAtNCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5kMTc0NTJwLTMsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuZDE3NDUycC0xLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuZDE3NDUycDAsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5kMTc0NTJwMSwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuZDE3NDUycDIsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5kMTc0NTJwMywKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZDE3NDUycDQsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmQxNzQ1MnA1LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5kMTc0NTJwNiwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLmQxNzQ1MnA3LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS5kMTc0NTJwOCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuNzQ1ZDBjcC0xMiwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLjc0NWQwY3AtMTEsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTB4MS43NDVkMGNwLTEwLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjc0NWQwY3AtOSwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLjc0NWQwY3AtOCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLjc0NWQwY3AtNywKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLjc0NWQwY3AtNiwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS43NDVkMGNwLTUsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS43NDVkMGNwLTQsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuNzQ1ZDBjcC0zLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjc0NWQwY3AtMSwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLjc0NWQwY3AwLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuNzQ1ZDBjcDEsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLjc0NWQwY3AyLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuNzQ1ZDBjcDMsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLjc0NWQwY3A0LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS43NDVkMGNwNSwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIC0weDEuNzQ1ZDBjcDYsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS43NDVkMGNwNywKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuNzQ1ZDBjcDgsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjE3NDVjNnAtMTIsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS4xNzQ1YzZwLTExLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuMTc0NWM2cC0xMCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS4xNzQ1YzZwLTksCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgLTB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4xNzQ1YzZwLTgsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgLTB4MS4xNzQ1YzZwLTcsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS4xNzQ1YzZwLTYsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuMTc0NWM2cC01LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMTc0NWM2cC00LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAtMHgxLjE3NDVjNnAtMywKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS4xNzQ1YzZwLTEsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4xNzQ1YzZwMCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjE3NDVjNnAxLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4xNzQ1YzZwMiwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLjE3NDVjNnAzLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS4xNzQ1YzZwNCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIC0weDEuMTc0NWM2cDUsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjE3NDVjNnA2LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEuMTc0NWM2cDcsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLjE3NDVjNnA4LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS43NDVkcC0xMywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS43NDVkcC0xMiwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTB4MS43NDVkcC0xMSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuNzQ1ZHAtMTAsCisgICAgLTB4MS43NDVkcC0zLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuNzQ1ZHAtOSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS43NDVkcC04LAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLjc0NWRwLTcsCisgICAgLTB4MS43NDVkcC0zLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLjc0NWRwLTYsCisgICAgLTB4MS43NDVkcC0zLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuNzQ1ZHAtNSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuNzQ1ZHAtNCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS43NDVkcC0yLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLjc0NWRwLTEsCisgICAgLTB4MS43NDVkcC0zLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuNzQ1ZHAwLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuNzQ1ZHAxLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjc0NWRwMiwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAtMHgxLjc0NWRwMywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjc0NWRwNCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjc0NWRwNSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS43NDVkcDYsCisgICAgLTB4MS43NDVkcC0zLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS43NDVkcDcsCisgICAgLTB4MS43NDVkcC0zLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS43NDVjZThwLTE0LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIC0weDEuNzQ1Y2U4cC0xMywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLjc0NWNlOHAtMTIsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0weDEuNzQ1Y2U4cC0xMSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjc0NWNlOHAtMTAsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTB4MS43NDVjZThwLTksCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS43NDVjZThwLTgsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuNzQ1Y2U4cC03LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuNzQ1Y2U4cC02LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjc0NWNlOHAtNSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS43NDVjZThwLTQsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS43NDVjZThwLTMsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS43NDVjZThwLTIsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS43NDVjZThwLTEsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMHgxLjc0NWNlOHAwLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuNzQ1Y2U4cDEsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLjc0NWNlOHAyLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS43NDVjZThwMywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuNzQ1Y2U4cDQsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS43NDVjZThwNSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuNzQ1Y2U4cDYsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuODBwLTMzLAorICAgIDB4MS44MHAtMjMsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjgwcC0zMiwKKyAgICAweDEuODBwLTIzLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS44MHAtMzEsCisgICAgMHgxLjgwcC0yMywKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjgwcC0zMCwKKyAgICAweDEuODBwLTIzLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS44MHAtMjksCisgICAgMHgxLjgwcC0yMywKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuODBwLTI4LAorICAgIDB4MS44MHAtMjMsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLjgwcC0yNywKKyAgICAweDEuODBwLTIzLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuODBwLTI2LAorICAgIDB4MS44MHAtMjMsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLjgwcC0yNSwKKyAgICAweDEuODBwLTIzLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuODBwLTI0LAorICAgIDB4MS44MHAtMjMsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLjgwcC0yMywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuODBwLTIyLAorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjgwcC0yMSwKKyAgICAweDEuODBwLTIzLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS44MHAtMjAsCisgICAgMHgxLjgwcC0yMywKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS44MHAtMTksCisgICAgMHgxLjgwcC0yMywKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjEKKyAgICAweDEuODBwLTE4LAorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuODBwLTE3LAorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuODBwLTE2LAorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuODBwLTE1LAorICAgIDB4MS44MHAtMjMsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjgwcC0xNCwKKyAgICAweDEuODBwLTIzLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjgwcC0xMywKKyAgICAweDEuODBwLTIzLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjc0NWQ0OHAtMTQsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuNzQ1ZDQ4cC0xMywKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS43NDVkNDhwLTEyLAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS43NDVkNDhwLTExLAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgLTB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjc0NWQ0OHAtMTAsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuNzQ1ZDQ4cC05LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjc0NWQ0OHAtOCwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuNzQ1ZDQ4cC03LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjc0NWQ0OHAtNiwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNzQ1ZDQ4cC01LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS43NDVkNDhwLTQsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuNzQ1ZDQ4cC0zLAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjc0NWQ0OHAtMiwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS43NDVkNDhwLTEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS43NDVkNDhwMCwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS43NDVkNDhwMSwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgMHgxLjc0NWQ0OHAyLAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuNzQ1ZDQ4cDMsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS43NDVkNDhwNCwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS43NDVkNDhwNSwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjc0NWQ0OHA2LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuNzQ1ZDMwcC0xMywKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43NDVkMzBwLTEyLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjc0NWQzMHAtMTEsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjc0NWQzMHAtMTAsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuNzQ1ZDMwcC05LAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjc0NWQzMHAtOCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS43NDVkMzBwLTcsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjc0NWQzMHAtNiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43NDVkMzBwLTUsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLjc0NWQzMHAtNCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLjc0NWQzMHAtMiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS43NDVkMzBwLTEsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuNzQ1ZDMwcDAsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS43NDVkMzBwMSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS43NDVkMzBwMiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMHgxLjc0NWQzMHAzLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuNzQ1ZDMwcDQsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS43NDVkMzBwNSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS43NDVkMzBwNiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjc0NWQzMHA3LAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuMTc0NWRlcC0xMiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS4xNzQ1ZGVwLTExLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjE3NDVkZXAtMTAsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLjE3NDVkZXAtOSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS4xNzQ1ZGVwLTgsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuMTc0NWRlcC03LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLjE3NDVkZXAtNiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuMTc0NWRlcC01LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjE3NDVkZXAtNCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuMTc0NWRlcC0zLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuMTc0NWRlcC0xLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLjE3NDVkZXAwLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLjE3NDVkZXAxLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuMTc0NWRlcDIsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuMTc0NWRlcDMsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4xNzQ1ZGVwNCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjE3NDVkZXA1LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuMTc0NWRlcDYsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuMTc0NWRlcDcsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4xNzQ1ZGVwOCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjc0NWQyNHAtMTIsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuNzQ1ZDI0cC0xMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS43NDVkMjRwLTEwLAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS43NDVkMjRwLTksCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuNzQ1ZDI0cC04LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLjc0NWQyNHAtNywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS43NDVkMjRwLTYsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjc0NWQyNHAtNSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS43NDVkMjRwLTQsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjc0NWQyNHAtMywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjc0NWQyNHAtMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS43NDVkMjRwMCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS43NDVkMjRwMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgMHgxLjc0NWQyNHAyLAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjc0NWQyNHAzLAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuNzQ1ZDI0cDQsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS43NDVkMjRwNSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLjc0NWQyNHA2LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjc0NWQyNHA3LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAweDEuNzQ1ZDI0cDgsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS5kMTc0NmFwLTEyLAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLmQxNzQ2YXAtMTEsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAweDEuZDE3NDZhcC0xMCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuZDE3NDZhcC05LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgLTB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmQxNzQ2YXAtOCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS5kMTc0NmFwLTcsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuZDE3NDZhcC02LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS5kMTc0NmFwLTUsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAweDEuZDE3NDZhcC00LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5kMTc0NmFwLTMsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5kMTc0NmFwLTEsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuZDE3NDZhcDAsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuZDE3NDZhcDEsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS5kMTc0NmFwMiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5kMTc0NmFwMywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLmQxNzQ2YXA0LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuZDE3NDZhcDUsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS5kMTc0NmFwNiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDM3MAorICAgIDB4MS5kMTc0NmFwNywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLmQxNzQ2YXA4LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuMTc0NWQ4cC0xMSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIDB4MS4xNzQ1ZDhwLTEwLAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjE3NDVkOHAtOSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuMTc0NWQ4cC04LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgLTB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjE3NDVkOHAtNywKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS4xNzQ1ZDhwLTYsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuMTc0NWQ4cC01LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS4xNzQ1ZDhwLTQsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuMTc0NWQ4cC0zLAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS4xNzQ1ZDhwLTIsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIDB4MS4xNzQ1ZDhwMCwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIDB4MS4xNzQ1ZDhwMSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS4xNzQ1ZDhwMiwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjE3NDVkOHAzLAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgMHgxLjE3NDVkOHA0LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuMTc0NWQ4cDUsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS4xNzQ1ZDhwNiwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLjE3NDVkOHA3LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLjE3NDVkOHA4LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuMTc0NWQ4cDksCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS40NWQxN2NwLTExLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjQ1ZDE3Y3AtMTAsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuNDVkMTdjcC05LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS40NWQxN2NwLTgsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAweDEuNDVkMTdjcC03LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjQ1ZDE3Y3AtNiwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS40NWQxN2NwLTUsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLjQ1ZDE3Y3AtNCwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS40NWQxN2NwLTMsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjQ1ZDE3Y3AtMiwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjQ1ZDE3Y3AwLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjQ1ZDE3Y3AxLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjQ1ZDE3Y3AyLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAweDEuNDVkMTdjcDMsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuNDVkMTdjcDQsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS40NWQxN2NwNSwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjQ1ZDE3Y3A2LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuNDVkMTdjcDcsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuNDVkMTdjcDgsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS40NWQxN2NwOSwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLjc0NWQyMHAtMTEsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAtMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAweDEuNzQ1ZDIwcC0xMCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS43NDVkMjBwLTksCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAtMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjc0NWQyMHAtOCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS43NDVkMjBwLTcsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuNzQ1ZDIwcC02LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgLTB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLjc0NWQyMHAtNSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAweDEuNzQ1ZDIwcC00LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLjc0NWQyMHAtMywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAweDEuNzQ1ZDIwcC0yLAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuNzQ1ZDIwcDAsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuNzQ1ZDIwcDEsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAweDEuNzQ1ZDIwcDIsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAweDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS43NDVkMjBwMywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS43NDVkMjBwNCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjc0NWQyMHA1LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuNzQ1ZDIwcDYsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS43NDVkMjBwNywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS43NDVkMjBwOCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIDB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjc0NWQyMHA5LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAweDEuYTJlOGM0cC0xMSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIDB4MS5hMmU4YzRwLTEwLAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMHgxLmEyZThjNHAtOSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuYTJlOGM0cC04LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgLTB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLmEyZThjNHAtNywKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5hMmU4YzRwLTYsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuYTJlOGM0cC01LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS5hMmU4YzRwLTQsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuYTJlOGM0cC0zLAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDB4MS5hMmU4YzRwLTIsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS5hMmU4YzRwMCwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIDB4MS5hMmU4YzRwMSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS5hMmU4YzRwMiwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgMHgxLmEyZThjNHAzLAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLmEyZThjNHA0LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuYTJlOGM0cDUsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS5hMmU4YzRwNiwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIDB4MS5jMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLmEyZThjNHA3LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLmEyZThjNHA4LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuYTJlOGM0cDksCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5kMTc0NjhwLTExLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLmQxNzQ2OHAtMTAsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAtMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuZDE3NDY4cC05LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS5kMTc0NjhwLTgsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuZDE3NDY4cC03LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgLTB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgMHgxLmQxNzQ2OHAtNiwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS5kMTc0NjhwLTUsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLmQxNzQ2OHAtNCwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIC0weDEuODBwMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS5kMTc0NjhwLTMsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmQxNzQ2OHAtMiwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmQxNzQ2OHAwLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmQxNzQ2OHAxLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmQxNzQ2OHAyLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuZDE3NDY4cDMsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuZDE3NDY4cDQsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAweDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIDB4MS5kMTc0NjhwNSwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLmQxNzQ2OHA2LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuZDE3NDY4cDcsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAweDEuZDE3NDY4cDgsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS5kMTc0NjhwOSwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAwLAorICAgIC0weDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIDB4MS5wLTksCisgICAgMHgxLnAwLAorICAgIC0weDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS5wLTgsCisgICAgMHgxLnAwLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEucC03LAorICAgIDB4MS5wMCwKKyAgICAtMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAweDEucC02LAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjgwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEucC01LAorICAgIDB4MS5wMCwKKyAgICAtMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAweDEucC00LAorICAgIDB4MS5wMCwKKyAgICAtMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLnAtMywKKyAgICAweDEucDAsCisgICAgLTB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgMHgxLnAtMiwKKyAgICAweDEucDAsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIDB4MS5wLTEsCisgICAgMHgxLnAwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEucDAsCisgICAgMHgxLnAwLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS5wMSwKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLnAyLAorICAgIDB4MS5wMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEucDMsCisgICAgMHgxLnAwLAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgMHgxLnA0LAorICAgIDB4MS5wMCwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEucDUsCisgICAgMHgxLnAwLAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgMHgxLnA2LAorICAgIDB4MS5wMCwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS5wNywKKyAgICAweDEucDAsCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAweDEucDgsCisgICAgMHgxLnAwLAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS5wOSwKKyAgICAweDEucDAsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEucDEwLAorICAgIDB4MS5wMCwKKyAgICAweDEuNDBwMworICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAweDEuZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLmZmZmZmZXAxMTcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLmZmZmZmZXAxMTgsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS4yMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgMHgxLmZmZmZmZXAxMTksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS5mZmZmZmVwMTIwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS5mZmZmZmVwMTIxLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS5mZmZmZmVwMTIyLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuNDBwMgorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS5mZmZmZmVwMTIzLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAweDEuZmZmZmZlcDEyNCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmZmZlcDEyNSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgMHgxLmZmZmZmZXAxMjYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIDB4MS5wLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZmNwNgorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5wLTIzLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAweDEucC0xNDcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS5wLTE0NiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAweDEucC0xNDUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5wLTE0NCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAweDEucC0xNDMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgMHgxLnAtMTQyLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5wLTE0MSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgMHgxLnAtMTQwLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS5wLTEzOSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjQKKyAgICAweDEucC0xMjksCisgICAgMHgxLnAtMiwKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAweDEucC0xMjgsCisgICAgMHgxLnAtMiwKKyAgICAtMHgxLmY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAweDEucC0xMjgsCisgICAgMHgxLnAtMSwKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMSwKKyAgICAtMHgxLmY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuODBwLTEyOCwKKyAgICAweDEuODBwLTEsCisgICAgLTB4MS5mY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLjgwcC0xMjcsCisgICAgMHgxLjgwcC0xLAorICAgIC0weDEuZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDAuMGYsCisgICAgMHgxLnAtMiwKKyAgICAtMHgxLjJhcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAwLjBmLAorICAgIDB4MS5wLTIsCisgICAgLTB4MS4yOHA3CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMC4wZiwKKyAgICAweDEucC0xLAorICAgIC0weDEuMmFwNworICB9LAorICB7IC8vIEVudHJ5IDUzMworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xLAorICAgIC0weDEuMjhwNworICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDAuMGYsCisgICAgMHgxLjgwcC0xLAorICAgIC0weDEuMmFwNworICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS44MHAtMTQ5LAorICAgIDB4MS44MHAtMSwKKyAgICAtMHgxLjI4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAweDEucDEyNywKKyAgICAweDEucDAsCisgICAgMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAweDEucDEyNiwKKyAgICAweDEucDAsCisgICAgMHgxLmY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQwCisgICAgMHgxLnAtMTQ3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAweDEucC0xNDYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLnAtMTQ1LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDMKKyAgICAweDEucC0xNDQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLnAtMTQzLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuODBwMgorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIDB4MS5wLTE0MiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEucC0xNDEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wMworICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIDB4MS5wLTE0MCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDgKKyAgICAweDEucC0xMzksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLnAtMTM4LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS5wLTEzNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAweDEucC0xMzYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5hMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLnAtMTM1LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuYzBwMworICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS5wLTEzNCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmUwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTQKKyAgICAweDEucC0xMzMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIDB4MS5wLTEzMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjEwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEucC0xMzEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4yMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLnAtMTMwLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMzBwNAorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS5wLTEyOSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAweDEucC0xMjgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS41MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuNjBwNAorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjcwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAweDEucC0xMjUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgMHgxLnAtMTI0LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuOTBwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS5wLTEyMywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmEwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAweDEucC0xMjIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5iMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLnAtMTIxLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuYzBwNAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIDB4MS5wLTEyMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAweDEucC0xMTksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5lMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLnAtMTE4LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuZjBwNAorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIDB4MS5wLTExNywKKyAgICAweDEucC0xNDksCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLnAtMTE2LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMDhwNQorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIDB4MS5wLTExNSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjEwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzMKKyAgICAweDEucC0xMTQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4xOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLnAtMTEzLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMjBwNQorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS5wLTExMiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjI4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEucC0xMTEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4zMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLnAtMTEwLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMzhwNQorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIDB4MS5wLTEwOSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjQwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEucC0xMDgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLnAtMTA3LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuNTBwNQorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS5wLTEwNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjU4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEucC0xMDUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS42MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLnAtMTA0LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuNjhwNQorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIDB4MS5wLTEwMywKKyAgICAweDEucC0xNDksCisgICAgMHgxLjcwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAweDEucC0xMDIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS43OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnAtMTAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuODBwNQorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5wLTEwMCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjg4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEucC05OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjkwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAweDEucC05OCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjk4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEucC05NywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmEwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEucC05NiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmE4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAweDEucC05NSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmIwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAweDEucC05NCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmI4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAweDEucC05MywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmMwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAweDEucC05MiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmM4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAweDEucC05MSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmQwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAweDEucC05MCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmQ4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAweDEucC04OSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmUwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEucC04OCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmU4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAweDEucC04NywKKyAgICAweDEucC0xNDksCisgICAgMHgxLmYwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDEKKyAgICAweDEucC04NiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLmY4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAweDEucC04NSwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgMHgxLnAtODQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4wNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLnAtODMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4wOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLnAtODIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4wY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgMHgxLnAtODEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4xMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgMHgxLnAtODAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4xNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgMHgxLnAtNzksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4xOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLnAtNzgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4xY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLnAtNzcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4yMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLnAtNzYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4yNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgMHgxLnAtNzUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4yOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgMHgxLnAtNzQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4yY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLnAtNzMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4zMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgMHgxLnAtNzIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4zNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgMHgxLnAtNzEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4zOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLnAtNzAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4zY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgMHgxLnAtNjksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLnAtNjgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40NHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLnAtNjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40OHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIxCisgICAgMHgxLnAtNjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS40Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgMHgxLnAtNjUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS41MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLnAtNjQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS41NHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI0CisgICAgMHgxLnAtNjMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS41OHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLnAtNjIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS41Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgMHgxLnAtNjEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS42MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLnAtNjAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS42NHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgMHgxLnAtNTksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS42OHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLnAtNTgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS42Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgMHgxLnAtNTcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS43MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgMHgxLnAtNTYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS43NHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgMHgxLnAtNTUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS43OHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgMHgxLnAtNTQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS43Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgMHgxLnAtNTMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLnAtNTIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44NHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLnAtNTEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44OHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgMHgxLnAtNTAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS44Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLnAtNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS45MHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgMHgxLnAtNDgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS45NHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLnAtNDcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS45OHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLnAtNDYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS45Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLnAtNDUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5hMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQzCisgICAgMHgxLnAtNDQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5hNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLnAtNDMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5hOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ1CisgICAgMHgxLnAtNDIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5hY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgMHgxLnAtNDEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5iMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ3CisgICAgMHgxLnAtNDAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5iNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgMHgxLnAtMzksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5iOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgMHgxLnAtMzgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5iY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLnAtMzcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5jMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLnAtMzYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5jNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgMHgxLnAtMzUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5jOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgMHgxLnAtMzQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5jY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgMHgxLnAtMzMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5kMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgMHgxLnAtMzIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5kNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLnAtMzEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5kOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU3CisgICAgMHgxLnAtMzAsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5kY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjU4CisgICAgMHgxLnAtMjksCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5lMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMHgxLnAtMjgsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5lNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLnAtMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5lOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgMHgxLnAtMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5lY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLnAtMjUsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgMHgxLnAtMjQsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjY0CisgICAgMHgxLnAtMjMsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgMHgxLnAtMjIsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLnAtMjEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIDB4MS5wLTIwLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMDJwNworICB9LAorICB7IC8vIEVudHJ5IDY2OAorICAgIDB4MS5wLTE5LAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMDRwNworICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNjcwCisgICAgMHgxLmZmZmZmY3AtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAweDEuZmZmZmZjcC0xMjUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIDB4MS5mZmZmZmNwLTEyNCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuZmZmZmZjcC0xMjMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIDB4MS5mZmZmZmNwLTEyMiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjQwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEuZmZmZmZjcC0xMjEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS44MHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgMHgxLmZmZmZmY3AtMTIwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIDB4MS5mZmZmZmNwLTExOSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLmZmZmZmY3AtMTE4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMjBwMworICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIDB4MS5mZmZmZmNwLTExNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjQwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAweDEuZmZmZmZjcC0xMTYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLmZmZmZmY3AtMTE1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuODBwMworICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5mZmZmZmNwLTExNCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmEwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAweDEuZmZmZmZjcC0xMTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5jMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmZmZmZmY3AtMTEyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZTBwMworICB9LAorICB7IC8vIEVudHJ5IDY4NQorICAgIDB4MS5mZmZmZmNwLTExMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmZmZmZmY3AtMTEwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMTBwNAorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIDB4MS5mZmZmZmNwLTEwOSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAweDEuZmZmZmZjcC0xMDgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4zMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLmZmZmZmY3AtMTA3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNDBwNAorICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIDB4MS5mZmZmZmNwLTEwNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjUwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAweDEuZmZmZmZjcC0xMDUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS42MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLmZmZmZmY3AtMTA0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNzBwNAorICB9LAorICB7IC8vIEVudHJ5IDY5MworICAgIDB4MS5mZmZmZmNwLTEwMywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjgwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAweDEuZmZmZmZjcC0xMDIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS45MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgMHgxLmZmZmZmY3AtMTAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYTBwNAorICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIDB4MS5mZmZmZmNwLTEwMCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuZmZmZmZjcC05OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAweDEuZmZmZmZjcC05OCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTkKKyAgICAweDEuZmZmZmZjcC05NywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmUwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAweDEuZmZmZmZjcC05NiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAweDEuZmZmZmZjcC05NSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLmZmZmZmY3AtOTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4wOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzAzCisgICAgMHgxLmZmZmZmY3AtOTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4xMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLmZmZmZmY3AtOTIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4xOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgMHgxLmZmZmZmY3AtOTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4yMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzA2CisgICAgMHgxLmZmZmZmY3AtOTAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4yOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLmZmZmZmY3AtODksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4zMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzA4CisgICAgMHgxLmZmZmZmY3AtODgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4zOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgMHgxLmZmZmZmY3AtODcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS40MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmZmZmZmY3AtODYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS40OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgMHgxLmZmZmZmY3AtODUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS41MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzEyCisgICAgMHgxLmZmZmZmY3AtODQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS41OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgMHgxLmZmZmZmY3AtODMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS42MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgMHgxLmZmZmZmY3AtODIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS42OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE1CisgICAgMHgxLmZmZmZmY3AtODEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS43MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmZmZmZmY3AtODAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS43OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgMHgxLmZmZmZmY3AtNzksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS44MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE4CisgICAgMHgxLmZmZmZmY3AtNzgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS44OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgMHgxLmZmZmZmY3AtNzcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS45MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgMHgxLmZmZmZmY3AtNzYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS45OHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgMHgxLmZmZmZmY3AtNzUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5hMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLmZmZmZmY3AtNzQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5hOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgMHgxLmZmZmZmY3AtNzMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5iMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgMHgxLmZmZmZmY3AtNzIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5iOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgMHgxLmZmZmZmY3AtNzEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5jMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI2CisgICAgMHgxLmZmZmZmY3AtNzAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5jOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgMHgxLmZmZmZmY3AtNjksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5kMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmZmZmZmY3AtNjgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5kOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgMHgxLmZmZmZmY3AtNjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5lMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzMwCisgICAgMHgxLmZmZmZmY3AtNjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5lOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLmZmZmZmY3AtNjUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLmZmZmZmY3AtNjQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgMHgxLmZmZmZmY3AtNjMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wNgorICB9LAorICB7IC8vIEVudHJ5IDczNAorICAgIDB4MS5mZmZmZmNwLTYyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMDRwNgorICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIDB4MS5mZmZmZmNwLTYxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMDhwNgorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5mZmZmZmNwLTYwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMGNwNgorICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIDB4MS5mZmZmZmNwLTU5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMTBwNgorICB9LAorICB7IC8vIEVudHJ5IDczOAorICAgIDB4MS5mZmZmZmNwLTU4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMTRwNgorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIDB4MS5mZmZmZmNwLTU3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMThwNgorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDB4MS5mZmZmZmNwLTU2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMWNwNgorICB9LAorICB7IC8vIEVudHJ5IDc0MQorICAgIDB4MS5mZmZmZmNwLTU1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMjBwNgorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIDB4MS5mZmZmZmNwLTU0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMjRwNgorICB9LAorICB7IC8vIEVudHJ5IDc0MworICAgIDB4MS5mZmZmZmNwLTUzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMjhwNgorICB9LAorICB7IC8vIEVudHJ5IDc0NAorICAgIDB4MS5mZmZmZmNwLTUyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMmNwNgorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIDB4MS5mZmZmZmNwLTUxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc0NgorICAgIDB4MS5mZmZmZmNwLTUwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMzRwNgorICB9LAorICB7IC8vIEVudHJ5IDc0NworICAgIDB4MS5mZmZmZmNwLTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMzhwNgorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIDB4MS5mZmZmZmNwLTQ4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuM2NwNgorICB9LAorICB7IC8vIEVudHJ5IDc0OQorICAgIDB4MS5mZmZmZmNwLTQ3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIDB4MS5mZmZmZmNwLTQ2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNDRwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS5mZmZmZmNwLTQ1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNDhwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIDB4MS5mZmZmZmNwLTQ0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNGNwNgorICB9LAorICB7IC8vIEVudHJ5IDc1MworICAgIDB4MS5mZmZmZmNwLTQzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNTBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIDB4MS5mZmZmZmNwLTQyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNTRwNgorICB9LAorICB7IC8vIEVudHJ5IDc1NQorICAgIDB4MS5mZmZmZmNwLTQxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNThwNgorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIDB4MS5mZmZmZmNwLTQwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNWNwNgorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS5mZmZmZmNwLTM5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNjBwNgorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIDB4MS5mZmZmZmNwLTM4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNjRwNgorICB9LAorICB7IC8vIEVudHJ5IDc1OQorICAgIDB4MS5mZmZmZmNwLTM3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNjhwNgorICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIDB4MS5mZmZmZmNwLTM2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNmNwNgorICB9LAorICB7IC8vIEVudHJ5IDc2MQorICAgIDB4MS5mZmZmZmNwLTM1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIDB4MS5mZmZmZmNwLTM0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNzRwNgorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS5mZmZmZmNwLTMzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNzhwNgorICB9LAorICB7IC8vIEVudHJ5IDc2NAorICAgIDB4MS5mZmZmZmNwLTMyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuN2NwNgorICB9LAorICB7IC8vIEVudHJ5IDc2NQorICAgIDB4MS5mZmZmZmNwLTMxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuODBwNgorICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIDB4MS5mZmZmZmNwLTMwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuODRwNgorICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIDB4MS5mZmZmZmNwLTI5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuODhwNgorICB9LAorICB7IC8vIEVudHJ5IDc2OAorICAgIDB4MS5mZmZmZmNwLTI4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuOGNwNgorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIDB4MS5mZmZmZmNwLTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDc3MAorICAgIDB4MS5mZmZmZmNwLTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuOTRwNgorICB9LAorICB7IC8vIEVudHJ5IDc3MQorICAgIDB4MS5mZmZmZmNwLTI1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuOThwNgorICB9LAorICB7IC8vIEVudHJ5IDc3MgorICAgIDB4MS5mZmZmZmNwLTI0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuOWNwNgorICB9LAorICB7IC8vIEVudHJ5IDc3MworICAgIDB4MS5mZmZmZmNwLTIzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYTBwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIDB4MS5mZmZmZmNwLTIyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYTRwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIDB4MS5mZmZmZmNwLTIxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYThwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NgorICAgIDB4MS5mZmZmZmNwLTIwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYWNwNgorICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIDB4MS5mZmZmZmNwLTE5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYjBwNgorICB9LAorICB7IC8vIEVudHJ5IDc3OAorICAgIDB4MS5mZmZmZmNwLTE4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYjRwNgorICB9LAorICB7IC8vIEVudHJ5IDc3OQorICAgIDB4MS5mZmZmZmNwLTE3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYjhwNgorICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIDB4MS5mZmZmZmNwLTE2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYmNwNgorICB9LAorICB7IC8vIEVudHJ5IDc4MQorICAgIDB4MS5mZmZmZmNwLTE1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYzBwNgorICB9LAorICB7IC8vIEVudHJ5IDc4MgorICAgIDB4MS5mZmZmZmNwLTE0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYzRwNgorICB9LAorICB7IC8vIEVudHJ5IDc4MworICAgIDB4MS5mZmZmZmNwLTEzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuYzhwNgorICB9LAorICB7IC8vIEVudHJ5IDc4NAorICAgIDB4MS5mZmZmZmNwLTEyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuY2NwNgorICB9LAorICB7IC8vIEVudHJ5IDc4NQorICAgIDB4MS5mZmZmZmNwLTExLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZDBwNgorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIDB4MS5mZmZmZmNwLTEwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZDRwNgorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS5mZmZmZmNwLTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5kOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmZmZmZmY3AtOCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmRjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuZmZmZmZjcC03LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZTBwNgorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5mZmZmZmNwLTYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5lNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgMHgxLmZmZmZmY3AtNSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmU4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAweDEuZmZmZmZjcC00LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZWNwNgorICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIDB4MS5mZmZmZmNwLTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLmZmZmZmY3AtMiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmY0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAweDEuZmZmZmZjcC0xLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDc5NgorICAgIDB4MS5mZmZmZmNwMCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICAweDEuZmZmZmZjcDEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS5mZmZmZmNwMiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEuZmZmZmZjcDMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS4wNHA3CisgIH0sCisgIHsgLy8gRW50cnkgODAwCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEuMmFwNworICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS4yOHA3CisgIH0sCisgIHsgLy8gRW50cnkgODAyCisgICAgMHgxLmZmZmZmY3AyMiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjJhcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEuZmZmZmZjcDIxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuMjhwNworICB9LAorICB7IC8vIEVudHJ5IDgwNAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjcwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS42MHA0CisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgMHgxLmZmZmZmY3AtMTA0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuNzBwNAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS5mZmZmZmNwLTEwNSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLjYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDgwOQorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODEwCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAweDEuZmZmZmZjcC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDgxMgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgxOQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTE0OSwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgyNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMwCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMxCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAwLjBmLAorICAgIDB4MS5wLTEyNiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzUKKyAgICAwLjAsCisgICAgMHgxLnAtMTI2LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODQxCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODQyCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDksCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIC0wLjAsCisgICAgLTB4MS5wLTEyNiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgODQ4CisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg1MQorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTUKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIDB4MS5mY3A2CisgIH0sCisgIHsgLy8gRW50cnkgODYyCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgLTB4MS5mY3A2CisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjUKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg2NgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjgKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjkKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg3MAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzEKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzIKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg3MworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzUKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzcKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYsCisgICAgMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmNwNgorICB9LAorICB7IC8vIEVudHJ5IDg3OQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODAKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODIKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODgzCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODg3CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg4OAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg4OQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDksCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg5MQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDg5MgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODk0CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTUKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0wLjBmCisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDg5OQorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmNwNgorICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mY3A2CisgIH0sCisgIHsgLy8gRW50cnkgOTAyCisgICAgSFVHRV9WQUxGLAorICAgIDB4MS5wLTEyNiwKKyAgICAweDEuMzg4MHAxNQorICB9LAorICB7IC8vIEVudHJ5IDkwMworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgMHgxLjM4ODBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xMjYsCisgICAgMHgxLjM4ODBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDUKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEucC0xNDksCisgICAgMHgxLjM4ODBwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDcKKyAgICAweDEuZmZmZmZjcC0xMjgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDgKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTEwCisgICAgLTB4MS5mZmZmZmNwLTEyOCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICAtMHgxLnAtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgLTB4MS4zODgwcDE1CisgIH0sCisgIHsgLy8gRW50cnkgOTEzCisgICAgLTAuMGYsCisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuMzg4MHAxNQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3NjYWxibl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvc2NhbGJuX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Yjk3NTMwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3NjYWxibl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw0MzMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8yX3Q8ZG91YmxlLCBkb3VibGUsIGludD4gZ19zY2FsYm5faW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTYwcC0xMDI0LAorICAgIC0weDEuNTU1NTU1NTU1NTU1NnAtMiwKKyAgICAoaW50KS0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuNmRiNmRiNmRiNmRiNzBwLTEwMjMsCisgICAgLTB4MS42ZGI2ZGI2ZGI2ZGI3cC0xLAorICAgIChpbnQpLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS44ZTM4ZTM4ZTM4ZTM5MHAtMTAyMywKKyAgICAtMHgxLjhlMzhlMzhlMzhlMzlwLTEsCisgICAgKGludCktMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpLTQ3CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5wLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAyMworICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuMjllNDEyOWU0MTI5ZTBwLTEwMjQsCisgICAgMHgxLjI5ZTQxMjllNDEyOWVwLTcsCisgICAgKGludCktMTAxNworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuOGUxNDdhZTE0N2FlMXAwLAorICAgIChpbnQpMjE0NzQ4MzY0NworICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMC4wLAorICAgIDB4MS5kZGRkZGRkZGRkZGRkcC0yLAorICAgIChpbnQpLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDAuMCwKKyAgICAweDEuZjdkZjdkZjdkZjdkZnAtMiwKKyAgICAoaW50KS0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMzMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTA3MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KS00NworICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KTIxNDc0ODM2NDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkyMTQ3NDgzNjQ3CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLnAtMTAsCisgICAgLTB4MS4wcDAsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEucC05LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIC0weDEucC04LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIC0weDEucC03LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEucC02LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEucC01LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEucC00LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEucC0zLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEucC0yLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEucC0xLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDAsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuMHAwLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5wMiwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEucDMsCisgICAgLTB4MS4wcDAsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLnA0LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5wNSwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIC0weDEucDYsCisgICAgLTB4MS4wcDAsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAtMHgxLnA3LAorICAgIC0weDEuMHAwLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5wOCwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEucDksCisgICAgLTB4MS4wcDAsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLnAxMCwKKyAgICAtMHgxLjBwMCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0xMSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwLTEwLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC05LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC04LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC03LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC02LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC01LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC00LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0zLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0yLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcC0xLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwMCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDEsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHAyLAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwMywKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDQsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHA1LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwNiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTcwcDcsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3cC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE3MHA4LAorICAgIC0weDEuZDE3NDVkMTc0NWQxN3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuZDE3NDVkMTc0NWQxNzBwOSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTdwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMTEsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcC0xMCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtOSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtOCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtNywKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtNiwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtNSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtNCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMywKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMiwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAtMSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDAsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHAxLAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwMiwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDMsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHA0LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwNSwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDYsCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5hMmU4YmEyZThiYTJlMHA3LAorICAgIC0weDEuYTJlOGJhMmU4YmEyZXAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuYTJlOGJhMmU4YmEyZTBwOCwKKyAgICAtMHgxLmEyZThiYTJlOGJhMmVwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAtMHgxLmEyZThiYTJlOGJhMmUwcDksCisgICAgLTB4MS5hMmU4YmEyZThiYTJlcC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTExLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAtMTAsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTksCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTgsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTcsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTYsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTUsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTMsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwLTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDIsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHAzLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwNCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDUsCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHA2LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NTBwNywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDVwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1MHA4LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0NXAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDUwcDksCisgICAgLTB4MS43NDVkMTc0NWQxNzQ1cC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC0xMSwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC0xMCwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTksCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC04LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtNywKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTYsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC01LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtNCwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwLTMsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcC0yLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAtMSwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAwLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDEsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwMiwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHAzLAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDQsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwNSwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHA2LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWMwcDcsCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjcC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuNDVkMTc0NWQxNzQ1YzBwOCwKKyAgICAtMHgxLjQ1ZDE3NDVkMTc0NWNwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTB4MS40NWQxNzQ1ZDE3NDVjMHA5LAorICAgIC0weDEuNDVkMTc0NWQxNzQ1Y3AtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtMTEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtMTAsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC05LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtOCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTcsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC02LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtNSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTQsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcC0zLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAtMiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwLTEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwMCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHAxLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDIsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwMywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA0LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDUsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwNiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczMHA3LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3M3AtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzMwcDgsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTczcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuMTc0NWQxNzQ1ZDE3MzBwOSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzNwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTEyLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTExLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMTAsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC05LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtOCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTcsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC02LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtNSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwLTQsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcC0zLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAtMSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAwLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcDEsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwMiwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHAzLAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcDQsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwNSwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0MHA2LAorICAgIC0weDEuZDE3NDVkMTc0NWQxNHAtMiwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTQwcDcsCisgICAgLTB4MS5kMTc0NWQxNzQ1ZDE0cC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZDE3NDVkMTc0NWQxNDBwOCwKKyAgICAtMHgxLmQxNzQ1ZDE3NDVkMTRwLTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTEyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTExLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMTAsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC05LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtOCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTcsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC02LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtNSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwLTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcC0zLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAtMSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAwLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcDEsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHAzLAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcDQsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwNSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS43NDVkMTc0NWQxNzQyMHA2LAorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MnAtMiwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDIwcDcsCisgICAgLTB4MS43NDVkMTc0NWQxNzQycC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuNzQ1ZDE3NDVkMTc0MjBwOCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3NDJwLTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC0xMiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMTEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMTAsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtOSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC04LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTcsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtNiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC01LAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwLTQsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTcwcC0yLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMTc0NWQxNzQ1ZDE3cC0yLAorICAgIC0weDEuMTc0NWQxNzQ1ZDE3MHAtMiwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLjE3NDVkMTc0NWQxN3AtMSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwMCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwMSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwMiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwMywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwNCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwNSwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwNiwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwNywKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgLTB4MS4xNzQ1ZDE3NDVkMTdwOCwKKyAgICAtMHgxLjE3NDVkMTc0NWQxNzBwLTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTEzLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTEyLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtMTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC0xMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTksCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC04LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtNywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTYsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcC01LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAtNCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTMsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwLTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHAxLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDIsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHA0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2QwcDUsCisgICAgLTB4MS43NDVkMTc0NWQxNzNkcC0zLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIC0weDEuNzQ1ZDE3NDVkMTczZDBwNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3M2RwLTMsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTB4MS43NDVkMTc0NWQxNzNkMHA3LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczZHAtMywKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtMTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtMTMsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC0xMiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTExLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtMTAsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC05LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtOCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTcsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcC02LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAtNSwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTQsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTMsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTIsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwLTEsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwMCwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHAxLAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcDIsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwMywKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS43NDVkMTc0NWQxNzM0MHA0LAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNHAtNCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzQwcDUsCisgICAgLTB4MS43NDVkMTc0NWQxNzM0cC00LAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIC0weDEuNzQ1ZDE3NDVkMTczNDBwNiwKKyAgICAtMHgxLjc0NWQxNzQ1ZDE3MzRwLTQsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS4yMHAtNjIsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjIwcC02MSwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS4yMHAtNjAsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuMjBwLTU5LAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjIwcC01OCwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS4yMHAtNTcsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuMjBwLTU2LAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLjIwcC01NSwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS4yMHAtNTQsCisgICAgMHgxLjJwLTUyLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuMjBwLTUzLAorICAgIDB4MS4ycC01MiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLjIwcC01MiwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjIwcC01MSwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjIwcC01MCwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLjIwcC00OSwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjIwcC00OCwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjIwcC00NywKKyAgICAweDEuMnAtNTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjIwcC00NiwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjIwcC00NSwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjIwcC00NCwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjIwcC00MywKKyAgICAweDEuMnAtNTIsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjIwcC00MiwKKyAgICAweDEuMnAtNTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtMTQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTEzLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTEyLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTExLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTEwLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTksCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtOCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC03LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC00LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAtMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc1OHAtNCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuNzQ1ZDE3NDVkMTc1ODBwLTIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NThwLTQsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NTgwcC0xLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAwLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAxLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS43NDVkMTc0NWQxNzU4MHAyLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS43NDVkMTc0NWQxNzU4MHAzLAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS43NDVkMTc0NWQxNzU4MHA0LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43NDVkMTc0NWQxNzU4MHA1LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS43NDVkMTc0NWQxNzU4MHA2LAorICAgIDB4MS43NDVkMTc0NWQxNzU4cC00LAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTEzLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0xMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0xMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0xMCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC05LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtNywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC02LAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtNCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcC0zLAorICAgIDB4MS43NDVkMTc0NWQxNzRmcC0zLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS43NDVkMTc0NWQxNzRmMHAtMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZnAtMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuNzQ1ZDE3NDVkMTc0ZjBwLTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGYwcDcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGZwLTMsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtMTIsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTExLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTEwLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTUKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTksCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtOCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC03LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTYsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtNSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcC00LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5cC0yLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTMsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc5MHAtMiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OXAtMiwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuMTc0NWQxNzQ1ZDE3OTBwLTEsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDAsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDEsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDIsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDMsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDQsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDUsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDYsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDcsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLjE3NDVkMTc0NWQxNzkwcDgsCisgICAgMHgxLjE3NDVkMTc0NWQxNzlwLTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtMTIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTExLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTEwLAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTksCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtOCwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC03LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtNSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcC00LAorICAgIDB4MS43NDVkMTc0NWQxNzRhcC0yLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS43NDVkMTc0NWQxNzRhMHAtMiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YXAtMiwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuNzQ1ZDE3NDVkMTc0YTBwLTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGEwcDgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NGFwLTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtMTIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTExLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTEwLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTksCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtOCwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC03LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTYsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtNSwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcC00LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjcC0yLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTMsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFjMHAtMiwKKyAgICAweDEuZDE3NDVkMTc0NWQxY3AtMiwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuZDE3NDVkMTc0NWQxYzBwLTEsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDAsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDEsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDMsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDQsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDUsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDYsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDcsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWMwcDgsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWNwLTIsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtMTEsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTEwLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTksCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtOCwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC03LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTYsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtNSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC00LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NzBwLTMsCisgICAgMHgxLjE3NDVkMTc0NWQxNzdwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAtMiwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3N3AtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgMHgxLjE3NDVkMTc0NWQxNzcwcC0xLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAwLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAxLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAyLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHAzLAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA0LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA1LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA2LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA3LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA4LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3MHA5LAorICAgIDB4MS4xNzQ1ZDE3NDVkMTc3cC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC0xMSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS40NWQxNzQ1ZDE3NDZwLTEwLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC05LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC04LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC03LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC02LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC01LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC00LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC0zLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC0yLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuNDVkMTc0NWQxNzQ2cC0xLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS40NWQxNzQ1ZDE3NDZwMCwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDEsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnAyLAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS40NWQxNzQ1ZDE3NDZwMywKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDQsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLjQ1ZDE3NDVkMTc0NnA1LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS40NWQxNzQ1ZDE3NDZwNiwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuNDVkMTc0NWQxNzQ2cDcsCisgICAgMHgxLjQ1ZDE3NDVkMTc0NjBwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLjQ1ZDE3NDVkMTc0NnA4LAorICAgIDB4MS40NWQxNzQ1ZDE3NDYwcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS40NWQxNzQ1ZDE3NDZwOSwKKyAgICAweDEuNDVkMTc0NWQxNzQ2MHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC0xMSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMTAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtOSwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC04LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtNiwKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC01LAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS43NDVkMTc0NWQxNzQ5MHAtMywKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OXAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcC0yLAorICAgIDB4MS43NDVkMTc0NWQxNzQ5cC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAweDEuNzQ1ZDE3NDVkMTc0OTBwLTEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDAsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDEsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDIsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDMsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDQsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDUsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDYsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDcsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDgsCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgMHgxLjc0NWQxNzQ1ZDE3NDkwcDksCisgICAgMHgxLjc0NWQxNzQ1ZDE3NDlwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtMTEsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTEwLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDAKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTksCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtOCwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC03LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTYsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtNSwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC00LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuYTJlOGJhMmU4YmEzMjBwLTMsCisgICAgMHgxLmEyZThiYTJlOGJhMzJwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIDB4MS5hMmU4YmEyZThiYTMyMHAtMiwKKyAgICAweDEuYTJlOGJhMmU4YmEzMnAtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLmEyZThiYTJlOGJhMzIwcC0xLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAwLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAxLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAyLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS5hMmU4YmEyZThiYTMyMHAzLAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDB4MS5hMmU4YmEyZThiYTMyMHA0LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHA1LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5hMmU4YmEyZThiYTMyMHA2LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5hMmU4YmEyZThiYTMyMHA3LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS5hMmU4YmEyZThiYTMyMHA4LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIDB4MS5hMmU4YmEyZThiYTMyMHA5LAorICAgIDB4MS5hMmU4YmEyZThiYTMycC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTExLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0xMCwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC05LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTgsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtNywKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC02LAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTUsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtNCwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmQxNzQ1ZDE3NDVkMWIwcC0zLAorICAgIDB4MS5kMTc0NWQxNzQ1ZDFicC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjgKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwLTIsCisgICAgMHgxLmQxNzQ1ZDE3NDVkMWJwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS5kMTc0NWQxNzQ1ZDFiMHAtMSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwMCwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwMSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwMiwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwMywKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwNCwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwNSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwNiwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwNywKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwOCwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuZDE3NDVkMTc0NWQxYjBwOSwKKyAgICAweDEuZDE3NDVkMTc0NWQxYnAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgMHgxLnAtMTAsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIDB4MS5wLTksCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLnAtOCwKKyAgICAweDEuMHAwLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAweDEucC03LAorICAgIDB4MS4wcDAsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIDB4MS5wLTYsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgMHgxLnAtNSwKKyAgICAweDEuMHAwLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEucC00LAorICAgIDB4MS4wcDAsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIDB4MS5wLTMsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgMHgxLnAtMiwKKyAgICAweDEuMHAwLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAweDEucC0xLAorICAgIDB4MS4wcDAsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5wMSwKKyAgICAweDEuMHAwLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS5wMiwKKyAgICAweDEuMHAwLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS5wMywKKyAgICAweDEuMHAwLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS5wNCwKKyAgICAweDEuMHAwLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIDB4MS5wNSwKKyAgICAweDEuMHAwLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS5wNiwKKyAgICAweDEuMHAwLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDB4MS5wNywKKyAgICAweDEuMHAwLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS5wOCwKKyAgICAweDEuMHAwLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIDB4MS5wOSwKKyAgICAweDEuMHAwLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS5wMTAsCisgICAgMHgxLjBwMCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KS0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCktMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTk5OQorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAxOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS5wLTUxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS5wLTUyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5wLTc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS5wLTc1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTk5CisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAweDEucC0xMDczLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS5wLTEwNzIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLnAtMTA3MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjQKKyAgICAweDEucC0xMDcwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIDB4MS5wLTEwNjksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLnAtMTA2OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEucC0xMDY3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDUyOAorICAgIDB4MS5wLTEwNjYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLnAtMTA2NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzAKKyAgICAweDEucC0xMDY0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAweDEucC0xMDI1LAorICAgIDB4MS4wcC0yLAorICAgIChpbnQpLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEucC0xMDI0LAorICAgIDB4MS4wcC0yLAorICAgIChpbnQpLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEucC0xMDI0LAorICAgIDB4MS4wcC0xLAorICAgIChpbnQpLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEucC0xMDIzLAorICAgIDB4MS4wcC0xLAorICAgIChpbnQpLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAweDEuODBwLTEwMjQsCisgICAgMHgxLjhwLTEsCisgICAgKGludCktMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS44MHAtMTAyMywKKyAgICAweDEuOHAtMSwKKyAgICAoaW50KS0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgMC4wLAorICAgIDB4MS4wcC0yLAorICAgIChpbnQpLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAwLjAsCisgICAgMHgxLjBwLTIsCisgICAgKGludCktMTA3MworICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDAuMCwKKyAgICAweDEuMHAtMSwKKyAgICAoaW50KS0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTQwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMSwKKyAgICAoaW50KS0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgMC4wLAorICAgIDB4MS44cC0xLAorICAgIChpbnQpLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAweDEuODBwLTEwNzQsCisgICAgMHgxLjhwLTEsCisgICAgKGludCktMTA3MworICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS5wMTAyMywKKyAgICAweDEuMHAwLAorICAgIChpbnQpMTAyMworICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS5wMTAyMiwKKyAgICAweDEuMHAwLAorICAgIChpbnQpMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLnAtMTA3MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAweDEucC0xMDcyLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS5wLTEwNzEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLnAtMTA3MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTAKKyAgICAweDEucC0xMDY5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDU1MQorICAgIDB4MS5wLTEwNjgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLnAtMTA2NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAweDEucC0xMDY2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS5wLTEwNjUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLnAtMTA2NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLnAtMTA2MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTExCisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLnAtMTA2MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEyCisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLnAtMTA2MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEzCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgMHgxLnAtMTA2MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTE0CisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLnAtMTA1OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLnAtMTA1OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTE2CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMHgxLnAtMTA1NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTE3CisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgMHgxLnAtMTA1NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTE4CisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLnAtMTA1NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTE5CisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLnAtMTA1NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLnAtMTA1MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTIxCisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLnAtMTA1MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTIyCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLnAtMTA1MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTIzCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLnAtMTA1MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTI0CisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLnAtMTA0OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTI1CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLnAtMTA0OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLnAtMTA0NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLnAtMTA0NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLnAtMTA0NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTI5CisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLnAtMTA0NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgMHgxLnAtMTA0MywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLnAtMTA0MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTMyCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLnAtMTA0MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTMzCisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgMHgxLnAtMTA0MCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTM0CisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLnAtMTAzOSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTM1CisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgMHgxLnAtMTAzOCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTM2CisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLnAtMTAzNywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTM3CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLnAtMTAzNiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTM4CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgMHgxLnAtMTAzNSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTM5CisgIH0sCisgIHsgLy8gRW50cnkgNTg1CisgICAgMHgxLnAtMTAzNCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQwCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnAtMTAzMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLnAtMTAzMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQyCisgIH0sCisgIHsgLy8gRW50cnkgNTg4CisgICAgMHgxLnAtMTAzMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQzCisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLnAtMTAzMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQ0CisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgMHgxLnAtMTAyOSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgMHgxLnAtMTAyOCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQ2CisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLnAtMTAyNywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQ3CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLnAtMTAyNiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgMHgxLnAtMTAyNSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLnAtMTAyNCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUxCisgIH0sCisgIHsgLy8gRW50cnkgNTk3CisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUyCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLnAtMTAyMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUzCisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgMHgxLnAtMTAyMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTU0CisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgMHgxLnAtMTAxOSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTU1CisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLnAtMTAxOCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTU2CisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLnAtMTAxNywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTU3CisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgMHgxLnAtMTAxNiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTU4CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLnAtMTAxNSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTU5CisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLnAtMTAxNCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTYwCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgMHgxLnAtMTAxMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTYxCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgMHgxLnAtMTAxMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTYyCisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgMHgxLnAtMTAxMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTYzCisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLnAtMTAxMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTY0CisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLnAtMTAwOSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTY1CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLnAtMTAwOCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTY2CisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgMHgxLnAtMTAwNywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTY3CisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgMHgxLnAtMTAwNiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTY4CisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLnAtMTAwNSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTY5CisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgMHgxLnAtMTAwNCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTcwCisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgMHgxLnAtMTAwMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTcxCisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLnAtMTAwMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTcyCisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgMHgxLnAtMTAwMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTczCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLnAtMTAwMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTc0CisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLnAtOTk5LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjEKKyAgICAweDEucC05OTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3NgorICB9LAorICB7IC8vIEVudHJ5IDYyMgorICAgIDB4MS5wLTk5NywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTc3CisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLnAtOTk2LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpNzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEucC05OTUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk3OQorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS5wLTk5NCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTgwCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgMHgxLnAtOTkzLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpODEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjcKKyAgICAweDEucC05OTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4MgorICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIDB4MS5wLTk5MSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTgzCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLnAtOTkwLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpODQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAweDEucC05ODksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4NQorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIDB4MS5wLTk4OCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTg2CisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgMHgxLnAtOTg3LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpODcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzMKKyAgICAweDEucC05ODYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk4OAorICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIDB4MS5wLTk4NSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTg5CisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLnAtOTg0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAweDEucC05ODMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5MQorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS5wLTk4MiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTkyCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLnAtOTgxLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEucC05ODAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5NAorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5wLTk3OSwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTk1CisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLnAtOTc4LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDIKKyAgICAweDEucC05NzcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk5NworICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS5wLTk3NiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTk4CisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLnAtOTc1LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAweDEucC05NzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAweDEucC05NzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAweDEucC05NzIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDgKKyAgICAweDEucC05NzEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDkKKyAgICAweDEucC05NzAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTAKKyAgICAweDEucC05NjksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAweDEucC05NjgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTIKKyAgICAweDEucC05NjcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAweDEucC05NjYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTQKKyAgICAweDEucC05NjUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAweDEucC05NjQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAweDEucC05NjMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAweDEucC05NjIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTgKKyAgICAweDEucC05NjEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAweDEucC05NjAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAweDEucC05NTksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAweDEucC05NTgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjIKKyAgICAweDEucC05NTcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICAweDEucC05NTYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEucC05NTUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAweDEucC05NTQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAweDEucC05NTMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAweDEucC05NTIsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAweDEucC05NTEsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEucC05NTAsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAweDEucC05NDksCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzEKKyAgICAweDEucC05NDgsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAweDEucC05NDcsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEucC05NDYsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAweDEucC05NDUsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEucC05NDQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDE5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDE2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMQorICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyCisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxNAorICB9LAorICB7IC8vIEVudHJ5IDY5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDA3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxNworICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTE4CisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyMAorICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTIxCisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyMworICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTk5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyNgorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTk2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTI4CisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkyOQorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTkzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk5MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTMxCisgIH0sCisgIHsgLy8gRW50cnkgNzA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05OTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzMgorICB9LAorICB7IC8vIEVudHJ5IDcwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTkwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTM0CisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzNQorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTg3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTM3CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkzOAorICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTg0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQwCisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05ODIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0MQorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTgxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk4MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQzCisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0NAorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTc4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQ2CisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk0NworICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTc1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1MAorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTcyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk3MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTUyCisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1MworICB9LAorICB7IC8vIEVudHJ5IDczMAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTY5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTU1CisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1NgorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTY2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTU4CisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1OQorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTYzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk2MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTYxCisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2MgorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTYwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTY0CisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2NQorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTU3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTY3CisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk2OAorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTU0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTcwCisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3MQorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNzIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk1MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTczCisgIH0sCisgIHsgLy8gRW50cnkgNzUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3NAorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTc2CisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk3NworICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQ1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0NCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTc5CisgIH0sCisgIHsgLy8gRW50cnkgNzU2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4MAorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTQyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTk0MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTgyCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4MworICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTg1CisgIH0sCisgIHsgLy8gRW50cnkgNzYyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4NgorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTM2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpODcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTg4CisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk4OQorICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTMzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkzMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTkxCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5MgorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTk0CisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5NQorICB9LAorICB7IC8vIEVudHJ5IDc3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTk3CisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk5OAorICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTI0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwMAorICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTAxCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MjEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkyMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwMworICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTE5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTA0CisgIH0sCisgIHsgLy8gRW50cnkgNzgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODIKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwNgorICB9LAorICB7IC8vIEVudHJ5IDc4MworICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTE2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTA3CisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwOQorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTEzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTEwCisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExMgorICB9LAorICB7IC8vIEVudHJ5IDc4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTEzCisgIH0sCisgIHsgLy8gRW50cnkgNzkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExNQorICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTA3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTE2CisgIH0sCisgIHsgLy8gRW50cnkgNzkzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTExOAorICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTkwMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyMQorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTIyCisgIH0sCisgIHsgLy8gRW50cnkgNzk5CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05MDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyNAorICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtODk4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTI1CisgIH0sCisgIHsgLy8gRW50cnkgODAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDgwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtODk1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMTI4CisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC04OTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTg5MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEzMAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAweDEucC0xLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMTA3MworICB9LAorICB7IC8vIEVudHJ5IDgwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA1MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCkxMDczCisgIH0sCisgIHsgLy8gRW50cnkgODExCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUyCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMHgxLnAtMTAyMywKKyAgICAweDEuMHAtMTA3NCwKKyAgICAoaW50KTUxCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC05NzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCk1MgorICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtOTcyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTUKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgxOAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAwLjAsCisgICAgMC4wLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAwLjAsCisgICAgMC4wLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAwLjAsCisgICAgMC4wLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIDAuMCwKKyAgICAwLjAsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAtMC4wLAorICAgIC0wLjAsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjcKKyAgICAwLjAsCisgICAgMC4wLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0wLjAsCisgICAgLTAuMCwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzMQorICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODM0CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODM4CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDIKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDUKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTCwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAtSFVHRV9WQUwsCisgICAgLUhVR0VfVkFMLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODQ4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuMHAtMTAyMiwKKyAgICAoaW50KTQwMDAwCisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLjBwLTEwNzQsCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg1MworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwMjIsCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg1NAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjBwLTEwNzQsCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg1NQorICAgIDB4MS5wLTEwMjMsCisgICAgMHgxLjBwLTEwMjIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg1NgorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NCwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg2MAorICAgIC0weDEucC0xMDIzLAorICAgIC0weDEuMHAtMTAyMiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgICAgKGludCktNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICAgIChpbnQpLTQwMDAwCisgIH0KK307CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX2RhdGEvc2NhbGJuZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvc2NhbGJuZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmZmVjNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9zY2FsYm5mX2ludGVsX2RhdGEuaApAQCAtMCwwICsxLDQyODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzJfdDxmbG9hdCwgZmxvYXQsIGludD4gZ19zY2FsYm5mX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLjU1NTU1NHAtMTI4LAorICAgIC0weDEuNTU1NTU0cC0yLAorICAgIChpbnQpLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLjZkYjZkY3AtMTI4LAorICAgIC0weDEuNmRiNmRjcC0xLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLjhlMzhlNHAtMTI4LAorICAgIC0weDEuOGUzOGU0cC0xLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS4yOWU0MTJwLTEyNywKKyAgICAweDEuMjllNDEycC03LAorICAgIChpbnQpLTEyMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAwLjBmLAorICAgIDB4MS5kZGRkZGVwLTIsCisgICAgKGludCktMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDAuMGYsCisgICAgMHgxLmZmZmY2MHAtMTI3LAorICAgIChpbnQpLTIzCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDAuMGYsCisgICAgMHgxLmZmZmY4NHAtMTI3LAorICAgIChpbnQpLTIzCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEuZmZmZmY4cC0xMzcsCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpKC0yMTQ3NDgzNjQ3LTEpCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkyMTQ3NDgzNjQ3CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLnAtMTAsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5wLTksCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAtMHgxLnAtOCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEucC03LAorICAgIC0weDEucDAsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTB4MS5wLTYsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLnAtNSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIC0weDEucC00LAorICAgIC0weDEucDAsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5wLTMsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLnAtMiwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEucC0xLAorICAgIC0weDEucDAsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS5wMiwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS5wMywKKyAgICAtMHgxLnAwLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS5wNCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS5wNSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS5wNiwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5wNywKKyAgICAtMHgxLnAwLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5wOCwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5wOSwKKyAgICAtMHgxLnAwLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5wMTAsCisgICAgLTB4MS5wMCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLmQxNzQ1Y3AtMTEsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuZDE3NDVjcC0xMCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLmQxNzQ1Y3AtOSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLmQxNzQ1Y3AtOCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmQxNzQ1Y3AtNywKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmQxNzQ1Y3AtNiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLmQxNzQ1Y3AtNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmQxNzQ1Y3AtNCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLmQxNzQ1Y3AtMywKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmQxNzQ1Y3AtMiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZDE3NDVjcDAsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLmQxNzQ1Y3AxLAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5kMTc0NWNwMiwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuZDE3NDVjcDMsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmQxNzQ1Y3A0LAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5kMTc0NWNwNSwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuZDE3NDVjcDYsCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLmQxNzQ1Y3A3LAorICAgIC0weDEuZDE3NDVjcC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5kMTc0NWNwOCwKKyAgICAtMHgxLmQxNzQ1Y3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuZDE3NDVjcDksCisgICAgLTB4MS5kMTc0NWNwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5hMmU4YjhwLTExLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLmEyZThiOHAtMTAsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5hMmU4YjhwLTksCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5hMmU4YjhwLTgsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5hMmU4YjhwLTcsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5hMmU4YjhwLTYsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5hMmU4YjhwLTUsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgLTB4MS5hMmU4YjhwLTQsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5hMmU4YjhwLTMsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS5hMmU4YjhwLTIsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmEyZThiOHAwLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS5hMmU4YjhwMSwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuYTJlOGI4cDIsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmEyZThiOHAzLAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5hMmU4YjhwNCwKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuYTJlOGI4cDUsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmEyZThiOHA2LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5hMmU4YjhwNywKKyAgICAtMHgxLmEyZThiOHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEuYTJlOGI4cDgsCisgICAgLTB4MS5hMmU4YjhwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmEyZThiOHA5LAorICAgIC0weDEuYTJlOGI4cC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEuNzQ1ZDE0cC0xMSwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS43NDVkMTRwLTEwLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuNzQ1ZDE0cC05LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuNzQ1ZDE0cC04LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEuNzQ1ZDE0cC03LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuNzQ1ZDE0cC02LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuNzQ1ZDE0cC01LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuNzQ1ZDE0cC00LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuNzQ1ZDE0cC0zLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuNzQ1ZDE0cC0yLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS43NDVkMTRwMCwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuNzQ1ZDE0cDEsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjc0NWQxNHAyLAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgLTB4MS43NDVkMTRwMywKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuNzQ1ZDE0cDQsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjc0NWQxNHA1LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS43NDVkMTRwNiwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuNzQ1ZDE0cDcsCisgICAgLTB4MS43NDVkMTRwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjc0NWQxNHA4LAorICAgIC0weDEuNzQ1ZDE0cC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgLTB4MS43NDVkMTRwOSwKKyAgICAtMHgxLjc0NWQxNHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjQ1ZDE3MHAtMTEsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIC0weDEuNDVkMTcwcC0xMCwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjQ1ZDE3MHAtOSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS40NWQxNzBwLTgsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuNDVkMTcwcC03LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLjQ1ZDE3MHAtNiwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS40NWQxNzBwLTUsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuNDVkMTcwcC00LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLjQ1ZDE3MHAtMywKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS40NWQxNzBwLTIsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuNDVkMTcwcC0xLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuNDVkMTcwcDAsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS40NWQxNzBwMSwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLjQ1ZDE3MHAyLAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuNDVkMTcwcDMsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS40NWQxNzBwNCwKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjQ1ZDE3MHA1LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIC0weDEuNDVkMTcwcDYsCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS40NWQxNzBwNywKKyAgICAtMHgxLjQ1ZDE3MHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLjQ1ZDE3MHA4LAorICAgIC0weDEuNDVkMTcwcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuNDVkMTcwcDksCisgICAgLTB4MS40NWQxNzBwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuMTc0NWNjcC0xMSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuMTc0NWNjcC0xMCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgLTB4MS4xNzQ1Y2NwLTksCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuMTc0NWNjcC04LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLjE3NDVjY3AtNywKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS4xNzQ1Y2NwLTYsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuMTc0NWNjcC01LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLjE3NDVjY3AtNCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS4xNzQ1Y2NwLTMsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuMTc0NWNjcC0yLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjE3NDVjY3AwLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMTc0NWNjcDEsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS4xNzQ1Y2NwMiwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLjE3NDVjY3AzLAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuMTc0NWNjcDQsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS4xNzQ1Y2NwNSwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjE3NDVjY3A2LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuMTc0NWNjcDcsCisgICAgLTB4MS4xNzQ1Y2NwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS4xNzQ1Y2NwOCwKKyAgICAtMHgxLjE3NDVjY3AtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLjE3NDVjY3A5LAorICAgIC0weDEuMTc0NWNjcC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLmQxNzQ1MnAtMTIsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLmQxNzQ1MnAtMTEsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZDE3NDUycC0xMCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5kMTc0NTJwLTksCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZDE3NDUycC04LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLmQxNzQ1MnAtNywKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5kMTc0NTJwLTYsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZDE3NDUycC01LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmQxNzQ1MnAtNCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgLTB4MS5kMTc0NTJwLTMsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuZDE3NDUycC0yLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuZDE3NDUycC0xLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZDE3NDUycDAsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5kMTc0NTJwMSwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmQxNzQ1MnAyLAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZDE3NDUycDMsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS5kMTc0NTJwNCwKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLmQxNzQ1MnA1LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZDE3NDUycDYsCisgICAgLTB4MS5kMTc0NTJwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5kMTc0NTJwNywKKyAgICAtMHgxLmQxNzQ1MnAtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLmQxNzQ1MnA4LAorICAgIC0weDEuZDE3NDUycC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLjc0NWQwY3AtMTIsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjc0NWQwY3AtMTEsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuNzQ1ZDBjcC0xMCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS43NDVkMGNwLTksCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuNzQ1ZDBjcC04LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjc0NWQwY3AtNywKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS43NDVkMGNwLTYsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuNzQ1ZDBjcC01LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLjc0NWQwY3AtNCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS43NDVkMGNwLTMsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuNzQ1ZDBjcC0xLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuNzQ1ZDBjcDAsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS43NDVkMGNwMSwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLjc0NWQwY3AyLAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuNzQ1ZDBjcDMsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgLTB4MS43NDVkMGNwNCwKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjc0NWQwY3A1LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIC0weDEuNzQ1ZDBjcDYsCisgICAgLTB4MS43NDVkMGNwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS43NDVkMGNwNywKKyAgICAtMHgxLjc0NWQwY3AtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAtMHgxLjc0NWQwY3A4LAorICAgIC0weDEuNzQ1ZDBjcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLjE3NDVjNnAtMTIsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLjE3NDVjNnAtMTEsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIC0weDEuMTc0NWM2cC0xMCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS4xNzQ1YzZwLTksCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuMTc0NWM2cC04LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLjE3NDVjNnAtNywKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4xNzQ1YzZwLTYsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIC0weDEuMTc0NWM2cC01LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjE3NDVjNnAtNCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgLTB4MS4xNzQ1YzZwLTMsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDE5MQorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIC0weDEuMTc0NWM2cC0xLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuMTc0NWM2cDAsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS4xNzQ1YzZwMSwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjE3NDVjNnAyLAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMTc0NWM2cDMsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4xNzQ1YzZwNCwKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLjE3NDVjNnA1LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuMTc0NWM2cDYsCisgICAgLTB4MS4xNzQ1YzZwLTIsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS4xNzQ1YzZwNywKKyAgICAtMHgxLjE3NDVjNnAtMiwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjE3NDVjNnA4LAorICAgIC0weDEuMTc0NWM2cC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAtMHgxLjc0NWRwLTEzLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuNzQ1ZHAtMTIsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLjc0NWRwLTExLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgLTB4MS43NDVkcC0xMCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIC0weDEuNzQ1ZHAtOSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuNzQ1ZHAtOCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuNzQ1ZHAtNywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuNzQ1ZHAtNiwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIC0weDEuNzQ1ZHAtNSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0weDEuNzQ1ZHAtNCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS43NDVkcC0yLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLjc0NWRwLTEsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuNzQ1ZHAwLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLjc0NWRwMSwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS43NDVkcDIsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIC0weDEuNzQ1ZHAzLAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjc0NWRwNCwKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS43NDVkcDUsCisgICAgLTB4MS43NDVkcC0zLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuNzQ1ZHA2LAorICAgIC0weDEuNzQ1ZHAtMywKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjc0NWRwNywKKyAgICAtMHgxLjc0NWRwLTMsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuNzQ1Y2U4cC0xNCwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuNzQ1Y2U4cC0xMywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS43NDVjZThwLTEyLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjc0NWNlOHAtMTEsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuNzQ1Y2U4cC0xMCwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgLTB4MS43NDVjZThwLTksCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIC0weDEuNzQ1Y2U4cC04LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLjc0NWNlOHAtNywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS43NDVjZThwLTYsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIC0weDEuNzQ1Y2U4cC01LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAtMHgxLjc0NWNlOHAtMywKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAtMHgxLjc0NWNlOHAtMiwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLjc0NWNlOHAtMSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjc0NWNlOHAwLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuNzQ1Y2U4cDEsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS43NDVjZThwMiwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLjc0NWNlOHAzLAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIC0weDEuNzQ1Y2U4cDQsCisgICAgLTB4MS43NDVjZThwLTQsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS43NDVjZThwNSwKKyAgICAtMHgxLjc0NWNlOHAtNCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLjc0NWNlOHA2LAorICAgIC0weDEuNzQ1Y2U4cC00LAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuODBwLTMzLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEuODBwLTMyLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS44MHAtMzEsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjgwcC0zMCwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAweDEuODBwLTI5LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS44MHAtMjgsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLjgwcC0yNywKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuODBwLTI2LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS44MHAtMjUsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjgwcC0yNCwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuODBwLTIzLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjgwcC0yMiwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS44MHAtMjEsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuODBwLTIwLAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLjgwcC0xOSwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS44MHAtMTgsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuODBwLTE3LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjgwcC0xNiwKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS44MHAtMTUsCisgICAgMHgxLjgwcC0yMywKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuODBwLTE0LAorICAgIDB4MS44MHAtMjMsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLjgwcC0xMywKKyAgICAweDEuODBwLTIzLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuNzQ1ZDQ4cC0xNCwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgMHgxLjc0NWQ0OHAtMTMsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjc0NWQ0OHAtMTIsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLjc0NWQ0OHAtMTEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjc0NWQ0OHAtMTAsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjc0NWQ0OHAtOSwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuNzQ1ZDQ4cC04LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIDB4MS43NDVkNDhwLTcsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjc0NWQ0OHAtNiwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuNzQ1ZDQ4cC01LAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS43NDVkNDhwLTQsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNzQ1ZDQ4cC0zLAorICAgIDB4MS43NDVkNDhwLTQsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjc0NWQ0OHAtMiwKKyAgICAweDEuNzQ1ZDQ4cC00LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS43NDVkNDhwLTEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuNzQ1ZDQ4cDAsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuNzQ1ZDQ4cDEsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuNzQ1ZDQ4cDIsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuNzQ1ZDQ4cDMsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuNzQ1ZDQ4cDQsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuNzQ1ZDQ4cDUsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuNzQ1ZDQ4cDYsCisgICAgMHgxLjc0NWQ0OHAtNCwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjc0NWQzMHAtMTMsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS43NDVkMzBwLTEyLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS43NDVkMzBwLTExLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS43NDVkMzBwLTEwLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS43NDVkMzBwLTksCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjc0NWQzMHAtOCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuNzQ1ZDMwcC03LAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS43NDVkMzBwLTYsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLjc0NWQzMHAtNSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuNzQ1ZDMwcC00LAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS43NDVkMzBwLTMsCisgICAgMHgxLjc0NWQzMHAtMywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAweDEuNzQ1ZDMwcC0yLAorICAgIDB4MS43NDVkMzBwLTMsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLjc0NWQzMHAtMSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS43NDVkMzBwMCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS43NDVkMzBwMSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS43NDVkMzBwMiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS43NDVkMzBwMywKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS43NDVkMzBwNCwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS43NDVkMzBwNSwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS43NDVkMzBwNiwKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS43NDVkMzBwNywKKyAgICAweDEuNzQ1ZDMwcC0zLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuMTc0NWRlcC0xMiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjE3NDVkZXAtMTEsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLjE3NDVkZXAtMTAsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgMHgxLjE3NDVkZXAtOSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuMTc0NWRlcC04LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS4xNzQ1ZGVwLTcsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjE3NDVkZXAtNiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuMTc0NWRlcC01LAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS4xNzQ1ZGVwLTQsCisgICAgMHgxLjE3NDVkZXAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjE3NDVkZXAtMywKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIDB4MS4xNzQ1ZGVwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjE3NDVkZXAtMSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS4xNzQ1ZGVwMCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS4xNzQ1ZGVwMSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS4xNzQ1ZGVwMiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS4xNzQ1ZGVwMywKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4xNzQ1ZGVwNCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS4xNzQ1ZGVwNSwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4xNzQ1ZGVwNiwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS4xNzQ1ZGVwNywKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4xNzQ1ZGVwOCwKKyAgICAweDEuMTc0NWRlcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuNzQ1ZDI0cC0xMiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLjc0NWQyNHAtMTEsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjc0NWQyNHAtMTAsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgMHgxLjc0NWQyNHAtOSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAweDEuNzQ1ZDI0cC04LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS43NDVkMjRwLTcsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLjc0NWQyNHAtNiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAweDEuNzQ1ZDI0cC01LAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS43NDVkMjRwLTQsCisgICAgMHgxLjc0NWQyNHAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgMHgxLjc0NWQyNHAtMywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIDB4MS43NDVkMjRwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzM5CisgICAgMHgxLjc0NWQyNHAtMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS43NDVkMjRwMCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS43NDVkMjRwMSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS43NDVkMjRwMiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS43NDVkMjRwMywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS43NDVkMjRwNCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS43NDVkMjRwNSwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIDB4MS43NDVkMjRwNiwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS43NDVkMjRwNywKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS43NDVkMjRwOCwKKyAgICAweDEuNzQ1ZDI0cC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuZDE3NDZhcC0xMiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmQxNzQ2YXAtMTEsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzUxCisgICAgMHgxLmQxNzQ2YXAtMTAsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLmQxNzQ2YXAtOSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAweDEuZDE3NDZhcC04LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIDB4MS5kMTc0NmFwLTcsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgMHgxLmQxNzQ2YXAtNiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuZDE3NDZhcC01LAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS5kMTc0NmFwLTQsCisgICAgMHgxLmQxNzQ2YXAtMiwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmQxNzQ2YXAtMywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIDB4MS5kMTc0NmFwLTIsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmQxNzQ2YXAtMSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5kMTc0NmFwMCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5kMTc0NmFwMSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIDB4MS5kMTc0NmFwMiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5kMTc0NmFwMywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIDB4MS5kMTc0NmFwNCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS5kMTc0NmFwNSwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS5kMTc0NmFwNiwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5kMTc0NmFwNywKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIDB4MS5kMTc0NmFwOCwKKyAgICAweDEuZDE3NDZhcC0yLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuMTc0NWQ4cC0xMSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLjE3NDVkOHAtMTAsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjE3NDVkOHAtOSwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAweDEuMTc0NWQ4cC04LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS4xNzQ1ZDhwLTcsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgMHgxLjE3NDVkOHAtNiwKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuMTc0NWQ4cC01LAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS4xNzQ1ZDhwLTQsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjE3NDVkOHAtMywKKyAgICAweDEuMTc0NWQ4cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAweDEuMTc0NWQ4cC0yLAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS4xNzQ1ZDhwLTEsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuMTc0NWQ4cDAsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuMTc0NWQ4cDEsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAweDEuMTc0NWQ4cDIsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuMTc0NWQ4cDMsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAweDEuMTc0NWQ4cDQsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuMTc0NWQ4cDUsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuMTc0NWQ4cDYsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuMTc0NWQ4cDcsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAweDEuMTc0NWQ4cDgsCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAweDEuMTc0NWQ4cDksCisgICAgMHgxLjE3NDVkOHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLjQ1ZDE3Y3AtMTEsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS40NWQxN2NwLTEwLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS40NWQxN2NwLTksCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjQ1ZDE3Y3AtOCwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuNDVkMTdjcC03LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS40NWQxN2NwLTYsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgMHgxLjQ1ZDE3Y3AtNSwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuNDVkMTdjcC00LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS40NWQxN2NwLTMsCisgICAgMHgxLjQ1ZDE3Y3AtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLjQ1ZDE3Y3AtMiwKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAweDEuNDVkMTdjcC0xLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjQ1ZDE3Y3AwLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLjQ1ZDE3Y3AxLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgMHgxLjQ1ZDE3Y3AyLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjQ1ZDE3Y3AzLAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLjQ1ZDE3Y3A0LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLjQ1ZDE3Y3A1LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLjQ1ZDE3Y3A2LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjQ1ZDE3Y3A3LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLjQ1ZDE3Y3A4LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjQ1ZDE3Y3A5LAorICAgIDB4MS40NWQxN2NwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS43NDVkMjBwLTExLAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAweDEuNzQ1ZDIwcC0xMCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAweDEuNzQ1ZDIwcC05LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS43NDVkMjBwLTgsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAoaW50KS03CisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjc0NWQyMHAtNywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuNzQ1ZDIwcC02LAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDQxOAorICAgIDB4MS43NDVkMjBwLTUsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAoaW50KS00CisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjc0NWQyMHAtNCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuNzQ1ZDIwcC0zLAorICAgIDB4MS43NDVkMjBwLTEsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS43NDVkMjBwLTIsCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLjc0NWQyMHAtMSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS43NDVkMjBwMCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS43NDVkMjBwMSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS43NDVkMjBwMiwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS43NDVkMjBwMywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNAorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS43NDVkMjBwNCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS43NDVkMjBwNSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS43NDVkMjBwNiwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpNworICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIDB4MS43NDVkMjBwNywKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS43NDVkMjBwOCwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS43NDVkMjBwOSwKKyAgICAweDEuNzQ1ZDIwcC0xLAorICAgIChpbnQpMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuYTJlOGM0cC0xMSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLmEyZThjNHAtMTAsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLmEyZThjNHAtOSwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAweDEuYTJlOGM0cC04LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS5hMmU4YzRwLTcsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLmEyZThjNHAtNiwKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAweDEuYTJlOGM0cC01LAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5hMmU4YzRwLTQsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgMHgxLmEyZThjNHAtMywKKyAgICAweDEuYTJlOGM0cC0xLAorICAgIChpbnQpLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAweDEuYTJlOGM0cC0yLAorICAgIDB4MS5hMmU4YzRwLTEsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS5hMmU4YzRwLTEsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuYTJlOGM0cDAsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEuYTJlOGM0cDEsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAweDEuYTJlOGM0cDIsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuYTJlOGM0cDMsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEuYTJlOGM0cDQsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuYTJlOGM0cDUsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuYTJlOGM0cDYsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAweDEuYTJlOGM0cDcsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEuYTJlOGM0cDgsCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuYTJlOGM0cDksCisgICAgMHgxLmEyZThjNHAtMSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLmQxNzQ2OHAtMTEsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5kMTc0NjhwLTEwLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCktOQorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5kMTc0NjhwLTksCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLmQxNzQ2OHAtOCwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuZDE3NDY4cC03LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCktNgorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS5kMTc0NjhwLTYsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgMHgxLmQxNzQ2OHAtNSwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuZDE3NDY4cC00LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCktMworICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS5kMTc0NjhwLTMsCisgICAgMHgxLmQxNzQ2OHAtMSwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLmQxNzQ2OHAtMiwKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuZDE3NDY4cC0xLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgMHgxLmQxNzQ2OHAwLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLmQxNzQ2OHAxLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkyCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmQxNzQ2OHAyLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmQxNzQ2OHAzLAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmQxNzQ2OHA0LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk1CisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLmQxNzQ2OHA1LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLmQxNzQ2OHA2LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLmQxNzQ2OHA3LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk4CisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLmQxNzQ2OHA4LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLmQxNzQ2OHA5LAorICAgIDB4MS5kMTc0NjhwLTEsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS5wLTEwLAorICAgIDB4MS5wMCwKKyAgICAoaW50KS0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS5wLTksCisgICAgMHgxLnAwLAorICAgIChpbnQpLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAweDEucC04LAorICAgIDB4MS5wMCwKKyAgICAoaW50KS04CisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLnAtNywKKyAgICAweDEucDAsCisgICAgKGludCktNworICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS5wLTYsCisgICAgMHgxLnAwLAorICAgIChpbnQpLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEucC01LAorICAgIDB4MS5wMCwKKyAgICAoaW50KS01CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLnAtNCwKKyAgICAweDEucDAsCisgICAgKGludCktNAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDB4MS5wLTMsCisgICAgMHgxLnAwLAorICAgIChpbnQpLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAweDEucC0yLAorICAgIDB4MS5wMCwKKyAgICAoaW50KS0yCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLnAtMSwKKyAgICAweDEucDAsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5wMCwKKyAgICAweDEucDAsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLnAxLAorICAgIDB4MS5wMCwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAweDEucDIsCisgICAgMHgxLnAwLAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS5wMywKKyAgICAweDEucDAsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLnA0LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEucDUsCisgICAgMHgxLnAwLAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5wNiwKKyAgICAweDEucDAsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLnA3LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAweDEucDgsCisgICAgMHgxLnAwLAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS5wOSwKKyAgICAweDEucDAsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLnAxMCwKKyAgICAweDEucDAsCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuZmZmZmZlcDEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgMHgxLmZmZmZmZXAxMTcsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAweDEuZmZmZmZlcDExOCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS05CisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLmZmZmZmZXAxMTksCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktOAorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIDB4MS5mZmZmZmVwMTIwLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuZmZmZmZlcDEyMSwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS02CisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgMHgxLmZmZmZmZXAxMjIsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktNQorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS5mZmZmZmVwMTIzLAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAweDEuZmZmZmZlcDEyNCwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KS0zCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgMHgxLmZmZmZmZXAxMjUsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktMgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIDB4MS5mZmZmZmVwMTI2LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAweDEucC0yMiwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEucC0yMywKKyAgICAweDEucC0xNDksCisgICAgKGludCkxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLnAtMTQ3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEucC0xNDYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMworICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIDB4MS5wLTE0NSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk0CisgIH0sCisgIHsgLy8gRW50cnkgNTE2CisgICAgMHgxLnAtMTQ0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAweDEucC0xNDMsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNgorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5wLTE0MiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk3CisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgMHgxLnAtMTQxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEucC0xNDAsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOQorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5wLTEzOSwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxMAorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS5wLTEyOSwKKyAgICAweDEucC0yLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS5wLTEyOCwKKyAgICAweDEucC0yLAorICAgIChpbnQpLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS5wLTEyOCwKKyAgICAweDEucC0xLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIDB4MS5wLTEyNywKKyAgICAweDEucC0xLAorICAgIChpbnQpLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS44MHAtMTI4LAorICAgIDB4MS44MHAtMSwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAweDEuODBwLTEyNywKKyAgICAweDEuODBwLTEsCisgICAgKGludCktMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMC4wZiwKKyAgICAweDEucC0yLAorICAgIChpbnQpLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDAuMGYsCisgICAgMHgxLnAtMiwKKyAgICAoaW50KS0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzAKKyAgICAwLjBmLAorICAgIDB4MS5wLTEsCisgICAgKGludCktMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTEsCisgICAgKGludCktMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMC4wZiwKKyAgICAweDEuODBwLTEsCisgICAgKGludCktMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMHgxLjgwcC0xNDksCisgICAgMHgxLjgwcC0xLAorICAgIChpbnQpLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS5wMTI3LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS5wMTI2LAorICAgIDB4MS5wMCwKKyAgICAoaW50KTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDksCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEucC0xNDcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDB4MS5wLTE0NiwKKyAgICAweDEucC0xNDksCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNTQwCisgICAgMHgxLnAtMTQ1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAweDEucC0xNDQsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS5wLTE0MywKKyAgICAweDEucC0xNDksCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMHgxLnAtMTQyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEucC0xNDEsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIDB4MS5wLTE0MCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLnAtMTM5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLnAtMTM4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLnAtMTM3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLnAtMTM2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEzCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLnAtMTM1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE0CisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgMHgxLnAtMTM0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLnAtMTMzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE2CisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgMHgxLnAtMTMyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE3CisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLnAtMTMxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE4CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLnAtMTMwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE5CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLnAtMTI5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgMHgxLnAtMTI4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIxCisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLnAtMTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIyCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTIzCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLnAtMTI1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI0CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLnAtMTI0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI1CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMHgxLnAtMTIzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgMHgxLnAtMTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLnAtMTIxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI4CisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLnAtMTIwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTI5CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLnAtMTE5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLnAtMTE4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgMHgxLnAtMTE3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMyCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLnAtMTE2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTMzCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLnAtMTE1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM0CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLnAtMTE0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM1CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLnAtMTEzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM2CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLnAtMTEyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM3CisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgMHgxLnAtMTExLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM4CisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLnAtMTEwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTM5CisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgMHgxLnAtMTA5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQwCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLnAtMTA4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQxCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLnAtMTA3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQyCisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgMHgxLnAtMTA2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQzCisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLnAtMTA1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ0CisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgMHgxLnAtMTA0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLnAtMTAzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ2CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLnAtMTAyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ3CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgMHgxLnAtMTAxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNTg1CisgICAgMHgxLnAtMTAwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgMHgxLnAtOTksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEucC05OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk1MQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS5wLTk3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTUyCisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLnAtOTYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEucC05NSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk1NAorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS5wLTk0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTU1CisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLnAtOTMsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAweDEucC05MiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk1NworICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS5wLTkxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTU4CisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLnAtOTAsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAweDEucC04OSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk2MAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5wLTg4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTYxCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLnAtODcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEucC04NiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk2MworICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5wLTg1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTY0CisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLnAtODQsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAweDEucC04MywKKyAgICAweDEucC0xNDksCisgICAgKGludCk2NgorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS5wLTgyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTY3CisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLnAtODEsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAweDEucC04MCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk2OQorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS5wLTc5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTcwCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgMHgxLnAtNzgsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEucC03NywKKyAgICAweDEucC0xNDksCisgICAgKGludCk3MgorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS5wLTc2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTczCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLnAtNzUsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAweDEucC03NCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk3NQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS5wLTczLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTc2CisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgMHgxLnAtNzIsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpNzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAweDEucC03MSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk3OAorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS5wLTcwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTc5CisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgMHgxLnAtNjksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAweDEucC02OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk4MQorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIDB4MS5wLTY3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTgyCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLnAtNjYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAweDEucC02NSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk4NAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS5wLTY0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTg1CisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgMHgxLnAtNjMsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjMKKyAgICAweDEucC02MiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk4NworICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIDB4MS5wLTYxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTg4CisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLnAtNjAsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpODkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAweDEucC01OSwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5MAorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS5wLTU4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTkxCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgMHgxLnAtNTcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEucC01NiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5MworICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIDB4MS5wLTU1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTk0CisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgMHgxLnAtNTQsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAweDEucC01MywKKyAgICAweDEucC0xNDksCisgICAgKGludCk5NgorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS5wLTUyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTk3CisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgMHgxLnAtNTEsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpOTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAweDEucC01MCwKKyAgICAweDEucC0xNDksCisgICAgKGludCk5OQorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIDB4MS5wLTQ5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMAorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS5wLTQ4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMQorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS5wLTQ3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMgorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIDB4MS5wLTQ2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwMworICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5wLTQ1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNAorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS5wLTQ0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNQorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIDB4MS5wLTQzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNgorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS5wLTQyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwNworICB9LAorICB7IC8vIEVudHJ5IDY0NAorICAgIDB4MS5wLTQxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwOAorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS5wLTQwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEwOQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS5wLTM5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS5wLTM4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMQorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIDB4MS5wLTM3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMgorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS5wLTM2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExMworICB9LAorICB7IC8vIEVudHJ5IDY1MAorICAgIDB4MS5wLTM1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNAorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIDB4MS5wLTM0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS5wLTMzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNgorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIDB4MS5wLTMyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExNworICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS5wLTMxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExOAorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIDB4MS5wLTMwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTExOQorICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIDB4MS5wLTI5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMAorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS5wLTI4LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMQorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5wLTI3LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMgorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIDB4MS5wLTI2LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyMworICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS5wLTI1LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNAorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIDB4MS5wLTI0LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNQorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS5wLTIzLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNgorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIDB4MS5wLTIyLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS5wLTIxLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyOAorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIDB4MS5wLTIwLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEyOQorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS5wLTE5LAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTEzMAorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLmZmZmZmY3AtMTI2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuZmZmZmZjcC0xMjUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMgorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIDB4MS5mZmZmZmNwLTEyNCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLmZmZmZmY3AtMTIzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAweDEuZmZmZmZjcC0xMjIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNQorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIDB4MS5mZmZmZmNwLTEyMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2CisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgMHgxLmZmZmZmY3AtMTIwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEuZmZmZmZjcC0xMTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOAorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS5mZmZmZmNwLTExOCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5CisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLmZmZmZmY3AtMTE3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLmZmZmZmY3AtMTE2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTExCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmZmZmZmY3AtMTE1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLmZmZmZmY3AtMTE0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEzCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLmZmZmZmY3AtMTEzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLmZmZmZmY3AtMTEyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLmZmZmZmY3AtMTExLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmZmZmZmY3AtMTEwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE3CisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLmZmZmZmY3AtMTA5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE4CisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmZmZmZmY3AtMTA4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTE5CisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMHgxLmZmZmZmY3AtMTA3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIwCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLmZmZmZmY3AtMTA2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIxCisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLmZmZmZmY3AtMTA1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIyCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLmZmZmZmY3AtMTA0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTIzCisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgMHgxLmZmZmZmY3AtMTAzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI0CisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLmZmZmZmY3AtMTAyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI1CisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLmZmZmZmY3AtMTAxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI2CisgIH0sCisgIHsgLy8gRW50cnkgNjk0CisgICAgMHgxLmZmZmZmY3AtMTAwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgMHgxLmZmZmZmY3AtOTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuZmZmZmZjcC05OCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkyOQorICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIDB4MS5mZmZmZmNwLTk3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgMHgxLmZmZmZmY3AtOTYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTkKKyAgICAweDEuZmZmZmZjcC05NSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzMgorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5mZmZmZmNwLTk0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTMzCisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgMHgxLmZmZmZmY3AtOTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDIKKyAgICAweDEuZmZmZmZjcC05MiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzNQorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIDB4MS5mZmZmZmNwLTkxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTM2CisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLmZmZmZmY3AtOTAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAweDEuZmZmZmZjcC04OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkzOAorICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS5mZmZmZmNwLTg4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTM5CisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLmZmZmZmY3AtODcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEuZmZmZmZjcC04NiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk0MQorICB9LAorICB7IC8vIEVudHJ5IDcwOQorICAgIDB4MS5mZmZmZmNwLTg1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQyCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmZmZmZmY3AtODQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICAweDEuZmZmZmZjcC04MywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk0NAorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS5mZmZmZmNwLTgyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQ1CisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgMHgxLmZmZmZmY3AtODEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTQKKyAgICAweDEuZmZmZmZjcC04MCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk0NworICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIDB4MS5mZmZmZmNwLTc5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTQ4CisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLmZmZmZmY3AtNzgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAweDEuZmZmZmZjcC03NywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1MAorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIDB4MS5mZmZmZmNwLTc2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTUxCisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgMHgxLmZmZmZmY3AtNzUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAweDEuZmZmZmZjcC03NCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1MworICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIDB4MS5mZmZmZmNwLTczLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTU0CisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLmZmZmZmY3AtNzIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAweDEuZmZmZmZjcC03MSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1NgorICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIDB4MS5mZmZmZmNwLTcwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTU3CisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgMHgxLmZmZmZmY3AtNjksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAweDEuZmZmZmZjcC02OCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk1OQorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIDB4MS5mZmZmZmNwLTY3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTYwCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmZmZmZmY3AtNjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICAweDEuZmZmZmZjcC02NSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2MgorICB9LAorICB7IC8vIEVudHJ5IDczMAorICAgIDB4MS5mZmZmZmNwLTY0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTYzCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLmZmZmZmY3AtNjMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICAweDEuZmZmZmZjcC02MiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2NQorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIDB4MS5mZmZmZmNwLTYxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTY2CisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmZmZmZmY3AtNjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAweDEuZmZmZmZjcC01OSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk2OAorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5mZmZmZmNwLTU4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTY5CisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgMHgxLmZmZmZmY3AtNTcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAweDEuZmZmZmZjcC01NiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk3MQorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIDB4MS5mZmZmZmNwLTU1LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTcyCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgMHgxLmZmZmZmY3AtNTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAweDEuZmZmZmZjcC01MywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk3NAorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIDB4MS5mZmZmZmNwLTUyLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTc1CisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLmZmZmZmY3AtNTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAweDEuZmZmZmZjcC01MCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk3NworICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIDB4MS5mZmZmZmNwLTQ5LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTc4CisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLmZmZmZmY3AtNDgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpNzkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAweDEuZmZmZmZjcC00NywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4MAorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIDB4MS5mZmZmZmNwLTQ2LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTgxCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLmZmZmZmY3AtNDUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpODIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTAKKyAgICAweDEuZmZmZmZjcC00NCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4MworICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS5mZmZmZmNwLTQzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTg0CisgIH0sCisgIHsgLy8gRW50cnkgNzUyCisgICAgMHgxLmZmZmZmY3AtNDIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpODUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAweDEuZmZmZmZjcC00MSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4NgorICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIDB4MS5mZmZmZmNwLTQwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTg3CisgIH0sCisgIHsgLy8gRW50cnkgNzU1CisgICAgMHgxLmZmZmZmY3AtMzksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpODgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAweDEuZmZmZmZjcC0zOCwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk4OQorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS5mZmZmZmNwLTM3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTkwCisgIH0sCisgIHsgLy8gRW50cnkgNzU4CisgICAgMHgxLmZmZmZmY3AtMzYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAweDEuZmZmZmZjcC0zNSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5MgorICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIDB4MS5mZmZmZmNwLTM0LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTkzCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLmZmZmZmY3AtMzMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAweDEuZmZmZmZjcC0zMiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5NQorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS5mZmZmZmNwLTMxLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTk2CisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgMHgxLmZmZmZmY3AtMzAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpOTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAweDEuZmZmZmZjcC0yOSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCk5OAorICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIDB4MS5mZmZmZmNwLTI4LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTk5CisgIH0sCisgIHsgLy8gRW50cnkgNzY3CisgICAgMHgxLmZmZmZmY3AtMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgMHgxLmZmZmZmY3AtMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY5CisgICAgMHgxLmZmZmZmY3AtMjUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAyCisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLmZmZmZmY3AtMjQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTAzCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLmZmZmZmY3AtMjMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA0CisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgMHgxLmZmZmZmY3AtMjIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA1CisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLmZmZmZmY3AtMjEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA2CisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLmZmZmZmY3AtMjAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA3CisgIH0sCisgIHsgLy8gRW50cnkgNzc1CisgICAgMHgxLmZmZmZmY3AtMTksCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA4CisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLmZmZmZmY3AtMTgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTA5CisgIH0sCisgIHsgLy8gRW50cnkgNzc3CisgICAgMHgxLmZmZmZmY3AtMTcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTEwCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgMHgxLmZmZmZmY3AtMTYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTExCisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgMHgxLmZmZmZmY3AtMTUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTEyCisgIH0sCisgIHsgLy8gRW50cnkgNzgwCisgICAgMHgxLmZmZmZmY3AtMTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTEzCisgIH0sCisgIHsgLy8gRW50cnkgNzgxCisgICAgMHgxLmZmZmZmY3AtMTMsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE0CisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLmZmZmZmY3AtMTIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE1CisgIH0sCisgIHsgLy8gRW50cnkgNzgzCisgICAgMHgxLmZmZmZmY3AtMTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE2CisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgMHgxLmZmZmZmY3AtMTAsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTE3CisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLmZmZmZmY3AtOSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEuZmZmZmZjcC04LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTExOQorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS5mZmZmZmNwLTcsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTIwCisgIH0sCisgIHsgLy8gRW50cnkgNzg4CisgICAgMHgxLmZmZmZmY3AtNiwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuZmZmZmZjcC01LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyMgorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5mZmZmZmNwLTQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTIzCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgMHgxLmZmZmZmY3AtMywKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAweDEuZmZmZmZjcC0yLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyNQorICB9LAorICB7IC8vIEVudHJ5IDc5MworICAgIDB4MS5mZmZmZmNwLTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLmZmZmZmY3AwLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDB4MS5mZmZmZmNwMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAweDEuZmZmZmZjcDIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTI5CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLmZmZmZmY3AzLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTEzMAorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KTE0OAorICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIDB4MS5mZmZmZmNwMjIsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgODAxCisgICAgMHgxLmZmZmZmY3AyMSwKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkxNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEuZmZmZmZjcC0xMDQsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAweDEuZmZmZmZjcC0xMDUsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIDB4MS5wLTE0OCwKKyAgICAweDEucC0xNDksCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEuZmZmZmZjcC0xMjYsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIDAuMCwKKyAgICAwLjBmLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgxMQorICAgIC0wLjAsCisgICAgLTAuMGYsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODEyCisgICAgMC4wLAorICAgIDAuMGYsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODEzCisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAwLjAsCisgICAgMC4wZiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODE2CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAtMC4wLAorICAgIC0wLjBmLAorICAgIChpbnQpMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMC4wLAorICAgIDAuMGYsCisgICAgKGludCktMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgLTAuMCwKKyAgICAtMC4wZiwKKyAgICAoaW50KS0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyMQorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIDB4MS5mZmZmZmVwMTI3LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIDB4MS5wLTEyNiwKKyAgICAweDEucC0xMjYsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODIzCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2LAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkwCisgIH0sCisgIHsgLy8gRW50cnkgODI5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIChpbnQpMAorICB9LAorICB7IC8vIEVudHJ5IDgzMAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgKGludCkxCisgIH0sCisgIHsgLy8gRW50cnkgODMxCisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIChpbnQpMQorICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODM0CisgICAgSFVHRV9WQUxGLAorICAgIEhVR0VfVkFMRiwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIC1IVUdFX1ZBTEYsCisgICAgLUhVR0VfVkFMRiwKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYsCisgICAgKGludCktMTI3CisgIH0sCisgIHsgLy8gRW50cnkgODM3CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGLAorICAgIChpbnQpLTEyNworICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIEhVR0VfVkFMRiwKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCkxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDAKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDEKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAoaW50KTEyNworICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xMjYsCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIEhVR0VfVkFMRiwKKyAgICAweDEucC0xNDksCisgICAgKGludCk0MDAwMAorICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5wLTEyNiwKKyAgICAoaW50KTQwMDAwCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLnAtMTQ5LAorICAgIChpbnQpNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAweDEucC0xMjcsCisgICAgMHgxLnAtMTI2LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDcKKyAgICAweDEuZmZmZmZjcC0xMjgsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODQ5CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OSwKKyAgICAoaW50KS0xCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgLTB4MS5mZmZmZmNwLTEyOCwKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIChpbnQpLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICAtMHgxLnAtMTI3LAorICAgIC0weDEucC0xMjYsCisgICAgKGludCktMQorICB9LAorICB7IC8vIEVudHJ5IDg1MgorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktNDAwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTMKKyAgICAtMC4wZiwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgICAgKGludCktNDAwMDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zaWduaWZpY2FuZF9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvc2lnbmlmaWNhbmRfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNzYyNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvc2lnbmlmaWNhbmRfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNjM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfc2lnbmlmaWNhbmRfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEucDAsCisgICAgMHgxLjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4yYWFhYWFhYWFhYWFiMHAwLAorICAgIDB4MS4yYWFhYWFhYWFhYWFicDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuNTU1NTU1NTU1NTU1NjBwMCwKKyAgICAweDEuNTU1NTU1NTU1NTU1NnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjgwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjgwMDAwMDAwMDAwMDFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS5hYWFhYWFhYWFhYWFjMHAwLAorICAgIDB4MS5hYWFhYWFhYWFhYWFjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuZDU1NTU1NTU1NTU1NzBwMCwKKyAgICAweDEuZDU1NTU1NTU1NTU1N3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDEwMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucDAsCisgICAgMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS4yYWFhYWFhYWFhYWFiMHAwLAorICAgIDB4MS4yYWFhYWFhYWFhYWFicDIwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuNTU1NTU1NTU1NTU1NjBwMCwKKyAgICAweDEuNTU1NTU1NTU1NTU1NnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS44MDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS44MDAwMDAwMDAwMDAxcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLmFhYWFhYWFhYWFhYWMwcDAsCisgICAgMHgxLmFhYWFhYWFhYWFhYWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZDU1NTU1NTU1NTU1NzBwMCwKKyAgICAweDEuZDU1NTU1NTU1NTU1N3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wMCwKKyAgICAweDEuMHAyMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuMmFhYWFhYWFhYWFhYjBwMCwKKyAgICAweDEuMmFhYWFhYWFhYWFhYnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuNTU1NTU1NTU1NTU1NjBwMCwKKyAgICAweDEuNTU1NTU1NTU1NTU1NnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuODAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuYWFhYWFhYWFhYWFhYzBwMCwKKyAgICAweDEuYWFhYWFhYWFhYWFhY3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZDU1NTU1NTU1NTU1NzBwMCwKKyAgICAweDEuZDU1NTU1NTU1NTU1N3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEucDAsCisgICAgMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMTAxCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLmQ1NTU1NTU1NTU1NTUwcDAsCisgICAgLTB4MS5kNTU1NTU1NTU1NTU1cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgLTB4MS5hYWFhYWFhYWFhYWFhMHAwLAorICAgIC0weDEuYWFhYWFhYWFhYWFhYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZjBwMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTQwcDAsCisgICAgLTB4MS41NTU1NTU1NTU1NTU0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS4yYWFhYWFhYWFhYWE5MHAwLAorICAgIC0weDEuMmFhYWFhYWFhYWFhOXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIC0weDEucDAsCisgICAgLTB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMjAxCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLmQ1NTU1NTU1NTU1NTUwcDAsCisgICAgLTB4MS5kNTU1NTU1NTU1NTU1cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS5hYWFhYWFhYWFhYWFhMHAwLAorICAgIC0weDEuYWFhYWFhYWFhYWFhYXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEuN2ZmZmZmZmZmZmZmZjBwMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTQwcDAsCisgICAgLTB4MS41NTU1NTU1NTU1NTU0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS4yYWFhYWFhYWFhYWE5MHAwLAorICAgIC0weDEuMmFhYWFhYWFhYWFhOXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMTAwMQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5kNTU1NTU1NTU1NTU1MHAwLAorICAgIC0weDEuZDU1NTU1NTU1NTU1NXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLmFhYWFhYWFhYWFhYWEwcDAsCisgICAgLTB4MS5hYWFhYWFhYWFhYWFhcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIC0weDEuN2ZmZmZmZmZmZmZmZjBwMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgLTB4MS41NTU1NTU1NTU1NTU0MHAwLAorICAgIC0weDEuNTU1NTU1NTU1NTU1NHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLjJhYWFhYWFhYWFhYTkwcDAsCisgICAgLTB4MS4yYWFhYWFhYWFhYWE5cDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5wMCwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEucDAsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5wMCwKKyAgICAweDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDI2CisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuYWU4YmEyZThiYTJlODBwMCwKKyAgICAweDEuYWU4YmEyZThiYTJlOHAtMTAyNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjhlOGJhMmU4YmEyZTgwcDAsCisgICAgMHgxLjhlOGJhMmU4YmEyZThwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS4yMmU4YmEyZThiYTJlMHAwLAorICAgIDB4MS4yMmU4YmEyZThiYTJlcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuN2U4YmEyZThiYTJlODBwMCwKKyAgICAweDEuN2U4YmEyZThiYTJlOHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmRhMmU4YmEyZThiYTIwcDAsCisgICAgMHgxLmRhMmU4YmEyZThiYTJwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS4xYWU4YmEyZThiYTJlMHAwLAorICAgIDB4MS4xYWU4YmEyZThiYTJlcC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuNDhiYTJlOGJhMmU4YjBwMCwKKyAgICAweDEuNDhiYTJlOGJhMmU4YnAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjc2OGJhMmU4YmEyZTgwcDAsCisgICAgMHgxLjc2OGJhMmU4YmEyZThwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS5hNDVkMTc0NWQxNzQ1MHAwLAorICAgIDB4MS5hNDVkMTc0NWQxNzQ1cC0xMDIxCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZDIyZThiYTJlOGJhMjBwMCwKKyAgICAweDEuZDIyZThiYTJlOGJhMnAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEucDAsCisgICAgMHgxLjBwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLnAwLAorICAgIDB4MS4wcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5wMCwKKyAgICAweDEuMHA1MworICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEucDAsCisgICAgLTB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEucDAsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEucDAsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAwLAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS5wMCwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucDAsCisgICAgMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS45MjFmYjU0NDQyZDE4MHAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTgwcDAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuOTIxZmI1NDQ0MmQxODBwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS45MjFmYjU0NDQyZDE4MHAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS45MjFmYjU0NDQyZDE4MHAwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS45MjFmYjU0NDQyZDE4MHAwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5wMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIC0weDEucDAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLnAwLAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEucDAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zaWduaWZpY2FuZGZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3NpZ25pZmljYW5kZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc4NjliNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9zaWduaWZpY2FuZGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX3NpZ25pZmljYW5kZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS5wMCwKKyAgICAweDEucDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMmFhYWFhcDAsCisgICAgMHgxLjJhYWFhYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjU1NTU1NHAwLAorICAgIDB4MS41NTU1NTRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS43ZmZmZmVwMCwKKyAgICAweDEuN2ZmZmZlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuYWFhYWE4cDAsCisgICAgMHgxLmFhYWFhOHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLmQ1NTU1MnAwLAorICAgIDB4MS5kNTU1NTJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5mZmZmZmNwMCwKKyAgICAweDEuZmZmZmZjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmQ1NTU1NnAwLAorICAgIC0weDEuZDU1NTU2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLmFhYWFhY3AwLAorICAgIC0weDEuYWFhYWFjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS44MDAwMDJwMCwKKyAgICAtMHgxLjgwMDAwMnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIC0weDEuNTU1NTU4cDAsCisgICAgLTB4MS41NTU1NThwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLjJhYWFhZXAwLAorICAgIC0weDEuMmFhYWFlcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgLTB4MS4wMDAwMDRwMCwKKyAgICAtMHgxLjAwMDAwNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wMCwKKyAgICAweDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEucDAsCisgICAgMHgxLnAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAwLAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5wMCwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuYWU4YmEwcDAsCisgICAgMHgxLmFlOGJhMHAtMTI4CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOGU4YmEwcDAsCisgICAgMHgxLjhlOGJhMHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuMjJlOGI4cDAsCisgICAgMHgxLjIyZThiOHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuN2U4YmEwcDAsCisgICAgMHgxLjdlOGJhMHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZGEyZTg4cDAsCisgICAgMHgxLmRhMmU4OHAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuMWFlOGI4cDAsCisgICAgMHgxLjFhZThiOHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuNDhiYTJjcDAsCisgICAgMHgxLjQ4YmEyY3AtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuNzY4YmEwcDAsCisgICAgMHgxLjc2OGJhMHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuYTQ1ZDE0cDAsCisgICAgMHgxLmE0NWQxNHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuZDIyZTg4cDAsCisgICAgMHgxLmQyMmU4OHAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuZmZmZmZjcDAsCisgICAgMHgxLmZmZmZmY3AtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLnAwLAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLnAwLAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLnAwLAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMHgxLnAwLAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmZmZmZmZXAwLAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuZmZmZmZlcDAsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLnAwLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLnAwLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5wMCwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEucDAsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEucDAsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEucDAsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAyCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAweDEucDAsCisgICAgMHgxLnAzCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEucDAsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAweDEucDAsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXA1CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEucDAsCisgICAgMHgxLnA2CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuZmZmZmZlcDAsCisgICAgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEucDAsCisgICAgMHgxLnA3CisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnA3CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIDB4MS5mZmZmZmNwMCwKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIC0weDEuZmZmZmZjcDAsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgMHgxLjkyMWZiNnAwLAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIC0weDEuOTIxZmI2cDAsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS45MjFmYjZwMCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLjkyMWZiNnAwLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDAwMDAycDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS4wMDAwMDJwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5mZmZmZmVwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS45MjFmYjZwMCwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgLTB4MS45MjFmYjZwMCwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS4wMDAwMDJwMCwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLjAwMDAwMnAwLAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmZmZmZmY3AwLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuZmZmZmZjcDAsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5mZmZmZjhwMCwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAtMHgxLmZmZmZmOHAwLAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucDAsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLnAwLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEucDAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDAuMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTAuMCwKKyAgICAtMC4wZgorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3Npbl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvc2luX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzQxY2ZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3Npbl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw1Nzc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfc2luX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjkyNTllMzcwOGJkMzlmZmZmZmZmZmZmZmZmZjFiZGJlcC01LAorICAgIDB4MS45MjgzNTg2NTAzZmUwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIC0weDEuOTI1OWUzNzA4YmQzOWZmZmZmZmZmZmZmZmZmMWJkYmVwLTUsCisgICAgLTB4MS45MjgzNTg2NTAzZmUwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS5kNzdiMTE3ZjIzMGQ1ZmZmZmZmZmZmZmZmZmYyYWRjN3AtNSwKKyAgICAweDEuZDdiZGNkNzc4MDQ5ZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAtMHgxLmQ3N2IxMTdmMjMwZDVmZmZmZmZmZmZmZmZmZjJhZGM3cC01LAorICAgIC0weDEuZDdiZGNkNzc4MDQ5ZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuYTE0OTBjOGMwNmJhNmZmZmZmZmZmZmZmZmZhOTg2MTFwLTQsCisgICAgMHgxLmEyMDJiM2ZiODQ3ODhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgLTB4MS5hMTQ5MGM4YzA2YmE2ZmZmZmZmZmZmZmZmZmE5ODYxMXAtNCwKKyAgICAtMHgxLmEyMDJiM2ZiODQ3ODhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLmNjNDBjMzgwNTIyOWE3ZmZmZmZmZmZmZmZmODNlNzZicC0zLAorICAgIDB4MS5kMDM3Y2IyN2VlNmRmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0weDEuY2M0MGMzODA1MjI5YTdmZmZmZmZmZmZmZmY4M2U3NmJwLTMsCisgICAgLTB4MS5kMDM3Y2IyN2VlNmRmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5kMGVmNzk5MDAxYmE5MDAwMDAwMDAwMDAwMDVlYTRlOXAtMywKKyAgICAweDEuZDUwNjRlNmZlODJjNXAtMworICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAtMHgxLmQwZWY3OTkwMDFiYTkwMDAwMDAwMDAwMDAwNWVhNGU5cC0zLAorICAgIC0weDEuZDUwNjRlNmZlODJjNXAtMworICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLmU5OTUwNzMwYzQ2OTVmZmZmZmZmZmZmZmZmZmZmYzJlcC0yLAorICAgIDB4MS5mZTc2NzczOWQwZjZkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLmU5OTUwNzMwYzQ2OTVmZmZmZmZmZmZmZmZmZmZmYzJlcC0yLAorICAgIC0weDEuZmU3Njc3MzlkMGY2ZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjk4ZGNkMDkzMzc3OTI4MDAwMDAwMDAwMDAwMTY3ZGM3cC0xLAorICAgIDB4MS5kOThjNGM2MTI3MThkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAtMHgxLjk4ZGNkMDkzMzc3OTI4MDAwMDAwMDAwMDAwMTY3ZGM3cC0xLAorICAgIC0weDEuZDk4YzRjNjEyNzE4ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzFwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS43MGE5ZDgyNWI1MDY0MDA0MjIxNTVhZWNkNTE5ZDU0Y3AtMSwKKyAgICAtMHgxLjAwMDAwMDFmOHA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEuNzBhOWQ4MjViNTA2NDAwNDIyMTU1YWVjZDUxOWQ1NGNwLTEsCisgICAgMHgxLjAwMDAwMDFmOHA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIDB4MS5iZjM5ODBjNmMxZTlmNDQ5Njc5NWY0Y2U1MzUwMTZiNnAtMSwKKyAgICAtMHgxLjAwYzBiZjhwNzAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAtMHgxLmJmMzk4MGM2YzFlOWY0NDk2Nzk1ZjRjZTUzNTAxNmI2cC0xLAorICAgIDB4MS4wMGMwYmY4cDcwMAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmQ2Mjg5OWQ0OGI0Mzk3ZmIyNzViYTQ0MDk1OTcxMzY0cC00LAorICAgIC0weDEuMTNmZmZmZmZmZmY4MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLmQ2Mjg5OWQ0OGI0Mzk3ZmIyNzViYTQ0MDk1OTcxMzY0cC00LAorICAgIDB4MS4xM2ZmZmZmZmZmZjgwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuMTdiN2E2MGNlMWYxNDg1ODI0NzExNTIzYWIwZmQ2ZDFwLTUsCisgICAgLTB4MS4xN2M1OTIwNzY3ZGZjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuMTdiN2E2MGNlMWYxNDg1ODI0NzExNTIzYWIwZmQ2ZDFwLTUsCisgICAgMHgxLjE3YzU5MjA3NjdkZmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mMDE5MmI3OTRmYmJlMDMwZmUyNWVkZjY1YTVkYjliZnAtMSwKKyAgICAtMHgxLjFkOTliZTA4NzEzY2NwMgorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS5mMDE5MmI3OTRmYmJlMDMwZmUyNWVkZjY1YTVkYjliZnAtMSwKKyAgICAweDEuMWQ5OWJlMDg3MTNjY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLjVlNjEzMjhjMDAzNGVjM2EwNWQwNTNiNzJlMmQ1OTQ1cC0zLAorICAgIC0weDEuMWRkYmZkNjRmYzBkM3A4MQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjVlNjEzMjhjMDAzNGVjM2EwNWQwNTNiNzJlMmQ1OTQ1cC0zLAorICAgIDB4MS4xZGRiZmQ2NGZjMGQzcDgxCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuZmIwMjhjNWRmMWRiM2ViMzJiMDA2MmM2Y2Q0ZGVhMGJwLTEsCisgICAgLTB4MS4xZTJhMTU2M2UwNjhlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIC0weDEuZmIwMjhjNWRmMWRiM2ViMzJiMDA2MmM2Y2Q0ZGVhMGJwLTEsCisgICAgMHgxLjFlMmExNTYzZTA2OGVwNworICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS4yY2VmYjE5NmJhMjA3N2ZmZmZmZDRiZDY1MDcyMmJmYnAtMywKKyAgICAtMHgxLjJlMDdhOTEzMTRkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEuMmNlZmIxOTZiYTIwNzdmZmZmZmQ0YmQ2NTA3MjJiZmJwLTMsCisgICAgMHgxLjJlMDdhOTEzMTRkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuYjgwZjQ4OWQzZWRmNDgzNWRlN2RlZWViNWJiMzhhZDlwLTIsCisgICAgLTB4MS4zYmNlYzI3MDQ0NGUycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuYjgwZjQ4OWQzZWRmNDgzNWRlN2RlZWViNWJiMzhhZDlwLTIsCisgICAgMHgxLjNiY2VjMjcwNDQ0ZTJwMworICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS40ZmZmZmZmZmZmYTM4ODAwMDAwMDA0ZGQyMmNjY2NjY3AtMjAsCisgICAgLTB4MS41MDAwMDAwMDAwMDQwcC0yMAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjRmZmZmZmZmZmZhMzg4MDAwMDAwMDRkZDIyY2NjY2NjcC0yMCwKKyAgICAweDEuNTAwMDAwMDAwMDA0MHAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNgorICAgIC0weDEuZDI5ZGE1YjQ0ZjUxYjdmYzAxOWYxODNlMWQzYmQ1MTFwLTIsCisgICAgLTB4MS41NTkwMDFhNDJkOTBjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5kMjlkYTViNDRmNTFiN2ZjMDE5ZjE4M2UxZDNiZDUxMXAtMiwKKyAgICAweDEuNTU5MDAxYTQyZDkwY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLmY4NWY1MjYxNDdmNzg3ZmZmZmYxNTI0MWU3MTk3MzRicC0xLAorICAgIC0weDEuNTk3YmYzZTk3NzZiN3A5OQorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmY4NWY1MjYxNDdmNzg3ZmZmZmYxNTI0MWU3MTk3MzRicC0xLAorICAgIDB4MS41OTdiZjNlOTc3NmI3cDk5CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAtMHgxLjZkNjFiNThjOTljNDJmMTM5NmFmNGE0MjE0OGY3M2M2cC01OSwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGVwNworICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgMHgxLjZkNjFiNThjOTljNDJmMTM5NmFmNGE0MjE0OGY3M2M2cC01OSwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZXA3CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZTVjM2MwOGEyNThhNzdmMWQxMmVmYThjMzAxNjY3MDlwLTEsCisgICAgLTB4MS43M2Q4ZDE3M2Y5MGQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuZTVjM2MwOGEyNThhNzdmMWQxMmVmYThjMzAxNjY3MDlwLTEsCisgICAgMHgxLjczZDhkMTczZjkwZDBwNAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmZlYjM2ODA2Y2E1ZmI3ZWE0NDIxMTlhZjQxYmUwZjRmcC0xLAorICAgIC0weDEuOGMyMDJkM2EzMTgwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmZlYjM2ODA2Y2E1ZmI3ZWE0NDIxMTlhZjQxYmUwZjRmcC0xLAorICAgIDB4MS44YzIwMmQzYTMxODAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0weDEuN2M2YzdiMDFiOThkOTQ3Y2Q4YWRkNWU1ZDFhZTExY2FwLTEsCisgICAgLTB4MS5hY2Q1MzhiMWE2ZDVkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuN2M2YzdiMDFiOThkOTQ3Y2Q4YWRkNWU1ZDFhZTExY2FwLTEsCisgICAgMHgxLmFjZDUzOGIxYTZkNWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuMTkxYmUyMDU5ZGNiNTdmZWQ4NmRkMmNjNjJlYjFhOWZwLTEsCisgICAgLTB4MS5iNzUyNWFjOTdlMGQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS4xOTFiZTIwNTlkY2I1N2ZlZDg2ZGQyY2M2MmViMWE5ZnAtMSwKKyAgICAweDEuYjc1MjVhYzk3ZTBkMnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLmY4MzA1OTkzYTIxMmM3ZmZmZmZjMTVjMmFmYTVlNTdlcC0xLAorICAgIC0weDEuYmVlNWZhOGE4NGIwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuZjgzMDU5OTNhMjEyYzdmZmZmZmMxNWMyYWZhNWU1N2VwLTEsCisgICAgMHgxLmJlZTVmYThhODRiMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmZmM2IxMzUzMGZkNzBlNzJiNzdmN2M2NzIxZGExMTMxcC0xLAorICAgIC0weDEuYzM5Mzk3OWZlNTkyMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTMKKyAgICAtMHgxLmZmM2IxMzUzMGZkNzBlNzJiNzdmN2M2NzIxZGExMTMxcC0xLAorICAgIDB4MS5jMzkzOTc5ZmU1OTIxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIC0weDEuZjExOWRhODFhNGRhNTdmZmQ4YmNjNWExMjQ3ZjU1OTBwLTEsCisgICAgLTB4MS5jNDhmZmM3MjU2M2M4cDE4CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZjExOWRhODFhNGRhNTdmZmQ4YmNjNWExMjQ3ZjU1OTBwLTEsCisgICAgMHgxLmM0OGZmYzcyNTYzYzhwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuZmQ3M2I4MWUwNGNjYzdlOWQ3NjRlY2E4YmIwODUxMDlwLTEsCisgICAgLTB4MS5jNzk1NDhiYzMxODU2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS5mZDczYjgxZTA0Y2NjN2U5ZDc2NGVjYThiYjA4NTEwOXAtMSwKKyAgICAweDEuYzc5NTQ4YmMzMTg1NnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLmM3ODg1YWVmMzNhOTRmZmM1YWUwNmJlOTQ0NGVmYWQ1cC0zLAorICAgIC0weDEuY2I2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuYzc4ODVhZWYzM2E5NGZmYzVhZTA2YmU5NDQ0ZWZhZDVwLTMsCisgICAgMHgxLmNiNnAtMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5lNjQ5NDkxMWVlZGQwOGQxNjUwYTRiNTEzNmMzZTZkNnAtNywKKyAgICAtMHgxLmU2NGRkYWY3YmQ3MmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5lNjQ5NDkxMWVlZGQwOGQxNjUwYTRiNTEzNmMzZTZkNnAtNywKKyAgICAweDEuZTY0ZGRhZjdiZDcyZnAtNworICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmUxODBlZWY1YjFjODg3ZmZmNTg1NTk0OTQ5YjQ2ZTZjcC0xLAorICAgIC0weDEuZWNkZDBmYmYwNzk0MnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmUxODBlZWY1YjFjODg3ZmZmNTg1NTk0OTQ5YjQ2ZTZjcC0xLAorICAgIDB4MS5lY2RkMGZiZjA3OTQycDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuZmQ5OGQyMGMxYmU0MzgwMDAwMDAxZWU1MTU2MmQ3YThwLTEsCisgICAgLTB4MS5mMDczYTIzMjkyMzM3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5mZDk4ZDIwYzFiZTQzODAwMDAwMDFlZTUxNTYyZDdhOHAtMSwKKyAgICAweDEuZjA3M2EyMzI5MjMzN3AyCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLjcyNjhjMTEyMjk3Yzg3ZDE3NjMzYmFiNzIyZjMxYTNmcC01LAorICAgIC0weDEuZjVlNGM0MTBmNGVmOHAxNQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLjcyNjhjMTEyMjk3Yzg3ZDE3NjMzYmFiNzIyZjMxYTNmcC01LAorICAgIDB4MS5mNWU0YzQxMGY0ZWY4cDE1CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuNDIwNzk2MTQ2MDcwZTYyOGMxOWQzOGQxZTkwZGYyMjhwLTE4LAorICAgIC0weDEuZjgwMDAwMDAwMDJwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuNDIwNzk2MTQ2MDcwZTYyOGMxOWQzOGQxZTkwZGYyMjhwLTE4LAorICAgIDB4MS5mODAwMDAwMDAwMnA5NQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5lNGY2ZGM0OTlkOWNjODAzNTYwN2ZhM2Q3NmY5ZjRjNXAtMiwKKyAgICAtMHgxLmY5MzY1ZDc5NTQ2ZTFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5lNGY2ZGM0OTlkOWNjODAzNTYwN2ZhM2Q3NmY5ZjRjNXAtMiwKKyAgICAweDEuZjkzNjVkNzk1NDZlMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmIyZWY5OWIxNDBkNjUwNDY4YWVkODJmZTBkNDQyYWRhcC0xNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZlN2VwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5iMmVmOTliMTQwZDY1MDQ2OGFlZDgyZmUwZDQ0MmFkYXAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZlN2VwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmRiMGZmYzNlY2M2ZTNiOGUzNzM1N2NhMDAyZDU2MjVicC0xLAorICAgIDB4MS4wcDE1CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmRiMGZmYzNlY2M2ZTNiOGUzNzM1N2NhMDAyZDU2MjVicC0xLAorICAgIC0weDEuMHAxNQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5lOThmODcwOThiNjI2OTlhZDE2ZTAyNTliMGU4NWIyNHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLmU5OGY4NzA5OGI2MjY5OWFkMTZlMDI1OWIwZTg1YjI0cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxMworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLjA1M2MzNTA2OGUxMGQ0NWVlNTBmMmQxZGRjYWJjZjNkcC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAtMHgxLjA1M2MzNTA2OGUxMGQ0NWVlNTBmMmQxZGRjYWJjZjNkcC00LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjcyZDQyMWI2ODg0ZTUwMGJiZDNhOWVmYzBmMGNlZDkycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIyOAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS43MmQ0MjFiNjg4NGU1MDBiYmQzYTllZmMwZjBjZWQ5MnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMjI4CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuNzdmYmE5ODdjNTY1MzNhNjY1ZTg4ZTVhNTkyY2ExMGNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNDkxCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLjc3ZmJhOTg3YzU2NTMzYTY2NWU4OGU1YTU5MmNhMTBjcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA0OTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuNzIzYjI2MjUzMzFhZjJlNzlhOWYwNzE0NWExZTU3MzFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwMjE1CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuNzIzYjI2MjUzMzFhZjJlNzlhOWYwNzE0NWExZTU3MzFwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcDIxNQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmFlZDU0OGYwOTBjZjQ3ZmU3ZTMyMTAzYWIxNDBjYWY4cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuYWVkNTQ4ZjA5MGNmNDdmZTdlMzIxMDNhYjE0MGNhZjhwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmY5ODMyMDhjN2RjOTc4MDc5MTc0YjQ2MWIzODA5ZjBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwOAorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmOTgzMjA4YzdkYzk3ODA3OTE3NGI0NjFiMzgwOWYwcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwN3A4CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmZlZjI5ZGMzODQ1MmZmZWY0YTc3OWExZjg2NzA3ZGFwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwMjc1CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmZmZWYyOWRjMzg0NTJmZmVmNGE3NzlhMWY4NjcwN2RhcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwN3AyNzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIC0weDEuZmE4OGMzNzU3MjNjMGQ3ZWExZjJkMDhlYmIyZjk0MDdwLTgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwNDQ5CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZmE4OGMzNzU3MjNjMGQ3ZWExZjJkMDhlYmIyZjk0MDdwLTgsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA3cDQ0OQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZmZjUzMjJjOTRlYWUxYjBiNTEwODZjMDhmYWE1ODVjcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDExcDY0NAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS5mZmY1MzIyYzk0ZWFlMWIwYjUxMDg2YzA4ZmFhNTg1Y3AtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMTFwNjQ0CisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLmE3MzYzMGFmOGYxNWI4MDAwMDU0ZGRkOTUwYmJhMTA3cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDFmcDE2NAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLmE3MzYzMGFmOGYxNWI4MDAwMDU0ZGRkOTUwYmJhMTA3cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAxZnAxNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4xYzU0OGY5MjQ5ZTQ0NzQ5ODg2NDZiODY4OTRlOTU4MXAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAzOHAzODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OQorICAgIC0weDEuMWM1NDhmOTI0OWU0NDc0OTg4NjQ2Yjg2ODk0ZTk1ODFwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDM4cDM4MAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5jYTk2NWJkMmM0ZGZlZTQ3NzljYThjNzk3ODA2MjkyZHAtMywKKyAgICAweDEuMDAwMDAwMDAwMDExOHAzODAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmNhOTY1YmQyYzRkZmVlNDc3OWNhOGM3OTc4MDYyOTJkcC0zLAorICAgIC0weDEuMDAwMDAwMDAwMDExOHAzODAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLjgzN2I5ZGRkYzI0Y2YyZjcyOWEzODE0Nzc5NWIxOGQycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMTJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuODM3YjlkZGRjMjRjZjJmNzI5YTM4MTQ3Nzk1YjE4ZDJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMTJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuZDgyYzE3ODRjM2VjYmZlZmIwMmQ3ZDZiNTg1ZjczYzRwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAxZjhwNzAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS5kODJjMTc4NGMzZWNiZmVmYjAyZDdkNmI1ODVmNzNjNHAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAxZjhwNzAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmVhYWFhZWYyZWU3ZWU4NzZmOTBiNzBiNTEyNDc1cC04LAorICAgIDB4MS4wMDAwMDAwMDAwMnAtNworICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuZmZmZWFhYWFlZjJlZTdlZTg3NmY5MGI3MGI1MTI0NzVwLTgsCisgICAgLTB4MS4wMDAwMDAwMDAwMnAtNworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIC0weDEuMDg3MWJkZGQ5MGZjNTgzNDAzNGVlM2Y2Zjg2YjQzYTNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAycDQwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLjA4NzFiZGRkOTBmYzU4MzQwMzRlZTNmNmY4NmI0M2EzcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDJwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmZmZWFhYWFlZjJmMDdlZTQ3NmZhNjBjNWRiZTQ4ODZwLTgsCisgICAgMHgxLjAwMDAwMDAwMDAyMDFwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLmZmZmVhYWFhZWYyZjA3ZWU0NzZmYTYwYzVkYmU0ODg2cC04LAorICAgIC0weDEuMDAwMDAwMDAwMDIwMXAtNworICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS5mZmZlYWFhYWVmMzMwN2U2NDc3MjUwYjZhYjUyNGFiN3AtOCwKKyAgICAweDEuMDAwMDAwMDAwMDIyMXAtNworICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuZmZmZWFhYWFlZjMzMDdlNjQ3NzI1MGI2YWI1MjRhYjdwLTgsCisgICAgLTB4MS4wMDAwMDAwMDAwMjIxcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLmZmZmVhYWFhZWYzNjI3ZTAwNzc0NjYwYmI3ZDdhODdjcC04LAorICAgIDB4MS4wMDAwMDAwMDAwMjNhcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS5mZmZlYWFhYWVmMzYyN2UwMDc3NDY2MGJiN2Q3YTg3Y3AtOCwKKyAgICAtMHgxLjAwMDAwMDAwMDAyM2FwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuZTBjNmVkZmE5MzYwMTU5NTM0ZGVmNzEzOTI1ZjEyNmZwLTksCisgICAgMHgxLjAwMDAwMDAwMDQwcDQ1CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS5lMGM2ZWRmYTkzNjAxNTk1MzRkZWY3MTM5MjVmMTI2ZnAtOSwKKyAgICAtMHgxLjAwMDAwMDAwMDQwcDQ1CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmVhMWY2MTgzNTZkYjBkM2FiNjZkMGVmNjQ5M2JjOTNkcC01LAorICAgIDB4MS4wMDAwMDAwYzBwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLmVhMWY2MTgzNTZkYjBkM2FiNjZkMGVmNjQ5M2JjOTNkcC01LAorICAgIC0weDEuMDAwMDAwMGMwcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZhYWVlZDc1ODc1NDFmZmZmZjk5MjJiYTY2OTBiOGJhcC0zLAorICAgIDB4MS4wMDAwMDAxM2M4NmY0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS5mYWFlZWQ3NTg3NTQxZmZmZmY5OTIyYmE2NjkwYjhiYXAtMywKKyAgICAtMHgxLjAwMDAwMDEzYzg2ZjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuNTQwYmM3Nzg1NjgwYWMyY2ExNjlmZjllM2NjNGIxNTJwLTEsCisgICAgMHgxLjAwMXAxMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuNTQwYmM3Nzg1NjgwYWMyY2ExNjlmZjllM2NjNGIxNTJwLTEsCisgICAgLTB4MS4wMDFwMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLjM3YTdjYjkwN2EyZTUwMDEwNmIwNGQ5ZTNmMGIxYjhjcC0xLAorICAgIDB4MS4wMDNwNjk5CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLjM3YTdjYjkwN2EyZTUwMDEwNmIwNGQ5ZTNmMGIxYjhjcC0xLAorICAgIC0weDEuMDAzcDY5OQorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEuMjllNTg0NWZjNTRiNTgwMTQ1MjczZjJjYWZlNzNhYjVwLTEsCisgICAgMHgxLjAwMzgwcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLjI5ZTU4NDVmYzU0YjU4MDE0NTI3M2YyY2FmZTczYWI1cC0xLAorICAgIC0weDEuMDAzODBwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZlNWNhNDY1NjQ5MTdhMWU4MTJhZWRkNDhmZTEwN2NwLTEsCisgICAgMHgxLjAwN3AxMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIC0weDEuZmZlNWNhNDY1NjQ5MTdhMWU4MTJhZWRkNDhmZTEwN2NwLTEsCisgICAgLTB4MS4wMDdwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuZWE0ZGY4MmRiMDE0YWMwYzkxMzQ2NWRhNTdiNmE2NDNwLTEsCisgICAgMHgxLjAwN3AyNQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuZWE0ZGY4MmRiMDE0YWMwYzkxMzQ2NWRhNTdiNmE2NDNwLTEsCisgICAgLTB4MS4wMDdwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuZmU3NTdhZWYxYzgwYzdlYzE2MDAzZDNhZTVmMGNlMTVwLTEsCisgICAgMHgxLjAwN3A0MQorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuZmU3NTdhZWYxYzgwYzdlYzE2MDAzZDNhZTVmMGNlMTVwLTEsCisgICAgLTB4MS4wMDdwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuZTliNzE4MDVlYzA2ODVkNDg0ZjYyNzBmNjQxMWRjMzZwLTcsCisgICAgMHgxLjAwY3A0MQorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuZTliNzE4MDVlYzA2ODVkNDg0ZjYyNzBmNjQxMWRjMzZwLTcsCisgICAgLTB4MS4wMGNwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuYjBiNmQwYTU0MDU4MjgwMDA4ZTgwNDg4ZjhhYjFiYjdwLTEsCisgICAgMHgxLjAxYzAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmIwYjZkMGE1NDA1ODI4MDAwOGU4MDQ4OGY4YWIxYmI3cC0xLAorICAgIC0weDEuMDFjMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS5mZWYwMDkyNjI3MDEyODBiOTJhYWY5MjVkZGE2M2JiYXAtMywKKyAgICAweDEuMDIzMjJlNDZkYTkxOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZmVmMDA5MjYyNzAxMjgwYjkyYWFmOTI1ZGRhNjNiYmFwLTMsCisgICAgLTB4MS4wMjMyMmU0NmRhOTE5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmZmYzkwMDU5ODA0YTA4MmQ5YjNmNDZiNzdlZTgxOTMycC0zLAorICAgIDB4MS4wMmEyMzY0NzhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmZmYzkwMDU5ODA0YTA4MmQ5YjNmNDZiNzdlZTgxOTMycC0zLAorICAgIC0weDEuMDJhMjM2NDc4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmZmZDEwYTZiNTQyOWU4MjhiZWY0ZDk0MTNlYjlmNmMwcC0zLAorICAgIDB4MS4wMmE2NWQwOGNhNWU1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5mZmQxMGE2YjU0MjllODI4YmVmNGQ5NDEzZWI5ZjZjMHAtMywKKyAgICAtMHgxLjAyYTY1ZDA4Y2E1ZTVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZmZkMTBhYjMwMmEzZjdlMGEwNDhkYjU4NjFlN2IyMGJwLTMsCisgICAgMHgxLjAyYTY1ZDJkY2U0OWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLmZmZDEwYWIzMDJhM2Y3ZTBhMDQ4ZGI1ODYxZTdiMjBicC0zLAorICAgIC0weDEuMDJhNjVkMmRjZTQ5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS5mZmUwYjE3NjRjYTRjN2QyMzI5NDMzODI4Y2RjOTAxY3AtMywKKyAgICAweDEuMDJhZTcyMzhhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5mZmUwYjE3NjRjYTRjN2QyMzI5NDMzODI4Y2RjOTAxY3AtMywKKyAgICAtMHgxLjAyYWU3MjM4YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuZjY4ZjBlMjZjMGY2YWQ0NGY3MTg0ZDU2YmU5NWUxYWVwLTMsCisgICAgMHgxLjA1MDFkMjIyMjFkYWNwNjIxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLmY2OGYwZTI2YzBmNmFkNDRmNzE4NGQ1NmJlOTVlMWFlcC0zLAorICAgIC0weDEuMDUwMWQyMjIyMWRhY3A2MjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuYjYzYzQxZjA5ZWI3NDdmMzBjMWFmNWYyNTQzNDBhNGNwLTEsCisgICAgMHgxLjA2ZmZmZmZmZmZmZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuYjYzYzQxZjA5ZWI3NDdmMzBjMWFmNWYyNTQzNDBhNGNwLTEsCisgICAgLTB4MS4wNmZmZmZmZmZmZmY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAtMHgxLmZmZGMxNzNhZGFiYjFhZmQ1OGZjYjU2NDNjZDg2NTYycC0xLAorICAgIDB4MS4wNzAyM2QzZDQ0MjE1cDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLmZmZGMxNzNhZGFiYjFhZmQ1OGZjYjU2NDNjZDg2NTYycC0xLAorICAgIC0weDEuMDcwMjNkM2Q0NDIxNXAxMgorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIDB4MS4wODg5ZTExYmVmMTM1N2E4ODc0MmFiM2E3ZjE4MDc4NnAtNSwKKyAgICAweDEuMDg5NWE3YTNlOGFlNnAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuMDg4OWUxMWJlZjEzNTdhODg3NDJhYjNhN2YxODA3ODZwLTUsCisgICAgLTB4MS4wODk1YTdhM2U4YWU2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjA4Y2EwNzdjNzY0NDU3YWE2ZDk2OGFmYzFkMWIxN2IzcC01LAorICAgIDB4MS4wOGQ1ZDY5ODQwNjAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgLTB4MS4wOGNhMDc3Yzc2NDQ1N2FhNmQ5NjhhZmMxZDFiMTdiM3AtNSwKKyAgICAtMHgxLjA4ZDVkNjk4NDA2MDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmZmN2ZiZTUxODAyM2U5MGIzZjI4ZjgxYWI5M2U4NzJmcC0xLAorICAgIDB4MS4wZTBwNgorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5mZjdmYmU1MTgwMjNlOTBiM2YyOGY4MWFiOTNlODcyZnAtMSwKKyAgICAtMHgxLjBlMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5mZDZjNjhiODc3YWZlODAzYWFhYjJiZDMwMTI0ZWNkZnAtMSwKKyAgICAweDEuMTA3YmE0OWMzNDZlNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLmZkNmM2OGI4NzdhZmU4MDNhYWFiMmJkMzAxMjRlY2RmcC0xLAorICAgIC0weDEuMTA3YmE0OWMzNDZlNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5hMmJhNmJjNzBiY2U0ODAxZWE0ZDFjODVmMTE2MTkzZHAtMSwKKyAgICAweDEuMTQ5MTU0NDc3NDQ0MHA3NDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuYTJiYTZiYzcwYmNlNDgwMWVhNGQxYzg1ZjExNjE5M2RwLTEsCisgICAgLTB4MS4xNDkxNTQ0Nzc0NDQwcDc0NQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS4xNjU2MDk3OTBmMjM0ODRhNDcwMWI0NDM5ZDRmZTUxZnAtNSwKKyAgICAweDEuMTY2M2MwZTUxODE4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuMTY1NjA5NzkwZjIzNDg0YTQ3MDFiNDQzOWQ0ZmU1MWZwLTUsCisgICAgLTB4MS4xNjYzYzBlNTE4MTgwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5mYzA1MjNmZjk0ZTQ0YzAxNzMxZTQ1OTYzMDM0Y2JhOHAtMSwKKyAgICAweDEuMTc0NWQxNzQ1ZDE3NnAyMzgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEuZmMwNTIzZmY5NGU0NGMwMTczMWU0NTk2MzAzNGNiYThwLTEsCisgICAgLTB4MS4xNzQ1ZDE3NDVkMTc2cDIzOAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS5mMzRhNzI5YzU4NGJjYzk2NjY0MDJjZmRiNDg4MzlmZnAtMSwKKyAgICAweDEuMTc0NzJhNDA4YTNlMHA5NworICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuZjM0YTcyOWM1ODRiY2M5NjY2NDAyY2ZkYjQ4ODM5ZmZwLTEsCisgICAgLTB4MS4xNzQ3MmE0MDhhM2UwcDk3CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjE3N2ZhZTE2OWZkZjA4NThiMWQ0ZTdiYWQ2OTk4MWRjcC01LAorICAgIDB4MS4xNzhkOTFiNmI5OTJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS4xNzdmYWUxNjlmZGYwODU4YjFkNGU3YmFkNjk5ODFkY3AtNSwKKyAgICAtMHgxLjE3OGQ5MWI2Yjk5MmRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuMTc3ZmFlMTZhMTIwZTg1ODQzZDFkZmVmMzY3MjZjZWNwLTUsCisgICAgMHgxLjE3OGQ5MWI2YmFkNGVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjE3N2ZhZTE2YTEyMGU4NTg0M2QxZGZlZjM2NzI2Y2VjcC01LAorICAgIC0weDEuMTc4ZDkxYjZiYWQ0ZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS4xNzdmYWUxNmExZjc4ODU2NjM3Y2M5ZGE4YWFmNjQzOXAtNSwKKyAgICAweDEuMTc4ZDkxYjZiYmFiYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuMTc3ZmFlMTZhMWY3ODg1NjYzN2NjOWRhOGFhZjY0MzlwLTUsCisgICAgLTB4MS4xNzhkOTFiNmJiYWJhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLjE3N2ZhZTE2YTQwZmU4NThkYTFkZGNiNTgzYmI5ZjNicC01LAorICAgIDB4MS4xNzhkOTFiNmJkYzQ1cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS4xNzdmYWUxNmE0MGZlODU4ZGExZGRjYjU4M2JiOWYzYnAtNSwKKyAgICAtMHgxLjE3OGQ5MWI2YmRjNDVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMjk3Yzc2OGYyNDEzMDgwMDAyZWRjYjlhOTA1OTQ2YWZwLTEsCisgICAgMHgxLjE5NzUyZGJlZTVmNmFwOTMzCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS4yOTdjNzY4ZjI0MTMwODAwMDJlZGNiOWE5MDU5NDZhZnAtMSwKKyAgICAtMHgxLjE5NzUyZGJlZTVmNmFwOTMzCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmI4MjZkZjVjYWZhZmE4MjQ3NzliYjgwOGQ2NGRlNmZicC0yLAorICAgIDB4MS4xYjMwMDljZmU0ZGJjcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLmI4MjZkZjVjYWZhZmE4MjQ3NzliYjgwOGQ2NGRlNmZicC0yLAorICAgIC0weDEuMWIzMDA5Y2ZlNGRiY3A4CisgIH0sCisgIHsgLy8gRW50cnkgMTgyCisgICAgMHgxLmI3YTU5NTYyNTBiNmE4Mzg4MjEzM2JiZTE0Yzg0N2NjcC0yLAorICAgIDB4MS4xZjY0NzVkOTViZjE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLmI3YTU5NTYyNTBiNmE4Mzg4MjEzM2JiZTE0Yzg0N2NjcC0yLAorICAgIC0weDEuMWY2NDc1ZDk1YmYxOHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjRkYjY1NjZiNjQ1NDc3ZmZlYTlmYWFmOGJmNDYzYTFlcC0xLAorICAgIDB4MS4yMjkxNDhhNDUyMjkxcDExOAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuNGRiNjU2NmI2NDU0NzdmZmVhOWZhYWY4YmY0NjNhMWVwLTEsCisgICAgLTB4MS4yMjkxNDhhNDUyMjkxcDExOAorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS4xNjg2ZmVlMmM0OWE3ZmZmYjY4ZGY2ODFiMmRhN2U0OXAtMSwKKyAgICAweDEuMjY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS4xNjg2ZmVlMmM0OWE3ZmZmYjY4ZGY2ODFiMmRhN2U0OXAtMSwKKyAgICAtMHgxLjI2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS4yMmViMjFhNDRkNjI3ODAwMDAwMzFhZTQzYzQ0ODUxMXAtMiwKKyAgICAweDEuMjZmYjM4NDRkZDE5MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuMjJlYjIxYTQ0ZDYyNzgwMDAwMDMxYWU0M2M0NDg1MTFwLTIsCisgICAgLTB4MS4yNmZiMzg0NGRkMTkwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmQ0YTIxNmQ4OWIyYjM3ZjQwZmYwODc1M2VkNjAwZTc0cC0xLAorICAgIDB4MS4yN2ZmZmZmZmZlNmIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmQ0YTIxNmQ4OWIyYjM3ZjQwZmYwODc1M2VkNjAwZTc0cC0xLAorICAgIC0weDEuMjdmZmZmZmZmZTZiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgLTB4MS43NmM5YjBmM2EyMmY3M2NmZDQ0NTNmY2Y3YjIxZTM1OHAtMSwKKyAgICAweDEuMjg0Yjg0MDQ4ZDQ4MXAyMDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAweDEuNzZjOWIwZjNhMjJmNzNjZmQ0NDUzZmNmN2IyMWUzNThwLTEsCisgICAgLTB4MS4yODRiODQwNDhkNDgxcDIwNAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuZmYwMTIyNmY5N2QzMmQ2YjVjMGQ1ZTRhM2EyZjUzYzNwLTEsCisgICAgMHgxLjI5OTllMzEwOWNhZDRwMgorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIDB4MS5mZjAxMjI2Zjk3ZDMyZDZiNWMwZDVlNGEzYTJmNTNjM3AtMSwKKyAgICAtMHgxLjI5OTllMzEwOWNhZDRwMgorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS4yYThmMTFlN2FlODJjMGEzNzQ4NTViNTNiMzYwNWQzYnAtNSwKKyAgICAweDEuMmFhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4yYThmMTFlN2FlODJjMGEzNzQ4NTViNTNiMzYwNWQzYnAtNSwKKyAgICAtMHgxLjJhYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS4yYjAzZDFiZjc3M2RmN2I2OTdkOGE5N2VjY2VmZWM1MHAtNSwKKyAgICAweDEuMmIxNGQzYmUwYzIzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuMmIwM2QxYmY3NzNkZjdiNjk3ZDhhOTdlY2NlZmVjNTBwLTUsCisgICAgLTB4MS4yYjE0ZDNiZTBjMjMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS5mZmI5MGVlNjQxNzkxZTY5OWFhN2ZjNzEzOWJmNThiNHAtMSwKKyAgICAweDEuMmI3Y2I0NDg0OTk4MXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgMHgxLmZmYjkwZWU2NDE3OTFlNjk5YWE3ZmM3MTM5YmY1OGI0cC0xLAorICAgIC0weDEuMmI3Y2I0NDg0OTk4MXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS5mZmZmZmY3OWU3MWEzZGIyMjEwOWM2YmI4N2Y5YzIzN3AtMSwKKyAgICAweDEuMmJlY2M4Njg1MjU4MHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuZmZmZmZmNzllNzFhM2RiMjIxMDljNmJiODdmOWMyMzdwLTEsCisgICAgLTB4MS4yYmVjYzg2ODUyNTgwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuZmZmOWVkYWY4NWI3NmY2Y2JiMmY1YjdlMzg0Y2JiYzlwLTEsCisgICAgMHgxLjJjZmExNGNlMjdjZDVwMgorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS5mZmY5ZWRhZjg1Yjc2ZjZjYmIyZjViN2UzODRjYmJjOXAtMSwKKyAgICAtMHgxLjJjZmExNGNlMjdjZDVwMgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS4yY2JhYWE0Y2ViYjUxN2ZlN2JkMTRmMDYyYWZlYzM5MHAtNCwKKyAgICAweDEuMmQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS4yY2JhYWE0Y2ViYjUxN2ZlN2JkMTRmMDYyYWZlYzM5MHAtNCwKKyAgICAtMHgxLjJkMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuZmZmZmJjMTc3ZTAwZmY4OWNiYjRmNDlhMDY0M2RhNzhwLTEsCisgICAgMHgxLjJkNzZkMTg3MjFiZThwMgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS5mZmZmYmMxNzdlMDBmZjg5Y2JiNGY0OWEwNjQzZGE3OHAtMSwKKyAgICAtMHgxLjJkNzZkMTg3MjFiZThwMgorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS43NDU4NDNkZmFmZWZkMWJmOTY1Njg5NmE4ZmI1YjBlM3AtMTgsCisgICAgMHgxLjMwMmE0OTRlMDkwOTBwOTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLjc0NTg0M2RmYWZlZmQxYmY5NjU2ODk2YThmYjViMGUzcC0xOCwKKyAgICAtMHgxLjMwMmE0OTRlMDkwOTBwOTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuZmZjYzU2OGQ0MjM3NjZjOTJlOWMxNzVmOTIxMGYxZjRwLTEsCisgICAgMHgxLjMxY2M3MzFjYzczMWNwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuZmZjYzU2OGQ0MjM3NjZjOTJlOWMxNzVmOTIxMGYxZjRwLTEsCisgICAgLTB4MS4zMWNjNzMxY2M3MzFjcDEwMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuYjY3NjA3N2Q0ZmFmNzkyN2RhMWY4NTg1MzlmYWQxZmZwLTEsCisgICAgMHgxLjMyODQ2M2Q0ZjhjYTZwNDQxCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5iNjc2MDc3ZDRmYWY3OTI3ZGExZjg1ODUzOWZhZDFmZnAtMSwKKyAgICAtMHgxLjMyODQ2M2Q0ZjhjYTZwNDQxCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZjM0NzFkOGRjMDcwZDVlNnAtMSwKKyAgICAweDEuMzJjZTkwYjMyMTcxZXAxOAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZjM0NzFkOGRjMDcwZDVlNnAtMSwKKyAgICAtMHgxLjMyY2U5MGIzMjE3MWVwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuMzVjYmQzMjQwZDE0ODg0NWQzOWViZDU0YjE1NTY3NzlwLTUsCisgICAgMHgxLjM1ZGViZDdmMDIwZWNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjM1Y2JkMzI0MGQxNDg4NDVkMzllYmQ1NGIxNTU2Nzc5cC01LAorICAgIC0weDEuMzVkZWJkN2YwMjBlY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS4zYmIyMDg2NTU5ZmE5ODJlNWM2ZGExMGQ4ZDlhYzkzMXAtNywKKyAgICAweDEuM2JiMzQ4Nzg5MzQwNXAtNworICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuM2JiMjA4NjU1OWZhOTgyZTVjNmRhMTBkOGQ5YWM5MzFwLTcsCisgICAgLTB4MS4zYmIzNDg3ODkzNDA1cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLjNiYjIwODY1NTlmYWI4MmRmYjE5MjVlYWMyYWI4YmMxcC03LAorICAgIDB4MS4zYmIzNDg3ODkzNDA3cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS4zYmIyMDg2NTU5ZmFiODJkZmIxOTI1ZWFjMmFiOGJjMXAtNywKKyAgICAtMHgxLjNiYjM0ODc4OTM0MDdwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuZGZmMTk3ZWRjNTFkMjM1ZTRhNGNjNmUzNGJkMWZkMTBwLTE2LAorICAgIDB4MS4zYmI2ODFkNjVhYTYwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNQorICAgIC0weDEuZGZmMTk3ZWRjNTFkMjM1ZTRhNGNjNmUzNGJkMWZkMTBwLTE2LAorICAgIC0weDEuM2JiNjgxZDY1YWE2MHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjVkMDhkM2RiYjQxYWY4MDAwMDA1M2JhMzBlOTVlNzA5cC0zLAorICAgIDB4MS4zZjlhYTg2MjYwNDJmcDgzCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjVkMDhkM2RiYjQxYWY4MDAwMDA1M2JhMzBlOTVlNzA5cC0zLAorICAgIC0weDEuM2Y5YWE4NjI2MDQyZnA4MworICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mYjUwMzk4M2Y5NGJiNzQ5ZmNlOWNjY2E1NmEzNWVjNnAtMywKKyAgICAweDEuM2ZlcDE5CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS5mYjUwMzk4M2Y5NGJiNzQ5ZmNlOWNjY2E1NmEzNWVjNnAtMywKKyAgICAtMHgxLjNmZXAxOQorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIC0weDEuZDM4NzZlYWNjOWVlNmVjNWE5M2VhMTRlMDMyZjliMDJwLTEsCisgICAgMHgxLjQyODU0NzhmMWUzYzhwNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuZDM4NzZlYWNjOWVlNmVjNWE5M2VhMTRlMDMyZjliMDJwLTEsCisgICAgLTB4MS40Mjg1NDc4ZjFlM2M4cDU4CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjQyYjY2ZDU0ZjY5YzBmYWJlMzcxZDcwM2ExZDdkN2M5cC01LAorICAgIDB4MS40MmNiY2Y0NWExNjllcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS40MmI2NmQ1NGY2OWMwZmFiZTM3MWQ3MDNhMWQ3ZDdjOXAtNSwKKyAgICAtMHgxLjQyY2JjZjQ1YTE2OWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEuYjQ1ZTllOTQyNzU1MzgwMDAwMDE1ZTFkYjBjZTE4OGRwLTEsCisgICAgMHgxLjQzZmZmZmZmZmZmNmFwNTU3CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS5iNDVlOWU5NDI3NTUzODAwMDAwMTVlMWRiMGNlMTg4ZHAtMSwKKyAgICAtMHgxLjQzZmZmZmZmZmZmNmFwNTU3CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLjQzZmZmZmZmZWE2MDI4MDAwMDZlZDc4NjJiMzIyNGE2cC0xNywKKyAgICAweDEuNDQwcC0xNworICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuNDNmZmZmZmZlYTYwMjgwMDAwNmVkNzg2MmIzMjI0YTZwLTE3LAorICAgIC0weDEuNDQwcC0xNworICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuNmE0ZTk4ZDJkOGIxYjdmYjQzZmVmMWJjNGUzMjQ1YmJwLTEsCisgICAgMHgxLjQ3NDhjMDhkYzA5NzZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLjZhNGU5OGQyZDhiMWI3ZmI0M2ZlZjFiYzRlMzI0NWJicC0xLAorICAgIC0weDEuNDc0OGMwOGRjMDk3NnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLmI1N2NhOGFhY2YyYTkzN2EyNjljY2RmYThiMzhjOGMxcC0xLAorICAgIDB4MS40NzhmYzA4cDQzCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLmI1N2NhOGFhY2YyYTkzN2EyNjljY2RmYThiMzhjOGMxcC0xLAorICAgIC0weDEuNDc4ZmMwOHA0MworICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5mZmUzODAwOGVmNmI0OTU2YjI5MDIwMmQ0MTRkNTljM3AtMSwKKyAgICAweDEuNGNmMzZkMTdjNTk2ZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLmZmZTM4MDA4ZWY2YjQ5NTZiMjkwMjAyZDQxNGQ1OWMzcC0xLAorICAgIC0weDEuNGNmMzZkMTdjNTk2ZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuZDY0NTdhM2YxMmU2YzUyN2E4NTM0NzA0MDFkMzVkMmRwLTEsCisgICAgMHgxLjRmMGYzMDhwNDg4CisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgLTB4MS5kNjQ1N2EzZjEyZTZjNTI3YTg1MzQ3MDQwMWQzNWQyZHAtMSwKKyAgICAtMHgxLjRmMGYzMDhwNDg4CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLjRmZmZmZmZmZmY5Zjg4MDAwMDAwMDg0ZjIyY2NjY2NjcC0yMCwKKyAgICAweDEuNXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLjRmZmZmZmZmZmY5Zjg4MDAwMDAwMDg0ZjIyY2NjY2NjcC0yMCwKKyAgICAtMHgxLjVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS5jYmFkMDk1ZjUwM2ExODAxOWE3YjI3MTcwZjZhNGFjZnAtMSwKKyAgICAweDEuNTE0M2UyNWE0ODhmMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLmNiYWQwOTVmNTAzYTE4MDE5YTdiMjcxNzBmNmE0YWNmcC0xLAorICAgIC0weDEuNTE0M2UyNWE0ODhmMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTB4MS5mOTQyZDYyNjJlODJkZDY4MzRkZWQ4YzkwZDBmODIxMnAtNSwKKyAgICAweDEuNTFmMGY0NGRhNGRmNHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuZjk0MmQ2MjYyZTgyZGQ2ODM0ZGVkOGM5MGQwZjgyMTJwLTUsCisgICAgLTB4MS41MWYwZjQ0ZGE0ZGY0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEuZmM0NjZjY2FlY2U4MDRhYWMxNGU3OWFhYmE0YjVjMWVwLTMsCisgICAgMHgxLjUyYWQ2YzVhMzYwMmZwMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuZmM0NjZjY2FlY2U4MDRhYWMxNGU3OWFhYmE0YjVjMWVwLTMsCisgICAgLTB4MS41MmFkNmM1YTM2MDJmcDE2CisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLmQ2OWMzY2Y0ZWVjZGQ5YjQzNzI2YTJhN2ZhNDA1YzMxcC0xLAorICAgIDB4MS41MmYwMGUwcDc5MworICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuZDY5YzNjZjRlZWNkZDliNDM3MjZhMmE3ZmE0MDVjMzFwLTEsCisgICAgLTB4MS41MmYwMGUwcDc5MworICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5lMTIwMjkyZjNkNDk1NjU3OWY5YzMxNjRjZDk0YmFkNnAtMSwKKyAgICAweDEuNTU1NTU1NTU1NTU1NnAyMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLmUxMjAyOTJmM2Q0OTU2NTc5ZjljMzE2NGNkOTRiYWQ2cC0xLAorICAgIC0weDEuNTU1NTU1NTU1NTU1NnAyMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLmZkMWQ4NWI3ZWYwMDM3ZmM0YjFkMTc2Mzg4MjA4NWYxcC0xLAorICAgIDB4MS41YTAwMDAwMDhwNgorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5mZDFkODViN2VmMDAzN2ZjNGIxZDE3NjM4ODIwODVmMXAtMSwKKyAgICAtMHgxLjVhMDAwMDAwOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjVhZmY5NjY0YjA3ZTFhMmUwZjI0YjI1NzJkZGJmZjY0cC02LAorICAgIDB4MS41YjA2M2FkMmRkMDhmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS41YWZmOTY2NGIwN2UxYTJlMGYyNGIyNTcyZGRiZmY2NHAtNiwKKyAgICAtMHgxLjViMDYzYWQyZGQwOGZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLjgzZjhiYmI1OWYyZjhjZDhlYmJkNDRjNDU5ZTRjNDkzcC0xLAorICAgIDB4MS41YjE3OWQ3NWZhMjg1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuODNmOGJiYjU5ZjJmOGNkOGViYmQ0NGM0NTllNGM0OTNwLTEsCisgICAgLTB4MS41YjE3OWQ3NWZhMjg1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuZmE4NjViMGQ5OTQ5NjgzOTBmOTQ4MGM5Y2FmNDljYjFwLTEsCisgICAgMHgxLjViYjU5Njc0MDJmOWNwNzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMHgxLmZhODY1YjBkOTk0OTY4MzkwZjk0ODBjOWNhZjQ5Y2IxcC0xLAorICAgIC0weDEuNWJiNTk2NzQwMmY5Y3A3OQorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5lOGE1MjNmY2U4ODRkMTg5YmRiODdjMjBlZDYxNTk0NHAtMiwKKyAgICAweDEuNWJlYTAxMHA0NjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLmU4YTUyM2ZjZTg4NGQxODliZGI4N2MyMGVkNjE1OTQ0cC0yLAorICAgIC0weDEuNWJlYTAxMHA0NjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAtMHgxLmZmMmFkOTQxZjBhNDBlYTNiYzI5ZTZkZDljMzM5YjYzcC0xLAorICAgIDB4MS41ZjE5ZmJjNTA3YWY2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuZmYyYWQ5NDFmMGE0MGVhM2JjMjllNmRkOWMzMzliNjNwLTEsCisgICAgLTB4MS41ZjE5ZmJjNTA3YWY2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLjc1Y2U0YTBkMGJkMDM3ZmQ1MzA0MmNhYjgyNDA0OTUzcC0xLAorICAgIDB4MS42MGE2MTBhNjU4ZGE5cDg4OQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS43NWNlNGEwZDBiZDAzN2ZkNTMwNDJjYWI4MjQwNDk1M3AtMSwKKyAgICAtMHgxLjYwYTYxMGE2NThkYTlwODg5CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgLTB4MS43MjE1ODY1OTRhYjQ4MThhY2Q0Y2I0MWZhZmM5OTQ4NHAtMSwKKyAgICAweDEuNjJhZDdjZTE3MTQzZHA2MgorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS43MjE1ODY1OTRhYjQ4MThhY2Q0Y2I0MWZhZmM5OTQ4NHAtMSwKKyAgICAtMHgxLjYyYWQ3Y2UxNzE0M2RwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuYjhkMjcwMTlkMWI5ZTgzNmI5NTM2MTNjODdhY2YzYTlwLTIsCisgICAgMHgxLjY0NTkyNmNjMTEzMmNwOQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuYjhkMjcwMTlkMWI5ZTgzNmI5NTM2MTNjODdhY2YzYTlwLTIsCisgICAgLTB4MS42NDU5MjZjYzExMzJjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNjQ3ZTA5MDU5YzFlOTgwMDAwMTM3MTRjZDBjNmE0M2RwLTksCisgICAgMHgxLjY0N2UyNWQzOTFmMTdwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAtMHgxLjY0N2UwOTA1OWMxZTk4MDAwMDEzNzE0Y2QwYzZhNDNkcC05LAorICAgIC0weDEuNjQ3ZTI1ZDM5MWYxN3AtOQorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuOGQzYjUzZmY4NWE4MjNkMDY1Mzc0MTM5MDEyMjllNDVwLTEsCisgICAgMHgxLjY0ZWY0MzhwMTQyCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjhkM2I1M2ZmODVhODIzZDA2NTM3NDEzOTAxMjI5ZTQ1cC0xLAorICAgIC0weDEuNjRlZjQzOHAxNDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAtMHgxLmY3Yzg2MzBlNjJhMDFmZmQ0ZTAyNTc3OTU2ZTU1MjNlcC0xLAorICAgIDB4MS42NTk5NjY1OTk2NjU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuZjdjODYzMGU2MmEwMWZmZDRlMDI1Nzc5NTZlNTUyM2VwLTEsCisgICAgLTB4MS42NTk5NjY1OTk2NjU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuNjcwMjhlMzYwMjAzNDgwMGY0NWE5MTU4ZDIwYTM0MGNwLTUsCisgICAgMHgxLjY3MnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIC0weDEuNjcwMjhlMzYwMjAzNDgwMGY0NWE5MTU4ZDIwYTM0MGNwLTUsCisgICAgLTB4MS42NzJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuYmM2MGM4YzMzY2I1ZWJmNjkzZDcxNjUwY2JmMTY2ZjlwLTIsCisgICAgMHgxLjY4OGFlNmMxMzhlYThwMjk5CisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLTB4MS5iYzYwYzhjMzNjYjVlYmY2OTNkNzE2NTBjYmYxNjZmOXAtMiwKKyAgICAtMHgxLjY4OGFlNmMxMzhlYThwMjk5CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5mYzNiNGJiOGIwMTJlODA0MmQzZWJjZWQxMmRlZjBjOXAtMSwKKyAgICAweDEuNmFhNzhwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuZmMzYjRiYjhiMDEyZTgwNDJkM2ViY2VkMTJkZWYwYzlwLTEsCisgICAgLTB4MS42YWE3OHAxNworICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiNXAtMSwKKyAgICAweDEuNmFjNWIyNjJjYTFmZnA4NDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmI1cC0xLAorICAgIC0weDEuNmFjNWIyNjJjYTFmZnA4NDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLjgyMzE3ODM2YTk3YzhjZWExY2QyZTNhNGQwZDQ4ZjI5cC0xLAorICAgIDB4MS42ZDg4MDgzNzQ5NDEycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuODIzMTc4MzZhOTdjOGNlYTFjZDJlM2E0ZDBkNDhmMjlwLTEsCisgICAgLTB4MS42ZDg4MDgzNzQ5NDEycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuNmY3ODFjNzhjYzgyYTdmZmNkMjBiYTgwMWU2NjkxYjFwLTYsCisgICAgMHgxLjZmOHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuNmY3ODFjNzhjYzgyYTdmZmNkMjBiYTgwMWU2NjkxYjFwLTYsCisgICAgLTB4MS42ZjhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAtMHgxLmZkYmU1MDg1NDk0YWU3ZmU0N2ZhMDY3YWFlYTdmZGY5cC0xLAorICAgIDB4MS43MjlhYTY4NTlkMWY0cDM5NgorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5mZGJlNTA4NTQ5NGFlN2ZlNDdmYTA2N2FhZWE3ZmRmOXAtMSwKKyAgICAtMHgxLjcyOWFhNjg1OWQxZjRwMzk2CisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS5mZmZmZmFlODYyYjRmZWMxYzJmMTcxMmFhMTY1ODA3Y3AtMSwKKyAgICAweDEuNzNlMmRiZTlhMmY4MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS5mZmZmZmFlODYyYjRmZWMxYzJmMTcxMmFhMTY1ODA3Y3AtMSwKKyAgICAtMHgxLjczZTJkYmU5YTJmODBwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuNzY5YWM3NDQ1OWIwNTg0NTZiMzMzMjM4ODMzZjFkMWFwLTcsCisgICAgMHgxLjc2OWNkZTBiOTBiODBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAtMHgxLjc2OWFjNzQ0NTliMDU4NDU2YjMzMzIzODgzM2YxZDFhcC03LAorICAgIC0weDEuNzY5Y2RlMGI5MGI4MHAtNworICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDB4MS43NjllOGFmYjZhNGViZjk5YWRlNDY1ZDE5YmU4NmFjMHAtNSwKKyAgICAweDEuNzZjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTB4MS43NjllOGFmYjZhNGViZjk5YWRlNDY1ZDE5YmU4NmFjMHAtNSwKKyAgICAtMHgxLjc2Y3AtNQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS5mZDU2MjYxMWY1YmQ0ODAwZGU1MDNlNDIxMGNjN2RmNHAtMSwKKyAgICAweDEuNzgwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0weDEuZmQ1NjI2MTFmNWJkNDgwMGRlNTAzZTQyMTBjYzdkZjRwLTEsCisgICAgLTB4MS43ODAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgMHgxLmZkYmE3ODRjYTAwZjE3ZWJjYzJiNWIxMDk4ZTgzYmZmcC0xLAorICAgIDB4MS43YTBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEuZmRiYTc4NGNhMDBmMTdlYmNjMmI1YjEwOThlODNiZmZwLTEsCisgICAgLTB4MS43YTBwMAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5mOTMwYzIyMmE4NjgyZDdkMTkyMGExMmI2ODg3MGMzNnAtNSwKKyAgICAweDEuN2FiZDg3MDM4MWMyZHAzOAorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuZjkzMGMyMjJhODY4MmQ3ZDE5MjBhMTJiNjg4NzBjMzZwLTUsCisgICAgLTB4MS43YWJkODcwMzgxYzJkcDM4CisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLmZmZWIyZmYyYjY5MjM2N2JjNTY2MGRhYjY5NjBiNTdkcC0xLAorICAgIDB4MS43ZGM5NDVjMjEyNDgwcDk1CisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS5mZmViMmZmMmI2OTIzNjdiYzU2NjBkYWI2OTYwYjU3ZHAtMSwKKyAgICAtMHgxLjdkYzk0NWMyMTI0ODBwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuYjI3OTE1M2MyM2ZiMTgwMDAwY2UzYTBkNDdkOGM0NzZwLTIsCisgICAgMHgxLjdmNzNlMTU5NGI3MGNwOTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLmIyNzkxNTNjMjNmYjE4MDAwMGNlM2EwZDQ3ZDhjNDc2cC0yLAorICAgIC0weDEuN2Y3M2UxNTk0YjcwY3A5OAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuNTk5ZmFkMzVjZjYwYWQ0Mzc2MGNmM2E5ZGEzZDljMzBwLTQxLAorICAgIDB4MS43ZjdlZjc3ZTgzZjFhcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgMHgxLjU5OWZhZDM1Y2Y2MGFkNDM3NjBjZjNhOWRhM2Q5YzMwcC00MSwKKyAgICAtMHgxLjdmN2VmNzdlODNmMWFwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuZmViN2E5YjJjNmQ4YWRlNmUxN2ZkYWNhZWY0ZmQ5NmNwLTEsCisgICAgMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuZmViN2E5YjJjNmQ4YWRlNmUxN2ZkYWNhZWY0ZmQ5NmNwLTEsCisgICAgLTB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuZjc5OGQwMWVjNjE1YjhlZGVkYTQ3NGUzYzZjZDBjOTJwLTEsCisgICAgMHgxLjhwNgorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuZjc5OGQwMWVjNjE1YjhlZGVkYTQ3NGUzYzZjZDBjOTJwLTEsCisgICAgLTB4MS44cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuZmVlMWEyYTk3N2JjZWQxNzlmOGFiODQ1NWFkYTUyNWZwLTEsCisgICAgMHgxLjgxMzJjZWIxYzRmMzlwMAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0weDEuZmVlMWEyYTk3N2JjZWQxNzlmOGFiODQ1NWFkYTUyNWZwLTEsCisgICAgLTB4MS44MTMyY2ViMWM0ZjM5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAtMHgxLjI0MjQ1YWY0Y2Q5OTRlOWIzYmJhOTkyZDBmNTdmYzNmcC01MiwKKyAgICAweDEuODFhZTBkZmZhM2IzM3A5NTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAweDEuMjQyNDVhZjRjZDk5NGU5YjNiYmE5OTJkMGY1N2ZjM2ZwLTUyLAorICAgIC0weDEuODFhZTBkZmZhM2IzM3A5NTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuODVkNDFiMGJmMzA5MDdmZmZmZjE5MTNhNWNlZDc2NDVwLTQsCisgICAgMHgxLjg1ZWM1YTM5OWEyZTZwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuODVkNDFiMGJmMzA5MDdmZmZmZjE5MTNhNWNlZDc2NDVwLTQsCisgICAgLTB4MS44NWVjNWEzOTlhMmU2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAweDEuMWU0MmFlM2NmYmRjNjA5NzY4ODQwODdmOTdhMGZkYTlwLTI0LAorICAgIDB4MS44NmEwMDkyNzU0MDIycDE2CisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS4xZTQyYWUzY2ZiZGM2MDk3Njg4NDA4N2Y5N2EwZmRhOXAtMjQsCisgICAgLTB4MS44NmEwMDkyNzU0MDIycDE2CisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS5kYmY0ZTU5NGNlZmUxNTQ4ZWZjMjQwOThkNjMxZTk1MHAtMSwKKyAgICAweDEuODcyMDU4OHAzOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuZGJmNGU1OTRjZWZlMTU0OGVmYzI0MDk4ZDYzMWU5NTBwLTEsCisgICAgLTB4MS44NzIwNTg4cDM5MgorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS40NDMwMmQ2YTgyZDQwM2JhZGYxZjliNzE0MjBjY2RjYXAtOSwKKyAgICAweDEuODkyOTM1NGViYzZhYXA0MworICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIC0weDEuNDQzMDJkNmE4MmQ0MDNiYWRmMWY5YjcxNDIwY2NkY2FwLTksCisgICAgLTB4MS44OTI5MzU0ZWJjNmFhcDQzCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjhhNTIxODllYzM0ODc3YmI1OTQ0NDEzZTAwYWQ1MmVkcC01LAorICAgIDB4MS44YTc5MWU0NzkxZTc1cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzMxCisgICAgLTB4MS44YTUyMTg5ZWMzNDg3N2JiNTk0NDQxM2UwMGFkNTJlZHAtNSwKKyAgICAtMHgxLjhhNzkxZTQ3OTFlNzVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAtMHgxLmZlODU2NmU1MzgxMjJkYjMzYzE3ZjEzYjgzNDc0YTA0cC0xLAorICAgIDB4MS44YmE3NjE0MzhmNWVkcDExCisgIH0sCisgIHsgLy8gRW50cnkgMzMzCisgICAgMHgxLmZlODU2NmU1MzgxMjJkYjMzYzE3ZjEzYjgzNDc0YTA0cC0xLAorICAgIC0weDEuOGJhNzYxNDM4ZjVlZHAxMQorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIDB4MS5mZmY0MmFjYTRjYjVhODAwMDAwNTdmMWE0OGFmNjVkZXAtMSwKKyAgICAweDEuOGVhZjE2ZGU2MzkyMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS5mZmY0MmFjYTRjYjVhODAwMDAwNTdmMWE0OGFmNjVkZXAtMSwKKyAgICAtMHgxLjhlYWYxNmRlNjM5MjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIDB4MS5mZmZiN2QzZjNhMjUyZGE1NmQ5NjMyN2MxODYyN2Y1N3AtMSwKKyAgICAweDEuOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM3CisgICAgLTB4MS5mZmZiN2QzZjNhMjUyZGE1NmQ5NjMyN2MxODYyN2Y1N3AtMSwKKyAgICAtMHgxLjlwMAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIC0weDEuZTgxNTc3MDY2N2ZkODdmOTUyNTE1NGVkYzg2NzYwNWZwLTQsCisgICAgMHgxLjkxYTU2NTdmYjZhOWFwNgorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS5lODE1NzcwNjY3ZmQ4N2Y5NTI1MTU0ZWRjODY3NjA1ZnAtNCwKKyAgICAtMHgxLjkxYTU2NTdmYjZhOWFwNgorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIC0weDEuZmZmZmZmZmQzMTFkYzdlYzVkMGFlNTcyOGE3OTYwZmRwLTEsCisgICAgMHgxLjkyMWZiNTQ0Njg4NDdwMzcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAweDEuZmZmZmZmZmQzMTFkYzdlYzVkMGFlNTcyOGE3OTYwZmRwLTEsCisgICAgLTB4MS45MjFmYjU0NDY4ODQ3cDM3CisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLmZmZmZmZmZmODc1ZTVlNDQ5N2RkMDc2MDMzNmU2M2YzcC0xNywKKyAgICAweDEuOTIxZmY1NDQ0MmQxOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS5mZmZmZmZmZjg3NWU1ZTQ0OTdkZDA3NjAzMzZlNjNmM3AtMTcsCisgICAgLTB4MS45MjFmZjU0NDQyZDE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuODEyYTVkYTM3NzdjZDdmNmUxNzI4ODYzOGI0MGFhMDlwLTgsCisgICAgMHgxLjkyOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ1CisgICAgLTB4MS44MTJhNWRhMzc3N2NkN2Y2ZTE3Mjg4NjM4YjQwYWEwOXAtOCwKKyAgICAtMHgxLjkyOHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLmZmZjliZThkODI1NzJjNzQ2Zjk0NDkzNGJiZjFiNjk3cC0xLAorICAgIDB4MS45NGFwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIC0weDEuZmZmOWJlOGQ4MjU3MmM3NDZmOTQ0OTM0YmJmMWI2OTdwLTEsCisgICAgLTB4MS45NGFwMAorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIDB4MS45NDdiMGFjZTIzNWYyODUwYjI3YjE2NGM0OTEwMmE0OXAtNSwKKyAgICAweDEuOTRhNTI5NGE1MWJkZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuOTQ3YjBhY2UyMzVmMjg1MGIyN2IxNjRjNDkxMDJhNDlwLTUsCisgICAgLTB4MS45NGE1Mjk0YTUxYmRlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLmMzNGY3MGU1NWE3MDdiYmQwNTNhNzBlNzQ5MTA1MTc0cC0yLAorICAgIDB4MS45NGE1Mjk0YTUyOTQ4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuYzM0ZjcwZTU1YTcwN2JiZDA1M2E3MGU3NDkxMDUxNzRwLTIsCisgICAgLTB4MS45NGE1Mjk0YTUyOTQ4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS45NTBiY2ZjMGYzZDUwODUwOTQxYTQxZDY2Y2ZhMzcyMXAtNSwKKyAgICAweDEuOTUzNjFiOGY3Njk3ZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuOTUwYmNmYzBmM2Q1MDg1MDk0MWE0MWQ2NmNmYTM3MjFwLTUsCisgICAgLTB4MS45NTM2MWI4Zjc2OTdkcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgMHgxLjZjNTQ4YmZjY2U2OTUzZjE5YThkMmRkNDgwZDkzMjBjcC0xLAorICAgIDB4MS45NTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLjZjNTQ4YmZjY2U2OTUzZjE5YThkMmRkNDgwZDkzMjBjcC0xLAorICAgIC0weDEuOTU2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLmZmZWZmZGJmNjdjYTY3MTFhNTdiN2Q4MjE0MDA5M2M2cC0xLAorICAgIDB4MS45NjJwMAorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuZmZlZmZkYmY2N2NhNjcxMWE1N2I3ZDgyMTQwMDkzYzZwLTEsCisgICAgLTB4MS45NjJwMAorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS45NzA4MjEzYmY2N2Y0ODU3MTM1MDc3ZDUwODI2ZjU4OHAtNSwKKyAgICAweDEuOTczMzBkMmVhMTZkOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuOTcwODIxM2JmNjdmNDg1NzEzNTA3N2Q1MDgyNmY1ODhwLTUsCisgICAgLTB4MS45NzMzMGQyZWExNmQ5cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLjk3MmJmOTI3MTNkNTA4NThlNjRjMWI5YjI2YWVlY2QwcC01LAorICAgIDB4MS45NzU2ZjA3M2I2YjYxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS45NzJiZjkyNzEzZDUwODU4ZTY0YzFiOWIyNmFlZWNkMHAtNSwKKyAgICAtMHgxLjk3NTZmMDczYjZiNjFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuOTc2ODQ1ZWJlNzExODg1ODBlNDY4YmFkMDBjZTIzZWNwLTUsCisgICAgMHgxLjk3OTM1MDU1Y2VjMWJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLjk3Njg0NWViZTcxMTg4NTgwZTQ2OGJhZDAwY2UyM2VjcC01LAorICAgIC0weDEuOTc5MzUwNTVjZWMxYnAtNQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS45NzUzNWNlZTUxYTQyODA2ZTE1ZjZmODc4NTI0ZTViN3AtNCwKKyAgICAweDEuOTgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS45NzUzNWNlZTUxYTQyODA2ZTE1ZjZmODc4NTI0ZTViN3AtNCwKKyAgICAtMHgxLjk4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS42ZjQ5NGMzMzU2MTc3MDAwMDA2NTAyY2RmZjk3NWIwOHAtMSwKKyAgICAweDEuOTk5OTk5YTQyMTYwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIC0weDEuNmY0OTRjMzM1NjE3NzAwMDAwNjUwMmNkZmY5NzViMDhwLTEsCisgICAgLTB4MS45OTk5OTlhNDIxNjBjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjZmNDk0YzM3ZWRkNmQ4MDAwMDZkYzc2YWVlNGNjOGU0cC0xLAorICAgIDB4MS45OTk5OTlhYWI4ZjUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS42ZjQ5NGMzN2VkZDZkODAwMDA2ZGM3NmFlZTRjYzhlNHAtMSwKKyAgICAtMHgxLjk5OTk5OWFhYjhmNTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuNmZhOTEyYmRlYWFiMjgwMDAwMTY0ZjE2ZGQ2NDkzNTZwLTEsCisgICAgMHgxLjlhMjMyNGI5YzYzMjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLjZmYTkxMmJkZWFhYjI4MDAwMDE2NGYxNmRkNjQ5MzU2cC0xLAorICAgIC0weDEuOWEyMzI0YjljNjMyNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS43MGM3ZWY0ZWY5YjM0N2VkMjM0Y2E2MTMxYmUxYjc4NnAtMSwKKyAgICAweDEuOWJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgLTB4MS43MGM3ZWY0ZWY5YjM0N2VkMjM0Y2E2MTMxYmUxYjc4NnAtMSwKKyAgICAtMHgxLjliY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5mZjI4MTc2YWQzMTYzZWExNjhjOTk5MWYxNTVmODc1YnAtMSwKKyAgICAweDEuYTBkMWQ4MTdkNmM0YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5mZjI4MTc2YWQzMTYzZWExNjhjOTk5MWYxNTVmODc1YnAtMSwKKyAgICAtMHgxLmEwZDFkODE3ZDZjNGFwMAorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS43NDk0NjhhNzI0OGRkMjYxNjFlOTNkNzg5MjhjNjZkZXAtMSwKKyAgICAweDEuYTE0MWM5ZGUxMmZkZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIC0weDEuNzQ5NDY4YTcyNDhkZDI2MTYxZTkzZDc4OTI4YzY2ZGVwLTEsCisgICAgLTB4MS5hMTQxYzlkZTEyZmRmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjc1NGViYjdlNzNmNDUyYWI0OWM2MTVmMGU4MzAwZDVjcC0xLAorICAgIDB4MS5hMjUxYmM2NzY2ZjIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgLTB4MS43NTRlYmI3ZTczZjQ1MmFiNDljNjE1ZjBlODMwMGQ1Y3AtMSwKKyAgICAtMHgxLmEyNTFiYzY3NjZmMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLjdjM2JmZWZhNzRiZDA3ZmUyMTMzNmNhYWMzNzJhNzNlcC0xLAorICAgIDB4MS5hMjY4OWFlMWI4NmRkcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgMHgxLjdjM2JmZWZhNzRiZDA3ZmUyMTMzNmNhYWMzNzJhNzNlcC0xLAorICAgIC0weDEuYTI2ODlhZTFiODZkZHA2MgorICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIC0weDEuZmZmZjRmMzY0OGUwMmY5ZjQ5NGY0MmViODIyZjI2MmJwLTEsCisgICAgMHgxLmEzZjY2MTgwYzQ1NTBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLmZmZmY0ZjM2NDhlMDJmOWY0OTRmNDJlYjgyMmYyNjJicC0xLAorICAgIC0weDEuYTNmNjYxODBjNDU1MHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAtMHgxLjFjZjQ2Mzk4M2MwZTI4MDIzMTYxYjdkMGQyOTM4ZTM3cC0zLAorICAgIDB4MS5hM2ZkZDJhNTI4NmMzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAweDEuMWNmNDYzOTgzYzBlMjgwMjMxNjFiN2QwZDI5MzhlMzdwLTMsCisgICAgLTB4MS5hM2ZkZDJhNTI4NmMzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAweDEuZmViNzk0OGQyMjRkN2U3NTlhN2M5ZGQ3NjhkZWQ3MjdwLTEsCisgICAgMHgxLmE0NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgLTB4MS5mZWI3OTQ4ZDIyNGQ3ZTc1OWE3YzlkZDc2OGRlZDcyN3AtMSwKKyAgICAtMHgxLmE0NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLjc4ODAxZTNlMTE2NjQ4MmRjZTYyMDhlOThkM2NjMTQycC0xLAorICAgIDB4MS5hNzAxZWYzYzdkNTRicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgLTB4MS43ODgwMWUzZTExNjY0ODJkY2U2MjA4ZTk4ZDNjYzE0MnAtMSwKKyAgICAtMHgxLmE3MDFlZjNjN2Q1NGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTAKKyAgICAtMHgxLmZmZjExZTg3MWQ1OWMzZTEzMzNkYjU0NzViYjU3ZTI3cC0xLAorICAgIDB4MS5hOGMwMWZkNDNjMHA1MzcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAweDEuZmZmMTFlODcxZDU5YzNlMTMzM2RiNTQ3NWJiNTdlMjdwLTEsCisgICAgLTB4MS5hOGMwMWZkNDNjMHA1MzcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuZmRmYTQzNjZlYjczMzdlNmQ5NzNjNGNiOGYxYTI0NGFwLTEsCisgICAgMHgxLmE4ZTI5Yjc2MDJmM2JwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIC0weDEuZmRmYTQzNjZlYjczMzdlNmQ5NzNjNGNiOGYxYTI0NGFwLTEsCisgICAgLTB4MS5hOGUyOWI3NjAyZjNicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuZmRlOThiOTRlNzk0N2EwNDIyOWQyNmVlYjJiYjQyODBwLTEsCisgICAgMHgxLmE5NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgLTB4MS5mZGU5OGI5NGU3OTQ3YTA0MjI5ZDI2ZWViMmJiNDI4MHAtMSwKKyAgICAtMHgxLmE5NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLjc5MzFjYmExMDAwMDg4MDAwMDA2OGY5NDA5ODAxOGE3cC0yLAorICAgIDB4MS5hYTQ0NWZjZTkzYjgycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAtMHgxLjc5MzFjYmExMDAwMDg4MDAwMDA2OGY5NDA5ODAxOGE3cC0yLAorICAgIC0weDEuYWE0NDVmY2U5M2I4MnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjdhZjNmNzZjN2E3MDg4MzRiNDA3MmY1OWFjNzFhMGJhcC0xLAorICAgIDB4MS5hYWEzZmJjMzU5ZmJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS43YWYzZjc2YzdhNzA4ODM0YjQwNzJmNTlhYzcxYTBiYXAtMSwKKyAgICAtMHgxLmFhYTNmYmMzNTlmYmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuZmQ3NGU1M2FlMzJmY2Q4NDY3YmNmNTBkYTFkMGY1NjNwLTYsCisgICAgMHgxLmFiZGQzZGJkNGQ4NjBwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS5mZDc0ZTUzYWUzMmZjZDg0NjdiY2Y1MGRhMWQwZjU2M3AtNiwKKyAgICAtMHgxLmFiZGQzZGJkNGQ4NjBwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjdkNGE3YmYxODNhMzMyOWVkNDM0YzBjNGRkNzhiMWQ5cC0xLAorICAgIDB4MS5hZTIxNjVhMGM5ZjhlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgLTB4MS43ZDRhN2JmMTgzYTMzMjllZDQzNGMwYzRkZDc4YjFkOXAtMSwKKyAgICAtMHgxLmFlMjE2NWEwYzlmOGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuYjgxNDEwZWRjNzllMDgzNzUwN2EzZWVmOGQ1NTNiZDZwLTIsCisgICAgMHgxLmFlOGRmZWZjZmUxM2JwMgorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIC0weDEuYjgxNDEwZWRjNzllMDgzNzUwN2EzZWVmOGQ1NTNiZDZwLTIsCisgICAgLTB4MS5hZThkZmVmY2ZlMTNicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAtMHgxLmZmNzUxNTYxZGM1MDk3ZmVmZTQ5OTMwMWQwMzRhMGVkcC0yLAorICAgIDB4MS5iNTU5N2Y5NTBlZThjcDI5CisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLmZmNzUxNTYxZGM1MDk3ZmVmZTQ5OTMwMWQwMzRhMGVkcC0yLAorICAgIC0weDEuYjU1OTdmOTUwZWU4Y3AyOQorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIDB4MS4wMjdkMTg0YWZiMTk4NGNhMWQyMWIxYWM5MjhkNTM5MXAtNTIsCisgICAgMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgLTB4MS4wMjdkMTg0YWZiMTk4NGNhMWQyMWIxYWM5MjhkNTM5MXAtNTIsCisgICAgLTB4MS5iYWI2MmVkNjU1MDE5cDk3MAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS5iYzU3MmU1ZTQxM2UxN2ZjYjIyNDZkNDAyNDlhMDA1ZnAtMTAsCisgICAgMHgxLmJjNTczYzRmZmZmZmZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgLTB4MS5iYzU3MmU1ZTQxM2UxN2ZjYjIyNDZkNDAyNDlhMDA1ZnAtMTAsCisgICAgLTB4MS5iYzU3M2M0ZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS5mYjMwMGYxZTM5YWZlODA0NzFmOTkzYWJiOGNmYTQyOHAtMSwKKyAgICAweDEuYmVmNWNkMjVhYjFhZHA5CisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5mYjMwMGYxZTM5YWZlODA0NzFmOTkzYWJiOGNmYTQyOHAtMSwKKyAgICAtMHgxLmJlZjVjZDI1YWIxYWRwOQorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIDB4MS5iMWJhYWY2MjJkM2EyN2ZkMjdkMDcxNmY3ZDA4ZDk5MnAtMiwKKyAgICAweDEuYmZkZjZkZjJhMjRjMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIC0weDEuYjFiYWFmNjIyZDNhMjdmZDI3ZDA3MTZmN2QwOGQ5OTJwLTIsCisgICAgLTB4MS5iZmRmNmRmMmEyNGMxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLjg4ZmI3NjJjMzVjZTM3ZmVjYmI0NzQ4ZDAxZmVmZmNlcC0xLAorICAgIDB4MS5iZmZmZmZkZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgLTB4MS44OGZiNzYyYzM1Y2UzN2ZlY2JiNDc0OGQwMWZlZmZjZXAtMSwKKyAgICAtMHgxLmJmZmZmZmRmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuZmUwZWJmZjk5YWI4YzgwY2U1OTM5ZjFmMDcyYzJlOTFwLTEsCisgICAgMHgxLmMyYjQ4OTUyMGUzNzZwOTIwCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS5mZTBlYmZmOTlhYjhjODBjZTU5MzlmMWYwNzJjMmU5MXAtMSwKKyAgICAtMHgxLmMyYjQ4OTUyMGUzNzZwOTIwCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLmNmN2Y3NDlmMmE4MzU3ZjdmZWFiNjg1ZmY2ZjhiNjI0cC00LAorICAgIDB4MS5jNTRiZWIwMDg1NDcwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLmNmN2Y3NDlmMmE4MzU3ZjdmZWFiNjg1ZmY2ZjhiNjI0cC00LAorICAgIC0weDEuYzU0YmViMDA4NTQ3MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLmI2ZmFjZjY2NTg5MTQ4MmVhOGM2MWY1Y2EzMmYyODBkcC0yLAorICAgIDB4MS5jNWFkMzRmNWY0NzJhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgLTB4MS5iNmZhY2Y2NjU4OTE0ODJlYThjNjFmNWNhMzJmMjgwZHAtMiwKKyAgICAtMHgxLmM1YWQzNGY1ZjQ3MmFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuYjg1MWNkOWI4NGVlNjgzZGM2YmQzODk5ZWE4MWRiZjlwLTIsCisgICAgMHgxLmM3MjhmYzJmMzRiZDZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAtMHgxLmI4NTFjZDliODRlZTY4M2RjNmJkMzg5OWVhODFkYmY5cC0yLAorICAgIC0weDEuYzcyOGZjMmYzNGJkNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIDB4MS5iYTIxYjUzY2YyZmYyODMyNjA2ZjY1ZWVlYjRlM2FhZnAtMiwKKyAgICAweDEuYzkyYjBmNjEwNTA4OXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIC0weDEuYmEyMWI1M2NmMmZmMjgzMjYwNmY2NWVlZWI0ZTNhYWZwLTIsCisgICAgLTB4MS5jOTJiMGY2MTA1MDg5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLmM5YTJiNjhlMzBlYzc3YzRlNzZjODg5NzA0Mzk0YTUwcC01LAorICAgIDB4MS5jOWRmYmJlOWVjNzA0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDI5CisgICAgLTB4MS5jOWEyYjY4ZTMwZWM3N2M0ZTc2Yzg4OTcwNDM5NGE1MHAtNSwKKyAgICAtMHgxLmM5ZGZiYmU5ZWM3MDRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuZjM3MDExNWM5YWIzNTc0M2UxMjIxN2M2MTIyZTFhMjhwLTEsCisgICAgMHgxLmNhZjMxYmQ3ZWUyMTdwMAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIC0weDEuZjM3MDExNWM5YWIzNTc0M2UxMjIxN2M2MTIyZTFhMjhwLTEsCisgICAgLTB4MS5jYWYzMWJkN2VlMjE3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAtMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM1OGUyOThkcC01NCwKKyAgICAweDEuY2I0NGU4NmJjMTkyYnA2NDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuZGQzOGExZjFkMjg5YjYxNzMxMTU3MjFiYzU4ZTI5OGRwLTU0LAorICAgIC0weDEuY2I0NGU4NmJjMTkyYnA2NDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzQKKyAgICAweDEuZGQzOGExZjFkMjg5YjYxNzMxMTU3MjFiYzU1YTU2YThwLTUzLAorICAgIDB4MS5jYjQ0ZTg2YmMxOTJicDY0OQorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuZGQzOGExZjFkMjg5YjYxNzMxMTU3MjFiYzU1YTU2YThwLTUzLAorICAgIC0weDEuY2I0NGU4NmJjMTkyYnA2NDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAweDEuYzc4ODVhZWYzM2E5NGZmYzVhZTA2YmU5NDQ0ZWZhZDVwLTMsCisgICAgMHgxLmNiNnAtMworICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIC0weDEuYzc4ODVhZWYzM2E5NGZmYzVhZTA2YmU5NDQ0ZWZhZDVwLTMsCisgICAgLTB4MS5jYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuY2QyNzlhYTYxOTZiNTdmOWJlNzFjZGZmZGQ5ZjE5MTlwLTQsCisgICAgMHgxLmNlMjI3MWQyZjY2MmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLmNkMjc5YWE2MTk2YjU3ZjliZTcxY2RmZmRkOWYxOTE5cC00LAorICAgIC0weDEuY2UyMjcxZDJmNjYyZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS45MzBiNzA1ZjlmYWQxN2ZiNTY4MTNhNDU5NzNhOGQ3MnAtMSwKKyAgICAweDEuZDAwMDAwMDAwMDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLjkzMGI3MDVmOWZhZDE3ZmI1NjgxM2E0NTk3M2E4ZDcycC0xLAorICAgIC0weDEuZDAwMDAwMDAwMDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAweDEuN2VmMjRjOGU2N2Q5YTgwMTdhMDMxZjM4ZTI0Y2NlMDZwLTEsCisgICAgMHgxLmQwMXAxOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAtMHgxLjdlZjI0YzhlNjdkOWE4MDE3YTAzMWYzOGUyNGNjZTA2cC0xLAorICAgIC0weDEuZDAxcDE5OQorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDB4MS5mZmZmMTI0YzAwMWFhZmIxZjE3NWNjYjUzMWMwNTNiMHAtMSwKKyAgICAweDEuZDAyNGJhNmY5NTNjZnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgLTB4MS5mZmZmMTI0YzAwMWFhZmIxZjE3NWNjYjUzMWMwNTNiMHAtMSwKKyAgICAtMHgxLmQwMjRiYTZmOTUzY2ZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIC0weDEuZjgzYTA5ODNkZDE1ZDAwMzAxZTJkZjIxZTNiZWU2MzVwLTIsCisgICAgMHgxLmQ0MDY3YzYwZjQ3MWVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIDB4MS5mODNhMDk4M2RkMTVkMDAzMDFlMmRmMjFlM2JlZTYzNXAtMiwKKyAgICAtMHgxLmQ0MDY3YzYwZjQ3MWVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS5kNzliOTg5NmZmNTU0ODRkMjU5MWI2NzdkNTRlYTQ2ZnAtNSwKKyAgICAweDEuZDdkZTYyNjNiY2FhYnAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIC0weDEuZDc5Yjk4OTZmZjU1NDg0ZDI1OTFiNjc3ZDU0ZWE0NmZwLTUsCisgICAgLTB4MS5kN2RlNjI2M2JjYWFicC01CisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLmVkMGI5MDhhMjk4MmY3ZmQ5YzgwYmMxMDUxZGQ0MDgwcC0xLAorICAgIDB4MS5kODAwMDAwMDAyMjc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAtMHgxLmVkMGI5MDhhMjk4MmY3ZmQ5YzgwYmMxMDUxZGQ0MDgwcC0xLAorICAgIC0weDEuZDgwMDAwMDAwMjI3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgLTB4MS5mMmMyMTdjYmM3ZGNjOTE5MjQzYTdjNDM0YTIwOWY5YXAtMSwKKyAgICAweDEuZDk2ZTA1OHA0ODgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuZjJjMjE3Y2JjN2RjYzkxOTI0M2E3YzQzNGEyMDlmOWFwLTEsCisgICAgLTB4MS5kOTZlMDU4cDQ4OAorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIDB4MS45OGRjZDA5MzM3NzkyODAwMDAwMDAwMDAwMDE2N2RjN3AtMSwKKyAgICAweDEuZDk4YzRjNjEyNzE4ZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIC0weDEuOThkY2QwOTMzNzc5MjgwMDAwMDAwMDAwMDAxNjdkYzdwLTEsCisgICAgLTB4MS5kOThjNGM2MTI3MThkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLmRiM2JhODc3NWNhMjU3ZGEzYmQ1NDQ5ZDM5NmE2NmUycC01LAorICAgIDB4MS5kYjhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAtMHgxLmRiM2JhODc3NWNhMjU3ZGEzYmQ1NDQ5ZDM5NmE2NmUycC01LAorICAgIC0weDEuZGI4cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgLTB4MS45ZmVlMzc2OTdkNTgyODAzMWE2YTI2NzljMTQzMzQ1N3AtMiwKKyAgICAweDEuZGUzODZkNjA5MDMwM3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuOWZlZTM3Njk3ZDU4MjgwMzFhNmEyNjc5YzE0MzM0NTdwLTIsCisgICAgLTB4MS5kZTM4NmQ2MDkwMzAzcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuNTM2MWVlNjU1MzE4ODAzNmU5ZGZjYWI0MjhkZWI0ZTFwLTUzLAorICAgIDB4MS5kZTVlNTA1NGU5MjFicDM1CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgMHgxLjUzNjFlZTY1NTMxODgwMzZlOWRmY2FiNDI4ZGViNGUxcC01MywKKyAgICAtMHgxLmRlNWU1MDU0ZTkyMWJwMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAweDEuZmVjNDhkNWU3NjllYmUzNzQ0OGMxMGUwYTdhMGVjYjFwLTEsCisgICAgMHgxLmRmNzdkZGY3N2RkZjRwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAtMHgxLmZlYzQ4ZDVlNzY5ZWJlMzc0NDhjMTBlMGE3YTBlY2IxcC0xLAorICAgIC0weDEuZGY3N2RkZjc3ZGRmNHAxMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIC0weDEuMjkwMmE4M2Q3MjYzMjgwMDAwM2QxMTQ5YjdlNmMwZmJwLTEsCisgICAgMHgxLmUxNTYyYjA0NDhhODZwMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS4yOTAyYTgzZDcyNjMyODAwMDAzZDExNDliN2U2YzBmYnAtMSwKKyAgICAtMHgxLmUxNTYyYjA0NDhhODZwMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIDB4MS45ZTI2YzdiYzk2YjY4ODAwMDAwZDQ3MzZmZjEzMjAzNXAtMSwKKyAgICAweDEuZTI3MDBjZGM4NjYzNXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIC0weDEuOWUyNmM3YmM5NmI2ODgwMDAwMGQ0NzM2ZmYxMzIwMzVwLTEsCisgICAgLTB4MS5lMjcwMGNkYzg2NjM1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmU2NDk0OTExZWVkZDE4ZDBmMTkxNWZkNGY2NDk1NDY5cC03LAorICAgIDB4MS5lNjRkZGFmN2JkNzMwcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgLTB4MS5lNjQ5NDkxMWVlZGQxOGQwZjE5MTVmZDRmNjQ5NTQ2OXAtNywKKyAgICAtMHgxLmU2NGRkYWY3YmQ3MzBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuZWIyNmM2OTBiZGEyNDg0YTZjMDIwYTljMDUyZWE4NDZwLTUsCisgICAgMHgxLmViNzIzOWJjYThhZmFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAtMHgxLmViMjZjNjkwYmRhMjQ4NGE2YzAyMGE5YzA1MmVhODQ2cC01LAorICAgIC0weDEuZWI3MjM5YmNhOGFmYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIDB4MS5jNzMyMzg3OTBhNGNlODAxZTA0MTA3YjI1NDZiNGFlM3AtMywKKyAgICAweDEuZWY3YjgzZjdiZGVmNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgLTB4MS5jNzMyMzg3OTBhNGNlODAxZTA0MTA3YjI1NDZiNGFlM3AtMywKKyAgICAtMHgxLmVmN2I4M2Y3YmRlZjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS5lZDFiNTc1YWNiOGM4ODEwODJjZTMxNTA3NGE4YTQyYXAtMywKKyAgICAweDEuZjIwMDAwMDAwMTA5YnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIC0weDEuZWQxYjU3NWFjYjhjODgxMDgyY2UzMTUwNzRhOGE0MmFwLTMsCisgICAgLTB4MS5mMjAwMDAwMDAxMDlicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLmMxYjUwYTU2Yzg4MDk4MDAwMDAyODJhNTE2YzEzZTI1cC0xLAorICAgIDB4MS5mNDBjYTY3YTllOGQ3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAtMHgxLmMxYjUwYTU2Yzg4MDk4MDAwMDAyODJhNTE2YzEzZTI1cC0xLAorICAgIC0weDEuZjQwY2E2N2E5ZThkN3A5CisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLmUzMjFmZWE2NDNhOTY4MDgzMjA4NzY4ZTllMmNkMjhlcC0yLAorICAgIDB4MS5mNzIyNGQyYzc3NTQwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgLTB4MS5lMzIxZmVhNjQzYTk2ODA4MzIwODc2OGU5ZTJjZDI4ZXAtMiwKKyAgICAtMHgxLmY3MjI0ZDJjNzc1NDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuYzEyNjliMDIwYTEwN2ZmYzAwNjEyYTU2M2E5MTk2ODZwLTMsCisgICAgMHgxLmY3OGEwZDA1ZTYwZTJwNgorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIC0weDEuYzEyNjliMDIwYTEwN2ZmYzAwNjEyYTU2M2E5MTk2ODZwLTMsCisgICAgLTB4MS5mNzhhMGQwNWU2MGUycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuZjc2Y2FlMjhhMDc3NDdmZmZjZDQ1M2EwMTQyYzJlYzFwLTUsCisgICAgMHgxLmY3YmRlZjdiZGYwNzNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAtMHgxLmY3NmNhZTI4YTA3NzQ3ZmZmY2Q0NTNhMDE0MmMyZWMxcC01LAorICAgIC0weDEuZjdiZGVmN2JkZjA3M3AtNQorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIDB4MS5lNDJjMTM5ZGMyMDUzODA3Yjk0NDBmMWEyOGY3YzliOXAtMiwKKyAgICAweDEuZjg1MDJkNTk1NTQ0M3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIC0weDEuZTQyYzEzOWRjMjA1MzgwN2I5NDQwZjFhMjhmN2M5YjlwLTIsCisgICAgLTB4MS5mODUwMmQ1OTU1NDQzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLjBmYTc0OWUwN2Y2M2ZjOWQwMWM4MzRkZTQ3NjU0YWNicC05LAorICAgIDB4MS5mOGZjODI0ZDI2OTNicDYxCisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgLTB4MS4wZmE3NDllMDdmNjNmYzlkMDFjODM0ZGU0NzY1NGFjYnAtOSwKKyAgICAtMHgxLmY4ZmM4MjRkMjY5M2JwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEuZmZhODAzMjRlMmQ4ZWJjMDJmMzIzZWQ0OWViOTdhNmNwLTEsCisgICAgMHgxLmY4ZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIC0weDEuZmZhODAzMjRlMmQ4ZWJjMDJmMzIzZWQ0OWViOTdhNmNwLTEsCisgICAgLTB4MS5mOGZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAtMHgxLjdjZGY3OWQ1ZTM3YjhiMjEyZWZmODZkMmZmZTIwNDRicC0xLAorICAgIDB4MS5mZDhwMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS43Y2RmNzlkNWUzN2I4YjIxMmVmZjg2ZDJmZmUyMDQ0YnAtMSwKKyAgICAtMHgxLmZkOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLmZkM2Y0ODg0N2ExZDEwYThlNWZmMWQ0ZGI4NGVkMjZkcC01LAorICAgIDB4MS5mZDkzNjRkOTM2NTk2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgLTB4MS5mZDNmNDg4NDdhMWQxMGE4ZTVmZjFkNGRiODRlZDI2ZHAtNSwKKyAgICAtMHgxLmZkOTM2NGQ5MzY1OTZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEuZjkzYWQ0NzFkMjYyZjgwMzJlOTJkNTk2Nzk3ZjlkNDFwLTMsCisgICAgMHgxLmZlOHAtMworICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIC0weDEuZjkzYWQ0NzFkMjYyZjgwMzJlOTJkNTk2Nzk3ZjlkNDFwLTMsCisgICAgLTB4MS5mZThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuODNiMzA2MjQxNDk3M2Q5MmM0Mjc4NTA3ZjA0NzRkNjdwLTEsCisgICAgMHgxLmZlYmI2NDZlMmVlNTdwMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAtMHgxLjgzYjMwNjI0MTQ5NzNkOTJjNDI3ODUwN2YwNDc0ZDY3cC0xLAorICAgIC0weDEuZmViYjY0NmUyZWU1N3AxMworICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS4zYjQ1YmQ3NDQ5Nzc1NDdmYTQ2NzNlNDJkZmM5OTQwMnAtMSwKKyAgICAweDEuZmVlZmZmZmZmZmZjNnA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTkKKyAgICAtMHgxLjNiNDViZDc0NDk3NzU0N2ZhNDY3M2U0MmRmYzk5NDAycC0xLAorICAgIC0weDEuZmVlZmZmZmZmZmZjNnA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAtMHgxLmVlZmI1OWQxNDM2NDVhNDAwNDFiZjcyNmRjNmYyZmEwcC0xLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAweDEuZWVmYjU5ZDE0MzY0NWE0MDA0MWJmNzI2ZGM2ZjJmYTBwLTEsCisgICAgLTB4MS5mZjhmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAtMHgxLjU2NDMzZjBjNmJjZWU5ODQ4NzUxNjExYzZmNWFkZTFmcC0xLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcDg3MAorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS41NjQzM2YwYzZiY2VlOTg0ODc1MTYxMWM2ZjVhZGUxZnAtMSwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwODcwCisgIH0sCisgIHsgLy8gRW50cnkgNTA0CisgICAgLTB4MS45MzAwMDYyNDZhNmMwNWRhYjcyZWE2OTdkYWFiYTY5ZHAtMiwKKyAgICAweDEuZmZjZmZmOHAxOQorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS45MzAwMDYyNDZhNmMwNWRhYjcyZWE2OTdkYWFiYTY5ZHAtMiwKKyAgICAtMHgxLmZmY2ZmZjhwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuZGVkMzdhMWYwYWE2ZDA1ZDc4MmQ2YWFiNDBjYjg2NzBwLTEsCisgICAgMHgxLmZmY2ZmZjhwMzY1CisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgLTB4MS5kZWQzN2ExZjBhYTZkMDVkNzgyZDZhYWI0MGNiODY3MHAtMSwKKyAgICAtMHgxLmZmY2ZmZjhwMzY1CisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgLTB4MS45M2U0ZDk2YjYyMWUwN2JjYTg2NmMxYTJlNzcxODgxY3AtMSwKKyAgICAweDEuZmZjZmZmZmZmZmY2Y3A3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAweDEuOTNlNGQ5NmI2MjFlMDdiY2E4NjZjMWEyZTc3MTg4MWNwLTEsCisgICAgLTB4MS5mZmNmZmZmZmZmZjZjcDcyMAorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIDB4MS45MDY4YjkwZTQyNjA1ZTA1MDEwZTE0NzExMDY4OGU1MnAtMSwKKyAgICAweDEuZmZjZmZmZmZmZmZmOXAzMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAtMHgxLjkwNjhiOTBlNDI2MDVlMDUwMTBlMTQ3MTEwNjg4ZTUycC0xLAorICAgIC0weDEuZmZjZmZmZmZmZmZmOXAzMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuY2Y4MTY0MmU3NDIxYzU2NTA3ZWI4MTg3NjExYzg0ZGJwLTEsCisgICAgMHgxLmZmY2ZmZmZmZmZmZmZwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAtMHgxLmNmODE2NDJlNzQyMWM1NjUwN2ViODE4NzYxMWM4NGRicC0xLAorICAgIC0weDEuZmZjZmZmZmZmZmZmZnAxMgorICB9LAorICB7IC8vIEVudHJ5IDUxNAorICAgIDB4MS5mZmZmZmZlNjFmZTYxNmIyODJjM2E2OWNhMjI1YzJkMnAtMSwKKyAgICAweDEuZmZjZmZmZmZmZmZmZnA0MDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAtMHgxLmZmZmZmZmU2MWZlNjE2YjI4MmMzYTY5Y2EyMjVjMmQycC0xLAorICAgIC0weDEuZmZjZmZmZmZmZmZmZnA0MDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAtMHgxLjQwNmVlOWFlOTFlMTZmMWQ1OGM5NmViNzE2NWY1OTVicC0xLAorICAgIDB4MS5mZmVmZmZmZmZmZmNjcDk5NQorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIDB4MS40MDZlZTlhZTkxZTE2ZjFkNThjOTZlYjcxNjVmNTk1YnAtMSwKKyAgICAtMHgxLmZmZWZmZmZmZmZmY2NwOTk1CisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgMHgxLmZhOWY2Y2EwZWM0NGUwMDEwMDI2ZjM4NWMwYWI4NjkwcC0zLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgLTB4MS5mYTlmNmNhMGVjNDRlMDAxMDAyNmYzODVjMGFiODY5MHAtMywKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEuNmI0OTFkYjhiNjZkODgwMTIxZjgzMGQ4Yzc1NWFlNTRwLTQsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAtMHgxLjZiNDkxZGI4YjY2ZDg4MDEyMWY4MzBkOGM3NTVhZTU0cC00LAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnA1NQorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS5mYjBhYjEwMmNiMTJmZWY5YTRlNGE4NjlhMjk5ZWQ0NnAtMSwKKyAgICAweDEuZmZlZmZmZmZmZmZmZnAxODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAtMHgxLmZiMGFiMTAyY2IxMmZlZjlhNGU0YTg2OWEyOTllZDQ2cC0xLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAxODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjQKKyAgICAweDEuZTQzMTVlYzA0NjM1Y2QzNGIzZWY2MDM3MDUxMTI4MWZwLTMsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwNzA2CisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgLTB4MS5lNDMxNWVjMDQ2MzVjZDM0YjNlZjYwMzcwNTExMjgxZnAtMywKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwNzA2CisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLmZmZmZjMzk5OTdlZjY3ZDJiOWM3ZTRlZmE4Yjc3ZTUwcC0xLAorICAgIDB4MS5mZmYxZmZmZmZmZmZmcDQxCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS5mZmZmYzM5OTk3ZWY2N2QyYjljN2U0ZWZhOGI3N2U1MHAtMSwKKyAgICAtMHgxLmZmZjFmZmZmZmZmZmZwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuZmZmMTYzOTkyODMxZThjNjhiMDIzNGI0MmVmYTFkMGFwLTcsCisgICAgMHgxLmZmZjZiODlmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAtMHgxLmZmZjE2Mzk5MjgzMWU4YzY4YjAyMzRiNDJlZmExZDBhcC03LAorICAgIC0weDEuZmZmNmI4OWZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIC0weDEuZDk3NTdhMDVmY2M0MmM2NjRmM2E2NmI1NTc2YTk4ZTRwLTEsCisgICAgMHgxLmZmZmRmZmZmMDAwMWZwMTA1CisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLmQ5NzU3YTA1ZmNjNDJjNjY0ZjNhNjZiNTU3NmE5OGU0cC0xLAorICAgIC0weDEuZmZmZGZmZmYwMDAxZnAxMDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAtMHgxLjgzNzkxZmU2M2ExN2E4MDI1OGYyYzQ3OWM3ZTFkMzM5cC0xLAorICAgIDB4MS5mZmZmMGMwMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuODM3OTFmZTYzYTE3YTgwMjU4ZjJjNDc5YzdlMWQzMzlwLTEsCisgICAgLTB4MS5mZmZmMGMwMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAtMHgxLmQ5ZDNhODVhY2M1MGM4MDAwMDA1ZDEzZGQ4MmY2MWI1cC0xLAorICAgIDB4MS5mZmZmYzAwMDAwMDU1cDE1MAorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS5kOWQzYTg1YWNjNTBjODAwMDAwNWQxM2RkODJmNjFiNXAtMSwKKyAgICAtMHgxLmZmZmZjMDAwMDAwNTVwMTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgLTB4MS5mMjVkODU4ZGNkZWU3NDEyY2YwNzYwZTk1NWNiODM5MHAtMywKKyAgICAweDEuZmZmZmUzZmZmZmZmZnA0MAorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIDB4MS5mMjVkODU4ZGNkZWU3NDEyY2YwNzYwZTk1NWNiODM5MHAtMywKKyAgICAtMHgxLmZmZmZlM2ZmZmZmZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuZDE4ZjdiZmU1NTdlYjgwMDAxNTU3MTQyYmRhMThiYWVwLTEsCisgICAgMHgxLmZmZmZlZmZmY2ZmYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIC0weDEuZDE4ZjdiZmU1NTdlYjgwMDAxNTU3MTQyYmRhMThiYWVwLTEsCisgICAgLTB4MS5mZmZmZWZmZmNmZmFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAtMHgxLmJjMTRlYmY2YmZiNTFmZmE1ZTZmNWIwYjBiZjllODk5cC00LAorICAgIDB4MS5mZmZmZmJmZmZmZmZmcDIyOAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIDB4MS5iYzE0ZWJmNmJmYjUxZmZhNWU2ZjViMGIwYmY5ZTg5OXAtNCwKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZwMjI4CisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLmJiODg3YTA2ZjZjNTBmZWYwNjU0ZDMwM2M4MmYxYTc4cC0zLAorICAgIDB4MS5mZmZmZmJmZmZmZmZmcDczNQorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuYmI4ODdhMDZmNmM1MGZlZjA2NTRkMzAzYzgyZjFhNzhwLTMsCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmcDczNQorICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS5mZmFhYWRlZjU0ZTJmMGM0MDgxODgwYjdiOWU3OTRkZnAtNSwKKyAgICAweDEuZmZmZmZlZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDU0NQorICAgIC0weDEuZmZhYWFkZWY1NGUyZjBjNDA4MTg4MGI3YjllNzk0ZGZwLTUsCisgICAgLTB4MS5mZmZmZmVmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLmQ0YTNjNjJjNWJlMDhiMTIzODY4ZThhNDY3ZWZmMGNlcC0xLAorICAgIDB4MS5mZmZmZmY4cDExOQorICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIC0weDEuZDRhM2M2MmM1YmUwOGIxMjM4NjhlOGE0NjdlZmYwY2VwLTEsCisgICAgLTB4MS5mZmZmZmY4cDExOQorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS5jZWMyMGYxOTc3MDNmNGZkNDIwNDhkZGY4ODlmZTg0YXAtMywKKyAgICAweDEuZmZmZmZmOHAxOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAtMHgxLmNlYzIwZjE5NzcwM2Y0ZmQ0MjA0OGRkZjg4OWZlODRhcC0zLAorICAgIC0weDEuZmZmZmZmOHAxOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTAKKyAgICAweDEuZDM3YWFkYzdjODY2MjUwMTc1MWRiZjRlOWU1NzAxYWJwLTIsCisgICAgMHgxLmZmZmZmZjhwNTQzCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgLTB4MS5kMzdhYWRjN2M4NjYyNTAxNzUxZGJmNGU5ZTU3MDFhYnAtMiwKKyAgICAtMHgxLmZmZmZmZjhwNTQzCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLmZhOGQyYTRkMGEyMDI3ZjBmNzRkZjMxMzZjYjc4ZjcycC0xLAorICAgIDB4MS5mZmZmZmZjMDAxOGZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLmZhOGQyYTRkMGEyMDI3ZjBmNzRkZjMxMzZjYjc4ZjcycC0xLAorICAgIC0weDEuZmZmZmZmYzAwMThmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLmZhOGQyYTAyOWY5NzdmZmU3NGNiMTRjYjA5ZGYxNzZkcC0xLAorICAgIDB4MS5mZmZmZmZmZmVmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAtMHgxLmZhOGQyYTAyOWY5NzdmZmU3NGNiMTRjYjA5ZGYxNzZkcC0xLAorICAgIC0weDEuZmZmZmZmZmZlZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgLTB4MS4yNzYzZjAyYTJkMWU5ODAwMDAwMTVkYmY5NWQ4OWFiMnAtNCwKKyAgICAweDEuZmZmZmZmZmZmODI1MHA5NDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuMjc2M2YwMmEyZDFlOTgwMDAwMDE1ZGJmOTVkODlhYjJwLTQsCisgICAgLTB4MS5mZmZmZmZmZmY4MjUwcDk0MworICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS5mY2ZmMTI4Zjc3ZGRhODFjMmEwZWMwM2U0ZWQ4MDQyMnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZTA5ZHAzMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAtMHgxLmZjZmYxMjhmNzdkZGE4MWMyYTBlYzAzZTRlZDgwNDIycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZTA5ZHAzMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjAKKyAgICAtMHgxLmZjYzBiZmVkZDg0YTU4MTZkOTU5NmI4ZjlmYmI5YjQxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZlNmUzcDcyMAorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIDB4MS5mY2MwYmZlZGQ4NGE1ODE2ZDk1OTZiOGY5ZmJiOWI0MXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmU2ZTNwNzIwCisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgMHgxLmFlZDU0OGYwOTBjMWRmZmU2ZTA0MzIyZGM4ZThjYmZhcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZTdmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgLTB4MS5hZWQ1NDhmMDkwYzFkZmZlNmUwNDMyMmRjOGU4Y2JmYXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZlN2ZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAtMHgxLmY1ZTExZGVmOTlkMmIyMjA5ODI0MmFjOWZiNzU2YWRicC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZWZmcDI1MAorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIDB4MS5mNWUxMWRlZjk5ZDJiMjIwOTgyNDJhYzlmYjc1NmFkYnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZlZmZwMjUwCisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLjhhOWNiZjQ4ZmVjOWYyYTBmZGU5NTFmMzEzYjkxOGNjcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZjc4cDkyMAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuOGE5Y2JmNDhmZWM5ZjJhMGZkZTk1MWYzMTNiOTE4Y2NwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZjc4cDkyMAorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIC0weDEuN2ViYTU4OTQ4NDRjYzAwYzg4ZjM5YmQzZDQxOTdkMTRwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmODNwMTUwCisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLjdlYmE1ODk0ODQ0Y2MwMGM4OGYzOWJkM2Q0MTk3ZDE0cC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmY4M3AxNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAweDEuOTJjNGYwNmQyY2RkMTVkMzAyNjA5Y2FhODc4ODJhZmFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZDVwOTk1CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgLTB4MS45MmM0ZjA2ZDJjZGQxNWQzMDI2MDljYWE4Nzg4MmFmYXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZDVwOTk1CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgLTB4MS4zZDVmN2RlYjFkM2JhZDYzZWIxNzNiNzNlODQxMTBhMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZlOHA3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzMKKyAgICAweDEuM2Q1ZjdkZWIxZDNiYWQ2M2ViMTczYjczZTg0MTEwYTBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmU4cDcyMAorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIC0weDEuOTEzNDliMGFlOTBlNTMxNjUzOWMwN2VlYTliNGU2YjBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZWJwOTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTc1CisgICAgMHgxLjkxMzQ5YjBhZTkwZTUzMTY1MzljMDdlZWE5YjRlNmIwcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZlYnA5MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAtMHgxLjgzN2I5ZGRkYzFlODczOGQ3NGIyYTc0ZmE0MmQ4MDJkcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmYxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzcKKyAgICAweDEuODM3YjlkZGRjMWU4NzM4ZDc0YjJhNzRmYTQyZDgwMmRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmYxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuNTEwZTA2MmU3ZmEyMDM3ZDM4NDJkZTk5M2M5YzUwOTBwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZjFwMjQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgLTB4MS41MTBlMDYyZTdmYTIwMzdkMzg0MmRlOTkzYzljNTA5MHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjFwMjQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgMHgxLmVhZWU4NzQ0YjA1ZTQ3ZmRlMDkyZTNhMTQ4OTVkMDY3cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmYzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgLTB4MS5lYWVlODc0NGIwNWU0N2ZkZTA5MmUzYTE0ODk1ZDA2N3AtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEuOGE0ZGVlOGY0MDYyNzkxMDc4NzY2YjBhMDFkZTM2MGRwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZjRwODQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgLTB4MS44YTRkZWU4ZjQwNjI3OTEwNzg3NjZiMGEwMWRlMzYwZHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjRwODQ1CisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgMHgxLjUxMThkNmJiZGUwN2U0ZWViZjJhMTFkZjRkYzc0ZDU0cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmY0cDEwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAtMHgxLjUxMThkNmJiZGUwN2U0ZWViZjJhMTFkZjRkYzc0ZDU0cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmNHAxMDIwCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgLTB4MS41Y2Q1YzUzY2YzMGE5N2ZmMGU0NzFkMTQ5YzQwOTU1ZHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmOHA2MTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEuNWNkNWM1M2NmMzBhOTdmZjBlNDcxZDE0OWM0MDk1NWRwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmY4cDYxNgorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS5mZmZmYTFmMGQ3ZGFmNjkzYTgwYTJiODE3YjE2ZjI3N3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3A0NzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAtMHgxLmZmZmZhMWYwZDdkYWY2OTNhODBhMmI4MTdiMTZmMjc3cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3A0NzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEuNTFlOWQ4NDAxMDZkNzM0ODRkNDRhODZmNzRjM2Q0MWRwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgLTB4MS41MWU5ZDg0MDEwNmQ3MzQ4NGQ0NGE4NmY3NGMzZDQxZHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYwMgorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS45OTk5OTk2ZGU4Y2ExOThjMjRhYjk0NDliZWVlMTZkNXAtMTMsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgLTB4MS45OTk5OTk2ZGU4Y2ExOThjMjRhYjk0NDliZWVlMTZkNXAtMTMsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIDB4MS45OTk5OThlYWQ2NWI5NmY3OGE0ZGJmZDgzOWM3ZWYyZXAtMTIsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgLTB4MS45OTk5OThlYWQ2NWI5NmY3OGE0ZGJmZDgzOWM3ZWYyZXAtMTIsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS4zMzMzMzIwYzQ5YmFiZmYxNTFiNmQwNDI5MGUyYzNhMnAtMTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgLTB4MS4zMzMzMzIwYzQ5YmFiZmYxNTFiNmQwNDI5MGUyYzNhMnAtMTEsCisgICAgLTB4MS4zMzMzMzMzMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS45OTk5OTZkZThjYTI4ODRkYTJmMDhmMjViYjAyNGQwOHAtMTEsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgLTB4MS45OTk5OTZkZThjYTI4ODRkYTJmMDhmMjViYjAyNGQwOHAtMTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDYxNworICAgIDB4MS5mZmZmZmFhYWFhYWVlZWVlZWQ0ZWQ0ZWRhYjRjN2JkNnAtMTEsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgLTB4MS5mZmZmZmFhYWFhYWVlZWVlZWQ0ZWQ0ZWRhYjRjN2JkNnAtMTEsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIDB4MS4zMzMzMmU5NzhkNTUyYWZjODgzYmRiMDQ3NTFlMzgzNXAtMTAsCisgICAgMHgxLjMzMzMzMzMzMzMzMzNwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgLTB4MS4zMzMzMmU5NzhkNTUyYWZjODgzYmRiMDQ3NTFlMzgzNXAtMTAsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS42NjY2NWYxNTI5YWZmOGEzODA5MjQ2NjcwYTQzNmMzY3AtMTAsCisgICAgMHgxLjY2NjY2NjY2NjY2NjZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgLTB4MS42NjY2NWYxNTI5YWZmOGEzODA5MjQ2NjcwYTQzNmMzY3AtMTAsCisgICAgLTB4MS42NjY2NjY2NjY2NjY2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS45OTk5OGVhZDY1Y2RmODJlMTk0YzEzMzk5N2YyZmI2OHAtMTAsCisgICAgMHgxLjk5OTk5OTk5OTk5OTlwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjI0CisgICAgLTB4MS45OTk5OGVhZDY1Y2RmODJlMTk0YzEzMzk5N2YyZmI2OHAtMTAsCisgICAgLTB4MS45OTk5OTk5OTk5OTk5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS5jY2NjYmQzZjdkMTVkNDJhZmZiOWYwMmJmMWRjMjU3YnAtMTAsCisgICAgMHgxLmNjY2NjY2NjY2NjY2NwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgLTB4MS5jY2NjYmQzZjdkMTVkNDJhZmZiOWYwMmJmMWRjMjU3YnAtMTAsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIDB4MS4wNjY1YWU5YzdiNDRlZDI4MDIxNmJlMjEwNGYyOGYwMnAtNywKKyAgICAweDEuMDY2NjY2NjY2NjY2NnAtNworICB9LAorICB7IC8vIEVudHJ5IDYyOAorICAgIC0weDEuMDY2NWFlOWM3YjQ0ZWQyODAyMTZiZTIxMDRmMjhmMDJwLTcsCisgICAgLTB4MS4wNjY2NjY2NjY2NjY2cC03CisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLmNjYzhlOTdiNTlmNjE4ODk4YzRhYzNhMGFlZGRmNzA5cC03LAorICAgIDB4MS5jY2NjY2NjY2NjY2NjcC03CisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgLTB4MS5jY2M4ZTk3YjU5ZjYxODg5OGM0YWMzYTBhZWRkZjcwOXAtNywKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2NwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzEKKyAgICAweDEuNDk5M2U4YThmZjc5YjEzMjA0NmVmYTc4NTZhOTc1MzhwLTYsCisgICAgMHgxLjQ5OTk5OTk5OTk5OTlwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAtMHgxLjQ5OTNlOGE4ZmY3OWIxMzIwNDZlZmE3ODU2YTk3NTM4cC02LAorICAgIC0weDEuNDk5OTk5OTk5OTk5OXAtNgorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS5hY2MwNDRjNTZkYjBlMTlmODJjOWMzY2ZmMjQ2ZTIwMXAtNiwKKyAgICAweDEuYWNjY2NjY2NjY2NjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDYzNAorICAgIC0weDEuYWNjMDQ0YzU2ZGIwZTE5ZjgyYzljM2NmZjI0NmUyMDFwLTYsCisgICAgLTB4MS5hY2NjY2NjY2NjY2NjcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLjA3ZjQ0ZDY3Y2Y0MWFmYmMwYzk1MTA4Yjk5ZjkxYjAxcC01LAorICAgIDB4MS4wODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzYKKyAgICAtMHgxLjA3ZjQ0ZDY3Y2Y0MWFmYmMwYzk1MTA4Yjk5ZjkxYjAxcC01LAorICAgIC0weDEuMDgwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgMHgxLjM5ODVmZTQ2ZjFjODcxNGVhYTE0MTg1NjE5NjNlODlicC01LAorICAgIDB4MS4zOTk5OTk5OTk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgLTB4MS4zOTg1ZmU0NmYxYzg3MTRlYWExNDE4NTYxOTYzZTg5YnAtNSwKKyAgICAtMHgxLjM5OTk5OTk5OTk5OWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEuNmIxNGJkZTkzYWM1ZjdkMjQ1NDRkMGVjZjhiZTdhZWVwLTUsCisgICAgMHgxLjZiMzMzMzMzMzMzMzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDAKKyAgICAtMHgxLjZiMTRiZGU5M2FjNWY3ZDI0NTQ0ZDBlY2Y4YmU3YWVlcC01LAorICAgIC0weDEuNmIzMzMzMzMzMzMzNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS45Y2EwMTUzZWQ4Mzk2YjAyZjg2MDUyMTlhNWZlNTkxN3AtNSwKKyAgICAweDEuOWNjY2NjY2NjY2NjZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIC0weDEuOWNhMDE1M2VkODM5NmIwMmY4NjA1MjE5YTVmZTU5MTdwLTUsCisgICAgLTB4MS45Y2NjY2NjY2NjY2NlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjQzCisgICAgMHgxLmNlMjc4ZDQwMjdkMzQzODdmMTg0ZDRhYjJhYWY1NDVmcC01LAorICAgIDB4MS5jZTY2NjY2NjY2NjY2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgLTB4MS5jZTI3OGQ0MDI3ZDM0Mzg3ZjE4NGQ0YWIyYWFmNTQ1ZnAtNSwKKyAgICAtMHgxLmNlNjY2NjY2NjY2NjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAweDEuNDNjMWU5YzE3MWE2NjdhMGI5MjUxOWEwNGZhNWE5MWNwLTEsCisgICAgMHgxLjVlN2ZjNDM2OWJkYWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAtMHgxLjQzYzFlOWMxNzFhNjY3YTBiOTI1MTlhMDRmYTVhOTFjcC0xLAorICAgIC0weDEuNWU3ZmM0MzY5YmRhZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS5lZTNkNmJjZWEwOWNhMThiMWQxY2U3ZWUwNGZkODg2ZnAtMSwKKyAgICAweDEuNGU3ZmM0MzY5YmRhZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgLTB4MS5lZTNkNmJjZWEwOWNhMThiMWQxY2U3ZWUwNGZkODg2ZnAtMSwKKyAgICAtMHgxLjRlN2ZjNDM2OWJkYWRwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS5kZjhlMjJlYTgwOWQ2NWM2YTY5Yjk2YWNhNjBiZTQzMnAtMSwKKyAgICAweDEuZWRiZmE2NTFlOWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgLTB4MS5kZjhlMjJlYTgwOWQ2NWM2YTY5Yjk2YWNhNjBiZTQzMnAtMSwKKyAgICAtMHgxLmVkYmZhNjUxZTljODRwMAorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIDB4MS4xZDM0NzllYWM3YWUzNWUyZmJlYTBhZTY5NjQzNDY5MnAtMSwKKyAgICAweDEuNDY3ZmM0MzY5YmRhZHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgLTB4MS4xZDM0NzllYWM3YWUzNWUyZmJlYTBhZTY5NjQzNDY5MnAtMSwKKyAgICAtMHgxLjQ2N2ZjNDM2OWJkYWRwMQorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIC0weDEuZmZlYWFhZWVlZTg0YjQ0Y2NlZmVmODMyMjU0ZDI4YzBwLTYsCisgICAgMHgxLjk2MWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIDB4MS5mZmVhYWFlZWVlODRiNDRjY2VmZWY4MzIyNTRkMjhjMHAtNiwKKyAgICAtMHgxLjk2MWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIC0weDEuMzczNGQzMmQ0OWJkMGI5NDI3NzJhNzU2N2Q1MTQxNDBwLTEsCisgICAgMHgxLmU1YmZhNjUxZTljODNwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIDB4MS4zNzM0ZDMyZDQ5YmQwYjk0Mjc3MmE3NTY3ZDUxNDE0MHAtMSwKKyAgICAtMHgxLmU1YmZhNjUxZTljODNwMQorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIC0weDEuZTlkMjVkMTk5MTFlMjA1YjY1MzUyMWY0MmI5Yjg2NGZwLTEsCisgICAgMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5lOWQyNWQxOTkxMWUyMDViNjUzNTIxZjQyYjliODY0ZnAtMSwKKyAgICAtMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIC0weDEuZTRlY2RjNWE0ZTQ2NTg5OTkyOGViOWZjOTU4MjlkNDhwLTEsCisgICAgMHgxLjQyN2ZjNDM2OWJkYWRwMgorICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS5lNGVjZGM1YTRlNDY1ODk5OTI4ZWI5ZmM5NTgyOWQ0OHAtMSwKKyAgICAtMHgxLjQyN2ZjNDM2OWJkYWRwMgorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIC0weDEuMmE1OWYxMDM0NDI2MTk3ZmE2ZWVlMjI3NjI5NjdmMjVwLTEsCisgICAgMHgxLjZhNGZiY2JkNmY1NjJwMgorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS4yYTU5ZjEwMzQ0MjYxOTdmYTZlZWUyMjc2Mjk2N2YyNXAtMSwKKyAgICAtMHgxLjZhNGZiY2JkNmY1NjJwMgorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIC0weDEuMjYzMTI0NDNiZDM1ZjE5MzEyZWFjMGExYTZiNTY1OWVwLTEsCisgICAgMHgxLjZhZjJlZmYwYTI4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS4yNjMxMjQ0M2JkMzVmMTkzMTJlYWMwYTFhNmI1NjU5ZXAtMSwKKyAgICAtMHgxLjZhZjJlZmYwYTI4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIC0weDEuZTE4ZTY2MGE1ZTJmYjMxNmVjYmI5ZWQ3MDEyMmVmZjVwLTEsCisgICAgMHgxLjQzYzYyYTlkMDI0MTRwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS5lMThlNjYwYTVlMmZiMzE2ZWNiYjllZDcwMTIyZWZmNXAtMSwKKyAgICAtMHgxLjQzYzYyYTlkMDI0MTRwMgorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIC0weDEuZWUwZTgzYTAxOThiNmUyZWY3YzQ4ZTY2MjUyOTFhMGFwLTEsCisgICAgMHgxLjFjOTk2NTQ5NjFmOTJwMgorICB9LAorICB7IC8vIEVudHJ5IDY2OAorICAgIDB4MS5lZTBlODNhMDE5OGI2ZTJlZjdjNDhlNjYyNTI5MWEwYXAtMSwKKyAgICAtMHgxLjFjOTk2NTQ5NjFmOTJwMgorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIC0weDEuNDcyNzc0NzMzOGU0NjUzNjE2ZWFkYmQ3ZWMzZDAyZDNwLTEsCisgICAgMHgxLmVhZDkzZmViODM2MWZwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIDB4MS40NzI3NzQ3MzM4ZTQ2NTM2MTZlYWRiZDdlYzNkMDJkM3AtMSwKKyAgICAtMHgxLmVhZDkzZmViODM2MWZwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIC0weDEuNGJhMmY3NWRkYTVmZTQzNDMyMDkwNWE3MTg0ZmYxYWZwLTQsCisgICAgMHgxLjljN2ZiNTQ0NDJkMWFwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIDB4MS40YmEyZjc1ZGRhNWZlNDM0MzIwOTA1YTcxODRmZjFhZnAtNCwKKyAgICAtMHgxLjljN2ZiNTQ0NDJkMWFwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIDB4MS4wMzRjNGQ2MzNiNGVmMGE5MDg5YjQzODkyYTQ2MmEyNnAtMSwKKyAgICAweDEuNGUyNjJhOWQwMjQxNXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgLTB4MS4wMzRjNGQ2MzNiNGVmMGE5MDg5YjQzODkyYTQ2MmEyNnAtMSwKKyAgICAtMHgxLjRlMjYyYTlkMDI0MTVwMQorICB9LAorICB7IC8vIEVudHJ5IDY3NQorICAgIDB4MS5kMWU0Y2RlMmYzOTQ0ZjRjMTM0YzA1Y2M0ZTUzMzlhM3AtMSwKKyAgICAweDEuZmY5OTNmZWI4MzYyMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgLTB4MS5kMWU0Y2RlMmYzOTQ0ZjRjMTM0YzA1Y2M0ZTUzMzlhM3AtMSwKKyAgICAtMHgxLmZmOTkzZmViODM2MjBwMAorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIDB4MS5mNzUwMjM1Yzk0OTkyNmM0OGM5MGU0MWE5MTQ3NGMwNnAtMSwKKyAgICAweDEuNjJlNjJhOWQwMjQxNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgLTB4MS5mNzUwMjM1Yzk0OTkyNmM0OGM5MGU0MWE5MTQ3NGMwNnAtMSwKKyAgICAtMHgxLjYyZTYyYTlkMDI0MTZwMAorICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIDB4MS42NWY3ZDU3MTI3OWIwYjgwMDU1NTJmZDQ3YTJlNzdhZXAtMSwKKyAgICAweDEuOGM2NjJhOWQwMjQxOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIC0weDEuNjVmN2Q1NzEyNzliMGI4MDA1NTUyZmQ0N2EyZTc3YWVwLTEsCisgICAgLTB4MS44YzY2MmE5ZDAyNDE5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgLTB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKKyAgICAtMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKKyAgICAweDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgLTB4MS5mZmYxOGYyNGYzZTRiODdiZjhjMzc2MmNiNDRmNDZkNnAtMSwKKyAgICAtMHgxLjk1ZWM4YjllMDNkNTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5mZmYxOGYyNGYzZTRiODdiZjhjMzc2MmNiNDRmNDZkNnAtMSwKKyAgICAweDEuOTVlYzhiOWUwM2Q1NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgLTB4MS5mZjIwZDk2MTYyNGU3MDYzYTc4MjAzYjgxMWY1NzljYXAtMSwKKyAgICAtMHgxLjgzMmVmYTJhNDM1YTlwMAorICB9LAorICB7IC8vIEVudHJ5IDY4NgorICAgIDB4MS5mZjIwZDk2MTYyNGU3MDYzYTc4MjAzYjgxMWY1NzljYXAtMSwKKyAgICAweDEuODMyZWZhMmE0MzVhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgLTB4MS5mYjkzM2M0MDEwN2ZkNzc1MTg1YWMxNDkxOGM4ZmJhZnAtMSwKKyAgICAtMHgxLjcwNzE2OGI2ODJkZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIDB4MS5mYjkzM2M0MDEwN2ZkNzc1MTg1YWMxNDkxOGM4ZmJhZnAtMSwKKyAgICAweDEuNzA3MTY4YjY4MmRmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgLTB4MS5mNTRkOTcxODgxYWQ2ODViNzgyZWY4OGU2MzUwZjdjZHAtMSwKKyAgICAtMHgxLjVkYjNkNzQyYzI2NTNwMAorICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIDB4MS5mNTRkOTcxODgxYWQ2ODViNzgyZWY4OGU2MzUwZjdjZHAtMSwKKyAgICAweDEuNWRiM2Q3NDJjMjY1M3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgLTB4MS5lYzU4ODNiN2I2Y2Y0ZDg1OWFiMDRlMTVkNTM2OThjOXAtMSwKKyAgICAtMHgxLjRhZjY0NWNmMDFlYThwMAorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5lYzU4ODNiN2I2Y2Y0ZDg1OWFiMDRlMTVkNTM2OThjOXAtMSwKKyAgICAweDEuNGFmNjQ1Y2YwMWVhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgLTB4MS5lMGMwNGE5NGUxNzMwOWM4MDZjMWM3OGJkZGMxZDYwN3AtMSwKKyAgICAtMHgxLjM4MzhiNDViNDE2ZmRwMAorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIDB4MS5lMGMwNGE5NGUxNzMwOWM4MDZjMWM3OGJkZGMxZDYwN3AtMSwKKyAgICAweDEuMzgzOGI0NWI0MTZmZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgLTB4MS5kMjk0ZDFmOTZjN2ViZGI5ODY5ZGQ5N2NmNTc0ZGRiOXAtMSwKKyAgICAtMHgxLjI1N2IyMmU3ODBmNTJwMAorICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIDB4MS5kMjk0ZDFmOTZjN2ViZGI5ODY5ZGQ5N2NmNTc0ZGRiOXAtMSwKKyAgICAweDEuMjU3YjIyZTc4MGY1MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgLTB4MS5jMWU5ODgzMzczZDdlY2M0OGM5MmRjODg3NTUwNWY3ZXAtMSwKKyAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMAorICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDB4MS5jMWU5ODgzMzczZDdlY2M0OGM5MmRjODg3NTUwNWY3ZXAtMSwKKyAgICAweDEuMTJiZDkxNzNjMDdhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgLTB4MS5hMmMyODlkOWQwNTVhYzM3N2Y2N2Q3YTU0YTBiMzAwNXAtMSwKKyAgICAtMHgxLmVhNWMzZWQ1YjM4NTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAweDEuYTJjMjg5ZDlkMDU1YWMzNzdmNjdkN2E1NGEwYjMwMDVwLTEsCisgICAgMHgxLmVhNWMzZWQ1YjM4NTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAtMHgxLjk1ZjA1MjU3ZGJjYjVmNGIxMjYzNmM1ODc4ZWE0MDVhcC0xLAorICAgIC0weDEuZDRiODdkYWI2NzBhMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIDB4MS45NWYwNTI1N2RiY2I1ZjRiMTI2MzZjNTg3OGVhNDA1YXAtMSwKKyAgICAweDEuZDRiODdkYWI2NzBhMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIC0weDEuODg2NDdmMjZhNmUwZjZiMjcxNWE2YzM3OTdlYzExZjVwLTEsCisgICAgLTB4MS5iZjE0YmM4MTFhOGYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLjg4NjQ3ZjI2YTZlMGY2YjI3MTVhNmMzNzk3ZWMxMWY1cC0xLAorICAgIDB4MS5iZjE0YmM4MTFhOGYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgLTB4MS43YTI1NDFkZmQ0ZTc1MmRlMzhmMDRhYmEyMWZjOWQ5ZnAtMSwKKyAgICAtMHgxLmE5NzBmYjU2Y2UxNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAweDEuN2EyNTQxZGZkNGU3NTJkZTM4ZjA0YWJhMjFmYzlkOWZwLTEsCisgICAgMHgxLmE5NzBmYjU2Y2UxNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAtMHgxLjZiMzkxZTI1YmMyNmNiYmNmN2EwMTg0MDcwYWY5YzM5cC0xLAorICAgIC0weDEuOTNjZDNhMmM4MTk5MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS42YjM5MWUyNWJjMjZjYmJjZjdhMDE4NDA3MGFmOWMzOXAtMSwKKyAgICAweDEuOTNjZDNhMmM4MTk5MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwOQorICAgIC0weDEuNWJhNmU2YThlNzA2NTM1Yjk4ZmM5OWRmYWVmODI0ZjFwLTEsCisgICAgLTB4MS43ZTI5NzkwMjM1MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLjViYTZlNmE4ZTcwNjUzNWI5OGZjOTlkZmFlZjgyNGYxcC0xLAorICAgIDB4MS43ZTI5NzkwMjM1MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgLTB4MS40Yjc1YmEwOTZmYTU0OWViOTM1OTVkODE5NGFiOTE3ZnAtMSwKKyAgICAtMHgxLjY4ODViN2Q3ZThhMzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICAweDEuNGI3NWJhMDk2ZmE1NDllYjkzNTk1ZDgxOTRhYjkxN2ZwLTEsCisgICAgMHgxLjY4ODViN2Q3ZThhMzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAtMHgxLjNhYWNmZjk1YTMxMjJiMTVmMzcyYmZkMmZkZjlhNzVmcC0xLAorICAgIC0weDEuNTJlMWY2YWQ5YzI4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS4zYWFjZmY5NWEzMTIyYjE1ZjM3MmJmZDJmZGY5YTc1ZnAtMSwKKyAgICAweDEuNTJlMWY2YWQ5YzI4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIC0weDEuMjk1NDYzZTc2OTI4NGE1YWVkMTdhNDQzMzkyZjM4ZjNwLTEsCisgICAgLTB4MS4zZDNlMzU4MzRmYWQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLjI5NTQ2M2U3NjkyODRhNWFlZDE3YTQ0MzM5MmYzOGYzcC0xLAorICAgIDB4MS4zZDNlMzU4MzRmYWQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgLTB4MS5mYzc2OWI3N2U1ODg0OTVhNmY2NDJjYTI0ZTRlZDNmY3AtMiwKKyAgICAtMHgxLjBhMGIwMjUwMWM3OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuZmM3NjliNzdlNTg4NDk1YTZmNjQyY2EyNGU0ZWQzZmNwLTIsCisgICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAtMHgxLmM4NTNjNzg0NjJkZTQ2YjU3NDMzMTU2MTJmOGI1YTdjcC0yLAorICAgIC0weDEuZDhmNzIwOGU2YjgyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIDB4MS5jODUzYzc4NDYyZGU0NmI1NzQzMzE1NjEyZjhiNWE3Y3AtMiwKKyAgICAweDEuZDhmNzIwOGU2YjgyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIC0weDEuOTJhYmE5MGFhZjI3MjQ5ZGU0OWM3OGZjNjQzYzhiNzJwLTIsCisgICAgLTB4MS45ZGQ4M2M3YzllMTI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLjkyYWJhOTBhYWYyNzI0OWRlNDljNzhmYzY0M2M4YjcycC0yLAorICAgIDB4MS45ZGQ4M2M3YzllMTI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgLTB4MS41YmFjMDY0NjU4ZjM5NDYwYzgzMTEzYzBhMDA5N2EwY3AtMiwKKyAgICAtMHgxLjYyYjk1ODZhZDBhMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuNWJhYzA2NDY1OGYzOTQ2MGM4MzExM2MwYTAwOTdhMGNwLTIsCisgICAgMHgxLjYyYjk1ODZhZDBhMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICAtMHgxLjIzODNjYTgwNzhlNTg0NzdjZDVmYjFkOWRlMDMxZGNlcC0yLAorICAgIC0weDEuMjc5YTc0NTkwMzMxYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIDB4MS4yMzgzY2E4MDc4ZTU4NDc3Y2Q1ZmIxZDlkZTAzMWRjZXAtMiwKKyAgICAweDEuMjc5YTc0NTkwMzMxYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIC0weDEuZDRjNWJjMTFkMjM3MWFmMmZlMjVlZjVlZGUyNzY2YTNwLTMsCisgICAgLTB4MS5kOGY3MjA4ZTZiODI5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmQ0YzViYzExZDIzNzFhZjJmZTI1ZWY1ZWRlMjc2NmEzcC0zLAorICAgIDB4MS5kOGY3MjA4ZTZiODI5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgLTB4MS42MGYzZmFhZjQzMDIzZDNjNzg2M2FlMDZkNGQ1OTc3NHAtMywKKyAgICAtMHgxLjYyYjk1ODZhZDBhMWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuNjBmM2ZhYWY0MzAyM2QzYzc4NjNhZTA2ZDRkNTk3NzRwLTMsCisgICAgMHgxLjYyYjk1ODZhZDBhMWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzEKKyAgICAtMHgxLmQ3ZWEzZGU0NWE5ZDY1NjNhYzAwNWMwYzViYWQ4YzUwcC00LAorICAgIC0weDEuZDhmNzIwOGU2YjgyNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDczMgorICAgIDB4MS5kN2VhM2RlNDVhOWQ2NTYzYWMwMDVjMGM1YmFkOGM1MHAtNCwKKyAgICAweDEuZDhmNzIwOGU2YjgyNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIC0weDEuZDhiM2RmNDg5OTg3YTZmZTBlZWFkMDA4ZTcyMGFhMjJwLTUsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzM2CisgICAgLTB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAweDEuZDdlYTNkZTQ1YTlkZDRhNGJjY2QxYThjMDQ4ZmFmNGNwLTQsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAtMHgxLmQ3ZWEzZGU0NWE5ZGQ0YTRiY2NkMWE4YzA0OGZhZjRjcC00LAorICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNAorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIDB4MS42MGYzZmFhZjQzMDI3YzQ3NTJmNTY0ZjlkMDgxOGZlOHAtMywKKyAgICAweDEuNjJiOTU4NmFkMGEyMnAtMworICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIC0weDEuNjBmM2ZhYWY0MzAyN2M0NzUyZjU2NGY5ZDA4MThmZThwLTMsCisgICAgLTB4MS42MmI5NTg2YWQwYTIycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgMHgxLmQ0YzViYzExZDIzNzU5NDAwNjQyZTVhMWVmZGMwZjg1cC0zLAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQyCisgICAgLTB4MS5kNGM1YmMxMWQyMzc1OTQwMDY0MmU1YTFlZmRjMGY4NXAtMywKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDMKKyAgICAweDEuMjM4M2NhODA3OGU1YTMyNGQ1MmMxNTMwNzQyY2Q0ZjVwLTIsCisgICAgMHgxLjI3OWE3NDU5MDMzMWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAtMHgxLjIzODNjYTgwNzhlNWEzMjRkNTJjMTUzMDc0MmNkNGY1cC0yLAorICAgIC0weDEuMjc5YTc0NTkwMzMxY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIDB4MS41YmFjMDY0NjU4ZjNiMjdhMjg1NzJiZWEyNTYxOTVlZnAtMiwKKyAgICAweDEuNjJiOTU4NmFkMGEyMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDc0NgorICAgIC0weDEuNWJhYzA2NDY1OGYzYjI3YTI4NTcyYmVhMjU2MTk1ZWZwLTIsCisgICAgLTB4MS42MmI5NTg2YWQwYTIycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLjkyYWJhOTBhYWYyNzQyMDllZmFlZDA4ZTM0MDcxZTNicC0yLAorICAgIDB4MS45ZGQ4M2M3YzllMTI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzQ4CisgICAgLTB4MS45MmFiYTkwYWFmMjc0MjA5ZWZhZWQwOGUzNDA3MWUzYnAtMiwKKyAgICAtMHgxLjlkZDgzYzdjOWUxMjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDkKKyAgICAweDEuYzg1M2M3ODQ2MmRlNjM1YjEwYTJiOTNhZmQ3NWRhMjZwLTIsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTAKKyAgICAtMHgxLmM4NTNjNzg0NjJkZTYzNWIxMGEyYjkzYWZkNzVkYTI2cC0yLAorICAgIC0weDEuZDhmNzIwOGU2YjgyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIDB4MS5mYzc2OWI3N2U1ODg0OTVhNmY2NDJjYTI0ZTRlZDNmY3AtMiwKKyAgICAweDEuMGEwYjAyNTAxYzc5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIC0weDEuZmM3NjliNzdlNTg4NDk1YTZmNjQyY2EyNGU0ZWQzZmNwLTIsCisgICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLjI5NTQ2M2U3NjkyODE2NDBhZTAyNmY1MGZjNDVlMzAxcC0xLAorICAgIDB4MS4zZDNlMzU4MzRmYWNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzU0CisgICAgLTB4MS4yOTU0NjNlNzY5MjgxNjQwYWUwMjZmNTBmYzQ1ZTMwMXAtMSwKKyAgICAtMHgxLjNkM2UzNTgzNGZhY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuM2FhY2ZmOTVhMzExZjg5OWEwZTI3OTUzNWU4MWM0ZWNwLTEsCisgICAgMHgxLjUyZTFmNmFkOWMyN2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAtMHgxLjNhYWNmZjk1YTMxMWY4OTlhMGUyNzk1MzVlODFjNGVjcC0xLAorICAgIC0weDEuNTJlMWY2YWQ5YzI3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc1NworICAgIDB4MS40Yjc1YmEwOTZmYTUxOTI0NDJiNzk1MGY5NjBmODAwNnAtMSwKKyAgICAweDEuNjg4NWI3ZDdlOGEyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIC0weDEuNGI3NWJhMDk2ZmE1MTkyNDQyYjc5NTBmOTYwZjgwMDZwLTEsCisgICAgLTB4MS42ODg1YjdkN2U4YTJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLjViYTZlNmE4ZTcwNjI0NWY5N2UyOGFmM2RkYjcwMGY2cC0xLAorICAgIDB4MS43ZTI5NzkwMjM1MWRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzYwCisgICAgLTB4MS41YmE2ZTZhOGU3MDYyNDVmOTdlMjhhZjNkZGI3MDBmNnAtMSwKKyAgICAtMHgxLjdlMjk3OTAyMzUxZGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAweDEuNmIzOTFlMjViYzI2OWVhMWMxYTQwZGU2MmZiYzAzYjRwLTEsCisgICAgMHgxLjkzY2QzYTJjODE5OGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAtMHgxLjZiMzkxZTI1YmMyNjllYTFjMWE0MGRlNjJmYmMwM2I0cC0xLAorICAgIC0weDEuOTNjZDNhMmM4MTk4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS43YTI1NDFkZmQ0ZTcyN2I4NmRkMzA5NjY0MTg2ZWM2YnAtMSwKKyAgICAweDEuYTk3MGZiNTZjZTEzY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc2NAorICAgIC0weDEuN2EyNTQxZGZkNGU3MjdiODZkZDMwOTY2NDE4NmVjNmJwLTEsCisgICAgLTB4MS5hOTcwZmI1NmNlMTNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLjg4NjQ3ZjI2YTZlMGNkOTVjYjk5MWY3ZmZlNjFhMDJlcC0xLAorICAgIDB4MS5iZjE0YmM4MTFhOGVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgLTB4MS44ODY0N2YyNmE2ZTBjZDk1Y2I5OTFmN2ZmZTYxYTAyZXAtMSwKKyAgICAtMHgxLmJmMTRiYzgxMWE4ZWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjcKKyAgICAweDEuOTVmMDUyNTdkYmNiMzg0YTVlMzI2ODU3Mzc2ZGQ4MDFwLTEsCisgICAgMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAtMHgxLjk1ZjA1MjU3ZGJjYjM4NGE1ZTMyNjg1NzM3NmRkODAxcC0xLAorICAgIC0weDEuZDRiODdkYWI2NzA5Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIDB4MS5hMmMyODlkOWQwNTU4NzY0OTIxYTRkZTM1NWY5NDQ4Y3AtMSwKKyAgICAweDEuZWE1YzNlZDViMzg0Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDc3MAorICAgIC0weDEuYTJjMjg5ZDlkMDU1ODc2NDkyMWE0ZGUzNTVmOTQ0OGNwLTEsCisgICAgLTB4MS5lYTVjM2VkNWIzODRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLmMxZTk4ODMzNzNkN2VjYzQ4YzkyZGM4ODc1NTA1ZjdlcC0xLAorICAgIDB4MS4xMmJkOTE3M2MwN2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzIKKyAgICAtMHgxLmMxZTk4ODMzNzNkN2VjYzQ4YzkyZGM4ODc1NTA1ZjdlcC0xLAorICAgIC0weDEuMTJiZDkxNzNjMDdhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLmQyOTRkMWY5NmM3ZWYyNmUyMDNjNWIzMDlhNTU2NzFmcC0xLAorICAgIDB4MS4yNTdiMjJlNzgwZjU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAtMHgxLmQyOTRkMWY5NmM3ZWYyNmUyMDNjNWIzMDlhNTU2NzFmcC0xLAorICAgIC0weDEuMjU3YjIyZTc4MGY1NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzc1CisgICAgMHgxLmUwYzA0YTk0ZTE3MzM1ZDA3MzA1MmEwMzk0YjllMWMzcC0xLAorICAgIDB4MS4zODM4YjQ1YjQxNzAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAtMHgxLmUwYzA0YTk0ZTE3MzM1ZDA3MzA1MmEwMzk0YjllMWMzcC0xLAorICAgIC0weDEuMzgzOGI0NWI0MTcwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzc3CisgICAgMHgxLmVjNTg4M2I3YjZjZjcwYTU3N2RkOTE2MGQwZjhlOWQ1cC0xLAorICAgIDB4MS40YWY2NDVjZjAxZWFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAtMHgxLmVjNTg4M2I3YjZjZjcwYTU3N2RkOTE2MGQwZjhlOWQ1cC0xLAorICAgIC0weDEuNGFmNjQ1Y2YwMWVhY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgMHgxLmY1NGQ5NzE4ODFhZDgyNjI5YmQ4NGQyMTQxOTRlOGRkcC0xLAorICAgIDB4MS41ZGIzZDc0MmMyNjU3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAtMHgxLmY1NGQ5NzE4ODFhZDgyNjI5YmQ4NGQyMTQxOTRlOGRkcC0xLAorICAgIC0weDEuNWRiM2Q3NDJjMjY1N3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzgxCisgICAgMHgxLmZiOTMzYzQwMTA3ZmU4M2ZkMTZjMTc4OWUyN2Y2OWY3cC0xLAorICAgIDB4MS43MDcxNjhiNjgyZTAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODIKKyAgICAtMHgxLmZiOTMzYzQwMTA3ZmU4M2ZkMTZjMTc4OWUyN2Y2OWY3cC0xLAorICAgIC0weDEuNzA3MTY4YjY4MmUwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgzCisgICAgMHgxLmZmMjBkOTYxNjI0ZTc3ZGFlZjMyOWI0MDI5YzM2MmRlcC0xLAorICAgIDB4MS44MzJlZmEyYTQzNWFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODQKKyAgICAtMHgxLmZmMjBkOTYxNjI0ZTc3ZGFlZjMyOWI0MDI5YzM2MmRlcC0xLAorICAgIC0weDEuODMyZWZhMmE0MzVhZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLmZmZjE4ZjI0ZjNlNGI2OTU5MjI5NGYyMDZkN2IzMmMycC0xLAorICAgIDB4MS45NWVjOGI5ZTAzZDU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAtMHgxLmZmZjE4ZjI0ZjNlNGI2OTU5MjI5NGYyMDZkN2IzMmMycC0xLAorICAgIC0weDEuOTVlYzhiOWUwM2Q1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgMHgxLmZlMDQzZjU3MzY5ZDZhNTJmYTMzZjAxMTllYzRkYTE5cC0xLAorICAgIDB4MS5hOGFhMWQxMWM0NGZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODgKKyAgICAtMHgxLmZlMDQzZjU3MzY5ZDZhNTJmYTMzZjAxMTllYzRkYTE5cC0xLAorICAgIC0weDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzg5CisgICAgMHgxLmIzZDM2OTVhY2M0MTM2YjJkNDQ3MTRmOWIzODQxOWI0cC0xLAorICAgIDB4MS4wNGFmZjZkMzMwOTQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAtMHgxLmIzZDM2OTVhY2M0MTM2YjJkNDQ3MTRmOWIzODQxOWI0cC0xLAorICAgIC0weDEuMDRhZmY2ZDMzMDk0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgMHgxLmIzZDQxOTcyZGM4MDYzOTk0ZjYzNDEzZDVlNGQ4ZTRicC0xLAorICAgIDB4MS4wNGIwOWU5OGRjZGI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAtMHgxLmIzZDQxOTcyZGM4MDYzOTk0ZjYzNDEzZDVlNGQ4ZTRicC0xLAorICAgIC0weDEuMDRiMDllOThkY2RiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzkzCisgICAgMHgxLmIzZDRjOThhMzE4ZmI2NmY4MjFkNzI4NmFlN2RjZTdicC0xLAorICAgIDB4MS4wNGIxNDY1ZTg5MjI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAtMHgxLmIzZDRjOThhMzE4ZmI2NmY4MjFkNzI4NmFlN2RjZTdicC0xLAorICAgIC0weDEuMDRiMTQ2NWU4OTIyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzk1CisgICAgMHgxLmIzZDU3OWEwY2I2ZWUzOTNmZjc1YjU4ZmZlMTZkMTNmcC0xLAorICAgIDB4MS4wNGIxZWUyNDM1Njk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAtMHgxLmIzZDU3OWEwY2I2ZWUzOTNmZjc1YjU4ZmZlMTZkMTNmcC0xLAorICAgIC0weDEuMDRiMWVlMjQzNTY5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgMHgxLmIzZDYyOWI2YWExZDlmNjVhYWQxYTJmYzkzMmM4YmNicC0xLAorICAgIDB4MS4wNGIyOTVlOWUxYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTgKKyAgICAtMHgxLmIzZDYyOWI2YWExZDlmNjVhYWQxYTJmYzkzMmM4YmNicC0xLAorICAgIC0weDEuMDRiMjk1ZTllMWIwYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzk5CisgICAgMHgxLmIzZDZkOWNiY2Q5YjllNDNiN2ZjN2ZkNDI4YTQ0ZGQ4cC0xLAorICAgIDB4MS4wNGIzM2RhZjhkZjdjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAtMHgxLmIzZDZkOWNiY2Q5YjllNDNiN2ZjN2ZkNDI4YTQ0ZGQ4cC0xLAorICAgIC0weDEuMDRiMzNkYWY4ZGY3Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgODAxCisgICAgMHgxLmIzZDc4OWUwMzVlODk0OGRhYjI3NWRmZTU0NmM1YjA4cC0xLAorICAgIDB4MS4wNGIzZTU3NTNhM2VlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAtMHgxLmIzZDc4OWUwMzVlODk0OGRhYjI3NWRmZTU0NmM1YjA4cC0xLAorICAgIC0weDEuMDRiM2U1NzUzYTNlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgMHgxLmIzZDgzOWYzZTMwNDM2YTM1OGU5M2NiZGNiMmJiMzY3cC0xLAorICAgIDB4MS4wNGI0OGQzYWU2ODYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAtMHgxLmIzZDgzOWYzZTMwNDM2YTM1OGU5M2NiZGNiMmJiMzY3cC0xLAorICAgIC0weDEuMDRiNDhkM2FlNjg2MHAwCisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgMHgxLmIzZDhlYTA2ZDRlZTA2ODRmNTc0MWVjNzc3ZWQ4OGUwcC0xLAorICAgIDB4MS4wNGI1MzUwMDkyY2NmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAtMHgxLmIzZDhlYTA2ZDRlZTA2ODRmNTc0MWVjNzc3ZWQ4OGUwcC0xLAorICAgIC0weDEuMDRiNTM1MDA5MmNjZnAwCisgIH0sCisgIHsgLy8gRW50cnkgODA3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTAKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDgxMgorICAgIDB4MS4xNzczZDU2MWZkNTA2NWQwZTk2MDdhNzI4YTM5ZWVkMnAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIC0weDEuMTc3M2Q1NjFmZDUwNjVkMGU5NjA3YTcyOGEzOWVlZDJwLTEsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFicC0xCisgIH0sCisgIHsgLy8gRW50cnkgODE0CisgICAgMHgxLjE3NzNkNTYxZmQ1MDczMzhmZjljMDg4ZDgwYzY4MGRicC0xLAorICAgIDB4MS4yNzlhNzQ1OTAzMzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgLTB4MS4xNzczZDU2MWZkNTA3MzM4ZmY5YzA4OGQ4MGM2ODBkYnAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTYKKyAgICAweDEuMTc3M2Q1NjFmZDUwODBhMTE1ZDc5NmE4NzcwZDM1ZWZwLTEsCisgICAgMHgxLjI3OWE3NDU5MDMzMWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAtMHgxLjE3NzNkNTYxZmQ1MDgwYTExNWQ3OTZhODc3MGQzNWVmcC0xLAorICAgIC0weDEuMjc5YTc0NTkwMzMxZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxOAorICAgIDB4MS5mOTViOGU3MTA3NDE4YzExYzk0ZDRhNTRhOWRhOWI3YXAtMSwKKyAgICAweDEuYmI2N2FlODU4NGNhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgLTB4MS5mOTViOGU3MTA3NDE4YzExYzk0ZDRhNTRhOWRhOWI3YXAtMSwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYTlwMAorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS5mOTViOGU3MTA3NDE4NmVlODFkNWZmODlkOGZhZTU0NXAtMSwKKyAgICAweDEuYmI2N2FlODU4NGNhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgLTB4MS5mOTViOGU3MTA3NDE4NmVlODFkNWZmODlkOGZhZTU0NXAtMSwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIDB4MS5mOTViOGU3MTA3NDE4MWNiM2E1ZWI0YmYwNjIxZDM4MXAtMSwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgODIzCisgICAgLTB4MS5mOTViOGU3MTA3NDE4MWNiM2E1ZWI0YmYwNjIxZDM4MXAtMSwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWJwMAorICB9LAorICB7IC8vIEVudHJ5IDgyNAorICAgIDB4MS5iMWQ4MzA1MzIxNjE1YWM5MzhjZmYwMmJlOWYyNTA4NXAtMiwKKyAgICAweDEuYmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDgyNQorICAgIC0weDEuYjFkODMwNTMyMTYxNWFjOTM4Y2ZmMDJiZTlmMjUwODVwLTIsCisgICAgLTB4MS5iZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAorICAgIDB4MS5jcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgLTB4MS5iMWQ4MzA1MzIxNjE2OTQ3NmY0ZDE5ODJiOWIxNGFiMXAtMiwKKyAgICAtMHgxLmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjgKKyAgICAweDEuYjFkODMwNTMyMTYxNzdjNWE1Y2E0MmQ5ODk1NTI3NWFwLTIsCisgICAgMHgxLmMwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICAtMHgxLmIxZDgzMDUzMjE2MTc3YzVhNWNhNDJkOTg5NTUyNzVhcC0yLAorICAgIC0weDEuYzAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDgzMAorICAgIDB4MS40NGViMzgxY2YzODY5ZWE3MWNjYjM2ODYzZTRlYTY1YnAtMSwKKyAgICAweDEuNWZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzMQorICAgIC0weDEuNDRlYjM4MWNmMzg2OWVhNzFjY2IzNjg2M2U0ZWE2NWJwLTEsCisgICAgLTB4MS41ZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMyCisgICAgMHgxLjQ0ZWIzODFjZjM4NmFiMDRhNGY4NjU2YWJlYTgwYjgzcC0xLAorICAgIDB4MS42cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgLTB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKKyAgICAtMHgxLjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzQKKyAgICAweDEuNDRlYjM4MWNmMzg2Yjc2MjJkMjU5NDRmM2ViMDM1ZGNwLTEsCisgICAgMHgxLjYwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzUKKyAgICAtMHgxLjQ0ZWIzODFjZjM4NmI3NjIyZDI1OTQ0ZjNlYjAzNWRjcC0xLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIDB4MS5kYWQ5MDJmYThhYzg2NGZkOGFmYTBiZGM2MDlkZWQxOXAtMSwKKyAgICAweDEuMmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgODM3CisgICAgLTB4MS5kYWQ5MDJmYThhYzg2NGZkOGFmYTBiZGM2MDlkZWQxOXAtMSwKKyAgICAtMHgxLjJmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIDB4MS5kYWQ5MDJmYThhYzg3MGY1MmYxYjg0M2FjODNiYzNlZHAtMSwKKyAgICAweDEuM3AwCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgLTB4MS5kYWQ5MDJmYThhYzg3MGY1MmYxYjg0M2FjODNiYzNlZHAtMSwKKyAgICAtMHgxLjNwMAorICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIDB4MS5kYWQ5MDJmYThhYzg3Y2VjZDMzY2ZjOTkyZGZlYzFiZXAtMSwKKyAgICAweDEuMzAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgODQxCisgICAgLTB4MS5kYWQ5MDJmYThhYzg3Y2VjZDMzY2ZjOTkyZGZlYzFiZXAtMSwKKyAgICAtMHgxLjMwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIDB4MS40YjcwN2E3YWNkZWNmOTBhMTg4ZDAyMzBmYWQzYWQ1OHAtMSwKKyAgICAweDEuMzdmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgODQzCisgICAgLTB4MS40YjcwN2E3YWNkZWNmOTBhMTg4ZDAyMzBmYWQzYWQ1OHAtMSwKKyAgICAtMHgxLjM3ZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIDB4MS40YjcwN2E3YWNkZWNjODQyMzk0NjNlNzhiMzEyZmExMHAtMSwKKyAgICAweDEuMzgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDUKKyAgICAtMHgxLjRiNzA3YTdhY2RlY2M4NDIzOTQ2M2U3OGIzMTJmYTEwcC0xLAorICAgIC0weDEuMzgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAweDEuNGI3MDdhN2FjZGVjOTc3YTU5ZmY3YWMwNjYyNDg0ZGRwLTEsCisgICAgMHgxLjM4MDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIC0weDEuNGI3MDdhN2FjZGVjOTc3YTU5ZmY3YWMwNjYyNDg0ZGRwLTEsCisgICAgLTB4MS4zODAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAweDEuMDY2ZTdlYjc2ZjVjNjY3OGZkODMyNWE4MWYxOTI1YzZwLTQsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDkKKyAgICAtMHgxLjA2NmU3ZWI3NmY1YzY2NzhmZDgzMjVhODFmMTkyNWM2cC00LAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDg1MAorICAgIDB4MS4wNWU0NzYxYWI4ZDhmMGE3ZGJhODM0MDAwZjIzNjY1MHAtMywKKyAgICAweDEuMDY5YzhiNDZiMzc5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDg1MQorICAgIC0weDEuMDVlNDc2MWFiOGQ4ZjBhN2RiYTgzNDAwMGYyMzY2NTBwLTMsCisgICAgLTB4MS4wNjljOGI0NmIzNzkycC0zCisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgMHgxLjg3N2UyY2Q0ZjZmZDliYTQ5OGUzMjcwNTMwMzI3MzRmcC0zLAorICAgIDB4MS44OWVhZDBlYTBkMzVicC0zCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgLTB4MS44NzdlMmNkNGY2ZmQ5YmE0OThlMzI3MDUzMDMyNzM0ZnAtMywKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAweDEuMDNiZTA2Zjk3Y2JlZTQ3Njk4NTM5Zjk3N2NhZGJlN2VwLTIsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTUKKyAgICAtMHgxLjAzYmUwNmY5N2NiZWU0NzY5ODUzOWY5NzdjYWRiZTdlcC0yLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDg1NgorICAgIDB4MS40MmFiYmE4YzcyZmJiOGNhOTZmNzlhYTRiYjAzNTg0ZXAtMiwKKyAgICAweDEuNDg0M2FlMTg2MDU3NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDg1NworICAgIC0weDEuNDJhYmJhOGM3MmZiYjhjYTk2Zjc5YWE0YmIwMzU4NGVwLTIsCisgICAgLTB4MS40ODQzYWUxODYwNTc2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODU4CisgICAgMHgxLjgwNDVmZTY0ZTYyZGMzZDY4NmQ5NzZkN2Q1YTdjNjg5cC0yLAorICAgIDB4MS44OWVhZDBlYTBkMzVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgLTB4MS44MDQ1ZmU2NGU2MmRjM2Q2ODZkOTc2ZDdkNWE3YzY4OXAtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjAKKyAgICAweDEuYmM0YzA0ZDcxYWJiZWVhNWFiMDY0ZWNmYmY1NGM2MTNwLTIsCisgICAgMHgxLmNiOTFmM2JiYmExM2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAtMHgxLmJjNGMwNGQ3MWFiYmVlYTVhYjA2NGVjZmJmNTRjNjEzcC0yLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDg2MgorICAgIDB4MS5mNjdlYTk3NWI4NmEwMTUxMGU2YmRlMzc3ODEzODkzNHAtMiwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg2MworICAgIC0weDEuZjY3ZWE5NzViODZhMDE1MTBlNmJkZTM3NzgxMzg5MzRwLTIsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODY0CisgICAgMHgxLjE3NTA1OWJmMGQ0MjUyNGVjYjBiZjQyNDNiNTU5NzNkcC0xLAorICAgIDB4MS4yNzcwMWNhZjg5ZTgzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgLTB4MS4xNzUwNTliZjBkNDI1MjRlY2IwYmY0MjQzYjU1OTczZHAtMSwKKyAgICAtMHgxLjI3NzAxY2FmODllODNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjYKKyAgICAweDEuMzIzYjhiMWZiNGJhMjFkZDEyY2NlODIwZTE1NmE0ZmNwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAtMHgxLjMyM2I4YjFmYjRiYTIxZGQxMmNjZTgyMGUxNTZhNGZjcC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU3NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIDB4MS40YmU0OTc5YzVlZmIzMDZjMWE3NzAyNDAzMjg0OWI1MnAtMSwKKyAgICAweDEuNjkxNzNmODEzNmM2N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDg2OQorICAgIC0weDEuNGJlNDk3OWM1ZWZiMzA2YzFhNzcwMjQwMzI4NDliNTJwLTEsCisgICAgLTB4MS42OTE3M2Y4MTM2YzY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcwCisgICAgMHgxLjY0MzA4MGQ2N2FjYzEzMzJjNjRhODU2MTJjYWNhZmI5cC0xLAorICAgIDB4MS44OWVhZDBlYTBkMzU5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODcxCisgICAgLTB4MS42NDMwODBkNjdhY2MxMzMyYzY0YTg1NjEyY2FjYWZiOXAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzIKKyAgICAweDEuN2IwNWI3YjZjNjEyZTViMDhkNWVmZTQ5YTQ2ZTIxYTFwLTEsCisgICAgMHgxLmFhYmU2MjUyZTNhNGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAtMHgxLjdiMDViN2I2YzYxMmU1YjA4ZDVlZmU0OWE0NmUyMWExcC0xLAorICAgIC0weDEuYWFiZTYyNTJlM2E0YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg3NAorICAgIDB4MS45MDRjMzc1MDVkZTQ4ZmE4ZTc2Mjg3OTYwZmQ0NDU5NHAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEzZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC0weDEuOTA0YzM3NTA1ZGU0OGZhOGU3NjI4Nzk2MGZkNDQ1OTRwLTEsCisgICAgLTB4MS5jYjkxZjNiYmJhMTNkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODc2CisgICAgMHgxLmEzZWQ5ZTI1MjkzOGExNGM3OWM1NzU2MzljMTVhOTFkcC0xLAorICAgIDB4MS5lYzY1ODUyNDkwODJmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgLTB4MS5hM2VkOWUyNTI5MzhhMTRjNzljNTc1NjM5YzE1YTkxZHAtMSwKKyAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAweDEuYjVkNTQ1YjEwOWJmOTM1NTk0MDM2Nzk4Y2Y0MGM5YjBwLTEsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTFwMAorICB9LAorICB7IC8vIEVudHJ5IDg3OQorICAgIC0weDEuYjVkNTQ1YjEwOWJmOTM1NTk0MDM2Nzk4Y2Y0MGM5YjBwLTEsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODAKKyAgICAweDEuYzVmMDU4MjMwZTdmZDE0ZDNlNWUzMTUzNDlmNjk5ZWZwLTEsCisgICAgMHgxLjE3MDY1M2ZiMWViMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIC0weDEuYzVmMDU4MjMwZTdmZDE0ZDNlNWUzMTUzNDlmNjk5ZWZwLTEsCisgICAgLTB4MS4xNzA2NTNmYjFlYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODIKKyAgICAweDEuZDQyZGU0MmRjZTEzNDZhMDNkMWY2YWJmMGViYTkwMjJwLTEsCisgICAgMHgxLjI3NzAxY2FmODllODNwMAorICB9LAorICB7IC8vIEVudHJ5IDg4MworICAgIC0weDEuZDQyZGU0MmRjZTEzNDZhMDNkMWY2YWJmMGViYTkwMjJwLTEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAweDEuZTA3ZWVlZGExMDljYjUwNGFmY2NhODYwZDRiNWRkMzJwLTEsCisgICAgMHgxLjM3ZDllNTYzZjUxZmNwMAorICB9LAorICB7IC8vIEVudHJ5IDg4NQorICAgIC0weDEuZTA3ZWVlZGExMDljYjUwNGFmY2NhODYwZDRiNWRkMzJwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MWZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODYKKyAgICAweDEuZWFkNjgzNDkwOWI5MzM3MWZhZjNiZWFkZGJkNjBlZGRwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwMAorICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIC0weDEuZWFkNjgzNDkwOWI5MzM3MWZhZjNiZWFkZGJkNjBlZGRwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNTc1cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICAweDEuZjMyOWMwNTU4ZTk2N2U0Y2FiNThkMGZhNTcyZDYyZDJwLTEsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDg4OQorICAgIC0weDEuZjMyOWMwNTU4ZTk2N2U0Y2FiNThkMGZhNTcyZDYyZDJwLTEsCisgICAgLTB4MS41OGFkNzZjY2NiOGVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAweDEuZjk2ZmU0MDVmMWFjNWRjOWNmMzQzNTA4MDY3YmZjYWVwLTEsCisgICAgMHgxLjY5MTczZjgxMzZjNjdwMAorICB9LAorICB7IC8vIEVudHJ5IDg5MQorICAgIC0weDEuZjk2ZmU0MDVmMWFjNWRjOWNmMzQzNTA4MDY3YmZjYWVwLTEsCisgICAgLTB4MS42OTE3M2Y4MTM2YzY3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTIKKyAgICAweDEuZmRhMjU0YzI3YTAxZjQ3ODZjMTQ5ZDZhNzc3OWNjM2FwLTEsCisgICAgMHgxLjc5ODEwODM1YTFmZTBwMAorICB9LAorICB7IC8vIEVudHJ5IDg5MworICAgIC0weDEuZmRhMjU0YzI3YTAxZjQ3ODZjMTQ5ZDZhNzc3OWNjM2FwLTEsCisgICAgLTB4MS43OTgxMDgzNWExZmUwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAweDEuZmZiY2E4NDZjNGZjOTk3ZjFhMzgxNDIwMjA4ODg0ZTBwLTEsCisgICAgMHgxLjg5ZWFkMGVhMGQzNTlwMAorICB9LAorICB7IC8vIEVudHJ5IDg5NQorICAgIC0weDEuZmZiY2E4NDZjNGZjOTk3ZjFhMzgxNDIwMjA4ODg0ZTBwLTEsCisgICAgLTB4MS44OWVhZDBlYTBkMzU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAweDEuZmZiY2E4NDZjNGZjOWYzMGJmYjQ1OGVmMjA5MWM4ZWVwLTEsCisgICAgMHgxLjlhNTQ5OTllNzg2ZDJwMAorICB9LAorICB7IC8vIEVudHJ5IDg5NworICAgIC0weDEuZmZiY2E4NDZjNGZjOWYzMGJmYjQ1OGVmMjA5MWM4ZWVwLTEsCisgICAgLTB4MS45YTU0OTk5ZTc4NmQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTgKKyAgICAweDEuZmRhMjU0YzI3YTAyMDU4NzVmMjcxNDM1ZjgyNzE2MGNwLTEsCisgICAgMHgxLmFhYmU2MjUyZTNhNGJwMAorICB9LAorICB7IC8vIEVudHJ5IDg5OQorICAgIC0weDEuZmRhMjU0YzI3YTAyMDU4NzVmMjcxNDM1ZjgyNzE2MGNwLTEsCisgICAgLTB4MS5hYWJlNjI1MmUzYTRicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDAKKyAgICAweDEuZjk2ZmU0MDVmMWFjN2EyNDFlMDJlNThiMGNiZjNhZTdwLTEsCisgICAgMHgxLmJiMjgyYjA3NGVkYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC0weDEuZjk2ZmU0MDVmMWFjN2EyNDFlMDJlNThiMGNiZjNhZTdwLTEsCisgICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDIKKyAgICAweDEuZjMyOWMwNTU4ZTk2YTVkNDgyNzJhZDRjNDllYzUzYjhwLTEsCisgICAgMHgxLmNiOTFmM2JiYmExM2RwMAorICB9LAorICB7IC8vIEVudHJ5IDkwMworICAgIC0weDEuZjMyOWMwNTU4ZTk2YTVkNDgyNzJhZDRjNDllYzUzYjhwLTEsCisgICAgLTB4MS5jYjkxZjNiYmJhMTNkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDQKKyAgICAweDEuZWFkNjgzNDkwOWI5NjVmZGM0YjBjZWZmYzBmMjg1YzZwLTEsCisgICAgMHgxLmRiZmJiYzcwMjU0YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIC0weDEuZWFkNjgzNDkwOWI5NjVmZGM0YjBjZWZmYzBmMjg1YzZwLTEsCisgICAgLTB4MS5kYmZiYmM3MDI1NGI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICAweDEuZTA3ZWVlZGExMDljZjI1ZjQwMGNkNWY0NmFjZWM4ODdwLTEsCisgICAgMHgxLmVjNjU4NTI0OTA4MmZwMAorICB9LAorICB7IC8vIEVudHJ5IDkwNworICAgIC0weDEuZTA3ZWVlZGExMDljZjI1ZjQwMGNkNWY0NmFjZWM4ODdwLTEsCisgICAgLTB4MS5lYzY1ODUyNDkwODJmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDgKKyAgICAweDEuZDQyZGU0MmRjZTEzOGU4OTA5MzllNTZjNDM5ZGVkOTBwLTEsCisgICAgMHgxLmZjY2Y0ZGQ4ZmJiYThwMAorICB9LAorICB7IC8vIEVudHJ5IDkwOQorICAgIC0weDEuZDQyZGU0MmRjZTEzOGU4OTA5MzllNTZjNDM5ZGVkOTBwLTEsCisgICAgLTB4MS5mY2NmNGRkOGZiYmE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTAKKyAgICAweDEuYzVmMDU4MjMwZTgwMTRhYjgzZWNlMGMzYTYzOGMwNzlwLTEsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTFwMQorICB9LAorICB7IC8vIEVudHJ5IDkxMQorICAgIC0weDEuYzVmMDU4MjMwZTgwMTRhYjgzZWNlMGMzYTYzOGMwNzlwLTEsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTIKKyAgICAweDEuYjVkNTQ1YjEwOWJmY2UzZmM0ZDc3MDAxYWZlMmYyYjZwLTEsCisgICAgMHgxLjBlZDE2ZmEwZTkxNGVwMQorICB9LAorICB7IC8vIEVudHJ5IDkxMworICAgIC0weDEuYjVkNTQ1YjEwOWJmY2UzZmM0ZDc3MDAxYWZlMmYyYjZwLTEsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTQKKyAgICAweDEuYTNlZDllMjUyOTM4ZDkyYTU1NTNiM2MwOWQyYmRkZDNwLTEsCisgICAgMHgxLjE3MDY1M2ZiMWViMGJwMQorICB9LAorICB7IC8vIEVudHJ5IDkxNQorICAgIC0weDEuYTNlZDllMjUyOTM4ZDkyYTU1NTNiM2MwOWQyYmRkZDNwLTEsCisgICAgLTB4MS4xNzA2NTNmYjFlYjBicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTYKKyAgICAweDEuOTA0YzM3NTA1ZGU0Yjg5NzVkZDI3MzBlMTk2ZGRmYzNwLTEsCisgICAgMHgxLjFmM2IzODU1NTQ0YzhwMQorICB9LAorICB7IC8vIEVudHJ5IDkxNworICAgIC0weDEuOTA0YzM3NTA1ZGU0Yjg5NzVkZDI3MzBlMTk2ZGRmYzNwLTEsCisgICAgLTB4MS4xZjNiMzg1NTU0NGM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTgKKyAgICAweDEuN2IwNWI3YjZjNjEyZmM0ZmRhMzgxMmIxZjEzNDgzODlwLTEsCisgICAgMHgxLjI3NzAxY2FmODllODVwMQorICB9LAorICB7IC8vIEVudHJ5IDkxOQorICAgIC0weDEuN2IwNWI3YjZjNjEyZmM0ZmRhMzgxMmIxZjEzNDgzODlwLTEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjAKKyAgICAweDEuNjQzMDgwZDY3YWNjMTQ2MjA2NzJkZGE2MjQxZWEzMDVwLTEsCisgICAgMHgxLjJmYTUwMTA5YmY4NDJwMQorICB9LAorICB7IC8vIEVudHJ5IDkyMQorICAgIC0weDEuNjQzMDgwZDY3YWNjMTQ2MjA2NzJkZGE2MjQxZWEzMDVwLTEsCisgICAgLTB4MS4yZmE1MDEwOWJmODQycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjIKKyAgICAweDEuNGJlNDk3OWM1ZWZiMTk0ZmM4MmFjMzY3ZmVkZjkzYmNwLTEsCisgICAgMHgxLjM3ZDllNTYzZjUxZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDkyMworICAgIC0weDEuNGJlNDk3OWM1ZWZiMTk0ZmM4MmFjMzY3ZmVkZjkzYmNwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MWZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjQKKyAgICAweDEuMzIzYjhiMWZiNGI5ZWZlNTA3NWVkZTgwNDlhODVjM2RwLTEsCisgICAgMHgxLjQwMGVjOWJlMmFiYmNwMQorICB9LAorICB7IC8vIEVudHJ5IDkyNQorICAgIC0weDEuMzIzYjhiMWZiNGI5ZWZlNTA3NWVkZTgwNDlhODVjM2RwLTEsCisgICAgLTB4MS40MDBlYzliZTJhYmJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjYKKyAgICAweDEuMTc1MDU5YmYwZDQyMDMzYmJjZjU5OGM4OGIxNzZlNjFwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzlwMQorICB9LAorICB7IC8vIEVudHJ5IDkyNworICAgIC0weDEuMTc1MDU5YmYwZDQyMDMzYmJjZjU5OGM4OGIxNzZlNjFwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNTc5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjgKKyAgICAweDEuZjY3ZWE5NzViODY5MjUyMWY3N2Q2NzU0YjMwMmM1YzRwLTIsCisgICAgMHgxLjUwNzg5MjcyOTVmMzZwMQorICB9LAorICB7IC8vIEVudHJ5IDkyOQorICAgIC0weDEuZjY3ZWE5NzViODY5MjUyMWY3N2Q2NzU0YjMwMmM1YzRwLTIsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICAweDEuYmM0YzA0ZDcxYWJhZDE0ZWZjMjlhNjYzNDJhZGE3MjNwLTIsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZjNwMQorICB9LAorICB7IC8vIEVudHJ5IDkzMQorICAgIC0weDEuYmM0YzA0ZDcxYWJhZDE0ZWZjMjlhNjYzNDJhZGE3MjNwLTIsCisgICAgLTB4MS41OGFkNzZjY2NiOGYzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzIKKyAgICAweDEuODA0NWZlNjRlNjJjNjJmNTdmMDc3ZWEyNTFlMmYyZGNwLTIsCisgICAgMHgxLjYwZTI1YjI3MDEyYjBwMQorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIC0weDEuODA0NWZlNjRlNjJjNjJmNTdmMDc3ZWEyNTFlMmYyZGNwLTIsCisgICAgLTB4MS42MGUyNWIyNzAxMmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzQKKyAgICAweDEuNDJhYmJhOGM3MmZhMTJiZTkyMGIzMTY2Mjc1MTJlNDFwLTIsCisgICAgMHgxLjY5MTczZjgxMzZjNmRwMQorICB9LAorICB7IC8vIEVudHJ5IDkzNQorICAgIC0weDEuNDJhYmJhOGM3MmZhMTJiZTkyMGIzMTY2Mjc1MTJlNDFwLTIsCisgICAgLTB4MS42OTE3M2Y4MTM2YzZkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzYKKyAgICAweDEuMDNiZTA2Zjk3Y2JjZjg2NjAyMWU1YTVjNjJjNmIwN2VwLTIsCisgICAgMHgxLjcxNGMyM2RiNmM2MmFwMQorICB9LAorICB7IC8vIEVudHJ5IDkzNworICAgIC0weDEuMDNiZTA2Zjk3Y2JjZjg2NjAyMWU1YTVjNjJjNmIwN2VwLTIsCisgICAgLTB4MS43MTRjMjNkYjZjNjJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzgKKyAgICAweDEuODc3ZTJjZDRmNmY5NDcxMGYyNzc2Nzc1YjAxYzczZGJwLTMsCisgICAgMHgxLjc5ODEwODM1YTFmZTdwMQorICB9LAorICB7IC8vIEVudHJ5IDkzOQorICAgIC0weDEuODc3ZTJjZDRmNmY5NDcxMGYyNzc2Nzc1YjAxYzczZGJwLTMsCisgICAgLTB4MS43OTgxMDgzNWExZmU3cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDAKKyAgICAweDEuMDVlNDc2MWFiOGQ0MjE3MTk1Njc3MTdmNzY3MTI4NjdwLTMsCisgICAgMHgxLjgxYjVlYzhmZDc5YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDk0MQorICAgIC0weDEuMDVlNDc2MWFiOGQ0MjE3MTk1Njc3MTdmNzY3MTI4NjdwLTMsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OWE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDIKKyAgICAweDEuMDY2ZTdlYjc2ZjVkZDJlYTE5YjY5OTFlOGExYTM2MzRwLTQsCisgICAgMHgxLjg5ZWFkMGVhMGQzNWJwMQorICB9LAorICB7IC8vIEVudHJ5IDk0MworICAgIC0weDEuMDY2ZTdlYjc2ZjVkZDJlYTE5YjY5OTFlOGExYTM2MzRwLTQsCisgICAgLTB4MS44OWVhZDBlYTBkMzVicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDQKKyAgICAweDEuMDNiZTA2Zjk3Y2JmMDljYzBiYWRiZGFlODAzZDdiNGVwLTIsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OTlmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDUKKyAgICAtMHgxLjAzYmUwNmY5N2NiZjA5Y2MwYmFkYmRhZTgwM2Q3YjRlcC0yLAorICAgIDB4MS44MWI1ZWM4ZmQ3OTlmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDYKKyAgICAweDEuZjY3ZWE5NzViODZhMjJmMjM0ODc3ODgyNGY5NWQ4NGFwLTIsCisgICAgLTB4MS43MTRjMjNkYjZjNjI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDcKKyAgICAtMHgxLmY2N2VhOTc1Yjg2YTIyZjIzNDg3Nzg4MjRmOTVkODRhcC0yLAorICAgIDB4MS43MTRjMjNkYjZjNjI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDgKKyAgICAweDEuNjQzMDgwZDY3YWNjMjEwZmEyN2U5MjQ3YTgyODYyMjBwLTEsCisgICAgLTB4MS42MGUyNWIyNzAxMmFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDkKKyAgICAtMHgxLjY0MzA4MGQ2N2FjYzIxMGZhMjdlOTI0N2E4Mjg2MjIwcC0xLAorICAgIDB4MS42MGUyNWIyNzAxMmFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTAKKyAgICAweDEuYjVkNTQ1YjEwOWJmOTUwYjQxOTcwMjk3MmI5NGY4ZmFwLTEsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAtMHgxLmI1ZDU0NWIxMDliZjk1MGI0MTk3MDI5NzJiOTRmOGZhcC0xLAorICAgIDB4MS41MDc4OTI3Mjk1ZjM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTIKKyAgICAweDEuZWFkNjgzNDkwOWI5MzQ2MjM0ZGJiNjAxZDA0ODZjZjJwLTEsCisgICAgLTB4MS40MDBlYzliZTJhYmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTMKKyAgICAtMHgxLmVhZDY4MzQ5MDliOTM0NjIzNGRiYjYwMWQwNDg2Y2YycC0xLAorICAgIDB4MS40MDBlYzliZTJhYmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTQKKyAgICAweDEuZmZiY2E4NDZjNGZjOTk5YTI5ZGMxZDZiMmQ3Y2I0MTNwLTEsCisgICAgLTB4MS4yZmE1MDEwOWJmODQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTUKKyAgICAtMHgxLmZmYmNhODQ2YzRmYzk5OWEyOWRjMWQ2YjJkN2NiNDEzcC0xLAorICAgIDB4MS4yZmE1MDEwOWJmODQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTYKKyAgICAweDEuZjMyOWMwNTU4ZTk2YTUxOGEyYWYzYWU3ODAwYTViNjVwLTEsCisgICAgLTB4MS4xZjNiMzg1NTU0NGM5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTcKKyAgICAtMHgxLmYzMjljMDU1OGU5NmE1MThhMmFmM2FlNzgwMGE1YjY1cC0xLAorICAgIDB4MS4xZjNiMzg1NTU0NGM5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTgKKyAgICAweDEuYzVmMDU4MjMwZTgwMjFmMjFiZDBhYzJjMGY2ODA5YTlwLTEsCisgICAgLTB4MS4wZWQxNmZhMGU5MTUwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTkKKyAgICAtMHgxLmM1ZjA1ODIzMGU4MDIxZjIxYmQwYWMyYzBmNjgwOWE5cC0xLAorICAgIDB4MS4wZWQxNmZhMGU5MTUwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjAKKyAgICAweDEuN2IwNWI3YjZjNjEzNjVhOWFjOWU5MDhiOGU1ZDNjZTRwLTEsCisgICAgLTB4MS5mY2NmNGRkOGZiYmFlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjEKKyAgICAtMHgxLjdiMDViN2I2YzYxMzY1YTlhYzllOTA4YjhlNWQzY2U0cC0xLAorICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjIKKyAgICAweDEuMTc1MDU5YmYwZDQyZjFkNmIzOTFmMDdmOTZmMjM1M2RwLTEsCisgICAgLTB4MS5kYmZiYmM3MDI1NGJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjMKKyAgICAtMHgxLjE3NTA1OWJmMGQ0MmYxZDZiMzkxZjA3Zjk2ZjIzNTNkcC0xLAorICAgIDB4MS5kYmZiYmM3MDI1NGJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjQKKyAgICAweDEuNDJhYmJhOGM3MmZkMjIxOTQ3OTMyNDZiOGQxOTk2MGFwLTIsCisgICAgLTB4MS5iYjI4MmIwNzRlZGNhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjUKKyAgICAtMHgxLjQyYWJiYThjNzJmZDIyMTk0NzkzMjQ2YjhkMTk5NjBhcC0yLAorICAgIDB4MS5iYjI4MmIwNzRlZGNhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjYKKyAgICAweDEuMDY2ZTdlYjc2ZjYyYjVmNDU2M2RlMjZkY2E4OTAwMTdwLTQsCisgICAgLTB4MS45YTU0OTk5ZTc4NmQ4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjcKKyAgICAtMHgxLjA2NmU3ZWI3NmY2MmI1ZjQ1NjNkZTI2ZGNhODkwMDE3cC00LAorICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjgKKyAgICAtMHgxLjg3N2UyY2Q0ZjZmYTQyNTg2ODc1YzUyNTBhMTY5ZTQ4cC0zLAorICAgIC0weDEuNzk4MTA4MzVhMWZlNnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTY5CisgICAgMHgxLjg3N2UyY2Q0ZjZmYTQyNTg2ODc1YzUyNTBhMTY5ZTQ4cC0zLAorICAgIDB4MS43OTgxMDgzNWExZmU2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzAKKyAgICAtMHgxLmJjNGMwNGQ3MWFiYTVkZmMwOTgyNzhmMTY4YmJkOTYycC0yLAorICAgIC0weDEuNThhZDc2Y2NjYjhmNHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTcxCisgICAgMHgxLmJjNGMwNGQ3MWFiYTVkZmMwOTgyNzhmMTY4YmJkOTYycC0yLAorICAgIDB4MS41OGFkNzZjY2NiOGY0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzIKKyAgICAtMHgxLjRiZTQ5NzljNWVmYTg3MWQzMGFlMWNmYTY2Mzg5MTk5cC0xLAorICAgIC0weDEuMzdkOWU1NjNmNTIwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTczCisgICAgMHgxLjRiZTQ5NzljNWVmYTg3MWQzMGFlMWNmYTY2Mzg5MTk5cC0xLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzQKKyAgICAtMHgxLmEzZWQ5ZTI1MjkzODIyMTY4OTU4Y2NlMWUwOWY3YzExcC0xLAorICAgIC0weDEuMTcwNjUzZmIxZWIxMHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTc1CisgICAgMHgxLmEzZWQ5ZTI1MjkzODIyMTY4OTU4Y2NlMWUwOWY3YzExcC0xLAorICAgIDB4MS4xNzA2NTNmYjFlYjEwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzYKKyAgICAtMHgxLmUwN2VlZWRhMTA5YzYyYjM0MGRjMzZlOTIxNjk2NDhkcC0xLAorICAgIC0weDEuZWM2NTg1MjQ5MDgzY3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTc3CisgICAgMHgxLmUwN2VlZWRhMTA5YzYyYjM0MGRjMzZlOTIxNjk2NDhkcC0xLAorICAgIDB4MS5lYzY1ODUyNDkwODNjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzgKKyAgICAtMHgxLmZkYTI1NGMyN2EwMWRkOTU0ZGIzYWVhNTA1ZTQ5NDUzcC0xLAorICAgIC0weDEuYWFiZTYyNTJlM2E1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgMHgxLmZkYTI1NGMyN2EwMWRkOTU0ZGIzYWVhNTA1ZTQ5NDUzcC0xLAorICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODAKKyAgICAtMHgxLmY5NmZlNDA1ZjFhY2EwMmU4ZjRmZDQzM2U1OWFhOTczcC0xLAorICAgIC0weDEuNjkxNzNmODEzNmM3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTgxCisgICAgMHgxLmY5NmZlNDA1ZjFhY2EwMmU4ZjRmZDQzM2U1OWFhOTczcC0xLAorICAgIDB4MS42OTE3M2Y4MTM2Yzc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODIKKyAgICAtMHgxLmQ0MmRlNDJkY2UxM2VmMDQwYmIxMDQwZTMxNDhkN2RlcC0xLAorICAgIC0weDEuMjc3MDFjYWY4OWU5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTgzCisgICAgMHgxLmQ0MmRlNDJkY2UxM2VmMDQwYmIxMDQwZTMxNDhkN2RlcC0xLAorICAgIDB4MS4yNzcwMWNhZjg5ZTkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODQKKyAgICAtMHgxLjkwNGMzNzUwNWRlNTkzMDgxMmUzYTJhOTRmZWFhNTFicC0xLAorICAgIC0weDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk4NQorICAgIDB4MS45MDRjMzc1MDVkZTU5MzA4MTJlM2EyYTk0ZmVhYTUxYnAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk4NgorICAgIC0weDEuMzIzYjhiMWZiNGJiNjI2ZGQ0MGNhY2Q3NDk2M2FjNmNwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNThlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTg3CisgICAgMHgxLjMyM2I4YjFmYjRiYjYyNmRkNDBjYWNkNzQ5NjNhYzZjcC0xLAorICAgIDB4MS40ODQzYWUxODYwNThlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTg4CisgICAgLTB4MS44MDQ1ZmU2NGU2MzA4YmI1YzZjZTM1ZjgzNGI5M2M2M3AtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzOGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODkKKyAgICAweDEuODA0NWZlNjRlNjMwOGJiNWM2Y2UzNWY4MzRiOTNjNjNwLTIsCisgICAgMHgxLjg5ZWFkMGVhMGQzOGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTAKKyAgICAtMHgxLjA1ZTQ3NjFhYjhkZWM0NGVkMGZhMzBkMzM1MDQ5YzQwcC0zLAorICAgIC0weDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDk5MQorICAgIDB4MS4wNWU0NzYxYWI4ZGVjNDRlZDBmYTMwZDMzNTA0OWM0MHAtMywKKyAgICAweDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDk5MgorICAgIDB4MS4wNWU0NzYxYWI4ZDMxZDAwZTY1NjM3MmM1YzA0YWE2ZXAtMywKKyAgICAweDEuMDY5YzhiNDZiMzczNHAtMworICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIC0weDEuMDVlNDc2MWFiOGQzMWQwMGU2NTYzNzJjNWMwNGFhNmVwLTMsCisgICAgLTB4MS4wNjljOGI0NmIzNzM0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTk0CisgICAgMHgxLjgwNDVmZTY0ZTYyYjE5YTA5NDM5OTUwMmFmYjc2ZTVjcC0yLAorICAgIDB4MS44OWVhZDBlYTBkMzJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTk1CisgICAgLTB4MS44MDQ1ZmU2NGU2MmIxOWEwOTQzOTk1MDJhZmI3NmU1Y3AtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzMmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTYKKyAgICAweDEuMzIzYjhiMWZiNGI5MDdjNDE2ZDIzYjA0ZTBlYzBlNzJwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTcKKyAgICAtMHgxLjMyM2I4YjFmYjRiOTA3YzQxNmQyM2IwNGUwZWMwZTcycC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5OAorICAgIDB4MS45MDRjMzc1MDVkZTNiZTJhY2UxN2NhNTQ4Nzc1MDIzMXAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIC0weDEuOTA0YzM3NTA1ZGUzYmUyYWNlMTdjYTU0ODc3NTAyMzFwLTEsCisgICAgLTB4MS5jYjkxZjNiYmJhMTI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMAorICAgIDB4MS5kNDJkZTQyZGNlMTJiODI0NjZmMmZjYjYzYjI5NDc1MXAtMSwKKyAgICAweDEuMjc3MDFjYWY4OWU3OHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMQorICAgIC0weDEuZDQyZGU0MmRjZTEyYjgyNDY2ZjJmY2I2M2IyOTQ3NTFwLTEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTc4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAyCisgICAgMHgxLmY5NmZlNDA1ZjFhYzI1OWJmMTkyZmQxY2Y2NGUyZjEycC0xLAorICAgIDB4MS42OTE3M2Y4MTM2YzVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAzCisgICAgLTB4MS5mOTZmZTQwNWYxYWMyNTliZjE5MmZkMWNmNjRlMmYxMnAtMSwKKyAgICAtMHgxLjY5MTczZjgxMzZjNWNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMDQKKyAgICAweDEuZmRhMjU0YzI3YTAyMjc1NDMyZDc3ZGQ2Zjk3MDQ2NDRwLTEsCisgICAgMHgxLmFhYmU2MjUyZTNhNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMDUKKyAgICAtMHgxLmZkYTI1NGMyN2EwMjI3NTQzMmQ3N2RkNmY5NzA0NjQ0cC0xLAorICAgIC0weDEuYWFiZTYyNTJlM2E0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNgorICAgIDB4MS5lMDdlZWVkYTEwOWQ2YmYwYzkzNWZhMTBiMTI4MGM2ZHAtMSwKKyAgICAweDEuZWM2NTg1MjQ5MDgyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNworICAgIC0weDEuZTA3ZWVlZGExMDlkNmJmMGM5MzVmYTEwYjEyODBjNmRwLTEsCisgICAgLTB4MS5lYzY1ODUyNDkwODI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA4CisgICAgMHgxLmEzZWQ5ZTI1MjkzOWQ5NzkzZmIyZjZmNzVlNWM3NmU3cC0xLAorICAgIDB4MS4xNzA2NTNmYjFlYjA0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA5CisgICAgLTB4MS5hM2VkOWUyNTI5MzlkOTc5M2ZiMmY2Zjc1ZTVjNzZlN3AtMSwKKyAgICAtMHgxLjE3MDY1M2ZiMWViMDRwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTAKKyAgICAweDEuNGJlNDk3OWM1ZWZjY2ZlNzhlYTBiNmFmYjBjYmJhMzdwLTEsCisgICAgMHgxLjM3ZDllNTYzZjUxZjZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTEKKyAgICAtMHgxLjRiZTQ5NzljNWVmY2NmZTc4ZWEwYjZhZmIwY2JiYTM3cC0xLAorICAgIC0weDEuMzdkOWU1NjNmNTFmNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMgorICAgIDB4MS5iYzRjMDRkNzFhYmZjNWRmNjk1ODlhNDVkNWUzMTk2ZXAtMiwKKyAgICAweDEuNThhZDc2Y2NjYjhlOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMworICAgIC0weDEuYmM0YzA0ZDcxYWJmYzVkZjY5NTg5YTQ1ZDVlMzE5NmVwLTIsCisgICAgLTB4MS41OGFkNzZjY2NiOGU4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE0CisgICAgMHgxLjg3N2UyY2Q0ZjcwNjA5YjFmMDYyMjk1YjY0YWVkNGJkcC0zLAorICAgIDB4MS43OTgxMDgzNWExZmRhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE1CisgICAgLTB4MS44NzdlMmNkNGY3MDYwOWIxZjA2MjI5NWI2NGFlZDRiZHAtMywKKyAgICAtMHgxLjc5ODEwODM1YTFmZGFwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTYKKyAgICAtMHgxLjA2NmU3ZWI3NmY0YWMyOTNmNDY0ODZkYzMyOGQ0NTBicC00LAorICAgIDB4MS45YTU0OTk5ZTc4NmNjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE3CisgICAgMHgxLjA2NmU3ZWI3NmY0YWMyOTNmNDY0ODZkYzMyOGQ0NTBicC00LAorICAgIC0weDEuOWE1NDk5OWU3ODZjY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxOAorICAgIC0weDEuNDJhYmJhOGM3MmY3NzA1OTVmZmUzMTM1YTBlMGFkODNwLTIsCisgICAgMHgxLmJiMjgyYjA3NGVkYmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTkKKyAgICAweDEuNDJhYmJhOGM3MmY3NzA1OTVmZmUzMTM1YTBlMGFkODNwLTIsCisgICAgLTB4MS5iYjI4MmIwNzRlZGJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIwCisgICAgLTB4MS4xNzUwNTliZjBkNDA2ZTJmZTAxNGU4ODBkZDI5Y2ZhY3AtMSwKKyAgICAweDEuZGJmYmJjNzAyNTRiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAyMQorICAgIDB4MS4xNzUwNTliZjBkNDA2ZTJmZTAxNGU4ODBkZDI5Y2ZhY3AtMSwKKyAgICAtMHgxLmRiZmJiYzcwMjU0YjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMjIKKyAgICAtMHgxLjdiMDViN2I2YzYxMTYxNTVmMGRjNTUxZTMxNmUxZTBicC0xLAorICAgIDB4MS5mY2NmNGRkOGZiYmEycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIzCisgICAgMHgxLjdiMDViN2I2YzYxMTYxNTVmMGRjNTUxZTMxNmUxZTBicC0xLAorICAgIC0weDEuZmNjZjRkZDhmYmJhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNAorICAgIC0weDEuYzVmMDU4MjMwZTdlYmViNzYxNjc3OWUxNmZhOWI1MzdwLTEsCisgICAgMHgxLjBlZDE2ZmEwZTkxNGFwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjUKKyAgICAweDEuYzVmMDU4MjMwZTdlYmViNzYxNjc3OWUxNmZhOWI1MzdwLTEsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI2CisgICAgLTB4MS5mMzI5YzA1NThlOTVmYTMzM2Q1ZDJkNDRkNjU0Nzc3Y3AtMSwKKyAgICAweDEuMWYzYjM4NTU1NDRjM3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNworICAgIDB4MS5mMzI5YzA1NThlOTVmYTMzM2Q1ZDJkNDRkNjU0Nzc3Y3AtMSwKKyAgICAtMHgxLjFmM2IzODU1NTQ0YzNwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjgKKyAgICAtMHgxLmZmYmNhODQ2YzRmY2IyMzdjMjk0N2IzNWIwMzdhMnAtMSwKKyAgICAweDEuMmZhNTAxMDliZjgzY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyOQorICAgIDB4MS5mZmJjYTg0NmM0ZmNiMjM3YzI5NDdiMzViMDM3YTJwLTEsCisgICAgLTB4MS4yZmE1MDEwOWJmODNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgLTB4MS5lYWQ2ODM0OTA5YmEwZWU2OWIzMWUxOTcwZGYxYmI4YnAtMSwKKyAgICAweDEuNDAwZWM5YmUyYWJiNXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzMQorICAgIDB4MS5lYWQ2ODM0OTA5YmEwZWU2OWIzMWUxOTcwZGYxYmI4YnAtMSwKKyAgICAtMHgxLjQwMGVjOWJlMmFiYjVwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzIKKyAgICAtMHgxLmI1ZDU0NWIxMDljMTIzMmI2MWRkMjhkODAzNWQ5NWNicC0xLAorICAgIDB4MS41MDc4OTI3Mjk1ZjJlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMzCisgICAgMHgxLmI1ZDU0NWIxMDljMTIzMmI2MWRkMjhkODAzNWQ5NWNicC0xLAorICAgIC0weDEuNTA3ODkyNzI5NWYyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNAorICAgIC0weDEuNjQzMDgwZDY3YWNlNDhjMGRkMWZlM2EwNmJiYzRiZjVwLTEsCisgICAgMHgxLjYwZTI1YjI3MDEyYTdwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzUKKyAgICAweDEuNjQzMDgwZDY3YWNlNDhjMGRkMWZlM2EwNmJiYzRiZjVwLTEsCisgICAgLTB4MS42MGUyNWIyNzAxMmE3cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM2CisgICAgLTB4MS5mNjdlYTk3NWI4NmY1ZDRhYTkyNzE2Y2MwNzc0NzNhN3AtMiwKKyAgICAweDEuNzE0YzIzZGI2YzYyMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNworICAgIDB4MS5mNjdlYTk3NWI4NmY1ZDRhYTkyNzE2Y2MwNzc0NzNhN3AtMiwKKyAgICAtMHgxLjcxNGMyM2RiNmM2MjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzgKKyAgICAtMHgxLjAzYmUwNmY5N2NjNGQ3OGZkY2NiY2ExZDQwZTg2MDExcC0yLAorICAgIDB4MS44MWI1ZWM4ZmQ3OTk5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM5CisgICAgMHgxLjAzYmUwNmY5N2NjNGQ3OGZkY2NiY2ExZDQwZTg2MDExcC0yLAorICAgIC0weDEuODFiNWVjOGZkNzk5OXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MAorICAgIDB4MS5lZmIyNmVmOTMwYzRjM2ZhMzI0NTk2M2MxZGNlYzBhNnAtNSwKKyAgICAweDEuZWZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNDEKKyAgICAtMHgxLmVmYjI2ZWY5MzBjNGMzZmEzMjQ1OTYzYzFkY2VjMGE2cC01LAorICAgIC0weDEuZWZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNDIKKyAgICAweDEuZWZiMjZlZjkzMGM0ZDNmMmIwZGJlMTkzMWJhNWFlNjRwLTUsCisgICAgMHgxLmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQzCisgICAgLTB4MS5lZmIyNmVmOTMwYzRkM2YyYjBkYmUxOTMxYmE1YWU2NHAtNSwKKyAgICAtMHgxLmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgMHgxLmVmYjI2ZWY5MzBjNGUzZWIyZjcyMmNlYTE5N2MyMDM2cC01LAorICAgIDB4MS5mMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NQorICAgIC0weDEuZWZiMjZlZjkzMGM0ZTNlYjJmNzIyY2VhMTk3YzIwMzZwLTUsCisgICAgLTB4MS5mMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NgorICAgIDB4MS5mNmJhYWExMzFkZTYzM2FkNGUwZTdkNjQ2NWQxMmEwNXAtNCwKKyAgICAweDEuZjdmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNDcKKyAgICAtMHgxLmY2YmFhYTEzMWRlNjMzYWQ0ZTBlN2Q2NDY1ZDEyYTA1cC00LAorICAgIC0weDEuZjdmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNDgKKyAgICAweDEuZjZiYWFhMTMxZGU2NDM4ZTU2MTEyNzk4NjRmZTc2NjNwLTQsCisgICAgMHgxLmY4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNDkKKyAgICAtMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAorICAgIC0weDEuZjgwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA1MAorICAgIDB4MS5mNmJhYWExMzFkZTY1MzZmNWUxM2QxY2M2NDI5Y2MwN3AtNCwKKyAgICAweDEuZjgwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTEKKyAgICAtMHgxLmY2YmFhYTEzMWRlNjUzNmY1ZTEzZDFjYzY0MjljYzA3cC00LAorICAgIC0weDEuZjgwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTIKKyAgICAweDEuNGE4YzNiNGU5YzdmZjAwYTM2ZTA2MWEwZDIyOTUwOTNwLTMsCisgICAgMHgxLjRiZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUzCisgICAgLTB4MS40YThjM2I0ZTljN2ZmMDBhMzZlMDYxYTBkMjI5NTA5M3AtMywKKyAgICAtMHgxLjRiZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU0CisgICAgMHgxLjRhOGMzYjRlOWM3ZmZmZDQ4MzA1ZjQ0YTQyZjVmNTBmcC0zLAorICAgIDB4MS40YzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU1CisgICAgLTB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKKyAgICAtMHgxLjRjMHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwNTYKKyAgICAweDEuNGE4YzNiNGU5YzgwMGY5ZWNmMmI4NmYzYjNiZDZmNWFwLTMsCisgICAgMHgxLjRjMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU3CisgICAgLTB4MS40YThjM2I0ZTljODAwZjllY2YyYjg2ZjNiM2JkNmY1YXAtMywKKyAgICAtMHgxLjRjMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU4CisgICAgMHgxLjJlOWNkOTViYWJhMzI1ZmU2MDY3MjMzZDQ0OTZhYWFjcC0yLAorICAgIDB4MS4zMzMzMzMzMzMzMzMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA1OQorICAgIC0weDEuMmU5Y2Q5NWJhYmEzMjVmZTYwNjcyMzNkNDQ5NmFhYWNwLTIsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MAorICAgIDB4MS4yZTljZDk1YmFiYTMzNTQ3NmY1MTNhYzIyMWQwNzhjN3AtMiwKKyAgICAweDEuMzMzMzMzMzMzMzMzM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjEKKyAgICAtMHgxLjJlOWNkOTViYWJhMzM1NDc2ZjUxM2FjMjIxZDA3OGM3cC0yLAorICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEwNjIKKyAgICAweDEuMmU5Y2Q5NWJhYmEzNDQ5MDdlM2I1MjQ2ZmVmNzVkMTVwLTIsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYzCisgICAgLTB4MS4yZTljZDk1YmFiYTM0NDkwN2UzYjUyNDZmZWY3NWQxNXAtMiwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgMHgxLjNmYWVmYzdhNTQ2NmVmMzA0NWMzZjFiZTcxNmFkNTY4cC0xLAorICAgIDB4MS41OTQzMTdhY2M0ZWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NQorICAgIC0weDEuM2ZhZWZjN2E1NDY2ZWYzMDQ1YzNmMWJlNzE2YWQ1NjhwLTEsCisgICAgLTB4MS41OTQzMTdhY2M0ZWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NgorICAgIDB4MS4zZmFlZmM3YTU0NjZmYmFmYmNhMDI3YjZlOGRiOGMwNHAtMSwKKyAgICAweDEuNTk0MzE3YWNjNGVmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjcKKyAgICAtMHgxLjNmYWVmYzdhNTQ2NmZiYWZiY2EwMjdiNmU4ZGI4YzA0cC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjgKKyAgICAweDEuM2ZhZWZjN2E1NDY3MDgyZjMzN2M1ZGFmNWZmYzU2ZTJwLTEsCisgICAgMHgxLjU5NDMxN2FjYzRlZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY5CisgICAgLTB4MS4zZmFlZmM3YTU0NjcwODJmMzM3YzVkYWY1ZmZjNTZlMnAtMSwKKyAgICAtMHgxLjU5NDMxN2FjYzRlZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcwCisgICAgMHgxLjY4ODhhNGUxMzRiMmRlZjViZWE1MWY0Y2Q3ZDY0N2M2cC0xLAorICAgIDB4MS44ZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MQorICAgIC0weDEuNjg4OGE0ZTEzNGIyZGVmNWJlYTUxZjRjZDdkNjQ3YzZwLTEsCisgICAgLTB4MS44ZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MgorICAgIDB4MS42ODg4YTRlMTM0YjJlYTUyMGIyMjZlY2E4Njk0YjNhMnAtMSwKKyAgICAweDEuOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNzMKKyAgICAtMHgxLjY4ODhhNGUxMzRiMmVhNTIwYjIyNmVjYTg2OTRiM2EycC0xLAorICAgIC0weDEuOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNzQKKyAgICAweDEuNjg4OGE0ZTEzNGIyZjVhZTU3OWZiZTQ4MzRmOGZkNTVwLTEsCisgICAgMHgxLjkwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc1CisgICAgLTB4MS42ODg4YTRlMTM0YjJmNWFlNTc5ZmJlNDgzNGY4ZmQ1NXAtMSwKKyAgICAtMHgxLjkwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc2CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc3CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTA3OAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDEwNzkKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgwCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgxCisgICAgMHgxLjkxZjY1ZjEwZGQ4MTJhMGI5NWZmNzE4NzFhYjQ4MjA3cC01LAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA4MgorICAgIC0weDEuOTFmNjVmMTBkZDgxMmEwYjk1ZmY3MTg3MWFiNDgyMDdwLTUsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA4MworICAgIDB4MS45MWY2NWYxMGRkODEzYTA2YTZmMTJlM2RkOWE2YTQxZXAtNSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwODQKKyAgICAtMHgxLjkxZjY1ZjEwZGQ4MTNhMDZhNmYxMmUzZGQ5YTZhNDFlcC01LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwODUKKyAgICAweDEuOTFmNjVmMTBkZDgxNGEwMWI3ZTJlYWY0OTg5ODYxYjdwLTUsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg2CisgICAgLTB4MS45MWY2NWYxMGRkODE0YTAxYjdlMmVhZjQ5ODk4NjFiN3AtNSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg3CisgICAgMHgxLjkxN2E2YmMyOWI0MmE5Y2QyZTc4N2VlMDBjYThmOGUzcC00LAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA4OAorICAgIC0weDEuOTE3YTZiYzI5YjQyYTljZDJlNzg3ZWUwMGNhOGY4ZTNwLTQsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA4OQorICAgIDB4MS45MTdhNmJjMjliNDJiOWI5NzU0YTY3NzI5Zjc5MzQ2YnAtNCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwOTAKKyAgICAtMHgxLjkxN2E2YmMyOWI0MmI5Yjk3NTRhNjc3MjlmNzkzNDZicC00LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwOTEKKyAgICAweDEuOTE3YTZiYzI5YjQyYzlhNWJjMWM1MDA1MzI0N2RlNzhwLTQsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkyCisgICAgLTB4MS45MTdhNmJjMjliNDJjOWE1YmMxYzUwMDUzMjQ3ZGU3OHAtNCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkzCisgICAgMHgxLjhmOGI4M2M2OWE2MDk3NWY5ODQ1Mzg4NmY5NTNhMGU1cC0zLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA5NAorICAgIC0weDEuOGY4YjgzYzY5YTYwOTc1Zjk4NDUzODg2Zjk1M2EwZTVwLTMsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTA5NQorICAgIDB4MS44ZjhiODNjNjlhNjBhNzEwZTQyZDM0MzU1MTZkZGFjY3AtMywKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwOTYKKyAgICAtMHgxLjhmOGI4M2M2OWE2MGE3MTBlNDJkMzQzNTUxNmRkYWNjcC0zLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMworICB9LAorICB7IC8vIEVudHJ5IDEwOTcKKyAgICAweDEuOGY4YjgzYzY5YTYwYjZjMjMwMTUyZmUzYTk4MWQ2ODZwLTMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk4CisgICAgLTB4MS44ZjhiODNjNjlhNjBiNmMyMzAxNTJmZTNhOTgxZDY4NnAtMywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk5CisgICAgMHgxLjg3ZGUyYTZhZWE5NjFhM2U5ZGVkZWE1N2ZlN2U2NTE0cC0yLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEwMAorICAgIC0weDEuODdkZTJhNmFlYTk2MWEzZTlkZWRlYTU3ZmU3ZTY1MTRwLTIsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEwMQorICAgIDB4MS44N2RlMmE2YWVhOTYyOTA2ZDNkNTgzOWVhMWE1YmNmMHAtMiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMDIKKyAgICAtMHgxLjg3ZGUyYTZhZWE5NjI5MDZkM2Q1ODM5ZWExYTViY2YwcC0yLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMDMKKyAgICAweDEuODdkZTJhNmFlYTk2MzdjZjA5YmQxY2U1NDRiNDk2ZWFwLTIsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA0CisgICAgLTB4MS44N2RlMmE2YWVhOTYzN2NmMDliZDFjZTU0NGI0OTZlYXAtMiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA1CisgICAgMHgxLjZhMDllNjY3ZjNiY2JhOTlhZmIwMTM1NzI5NDU3ODc0cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwNgorICAgIC0weDEuNmEwOWU2NjdmM2JjYmE5OWFmYjAxMzU3Mjk0NTc4NzRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwNworICAgIDB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMDgKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2M1ZTlmZWUzNTJmNTBmZDNmNGU5cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExMDkKKyAgICAweDEuNmEwOWU2NjdmM2JjZDEzYTRlMTY5MjkyZjYwN2VlZTVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEwCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkMTNhNGUxNjkyOTJmNjA3ZWVlNXAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTExCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMAorICB9LAorICB7IC8vIEVudHJ5IDExMTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzFwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDExMTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTExNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2M3AtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTExNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE3CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJmYWVlZDQycC01MSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTExOAorICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YmZhZWVkNDJwLTUxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTExOQorICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDM2ZTJlZHAtNTMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDExMjAKKyAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MzZlMmVkcC01MywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDExMjEKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdkNWJiYzVjcC01MiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyMgorICAgIDB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3ZDViYmM1Y3AtNTIsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIzCisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDliYjg3Y2UxYnAtNTAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMgorICB9LAorICB7IC8vIEVudHJ5IDExMjQKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YmI4N2NlMWJwLTUwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTEyNQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQwYmYwMDNwLTUyLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI2CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MGJmMDAzcC01MiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMgorICB9LAorICB7IC8vIEVudHJ5IDExMjcKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2JkNmJmNGRwLTUxLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI4CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3YmQ2YmY0ZHAtNTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI5CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDlhYWViNTE4MnAtNDksCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMworICB9LAorICB7IC8vIEVudHJ5IDExMzAKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YWFlYjUxODJwLTQ5LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTEzMQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDM2MDI0NWNwLTUxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMyCisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAzNjAyNDVjcC01MSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMworICB9LAorICB7IC8vIEVudHJ5IDExMzMKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjNzVjMmNiMGVwLTUwLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM0CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3NWMyY2IwZXAtNTAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM1CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDk2ODc5NWYxY3AtNDgsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNAorICB9LAorICB7IC8vIEVudHJ5IDExMzYKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5Njg3OTVmMWNwLTQ4LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTEzNworICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDBiMGY1YmZwLTUwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM4CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAwYjBmNWJmcC01MCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwNAorICB9LAorICB7IC8vIEVudHJ5IDExMzkKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjNWQ3MmZhMTFwLTQ5LAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQwCisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM1ZDcyZmExMXAtNDksCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQxCisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDg1ZWIxOTU4NHAtNDcsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNQorICB9LAorICB7IC8vIEVudHJ5IDExNDIKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ4NWViMTk1ODRwLTQ3LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3A1CisgIH0sCisgIHsgLy8gRW50cnkgMTE0MworICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI2ZjVmNDNiNGNwLTQ5LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ0CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmY1ZjQzYjRjcC00OSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwNQorICB9LAorICB7IC8vIEVudHJ5IDExNDUKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZiZmMzM2I2MWZwLTQ4LAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ2CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmJmYzMzYjYxZnAtNDgsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ3CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDQzNzkyNmYyNXAtNDYsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNgorICB9LAorICB7IC8vIEVudHJ5IDExNDgKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ0Mzc5MjZmMjVwLTQ2LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3A2CisgIH0sCisgIHsgLy8gRW50cnkgMTE0OQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI2Y2IwMTUxN2RwLTQ4LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUwCisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmNiMDE1MTdkcC00OCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwNgorICB9LAorICB7IC8vIEVudHJ5IDExNTEKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZhNzczNmE2NThwLTQ3LAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUyCisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmE3NzM2YTY1OHAtNDcsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUzCisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwMzM5YjE1ZDVhYXAtNDUsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwNworICB9LAorICB7IC8vIEVudHJ5IDExNTQKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDMzOWIxNWQ1YWFwLTQ1LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3A3CisgIH0sCisgIHsgLy8gRW50cnkgMTE1NQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI2MWYzNWFhNDNwLTQ3LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU2CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNjFmMzVhYTQzcC00NywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwNworICB9LAorICB7IC8vIEVudHJ5IDExNTcKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjY0NjM0MjY3M2FwLTQ2LAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU4CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNjQ2MzQyNjczYXAtNDYsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU5CisgICAgMHgxLjZhMDllNjY3ZjNiY2ZmYTYwYzBmNTMzNDBmZDI0OTA0cC0xLAorICAgIDB4MS4yZDk3YzdmMzMyMWQxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYwCisgICAgLTB4MS42YTA5ZTY2N2YzYmNmZmE2MGMwZjUzMzQwZmQyNDkwNHAtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMQorICB9LAorICB7IC8vIEVudHJ5IDExNjEKKyAgICAweDEuNmEwOWU2NjdmM2JjZDI2NGNmNDI1NGJjN2FiMGM5ZmFwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwMQorICB9LAorICB7IC8vIEVudHJ5IDExNjIKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2QyNjRjZjQyNTRiYzdhYjBjOWZhcC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2MworICAgIDB4MS42YTA5ZTY2N2YzYmNhNTIzOTI3NTU2NDRkZmU3MjM1N3AtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2NAorICAgIC0weDEuNmEwOWU2NjdmM2JjYTUyMzkyNzU1NjQ0ZGZlNzIzNTdwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY1CisgICAgLTB4MS42YTA5ZTY2N2YzYmM4YzJkZjFiNzUyYjYwNmEwYTQ3MnAtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2NgorICAgIDB4MS42YTA5ZTY2N2YzYmM4YzJkZjFiNzUyYjYwNmEwYTQ3MnAtMSwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWRwMQorICB9LAorICB7IC8vIEVudHJ5IDExNjcKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2I5NmYyZTg0NTEyZGE0ODhmZjJkcC0xLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY4CisgICAgMHgxLjZhMDllNjY3ZjNiY2I5NmYyZTg0NTEyZGE0ODhmZjJkcC0xLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE2OQorICAgIC0weDEuNmEwOWU2NjdmM2JjZTZiMDZiNTE0ZmE1M2NjOTMyNGZwLTEsCisgICAgMHgxLmY2YTdhMjk1NTM4NWZwMQorICB9LAorICB7IC8vIEVudHJ5IDExNzAKKyAgICAweDEuNmEwOWU2NjdmM2JjZTZiMDZiNTE0ZmE1M2NjOTMyNGZwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YXAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE3MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YXAtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMgorICB9LAorICB7IC8vIEVudHJ5IDExNzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkcC0xLAorICAgIDB4MS4yZDk3YzdmMzMyMWQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkcC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVlZjE4MTBwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDNwMgorICB9LAorICB7IC8vIEVudHJ5IDExNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVlZjE4MTBwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQzcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc3CisgICAgLTB4MS42YTA5ZTY2N2YzYmQzOTYyMTkzYjUzNzMwNjliYTBjMnAtMSwKKyAgICAweDEuNWZkYmJlOWJiYTc3NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE3OAorICAgIDB4MS42YTA5ZTY2N2YzYmQzOTYyMTkzYjUzNzMwNjliYTBjMnAtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwMgorICB9LAorICB7IC8vIEVudHJ5IDExNzkKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2RlZGY5ZmExNTY4M2U1MWY3ZTYwcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgwCisgICAgMHgxLjZhMDllNjY3ZjNiY2RlZGY5ZmExNTY4M2U1MWY3ZTYwcC0xLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE4MQorICAgIC0weDEuNmEwOWU2NjdmM2JjODQ1ZDI2MDc1OTk0YWQwMmJkOThwLTEsCisgICAgMHgxLjVmZGJiZTliYmE3NzZwMgorICB9LAorICB7IC8vIEVudHJ5IDExODIKKyAgICAweDEuNmEwOWU2NjdmM2JjODQ1ZDI2MDc1OTk0YWQwMmJkOThwLTEsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgzCisgICAgMHgxLjZhMDllNjY3ZjNiYzUyNzFlNDhiNTI3NmY0Mzg1NzlmcC0xLAorICAgIDB4MS5jNDYzYWJlY2NiMmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTg0CisgICAgLTB4MS42YTA5ZTY2N2YzYmM1MjcxZTQ4YjUyNzZmNDM4NTc5ZnAtMSwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDExODUKKyAgICAweDEuNmEwOWU2NjdmM2JjYWNmNDVlMjU0ZjY2MzhjZmU4YzZwLTEsCisgICAgMHgxLmM0NjNhYmVjY2IyYmJwMgorICB9LAorICB7IC8vIEVudHJ5IDExODYKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2FjZjQ1ZTI1NGY2NjM4Y2ZlOGM2cC0xLAorICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE4NworICAgIDB4MS42YTA5ZTY2N2YzYmQwNzc2ZDdiZjRjNTU2NmM2ZGI4N3AtMSwKKyAgICAweDEuYzQ2M2FiZWNjYjJiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTE4OAorICAgIC0weDEuNmEwOWU2NjdmM2JkMDc3NmQ3YmY0YzU1NjZjNmRiODdwLTEsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUzMTE3NGY1cC0xLAorICAgIDB4MS5mNmE3YTI5NTUzODVkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMzExNzRmNXAtMSwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWRwMgorICB9LAorICB7IC8vIEVudHJ5IDExOTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUxOTRjZDRwLTEsCisgICAgMHgxLmY2YTdhMjk1NTM4NWVwMgorICB9LAorICB7IC8vIEVudHJ5IDExOTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMTk0Y2Q0cC0xLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTIxMjRiNHAtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE5NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMTI0YjRwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk1CisgICAgMHgxLjZhMDllNjY3ZjNiZGZhZTFkY2NlNGYxODY2NTY4MWM2cC0xLAorICAgIDB4MS4xNDc1Y2M5ZWVkZWZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk2CisgICAgLTB4MS42YTA5ZTY2N2YzYmRmYWUxZGNjZTRmMTg2NjU2ODFjNnAtMSwKKyAgICAtMHgxLjE0NzVjYzllZWRlZmZwMworICB9LAorICB7IC8vIEVudHJ5IDExOTcKKyAgICAweDEuNmEwOWU2NjdmM2JkNDVkY2U5OWE1NTNhNmQ3ZDgwNjVwLTEsCisgICAgMHgxLjE0NzVjYzllZWRmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk4CisgICAgLTB4MS42YTA5ZTY2N2YzYmQ0NWRjZTk5YTU1M2E2ZDdkODA2NXAtMSwKKyAgICAtMHgxLjE0NzVjYzllZWRmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTk5CisgICAgMHgxLjZhMDllNjY3ZjNiYzkwZDdmNjY2NWI1YzFhMjIwNTZhcC0xLAorICAgIDB4MS4xNDc1Y2M5ZWVkZjAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAwCisgICAgLTB4MS42YTA5ZTY2N2YzYmM5MGQ3ZjY2NjViNWMxYTIyMDU2YXAtMSwKKyAgICAtMHgxLjE0NzVjYzllZWRmMDFwMworICB9LAorICB7IC8vIEVudHJ5IDEyMDEKKyAgICAweDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3M2UwZDZiOTRwLTQ5LAorICAgIDB4MS4yZDk3YzdmMzMyMWQxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAyCisgICAgLTB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4MzczZTBkNmI5NHAtNDksCisgICAgLTB4MS4yZDk3YzdmMzMyMWQxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAzCisgICAgMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTg1YTY4OGJkcC01MiwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwNAorICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODVhNjg4YmRwLTUyLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwNQorICAgIC0weDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxNTNjMGNjMTZwLTUwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA2CisgICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTUzYzBjYzE2cC01MCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMworICB9LAorICB7IC8vIEVudHJ5IDEyMDcKKyAgICAtMHgxLjZhMDllNjY3ZjNiYjkwZjIyMGY4NTZkMGIxYTQwNmMzcC0xLAorICAgIDB4MS40NmI5YzM0Nzc2NGEycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA4CisgICAgMHgxLjZhMDllNjY3ZjNiYjkwZjIyMGY4NTZkMGIxYTQwNmMzcC0xLAorICAgIC0weDEuNDZiOWMzNDc3NjRhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIwOQorICAgIC0weDEuNmEwOWU2NjdmM2JjNDVmNzE0MmM1MGFmODRmMjZjNzVwLTEsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTNwMworICB9LAorICB7IC8vIEVudHJ5IDEyMTAKKyAgICAweDEuNmEwOWU2NjdmM2JjNDVmNzE0MmM1MGFmODRmMjZjNzVwLTEsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjExCisgICAgLTB4MS42YTA5ZTY2N2YzYmNmYWZjMDc2MDRhOGRmZGJlNTg4ZHAtMSwKKyAgICAweDEuNDZiOWMzNDc3NjRhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxMgorICAgIDB4MS42YTA5ZTY2N2YzYmNmYWZjMDc2MDRhOGRmZGJlNTg4ZHAtMSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwMworICB9LAorICB7IC8vIEVudHJ5IDEyMTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNjM0ZTlmcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNjM0ZTlmcC0xLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmM0NjExNzhwLTEsCisgICAgMHgxLjVmZGJiZTliYmE3NzVwMworICB9LAorICB7IC8vIEVudHJ5IDEyMTYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmM0NjExNzhwLTEsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc1cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkYjI4ZDQ1MXAtMSwKKyAgICAweDEuNWZkYmJlOWJiYTc3NnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIxOAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkYjI4ZDQ1MXAtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzZwMworICB9LAorICB7IC8vIEVudHJ5IDEyMTkKKyAgICAtMHgxLjZhMDllNjY3ZjNiZTA3NWNhZDJkNTBkZmM2OGNkODhmcC0xLAorICAgIDB4MS43OGZkYjllZmZlYTQ1cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIwCisgICAgMHgxLjZhMDllNjY3ZjNiZTA3NWNhZDJkNTBkZmM2OGNkODhmcC0xLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyMQorICAgIC0weDEuNmEwOWU2NjdmM2JkNTI1N2I5Zjk1NzAxZDNmMTNmNWRwLTEsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDZwMworICB9LAorICB7IC8vIEVudHJ5IDEyMjIKKyAgICAweDEuNmEwOWU2NjdmM2JkNTI1N2I5Zjk1NzAxZDNmMTNmNWRwLTEsCisgICAgLTB4MS43OGZkYjllZmZlYTQ2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIzCisgICAgLTB4MS42YTA5ZTY2N2YzYmM5ZDUyYzZjNTVkMjM4NmQzMmM5MnAtMSwKKyAgICAweDEuNzhmZGI5ZWZmZWE0N3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyNAorICAgIDB4MS42YTA5ZTY2N2YzYmM5ZDUyYzZjNTVkMjM4NmQzMmM5MnAtMSwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwMworICB9LAorICB7IC8vIEVudHJ5IDEyMjUKKyAgICAweDEuNmEwOWU2NjdmM2JiODQ3NzUwOTk1NTA5M2JiMjkyYmVwLTEsCisgICAgMHgxLmFiNDFiMDk4ODZmZThwMworICB9LAorICB7IC8vIEVudHJ5IDEyMjYKKyAgICAtMHgxLjZhMDllNjY3ZjNiYjg0Nzc1MDk5NTUwOTNiYjI5MmJlcC0xLAorICAgIC0weDEuYWI0MWIwOTg4NmZlOHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyNworICAgIDB4MS42YTA5ZTY2N2YzYmMzOTdjNDNjZDRlZTgxNTNlNjBhMHAtMSwKKyAgICAweDEuYWI0MWIwOTg4NmZlOXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIyOAorICAgIC0weDEuNmEwOWU2NjdmM2JjMzk3YzQzY2Q0ZWU4MTUzZTYwYTBwLTEsCisgICAgLTB4MS5hYjQxYjA5ODg2ZmU5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI5CisgICAgMHgxLjZhMDllNjY3ZjNiY2VlODEzNzAxNDhjNjk0NDdiNGU3cC0xLAorICAgIDB4MS5hYjQxYjA5ODg2ZmVhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMwCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlZTgxMzcwMTQ4YzY5NDQ3YjRlN3AtMSwKKyAgICAtMHgxLmFiNDFiMDk4ODZmZWFwMworICB9LAorICB7IC8vIEVudHJ5IDEyMzEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTIyMTQxYjRwLTEsCisgICAgMHgxLmM0NjNhYmVjY2IyYmFwMworICB9LAorICB7IC8vIEVudHJ5IDEyMzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMjE0MWI0cC0xLAorICAgIC0weDEuYzQ2M2FiZWNjYjJiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOWQ3MTdhN3AtMSwKKyAgICAweDEuYzQ2M2FiZWNjYjJiYnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNzE3YTdwLTEsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUxOGNlZDlhcC0xLAorICAgIDB4MS5jNDYzYWJlY2NiMmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMThjZWQ5YXAtMSwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMworICB9LAorICB7IC8vIEVudHJ5IDEyMzcKKyAgICAweDEuNmEwOWU2NjdmM2JlMTNkNzdkOGM1MmE3MjY1NTBlYWNwLTEsCisgICAgMHgxLmRkODVhNzQxMGY1OGJwMworICB9LAorICB7IC8vIEVudHJ5IDEyMzgKKyAgICAtMHgxLjZhMDllNjY3ZjNiZTEzZDc3ZDhjNTJhNzI2NTUwZWFjcC0xLAorICAgIC0weDEuZGQ4NWE3NDEwZjU4YnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTIzOQorICAgIDB4MS42YTA5ZTY2N2YzYmQ1ZWQyOGE1ODU4YzkzOWY2ZGRhYXAtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTI0MAorICAgIC0weDEuNmEwOWU2NjdmM2JkNWVkMjhhNTg1OGM5MzlmNmRkYWFwLTEsCisgICAgLTB4MS5kZDg1YTc0MTBmNThjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQxCisgICAgMHgxLjZhMDllNjY3ZjNiY2E5Y2Q5NzI0NWVlYWYzMTYzMzBlcC0xLAorICAgIDB4MS5kZDg1YTc0MTBmNThkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQyCisgICAgLTB4MS42YTA5ZTY2N2YzYmNhOWNkOTcyNDVlZWFmMzE2MzMwZXAtMSwKKyAgICAtMHgxLmRkODVhNzQxMGY1OGRwMworICB9LAorICB7IC8vIEVudHJ5IDEyNDMKKyAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMTc2NWRlYzFwLTQ5LAorICAgIDB4MS5mNmE3YTI5NTUzODVkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ0CisgICAgLTB4MS41ODNlYmVmZjY1Y2MyMjY0ODBhZTY4NWMxNzY1ZGVjMXAtNDksCisgICAgLTB4MS5mNmE3YTI5NTUzODVkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ1CisgICAgMHgxLjYwZmFmYmZkOTczMDg5OTIwMmI5YTE3MGMzOTcxZTg2cC01MSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTI0NgorICAgIC0weDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzM5NzFlODZwLTUxLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTI0NworICAgIC0weDEuNGY4MjgyMDEzNDY3YmIzNmZlYTMyZjQ3OTc1M2ZlN2FwLTUwLAorICAgIDB4MS5mNmE3YTI5NTUzODVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ4CisgICAgMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0Nzk3NTNmZTdhcC01MCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMworICB9LAorICB7IC8vIEVudHJ5IDEyNDkKKyAgICAtMHgxLjZhMDllNjY3ZjNiYTBkZjI5OWQyNWY4MmY2MzkyNTFmcC0xLAorICAgIDB4MS4wN2U0Y2VmNGNiZDk2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUwCisgICAgMHgxLjZhMDllNjY3ZjNiYTBkZjI5OWQyNWY4MmY2MzkyNTFmcC0xLAorICAgIC0weDEuMDdlNGNlZjRjYmQ5NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI1MQorICAgIC0weDEuNmEwOWU2NjdmM2JiNzdmYzgwM2E1MzQxYzU1MmZlMGZwLTEsCisgICAgMHgxLjA3ZTRjZWY0Y2JkOTdwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTIKKyAgICAweDEuNmEwOWU2NjdmM2JiNzdmYzgwM2E1MzQxYzU1MmZlMGZwLTEsCisgICAgLTB4MS4wN2U0Y2VmNGNiZDk3cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUzCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlMjA2NjZhMjQ2ZmYyYTYyZjA5N3AtMSwKKyAgICAweDEuMDdlNGNlZjRjYmQ5OHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI1NAorICAgIDB4MS42YTA5ZTY2N2YzYmNlMjA2NjZhMjQ2ZmYyYTYyZjA5N3AtMSwKKyAgICAtMHgxLjA3ZTRjZWY0Y2JkOThwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDI1MzFhNDNkcC0xLAorICAgIDB4MS4xNDc1Y2M5ZWVkZWZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDI1MzFhNDNkcC0xLAorICAgIC0weDEuMTQ3NWNjOWVlZGVmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI1NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY0Mzc2NTZwLTEsCisgICAgMHgxLjE0NzVjYzllZWRmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NDM3NjU2cC0xLAorICAgIC0weDEuMTQ3NWNjOWVlZGZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NTU0ODZmcC0xLAorICAgIDB4MS4xNDc1Y2M5ZWVkZjAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NTU0ODZmcC0xLAorICAgIC0weDEuMTQ3NWNjOWVlZGYwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2MQorICAgIC0weDEuNmEwOWU2NjdmM2JlZDU1NzQxMWY0ZTRjMTE0ZDczNTdwLTEsCisgICAgMHgxLjIxMDZjYTQ5MTAwNjhwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNjIKKyAgICAweDEuNmEwOWU2NjdmM2JlZDU1NzQxMWY0ZTRjMTE0ZDczNTdwLTEsCisgICAgLTB4MS4yMTA2Y2E0OTEwMDY4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYzCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ2YjRkNWFiNzVhOTA5ZjhlNWI0Y3AtMSwKKyAgICAweDEuMjEwNmNhNDkxMDA2OXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2NAorICAgIDB4MS42YTA5ZTY2N2YzYmQ2YjRkNWFiNzVhOTA5ZjhlNWI0Y3AtMSwKKyAgICAtMHgxLjIxMDZjYTQ5MTAwNjlwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNjUKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzAxNDM3NDRmNjZkM2MzYzU1Y2Q5cC0xLAorICAgIDB4MS4yMTA2Y2E0OTEwMDZhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY2CisgICAgMHgxLjZhMDllNjY3ZjNiYzAxNDM3NDRmNjZkM2MzYzU1Y2Q5cC0xLAorICAgIC0weDEuMjEwNmNhNDkxMDA2YXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI2NworICAgIC0weDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3MDVjZWMxMjBwLTQ4LAorICAgIDB4MS4yZDk3YzdmMzMyMWQxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY4CisgICAgMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzA1Y2VjMTIwcC00OCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNjkKKyAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTgzNjJiOTY4cC01MSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MAorICAgIDB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4MzYyYjk2OHAtNTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcxCisgICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTMzZDEwYWJlcC00OSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MgorICAgIC0weDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxMzNkMTBhYmVwLTQ5LAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3MworICAgIDB4MS42YTA5ZTY2N2YzYmEwMTc3Yzk3MzVkYmI3MmYwOWY2NXAtMSwKKyAgICAweDEuM2EyOGM1OWQ1NDMzOXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3NAorICAgIC0weDEuNmEwOWU2NjdmM2JhMDE3N2M5NzM1ZGJiNzJmMDlmNjVwLTEsCisgICAgLTB4MS4zYTI4YzU5ZDU0MzM5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc1CisgICAgMHgxLjZhMDllNjY3ZjNiYjZiODFhZmRiNTE3YTRlODU0OGI0cC0xLAorICAgIDB4MS4zYTI4YzU5ZDU0MzNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc2CisgICAgLTB4MS42YTA5ZTY2N2YzYmI2YjgxYWZkYjUxN2E0ZTg1NDhiNHAtMSwKKyAgICAtMHgxLjNhMjhjNTlkNTQzM2FwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNzcKKyAgICAweDEuNmEwOWU2NjdmM2JjZDU4Yjk2NDM0NTM3YzAxMDBiOWJwLTEsCisgICAgMHgxLjNhMjhjNTlkNTQzM2JwNAorICB9LAorICB7IC8vIEVudHJ5IDEyNzgKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2Q1OGI5NjQzNDUzN2MwMTAwYjlicC0xLAorICAgIC0weDEuM2EyOGM1OWQ1NDMzYnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI3OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQwNzExZjQzN3AtMSwKKyAgICAweDEuNDZiOWMzNDc3NjRhMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI4MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDcxMWY0MzdwLTEsCisgICAgLTB4MS40NmI5YzM0Nzc2NGEycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5YzllYzgzcC0xLAorICAgIDB4MS40NmI5YzM0Nzc2NGEzcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWM5ZWM4M3AtMSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTNwNAorICB9LAorICB7IC8vIEVudHJ5IDEyODMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4MWU0Y2ZwLTEsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyODQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODFlNGNmcC0xLAorICAgIC0weDEuNDZiOWMzNDc3NjRhNHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI4NQorICAgIDB4MS42YTA5ZTY2N2YzYmVlMWQyMTE3ZTUwMTM2OWZiZmZlZnAtMSwKKyAgICAweDEuNTM0YWMwZjE5ODYwYnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI4NgorICAgIC0weDEuNmEwOWU2NjdmM2JlZTFkMjExN2U1MDEzNjlmYmZmZWZwLTEsCisgICAgLTB4MS41MzRhYzBmMTk4NjBicDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg3CisgICAgMHgxLjZhMDllNjY3ZjNiZDc3YzgyYjE2NWM1ODA0YjdiODQzcC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg4CisgICAgLTB4MS42YTA5ZTY2N2YzYmQ3N2M4MmIxNjVjNTgwNGI3Yjg0M3AtMSwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGNwNAorICB9LAorICB7IC8vIEVudHJ5IDEyODkKKyAgICAweDEuNmEwOWU2NjdmM2JjMGRiZTQ0YWU2ODliMzU2OThhMmZwLTEsCisgICAgMHgxLjUzNGFjMGYxOTg2MGRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTAKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzBkYmU0NGFlNjg5YjM1Njk4YTJmcC0xLAorICAgIC0weDEuNTM0YWMwZjE5ODYwZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI5MQorICAgIDB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDAzNzU0NjRkZXAtNDgsCisgICAgMHgxLjVmZGJiZTliYmE3NzRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTIKKyAgICAtMHgxLjNkYzU4NWIyYzc0MjE4MTMyNmUwN2M0MDM3NTQ2NGRlcC00OCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTMKKyAgICAweDEuZWUyYzJkOTYzYTEwYzA5OTM3MDNlMjA0NDJhZDdiOGRwLTUxLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk0CisgICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0MmFkN2I4ZHAtNTEsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc1cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk1CisgICAgLTB4MS44NDc0ZjQ5YTcxN2JjZmQ5YjIzZjA3N2VjOGRkMTc1YnAtNDksCisgICAgMHgxLjVmZGJiZTliYmE3NzZwNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTYKKyAgICAweDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdlYzhkZDE3NWJwLTQ5LAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTI5NworICAgIC0weDEuNmEwOWU2NjdmM2I5ZjRmY2Y5MTQ1YmYzZWYzOWY5MDFwLTEsCisgICAgMHgxLjZjNmNiYzQ1ZGM4ZGNwNAorICB9LAorICB7IC8vIEVudHJ5IDEyOTgKKyAgICAweDEuNmEwOWU2NjdmM2I5ZjRmY2Y5MTQ1YmYzZWYzOWY5MDFwLTEsCisgICAgLTB4MS42YzZjYmM0NWRjOGRjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjk5CisgICAgLTB4MS42YTA5ZTY2N2YzYmI1ZjA2ZGY3YzRmYjJkNzQ5NzJhZXAtMSwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMwMAorICAgIDB4MS42YTA5ZTY2N2YzYmI1ZjA2ZGY3YzRmYjJkNzQ5NzJhZXAtMSwKKyAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGRwNAorICB9LAorICB7IC8vIEVudHJ5IDEzMDEKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2M5MTBjNWU0NDM3MDU1NGYwNWY0cC0xLAorICAgIDB4MS42YzZjYmM0NWRjOGRlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAyCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MTBjNWU0NDM3MDU1NGYwNWY0cC0xLAorICAgIC0weDEuNmM2Y2JjNDVkYzhkZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMwMworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZTg1Njg1YmRwLTEsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDVwNAorICB9LAorICB7IC8vIEVudHJ5IDEzMDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZTg1Njg1YmRwLTEsCisgICAgLTB4MS43OGZkYjllZmZlYTQ1cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2I0YTQzZHAtMSwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMwNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2I0YTQzZHAtMSwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDZwNAorICB9LAorICB7IC8vIEVudHJ5IDEzMDcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTJjMmJjcC0xLAorICAgIDB4MS43OGZkYjllZmZlYTQ3cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTJjMmJjcC0xLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTMwOQorICAgIC0weDEuNmEwOWU2NjdmM2JlZWU0Y2UxZGQ1MWRhYzIzYzZiZGNwLTEsCisgICAgMHgxLjg1OGViNzlhMjBiYWVwNAorICB9LAorICB7IC8vIEVudHJ5IDEzMTAKKyAgICAweDEuNmEwOWU2NjdmM2JlZWU0Y2UxZGQ1MWRhYzIzYzZiZGNwLTEsCisgICAgLTB4MS44NThlYjc5YTIwYmFlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzExCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ4NDQyZmI3NTVlMWY2OTcyZjQ4ZnAtMSwKKyAgICAweDEuODU4ZWI3OWEyMGJhZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMxMgorICAgIDB4MS42YTA5ZTY2N2YzYmQ4NDQyZmI3NTVlMWY2OTcyZjQ4ZnAtMSwKKyAgICAtMHgxLjg1OGViNzlhMjBiYWZwNAorICB9LAorICB7IC8vIEVudHJ5IDEzMTMKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzFhMzkxNTBkNmE2MmE2OWY5NmRhcC0xLAorICAgIDB4MS44NThlYjc5YTIwYmIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE0CisgICAgMHgxLjZhMDllNjY3ZjNiYzFhMzkxNTBkNmE2MmE2OWY5NmRhcC0xLAorICAgIC0weDEuODU4ZWI3OWEyMGJiMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTMxNQorICAgIDB4MS5mYTcyOTliMTc1NzNkMzczYzYxNTA5NjU3MmEwZGUwNHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDEzMTYKKyAgICAtMHgxLmZhNzI5OWIxNzU3M2QzNzNjNjE1MDk2NTcyYTBkZTA0cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDEzMTcKKyAgICAweDEuZmZmNmRmZDQyZGM1NDQzMGJjMDU3NmIwMGE4OGJkOTRwLTEsCisgICAgMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE4CisgICAgLTB4MS5mZmY2ZGZkNDJkYzU0NDMwYmMwNTc2YjAwYTg4YmQ5NHAtMSwKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzE5CisgICAgMHgxLmU0NTZiODE4ZTczOTZiNDU5ODk5NzhkNGI3ZWJmN2IzcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMAorICAgIC0weDEuZTQ1NmI4MThlNzM5NmI0NTk4OTk3OGQ0YjdlYmY3YjNwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTMyMQorICAgIC0weDEuODZkY2NhMGQ2ODllN2I1NmVmNzk0ODFiZTRhNjQ1YzZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIyCisgICAgMHgxLjg2ZGNjYTBkNjg5ZTdiNTZlZjc5NDgxYmU0YTY0NWM2cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyNgorICB9LAorICB7IC8vIEVudHJ5IDEzMjMKKyAgICAtMHgxLjg2ZGNjOWJhYmIwYTQwZWU4NzVjYWIzYjllODkyNzU3cC0xLAorICAgIDB4MS4wcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMyNAorICAgIDB4MS44NmRjYzliYWJiMGE0MGVlODc1Y2FiM2I5ZTg5Mjc1N3AtMSwKKyAgICAtMHgxLjBwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzI1CisgICAgLTB4MS44NmRjYzkxNTVmZTE4MmQ0NTE1NTk5NDI2YmIxNGI5NHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyNworICB9LAorICB7IC8vIEVudHJ5IDEzMjYKKyAgICAweDEuODZkY2M5MTU1ZmUxODJkNDUxNTU5OTQyNmJiMTRiOTRwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTMyNworICAgIC0weDEuOGYyMmY4NGQ0MmRhMWY1NzQ2OWRmYWFjNDRhOGI3M2FwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzI4CisgICAgMHgxLjhmMjJmODRkNDJkYTFmNTc0NjlkZmFhYzQ0YThiNzNhcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyMworICB9LAorICB7IC8vIEVudHJ5IDEzMjkKKyAgICAtMHgxLjhmMjJmODQzM2Q2ZWRmZTlhNGFmZjk2MjI1MTdjYWE5cC0xLAorICAgIDB4MS4wcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTMzMAorICAgIDB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKKyAgICAtMHgxLjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMxCisgICAgLTB4MS44ZjIyZjgyZjMyOTg1ZmUzMDY5OWM2ZTEyZDlkZmNlMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyNAorICB9LAorICB7IC8vIEVudHJ5IDEzMzIKKyAgICAweDEuOGYyMmY4MmYzMjk4NWZlMzA2OTljNmUxMmQ5ZGZjZTJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTMzMworICAgIC0weDEuODM3YjlkZGRjMWVhYmQzNzlkNzI5ZjU3NWZjMTE0NGNwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMzQKKyAgICAweDEuODM3YjlkZGRjMWVhYmQzNzlkNzI5ZjU3NWZjMTE0NGNwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzM1CisgICAgLTB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMzNgorICAgIDB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEzMzcKKyAgICAtMHgxLjgzN2I5ZGRkYzFlYjNhYjc4MTliYzIzM2RiNDY5N2I1cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzM4CisgICAgMHgxLjgzN2I5ZGRkYzFlYjNhYjc4MTliYzIzM2RiNDY5N2I1cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMzOQorICAgIDB4MS5kMThmNmVhZDFiNDQ2YjRiY2I3M2MyMzkwYjMzMGQ3NXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0MAorICAgIC0weDEuZDE4ZjZlYWQxYjQ0NmI0YmNiNzNjMjM5MGIzMzBkNzVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQxCisgICAgMHgxLmQxOGY2ZWFkMWI0NDVkZmFiODQ4MTg4MDA5YzliYjk1cC0xLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQyCisgICAgLTB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDEzNDMKKyAgICAweDEuZDE4ZjZlYWQxYjQ0NDM1ODkxZjBjNTBlMDE4MjY5ODhwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDEzNDQKKyAgICAtMHgxLmQxOGY2ZWFkMWI0NDQzNTg5MWYwYzUwZTAxODI2OTg4cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM0NQorICAgIDB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNDYKKyAgICAtMHgxLmFlZDU0OGYwOTBjZWQ3OWM3OWNiZjc5MDQ0MWY4MTk3cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNDcKKyAgICAweDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNDgKKyAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0OQorICAgIDB4MS5hZWQ1NDhmMDkwY2VmMThiYjVlMzg3MWExNGQ5NDYwOXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM1MAorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUxCisgICAgMHgxLmVhZWU4NzQ0YjA1ZWYwN2NkMGI5MDg5MTMwNTk4MzE0cC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTM1MgorICAgIC0weDEuZWFlZTg3NDRiMDVlZjA3Y2QwYjkwODkxMzA1OTgzMTRwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTM1MworICAgIDB4MS5lYWVlODc0NGIwNWVmZTg3NjRiYzM2NGZkODM3YjY2NnAtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNTQKKyAgICAtMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNTUKKyAgICAweDEuZWFlZTg3NDRiMDVmMWE5YzhjYzI5MWNkMjc5ODEwNTFwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU2CisgICAgLTB4MS5lYWVlODc0NGIwNWYxYTljOGNjMjkxY2QyNzk4MTA1MXAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzU3CisgICAgMHgxLmZhYWVlZDRmMzE1NzVjMjdmMzljMWQ3YzAxMmE0NDEzcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTM1OAorICAgIC0weDEuZmFhZWVkNGYzMTU3NWMyN2YzOWMxZDdjMDEyYTQ0MTNwLTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTM1OQorICAgIDB4MS5mYWFlZWQ0ZjMxNTc2YmE4OWRlYmRjNzM1MWU4YjFhZXAtMywKKyAgICAweDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzNjAKKyAgICAtMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAorICAgIC0weDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzNjEKKyAgICAweDEuZmFhZWVkNGYzMTU3OGFhOWYyOGI1YTYxZjM0ZGNjYjFwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYyCisgICAgLTB4MS5mYWFlZWQ0ZjMxNTc4YWE5ZjI4YjVhNjFmMzRkY2NiMXAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYzCisgICAgMHgxLmZlYWFlZWU4NmVlMzRjYzA1ZWZmMjg3NDBlZTdiNDY5cC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTM2NAorICAgIC0weDEuZmVhYWVlZTg2ZWUzNGNjMDVlZmYyODc0MGVlN2I0NjlwLTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTM2NQorICAgIDB4MS5mZWFhZWVlODZlZTM1Y2EwNjlhODY3MjFmODlmODVhNXAtNCwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzNjYKKyAgICAtMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAorICAgIC0weDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDEzNjcKKyAgICAweDEuZmVhYWVlZTg2ZWUzN2M2MDdlZmFlNDdkY2MwOTJjMWNwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY4CisgICAgLTB4MS5mZWFhZWVlODZlZTM3YzYwN2VmYWU0N2RjYzA5MmMxY3AtNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzY5CisgICAgMHgxLmZmYWFhZWVlZDRlZDliNTNhNDA4YzBmMmJjMDJjOGY5cC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTM3MAorICAgIC0weDEuZmZhYWFlZWVkNGVkOWI1M2E0MDhjMGYyYmMwMmM4ZjlwLTUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTM3MQorICAgIDB4MS5mZmFhYWVlZWQ0ZWRhYjRiYTRiMzY1ZWQyNWE5NTk1ZnAtNSwKKyAgICAweDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzNzIKKyAgICAtMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAorICAgIC0weDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEzNzMKKyAgICAweDEuZmZhYWFlZWVkNGVkY2IzYmE2MDhhZmUxZjhmNGZhNmJwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc0CisgICAgLTB4MS5mZmFhYWVlZWQ0ZWRjYjNiYTYwOGFmZTFmOGY0ZmE2YnAtNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzc1CisgICAgMHgxLmZmZWFhYWVlZWU4NmQ4Y2NmZTM2OGNkOTVlMzhmMDAzcC02LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTM3NgorICAgIC0weDEuZmZlYWFhZWVlZTg2ZDhjY2ZlMzY4Y2Q5NWUzOGYwMDNwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTM3NworICAgIDB4MS5mZmVhYWFlZWVlODZlOGNhZmU0MTM3NmQ0NzkxOTU3OXAtNiwKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzNzgKKyAgICAtMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAorICAgIC0weDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEzNzkKKyAgICAweDEuZmZlYWFhZWVlZTg3MDhjNmZlNTY4Yzk1MWE0MjgwNjlwLTYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgwCisgICAgLTB4MS5mZmVhYWFlZWVlODcwOGM2ZmU1NjhjOTUxYTQyODA2OXAtNiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgxCisgICAgMHgxLmZmZmFhYWFlZWVlZDNlZDVjOWM1YWI2NTM4ZjljY2UwcC03LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTM4MgorICAgIC0weDEuZmZmYWFhYWVlZWVkM2VkNWM5YzVhYjY1MzhmOWNjZTBwLTcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTM4MworICAgIDB4MS5mZmZhYWFhZWVlZWQ0ZWQ1NDljNjU2MGY4ODllZTUzMXAtNywKKyAgICAweDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzODQKKyAgICAtMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAorICAgIC0weDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDEzODUKKyAgICAweDEuZmZmYWFhYWVlZWVkNmVkNDQ5YzdhYjY0MjdlOGZkZDRwLTcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg2CisgICAgLTB4MS5mZmZhYWFhZWVlZWQ2ZWQ0NDljN2FiNjQyN2U4ZmRkNHAtNywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg3CisgICAgMHgxLmZmZmZmZmZhYWFhYTlhYWVlZWVmNmVlZDRlZDQ0MmE0cC0xNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzg4CisgICAgLTB4MS5mZmZmZmZmYWFhYWE5YWFlZWVlZjZlZWQ0ZWQ0NDJhNHAtMTUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDEzODkKKyAgICAweDEuZmZmZmZmZmFhYWFhYWFhZWVlZWVlZWVkNGVkNGVkNGZwLTE1LAorICAgIDB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEzOTAKKyAgICAtMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKKyAgICAtMHgxLjBwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTM5MQorICAgIDB4MS5mZmZmZmZmYWFhYWFjYWFlZWVlZGVlZWQ0ZWQ2NDJhNHAtMTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTM5MgorICAgIC0weDEuZmZmZmZmZmFhYWFhY2FhZWVlZWRlZWVkNGVkNjQyYTRwLTE1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkzCisgICAgMHgxLmZmZmZmZmZmZmZmZmVlYWFhYWFhYWFhYWFhY2FlZWVlcC0yOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzk0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZWFhYWFhYWFhYWFhYWNhZWVlZXAtMjgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDEzOTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmVhYWFhYWFhYWFhYWFhYWVlZWVwLTI4LAorICAgIDB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDEzOTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKKyAgICAtMHgxLjBwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM5NworICAgIDB4MS4wMDAwMDAwMDAwMDAwZjU1NTU1NTU1NTU1NTM1Nzc3N3AtMjcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM5OAorICAgIC0weDEuMDAwMDAwMDAwMDAwMGY1NTU1NTU1NTU1NTUzNTc3NzdwLTI3LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzk5CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmFhYWFhYWFhYWFhYWIyYWFlcC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZhYWFhYWFhYWFhYWFiMmFhZXAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDE0MDEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYWFhYWVwLTMxLAorICAgIDB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDE0MDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKKyAgICAtMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwMworICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZkNTU1NTU1NTU1NTU0ZDU1N3AtMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwNAorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZDU1NTU1NTU1NTU1NGQ1NTdwLTMwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDA1CisgICAgLTB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MDYKKyAgICAweDEuNDUyZmM5OGIzNGU5NmI2MTEzOWIwOWE3Yzg0YTQ0YmRwLTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MDcKKyAgICAweDEuNDUyZmM5OGIzNGU5NmI2MTEzOWIwOWE3Yzg0YTQ0YmRwLTgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MDgKKyAgICAtMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQwOQorICAgIDB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQxMAorICAgIC0weDEuNDUyZmM5OGIzNGU5NmI2MTEzOWIwOWE3Yzg0YTQ0YmRwLTgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDExCisgICAgMHgxLmRhYTM2NzdjNmVlOGEyMmViNmM0YjEyY2ExMGNlMDIxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEyCisgICAgLTB4MS5kYWEzNjc3YzZlZThhMjJlYjZjNGIxMmNhMTBjZTAyMXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MTMKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE0CisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDM2ZTJlZHAtNTMsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDE2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MTcKKyAgICAweDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MTgKKyAgICAtMHgxLmFlZDU0OGYwOTBjZWYxOGJiNWUzODcxYTE0ZDk0NjA5cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQxOQorICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyMAorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIxCisgICAgMHgxLmFlZDU0OGYwOTBjZWQ3OWM3OWNiZjc5MDQ0MWY4MTk3cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyMgorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZDc5Yzc5Y2JmNzkwNDQxZjgxOTdwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyMworICAgIDB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MjQKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2M1ZTlmZWUzNTJmNTBmZDNmNGU5cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MjUKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDI3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQyOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQyOQorICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDE0MzEKKyAgICAweDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDc0LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTQzNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTQzNQorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0MzYKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE0MzcKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTQzOAorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zaW5jb3NfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3NpbmNvc19pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzFiYTZiMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9zaW5jb3NfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDc2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzJfMV90PGRvdWJsZSwgZG91YmxlLCBkb3VibGU+IGdfc2luY29zX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS5jZTlhOTRlYTljMmFkOTU1OTdiMTE5M2IyMzAwZDE5YXAtMSwKKyAgICAtMHgxLmI2ZDMwNTc3NzZkYzM4MzM1YjE2NzQ1ZjJkNzU2YWI2cC0yLAorICAgIC0weDEuMDFjMDAwMDAzcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5jZTlhOTRlYTljMmFkOTU1OTdiMTE5M2IyMzAwZDE5YXAtMSwKKyAgICAtMHgxLmI2ZDMwNTc3NzZkYzM4MzM1YjE2NzQ1ZjJkNzU2YWI2cC0yLAorICAgIDB4MS4wMWMwMDAwMDNwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS5jZTJjYWQyZjkyMTU3MTUzYjRhOWUwMTJlMzQ2MWQwYXAtMSwKKyAgICAtMHgxLmI4YTE0Yzc0NWJkNGM4MzJiYWU5Nzg1NjU1YzkxYjYwcC0yLAorICAgIC0weDEuMDFmZmZjMDgwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5jZTJjYWQyZjkyMTU3MTUzYjRhOWUwMTJlMzQ2MWQwYXAtMSwKKyAgICAtMHgxLmI4YTE0Yzc0NWJkNGM4MzJiYWU5Nzg1NjU1YzkxYjYwcC0yLAorICAgIDB4MS4wMWZmZmMwODBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS4xYTc0NDQ3MjZmNWU5ZGMyZWUwNjlkYzNlNTAwYWI0ZnAtMiwKKyAgICAweDEuZWMyMzE4MDI5MTdiZGZmYTYyN2FiNmE1OWFiZTNmN2RwLTEsCisgICAgLTB4MS4xZTJhMTU2M2UwNjhlcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuMWE3NDQ0NzI2ZjVlOWRjMmVlMDY5ZGMzZTUwMGFiNGZwLTIsCisgICAgMHgxLmVjMjMxODAyOTE3YmRmZmE2MjdhYjZhNTlhYmUzZjdkcC0xLAorICAgIDB4MS4xZTJhMTU2M2UwNjhlcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLmVmZGFiNWU2NWM4ZmQ1NTBkNDY4OGI2Mjc5MWZlNjk0cC0xLAorICAgIDB4MS5mZTQxMjNkMjY2Y2EzN2ZhZWVlODIyMTM4ZWIzMzFkM3AtMywKKyAgICAtMHgxLjgzZWYyMTk2ZjkyZjBwODcsCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5lZmRhYjVlNjVjOGZkNTUwZDQ2ODhiNjI3OTFmZTY5NHAtMSwKKyAgICAweDEuZmU0MTIzZDI2NmNhMzdmYWVlZTgyMjEzOGViMzMxZDNwLTMsCisgICAgMHgxLjgzZWYyMTk2ZjkyZjBwODcsCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuZWZmNWVkYjFhZDQxNmNiNmNhMzEwOWYxYzBkZmMzNGFwLTEsCisgICAgMHgxLmZjOTkzNWE3NDgxNzE3ZmE4YWVjYTdhOWM1ODMzMDg0cC0zLAorICAgIC0weDEuYTQ4NmQ3OTc2NGZiOHA4NiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmVmZjVlZGIxYWQ0MTZjYjZjYTMxMDlmMWMwZGZjMzRhcC0xLAorICAgIDB4MS5mYzk5MzVhNzQ4MTcxN2ZhOGFlY2E3YTljNTgzMzA4NHAtMywKKyAgICAweDEuYTQ4NmQ3OTc2NGZiOHA4NiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEuYjc4ZjJjOTdjODgwMjgzOTZlYzk0YmE5ZWE1OGRkNjhwLTIsCisgICAgMHgxLmNlNmRlYTY3ODhmZGU0MjVmNjhmZTMzYjBmZmNjMjQ0cC0xLAorICAgIC0weDEuYzY1MTczNTU2Y2NmYnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5iNzhmMmM5N2M4ODAyODM5NmVjOTRiYTllYTU4ZGQ2OHAtMiwKKyAgICAweDEuY2U2ZGVhNjc4OGZkZTQyNWY2OGZlMzNiMGZmY2MyNDRwLTEsCisgICAgMHgxLmM2NTE3MzU1NmNjZmJwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmM3ODg1YWVmMzNhOTRmZmM1YWUwNmJlOTQ0NGVmYWQ1cC0zLAorICAgIDB4MS5mMzJjODc5MjAwNjM0OWIzM2IwOWZlNTdmODBkOWVkMXAtMSwKKyAgICAtMHgxLmNiNnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5jNzg4NWFlZjMzYTk0ZmZjNWFlMDZiZTk0NDRlZmFkNXAtMywKKyAgICAweDEuZjMyYzg3OTIwMDYzNDliMzNiMDlmZTU3ZjgwZDllZDFwLTEsCisgICAgMHgxLmNiNnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEuZjc0YTk3YWJiNDdiYzgyM2U5MmViOWQ2NmYxZDhiNTRwLTMsCisgICAgMHgxLmYwNGM4NTllMDYyYjkyMDJhYTJiOWJmMDQ4NmI1YWZkcC0xLAorICAgIC0weDEuZmM3ZmZmZmZmZmZmZXAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5mNzRhOTdhYmI0N2JjODIzZTkyZWI5ZDY2ZjFkOGI1NHAtMywKKyAgICAweDEuZjA0Yzg1OWUwNjJiOTIwMmFhMmI5YmYwNDg2YjVhZmRwLTEsCisgICAgMHgxLmZjN2ZmZmZmZmZmZmVwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmQ1NTU1NTU1NTU1NTNkNTVwLTMyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmYTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwLTMyLAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyZmZmZDU1NTU1NTU1NTU1M2Q1NXAtMzIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZhMHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwLTMyLAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmQxOGY2ZWFkMTk5YTNiOTU0MzBkNTUxNmU5M2M4ZDdicC0xLAorICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCisgICAgMHgxLjAwMDAwMDAwMDEwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAtMHgxLmQxOGY2ZWFkMTk5YTNiOTU0MzBkNTUxNmU5M2M4ZDdicC0xLAorICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAxMHAxLAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLmI2NGQ1OWRkOGE1MjQ5ZTAxMTEzZjRjYjM3ZDEzYzQwcC0xLAorICAgIC0weDEuMDhhNDQ1YWQ0NzM3ZTgwMDYwY2YzYTVmZjk0ZDMwNjdwLTEsCisgICAgMHgxLjAwMXA1NTcsCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLmI2NGQ1OWRkOGE1MjQ5ZTAxMTEzZjRjYjM3ZDEzYzQwcC0xLAorICAgIC0weDEuMDhhNDQ1YWQ0NzM3ZTgwMDYwY2YzYTVmZjk0ZDMwNjdwLTEsCisgICAgLTB4MS4wMDFwNTU3LAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLmNlNzdmMjRmZDRkOWE3OTAxMjVmZjUyOTBhNjJiN2YxcC0xLAorICAgIC0weDEuYjc2NGY0MGM5NzE2YjgzNGJiNzI1ODkzNDhjZmE0YjhwLTIsCisgICAgMHgxLjAxZDQzMTM3NTc0ODJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEuY2U3N2YyNGZkNGQ5YTc5MDEyNWZmNTI5MGE2MmI3ZjFwLTEsCisgICAgLTB4MS5iNzY0ZjQwYzk3MTZiODM0YmI3MjU4OTM0OGNmYTRiOHAtMiwKKyAgICAtMHgxLjAxZDQzMTM3NTc0ODJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5jZTM5YjdkZjdmNGFjYjgxZTM3YzUzMjYzOGY5YmY0OXAtMSwKKyAgICAtMHgxLmI4NmE5MDhmMDVjMGE4MzllMTlkNGFhNjMxNTZkMzJicC0yLAorICAgIDB4MS4wMWY4NjdkNDRiYzgycDEsCisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAtMHgxLmNlMzliN2RmN2Y0YWNiODFlMzdjNTMyNjM4ZjliZjQ5cC0xLAorICAgIC0weDEuYjg2YTkwOGYwNWMwYTgzOWUxOWQ0YWE2MzE1NmQzMmJwLTIsCisgICAgLTB4MS4wMWY4NjdkNDRiYzgycDEsCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuY2U3MDA0NmFjYjgwZGU3NWU5MDM0NjhjZWE4YWI0MjdwLTEsCisgICAgLTB4MS5iNzg2NTQ3NjZjNzY0ODNjZTkwYTBiYzJhYzk1N2I1OXAtMiwKKyAgICAweDEuMDk4NjBlOGVkMWU5MHAzLAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS5jZTcwMDQ2YWNiODBkZTc1ZTkwMzQ2OGNlYThhYjQyN3AtMSwKKyAgICAtMHgxLmI3ODY1NDc2NmM3NjQ4M2NlOTBhMGJjMmFjOTU3YjU5cC0yLAorICAgIC0weDEuMDk4NjBlOGVkMWU5MHAzLAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLmNlNjg1NjRlMjUxZjE2Mjg1ZDYwNGUwNDY1N2YzMGU2cC0xLAorICAgIC0weDEuYjdhNmE1NmY1Nzk2NjgzYzU4ZTAxYjViNzA2MWMxNmNwLTIsCisgICAgMHgxLjA5ODcyY2NlNTFmYmRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIC0weDEuY2U2ODU2NGUyNTFmMTYyODVkNjA0ZTA0NjU3ZjMwZTZwLTEsCisgICAgLTB4MS5iN2E2YTU2ZjU3OTY2ODNjNThlMDFiNWI3MDYxYzE2Y3AtMiwKKyAgICAtMHgxLjA5ODcyY2NlNTFmYmRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIC0weDEuY2U4YWIzMmYzYjAwMjA2NWYyZDk5ZTU3YTEwNzI3MDVwLTEsCisgICAgLTB4MS5iNzE1Zjc2OWNmMWU1ODJlMjNhMTVlOGI4MGE3MDQ4NnAtMiwKKyAgICAweDEuMTEzYjEzYjEzYjIyNHAyLAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmNlOGFiMzJmM2IwMDIwNjVmMmQ5OWU1N2ExMDcyNzA1cC0xLAorICAgIC0weDEuYjcxNWY3NjljZjFlNTgyZTIzYTE1ZThiODBhNzA0ODZwLTIsCisgICAgLTB4MS4xMTNiMTNiMTNiMjI0cDIsCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuYzJkZjU3MTg4ZDMwOTllMWJhZjdmNzIxZDczMThiZDlwLTEsCisgICAgMHgxLmU1MzZhZTM5NWRmY2UwMDE0NTc5NzBjOGFhYWMzYjFmcC0yLAorICAgIDB4MS4xM2NwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuYzJkZjU3MTg4ZDMwOTllMWJhZjdmNzIxZDczMThiZDlwLTEsCisgICAgMHgxLmU1MzZhZTM5NWRmY2UwMDE0NTc5NzBjOGFhYWMzYjFmcC0yLAorICAgIC0weDEuMTNjcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuYjdkY2Q3Yzg1YzgyMDgzOGVlY2ZhNTNlNTIwNzhiMmJwLTIsCisgICAgLTB4MS5jZTViNzM3MjA0NmVhYTQ2N2Y0OWUxZGViZTM2NjJkZnAtMSwKKyAgICAweDEuMWY2MjhjNTYxMDcxN3AzLAorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgLTB4MS5iN2RjZDdjODVjODIwODM4ZWVjZmE1M2U1MjA3OGIyYnAtMiwKKyAgICAtMHgxLmNlNWI3MzcyMDQ2ZWFhNDY3ZjQ5ZTFkZWJlMzY2MmRmcC0xLAorICAgIC0weDEuMWY2MjhjNTYxMDcxN3AzLAorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLmZmMzQ2NmIxZWM4YmVkOTc4ZjdjMjcwMThiYzA5Njc4cC0xLAorICAgIDB4MS5jODZjYWEwNDkyOTg1N2MyODE2ZDMwNjkzZmNlYWIzNnAtNSwKKyAgICAweDEuMWY2OTlkNzA4ZDQ5N3AxNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEuZmYzNDY2YjFlYzhiZWQ5NzhmN2MyNzAxOGJjMDk2NzhwLTEsCisgICAgMHgxLmM4NmNhYTA0OTI5ODU3YzI4MTZkMzA2OTNmY2VhYjM2cC01LAorICAgIC0weDEuMWY2OTlkNzA4ZDQ5N3AxNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5iNjFkNmFmZjc1NGMyODM1Njk3YjVhYTUzMzliNjM1Y3AtMiwKKyAgICAtMHgxLmNlYzU5YjJkMjMwYTgzYTg2ODA0NzMwYWZkZjFiZWNmcC0xLAorICAgIDB4MS4xZjcyMDY0NjIwZWY0cDMsCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLmI2MWQ2YWZmNzU0YzI4MzU2OTdiNWFhNTMzOWI2MzVjcC0yLAorICAgIC0weDEuY2VjNTliMmQyMzBhODNhODY4MDQ3MzBhZmRmMWJlY2ZwLTEsCisgICAgLTB4MS4xZjcyMDY0NjIwZWY0cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuY2RmNjA0ODM4ZTQ5OWJkNWQ5ZDI3MTIzOTdiMjNjMDdwLTEsCisgICAgMHgxLmI5ODY1NmI4NWJjMjY4MzIxNmE5NDczMzVlYTY4OWZicC0yLAorICAgIDB4MS4xZmZmZmZkY2VmZTQwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmNkZjYwNDgzOGU0OTliZDVkOWQyNzEyMzk3YjIzYzA3cC0xLAorICAgIDB4MS5iOTg2NTZiODViYzI2ODMyMTZhOTQ3MzM1ZWE2ODlmYnAtMiwKKyAgICAtMHgxLjFmZmZmZmRjZWZlNDBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5jZTkxMzMyOTY5NmNkM2ZhNDcxYzdiMDA4OTEwNzVkNHAtMSwKKyAgICAweDEuYjZmYTkyZTVmNTc2YzgzNGZjMTVkODk5OGZjY2M3MjhwLTIsCisgICAgMHgxLjIwYjQ3OGM0YWE5ZWRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuY2U5MTMzMjk2OTZjZDNmYTQ3MWM3YjAwODkxMDc1ZDRwLTEsCisgICAgMHgxLmI2ZmE5MmU1ZjU3NmM4MzRmYzE1ZDg5OThmY2NjNzI4cC0yLAorICAgIC0weDEuMjBiNDc4YzRhYTllZHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmNlYWJjMDI1ZWQzZDU3MzIzZmNhNTE2MjZkMmJmMjhjcC0xLAorICAgIDB4MS5iNjhhOTg4NjA0YTdlODNjZDM4MmZkZjMyOWQwZDc2ZXAtMiwKKyAgICAweDEuMjBkMzc0NTZlNzQ1M3AwLAorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgLTB4MS5jZWFiYzAyNWVkM2Q1NzMyM2ZjYTUxNjI2ZDJiZjI4Y3AtMSwKKyAgICAweDEuYjY4YTk4ODYwNGE3ZTgzY2QzODJmZGYzMjlkMGQ3NmVwLTIsCisgICAgLTB4MS4yMGQzNzQ1NmU3NDUzcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuY2ViMDIyYjZiNWFlMDdhMjY3ZjBlN2RjNmExNGEyMTRwLTEsCisgICAgMHgxLmI2NzgxNmI4MGVkMGE4MmQxMWFlZTdhYWE4MDA4ZmVkcC0yLAorICAgIDB4MS4yMGQ4OTMwY2RmNjAycDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmNlYjAyMmI2YjVhZTA3YTI2N2YwZTdkYzZhMTRhMjE0cC0xLAorICAgIDB4MS5iNjc4MTZiODBlZDBhODJkMTFhZWU3YWFhODAwOGZlZHAtMiwKKyAgICAtMHgxLjIwZDg5MzBjZGY2MDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0weDEuOWU2MmFjYTUzYzY2MDgwMWI2MjYwNDAxOGE5ZDE5ZGRwLTQsCisgICAgLTB4MS5mZDVmODMwZjg2MGYzMzNkZTQ5MGE0MmMyZjA0NTAxMnAtMSwKKyAgICAweDEuMzBkNWY4ZTU0YjZkOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjllNjJhY2E1M2M2NjA4MDFiNjI2MDQwMThhOWQxOWRkcC00LAorICAgIC0weDEuZmQ1ZjgzMGY4NjBmMzMzZGU0OTBhNDJjMmYwNDUwMTJwLTEsCisgICAgLTB4MS4zMGQ1ZjhlNTRiNmQ4cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuM2VkMmFlZWZlYWZjOTdmMGVlMGZiM2ZhNGZiNDYwNTJwLTMsCisgICAgMHgxLmY5YzIwMWU0ZWI2NWZkNWU1ZGJkOTc2NjI1MDVmZjZmcC0xLAorICAgIDB4MS40MDJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLjNlZDJhZWVmZWFmYzk3ZjBlZTBmYjNmYTRmYjQ2MDUycC0zLAorICAgIDB4MS5mOWMyMDFlNGViNjVmZDVlNWRiZDk3NjYyNTA1ZmY2ZnAtMSwKKyAgICAtMHgxLjQwMnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIC0weDEuZmY2NWQyZmY0YThjYzQxY2I4YmI2ZGYzMDZlMDdiZTdwLTEsCisgICAgLTB4MS44ZDM4MjJlZjI2MGE1N2IzODU2MTFmMDg1NzdiNzVkOXAtNSwKKyAgICAweDEuNGE0MGVjMTQ5YTY2ZnAxNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5mZjY1ZDJmZjRhOGNjNDFjYjhiYjZkZjMwNmUwN2JlN3AtMSwKKyAgICAtMHgxLjhkMzgyMmVmMjYwYTU3YjM4NTYxMWYwODU3N2I3NWQ5cC01LAorICAgIC0weDEuNGE0MGVjMTQ5YTY2ZnAxNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS40ZmZmZmZmZmZmOWY4ODAwMDAwMDA4NGYyMmNjY2NjY3AtMjAsCisgICAgMHgxLmZmZmZmZmZmZmU0NzAwMDAwMDAwM2Y0ZWJmZmZmZmZjcC0xLAorICAgIDB4MS41cC0yMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuNGZmZmZmZmZmZjlmODgwMDAwMDAwODRmMjJjY2NjY2NwLTIwLAorICAgIDB4MS5mZmZmZmZmZmZlNDcwMDAwMDAwMDNmNGViZmZmZmZmY3AtMSwKKyAgICAtMHgxLjVwLTIwLAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjc5YzU5OWUxZTkxYWY4MDlmOWU2OTc3MTc5NmNkNTA3cC0xLAorICAgIC0weDEuNTk5NzA2NWNiOTY1MzcwMmQ0YzlkOWI2YmM1OGY3NjhwLTEsCisgICAgMHgxLjUyOTRhNTI5NGE1MjhwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuNzljNTk5ZTFlOTFhZjgwOWY5ZTY5NzcxNzk2Y2Q1MDdwLTEsCisgICAgLTB4MS41OTk3MDY1Y2I5NjUzNzAyZDRjOWQ5YjZiYzU4Zjc2OHAtMSwKKyAgICAtMHgxLjUyOTRhNTI5NGE1MjhwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEuZmY3OTk2MDczYmJhNmM2ZWRlNDZmNTJkNDQ1NjIzYzlwLTEsCisgICAgMHgxLjcyZTc0Mzc5MTBjYzA4M2ZhYzRmNmY2MmEyZWIzOGFmcC01LAorICAgIDB4MS41NzQzMWFhY2Y1YzU4cDE2LAorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmZmNzk5NjA3M2JiYTZjNmVkZTQ2ZjUyZDQ0NTYyM2M5cC0xLAorICAgIDB4MS43MmU3NDM3OTEwY2MwODNmYWM0ZjZmNjJhMmViMzhhZnAtNSwKKyAgICAtMHgxLjU3NDMxYWFjZjVjNThwMTYsCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZjgxYzRmOWE1MTgxNDYyYWU3MzVlMjEyMjJkNDk4YzRwLTEsCisgICAgMHgxLjY2MjNkMmViNmFkZDFmZmMzOThhM2MyMDQ0N2Y5ZDA2cC0zLAorICAgIDB4MS42NTJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuZjgxYzRmOWE1MTgxNDYyYWU3MzVlMjEyMjJkNDk4YzRwLTEsCisgICAgMHgxLjY2MjNkMmViNmFkZDFmZmMzOThhM2MyMDQ0N2Y5ZDA2cC0zLAorICAgIC0weDEuNjUycDAsCisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLmM0MmEwOTEwMjZmNDUyODZkMDYxMDg1YzVjOWZkZGI3cC0xLAorICAgIDB4MS5lMDYxOTk2MGExMWM2ODAxZTgwYWIwYzllMjVmODlkMHAtMiwKKyAgICAweDEuNmY3YmRlZjdiZGVmNHAzLAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgMHgxLmM0MmEwOTEwMjZmNDUyODZkMDYxMDg1YzVjOWZkZGI3cC0xLAorICAgIDB4MS5lMDYxOTk2MGExMWM2ODAxZTgwYWIwYzllMjVmODlkMHAtMiwKKyAgICAtMHgxLjZmN2JkZWY3YmRlZjRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIC0weDEuZjljNDM2NGJhMTk4ZjdlMzJiNjcyMzY2YzM0YjhiN2RwLTIsCisgICAgMHgxLmJkMzA5ZjNkZmNkNDg5MTI4ZTVlY2JjMzE2ODBjNGE1cC0xLAorICAgIDB4MS43MTFwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIDB4MS5mOWM0MzY0YmExOThmN2UzMmI2NzIzNjZjMzRiOGI3ZHAtMiwKKyAgICAweDEuYmQzMDlmM2RmY2Q0ODkxMjhlNWVjYmMzMTY4MGM0YTVwLTEsCisgICAgLTB4MS43MTFwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIC0weDEuYmU2ZTViZWExYTRkODgzMzFmZDhlNDYwY2Q2NzcyNDVwLTIsCisgICAgMHgxLmNjYzdkOTliNTdhYjU0ZjA0ZWQ5MThlYzE0YTI1MDdkcC0xLAorICAgIDB4MS43NTQwYWE1ODgyZGMycDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuYmU2ZTViZWExYTRkODgzMzFmZDhlNDYwY2Q2NzcyNDVwLTIsCisgICAgMHgxLmNjYzdkOTliNTdhYjU0ZjA0ZWQ5MThlYzE0YTI1MDdkcC0xLAorICAgIC0weDEuNzU0MGFhNTg4MmRjMnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmM5MGM4NDFkMTQ5NGMwNzU3ZThlYmIxNjcyNWQ4NzE4cC0zLAorICAgIC0weDEuZjMxNjVhMGIzMDZiMWZmY2Y4ZDExOTA5ZmZmYmExNjdwLTEsCisgICAgMHgxLjc1NTBkMjhmZmNjYzRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuYzkwYzg0MWQxNDk0YzA3NTdlOGViYjE2NzI1ZDg3MThwLTMsCisgICAgLTB4MS5mMzE2NWEwYjMwNmIxZmZjZjhkMTE5MDlmZmZiYTE2N3AtMSwKKyAgICAtMHgxLjc1NTBkMjhmZmNjYzRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIC0weDEuYjY0OWQ1NzdlMWIyYTgzOWQyNWQxOTgwN2ViMmM1NjRwLTIsCisgICAgMHgxLmNlYmIxNzVkMzZiOTM0YmMwOTk1YTBiZTM1Y2RlMWVlcC0xLAorICAgIDB4MS43NWQxMWZhMGQ2MjQycDIsCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAweDEuYjY0OWQ1NzdlMWIyYTgzOWQyNWQxOTgwN2ViMmM1NjRwLTIsCisgICAgMHgxLmNlYmIxNzVkMzZiOTM0YmMwOTk1YTBiZTM1Y2RlMWVlcC0xLAorICAgIC0weDEuNzVkMTFmYTBkNjI0MnAyLAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmI3ODczMGQxMWQ4NDA4MzIwZDIxY2E2YWQyYmUzMzY4cC0yLAorICAgIC0weDEuY2U2ZmQwMGVkMTY1MDFjYjEzYjkwODQ3N2UxMDI4MTFwLTEsCisgICAgMHgxLmJjNTA0NDRlZTYyODZwOSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuYjc4NzMwZDExZDg0MDgzMjBkMjFjYTZhZDJiZTMzNjhwLTIsCisgICAgLTB4MS5jZTZmZDAwZWQxNjUwMWNiMTNiOTA4NDc3ZTEwMjgxMXAtMSwKKyAgICAtMHgxLmJjNTA0NDRlZTYyODZwOSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5iNmIwYjA5OTZlN2U2ODM1YWNkYjM2ZTU1YTA4YmYxNXAtMiwKKyAgICAweDEuY2VhMmI4Y2M1NTIxODFkMGIwYWVhZDI3ZTk0YTkxNjhwLTEsCisgICAgMHgxLmM1NWIyYmYxOWNlNTRwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmI2YjBiMDk5NmU3ZTY4MzVhY2RiMzZlNTVhMDhiZjE1cC0yLAorICAgIDB4MS5jZWEyYjhjYzU1MjE4MWQwYjBhZWFkMjdlOTRhOTE2OHAtMSwKKyAgICAtMHgxLmM1NWIyYmYxOWNlNTRwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuYjZmYWNmNjY1ODkxNDgyZWE4YzYxZjVjYTMyZjI4MGRwLTIsCisgICAgMHgxLmNlOTEyNGNlYzQxNTA1NTlkOTQ3YTUyNmFkOThmMmY0cC0xLAorICAgIDB4MS5jNWFkMzRmNWY0NzJhcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5iNmZhY2Y2NjU4OTE0ODJlYThjNjFmNWNhMzJmMjgwZHAtMiwKKyAgICAweDEuY2U5MTI0Y2VjNDE1MDU1OWQ5NDdhNTI2YWQ5OGYyZjRwLTEsCisgICAgLTB4MS5jNWFkMzRmNWY0NzJhcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5mODNhMDk4M2RkMTVkMDAzMDFlMmRmMjFlM2JlZTYzNXAtMiwKKyAgICAtMHgxLmJkYTA1OTZkZjA2MDAwNGQ1Nzk1NjNhZDhjNjdkMTUxcC0xLAorICAgIDB4MS5kNDA2N2M2MGY0NzFlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuZjgzYTA5ODNkZDE1ZDAwMzAxZTJkZjIxZTNiZWU2MzVwLTIsCisgICAgLTB4MS5iZGEwNTk2ZGYwNjAwMDRkNTc5NTYzYWQ4YzY3ZDE1MXAtMSwKKyAgICAtMHgxLmQ0MDY3YzYwZjQ3MWVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS45Y2I2YTliYmNlNjRhM2U5N2E3MjY3ZmRlYzI1YzgzYnAtMSwKKyAgICAweDEuMmYwMTEzMjY0MjBlNTAwMjE3MmRiMjQ1ZmQ5MDYzZTJwLTEsCisgICAgMHgxLmRmZmZmZmZmZmZmZmZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLjljYjZhOWJiY2U2NGEzZTk3YTcyNjdmZGVjMjVjODNicC0xLAorICAgIDB4MS4yZjAxMTMyNjQyMGU1MDAyMTcyZGIyNDVmZDkwNjNlMnAtMSwKKyAgICAtMHgxLmRmZmZmZmZmZmZmZmZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZjVmMGJlMjg1NjVjNWFkNzYzYzEwM2Q5ODFmYzVjNGVwLTUsCisgICAgMHgxLmZmMDliYWJiMDc2ZTQ4MDNlNTdlNjgyMDQ1NzBmZDVicC0xLAorICAgIDB4MS5mNjQxNDdkOGFkZDg0cC01LAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS5mNWYwYmUyODU2NWM1YWQ3NjNjMTAzZDk4MWZjNWM0ZXAtNSwKKyAgICAweDEuZmYwOWJhYmIwNzZlNDgwM2U1N2U2ODIwNDU3MGZkNWJwLTEsCisgICAgLTB4MS5mNjQxNDdkOGFkZDg0cC01LAorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgLTB4MS5kNGRhNWY1Njg4OGUyMDBmZGE0ZWJhYzdkYjFjZGJlZnAtMSwKKyAgICAweDEuOWI3MGNkMzI4NGUxNTdmYjg0NDkxZDU4MWNiODZiZDNwLTIsCisgICAgMHgxLmZlNjE4M2VmYTM5N2NwODMsCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuZDRkYTVmNTY4ODhlMjAwZmRhNGViYWM3ZGIxY2RiZWZwLTEsCisgICAgMHgxLjliNzBjZDMyODRlMTU3ZmI4NDQ5MWQ1ODFjYjg2YmQzcC0yLAorICAgIC0weDEuZmU2MTgzZWZhMzk3Y3A4MywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS5mYTlmNmNhMGVjNDRlMDAxMDAyNmYzODVjMGFiODY5MHAtMywKKyAgICAweDEuZjAxNjQ3NGI3NTY2NzQyNGEwNTBkNzkwMTRmZDIzODVwLTEsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZhOWY2Y2EwZWM0NGUwMDEwMDI2ZjM4NWMwYWI4NjkwcC0zLAorICAgIDB4MS5mMDE2NDc0Yjc1NjY3NDI0YTA1MGQ3OTAxNGZkMjM4NXAtMSwKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLmZmNDg2OGRkYWJhNmJhMzJjNmI3MTRhZWY5OWZmMmY3cC0xLAorICAgIC0weDEuYjE2ZjBlYjI1YWU0NjdjMmExODVlNTE2ZjExODhiMjBwLTUsCisgICAgMHgxLmZmZjdmZjgwMDAwMWZwMTUsCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmY0ODY4ZGRhYmE2YmEzMmM2YjcxNGFlZjk5ZmYyZjdwLTEsCisgICAgLTB4MS5iMTZmMGViMjVhZTQ2N2MyYTE4NWU1MTZmMTE4OGIyMHAtNSwKKyAgICAtMHgxLmZmZjdmZjgwMDAwMWZwMTUsCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLmZmNGYxZTljMjQ4OTEyNjQ4NzAxODE4ZDA3NWIzOTUzcC0xLAorICAgIC0weDEuYTk3MWUzYjY0ZDA4ZDdjM2YzN2QyOTliNDM2MTZlYjRwLTUsCisgICAgMHgxLmZmZjdmZmZmZmZjcDE1LAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgMHgxLmZmNGYxZTljMjQ4OTEyNjQ4NzAxODE4ZDA3NWIzOTUzcC0xLAorICAgIC0weDEuYTk3MWUzYjY0ZDA4ZDdjM2YzN2QyOTliNDM2MTZlYjRwLTUsCisgICAgLTB4MS5mZmY3ZmZmZmZmY3AxNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5kMTk2MTZmYzdlZTQ2MDUzNDVjMjU2MDZjZmM5MzIzNXAtMSwKKyAgICAtMHgxLmFhMDU0YzQ5MDkzODQ4MTFhMDYzMjczMTEyNjA0YzMxcC0yLAorICAgIDB4MS5mZmY4MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS5kMTk2MTZmYzdlZTQ2MDUzNDVjMjU2MDZjZmM5MzIzNXAtMSwKKyAgICAtMHgxLmFhMDU0YzQ5MDkzODQ4MTFhMDYzMjczMTEyNjA0YzMxcC0yLAorICAgIC0weDEuZmZmODBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5jZTM1MDk3NTFjNDYxNDgzN2ZhNGIzNDk2M2M2ZjVkOHAtMSwKKyAgICAweDEuYjg3ZTM3MTAxNjU0NDgyMTQ0ZDcxZDA0OTcyMjY3ZDhwLTIsCisgICAgMHgxLmZmZmZiZmZlM2ZmZmZwMTQsCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLmNlMzUwOTc1MWM0NjE0ODM3ZmE0YjM0OTYzYzZmNWQ4cC0xLAorICAgIDB4MS5iODdlMzcxMDE2NTQ0ODIxNDRkNzFkMDQ5NzIyNjdkOHAtMiwKKyAgICAtMHgxLmZmZmZiZmZlM2ZmZmZwMTQsCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZDE4Zjc2ZmZjNmU0YmEwYTMxMzRlNWJlMjFiNWJjOGZwLTEsCisgICAgLTB4MS5hYTIyNDExNjAyMjc4OTZjNjhlZjE3ODM5ZjE3ZGNlNXAtMiwKKyAgICAweDEuZmZmZmY2MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS5kMThmNzZmZmM2ZTRiYTBhMzEzNGU1YmUyMWI1YmM4ZnAtMSwKKyAgICAtMHgxLmFhMjI0MTE2MDIyNzg5NmM2OGVmMTc4MzlmMTdkY2U1cC0yLAorICAgIC0weDEuZmZmZmY2MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgLTB4MS44MzdiOTk0YTZkOGZmN2YyNzUwNzU1ZGY1ODQzZTg0ZHAtMSwKKyAgICAtMHgxLjRlYWE2NWI5ZTJlY2MzMDhmZDgyZjY1ZTA5ZDA2YmU0cC0xLAorICAgIDB4MS5mZmZmZmUzZmZmZmZmcDEsCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuODM3Yjk5NGE2ZDhmZjdmMjc1MDc1NWRmNTg0M2U4NGRwLTEsCisgICAgLTB4MS40ZWFhNjViOWUyZWNjMzA4ZmQ4MmY2NWUwOWQwNmJlNHAtMSwKKyAgICAtMHgxLmZmZmZmZTNmZmZmZmZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuYWVkNTQ4ZjA5MGMxZGZmZTZlMDQzMjJkYzhlOGNiZmFwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA3Y2Y4OTk5YTFiMjkxOTk1NjQ2MTUycC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZTdmcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuYWVkNTQ4ZjA5MGMxZGZmZTZlMDQzMjJkYzhlOGNiZmFwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA3Y2Y4OTk5YTFiMjkxOTk1NjQ2MTUycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmU3ZnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMC4wLAorICAgIDB4MS5wMCwKKyAgICAtMC4wLAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQsCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0LAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyLAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTAyMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDIyLAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwMjIsCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDIyLAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIsCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyLAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS45OTk5OTk2ZGU4Y2ExOThjMjRhYjk0NDliZWVlMTZkNXAtMTMsCisgICAgMHgxLmZmZmZmZjVjMjhmNWNiNGM1MjcyMDYxMjgxMjExMTIwcC0xLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAtMHgxLjk5OTk5OTZkZThjYTE5OGMyNGFiOTQ0OWJlZWUxNmQ1cC0xMywKKyAgICAweDEuZmZmZmZmNWMyOGY1Y2I0YzUyNzIwNjEyODEyMTExMjBwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuOTk5OTk4ZWFkNjViOTZmNzhhNGRiZmQ4MzljN2VmMmVwLTEyLAorICAgIDB4MS5mZmZmZmQ3MGEzZDc5NjBjZDU2OTVhMDZmZGI4MGU3NHAtMSwKKyAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTIsCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgLTB4MS45OTk5OThlYWQ2NWI5NmY3OGE0ZGJmZDgzOWM3ZWYyZXAtMTIsCisgICAgMHgxLmZmZmZmZDcwYTNkNzk2MGNkNTY5NWEwNmZkYjgwZTc0cC0xLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTIsCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLjMzMzMzMjBjNDliYWJmZjE1MWI2ZDA0MjkwZTJjM2EycC0xMSwKKyAgICAweDEuZmZmZmZhM2Q3MGE2OWFkNDJiMzlkODY5NjYzMmY4NTZwLTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwLTExLAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIC0weDEuMzMzMzMyMGM0OWJhYmZmMTUxYjZkMDQyOTBlMmMzYTJwLTExLAorICAgIDB4MS5mZmZmZmEzZDcwYTY5YWQ0MmIzOWQ4Njk2NjMyZjg1NnAtMSwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTExLAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS45OTk5OTZkZThjYTI4ODRkYTJmMDhmMjViYjAyNGQwOHAtMTEsCisgICAgMHgxLmZmZmZmNWMyOGY2NGU1ZWMwZGEwYTRmN2Y0Mzg4MDUycC0xLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAtMHgxLjk5OTk5NmRlOGNhMjg4NGRhMmYwOGYyNWJiMDI0ZDA4cC0xMSwKKyAgICAweDEuZmZmZmY1YzI4ZjY0ZTVlYzBkYTBhNGY3ZjQzODgwNTJwLTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAorICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKKyAgICAweDEuMHAtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgLTB4MS5mZmZmZmFhYWFhYWVlZWVlZWQ0ZWQ0ZWRhYjRjN2JkNnAtMTEsCisgICAgMHgxLmZmZmZmMDAwMDAxNTU1NTU0OWY0OWY0ZDM0ZDM0Y2EwcC0xLAorICAgIC0weDEuMHAtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLjMzMzMyZTk3OGQ1NTJhZmM4ODNiZGIwNDc1MWUzODM1cC0xMCwKKyAgICAweDEuZmZmZmU4ZjVjMmJiOThjN2MxMDNkMmZmNzlmMTVkNmFwLTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzNwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMzMzMzJlOTc4ZDU1MmFmYzg4M2JkYjA0NzUxZTM4MzVwLTEwLAorICAgIDB4MS5mZmZmZThmNWMyYmI5OGM3YzEwM2QyZmY3OWYxNWQ2YXAtMSwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzNwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS42NjY2NWYxNTI5YWZmOGEzODA5MjQ2NjcwYTQzNmMzY3AtMTAsCisgICAgMHgxLmZmZmZlMGEzZDc1YzMxYjI2NDUxMTY2ZDZmMzk4YWJkcC0xLAorICAgIDB4MS42NjY2NjY2NjY2NjY2cC0xMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLjY2NjY1ZjE1MjlhZmY4YTM4MDkyNDY2NzBhNDM2YzNjcC0xMCwKKyAgICAweDEuZmZmZmUwYTNkNzVjMzFiMjY0NTExNjZkNmYzOThhYmRwLTEsCisgICAgLTB4MS42NjY2NjY2NjY2NjY2cC0xMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuOTk5OThlYWQ2NWNkZjgyZTE5NGMxMzM5OTdmMmZiNjhwLTEwLAorICAgIDB4MS5mZmZmZDcwYTNkZmM3MzNiMzMzMWQ4MzgyYjFlOWRmNXAtMSwKKyAgICAweDEuOTk5OTk5OTk5OTk5OXAtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS45OTk5OGVhZDY1Y2RmODJlMTk0YzEzMzk5N2YyZmI2OHAtMTAsCisgICAgMHgxLmZmZmZkNzBhM2RmYzczM2IzMzMxZDgzODJiMWU5ZGY1cC0xLAorICAgIC0weDEuOTk5OTk5OTk5OTk5OXAtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLmNjY2NiZDNmN2QxNWQ0MmFmZmI5ZjAyYmYxZGMyNTdicC0xMCwKKyAgICAweDEuZmZmZmNjMjhmNmEyODIzZjM3NjViNTA2NTllY2IwZTJwLTEsCisgICAgMHgxLmNjY2NjY2NjY2NjY2NwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuY2NjY2JkM2Y3ZDE1ZDQyYWZmYjlmMDJiZjFkYzI1N2JwLTEwLAorICAgIDB4MS5mZmZmY2MyOGY2YTI4MjNmMzc2NWI1MDY1OWVjYjBlMnAtMSwKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2NwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS4wNjY1YWU5YzdiNDRlZDI4MDIxNmJlMjEwNGYyOGYwMnAtNywKKyAgICAweDEuZmZmYmNjMmE2ZTg2ZmVmN2QyYWYxNTgwYmQ4ZTY2OTlwLTEsCisgICAgMHgxLjA2NjY2NjY2NjY2NjZwLTcsCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS4wNjY1YWU5YzdiNDRlZDI4MDIxNmJlMjEwNGYyOGYwMnAtNywKKyAgICAweDEuZmZmYmNjMmE2ZTg2ZmVmN2QyYWYxNTgwYmQ4ZTY2OTlwLTEsCisgICAgLTB4MS4wNjY2NjY2NjY2NjY2cC03LAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5jY2M4ZTk3YjU5ZjYxODg5OGM0YWMzYTBhZWRkZjcwOXAtNywKKyAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCisgICAgMHgxLmNjY2NjY2NjY2NjY2NwLTcsCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5jY2M4ZTk3YjU5ZjYxODg5OGM0YWMzYTBhZWRkZjcwOXAtNywKKyAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC03LAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS40OTkzZThhOGZmNzliMTMyMDQ2ZWZhNzg1NmE5NzUzOHAtNiwKKyAgICAweDEuZmZlNTdhNzgwZjM4YzBkYjM3MDUxZmE4YzhkNjBmYmNwLTEsCisgICAgMHgxLjQ5OTk5OTk5OTk5OTlwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS40OTkzZThhOGZmNzliMTMyMDQ2ZWZhNzg1NmE5NzUzOHAtNiwKKyAgICAweDEuZmZlNTdhNzgwZjM4YzBkYjM3MDUxZmE4YzhkNjBmYmNwLTEsCisgICAgLTB4MS40OTk5OTk5OTk5OTk5cC02LAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5hY2MwNDRjNTZkYjBlMTlmODJjOWMzY2ZmMjQ2ZTIwMXAtNiwKKyAgICAweDEuZmZkMzFjZDBlMWQ2MmMwNWQyY2RlZDIxYWRkOGJkMzNwLTEsCisgICAgMHgxLmFjY2NjY2NjY2NjY2NwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5hY2MwNDRjNTZkYjBlMTlmODJjOWMzY2ZmMjQ2ZTIwMXAtNiwKKyAgICAweDEuZmZkMzFjZDBlMWQ2MmMwNWQyY2RlZDIxYWRkOGJkMzNwLTEsCisgICAgLTB4MS5hY2NjY2NjY2NjY2NjcC02LAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIDB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKKyAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCisgICAgMHgxLjA4MHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLjA3ZjQ0ZDY3Y2Y0MWFmYmMwYzk1MTA4Yjk5ZjkxYjAxcC01LAorICAgIDB4MS5mZmJiZjE4MjA3NTQyZWY4MTM5MGQ3M2MzYmE4OWMxYXAtMSwKKyAgICAtMHgxLjA4MHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMzk4NWZlNDZmMWM4NzE0ZWFhMTQxODU2MTk2M2U4OWJwLTUsCisgICAgMHgxLmZmOWZmOGMzMjk5ZjU0NDU3YmJhZjhjMTIxNzNiNDZicC0xLAorICAgIDB4MS4zOTk5OTk5OTk5OTlhcC01LAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuMzk4NWZlNDZmMWM4NzE0ZWFhMTQxODU2MTk2M2U4OWJwLTUsCisgICAgMHgxLmZmOWZmOGMzMjk5ZjU0NDU3YmJhZjhjMTIxNzNiNDZicC0xLAorICAgIC0weDEuMzk5OTk5OTk5OTk5YXAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuNmIxNGJkZTkzYWM1ZjdkMjQ1NDRkMGVjZjhiZTdhZWVwLTUsCisgICAgMHgxLmZmN2YzMmQ3N2M1YjFjNDJmMTY2MGM5YjZmMmVmNjRmcC0xLAorICAgIDB4MS42YjMzMzMzMzMzMzM0cC01LAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIC0weDEuNmIxNGJkZTkzYWM1ZjdkMjQ1NDRkMGVjZjhiZTdhZWVwLTUsCisgICAgMHgxLmZmN2YzMmQ3N2M1YjFjNDJmMTY2MGM5YjZmMmVmNjRmcC0xLAorICAgIC0weDEuNmIzMzMzMzMzMzMzNHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAweDEuOWNhMDE1M2VkODM5NmIwMmY4NjA1MjE5YTVmZTU5MTdwLTUsCisgICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAorICAgIDB4MS45Y2NjY2NjY2NjY2NlcC01LAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIC0weDEuOWNhMDE1M2VkODM5NmIwMmY4NjA1MjE5YTVmZTU5MTdwLTUsCisgICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAorICAgIC0weDEuOWNjY2NjY2NjY2NjZXAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuY2UyNzhkNDAyN2QzNDM4N2YxODRkNGFiMmFhZjU0NWZwLTUsCisgICAgMHgxLmZmMmY0MGMwMmU2MGY2MWQ2ZGNmYzM5YjZjMmJlMDg3cC0xLAorICAgIDB4MS5jZTY2NjY2NjY2NjY2cC01LAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuY2UyNzhkNDAyN2QzNDM4N2YxODRkNGFiMmFhZjU0NWZwLTUsCisgICAgMHgxLmZmMmY0MGMwMmU2MGY2MWQ2ZGNmYzM5YjZjMmJlMDg3cC0xLAorICAgIC0weDEuY2U2NjY2NjY2NjY2NnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAweDEuNDNjMWU5YzE3MWE2NjdhMGI5MjUxOWEwNGZhNWE5MWNwLTEsCisgICAgMHgxLjhjYTQ2YzdkODk3NWU1N2ExNDg0ZjA1YzM3MzhkODNicC0xLAorICAgIDB4MS41ZTdmYzQzNjliZGFkcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuNDNjMWU5YzE3MWE2NjdhMGI5MjUxOWEwNGZhNWE5MWNwLTEsCisgICAgMHgxLjhjYTQ2YzdkODk3NWU1N2ExNDg0ZjA1YzM3MzhkODNicC0xLAorICAgIC0weDEuNWU3ZmM0MzY5YmRhZHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuZWUzZDZiY2VhMDljYTE4YjFkMWNlN2VlMDRmZDg4NmZwLTEsCisgICAgMHgxLjBiNWQzODAyZmM3OTkxMTQwMTY4ZjI5NGVlZGQ3OTA0cC0yLAorICAgIDB4MS40ZTdmYzQzNjliZGFkcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5lZTNkNmJjZWEwOWNhMThiMWQxY2U3ZWUwNGZkODg2ZnAtMSwKKyAgICAweDEuMGI1ZDM4MDJmYzc5OTExNDAxNjhmMjk0ZWVkZDc5MDRwLTIsCisgICAgLTB4MS40ZTdmYzQzNjliZGFkcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLmRmOGUyMmVhODA5ZDY1YzZhNjliOTZhY2E2MGJlNDMycC0xLAorICAgIC0weDEuNjZiOTZmNTMzMjNhZjFkN2UzMWE3MTYyYWIxOGE3NWJwLTIsCisgICAgMHgxLmVkYmZhNjUxZTljODRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAtMHgxLmRmOGUyMmVhODA5ZDY1YzZhNjliOTZhY2E2MGJlNDMycC0xLAorICAgIC0weDEuNjZiOTZmNTMzMjNhZjFkN2UzMWE3MTYyYWIxOGE3NWJwLTIsCisgICAgLTB4MS5lZGJmYTY1MWU5Yzg0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLjFkMzQ3OWVhYzdhZTM1ZTJmYmVhMGFlNjk2NDM0NjkycC0xLAorICAgIC0weDEuYTkzNTU0ODg4YzMyZmE1N2YyMmE5NTI5YTMyMGMxY2JwLTEsCisgICAgMHgxLjQ2N2ZjNDM2OWJkYWRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLjFkMzQ3OWVhYzdhZTM1ZTJmYmVhMGFlNjk2NDM0NjkycC0xLAorICAgIC0weDEuYTkzNTU0ODg4YzMyZmE1N2YyMmE5NTI5YTMyMGMxY2JwLTEsCisgICAgLTB4MS40NjdmYzQzNjliZGFkcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mZmVhYWFlZWVlODRiNDRjY2VmZWY4MzIyNTRkMjhjMHAtNiwKKyAgICAtMHgxLmZmYzAwMTU1NTI3ZDJiOWZkYTJhZTg5Mzk2ZTA5NzI3cC0xLAorICAgIDB4MS45NjFmYjU0NDQyZDE4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmZmZWFhYWVlZWU4NGI0NGNjZWZlZjgzMjI1NGQyOGMwcC02LAorICAgIC0weDEuZmZjMDAxNTU1MjdkMmI5ZmRhMmFlODkzOTZlMDk3MjdwLTEsCisgICAgLTB4MS45NjFmYjU0NDQyZDE4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS4zNzM0ZDMyZDQ5YmQwYjk0Mjc3MmE3NTY3ZDUxNDE0MHAtMSwKKyAgICAtMHgxLjk2OTA3YzVjN2MyNWI4OGUzNGFkZGZmMWZiZWY2NmU0cC0xLAorICAgIDB4MS5lNWJmYTY1MWU5YzgzcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgMHgxLjM3MzRkMzJkNDliZDBiOTQyNzcyYTc1NjdkNTE0MTQwcC0xLAorICAgIC0weDEuOTY5MDdjNWM3YzI1Yjg4ZTM0YWRkZmYxZmJlZjY2ZTRwLTEsCisgICAgLTB4MS5lNWJmYTY1MWU5YzgzcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5lOWQyNWQxOTkxMWUyMDViNjUzNTIxZjQyYjliODY0ZnAtMSwKKyAgICAtMHgxLjJhMWU1YTUwZjk0OGNkNDg3YzUzMDk2ODJiMTEwYTUzcC0yLAorICAgIDB4MS4xYWFmY2JhZmM4NWY3cDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLmU5ZDI1ZDE5OTExZTIwNWI2NTM1MjFmNDJiOWI4NjRmcC0xLAorICAgIC0weDEuMmExZTVhNTBmOTQ4Y2Q0ODdjNTMwOTY4MmIxMTBhNTNwLTIsCisgICAgLTB4MS4xYWFmY2JhZmM4NWY3cDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5lNGVjZGM1YTRlNDY1ODk5OTI4ZWI5ZmM5NTgyOWQ0OHAtMSwKKyAgICAweDEuNDg5NGY2OTVkYzU2YmNlOGIyNzNlNTUyNGYxODEyNjRwLTIsCisgICAgMHgxLjQyN2ZjNDM2OWJkYWRwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZTRlY2RjNWE0ZTQ2NTg5OTkyOGViOWZjOTU4MjlkNDhwLTEsCisgICAgMHgxLjQ4OTRmNjk1ZGM1NmJjZThiMjczZTU1MjRmMTgxMjY0cC0yLAorICAgIC0weDEuNDI3ZmM0MzY5YmRhZHAyLAorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuMmE1OWYxMDM0NDI2MTk3ZmE2ZWVlMjI3NjI5NjdmMjVwLTEsCisgICAgMHgxLmEwMTZlYTNhNjkyY2UwYzMyMWI3N2YxNjhkZTM5MTIycC0xLAorICAgIDB4MS42YTRmYmNiZDZmNTYycDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjJhNTlmMTAzNDQyNjE5N2ZhNmVlZTIyNzYyOTY3ZjI1cC0xLAorICAgIDB4MS5hMDE2ZWEzYTY5MmNlMGMzMjFiNzdmMTY4ZGUzOTEyMnAtMSwKKyAgICAtMHgxLjZhNGZiY2JkNmY1NjJwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzMKKyAgICAtMHgxLjI2MzEyNDQzYmQzNWYxOTMxMmVhYzBhMWE2YjU2NTllcC0xLAorICAgIDB4MS5hMzBhNjlmNTUzN2ViYzIyZjA4NzBjMmJkMjZlZjI4NHAtMSwKKyAgICAweDEuNmFmMmVmZjBhMjg5NnAyLAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS4yNjMxMjQ0M2JkMzVmMTkzMTJlYWMwYTFhNmI1NjU5ZXAtMSwKKyAgICAweDEuYTMwYTY5ZjU1MzdlYmMyMmYwODcwYzJiZDI2ZWYyODRwLTEsCisgICAgLTB4MS42YWYyZWZmMGEyODk2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5lMThlNjYwYTVlMmZiMzE2ZWNiYjllZDcwMTIyZWZmNXAtMSwKKyAgICAweDEuNWJkNjJlOGIwNGFkNTkxNWU2NjI0MjM0OWI3NTZlMTFwLTIsCisgICAgMHgxLjQzYzYyYTlkMDI0MTRwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZTE4ZTY2MGE1ZTJmYjMxNmVjYmI5ZWQ3MDEyMmVmZjVwLTEsCisgICAgMHgxLjViZDYyZThiMDRhZDU5MTVlNjYyNDIzNDliNzU2ZTExcC0yLAorICAgIC0weDEuNDNjNjJhOWQwMjQxNHAyLAorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuZWUwZTgzYTAxOThiNmUyZWY3YzQ4ZTY2MjUyOTFhMGFwLTEsCisgICAgLTB4MS4wY2I3MWY2NzFlNjM0MTA5NjZlNzhkMjAwOWMwNjE2ZnAtMiwKKyAgICAweDEuMWM5OTY1NDk2MWY5MnAyLAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5lZTBlODNhMDE5OGI2ZTJlZjdjNDhlNjYyNTI5MWEwYXAtMSwKKyAgICAtMHgxLjBjYjcxZjY3MWU2MzQxMDk2NmU3OGQyMDA5YzA2MTZmcC0yLAorICAgIC0weDEuMWM5OTY1NDk2MWY5MnAyLAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuNDcyNzc0NzMzOGU0NjUzNjE2ZWFkYmQ3ZWMzZDAyZDNwLTEsCisgICAgLTB4MS44OWQ4NmFhODUyMWMxMWI3NGY4YjE5NTRjMDhmOWIzNnAtMSwKKyAgICAweDEuZWFkOTNmZWI4MzYxZnAxLAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS40NzI3NzQ3MzM4ZTQ2NTM2MTZlYWRiZDdlYzNkMDJkM3AtMSwKKyAgICAtMHgxLjg5ZDg2YWE4NTIxYzExYjc0ZjhiMTk1NGMwOGY5YjM2cC0xLAorICAgIC0weDEuZWFkOTNmZWI4MzYxZnAxLAorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuNGJhMmY3NWRkYTVmZTQzNDMyMDkwNWE3MTg0ZmYxYWZwLTQsCisgICAgLTB4MS5mZTUxYWM1NTRhMTZhZDgxOTRmMTgxMDg1ZjhhMTdmMnAtMSwKKyAgICAweDEuOWM3ZmI1NDQ0MmQxYXAxLAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS40YmEyZjc1ZGRhNWZlNDM0MzIwOTA1YTcxODRmZjFhZnAtNCwKKyAgICAtMHgxLmZlNTFhYzU1NGExNmFkODE5NGYxODEwODVmOGExN2YycC0xLAorICAgIC0weDEuOWM3ZmI1NDQ0MmQxYXAxLAorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS4wMzRjNGQ2MzNiNGVmMGE5MDg5YjQzODkyYTQ2MmEyNnAtMSwKKyAgICAtMHgxLmI5N2MwNGQwOGJjNWQ3NjViMzQxYTIyYjJjNzIwYjZmcC0xLAorICAgIDB4MS40ZTI2MmE5ZDAyNDE1cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgLTB4MS4wMzRjNGQ2MzNiNGVmMGE5MDg5YjQzODkyYTQ2MmEyNnAtMSwKKyAgICAtMHgxLmI5N2MwNGQwOGJjNWQ3NjViMzQxYTIyYjJjNzIwYjZmcC0xLAorICAgIC0weDEuNGUyNjJhOWQwMjQxNXAxLAorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5kMWU0Y2RlMmYzOTQ0ZjRjMTM0YzA1Y2M0ZTUzMzlhM3AtMSwKKyAgICAtMHgxLmE4YWM4YTNlNThmNmNhOTUyMzkwMjk5ZDJlOGIxODdmcC0yLAorICAgIDB4MS5mZjk5M2ZlYjgzNjIwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgLTB4MS5kMWU0Y2RlMmYzOTQ0ZjRjMTM0YzA1Y2M0ZTUzMzlhM3AtMSwKKyAgICAtMHgxLmE4YWM4YTNlNThmNmNhOTUyMzkwMjk5ZDJlOGIxODdmcC0yLAorICAgIC0weDEuZmY5OTNmZWI4MzYyMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS5mNzUwMjM1Yzk0OTkyNmM0OGM5MGU0MWE5MTQ3NGMwNnAtMSwKKyAgICAweDEuNzdhOGI5YjNkMjU0YTllMzlkMDJiM2ViM2UyMzkwZTdwLTMsCisgICAgMHgxLjYyZTYyYTlkMDI0MTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMHgxLmY3NTAyMzVjOTQ5OTI2YzQ4YzkwZTQxYTkxNDc0YzA2cC0xLAorICAgIDB4MS43N2E4YjliM2QyNTRhOWUzOWQwMmIzZWIzZTIzOTBlN3AtMywKKyAgICAtMHgxLjYyZTYyYTlkMDI0MTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuNjVmN2Q1NzEyNzliMGI4MDA1NTUyZmQ0N2EyZTc3YWVwLTEsCisgICAgMHgxLjZlMTA2MTIwNWRkNzkwNTFjMTEyZDMwYTA1MDk3YzYxcC0xLAorICAgIDB4MS44YzY2MmE5ZDAyNDE5cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuNjVmN2Q1NzEyNzliMGI4MDA1NTUyZmQ0N2EyZTc3YWVwLTEsCisgICAgMHgxLjZlMTA2MTIwNWRkNzkwNTFjMTEyZDMwYTA1MDk3YzYxcC0xLAorICAgIC0weDEuOGM2NjJhOWQwMjQxOXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmZlMDQzZjU3MzY5ZDZhNTJmYTMzZjAxMTllYzRkYTE5cC0xLAorICAgIC0weDEuNjgyZjNjYzNjN2EwOGRhMmNlMDJhNDFjZGM3YmVkODZwLTQsCisgICAgLTB4MS5hOGFhMWQxMWM0NGZmcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLmZlMDQzZjU3MzY5ZDZhNTJmYTMzZjAxMTllYzRkYTE5cC0xLAorICAgIC0weDEuNjgyZjNjYzNjN2EwOGRhMmNlMDJhNDFjZGM3YmVkODZwLTQsCisgICAgMHgxLmE4YWExZDExYzQ0ZmZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmZmZjE4ZjI0ZjNlNGI4N2JmOGMzNzYyY2I0NGY0NmQ2cC0xLAorICAgIC0weDEuZTY2NjlhMjcwYzM2ZDQ4NzliNDI4ZGRiYTk2Y2Q4N2JwLTcsCisgICAgLTB4MS45NWVjOGI5ZTAzZDU0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmZmZjE4ZjI0ZjNlNGI4N2JmOGMzNzYyY2I0NGY0NmQ2cC0xLAorICAgIC0weDEuZTY2NjlhMjcwYzM2ZDQ4NzliNDI4ZGRiYTk2Y2Q4N2JwLTcsCisgICAgMHgxLjk1ZWM4YjllMDNkNTRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLmZmMjBkOTYxNjI0ZTcwNjNhNzgyMDNiODExZjU3OWNhcC0xLAorICAgIDB4MS5kZGQxZWMyNWUyMDlmMWJiZjdlMTdlZjZjODQ1MGNkN3AtNSwKKyAgICAtMHgxLjgzMmVmYTJhNDM1YTlwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuZmYyMGQ5NjE2MjRlNzA2M2E3ODIwM2I4MTFmNTc5Y2FwLTEsCisgICAgMHgxLmRkZDFlYzI1ZTIwOWYxYmJmN2UxN2VmNmM4NDUwY2Q3cC01LAorICAgIDB4MS44MzJlZmEyYTQzNWE5cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5mYjkzM2M0MDEwN2ZkNzc1MTg1YWMxNDkxOGM4ZmJhZnAtMSwKKyAgICAweDEuMGNhYjkxMTU2NDBkOTkzMDgyYTczNDNiYjVhZmZlYTJwLTMsCisgICAgLTB4MS43MDcxNjhiNjgyZGZlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLmZiOTMzYzQwMTA3ZmQ3NzUxODVhYzE0OTE4YzhmYmFmcC0xLAorICAgIDB4MS4wY2FiOTExNTY0MGQ5OTMwODJhNzM0M2JiNWFmZmVhMnAtMywKKyAgICAweDEuNzA3MTY4YjY4MmRmZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZjU0ZDk3MTg4MWFkNjg1Yjc4MmVmODhlNjM1MGY3Y2RwLTEsCisgICAgMHgxLmEwNzIzYTk1NDkyZWRlZTVkYzk4Mzk0ZTQ1Zjk2ZDg4cC0zLAorICAgIC0weDEuNWRiM2Q3NDJjMjY1M3AwLAorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS5mNTRkOTcxODgxYWQ2ODViNzgyZWY4OGU2MzUwZjdjZHAtMSwKKyAgICAweDEuYTA3MjNhOTU0OTJlZGVlNWRjOTgzOTRlNDVmOTZkODhwLTMsCisgICAgMHgxLjVkYjNkNzQyYzI2NTNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLmVjNTg4M2I3YjZjZjRkODU5YWIwNGUxNWQ1MzY5OGM5cC0xLAorICAgIDB4MS4xOGZlZTk2YTFhNTg1OTI4YTk0Y2RhN2UzZDkxNmZlMXAtMiwKKyAgICAtMHgxLjRhZjY0NWNmMDFlYThwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZWM1ODgzYjdiNmNmNGQ4NTlhYjA0ZTE1ZDUzNjk4YzlwLTEsCisgICAgMHgxLjE4ZmVlOTZhMWE1ODU5MjhhOTRjZGE3ZTNkOTE2ZmUxcC0yLAorICAgIDB4MS40YWY2NDVjZjAxZWE4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5lMGMwNGE5NGUxNzMwOWM4MDZjMWM3OGJkZGMxZDYwN3AtMSwKKyAgICAweDEuNjA0MzYyMWIxM2JlMmZmMDcwODVmODI3ODU5OGU1NjZwLTIsCisgICAgLTB4MS4zODM4YjQ1YjQxNmZkcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmUwYzA0YTk0ZTE3MzA5YzgwNmMxYzc4YmRkYzFkNjA3cC0xLAorICAgIDB4MS42MDQzNjIxYjEzYmUyZmYwNzA4NWY4Mjc4NTk4ZTU2NnAtMiwKKyAgICAweDEuMzgzOGI0NWI0MTZmZHAwLAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZDI5NGQxZjk2YzdlYmRiOTg2OWRkOTdjZjU3NGRkYjlwLTEsCisgICAgMHgxLmE1YTRjY2Y0MGQ5ZDliYTk3ZmFhNGUyM2VjY2U5ZTNhcC0yLAorICAgIC0weDEuMjU3YjIyZTc4MGY1MnAwLAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5kMjk0ZDFmOTZjN2ViZGI5ODY5ZGQ5N2NmNTc0ZGRiOXAtMSwKKyAgICAweDEuYTVhNGNjZjQwZDlkOWJhOTdmYWE0ZTIzZWNjZTllM2FwLTIsCisgICAgMHgxLjI1N2IyMmU3ODBmNTJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLmMxZTk4ODMzNzNkN2VjYzQ4YzkyZGM4ODc1NTA1ZjdlcC0xLAorICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKKyAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuYzFlOTg4MzM3M2Q3ZWNjNDhjOTJkYzg4NzU1MDVmN2VwLTEsCisgICAgMHgxLmU4YzQwNWYzNmY4NWI3ZjVkNmEzOGRmZDRhNjkyMzQxcC0yLAorICAgIDB4MS4xMmJkOTE3M2MwN2FicDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS5hMmMyODlkOWQwNTVhYzM3N2Y2N2Q3YTU0YTBiMzAwNXAtMSwKKyAgICAweDEuMjY5NzZhNmM0ZTBmODY2MzMzMjdmMWNlZWNiNTA4YWVwLTEsCisgICAgLTB4MS5lYTVjM2VkNWIzODUwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5hMmMyODlkOWQwNTVhYzM3N2Y2N2Q3YTU0YTBiMzAwNXAtMSwKKyAgICAweDEuMjY5NzZhNmM0ZTBmODY2MzMzMjdmMWNlZWNiNTA4YWVwLTEsCisgICAgMHgxLmVhNWMzZWQ1YjM4NTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS45NWYwNTI1N2RiY2I1ZjRiMTI2MzZjNTg3OGVhNDA1YXAtMSwKKyAgICAweDEuMzgwNWExODgyMDA5ZjI4NDNkYTgwOGU5NTlmMTc4NjFwLTEsCisgICAgLTB4MS5kNGI4N2RhYjY3MGEwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS45NWYwNTI1N2RiY2I1ZjRiMTI2MzZjNTg3OGVhNDA1YXAtMSwKKyAgICAweDEuMzgwNWExODgyMDA5ZjI4NDNkYTgwOGU5NTlmMTc4NjFwLTEsCisgICAgMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgLTB4MS44ODY0N2YyNmE2ZTBmNmIyNzE1YTZjMzc5N2VjMTFmNXAtMSwKKyAgICAweDEuNDhlNTJlMGE2NWJjYjNjZDQ2NDU1YzRkMjMzOGJkZjJwLTEsCisgICAgLTB4MS5iZjE0YmM4MTFhOGYwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIDB4MS44ODY0N2YyNmE2ZTBmNmIyNzE1YTZjMzc5N2VjMTFmNXAtMSwKKyAgICAweDEuNDhlNTJlMGE2NWJjYjNjZDQ2NDU1YzRkMjMzOGJkZjJwLTEsCisgICAgMHgxLmJmMTRiYzgxMWE4ZjBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS43YTI1NDFkZmQ0ZTc1MmRlMzhmMDRhYmEyMWZjOWQ5ZnAtMSwKKyAgICAweDEuNTkyZTU4ZWEwYTllZWMwYjM1N2ViNGU5YTgzYjBlYTVwLTEsCisgICAgLTB4MS5hOTcwZmI1NmNlMTQwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS43YTI1NDFkZmQ0ZTc1MmRlMzhmMDRhYmEyMWZjOWQ5ZnAtMSwKKyAgICAweDEuNTkyZTU4ZWEwYTllZWMwYjM1N2ViNGU5YTgzYjBlYTVwLTEsCisgICAgMHgxLmE5NzBmYjU2Y2UxNDBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS42YjM5MWUyNWJjMjZjYmJjZjdhMDE4NDA3MGFmOWMzOXAtMSwKKyAgICAweDEuNjhkOWFmZTA1MmQxZjBlOTMyNGFlODc2OTYxYmNkYjFwLTEsCisgICAgLTB4MS45M2NkM2EyYzgxOTkwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS42YjM5MWUyNWJjMjZjYmJjZjdhMDE4NDA3MGFmOWMzOXAtMSwKKyAgICAweDEuNjhkOWFmZTA1MmQxZjBlOTMyNGFlODc2OTYxYmNkYjFwLTEsCisgICAgMHgxLjkzY2QzYTJjODE5OTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS41YmE2ZTZhOGU3MDY1MzViOThmYzk5ZGZhZWY4MjRmMXAtMSwKKyAgICAweDEuNzdlMDA4ZDA3NzVlNzQ0ZWIxNmEyYzRlYzcxODRjNDNwLTEsCisgICAgLTB4MS43ZTI5NzkwMjM1MWUwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS41YmE2ZTZhOGU3MDY1MzViOThmYzk5ZGZhZWY4MjRmMXAtMSwKKyAgICAweDEuNzdlMDA4ZDA3NzVlNzQ0ZWIxNmEyYzRlYzcxODRjNDNwLTEsCisgICAgMHgxLjdlMjk3OTAyMzUxZTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS40Yjc1YmEwOTZmYTU0OWViOTM1OTVkODE5NGFiOTE3ZnAtMSwKKyAgICAweDEuODYzYTg1MGU0MzhmZTAyOTMwMmFiYTBmNWYxMjc2MTZwLTEsCisgICAgLTB4MS42ODg1YjdkN2U4YTMwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS40Yjc1YmEwOTZmYTU0OWViOTM1OTVkODE5NGFiOTE3ZnAtMSwKKyAgICAweDEuODYzYTg1MGU0MzhmZTAyOTMwMmFiYTBmNWYxMjc2MTZwLTEsCisgICAgMHgxLjY4ODViN2Q3ZThhMzBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS4zYWFjZmY5NWEzMTIyYjE1ZjM3MmJmZDJmZGY5YTc1ZnAtMSwKKyAgICAweDEuOTNlMjk0ODIzM2ZjZTgxNDQzOWVkNTFmZDI1NDg5MjBwLTEsCisgICAgLTB4MS41MmUxZjZhZDljMjgwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS4zYWFjZmY5NWEzMTIyYjE1ZjM3MmJmZDJmZGY5YTc1ZnAtMSwKKyAgICAweDEuOTNlMjk0ODIzM2ZjZTgxNDQzOWVkNTFmZDI1NDg5MjBwLTEsCisgICAgMHgxLjUyZTFmNmFkOWMyODBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS4yOTU0NjNlNzY5Mjg0YTVhZWQxN2E0NDMzOTJmMzhmM3AtMSwKKyAgICAweDEuYTBkMWY4YTlhNzkxZDRiNTY5NGNhNjhhNDJmZTZjOWJwLTEsCisgICAgLTB4MS4zZDNlMzU4MzRmYWQwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS4yOTU0NjNlNzY5Mjg0YTVhZWQxN2E0NDMzOTJmMzhmM3AtMSwKKyAgICAweDEuYTBkMWY4YTlhNzkxZDRiNTY5NGNhNjhhNDJmZTZjOWJwLTEsCisgICAgMHgxLjNkM2UzNTgzNGZhZDBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgLTB4MS5mYzc2OWI3N2U1ODg0OTVhNmY2NDJjYTI0ZTRlZDNmY3AtMiwKKyAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCisgICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5mYzc2OWI3N2U1ODg0OTVhNmY2NDJjYTI0ZTRlZDNmY3AtMiwKKyAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCisgICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS5jODUzYzc4NDYyZGU0NmI1NzQzMzE1NjEyZjhiNWE3Y3AtMiwKKyAgICAweDEuY2E1OWM2ZmEzZDljZTIzOGEyMjczOTNiNmIwNzViYzVwLTEsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJjcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5jODUzYzc4NDYyZGU0NmI1NzQzMzE1NjEyZjhiNWE3Y3AtMiwKKyAgICAweDEuY2E1OWM2ZmEzZDljZTIzOGEyMjczOTNiNmIwNzViYzVwLTEsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmNwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS45MmFiYTkwYWFmMjcyNDlkZTQ5Yzc4ZmM2NDNjOGI3MnAtMiwKKyAgICAweDEuZDZjMGIxMjU3OTFjZmZjZTgzZTMyNTY0NzEyYjc4YzZwLTEsCisgICAgLTB4MS45ZGQ4M2M3YzllMTI2cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS45MmFiYTkwYWFmMjcyNDlkZTQ5Yzc4ZmM2NDNjOGI3MnAtMiwKKyAgICAweDEuZDZjMGIxMjU3OTFjZmZjZTgzZTMyNTY0NzEyYjc4YzZwLTEsCisgICAgMHgxLjlkZDgzYzdjOWUxMjZwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS41YmFjMDY0NjU4ZjM5NDYwYzgzMTEzYzBhMDA5N2EwY3AtMiwKKyAgICAweDEuZTE5NjAyNjE4Mjk4NTgzOTE2NDViYmUxMjAxOWU1OGFwLTEsCisgICAgLTB4MS42MmI5NTg2YWQwYTIwcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS41YmFjMDY0NjU4ZjM5NDYwYzgzMTEzYzBhMDA5N2EwY3AtMiwKKyAgICAweDEuZTE5NjAyNjE4Mjk4NTgzOTE2NDViYmUxMjAxOWU1OGFwLTEsCisgICAgMHgxLjYyYjk1ODZhZDBhMjBwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS4yMzgzY2E4MDc4ZTU4NDc3Y2Q1ZmIxZDlkZTAzMWRjZXAtMiwKKyAgICAweDEuZWFkMDdjYzYzNTY5NjRlMjdhMTAzNmQyZjhiMTU4ZjdwLTEsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFhcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS4yMzgzY2E4MDc4ZTU4NDc3Y2Q1ZmIxZDlkZTAzMWRjZXAtMiwKKyAgICAweDEuZWFkMDdjYzYzNTY5NjRlMjdhMTAzNmQyZjhiMTU4ZjdwLTEsCisgICAgMHgxLjI3OWE3NDU5MDMzMWFwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjM3CisgICAgLTB4MS5kNGM1YmMxMWQyMzcxYWYyZmUyNWVmNWVkZTI3NjZhM3AtMywKKyAgICAweDEuZjI2ODQwZTdiMjE4OGY3YTBjYzY2MWEwZWRlMzcyOGJwLTEsCisgICAgLTB4MS5kOGY3MjA4ZTZiODI5cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5kNGM1YmMxMWQyMzcxYWYyZmUyNWVmNWVkZTI3NjZhM3AtMywKKyAgICAweDEuZjI2ODQwZTdiMjE4OGY3YTBjYzY2MWEwZWRlMzcyOGJwLTEsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MjlwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgLTB4MS42MGYzZmFhZjQzMDIzZDNjNzg2M2FlMDZkNGQ1OTc3NHAtMywKKyAgICAweDEuZjg1NmQ0OGRiNzk3ZGVjMGI3OWUxMzUzNDA5ZGMzZjJwLTEsCisgICAgLTB4MS42MmI5NTg2YWQwYTFlcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS42MGYzZmFhZjQzMDIzZDNjNzg2M2FlMDZkNGQ1OTc3NHAtMywKKyAgICAweDEuZjg1NmQ0OGRiNzk3ZGVjMGI3OWUxMzUzNDA5ZGMzZjJwLTEsCisgICAgMHgxLjYyYjk1ODZhZDBhMWVwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgLTB4MS5kN2VhM2RlNDVhOWQ2NTYzYWMwMDVjMGM1YmFkOGM1MHAtNCwKKyAgICAweDEuZmM5NzI4M2E0MjQ3OTcyMTVmOGE4ZDE5Njc3MzZjOWJwLTEsCisgICAgLTB4MS5kOGY3MjA4ZTZiODI2cC00LAorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5kN2VhM2RlNDVhOWQ2NTYzYWMwMDVjMGM1YmFkOGM1MHAtNCwKKyAgICAweDEuZmM5NzI4M2E0MjQ3OTcyMTVmOGE4ZDE5Njc3MzZjOWJwLTEsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MjZwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKKyAgICAweDEuZmYyNTliN2FiOWY0ZjlhOGNiOWYxYzMzMzI3MmU0MDlwLTEsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01LAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKKyAgICAweDEuZmYyNTliN2FiOWY0ZjlhOGNiOWYxYzMzMzI3MmU0MDlwLTEsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAorICAgIDB4MS5mZjI1OWI3YWI5ZjRmOWE4Y2I5ZjFjMzMzMjcyZTQwOXAtMSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAtMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAorICAgIDB4MS5mZjI1OWI3YWI5ZjRmOWE4Y2I5ZjFjMzMzMjcyZTQwOXAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLmQ3ZWEzZGU0NWE5ZGQ0YTRiY2NkMWE4YzA0OGZhZjRjcC00LAorICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLmQ3ZWEzZGU0NWE5ZGQ0YTRiY2NkMWE4YzA0OGZhZjRjcC00LAorICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjYwZjNmYWFmNDMwMjdjNDc1MmY1NjRmOWQwODE4ZmU4cC0zLAorICAgIDB4MS5mODU2ZDQ4ZGI3OTdkYmZlY2ZhOGI0Y2QzYmU0NDAyN3AtMSwKKyAgICAweDEuNjJiOTU4NmFkMGEyMnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAtMHgxLjYwZjNmYWFmNDMwMjdjNDc1MmY1NjRmOWQwODE4ZmU4cC0zLAorICAgIDB4MS5mODU2ZDQ4ZGI3OTdkYmZlY2ZhOGI0Y2QzYmU0NDAyN3AtMSwKKyAgICAtMHgxLjYyYjk1ODZhZDBhMjJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLmQ0YzViYzExZDIzNzU5NDAwNjQyZTVhMWVmZGMwZjg1cC0zLAorICAgIDB4MS5mMjY4NDBlN2IyMTg4YmQwODE0ZTNkZmM3ZjZmM2Y4N3AtMSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAtMHgxLmQ0YzViYzExZDIzNzU5NDAwNjQyZTVhMWVmZGMwZjg1cC0zLAorICAgIDB4MS5mMjY4NDBlN2IyMTg4YmQwODE0ZTNkZmM3ZjZmM2Y4N3AtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLjIzODNjYTgwNzhlNWEzMjRkNTJjMTUzMDc0MmNkNGY1cC0yLAorICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxY3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLjIzODNjYTgwNzhlNWEzMjRkNTJjMTUzMDc0MmNkNGY1cC0yLAorICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLjViYWMwNjQ2NThmM2IyN2EyODU3MmJlYTI1NjE5NWVmcC0yLAorICAgIDB4MS5lMTk2MDI2MTgyOTg1MmNhNjYyY2EyN2Q1MThjMmZhOXAtMSwKKyAgICAweDEuNjJiOTU4NmFkMGEyMnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMHgxLjViYWMwNjQ2NThmM2IyN2EyODU3MmJlYTI1NjE5NWVmcC0yLAorICAgIDB4MS5lMTk2MDI2MTgyOTg1MmNhNjYyY2EyN2Q1MThjMmZhOXAtMSwKKyAgICAtMHgxLjYyYjk1ODZhZDBhMjJwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLjkyYWJhOTBhYWYyNzQyMDllZmFlZDA4ZTM0MDcxZTNicC0yLAorICAgIDB4MS5kNmMwYjEyNTc5MWNmOTgzZDUzZWZhYTdkNDVlMjkxZXAtMSwKKyAgICAweDEuOWRkODNjN2M5ZTEyOHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjkyYWJhOTBhYWYyNzQyMDllZmFlZDA4ZTM0MDcxZTNicC0yLAorICAgIDB4MS5kNmMwYjEyNTc5MWNmOTgzZDUzZWZhYTdkNDVlMjkxZXAtMSwKKyAgICAtMHgxLjlkZDgzYzdjOWUxMjhwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgMHgxLmM4NTNjNzg0NjJkZTYzNWIxMGEyYjkzYWZkNzVkYTI2cC0yLAorICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAtMHgxLmM4NTNjNzg0NjJkZTYzNWIxMGEyYjkzYWZkNzVkYTI2cC0yLAorICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmVwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLmZjNzY5Yjc3ZTU4ODQ5NWE2ZjY0MmNhMjRlNGVkM2ZjcC0yLAorICAgIDB4MS5iYzZiZDg2MWUxM2RlMzA5NDI4ZTAwZjdiZWY2YzNlY3AtMSwKKyAgICAweDEuMGEwYjAyNTAxYzc5OXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAtMHgxLmZjNzY5Yjc3ZTU4ODQ5NWE2ZjY0MmNhMjRlNGVkM2ZjcC0yLAorICAgIDB4MS5iYzZiZDg2MWUxM2RlMzA5NDI4ZTAwZjdiZWY2YzNlY3AtMSwKKyAgICAtMHgxLjBhMGIwMjUwMWM3OTlwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLjI5NTQ2M2U3NjkyODE2NDBhZTAyNmY1MGZjNDVlMzAxcC0xLAorICAgIDB4MS5hMGQxZjhhOWE3OTFmOWRmZjVjOTkzYWY0OTA4MjY0ZHAtMSwKKyAgICAweDEuM2QzZTM1ODM0ZmFjY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAtMHgxLjI5NTQ2M2U3NjkyODE2NDBhZTAyNmY1MGZjNDVlMzAxcC0xLAorICAgIDB4MS5hMGQxZjhhOWE3OTFmOWRmZjVjOTkzYWY0OTA4MjY0ZHAtMSwKKyAgICAtMHgxLjNkM2UzNTgzNGZhY2NwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjNhYWNmZjk1YTMxMWY4OTlhMGUyNzk1MzVlODFjNGVjcC0xLAorICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKKyAgICAweDEuNTJlMWY2YWQ5YzI3Y3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAtMHgxLjNhYWNmZjk1YTMxMWY4OTlhMGUyNzk1MzVlODFjNGVjcC0xLAorICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKKyAgICAtMHgxLjUyZTFmNmFkOWMyN2NwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLjRiNzViYTA5NmZhNTE5MjQ0MmI3OTUwZjk2MGY4MDA2cC0xLAorICAgIDB4MS44NjNhODUwZTQzOTAwOTk3ZTc2YmU4MDQwNTQzNzM3N3AtMSwKKyAgICAweDEuNjg4NWI3ZDdlOGEyY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAtMHgxLjRiNzViYTA5NmZhNTE5MjQ0MmI3OTUwZjk2MGY4MDA2cC0xLAorICAgIDB4MS44NjNhODUwZTQzOTAwOTk3ZTc2YmU4MDQwNTQzNzM3N3AtMSwKKyAgICAtMHgxLjY4ODViN2Q3ZThhMmNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLjViYTZlNmE4ZTcwNjI0NWY5N2UyOGFmM2RkYjcwMGY2cC0xLAorICAgIDB4MS43N2UwMDhkMDc3NWU5ZmMzOGUzZjQ5MmY4ZTkzZmY1MXAtMSwKKyAgICAweDEuN2UyOTc5MDIzNTFkY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLjViYTZlNmE4ZTcwNjI0NWY5N2UyOGFmM2RkYjcwMGY2cC0xLAorICAgIDB4MS43N2UwMDhkMDc3NWU5ZmMzOGUzZjQ5MmY4ZTkzZmY1MXAtMSwKKyAgICAtMHgxLjdlMjk3OTAyMzUxZGNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgMHgxLjZiMzkxZTI1YmMyNjllYTFjMWE0MGRlNjJmYmMwM2I0cC0xLAorICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKKyAgICAweDEuOTNjZDNhMmM4MTk4Y3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLjZiMzkxZTI1YmMyNjllYTFjMWE0MGRlNjJmYmMwM2I0cC0xLAorICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKKyAgICAtMHgxLjkzY2QzYTJjODE5OGNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjdhMjU0MWRmZDRlNzI3Yjg2ZGQzMDk2NjQxODZlYzZicC0xLAorICAgIDB4MS41OTJlNThlYTBhOWYxYjRmZGRiYWFmODY4ZmU0NzkxMXAtMSwKKyAgICAweDEuYTk3MGZiNTZjZTEzY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAtMHgxLjdhMjU0MWRmZDRlNzI3Yjg2ZGQzMDk2NjQxODZlYzZicC0xLAorICAgIDB4MS41OTJlNThlYTBhOWYxYjRmZGRiYWFmODY4ZmU0NzkxMXAtMSwKKyAgICAtMHgxLmE5NzBmYjU2Y2UxM2NwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjc1CisgICAgMHgxLjg4NjQ3ZjI2YTZlMGNkOTVjYjk5MWY3ZmZlNjFhMDJlcC0xLAorICAgIDB4MS40OGU1MmUwYTY1YmNlNGQ5ZDYyYTMxMjkzZjdkNDFjMXAtMSwKKyAgICAweDEuYmYxNGJjODExYThlY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLjg4NjQ3ZjI2YTZlMGNkOTVjYjk5MWY3ZmZlNjFhMDJlcC0xLAorICAgIDB4MS40OGU1MmUwYTY1YmNlNGQ5ZDYyYTMxMjkzZjdkNDFjMXAtMSwKKyAgICAtMHgxLmJmMTRiYzgxMWE4ZWNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLjk1ZjA1MjU3ZGJjYjM4NGE1ZTMyNjg1NzM3NmRkODAxcC0xLAorICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKKyAgICAweDEuZDRiODdkYWI2NzA5Y3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAtMHgxLjk1ZjA1MjU3ZGJjYjM4NGE1ZTMyNjg1NzM3NmRkODAxcC0xLAorICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKKyAgICAtMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLmEyYzI4OWQ5ZDA1NTg3NjQ5MjFhNGRlMzU1Zjk0NDhjcC0xLAorICAgIDB4MS4yNjk3NmE2YzRlMGZiYWJiODQ2MzJiZDk5ZmVlYzljNnAtMSwKKyAgICAweDEuZWE1YzNlZDViMzg0Y3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAtMHgxLmEyYzI4OWQ5ZDA1NTg3NjQ5MjFhNGRlMzU1Zjk0NDhjcC0xLAorICAgIDB4MS4yNjk3NmE2YzRlMGZiYWJiODQ2MzJiZDk5ZmVlYzljNnAtMSwKKyAgICAtMHgxLmVhNWMzZWQ1YjM4NGNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLmMxZTk4ODMzNzNkN2VjYzQ4YzkyZGM4ODc1NTA1ZjdlcC0xLAorICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKKyAgICAweDEuMTJiZDkxNzNjMDdhYnAwLAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEuYzFlOTg4MzM3M2Q3ZWNjNDhjOTJkYzg4NzU1MDVmN2VwLTEsCisgICAgMHgxLmU4YzQwNWYzNmY4NWI3ZjVkNmEzOGRmZDRhNjkyMzQxcC0yLAorICAgIC0weDEuMTJiZDkxNzNjMDdhYnAwLAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5kMjk0ZDFmOTZjN2VmMjZlMjAzYzViMzA5YTU1NjcxZnAtMSwKKyAgICAweDEuYTVhNGNjZjQwZDljYjI1ZjE2YWQ5N2U0ODBjNGI0ODNwLTIsCisgICAgMHgxLjI1N2IyMmU3ODBmNTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAtMHgxLmQyOTRkMWY5NmM3ZWYyNmUyMDNjNWIzMDlhNTU2NzFmcC0xLAorICAgIDB4MS5hNWE0Y2NmNDBkOWNiMjVmMTZhZDk3ZTQ4MGM0YjQ4M3AtMiwKKyAgICAtMHgxLjI1N2IyMmU3ODBmNTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuZTBjMDRhOTRlMTczMzVkMDczMDUyYTAzOTRiOWUxYzNwLTEsCisgICAgMHgxLjYwNDM2MjFiMTNiZDNmOTA0YjNiODc2ZGY1YjJjNmY0cC0yLAorICAgIDB4MS4zODM4YjQ1YjQxNzAxcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5lMGMwNGE5NGUxNzMzNWQwNzMwNTJhMDM5NGI5ZTFjM3AtMSwKKyAgICAweDEuNjA0MzYyMWIxM2JkM2Y5MDRiM2I4NzZkZjViMmM2ZjRwLTIsCisgICAgLTB4MS4zODM4YjQ1YjQxNzAxcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLmVjNTg4M2I3YjZjZjcwYTU3N2RkOTE2MGQwZjhlOWQ1cC0xLAorICAgIDB4MS4xOGZlZTk2YTFhNTc2MmZjNjc3MGZmMTY4ZTA2YWIzZXAtMiwKKyAgICAweDEuNGFmNjQ1Y2YwMWVhY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIC0weDEuZWM1ODgzYjdiNmNmNzBhNTc3ZGQ5MTYwZDBmOGU5ZDVwLTEsCisgICAgMHgxLjE4ZmVlOTZhMWE1NzYyZmM2NzcwZmYxNjhlMDZhYjNlcC0yLAorICAgIC0weDEuNGFmNjQ1Y2YwMWVhY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS5mNTRkOTcxODgxYWQ4MjYyOWJkODRkMjE0MTk0ZThkZHAtMSwKKyAgICAweDEuYTA3MjNhOTU0OTJjZTk5ODQ1N2ZiN2EwZDA5YTYzODVwLTMsCisgICAgMHgxLjVkYjNkNzQyYzI2NTdwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLmY1NGQ5NzE4ODFhZDgyNjI5YmQ4NGQyMTQxOTRlOGRkcC0xLAorICAgIDB4MS5hMDcyM2E5NTQ5MmNlOTk4NDU3ZmI3YTBkMDlhNjM4NXAtMywKKyAgICAtMHgxLjVkYjNkNzQyYzI2NTdwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAweDEuZmI5MzNjNDAxMDdmZTgzZmQxNmMxNzg5ZTI3ZjY5ZjdwLTEsCisgICAgMHgxLjBjYWI5MTE1NjQwYjlkOWQ0NjY3MjNiYmQ1ZDU4OWJlcC0zLAorICAgIDB4MS43MDcxNjhiNjgyZTAycDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS5mYjkzM2M0MDEwN2ZlODNmZDE2YzE3ODllMjdmNjlmN3AtMSwKKyAgICAweDEuMGNhYjkxMTU2NDBiOWQ5ZDQ2NjcyM2JiZDVkNTg5YmVwLTMsCisgICAgLTB4MS43MDcxNjhiNjgyZTAycDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLmZmMjBkOTYxNjI0ZTc3ZGFlZjMyOWI0MDI5YzM2MmRlcC0xLAorICAgIDB4MS5kZGQxZWMyNWUyMDFmNTM4OTI1YmY1YmNmN2M3ZGY2ZXAtNSwKKyAgICAweDEuODMyZWZhMmE0MzVhZHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIC0weDEuZmYyMGQ5NjE2MjRlNzdkYWVmMzI5YjQwMjljMzYyZGVwLTEsCisgICAgMHgxLmRkZDFlYzI1ZTIwMWY1Mzg5MjViZjViY2Y3YzdkZjZlcC01LAorICAgIC0weDEuODMyZWZhMmE0MzVhZHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5mZmYxOGYyNGYzZTRiNjk1OTIyOTRmMjA2ZDdiMzJjMnAtMSwKKyAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAorICAgIDB4MS45NWVjOGI5ZTAzZDU4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS5mZmYxOGYyNGYzZTRiNjk1OTIyOTRmMjA2ZDdiMzJjMnAtMSwKKyAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAorICAgIC0weDEuOTVlYzhiOWUwM2Q1OHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKKyAgICAtMHgxLjY4MmYzY2MzYzdhMDhkYTJjZTAyYTQxY2RjN2JlZDg2cC00LAorICAgIDB4MS5hOGFhMWQxMWM0NGZmcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgLTB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKKyAgICAtMHgxLjY4MmYzY2MzYzdhMDhkYTJjZTAyYTQxY2RjN2JlZDg2cC00LAorICAgIC0weDEuYThhYTFkMTFjNDRmZnAwLAorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5iM2QzNjk1YWNjNDEzNmIyZDQ0NzE0ZjliMzg0MTliNHAtMSwKKyAgICAweDEuMGNiMzQ2OWEyOWVhNjZkNDAzMWJlNzY5NzAyYWFkNWNwLTEsCisgICAgMHgxLjA0YWZmNmQzMzA5NDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLmIzZDM2OTVhY2M0MTM2YjJkNDQ3MTRmOWIzODQxOWI0cC0xLAorICAgIDB4MS4wY2IzNDY5YTI5ZWE2NmQ0MDMxYmU3Njk3MDJhYWQ1Y3AtMSwKKyAgICAtMHgxLjA0YWZmNmQzMzA5NDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuYjNkNDE5NzJkYzgwNjM5OTRmNjM0MTNkNWU0ZDhlNGJwLTEsCisgICAgMHgxLjBjYjIyOGZhN2Y4MTE3YzgyZTYxY2Y1MzkzMzQxYzY0cC0xLAorICAgIDB4MS4wNGIwOWU5OGRjZGI0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS5iM2Q0MTk3MmRjODA2Mzk5NGY2MzQxM2Q1ZTRkOGU0YnAtMSwKKyAgICAweDEuMGNiMjI4ZmE3ZjgxMTdjODJlNjFjZjUzOTMzNDFjNjRwLTEsCisgICAgLTB4MS4wNGIwOWU5OGRjZGI0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLmIzZDRjOThhMzE4ZmI2NmY4MjFkNzI4NmFlN2RjZTdicC0xLAorICAgIDB4MS4wY2IxMGI1YTYxYjA1YTczZTc4YTNlNDQ0N2JhZjUxNHAtMSwKKyAgICAweDEuMDRiMTQ2NWU4OTIyNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEuYjNkNGM5OGEzMThmYjY2ZjgyMWQ3Mjg2YWU3ZGNlN2JwLTEsCisgICAgMHgxLjBjYjEwYjVhNjFiMDVhNzNlNzhhM2U0NDQ3YmFmNTE0cC0xLAorICAgIC0weDEuMDRiMTQ2NWU4OTIyNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIDB4MS5iM2Q1NzlhMGNiNmVlMzkzZmY3NWI1OGZmZTE2ZDEzZnAtMSwKKyAgICAweDEuMGNhZmVkYjlkMDc4YTk4NDA4NjkyOGFhNDBkMmU0YTVwLTEsCisgICAgMHgxLjA0YjFlZTI0MzU2OThwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLmIzZDU3OWEwY2I2ZWUzOTNmZjc1YjU4ZmZlMTZkMTNmcC0xLAorICAgIDB4MS4wY2FmZWRiOWQwNzhhOTg0MDg2OTI4YWE0MGQyZTRhNXAtMSwKKyAgICAtMHgxLjA0YjFlZTI0MzU2OThwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuYjNkNjI5YjZhYTFkOWY2NWFhZDFhMmZjOTMyYzhiY2JwLTEsCisgICAgMHgxLjBjYWVkMDE4Y2JkYTdmYTU5YzYzMWNkNTViMzFhYThkcC0xLAorICAgIDB4MS4wNGIyOTVlOWUxYjBhcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgLTB4MS5iM2Q2MjliNmFhMWQ5ZjY1YWFkMWEyZmM5MzJjOGJjYnAtMSwKKyAgICAweDEuMGNhZWQwMThjYmRhN2ZhNTljNjMxY2Q1NWIzMWFhOGRwLTEsCisgICAgLTB4MS4wNGIyOTVlOWUxYjBhcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLmIzZDZkOWNiY2Q5YjllNDNiN2ZjN2ZkNDI4YTQ0ZGQ4cC0xLAorICAgIDB4MS4wY2FkYjI3NzUzZDY1Nzg1ZTA2ZDBlNDY0MDA2MTQ5ZXAtMSwKKyAgICAweDEuMDRiMzNkYWY4ZGY3Y3AwLAorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuYjNkNmQ5Y2JjZDliOWU0M2I3ZmM3ZmQ0MjhhNDRkZDhwLTEsCisgICAgMHgxLjBjYWRiMjc3NTNkNjU3ODVlMDZkMGU0NjQwMDYxNDllcC0xLAorICAgIC0weDEuMDRiMzNkYWY4ZGY3Y3AwLAorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIDB4MS5iM2Q3ODllMDM1ZTg5NDhkYWIyNzVkZmU1NDZjNWIwOHAtMSwKKyAgICAweDEuMGNhYzk0ZDU2ODZjYWJkMjQzMGMyMGZkZjI4NTViNDdwLTEsCisgICAgMHgxLjA0YjNlNTc1M2EzZWVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAtMHgxLmIzZDc4OWUwMzVlODk0OGRhYjI3NWRmZTU0NmM1YjA4cC0xLAorICAgIDB4MS4wY2FjOTRkNTY4NmNhYmQyNDMwYzIwZmRmMjg1NWI0N3AtMSwKKyAgICAtMHgxLjA0YjNlNTc1M2EzZWVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuYjNkODM5ZjNlMzA0MzZhMzU4ZTkzY2JkY2IyYmIzNjdwLTEsCisgICAgMHgxLjBjYWI3NzMzMDk5ZGY3Mzg2NDU1NzRjZDQ4MmVmNGIycC0xLAorICAgIDB4MS4wNGI0OGQzYWU2ODYwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzE0CisgICAgLTB4MS5iM2Q4MzlmM2UzMDQzNmEzNThlOTNjYmRjYjJiYjM2N3AtMSwKKyAgICAweDEuMGNhYjc3MzMwOTlkZjczODY0NTU3NGNkNDgyZWY0YjJwLTEsCisgICAgLTB4MS4wNGI0OGQzYWU2ODYwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLmIzZDhlYTA2ZDRlZTA2ODRmNTc0MWVjNzc3ZWQ4OGUwcC0xLAorICAgIDB4MS4wY2FhNTk5MDM3NmIwNjFlYzFjZjM4OTBmMWI4ZTFlM3AtMSwKKyAgICAweDEuMDRiNTM1MDA5MmNjZnAwLAorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuYjNkOGVhMDZkNGVlMDY4NGY1NzQxZWM3NzdlZDg4ZTBwLTEsCisgICAgMHgxLjBjYWE1OTkwMzc2YjA2MWVjMWNmMzg5MGYxYjhlMWUzcC0xLAorICAgIC0weDEuMDRiNTM1MDA5MmNjZnAwLAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0LAorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIC0wLjAsCisgICAgMHgxLnAwLAorICAgIC0wLjAsCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLjE3NzNkNTYxZmQ1MDY1ZDBlOTYwN2E3MjhhMzllZWQycC0xLAorICAgIDB4MS5hZDAyYzc3MWMzNWVkNWYwMTA4OWEwMGM2YTI3ZTBjZnAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxYnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMHgxLjE3NzNkNTYxZmQ1MDY1ZDBlOTYwN2E3MjhhMzllZWQycC0xLAorICAgIDB4MS5hZDAyYzc3MWMzNWVkNWYwMTA4OWEwMGM2YTI3ZTBjZnAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWJwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgMHgxLjE3NzNkNTYxZmQ1MDczMzhmZjljMDg4ZDgwYzY4MGRicC0xLAorICAgIDB4MS5hZDAyYzc3MWMzNWVjZDM0NzFkZTkwMjFlNmMzYjkyYnAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAtMHgxLjE3NzNkNTYxZmQ1MDczMzhmZjljMDg4ZDgwYzY4MGRicC0xLAorICAgIDB4MS5hZDAyYzc3MWMzNWVjZDM0NzFkZTkwMjFlNmMzYjkyYnAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjE3NzNkNTYxZmQ1MDgwYTExNWQ3OTZhODc3MGQzNWVmcC0xLAorICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxZHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAtMHgxLjE3NzNkNTYxZmQ1MDgwYTExNWQ3OTZhODc3MGQzNWVmcC0xLAorICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLmY5NWI4ZTcxMDc0MThjMTFjOTRkNGE1NGE5ZGE5YjdhcC0xLAorICAgIC0weDEuNDhkMWRkZDJiMmIzZjhjMjFiOTQyMWU2NWIzODA3MzVwLTMsCisgICAgMHgxLmJiNjdhZTg1ODRjYTlwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjkKKyAgICAtMHgxLmY5NWI4ZTcxMDc0MThjMTFjOTRkNGE1NGE5ZGE5YjdhcC0xLAorICAgIC0weDEuNDhkMWRkZDJiMmIzZjhjMjFiOTQyMWU2NWIzODA3MzVwLTMsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2E5cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLmY5NWI4ZTcxMDc0MTg2ZWU4MWQ1ZmY4OWQ4ZmFlNTQ1cC0xLAorICAgIC0weDEuNDhkMWRkZDJiMmI0NzcxOGZmMzA2M2I2YmQ5ODEwOTlwLTMsCisgICAgMHgxLmJiNjdhZTg1ODRjYWFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLmY5NWI4ZTcxMDc0MTg2ZWU4MWQ1ZmY4OWQ4ZmFlNTQ1cC0xLAorICAgIC0weDEuNDhkMWRkZDJiMmI0NzcxOGZmMzA2M2I2YmQ5ODEwOTlwLTMsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FhcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLmY5NWI4ZTcxMDc0MTgxY2IzYTVlYjRiZjA2MjFkMzgxcC0xLAorICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCisgICAgMHgxLmJiNjdhZTg1ODRjYWJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLmY5NWI4ZTcxMDc0MTgxY2IzYTVlYjRiZjA2MjFkMzgxcC0xLAorICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLmIxZDgzMDUzMjE2MTVhYzkzOGNmZjAyYmU5ZjI1MDg1cC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmOTkxMWRiNGNhMGQ0NWZkYjBiM3AtMSwKKyAgICAweDEuYmZmZmZmZmZmZmZmZnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzUKKyAgICAtMHgxLmIxZDgzMDUzMjE2MTVhYzkzOGNmZjAyYmU5ZjI1MDg1cC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmOTkxMWRiNGNhMGQ0NWZkYjBiM3AtMSwKKyAgICAtMHgxLmJmZmZmZmZmZmZmZmZwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKKyAgICAweDEuY3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKKyAgICAtMHgxLmNwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgMHgxLmIxZDgzMDUzMjE2MTc3YzVhNWNhNDJkOTg5NTUyNzVhcC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKKyAgICAweDEuYzAwMDAwMDAwMDAwMXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLmIxZDgzMDUzMjE2MTc3YzVhNWNhNDJkOTg5NTUyNzVhcC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKKyAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLjQ0ZWIzODFjZjM4NjllYTcxY2NiMzY4NjNlNGVhNjVicC0xLAorICAgIDB4MS44YmIxMDVhNWRjOTAxMDQwNTFkMDhjYjk2NTYzMTgwN3AtMSwKKyAgICAweDEuNWZmZmZmZmZmZmZmZnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAtMHgxLjQ0ZWIzODFjZjM4NjllYTcxY2NiMzY4NjNlNGVhNjVicC0xLAorICAgIDB4MS44YmIxMDVhNWRjOTAxMDQwNTFkMDhjYjk2NTYzMTgwN3AtMSwKKyAgICAtMHgxLjVmZmZmZmZmZmZmZmZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjQ0ZWIzODFjZjM4NmFiMDRhNGY4NjU2YWJlYTgwYjgzcC0xLAorICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCisgICAgMHgxLjZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzQzCisgICAgLTB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKKyAgICAweDEuOGJiMTA1YTVkYzkwMDYxOGY4MGZhNTFkMzAzYzY5cC0xLAorICAgIC0weDEuNnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAweDEuNDRlYjM4MWNmMzg2Yjc2MjJkMjU5NDRmM2ViMDM1ZGNwLTEsCisgICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAorICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuNDRlYjM4MWNmMzg2Yjc2MjJkMjU5NDRmM2ViMDM1ZGNwLTEsCisgICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuZGFkOTAyZmE4YWM4NjRmZDhhZmEwYmRjNjA5ZGVkMTlwLTEsCisgICAgMHgxLjdlZjQ4NDJmMGJjZDExNjg2YWFmNmYyMWM5YWE4MzU0cC0yLAorICAgIDB4MS4yZmZmZmZmZmZmZmZmcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS5kYWQ5MDJmYThhYzg2NGZkOGFmYTBiZGM2MDlkZWQxOXAtMSwKKyAgICAweDEuN2VmNDg0MmYwYmNkMTE2ODZhYWY2ZjIxYzlhYTgzNTRwLTIsCisgICAgLTB4MS4yZmZmZmZmZmZmZmZmcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLmRhZDkwMmZhOGFjODcwZjUyZjFiODQzYWM4M2JjM2VkcC0xLAorICAgIDB4MS43ZWY0ODQyZjBiY2NkNjBkNGE1MDFkYzhiYzRiNTdiM3AtMiwKKyAgICAweDEuM3AwLAorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCisgICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAorICAgIC0weDEuM3AwLAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS5kYWQ5MDJmYThhYzg3Y2VjZDMzY2ZjOTkyZGZlYzFiZXAtMSwKKyAgICAweDEuN2VmNDg0MmYwYmNjOWFiMjI5ZjBjYzZmYWQ2ZDM3OGRwLTIsCisgICAgMHgxLjMwMDAwMDAwMDAwMDFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLmRhZDkwMmZhOGFjODdjZWNkMzNjZmM5OTJkZmVjMWJlcC0xLAorICAgIDB4MS43ZWY0ODQyZjBiY2M5YWIyMjlmMGNjNmZhZDZkMzc4ZHAtMiwKKyAgICAtMHgxLjMwMDAwMDAwMDAwMDFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuNGI3MDdhN2FjZGVjZjkwYTE4OGQwMjMwZmFkM2FkNThwLTEsCisgICAgLTB4MS44NjNlZmEzNjFkYzIyOTRlOTI5Yjk1MTVmYjM0ZjliYXAtMSwKKyAgICAweDEuMzdmZmZmZmZmZmZmZnAxLAorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuNGI3MDdhN2FjZGVjZjkwYTE4OGQwMjMwZmFkM2FkNThwLTEsCisgICAgLTB4MS44NjNlZmEzNjFkYzIyOTRlOTI5Yjk1MTVmYjM0ZjliYXAtMSwKKyAgICAtMHgxLjM3ZmZmZmZmZmZmZmZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCisgICAgLTB4MS44NjNlZmEzNjFkYzI1MmJjYTFlYWVlZDM5NzQ5YmVkN3AtMSwKKyAgICAweDEuMzgwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgLTB4MS40YjcwN2E3YWNkZWNjODQyMzk0NjNlNzhiMzEyZmExMHAtMSwKKyAgICAtMHgxLjg2M2VmYTM2MWRjMjUyYmNhMWVhZWVkMzk3NDliZWQ3cC0xLAorICAgIC0weDEuMzgwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLjRiNzA3YTdhY2RlYzk3N2E1OWZmN2FjMDY2MjQ4NGRkcC0xLAorICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCisgICAgMHgxLjM4MDAwMDAwMDAwMDFwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLjRiNzA3YTdhY2RlYzk3N2E1OWZmN2FjMDY2MjQ4NGRkcC0xLAorICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCisgICAgLTB4MS4zODAwMDAwMDAwMDAxcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLjA2NmU3ZWI3NmY1YzY2NzhmZDgzMjVhODFmMTkyNWM2cC00LAorICAgIDB4MS5mZWYyYjJkMjFjZjZjMTA2ZTg2ZmY5Mzk1ZjgyMDRhMHAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzc5MnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAtMHgxLjA2NmU3ZWI3NmY1YzY2NzhmZDgzMjVhODFmMTkyNWM2cC00LAorICAgIDB4MS5mZWYyYjJkMjFjZjZjMTA2ZTg2ZmY5Mzk1ZjgyMDRhMHAtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLjA1ZTQ3NjFhYjhkOGYwYTdkYmE4MzQwMDBmMjM2NjUwcC0zLAorICAgIDB4MS5mYmNiZTY5M2JkOGVjODU3MjNiNmNiNTVlNGY1ZTc4ZnAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzc5MnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAtMHgxLjA1ZTQ3NjFhYjhkOGYwYTdkYmE4MzQwMDBmMjM2NjUwcC0zLAorICAgIDB4MS5mYmNiZTY5M2JkOGVjODU3MjNiNmNiNTVlNGY1ZTc4ZnAtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLjg3N2UyY2Q0ZjZmZDliYTQ5OGUzMjcwNTMwMzI3MzRmcC0zLAorICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKKyAgICAweDEuODllYWQwZWEwZDM1YnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLjg3N2UyY2Q0ZjZmZDliYTQ5OGUzMjcwNTMwMzI3MzRmcC0zLAorICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLjAzYmUwNmY5N2NiZWU0NzY5ODUzOWY5NzdjYWRiZTdlcC0yLAorICAgIDB4MS5lZjQxNDViNGFlY2ZmYmRhYWZmYjc4ZmZiNDlhYzliZHAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzc5MnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAtMHgxLjAzYmUwNmY5N2NiZWU0NzY5ODUzOWY5NzdjYWRiZTdlcC0yLAorICAgIDB4MS5lZjQxNDViNGFlY2ZmYmRhYWZmYjc4ZmZiNDlhYzliZHAtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjQyYWJiYThjNzJmYmI4Y2E5NmY3OWFhNGJiMDM1ODRlcC0yLAorICAgIDB4MS5lNWVhYTI4NmZiYmM2NzBkYmY2MzkyZDdjOThhYjBhMHAtMSwKKyAgICAweDEuNDg0M2FlMTg2MDU3NnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjQyYWJiYThjNzJmYmI4Y2E5NmY3OWFhNGJiMDM1ODRlcC0yLAorICAgIDB4MS5lNWVhYTI4NmZiYmM2NzBkYmY2MzkyZDdjOThhYjBhMHAtMSwKKyAgICAtMHgxLjQ4NDNhZTE4NjA1NzZwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjgwNDVmZTY0ZTYyZGMzZDY4NmQ5NzZkN2Q1YTdjNjg5cC0yLAorICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKKyAgICAweDEuODllYWQwZWEwZDM1YXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLjgwNDVmZTY0ZTYyZGMzZDY4NmQ5NzZkN2Q1YTdjNjg5cC0yLAorICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLmJjNGMwNGQ3MWFiYmVlYTVhYjA2NGVjZmJmNTRjNjEzcC0yLAorICAgIDB4MS5jZDRiY2E5Y2I1YzcxNTMwMjAwMWU0NDZjYzkzYTdiY3AtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEzZXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLmJjNGMwNGQ3MWFiYmVlYTVhYjA2NGVjZmJmNTRjNjEzcC0yLAorICAgIDB4MS5jZDRiY2E5Y2I1YzcxNTMwMjAwMWU0NDZjYzkzYTdiY3AtMSwKKyAgICAtMHgxLmNiOTFmM2JiYmExM2VwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLmY2N2VhOTc1Yjg2YTAxNTEwZTZiZGUzNzc4MTM4OTM0cC0yLAorICAgIDB4MS5iZTFkN2MzNTM0YzQwMzMxZmRkZjI0M2Q4YTBhNTZiMHAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLmY2N2VhOTc1Yjg2YTAxNTEwZTZiZGUzNzc4MTM4OTM0cC0yLAorICAgIDB4MS5iZTFkN2MzNTM0YzQwMzMxZmRkZjI0M2Q4YTBhNTZiMHAtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjE3NTA1OWJmMGQ0MjUyNGVjYjBiZjQyNDNiNTU5NzNkcC0xLAorICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKKyAgICAweDEuMjc3MDFjYWY4OWU4M3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLjE3NTA1OWJmMGQ0MjUyNGVjYjBiZjQyNDNiNTU5NzNkcC0xLAorICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKKyAgICAtMHgxLjI3NzAxY2FmODllODNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjMyM2I4YjFmYjRiYTIxZGQxMmNjZTgyMGUxNTZhNGZjcC0xLAorICAgIDB4MS45YTUyZTJlMGZiY2IzYTNmNGJkZTZmNmVjMjc3NjdhOXAtMSwKKyAgICAweDEuNDg0M2FlMTg2MDU3NXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLjMyM2I4YjFmYjRiYTIxZGQxMmNjZTgyMGUxNTZhNGZjcC0xLAorICAgIDB4MS45YTUyZTJlMGZiY2IzYTNmNGJkZTZmNmVjMjc3NjdhOXAtMSwKKyAgICAtMHgxLjQ4NDNhZTE4NjA1NzVwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjRiZTQ5NzljNWVmYjMwNmMxYTc3MDI0MDMyODQ5YjUycC0xLAorICAgIDB4MS44NWRjM2VhMWJiY2U5YTgwODVmNjY1OTNhODdiN2UyZXAtMSwKKyAgICAweDEuNjkxNzNmODEzNmM2N3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAtMHgxLjRiZTQ5NzljNWVmYjMwNmMxYTc3MDI0MDMyODQ5YjUycC0xLAorICAgIDB4MS44NWRjM2VhMWJiY2U5YTgwODVmNjY1OTNhODdiN2UyZXAtMSwKKyAgICAtMHgxLjY5MTczZjgxMzZjNjdwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjY0MzA4MGQ2N2FjYzEzMzJjNjRhODU2MTJjYWNhZmI5cC0xLAorICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKKyAgICAweDEuODllYWQwZWEwZDM1OXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLjY0MzA4MGQ2N2FjYzEzMzJjNjRhODU2MTJjYWNhZmI5cC0xLAorICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjdiMDViN2I2YzYxMmU1YjA4ZDVlZmU0OWE0NmUyMWExcC0xLAorICAgIDB4MS41ODM3ZDI4MTdjZjMwM2VmNmRhZTY5ZmFlYjBmMDE1ZXAtMSwKKyAgICAweDEuYWFiZTYyNTJlM2E0YnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAtMHgxLjdiMDViN2I2YzYxMmU1YjA4ZDVlZmU0OWE0NmUyMWExcC0xLAorICAgIDB4MS41ODM3ZDI4MTdjZjMwM2VmNmRhZTY5ZmFlYjBmMDE1ZXAtMSwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNGJwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLjkwNGMzNzUwNWRlNDhmYThlNzYyODc5NjBmZDQ0NTk0cC0xLAorICAgIDB4MS4zZjNhMGUyOGJlZGQ0MDQ0NTg1OGY4MjNlMTUwMjY0YnAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTEzZHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLjkwNGMzNzUwNWRlNDhmYThlNzYyODc5NjBmZDQ0NTk0cC0xLAorICAgIDB4MS4zZjNhMGUyOGJlZGQ0MDQ0NTg1OGY4MjNlMTUwMjY0YnAtMSwKKyAgICAtMHgxLmNiOTFmM2JiYmExM2RwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLmEzZWQ5ZTI1MjkzOGExNGM3OWM1NzU2MzljMTVhOTFkcC0xLAorICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKKyAgICAweDEuZWM2NTg1MjQ5MDgyZnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLmEzZWQ5ZTI1MjkzOGExNGM3OWM1NzU2MzljMTVhOTFkcC0xLAorICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKKyAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLmI1ZDU0NWIxMDliZjkzNTU5NDAzNjc5OGNmNDBjOWIwcC0xLAorICAgIDB4MS4wOTZhYzAyZWM0MmM4NWI3YjEwYWZlZDkyMDI3ODViOXAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIC0weDEuYjVkNTQ1YjEwOWJmOTM1NTk0MDM2Nzk4Y2Y0MGM5YjBwLTEsCisgICAgMHgxLjA5NmFjMDJlYzQyYzg1YjdiMTBhZmVkOTIwMjc4NWI5cC0xLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS5jNWYwNTgyMzBlN2ZkMTRkM2U1ZTMxNTM0OWY2OTllZnAtMSwKKyAgICAweDEuZDlhM2EzMzZlZGI3NjEzZGYwNjJlODZhMzJkMDlmZTFwLTIsCisgICAgMHgxLjE3MDY1M2ZiMWViMGFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLmM1ZjA1ODIzMGU3ZmQxNGQzZTVlMzE1MzQ5ZjY5OWVmcC0xLAorICAgIDB4MS5kOWEzYTMzNmVkYjc2MTNkZjA2MmU4NmEzMmQwOWZlMXAtMiwKKyAgICAtMHgxLjE3MDY1M2ZiMWViMGFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAweDEuZDQyZGU0MmRjZTEzNDZhMDNkMWY2YWJmMGViYTkwMjJwLTEsCisgICAgMHgxLjllN2Y4NjUyYjQ3NTgyYWZkMjk3NDQyOTMxNzBjMDdjcC0yLAorICAgIDB4MS4yNzcwMWNhZjg5ZTgzcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgLTB4MS5kNDJkZTQyZGNlMTM0NmEwM2QxZjZhYmYwZWJhOTAyMnAtMSwKKyAgICAweDEuOWU3Zjg2NTJiNDc1ODJhZmQyOTc0NDI5MzE3MGMwN2NwLTIsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLmUwN2VlZWRhMTA5Y2I1MDRhZmNjYTg2MGQ0YjVkZDMycC0xLAorICAgIDB4MS42MWE3NjA3N2FlZTA3YmIzNDljYTc2Y2Y3MDA5MTNkMXAtMiwKKyAgICAweDEuMzdkOWU1NjNmNTFmY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEuZTA3ZWVlZGExMDljYjUwNGFmY2NhODYwZDRiNWRkMzJwLTEsCisgICAgMHgxLjYxYTc2MDc3YWVlMDdiYjM0OWNhNzZjZjcwMDkxM2QxcC0yLAorICAgIC0weDEuMzdkOWU1NjNmNTFmY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS5lYWQ2ODM0OTA5YjkzMzcxZmFmM2JlYWRkYmQ2MGVkZHAtMSwKKyAgICAweDEuMjM1YjMzMWQ4Zjc0OGUyMGZiNmRkYjZhNzA4ZGJhMTBwLTIsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTcKKyAgICAtMHgxLmVhZDY4MzQ5MDliOTMzNzFmYWYzYmVhZGRiZDYwZWRkcC0xLAorICAgIDB4MS4yMzViMzMxZDhmNzQ4ZTIwZmI2ZGRiNmE3MDhkYmExMHAtMiwKKyAgICAtMHgxLjQ4NDNhZTE4NjA1NzVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAweDEuZjMyOWMwNTU4ZTk2N2U0Y2FiNThkMGZhNTcyZDYyZDJwLTEsCisgICAgMHgxLmM3YjkwZTMwMjQ1OTNkYTg0NDk5NjNjZmUwOGRkZTg1cC0zLAorICAgIDB4MS41OGFkNzZjY2NiOGVlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS5mMzI5YzA1NThlOTY3ZTRjYWI1OGQwZmE1NzJkNjJkMnAtMSwKKyAgICAweDEuYzdiOTBlMzAyNDU5M2RhODQ0OTk2M2NmZTA4ZGRlODVwLTMsCisgICAgLTB4MS41OGFkNzZjY2NiOGVlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgMHgxLmY5NmZlNDA1ZjFhYzVkYzljZjM0MzUwODA2N2JmY2FlcC0xLAorICAgIDB4MS40NmRjNGY0Y2U4M2RhNzI3ZWEwNDhjYzdkMmYyNzZkMXAtMywKKyAgICAweDEuNjkxNzNmODEzNmM2N3AwLAorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC0weDEuZjk2ZmU0MDVmMWFjNWRjOWNmMzQzNTA4MDY3YmZjYWVwLTEsCisgICAgMHgxLjQ2ZGM0ZjRjZTgzZGE3MjdlYTA0OGNjN2QyZjI3NmQxcC0zLAorICAgIC0weDEuNjkxNzNmODEzNmM2N3AwLAorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIDB4MS5mZGEyNTRjMjdhMDFmNDc4NmMxNDlkNmE3Nzc5Y2MzYXAtMSwKKyAgICAweDEuODk0ZjcwYmVmYmI5OWFiN2RmOWQxNzkwYTI4ZjQ4YWRwLTQsCisgICAgMHgxLjc5ODEwODM1YTFmZTBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAtMHgxLmZkYTI1NGMyN2EwMWY0Nzg2YzE0OWQ2YTc3NzljYzNhcC0xLAorICAgIDB4MS44OTRmNzBiZWZiYjk5YWI3ZGY5ZDE3OTBhMjhmNDhhZHAtNCwKKyAgICAtMHgxLjc5ODEwODM1YTFmZTBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAweDEuZmZiY2E4NDZjNGZjOTk3ZjFhMzgxNDIwMjA4ODg0ZTBwLTEsCisgICAgMHgxLjA2OTEwN2FlOTMzMmY5NWZhMmM1Y2VlYWRmYjI5Zjc3cC01LAorICAgIDB4MS44OWVhZDBlYTBkMzU5cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgLTB4MS5mZmJjYTg0NmM0ZmM5OTdmMWEzODE0MjAyMDg4ODRlMHAtMSwKKyAgICAweDEuMDY5MTA3YWU5MzMyZjk1ZmEyYzVjZWVhZGZiMjlmNzdwLTUsCisgICAgLTB4MS44OWVhZDBlYTBkMzU5cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgMHgxLmZmYmNhODQ2YzRmYzlmMzBiZmI0NThlZjIwOTFjOGVlcC0xLAorICAgIC0weDEuMDY5MTA3YWU5MzI3ZTA3MzFhNzQ4YzIxZjAzYjVlZmNwLTUsCisgICAgMHgxLjlhNTQ5OTllNzg2ZDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAtMHgxLmZmYmNhODQ2YzRmYzlmMzBiZmI0NThlZjIwOTFjOGVlcC0xLAorICAgIC0weDEuMDY5MTA3YWU5MzI3ZTA3MzFhNzQ4YzIxZjAzYjVlZmNwLTUsCisgICAgLTB4MS45YTU0OTk5ZTc4NmQycDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLmZkYTI1NGMyN2EwMjA1ODc1ZjI3MTQzNWY4MjcxNjBjcC0xLAorICAgIC0weDEuODk0ZjcwYmVmYmI0MTQxN2RmZjg0M2U4MWZhYzM4OGJwLTQsCisgICAgMHgxLmFhYmU2MjUyZTNhNGJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAtMHgxLmZkYTI1NGMyN2EwMjA1ODc1ZjI3MTQzNWY4MjcxNjBjcC0xLAorICAgIC0weDEuODk0ZjcwYmVmYmI0MTQxN2RmZjg0M2U4MWZhYzM4OGJwLTQsCisgICAgLTB4MS5hYWJlNjI1MmUzYTRicDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgMHgxLmY5NmZlNDA1ZjFhYzdhMjQxZTAyZTU4YjBjYmYzYWU3cC0xLAorICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCisgICAgMHgxLmJiMjgyYjA3NGVkYzRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAtMHgxLmY5NmZlNDA1ZjFhYzdhMjQxZTAyZTU4YjBjYmYzYWU3cC0xLAorICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCisgICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgMHgxLmYzMjljMDU1OGU5NmE1ZDQ4MjcyYWQ0YzQ5ZWM1M2I4cC0xLAorICAgIC0weDEuYzdiOTBlMzAyNDU2ODhlMDk5ODYwZThkNGZmZjYwMWNwLTMsCisgICAgMHgxLmNiOTFmM2JiYmExM2RwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAtMHgxLmYzMjljMDU1OGU5NmE1ZDQ4MjcyYWQ0YzQ5ZWM1M2I4cC0xLAorICAgIC0weDEuYzdiOTBlMzAyNDU2ODhlMDk5ODYwZThkNGZmZjYwMWNwLTMsCisgICAgLTB4MS5jYjkxZjNiYmJhMTNkcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLmVhZDY4MzQ5MDliOTY1ZmRjNGIwY2VmZmMwZjI4NWM2cC0xLAorICAgIC0weDEuMjM1YjMzMWQ4ZjczMzk4NDFhNTE3MzEyZDBkMzQ3ZmJwLTIsCisgICAgMHgxLmRiZmJiYzcwMjU0YjZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAtMHgxLmVhZDY4MzQ5MDliOTY1ZmRjNGIwY2VmZmMwZjI4NWM2cC0xLAorICAgIC0weDEuMjM1YjMzMWQ4ZjczMzk4NDFhNTE3MzEyZDBkMzQ3ZmJwLTIsCisgICAgLTB4MS5kYmZiYmM3MDI1NGI2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgMHgxLmUwN2VlZWRhMTA5Y2YyNWY0MDBjZDVmNDZhY2VjODg3cC0xLAorICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCisgICAgMHgxLmVjNjU4NTI0OTA4MmZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAtMHgxLmUwN2VlZWRhMTA5Y2YyNWY0MDBjZDVmNDZhY2VjODg3cC0xLAorICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCisgICAgLTB4MS5lYzY1ODUyNDkwODJmcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLmQ0MmRlNDJkY2UxMzhlODkwOTM5ZTU2YzQzOWRlZDkwcC0xLAorICAgIC0weDEuOWU3Zjg2NTJiNDc0M2RjYzNjMzU2OGJhZmY4YmY5ZWJwLTIsCisgICAgMHgxLmZjY2Y0ZGQ4ZmJiYThwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAtMHgxLmQ0MmRlNDJkY2UxMzhlODkwOTM5ZTU2YzQzOWRlZDkwcC0xLAorICAgIC0weDEuOWU3Zjg2NTJiNDc0M2RjYzNjMzU2OGJhZmY4YmY5ZWJwLTIsCisgICAgLTB4MS5mY2NmNGRkOGZiYmE4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLmM1ZjA1ODIzMGU4MDE0YWI4M2VjZTBjM2E2MzhjMDc5cC0xLAorICAgIC0weDEuZDlhM2EzMzZlZGI2NWVmYTMwZTFhNjY3OWFhMDY0YzJwLTIsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTFwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLmM1ZjA1ODIzMGU4MDE0YWI4M2VjZTBjM2E2MzhjMDc5cC0xLAorICAgIC0weDEuZDlhM2EzMzZlZGI2NWVmYTMwZTFhNjY3OWFhMDY0YzJwLTIsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLmI1ZDU0NWIxMDliZmNlM2ZjNGQ3NzAwMWFmZTJmMmI2cC0xLAorICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCisgICAgMHgxLjBlZDE2ZmEwZTkxNGVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAtMHgxLmI1ZDU0NWIxMDliZmNlM2ZjNGQ3NzAwMWFmZTJmMmI2cC0xLAorICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLmEzZWQ5ZTI1MjkzOGQ5MmE1NTUzYjNjMDlkMmJkZGQzcC0xLAorICAgIC0weDEuMjRlYzc5OTE3MTYzZGRhNjVhZmQ4MTA5ZjU5Y2I0NjVwLTEsCisgICAgMHgxLjE3MDY1M2ZiMWViMGJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAtMHgxLmEzZWQ5ZTI1MjkzOGQ5MmE1NTUzYjNjMDlkMmJkZGQzcC0xLAorICAgIC0weDEuMjRlYzc5OTE3MTYzZGRhNjVhZmQ4MTA5ZjU5Y2I0NjVwLTEsCisgICAgLTB4MS4xNzA2NTNmYjFlYjBicDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLjkwNGMzNzUwNWRlNGI4OTc1ZGQyNzMwZTE5NmRkZmMzcC0xLAorICAgIC0weDEuM2YzYTBlMjhiZWRkMGNmMGM0YmZiZDhjODJhM2JhYWZwLTEsCisgICAgMHgxLjFmM2IzODU1NTQ0YzhwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAtMHgxLjkwNGMzNzUwNWRlNGI4OTc1ZGQyNzMwZTE5NmRkZmMzcC0xLAorICAgIC0weDEuM2YzYTBlMjhiZWRkMGNmMGM0YmZiZDhjODJhM2JhYWZwLTEsCisgICAgLTB4MS4xZjNiMzg1NTU0NGM4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjdiMDViN2I2YzYxMmZjNGZkYTM4MTJiMWYxMzQ4Mzg5cC0xLAorICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCisgICAgMHgxLjI3NzAxY2FmODllODVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAtMHgxLjdiMDViN2I2YzYxMmZjNGZkYTM4MTJiMWYxMzQ4Mzg5cC0xLAorICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjY0MzA4MGQ2N2FjYzE0NjIwNjcyZGRhNjI0MWVhMzA1cC0xLAorICAgIC0weDEuNmZjYjdjNmI4YjkxOTljZTJmMTdkZDNlZTg2YjNiOWFwLTEsCisgICAgMHgxLjJmYTUwMTA5YmY4NDJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAtMHgxLjY0MzA4MGQ2N2FjYzE0NjIwNjcyZGRhNjI0MWVhMzA1cC0xLAorICAgIC0weDEuNmZjYjdjNmI4YjkxOTljZTJmMTdkZDNlZTg2YjNiOWFwLTEsCisgICAgLTB4MS4yZmE1MDEwOWJmODQycDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgMHgxLjRiZTQ5NzljNWVmYjE5NGZjODJhYzM2N2ZlZGY5M2JjcC0xLAorICAgIC0weDEuODVkYzNlYTFiYmNlYWUyZDI5NDQyMWU4YzczNTBmOGNwLTEsCisgICAgMHgxLjM3ZDllNTYzZjUxZmZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLjRiZTQ5NzljNWVmYjE5NGZjODJhYzM2N2ZlZGY5M2JjcC0xLAorICAgIC0weDEuODVkYzNlYTFiYmNlYWUyZDI5NDQyMWU4YzczNTBmOGNwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MWZmcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLjMyM2I4YjFmYjRiOWVmZTUwNzVlZGU4MDQ5YTg1YzNkcC0xLAorICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCisgICAgMHgxLjQwMGVjOWJlMmFiYmNwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAtMHgxLjMyM2I4YjFmYjRiOWVmZTUwNzVlZGU4MDQ5YTg1YzNkcC0xLAorICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCisgICAgLTB4MS40MDBlYzliZTJhYmJjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjE3NTA1OWJmMGQ0MjAzM2JiY2Y1OThjODhiMTc2ZTYxcC0xLAorICAgIC0weDEuYWQxOWUyNTM1YWE5OWIwNDlhYzBiNTg1OGM1ZDM4MWZwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzlwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAtMHgxLjE3NTA1OWJmMGQ0MjAzM2JiY2Y1OThjODhiMTc2ZTYxcC0xLAorICAgIC0weDEuYWQxOWUyNTM1YWE5OWIwNDlhYzBiNTg1OGM1ZDM4MWZwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNTc5cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLmY2N2VhOTc1Yjg2OTI1MjFmNzdkNjc1NGIzMDJjNWM0cC0yLAorICAgIC0weDEuYmUxZDdjMzUzNGM0NDEzMmFiMWM0MTMwY2JlOWRmYTBwLTEsCisgICAgMHgxLjUwNzg5MjcyOTVmMzZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLmY2N2VhOTc1Yjg2OTI1MjFmNzdkNjc1NGIzMDJjNWM0cC0yLAorICAgIC0weDEuYmUxZDdjMzUzNGM0NDEzMmFiMWM0MTMwY2JlOWRmYTBwLTEsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjM2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLmJjNGMwNGQ3MWFiYWQxNGVmYzI5YTY2MzQyYWRhNzIzcC0yLAorICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCisgICAgMHgxLjU4YWQ3NmNjY2I4ZjNwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLmJjNGMwNGQ3MWFiYWQxNGVmYzI5YTY2MzQyYWRhNzIzcC0yLAorICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCisgICAgLTB4MS41OGFkNzZjY2NiOGYzcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLjgwNDVmZTY0ZTYyYzYyZjU3ZjA3N2VhMjUxZTJmMmRjcC0yLAorICAgIC0weDEuZGE5NGQ1NGRkNGMwY2VkY2NkNzM2ODQ5OTQ0MjI3NDBwLTEsCisgICAgMHgxLjYwZTI1YjI3MDEyYjBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAtMHgxLjgwNDVmZTY0ZTYyYzYyZjU3ZjA3N2VhMjUxZTJmMmRjcC0yLAorICAgIC0weDEuZGE5NGQ1NGRkNGMwY2VkY2NkNzM2ODQ5OTQ0MjI3NDBwLTEsCisgICAgLTB4MS42MGUyNWIyNzAxMmIwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMHgxLjQyYWJiYThjNzJmYTEyYmU5MjBiMzE2NjI3NTEyZTQxcC0yLAorICAgIC0weDEuZTVlYWEyODZmYmJjYWQxZTRhNjM3MzM5MmU2Nzk2NjlwLTEsCisgICAgMHgxLjY5MTczZjgxMzZjNmRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAtMHgxLjQyYWJiYThjNzJmYTEyYmU5MjBiMzE2NjI3NTEyZTQxcC0yLAorICAgIC0weDEuZTVlYWEyODZmYmJjYWQxZTRhNjM3MzM5MmU2Nzk2NjlwLTEsCisgICAgLTB4MS42OTE3M2Y4MTM2YzZkcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLjAzYmUwNmY5N2NiY2Y4NjYwMjFlNWE1YzYyYzZiMDdlcC0yLAorICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCisgICAgMHgxLjcxNGMyM2RiNmM2MmFwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAtMHgxLjAzYmUwNmY5N2NiY2Y4NjYwMjFlNWE1YzYyYzZiMDdlcC0yLAorICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCisgICAgLTB4MS43MTRjMjNkYjZjNjJhcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLjg3N2UyY2Q0ZjZmOTQ3MTBmMjc3Njc3NWIwMWM3M2RicC0zLAorICAgIC0weDEuZjY4ZWViZmNiYjVlYmExMjRkOGNjNDhmZDFiZWIwNGRwLTEsCisgICAgMHgxLjc5ODEwODM1YTFmZTdwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAtMHgxLjg3N2UyY2Q0ZjZmOTQ3MTBmMjc3Njc3NWIwMWM3M2RicC0zLAorICAgIC0weDEuZjY4ZWViZmNiYjVlYmExMjRkOGNjNDhmZDFiZWIwNGRwLTEsCisgICAgLTB4MS43OTgxMDgzNWExZmU3cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLjA1ZTQ3NjFhYjhkNDIxNzE5NTY3NzE3Zjc2NzEyODY3cC0zLAorICAgIC0weDEuZmJjYmU2OTNiZDhlZjAwNmY1ZmYwMjIxMGRmZTA2MTlwLTEsCisgICAgMHgxLjgxYjVlYzhmZDc5YTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAtMHgxLjA1ZTQ3NjFhYjhkNDIxNzE5NTY3NzE3Zjc2NzEyODY3cC0zLAorICAgIC0weDEuZmJjYmU2OTNiZDhlZjAwNmY1ZmYwMjIxMGRmZTA2MTlwLTEsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OWE0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgMHgxLjA2NmU3ZWI3NmY1ZGQyZWExOWI2OTkxZThhMWEzNjM0cC00LAorICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCisgICAgMHgxLjg5ZWFkMGVhMGQzNWJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAtMHgxLjA2NmU3ZWI3NmY1ZGQyZWExOWI2OTkxZThhMWEzNjM0cC00LAorICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCisgICAgLTB4MS44OWVhZDBlYTBkMzVicDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLjAzYmUwNmY5N2NiZjA5Y2MwYmFkYmRhZTgwM2Q3YjRlcC0yLAorICAgIDB4MS5lZjQxNDViNGFlY2ZmNmY1OGVkZWNmMjQ5NTU0MjhjMXAtMSwKKyAgICAtMHgxLjgxYjVlYzhmZDc5OWZwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAtMHgxLjAzYmUwNmY5N2NiZjA5Y2MwYmFkYmRhZTgwM2Q3YjRlcC0yLAorICAgIDB4MS5lZjQxNDViNGFlY2ZmNmY1OGVkZWNmMjQ5NTU0MjhjMXAtMSwKKyAgICAweDEuODFiNWVjOGZkNzk5ZnAyLAorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIDB4MS5mNjdlYTk3NWI4NmEyMmYyMzQ4Nzc4ODI0Zjk1ZDg0YXAtMiwKKyAgICAweDEuYmUxZDdjMzUzNGMzZjliOWIzNTYxOTI4MDA0OWRlODVwLTEsCisgICAgLTB4MS43MTRjMjNkYjZjNjI2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgLTB4MS5mNjdlYTk3NWI4NmEyMmYyMzQ4Nzc4ODI0Zjk1ZDg0YXAtMiwKKyAgICAweDEuYmUxZDdjMzUzNGMzZjliOWIzNTYxOTI4MDA0OWRlODVwLTEsCisgICAgMHgxLjcxNGMyM2RiNmM2MjZwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAweDEuNjQzMDgwZDY3YWNjMjEwZmEyN2U5MjQ3YTgyODYyMjBwLTEsCisgICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAorICAgIC0weDEuNjBlMjViMjcwMTJhZHAyLAorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIC0weDEuNjQzMDgwZDY3YWNjMjEwZmEyN2U5MjQ3YTgyODYyMjBwLTEsCisgICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAorICAgIDB4MS42MGUyNWIyNzAxMmFkcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgMHgxLmI1ZDU0NWIxMDliZjk1MGI0MTk3MDI5NzJiOTRmOGZhcC0xLAorICAgIDB4MS4wOTZhYzAyZWM0MmM4MmU1YjIyNTE4NWJkNmM3NTdkNXAtMSwKKyAgICAtMHgxLjUwNzg5MjcyOTVmMzRwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAtMHgxLmI1ZDU0NWIxMDliZjk1MGI0MTk3MDI5NzJiOTRmOGZhcC0xLAorICAgIDB4MS4wOTZhYzAyZWM0MmM4MmU1YjIyNTE4NWJkNmM3NTdkNXAtMSwKKyAgICAweDEuNTA3ODkyNzI5NWYzNHAyLAorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS5lYWQ2ODM0OTA5YjkzNDYyMzRkYmI2MDFkMDQ4NmNmMnAtMSwKKyAgICAweDEuMjM1YjMzMWQ4Zjc0ODdjZTJkYjk3ODE5ZmFlNzc3N2NwLTIsCisgICAgLTB4MS40MDBlYzliZTJhYmJicDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgLTB4MS5lYWQ2ODM0OTA5YjkzNDYyMzRkYmI2MDFkMDQ4NmNmMnAtMSwKKyAgICAweDEuMjM1YjMzMWQ4Zjc0ODdjZTJkYjk3ODE5ZmFlNzc3N2NwLTIsCisgICAgMHgxLjQwMGVjOWJlMmFiYmJwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjQKKyAgICAweDEuZmZiY2E4NDZjNGZjOTk5YTI5ZGMxZDZiMmQ3Y2I0MTNwLTEsCisgICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAorICAgIC0weDEuMmZhNTAxMDliZjg0MnAyLAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIC0weDEuZmZiY2E4NDZjNGZjOTk5YTI5ZGMxZDZiMmQ3Y2I0MTNwLTEsCisgICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAorICAgIDB4MS4yZmE1MDEwOWJmODQycDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgMHgxLmYzMjljMDU1OGU5NmE1MThhMmFmM2FlNzgwMGE1YjY1cC0xLAorICAgIC0weDEuYzdiOTBlMzAyNDU2OTViZDFlYzE3MGY0NWZlZWIxZmZwLTMsCisgICAgLTB4MS4xZjNiMzg1NTU0NGM5cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgLTB4MS5mMzI5YzA1NThlOTZhNTE4YTJhZjNhZTc4MDBhNWI2NXAtMSwKKyAgICAtMHgxLmM3YjkwZTMwMjQ1Njk1YmQxZWMxNzBmNDVmZWViMWZmcC0zLAorICAgIDB4MS4xZjNiMzg1NTU0NGM5cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLmM1ZjA1ODIzMGU4MDIxZjIxYmQwYWMyYzBmNjgwOWE5cC0xLAorICAgIC0weDEuZDlhM2EzMzZlZGI2MmMxNTQxYjg1ODRjZDZjMDBmODdwLTIsCisgICAgLTB4MS4wZWQxNmZhMGU5MTUwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgLTB4MS5jNWYwNTgyMzBlODAyMWYyMWJkMGFjMmMwZjY4MDlhOXAtMSwKKyAgICAtMHgxLmQ5YTNhMzM2ZWRiNjJjMTU0MWI4NTg0Y2Q2YzAwZjg3cC0yLAorICAgIDB4MS4wZWQxNmZhMGU5MTUwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLjdiMDViN2I2YzYxMzY1YTlhYzllOTA4YjhlNWQzY2U0cC0xLAorICAgIC0weDEuNTgzN2QyODE3Y2YyNzcwNWNhYzc4ODFmYjU2OWZmYzdwLTEsCisgICAgLTB4MS5mY2NmNGRkOGZiYmFlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgLTB4MS43YjA1YjdiNmM2MTM2NWE5YWM5ZTkwOGI4ZTVkM2NlNHAtMSwKKyAgICAtMHgxLjU4MzdkMjgxN2NmMjc3MDVjYWM3ODgxZmI1NjlmZmM3cC0xLAorICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLjE3NTA1OWJmMGQ0MmYxZDZiMzkxZjA3Zjk2ZjIzNTNkcC0xLAorICAgIC0weDEuYWQxOWUyNTM1YWE4ZmZiNDAwNjZkNzhhZWY3MWZhYmRwLTEsCisgICAgLTB4MS5kYmZiYmM3MDI1NGJjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgLTB4MS4xNzUwNTliZjBkNDJmMWQ2YjM5MWYwN2Y5NmYyMzUzZHAtMSwKKyAgICAtMHgxLmFkMTllMjUzNWFhOGZmYjQwMDY2ZDc4YWVmNzFmYWJkcC0xLAorICAgIDB4MS5kYmZiYmM3MDI1NGJjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgMHgxLjQyYWJiYThjNzJmZDIyMTk0NzkzMjQ2YjhkMTk5NjBhcC0yLAorICAgIC0weDEuZTVlYWEyODZmYmJjMmIxMjkyMzgxNjBkZjMwY2U3MDRwLTEsCisgICAgLTB4MS5iYjI4MmIwNzRlZGNhcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgLTB4MS40MmFiYmE4YzcyZmQyMjE5NDc5MzI0NmI4ZDE5OTYwYXAtMiwKKyAgICAtMHgxLmU1ZWFhMjg2ZmJiYzJiMTI5MjM4MTYwZGYzMGNlNzA0cC0xLAorICAgIDB4MS5iYjI4MmIwNzRlZGNhcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLjA2NmU3ZWI3NmY2MmI1ZjQ1NjNkZTI2ZGNhODkwMDE3cC00LAorICAgIC0weDEuZmVmMmIyZDIxY2Y2YjQwZmYzYjUzMGNlOGRjMGQ4YTdwLTEsCisgICAgLTB4MS45YTU0OTk5ZTc4NmQ4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgLTB4MS4wNjZlN2ViNzZmNjJiNWY0NTYzZGUyNmRjYTg5MDAxN3AtNCwKKyAgICAtMHgxLmZlZjJiMmQyMWNmNmI0MGZmM2I1MzBjZThkYzBkOGE3cC0xLAorICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgLTB4MS44NzdlMmNkNGY2ZmE0MjU4Njg3NWM1MjUwYTE2OWU0OHAtMywKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZWFkZDY1YzI2MWNkODAzOTkwYWUxcC0xLAorICAgIC0weDEuNzk4MTA4MzVhMWZlNnAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS44NzdlMmNkNGY2ZmE0MjU4Njg3NWM1MjUwYTE2OWU0OHAtMywKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZWFkZDY1YzI2MWNkODAzOTkwYWUxcC0xLAorICAgIDB4MS43OTgxMDgzNWExZmU2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgLTB4MS5iYzRjMDRkNzFhYmE1ZGZjMDk4Mjc4ZjE2OGJiZDk2MnAtMiwKKyAgICAtMHgxLmNkNGJjYTljYjVjNzc1YTk5NzI5ZjdhZDk1YjdkY2UzcC0xLAorICAgIC0weDEuNThhZDc2Y2NjYjhmNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIDB4MS5iYzRjMDRkNzFhYmE1ZGZjMDk4Mjc4ZjE2OGJiZDk2MnAtMiwKKyAgICAtMHgxLmNkNGJjYTljYjVjNzc1YTk5NzI5ZjdhZDk1YjdkY2UzcC0xLAorICAgIDB4MS41OGFkNzZjY2NiOGY0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgLTB4MS40YmU0OTc5YzVlZmE4NzFkMzBhZTFjZmE2NjM4OTE5OXAtMSwKKyAgICAtMHgxLjg1ZGMzZWExYmJjZjJhYTJlMjFlYzU4NmQ1NDk3ZTM1cC0xLAorICAgIC0weDEuMzdkOWU1NjNmNTIwMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS40YmU0OTc5YzVlZmE4NzFkMzBhZTFjZmE2NjM4OTE5OXAtMSwKKyAgICAtMHgxLjg1ZGMzZWExYmJjZjJhYTJlMjFlYzU4NmQ1NDk3ZTM1cC0xLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgLTB4MS5hM2VkOWUyNTI5MzgyMjE2ODk1OGNjZTFlMDlmN2MxMXAtMSwKKyAgICAtMHgxLjI0ZWM3OTkxNzE2NGU0MWFkZGQ0YmFjZDQ0MjBmOWZicC0xLAorICAgIC0weDEuMTcwNjUzZmIxZWIxMHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5hM2VkOWUyNTI5MzgyMjE2ODk1OGNjZTFlMDlmN2MxMXAtMSwKKyAgICAtMHgxLjI0ZWM3OTkxNzE2NGU0MWFkZGQ0YmFjZDQ0MjBmOWZicC0xLAorICAgIDB4MS4xNzA2NTNmYjFlYjEwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgLTB4MS5lMDdlZWVkYTEwOWM2MmIzNDBkYzM2ZTkyMTY5NjQ4ZHAtMSwKKyAgICAtMHgxLjYxYTc2MDc3YWVlMjNiMTFmMGM2NzNmNjM4MDAzYjBhcC0yLAorICAgIC0weDEuZWM2NTg1MjQ5MDgzY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIDB4MS5lMDdlZWVkYTEwOWM2MmIzNDBkYzM2ZTkyMTY5NjQ4ZHAtMSwKKyAgICAtMHgxLjYxYTc2MDc3YWVlMjNiMTFmMGM2NzNmNjM4MDAzYjBhcC0yLAorICAgIDB4MS5lYzY1ODUyNDkwODNjcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDg4CisgICAgLTB4MS5mZGEyNTRjMjdhMDFkZDk1NGRiM2FlYTUwNWU0OTQ1M3AtMSwKKyAgICAtMHgxLjg5NGY3MGJlZmJjMTA0YjcwNmU4NWNmNGMxYzk2YTUycC00LAorICAgIC0weDEuYWFiZTYyNTJlM2E1OHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIDB4MS5mZGEyNTRjMjdhMDFkZDk1NGRiM2FlYTUwNWU0OTQ1M3AtMSwKKyAgICAtMHgxLjg5NGY3MGJlZmJjMTA0YjcwNmU4NWNmNGMxYzk2YTUycC00LAorICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgLTB4MS5mOTZmZTQwNWYxYWNhMDJlOGY0ZmQ0MzNlNTlhYTk3M3AtMSwKKyAgICAweDEuNDZkYzRmNGNlODM3M2M3YzQ0ZjEzYjU3MzYzZWRkM2JwLTMsCisgICAgLTB4MS42OTE3M2Y4MTM2Yzc0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgMHgxLmY5NmZlNDA1ZjFhY2EwMmU4ZjRmZDQzM2U1OWFhOTczcC0xLAorICAgIDB4MS40NmRjNGY0Y2U4MzczYzdjNDRmMTNiNTczNjNlZGQzYnAtMywKKyAgICAweDEuNjkxNzNmODEzNmM3NHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIC0weDEuZDQyZGU0MmRjZTEzZWYwNDBiYjEwNDBlMzE0OGQ3ZGVwLTEsCisgICAgMHgxLjllN2Y4NjUyYjQ3Mjg5ZTUzZmNjZDU0OTU1ZGI0NTUycC0yLAorICAgIC0weDEuMjc3MDFjYWY4OWU5MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS5kNDJkZTQyZGNlMTNlZjA0MGJiMTA0MGUzMTQ4ZDdkZXAtMSwKKyAgICAweDEuOWU3Zjg2NTJiNDcyODllNTNmY2NkNTQ5NTVkYjQ1NTJwLTIsCisgICAgMHgxLjI3NzAxY2FmODllOTBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAtMHgxLjkwNGMzNzUwNWRlNTkzMDgxMmUzYTJhOTRmZWFhNTFicC0xLAorICAgIDB4MS4zZjNhMGUyOGJlZGJmYjA2NmI2N2FiZDljMzM4NDA5ZXAtMSwKKyAgICAtMHgxLmNiOTFmM2JiYmExNTdwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLjkwNGMzNzUwNWRlNTkzMDgxMmUzYTJhOTRmZWFhNTFicC0xLAorICAgIDB4MS4zZjNhMGUyOGJlZGJmYjA2NmI2N2FiZDljMzM4NDA5ZXAtMSwKKyAgICAweDEuY2I5MWYzYmJiYTE1N3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAtMHgxLjMyM2I4YjFmYjRiYjYyNmRkNDBjYWNkNzQ5NjNhYzZjcC0xLAorICAgIDB4MS45YTUyZTJlMGZiY2E0YjAwYzcyZGFhM2NkYWNhMjU3Y3AtMSwKKyAgICAtMHgxLjQ4NDNhZTE4NjA1OGVwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgMHgxLjMyM2I4YjFmYjRiYjYyNmRkNDBjYWNkNzQ5NjNhYzZjcC0xLAorICAgIDB4MS45YTUyZTJlMGZiY2E0YjAwYzcyZGFhM2NkYWNhMjU3Y3AtMSwKKyAgICAweDEuNDg0M2FlMTg2MDU4ZXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAtMHgxLjgwNDVmZTY0ZTYzMDhiYjVjNmNlMzVmODM0YjkzYzYzcC0yLAorICAgIDB4MS5kYTk0ZDU0ZGQ0YmZmNzUzZDk4OGMxNzU1ZTJmZmMwNHAtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzOGFwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgMHgxLjgwNDVmZTY0ZTYzMDhiYjVjNmNlMzVmODM0YjkzYzYzcC0yLAorICAgIDB4MS5kYTk0ZDU0ZGQ0YmZmNzUzZDk4OGMxNzU1ZTJmZmMwNHAtMSwKKyAgICAweDEuODllYWQwZWEwZDM4YXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAtMHgxLjA1ZTQ3NjFhYjhkZWM0NGVkMGZhMzBkMzM1MDQ5YzQwcC0zLAorICAgIDB4MS5mYmNiZTY5M2JkOGU5ODQyMzIwN2UzNjU4N2Q5NDJiN3AtMSwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3ZjBwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLjA1ZTQ3NjFhYjhkZWM0NGVkMGZhMzBkMzM1MDQ5YzQwcC0zLAorICAgIDB4MS5mYmNiZTY5M2JkOGU5ODQyMzIwN2UzNjU4N2Q5NDJiN3AtMSwKKyAgICAweDEuMDY5YzhiNDZiMzdmMHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuMDVlNDc2MWFiOGQzMWQwMGU2NTYzNzJjNWMwNGFhNmVwLTMsCisgICAgMHgxLmZiY2JlNjkzYmQ4ZWY4NmMxNTY1YjM0NTMwMzZlNTVlcC0xLAorICAgIDB4MS4wNjljOGI0NmIzNzM0cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIC0weDEuMDVlNDc2MWFiOGQzMWQwMGU2NTYzNzJjNWMwNGFhNmVwLTMsCisgICAgMHgxLmZiY2JlNjkzYmQ4ZWY4NmMxNTY1YjM0NTMwMzZlNTVlcC0xLAorICAgIC0weDEuMDY5YzhiNDZiMzczNHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuODA0NWZlNjRlNjJiMTlhMDk0Mzk5NTAyYWZiNzZlNWNwLTIsCisgICAgMHgxLmRhOTRkNTRkZDRjMTExODc0MDVhZGE3ZjA0ZTViMTcxcC0xLAorICAgIDB4MS44OWVhZDBlYTBkMzJjcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIC0weDEuODA0NWZlNjRlNjJiMTlhMDk0Mzk5NTAyYWZiNzZlNWNwLTIsCisgICAgMHgxLmRhOTRkNTRkZDRjMTExODc0MDVhZGE3ZjA0ZTViMTcxcC0xLAorICAgIC0weDEuODllYWQwZWEwZDMyY3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuMzIzYjhiMWZiNGI5MDdjNDE2ZDIzYjA0ZTBlYzBlNzJwLTEsCisgICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAorICAgIDB4MS40ODQzYWUxODYwNTVmcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuMzIzYjhiMWZiNGI5MDdjNDE2ZDIzYjA0ZTBlYzBlNzJwLTEsCisgICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuOTA0YzM3NTA1ZGUzYmUyYWNlMTdjYTU0ODc3NTAyMzFwLTEsCisgICAgMHgxLjNmM2EwZTI4YmVkZTQ2ZjY1Y2E1YjVjMTlhZDk5ZGQ3cC0xLAorICAgIDB4MS5jYjkxZjNiYmJhMTI4cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIC0weDEuOTA0YzM3NTA1ZGUzYmUyYWNlMTdjYTU0ODc3NTAyMzFwLTEsCisgICAgMHgxLjNmM2EwZTI4YmVkZTQ2ZjY1Y2E1YjVjMTlhZDk5ZGQ3cC0xLAorICAgIC0weDEuY2I5MWYzYmJiYTEyOHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuZDQyZGU0MmRjZTEyYjgyNDY2ZjJmY2I2M2IyOTQ3NTFwLTEsCisgICAgMHgxLjllN2Y4NjUyYjQ3ODA2NmVlYzU2M2Y4MzUwOTdmMTQ4cC0yLAorICAgIDB4MS4yNzcwMWNhZjg5ZTc4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgLTB4MS5kNDJkZTQyZGNlMTJiODI0NjZmMmZjYjYzYjI5NDc1MXAtMSwKKyAgICAweDEuOWU3Zjg2NTJiNDc4MDY2ZWVjNTYzZjgzNTA5N2YxNDhwLTIsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTc4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLmY5NmZlNDA1ZjFhYzI1OWJmMTkyZmQxY2Y2NGUyZjEycC0xLAorICAgIDB4MS40NmRjNGY0Y2U4NDMxNTFiOWQxNGU1NjE4NzllNWZlM3AtMywKKyAgICAweDEuNjkxNzNmODEzNmM1Y3AwLAorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuZjk2ZmU0MDVmMWFjMjU5YmYxOTJmZDFjZjY0ZTJmMTJwLTEsCisgICAgMHgxLjQ2ZGM0ZjRjZTg0MzE1MWI5ZDE0ZTU2MTg3OWU1ZmUzcC0zLAorICAgIC0weDEuNjkxNzNmODEzNmM1Y3AwLAorICB9LAorICB7IC8vIEVudHJ5IDUxNAorICAgIDB4MS5mZGEyNTRjMjdhMDIyNzU0MzJkNzdkZDZmOTcwNDY0NHAtMSwKKyAgICAtMHgxLjg5NGY3MGJlZmJhOTIxMWIwZGNhYTRkY2E0NTA2NzBmcC00LAorICAgIDB4MS5hYWJlNjI1MmUzYTQwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5mZGEyNTRjMjdhMDIyNzU0MzJkNzdkZDZmOTcwNDY0NHAtMSwKKyAgICAtMHgxLjg5NGY3MGJlZmJhOTIxMWIwZGNhYTRkY2E0NTA2NzBmcC00LAorICAgIC0weDEuYWFiZTYyNTJlM2E0MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS5lMDdlZWVkYTEwOWQ2YmYwYzkzNWZhMTBiMTI4MGM2ZHAtMSwKKyAgICAtMHgxLjYxYTc2MDc3YWVkYzk5OTUyNDM4NDIxZjgyMGEyYmVmcC0yLAorICAgIDB4MS5lYzY1ODUyNDkwODI0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgLTB4MS5lMDdlZWVkYTEwOWQ2YmYwYzkzNWZhMTBiMTI4MGM2ZHAtMSwKKyAgICAtMHgxLjYxYTc2MDc3YWVkYzk5OTUyNDM4NDIxZjgyMGEyYmVmcC0yLAorICAgIC0weDEuZWM2NTg1MjQ5MDgyNHAwLAorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS5hM2VkOWUyNTI5MzlkOTc5M2ZiMmY2Zjc1ZTVjNzZlN3AtMSwKKyAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAorICAgIDB4MS4xNzA2NTNmYjFlYjA0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgLTB4MS5hM2VkOWUyNTI5MzlkOTc5M2ZiMmY2Zjc1ZTVjNzZlN3AtMSwKKyAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAorICAgIC0weDEuMTcwNjUzZmIxZWIwNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS40YmU0OTc5YzVlZmNjZmU3OGVhMGI2YWZiMGNiYmEzN3AtMSwKKyAgICAtMHgxLjg1ZGMzZWExYmJjZDM4Y2JmZWI0MzcwZDU0MDVlZWJhcC0xLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MWY2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgLTB4MS40YmU0OTc5YzVlZmNjZmU3OGVhMGI2YWZiMGNiYmEzN3AtMSwKKyAgICAtMHgxLjg1ZGMzZWExYmJjZDM4Y2JmZWI0MzcwZDU0MDVlZWJhcC0xLAorICAgIC0weDEuMzdkOWU1NjNmNTFmNnAxLAorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS5iYzRjMDRkNzFhYmZjNWRmNjk1ODlhNDVkNWUzMTk2ZXAtMiwKKyAgICAtMHgxLmNkNGJjYTljYjVjNjI4NzA5Mzg4YTM5ZmM4NDU5MWQxcC0xLAorICAgIDB4MS41OGFkNzZjY2NiOGU4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgLTB4MS5iYzRjMDRkNzFhYmZjNWRmNjk1ODlhNDVkNWUzMTk2ZXAtMiwKKyAgICAtMHgxLmNkNGJjYTljYjVjNjI4NzA5Mzg4YTM5ZmM4NDU5MWQxcC0xLAorICAgIC0weDEuNThhZDc2Y2NjYjhlOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS44NzdlMmNkNGY3MDYwOWIxZjA2MjI5NWI2NGFlZDRiZHAtMywKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAorICAgIDB4MS43OTgxMDgzNWExZmRhcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgLTB4MS44NzdlMmNkNGY3MDYwOWIxZjA2MjI5NWI2NGFlZDRiZHAtMywKKyAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAorICAgIC0weDEuNzk4MTA4MzVhMWZkYXAxLAorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIC0weDEuMDY2ZTdlYjc2ZjRhYzI5M2Y0NjQ4NmRjMzI4ZDQ1MGJwLTQsCisgICAgLTB4MS5mZWYyYjJkMjFjZjZlNTQ0YWI3Nzk1YWVkMTBkOWZhN3AtMSwKKyAgICAweDEuOWE1NDk5OWU3ODZjY3AxLAorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIDB4MS4wNjZlN2ViNzZmNGFjMjkzZjQ2NDg2ZGMzMjhkNDUwYnAtNCwKKyAgICAtMHgxLmZlZjJiMmQyMWNmNmU1NDRhYjc3OTVhZWQxMGQ5ZmE3cC0xLAorICAgIC0weDEuOWE1NDk5OWU3ODZjY3AxLAorICB9LAorICB7IC8vIEVudHJ5IDUyOAorICAgIC0weDEuNDJhYmJhOGM3MmY3NzA1OTVmZmUzMTM1YTBlMGFkODNwLTIsCisgICAgLTB4MS5lNWVhYTI4NmZiYmQxZDEzNWUyMTZjNDlhOWY3ZTVkYXAtMSwKKyAgICAweDEuYmIyODJiMDc0ZWRiZXAxLAorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDB4MS40MmFiYmE4YzcyZjc3MDU5NWZmZTMxMzVhMGUwYWQ4M3AtMiwKKyAgICAtMHgxLmU1ZWFhMjg2ZmJiZDFkMTM1ZTIxNmM0OWE5ZjdlNWRhcC0xLAorICAgIC0weDEuYmIyODJiMDc0ZWRiZXAxLAorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIC0weDEuMTc1MDU5YmYwZDQwNmUyZmUwMTRlODgwZGQyOWNmYWNwLTEsCisgICAgLTB4MS5hZDE5ZTI1MzVhYWFhMmFjODcwNTZiNmQ3Nzc2ZTk3YXAtMSwKKyAgICAweDEuZGJmYmJjNzAyNTRiMHAxLAorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIDB4MS4xNzUwNTliZjBkNDA2ZTJmZTAxNGU4ODBkZDI5Y2ZhY3AtMSwKKyAgICAtMHgxLmFkMTllMjUzNWFhYWEyYWM4NzA1NmI2ZDc3NzZlOTdhcC0xLAorICAgIC0weDEuZGJmYmJjNzAyNTRiMHAxLAorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIC0weDEuN2IwNWI3YjZjNjExNjE1NWYwZGM1NTFlMzE2ZTFlMGJwLTEsCisgICAgLTB4MS41ODM3ZDI4MTdjZjRhZjhlNWU1OWIxM2I0YWE5YjVlM3AtMSwKKyAgICAweDEuZmNjZjRkZDhmYmJhMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDUzMworICAgIDB4MS43YjA1YjdiNmM2MTE2MTU1ZjBkYzU1MWUzMTZlMWUwYnAtMSwKKyAgICAtMHgxLjU4MzdkMjgxN2NmNGFmOGU1ZTU5YjEzYjRhYTliNWUzcC0xLAorICAgIC0weDEuZmNjZjRkZDhmYmJhMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIC0weDEuYzVmMDU4MjMwZTdlYmViNzYxNjc3OWUxNmZhOWI1MzdwLTEsCisgICAgLTB4MS5kOWEzYTMzNmVkYmI3ZGU2NGEyMTgzY2IyN2JlNGI1YnAtMiwKKyAgICAweDEuMGVkMTZmYTBlOTE0YXAyLAorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIDB4MS5jNWYwNTgyMzBlN2ViZWI3NjE2Nzc5ZTE2ZmE5YjUzN3AtMSwKKyAgICAtMHgxLmQ5YTNhMzM2ZWRiYjdkZTY0YTIxODNjYjI3YmU0YjVicC0yLAorICAgIC0weDEuMGVkMTZmYTBlOTE0YXAyLAorICB9LAorICB7IC8vIEVudHJ5IDUzNgorICAgIC0weDEuZjMyOWMwNTU4ZTk1ZmEzMzNkNWQyZDQ0ZDY1NDc3N2NwLTEsCisgICAgLTB4MS5jN2I5MGUzMDI0NjI0OGI3YTBjMmM4N2EzZGQyNTIyNHAtMywKKyAgICAweDEuMWYzYjM4NTU1NDRjM3AyLAorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIDB4MS5mMzI5YzA1NThlOTVmYTMzM2Q1ZDJkNDRkNjU0Nzc3Y3AtMSwKKyAgICAtMHgxLmM3YjkwZTMwMjQ2MjQ4YjdhMGMyYzg3YTNkZDI1MjI0cC0zLAorICAgIC0weDEuMWYzYjM4NTU1NDRjM3AyLAorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIC0weDEuZmZiY2E4NDZjNGZjYjIzN2MyOTQ3YjM1YjAzN2EycC0xLAorICAgIDB4MS4wNjkxMDdhZTkzMDJjYWYyMDY4YjQ4ODQyYWZkZjA1MXAtNSwKKyAgICAweDEuMmZhNTAxMDliZjgzY3AyLAorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIDB4MS5mZmJjYTg0NmM0ZmNiMjM3YzI5NDdiMzViMDM3YTJwLTEsCisgICAgMHgxLjA2OTEwN2FlOTMwMmNhZjIwNjhiNDg4NDJhZmRmMDUxcC01LAorICAgIC0weDEuMmZhNTAxMDliZjgzY3AyLAorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIC0weDEuZWFkNjgzNDkwOWJhMGVlNjliMzFlMTk3MGRmMWJiOGJwLTEsCisgICAgMHgxLjIzNWIzMzFkOGY2ZWM3NGFhM2RlNWFlZDE1ZmEzZjY4cC0yLAorICAgIDB4MS40MDBlYzliZTJhYmI1cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgMHgxLmVhZDY4MzQ5MDliYTBlZTY5YjMxZTE5NzBkZjFiYjhicC0xLAorICAgIDB4MS4yMzViMzMxZDhmNmVjNzRhYTNkZTVhZWQxNWZhM2Y2OHAtMiwKKyAgICAtMHgxLjQwMGVjOWJlMmFiYjVwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAtMHgxLmI1ZDU0NWIxMDljMTIzMmI2MWRkMjhkODAzNWQ5NWNicC0xLAorICAgIDB4MS4wOTZhYzAyZWM0MjlmMjI1Yzk5Yjg5YmI0YzllNWQzZXAtMSwKKyAgICAweDEuNTA3ODkyNzI5NWYyZXAyLAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIDB4MS5iNWQ1NDViMTA5YzEyMzJiNjFkZDI4ZDgwMzVkOTVjYnAtMSwKKyAgICAweDEuMDk2YWMwMmVjNDI5ZjIyNWM5OWI4OWJiNGM5ZTVkM2VwLTEsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjJlcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgLTB4MS42NDMwODBkNjdhY2U0OGMwZGQxZmUzYTA2YmJjNGJmNXAtMSwKKyAgICAweDEuNmZjYjdjNmI4YjhmNzczZTNiNDIxZGRlZDZmYzFmMjZwLTEsCisgICAgMHgxLjYwZTI1YjI3MDEyYTdwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAweDEuNjQzMDgwZDY3YWNlNDhjMGRkMWZlM2EwNmJiYzRiZjVwLTEsCisgICAgMHgxLjZmY2I3YzZiOGI4Zjc3M2UzYjQyMWRkZWQ2ZmMxZjI2cC0xLAorICAgIC0weDEuNjBlMjViMjcwMTJhN3AyLAorICB9LAorICB7IC8vIEVudHJ5IDU0NgorICAgIC0weDEuZjY3ZWE5NzViODZmNWQ0YWE5MjcxNmNjMDc3NDczYTdwLTIsCisgICAgMHgxLmJlMWQ3YzM1MzRjMjgwZGFiNDNkY2VkNjcwMzMwYjYzcC0xLAorICAgIDB4MS43MTRjMjNkYjZjNjIwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgMHgxLmY2N2VhOTc1Yjg2ZjVkNGFhOTI3MTZjYzA3NzQ3M2E3cC0yLAorICAgIDB4MS5iZTFkN2MzNTM0YzI4MGRhYjQzZGNlZDY3MDMzMGI2M3AtMSwKKyAgICAtMHgxLjcxNGMyM2RiNmM2MjBwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDgKKyAgICAtMHgxLjAzYmUwNmY5N2NjNGQ3OGZkY2NiY2ExZDQwZTg2MDExcC0yLAorICAgIDB4MS5lZjQxNDViNGFlY2YzNDI3MDlhM2IxOTMyMGQxYjE5NHAtMSwKKyAgICAweDEuODFiNWVjOGZkNzk5OXAyLAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIDB4MS4wM2JlMDZmOTdjYzRkNzhmZGNjYmNhMWQ0MGU4NjAxMXAtMiwKKyAgICAweDEuZWY0MTQ1YjRhZWNmMzQyNzA5YTNiMTkzMjBkMWIxOTRwLTEsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OTk5cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLmVmYjI2ZWY5MzBjNGMzZmEzMjQ1OTYzYzFkY2VjMGE2cC01LAorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWU1NzY5ODFlZTRiMzQ3NjlkZXAtMSwKKyAgICAweDEuZWZmZmZmZmZmZmZmZnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLmVmYjI2ZWY5MzBjNGMzZmEzMjQ1OTYzYzFkY2VjMGE2cC01LAorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWU1NzY5ODFlZTRiMzQ3NjlkZXAtMSwKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKKyAgICAweDEuZnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKKyAgICAtMHgxLmZwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLmVmYjI2ZWY5MzBjNGUzZWIyZjcyMmNlYTE5N2MyMDM2cC01LAorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWM2N2I3MTJmNTFhNmZhMmFiM3AtMSwKKyAgICAweDEuZjAwMDAwMDAwMDAwMXAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAtMHgxLmVmYjI2ZWY5MzBjNGUzZWIyZjcyMmNlYTE5N2MyMDM2cC01LAorICAgIDB4MS5mZjBmZDJjOTZhZGZiYWM2N2I3MTJmNTFhNmZhMmFiM3AtMSwKKyAgICAtMHgxLmYwMDAwMDAwMDAwMDFwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLmY2YmFhYTEzMWRlNjMzYWQ0ZTBlN2Q2NDY1ZDEyYTA1cC00LAorICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNWM4Zjc2ZTc1ZmQ3MDgzODE4Y3AtMSwKKyAgICAweDEuZjdmZmZmZmZmZmZmZnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAtMHgxLmY2YmFhYTEzMWRlNjMzYWQ0ZTBlN2Q2NDY1ZDEyYTA1cC00LAorICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNWM4Zjc2ZTc1ZmQ3MDgzODE4Y3AtMSwKKyAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAorICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNThhMjAxOTMzOTliM2JjMGRkMnAtMSwKKyAgICAweDEuZjgwcC00LAorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIC0weDEuZjZiYWFhMTMxZGU2NDM4ZTU2MTEyNzk4NjRmZTc2NjNwLTQsCisgICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAorICAgIC0weDEuZjgwcC00LAorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS5mNmJhYWExMzFkZTY1MzZmNWUxM2QxY2M2NDI5Y2MwN3AtNCwKKyAgICAweDEuZmMyMTAwNTU0NjdmZTU0YjQ4YzNmMTM1ZjZmMjlkZjdwLTEsCisgICAgMHgxLmY4MDAwMDAwMDAwMDFwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgLTB4MS5mNmJhYWExMzFkZTY1MzZmNWUxM2QxY2M2NDI5Y2MwN3AtNCwKKyAgICAweDEuZmMyMTAwNTU0NjdmZTU0YjQ4YzNmMTM1ZjZmMjlkZjdwLTEsCisgICAgLTB4MS5mODAwMDAwMDAwMDAxcC00LAorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS40YThjM2I0ZTljN2ZmMDBhMzZlMDYxYTBkMjI5NTA5M3AtMywKKyAgICAweDEuZjk0OTg0YjI1NTJlMTllNzMyOTQxM2I4YzJlOGRjNTFwLTEsCisgICAgMHgxLjRiZmZmZmZmZmZmZmZwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgLTB4MS40YThjM2I0ZTljN2ZmMDBhMzZlMDYxYTBkMjI5NTA5M3AtMywKKyAgICAweDEuZjk0OTg0YjI1NTJlMTllNzMyOTQxM2I4YzJlOGRjNTFwLTEsCisgICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDU2NAorICAgIDB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKKyAgICAweDEuZjk0OTg0YjI1NTJlMTk0MWVjNzY2YzZhODJlY2U0YTNwLTEsCisgICAgMHgxLjRjMHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAtMHgxLjRhOGMzYjRlOWM3ZmZmZDQ4MzA1ZjQ0YTQyZjVmNTBmcC0zLAorICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKKyAgICAtMHgxLjRjMHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjYKKyAgICAweDEuNGE4YzNiNGU5YzgwMGY5ZWNmMmI4NmYzYjNiZDZmNWFwLTMsCisgICAgMHgxLmY5NDk4NGIyNTUyZTE4OWNhNjU4YzUxYzQyZTkwN2NlcC0xLAorICAgIDB4MS40YzAwMDAwMDAwMDAxcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuNGE4YzNiNGU5YzgwMGY5ZWNmMmI4NmYzYjNiZDZmNWFwLTMsCisgICAgMHgxLmY5NDk4NGIyNTUyZTE4OWNhNjU4YzUxYzQyZTkwN2NlcC0xLAorICAgIC0weDEuNGMwMDAwMDAwMDAwMXAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAweDEuMmU5Y2Q5NWJhYmEzMjVmZTYwNjcyMzNkNDQ5NmFhYWNwLTIsCisgICAgMHgxLmU5MjFkZDQyZjA5YmE4Njg2MDNlYTM3NmY2ZTJkMDEycC0xLAorICAgIDB4MS4zMzMzMzMzMzMzMzMycC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIC0weDEuMmU5Y2Q5NWJhYmEzMjVmZTYwNjcyMzNkNDQ5NmFhYWNwLTIsCisgICAgMHgxLmU5MjFkZDQyZjA5YmE4Njg2MDNlYTM3NmY2ZTJkMDEycC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAweDEuMmU5Y2Q5NWJhYmEzMzU0NzZmNTEzYWMyMjFkMDc4YzdwLTIsCisgICAgMHgxLmU5MjFkZDQyZjA5YmE2MGIyNjhiZWMxZmIwODc4YTQycC0xLAorICAgIDB4MS4zMzMzMzMzMzMzMzMzcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU3MQorICAgIC0weDEuMmU5Y2Q5NWJhYmEzMzU0NzZmNTEzYWMyMjFkMDc4YzdwLTIsCisgICAgMHgxLmU5MjFkZDQyZjA5YmE2MGIyNjhiZWMxZmIwODc4YTQycC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzIKKyAgICAweDEuMmU5Y2Q5NWJhYmEzNDQ5MDdlM2I1MjQ2ZmVmNzVkMTVwLTIsCisgICAgMHgxLmU5MjFkZDQyZjA5YmEzYWRlY2Q5MzRjODZhMGRiMjU0cC0xLAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIC0weDEuMmU5Y2Q5NWJhYmEzNDQ5MDdlM2I1MjQ2ZmVmNzVkMTVwLTIsCisgICAgMHgxLmU5MjFkZDQyZjA5YmEzYWRlY2Q5MzRjODZhMGRiMjU0cC0xLAorICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAweDEuM2ZhZWZjN2E1NDY2ZWYzMDQ1YzNmMWJlNzE2YWQ1NjhwLTEsCisgICAgMHgxLjhmZWVkYjg2YmYwZWYzMTU4ZjhhMWRjYmVmNDlkMTIzcC0xLAorICAgIDB4MS41OTQzMTdhY2M0ZWY4cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIC0weDEuM2ZhZWZjN2E1NDY2ZWYzMDQ1YzNmMWJlNzE2YWQ1NjhwLTEsCisgICAgMHgxLjhmZWVkYjg2YmYwZWYzMTU4ZjhhMWRjYmVmNDlkMTIzcC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuM2ZhZWZjN2E1NDY2ZmJhZmJjYTAyN2I2ZThkYjhjMDRwLTEsCisgICAgMHgxLjhmZWVkYjg2YmYwZWU5MTgxN2E2NGIyOGI3OWU1MTE5cC0xLAorICAgIDB4MS41OTQzMTdhY2M0ZWY5cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIC0weDEuM2ZhZWZjN2E1NDY2ZmJhZmJjYTAyN2I2ZThkYjhjMDRwLTEsCisgICAgMHgxLjhmZWVkYjg2YmYwZWU5MTgxN2E2NGIyOGI3OWU1MTE5cC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuM2ZhZWZjN2E1NDY3MDgyZjMzN2M1ZGFmNWZmYzU2ZTJwLTEsCisgICAgMHgxLjhmZWVkYjg2YmYwZWRmMWE5ZmMyNzg4NTdmOGVkNTU5cC0xLAorICAgIDB4MS41OTQzMTdhY2M0ZWZhcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIC0weDEuM2ZhZWZjN2E1NDY3MDgyZjMzN2M1ZGFmNWZmYzU2ZTJwLTEsCisgICAgMHgxLjhmZWVkYjg2YmYwZWRmMWE5ZmMyNzg4NTdmOGVkNTU5cC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmYXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAweDEuNjg4OGE0ZTEzNGIyZGVmNWJlYTUxZjRjZDdkNjQ3YzZwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWRkNmY5ZTE3ZTM0NDJkNTliMjQxcC0xLAorICAgIDB4MS44ZmZmZmZmZmZmZmZmcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIC0weDEuNjg4OGE0ZTEzNGIyZGVmNWJlYTUxZjRjZDdkNjQ3YzZwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWRkNmY5ZTE3ZTM0NDJkNTliMjQxcC0xLAorICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAorICAgIDB4MS45cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIC0weDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAorICAgIC0weDEuOXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuNjg4OGE0ZTEzNGIyZjVhZTU3OWZiZTQ4MzRmOGZkNTVwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWM2ZTcxM2M5Y2ZmOGZlYjQ5MThmcC0xLAorICAgIDB4MS45MDAwMDAwMDAwMDAxcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIC0weDEuNjg4OGE0ZTEzNGIyZjVhZTU3OWZiZTQ4MzRmOGZkNTVwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWM2ZTcxM2M5Y2ZmOGZlYjQ5MThmcC0xLAorICAgIC0weDEuOTAwMDAwMDAwMDAwMXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODYKKyAgICAtMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwLTEwNzQsCisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAtMTA3NCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAtMC4wLAorICAgIDB4MS5wMCwKKyAgICAtMC4wLAorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwLTEwNzQsCisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgLTAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcC0xMDc0LAorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS45MWY2NWYxMGRkODEyYTBiOTVmZjcxODcxYWI0ODIwN3AtNSwKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGU0YThhYjdkN2NkODQ4OGY0OTlwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgLTB4MS45MWY2NWYxMGRkODEyYTBiOTVmZjcxODcxYWI0ODIwN3AtNSwKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGU0YThhYjdkN2NkODQ4OGY0OTlwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC01LAorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS45MWY2NWYxMGRkODEzYTA2YTZmMTJlM2RkOWE2YTQxZXAtNSwKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzZGZiMDRkZjQ2OTg3ZjY0NTBwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgLTB4MS45MWY2NWYxMGRkODEzYTA2YTZmMTJlM2RkOWE2YTQxZXAtNSwKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzZGZiMDRkZjQ2OTg3ZjY0NTBwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC01LAorICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIDB4MS45MWY2NWYxMGRkODE0YTAxYjdlMmVhZjQ5ODk4NjFiN3AtNSwKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzMTZiNTFlNmJmYWM3NTU0MmZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgLTB4MS45MWY2NWYxMGRkODE0YTAxYjdlMmVhZjQ5ODk4NjFiN3AtNSwKKyAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzMTZiNTFlNmJmYWM3NTU0MmZwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC01LAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS45MTdhNmJjMjliNDJhOWNkMmU3ODdlZTAwY2E4ZjhlM3AtNCwKKyAgICAweDEuZmQ4OGRhM2QxMjUyNWEyMDg4OThjZjU4ZGVkMGVlYjNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgLTB4MS45MTdhNmJjMjliNDJhOWNkMmU3ODdlZTAwY2E4ZjhlM3AtNCwKKyAgICAweDEuZmQ4OGRhM2QxMjUyNWEyMDg4OThjZjU4ZGVkMGVlYjNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC00LAorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS45MTdhNmJjMjliNDJiOWI5NzU0YTY3NzI5Zjc5MzQ2YnAtNCwKKyAgICAweDEuZmQ4OGRhM2QxMjUyNTllZTU5NGI1NzA1NzY3YWI2NDlwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgLTB4MS45MTdhNmJjMjliNDJiOWI5NzU0YTY3NzI5Zjc5MzQ2YnAtNCwKKyAgICAweDEuZmQ4OGRhM2QxMjUyNTllZTU5NGI1NzA1NzY3YWI2NDlwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC00LAorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS45MTdhNmJjMjliNDJjOWE1YmMxYzUwMDUzMjQ3ZGU3OHAtNCwKKyAgICAweDEuZmQ4OGRhM2QxMjUyNTliYzI5ZmRkZWIyMGUyMjgwNTZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgLTB4MS45MTdhNmJjMjliNDJjOWE1YmMxYzUwMDUzMjQ3ZGU3OHAtNCwKKyAgICAweDEuZmQ4OGRhM2QxMjUyNTliYzI5ZmRkZWIyMGUyMjgwNTZwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC00LAorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS44ZjhiODNjNjlhNjA5NzVmOTg0NTM4ODZmOTUzYTBlNXAtMywKKyAgICAweDEuZjYyOTdjZmY3NWNiMDNhYjFmY2VkNjMzN2UzNWEyNDVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgLTB4MS44ZjhiODNjNjlhNjA5NzVmOTg0NTM4ODZmOTUzYTBlNXAtMywKKyAgICAweDEuZjYyOTdjZmY3NWNiMDNhYjFmY2VkNjMzN2UzNWEyNDVwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIDB4MS44ZjhiODNjNjlhNjBhNzEwZTQyZDM0MzU1MTZkZGFjY3AtMywKKyAgICAweDEuZjYyOTdjZmY3NWNiMDJlMzVhMGNmMmU2NGRlNjA2MjZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgLTB4MS44ZjhiODNjNjlhNjBhNzEwZTQyZDM0MzU1MTZkZGFjY3AtMywKKyAgICAweDEuZjYyOTdjZmY3NWNiMDJlMzVhMGNmMmU2NGRlNjA2MjZwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIDB4MS44ZjhiODNjNjlhNjBiNmMyMzAxNTJmZTNhOTgxZDY4NnAtMywKKyAgICAweDEuZjYyOTdjZmY3NWNiMDIxYjk0NGIwZjk5MWQ4ZTkxNjFwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgLTB4MS44ZjhiODNjNjlhNjBiNmMyMzAxNTJmZTNhOTgxZDY4NnAtMywKKyAgICAweDEuZjYyOTdjZmY3NWNiMDIxYjk0NGIwZjk5MWQ4ZTkxNjFwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIDB4MS44N2RlMmE2YWVhOTYxYTNlOWRlZGVhNTdmZTdlNjUxNHAtMiwKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjY3MmQ5YzFhODY1ODk4ZTU5NjZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgLTB4MS44N2RlMmE2YWVhOTYxYTNlOWRlZGVhNTdmZTdlNjUxNHAtMiwKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjY3MmQ5YzFhODY1ODk4ZTU5NjZwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIDB4MS44N2RlMmE2YWVhOTYyOTA2ZDNkNTgzOWVhMWE1YmNmMHAtMiwKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjM2MzFkNmNkMjkwNWQ0YjEzZjVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgLTB4MS44N2RlMmE2YWVhOTYyOTA2ZDNkNTgzOWVhMWE1YmNmMHAtMiwKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjM2MzFkNmNkMjkwNWQ0YjEzZjVwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS44N2RlMmE2YWVhOTYzN2NmMDliZDFjZTU0NGI0OTZlYXAtMiwKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjA1MzYxMTdmY2JiMzBlYTNlMTdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgLTB4MS44N2RlMmE2YWVhOTYzN2NmMDliZDFjZTU0NGI0OTZlYXAtMiwKKyAgICAweDEuZDkwNmJjZjMyOGQ0NjA1MzYxMTdmY2JiMzBlYTNlMTdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIDB4MS42YTA5ZTY2N2YzYmNiYTk5YWZiMDEzNTcyOTQ1Nzg3NHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZDc3N2I2NDYxMzc2YWI1MjMyNDJwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgLTB4MS42YTA5ZTY2N2YzYmNiYTk5YWZiMDEzNTcyOTQ1Nzg3NHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZDc3N2I2NDYxMzc2YWI1MjMyNDJwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDYxNworICAgIDB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgLTB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIDB4MS42YTA5ZTY2N2YzYmNkMTNhNGUxNjkyOTJmNjA3ZWVlNXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYzBkNzE3ZGY5NDNhZGVmMzkyNTNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgLTB4MS42YTA5ZTY2N2YzYmNkMTNhNGUxNjkyOTJmNjA3ZWVlNXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYzBkNzE3ZGY5NDNhZGVmMzkyNTNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZnAtMSwKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzBiOGI1MGJwLTUyLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZnAtMSwKKyAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzBiOGI1MGJwLTUyLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AwLAorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNjI0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2M3AtMSwKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdkYmNmYmEwcC01MywKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAwLAorICB9LAorICB7IC8vIEVudHJ5IDYyNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjNwLTEsCisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3ZGJjZmJhMHAtNTMsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJmYWVlZDQycC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDliZmFlZWQ0MnAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZnAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MzZlMmVkcC01MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2Q1YmJjNWNwLTUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2Q1YmJjNWNwLTUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDliYjg3Y2UxYnAtNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJiODdjZTFicC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmVwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDBiZjAwM3AtNTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MGJmMDAzcC01MiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdiZDZiZjRkcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzFwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzgKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdiZDZiZjRkcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzFwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDlhYWViNTE4MnAtNDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWFhZWI1MTgycC00OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjhwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwMzYwMjQ1Y3AtNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAzNjAyNDVjcC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWVwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjQzCisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Yzc1YzJjYjBlcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Yzc1YzJjYjBlcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ1CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDk2ODc5NWYxY3AtNDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmUxcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OTY4Nzk1ZjFjcC00OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZTFwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ3CisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwMGIwZjViZnAtNTAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdhcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAwYjBmNWJmcC01MCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2FwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzVkNzJmYTExcC00OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTAKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzVkNzJmYTExcC00OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDg1ZWIxOTU4NHAtNDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjg3cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0ODVlYjE5NTg0cC00NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmODdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjZmNWY0M2I0Y3AtNDksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWU5cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmY1ZjQzYjRjcC00OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YmZjMzNiNjFmcC00OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGNwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YmZjMzNiNjFmcC00OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGNwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjU3CisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDQzNzkyNmYyNXAtNDYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZTFkcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjU4CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0NDM3OTI2ZjI1cC00NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlMWRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjZjYjAxNTE3ZHAtNDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2E3cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmNiMDE1MTdkcC00OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3YTdwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YTc3MzZhNjU4cC00NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxMzFwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjIKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YTc3MzZhNjU4cC00NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxMzFwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwMzM5YjE1ZDVhYXAtNDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmODc0cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE3cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjY0CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjAzMzliMTVkNWFhcC00NSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4NzRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjYxZjM1YWE0M3AtNDcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlkcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNjFmMzVhYTQzcC00NywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlOWRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2NDYzNDI2NzNhcC00NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0YzZwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2NDYzNDI2NzNhcC00NiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0YzZwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgMHgxLjZhMDllNjY3ZjNiY2ZmYTYwYzBmNTMzNDBmZDI0OTA0cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjOTI2YjU5ZTZkMzk5YmQxYjkwNmNwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2ZmYTYwYzBmNTMzNDBmZDI0OTA0cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjOTI2YjU5ZTZkMzk5YmQxYjkwNmNwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQxcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLjZhMDllNjY3ZjNiY2QyNjRjZjQyNTRiYzdhYjBjOWZhcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjYmZhYzk2YjNkMjExNWEzYzNlMjFwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2QyNjRjZjQyNTRiYzdhYjBjOWZhcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjYmZhYzk2YjNkMjExNWEzYzNlMjFwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLjZhMDllNjY3ZjNiY2E1MjM5Mjc1NTY0NGRmZTcyMzU3cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjZWNlZGQzODBkMDg4ZjFiNGM0M2NwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDNwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2E1MjM5Mjc1NTY0NGRmZTcyMzU3cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjZWNlZGQzODBkMDg4ZjFiNGM0M2NwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQzcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgLTB4MS42YTA5ZTY2N2YzYmM4YzJkZjFiNzUyYjYwNmEwYTQ3MnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiZDA1ZTM3NDNlZDQxN2M0NGZiYTQ2cC0xLAorICAgIDB4MS5mNmE3YTI5NTUzODVkcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgMHgxLjZhMDllNjY3ZjNiYzhjMmRmMWI3NTJiNjA2YTBhNDcycC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JkMDVlMzc0M2VkNDE3YzQ0ZmJhNDZwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVkcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgLTB4MS42YTA5ZTY2N2YzYmNiOTZmMmU4NDUxMmRhNDg4ZmYyZHAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2Q4YTIzNzcxZDVhMDJmZjVlODQzcC0xLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgMHgxLjZhMDllNjY3ZjNiY2I5NmYyZTg0NTEyZGE0ODhmZjJkcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjZDhhMjM3NzFkNWEwMmZmNWU4NDNwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgLTB4MS42YTA5ZTY2N2YzYmNlNmIwNmI1MTRmYTUzY2M5MzI0ZnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2FiNjBmYWE0ZDcyODk1ZjNlZWE1cC0xLAorICAgIDB4MS5mNmE3YTI5NTUzODVmcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLjZhMDllNjY3ZjNiY2U2YjA2YjUxNGZhNTNjYzkzMjRmcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjYWI2MGZhYTRkNzI4OTVmM2VlYTVwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YXAtMSwKKyAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzRjMWQxNjMxcC01MCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMXAyLAorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YXAtMSwKKyAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzRjMWQxNjMxcC01MCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkcC0xLAorICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODYzNzdjOTJwLTUzLAorICAgIDB4MS4yZDk3YzdmMzMyMWQycDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjg0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkcC0xLAorICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODYzNzdjOTJwLTUzLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY4NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVlZjE4MTBwLTEsCisgICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTViYmNiYzZjcC01MSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AyLAorICB9LAorICB7IC8vIEVudHJ5IDY4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWVmMTgxMHAtMSwKKyAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxNWJiY2JjNmNwLTUxLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AyLAorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIC0weDEuNmEwOWU2NjdmM2JkMzk2MjE5M2I1MzczMDY5YmEwYzJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYzU4YWY0Y2JhZDM1YWFiYjIwMGY0cC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc0cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLjZhMDllNjY3ZjNiZDM5NjIxOTNiNTM3MzA2OWJhMGMycC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmM1OGFmNGNiYWQzNWFhYmIyMDBmNHAtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODkKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2RlZGY5ZmExNTY4M2U1MWY3ZTYwcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNiMzMxYzY1NGQwNDllZWJhMzgwZnAtMSwKKyAgICAweDEuNWZkYmJlOWJiYTc3NXAyLAorICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIDB4MS42YTA5ZTY2N2YzYmNkZWRmOWZhMTU2ODNlNTFmN2U2MHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYjMzMWM2NTRkMDQ5ZWViYTM4MGZwLTEsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc1cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgLTB4MS42YTA5ZTY2N2YzYmM4NDVkMjYwNzU5OTRhZDAyYmQ5OHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JkMGRiNDNmZWVjZDM5MWIyMWQwYzRwLTEsCisgICAgMHgxLjVmZGJiZTliYmE3NzZwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTIKKyAgICAweDEuNmEwOWU2NjdmM2JjODQ1ZDI2MDc1OTk0YWQwMmJkOThwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiZDBkYjQzZmVlY2QzOTFiMjFkMGM0cC0xLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY5MworICAgIDB4MS42YTA5ZTY2N2YzYmM1MjcxZTQ4YjUyNzZmNDM4NTc5ZnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JkM2Y5ZjgxNmFkNDU2YmExYTU0YTlwLTEsCisgICAgMHgxLmM0NjNhYmVjY2IyYmFwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzUyNzFlNDhiNTI3NmY0Mzg1NzlmcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmQzZjlmODE2YWQ0NTZiYTFhNTRhOXAtMSwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAweDEuNmEwOWU2NjdmM2JjYWNmNDVlMjU0ZjY2MzhjZmU4YzZwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2U1MWQwN2QwZDc2NzlhMmQ4YzUzcC0xLAorICAgIDB4MS5jNDYzYWJlY2NiMmJicDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjk2CisgICAgLTB4MS42YTA5ZTY2N2YzYmNhY2Y0NWUyNTRmNjYzOGNmZThjNnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZTUxZDA3ZDBkNzY3OWEyZDhjNTNwLTEsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJicDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgMHgxLjZhMDllNjY3ZjNiZDA3NzZkN2JmNGM1NTY2YzZkYjg3cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmM4YTlhOGUzNmRhNzg2M2EwMjU5N3AtMSwKKyAgICAweDEuYzQ2M2FiZWNjYjJiY3AyLAorICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIC0weDEuNmEwOWU2NjdmM2JkMDc3NmQ3YmY0YzU1NjZjNmRiODdwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYzhhOWE4ZTM2ZGE3ODYzYTAyNTk3cC0xLAorICAgIC0weDEuYzQ2M2FiZWNjYjJiY3AyLAorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMzExNzRmNXAtMSwKKyAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMmFkOWFmZGFwLTUwLAorICAgIDB4MS5mNmE3YTI5NTUzODVkcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNzAwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMzExNzRmNXAtMSwKKyAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMmFkOWFmZGFwLTUwLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAyLAorICB9LAorICB7IC8vIEVudHJ5IDcwMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTE5NGNkNHAtMSwKKyAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzRlNmE4NDlwLTUyLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTE5NGNkNHAtMSwKKyAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzRlNmE4NDlwLTUyLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAyLAorICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTIxMjRiNHAtMSwKKyAgICAtMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0NzliZDQ4ZjRhcC01MSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAyLAorICB9LAorICB7IC8vIEVudHJ5IDcwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMTI0YjRwLTEsCisgICAgLTB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5YmQ0OGY0YXAtNTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgMHgxLjZhMDllNjY3ZjNiZGZhZTFkY2NlNGYxODY2NTY4MWM2cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JiOTcyZjg5MjdkN2I0NmM3Mzc0ODVwLTEsCisgICAgMHgxLjE0NzVjYzllZWRlZmZwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAtMHgxLjZhMDllNjY3ZjNiZGZhZTFkY2NlNGYxODY2NTY4MWM2cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JiOTcyZjg5MjdkN2I0NmM3Mzc0ODVwLTEsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZWZmcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLjZhMDllNjY3ZjNiZDQ1ZGNlOTlhNTUzYTZkN2Q4MDY1cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjNGMzNDdjNWJkMTkzM2NhMzI2MWZwLTEsCisgICAgMHgxLjE0NzVjYzllZWRmcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzA4CisgICAgLTB4MS42YTA5ZTY2N2YzYmQ0NWRjZTk5YTU1M2E2ZDdkODA2NXAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzRjMzQ3YzViZDE5MzNjYTMyNjFmcC0xLAorICAgIC0weDEuMTQ3NWNjOWVlZGZwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEuNmEwOWU2NjdmM2JjOTBkN2Y2NjY1YjVjMWEyMjA1NmFwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmQwMTM5NmY4ZmNiNzFiMjUwNWUxZnAtMSwKKyAgICAweDEuMTQ3NWNjOWVlZGYwMXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxMAorICAgIC0weDEuNmEwOWU2NjdmM2JjOTBkN2Y2NjY1YjVjMWEyMjA1NmFwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmQwMTM5NmY4ZmNiNzFiMjUwNWUxZnAtMSwKKyAgICAtMHgxLjE0NzVjYzllZWRmMDFwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICAweDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3M2UwZDZiOTRwLTQ5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYTJjOWVkYThwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzNlMGQ2Yjk0cC00OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmEyYzllZGE4cC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxMworICAgIDB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4NWE2ODhiZHAtNTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDQzMjZmNXAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODVhNjg4YmRwLTUyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ0MzI2ZjVwLTEsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzE1CisgICAgLTB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE1M2MwY2MxNnAtNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkN2JjNjA0MXAtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AzLAorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIDB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE1M2MwY2MxNnAtNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkN2JjNjA0MXAtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTcKKyAgICAtMHgxLjZhMDllNjY3ZjNiYjkwZjIyMGY4NTZkMGIxYTQwNmMzcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JlMDExZjQ0ZmRjZmZjMTY3ZjcxNDBwLTEsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTJwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuNmEwOWU2NjdmM2JiOTBmMjIwZjg1NmQwYjFhNDA2YzNwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmUwMTFmNDRmZGNmZmMxNjdmNzE0MHAtMSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzQ1ZjcxNDJjNTBhZjg0ZjI2Yzc1cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JkNGMxYTUxYzlkNjFlMjBjNTIzZjdwLTEsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTNwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAweDEuNmEwOWU2NjdmM2JjNDVmNzE0MmM1MGFmODRmMjZjNzVwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ0YzFhNTFjOWQ2MWUyMGM1MjNmN3AtMSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTNwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjEKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2ZhZmMwNzYwNGE4ZGZkYmU1ODhkcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjOTcxNTVlOTVkYzNmZDA4ODVkMTRwLTEsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAweDEuNmEwOWU2NjdmM2JjZmFmYzA3NjA0YThkZmRiZTU4OGRwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmM5NzE1NWU5NWRjM2ZkMDg4NWQxNHAtMSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNjM0ZTlmcC0xLAorICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwNzQ4ODczYmJwLTQ5LAorICAgIDB4MS41ZmRiYmU5YmJhNzc0cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNjM0ZTlmcC0xLAorICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwNzQ4ODczYmJwLTQ5LAorICAgIC0weDEuNWZkYmJlOWJiYTc3NHAzLAorICB9LAorICB7IC8vIEVudHJ5IDcyNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmM0NjExNzhwLTEsCisgICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0NjQ2MzMwMXAtNTIsCisgICAgMHgxLjVmZGJiZTliYmE3NzVwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmM0NjExNzhwLTEsCisgICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0NjQ2MzMwMXAtNTIsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc1cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkYjI4ZDQ1MXAtMSwKKyAgICAweDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdlZTRkMDkwY2ZwLTUwLAorICAgIDB4MS41ZmRiYmU5YmJhNzc2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRiMjhkNDUxcC0xLAorICAgIDB4MS44NDc0ZjQ5YTcxN2JjZmQ5YjIzZjA3N2VlNGQwOTBjZnAtNTAsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgLTB4MS42YTA5ZTY2N2YzYmUwNzVjYWQyZDUwZGZjNjhjZDg4ZnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JiOGFiNGI4YzhkNWVjZjZiOTEwZDZwLTEsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDVwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuNmEwOWU2NjdmM2JlMDc1Y2FkMmQ1MGRmYzY4Y2Q4OGZwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYjhhYjRiOGM4ZDVlY2Y2YjkxMGQ2cC0xLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NXAzLAorICB9LAorICB7IC8vIEVudHJ5IDczMQorICAgIC0weDEuNmEwOWU2NjdmM2JkNTI1N2I5Zjk1NzAxZDNmMTNmNWRwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYzNmYjlhYmZjY2ZjYmNkMjYyYWEwcC0xLAorICAgIDB4MS43OGZkYjllZmZlYTQ2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLjZhMDllNjY3ZjNiZDUyNTdiOWY5NTcwMWQzZjEzZjVkcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmMzZmI5YWJmY2NmY2JjZDI2MmFhMHAtMSwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDZwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzMKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzlkNTJjNmM1NWQyMzg2ZDMyYzkycC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNmNGJlOWYzMGM5YWE0OTEwY2FjZnAtMSwKKyAgICAweDEuNzhmZGI5ZWZmZWE0N3AzLAorICB9LAorICB7IC8vIEVudHJ5IDczNAorICAgIDB4MS42YTA5ZTY2N2YzYmM5ZDUyYzZjNTVkMjM4NmQzMmM5MnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZjRiZTlmMzBjOWFhNDkxMGNhY2ZwLTEsCisgICAgLTB4MS43OGZkYjllZmZlYTQ3cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMHgxLjZhMDllNjY3ZjNiYjg0Nzc1MDk5NTUwOTNiYjI5MmJlcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmUwZDlhMTU1Y2QxYzM3NjdlYjdiM3AtMSwKKyAgICAweDEuYWI0MWIwOTg4NmZlOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIC0weDEuNmEwOWU2NjdmM2JiODQ3NzUwOTk1NTA5M2JiMjkyYmVwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiZTBkOWExNTVjZDFjMzc2N2ViN2IzcC0xLAorICAgIC0weDEuYWI0MWIwOTg4NmZlOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIDB4MS42YTA5ZTY2N2YzYmMzOTdjNDNjZDRlZTgxNTNlNjBhMHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JkNTg5NTIyMjhkN2U1ODcwMWQyOTlwLTEsCisgICAgMHgxLmFiNDFiMDk4ODZmZTlwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzM5N2M0M2NkNGVlODE1M2U2MGEwcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmQ1ODk1MjIyOGQ3ZTU4NzAxZDI5OXAtMSwKKyAgICAtMHgxLmFiNDFiMDk4ODZmZTlwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzkKKyAgICAweDEuNmEwOWU2NjdmM2JjZWU4MTM3MDE0OGM2OTQ0N2I0ZTdwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2EzOTAyZWY0ZGUwNzNkMDI3M2U2cC0xLAorICAgIDB4MS5hYjQxYjA5ODg2ZmVhcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlZTgxMzcwMTQ4YzY5NDQ3YjRlN3AtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYTM5MDJlZjRkZTA3M2QwMjczZTZwLTEsCisgICAgLTB4MS5hYjQxYjA5ODg2ZmVhcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMjE0MWI0cC0xLAorICAgIDB4MS40ZjZiYWJlNWRiOWUxZWY0MGQ2OWM0NTJlMTM1NTkxZHAtNDksCisgICAgMHgxLmM0NjNhYmVjY2IyYmFwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMjE0MWI0cC0xLAorICAgIDB4MS40ZjZiYWJlNWRiOWUxZWY0MGQ2OWM0NTJlMTM1NTkxZHAtNDksCisgICAgLTB4MS5jNDYzYWJlY2NiMmJhcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDcxN2E3cC0xLAorICAgIDB4MS4zZGFlYWY5NzZlNzg3YmQwMzVhNzExNGJlMzg3YjVjM3AtNTEsCisgICAgMHgxLmM0NjNhYmVjY2IyYmJwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDcxN2E3cC0xLAorICAgIDB4MS4zZGFlYWY5NzZlNzg3YmQwMzVhNzExNGJlMzg3YjVjM3AtNTEsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJicDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzQ1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUxOGNlZDlhcC0xLAorICAgIC0weDEuNjEyOGE4MzQ0OGMzYzIxN2U1MmM3NzVhMDY5OGQyNmFwLTUwLAorICAgIDB4MS5jNDYzYWJlY2NiMmJjcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMThjZWQ5YXAtMSwKKyAgICAtMHgxLjYxMjhhODM0NDhjM2MyMTdlNTJjNzc1YTA2OThkMjZhcC01MCwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAweDEuNmEwOWU2NjdmM2JlMTNkNzdkOGM1MmE3MjY1NTBlYWNwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmI3ZTM5ZTg2OWQ0MjU4MDkwOGM3Y3AtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4YnAzLAorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIC0weDEuNmEwOWU2NjdmM2JlMTNkNzdkOGM1MmE3MjY1NTBlYWNwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmI3ZTM5ZTg2OWQ0MjU4MDkwOGM3Y3AtMSwKKyAgICAtMHgxLmRkODVhNzQxMGY1OGJwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDkKKyAgICAweDEuNmEwOWU2NjdmM2JkNWVkMjhhNTg1OGM5MzlmNmRkYWFwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmMzMzNlZGI5ZGNlMDQ1ZDNiMGU3NXAtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzLAorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIC0weDEuNmEwOWU2NjdmM2JkNWVkMjhhNTg1OGM5MzlmNmRkYWFwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmMzMzNlZGI5ZGNlMDQ1ZDNiMGU3NXAtMSwKKyAgICAtMHgxLmRkODVhNzQxMGY1OGNwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAweDEuNmEwOWU2NjdmM2JjYTljZDk3MjQ1ZWVhZjMxNjMzMGVwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlODQzY2VkMWM3ZTJkZjYzMTZkNHAtMSwKKyAgICAweDEuZGQ4NWE3NDEwZjU4ZHAzLAorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIC0weDEuNmEwOWU2NjdmM2JjYTljZDk3MjQ1ZWVhZjMxNjMzMGVwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNlODQzY2VkMWM3ZTJkZjYzMTZkNHAtMSwKKyAgICAtMHgxLmRkODVhNzQxMGY1OGRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTMKKyAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMTc2NWRlYzFwLTQ5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOGM0NWQzZDRwLTEsCisgICAgMHgxLmY2YTdhMjk1NTM4NWRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAtMHgxLjU4M2ViZWZmNjVjYzIyNjQ4MGFlNjg1YzE3NjVkZWMxcC00OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhjNDVkM2Q0cC0xLAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAzLAorICB9LAorICB7IC8vIEVudHJ5IDc1NQorICAgIDB4MS42MGZhZmJmZDk3MzA4OTkyMDJiOWExNzBjMzk3MWU4NnAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY1MzM1M3AtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZXAzLAorICB9LAorICB7IC8vIEVudHJ5IDc1NgorICAgIC0weDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzM5NzFlODZwLTUxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NTMzNTNwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVlcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzU3CisgICAgLTB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5NzUzZmU3YXAtNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNDg0OTJkM3AtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAzLAorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIDB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5NzUzZmU3YXAtNTAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNDg0OTJkM3AtMSwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTkKKyAgICAtMHgxLjZhMDllNjY3ZjNiYTBkZjI5OWQyNWY4MmY2MzkyNTFmcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JmODQxZWNjMjNjNzQ1OTkwNzZhODFwLTEsCisgICAgMHgxLjA3ZTRjZWY0Y2JkOTZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjAKKyAgICAweDEuNmEwOWU2NjdmM2JhMGRmMjk5ZDI1ZjgyZjYzOTI1MWZwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmY4NDFlY2MyM2M3NDU5OTA3NmE4MXAtMSwKKyAgICAtMHgxLjA3ZTRjZWY0Y2JkOTZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjEKKyAgICAtMHgxLjZhMDllNjY3ZjNiYjc3ZmM4MDNhNTM0MWM1NTJmZTBmcC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JlMWExNGU1YmJkMzhhZDYwZmRkN2JwLTEsCisgICAgMHgxLjA3ZTRjZWY0Y2JkOTdwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAweDEuNmEwOWU2NjdmM2JiNzdmYzgwM2E1MzQxYzU1MmZlMGZwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmUxYTE0ZTViYmQzOGFkNjBmZGQ3YnAtMSwKKyAgICAtMHgxLjA3ZTRjZWY0Y2JkOTdwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2UyMDY2NmEyNDZmZjJhNjJmMDk3cC0xLAorICAgIC0weDEuNmEwOWU2NjdmM2JjYjAwYWZmNTNkZmNlYTkwZTZhMGNwLTEsCisgICAgMHgxLjA3ZTRjZWY0Y2JkOThwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAweDEuNmEwOWU2NjdmM2JjZTIwNjY2YTI0NmZmMmE2MmYwOTdwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNiMDBhZmY1M2RmY2VhOTBlNmEwY3AtMSwKKyAgICAtMHgxLjA3ZTRjZWY0Y2JkOThwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDI1MzFhNDNkcC0xLAorICAgIC0weDEuYjA4OGU5MGM3N2ZkMTJlYTc5Zjk4NjMxZTZmMGI3NGJwLTQ4LAorICAgIDB4MS4xNDc1Y2M5ZWVkZWZmcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDI1MzFhNDNkcC0xLAorICAgIC0weDEuYjA4OGU5MGM3N2ZkMTJlYTc5Zjk4NjMxZTZmMGI3NGJwLTQ4LAorICAgIC0weDEuMTQ3NWNjOWVlZGVmZnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY0Mzc2NTZwLTEsCisgICAgLTB4MS42MTExZDIxOGVmZmEyNWQ0ZjNmMzBjNjU0ZDdjMzZhMXAtNDksCisgICAgMHgxLjE0NzVjYzllZWRmcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NDM3NjU2cC0xLAorICAgIC0weDEuNjExMWQyMThlZmZhMjVkNGYzZjMwYzY1NGQ3YzM2YTFwLTQ5LAorICAgIC0weDEuMTQ3NWNjOWVlZGZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NTU0ODZmcC0xLAorICAgIDB4MS4zZGRjNWJjZTIwMGJiNDU2MTgxOWU3MzUyN2Y1YTZkN3AtNTAsCisgICAgMHgxLjE0NzVjYzllZWRmMDFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTc1NTQ4NmZwLTEsCisgICAgMHgxLjNkZGM1YmNlMjAwYmI0NTYxODE5ZTczNTI3ZjVhNmQ3cC01MCwKKyAgICAtMHgxLjE0NzVjYzllZWRmMDFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzEKKyAgICAtMHgxLjZhMDllNjY3ZjNiZWQ1NTc0MTFmNGU0YzExNGQ3MzU3cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmFiY2JhMjRkNmQ4N2VjYzhmODNiNHAtMSwKKyAgICAweDEuMjEwNmNhNDkxMDA2OHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc3MgorICAgIDB4MS42YTA5ZTY2N2YzYmVkNTU3NDExZjRlNGMxMTRkNzM1N3AtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JhYmNiYTI0ZDZkODdlY2M4ZjgzYjRwLTEsCisgICAgLTB4MS4yMTA2Y2E0OTEwMDY4cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ2YjRkNWFiNzVhOTA5ZjhlNWI0Y3AtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjMjZjNDBiM2VjYzNjZWNlMWQxYTBwLTEsCisgICAgMHgxLjIxMDZjYTQ5MTAwNjlwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAweDEuNmEwOWU2NjdmM2JkNmI0ZDVhYjc1YTkwOWY4ZTViNGNwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYzI2YzQwYjNlY2MzY2VjZTFkMWEwcC0xLAorICAgIC0weDEuMjEwNmNhNDkxMDA2OXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIC0weDEuNmEwOWU2NjdmM2JjMDE0Mzc0NGY2NmQzYzNjNTVjZDlwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiZDkwY2RmMWE2YmZmOWEzMmEzOTIzcC0xLAorICAgIDB4MS4yMTA2Y2E0OTEwMDZhcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgMHgxLjZhMDllNjY3ZjNiYzAxNDM3NDRmNjZkM2MzYzU1Y2Q5cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmQ5MGNkZjFhNmJmZjlhMzJhMzkyM3AtMSwKKyAgICAtMHgxLjIxMDZjYTQ5MTAwNmFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzA1Y2VjMTIwcC00OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YTJwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAweDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3MDVjZWMxMjBwLTQ4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU4YjI3YjZhMnAtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTgzNjJiOTY4cC01MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjUwYzliZDRwLTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAweDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODM2MmI5NjhwLTUxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkNHAtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDJwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxMzNkMTBhYmVwLTQ5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZWYxODEwN3AtMSwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc4MgorICAgIC0weDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxMzNkMTBhYmVwLTQ5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZWYxODEwN3AtMSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuNmEwOWU2NjdmM2JhMDE3N2M5NzM1ZGJiNzJmMDlmNjVwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiZjkwOTk5YzgyYzkwY2ViYWY5ZjNmcC0xLAorICAgIDB4MS4zYTI4YzU5ZDU0MzM5cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzg0CisgICAgLTB4MS42YTA5ZTY2N2YzYmEwMTc3Yzk3MzVkYmI3MmYwOWY2NXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JmOTA5OTljODJjOTBjZWJhZjlmM2ZwLTEsCisgICAgLTB4MS4zYTI4YzU5ZDU0MzM5cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgMHgxLjZhMDllNjY3ZjNiYjZiODFhZmRiNTE3YTRlODU0OGI0cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmUyNjhmYjYxYWQ1NTIzNTMyZTI5OHAtMSwKKyAgICAweDEuM2EyOGM1OWQ1NDMzYXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIC0weDEuNmEwOWU2NjdmM2JiNmI4MWFmZGI1MTdhNGU4NTQ4YjRwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiZTI2OGZiNjFhZDU1MjM1MzJlMjk4cC0xLAorICAgIC0weDEuM2EyOGM1OWQ1NDMzYXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIDB4MS42YTA5ZTY2N2YzYmNkNThiOTY0MzQ1MzdjMDEwMGI5YnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYmM4NWNmYjJlMTk2MTRhYzNmODhwLTEsCisgICAgMHgxLjNhMjhjNTlkNTQzM2JwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODgKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2Q1OGI5NjQzNDUzN2MwMTAwYjlicC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNiYzg1Y2ZiMmUxOTYxNGFjM2Y4OHAtMSwKKyAgICAtMHgxLjNhMjhjNTlkNTQzM2JwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDcxMWY0MzdwLTEsCisgICAgMHgxLmI5NWJmYzI2MDIyYjE2NWFlZDNlMmEzYjEyMzgyNDc5cC00OCwKKyAgICAweDEuNDZiOWMzNDc3NjRhMnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDcxMWY0MzdwLTEsCisgICAgMHgxLmI5NWJmYzI2MDIyYjE2NWFlZDNlMmEzYjEyMzgyNDc5cC00OCwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzljOWVjODNwLTEsCisgICAgMHgxLjcyYjdmODRjMDQ1NjJjYjVkYTdjNTQ3N2I5NTdhZGVicC00OSwKKyAgICAweDEuNDZiOWMzNDc3NjRhM3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzljOWVjODNwLTEsCisgICAgMHgxLjcyYjdmODRjMDQ1NjJjYjVkYTdjNTQ3N2I5NTdhZGVicC00OSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTNwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4MWU0Y2ZwLTEsCisgICAgLTB4MS4xYTkwMGY2N2Y3NTNhNjk0NGIwNzU3MTA0OGYxY2FkMnAtNTAsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTRwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODFlNGNmcC0xLAorICAgIC0weDEuMWE5MDBmNjdmNzUzYTY5NDRiMDc1NzEwNDhmMWNhZDJwLTUwLAorICAgIC0weDEuNDZiOWMzNDc3NjRhNHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIDB4MS42YTA5ZTY2N2YzYmVlMWQyMTE3ZTUwMTM2OWZiZmZlZnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiYWIwM2Y1NDc3ZDZiNzRmNGQ1NWQ1cC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBicDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzk2CisgICAgLTB4MS42YTA5ZTY2N2YzYmVlMWQyMTE3ZTUwMTM2OWZiZmZlZnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiYWIwM2Y1NDc3ZDZiNzRmNGQ1NWQ1cC0xLAorICAgIC0weDEuNTM0YWMwZjE5ODYwYnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5NworICAgIDB4MS42YTA5ZTY2N2YzYmQ3N2M4MmIxNjVjNTgwNGI3Yjg0M3AtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzFhNDkzYWRmY2E3NTdjMWE3NDFmcC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBjcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzk4CisgICAgLTB4MS42YTA5ZTY2N2YzYmQ3N2M4MmIxNjVjNTgwNGI3Yjg0M3AtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiYzFhNDkzYWRmY2E3NTdjMWE3NDFmcC0xLAorICAgIC0weDEuNTM0YWMwZjE5ODYwY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc5OQorICAgIDB4MS42YTA5ZTY2N2YzYmMwZGJlNDRhZTY4OWIzNTY5OGEyZnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiZDg0NTMyMTQ3YmUzMjNlZGRhYzAxcC0xLAorICAgIDB4MS41MzRhYzBmMTk4NjBkcDQsCisgIH0sCisgIHsgLy8gRW50cnkgODAwCisgICAgLTB4MS42YTA5ZTY2N2YzYmMwZGJlNDRhZTY4OWIzNTY5OGEyZnAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiZDg0NTMyMTQ3YmUzMjNlZGRhYzAxcC0xLAorICAgIC0weDEuNTM0YWMwZjE5ODYwZHA0LAorICB9LAorICB7IC8vIEVudHJ5IDgwMQorICAgIDB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDAzNzU0NjRkZXAtNDgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NThkM2E3Y3AtMSwKKyAgICAweDEuNWZkYmJlOWJiYTc3NHA0LAorICB9LAorICB7IC8vIEVudHJ5IDgwMgorICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwMzc1NDY0ZGVwLTQ4LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNzU4ZDNhN2NwLTEsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc0cDQsCisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgMHgxLmVlMmMyZDk2M2ExMGMwOTkzNzAzZTIwNDQyYWQ3YjhkcC01MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTg0NWUxcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDQsCisgIH0sCisgIHsgLy8gRW50cnkgODA0CisgICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0MmFkN2I4ZHAtNTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTE4NDVlMXAtMSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzVwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAtMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZWM4ZGQxNzVicC00OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjYTM1MTQ3cC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc2cDQsCisgIH0sCisgIHsgLy8gRW50cnkgODA2CisgICAgMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZWM4ZGQxNzVicC00OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjYTM1MTQ3cC0xLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnA0LAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIC0weDEuNmEwOWU2NjdmM2I5ZjRmY2Y5MTQ1YmYzZWYzOWY5MDFwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmY5ZDE0NmNlMWNhZDQzZGU5YjM1MnAtMSwKKyAgICAweDEuNmM2Y2JjNDVkYzhkY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDgwOAorICAgIDB4MS42YTA5ZTY2N2YzYjlmNGZjZjkxNDViZjNlZjM5ZjkwMXAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiZjlkMTQ2Y2UxY2FkNDNkZTliMzUycC0xLAorICAgIC0weDEuNmM2Y2JjNDVkYzhkY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDgwOQorICAgIC0weDEuNmEwOWU2NjdmM2JiNWYwNmRmN2M0ZmIyZDc0OTcyYWVwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmUzMzBhODY3OWQ3MTk5M2U3YzcwOXAtMSwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZHA0LAorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIDB4MS42YTA5ZTY2N2YzYmI1ZjA2ZGY3YzRmYjJkNzQ5NzJhZXAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiZTMzMGE4Njc5ZDcxOTkzZTdjNzA5cC0xLAorICAgIC0weDEuNmM2Y2JjNDVkYzhkZHA0LAorICB9LAorICB7IC8vIEVudHJ5IDgxMQorICAgIC0weDEuNmEwOWU2NjdmM2JjYzkxMGM1ZTQ0MzcwNTU0ZjA1ZjRwLTEsCisgICAgLTB4MS42YTA5ZTY2N2YzYmNjOTAwYTAxMWUzNWQ3ZmRiZjQ1OXAtMSwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZXA0LAorICB9LAorICB7IC8vIEVudHJ5IDgxMgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTEwYzVlNDQzNzA1NTRmMDVmNHAtMSwKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2M5MDBhMDExZTM1ZDdmZGJmNDU5cC0xLAorICAgIC0weDEuNmM2Y2JjNDVkYzhkZXA0LAorICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZTg1Njg1YmRwLTEsCisgICAgLTB4MS5jMjJmMGYzZjhjNTkxOWNiNjA4MmNlNDQzY2Y5NTAyMnAtNDgsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDVwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZTg1Njg1YmRwLTEsCisgICAgLTB4MS5jMjJmMGYzZjhjNTkxOWNiNjA4MmNlNDQzY2Y5NTAyMnAtNDgsCisgICAgLTB4MS43OGZkYjllZmZlYTQ1cDQsCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2I0YTQzZHAtMSwKKyAgICAtMHgxLjg0NWUxZTdmMThiMjMzOTZjMTA1OWM4YTI0YzI2MDljcC00OSwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NnA0LAorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2I0YTQzZHAtMSwKKyAgICAtMHgxLjg0NWUxZTdmMThiMjMzOTZjMTA1OWM4YTI0YzI2MDljcC00OSwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTJjMmJjcC0xLAorICAgIDB4MS5lZTg3ODYwMzlkMzczMWE0ZmJlOThkZDZkMzJmZjYyYXAtNTEsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDdwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjExMmMyYmNwLTEsCisgICAgMHgxLmVlODc4NjAzOWQzNzMxYTRmYmU5OGRkNmQzMmZmNjJhcC01MSwKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAtMHgxLjZhMDllNjY3ZjNiZWVlNGNlMWRkNTFkYWMyM2M2YmRjcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmFhM2M0ODQxOGQ0ZWZkMTlkMDc0YXAtMSwKKyAgICAweDEuODU4ZWI3OWEyMGJhZXA0LAorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS42YTA5ZTY2N2YzYmVlZTRjZTFkZDUxZGFjMjNjNmJkY3AtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JhYTNjNDg0MThkNGVmZDE5ZDA3NGFwLTEsCisgICAgLTB4MS44NThlYjc5YTIwYmFlcDQsCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgLTB4MS42YTA5ZTY2N2YzYmQ4NDQyZmI3NTVlMWY2OTcyZjQ4ZnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjMGRjZTZhODBjOGFlMGFlNGY1ZjNwLTEsCisgICAgMHgxLjg1OGViNzlhMjBiYWZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAweDEuNmEwOWU2NjdmM2JkODQ0MmZiNzU1ZTFmNjk3MmY0OGZwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYzBkY2U2YTgwYzhhZTBhZTRmNWYzcC0xLAorICAgIC0weDEuODU4ZWI3OWEyMGJhZnA0LAorICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIC0weDEuNmEwOWU2NjdmM2JjMWEzOTE1MGQ2YTYyYTY5Zjk2ZGFwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiZDc3ZDg1MGU4YmM2YWRhMjJmZTM0cC0xLAorICAgIDB4MS44NThlYjc5YTIwYmIwcDQsCisgIH0sCisgIHsgLy8gRW50cnkgODI0CisgICAgMHgxLjZhMDllNjY3ZjNiYzFhMzkxNTBkNmE2MmE2OWY5NmRhcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmQ3N2Q4NTBlOGJjNmFkYTIyZmUzNHAtMSwKKyAgICAtMHgxLjg1OGViNzlhMjBiYjBwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAweDEuZmE3Mjk5YjE3NTczZDM3M2M2MTUwOTY1NzJhMGRlMDRwLTEsCisgICAgLTB4MS4yY2NhZjY0MWQ0MjYxZWEzY2NkOGQyYTEwMmRjMzA2NnAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAtMHgxLmZhNzI5OWIxNzU3M2QzNzNjNjE1MDk2NTcyYTBkZTA0cC0xLAorICAgIC0weDEuMmNjYWY2NDFkNDI2MWVhM2NjZDhkMmExMDJkYzMwNjZwLTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyLAorICB9LAorICB7IC8vIEVudHJ5IDgyNworICAgIDB4MS5mZmY2ZGZkNDJkYzU0NDMwYmMwNTc2YjAwYTg4YmQ5NHAtMSwKKyAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCisgICAgMHgxLjBwNjMsCisgIH0sCisgIHsgLy8gRW50cnkgODI4CisgICAgLTB4MS5mZmY2ZGZkNDJkYzU0NDMwYmMwNTc2YjAwYTg4YmQ5NHAtMSwKKyAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCisgICAgLTB4MS4wcDYzLAorICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIDB4MS5lNDU2YjgxOGU3Mzk2YjQ1OTg5OTc4ZDRiN2ViZjdiM3AtMSwKKyAgICAweDEuNGMwNjIyYTZlMzVkZGVmZDVmMmI3NzAwNzE2YTU4MWZwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMsCisgIH0sCisgIHsgLy8gRW50cnkgODMwCisgICAgLTB4MS5lNDU2YjgxOGU3Mzk2YjQ1OTg5OTc4ZDRiN2ViZjdiM3AtMSwKKyAgICAweDEuNGMwNjIyYTZlMzVkZGVmZDVmMmI3NzAwNzE2YTU4MWZwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzLAorICB9LAorICB7IC8vIEVudHJ5IDgzMQorICAgIC0weDEuODZkY2NhMGQ2ODllN2I1NmVmNzk0ODFiZTRhNjQ1YzZwLTEsCisgICAgMHgxLjRhYjY1MGI4YzYwNzM0Mzg1Mzc1ZTIyNjAzZmNkYjEwcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI2LAorICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIDB4MS44NmRjY2EwZDY4OWU3YjU2ZWY3OTQ4MWJlNGE2NDVjNnAtMSwKKyAgICAweDEuNGFiNjUwYjhjNjA3MzQzODUzNzVlMjI2MDNmY2RiMTBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI2LAorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIC0weDEuODZkY2M5YmFiYjBhNDBlZTg3NWNhYjNiOWU4OTI3NTdwLTEsCisgICAgMHgxLjRhYjY1MTFhN2QzOWFkM2NjODhkZWQxZTc3NWNhMTQ3cC0xLAorICAgIDB4MS4wcDI3LAorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIDB4MS44NmRjYzliYWJiMGE0MGVlODc1Y2FiM2I5ZTg5Mjc1N3AtMSwKKyAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCisgICAgLTB4MS4wcDI3LAorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIC0weDEuODZkY2M5MTU1ZmUxODJkNDUxNTU5OTQyNmJiMTRiOTRwLTEsCisgICAgMHgxLjRhYjY1MWRkZWI5ZTYxNDM4MzgyZjAyMTY3YWRlNGFmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI3LAorICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIDB4MS44NmRjYzkxNTVmZTE4MmQ0NTE1NTk5NDI2YmIxNGI5NHAtMSwKKyAgICAweDEuNGFiNjUxZGRlYjllNjE0MzgzODJmMDIxNjdhZGU0YWZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI3LAorICB9LAorICB7IC8vIEVudHJ5IDgzNworICAgIC0weDEuOGYyMmY4NGQ0MmRhMWY1NzQ2OWRmYWFjNDRhOGI3M2FwLTEsCisgICAgMHgxLjQwYWQ2N2U3NzdiMWRmMDE5NTE4OWY1MGE4YzI2MzQ1cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIzLAorICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIDB4MS44ZjIyZjg0ZDQyZGExZjU3NDY5ZGZhYWM0NGE4YjczYXAtMSwKKyAgICAweDEuNDBhZDY3ZTc3N2IxZGYwMTk1MTg5ZjUwYThjMjYzNDVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIzLAorICB9LAorICB7IC8vIEVudHJ5IDgzOQorICAgIC0weDEuOGYyMmY4NDMzZDZlZGZlOWE0YWZmOTYyMjUxN2NhYTlwLTEsCisgICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAorICAgIDB4MS4wcDI0LAorICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIDB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKKyAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCisgICAgLTB4MS4wcDI0LAorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIC0weDEuOGYyMmY4MmYzMjk4NWZlMzA2OTljNmUxMmQ5ZGZjZTJwLTEsCisgICAgMHgxLjQwYWQ2ODBjZTJmOTI0ZDcxNjc2OWQxMDY0YmM4ZGVmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI0LAorICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIDB4MS44ZjIyZjgyZjMyOTg1ZmUzMDY5OWM2ZTEyZDlkZmNlMnAtMSwKKyAgICAweDEuNDBhZDY4MGNlMmY5MjRkNzE2NzY5ZDEwNjRiYzhkZWZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI0LAorICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIC0weDEuODM3YjlkZGRjMWVhYmQzNzlkNzI5ZjU3NWZjMTE0NGNwLTEsCisgICAgLTB4MS40ZWFhNjA2ZGIyNGMzY2I1ZTE1ZDdiMTlkNWVlNzNhMXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxLAorICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIDB4MS44MzdiOWRkZGMxZWFiZDM3OWQ3MjlmNTc1ZmMxMTQ0Y3AtMSwKKyAgICAtMHgxLjRlYWE2MDZkYjI0YzNjYjVlMTVkN2IxOWQ1ZWU3M2ExcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxLAorICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIC0weDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCisgICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKKyAgICAweDEuMHAyLAorICB9LAorICB7IC8vIEVudHJ5IDg0NgorICAgIDB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKKyAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAorICAgIC0weDEuMHAyLAorICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIC0weDEuODM3YjlkZGRjMWViM2FiNzgxOWJjMjMzZGI0Njk3YjVwLTEsCisgICAgLTB4MS40ZWFhNjA2ZGIyNGJhYjY3ODYyYTUyNjFiNzcxOWRjZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyLAorICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIDB4MS44MzdiOWRkZGMxZWIzYWI3ODE5YmMyMzNkYjQ2OTdiNXAtMSwKKyAgICAtMHgxLjRlYWE2MDZkYjI0YmFiNjc4NjJhNTI2MWI3NzE5ZGNmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyLAorICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIDB4MS5kMThmNmVhZDFiNDQ2YjRiY2I3M2MyMzkwYjMzMGQ3NXAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDEwMTE0NTIzMDk1MmU2MWM2ZjJjcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgLTB4MS5kMThmNmVhZDFiNDQ2YjRiY2I3M2MyMzkwYjMzMGQ3NXAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDEwMTE0NTIzMDk1MmU2MWM2ZjJjcC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAorICB9LAorICB7IC8vIEVudHJ5IDg1MQorICAgIDB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAorICAgIDB4MS4wcDEsCisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgLTB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAorICAgIC0weDEuMHAxLAorICB9LAorICB7IC8vIEVudHJ5IDg1MworICAgIDB4MS5kMThmNmVhZDFiNDQ0MzU4OTFmMGM1MGUwMTgyNjk4OHAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMGJlYTcwZWEzZjM4Yzg2ZGI0MGFmcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgLTB4MS5kMThmNmVhZDFiNDQ0MzU4OTFmMGM1MGUwMTgyNjk4OHAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMGJlYTcwZWEzZjM4Yzg2ZGI0MGFmcC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAorICB9LAorICB7IC8vIEVudHJ5IDg1NQorICAgIDB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKKyAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgLTB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKKyAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDg1NworICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKKyAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCisgICAgMHgxLjBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAorICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKKyAgICAtMHgxLjBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTkKKyAgICAweDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgLTB4MS5hZWQ1NDhmMDkwY2VmMThiYjVlMzg3MWExNGQ5NDYwOXAtMSwKKyAgICAweDEuMTRhMjgwZmI1MDY4OWUzNjJmZmRkMjIxZTI1NTEwMzVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCisgIH0sCisgIHsgLy8gRW50cnkgODYxCisgICAgMHgxLmVhZWU4NzQ0YjA1ZWYwN2NkMGI5MDg5MTMwNTk4MzE0cC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmZGIxNThjOWM0YTZiM2U0Yjc0MHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICAtMHgxLmVhZWU4NzQ0YjA1ZWYwN2NkMGI5MDg5MTMwNTk4MzE0cC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmZGIxNThjOWM0YTZiM2U0Yjc0MHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKKyAgICAweDEuMHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAtMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKKyAgICAtMHgxLjBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgMHgxLmVhZWU4NzQ0YjA1ZjFhOWM4Y2MyOTFjZDI3OTgxMDUxcC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmMjJmYzE5ZTI4ODQ3OWMzNmIyN3AtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjYKKyAgICAtMHgxLmVhZWU4NzQ0YjA1ZjFhOWM4Y2MyOTFjZDI3OTgxMDUxcC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmMjJmYzE5ZTI4ODQ3OWMzNmIyN3AtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODY3CisgICAgMHgxLmZhYWVlZDRmMzE1NzVjMjdmMzljMWQ3YzAxMmE0NDEzcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExODRjNWYxZDIxMGI2YWRiZTU2Y3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjgKKyAgICAtMHgxLmZhYWVlZDRmMzE1NzVjMjdmMzljMWQ3YzAxMmE0NDEzcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExODRjNWYxZDIxMGI2YWRiZTU2Y3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODY5CisgICAgMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKKyAgICAweDEuMHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzAKKyAgICAtMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKKyAgICAtMHgxLjBwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgODcxCisgICAgMHgxLmZhYWVlZDRmMzE1NzhhYTlmMjhiNWE2MWYzNGRjY2IxcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExNTU0NThiOTJhNDE2N2FlYzdmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzIKKyAgICAtMHgxLmZhYWVlZDRmMzE1NzhhYTlmMjhiNWE2MWYzNGRjY2IxcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExNTU0NThiOTJhNDE2N2FlYzdmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgODczCisgICAgMHgxLmZlYWFlZWU4NmVlMzRjYzA1ZWZmMjg3NDBlZTdiNDY5cC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNzFhMTIzMjAyNDljYTRkYWZkN3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICAtMHgxLmZlYWFlZWU4NmVlMzRjYzA1ZWZmMjg3NDBlZTdiNDY5cC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNzFhMTIzMjAyNDljYTRkYWZkN3AtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgODc1CisgICAgMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKKyAgICAweDEuMHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzYKKyAgICAtMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKKyAgICAtMHgxLjBwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgMHgxLmZlYWFlZWU4NmVlMzdjNjA3ZWZhZTQ3ZGNjMDkyYzFjcC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNjVhOTIxODZiMjAzNTA3ZjlhZHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAtMHgxLmZlYWFlZWU4NmVlMzdjNjA3ZWZhZTQ3ZGNjMDkyYzFjcC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNjVhOTIxODZiMjAzNTA3ZjlhZHAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODc5CisgICAgMHgxLmZmYWFhZWVlZDRlZDliNTNhNDA4YzBmMmJjMDJjOGY5cC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGRhMGI3NDVkYzc0MzMxNDVlZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODAKKyAgICAtMHgxLmZmYWFhZWVlZDRlZDliNTNhNDA4YzBmMmJjMDJjOGY5cC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGRhMGI3NDVkYzc0MzMxNDVlZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgODgxCisgICAgMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKKyAgICAweDEuMHAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODIKKyAgICAtMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKKyAgICAtMHgxLjBwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgODgzCisgICAgMHgxLmZmYWFhZWVlZDRlZGNiM2JhNjA4YWZlMWY4ZjRmYTZicC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGFhMTM3M2Y3NjM0Y2U4NzczN3AtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAtMHgxLmZmYWFhZWVlZDRlZGNiM2JhNjA4YWZlMWY4ZjRmYTZicC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGFhMTM3M2Y3NjM0Y2U4NzczN3AtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgODg1CisgICAgMHgxLmZmZWFhYWVlZWU4NmQ4Y2NmZTM2OGNkOTVlMzhmMDAzcC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjE2YWViMDlmYjcwNjM2YTEwYXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODYKKyAgICAtMHgxLmZmZWFhYWVlZWU4NmQ4Y2NmZTM2OGNkOTVlMzhmMDAzcC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjE2YWViMDlmYjcwNjM2YTEwYXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgODg3CisgICAgMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKKyAgICAweDEuMHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICAtMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKKyAgICAtMHgxLjBwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgMHgxLmZmZWFhYWVlZWU4NzA4YzZmZTU2OGM5NTFhNDI4MDY5cC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjBhYWYzMDllMWQ2ZjBjZmM0ZXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAtMHgxLmZmZWFhYWVlZWU4NzA4YzZmZTU2OGM5NTFhNDI4MDY5cC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjBhYWYzMDllMWQ2ZjBjZmM0ZXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgODkxCisgICAgMHgxLmZmZmFhYWFlZWVlZDNlZDVjOWM1YWI2NTM4ZjljY2UwcC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEzOGEyNTYzZWYzNDRjM2ZmNHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTIKKyAgICAtMHgxLmZmZmFhYWFlZWVlZDNlZDVjOWM1YWI2NTM4ZjljY2UwcC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEzOGEyNTYzZWYzNDRjM2ZmNHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTcsCisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKKyAgICAweDEuMHAtNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAtMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKKyAgICAtMHgxLjBwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgMHgxLmZmZmFhYWFlZWVlZDZlZDQ0OWM3YWI2NDI3ZThmZGQ0cC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEwOGEyZDYzZThjZGU4M2RiNXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAtMHgxLmZmZmFhYWFlZWVlZDZlZDQ0OWM3YWI2NDI3ZThmZGQ0cC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEwOGEyZDYzZThjZGU4M2RiNXAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgODk3CisgICAgMHgxLmZmZmZmZmZhYWFhYTlhYWVlZWVmNmVlZDRlZDQ0MmE0cC0xNSwKKyAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTY1NTQ5ZjQ5YzlmNGRwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1LAorICB9LAorICB7IC8vIEVudHJ5IDg5OAorICAgIC0weDEuZmZmZmZmZmFhYWFhOWFhZWVlZWY2ZWVkNGVkNDQyYTRwLTE1LAorICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1NjU1NDlmNDljOWY0ZHAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTE1LAorICB9LAorICB7IC8vIEVudHJ5IDg5OQorICAgIDB4MS5mZmZmZmZmYWFhYWFhYWFlZWVlZWVlZWQ0ZWQ0ZWQ0ZnAtMTUsCisgICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU1NTU0OWY0OWY0OWY3cC0xLAorICAgIDB4MS4wcC0xNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDAKKyAgICAtMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKKyAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCisgICAgLTB4MS4wcC0xNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDEKKyAgICAweDEuZmZmZmZmZmFhYWFhY2FhZWVlZWRlZWVkNGVkNjQyYTRwLTE1LAorICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1MzU1NDlmNGE0OWY0ZHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTQsCisgIH0sCisgIHsgLy8gRW50cnkgOTAyCisgICAgLTB4MS5mZmZmZmZmYWFhYWFjYWFlZWVlZGVlZWQ0ZWQ2NDJhNHAtMTUsCisgICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTUzNTU0OWY0YTQ5ZjRkcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTQsCisgIH0sCisgIHsgLy8gRW50cnkgOTAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmVlYWFhYWFhYWFhYWFhY2FlZWVlcC0yOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDA0MTU1NTVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI4LAorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWVhYWFhYWFhYWFhYWFjYWVlZWVwLTI4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDQxNTU1NXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTI4LAorICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFhZWVlZXAtMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDE1NTU1cC0xLAorICAgIDB4MS4wcC0yNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCisgICAgLTB4MS4wcC0yNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDcKKyAgICAweDEuMDAwMDAwMDAwMDAwMGY1NTU1NTU1NTU1NTUzNTc3NzdwLTI3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZjgxNTU1NXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjcsCisgIH0sCisgIHsgLy8gRW50cnkgOTA4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZjU1NTU1NTU1NTU1NTM1Nzc3N3AtMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZiZmZmZmZmZmZmZmZmODE1NTU1cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjcsCisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmFhYWFhYWFhYWFhYWIyYWFlcC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMTAwMTVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxLAorICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmYWFhYWFhYWFhYWFhYjJhYWVwLTMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAxMDAxNXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMxLAorICB9LAorICB7IC8vIEVudHJ5IDkxMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFhZXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDE1cC0xLAorICAgIDB4MS4wcC0zMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCisgICAgLTB4MS4wcC0zMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZDU1NTU1NTU1NTU1NGQ1NTdwLTMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZlMDAxNXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzAsCisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZkNTU1NTU1NTU1NTU0ZDU1N3AtMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmUwMDE1cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMzAsCisgIH0sCisgIHsgLy8gRW50cnkgOTE1CisgICAgLTB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKKyAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIDB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKKyAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgIH0sCisgIHsgLy8gRW50cnkgOTE3CisgICAgMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAorICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTgKKyAgICAtMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAorICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAorICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjAKKyAgICAtMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAorICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCisgIH0sCisgIHsgLy8gRW50cnkgOTIxCisgICAgMHgxLmRhYTM2NzdjNmVlOGEyMmViNmM0YjEyY2ExMGNlMDIxcC0xLAorICAgIDB4MS43ZmZkZmI0YzUzMDhmNzc3Y2Y3NzRjNzMzYjI1NjY5NXAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIC0weDEuZGFhMzY3N2M2ZWU4YTIyZWI2YzRiMTJjYTEwY2UwMjFwLTEsCisgICAgMHgxLjdmZmRmYjRjNTMwOGY3NzdjZjc3NGM3MzNiMjU2Njk1cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDkyMworICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDM2ZTJlZHAtNTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNXAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgOTI1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAorICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAorICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgOTI3CisgICAgMHgxLmFlZDU0OGYwOTBjZWYxOGJiNWUzODcxYTE0ZDk0NjA5cC0xLAorICAgIDB4MS4xNGEyODBmYjUwNjg5ZTM2MmZmZGQyMjFlMjU1MTAzNXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAorICB9LAorICB7IC8vIEVudHJ5IDkyOAorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAorICB9LAorICB7IC8vIEVudHJ5IDkyOQorICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKKyAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCisgICAgMHgxLjBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAorICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKKyAgICAtMHgxLjBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzEKKyAgICAweDEuYWVkNTQ4ZjA5MGNlZDc5Yzc5Y2JmNzkwNDQxZjgxOTdwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA2OGM2OWEyZWQ0NWZiNTQ3YzJmMjcxcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDkzMgorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZDc5Yzc5Y2JmNzkwNDQxZjgxOTdwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA2OGM2OWEyZWQ0NWZiNTQ3YzJmMjcxcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzMKKyAgICAweDEuNmEwOWU2NjdmM2JjYzVlOWZlZTM1MmY1MGZkM2Y0ZTlwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NjMjc2NzEyZDNkOGM1NTAyMzg3cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDkzNAorICAgIC0weDEuNmEwOWU2NjdmM2JjYzVlOWZlZTM1MmY1MGZkM2Y0ZTlwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NjMjc2NzEyZDNkOGM1NTAyMzg3cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzUKKyAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyLAorICB9LAorICB7IC8vIEVudHJ5IDkzNgorICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDIyLAorICB9LAorICB7IC8vIEVudHJ5IDkzOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTAyMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDk0MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDEKKyAgICAweDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzLAorICB9LAorICB7IC8vIEVudHJ5IDk0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDczLAorICB9LAorICB7IC8vIEVudHJ5IDk0NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3MywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDUKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcC0xMDc0LAorICB9LAorICB7IC8vIEVudHJ5IDk0NgorICAgIC0wLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMHAtMTA3NCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDcKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIDAuMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDgKKyAgICAtMC4wLAorICAgIDB4MS5wMCwKKyAgICAtMC4wLAorICB9LAorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zaW5jb3NmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9zaW5jb3NmX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjFiNTM1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3NpbmNvc2ZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDYzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzJfMV90PGZsb2F0LCBmbG9hdCwgZmxvYXQ+IGdfc2luY29zZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEuYjZhN2FiZmZhZjU5YTVhYzE4MWUzZTFhYmY5NjE2OThwLTEsCisgICAgMHgxLjA4MGU3NGMxMTY4NjNjZmFiODJhMGZkNTljNzFiMzYzcC0xLAorICAgIC0weDEuMDc2OHAwLAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuYjZhN2FiZmZhZjU5YTVhYzE4MWUzZTFhYmY5NjE2OThwLTEsCisgICAgMHgxLjA4MGU3NGMxMTY4NjNjZmFiODJhMGZkNTljNzFiMzYzcC0xLAorICAgIDB4MS4wNzY4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS43NjJkYTY2NDhmZGUwMGUzOTg0NjJlNzE2MzA5NGQ1MnAtMiwKKyAgICAweDEuZGM5ODAyZmZmZmZmZTBjYmZjNTdlZjI4N2QzYzgzYWZwLTEsCisgICAgLTB4MS44ZjIxOWNwNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS43NjJkYTY2NDhmZGUwMGUzOTg0NjJlNzE2MzA5NGQ1MnAtMiwKKyAgICAweDEuZGM5ODAyZmZmZmZmZTBjYmZjNTdlZjI4N2QzYzgzYWZwLTEsCisgICAgMHgxLjhmMjE5Y3A1LAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjQ5M2I2YTdkM2Y1YjdiZjY2ZmEzMmEwMTUxNWQ2YzQzcC0xLAorICAgIC0weDEuODgxYzI2ZmQyNWQwYmY2ZDZlYTM4NzA4YTA5NzZiMzVwLTEsCisgICAgLTB4MS5kM2E1MWFwODAsCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS40OTNiNmE3ZDNmNWI3YmY2NmZhMzJhMDE1MTVkNmM0M3AtMSwKKyAgICAtMHgxLjg4MWMyNmZkMjVkMGJmNmQ2ZWEzODcwOGEwOTc2YjM1cC0xLAorICAgIDB4MS5kM2E1MWFwODAsCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuZTBkMWRjMDA2ZTg1ODM1YjAzOTRhYmU5N2RlNzdmYmNwLTQsCisgICAgMHgxLmZjNzVjYTYzMTNlZjc2NjAxMmRiM2NhOTlhMWE1MmQxcC0xLAorICAgIC0weDEuZTFlZTUycC00LAorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuZTBkMWRjMDA2ZTg1ODM1YjAzOTRhYmU5N2RlNzdmYmNwLTQsCisgICAgMHgxLmZjNzVjYTYzMTNlZjc2NjAxMmRiM2NhOTlhMWE1MmQxcC0xLAorICAgIDB4MS5lMWVlNTJwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuMmI2YTljYTNkZjYyMmVmZTJhYTMxNTRhNjM1MmJjNzBwLTEsCisgICAgLTB4MS45ZjUyZGVmNTVkODllOTJlN2RmMjBlYzIxMTYxZGViOHAtMSwKKyAgICAtMHgxLmYzZmZlMnAyNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjJiNmE5Y2EzZGY2MjJlZmUyYWEzMTU0YTYzNTJiYzcwcC0xLAorICAgIC0weDEuOWY1MmRlZjU1ZDg5ZTkyZTdkZjIwZWMyMTE2MWRlYjhwLTEsCisgICAgMHgxLmYzZmZlMnAyNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS5hMzQyMmFmMTNiMmNmYjc4ZDBjYzQ1OGQ5YWM2YmRlOXAtMSwKKyAgICAtMHgxLjI1ZTFhYTFkOTM4M2MxZjI3MDI3Y2Y2OWI2OTQ3N2ZkcC0xLAorICAgIC0weDEuZmYyMTFlcDI0LAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgLTB4MS5hMzQyMmFmMTNiMmNmYjc4ZDBjYzQ1OGQ5YWM2YmRlOXAtMSwKKyAgICAtMHgxLjI1ZTFhYTFkOTM4M2MxZjI3MDI3Y2Y2OWI2OTQ3N2ZkcC0xLAorICAgIDB4MS5mZjIxMWVwMjQsCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZmZmZmZmYWFhYWFhYWVlZWVlZWVkNGVkNGVkNTQ5YzZwLTEzLAorICAgIDB4MS5mZmZmZmYwMDAwMDAxNTU1NTU1NDlmNDlmNGEyOGEyOHAtMSwKKyAgICAweDEucC0xMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIC0weDEuZmZmZmZmYWFhYWFhYWVlZWVlZWVkNGVkNGVkNTQ5YzZwLTEzLAorICAgIDB4MS5mZmZmZmYwMDAwMDAxNTU1NTU1NDlmNDlmNGEyOGEyOHAtMSwKKyAgICAtMHgxLnAtMTIsCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMDAwMDAxZDU1NTU0NTc3Nzc1OGNiZmNhZmMwOWVmN2VwLTEyLAorICAgIDB4MS5mZmZmZmVmZmZmZmMxNTU1NTFmZjQ5ZjY5NmM0YWVjYXAtMSwKKyAgICAweDEuMDAwMDAycC0xMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIC0weDEuMDAwMDAxZDU1NTU0NTc3Nzc1OGNiZmNhZmMwOWVmN2VwLTEyLAorICAgIDB4MS5mZmZmZmVmZmZmZmMxNTU1NTFmZjQ5ZjY5NmM0YWVjYXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTIsCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmQ1NTU1NDU1NTU1MzU1NTVwLTMyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZlZmZmZmZiZmZmZmZjcC0xLAorICAgIDB4MS4wMDAwMDJwLTMyLAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZDU1NTU0NTU1NTUzNTU1NXAtMzIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmVmZmZmZmJmZmZmZmNwLTEsCisgICAgLTB4MS4wMDAwMDJwLTMyLAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLmVhZjBkNTAwOGYyZGI4OTllMjQ4N2RhOWQzYjljZGU3cC0yLAorICAgIDB4MS5jMTUxZGY0ZjEyYjE5N2E2NjVhMjkwN2U0OTMzYTFlZnAtMSwKKyAgICAweDEuMDAwMTUwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgLTB4MS5lYWYwZDUwMDhmMmRiODk5ZTI0ODdkYTlkM2I5Y2RlN3AtMiwKKyAgICAweDEuYzE1MWRmNGYxMmIxOTdhNjY1YTI5MDdlNDkzM2ExZWZwLTEsCisgICAgLTB4MS4wMDAxNTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuZWFmNzdlZmZmNjU5MDIxYmM4MjdiYmQ1Njk2YWQxOWVwLTIsCisgICAgMHgxLmMxNTAwZDQ5NGVkMmNjNTAwMmMyN2NjNWNhM2Q5NmY4cC0xLAorICAgIDB4MS4wMDA1MWNwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAtMHgxLmVhZjc3ZWZmZjY1OTAyMWJjODI3YmJkNTY5NmFkMTllcC0yLAorICAgIDB4MS5jMTUwMGQ0OTRlZDJjYzUwMDJjMjdjYzVjYTNkOTZmOHAtMSwKKyAgICAtMHgxLjAwMDUxY3AtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuNWFhNTNjMWMxMzE3ZjMwYjRjMTA4NzIyZTJiNjQ2MTJwLTEsCisgICAgMHgxLjc4Y2RiNmZmYTZiZmY4OTllMTcyM2VkMDEzOWM0OGNicC0xLAorICAgIDB4MS4wMDBmZGVwODAsCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuNWFhNTNjMWMxMzE3ZjMwYjRjMTA4NzIyZTJiNjQ2MTJwLTEsCisgICAgMHgxLjc4Y2RiNmZmYTZiZmY4OTllMTcyM2VkMDEzOWM0OGNicC0xLAorICAgIC0weDEuMDAwZmRlcDgwLAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLmFlZjM4ODIyZTY0MzExNDQ1NTQ1OTgwZmJjNWI1NmZhcC0xLAorICAgIDB4MS4xNDczNWZmZmQ1NTEyMGE0NDgwYjdjOTFhMWQ3OGQ2ZXAtMSwKKyAgICAweDEuMDAxY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgLTB4MS5hZWYzODgyMmU2NDMxMTQ0NTU0NTk4MGZiYzViNTZmYXAtMSwKKyAgICAweDEuMTQ3MzVmZmZkNTUxMjBhNDQ4MGI3YzkxYTFkNzhkNmVwLTEsCisgICAgLTB4MS4wMDFjcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLjdlMTJhZWUwYzg2MmIxNzA5YmQ1MDIwNWJiYTMyMTY3cC0xLAorICAgIC0weDEuNTRkNDI5MDAxMGE2ODgyNmE4ODJlN2M4N2Q2Njk0ZDJwLTEsCisgICAgMHgxLjAwMjdiOHA0MCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS43ZTEyYWVlMGM4NjJiMTcwOWJkNTAyMDViYmEzMjE2N3AtMSwKKyAgICAtMHgxLjU0ZDQyOTAwMTBhNjg4MjZhODgyZTdjODdkNjY5NGQycC0xLAorICAgIC0weDEuMDAyN2I4cDQwLAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS5iZDY5NDRlZjRkZDFiNDM5NjJlMmQzNDgwNDEwZmQ4N3AtMSwKKyAgICAweDEuZjhmYzhlZmZmNjdkODM0ZjY4NzhhYjRlNDRmYTg5YjVwLTIsCisgICAgMHgxLjAwNDg0MHA2OCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5iZDY5NDRlZjRkZDFiNDM5NjJlMmQzNDgwNDEwZmQ4N3AtMSwKKyAgICAweDEuZjhmYzhlZmZmNjdkODM0ZjY4NzhhYjRlNDRmYTg5YjVwLTIsCisgICAgLTB4MS4wMDQ4NDBwNjgsCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZjRlMjNlMDAxNjVhNDkwN2E2NTZhN2NmNTMyYmJkZTRwLTIsCisgICAgMHgxLmJlOTE2MDFlNDdiZWQ2ZDQ1ZTgzNzI2ODdiMzczYzBjcC0xLAorICAgIDB4MS4wNWIwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5mNGUyM2UwMDE2NWE0OTA3YTY1NmE3Y2Y1MzJiYmRlNHAtMiwKKyAgICAweDEuYmU5MTYwMWU0N2JlZDZkNDVlODM3MjY4N2IzNzNjMGNwLTEsCisgICAgLTB4MS4wNWIwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmI2YTdhYmZmYWY1OWE1YWMxODFlM2UxYWJmOTYxNjk4cC0xLAorICAgIDB4MS4wODBlNzRjMTE2ODYzY2ZhYjgyYTBmZDU5YzcxYjM2M3AtMSwKKyAgICAweDEuMDc2OHAwLAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgLTB4MS5iNmE3YWJmZmFmNTlhNWFjMTgxZTNlMWFiZjk2MTY5OHAtMSwKKyAgICAweDEuMDgwZTc0YzExNjg2M2NmYWI4MmEwZmQ1OWM3MWIzNjNwLTEsCisgICAgLTB4MS4wNzY4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuYmNiOGFhZmZmZmZkNjlkMjg2NWFhZjNmNGM1MDc0ZThwLTEsCisgICAgMHgxLmZiNjlhNmRjNTEzYmNiYTU5ZDVkYzY4ZDNkNTlhMDVjcC0yLAorICAgIDB4MS4wZDY3YTRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuYmNiOGFhZmZmZmZkNjlkMjg2NWFhZjNmNGM1MDc0ZThwLTEsCisgICAgMHgxLmZiNjlhNmRjNTEzYmNiYTU5ZDVkYzY4ZDNkNTlhMDVjcC0yLAorICAgIC0weDEuMGQ2N2E0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuYmY2ODNjZmZmZmVjNmU4NjcyYTQ5ZjA4YWFlNDljNDZwLTEsCisgICAgMHgxLmYxZTBmNjUzZDY5NTk3N2NjZDI0MGZmNmI5Mjk3MzkzcC0yLAorICAgIDB4MS4xMDI0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLmJmNjgzY2ZmZmZlYzZlODY3MmE0OWYwOGFhZTQ5YzQ2cC0xLAorICAgIDB4MS5mMWUwZjY1M2Q2OTU5NzdjY2QyNDBmZjZiOTI5NzM5M3AtMiwKKyAgICAtMHgxLjEwMjRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS44YjFlOGUxYzE2YThkOTcwYTc4YTIzOTFlZWE2NTc1Y3AtMSwKKyAgICAtMHgxLjQ1OWQ0NTAwMDAwMDkyYjRiODMwN2M2NTJlZTYzOWE3cC0xLAorICAgIDB4MS4yMTQ5N2VwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuOGIxZThlMWMxNmE4ZDk3MGE3OGEyMzkxZWVhNjU3NWNwLTEsCisgICAgLTB4MS40NTlkNDUwMDAwMDA5MmI0YjgzMDdjNjUyZWU2MzlhN3AtMSwKKyAgICAtMHgxLjIxNDk3ZXAxLAorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjY5OTFlMGZmZTdmOWM5YjNlZjdiMzAxN2QyMzYzOWZhcC0xLAorICAgIC0weDEuNmE4MWM0MTMzZGI3M2UyNzZjODllNzI0YzZmZTk3NWJwLTEsCisgICAgMHgxLjJkYzIzMHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS42OTkxZTBmZmU3ZjljOWIzZWY3YjMwMTdkMjM2MzlmYXAtMSwKKyAgICAtMHgxLjZhODFjNDEzM2RiNzNlMjc2Yzg5ZTcyNGM2ZmU5NzVicC0xLAorICAgIC0weDEuMmRjMjMwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuNDFmNmJkMDAwMGQxM2JhMmJkN2E2M2JmNmQ5NTA4NjVwLTEsCisgICAgLTB4MS44ZTE5N2ZlNGZhYzk5MDFkYzA3YTI4NzhiYWYxNWM3YXAtMSwKKyAgICAweDEuMzQ0MjQ4cDE4LAorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS40MWY2YmQwMDAwZDEzYmEyYmQ3YTYzYmY2ZDk1MDg2NXAtMSwKKyAgICAtMHgxLjhlMTk3ZmU0ZmFjOTkwMWRjMDdhMjg3OGJhZjE1YzdhcC0xLAorICAgIC0weDEuMzQ0MjQ4cDE4LAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjM3ZjhkZWZmZmZmZjYxY2ExNWMzNjZiM2FkZDhmMzczcC0xLAorICAgIC0weDEuOTVmYTIwZDIzMGZkZjllOGNjY2M1OTIxZTYxZjAzYWRwLTEsCisgICAgMHgxLjNlNDJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuMzdmOGRlZmZmZmZmNjFjYTE1YzM2NmIzYWRkOGYzNzNwLTEsCisgICAgLTB4MS45NWZhMjBkMjMwZmRmOWU4Y2NjYzU5MjFlNjFmMDNhZHAtMSwKKyAgICAtMHgxLjNlNDJwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS4yZWQ3Y2U1MThmNDY2MGNjZTQ5NTU2ODU2Nzg0OTcwY3AtMSwKKyAgICAweDEuOWNkNGYzMDAwMDAyMjY0YWYyYjMyZWJlNWQ4MjQzYzBwLTEsCisgICAgMHgxLjQ0MGMzYXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuMmVkN2NlNTE4ZjQ2NjBjY2U0OTU1Njg1Njc4NDk3MGNwLTEsCisgICAgMHgxLjljZDRmMzAwMDAwMjI2NGFmMmIzMmViZTVkODI0M2MwcC0xLAorICAgIC0weDEuNDQwYzNhcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjQ3NWZjOTM3NzUwYmRmMmY3MDQxNzc2MTJkMzFkYzFmcC0xLAorICAgIDB4MS44OWE5OTkwMDAwMTJjMDQ3ZTRiMjQxODFkNjE1ODY0MHAtMSwKKyAgICAweDEuNjMyZjZhcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS40NzVmYzkzNzc1MGJkZjJmNzA0MTc3NjEyZDMxZGMxZnAtMSwKKyAgICAweDEuODlhOTk5MDAwMDEyYzA0N2U0YjI0MTgxZDYxNTg2NDBwLTEsCisgICAgLTB4MS42MzJmNmFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLjhhY2UxY2ZjYzBhNzY2YjM1ZDBlOGY0OGYzMTY5ZThhcC0xLAorICAgIC0weDEuNDVmZWM5NWE0MDYxOTgxOWUzMzA3YWViZTBjYjVlODlwLTEsCisgICAgMHgxLjZlOGYxOHAyNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIDB4MS44YWNlMWNmY2MwYTc2NmIzNWQwZThmNDhmMzE2OWU4YXAtMSwKKyAgICAtMHgxLjQ1ZmVjOTVhNDA2MTk4MTllMzMwN2FlYmUwY2I1ZTg5cC0xLAorICAgIC0weDEuNmU4ZjE4cDI0LAorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLjdjNmI5MmZmMjRmZjAyOGVhMzVjNDU5ZTVlYmViMmNkcC0xLAorICAgIDB4MS41NmFjMmFlNTRjYzlhNTIxMGFlNjczZWExY2UzMWQ0N3AtMSwKKyAgICAweDEuNzk1ODQwcDIzLAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS43YzZiOTJmZjI0ZmYwMjhlYTM1YzQ1OWU1ZWJlYjJjZHAtMSwKKyAgICAweDEuNTZhYzJhZTU0Y2M5YTUyMTBhZTY3M2VhMWNlMzFkNDdwLTEsCisgICAgLTB4MS43OTU4NDBwMjMsCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuNjk3Y2Y0ZmZlYTkyNDRlODVjZWE2NDBkMTNjNmZiYjVwLTEsCisgICAgLTB4MS42YTk2YTEwNmFjZTIxNjEwYWI1MjljOTA0N2M3ZTZlMnAtMSwKKyAgICAweDEuN2ZlN2ZlcDM1LAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS42OTdjZjRmZmVhOTI0NGU4NWNlYTY0MGQxM2M2ZmJiNXAtMSwKKyAgICAtMHgxLjZhOTZhMTA2YWNlMjE2MTBhYjUyOWM5MDQ3YzdlNmUycC0xLAorICAgIC0weDEuN2ZlN2ZlcDM1LAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjljNmNmMmZmZmZmZTg1ODg1MTJlYTNjODA4YjBmYTlmcC0xLAorICAgIDB4MS4yZjY1NjBlMGYxNGNkNWQ2ODkyMGJlYzBlMGMyNTM1NHAtMSwKKyAgICAweDEuY2UxMDI2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLjljNmNmMmZmZmZmZTg1ODg1MTJlYTNjODA4YjBmYTlmcC0xLAorICAgIDB4MS4yZjY1NjBlMGYxNGNkNWQ2ODkyMGJlYzBlMGMyNTM1NHAtMSwKKyAgICAtMHgxLmNlMTAyNnAyLAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS4wN2ZhYzA0YzZlNzNmNDg1MDk2YmRhYTNlNjUwNDRkOXAtMSwKKyAgICAtMHgxLmI2YjM4N2ZmY2ViNjdhMThjMTVlODY4NTUwYjk2NDYycC0xLAorICAgIDB4MS5kNzc1ZDBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS4wN2ZhYzA0YzZlNzNmNDg1MDk2YmRhYTNlNjUwNDRkOXAtMSwKKyAgICAtMHgxLmI2YjM4N2ZmY2ViNjdhMThjMTVlODY4NTUwYjk2NDYycC0xLAorICAgIC0weDEuZDc3NWQwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuOWE4YzYyZjRiMmE5NDliMDY5MjQ2NjJkOTQzNmJmMTdwLTEsCisgICAgMHgxLjMxZWU3MDc0ZTNlYmM1YTMwZjAwOTJlYzZjNWQ4YjgwcC0xLAorICAgIDB4MS5kZmVhYWFwMTA4LAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS45YThjNjJmNGIyYTk0OWIwNjkyNDY2MmQ5NDM2YmYxN3AtMSwKKyAgICAweDEuMzFlZTcwNzRlM2ViYzVhMzBmMDA5MmVjNmM1ZDhiODBwLTEsCisgICAgLTB4MS5kZmVhYWFwMTA4LAorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmQ0ZGU4YWZmZmZmZmQ5NmY4M2JhNDQyZmRmMmY3MTAxcC0yLAorICAgIDB4MS5jNzJjZDRlMWQ2Yzc4NTQ3ZDMxNzA3YmU4MGI0YjBhZXAtMSwKKyAgICAweDEuZTcwNjFlcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDYzCisgICAgLTB4MS5kNGRlOGFmZmZmZmZkOTZmODNiYTQ0MmZkZjJmNzEwMXAtMiwKKyAgICAweDEuYzcyY2Q0ZTFkNmM3ODU0N2QzMTcwN2JlODBiNGIwYWVwLTEsCisgICAgLTB4MS5lNzA2MWVwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLjQ4MzQ0NWQ0MTk0ODEzMTY4YTFhYzYzZWVlMTk0M2Y5cC0xLAorICAgIDB4MS44OGY4ODJmY2JjODFmZmRmNzIwYTRiYjFiMmZjYTcxZHAtMSwKKyAgICAweDEuZTg5YjJhcDgwLAorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLjQ4MzQ0NWQ0MTk0ODEzMTY4YTFhYzYzZWVlMTk0M2Y5cC0xLAorICAgIDB4MS44OGY4ODJmY2JjODFmZmRmNzIwYTRiYjFiMmZjYTcxZHAtMSwKKyAgICAtMHgxLmU4OWIyYXA4MCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NgorICAgIDB4MS41NjVlNDEwMDE0OTE2ZmE2NTUwZTYwNmVkNTg4YzZiOHAtMSwKKyAgICAweDEuN2NiMWIzNGFmODU1ODliZGFmN2MwNzkzYWYzMGI2ODJwLTEsCisgICAgMHgxLmZlODI3MHAxOCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuNTY1ZTQxMDAxNDkxNmZhNjU1MGU2MDZlZDU4OGM2YjhwLTEsCisgICAgMHgxLjdjYjFiMzRhZjg1NTg5YmRhZjdjMDc5M2FmMzBiNjgycC0xLAorICAgIC0weDEuZmU4MjcwcDE4LAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgLTB4MS44MzU2ZmJhZWEwNDU0YmNlMzk4M2Q5YTBlMDI1MGM1NXAtMSwKKyAgICAtMHgxLjRlZDRjNWZmYzgwMTg3NDE4NzA5NDk3NjdmZjhkYWZhcC0xLAorICAgIDB4MS5mZmYxZmVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS44MzU2ZmJhZWEwNDU0YmNlMzk4M2Q5YTBlMDI1MGM1NXAtMSwKKyAgICAtMHgxLjRlZDRjNWZmYzgwMTg3NDE4NzA5NDk3NjdmZjhkYWZhcC0xLAorICAgIC0weDEuZmZmMWZlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuZmE5ZDZiZmIzM2E3N2IyZTNiMzI4OTE2OGNlZDZkY2FwLTEsCisgICAgLTB4MS4yODQwNmEwMDI1NTQ1YzlhNTY4ZGFjZDQ1NTE4ZGQ2NXAtMywKKyAgICAweDEuZmZmMWZlcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmZhOWQ2YmZiMzNhNzdiMmUzYjMyODkxNjhjZWQ2ZGNhcC0xLAorICAgIC0weDEuMjg0MDZhMDAyNTU0NWM5YTU2OGRhY2Q0NTUxOGRkNjVwLTMsCisgICAgLTB4MS5mZmYxZmVwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5kMThmNzZmZmM2ZTRiYTBhMzEzNGU1YmUyMWI1YmM4ZnAtMSwKKyAgICAtMHgxLmFhMjI0MTE2MDIyNzg5NmM2OGVmMTc4MzlmMTdkY2U1cC0yLAorICAgIDB4MS5mZmZmZjZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuZDE4Zjc2ZmZjNmU0YmEwYTMxMzRlNWJlMjFiNWJjOGZwLTEsCisgICAgLTB4MS5hYTIyNDExNjAyMjc4OTZjNjhlZjE3ODM5ZjE3ZGNlNXAtMiwKKyAgICAtMHgxLmZmZmZmNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmZmZmZmYWFhYWFiMmVlZWVkYzNkYzNmMWVlN2I0MWZlcC0xMiwKKyAgICAweDEuZmZmZmZjMDAwMDExNTU1NTNhN2QyN2Y0YTI4OWYzMTlwLTEsCisgICAgMHgxLmZmZmZmY3AtMTIsCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmZmZmZmYWFhYWFiMmVlZWVkYzNkYzNmMWVlN2I0MWZlcC0xMiwKKyAgICAweDEuZmZmZmZjMDAwMDExNTU1NTNhN2QyN2Y0YTI4OWYzMTlwLTEsCisgICAgLTB4MS5mZmZmZmNwLTEyLAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIDAuMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTE0OSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5LAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTI2LAorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwLTEyNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTEyNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xMjYsCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xMjYsCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xMjYsCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMnAtMTI2LAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTI2LAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjk5OTk5OWQ0NGYzMDU4Yzc4OTAxNGI3ZDBlMjJmZWMzcC0xMywKKyAgICAweDEuZmZmZmZmNWMyOGY1Nzk2MGNkNTZlYmZlOTQ4MmE2MWZwLTEsCisgICAgMHgxLjk5OTk5YXAtMTMsCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAtMHgxLjk5OTk5OWQ0NGYzMDU4Yzc4OTAxNGI3ZDBlMjJmZWMzcC0xMywKKyAgICAweDEuZmZmZmZmNWMyOGY1Nzk2MGNkNTZlYmZlOTQ4MmE2MWZwLTEsCisgICAgLTB4MS45OTk5OWFwLTEzLAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjk5OTk5OTUxM2NjMTczZTUxYmI5OTU1YjA2NmYxZGI4cC0xMiwKKyAgICAweDEuZmZmZmZkNzBhM2Q2NGU1ZWMxNjVjZDQzMDdhZDEzMjZwLTEsCisgICAgMHgxLjk5OTk5YXAtMTIsCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLjk5OTk5OTUxM2NjMTczZTUxYmI5OTU1YjA2NmYxZGI4cC0xMiwKKyAgICAweDEuZmZmZmZkNzBhM2Q2NGU1ZWMxNjVjZDQzMDdhZDEzMjZwLTEsCisgICAgLTB4MS45OTk5OWFwLTEyLAorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgMHgxLjMzMzMzMmQ5MTY4NTMyMWU1ZmMzOTdkMjBhNWFmMWU2cC0xMSwKKyAgICAweDEuZmZmZmZhM2Q3MDllZWNiZmI1YTM4NWIwZjNlMGNiOGZwLTEsCisgICAgMHgxLjMzMzMzNHAtMTEsCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLjMzMzMzMmQ5MTY4NTMyMWU1ZmMzOTdkMjBhNWFmMWU2cC0xMSwKKyAgICAweDEuZmZmZmZhM2Q3MDllZWNiZmI1YTM4NWIwZjNlMGNiOGZwLTEsCisgICAgLTB4MS4zMzMzMzRwLTExLAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLjk5OTk5NzQ0ZjMwNmRjMDNlOWVmNzA4OTdmNzgyOTllcC0xMSwKKyAgICAweDEuZmZmZmY1YzI4ZjVmYzczM2M0MjAyYWEwYmRhOTJmOTdwLTEsCisgICAgMHgxLjk5OTk5YXAtMTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgLTB4MS45OTk5OTc0NGYzMDZkYzAzZTllZjcwODk3Zjc4Mjk5ZXAtMTEsCisgICAgMHgxLmZmZmZmNWMyOGY1ZmM3MzNjNDIwMmFhMGJkYTkyZjk3cC0xLAorICAgIC0weDEuOTk5OTlhcC0xMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAorICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKKyAgICAweDEucC0xMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAtMHgxLmZmZmZmYWFhYWFhZWVlZWVlZDRlZDRlZGFiNGM3YmQ2cC0xMSwKKyAgICAweDEuZmZmZmYwMDAwMDE1NTU1NTQ5ZjQ5ZjRkMzRkMzRjYTBwLTEsCisgICAgLTB4MS5wLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS4zMzMzMmY2NDVhMThjM2IwY2NmYzBhM2NmN2IyZTkxYnAtMTAsCisgICAgMHgxLmZmZmZlOGY1YzI5Y2UwNzY0MGJkNWY2ZDhiYjFlYTZicC0xLAorICAgIDB4MS4zMzMzMzRwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIC0weDEuMzMzMzJmNjQ1YTE4YzNiMGNjZmMwYTNjZjdiMmU5MWJwLTEwLAorICAgIDB4MS5mZmZmZThmNWMyOWNlMDc2NDBiZDVmNmQ4YmIxZWE2YnAtMSwKKyAgICAtMHgxLjMzMzMzNHAtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjY2NjY2MGFlYzMzMDgyMWM3YTEwMGNmNDg4YzM4MGVicC0xMCwKKyAgICAweDEuZmZmZmUwYTNkNzE0ODM5ZjM2MDExNDdhZGE3M2Y4ZDlwLTEsCisgICAgMHgxLjY2NjY2OHAtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS42NjY2NjBhZWMzMzA4MjFjN2ExMDBjZjQ4OGMzODBlYnAtMTAsCisgICAgMHgxLmZmZmZlMGEzZDcxNDgzOWYzNjAxMTQ3YWRhNzNmOGQ5cC0xLAorICAgIC0weDEuNjY2NjY4cC0xMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuOTk5OTkxMTNjYzAzNDE0NGZkYmRjOGExZGM3MTMyNTNwLTEwLAorICAgIDB4MS5mZmZmZDcwYTNkODE5MWY2NmRlNTQwOGZiMmI5OTVhMHAtMSwKKyAgICAweDEuOTk5OTljcC0xMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAtMHgxLjk5OTk5MTEzY2MwMzQxNDRmZGJkYzhhMWRjNzEzMjUzcC0xMCwKKyAgICAweDEuZmZmZmQ3MGEzZDgxOTFmNjZkZTU0MDhmYjJiOTk1YTBwLTEsCisgICAgLTB4MS45OTk5OWNwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS5jY2NjYmM3MmIwNWRkMDk1MWE5YzVlNjU1NjBjNTZlM3AtMTAsCisgICAgMHgxLmZmZmZjYzI4ZjZkMDk2Yjg3ZDZkMTlhMDZlOTY5OTlicC0xLAorICAgIDB4MS5jY2NjY2NwLTEwLAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIC0weDEuY2NjY2JjNzJiMDVkZDA5NTFhOWM1ZTY1NTYwYzU2ZTNwLTEwLAorICAgIDB4MS5mZmZmY2MyOGY2ZDA5NmI4N2Q2ZDE5YTA2ZTk2OTk5YnAtMSwKKyAgICAtMHgxLmNjY2NjY3AtMTAsCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLjA2NjVhZTM2MTViNWI3ZGU1Mjc5ODA2NGRmYzU5YjI5cC03LAorICAgIDB4MS5mZmZiY2MyYTcxY2VhYWJmNTU4MmI2ZGExZmMzMDUzMXAtMSwKKyAgICAweDEuMDY2NjY2cC03LAorICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIC0weDEuMDY2NWFlMzYxNWI1YjdkZTUyNzk4MDY0ZGZjNTliMjlwLTcsCisgICAgMHgxLmZmZmJjYzJhNzFjZWFhYmY1NTgyYjZkYTFmYzMwNTMxcC0xLAorICAgIC0weDEuMDY2NjY2cC03LAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS5jY2M4ZThhZTkyNTg2ZDhkNjZiNmFkMGFlZGNiMGQ5NHAtNywKKyAgICAweDEuZmZmMzBhNGI3YjUxMTlkOGUyOTlmNzE3ZWMwZWNlMTZwLTEsCisgICAgMHgxLmNjY2NjY3AtNywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAtMHgxLmNjYzhlOGFlOTI1ODZkOGQ2NmI2YWQwYWVkY2IwZDk0cC03LAorICAgIDB4MS5mZmYzMGE0YjdiNTExOWQ4ZTI5OWY3MTdlYzBlY2UxNnAtMSwKKyAgICAtMHgxLmNjY2NjY3AtNywKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuNDk5M2U3MGY3YjE3YzEwYWY5Zjk3ZmM3YjMzYjgyMmJwLTYsCisgICAgMHgxLmZmZTU3YTc4NTEyMzIyNmMxZTJlZmI0MTEzNTNlZGM5cC0xLAorICAgIDB4MS40OTk5OThwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgLTB4MS40OTkzZTcwZjdiMTdjMTBhZjlmOTdmYzdiMzNiODIyYnAtNiwKKyAgICAweDEuZmZlNTdhNzg1MTIzMjI2YzFlMmVmYjQxMTM1M2VkYzlwLTEsCisgICAgLTB4MS40OTk5OThwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgMHgxLmFjYzA0M2Y4YjJkODlhZDUxNDNjMDMwZTk3NjZmYzExcC02LAorICAgIDB4MS5mZmQzMWNkMTBjYjYzMmQ5NzMzYWM1ZjVmMzI3YTVmOXAtMSwKKyAgICAweDEuYWNjY2NjcC02LAorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuYWNjMDQzZjhiMmQ4OWFkNTE0M2MwMzBlOTc2NmZjMTFwLTYsCisgICAgMHgxLmZmZDMxY2QxMGNiNjMyZDk3MzNhYzVmNWYzMjdhNWY5cC0xLAorICAgIC0weDEuYWNjY2NjcC02LAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKKyAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCisgICAgMHgxLjA4cC01LAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIC0weDEuMDdmNDRkNjdjZjQxYWZiYzBjOTUxMDhiOTlmOTFiMDFwLTUsCisgICAgMHgxLmZmYmJmMTgyMDc1NDJlZjgxMzkwZDczYzNiYTg5YzFhcC0xLAorICAgIC0weDEuMDhwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLjM5ODVmZWFkNDRmYTJiODUxZTY1MWFjYmEzNjlkNzY5cC01LAorICAgIDB4MS5mZjlmZjhjMmVhZWFlZTMwZmIyMTE3NjVhZjgzNTE3MXAtMSwKKyAgICAweDEuMzk5OTlhcC01LAorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIC0weDEuMzk4NWZlYWQ0NGZhMmI4NTFlNjUxYWNiYTM2OWQ3NjlwLTUsCisgICAgMHgxLmZmOWZmOGMyZWFlYWVlMzBmYjIxMTc2NWFmODM1MTcxcC0xLAorICAgIC0weDEuMzk5OTlhcC01LAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS42YjE0YmViNWQ0MGQ3NDUwOTYyNDdlNTliNjIyODI4YnAtNSwKKyAgICAweDEuZmY3ZjMyZDZlYjFmOWNmOTAyMjZlYzI5MWM5ZTA5MjJwLTEsCisgICAgMHgxLjZiMzMzNHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAtMHgxLjZiMTRiZWI1ZDQwZDc0NTA5NjI0N2U1OWI2MjI4MjhicC01LAorICAgIDB4MS5mZjdmMzJkNmViMWY5Y2Y5MDIyNmVjMjkxYzllMDkyMnAtMSwKKyAgICAtMHgxLjZiMzMzNHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuOWNhMDE2NzFhNzk5NWZjOTdjZWJkNjk3MjljYzQzMDlwLTUsCisgICAgMHgxLmZmNTlhMDBjYzRhZDQ5MmNhMjU5NzQ5NTQxMjk5OGVkcC0xLAorICAgIDB4MS45Y2NjY2VwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgLTB4MS45Y2EwMTY3MWE3OTk1ZmM5N2NlYmQ2OTcyOWNjNDMwOXAtNSwKKyAgICAweDEuZmY1OWEwMGNjNGFkNDkyY2EyNTk3NDk1NDEyOTk4ZWRwLTEsCisgICAgLTB4MS45Y2NjY2VwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmNlMjc4Y2Q5ZWIyY2JkMGM2YTRlMTI3OWY2OTBlODU2cC01LAorICAgIDB4MS5mZjJmNDBjMDhhY2Y0NTgwYThkMTMzODBkOTA3MzM5OHAtMSwKKyAgICAweDEuY2U2NjY2cC01LAorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIC0weDEuY2UyNzhjZDllYjJjYmQwYzZhNGUxMjc5ZjY5MGU4NTZwLTUsCisgICAgMHgxLmZmMmY0MGMwOGFjZjQ1ODBhOGQxMzM4MGQ5MDczMzk4cC0xLAorICAgIC0weDEuY2U2NjY2cC01LAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS40M2MxZTk5NzIzOTFhYThlY2Q4YTljY2JhOTA3OTIwYXAtMSwKKyAgICAweDEuOGNhNDZjYTAxMTc3MWJmYWUwZDllZGJmMWRhY2I0MDJwLTEsCisgICAgMHgxLjVlN2ZjNHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAtMHgxLjQzYzFlOTk3MjM5MWFhOGVjZDhhOWNjYmE5MDc5MjBhcC0xLAorICAgIDB4MS44Y2E0NmNhMDExNzcxYmZhZTBkOWVkYmYxZGFjYjQwMnAtMSwKKyAgICAtMHgxLjVlN2ZjNHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuZWUzZDZiYjIxYzY0YjIzODJlZmNmZjBjZGYzMGNlMGJwLTEsCisgICAgMHgxLjBiNWQzOGQ1ZDgyZTRhNzYyNGRhYzRlMTBjZTE1OWMycC0yLAorICAgIDB4MS40ZTdmYzRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLmVlM2Q2YmIyMWM2NGIyMzgyZWZjZmYwY2RmMzBjZTBicC0xLAorICAgIDB4MS4wYjVkMzhkNWQ4MmU0YTc2MjRkYWM0ZTEwY2UxNTljMnAtMiwKKyAgICAtMHgxLjRlN2ZjNHAwLAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS5kZjhlMjMyM2U0YmYxYTUzOGExMDBlYzFiZjM0OTRhOXAtMSwKKyAgICAtMHgxLjY2Yjk2ZTIwNGU2OWNkYThlOWNmNTA5OTY0MzI1MzllcC0yLAorICAgIDB4MS5lZGJmYTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLmRmOGUyMzIzZTRiZjFhNTM4YTEwMGVjMWJmMzQ5NGE5cC0xLAorICAgIC0weDEuNjZiOTZlMjA0ZTY5Y2RhOGU5Y2Y1MDk5NjQzMjUzOWVwLTIsCisgICAgLTB4MS5lZGJmYTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuMWQzNDdhYTAyZmViM2JiMTc1MGQyNTUwOTQzNWRhODhwLTEsCisgICAgLTB4MS5hOTM1NTQwZWRlY2E0YzIyMGVkOTFkYzU0ODFlNGQ5YnAtMSwKKyAgICAweDEuNDY3ZmM0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS4xZDM0N2FhMDJmZWIzYmIxNzUwZDI1NTA5NDM1ZGE4OHAtMSwKKyAgICAtMHgxLmE5MzU1NDBlZGVjYTRjMjIwZWQ5MWRjNTQ4MWU0ZDlicC0xLAorICAgIC0weDEuNDY3ZmM0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5mZmVhMDhlMWM5N2Y0YzRkZTAxOTYxY2MzZTdiMDRkY3AtNiwKKyAgICAtMHgxLmZmYzAwMTdkZDkyMDlkZDg4OTFmMTdmZTRjOWVlZTQ2cC0xLAorICAgIDB4MS45NjFmYjRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuZmZlYTA4ZTFjOTdmNGM0ZGUwMTk2MWNjM2U3YjA0ZGNwLTYsCisgICAgLTB4MS5mZmMwMDE3ZGQ5MjA5ZGQ4ODkxZjE3ZmU0YzllZWU0NnAtMSwKKyAgICAtMHgxLjk2MWZiNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuMzczNGNiY2VkOWMwZjQ4NGU1Zjc2MmUwMDIxNmU2MjBwLTEsCisgICAgLTB4MS45NjkwODIwMDc3MzNkNzg3ZjRjMzZiYTBmOTQyNTY5NHAtMSwKKyAgICAweDEuZTViZmE0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjM3MzRjYmNlZDljMGY0ODRlNWY3NjJlMDAyMTZlNjIwcC0xLAorICAgIC0weDEuOTY5MDgyMDA3NzMzZDc4N2Y0YzM2YmEwZjk0MjU2OTRwLTEsCisgICAgLTB4MS5lNWJmYTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmU5ZDI1OTJiZWMxMGMzYWNiMTVjNTg1MjIzOWEyYWE4cC0xLAorICAgIC0weDEuMmExZTc0MjIzZDliZGRiN2RiNTlmNzgxZjk2YjY1ZWNwLTIsCisgICAgMHgxLjFhYWZjYXAyLAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS5lOWQyNTkyYmVjMTBjM2FjYjE1YzU4NTIyMzlhMmFhOHAtMSwKKyAgICAtMHgxLjJhMWU3NDIyM2Q5YmRkYjdkYjU5Zjc4MWY5NmI2NWVjcC0yLAorICAgIC0weDEuMWFhZmNhcDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5lNGVjZTIwOGQwYzQ5MTNhYjAxOWNhYjBjZTljNzg1ZXAtMSwKKyAgICAweDEuNDg5NGQ1MGI4NGRiYzk4MTEzNGE1OTFhYzQxNjVkOWVwLTIsCisgICAgMHgxLjQyN2ZjMnAyLAorICB9LAorICB7IC8vIEVudHJ5IDE0NAorICAgIDB4MS5lNGVjZTIwOGQwYzQ5MTNhYjAxOWNhYjBjZTljNzg1ZXAtMSwKKyAgICAweDEuNDg5NGQ1MGI4NGRiYzk4MTEzNGE1OTFhYzQxNjVkOWVwLTIsCisgICAgLTB4MS40MjdmYzJwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjJhNWEwMmQzOTJiNTRmNjQxYTBkODhiZDRhYzZjMmUxcC0xLAorICAgIDB4MS5hMDE2ZGQ3NDgwYTFlZWE0ZDQ5ZWZiNTg1ZmE0OWM4NnAtMSwKKyAgICAweDEuNmE0ZmJhcDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjJhNWEwMmQzOTJiNTRmNjQxYTBkODhiZDRhYzZjMmUxcC0xLAorICAgIDB4MS5hMDE2ZGQ3NDgwYTFlZWE0ZDQ5ZWZiNTg1ZmE0OWM4NnAtMSwKKyAgICAtMHgxLjZhNGZiYXAyLAorICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIC0weDEuMjYzMTIzZGYyMmQxM2VkMzI5YzY2NWM4M2MwZTcxZThwLTEsCisgICAgMHgxLmEzMGE2YTNiZjRhM2UyYjdlMjc2NjZkM2E5YzNiNzRicC0xLAorICAgIDB4MS42YWYyZjBwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuMjYzMTIzZGYyMmQxM2VkMzI5YzY2NWM4M2MwZTcxZThwLTEsCisgICAgMHgxLmEzMGE2YTNiZjRhM2UyYjdlMjc2NjZkM2E5YzNiNzRicC0xLAorICAgIC0weDEuNmFmMmYwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5lMThlNjdiNTA4ZmZjOWU0MmY2YzllNzJmOGU1NDVmM3AtMSwKKyAgICAweDEuNWJkNjI1NTA0MDE1Y2NjMTAxZTRmNDM0MGQ0Yjc2MmJwLTIsCisgICAgMHgxLjQzYzYyYXAyLAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5lMThlNjdiNTA4ZmZjOWU0MmY2YzllNzJmOGU1NDVmM3AtMSwKKyAgICAweDEuNWJkNjI1NTA0MDE1Y2NjMTAxZTRmNDM0MGQ0Yjc2MmJwLTIsCisgICAgLTB4MS40M2M2MmFwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLmVlMGU4MGVjOWQxNTYyYzE3YTZjZjYwOGFmOWIwZWQ0cC0xLAorICAgIC0weDEuMGNiNzMzNDQ4YzMwZWUzZGRmZmI0ZGE2OWYwYjM4NDJwLTIsCisgICAgMHgxLjFjOTk2NHAyLAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5lZTBlODBlYzlkMTU2MmMxN2E2Y2Y2MDhhZjliMGVkNHAtMSwKKyAgICAtMHgxLjBjYjczMzQ0OGMzMGVlM2RkZmZiNGRhNjlmMGIzODQycC0yLAorICAgIC0weDEuMWM5OTY0cDIsCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS40NzI3Njg2MzdlYTg4NjZhNjUyMDk4YTQzYWE2ODhhNnAtMSwKKyAgICAtMHgxLjg5ZDg3NGFkMzBlM2ZiNDYyNDRkYWEyNDQ1MTY5MGQ3cC0xLAorICAgIDB4MS5lYWQ5M2NwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuNDcyNzY4NjM3ZWE4ODY2YTY1MjA5OGE0M2FhNjg4YTZwLTEsCisgICAgLTB4MS44OWQ4NzRhZDMwZTNmYjQ2MjQ0ZGFhMjQ0NTE2OTBkN3AtMSwKKyAgICAtMHgxLmVhZDkzY3AxLAorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuNGJhMjRmNjMyNWYyMTQyMGU3YzQ4ZDRmOTFlMjgwNjRwLTQsCisgICAgLTB4MS5mZTUxYWUwOWYwZDM5ZWQ1NTRlNjhiZWYzZTJmOGEwM3AtMSwKKyAgICAweDEuOWM3ZmIwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLjRiYTI0ZjYzMjVmMjE0MjBlN2M0OGQ0ZjkxZTI4MDY0cC00LAorICAgIC0weDEuZmU1MWFlMDlmMGQzOWVkNTU0ZTY4YmVmM2UyZjhhMDNwLTEsCisgICAgLTB4MS45YzdmYjBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuMDM0YzY0MzI5NTE1M2FhZmZlNWQ5YTBmMjllOTI4NDRwLTEsCisgICAgLTB4MS5iOTdiZjc2YWU3NjVlYjY5Y2Y1NWU4MGFhZTk3NzMwM3AtMSwKKyAgICAweDEuNGUyNjI0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS4wMzRjNjQzMjk1MTUzYWFmZmU1ZDlhMGYyOWU5Mjg0NHAtMSwKKyAgICAtMHgxLmI5N2JmNzZhZTc2NWViNjljZjU1ZTgwYWFlOTc3MzAzcC0xLAorICAgIC0weDEuNGUyNjI0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLmQxZTRkOTZlYWM5MTc1NzRiOTQ4ZTRlYTllMzdiMzZkcC0xLAorICAgIC0weDEuYThhYzU3OTNlMzI2MjliMTMxOTg0ZWNmZmQyZDBmMzFwLTIsCisgICAgMHgxLmZmOTkzMnAwLAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuZDFlNGQ5NmVhYzkxNzU3NGI5NDhlNGVhOWUzN2IzNmRwLTEsCisgICAgLTB4MS5hOGFjNTc5M2UzMjYyOWIxMzE5ODRlY2ZmZDJkMGYzMXAtMiwKKyAgICAtMHgxLmZmOTkzMnAwLAorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS5mNzUwMWUwMDJiY2FmYjg5N2Y5MzE5MzFkM2E1N2FmZHAtMSwKKyAgICAweDEuNzdhOTJjYTAxYmM3OWMxOTVkZGEzMzczNjgwN2Y5ODZwLTMsCisgICAgMHgxLjYyZTYxY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIC0weDEuZjc1MDFlMDAyYmNhZmI4OTdmOTMxOTMxZDNhNTdhZmRwLTEsCisgICAgMHgxLjc3YTkyY2EwMWJjNzljMTk1ZGRhMzM3MzY4MDdmOTg2cC0zLAorICAgIC0weDEuNjJlNjFjcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLjY1ZjdkNjZlZjY1OTFjZmM1MWFiMjlkYzIwODZkM2U3cC0xLAorICAgIDB4MS42ZTEwNjAyODJjMTQ4OGQ5YWJkODNkYTFkNjhjZDBmN3AtMSwKKyAgICAweDEuOGM2NjJjcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuNjVmN2Q2NmVmNjU5MWNmYzUxYWIyOWRjMjA4NmQzZTdwLTEsCisgICAgMHgxLjZlMTA2MDI4MmMxNDg4ZDlhYmQ4M2RhMWQ2OGNkMGY3cC0xLAorICAgIC0weDEuOGM2NjJjcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIC0weDEuZmUwNDNmODc1YzZlZDRhMmMxYjhkNjlhMDlmY2Y1NzhwLTEsCisgICAgLTB4MS42ODJmMmJiODdhOGY1MDExNzM1MDk0MTc2YzliNmRhY3AtNCwKKyAgICAtMHgxLmE4YWExY3AwLAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKKyAgICAtMHgxLjY4MmYyYmI4N2E4ZjUwMTE3MzUwOTQxNzZjOWI2ZGFjcC00LAorICAgIDB4MS5hOGFhMWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmZmZjE4ZjMxM2U2NmYxYWUyNWY4OWE1ZjdhMWY4NGM0cC0xLAorICAgIC0weDEuZTY2NWNiMmFmODQyYmU1YmE1ZjY1OTYwNTk5YTk3ZWNwLTcsCisgICAgLTB4MS45NWVjOGFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuZmZmMThmMzEzZTY2ZjFhZTI1Zjg5YTVmN2ExZjg0YzRwLTEsCisgICAgLTB4MS5lNjY1Y2IyYWY4NDJiZTViYTVmNjU5NjA1OTlhOTdlY3AtNywKKyAgICAweDEuOTVlYzhhcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTY5CisgICAgLTB4MS5mZjIwZDkyMGI5ZTljMjMxNTRmOTdlMmYzNDJhMjg4NHAtMSwKKyAgICAweDEuZGRkMjMxNTAxYjEyZmNmMmJjMjA2MzNiZTRkNTFlNTFwLTUsCisgICAgLTB4MS44MzJlZjhwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZmYyMGQ5MjBiOWU5YzIzMTU0Zjk3ZTJmMzQyYTI4ODRwLTEsCisgICAgMHgxLmRkZDIzMTUwMWIxMmZjZjJiYzIwNjMzYmU0ZDUxZTUxcC01LAorICAgIDB4MS44MzJlZjhwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmZiOTMzYjg5ZDdkYjMyODZlZWQwY2ZlYWJlZTk4ODc1cC0xLAorICAgIDB4MS4wY2FiYTY5OTc2OTFhYjE5NzBkNDNjNzQxOWVkNTFlMXAtMywKKyAgICAtMHgxLjcwNzE2NnAwLAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS5mYjkzM2I4OWQ3ZGIzMjg2ZWVkMGNmZWFiZWU5ODg3NXAtMSwKKyAgICAweDEuMGNhYmE2OTk3NjkxYWIxOTcwZDQzYzc0MTllZDUxZTFwLTMsCisgICAgMHgxLjcwNzE2NnAwLAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuZjU0ZDk1YzUwNThiN2RjOTk3MmFiNmY5OTI4Y2EwNDNwLTEsCisgICAgMHgxLmEwNzI1NDFmZDZlYWY4YjY1YTg3NGM1OGQ2Y2M1NzM5cC0zLAorICAgIC0weDEuNWRiM2Q0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLmY1NGQ5NWM1MDU4YjdkYzk5NzJhYjZmOTkyOGNhMDQzcC0xLAorICAgIDB4MS5hMDcyNTQxZmQ2ZWFmOGI2NWE4NzRjNThkNmNjNTczOXAtMywKKyAgICAweDEuNWRiM2Q0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS5lYzU4ODFhMDljNDZhYWUwMjBjZDkwMzYwOThhMTk2ZXAtMSwKKyAgICAweDEuMThmZWY4MTA2YmVhNjNiOWU5NmE3YWRmNTM4YzYxOTRwLTIsCisgICAgLTB4MS40YWY2NDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZWM1ODgxYTA5YzQ2YWFlMDIwY2Q5MDM2MDk4YTE5NmVwLTEsCisgICAgMHgxLjE4ZmVmODEwNmJlYTYzYjllOTZhN2FkZjUzOGM2MTk0cC0yLAorICAgIDB4MS40YWY2NDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmUwYzA0Nzk1OTE5ZDk2MWE1ZTgzZTUwNWRmMzFjNjI0cC0xLAorICAgIDB4MS42MDQzNzI3N2Q0ODA2N2U4NTIzMGJjZTE4ODNlYWFiYXAtMiwKKyAgICAtMHgxLjM4MzhiMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5lMGMwNDc5NTkxOWQ5NjFhNWU4M2U1MDVkZjMxYzYyNHAtMSwKKyAgICAweDEuNjA0MzcyNzdkNDgwNjdlODUyMzBiY2UxODgzZWFhYmFwLTIsCisgICAgMHgxLjM4MzhiMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuZDI5NGNkZWY3Y2MxNjE2MzNhMDJkM2U2MjA1OGJlMGVwLTEsCisgICAgMHgxLmE1YTRkZWQ0OTJiZWRmZThjZjVjMzRjYWRkNzhkZjc1cC0yLAorICAgIC0weDEuMjU3YjFlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmQyOTRjZGVmN2NjMTYxNjMzYTAyZDNlNjIwNThiZTBlcC0xLAorICAgIDB4MS5hNWE0ZGVkNDkyYmVkZmU4Y2Y1YzM0Y2FkZDc4ZGY3NXAtMiwKKyAgICAweDEuMjU3YjFlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS5jMWU5ODhiOTU2MTRhYmQ2NWQzZDgxMWY1Yzg4MDM5YnAtMSwKKyAgICAweDEuZThjNDA0MDY3OGQyZWY3MzYzMzNhNDUzN2ExMTEzYTFwLTIsCisgICAgLTB4MS4xMmJkOTJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCisgICAgMHgxLmU4YzQwNDA2NzhkMmVmNzM2MzMzYTQ1MzdhMTExM2ExcC0yLAorICAgIDB4MS4xMmJkOTJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLmEyYzI4OTVlZGIwZDRiYTUxY2RiZDUzOTBjYWM0NjhmcC0xLAorICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKKyAgICAtMHgxLmVhNWMzZXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuYTJjMjg5NWVkYjBkNGJhNTFjZGJkNTM5MGNhYzQ2OGZwLTEsCisgICAgMHgxLjI2OTc2YjFiMTZkMTkwOTFjMDkyNTk3NjVjNGIzODcycC0xLAorICAgIDB4MS5lYTVjM2VwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS45NWYwNTE1MzY0NGQ2MGI5NGQyZjJlNzAwZGZkM2EzN3AtMSwKKyAgICAweDEuMzgwNWEyZGFmZGE3Zjg1NTRhZWM2NWRhYjM0OGE3MTRwLTEsCisgICAgLTB4MS5kNGI4N2NwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjk1ZjA1MTUzNjQ0ZDYwYjk0ZDJmMmU3MDBkZmQzYTM3cC0xLAorICAgIDB4MS4zODA1YTJkYWZkYTdmODU1NGFlYzY1ZGFiMzQ4YTcxNHAtMSwKKyAgICAweDEuZDRiODdjcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuODg2NDdkOGFkMmU0MWZiN2MwYWYwZjY0NjE0Yzk5OTNwLTEsCisgICAgMHgxLjQ4ZTUyZmY1YmJlNzk0NjE4Yjg1MTkwYjg2NDExODI0cC0xLAorICAgIC0weDEuYmYxNGJhcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS44ODY0N2Q4YWQyZTQxZmI3YzBhZjBmNjQ2MTRjOTk5M3AtMSwKKyAgICAweDEuNDhlNTJmZjViYmU3OTQ2MThiODUxOTBiODY0MTE4MjRwLTEsCisgICAgMHgxLmJmMTRiYXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjdhMjUzZjlmODlhN2QzZTRmOWM1NDYzODQxOGU5N2Y2cC0xLAorICAgIDB4MS41OTJlNWI2MTVlZjVhZTQ2Mzk3NmQzMTE0MWRiYWNmMHAtMSwKKyAgICAtMHgxLmE5NzBmOHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuN2EyNTNmOWY4OWE3ZDNlNGY5YzU0NjM4NDE4ZTk3ZjZwLTEsCisgICAgMHgxLjU5MmU1YjYxNWVmNWFlNDYzOTc2ZDMxMTQxZGJhY2YwcC0xLAorICAgIDB4MS5hOTcwZjhwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS42YjM5MWIzNGFhYjgyOGZiZTdjZDdkY2FmOWVmM2JkNnAtMSwKKyAgICAweDEuNjhkOWIyZDY1N2U0MzA3ZDMzMWViN2JkMzVlZTE4NzlwLTEsCisgICAgLTB4MS45M2NkMzZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjZiMzkxYjM0YWFiODI4ZmJlN2NkN2RjYWY5ZWYzYmQ2cC0xLAorICAgIDB4MS42OGQ5YjJkNjU3ZTQzMDdkMzMxZWI3YmQzNWVlMTg3OXAtMSwKKyAgICAweDEuOTNjZDM2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuNWJhNmUyZmI5ODBkNDgyY2YwMGVkZTgwZjU1OTdmYjJwLTEsCisgICAgMHgxLjc3ZTAwYzM3MTg1MjhjMzZmNzIyZTYzMDk2YzI2NDZicC0xLAorICAgIC0weDEuN2UyOTc0cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS41YmE2ZTJmYjk4MGQ0ODJjZjAwZWRlODBmNTU5N2ZiMnAtMSwKKyAgICAweDEuNzdlMDBjMzcxODUyOGMzNmY3MjJlNjMwOTZjMjY0NmJwLTEsCisgICAgMHgxLjdlMjk3NHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjRiNzViNTk1NGU3MTgwMjA5MDA3MTllMjVhN2VhOTNicC0xLAorICAgIDB4MS44NjNhODhkNmIwNjRmMzZmMzQzNzA3MjJkMzYxY2U5ZnAtMSwKKyAgICAtMHgxLjY4ODViMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuNGI3NWI1OTU0ZTcxODAyMDkwMDcxOWUyNWE3ZWE5M2JwLTEsCisgICAgMHgxLjg2M2E4OGQ2YjA2NGYzNmYzNDM3MDcyMmQzNjFjZTlmcC0xLAorICAgIDB4MS42ODg1YjJwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS4zYWFjZmE1MTA4MTAwNTRjNTJhZTBiNjdkMTE2ZWI0MHAtMSwKKyAgICAweDEuOTNlMjk4OWNlZTYwODRlMzRiNTMzYjFlYjkyNzQ2ZGFwLTEsCisgICAgLTB4MS41MmUxZjBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjNhYWNmYTUxMDgxMDA1NGM1MmFlMGI2N2QxMTZlYjQwcC0xLAorICAgIDB4MS45M2UyOTg5Y2VlNjA4NGUzNGI1MzNiMWViOTI3NDZkYXAtMSwKKyAgICAweDEuNTJlMWYwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuMjk1NDY0NGNlYjhlM2EyNDc5YzgzYWU4NGFmNTdkM2VwLTEsCisgICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAorICAgIC0weDEuM2QzZTM2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS4yOTU0NjQ0Y2ViOGUzYTI0NzljODNhZTg0YWY1N2QzZXAtMSwKKyAgICAweDEuYTBkMWY4NjEzZWJjNjBjN2VlNjUwMmVlMTgzYzg5ZTdwLTEsCisgICAgMHgxLjNkM2UzNnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLmZjNzY5YWVjZDI2NWNmZWEwOGUwZmYzMGMyZmJjYWNkcC0yLAorICAgIDB4MS5iYzZiZDg4OWE4YTU5ZGJiNTZlNTQ2YTM3YWU3OThmNXAtMSwKKyAgICAtMHgxLjBhMGIwMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuZmM3NjlhZWNkMjY1Y2ZlYTA4ZTBmZjMwYzJmYmNhY2RwLTIsCisgICAgMHgxLmJjNmJkODg5YThhNTlkYmI1NmU1NDZhMzdhZTc5OGY1cC0xLAorICAgIDB4MS4wYTBiMDJwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKKyAgICAweDEuY2E1OWM3MTlmOTYwNzVkZDZiN2EwZmY0NDNhZDU5ZGNwLTEsCisgICAgLTB4MS5kOGY3MjBwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmM4NTNjNzA0ZTNiOTQzMjIwMzFkNmI0N2FlZjg1M2M5cC0yLAorICAgIDB4MS5jYTU5YzcxOWY5NjA3NWRkNmI3YTBmZjQ0M2FkNTlkY3AtMSwKKyAgICAweDEuZDhmNzIwcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuOTJhYmE4OTgxYjI1ZGVkYTRjYzE4MTcyNTE3MjNhMWJwLTIsCisgICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAorICAgIC0weDEuOWRkODNjcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS45MmFiYTg5ODFiMjVkZWRhNGNjMTgxNzI1MTcyM2ExYnAtMiwKKyAgICAweDEuZDZjMGIxM2RmOTk2MTNhNDkzMDZiNGRjNmM1N2FhMDNwLTEsCisgICAgMHgxLjlkZDgzY3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLjViYWMwNWUxZTBhN2MyZGUyODBmY2I5M2JlNjdhNGRhcC0yLAorICAgIDB4MS5lMTk2MDI3M2E0YWFhMWJkMTllZjBjY2FhODg3NDE4M3AtMSwKKyAgICAtMHgxLjYyYjk1OHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuNWJhYzA1ZTFlMGE3YzJkZTI4MGZjYjkzYmU2N2E0ZGFwLTIsCisgICAgMHgxLmUxOTYwMjczYTRhYWExYmQxOWVmMGNjYWE4ODc0MTgzcC0xLAorICAgIDB4MS42MmI5NThwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKKyAgICAweDEuZWFkMDdjZDJlMGY3ZjE5Njc5NjQ2MzYyYmJjMGViODBwLTEsCisgICAgLTB4MS4yNzlhNzRwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjIzODNjYTJiMjQ5ODA3ZDk1MDA1ZDk2Y2ZkYWVjZDZjcC0yLAorICAgIDB4MS5lYWQwN2NkMmUwZjdmMTk2Nzk2NDYzNjJiYmMwZWI4MHAtMSwKKyAgICAweDEuMjc5YTc0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIxMQorICAgIC0weDEuZDRjNWJiODcyZWE1Mzc1ODM0Y2EwYmNhMDg4ZDFkNzVwLTMsCisgICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAorICAgIC0weDEuZDhmNzIwcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5kNGM1YmI4NzJlYTUzNzU4MzRjYTBiY2EwODhkMWQ3NXAtMywKKyAgICAweDEuZjI2ODQwZWZkODZjZWVhMjNmMzg4YjZhMTEwMmVhNGRwLTEsCisgICAgMHgxLmQ4ZjcyMHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLjYwZjNmYTQ2MGI4NTgxMWQyYWU3MTBjZDY5ZWMzNjkwcC0zLAorICAgIDB4MS5mODU2ZDQ5MjUxYmQzN2M1NGYwMDk0MjcwZWVjYmQxOHAtMSwKKyAgICAtMHgxLjYyYjk1OHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuNjBmM2ZhNDYwYjg1ODExZDJhZTcxMGNkNjllYzM2OTBwLTMsCisgICAgMHgxLmY4NTZkNDkyNTFiZDM3YzU0ZjAwOTQyNzBlZWNiZDE4cC0xLAorICAgIDB4MS42MmI5NThwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKKyAgICAweDEuZmM5NzI4M2M0ZjViZDFmNzkzMjAxOTcyYjhkYjU1MWZwLTEsCisgICAgLTB4MS5kOGY3MjBwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgMjE2CisgICAgMHgxLmQ3ZWEzZDU2ZTFlNjI0NGM4Nzg2ZDc0ZjE4OWQ5OGFjcC00LAorICAgIDB4MS5mYzk3MjgzYzRmNWJkMWY3OTMyMDE5NzJiOGRiNTUxZnAtMSwKKyAgICAweDEuZDhmNzIwcC00LAorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuZDhiM2RlYmE2YWM0OTNiMDRiMjEwM2EwZGJhZWYwMmZwLTUsCisgICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAorICAgIC0weDEuZDhmNzIwcC01LAorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5kOGIzZGViYTZhYzQ5M2IwNGIyMTAzYTBkYmFlZjAyZnAtNSwKKyAgICAweDEuZmYyNTliN2IzZDcyMWVkZjA2M2E1YmY2ZTdhMWY5M2NwLTEsCisgICAgMHgxLmQ4ZjcyMHAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuZDhiM2RlYmE2YWM0OTNiMDRiMjEwM2EwZGJhZWYwMmZwLTUsCisgICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAorICAgIDB4MS5kOGY3MjBwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgLTB4MS5kOGIzZGViYTZhYzQ5M2IwNGIyMTAzYTBkYmFlZjAyZnAtNSwKKyAgICAweDEuZmYyNTliN2IzZDcyMWVkZjA2M2E1YmY2ZTdhMWY5M2NwLTEsCisgICAgLTB4MS5kOGY3MjBwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLmQ3ZWEzZDU2ZTFlNjI0NGM4Nzg2ZDc0ZjE4OWQ5OGFjcC00LAorICAgIDB4MS5mYzk3MjgzYzRmNWJkMWY3OTMyMDE5NzJiOGRiNTUxZnAtMSwKKyAgICAweDEuZDhmNzIwcC00LAorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIC0weDEuZDdlYTNkNTZlMWU2MjQ0Yzg3ODZkNzRmMTg5ZDk4YWNwLTQsCisgICAgMHgxLmZjOTcyODNjNGY1YmQxZjc5MzIwMTk3MmI4ZGI1NTFmcC0xLAorICAgIC0weDEuZDhmNzIwcC00LAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKKyAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCisgICAgMHgxLjYyYjk1OHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAtMHgxLjYwZjNmYTQ2MGI4NTgxMWQyYWU3MTBjZDY5ZWMzNjkwcC0zLAorICAgIDB4MS5mODU2ZDQ5MjUxYmQzN2M1NGYwMDk0MjcwZWVjYmQxOHAtMSwKKyAgICAtMHgxLjYyYjk1OHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEuZDRjNWJiODcyZWE1Mzc1ODM0Y2EwYmNhMDg4ZDFkNzVwLTMsCisgICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAorICAgIDB4MS5kOGY3MjBwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgLTB4MS5kNGM1YmI4NzJlYTUzNzU4MzRjYTBiY2EwODhkMWQ3NXAtMywKKyAgICAweDEuZjI2ODQwZWZkODZjZWVhMjNmMzg4YjZhMTEwMmVhNGRwLTEsCisgICAgLTB4MS5kOGY3MjBwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLjIzODNjYTJiMjQ5ODA3ZDk1MDA1ZDk2Y2ZkYWVjZDZjcC0yLAorICAgIDB4MS5lYWQwN2NkMmUwZjdmMTk2Nzk2NDYzNjJiYmMwZWI4MHAtMSwKKyAgICAweDEuMjc5YTc0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0weDEuMjM4M2NhMmIyNDk4MDdkOTUwMDVkOTZjZmRhZWNkNmNwLTIsCisgICAgMHgxLmVhZDA3Y2QyZTBmN2YxOTY3OTY0NjM2MmJiYzBlYjgwcC0xLAorICAgIC0weDEuMjc5YTc0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKKyAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCisgICAgMHgxLjYyYjk1OHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLjViYWMwNWUxZTBhN2MyZGUyODBmY2I5M2JlNjdhNGRhcC0yLAorICAgIDB4MS5lMTk2MDI3M2E0YWFhMWJkMTllZjBjY2FhODg3NDE4M3AtMSwKKyAgICAtMHgxLjYyYjk1OHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAweDEuOTJhYmE4OTgxYjI1ZGVkYTRjYzE4MTcyNTE3MjNhMWJwLTIsCisgICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAorICAgIDB4MS45ZGQ4M2NwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS45MmFiYTg5ODFiMjVkZWRhNGNjMTgxNzI1MTcyM2ExYnAtMiwKKyAgICAweDEuZDZjMGIxM2RmOTk2MTNhNDkzMDZiNGRjNmM1N2FhMDNwLTEsCisgICAgLTB4MS45ZGQ4M2NwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgMHgxLmM4NTNjNzA0ZTNiOTQzMjIwMzFkNmI0N2FlZjg1M2M5cC0yLAorICAgIDB4MS5jYTU5YzcxOWY5NjA3NWRkNmI3YTBmZjQ0M2FkNTlkY3AtMSwKKyAgICAweDEuZDhmNzIwcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0weDEuYzg1M2M3MDRlM2I5NDMyMjAzMWQ2YjQ3YWVmODUzYzlwLTIsCisgICAgMHgxLmNhNTljNzE5Zjk2MDc1ZGQ2YjdhMGZmNDQzYWQ1OWRjcC0xLAorICAgIC0weDEuZDhmNzIwcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKKyAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCisgICAgMHgxLjBhMGIwMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAtMHgxLmZjNzY5YWVjZDI2NWNmZWEwOGUwZmYzMGMyZmJjYWNkcC0yLAorICAgIDB4MS5iYzZiZDg4OWE4YTU5ZGJiNTZlNTQ2YTM3YWU3OThmNXAtMSwKKyAgICAtMHgxLjBhMGIwMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuMjk1NDY0NGNlYjhlM2EyNDc5YzgzYWU4NGFmNTdkM2VwLTEsCisgICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAorICAgIDB4MS4zZDNlMzZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS4yOTU0NjQ0Y2ViOGUzYTI0NzljODNhZTg0YWY1N2QzZXAtMSwKKyAgICAweDEuYTBkMWY4NjEzZWJjNjBjN2VlNjUwMmVlMTgzYzg5ZTdwLTEsCisgICAgLTB4MS4zZDNlMzZwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLjNhYWQwMGEwOTI2OGEzOWRmMTY1M2M3MGRiOTFmMTU3cC0xLAorICAgIDB4MS45M2UyOTNiMjNhNmFhMWFlNTM3MzIxNGViOGZiOWU5NnAtMSwKKyAgICAweDEuNTJlMWY4cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuM2FhZDAwYTA5MjY4YTM5ZGYxNjUzYzcwZGI5MWYxNTdwLTEsCisgICAgMHgxLjkzZTI5M2IyM2E2YWExYWU1MzczMjE0ZWI4ZmI5ZTk2cC0xLAorICAgIC0weDEuNTJlMWY4cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS40Yjc1YmJhZTM4OGE3ZjM0NjZlN2YyZDZiZGNmNzJiYnAtMSwKKyAgICAweDEuODYzYTgzYThkOTgyNmM2MTM1NTA5NDA2ZWJlMDVjMGZwLTEsCisgICAgMHgxLjY4ODViYXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAtMHgxLjRiNzViYmFlMzg4YTdmMzQ2NmU3ZjJkNmJkY2Y3MmJicC0xLAorICAgIDB4MS44NjNhODNhOGQ5ODI2YzYxMzU1MDk0MDZlYmUwNWMwZnAtMSwKKyAgICAtMHgxLjY4ODViYXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuNWJhNmU4ZGIxODMzNDc1NzEyYjlhNDJhMWFkMGQyYzJwLTEsCisgICAgMHgxLjc3ZTAwNmM4N2NiYWRlZDY2ZWM1Yjk2MGM5M2M1NjhhcC0xLAorICAgIDB4MS43ZTI5N2NwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS41YmE2ZThkYjE4MzM0NzU3MTJiOWE0MmExYWQwZDJjMnAtMSwKKyAgICAweDEuNzdlMDA2Yzg3Y2JhZGVkNjZlYzViOTYwYzkzYzU2OGFwLTEsCisgICAgLTB4MS43ZTI5N2NwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLjZiMzkyMGQ4MTE3ODI4OTI4ZmUxMGFjNzBiYTY5ZTc2cC0xLAorICAgIDB4MS42OGQ5YWQyOTczNmMxNzA0Y2FlYTZhMmRiNmU3MTIyM3AtMSwKKyAgICAweDEuOTNjZDNlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuNmIzOTIwZDgxMTc4Mjg5MjhmZTEwYWM3MGJhNjllNzZwLTEsCisgICAgMHgxLjY4ZDlhZDI5NzM2YzE3MDRjYWVhNmEyZGI2ZTcxMjIzcC0xLAorICAgIC0weDEuOTNjZDNlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS43YTI1NDUwNDQzMDk4ODM2YzUyMDIzNzVkYjRiODQ2MnAtMSwKKyAgICAweDEuNTkyZTU1NzhjOWVjNjZhY2NlZGRkNGRjNmNlNjZiMjZwLTEsCisgICAgMHgxLmE5NzFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS43YTI1NDUwNDQzMDk4ODM2YzUyMDIzNzVkYjRiODQ2MnAtMSwKKyAgICAweDEuNTkyZTU1NzhjOWVjNjZhY2NlZGRkNGRjNmNlNjZiMjZwLTEsCisgICAgLTB4MS5hOTcxcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS44ODY0ODJhZTY3OTdiMzgzNjRmNWM3MmNlOWEzYjc2ZnAtMSwKKyAgICAweDEuNDhlNTI5ZDQyOWU3MjFlYzhiYjFlMDE0Zjk0ZDQ4ZjFwLTEsCisgICAgMHgxLmJmMTRjMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAtMHgxLjg4NjQ4MmFlNjc5N2IzODM2NGY1YzcyY2U5YTNiNzZmcC0xLAorICAgIDB4MS40OGU1MjlkNDI5ZTcyMWVjOGJiMWUwMTRmOTRkNDhmMXAtMSwKKyAgICAtMHgxLmJmMTRjMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuOTVmMDU2MzM3YWNjMWQyZDU1NzUyNTIzMmU5MTU0NjdwLTEsCisgICAgMHgxLjM4MDU5YzgzM2M1OGVhOTcwZjdiOTZkNmFkYTNkOWM0cC0xLAorICAgIDB4MS5kNGI4ODRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS45NWYwNTYzMzdhY2MxZDJkNTU3NTI1MjMyZTkxNTQ2N3AtMSwKKyAgICAweDEuMzgwNTljODMzYzU4ZWE5NzBmN2I5NmQ2YWRhM2Q5YzRwLTEsCisgICAgLTB4MS5kNGI4ODRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgMHgxLmEyYzI4OTVlZGIwZDRiYTUxY2RiZDUzOTBjYWM0NjhmcC0xLAorICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKKyAgICAweDEuZWE1YzNlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuYTJjMjg5NWVkYjBkNGJhNTFjZGJkNTM5MGNhYzQ2OGZwLTEsCisgICAgMHgxLjI2OTc2YjFiMTZkMTkwOTFjMDkyNTk3NjVjNGIzODcycC0xLAorICAgIC0weDEuZWE1YzNlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS5jMWU5ODhiOTU2MTRhYmQ2NWQzZDgxMWY1Yzg4MDM5YnAtMSwKKyAgICAweDEuZThjNDA0MDY3OGQyZWY3MzYzMzNhNDUzN2ExMTEzYTFwLTIsCisgICAgMHgxLjEyYmQ5MnAwLAorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCisgICAgMHgxLmU4YzQwNDA2NzhkMmVmNzM2MzMzYTQ1MzdhMTExM2ExcC0yLAorICAgIC0weDEuMTJiZDkycDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLmQyOTRkMmUwNmIzZDEwYTRkZTI2MzE3MmQ1MGY0NDk3cC0xLAorICAgIDB4MS5hNWE0YzhmNTk4ZmEwMDc4OTcxMzE2ZWI0OTA3Zjk3YnAtMiwKKyAgICAweDEuMjU3YjI0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgLTB4MS5kMjk0ZDJlMDZiM2QxMGE0ZGUyNjMxNzJkNTBmNDQ5N3AtMSwKKyAgICAweDEuYTVhNGM4ZjU5OGZhMDA3ODk3MTMxNmViNDkwN2Y5N2JwLTIsCisgICAgLTB4MS4yNTdiMjRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuZTBjMDRiYjY1YmQzMzAxMmJlNzJhMzQwZGYyYzA0NGJwLTEsCisgICAgMHgxLjYwNDM1YmVlZDEwY2EwNTc2OWYwYTNkODZhNWEyMGYzcC0yLAorICAgIDB4MS4zODM4YjZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAtMHgxLmUwYzA0YmI2NWJkMzMwMTJiZTcyYTM0MGRmMmMwNDRicC0xLAorICAgIDB4MS42MDQzNWJlZWQxMGNhMDU3NjlmMGEzZDg2YTVhMjBmM3AtMiwKKyAgICAtMHgxLjM4MzhiNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS5lYzU4ODRlYjk5MGMzZGVhYWVlYmQzZjBmODRkNjk2MnAtMSwKKyAgICAweDEuMThmZWUwZmM0NWMzMWE3OWIyYjk0NzhiMWY3MmE5ZWJwLTIsCisgICAgMHgxLjRhZjY0OHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIC0weDEuZWM1ODg0ZWI5OTBjM2RlYWFlZWJkM2YwZjg0ZDY5NjJwLTEsCisgICAgMHgxLjE4ZmVlMGZjNDVjMzFhNzliMmI5NDc4YjFmNzJhOWVicC0yLAorICAgIC0weDEuNGFmNjQ4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLmY1NGQ5ODM1YjBlNjZlMTc2MTIxNjAyNzI1MjFmM2IwcC0xLAorICAgIDB4MS5hMDcyMjUyMDkwYzMzODI4NzY3YWVlM2UwNDBjY2RkZnAtMywKKyAgICAweDEuNWRiM2RhcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgLTB4MS5mNTRkOTgzNWIwZTY2ZTE3NjEyMTYwMjcyNTIxZjNiMHAtMSwKKyAgICAweDEuYTA3MjI1MjA5MGMzMzgyODc2N2FlZTNlMDQwY2NkZGZwLTMsCisgICAgLTB4MS41ZGIzZGFwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuZmI5MzNkMWNkOTMxNjg1ZTkwMmU0MDNhMWJhYWVjZmRwLTEsCisgICAgMHgxLjBjYWI3NzAzYThlOWRhY2M0YWQwMTE4OGI0NDNjZmVlcC0zLAorICAgIDB4MS43MDcxNmNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAtMHgxLmZiOTMzZDFjZDkzMTY4NWU5MDJlNDAzYTFiYWFlY2ZkcC0xLAorICAgIDB4MS4wY2FiNzcwM2E4ZTlkYWNjNGFkMDExODhiNDQzY2ZlZXAtMywKKyAgICAtMHgxLjcwNzE2Y3AwLAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5mZjIwZDlkM2U4OTg0ZmVjMzM5ODJlNDJmNTg4NGYyY3AtMSwKKyAgICAweDEuZGRkMTcxYTNjOTg1MWU3ODE5YjVlNGY2ZjkwZTc2M2RwLTUsCisgICAgMHgxLjgzMmVmZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC0weDEuZmYyMGQ5ZDNlODk4NGZlYzMzOTgyZTQyZjU4ODRmMmNwLTEsCisgICAgMHgxLmRkZDE3MWEzYzk4NTFlNzgxOWI1ZTRmNmY5MGU3NjNkcC01LAorICAgIC0weDEuODMyZWZlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjY5CisgICAgMHgxLmZmZjE4ZjAzYTRiN2U2YWFjZjUxZjgzOTMxZTg1MDQycC0xLAorICAgIC0weDEuZTY2OGNiMTU0ZWVhNjhiYmM3ZjgxNTRmNDZiMmU1MzZwLTcsCisgICAgMHgxLjk1ZWM5MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIC0weDEuZmZmMThmMDNhNGI3ZTZhYWNmNTFmODM5MzFlODUwNDJwLTEsCisgICAgLTB4MS5lNjY4Y2IxNTRlZWE2OGJiYzdmODE1NGY0NmIyZTUzNnAtNywKKyAgICAtMHgxLjk1ZWM5MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKKyAgICAtMHgxLjY4MmYyYmI4N2E4ZjUwMTE3MzUwOTQxNzZjOWI2ZGFjcC00LAorICAgIDB4MS5hOGFhMWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAtMHgxLmZlMDQzZjg3NWM2ZWQ0YTJjMWI4ZDY5YTA5ZmNmNTc4cC0xLAorICAgIC0weDEuNjgyZjJiYjg3YThmNTAxMTczNTA5NDE3NmM5YjZkYWNwLTQsCisgICAgLTB4MS5hOGFhMWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAweDEuYjNkMzZhOTY4ODBjZjY5ZDk4ODRhNDlmNTM4MWU5MTdwLTEsCisgICAgMHgxLjBjYjM0NDlhMGQwYTllMDY0M2Q0MWY0YTViMGY3ZGI3cC0xLAorICAgIDB4MS4wNGFmZjhwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAtMHgxLmIzZDM2YTk2ODgwY2Y2OWQ5ODg0YTQ5ZjUzODFlOTE3cC0xLAorICAgIDB4MS4wY2IzNDQ5YTBkMGE5ZTA2NDNkNDFmNGE1YjBmN2RiN3AtMSwKKyAgICAtMHgxLjA0YWZmOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5iM2Q0MWFlYmNmMzkxYzMwYzNkMmYxZWU3Yjc5NzEwY3AtMSwKKyAgICAweDEuMGNiMjI2OTcxNTNiY2YxZjhhNjNhY2RkZDk2YzU0Y2JwLTEsCisgICAgMHgxLjA0YjBhMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIC0weDEuYjNkNDFhZWJjZjM5MWMzMGMzZDJmMWVlN2I3OTcxMGNwLTEsCisgICAgMHgxLjBjYjIyNjk3MTUzYmNmMWY4YTYzYWNkZGQ5NmM1NGNicC0xLAorICAgIC0weDEuMDRiMGEwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgMHgxLmIzZDRjYjQwNWFiMzI5MmJlN2RmNWIxYjk4MDMyZmJlcC0xLAorICAgIDB4MS4wY2IxMDg5M2E5YjU0NzFhNDQzNTYwNzJjYjMzYjM5NXAtMSwKKyAgICAweDEuMDRiMTQ4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgLTB4MS5iM2Q0Y2I0MDVhYjMyOTJiZTdkZjViMWI5ODAzMmZiZXAtMSwKKyAgICAweDEuMGNiMTA4OTNhOWI1NDcxYTQ0MzU2MDcyY2IzM2IzOTVwLTEsCisgICAgLTB4MS4wNGIxNDhwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuYjNkNTdiOTQyYTdhZDE5ZTliOTg5MmM5MzE5ZTFiZTZwLTEsCisgICAgMHgxLjBjYWZlYThmY2E3NzgxMjM2YTU3ZTViMWM4YWVkMzljcC0xLAorICAgIDB4MS4wNGIxZjBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAtMHgxLmIzZDU3Yjk0MmE3YWQxOWU5Yjk4OTJjOTMxOWUxYmU2cC0xLAorICAgIDB4MS4wY2FmZWE4ZmNhNzc4MTIzNmE1N2U1YjFjOGFlZDM5Y3AtMSwKKyAgICAtMHgxLjA0YjFmMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5iM2Q2MmJlNzNlOGZjOTk4YzZjMmRmNjU5MDQyNTYxM3AtMSwKKyAgICAweDEuMGNhZWNjOGI3NzgyZjg2ODI3YWY5MmIwYjIzNzQ1MTBwLTEsCisgICAgMHgxLjA0YjI5OHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEuYjNkNjJiZTczZThmYzk5OGM2YzJkZjY1OTA0MjU2MTNwLTEsCisgICAgMHgxLjBjYWVjYzhiNzc4MmY4NjgyN2FmOTJiMGIyMzc0NTEwcC0xLAorICAgIC0weDEuMDRiMjk4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgMHgxLmIzZDZkYzM5OTZmMWM1MmFhMWY4M2JkZWUxZDBlMDIzcC0xLAorICAgIDB4MS4wY2FkYWU4NmIwZDgyODE1ZDhmNjMyZTY3YzdlMWE5OXAtMSwKKyAgICAweDEuMDRiMzQwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgLTB4MS5iM2Q2ZGMzOTk2ZjFjNTJhYTFmODNiZGVlMWQwZTAyM3AtMSwKKyAgICAweDEuMGNhZGFlODZiMGQ4MjgxNWQ4ZjYzMmU2N2M3ZTFhOTlwLTEsCisgICAgLTB4MS4wNGIzNDBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuYjNkNzhjOGIzM2EwNzg2NGI2YTg3ODU3M2RiMzRiY2FwLTEsCisgICAgMHgxLjBjYWM5MDgxNzY3NzhiNWEwY2JhZDIxZWU3NWNlNzY1cC0xLAorICAgIDB4MS4wNGIzZThwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAtMHgxLmIzZDc4YzhiMzNhMDc4NjRiNmE4Nzg1NzNkYjM0YmNhcC0xLAorICAgIDB4MS4wY2FjOTA4MTc2Nzc4YjVhMGNiYWQyMWVlNzVjZTc2NXAtMSwKKyAgICAtMHgxLjA0YjNlOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS5iM2Q4M2NkYzE0OWI5NzU3ZGYxOTVhZDg4NWFiNTIwMXAtMSwKKyAgICAweDEuMGNhYjcyN2JjODYxOWQ2MjgzNjE4NzZlMWYzMGE2MzNwLTEsCisgICAgMHgxLjA0YjQ5MHAwLAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIC0weDEuYjNkODNjZGMxNDliOTc1N2RmMTk1YWQ4ODVhYjUyMDFwLTEsCisgICAgMHgxLjBjYWI3MjdiYzg2MTlkNjI4MzYxODc2ZTFmMzBhNjMzcC0xLAorICAgIC0weDEuMDRiNDkwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLmIzZDhlOGY5OTA4MzYwYjM4Y2QxM2ZjYmY2MjI0ZDkzcC0xLAorICAgIDB4MS4wY2FhNWI0NTBhNDMyNGYyMDRhNTU2YjA3MmRhMTI0YXAtMSwKKyAgICAweDEuMDRiNTM0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgLTB4MS5iM2Q4ZThmOTkwODM2MGIzOGNkMTNmY2JmNjIyNGQ5M3AtMSwKKyAgICAweDEuMGNhYTViNDUwYTQzMjRmMjA0YTU1NmIwNzJkYTEyNGFwLTEsCisgICAgLTB4MS4wNGI1MzRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMC4wZiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAwLjAsCisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMC4wZiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAtMTQ5LAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5LAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS4xNzczZDM2YTY0ZGY2MWQ2NzE1ZTYwYWYwNjM1NTlmNHAtMSwKKyAgICAweDEuYWQwMmM4YjljYzkzZjQ0OGVmNGViMDY4YTg4OTIyYTNwLTEsCisgICAgMHgxLjI3OWE3MnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjE3NzNkMzZhNjRkZjYxZDY3MTVlNjBhZjA2MzU1OWY0cC0xLAorICAgIDB4MS5hZDAyYzhiOWNjOTNmNDQ4ZWY0ZWIwNjhhODg5MjJhM3AtMSwKKyAgICAtMHgxLjI3OWE3MnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuMTc3M2Q1MTc2N2E3OGZlOTFiNTVmNmI3ZTVmZDQ0YzJwLTEsCisgICAgMHgxLmFkMDJjN2EyNThiZmIzNjJhYmJlODZmYjQ4ZjRlOThicC0xLAorICAgIDB4MS4yNzlhNzRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS4xNzczZDUxNzY3YTc4ZmU5MWI1NWY2YjdlNWZkNDRjMnAtMSwKKyAgICAweDEuYWQwMmM3YTI1OGJmYjM2MmFiYmU4NmZiNDhmNGU5OGJwLTEsCisgICAgLTB4MS4yNzlhNzRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMHgxLjE3NzNkNmM0NmE2ZWE2ODdmMDM2MjUxOTRkMjViYjUycC0xLAorICAgIDB4MS5hZDAyYzY4YWU0ZTljNTc5YTA4YzA0Y2U1OWJlNDAwMnAtMSwKKyAgICAweDEuMjc5YTc2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0weDEuMTc3M2Q2YzQ2YTZlYTY4N2YwMzYyNTE5NGQyNWJiNTJwLTEsCisgICAgMHgxLmFkMDJjNjhhZTRlOWM1NzlhMDhjMDRjZTU5YmU0MDAycC0xLAorICAgIC0weDEuMjc5YTc2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDB4MS5mOTViOGY0MDUwMTA1N2FjNDlhY2VmMTM5OTNiMGM1NXAtMSwKKyAgICAtMHgxLjQ4ZDFjOWU5OGI2YzA4Nzg0ZjEwMDQwZjQ3YTEyMTkxcC0zLAorICAgIDB4MS5iYjY3YWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMHgxLmY5NWI4ZjQwNTAxMDU3YWM0OWFjZWYxMzk5M2IwYzU1cC0xLAorICAgIC0weDEuNDhkMWM5ZTk4YjZjMDg3ODRmMTAwNDBmNDdhMTIxOTFwLTMsCisgICAgLTB4MS5iYjY3YWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuZjk1YjhlOWJlNzI3NzAyZjc1OTVhZTEwMDBhMTRhMWFwLTEsCisgICAgLTB4MS40OGQxZDliNDY3ZTM3OTU1MzM3MzExZGVjZDA5ZmM3NHAtMywKKyAgICAweDEuYmI2N2FlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS5mOTViOGU5YmU3Mjc3MDJmNzU5NWFlMTAwMGExNGExYXAtMSwKKyAgICAtMHgxLjQ4ZDFkOWI0NjdlMzc5NTUzMzczMTFkZWNkMDlmYzc0cC0zLAorICAgIC0weDEuYmI2N2FlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLmY5NWI4ZGY3N2UzNmEzNDQ2NzBlZDA3MTQ5MTkxYTU4cC0xLAorICAgIC0weDEuNDhkMWU5N2Y0NDU1YzZlYWIxMDQ4MDIyMjM4YjJiZDBwLTMsCisgICAgMHgxLmJiNjdiMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuZjk1YjhkZjc3ZTM2YTM0NDY3MGVkMDcxNDkxOTFhNThwLTEsCisgICAgLTB4MS40OGQxZTk3ZjQ0NTVjNmVhYjEwNDgwMjIyMzhiMmJkMHAtMywKKyAgICAtMHgxLmJiNjdiMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS5iMWQ4MmU4MzVhOTE4ZGUxOGY1ZmRhZGM4YjEyNDBjZnAtMiwKKyAgICAweDEuY2ZjNmQwMTFhMGU1ZDBmY2ViYjU0YjVmZWQ2NzI5NDBwLTEsCisgICAgMHgxLmJmZmZmZXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMHgxLmIxZDgyZTgzNWE5MThkZTE4ZjVmZGFkYzhiMTI0MGNmcC0yLAorICAgIDB4MS5jZmM2ZDAxMWEwZTVkMGZjZWJiNTRiNWZlZDY3Mjk0MHAtMSwKKyAgICAtMHgxLmJmZmZmZXAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuYjFkODMwNTMyMTYxNjk0NzZmNGQxOTgyYjliMTRhYjFwLTIsCisgICAgMHgxLmNmYzZjZmE1MmFkOWY2MmQ2ZDU0MjNjYTgzMzlhMDBhcC0xLAorICAgIDB4MS5jMHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAorICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKKyAgICAtMHgxLmMwcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS5iMWQ4MzIyMmU4MzBkODM3NDMyNThmZDA5MDQwZWU1NnAtMiwKKyAgICAweDEuY2ZjNmNmMzhiNGNkYTc2YzNiMDliMTdlOWRlYjE5ZWFwLTEsCisgICAgMHgxLmMwMDAwMnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMHgxLmIxZDgzMjIyZTgzMGQ4Mzc0MzI1OGZkMDkwNDBlZTU2cC0yLAorICAgIDB4MS5jZmM2Y2YzOGI0Y2RhNzZjM2IwOWIxN2U5ZGViMTllYXAtMSwKKyAgICAtMHgxLmMwMDAwMnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuNDRlYjM2OTE0MjgwNjJiMjc5MjVjNTg1YWQ1OWQ2MmFwLTEsCisgICAgMHgxLjhiYjEwNmVhYzdjNzVkMzNmYmIxOTQ0NjMxM2VjYzJmcC0xLAorICAgIDB4MS41ZmZmZmVwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS40NGViMzY5MTQyODA2MmIyNzkyNWM1ODVhZDU5ZDYyYXAtMSwKKyAgICAweDEuOGJiMTA2ZWFjN2M3NWQzM2ZiYjE5NDQ2MzEzZWNjMmZwLTEsCisgICAgLTB4MS41ZmZmZmVwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjQ0ZWIzODFjZjM4NmFiMDRhNGY4NjU2YWJlYTgwYjgzcC0xLAorICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCisgICAgMHgxLjYwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuNDRlYjM4MWNmMzg2YWIwNGE0Zjg2NTZhYmVhODBiODNwLTEsCisgICAgMHgxLjhiYjEwNWE1ZGM5MDA2MThmODBmYTUxZDMwM2M2OXAtMSwKKyAgICAtMHgxLjYwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS40NGViMzlhOGE0OGJhZTZiOThhZTExYzk0MDA1MzVlNXAtMSwKKyAgICAweDEuOGJiMTA0NjBmMTU3MjM0Y2VlYzdkOTY0NGExYTc4ZTVwLTEsCisgICAgMHgxLjYwMDAwMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLjQ0ZWIzOWE4YTQ4YmFlNmI5OGFlMTFjOTQwMDUzNWU1cC0xLAorICAgIDB4MS44YmIxMDQ2MGYxNTcyMzRjZWVjN2Q5NjQ0YTFhNzhlNXAtMSwKKyAgICAtMHgxLjYwMDAwMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuZGFkOTAxN2I5NjQwOGMzNzVkNGZhZjBlNDc3NmQxZmNwLTEsCisgICAgMHgxLjdlZjQ4YjlhNmZkNWMyNGY1ZWMzOTgzOWUxNzI5Yjc4cC0yLAorICAgIDB4MS4yZmZmZmVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjEKKyAgICAtMHgxLmRhZDkwMTdiOTY0MDhjMzc1ZDRmYWYwZTQ3NzZkMWZjcC0xLAorICAgIDB4MS43ZWY0OGI5YTZmZDVjMjRmNWVjMzk4MzllMTcyOWI3OHAtMiwKKyAgICAtMHgxLjJmZmZmZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5kYWQ5MDJmYThhYzg3MGY1MmYxYjg0M2FjODNiYzNlZHAtMSwKKyAgICAweDEuN2VmNDg0MmYwYmNjZDYwZDRhNTAxZGM4YmM0YjU3YjNwLTIsCisgICAgMHgxLjMwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5kYWQ5MDJmYThhYzg3MGY1MmYxYjg0M2FjODNiYzNlZHAtMSwKKyAgICAweDEuN2VmNDg0MmYwYmNjZDYwZDRhNTAxZGM4YmM0YjU3YjNwLTIsCisgICAgLTB4MS4zMHAwLAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS5kYWQ5MDQ3OTdmNDhlYTRlZjRmZDJlNDdmZTRkNTJiZHAtMSwKKyAgICAweDEuN2VmNDdjYzNhN2JkZWRmOTI1MjA3NDI2M2Q4YTQ1OTZwLTIsCisgICAgMHgxLjMwMDAwMnAwLAorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEuZGFkOTA0Nzk3ZjQ4ZWE0ZWY0ZmQyZTQ3ZmU0ZDUyYmRwLTEsCisgICAgMHgxLjdlZjQ3Y2MzYTdiZGVkZjkyNTIwNzQyNjNkOGE0NTk2cC0yLAorICAgIC0weDEuMzAwMDAycDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgMHgxLjRiNzA4MDkzYzljYjQ1MzU1ZTc4MjFlNWFhZDk4Y2U4cC0xLAorICAgIC0weDEuODYzZWY1MDg1YmNjMzU4ZDJhZTg1MjViZjM5ZjBjNDBwLTEsCisgICAgMHgxLjM3ZmZmZXAxLAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIC0weDEuNGI3MDgwOTNjOWNiNDUzNTVlNzgyMWU1YWFkOThjZThwLTEsCisgICAgLTB4MS44NjNlZjUwODViY2MzNThkMmFlODUyNWJmMzlmMGM0MHAtMSwKKyAgICAtMHgxLjM3ZmZmZXAxLAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIDB4MS40YjcwN2E3YWNkZWNjODQyMzk0NjNlNzhiMzEyZmExMHAtMSwKKyAgICAtMHgxLjg2M2VmYTM2MWRjMjUyYmNhMWVhZWVkMzk3NDliZWQ3cC0xLAorICAgIDB4MS4zOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIC0weDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCisgICAgLTB4MS44NjNlZmEzNjFkYzI1MmJjYTFlYWVlZDM5NzQ5YmVkN3AtMSwKKyAgICAtMHgxLjM4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjRiNzA3NDYxZDFmOTk0NDc2YzY3N2M1YWQ1ZGRiMjY0cC0xLAorICAgIC0weDEuODYzZWZmNjNkZmEwMGJmYzc1OGJhZjQ2OTQ2OWQ3NDFwLTEsCisgICAgMHgxLjM4MDAwMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIC0weDEuNGI3MDc0NjFkMWY5OTQ0NzZjNjc3YzVhZDVkZGIyNjRwLTEsCisgICAgLTB4MS44NjNlZmY2M2RmYTAwYmZjNzU4YmFmNDY5NDY5ZDc0MXAtMSwKKyAgICAtMHgxLjM4MDAwMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4wNjZlN2Y3MDVhNmNhMmI5ZTEwN2Y3ZGM5ZjNiMjZlNnAtNCwKKyAgICAweDEuZmVmMmIyZDBhMTBlMjczOWM1NjY5MzY0ODBhMTQ3OWJwLTEsCisgICAgMHgxLjA2OWM4Y3AtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLjA2NmU3ZjcwNWE2Y2EyYjllMTA3ZjdkYzlmM2IyNmU2cC00LAorICAgIDB4MS5mZWYyYjJkMGExMGUyNzM5YzU2NjkzNjQ4MGExNDc5YnAtMSwKKyAgICAtMHgxLjA2OWM4Y3AtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuMDVlNDc2ZDI3ZmViYzhiN2U5NjkwMDA5YjM2N2MzMjdwLTMsCisgICAgMHgxLmZiY2JlNjhkZDEwYmFkMGEyMjljY2JiNTgwY2M1NDM2cC0xLAorICAgIDB4MS4wNjljOGNwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS4wNWU0NzZkMjdmZWJjOGI3ZTk2OTAwMDliMzY3YzMyN3AtMywKKyAgICAweDEuZmJjYmU2OGRkMTBiYWQwYTIyOWNjYmI1ODBjYzU0MzZwLTEsCisgICAgLTB4MS4wNjljOGNwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLjg3N2UyZGU1YzlhMDY2YjhkYjU5NWFkYzE0OWFmMGMwcC0zLAorICAgIDB4MS5mNjhlZWJlZjcyZTdmNjEyNmIzZjNkZGU2NDZhNzU1Y3AtMSwKKyAgICAweDEuODllYWQycC0zLAorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0weDEuODc3ZTJkZTVjOWEwNjZiOGRiNTk1YWRjMTQ5YWYwYzBwLTMsCisgICAgMHgxLmY2OGVlYmVmNzJlN2Y2MTI2YjNmM2RkZTY0NmE3NTVjcC0xLAorICAgIC0weDEuODllYWQycC0zLAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS4wM2JlMDdhY2I5ZGFiNzE5YjQzNDNhMzNiOWZhNmFmZXAtMiwKKyAgICAweDEuZWY0MTQ1OWQyZTkwZWExYjdmYWFkN2ZhYmQxZmQ0NDRwLTEsCisgICAgMHgxLjA2OWM4Y3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLjAzYmUwN2FjYjlkYWI3MTliNDM0M2EzM2I5ZmE2YWZlcC0yLAorICAgIDB4MS5lZjQxNDU5ZDJlOTBlYTFiN2ZhYWQ3ZmFiZDFmZDQ0NHAtMSwKKyAgICAtMHgxLjA2OWM4Y3AtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuNDJhYmJjNWIzYjJmOTFlOGVjZTQ2ZTVlZmZkMjgzNjlwLTIsCisgICAgMHgxLmU1ZWFhMjNhMjdmZThkNjg5MGEzZWRhY2UxYzYxOTk4cC0xLAorICAgIDB4MS40ODQzYjBwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS40MmFiYmM1YjNiMmY5MWU4ZWNlNDZlNWVmZmQyODM2OXAtMiwKKyAgICAweDEuZTVlYWEyM2EyN2ZlOGQ2ODkwYTNlZGFjZTFjNjE5OThwLTEsCisgICAgLTB4MS40ODQzYjBwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLjgwNDYwMTQxMWQ5M2Y0NzUwOTE5NjcwMDYxZGUwN2Q5cC0yLAorICAgIDB4MS5kYTk0ZDRiOTljM2E5YTVlMGQxZmM4NmQ1MzM2OWE4NHAtMSwKKyAgICAweDEuODllYWQ0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuODA0NjAxNDExZDkzZjQ3NTA5MTk2NzAwNjFkZTA3ZDlwLTIsCisgICAgMHgxLmRhOTRkNGI5OWMzYTlhNWUwZDFmYzg2ZDUzMzY5YTg0cC0xLAorICAgIC0weDEuODllYWQ0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5iYzRjMDhhZjM1NjA4OGIxNjk0OTk1YmZhZjhhMjk3YnAtMiwKKyAgICAweDEuY2Q0YmM5YWZjMDEyMzBiMmY5ODJmNjk2OGRhYjdmMDVwLTEsCisgICAgMHgxLmNiOTFmOHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLmJjNGMwOGFmMzU2MDg4YjE2OTQ5OTViZmFmOGEyOTdicC0yLAorICAgIDB4MS5jZDRiYzlhZmMwMTIzMGIyZjk4MmY2OTY4ZGFiN2YwNXAtMSwKKyAgICAtMHgxLmNiOTFmOHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuZjY3ZWFlMzRkYzBiNDJiNDY1ZmQyYTNmYjA3NTY0YTRwLTIsCisgICAgMHgxLmJlMWQ3YWRmMDc3ZGVmMmEzNjBmZWMyM2RiYmNlZjA5cC0xLAorICAgIDB4MS4wNjljOGVwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS5mNjdlYWUzNGRjMGI0MmI0NjVmZDJhM2ZiMDc1NjRhNHAtMiwKKyAgICAweDEuYmUxZDdhZGYwNzdkZWYyYTM2MGZlYzIzZGJiY2VmMDlwLTEsCisgICAgLTB4MS4wNjljOGVwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLjE3NTA1Yzg2MjMxODk4ZmQ4NmIxOGQyMjgyZDkzZWVkcC0xLAorICAgIDB4MS5hZDE5ZTA4NDdkMjVmM2FhMTQyMjg5ZGFiNTU3YmY5NnAtMSwKKyAgICAweDEuMjc3MDIwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuMTc1MDVjODYyMzE4OThmZDg2YjE4ZDIyODJkOTNlZWRwLTEsCisgICAgMHgxLmFkMTllMDg0N2QyNWYzYWExNDIyODlkYWI1NTdiZjk2cC0xLAorICAgIC0weDEuMjc3MDIwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS4zMjNiOGU0MGQxNjU3NWU1MGRjN2I2ZTU2N2JiNTA4NHAtMSwKKyAgICAweDEuOWE1MmUwOGIxOTFiZDU1NTEyYzgzNjUwNzRmMTk4N2ZwLTEsCisgICAgMHgxLjQ4NDNiMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLjMyM2I4ZTQwZDE2NTc1ZTUwZGM3YjZlNTY3YmI1MDg0cC0xLAorICAgIDB4MS45YTUyZTA4YjE5MWJkNTU1MTJjODM2NTA3NGYxOTg3ZnAtMSwKKyAgICAtMHgxLjQ4NDNiMnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuNGJlNDliMDhhMWUxNjI5Y2JkYWE1MDdlMTgyNTVjZDhwLTEsCisgICAgMHgxLjg1ZGMzYmI3YzJlOWFiYjVjY2NiNmQ5NmQxMmQzOWM0cC0xLAorICAgIDB4MS42OTE3NDRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS40YmU0OWIwOGExZTE2MjljYmRhYTUwN2UxODI1NWNkOHAtMSwKKyAgICAweDEuODVkYzNiYjdjMmU5YWJiNWNjY2I2ZDk2ZDEyZDM5YzRwLTEsCisgICAgLTB4MS42OTE3NDRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgMHgxLjY0MzA4NDdkYmJiZmQ0NmNiZWJiYzZkNWY1MWM3YzQ5cC0xLAorICAgIDB4MS42ZmNiNzhlMWNkNjVkMmU0ZmRlNzExOGNhYWM3OWQ2ZHAtMSwKKyAgICAweDEuODllYWQ2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuNjQzMDg0N2RiYmJmZDQ2Y2JlYmJjNmQ1ZjUxYzdjNDlwLTEsCisgICAgMHgxLjZmY2I3OGUxY2Q2NWQyZTRmZGU3MTE4Y2FhYzc5ZDZkcC0xLAorICAgIC0weDEuODllYWQ2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS43YjA1YmI4N2IzODg0NGU1NjAwM2M0MWVmODA0YjI3M3AtMSwKKyAgICAweDEuNTgzN2NlNGRjODM1ZDRhNTQ1NGVjMGExYmIzOTQwODFwLTEsCisgICAgMHgxLmFhYmU2OHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLjdiMDViYjg3YjM4ODQ0ZTU2MDAzYzQxZWY4MDRiMjczcC0xLAorICAgIDB4MS41ODM3Y2U0ZGM4MzVkNGE1NDU0ZWMwYTFiYjM5NDA4MXAtMSwKKyAgICAtMHgxLmFhYmU2OHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuOTA0YzNiMzg5ZDU1ZDNkZWRkYjM5ZDA1ZWIzNjY1NzFwLTEsCisgICAgMHgxLjNmM2EwOTQyNzk2NmU5NTE4ODAyZGVlM2JmNDQzYTk1cC0xLAorICAgIDB4MS5jYjkxZmFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS45MDRjM2IzODlkNTVkM2RlZGRiMzlkMDVlYjM2NjU3MXAtMSwKKyAgICAweDEuM2YzYTA5NDI3OTY2ZTk1MTg4MDJkZWUzYmY0NDNhOTVwLTEsCisgICAgLTB4MS5jYjkxZmFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLmEzZWRhMjExNzk4YTgyNjk3ZDYyNDMxZjlhZTQ2Y2M0cC0xLAorICAgIDB4MS4yNGVjNzNmMWFlZWY0OTQwYmI4ZGExOWE4MmJiYzQ5ZnAtMSwKKyAgICAweDEuZWM2NThjcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuYTNlZGEyMTE3OThhODI2OTdkNjI0MzFmOWFlNDZjYzRwLTEsCisgICAgMHgxLjI0ZWM3M2YxYWVlZjQ5NDBiYjhkYTE5YTgyYmJjNDlmcC0xLAorICAgIC0weDEuZWM2NThjcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS5iNWQ1NDg4M2ZjYjYxMjNiYzI4YWFjOTFmMDg1ZTRlZXAtMSwKKyAgICAweDEuMDk2YWJiODYyZjliZDU1MTU5ODJjMjgxOGMzMzJmZjlwLTEsCisgICAgMHgxLjA2OWM4ZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuYjVkNTQ4ODNmY2I2MTIzYmMyOGFhYzkxZjA4NWU0ZWVwLTEsCisgICAgMHgxLjA5NmFiYjg2MmY5YmQ1NTE1OTgyYzI4MThjMzMyZmY5cC0xLAorICAgIC0weDEuMDY5YzhlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLmM1ZjA1YTAxMzVkNDg4MmM3NjhjZGYxOGUyZTExMTJjcC0xLAorICAgIDB4MS5kOWEzOWMwZGRkYzY1NGM3MTdlMzAzNmRhNWRkNjg1Y3AtMiwKKyAgICAweDEuMTcwNjU2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS5jNWYwNWEwMTM1ZDQ4ODJjNzY4Y2RmMThlMmUxMTEyY3AtMSwKKyAgICAweDEuZDlhMzljMGRkZGM2NTRjNzE3ZTMwMzZkYTVkZDY4NWNwLTIsCisgICAgLTB4MS4xNzA2NTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuZDQyZGU1M2UzMTVjODM5Y2UxODhlMjAxMjA1ZTk5ZGVwLTEsCisgICAgMHgxLjllN2Y4MTg0MGMwYmJkMGYxYjEzNzMzMDYxMDYyZDM0cC0yLAorICAgIDB4MS4yNzcwMWVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLmQ0MmRlNTNlMzE1YzgzOWNlMTg4ZTIwMTIwNWU5OWRlcC0xLAorICAgIDB4MS45ZTdmODE4NDBjMGJiZDBmMWIxMzczMzA2MTA2MmQzNHAtMiwKKyAgICAtMHgxLjI3NzAxZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS5lMDdlZWY0NWQ5MWVlYThhNmNjNzM2OWFhMGU1NTM4OHAtMSwKKyAgICAweDEuNjFhNzVlMmRlYjU5NjczMWM4Y2Q0NWUzZDk3OTQ1MjZwLTIsCisgICAgMHgxLjM3ZDllNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIC0weDEuZTA3ZWVmNDVkOTFlZWE4YTZjYzczNjlhYTBlNTUzODhwLTEsCisgICAgMHgxLjYxYTc1ZTJkZWI1OTY3MzFjOGNkNDVlM2Q5Nzk0NTI2cC0yLAorICAgIC0weDEuMzdkOWU2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLmVhZDY4MzNiMmFhMDAyYmFhMWMyYjE5YTM4ZGM5Yjc5cC0xLAorICAgIDB4MS4yMzViMzM3YjA5MWNkZDhhYzA2MzkwYWJjNjgxNmI4MnAtMiwKKyAgICAweDEuNDg0M2FlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS5lYWQ2ODMzYjJhYTAwMmJhYTFjMmIxOWEzOGRjOWI3OXAtMSwKKyAgICAweDEuMjM1YjMzN2IwOTFjZGQ4YWMwNjM5MGFiYzY4MTZiODJwLTIsCisgICAgLTB4MS40ODQzYWVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuZjMyOWJmZmE2YTIwODU5MWVlY2I2OTA1ZDc1OTRlM2JwLTEsCisgICAgMHgxLmM3YjkxNDZkNmQxMDgyNGZmNjUyZGMzOTBiYTJkN2Y5cC0zLAorICAgIDB4MS41OGFkNzZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLmYzMjliZmZhNmEyMDg1OTFlZWNiNjkwNWQ3NTk0ZTNicC0xLAorICAgIDB4MS5jN2I5MTQ2ZDZkMTA4MjRmZjY1MmRjMzkwYmEyZDdmOXAtMywKKyAgICAtMHgxLjU4YWQ3NnAwLAorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS5mOTZmZTM4YWZiZDk1YjVmY2QwODYwODExMGU5MzgxZnAtMSwKKyAgICAweDEuNDZkYzViMmYxZGU5NzdlZmZmN2MyNzhiNWFkYjJhNzVwLTMsCisgICAgMHgxLjY5MTczZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIC0weDEuZjk2ZmUzOGFmYmQ5NWI1ZmNkMDg2MDgxMTBlOTM4MWZwLTEsCisgICAgMHgxLjQ2ZGM1YjJmMWRlOTc3ZWZmZjdjMjc4YjVhZGIyYTc1cC0zLAorICAgIC0weDEuNjkxNzNlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLmZkYTI1NDU1ZDk1Njc3NzJmMjBmMjVkMTVlZmM2Nzc1cC0xLAorICAgIDB4MS44OTRmOTNlZjQ5YzQ1NzU4MDBiYmQ2NDZhM2EzMWQyYXAtNCwKKyAgICAweDEuNzk4MTA2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS5mZGEyNTQ1NWQ5NTY3NzcyZjIwZjI1ZDE1ZWZjNjc3NXAtMSwKKyAgICAweDEuODk0ZjkzZWY0OWM0NTc1ODAwYmJkNjQ2YTNhMzFkMmFwLTQsCisgICAgLTB4MS43OTgxMDZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuZmZiY2E4MTZmMWYxNTE2ZWM1ZDc1N2IwZGI1NGFlMzRwLTEsCisgICAgMHgxLjA2OTE2NGUzZjVjZWU5NGQ4NjVmYjUyZTMxNmRmZjZicC01LAorICAgIDB4MS44OWVhY2VwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAtMHgxLmZmYmNhODE2ZjFmMTUxNmVjNWQ3NTdiMGRiNTRhZTM0cC0xLAorICAgIDB4MS4wNjkxNjRlM2Y1Y2VlOTRkODY1ZmI1MmUzMTZkZmY2YnAtNSwKKyAgICAtMHgxLjg5ZWFjZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS5mZmJjYTg4MjI4YjE2MzE4OWFiOGQ2MzdkYjk5YmQyZHAtMSwKKyAgICAtMHgxLjA2OTA5M2VlYzBlZDA2NmVjODNkZDAzNDQ5OGVmOGJmcC01LAorICAgIDB4MS45YTU0OTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLmZmYmNhODgyMjhiMTYzMTg5YWI4ZDYzN2RiOTliZDJkcC0xLAorICAgIC0weDEuMDY5MDkzZWVjMGVkMDY2ZWM4M2RkMDM0NDk4ZWY4YmZwLTUsCisgICAgLTB4MS45YTU0OTZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuZmRhMjU1OTcwY2NkZGI5ZDEyN2VjZjYzNDAzYzJiZjdwLTEsCisgICAgLTB4MS44OTRmMmJlMjk3OWRkOWNlZDgzY2NjNjBjZjQ5Y2Q0NHAtNCwKKyAgICAweDEuYWFiZTVlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgLTB4MS5mZGEyNTU5NzBjY2RkYjlkMTI3ZWNmNjM0MDNjMmJmN3AtMSwKKyAgICAtMHgxLjg5NGYyYmUyOTc5ZGQ5Y2VkODNjY2M2MGNmNDljZDQ0cC00LAorICAgIC0weDEuYWFiZTVlcDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLmY5NmZlNWEwZGEyNDQ0ODlmYjJmNGI5N2IzZTQ4NzU3cC0xLAorICAgIC0weDEuNDZkYzI3OTY3MzUxOTVhMTVjODBlNWI3MTllMmZjNDJwLTMsCisgICAgMHgxLmJiMjgyNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIC0weDEuZjk2ZmU1YTBkYTI0NDQ4OWZiMmY0Yjk3YjNlNDg3NTdwLTEsCisgICAgLTB4MS40NmRjMjc5NjczNTE5NWExNWM4MGU1YjcxOWUyZmM0MnAtMywKKyAgICAtMHgxLmJiMjgyNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS5mMzI5YzJlMmMxYTM5YmFkOGVjZGNiODc5NjFiYTQ0YXAtMSwKKyAgICAtMHgxLmM3YjhlMTc4YjdlOGMwMWQ5ZjMyMDQ2NmNjN2E2OGQ0cC0zLAorICAgIDB4MS5jYjkxZWVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLmYzMjljMmUyYzFhMzliYWQ4ZWNkY2I4Nzk2MWJhNDRhcC0xLAorICAgIC0weDEuYzdiOGUxNzhiN2U4YzAxZDlmMzIwNDY2Y2M3YTY4ZDRwLTMsCisgICAgLTB4MS5jYjkxZWVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuZWFkNjg2ZjJlYzU3MmM4M2VkMzRhMDFmNzY0ZDE5M2VwLTEsCisgICAgLTB4MS4yMzViMWE2ZDc2N2U0YjM2MmM2NDU3MWFjOTdiNGExY3AtMiwKKyAgICAweDEuZGJmYmI2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgLTB4MS5lYWQ2ODZmMmVjNTcyYzgzZWQzNGEwMWY3NjRkMTkzZXAtMSwKKyAgICAtMHgxLjIzNWIxYTZkNzY3ZTRiMzYyYzY0NTcxYWM5N2I0YTFjcC0yLAorICAgIC0weDEuZGJmYmI2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLmUwN2VmM2M5MWJkNTAwYTBkZTIzMGFkNTczMTYzMTYzcC0xLAorICAgIC0weDEuNjFhNzQ1YTc3YjdlODNjMmY4YTJmOWIwOTFlODlhYWFwLTIsCisgICAgMHgxLmVjNjU3ZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIC0weDEuZTA3ZWYzYzkxYmQ1MDBhMGRlMjMwYWQ1NzMxNjMxNjNwLTEsCisgICAgLTB4MS42MWE3NDVhNzdiN2U4M2MyZjhhMmY5YjA5MWU4OWFhYXAtMiwKKyAgICAtMHgxLmVjNjU3ZXAwLAorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS5kNDJkZWE4ODM1Yzg4YWRiOWNkZTE3MzQ3ZjkzNGUyNXAtMSwKKyAgICAtMHgxLjllN2Y2OTllOGI5YWFmOGVkNTFjNzFjOGY3M2IwYjc0cC0yLAorICAgIDB4MS5mY2NmNDZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAtMHgxLmQ0MmRlYTg4MzVjODhhZGI5Y2RlMTczNDdmOTM0ZTI1cC0xLAorICAgIC0weDEuOWU3ZjY5OWU4YjlhYWY4ZWQ1MWM3MWM4ZjczYjBiNzRwLTIsCisgICAgLTB4MS5mY2NmNDZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTQKKyAgICAweDEuYzVmMDVlMzJjODBmYjBmZTYwMzAzM2VjMDI4YTRjMzJwLTEsCisgICAgLTB4MS5kOWEzOGJmYTMxOTViYTFjYWE3ZmI2OWJjMWQwNGU0MnAtMiwKKyAgICAweDEuMDY5Yzg4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgLTB4MS5jNWYwNWUzMmM4MGZiMGZlNjAzMDMzZWMwMjhhNGMzMnAtMSwKKyAgICAtMHgxLmQ5YTM4YmZhMzE5NWJhMWNhYTdmYjY5YmMxZDA0ZTQycC0yLAorICAgIC0weDEuMDY5Yzg4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLmI1ZDU0ZDM3MzJkM2IyZTc5ZDQ5MDdlMTE1NDAxZGRhcC0xLAorICAgIC0weDEuMDk2YWIzYzU1YzkxZjM2ZTIzNTllZDFjNWE4MzQyZGZwLTEsCisgICAgMHgxLjBlZDE2Y3AxLAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuYjVkNTRkMzczMmQzYjJlNzlkNDkwN2UxMTU0MDFkZGFwLTEsCisgICAgLTB4MS4wOTZhYjNjNTVjOTFmMzZlMjM1OWVkMWM1YTgzNDJkZnAtMSwKKyAgICAtMHgxLjBlZDE2Y3AxLAorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDB4MS5hM2VkYTc0MTYxZDA2YjgzZWMyYzhkYzM5NmQ4MTNiOXAtMSwKKyAgICAtMHgxLjI0ZWM2YzgyMDZlNzQ0MzIyZDk5ZjQ3ZTllNDFiZWNlcC0xLAorICAgIDB4MS4xNzA2NTBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAtMHgxLmEzZWRhNzQxNjFkMDZiODNlYzJjOGRjMzk2ZDgxM2I5cC0xLAorICAgIC0weDEuMjRlYzZjODIwNmU3NDQzMjJkOTlmNDdlOWU0MWJlY2VwLTEsCisgICAgLTB4MS4xNzA2NTBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuOTA0YzQyMWVmY2U1OGY0ZTgxNzBkMzZkY2RhOGUwMmNwLTEsCisgICAgLTB4MS4zZjNhMDA5YjgyYjViODIzNGUxMjk2ZGQ3M2NmZjQ5ZHAtMSwKKyAgICAweDEuMWYzYjM0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS45MDRjNDIxZWZjZTU4ZjRlODE3MGQzNmRjZGE4ZTAyY3AtMSwKKyAgICAtMHgxLjNmM2EwMDliODJiNWI4MjM0ZTEyOTZkZDczY2ZmNDlkcC0xLAorICAgIC0weDEuMWYzYjM0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLjdiMDVjNDUwOTM5NDRkNmFmYjBjOTBkMmY5Y2IyMTdmcC0xLAorICAgIC0weDEuNTgzN2M0YTE4NGNjZjdlZDU3YzE4OWYyYWRkZjMyYzVwLTEsCisgICAgMHgxLjI3NzAxOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuN2IwNWM0NTA5Mzk0NGQ2YWZiMGM5MGQyZjljYjIxN2ZwLTEsCisgICAgLTB4MS41ODM3YzRhMTg0Y2NmN2VkNTdjMTg5ZjJhZGRmMzJjNXAtMSwKKyAgICAtMHgxLjI3NzAxOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS42NDMwOGY1MDZmZmRhZjEzMjZkMTBiMzM4MDI3OGU5OHAtMSwKKyAgICAtMHgxLjZmY2I2ZTY2ODVlNzJmYjQwNzRlNzBjZDMxNjJkM2JhcC0xLAorICAgIDB4MS4yZmE0ZmNwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAtMHgxLjY0MzA4ZjUwNmZmZGFmMTMyNmQxMGIzMzgwMjc4ZTk4cC0xLAorICAgIC0weDEuNmZjYjZlNjY4NWU3MmZiNDA3NGU3MGNkMzE2MmQzYmFwLTEsCisgICAgLTB4MS4yZmE0ZmNwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuNGJlNGE4MDc2YzEzNWE0OGYzZjFhMWFhYTM2MjQ3NWZwLTEsCisgICAgLTB4MS44NWRjMzBhNzlmMjY3NTRhYjEzNzAzMzhlZTdiZmQxMXAtMSwKKyAgICAweDEuMzdkOWUwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS40YmU0YTgwNzZjMTM1YTQ4ZjNmMWExYWFhMzYyNDc1ZnAtMSwKKyAgICAtMHgxLjg1ZGMzMGE3OWYyNjc1NGFiMTM3MDMzOGVlN2JmZDExcC0xLAorICAgIC0weDEuMzdkOWUwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLjMyM2I5ZDg4OGQ0ZGE3N2E2MTA4OTM3MzVlZWVkMWNicC0xLAorICAgIC0weDEuOWE1MmQ1MjNiMTUzMmU0ZWQ0NzdlMjdkYzYwNTFjMTJwLTEsCisgICAgMHgxLjQwMGVjNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIC0weDEuMzIzYjlkODg4ZDRkYTc3YTYxMDg5MzczNWVlZWQxY2JwLTEsCisgICAgLTB4MS45YTUyZDUyM2IxNTMyZTRlZDQ3N2UyN2RjNjA1MWMxMnAtMSwKKyAgICAtMHgxLjQwMGVjNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS4xNzUwNmUyZGZiNjAzZDM0YjlhZjM5YjEyYzFkYjczNXAtMSwKKyAgICAtMHgxLmFkMTlkNTA2NjRhYmYwYzAxNDExMzdkMmNhNTA5ZjIxcC0xLAorICAgIDB4MS40ODQzYThwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAtMHgxLjE3NTA2ZTJkZmI2MDNkMzRiOWFmMzliMTJjMWRiNzM1cC0xLAorICAgIC0weDEuYWQxOWQ1MDY2NGFiZjBjMDE0MTEzN2QyY2E1MDlmMjFwLTEsCisgICAgLTB4MS40ODQzYThwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZjY3ZWQ2NjczNTJkNDgyNzQ1MDAxM2YxNWUzMjFiZmJwLTIsCisgICAgLTB4MS5iZTFkNmY4ZDUxN2RiNWMyY2Y3ZGUwZmFmMDgwOGQzMHAtMSwKKyAgICAweDEuNTA3ODhjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5mNjdlZDY2NzM1MmQ0ODI3NDUwMDEzZjE1ZTMyMWJmYnAtMiwKKyAgICAtMHgxLmJlMWQ2ZjhkNTE3ZGI1YzJjZjdkZTBmYWYwODA4ZDMwcC0xLAorICAgIC0weDEuNTA3ODhjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLmJjNGMzNWRhNTFlMzRiNzc2ZTVlMDRkYTU4ZjIzNDQxcC0yLAorICAgIC0weDEuY2Q0YmJlY2Y3ZjI3MDVkNGZkMDBkZDQ2Mzc4MGY0NWVwLTEsCisgICAgMHgxLjU4YWQ3MHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIC0weDEuYmM0YzM1ZGE1MWUzNGI3NzZlNWUwNGRhNThmMjM0NDFwLTIsCisgICAgLTB4MS5jZDRiYmVjZjdmMjcwNWQ0ZmQwMGRkNDYzNzgwZjQ1ZXAtMSwKKyAgICAtMHgxLjU4YWQ3MHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS44MDQ2MzM2ZTY4NDI3Y2Y3NTYwNTZkM2Y0ZWRiYjY2MnAtMiwKKyAgICAtMHgxLmRhOTRjYTkxNWRhM2NkZDFmZmY4MzlkODVlZWMzOWUycC0xLAorICAgIDB4MS42MGUyNTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAtMHgxLjgwNDYzMzZlNjg0MjdjZjc1NjA1NmQzZjRlZGJiNjYycC0yLAorICAgIC0weDEuZGE5NGNhOTE1ZGEzY2RkMWZmZjgzOWQ4NWVlYzM5ZTJwLTEsCisgICAgLTB4MS42MGUyNTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAweDEuNDJhYmYzODcyOTA1ZTYzMmYyMDRjNDFiMjRhZjkwYjZwLTIsCisgICAgLTB4MS5lNWVhOTkxMTZiMzkzNjFhYzkyNmRkOWZkYzIwODlkMXAtMSwKKyAgICAweDEuNjkxNzM4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS40MmFiZjM4NzI5MDVlNjMyZjIwNGM0MWIyNGFmOTBiNnAtMiwKKyAgICAtMHgxLmU1ZWE5OTExNmIzOTM2MWFjOTI2ZGQ5ZmRjMjA4OWQxcC0xLAorICAgIC0weDEuNjkxNzM4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLjAzYmU0M2M2OTlmMzUzNjk5MGRjZjVhNjY2NWFjMjM5cC0yLAorICAgIC0weDEuZWY0MTNkYmJkYTI4NTlmZmIwZDFhYjg0MzQyZmQyMzVwLTEsCisgICAgMHgxLjcxNGMxY3AxLAorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIC0weDEuMDNiZTQzYzY5OWYzNTM2OTkwZGNmNWE2NjY1YWMyMzlwLTIsCisgICAgLTB4MS5lZjQxM2RiYmRhMjg1OWZmYjBkMWFiODQzNDJmZDIzNXAtMSwKKyAgICAtMHgxLjcxNGMxY3AxLAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS44NzdlYWRjMmZkZmMyZjBkYjFlOGI3OGNkM2ZiZmJkMnAtMywKKyAgICAtMHgxLmY2OGVlNWI1YmYzNTZiMTAyMzA5NDRhMThlNzA5MjVjcC0xLAorICAgIDB4MS43OTgxcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgLTB4MS44NzdlYWRjMmZkZmMyZjBkYjFlOGI3OGNkM2ZiZmJkMnAtMywKKyAgICAtMHgxLmY2OGVlNWI1YmYzNTZiMTAyMzA5NDRhMThlNzA5MjVjcC0xLAorICAgIC0weDEuNzk4MXAxLAorICB9LAorICB7IC8vIEVudHJ5IDQyNAorICAgIDB4MS4wNWU0ZmRmODQ2NjMyYTgyMDhkOTBkZTcyZDNhNmRhOHAtMywKKyAgICAtMHgxLmZiY2JlMjMyOTZmYzYxYjk2ZjM4MmYzNWVhMTVjNzY4cC0xLAorICAgIDB4MS44MWI1ZTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAtMHgxLjA1ZTRmZGY4NDY2MzJhODIwOGQ5MGRlNzJkM2E2ZGE4cC0zLAorICAgIC0weDEuZmJjYmUyMzI5NmZjNjFiOTZmMzgyZjM1ZWExNWM3NjhwLTEsCisgICAgLTB4MS44MWI1ZTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuMDY2ZjliNjMwYjcyZGZmMTY0NTBlODlhZmRmN2UwNDhwLTQsCisgICAgLTB4MS5mZWYyYjA4OTQzMTk3Y2QzYThiYTg2MTA5NTIyN2M0OHAtMSwKKyAgICAweDEuODllYWM4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgLTB4MS4wNjZmOWI2MzBiNzJkZmYxNjQ1MGU4OWFmZGY3ZTA0OHAtNCwKKyAgICAtMHgxLmZlZjJiMDg5NDMxOTdjZDNhOGJhODYxMDk1MjI3YzQ4cC0xLAorICAgIC0weDEuODllYWM4cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLjAzYmRmMGI3OWNjZjczOTUyOWQ1NGQ0MjI4NjEwNDZjcC0yLAorICAgIDB4MS5lZjQxNDg5ZmMyZmU4MDFhNmZjOGFlNzkxNDM4ZWI3OHAtMSwKKyAgICAtMHgxLjgxYjVlZXAyLAorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuMDNiZGYwYjc5Y2NmNzM5NTI5ZDU0ZDQyMjg2MTA0NmNwLTIsCisgICAgMHgxLmVmNDE0ODlmYzJmZTgwMWE2ZmM4YWU3OTE0MzhlYjc4cC0xLAorICAgIDB4MS44MWI1ZWVwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAweDEuZjY3ZThiOTVmNTQ2MGVhMzY5YTgwMzgzN2I3MjFhYmRwLTIsCisgICAgMHgxLmJlMWQ4NDllYzY0OWI3OTczMjBlOTg1ZDBiODJhZTg1cC0xLAorICAgIC0weDEuNzE0YzI2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgLTB4MS5mNjdlOGI5NWY1NDYwZWEzNjlhODAzODM3YjcyMWFiZHAtMiwKKyAgICAweDEuYmUxZDg0OWVjNjQ5Yjc5NzMyMGU5ODVkMGI4MmFlODVwLTEsCisgICAgMHgxLjcxNGMyNnAyLAorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIDB4MS42NDMwNzA3OTE3NTFkYzA2MzZkMTg1NGQyYmRiYzVkNHAtMSwKKyAgICAweDEuNmZjYjhjNDRiZDMwZGQ2NjgxNDg2MDU5NjliMWMxNjFwLTEsCisgICAgLTB4MS42MGUyNWVwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLjY0MzA3MDc5MTc1MWRjMDYzNmQxODU0ZDJiZGJjNWQ0cC0xLAorICAgIDB4MS42ZmNiOGM0NGJkMzBkZDY2ODE0ODYwNTk2OWIxYzE2MXAtMSwKKyAgICAweDEuNjBlMjVlcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLmI1ZDUzNmY1OTExM2E0M2FmMzBlOGM5ZGI4YTk1MWE1cC0xLAorICAgIDB4MS4wOTZhZDg3YzMyNjYyMmM0MmRlMzRmOTI4MTRjZmE4NHAtMSwKKyAgICAtMHgxLjUwNzg5NnAyLAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuYjVkNTM2ZjU5MTEzYTQzYWYzMGU4YzlkYjhhOTUxYTVwLTEsCisgICAgMHgxLjA5NmFkODdjMzI2NjIyYzQyZGUzNGY5MjgxNGNmYTg0cC0xLAorICAgIDB4MS41MDc4OTZwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAweDEuZWFkNjc5OTg1NTQ5MTQwMzE4MzQ5ZjUxMmRjYTdhNmJwLTEsCisgICAgMHgxLjIzNWI3NDZhMmEyZWZmMmJmNjQwZGQ4YzA0ZDM1YTVicC0yLAorICAgIC0weDEuNDAwZWNlcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgLTB4MS5lYWQ2Nzk5ODU1NDkxNDAzMTgzNDlmNTEyZGNhN2E2YnAtMSwKKyAgICAweDEuMjM1Yjc0NmEyYTJlZmYyYmY2NDBkZDhjMDRkMzVhNWJwLTIsCisgICAgMHgxLjQwMGVjZXAyLAorICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIDB4MS5mZmJjYTcwMTBlMGIwNDUyZjU2MDc1Y2ZkNTk4Mjg4MHAtMSwKKyAgICAweDEuMDY5MzgyN2I0NmNlZTNiNjYxYWMxNzExNGI1ZmUwZmJwLTUsCisgICAgLTB4MS4yZmE1MDZwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLmZmYmNhNzAxMGUwYjA0NTJmNTYwNzVjZmQ1OTgyODgwcC0xLAorICAgIDB4MS4wNjkzODI3YjQ2Y2VlM2I2NjFhYzE3MTE0YjVmZTBmYnAtNSwKKyAgICAweDEuMmZhNTA2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgMHgxLmYzMjljYTZiZmM3NDI1ZDg5YzJiNGI5YWQ3M2FiMTA4cC0xLAorICAgIC0weDEuYzdiODVkNjY4ZTJhYmNjNDY1NDJjYTg1MjdmMGI4MDFwLTMsCisgICAgLTB4MS4xZjNiM2VwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLmYzMjljYTZiZmM3NDI1ZDg5YzJiNGI5YWQ3M2FiMTA4cC0xLAorICAgIC0weDEuYzdiODVkNjY4ZTJhYmNjNDY1NDJjYTg1MjdmMGI4MDFwLTMsCisgICAgMHgxLjFmM2IzZXAyLAorICB9LAorICB7IC8vIEVudHJ5IDQ0MgorICAgIDB4MS5jNWYwNmZiNjk0MjdhYzBmMmQ2OTQyOGQ4MmI1ZTY2OXAtMSwKKyAgICAtMHgxLmQ5YTM0OGQ0ZjQzNjNiYTQ1NjIxMTBkYjAxZWU4NGU4cC0yLAorICAgIC0weDEuMGVkMTc2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS5jNWYwNmZiNjk0MjdhYzBmMmQ2OTQyOGQ4MmI1ZTY2OXAtMSwKKyAgICAtMHgxLmQ5YTM0OGQ0ZjQzNjNiYTQ1NjIxMTBkYjAxZWU4NGU4cC0yLAorICAgIDB4MS4wZWQxNzZwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuN2IwNWQ4NjRlYzk4MDJhZGJjNGI1NTc3YzIzMzgzNmFwLTEsCisgICAgLTB4MS41ODM3YWU4NTY5Yzk1ODQ2ZTYxNjRkOTYzNjU0NjEyMHAtMSwKKyAgICAtMHgxLmZjY2Y1YXAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIC0weDEuN2IwNWQ4NjRlYzk4MDJhZGJjNGI1NTc3YzIzMzgzNmFwLTEsCisgICAgLTB4MS41ODM3YWU4NTY5Yzk1ODQ2ZTYxNjRkOTYzNjU0NjEyMHAtMSwKKyAgICAweDEuZmNjZjVhcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgMHgxLjE3NTA4MDgxODVhOTk4YmJjZWNjM2E2YWMwY2IyOTA3cC0xLAorICAgIC0weDEuYWQxOWM5MTg4ODMwMDBiMGI3MDJlYzA4MGNmMDEyMmVwLTEsCisgICAgLTB4MS5kYmZiYzhwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAtMHgxLjE3NTA4MDgxODVhOTk4YmJjZWNjM2E2YWMwY2IyOTA3cC0xLAorICAgIC0weDEuYWQxOWM5MTg4ODMwMDBiMGI3MDJlYzA4MGNmMDEyMmVwLTEsCisgICAgMHgxLmRiZmJjOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ0OAorICAgIDB4MS40MmFjMGRkOTQ5NTIxMTgxNmJmMDRjYTUzYmNlNGJlYXAtMiwKKyAgICAtMHgxLmU1ZWE5NGIyY2YwN2FkZDNkMGQ5NWFiM2EzMGFkNGFicC0xLAorICAgIC0weDEuYmIyODM2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS40MmFjMGRkOTQ5NTIxMTgxNmJmMDRjYTUzYmNlNGJlYXAtMiwKKyAgICAtMHgxLmU1ZWE5NGIyY2YwN2FkZDNkMGQ5NWFiM2EzMGFkNGFicC0xLAorICAgIDB4MS5iYjI4MzZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuMDY2ZmNhMzlhNzBiNTJkMDZmMmNkN2VhYjY5YzMxZjJwLTQsCisgICAgLTB4MS5mZWYyYjAyOTA4NTU5ZjkyZGU4OTJkMjQwYTJiMGI0OXAtMSwKKyAgICAtMHgxLjlhNTRhNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIC0weDEuMDY2ZmNhMzlhNzBiNTJkMDZmMmNkN2VhYjY5YzMxZjJwLTQsCisgICAgLTB4MS5mZWYyYjAyOTA4NTU5ZjkyZGU4OTJkMjQwYTJiMGI0OXAtMSwKKyAgICAweDEuOWE1NGE0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgLTB4MS44NzdkOTMxMjk4ZTZmYmM2NTRmMDY1NTM2Y2ZmMmI1NHAtMywKKyAgICAtMHgxLmY2OGVmMzc5MmU1OTJjM2NlZmJjZTFkNWRlZDY0YTkycC0xLAorICAgIC0weDEuNzk4MTEycDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLjg3N2Q5MzEyOThlNmZiYzY1NGYwNjU1MzZjZmYyYjU0cC0zLAorICAgIC0weDEuZjY4ZWYzNzkyZTU5MmMzY2VmYmNlMWQ1ZGVkNjRhOTJwLTEsCisgICAgMHgxLjc5ODExMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIC0weDEuYmM0YmMyODc1ZWI2ZDM4ZWRhM2I0OWNiMjMyMGI1NjFwLTIsCisgICAgLTB4MS5jZDRiZGE5NDNlZWExMzYzMGY4ZTUwOGY4NzQ0ZjJmMnAtMSwKKyAgICAtMHgxLjU4YWQ4MHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5iYzRiYzI4NzVlYjZkMzhlZGEzYjQ5Y2IyMzIwYjU2MXAtMiwKKyAgICAtMHgxLmNkNGJkYTk0M2VlYTEzNjMwZjhlNTA4Zjg3NDRmMmYycC0xLAorICAgIDB4MS41OGFkODBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAtMHgxLjRiZTQ3ZDYzNTRjNGNlZDUzNzgwYjFiNTE5YWNkZWMycC0xLAorICAgIC0weDEuODVkYzU0ZjQ5ZjMyNGJkZmM3MWQ1NzQ5NDgzYjMzMThwLTEsCisgICAgLTB4MS4zN2Q5ZWVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuNGJlNDdkNjM1NGM0Y2VkNTM3ODBiMWI1MTlhY2RlYzJwLTEsCisgICAgLTB4MS44NWRjNTRmNDlmMzI0YmRmYzcxZDU3NDk0ODNiMzMxOHAtMSwKKyAgICAweDEuMzdkOWVlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgLTB4MS5hM2VkOGJjYjM1Y2JjZjhjNjA4OWY4MmE5MWMzMWQ1YnAtMSwKKyAgICAtMHgxLjI0ZWM5M2UwNGQ0YmRiNTRlMjBiZWFmMzgzNTE5YWY4cC0xLAorICAgIC0weDEuMTcwNjVjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLmEzZWQ4YmNiMzVjYmNmOGM2MDg5ZjgyYTkxYzMxZDVicC0xLAorICAgIC0weDEuMjRlYzkzZTA0ZDRiZGI1NGUyMGJlYWYzODM1MTlhZjhwLTEsCisgICAgMHgxLjE3MDY1Y3AxLAorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuZTA3ZWU0OTZlYTEwOTY1NGM0MmUxNzFmZGM0NTM3YzRwLTEsCisgICAgLTB4MS42MWE3OTgzZDRjMTZjNDUxYjY4YmYyZjViNzBmM2I2YXAtMiwKKyAgICAtMHgxLmVjNjU5NHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS5lMDdlZTQ5NmVhMTA5NjU0YzQyZTE3MWZkYzQ1MzdjNHAtMSwKKyAgICAtMHgxLjYxYTc5ODNkNGMxNmM0NTFiNjhiZjJmNWI3MGYzYjZhcC0yLAorICAgIDB4MS5lYzY1OTRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjIKKyAgICAtMHgxLmZkYTI1MjIyMTk2ODlkMGU4MDY5ZDkwZjVjOTY5YjkycC0xLAorICAgIC0weDEuODk1MDRhOGRlNmM5ZWNhYzY2M2U2NzU4M2NhYjQ3ZThwLTQsCisgICAgLTB4MS5hYWJlNzBwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuZmRhMjUyMjIxOTY4OWQwZTgwNjlkOTBmNWM5NjliOTJwLTEsCisgICAgLTB4MS44OTUwNGE4ZGU2YzllY2FjNjYzZTY3NTgzY2FiNDdlOHAtNCwKKyAgICAweDEuYWFiZTcwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgLTB4MS5mOTZmZTgwMmZlNTcwMzcyZDBmY2I2ZTkzNGI0MzA2MXAtMSwKKyAgICAweDEuNDZkYmVjOWVhM2E1ZjA4YmE3M2FhNjllN2UyMmRlMWNwLTMsCisgICAgLTB4MS42OTE3NGNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuZjk2ZmU4MDJmZTU3MDM3MmQwZmNiNmU5MzRiNDMwNjFwLTEsCisgICAgMHgxLjQ2ZGJlYzllYTNhNWYwOGJhNzNhYTY5ZTdlMjJkZTFjcC0zLAorICAgIDB4MS42OTE3NGNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAtMHgxLmQ0MmRlZDU2YWU4OGE2ZTFjZjI3MGFmMjdlNmYxODA0cC0xLAorICAgIDB4MS45ZTdmNWNmMDc1ZDFlYzRlZjY5YzljNjdiNjJjMjdjYnAtMiwKKyAgICAtMHgxLjI3NzAyOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS5kNDJkZWQ1NmFlODhhNmUxY2YyNzBhZjI3ZTZmMTgwNHAtMSwKKyAgICAweDEuOWU3ZjVjZjA3NWQxZWM0ZWY2OWM5YzY3YjYyYzI3Y2JwLTIsCisgICAgMHgxLjI3NzAyOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIC0weDEuOTA0YzQ1MzI2ZDZkZGUyMjQzODFkMWQ1OTBhZGE0MWNwLTEsCisgICAgMHgxLjNmMzlmY2MwMTc2NTNkMjYzNjgzN2E1NWZkZjZkMmQ0cC0xLAorICAgIC0weDEuY2I5MjBhcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS45MDRjNDUzMjZkNmRkZTIyNDM4MWQxZDU5MGFkYTQxY3AtMSwKKyAgICAweDEuM2YzOWZjYzAxNzY1M2QyNjM2ODM3YTU1ZmRmNmQyZDRwLTEsCisgICAgMHgxLmNiOTIwYXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAtMHgxLjMyM2I5Y2FkYmIxOWU3NWE0NDQ4M2ZiNjRhZDhkZGY2cC0xLAorICAgIDB4MS45YTUyZDVjNzAwZGFhM2RjOGNmOGY1YTcxZjJkZjI4OXAtMSwKKyAgICAtMHgxLjQ4NDNjNHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuMzIzYjljYWRiYjE5ZTc1YTQ0NDgzZmI2NGFkOGRkZjZwLTEsCisgICAgMHgxLjlhNTJkNWM3MDBkYWEzZGM4Y2Y4ZjVhNzFmMmRmMjg5cC0xLAorICAgIDB4MS40ODQzYzRwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgLTB4MS44MDQ2MjY1NGJkZTc2NmZhZjQ3ZjMxNDBlMjkwOTk2ZHAtMiwKKyAgICAweDEuZGE5NGNkMzgzZGQ3YTNiOTFhMmZjODhmZjkwNWE2YTBwLTEsCisgICAgLTB4MS44OWVhZmNwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNDczCisgICAgMHgxLjgwNDYyNjU0YmRlNzY2ZmFmNDdmMzE0MGUyOTA5OTZkcC0yLAorICAgIDB4MS5kYTk0Y2QzODNkZDdhM2I5MWEyZmM4OGZmOTA1YTZhMHAtMSwKKyAgICAweDEuODllYWZjcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIC0weDEuMDVlNGNhMjFmMzg2YTgyYmMyZTRlZmNkZWJiMTk2MmJwLTMsCisgICAgMHgxLmZiY2JlM2RlNThlNjZjMzI4M2JjODEwZDE2YzQ1ODMzcC0xLAorICAgIC0weDEuMDY5Y2UwcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS4wNWU0Y2EyMWYzODZhODJiYzJlNGVmY2RlYmIxOTYyYnAtMywKKyAgICAweDEuZmJjYmUzZGU1OGU2NmMzMjgzYmM4MTBkMTZjNDU4MzNwLTEsCisgICAgMHgxLjA2OWNlMHAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEuMDVlNDIzODMwYmUwMWY5ZmUzYzU3ZDA2ODY3ZTAwNTZwLTMsCisgICAgMHgxLmZiY2JlOTNkNDg1NjNkNTFiNmU5ZDZlZmRiNjI0OTVjcC0xLAorICAgIDB4MS4wNjljMzhwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgLTB4MS4wNWU0MjM4MzBiZTAxZjlmZTNjNTdkMDY4NjdlMDA1NnAtMywKKyAgICAweDEuZmJjYmU5M2Q0ODU2M2Q1MWI2ZTlkNmVmZGI2MjQ5NWNwLTEsCisgICAgLTB4MS4wNjljMzhwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgMHgxLjgwNDVkODc4NTJmMTMwN2ZlYTZkYzc1MWM0ZDE1OTkycC0yLAorICAgIDB4MS5kYTk0ZGNmYjFjZDE1ODUzY2U4NDhmZmIwMjY0YWQwOHAtMSwKKyAgICAweDEuODllYWE4cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIC0weDEuODA0NWQ4Nzg1MmYxMzA3ZmVhNmRjNzUxYzRkMTU5OTJwLTIsCisgICAgMHgxLmRhOTRkY2ZiMWNkMTU4NTNjZTg0OGZmYjAyNjRhZDA4cC0xLAorICAgIC0weDEuODllYWE4cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS4zMjNiN2IwNGVlODhjZmY5OGIyYTE2MjBlMWY2MWEwMXAtMSwKKyAgICAweDEuOWE1MmVlZTVlMzUzNzdkNTU0YWNlODgxYmRjNDcyNWJwLTEsCisgICAgMHgxLjQ4NDM5YXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODEKKyAgICAtMHgxLjMyM2I3YjA0ZWU4OGNmZjk4YjJhMTYyMGUxZjYxYTAxcC0xLAorICAgIDB4MS45YTUyZWVlNWUzNTM3N2Q1NTRhY2U4ODFiZGM0NzI1YnAtMSwKKyAgICAtMHgxLjQ4NDM5YXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuOTA0YzJiMDJhYTU5NTI4Y2UwNDRiZjIyMTNjOTY4NTlwLTEsCisgICAgMHgxLjNmM2ExZDk2NTdmZjZhYTQ5OGM0NmY2ZmFhZjAzYjkwcC0xLAorICAgIDB4MS5jYjkxZTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgLTB4MS45MDRjMmIwMmFhNTk1MjhjZTA0NGJmMjIxM2M5Njg1OXAtMSwKKyAgICAweDEuM2YzYTFkOTY1N2ZmNmFhNDk4YzQ2ZjZmYWFmMDNiOTBwLTEsCisgICAgLTB4MS5jYjkxZTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLmQ0MmRkZDI1YjM3OTdlNmE2NzlmNzZlMDVlNmMzZTA4cC0xLAorICAgIDB4MS45ZTdmYTYxN2ExYTNhNDAwYTdmNTlhYTg3OTA4OGUzMXAtMiwKKyAgICAweDEuMjc3MDE0cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDg1CisgICAgLTB4MS5kNDJkZGQyNWIzNzk3ZTZhNjc5Zjc2ZTA1ZTZjM2UwOHAtMSwKKyAgICAweDEuOWU3ZmE2MTdhMWEzYTQwMGE3ZjU5YWE4NzkwODhlMzFwLTIsCisgICAgLTB4MS4yNzcwMTRwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuZjk2ZmUxYTBiMTJkMGFkNGZhOGM4MmQ4YWY5ODljNWFwLTEsCisgICAgMHgxLjQ2ZGM4YTkxOWIyNzg0MGNkYTZlMThhMDc5ZGE0NTljcC0zLAorICAgIDB4MS42OTE3MzhwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODcKKyAgICAtMHgxLmY5NmZlMWEwYjEyZDBhZDRmYThjODJkOGFmOTg5YzVhcC0xLAorICAgIDB4MS40NmRjOGE5MTliMjc4NDBjZGE2ZTE4YTA3OWRhNDU5Y3AtMywKKyAgICAtMHgxLjY5MTczOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS5mZGEyNTVmOTYwOTRkOGZlNGU4NTljNGNmMGRkNjhhNXAtMSwKKyAgICAtMHgxLjg5NGYwYzA4NzI0MTU2NjNiN2Y5ZTRlNDgwMWRlYWYwcC00LAorICAgIDB4MS5hYWJlNWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODkKKyAgICAtMHgxLmZkYTI1NWY5NjA5NGQ4ZmU0ZTg1OWM0Y2YwZGQ2OGE1cC0xLAorICAgIC0weDEuODk0ZjBjMDg3MjQxNTY2M2I3ZjllNGU0ODAxZGVhZjBwLTQsCisgICAgLTB4MS5hYWJlNWNwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuZTA3ZWYyNjc3NDhiOTgyNzc4ZjhkNTBkMjk4MWJiM2FwLTEsCisgICAgLTB4MS42MWE3NGQyOTc3NGFlNGUzYmM1NTMzYTJlYTA4YTE0YXAtMiwKKyAgICAweDEuZWM2NTgwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgLTB4MS5lMDdlZjI2Nzc0OGI5ODI3NzhmOGQ1MGQyOTgxYmIzYXAtMSwKKyAgICAtMHgxLjYxYTc0ZDI5Nzc0YWU0ZTNiYzU1MzNhMmVhMDhhMTRhcC0yLAorICAgIC0weDEuZWM2NTgwcDAsCisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgMHgxLmEzZWRhMmFkYjAxMTQzZmIyMTQ1M2IyMGJkMTc0OGZlcC0xLAorICAgIC0weDEuMjRlYzczMTFiZDdiMjI1NWY5Yjg5MGIzZmY1ODk5ZjRwLTEsCisgICAgMHgxLjE3MDY1MnAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIC0weDEuYTNlZGEyYWRiMDExNDNmYjIxNDUzYjIwYmQxNzQ4ZmVwLTEsCisgICAgLTB4MS4yNGVjNzMxMWJkN2IyMjU1ZjliODkwYjNmZjU4OTlmNHAtMSwKKyAgICAtMHgxLjE3MDY1MnAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIDB4MS40YmU0OWJkODhhNjRhMGJiNDE0ZGRhY2FjNGZhOGRlOXAtMSwKKyAgICAtMHgxLjg1ZGMzYjA2YzQzNWY1MjRjODczZDliNWViYTNkZWY4cC0xLAorICAgIDB4MS4zN2Q5ZTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAtMHgxLjRiZTQ5YmQ4OGE2NGEwYmI0MTRkZGFjYWM0ZmE4ZGU5cC0xLAorICAgIC0weDEuODVkYzNiMDZjNDM1ZjUyNGM4NzNkOWI1ZWJhM2RlZjhwLTEsCisgICAgLTB4MS4zN2Q5ZTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuYmM0YzBhOWIzNzgyZTIyMGFlNTU3ODYzNjljY2YxOTBwLTIsCisgICAgLTB4MS5jZDRiYzkzOTQ3ZTg2NjcxYWM3ZjBlYWNkOTUyMTM3N3AtMSwKKyAgICAweDEuNThhZDc2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgLTB4MS5iYzRjMGE5YjM3ODJlMjIwYWU1NTc4NjM2OWNjZjE5MHAtMiwKKyAgICAtMHgxLmNkNGJjOTM5NDdlODY2NzFhYzdmMGVhY2Q5NTIxMzc3cC0xLAorICAgIC0weDEuNThhZDc2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNDk4CisgICAgMHgxLjg3N2UzMDFmNDNjYWZmZmU2NjQ0YTg5NThmMTA4NzI5cC0zLAorICAgIC0weDEuZjY4ZWViZDNiOGYxMmY5NDMzZTZkNzIyNDk4OWMxMGVwLTEsCisgICAgMHgxLjc5ODEwOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIC0weDEuODc3ZTMwMWY0M2NhZmZmZTY2NDRhODk1OGYxMDg3MjlwLTMsCisgICAgLTB4MS5mNjhlZWJkM2I4ZjEyZjk0MzNlNmQ3MjI0OTg5YzEwZXAtMSwKKyAgICAtMHgxLjc5ODEwOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIC0weDEuMDY2ZThhZTFmODI0YTY5ODE3ZTZhODA2ZTYzMTdlMjhwLTQsCisgICAgLTB4MS5mZWYyYjJiOTFlNDAwMjFhMmZlZTc0ZmM2MTgxMjE1N3AtMSwKKyAgICAweDEuOWE1NDlhcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLjA2NmU4YWUxZjgyNGE2OTgxN2U2YTgwNmU2MzE3ZTI4cC00LAorICAgIC0weDEuZmVmMmIyYjkxZTQwMDIxYTJmZWU3NGZjNjE4MTIxNTdwLTEsCisgICAgLTB4MS45YTU0OWFwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAtMHgxLjQyYWJjMWVjYTExYTBhZDEyY2E2ZWVmZjE5NzMxOGFhcC0yLAorICAgIC0weDEuZTVlYWExNGQ4NjE2OGI2OTkxOGMyMmYzNzE2YTY3ZWFwLTEsCisgICAgMHgxLmJiMjgyY3AxLAorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS40MmFiYzFlY2ExMWEwYWQxMmNhNmVlZmYxOTczMThhYXAtMiwKKyAgICAtMHgxLmU1ZWFhMTRkODYxNjhiNjk5MThjMjJmMzcxNmE2N2VhcC0xLAorICAgIC0weDEuYmIyODJjcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTA0CisgICAgLTB4MS4xNzUwNWVmYjgxMTk3NzNjNjQ3NDY4YmUxZGZlZTQ1ZXAtMSwKKyAgICAtMHgxLmFkMTlkZWVhZDBlYWUyZjcyZDA0MTY1ZTA5ZTRhNDNkcC0xLAorICAgIDB4MS5kYmZiYmVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAweDEuMTc1MDVlZmI4MTE5NzczYzY0NzQ2OGJlMWRmZWU0NWVwLTEsCisgICAgLTB4MS5hZDE5ZGVlYWQwZWFlMmY3MmQwNDE2NWUwOWU0YTQzZHAtMSwKKyAgICAtMHgxLmRiZmJiZXAxLAorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIC0weDEuN2IwNWJkODA5MWNkNzlkZmYzNTljODQxMmIwZGUxYTlwLTEsCisgICAgLTB4MS41ODM3Y2MyMWRkYTQ0ZjNhYjdmZDk2ZjU3YzAxNGUxOXAtMSwKKyAgICAweDEuZmNjZjUwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLjdiMDViZDgwOTFjZDc5ZGZmMzU5Yzg0MTJiMGRlMWE5cC0xLAorICAgIC0weDEuNTgzN2NjMjFkZGE0NGYzYWI3ZmQ5NmY1N2MwMTRlMTlwLTEsCisgICAgLTB4MS5mY2NmNTBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAtMHgxLmM1ZjA1OTgyZWFiZjAyMjc0ODk2MDk2MTY2NmQ1NDBkcC0xLAorICAgIC0weDEuZDlhMzlkZjIwNzEzOWY5OWViZTliNTZkYWZiMjM0YjdwLTIsCisgICAgMHgxLjBlZDE3MHAyLAorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS5jNWYwNTk4MmVhYmYwMjI3NDg5NjA5NjE2NjZkNTQwZHAtMSwKKyAgICAtMHgxLmQ5YTM5ZGYyMDcxMzlmOTllYmU5YjU2ZGFmYjIzNGI3cC0yLAorICAgIC0weDEuMGVkMTcwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTEwCisgICAgLTB4MS5mMzI5YmZiZGE4MTIyZjgzZTNhMWVhMDI0MmViNzZhYXAtMSwKKyAgICAtMHgxLmM3YjkxODk2MzgxMjhiYzBhZTMzZmRmMjcyOWNjOTg3cC0zLAorICAgIDB4MS4xZjNiMzhwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEuZjMyOWJmYmRhODEyMmY4M2UzYTFlYTAyNDJlYjc2YWFwLTEsCisgICAgLTB4MS5jN2I5MTg5NjM4MTI4YmMwYWUzM2ZkZjI3MjljYzk4N3AtMywKKyAgICAtMHgxLjFmM2IzOHAyLAorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIC0weDEuZmZiY2E4OGFlOTBmMDkwMGI2ZDNhZDg5ZWRkZDJjODBwLTEsCisgICAgMHgxLjA2OTA4MmUwNGIyNWU5ZDJlYTllMjYzYjUwZDA4YjM0cC01LAorICAgIDB4MS4yZmE1cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLmZmYmNhODhhZTkwZjA5MDBiNmQzYWQ4OWVkZGQyYzgwcC0xLAorICAgIDB4MS4wNjkwODJlMDRiMjVlOWQyZWE5ZTI2M2I1MGQwOGIzNHAtNSwKKyAgICAtMHgxLjJmYTVwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAtMHgxLmVhZDY4NzQwOWM5NWRjYWY2MWFmOTg1MTM1MTdmNTA3cC0xLAorICAgIDB4MS4yMzViMTg2MWYyMWFhODZkY2UyNTllNGU1YjRlZjM5NXAtMiwKKyAgICAweDEuNDAwZWM4cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgMHgxLmVhZDY4NzQwOWM5NWRjYWY2MWFmOTg1MTM1MTdmNTA3cC0xLAorICAgIDB4MS4yMzViMTg2MWYyMWFhODZkY2UyNTllNGU1YjRlZjM5NXAtMiwKKyAgICAtMHgxLjQwMGVjOHAyLAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIC0weDEuYjVkNTRmZDc5MzcyYjkwZDVkNGM3YWNmN2FkYWVkNDJwLTEsCisgICAgMHgxLjA5NmFhZjcwMzQxNDg1MDYyZjQ0M2M4MGE5MGEzYmUzcC0xLAorICAgIDB4MS41MDc4OTBwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAweDEuYjVkNTRmZDc5MzcyYjkwZDVkNGM3YWNmN2FkYWVkNDJwLTEsCisgICAgMHgxLjA5NmFhZjcwMzQxNDg1MDYyZjQ0M2M4MGE5MGEzYmUzcC0xLAorICAgIC0weDEuNTA3ODkwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgLTB4MS42NDMwOTJmNDJhZTc5NzM3NTUzMTQyMGMwMDVjYTJjZnAtMSwKKyAgICAweDEuNmZjYjZhZTAzMTA3YmU0NThkMDczNjEzNzFlZmFiYjRwLTEsCisgICAgMHgxLjYwZTI1OHAyLAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIDB4MS42NDMwOTJmNDJhZTc5NzM3NTUzMTQyMGMwMDVjYTJjZnAtMSwKKyAgICAweDEuNmZjYjZhZTAzMTA3YmU0NThkMDczNjEzNzFlZmFiYjRwLTEsCisgICAgLTB4MS42MGUyNThwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAtMHgxLmY2N2VkZjNiN2JlZTg1NTRkNTRkODRlYTgzZjZjYjIxcC0yLAorICAgIDB4MS5iZTFkNmQxMGQ1YzhjZWViOGJmOWFlYjdhOWY2OTBiOXAtMSwKKyAgICAweDEuNzE0YzIwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgMHgxLmY2N2VkZjNiN2JlZTg1NTRkNTRkODRlYTgzZjZjYjIxcC0yLAorICAgIDB4MS5iZTFkNmQxMGQ1YzhjZWViOGJmOWFlYjdhOWY2OTBiOXAtMSwKKyAgICAtMHgxLjcxNGMyMHAyLAorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIC0weDEuMDNiZTRkOTNkOTQ5MzI1MzQwYjJmNDY0MjAxNTQ1YTdwLTIsCisgICAgMHgxLmVmNDEzYzcyZDk4OGJiNTM5Mzc5NzVlNGZkNGZjYzdhcC0xLAorICAgIDB4MS44MWI1ZThwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAweDEuMDNiZTRkOTNkOTQ5MzI1MzQwYjJmNDY0MjAxNTQ1YTdwLTIsCisgICAgMHgxLmVmNDEzYzcyZDk4OGJiNTM5Mzc5NzVlNGZkNGZjYzdhcC0xLAorICAgIC0weDEuODFiNWU4cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLmVmYjI2Y2ZhMjBmMjA5OGZmN2U5ZTQyZjAyNjBlYjAxcC01LAorICAgIDB4MS5mZjBmZDJjYjVhOTIyOGNmYTFlMDE2MDVkMDYyNmM4NHAtMSwKKyAgICAweDEuZWZmZmZlcC01LAorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuZWZiMjZjZmEyMGYyMDk4ZmY3ZTllNDJmMDI2MGViMDFwLTUsCisgICAgMHgxLmZmMGZkMmNiNWE5MjI4Y2ZhMWUwMTYwNWQwNjI2Yzg0cC0xLAorICAgIC0weDEuZWZmZmZlcC01LAorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS5lZmIyNmVmOTMwYzRkM2YyYjBkYmUxOTMxYmE1YWU2NHAtNSwKKyAgICAweDEuZmYwZmQyYzk2YWRmYmFkNWY5MDRhNzFiMmQyMTBhMmFwLTEsCisgICAgMHgxLmYwcC01LAorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIC0weDEuZWZiMjZlZjkzMGM0ZDNmMmIwZGJlMTkzMWJhNWFlNjRwLTUsCisgICAgMHgxLmZmMGZkMmM5NmFkZmJhZDVmOTA0YTcxYjJkMjEwYTJhcC0xLAorICAgIC0weDEuZjBwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMHgxLmVmYjI3MGY4NDA5NzljNjViNzVlZTVjNjcwMTZhODY2cC01LAorICAgIDB4MS5mZjBmZDJjNzdiMmQ0YWRkNDA1NjZlYzVhYTI0ZmM2ZXAtMSwKKyAgICAweDEuZjAwMDAycC01LAorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIC0weDEuZWZiMjcwZjg0MDk3OWM2NWI3NWVlNWM2NzAxNmE4NjZwLTUsCisgICAgMHgxLmZmMGZkMmM3N2IyZDRhZGQ0MDU2NmVjNWFhMjRmYzZlcC0xLAorICAgIC0weDEuZjAwMDAycC01LAorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS5mNmJhYTgxNmZjZTVlYTVhNjBkOGM5ZmQyYTI4OTM4MHAtNCwKKyAgICAweDEuZmMyMTAwNWQyMTZhODlkZTU1YjE5MjA5NmZjNmI3YmFwLTEsCisgICAgMHgxLmY3ZmZmZXAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzEKKyAgICAtMHgxLmY2YmFhODE2ZmNlNWVhNWE2MGQ4YzlmZDJhMjg5MzgwcC00LAorICAgIDB4MS5mYzIxMDA1ZDIxNmE4OWRlNTViMTkyMDk2ZmM2YjdiYXAtMSwKKyAgICAtMHgxLmY3ZmZmZXAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEuZjZiYWFhMTMxZGU2NDM4ZTU2MTEyNzk4NjRmZTc2NjNwLTQsCisgICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAorICAgIDB4MS5mOHAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAtMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAorICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNThhMjAxOTMzOTliM2JjMGRkMnAtMSwKKyAgICAtMHgxLmY4cC00LAorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS5mNmJhYWMwZjNlZTY5NGU3NjBhMTM4YmMwNmM4YmUzZHAtNCwKKyAgICAweDEuZmMyMTAwNGQ2Yjk1Mzk0NTY2N2Y4MDBmZjgxZGUwZWJwLTEsCisgICAgMHgxLmY4MDAwMnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzUKKyAgICAtMHgxLmY2YmFhYzBmM2VlNjk0ZTc2MGExMzhiYzA2YzhiZTNkcC00LAorICAgIDB4MS5mYzIxMDA0ZDZiOTUzOTQ1NjY3ZjgwMGZmODFkZTBlYnAtMSwKKyAgICAtMHgxLmY4MDAwMnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAweDEuNGE4YzM5NTU1MmZiNDMyYWYzMTc4MGU4ODNjOThmNzFwLTMsCisgICAgMHgxLmY5NDk4NGM2ZmRmMWJlNjE2ODUwOWZmMWUzNWY2MmRlcC0xLAorICAgIDB4MS40YmZmZmVwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgLTB4MS40YThjMzk1NTUyZmI0MzJhZjMxNzgwZTg4M2M5OGY3MXAtMywKKyAgICAweDEuZjk0OTg0YzZmZGYxYmU2MTY4NTA5ZmYxZTM1ZjYyZGVwLTEsCisgICAgLTB4MS40YmZmZmVwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgMHgxLjRhOGMzYjRlOWM3ZmZmZDQ4MzA1ZjQ0YTQyZjVmNTBmcC0zLAorICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKKyAgICAweDEuNGNwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgLTB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKKyAgICAweDEuZjk0OTg0YjI1NTJlMTk0MWVjNzY2YzZhODJlY2U0YTNwLTEsCisgICAgLTB4MS40Y3AtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuNGE4YzNkNDdlNjA0YTdkNTRmM2Y3ZGU0MDI0MDllMmNwLTMsCisgICAgMHgxLmY5NDk4NDlkYWM2YTU0OGRkODUxMTM5MDQxMTA2MzE2cC0xLAorICAgIDB4MS40YzAwMDJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgLTB4MS40YThjM2Q0N2U2MDRhN2Q1NGYzZjdkZTQwMjQwOWUyY3AtMywKKyAgICAweDEuZjk0OTg0OWRhYzZhNTQ4ZGQ4NTExMzkwNDExMDYzMTZwLTEsCisgICAgLTB4MS40YzAwMDJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLjJlOWNkODM2MzBlYjM1YzEyZWZjZmI4NDEzNTgzOTk4cC0yLAorICAgIDB4MS5lOTIxZGQ3MDU0ZWY1ZDRmNzI3ZDkzOGNlMTBhMDUzY3AtMSwKKyAgICAweDEuMzMzMzMycC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuMmU5Y2Q4MzYzMGViMzVjMTJlZmNmYjg0MTM1ODM5OThwLTIsCisgICAgMHgxLmU5MjFkZDcwNTRlZjVkNGY3MjdkOTM4Y2UxMGEwNTNjcC0xLAorICAgIC0weDEuMzMzMzMycC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS4yZTljZGExZjUyYzg4MDQyODMzZjIzNmZmMGY5ZDQ4NnAtMiwKKyAgICAweDEuZTkyMWRkMjRhZGI5MTI5ZWZjMDUzZjlhY2Q0ZDI0NDRwLTEsCisgICAgMHgxLjMzMzMzNHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtMHgxLjJlOWNkYTFmNTJjODgwNDI4MzNmMjM2ZmYwZjlkNDg2cC0yLAorICAgIDB4MS5lOTIxZGQyNGFkYjkxMjllZmMwNTNmOWFjZDRkMjQ0NHAtMSwKKyAgICAtMHgxLjMzMzMzNHAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuMmU5Y2RjMDg3NGE1N2YxY2EwZjk3NmE5YjAxZTRhNzFwLTIsCisgICAgMHgxLmU5MjFkY2Q5MDY4MjRkYTYwZTQzYzAzYTc3NzRiMTcxcC0xLAorICAgIDB4MS4zMzMzMzZwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgLTB4MS4yZTljZGMwODc0YTU3ZjFjYTBmOTc2YTliMDFlNGE3MXAtMiwKKyAgICAweDEuZTkyMWRjZDkwNjgyNGRhNjBlNDNjMDNhNzc3NGIxNzFwLTEsCisgICAgLTB4MS4zMzMzMzZwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjNmYWVmYjJiNjhlNjc4NmViNjkyYmQ0ZTQwNDUyMTNlcC0xLAorICAgIDB4MS44ZmVlZGM5Mjc2NGJmYmRjYjQxMzg5ZTgyMDYzZWQ2ZXAtMSwKKyAgICAweDEuNTk0MzE2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuM2ZhZWZiMmI2OGU2Nzg2ZWI2OTJiZDRlNDA0NTIxM2VwLTEsCisgICAgMHgxLjhmZWVkYzkyNzY0YmZiZGNiNDEzODllODIwNjNlZDZlcC0xLAorICAgIC0weDEuNTk0MzE2cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS4zZmFlZmNiYjU3YzI2YjBkODRiNjNkYmZiNzJiNDEzYnAtMSwKKyAgICAweDEuOGZlZWRiNTJjNzUwMDg3YzVmODcyN2UwMjc5ZTVmNjZwLTEsCisgICAgMHgxLjU5NDMxOHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLjNmYWVmY2JiNTdjMjZiMGQ4NGI2M2RiZmI3MmI0MTNicC0xLAorICAgIDB4MS44ZmVlZGI1MmM3NTAwODdjNWY4NzI3ZTAyNzllNWY2NnAtMSwKKyAgICAtMHgxLjU5NDMxOHAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuM2ZhZWZlNGI0NjlkMWRmZDU2MWU2NjZlZGRhN2M2ZTZwLTEsCisgICAgMHgxLjhmZWVkYTEzMTg1Mjg1MmQyZmE3ZmU4ODQ3YjA1OTczcC0xLAorICAgIDB4MS41OTQzMWFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgLTB4MS4zZmFlZmU0YjQ2OWQxZGZkNTYxZTY2NmVkZGE3YzZlNnAtMSwKKyAgICAweDEuOGZlZWRhMTMxODUyODUyZDJmYTdmZTg4NDdiMDU5NzNwLTEsCisgICAgLTB4MS41OTQzMWFwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjY4ODhhMzc1YWIyMjhjMWUwMzFjNDAwNTc2OTUwOWY5cC0xLAorICAgIDB4MS42Yjg5OTExMjc4NTlmZDliNDNjYTFkMDhiOTJhYTQwMXAtMSwKKyAgICAweDEuOGZmZmZlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIC0weDEuNjg4OGEzNzVhYjIyOGMxZTAzMWM0MDA1NzY5NTA5ZjlwLTEsCisgICAgMHgxLjZiODk5MTEyNzg1OWZkOWI0M2NhMWQwOGI5MmFhNDAxcC0xLAorICAgIC0weDEuOGZmZmZlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIDB4MS42ODg4YTRlMTM0YjJlYTUyMGIyMjZlY2E4Njk0YjNhMnAtMSwKKyAgICAweDEuNmI4OThmYTllZmI1ZDIyYjU4ZjBkOTllOTYzNDkzMWFwLTEsCisgICAgMHgxLjkwcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIC0weDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCisgICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAorICAgIC0weDEuOTBwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLjY4ODhhNjRjYmU0MWRmZmQ2ZTQ3NjhkY2NhNGRiNTNicC0xLAorICAgIDB4MS42Yjg5OGU0MTY3MTAzYjMxZGU2ZGE2N2ViZjVlOWZlNnAtMSwKKyAgICAweDEuOTAwMDAycC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIC0weDEuNjg4OGE2NGNiZTQxZGZmZDZlNDc2OGRjY2E0ZGI1M2JwLTEsCisgICAgMHgxLjZiODk4ZTQxNjcxMDNiMzFkZTZkYTY3ZWJmNWU5ZmU2cC0xLAorICAgIC0weDEuOTAwMDAycC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIC0wLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAtMTQ5LAorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIDAuMGYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wLTE0OSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAwLjAsCisgICAgMHgxLnAwLAorICAgIDAuMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLjkxZjY1ZGNjZmVhZDM1M2Q4ZGI5YzMyZjEyMjYyNzMwcC01LAorICAgIDB4MS5mZjYyMWUzODk1NmEzYjNiZTkyMDI1NmRkYjYwMzRjZHAtMSwKKyAgICAweDEuOTIxZmI0cC01LAorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIC0weDEuOTFmNjVkY2NmZWFkMzUzZDhkYjljMzJmMTIyNjI3MzBwLTUsCisgICAgMHgxLmZmNjIxZTM4OTU2YTNiM2JlOTIwMjU2ZGRiNjAzNGNkcC0xLAorICAgIC0weDEuOTIxZmI0cC01LAorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIDB4MS45MWY2NWZjYzYwY2I2ZDA5ZmNjNWMzNWRkNmE3OThjOHAtNSwKKyAgICAweDEuZmY2MjFlMzcwMzczZGM2ZjM5NjNkNDI4OTZlZGUwNzhwLTEsCisgICAgMHgxLjkyMWZiNnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAtMHgxLjkxZjY1ZmNjNjBjYjZkMDlmY2M1YzM1ZGQ2YTc5OGM4cC01LAorICAgIDB4MS5mZjYyMWUzNzAzNzNkYzZmMzk2M2Q0Mjg5NmVkZTA3OHAtMSwKKyAgICAtMHgxLjkyMWZiNnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjkKKyAgICAweDEuOTFmNjYxY2JjMmU5YTM0NDc1NzFmNzJiY2ZiYzIxZTJwLTUsCisgICAgMHgxLmZmNjIxZTM1NzE3ZDdiYTMyNzg5NGJkZmRlOWY0Nzg3cC0xLAorICAgIDB4MS45MjFmYjhwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgLTB4MS45MWY2NjFjYmMyZTlhMzQ0NzU3MWY3MmJjZmJjMjFlMnAtNSwKKyAgICAweDEuZmY2MjFlMzU3MTdkN2JhMzI3ODk0YmRmZGU5ZjQ3ODdwLTEsCisgICAgLTB4MS45MjFmYjhwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLjkxN2E2YTdmZTgyOTdiZjBhMTEyNWZiMDJiMjAzOGFlcC00LAorICAgIDB4MS5mZDg4ZGE0MTBiNjFjZDU1MjIxZDliZWI5OTZkNGQ5OXAtMSwKKyAgICAweDEuOTIxZmI0cC00LAorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIC0weDEuOTE3YTZhN2ZlODI5N2JmMGExMTI1ZmIwMmIyMDM4YWVwLTQsCisgICAgMHgxLmZkODhkYTQxMGI2MWNkNTUyMjFkOWJlYjk5NmQ0ZDk5cC0xLAorICAgIC0weDEuOTIxZmI0cC00LAorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIDB4MS45MTdhNmM3ZDcxMDNiOWQ5MGUwOTYxNTE2NDQ0OWM2YnAtNCwKKyAgICAweDEuZmQ4OGRhM2FjNTc4MWY1YTZmYzMyZTQwZWQ1MTIyYjBwLTEsCisgICAgMHgxLjkyMWZiNnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAtMHgxLjkxN2E2YzdkNzEwM2I5ZDkwZTA5NjE1MTY0NDQ5YzZicC00LAorICAgIDB4MS5mZDg4ZGEzYWM1NzgxZjVhNmZjMzJlNDBlZDUxMjJiMHAtMSwKKyAgICAtMHgxLjkyMWZiNnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAweDEuOTE3YTZlN2FmOWRkZjE3YjkxNGU2ZDJlOGU4M2IzM2VwLTQsCisgICAgMHgxLmZkODhkYTM0N2Y4ZTY5Njk5OWZmZDU4MDYwYmEzNTY5cC0xLAorICAgIDB4MS45MjFmYjhwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgLTB4MS45MTdhNmU3YWY5ZGRmMTdiOTE0ZTZkMmU4ZTgzYjMzZXAtNCwKKyAgICAweDEuZmQ4OGRhMzQ3ZjhlNjk2OTk5ZmZkNTgwNjBiYTM1NjlwLTEsCisgICAgLTB4MS45MjFmYjhwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLjhmOGI4Mjg4OTI5NmI1Y2Y3OTA0ZGIxZTc0YjM0NjZicC0zLAorICAgIDB4MS5mNjI5N2QwZjQ2NzFkYTU4MGRmZWNkZDRkYjI5ZjQ3M3AtMSwKKyAgICAweDEuOTIxZmI0cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIC0weDEuOGY4YjgyODg5Mjk2YjVjZjc5MDRkYjFlNzRiMzQ2NmJwLTMsCisgICAgMHgxLmY2Mjk3ZDBmNDY3MWRhNTgwZGZlY2RkNGRiMjlmNDczcC0xLAorICAgIC0weDEuOTIxZmI0cC0zLAorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIDB4MS44ZjhiODQ3ZWJjMTNiODk5OGVjNWIzN2U3MDY1MzQxZXAtMywKKyAgICAweDEuZjYyOTdjZjY0ZGI5YTIxZDk4YWIzOTQwZmM4YTg2ZjBwLTEsCisgICAgMHgxLjkyMWZiNnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAtMHgxLjhmOGI4NDdlYmMxM2I4OTk4ZWM1YjM3ZTcwNjUzNDFlcC0zLAorICAgIDB4MS5mNjI5N2NmNjRkYjlhMjFkOThhYjM5NDBmYzhhODZmMHAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAweDEuOGY4Yjg2NzRlNTkwYTI2YWVjM2VhMDFkMzBhZWQ0ODZwLTMsCisgICAgMHgxLmY2Mjk3Y2RkNTUwMTRhODA4Yjg4M2ZkMTgzZjMxOGFjcC0xLAorICAgIDB4MS45MjFmYjhwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgLTB4MS44ZjhiODY3NGU1OTBhMjZhZWMzZWEwMWQzMGFlZDQ4NnAtMywKKyAgICAweDEuZjYyOTdjZGQ1NTAxNGE4MDhiODgzZmQxODNmMzE4YWNwLTEsCisgICAgLTB4MS45MjFmYjhwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLjg3ZGUyOTNmNTY5NzE3YTQyYTNiZGIwMWFlYWUyMDYzcC0yLAorICAgIDB4MS5kOTA2YmQzMTM0NDMwMDdkY2IwYmQ0ZTNkNjMyODRjMHAtMSwKKyAgICAweDEuOTIxZmI0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIC0weDEuODdkZTI5M2Y1Njk3MTdhNDJhM2JkYjAxYWVhZTIwNjNwLTIsCisgICAgMHgxLmQ5MDZiZDMxMzQ0MzAwN2RjYjBiZDRlM2Q2MzI4NGMwcC0xLAorICAgIC0weDEuOTIxZmI0cC0yLAorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIDB4MS44N2RlMmIxODVkNTQxN2RjYTgwMGI4NWNhMTMxOTA0M3AtMiwKKyAgICAweDEuZDkwNmJjY2YzY2I4NzU4NzRkYTNkYTRjMDExMDRiYWZwLTEsCisgICAgMHgxLjkyMWZiNnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODYKKyAgICAtMHgxLjg3ZGUyYjE4NWQ1NDE3ZGNhODAwYjg1Y2ExMzE5MDQzcC0yLAorICAgIDB4MS5kOTA2YmNjZjNjYjg3NTg3NGRhM2RhNGMwMTEwNGJhZnAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEuODdkZTJjZjE2NDEwYjYxZDlhZmY3ZTYyOGZjODUzYjJwLTIsCisgICAgMHgxLmQ5MDZiYzZkNDUyZDc0NGYyMTA4MTA4NjExMDJmMmRhcC0xLAorICAgIDB4MS45MjFmYjhwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNTg4CisgICAgLTB4MS44N2RlMmNmMTY0MTBiNjFkOWFmZjdlNjI4ZmM4NTNiMnAtMiwKKyAgICAweDEuZDkwNmJjNmQ0NTJkNzQ0ZjIxMDgxMDg2MTEwMmYyZGFwLTEsCisgICAgLTB4MS45MjFmYjhwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLjZhMDllNTgyYWEzOTQ1NDYxYjVhOGEwNzg3ZDVhYjVicC0xLAorICAgIDB4MS42YTA5ZTc0ZDNkM2ZiYjk0ZDk0Mjc0ZjM3NzY5ZjZlYXAtMSwKKyAgICAweDEuOTIxZmI0cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU5MAorICAgIC0weDEuNmEwOWU1ODJhYTM5NDU0NjFiNWE4YTA3ODdkNWFiNWJwLTEsCisgICAgMHgxLjZhMDllNzRkM2QzZmJiOTRkOTQyNzRmMzc3NjlmNmVhcC0xLAorICAgIC0weDEuOTIxZmI0cC0xLAorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS42YTA5ZTZlY2I0MWZkZDdlNjgxODcyYzg1NDg4NzAxOXAtMSwKKyAgICAweDEuNmEwOWU1ZTMzMzU5ODNlNWFjOTJlNzMzZTNmMjRiNDJwLTEsCisgICAgMHgxLjkyMWZiNnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAtMHgxLjZhMDllNmVjYjQxZmRkN2U2ODE4NzJjODU0ODg3MDE5cC0xLAorICAgIDB4MS42YTA5ZTVlMzMzNTk4M2U1YWM5MmU3MzNlM2YyNGI0MnAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAweDEuNmEwOWU4NTZiZTA1MGJhY2NkZTlhNzY5NjFlODRhYTdwLTEsCisgICAgMHgxLjZhMDllNDc5Mjk3MWUyMmM5YTAwMjYxYWVhYzA3MGRhcC0xLAorICAgIDB4MS45MjFmYjhwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNTk0CisgICAgLTB4MS42YTA5ZTg1NmJlMDUwYmFjY2RlOWE3Njk2MWU4NGFhN3AtMSwKKyAgICAweDEuNmEwOWU0NzkyOTcxZTIyYzlhMDAyNjFhZWFjMDcwZGFwLTEsCisgICAgLTB4MS45MjFmYjhwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLmZmZmZmZmZmZmZmZTY1NDZjYzM4MjExYzI2ZGFiZWVicC0xLAorICAgIDB4MS40NDQyZDE4NDY5ODkzNjEwMjgxYTBmOWIwZThkMGVlZnAtMjQsCisgICAgMHgxLjkyMWZiNHAwLAorICB9LAorICB7IC8vIEVudHJ5IDU5NgorICAgIC0weDEuZmZmZmZmZmZmZmZlNjU0NmNjMzgyMTFjMjZkYWJlZWJwLTEsCisgICAgMHgxLjQ0NDJkMTg0Njk4OTM2MTAyODFhMGY5YjBlOGQwZWVmcC0yNCwKKyAgICAtMHgxLjkyMWZiNHAwLAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5mZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDIyOTMwZWQ4MnAtMSwKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlY2M0Y2RlM2EzMWU3ZDVhMDI2MTQycC0yNSwKKyAgICAweDEuOTIxZmI2cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgLTB4MS5mZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDIyOTMwZWQ4MnAtMSwKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlY2M0Y2RlM2EzMWU3ZDVhMDI2MTQycC0yNSwKKyAgICAtMHgxLjkyMWZiNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS5mZmZmZmZmZmZmZjg4NzVkNTg1YjZkNmNmY2U5N2Q5Y3AtMSwKKyAgICAtMHgxLjVkZGU5NzNkY2IzOTg1ZjRhOGU3NmExZmVjYTI5ZTFkcC0yMywKKyAgICAweDEuOTIxZmI4cDAsCisgIH0sCisgIHsgLy8gRW50cnkgNjAwCisgICAgLTB4MS5mZmZmZmZmZmZmZjg4NzVkNTg1YjZkNmNmY2U5N2Q5Y3AtMSwKKyAgICAtMHgxLjVkZGU5NzNkY2IzOTg1ZjRhOGU3NmExZmVjYTI5ZTFkcC0yMywKKyAgICAtMHgxLjkyMWZiOHAwLAorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIDB4MS40NDQyZDE4NDY5ODgzMWYxNWI2MzE1YmZhNmI1YWU3NXAtMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZjk5NTFiMzBlMDg0NzMyZTYwYmI4NXAtMSwKKyAgICAweDEuOTIxZmI0cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgLTB4MS40NDQyZDE4NDY5ODgzMWYxNWI2MzE1YmZhNmI1YWU3NXAtMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZjk5NTFiMzBlMDg0NzMyZTYwYmI4NXAtMSwKKyAgICAtMHgxLjkyMWZiNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIC0weDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDA4ZWVjZjU0YTFwLTEsCisgICAgMHgxLjkyMWZiNnAxLAorICB9LAorICB7IC8vIEVudHJ5IDYwNAorICAgIDB4MS43NzdhNWNmNzJjZWM1ZmQ2MTg5NmNiNGY0MGQxZGU3OXAtMjQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMDhlZWNmNTRhMXAtMSwKKyAgICAtMHgxLjkyMWZiNnAxLAorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIC0weDEuNWRkZTk3M2RjYjM0NmFmYTQ2MjAzY2RkYzZmN2ZlOTdwLTIyLAorICAgIC0weDEuZmZmZmZmZmZmZmUyMWQ3NTYxNmRiNWViYzU2NDA1ZjVwLTEsCisgICAgMHgxLjkyMWZiOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS41ZGRlOTczZGNiMzQ2YWZhNDYyMDNjZGRjNmY3ZmU5N3AtMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZTIxZDc1NjE2ZGI1ZWJjNTY0MDVmNXAtMSwKKyAgICAtMHgxLjkyMWZiOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIC0weDEuNDQ0MmQxODQ2OTg0MjE3NjI4ODcyZTU2ZWI1OGI0YzFwLTIyLAorICAgIDB4MS5mZmZmZmZmZmZmZTY1NDZjYzM4MjExZjVlOGRlZWI5N3AtMSwKKyAgICAweDEuOTIxZmI0cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgMHgxLjQ0NDJkMTg0Njk4NDIxNzYyODg3MmU1NmViNThiNGMxcC0yMiwKKyAgICAweDEuZmZmZmZmZmZmZmU2NTQ2Y2MzODIxMWY1ZThkZWViOTdwLTEsCisgICAgLTB4MS45MjFmYjRwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAweDEuNzc3YTVjZjcyY2VhY2JmNmVjNjU3ZTk3N2VmNzcxZjFwLTIzLAorICAgIDB4MS5mZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0Mjg1YmY3M2MwN3AtMSwKKyAgICAweDEuOTIxZmI2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgLTB4MS43NzdhNWNmNzJjZWFjYmY2ZWM2NTdlOTc3ZWY3NzFmMXAtMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyODViZjczYzA3cC0xLAorICAgIC0weDEuOTIxZmI2cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLjVkZGU5NzNkY2IxZmZmMTBiYjAzODg0NzllODJmNGJicC0yMSwKKyAgICAweDEuZmZmZmZmZmZmZjg4NzVkNTg1YjZkYjJjMzE3MTEwMDRwLTEsCisgICAgMHgxLjkyMWZiOHAyLAorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIC0weDEuNWRkZTk3M2RjYjFmZmYxMGJiMDM4ODQ3OWU4MmY0YmJwLTIxLAorICAgIDB4MS5mZmZmZmZmZmZmODg3NWQ1ODViNmRiMmMzMTcxMTAwNHAtMSwKKyAgICAtMHgxLjkyMWZiOHAyLAorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIC0weDEuNDQ0MmQxODQ2OTczZGY4OTVkMTc5MTAyM2RlZDUxM2NwLTIxLAorICAgIDB4MS5mZmZmZmZmZmZmOTk1MWIzMGUwODRhNmE5OTNiODY3NXAtMSwKKyAgICAweDEuOTIxZmI0cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgMHgxLjQ0NDJkMTg0Njk3M2RmODk1ZDE3OTEwMjNkZWQ1MTNjcC0yMSwKKyAgICAweDEuZmZmZmZmZmZmZjk5NTFiMzBlMDg0YTZhOTkzYjg2NzVwLTEsCisgICAgLTB4MS45MjFmYjRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTUKKyAgICAweDEuNzc3YTVjZjcyY2U0N2M3YTNiYTA0YmMyYTYwN2E5YTdwLTIyLAorICAgIDB4MS5mZmZmZmZmZmZmZGQ5NDg0OTI3MWQwZWI3YjdiODg0YnAtMSwKKyAgICAweDEuOTIxZmI2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgLTB4MS43NzdhNWNmNzJjZTQ3YzdhM2JhMDRiYzJhNjA3YTlhN3AtMjIsCisgICAgMHgxLmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDBlYjdiN2I4ODRicC0xLAorICAgIC0weDEuOTIxZmI2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLjVkZGU5NzNkY2FjZTRmNmE4ZTkwYmQxNWUwMDYxMGY4cC0yMCwKKyAgICAweDEuZmZmZmZmZmZmZTIxZDc1NjE2ZGJhNDgyODNkM2MyZjdwLTEsCisgICAgMHgxLjkyMWZiOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIC0weDEuNWRkZTk3M2RjYWNlNGY2YThlOTBiZDE1ZTAwNjEwZjhwLTIwLAorICAgIDB4MS5mZmZmZmZmZmZlMjFkNzU2MTZkYmE0ODI4M2QzYzJmN3AtMSwKKyAgICAtMHgxLjkyMWZiOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIC0weDEuNDQ0MmQxODQ2OTMyZDdkNjJmNTkyMDkzODhjN2Y3Y2FwLTIwLAorICAgIDB4MS5mZmZmZmZmZmZlNjU0NmNjMzgyMTUyZDljMGViOWI0N3AtMSwKKyAgICAweDEuOTIxZmI0cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLjQ0NDJkMTg0NjkzMmQ3ZDYyZjU5MjA5Mzg4YzdmN2NhcC0yMCwKKyAgICAweDEuZmZmZmZmZmZmZTY1NDZjYzM4MjE1MmQ5YzBlYjliNDdwLTEsCisgICAgLTB4MS45MjFmYjRwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjEKKyAgICAweDEuNzc3YTVjZjcyY2NiM2U4Nzc4OGI4MTEyMjllNzI1YmNwLTIxLAorICAgIDB4MS5mZmZmZmZmZmZmNzY1MjEyNDljNzQ4NGVhN2Q3YTQwOXAtMSwKKyAgICAweDEuOTIxZmI2cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgLTB4MS43NzdhNWNmNzJjY2IzZTg3Nzg4YjgxMTIyOWU3MjViY3AtMjEsCisgICAgMHgxLmZmZmZmZmZmZmY3NjUyMTI0OWM3NDg0ZWE3ZDdhNDA5cC0xLAorICAgIC0weDEuOTIxZmI2cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLjVkZGU5NzNkYzk4NzkwZDFkY2M2MDJiZDFiODZiY2NhcC0xOSwKKyAgICAweDEuZmZmZmZmZmZmODg3NWQ1ODViNzIwZjI1ZjA0NzM5NDNwLTEsCisgICAgMHgxLjkyMWZiOHA0LAorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIC0weDEuNWRkZTk3M2RjOTg3OTBkMWRjYzYwMmJkMWI4NmJjY2FwLTE5LAorICAgIDB4MS5mZmZmZmZmZmY4ODc1ZDU4NWI3MjBmMjVmMDQ3Mzk0M3AtMSwKKyAgICAtMHgxLjkyMWZiOHA0LAorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIC0weDEuNDQ0MmQxODQ2ODJlYjkwOTc4NWZhZDE4YmNiNWRiZmNwLTE5LAorICAgIDB4MS5mZmZmZmZmZmY5OTUxYjMwZTA4N2RlNWNjMzg2ODNiOHAtMSwKKyAgICAweDEuOTIxZmI0cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgMHgxLjQ0NDJkMTg0NjgyZWI5MDk3ODVmYWQxOGJjYjVkYmZjcC0xOSwKKyAgICAweDEuZmZmZmZmZmZmOTk1MWIzMGUwODdkZTVjYzM4NjgzYjhwLTEsCisgICAgLTB4MS45MjFmYjRwNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjcKKyAgICAweDEuNzc3YTVjZjcyYzY2NDZiYzZjMzg2MDdlYjM0ZWVhMTNwLTIwLAorICAgIDB4MS5mZmZmZmZmZmZkZDk0ODQ5MjcxZDZiNDYzZGY2YmRkZnAtMSwKKyAgICAweDEuOTIxZmI2cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgLTB4MS43NzdhNWNmNzJjNjY0NmJjNmMzODYwN2ViMzRlZWExM3AtMjAsCisgICAgMHgxLmZmZmZmZmZmZmRkOTQ4NDkyNzFkNmI0NjNkZjZiZGRmcC0xLAorICAgIC0weDEuOTIxZmI2cDUsCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLjVkZGU5NzNkYzQ2Yzk2NmYxNWEyNDAzZDYwY2QxNGQwcC0xOCwKKyAgICAweDEuZmZmZmZmZmZlMjFkNzU2MTZlMDAwZTU1ZDA5Zjg3NTdwLTEsCisgICAgMHgxLjkyMWZiOHA1LAorICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIC0weDEuNWRkZTk3M2RjNDZjOTY2ZjE1YTI0MDNkNjBjZDE0ZDBwLTE4LAorICAgIDB4MS5mZmZmZmZmZmUyMWQ3NTYxNmUwMDBlNTVkMDlmODc1N3AtMSwKKyAgICAtMHgxLjkyMWZiOHA1LAorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIC0weDEuNDQ0MmQxODQ2NDFlM2RkNjljN2VjMzJlMTRhMjA5YTVwLTE4LAorICAgIDB4MS5mZmZmZmZmZmU2NTQ2Y2MzODI0OGE4Y2YwYjliNTc5NXAtMSwKKyAgICAweDEuOTIxZmI0cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjMyCisgICAgMHgxLjQ0NDJkMTg0NjQxZTNkZDY5YzdlYzMyZTE0YTIwOWE1cC0xOCwKKyAgICAweDEuZmZmZmZmZmZlNjU0NmNjMzgyNDhhOGNmMGI5YjU3OTVwLTEsCisgICAgLTB4MS45MjFmYjRwNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzMKKyAgICAweDEuNzc3YTVjZjcyYWQyNjc5MDNhZWM4MTE4Nzc4YjNiNWFwLTE5LAorICAgIDB4MS5mZmZmZmZmZmY3NjUyMTI0OWM3YTRkZDJlMTVkZDFjNHAtMSwKKyAgICAweDEuOTIxZmI2cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgLTB4MS43NzdhNWNmNzJhZDI2NzkwM2FlYzgxMTg3NzhiM2I1YXAtMTksCisgICAgMHgxLmZmZmZmZmZmZjc2NTIxMjQ5YzdhNGRkMmUxNWRkMWM0cC0xLAorICAgIC0weDEuOTIxZmI2cDYsCisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLjVkZGU5NzNkYjAwMGFjZTNmOTg1YTQ3M2VhMWZjMDM5cC0xNywKKyAgICAweDEuZmZmZmZmZmY4ODc1ZDU4NWJiN2Q1NTM4M2E5YjM5YTRwLTEsCisgICAgMHgxLjkyMWZiOHA2LAorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIC0weDEuNWRkZTk3M2RiMDAwYWNlM2Y5ODVhNDczZWExZmMwMzlwLTE3LAorICAgIDB4MS5mZmZmZmZmZjg4NzVkNTg1YmI3ZDU1MzgzYTliMzlhNHAtMSwKKyAgICAtMHgxLjkyMWZiOHA2LAorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIC0weDEuNDQ0MmQxODQ1M2RjNTEwYjJkNDk1YjhiZjc5YmQxY2VwLTE3LAorICAgIDB4MS5mZmZmZmZmZjk5NTFiMzBlMGJiNTk4ZmMwNjc5YTZmN3AtMSwKKyAgICAweDEuOTIxZmI0cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLjQ0NDJkMTg0NTNkYzUxMGIyZDQ5NWI4YmY3OWJkMWNlcC0xNywKKyAgICAweDEuZmZmZmZmZmY5OTUxYjMwZTBiYjU5OGZjMDY3OWE2ZjdwLTEsCisgICAgLTB4MS45MjFmYjRwNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAweDEuNzc3YTVjZjcyNDgyZWFkZjc1YzczMWY5NzI1MDc3MThwLTE4LAorICAgIDB4MS5mZmZmZmZmZmRkOTQ4NDkyNzIzMzQyZWExZGE0OWJhY3AtMSwKKyAgICAweDEuOTIxZmI2cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgLTB4MS43NzdhNWNmNzI0ODJlYWRmNzVjNzMxZjk3MjUwNzcxOHAtMTgsCisgICAgMHgxLmZmZmZmZmZmZGQ5NDg0OTI3MjMzNDJlYTFkYTQ5YmFjcC0xLAorICAgIC0weDEuOTIxZmI2cDcsCisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLjVkZGU5NzNkNWU1MTA2Yjc5MDNhMThhNTUyYWVmYzZlcC0xNiwKKyAgICAweDEuZmZmZmZmZmUyMWQ3NTYxNzI1YzcxMmYwNjhmYzk3MThwLTEsCisgICAgMHgxLjkyMWZiOHA3LAorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIC0weDEuNWRkZTk3M2Q1ZTUxMDZiNzkwM2ExOGE1NTJhZWZjNmVwLTE2LAorICAgIDB4MS5mZmZmZmZmZTIxZDc1NjE3MjVjNzEyZjA2OGZjOTcxOHAtMSwKKyAgICAtMHgxLjkyMWZiOHA3LAorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS42YTA5ZjE5NDBiODBjOGUyNWNmYzhjMTBkNDI1NzZjNnAtMSwKKyAgICAtMHgxLjZhMDlkYjNiZGJhMDg2OGEzMWU3NjYzNTlhODQwNmNhcC0xLAorICAgIDB4MS4yZDk3YzRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICAtMHgxLjZhMDlmMTk0MGI4MGM4ZTI1Y2ZjOGMxMGQ0MjU3NmM2cC0xLAorICAgIC0weDEuNmEwOWRiM2JkYmEwODY4YTMxZTc2NjM1OWE4NDA2Y2FwLTEsCisgICAgLTB4MS4yZDk3YzRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAweDEuNmEwOWViZWJlNDA4ODkyNDVkNTdjNWM5ZDkwYTZkODJwLTEsCisgICAgLTB4MS42YTA5ZTBlNDAzNWI4NjY5NGMxNjUzNGU0MmZiZTExMXAtMSwKKyAgICAweDEuMmQ5N2M2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgLTB4MS42YTA5ZWJlYmU0MDg4OTI0NWQ1N2M1YzlkOTBhNmQ4MnAtMSwKKyAgICAtMHgxLjZhMDllMGU0MDM1Yjg2Njk0YzE2NTM0ZTQyZmJlMTExcC0xLAorICAgIC0weDEuMmQ5N2M2cDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjQ3CisgICAgMHgxLjZhMDllNjQzYmM3OWE4Yzc5ZWY0YmYxODc3MjdlMjY5cC0xLAorICAgIC0weDEuNmEwOWU2OGMyYWZmZTVhYTU4MDUwYWNjYjA1YzYyNDhwLTEsCisgICAgMHgxLjJkOTdjOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIC0weDEuNmEwOWU2NDNiYzc5YThjNzllZjRiZjE4NzcyN2UyNjlwLTEsCisgICAgLTB4MS42YTA5ZTY4YzJhZmZlNWFhNTgwNTBhY2NiMDVjNjI0OHAtMSwKKyAgICAtMHgxLjJkOTdjOHAxLAorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIC0weDEuNmEwOWRmMTk3MDRjZjE0MTA4ZTA5MDAwZmY2Mzc0YmZwLTEsCisgICAgLTB4MS42YTA5ZWRiNjc3MDZlMDk5NzEyMWQxMmEwYzg3YmFlOHAtMSwKKyAgICAweDEuZjZhN2EwcDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLjZhMDlkZjE5NzA0Y2YxNDEwOGUwOTAwMGZmNjM3NGJmcC0xLAorICAgIC0weDEuNmEwOWVkYjY3NzA2ZTA5OTcxMjFkMTJhMGM4N2JhZThwLTEsCisgICAgLTB4MS5mNmE3YTBwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAtMHgxLjZhMDllNGMxOTdmODdhY2UxYzgxYjQzMDIyYmUzOWIxcC0xLAorICAgIC0weDEuNmEwOWU4MGU0ZjdmMmE4OGRlYmVkMzdmYWE5M2U4YzhwLTEsCisgICAgMHgxLmY2YTdhMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS42YTA5ZTRjMTk3Zjg3YWNlMWM4MWI0MzAyMmJlMzliMXAtMSwKKyAgICAtMHgxLjZhMDllODBlNGY3ZjJhODhkZWJlZDM3ZmFhOTNlOGM4cC0xLAorICAgIC0weDEuZjZhN2EycDEsCisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgLTB4MS42YTA5ZWE2OWJmOGQ2M2JjZTQwOTU4ZjVjNGI0ZjE1NXAtMSwKKyAgICAtMHgxLjZhMDllMjY2MjdlMGQzZDljYjc2ZGUwMGNiOTAyYmVjcC0xLAorICAgIDB4MS5mNmE3YTRwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTQKKyAgICAweDEuNmEwOWVhNjliZjhkNjNiY2U0MDk1OGY1YzRiNGYxNTVwLTEsCisgICAgLTB4MS42YTA5ZTI2NjI3ZTBkM2Q5Y2I3NmRlMDBjYjkwMmJlY3AtMSwKKyAgICAtMHgxLmY2YTdhNHAxLAorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIC0weDEuZmZmZmZmZmZmZjA2NWNiMjQwYmI4Zjk1MTlkMmM2ZjFwLTEsCisgICAgLTB4MS5mOTk5MGU5MWE3NDE2OGI5MGJkNjhkZmFiNzc1YzljYXAtMjEsCisgICAgMHgxLjJkOTdjNHAyLAorICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIDB4MS5mZmZmZmZmZmZmMDY1Y2IyNDBiYjhmOTUxOWQyYzZmMXAtMSwKKyAgICAtMHgxLmY5OTkwZTkxYTc0MTY4YjkwYmQ2OGRmYWI3NzVjOWNhcC0yMSwKKyAgICAtMHgxLjJkOTdjNHAyLAorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIC0weDEuZmZmZmZmZmZmZmMzMjkzOTg5OGY0NjRhYWZjMmU3NGFwLTEsCisgICAgLTB4MS5mMzMyMWQyMzRmMTM2M2QxODdkZDA5NTI4YjY3YjIxNXAtMjIsCisgICAgMHgxLjJkOTdjNnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5mZmZmZmZmZmZmYzMyOTM5ODk4ZjQ2NGFhZmMyZTc0YXAtMSwKKyAgICAtMHgxLmYzMzIxZDIzNGYxMzYzZDE4N2RkMDk1MjhiNjdiMjE1cC0yMiwKKyAgICAtMHgxLjJkOTdjNnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTFmYjRlN2JwLTEsCisgICAgMHgxLjk5YmM1Yjk2MWIxYWNhY2ExOGQ5NzFmNjhhZTk5ZGE5cC0yNywKKyAgICAweDEuMmQ5N2M4cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLmZmZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGExZmI0ZTdicC0xLAorICAgIDB4MS45OWJjNWI5NjFiMWFjYWNhMThkOTcxZjY4YWU5OWRhOXAtMjcsCisgICAgLTB4MS4yZDk3YzhwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAtMHgxLjZhMDlmNTI5MzE2Y2RlNWExOTBkMjM1Y2M0Y2NiODI1cC0xLAorICAgIDB4MS42YTA5ZDdhNmI1NzJjMmM4MjRkMTM3ZDA0MDVkODE4OHAtMSwKKyAgICAweDEuNWZkYmJjcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLjZhMDlmNTI5MzE2Y2RlNWExOTBkMjM1Y2M0Y2NiODI1cC0xLAorICAgIDB4MS42YTA5ZDdhNmI1NzJjMmM4MjRkMTM3ZDA0MDVkODE4OHAtMSwKKyAgICAtMHgxLjVmZGJiY3AyLAorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIC0weDEuNmEwOWU5ZDhlMjgyNjc3MDU2N2VhODE4YjJlODk5NjBwLTEsCisgICAgMHgxLjZhMDllMmY3MDRlZWNiMTgxZTNmNWVjZTliZTBjYTBmcC0xLAorICAgIDB4MS41ZmRiYmVwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEuNmEwOWU5ZDhlMjgyNjc3MDU2N2VhODE4YjJlODk5NjBwLTEsCisgICAgMHgxLjZhMDllMmY3MDRlZWNiMTgxZTNmNWVjZTliZTBjYTBmcC0xLAorICAgIC0weDEuNWZkYmJlcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgLTB4MS42YTA5ZGU4ODkzM2Q2ZTBjMWRiNzhlMWQ3Y2QxNTE3M3AtMSwKKyAgICAweDEuNmEwOWVlNDc1NDEwNTBlZjU5ZWM0YmZjZTkzNWNjMWFwLTEsCisgICAgMHgxLjVmZGJjMHAyLAorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS42YTA5ZGU4ODkzM2Q2ZTBjMWRiNzhlMWQ3Y2QxNTE3M3AtMSwKKyAgICAweDEuNmEwOWVlNDc1NDEwNTBlZjU5ZWM0YmZjZTkzNWNjMWFwLTEsCisgICAgLTB4MS41ZmRiYzBwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAweDEuNmEwOWQwMzNmYTcxNWE0MDdhNmYwM2QwMWI5MTExM2ZwLTEsCisgICAgMHgxLjZhMDlmYzliZWJhYmEyMDhjODFlYzBiMWNkMzA3NTg5cC0xLAorICAgIDB4MS5jNDYzYThwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAtMHgxLjZhMDlkMDMzZmE3MTVhNDA3YTZmMDNkMDFiOTExMTNmcC0xLAorICAgIDB4MS42YTA5ZmM5YmViYWJhMjA4YzgxZWMwYjFjZDMwNzU4OXAtMSwKKyAgICAtMHgxLmM0NjNhOHAyLAorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIDB4MS42YTA5ZGI4NDRhMjhmODYzNTg1MWZkZjg4MTg1MTVlZnAtMSwKKyAgICAweDEuNmEwOWYxNGI5Y2ZjYzBmNjIyN2QzODZjYzM3MDRhMDVwLTEsCisgICAgMHgxLmM0NjNhYXAyLAorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIC0weDEuNmEwOWRiODQ0YTI4Zjg2MzU4NTFmZGY4ODE4NTE1ZWZwLTEsCisgICAgMHgxLjZhMDlmMTRiOWNmY2MwZjYyMjdkMzg2Y2MzNzA0YTA1cC0xLAorICAgIC0weDEuYzQ2M2FhcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLjZhMDllNmQ0OTk4NjE0MGY1NTIyNmZjNTg2NzI2MTJjcC0xLAorICAgIDB4MS42YTA5ZTVmYjRkZjM1ZDY3MjlmNDcyZGEzNDEzZTQwNHAtMSwKKyAgICAweDEuYzQ2M2FjcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgLTB4MS42YTA5ZTZkNDk5ODYxNDBmNTUyMjZmYzU4NjcyNjEyY3AtMSwKKyAgICAweDEuNmEwOWU1ZmI0ZGYzNWQ2NzI5ZjQ3MmRhMzQxM2U0MDRwLTEsCisgICAgLTB4MS5jNDYzYWNwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuZmZmZmZmZmZmZjk1Mzk3OTM0Y2FjMWYyODUzMmQzZDNwLTEsCisgICAgMHgxLjRhYTljMmYyYzFkZWZiODcyOGYwZDJkYTEyMTdhYWUxcC0yMSwKKyAgICAweDEuZjZhN2EwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgLTB4MS5mZmZmZmZmZmZmOTUzOTc5MzRjYWMxZjI4NTMyZDNkM3AtMSwKKyAgICAweDEuNGFhOWMyZjJjMWRlZmI4NzI4ZjBkMmRhMTIxN2FhZTFwLTIxLAorICAgIC0weDEuZjZhN2EwcDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLmZmZmZmZmZmZmZmYThlNWFhZTJiYjkzYWU1OTBmOTg0cC0xLAorICAgIDB4MS4yYWE3MGJjYjA3ZDZkMGYzNmI3NzdjYjM4MGE4NDVkOXAtMjMsCisgICAgMHgxLmY2YTdhMnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIC0weDEuZmZmZmZmZmZmZmZhOGU1YWFlMmJiOTNhZTU5MGY5ODRwLTEsCisgICAgMHgxLjJhYTcwYmNiMDdkNmQwZjM2Yjc3N2NiMzgwYTg0NWQ5cC0yMywKKyAgICAtMHgxLmY2YTdhMnAyLAorICB9LAorICB7IC8vIEVudHJ5IDY3NworICAgIDB4MS5mZmZmZmZmZmZmZGZlMzNjMjc4Y2I0OGE1OWVlM2VmMnAtMSwKKyAgICAtMHgxLjZhYWM3YTFhN2MwYzdhZmM1ZmNiMjMxM2E3ZWNhMjI5cC0yMiwKKyAgICAweDEuZjZhN2E0cDIsCisgIH0sCisgIHsgLy8gRW50cnkgNjc4CisgICAgLTB4MS5mZmZmZmZmZmZmZGZlMzNjMjc4Y2I0OGE1OWVlM2VmMnAtMSwKKyAgICAtMHgxLjZhYWM3YTFhN2MwYzdhZmM1ZmNiMjMxM2E3ZWNhMjI5cC0yMiwKKyAgICAtMHgxLmY2YTdhNHAyLAorICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIDB4MS42YTBhMDQwZWE1YzMyYmE0YWZiZWI4NmE2MTRjNWQxNnAtMSwKKyAgICAtMHgxLjZhMDljOGMxM2Y0OGI3YWFkODUxZjlkNjQ3NGJjYjMxcC0xLAorICAgIDB4MS4xNDc1Y2FwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAtMHgxLjZhMGEwNDBlYTVjMzJiYTRhZmJlYjg2YTYxNGM1ZDE2cC0xLAorICAgIC0weDEuNmEwOWM4YzEzZjQ4YjdhYWQ4NTFmOWQ2NDc0YmNiMzFwLTEsCisgICAgLTB4MS4xNDc1Y2FwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODEKKyAgICAweDEuNmEwOWVkNmUwODgyMTJiMWUyNjBhNTEzMmQ2OTU5YjdwLTEsCisgICAgLTB4MS42YTA5ZGY2MWRlZDQ5ZDFlZTRmY2E0YmE2MTQwZDE3OXAtMSwKKyAgICAweDEuMTQ3NWNjcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgLTB4MS42YTA5ZWQ2ZTA4ODIxMmIxZTI2MGE1MTMyZDY5NTliN3AtMSwKKyAgICAtMHgxLjZhMDlkZjYxZGVkNDlkMWVlNGZjYTRiYTYxNDBkMTc5cC0xLAorICAgIC0weDEuMTQ3NWNjcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLjZhMDlkNmNkNjlkNmVmZDFhNmZhMmRkNGM2MTdjYmJlcC0xLAorICAgIC0weDEuNmEwOWY2MDI3Y2Y2NzhiMzhmYzg5OTJjZDk5OTAzMDJwLTEsCisgICAgMHgxLjE0NzVjZXAzLAorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIC0weDEuNmEwOWQ2Y2Q2OWQ2ZWZkMWE2ZmEyZGQ0YzYxN2NiYmVwLTEsCisgICAgLTB4MS42YTA5ZjYwMjdjZjY3OGIzOGZjODk5MmNkOTk5MDMwMnAtMSwKKyAgICAtMHgxLjE0NzVjZXAzLAorICB9LAorICB7IC8vIEVudHJ5IDY4NQorICAgIDB4MS5mOTk5MGU5MWE2NGFlNDg2NzU3ODc4YmRmZWUwZjcwM3AtMjAsCisgICAgLTB4MS5mZmZmZmZmZmZjMTk3MmM5MDJlZjMxYzM3Y2I1NDgxN3AtMSwKKyAgICAweDEuMmQ5N2M0cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgLTB4MS5mOTk5MGU5MWE2NGFlNDg2NzU3ODc4YmRmZWUwZjcwM3AtMjAsCisgICAgLTB4MS5mZmZmZmZmZmZjMTk3MmM5MDJlZjMxYzM3Y2I1NDgxN3AtMSwKKyAgICAtMHgxLjJkOTdjNHAzLAorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIDB4MS5mMzMyMWQyMzRlZDgxMjhhYWJiMDQ5OWE0M2I0ZGVmMnAtMjEsCisgICAgLTB4MS5mZmZmZmZmZmZmMGNhNGU2MjYzZDI3YTAyMDQzODlkZnAtMSwKKyAgICAweDEuMmQ5N2M2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgLTB4MS5mMzMyMWQyMzRlZDgxMjhhYWJiMDQ5OWE0M2I0ZGVmMnAtMjEsCisgICAgLTB4MS5mZmZmZmZmZmZmMGNhNGU2MjYzZDI3YTAyMDQzODlkZnAtMSwKKyAgICAtMHgxLjJkOTdjNnAzLAorICB9LAorICB7IC8vIEVudHJ5IDY4OQorICAgIC0weDEuOTliYzViOTYxYjFhYzI5NmRiZTE5ODBmZDJjODkwYTBwLTI2LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZDcwMzQ5OGMzYjgyODg1NjM5MTVwLTEsCisgICAgMHgxLjJkOTdjOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIDB4MS45OWJjNWI5NjFiMWFjMjk2ZGJlMTk4MGZkMmM4OTBhMHAtMjYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkNzAzNDk4YzNiODI4ODU2MzkxNXAtMSwKKyAgICAtMHgxLjJkOTdjOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDY5MQorICAgIC0weDEuNmEwOWMxNGU4M2Y4ZGIwODBkMTIyM2Y4ODdjYzEyZWNwLTEsCisgICAgLTB4MS42YTBhMGI4MTVmYjM3YjJkMDE1NTFlMDdjYjMwMDlkMXAtMSwKKyAgICAweDEuNDZiOWMwcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjkyCisgICAgMHgxLjZhMDljMTRlODNmOGRiMDgwZDEyMjNmODg3Y2MxMmVjcC0xLAorICAgIC0weDEuNmEwYTBiODE1ZmIzN2IyZDAxNTUxZTA3Y2IzMDA5ZDFwLTEsCisgICAgLTB4MS40NmI5YzBwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICAtMHgxLjZhMDlkN2VmMjNmYmVjMWVkODEyZTgwN2JlYjA0OTJmcC0xLAorICAgIC0weDEuNmEwOWY0ZTBjMmU5OGRlYjc4NjQyYjYwMzJhNzNkNDZwLTEsCisgICAgMHgxLjQ2YjljMnAzLAorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIDB4MS42YTA5ZDdlZjIzZmJlYzFlZDgxMmU4MDdiZWIwNDkyZnAtMSwKKyAgICAtMHgxLjZhMDlmNGUwYzJlOThkZWI3ODY0MmI2MDMyYTczZDQ2cC0xLAorICAgIC0weDEuNDZiOWMycDMsCisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgLTB4MS42YTA5ZWU4ZmMyOTRmMzVkYjNlZmNlNTY1MzY1YWY4OXAtMSwKKyAgICAtMHgxLjZhMDlkZTQwMjRiNTk2YjUwZWIwNmQ1NjJkYjhjNzc3cC0xLAorICAgIDB4MS40NmI5YzRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuNmEwOWVlOGZjMjk0ZjM1ZGIzZWZjZTU2NTM2NWFmODlwLTEsCisgICAgLTB4MS42YTA5ZGU0MDI0YjU5NmI1MGViMDZkNTYyZGI4Yzc3N3AtMSwKKyAgICAtMHgxLjQ2YjljNHAzLAorICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIC0weDEuZmZmZmZmZmZmZTRjOTZiMzk3ZDk1MWNiMjE4NjFjOTVwLTEsCisgICAgLTB4MS40ZGRkM2JhOWVkY2Q4OThiOTk0NmZkZDIwYWYyMmE2OHAtMjAsCisgICAgMHgxLjVmZGJiY3AzLAorICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDB4MS5mZmZmZmZmZmZlNGM5NmIzOTdkOTUxY2IyMTg2MWM5NXAtMSwKKyAgICAtMHgxLjRkZGQzYmE5ZWRjZDg5OGI5OTQ2ZmRkMjBhZjIyYTY4cC0yMCwKKyAgICAtMHgxLjVmZGJiY3AzLAorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIC0weDEuZmZmZmZmZmZmZmU4NTEyYWViYjU2YzllNzViNDE5NDFwLTEsCisgICAgLTB4MS4zNzc0ZWVhN2I4YWJlOGZhOGMzODAxNDJiOTdhZjRiNnAtMjIsCisgICAgMHgxLjVmZGJiZXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcwMAorICAgIDB4MS5mZmZmZmZmZmZmZTg1MTJhZWJiNTZjOWU3NWI0MTk0MXAtMSwKKyAgICAtMHgxLjM3NzRlZWE3YjhhYmU4ZmE4YzM4MDE0MmI5N2FmNGI2cC0yMiwKKyAgICAtMHgxLjVmZGJiZXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcwMQorICAgIC0weDEuZmZmZmZmZmZmZjg0MGJhMjNmOTFjOWNiNDlhMTBiMjdwLTEsCisgICAgMHgxLjY0NDU4OGFjMjM4YWU0OTNmYTMyNDM1YmE1MTMyOWJmcC0yMSwKKyAgICAweDEuNWZkYmMwcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLmZmZmZmZmZmZmY4NDBiYTIzZjkxYzljYjQ5YTEwYjI3cC0xLAorICAgIDB4MS42NDQ1ODhhYzIzOGFlNDkzZmEzMjQzNWJhNTEzMjliZnAtMjEsCisgICAgLTB4MS41ZmRiYzBwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAtMHgxLjZhMGExMmY0MTk3YzkwYTBlZTRhMDk0YjYzNzdhYTIzcC0xLAorICAgIDB4MS42YTA5YjlkYmM4ODFjNDU4ZTc0NzkwOGNhZjJhYTVlMXAtMSwKKyAgICAweDEuNzhmZGI2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLjZhMGExMmY0MTk3YzkwYTBlZTRhMDk0YjYzNzdhYTIzcC0xLAorICAgIDB4MS42YTA5YjlkYmM4ODFjNDU4ZTc0NzkwOGNhZjJhYTVlMXAtMSwKKyAgICAtMHgxLjc4ZmRiNnAzLAorICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIC0weDEuNmEwOWZjNTM3ZDI5Y2YxMzFkNjcxMDk5MWJlYmFiZWRwLTEsCisgICAgMHgxLjZhMDlkMDdjNjhmYzAxMGZmY2ZkM2IxOWYxZWU0ZjQ0cC0xLAorICAgIDB4MS43OGZkYjhwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAweDEuNmEwOWZjNTM3ZDI5Y2YxMzFkNjcxMDk5MWJlYmFiZWRwLTEsCisgICAgMHgxLjZhMDlkMDdjNjhmYzAxMGZmY2ZkM2IxOWYxZWU0ZjQ0cC0xLAorICAgIC0weDEuNzhmZGI4cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgLTB4MS42YTA5ZTViMmRmNmQwMzg4ZjkwNzBjNDM0MGYzZTY2OXAtMSwKKyAgICAweDEuNmEwOWU3MWQwODBjMzNmNjk2NGEwN2QxYTBiZjU5ODBwLTEsCisgICAgMHgxLjc4ZmRiYXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS42YTA5ZTViMmRmNmQwMzg4ZjkwNzBjNDM0MGYzZTY2OXAtMSwKKyAgICAweDEuNmEwOWU3MWQwODBjMzNmNjk2NGEwN2QxYTBiZjU5ODBwLTEsCisgICAgLTB4MS43OGZkYmFwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEuNmEwOWM5MDlhZGQ0ZGJmMzIyNTNhMzlkNWMzMDYzMDhwLTEsCisgICAgMHgxLjZhMGEwM2M2Mzc0MmQ2MjgwMmQxNjNkNWNmYjNiN2Q1cC0xLAorICAgIDB4MS5hYjQxYWVwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTAKKyAgICAtMHgxLjZhMDljOTA5YWRkNGRiZjMyMjUzYTM5ZDVjMzA2MzA4cC0xLAorICAgIDB4MS42YTBhMDNjNjM3NDJkNjI4MDJkMTYzZDVjZmIzYjdkNXAtMSwKKyAgICAtMHgxLmFiNDFhZXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIDB4MS42YTA5ZGZhYTRkNWMzYTdmMDU2ZjNlNjFhMzY1YjI5ZXAtMSwKKyAgICAweDEuNmEwOWVkMjU5OWZkMzY0Yzk3NjYwY2NhNjY1MmMwYTNwLTEsCisgICAgMHgxLmFiNDFiMHAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIC0weDEuNmEwOWRmYWE0ZDVjM2E3ZjA1NmYzZTYxYTM2NWIyOWVwLTEsCisgICAgMHgxLjZhMDllZDI1OTlmZDM2NGM5NzY2MGNjYTY2NTJjMGEzcC0xLAorICAgIC0weDEuYWI0MWIwcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgMHgxLjZhMDlmNjRhZWI3OThmMmIzZTNkOWIxNmU4ZTNjNDEycC0xLAorICAgIDB4MS42YTA5ZDY4NGZiNGQ4Yzg0MDY2MGQ2YjQyZWM4MzAzOXAtMSwKKyAgICAweDEuYWI0MWIycDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgLTB4MS42YTA5ZjY0YWViNzk4ZjJiM2UzZDliMTZlOGUzYzQxMnAtMSwKKyAgICAweDEuNmEwOWQ2ODRmYjRkOGM4NDA2NjBkNmI0MmVjODMwMzlwLTEsCisgICAgLTB4MS5hYjQxYjJwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAweDEuZmZmZmZmZmZmYzI2MGQ2ZmZiOGY0Y2Q4YWIzZmQwMjBwLTEsCisgICAgMHgxLmY2NjU5NWRhN2ExYWUzMDhkMjZhMThkZTRjMmVkM2EzcC0yMCwKKyAgICAweDEuYzQ2M2E4cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgLTB4MS5mZmZmZmZmZmZjMjYwZDZmZmI4ZjRjZDhhYjNmZDAyMHAtMSwKKyAgICAweDEuZjY2NTk1ZGE3YTFhZTMwOGQyNmExOGRlNGMyZWQzYTNwLTIwLAorICAgIC0weDEuYzQ2M2E4cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgMHgxLmZmZmZmZmZmZmYxMmQ4OWJiMDg0ZGQ3NjI4NDhiM2Q2cC0xLAorICAgIDB4MS5lY2NiMmJiNGY2NmVhODYxMjQxZmEwOWNhOWQ4YTAzNHAtMjEsCisgICAgMHgxLmM0NjNhYXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIC0weDEuZmZmZmZmZmZmZjEyZDg5YmIwODRkZDc2Mjg0OGIzZDZwLTEsCisgICAgMHgxLmVjY2IyYmI0ZjY2ZWE4NjEyNDFmYTA5Y2E5ZDhhMDM0cC0yMSwKKyAgICAtMHgxLmM0NjNhYXAzLAorICB9LAorICB7IC8vIEVudHJ5IDcxOQorICAgIDB4MS5mZmZmZmZmZmZmZmZhM2M3NjU3Yjg1ZTViNDRiYmQ0NHAtMSwKKyAgICAtMHgxLjMzNGQ0NGIwOTQ1NDA3YjExOGIzNjFhYjc4MTcxZjY3cC0yNSwKKyAgICAweDEuYzQ2M2FjcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZhM2M3NjU3Yjg1ZTViNDRiYmQ0NHAtMSwKKyAgICAtMHgxLjMzNGQ0NGIwOTQ1NDA3YjExOGIzNjFhYjc4MTcxZjY3cC0yNSwKKyAgICAtMHgxLmM0NjNhY3AzLAorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIDB4MS42YTBhMGIzOGYxMzRhMzI5NWEwYjM4NmU0MmYxY2E3YXAtMSwKKyAgICAtMHgxLjZhMDljMTk2ZjI4NjdjYzkxNmFlMmI3ZTZjOWQ5OWMxcC0xLAorICAgIDB4MS5kZDg1YTRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAtMHgxLjZhMGEwYjM4ZjEzNGEzMjk1YTBiMzg2ZTQyZjFjYTdhcC0xLAorICAgIC0weDEuNmEwOWMxOTZmMjg2N2NjOTE2YWUyYjdlNmM5ZDk5YzFwLTEsCisgICAgLTB4MS5kZDg1YTRwMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAweDEuNmEwOWY0OTg1NDY2MmVmZjFiMzU3NTVhMTI5MDQ0YTdwLTEsCisgICAgLTB4MS42YTA5ZDgzNzkyODUwNmY3Y2ZmNzZmMDk0YjRlMDM3N3AtMSwKKyAgICAweDEuZGQ4NWE2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgLTB4MS42YTA5ZjQ5ODU0NjYyZWZmMWIzNTc1NWExMjkwNDRhN3AtMSwKKyAgICAtMHgxLjZhMDlkODM3OTI4NTA2ZjdjZmY3NmYwOTRiNGUwMzc3cC0xLAorICAgIC0weDEuZGQ4NWE2cDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgMHgxLjZhMDlkZGY3YjYyZGIwZTA0NDBiNmE0MjYyMjAzYjExcC0xLAorICAgIC0weDEuNmEwOWVlZDgzMTE5ODc0ZTUxYWU0YmI4YWVkZGMxZjJwLTEsCisgICAgMHgxLmRkODVhOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDcyNgorICAgIC0weDEuNmEwOWRkZjdiNjJkYjBlMDQ0MGI2YTQyNjIyMDNiMTFwLTEsCisgICAgLTB4MS42YTA5ZWVkODMxMTk4NzRlNTFhZTRiYjhhZWRkYzFmMnAtMSwKKyAgICAtMHgxLmRkODVhOHAzLAorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIDB4MS40YWE5YzJmMmMxOWEwNjJiMThhMDE3YmNkNTQyNGZlYXAtMjAsCisgICAgLTB4MS5mZmZmZmZmZmZlNTRlNWU0ZDMyYjM0NTMxNjYwNjBiM3AtMSwKKyAgICAweDEuZjZhN2EwcDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzI4CisgICAgLTB4MS40YWE5YzJmMmMxOWEwNjJiMThhMDE3YmNkNTQyNGZlYXAtMjAsCisgICAgLTB4MS5mZmZmZmZmZmZlNTRlNWU0ZDMyYjM0NTMxNjYwNjBiM3AtMSwKKyAgICAtMHgxLmY2YTdhMHAzLAorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIDB4MS4yYWE3MGJjYjA3ZDNhNDA3ODE1MTBkMjEzNjUyZTQzYXAtMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZWEzOTZhYjhhZWU1MDkzOTJjNzU1ZHAtMSwKKyAgICAweDEuZjZhN2EycDMsCisgIH0sCisgIHsgLy8gRW50cnkgNzMwCisgICAgLTB4MS4yYWE3MGJjYjA3ZDNhNDA3ODE1MTBkMjEzNjUyZTQzYXAtMjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZWEzOTZhYjhhZWU1MDkzOTJjNzU1ZHAtMSwKKyAgICAtMHgxLmY2YTdhMnAzLAorICB9LAorICB7IC8vIEVudHJ5IDczMQorICAgIC0weDEuNmFhYzdhMWE3YmY1YmJkNDk1NzJmZmI4ZDc3NDk5MjJwLTIxLAorICAgIC0weDEuZmZmZmZmZmZmZjdmOGNmMDllMzJkNjMwOWJlYTg1Y2FwLTEsCisgICAgMHgxLmY2YTdhNHAzLAorICB9LAorICB7IC8vIEVudHJ5IDczMgorICAgIDB4MS42YWFjN2ExYTdiZjViYmQ0OTU3MmZmYjhkNzc0OTkyMnAtMjEsCisgICAgLTB4MS5mZmZmZmZmZmZmN2Y4Y2YwOWUzMmQ2MzA5YmVhODVjYXAtMSwKKyAgICAtMHgxLmY2YTdhNHAzLAorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIC0weDEuNmEwOWEzODM5NTMxMjQwOTY4OTgzNDBmOTE2OGI5ZDVwLTEsCisgICAgLTB4MS42YTBhMjk0YzQ1ZWM3NDdhNDc3MTFhNDk5NGQyYzVlNHAtMSwKKyAgICAweDEuMDdlNGNjcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzM0CisgICAgMHgxLjZhMDlhMzgzOTUzMTI0MDk2ODk4MzQwZjkxNjhiOWQ1cC0xLAorICAgIC0weDEuNmEwYTI5NGM0NWVjNzQ3YTQ3NzExYTQ5OTRkMmM1ZTRwLTEsCisgICAgLTB4MS4wN2U0Y2NwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAtMHgxLjZhMDlkMGM0ZDc4Njk5NjFjNDdhOWIwYjk2OGNjOTEwcC0xLAorICAgIC0weDEuNmEwOWZjMGIwZWE3ZWQ5ZmI1ZGQ1MGEwYzhhZjE5Y2JwLTEsCisgICAgMHgxLjA3ZTRjZXA0LAorICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS42YTA5ZDBjNGQ3ODY5OTYxYzQ3YTliMGI5NjhjYzkxMHAtMSwKKyAgICAtMHgxLjZhMDlmYzBiMGVhN2VkOWZiNWRkNTBhMGM4YWYxOWNicC0xLAorICAgIC0weDEuMDdlNGNlcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgLTB4MS42YTA5ZmUwNjE0MzNlNzc3MGQwMGNhNTlkNWE1NjI1MXAtMSwKKyAgICAtMHgxLjZhMDljZWM5ZDFiYjNlZDRmODEwYzlmOTc4NmQ2MTBlcC0xLAorICAgIDB4MS4wN2U0ZDBwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAweDEuNmEwOWZlMDYxNDMzZTc3NzBkMDBjYTU5ZDVhNTYyNTFwLTEsCisgICAgLTB4MS42YTA5Y2VjOWQxYmIzZWQ0ZjgxMGM5Zjk3ODZkNjEwZXAtMSwKKyAgICAtMHgxLjA3ZTRkMHA0LAorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIC0weDEuZmZmZmZmZmZmOTIxOWRhZTVmZWRhMWI1MzkzMzU4MDNwLTEsCisgICAgLTB4MS40Zjc2ZjgwNTgyYzczZmMwY2MwOTAzZWQ4Y2E3ZDZiM3AtMTksCisgICAgMHgxLjE0NzVjYXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDB4MS5mZmZmZmZmZmY5MjE5ZGFlNWZlZGExYjUzOTMzNTgwM3AtMSwKKyAgICAtMHgxLjRmNzZmODA1ODJjNzNmYzBjYzA5MDNlZDhjYTdkNmIzcC0xOSwKKyAgICAtMHgxLjE0NzVjYXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc0MQorICAgIC0weDEuZmZmZmZmZmZmZjlkNTU2ZThjMGJmMGE4MGQ2MTA4MDhwLTEsCisgICAgLTB4MS4zZGRiZTAxNjExMDhiNjkwZWVkNzBhN2Y1OWRlNzUxY3AtMjEsCisgICAgMHgxLjE0NzVjY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIDB4MS5mZmZmZmZmZmZmOWQ1NTZlOGMwYmYwYTgwZDYxMDgwOHAtMSwKKyAgICAtMHgxLjNkZGJlMDE2MTEwOGI2OTBlZWQ3MGE3ZjU5ZGU3NTFjcC0yMSwKKyAgICAtMHgxLjE0NzVjY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc0MworICAgIC0weDEuZmZmZmZmZmZmZTE5MGQyZWI4MmU3NGVmZDIwOTMyMTVwLTEsCisgICAgMHgxLjYxMTIwZmY0ZjcwMTgwYjBkNTVjM2FlMGY2OTU4NWNhcC0yMCwKKyAgICAweDEuMTQ3NWNlcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLmZmZmZmZmZmZmUxOTBkMmViODJlNzRlZmQyMDkzMjE1cC0xLAorICAgIDB4MS42MTEyMGZmNGY3MDE4MGIwZDU1YzNhZTBmNjk1ODVjYXAtMjAsCisgICAgLTB4MS4xNDc1Y2VwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAtMHgxLjZhMGExYTFlNjRhMjhlZWUyMzhkYzg1Mjg0NmFhY2Q1cC0xLAorICAgIDB4MS42YTA5YjJiMTdiNzQxMDUwYTZjZmQ2NGI4MWM3NjQ4NXAtMSwKKyAgICAweDEuMjEwNmM4cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgMHgxLjZhMGExYTFlNjRhMjhlZWUyMzhkYzg1Mjg0NmFhY2Q1cC0xLAorICAgIDB4MS42YTA5YjJiMTdiNzQxMDUwYTZjZmQ2NGI4MWM3NjQ4NXAtMSwKKyAgICAtMHgxLjIxMDZjOHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc0NworICAgIC0weDEuNmEwOWVjZGQyYjc4NGI2OTkwMzRlZTgxMDI2NzBlMjdwLTEsCisgICAgMHgxLjZhMDlkZmYyYmJlM2M5NjE2YTM1NzZjNTVlNzczMjA3cC0xLAorICAgIDB4MS4yMTA2Y2FwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAweDEuNmEwOWVjZGQyYjc4NGI2OTkwMzRlZTgxMDI2NzBlMjdwLTEsCisgICAgMHgxLjZhMDlkZmYyYmJlM2M5NjE2YTM1NzZjNTVlNzczMjA3cC0xLAorICAgIC0weDEuMjEwNmNhcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgLTB4MS42YTA5YmY5YmVjYTVlMDMxODgzMDE2MzljMDllZDU3NHAtMSwKKyAgICAweDEuNmEwYTBkMzNmNmFiNWFmMjYyYWQ2YWQxOGFjMWNlOWZwLTEsCisgICAgMHgxLjIxMDZjY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIDB4MS42YTA5YmY5YmVjYTVlMDMxODgzMDE2MzljMDllZDU3NHAtMSwKKyAgICAweDEuNmEwYTBkMzNmNmFiNWFmMjYyYWQ2YWQxOGFjMWNlOWZwLTEsCisgICAgLTB4MS4yMTA2Y2NwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAtMHgxLmY5OTkwZTkxYTI3MGQzYmMxYzAyZjRmNjlmNDhlNjc1cC0xOSwKKyAgICAweDEuZmZmZmZmZmZmMDY1Y2IyNDBiY2JmZGZmNDk3N2RkZjhwLTEsCisgICAgMHgxLjJkOTdjNHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIDB4MS5mOTk5MGU5MWEyNzBkM2JjMWMwMmY0ZjY5ZjQ4ZTY3NXAtMTksCisgICAgMHgxLmZmZmZmZmZmZjA2NWNiMjQwYmNiZmRmZjQ5NzdkZGY4cC0xLAorICAgIC0weDEuMmQ5N2M0cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgLTB4MS5mMzMyMWQyMzRkZWFjZDZmM2FmZDc1MDM5Njg1MDEyZnAtMjAsCisgICAgMHgxLmZmZmZmZmZmZmMzMjkzOTg5OGY1ODVkNjk0OGNmMmQxcC0xLAorICAgIDB4MS4yZDk3YzZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAweDEuZjMzMjFkMjM0ZGVhY2Q2ZjNhZmQ3NTAzOTY4NTAxMmZwLTIwLAorICAgIDB4MS5mZmZmZmZmZmZjMzI5Mzk4OThmNTg1ZDY5NDhjZjJkMXAtMSwKKyAgICAtMHgxLjJkOTdjNnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc1NQorICAgIDB4MS45OWJjNWI5NjFiMWFhMWM5ZTgwMjMwNzRmMzQwNmZkOXAtMjUsCisgICAgMHgxLmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTI3ZThkNmQxcC0xLAorICAgIDB4MS4yZDk3YzhwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAtMHgxLjk5YmM1Yjk2MWIxYWExYzllODAyMzA3NGYzNDA2ZmQ5cC0yNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmNWMwZDI2MzBlZTBhMjdlOGQ2ZDFwLTEsCisgICAgLTB4MS4yZDk3YzhwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuNmEwOTk0OWUxY2UxZWM1MDFhZmNiMzVkNzMxYmY2MmNwLTEsCisgICAgMHgxLjZhMGEzODMxYjgxZDk0OTY2YWQ4ZGY0ZDM3ODgyNGY5cC0xLAorICAgIDB4MS4zYTI4YzJwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTgKKyAgICAtMHgxLjZhMDk5NDllMWNlMWVjNTAxYWZjYjM1ZDczMWJmNjJjcC0xLAorICAgIDB4MS42YTBhMzgzMWI4MWQ5NDk2NmFkOGRmNGQzNzg4MjRmOXAtMSwKKyAgICAtMHgxLjNhMjhjMnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc1OQorICAgIDB4MS42YTA5YzFkZjYxMTQxMDBjNjVkMWZmNmM1NTc1NWU3MnAtMSwKKyAgICAweDEuNmEwYTBhZjA4MmI1YmNhN2Y1NTY5ZjRkYTY4ODNmNjRwLTEsCisgICAgMHgxLjNhMjhjNHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc2MAorICAgIC0weDEuNmEwOWMxZGY2MTE0MTAwYzY1ZDFmZjZjNTU3NTVlNzJwLTEsCisgICAgMHgxLjZhMGEwYWYwODJiNWJjYTdmNTU2OWY0ZGE2ODgzZjY0cC0xLAorICAgIC0weDEuM2EyOGM0cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLjZhMDllZjIwOWY5ZTBjYzEzMzI0ZGRmMmIzNjE1NTNmcC0xLAorICAgIDB4MS42YTA5ZGRhZjQ3YTViYzhkYmRjYjZiMTM4NDQ5MDJhZXAtMSwKKyAgICAweDEuM2EyOGM2cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzYyCisgICAgLTB4MS42YTA5ZWYyMDlmOWUwY2MxMzMyNGRkZjJiMzYxNTUzZnAtMSwKKyAgICAweDEuNmEwOWRkYWY0N2E1YmM4ZGJkY2I2YjEzODQ0OTAyYWVwLTEsCisgICAgLTB4MS4zYTI4YzZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAweDEuZmZmZmZmZmZmNTNmNDc2ZWM0ZjU5ZjI2YzRiY2RmYTBwLTEsCisgICAgMHgxLmEzYmIyNTFkYzdlZmFhMWUyMTM3YmIzN2VkNjY1NGRicC0xOSwKKyAgICAweDEuNDZiOWMwcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzY0CisgICAgLTB4MS5mZmZmZmZmZmY1M2Y0NzZlYzRmNTlmMjZjNGJjZGZhMHAtMSwKKyAgICAweDEuYTNiYjI1MWRjN2VmYWExZTIxMzdiYjM3ZWQ2NjU0ZGJwLTE5LAorICAgIC0weDEuNDZiOWMwcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLmZmZmZmZmZmZmU1ZDIwOTdiMzQzMzRhZDY3OWRkN2E0cC0xLAorICAgIDB4MS40Nzc2NGEzYjk1NjY3NThlNWJhYTJlMzAyOWYxYWJiYXAtMjAsCisgICAgMHgxLjQ2YjljMnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc2NgorICAgIC0weDEuZmZmZmZmZmZmZTVkMjA5N2IzNDMzNGFkNjc5ZGQ3YTRwLTEsCisgICAgMHgxLjQ3NzY0YTNiOTU2Njc1OGU1YmFhMmUzMDI5ZjFhYmJhcC0yMCwKKyAgICAtMHgxLjQ2YjljMnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIDB4MS5mZmZmZmZmZmZmN2FmOWMwYTE5YTAwNWM1NjVjNmFmN3AtMSwKKyAgICAtMHgxLjcxMTM2Yjg4ZDQ2MDg0OTBmMmRkZmU5MDEwMTExMmFlcC0yMSwKKyAgICAweDEuNDZiOWM0cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgLTB4MS5mZmZmZmZmZmZmN2FmOWMwYTE5YTAwNWM1NjVjNmFmN3AtMSwKKyAgICAtMHgxLjcxMTM2Yjg4ZDQ2MDg0OTBmMmRkZmU5MDEwMTExMmFlcC0yMSwKKyAgICAtMHgxLjQ2YjljNHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc2OQorICAgIDB4MS42YTBhMjkwM2Q3NzM5MjViMDUyZmIwMDZhYzY3MGMyM3AtMSwKKyAgICAtMHgxLjZhMDlhM2NjMDNjNGJiYWQyMjIyZGZlNWJlMzE3NTY1cC0xLAorICAgIDB4MS41MzRhYmVwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAtMHgxLjZhMGEyOTAzZDc3MzkyNWIwNTJmYjAwNmFjNjcwYzIzcC0xLAorICAgIC0weDEuNmEwOWEzY2MwM2M0YmJhZDIyMjJkZmU1YmUzMTc1NjVwLTEsCisgICAgLTB4MS41MzRhYmVwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzEKKyAgICAweDEuNmEwOWZiYzJhMDI1ZmRhZTkxODQ2NmZhMDAxNDIxNDNwLTEsCisgICAgLTB4MS42YTA5ZDEwZDQ2MTEyMzM1ZDBlNDNkNzM4Mzg3ZGU4Y3AtMSwKKyAgICAweDEuNTM0YWMwcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgLTB4MS42YTA5ZmJjMmEwMjVmZGFlOTE4NDY2ZmEwMDE0MjE0M3AtMSwKKyAgICAtMHgxLjZhMDlkMTBkNDYxMTIzMzVkMGU0M2Q3MzgzODdkZThjcC0xLAorICAgIC0weDEuNTM0YWMwcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLjZhMDljZTgxNjMzMDQxMTMxMzVhNjhhZTkzZDNmYTBlcC0xLAorICAgIC0weDEuNmEwOWZlNGU4MmI1NjM3YTRhOGYzOTJjMzMwMWJlOTRwLTEsCisgICAgMHgxLjUzNGFjMnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIC0weDEuNmEwOWNlODE2MzMwNDExMzEzNWE2OGFlOTNkM2ZhMGVwLTEsCisgICAgLTB4MS42YTA5ZmU0ZTgyYjU2MzdhNGE4ZjM5MmMzMzAxYmU5NHAtMSwKKyAgICAtMHgxLjUzNGFjMnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIDB4MS40ZGRkM2JhOWVjYjE5ZDZiYjZlYTE2MTEyMGU0NDdiOXAtMTksCisgICAgLTB4MS5mZmZmZmZmZmY5MzI1YWNlNWY2ODJiYmI4YjEyMmEwOXAtMSwKKyAgICAweDEuNWZkYmJjcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzc2CisgICAgLTB4MS40ZGRkM2JhOWVjYjE5ZDZiYjZlYTE2MTEyMGU0NDdiOXAtMTksCisgICAgLTB4MS5mZmZmZmZmZmY5MzI1YWNlNWY2ODJiYmI4YjEyMmEwOXAtMSwKKyAgICAtMHgxLjVmZGJiY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc3NworICAgIDB4MS4zNzc0ZWVhN2I4OWQ4MGRmNzgxNmZlMjA4ZWM2OWZjMHAtMjEsCisgICAgLTB4MS5mZmZmZmZmZmZmYTE0NGFiYWVkNWI0YWFiODgwNjM1ZHAtMSwKKyAgICAweDEuNWZkYmJlcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgLTB4MS4zNzc0ZWVhN2I4OWQ4MGRmNzgxNmZlMjA4ZWM2OWZjMHAtMjEsCisgICAgLTB4MS5mZmZmZmZmZmZmYTE0NGFiYWVkNWI0YWFiODgwNjM1ZHAtMSwKKyAgICAtMHgxLjVmZGJiZXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc3OQorICAgIC0weDEuNjQ0NTg4YWMyMzM0YTNkNTQ1MmQ5OTYwMjgyY2Y4MGRwLTIwLAorICAgIC0weDEuZmZmZmZmZmZmZTEwMmU4OGZlNDc2MzMxZTFkZGVmYWZwLTEsCisgICAgMHgxLjVmZGJjMHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4MAorICAgIDB4MS42NDQ1ODhhYzIzMzRhM2Q1NDUyZDk5NjAyODJjZjgwZHAtMjAsCisgICAgLTB4MS5mZmZmZmZmZmZlMTAyZTg4ZmU0NzYzMzFlMWRkZWZhZnAtMSwKKyAgICAtMHgxLjVmZGJjMHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4MQorICAgIC0weDEuNmEwOWIyZjllYTA0OWU4NTVlMzVjYTljZTdlMGQ4OWFwLTEsCisgICAgLTB4MS42YTBhMTlkNWY2MjZhMzVlZTExMmEzNDYzOGUwNzgwOHAtMSwKKyAgICAweDEuNmM2Y2JhcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLjZhMDliMmY5ZWEwNDllODU1ZTM1Y2E5Y2U3ZTBkODlhcC0xLAorICAgIC0weDEuNmEwYTE5ZDVmNjI2YTM1ZWUxMTJhMzQ2MzhlMDc4MDhwLTEsCisgICAgLTB4MS42YzZjYmFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAtMHgxLjZhMDllMDNiMmE2YjQ5YzYxMzRjNjdiNDJiYWVlNjY4cC0xLAorICAgIC0weDEuNmEwOWVjOTRiY2YzNTIwOGNjZDAzMDY4NGQ1ZGRkOWNwLTEsCisgICAgMHgxLjZjNmNiY3A0LAorICB9LAorICB7IC8vIEVudHJ5IDc4NAorICAgIDB4MS42YTA5ZTAzYjJhNmI0OWM2MTM0YzY3YjQyYmFlZTY2OHAtMSwKKyAgICAtMHgxLjZhMDllYzk0YmNmMzUyMDhjY2QwMzA2ODRkNWRkZDljcC0xLAorICAgIC0weDEuNmM2Y2JjcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgLTB4MS42YTBhMGQ3YzY1MjljZDg1ZGJiYjNhNWMyY2QzZmFlNXAtMSwKKyAgICAtMHgxLjZhMDliZjUzN2UxN2Q5MDA2NTliZDJmYTI0YzNhOGM4cC0xLAorICAgIDB4MS42YzZjYmVwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAweDEuNmEwYTBkN2M2NTI5Y2Q4NWRiYmIzYTVjMmNkM2ZhZTVwLTEsCisgICAgLTB4MS42YTA5YmY1MzdlMTdkOTAwNjU5YmQyZmEyNGMzYThjOHAtMSwKKyAgICAtMHgxLjZjNmNiZXA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4NworICAgIC0weDEuZmZmZmZmZmZmMDdmMGFiMTJhYThmNDFmMjljMTUzOTJwLTEsCisgICAgLTB4MS5mN2ZmNTIzNjBjNjIyYjNmOTRkOWM3MjUwYmZhZDhkNHAtMTksCisgICAgMHgxLjc4ZmRiNnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4OAorICAgIDB4MS5mZmZmZmZmZmYwN2YwYWIxMmFhOGY0MWYyOWMxNTM5MnAtMSwKKyAgICAtMHgxLmY3ZmY1MjM2MGM2MjJiM2Y5NGQ5YzcyNTBiZmFkOGQ0cC0xOSwKKyAgICAtMHgxLjc4ZmRiNnA0LAorICB9LAorICB7IC8vIEVudHJ5IDc4OQorICAgIC0weDEuZmZmZmZmZmZmYzNmMDU0MmRiMjFkY2JjYjg0N2RhYzNwLTEsCisgICAgLTB4MS5lZmZlYTQ2YzIxYmFhM2RhN2MyNjZjOTUzYTAxMzU5OHAtMjAsCisgICAgMHgxLjc4ZmRiOHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5MAorICAgIDB4MS5mZmZmZmZmZmZjM2YwNTQyZGIyMWRjYmNiODQ3ZGFjM3AtMSwKKyAgICAtMHgxLmVmZmVhNDZjMjFiYWEzZGE3YzI2NmM5NTNhMDEzNTk4cC0yMCwKKyAgICAtMHgxLjc4ZmRiOHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5MQorICAgIC0weDEuZmZmZmZmZmZmZmZlZmZkNDhiYWM3M2VmZTYwYzdmY2ZwLTEsCisgICAgMHgxLjAwMTViOTNkZDBmMDk1YmUxZWIwYTViODdmZTVlMzNlcC0yNCwKKyAgICAweDEuNzhmZGJhcDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzkyCisgICAgMHgxLmZmZmZmZmZmZmZmZWZmZDQ4YmFjNzNlZmU2MGM3ZmNmcC0xLAorICAgIDB4MS4wMDE1YjkzZGQwZjA5NWJlMWViMGE1Yjg3ZmU1ZTMzZXAtMjQsCisgICAgLTB4MS43OGZkYmFwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAtMHgxLjZhMGEzN2U5NDlhN2FkNjk4YTMyMjM0YzczZTVhZmJhcC0xLAorICAgIDB4MS42YTA5OTRlNjhiNzg3ZWU0ZmQ2ODMwYjI4ODIyNTc0NXAtMSwKKyAgICAweDEuODU4ZWI0cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzk0CisgICAgMHgxLjZhMGEzN2U5NDlhN2FkNjk4YTMyMjM0YzczZTVhZmJhcC0xLAorICAgIDB4MS42YTA5OTRlNjhiNzg3ZWU0ZmQ2ODMwYjI4ODIyNTc0NXAtMSwKKyAgICAtMHgxLjg1OGViNHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5NQorICAgIC0weDEuNmEwYTBhYTgxNDM2YzdhOGQzM2EzOGQ3MDQwMzBkMTRwLTEsCisgICAgMHgxLjZhMDljMjI3Y2ZhMTk0ZDFmYTdhYjk5MDlkZTUwODNjcC0xLAorICAgIDB4MS44NThlYjZwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAweDEuNmEwYTBhYTgxNDM2YzdhOGQzM2EzOGQ3MDQwMzBkMTRwLTEsCisgICAgMHgxLjZhMDljMjI3Y2ZhMTk0ZDFmYTdhYjk5MDlkZTUwODNjcC0xLAorICAgIC0weDEuODU4ZWI2cDQsCisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgLTB4MS42YTA5ZGQ2NmQ5MWRiOWJkN2JmMzU1ZmFmZjA4ZjE5NHAtMSwKKyAgICAweDEuNmEwOWVmNjkwZTIyODNiNjU4NTA5ZWQzMTk0ODM4MzlwLTEsCisgICAgMHgxLjg1OGViOHA0LAorICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIDB4MS42YTA5ZGQ2NmQ5MWRiOWJkN2JmMzU1ZmFmZjA4ZjE5NHAtMSwKKyAgICAweDEuNmEwOWVmNjkwZTIyODNiNjU4NTA5ZWQzMTk0ODM4MzlwLTEsCisgICAgLTB4MS44NThlYjhwNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEuYzA0OGIzOGE4YmJmNTlmNDE0ZmVjNzA3OTIwOTkyNmVwLTMsCisgICAgLTB4MS5mMzk1N2JhZDcwZTA3NDFmMWQzZDY3NTEyNDZjZTIxYXAtMSwKKyAgICAweDEuZmZmZmZlcDYyLAorICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIC0weDEuYzA0OGIzOGE4YmJmNTlmNDE0ZmVjNzA3OTIwOTkyNmVwLTMsCisgICAgLTB4MS5mMzk1N2JhZDcwZTA3NDFmMWQzZDY3NTEyNDZjZTIxYXAtMSwKKyAgICAtMHgxLmZmZmZmZXA2MiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAweDEuZmZmNmRmZDQyZGM1NDQzMGJjMDU3NmIwMGE4OGJkOTRwLTEsCisgICAgMHgxLjgyYWEzNzViM2MzM2U3MDY2MzczMWJhYjRiZWI2ZWQzcC03LAorICAgIDB4MS5wNjMsCisgIH0sCisgIHsgLy8gRW50cnkgODAyCisgICAgLTB4MS5mZmY2ZGZkNDJkYzU0NDMwYmMwNTc2YjAwYTg4YmQ5NHAtMSwKKyAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCisgICAgLTB4MS5wNjMsCisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgLTB4MS5kNjYzN2QwNzAzNDdlZTk0ZTgzMDQ0NWU3NjQ4NjcyN3AtMSwKKyAgICAweDEuOTQ1ZTZjNjlhNTgwZmI3YmIyN2QwMmMwZmUwZjhhNzFwLTIsCisgICAgMHgxLjAwMDAwMnA2MywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDQKKyAgICAweDEuZDY2MzdkMDcwMzQ3ZWU5NGU4MzA0NDVlNzY0ODY3MjdwLTEsCisgICAgMHgxLjk0NWU2YzY5YTU4MGZiN2JiMjdkMDJjMGZlMGY4YTcxcC0yLAorICAgIC0weDEuMDAwMDAycDYzLAorICB9LAorICB7IC8vIEVudHJ5IDgwNQorICAgIC0weDEuMGU1MjgzNjYxZGYwY2EwZjU1YWI2MTY3ZTE0NTE0YTFwLTEsCisgICAgLTB4MS5iMmQyNTVmMmJkMDQyM2UyOWUyYTU0ODcyOGYwMzRhYnAtMSwKKyAgICAweDEuZmZmZmZlcDI2LAorICB9LAorICB7IC8vIEVudHJ5IDgwNgorICAgIDB4MS4wZTUyODM2NjFkZjBjYTBmNTVhYjYxNjdlMTQ1MTRhMXAtMSwKKyAgICAtMHgxLmIyZDI1NWYyYmQwNDIzZTI5ZTJhNTQ4NzI4ZjAzNGFicC0xLAorICAgIC0weDEuZmZmZmZlcDI2LAorICB9LAorICB7IC8vIEVudHJ5IDgwNworICAgIC0weDEuODZkY2M5YmFiYjBhNDBlZTg3NWNhYjNiOWU4OTI3NTdwLTEsCisgICAgMHgxLjRhYjY1MTFhN2QzOWFkM2NjODhkZWQxZTc3NWNhMTQ3cC0xLAorICAgIDB4MS5wMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODA4CisgICAgMHgxLjg2ZGNjOWJhYmIwYTQwZWU4NzVjYWIzYjllODkyNzU3cC0xLAorICAgIDB4MS40YWI2NTExYTdkMzlhZDNjYzg4ZGVkMWU3NzVjYTE0N3AtMSwKKyAgICAtMHgxLnAyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEuMTcxOTk5YjYyOWZkNWI2MzU3YzZkZmY0ZDc4MjdkOTVwLTEsCisgICAgLTB4MS5hZDNkODBjODJmNDQ1MmIwNzY1ODFkZTI0NjQ4NDM1YnAtMSwKKyAgICAweDEuMDAwMDAycDI3LAorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIC0weDEuMTcxOTk5YjYyOWZkNWI2MzU3YzZkZmY0ZDc4MjdkOTVwLTEsCisgICAgLTB4MS5hZDNkODBjODJmNDQ1MmIwNzY1ODFkZTI0NjQ4NDM1YnAtMSwKKyAgICAtMHgxLjAwMDAwMnAyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAtMHgxLmU1N2VjMDkyMjE5NzM1NTBkMWU1Nzk4ZGNmMGNkMjVkcC0xLAorICAgIC0weDEuNDUzMmMzNzIxZWQ0MzQzYWQ4OGVlYTg5MDhhOTg4Y2JwLTIsCisgICAgMHgxLmZmZmZmZXAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTIKKyAgICAweDEuZTU3ZWMwOTIyMTk3MzU1MGQxZTU3OThkY2YwY2QyNWRwLTEsCisgICAgLTB4MS40NTMyYzM3MjFlZDQzNDNhZDg4ZWVhODkwOGE5ODhjYnAtMiwKKyAgICAtMHgxLmZmZmZmZXAyMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTMKKyAgICAtMHgxLjhmMjJmODQzM2Q2ZWRmZTlhNGFmZjk2MjI1MTdjYWE5cC0xLAorICAgIDB4MS40MGFkNjdmM2YwYzlhMTQzOTYzYzljOTZkYmNlM2Y4YXAtMSwKKyAgICAweDEucDI0LAorICB9LAorICB7IC8vIEVudHJ5IDgxNAorICAgIDB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKKyAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCisgICAgLTB4MS5wMjQsCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgMHgxLmM5YjBjNzI2NWM1NDNmODBmYWYwMTc0MWM2NDU4NTYwcC0xLAorICAgIDB4MS5jYWY4NTM3YzNlNDQyY2E4YWNhODZjMTU2NzczODUzYXAtMiwKKyAgICAweDEuMDAwMDAycDI0LAorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIC0weDEuYzliMGM3MjY1YzU0M2Y4MGZhZjAxNzQxYzY0NTg1NjBwLTEsCisgICAgMHgxLmNhZjg1MzdjM2U0NDJjYThhY2E4NmMxNTY3NzM4NTNhcC0yLAorICAgIC0weDEuMDAwMDAycDI0LAorICB9LAorICB7IC8vIEVudHJ5IDgxNworICAgIC0weDEuODM3Yjk4YTMxODVkMTQ2NmQ4NTJmMGE3ZGMxZDI0OGVwLTEsCisgICAgLTB4MS40ZWFhNjY3YmEwYjkwZGZiMDVhYjNkOWMyNDdjZGVlN3AtMSwKKyAgICAweDEuZmZmZmZlcDEsCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMHgxLjgzN2I5OGEzMTg1ZDE0NjZkODUyZjBhN2RjMWQyNDhlcC0xLAorICAgIC0weDEuNGVhYTY2N2JhMGI5MGRmYjA1YWIzZDljMjQ3Y2RlZTdwLTEsCisgICAgLTB4MS5mZmZmZmVwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAtMHgxLjgzN2I5ZGRkYzFlYWU3MGNlOTgwNTVhMGU0NTBkOTNjcC0xLAorICAgIC0weDEuNGVhYTYwNmRiMjRjMGM0NjZkYTFjMmRjN2JhYTJiMzJwLTEsCisgICAgMHgxLnAyLAorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKKyAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAorICAgIC0weDEucDIsCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgLTB4MS44MzdiYTg1MzE0YmRlNTJiMWU5YzJjOGVkMjcxMmM3MnAtMSwKKyAgICAtMHgxLjRlYWE1NDUxZDUzMzQ4ZWI4OWRjNDc4ZDRkMTFiZTAycC0xLAorICAgIDB4MS4wMDAwMDJwMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAweDEuODM3YmE4NTMxNGJkZTUyYjFlOWMyYzhlZDI3MTJjNzJwLTEsCisgICAgLTB4MS40ZWFhNTQ1MWQ1MzM0OGViODlkYzQ3OGQ0ZDExYmUwMnAtMSwKKyAgICAtMHgxLjAwMDAwMnAyLAorICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIDB4MS5kMThmNzA1NzNkYTYzMDEyZmExYzBlM2QyZWJiZTU5Y3AtMSwKKyAgICAtMHgxLmFhMjI1ZTJlZjk2MjQxOTE1YjZmZDIxNzUyMjgxNGY1cC0yLAorICAgIDB4MS5mZmZmZmVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAtMHgxLmQxOGY3MDU3M2RhNjMwMTJmYTFjMGUzZDJlYmJlNTljcC0xLAorICAgIC0weDEuYWEyMjVlMmVmOTYyNDE5MTViNmZkMjE3NTIyODE0ZjVwLTIsCisgICAgLTB4MS5mZmZmZmVwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAweDEuZDE4ZjZlYWQxYjQ0NWRmYWI4NDgxODgwMDljOWJiOTVwLTEsCisgICAgLTB4MS5hYTIyNjU3NTM3MjA0YTQzMzJmOGFjYmI3MmIwZDc2OHAtMiwKKyAgICAweDEucDEsCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgLTB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKKyAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAorICAgIC0weDEucDEsCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgMHgxLmQxOGY2YjU4ZDY2YWU3MTEwYjJiNmY3Y2ZmYmE2ZWMxcC0xLAorICAgIC0weDEuYWEyMjc0MDFiMjg4NjIwYTAzNzJkNWE5NjA4NDkxNWRwLTIsCisgICAgMHgxLjAwMDAwMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDgyOAorICAgIC0weDEuZDE4ZjZiNThkNjZhZTcxMTBiMmI2ZjdjZmZiYTZlYzFwLTEsCisgICAgLTB4MS5hYTIyNzQwMWIyODg2MjBhMDM3MmQ1YTk2MDg0OTE1ZHAtMiwKKyAgICAtMHgxLjAwMDAwMnAxLAorICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIDB4MS5hZWQ1NDdkYmVlNGQwZDg2ODBkMDgxM2QxZTRlMjFkMHAtMSwKKyAgICAweDEuMTRhMjgyYWEyNWIxMWY2MzEyYTdhNjUxODBlN2MzZDRwLTEsCisgICAgMHgxLmZmZmZmZXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAtMHgxLmFlZDU0N2RiZWU0ZDBkODY4MGQwODEzZDFlNGUyMWQwcC0xLAorICAgIDB4MS4xNGEyODJhYTI1YjExZjYzMTJhN2E2NTE4MGU3YzNkNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAweDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAorICAgIDB4MS5wMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzIKKyAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAorICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKKyAgICAtMHgxLnAwLAorICB9LAorICB7IC8vIEVudHJ5IDgzMworICAgIDB4MS5hZWQ1NGIxOWQ1Y2Q3OTM3Y2JmNDFlZDQwOGNhMGE1MnAtMSwKKyAgICAweDEuMTRhMjdkOWRhNWQ0YWViY2U3MTQyOGY5MDU3YjA4ZGFwLTEsCisgICAgMHgxLjAwMDAwMnAwLAorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIC0weDEuYWVkNTRiMTlkNWNkNzkzN2NiZjQxZWQ0MDhjYTBhNTJwLTEsCisgICAgMHgxLjE0YTI3ZDlkYTVkNGFlYmNlNzE0MjhmOTA1N2IwOGRhcC0xLAorICAgIC0weDEuMDAwMDAycDAsCisgIH0sCisgIHsgLy8gRW50cnkgODM1CisgICAgMHgxLmVhZWU4NTgzNWRkZTViNzFiZWVjN2Q4ZDk4MDUyMTEycC0yLAorICAgIDB4MS5jMTUyODBlMDczNzY5MmRkNDM2OTA4ZmRjOGU2ZTJlMXAtMSwKKyAgICAweDEuZmZmZmZlcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIC0weDEuZWFlZTg1ODM1ZGRlNWI3MWJlZWM3ZDhkOTgwNTIxMTJwLTIsCisgICAgMHgxLmMxNTI4MGUwNzM3NjkyZGQ0MzY5MDhmZGM4ZTZlMmUxcC0xLAorICAgIC0weDEuZmZmZmZlcC0yLAorICB9LAorICB7IC8vIEVudHJ5IDgzNworICAgIDB4MS5lYWVlODc0NGIwNWVmZTg3NjRiYzM2NGZkODM3YjY2NnAtMiwKKyAgICAweDEuYzE1MjgwNjViN2Q0ZjlkYjdiYmIzYjQ1ZjVmNWIzMGFwLTEsCisgICAgMHgxLnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzgKKyAgICAtMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAorICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKKyAgICAtMHgxLnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzkKKyAgICAweDEuZWFlZThhYzc1NTVlZDQ3ZmNhNzdjZWVkMTc0YzhlYTBwLTIsCisgICAgMHgxLmMxNTI3ZjcwNDA5MDc2ZGEwYzMyMDRkZjFlMDk5YTgzcC0xLAorICAgIDB4MS4wMDAwMDJwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODQwCisgICAgLTB4MS5lYWVlOGFjNzU1NWVkNDdmY2E3N2NlZWQxNzRjOGVhMHAtMiwKKyAgICAweDEuYzE1MjdmNzA0MDkwNzZkYTBjMzIwNGRmMWUwOTlhODNwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEsCisgIH0sCisgIHsgLy8gRW50cnkgODQxCisgICAgMHgxLmZhYWVlYjVmMWMwZDYzZjQzYzZmM2VjNDYwMTE2OTBmcC0zLAorICAgIDB4MS5mMDE1NGExNzg5ZDhkY2MxNzJjZDIwOTJkMDVmNjM5NHAtMSwKKyAgICAweDEuZmZmZmZlcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDg0MgorICAgIC0weDEuZmFhZWViNWYxYzBkNjNmNDNjNmYzZWM0NjAxMTY5MGZwLTMsCisgICAgMHgxLmYwMTU0YTE3ODlkOGRjYzE3MmNkMjA5MmQwNWY2Mzk0cC0xLAorICAgIC0weDEuZmZmZmZlcC0zLAorICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIDB4MS5mYWFlZWQ0ZjMxNTc2YmE4OWRlYmRjNzM1MWU4YjFhZXAtMywKKyAgICAweDEuZjAxNTQ5ZjdkZWVhMTc0ZjA3YTY3OTcyYmYyOWYxNDhwLTEsCisgICAgMHgxLnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDQKKyAgICAtMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAorICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKKyAgICAtMHgxLnAtMiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDUKKyAgICAweDEuZmFhZWYxMmY1YmViMWMxMDk0NDczZDNjMzM2NWI5ZTFwLTMsCisgICAgMHgxLmYwMTU0OWI4ODkwYzJmNjYzMzdjYWMxNWE3MjM3YzhlcC0xLAorICAgIDB4MS4wMDAwMDJwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgODQ2CisgICAgLTB4MS5mYWFlZjEyZjViZWIxYzEwOTQ0NzNkM2MzMzY1YjllMXAtMywKKyAgICAweDEuZjAxNTQ5Yjg4OTBjMmY2NjMzN2NhYzE1YTcyMzdjOGVwLTEsCisgICAgLTB4MS4wMDAwMDJwLTIsCisgIH0sCisgIHsgLy8gRW50cnkgODQ3CisgICAgMHgxLmZlYWFlY2VjNmQ4ZTMwY2Q1Njk1MGViMmViZGNlYmQ0cC00LAorICAgIDB4MS5mYzAxNTUyZmQwNjhlZTgzZjViNzQyYzA1MjQ1ZThiMnAtMSwKKyAgICAweDEuZmZmZmZlcC00LAorICB9LAorICB7IC8vIEVudHJ5IDg0OAorICAgIC0weDEuZmVhYWVjZWM2ZDhlMzBjZDU2OTUwZWIyZWJkY2ViZDRwLTQsCisgICAgMHgxLmZjMDE1NTJmZDA2OGVlODNmNWI3NDJjMDUyNDVlOGIycC0xLAorICAgIC0weDEuZmZmZmZlcC00LAorICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIDB4MS5mZWFhZWVlODZlZTM1Y2EwNjlhODY3MjFmODlmODVhNXAtNCwKKyAgICAweDEuZmMwMTU1MjdkNWJkMzZkYTNjZDQyNTNiZWRlMzE5Y2FwLTEsCisgICAgMHgxLnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICAtMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAorICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKKyAgICAtMHgxLnAtMywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICAweDEuZmVhYWYyZTA3MThkOWM1NjhjOTQ0MmM4MTU0NWNkNjJwLTQsCisgICAgMHgxLmZjMDE1NTE3ZTA2NWFmYjZiYjEwMmMxOGY1OTE5ODIwcC0xLAorICAgIDB4MS4wMDAwMDJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgLTB4MS5mZWFhZjJlMDcxOGQ5YzU2OGM5NDQyYzgxNTQ1Y2Q2MnAtNCwKKyAgICAweDEuZmMwMTU1MTdlMDY1YWZiNmJiMTAyYzE4ZjU5MTk4MjBwLTEsCisgICAgLTB4MS4wMDAwMDJwLTMsCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgMHgxLmZmYWFhY2VmZDRkODU1YWM4MjI3Nzk5ZjNlMjYzZDdhcC01LAorICAgIDB4MS5mZjAwMTU1NjllZjdlMmI5NjMwMWU2Zjc1MmMwMTlkNHAtMSwKKyAgICAweDEuZmZmZmZlcC01LAorICB9LAorICB7IC8vIEVudHJ5IDg1NAorICAgIC0weDEuZmZhYWFjZWZkNGQ4NTVhYzgyMjc3OTlmM2UyNjNkN2FwLTUsCisgICAgMHgxLmZmMDAxNTU2OWVmN2UyYjk2MzAxZTZmNzUyYzAxOWQ0cC0xLAorICAgIC0weDEuZmZmZmZlcC01LAorICB9LAorICB7IC8vIEVudHJ5IDg1NQorICAgIDB4MS5mZmFhYWVlZWQ0ZWRhYjRiYTRiMzY1ZWQyNWE5NTk1ZnAtNSwKKyAgICAweDEuZmYwMDE1NTQ5ZjRkMzRjYTBlMWVlNjUwOWJjNDJiNzFwLTEsCisgICAgMHgxLnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTYKKyAgICAtMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAorICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKKyAgICAtMHgxLnAtNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAweDEuZmZhYWIyZWNkNTE4NTA4YWU5YmM3MzBhMTY1YThlYWRwLTUsCisgICAgMHgxLmZmMDAxNTUwOWZmN2QyZWU2NDE4ZTkyNGYwZGU1ZTk3cC0xLAorICAgIDB4MS4wMDAwMDJwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgODU4CisgICAgLTB4MS5mZmFhYjJlY2Q1MTg1MDhhZTliYzczMGExNjVhOGVhZHAtNSwKKyAgICAweDEuZmYwMDE1NTA5ZmY3ZDJlZTY0MThlOTI0ZjBkZTVlOTdwLTEsCisgICAgLTB4MS4wMDAwMDJwLTQsCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgMHgxLmZmZWFhOGVmMmU4NTkzMzg4M2MwZGMzMzQ2MjM4N2I1cC02LAorICAgIDB4MS5mZmMwMDE1NWQyNzdkNThlNzI3Y2Q5NWM0M2Y3NTljZnAtMSwKKyAgICAweDEuZmZmZmZlcC02LAorICB9LAorICB7IC8vIEVudHJ5IDg2MAorICAgIC0weDEuZmZlYWE4ZWYyZTg1OTMzODgzYzBkYzMzNDYyMzg3YjVwLTYsCisgICAgMHgxLmZmYzAwMTU1ZDI3N2Q1OGU3MjdjZDk1YzQzZjc1OWNmcC0xLAorICAgIC0weDEuZmZmZmZlcC02LAorICB9LAorICB7IC8vIEVudHJ5IDg2MQorICAgIDB4MS5mZmVhYWFlZWVlODZlOGNhZmU0MTM3NmQ0NzkxOTU3OXAtNiwKKyAgICAweDEuZmZjMDAxNTU1MjdkMmIxMmFlZGI0OWQ5MjkyOGRmNzJwLTEsCisgICAgMHgxLnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjIKKyAgICAtMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAorICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKKyAgICAtMHgxLnAtNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjMKKyAgICAweDEuZmZlYWFlZWU2ZTg5OTI3MDAzNDEzYWJlNjRlOWRjMjFwLTYsCisgICAgMHgxLmZmYzAwMTU0NTI4N2Q0OWI1Nzk3MmFmNTE0NTY2M2EwcC0xLAorICAgIDB4MS4wMDAwMDJwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgODY0CisgICAgLTB4MS5mZmVhYWVlZTZlODk5MjcwMDM0MTNhYmU2NGU5ZGMyMXAtNiwKKyAgICAweDEuZmZjMDAxNTQ1Mjg3ZDQ5YjU3OTcyYWY1MTQ1NjYzYTBwLTEsCisgICAgLTB4MS4wMDAwMDJwLTUsCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgMHgxLmZmZmFhOGFlZmVlZDM5NmZmZmZjNjM2MzEzZDBiYTZkcC03LAorICAgIDB4MS5mZmYwMDAxNTc1NDk5ZjNkNzk5NmUyZGExMWNkZWIyNHAtMSwKKyAgICAweDEuZmZmZmZlcC03LAorICB9LAorICB7IC8vIEVudHJ5IDg2NgorICAgIC0weDEuZmZmYWE4YWVmZWVkMzk2ZmZmZmM2MzYzMTNkMGJhNmRwLTcsCisgICAgMHgxLmZmZjAwMDE1NzU0OTlmM2Q3OTk2ZTJkYTExY2RlYjI0cC0xLAorICAgIC0weDEuZmZmZmZlcC03LAorICB9LAorICB7IC8vIEVudHJ5IDg2NworICAgIDB4MS5mZmZhYWFhZWVlZWQ0ZWQ1NDljNjU2MGY4ODllZTUzMXAtNywKKyAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMjhhMjgwZTk3YmNkNTljOGFwLTEsCisgICAgMHgxLnAtNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjgKKyAgICAtMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAorICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKKyAgICAtMHgxLnAtNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjkKKyAgICAweDEuZmZmYWFlYWVjZWVkNzkzZmRlNWExYTljYTViYjFlZTZwLTcsCisgICAgMHgxLmZmZjAwMDE1MTU0YTlmMGNhZTRhNjIxNTE1MDFjZDBhcC0xLAorICAgIDB4MS4wMDAwMDJwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgODcwCisgICAgLTB4MS5mZmZhYWVhZWNlZWQ3OTNmZGU1YTFhOWNhNWJiMWVlNnAtNywKKyAgICAweDEuZmZmMDAwMTUxNTRhOWYwY2FlNGE2MjE1MTUwMWNkMGFwLTEsCisgICAgLTB4MS4wMDAwMDJwLTYsCisgIH0sCisgIHsgLy8gRW50cnkgODcxCisgICAgMHgxLmZmZmZmZGZhYWFhYWJhYWVlZWRlZDk5N2ZlZmZhMzVhcC0xNSwKKyAgICAweDEuZmZmZmZmZjAwMDAwMjAxNTU1NDRmZmY0OWZjYTM4ZTZwLTEsCisgICAgMHgxLmZmZmZmZXAtMTUsCisgIH0sCisgIHsgLy8gRW50cnkgODcyCisgICAgLTB4MS5mZmZmZmRmYWFhYWFiYWFlZWVkZWQ5OTdmZWZmYTM1YXAtMTUsCisgICAgMHgxLmZmZmZmZmYwMDAwMDIwMTU1NTQ0ZmZmNDlmY2EzOGU2cC0xLAorICAgIC0weDEuZmZmZmZlcC0xNSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAweDEuZmZmZmZmZmFhYWFhYWFhZWVlZWVlZWVkNGVkNGVkNGZwLTE1LAorICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1NTU1NDlmNDlmNDlmN3AtMSwKKyAgICAweDEucC0xNCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICAtMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKKyAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCisgICAgLTB4MS5wLTE0LAorICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIDB4MS4wMDAwMDFmZDU1NTU0NTU3Nzc1NzhjY2JlN2JmYzA5Y3AtMTQsCisgICAgMHgxLmZmZmZmZmVmZmZmZmMwMTU1NTE1ZmZmNGExNDk2YzFjcC0xLAorICAgIDB4MS4wMDAwMDJwLTE0LAorICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC0weDEuMDAwMDAxZmQ1NTU1NDU1Nzc3NTc4Y2NiZTdiZmMwOWNwLTE0LAorICAgIDB4MS5mZmZmZmZlZmZmZmZjMDE1NTUxNWZmZjRhMTQ5NmMxY3AtMSwKKyAgICAtMHgxLjAwMDAwMnAtMTQsCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgMHgxLmZmZmZmZGZmZmZmZmZlYWFhYWFlYWFhYWE2YWFlZWYwcC0yOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDdmZmZmZmMwMTU1NTVwLTEsCisgICAgMHgxLmZmZmZmZXAtMjgsCisgIH0sCisgIHsgLy8gRW50cnkgODc4CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZWFhYWFhZWFhYWFhNmFhZWVmMHAtMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDA3ZmZmZmZjMDE1NTU1cC0xLAorICAgIC0weDEuZmZmZmZlcC0yOCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmVhYWFhYWFhYWFhYWFhYWVlZWVwLTI4LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDAxNTU1NXAtMSwKKyAgICAweDEucC0yNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCisgICAgLTB4MS5wLTI3LAorICB9LAorICB7IC8vIEVudHJ5IDg4MQorICAgIDB4MS4wMDAwMDFmZmZmZmZmZjU1NTU1MTU1NTU0ZDU1Nzc3MnAtMjcsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZiZmZmZmVmZmZmZmYwMDE1NTU1cC0xLAorICAgIDB4MS4wMDAwMDJwLTI3LAorICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0weDEuMDAwMDAxZmZmZmZmZmY1NTU1NTE1NTU1NGQ1NTc3NzJwLTI3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZlZmZmZmZmMDAxNTU1NXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODgzCisgICAgMHgxLmZmZmZmZGZmZmZmZmZmZmFhYWFhYmFhYWFhOWFhYWFlcC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAxZmZmZmZmMDAwMTVwLTEsCisgICAgMHgxLmZmZmZmZXAtMzEsCisgIH0sCisgIHsgLy8gRW50cnkgODg0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZhYWFhYWJhYWFhYTlhYWFhZXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMWZmZmZmZjAwMDE1cC0xLAorICAgIC0weDEuZmZmZmZlcC0zMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYWFhYWFhYWFhYWFhYWFhYWVwLTMxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAxNXAtMSwKKyAgICAweDEucC0zMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCisgICAgLTB4MS5wLTMwLAorICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZkNTU1NTQ1NTU1NTM1NTU1N3AtMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZWZmZmZmYmZmZmZmYzAwMDE1cC0xLAorICAgIDB4MS4wMDAwMDJwLTMwLAorICB9LAorICB7IC8vIEVudHJ5IDg4OAorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZDU1NTU0NTU1NTUzNTU1NTdwLTMwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmJmZmZmZmMwMDAxNXAtMSwKKyAgICAtMHgxLjAwMDAwMnAtMzAsCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAorICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODkwCisgICAgLTB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODkxCisgICAgLTB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAorICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgLTB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODk0CisgICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAorICAgIDB4MS5iNGJmMmM3OWJkZmNkYWE1M2VkNmMwMTNmNjVlMDk2M3AtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcsCisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgLTB4MS40OGNlNTc1MjAyZWZkOTNjNjJmN2I4ODEwNmVhMWQ0ZHAtMSwKKyAgICAtMHgxLjg4NzdhMjllM2Q3YjZkZWZjYjUyOGU4NmY0YzNlMDlhcC0xLAorICAgIDB4MS5mZmZmZmNwMTI3LAorICB9LAorICB7IC8vIEVudHJ5IDg5NgorICAgIDB4MS40OGNlNTc1MjAyZWZkOTNjNjJmN2I4ODEwNmVhMWQ0ZHAtMSwKKyAgICAtMHgxLjg4NzdhMjllM2Q3YjZkZWZjYjUyOGU4NmY0YzNlMDlhcC0xLAorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZGQ5NDg0OTI3MWQwOGVlY2Y1NGExcC0xLAorICAgIDB4MS45MjFmYjZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTgKKyAgICAweDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAorICAgIC0weDEuZmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDA4ZWVjZjU0YTFwLTEsCisgICAgLTB4MS45MjFmYjZwMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTkKKyAgICAweDEuZmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyMjkzMGVkODJwLTEsCisgICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCisgICAgMHgxLjkyMWZiNnAwLAorICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC0weDEuZmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyMjkzMGVkODJwLTEsCisgICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCisgICAgLTB4MS45MjFmYjZwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDEKKyAgICAweDEuYWVkNTRiMTlkNWNkNzkzN2NiZjQxZWQ0MDhjYTBhNTJwLTEsCisgICAgMHgxLjE0YTI3ZDlkYTVkNGFlYmNlNzE0MjhmOTA1N2IwOGRhcC0xLAorICAgIDB4MS4wMDAwMDJwMCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDIKKyAgICAtMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAorICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKKyAgICAtMHgxLjAwMDAwMnAwLAorICB9LAorICB7IC8vIEVudHJ5IDkwMworICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKKyAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCisgICAgMHgxLnAwLAorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCisgICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAorICAgIC0weDEucDAsCisgIH0sCisgIHsgLy8gRW50cnkgOTA1CisgICAgMHgxLmFlZDU0N2RiZWU0ZDBkODY4MGQwODEzZDFlNGUyMWQwcC0xLAorICAgIDB4MS4xNGEyODJhYTI1YjExZjYzMTJhN2E2NTE4MGU3YzNkNHAtMSwKKyAgICAweDEuZmZmZmZlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDkwNgorICAgIC0weDEuYWVkNTQ3ZGJlZTRkMGQ4NjgwZDA4MTNkMWU0ZTIxZDBwLTEsCisgICAgMHgxLjE0YTI4MmFhMjViMTFmNjMxMmE3YTY1MTgwZTdjM2Q0cC0xLAorICAgIC0weDEuZmZmZmZlcC0xLAorICB9LAorICB7IC8vIEVudHJ5IDkwNworICAgIDB4MS42YTA5ZTZlY2I0MWZkZDdlNjgxODcyYzg1NDg4NzAxOXAtMSwKKyAgICAweDEuNmEwOWU1ZTMzMzU5ODNlNWFjOTJlNzMzZTNmMjRiNDJwLTEsCisgICAgMHgxLjkyMWZiNnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDgKKyAgICAtMHgxLjZhMDllNmVjYjQxZmRkN2U2ODE4NzJjODU0ODg3MDE5cC0xLAorICAgIDB4MS42YTA5ZTVlMzMzNTk4M2U1YWM5MmU3MzNlM2YyNGI0MnAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMSwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDkKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMnAtMTI2LAorICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEyNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAtMTI2LAorICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTEyNiwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTMKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmY3AtMTI3LAorICB9LAorICB7IC8vIEVudHJ5IDkxNAorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTUKKyAgICAweDEuZmZmZmY3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmOHAtMTI3LAorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIC0weDEuZmZmZmY3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZjhwLTEyNywKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAtMTQ4LAorICB9LAorICB7IC8vIEVudHJ5IDkxOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5wLTE0OCwKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTkKKyAgICAwLjBmLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgLTAuMGYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucC0xNDksCisgIH0sCisgIHsgLy8gRW50cnkgOTIxCisgICAgMC4wLAorICAgIDB4MS5wMCwKKyAgICAwLjBmLAorICB9LAorICB7IC8vIEVudHJ5IDkyMgorICAgIC0wLjAsCisgICAgMHgxLnAwLAorICAgIC0wLjBmLAorICB9LAorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zaW5mX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9zaW5mX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2RhMGZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3NpbmZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNDM3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ19zaW5mX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS4wMDAzZmZmZmZmZjU1NGQ1NTM1NTUyY2NjZjc3OGNjZHAtMjEsCisgICAgLTB4MS4wMDA0cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAweDEuMDAwM2ZmZmZmZmY1NTRkNTUzNTU1MmNjY2Y3NzhjY2RwLTIxLAorICAgIDB4MS4wMDA0cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLmQzMGNhNzAwOGFmMjRlZjA0OGE3YTA1ZWVjZGUyMTIwcC00LAorICAgIC0weDEuMDBjYmYwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5kMzBjYTcwMDhhZjI0ZWYwNDhhN2EwNWVlY2RlMjEyMHAtNCwKKyAgICAweDEuMDBjYmYwcDEwCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDB4MS44ZDY2NWQwMDAwMjAwZWZjNDQ3ODAwODY1OGM2MTdjN3AtMSwKKyAgICAtMHgxLjAxZWUzNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIC0weDEuOGQ2NjVkMDAwMDIwMGVmYzQ0NzgwMDg2NThjNjE3YzdwLTEsCisgICAgMHgxLjAxZWUzNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5lYzA0MmZmOTcyZTQyYzIzZjI4ZjJkYTRmYjc1Zjg1MXAtMSwKKyAgICAtMHgxLjE4ZjFmNHA0CisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIC0weDEuZWMwNDJmZjk3MmU0MmMyM2YyOGYyZGE0ZmI3NWY4NTFwLTEsCisgICAgMHgxLjE4ZjFmNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS5mMGQzODQyNDBhZDlmMmRiYTQ3Yjk2YjA4MjcxYjQxZnAtMSwKKyAgICAtMHgxLjFkZjkwNnAyCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIC0weDEuZjBkMzg0MjQwYWQ5ZjJkYmE0N2I5NmIwODI3MWI0MWZwLTEsCisgICAgMHgxLjFkZjkwNnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLjQ2MTZkYWY5Y2QzY2U0ZTkyMTg2ZTdkOGVjM2QzZWYwcC01LAorICAgIC0weDEuM2FwNgorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLjQ2MTZkYWY5Y2QzY2U0ZTkyMTg2ZTdkOGVjM2QzZWYwcC01LAorICAgIDB4MS4zYXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEuZGYwNGM1ZjlkZTM0MzIzNWY0ZjhiMTc5NzI4Njg3MmJwLTEsCisgICAgLTB4MS40NGIwOTZwMgorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgLTB4MS5kZjA0YzVmOWRlMzQzMjM1ZjRmOGIxNzk3Mjg2ODcyYnAtMSwKKyAgICAweDEuNDRiMDk2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEuZmVmZmJkNzMzNGM3MDQzYjkwYTZiYzJkNzZkZGE3YzhwLTEsCisgICAgLTB4MS44MjFjZjZwMAorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZlZmZiZDczMzRjNzA0M2I5MGE2YmMyZDc2ZGRhN2M4cC0xLAorICAgIDB4MS44MjFjZjZwMAorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLmViYWM1NmZmZTZmMjc4OTNjNjlmNjhkMWQ3YjRhNDQ4cC0zLAorICAgIC0weDEuODI5Yjg2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIC0weDEuZWJhYzU2ZmZlNmYyNzg5M2M2OWY2OGQxZDdiNGE0NDhwLTMsCisgICAgMHgxLjgyOWI4NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuYjcyNWNjZWY2NWIxMzkwOTEyYTBmNWVhYWIwZTcyMDJwLTYsCisgICAgLTB4MS44NTgwZmVwNworICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgLTB4MS5iNzI1Y2NlZjY1YjEzOTA5MTJhMGY1ZWFhYjBlNzIwMnAtNiwKKyAgICAweDEuODU4MGZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIC0weDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLmY4M2RlN2MwNjgzZDNiZDkwYTc2OWY2MmE0MWFjMWMzcC0xLAorICAgIDB4MS4wMDAwMDJwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIDB4MS5mODNkZTdjMDY4M2QzYmQ5MGE3NjlmNjJhNDFhYzFjM3AtMSwKKyAgICAtMHgxLjAwMDAwMnA1MgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS43ZGJkMTFmZmRlNGMyMGRiYjM3NjAxOWYxYzY1NGJiMHAtMiwKKyAgICAweDEuMDAwMDIycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuN2RiZDExZmZkZTRjMjBkYmIzNzYwMTlmMWM2NTRiYjBwLTIsCisgICAgLTB4MS4wMDAwMjJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5lYWYwZDUwMDhmMmRiODk5ZTI0ODdkYTlkM2I5Y2RlN3AtMiwKKyAgICAweDEuMDAwMTUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLmVhZjBkNTAwOGYyZGI4OTllMjQ4N2RhOWQzYjljZGU3cC0yLAorICAgIC0weDEuMDAwMTUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAweDEuZmZhZThjZmVmYTgxM2RhODc0OThkZjk4OGMzZDhmNWVwLTUsCisgICAgMHgxLjAwMDFmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS5mZmFlOGNmZWZhODEzZGE4NzQ5OGRmOTg4YzNkOGY1ZXAtNSwKKyAgICAtMHgxLjAwMDFmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjg5YzdkNjA4N2E4NjFiYjZmZTc5NDE0OGMzNDI1MzQ4cC0xLAorICAgIDB4MS4wMDAzcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAtMHgxLjg5YzdkNjA4N2E4NjFiYjZmZTc5NDE0OGMzNDI1MzQ4cC0xLAorICAgIC0weDEuMDAwM3A0MAorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS41OWUxZjUxOWVmOGI3MjJlYWUxMmE0MDRjYWQ5MzdlYnAtMSwKKyAgICAweDEuMDAwMzgwcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjU5ZTFmNTE5ZWY4YjcyMmVhZTEyYTQwNGNhZDkzN2VicC0xLAorICAgIC0weDEuMDAwMzgwcDEyNgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAwMDNmZmZmZmZmNTU0ZDU1MzU1NTJjY2NmNzc4Y2NkcC0yMSwKKyAgICAweDEuMDAwNHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEuMDAwM2ZmZmZmZmY1NTRkNTUzNTU1MmNjY2Y3NzhjY2RwLTIxLAorICAgIC0weDEuMDAwNHAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4zODMwNjUwMjdlYzRmMjBhYjFjMDAyN2Q5OTFiODA1YXAtNiwKKyAgICAweDEuMDAwN2MwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuMzgzMDY1MDI3ZWM0ZjIwYWIxYzAwMjdkOTkxYjgwNWFwLTYsCisgICAgLTB4MS4wMDA3YzBwOQorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLmViMDM5NzAwMmZkZmJhZTIyNmYwNjlkNmNkNTNjNDBmcC0yLAorICAgIDB4MS4wMDBjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmViMDM5NzAwMmZkZmJhZTIyNmYwNjlkNmNkNTNjNDBmcC0yLAorICAgIC0weDEuMDAwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmZlZGM4YjAwMDFmN2RhY2VlMDkwYzVlZGMzYmZhNTQ3cC00LAorICAgIDB4MS4wMDE5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLmZlZGM4YjAwMDFmN2RhY2VlMDkwYzVlZGMzYmZhNTQ3cC00LAorICAgIC0weDEuMDAxOXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmFiNDcxYWYyNmZmZWEyM2Q3NjQzY2Y2MTRjODYwYjE4cC0xMCwKKyAgICAweDEuMDAzODIwcDY4CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAtMHgxLmFiNDcxYWYyNmZmZWEyM2Q3NjQzY2Y2MTRjODYwYjE4cC0xMCwKKyAgICAtMHgxLjAwMzgyMHA2OAorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLmZmMjllZWZkZGUzMDQxZmM1Yzc1YTFmODIyYTU0MjFkcC00LAorICAgIDB4MS4wMDQwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAtMHgxLmZmMjllZWZkZGUzMDQxZmM1Yzc1YTFmODIyYTU0MjFkcC00LAorICAgIC0weDEuMDA0MHAtMworICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjI5MDcwMTc1MjA2YjNmMTk4Yzg5M2UxOWI0YmQ2Y2I4cC0xMywKKyAgICAweDEuMDFmMHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuMjkwNzAxNzUyMDZiM2YxOThjODkzZTE5YjRiZDZjYjhwLTEzLAorICAgIC0weDEuMDFmMHAxMDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIC0weDEuZmZmZmZmZmZmZmZmYWFmYmU1M2RlNzQyMzE5NTQ3MDlwLTEsCisgICAgMHgxLjA0Y2NiY3AxOAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLmZmZmZmZmZmZmZmZmFhZmJlNTNkZTc0MjMxOTU0NzA5cC0xLAorICAgIC0weDEuMDRjY2JjcDE4CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZjRmNzJjYWQ1ZjVmYjE3ZWM2MDhlYzdhYzFjYmNhOGJwLTIsCisgICAgMHgxLjA1YmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuZjRmNzJjYWQ1ZjVmYjE3ZWM2MDhlYzdhYzFjYmNhOGJwLTIsCisgICAgLTB4MS4wNWJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuZjg5NmM2Njg5ZDdlNzVlMzUxZWNjODU3MzEyNTRjZDNwLTEsCisgICAgMHgxLjA3YzFmOHAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuZjg5NmM2Njg5ZDdlNzVlMzUxZWNjODU3MzEyNTRjZDNwLTEsCisgICAgLTB4MS4wN2MxZjhwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAtMHgxLjI2NzU5M2Y0ZDU5YzdkZTYxNzAwOTBhNmEwODRjZGNhcC0xNCwKKyAgICAweDEuMDgwMTgwcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuMjY3NTkzZjRkNTljN2RlNjE3MDA5MGE2YTA4NGNkY2FwLTE0LAorICAgIC0weDEuMDgwMTgwcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZmM4NjM3MmE4NDE1NDk0MTBjMTJkYmVjNmZlODBkYzVwLTIsCisgICAgMHgxLjBhMTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuZmM4NjM3MmE4NDE1NDk0MTBjMTJkYmVjNmZlODBkYzVwLTIsCisgICAgLTB4MS4wYTE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuYmNhMjhmMDAwNDMxNmJhZThkZjZhMjM1MmNjYTEzODJwLTEsCisgICAgMHgxLjBiNzcwYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAtMHgxLmJjYTI4ZjAwMDQzMTZiYWU4ZGY2YTIzNTJjY2ExMzgycC0xLAorICAgIC0weDEuMGI3NzBhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuZmFkZTlhYmQ2NzUyNmQzNzE4OWRmMDA0YjUxZDlkNWFwLTEsCisgICAgMHgxLjBkZGNwOTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mYWRlOWFiZDY3NTI2ZDM3MTg5ZGYwMDRiNTFkOWQ1YXAtMSwKKyAgICAtMHgxLjBkZGNwOTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5iZjY4M2NmZmZmZWM2ZTg2NzJhNDlmMDhhYWU0OWM0NnAtMSwKKyAgICAweDEuMTAyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLmJmNjgzY2ZmZmZlYzZlODY3MmE0OWYwOGFhZTQ5YzQ2cC0xLAorICAgIC0weDEuMTAyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAtMHgxLmYxNDQwN2Y2NDQxZTkyZjQ4MGQyZTIyODU5ZDY3YTM5cC0xLAorICAgIDB4MS4xMDljYzRwNAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmYxNDQwN2Y2NDQxZTkyZjQ4MGQyZTIyODU5ZDY3YTM5cC0xLAorICAgIC0weDEuMTA5Y2M0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZmY3ZTdiOTk4M2E3YzJlYmVjZmFiMWEwYjBhZjNjNGRwLTEsCisgICAgMHgxLjEzYmZiMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuZmY3ZTdiOTk4M2E3YzJlYmVjZmFiMWEwYjBhZjNjNGRwLTEsCisgICAgLTB4MS4xM2JmYjJwNAorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmM0OTQyYjFlOWVjMTc1YWE3ZDNmZDc1ZjJlMzdlNTY2cC0xLAorICAgIDB4MS4xNTkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuYzQ5NDJiMWU5ZWMxNzVhYTdkM2ZkNzVmMmUzN2U1NjZwLTEsCisgICAgLTB4MS4xNTkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MgorICAgIDB4MS5mZmY4ZDM2ODY2ZmFhYWM4YzE3ZTEyNjc0OThiZDEzMnAtMSwKKyAgICAweDEuMThwODUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuZmZmOGQzNjg2NmZhYWFjOGMxN2UxMjY3NDk4YmQxMzJwLTEsCisgICAgLTB4MS4xOHA4NQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmM3OGQ5NjI1NDZjZTUxYjg4MmM5MDU0ZWNjZDgyOWIxcC0xLAorICAgIDB4MS4xOGM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuYzc4ZDk2MjU0NmNlNTFiODgyYzkwNTRlY2NkODI5YjFwLTEsCisgICAgLTB4MS4xOGM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5jN2NiOTlhMTExZjI2NTI3YjgwNTczNDk2MmZiMTJhMHAtMSwKKyAgICAweDEuMTkwY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLmM3Y2I5OWExMTFmMjY1MjdiODA1NzM0OTYyZmIxMmEwcC0xLAorICAgIC0weDEuMTkwY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLjcwODk4MTAwMDU1OTQzODk4YWE3MDUzMDE3ZWNiYTY5cC0xLAorICAgIDB4MS4xZThmMTRwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS43MDg5ODEwMDA1NTk0Mzg5OGFhNzA1MzAxN2VjYmE2OXAtMSwKKyAgICAtMHgxLjFlOGYxNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLmNkZWYxZTRlYjM3ZTlmMjI0OTY1NmMyN2Q2MmIxODk1cC0xLAorICAgIDB4MS4xZmY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuY2RlZjFlNGViMzdlOWYyMjQ5NjU2YzI3ZDYyYjE4OTVwLTEsCisgICAgLTB4MS4xZmY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuNWRmMGRkNjBmMTIyYmY3OWQxZGRjZjI5NWMzNGNiMGVwLTEsCisgICAgMHgxLjIyNDRhNnA1OQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjVkZjBkZDYwZjEyMmJmNzlkMWRkY2YyOTVjMzRjYjBlcC0xLAorICAgIC0weDEuMjI0NGE2cDU5CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLmZiOGRkNzRmMWIwOTFhN2IwZjlmOWQ0NGRiODQ2NjFjcC0zLAorICAgIDB4MS4yODdhZTBwMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIDB4MS5mYjhkZDc0ZjFiMDkxYTdiMGY5ZjlkNDRkYjg0NjYxY3AtMywKKyAgICAtMHgxLjI4N2FlMHAxMworICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmNWMwZDI2MzBlZTBhMWZiNGU3YnAtMSwKKyAgICAweDEuMmQ5N2M4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5mZmZmZmZmZmZmZmZmNWMwZDI2MzBlZTBhMWZiNGU3YnAtMSwKKyAgICAtMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAtMHgxLjk5YmM1Yjk2MWIxYWMyOTZkYmUxOTgwZmQyYzg5MGEwcC0yNiwKKyAgICAweDEuMmQ5N2M4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS45OWJjNWI5NjFiMWFjMjk2ZGJlMTk4MGZkMmM4OTBhMHAtMjYsCisgICAgLTB4MS4yZDk3YzhwMworICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmZmZDUxNThiODE5NDRmZjZiNDgzM2ZkZjFmYWE5MjgxcC0xLAorICAgIDB4MS4zMmNkYzZwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuZmZkNTE1OGI4MTk0NGZmNmI0ODMzZmRmMWZhYTkyODFwLTEsCisgICAgLTB4MS4zMmNkYzZwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5lMTkxZTc3ZjU4ZjQ3OWI1NjRlYzUzOGI2NzFmOThhZnAtMTQsCisgICAgMHgxLjM3ZWZkOHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MworICAgIC0weDEuZTE5MWU3N2Y1OGY0NzliNTY0ZWM1MzhiNjcxZjk4YWZwLTE0LAorICAgIC0weDEuMzdlZmQ4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLmZmZmU5NzRkY2ViMTBkNDg3N2E3NWJjNzc4NzBmZmVicC0xLAorICAgIDB4MS4zOHAxMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS5mZmZlOTc0ZGNlYjEwZDQ4NzdhNzViYzc3ODcwZmZlYnAtMSwKKyAgICAtMHgxLjM4cDExCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAtMHgxLmI2M2YyYzNmNTM3YjEwZWVjMmZiZjM0MGU0ODk4NjQ0cC0xOCwKKyAgICAweDEuM2Q3MmI4cDE1CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuYjYzZjJjM2Y1MzdiMTBlZWMyZmJmMzQwZTQ4OTg2NDRwLTE4LAorICAgIC0weDEuM2Q3MmI4cDE1CisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAtMHgxLmUwMjA4Y2ZmMTdmOTE4NjIxODk0NWFmOTI1NmQ3MzZjcC0xLAorICAgIDB4MS40NDRiMjBwNworICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmUwMjA4Y2ZmMTdmOTE4NjIxODk0NWFmOTI1NmQ3MzZjcC0xLAorICAgIC0weDEuNDQ0YjIwcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmZmZmY5MDAyY2Y4N2RhZGU2ZjYyZWI3MDlkYzJhYTdwLTEsCisgICAgMHgxLjQ2YjcxZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS5mZmZmZjkwMDJjZjg3ZGFkZTZmNjJlYjcwOWRjMmFhN3AtMSwKKyAgICAtMHgxLjQ2YjcxZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmM4NzU1ODFhNzYyMjExZGQ1Y2FhZjlhYmRlNWNmNjU2cC0yMSwKKyAgICAweDEuNGQwMjQycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAtMHgxLmM4NzU1ODFhNzYyMjExZGQ1Y2FhZjlhYmRlNWNmNjU2cC0yMSwKKyAgICAtMHgxLjRkMDI0MnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0CisgICAgLTB4MS42YTZmNzkwMDAwNTNhMzg0MjU2NmYxZTAxOGQ2MzU5ZnAtMSwKKyAgICAweDEuNTExZThlcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjZhNmY3OTAwMDA1M2EzODQyNTY2ZjFlMDE4ZDYzNTlmcC0xLAorICAgIC0weDEuNTExZThlcDI4CisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmU5ZmZhNmI1NjlkZDhjNzIwZDY4ZTgwYmQ5YTYzcC0xLAorICAgIDB4MS41MzU0ZDBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS5mZmZlOWZmYTZiNTY5ZGQ4YzcyMGQ2OGU4MGJkOWE2M3AtMSwKKyAgICAtMHgxLjUzNTRkMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuM2I0ZDU4ZmZmZmYyOTEyNjQ2MGYyNThlYzQ0MjNlOWFwLTEsCisgICAgMHgxLjUzYWQ1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuM2I0ZDU4ZmZmZmYyOTEyNjQ2MGYyNThlYzQ0MjNlOWFwLTEsCisgICAgLTB4MS41M2FkNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAtMHgxLmZmZmViNzYyZTkzZWFkNWFjNzBmODUwNjRmYzc5Y2ZmcC0xLAorICAgIDB4MS42MHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgMHgxLmZmZmViNzYyZTkzZWFkNWFjNzBmODUwNjRmYzc5Y2ZmcC0xLAorICAgIC0weDEuNjBwMworICB9LAorICB7IC8vIEVudHJ5IDExMgorICAgIDB4MS4xNzcyMzc3ZmZlNWIxZjQzNmMwMTQ5ZTMyODQ0NmY3NHAtMjAsCisgICAgMHgxLjZjNmNiY3A2CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS4xNzcyMzc3ZmZlNWIxZjQzNmMwMTQ5ZTMyODQ0NmY3NHAtMjAsCisgICAgLTB4MS42YzZjYmNwNgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS43N2ZmZmRmZmZmZmZmNzhkMDU3N2Q5NTUyNjYzZWEzZXAtMjYsCisgICAgMHgxLjc3ZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLjc3ZmZmZGZmZmZmZmY3OGQwNTc3ZDk1NTI2NjNlYTNlcC0yNiwKKyAgICAtMHgxLjc3ZmZmZXAtMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAtMHgxLmZmMDQ5NzkzODU5NDZkMDU2OGMxNTNiZjllMTI1ZmNjcC0xLAorICAgIDB4MS43N2ZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5mZjA0OTc5Mzg1OTQ2ZDA1NjhjMTUzYmY5ZTEyNWZjY3AtMSwKKyAgICAtMHgxLjc3ZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLmZlYjdhOTZhNTc3ZjcxNWZhN2FkODc4ODI5NGMwNDVicC0xLAorICAgIDB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuZmViN2E5NmE1NzdmNzE1ZmE3YWQ4Nzg4Mjk0YzA0NWJwLTEsCisgICAgLTB4MS43ZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5mZWI3ZWI1NDY1MzUwOTYxN2ZhZjMyNjgzNDQ0MzdmY3AtMSwKKyAgICAweDEuODAwMWQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLmZlYjdlYjU0NjUzNTA5NjE3ZmFmMzI2ODM0NDQzN2ZjcC0xLAorICAgIC0weDEuODAwMWQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuZmY2NTM1OTk4ZWEwMDRkNDg3NjM1OTdiNmRmOWNkNjVwLTEsCisgICAgMHgxLjgwN2ZmZXAxMworICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuZmY2NTM1OTk4ZWEwMDRkNDg3NjM1OTdiNmRmOWNkNjVwLTEsCisgICAgLTB4MS44MDdmZmVwMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZmY3NmVkOWExOTJlOWEyMTI2YmNmYzBmMzA2MjQwZDRwLTEsCisgICAgMHgxLjg2NmE0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS5mZjc2ZWQ5YTE5MmU5YTIxMjZiY2ZjMGYzMDYyNDBkNHAtMSwKKyAgICAtMHgxLjg2NmE0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmFjZTg0NGYxZWI2YzMwNzcyNzc5MjlmZjRhZGUzZjQxcC01LAorICAgIDB4MS44ODY0cDM1CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLTB4MS5hY2U4NDRmMWViNmMzMDc3Mjc3OTI5ZmY0YWRlM2Y0MXAtNSwKKyAgICAtMHgxLjg4NjRwMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZTBkMTA4ZjE5NmZkM2NiY2I3YzJjNzZhZWU3MzgyMDVwLTUsCisgICAgMHgxLjhhOWI1NnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS5lMGQxMDhmMTk2ZmQzY2JjYjdjMmM3NmFlZTczODIwNXAtNSwKKyAgICAtMHgxLjhhOWI1NnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgLTB4MS42YTA5YWYwMDA2ZmUwYjQ3YzgxZDg2OTVjMDE3YThkZnAtMSwKKyAgICAweDEuOGU5NmVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEuNmEwOWFmMDAwNmZlMGI0N2M4MWQ4Njk1YzAxN2E4ZGZwLTEsCisgICAgLTB4MS44ZTk2ZWVwOQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuZGQ1OWRjZWVjZjNmYmQwMTVlOWUyOWIzN2FhZjUxMWFwLTksCisgICAgMHgxLjkxZTQwYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLmRkNTlkY2VlY2YzZmJkMDE1ZTllMjliMzdhYWY1MTFhcC05LAorICAgIC0weDEuOTFlNDBhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAtMHgxLmZiNzNmMTE4N2U1MDUzYmFjYjc1MmI4OWM2YTNkZTU3cC05LAorICAgIDB4MS45MWZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIDB4MS5mYjczZjExODdlNTA1M2JhY2I3NTJiODljNmEzZGU1N3AtOSwKKyAgICAtMHgxLjkxZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgLTB4MS43NzdhNWNmNzJjZWM1ZmQ2MTg5NmNiNGY0MGQxZGU3OXAtMjQsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5mZmZmZmY3OWRiOTE3MjY1ZTY3NTU3NGI4ZDgzZmE2ZXAtMSwKKyAgICAweDEuOTRmZDdjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5mZmZmZmY3OWRiOTE3MjY1ZTY3NTU3NGI4ZDgzZmE2ZXAtMSwKKyAgICAtMHgxLjk0ZmQ3Y3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAweDEuZmZmZmZmZmZmZmQ3ZTgzNjc4YTM4MzI5YzFlMDkzYjVwLTEsCisgICAgMHgxLjk4NjgzNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS5mZmZmZmZmZmZmZDdlODM2NzhhMzgzMjljMWUwOTNiNXAtMSwKKyAgICAtMHgxLjk4NjgzNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjE2YWUyOTE0NGQzYWViMGVmNzQxYzNlMmFiYTM0MDc4cC0yNCwKKyAgICAweDEuOWE0OGRlcDE3CisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS4xNmFlMjkxNDRkM2FlYjBlZjc0MWMzZTJhYmEzNDA3OHAtMjQsCisgICAgLTB4MS45YTQ4ZGVwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuZmY3YWQzOThmZDU4OTUyOGJiMDdkYjFlMGJkZDQwZjVwLTEsCisgICAgMHgxLjlkYWEzOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS5mZjdhZDM5OGZkNTg5NTI4YmIwN2RiMWUwYmRkNDBmNXAtMSwKKyAgICAtMHgxLjlkYWEzOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLjlkZjVmMTAwMDAwMDJmNGI3NDIxZGZlOWU5NTViNjBkcC00LAorICAgIDB4MS45ZWFiMmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLjlkZjVmMTAwMDAwMDJmNGI3NDIxZGZlOWU5NTViNjBkcC00LAorICAgIC0weDEuOWVhYjJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLjc2ZGNmNzAwMDA1M2M0MjhlMzBlZjk5ZDljZjkxYWNjcC0xLAorICAgIDB4MS5hNDk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS43NmRjZjcwMDAwNTNjNDI4ZTMwZWY5OWQ5Y2Y5MWFjY3AtMSwKKyAgICAtMHgxLmE0OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuYTlkNDUxMDAwMGEyYTgyYzM5MWE5YjM2MTg2ZWFkNjVwLTUsCisgICAgMHgxLmFhMDU3OHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuYTlkNDUxMDAwMGEyYTgyYzM5MWE5YjM2MTg2ZWFkNjVwLTUsCisgICAgLTB4MS5hYTA1NzhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuNmEwOTdkY2M4YjEzNTY3MTJmYzIwZjgyYzRmODdlNGRwLTEsCisgICAgMHgxLmI0YWU3MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS42YTA5N2RjYzhiMTM1NjcxMmZjMjBmODJjNGY4N2U0ZHAtMSwKKyAgICAtMHgxLmI0YWU3MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLjg0OTkyNmZmZmZlYjk1ODYwMjYyYTk5NzcwYThjOWMzcC0xLAorICAgIDB4MS5iOTM2ZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjg0OTkyNmZmZmZlYjk1ODYwMjYyYTk5NzcwYThjOWMzcC0xLAorICAgIC0weDEuYjkzNmRhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgLTB4MS5kYWM0MGVmMWUwNDAzMTVmMDc1MTlhOTljMjAzNGZmZnAtNSwKKyAgICAweDEuYmEyNzg0cDgyCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLmRhYzQwZWYxZTA0MDMxNWYwNzUxOWE5OWMyMDM0ZmZmcC01LAorICAgIC0weDEuYmEyNzg0cDgyCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjgxMDc0YjAzNDZmMDczOTAzOTViNGVlMmI1MGIzZjk0cC0xNCwKKyAgICAweDEuYmRiNDRhcDEwNworICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuODEwNzRiMDM0NmYwNzM5MDM5NWI0ZWUyYjUwYjNmOTRwLTE0LAorICAgIC0weDEuYmRiNDRhcDEwNworICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS4yMzVkZWJiNzI3Yjk1ZGFhZWMxODNiZmE0ZTcyOGJlMXAtOSwKKyAgICAweDEuYmRiZWZlcDExOQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuMjM1ZGViYjcyN2I5NWRhYWVjMTgzYmZhNGU3MjhiZTFwLTksCisgICAgLTB4MS5iZGJlZmVwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS45OTY2M2RhOTRkYjUyOTA3MzBiMDI5NTEzMzcwZTg2M3AtMjMsCisgICAgMHgxLmJlZWVlZXA4MAorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIDB4MS45OTY2M2RhOTRkYjUyOTA3MzBiMDI5NTEzMzcwZTg2M3AtMjMsCisgICAgLTB4MS5iZWVlZWVwODAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLjYyZmFhMGZmZGM1NWE0YzU0ZjEyMjlmYzAzMDJiZDVmcC0yLAorICAgIDB4MS5iZjZmZDBwMQorICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS42MmZhYTBmZmRjNTVhNGM1NGYxMjI5ZmMwMzAyYmQ1ZnAtMiwKKyAgICAtMHgxLmJmNmZkMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTY2CisgICAgLTB4MS5jNmQ0NDRkZTZiOTBjN2I4YjQzNDAyZWY3NDlhNGMzZHAtNSwKKyAgICAweDEuYmZmZmZlcDQ1CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgMHgxLmM2ZDQ0NGRlNmI5MGM3YjhiNDM0MDJlZjc0OWE0YzNkcC01LAorICAgIC0weDEuYmZmZmZlcDQ1CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLmZmZmZmZmZmZmZmZmEzYzc2NTdiODVlNWI0NGJiZDQ0cC0xLAorICAgIDB4MS5jNDYzYWNwMworICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuZmZmZmZmZmZmZmZmYTNjNzY1N2I4NWU1YjQ0YmJkNDRwLTEsCisgICAgLTB4MS5jNDYzYWNwMworICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS45MTM2NDhmZmZmOWUyMzc4N2Y1ZGRiNzVkYzU1ZWVjOHAtMSwKKyAgICAweDEuY2QwYTBjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS45MTM2NDhmZmZmOWUyMzc4N2Y1ZGRiNzVkYzU1ZWVjOHAtMSwKKyAgICAtMHgxLmNkMGEwY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuYTFkNDdjZmQyODI1ZjFjM2UyODM1ZTk0M2I5NjY5ZWZwLTUsCisgICAgMHgxLmQ0MTgxOHAxMgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIDB4MS5hMWQ0N2NmZDI4MjVmMWMzZTI4MzVlOTQzYjk2NjllZnAtNSwKKyAgICAtMHgxLmQ0MTgxOHAxMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS42YTIyZGIwMDAwMzZhOTU5MmRiNzIyZTJkOWJlNDg2OXAtMSwKKyAgICAweDEuZTYyOTQ0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjZhMjJkYjAwMDAzNmE5NTkyZGI3MjJlMmQ5YmU0ODY5cC0xLAorICAgIC0weDEuZTYyOTQ0cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZDRkZThhZmZmZmZmZDk2ZjgzYmE0NDJmZGYyZjcxMDFwLTIsCisgICAgMHgxLmU3MDYxZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuZDRkZThhZmZmZmZmZDk2ZjgzYmE0NDJmZGYyZjcxMDFwLTIsCisgICAgLTB4MS5lNzA2MWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAtMHgxLmUzY2UwNGYxYjk0ZTFkODJmMDAwMWNiOTlmZWQ5Mjc1cC01LAorICAgIDB4MS5lN2ZmZmVwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuZTNjZTA0ZjFiOTRlMWQ4MmYwMDAxY2I5OWZlZDkyNzVwLTUsCisgICAgLTB4MS5lN2ZmZmVwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZTk3MzYyZmZmZjVkNDZlMWU5OGM4YThjOTQ0NzhhNDRwLTUsCisgICAgMHgxLmU5YmUwZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuZTk3MzYyZmZmZjVkNDZlMWU5OGM4YThjOTQ0NzhhNDRwLTUsCisgICAgLTB4MS5lOWJlMGVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLjU3OTc1Y2ZlZmQ3ZTcwNWYzZWIwM2E5ZThlNDhhMThjcC0xLAorICAgIDB4MS5lYjFkYmVwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuNTc5NzVjZmVmZDdlNzA1ZjNlYjAzYTllOGU0OGExOGNwLTEsCisgICAgLTB4MS5lYjFkYmVwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAtMHgxLjZhMTAxMmU0YjY5YjA4NmMzZGMwNDI3YWJhODBiYzk2cC0xLAorICAgIDB4MS5lYjFlOGFwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAweDEuNmExMDEyZTRiNjliMDg2YzNkYzA0MjdhYmE4MGJjOTZwLTEsCisgICAgLTB4MS5lYjFlOGFwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODYKKyAgICAtMHgxLjlmNDJlNGY0Njc2OTZhZDM2YTcwYWM4YjcwZTBjZDMycC0xLAorICAgIDB4MS5lZmZjOGFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODcKKyAgICAweDEuOWY0MmU0ZjQ2NzY5NmFkMzZhNzBhYzhiNzBlMGNkMzJwLTEsCisgICAgLTB4MS5lZmZjOGFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuY2JhZGI4ZWY4ZjNlMzU4ZDJiOGJlNDkzYzExYjU3YjFwLTYsCisgICAgMHgxLmY1YzFjNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5jYmFkYjhlZjhmM2UzNThkMmI4YmU0OTNjMTFiNTdiMXAtNiwKKyAgICAtMHgxLmY1YzFjNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLjVhZWUyY2ZmZjA4N2U1OWRmY2Q4NTZjYmZlNDU0NGRjcC0yLAorICAgIDB4MS5mN2ZmZmVwMTExCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS41YWVlMmNmZmYwODdlNTlkZmNkODU2Y2JmZTQ1NDRkY3AtMiwKKyAgICAtMHgxLmY3ZmZmZXAxMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuMjZkYjdkMDBiYjA2NzQzZmVlNTgxYTg4OGUyMzc4ZjhwLTEsCisgICAgMHgxLmY5MjUxOHAyNAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuMjZkYjdkMDBiYjA2NzQzZmVlNTgxYTg4OGUyMzc4ZjhwLTEsCisgICAgLTB4MS5mOTI1MThwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmViY2NmNzhhNDMyYTY3ODU4YmJwLTEsCisgICAgMHgxLmY5Y2JlMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZWJjY2Y3OGE0MzJhNjc4NThiYnAtMSwKKyAgICAtMHgxLmY5Y2JlMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgLTB4MS4xZmEzYmI5YTA3ZTc3ZmQ2NjdmNDkzNjIyYzkwMjlmZnAtMjcsCisgICAgMHgxLmY5Y2JlMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgMHgxLjFmYTNiYjlhMDdlNzdmZDY2N2Y0OTM2MjJjOTAyOWZmcC0yNywKKyAgICAtMHgxLmY5Y2JlMnA4CisgIH0sCisgIHsgLy8gRW50cnkgMTk4CisgICAgMHgxLjllYzI5YWYxZTE1ZGQ2N2YxN2UzMjA0N2Q5ZmY4ZGI3cC0xLAorICAgIDB4MS5mYWQxNjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLjllYzI5YWYxZTE1ZGQ2N2YxN2UzMjA0N2Q5ZmY4ZGI3cC0xLAorICAgIC0weDEuZmFkMTYwcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLmZiYzI3ODBmNGJmOGJjMjRkM2ZjY2MxN2Y5ZTc3ZjMycC0xLAorICAgIDB4MS5mZWU1YmFwMgorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuZmJjMjc4MGY0YmY4YmMyNGQzZmNjYzE3ZjllNzdmMzJwLTEsCisgICAgLTB4MS5mZWU1YmFwMgorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS5hOGQ3YzEwMDA1YWRhOGY3ZDQ5MTJiZjYwM2EzMTVmZXAtMSwKKyAgICAweDEuZmYwY2FlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5hOGQ3YzEwMDA1YWRhOGY3ZDQ5MTJiZjYwM2EzMTVmZXAtMSwKKyAgICAtMHgxLmZmMGNhZXAxMAorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIC0weDEuNTZiMDJkMDAwNDVkYTE0NmU4NTVkMzc3MGM5NjQ2ZmFwLTEsCisgICAgMHgxLmZmODQwNnA4MAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS41NmIwMmQwMDA0NWRhMTQ2ZTg1NWQzNzcwYzk2NDZmYXAtMSwKKyAgICAtMHgxLmZmODQwNnA4MAorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5jMDI3NDlmZjRjNGM4ZmNiYjQ3MTYxMDg4NGQ4ZTBiZHAtMywKKyAgICAweDEuZmY5ZmZlcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5jMDI3NDlmZjRjNGM4ZmNiYjQ3MTYxMDg4NGQ4ZTBiZHAtMywKKyAgICAtMHgxLmZmOWZmZXA0MAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIC0weDEuMzg4ZTcxMDA1ODM0MmFhNWI2OWFmZTNlMjA5MGE0NTdwLTEsCisgICAgMHgxLmZmYmQ1OHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIDB4MS4zODhlNzEwMDU4MzQyYWE1YjY5YWZlM2UyMDkwYTQ1N3AtMSwKKyAgICAtMHgxLmZmYmQ1OHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS45ZTgwNWFlZjMyODJkNGNlZDQwMjcyNzAyZjE3NGY1M3AtNiwKKyAgICAweDEuZmZkZDdlcDcyCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS45ZTgwNWFlZjMyODJkNGNlZDQwMjcyNzAyZjE3NGY1M3AtNiwKKyAgICAtMHgxLmZmZGQ3ZXA3MgorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuZmIzYWVmMDE2YjhjZTY2MzcwYWI2MTk3NGU4ZWUwYjJwLTYsCisgICAgMHgxLmZmZGZmZXA5MQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS5mYjNhZWYwMTZiOGNlNjYzNzBhYjYxOTc0ZThlZTBiMnAtNiwKKyAgICAtMHgxLmZmZGZmZXA5MQorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuZTQzMTQ4ZGE1M2Y0MjIzNTZlZGQzYmRiYWVmM2IyZmFwLTMsCisgICAgMHgxLmZmZjc3ZXAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS5lNDMxNDhkYTUzZjQyMjM1NmVkZDNiZGJhZWYzYjJmYXAtMywKKyAgICAtMHgxLmZmZjc3ZXAyMworICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5kNmUxODY0NzY0ZDI0YjRkZTE4Y2I0YzE5MDNhNzk1N3AtMSwKKyAgICAweDEuZmZmZTNlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLmQ2ZTE4NjQ3NjRkMjRiNGRlMThjYjRjMTkwM2E3OTU3cC0xLAorICAgIC0weDEuZmZmZTNlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAtMHgxLmZmZmY0OWM1MmY1ODVlNjcyZDcxODU0NDhkNDZlOTc3cC0xLAorICAgIDB4MS5mZmZlM2VwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAweDEuZmZmZjQ5YzUyZjU4NWU2NzJkNzE4NTQ0OGQ0NmU5NzdwLTEsCisgICAgLTB4MS5mZmZlM2VwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuYWZjNmE5OWNiYWRlODNiNmJlOTJiMmNhNDUxNjc5ODhwLTUsCisgICAgMHgxLmZmZmUzZXA0NQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuYWZjNmE5OWNiYWRlODNiNmJlOTJiMmNhNDUxNjc5ODhwLTUsCisgICAgLTB4MS5mZmZlM2VwNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjUzYTI5ZTU0YjRiMTQyODMwZGM3OTZjOWVkNWZjNTlicC05LAorICAgIDB4MS5mZmZlN2VwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjUzYTI5ZTU0YjRiMTQyODMwZGM3OTZjOWVkNWZjNTlicC05LAorICAgIC0weDEuZmZmZTdlcDEwMworICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIC0weDEuNDdlODlmZDUwNDdjNGM5NGI1YzBmNjFlMzc1ZjI4NDlwLTExLAorICAgIDB4MS5mZmZlN2VwMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLjQ3ZTg5ZmQ1MDQ3YzRjOTRiNWMwZjYxZTM3NWYyODQ5cC0xMSwKKyAgICAtMHgxLmZmZmU3ZXAxMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuYTQyNTZjOTBjMzc0MTBjZTk1N2MwYjI1MDE5Mzc2MThwLTgsCisgICAgMHgxLmZmZmY4ZXA0MAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuYTQyNTZjOTBjMzc0MTBjZTk1N2MwYjI1MDE5Mzc2MThwLTgsCisgICAgLTB4MS5mZmZmOGVwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLmQyYmQ4NGY1MDE4ZjQwYzk0YzdmNmU0NTUyZWY4ZTkxcC0zLAorICAgIDB4MS5mZmZmYTRwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEuZDJiZDg0ZjUwMThmNDBjOTRjN2Y2ZTQ1NTJlZjhlOTFwLTMsCisgICAgLTB4MS5mZmZmYTRwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuZmZhYThjZmZkMzgxZWJlN2IyZDZhM2U2OWJkYTM4ODdwLTUsCisgICAgMHgxLmZmZmZkZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuZmZhYThjZmZkMzgxZWJlN2IyZDZhM2U2OWJkYTM4ODdwLTUsCisgICAgLTB4MS5mZmZmZGVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEuZmE4ZDNjYTIzYmUyYTg0ZDM3ZjBjMDRlOTdiYWI1ZTVwLTEsCisgICAgMHgxLmZmZmZmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS5mYThkM2NhMjNiZTJhODRkMzdmMGMwNGU5N2JhYjVlNXAtMSwKKyAgICAtMHgxLmZmZmZmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5mZjk3OGVjZDMyMGFkMmQ3MGMyMDA4MjRlNDAxMDg0M3AtMSwKKyAgICAweDEuZmZmZmYwcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuZmY5NzhlY2QzMjBhZDJkNzBjMjAwODI0ZTQwMTA4NDNwLTEsCisgICAgLTB4MS5mZmZmZjBwNworICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5kMThmNzZmZmM2ZTRiYTBhMzEzNGU1YmUyMWI1YmM4ZnAtMSwKKyAgICAweDEuZmZmZmY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLmQxOGY3NmZmYzZlNGJhMGEzMTM0ZTViZTIxYjViYzhmcC0xLAorICAgIC0weDEuZmZmZmY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuZWFlZTgyMDBiOGRiYTUxMzhmOWFkYTQyYTIyYWIzMTlwLTIsCisgICAgMHgxLmZmZmZmYXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuZWFlZTgyMDBiOGRiYTUxMzhmOWFkYTQyYTIyYWIzMTlwLTIsCisgICAgLTB4MS5mZmZmZmFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAtMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuOTk5OTk5ZDQ0ZjMwNThjNzg5MDE0YjdkMGUyMmZlYzNwLTEzLAorICAgIDB4MS45OTk5OWFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS45OTk5OTlkNDRmMzA1OGM3ODkwMTRiN2QwZTIyZmVjM3AtMTMsCisgICAgLTB4MS45OTk5OWFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLjk5OTk5OTUxM2NjMTczZTUxYmI5OTU1YjA2NmYxZGI4cC0xMiwKKyAgICAweDEuOTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIC0weDEuOTk5OTk5NTEzY2MxNzNlNTFiYjk5NTViMDY2ZjFkYjhwLTEyLAorICAgIC0weDEuOTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIDB4MS4zMzMzMzJkOTE2ODUzMjFlNWZjMzk3ZDIwYTVhZjFlNnAtMTEsCisgICAgMHgxLjMzMzMzNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAtMHgxLjMzMzMzMmQ5MTY4NTMyMWU1ZmMzOTdkMjBhNWFmMWU2cC0xMSwKKyAgICAtMHgxLjMzMzMzNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAweDEuOTk5OTk3NDRmMzA2ZGMwM2U5ZWY3MDg5N2Y3ODI5OWVwLTExLAorICAgIDB4MS45OTk5OWFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjY2CisgICAgLTB4MS45OTk5OTc0NGYzMDZkYzAzZTllZjcwODk3Zjc4Mjk5ZXAtMTEsCisgICAgLTB4MS45OTk5OWFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLmZmZmZmYWFhYWFhZWVlZWVlZDRlZDRlZGFiNGM3YmQ2cC0xMSwKKyAgICAweDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIC0weDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAorICAgIC0weDEucC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS4zMzMzMmY2NDVhMThjM2IwY2NmYzBhM2NmN2IyZTkxYnAtMTAsCisgICAgMHgxLjMzMzMzNHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLjMzMzMyZjY0NWExOGMzYjBjY2ZjMGEzY2Y3YjJlOTFicC0xMCwKKyAgICAtMHgxLjMzMzMzNHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEuNjY2NjYwYWVjMzMwODIxYzdhMTAwY2Y0ODhjMzgwZWJwLTEwLAorICAgIDB4MS42NjY2NjhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgLTB4MS42NjY2NjBhZWMzMzA4MjFjN2ExMDBjZjQ4OGMzODBlYnAtMTAsCisgICAgLTB4MS42NjY2NjhwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjk5OTk5MTEzY2MwMzQxNDRmZGJkYzhhMWRjNzEzMjUzcC0xMCwKKyAgICAweDEuOTk5OTljcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuOTk5OTkxMTNjYzAzNDE0NGZkYmRjOGExZGM3MTMyNTNwLTEwLAorICAgIC0weDEuOTk5OTljcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS5jY2NjYmM3MmIwNWRkMDk1MWE5YzVlNjU1NjBjNTZlM3AtMTAsCisgICAgMHgxLmNjY2NjY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLmNjY2NiYzcyYjA1ZGQwOTUxYTljNWU2NTU2MGM1NmUzcC0xMCwKKyAgICAtMHgxLmNjY2NjY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDY2NWFlMzYxNWI1YjdkZTUyNzk4MDY0ZGZjNTliMjlwLTcsCisgICAgMHgxLjA2NjY2NnAtNworICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuMDY2NWFlMzYxNWI1YjdkZTUyNzk4MDY0ZGZjNTliMjlwLTcsCisgICAgLTB4MS4wNjY2NjZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEuY2NjOGU4YWU5MjU4NmQ4ZDY2YjZhZDBhZWRjYjBkOTRwLTcsCisgICAgMHgxLmNjY2NjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIC0weDEuY2NjOGU4YWU5MjU4NmQ4ZDY2YjZhZDBhZWRjYjBkOTRwLTcsCisgICAgLTB4MS5jY2NjY2NwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuNDk5M2U3MGY3YjE3YzEwYWY5Zjk3ZmM3YjMzYjgyMmJwLTYsCisgICAgMHgxLjQ5OTk5OHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIC0weDEuNDk5M2U3MGY3YjE3YzEwYWY5Zjk3ZmM3YjMzYjgyMmJwLTYsCisgICAgLTB4MS40OTk5OThwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuYWNjMDQzZjhiMmQ4OWFkNTE0M2MwMzBlOTc2NmZjMTFwLTYsCisgICAgMHgxLmFjY2NjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC0weDEuYWNjMDQzZjhiMmQ4OWFkNTE0M2MwMzBlOTc2NmZjMTFwLTYsCisgICAgLTB4MS5hY2NjY2NwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAweDEuMDdmNDRkNjdjZjQxYWZiYzBjOTUxMDhiOTlmOTFiMDFwLTUsCisgICAgMHgxLjA4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKKyAgICAtMHgxLjA4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgMHgxLjM5ODVmZWFkNDRmYTJiODUxZTY1MWFjYmEzNjlkNzY5cC01LAorICAgIDB4MS4zOTk5OWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAtMHgxLjM5ODVmZWFkNDRmYTJiODUxZTY1MWFjYmEzNjlkNzY5cC01LAorICAgIC0weDEuMzk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgMHgxLjZiMTRiZWI1ZDQwZDc0NTA5NjI0N2U1OWI2MjI4MjhicC01LAorICAgIDB4MS42YjMzMzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLjZiMTRiZWI1ZDQwZDc0NTA5NjI0N2U1OWI2MjI4MjhicC01LAorICAgIC0weDEuNmIzMzM0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLjljYTAxNjcxYTc5OTVmYzk3Y2ViZDY5NzI5Y2M0MzA5cC01LAorICAgIDB4MS45Y2NjY2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAtMHgxLjljYTAxNjcxYTc5OTVmYzk3Y2ViZDY5NzI5Y2M0MzA5cC01LAorICAgIC0weDEuOWNjY2NlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLmNlMjc4Y2Q5ZWIyY2JkMGM2YTRlMTI3OWY2OTBlODU2cC01LAorICAgIDB4MS5jZTY2NjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAtMHgxLmNlMjc4Y2Q5ZWIyY2JkMGM2YTRlMTI3OWY2OTBlODU2cC01LAorICAgIC0weDEuY2U2NjY2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgMHgxLjQzYzFlOTk3MjM5MWFhOGVjZDhhOWNjYmE5MDc5MjBhcC0xLAorICAgIDB4MS41ZTdmYzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAtMHgxLjQzYzFlOTk3MjM5MWFhOGVjZDhhOWNjYmE5MDc5MjBhcC0xLAorICAgIC0weDEuNWU3ZmM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLmVlM2Q2YmIyMWM2NGIyMzgyZWZjZmYwY2RmMzBjZTBicC0xLAorICAgIDB4MS40ZTdmYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEuZWUzZDZiYjIxYzY0YjIzODJlZmNmZjBjZGYzMGNlMGJwLTEsCisgICAgLTB4MS40ZTdmYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5kZjhlMjMyM2U0YmYxYTUzOGExMDBlYzFiZjM0OTRhOXAtMSwKKyAgICAweDEuZWRiZmE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLmRmOGUyMzIzZTRiZjFhNTM4YTEwMGVjMWJmMzQ5NGE5cC0xLAorICAgIC0weDEuZWRiZmE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuMWQzNDdhYTAyZmViM2JiMTc1MGQyNTUwOTQzNWRhODhwLTEsCisgICAgMHgxLjQ2N2ZjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzAyCisgICAgLTB4MS4xZDM0N2FhMDJmZWIzYmIxNzUwZDI1NTA5NDM1ZGE4OHAtMSwKKyAgICAtMHgxLjQ2N2ZjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgLTB4MS5mZmVhMDhlMWM5N2Y0YzRkZTAxOTYxY2MzZTdiMDRkY3AtNiwKKyAgICAweDEuOTYxZmI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuZmZlYTA4ZTFjOTdmNGM0ZGUwMTk2MWNjM2U3YjA0ZGNwLTYsCisgICAgLTB4MS45NjFmYjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0weDEuMzczNGNiY2VkOWMwZjQ4NGU1Zjc2MmUwMDIxNmU2MjBwLTEsCisgICAgMHgxLmU1YmZhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMHgxLjM3MzRjYmNlZDljMGY0ODRlNWY3NjJlMDAyMTZlNjIwcC0xLAorICAgIC0weDEuZTViZmE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAtMHgxLmU5ZDI1OTJiZWMxMGMzYWNiMTVjNTg1MjIzOWEyYWE4cC0xLAorICAgIDB4MS4xYWFmY2FwMgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS5lOWQyNTkyYmVjMTBjM2FjYjE1YzU4NTIyMzlhMmFhOHAtMSwKKyAgICAtMHgxLjFhYWZjYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS5lNGVjZTIwOGQwYzQ5MTNhYjAxOWNhYjBjZTljNzg1ZXAtMSwKKyAgICAweDEuNDI3ZmMycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuZTRlY2UyMDhkMGM0OTEzYWIwMTljYWIwY2U5Yzc4NWVwLTEsCisgICAgLTB4MS40MjdmYzJwMgorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0weDEuMmE1YTAyZDM5MmI1NGY2NDFhMGQ4OGJkNGFjNmMyZTFwLTEsCisgICAgMHgxLjZhNGZiYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLjJhNWEwMmQzOTJiNTRmNjQxYTBkODhiZDRhYzZjMmUxcC0xLAorICAgIC0weDEuNmE0ZmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMHgxLjI2MzEyM2RmMjJkMTNlZDMyOWM2NjVjODNjMGU3MWU4cC0xLAorICAgIDB4MS42YWYyZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS4yNjMxMjNkZjIyZDEzZWQzMjljNjY1YzgzYzBlNzFlOHAtMSwKKyAgICAtMHgxLjZhZjJmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS5lMThlNjdiNTA4ZmZjOWU0MmY2YzllNzJmOGU1NDVmM3AtMSwKKyAgICAweDEuNDNjNjJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuZTE4ZTY3YjUwOGZmYzllNDJmNmM5ZTcyZjhlNTQ1ZjNwLTEsCisgICAgLTB4MS40M2M2MmFwMgorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuZWUwZTgwZWM5ZDE1NjJjMTdhNmNmNjA4YWY5YjBlZDRwLTEsCisgICAgMHgxLjFjOTk2NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLmVlMGU4MGVjOWQxNTYyYzE3YTZjZjYwOGFmOWIwZWQ0cC0xLAorICAgIC0weDEuMWM5OTY0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLjQ3Mjc2ODYzN2VhODg2NmE2NTIwOThhNDNhYTY4OGE2cC0xLAorICAgIDB4MS5lYWQ5M2NwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS40NzI3Njg2MzdlYTg4NjZhNjUyMDk4YTQzYWE2ODhhNnAtMSwKKyAgICAtMHgxLmVhZDkzY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS40YmEyNGY2MzI1ZjIxNDIwZTdjNDhkNGY5MWUyODA2NHAtNCwKKyAgICAweDEuOWM3ZmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuNGJhMjRmNjMyNWYyMTQyMGU3YzQ4ZDRmOTFlMjgwNjRwLTQsCisgICAgLTB4MS45YzdmYjBwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIDB4MS4wMzRjNjQzMjk1MTUzYWFmZmU1ZDlhMGYyOWU5Mjg0NHAtMSwKKyAgICAweDEuNGUyNjI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLjAzNGM2NDMyOTUxNTNhYWZmZTVkOWEwZjI5ZTkyODQ0cC0xLAorICAgIC0weDEuNGUyNjI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEuZDFlNGQ5NmVhYzkxNzU3NGI5NDhlNGVhOWUzN2IzNmRwLTEsCisgICAgMHgxLmZmOTkzMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS5kMWU0ZDk2ZWFjOTE3NTc0Yjk0OGU0ZWE5ZTM3YjM2ZHAtMSwKKyAgICAtMHgxLmZmOTkzMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLmY3NTAxZTAwMmJjYWZiODk3ZjkzMTkzMWQzYTU3YWZkcC0xLAorICAgIDB4MS42MmU2MWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEuZjc1MDFlMDAyYmNhZmI4OTdmOTMxOTMxZDNhNTdhZmRwLTEsCisgICAgLTB4MS42MmU2MWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS42NWY3ZDY2ZWY2NTkxY2ZjNTFhYjI5ZGMyMDg2ZDNlN3AtMSwKKyAgICAweDEuOGM2NjJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTB4MS42NWY3ZDY2ZWY2NTkxY2ZjNTFhYjI5ZGMyMDg2ZDNlN3AtMSwKKyAgICAtMHgxLjhjNjYyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIC0weDEuZmUwNDNmODc1YzZlZDRhMmMxYjhkNjlhMDlmY2Y1NzhwLTEsCisgICAgLTB4MS5hOGFhMWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKKyAgICAweDEuYThhYTFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLmZmZjE4ZjMxM2U2NmYxYWUyNWY4OWE1ZjdhMWY4NGM0cC0xLAorICAgIC0weDEuOTVlYzhhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuZmZmMThmMzEzZTY2ZjFhZTI1Zjg5YTVmN2ExZjg0YzRwLTEsCisgICAgMHgxLjk1ZWM4YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS5mZjIwZDkyMGI5ZTljMjMxNTRmOTdlMmYzNDJhMjg4NHAtMSwKKyAgICAtMHgxLjgzMmVmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgMHgxLmZmMjBkOTIwYjllOWMyMzE1NGY5N2UyZjM0MmEyODg0cC0xLAorICAgIDB4MS44MzJlZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIC0weDEuZmI5MzNiODlkN2RiMzI4NmVlZDBjZmVhYmVlOTg4NzVwLTEsCisgICAgLTB4MS43MDcxNjZwMAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS5mYjkzM2I4OWQ3ZGIzMjg2ZWVkMGNmZWFiZWU5ODg3NXAtMSwKKyAgICAweDEuNzA3MTY2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLmY1NGQ5NWM1MDU4YjdkYzk5NzJhYjZmOTkyOGNhMDQzcC0xLAorICAgIC0weDEuNWRiM2Q0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuZjU0ZDk1YzUwNThiN2RjOTk3MmFiNmY5OTI4Y2EwNDNwLTEsCisgICAgMHgxLjVkYjNkNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5lYzU4ODFhMDljNDZhYWUwMjBjZDkwMzYwOThhMTk2ZXAtMSwKKyAgICAtMHgxLjRhZjY0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgMHgxLmVjNTg4MWEwOWM0NmFhZTAyMGNkOTAzNjA5OGExOTZlcC0xLAorICAgIDB4MS40YWY2NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIC0weDEuZTBjMDQ3OTU5MTlkOTYxYTVlODNlNTA1ZGYzMWM2MjRwLTEsCisgICAgLTB4MS4zODM4YjBwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5lMGMwNDc5NTkxOWQ5NjFhNWU4M2U1MDVkZjMxYzYyNHAtMSwKKyAgICAweDEuMzgzOGIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDUKKyAgICAtMHgxLmQyOTRjZGVmN2NjMTYxNjMzYTAyZDNlNjIwNThiZTBlcC0xLAorICAgIC0weDEuMjU3YjFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDYKKyAgICAweDEuZDI5NGNkZWY3Y2MxNjE2MzNhMDJkM2U2MjA1OGJlMGVwLTEsCisgICAgMHgxLjI1N2IxZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS5jMWU5ODhiOTU2MTRhYmQ2NWQzZDgxMWY1Yzg4MDM5YnAtMSwKKyAgICAtMHgxLjEyYmQ5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLmMxZTk4OGI5NTYxNGFiZDY1ZDNkODExZjVjODgwMzlicC0xLAorICAgIDB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIC0weDEuYTJjMjg5NWVkYjBkNGJhNTFjZGJkNTM5MGNhYzQ2OGZwLTEsCisgICAgLTB4MS5lYTVjM2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAweDEuYTJjMjg5NWVkYjBkNGJhNTFjZGJkNTM5MGNhYzQ2OGZwLTEsCisgICAgMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuOTVmMDUxNTM2NDRkNjBiOTRkMmYyZTcwMGRmZDNhMzdwLTEsCisgICAgLTB4MS5kNGI4N2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTIKKyAgICAweDEuOTVmMDUxNTM2NDRkNjBiOTRkMmYyZTcwMGRmZDNhMzdwLTEsCisgICAgMHgxLmQ0Yjg3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuODg2NDdkOGFkMmU0MWZiN2MwYWYwZjY0NjE0Yzk5OTNwLTEsCisgICAgLTB4MS5iZjE0YmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuODg2NDdkOGFkMmU0MWZiN2MwYWYwZjY0NjE0Yzk5OTNwLTEsCisgICAgMHgxLmJmMTRiYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIC0weDEuN2EyNTNmOWY4OWE3ZDNlNGY5YzU0NjM4NDE4ZTk3ZjZwLTEsCisgICAgLTB4MS5hOTcwZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuN2EyNTNmOWY4OWE3ZDNlNGY5YzU0NjM4NDE4ZTk3ZjZwLTEsCisgICAgMHgxLmE5NzBmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuNmIzOTFiMzRhYWI4MjhmYmU3Y2Q3ZGNhZjllZjNiZDZwLTEsCisgICAgLTB4MS45M2NkMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTgKKyAgICAweDEuNmIzOTFiMzRhYWI4MjhmYmU3Y2Q3ZGNhZjllZjNiZDZwLTEsCisgICAgMHgxLjkzY2QzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuNWJhNmUyZmI5ODBkNDgyY2YwMGVkZTgwZjU1OTdmYjJwLTEsCisgICAgLTB4MS43ZTI5NzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuNWJhNmUyZmI5ODBkNDgyY2YwMGVkZTgwZjU1OTdmYjJwLTEsCisgICAgMHgxLjdlMjk3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuNGI3NWI1OTU0ZTcxODAyMDkwMDcxOWUyNWE3ZWE5M2JwLTEsCisgICAgLTB4MS42ODg1YjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuNGI3NWI1OTU0ZTcxODAyMDkwMDcxOWUyNWE3ZWE5M2JwLTEsCisgICAgMHgxLjY4ODViMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuM2FhY2ZhNTEwODEwMDU0YzUyYWUwYjY3ZDExNmViNDBwLTEsCisgICAgLTB4MS41MmUxZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjQKKyAgICAweDEuM2FhY2ZhNTEwODEwMDU0YzUyYWUwYjY3ZDExNmViNDBwLTEsCisgICAgMHgxLjUyZTFmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuMjk1NDY0NGNlYjhlM2EyNDc5YzgzYWU4NGFmNTdkM2VwLTEsCisgICAgLTB4MS4zZDNlMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuMjk1NDY0NGNlYjhlM2EyNDc5YzgzYWU4NGFmNTdkM2VwLTEsCisgICAgMHgxLjNkM2UzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIC0weDEuZmM3NjlhZWNkMjY1Y2ZlYTA4ZTBmZjMwYzJmYmNhY2RwLTIsCisgICAgLTB4MS4wYTBiMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuZmM3NjlhZWNkMjY1Y2ZlYTA4ZTBmZjMwYzJmYmNhY2RwLTIsCisgICAgMHgxLjBhMGIwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIC0weDEuYzg1M2M3MDRlM2I5NDMyMjAzMWQ2YjQ3YWVmODUzYzlwLTIsCisgICAgLTB4MS5kOGY3MjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuYzg1M2M3MDRlM2I5NDMyMjAzMWQ2YjQ3YWVmODUzYzlwLTIsCisgICAgMHgxLmQ4ZjcyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuOTJhYmE4OTgxYjI1ZGVkYTRjYzE4MTcyNTE3MjNhMWJwLTIsCisgICAgLTB4MS45ZGQ4M2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuOTJhYmE4OTgxYjI1ZGVkYTRjYzE4MTcyNTE3MjNhMWJwLTIsCisgICAgMHgxLjlkZDgzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIC0weDEuNWJhYzA1ZTFlMGE3YzJkZTI4MGZjYjkzYmU2N2E0ZGFwLTIsCisgICAgLTB4MS42MmI5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuNWJhYzA1ZTFlMGE3YzJkZTI4MGZjYjkzYmU2N2E0ZGFwLTIsCisgICAgMHgxLjYyYjk1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM3NQorICAgIC0weDEuMjM4M2NhMmIyNDk4MDdkOTUwMDVkOTZjZmRhZWNkNmNwLTIsCisgICAgLTB4MS4yNzlhNzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuMjM4M2NhMmIyNDk4MDdkOTUwMDVkOTZjZmRhZWNkNmNwLTIsCisgICAgMHgxLjI3OWE3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIC0weDEuZDRjNWJiODcyZWE1Mzc1ODM0Y2EwYmNhMDg4ZDFkNzVwLTMsCisgICAgLTB4MS5kOGY3MjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAweDEuZDRjNWJiODcyZWE1Mzc1ODM0Y2EwYmNhMDg4ZDFkNzVwLTMsCisgICAgMHgxLmQ4ZjcyMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuNjBmM2ZhNDYwYjg1ODExZDJhZTcxMGNkNjllYzM2OTBwLTMsCisgICAgLTB4MS42MmI5NThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAweDEuNjBmM2ZhNDYwYjg1ODExZDJhZTcxMGNkNjllYzM2OTBwLTMsCisgICAgMHgxLjYyYjk1OHAtMworICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIC0weDEuZDdlYTNkNTZlMWU2MjQ0Yzg3ODZkNzRmMTg5ZDk4YWNwLTQsCisgICAgLTB4MS5kOGY3MjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAweDEuZDdlYTNkNTZlMWU2MjQ0Yzg3ODZkNzRmMTg5ZDk4YWNwLTQsCisgICAgMHgxLmQ4ZjcyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM4MworICAgIC0weDEuZDhiM2RlYmE2YWM0OTNiMDRiMjEwM2EwZGJhZWYwMmZwLTUsCisgICAgLTB4MS5kOGY3MjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODQKKyAgICAweDEuZDhiM2RlYmE2YWM0OTNiMDRiMjEwM2EwZGJhZWYwMmZwLTUsCisgICAgMHgxLmQ4ZjcyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS5kOGIzZGViYTZhYzQ5M2IwNGIyMTAzYTBkYmFlZjAyZnAtNSwKKyAgICAweDEuZDhmNzIwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgLTB4MS5kOGIzZGViYTZhYzQ5M2IwNGIyMTAzYTBkYmFlZjAyZnAtNSwKKyAgICAtMHgxLmQ4ZjcyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM4NworICAgIDB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKKyAgICAweDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgLTB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKKyAgICAtMHgxLmQ4ZjcyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM4OQorICAgIDB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKKyAgICAweDEuNjJiOTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgLTB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKKyAgICAtMHgxLjYyYjk1OHAtMworICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIDB4MS5kNGM1YmI4NzJlYTUzNzU4MzRjYTBiY2EwODhkMWQ3NXAtMywKKyAgICAweDEuZDhmNzIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgLTB4MS5kNGM1YmI4NzJlYTUzNzU4MzRjYTBiY2EwODhkMWQ3NXAtMywKKyAgICAtMHgxLmQ4ZjcyMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKKyAgICAweDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgLTB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKKyAgICAtMHgxLjI3OWE3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIDB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKKyAgICAweDEuNjJiOTU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgLTB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKKyAgICAtMHgxLjYyYjk1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS45MmFiYTg5ODFiMjVkZWRhNGNjMTgxNzI1MTcyM2ExYnAtMiwKKyAgICAweDEuOWRkODNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgLTB4MS45MmFiYTg5ODFiMjVkZWRhNGNjMTgxNzI1MTcyM2ExYnAtMiwKKyAgICAtMHgxLjlkZDgzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM5OQorICAgIDB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKKyAgICAweDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgLTB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKKyAgICAtMHgxLmQ4ZjcyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIDB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKKyAgICAweDEuMGEwYjAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgLTB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKKyAgICAtMHgxLjBhMGIwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS4yOTU0NjQ0Y2ViOGUzYTI0NzljODNhZTg0YWY1N2QzZXAtMSwKKyAgICAweDEuM2QzZTM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA0CisgICAgLTB4MS4yOTU0NjQ0Y2ViOGUzYTI0NzljODNhZTg0YWY1N2QzZXAtMSwKKyAgICAtMHgxLjNkM2UzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIDB4MS4zYWFkMDBhMDkyNjhhMzlkZjE2NTNjNzBkYjkxZjE1N3AtMSwKKyAgICAweDEuNTJlMWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgLTB4MS4zYWFkMDBhMDkyNjhhMzlkZjE2NTNjNzBkYjkxZjE1N3AtMSwKKyAgICAtMHgxLjUyZTFmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwNworICAgIDB4MS40Yjc1YmJhZTM4OGE3ZjM0NjZlN2YyZDZiZGNmNzJiYnAtMSwKKyAgICAweDEuNjg4NWJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgLTB4MS40Yjc1YmJhZTM4OGE3ZjM0NjZlN2YyZDZiZGNmNzJiYnAtMSwKKyAgICAtMHgxLjY4ODViYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS41YmE2ZThkYjE4MzM0NzU3MTJiOWE0MmExYWQwZDJjMnAtMSwKKyAgICAweDEuN2UyOTdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgLTB4MS41YmE2ZThkYjE4MzM0NzU3MTJiOWE0MmExYWQwZDJjMnAtMSwKKyAgICAtMHgxLjdlMjk3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMQorICAgIDB4MS42YjM5MjBkODExNzgyODkyOGZlMTBhYzcwYmE2OWU3NnAtMSwKKyAgICAweDEuOTNjZDNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgLTB4MS42YjM5MjBkODExNzgyODkyOGZlMTBhYzcwYmE2OWU3NnAtMSwKKyAgICAtMHgxLjkzY2QzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS43YTI1NDUwNDQzMDk4ODM2YzUyMDIzNzVkYjRiODQ2MnAtMSwKKyAgICAweDEuYTk3MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIC0weDEuN2EyNTQ1MDQ0MzA5ODgzNmM1MjAyMzc1ZGI0Yjg0NjJwLTEsCisgICAgLTB4MS5hOTcxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLjg4NjQ4MmFlNjc5N2IzODM2NGY1YzcyY2U5YTNiNzZmcC0xLAorICAgIDB4MS5iZjE0YzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAtMHgxLjg4NjQ4MmFlNjc5N2IzODM2NGY1YzcyY2U5YTNiNzZmcC0xLAorICAgIC0weDEuYmYxNGMycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjk1ZjA1NjMzN2FjYzFkMmQ1NTc1MjUyMzJlOTE1NDY3cC0xLAorICAgIDB4MS5kNGI4ODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAtMHgxLjk1ZjA1NjMzN2FjYzFkMmQ1NTc1MjUyMzJlOTE1NDY3cC0xLAorICAgIC0weDEuZDRiODg0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLmEyYzI4OTVlZGIwZDRiYTUxY2RiZDUzOTBjYWM0NjhmcC0xLAorICAgIDB4MS5lYTVjM2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAtMHgxLmEyYzI4OTVlZGIwZDRiYTUxY2RiZDUzOTBjYWM0NjhmcC0xLAorICAgIC0weDEuZWE1YzNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLmMxZTk4OGI5NTYxNGFiZDY1ZDNkODExZjVjODgwMzlicC0xLAorICAgIDB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIC0weDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCisgICAgLTB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS5kMjk0ZDJlMDZiM2QxMGE0ZGUyNjMxNzJkNTBmNDQ5N3AtMSwKKyAgICAweDEuMjU3YjI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAtMHgxLmQyOTRkMmUwNmIzZDEwYTRkZTI2MzE3MmQ1MGY0NDk3cC0xLAorICAgIC0weDEuMjU3YjI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAweDEuZTBjMDRiYjY1YmQzMzAxMmJlNzJhMzQwZGYyYzA0NGJwLTEsCisgICAgMHgxLjM4MzhiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgLTB4MS5lMGMwNGJiNjViZDMzMDEyYmU3MmEzNDBkZjJjMDQ0YnAtMSwKKyAgICAtMHgxLjM4MzhiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLmVjNTg4NGViOTkwYzNkZWFhZWViZDNmMGY4NGQ2OTYycC0xLAorICAgIDB4MS40YWY2NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIC0weDEuZWM1ODg0ZWI5OTBjM2RlYWFlZWJkM2YwZjg0ZDY5NjJwLTEsCisgICAgLTB4MS40YWY2NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS5mNTRkOTgzNWIwZTY2ZTE3NjEyMTYwMjcyNTIxZjNiMHAtMSwKKyAgICAweDEuNWRiM2RhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzAKKyAgICAtMHgxLmY1NGQ5ODM1YjBlNjZlMTc2MTIxNjAyNzI1MjFmM2IwcC0xLAorICAgIC0weDEuNWRiM2RhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAweDEuZmI5MzNkMWNkOTMxNjg1ZTkwMmU0MDNhMWJhYWVjZmRwLTEsCisgICAgMHgxLjcwNzE2Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS5mYjkzM2QxY2Q5MzE2ODVlOTAyZTQwM2ExYmFhZWNmZHAtMSwKKyAgICAtMHgxLjcwNzE2Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDMzCisgICAgMHgxLmZmMjBkOWQzZTg5ODRmZWMzMzk4MmU0MmY1ODg0ZjJjcC0xLAorICAgIDB4MS44MzJlZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIC0weDEuZmYyMGQ5ZDNlODk4NGZlYzMzOTgyZTQyZjU4ODRmMmNwLTEsCisgICAgLTB4MS44MzJlZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS5mZmYxOGYwM2E0YjdlNmFhY2Y1MWY4MzkzMWU4NTA0MnAtMSwKKyAgICAweDEuOTVlYzkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAtMHgxLmZmZjE4ZjAzYTRiN2U2YWFjZjUxZjgzOTMxZTg1MDQycC0xLAorICAgIC0weDEuOTVlYzkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAweDEuZmUwNDNmODc1YzZlZDRhMmMxYjhkNjlhMDlmY2Y1NzhwLTEsCisgICAgMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgLTB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKKyAgICAtMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLmIzZDM2YTk2ODgwY2Y2OWQ5ODg0YTQ5ZjUzODFlOTE3cC0xLAorICAgIDB4MS4wNGFmZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIC0weDEuYjNkMzZhOTY4ODBjZjY5ZDk4ODRhNDlmNTM4MWU5MTdwLTEsCisgICAgLTB4MS4wNGFmZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIDB4MS5iM2Q0MWFlYmNmMzkxYzMwYzNkMmYxZWU3Yjc5NzEwY3AtMSwKKyAgICAweDEuMDRiMGEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAtMHgxLmIzZDQxYWViY2YzOTFjMzBjM2QyZjFlZTdiNzk3MTBjcC0xLAorICAgIC0weDEuMDRiMGEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAweDEuYjNkNGNiNDA1YWIzMjkyYmU3ZGY1YjFiOTgwMzJmYmVwLTEsCisgICAgMHgxLjA0YjE0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgLTB4MS5iM2Q0Y2I0MDVhYjMyOTJiZTdkZjViMWI5ODAzMmZiZXAtMSwKKyAgICAtMHgxLjA0YjE0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgMHgxLmIzZDU3Yjk0MmE3YWQxOWU5Yjk4OTJjOTMxOWUxYmU2cC0xLAorICAgIDB4MS4wNGIxZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIC0weDEuYjNkNTdiOTQyYTdhZDE5ZTliOTg5MmM5MzE5ZTFiZTZwLTEsCisgICAgLTB4MS4wNGIxZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIDB4MS5iM2Q2MmJlNzNlOGZjOTk4YzZjMmRmNjU5MDQyNTYxM3AtMSwKKyAgICAweDEuMDRiMjk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAtMHgxLmIzZDYyYmU3M2U4ZmM5OThjNmMyZGY2NTkwNDI1NjEzcC0xLAorICAgIC0weDEuMDRiMjk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDkKKyAgICAweDEuYjNkNmRjMzk5NmYxYzUyYWExZjgzYmRlZTFkMGUwMjNwLTEsCisgICAgMHgxLjA0YjM0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgLTB4MS5iM2Q2ZGMzOTk2ZjFjNTJhYTFmODNiZGVlMWQwZTAyM3AtMSwKKyAgICAtMHgxLjA0YjM0MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgMHgxLmIzZDc4YzhiMzNhMDc4NjRiNmE4Nzg1NzNkYjM0YmNhcC0xLAorICAgIDB4MS4wNGIzZThwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIC0weDEuYjNkNzhjOGIzM2EwNzg2NGI2YTg3ODU3M2RiMzRiY2FwLTEsCisgICAgLTB4MS4wNGIzZThwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDB4MS5iM2Q4M2NkYzE0OWI5NzU3ZGYxOTVhZDg4NWFiNTIwMXAtMSwKKyAgICAweDEuMDRiNDkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAtMHgxLmIzZDgzY2RjMTQ5Yjk3NTdkZjE5NWFkODg1YWI1MjAxcC0xLAorICAgIC0weDEuMDRiNDkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuYjNkOGU4Zjk5MDgzNjBiMzhjZDEzZmNiZjYyMjRkOTNwLTEsCisgICAgMHgxLjA0YjUzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgLTB4MS5iM2Q4ZThmOTkwODM2MGIzOGNkMTNmY2JmNjIyNGQ5M3AtMSwKKyAgICAtMHgxLjA0YjUzNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIDB4MS4xNzczZDM2YTY0ZGY2MWQ2NzE1ZTYwYWYwNjM1NTlmNHAtMSwKKyAgICAweDEuMjc5YTcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgLTB4MS4xNzczZDM2YTY0ZGY2MWQ2NzE1ZTYwYWYwNjM1NTlmNHAtMSwKKyAgICAtMHgxLjI3OWE3MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS4xNzczZDUxNzY3YTc4ZmU5MWI1NWY2YjdlNWZkNDRjMnAtMSwKKyAgICAweDEuMjc5YTc0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDY1CisgICAgLTB4MS4xNzczZDUxNzY3YTc4ZmU5MWI1NWY2YjdlNWZkNDRjMnAtMSwKKyAgICAtMHgxLjI3OWE3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NgorICAgIDB4MS4xNzczZDZjNDZhNmVhNjg3ZjAzNjI1MTk0ZDI1YmI1MnAtMSwKKyAgICAweDEuMjc5YTc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgLTB4MS4xNzczZDZjNDZhNmVhNjg3ZjAzNjI1MTk0ZDI1YmI1MnAtMSwKKyAgICAtMHgxLjI3OWE3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIDB4MS5mOTViOGY0MDUwMTA1N2FjNDlhY2VmMTM5OTNiMGM1NXAtMSwKKyAgICAweDEuYmI2N2FjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAtMHgxLmY5NWI4ZjQwNTAxMDU3YWM0OWFjZWYxMzk5M2IwYzU1cC0xLAorICAgIC0weDEuYmI2N2FjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzAKKyAgICAweDEuZjk1YjhlOWJlNzI3NzAyZjc1OTVhZTEwMDBhMTRhMWFwLTEsCisgICAgMHgxLmJiNjdhZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgLTB4MS5mOTViOGU5YmU3Mjc3MDJmNzU5NWFlMTAwMGExNGExYXAtMSwKKyAgICAtMHgxLmJiNjdhZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgMHgxLmY5NWI4ZGY3N2UzNmEzNDQ2NzBlZDA3MTQ5MTkxYTU4cC0xLAorICAgIDB4MS5iYjY3YjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIC0weDEuZjk1YjhkZjc3ZTM2YTM0NDY3MGVkMDcxNDkxOTFhNThwLTEsCisgICAgLTB4MS5iYjY3YjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS5iMWQ4MmU4MzVhOTE4ZGUxOGY1ZmRhZGM4YjEyNDBjZnAtMiwKKyAgICAweDEuYmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgLTB4MS5iMWQ4MmU4MzVhOTE4ZGUxOGY1ZmRhZGM4YjEyNDBjZnAtMiwKKyAgICAtMHgxLmJmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIDB4MS5iMWQ4MzA1MzIxNjE2OTQ3NmY0ZDE5ODJiOWIxNGFiMXAtMiwKKyAgICAweDEuYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzcKKyAgICAtMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAorICAgIC0weDEuYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuYjFkODMyMjJlODMwZDgzNzQzMjU4ZmQwOTA0MGVlNTZwLTIsCisgICAgMHgxLmMwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIC0weDEuYjFkODMyMjJlODMwZDgzNzQzMjU4ZmQwOTA0MGVlNTZwLTIsCisgICAgLTB4MS5jMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuNDRlYjM2OTE0MjgwNjJiMjc5MjVjNTg1YWQ1OWQ2MmFwLTEsCisgICAgMHgxLjVmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIC0weDEuNDRlYjM2OTE0MjgwNjJiMjc5MjVjNTg1YWQ1OWQ2MmFwLTEsCisgICAgLTB4MS41ZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuNDRlYjM4MWNmMzg2YWIwNGE0Zjg2NTZhYmVhODBiODNwLTEsCisgICAgMHgxLjYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgLTB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKKyAgICAtMHgxLjYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgMHgxLjQ0ZWIzOWE4YTQ4YmFlNmI5OGFlMTFjOTQwMDUzNWU1cC0xLAorICAgIDB4MS42MDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAtMHgxLjQ0ZWIzOWE4YTQ4YmFlNmI5OGFlMTFjOTQwMDUzNWU1cC0xLAorICAgIC0weDEuNjAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgMHgxLmRhZDkwMTdiOTY0MDhjMzc1ZDRmYWYwZTQ3NzZkMWZjcC0xLAorICAgIDB4MS4yZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIC0weDEuZGFkOTAxN2I5NjQwOGMzNzVkNGZhZjBlNDc3NmQxZmNwLTEsCisgICAgLTB4MS4yZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIDB4MS5kYWQ5MDJmYThhYzg3MGY1MmYxYjg0M2FjODNiYzNlZHAtMSwKKyAgICAweDEuMzBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIC0weDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCisgICAgLTB4MS4zMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgMHgxLmRhZDkwNDc5N2Y0OGVhNGVmNGZkMmU0N2ZlNGQ1MmJkcC0xLAorICAgIDB4MS4zMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIC0weDEuZGFkOTA0Nzk3ZjQ4ZWE0ZWY0ZmQyZTQ3ZmU0ZDUyYmRwLTEsCisgICAgLTB4MS4zMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS40YjcwODA5M2M5Y2I0NTM1NWU3ODIxZTVhYWQ5OGNlOHAtMSwKKyAgICAweDEuMzdmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAtMHgxLjRiNzA4MDkzYzljYjQ1MzU1ZTc4MjFlNWFhZDk4Y2U4cC0xLAorICAgIC0weDEuMzdmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCisgICAgMHgxLjM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAtMHgxLjRiNzA3YTdhY2RlY2M4NDIzOTQ2M2U3OGIzMTJmYTEwcC0xLAorICAgIC0weDEuMzhwMQorICB9LAorICB7IC8vIEVudHJ5IDQ5NgorICAgIDB4MS40YjcwNzQ2MWQxZjk5NDQ3NmM2NzdjNWFkNWRkYjI2NHAtMSwKKyAgICAweDEuMzgwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAtMHgxLjRiNzA3NDYxZDFmOTk0NDc2YzY3N2M1YWQ1ZGRiMjY0cC0xLAorICAgIC0weDEuMzgwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuMDY2ZTdmNzA1YTZjYTJiOWUxMDdmN2RjOWYzYjI2ZTZwLTQsCisgICAgMHgxLjA2OWM4Y3AtNAorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIC0weDEuMDY2ZTdmNzA1YTZjYTJiOWUxMDdmN2RjOWYzYjI2ZTZwLTQsCisgICAgLTB4MS4wNjljOGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAweDEuMDVlNDc2ZDI3ZmViYzhiN2U5NjkwMDA5YjM2N2MzMjdwLTMsCisgICAgMHgxLjA2OWM4Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuMDVlNDc2ZDI3ZmViYzhiN2U5NjkwMDA5YjM2N2MzMjdwLTMsCisgICAgLTB4MS4wNjljOGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuODc3ZTJkZTVjOWEwNjZiOGRiNTk1YWRjMTQ5YWYwYzBwLTMsCisgICAgMHgxLjg5ZWFkMnAtMworICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIC0weDEuODc3ZTJkZTVjOWEwNjZiOGRiNTk1YWRjMTQ5YWYwYzBwLTMsCisgICAgLTB4MS44OWVhZDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuMDNiZTA3YWNiOWRhYjcxOWI0MzQzYTMzYjlmYTZhZmVwLTIsCisgICAgMHgxLjA2OWM4Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIC0weDEuMDNiZTA3YWNiOWRhYjcxOWI0MzQzYTMzYjlmYTZhZmVwLTIsCisgICAgLTB4MS4wNjljOGNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuNDJhYmJjNWIzYjJmOTFlOGVjZTQ2ZTVlZmZkMjgzNjlwLTIsCisgICAgMHgxLjQ4NDNiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuNDJhYmJjNWIzYjJmOTFlOGVjZTQ2ZTVlZmZkMjgzNjlwLTIsCisgICAgLTB4MS40ODQzYjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuODA0NjAxNDExZDkzZjQ3NTA5MTk2NzAwNjFkZTA3ZDlwLTIsCisgICAgMHgxLjg5ZWFkNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIC0weDEuODA0NjAxNDExZDkzZjQ3NTA5MTk2NzAwNjFkZTA3ZDlwLTIsCisgICAgLTB4MS44OWVhZDRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuYmM0YzA4YWYzNTYwODhiMTY5NDk5NWJmYWY4YTI5N2JwLTIsCisgICAgMHgxLmNiOTFmOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIC0weDEuYmM0YzA4YWYzNTYwODhiMTY5NDk5NWJmYWY4YTI5N2JwLTIsCisgICAgLTB4MS5jYjkxZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTIKKyAgICAweDEuZjY3ZWFlMzRkYzBiNDJiNDY1ZmQyYTNmYjA3NTY0YTRwLTIsCisgICAgMHgxLjA2OWM4ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuZjY3ZWFlMzRkYzBiNDJiNDY1ZmQyYTNmYjA3NTY0YTRwLTIsCisgICAgLTB4MS4wNjljOGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEuMTc1MDVjODYyMzE4OThmZDg2YjE4ZDIyODJkOTNlZWRwLTEsCisgICAgMHgxLjI3NzAyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIC0weDEuMTc1MDVjODYyMzE4OThmZDg2YjE4ZDIyODJkOTNlZWRwLTEsCisgICAgLTB4MS4yNzcwMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuMzIzYjhlNDBkMTY1NzVlNTBkYzdiNmU1NjdiYjUwODRwLTEsCisgICAgMHgxLjQ4NDNiMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxNworICAgIC0weDEuMzIzYjhlNDBkMTY1NzVlNTBkYzdiNmU1NjdiYjUwODRwLTEsCisgICAgLTB4MS40ODQzYjJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAweDEuNGJlNDliMDhhMWUxNjI5Y2JkYWE1MDdlMTgyNTVjZDhwLTEsCisgICAgMHgxLjY5MTc0NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuNGJlNDliMDhhMWUxNjI5Y2JkYWE1MDdlMTgyNTVjZDhwLTEsCisgICAgLTB4MS42OTE3NDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAweDEuNjQzMDg0N2RiYmJmZDQ2Y2JlYmJjNmQ1ZjUxYzdjNDlwLTEsCisgICAgMHgxLjg5ZWFkNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIC0weDEuNjQzMDg0N2RiYmJmZDQ2Y2JlYmJjNmQ1ZjUxYzdjNDlwLTEsCisgICAgLTB4MS44OWVhZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAweDEuN2IwNWJiODdiMzg4NDRlNTYwMDNjNDFlZjgwNGIyNzNwLTEsCisgICAgMHgxLmFhYmU2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIC0weDEuN2IwNWJiODdiMzg4NDRlNTYwMDNjNDFlZjgwNGIyNzNwLTEsCisgICAgLTB4MS5hYWJlNjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjQKKyAgICAweDEuOTA0YzNiMzg5ZDU1ZDNkZWRkYjM5ZDA1ZWIzNjY1NzFwLTEsCisgICAgMHgxLmNiOTFmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuOTA0YzNiMzg5ZDU1ZDNkZWRkYjM5ZDA1ZWIzNjY1NzFwLTEsCisgICAgLTB4MS5jYjkxZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAweDEuYTNlZGEyMTE3OThhODI2OTdkNjI0MzFmOWFlNDZjYzRwLTEsCisgICAgMHgxLmVjNjU4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIC0weDEuYTNlZGEyMTE3OThhODI2OTdkNjI0MzFmOWFlNDZjYzRwLTEsCisgICAgLTB4MS5lYzY1OGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuYjVkNTQ4ODNmY2I2MTIzYmMyOGFhYzkxZjA4NWU0ZWVwLTEsCisgICAgMHgxLjA2OWM4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgLTB4MS5iNWQ1NDg4M2ZjYjYxMjNiYzI4YWFjOTFmMDg1ZTRlZXAtMSwKKyAgICAtMHgxLjA2OWM4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLmM1ZjA1YTAxMzVkNDg4MmM3NjhjZGYxOGUyZTExMTJjcC0xLAorICAgIDB4MS4xNzA2NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuYzVmMDVhMDEzNWQ0ODgyYzc2OGNkZjE4ZTJlMTExMmNwLTEsCisgICAgLTB4MS4xNzA2NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIDB4MS5kNDJkZTUzZTMxNWM4MzljZTE4OGUyMDEyMDVlOTlkZXAtMSwKKyAgICAweDEuMjc3MDFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAtMHgxLmQ0MmRlNTNlMzE1YzgzOWNlMTg4ZTIwMTIwNWU5OWRlcC0xLAorICAgIC0weDEuMjc3MDFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuZTA3ZWVmNDVkOTFlZWE4YTZjYzczNjlhYTBlNTUzODhwLTEsCisgICAgMHgxLjM3ZDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgLTB4MS5lMDdlZWY0NWQ5MWVlYThhNmNjNzM2OWFhMGU1NTM4OHAtMSwKKyAgICAtMHgxLjM3ZDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLmVhZDY4MzNiMmFhMDAyYmFhMWMyYjE5YTM4ZGM5Yjc5cC0xLAorICAgIDB4MS40ODQzYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC0weDEuZWFkNjgzM2IyYWEwMDJiYWExYzJiMTlhMzhkYzliNzlwLTEsCisgICAgLTB4MS40ODQzYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIDB4MS5mMzI5YmZmYTZhMjA4NTkxZWVjYjY5MDVkNzU5NGUzYnAtMSwKKyAgICAweDEuNThhZDc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtMHgxLmYzMjliZmZhNmEyMDg1OTFlZWNiNjkwNWQ3NTk0ZTNicC0xLAorICAgIC0weDEuNThhZDc2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuZjk2ZmUzOGFmYmQ5NWI1ZmNkMDg2MDgxMTBlOTM4MWZwLTEsCisgICAgMHgxLjY5MTczZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgLTB4MS5mOTZmZTM4YWZiZDk1YjVmY2QwODYwODExMGU5MzgxZnAtMSwKKyAgICAtMHgxLjY5MTczZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLmZkYTI1NDU1ZDk1Njc3NzJmMjBmMjVkMTVlZmM2Nzc1cC0xLAorICAgIDB4MS43OTgxMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuZmRhMjU0NTVkOTU2Nzc3MmYyMGYyNWQxNWVmYzY3NzVwLTEsCisgICAgLTB4MS43OTgxMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS5mZmJjYTgxNmYxZjE1MTZlYzVkNzU3YjBkYjU0YWUzNHAtMSwKKyAgICAweDEuODllYWNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtMHgxLmZmYmNhODE2ZjFmMTUxNmVjNWQ3NTdiMGRiNTRhZTM0cC0xLAorICAgIC0weDEuODllYWNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuZmZiY2E4ODIyOGIxNjMxODlhYjhkNjM3ZGI5OWJkMmRwLTEsCisgICAgMHgxLjlhNTQ5NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgLTB4MS5mZmJjYTg4MjI4YjE2MzE4OWFiOGQ2MzdkYjk5YmQyZHAtMSwKKyAgICAtMHgxLjlhNTQ5NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLmZkYTI1NTk3MGNjZGRiOWQxMjdlY2Y2MzQwM2MyYmY3cC0xLAorICAgIDB4MS5hYWJlNWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuZmRhMjU1OTcwY2NkZGI5ZDEyN2VjZjYzNDAzYzJiZjdwLTEsCisgICAgLTB4MS5hYWJlNWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS5mOTZmZTVhMGRhMjQ0NDg5ZmIyZjRiOTdiM2U0ODc1N3AtMSwKKyAgICAweDEuYmIyODI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLmY5NmZlNWEwZGEyNDQ0ODlmYjJmNGI5N2IzZTQ4NzU3cC0xLAorICAgIC0weDEuYmIyODI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuZjMyOWMyZTJjMWEzOWJhZDhlY2RjYjg3OTYxYmE0NGFwLTEsCisgICAgMHgxLmNiOTFlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUzCisgICAgLTB4MS5mMzI5YzJlMmMxYTM5YmFkOGVjZGNiODc5NjFiYTQ0YXAtMSwKKyAgICAtMHgxLmNiOTFlZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLmVhZDY4NmYyZWM1NzJjODNlZDM0YTAxZjc2NGQxOTNlcC0xLAorICAgIDB4MS5kYmZiYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIC0weDEuZWFkNjg2ZjJlYzU3MmM4M2VkMzRhMDFmNzY0ZDE5M2VwLTEsCisgICAgLTB4MS5kYmZiYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIDB4MS5lMDdlZjNjOTFiZDUwMGEwZGUyMzBhZDU3MzE2MzE2M3AtMSwKKyAgICAweDEuZWM2NTdlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAtMHgxLmUwN2VmM2M5MWJkNTAwYTBkZTIzMGFkNTczMTYzMTYzcC0xLAorICAgIC0weDEuZWM2NTdlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAweDEuZDQyZGVhODgzNWM4OGFkYjljZGUxNzM0N2Y5MzRlMjVwLTEsCisgICAgMHgxLmZjY2Y0NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU5CisgICAgLTB4MS5kNDJkZWE4ODM1Yzg4YWRiOWNkZTE3MzQ3ZjkzNGUyNXAtMSwKKyAgICAtMHgxLmZjY2Y0NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLmM1ZjA1ZTMyYzgwZmIwZmU2MDMwMzNlYzAyOGE0YzMycC0xLAorICAgIDB4MS4wNjljODhwMQorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIC0weDEuYzVmMDVlMzJjODBmYjBmZTYwMzAzM2VjMDI4YTRjMzJwLTEsCisgICAgLTB4MS4wNjljODhwMQorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS5iNWQ1NGQzNzMyZDNiMmU3OWQ0OTA3ZTExNTQwMWRkYXAtMSwKKyAgICAweDEuMGVkMTZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAtMHgxLmI1ZDU0ZDM3MzJkM2IyZTc5ZDQ5MDdlMTE1NDAxZGRhcC0xLAorICAgIC0weDEuMGVkMTZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAweDEuYTNlZGE3NDE2MWQwNmI4M2VjMmM4ZGMzOTZkODEzYjlwLTEsCisgICAgMHgxLjE3MDY1MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgLTB4MS5hM2VkYTc0MTYxZDA2YjgzZWMyYzhkYzM5NmQ4MTNiOXAtMSwKKyAgICAtMHgxLjE3MDY1MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgMHgxLjkwNGM0MjFlZmNlNThmNGU4MTcwZDM2ZGNkYThlMDJjcC0xLAorICAgIDB4MS4xZjNiMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuOTA0YzQyMWVmY2U1OGY0ZTgxNzBkMzZkY2RhOGUwMmNwLTEsCisgICAgLTB4MS4xZjNiMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIDB4MS43YjA1YzQ1MDkzOTQ0ZDZhZmIwYzkwZDJmOWNiMjE3ZnAtMSwKKyAgICAweDEuMjc3MDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjkKKyAgICAtMHgxLjdiMDVjNDUwOTM5NDRkNmFmYjBjOTBkMmY5Y2IyMTdmcC0xLAorICAgIC0weDEuMjc3MDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAweDEuNjQzMDhmNTA2ZmZkYWYxMzI2ZDEwYjMzODAyNzhlOThwLTEsCisgICAgMHgxLjJmYTRmY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgLTB4MS42NDMwOGY1MDZmZmRhZjEzMjZkMTBiMzM4MDI3OGU5OHAtMSwKKyAgICAtMHgxLjJmYTRmY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgMHgxLjRiZTRhODA3NmMxMzVhNDhmM2YxYTFhYWEzNjI0NzVmcC0xLAorICAgIDB4MS4zN2Q5ZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU3MworICAgIC0weDEuNGJlNGE4MDc2YzEzNWE0OGYzZjFhMWFhYTM2MjQ3NWZwLTEsCisgICAgLTB4MS4zN2Q5ZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIDB4MS4zMjNiOWQ4ODhkNGRhNzdhNjEwODkzNzM1ZWVlZDFjYnAtMSwKKyAgICAweDEuNDAwZWM0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzUKKyAgICAtMHgxLjMyM2I5ZDg4OGQ0ZGE3N2E2MTA4OTM3MzVlZWVkMWNicC0xLAorICAgIC0weDEuNDAwZWM0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuMTc1MDZlMmRmYjYwM2QzNGI5YWYzOWIxMmMxZGI3MzVwLTEsCisgICAgMHgxLjQ4NDNhOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgLTB4MS4xNzUwNmUyZGZiNjAzZDM0YjlhZjM5YjEyYzFkYjczNXAtMSwKKyAgICAtMHgxLjQ4NDNhOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgMHgxLmY2N2VkNjY3MzUyZDQ4Mjc0NTAwMTNmMTVlMzIxYmZicC0yLAorICAgIDB4MS41MDc4OGNwMQorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIC0weDEuZjY3ZWQ2NjczNTJkNDgyNzQ1MDAxM2YxNWUzMjFiZmJwLTIsCisgICAgLTB4MS41MDc4OGNwMQorICB9LAorICB7IC8vIEVudHJ5IDU4MAorICAgIDB4MS5iYzRjMzVkYTUxZTM0Yjc3NmU1ZTA0ZGE1OGYyMzQ0MXAtMiwKKyAgICAweDEuNThhZDcwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICAtMHgxLmJjNGMzNWRhNTFlMzRiNzc2ZTVlMDRkYTU4ZjIzNDQxcC0yLAorICAgIC0weDEuNThhZDcwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAweDEuODA0NjMzNmU2ODQyN2NmNzU2MDU2ZDNmNGVkYmI2NjJwLTIsCisgICAgMHgxLjYwZTI1NHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgLTB4MS44MDQ2MzM2ZTY4NDI3Y2Y3NTYwNTZkM2Y0ZWRiYjY2MnAtMiwKKyAgICAtMHgxLjYwZTI1NHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTg0CisgICAgMHgxLjQyYWJmMzg3MjkwNWU2MzJmMjA0YzQxYjI0YWY5MGI2cC0yLAorICAgIDB4MS42OTE3MzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU4NQorICAgIC0weDEuNDJhYmYzODcyOTA1ZTYzMmYyMDRjNDFiMjRhZjkwYjZwLTIsCisgICAgLTB4MS42OTE3MzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIDB4MS4wM2JlNDNjNjk5ZjM1MzY5OTBkY2Y1YTY2NjVhYzIzOXAtMiwKKyAgICAweDEuNzE0YzFjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAtMHgxLjAzYmU0M2M2OTlmMzUzNjk5MGRjZjVhNjY2NWFjMjM5cC0yLAorICAgIC0weDEuNzE0YzFjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEuODc3ZWFkYzJmZGZjMmYwZGIxZThiNzhjZDNmYmZiZDJwLTMsCisgICAgMHgxLjc5ODFwMQorICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIC0weDEuODc3ZWFkYzJmZGZjMmYwZGIxZThiNzhjZDNmYmZiZDJwLTMsCisgICAgLTB4MS43OTgxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEuMDVlNGZkZjg0NjYzMmE4MjA4ZDkwZGU3MmQzYTZkYThwLTMsCisgICAgMHgxLjgxYjVlNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgLTB4MS4wNWU0ZmRmODQ2NjMyYTgyMDhkOTBkZTcyZDNhNmRhOHAtMywKKyAgICAtMHgxLjgxYjVlNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgMHgxLjA2NmY5YjYzMGI3MmRmZjE2NDUwZTg5YWZkZjdlMDQ4cC00LAorICAgIDB4MS44OWVhYzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIC0weDEuMDY2ZjliNjMwYjcyZGZmMTY0NTBlODlhZmRmN2UwNDhwLTQsCisgICAgLTB4MS44OWVhYzhwMQorICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS4wM2JkZjBiNzljY2Y3Mzk1MjlkNTRkNDIyODYxMDQ2Y3AtMiwKKyAgICAtMHgxLjgxYjVlZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgLTB4MS4wM2JkZjBiNzljY2Y3Mzk1MjlkNTRkNDIyODYxMDQ2Y3AtMiwKKyAgICAweDEuODFiNWVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAweDEuZjY3ZThiOTVmNTQ2MGVhMzY5YTgwMzgzN2I3MjFhYmRwLTIsCisgICAgLTB4MS43MTRjMjZwMgorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIC0weDEuZjY3ZThiOTVmNTQ2MGVhMzY5YTgwMzgzN2I3MjFhYmRwLTIsCisgICAgMHgxLjcxNGMyNnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgMHgxLjY0MzA3MDc5MTc1MWRjMDYzNmQxODU0ZDJiZGJjNWQ0cC0xLAorICAgIC0weDEuNjBlMjVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAtMHgxLjY0MzA3MDc5MTc1MWRjMDYzNmQxODU0ZDJiZGJjNWQ0cC0xLAorICAgIDB4MS42MGUyNWVwMgorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5iNWQ1MzZmNTkxMTNhNDNhZjMwZThjOWRiOGE5NTFhNXAtMSwKKyAgICAtMHgxLjUwNzg5NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgLTB4MS5iNWQ1MzZmNTkxMTNhNDNhZjMwZThjOWRiOGE5NTFhNXAtMSwKKyAgICAweDEuNTA3ODk2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAweDEuZWFkNjc5OTg1NTQ5MTQwMzE4MzQ5ZjUxMmRjYTdhNmJwLTEsCisgICAgLTB4MS40MDBlY2VwMgorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIC0weDEuZWFkNjc5OTg1NTQ5MTQwMzE4MzQ5ZjUxMmRjYTdhNmJwLTEsCisgICAgMHgxLjQwMGVjZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgMHgxLmZmYmNhNzAxMGUwYjA0NTJmNTYwNzVjZmQ1OTgyODgwcC0xLAorICAgIC0weDEuMmZhNTA2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAtMHgxLmZmYmNhNzAxMGUwYjA0NTJmNTYwNzVjZmQ1OTgyODgwcC0xLAorICAgIDB4MS4yZmE1MDZwMgorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIDB4MS5mMzI5Y2E2YmZjNzQyNWQ4OWMyYjRiOWFkNzNhYjEwOHAtMSwKKyAgICAtMHgxLjFmM2IzZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgLTB4MS5mMzI5Y2E2YmZjNzQyNWQ4OWMyYjRiOWFkNzNhYjEwOHAtMSwKKyAgICAweDEuMWYzYjNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEuYzVmMDZmYjY5NDI3YWMwZjJkNjk0MjhkODJiNWU2NjlwLTEsCisgICAgLTB4MS4wZWQxNzZwMgorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIC0weDEuYzVmMDZmYjY5NDI3YWMwZjJkNjk0MjhkODJiNWU2NjlwLTEsCisgICAgMHgxLjBlZDE3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjEwCisgICAgMHgxLjdiMDVkODY0ZWM5ODAyYWRiYzRiNTU3N2MyMzM4MzZhcC0xLAorICAgIC0weDEuZmNjZjVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTEKKyAgICAtMHgxLjdiMDVkODY0ZWM5ODAyYWRiYzRiNTU3N2MyMzM4MzZhcC0xLAorICAgIDB4MS5mY2NmNWFwMQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIDB4MS4xNzUwODA4MTg1YTk5OGJiY2VjYzNhNmFjMGNiMjkwN3AtMSwKKyAgICAtMHgxLmRiZmJjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgLTB4MS4xNzUwODA4MTg1YTk5OGJiY2VjYzNhNmFjMGNiMjkwN3AtMSwKKyAgICAweDEuZGJmYmM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAweDEuNDJhYzBkZDk0OTUyMTE4MTZiZjA0Y2E1M2JjZTRiZWFwLTIsCisgICAgLTB4MS5iYjI4MzZwMQorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIC0weDEuNDJhYzBkZDk0OTUyMTE4MTZiZjA0Y2E1M2JjZTRiZWFwLTIsCisgICAgMHgxLmJiMjgzNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgMHgxLjA2NmZjYTM5YTcwYjUyZDA2ZjJjZDdlYWI2OWMzMWYycC00LAorICAgIC0weDEuOWE1NGE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTcKKyAgICAtMHgxLjA2NmZjYTM5YTcwYjUyZDA2ZjJjZDdlYWI2OWMzMWYycC00LAorICAgIDB4MS45YTU0YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIC0weDEuODc3ZDkzMTI5OGU2ZmJjNjU0ZjA2NTUzNmNmZjJiNTRwLTMsCisgICAgLTB4MS43OTgxMTJwMQorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIDB4MS44NzdkOTMxMjk4ZTZmYmM2NTRmMDY1NTM2Y2ZmMmI1NHAtMywKKyAgICAweDEuNzk4MTEycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAtMHgxLmJjNGJjMjg3NWViNmQzOGVkYTNiNDljYjIzMjBiNTYxcC0yLAorICAgIC0weDEuNThhZDgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjEKKyAgICAweDEuYmM0YmMyODc1ZWI2ZDM4ZWRhM2I0OWNiMjMyMGI1NjFwLTIsCisgICAgMHgxLjU4YWQ4MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjIyCisgICAgLTB4MS40YmU0N2Q2MzU0YzRjZWQ1Mzc4MGIxYjUxOWFjZGVjMnAtMSwKKyAgICAtMHgxLjM3ZDllZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLjRiZTQ3ZDYzNTRjNGNlZDUzNzgwYjFiNTE5YWNkZWMycC0xLAorICAgIDB4MS4zN2Q5ZWVwMQorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIC0weDEuYTNlZDhiY2IzNWNiY2Y4YzYwODlmODJhOTFjMzFkNWJwLTEsCisgICAgLTB4MS4xNzA2NWNwMQorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS5hM2VkOGJjYjM1Y2JjZjhjNjA4OWY4MmE5MWMzMWQ1YnAtMSwKKyAgICAweDEuMTcwNjVjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAtMHgxLmUwN2VlNDk2ZWExMDk2NTRjNDJlMTcxZmRjNDUzN2M0cC0xLAorICAgIC0weDEuZWM2NTk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjcKKyAgICAweDEuZTA3ZWU0OTZlYTEwOTY1NGM0MmUxNzFmZGM0NTM3YzRwLTEsCisgICAgMHgxLmVjNjU5NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgLTB4MS5mZGEyNTIyMjE5Njg5ZDBlODA2OWQ5MGY1Yzk2OWI5MnAtMSwKKyAgICAtMHgxLmFhYmU3MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLmZkYTI1MjIyMTk2ODlkMGU4MDY5ZDkwZjVjOTY5YjkycC0xLAorICAgIDB4MS5hYWJlNzBwMAorICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIC0weDEuZjk2ZmU4MDJmZTU3MDM3MmQwZmNiNmU5MzRiNDMwNjFwLTEsCisgICAgLTB4MS42OTE3NGNwMAorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIDB4MS5mOTZmZTgwMmZlNTcwMzcyZDBmY2I2ZTkzNGI0MzA2MXAtMSwKKyAgICAweDEuNjkxNzRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAtMHgxLmQ0MmRlZDU2YWU4OGE2ZTFjZjI3MGFmMjdlNmYxODA0cC0xLAorICAgIC0weDEuMjc3MDI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzMKKyAgICAweDEuZDQyZGVkNTZhZTg4YTZlMWNmMjcwYWYyN2U2ZjE4MDRwLTEsCisgICAgMHgxLjI3NzAyOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgLTB4MS45MDRjNDUzMjZkNmRkZTIyNDM4MWQxZDU5MGFkYTQxY3AtMSwKKyAgICAtMHgxLmNiOTIwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIDB4MS45MDRjNDUzMjZkNmRkZTIyNDM4MWQxZDU5MGFkYTQxY3AtMSwKKyAgICAweDEuY2I5MjBhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgLTB4MS4zMjNiOWNhZGJiMTllNzVhNDQ0ODNmYjY0YWQ4ZGRmNnAtMSwKKyAgICAtMHgxLjQ4NDNjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIDB4MS4zMjNiOWNhZGJiMTllNzVhNDQ0ODNmYjY0YWQ4ZGRmNnAtMSwKKyAgICAweDEuNDg0M2M0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgLTB4MS44MDQ2MjY1NGJkZTc2NmZhZjQ3ZjMxNDBlMjkwOTk2ZHAtMiwKKyAgICAtMHgxLjg5ZWFmY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIDB4MS44MDQ2MjY1NGJkZTc2NmZhZjQ3ZjMxNDBlMjkwOTk2ZHAtMiwKKyAgICAweDEuODllYWZjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjQwCisgICAgLTB4MS4wNWU0Y2EyMWYzODZhODJiYzJlNGVmY2RlYmIxOTYyYnAtMywKKyAgICAtMHgxLjA2OWNlMHAtMworICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIDB4MS4wNWU0Y2EyMWYzODZhODJiYzJlNGVmY2RlYmIxOTYyYnAtMywKKyAgICAweDEuMDY5Y2UwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLjA1ZTQyMzgzMGJlMDFmOWZlM2M1N2QwNjg2N2UwMDU2cC0zLAorICAgIDB4MS4wNjljMzhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAtMHgxLjA1ZTQyMzgzMGJlMDFmOWZlM2M1N2QwNjg2N2UwMDU2cC0zLAorICAgIC0weDEuMDY5YzM4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLjgwNDVkODc4NTJmMTMwN2ZlYTZkYzc1MWM0ZDE1OTkycC0yLAorICAgIDB4MS44OWVhYThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAtMHgxLjgwNDVkODc4NTJmMTMwN2ZlYTZkYzc1MWM0ZDE1OTkycC0yLAorICAgIC0weDEuODllYWE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgMHgxLjMyM2I3YjA0ZWU4OGNmZjk4YjJhMTYyMGUxZjYxYTAxcC0xLAorICAgIDB4MS40ODQzOWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDcKKyAgICAtMHgxLjMyM2I3YjA0ZWU4OGNmZjk4YjJhMTYyMGUxZjYxYTAxcC0xLAorICAgIC0weDEuNDg0MzlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgMHgxLjkwNGMyYjAyYWE1OTUyOGNlMDQ0YmYyMjEzYzk2ODU5cC0xLAorICAgIDB4MS5jYjkxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDkKKyAgICAtMHgxLjkwNGMyYjAyYWE1OTUyOGNlMDQ0YmYyMjEzYzk2ODU5cC0xLAorICAgIC0weDEuY2I5MWUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgMHgxLmQ0MmRkZDI1YjM3OTdlNmE2NzlmNzZlMDVlNmMzZTA4cC0xLAorICAgIDB4MS4yNzcwMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIC0weDEuZDQyZGRkMjViMzc5N2U2YTY3OWY3NmUwNWU2YzNlMDhwLTEsCisgICAgLTB4MS4yNzcwMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS5mOTZmZTFhMGIxMmQwYWQ0ZmE4YzgyZDhhZjk4OWM1YXAtMSwKKyAgICAweDEuNjkxNzM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAtMHgxLmY5NmZlMWEwYjEyZDBhZDRmYThjODJkOGFmOTg5YzVhcC0xLAorICAgIC0weDEuNjkxNzM4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTQKKyAgICAweDEuZmRhMjU1Zjk2MDk0ZDhmZTRlODU5YzRjZjBkZDY4YTVwLTEsCisgICAgMHgxLmFhYmU1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgLTB4MS5mZGEyNTVmOTYwOTRkOGZlNGU4NTljNGNmMGRkNjhhNXAtMSwKKyAgICAtMHgxLmFhYmU1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjU2CisgICAgMHgxLmUwN2VmMjY3NzQ4Yjk4Mjc3OGY4ZDUwZDI5ODFiYjNhcC0xLAorICAgIDB4MS5lYzY1ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIC0weDEuZTA3ZWYyNjc3NDhiOTgyNzc4ZjhkNTBkMjk4MWJiM2FwLTEsCisgICAgLTB4MS5lYzY1ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5hM2VkYTJhZGIwMTE0M2ZiMjE0NTNiMjBiZDE3NDhmZXAtMSwKKyAgICAweDEuMTcwNjUycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTkKKyAgICAtMHgxLmEzZWRhMmFkYjAxMTQzZmIyMTQ1M2IyMGJkMTc0OGZlcC0xLAorICAgIC0weDEuMTcwNjUycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjAKKyAgICAweDEuNGJlNDliZDg4YTY0YTBiYjQxNGRkYWNhYzRmYThkZTlwLTEsCisgICAgMHgxLjM3ZDllNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgLTB4MS40YmU0OWJkODhhNjRhMGJiNDE0ZGRhY2FjNGZhOGRlOXAtMSwKKyAgICAtMHgxLjM3ZDllNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYyCisgICAgMHgxLmJjNGMwYTliMzc4MmUyMjBhZTU1Nzg2MzY5Y2NmMTkwcC0yLAorICAgIDB4MS41OGFkNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIC0weDEuYmM0YzBhOWIzNzgyZTIyMGFlNTU3ODYzNjljY2YxOTBwLTIsCisgICAgLTB4MS41OGFkNzZwMQorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS44NzdlMzAxZjQzY2FmZmZlNjY0NGE4OTU4ZjEwODcyOXAtMywKKyAgICAweDEuNzk4MTA4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAtMHgxLjg3N2UzMDFmNDNjYWZmZmU2NjQ0YTg5NThmMTA4NzI5cC0zLAorICAgIC0weDEuNzk4MTA4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAtMHgxLjA2NmU4YWUxZjgyNGE2OTgxN2U2YTgwNmU2MzE3ZTI4cC00LAorICAgIDB4MS45YTU0OWFwMQorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIDB4MS4wNjZlOGFlMWY4MjRhNjk4MTdlNmE4MDZlNjMxN2UyOHAtNCwKKyAgICAtMHgxLjlhNTQ5YXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgLTB4MS40MmFiYzFlY2ExMWEwYWQxMmNhNmVlZmYxOTczMThhYXAtMiwKKyAgICAweDEuYmIyODJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuNDJhYmMxZWNhMTFhMGFkMTJjYTZlZWZmMTk3MzE4YWFwLTIsCisgICAgLTB4MS5iYjI4MmNwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIC0weDEuMTc1MDVlZmI4MTE5NzczYzY0NzQ2OGJlMWRmZWU0NWVwLTEsCisgICAgMHgxLmRiZmJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLjE3NTA1ZWZiODExOTc3M2M2NDc0NjhiZTFkZmVlNDVlcC0xLAorICAgIC0weDEuZGJmYmJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAtMHgxLjdiMDViZDgwOTFjZDc5ZGZmMzU5Yzg0MTJiMGRlMWE5cC0xLAorICAgIDB4MS5mY2NmNTBwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIDB4MS43YjA1YmQ4MDkxY2Q3OWRmZjM1OWM4NDEyYjBkZTFhOXAtMSwKKyAgICAtMHgxLmZjY2Y1MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjc0CisgICAgLTB4MS5jNWYwNTk4MmVhYmYwMjI3NDg5NjA5NjE2NjZkNTQwZHAtMSwKKyAgICAweDEuMGVkMTcwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEuYzVmMDU5ODJlYWJmMDIyNzQ4OTYwOTYxNjY2ZDU0MGRwLTEsCisgICAgLTB4MS4wZWQxNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIC0weDEuZjMyOWJmYmRhODEyMmY4M2UzYTFlYTAyNDJlYjc2YWFwLTEsCisgICAgMHgxLjFmM2IzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLmYzMjliZmJkYTgxMjJmODNlM2ExZWEwMjQyZWI3NmFhcC0xLAorICAgIC0weDEuMWYzYjM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzgKKyAgICAtMHgxLmZmYmNhODhhZTkwZjA5MDBiNmQzYWQ4OWVkZGQyYzgwcC0xLAorICAgIDB4MS4yZmE1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzkKKyAgICAweDEuZmZiY2E4OGFlOTBmMDkwMGI2ZDNhZDg5ZWRkZDJjODBwLTEsCisgICAgLTB4MS4yZmE1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAtMHgxLmVhZDY4NzQwOWM5NWRjYWY2MWFmOTg1MTM1MTdmNTA3cC0xLAorICAgIDB4MS40MDBlYzhwMgorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS5lYWQ2ODc0MDljOTVkY2FmNjFhZjk4NTEzNTE3ZjUwN3AtMSwKKyAgICAtMHgxLjQwMGVjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgLTB4MS5iNWQ1NGZkNzkzNzJiOTBkNWQ0YzdhY2Y3YWRhZWQ0MnAtMSwKKyAgICAweDEuNTA3ODkwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAweDEuYjVkNTRmZDc5MzcyYjkwZDVkNGM3YWNmN2FkYWVkNDJwLTEsCisgICAgLTB4MS41MDc4OTBwMgorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIC0weDEuNjQzMDkyZjQyYWU3OTczNzU1MzE0MjBjMDA1Y2EyY2ZwLTEsCisgICAgMHgxLjYwZTI1OHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLjY0MzA5MmY0MmFlNzk3Mzc1NTMxNDIwYzAwNWNhMmNmcC0xLAorICAgIC0weDEuNjBlMjU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODYKKyAgICAtMHgxLmY2N2VkZjNiN2JlZTg1NTRkNTRkODRlYTgzZjZjYjIxcC0yLAorICAgIDB4MS43MTRjMjBwMgorICB9LAorICB7IC8vIEVudHJ5IDY4NworICAgIDB4MS5mNjdlZGYzYjdiZWU4NTU0ZDU0ZDg0ZWE4M2Y2Y2IyMXAtMiwKKyAgICAtMHgxLjcxNGMyMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgLTB4MS4wM2JlNGQ5M2Q5NDkzMjUzNDBiMmY0NjQyMDE1NDVhN3AtMiwKKyAgICAweDEuODFiNWU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODkKKyAgICAweDEuMDNiZTRkOTNkOTQ5MzI1MzQwYjJmNDY0MjAxNTQ1YTdwLTIsCisgICAgLTB4MS44MWI1ZThwMgorICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIDB4MS5lZmIyNmNmYTIwZjIwOThmZjdlOWU0MmYwMjYwZWIwMXAtNSwKKyAgICAweDEuZWZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgLTB4MS5lZmIyNmNmYTIwZjIwOThmZjdlOWU0MmYwMjYwZWIwMXAtNSwKKyAgICAtMHgxLmVmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS5lZmIyNmVmOTMwYzRkM2YyYjBkYmUxOTMxYmE1YWU2NHAtNSwKKyAgICAweDEuZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTMKKyAgICAtMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAorICAgIC0weDEuZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAweDEuZWZiMjcwZjg0MDk3OWM2NWI3NWVlNWM2NzAxNmE4NjZwLTUsCisgICAgMHgxLmYwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIC0weDEuZWZiMjcwZjg0MDk3OWM2NWI3NWVlNWM2NzAxNmE4NjZwLTUsCisgICAgLTB4MS5mMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAweDEuZjZiYWE4MTZmY2U1ZWE1YTYwZDhjOWZkMmEyODkzODBwLTQsCisgICAgMHgxLmY3ZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDY5NworICAgIC0weDEuZjZiYWE4MTZmY2U1ZWE1YTYwZDhjOWZkMmEyODkzODBwLTQsCisgICAgLTB4MS5mN2ZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAweDEuZjZiYWFhMTMxZGU2NDM4ZTU2MTEyNzk4NjRmZTc2NjNwLTQsCisgICAgMHgxLmY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgLTB4MS5mNmJhYWExMzFkZTY0MzhlNTYxMTI3OTg2NGZlNzY2M3AtNCwKKyAgICAtMHgxLmY4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzAwCisgICAgMHgxLmY2YmFhYzBmM2VlNjk0ZTc2MGExMzhiYzA2YzhiZTNkcC00LAorICAgIDB4MS5mODAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAtMHgxLmY2YmFhYzBmM2VlNjk0ZTc2MGExMzhiYzA2YzhiZTNkcC00LAorICAgIC0weDEuZjgwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLjRhOGMzOTU1NTJmYjQzMmFmMzE3ODBlODgzYzk4ZjcxcC0zLAorICAgIDB4MS40YmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAtMHgxLjRhOGMzOTU1NTJmYjQzMmFmMzE3ODBlODgzYzk4ZjcxcC0zLAorICAgIC0weDEuNGJmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLjRhOGMzYjRlOWM3ZmZmZDQ4MzA1ZjQ0YTQyZjVmNTBmcC0zLAorICAgIDB4MS40Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIC0weDEuNGE4YzNiNGU5YzdmZmZkNDgzMDVmNDRhNDJmNWY1MGZwLTMsCisgICAgLTB4MS40Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIDB4MS40YThjM2Q0N2U2MDRhN2Q1NGYzZjdkZTQwMjQwOWUyY3AtMywKKyAgICAweDEuNGMwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgLTB4MS40YThjM2Q0N2U2MDRhN2Q1NGYzZjdkZTQwMjQwOWUyY3AtMywKKyAgICAtMHgxLjRjMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS4yZTljZDgzNjMwZWIzNWMxMmVmY2ZiODQxMzU4Mzk5OHAtMiwKKyAgICAweDEuMzMzMzMycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgLTB4MS4yZTljZDgzNjMwZWIzNWMxMmVmY2ZiODQxMzU4Mzk5OHAtMiwKKyAgICAtMHgxLjMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxMAorICAgIDB4MS4yZTljZGExZjUyYzg4MDQyODMzZjIzNmZmMGY5ZDQ4NnAtMiwKKyAgICAweDEuMzMzMzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgLTB4MS4yZTljZGExZjUyYzg4MDQyODMzZjIzNmZmMGY5ZDQ4NnAtMiwKKyAgICAtMHgxLjMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIDB4MS4yZTljZGMwODc0YTU3ZjFjYTBmOTc2YTliMDFlNGE3MXAtMiwKKyAgICAweDEuMzMzMzM2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgLTB4MS4yZTljZGMwODc0YTU3ZjFjYTBmOTc2YTliMDFlNGE3MXAtMiwKKyAgICAtMHgxLjMzMzMzNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS4zZmFlZmIyYjY4ZTY3ODZlYjY5MmJkNGU0MDQ1MjEzZXAtMSwKKyAgICAweDEuNTk0MzE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE1CisgICAgLTB4MS4zZmFlZmIyYjY4ZTY3ODZlYjY5MmJkNGU0MDQ1MjEzZXAtMSwKKyAgICAtMHgxLjU5NDMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIDB4MS4zZmFlZmNiYjU3YzI2YjBkODRiNjNkYmZiNzJiNDEzYnAtMSwKKyAgICAweDEuNTk0MzE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgLTB4MS4zZmFlZmNiYjU3YzI2YjBkODRiNjNkYmZiNzJiNDEzYnAtMSwKKyAgICAtMHgxLjU5NDMxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIDB4MS4zZmFlZmU0YjQ2OWQxZGZkNTYxZTY2NmVkZGE3YzZlNnAtMSwKKyAgICAweDEuNTk0MzFhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgLTB4MS4zZmFlZmU0YjQ2OWQxZGZkNTYxZTY2NmVkZGE3YzZlNnAtMSwKKyAgICAtMHgxLjU5NDMxYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIDB4MS42ODg4YTM3NWFiMjI4YzFlMDMxYzQwMDU3Njk1MDlmOXAtMSwKKyAgICAweDEuOGZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIxCisgICAgLTB4MS42ODg4YTM3NWFiMjI4YzFlMDMxYzQwMDU3Njk1MDlmOXAtMSwKKyAgICAtMHgxLjhmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIDB4MS42ODg4YTRlMTM0YjJlYTUyMGIyMjZlY2E4Njk0YjNhMnAtMSwKKyAgICAweDEuOTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICAtMHgxLjY4ODhhNGUxMzRiMmVhNTIwYjIyNmVjYTg2OTRiM2EycC0xLAorICAgIC0weDEuOTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuNjg4OGE2NGNiZTQxZGZmZDZlNDc2OGRjY2E0ZGI1M2JwLTEsCisgICAgMHgxLjkwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyNQorICAgIC0weDEuNjg4OGE2NGNiZTQxZGZmZDZlNDc2OGRjY2E0ZGI1M2JwLTEsCisgICAgLTB4MS45MDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzI3CisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgMC4wZiwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAtMC4wZiwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLjkxZjY1ZGNjZmVhZDM1M2Q4ZGI5YzMyZjEyMjYyNzMwcC01LAorICAgIDB4MS45MjFmYjRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICAtMHgxLjkxZjY1ZGNjZmVhZDM1M2Q4ZGI5YzMyZjEyMjYyNzMwcC01LAorICAgIC0weDEuOTIxZmI0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgMHgxLjkxZjY1ZmNjNjBjYjZkMDlmY2M1YzM1ZGQ2YTc5OGM4cC01LAorICAgIDB4MS45MjFmYjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzQKKyAgICAtMHgxLjkxZjY1ZmNjNjBjYjZkMDlmY2M1YzM1ZGQ2YTc5OGM4cC01LAorICAgIC0weDEuOTIxZmI2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzM1CisgICAgMHgxLjkxZjY2MWNiYzJlOWEzNDQ3NTcxZjcyYmNmYmMyMWUycC01LAorICAgIDB4MS45MjFmYjhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAtMHgxLjkxZjY2MWNiYzJlOWEzNDQ3NTcxZjcyYmNmYmMyMWUycC01LAorICAgIC0weDEuOTIxZmI4cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgMHgxLjkxN2E2YTdmZTgyOTdiZjBhMTEyNWZiMDJiMjAzOGFlcC00LAorICAgIDB4MS45MjFmYjRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAtMHgxLjkxN2E2YTdmZTgyOTdiZjBhMTEyNWZiMDJiMjAzOGFlcC00LAorICAgIC0weDEuOTIxZmI0cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzM5CisgICAgMHgxLjkxN2E2YzdkNzEwM2I5ZDkwZTA5NjE1MTY0NDQ5YzZicC00LAorICAgIDB4MS45MjFmYjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDAKKyAgICAtMHgxLjkxN2E2YzdkNzEwM2I5ZDkwZTA5NjE1MTY0NDQ5YzZicC00LAorICAgIC0weDEuOTIxZmI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzQxCisgICAgMHgxLjkxN2E2ZTdhZjlkZGYxN2I5MTRlNmQyZThlODNiMzNlcC00LAorICAgIDB4MS45MjFmYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAtMHgxLjkxN2E2ZTdhZjlkZGYxN2I5MTRlNmQyZThlODNiMzNlcC00LAorICAgIC0weDEuOTIxZmI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLjhmOGI4Mjg4OTI5NmI1Y2Y3OTA0ZGIxZTc0YjM0NjZicC0zLAorICAgIDB4MS45MjFmYjRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAtMHgxLjhmOGI4Mjg4OTI5NmI1Y2Y3OTA0ZGIxZTc0YjM0NjZicC0zLAorICAgIC0weDEuOTIxZmI0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQ1CisgICAgMHgxLjhmOGI4NDdlYmMxM2I4OTk4ZWM1YjM3ZTcwNjUzNDFlcC0zLAorICAgIDB4MS45MjFmYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDYKKyAgICAtMHgxLjhmOGI4NDdlYmMxM2I4OTk4ZWM1YjM3ZTcwNjUzNDFlcC0zLAorICAgIC0weDEuOTIxZmI2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLjhmOGI4Njc0ZTU5MGEyNmFlYzNlYTAxZDMwYWVkNDg2cC0zLAorICAgIDB4MS45MjFmYjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAtMHgxLjhmOGI4Njc0ZTU5MGEyNmFlYzNlYTAxZDMwYWVkNDg2cC0zLAorICAgIC0weDEuOTIxZmI4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLjg3ZGUyOTNmNTY5NzE3YTQyYTNiZGIwMWFlYWUyMDYzcC0yLAorICAgIDB4MS45MjFmYjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTAKKyAgICAtMHgxLjg3ZGUyOTNmNTY5NzE3YTQyYTNiZGIwMWFlYWUyMDYzcC0yLAorICAgIC0weDEuOTIxZmI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzUxCisgICAgMHgxLjg3ZGUyYjE4NWQ1NDE3ZGNhODAwYjg1Y2ExMzE5MDQzcC0yLAorICAgIDB4MS45MjFmYjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTIKKyAgICAtMHgxLjg3ZGUyYjE4NWQ1NDE3ZGNhODAwYjg1Y2ExMzE5MDQzcC0yLAorICAgIC0weDEuOTIxZmI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLjg3ZGUyY2YxNjQxMGI2MWQ5YWZmN2U2MjhmYzg1M2IycC0yLAorICAgIDB4MS45MjFmYjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAtMHgxLjg3ZGUyY2YxNjQxMGI2MWQ5YWZmN2U2MjhmYzg1M2IycC0yLAorICAgIC0weDEuOTIxZmI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzU1CisgICAgMHgxLjZhMDllNTgyYWEzOTQ1NDYxYjVhOGEwNzg3ZDVhYjVicC0xLAorICAgIDB4MS45MjFmYjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAtMHgxLjZhMDllNTgyYWEzOTQ1NDYxYjVhOGEwNzg3ZDVhYjVicC0xLAorICAgIC0weDEuOTIxZmI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzU3CisgICAgMHgxLjZhMDllNmVjYjQxZmRkN2U2ODE4NzJjODU0ODg3MDE5cC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTgKKyAgICAtMHgxLjZhMDllNmVjYjQxZmRkN2U2ODE4NzJjODU0ODg3MDE5cC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLjZhMDllODU2YmUwNTBiYWNjZGU5YTc2OTYxZTg0YWE3cC0xLAorICAgIDB4MS45MjFmYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjAKKyAgICAtMHgxLjZhMDllODU2YmUwNTBiYWNjZGU5YTc2OTYxZTg0YWE3cC0xLAorICAgIC0weDEuOTIxZmI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLmZmZmZmZmZmZmZmZTY1NDZjYzM4MjExYzI2ZGFiZWVicC0xLAorICAgIDB4MS45MjFmYjRwMAorICB9LAorICB7IC8vIEVudHJ5IDc2MgorICAgIC0weDEuZmZmZmZmZmZmZmZlNjU0NmNjMzgyMTFjMjZkYWJlZWJwLTEsCisgICAgLTB4MS45MjFmYjRwMAorICB9LAorICB7IC8vIEVudHJ5IDc2MworICAgIDB4MS5mZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDIyOTMwZWQ4MnAtMSwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0MjI5MzBlZDgycC0xLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjUKKyAgICAweDEuZmZmZmZmZmZmZmY4ODc1ZDU4NWI2ZDZjZmNlOTdkOWNwLTEsCisgICAgMHgxLjkyMWZiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzY2CisgICAgLTB4MS5mZmZmZmZmZmZmZjg4NzVkNTg1YjZkNmNmY2U5N2Q5Y3AtMSwKKyAgICAtMHgxLjkyMWZiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzY3CisgICAgMHgxLjQ0NDJkMTg0Njk4ODMxZjE1YjYzMTViZmE2YjVhZTc1cC0yMywKKyAgICAweDEuOTIxZmI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAtMHgxLjQ0NDJkMTg0Njk4ODMxZjE1YjYzMTViZmE2YjVhZTc1cC0yMywKKyAgICAtMHgxLjkyMWZiNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY5CisgICAgLTB4MS43NzdhNWNmNzJjZWM1ZmQ2MTg5NmNiNGY0MGQxZGU3OXAtMjQsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcwCisgICAgMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgLTB4MS41ZGRlOTczZGNiMzQ2YWZhNDYyMDNjZGRjNmY3ZmU5N3AtMjIsCisgICAgMHgxLjkyMWZiOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcyCisgICAgMHgxLjVkZGU5NzNkY2IzNDZhZmE0NjIwM2NkZGM2ZjdmZTk3cC0yMiwKKyAgICAtMHgxLjkyMWZiOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgLTB4MS40NDQyZDE4NDY5ODQyMTc2Mjg4NzJlNTZlYjU4YjRjMXAtMjIsCisgICAgMHgxLjkyMWZiNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzc0CisgICAgMHgxLjQ0NDJkMTg0Njk4NDIxNzYyODg3MmU1NmViNThiNGMxcC0yMiwKKyAgICAtMHgxLjkyMWZiNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzc1CisgICAgMHgxLjc3N2E1Y2Y3MmNlYWNiZjZlYzY1N2U5NzdlZjc3MWYxcC0yMywKKyAgICAweDEuOTIxZmI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlYWNiZjZlYzY1N2U5NzdlZjc3MWYxcC0yMywKKyAgICAtMHgxLjkyMWZiNnAyCisgIH0sCisgIHsgLy8gRW50cnkgNzc3CisgICAgMHgxLjVkZGU5NzNkY2IxZmZmMTBiYjAzODg0NzllODJmNGJicC0yMSwKKyAgICAweDEuOTIxZmI4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAtMHgxLjVkZGU5NzNkY2IxZmZmMTBiYjAzODg0NzllODJmNGJicC0yMSwKKyAgICAtMHgxLjkyMWZiOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgLTB4MS40NDQyZDE4NDY5NzNkZjg5NWQxNzkxMDIzZGVkNTEzY3AtMjEsCisgICAgMHgxLjkyMWZiNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzgwCisgICAgMHgxLjQ0NDJkMTg0Njk3M2RmODk1ZDE3OTEwMjNkZWQ1MTNjcC0yMSwKKyAgICAtMHgxLjkyMWZiNHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzgxCisgICAgMHgxLjc3N2E1Y2Y3MmNlNDdjN2EzYmEwNGJjMmE2MDdhOWE3cC0yMiwKKyAgICAweDEuOTIxZmI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODIKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlNDdjN2EzYmEwNGJjMmE2MDdhOWE3cC0yMiwKKyAgICAtMHgxLjkyMWZiNnAzCisgIH0sCisgIHsgLy8gRW50cnkgNzgzCisgICAgMHgxLjVkZGU5NzNkY2FjZTRmNmE4ZTkwYmQxNWUwMDYxMGY4cC0yMCwKKyAgICAweDEuOTIxZmI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODQKKyAgICAtMHgxLjVkZGU5NzNkY2FjZTRmNmE4ZTkwYmQxNWUwMDYxMGY4cC0yMCwKKyAgICAtMHgxLjkyMWZiOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNzg1CisgICAgLTB4MS40NDQyZDE4NDY5MzJkN2Q2MmY1OTIwOTM4OGM3ZjdjYXAtMjAsCisgICAgMHgxLjkyMWZiNHA0CisgIH0sCisgIHsgLy8gRW50cnkgNzg2CisgICAgMHgxLjQ0NDJkMTg0NjkzMmQ3ZDYyZjU5MjA5Mzg4YzdmN2NhcC0yMCwKKyAgICAtMHgxLjkyMWZiNHA0CisgIH0sCisgIHsgLy8gRW50cnkgNzg3CisgICAgMHgxLjc3N2E1Y2Y3MmNjYjNlODc3ODhiODExMjI5ZTcyNWJjcC0yMSwKKyAgICAweDEuOTIxZmI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODgKKyAgICAtMHgxLjc3N2E1Y2Y3MmNjYjNlODc3ODhiODExMjI5ZTcyNWJjcC0yMSwKKyAgICAtMHgxLjkyMWZiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNzg5CisgICAgMHgxLjVkZGU5NzNkYzk4NzkwZDFkY2M2MDJiZDFiODZiY2NhcC0xOSwKKyAgICAweDEuOTIxZmI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAtMHgxLjVkZGU5NzNkYzk4NzkwZDFkY2M2MDJiZDFiODZiY2NhcC0xOSwKKyAgICAtMHgxLjkyMWZiOHA0CisgIH0sCisgIHsgLy8gRW50cnkgNzkxCisgICAgLTB4MS40NDQyZDE4NDY4MmViOTA5Nzg1ZmFkMThiY2I1ZGJmY3AtMTksCisgICAgMHgxLjkyMWZiNHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzkyCisgICAgMHgxLjQ0NDJkMTg0NjgyZWI5MDk3ODVmYWQxOGJjYjVkYmZjcC0xOSwKKyAgICAtMHgxLjkyMWZiNHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzkzCisgICAgMHgxLjc3N2E1Y2Y3MmM2NjQ2YmM2YzM4NjA3ZWIzNGVlYTEzcC0yMCwKKyAgICAweDEuOTIxZmI2cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAtMHgxLjc3N2E1Y2Y3MmM2NjQ2YmM2YzM4NjA3ZWIzNGVlYTEzcC0yMCwKKyAgICAtMHgxLjkyMWZiNnA1CisgIH0sCisgIHsgLy8gRW50cnkgNzk1CisgICAgMHgxLjVkZGU5NzNkYzQ2Yzk2NmYxNWEyNDAzZDYwY2QxNGQwcC0xOCwKKyAgICAweDEuOTIxZmI4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAtMHgxLjVkZGU5NzNkYzQ2Yzk2NmYxNWEyNDAzZDYwY2QxNGQwcC0xOCwKKyAgICAtMHgxLjkyMWZiOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNzk3CisgICAgLTB4MS40NDQyZDE4NDY0MWUzZGQ2OWM3ZWMzMmUxNGEyMDlhNXAtMTgsCisgICAgMHgxLjkyMWZiNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk4CisgICAgMHgxLjQ0NDJkMTg0NjQxZTNkZDY5YzdlYzMyZTE0YTIwOWE1cC0xOCwKKyAgICAtMHgxLjkyMWZiNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNzk5CisgICAgMHgxLjc3N2E1Y2Y3MmFkMjY3OTAzYWVjODExODc3OGIzYjVhcC0xOSwKKyAgICAweDEuOTIxZmI2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAtMHgxLjc3N2E1Y2Y3MmFkMjY3OTAzYWVjODExODc3OGIzYjVhcC0xOSwKKyAgICAtMHgxLjkyMWZiNnA2CisgIH0sCisgIHsgLy8gRW50cnkgODAxCisgICAgMHgxLjVkZGU5NzNkYjAwMGFjZTNmOTg1YTQ3M2VhMWZjMDM5cC0xNywKKyAgICAweDEuOTIxZmI4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAtMHgxLjVkZGU5NzNkYjAwMGFjZTNmOTg1YTQ3M2VhMWZjMDM5cC0xNywKKyAgICAtMHgxLjkyMWZiOHA2CisgIH0sCisgIHsgLy8gRW50cnkgODAzCisgICAgLTB4MS40NDQyZDE4NDUzZGM1MTBiMmQ0OTViOGJmNzliZDFjZXAtMTcsCisgICAgMHgxLjkyMWZiNHA3CisgIH0sCisgIHsgLy8gRW50cnkgODA0CisgICAgMHgxLjQ0NDJkMTg0NTNkYzUxMGIyZDQ5NWI4YmY3OWJkMWNlcC0xNywKKyAgICAtMHgxLjkyMWZiNHA3CisgIH0sCisgIHsgLy8gRW50cnkgODA1CisgICAgMHgxLjc3N2E1Y2Y3MjQ4MmVhZGY3NWM3MzFmOTcyNTA3NzE4cC0xOCwKKyAgICAweDEuOTIxZmI2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDYKKyAgICAtMHgxLjc3N2E1Y2Y3MjQ4MmVhZGY3NWM3MzFmOTcyNTA3NzE4cC0xOCwKKyAgICAtMHgxLjkyMWZiNnA3CisgIH0sCisgIHsgLy8gRW50cnkgODA3CisgICAgMHgxLjVkZGU5NzNkNWU1MTA2Yjc5MDNhMThhNTUyYWVmYzZlcC0xNiwKKyAgICAweDEuOTIxZmI4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAtMHgxLjVkZGU5NzNkNWU1MTA2Yjc5MDNhMThhNTUyYWVmYzZlcC0xNiwKKyAgICAtMHgxLjkyMWZiOHA3CisgIH0sCisgIHsgLy8gRW50cnkgODA5CisgICAgMHgxLjZhMDlmMTk0MGI4MGM4ZTI1Y2ZjOGMxMGQ0MjU3NmM2cC0xLAorICAgIDB4MS4yZDk3YzRwMQorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIC0weDEuNmEwOWYxOTQwYjgwYzhlMjVjZmM4YzEwZDQyNTc2YzZwLTEsCisgICAgLTB4MS4yZDk3YzRwMQorICB9LAorICB7IC8vIEVudHJ5IDgxMQorICAgIDB4MS42YTA5ZWJlYmU0MDg4OTI0NWQ1N2M1YzlkOTBhNmQ4MnAtMSwKKyAgICAweDEuMmQ5N2M2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTIKKyAgICAtMHgxLjZhMDllYmViZTQwODg5MjQ1ZDU3YzVjOWQ5MGE2ZDgycC0xLAorICAgIC0weDEuMmQ5N2M2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTMKKyAgICAweDEuNmEwOWU2NDNiYzc5YThjNzllZjRiZjE4NzcyN2UyNjlwLTEsCisgICAgMHgxLjJkOTdjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODE0CisgICAgLTB4MS42YTA5ZTY0M2JjNzlhOGM3OWVmNGJmMTg3NzI3ZTI2OXAtMSwKKyAgICAtMHgxLjJkOTdjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgLTB4MS42YTA5ZGYxOTcwNGNmMTQxMDhlMDkwMDBmZjYzNzRiZnAtMSwKKyAgICAweDEuZjZhN2EwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTYKKyAgICAweDEuNmEwOWRmMTk3MDRjZjE0MTA4ZTA5MDAwZmY2Mzc0YmZwLTEsCisgICAgLTB4MS5mNmE3YTBwMQorICB9LAorICB7IC8vIEVudHJ5IDgxNworICAgIC0weDEuNmEwOWU0YzE5N2Y4N2FjZTFjODFiNDMwMjJiZTM5YjFwLTEsCisgICAgMHgxLmY2YTdhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODE4CisgICAgMHgxLjZhMDllNGMxOTdmODdhY2UxYzgxYjQzMDIyYmUzOWIxcC0xLAorICAgIC0weDEuZjZhN2EycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAtMHgxLjZhMDllYTY5YmY4ZDYzYmNlNDA5NThmNWM0YjRmMTU1cC0xLAorICAgIDB4MS5mNmE3YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDgyMAorICAgIDB4MS42YTA5ZWE2OWJmOGQ2M2JjZTQwOTU4ZjVjNGI0ZjE1NXAtMSwKKyAgICAtMHgxLmY2YTdhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgODIxCisgICAgLTB4MS5mZmZmZmZmZmZmMDY1Y2IyNDBiYjhmOTUxOWQyYzZmMXAtMSwKKyAgICAweDEuMmQ5N2M0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAweDEuZmZmZmZmZmZmZjA2NWNiMjQwYmI4Zjk1MTlkMmM2ZjFwLTEsCisgICAgLTB4MS4yZDk3YzRwMgorICB9LAorICB7IC8vIEVudHJ5IDgyMworICAgIC0weDEuZmZmZmZmZmZmZmMzMjkzOTg5OGY0NjRhYWZjMmU3NGFwLTEsCisgICAgMHgxLjJkOTdjNnAyCisgIH0sCisgIHsgLy8gRW50cnkgODI0CisgICAgMHgxLmZmZmZmZmZmZmZjMzI5Mzk4OThmNDY0YWFmYzJlNzRhcC0xLAorICAgIC0weDEuMmQ5N2M2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGExZmI0ZTdicC0xLAorICAgIDB4MS4yZDk3YzhwMgorICB9LAorICB7IC8vIEVudHJ5IDgyNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmNWMwZDI2MzBlZTBhMWZiNGU3YnAtMSwKKyAgICAtMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODI3CisgICAgLTB4MS42YTA5ZjUyOTMxNmNkZTVhMTkwZDIzNWNjNGNjYjgyNXAtMSwKKyAgICAweDEuNWZkYmJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjgKKyAgICAweDEuNmEwOWY1MjkzMTZjZGU1YTE5MGQyMzVjYzRjY2I4MjVwLTEsCisgICAgLTB4MS41ZmRiYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDgyOQorICAgIC0weDEuNmEwOWU5ZDhlMjgyNjc3MDU2N2VhODE4YjJlODk5NjBwLTEsCisgICAgMHgxLjVmZGJiZXAyCisgIH0sCisgIHsgLy8gRW50cnkgODMwCisgICAgMHgxLjZhMDllOWQ4ZTI4MjY3NzA1NjdlYTgxOGIyZTg5OTYwcC0xLAorICAgIC0weDEuNWZkYmJlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzEKKyAgICAtMHgxLjZhMDlkZTg4OTMzZDZlMGMxZGI3OGUxZDdjZDE1MTczcC0xLAorICAgIDB4MS41ZmRiYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDgzMgorICAgIDB4MS42YTA5ZGU4ODkzM2Q2ZTBjMWRiNzhlMWQ3Y2QxNTE3M3AtMSwKKyAgICAtMHgxLjVmZGJjMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODMzCisgICAgMHgxLjZhMDlkMDMzZmE3MTVhNDA3YTZmMDNkMDFiOTExMTNmcC0xLAorICAgIDB4MS5jNDYzYThwMgorICB9LAorICB7IC8vIEVudHJ5IDgzNAorICAgIC0weDEuNmEwOWQwMzNmYTcxNWE0MDdhNmYwM2QwMWI5MTExM2ZwLTEsCisgICAgLTB4MS5jNDYzYThwMgorICB9LAorICB7IC8vIEVudHJ5IDgzNQorICAgIDB4MS42YTA5ZGI4NDRhMjhmODYzNTg1MWZkZjg4MTg1MTVlZnAtMSwKKyAgICAweDEuYzQ2M2FhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzYKKyAgICAtMHgxLjZhMDlkYjg0NGEyOGY4NjM1ODUxZmRmODgxODUxNWVmcC0xLAorICAgIC0weDEuYzQ2M2FhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAweDEuNmEwOWU2ZDQ5OTg2MTQwZjU1MjI2ZmM1ODY3MjYxMmNwLTEsCisgICAgMHgxLmM0NjNhY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODM4CisgICAgLTB4MS42YTA5ZTZkNDk5ODYxNDBmNTUyMjZmYzU4NjcyNjEyY3AtMSwKKyAgICAtMHgxLmM0NjNhY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgMHgxLmZmZmZmZmZmZmY5NTM5NzkzNGNhYzFmMjg1MzJkM2QzcC0xLAorICAgIDB4MS5mNmE3YTBwMgorICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIC0weDEuZmZmZmZmZmZmZjk1Mzk3OTM0Y2FjMWYyODUzMmQzZDNwLTEsCisgICAgLTB4MS5mNmE3YTBwMgorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIDB4MS5mZmZmZmZmZmZmZmE4ZTVhYWUyYmI5M2FlNTkwZjk4NHAtMSwKKyAgICAweDEuZjZhN2EycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmYThlNWFhZTJiYjkzYWU1OTBmOTg0cC0xLAorICAgIC0weDEuZjZhN2EycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICAweDEuZmZmZmZmZmZmZmRmZTMzYzI3OGNiNDhhNTllZTNlZjJwLTEsCisgICAgMHgxLmY2YTdhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZGZlMzNjMjc4Y2I0OGE1OWVlM2VmMnAtMSwKKyAgICAtMHgxLmY2YTdhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODQ1CisgICAgMHgxLjZhMGEwNDBlYTVjMzJiYTRhZmJlYjg2YTYxNGM1ZDE2cC0xLAorICAgIDB4MS4xNDc1Y2FwMworICB9LAorICB7IC8vIEVudHJ5IDg0NgorICAgIC0weDEuNmEwYTA0MGVhNWMzMmJhNGFmYmViODZhNjE0YzVkMTZwLTEsCisgICAgLTB4MS4xNDc1Y2FwMworICB9LAorICB7IC8vIEVudHJ5IDg0NworICAgIDB4MS42YTA5ZWQ2ZTA4ODIxMmIxZTI2MGE1MTMyZDY5NTliN3AtMSwKKyAgICAweDEuMTQ3NWNjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAtMHgxLjZhMDllZDZlMDg4MjEyYjFlMjYwYTUxMzJkNjk1OWI3cC0xLAorICAgIC0weDEuMTQ3NWNjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDkKKyAgICAweDEuNmEwOWQ2Y2Q2OWQ2ZWZkMWE2ZmEyZGQ0YzYxN2NiYmVwLTEsCisgICAgMHgxLjE0NzVjZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODUwCisgICAgLTB4MS42YTA5ZDZjZDY5ZDZlZmQxYTZmYTJkZDRjNjE3Y2JiZXAtMSwKKyAgICAtMHgxLjE0NzVjZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgMHgxLmY5OTkwZTkxYTY0YWU0ODY3NTc4NzhiZGZlZTBmNzAzcC0yMCwKKyAgICAweDEuMmQ5N2M0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTIKKyAgICAtMHgxLmY5OTkwZTkxYTY0YWU0ODY3NTc4NzhiZGZlZTBmNzAzcC0yMCwKKyAgICAtMHgxLjJkOTdjNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgMHgxLmYzMzIxZDIzNGVkODEyOGFhYmIwNDk5YTQzYjRkZWYycC0yMSwKKyAgICAweDEuMmQ5N2M2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAtMHgxLmYzMzIxZDIzNGVkODEyOGFhYmIwNDk5YTQzYjRkZWYycC0yMSwKKyAgICAtMHgxLjJkOTdjNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODU1CisgICAgLTB4MS45OWJjNWI5NjFiMWFjMjk2ZGJlMTk4MGZkMmM4OTBhMHAtMjYsCisgICAgMHgxLjJkOTdjOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgMHgxLjk5YmM1Yjk2MWIxYWMyOTZkYmUxOTgwZmQyYzg5MGEwcC0yNiwKKyAgICAtMHgxLjJkOTdjOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgLTB4MS42YTA5YzE0ZTgzZjhkYjA4MGQxMjIzZjg4N2NjMTJlY3AtMSwKKyAgICAweDEuNDZiOWMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTgKKyAgICAweDEuNmEwOWMxNGU4M2Y4ZGIwODBkMTIyM2Y4ODdjYzEyZWNwLTEsCisgICAgLTB4MS40NmI5YzBwMworICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIC0weDEuNmEwOWQ3ZWYyM2ZiZWMxZWQ4MTJlODA3YmViMDQ5MmZwLTEsCisgICAgMHgxLjQ2YjljMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgMHgxLjZhMDlkN2VmMjNmYmVjMWVkODEyZTgwN2JlYjA0OTJmcC0xLAorICAgIC0weDEuNDZiOWMycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAtMHgxLjZhMDllZThmYzI5NGYzNWRiM2VmY2U1NjUzNjVhZjg5cC0xLAorICAgIDB4MS40NmI5YzRwMworICB9LAorICB7IC8vIEVudHJ5IDg2MgorICAgIDB4MS42YTA5ZWU4ZmMyOTRmMzVkYjNlZmNlNTY1MzY1YWY4OXAtMSwKKyAgICAtMHgxLjQ2YjljNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgLTB4MS5mZmZmZmZmZmZlNGM5NmIzOTdkOTUxY2IyMTg2MWM5NXAtMSwKKyAgICAweDEuNWZkYmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAweDEuZmZmZmZmZmZmZTRjOTZiMzk3ZDk1MWNiMjE4NjFjOTVwLTEsCisgICAgLTB4MS41ZmRiYmNwMworICB9LAorICB7IC8vIEVudHJ5IDg2NQorICAgIC0weDEuZmZmZmZmZmZmZmU4NTEyYWViYjU2YzllNzViNDE5NDFwLTEsCisgICAgMHgxLjVmZGJiZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODY2CisgICAgMHgxLmZmZmZmZmZmZmZlODUxMmFlYmI1NmM5ZTc1YjQxOTQxcC0xLAorICAgIC0weDEuNWZkYmJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjcKKyAgICAtMHgxLmZmZmZmZmZmZmY4NDBiYTIzZjkxYzljYjQ5YTEwYjI3cC0xLAorICAgIDB4MS41ZmRiYzBwMworICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIDB4MS5mZmZmZmZmZmZmODQwYmEyM2Y5MWM5Y2I0OWExMGIyN3AtMSwKKyAgICAtMHgxLjVmZGJjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODY5CisgICAgLTB4MS42YTBhMTJmNDE5N2M5MGEwZWU0YTA5NGI2Mzc3YWEyM3AtMSwKKyAgICAweDEuNzhmZGI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzAKKyAgICAweDEuNmEwYTEyZjQxOTdjOTBhMGVlNGEwOTRiNjM3N2FhMjNwLTEsCisgICAgLTB4MS43OGZkYjZwMworICB9LAorICB7IC8vIEVudHJ5IDg3MQorICAgIC0weDEuNmEwOWZjNTM3ZDI5Y2YxMzFkNjcxMDk5MWJlYmFiZWRwLTEsCisgICAgMHgxLjc4ZmRiOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODcyCisgICAgMHgxLjZhMDlmYzUzN2QyOWNmMTMxZDY3MTA5OTFiZWJhYmVkcC0xLAorICAgIC0weDEuNzhmZGI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAtMHgxLjZhMDllNWIyZGY2ZDAzODhmOTA3MGM0MzQwZjNlNjY5cC0xLAorICAgIDB4MS43OGZkYmFwMworICB9LAorICB7IC8vIEVudHJ5IDg3NAorICAgIDB4MS42YTA5ZTViMmRmNmQwMzg4ZjkwNzBjNDM0MGYzZTY2OXAtMSwKKyAgICAtMHgxLjc4ZmRiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgODc1CisgICAgMHgxLjZhMDljOTA5YWRkNGRiZjMyMjUzYTM5ZDVjMzA2MzA4cC0xLAorICAgIDB4MS5hYjQxYWVwMworICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIC0weDEuNmEwOWM5MDlhZGQ0ZGJmMzIyNTNhMzlkNWMzMDYzMDhwLTEsCisgICAgLTB4MS5hYjQxYWVwMworICB9LAorICB7IC8vIEVudHJ5IDg3NworICAgIDB4MS42YTA5ZGZhYTRkNWMzYTdmMDU2ZjNlNjFhMzY1YjI5ZXAtMSwKKyAgICAweDEuYWI0MWIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAtMHgxLjZhMDlkZmFhNGQ1YzNhN2YwNTZmM2U2MWEzNjViMjllcC0xLAorICAgIC0weDEuYWI0MWIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAweDEuNmEwOWY2NGFlYjc5OGYyYjNlM2Q5YjE2ZThlM2M0MTJwLTEsCisgICAgMHgxLmFiNDFiMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgLTB4MS42YTA5ZjY0YWViNzk4ZjJiM2UzZDliMTZlOGUzYzQxMnAtMSwKKyAgICAtMHgxLmFiNDFiMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODgxCisgICAgMHgxLmZmZmZmZmZmZmMyNjBkNmZmYjhmNGNkOGFiM2ZkMDIwcC0xLAorICAgIDB4MS5jNDYzYThwMworICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0weDEuZmZmZmZmZmZmYzI2MGQ2ZmZiOGY0Y2Q4YWIzZmQwMjBwLTEsCisgICAgLTB4MS5jNDYzYThwMworICB9LAorICB7IC8vIEVudHJ5IDg4MworICAgIDB4MS5mZmZmZmZmZmZmMTJkODliYjA4NGRkNzYyODQ4YjNkNnAtMSwKKyAgICAweDEuYzQ2M2FhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAtMHgxLmZmZmZmZmZmZmYxMmQ4OWJiMDg0ZGQ3NjI4NDhiM2Q2cC0xLAorICAgIC0weDEuYzQ2M2FhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAweDEuZmZmZmZmZmZmZmZmYTNjNzY1N2I4NWU1YjQ0YmJkNDRwLTEsCisgICAgMHgxLmM0NjNhY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZhM2M3NjU3Yjg1ZTViNDRiYmQ0NHAtMSwKKyAgICAtMHgxLmM0NjNhY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODg3CisgICAgMHgxLjZhMGEwYjM4ZjEzNGEzMjk1YTBiMzg2ZTQyZjFjYTdhcC0xLAorICAgIDB4MS5kZDg1YTRwMworICB9LAorICB7IC8vIEVudHJ5IDg4OAorICAgIC0weDEuNmEwYTBiMzhmMTM0YTMyOTVhMGIzODZlNDJmMWNhN2FwLTEsCisgICAgLTB4MS5kZDg1YTRwMworICB9LAorICB7IC8vIEVudHJ5IDg4OQorICAgIDB4MS42YTA5ZjQ5ODU0NjYyZWZmMWIzNTc1NWExMjkwNDRhN3AtMSwKKyAgICAweDEuZGQ4NWE2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAtMHgxLjZhMDlmNDk4NTQ2NjJlZmYxYjM1NzU1YTEyOTA0NGE3cC0xLAorICAgIC0weDEuZGQ4NWE2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTEKKyAgICAweDEuNmEwOWRkZjdiNjJkYjBlMDQ0MGI2YTQyNjIyMDNiMTFwLTEsCisgICAgMHgxLmRkODVhOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgLTB4MS42YTA5ZGRmN2I2MmRiMGUwNDQwYjZhNDI2MjIwM2IxMXAtMSwKKyAgICAtMHgxLmRkODVhOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgMHgxLjRhYTljMmYyYzE5YTA2MmIxOGEwMTdiY2Q1NDI0ZmVhcC0yMCwKKyAgICAweDEuZjZhN2EwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAtMHgxLjRhYTljMmYyYzE5YTA2MmIxOGEwMTdiY2Q1NDI0ZmVhcC0yMCwKKyAgICAtMHgxLmY2YTdhMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgMHgxLjJhYTcwYmNiMDdkM2E0MDc4MTUxMGQyMTM2NTJlNDNhcC0yMiwKKyAgICAweDEuZjZhN2EycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTYKKyAgICAtMHgxLjJhYTcwYmNiMDdkM2E0MDc4MTUxMGQyMTM2NTJlNDNhcC0yMiwKKyAgICAtMHgxLmY2YTdhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODk3CisgICAgLTB4MS42YWFjN2ExYTdiZjViYmQ0OTU3MmZmYjhkNzc0OTkyMnAtMjEsCisgICAgMHgxLmY2YTdhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgMHgxLjZhYWM3YTFhN2JmNWJiZDQ5NTcyZmZiOGQ3NzQ5OTIycC0yMSwKKyAgICAtMHgxLmY2YTdhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk5CisgICAgLTB4MS42YTA5YTM4Mzk1MzEyNDA5Njg5ODM0MGY5MTY4YjlkNXAtMSwKKyAgICAweDEuMDdlNGNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDAKKyAgICAweDEuNmEwOWEzODM5NTMxMjQwOTY4OTgzNDBmOTE2OGI5ZDVwLTEsCisgICAgLTB4MS4wN2U0Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC0weDEuNmEwOWQwYzRkNzg2OTk2MWM0N2E5YjBiOTY4Y2M5MTBwLTEsCisgICAgMHgxLjA3ZTRjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTAyCisgICAgMHgxLjZhMDlkMGM0ZDc4Njk5NjFjNDdhOWIwYjk2OGNjOTEwcC0xLAorICAgIC0weDEuMDdlNGNlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAtMHgxLjZhMDlmZTA2MTQzM2U3NzcwZDAwY2E1OWQ1YTU2MjUxcC0xLAorICAgIDB4MS4wN2U0ZDBwNAorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIDB4MS42YTA5ZmUwNjE0MzNlNzc3MGQwMGNhNTlkNWE1NjI1MXAtMSwKKyAgICAtMHgxLjA3ZTRkMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTA1CisgICAgLTB4MS5mZmZmZmZmZmY5MjE5ZGFlNWZlZGExYjUzOTMzNTgwM3AtMSwKKyAgICAweDEuMTQ3NWNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICAweDEuZmZmZmZmZmZmOTIxOWRhZTVmZWRhMWI1MzkzMzU4MDNwLTEsCisgICAgLTB4MS4xNDc1Y2FwNAorICB9LAorICB7IC8vIEVudHJ5IDkwNworICAgIC0weDEuZmZmZmZmZmZmZjlkNTU2ZThjMGJmMGE4MGQ2MTA4MDhwLTEsCisgICAgMHgxLjE0NzVjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTA4CisgICAgMHgxLmZmZmZmZmZmZmY5ZDU1NmU4YzBiZjBhODBkNjEwODA4cC0xLAorICAgIC0weDEuMTQ3NWNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDkKKyAgICAtMHgxLmZmZmZmZmZmZmUxOTBkMmViODJlNzRlZmQyMDkzMjE1cC0xLAorICAgIDB4MS4xNDc1Y2VwNAorICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIDB4MS5mZmZmZmZmZmZlMTkwZDJlYjgyZTc0ZWZkMjA5MzIxNXAtMSwKKyAgICAtMHgxLjE0NzVjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTExCisgICAgLTB4MS42YTBhMWExZTY0YTI4ZWVlMjM4ZGM4NTI4NDZhYWNkNXAtMSwKKyAgICAweDEuMjEwNmM4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTIKKyAgICAweDEuNmEwYTFhMWU2NGEyOGVlZTIzOGRjODUyODQ2YWFjZDVwLTEsCisgICAgLTB4MS4yMTA2YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDkxMworICAgIC0weDEuNmEwOWVjZGQyYjc4NGI2OTkwMzRlZTgxMDI2NzBlMjdwLTEsCisgICAgMHgxLjIxMDZjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgMHgxLjZhMDllY2RkMmI3ODRiNjk5MDM0ZWU4MTAyNjcwZTI3cC0xLAorICAgIC0weDEuMjEwNmNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTUKKyAgICAtMHgxLjZhMDliZjliZWNhNWUwMzE4ODMwMTYzOWMwOWVkNTc0cC0xLAorICAgIDB4MS4yMTA2Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkxNgorICAgIDB4MS42YTA5YmY5YmVjYTVlMDMxODgzMDE2MzljMDllZDU3NHAtMSwKKyAgICAtMHgxLjIxMDZjY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTE3CisgICAgLTB4MS5mOTk5MGU5MWEyNzBkM2JjMWMwMmY0ZjY5ZjQ4ZTY3NXAtMTksCisgICAgMHgxLjJkOTdjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE4CisgICAgMHgxLmY5OTkwZTkxYTI3MGQzYmMxYzAyZjRmNjlmNDhlNjc1cC0xOSwKKyAgICAtMHgxLjJkOTdjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgLTB4MS5mMzMyMWQyMzRkZWFjZDZmM2FmZDc1MDM5Njg1MDEyZnAtMjAsCisgICAgMHgxLjJkOTdjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgMHgxLmYzMzIxZDIzNGRlYWNkNmYzYWZkNzUwMzk2ODUwMTJmcC0yMCwKKyAgICAtMHgxLjJkOTdjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIxCisgICAgMHgxLjk5YmM1Yjk2MWIxYWExYzllODAyMzA3NGYzNDA2ZmQ5cC0yNSwKKyAgICAweDEuMmQ5N2M4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjIKKyAgICAtMHgxLjk5YmM1Yjk2MWIxYWExYzllODAyMzA3NGYzNDA2ZmQ5cC0yNSwKKyAgICAtMHgxLjJkOTdjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIzCisgICAgMHgxLjZhMDk5NDllMWNlMWVjNTAxYWZjYjM1ZDczMWJmNjJjcC0xLAorICAgIDB4MS4zYTI4YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIC0weDEuNmEwOTk0OWUxY2UxZWM1MDFhZmNiMzVkNzMxYmY2MmNwLTEsCisgICAgLTB4MS4zYTI4YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNQorICAgIDB4MS42YTA5YzFkZjYxMTQxMDBjNjVkMWZmNmM1NTc1NWU3MnAtMSwKKyAgICAweDEuM2EyOGM0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjYKKyAgICAtMHgxLjZhMDljMWRmNjExNDEwMGM2NWQxZmY2YzU1NzU1ZTcycC0xLAorICAgIC0weDEuM2EyOGM0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjcKKyAgICAweDEuNmEwOWVmMjA5ZjllMGNjMTMzMjRkZGYyYjM2MTU1M2ZwLTEsCisgICAgMHgxLjNhMjhjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI4CisgICAgLTB4MS42YTA5ZWYyMDlmOWUwY2MxMzMyNGRkZjJiMzYxNTUzZnAtMSwKKyAgICAtMHgxLjNhMjhjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI5CisgICAgMHgxLmZmZmZmZmZmZjUzZjQ3NmVjNGY1OWYyNmM0YmNkZmEwcC0xLAorICAgIDB4MS40NmI5YzBwNAorICB9LAorICB7IC8vIEVudHJ5IDkzMAorICAgIC0weDEuZmZmZmZmZmZmNTNmNDc2ZWM0ZjU5ZjI2YzRiY2RmYTBwLTEsCisgICAgLTB4MS40NmI5YzBwNAorICB9LAorICB7IC8vIEVudHJ5IDkzMQorICAgIDB4MS5mZmZmZmZmZmZlNWQyMDk3YjM0MzM0YWQ2NzlkZDdhNHAtMSwKKyAgICAweDEuNDZiOWMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzIKKyAgICAtMHgxLmZmZmZmZmZmZmU1ZDIwOTdiMzQzMzRhZDY3OWRkN2E0cC0xLAorICAgIC0weDEuNDZiOWMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzMKKyAgICAweDEuZmZmZmZmZmZmZjdhZjljMGExOWEwMDVjNTY1YzZhZjdwLTEsCisgICAgMHgxLjQ2YjljNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM0CisgICAgLTB4MS5mZmZmZmZmZmZmN2FmOWMwYTE5YTAwNWM1NjVjNmFmN3AtMSwKKyAgICAtMHgxLjQ2YjljNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM1CisgICAgMHgxLjZhMGEyOTAzZDc3MzkyNWIwNTJmYjAwNmFjNjcwYzIzcC0xLAorICAgIDB4MS41MzRhYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNgorICAgIC0weDEuNmEwYTI5MDNkNzczOTI1YjA1MmZiMDA2YWM2NzBjMjNwLTEsCisgICAgLTB4MS41MzRhYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNworICAgIDB4MS42YTA5ZmJjMmEwMjVmZGFlOTE4NDY2ZmEwMDE0MjE0M3AtMSwKKyAgICAweDEuNTM0YWMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzgKKyAgICAtMHgxLjZhMDlmYmMyYTAyNWZkYWU5MTg0NjZmYTAwMTQyMTQzcC0xLAorICAgIC0weDEuNTM0YWMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzkKKyAgICAweDEuNmEwOWNlODE2MzMwNDExMzEzNWE2OGFlOTNkM2ZhMGVwLTEsCisgICAgMHgxLjUzNGFjMnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQwCisgICAgLTB4MS42YTA5Y2U4MTYzMzA0MTEzMTM1YTY4YWU5M2QzZmEwZXAtMSwKKyAgICAtMHgxLjUzNGFjMnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQxCisgICAgMHgxLjRkZGQzYmE5ZWNiMTlkNmJiNmVhMTYxMTIwZTQ0N2I5cC0xOSwKKyAgICAweDEuNWZkYmJjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDIKKyAgICAtMHgxLjRkZGQzYmE5ZWNiMTlkNmJiNmVhMTYxMTIwZTQ0N2I5cC0xOSwKKyAgICAtMHgxLjVmZGJiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTQzCisgICAgMHgxLjM3NzRlZWE3Yjg5ZDgwZGY3ODE2ZmUyMDhlYzY5ZmMwcC0yMSwKKyAgICAweDEuNWZkYmJlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDQKKyAgICAtMHgxLjM3NzRlZWE3Yjg5ZDgwZGY3ODE2ZmUyMDhlYzY5ZmMwcC0yMSwKKyAgICAtMHgxLjVmZGJiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ1CisgICAgLTB4MS42NDQ1ODhhYzIzMzRhM2Q1NDUyZDk5NjAyODJjZjgwZHAtMjAsCisgICAgMHgxLjVmZGJjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ2CisgICAgMHgxLjY0NDU4OGFjMjMzNGEzZDU0NTJkOTk2MDI4MmNmODBkcC0yMCwKKyAgICAtMHgxLjVmZGJjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ3CisgICAgLTB4MS42YTA5YjJmOWVhMDQ5ZTg1NWUzNWNhOWNlN2UwZDg5YXAtMSwKKyAgICAweDEuNmM2Y2JhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDgKKyAgICAweDEuNmEwOWIyZjllYTA0OWU4NTVlMzVjYTljZTdlMGQ4OWFwLTEsCisgICAgLTB4MS42YzZjYmFwNAorICB9LAorICB7IC8vIEVudHJ5IDk0OQorICAgIC0weDEuNmEwOWUwM2IyYTZiNDljNjEzNGM2N2I0MmJhZWU2NjhwLTEsCisgICAgMHgxLjZjNmNiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTUwCisgICAgMHgxLjZhMDllMDNiMmE2YjQ5YzYxMzRjNjdiNDJiYWVlNjY4cC0xLAorICAgIC0weDEuNmM2Y2JjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAtMHgxLjZhMGEwZDdjNjUyOWNkODVkYmJiM2E1YzJjZDNmYWU1cC0xLAorICAgIDB4MS42YzZjYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDk1MgorICAgIDB4MS42YTBhMGQ3YzY1MjljZDg1ZGJiYjNhNWMyY2QzZmFlNXAtMSwKKyAgICAtMHgxLjZjNmNiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTUzCisgICAgLTB4MS5mZmZmZmZmZmYwN2YwYWIxMmFhOGY0MWYyOWMxNTM5MnAtMSwKKyAgICAweDEuNzhmZGI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTQKKyAgICAweDEuZmZmZmZmZmZmMDdmMGFiMTJhYThmNDFmMjljMTUzOTJwLTEsCisgICAgLTB4MS43OGZkYjZwNAorICB9LAorICB7IC8vIEVudHJ5IDk1NQorICAgIC0weDEuZmZmZmZmZmZmYzNmMDU0MmRiMjFkY2JjYjg0N2RhYzNwLTEsCisgICAgMHgxLjc4ZmRiOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTU2CisgICAgMHgxLmZmZmZmZmZmZmMzZjA1NDJkYjIxZGNiY2I4NDdkYWMzcC0xLAorICAgIC0weDEuNzhmZGI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZWZmZDQ4YmFjNzNlZmU2MGM3ZmNmcC0xLAorICAgIDB4MS43OGZkYmFwNAorICB9LAorICB7IC8vIEVudHJ5IDk1OAorICAgIDB4MS5mZmZmZmZmZmZmZmVmZmQ0OGJhYzczZWZlNjBjN2ZjZnAtMSwKKyAgICAtMHgxLjc4ZmRiYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTU5CisgICAgLTB4MS42YTBhMzdlOTQ5YTdhZDY5OGEzMjIzNGM3M2U1YWZiYXAtMSwKKyAgICAweDEuODU4ZWI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjAKKyAgICAweDEuNmEwYTM3ZTk0OWE3YWQ2OThhMzIyMzRjNzNlNWFmYmFwLTEsCisgICAgLTB4MS44NThlYjRwNAorICB9LAorICB7IC8vIEVudHJ5IDk2MQorICAgIC0weDEuNmEwYTBhYTgxNDM2YzdhOGQzM2EzOGQ3MDQwMzBkMTRwLTEsCisgICAgMHgxLjg1OGViNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTYyCisgICAgMHgxLjZhMGEwYWE4MTQzNmM3YThkMzNhMzhkNzA0MDMwZDE0cC0xLAorICAgIC0weDEuODU4ZWI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjMKKyAgICAtMHgxLjZhMDlkZDY2ZDkxZGI5YmQ3YmYzNTVmYWZmMDhmMTk0cC0xLAorICAgIDB4MS44NThlYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk2NAorICAgIDB4MS42YTA5ZGQ2NmQ5MWRiOWJkN2JmMzU1ZmFmZjA4ZjE5NHAtMSwKKyAgICAtMHgxLjg1OGViOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTY1CisgICAgMHgxLmMwNDhiMzhhOGJiZjU5ZjQxNGZlYzcwNzkyMDk5MjZlcC0zLAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjYKKyAgICAtMHgxLmMwNDhiMzhhOGJiZjU5ZjQxNGZlYzcwNzkyMDk5MjZlcC0zLAorICAgIC0weDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgOTY3CisgICAgMHgxLmZmZjZkZmQ0MmRjNTQ0MzBiYzA1NzZiMDBhODhiZDk0cC0xLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjgKKyAgICAtMHgxLmZmZjZkZmQ0MmRjNTQ0MzBiYzA1NzZiMDBhODhiZDk0cC0xLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgOTY5CisgICAgLTB4MS5kNjYzN2QwNzAzNDdlZTk0ZTgzMDQ0NWU3NjQ4NjcyN3AtMSwKKyAgICAweDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgOTcwCisgICAgMHgxLmQ2NjM3ZDA3MDM0N2VlOTRlODMwNDQ1ZTc2NDg2NzI3cC0xLAorICAgIC0weDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgOTcxCisgICAgLTB4MS4wZTUyODM2NjFkZjBjYTBmNTVhYjYxNjdlMTQ1MTRhMXAtMSwKKyAgICAweDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgOTcyCisgICAgMHgxLjBlNTI4MzY2MWRmMGNhMGY1NWFiNjE2N2UxNDUxNGExcC0xLAorICAgIC0weDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgOTczCisgICAgLTB4MS44NmRjYzliYWJiMGE0MGVlODc1Y2FiM2I5ZTg5Mjc1N3AtMSwKKyAgICAweDEucDI3CisgIH0sCisgIHsgLy8gRW50cnkgOTc0CisgICAgMHgxLjg2ZGNjOWJhYmIwYTQwZWU4NzVjYWIzYjllODkyNzU3cC0xLAorICAgIC0weDEucDI3CisgIH0sCisgIHsgLy8gRW50cnkgOTc1CisgICAgMHgxLjE3MTk5OWI2MjlmZDViNjM1N2M2ZGZmNGQ3ODI3ZDk1cC0xLAorICAgIDB4MS4wMDAwMDJwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzYKKyAgICAtMHgxLjE3MTk5OWI2MjlmZDViNjM1N2M2ZGZmNGQ3ODI3ZDk1cC0xLAorICAgIC0weDEuMDAwMDAycDI3CisgIH0sCisgIHsgLy8gRW50cnkgOTc3CisgICAgLTB4MS5lNTdlYzA5MjIxOTczNTUwZDFlNTc5OGRjZjBjZDI1ZHAtMSwKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTc4CisgICAgMHgxLmU1N2VjMDkyMjE5NzM1NTBkMWU1Nzk4ZGNmMGNkMjVkcC0xLAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgLTB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKKyAgICAweDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTgwCisgICAgMHgxLjhmMjJmODQzM2Q2ZWRmZTlhNGFmZjk2MjI1MTdjYWE5cC0xLAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTgxCisgICAgMHgxLmM5YjBjNzI2NWM1NDNmODBmYWYwMTc0MWM2NDU4NTYwcC0xLAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODIKKyAgICAtMHgxLmM5YjBjNzI2NWM1NDNmODBmYWYwMTc0MWM2NDU4NTYwcC0xLAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTgzCisgICAgLTB4MS44MzdiOThhMzE4NWQxNDY2ZDg1MmYwYTdkYzFkMjQ4ZXAtMSwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODQKKyAgICAweDEuODM3Yjk4YTMxODVkMTQ2NmQ4NTJmMGE3ZGMxZDI0OGVwLTEsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDk4NQorICAgIC0weDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTg2CisgICAgMHgxLjgzN2I5ZGRkYzFlYWU3MGNlOTgwNTVhMGU0NTBkOTNjcC0xLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODcKKyAgICAtMHgxLjgzN2JhODUzMTRiZGU1MmIxZTljMmM4ZWQyNzEyYzcycC0xLAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDk4OAorICAgIDB4MS44MzdiYTg1MzE0YmRlNTJiMWU5YzJjOGVkMjcxMmM3MnAtMSwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgOTg5CisgICAgMHgxLmQxOGY3MDU3M2RhNjMwMTJmYTFjMGUzZDJlYmJlNTljcC0xLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDk5MAorICAgIC0weDEuZDE4ZjcwNTczZGE2MzAxMmZhMWMwZTNkMmViYmU1OWNwLTEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDk5MQorICAgIDB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTIKKyAgICAtMHgxLmQxOGY2ZWFkMWI0NDVkZmFiODQ4MTg4MDA5YzliYjk1cC0xLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTMKKyAgICAweDEuZDE4ZjZiNThkNjZhZTcxMTBiMmI2ZjdjZmZiYTZlYzFwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTk0CisgICAgLTB4MS5kMThmNmI1OGQ2NmFlNzExMGIyYjZmN2NmZmJhNmVjMXAtMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgOTk1CisgICAgMHgxLmFlZDU0N2RiZWU0ZDBkODY4MGQwODEzZDFlNGUyMWQwcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTYKKyAgICAtMHgxLmFlZDU0N2RiZWU0ZDBkODY4MGQwODEzZDFlNGUyMWQwcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTk3CisgICAgMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk5OAorICAgIC0weDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIDB4MS5hZWQ1NGIxOWQ1Y2Q3OTM3Y2JmNDFlZDQwOGNhMGE1MnAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAwCisgICAgLTB4MS5hZWQ1NGIxOWQ1Y2Q3OTM3Y2JmNDFlZDQwOGNhMGE1MnAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMQorICAgIDB4MS5lYWVlODU4MzVkZGU1YjcxYmVlYzdkOGQ5ODA1MjExMnAtMiwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAwMgorICAgIC0weDEuZWFlZTg1ODM1ZGRlNWI3MWJlZWM3ZDhkOTgwNTIxMTJwLTIsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAzCisgICAgMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA0CisgICAgLTB4MS5lYWVlODc0NGIwNWVmZTg3NjRiYzM2NGZkODM3YjY2NnAtMiwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMDUKKyAgICAweDEuZWFlZThhYzc1NTVlZDQ3ZmNhNzdjZWVkMTc0YzhlYTBwLTIsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMDYKKyAgICAtMHgxLmVhZWU4YWM3NTU1ZWQ0N2ZjYTc3Y2VlZDE3NGM4ZWEwcC0yLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNworICAgIDB4MS5mYWFlZWI1ZjFjMGQ2M2Y0M2M2ZjNlYzQ2MDExNjkwZnAtMywKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAwOAorICAgIC0weDEuZmFhZWViNWYxYzBkNjNmNDNjNmYzZWM0NjAxMTY5MGZwLTMsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA5CisgICAgMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEwCisgICAgLTB4MS5mYWFlZWQ0ZjMxNTc2YmE4OWRlYmRjNzM1MWU4YjFhZXAtMywKKyAgICAtMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMTEKKyAgICAweDEuZmFhZWYxMmY1YmViMWMxMDk0NDczZDNjMzM2NWI5ZTFwLTMsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMTIKKyAgICAtMHgxLmZhYWVmMTJmNWJlYjFjMTA5NDQ3M2QzYzMzNjViOWUxcC0zLAorICAgIC0weDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMworICAgIDB4MS5mZWFhZWNlYzZkOGUzMGNkNTY5NTBlYjJlYmRjZWJkNHAtNCwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAxNAorICAgIC0weDEuZmVhYWVjZWM2ZDhlMzBjZDU2OTUwZWIyZWJkY2ViZDRwLTQsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE1CisgICAgMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE2CisgICAgLTB4MS5mZWFhZWVlODZlZTM1Y2EwNjlhODY3MjFmODlmODVhNXAtNCwKKyAgICAtMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMTcKKyAgICAweDEuZmVhYWYyZTA3MThkOWM1NjhjOTQ0MmM4MTU0NWNkNjJwLTQsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMTgKKyAgICAtMHgxLmZlYWFmMmUwNzE4ZDljNTY4Yzk0NDJjODE1NDVjZDYycC00LAorICAgIC0weDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAxOQorICAgIDB4MS5mZmFhYWNlZmQ0ZDg1NWFjODIyNzc5OWYzZTI2M2Q3YXAtNSwKKyAgICAweDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAyMAorICAgIC0weDEuZmZhYWFjZWZkNGQ4NTVhYzgyMjc3OTlmM2UyNjNkN2FwLTUsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIxCisgICAgMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIyCisgICAgLTB4MS5mZmFhYWVlZWQ0ZWRhYjRiYTRiMzY1ZWQyNWE5NTk1ZnAtNSwKKyAgICAtMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjMKKyAgICAweDEuZmZhYWIyZWNkNTE4NTA4YWU5YmM3MzBhMTY1YThlYWRwLTUsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMjQKKyAgICAtMHgxLmZmYWFiMmVjZDUxODUwOGFlOWJjNzMwYTE2NWE4ZWFkcC01LAorICAgIC0weDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNQorICAgIDB4MS5mZmVhYThlZjJlODU5MzM4ODNjMGRjMzM0NjIzODdiNXAtNiwKKyAgICAweDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAyNgorICAgIC0weDEuZmZlYWE4ZWYyZTg1OTMzODgzYzBkYzMzNDYyMzg3YjVwLTYsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI3CisgICAgMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI4CisgICAgLTB4MS5mZmVhYWFlZWVlODZlOGNhZmU0MTM3NmQ0NzkxOTU3OXAtNiwKKyAgICAtMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMjkKKyAgICAweDEuZmZlYWFlZWU2ZTg5OTI3MDAzNDEzYWJlNjRlOWRjMjFwLTYsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMzAKKyAgICAtMHgxLmZmZWFhZWVlNmU4OTkyNzAwMzQxM2FiZTY0ZTlkYzIxcC02LAorICAgIC0weDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTAzMQorICAgIDB4MS5mZmZhYThhZWZlZWQzOTZmZmZmYzYzNjMxM2QwYmE2ZHAtNywKKyAgICAweDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTAzMgorICAgIC0weDEuZmZmYWE4YWVmZWVkMzk2ZmZmZmM2MzYzMTNkMGJhNmRwLTcsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMzCisgICAgMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgLTB4MS5mZmZhYWFhZWVlZWQ0ZWQ1NDljNjU2MGY4ODllZTUzMXAtNywKKyAgICAtMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMzUKKyAgICAweDEuZmZmYWFlYWVjZWVkNzkzZmRlNWExYTljYTViYjFlZTZwLTcsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwMzYKKyAgICAtMHgxLmZmZmFhZWFlY2VlZDc5M2ZkZTVhMWE5Y2E1YmIxZWU2cC03LAorICAgIC0weDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAzNworICAgIDB4MS5mZmZmZmRmYWFhYWFiYWFlZWVkZWQ5OTdmZWZmYTM1YXAtMTUsCisgICAgMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM4CisgICAgLTB4MS5mZmZmZmRmYWFhYWFiYWFlZWVkZWQ5OTdmZWZmYTM1YXAtMTUsCisgICAgLTB4MS5mZmZmZmVwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgMTAzOQorICAgIDB4MS5mZmZmZmZmYWFhYWFhYWFlZWVlZWVlZWQ0ZWQ0ZWQ0ZnAtMTUsCisgICAgMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQwCisgICAgLTB4MS5mZmZmZmZmYWFhYWFhYWFlZWVlZWVlZWQ0ZWQ0ZWQ0ZnAtMTUsCisgICAgLTB4MS5wLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MQorICAgIDB4MS4wMDAwMDFmZDU1NTU0NTU3Nzc1NzhjY2JlN2JmYzA5Y3AtMTQsCisgICAgMHgxLjAwMDAwMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgLTB4MS4wMDAwMDFmZDU1NTU0NTU3Nzc1NzhjY2JlN2JmYzA5Y3AtMTQsCisgICAgLTB4MS4wMDAwMDJwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MworICAgIDB4MS5mZmZmZmRmZmZmZmZmZWFhYWFhZWFhYWFhNmFhZWVmMHAtMjgsCisgICAgMHgxLmZmZmZmZXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ0CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZWFhYWFhZWFhYWFhNmFhZWVmMHAtMjgsCisgICAgLTB4MS5mZmZmZmVwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFhZWVlZXAtMjgsCisgICAgMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFhZWVlZXAtMjgsCisgICAgLTB4MS5wLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NworICAgIDB4MS4wMDAwMDFmZmZmZmZmZjU1NTU1MTU1NTU0ZDU1Nzc3MnAtMjcsCisgICAgMHgxLjAwMDAwMnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZjU1NTU1MTU1NTU0ZDU1Nzc3MnAtMjcsCisgICAgLTB4MS4wMDAwMDJwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA0OQorICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZhYWFhYWJhYWFhYTlhYWFhZXAtMzEsCisgICAgMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZhYWFhYWJhYWFhYTlhYWFhZXAtMzEsCisgICAgLTB4MS5mZmZmZmVwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFhZXAtMzEsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFhZXAtMzEsCisgICAgLTB4MS5wLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MworICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZkNTU1NTQ1NTU1NTM1NTU1N3AtMzAsCisgICAgMHgxLjAwMDAwMnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU0CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZkNTU1NTQ1NTU1NTM1NTU1N3AtMzAsCisgICAgLTB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1NQorICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU2CisgICAgLTB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAtMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA1OAorICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU5CisgICAgLTB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNjAKKyAgICAweDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA2MQorICAgIC0weDEuNDhjZTU3NTIwMmVmZDkzYzYyZjdiODgxMDZlYTFkNGRwLTEsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYyCisgICAgMHgxLjQ4Y2U1NzUyMDJlZmQ5M2M2MmY3Yjg4MTA2ZWExZDRkcC0xLAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNjMKKyAgICAtMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NQorICAgIDB4MS5mZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDIyOTMwZWQ4MnAtMSwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY2CisgICAgLTB4MS5mZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDIyOTMwZWQ4MnAtMSwKKyAgICAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NworICAgIDB4MS5hZWQ1NGIxOWQ1Y2Q3OTM3Y2JmNDFlZDQwOGNhMGE1MnAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY4CisgICAgLTB4MS5hZWQ1NGIxOWQ1Y2Q3OTM3Y2JmNDFlZDQwOGNhMGE1MnAtMSwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2OQorICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcwCisgICAgLTB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MQorICAgIDB4MS5hZWQ1NDdkYmVlNGQwZDg2ODBkMDgxM2QxZTRlMjFkMHAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MgorICAgIC0weDEuYWVkNTQ3ZGJlZTRkMGQ4NjgwZDA4MTNkMWU0ZTIxZDBwLTEsCisgICAgLTB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDczCisgICAgMHgxLjZhMDllNmVjYjQxZmRkN2U2ODE4NzJjODU0ODg3MDE5cC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc0CisgICAgLTB4MS42YTA5ZTZlY2I0MWZkZDdlNjgxODcyYzg1NDg4NzAxOXAtMSwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNzUKKyAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc2CisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA3OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA3OQorICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwODAKKyAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwODEKKyAgICAweDEuZmZmZmY3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgyCisgICAgLTB4MS5mZmZmZjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDksCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTA4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0OSwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTA4NQorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTA4NgorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg3CisgICAgMC4wLAorICAgIDAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg4CisgICAgLTAuMCwKKyAgICAtMC4wZgorICB9LAorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS9zaW5oX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9zaW5oX2ludGVsX2RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWJjMTkyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbWF0aF9kYXRhL3NpbmhfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMzA1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX3NpbmhfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjIwMDAwMDAwMDAwZjMwMDAwMDAwMDAzZDgyNjY2NjY2cC0yMSwKKyAgICAtMHgxLjJwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4yMDAwMDAwMDAwMGYzMDAwMDAwMDAwM2Q4MjY2NjY2NnAtMjEsCisgICAgMHgxLjJwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIC0weDEuZjkyMjVmN2UzMTkzYzgwMTU2ZTI5Mzc4YzM0YjIzZDNwODMxLAorICAgIC0weDEuMjBiMDY1OWQ4YTdlMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5mOTIyNWY3ZTMxOTNjODAxNTZlMjkzNzhjMzRiMjNkM3A4MzEsCisgICAgMHgxLjIwYjA2NTlkOGE3ZTFwOQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjY1M2E5YzBjMDhiMDBmM2EyZmQ1ZWM5ZmIxMDkzZmY5cDUyLAorICAgIC0weDEuMjg4ZjVjMjhmNWMyOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDB4MS42NTNhOWMwYzA4YjAwZjNhMmZkNWVjOWZiMTA5M2ZmOXA1MiwKKyAgICAweDEuMjg4ZjVjMjhmNWMyOHA1CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuNDVmNzc1NTQ2YTc3ZDc3ZmU2MjM0YWI1ZDRhYjEwMzZwLTEsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS40NWY3NzU1NDZhNzdkNzdmZTYyMzRhYjVkNGFiMTAzNnAtMSwKKyAgICAweDEuMzMzMzMzMzMzMzMzM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmUxMjhkM2E5OWM0YjI4MjE2NTExYTdhZDk4ZDEwNmYwcDkxMSwKKyAgICAtMHgxLjNjNjQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmUxMjhkM2E5OWM0YjI4MjE2NTExYTdhZDk4ZDEwNmYwcDkxMSwKKyAgICAweDEuM2M2NDBwOQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS40MWFiOWQ4YmMwY2JmODFlYWMwZTJiYmJiYmVhYjk2Y3AtNSwKKyAgICAtMHgxLjQxOTY3ODAzMzEyYWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS40MWFiOWQ4YmMwY2JmODFlYWMwZTJiYmJiYmVhYjk2Y3AtNSwKKyAgICAweDEuNDE5Njc4MDMzMTJhZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5mNWY2MmQ0NDRmMjRjM2JlZThhZWI3NWE0MTNiODEwMXA5NDEsCisgICAgLTB4MS40NmNmMWE0ZThlZmY4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5mNWY2MmQ0NDRmMjRjM2JlZThhZWI3NWE0MTNiODEwMXA5NDEsCisgICAgMHgxLjQ2Y2YxYTRlOGVmZjhwOQorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5mZDBkMjdmNGNmZTk4ODAxZDE1ZmEyZDQ4ZTVhNTRjMHA5NTIsCisgICAgLTB4MS40YWEwZDk2NzE5ZmM2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5mZDBkMjdmNGNmZTk4ODAxZDE1ZmEyZDQ4ZTVhNTRjMHA5NTIsCisgICAgMHgxLjRhYTBkOTY3MTlmYzZwOQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS5mNzY2NzU5OTcyOGExN2ZmMDc2NjdmZTQxNTEwYWM2Y3AxMywKKyAgICAtMHgxLjRjMmIyOTFjZmFkZDJwMworICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLmY3NjY3NTk5NzI4YTE3ZmYwNzY2N2ZlNDE1MTBhYzZjcDEzLAorICAgIDB4MS40YzJiMjkxY2ZhZGQycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuZWIzNGYwYTkyZWU3MjgwMTI4YzExNGYwN2QzNTU3NzZwOTU4LAorICAgIC0weDEuNGNiMDllNjVlYjkzMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZWIzNGYwYTkyZWU3MjgwMTI4YzExNGYwN2QzNTU3NzZwOTU4LAorICAgIDB4MS40Y2IwOWU2NWViOTMwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIC0weDEuZDIxMDhlOWFhMWIxMjQxNjg5NjBhNjdmMWNiMjhiMDdwOTYwLAorICAgIC0weDEuNGQ1YjU2ZDViNTVhY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuZDIxMDhlOWFhMWIxMjQxNjg5NjBhNjdmMWNiMjhiMDdwOTYwLAorICAgIDB4MS40ZDViNTZkNWI1NWFjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuZjY4ZDdjZjMwZTAxMjNjMjE2NGMxMzY4ZDIxM2Y5YjVwOTcwLAorICAgIC0weDEuNTBkYzM3MzlkZGU4ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZjY4ZDdjZjMwZTAxMjNjMjE2NGMxMzY4ZDIxM2Y5YjVwOTcwLAorICAgIDB4MS41MGRjMzczOWRkZThlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIC0weDEuZmQ3OTk0MzA0NDNmMDgwMGVmMmZjZjJjZDlkYTk2OTdwOTc1LAorICAgIC0weDEuNTI5OTk0YmIxNTc5NXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZmQ3OTk0MzA0NDNmMDgwMGVmMmZjZjJjZDlkYTk2OTdwOTc1LAorICAgIDB4MS41Mjk5OTRiYjE1Nzk1cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEuZTdiMzZlYjFmMWU2OTgwMTdkOTA1YzkxZTI1ZGY2MTZwMTAwNSwKKyAgICAtMHgxLjVjZjlhY2UyN2QxMjBwOQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLmU3YjM2ZWIxZjFlNjk4MDE3ZDkwNWM5MWUyNWRmNjE2cDEwMDUsCisgICAgMHgxLjVjZjlhY2UyN2QxMjBwOQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS45OWQxOGVkYzU3MjBhODAxOGQwYzhiZmJmN2Q5OGY5YXAxMDExLAorICAgIC0weDEuNWVmN2JkZWY3YzJlZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuOTlkMThlZGM1NzIwYTgwMThkMGM4YmZiZjdkOThmOWFwMTAxMSwKKyAgICAweDEuNWVmN2JkZWY3YzJlZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLmYzYWU2ZTZhZDZjZjMzZjk1MmI4ZDdkMjZhYmNkOTQ2cDEwMTMsCisgICAgLTB4MS41ZmMyOTA3YmJmYjUzcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS5mM2FlNmU2YWQ2Y2YzM2Y5NTJiOGQ3ZDI2YWJjZDk0NnAxMDEzLAorICAgIDB4MS41ZmMyOTA3YmJmYjUzcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIC0weDEuZmZmZmZmZmZmZWIyYTFiMGUyNjNhYzY4MDc2ZWQ0ZTBwMTAyMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWFwOQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmZmZmZmZmZmZmViMmExYjBlMjYzYWM2ODA3NmVkNGUwcDEwMjIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWFwOQorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS45NGY4ZTQyYzIxOTA5N2ZmYmY1MzIzYTI4ZjdkNzE1Y3AtMiwKKyAgICAtMHgxLjhiMTg5NmQ5ZTUzNDNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS45NGY4ZTQyYzIxOTA5N2ZmYmY1MzIzYTI4ZjdkNzE1Y3AtMiwKKyAgICAweDEuOGIxODk2ZDllNTM0M3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS45MHAtMTA2OSwKKyAgICAtMHgxLjlwLTEwNjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS45MHAtMTA2OSwKKyAgICAweDEuOXAtMTA2OQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgLTB4MS5hNDVjNGJmYzQxMzJjOGU4ZGQ0ZTQ0ZTkxOGZlZjUwMnAtMiwKKyAgICAtMHgxLjk5NWU2ZWU0OTNmZTVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIDB4MS5hNDVjNGJmYzQxMzJjOGU4ZGQ0ZTQ0ZTkxOGZlZjUwMnAtMiwKKyAgICAweDEuOTk1ZTZlZTQ5M2ZlNXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgLTB4MS5jN2ExMDMzNzk4MDliMzgxMzIzNTBjYTc2NmNiYTQ0YnAtMSwKKyAgICAtMHgxLjlhNDk1ZWE0NDc4NTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS5jN2ExMDMzNzk4MDliMzgxMzIzNTBjYTc2NmNiYTQ0YnAtMSwKKyAgICAweDEuOWE0OTVlYTQ0Nzg1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS45YmZhMzQwM2Y4ZDQ1N2ZmZmEyNDZkODgwZWY4MTRmMXAtNSwKKyAgICAtMHgxLjliY2RjYzQwOGNlZDNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIDB4MS45YmZhMzQwM2Y4ZDQ1N2ZmZmEyNDZkODgwZWY4MTRmMXAtNSwKKyAgICAweDEuOWJjZGNjNDA4Y2VkM3AtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgLTB4MS5hYThjM2Q0Y2I1YmQ5ZmZmZmU1ZTU1OWM1NjNkNjY5Y3AtNSwKKyAgICAtMHgxLmFhNWFmNTQ1YWU4ODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIDB4MS5hYThjM2Q0Y2I1YmQ5ZmZmZmU1ZTU1OWM1NjNkNjY5Y3AtNSwKKyAgICAweDEuYWE1YWY1NDVhZTg4MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5lMTdlMzJlYjhlNmNlOGY2ZGFkNmE3MzhmYTVmMGI4YXAtMiwKKyAgICAtMHgxLmQxNTAzN2YyZWJlM2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS5lMTdlMzJlYjhlNmNlOGY2ZGFkNmE3MzhmYTVmMGI4YXAtMiwKKyAgICAweDEuZDE1MDM3ZjJlYmUzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwYWFhYWFhYWFhYWFwLTQxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00MQorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDBhYWFhYWFhYWFhYXAtNDEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00MQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjQxYzdhODgxNGM3ODY4M2NkYmMxNjU1OTdjYTYxZDIzcDM2OCwKKyAgICAweDEuMDAwMDAwMDAwMDAwN3A4CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLjQxYzdhODgxNGM3ODY4M2NkYmMxNjU1OTdjYTYxZDIzcDM2OCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDdwOAorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLjFmNDNmZWJiNmQ1ZWQ3Zjc5MDczYzlkZWE4NTA1MGZlcDQ1LAorICAgIDB4MS4wMDAwMDAwZTBwNQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS4xZjQzZmViYjZkNWVkN2Y3OTA3M2M5ZGVhODUwNTBmZXA0NSwKKyAgICAtMHgxLjAwMDAwMDBlMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuNzQ5ZWE1Y2YyNGMyYTgwMTAxNGIyNGQ5Njg2ZmYzMDZwMTAsCisgICAgMHgxLjAwMDAwMDBmZmUwMTdwMworICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS43NDllYTVjZjI0YzJhODAxMDE0YjI0ZDk2ODZmZjMwNnAxMCwKKyAgICAtMHgxLjAwMDAwMDBmZmUwMTdwMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLjBmMmViZTE5YWViYmNmZmUxMTExNGZkZTIwYThiMjVkcDIyLAorICAgIDB4MS4wMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIC0weDEuMGYyZWJlMTlhZWJiY2ZmZTExMTE0ZmRlMjBhOGIyNWRwMjIsCisgICAgLTB4MS4wMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5kMDNkMDU0N2ViNWFmN2ZmOTI4N2JmZTllZjA4ZDAyY3AxLAorICAgIDB4MS4wMDAwMDQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuZDAzZDA1NDdlYjVhZjdmZjkyODdiZmU5ZWYwOGQwMmNwMSwKKyAgICAtMHgxLjAwMDAwNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjk0ZGJkZmJiNjZiYzY1MWVlNzY1NzIxMTlkOWMxYzRjcDczNywKKyAgICAweDEuMDAwMDIwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjk0ZGJkZmJiNjZiYzY1MWVlNzY1NzIxMTlkOWMxYzRjcDczNywKKyAgICAtMHgxLjAwMDAyMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjIwM2ZjNjVhMDM0ZDA3ZmZkYTg5MWVmMDc5ZWU2MzJkcDQ1LAorICAgIDB4MS4wMDA3MHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLjIwM2ZjNjVhMDM0ZDA3ZmZkYTg5MWVmMDc5ZWU2MzJkcDQ1LAorICAgIC0weDEuMDAwNzBwNQorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLjA0MzIwM2M2M2NhMzQ4MDAwYzJkNTBlMDA0ZWFiOWRmcC0zLAorICAgIDB4MS4wMzgwMWJiYTUzZDVmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLjA0MzIwM2M2M2NhMzQ4MDAwYzJkNTBlMDA0ZWFiOWRmcC0zLAorICAgIC0weDEuMDM4MDFiYmE1M2Q1ZnAtMworICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmQ5Y2ViNmZiM2FmMjI4MDBlYmEwNzA5YWI1NTBlYjgzcDQsCisgICAgMHgxLjA1MzlhOWRiMDBmYjBwMgorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5kOWNlYjZmYjNhZjIyODAwZWJhMDcwOWFiNTUwZWI4M3A0LAorICAgIC0weDEuMDUzOWE5ZGIwMGZiMHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuMTlkOWRiNzY5YjMwNzNkYjU2OTQ0NjQ1NDc5ODBhYjNwLTEsCisgICAgMHgxLjBkNDQxMjE5NTIzMTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuMTlkOWRiNzY5YjMwNzNkYjU2OTQ0NjQ1NDc5ODBhYjNwLTEsCisgICAgLTB4MS4wZDQ0MTIxOTUyMzEzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQKKyAgICAweDEuMTFhYTg3NDkzN2Y2NTdmZWZlYjIyZjEwNjU3Njc1YjJwLTMsCisgICAgMHgxLjEwZGJiMTYzNDIzY2ZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuMTFhYTg3NDkzN2Y2NTdmZWZlYjIyZjEwNjU3Njc1YjJwLTMsCisgICAgLTB4MS4xMGRiYjE2MzQyM2NmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuYTRlNDY5MzQxM2I5OTcwNzU1YzE1NjMzYWYyNWY5NmJwMzk5LAorICAgIDB4MS4xNWMxOGRlODc3NTYzcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuYTRlNDY5MzQxM2I5OTcwNzU1YzE1NjMzYWYyNWY5NmJwMzk5LAorICAgIC0weDEuMTVjMThkZTg3NzU2M3A4CisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMWZhZTNkOTIyMGRkMjgwMTAyYzAyMmIxMmJjM2Y2ZmVwLTIsCisgICAgMHgxLjFjMDY1ODAyYjI2ZWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuMWZhZTNkOTIyMGRkMjgwMTAyYzAyMmIxMmJjM2Y2ZmVwLTIsCisgICAgLTB4MS4xYzA2NTgwMmIyNmVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuMjAwMDAwMDAwMDBmMzAwMDAwMDAwMDNkODI2NjY2NjZwLTIxLAorICAgIDB4MS4ycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS4yMDAwMDAwMDAwMGYzMDAwMDAwMDAwM2Q4MjY2NjY2NnAtMjEsCisgICAgLTB4MS4ycC0yMQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjM1YTkyNTdhNWExY2I3ZmVjZmEyOTE3MTRmYWM5Zjg5cC0xLAorICAgIDB4MS4yNTU4OWU2NDUzYTc5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLjM1YTkyNTdhNWExY2I3ZmVjZmEyOTE3MTRmYWM5Zjg5cC0xLAorICAgIC0weDEuMjU1ODllNjQ1M2E3OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLmVhYTUyMWVkZjFiYzI4MDE0NjAyMTkxY2U2MThjMDVmcDg0NSwKKyAgICAweDEuMjU4NmNhOWNmNDExYnA5CisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLmVhYTUyMWVkZjFiYzI4MDE0NjAyMTkxY2U2MThjMDVmcDg0NSwKKyAgICAtMHgxLjI1ODZjYTljZjQxMWJwOQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjZhMDllNjY3ZjNiYzliNjExMzBiYzA1NmQ0NzhkODM0cDI1LAorICAgIDB4MS4yNWU0ZjdiMjczN2ZhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuNmEwOWU2NjdmM2JjOWI2MTEzMGJjMDU2ZDQ3OGQ4MzRwMjUsCisgICAgLTB4MS4yNWU0ZjdiMjczN2ZhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIDB4MS4yYTliYmY1NDVmMDlmN2ZmZmMyZmQ0NzNmYzJmOGE5ZXAtMiwKKyAgICAweDEuMjY4N2NlN2JkNzM1M3AtMgorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgLTB4MS4yYTliYmY1NDVmMDlmN2ZmZmMyZmQ0NzNmYzJmOGE5ZXAtMiwKKyAgICAtMHgxLjI2ODdjZTdiZDczNTNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS4yZTZhZTAwOGFlMDcxNzMxYWI5ODI5ZjQ1MWE2NGVkY3AtMiwKKyAgICAweDEuMmEyZjc5NWQ2YjUxNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS4yZTZhZTAwOGFlMDcxNzMxYWI5ODI5ZjQ1MWE2NGVkY3AtMiwKKyAgICAtMHgxLjJhMmY3OTVkNmI1MTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmZmZmZmZjg0ZGMzNjlmODFkZmRiYzM4MzMzMnAyNSwKKyAgICAweDEuMmI3MDg4NzIzMjBkZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmODRkYzM2OWY4MWRmZGJjMzgzMzMycDI1LAorICAgIC0weDEuMmI3MDg4NzIzMjBkZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuN2MxMmI4ZDU3ZmRjZjdmZmZhOWNlNWU5OWE0MTYzZGVwMCwKKyAgICAweDEuMmZhYzY0YTQyY2VlZnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjdjMTJiOGQ1N2ZkY2Y3ZmZmYTljZTVlOTlhNDE2M2RlcDAsCisgICAgLTB4MS4yZmFjNjRhNDJjZWVmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NgorICAgIDB4MS5kYzg1MWE1NTY4NmQ0ODAxMmFkZDNjMDJhNTRjYzRkOXA4NzUsCisgICAgMHgxLjJmZThiY2QxODMyOTlwOQorICB9LAorICB7IC8vIEVudHJ5IDk3CisgICAgLTB4MS5kYzg1MWE1NTY4NmQ0ODAxMmFkZDNjMDJhNTRjYzRkOXA4NzUsCisgICAgLTB4MS4yZmU4YmNkMTgzMjk5cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS40MjU0NjczN2UwOWQ2ODAxNGVjOWJhZGQ5ZGY4ZmVlM3AtMSwKKyAgICAweDEuMzAyMDhiNzRkMTc2MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS40MjU0NjczN2UwOWQ2ODAxNGVjOWJhZGQ5ZGY4ZmVlM3AtMSwKKyAgICAtMHgxLjMwMjA4Yjc0ZDE3NjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuZmYxMmY3Mjk2YjA0MDgwMTdlYWFmNDhmYmYyODAzOTlwODc3LAorICAgIDB4MS4zMGEzMjRkNjAzM2I1cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmZmMTJmNzI5NmIwNDA4MDE3ZWFhZjQ4ZmJmMjgwMzk5cDg3NywKKyAgICAtMHgxLjMwYTMyNGQ2MDMzYjVwOQorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS40NmM0NjExOGY3OWFkM2UzYTU4Y2ZmZTkwYWU2YzIyOHAtMSwKKyAgICAweDEuMzNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS40NmM0NjExOGY3OWFkM2UzYTU4Y2ZmZTkwYWU2YzIyOHAtMSwKKyAgICAtMHgxLjMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS40NzE1NzM2Yzk0OTdkM2MyYmE2ZmVjYzY3OWMyNjQ5OXAtMSwKKyAgICAweDEuMzQyNDU0Nzg3ZTBlYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIC0weDEuNDcxNTczNmM5NDk3ZDNjMmJhNmZlY2M2NzljMjY0OTlwLTEsCisgICAgLTB4MS4zNDI0NTQ3ODdlMGVhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjhiMmU4MzQ4NjEzMzA4Mjg2MGY2NWQwYjU0YTNmZjRjcDAsCisgICAgMHgxLjM4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS44YjJlODM0ODYxMzMwODI4NjBmNjVkMGI1NGEzZmY0Y3AwLAorICAgIC0weDEuMzgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuOTQ3NDNjMWRmNTFiNDgwMDU3MzUyZjNkYmMzYTIwNmRwMCwKKyAgICAweDEuM2QwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjk0NzQzYzFkZjUxYjQ4MDA1NzM1MmYzZGJjM2EyMDZkcDAsCisgICAgLTB4MS4zZDBwMAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS40M2YzNzY3ZjUyYTNhODYwMzE0NGVjMDZiOGZjODlhMnAtMiwKKyAgICAweDEuM2VjNmY0NzM4ZWY3NXAtMgorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIC0weDEuNDNmMzc2N2Y1MmEzYTg2MDMxNDRlYzA2YjhmYzg5YTJwLTIsCisgICAgLTB4MS4zZWM2ZjQ3MzhlZjc1cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjQxMWJkNjhjZjFmNjY4MmFkNjY2OTU4YzQzN2JjN2Q2cC01LAorICAgIDB4MS40MTA2Y2Q0Zjc2MDg2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTEzCisgICAgLTB4MS40MTFiZDY4Y2YxZjY2ODJhZDY2Njk1OGM0MzdiYzdkNnAtNSwKKyAgICAtMHgxLjQxMDZjZDRmNzYwODZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEuZjFlZjljOGE0ZmRhZTgwMWIxOWY4ZTQyZWZmMmM0YThwOTI5LAorICAgIDB4MS40MmE1NjVlNDU2ZTA0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmYxZWY5YzhhNGZkYWU4MDFiMTlmOGU0MmVmZjJjNGE4cDkyOSwKKyAgICAtMHgxLjQyYTU2NWU0NTZlMDRwOQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS41OWFlNmNmYjA2NTA1M2QxMmE3ZWUyODI5ZTUwY2JjMHAtMSwKKyAgICAweDEuNDNhZjVhYTQ1NzgzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuNTlhZTZjZmIwNjUwNTNkMTJhN2VlMjgyOWU1MGNiYzBwLTEsCisgICAgLTB4MS40M2FmNWFhNDU3ODMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjVhMTZhYTM1OTRjOWQzYzY0MDEzMzY0ZWMyYzAwNDQ3cC0xLAorICAgIDB4MS40NDA1YmFmMzQwNDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgLTB4MS41YTE2YWEzNTk0YzlkM2M2NDAxMzM2NGVjMmMwMDQ0N3AtMSwKKyAgICAtMHgxLjQ0MDViYWYzNDA0MDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuZjRlYzQ0MTk0YjY0MjgwMWE0YWZkNGM1MDYzM2U4YWFwOTM3LAorICAgIDB4MS40NTZiZjIzZTAyNDI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLmY0ZWM0NDE5NGI2NDI4MDFhNGFmZDRjNTA2MzNlOGFhcDkzNywKKyAgICAtMHgxLjQ1NmJmMjNlMDI0MjhwOQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5lYTkxZDk1MzNiMzk0ODAxYmYzZDNlYzhmODhkZTU2OHA5MzgsCisgICAgMHgxLjQ1YzFmZWVmODA4NmNwOQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuZWE5MWQ5NTMzYjM5NDgwMWJmM2QzZWM4Zjg4ZGU1NjhwOTM4LAorICAgIC0weDEuNDVjMWZlZWY4MDg2Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjVjOThhNDllNjUwM2FjMTk4ZWMyYmY5OGQ0ZGYwY2UycC0xLAorICAgIDB4MS40NjE4ZmU0MDhiNTdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS41Yzk4YTQ5ZTY1MDNhYzE5OGVjMmJmOThkNGRmMGNlMnAtMSwKKyAgICAtMHgxLjQ2MThmZTQwOGI1N2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuNGYxNGUwOGM4ODUwMTgyN2NiZTgwMzc5YzdlN2M4YzNwLTIsCisgICAgMHgxLjQ5NWY2MWIyYzgwNmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjRmMTRlMDhjODg1MDE4MjdjYmU4MDM3OWM3ZTdjOGMzcC0yLAorICAgIC0weDEuNDk1ZjYxYjJjODA2Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS41MDAwMDAwMDAwNjA3ODAwMDAwMDA4NGYyMmNjY2NjZHAtMjAsCisgICAgMHgxLjVwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS41MDAwMDAwMDAwNjA3ODAwMDAwMDA4NGYyMmNjY2NjZHAtMjAsCisgICAgLTB4MS41cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS42ZTgxYzdkMTdkMWRmM2JlYjQ1NDE0Y2E1M2JjM2YyOHAtMSwKKyAgICAweDEuNTRjODM0YzM5ODM1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuNmU4MWM3ZDE3ZDFkZjNiZWI0NTQxNGNhNTNiYzNmMjhwLTEsCisgICAgLTB4MS41NGM4MzRjMzk4MzVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLjk1NDhlOTY4OGZiMmU4MDBjNDY2ZTdkODkzMzI4ZjY4cDk5MSwKKyAgICAweDEuNTgwN2RjNzg3YTVkNXA5CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS45NTQ4ZTk2ODhmYjJlODAwYzQ2NmU3ZDg5MzMyOGY2OHA5OTEsCisgICAgLTB4MS41ODA3ZGM3ODdhNWQ1cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuODU0NDJhMjk2OWFjZTRhNzE3NTdjMWNkZDZhYjFiODJwMTAwNywKKyAgICAweDEuNWQ4ZTQzY2Q2Nzg1ZHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS44NTQ0MmEyOTY5YWNlNGE3MTc1N2MxY2RkNmFiMWI4MnAxMDA3LAorICAgIC0weDEuNWQ4ZTQzY2Q2Nzg1ZHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmYyYTNjMjlmYzZkNzIzYTYzZTM0OWJiY2Q3ODk0YThhcDEwMDcsCisgICAgMHgxLjVkYWRmNWQxZTQ1MmNwOQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuZjJhM2MyOWZjNmQ3MjNhNjNlMzQ5YmJjZDc4OTRhOGFwMTAwNywKKyAgICAtMHgxLjVkYWRmNWQxZTQ1MmNwOQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS42NDg3YWE2ZTM0Y2I1N2ZlZmJjNGY0ZWY3YjcyODFlZnAtMiwKKyAgICAweDEuNWRiMTdjNGE2MGZlNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuNjQ4N2FhNmUzNGNiNTdmZWZiYzRmNGVmN2I3MjgxZWZwLTIsCisgICAgLTB4MS41ZGIxN2M0YTYwZmU0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmVkY2IxNDg3OTYxM2U4MDE3NjA4N2MxYTc2ZGVjOTdjcDEwMDgsCisgICAgMHgxLjVlMDU2ZWQ0MGU1NmVwOQorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZWRjYjE0ODc5NjEzZTgwMTc2MDg3YzFhNzZkZWM5N2NwMTAwOCwKKyAgICAtMHgxLjVlMDU2ZWQ0MGU1NmVwOQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS42MDkzZDViZjI1ODBmMDBiY2RjNmM4OGFjMzVkMjY0MHAtNiwKKyAgICAweDEuNjA4Y2RlYjNlYzExMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuNjA5M2Q1YmYyNTgwZjAwYmNkYzZjODhhYzM1ZDI2NDBwLTYsCisgICAgLTB4MS42MDhjZGViM2VjMTExcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjYxNGU4MWFmMzExMzMwMGRmYmRmMWVkNjA0NTQ3NjBkcC02LAorICAgIDB4MS42MTQ3N2Y4ZTY5OTI4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS42MTRlODFhZjMxMTMzMDBkZmJkZjFlZDYwNDU0NzYwZHAtNiwKKyAgICAtMHgxLjYxNDc3ZjhlNjk5MjhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuOTZmYWE4NzJhMDZhYTMwMDNmNTE1OGRlOWM1NzAzMDJwMTAyMywKKyAgICAweDEuNjMxZjg2YWMwNjExYnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS45NmZhYTg3MmEwNmFhMzAwM2Y1MTU4ZGU5YzU3MDMwMnAxMDIzLAorICAgIC0weDEuNjMxZjg2YWMwNjExYnA5CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmJmNjY4ZmM2ZjRmOWQzMWY3NTNjNDA4MjYxYmIwMmI0cDEwMjMsCisgICAgMHgxLjYzMmJhNThlYWUwNzFwOQorICB9LAorICB7IC8vIEVudHJ5IDE0OQorICAgIC0weDEuYmY2NjhmYzZmNGY5ZDMxZjc1M2M0MDgyNjFiYjAyYjRwMTAyMywKKyAgICAtMHgxLjYzMmJhNThlYWUwNzFwOQorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5mZmZmZmZmZmJjZDNhZTU5NTMwM2U3NGFiYjNmZDc1ZHAxMDIzLAorICAgIDB4MS42MzNjZThmYjlmNzcxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLmZmZmZmZmZmYmNkM2FlNTk1MzAzZTc0YWJiM2ZkNzVkcDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmNzcxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuZmZmZmZmZmZmMDkzYWU1OTRlZDc1MDhhMDI0Mjk0MzZwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS5mZmZmZmZmZmYwOTNhZTU5NGVkNzUwOGEwMjQyOTQzNnAxMDIzLAorICAgIC0weDEuNjMzY2U4ZmI5Zjg0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLmZmZmZmZmZmZjcxM2FlNTk0ZWFmYzA4MGE0ODI4OWY5cDEwMjMsCisgICAgMHgxLjYzM2NlOGZiOWY4NWFwOQorICB9LAorICB7IC8vIEVudHJ5IDE1NQorICAgIC0weDEuZmZmZmZmZmZmNzEzYWU1OTRlYWZjMDgwYTQ4Mjg5ZjlwMTAyMywKKyAgICAtMHgxLjYzM2NlOGZiOWY4NWFwOQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS42M2NlYWUwOWNiNDk4ZmVmZWU4OTdkOWQwOWYwZjEwMXAtNiwKKyAgICAweDEuNjNjNzg1OGM5ZTUyMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuNjNjZWFlMDljYjQ5OGZlZmVlODk3ZDlkMDlmMGYxMDFwLTYsCisgICAgLTB4MS42M2M3ODU4YzllNTIwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjY1MDUwNjcxMmFmMzdmZjU0ZjgxZGI4ODMyYTc5N2U5cC02LAorICAgIDB4MS42NGZkY2IyOTQ2NWE5cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS42NTA1MDY3MTJhZjM3ZmY1NGY4MWRiODgzMmE3OTdlOXAtNiwKKyAgICAtMHgxLjY0ZmRjYjI5NDY1YTlwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuODQ2NTE1M2RlN2MwMDdmZmZkZWMxY2ViYzQwODQxZjdwLTEsCisgICAgMHgxLjY2NjY2NjY2ZDVkYTNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjg0NjUxNTNkZTdjMDA3ZmZmZGVjMWNlYmM0MDg0MWY3cC0xLAorICAgIC0weDEuNjY2NjY2NjZkNWRhM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mMjA1NmE4NzUyYzBhNTRkMDgwM2E5ZjBjMDBiYWY1ZXAwLAorICAgIDB4MS42YjRwMAorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuZjIwNTZhODc1MmMwYTU0ZDA4MDNhOWYwYzAwYmFmNWVwMCwKKyAgICAtMHgxLjZiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgMHgxLmY1NGY4ZWFmZmM0MzQ4ZGE4MzA1YWVmMTY0YzNiYTk0cDAsCisgICAgMHgxLjZjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5mNTRmOGVhZmZjNDM0OGRhODMwNWFlZjE2NGMzYmE5NHAwLAorICAgIC0weDEuNmNjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAweDEuNzFlMjAyYzAwYzIzMTkyMjlhNWI4NmYwZjI2Y2FiYjFwLTcsCisgICAgMHgxLjcxZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuNzFlMjAyYzAwYzIzMTkyMjlhNWI4NmYwZjI2Y2FiYjFwLTcsCisgICAgLTB4MS43MWVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuNzczMjUzZGQzZjMxMTg3NGEyZjBjODA3NjRhYmY0MmRwLTgsCisgICAgMHgxLjc3MzFjZDhiNzQ2NDFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjc3MzI1M2RkM2YzMTE4NzRhMmYwYzgwNzY0YWJmNDJkcC04LAorICAgIC0weDEuNzczMWNkOGI3NDY0MXAtOAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS5hMDhhODllOTA0NjI5ODVmZjVjZGJlZjViZTJjMTQzZXAtMSwKKyAgICAweDEuN2M4NzQ0MjNiNDY1NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIC0weDEuYTA4YTg5ZTkwNDYyOTg1ZmY1Y2RiZWY1YmUyYzE0M2VwLTEsCisgICAgLTB4MS43Yzg3NDQyM2I0NjU1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjgwOGZkN2Y1MDU5ZTQ3ZmVkM2JlMGVhZjFiOTgxNWJkcC00LAorICAgIDB4MS43ZmZmYzdmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS44MDhmZDdmNTA1OWU0N2ZlZDNiZTBlYWYxYjk4MTViZHAtNCwKKyAgICAtMHgxLjdmZmZjN2ZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuODA0YmY1YjQwZDM0ZTdkMTQzYWU0Mjc2NzBhMWMxMTVwLTUsCisgICAgMHgxLjgwMjdlOTc1N2JmMzFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLjgwNGJmNWI0MGQzNGU3ZDE0M2FlNDI3NjcwYTFjMTE1cC01LAorICAgIC0weDEuODAyN2U5NzU3YmYzMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mMGUzZTViNmMxN2MwMmE3OTljMzA2ZGJjMWIxYThlY3A1NTUsCisgICAgMHgxLjgyMGQ5MmZjNGI0MmFwOAorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIC0weDEuZjBlM2U1YjZjMTdjMDJhNzk5YzMwNmRiYzFiMWE4ZWNwNTU1LAorICAgIC0weDEuODIwZDkyZmM0YjQyYXA4CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjg4NjY1ZmZhYWRhOTM3ZGQ5MzQ5MTQ5OGYyZWU5ZGVmcC01LAorICAgIDB4MS44ODRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMHgxLjg4NjY1ZmZhYWRhOTM3ZGQ5MzQ5MTQ5OGYyZWU5ZGVmcC01LAorICAgIC0weDEuODg0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLmI0Njk4ZDkyNDA0MDU3ZmY5NzI0MTIyNjIyMDgyODYzcC0xLAorICAgIDB4MS44YmNiZjcwNDY5YTRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS5iNDY5OGQ5MjQwNDA1N2ZmOTcyNDEyMjYyMjA4Mjg2M3AtMSwKKyAgICAtMHgxLjhiY2JmNzA0NjlhNGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuZjYxMmMwYzMyYTBjNzAwZDMyYWRkYzRjNmMyYjc2YzNwNywKKyAgICAweDEuOGUwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLmY2MTJjMGMzMmEwYzcwMGQzMmFkZGM0YzZjMmI3NmMzcDcsCisgICAgLTB4MS44ZTBwMgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5iYzk4NzE1YWVjNTZjNzMxMTg2YjhhYjhkZWIxNDUxMHAtMSwKKyAgICAweDEuOTIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5iYzk4NzE1YWVjNTZjNzMxMTg2YjhhYjhkZWIxNDUxMHAtMSwKKyAgICAtMHgxLjkyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS45NDYxOGZhOWZlMmRkY2U5YTU4MjBlYWNkNzNlYTQ0N3AtOCwKKyAgICAweDEuOTQ2MGU3N2ZlYmE0MHAtOAorICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIC0weDEuOTQ2MThmYTlmZTJkZGNlOWE1ODIwZWFjZDczZWE0NDdwLTgsCisgICAgLTB4MS45NDYwZTc3ZmViYTQwcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTg4CisgICAgMHgxLmM2YjVkM2NhNjBlNjRmZmZmZTU0ZTdhOWQxNzZhODAycC0xLAorICAgIDB4MS45OTk5OTk5YTEwZDU0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5jNmI1ZDNjYTYwZTY0ZmZmZmU1NGU3YTlkMTc2YTgwMnAtMSwKKyAgICAtMHgxLjk5OTk5OTlhMTBkNTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuOWM1NjBjZDNmYzQ0YmZmZmZlMzY2ZGY1OGVkOTZiZWNwLTMsCisgICAgMHgxLjk5OTk5OTlhMzNjZTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLjljNTYwY2QzZmM0NGJmZmZmZTM2NmRmNThlZDk2YmVjcC0zLAorICAgIC0weDEuOTk5OTk5OWEzM2NlMnAtMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS45YTQ4NzMzODcxNDM0ODAwMDIwY2YyOTk4NWU0OWYzMHAtNCwKKyAgICAweDEuOTk5OTk5OWE1NDUyOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuOWE0ODczMzg3MTQzNDgwMDAyMGNmMjk5ODVlNDlmMzBwLTQsCisgICAgLTB4MS45OTk5OTk5YTU0NTI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmM2YjVkM2NiMTEyMzk4MDAwMjBlZmM4ODIxNjMzYmRlcC0xLAorICAgIDB4MS45OTk5OTk5YTk0OWI3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS5jNmI1ZDNjYjExMjM5ODAwMDIwZWZjODgyMTYzM2JkZXAtMSwKKyAgICAtMHgxLjk5OTk5OTlhOTQ5YjdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAweDEuOWM1NjBjZDQ4MWU2MzdmZmZlMDFmYmZkYWQ4MzZkMmZwLTMsCisgICAgMHgxLjk5OTk5OTlhYjZjZWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAtMHgxLjljNTYwY2Q0ODFlNjM3ZmZmZTAxZmJmZGFkODM2ZDJmcC0zLAorICAgIC0weDEuOTk5OTk5OWFiNmNlYXAtMworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS45YzU2MGNkNjRhYzAyZmZmZmU1MzY2MjRiM2FhODg1ZnAtMywKKyAgICAweDEuOTk5OTk5OWM3NmFiZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuOWM1NjBjZDY0YWMwMmZmZmZlNTM2NjI0YjNhYTg4NWZwLTMsCisgICAgLTB4MS45OTk5OTk5Yzc2YWJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjljNTYwY2Q2ZWM1YzcwMDAwMTcxZWU0YWZhNjE2NjI5cC0zLAorICAgIDB4MS45OTk5OTk5ZDE1MWE0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS45YzU2MGNkNmVjNWM3MDAwMDE3MWVlNGFmYTYxNjYyOXAtMywKKyAgICAtMHgxLjk5OTk5OTlkMTUxYTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAweDEuYTU1NzNmMGUyMGYxYTkwNWFkZDg3OWY5OTA0MTAxOWZwLTIsCisgICAgMHgxLjlhNDY4YjRlZjQ0ZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmE1NTczZjBlMjBmMWE5MDVhZGQ4NzlmOTkwNDEwMTlmcC0yLAorICAgIC0weDEuOWE0NjhiNGVmNDRmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDIwNAorICAgIDB4MS5mZmZmZmZmZmZmZWQ0NTdhNDJlMTYxNDU2Y2Y4NjJiMnA1OTAsCisgICAgMHgxLjlhNTdkNzZkMTUyZmNwOAorICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIC0weDEuZmZmZmZmZmZmZmVkNDU3YTQyZTE2MTQ1NmNmODYyYjJwNTkwLAorICAgIC0weDEuOWE1N2Q3NmQxNTJmY3A4CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmFlYmRjNjIwOGMxMjQ4YjJmZmJiYTVmNzgzYjkyYTFicC0yLAorICAgIDB4MS5hMmY0NmVhNWY5MDQ5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5hZWJkYzYyMDhjMTI0OGIyZmZiYmE1Zjc4M2I5MmExYnAtMiwKKyAgICAtMHgxLmEyZjQ2ZWE1ZjkwNDlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAweDEuZDY0YTNjMmJmZGYwODg1NjVkYWQ2YWE4ZDZlNThmMDRwLTEsCisgICAgMHgxLmE1Mjk0YTUyOTRhNTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmQ2NGEzYzJiZmRmMDg4NTY1ZGFkNmFhOGQ2ZTU4ZjA0cC0xLAorICAgIC0weDEuYTUyOTRhNTI5NGE1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5iMDAwMDAwMDAwY2QwODAwMDAwMDFkMzE2Mzk5OTk5YnAtMjAsCisgICAgMHgxLmJwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS5iMDAwMDAwMDAwY2QwODAwMDAwMDFkMzE2Mzk5OTk5YnAtMjAsCisgICAgLTB4MS5icC0yMAorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIDB4MS5iNjIwNmEzNmFmZjRlN2YzYmUxOTY3ZGVlNmMxOWMyZHAtMywKKyAgICAweDEuYjJkYTBkOTkxMzU4OXAtMworICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuYjYyMDZhMzZhZmY0ZTdmM2JlMTk2N2RlZTZjMTljMmRwLTMsCisgICAgLTB4MS5iMmRhMGQ5OTEzNTg5cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLmJkMjhiMjcyODM0YTJmZjNkNzlmYjEyZTM3YTE4NzE0cC02LAorICAgIDB4MS5iZDFhYWUyMzIzNTEwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgLTB4MS5iZDI4YjI3MjgzNGEyZmYzZDc5ZmIxMmUzN2ExODcxNHAtNiwKKyAgICAtMHgxLmJkMWFhZTIzMjM1MTBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuZjhjMjUwODFkMjVkMTlkMGQ3M2JmNDY2NTU1YmVmMDRwLTEsCisgICAgMHgxLmJlMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIC0weDEuZjhjMjUwODFkMjVkMTlkMGQ3M2JmNDY2NTU1YmVmMDRwLTEsCisgICAgLTB4MS5iZTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuY2M4ZjI1Zjk0MzIzMjg0ZjZkNjQ1NGQzZjM2OTkwODhwLTIsCisgICAgMHgxLmJlNGI5NDk3OTk5MDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmNjOGYyNWY5NDMyMzI4NGY2ZDY0NTRkM2YzNjk5MDg4cC0yLAorICAgIC0weDEuYmU0Yjk0OTc5OTkwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIyMAorICAgIDB4MS4wNjhmMWI2ZmQ5N2E5N2ZmYzU1NGYyZGIxODhmOTExN3A0LAorICAgIDB4MS5iZWY4OTc3NWI1ZTg4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjA2OGYxYjZmZDk3YTk3ZmZjNTU0ZjJkYjE4OGY5MTE3cDQsCisgICAgLTB4MS5iZWY4OTc3NWI1ZTg4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAweDEuY2E3M2FkMTdkMWYwYWZmZjhiNmRhMGQ1MjA3NDFiMjZwLTQsCisgICAgMHgxLmM5OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuY2E3M2FkMTdkMWYwYWZmZjhiNmRhMGQ1MjA3NDFiMjZwLTQsCisgICAgLTB4MS5jOThwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuNzQyNzY4Y2M4MmQzYjgwNDYwZjk1YzIwZjUzMTcxYzNwMSwKKyAgICAweDEuYzllY2EwZjMyNWI0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS43NDI3NjhjYzgyZDNiODA0NjBmOTVjMjBmNTMxNzFjM3AxLAorICAgIC0weDEuYzllY2EwZjMyNWI0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLmRjMGFhMDAyNWI2MmI3ZmU1YjBjMTNiN2NjNjViYmM2cC0yLAorICAgIDB4MS5jYzZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLmRjMGFhMDAyNWI2MmI3ZmU1YjBjMTNiN2NjNjViYmM2cC0yLAorICAgIC0weDEuY2M2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMHgxLjA2YzljY2Q2MjZjZDg4MDAwMjBlYjllNTQ0NDkwZjZhcDAsCisgICAgMHgxLmNjY2NjY2NkNjk0NTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjA2YzljY2Q2MjZjZDg4MDAwMjBlYjllNTQ0NDkwZjZhcDAsCisgICAgLTB4MS5jY2NjY2NjZDY5NDUxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmQ4NjJlYjVjZGU0YjA4MDBmNWI0NjAwOGE0Mzg0ZjJlcC01LAorICAgIDB4MS5kODJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzEKKyAgICAtMHgxLmQ4NjJlYjVjZGU0YjA4MDBmNWI0NjAwOGE0Mzg0ZjJlcC01LAorICAgIC0weDEuZDgycC01CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjdiMTUwOTA5MTQxMzk3ZmYwMGNkMmNiNWRjZGZjNzk4cDM0NCwKKyAgICAweDEuZGYwZTg0NDM0OTJiNHA3CisgIH0sCisgIHsgLy8gRW50cnkgMjMzCisgICAgLTB4MS43YjE1MDkwOTE0MTM5N2ZmMDBjZDJjYjVkY2RmYzc5OHAzNDQsCisgICAgLTB4MS5kZjBlODQ0MzQ5MmI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEuZjM3MGNjZTk1MmE2MjgzNWNhMjllMTJiMjg0NGNhODJwLTIsCisgICAgMHgxLmUxOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIC0weDEuZjM3MGNjZTk1MmE2MjgzNWNhMjllMTJiMjg0NGNhODJwLTIsCisgICAgLTB4MS5lMThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuZTYxMjNmMTJkYjkyNjgwMjgyOTIwNzQ2YjY3Yjk0ODlwLTYsCisgICAgMHgxLmU2MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIC0weDEuZTYxMjNmMTJkYjkyNjgwMjgyOTIwNzQ2YjY3Yjk0ODlwLTYsCisgICAgLTB4MS5lNjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEuZmM1OTcwMGYyM2ZjODgwNTk1YjI4NmQ5NGNiMTE2MWRwLTIsCisgICAgMHgxLmU5N2U0Y2EwOWNkZTdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMHgxLmZjNTk3MDBmMjNmYzg4MDU5NWIyODZkOTRjYjExNjFkcC0yLAorICAgIC0weDEuZTk3ZTRjYTA5Y2RlN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIDB4MS5hOGEzNTgyMzYxZDgyODAwMDA1ZWMwNzE4YTVlOGU3Y3AxLAorICAgIDB4MS5lYTExYjFhZmRjOTA3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmE4YTM1ODIzNjFkODI4MDAwMDVlYzA3MThhNWU4ZTdjcDEsCisgICAgLTB4MS5lYTExYjFhZmRjOTA3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZjQ1OTJiMmRkZThjZjM4MTNiODE3MzU4ZTI3MWU5ODBwLTMsCisgICAgMHgxLmVmOHAtMworICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIC0weDEuZjQ1OTJiMmRkZThjZjM4MTNiODE3MzU4ZTI3MWU5ODBwLTMsCisgICAgLTB4MS5lZjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDQKKyAgICAweDEuNDhmNjA5ZTdiNmFlY2YwNTlhNGI4YzQ4NGMzYmM0MzVwMjEsCisgICAgMHgxLmVmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuNDhmNjA5ZTdiNmFlY2YwNTlhNGI4YzQ4NGMzYmM0MzVwMjEsCisgICAgLTB4MS5lZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDYKKyAgICAweDEuZGJjYTkyNjNmODQwZmNhNDg0NTBlNDA4ZmEzNmI1NmJwMTc3LAorICAgIDB4MS5lZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLmRiY2E5MjYzZjg0MGZjYTQ4NDUwZTQwOGZhMzZiNTZicDE3NywKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5kMzc2NDE2N2Q4NGMyNjE0NmYxMDk3MTRlZGE5YTE5ZXA3MTUsCisgICAgMHgxLmYwZTU0MGVhMDIyNzJwOAorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuZDM3NjQxNjdkODRjMjYxNDZmMTA5NzE0ZWRhOWExOWVwNzE1LAorICAgIC0weDEuZjBlNTQwZWEwMjI3MnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmY0NGY3Y2Q3OGMwYzhkMGNmZGQzODI2OGI0YzFiMjFhcC01LAorICAgIDB4MS5mM2ZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5mNDRmN2NkNzhjMGM4ZDBjZmRkMzgyNjhiNGMxYjIxYXAtNSwKKyAgICAtMHgxLmYzZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEuZjRlNGZlNDRhMjBlNzNiYmNkZGNiYTBlOWM0NmU4MDNwLTcsCisgICAgMHgxLmY0ZXAtNworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIC0weDEuZjRlNGZlNDRhMjBlNzNiYmNkZGNiYTBlOWM0NmU4MDNwLTcsCisgICAgLTB4MS5mNGVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuZjRmZDQ0NGVmNGMwMjI3M2UwYzBiNTZjM2I2YjE4ZjRwLTExLAorICAgIDB4MS5mNGZkM2Y0ZmQzZjQxcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuZjRmZDQ0NGVmNGMwMjI3M2UwYzBiNTZjM2I2YjE4ZjRwLTExLAorICAgIC0weDEuZjRmZDNmNGZkM2Y0MXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAweDEuZjc3NmMyNTdhNTZiNzgwMTg3YmY5MDVlODA0MTgyNzlwLTksCisgICAgMHgxLmY3NzY3MTM0ZjRjNzJwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAtMHgxLmY3NzZjMjU3YTU2Yjc4MDE4N2JmOTA1ZTgwNDE4Mjc5cC05LAorICAgIC0weDEuZjc3NjcxMzRmNGM3MnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5mNzhlMDUxMmUxMTJiMWM5MTVmMzNiNmQwMDk0Y2JkZnAtMTEsCisgICAgMHgxLmY3OGRmZmZmZmZmZmZwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjU5CisgICAgLTB4MS5mNzhlMDUxMmUxMTJiMWM5MTVmMzNiNmQwMDk0Y2JkZnAtMTEsCisgICAgLTB4MS5mNzhkZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5mZDFhNDcwM2ZmYzhlMmMwOWVlMmQzMTQyZDg3OWQ1M3AtMywKKyAgICAweDEuZjdmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuZmQxYTQ3MDNmZmM4ZTJjMDllZTJkMzE0MmQ4NzlkNTNwLTMsCisgICAgLTB4MS5mN2ZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgMHgxLmZkMmIxMzIxNjg5OTkzZDllN2E0ZjVjYzQyZTQxN2UwcC0zLAorICAgIDB4MS5mODEwNGQxODBlZjEzcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgLTB4MS5mZDJiMTMyMTY4OTk5M2Q5ZTdhNGY1Y2M0MmU0MTdlMHAtMywKKyAgICAtMHgxLmY4MTA0ZDE4MGVmMTNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuZmE4MjQ3YzgzNDIzMDFmZGJmOTE5NDMyNjAwZWVmNmJwLTExLAorICAgIDB4MS5mYTgyNDI5ZTU0ODY3cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuZmE4MjQ3YzgzNDIzMDFmZGJmOTE5NDMyNjAwZWVmNmJwLTExLAorICAgIC0weDEuZmE4MjQyOWU1NDg2N3AtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuZjYxN2EyN2UyNTBjZTFiMDY0ODhlNTE2N2MwODQ5YThwOTAsCisgICAgMHgxLmZkZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuZjYxN2EyN2UyNTBjZTFiMDY0ODhlNTE2N2MwODQ5YThwOTAsCisgICAgLTB4MS5mZGZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuZmVmNTRjZGUxMTg1MWQ0ZGI3OTM4ZWU1N2UwODA0ODZwLTcsCisgICAgMHgxLmZlZWZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLmZlZjU0Y2RlMTE4NTFkNGRiNzkzOGVlNTdlMDgwNDg2cC03LAorICAgIC0weDEuZmVlZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS4wYThkZGNmMTc3ZDFlYjdkYTkwNTJkNGI2ODBjOTNlNHAtMSwKKyAgICAweDEuZmY4ZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuMGE4ZGRjZjE3N2QxZWI3ZGE5MDUyZDRiNjgwYzkzZTRwLTEsCisgICAgLTB4MS5mZjhmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLmZmYjU0OTliOTlmNTAzYjg3NmM5MjMzMTQ2Yjg4NjEwcC02LAorICAgIDB4MS5mZjlmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgLTB4MS5mZmI1NDk5Yjk5ZjUwM2I4NzZjOTIzMzE0NmI4ODYxMHAtNiwKKyAgICAtMHgxLmZmOWZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuZmZkMDA1NTNkNTdkODY3OWZhYWZiYjQxNzkyOTAzN2JwLTExLAorICAgIDB4MS5mZmNmZmZmZmZmZmZmcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuZmZkMDA1NTNkNTdkODY3OWZhYWZiYjQxNzkyOTAzN2JwLTExLAorICAgIC0weDEuZmZjZmZmZmZmZmZmZnAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuNzM4Nzk2Yzc2ZGRkMTFhNGZhZDY3YmRhNmE4NWMwYTNwMTAsCisgICAgMHgxLmZmY2ZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIC0weDEuNzM4Nzk2Yzc2ZGRkMTFhNGZhZDY3YmRhNmE4NWMwYTNwMTAsCisgICAgLTB4MS5mZmNmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuM2ZkNzUyY2ZjYTQ4MWZmNzk2NzlmNzFjOGFhZDYyMzRwOTEsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuM2ZkNzUyY2ZjYTQ4MWZmNzk2NzlmNzFjOGFhZDYyMzRwOTEsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuZmZmYzExNTRkNTFhODhlZDA4NTg2MGRjZTQ1Y2QwZjZwLTEwLAorICAgIDB4MS5mZmZiZmJmZmZmZmZmcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuZmZmYzExNTRkNTFhODhlZDA4NTg2MGRjZTQ1Y2QwZjZwLTEwLAorICAgIC0weDEuZmZmYmZiZmZmZmZmZnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMGFjYjA3ZDE5ZjJlZWMxMjJhMDZlMDVmMmM0YTBkZTRwLTEsCisgICAgMHgxLmZmZmM3ZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAtMHgxLjBhY2IwN2QxOWYyZWVjMTIyYTA2ZTA1ZjJjNGEwZGU0cC0xLAorICAgIC0weDEuZmZmYzdmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS4wMGE5MDk0ZWU4ODA5N2ZmM2Q1NjczNTUyYmMyZWFiNnAtMywKKyAgICAweDEuZmZmYzdmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuMDBhOTA5NGVlODgwOTdmZjNkNTY3MzU1MmJjMmVhYjZwLTMsCisgICAgLTB4MS5mZmZjN2ZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgMHgxLjc0OTVlOTc3MjAyMTc3ZWM2ODUwOGY2ZjVhNWI5MTY1cDEwLAorICAgIDB4MS5mZmZlN2ZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLjc0OTVlOTc3MjAyMTc3ZWM2ODUwOGY2ZjVhNWI5MTY1cDEwLAorICAgIC0weDEuZmZmZTdmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjg4CisgICAgMHgxLmI0YTAxNjVkNjE4YmM3ZmU0ZmQ1YWE2ZmNhYzMwMmMxcDQsCisgICAgMHgxLmZmZmVmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuYjRhMDE2NWQ2MThiYzdmZTRmZDVhYTZmY2FjMzAyYzFwNCwKKyAgICAtMHgxLmZmZmVmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS45NWU0ODE2YjYwYThkNzY5NzI0YjU4NmU0ZGViM2IxYnAxODMsCisgICAgMHgxLmZmZmZmZGZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuOTVlNDgxNmI2MGE4ZDc2OTcyNGI1ODZlNGRlYjNiMWJwMTgzLAorICAgIC0weDEuZmZmZmZkZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgMHgxLjFmNDNmY2M0NDE4MDA4MDBmY2YxZDgzNmQyYzYyZjcycDQ1LAorICAgIDB4MS5mZmZmZmZmZmY5N2Q2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLjFmNDNmY2M0NDE4MDA4MDBmY2YxZDgzNmQyYzYyZjcycDQ1LAorICAgIC0weDEuZmZmZmZmZmZmOTdkNnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuOTQ3NjUwNGJhODIwNTdmNjkzMTA2MDhjMzBlNzZjZWJwNzM3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTcKKyAgICAtMHgxLjk0NzY1MDRiYTgyMDU3ZjY5MzEwNjA4YzMwZTc2Y2VicDczNywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuMjRkMWZkYjBmZGM0OWZhMWVkMmQzM2JlNmQ4NDBjNzVwLTQsCisgICAgMHgxLjI0OTI0OTI0OTI0OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLjI0ZDFmZGIwZmRjNDlmYTFlZDJkMzNiZTZkODQwYzc1cC00LAorICAgIC0weDEuMjQ5MjQ5MjQ5MjQ5MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS4yNTkxNGQ0NzU0YWVjYTU4ODViYTk1M2RiYWM4OGQ4ZnAtMywKKyAgICAweDEuMjQ5MjQ5MjQ5MjQ5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIC0weDEuMjU5MTRkNDc1NGFlY2E1ODg1YmE5NTNkYmFjODhkOGZwLTMsCisgICAgLTB4MS4yNDkyNDkyNDkyNDkycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzAzCisgICAgMHgxLmJhMzkzNGRlMjkzMDY4ZTgyMjIwYzM3MDRjNTc1MGI3cC0zLAorICAgIDB4MS5iNmRiNmRiNmRiNmRicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzA0CisgICAgLTB4MS5iYTM5MzRkZTI5MzA2OGU4MjIyMGMzNzA0YzU3NTBiN3AtMywKKyAgICAtMHgxLmI2ZGI2ZGI2ZGI2ZGJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuMjg5MTdhMzVmNTliODk5MDkxMWIwNWVkYmM2ZjZiYTFwLTIsCisgICAgMHgxLjI0OTI0OTI0OTI0OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAtMHgxLjI4OTE3YTM1ZjU5Yjg5OTA5MTFiMDVlZGJjNmY2YmExcC0yLAorICAgIC0weDEuMjQ5MjQ5MjQ5MjQ5MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIDB4MS43NTg5ZGVlNmRlMGEyZWM2NDg4NTI0OTBlOWFlNTRlMnAtMiwKKyAgICAweDEuNmRiNmRiNmRiNmRiNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0weDEuNzU4OWRlZTZkZTBhMmVjNjQ4ODUyNDkwZTlhZTU0ZTJwLTIsCisgICAgLTB4MS42ZGI2ZGI2ZGI2ZGI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgMHgxLmM0NmE1YmNkM2MyYzM2OGMyNTkxYjhiYmE3ZTI0MjU2cC0yLAorICAgIDB4MS5iNmRiNmRiNmRiNmRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzEwCisgICAgLTB4MS5jNDZhNWJjZDNjMmMzNjhjMjU5MWI4YmJhN2UyNDI1NnAtMiwKKyAgICAtMHgxLmI2ZGI2ZGI2ZGI2ZGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuMGFjZDAwZmU2M2I5NWE5ODk2MDMyYzc4ZGUyMzIzYzZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAtMHgxLjBhY2QwMGZlNjNiOTVhOTg5NjAzMmM3OGRlMjMyM2M2cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIDB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIC0weDEuMGFjZDAwZmU2M2I5NmNhMzU3ODk1NzYxYWU2NjIyNGFwLTEsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgMHgxLjM0YzE3MzdmMjYyNTAwNThkZjE3YWEwZGE4OWFhNWZjcC0xLAorICAgIDB4MS4yNDkyNDkyNDkyNDkycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgLTB4MS4zNGMxNzM3ZjI2MjUwMDU4ZGYxN2FhMGRhODlhYTVmY3AtMSwKKyAgICAtMHgxLjI0OTI0OTI0OTI0OTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAweDEuNjA0OTU3YjZlOTIyM2FiOWYwYWNkNWNkMDg3ZDlkNGJwLTEsCisgICAgMHgxLjQ5MjQ5MjQ5MjQ5MjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAtMHgxLjYwNDk1N2I2ZTkyMjNhYjlmMGFjZDVjZDA4N2Q5ZDRicC0xLAorICAgIC0weDEuNDkyNDkyNDkyNDkyNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxOQorICAgIDB4MS44ZDlkOGYxZjllY2I5MjllMDkxMDNmMTkwMTQ5NDMzZHAtMSwKKyAgICAweDEuNmRiNmRiNmRiNmRiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIC0weDEuOGQ5ZDhmMWY5ZWNiOTI5ZTA5MTAzZjE5MDE0OTQzM2RwLTEsCisgICAgLTB4MS42ZGI2ZGI2ZGI2ZGI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgMHgxLmJjZjk1NGIyNTAzODIwODU3ZjRkYmVmYTAzNmY4ZTVlcC0xLAorICAgIDB4MS45MjQ5MjQ5MjQ5MjQ4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgLTB4MS5iY2Y5NTRiMjUwMzgyMDg1N2Y0ZGJlZmEwMzZmOGU1ZXAtMSwKKyAgICAtMHgxLjkyNDkyNDkyNDkyNDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuZWU5YThhNGMzYzcyYmNhYmNiN2IyOTI0ZDMxNGVmYTJwLTEsCisgICAgMHgxLmI2ZGI2ZGI2ZGI2ZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLmVlOWE4YTRjM2M3MmJjYWJjYjdiMjkyNGQzMTRlZmEycC0xLAorICAgIC0weDEuYjZkYjZkYjZkYjZkYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4xMTYxMDRjNTg3OGQ0Y2Y1M2ZlMmMxZjM4OTZlYzY3MnAwLAorICAgIDB4MS5kYjZkYjZkYjZkYjZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS4xMTYxMDRjNTg3OGQ0Y2Y1M2ZlMmMxZjM4OTZlYzY3MnAwLAorICAgIC0weDEuZGI2ZGI2ZGI2ZGI2Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4yY2Q5ZmM0NGViOTgwY2Y3OGNmNzZlODliNjlhM2U4OHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS4yY2Q5ZmM0NGViOTgwY2Y3OGNmNzZlODliNjlhM2U4OHAwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuMThlMWUwNDcyMjc0ZTY3NjU0ZDBmODU1YzM2ZTg2MWRwLTYsCisgICAgMHgxLjE4ZGU1YWIyNzdmNDVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLjE4ZTFlMDQ3MjI3NGU2NzY1NGQwZjg1NWMzNmU4NjFkcC02LAorICAgIC0weDEuMThkZTVhYjI3N2Y0NXAtNgorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS4xOGVjNzEyZGQ0OWE3NTgzY2ZlODFjNWRjY2ZkOTliNHAtNSwKKyAgICAweDEuMThkZTVhYjI3N2Y0NXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIC0weDEuMThlYzcxMmRkNDlhNzU4M2NmZTgxYzVkY2NmZDk5YjRwLTUsCisgICAgLTB4MS4xOGRlNWFiMjc3ZjQ1cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLmE1N2QxNGQwZmNjMDZjMjk3YjUxMWViMTA1YzM5YjUxcC01LAorICAgIDB4MS5hNTRkODgwYmIzZWU4cC01CisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS5hNTdkMTRkMGZjYzA2YzI5N2I1MTFlYjEwNWMzOWI1MXAtNSwKKyAgICAtMHgxLmE1NGQ4ODBiYjNlZThwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuMTkxNmI3MmIyNjQ4ZDY1ZjA0MmU3MDFiMTRhMzcxZGRwLTQsCisgICAgMHgxLjE4ZGU1YWIyNzdmNDVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLjE5MTZiNzJiMjY0OGQ2NWYwNDJlNzAxYjE0YTM3MWRkcC00LAorICAgIC0weDEuMThkZTVhYjI3N2Y0NXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS41Zjg0MDliNGUyZDE4YWRhNTU4NDgyOTZmNzE0ODRiMnAtNCwKKyAgICAweDEuNWYxNWYxNWYxNWYxNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIC0weDEuNWY4NDA5YjRlMmQxOGFkYTU1ODQ4Mjk2ZjcxNDg0YjJwLTQsCisgICAgLTB4MS41ZjE1ZjE1ZjE1ZjE2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLmE2MGJjZTczMDI0YjBlZjM3MTc1ZDMxYWE1YTk0MWU2cC00LAorICAgIDB4MS5hNTRkODgwYmIzZWU3cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5hNjBiY2U3MzAyNGIwZWYzNzE3NWQzMWFhNWE5NDFlNnAtNCwKKyAgICAtMHgxLmE1NGQ4ODBiYjNlZTdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAweDEuZWNiMzUzZDAyZDVmYzA1NmNlYjJjZTllMDhiOGY4ZDVwLTQsCisgICAgMHgxLmViODUxZWI4NTFlYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAtMHgxLmVjYjM1M2QwMmQ1ZmMwNTZjZWIyY2U5ZTA4YjhmOGQ1cC00LAorICAgIC0weDEuZWI4NTFlYjg1MWViOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5lY2IzNTNkMDJkNWZjMDU2Y2ViMmNlOWUwOGI4ZjhkNXAtNCwKKyAgICAweDEuZWI4NTFlYjg1MWViOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuZWNiMzUzZDAyZDVmYzA1NmNlYjJjZTllMDhiOGY4ZDVwLTQsCisgICAgLTB4MS5lYjg1MWViODUxZWI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjAyMjQzY2UwNTQ5Zjk4MGRjN2M3ZDMyYzU2Njg3YjYxcC0zLAorICAgIDB4MS4wMTc2N2RjZTQzNGFhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgLTB4MS4wMjI0M2NlMDU0OWY5ODBkYzdjN2QzMmM1NjY4N2I2MXAtMywKKyAgICAtMHgxLjAxNzY3ZGNlNDM0YWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAweDEuMGRmMGY4NDFmZDRhNjk5OTg3MDNkMmZmYmYwZTE1NDRwLTMsCisgICAgMHgxLjBkMmE2YzQwNWQ5ZjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMHgxLjBkZjBmODQxZmQ0YTY5OTk4NzAzZDJmZmJmMGUxNTQ0cC0zLAorICAgIC0weDEuMGQyYTZjNDA1ZDlmOHAtMworICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIDB4MS4xOWJmZjU0ZDRkMWNhMjUyNDM4YmZjYWQ0NDg1YmJlZXAtMywKKyAgICAweDEuMThkZTVhYjI3N2Y0NnAtMworICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIC0weDEuMTliZmY1NGQ0ZDFjYTI1MjQzOGJmY2FkNDQ4NWJiZWVwLTMsCisgICAgLTB4MS4xOGRlNWFiMjc3ZjQ2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjI1OTE0ZDQ3NTRhZWVhYWM0MWE4NTQzYzBlNWY4NGJmcC0zLAorICAgIDB4MS4yNDkyNDkyNDkyNDk0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgLTB4MS4yNTkxNGQ0NzU0YWVlYWFjNDFhODU0M2MwZTVmODRiZnAtMywKKyAgICAtMHgxLjI0OTI0OTI0OTI0OTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuMzE2NTE5N2EyZWQ5Y2IwZGM5MGY5YmIxMzZhOTkwNTdwLTMsCisgICAgMHgxLjMwNDYzNzk2YWM5ZTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLjMxNjUxOTdhMmVkOWNiMGRjOTBmOWJiMTM2YTk5MDU3cC0zLAorICAgIC0weDEuMzA0NjM3OTZhYzllMnAtMworICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS4zZDNiNzMzNTM2ZDNmOWU0OGMxNjI2Nzc2YzE4NDUwZnAtMywKKyAgICAweDEuM2JmYTI2MDhjNmYzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuM2QzYjczMzUzNmQzZjllNDhjMTYyNjc3NmMxODQ1MGZwLTMsCisgICAgLTB4MS4zYmZhMjYwOGM2ZjMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLjQ5MTQ3M2NkM2U1YmI2MDExNjgwZTFjNDEyYjc1MjI2cC0zLAorICAgIDB4MS40N2FlMTQ3YWUxNDdicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgLTB4MS40OTE0NzNjZDNlNWJiNjAxMTY4MGUxYzQxMmI3NTIyNnAtMywKKyAgICAtMHgxLjQ3YWUxNDdhZTE0N2JwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjAKKyAgICAweDEuNDkxNDczY2QzZTViYjYwMTE2ODBlMWM0MTJiNzUyMjZwLTMsCisgICAgMHgxLjQ3YWUxNDdhZTE0N2JwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAtMHgxLjQ5MTQ3M2NkM2U1YmI2MDExNjgwZTFjNDEyYjc1MjI2cC0zLAorICAgIC0weDEuNDdhZTE0N2FlMTQ3YnAtMworICB9LAorICB7IC8vIEVudHJ5IDM2MgorICAgIDB4MS4yMjdiMmYyN2U2ZWZlMDNkNzJiMmMzMTFkMjljNzg4NHAtMiwKKyAgICAweDEuMWViODUxZWI4NTFlY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM2MworICAgIC0weDEuMjI3YjJmMjdlNmVmZTAzZDcyYjJjMzExZDI5Yzc4ODRwLTIsCisgICAgLTB4MS4xZWI4NTFlYjg1MWVjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLmE0OWM0MWY4NTBlZDI2ODBlZTk0ZGEzMTgzYzg5YTUycC0yLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgLTB4MS5hNDljNDFmODUwZWQyNjgwZWU5NGRhMzE4M2M4OWE1MnAtMiwKKyAgICAtMHgxLjk5OTk5OTk5OTk5OWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjYKKyAgICAweDEuMTY2NmRkOGMxN2FjOTk4NmQzY2Q0MDE4MzY0ZmMyZWNwLTEsCisgICAgMHgxLjBhM2Q3MGEzZDcwYTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjE2NjZkZDhjMTdhYzk5ODZkM2NkNDAxODM2NGZjMmVjcC0xLAorICAgIC0weDEuMGEzZDcwYTNkNzBhNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2OAorICAgIDB4MS41ZTgzMjI3NTY5MWYyOWM3NTRhNjlmMDhhMGJkYTA2MHAtMSwKKyAgICAweDEuNDdhZTE0N2FlMTQ3YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2OQorICAgIC0weDEuNWU4MzIyNzU2OTFmMjljNzU0YTY5ZjA4YTBiZGEwNjBwLTEsCisgICAgLTB4MS40N2FlMTQ3YWUxNDdicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLmFiYWQxNTViNjc1MWE2OTcxMzBkOGZhYWZlOWQ1MTJjcC0xLAorICAgIDB4MS44NTFlYjg1MWViODUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgLTB4MS5hYmFkMTU1YjY3NTFhNjk3MTMwZDhmYWFmZTlkNTEyY3AtMSwKKyAgICAtMHgxLjg1MWViODUxZWI4NTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzIKKyAgICAweDEuZmYwMTgyYTA2MmM4NTU5MjZmZTYzNzNmOWIzYWZkNThwLTEsCisgICAgMHgxLmMyOGY1YzI4ZjVjMjlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLmZmMDE4MmEwNjJjODU1OTI2ZmU2MzczZjliM2FmZDU4cC0xLAorICAgIC0weDEuYzI4ZjVjMjhmNWMyOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3NAorICAgIDB4MS4yY2Q5ZmM0NGViOTgyNWE4MDI0OTQ4N2YwNjRmZmQ1Y3AwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLjJjZDlmYzQ0ZWI5ODI1YTgwMjQ5NDg3ZjA2NGZmZDVjcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzYKKyAgICAweDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS4yY2Q5ZmM0NGViOTgyNWE4MDI0OTQ4N2YwNjRmZmQ1Y3AwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLmMwMzRhN2NkNmNlOWFkZTRmNjExZmRkMDVkMTA5Y2Y2cDcsCisgICAgMHgxLjg2YmM4OGNiZjFiNjdwMgorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIC0weDEuYzAzNGE3Y2Q2Y2U5YWRlNGY2MTFmZGQwNWQxMDljZjZwNywKKyAgICAtMHgxLjg2YmM4OGNiZjFiNjdwMgorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS4yMGFmNmNiOTg1OWViMjNlOTFlNjNjMjhkMThiMGQwYXAxNSwKKyAgICAweDEuNjZiYzg4Y2JmMWI2N3AzCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgLTB4MS4yMGFmNmNiOTg1OWViMjNlOTFlNjNjMjhkMThiMGQwYXAxNSwKKyAgICAtMHgxLjY2YmM4OGNiZjFiNjdwMworICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS43M2UwOTZjZjU3YWZjZTdhZGY5ZjFiMmEyMTZhNWRiNXAyMiwKKyAgICAweDEuMDUwZDY2OThmNTQ4ZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgLTB4MS43M2UwOTZjZjU3YWZjZTdhZGY5ZjFiMmEyMTZhNWRiNXAyMiwKKyAgICAtMHgxLjA1MGQ2Njk4ZjU0OGRwNAorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIDB4MS5kZjBiMTNhODQ1MTNlMmNlYjE4MDUwN2M1NGM1YjkwNHAyOSwKKyAgICAweDEuNTZiYzg4Y2JmMWI2N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgLTB4MS5kZjBiMTNhODQ1MTNlMmNlYjE4MDUwN2M1NGM1YjkwNHAyOSwKKyAgICAtMHgxLjU2YmM4OGNiZjFiNjdwNAorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS4zNDhiYzFlMDE4YmM1OTNjZTJmOWQxYmMwZjM3ZTE0ZnAzNywKKyAgICAweDEuYTg2YmFhZmVlZTI0MXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgLTB4MS4zNDhiYzFlMDE4YmM1OTNjZTJmOWQxYmMwZjM3ZTE0ZnAzNywKKyAgICAtMHgxLmE4NmJhYWZlZWUyNDFwNAorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS44ZDc2MWEzMzk4OTQyNDQ4ZWE3OTZjNjU3NDhhODY5ZXA0NCwKKyAgICAweDEuZmExYWNkMzFlYTkxYnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgLTB4MS44ZDc2MWEzMzk4OTQyNDQ4ZWE3OTZjNjU3NDhhODY5ZXA0NCwKKyAgICAtMHgxLmZhMWFjZDMxZWE5MWJwNAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS5mZmZmZmZmZmZmZmY5ZWRlNjdiN2EzMGU2NjFjNzllMnA1MSwKKyAgICAweDEuMjVlNGY3YjI3MzdmYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgLTB4MS5mZmZmZmZmZmZmZmY5ZWRlNjdiN2EzMGU2NjFjNzllMnA1MSwKKyAgICAtMHgxLjI1ZTRmN2IyNzM3ZmFwNQorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS5mZmZmZmZmZGZmZmVjYTg2YzM4ODU3ODZhMmIyMzA2ZnAxNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgLTB4MS5mZmZmZmZmZGZmZmVjYTg2YzM4ODU3ODZhMmIyMzA2ZnAxNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwMworICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS5mZmZmZmZmZGZmZmZjYTg2YzM4OTU3ODY0N2Y1OTIzNHAxNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgLTB4MS5mZmZmZmZmZGZmZmZjYTg2YzM4OTU3ODY0N2Y1OTIzNHAxNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwMworICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS5mZmZmZmZmZTAwMDBjYTg2YzM4YTU3ODY2ZDM4ZjNmOHAxNCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS5mZmZmZmZmZTAwMDBjYTg2YzM4YTU3ODY2ZDM4ZjNmOHAxNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMworICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDB4MS5mZmZkZmZmZmZmZmY2NTQyYzcwODI4NDQ5ZWIyMWNkMHA2LAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAtMHgxLmZmZmRmZmZmZmZmZjY1NDJjNzA4Mjg0NDllYjIxY2QwcDYsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuZmZmZGZmZmZmZmZmZTU0MzQ3MDgyODQ0ODgwMzBiZjFwNiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS5mZmZkZmZmZmZmZmZlNTQzNDcwODI4NDQ4ODAzMGJmMXA2LAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgMHgxLmZmZmUwMDAwMDAwMDY1NDNjNzA4Mjg0NDkxNTNkYjExcDYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIC0weDEuZmZmZTAwMDAwMDAwNjU0M2M3MDgyODQ0OTE1M2RiMTFwNiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS5mZGZmZmZmZmZmZmZiMjU0NTI5MzQ1YTMyNjFiNTFlZXAyLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAtMHgxLmZkZmZmZmZmZmZmZmIyNTQ1MjkzNDVhMzI2MWI1MWVlcDIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAweDEuZmRmZmZmZmZmZmZmZjI5NDUyOTM0NWEzMjA3NTMzZDRwMiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS5mZGZmZmZmZmZmZmZmMjk0NTI5MzQ1YTMyMDc1MzNkNHAyLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLmZlMDAwMDAwMDAwMDMyZDQ1MjkzNDVhMzIyYzcxNWJhcDIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIC0weDEuZmUwMDAwMDAwMDAwMzJkNDUyOTM0NWEzMjJjNzE1YmFwMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS5kZmZmZmZmZmZmZmZkNmU1ZTVmODQ0YjlmMDk2MjM5ZXAwLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAtMHgxLmRmZmZmZmZmZmZmZmQ2ZTVlNWY4NDRiOWYwOTYyMzllcDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZGZmZmZmZmZmZmZmZjhlNWU1Zjg0NGI5ZWY0MWUwNGNwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5kZmZmZmZmZmZmZmZmOGU1ZTVmODQ0YjllZjQxZTA0Y3AwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgMHgxLmUwMDAwMDAwMDAwMDFhZTVlNWY4NDRiOWVmY2Q5Y2ZicDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIC0weDEuZTAwMDAwMDAwMDAwMWFlNWU1Zjg0NGI5ZWZjZDljZmJwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIDB4MS43ZmZmZmZmZmZmZmZlN2QyODc0NmJmMDNmNjY2YmNlNHAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIC0weDEuN2ZmZmZmZmZmZmZmZTdkMjg3NDZiZjAzZjY2NmJjZTRwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLjdmZmZmZmZmZmZmZmZiZDI4NzQ2YmYwM2Y2MjJhZjZlcC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS43ZmZmZmZmZmZmZmZmYmQyODc0NmJmMDNmNjIyYWY2ZXAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuODAwMDAwMDAwMDAwMGZkMjg3NDZiZjAzZjYzZWExZjdwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDBmZDI4NzQ2YmYwM2Y2M2VhMWY3cC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIDB4MS42YTA5ZTY2N2YzYmNiNDg0YzIyMzhjZTQ4MTM4NGM0NHAtMiwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIC0weDEuNmEwOWU2NjdmM2JjYjQ4NGMyMjM4Y2U0ODEzODRjNDRwLTIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLjZhMDllNjY3ZjNiY2M1N2QzOGYwNmM1MTVhOTRhYTYwcC0yLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgLTB4MS42YTA5ZTY2N2YzYmNjNTdkMzhmMDZjNTE1YTk0YWE2MHAtMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAweDEuNmEwOWU2NjdmM2JjZDY3NWFmYmQ0YmJlMzQwN2E5MWJwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2Q2NzVhZmJkNGJiZTM0MDdhOTFicC0yLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIDB4MS42NGFiOGY2MTEzNGY4YzA3MzM1YWUwMTQzZjFhYTllN3AtMywKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIC0weDEuNjRhYjhmNjExMzRmOGMwNzMzNWFlMDE0M2YxYWE5ZTdwLTMsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLjY0YWI4ZjYxMTM0ZjljNDRkYTQ2NGZhNGI1MDU0Y2M2cC0zLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMxCisgICAgLTB4MS42NGFiOGY2MTEzNGY5YzQ0ZGE0NjRmYTRiNTA1NGNjNnAtMywKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAweDEuNjRhYjhmNjExMzRmYWM4MjgxMzFiZjM1MmFmNTgyNTNwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLjY0YWI4ZjYxMTM0ZmFjODI4MTMxYmYzNTJhZjU4MjUzcC0zLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS42MzU1ZTZmZmJmOWI5MThmMTAxOGM2ODY0YzkxMmMwYnAtNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIC0weDEuNjM1NWU2ZmZiZjliOTE4ZjEwMThjNjg2NGM5MTJjMGJwLTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLjYzNTVlNmZmYmY5YmExOWU3MjZlNDQxODJiYzgxNjY2cC00LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM3CisgICAgLTB4MS42MzU1ZTZmZmJmOWJhMTllNzI2ZTQ0MTgyYmM4MTY2NnAtNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzgKKyAgICAweDEuNjM1NWU2ZmZiZjliYjFhZGQ0YzNjMWFhMGIwMDY0MThwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzkKKyAgICAtMHgxLjYzNTVlNmZmYmY5YmIxYWRkNGMzYzFhYTBiMDA2NDE4cC00LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS42MzAwOWJhNzQwYTI4Yzc0YzVlMzlhYmJjYjZkM2U1NHAtNSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIC0weDEuNjMwMDliYTc0MGEyOGM3NGM1ZTM5YWJiY2I2ZDNlNTRwLTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgMHgxLjYzMDA5YmE3NDBhMjljNzg5ZTAyYzBhNDg5N2ZhZmE0cC01LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS42MzAwOWJhNzQwYTI5Yzc4OWUwMmMwYTQ4OTdmYWZhNHAtNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDQKKyAgICAweDEuNjMwMDliYTc0MGEyYWM3Yzc2MjFlNjhkNDc5Mjc5YjNwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAtMHgxLjYzMDA5YmE3NDBhMmFjN2M3NjIxZTY4ZDQ3OTI3OWIzcC01LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS42MmViNGFiY2M1YTdmYjI3NDhiMDExNGRhODMyMTZjOHAtNiwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIC0weDEuNjJlYjRhYmNjNWE3ZmIyNzQ4YjAxMTRkYTgzMjE2YzhwLTYsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgMHgxLjYyZWI0YWJjYzVhODBiMjgzZWIwNzdhMWIyNjk0ZWQycC02LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS42MmViNGFiY2M1YTgwYjI4M2ViMDc3YTFiMjY5NGVkMnAtNiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuNjJlYjRhYmNjNWE4MWIyOTM0YjBkZGY1YmNhMDlkMGJwLTYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAtMHgxLjYyZWI0YWJjYzVhODFiMjkzNGIwZGRmNWJjYTA5ZDBicC02LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIC0weDEuMDAwMDAwMDAwMDAwY2E4NWMzODk4Y2ZmZDFiZTZlNjFwMzEsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAweDEuMDAwMDAwMDAwMDAwY2E4NWMzODk4Y2ZmZDFiZTZlNjFwMzEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwNAorICB9LAorICB7IC8vIEVudHJ5IDQ1NAorICAgIC0weDEuZmZmZmZmZmZmZmZmOTUwYjg3MTMxOWZmMGU2ZDU1YjBwMzAsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuZmZmZmZmZmZmZmZmOTUwYjg3MTMxOWZmMGU2ZDU1YjBwMzAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwNAorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIC0weDEuZmZmZmZmZmZmZmZkOTUwYjg3MTMxYTAwNzk1ZGNlOWRwMzAsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTcKKyAgICAweDEuZmZmZmZmZmZmZmZkOTUwYjg3MTMxYTAwNzk1ZGNlOWRwMzAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwNAorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIC0weDEuZmZmZmZmZmUwMDAwY2E4NmMzOGE1Nzg2NmQzOGYzZjhwMTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuZmZmZmZmZmUwMDAwY2E4NmMzOGE1Nzg2NmQzOGYzZjhwMTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwMworICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuZmZmZmZmZmRmZmZmY2E4NmMzODk1Nzg2NDdmNTkyMzRwMTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjEKKyAgICAweDEuZmZmZmZmZmRmZmZmY2E4NmMzODk1Nzg2NDdmNTkyMzRwMTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwMworICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIC0weDEuZmZmZmZmZmRmZmZlY2E4NmMzODg1Nzg2YTJiMjMwNmZwMTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjMKKyAgICAweDEuZmZmZmZmZmRmZmZlY2E4NmMzODg1Nzg2YTJiMjMwNmZwMTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMworICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIC0weDEuZmZmZTAwMDAwMDAwNjU0M2M3MDgyODQ0OTE1M2RiMTFwNiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMgorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS5mZmZlMDAwMDAwMDA2NTQzYzcwODI4NDQ5MTUzZGIxMXA2LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAtMHgxLmZmZmRmZmZmZmZmZmU1NDM0NzA4Mjg0NDg4MDMwYmYxcDYsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjcKKyAgICAweDEuZmZmZGZmZmZmZmZmZTU0MzQ3MDgyODQ0ODgwMzBiZjFwNiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgLTB4MS5mZmZkZmZmZmZmZmY2NTQyYzcwODI4NDQ5ZWIyMWNkMHA2LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLmZmZmRmZmZmZmZmZjY1NDJjNzA4Mjg0NDllYjIxY2QwcDYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMgorICB9LAorICB7IC8vIEVudHJ5IDQ3MAorICAgIC0weDEuZmUwMDAwMDAwMDAwMzJkNDUyOTM0NWEzMjJjNzE1YmFwMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMQorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS5mZTAwMDAwMDAwMDAzMmQ0NTI5MzQ1YTMyMmM3MTViYXAyLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAtMHgxLmZkZmZmZmZmZmZmZmYyOTQ1MjkzNDVhMzIwNzUzM2Q0cDIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAweDEuZmRmZmZmZmZmZmZmZjI5NDUyOTM0NWEzMjA3NTMzZDRwMiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgLTB4MS5mZGZmZmZmZmZmZmZiMjU0NTI5MzQ1YTMyNjFiNTFlZXAyLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLmZkZmZmZmZmZmZmZmIyNTQ1MjkzNDVhMzI2MWI1MWVlcDIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIC0weDEuZTAwMDAwMDAwMDAwMWFlNWU1Zjg0NGI5ZWZjZDljZmJwMCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS5lMDAwMDAwMDAwMDAxYWU1ZTVmODQ0YjllZmNkOWNmYnAwLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAtMHgxLmRmZmZmZmZmZmZmZmY4ZTVlNWY4NDRiOWVmNDFlMDRjcDAsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuZGZmZmZmZmZmZmZmZjhlNWU1Zjg0NGI5ZWY0MWUwNGNwMCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgLTB4MS5kZmZmZmZmZmZmZmZkNmU1ZTVmODQ0YjlmMDk2MjM5ZXAwLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLmRmZmZmZmZmZmZmZmQ2ZTVlNWY4NDRiOWYwOTYyMzllcDAsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIC0weDEuODAwMDAwMDAwMDAwMGZkMjg3NDZiZjAzZjYzZWExZjdwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgMHgxLjgwMDAwMDAwMDAwMDBmZDI4NzQ2YmYwM2Y2M2VhMWY3cC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDg0CisgICAgLTB4MS43ZmZmZmZmZmZmZmZmYmQyODc0NmJmMDNmNjIyYWY2ZXAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAweDEuN2ZmZmZmZmZmZmZmZmJkMjg3NDZiZjAzZjYyMmFmNmVwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmU3ZDI4NzQ2YmYwM2Y2NjZiY2U0cC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIDB4MS43ZmZmZmZmZmZmZmZlN2QyODc0NmJmMDNmNjY2YmNlNHAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIC0weDEuNmEwOWU2NjdmM2JjZDY3NWFmYmQ0YmJlMzQwN2E5MWJwLTIsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLjZhMDllNjY3ZjNiY2Q2NzVhZmJkNGJiZTM0MDdhOTFicC0yLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgLTB4MS42YTA5ZTY2N2YzYmNjNTdkMzhmMDZjNTE1YTk0YWE2MHAtMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTEKKyAgICAweDEuNmEwOWU2NjdmM2JjYzU3ZDM4ZjA2YzUxNWE5NGFhNjBwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2I0ODRjMjIzOGNlNDgxMzg0YzQ0cC0yLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS42YTA5ZTY2N2YzYmNiNDg0YzIyMzhjZTQ4MTM4NGM0NHAtMiwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIC0weDEuNjRhYjhmNjExMzRmYWM4MjgxMzFiZjM1MmFmNTgyNTNwLTMsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLjY0YWI4ZjYxMTM0ZmFjODI4MTMxYmYzNTJhZjU4MjUzcC0zLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgLTB4MS42NGFiOGY2MTEzNGY5YzQ0ZGE0NjRmYTRiNTA1NGNjNnAtMywKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuNjRhYjhmNjExMzRmOWM0NGRhNDY0ZmE0YjUwNTRjYzZwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAtMHgxLjY0YWI4ZjYxMTM0ZjhjMDczMzVhZTAxNDNmMWFhOWU3cC0zLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIDB4MS42NGFiOGY2MTEzNGY4YzA3MzM1YWUwMTQzZjFhYTllN3AtMywKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtMworICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIC0weDEuNjM1NWU2ZmZiZjliYjFhZGQ0YzNjMWFhMGIwMDY0MThwLTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLjYzNTVlNmZmYmY5YmIxYWRkNGMzYzFhYTBiMDA2NDE4cC00LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTAyCisgICAgLTB4MS42MzU1ZTZmZmJmOWJhMTllNzI2ZTQ0MTgyYmM4MTY2NnAtNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAweDEuNjM1NWU2ZmZiZjliYTE5ZTcyNmU0NDE4MmJjODE2NjZwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAtMHgxLjYzNTVlNmZmYmY5YjkxOGYxMDE4YzY4NjRjOTEyYzBicC00LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIDB4MS42MzU1ZTZmZmJmOWI5MThmMTAxOGM2ODY0YzkxMmMwYnAtNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIC0weDEuNjMwMDliYTc0MGEyYWM3Yzc2MjFlNjhkNDc5Mjc5YjNwLTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLjYzMDA5YmE3NDBhMmFjN2M3NjIxZTY4ZDQ3OTI3OWIzcC01LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgLTB4MS42MzAwOWJhNzQwYTI5Yzc4OWUwMmMwYTQ4OTdmYWZhNHAtNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAweDEuNjMwMDliYTc0MGEyOWM3ODllMDJjMGE0ODk3ZmFmYTRwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAtMHgxLjYzMDA5YmE3NDBhMjhjNzRjNWUzOWFiYmNiNmQzZTU0cC01LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIDB4MS42MzAwOWJhNzQwYTI4Yzc0YzVlMzlhYmJjYjZkM2U1NHAtNSwKKyAgICAweDEuNjJlNDJmZWZhMzllZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxMgorICAgIDB4MS5iZmViMzIwNjk1ODQ2MWUwY2Q5NDliNzQwMzk3Mzc0YnAyNjIsCisgICAgMHgxLjZkYjZkYjZkYjZkYjdwNworICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuYmZlYjMyMDY5NTg0NjFlMGNkOTQ5Yjc0MDM5NzM3NGJwMjYyLAorICAgIC0weDEuNmRiNmRiNmRiNmRiN3A3CisgIH0sCisgIHsgLy8gRW50cnkgNTE0CisgICAgMHgxLmVlNGFkZmZjNDgxNmMxOTZjYzg1YzU3OWI0OWI3MTNjcDM0MSwKKyAgICAweDEuZGI2ZGI2ZGI2ZGI2ZXA3CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS5lZTRhZGZmYzQ4MTZjMTk2Y2M4NWM1NzliNDliNzEzY3AzNDEsCisgICAgLTB4MS5kYjZkYjZkYjZkYjZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuMTBiYmQzMDRlNGQ1MzMxNzE5MWRiODAxNjhmNDFlODhwNDIxLAorICAgIDB4MS4yNDkyNDkyNDkyNDkycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAtMHgxLjEwYmJkMzA0ZTRkNTMzMTcxOTFkYjgwMTY4ZjQxZTg4cDQyMSwKKyAgICAtMHgxLjI0OTI0OTI0OTI0OTJwOAorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS4yY2Y4NjIxYWEzZWFjYmNlM2M1YzZhYWM3YTUyZTg3MnA1MDAsCisgICAgMHgxLjViNmRiNmRiNmRiNmRwOAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuMmNmODYyMWFhM2VhY2JjZTNjNWM2YWFjN2E1MmU4NzJwNTAwLAorICAgIC0weDEuNWI2ZGI2ZGI2ZGI2ZHA4CisgIH0sCisgIHsgLy8gRW50cnkgNTIwCisgICAgMHgxLjRjMjE1Mzk1NzJjMTliNTlmYzYyOTEyOWQzMDdkOWIxcDU3OSwKKyAgICAweDEuOTI0OTI0OTI0OTI0OHA4CisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgLTB4MS40YzIxNTM5NTcyYzE5YjU5ZmM2MjkxMjlkMzA3ZDliMXA1NzksCisgICAgLTB4MS45MjQ5MjQ5MjQ5MjQ4cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAweDEuNmU4NDIyYjRkYjMzYjYyOTNjZDQ0Y2QxYzY1NTg1YjJwNjU4LAorICAgIDB4MS5jOTI0OTI0OTI0OTIzcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjMKKyAgICAtMHgxLjZlODQyMmI0ZGIzM2I2MjkzY2Q0NGNkMWM2NTU4NWIycDY1OCwKKyAgICAtMHgxLmM5MjQ5MjQ5MjQ5MjNwOAorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS42ZGRlNGM4NTVmMzM5N2NkMDVmMzgzZTJhZDVlZjIxOXA5MzUsCisgICAgMHgxLjQ0OTI0OTI0OTI0OTJwOQorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuNmRkZTRjODU1ZjMzOTdjZDA1ZjM4M2UyYWQ1ZWYyMTlwOTM1LAorICAgIC0weDEuNDQ5MjQ5MjQ5MjQ5MnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTI2CisgICAgMHgxLmExNzhkMjUzZmMzNWEwYjk4MDJkOWNkNWY2N2NiN2VmcDk0OCwKKyAgICAweDEuNDkyNDkyNDkyNDkyNHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS5hMTc4ZDI1M2ZjMzVhMGI5ODAyZDljZDVmNjdjYjdlZnA5NDgsCisgICAgLTB4MS40OTI0OTI0OTI0OTI0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAweDEuZGM1YTljOTdlYTEzYTAwNjI4MjgzODZkYzI0NjBhYzJwOTYxLAorICAgIDB4MS40ZGI2ZGI2ZGI2ZGI2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAtMHgxLmRjNWE5Yzk3ZWExM2EwMDYyODI4Mzg2ZGMyNDYwYWMycDk2MSwKKyAgICAtMHgxLjRkYjZkYjZkYjZkYjZwOQorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS4wZmM1M2M3MjcxNTVkOWRkMDAxNzMzZDQyNThlMzIwM3A5NzUsCisgICAgMHgxLjUyNDkyNDkyNDkyNDhwOQorICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuMGZjNTNjNzI3MTU1ZDlkZDAwMTczM2Q0MjU4ZTMyMDNwOTc1LAorICAgIC0weDEuNTI0OTI0OTI0OTI0OHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLjM2MWEyMmY1ODc5YTE1ODEwNmJlZTFlODllYTJhNGQ3cDk4OCwKKyAgICAweDEuNTZkYjZkYjZkYjZkYXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS4zNjFhMjJmNTg3OWExNTgxMDZiZWUxZTg5ZWEyYTRkN3A5ODgsCisgICAgLTB4MS41NmRiNmRiNmRiNmRhcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAweDEuNjFkNzE2ZWNhOTM4MTFmOGQ4Mjg4NjQ5ZGMyY2VlNjVwMTAwMSwKKyAgICAweDEuNWI2ZGI2ZGI2ZGI2Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgLTB4MS42MWQ3MTZlY2E5MzgxMWY4ZDgyODg2NDlkYzJjZWU2NXAxMDAxLAorICAgIC0weDEuNWI2ZGI2ZGI2ZGI2Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjc2ZGI2ZGI2ZGI2ZGJwOQorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjc2ZGI2ZGI2ZGI2ZGJwOQorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIEhVR0VfVkFMLAorICAgIDB4MS44ZGI2ZGI2ZGI2ZGI2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS44ZGI2ZGI2ZGI2ZGI2cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuYTQ5MjQ5MjQ5MjQ5MXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuYTQ5MjQ5MjQ5MjQ5MXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmJiNmRiNmRiNmRiNmNwOQorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmJiNmRiNmRiNmRiNmNwOQorICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5kMjQ5MjQ5MjQ5MjQ3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5kMjQ5MjQ5MjQ5MjQ3cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZTkyNDkyNDkyNDkyMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZTkyNDkyNDkyNDkyMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgLTB4MS45M2JmNGVjMjgyZWZiMzIwYTU3ZjlhZTAyZTAxYWU1MXAxMDE0LAorICAgIC0weDEuNnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLjkzYmY0ZWMyODJlZmIzMjBhNTdmOWFlMDJlMDFhZTUxcDEwMTQsCisgICAgMHgxLjZwOQorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIC0weDEuNjFkNzE2ZWNhOTkwODdiZTkzNTJkZjVkMTMxYTVkZDJwMTAwMSwKKyAgICAtMHgxLjViNmRiNmRiNmRiNmVwOQorICB9LAorICB7IC8vIEVudHJ5IDU1MQorICAgIDB4MS42MWQ3MTZlY2E5OTA4N2JlOTM1MmRmNWQxMzFhNWRkMnAxMDAxLAorICAgIDB4MS41YjZkYjZkYjZkYjZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAtMHgxLjM2MWEyMmY1ODdlNzljMDljNDIwZDIxZWNmZmMwMGNkcDk4OCwKKyAgICAtMHgxLjU2ZGI2ZGI2ZGI2ZGNwOQorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS4zNjFhMjJmNTg3ZTc5YzA5YzQyMGQyMWVjZmZjMDBjZHA5ODgsCisgICAgMHgxLjU2ZGI2ZGI2ZGI2ZGNwOQorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIC0weDEuMGZjNTNjNzI3MTk5Y2IyYzFjYjM5MWM4YzZiMWNiNWJwOTc1LAorICAgIC0weDEuNTI0OTI0OTI0OTI0YXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLjBmYzUzYzcyNzE5OWNiMmMxY2IzOTFjOGM2YjFjYjVicDk3NSwKKyAgICAweDEuNTI0OTI0OTI0OTI0YXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgLTB4MS5kYzVhOWM5N2VhOGFiNmFkNGUyMmNjMzg5OGI0ZDQyMnA5NjEsCisgICAgLTB4MS40ZGI2ZGI2ZGI2ZGI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAweDEuZGM1YTljOTdlYThhYjZhZDRlMjJjYzM4OThiNGQ0MjJwOTYxLAorICAgIDB4MS40ZGI2ZGI2ZGI2ZGI4cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAtMHgxLmExNzhkMjUzZmM5ZGZlZWUxNTJjYjc0OWViNmY2MzM5cDk0OCwKKyAgICAtMHgxLjQ5MjQ5MjQ5MjQ5MjZwOQorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIDB4MS5hMTc4ZDI1M2ZjOWRmZWVlMTUyY2I3NDllYjZmNjMzOXA5NDgsCisgICAgMHgxLjQ5MjQ5MjQ5MjQ5MjZwOQorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIC0weDEuNmRkZTRjODU1ZjhmMGY2MDI3NGI1YzM3OTMwNDk5ZjVwOTM1LAorICAgIC0weDEuNDQ5MjQ5MjQ5MjQ5NHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLjZkZGU0Yzg1NWY4ZjBmNjAyNzRiNWMzNzkzMDQ5OWY1cDkzNSwKKyAgICAweDEuNDQ5MjQ5MjQ5MjQ5NHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgLTB4MS40MGE0YjljMjcxYzhjNDI3MWZiY2MzZGYzMzZlMGVkYnA5MjIsCisgICAgLTB4MS40MDAwMDAwMDAwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjMKKyAgICAweDEuNDBhNGI5YzI3MWM4YzQyNzFmYmNjM2RmMzM2ZTBlZGJwOTIyLAorICAgIDB4MS40MDAwMDAwMDAwMDAycDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS5lY2IzNTNkMDJkNWZiMDM5NDdlMzIwYzViY2NhYWMzZnAtNCwKKyAgICAweDEuZWI4NTFlYjg1MWViN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDU3MAorICAgIC0weDEuZWNiMzUzZDAyZDVmYjAzOTQ3ZTMyMGM1YmNjYWFjM2ZwLTQsCisgICAgLTB4MS5lYjg1MWViODUxZWI3cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLmVjYjM1M2QwMmQ1ZmMwNTZjZWIyY2U5ZTA4YjhmOGQ1cC00LAorICAgIDB4MS5lYjg1MWViODUxZWI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgLTB4MS5lY2IzNTNkMDJkNWZjMDU2Y2ViMmNlOWUwOGI4ZjhkNXAtNCwKKyAgICAtMHgxLmViODUxZWI4NTFlYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzMKKyAgICAweDEuZWNiMzUzZDAyZDVmZDA3NDU1ODI3Yzc2NTRhOTMyMWZwLTQsCisgICAgMHgxLmViODUxZWI4NTFlYjlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAtMHgxLmVjYjM1M2QwMmQ1ZmQwNzQ1NTgyN2M3NjU0YTkzMjFmcC00LAorICAgIC0weDEuZWI4NTFlYjg1MWViOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS4wYWNkMDBmZTYzYjk2MzlkZjZjNjQxZWQ0NjNjNGNhMHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU3NgorICAgIC0weDEuMGFjZDAwZmU2M2I5NjM5ZGY2YzY0MWVkNDYzYzRjYTBwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLjBhY2QwMGZlNjNiOTZjYTM1Nzg5NTc2MWFlNjYyMjRhcC0xLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgLTB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEuMGFjZDAwZmU2M2I5N2VhZTE5MGY4MjRhN2VlYmQ0MGRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAtMHgxLjBhY2QwMGZlNjNiOTdlYWUxOTBmODI0YTdlZWJkNDBkcC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS4yY2Q5ZmM0NGViOTgxOTRmYzdhMDViODQ1ZTRmODJiM3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgLTB4MS4yY2Q5ZmM0NGViOTgxOTRmYzdhMDViODQ1ZTRmODJiM3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIDB4MS4yY2Q5ZmM0NGViOTgyNWE4MDI0OTQ4N2YwNjRmZmQ1Y3AwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAtMHgxLjJjZDlmYzQ0ZWI5ODI1YTgwMjQ5NDg3ZjA2NGZmZDVjcDAsCisgICAgLTB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAweDEuMmNkOWZjNDRlYjk4M2U1ODc3OWIyMjc0NTczMjk2MmRwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgLTB4MS4yY2Q5ZmM0NGViOTgzZTU4Nzc5YjIyNzQ1NzMyOTYyZHAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTg3CisgICAgMHgxLmFiNWFkYjljNDM1ZTRjYmU3MjQxNTcxM2E2NGY2NmExcDMwLAorICAgIDB4MS41ZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAtMHgxLmFiNWFkYjljNDM1ZTRjYmU3MjQxNTcxM2E2NGY2NmExcDMwLAorICAgIC0weDEuNWZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLmFiNWFkYjljNDM1ZmY4MTk0ZGRkOWE3MmM4YzAxMTgzcDMwLAorICAgIDB4MS42cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAtMHgxLmFiNWFkYjljNDM1ZmY4MTk0ZGRkOWE3MmM4YzAxMTgzcDMwLAorICAgIC0weDEuNnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgMHgxLmFiNWFkYjljNDM2MWEzNzQyOTc5ZGRkMzk2OGI5ODAxcDMwLAorICAgIDB4MS42MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAtMHgxLmFiNWFkYjljNDM2MWEzNzQyOTc5ZGRkMzk2OGI5ODAxcDMwLAorICAgIC0weDEuNjAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLjIyNmFmMzNiMWZkYWU3ZWM1OTNiOGI0NWU4MGU1NGQycDMyLAorICAgIDB4MS42ZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTQKKyAgICAtMHgxLjIyNmFmMzNiMWZkYWU3ZWM1OTNiOGI0NWU4MGU1NGQycDMyLAorICAgIC0weDEuNmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLjIyNmFmMzNiMWZkYzBhNTc0Yzc2YWIyMTYxMzA5ODgwcDMyLAorICAgIDB4MS43cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAtMHgxLjIyNmFmMzNiMWZkYzBhNTc0Yzc2YWIyMTYxMzA5ODgwcDMyLAorICAgIC0weDEuN3A0CisgIH0sCisgIHsgLy8gRW50cnkgNTk3CisgICAgMHgxLjIyNmFmMzNiMWZkZDJjYzIzZmIxY2FmZGZjYmRjZjY5cDMyLAorICAgIDB4MS43MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAtMHgxLjIyNmFmMzNiMWZkZDJjYzIzZmIxY2FmZGZjYmRjZjY5cDMyLAorICAgIC0weDEuNzAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgNTk5CisgICAgMHgxLmZmZmZmZmZmZmZmYjllZGU2N2I3YTMxMzI4NWZhYTczcDUxLAorICAgIDB4MS4yNWU0ZjdiMjczN2Y5cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmYjllZGU2N2I3YTMxMzI4NWZhYTczcDUxLAorICAgIC0weDEuMjVlNGY3YjI3MzdmOXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLmZmZmZmZmZmZmZmZjllZGU2N2I3YTMwZTY2MWM3OWUycDUxLAorICAgIDB4MS4yNWU0ZjdiMjczN2ZhcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjllZGU2N2I3YTMwZTY2MWM3OWUycDUxLAorICAgIC0weDEuMjVlNGY3YjI3MzdmYXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgMHgxLjAwMDAwMDAwMDAwMWNmNmYzM2RiZDE4OGQxZWNhNGE5cDUyLAorICAgIDB4MS4yNWU0ZjdiMjczN2ZicDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMWNmNmYzM2RiZDE4OGQxZWNhNGE5cDUyLAorICAgIC0weDEuMjVlNGY3YjI3MzdmYnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLjZhMDllNjY3ZjNiNzNiMmU5YjEzMmQ1MTQyZjNlNWIzcDUyLAorICAgIDB4MS4yOGFhYzAxMjUyYzZjcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDYKKyAgICAtMHgxLjZhMDllNjY3ZjNiNzNiMmU5YjEzMmQ1MTQyZjNlNWIzcDUyLAorICAgIC0weDEuMjhhYWMwMTI1MmM2Y3A1CisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgMHgxLjZhMDllNjY3ZjNiYTBmNDI2N2UzMTRjMjhkNjRlOGE5cDUyLAorICAgIDB4MS4yOGFhYzAxMjUyYzZkcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAtMHgxLjZhMDllNjY3ZjNiYTBmNDI2N2UzMTRjMjhkNjRlOGE5cDUyLAorICAgIC0weDEuMjhhYWMwMTI1MmM2ZHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLjZhMDllNjY3ZjNiY2UzNTYzNGIyZmMzOTdmZmQ4NTNmcDUyLAorICAgIDB4MS4yOGFhYzAxMjUyYzZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAtMHgxLjZhMDllNjY3ZjNiY2UzNTYzNGIyZmMzOTdmZmQ4NTNmcDUyLAorICAgIC0weDEuMjhhYWMwMTI1MmM2ZXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgMHgxLmZmZmZmZmZmZmY5M2FlNTk0ZTliZTQyNWEwMTBiZGVjcDEwMjMsCisgICAgMHgxLjYzM2NlOGZiOWY4N2NwOQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIC0weDEuZmZmZmZmZmZmZjkzYWU1OTRlOWJlNDI1YTAxMGJkZWNwMTAyMywKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2NwOQorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIDB4MS5mZmZmZmZmZmZmZDNhZTU5NGU5YmRhOWI2YjNhOTE2OHAxMDIzLAorICAgIDB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAtMHgxLmZmZmZmZmZmZmZkM2FlNTk0ZTliZGE5YjZiM2E5MTY4cDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNjE2CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuNjMzY2U4ZmI5Zjg3ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuNjMzY2U4ZmI5Zjg3ZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNjE4CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjYzM2NlOGZiOWY4N2VwOQorICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIC0weDEuZmZmZmZmZmZmZmQzYWU1OTRlOWJkYTliNmIzYTkxNjhwMTAyMywKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2RwOQorICB9LAorICB7IC8vIEVudHJ5IDYyMAorICAgIDB4MS5mZmZmZmZmZmZmZDNhZTU5NGU5YmRhOWI2YjNhOTE2OHAxMDIzLAorICAgIDB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjEKKyAgICAtMHgxLmZmZmZmZmZmZmY5M2FlNTk0ZTliZTQyNWEwMTBiZGVjcDEwMjMsCisgICAgLTB4MS42MzNjZThmYjlmODdjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAweDEuZmZmZmZmZmZmZjkzYWU1OTRlOWJlNDI1YTAxMGJkZWNwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg3Y3A5CisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLmZmZmZmZmZmZmZmZmYwMDU1NTU1NTU1NTU1NTRkNTU5cC0zMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwMDU1NTU1NTU1NTU1NTRkNTU5cC0zMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDJhYWFhYWFhYWFhYWFhYWFjcC0zMCwKKyAgICAweDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDJhYWFhYWFhYWFhYWFhYWFjcC0zMCwKKyAgICAtMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjI3CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwMDJhYWFhYWFhYWFhYWIyYWFjcC0zMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwMDJhYWFhYWFhYWFhYWIyYWFjcC0zMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLjAwMDAwMDAwYWFhYWEyYWFjY2NjYmNjY2QwMGNmYjdhcC0xNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAtMHgxLjAwMDAwMDAwYWFhYWEyYWFjY2NjYmNjY2QwMGNmYjdhcC0xNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTE2CisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgMHgxLjAwMDAwMDAwYWFhYWFhYWFjY2NjY2NjY2QwMGQwMGQwcC0xNSwKKyAgICAweDEuMHAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAtMHgxLjAwMDAwMDAwYWFhYWFhYWFjY2NjY2NjY2QwMGQwMGQwcC0xNSwKKyAgICAtMHgxLjBwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjMzCisgICAgMHgxLjAwMDAwMDAwYWFhYWJhYWFjY2NjZWNjY2QwMGQwYjdhcC0xNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAtMHgxLjAwMDAwMDAwYWFhYWJhYWFjY2NjZWNjY2QwMGQwYjdhcC0xNSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLjAwMDJhYWFjY2NjZDk0ZDliYmQ4NTI3YzU5OWE4YmM3cC02LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgLTB4MS4wMDAyYWFhY2NjY2Q5NGQ5YmJkODUyN2M1OTlhOGJjN3AtNiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICAweDEuMDAwMmFhYWNjY2NkOWNkOWZiZDhhN2QxZGM3MmM0NGJwLTYsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzgKKyAgICAtMHgxLjAwMDJhYWFjY2NjZDljZDlmYmQ4YTdkMWRjNzJjNDRicC02LAorICAgIC0weDEuMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDYzOQorICAgIDB4MS4wMDAyYWFhY2NjY2RhY2RhN2JkOTUyN2NlMjIzNDE1MnAtNiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIC0weDEuMDAwMmFhYWNjY2NkYWNkYTdiZDk1MjdjZTIyMzQxNTJwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLjAwMGFhYWNjY2QwMGM4M2EzY2FjZTg5ZTE5Nzc3MjRkcC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgLTB4MS4wMDBhYWFjY2NkMDBjODNhM2NhY2U4OWUxOTc3NzI0ZHAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAweDEuMDAwYWFhY2NjZDAwZDAzYjNjYjIzZGZlY2Y4ZmNiZGNwLTUsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICAtMHgxLjAwMGFhYWNjY2QwMGQwM2IzY2IyM2RmZWNmOGZjYmRjcC01LAorICAgIC0weDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIDB4MS4wMDBhYWFjY2NkMDBlMDNkM2NiY2U4YzAzYmMwYWVmY3AtNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIC0weDEuMDAwYWFhY2NjZDAwZTAzZDNjYmNlOGMwM2JjMGFlZmNwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjQ3CisgICAgMHgxLjAwMmFhY2NjZDljZGMzMTIwMDJiZjU2MTUxMTE1YzExcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgLTB4MS4wMDJhYWNjY2Q5Y2RjMzEyMDAyYmY1NjE1MTExNWMxMXAtNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDkKKyAgICAweDEuMDAyYWFjY2NkOWNkY2IxNjAwODE0ZDhlZTBlYTVlOThwLTQsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTAKKyAgICAtMHgxLjAwMmFhY2NjZDljZGNiMTYwMDgxNGQ4ZWUwZWE1ZTk4cC00LAorICAgIC0weDEuMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDY1MQorICAgIDB4MS4wMDJhYWNjY2Q5Y2RkYjFlMDEyYmZkZWEwMDlkMjNjN3AtNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIC0weDEuMDAyYWFjY2NkOWNkZGIxZTAxMmJmZGVhMDA5ZDIzYzdwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgMHgxLjAwYWFjY2QwMGQyZjA1NzJiNTg3NjgyOTBjY2EyNGMzcC0zLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgLTB4MS4wMGFhY2NkMDBkMmYwNTcyYjU4NzY4MjkwY2NhMjRjM3AtMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAweDEuMDBhYWNjZDAwZDJmMGQ4MmJhZGQ3Mzk2YzQzOTA5MWVwLTMsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAtMHgxLjAwYWFjY2QwMGQyZjBkODJiYWRkNzM5NmM0MzkwOTFlcC0zLAorICAgIC0weDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDY1NworICAgIDB4MS4wMGFhY2NkMDBkMmYxZGEyYzU4OThhNzIzMzE5ZDNkNXAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIC0weDEuMDBhYWNjZDAwZDJmMWRhMmM1ODk4YTcyMzMxOWQzZDVwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgMHgxLjAyYWNjZDlkMDgxMDE2MjYxZjRiMGVjYmViYjVkZDhmcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgLTB4MS4wMmFjY2Q5ZDA4MTAxNjI2MWY0YjBlY2JlYmI1ZGQ4ZnAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjEKKyAgICAweDEuMDJhY2NkOWQwODEwMWU2Njc0Y2RmM2ZjOGVhYWJmMmFwLTIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjIKKyAgICAtMHgxLjAyYWNjZDlkMDgxMDFlNjY3NGNkZjNmYzhlYWFiZjJhcC0yLAorICAgIC0weDEuMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDY2MworICAgIDB4MS4wMmFjY2Q5ZDA4MTAyZWU3MWZkM2JlNWRkNGEwYTI3YXAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIC0weDEuMDJhY2NkOWQwODEwMmVlNzFmZDNiZTVkZDRhMGEyN2FwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjY1CisgICAgMHgxLmQwM2NmNjNiNmUxOWQ4ZGE1MjcyMzliYzY0Yzg1Y2VhcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIC0weDEuZDAzY2Y2M2I2ZTE5ZDhkYTUyNzIzOWJjNjRjODVjZWFwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIDB4MS5kMDNjZjYzYjZlMTlmNmYzNGM4MDJjOTYyMDA5NzBlZnAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAtMHgxLmQwM2NmNjNiNmUxOWY2ZjM0YzgwMmM5NjIwMDk3MGVmcDEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAweDEuZDAzY2Y2M2I2ZTFhMzMyNTQwOWMxMjQ5OWJmYzRmZGFwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjcwCisgICAgLTB4MS5kMDNjZjYzYjZlMWEzMzI1NDA5YzEyNDk5YmZjNGZkYXAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjcxCisgICAgMHgxLmI0YTM4MDM3MDM2MmQ1ZjIxNjUwYTU1YzMxYjM0OGI0cDQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MgorICAgIC0weDEuYjRhMzgwMzcwMzYyZDVmMjE2NTBhNTVjMzFiMzQ4YjRwNCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDY3MworICAgIDB4MS5iNGEzODAzNzAzNjMwYzhmZTcwMjYxZDkyZTU2M2E4OHA0LAorICAgIDB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAtMHgxLmI0YTM4MDM3MDM2MzBjOGZlNzAyNjFkOTJlNTYzYTg4cDQsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEuYjRhMzgwMzcwMzYzNzljYjg4NjVkYWQzM2MxM2M4MzNwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgLTB4MS5iNGEzODAzNzAzNjM3OWNiODg2NWRhZDMzYzEzYzgzM3A0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgMHgxLjc0OWVhNTE0ZWNhNWZmZGYzZmQxOGI3NjI3Y2RiZGM4cDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzgKKyAgICAtMHgxLjc0OWVhNTE0ZWNhNWZmZGYzZmQxOGI3NjI3Y2RiZGM4cDEwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLjc0OWVhNTE0ZWNhNjVkMDZlYTc2ODhhZmY0NmNmZTA5cDEwLAorICAgIDB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAtMHgxLjc0OWVhNTE0ZWNhNjVkMDZlYTc2ODhhZmY0NmNmZTA5cDEwLAorICAgIC0weDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgMHgxLjc0OWVhNTE0ZWNhNzE3NTYzZmMwODMyM2QzODkzZDdlcDEwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODIKKyAgICAtMHgxLjc0OWVhNTE0ZWNhNzE3NTYzZmMwODMyM2QzODkzZDdlcDEwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgMHgxLjBmMmViZDBhN2ZmZGI2NGY0ZTBlNWZjYzBjNTkzMTAxcDIyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODQKKyAgICAtMHgxLjBmMmViZDBhN2ZmZGI2NGY0ZTBlNWZjYzBjNTkzMTAxcDIyLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgMHgxLjBmMmViZDBhN2ZmZTNkZTZhYzkzOWZjZWQwMTIyNzA3cDIyLAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODYKKyAgICAtMHgxLjBmMmViZDBhN2ZmZTNkZTZhYzkzOWZjZWQwMTIyNzA3cDIyLAorICAgIC0weDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgMHgxLjBmMmViZDBhN2ZmZjRkMTU2OTllMWZkNTIyZTcyMGRjcDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAtMHgxLjBmMmViZDBhN2ZmZjRkMTU2OTllMWZkNTIyZTcyMGRjcDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA0CisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgMHgxLjFmNDNmY2M0YjY2MWE4OTQ0YWMzODlhN2M3YWU3YjlkcDQ1LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAtMHgxLjFmNDNmY2M0YjY2MWE4OTQ0YWMzODlhN2M3YWU3YjlkcDQ1LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgMHgxLjFmNDNmY2M0YjY2MmM3ZDg0Nzg4NDAwOWZmZTRjNGMzcDQ1LAorICAgIDB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTIKKyAgICAtMHgxLjFmNDNmY2M0YjY2MmM3ZDg0Nzg4NDAwOWZmZTRjNGMzcDQ1LAorICAgIC0weDEuMHA1CisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgMHgxLjFmNDNmY2M0YjY2NTA2NjA0MTExYWNkMWNlMWQ0ZDVkcDQ1LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTQKKyAgICAtMHgxLjFmNDNmY2M0YjY2NTA2NjA0MTExYWNkMWNlMWQ0ZDVkcDQ1LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgNjk1CisgICAgMHgxLjQyNTk4MmNmNTk3YTRkNTJjODllYTg1N2JiYWE4MDdhcDkxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTYKKyAgICAtMHgxLjQyNTk4MmNmNTk3YTRkNTJjODllYTg1N2JiYWE4MDdhcDkxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1CisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgMHgxLjQyNTk4MmNmNTk3Y2QyMDVjZTNkNWI0ZWRiMDMxNzU2cDkxLAorICAgIDB4MS4wcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAtMHgxLjQyNTk4MmNmNTk3Y2QyMDVjZTNkNWI0ZWRiMDMxNzU2cDkxLAorICAgIC0weDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjk5CisgICAgMHgxLjQyNTk4MmNmNTk4MWRiNmJkOTdhYzE0YzM1ZTY2NmM2cDkxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAtMHgxLjQyNTk4MmNmNTk4MWRiNmJkOTdhYzE0YzM1ZTY2NmM2cDkxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNzAxCisgICAgMHgxLjk1ZTU0YzVkZDQxYjIwNjAwZGQ2MDFhMGFlNjcyZmY0cDE4MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgLTB4MS45NWU1NGM1ZGQ0MWIyMDYwMGRkNjAxYTBhZTY3MmZmNHAxODMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAweDEuOTVlNTRjNWRkNDIxNzdmNTNmNGQ1MjE5ZGYxMWNhM2JwMTgzLAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDQKKyAgICAtMHgxLjk1ZTU0YzVkZDQyMTc3ZjUzZjRkNTIxOWRmMTFjYTNicDE4MywKKyAgICAtMHgxLjBwNworICB9LAorICB7IC8vIEVudHJ5IDcwNQorICAgIDB4MS45NWU1NGM1ZGQ0MmUyNzFmYTIzYmYzNTg1YjY1NTA2MHAxODMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDcwNgorICAgIC0weDEuOTVlNTRjNWRkNDJlMjcxZmEyM2JmMzU4NWI2NTUwNjBwMTgzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA3CisgIH0sCisgIHsgLy8gRW50cnkgNzA3CisgICAgMHgxLjQxYzdhODgxNGJlMTkyYTVkZjI1YjA0MmFmODI0ZWZkcDM2OCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgNzA4CisgICAgLTB4MS40MWM3YTg4MTRiZTE5MmE1ZGYyNWIwNDJhZjgyNGVmZHAzNjgsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAweDEuNDFjN2E4ODE0YmViYTBlMzIzMzAwZjc3N2RhNjU4NTRwMzY4LAorICAgIDB4MS4wcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTAKKyAgICAtMHgxLjQxYzdhODgxNGJlYmEwZTMyMzMwMGY3NzdkYTY1ODU0cDM2OCwKKyAgICAtMHgxLjBwOAorICB9LAorICB7IC8vIEVudHJ5IDcxMQorICAgIDB4MS40MWM3YTg4MTRiZmZiZDVkYWI0NGNlZDI2ZmFjY2JmYnAzNjgsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDcxMgorICAgIC0weDEuNDFjN2E4ODE0YmZmYmQ1ZGFiNDRjZWQyNmZhY2NiZmJwMzY4LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgMHgxLjk0NzY1MDRiYTgzOTlmNWI5N2NhZTM1YmViNzhjM2M1cDczNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA4CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgLTB4MS45NDc2NTA0YmE4Mzk5ZjViOTdjYWUzNWJlYjc4YzNjNXA3MzcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAweDEuOTQ3NjUwNGJhODUyZTZjMDljODU2N2MwMWM1YTY2NDhwNzM3LAorICAgIDB4MS4wcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTYKKyAgICAtMHgxLjk0NzY1MDRiYTg1MmU2YzA5Yzg1NjdjMDFjNWE2NjQ4cDczNywKKyAgICAtMHgxLjBwOQorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIDB4MS45NDc2NTA0YmE4ODU3NThhYTVmYTc1NDVlMTBlOGU0NnA3MzcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwOQorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIC0weDEuOTQ3NjUwNGJhODg1NzU4YWE1ZmE3NTQ1ZTEwZThlNDZwNzM3LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgLUhVR0VfVkFMLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzIwCisgICAgSFVHRV9WQUwsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAtSFVHRV9WQUwsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjMKKyAgICBIVUdFX1ZBTCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDcyNAorICAgIEhVR0VfVkFMLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjUKKyAgICBIVUdFX1ZBTCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzI2CisgICAgMHgxLjcxOGY0NWQ3MmU2NzE1NWNlY2IwMDE3MTc5ZDEyN2U2cDMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIDB4MS4yNjkwZjY2MWRkODFmZmQyNDRlMDJiOTRhNWM1MWQzOXAxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAweDEuMmNkOWZjNDRlYjk4M2U1ODc3OWIyMjc0NTczMjk2MmRwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzI5CisgICAgMHgxLjJjZDlmYzQ0ZWI5ODI1YTgwMjQ5NDg3ZjA2NGZmZDVjcDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDczMAorICAgIDB4MS4yY2Q5ZmM0NGViOTgxOTRmYzdhMDViODQ1ZTRmODJiM3AwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgMHgxLmJjYzI3MGI1MjI3MzY1Yjg1ZTQzYjM2Mzk3MjI0ZDk0cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzMzCisgICAgMHgxLnAtMTAyMiwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDczNAorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIDB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDczNgorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzcKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDc0MQorICAgIC0weDEucC0xMDczLAorICAgIC0weDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDc0MgorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDQKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDc0NgorICAgIC0weDEuYmNjMjcwYjUyMjczNjViODVlNDNiMzYzOTcyMjRkOTRwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgLTB4MS4yY2Q5ZmM0NGViOTgxOTRmYzdhMDViODQ1ZTRmODJiM3AwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc0OAorICAgIC0weDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDc0OQorICAgIC0weDEuMmNkOWZjNDRlYjk4M2U1ODc3OWIyMjc0NTczMjk2MmRwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDc1MAorICAgIC0weDEuMjY5MGY2NjFkZDgxZmZkMjQ0ZTAyYjk0YTVjNTFkMzlwMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDc1MQorICAgIC0weDEuNzE4ZjQ1ZDcyZTY3MTU1Y2VjYjAwMTcxNzlkMTI3ZTZwMywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc1MworICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDc1NAorICAgIC1IVUdFX1ZBTCwKKyAgICAtSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTUKKyAgICAweDEuZmZmZmZmZmZmZmQzYWU1OTRlOWJkYTliNmIzYTkxNjhwMTAyMywKKyAgICAweDEuNjMzY2U4ZmI5Zjg3ZHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzU2CisgICAgLTB4MS5mZmZmZmZmZmZmZDNhZTU5NGU5YmRhOWI2YjNhOTE2OHAxMDIzLAorICAgIC0weDEuNjMzY2U4ZmI5Zjg3ZHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzU3CisgICAgSFVHRV9WQUwsCisgICAgMHgxLjYzM2NlOGZiOWY4N2VwOQorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIC1IVUdFX1ZBTCwKKyAgICAtMHgxLjYzM2NlOGZiOWY4N2VwOQorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3NpbmhmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9zaW5oZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBhZmMxZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9zaW5oZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwyNDk0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX3NpbmhmX2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgLTB4MS4wMDAwMDAwMDAwMGFhYWFhYWFhYWFhY2NjY2NjY2NjY3AtMjEsCisgICAgLTB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS4wMDAwMDAwMDAwMGFhYWFhYWFhYWFhY2NjY2NjY2NjY3AtMjEsCisgICAgMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS4xNzcwYzBmZmZlZTMxZGI3YTMxNjY0ZGU0MDFhNTdjZHAtMSwKKyAgICAtMHgxLjBiMjZlZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuMTc3MGMwZmZmZWUzMWRiN2EzMTY2NGRlNDAxYTU3Y2RwLTEsCisgICAgMHgxLjBiMjZlZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjIwNGZkMDAwMDAwMDAwMDAwMDBmM2NhM2U4MWMwM2FmcC0zNywKKyAgICAtMHgxLjIwNGZkMHAtMzcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjIwNGZkMDAwMDAwMDAwMDAwMDBmM2NhM2U4MWMwM2FmcC0zNywKKyAgICAweDEuMjA0ZmQwcC0zNworICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLjQzNTEwMDU1ZjM4MzM1MWJhOWVjNGNkZjViMWIxZmE1cC0xMiwKKyAgICAtMHgxLjQzNTFwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS40MzUxMDA1NWYzODMzNTFiYTllYzRjZGY1YjFiMWZhNXAtMTIsCisgICAgMHgxLjQzNTFwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIC0weDEuNGYxZmU2ZmZmZDA1NTQwM2EwYWZhNWY2MWY3YWQ0NTZwMTIyLAorICAgIC0weDEuNTYxYjEwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjRmMWZlNmZmZmQwNTU0MDNhMGFmYTVmNjFmN2FkNDU2cDEyMiwKKyAgICAweDEuNTYxYjEwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEuNzYzMzlkMDQ4YzQxMDEwZGI5NTMxMWJmMzg4MjRmN2ZwLTIsCisgICAgLTB4MS42ZTU2NGVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS43NjMzOWQwNDhjNDEwMTBkYjk1MzExYmYzODgyNGY3ZnAtMiwKKyAgICAweDEuNmU1NjRlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAtMHgxLmE2Mzk5YjAwMDMxYWU3ZTJkMTBjNGQ1Y2E4Yjg1YmI2cC0yLAorICAgIC0weDEuOWIxN2Q4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuYTYzOTliMDAwMzFhZTdlMmQxMGM0ZDVjYThiODViYjZwLTIsCisgICAgMHgxLjliMTdkOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgLTB4MS5lZDljNmIwNDVjZjg4NmE3MTk1NTNiMjM5ZWNlZDM5YXAtMSwKKyAgICAtMHgxLmI2MjQ5MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmVkOWM2YjA0NWNmODg2YTcxOTU1M2IyMzllY2VkMzlhcC0xLAorICAgIDB4MS5iNjI0OTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIC0weDEuZmZiMWIyZjhkODcyYWM4Y2IyYzhhZTc4MDczODc0Y2VwLTEsCisgICAgLTB4MS5jMzBjMDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5mZmIxYjJmOGQ4NzJhYzhjYjJjOGFlNzgwNzM4NzRjZXAtMSwKKyAgICAweDEuYzMwYzA2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLjQ5MGUzZWZmZDE3Y2M1ZTVjZWJiNzE1MGE0NTUzMGIwcDksCisgICAgLTB4MS5jYmFlNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjQ5MGUzZWZmZDE3Y2M1ZTVjZWJiNzE1MGE0NTUzMGIwcDksCisgICAgMHgxLmNiYWU3MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLmQzNzM1NTAzYzMxNjAxZDhhMjMxZTQyNzY0ZGNhNzZicC0xMiwKKyAgICAtMHgxLmQzNzM1NHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5kMzczNTUwM2MzMTYwMWQ4YTIzMWU0Mjc2NGRjYTc2YnAtMTIsCisgICAgMHgxLmQzNzM1NHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIC0weDEuZDM3NTAxMDNjNWRmODkxNDYxMDQ4NjJiYzhlYjk1MTFwLTEyLAorICAgIC0weDEuZDM3NXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5kMzc1MDEwM2M1ZGY4OTE0NjEwNDg2MmJjOGViOTUxMXAtMTIsCisgICAgMHgxLmQzNzVwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLmQ0YmMwOGZlNTQ1MjI0OTJhMThlZDc2M2Y1OTA1YTNjcC02LAorICAgIC0weDEuZDRhYmFjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZDRiYzA4ZmU1NDUyMjQ5MmExOGVkNzYzZjU5MDVhM2NwLTYsCisgICAgMHgxLmQ0YWJhY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgLTB4MS5iNDk1ZDhmOTZhZDI1MDdjMzZlMjg4ZjQyZWQ2OWM2NXA0LAorICAgIC0weDEuZmZmY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuYjQ5NWQ4Zjk2YWQyNTA3YzM2ZTI4OGY0MmVkNjljNjVwNCwKKyAgICAweDEuZmZmY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuMGFjZDAwZmU2M2I5NmNhMzU3ODk1NzYxYWU2NjIyNGFwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjAwMDAwMDAwMDAwYWFhYWFhYWFhYWFjY2NjY2NjY2NjcC0yMSwKKyAgICAweDEucC0yMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgLTB4MS4wMDAwMDAwMDAwMGFhYWFhYWFhYWFhY2NjY2NjY2NjY3AtMjEsCisgICAgLTB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS4wMDAwMDIwMDAwMDAwMDAwMDAwMDBhYWFhYWVhYWFhYnAtNDEsCisgICAgMHgxLjAwMDAwMnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAwYWFhYWFlYWFhYWJwLTQxLAorICAgIC0weDEuMDAwMDAycC00MQorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLjAwYWFlNTAwMWQzNWIyY2M5ZjFiZjUwMjRhYWQzZmM3cC0zLAorICAgIDB4MS4wMDAwMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIC0weDEuMDBhYWU1MDAxZDM1YjJjYzlmMWJmNTAyNGFhZDNmYzdwLTMsCisgICAgLTB4MS4wMDAwMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4yY2RjNGNkMTNkYmFhZWE5NzFjZjRjNmRmOGQwMmRiMXAwLAorICAgIDB4MS4wMDAxODBwMAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgLTB4MS4yY2RjNGNkMTNkYmFhZWE5NzFjZjRjNmRmOGQwMmRiMXAwLAorICAgIC0weDEuMDAwMTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS4wMDAyMjAwMDAwMDAwMDAwMDAwMDJhYWJiYWFjZWNhY3AtNDAsCisgICAgMHgxLjAwMDIyMHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuMDAwMjIwMDAwMDAwMDAwMDAwMDAyYWFiYmFhY2VjYWNwLTQwLAorICAgIC0weDEuMDAwMjIwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjc1YjY4NGZiYjIxZTNmYWRmZDc2OTQ4YTc0ZmY2MTljcDEwLAorICAgIDB4MS4wMDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuNzViNjg0ZmJiMjFlM2ZhZGZkNzY5NDhhNzRmZjYxOWNwMTAsCisgICAgLTB4MS4wMDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wYWYxMTcwNmRjOTM1ZTZiOGQ5ODg5ZmZkOWQ3ZjllZXAtMSwKKyAgICAweDEuMDAyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgLTB4MS4wYWYxMTcwNmRjOTM1ZTZiOGQ5ODg5ZmZkOWQ3ZjllZXAtMSwKKyAgICAtMHgxLjAwMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS4yZGU1MzUwMDExMmI0OGI1NDQxNmZkM2FjMGZkNWQzNXAwLAorICAgIDB4MS4wMGFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuMmRlNTM1MDAxMTJiNDhiNTQ0MTZmZDNhYzBmZDVkMzVwMCwKKyAgICAtMHgxLjAwYWRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLmQzMTE1OTAwOTRiNzE2OTI1NzIyMmYyOTE1OWM1Mjc0cDEsCisgICAgMHgxLjAwYzBwMQorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgLTB4MS5kMzExNTkwMDk0YjcxNjkyNTcyMjJmMjkxNTljNTI3NHAxLAorICAgIC0weDEuMDBjMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuYmI4YmUwZjkyOGZhNDgyZDI2NGFlYzgwOTAzMGNiOThwNCwKKyAgICAweDEuMDEwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLmJiOGJlMGY5MjhmYTQ4MmQyNjRhZWM4MDkwMzBjYjk4cDQsCisgICAgLTB4MS4wMTAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5kNjUwOWNmZmYxYjg4N2NkNTBkM2M3YjMzYTQ5MGFmNXAxLAorICAgIDB4MS4wMTlicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuZDY1MDljZmZmMWI4ODdjZDUwZDNjN2IzM2E0OTBhZjVwMSwKKyAgICAtMHgxLjAxOWJwMQorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLmQ5OWVmMTAxZGYyM2MxM2RlNTM2OGU1NWViYjRjOTUycDQ1LAorICAgIDB4MS4wNHA1CisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLmQ5OWVmMTAxZGYyM2MxM2RlNTM2OGU1NWViYjRjOTUycDQ1LAorICAgIC0weDEuMDRwNQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgMHgxLmI2MWU1Y2EzYTVlMzBiMmYwYTAzZjI5MmY5Y2UwMDg0cDkyLAorICAgIDB4MS4wNHA2CisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLmI2MWU1Y2EzYTVlMzBiMmYwYTAzZjI5MmY5Y2UwMDg0cDkyLAorICAgIC0weDEuMDRwNgorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgMHgxLjBmNTNjNTAwZGFiMzExNWVjODNkMGE4N2YzODllZmE1cC0xLAorICAgIDB4MS4wNDAxYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIC0weDEuMGY1M2M1MDBkYWIzMTE1ZWM4M2QwYTg3ZjM4OWVmYTVwLTEsCisgICAgLTB4MS4wNDAxYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS4wN2E0M2Q3ODBjZDAyYWEzMjY5OTc0MzBjYjcyZWM2ZXAtMiwKKyAgICAweDEuMDRkMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS4wN2E0M2Q3ODBjZDAyYWEzMjY5OTc0MzBjYjcyZWM2ZXAtMiwKKyAgICAtMHgxLjA0ZDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS4wNzBiOTEwMDA1ODVlOTJlY2ViYTdmMWQxMDY4Njc4M3AtNSwKKyAgICAweDEuMDdwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuMDcwYjkxMDAwNTg1ZTkyZWNlYmE3ZjFkMTA2ODY3ODNwLTUsCisgICAgLTB4MS4wN3AtNQorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjBhZWYyZGZhNmYwOWFmNzU4Y2ZhYzNlYzdiYmU2NTgwcC0yLAorICAgIDB4MS4wOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS4wYWVmMmRmYTZmMDlhZjc1OGNmYWMzZWM3YmJlNjU4MHAtMiwKKyAgICAtMHgxLjA4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuMGFiOGMxMDNkMjEwZWNjOTk5ZGVhMmZiMWU2MDFkZmZwLTcsCisgICAgMHgxLjBhYjhwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuMGFiOGMxMDNkMjEwZWNjOTk5ZGVhMmZiMWU2MDFkZmZwLTcsCisgICAgLTB4MS4wYWI4cC03CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjBiZDgyMnA4NQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLjBiZDgyMnA4NQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjFiMGJkOWZmZjQzNGZhOTllYjkzNGYxMmNmY2RlNDBkcC0xLAorICAgIDB4MS4wZTUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjFiMGJkOWZmZjQzNGZhOTllYjkzNGYxMmNmY2RlNDBkcC0xLAorICAgIC0weDEuMGU1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjEzYTBkNTAwZDJmOGU4NGUyOWNmN2UwYjQ3NTkzZDZicC03LAorICAgIDB4MS4xM2EwcC03CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjEzYTBkNTAwZDJmOGU4NGUyOWNmN2UwYjQ3NTkzZDZicC03LAorICAgIC0weDEuMTNhMHAtNworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjE0NjM1YWZmMDc5MjhmNmI4MmI2ZWZkMDQ2ZDg1NjExcC02LAorICAgIDB4MS4xNDYwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLjE0NjM1YWZmMDc5MjhmNmI4MmI2ZWZkMDQ2ZDg1NjExcC02LAorICAgIC0weDEuMTQ2MHAtNgorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjE4MzdkNzAxOWMyOWFjNDI2MWQ4M2RiZGQ5NTQwNzcwcC00LAorICAgIDB4MS4xOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS4xODM3ZDcwMTljMjlhYzQyNjFkODNkYmRkOTU0MDc3MHAtNCwKKyAgICAtMHgxLjE4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuMWU5YTY2ZmZmZjY3ODg4ZTIyMjZhZGM5NzkyNDIwNTBwLTIsCisgICAgMHgxLjFhZmNjMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS4xZTlhNjZmZmZmNjc4ODhlMjIyNmFkYzk3OTI0MjA1MHAtMiwKKyAgICAtMHgxLjFhZmNjMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgMHgxLjU4NTFiNTgxYWI1Nzc0YjZiYzIyZmU4MDRhNjA5OTc0cDAsCisgICAgMHgxLjFiMDhwMAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS41ODUxYjU4MWFiNTc3NGI2YmMyMmZlODA0YTYwOTk3NHAwLAorICAgIC0weDEuMWIwOHAwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuMWZjMDk0OTZiNjU1YWI1ZjU3MWExNGZjNTM4NzQwZjNwLTIsCisgICAgMHgxLjFjMThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEuMWZjMDk0OTZiNjU1YWI1ZjU3MWExNGZjNTM4NzQwZjNwLTIsCisgICAgLTB4MS4xYzE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuMWM0ZmE2ZmZmZTIzMDhkNjA1OTgxNmMyOGNhNjhiOTNwLTYsCisgICAgMHgxLjFjNGNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMWM0ZmE2ZmZmZTIzMDhkNjA1OTgxNmMyOGNhNjhiOTNwLTYsCisgICAgLTB4MS4xYzRjcC02CisgIH0sCisgIHsgLy8gRW50cnkgODYKKyAgICAweDEuMWVmMGYwNTI0NWQ1NjRlYjYyMWJjMzU4MGU4MTBlY2JwLTcsCisgICAgMHgxLjFlZjBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuMWVmMGYwNTI0NWQ1NjRlYjYyMWJjMzU4MGU4MTBlY2JwLTcsCisgICAgLTB4MS4xZWYwcC03CisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuNWVmNTlmNGZiODQ1NDg1OGM3MGNjZTBiNzZmMGQxYzFwMCwKKyAgICAweDEuMWVmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLjVlZjU5ZjRmYjg0NTQ4NThjNzBjY2UwYjc2ZjBkMWMxcDAsCisgICAgLTB4MS4xZWY4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS43OTIyZDJmNmE2MjBjYzE3NjE5NmVlNjE5ZTM4Y2VkZXAwLAorICAgIDB4MS4yZTA3M2FwMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS43OTIyZDJmNmE2MjBjYzE3NjE5NmVlNjE5ZTM4Y2VkZXAwLAorICAgIC0weDEuMmUwNzNhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS40M2IzODFmZmY3N2MwZWZiYWM3ZWU4OWZmZmI4M2RiM3AtMSwKKyAgICAweDEuMzE0OTdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjQzYjM4MWZmZjc3YzBlZmJhYzdlZTg5ZmZmYjgzZGIzcC0xLAorICAgIC0weDEuMzE0OTdlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuMzJiNDMyMDAwMDAyMmJlMjY5YTdlMDg0NGU4ZmI0MjdwLTMsCisgICAgMHgxLjMxOTFhMnAtMworICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgLTB4MS4zMmI0MzIwMDAwMDIyYmUyNjlhN2UwODQ0ZThmYjQyN3AtMywKKyAgICAtMHgxLjMxOTFhMnAtMworICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjgxZTJiMGY4NjVmN2Q2ODk2MDkwOGRlYThkYmZmNjUycDAsCisgICAgMHgxLjMyZTc0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjgxZTJiMGY4NjVmN2Q2ODk2MDkwOGRlYThkYmZmNjUycDAsCisgICAgLTB4MS4zMmU3NGNwMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjY4NGY5MzAwMDQ5OTk2OTYzZTI3NTUzYjUyNWQ3ODVjcDIsCisgICAgMHgxLjM2ZWE1Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjY4NGY5MzAwMDQ5OTk2OTYzZTI3NTUzYjUyNWQ3ODVjcDIsCisgICAgLTB4MS4zNmVhNWNwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4zZThjNWE1MjM0NGM1ZmMwNWRlN2NmMzkzZmQ4MGJhY3AtMTIsCisgICAgMHgxLjNlOGM1YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLjNlOGM1YTUyMzQ0YzVmYzA1ZGU3Y2YzOTNmZDgwYmFjcC0xMiwKKyAgICAtMHgxLjNlOGM1YXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuM2ViYzAwNTI1OTM1NGYzN2VjZmFiYWZhYjE2NDQzOWRwLTEyLAorICAgIDB4MS4zZWJjcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuM2ViYzAwNTI1OTM1NGYzN2VjZmFiYWZhYjE2NDQzOWRwLTEyLAorICAgIC0weDEuM2ViY3AtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuM2VjNjZlNTI2MTRiMGI0NWQzNGY1NDU4YmQyYjZkNGFwLTEyLAorICAgIDB4MS4zZWM2NmVwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS4zZWM2NmU1MjYxNGIwYjQ1ZDM0ZjU0NThiZDJiNmQ0YXAtMTIsCisgICAgLTB4MS4zZWM2NmVwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLjlhODU2ZDAwNDM2NDI4NzU0Nzg0ZjgzOGFhNTNkY2RlcDAsCisgICAgMHgxLjQwM2E0MnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS45YTg1NmQwMDQzNjQyODc1NDc4NGY4MzhhYTUzZGNkZXAwLAorICAgIC0weDEuNDAzYTQycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuNDY3NDY5MDAwM2I1YzMzZTdmZDA5YTZiZmZhY2FjMDJwLTIsCisgICAgMHgxLjQxMjlkNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuNDY3NDY5MDAwM2I1YzMzZTdmZDA5YTZiZmZhY2FjMDJwLTIsCisgICAgLTB4MS40MTI5ZDZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuNDQyNTU2NTY5ZDRhODFlMmQ5OWYzMTZjZDcwNDk4OGJwLTEyLAorICAgIDB4MS40NDI1NTZwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS40NDI1NTY1NjlkNGE4MWUyZDk5ZjMxNmNkNzA0OTg4YnAtMTIsCisgICAgLTB4MS40NDI1NTZwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmY4OTdmMDdlNTA3NjBlNTIxM2Y2MTIxOTQwY2U3Mjc3cDExNSwKKyAgICAweDEuNDQ1NWE4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLmY4OTdmMDdlNTA3NjBlNTIxM2Y2MTIxOTQwY2U3Mjc3cDExNSwKKyAgICAtMHgxLjQ0NTVhOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLmY3YzYwMWMyNmEwYWFiMDdhY2IzYWVkMTI5NTI5ODYwcDExNiwKKyAgICAweDEuNDcxOWM2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmY3YzYwMWMyNmEwYWFiMDdhY2IzYWVkMTI5NTI5ODYwcDExNiwKKyAgICAtMHgxLjQ3MTljNnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjhmZDE0MmZmZmJmMDdiY2Q5YzY2MDdiMDJmYzU1Yjc0cDExNywKKyAgICAweDEuNDhmMmU0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAtMHgxLjhmZDE0MmZmZmJmMDdiY2Q5YzY2MDdiMDJmYzU1Yjc0cDExNywKKyAgICAtMHgxLjQ4ZjJlNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLjU0ZTJjNTAwMDhiNzNkOGU0ZDdlZDZjYTRjMTU1ZGJjcC0zLAorICAgIDB4MS41MzU0YzJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLjU0ZTJjNTAwMDhiNzNkOGU0ZDdlZDZjYTRjMTU1ZGJjcC0zLAorICAgIC0weDEuNTM1NGMycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLjdmZjdmNjkzMjQ0NWQyZTMxZjFiN2MyMGQ3YzdkODc1cDEyNSwKKyAgICAweDEuNWVmN2JjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLjdmZjdmNjkzMjQ0NWQyZTMxZjFiN2MyMGQ3YzdkODc1cDEyNSwKKyAgICAtMHgxLjVlZjdiY3A2CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmYxMzQwODc5NDE3MWQ5OGUxNGY5NTI0NWEzNDBhYjA2cDEyNSwKKyAgICAweDEuNjAwMDYwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLmYxMzQwODc5NDE3MWQ5OGUxNGY5NTI0NWEzNDBhYjA2cDEyNSwKKyAgICAtMHgxLjYwMDA2MHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmY5MTY0NjczNDliMDU4YjljMzg5MDY5MTFiODU2MDU2cDEyNSwKKyAgICAweDEuNjAxMDdjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAtMHgxLmY5MTY0NjczNDliMDU4YjljMzg5MDY5MTFiODU2MDU2cDEyNSwKKyAgICAtMHgxLjYwMTA3Y3A2CisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLjY5MTg0MTAwMDBjNWFlNTY1Njg4MmU3Y2VhNjRmMjVicC0yLAorICAgIDB4MS42MjAwNTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjY5MTg0MTAwMDBjNWFlNTY1Njg4MmU3Y2VhNjRmMjVicC0yLAorICAgIC0weDEuNjIwMDU0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjAwMjEwNjM4MzZiNDlkY2M4OWU0YzVhYWI1ZTkxMWQxcDEyNywKKyAgICAweDEuNjJlNGI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjAwMjEwNjM4MzZiNDlkY2M4OWU0YzVhYWI1ZTkxMWQxcDEyNywKKyAgICAtMHgxLjYyZTRiNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLmY0MGEyYzZjN2U0ZWVjNGMwZWQxZmFlMzJkMjU1ZTIzcDEyNywKKyAgICAweDEuNjU5MWM0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAtMHgxLmY0MGEyYzZjN2U0ZWVjNGMwZWQxZmFlMzJkMjU1ZTIzcDEyNywKKyAgICAtMHgxLjY1OTFjNHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLmZmMDcxNGQ0NGZjODcxZmYwYzA4NjA5NmYxYmYwYWUwcDEyNywKKyAgICAweDEuNjVhODA2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAtMHgxLmZmMDcxNGQ0NGZjODcxZmYwYzA4NjA5NmYxYmYwYWUwcDEyNywKKyAgICAtMHgxLjY1YTgwNnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmZmNzBlYzQwMGI5YzJkOGRlZTg3OGUzMGI1NjMzOWJlcDEyNywKKyAgICAweDEuNjVhOGRhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLmZmNzBlYzQwMGI5YzJkOGRlZTg3OGUzMGI1NjMzOWJlcDEyNywKKyAgICAtMHgxLjY1YThkYXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLmZmZjJkODY5ZDA3ZDExZDZjNjRkODk2ZjExN2YwMDk0cDEyNywKKyAgICAweDEuNjVhOWRlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLmZmZjJkODY5ZDA3ZDExZDZjNjRkODk2ZjExN2YwMDk0cDEyNywKKyAgICAtMHgxLjY1YTlkZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLjZlNDQ0MTAzYmM4OTQ1MzExMzU4ZGRlN2E2NmJkYjM4cC0yLAorICAgIDB4MS42NmRmZmFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAtMHgxLjZlNDQ0MTAzYmM4OTQ1MzExMzU4ZGRlN2E2NmJkYjM4cC0yLAorICAgIC0weDEuNjZkZmZhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjY3Y2YwMTAwMDA1MmNiOGMwN2ZjYmU2Y2I2OGRjYzNkcC02LAorICAgIDB4MS42N2M3OWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjY3Y2YwMTAwMDA1MmNiOGMwN2ZjYmU2Y2I2OGRjYzNkcC02LAorICAgIC0weDEuNjdjNzlhcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjc4MDA4NTJmYjcxNzNmM2MzMDBjYWNhNjcwOGYwZDZmcC04LAorICAgIDB4MS43N2ZmZmVwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLjc4MDA4NTJmYjcxNzNmM2MzMDBjYWNhNjcwOGYwZDZmcC04LAorICAgIC0weDEuNzdmZmZlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLjgwMDAwOTAwMDAxMDMzMzM0MTE1ZjE2NjA3NTA3NzRjcC0xMCwKKyAgICAweDEuODBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgLTB4MS44MDAwMDkwMDAwMTAzMzMzNDExNWYxNjYwNzUwNzc0Y3AtMTAsCisgICAgLTB4MS44MHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAweDEuNWRmOTFjZmY5YWNlMjZkZjU3MmQ1MjhhOGQ3ZTRkOTlwMTYsCisgICAgMHgxLjgzMTNlYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS41ZGY5MWNmZjlhY2UyNmRmNTcyZDUyOGE4ZDdlNGQ5OXAxNiwKKyAgICAtMHgxLjgzMTNlYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLjE2YzM3MGZjNDBhMGVmMzE4MGY4YTYxYzhiMjUxNTdjcDEsCisgICAgMHgxLjg1M2M1NnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS4xNmMzNzBmYzQwYTBlZjMxODBmOGE2MWM4YjI1MTU3Y3AxLAorICAgIC0weDEuODUzYzU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuODgwMDAwOTkzMDU1Njc0YWU5OGE5YTQ0YWE2MjQ1MDlwLTEyLAorICAgIDB4MS44OHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLjg4MDAwMDk5MzA1NTY3NGFlOThhOWE0NGFhNjI0NTA5cC0xMiwKKyAgICAtMHgxLjg4cC0xMgorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS5kYWI3N2QwM2Q5Y2VlYTQ4Mzg3YzdhM2U1ZWJkZTYxMnAxNiwKKyAgICAweDEuOGNkNTU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmRhYjc3ZDAzZDljZWVhNDgzODdjN2EzZTVlYmRlNjEycDE2LAorICAgIC0weDEuOGNkNTU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuYjM2YmU0ZjYwNmQwY2Q0Mzc3OGYwYjU2ZDZjNzhjNjlwMywKKyAgICAweDEuYTcwY2E0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmIzNmJlNGY2MDZkMGNkNDM3NzhmMGI1NmQ2Yzc4YzY5cDMsCisgICAgLTB4MS5hNzBjYTRwMQorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS45ZmM3NjhmNjNlMjE5OWQ0MTYxYWQ1MmM0MmM0Mzk5M3A4LAorICAgIDB4MS5hZTRhOTZwMgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuOWZjNzY4ZjYzZTIxOTlkNDE2MWFkNTJjNDJjNDM5OTNwOCwKKyAgICAtMHgxLmFlNGE5NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLmZkZGNiNTAyOGYzYzVmMmY5MDU3YjI3NWZkYTk2M2I1cC0xLAorICAgIDB4MS5jMWMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5mZGRjYjUwMjhmM2M1ZjJmOTA1N2IyNzVmZGE5NjNiNXAtMSwKKyAgICAtMHgxLmMxYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuYzlkNzgzMTdhYWU1ODg2MWJmYTAxNzQ3ZTA1YWFhMjFwLTMsCisgICAgMHgxLmM2MWM4ZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuYzlkNzgzMTdhYWU1ODg2MWJmYTAxNzQ3ZTA1YWFhMjFwLTMsCisgICAgLTB4MS5jNjFjOGVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuMTdkNDZkMDBlN2FhMmJkMzExYzlkMDZmYWYzMWNkMGZwNCwKKyAgICAweDEuYzcxYzc4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLjE3ZDQ2ZDAwZTdhYTJiZDMxMWM5ZDA2ZmFmMzFjZDBmcDQsCisgICAgLTB4MS5jNzFjNzhwMQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5kMDBmZGVmZWRiZGM4NmQ4MmUzNGExNzI2Y2U2ZmQ1ZXAtNiwKKyAgICAweDEuY2ZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5kMDBmZGVmZWRiZGM4NmQ4MmUzNGExNzI2Y2U2ZmQ1ZXAtNiwKKyAgICAtMHgxLmNmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5kMTJmMTEwMDAwNjhiMjlmMTM5MGY3NjAxOWQxOTFlOXAtMTIsCisgICAgMHgxLmQxMmYxMHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMHgxLmQxMmYxMTAwMDA2OGIyOWYxMzkwZjc2MDE5ZDE5MWU5cC0xMiwKKyAgICAtMHgxLmQxMmYxMHAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEuZTE2MTQzMDAwM2Y2MzVlZmE0NmMxYjkzYjQwZDEyNGFwLTIsCisgICAgMHgxLmQxMzYwOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuZTE2MTQzMDAwM2Y2MzVlZmE0NmMxYjkzYjQwZDEyNGFwLTIsCisgICAgLTB4MS5kMTM2MDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZTUxOGYxMDAxNmQ0MjMzNTM5YTZhODZiNDZkZTMwNWRwOSwKKyAgICAweDEuZTQ4NTcwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmU1MThmMTAwMTZkNDIzMzUzOWE2YTg2YjQ2ZGUzMDVkcDksCisgICAgLTB4MS5lNDg1NzBwMgorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIDB4MS5mODgyZjhmZmZmOGMyYzk3MDUyZmZmNzdiMGZlMDVjYXAtMiwKKyAgICAweDEuZTYwZGE2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS5mODgyZjhmZmZmOGMyYzk3MDUyZmZmNzdiMGZlMDVjYXAtMiwKKyAgICAtMHgxLmU2MGRhNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5hNjU2NWFmNjZjYzAwMzY3Y2Q0YjQ0YWNlZjhmZTNiNHAxLAorICAgIDB4MS5lOGJjZTBwMAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIC0weDEuYTY1NjVhZjY2Y2MwMDM2N2NkNGI0NGFjZWY4ZmUzYjRwMSwKKyAgICAtMHgxLmU4YmNlMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLmVlMmZhNWZmZmZmZmQ0NzhhMTA5MjE3MDU5ZGRiM2E5cC00LAorICAgIDB4MS5lY2ZlYjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmVlMmZhNWZmZmZmZmQ0NzhhMTA5MjE3MDU5ZGRiM2E5cC00LAorICAgIC0weDEuZWNmZWI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmI1NGY3NGY2NWJhYjEyODMwZjk1OWEzZTJkN2UxYzYxcDEsCisgICAgMHgxLmYxNDkxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5iNTRmNzRmNjViYWIxMjgzMGY5NTlhM2UyZDdlMWM2MXAxLAorICAgIC0weDEuZjE0OTEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuYjU2YTk2ZjZmYmJiODA0NWFmNjJiMDdkNWQ1NmI2NTZwMSwKKyAgICAweDEuZjE1ODRlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAtMHgxLmI1NmE5NmY2ZmJiYjgwNDVhZjYyYjA3ZDVkNTZiNjU2cDEsCisgICAgLTB4MS5mMTU4NGVwMAorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mNmU0MmUwMDAwNDc2MjNlYzJhODNhNDYxZTk4ZGVjN3AtMywKKyAgICAweDEuZjFmODUycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS5mNmU0MmUwMDAwNDc2MjNlYzJhODNhNDYxZTk4ZGVjN3AtMywKKyAgICAtMHgxLmYxZjg1MnAtMworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5mNmVjMTQ1OGZiMzQ4N2FhYzRiZmVlYzRiNjgxMjY3MHAtMywKKyAgICAweDEuZjFmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5mNmVjMTQ1OGZiMzQ4N2FhYzRiZmVlYzRiNjgxMjY3MHAtMywKKyAgICAtMHgxLmYxZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5mMmZkYTZmZGZhOThhMzViNjZlNTEwNGZkYWNkMmJkNXAtOSwKKyAgICAweDEuZjJmZDU4cC05CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5mMmZkYTZmZGZhOThhMzViNjZlNTEwNGZkYWNkMmJkNXAtOSwKKyAgICAtMHgxLmYyZmQ1OHAtOQorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5mODUyMWRmZmZmY2Q0MTQ2MmIwZDczNTY5YjFkMzgxOXAtMywKKyAgICAweDEuZjM1YmFjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5mODUyMWRmZmZmY2Q0MTQ2MmIwZDczNTY5YjFkMzgxOXAtMywKKyAgICAtMHgxLmYzNWJhY3AtMworICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mNGRkYThmZTJlYzMwM2ZjN2Y3NTY4NDc1NTQ1MTM5Y3AtMTEsCisgICAgMHgxLmY0ZGRhNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTEKKyAgICAtMHgxLmY0ZGRhOGZlMmVjMzAzZmM3Zjc1Njg0NzU1NDUxMzljcC0xMSwKKyAgICAtMHgxLmY0ZGRhNHAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZjUxYTdkMDAwMGFjNTBhZDU0MDJjOTQ5YmE4MmU4YTNwLTExLAorICAgIDB4MS5mNTFhNzhwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5mNTFhN2QwMDAwYWM1MGFkNTQwMmM5NDliYTgyZThhM3AtMTEsCisgICAgLTB4MS5mNTFhNzhwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgMHgxLmE2NjRkY2VkN2NiOThjNjhmMmI5NzNkNjVjNjc2YTM1cDIxLAorICAgIDB4MS5mN2ZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuYTY2NGRjZWQ3Y2I5OGM2OGYyYjk3M2Q2NWM2NzZhMzVwMjEsCisgICAgLTB4MS5mN2ZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5mOWI2NThmZmZmM2NlMzk5NjVlMWIyOTFhYmM5ZWZiOHAtNCwKKyAgICAweDEuZjg2ZmFjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5mOWI2NThmZmZmM2NlMzk5NjVlMWIyOTFhYmM5ZWZiOHAtNCwKKyAgICAtMHgxLmY4NmZhY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS4yOGMzZmIwMDE2YmU0ZmQ4MDJlODNjOWJlMGQ5Y2FkMXAwLAorICAgIDB4MS5mYWFlZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLjI4YzNmYjAwMTZiZTRmZDgwMmU4M2M5YmUwZDljYWQxcDAsCisgICAgLTB4MS5mYWFlZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuMjliMTUzMDAwMDAwNGEzNzIyYWUxMTE3YzI3ODcxNTJwMCwKKyAgICAweDEuZmJlNGIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS4yOWIxNTMwMDAwMDA0YTM3MjJhZTExMTdjMjc4NzE1MnAwLAorICAgIC0weDEuZmJlNGIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLmZjMTRkNDk2MTAzOWRjODU3Yzc5NmY1NmIzNGFmM2IzcC02LAorICAgIDB4MS5mYmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAtMHgxLmZjMTRkNDk2MTAzOWRjODU3Yzc5NmY1NmIzNGFmM2IzcC02LAorICAgIC0weDEuZmJmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmZjNGQ3ZmQyZDhlNzBlY2I2NmUwMjgxMzdkYThiYTlkcC03LAorICAgIDB4MS5mYzQ4NDhwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLmZjNGQ3ZmQyZDhlNzBlY2I2NmUwMjgxMzdkYThiYTlkcC03LAorICAgIC0weDEuZmM0ODQ4cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmZjZTYxM2NhYTA0NjllNjhjNzIwYzc2OTZjZjM1YzNkcC05LAorICAgIDB4MS5mY2U1YzBwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDcKKyAgICAtMHgxLmZjZTYxM2NhYTA0NjllNjhjNzIwYzc2OTZjZjM1YzNkcC05LAorICAgIC0weDEuZmNlNWMwcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgMHgxLmZkZjUwZmUwMTk0MzMwY2ZjZWNiMjkzNWIwOWQwOWEzcC02LAorICAgIDB4MS5mZGRmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmZkZjUwZmUwMTk0MzMwY2ZjZWNiMjkzNWIwOWQwOWEzcC02LAorICAgIC0weDEuZmRkZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmOTIxOTgyNzIyOTllOWRkNWE0MzE1MzcyOTQ3YmI3cC00LAorICAgIDB4MS5mZTNmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLmZmOTIxOTgyNzIyOTllOWRkNWE0MzE1MzcyOTQ3YmI3cC00LAorICAgIC0weDEuZmUzZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjEyCisgICAgMHgxLmZlZDQ5ODE4YTg2YzllNWQzNTczNDhjYzg2NTUyZWNmcC01LAorICAgIDB4MS5mZTdmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLmZlZDQ5ODE4YTg2YzllNWQzNTczNDhjYzg2NTUyZWNmcC01LAorICAgIC0weDEuZmU3ZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgMHgxLjNkNTlkMmQ4YjIyYjQxYzJiYjYzMzRjOWJlN2JlOTAycDkxLAorICAgIDB4MS5mZmRmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuM2Q1OWQyZDhiMjJiNDFjMmJiNjMzNGM5YmU3YmU5MDJwOTEsCisgICAgLTB4MS5mZmRmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDIxNgorICAgIDB4MS5mZmY3N2Y1NTQ0NTFlMWY1OGIyZDVlMWVjYzQwN2E2NnAtMTIsCisgICAgMHgxLmZmZjc3ZXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLmZmZjc3ZjU1NDQ1MWUxZjU4YjJkNWUxZWNjNDA3YTY2cC0xMiwKKyAgICAtMHgxLmZmZjc3ZXAtMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAweDEuNzQ3NGMyZjkxNDRmMDAzYWNkNjZlNjBkNTg2NDNmMDdwMTAsCisgICAgMHgxLmZmZjhjZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgLTB4MS43NDc0YzJmOTE0NGYwMDNhY2Q2NmU2MGQ1ODY0M2YwN3AxMCwKKyAgICAtMHgxLmZmZjhjZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLmI0OTVkOGY5NmFkMjUwN2MzNmUyODhmNDJlZDY5YzY1cDQsCisgICAgMHgxLmZmZmNwMQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuYjQ5NWQ4Zjk2YWQyNTA3YzM2ZTI4OGY0MmVkNjljNjVwNCwKKyAgICAtMHgxLmZmZmNwMQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS4yY2Q3NDc2ZWRlMGFhYzJjM2JlNGQ4MWVmYzFmYWUyYnAwLAorICAgIDB4MS5mZmZjN2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAtMHgxLjJjZDc0NzZlZGUwYWFjMmMzYmU0ZDgxZWZjMWZhZTJicDAsCisgICAgLTB4MS5mZmZjN2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuZDAzYTkwZmZmZmE3MmFmZmEzMGFhZTIxMjY0MTBmZDNwMSwKKyAgICAweDEuZmZmZWJhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAtMHgxLmQwM2E5MGZmZmZhNzJhZmZhMzBhYWUyMTI2NDEwZmQzcDEsCisgICAgLTB4MS5mZmZlYmFwMAorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5iNGEwZTlmZjc2Nzg2YmY2ZWMyZWE0ZjUzYTQyYTExOHA0LAorICAgIDB4MS5mZmZmM2VwMQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuYjRhMGU5ZmY3Njc4NmJmNmVjMmVhNGY1M2E0MmExMThwNCwKKyAgICAtMHgxLmZmZmYzZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjI4CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIyOQorICAgIDB4MS4yNGQxZmU4Y2ZhZDdmOThmY2RiZWE1ODgyYWY4ZTMyZHAtNCwKKyAgICAweDEuMjQ5MjRhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgLTB4MS4yNGQxZmU4Y2ZhZDdmOThmY2RiZWE1ODgyYWY4ZTMyZHAtNCwKKyAgICAtMHgxLjI0OTI0YXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIDB4MS4yNTkxNGUyNTAwOTJlNWMzY2RkZjIwNDBhZmQ3OWM2NXAtMywKKyAgICAweDEuMjQ5MjRhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS4yNTkxNGUyNTAwOTJlNWMzY2RkZjIwNDBhZmQ3OWM2NXAtMywKKyAgICAtMHgxLjI0OTI0YXAtMworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5iYTM5MzczNGNhMjVmNmY0MTk3Y2M0MTg0NGZmNmU3ZHAtMywKKyAgICAweDEuYjZkYjcwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5iYTM5MzczNGNhMjVmNmY0MTk3Y2M0MTg0NGZmNmU3ZHAtMywKKyAgICAtMHgxLmI2ZGI3MHAtMworICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS4yODkxN2IxYTY3YzQzOWVmMmEyODMzN2ViZWY2ZGMzY3AtMiwKKyAgICAweDEuMjQ5MjRhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgLTB4MS4yODkxN2IxYTY3YzQzOWVmMmEyODMzN2ViZWY2ZGMzY3AtMiwKKyAgICAtMHgxLjI0OTI0YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS43NTg5ZGY4Mjk1MDNmYTIwZWQ4Nzc0YzMxZTZhMzMyY3AtMiwKKyAgICAweDEuNmRiNmRjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgLTB4MS43NTg5ZGY4Mjk1MDNmYTIwZWQ4Nzc0YzMxZTZhMzMyY3AtMiwKKyAgICAtMHgxLjZkYjZkY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS5jNDZhNWMxZDMyZDQ4NjBiODExNTVhZWY4MDhmN2QwZnAtMiwKKyAgICAweDEuYjZkYjZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS5jNDZhNWMxZDMyZDQ4NjBiODExNTVhZWY4MDhmN2QwZnAtMiwKKyAgICAtMHgxLmI2ZGI2ZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI0MQorICAgIDB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgLTB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MworICAgIDB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgLTB4MS4wYWNkMDBmZTYzYjk2Y2EzNTc4OTU3NjFhZTY2MjI0YXAtMSwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIDB4MS4zNGMxNzQ3ZjYzNWRmYzE2YzFkODhlNTkxMDIzOWZlOHAtMSwKKyAgICAweDEuMjQ5MjRhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgLTB4MS4zNGMxNzQ3ZjYzNWRmYzE2YzFkODhlNTkxMDIzOWZlOHAtMSwKKyAgICAtMHgxLjI0OTI0YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS42MDQ5NTljYjlkY2E2NmE2YzZiMWQ1MjIxNGI4ODkwMXAtMSwKKyAgICAweDEuNDkyNDk0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgLTB4MS42MDQ5NTljYjlkY2E2NmE2YzZiMWQ1MjIxNGI4ODkwMXAtMSwKKyAgICAtMHgxLjQ5MjQ5NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIDB4MS44ZDlkOTI2MTE5MzVlZThiY2M5ZTljMWJiY2I0ZWMwZHAtMSwKKyAgICAweDEuNmRiNmRlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgLTB4MS44ZDlkOTI2MTE5MzVlZThiY2M5ZTljMWJiY2I0ZWMwZHAtMSwKKyAgICAtMHgxLjZkYjZkZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MQorICAgIDB4MS5iY2Y5NTkzZDJlY2MxMmUzODM2ZDE1YTEwNjdhNzg5NnAtMSwKKyAgICAweDEuOTI0OTI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgLTB4MS5iY2Y5NTkzZDJlY2MxMmUzODM2ZDE1YTEwNjdhNzg5NnAtMSwKKyAgICAtMHgxLjkyNDkyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5lZTlhOTA0MWIyZTc3ZGM4NjQ1YjA3Y2QzNWJmMTMzM3AtMSwKKyAgICAweDEuYjZkYjcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgLTB4MS5lZTlhOTA0MWIyZTc3ZGM4NjQ1YjA3Y2QzNWJmMTMzM3AtMSwKKyAgICAtMHgxLmI2ZGI3MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIDB4MS4xMTYxMDg4ODlhYmQzZmQ2ZGY5YTkwOWFmNWI0YjNhYnAwLAorICAgIDB4MS5kYjZkYmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTYKKyAgICAtMHgxLjExNjEwODg4OWFiZDNmZDZkZjlhOTA5YWY1YjRiM2FicDAsCisgICAgLTB4MS5kYjZkYmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAtMHgxLjJjZDlmYzQ0ZWI5ODI1YTgwMjQ5NDg3ZjA2NGZmZDVjcDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAweDEuMThlMWRmOTRhM2M5ZWVjNjE2ZjNjMzNlMTE2ZmYxMzZwLTYsCisgICAgMHgxLjE4ZGU1YXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIC0weDEuMThlMWRmOTRhM2M5ZWVjNjE2ZjNjMzNlMTE2ZmYxMzZwLTYsCisgICAgLTB4MS4xOGRlNWFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuMThlYzcwN2I0MWNiMDU3NTdmNzAyYjJlN2JjODE2OGZwLTUsCisgICAgMHgxLjE4ZGU1YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuMThlYzcwN2I0MWNiMDU3NTdmNzAyYjJlN2JjODE2OGZwLTUsCisgICAgLTB4MS4xOGRlNWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEuYTU3ZDE0YzU0NGRiNmY3OWNjYjI5Y2Y2NDdlYzNiZDZwLTUsCisgICAgMHgxLmE1NGQ4OHAtNQorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIC0weDEuYTU3ZDE0YzU0NGRiNmY3OWNjYjI5Y2Y2NDdlYzNiZDZwLTUsCisgICAgLTB4MS5hNTRkODhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuMTkxNmI2Nzg0MmRmZjEwMjVlNzllMDY4NjRiYWQ4MDVwLTQsCisgICAgMHgxLjE4ZGU1YXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuMTkxNmI2Nzg0MmRmZjEwMjVlNzllMDY4NjRiYWQ4MDVwLTQsCisgICAgLTB4MS4xOGRlNWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuNWY4NDA4NTQ4MjgyNzVlMDdiNTIxNDdhMGIzNGNlYzJwLTQsCisgICAgMHgxLjVmMTVmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuNWY4NDA4NTQ4MjgyNzVlMDdiNTIxNDdhMGIzNGNlYzJwLTQsCisgICAgLTB4MS41ZjE1ZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAweDEuYTYwYmNjNjQ4ODhiNWQxYTczMzhiMWEwZjkyNDNmMWVwLTQsCisgICAgMHgxLmE1NGQ4NnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuYTYwYmNjNjQ4ODhiNWQxYTczMzhiMWEwZjkyNDNmMWVwLTQsCisgICAgLTB4MS5hNTRkODZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuZWNiMzUxMTJkNjc0ZDA1Nzg1ZWMwMDA2NmMyYjNlYzhwLTQsCisgICAgMHgxLmViODUxY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIC0weDEuZWNiMzUxMTJkNjc0ZDA1Nzg1ZWMwMDA2NmMyYjNlYzhwLTQsCisgICAgLTB4MS5lYjg1MWNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzQKKyAgICAweDEuZWNiMzUzMTY4NzRlYmY3M2FiYTkyNDkxYTQ0ZTA3OWZwLTQsCisgICAgMHgxLmViODUxZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuZWNiMzUzMTY4NzRlYmY3M2FiYTkyNDkxYTQ0ZTA3OWZwLTQsCisgICAgLTB4MS5lYjg1MWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuMDIyNDNkMTI3NjE0MzEwNjQwNGZhNGNiM2ZjYWRmMzNwLTMsCisgICAgMHgxLjAxNzY3ZXAtMworICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIC0weDEuMDIyNDNkMTI3NjE0MzEwNjQwNGZhNGNiM2ZjYWRmMzNwLTMsCisgICAgLTB4MS4wMTc2N2VwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuMGRmMGY4MDExMTI2NTkzZWZlZGRhMDQ1YzhmYTBlMDlwLTMsCisgICAgMHgxLjBkMmE2Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIC0weDEuMGRmMGY4MDExMTI2NTkzZWZlZGRhMDQ1YzhmYTBlMDlwLTMsCisgICAgLTB4MS4wZDJhNmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEuMTliZmY0OTkyNmQ0ODcwYzRjYWUxZjQwNzZiOGUzN2FwLTMsCisgICAgMHgxLjE4ZGU1YXAtMworICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuMTliZmY0OTkyNmQ0ODcwYzRjYWUxZjQwNzZiOGUzN2FwLTMsCisgICAgLTB4MS4xOGRlNWFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuMjU5MTRjMWZjNGQ0MGIyMzZhMjE4Zjg1OGM3MGZiNTNwLTMsCisgICAgMHgxLjI0OTI0OHAtMworICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIC0weDEuMjU5MTRjMWZjNGQ0MGIyMzZhMjE4Zjg1OGM3MGZiNTNwLTMsCisgICAgLTB4MS4yNDkyNDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuMzE2NTE3ZGYwMzE5NGU2MmNkYzM5YzMwM2I4MTA1ZmZwLTMsCisgICAgMHgxLjMwNDYzNnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuMzE2NTE3ZGYwMzE5NGU2MmNkYzM5YzMwM2I4MTA1ZmZwLTMsCisgICAgLTB4MS4zMDQ2MzZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuM2QzYjcxMjYzOWY2MTU5ODY3NzFhOTEwZDM0NDYxN2VwLTMsCisgICAgMHgxLjNiZmEyNHAtMworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuM2QzYjcxMjYzOWY2MTU5ODY3NzFhOTEwZDM0NDYxN2VwLTMsCisgICAgLTB4MS4zYmZhMjRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuNDkxNDcxNGEzODQzMDIyOGVkYjU1ZTc5NDljMzBhOTZwLTMsCisgICAgMHgxLjQ3YWUxMnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuNDkxNDcxNGEzODQzMDIyOGVkYjU1ZTc5NDljMzBhOTZwLTMsCisgICAgLTB4MS40N2FlMTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuNDkxNDczNTBjOTkwYjg3MzFiNWFhMDZiMzc1ZTlhZDBwLTMsCisgICAgMHgxLjQ3YWUxNHAtMworICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuNDkxNDczNTBjOTkwYjg3MzFiNWFhMDZiMzc1ZTlhZDBwLTMsCisgICAgLTB4MS40N2FlMTRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuMjI3YjJmM2QzMGFmMWQ0ZTIyNDQ0YzhlN2YzMzg0NjBwLTIsCisgICAgMHgxLjFlYjg1MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuMjI3YjJmM2QzMGFmMWQ0ZTIyNDQ0YzhlN2YzMzg0NjBwLTIsCisgICAgLTB4MS4xZWI4NTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuYTQ5YzQyNjcwNDk3MDI1OTk2YThiM2ZmNDJhNDljNmZwLTIsCisgICAgMHgxLjk5OTk5YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIC0weDEuYTQ5YzQyNjcwNDk3MDI1OTk2YThiM2ZmNDJhNDljNmZwLTIsCisgICAgLTB4MS45OTk5OWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAweDEuMTY2NmRjZDE5OGZmOTJiNDZkYTZiZmFiOGFiYTU2YTBwLTEsCisgICAgMHgxLjBhM2Q3MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIC0weDEuMTY2NmRjZDE5OGZmOTJiNDZkYTZiZmFiOGFiYTU2YTBwLTEsCisgICAgLTB4MS4wYTNkNzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTgKKyAgICAweDEuNWU4MzIxZTA3ZTc2ZDA4ZTFlOTg1YWIzY2Q3ZGE1YjZwLTEsCisgICAgMHgxLjQ3YWUxNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0weDEuNWU4MzIxZTA3ZTc2ZDA4ZTFlOTg1YWIzY2Q3ZGE1YjZwLTEsCisgICAgLTB4MS40N2FlMTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAweDEuYWJhZDE0ZjBhYTA3YTJmZDVjYzg2ZjYwOThhOGNmODBwLTEsCisgICAgMHgxLjg1MWViOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0weDEuYWJhZDE0ZjBhYTA3YTJmZDVjYzg2ZjYwOThhOGNmODBwLTEsCisgICAgLTB4MS44NTFlYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAweDEuZmYwMTgyNjY4NDExNTM5ZDNkYjliOGZkOWFmMTFmZDBwLTEsCisgICAgMHgxLmMyOGY1Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIC0weDEuZmYwMTgyNjY4NDExNTM5ZDNkYjliOGZkOWFmMTFmZDBwLTEsCisgICAgLTB4MS5jMjhmNWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAweDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAtMHgxLjJjZDlmYzQ0ZWI5ODI1YTgwMjQ5NDg3ZjA2NGZmZDVjcDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS4yY2Q5ZmM0NGViOTgyNWE4MDI0OTQ4N2YwNjRmZmQ1Y3AwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzA4CisgICAgMHgxLjk1NTI1ZTRhMmVmNzE4ZWIwNzU0NjQyODY2YjVhN2Q0cDMsCisgICAgMHgxLjlkZTgyNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS45NTUyNWU0YTJlZjcxOGViMDc1NDY0Mjg2NmI1YTdkNHAzLAorICAgIC0weDEuOWRlODI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuZDlhMGVlZTU4YmJkMzc3MDZmOTMwN2VkYWQ3ZGE3ZWNwNiwKKyAgICAweDEuNWRlODI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAtMHgxLmQ5YTBlZWU1OGJiZDM3NzA2ZjkzMDdlZGFkN2RhN2VjcDYsCisgICAgLTB4MS41ZGU4MjZwMgorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIDB4MS4xNDRkYTgwYTJlMzUxMzI0MWZlZGFjYWI3MDk1NDYzMXAxMCwKKyAgICAweDEuZWNkYzM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAtMHgxLjE0NGRhODBhMmUzNTEzMjQxZmVkYWNhYjcwOTU0NjMxcDEwLAorICAgIC0weDEuZWNkYzM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuNDI1ZjJhM2ViMDc3MWQ3NzRjM2U3OTBjZDBmNDBjNjNwMTMsCisgICAgMHgxLjNkZTgyNnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS40MjVmMmEzZWIwNzcxZDc3NGMzZTc5MGNkMGY0MGM2M3AxMywKKyAgICAtMHgxLjNkZTgyNnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLjc4MWYwMDFiN2NjNDVlOGMwNTdkMDk4ZDMwMGE3M2QxcDE2LAorICAgIDB4MS44NTYyMzBwMworICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuNzgxZjAwMWI3Y2M0NWU4YzA1N2QwOThkMzAwYTczZDFwMTYsCisgICAgLTB4MS44NTYyMzBwMworICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS5iNmQ1MDZjNTlkOGNiZTVjNTRmN2Y4OTI3YzU5N2Y4NHAxOSwKKyAgICAweDEuY2NkYzNhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLmI2ZDUwNmM1OWQ4Y2JlNWM1NGY3Zjg5MjdjNTk3Zjg0cDE5LAorICAgIC0weDEuY2NkYzNhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAweDEuZmZmZmMxODhhY2U2YjExMGE4MGZlNDk2MTU5MTBmZjJwMjIsCisgICAgMHgxLjBhMmIyMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS5mZmZmYzE4OGFjZTZiMTEwYTgwZmU0OTYxNTkxMGZmMnAyMiwKKyAgICAtMHgxLjBhMmIyMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMHgxLmZmZmZjMTAzYzlmMDE1OGQyMmQ5NjNlNWI3NjRjNzUwcDE0LAorICAgIDB4MS42MmU0MmNwMworICB9LAorICB7IC8vIEVudHJ5IDMyMworICAgIC0weDEuZmZmZmMxMDNjOWYwMTU4ZDIyZDk2M2U1Yjc2NGM3NTBwMTQsCisgICAgLTB4MS42MmU0MmNwMworICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS5mZmZmZTEwM2M3MDA5MjEyMDM0YjM4OTc1OWE5M2ZkZHAxNCwKKyAgICAweDEuNjJlNDJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAtMHgxLmZmZmZlMTAzYzcwMDkyMTIwMzRiMzg5NzU5YTkzZmRkcDE0LAorICAgIC0weDEuNjJlNDJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuMDAwMDAwODFlMzA4ODczYmYzYzIxYzQyZGIwMzU0YzdwMTUsCisgICAgMHgxLjYyZTQzMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS4wMDAwMDA4MWUzMDg4NzNiZjNjMjFjNDJkYjAzNTRjN3AxNSwKKyAgICAtMHgxLjYyZTQzMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLmZmZmRlMDgyYzQ4MzI5ZDkyMGFlM2Q4M2M0MDA4ODQwcDYsCisgICAgMHgxLjYyZTQyY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5mZmZkZTA4MmM0ODMyOWQ5MjBhZTNkODNjNDAwODg0MHA2LAorICAgIC0weDEuNjJlNDJjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuZmZmZGYwODJkM2M3NDFiMWM2ZGZkYWVlZGJjMWNmOGVwNiwKKyAgICAweDEuNjJlNDJlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLmZmZmRmMDgyZDNjNzQxYjFjNmRmZGFlZWRiYzFjZjhlcDYsCisgICAgLTB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS5mZmZlMDA4MmUzOGI1OTA2OGRjNjZjZDUwN2UwMjdlZHA2LAorICAgIDB4MS42MmU0MzBwMgorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIC0weDEuZmZmZTAwODJlMzhiNTkwNjhkYzY2Y2Q1MDdlMDI3ZWRwNiwKKyAgICAtMHgxLjYyZTQzMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgMHgxLmZkZmZmMDMxYjMzMzcxN2RhMTA3N2M0YTUwYjVjYzY2cDIsCisgICAgMHgxLjYyZTQyY3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgLTB4MS5mZGZmZjAzMWIzMzM3MTdkYTEwNzdjNGE1MGI1Y2M2NnAyLAorICAgIC0weDEuNjJlNDJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuZmRmZmY4MzliMzA0YTYzZTdiOTNlNjhlY2NiOGI4ZTRwMiwKKyAgICAweDEuNjJlNDJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLmZkZmZmODM5YjMwNGE2M2U3YjkzZTY4ZWNjYjhiOGU0cDIsCisgICAgLTB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS5mZTAwMDA0MWIyZjViYWZlZDliYjgxNDgyY2EyYjhjNHAyLAorICAgIDB4MS42MmU0MzBwMQorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIC0weDEuZmUwMDAwNDFiMmY1YmFmZWQ5YmI4MTQ4MmNhMmI4YzRwMiwKKyAgICAtMHgxLjYyZTQzMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgMHgxLmRmZmZmN2EyYzQ1Y2MxMmJlYjIwNjUxODFmMGQyNDk1cDAsCisgICAgMHgxLjYyZTQyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS5kZmZmZjdhMmM0NWNjMTJiZWIyMDY1MTgxZjBkMjQ5NXAwLAorICAgIC0weDEuNjJlNDJjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDIKKyAgICAweDEuZGZmZmZiZTJjNDUxYmU4NjZhMTZkMGVjZGQ5YjE2N2VwMCwKKyAgICAweDEuNjJlNDJlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAtMHgxLmRmZmZmYmUyYzQ1MWJlODY2YTE2ZDBlY2RkOWIxNjdlcDAsCisgICAgLTB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5lMDAwMDAyMmM0NGUzYmUwZDg5ODRlMGIxNjQyYWI0NXAwLAorICAgIDB4MS42MmU0MzBwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuZTAwMDAwMjJjNDRlM2JlMGQ4OTg0ZTBiMTY0MmFiNDVwMCwKKyAgICAtMHgxLjYyZTQzMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjdmZmZmYjE0NzM3YzM3N2EyMzBkMTRhNGMxZDE0M2JkcC0xLAorICAgIDB4MS42MmU0MmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLjdmZmZmYjE0NzM3YzM3N2EyMzBkMTRhNGMxZDE0M2JkcC0xLAorICAgIC0weDEuNjJlNDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgMHgxLjdmZmZmZDk0NzM3YTAzYmY2ZWEyZTQwZmYyOGY0MDZicC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAtMHgxLjdmZmZmZDk0NzM3YTAzYmY2ZWEyZTQwZmYyOGY0MDZicC0xLAorICAgIC0weDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgMHgxLjgwMDAwMDE0NzM3OTUwMDRiN2NkMjZmNTQ3MGNhYjg5cC0xLAorICAgIDB4MS42MmU0MzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLjgwMDAwMDE0NzM3OTUwMDRiN2NkMjZmNTQ3MGNhYjg5cC0xLAorICAgIC0weDEuNjJlNDMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgMHgxLjZhMDllMjNiMzA3Y2E4MmMxYjFmNmRkNGEwZDFlZDk0cC0yLAorICAgIDB4MS42MmU0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTMKKyAgICAtMHgxLjZhMDllMjNiMzA3Y2E4MmMxYjFmNmRkNGEwZDFlZDk0cC0yLAorICAgIC0weDEuNjJlNDJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgMHgxLjZhMDllNDVhM2Y1NWJmM2E2OGU0OTIxNDJmMGU3YWNmcC0yLAorICAgIDB4MS42MmU0MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLjZhMDllNDVhM2Y1NWJmM2E2OGU0OTIxNDJmMGU3YWNmcC0yLAorICAgIC0weDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgMHgxLjZhMDllNjc5NGUyZjMwY2IyZmMwNDYyOTJlZmM1YTFkcC0yLAorICAgIDB4MS42MmU0MzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLjZhMDllNjc5NGUyZjMwY2IyZmMwNDYyOTJlZmM1YTFkcC0yLAorICAgIC0weDEuNjJlNDMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLjY0YWI4YjYyNDUwMGRjYzc0ZGM1ZGU5N2EwNzIwYWFicC0zLAorICAgIDB4MS42MmU0MmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTkKKyAgICAtMHgxLjY0YWI4YjYyNDUwMGRjYzc0ZGM1ZGU5N2EwNzIwYWFicC0zLAorICAgIC0weDEuNjJlNDJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLjY0YWI4ZDY5ZjlkZTI5ZmZhMmE1OTQ0Y2YyNjM3NGZhcC0zLAorICAgIDB4MS42MmU0MmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAtMHgxLjY0YWI4ZDY5ZjlkZTI5ZmZhMmE1OTQ0Y2YyNjM3NGZhcC0zLAorICAgIC0weDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLjY0YWI4ZjcxYWViYjhkODJiMDViZTlhMDI3MTI5MjY5cC0zLAorICAgIDB4MS42MmU0MzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLjY0YWI4ZjcxYWViYjhkODJiMDViZTlhMDI3MTI5MjY5cC0zLAorICAgIC0weDEuNjJlNDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLjYzNTVlMzBjNTMyMjg1MzczOWI4NzEyNWVjMjJiZGVjcC00LAorICAgIDB4MS42MmU0MmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAtMHgxLjYzNTVlMzBjNTMyMjg1MzczOWI4NzEyNWVjMjJiZGVjcC00LAorICAgIC0weDEuNjJlNDJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjYzNTVlNTBlM2Y2ZDJjYzJkZDZlNzQ3ZjYxYmI4YzY1cC00LAorICAgIDB4MS42MmU0MmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjYzNTVlNTBlM2Y2ZDJjYzJkZDZlNzQ3ZjYxYmI4YzY1cC00LAorICAgIC0weDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjYzNTVlNzEwMmJiN2Q5ZGJkOGI4YjBkNjhjMDk0MDFicC00LAorICAgIDB4MS42MmU0MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLjYzNTVlNzEwMmJiN2Q5ZGJkOGI4YjBkNjhjMDk0MDFicC00LAorICAgIC0weDEuNjJlNDMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLjYzMDA5N2I2YWFlYTM2ZDkwNWExZTc0YTMzMmIwMTAycC01LAorICAgIDB4MS42MmU0MmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLjYzMDA5N2I2YWFlYTM2ZDkwNWExZTc0YTMzMmIwMTAycC01LAorICAgIC0weDEuNjJlNDJjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjYzMDA5OWI3MjVlZTE5OGNmNDhmNDM5ZTI4MDdiZjA3cC01LAorICAgIDB4MS42MmU0MmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLjYzMDA5OWI3MjVlZTE5OGNmNDhmNDM5ZTI4MDdiZjA3cC01LAorICAgIC0weDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjYzMDA5YmI3YTBmMWZkYTNlNDE2NTcxODBhZmUyNzk3cC01LAorICAgIDB4MS42MmU0MzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLjYzMDA5YmI3YTBmMWZkYTNlNDE2NTcxODBhZmUyNzk3cC01LAorICAgIC0weDEuNjJlNDMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjYyZWI0NmNjZTU4NDhlZmMwYTg4ODQ5OTc0MmJmZDRjcC02LAorICAgIDB4MS42MmU0MmNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLjYyZWI0NmNjZTU4NDhlZmMwYTg4ODQ5OTc0MmJmZDRjcC02LAorICAgIC0weDEuNjJlNDJjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjYyZWI0OGNkMDQ0NDliNDQ0OTZjZWVmZjU3NDkwMDc1cC02LAorICAgIDB4MS42MmU0MmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAtMHgxLjYyZWI0OGNkMDQ0NDliNDQ0OTZjZWVmZjU3NDkwMDc1cC02LAorICAgIC0weDEuNjJlNDJlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjYyZWI0YWNkMjMwNGE3ZTU0MzIzOGNhNjRiOGNkNjg5cC02LAorICAgIDB4MS42MmU0MzBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLjYyZWI0YWNkMjMwNGE3ZTU0MzIzOGNhNjRiOGNkNjg5cC02LAorICAgIC0weDEuNjJlNDMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgLTB4MS4wMDAwMDEwNWM2MTE1MDVjN2Y3NGE1MTlmOTQxNzFiMHAzMSwKKyAgICAtMHgxLjYyZTQzMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLjAwMDAwMTA1YzYxMTUwNWM3Zjc0YTUxOWY5NDE3MWIwcDMxLAorICAgIDB4MS42MmU0MzBwNAorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIC0weDEuZmZmZmMyMGI4ZmUxMmYwZTE3NDA2ZWExZGM1OThhYTBwMzAsCisgICAgLTB4MS42MmU0MmVwNAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS5mZmZmYzIwYjhmZTEyZjBlMTc0MDZlYTFkYzU5OGFhMHAzMCwKKyAgICAweDEuNjJlNDJlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAtMHgxLmZmZmY4MjBiOWI5ZmJjNmI1ZGQ5YzI3NjU2OWM5ZTc3cDMwLAorICAgIC0weDEuNjJlNDJjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuZmZmZjgyMGI5YjlmYmM2YjVkZDljMjc2NTY5YzllNzdwMzAsCisgICAgMHgxLjYyZTQyY3A0CisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgLTB4MS4wMDAwMDA4MWUzMDg4NzNiZjNjMjFjNDJkYjAzNTRjN3AxNSwKKyAgICAtMHgxLjYyZTQzMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgMHgxLjAwMDAwMDgxZTMwODg3M2JmM2MyMWM0MmRiMDM1NGM3cDE1LAorICAgIDB4MS42MmU0MzBwMworICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIC0weDEuZmZmZmUxMDNjNzAwOTIxMjAzNGIzODk3NTlhOTNmZGRwMTQsCisgICAgLTB4MS42MmU0MmVwMworICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIDB4MS5mZmZmZTEwM2M3MDA5MjEyMDM0YjM4OTc1OWE5M2ZkZHAxNCwKKyAgICAweDEuNjJlNDJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAtMHgxLmZmZmZjMTAzYzlmMDE1OGQyMmQ5NjNlNWI3NjRjNzUwcDE0LAorICAgIC0weDEuNjJlNDJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuZmZmZmMxMDNjOWYwMTU4ZDIyZDk2M2U1Yjc2NGM3NTBwMTQsCisgICAgMHgxLjYyZTQyY3AzCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgLTB4MS5mZmZlMDA4MmUzOGI1OTA2OGRjNjZjZDUwN2UwMjdlZHA2LAorICAgIC0weDEuNjJlNDMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAweDEuZmZmZTAwODJlMzhiNTkwNjhkYzY2Y2Q1MDdlMDI3ZWRwNiwKKyAgICAweDEuNjJlNDMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTYKKyAgICAtMHgxLmZmZmRmMDgyZDNjNzQxYjFjNmRmZGFlZWRiYzFjZjhlcDYsCisgICAgLTB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS5mZmZkZjA4MmQzYzc0MWIxYzZkZmRhZWVkYmMxY2Y4ZXA2LAorICAgIDB4MS42MmU0MmVwMgorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIC0weDEuZmZmZGUwODJjNDgzMjlkOTIwYWUzZDgzYzQwMDg4NDBwNiwKKyAgICAtMHgxLjYyZTQyY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgMHgxLmZmZmRlMDgyYzQ4MzI5ZDkyMGFlM2Q4M2M0MDA4ODQwcDYsCisgICAgMHgxLjYyZTQyY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgLTB4MS5mZTAwMDA0MWIyZjViYWZlZDliYjgxNDgyY2EyYjhjNHAyLAorICAgIC0weDEuNjJlNDMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDEKKyAgICAweDEuZmUwMDAwNDFiMmY1YmFmZWQ5YmI4MTQ4MmNhMmI4YzRwMiwKKyAgICAweDEuNjJlNDMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAtMHgxLmZkZmZmODM5YjMwNGE2M2U3YjkzZTY4ZWNjYjhiOGU0cDIsCisgICAgLTB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS5mZGZmZjgzOWIzMDRhNjNlN2I5M2U2OGVjY2I4YjhlNHAyLAorICAgIDB4MS42MmU0MmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIC0weDEuZmRmZmYwMzFiMzMzNzE3ZGExMDc3YzRhNTBiNWNjNjZwMiwKKyAgICAtMHgxLjYyZTQyY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLmZkZmZmMDMxYjMzMzcxN2RhMTA3N2M0YTUwYjVjYzY2cDIsCisgICAgMHgxLjYyZTQyY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgLTB4MS5lMDAwMDAyMmM0NGUzYmUwZDg5ODRlMGIxNjQyYWI0NXAwLAorICAgIC0weDEuNjJlNDMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAweDEuZTAwMDAwMjJjNDRlM2JlMGQ4OTg0ZTBiMTY0MmFiNDVwMCwKKyAgICAweDEuNjJlNDMwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAtMHgxLmRmZmZmYmUyYzQ1MWJlODY2YTE2ZDBlY2RkOWIxNjdlcDAsCisgICAgLTB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS5kZmZmZmJlMmM0NTFiZTg2NmExNmQwZWNkZDliMTY3ZXAwLAorICAgIDB4MS42MmU0MmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIC0weDEuZGZmZmY3YTJjNDVjYzEyYmViMjA2NTE4MWYwZDI0OTVwMCwKKyAgICAtMHgxLjYyZTQyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLmRmZmZmN2EyYzQ1Y2MxMmJlYjIwNjUxODFmMGQyNDk1cDAsCisgICAgMHgxLjYyZTQyY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgLTB4MS44MDAwMDAxNDczNzk1MDA0YjdjZDI2ZjU0NzBjYWI4OXAtMSwKKyAgICAtMHgxLjYyZTQzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxMworICAgIDB4MS44MDAwMDAxNDczNzk1MDA0YjdjZDI2ZjU0NzBjYWI4OXAtMSwKKyAgICAweDEuNjJlNDMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgLTB4MS43ZmZmZmQ5NDczN2EwM2JmNmVhMmU0MGZmMjhmNDA2YnAtMSwKKyAgICAtMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS43ZmZmZmQ5NDczN2EwM2JmNmVhMmU0MGZmMjhmNDA2YnAtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE2CisgICAgLTB4MS43ZmZmZmIxNDczN2MzNzdhMjMwZDE0YTRjMWQxNDNiZHAtMSwKKyAgICAtMHgxLjYyZTQyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS43ZmZmZmIxNDczN2MzNzdhMjMwZDE0YTRjMWQxNDNiZHAtMSwKKyAgICAweDEuNjJlNDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgLTB4MS42YTA5ZTY3OTRlMmYzMGNiMmZjMDQ2MjkyZWZjNWExZHAtMiwKKyAgICAtMHgxLjYyZTQzMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQxOQorICAgIDB4MS42YTA5ZTY3OTRlMmYzMGNiMmZjMDQ2MjkyZWZjNWExZHAtMiwKKyAgICAweDEuNjJlNDMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgLTB4MS42YTA5ZTQ1YTNmNTViZjNhNjhlNDkyMTQyZjBlN2FjZnAtMiwKKyAgICAtMHgxLjYyZTQyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS42YTA5ZTQ1YTNmNTViZjNhNjhlNDkyMTQyZjBlN2FjZnAtMiwKKyAgICAweDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgLTB4MS42YTA5ZTIzYjMwN2NhODJjMWIxZjZkZDRhMGQxZWQ5NHAtMiwKKyAgICAtMHgxLjYyZTQyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDQyMworICAgIDB4MS42YTA5ZTIzYjMwN2NhODJjMWIxZjZkZDRhMGQxZWQ5NHAtMiwKKyAgICAweDEuNjJlNDJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgLTB4MS42NGFiOGY3MWFlYmI4ZDgyYjA1YmU5YTAyNzEyOTI2OXAtMywKKyAgICAtMHgxLjYyZTQzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDQyNQorICAgIDB4MS42NGFiOGY3MWFlYmI4ZDgyYjA1YmU5YTAyNzEyOTI2OXAtMywKKyAgICAweDEuNjJlNDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgLTB4MS42NGFiOGQ2OWY5ZGUyOWZmYTJhNTk0NGNmMjYzNzRmYXAtMywKKyAgICAtMHgxLjYyZTQyZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS42NGFiOGQ2OWY5ZGUyOWZmYTJhNTk0NGNmMjYzNzRmYXAtMywKKyAgICAweDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgLTB4MS42NGFiOGI2MjQ1MDBkY2M3NGRjNWRlOTdhMDcyMGFhYnAtMywKKyAgICAtMHgxLjYyZTQyY3AtMworICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS42NGFiOGI2MjQ1MDBkY2M3NGRjNWRlOTdhMDcyMGFhYnAtMywKKyAgICAweDEuNjJlNDJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgLTB4MS42MzU1ZTcxMDJiYjdkOWRiZDhiOGIwZDY4YzA5NDAxYnAtNCwKKyAgICAtMHgxLjYyZTQzMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS42MzU1ZTcxMDJiYjdkOWRiZDhiOGIwZDY4YzA5NDAxYnAtNCwKKyAgICAweDEuNjJlNDMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS42MzU1ZTUwZTNmNmQyY2MyZGQ2ZTc0N2Y2MWJiOGM2NXAtNCwKKyAgICAtMHgxLjYyZTQyZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS42MzU1ZTUwZTNmNmQyY2MyZGQ2ZTc0N2Y2MWJiOGM2NXAtNCwKKyAgICAweDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgLTB4MS42MzU1ZTMwYzUzMjI4NTM3MzliODcxMjVlYzIyYmRlY3AtNCwKKyAgICAtMHgxLjYyZTQyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS42MzU1ZTMwYzUzMjI4NTM3MzliODcxMjVlYzIyYmRlY3AtNCwKKyAgICAweDEuNjJlNDJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgLTB4MS42MzAwOWJiN2EwZjFmZGEzZTQxNjU3MTgwYWZlMjc5N3AtNSwKKyAgICAtMHgxLjYyZTQzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS42MzAwOWJiN2EwZjFmZGEzZTQxNjU3MTgwYWZlMjc5N3AtNSwKKyAgICAweDEuNjJlNDMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgLTB4MS42MzAwOTliNzI1ZWUxOThjZjQ4ZjQzOWUyODA3YmYwN3AtNSwKKyAgICAtMHgxLjYyZTQyZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIDB4MS42MzAwOTliNzI1ZWUxOThjZjQ4ZjQzOWUyODA3YmYwN3AtNSwKKyAgICAweDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgLTB4MS42MzAwOTdiNmFhZWEzNmQ5MDVhMWU3NGEzMzJiMDEwMnAtNSwKKyAgICAtMHgxLjYyZTQyY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIDB4MS42MzAwOTdiNmFhZWEzNmQ5MDVhMWU3NGEzMzJiMDEwMnAtNSwKKyAgICAweDEuNjJlNDJjcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDUKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDQ3CisgICAgMHgxLmVjYjM1MTEyZDY3NGQwNTc4NWVjMDAwNjZjMmIzZWM4cC00LAorICAgIDB4MS5lYjg1MWNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAtMHgxLmVjYjM1MTEyZDY3NGQwNTc4NWVjMDAwNjZjMmIzZWM4cC00LAorICAgIC0weDEuZWI4NTFjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgMHgxLmVjYjM1MzE2ODc0ZWJmNzNhYmE5MjQ5MWE0NGUwNzlmcC00LAorICAgIDB4MS5lYjg1MWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAtMHgxLmVjYjM1MzE2ODc0ZWJmNzNhYmE5MjQ5MWE0NGUwNzlmcC00LAorICAgIC0weDEuZWI4NTFlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgMHgxLmVjYjM1NTFhMzgyOGI2NDI5ZWIyYTMzYTE3NzEzMDE0cC00LAorICAgIDB4MS5lYjg1MjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAtMHgxLmVjYjM1NTFhMzgyOGI2NDI5ZWIyYTMzYTE3NzEzMDE0cC00LAorICAgIC0weDEuZWI4NTIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgMHgxLjBhY2NmZmRkYjdhMTJiNGU2YTk2ZDcyYWYzOTYxZjUzcC0xLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAtMHgxLjBhY2NmZmRkYjdhMTJiNGU2YTk2ZDcyYWYzOTYxZjUzcC0xLAorICAgIC0weDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgMHgxLjBhY2QwMGZlNjNiOTZjYTM1Nzg5NTc2MWFlNjYyMjRhcC0xLAorICAgIDB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAtMHgxLjBhY2QwMGZlNjNiOTZjYTM1Nzg5NTc2MWFlNjYyMjRhcC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLjBhY2QwMzNmYmJlYWI3NjZmMjc1NGRhMDVhYWRlOTMwcC0xLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAtMHgxLjBhY2QwMzNmYmJlYWI3NjZmMjc1NGRhMDVhYWRlOTMwcC0xLAorICAgIC0weDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDU5CisgICAgMHgxLjJjZDlmYWI5ZTQ0MzllNzVhYjI1MjRmZmNlMDI4M2U5cDAsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2MAorICAgIC0weDEuMmNkOWZhYjllNDQzOWU3NWFiMjUyNGZmY2UwMjgzZTlwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS4yY2Q5ZmM0NGViOTgyNWE4MDI0OTQ4N2YwNjRmZmQ1Y3AwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIC0weDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLjJjZDlmZjVhZmE0NGJhOWFhNmViNTk5YmU3MjVjOWJhcDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgLTB4MS4yY2Q5ZmY1YWZhNDRiYTlhYTZlYjU5OWJlNzI1YzliYXAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuYWI1YWE2MzBlYjQzMjU0MGVhN2ExMWQ5NDU1ZTViNjVwMzAsCisgICAgMHgxLjVmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgLTB4MS5hYjVhYTYzMGViNDMyNTQwZWE3YTExZDk0NTVlNWI2NXAzMCwKKyAgICAtMHgxLjVmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgMHgxLmFiNWFkYjljNDM1ZmY4MTk0ZGRkOWE3MmM4YzAxMTgzcDMwLAorICAgIDB4MS42MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgLTB4MS5hYjVhZGI5YzQzNWZmODE5NGRkZDlhNzJjOGMwMTE4M3AzMCwKKyAgICAtMHgxLjYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAweDEuYWI1YjExMDdhMjJhMzY2MDIyNTBkY2JiMmI3ZWVkODFwMzAsCisgICAgMHgxLjYwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgLTB4MS5hYjViMTEwN2EyMmEzNjYwMjI1MGRjYmIyYjdlZWQ4MXAzMCwKKyAgICAtMHgxLjYwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgMHgxLjIyNmFjZWVkYzNiOTdjMmEwZGQ3ZTgzYmYxNmQ1YWJkcDMyLAorICAgIDB4MS42ZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIC0weDEuMjI2YWNlZWRjM2I5N2MyYTBkZDdlODNiZjE2ZDVhYmRwMzIsCisgICAgLTB4MS42ZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIDB4MS4yMjZhZjMzYjFmZGMwYTU3NGM3NmFiMjE2MTMwOTg4MHAzMiwKKyAgICAweDEuNzBwNAorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIC0weDEuMjI2YWYzM2IxZmRjMGE1NzRjNzZhYjIxNjEzMDk4ODBwMzIsCisgICAgLTB4MS43MHA0CisgIH0sCisgIHsgLy8gRW50cnkgNDc1CisgICAgMHgxLjIyNmIxNzg4ODA4ODQ0NTE3Nzk2NjE2OTcyNzQ4NjQ4cDMyLAorICAgIDB4MS43MDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDQ3NgorICAgIC0weDEuMjI2YjE3ODg4MDg4NDQ1MTc3OTY2MTY5NzI3NDg2NDhwMzIsCisgICAgLTB4MS43MDAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS5mZmZmODE4OGI4YjU5YWNiYjhhMzZjOWYxZGU0YWRjN3AyMiwKKyAgICAweDEuMGEyYjIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAtMHgxLmZmZmY4MTg4YjhiNTlhY2JiOGEzNmM5ZjFkZTRhZGM3cDIyLAorICAgIC0weDEuMGEyYjIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAweDEuZmZmZmMxODhhY2U2YjExMGE4MGZlNDk2MTU5MTBmZjJwMjIsCisgICAgMHgxLjBhMmIyMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDgwCisgICAgLTB4MS5mZmZmYzE4OGFjZTZiMTEwYTgwZmU0OTYxNTkxMGZmMnAyMiwKKyAgICAtMHgxLjBhMmIyMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLjAwMDAwMGM0NTQ4YmUzMmRkZDE5NTBmZGQzOWY0YzQ5cDIzLAorICAgIDB4MS4wYTJiMjRwNAorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIC0weDEuMDAwMDAwYzQ1NDhiZTMyZGRkMTk1MGZkZDM5ZjRjNDlwMjMsCisgICAgLTB4MS4wYTJiMjRwNAorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIDB4MS5mZmZmYmVjNDU4MzRmNzFmNjJjNDcxNTU5NjU4MjM4YXAxMCwKKyAgICAweDEuMGEyYjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAtMHgxLmZmZmZiZWM0NTgzNGY3MWY2MmM0NzE1NTk2NTgyMzhhcDEwLAorICAgIC0weDEuMGEyYjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAweDEuZmZmZmRlYzQ1NTYxM2M4ZjUxMmQzNGJlYzIxMTMzZTRwMTAsCisgICAgMHgxLjBhMmIyMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgLTB4MS5mZmZmZGVjNDU1NjEzYzhmNTEyZDM0YmVjMjExMzNlNHAxMCwKKyAgICAtMHgxLjBhMmIyMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgMHgxLmZmZmZmZWM0NTQ4ZDgxZGUwM2ViODQwZjI1MDEyMzNkcDEwLAorICAgIDB4MS4wYTJiMjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ4OAorICAgIC0weDEuZmZmZmZlYzQ1NDhkODFkZTAzZWI4NDBmMjUwMTIzM2RwMTAsCisgICAgLTB4MS4wYTJiMjRwMworICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIDB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgMHgxLjY1YTlmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgLTB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgLTB4MS42NWE5ZjZwNgorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS5mZmZmZDgzZThlNzI4MWE0NWU0MzJiZDU4Y2JiYzM4YXAxMjcsCisgICAgMHgxLjY1YTlmOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNDkyCisgICAgLTB4MS5mZmZmZDgzZThlNzI4MWE0NWU0MzJiZDU4Y2JiYzM4YXAxMjcsCisgICAgLTB4MS42NWE5ZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIEhVR0VfVkFMRiwKKyAgICAweDEuNjVhOWZhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuNjVhOWZhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuNjVhOWZhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLjY1YTlmYXA2CisgIH0sCisgIHsgLy8gRW50cnkgNDk3CisgICAgLTB4MS5mZmZmZDgzZThlNzI4MWE0NWU0MzJiZDU4Y2JiYzM4YXAxMjcsCisgICAgLTB4MS42NWE5ZjhwNgorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIDB4MS5mZmZmZDgzZThlNzI4MWE0NWU0MzJiZDU4Y2JiYzM4YXAxMjcsCisgICAgMHgxLjY1YTlmOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgLTB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgLTB4MS42NWE5ZjZwNgorICB9LAorICB7IC8vIEVudHJ5IDUwMAorICAgIDB4MS5mZmZlZDgzZWUyNTMyYWM4NDZiZGZmMDk3Y2QyZjQzYnAxMjcsCisgICAgMHgxLjY1YTlmNnA2CisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMDU1NTU1NDU1NTU1NjU1NTU5cC0zMSwKKyAgICAweDEuZmZmZmZlcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIC0weDEuZmZmZmZlMDAwMDAwMDAwNTU1NTU0NTU1NTU2NTU1NTlwLTMxLAorICAgIC0weDEuZmZmZmZlcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAyYWFhYWFhYWFhYWFhYWFhY3AtMzAsCisgICAgMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDJhYWFhYWFhYWFhYWFhYWFjcC0zMCwKKyAgICAtMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDUKKyAgICAweDEuMDAwMDAyMDAwMDAwMDAwMmFhYWFiYWFhYWFjYWFhYWNwLTMwLAorICAgIDB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgLTB4MS4wMDAwMDIwMDAwMDAwMDAyYWFhYWJhYWFhYWNhYWFhY3AtMzAsCisgICAgLTB4MS4wMDAwMDJwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLmZmZmZmZTAxNTU1NTUxNTU5OTlkOTg0NDQ5NzIwMTcycC0xNiwKKyAgICAweDEuZmZmZmZlcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDUwOAorICAgIC0weDEuZmZmZmZlMDE1NTU1NTE1NTk5OWQ5ODQ0NDk3MjAxNzJwLTE2LAorICAgIC0weDEuZmZmZmZlcC0xNgorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS4wMDAwMDAwMGFhYWFhYWFhY2NjY2NjY2NkMDBkMDBkMHAtMTUsCisgICAgMHgxLnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAtMHgxLjAwMDAwMDAwYWFhYWFhYWFjY2NjY2NjY2QwMGQwMGQwcC0xNSwKKyAgICAtMHgxLnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEuMDAwMDAyMDBhYWFhYWVhYWNjZDRjZTIyMmFiZDAwZmRwLTE1LAorICAgIDB4MS4wMDAwMDJwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgLTB4MS4wMDAwMDIwMGFhYWFhZWFhY2NkNGNlMjIyYWJkMDBmZHAtMTUsCisgICAgLTB4MS4wMDAwMDJwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTEzCisgICAgMHgxLjAwMDJhOWFjYzRjZDkyMzc0YjkyZjMzZDBkOGU0NGY3cC02LAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAtMHgxLjAwMDJhOWFjYzRjZDkyMzc0YjkyZjMzZDBkOGU0NGY3cC02LAorICAgIC0weDEuZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgMHgxLjAwMDJhYWFjY2NjZDljZDlmYmQ4YTdkMWRjNzJjNDRicC02LAorICAgIDB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAtMHgxLjAwMDJhYWFjY2NjZDljZDlmYmQ4YTdkMWRjNzJjNDRicC02LAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgMHgxLjAwMDJhY2FjZGNjZGIyNGY1Y2U0MjE2MjYwYzlkNzNlcC02LAorICAgIDB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTgKKyAgICAtMHgxLjAwMDJhY2FjZGNjZGIyNGY1Y2U0MjE2MjYwYzlkNzNlcC02LAorICAgIC0weDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgMHgxLjAwMGFhOWNjYWQwMDI1YWYyNzQ0ODBiYTg0YjBmYmJjcC01LAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAtMHgxLjAwMGFhOWNjYWQwMDI1YWYyNzQ0ODBiYTg0YjBmYmJjcC01LAorICAgIC0weDEuZmZmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgMHgxLjAwMGFhYWNjY2QwMGQwM2IzY2IyM2RmZWNmOGZjYmRjcC01LAorICAgIDB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAtMHgxLjAwMGFhYWNjY2QwMGQwM2IzY2IyM2RmZWNmOGZjYmRjcC01LAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLjAwMGFhY2NkMGQwMjI2MTM2ZjhlMTIyOTI2MTQ0ZjkwcC01LAorICAgIDB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjQKKyAgICAtMHgxLjAwMGFhY2NkMGQwMjI2MTM2ZjhlMTIyOTI2MTQ0ZjkwcC01LAorICAgIC0weDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgMHgxLjAwMmFhYmNjNTljMzIwOTA2M2RjNjRlYTJlMDNiZjcwcC00LAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAtMHgxLjAwMmFhYmNjNTljMzIwOTA2M2RjNjRlYTJlMDNiZjcwcC00LAorICAgIC0weDEuZmZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgMHgxLjAwMmFhY2NjZDljZGNiMTYwMDgxNGQ4ZWUwZWE1ZTk4cC00LAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAtMHgxLjAwMmFhY2NjZDljZGNiMTYwMDgxNGQ4ZWUwZWE1ZTk4cC00LAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgMHgxLjAwMmFhZWNkZDllMzIzMjFiOWQyODVlNWJhYzRhNGJkcC00LAorICAgIDB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzAKKyAgICAtMHgxLjAwMmFhZWNkZDllMzIzMjFiOWQyODVlNWJhYzRhNGJkcC00LAorICAgIC0weDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLjAwYWFjYmNlMGM4NDRlMTY1OTg4N2IxYWEzYTk1ZTg0cC0zLAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAtMHgxLjAwYWFjYmNlMGM4NDRlMTY1OTg4N2IxYWEzYTk1ZTg0cC0zLAorICAgIC0weDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgMHgxLjAwYWFjY2QwMGQyZjBkODJiYWRkNzM5NmM0MzkwOTFlcC0zLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzQKKyAgICAtMHgxLjAwYWFjY2QwMGQyZjBkODJiYWRkNzM5NmM0MzkwOTFlcC0zLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgMHgxLjAwYWFjZWQ0MGU4NDk4NjM3ZjI1MmQyZmU1MGMzZGYzcC0zLAorICAgIDB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAtMHgxLjAwYWFjZWQ0MGU4NDk4NjM3ZjI1MmQyZmU1MGMzZGYzcC0zLAorICAgIC0weDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgMHgxLjAyYWNjYzk0ZmQ1ZmM5ZDVjNmQ5M2Y0MWZlNzgwZDQ3cC0yLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAtMHgxLjAyYWNjYzk0ZmQ1ZmM5ZDVjNmQ5M2Y0MWZlNzgwZDQ3cC0yLAorICAgIC0weDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgMHgxLjAyYWNjZDlkMDgxMDFlNjY3NGNkZjNmYzhlYWFiZjJhcC0yLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAtMHgxLjAyYWNjZDlkMDgxMDFlNjY3NGNkZjNmYzhlYWFiZjJhcC0yLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgMHgxLjAyYWNjZmFkMWQ3MGY4MDgzNzU1NGY5ZmJiNGZiYmI5cC0yLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAtMHgxLjAyYWNjZmFkMWQ3MGY4MDgzNzU1NGY5ZmJiNGZiYmI5cC0yLAorICAgIC0weDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgMHgxLmQwM2NmMjc4NGVkYmQ5MTFmZWVmY2RhNGQ2NTc5OWY5cDEsCisgICAgMHgxLmZmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgLTB4MS5kMDNjZjI3ODRlZGJkOTExZmVlZmNkYTRkNjU3OTlmOXAxLAorICAgIC0weDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAweDEuZDAzY2Y2M2I2ZTE5ZjZmMzRjODAyYzk2MjAwOTcwZWZwMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAtMHgxLmQwM2NmNjNiNmUxOWY2ZjM0YzgwMmM5NjIwMDk3MGVmcDEsCisgICAgLTB4MS5wMQorICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIDB4MS5kMDNjZmRjMWFjYWJmNTkxODE3NjkwY2QwMzFkMmNjN3AxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIC0weDEuZDAzY2ZkYzFhY2FiZjU5MTgxNzY5MGNkMDMxZDJjYzdwMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgMHgxLmI0YTM3OTYzNDk1YTdhMWMzNjg0NWIwMzQ2NTk5OTE2cDQsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgLTB4MS5iNGEzNzk2MzQ5NWE3YTFjMzY4NDViMDM0NjU5OTkxNnA0LAorICAgIC0weDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAweDEuYjRhMzgwMzcwMzYzMGM4ZmU3MDI2MWQ5MmU1NjNhODhwNCwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAtMHgxLmI0YTM4MDM3MDM2MzBjOGZlNzAyNjFkOTJlNTYzYTg4cDQsCisgICAgLTB4MS5wMgorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIDB4MS5iNGEzOGRkZTc3YzYxMDFmYmY4YWI0YzI0Y2U2YWMyN3A0LAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIC0weDEuYjRhMzhkZGU3N2M2MTAxZmJmOGFiNGMyNGNlNmFjMjdwNCwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgMHgxLjc0OWU5OTZmZjc4MDUxMzNkNWQ2YjQ0MDJiZDUyZjM0cDEwLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDU1NgorICAgIC0weDEuNzQ5ZTk5NmZmNzgwNTEzM2Q1ZDZiNDQwMmJkNTJmMzRwMTAsCisgICAgLTB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDU1NworICAgIDB4MS43NDllYTUxNGVjYTY1ZDA2ZWE3Njg4YWZmNDZjZmUwOXAxMCwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAtMHgxLjc0OWVhNTE0ZWNhNjVkMDZlYTc2ODhhZmY0NmNmZTA5cDEwLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAweDEuNzQ5ZWJjNWVkODA5ZWJhYmNjYTUxNGY0YTQ4NmM1YThwMTAsCisgICAgMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgLTB4MS43NDllYmM1ZWQ4MDllYmFiY2NhNTE0ZjRhNDg2YzVhOHAxMCwKKyAgICAtMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgMHgxLjBmMmVhYzE3OTRiNTJkNDIwMWY4ODMxNDE3MDEyY2MxcDIyLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIC0weDEuMGYyZWFjMTc5NGI1MmQ0MjAxZjg4MzE0MTcwMTJjYzFwMjIsCisgICAgLTB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIDB4MS4wZjJlYmQwYTdmZmUzZGU2YWM5MzlmY2VkMDEyMjcwN3AyMiwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAtMHgxLjBmMmViZDBhN2ZmZTNkZTZhYzkzOWZjZWQwMTIyNzA3cDIyLAorICAgIC0weDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjUKKyAgICAweDEuMGYyZWRlZjA1OWJkZWI3ODE0MzY3MDA5MDg5YjI1NWFwMjIsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTY2CisgICAgLTB4MS4wZjJlZGVmMDU5YmRlYjc4MTQzNjcwMDkwODliMjU1YXAyMiwKKyAgICAtMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNTY3CisgICAgMHgxLjFmNDNkOGRjMzkwOGI4ZWQ4N2E1YWJjNmMzZWQyYzczcDQ1LAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIC0weDEuMWY0M2Q4ZGMzOTA4YjhlZDg3YTVhYmM2YzNlZDJjNzNwNDUsCisgICAgLTB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS4xZjQzZmNjNGI2NjJjN2Q4NDc4ODQwMDlmZmU0YzRjM3A0NSwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAtMHgxLjFmNDNmY2M0YjY2MmM3ZDg0Nzg4NDAwOWZmZTRjNGMzcDQ1LAorICAgIC0weDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzEKKyAgICAweDEuMWY0NDQ0OTViZThlMTYxNmExZTVlMzdhMzU2Y2Q2MjJwNDUsCisgICAgMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTcyCisgICAgLTB4MS4xZjQ0NDQ5NWJlOGUxNjE2YTFlNWUzN2EzNTZjZDYyMnA0NSwKKyAgICAtMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLjQyNTkzMjM5MDJkYmM2ZTYyZTNlMDdjZTI2Y2Q5MDRjcDkxLAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIC0weDEuNDI1OTMyMzkwMmRiYzZlNjJlM2UwN2NlMjZjZDkwNGNwOTEsCisgICAgLTB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS40MjU5ODJjZjU5N2NkMjA1Y2UzZDViNGVkYjAzMTc1NnA5MSwKKyAgICAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAtMHgxLjQyNTk4MmNmNTk3Y2QyMDVjZTNkNWI0ZWRiMDMxNzU2cDkxLAorICAgIC0weDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzcKKyAgICAweDEuNDI1YTIzZmM0MzJmYjVkNTU2MDA2YTRkOGU3ZWUxMWJwOTEsCisgICAgMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNTc4CisgICAgLTB4MS40MjVhMjNmYzQzMmZiNWQ1NTYwMDZhNGQ4ZTdlZTExYnA5MSwKKyAgICAtMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNTc5CisgICAgLUhVR0VfVkFMRiwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODEKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU4MworICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICBIVUdFX1ZBTEYsCisgICAgMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODYKKyAgICAweDEuNzE4ZjQ3ZjczZjI2ZDczNTBjODNmNGM3MWUyZDMzNWVwMywKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEuMjY5MGY3NGQ2NjhjZTJiM2E3NTVmY2M1ZDAzZDAwMWFwMSwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODgKKyAgICAweDEuMmNkOWZmNWFmYTQ0YmE5YWE2ZWI1OTliZTcyNWM5YmFwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODkKKyAgICAweDEuMmNkOWZjNDRlYjk4MjVhODAyNDk0ODdmMDY0ZmZkNWNwMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAweDEuMmNkOWZhYjllNDQzOWU3NWFiMjUyNGZmY2UwMjgzZTlwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgMHgxLmJjYzI3MWFkZDBiYWIxNTZhOGQwYTBkZjU2YjBkYjkzcC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAweDEuMDAwMDAycC0xMjYsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTkzCisgICAgMHgxLnAtMTI2LAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTUKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgMHgxLnAtMTQ4LAorICAgIDB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAwLjAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIC0wLjAsCisgICAgLTAuMGYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDAKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDEKKyAgICAtMHgxLnAtMTQ4LAorICAgIC0weDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAtMHgxLmZmZmZmOHAtMTI3LAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDMKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDUKKyAgICAtMHgxLjAwMDAwMnAtMTI2LAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDYKKyAgICAtMHgxLmJjYzI3MWFkZDBiYWIxNTZhOGQwYTBkZjU2YjBkYjkzcC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgLTB4MS4yY2Q5ZmFiOWU0NDM5ZTc1YWIyNTI0ZmZjZTAyODNlOXAwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgLTB4MS4yY2Q5ZmM0NGViOTgyNWE4MDI0OTQ4N2YwNjRmZmQ1Y3AwLAorICAgIC0weDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAtMHgxLjJjZDlmZjVhZmE0NGJhOWFhNmViNTk5YmU3MjVjOWJhcDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDYxMAorICAgIC0weDEuMjY5MGY3NGQ2NjhjZTJiM2E3NTVmY2M1ZDAzZDAwMWFwMSwKKyAgICAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjExCisgICAgLTB4MS43MThmNDdmNzNmMjZkNzM1MGM4M2Y0YzcxZTJkMzM1ZXAzLAorICAgIC0weDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTIKKyAgICAtSFVHRV9WQUxGLAorICAgIC0weDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNjE0CisgICAgLUhVR0VfVkFMRiwKKyAgICAtSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgMHgxLmZmZmZkODNlOGU3MjgxYTQ1ZTQzMmJkNThjYmJjMzhhcDEyNywKKyAgICAweDEuNjVhOWY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAtMHgxLmZmZmZkODNlOGU3MjgxYTQ1ZTQzMmJkNThjYmJjMzhhcDEyNywKKyAgICAtMHgxLjY1YTlmOHA2CisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgSFVHRV9WQUxGLAorICAgIDB4MS42NWE5ZmFwNgorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIC1IVUdFX1ZBTEYsCisgICAgLTB4MS42NWE5ZmFwNgorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3NxcnRfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3NxcnRfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNDE3YjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvc3FydF9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw3MTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxkb3VibGUsIGRvdWJsZT4gZ19zcXJ0X2ludGVsX2RhdGFbXSA9IHsKKyAgeyAvLyBFbnRyeSAwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMgorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZmUwcC0yMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjZhMDllNjY3ZjNiY2Q0NTkwMjJlNTMwNGQwYjA4MTk5cC01MTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwLTUxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZlMHAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZjgwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuNmEwOWU2NjdmM2JjZWFmOWEwOTRkMjQwOWJkNzAyZTJwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjZhMDllNjY3ZjNiY2VhZjlhMDk0ZDI0MDliZDcwMmUycC01MTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS4wMDAwMDAwMDAwMDAxN2ZmZmZmZmZmZmZmZWUwcC01MTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS42YTA5ZTY2N2YzYmNlYWY5YTA5NGQyNDA5YmQ3MDJlMnAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS4wMDAwMDAwMDAwMDAzN2ZmZmZmZmZmZmZmOWUwcC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDA3cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuMDAwMDAwMDAwMDAwMzdmZmZmZmZmZmZmZjllMHAtNTExLAorICAgIDB4MS4wMDAwMDAwMDAwMDA3cC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAweDEuMDAwMDAwMDAwMDAwNzdmZmZmZmZmZmZmZTNlMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjZhMDllNjY3ZjQwYmZiMzMxOWI4NWMwOTY3ZDk2Nzc3cC0yMSwKKyAgICAweDEuMDAwMDAwMDAwMDdwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAweDEuMDAwMDAwM2ZmZmZmZjgwMDAwMDFmZmZmZmY2MHAtMTAsCisgICAgMHgxLjAwMDAwMDhwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuMDAwMDAwN2ZmZmZmZTAwMDAwMGZmZmZmZjYwMDAwMDZwLTIwLAorICAgIDB4MS4wMDAwMDEwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjAwMDAwMGZmZmZlZjc4MDAxMDg3ZmY2NmQzZTFhYTc0cC01MDMsCisgICAgMHgxLjAwMDAwMWZmZmZkZmZwLTEwMDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS4wMDAwMDBmZmZmZWY4MDAwMTA3ZmZmNjc2MDAxYThkZnAtNTA5LAorICAgIDB4MS4wMDAwMDFmZmZmZXAtMTAxOAorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjAwMDAwMWZmZmZmZTAwMDAwM2ZmZmZmNjAwMDAxYmZmcDUwLAorICAgIDB4MS4wMDAwMDQwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjAwMDAwMWZmZmZmZTg4MDAwMmVmZmZmOTBiZTAxMjM4cC0xMCwKKyAgICAweDEuMDAwMDA0MDAwMDAxMXAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS42YTBhNDBkYjdkNTFmMDAwMzhiYjRkMTcxNjI2YzEyM3AtNTAwLAorICAgIDB4MS4wMDAwN2ZlYWZwLTk5OQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjZhMmJkNWJlNjg4MzAwMjkzZjM0YzA5YTg2NDM0OGE3cC01MTEsCisgICAgMHgxLjAwM3AtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjZhNjUyMWIxNzEzODZiM2U5Yzk3MDhjMTgwOTRmODFlcDEsCisgICAgMHgxLjAwODExNTllYjc1MzFwMworICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLjZiMjAwMTg1NzdlODNhNTQ4ZTE1YWU3MjUxNmE0NWU1cDEsCisgICAgMHgxLjAxODllNDI4NzFiNjdwMworICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLjAzMGRjNGViODc4NGI4MDAwMDZiMzEzOTNkZWY0Yjc4cC01LAorICAgIDB4MS4wNjI0ZGQzMjJiOWJkcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgMHgxLjAzMGRjNGYxNjg0YTMwMDAwMDJhMjExOGI5ZmY0ZmMzcC01LAorICAgIDB4MS4wNjI0ZGQzZTExMGQ0cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgMHgxLjAzMGRjNGYxNjk2Zjk3ZmZmZmRiZjg1YzcwYWY3YTMycC01LAorICAgIDB4MS4wNjI0ZGQzZTEzNWYxcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLjAzMGRjNGZjZTI2NzgwMDAwMDAwOGE2ZDI2N2Q0NDdmcC01LAorICAgIDB4MS4wNjI0ZGQ1NTRiNjBhcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjZlOWIyNjc1YTY2MjY3ZmZjNTAxYTJhMzUyZDgwY2FkcC0xMSwKKyAgICAweDEuMDY4cC0yMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLjZlOWIyNjc1YTY2MjY3ZmZjNTAxYTJhMzUyZDgwY2FkcC0xOCwKKyAgICAweDEuMDY4cC0zNQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLjZlZGUyOWIwMjVhYWYwMDExYzMxOWViYWM4ZGNlOWZhcC0xMSwKKyAgICAweDEuMDZlcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjcxNzk4Mzg5MGI2YTk3ZmZmZmYxYzllNmRiNDNkYzM3cDQ4LAorICAgIDB4MS4wYTlmYzM2ZjU3MDVkcDk3CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuNzUyZGViMDFlMWFhNDgwMDJkY2Y1YTRmNTVhZGFiZjdwLTQsCisgICAgMHgxLjBmZmY2Yjg3ZjkwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEuNzYzNTYwMjA4ODVjY2E1Mzk4OTM3MmE4MDQ5YzZjY2JwLTExLAorICAgIDB4MS4xMThwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuN2I2Mzk0NWE3YzRjYjQwMDI3YWM0ZDc5NjRiZGZkZmZwLTExLAorICAgIDB4MS4xOTJwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEuODM4MjFjOWVjOWIyYTgwMDNiNjQ5ZWM1NzU0ZmEyZTZwLTYsCisgICAgMHgxLjI1NDk1MjU0OTUyNTFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAweDEuOGFjNDA4NjhmOTJjMTdmZjBlY2Y5ZTZjODAyYzAwMGFwLTExLAorICAgIDB4MS4zMDZwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuMWE5ZGM4ZjZkZjEwMzgwZWI5OGY5YzhmOGFkYTJkYzNwLTEwLAorICAgIDB4MS4zODBwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuMWE5ZGM4ZjZkZjEwMzgwZWI5OGY5YzhmOGFkYTJkYzNwLTIwLAorICAgIDB4MS4zODBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMWQ0M2FkMWMyNjczOTdmZjAwMDM2NmU1MDRlYzA5MDRwMCwKKyAgICAweDEuM2RkZmMxNTRiZjY4OXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuMmQ0ZDJhYTY2Nzc5NzQwNDQwYTdhYzY4M2NhOTJiZTdwMCwKKyAgICAweDEuNjI5ZThkOGRmZTg4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuYWU4OWY5OTVhZDNhYjNmZWQyOWYzY2RkZTY2OTU2NWNwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiYzlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhNzNiMjU3NDJkNzA3OGI4M2I4OXAtNTM3LAorICAgIDB4MS44cC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuYmI2N2FlODZhYmIzMDdmZmZmOTQ1MDIyMjQwM2NlM2ZwMCwKKyAgICAweDEuODAwMDAwMDFmZWNiOXAxCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuNDA0YjkyZmQ2YTgxMjAwMDFjYzJhMjFlYjgyZGMzODNwLTEsCisgICAgMHgxLjkwYmQwNWM4ZmYyNTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS40M2QxMzYzZDYxYWVjODAwMDA2YjA3ZmUwZmVmZGZhMnAtMiwKKyAgICAweDEuOTk5OTk5ZDg4MDM2OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgMHgxLjRlNzhhYzIyYzZmNWU4MDBmZmMxMjFiMGRlZjkzMmMwcDUsCisgICAgMHgxLmI0ZmYxYTBjOTM4MmZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIDB4MS41MDE0NGIxYzcyZGQxN2ZmMDAxMmViYzU4NmY0ZTEwZnAtNTE5LAorICAgIDB4MS5iOTM1NDZjNjhwLTEwMzgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5kZmQwNTJkYmU3Njg1N2ZmMGIxNTg3Y2U3OWExOGE3M3A3LAorICAgIDB4MS5jMWE2OWZjY2Q2MTExcDE1CisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuZTQ4MjY0Njg1NDVkMzFmNjZjYmQyMWRiOWY2MjQ5YjdwLTEsCisgICAgMHgxLmNhN2VhNzBhNTAyYmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS5lOTY5NDhkMjI0ZjA1ODVjMGY3YTg1ZDMwOTMyMTI2ZHAxLAorICAgIDB4MS5kM2QxYjFiZmQxMWJicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5lZTUxZGEyMDMxMmJmZThhNDcyMmI2YzA4NTkwMTI5N3AtNTEyLAorICAgIDB4MS5kZDNmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuNWY3NDQxNTlmN2U1ZWZmZjEwNmQxYzVkNWQ2NGFhOGRwLTEwLAorICAgIDB4MS5lMjhwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAweDEuZmRjZWNjNmYzZDQ5ZTc5ZTNkMzc1YjIyZTBiOWY0YjFwLTExLAorICAgIDB4MS5mYmFwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZmUzNWEwNTVmYzRiZTdmYzVmN2Q1N2QyOGU3YmQxYTdwMCwKKyAgICAweDEuZmM2Y2RiMDkzMGEyNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAweDEuZmVhZGQyMjc5OWFjNDgwMWY4MTU5ZWU4YTZkYjVlZjJwLTEsCisgICAgMHgxLmZkNWM4M2FkYmYyYTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5mZmJmZmJmZjgwMDgwMDAwMDAwMjAwMzAwYTAyMjA1Y3AtNSwKKyAgICAweDEuZmY4MDAwMDAwMDM4MHAtOQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgMHgxLmZmZWZmZmJmZmRmZmRiZmU5ZmVmN2YyYmY0YWI2MTk3cC01MTIsCisgICAgMHgxLmZmZGZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5mZmZmN2ZmZmVmZmZmM2ZmZmNiZmZlY2ZmZjc1ZmZjMHAtMjEsCisgICAgMHgxLmZmZmVmZmZmZmZmZmZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNjEKKyAgICAweDEuZmZmZmYzZmZmZmRiZjdmZjI3Y2ZmOWFhNGZiYWM3MWRwLTIxLAorICAgIDB4MS5mZmZmZTdmZmZmZmZmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZmZmZmM2ZmZmZkYmY3ZmYyN2NmZjlhYTRmYmFjNzFkcC0yMywKKyAgICAweDEuZmZmZmU3ZmZmZmZmZnAtNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIDB4MS5mZmZmZmY4MDAwMDBlMDAwMDAzN2ZmZmZkY2ZmZmZkZXAtNDg4LAorICAgIDB4MS5mZmZmZmYwMDAwMDFlcC05NzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NAorICAgIDB4MS5mZmZmZmY4MDAwMDEwMDAwMDAzZmZmZmZjZmZmZmZkNHAtMjYsCisgICAgMHgxLmZmZmZmZjAwMDAwMjJwLTUxCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAweDEuZmZmZmZmZjlmZmZmZjdmNmZmZmZlN2U0ZmZlZjkzOWFwLTIxLAorICAgIDB4MS5mZmZmZmZmM2ZmZmZmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmZmZmZmZmZlMDAwMDE3ZmYwMDAwMTdmZWZmNzAyM2ZlcC01LAorICAgIDB4MS5mZmZmZmZmYzAwMDAzcC05CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuZmZmZmZmZmUwMDAwMTdmZjAwMDAxN2ZlZmY3MDIzZmVwLTYsCisgICAgMHgxLmZmZmZmZmZjMDAwMDNwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAweDEuZmZmZmZmZmUwMDAwMTdmZjAwMDAxN2ZlZmY3MDIzZmVwLTIxLAorICAgIDB4MS5mZmZmZmZmYzAwMDAzcC00MQorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLmZmZmZmZmZlMDAwMDE3ZmYwMDAwMTdmZWZmNzAyM2ZlcC0xNTYsCisgICAgMHgxLmZmZmZmZmZjMDAwMDNwLTMxMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmZmZmZmZmZlMDAwMDE3ZmYwMDAwMTdmZWZmNzAyM2ZlcC01MTEsCisgICAgMHgxLmZmZmZmZmZjMDAwMDNwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIDB4MS5mZmZmZmZmZTNmZmZmN2ZmM2JmZmY4ZmY1NDZmZjZjZnAtMjEsCisgICAgMHgxLmZmZmZmZmZjN2ZmZmZwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAweDEuNmEwOWU2NjdmM2I4NTgwMTliNWM5OWUzMDliOTA4MGFwLTMsCisgICAgMHgxLmZmZmZmZmZmZmZmMzdwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIDB4MS5mZmZmZmZmZmZmZmQ3N2ZmZmZmZmZmZmU2NWVmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZhZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmZmZmZmZmZmZmZmZDc3ZmZmZmZmZmZmZTY1ZWZmZmZmcC01LAorICAgIDB4MS5mZmZmZmZmZmZmZmFmcC05CisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAweDEuZmZmZmZmZmZmZmZkNzdmZmZmZmZmZmZlNjVlZmZmZmZwLTUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZhZnAtMTAyMQorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLmZmZmZmZmZmZmZmZjM3ZmZmZmZmZmZmZmQ4ZWZmZmZmcDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZTdwMworICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmYmZmZmZmcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZiZmZmZmZwLTIxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC00MQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmYmZmZmZmcC01MTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmN2ZmZmZmZmZmZmZmZmVmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmZWZmZmZmcC00LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjdmZmZmZmZmZmZmZmZlZmZmZmZwLTIxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00MQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmZWZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDg0CisgICAgMHgxLjMwNmZlMGEzMWI3MTQxOWRkZWM3ODg3ODlmYjQ1ODBhcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuMzA2ZmUwYTMxYjcxNDg1ODA2YWRkZjJkOGI1YThiNjBwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2JwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIDB4MS4zMDZmZTBhMzFiNzE0ZjEyMmU5NDM1ZTI3NmRhYjBiOXAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgMHgxLjMwNmZlMGEzMWI3MTU1Y2M1NjdhOGM5NzYyMzRjODE3cC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNkcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuMzA2ZmUwYTMxYjcxNWM4NjdlNjBlMzRjNGQ2OGQxNzlwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIDB4MS5hZTg5Zjk5NWFkM2FiZDgyNTFhNDU1Yjk3MWE1MzhkYnAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmFlODlmOTk1YWQzYWM3MDVkMGE5NmU5NGZjYWI0YTFhcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNicC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuYWU4OWY5OTVhZDNhZDA4OTRmYWU4NzcwODc3YjhhMWJwLTEsCisgICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5hZTg5Zjk5NWFkM2FkYTBjY2ViM2EwNGMxMjE1ZjhkZHAtMSwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmFlODlmOTk1YWQzYWUzOTA0ZGI4YjkyNzljN2E5NjVmcC0xLAorICAgIDB4MS42YTA5ZTY2N2YzYmNlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuMzA2ZmUwYTMxYjcxNDE5ZGRlYzc4ODc4OWZiNDU4MGFwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAweDEuMzA2ZmUwYTMxYjcxNDg1ODA2YWRkZjJkOGI1YThiNjBwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMzA2ZmUwYTMxYjcxNGYxMjJlOTQzNWUyNzZkYWIwYjlwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjY3AwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAweDEuMzA2ZmUwYTMxYjcxNTVjYzU2N2E4Yzk3NjIzNGM4MTdwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTgKKyAgICAweDEuMzA2ZmUwYTMxYjcxNWM4NjdlNjBlMzRjNGQ2OGQxNzlwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuYWU4OWY5OTVhZDNhYmQ4MjUxYTQ1NWI5NzFhNTM4ZGJwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmFlODlmOTk1YWQzYWM3MDVkMGE5NmU5NGZjYWI0YTFhcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2JwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5hZTg5Zjk5NWFkM2FkMDg5NGZhZTg3NzA4NzdiOGExYnAwLAorICAgIDB4MS42YTA5ZTY2N2YzYmNjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuYWU4OWY5OTVhZDNhZGEwY2NlYjNhMDRjMTIxNWY4ZGRwMCwKKyAgICAweDEuNmEwOWU2NjdmM2JjZHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgMHgxLmFlODlmOTk1YWQzYWUzOTA0ZGI4YjkyNzljN2E5NjVmcDAsCisgICAgMHgxLjZhMDllNjY3ZjNiY2VwMQorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmN2ZmZmZmZmZmZmZmZmVmZmZmZnAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5wLTMsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZlMHAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzY2MGEyM3AtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMywKKyAgICAweDEuMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMGIwODE5OXAtMywKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmN2ZmZmZmZmZmZmZmZmVmZmZmZnAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5wLTIsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZlMHAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzY2MGEyM3AtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMiwKKyAgICAweDEuMHAtMworICB9LAorICB7IC8vIEVudHJ5IDExNQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMGIwODE5OXAtMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS5mZmZmZmZmZmZmZmZmN2ZmZmZmZmZmZmZmZmVmZmZmZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIDB4MS5wLTEsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZlMHAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzY2MGEyM3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMGIwODE5OXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZmN2ZmZmZmZmZmZmZmZmVmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgMHgxLjZhMDllNjY3ZjNiY2MzNjA4YjYxNzM5N2Y3NjYwYTIzcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEuNmEwOWU2NjdmM2JjZDQ1OTAyMmU1MzA0ZDBiMDgxOTlwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmZWZmZmZmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5wMSwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgMHgxLnAtNTM3LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmYmZmZmZmcC01MTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEucC01MTEsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAweDEuMDAwMDAwMDAwMDAwMDdmZmZmZmZmZmZmZmZlMHAtNTExLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTM2CisgICAgMHgxLnAtNTM3LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgMHgxLjI3OWE3NDU5MDMzMWQ3NGJjMDNkYWU3ZTE2ZGVkMTVicC01MTIsCisgICAgMHgxLjU1NTU1NTU1NTU1NThwLTEwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuYTIwYmQ3MDBjMmMzZTY0ODcyMjgxZGY4ODdlM2NiZjFwLTUxMiwKKyAgICAweDEuNTU1NTU1NTU1NTU1NnAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmJmZmZmZnAtNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmZmZmZmZmZmZWNlMDlmZmZmZmE0OTRmOWU2ZmM5NWVkcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ5YzE0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLmZmZmZmZmZmZWNlMGE3ZmZmZmE0OTU0NjY0NmM5NWYxcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ5YzE1cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmZmZmZmZmZmZWNlMGFmZmZmZmE0OTU5MmUxYmM5NWY1cC0xLAorICAgIDB4MS5mZmZmZmZmZmQ5YzE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgMHgxLmZmZmZmZmZmZWNlMGI3ZmZmZmE0OTVkZjVlZWM5NWZhcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ5YzE3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmZmZmZmZmZmZWNlMGJmZmZmZmE0OTYyYmRiZmM5NWZlcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ5YzE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLmZmZmZmZmZmZWFlMzVmZmZmZjkwOTJhMzI2ZmI2N2M4cC0xLAorICAgIDB4MS5mZmZmZmZmZmQ1YzZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLmZmZmZmZmZmZWFlMzY3ZmZmZjkwOTJmNzk5NmI2N2NlcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ1YzZkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgMHgxLmZmZmZmZmZmZWFlMzZmZmZmZjkwOTM0YzBiYmI2N2QzcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ1YzZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmZmZmZmZmZmZWFlMzc3ZmZmZjkwOTNhMDdkZWI2N2Q4cC0xLAorICAgIDB4MS5mZmZmZmZmZmQ1YzZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgMHgxLmZmZmZmZmZmZWFlMzdmZmZmZjkwOTNmNGVmZmI2N2RkcC0xLAorICAgIDB4MS5mZmZmZmZmZmQ1YzcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmZWZmZmZmcDUxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgSFVHRV9WQUwsCisgICAgSFVHRV9WQUwKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZjdmZmZmZmZmZmZmZmZlZmZmZmZwNTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmZiZmZmZmZwNTExLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuYzViZjg5MWI0ZWY2YTdmYzdkYzExY2NmOTU1OTUzNmVwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLjQwZDkzMWZmNjI3MDU3YTJkZGRmN2M4N2VkYjYzNjY0cDAsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZmUwcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLmZmZmZmZmZmZmZmZmY3ZmZmZmZmZmZmZmZmZWZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgMHgxLmM1YmY4OTFiNGVmNmE3ZmM3ZGMxMWNjZjk1NTk1MzZlcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZTBwLTUxMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIDB4MS5wLTUxMSwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmJmZmZmZnAtNTEyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZlZmZmZmZmcC01MTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTUzNywKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDE2NQorICAgIDB4MS5wLTUzNywKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAweDEucDEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIDB4MS5wMiwKKyAgICAweDEuMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjJwMworICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS40MHAyLAorICAgIDB4MS45cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEucC0xLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgMHgxLmMwcDIsCisgICAgMHgxLjg4MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTc0CisgICAgMHgxLjQwcDMsCisgICAgMHgxLjlwNgorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3NxcnRmX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS9zcXJ0Zl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQwNzE0MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS9zcXJ0Zl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw3MTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitzdGF0aWMgZGF0YV8xXzFfdDxmbG9hdCwgZmxvYXQ+IGdfc3FydGZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAweDEucC0xLAorICAgIDB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLnAtMTAsCisgICAgMHgxLnAtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMHgxLjAwMDAwMGZmZmZmZjgwMDAwMDdmZmZmZjYwMDAwMGRmcC0xLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLjAwMDAwMGZmZmZmZjgwMDAwMDdmZmZmZjYwMDAwMGRmcC0yMCwKKyAgICAweDEuMDAwMDAycC00MAorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAweDEuMDAwMDAwZmZmZmZmODAwMDAwN2ZmZmZmNjAwMDAwZGZwLTYzLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuNmEwOWVhYTYxMTY5YTNiNzZmOTllYTBkMzY0ZWZkOTFwLTYzLAorICAgIDB4MS4wMDAwMDZwLTEyNQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAweDEuNmEwYTA1ODRjYzMzN2FiYzg3NDAyNTNkYjQ1YTEyZjZwLTMsCisgICAgMHgxLjAwMDAyY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEuNmEwYTFlZjk3YjUxYThkZWY0M2RiYjVkYzdmMzdmZjBwLTExLAorICAgIDB4MS4wMDAwNTBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgOAorICAgIDB4MS42YTBhMWVmOTdiNTFhOGRlZjQzZGJiNWRjN2YzN2ZmMHAtMTgsCisgICAgMHgxLjAwMDA1MHAtMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLjZhMGEzNTlhMTU3YTBiOWJkNGZmMjg2YTJlYWIyZWRmcC0yMSwKKyAgICAweDEuMDAwMDcwcC00MQorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLjZhMGE5ODk4YTc0YTAxOWE3Y2MxODE1NzgxNGUzOWQ5cC02LAorICAgIDB4MS4wMDAwZmNwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuNmEwYTk4OThhNzRhMDE5YTdjYzE4MTU3ODE0ZTM5ZDlwLTU5LAorICAgIDB4MS4wMDAwZmNwLTExNworICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgMHgxLjZhMGE5ODk4YTc0YTAxOWE3Y2MxODE1NzgxNGUzOWQ5cC02MSwKKyAgICAweDEuMDAwMGZjcC0xMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS42YTBhOTg5OGE3NGEwMTlhN2NjMTgxNTc4MTRlMzlkOXAxLAorICAgIDB4MS4wMDAwZmNwMworICB9LAorICB7IC8vIEVudHJ5IDE0CisgICAgMHgxLjZhMGFiMzc3NTUyYWRmNzE0MTNiZGM1ZmRmMmQzZTBkcDYzLAorICAgIDB4MS4wMDAxMjJwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuNmEwYjFkODdmMDBlOTk4NTFhOWRjYjZmYjljMmQ1NmVwLTMsCisgICAgMHgxLjAwMDFiOHAtNQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLjZhMGJhOTg5MzBjNWNiNTg3MjJmMDZlMTVjMzMwZjk1cC0xLAorICAgIDB4MS4wMDAyN2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS42YTBiZWE5NmExNDRiZjJhOWM4OTkzODBmMTEwMzlkMXAwLAorICAgIDB4MS4wMDAyZGFwMQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjZhMGQzYzkzNWZiNzc3NjRiNGNjM2YzNGUxMTdhODkxcC00OSwKKyAgICAweDEuMDAwNGI4cC05NworICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjZhMGQ2NzAwMjIyMzI3ZjEwNTNlNGE0MjlhZGIwMTVlcC0zLAorICAgIDB4MS4wMDA0ZjRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMAorICAgIDB4MS42YTBkYzg5M2NlNzA1YWMzNWI4NWJiNDllM2FhMWJhZHAwLAorICAgIDB4MS4wMDA1N2VwMQorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjAwMWZmZTAwM2ZmNjAxYmZhYzEwN2NhNmIyOWEwYzMxcC0yMCwKKyAgICAweDEuMDA0MHAtNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS42YTM3MjRkMTA3NjJjODZhNzFmZTU1N2QxMzMzNjExMXAtMjEsCisgICAgMHgxLjAwNDBwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuNmEzOGE5ODg0NTU3ZGE1NTFmM2VjMjFmNzg1Nzc5ZDdwNiwKKyAgICAweDEuMDA0MjI2cDEzCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAweDEuNmFiYmViODJkYmZkOGYyMGY1OTIzYWIzODllZWY3ZjNwLTExLAorICAgIDB4MS4wMGZjcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLjAwODVkZDAwNGY3MWY1MzYyZGQ2YTVlMDlhOWNlZTc0cC0xMCwKKyAgICAweDEuMDEwY3AtMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIDB4MS4wMDg1ZGQwMDRmNzFmNTM2MmRkNmE1ZTA5YTljZWU3NHAtMjAsCisgICAgMHgxLjAxMGNwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuNmNkYjcwN2UwMjczY2M4ZTJhMWQ5OWFhM2FkNjdiNjZwMCwKKyAgICAweDEuMDQwMDYycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS42ZTE0ZmIzM2FmNWQxOTk0NTFhNDRjNTkyZDE4ZjllMXAtMTEsCisgICAgMHgxLjA1YzBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAweDEuNmUzZWVkZmZmMmY5ZDg4Y2M4MzdkMzZiMTdiY2U1NDhwLTExLAorICAgIDB4MS4wNWZjcC0yMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLjcwODcxM2JiMzFjMTc2Mjc0ODk5ODNhNjM5N2ZmNTI5cC0xLAorICAgIDB4MS4wOTQyNTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS43MjE0YzEyNWNiOGIyMjg0NDU5ZGFhMjMwYTQ3YjlkZnAtMTEsCisgICAgMHgxLjBiODBwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAweDEuNzUyOGNlNjk0YzY5MmNlNmVjZjM0MGY5NmU3YWM0MTBwLTksCisgICAgMHgxLjBmZjdmOHAtMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS43NTJiOTI2MzU4MmEyZTNhYjJhMzZlZTk4ZWQzNGExOXAtMTEsCisgICAgMHgxLjBmZmNwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEuNzUyYjkyNjM1ODJhMmUzYWIyYTM2ZWU5OGVkMzRhMTlwLTQ5LAorICAgIDB4MS4wZmZjcC05NworICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjc1MmI5MjYzNTgyYTJlM2FiMmEzNmVlOThlZDM0YTE5cC02MywKKyAgICAweDEuMGZmY3AtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuNzUyYjkyNjM1ODJhMmUzYWIyYTM2ZWU5OGVkMzRhMTlwLTY4LAorICAgIDB4MS4wZmZjcC0xMzUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS43NTJiY2Q2MjljODNlNDM3OGU3N2U4ZmIwOWUwZGZiOHAwLAorICAgIDB4MS4wZmZjNTZwMQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLjc1MmNkYmFjMmVjNmZkZGI2OWNjMmUwMGJkZjFmZDAycDQsCisgICAgMHgxLjBmZmRlMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAweDEuNzUyY2Y0NWU2NjVjMzdiN2Q3N2M4YzlmYjUwY2Q2NzhwLTQsCisgICAgMHgxLjBmZmUwNHAtNworICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLjc1MmNmNDVlNjY1YzM3YjdkNzdjOGM5ZmI1MGNkNjc4cC02MywKKyAgICAweDEuMGZmZTA0cC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS43NTJjZjQ1ZTY2NWMzN2I3ZDc3YzhjOWZiNTBjZDY3OHAxLAorICAgIDB4MS4wZmZlMDRwMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLjc1MmQ2YTVjNzVjZjNiMTZlNWRlOWEyMjhmM2VmNGRhcDEsCisgICAgMHgxLjBmZmViMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEuNzUyZDZhNWM3NWNmM2IxNmU1ZGU5YTIyOGYzZWY0ZGFwMjgsCisgICAgMHgxLjBmZmViMHA1NworICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjc1MmUxMDVmNzAxODk2MjhiMGQyZDZlMTdjYTJiOWM1cDEsCisgICAgMHgxLjBmZmZhMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuNzUyZTRiNWU0Zjk1ZjZhNDViY2ZkODcyMWNjYmY5NTBwLTQsCisgICAgMHgxLjBmZmZmOHAtNworICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgMHgxLjc1MmU0YjVlNGY5NWY2YTQ1YmNmZDg3MjFjY2JmOTUwcC01MywKKyAgICAweDEuMGZmZmY4cC0xMDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIDB4MS43NTJlNGI1ZTRmOTVmNmE0NWJjZmQ4NzIxY2NiZjk1MHAtNjEsCisgICAgMHgxLjBmZmZmOHAtMTIxCisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuNzUyZTRiNWU0Zjk1ZjZhNDViY2ZkODcyMWNjYmY5NTBwLTYyLAorICAgIDB4MS4wZmZmZjhwLTEyMworICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLjc1MmU0YjVlNGY5NWY2YTQ1YmNmZDg3MjFjY2JmOTUwcDEsCisgICAgMHgxLjBmZmZmOHAzCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuNzg0MjIwNTAxYzFmYzk1ZDdlMjA0MzMzOWQzNTQ1ODhwLTEsCisgICAgMHgxLjE0ODEyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgMHgxLjc4Y2MwYTAwMDU0ZDc2ODMxNjVlYTI4MTViNmI4ZDE0cC0xMSwKKyAgICAweDEuMTU0Y3AtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MgorICAgIDB4MS43ZWE4MzM2ZTBmMjY4ZjZkMDVmMDkzNGE2N2I0ODQwYXAtMzIsCisgICAgMHgxLjFkZmQzNHAtNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS4wZWMxMjcwMDE0ZDQyZTU0MjRhNzc4MGI2N2I0OTc0Y3AtMTAsCisgICAgMHgxLjFlNWNwLTIwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuMGY3YTM5NzRjMGEwMzZlYWQ0NWEwMDE3ZDQ3ODJlMWFwLTEwLAorICAgIDB4MS4xZmU0cC0yMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgMHgxLjEwMjA3ZjAwMDA3N2YxYWI5MDlmYjdiNTMxNGY4MzdmcC0xLAorICAgIDB4MS4yMTQ1MTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS44YzQ0ODcwMDAwNDJkZDI4MTNkZDczMGQxYTdmM2NhYnAxLAorICAgIDB4MS4zMmIyMGFwMworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgMHgxLjhkYzQxNTM3ZjBiNjM5Y2IzN2FlZGZhOGQ1MzFkNGNmcC01MSwKKyAgICAweDEuMzUwNGUwcC0xMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS44ZmFlMGMxNWFkMzg5ZTI0ODUyNDk3ZTgwOTM1ZTRiNXAtNjMsCisgICAgMHgxLjM4cC0xMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS45NWI4YzBmZmZmODY4OTk0ZjljZTE0YjExYWExY2ZkNXAtMiwKKyAgICAweDEuNDE4MTBjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuYTY0NGZlMDAwNjBlYzgzYTUzOTNjM2MzY2QzOWZjOTVwLTEsCisgICAgMHgxLjVjNDNjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgMHgxLmI3MDcwNDA2YTQ1Mjc1NDNlN2UxYTkzYzM0YTJkNmY3cC0xLAorICAgIDB4MS43ODc0ODhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS4zODM2YjJmZmZmODYzY2JiNThhMGZiMmJjYWQ4NTQ3NHAtMSwKKyAgICAweDEuN2NjNTYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuYmI2N2FkNWRlYTU1ZWJhZjIxZmFhOWJiMTBlYWJkZjFwLTIxLAorICAgIDB4MS43ZmZmZmVwLTQxCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuY2U3ZTk2MDAwMDA3YmZkMGVkOTcxMzAzNjBjMjk4ZGRwLTEsCisgICAgMHgxLmExYzY5MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgMHgxLmQxMGQ3M2Y4MDU5NGQzZDczZmFlMWYyZDZhMTMwMjQ3cDAsCisgICAgMHgxLmE2NjhmMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuZDk0YzA5MGFmZWIwMmI5MmU3NDFiYjIzNjE4NmJjODZwLTEsCisgICAgMHgxLmI1ODUwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgMHgxLmRlNDMxNTAwMDAxMzAwOGJmMTJlNDU0ZDY3MmZmYmRmcC0yLAorICAgIDB4MS5iZWJmNGFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIDB4MS5lNzY4ZDI4Y2YxZTM5ODE1NzBlODc1YWYxMTM1NDZjN3AtMjEsCisgICAgMHgxLmNmZmZmZXAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIDB4MS5lN2YwY2M1YTc3YTc4M2JlMzM2ZjliNTEyNzcwOWFjZXAtMSwKKyAgICAweDEuZDEwMzA2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAweDEuZjMxNjkwMjljOTg2N2YxMDE0Mjc1MGRjNTFkNTg0M2RwLTEsCisgICAgMHgxLmU2ODA3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgMHgxLmY2ZWI2MmQyNzczMGNhZmY4OWE4ZDc4YzczMTQ5MzRhcC02MCwKKyAgICAweDEuZWVwLTExOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmY4ZjM5MzVkMmVjYzcyNTZhMTRkN2M4ODE2Mjc1YzYwcC0yMSwKKyAgICAweDEuZjFmZmZlcC00MQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgMHgxLmY5NGE4ZTg1MjRlY2U4NjIzNDMyYWNlNzU1NzE3ODVlcC0xLAorICAgIDB4MS5mMmFiOWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5mYWEwcC0xLAorICAgIDB4MS5mNTRlNzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIDB4MS5mZWVmYjY5OGZjMDJlNzFjMjM3N2RlYjIyNTgzN2E4N3AtNjMsCisgICAgMHgxLmZkZGZmZXAtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuZmZmZmZjZmZmZmZkYmZmZmZjOWZmZmY5YWJmZmYyYjVwLTEsCisgICAgMHgxLmZmZmZmYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgMHgxLmZmZmZmZGZmZmZmZWZmZmZmZWZmZmZmZWJmZmZmZTNmcC00LAorICAgIDB4MS5mZmZmZmNwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIDB4MS5mZmZmZmRmZmZmZmVmZmZmZmVmZmZmZmViZmZmZmUzZnAtMjEsCisgICAgMHgxLmZmZmZmY3AtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIDB4MS5mZmZmZmRmZmZmZmVmZmZmZmVmZmZmZmViZmZmZmUzZnAtNjMsCisgICAgMHgxLmZmZmZmY3AtMTI1CisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwLTQsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgMHgxLmZmZmZmZWZmZmZmZmJmZmZmZmRmZmZmZmViZmZmZmYxcDAsCisgICAgMHgxLmZmZmZmZXAxCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuMzA2ZmRlYzhkYzlhZDMyYjU1MWU5MjU4NWI3MDk0ZjNwLTEsCisgICAgMHgxLjZhMDllMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgMHgxLjMwNmZkZmEwMjE5OGExM2Q5NDZhZDgxOGVjNjE1NTQ3cC0xLAorICAgIDB4MS42YTA5ZTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS4zMDZmZTA3NzY2OTVkNzE3ZTFlMTE5NThkNTY1NDFjZnAtMSwKKyAgICAweDEuNmEwOWU2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAweDEuMzA2ZmUxNGVhYjkyNzRiYTNlYzQzZDk2Njk1OWY0N2NwLTEsCisgICAgMHgxLjZhMDllOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLjMwNmZlMjI1ZjA4ZTdhMjRhYzU3MmM0Yjg1Nzk3ODVmcC0xLAorICAgIDB4MS42YTA5ZWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS5hZTg5ZjZmNmZlMDg3YWMzMDIxMzFmMzg0MGRhN2E5MHAtMSwKKyAgICAweDEuNmEwOWUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuYWU4OWY4Mjc2ZGVhOGM3YWNjYjgyMzM5OTczZjJhZjlwLTEsCisgICAgMHgxLjZhMDllNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmFlODlmOTU3ZGRjYmM2ZWQ5ODZjZjFhMGU3NTRkMTcwcC0xLAorICAgIDB4MS42YTA5ZTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5hZTg5ZmE4ODRkYWMyYTFiNjZmYTMyNDM5NGQzYzU5MHAtMSwKKyAgICAweDEuNmEwOWU4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAweDEuYWU4OWZiYjhiZDhiYjYwNDNhMjg4Y2YwYjRlZWYwYWVwLTEsCisgICAgMHgxLjZhMDllYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLjMwNmZkZWM4ZGM5YWQzMmI1NTFlOTI1ODViNzA5NGYzcDAsCisgICAgMHgxLjZhMDllMnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuMzA2ZmRmYTAyMTk4YTEzZDk0NmFkODE4ZWM2MTU1NDdwMCwKKyAgICAweDEuNmEwOWU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS4zMDZmZTA3NzY2OTVkNzE3ZTFlMTE5NThkNTY1NDFjZnAwLAorICAgIDB4MS42YTA5ZTZwMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjMwNmZlMTRlYWI5Mjc0YmEzZWM0M2Q5NjY5NTlmNDdjcDAsCisgICAgMHgxLjZhMDllOHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMzA2ZmUyMjVmMDhlN2EyNGFjNTcyYzRiODU3OTc4NWZwMCwKKyAgICAweDEuNmEwOWVhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5hZTg5ZjZmNmZlMDg3YWMzMDIxMzFmMzg0MGRhN2E5MHAwLAorICAgIDB4MS42YTA5ZTJwMQorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmFlODlmODI3NmRlYThjN2FjY2I4MjMzOTk3M2YyYWY5cDAsCisgICAgMHgxLjZhMDllNHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuYWU4OWY5NTdkZGNiYzZlZDk4NmNmMWEwZTc1NGQxNzBwMCwKKyAgICAweDEuNmEwOWU2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuYWU4OWZhODg0ZGFjMmExYjY2ZmEzMjQzOTRkM2M1OTBwMCwKKyAgICAweDEuNmEwOWU4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuYWU4OWZiYjhiZDhiYjYwNDNhMjg4Y2YwYjRlZWYwYWVwMCwKKyAgICAweDEuNmEwOWVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwLTQsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5wLTMsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS4wMDAwMDBmZmZmZmY4MDAwMDA3ZmZmZmY2MDAwMDBkZnAtMywKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLjZhMDllNWIyZWVjOTY3Y2Q5N2IyZWZmNzVmNDcxNDkzcC0zLAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTMsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIDB4MS42YTA5ZTdkMWZkYTI3YmY3N2Q0NTI3MmRkMmQ4M2E0YnAtMywKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZWZmZmZmZmJmZmZmZmRmZmZmZmViZmZmZmYxcC0zLAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEucC0yLAorICAgIDB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuMDAwMDAwZmZmZmZmODAwMDAwN2ZmZmZmNjAwMDAwZGZwLTIsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS42YTA5ZTViMmVlYzk2N2NkOTdiMmVmZjc1ZjQ3MTQ5M3AtMiwKKyAgICAweDEuZmZmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0yLAorICAgIDB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuNmEwOWU3ZDFmZGEyN2JmNzdkNDUyNzJkZDJkODNhNGJwLTIsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5mZmZmZmVmZmZmZmZiZmZmZmZkZmZmZmZlYmZmZmZmMXAtMiwKKyAgICAweDEuZmZmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAtMSwKKyAgICAweDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjAwMDAwMGZmZmZmZjgwMDAwMDdmZmZmZjYwMDAwMGRmcC0xLAorICAgIDB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuNmEwOWU1YjJlZWM5NjdjZDk3YjJlZmY3NWY0NzE0OTNwLTEsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjZhMDllN2QxZmRhMjdiZjc3ZDQ1MjcyZGQyZDgzYTRicC0xLAorICAgIDB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEuMDAwMDAwZmZmZmZmODAwMDAwN2ZmZmZmNjAwMDAwZGZwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEuNmEwOWU1YjJlZWM5NjdjZDk3YjJlZmY3NWY0NzE0OTNwMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEuNmEwOWU3ZDFmZGEyN2JmNzdkNDUyNzJkZDJkODNhNGJwMCwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwMCwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEucDEsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTI4CisgICAgMHgxLjAwMDAwMGZmZmZmZjgwMDAwMDdmZmZmZjYwMDAwMGRmcDEsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtNzUsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgMHgxLmZmZmZmZGZmZmZmZWZmZmZmZWZmZmZmZWJmZmZmZTNmcC02NCwKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEucC02MywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuMDAwMDAwZmZmZmZmODAwMDAwN2ZmZmZmNjAwMDAwZGZwLTYzLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtNzUsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLjI3OWE3NTgwOWRhNThhMDgxMTI0M2MwNDg0OWJjY2IycC02NCwKKyAgICAweDEuNTU1NTU4cC0xMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuYTIwYmQ2MmZiY2Q4MmIxZDY1ZTIwMWI2MTYwYmI5N2ZwLTY0LAorICAgIDB4MS41NTU1NTRwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5mZmZmZmRmZmZmZmVmZmZmZmVmZmZmZmViZmZmZmUzZnAtNjQsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgMHgxLmZmZmZmY2ZmZmZmZGJmZmZmYzlmZmZmOWFiZmZmMmI1cC0xLAorICAgIDB4MS5mZmZmZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzkKKyAgICAweDEuZmZmZmZkZmZmZmZlZmZmZmZlZmZmZmZlYmZmZmZlM2ZwLTEsCisgICAgMHgxLmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDE0MAorICAgIDB4MS5mZmZmZmVmZmZmZmZiZmZmZmZkZmZmZmZlYmZmZmZmMXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIDB4MS4wMDAwMDBmZmZmZmY4MDAwMDA3ZmZmZmY2MDAwMDBkZnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIDB4MS5mZmZmZmNmZmZmZmRiZmZmZmM5ZmZmZjlhYmZmZjJiNXAtMSwKKyAgICAweDEuZmZmZmZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmZmZmZmZGZmZmZmZWZmZmZmZWZmZmZmZWJmZmZmZTNmcC0xLAorICAgIDB4MS5mZmZmZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwLTEsCisgICAgMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMDAwMDAwZmZmZmZmODAwMDAwN2ZmZmZmNjAwMDAwZGZwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwNjMsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICBIVUdFX1ZBTEYsCisgICAgSFVHRV9WQUxGCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmZmZmZmZWZmZmZmZmJmZmZmZmRmZmZmZmViZmZmZmYxcDYzLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgMHgxLmZmZmZmZGZmZmZmZWZmZmZmZWZmZmZmZWJmZmZmZTNmcDYzLAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmM1YmY4OTg1M2E5NGQ0NzNjODhmMGRjODVmMTg3YTZlcDAsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgMHgxLjQwZDkzMjRhNDgxMzdiYjQ1ZTg5MWUxYmRmZmU2NGMycDAsCisgICAgMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLjAwMDAwMGZmZmZmZjgwMDAwMDdmZmZmZjYwMDAwMGRmcDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS5mZmZmZmVmZmZmZmZiZmZmZmZkZmZmZmZlYmZmZmZmMXAtMSwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU3CisgICAgMHgxLmM1YmY4OTg1M2E5NGQ0NzNjODhmMGRjODVmMTg3YTZlcC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuMDAwMDAwZmZmZmZmODAwMDAwN2ZmZmZmNjAwMDAwZGZwLTYzLAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIDB4MS5wLTYzLAorICAgIDB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS5mZmZmZmRmZmZmZmVmZmZmZmVmZmZmZmViZmZmZmUzZnAtNjQsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgMHgxLmZmZmZmYmZmZmZmYmZmZmZmN2ZmZmZlYmZmZmZjN2ZmcC02NCwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEucC03NCwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTc1LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDAuMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTAuMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5wMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjcKKyAgICAweDEucDIsCisgICAgMHgxLnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjgwcDEsCisgICAgMHgxLjIwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAweDEuNDBwMiwKKyAgICAweDEuOTBwNAorICB9LAorICB7IC8vIEVudHJ5IDE3MAorICAgIDB4MS5wLTEsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3MQorICAgIDB4MS5jMHAyLAorICAgIDB4MS44OHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjQwcDMsCisgICAgMHgxLjkwcDYKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS90YW5faW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3Rhbl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJkNzMzZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS90YW5faW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsNTE4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGRvdWJsZSwgZG91YmxlPiBnX3Rhbl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIDB4MS41MDc4Y2ViZmY5YzcyODAwMDAwMDAwMDAwMDAyNGRmOHAtNSwKKyAgICAweDEuNTA0ODZiMmY4NzAxNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMHgxLjUwNzhjZWJmZjljNzI4MDAwMDAwMDAwMDAwMDI0ZGY4cC01LAorICAgIC0weDEuNTA0ODZiMmY4NzAxNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAweDEuNTM4OWU2ZGY0MTk3OGZmZmZmZmZmZmZmZmZjNjFmNTRwLTQsCisgICAgMHgxLjUyYzM5ZWYwNzBjYWRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgLTB4MS41Mzg5ZTZkZjQxOTc4ZmZmZmZmZmZmZmZmZmM2MWY1NHAtNCwKKyAgICAtMHgxLjUyYzM5ZWYwNzBjYWRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgMHgxLmE5MzNmZTE3NmIzNzUwMDAwMDAwMDAwMDAwMGE0MDY1cC0zLAorICAgIDB4MS5hMzNmMzJhYzVjZWI1cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIC0weDEuYTkzM2ZlMTc2YjM3NTAwMDAwMDAwMDAwMDAwYTQwNjVwLTMsCisgICAgLTB4MS5hMzNmMzJhYzVjZWI1cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDB4MS5mYWM3MWNkMzRlZWE2ODAwMDAwMDAwMDAwMDlhMGMxMHAtMiwKKyAgICAweDEuZDY5NmJmYTk4OGRiOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAtMHgxLmZhYzcxY2QzNGVlYTY4MDAwMDAwMDAwMDAwOWEwYzEwcC0yLAorICAgIC0weDEuZDY5NmJmYTk4OGRiOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEuN2JhNDlmNzM5ODI5ZWZmZmZmZmZmZmZmZmZlN2U5YmVwLTEsCisgICAgMHgxLjQ2YWMzNzIyNDM1MzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgLTB4MS43YmE0OWY3Mzk4MjllZmZmZmZmZmZmZmZmZmU3ZTliZXAtMSwKKyAgICAtMHgxLjQ2YWMzNzIyNDM1MzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDExCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS44ZjA0ODgzMjE0NGI3MDAyMWNjZDdhNTI0NmNiMGIyMHAwLAorICAgIC0weDEuMDAxODBwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLjhmMDQ4ODMyMTQ0YjcwMDIxY2NkN2E1MjQ2Y2IwYjIwcDAsCisgICAgMHgxLjAwMTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEuOGU4ODRiMjQzMTNhZTgwMmRiNDc4OTlmYWQxNWE2YzZwMCwKKyAgICAtMHgxLjA5MGNjYTE4YTU1NjVwMgorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjhlODg0YjI0MzEzYWU4MDJkYjQ3ODk5ZmFkMTVhNmM2cDAsCisgICAgMHgxLjA5MGNjYTE4YTU1NjVwMgorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS5jYTE4NjU0YjM1Njk3Mjk2N2E0ZjFlODQwNGI5Zjk3MnAwLAorICAgIC0weDEuMGZhYTc2NTBkZjE0NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAweDEuY2ExODY1NGIzNTY5NzI5NjdhNGYxZTg0MDRiOWY5NzJwMCwKKyAgICAweDEuMGZhYTc2NTBkZjE0NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLmU1MmZhZmEyMmVmMTQ4MWQ0MzdlN2VkMzJjYmEwM2IxcC0yLAorICAgIC0weDEuMTgwMDAwMDAwMDA0MHA1CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuZTUyZmFmYTIyZWYxNDgxZDQzN2U3ZWQzMmNiYTAzYjFwLTIsCisgICAgMHgxLjE4MDAwMDAwMDAwNDBwNQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5hM2NhNDIxZGMzMGYxYzU3NjBhMWFlMDczOTZmZWMzM3AtMywKKyAgICAtMHgxLjQwMDA1MjdhY2EzODhwOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMQorICAgIDB4MS5hM2NhNDIxZGMzMGYxYzU3NjBhMWFlMDczOTZmZWMzM3AtMywKKyAgICAweDEuNDAwMDUyN2FjYTM4OHA5OQorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgMHgxLjFmM2I3ZDE5Nzg2MDk4MDBhMTYyOGUxZGY5NTU4ZGY2cDEsCisgICAgLTB4MS40ODZjMzYzNDc1MWVjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIC0weDEuMWYzYjdkMTk3ODYwOTgwMGExNjI4ZTFkZjk1NThkZjZwMSwKKyAgICAweDEuNDg2YzM2MzQ3NTFlY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLjdlYjg3MzM0M2ZhN2FiNWQ5ZWY5YTc4YWZkMzNkNTAxcC0xLAorICAgIC0weDEuNDhhNzE4MDBiNTcxM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLjdlYjg3MzM0M2ZhN2FiNWQ5ZWY5YTc4YWZkMzNkNTAxcC0xLAorICAgIDB4MS40OGE3MTgwMGI1NzEzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuYmUwNzE1NzJmNjRlODgwNDdjMzkzOWJhNDY2MjZhMjVwLTEsCisgICAgLTB4MS40OWFmMDMxNGVlYTNjcDI5OQorICB9LAorICB7IC8vIEVudHJ5IDI3CisgICAgLTB4MS5iZTA3MTU3MmY2NGU4ODA0N2MzOTM5YmE0NjYyNmEyNXAtMSwKKyAgICAweDEuNDlhZjAzMTRlZWEzY3AyOTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mZmJiMjY0N2Y1N2ExODFiZDEyOTZmYWYzM2MwNGUzZXAtMSwKKyAgICAtMHgxLjVmZTAwYzgxNGZmZDZwMgorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgLTB4MS5mZmJiMjY0N2Y1N2ExODFiZDEyOTZmYWYzM2MwNGUzZXAtMSwKKyAgICAweDEuNWZlMDBjODE0ZmZkNnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzAKKyAgICAtMHgxLmE4ZWIxNDJiMmY0Mjc1NmU2ZGVkZmYwOTI2N2E2MmM2cC0xLAorICAgIC0weDEuNjJhYzI0MWY3OTQzOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLmE4ZWIxNDJiMmY0Mjc1NmU2ZGVkZmYwOTI2N2E2MmM2cC0xLAorICAgIDB4MS42MmFjMjQxZjc5NDM5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLjdkMWQzNTU5ZGRhYzg4NWVlMzA2MzJjNzYwOTk4YzhlcC00LAorICAgIC0weDEuN2MwNTFiNDc2Y2E4ZHAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLjdkMWQzNTU5ZGRhYzg4NWVlMzA2MzJjNzYwOTk4YzhlcC00LAorICAgIDB4MS43YzA1MWI0NzZjYThkcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAtMHgxLjBlMWQwMzA1YjdiNzI3ZmYxOTNkOWQwYjhlYWZmMTgxcDIsCisgICAgLTB4MS43ZTQzYzg4MDA3NGM2cDk5NgorICB9LAorICB7IC8vIEVudHJ5IDM1CisgICAgMHgxLjBlMWQwMzA1YjdiNzI3ZmYxOTNkOWQwYjhlYWZmMTgxcDIsCisgICAgMHgxLjdlNDNjODgwMDc0YzZwOTk2CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAtMHgxLjgxMmJkZmUwMjQ2YmJmMmE3YWI2NDc3YTVjYmIzNTJicC00LAorICAgIC0weDEuODAwYWMzNjMzOThjNHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLjgxMmJkZmUwMjQ2YmJmMmE3YWI2NDc3YTVjYmIzNTJicC00LAorICAgIDB4MS44MDBhYzM2MzM5OGM0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMzgKKyAgICAtMHgxLjg1MGU1NTQ0YjBjNzk3YjM2MDM0Yzk4ZTE2ZjNmYWZicC00LAorICAgIC0weDEuODNlNDZhZWRiZmYzNnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLjg1MGU1NTQ0YjBjNzk3YjM2MDM0Yzk4ZTE2ZjNmYWZicC00LAorICAgIDB4MS44M2U0NmFlZGJmZjM2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZTZiNWQ5MWJiYTkzMzdmYzBjZWI2ODZjNjBjZDI5YmRwLTIsCisgICAgLTB4MS44M2VjZjQyZTkyNjVhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuZTZiNWQ5MWJiYTkzMzdmYzBjZWI2ODZjNjBjZDI5YmRwLTIsCisgICAgMHgxLjgzZWNmNDJlOTI2NWFwMworICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgLTB4MS5mMzY4OGJjMjU5NGUyMDEwMjU3M2NmZjQ4MTkwYWMyOHAtMSwKKyAgICAtMHgxLjhiY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLmYzNjg4YmMyNTk0ZTIwMTAyNTczY2ZmNDgxOTBhYzI4cC0xLAorICAgIDB4MS44YmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS5lYzBkMGZhY2RkMDhiNzczYTFkOTM0ODRlMmQ2NmM0NXAtMiwKKyAgICAtMHgxLjhkMmZmZmZmZmZmZDFwOQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgLTB4MS5lYzBkMGZhY2RkMDhiNzczYTFkOTM0ODRlMmQ2NmM0NXAtMiwKKyAgICAweDEuOGQyZmZmZmZmZmZkMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZWMwMzM2ZDUzOTI1OTc2ODliNjQwYmYwNDkyMjczMzhwLTIsCisgICAgLTB4MS44ZDMwMDBmZmZmZmQxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuZWMwMzM2ZDUzOTI1OTc2ODliNjQwYmYwNDkyMjczMzhwLTIsCisgICAgMHgxLjhkMzAwMGZmZmZmZDFwOQorICB9LAorICB7IC8vIEVudHJ5IDQ4CisgICAgLTB4MS5mODA5M2EwMTcwMjFmODFjMDFjMTMxNDc1ZTUwZTQ5YnAtMSwKKyAgICAtMHgxLmJhZWVlNmY2ZmE1MzhwNgorICB9LAorICB7IC8vIEVudHJ5IDQ5CisgICAgMHgxLmY4MDkzYTAxNzAyMWY4MWMwMWMxMzE0NzVlNTBlNDlicC0xLAorICAgIDB4MS5iYWVlZTZmNmZhNTM4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MAorICAgIDB4MS5kZWFmMzQ5OTRiN2U3N2ZkNTJhNDA4ZjBjNjc3ZWFlMXAzLAorICAgIC0weDEuYzY4NjdlMDc0NTVlYXAzCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMHgxLmRlYWYzNDk5NGI3ZTc3ZmQ1MmE0MDhmMGM2NzdlYWUxcDMsCisgICAgMHgxLmM2ODY3ZTA3NDU1ZWFwMworICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5mMjlhYTg3ZDRlMWRkODFiN2I2OWFiZTk3OTBlZTBhYnAtMSwKKyAgICAtMHgxLmQyN2ZmZmZmZmUwcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIDB4MS5mMjlhYTg3ZDRlMWRkODFiN2I2OWFiZTk3OTBlZTBhYnAtMSwKKyAgICAweDEuZDI3ZmZmZmZmZTBwNworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjc2MmZiNDdhMTkyNTk3ZmZmZmZmZWVlZGIyNmZiOTc4cC0zLAorICAgIC0weDEuZjBkZjM4MDI5YzllZnAzCisgIH0sCisgIHsgLy8gRW50cnkgNTUKKyAgICAtMHgxLjc2MmZiNDdhMTkyNTk3ZmZmZmZmZWVlZGIyNmZiOTc4cC0zLAorICAgIDB4MS5mMGRmMzgwMjljOWVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIC0weDEuOGViMjNlZjIxMjZiYjdmZmZkMTUzYzdmZjkwZTlmNmNwMCwKKyAgICAtMHgxLmZmZmZmYzAwMDBmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIDB4MS44ZWIyM2VmMjEyNmJiN2ZmZmQxNTNjN2ZmOTBlOWY2Y3AwLAorICAgIDB4MS5mZmZmZmMwMDAwZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAtMHgxLmQyOTlkMjg1YmYwMTg0MjNmYmMxNGVmYzAwZWQ1Nzk5cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAweDEuZDI5OWQyODViZjAxODQyM2ZiYzE0ZWZjMDBlZDU3OTlwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjgyYmVlNTcyZTJhYzhjNzZkNjkwOWM2NmIyODJlOTYycC02LAorICAgIDB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAweDEuODJiZWU1NzJlMmFjOGM3NmQ2OTA5YzY2YjI4MmU5NjJwLTYsCisgICAgLTB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuZjUzYThkMDVhZmNmNmM0YmYyZTFlNTIwOGIzNGQ1YzZwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS5mNTNhOGQwNWFmY2Y2YzRiZjJlMWU1MjA4YjM0ZDVjNnA0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS42YjM3MWRmNTk4MGNkM2RiMzY3NjhlMzYwNDZhNGE4MXAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDE3CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAweDEuNmIzNzFkZjU5ODBjZDNkYjM2NzY4ZTM2MDQ2YTRhODFwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEwMTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuYjMyZTc4ZjQ5YTBjODNjN2Y2MGEzZGMzZWY4ZWNmMWZwMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwM3AzCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAweDEuYjMyZTc4ZjQ5YTBjODNjN2Y2MGEzZGMzZWY4ZWNmMWZwMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwMworICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLjk4YWZiZDI0MjY0YmMzYTlkMTgzODA3NGEzZGFhNWU1cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLjk4YWZiZDI0MjY0YmMzYTlkMTgzODA3NGEzZGFhNWU1cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwM3AyMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmI2NjdhMmFiZTM2YzI4MDMxNWM2MmExZjk3NGU3NjExcDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDNwNTExCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmI2NjdhMmFiZTM2YzI4MDMxNWM2MmExZjk3NGU3NjExcDAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzcDUxMQorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjIwNGMyNmE0Mjc4NjFmZmVmYjczNzk2YmNmMWZkNzI0cC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAzcDcxNgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS4yMDRjMjZhNDI3ODYxZmZlZmI3Mzc5NmJjZjFmZDcyNHAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDNwNzE2CisgIH0sCisgIHsgLy8gRW50cnkgNzYKKyAgICAweDEuOTFjOGYyOTM4MjYyY2UyZTlhZDk5YWIxN2U0NmFiZDZwNCwKKyAgICAweDEuMDAwMDAwMDAwMDAwN3A4CisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLjkxYzhmMjkzODI2MmNlMmU5YWQ5OWFiMTdlNDZhYmQ2cDQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA3cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OAorICAgIC0weDEuMjdmN2YwODgwMDMxZmU0MmVkMWQ1ZmVkYzQ5NmQxNGVwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMzhwMzgwCisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuMjdmN2YwODgwMDMxZmU0MmVkMWQ1ZmVkYzQ5NmQxNGVwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDM4cDM4MAorICB9LAorICB7IC8vIEVudHJ5IDgwCisgICAgLTB4MS5kNjg5MGNjMzI3MTFkNGIwNDY5MDNhZDg4NTFhNDFiYnAtMywKKyAgICAweDEuMDAwMDAwMDAwMDExOHAzODAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIDB4MS5kNjg5MGNjMzI3MTFkNGIwNDY5MDNhZDg4NTFhNDFiYnAtMywKKyAgICAtMHgxLjAwMDAwMDAwMDAxMThwMzgwCisgIH0sCisgIHsgLy8gRW50cnkgODIKKyAgICAweDEuOWFmMGU2ZjcyZjkxMjdmZmZmYzAyMDBlYTdmNDA2ZjRwLTMsCisgICAgMHgxLjAwMDAwMDAwMDA5MDhwNTAwCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLjlhZjBlNmY3MmY5MTI3ZmZmZmMwMjAwZWE3ZjQwNmY0cC0zLAorICAgIC0weDEuMDAwMDAwMDAwMDkwOHA1MDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS4xN2I0ZjViZjQ0MDk3ODAwMmQ2NmYxYmQzNzAzMjUzMnAtMSwKKyAgICAweDEuMDAwMDAwMDAwYzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuMTdiNGY1YmY0NDA5NzgwMDJkNjZmMWJkMzcwMzI1MzJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDBjMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS4xN2ViMjJlNGRiYTcyODAwZDJhMDAwNjk4MjYzZDU4MnAwLAorICAgIDB4MS4wMDAwMDAwMWNwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIDB4MS4xN2ViMjJlNGRiYTcyODAwZDJhMDAwNjk4MjYzZDU4MnAwLAorICAgIC0weDEuMDAwMDAwMDFjcDQwCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuZjZmMDNjZTU2OTBhNmUzODgwYjk1ZmQ4YjJjODM2M2VwLTEsCisgICAgMHgxLjAwMDAwMDFwMjUwCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLmY2ZjAzY2U1NjkwYTZlMzg4MGI5NWZkOGIyYzgzNjNlcC0xLAorICAgIC0weDEuMDAwMDAwMXAyNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5lMjNiNzgyODJhNzVkMGRkNmRhMzU2OTJkMTQyYmM2M3AtMSwKKyAgICAweDEuMDAwMDAwOTg4cDI3CisgIH0sCisgIHsgLy8gRW50cnkgOTEKKyAgICAtMHgxLmUyM2I3ODI4MmE3NWQwZGQ2ZGEzNTY5MmQxNDJiYzYzcC0xLAorICAgIC0weDEuMDAwMDAwOTg4cDI3CisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAtMHgxLjk4MWI2NTdlMWNhMjcwMDlkODJkOGUxODMxNDI0MGI1cC0zLAorICAgIDB4MS4wMDAwMGMwcDQyOQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLjk4MWI2NTdlMWNhMjcwMDlkODJkOGUxODMxNDI0MGI1cC0zLAorICAgIC0weDEuMDAwMDBjMHA0MjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIC0weDEuNDU1YTIxODRmNGMzZGZmYjA5ODY5MTljZWNlNjgzYTRwLTEsCisgICAgMHgxLjAwMDAwZmNwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjQ1NWEyMTg0ZjRjM2RmZmIwOTg2OTE5Y2VjZTY4M2E0cC0xLAorICAgIC0weDEuMDAwMDBmY3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuOGVlNjY5NjJmMjEwYzgwMDAwMDU2OGM3ZGFhZDNhMjhwMCwKKyAgICAweDEuMDAwZjM3MWI3YTAwNnAwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjhlZTY2OTYyZjIxMGM4MDAwMDA1NjhjN2RhYWQzYTI4cDAsCisgICAgLTB4MS4wMDBmMzcxYjdhMDA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIC0weDEuZWNkNzVjZjZkNDY2M2JlZTFjOTZmMDMxODRmYWUwODZwLTMsCisgICAgMHgxLjAwMXAxNQorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgMHgxLmVjZDc1Y2Y2ZDQ2NjNiZWUxYzk2ZjAzMTg0ZmFlMDg2cC0zLAorICAgIC0weDEuMDAxcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLjE3ZDQyMDMzMjc3Y2M4MjQ0Y2NiNmU1MTU0NDgyMTA1cC0xLAorICAgIDB4MS4wMDE3ZmZmZmZmZmZkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS4xN2Q0MjAzMzI3N2NjODI0NGNjYjZlNTE1NDQ4MjEwNXAtMSwKKyAgICAtMHgxLjAwMTdmZmZmZmZmZmRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuOGYwNDg4MzIxNDRiNzAwMjFjY2Q3YTUyNDZjYjBiMjBwMCwKKyAgICAweDEuMDAxODBwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIC0weDEuOGYwNDg4MzIxNDRiNzAwMjFjY2Q3YTUyNDZjYjBiMjBwMCwKKyAgICAtMHgxLjAwMTgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLjE4MjczY2MzZTc2MzkwMDc0MzcwNDAyOGNmYjExNGE1cC0yLAorICAgIDB4MS4wMDFmZmZlcDUwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS4xODI3M2NjM2U3NjM5MDA3NDM3MDQwMjhjZmIxMTRhNXAtMiwKKyAgICAtMHgxLjAwMWZmZmVwNTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS5kOGY5MGNhZDMwNTQ2Y2U1YjgyNjhiMzMwY2U1MGE2ZnAtMiwKKyAgICAweDEuMDE4cDQwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmQ4ZjkwY2FkMzA1NDZjZTViODI2OGIzMzBjZTUwYTZmcC0yLAorICAgIC0weDEuMDE4cDQwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmIwNzllYTBkMTRhNGE3ZmZjMDRiZDZmYmY0NTFiYjM0cC0yLAorICAgIDB4MS4wMWI4YTQ4NGFjMGI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLmIwNzllYTBkMTRhNGE3ZmZjMDRiZDZmYmY0NTFiYjM0cC0yLAorICAgIC0weDEuMDFiOGE0ODRhYzBiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgLTB4MS5hNDBjMjYyZjZhYjk5N2ZlZjQzYmY1NGFmM2M1YTc2NXAtMSwKKyAgICAweDEuMDI2YWMwZWYzMmQ0MHAyOAorICB9LAorICB7IC8vIEVudHJ5IDExMQorICAgIDB4MS5hNDBjMjYyZjZhYjk5N2ZlZjQzYmY1NGFmM2M1YTc2NXAtMSwKKyAgICAtMHgxLjAyNmFjMGVmMzJkNDBwMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuMDNiOGMxZjMyOTY2NTdjNjUxYTEzZWI1YjEwMGZjNzhwLTQsCisgICAgMHgxLjAzNWZkY2QwOGE1OTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjAzYjhjMWYzMjk2NjU3YzY1MWExM2ViNWIxMDBmYzc4cC00LAorICAgIC0weDEuMDM1ZmRjZDA4YTU5NnAtNAorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS4wNDQ5NzlkMTM0ZWQ5N2M3OGJmZTU4YTkwMDNiZmFjNXAtNCwKKyAgICAweDEuMDNmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS4wNDQ5NzlkMTM0ZWQ5N2M3OGJmZTU4YTkwMDNiZmFjNXAtNCwKKyAgICAtMHgxLjAzZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIC0weDEuZTcxN2RlN2RhMmNlODMxMDY2YmFkMWRmNWU4OGEwMzBwMCwKKyAgICAweDEuMDcwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuZTcxN2RlN2RhMmNlODMxMDY2YmFkMWRmNWU4OGEwMzBwMCwKKyAgICAtMHgxLjA3MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgLTB4MS44Yzg5NmY2MDdmZjUyYmJhZTg2ZjYzZTE5YTk4OGQyYnAtMSwKKyAgICAweDEuMDcwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTE5CisgICAgMHgxLjhjODk2ZjYwN2ZmNTJiYmFlODZmNjNlMTlhOTg4ZDJicC0xLAorICAgIC0weDEuMDcwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwCisgICAgMHgxLmZmZmZmZmZmZjVkODQ2YWY2ZjAxNzI2MmM5YzgxZGU0cC0xLAorICAgIDB4MS4wN2U0Y2VmNGNiYjBlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAtMHgxLmZmZmZmZmZmZjVkODQ2YWY2ZjAxNzI2MmM5YzgxZGU0cC0xLAorICAgIC0weDEuMDdlNGNlZjRjYmIwZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmI0NzZkMzJjMWI3NDU3ZmZmZjY2ZWRiM2Y3OGE3MDAzcDAsCisgICAgMHgxLjBhNTNhNzhiMTNhYjJwMAorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIC0weDEuYjQ3NmQzMmMxYjc0NTdmZmZmNjZlZGIzZjc4YTcwMDNwMCwKKyAgICAtMHgxLjBhNTNhNzhiMTNhYjJwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNAorICAgIDB4MS5mMmRmN2MwMmQyMGNkODFiMzMxMTdjMDA1NDVmN2E2YnAtMSwKKyAgICAweDEuMGFmYmMyNjhiOTg0OHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS5mMmRmN2MwMmQyMGNkODFiMzMxMTdjMDA1NDVmN2E2YnAtMSwKKyAgICAtMHgxLjBhZmJjMjY4Yjk4NDhwNgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIC0weDEuYjU3MWFmNTYyZjA4YTVhMDNkZDg0OTM5OTBiMjlkYjFwMCwKKyAgICAweDEuMGNkNWQ0MzViZWE2ZHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmI1NzFhZjU2MmYwOGE1YTAzZGQ4NDkzOTkwYjI5ZGIxcDAsCisgICAgLTB4MS4wY2Q1ZDQzNWJlYTZkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAtMHgxLmFjNzNkMjkyMGE3OTU1MzM2YWIyYTM0MzZjNzdjMjc2cDAsCisgICAgMHgxLjBlMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgMHgxLmFjNzNkMjkyMGE3OTU1MzM2YWIyYTM0MzZjNzdjMjc2cDAsCisgICAgLTB4MS4wZTBwMQorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIC0weDEuMTI2ZGNlOGFjN2M4MTgwMDBjZmNmM2RmMDY2YTRhMmRwLTEsCisgICAgMHgxLjEwODYyMTA4NDIxMDhwNQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS4xMjZkY2U4YWM3YzgxODAwMGNmY2YzZGYwNjZhNGEyZHAtMSwKKyAgICAtMHgxLjEwODYyMTA4NDIxMDhwNQorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuOTY4MGMwMjYwMTA0NmNhNTA2YzBlM2Y3NDRkYjFkMGFwMCwKKyAgICAweDEuMTEwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzMKKyAgICAweDEuOTY4MGMwMjYwMTA0NmNhNTA2YzBlM2Y3NDRkYjFkMGFwMCwKKyAgICAtMHgxLjExMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgMHgxLmQxZTcxNjkzNDQ2OWIyYmMwMmZhODM1YWUwMTQ5ZjU4cDAsCisgICAgMHgxLjExOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgLTB4MS5kMWU3MTY5MzQ0NjliMmJjMDJmYTgzNWFlMDE0OWY1OHAwLAorICAgIC0weDEuMTE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLjZhYTczMTAxNDMwODM3ZmZmZmZlYmFhZmQ0NWY3ZWZhcC0xLAorICAgIDB4MS4xOWRmMzg5ZjM5ZTBhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAweDEuNmFhNzMxMDE0MzA4MzdmZmZmZmViYWFmZDQ1ZjdlZmFwLTEsCisgICAgLTB4MS4xOWRmMzg5ZjM5ZTBhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuY2I5YTk5MjI3YmRjOTcyY2Q0MTQ1OTY5YzNkYzM4YzFwMSwKKyAgICAweDEuMWMzNTk4MjExMDEzYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5jYjlhOTkyMjdiZGM5NzJjZDQxNDU5NjljM2RjMzhjMXAxLAorICAgIC0weDEuMWMzNTk4MjExMDEzYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS5iYzEwOWMzZTYxNzI0NTBhNTMwOGI0YzZlYjI4OThjYXA3LAorICAgIDB4MS4xZDY1YWE0MjI0YzMwcDExOAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIDB4MS5iYzEwOWMzZTYxNzI0NTBhNTMwOGI0YzZlYjI4OThjYXA3LAorICAgIC0weDEuMWQ2NWFhNDIyNGMzMHAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAtMHgxLjA5YjM5M2Y0OGIyYzY3ZmZmZjNiZDU1OWM2MzI2ZTYwcC0xLAorICAgIDB4MS4xZTQ2NTgyNzJkYzZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAweDEuMDliMzkzZjQ4YjJjNjdmZmZmM2JkNTU5YzYzMjZlNjBwLTEsCisgICAgLTB4MS4xZTQ2NTgyNzJkYzZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuMjAwMDAwMDAwMDA3OTgwMDAwMDAwMDNkODI2NjY2NjZwLTIyLAorICAgIDB4MS4ycC0yMgorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuMjAwMDAwMDAwMDA3OTgwMDAwMDAwMDNkODI2NjY2NjZwLTIyLAorICAgIC0weDEuMnAtMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDYKKyAgICAtMHgxLjAyYTMzNWIwMDcwN2E3ZmZmZmJlNDU1YWRhYjdlODE0cDAsCisgICAgMHgxLjIxMjc0MDk2MjBjYWNwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAweDEuMDJhMzM1YjAwNzA3YTdmZmZmYmU0NTVhZGFiN2U4MTRwMCwKKyAgICAtMHgxLjIxMjc0MDk2MjBjYWNwOTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAweDEuMjUwOGI5YzEyNzNhYzAzNGMzYzc5YzQwODhlMmFjZmRwLTQsCisgICAgMHgxLjI0ODkyMjQ4OTIyNDhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLjI1MDhiOWMxMjczYWMwMzRjM2M3OWM0MDg4ZTJhY2ZkcC00LAorICAgIC0weDEuMjQ4OTIyNDg5MjI0OHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5mZGVkNWY1M2QxMzJkMjZhODI0NGE2M2Y5YmNkZjE1M3AyLAorICAgIDB4MS4yYTUyZDExOWRhMDYxcDIzNworICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZmRlZDVmNTNkMTMyZDI2YTgyNDRhNjNmOWJjZGYxNTNwMiwKKyAgICAtMHgxLjJhNTJkMTE5ZGEwNjFwMjM3CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLjJkZTU2YTZlZjljNWQ3ZTljNzEwMzA0MDc1MzBmMWQ3cC00LAorICAgIDB4MS4yZDU5ZWJhYjhkYWU0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTUzCisgICAgLTB4MS4yZGU1NmE2ZWY5YzVkN2U5YzcxMDMwNDA3NTMwZjFkN3AtNCwKKyAgICAtMHgxLjJkNTllYmFiOGRhZTRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuMzE2NjVlYjE5MWZiYTgwMGI3ZTcxNWZkMTE3MTZjOGNwLTQsCisgICAgMHgxLjMwZDVmOGU1NGI2ZDhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjMxNjY1ZWIxOTFmYmE4MDBiN2U3MTVmZDExNzE2YzhjcC00LAorICAgIC0weDEuMzBkNWY4ZTU0YjZkOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIDB4MS4zY2MxZDRkMjhiZmQxN2ZkZWQ5YWU1MDQwNzU5MGYzZnAtMiwKKyAgICAweDEuMzMzMjc1ZDYzZWM1MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuM2NjMWQ0ZDI4YmZkMTdmZGVkOWFlNTA0MDc1OTBmM2ZwLTIsCisgICAgLTB4MS4zMzMyNzVkNjNlYzUwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgMHgxLjNjYzIzN2MwYzdkY2JmZmYxMDQ2YWQ5YTA2OGFmNTEwcC0yLAorICAgIDB4MS4zMzMyZDAyMGI2ZGE5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS4zY2MyMzdjMGM3ZGNiZmZmMTA0NmFkOWEwNjhhZjUxMHAtMiwKKyAgICAtMHgxLjMzMzJkMDIwYjZkYTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjAKKyAgICAweDEuNWU0NzJlMTY5OTlkZjAwMDAwZmMwNmVlNDc0ZmJmYzlwLTEsCisgICAgMHgxLjMzMzMzMzQwMWU2NmJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjVlNDcyZTE2OTk5ZGYwMDAwMGZjMDZlZTQ3NGZiZmM5cC0xLAorICAgIC0weDEuMzMzMzMzNDAxZTY2YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5iNWVkMWMyMDgwYTk4N2ZjODRmMjZlYzk1OGIyYWM0N3AtMSwKKyAgICAweDEuMzhmMTM3Y2I5ZGJmY3A5CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5iNWVkMWMyMDgwYTk4N2ZjODRmMjZlYzk1OGIyYWM0N3AtMSwKKyAgICAtMHgxLjM4ZjEzN2NiOWRiZmNwOQorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS4wMWFhMjJlMjEzM2QzN2ZmZmZmMmEwYzA4MDkzMzU4ZXAxLAorICAgIDB4MS4zOWEzODNmM2ZhMDAzcDg1CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS4wMWFhMjJlMjEzM2QzN2ZmZmZmMmEwYzA4MDkzMzU4ZXAxLAorICAgIC0weDEuMzlhMzgzZjNmYTAwM3A4NQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mZmZmZmZmZmZmNTgyMzYzMjI4MTlkMDYwZWI2N2MzY3AtMSwKKyAgICAweDEuM2EyOGM1OWQ1NDMxMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5mZmZmZmZmZmZmNTgyMzYzMjI4MTlkMDYwZWI2N2MzY3AtMSwKKyAgICAtMHgxLjNhMjhjNTlkNTQzMTFwNAorICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS43MTY2Njg5ZDQ4MDNlODNkMmI2YjFkMTVmNWFjYTI2ZXAtMSwKKyAgICAweDEuNDAwMDAwMDAwM2ZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuNzE2NjY4OWQ0ODAzZTgzZDJiNmIxZDE1ZjVhY2EyNmVwLTEsCisgICAgLTB4MS40MDAwMDAwMDAzZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS5mZjdkMjdiMzdlYmEwODE5MTk5ZTUzM2NjNTAxNmYwZHAtMSwKKyAgICAweDEuNDA3MjRhNDQ3MTRjZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLmZmN2QyN2IzN2ViYTA4MTkxOTllNTMzY2M1MDE2ZjBkcC0xLAorICAgIC0weDEuNDA3MjRhNDQ3MTRjZnA1CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLjQ1M2E3ZDI5ZGFkYWQ3YzBkZGE3OGE3Mzk4YmUwODczcC00LAorICAgIDB4MS40NDhjMmQ2ZTFlMWFmcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS40NTNhN2QyOWRhZGFkN2MwZGRhNzhhNzM5OGJlMDg3M3AtNCwKKyAgICAtMHgxLjQ0OGMyZDZlMWUxYWZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLmE1MGY3NjAxNDEzZTUzYWIxYzVhMmYwZDY3NmMzOTdjcDAsCisgICAgMHgxLjQ3OGZjMDhwNDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAweDEuYTUwZjc2MDE0MTNlNTNhYjFjNWEyZjBkNjc2YzM5N2NwMCwKKyAgICAtMHgxLjQ3OGZjMDhwNDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAtMHgxLmE5OTkxYWNiNzYzNmJlZWU1YjFhNWQzNWE4YTg5OTE3cC00LAorICAgIDB4MS40ZTkzYmVlNzJiNTY1cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgMHgxLmE5OTkxYWNiNzYzNmJlZWU1YjFhNWQzNWE4YTg5OTE3cC00LAorICAgIC0weDEuNGU5M2JlZTcyYjU2NXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4yOTUyMzk2OTQ1OTQ3YjcyNmViZjAyNWE4YmEwNzA5M3AxLAorICAgIDB4MS40ZjBmMzA4cDQ4OAorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIC0weDEuMjk1MjM5Njk0NTk0N2I3MjZlYmYwMjVhOGJhMDcwOTNwMSwKKyAgICAtMHgxLjRmMGYzMDhwNDg4CisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjUwNzhjZWJmZjljNzI4MDAwMDAwMDAwMDAwMDI0ZGY4cC01LAorICAgIDB4MS41MDQ4NmIyZjg3MDE0cC01CisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS41MDc4Y2ViZmY5YzcyODAwMDAwMDAwMDAwMDAyNGRmOHAtNSwKKyAgICAtMHgxLjUwNDg2YjJmODcwMTRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLjFjOTI5YjZlZGU5ZWU4MDAwMDQwYTNkMWNhOTBhOWY0cC0xLAorICAgIDB4MS41MTMwZDU1MmYxMDM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAweDEuMWM5MjliNmVkZTllZTgwMDAwNDBhM2QxY2E5MGE5ZjRwLTEsCisgICAgLTB4MS41MTMwZDU1MmYxMDM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODQKKyAgICAweDEuMmFiMzE4OWUyZDRhZTQxYzFhZmYzY2MzMGNmZWRkMzBwMSwKKyAgICAweDEuNTJmMDBlMHA3OTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODUKKyAgICAtMHgxLjJhYjMxODllMmQ0YWU0MWMxYWZmM2NjMzBjZmVkZDMwcDEsCisgICAgLTB4MS41MmYwMGUwcDc5MworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIC0weDEuN2QyZTYzZmI5ODg5MDdhMTA5MDkxZDEzMGY5ZjIwZDFwMCwKKyAgICAweDEuNTM3MTY4NGU1ZmIzNHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLjdkMmU2M2ZiOTg4OTA3YTEwOTA5MWQxMzBmOWYyMGQxcDAsCisgICAgLTB4MS41MzcxNjg0ZTVmYjM0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAtMHgxLmY5ZjRmMGRhNGRlNTQ0OTkyODNhOGFjMmY1NWY3MjU4cC0xLAorICAgIDB4MS41NGVmMjIwODk1NnAyMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAweDEuZjlmNGYwZGE0ZGU1NDQ5OTI4M2E4YWMyZjU1ZjcyNThwLTEsCisgICAgLTB4MS41NGVmMjIwODk1NnAyMzkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTAKKyAgICAweDEuMTQ4MzA3MzE0MmU2MDgwMDhmODg0OWRhZjVmOGM1OGRwMiwKKyAgICAweDEuNTdlNTkwYWYwOTAxNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS4xNDgzMDczMTQyZTYwODAwOGY4ODQ5ZGFmNWY4YzU4ZHAyLAorICAgIC0weDEuNTdlNTkwYWYwOTAxNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTkyCisgICAgMHgxLjk5NzJkNDAyMWM5NzE1NjM5MzYwNTVkOGMxZWFhZTBhcC0xLAorICAgIDB4MS41OTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLjk5NzJkNDAyMWM5NzE1NjM5MzYwNTVkOGMxZWFhZTBhcC0xLAorICAgIC0weDEuNTk2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5lNTAxZmZkM2E2OGMzODMzNmQ5NzdmNjM0MzI2YTM0MnAtMiwKKyAgICAweDEuNTk4MTI5Mzc4M2UxZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgMHgxLmU1MDFmZmQzYTY4YzM4MzM2ZDk3N2Y2MzQzMjZhMzQycC0yLAorICAgIC0weDEuNTk4MTI5Mzc4M2UxZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLjE2MDRjYzNkZmM0MTgxYzNlOTQ4MTU1ODQ2N2E4NWZlcC0xLAorICAgIDB4MS41YmVhMDEwcDQ2OAorICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEuMTYwNGNjM2RmYzQxODFjM2U5NDgxNTU4NDY3YTg1ZmVwLTEsCisgICAgLTB4MS41YmVhMDEwcDQ2OAorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuZjc2Y2E1MGJiYmFlYjAxMmJlYWRlMmEzMjhlNWZjMDNwLTEsCisgICAgMHgxLjYwNjYxYzE5Njk2NjZwMgorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIDB4MS5mNzZjYTUwYmJiYWViMDEyYmVhZGUyYTMyOGU1ZmMwM3AtMSwKKyAgICAtMHgxLjYwNjYxYzE5Njk2NjZwMgorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS5jZDhiNzNjOTQzMGZlZjc1ZGM3MTBmZmRmZTA5MWI0MnAwLAorICAgIDB4MS42MmM1YTg1MGExNDJhcDU5CisgIH0sCisgIHsgLy8gRW50cnkgMjAxCisgICAgLTB4MS5jZDhiNzNjOTQzMGZlZjc1ZGM3MTBmZmRmZTA5MWI0MnAwLAorICAgIC0weDEuNjJjNWE4NTBhMTQyYXA1OQorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIDB4MS4zYWNjZmQ0NTNlZTY3Mjk2MDg4Mzc4ZjU4MmVhY2IwMnAwLAorICAgIDB4MS42NGVmNDM4cDE0MgorICB9LAorICB7IC8vIEVudHJ5IDIwMworICAgIC0weDEuM2FjY2ZkNDUzZWU2NzI5NjA4ODM3OGY1ODJlYWNiMDJwMCwKKyAgICAtMHgxLjY0ZWY0MzhwMTQyCisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgLTB4MS5hY2Q5MzAyZDcyZGU0YmQ4ZGRhOGY1NjUwYjc3ZTczMnAtMSwKKyAgICAweDEuNjU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAweDEuYWNkOTMwMmQ3MmRlNGJkOGRkYThmNTY1MGI3N2U3MzJwLTEsCisgICAgLTB4MS42NThwMgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5mMDA0Zjg3NWMyZTczODE1OWM3ZDc1YTM5ODBjYWZkN3AtMSwKKyAgICAweDEuNjYwM2M2NWQzNDhkMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5mMDA0Zjg3NWMyZTczODE1OWM3ZDc1YTM5ODBjYWZkN3AtMSwKKyAgICAtMHgxLjY2MDNjNjVkMzQ4ZDJwNQorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS5mNTM0OTZlNmQ3ZjcxODFhNjJmZWM0YzhhNzEwOTAwZXAtMSwKKyAgICAweDEuNjYwZTZiZjJlMDkyYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgLTB4MS5mNTM0OTZlNmQ3ZjcxODFhNjJmZWM0YzhhNzEwOTAwZXAtMSwKKyAgICAtMHgxLjY2MGU2YmYyZTA5MmFwNQorICB9LAorICB7IC8vIEVudHJ5IDIxMAorICAgIDB4MS5iNjRlZTI0ZjAxMTljODAwZDVkMGJiMTBhMzlhY2E0ZXAtMSwKKyAgICAweDEuNmE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS5iNjRlZTI0ZjAxMTljODAwZDVkMGJiMTBhMzlhY2E0ZXAtMSwKKyAgICAtMHgxLjZhOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuZDliYTlhNzk3NTYzNWEzYWNjMzI0ZTZhZWRhNDUxMzNwNjAsCisgICAgMHgxLjZhYzViMjYyY2ExZmZwODQ5CisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLmQ5YmE5YTc5NzU2MzVhM2FjYzMyNGU2YWVkYTQ1MTMzcDYwLAorICAgIC0weDEuNmFjNWIyNjJjYTFmZnA4NDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuYjZmNTU3Yjk5OWUyMmUwZGIxMGE5MmI5MDhlODc3ZjZwLTEsCisgICAgMHgxLjZhZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuYjZmNTU3Yjk5OWUyMmUwZGIxMGE5MmI5MDhlODc3ZjZwLTEsCisgICAgLTB4MS42YWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuYzFlMWQ1YzRjMGYwNzdmYzg3MWQ0YmQwYTAzYzY0MzFwLTEsCisgICAgMHgxLjZjZGIzNmNkYjM2YzlwMjM5CisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgLTB4MS5jMWUxZDVjNGMwZjA3N2ZjODcxZDRiZDBhMDNjNjQzMXAtMSwKKyAgICAtMHgxLjZjZGIzNmNkYjM2YzlwMjM5CisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLjk1YmNlNGY1Nzg2OTc4MDc4YzMxMDIxMGRjZWQ2ZjNmcC0xLAorICAgIDB4MS42ZjFhZjE2MTIyNzBhcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLjk1YmNlNGY1Nzg2OTc4MDc4YzMxMDIxMGRjZWQ2ZjNmcC0xLAorICAgIC0weDEuNmYxYWYxNjEyMjcwYXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLjcxMWU4ZjVmZmZiYTFmNTk5NTk1ZmJhYWM1YjcwZTBicC00LAorICAgIDB4MS43MDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAtMHgxLjcxMWU4ZjVmZmZiYTFmNTk5NTk1ZmJhYWM1YjcwZTBicC00LAorICAgIC0weDEuNzAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLmZiNTg5OGYyOWJiMjU3ZmRhNmYyYmVkZmM0OTFhYmFlcDIsCisgICAgMHgxLjcyMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgLTB4MS5mYjU4OThmMjliYjI1N2ZkYTZmMmJlZGZjNDkxYWJhZXAyLAorICAgIC0weDEuNzIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAtMHgxLmZmOWI3NzEyODRkMjMyOTBjZGQ4MzcxN2NjOTA1NzczcDEsCisgICAgMHgxLjczNDhjMzQ3ZGRjMjBwMjM5CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLmZmOWI3NzEyODRkMjMyOTBjZGQ4MzcxN2NjOTA1NzczcDEsCisgICAgLTB4MS43MzQ4YzM0N2RkYzIwcDIzOQorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5mNzJkNDdhMDA4MGUyZDNkMDQwODYzZDU2ZGJiNTY3ZXAtMiwKKyAgICAweDEuNzM5Y2U3MzljZTczOHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLmY3MmQ0N2EwMDgwZTJkM2QwNDA4NjNkNTZkYmI1NjdlcC0yLAorICAgIC0weDEuNzM5Y2U3MzljZTczOHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAweDEuNzY0NDFlN2Y4ZWE1ZjgwMDAwMDFkMWM1Yzg0ZjEwNGVwLTQsCisgICAgMHgxLjc1M2FjYzNkM2ZmMzVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAtMHgxLjc2NDQxZTdmOGVhNWY4MDAwMDAxZDFjNWM4NGYxMDRlcC00LAorICAgIC0weDEuNzUzYWNjM2QzZmYzNXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5jZTNmNjQyZTE1YWYzYzkyMWRkNzEyOWRiNWUzOTM0MnAtMSwKKyAgICAweDEuNzdmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzMQorICAgIC0weDEuY2UzZjY0MmUxNWFmM2M5MjFkZDcxMjlkYjVlMzkzNDJwLTEsCisgICAgLTB4MS43N2ZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLmY0MjUwMDJhNTQ4ZWI0MDU0NTA5NzBhMzUzZDMwN2Y3cDQyLAorICAgIDB4MS43OGZkYjllZmZlYTI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAtMHgxLmY0MjUwMDJhNTQ4ZWI0MDU0NTA5NzBhMzUzZDMwN2Y3cDQyLAorICAgIC0weDEuNzhmZGI5ZWZmZWEyNnA0CisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgLTB4MS5kYmM4MGRlN2RkMDQyYTkzNzFlMWI0NTcxOGU1MWJhYnAtMSwKKyAgICAweDEuN2E1Zjc0NjA3ZTg1MXAxOQorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5kYmM4MGRlN2RkMDQyYTkzNzFlMWI0NTcxOGU1MWJhYnAtMSwKKyAgICAtMHgxLjdhNWY3NDYwN2U4NTFwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuN2IzYmIzZDBiM2NhNDJmMTMyMDc4NDI4OTllMGJhNzFwNDIsCisgICAgMHgxLjdmN2VmNzdlODNmMWFwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLjdiM2JiM2QwYjNjYTQyZjEzMjA3ODQyODk5ZTBiYTcxcDQyLAorICAgIC0weDEuN2Y3ZWY3N2U4M2YxYXAxOQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5lN2YwNWI3MWNkMmQwZmI0ZGY2YTQzMzc1Y2Q4ZjY3MHAzMywKKyAgICAweDEuN2Y3ZjEwYTA3ZjQ1ZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIC0weDEuZTdmMDViNzFjZDJkMGZiNGRmNmE0MzM3NWNkOGY2NzBwMzMsCisgICAgLTB4MS43ZjdmMTBhMDdmNDVlcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgMHgxLjgwMDAwMDAwMDAwMDM4MDAwMDAwMDAwMDA3MzMzMzMzcC0yNSwKKyAgICAweDEuN2ZmZmZmZmZmZmZmZnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDM4MDAwMDAwMDAwMDA3MzMzMzMzcC0yNSwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjQyCisgICAgMHgxLjgwMDAwMDAwMDAwMDY4MDAwMDAwMDAwMDIyMzMzMzMzcC0yNSwKKyAgICAweDEuODAwMDAwMDAwMDAwMnAtMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDY4MDAwMDAwMDAwMDIyMzMzMzMzcC0yNSwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDJwLTI1CisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjI0MjQ1YWY0Y2Q5OTRlOWIzYmJhOTkyZDEwMTYzNjVicC01MiwKKyAgICAweDEuODFhZTBkZmZhM2IzM3A5NTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAtMHgxLjI0MjQ1YWY0Y2Q5OTRlOWIzYmJhOTkyZDEwMTYzNjVicC01MiwKKyAgICAtMHgxLjgxYWUwZGZmYTNiMzNwOTU5CisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLmQ3MjI2MWQ5OGUyNmI3ZmZhMzAwZDg5ZmQ0NmZiNzc1cC0xLAorICAgIDB4MS44NDZiZDdhNGRjZTU1cDY5OAorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIC0weDEuZDcyMjYxZDk4ZTI2YjdmZmEzMDBkODlmZDQ2ZmI3NzVwLTEsCisgICAgLTB4MS44NDZiZDdhNGRjZTU1cDY5OAorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS40MmQ4YTFiYTQ0MWFkNDAyOGFjN2YxYTZhNWVlMGM1NHAxLAorICAgIDB4MS44NzIwNTg4cDM5MgorICB9LAorICB7IC8vIEVudHJ5IDI0OQorICAgIC0weDEuNDJkOGExYmE0NDFhZDQwMjhhYzdmMWE2YTVlZTBjNTRwMSwKKyAgICAtMHgxLjg3MjA1ODhwMzkyCisgIH0sCisgIHsgLy8gRW50cnkgMjUwCisgICAgMHgxLmVhN2I0NDRjZDc5OGQ3ZmFlZWZmMDkzZjFkOTk3MWFkcC0xLAorICAgIDB4MS44NzIyYTY3ZWExNGFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgLTB4MS5lYTdiNDQ0Y2Q3OThkN2ZhZWVmZjA5M2YxZDk5NzFhZHAtMSwKKyAgICAtMHgxLjg3MjJhNjdlYTE0YWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAtMHgxLmM3ZGM3ZjA4ZGJiYTA4OWYyZDdlODkwMDIxYmVkY2I3cC0xLAorICAgIDB4MS44OTkzNmM4ODI4ZDM4cDI5OQorICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5jN2RjN2YwOGRiYmEwODlmMmQ3ZTg5MDAyMWJlZGNiN3AtMSwKKyAgICAtMHgxLjg5OTM2Yzg4MjhkMzhwMjk5CisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLjU2OTY1M2UzMTliYmE4MDAwMDBjODM2MzJlNDNhYmRlcDEsCisgICAgMHgxLjhhNjkxMDZmYjk3OThwNgorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuNTY5NjUzZTMxOWJiYTgwMDAwMGM4MzYzMmU0M2FiZGVwMSwKKyAgICAtMHgxLjhhNjkxMDZmYjk3OThwNgorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIDB4MS5mMmRiMjE0NjlmM2Q1ODE5ZmE5YmE4ZGNjYmZmOTE0YXAtMSwKKyAgICAweDEuOGI3NzdlMWQyMzA4Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIC0weDEuZjJkYjIxNDY5ZjNkNTgxOWZhOWJhOGRjY2JmZjkxNGFwLTEsCisgICAgLTB4MS44Yjc3N2UxZDIzMDhjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU4CisgICAgMHgxLmYzNjg4YmMyNTk0ZTIwMTAyNTczY2ZmNDgxOTBhYzI4cC0xLAorICAgIDB4MS44YmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLmYzNjg4YmMyNTk0ZTIwMTAyNTczY2ZmNDgxOTBhYzI4cC0xLAorICAgIC0weDEuOGJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLjhkM2EyNTQ0NTY2ZGY3YjU1OWI0YWM0OGUxMmVhYzcxcC00LAorICAgIDB4MS44YmZkMjI3NGQ4NTFhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS44ZDNhMjU0NDU2NmRmN2I1NTliNGFjNDhlMTJlYWM3MXAtNCwKKyAgICAtMHgxLjhiZmQyMjc0ZDg1MWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjIKKyAgICAweDEuZjQ1NzVjYzRlNDc3ZjAxOWRhYjVkMDEwM2FhZjkxY2ZwLTEsCisgICAgMHgxLjhjM2E0NTAwNzFkZDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAtMHgxLmY0NTc1Y2M0ZTQ3N2YwMTlkYWI1ZDAxMDNhYWY5MWNmcC0xLAorICAgIC0weDEuOGMzYTQ1MDA3MWRkOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIC0weDEuMWUwOWY2NmM0MjUwYjk0ZTkwMzBjYWRkMDA4NTExNThwMTEsCisgICAgMHgxLjhjYzBkZDJiMGY0YjhwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLjFlMDlmNjZjNDI1MGI5NGU5MDMwY2FkZDAwODUxMTU4cDExLAorICAgIC0weDEuOGNjMGRkMmIwZjRiOHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuZjcxNDk2Y2I5MjFlNWE0ZDJmMzkwNDZhNjI4YjY1MDlwLTEsCisgICAgMHgxLjhkYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIC0weDEuZjcxNDk2Y2I5MjFlNWE0ZDJmMzkwNDZhNjI4YjY1MDlwLTEsCisgICAgLTB4MS44ZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEuZjcxYjRhNjU5MTE2OTgxOTQ3NmU2Yjc1OWM3YWFlNTJwLTEsCisgICAgMHgxLjhkYTM2OGRhMzY4ZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAtMHgxLmY3MWI0YTY1OTExNjk4MTk0NzZlNmI3NTljN2FhZTUycC0xLAorICAgIC0weDEuOGRhMzY4ZGEzNjhkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MAorICAgIDB4MS5mZjliNjhjY2FkYjJmZjYyYzI2ODY0Mjg4ZWQ2YTRkZnAtMSwKKyAgICAweDEuOTFlZDY0Yjk3N2E5YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIC0weDEuZmY5YjY4Y2NhZGIyZmY2MmMyNjg2NDI4OGVkNmE0ZGZwLTEsCisgICAgLTB4MS45MWVkNjRiOTc3YTlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLjAwMDAwMDAwMjkwNDg0Nzc5ZmE0OTFjNzI4YWVmOTQ1cDE4LAorICAgIDB4MS45MjFmNzU0NDQyZDE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAtMHgxLjAwMDAwMDAwMjkwNDg0Nzc5ZmE0OTFjNzI4YWVmOTQ1cDE4LAorICAgIC0weDEuOTIxZjc1NDQ0MmQxOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgMHgxLmVlZjA2N2FmZDMyOGYzMTFjZTJjN2ExZjQyMGE1OTgzcDQ4LAorICAgIDB4MS45MjFmYjU0NDQyZDEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAtMHgxLmVlZjA2N2FmZDMyOGYzMTFjZTJjN2ExZjQyMGE1OTgzcDQ4LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLjAwMDAwMDAwMDNhZjJmMjIzZWIxZTcwOWNiYTAwZWMzcC0xNywKKyAgICAweDEuOTIxZmY1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS4wMDAwMDAwMDAzYWYyZjIyM2ViMWU3MDljYmEwMGVjM3AtMTcsCisgICAgLTB4MS45MjFmZjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAtMHgxLmI2NzcyY2I2NjdkYzE4N2I3ZDAxOWQxZDcyMzJjOWU3cDE3LAorICAgIDB4MS45MjJwMAorICB9LAorICB7IC8vIEVudHJ5IDI3OQorICAgIDB4MS5iNjc3MmNiNjY3ZGMxODdiN2QwMTlkMWQ3MjMyYzllN3AxNywKKyAgICAtMHgxLjkyMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgLTB4MS5mZmZmZmZmY2VlZWZlNzkxYmUyMDc0Nzc5ZmQxZGQ5ZXAtMSwKKyAgICAweDEuOTIyMDcxYzMxZmM5OXAyMAorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS5mZmZmZmZmY2VlZWZlNzkxYmUyMDc0Nzc5ZmQxZGQ5ZXAtMSwKKyAgICAtMHgxLjkyMjA3MWMzMWZjOTlwMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAweDEuOWQ3YzEzNTRiYTZmNzgxYzhiMDQ0MDgwOTRmNDUyODRwLTMsCisgICAgMHgxLjk3ZmZmZmZmZmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAtMHgxLjlkN2MxMzU0YmE2Zjc4MWM4YjA0NDA4MDk0ZjQ1Mjg0cC0zLAorICAgIC0weDEuOTdmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIDB4MS45YWY4ODc3YmI0NWU0N2ZmZmZlOTYxMDg0YjJjMGJlYXAtNCwKKyAgICAweDEuOTk5OTk5YTEwYTEzY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDI4NQorICAgIC0weDEuOWFmODg3N2JiNDVlNDdmZmZmZTk2MTA4NGIyYzBiZWFwLTQsCisgICAgLTB4MS45OTk5OTlhMTBhMTNjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5iNmNlMTI4NTg3Y2QwN2ZmZmY3NTdhYmRhMjk0YzE1MXA0LAorICAgIDB4MS45Yjc0NDQ2ZWQwNWRjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuYjZjZTEyODU4N2NkMDdmZmZmNzU3YWJkYTI5NGMxNTFwNCwKKyAgICAtMHgxLjliNzQ0NDZlZDA1ZGNwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDB4MS5mZjY1YWVmNTRjOGZjODA0Mjg0MTA3MWI0NWI2ZDdkOXAtMSwKKyAgICAweDEuOWVhZTQ5NGQyYjI3NXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZjY1YWVmNTRjOGZjODA0Mjg0MTA3MWI0NWI2ZDdkOXAtMSwKKyAgICAtMHgxLjllYWU0OTRkMmIyNzVwNAorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIDB4MS42MTc3NmFhNDA3YTQzN2Y2MTdmY2FkYjE1YzdmNjFjMnAtMywKKyAgICAweDEuYTgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLjYxNzc2YWE0MDdhNDM3ZjYxN2ZjYWRiMTVjN2Y2MWMycC0zLAorICAgIC0weDEuYTgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTIKKyAgICAweDEuYjYwMDFkZTEzYWQ5NTgwMDczYWNiYTRhYTQyM2UyZDlwLTMsCisgICAgMHgxLmFmOHAtMworICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIC0weDEuYjYwMDFkZTEzYWQ5NTgwMDczYWNiYTRhYTQyM2UyZDlwLTMsCisgICAgLTB4MS5hZjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEuYjVhMDUwM2FlMzU0YjdhMTZmN2M1MGY4YjNiZWYyY2FwLTQsCisgICAgMHgxLmIzZjhlYTdiMWY5MWJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAtMHgxLmI1YTA1MDNhZTM1NGI3YTE2ZjdjNTBmOGIzYmVmMmNhcC00LAorICAgIC0weDEuYjNmOGVhN2IxZjkxYnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5iNWEwNTAzYWU0YzdiNzkyNTM3MzI3ZjQyNDVhYzZmYnAtNCwKKyAgICAweDEuYjNmOGVhN2IyMTAwOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIC0weDEuYjVhMDUwM2FlNGM3Yjc5MjUzNzMyN2Y0MjQ1YWM2ZmJwLTQsCisgICAgLTB4MS5iM2Y4ZWE3YjIxMDA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgMHgxLjA1NzU4NGM0MjliM2E2ZWEwYTY1Y2FmZjk4NjM0NDkwcDU5LAorICAgIDB4MS5iOTUxZjE1NzJlYmE1cDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTB4MS4wNTc1ODRjNDI5YjNhNmVhMGE2NWNhZmY5ODYzNDQ5MHA1OSwKKyAgICAtMHgxLmI5NTFmMTU3MmViYTVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLjlhMjgyZmExZmY3ZDk4MDM5YmUzYmY1YjM5Y2M2ZDg5cDIsCisgICAgMHgxLmI5Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgMHgxLjlhMjgyZmExZmY3ZDk4MDM5YmUzYmY1YjM5Y2M2ZDg5cDIsCisgICAgLTB4MS5iOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIC0weDEuMDI3ZDE4NGFmYjE5ODRjYTFkMjFiMWFjOTMxMTE4ODdwLTUyLAorICAgIDB4MS5iYWI2MmVkNjU1MDE5cDk3MAorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS4wMjdkMTg0YWZiMTk4NGNhMWQyMWIxYWM5MzExMTg4N3AtNTIsCisgICAgLTB4MS5iYWI2MmVkNjU1MDE5cDk3MAorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDB4MS5jYTZlZmRmODQ1ZDZjN2ZmZmViYWVhMWFmYmY3ZTk2MXAyLAorICAgIDB4MS5iZWExYjM1ZjNjYjZkcDg0CisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTB4MS5jYTZlZmRmODQ1ZDZjN2ZmZmViYWVhMWFmYmY3ZTk2MXAyLAorICAgIC0weDEuYmVhMWIzNWYzY2I2ZHA4NAorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIDB4MS5mZDg3YjM0NzQ3Yjc0NmI4YjY1N2NhYzc5N2MwODcwZHA0MiwKKyAgICAweDEuYzQ2M2FiZWNjYjI3YnAzCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTB4MS5mZDg3YjM0NzQ3Yjc0NmI4YjY1N2NhYzc5N2MwODcwZHA0MiwKKyAgICAtMHgxLmM0NjNhYmVjY2IyN2JwMworICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDB4MS5mZmZmZmZmZmZmZmZiMDk0NTQxYTI0NjFlNzM0ZGFlZXAtMSwKKyAgICAweDEuYzQ2M2FiZWNjYjJiYnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzA5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZiMDk0NTQxYTI0NjFlNzM0ZGFlZXAtMSwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmJwMgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDB4MS5mYjA1NzAyOWFjZmQxN2ZmZmZmYTVhYzgyMDRmMDgwM3AtMSwKKyAgICAweDEuYzZjYmUyNmI3YjQ1ZnA4NgorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0weDEuZmIwNTcwMjlhY2ZkMTdmZmZmZmE1YWM4MjA0ZjA4MDNwLTEsCisgICAgLTB4MS5jNmNiZTI2YjdiNDVmcDg2CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMHgxLmM4ZDVhMDhiZTQwYzIwcC0xMTcsCisgICAgMHgxLmM4ZDVhMDhiZTQwYzJwLTExNworICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuYzhkNWEwOGJlNDBjMjBwLTExNywKKyAgICAtMHgxLmM4ZDVhMDhiZTQwYzJwLTExNworICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDB4MS5lNWRmZmQ3ZjA2Y2IzNzU0OTMzY2VhNTc4ZGVhYWQzNnAtMiwKKyAgICAweDEuY2FkNGU5ODI3YTJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTB4MS5lNWRmZmQ3ZjA2Y2IzNzU0OTMzY2VhNTc4ZGVhYWQzNnAtMiwKKyAgICAtMHgxLmNhZDRlOTgyN2EyYmVwMQorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS5lNmJlMzc4YjFiNGViNzY1OGU4NWFkMGFmMzM4MzZhOXAtMiwKKyAgICAweDEuY2FlYjk0MGU0Yjk5N3AxCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS5lNmJlMzc4YjFiNGViNzY1OGU4NWFkMGFmMzM4MzZhOXAtMiwKKyAgICAtMHgxLmNhZWI5NDBlNGI5OTdwMQorICB9LAorICB7IC8vIEVudHJ5IDMxOAorICAgIDB4MS5lNzJiZDAyNWExZmQ1NzY1Zjg1MzQ2OWE4NWFlN2I3ZHAtMiwKKyAgICAweDEuY2FmNmMwNGVjZDAzNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS5lNzJiZDAyNWExZmQ1NzY1Zjg1MzQ2OWE4NWFlN2I3ZHAtMiwKKyAgICAtMHgxLmNhZjZjMDRlY2QwMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIDB4MS5lODQ0YjNkN2NiZTQzNzVjMjhlMzIyZGE2YmE1ZDdkOHAtMiwKKyAgICAweDEuY2IxMzVlYzFjOTU2ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS5lODQ0YjNkN2NiZTQzNzVjMjhlMzIyZGE2YmE1ZDdkOHAtMiwKKyAgICAtMHgxLmNiMTM1ZWMxYzk1NmVwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDB4MS5kZDM4YTFmMWQyODliNjE3MzExNTcyMWJjNWMxZmM3MnAtNTQsCisgICAgMHgxLmNiNDRlODZiYzE5MmJwNjQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5kZDM4YTFmMWQyODliNjE3MzExNTcyMWJjNWMxZmM3MnAtNTQsCisgICAgLTB4MS5jYjQ0ZTg2YmMxOTJicDY0OAorICB9LAorICB7IC8vIEVudHJ5IDMyNAorICAgIDB4MS5kZDM4YTFmMWQyODliNjE3MzExNTcyMWJjNjI5YTIzZHAtNTMsCisgICAgMHgxLmNiNDRlODZiYzE5MmJwNjQ5CisgIH0sCisgIHsgLy8gRW50cnkgMzI1CisgICAgLTB4MS5kZDM4YTFmMWQyODliNjE3MzExNTcyMWJjNjI5YTIzZHAtNTMsCisgICAgLTB4MS5jYjQ0ZTg2YmMxOTJicDY0OQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIC0weDEuZmZmNmU3NTUzMjBlZDc4ZGI0ZDZlZmY0YmY2YTZiMTBwMSwKKyAgICAweDEuY2I2MWFmZWRiMmIzY3AxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjcKKyAgICAweDEuZmZmNmU3NTUzMjBlZDc4ZGI0ZDZlZmY0YmY2YTZiMTBwMSwKKyAgICAtMHgxLmNiNjFhZmVkYjJiM2NwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgMHgxLmNjZGY0YWE2YzIyOGY4MDQxYmU5MWExNDJlMGUyNzFicC03LAorICAgIDB4MS5jY2Q3ODM0YmEzODA0cC03CisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5jY2RmNGFhNmMyMjhmODA0MWJlOTFhMTQyZTBlMjcxYnAtNywKKyAgICAtMHgxLmNjZDc4MzRiYTM4MDRwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzAKKyAgICAweDEuY2VlNTAwMTZmYzJkODgzNzI4NmJmNmZkNDMxYTdiM2JwLTQsCisgICAgMHgxLmNjZjA1OTlkYTQ3OGVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLmNlZTUwMDE2ZmMyZDg4MzcyODZiZjZmZDQzMWE3YjNicC00LAorICAgIC0weDEuY2NmMDU5OWRhNDc4ZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDMzMgorICAgIDB4MS40NGNmM2VlOGE3NWE4N2NjNjY1N2U2MmY5NGE5M2U2ZnAwLAorICAgIDB4MS5jZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzMKKyAgICAtMHgxLjQ0Y2YzZWU4YTc1YTg3Y2M2NjU3ZTYyZjk0YTkzZTZmcDAsCisgICAgLTB4MS5jZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzQKKyAgICAweDEuNDVhYTEyZmY5ODE1MjgwMDAwMWZiZDg3OTlhOTZhMmNwMCwKKyAgICAweDEuY2YyNzZjOWNiOWFmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIC0weDEuNDVhYTEyZmY5ODE1MjgwMDAwMWZiZDg3OTlhOTZhMmNwMCwKKyAgICAtMHgxLmNmMjc2YzljYjlhZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzYKKyAgICAweDEuZjliYzc0NGY2MWUwZWQ4NTM4MjllMmY3NjViOGExMmNwLTQsCisgICAgMHgxLmQyZTk3OTE0OGE0NThwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAtMHgxLmY5YmM3NDRmNjFlMGVkODUzODI5ZTJmNzY1YjhhMTJjcC00LAorICAgIC0weDEuZDJlOTc5MTQ4YTQ1OHA2MQorICB9LAorICB7IC8vIEVudHJ5IDMzOAorICAgIDB4MS42ZTcwZjllZGJkMWEwODJhZTZmOTBjNjJlZjRmMzFkZHAtMiwKKyAgICAweDEuZDZiNWFkNmI1YWI2OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLjZlNzBmOWVkYmQxYTA4MmFlNmY5MGM2MmVmNGYzMWRkcC0yLAorICAgIC0weDEuZDZiNWFkNmI1YWI2OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDAKKyAgICAweDEuMTNlOWM2YTM0OGU0YTdiZWRlODI3MjQ1MDUyNjlmNjhwMiwKKyAgICAweDEuZDk2ZTA1OHA0ODgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDEKKyAgICAtMHgxLjEzZTljNmEzNDhlNGE3YmVkZTgyNzI0NTA1MjY5ZjY4cDIsCisgICAgLTB4MS5kOTZlMDU4cDQ4OAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIC0weDEuZDM1NTQ2M2MyMzAzNTgyZmEzMWEzMjM4ZGNiZTU2MGVwLTUsCisgICAgMHgxLmRkMTBmMjUxNzFiYzlwNQorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS5kMzU1NDYzYzIzMDM1ODJmYTMxYTMyMzhkY2JlNTYwZXAtNSwKKyAgICAtMHgxLmRkMTBmMjUxNzFiYzlwNQorICB9LAorICB7IC8vIEVudHJ5IDM0NAorICAgIDB4MS5kZGYyMWViZjZmYzkyN2ZmZmZmYmIzZWNjMGNmZjY2ZXAtNiwKKyAgICAweDEuZGRjZjZlNTY2OTZhNHAtNgorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIC0weDEuZGRmMjFlYmY2ZmM5MjdmZmZmZmJiM2VjYzBjZmY2NmVwLTYsCisgICAgLTB4MS5kZGNmNmU1NjY5NmE0cC02CisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgMHgxLjVjYjBiZmMxNTU4MDA3ZTBjNWQwOTVmNzI5ZTM0MjdicDAsCisgICAgMHgxLmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDcKKyAgICAtMHgxLjVjYjBiZmMxNTU4MDA3ZTBjNWQwOTVmNzI5ZTM0MjdicDAsCisgICAgLTB4MS5lcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLTB4MS45N2I1ZThhZTlhMjFjN2Y0ODIxOTIyYmM1YjM3ODJjY3AxLAorICAgIDB4MS5lcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDkKKyAgICAweDEuOTdiNWU4YWU5YTIxYzdmNDgyMTkyMmJjNWIzNzgyY2NwMSwKKyAgICAtMHgxLmVwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIC0weDEuZjhiZjY4ZDBjMjNmMzc0MWVmYjhiZDk5ODUzYmFlOGFwMCwKKyAgICAweDEuZTc3OWRlNzc5ZGU3MXAxMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuZjhiZjY4ZDBjMjNmMzc0MWVmYjhiZDk5ODUzYmFlOGFwMCwKKyAgICAtMHgxLmU3NzlkZTc3OWRlNzFwMTE4CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS5mZmZmZmZmZmZkNzFjZjkzNGVmM2U1ZGY0MDA4NjY1ZnAtMSwKKyAgICAweDEuZWIwNTY3YmVkMWY3MXAxMgorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS5mZmZmZmZmZmZkNzFjZjkzNGVmM2U1ZGY0MDA4NjY1ZnAtMSwKKyAgICAtMHgxLmViMDU2N2JlZDFmNzFwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTQKKyAgICAweDEuZWU3ODhkMWNjNzk1NDg0MTg3ODQ3M2FhNWQyNjE1YTVwLTQsCisgICAgMHgxLmVjMTZmMzBhMzRmYmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTUKKyAgICAtMHgxLmVlNzg4ZDFjYzc5NTQ4NDE4Nzg0NzNhYTVkMjYxNWE1cC00LAorICAgIC0weDEuZWMxNmYzMGEzNGZiY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDM1NgorICAgIDB4MS5lZmRhZDkzOGI0YjBlODM0MDE0YmY1NmE3MDg0Njc1ZHAtNCwKKyAgICAweDEuZWQ3NDI0YmEyYWE0ZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIC0weDEuZWZkYWQ5MzhiNGIwZTgzNDAxNGJmNTZhNzA4NDY3NWRwLTQsCisgICAgLTB4MS5lZDc0MjRiYTJhYTRlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgMHgxLmRhMzQ3NjA3OTQ4ZjQ3ZmZlZjIxNjk3MTYxZmQzY2RkcC0xLAorICAgIDB4MS5lZTllZGE1ODkwMzkwcDQ5OQorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuZGEzNDc2MDc5NDhmNDdmZmVmMjE2OTcxNjFmZDNjZGRwLTEsCisgICAgLTB4MS5lZTllZGE1ODkwMzkwcDQ5OQorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIDB4MS5mNjgyZDI3YThiZTg3Zjc4M2Q0OTQ4NTdiNmYzMGUwNXAwLAorICAgIDB4MS5mNGZmMGQ3YjNhYzEwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIC0weDEuZjY4MmQyN2E4YmU4N2Y3ODNkNDk0ODU3YjZmMzBlMDVwMCwKKyAgICAtMHgxLmY0ZmYwZDdiM2FjMTBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgLTB4MS5mZmQzNmE3NTNjZWQ5MDI3YzkzODQ1YWRkZTA0NjI0NnAtMSwKKyAgICAweDEuZjVhODE0YWZkNjlmNXAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuZmZkMzZhNzUzY2VkOTAyN2M5Mzg0NWFkZGUwNDYyNDZwLTEsCisgICAgLTB4MS5mNWE4MTRhZmQ2OWY1cDExOQorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIC0weDEuMGZhNzcwMWQwNTliNTFkZTA1ZGY1OGFkZTI2YmVjNWNwLTksCisgICAgMHgxLmY4ZmM4MjRkMjY5M2JwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAweDEuMGZhNzcwMWQwNTliNTFkZTA1ZGY1OGFkZTI2YmVjNWNwLTksCisgICAgLTB4MS5mOGZjODI0ZDI2OTNicDYxCisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgLTB4MS5hZmUzODc1YmQzYWZlODAxZjE0OWQwYTlhZDM2ZjQ1M3AtNCwKKyAgICAweDEuZjliZTZmOWJlNmY5OHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzY3CisgICAgMHgxLmFmZTM4NzViZDNhZmU4MDFmMTQ5ZDBhOWFkMzZmNDUzcC00LAorICAgIC0weDEuZjliZTZmOWJlNmY5OHA5CisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLmZkMTAzMmU4MmRlYWI3YmFiYTk5YzkxM2RlZTEwYjlhcC00LAorICAgIDB4MS5mYTc3NWNkMjY0ZjQzcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS5mZDEwMzJlODJkZWFiN2JhYmE5OWM5MTNkZWUxMGI5YXAtNCwKKyAgICAtMHgxLmZhNzc1Y2QyNjRmNDNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzAKKyAgICAweDEuZmVhOGM2N2RkNDZjYTgzY2E0OWFiOWVjZDAzNjA3MzlwLTQsCisgICAgMHgxLmZjMDliNDc0MDJkODJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLmZlYThjNjdkZDQ2Y2E4M2NhNDlhYjllY2QwMzYwNzM5cC00LAorICAgIC0weDEuZmMwOWI0NzQwMmQ4MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIC0weDEuOTAyMGNhZjE4YTg3NDM4MTI3YTg1ZDFmMGEzZDQyMDVwLTEsCisgICAgMHgxLmZlZWZmZmZmZmZmYzZwOTk1CisgIH0sCisgIHsgLy8gRW50cnkgMzczCisgICAgMHgxLjkwMjBjYWYxOGE4NzQzODEyN2E4NWQxZjBhM2Q0MjA1cC0xLAorICAgIC0weDEuZmVlZmZmZmZmZmZjNnA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuYWYxMzViZWIwZjI4MTdmYmE3NzIwNGE1YjFiNjc2NmJwMCwKKyAgICAweDEuZmYwMWZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5hZjEzNWJlYjBmMjgxN2ZiYTc3MjA0YTViMWI2NzY2YnAwLAorICAgIC0weDEuZmYwMWZmZmZmZmZmZnA3CisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgLTB4MS5mZDk3NTMyZWZkODliMjZiYzI5NGIyN2UwYTE5NTZiOXAzLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcDU0MAorICB9LAorICB7IC8vIEVudHJ5IDM3NworICAgIDB4MS5mZDk3NTMyZWZkODliMjZiYzI5NGIyN2UwYTE5NTZiOXAzLAorICAgIC0weDEuZmY4ZmZmZmZmZmZmZnA1NDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzgKKyAgICAtMHgxLmNjMzJjYjkzMzgxODExMWU2ZGRmMDBjNWM3OWNiYzg4cC0xLAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcDg3MAorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS5jYzMyY2I5MzM4MTgxMTFlNmRkZjAwYzVjNzljYmM4OHAtMSwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwODcwCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgLTB4MS44NjU5ZDNlMmI1MmI4ODA2NjhhYzhiNGI5ZmFlOTUzOHAtMSwKKyAgICAweDEuZmZjMTBwOQorICB9LAorICB7IC8vIEVudHJ5IDM4MQorICAgIDB4MS44NjU5ZDNlMmI1MmI4ODA2NjhhYzhiNGI5ZmFlOTUzOHAtMSwKKyAgICAtMHgxLmZmYzEwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODIKKyAgICAtMHgxLmI2NjA2NmZiODEyZWUyN2RiYjYyM2ExYTEzNTNlMDYycC0yLAorICAgIDB4MS5mZmNmZmY4cDE5CisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLmI2NjA2NmZiODEyZWUyN2RiYjYyM2ExYTEzNTNlMDYycC0yLAorICAgIC0weDEuZmZjZmZmOHAxOQorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIC0weDEuNTIwZWJkMzJlMWQ4ZWNkMzhiZmNkNmE1N2UxYTM3N2ZwMSwKKyAgICAweDEuZmZjZmZmOHAzNjUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAweDEuNTIwZWJkMzJlMWQ4ZWNkMzhiZmNkNmE1N2UxYTM3N2ZwMSwKKyAgICAtMHgxLmZmY2ZmZjhwMzY1CisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjQ4OTgxM2MyNGQxM2IwMGFiNjk2MjdkODU4YmI2M2I1cDAsCisgICAgMHgxLmZmY2ZmZmZmZmZmNmNwNzIwCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgLTB4MS40ODk4MTNjMjRkMTNiMDBhYjY5NjI3ZDg1OGJiNjNiNXAwLAorICAgIC0weDEuZmZjZmZmZmZmZmY2Y3A3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODgKKyAgICAweDEuNDEzZTYzZjdkZDYwN2VmM2M4NDIyYTQ5MGFmMmRjMzBwMCwKKyAgICAweDEuZmZjZmZmZmZmZmZmOXAzMjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAtMHgxLjQxM2U2M2Y3ZGQ2MDdlZjNjODQyMmE0OTBhZjJkYzMwcDAsCisgICAgLTB4MS5mZmNmZmZmZmZmZmY5cDMyMAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIC0weDEuZmMzOTI4YTM5YjY1Mjg0ZDRjN2VmM2I2YTJlZGM4ZjFwLTIsCisgICAgMHgxLmZmY2ZmZmZmZmZmZmZwOTkwCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgMHgxLmZjMzkyOGEzOWI2NTI4NGQ0YzdlZjNiNmEyZWRjOGYxcC0yLAorICAgIC0weDEuZmZjZmZmZmZmZmZmZnA5OTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAtMHgxLjlhZDcwZDI4NGYxNmQ1OWRjYWEwYWI5ZmI3N2Q3NDkwcC0xLAorICAgIDB4MS5mZmVmZmZmZmZmZmNjcDk5NQorICB9LAorICB7IC8vIEVudHJ5IDM5MworICAgIDB4MS45YWQ3MGQyODRmMTZkNTlkY2FhMGFiOWZiNzdkNzQ5MHAtMSwKKyAgICAtMHgxLmZmZWZmZmZmZmZmY2NwOTk1CisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLmFhZDZlZmZjYjY3ODM4MjZkZTdiMjRkYmE1MDFjMTFjcC0zLAorICAgIDB4MS5mZmVmZmZmZmZmZmZkcDM2NgorICB9LAorICB7IC8vIEVudHJ5IDM5NQorICAgIC0weDEuYWFkNmVmZmNiNjc4MzgyNmRlN2IyNGRiYTUwMWMxMWNwLTMsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZkcDM2NgorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS5jODg2NDVmOWQxMTllYzIwMzA3MjRhNGNlNGU2ZWJiYXAyLAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcDE4MAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuYzg4NjQ1ZjlkMTE5ZWMyMDMwNzI0YTRjZTRlNmViYmFwMiwKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwMTgwCisgIH0sCisgIHsgLy8gRW50cnkgMzk4CisgICAgMHgxLjEzMWFhN2I5ZDRhYTA3ZmY1ODQwYWMxZThmYjQyMzYwcDIsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwMjMxCisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS4xMzFhYTdiOWQ0YWEwN2ZmNTg0MGFjMWU4ZmI0MjM2MHAyLAorICAgIC0weDEuZmZlZmZmZmZmZmZmZnAyMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuZjY3MTcxOWJlNTBkMWQ0ZGViZTg1YzkyMmUxZTI5MTNwLTMsCisgICAgMHgxLmZmZWZmZmZmZmZmZmZwMTAxOQorICB9LAorICB7IC8vIEVudHJ5IDQwMQorICAgIC0weDEuZjY3MTcxOWJlNTBkMWQ0ZGViZTg1YzkyMmUxZTI5MTNwLTMsCisgICAgLTB4MS5mZmVmZmZmZmZmZmZmcDEwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAweDEuZmYwNzhhMmQyZDg3MWFjMWYzMjc2NWU5ZGI2NDRlYjFwLTEsCisgICAgMHgxLmZmZjFmZmZmZmZmZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDMKKyAgICAtMHgxLmZmMDc4YTJkMmQ4NzFhYzFmMzI3NjVlOWRiNjQ0ZWIxcC0xLAorICAgIC0weDEuZmZmMWZmZmZmZmZmZnA0MAorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIDB4MS4wNzg0YjA0ZmM0MmE1OWU3N2Y4NWQ5OTY3ZGE2Nzc1ZHA5LAorICAgIDB4MS5mZmYxZmZmZmZmZmZmcDQxCisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgLTB4MS4wNzg0YjA0ZmM0MmE1OWU3N2Y4NWQ5OTY3ZGE2Nzc1ZHA5LAorICAgIC0weDEuZmZmMWZmZmZmZmZmZnA0MQorICB9LAorICB7IC8vIEVudHJ5IDQwNgorICAgIDB4MS44ZWIyMmRkMTY3YTM3YWQyMWRkZjFlNjk3MzRlOWNlMnAwLAorICAgIDB4MS5mZmZmZjFmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgLTB4MS44ZWIyMmRkMTY3YTM3YWQyMWRkZjFlNjk3MzRlOWNlMnAwLAorICAgIC0weDEuZmZmZmYxZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIC0weDEuMjJlNzM0NmZkM2RkYTU1M2IxNDZjMzdmNjExMjdhNGNwMSwKKyAgICAweDEuZmZmZmZmOHAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDkKKyAgICAweDEuMjJlNzM0NmZkM2RkYTU1M2IxNDZjMzdmNjExMjdhNGNwMSwKKyAgICAtMHgxLmZmZmZmZjhwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgNDEwCisgICAgLTB4MS5kYjBiM2IwMTlmMTc1YmVkNWJjZjFhNTYwMmRiMDBhZnAtMywKKyAgICAweDEuZmZmZmZmOHAxOTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuZGIwYjNiMDE5ZjE3NWJlZDViY2YxYTU2MDJkYjAwYWZwLTMsCisgICAgLTB4MS5mZmZmZmY4cDE5MgorICB9LAorICB7IC8vIEVudHJ5IDQxMgorICAgIDB4MS4wNmI2YmVkZTkxMDI1N2YzMTVhNTA4M2E5YWIyYjY1MHAtMSwKKyAgICAweDEuZmZmZmZmOHA1NDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTMKKyAgICAtMHgxLjA2YjZiZWRlOTEwMjU3ZjMxNWE1MDgzYTlhYjJiNjUwcC0xLAorICAgIC0weDEuZmZmZmZmOHA1NDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAtMHgxLjQwZjAyYTE1ZGZhM2Q3ZmYzZTJhNDU1M2YxOWNiMmQwcDEsCisgICAgMHgxLmZmZmZmZmZmYmJmZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTUKKyAgICAweDEuNDBmMDJhMTVkZmEzZDdmZjNlMmE0NTUzZjE5Y2IyZDBwMSwKKyAgICAtMHgxLmZmZmZmZmZmYmJmZmZwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAweDEuYWI2MDExMmVmNGZkZGZmM2Y1YTI2OTBjN2QzZWE2ZWZwLTIsCisgICAgMHgxLmZmZmZmZmZmZjdmZmZwMjMxCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgLTB4MS5hYjYwMTEyZWY0ZmRkZmYzZjVhMjY5MGM3ZDNlYTZlZnAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZjdmZmZwMjMxCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgMHgxLjM1YTk5MjllZWFmZDcwZjA3MTJhYmUyYTUxMTg1NGExcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmNzhwOTIwCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgLTB4MS4zNWE5OTI5ZWVhZmQ3MGYwNzEyYWJlMmE1MTE4NTRhMXAwLAorICAgIC0weDEuZmZmZmZmZmZmZmY3OHA5MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAweDEuNDYzMDI5OGYzYjk5MzI4NzIwNWRjMGI4OWIwNjAxZTBwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZkNXA5OTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLjQ2MzAyOThmM2I5OTMyODcyMDVkYzBiODliMDYwMWUwcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmQ1cDk5NQorICB9LAorICB7IC8vIEVudHJ5IDQyMgorICAgIC0weDEuOTQ3MmUwNDUxMjlmZGJhNjM3OTE3MTI0MTZlYzk2MTNwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZThwNzIwCisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLjk0NzJlMDQ1MTI5ZmRiYTYzNzkxNzEyNDE2ZWM5NjEzcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZlOHA3MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAweDEuNDJlNTg2ZGFhMWI0MjhmYzA1ODA4ODhmMmZjNDY4OTNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZlYnA5MjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAtMHgxLjQyZTU4NmRhYTFiNDI4ZmMwNTgwODg4ZjJmYzQ2ODkzcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmVicDkyMAorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIC0weDEuYmZjNDM2Yjk0Mzc0YjVmMTZiNjBlYTY5Y2Q4ODM5OTJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZjFwMjQ1CisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLmJmYzQzNmI5NDM3NGI1ZjE2YjYwZWE2OWNkODgzOTkycC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmMXAyNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjgKKyAgICAweDEuMzUxMTdkNGE0ZjFlNGJiMjJmZGQwMzE2NGEzNjRjY2ZwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmNHA4NDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAtMHgxLjM1MTE3ZDRhNGYxZTRiYjIyZmRkMDMxNjRhMzY0Y2NmcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmY0cDg0NQorICB9LAorICB7IC8vIEVudHJ5IDQzMAorICAgIC0weDEuYmZkZDkyOTI3OThhYWE3ODljM2RmMGRmNzcyOTgzNWFwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZjRwMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS5iZmRkOTI5Mjc5OGFhYTc4OWMzZGYwZGY3NzI5ODM1YXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjRwMTAyMAorICB9LAorICB7IC8vIEVudHJ5IDQzMgorICAgIC0weDEuOWI3NjhjY2RhZTZlYmI3MGI0NWFjMTRlOTJiM2Q1YzhwOSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3A0NQorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS45Yjc2OGNjZGFlNmViYjcwYjQ1YWMxNGU5MmIzZDVjOHA5LAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3A0NQorICB9LAorICB7IC8vIEVudHJ5IDQzNAorICAgIDB4MS5mZWNhMDQ3ZjI3MzBmNzM5NWQ5NWY0NjljY2I1YTVkM3AtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3A0NzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAtMHgxLmZlY2EwNDdmMjczMGY3Mzk1ZDk1ZjQ2OWNjYjVhNWQzcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3A0NzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzYKKyAgICAtMHgxLjQ0OWYxNWNjOTQ1NTk3ZmY1OGYyNDI2YWNiZmY5YzYycC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcDk3NgorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS40NDlmMTVjYzk0NTU5N2ZmNThmMjQyNmFjYmZmOWM2MnAtMiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmNwOTc2CisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLmZmZmM1OGRhMDc5NTFjYmUyMmM5NmQ3M2IxMjg5ZTFlcC0yLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDg4MQorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIC0weDEuZmZmYzU4ZGEwNzk1MWNiZTIyYzk2ZDczYjEyODllMWVwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDg4MQorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIC0weDEuYzFjOTE5NWVjMjNhYTY0ZGYxNDVkZDI2OWNkODk1ZThwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwOTcwCisgIH0sCisgIHsgLy8gRW50cnkgNDQxCisgICAgMHgxLmMxYzkxOTVlYzIzYWE2NGRmMTQ1ZGQyNjljZDg5NWU4cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA5NzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAweDEuM2NjMWVkMzkwNmQyZjdmZGQ2MzNjZjRlYjA2ZjNmMTlwLTIsCisgICAgMHgxLjMzMzI4YzFiMzczMjFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDMKKyAgICAtMHgxLjNjYzFlZDM5MDZkMmY3ZmRkNjMzY2Y0ZWIwNmYzZjE5cC0yLAorICAgIC0weDEuMzMzMjhjMWIzNzMyMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDYKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTAKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTEKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTIKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNDUzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS5wLTEwMjIsCisgICAgMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTgKKyAgICAtMHgxLnAtMTAyMiwKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS45OTk5OTlmMGZiMzhjNjEyMmExZmE4ZTA0M2JiMDdjMnAtMTMsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTEzCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS45OTk5OTlmMGZiMzhjNjEyMmExZmE4ZTA0M2JiMDdjMnAtMTMsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS45OTk5OWFmNzIwMTc0NGI4MjNlNWIyNzBmZDFhYTM5ZHAtMTIsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgLTB4MS45OTk5OWFmNzIwMTc0NGI4MjNlNWIyNzBmZDFhYTM5ZHAtMTIsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMgorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS4zMzMzMzU4MTA2MmEzOGYwNGRmMDI0MTQyZGRhYTA1ZHAtMTEsCisgICAgMHgxLjMzMzMzMzMzMzMzMzRwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgLTB4MS4zMzMzMzU4MTA2MmEzOGYwNGRmMDI0MTQyZGRhYTA1ZHAtMTEsCisgICAgLTB4MS4zMzMzMzMzMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS45OTk5OWYwZmIzYTBmOWQ4ODczOGJlMmZmN2FmOWFhYXAtMTEsCisgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTExCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgLTB4MS45OTk5OWYwZmIzYTBmOWQ4ODczOGJlMmZmN2FmOWFhYXAtMTEsCisgICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDQ2OQorICAgIDB4MS4wMDAwMDU1NTU1Nzc3Nzc4NTQ4NTRkZWRjMjhlYWQ1MXAtMTAsCisgICAgMHgxLjBwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgLTB4MS4wMDAwMDU1NTU1Nzc3Nzc4NTQ4NTRkZWRjMjhlYWQ1MXAtMTAsCisgICAgLTB4MS4wcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIDB4MS4zMzMzM2M2YTdmNGVjNzM4NTMxNTFjZDc2Yjc5ZTEzNXAtMTAsCisgICAgMHgxLjMzMzMzMzMzMzMzMzNwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDcyCisgICAgLTB4MS4zMzMzM2M2YTdmNGVjNzM4NTMxNTFjZDc2Yjc5ZTEzNXAtMTAsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIDB4MS42NjY2NzUwOGUwYTFiNTAyMjg3MDM0ZDM2YmY0ZTNkNXAtMTAsCisgICAgMHgxLjY2NjY2NjY2NjY2NjZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc0CisgICAgLTB4MS42NjY2NzUwOGUwYTFiNTAyMjg3MDM0ZDM2YmY0ZTNkNXAtMTAsCisgICAgLTB4MS42NjY2NjY2NjY2NjY2cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIDB4MS45OTk5YWY3MjAyYzM2NmYxZTBiNTQ4YTMxYzQxZDIxMHAtMTAsCisgICAgMHgxLjk5OTk5OTk5OTk5OTlwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgLTB4MS45OTk5YWY3MjAyYzM2NmYxZTBiNTQ4YTMxYzQxZDIxMHAtMTAsCisgICAgLTB4MS45OTk5OTk5OTk5OTk5cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIDB4MS5jY2NjZWJlNzZmMTAyZmY2MzNjNWYwMmEzNDA3NjY4N3AtMTAsCisgICAgMHgxLmNjY2NjY2NjY2NjY2NwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgNDc4CisgICAgLTB4MS5jY2NjZWJlNzZmMTAyZmY2MzNjNWYwMmEzNDA3NjY4N3AtMTAsCisgICAgLTB4MS5jY2NjY2NjY2NjY2NjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIDB4MS4wNjY3ZDVmY2YzZDA3OGY5NDA2ODdlYjk3NDMxMGZiOXAtNywKKyAgICAweDEuMDY2NjY2NjY2NjY2NnAtNworICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIC0weDEuMDY2N2Q1ZmNmM2QwNzhmOTQwNjg3ZWI5NzQzMTBmYjlwLTcsCisgICAgLTB4MS4wNjY2NjY2NjY2NjY2cC03CisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgMHgxLmNjZDQ5MzlkMGNjZDc2NDZiM2Y4MWI3NTUzNjc1YzIzcC03LAorICAgIDB4MS5jY2NjY2NjY2NjY2NjcC03CisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgLTB4MS5jY2Q0OTM5ZDBjY2Q3NjQ2YjNmODFiNzU1MzY3NWMyM3AtNywKKyAgICAtMHgxLmNjY2NjY2NjY2NjY2NwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODMKKyAgICAweDEuNDlhNGZjMDJhZDE5M2U4ZTk0YzRiMjQyOTE5MGI1YjJwLTYsCisgICAgMHgxLjQ5OTk5OTk5OTk5OTlwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAtMHgxLjQ5YTRmYzAyYWQxOTNlOGU5NGM0YjI0MjkxOTBiNWIycC02LAorICAgIC0weDEuNDk5OTk5OTk5OTk5OXAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIDB4MS5hY2U1ZGVkNWY2YmU2OThmNTY2OTdhYzc2MWYzZGM2OXAtNiwKKyAgICAweDEuYWNjY2NjY2NjY2NjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDQ4NgorICAgIC0weDEuYWNlNWRlZDVmNmJlNjk4ZjU2Njk3YWM3NjFmM2RjNjlwLTYsCisgICAgLTB4MS5hY2NjY2NjY2NjY2NjcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDg3CisgICAgMHgxLjA4MTc2N2ZkM2NiNjg1ZjdiMDY5MTQ2Y2UzMzMzODUxcC01LAorICAgIDB4MS4wODBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAtMHgxLjA4MTc2N2ZkM2NiNjg1ZjdiMDY5MTQ2Y2UzMzMzODUxcC01LAorICAgIC0weDEuMDgwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLjM5YzBkNmRlYTY2ZmI2ZDI4NmQ0MDNjMjkyNTI3MzU2cC01LAorICAgIDB4MS4zOTk5OTk5OTk5OTlhcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDkwCisgICAgLTB4MS4zOWMwZDZkZWE2NmZiNmQyODZkNDAzYzI5MjUyNzM1NnAtNSwKKyAgICAtMHgxLjM5OTk5OTk5OTk5OWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTEKKyAgICAweDEuNmI3MDJiOTU0YmMxZDU4M2M0YTQ2NzczYzJjMmExNWRwLTUsCisgICAgMHgxLjZiMzMzMzMzMzMzMzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAtMHgxLjZiNzAyYjk1NGJjMWQ1ODNjNGE0Njc3M2MyYzJhMTVkcC01LAorICAgIC0weDEuNmIzMzMzMzMzMzMzNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIDB4MS45ZDI2NTYxOGRkMGM2ODhlMDQ5YzYxMDkwZDNlM2ZlMnAtNSwKKyAgICAweDEuOWNjY2NjY2NjY2NjZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ5NAorICAgIC0weDEuOWQyNjU2MThkZDBjNjg4ZTA0OWM2MTA5MGQzZTNmZTJwLTUsCisgICAgLTB4MS45Y2NjY2NjY2NjY2NlcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDk1CisgICAgMHgxLmNlZTQ0NmU0Y2ZkNGJlNjkwMGY0YjkwNmNhOTcyNWIxcC01LAorICAgIDB4MS5jZTY2NjY2NjY2NjY2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNDk2CisgICAgLTB4MS5jZWU0NDZlNGNmZDRiZTY5MDBmNGI5MDZjYTk3MjViMXAtNSwKKyAgICAtMHgxLmNlNjY2NjY2NjY2NjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTcKKyAgICAweDEuYTFlYWVkZDVhNDMxM2U5ZDA4YmM3YmIxN2EyMjUzMWZwLTEsCisgICAgMHgxLjVlN2ZjNDM2OWJkYWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAtMHgxLmExZWFlZGQ1YTQzMTNlOWQwOGJjN2JiMTdhMjI1MzFmcC0xLAorICAgIC0weDEuNWU3ZmM0MzY5YmRhZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIDB4MS5kOTNiOGFhZDQyNGRlMGU0M2ZiMDRkNjc4MWJlODFhM3AxLAorICAgIDB4MS40ZTdmYzQzNjliZGFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAtMHgxLmQ5M2I4YWFkNDI0ZGUwZTQzZmIwNGQ2NzgxYmU4MWEzcDEsCisgICAgLTB4MS40ZTdmYzQzNjliZGFkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAtMHgxLjU2M2FjZjE1OGMyZWI2NzhkNzFiZTMxZTBmMzQ3NTRkcDEsCisgICAgMHgxLmVkYmZhNjUxZTljODRwMAorICB9LAorICB7IC8vIEVudHJ5IDUwMgorICAgIDB4MS41NjNhY2YxNThjMmViNjc4ZDcxYmUzMWUwZjM0NzU0ZHAxLAorICAgIC0weDEuZWRiZmE2NTFlOWM4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAzCisgICAgLTB4MS41NzZiNzc2MDlmMDg5MDMxM2MzNzFhMGEyYzU4MjE0NXAtMSwKKyAgICAweDEuNDY3ZmM0MzY5YmRhZHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTA0CisgICAgMHgxLjU3NmI3NzYwOWYwODkwMzEzYzM3MWEwYTJjNTgyMTQ1cC0xLAorICAgIC0weDEuNDY3ZmM0MzY5YmRhZHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLjAwMTU1Nzc3YWViZjZhZDQxYjM5YTgwOGVkNWMzMzg0cC01LAorICAgIDB4MS45NjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAtMHgxLjAwMTU1Nzc3YWViZjZhZDQxYjM5YTgwOGVkNWMzMzg0cC01LAorICAgIC0weDEuOTYxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTA3CisgICAgMHgxLjg3ZTk5NjZlN2QyMmQzNDhmZWM2Yzk1Zjg1MTc3NWY0cC0xLAorICAgIDB4MS5lNWJmYTY1MWU5YzgzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAtMHgxLjg3ZTk5NjZlN2QyMmQzNDhmZWM2Yzk1Zjg1MTc3NWY0cC0xLAorICAgIC0weDEuZTViZmE2NTFlOWM4M3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTA5CisgICAgMHgxLmE0OWU3ZDg5ODc4NTBmOWNhNWI5MzMyZTM5ZGNkODhmcDEsCisgICAgMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIC0weDEuYTQ5ZTdkODk4Nzg1MGY5Y2E1YjkzMzJlMzlkY2Q4OGZwMSwKKyAgICAtMHgxLjFhYWZjYmFmYzg1ZjdwMgorICB9LAorICB7IC8vIEVudHJ5IDUxMQorICAgIC0weDEuNzljZWQ4MTU2ZDA0MGVkZGU1YTZhYjYyMjU1ZTIyNjFwMSwKKyAgICAweDEuNDI3ZmM0MzY5YmRhZHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLjc5Y2VkODE1NmQwNDBlZGRlNWE2YWI2MjI1NWUyMjYxcDEsCisgICAgLTB4MS40MjdmYzQzNjliZGFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAtMHgxLjZmMWY2NWNkMWU5MWI1ZTVlYzFlMTIwZTllMGRkYzBhcC0xLAorICAgIDB4MS42YTRmYmNiZDZmNTYycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAweDEuNmYxZjY1Y2QxZTkxYjVlNWVjMWUxMjBlOWUwZGRjMGFwLTEsCisgICAgLTB4MS42YTRmYmNiZDZmNTYycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAtMHgxLjY3NzQ3ZDVmODQ0ZTFiMGM1MDNkNTFlN2JhMDMyZmZjcC0xLAorICAgIDB4MS42YWYyZWZmMGEyODk2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuNjc3NDdkNWY4NDRlMWIwYzUwM2Q1MWU3YmEwMzJmZmNwLTEsCisgICAgLTB4MS42YWYyZWZmMGEyODk2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTcKKyAgICAtMHgxLjYyNmEyNTg4MTVkMTgyMzUwNmQxNzA2OTEzMGViOWZicDEsCisgICAgMHgxLjQzYzYyYTlkMDI0MTRwMgorICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS42MjZhMjU4ODE1ZDE4MjM1MDZkMTcwNjkxMzBlYjlmYnAxLAorICAgIC0weDEuNDNjNjJhOWQwMjQxNHAyCisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgMHgxLmQ2YWRhZjgwZjhiMDUxZmJjN2FiOWYyZTA5ZThlNjA4cDEsCisgICAgMHgxLjFjOTk2NTQ5NjFmOTJwMgorICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIC0weDEuZDZhZGFmODBmOGIwNTFmYmM3YWI5ZjJlMDllOGU2MDhwMSwKKyAgICAtMHgxLjFjOTk2NTQ5NjFmOTJwMgorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS5hOTRkMWIyMTM3MGQ1MmJmY2Q5ZWM0MTdlNDFkNmU1YnAtMSwKKyAgICAweDEuZWFkOTNmZWI4MzYxZnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTIyCisgICAgLTB4MS5hOTRkMWIyMTM3MGQ1MmJmY2Q5ZWM0MTdlNDFkNmU1YnAtMSwKKyAgICAtMHgxLmVhZDkzZmViODM2MWZwMQorICB9LAorICB7IC8vIEVudHJ5IDUyMworICAgIDB4MS40Y2JhOWU3ODIyMjM0MGNhNDkzZjgwM2JiYzk0NzY1OXAtNCwKKyAgICAweDEuOWM3ZmI1NDQ0MmQxYXAxCisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgLTB4MS40Y2JhOWU3ODIyMjM0MGNhNDkzZjgwM2JiYzk0NzY1OXAtNCwKKyAgICAtMHgxLjljN2ZiNTQ0NDJkMWFwMQorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuMmNiNmQwMjYzNDUzMWE2ODM5YmY4OThjYzFmOTE4ZGVwLTEsCisgICAgMHgxLjRlMjYyYTlkMDI0MTVwMQorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS4yY2I2ZDAyNjM0NTMxYTY4MzliZjg5OGNjMWY5MThkZXAtMSwKKyAgICAtMHgxLjRlMjYyYTlkMDI0MTVwMQorICB9LAorICB7IC8vIEVudHJ5IDUyNworICAgIC0weDEuMThkOTExMjMwOGQ1Yjg5N2JhNDRjZmM1YzQ0MzczMTdwMSwKKyAgICAweDEuZmY5OTNmZWI4MzYyMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTI4CisgICAgMHgxLjE4ZDkxMTIzMDhkNWI4OTdiYTQ0Y2ZjNWM0NDM3MzE3cDEsCisgICAgLTB4MS5mZjk5M2ZlYjgzNjIwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjkKKyAgICAweDEuNTZmZTAxNDVjZjI5MDE5NzU4MjlkZGMzZmM3ODZkZjBwMiwKKyAgICAweDEuNjJlNjJhOWQwMjQxNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgLTB4MS41NmZlMDE0NWNmMjkwMTk3NTgyOWRkYzNmYzc4NmRmMHAyLAorICAgIC0weDEuNjJlNjJhOWQwMjQxNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgMHgxLmY0YWQzNTNhY2E0NTNmNjJiZWFlMDFjZDViMTNkNTBkcC0xLAorICAgIDB4MS44YzY2MmE5ZDAyNDE5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgLTB4MS5mNGFkMzUzYWNhNDUzZjYyYmVhZTAxY2Q1YjEzZDUwZHAtMSwKKyAgICAtMHgxLjhjNjYyYTlkMDI0MTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAweDEuNmE3ZTFmNjQwN2VlNjEzOTdkMDE2ZDY5MWJiNjFkMTdwMywKKyAgICAtMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIC0weDEuNmE3ZTFmNjQwN2VlNjEzOTdkMDE2ZDY5MWJiNjFkMTdwMywKKyAgICAweDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTM1CisgICAgMHgxLjBkNzE4Y2ZjODI0NjQ1MzZiZmQ2MjFiZTQxOWYwMDdjcDYsCisgICAgLTB4MS45NWVjOGI5ZTAzZDU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzYKKyAgICAtMHgxLjBkNzE4Y2ZjODI0NjQ1MzZiZmQ2MjFiZTQxOWYwMDdjcDYsCisgICAgMHgxLjk1ZWM4YjllMDNkNTRwMAorICB9LAorICB7IC8vIEVudHJ5IDUzNworICAgIC0weDEuMTFkODcxNDZjMmQ1YTE4MzJjMjRmM2Q4NzA1MmQ3ZWJwNCwKKyAgICAtMHgxLjgzMmVmYTJhNDM1YTlwMAorICB9LAorICB7IC8vIEVudHJ5IDUzOAorICAgIDB4MS4xMWQ4NzE0NmMyZDVhMTgzMmMyNGYzZDg3MDUyZDdlYnA0LAorICAgIDB4MS44MzJlZmEyYTQzNWE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtMHgxLmUzYTM3MjliM2U4NmUyMjIxZmE1ZjA0YWJmNjk5ZTZlcDIsCisgICAgLTB4MS43MDcxNjhiNjgyZGZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDAKKyAgICAweDEuZTNhMzcyOWIzZTg2ZTIyMjFmYTVmMDRhYmY2OTllNmVwMiwKKyAgICAweDEuNzA3MTY4YjY4MmRmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQxCisgICAgLTB4MS4zNDI5ZTYxYTVkMWYyZTgwZmJkMTM3MGQ0YTdjMmIxMHAyLAorICAgIC0weDEuNWRiM2Q3NDJjMjY1M3AwCisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLjM0MjllNjFhNWQxZjJlODBmYmQxMzcwZDRhN2MyYjEwcDIsCisgICAgMHgxLjVkYjNkNzQyYzI2NTNwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MworICAgIC0weDEuYzA4Y2FlYzVjZjk5NzI1ZTU3YzMyNzY2ZmIwODRjNWZwMSwKKyAgICAtMHgxLjRhZjY0NWNmMDFlYThwMAorICB9LAorICB7IC8vIEVudHJ5IDU0NAorICAgIDB4MS5jMDhjYWVjNWNmOTk3MjVlNTdjMzI3NjZmYjA4NGM1ZnAxLAorICAgIDB4MS40YWY2NDVjZjAxZWE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtMHgxLjVkNjAzZDc1MTc2N2VlNzBlOWEyZmY1NDk1OWZhNGE3cDEsCisgICAgLTB4MS4zODM4YjQ1YjQxNmZkcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuNWQ2MDNkNzUxNzY3ZWU3MGU5YTJmZjU0OTU5ZmE0YTdwMSwKKyAgICAweDEuMzgzOGI0NWI0MTZmZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ3CisgICAgLTB4MS4xYjQ4YTM1YjFiMjc3ZWZmYWJkNzI3OGI1MjU3MDhlZHAxLAorICAgIC0weDEuMjU3YjIyZTc4MGY1MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjFiNDhhMzViMWIyNzdlZmZhYmQ3Mjc4YjUyNTcwOGVkcDEsCisgICAgMHgxLjI1N2IyMmU3ODBmNTJwMAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuZDc0Y2FmOTkxMmRjN2Q5NjY5YjAwOTI2YWExYWRlMTFwMCwKKyAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMAorICB9LAorICB7IC8vIEVudHJ5IDU1MAorICAgIDB4MS5kNzRjYWY5OTEyZGM3ZDk2NjliMDA5MjZhYTFhZGUxMXAwLAorICAgIDB4MS4xMmJkOTE3M2MwN2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLjZiZTcwMmUxZjZjZDYwYmZkODZhZDg2MTgwZDE4NDkwcDAsCisgICAgLTB4MS5lYTVjM2VkNWIzODUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUyCisgICAgMHgxLjZiZTcwMmUxZjZjZDYwYmZkODZhZDg2MTgwZDE4NDkwcDAsCisgICAgMHgxLmVhNWMzZWQ1YjM4NTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLjRkMGRmMWZjMWQzNDg0YjAyNzUzN2Q4MTE3YTM5NWY0cDAsCisgICAgLTB4MS5kNGI4N2RhYjY3MGEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjRkMGRmMWZjMWQzNDg0YjAyNzUzN2Q4MTE3YTM5NWY0cDAsCisgICAgMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTUKKyAgICAtMHgxLjMxNmM4YjA2OGE3YWYyNTdmMWU1YTUxOTQzODM0ZjNlcDAsCisgICAgLTB4MS5iZjE0YmM4MTFhOGYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLjMxNmM4YjA2OGE3YWYyNTdmMWU1YTUxOTQzODM0ZjNlcDAsCisgICAgMHgxLmJmMTRiYzgxMWE4ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAtMHgxLjE4NzJhMWFhYTdlMjZjZjQxN2U2MzMxNjE3ZWE3ZGQwcDAsCisgICAgLTB4MS5hOTcwZmI1NmNlMTQwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTU4CisgICAgMHgxLjE4NzJhMWFhYTdlMjZjZjQxN2U2MzMxNjE3ZWE3ZGQwcDAsCisgICAgMHgxLmE5NzBmYjU2Y2UxNDBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAtMHgxLjAxYWVlZWQwNGNiYjBkZmFjZDFkMDBjNjU3ZDA4YjE5cDAsCisgICAgLTB4MS45M2NkM2EyYzgxOTkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLjAxYWVlZWQwNGNiYjBkZmFjZDFkMDBjNjU3ZDA4YjE5cDAsCisgICAgMHgxLjkzY2QzYTJjODE5OTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjEKKyAgICAtMHgxLmQ5OGU0MDhhYzIwODVjNGUwNTg4ZGYxMGJhN2ZiMDIzcC0xLAorICAgIC0weDEuN2UyOTc5MDIzNTFlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDB4MS5kOThlNDA4YWMyMDg1YzRlMDU4OGRmMTBiYTdmYjAyM3AtMSwKKyAgICAweDEuN2UyOTc5MDIzNTFlMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIC0weDEuYjJlNDc1MDYzMWM1M2M1NGY1ODMwZmQ0MTc1M2Q0MjdwLTEsCisgICAgLTB4MS42ODg1YjdkN2U4YTMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTY0CisgICAgMHgxLmIyZTQ3NTA2MzFjNTNjNTRmNTgzMGZkNDE3NTNkNDI3cC0xLAorICAgIDB4MS42ODg1YjdkN2U4YTMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgLTB4MS44ZWU5MTYzOTJlMDQ1OTBjZTk4OGQ4MmNjMzk1OTAyMXAtMSwKKyAgICAtMHgxLjUyZTFmNmFkOWMyODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjYKKyAgICAweDEuOGVlOTE2MzkyZTA0NTkwY2U5ODhkODJjYzM5NTkwMjFwLTEsCisgICAgMHgxLjUyZTFmNmFkOWMyODBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAtMHgxLjZkMzk1ZTQ5NWY3N2U3MDk4NDI1OTJlMjI2NjA3YjUzcC0xLAorICAgIC0weDEuM2QzZTM1ODM0ZmFkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU2OAorICAgIDB4MS42ZDM5NWU0OTVmNzdlNzA5ODQyNTkyZTIyNjYwN2I1M3AtMSwKKyAgICAweDEuM2QzZTM1ODM0ZmFkMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIC0weDEuMjRlM2UwMTdhMDk4ZWNmNGRlNDhiY2VlYjAyNjc0M2FwLTEsCisgICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTcwCisgICAgMHgxLjI0ZTNlMDE3YTA5OGVjZjRkZTQ4YmNlZWIwMjY3NDNhcC0xLAorICAgIDB4MS4wYTBiMDI1MDFjNzk5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgLTB4MS5mZGJkNWYwNTk2YmRjNmVmOGRhNTNlZTY1MmI1N2NmN3AtMiwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzIKKyAgICAweDEuZmRiZDVmMDU5NmJkYzZlZjhkYTUzZWU2NTJiNTdjZjdwLTIsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzMKKyAgICAtMHgxLmI1ZjNkNmFmYmU2ZjI1OWFmMzdjNGU2MzNhYjVmZGZhcC0yLAorICAgIC0weDEuOWRkODNjN2M5ZTEyNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU3NAorICAgIDB4MS5iNWYzZDZhZmJlNmYyNTlhZjM3YzRlNjMzYWI1ZmRmYXAtMiwKKyAgICAweDEuOWRkODNjN2M5ZTEyNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIC0weDEuNzFhMGY5ODA4MWVhOThiNWYzMGExNTkzZTNmYzYzNzNwLTIsCisgICAgLTB4MS42MmI5NTg2YWQwYTIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTc2CisgICAgMHgxLjcxYTBmOTgwODFlYTk4YjVmMzBhMTU5M2UzZmM2MzczcC0yLAorICAgIDB4MS42MmI5NTg2YWQwYTIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgLTB4MS4zMDE5MDlhMmMzNmU4OWE2NzUyOGEzOGM3N2FjOWU0M3AtMiwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuMzAxOTA5YTJjMzZlODlhNjc1MjhhMzhjNzdhYzllNDNwLTIsCisgICAgMHgxLjI3OWE3NDU5MDMzMWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAtMHgxLmUxOGU5NDFjYzdmZDUxOWVjYzQwNTQ4YTg2ZDJhM2VkcC0zLAorICAgIC0weDEuZDhmNzIwOGU2YjgyOXAtMworICB9LAorICB7IC8vIEVudHJ5IDU4MAorICAgIDB4MS5lMThlOTQxY2M3ZmQ1MTllY2M0MDU0OGE4NmQyYTNlZHAtMywKKyAgICAweDEuZDhmNzIwOGU2YjgyOXAtMworICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIC0weDEuNjY1MDc4NGJiZGNjMDJmMzM5MDI2MmNmNjhiYWQzYzZwLTMsCisgICAgLTB4MS42MmI5NTg2YWQwYTFlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTgyCisgICAgMHgxLjY2NTA3ODRiYmRjYzAyZjMzOTAyNjJjZjY4YmFkM2M2cC0zLAorICAgIDB4MS42MmI5NTg2YWQwYTFlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgLTB4MS5kYjE0MjQ2OGNkYWZjNTZlY2ZkZjhiMTA1MmIwOWU2M3AtNCwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAweDEuZGIxNDI0NjhjZGFmYzU2ZWNmZGY4YjEwNTJiMDllNjNwLTQsCisgICAgMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAtMHgxLmQ5N2RkNmQyZTUzZjI3ZTBmZTFmM2JkMmIwMzU2NjJhcC01LAorICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU4NgorICAgIDB4MS5kOTdkZDZkMmU1M2YyN2UwZmUxZjNiZDJiMDM1NjYyYXAtNSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU4NworICAgIDB4MS5kOTdkZDZkMmU1M2YyN2UwZmUxZjNiZDJiMDM1NjYyYXAtNSwKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtNQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIC0weDEuZDk3ZGQ2ZDJlNTNmMjdlMGZlMWYzYmQyYjAzNTY2MmFwLTUsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLmRiMTQyNDY4Y2RiMDM2ZjA4NzgzZDkzNmIxOTM0OGY2cC00LAorICAgIDB4MS5kOGY3MjA4ZTZiODJkcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgLTB4MS5kYjE0MjQ2OGNkYjAzNmYwODc4M2Q5MzZiMTkzNDhmNnAtNCwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTEKKyAgICAweDEuNjY1MDc4NGJiZGNjNDRlOGJlMmMyMjBlMWQ2NzNmZmJwLTMsCisgICAgMHgxLjYyYjk1ODZhZDBhMjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAtMHgxLjY2NTA3ODRiYmRjYzQ0ZThiZTJjMjIwZTFkNjczZmZicC0zLAorICAgIC0weDEuNjJiOTU4NmFkMGEyMnAtMworICB9LAorICB7IC8vIEVudHJ5IDU5MworICAgIDB4MS5lMThlOTQxY2M3ZmQ5NTI4YTU1ODUxNTdhYzY1ZTYxNXAtMywKKyAgICAweDEuZDhmNzIwOGU2YjgyZHAtMworICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIC0weDEuZTE4ZTk0MWNjN2ZkOTUyOGE1NTg1MTU3YWM2NWU2MTVwLTMsCisgICAgLTB4MS5kOGY3MjA4ZTZiODJkcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLjMwMTkwOWEyYzM2ZWFjNzhlYzFiNGU3MTEzMTZkMGM0cC0yLAorICAgIDB4MS4yNzlhNzQ1OTAzMzFjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgLTB4MS4zMDE5MDlhMmMzNmVhYzc4ZWMxYjRlNzExMzE2ZDBjNHAtMiwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTcKKyAgICAweDEuNzFhMGY5ODA4MWVhYmNlMTU1ZjMxMDI4OGM0MjQ1ZWFwLTIsCisgICAgMHgxLjYyYjk1ODZhZDBhMjJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAtMHgxLjcxYTBmOTgwODFlYWJjZTE1NWYzMTAyODhjNDI0NWVhcC0yLAorICAgIC0weDEuNjJiOTU4NmFkMGEyMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU5OQorICAgIDB4MS5iNWYzZDZhZmJlNmY0Yjc1Njg0MmI4ZWVlNWM4NWEzMXAtMiwKKyAgICAweDEuOWRkODNjN2M5ZTEyOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIC0weDEuYjVmM2Q2YWZiZTZmNGI3NTY4NDJiOGVlZTVjODVhMzFwLTIsCisgICAgLTB4MS45ZGQ4M2M3YzllMTI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLmZkYmQ1ZjA1OTZiZGVlZGQ4MmQ1MjIzYzNjMWIxOTI1cC0yLAorICAgIDB4MS5kOGY3MjA4ZTZiODJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgLTB4MS5mZGJkNWYwNTk2YmRlZWRkODJkNTIyM2MzYzFiMTkyNXAtMiwKKyAgICAtMHgxLmQ4ZjcyMDhlNmI4MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDMKKyAgICAweDEuMjRlM2UwMTdhMDk4ZWNmNGRlNDhiY2VlYjAyNjc0M2FwLTEsCisgICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAtMHgxLjI0ZTNlMDE3YTA5OGVjZjRkZTQ4YmNlZWIwMjY3NDNhcC0xLAorICAgIC0weDEuMGEwYjAyNTAxYzc5OXAtMQorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIDB4MS42ZDM5NWU0OTVmNzc4Njc4YjllYTBkNDgwOGM3MjIwYXAtMSwKKyAgICAweDEuM2QzZTM1ODM0ZmFjY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYwNgorICAgIC0weDEuNmQzOTVlNDk1Zjc3ODY3OGI5ZWEwZDQ4MDhjNzIyMGFwLTEsCisgICAgLTB4MS4zZDNlMzU4MzRmYWNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjA3CisgICAgMHgxLjhlZTkxNjM5MmUwM2YyMzM1MDMzYTQxYjNiMDIwNmU0cC0xLAorICAgIDB4MS41MmUxZjZhZDljMjdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjA4CisgICAgLTB4MS44ZWU5MTYzOTJlMDNmMjMzNTAzM2E0MWIzYjAyMDZlNHAtMSwKKyAgICAtMHgxLjUyZTFmNmFkOWMyN2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDkKKyAgICAweDEuYjJlNDc1MDYzMWM0Y2UyODNlZjg3NTNmYTFlZGYzMjRwLTEsCisgICAgMHgxLjY4ODViN2Q3ZThhMmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAtMHgxLmIyZTQ3NTA2MzFjNGNlMjgzZWY4NzUzZmExZWRmMzI0cC0xLAorICAgIC0weDEuNjg4NWI3ZDdlOGEyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIDB4MS5kOThlNDA4YWMyMDdlNThlMTVmMDE4NWQ0YjEwY2Y3MXAtMSwKKyAgICAweDEuN2UyOTc5MDIzNTFkY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDYxMgorICAgIC0weDEuZDk4ZTQwOGFjMjA3ZTU4ZTE1ZjAxODVkNGIxMGNmNzFwLTEsCisgICAgLTB4MS43ZTI5NzkwMjM1MWRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjEzCisgICAgMHgxLjAxYWVlZWQwNGNiYWNkOGViNmJjMDk0NjY0ZGI3NzYzcDAsCisgICAgMHgxLjkzY2QzYTJjODE5OGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAtMHgxLjAxYWVlZWQwNGNiYWNkOGViNmJjMDk0NjY0ZGI3NzYzcDAsCisgICAgLTB4MS45M2NkM2EyYzgxOThjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgMHgxLjE4NzJhMWFhYTdlMjI2OGNiOTQ2ZmNlYjgzZjBlYTVlcDAsCisgICAgMHgxLmE5NzBmYjU2Y2UxM2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAtMHgxLjE4NzJhMWFhYTdlMjI2OGNiOTQ2ZmNlYjgzZjBlYTVlcDAsCisgICAgLTB4MS5hOTcwZmI1NmNlMTNjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgMHgxLjMxNmM4YjA2OGE3YWE0Y2I3N2JjM2YzOTkyMWMyYzhkcDAsCisgICAgMHgxLmJmMTRiYzgxMWE4ZWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAtMHgxLjMxNmM4YjA2OGE3YWE0Y2I3N2JjM2YzOTkyMWMyYzhkcDAsCisgICAgLTB4MS5iZjE0YmM4MTFhOGVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjE5CisgICAgMHgxLjRkMGRmMWZjMWQzNDJlODY3ZTQ5ZjFmNmRkYWNlZGFhcDAsCisgICAgMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAtMHgxLjRkMGRmMWZjMWQzNDJlODY3ZTQ5ZjFmNmRkYWNlZGFhcDAsCisgICAgLTB4MS5kNGI4N2RhYjY3MDljcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIxCisgICAgMHgxLjZiZTcwMmUxZjZjZDAwMTZiYTE2NzdhOWNkMzNmMTM5cDAsCisgICAgMHgxLmVhNWMzZWQ1YjM4NGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAtMHgxLjZiZTcwMmUxZjZjZDAwMTZiYTE2NzdhOWNkMzNmMTM5cDAsCisgICAgLTB4MS5lYTVjM2VkNWIzODRjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjIzCisgICAgMHgxLmQ3NGNhZjk5MTJkYzdkOTY2OWIwMDkyNmFhMWFkZTExcDAsCisgICAgMHgxLjEyYmQ5MTczYzA3YWJwMAorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIC0weDEuZDc0Y2FmOTkxMmRjN2Q5NjY5YjAwOTI2YWExYWRlMTFwMCwKKyAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMAorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIDB4MS4xYjQ4YTM1YjFiMjgzYmJjODJiYjA0NGU5OWM0ZDliMXAxLAorICAgIDB4MS4yNTdiMjJlNzgwZjU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAtMHgxLjFiNDhhMzViMWIyODNiYmM4MmJiMDQ0ZTk5YzRkOWIxcDEsCisgICAgLTB4MS4yNTdiMjJlNzgwZjU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjcKKyAgICAweDEuNWQ2MDNkNzUxNzY4ZmNkOGFmODJiMzg3NDY4ODg1MzBwMSwKKyAgICAweDEuMzgzOGI0NWI0MTcwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI4CisgICAgLTB4MS41ZDYwM2Q3NTE3NjhmY2Q4YWY4MmIzODc0Njg4ODUzMHAxLAorICAgIC0weDEuMzgzOGI0NWI0MTcwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjI5CisgICAgMHgxLmMwOGNhZWM1Y2Y5YjFiNTRiMDQ1MjI4YjNlZWIyNDY5cDEsCisgICAgMHgxLjRhZjY0NWNmMDFlYWNwMAorICB9LAorICB7IC8vIEVudHJ5IDYzMAorICAgIC0weDEuYzA4Y2FlYzVjZjliMWI1NGIwNDUyMjhiM2VlYjI0NjlwMSwKKyAgICAtMHgxLjRhZjY0NWNmMDFlYWNwMAorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIDB4MS4zNDI5ZTYxYTVkMjBiMTc1ZDQ1YzJhNjc1YTM4NmJhM3AyLAorICAgIDB4MS41ZGIzZDc0MmMyNjU3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAtMHgxLjM0MjllNjFhNWQyMGIxNzVkNDVjMmE2NzVhMzg2YmEzcDIsCisgICAgLTB4MS41ZGIzZDc0MmMyNjU3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzMKKyAgICAweDEuZTNhMzcyOWIzZThhODNkNDRhNzZlMzQyZDZiM2ZjYmZwMiwKKyAgICAweDEuNzA3MTY4YjY4MmUwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM0CisgICAgLTB4MS5lM2EzNzI5YjNlOGE4M2Q0NGE3NmUzNDJkNmIzZmNiZnAyLAorICAgIC0weDEuNzA3MTY4YjY4MmUwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM1CisgICAgMHgxLjExZDg3MTQ2YzJkYTM5NDA4ZTg2MDgzYmYxNDcxYzhicDQsCisgICAgMHgxLjgzMmVmYTJhNDM1YWRwMAorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIC0weDEuMTFkODcxNDZjMmRhMzk0MDhlODYwODNiZjE0NzFjOGJwNCwKKyAgICAtMHgxLjgzMmVmYTJhNDM1YWRwMAorICB9LAorICB7IC8vIEVudHJ5IDYzNworICAgIC0weDEuMGQ3MThjZmM4MjM0OGFiOTc1NGYzZDZiNWUwZWE0OTlwNiwKKyAgICAweDEuOTVlYzhiOWUwM2Q1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM4CisgICAgMHgxLjBkNzE4Y2ZjODIzNDhhYjk3NTRmM2Q2YjVlMGVhNDk5cDYsCisgICAgLTB4MS45NWVjOGI5ZTAzZDU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzkKKyAgICAtMHgxLjZhN2UxZjY0MDdlZTYxMzk3ZDAxNmQ2OTFiYjYxZDE3cDMsCisgICAgMHgxLmE4YWExZDExYzQ0ZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS42YTdlMWY2NDA3ZWU2MTM5N2QwMTZkNjkxYmI2MWQxN3AzLAorICAgIC0weDEuYThhYTFkMTFjNDRmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgMHgxLjlmMzllYTViYmU0NzQ5ZTk2MmE4MDdjMmRjMTFjODI1cDAsCisgICAgMHgxLjA0YWZmNmQzMzA5NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIC0weDEuOWYzOWVhNWJiZTQ3NDllOTYyYTgwN2MyZGMxMWM4MjVwMCwKKyAgICAtMHgxLjA0YWZmNmQzMzA5NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MworICAgIDB4MS45ZjNjNGI4NDY5Zjg1M2I4NTA3NDU1NzE3MzI3YzMxMXAwLAorICAgIDB4MS4wNGIwOWU5OGRjZGI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICAtMHgxLjlmM2M0Yjg0NjlmODUzYjg1MDc0NTU3MTczMjdjMzExcDAsCisgICAgLTB4MS4wNGIwOWU5OGRjZGI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAweDEuOWYzZWFjYjIyNGMyMDg2ZWYzOTFiMGRmYWQyZjEwMTBwMCwKKyAgICAweDEuMDRiMTQ2NWU4OTIyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ2CisgICAgLTB4MS45ZjNlYWNiMjI0YzIwODZlZjM5MWIwZGZhZDJmMTAxMHAwLAorICAgIC0weDEuMDRiMTQ2NWU4OTIyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ3CisgICAgMHgxLjlmNDEwZGU0ZWViNjk1OTBjYWVlODVlODg2ZjQ3OGE4cDAsCisgICAgMHgxLjA0YjFlZTI0MzU2OThwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIC0weDEuOWY0MTBkZTRlZWI2OTU5MGNhZWU4NWU4ODZmNDc4YThwMCwKKyAgICAtMHgxLjA0YjFlZTI0MzU2OThwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OQorICAgIDB4MS45ZjQzNmYxY2M3ZTgyOGY3NTI4MTlhZjFlMmY0YjZhMnAwLAorICAgIDB4MS4wNGIyOTVlOWUxYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTAKKyAgICAtMHgxLjlmNDM2ZjFjYzdlODI4Zjc1MjgxOWFmMWUyZjRiNmEycDAsCisgICAgLTB4MS4wNGIyOTVlOWUxYjBhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAweDEuOWY0NWQwNTliMDY4ZjBkMjA1NDg1YWQ2NDgyMjNlNmRwMCwKKyAgICAweDEuMDRiMzNkYWY4ZGY3Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjUyCisgICAgLTB4MS45ZjQ1ZDA1OWIwNjhmMGQyMDU0ODVhZDY0ODIyM2U2ZHAwLAorICAgIC0weDEuMDRiMzNkYWY4ZGY3Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjUzCisgICAgMHgxLjlmNDgzMTliYTg0YjFiYTY1ZjQ1MmNmZTY1ZTAyZDBlcDAsCisgICAgMHgxLjA0YjNlNTc1M2EzZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIC0weDEuOWY0ODMxOWJhODRiMWJhNjVmNDUyY2ZlNjVlMDJkMGVwMCwKKyAgICAtMHgxLjA0YjNlNTc1M2EzZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDY1NQorICAgIDB4MS45ZjRhOTJlMmFmYTBkODRmZGY3ZGRiYWFkMzAyZjE1MHAwLAorICAgIDB4MS4wNGI0OGQzYWU2ODYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAtMHgxLjlmNGE5MmUyYWZhMGQ4NGZkZjdkZGJhYWQzMDJmMTUwcDAsCisgICAgLTB4MS4wNGI0OGQzYWU2ODYwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAweDEuOWY0Y2Y0MmVjNjdiYTdhZDBkYjJiZTI0OGE4NzBiZmVwMCwKKyAgICAweDEuMDRiNTM1MDA5MmNjZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjU4CisgICAgLTB4MS45ZjRjZjQyZWM2N2JhN2FkMGRiMmJlMjQ4YTg3MGJmZXAwLAorICAgIC0weDEuMDRiNTM1MDA5MmNjZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDY2MQorICAgIC0wLjAsCisgICAgLTAuMAorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjQKKyAgICAweDEuNGQ4MmI2OGNhYzE5ZTZkMDY1YzVmMWFhNzYyMWMwOGNwLTEsCisgICAgMHgxLjI3OWE3NDU5MDMzMWJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAtMHgxLjRkODJiNjhjYWMxOWU2ZDA2NWM1ZjFhYTc2MjFjMDhjcC0xLAorICAgIC0weDEuMjc5YTc0NTkwMzMxYnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2NgorICAgIDB4MS40ZDgyYjY4Y2FjMTlmZDlhNWIwYzkxMmQ5MDkzYWE0YXAtMSwKKyAgICAweDEuMjc5YTc0NTkwMzMxY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDY2NworICAgIC0weDEuNGQ4MmI2OGNhYzE5ZmQ5YTViMGM5MTJkOTA5M2FhNGFwLTEsCisgICAgLTB4MS4yNzlhNzQ1OTAzMzFjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY4CisgICAgMHgxLjRkODJiNjhjYWMxYTE0NjQ1MDUzMzBiMGFiZjMxNmJmcC0xLAorICAgIDB4MS4yNzlhNzQ1OTAzMzFkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjY5CisgICAgLTB4MS40ZDgyYjY4Y2FjMWExNDY0NTA1MzMwYjBhYmYzMTZiZnAtMSwKKyAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzAKKyAgICAtMHgxLjg5NzEyZWVjYTMyYmU5N2RiYTJjYTNmOWI4Mzc5MTU0cDIsCisgICAgMHgxLmJiNjdhZTg1ODRjYTlwMAorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDB4MS44OTcxMmVlY2EzMmJlOTdkYmEyY2EzZjliODM3OTE1NHAyLAorICAgIC0weDEuYmI2N2FlODU4NGNhOXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgLTB4MS44OTcxMmVlY2EzMmI0ZTUyOGQyNTYzNWE0MjkzYmUxZHAyLAorICAgIDB4MS5iYjY3YWU4NTg0Y2FhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzMKKyAgICAweDEuODk3MTJlZWNhMzJiNGU1MjhkMjU2MzVhNDI5M2JlMWRwMiwKKyAgICAtMHgxLmJiNjdhZTg1ODRjYWFwMAorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIC0weDEuODk3MTJlZWNhMzJhYjMyNzYwMWUyMmJiNDQyY2RjMzdwMiwKKyAgICAweDEuYmI2N2FlODU4NGNhYnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjc1CisgICAgMHgxLjg5NzEyZWVjYTMyYWIzMjc2MDFlMjJiYjQ0MmNkYzM3cDIsCisgICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzYKKyAgICAweDEuZGVmNDllYWFiMzdhMDBmOTBjYjQ0NTQ3MTBlNGU1NDVwLTIsCisgICAgMHgxLmJmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAtMHgxLmRlZjQ5ZWFhYjM3YTAwZjkwY2I0NDU0NzEwZTRlNTQ1cC0yLAorICAgIC0weDEuYmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIDB4MS5kZWY0OWVhYWIzN2ExNDc5MjMxZTg5OTUwOWVjZjI2Y3AtMiwKKyAgICAweDEuY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDY3OQorICAgIC0weDEuZGVmNDllYWFiMzdhMTQ3OTIzMWU4OTk1MDllY2YyNmNwLTIsCisgICAgLTB4MS5jcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjgwCisgICAgMHgxLmRlZjQ5ZWFhYjM3YTI3ZjkzOTg4Y2RlMzAzM2RmNzJjcC0yLAorICAgIDB4MS5jMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgLTB4MS5kZWY0OWVhYWIzN2EyN2Y5Mzk4OGNkZTMwMzNkZjcyY3AtMiwKKyAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODIKKyAgICAweDEuYTQ2Y2IyYmU2YTBiMDJlMmRmZmZjOTVlNmRjYjI4NDJwLTEsCisgICAgMHgxLjVmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODMKKyAgICAtMHgxLmE0NmNiMmJlNmEwYjAyZTJkZmZmYzk1ZTZkY2IyODQycC0xLAorICAgIC0weDEuNWZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5hNDZjYjJiZTZhMGIxZGFjYjM2MjY5YzQxYTRhOTE0N3AtMSwKKyAgICAweDEuNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDY4NQorICAgIC0weDEuYTQ2Y2IyYmU2YTBiMWRhY2IzNjI2OWM0MWE0YTkxNDdwLTEsCisgICAgLTB4MS42cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjg2CisgICAgMHgxLmE0NmNiMmJlNmEwYjM4NzY4NmM1MGEyOWM4MjllZTQycC0xLAorICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgLTB4MS5hNDZjYjJiZTZhMGIzODc2ODZjNTBhMjljODI5ZWU0MnAtMSwKKyAgICAtMHgxLjYwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODgKKyAgICAweDEuM2Q2ZGM5NTZlYWM3OWE4NWI0NzQ1NmZhMGM5NDZiMTNwMSwKKyAgICAweDEuMmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgLTB4MS4zZDZkYzk1NmVhYzc5YTg1YjQ3NDU2ZmEwYzk0NmIxM3AxLAorICAgIC0weDEuMmZmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkwCisgICAgMHgxLjNkNmRjOTU2ZWFjN2QzYjhkNmViMjE3NDExMGQxZGRjcDEsCisgICAgMHgxLjNwMAorICB9LAorICB7IC8vIEVudHJ5IDY5MQorICAgIC0weDEuM2Q2ZGM5NTZlYWM3ZDNiOGQ2ZWIyMTc0MTEwZDFkZGNwMSwKKyAgICAtMHgxLjNwMAorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS4zZDZkYzk1NmVhYzgwY2ViZjk2MWViZWUyNzQxMDdwMSwKKyAgICAweDEuMzAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgLTB4MS4zZDZkYzk1NmVhYzgwY2ViZjk2MWViZWUyNzQxMDdwMSwKKyAgICAtMHgxLjMwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIC0weDEuYjJkODlhOTM4Mjk1MzZjYzkyODNjZmM3ZTAxZmUyYTNwLTEsCisgICAgMHgxLjM3ZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDY5NQorICAgIDB4MS5iMmQ4OWE5MzgyOTUzNmNjOTI4M2NmYzdlMDFmZTJhM3AtMSwKKyAgICAtMHgxLjM3ZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIC0weDEuYjJkODlhOTM4Mjk0YzhhMjYwNGRiOWY3YWE1NmEwZjhwLTEsCisgICAgMHgxLjM4MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgMHgxLmIyZDg5YTkzODI5NGM4YTI2MDRkYjlmN2FhNTZhMGY4cC0xLAorICAgIC0weDEuMzgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTgKKyAgICAtMHgxLmIyZDg5YTkzODI5NDVhNzgyZTE3YTQyNzhiZjE3NzM2cC0xLAorICAgIDB4MS4zODAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTkKKyAgICAweDEuYjJkODlhOTM4Mjk0NWE3ODJlMTdhNDI3OGJmMTc3MzZwLTEsCisgICAgLTB4MS4zODAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAweDEuMDZmOGQwMTRiZjA4M2NkMzY2NTBlOTQ2NmRjMDg2ZGNwLTQsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAtMHgxLjA2ZjhkMDE0YmYwODNjZDM2NjUwZTk0NjZkYzA4NmRjcC00LAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtNAorICB9LAorICB7IC8vIEVudHJ5IDcwMgorICAgIDB4MS4wODBmNzNiMDcwNTFlMzdiMjNkYTMzMzdjMGFlZDM1M3AtMywKKyAgICAweDEuMDY5YzhiNDZiMzc5MnAtMworICB9LAorICB7IC8vIEVudHJ5IDcwMworICAgIC0weDEuMDgwZjczYjA3MDUxZTM3YjIzZGEzMzM3YzBhZWQzNTNwLTMsCisgICAgLTB4MS4wNjljOGI0NmIzNzkycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLjhlZDkxNDJmYzkxODg4OGUyOTRkM2ZmNWQwMTQ5NDE1cC0zLAorICAgIDB4MS44OWVhZDBlYTBkMzVicC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgLTB4MS44ZWQ5MTQyZmM5MTg4ODhlMjk0ZDNmZjVkMDE0OTQxNXAtMywKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAweDEuMGM4NjQwODNkMWU3Y2E1NTUxYmNlMjQ5NzI4NzgxMjdwLTIsCisgICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAtMHgxLjBjODY0MDgzZDFlN2NhNTU1MWJjZTI0OTcyODc4MTI3cC0yLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcwOAorICAgIDB4MS41M2ZkY2RmZDM3ZjA0Mzc1ZDlmZmI2YWViYWZlN2RmOHAtMiwKKyAgICAweDEuNDg0M2FlMTg2MDU3NnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcwOQorICAgIC0weDEuNTNmZGNkZmQzN2YwNDM3NWQ5ZmZiNmFlYmFmZTdkZjhwLTIsCisgICAgLTB4MS40ODQzYWUxODYwNTc2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLjllOTI1N2U2YjYyYTBhOGRlNTY1MGM4MzdmN2Y2MjI3cC0yLAorICAgIDB4MS44OWVhZDBlYTBkMzVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzExCisgICAgLTB4MS45ZTkyNTdlNmI2MmEwYThkZTU2NTBjODM3ZjdmNjIyN3AtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTIKKyAgICAweDEuZWQyMWU1OTk3MmIwN2M3MDUzZjRmMzVkZDU1MDI0OTNwLTIsCisgICAgMHgxLmNiOTFmM2JiYmExM2VwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAtMHgxLmVkMjFlNTk5NzJiMDdjNzA1M2Y0ZjM1ZGQ1NTAyNDkzcC0yLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDcxNAorICAgIDB4MS4yMDVhNjAwOWQ1ZTNkZGUyNWQ2ZGViN2Q1MjFmZjE0MHAtMSwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIC0weDEuMjA1YTYwMDlkNWUzZGRlMjVkNmRlYjdkNTIxZmYxNDBwLTEsCisgICAgLTB4MS4wNjljOGI0NmIzNzkxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE2CisgICAgMHgxLjRkNDY2YWNjYWQ0OGRkOTU4YWIxNjhmNWNmYzZjOTljcC0xLAorICAgIDB4MS4yNzcwMWNhZjg5ZTgzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgLTB4MS40ZDQ2NmFjY2FkNDhkZDk1OGFiMTY4ZjVjZmM2Yzk5Y3AtMSwKKyAgICAtMHgxLjI3NzAxY2FmODllODNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTgKKyAgICAweDEuN2UxZDkzNmY0ZDYxNTJmYjc0ODA5NTk1NzE3ZmEwNmRwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTkKKyAgICAtMHgxLjdlMWQ5MzZmNGQ2MTUyZmI3NDgwOTU5NTcxN2ZhMDZkcC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU3NXAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIDB4MS5iM2RmMzg2ZjE4MjI3ZWJjZWU5MDVmZGM1MWNkY2JlMnAtMSwKKyAgICAweDEuNjkxNzNmODEzNmM2N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDcyMQorICAgIC0weDEuYjNkZjM4NmYxODIyN2ViY2VlOTA1ZmRjNTFjZGNiZTJwLTEsCisgICAgLTB4MS42OTE3M2Y4MTM2YzY3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIyCisgICAgMHgxLmVmZDgyNzQyZDc3OGMxOGE4Yzk2OWJlMGNmMDkwMmIzcC0xLAorICAgIDB4MS44OWVhZDBlYTBkMzU5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzIzCisgICAgLTB4MS5lZmQ4Mjc0MmQ3NzhjMThhOGM5NjliZTBjZjA5MDJiM3AtMSwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuMTllMjZiNWVjZDVjMDQwYTFkODBjMTU4M2Y3OGY3ZDdwMCwKKyAgICAweDEuYWFiZTYyNTJlM2E0YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyNQorICAgIC0weDEuMTllMjZiNWVjZDVjMDQwYTFkODBjMTU4M2Y3OGY3ZDdwMCwKKyAgICAtMHgxLmFhYmU2MjUyZTNhNGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAweDEuNDEwMzhiNzBiZTBmYTE0NzhmOThhMmU5ZjI2NjU1MGFwMCwKKyAgICAweDEuY2I5MWYzYmJiYTEzZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIC0weDEuNDEwMzhiNzBiZTBmYTE0NzhmOThhMmU5ZjI2NjU1MGFwMCwKKyAgICAtMHgxLmNiOTFmM2JiYmExM2RwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAweDEuNmVmZWM4YzFlNDkzYjUxN2VmZTVlYjkyNDY0ZmRmNDJwMCwKKyAgICAweDEuZWM2NTg1MjQ5MDgyZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIC0weDEuNmVmZWM4YzFlNDkzYjUxN2VmZTVlYjkyNDY0ZmRmNDJwMCwKKyAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuYTY0YzdjOWQ2NTM0NjJkOGRlZDNlNjU4ZmU0ZWZiY2JwMCwKKyAgICAweDEuMDY5YzhiNDZiMzc5MXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMxCisgICAgLTB4MS5hNjRjN2M5ZDY1MzQ2MmQ4ZGVkM2U2NThmZTRlZmJjYnAwLAorICAgIC0weDEuMDY5YzhiNDZiMzc5MXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzMyCisgICAgMHgxLmVhYjQzZTBlNWU4N2MyNmZkNDMyZTA2MzAxZTE5ZTE1cDAsCisgICAgMHgxLjE3MDY1M2ZiMWViMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIC0weDEuZWFiNDNlMGU1ZTg3YzI2ZmQ0MzJlMDYzMDFlMTllMTVwMCwKKyAgICAtMHgxLjE3MDY1M2ZiMWViMGFwMAorICB9LAorICB7IC8vIEVudHJ5IDczNAorICAgIDB4MS4yMTI3N2I5N2MwMTM3NmUzNjE5ODgyNTBiNTYzNjRjZnAxLAorICAgIDB4MS4yNzcwMWNhZjg5ZTgzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzUKKyAgICAtMHgxLjIxMjc3Yjk3YzAxMzc2ZTM2MTk4ODI1MGI1NjM2NGNmcDEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAweDEuNWJkMTNkZGEwNzdjY2UyNDlkYjI3OTRkNjk0MDc1MDRwMSwKKyAgICAweDEuMzdkOWU1NjNmNTFmY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzM3CisgICAgLTB4MS41YmQxM2RkYTA3N2NjZTI0OWRiMjc5NGQ2OTQwNzUwNHAxLAorICAgIC0weDEuMzdkOWU1NjNmNTFmY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzM4CisgICAgMHgxLmFmNDY0M2U5MzcxZjg4ZTc4YzI0ZDgzYmQ2YjhlMjNlcDEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NzVwMAorICB9LAorICB7IC8vIEVudHJ5IDczOQorICAgIC0weDEuYWY0NjQzZTkzNzFmODhlNzhjMjRkODNiZDZiOGUyM2VwMSwKKyAgICAtMHgxLjQ4NDNhZTE4NjA1NzVwMAorICB9LAorICB7IC8vIEVudHJ5IDc0MAorICAgIDB4MS4xODY2ZmU4NDVlNzU5ZDE0ZGE0NzhjNmNmNmYyYmU2NXAyLAorICAgIDB4MS41OGFkNzZjY2NiOGVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAtMHgxLjE4NjZmZTg0NWU3NTlkMTRkYTQ3OGM2Y2Y2ZjJiZTY1cDIsCisgICAgLTB4MS41OGFkNzZjY2NiOGVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDIKKyAgICAweDEuOGJkY2Q1NGJkNTk4MGIzYTgwY2VmYzkxNGM0ODE0NzVwMiwKKyAgICAweDEuNjkxNzNmODEzNmM2N3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgLTB4MS44YmRjZDU0YmQ1OTgwYjNhODBjZWZjOTE0YzQ4MTQ3NXAyLAorICAgIC0weDEuNjkxNzNmODEzNmM2N3AwCisgIH0sCisgIHsgLy8gRW50cnkgNzQ0CisgICAgMHgxLjRiYjZhNjRlMDYyNWI5NzRjZGVkNjE1MDU2ZmZkNjFjcDMsCisgICAgMHgxLjc5ODEwODM1YTFmZTBwMAorICB9LAorICB7IC8vIEVudHJ5IDc0NQorICAgIC0weDEuNGJiNmE2NGUwNjI1Yjk3NGNkZWQ2MTUwNTZmZmQ2MWNwMywKKyAgICAtMHgxLjc5ODEwODM1YTFmZTBwMAorICB9LAorICB7IC8vIEVudHJ5IDc0NgorICAgIDB4MS5mMmYwNWNmYjY1NmEzOWY2ZjJhOTBmNzkxMWIyNDA1MXA0LAorICAgIDB4MS44OWVhZDBlYTBkMzU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDcKKyAgICAtMHgxLmYyZjA1Y2ZiNjU2YTM5ZjZmMmE5MGY3OTExYjI0MDUxcDQsCisgICAgLTB4MS44OWVhZDBlYTBkMzU5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAtMHgxLmYyZjA1Y2ZiNjU3ZjU1ZjJiYzZkMjA0Mzc3YTY4NTQzcDQsCisgICAgMHgxLjlhNTQ5OTllNzg2ZDJwMAorICB9LAorICB7IC8vIEVudHJ5IDc0OQorICAgIDB4MS5mMmYwNWNmYjY1N2Y1NWYyYmM2ZDIwNDM3N2E2ODU0M3A0LAorICAgIC0weDEuOWE1NDk5OWU3ODZkMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUwCisgICAgLTB4MS40YmI2YTY0ZTA2MmE2ZGEzNTg3MGNmYjMzNTk1ZmJlNnAzLAorICAgIDB4MS5hYWJlNjI1MmUzYTRicDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTEKKyAgICAweDEuNGJiNmE2NGUwNjJhNmRhMzU4NzBjZmIzMzU5NWZiZTZwMywKKyAgICAtMHgxLmFhYmU2MjUyZTNhNGJwMAorICB9LAorICB7IC8vIEVudHJ5IDc1MgorICAgIC0weDEuOGJkY2Q1NGJkNTliNzMwMjhlNWYyNzY0OWNhNjdjYmFwMiwKKyAgICAweDEuYmIyODJiMDc0ZWRjNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLjhiZGNkNTRiZDU5YjczMDI4ZTVmMjc2NDljYTY3Y2JhcDIsCisgICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAtMHgxLjE4NjZmZTg0NWU3NzVkOGM4ZjhiZjkxNjU2NDdmNmNicDIsCisgICAgMHgxLmNiOTFmM2JiYmExM2RwMAorICB9LAorICB7IC8vIEVudHJ5IDc1NQorICAgIDB4MS4xODY2ZmU4NDVlNzc1ZDhjOGY4YmY5MTY1NjQ3ZjZjYnAyLAorICAgIC0weDEuY2I5MWYzYmJiYTEzZHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU2CisgICAgLTB4MS5hZjQ2NDNlOTM3MjFhZDgwOTVkZDI3ZjA4MjdlMTNlMHAxLAorICAgIDB4MS5kYmZiYmM3MDI1NGI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTcKKyAgICAweDEuYWY0NjQzZTkzNzIxYWQ4MDk1ZGQyN2YwODI3ZTEzZTBwMSwKKyAgICAtMHgxLmRiZmJiYzcwMjU0YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDc1OAorICAgIC0weDEuNWJkMTNkZGEwNzdlNDI3ZDBjOWRjNmMwZTVkM2IxYjVwMSwKKyAgICAweDEuZWM2NTg1MjQ5MDgyZnAwCisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLjViZDEzZGRhMDc3ZTQyN2QwYzlkYzZjMGU1ZDNiMWI1cDEsCisgICAgLTB4MS5lYzY1ODUyNDkwODJmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjAKKyAgICAtMHgxLjIxMjc3Yjk3YzAxNDg1ZjE3YmFjZGI4MDQzNzVlYmNkcDEsCisgICAgMHgxLmZjY2Y0ZGQ4ZmJiYThwMAorICB9LAorICB7IC8vIEVudHJ5IDc2MQorICAgIDB4MS4yMTI3N2I5N2MwMTQ4NWYxN2JhY2RiODA0Mzc1ZWJjZHAxLAorICAgIC0weDEuZmNjZjRkZDhmYmJhOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzYyCisgICAgLTB4MS5lYWI0M2UwZTVlODkxNmQ0YzA4MzQ5YWJlOWUyYWJkM3AwLAorICAgIDB4MS4wNjljOGI0NmIzNzkxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjMKKyAgICAweDEuZWFiNDNlMGU1ZTg5MTZkNGMwODM0OWFiZTllMmFiZDNwMCwKKyAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwMQorICB9LAorICB7IC8vIEVudHJ5IDc2NAorICAgIC0weDEuYTY0YzdjOWQ2NTM1MzY0ZDYwNWJiOWU1MzE1MDcyZmZwMCwKKyAgICAweDEuMGVkMTZmYTBlOTE0ZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLmE2NGM3YzlkNjUzNTM2NGQ2MDViYjllNTMxNTA3MmZmcDAsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAtMHgxLjZlZmVjOGMxZTQ5NDRhNDI1NTQxMjE5MzY0YTE1MDc4cDAsCisgICAgMHgxLjE3MDY1M2ZiMWViMGJwMQorICB9LAorICB7IC8vIEVudHJ5IDc2NworICAgIDB4MS42ZWZlYzhjMWU0OTQ0YTQyNTU0MTIxOTM2NGExNTA3OHAwLAorICAgIC0weDEuMTcwNjUzZmIxZWIwYnAxCisgIH0sCisgIHsgLy8gRW50cnkgNzY4CisgICAgLTB4MS40MTAzOGI3MGJlMGZmNWI3YzRkOGYwNmIwZDRjZjUyNXAwLAorICAgIDB4MS4xZjNiMzg1NTU0NGM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjkKKyAgICAweDEuNDEwMzhiNzBiZTBmZjViN2M0ZDhmMDZiMGQ0Y2Y1MjVwMCwKKyAgICAtMHgxLjFmM2IzODU1NTQ0YzhwMQorICB9LAorICB7IC8vIEVudHJ5IDc3MAorICAgIC0weDEuMTllMjZiNWVjZDVjMjk0MzQ4YmExN2ZlYzU0NTQ3OTJwMCwKKyAgICAweDEuMjc3MDFjYWY4OWU4NXAxCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLjE5ZTI2YjVlY2Q1YzI5NDM0OGJhMTdmZWM1NDU0NzkycDAsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzIKKyAgICAtMHgxLmVmZDgyNzQyZDc3OGM0YmNhMDdlMWU4NmNiYzYwNGIwcC0xLAorICAgIDB4MS4yZmE1MDEwOWJmODQycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzMKKyAgICAweDEuZWZkODI3NDJkNzc4YzRiY2EwN2UxZTg2Y2JjNjA0YjBwLTEsCisgICAgLTB4MS4yZmE1MDEwOWJmODQycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzQKKyAgICAtMHgxLmIzZGYzODZmMTgyMjRhNjQwM2U1NWMxNmIzNmVmMTdmcC0xLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MWZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzUKKyAgICAweDEuYjNkZjM4NmYxODIyNGE2NDAzZTU1YzE2YjM2ZWYxN2ZwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MWZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAtMHgxLjdlMWQ5MzZmNGQ2MGYxZTZmODhiNGEyNGRmOWM2NWY0cC0xLAorICAgIDB4MS40MDBlYzliZTJhYmJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAweDEuN2UxZDkzNmY0ZDYwZjFlNmY4OGI0YTI0ZGY5YzY1ZjRwLTEsCisgICAgLTB4MS40MDBlYzliZTJhYmJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzgKKyAgICAtMHgxLjRkNDY2YWNjYWQ0ODU3NDE4ODgzNTEzMGU2OGU5YmFkcC0xLAorICAgIDB4MS40ODQzYWUxODYwNTc5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzkKKyAgICAweDEuNGQ0NjZhY2NhZDQ4NTc0MTg4ODM1MTMwZTY4ZTliYWRwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNTc5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAtMHgxLjIwNWE2MDA5ZDVlMzM3NzRmYTk4ZjlmNjE2YWNjODBmcC0xLAorICAgIDB4MS41MDc4OTI3Mjk1ZjM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODEKKyAgICAweDEuMjA1YTYwMDlkNWUzMzc3NGZhOThmOWY2MTZhY2M4MGZwLTEsCisgICAgLTB4MS41MDc4OTI3Mjk1ZjM2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODIKKyAgICAtMHgxLmVkMjFlNTk5NzJhZWY2NGEwNmU1NTNmMThkNjQ2MDkzcC0yLAorICAgIDB4MS41OGFkNzZjY2NiOGYzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAweDEuZWQyMWU1OTk3MmFlZjY0YTA2ZTU1M2YxOGQ2NDYwOTNwLTIsCisgICAgLTB4MS41OGFkNzZjY2NiOGYzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODQKKyAgICAtMHgxLjllOTI1N2U2YjYyODRmNzNjZDFlMmVhZTMyMjBmMzEzcC0yLAorICAgIDB4MS42MGUyNWIyNzAxMmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODUKKyAgICAweDEuOWU5MjU3ZTZiNjI4NGY3M2NkMWUyZWFlMzIyMGYzMTNwLTIsCisgICAgLTB4MS42MGUyNWIyNzAxMmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODYKKyAgICAtMHgxLjUzZmRjZGZkMzdlZTU1YmMxY2QxNjA0YjZhYjEzYjVmcC0yLAorICAgIDB4MS42OTE3M2Y4MTM2YzZkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODcKKyAgICAweDEuNTNmZGNkZmQzN2VlNTViYzFjZDE2MDRiNmFiMTNiNWZwLTIsCisgICAgLTB4MS42OTE3M2Y4MTM2YzZkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODgKKyAgICAtMHgxLjBjODY0MDgzZDFlNWFhYTY4MTVhODVlMjVjNjYyZTk3cC0yLAorICAgIDB4MS43MTRjMjNkYjZjNjJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAweDEuMGM4NjQwODNkMWU1YWFhNjgxNWE4NWUyNWM2NjJlOTdwLTIsCisgICAgLTB4MS43MTRjMjNkYjZjNjJhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAtMHgxLjhlZDkxNDJmYzkxM2Y0NTBkY2NkYmRkMjdlZDExYTQwcC0zLAorICAgIDB4MS43OTgxMDgzNWExZmU3cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuOGVkOTE0MmZjOTEzZjQ1MGRjY2RiZGQyN2VkMTFhNDBwLTMsCisgICAgLTB4MS43OTgxMDgzNWExZmU3cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTIKKyAgICAtMHgxLjA4MGY3M2IwNzA0Y2Y1NzA4MThhNjVkMWExMmQ1YmUxcC0zLAorICAgIDB4MS44MWI1ZWM4ZmQ3OWE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuMDgwZjczYjA3MDRjZjU3MDgxOGE2NWQxYTEyZDViZTFwLTMsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OWE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTQKKyAgICAtMHgxLjA2ZjhkMDE0YmYwOWFiODVmMmExOWQ4MGRhNWEyYzBicC00LAorICAgIDB4MS44OWVhZDBlYTBkMzVicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAweDEuMDZmOGQwMTRiZjA5YWI4NWYyYTE5ZDgwZGE1YTJjMGJwLTQsCisgICAgLTB4MS44OWVhZDBlYTBkMzVicDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAweDEuMGM4NjQwODNkMWU3ZjM5NTViMTIwNzFlMDY0NDQxOGJwLTIsCisgICAgLTB4MS44MWI1ZWM4ZmQ3OTlmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICAtMHgxLjBjODY0MDgzZDFlN2YzOTU1YjEyMDcxZTA2NDQ0MThicC0yLAorICAgIDB4MS44MWI1ZWM4ZmQ3OTlmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTgKKyAgICAweDEuMjA1YTYwMDlkNWUzZjc0ZGEzYTM3MmFjMTU3MjFlZjZwLTEsCisgICAgLTB4MS43MTRjMjNkYjZjNjI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAtMHgxLjIwNWE2MDA5ZDVlM2Y3NGRhM2EzNzJhYzE1NzIxZWY2cC0xLAorICAgIDB4MS43MTRjMjNkYjZjNjI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDAKKyAgICAweDEuZWZkODI3NDJkNzc4ZTZmMDRhZGVmYzNkMjFmOGJlOTZwLTEsCisgICAgLTB4MS42MGUyNWIyNzAxMmFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAtMHgxLmVmZDgyNzQyZDc3OGU2ZjA0YWRlZmMzZDIxZjhiZTk2cC0xLAorICAgIDB4MS42MGUyNWIyNzAxMmFkcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEuYTY0YzdjOWQ2NTM0NjhmYmM1MjYwZGNhNTAxZGRiODFwMCwKKyAgICAtMHgxLjUwNzg5MjcyOTVmMzRwMgorICB9LAorICB7IC8vIEVudHJ5IDgwMworICAgIC0weDEuYTY0YzdjOWQ2NTM0NjhmYmM1MjYwZGNhNTAxZGRiODFwMCwKKyAgICAweDEuNTA3ODkyNzI5NWYzNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODA0CisgICAgMHgxLmFmNDY0M2U5MzcxZjkzMTZkMzI1NGI4NjE5ZWRhNDg0cDEsCisgICAgLTB4MS40MDBlYzliZTJhYmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAtMHgxLmFmNDY0M2U5MzcxZjkzMTZkMzI1NGI4NjE5ZWRhNDg0cDEsCisgICAgMHgxLjQwMGVjOWJlMmFiYmJwMgorICB9LAorICB7IC8vIEVudHJ5IDgwNgorICAgIDB4MS5mMmYwNWNmYjY1NmE5ZTRhMDg1YjAyN2QxODYwMzIzMHA0LAorICAgIC0weDEuMmZhNTAxMDliZjg0MnAyCisgIH0sCisgIHsgLy8gRW50cnkgODA3CisgICAgLTB4MS5mMmYwNWNmYjY1NmE5ZTRhMDg1YjAyN2QxODYwMzIzMHA0LAorICAgIDB4MS4yZmE1MDEwOWJmODQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAtMHgxLjE4NjZmZTg0NWU3NzU1MzkyYTBhZGZmNTZhNjg4ZWFhcDIsCisgICAgLTB4MS4xZjNiMzg1NTU0NGM5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEuMTg2NmZlODQ1ZTc3NTUzOTJhMGFkZmY1NmE2ODhlYWFwMiwKKyAgICAweDEuMWYzYjM4NTU1NDRjOXAyCisgIH0sCisgIHsgLy8gRW50cnkgODEwCisgICAgLTB4MS5lYWI0M2UwZTVlODk1OWU4ZjVhYzZjNGY5ZDlhODMzYnAwLAorICAgIC0weDEuMGVkMTZmYTBlOTE1MHAyCisgIH0sCisgIHsgLy8gRW50cnkgODExCisgICAgMHgxLmVhYjQzZTBlNWU4OTU5ZThmNWFjNmM0ZjlkOWE4MzNicDAsCisgICAgMHgxLjBlZDE2ZmEwZTkxNTBwMgorICB9LAorICB7IC8vIEVudHJ5IDgxMgorICAgIC0weDEuMTllMjZiNWVjZDVjZDY5YzMwYzNkYzVkOWZmZGU5ODZwMCwKKyAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYWVwMQorICB9LAorICB7IC8vIEVudHJ5IDgxMworICAgIDB4MS4xOWUyNmI1ZWNkNWNkNjljMzBjM2RjNWQ5ZmZkZTk4NnAwLAorICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAtMHgxLjRkNDY2YWNjYWQ0OWVjOTY5MzVjYWEyYTM1ZTQzOWYwcC0xLAorICAgIC0weDEuZGJmYmJjNzAyNTRiY3AxCisgIH0sCisgIHsgLy8gRW50cnkgODE1CisgICAgMHgxLjRkNDY2YWNjYWQ0OWVjOTY5MzVjYWEyYTM1ZTQzOWYwcC0xLAorICAgIDB4MS5kYmZiYmM3MDI1NGJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTYKKyAgICAtMHgxLjUzZmRjZGZkMzdmMWVhMjE2ZTgxNTc1OGVkMDJhNTU3cC0yLAorICAgIC0weDEuYmIyODJiMDc0ZWRjYXAxCisgIH0sCisgIHsgLy8gRW50cnkgODE3CisgICAgMHgxLjUzZmRjZGZkMzdmMWVhMjE2ZTgxNTc1OGVkMDJhNTU3cC0yLAorICAgIDB4MS5iYjI4MmIwNzRlZGNhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTgKKyAgICAtMHgxLjA2ZjhkMDE0YmYwZTk2NGU2MzRmMzdiY2RiZjY0NDkxcC00LAorICAgIC0weDEuOWE1NDk5OWU3ODZkOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODE5CisgICAgMHgxLjA2ZjhkMDE0YmYwZTk2NGU2MzRmMzdiY2RiZjY0NDkxcC00LAorICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICAweDEuOGVkOTE0MmZjOTE0ZmUwNjdiOTkxZDExZDcwODU5YjhwLTMsCisgICAgLTB4MS43OTgxMDgzNWExZmU2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAtMHgxLjhlZDkxNDJmYzkxNGZlMDY3Yjk5MWQxMWQ3MDg1OWI4cC0zLAorICAgIDB4MS43OTgxMDgzNWExZmU2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjIKKyAgICAweDEuZWQyMWU1OTk3MmFlNTg5YWFhNGVlM2Q4MGMzYjdkZWZwLTIsCisgICAgLTB4MS41OGFkNzZjY2NiOGY0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAtMHgxLmVkMjFlNTk5NzJhZTU4OWFhYTRlZTNkODBjM2I3ZGVmcC0yLAorICAgIDB4MS41OGFkNzZjY2NiOGY0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjQKKyAgICAweDEuYjNkZjM4NmYxODIwZmYzZGYyOTBmMDM2ZGI0NmYxM2JwLTEsCisgICAgLTB4MS4zN2Q5ZTU2M2Y1MjAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAtMHgxLmIzZGYzODZmMTgyMGZmM2RmMjkwZjAzNmRiNDZmMTNicC0xLAorICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjYKKyAgICAweDEuNmVmZWM4YzFlNDkyNjE2ZmUyZmVjMGI3NjRmYTZlYjRwMCwKKyAgICAtMHgxLjE3MDY1M2ZiMWViMTBwMQorICB9LAorICB7IC8vIEVudHJ5IDgyNworICAgIC0weDEuNmVmZWM4YzFlNDkyNjE2ZmUyZmVjMGI3NjRmYTZlYjRwMCwKKyAgICAweDEuMTcwNjUzZmIxZWIxMHAxCisgIH0sCisgIHsgLy8gRW50cnkgODI4CisgICAgMHgxLjViZDEzZGRhMDc3YWRhOTE5MjdhYjczY2VkYWE4MjhkcDEsCisgICAgLTB4MS5lYzY1ODUyNDkwODNjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjkKKyAgICAtMHgxLjViZDEzZGRhMDc3YWRhOTE5MjdhYjczY2VkYWE4MjhkcDEsCisgICAgMHgxLmVjNjU4NTI0OTA4M2NwMAorICB9LAorICB7IC8vIEVudHJ5IDgzMAorICAgIDB4MS40YmI2YTY0ZTA2MWY2OWNmNzQwOTkzMTM4M2NjODBhMXAzLAorICAgIC0weDEuYWFiZTYyNTJlM2E1OHAwCisgIH0sCisgIHsgLy8gRW50cnkgODMxCisgICAgLTB4MS40YmI2YTY0ZTA2MWY2OWNmNzQwOTkzMTM4M2NjODBhMXAzLAorICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzIKKyAgICAtMHgxLjhiZGNkNTRiZDVhMDA0YWNmOTIyYzQ5YThkNWUyOGEycDIsCisgICAgLTB4MS42OTE3M2Y4MTM2Yzc0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzMKKyAgICAweDEuOGJkY2Q1NGJkNWEwMDRhY2Y5MjJjNDlhOGQ1ZTI4YTJwMiwKKyAgICAweDEuNjkxNzNmODEzNmM3NHAwCisgIH0sCisgIHsgLy8gRW50cnkgODM0CisgICAgLTB4MS4yMTI3N2I5N2MwMTVmMTlkZTdiMjM4MjUyZTU2ZTYzZnAxLAorICAgIC0weDEuMjc3MDFjYWY4OWU5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgODM1CisgICAgMHgxLjIxMjc3Yjk3YzAxNWYxOWRlN2IyMzgyNTJlNTZlNjNmcDEsCisgICAgMHgxLjI3NzAxY2FmODllOTBwMAorICB9LAorICB7IC8vIEVudHJ5IDgzNgorICAgIC0weDEuNDEwMzhiNzBiZTExYjg1Nzk4YTI3MWFjM2QyMDllYTdwMCwKKyAgICAtMHgxLmNiOTFmM2JiYmExNTdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAweDEuNDEwMzhiNzBiZTExYjg1Nzk4YTI3MWFjM2QyMDllYTdwMCwKKyAgICAweDEuY2I5MWYzYmJiYTE1N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgzOAorICAgIC0weDEuN2UxZDkzNmY0ZDYzYzFjNzgwNjY1N2Q4YjgzODgzNmVwLTEsCisgICAgLTB4MS40ODQzYWUxODYwNThlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgMHgxLjdlMWQ5MzZmNGQ2M2MxYzc4MDY2NTdkOGI4Mzg4MzZlcC0xLAorICAgIDB4MS40ODQzYWUxODYwNThlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODQwCisgICAgLTB4MS45ZTkyNTdlNmI2MmQ4ODZmNzRlMzQ4YmRjMTQyNTk5Y3AtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzOGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDEKKyAgICAweDEuOWU5MjU3ZTZiNjJkODg2Zjc0ZTM0OGJkYzE0MjU5OWNwLTIsCisgICAgMHgxLjg5ZWFkMGVhMGQzOGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDIKKyAgICAtMHgxLjA4MGY3M2IwNzA1N2RjN2JmMGRmNmRlMWQzYWUxYTNicC0zLAorICAgIC0weDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDg0MworICAgIDB4MS4wODBmNzNiMDcwNTdkYzdiZjBkZjZkZTFkM2FlMWEzYnAtMywKKyAgICAweDEuMDY5YzhiNDZiMzdmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDg0NAorICAgIDB4MS4wODBmNzNiMDcwNGJlYTdhNTZkNGY4OGVjZjNkNWNkM3AtMywKKyAgICAweDEuMDY5YzhiNDZiMzczNHAtMworICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIC0weDEuMDgwZjczYjA3MDRiZWE3YTU2ZDRmODhlY2YzZDVjZDNwLTMsCisgICAgLTB4MS4wNjljOGI0NmIzNzM0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgODQ2CisgICAgMHgxLjllOTI1N2U2YjYyNmIxZWIxMTM2YmQ3ODUzMzExNTQzcC0yLAorICAgIDB4MS44OWVhZDBlYTBkMzJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODQ3CisgICAgLTB4MS45ZTkyNTdlNmI2MjZiMWViMTEzNmJkNzg1MzMxMTU0M3AtMiwKKyAgICAtMHgxLjg5ZWFkMGVhMGQzMmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAweDEuN2UxZDkzNmY0ZDVmMmVlYmJiZjNkNjI5NjMxMDZhZmFwLTEsCisgICAgMHgxLjQ4NDNhZTE4NjA1NWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDkKKyAgICAtMHgxLjdlMWQ5MzZmNGQ1ZjJlZWJiYmYzZDYyOTYzMTA2YWZhcC0xLAorICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1MAorICAgIDB4MS40MTAzOGI3MGJlMGRmMTFkMTIyNDY4M2M2Zjg2NTU4NHAwLAorICAgIDB4MS5jYjkxZjNiYmJhMTI4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgODUxCisgICAgLTB4MS40MTAzOGI3MGJlMGRmMTFkMTIyNDY4M2M2Zjg2NTU4NHAwLAorICAgIC0weDEuY2I5MWYzYmJiYTEyOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDg1MgorICAgIDB4MS4yMTI3N2I5N2MwMTE1ZGNmNjY0N2FkNjhmNGNiNGFkMHAxLAorICAgIDB4MS4yNzcwMWNhZjg5ZTc4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTMKKyAgICAtMHgxLjIxMjc3Yjk3YzAxMTVkY2Y2NjQ3YWQ2OGY0Y2I0YWQwcDEsCisgICAgLTB4MS4yNzcwMWNhZjg5ZTc4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTQKKyAgICAweDEuOGJkY2Q1NGJkNTkxNGJkOWE0ZDZkZDY1OWMyZjY2MDZwMiwKKyAgICAweDEuNjkxNzNmODEzNmM1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgODU1CisgICAgLTB4MS44YmRjZDU0YmQ1OTE0YmQ5YTRkNmRkNjU5YzJmNjYwNnAyLAorICAgIC0weDEuNjkxNzNmODEzNmM1Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgLTB4MS40YmI2YTY0ZTA2MzNiZmE1Njg3OTY2MDY1NWMzODc2N3AzLAorICAgIDB4MS5hYWJlNjI1MmUzYTQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTcKKyAgICAweDEuNGJiNmE2NGUwNjMzYmZhNTY4Nzk2NjA2NTVjMzg3NjdwMywKKyAgICAtMHgxLmFhYmU2MjUyZTNhNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIC0weDEuNWJkMTNkZGEwNzgxMjQ0NDRjOTQwZjAxM2JlN2M0MDJwMSwKKyAgICAweDEuZWM2NTg1MjQ5MDgyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgODU5CisgICAgMHgxLjViZDEzZGRhMDc4MTI0NDQ0Yzk0MGYwMTNiZTdjNDAycDEsCisgICAgLTB4MS5lYzY1ODUyNDkwODI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjAKKyAgICAtMHgxLjZlZmVjOGMxZTQ5NmY2OWMyODZhZGM2NmJkNTg2ZWFmcDAsCisgICAgMHgxLjE3MDY1M2ZiMWViMDRwMQorICB9LAorICB7IC8vIEVudHJ5IDg2MQorICAgIDB4MS42ZWZlYzhjMWU0OTZmNjljMjg2YWRjNjZiZDU4NmVhZnAwLAorICAgIC0weDEuMTcwNjUzZmIxZWIwNHAxCisgIH0sCisgIHsgLy8gRW50cnkgODYyCisgICAgLTB4MS5iM2RmMzg2ZjE4MjYyYmQ2MzdlMjlmYmIzMDgwNmIyY3AtMSwKKyAgICAweDEuMzdkOWU1NjNmNTFmNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODYzCisgICAgMHgxLmIzZGYzODZmMTgyNjJiZDYzN2UyOWZiYjMwODA2YjJjcC0xLAorICAgIC0weDEuMzdkOWU1NjNmNTFmNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODY0CisgICAgLTB4MS5lZDIxZTU5OTcyYjViY2QzMDE1YzI1MGVmZjFjNjliOXAtMiwKKyAgICAweDEuNThhZDc2Y2NjYjhlOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgMHgxLmVkMjFlNTk5NzJiNWJjZDMwMTVjMjUwZWZmMWM2OWI5cC0yLAorICAgIC0weDEuNThhZDc2Y2NjYjhlOHAxCisgIH0sCisgIHsgLy8gRW50cnkgODY2CisgICAgLTB4MS44ZWQ5MTQyZmM5MjE3Mjg5ZWQyMTk0MGRlYWFmZTg3OHAtMywKKyAgICAweDEuNzk4MTA4MzVhMWZkYXAxCisgIH0sCisgIHsgLy8gRW50cnkgODY3CisgICAgMHgxLjhlZDkxNDJmYzkyMTcyODllZDIxOTQwZGVhYWZlODc4cC0zLAorICAgIC0weDEuNzk4MTA4MzVhMWZkYXAxCisgIH0sCisgIHsgLy8gRW50cnkgODY4CisgICAgMHgxLjA2ZjhkMDE0YmVmNjdjZmIyZGI1NjBmNWE0MTRjODhicC00LAorICAgIDB4MS45YTU0OTk5ZTc4NmNjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjkKKyAgICAtMHgxLjA2ZjhkMDE0YmVmNjdjZmIyZGI1NjBmNWE0MTRjODhicC00LAorICAgIC0weDEuOWE1NDk5OWU3ODZjY3AxCisgIH0sCisgIHsgLy8gRW50cnkgODcwCisgICAgMHgxLjUzZmRjZGZkMzdlYjQwY2Q5ZTUwNGRmNDMxYjUwMmQwcC0yLAorICAgIDB4MS5iYjI4MmIwNzRlZGJlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzEKKyAgICAtMHgxLjUzZmRjZGZkMzdlYjQwY2Q5ZTUwNGRmNDMxYjUwMmQwcC0yLAorICAgIC0weDEuYmIyODJiMDc0ZWRiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgODcyCisgICAgMHgxLjRkNDY2YWNjYWQ0NWE3MmU1ZjczNWViMmY2YWRmOWZmcC0xLAorICAgIDB4MS5kYmZiYmM3MDI1NGIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzMKKyAgICAtMHgxLjRkNDY2YWNjYWQ0NWE3MmU1ZjczNWViMmY2YWRmOWZmcC0xLAorICAgIC0weDEuZGJmYmJjNzAyNTRiMHAxCisgIH0sCisgIHsgLy8gRW50cnkgODc0CisgICAgMHgxLjE5ZTI2YjVlY2Q1OTg1MDdlY2QwMGQ4MWVjNzc1NjgzcDAsCisgICAgMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQorICB9LAorICB7IC8vIEVudHJ5IDg3NQorICAgIC0weDEuMTllMjZiNWVjZDU5ODUwN2VjZDAwZDgxZWM3NzU2ODNwMCwKKyAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQorICB9LAorICB7IC8vIEVudHJ5IDg3NgorICAgIDB4MS5lYWI0M2UwZTVlODI1NzA3M2FmYWVjYWIzODYxNTRhMXAwLAorICAgIDB4MS4wZWQxNmZhMGU5MTRhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzcKKyAgICAtMHgxLmVhYjQzZTBlNWU4MjU3MDczYWZhZWNhYjM4NjE1NGExcDAsCisgICAgLTB4MS4wZWQxNmZhMGU5MTRhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzgKKyAgICAweDEuMTg2NmZlODQ1ZTZmYzI3MDY0ZTJiMTIzYTc3MjRlNzVwMiwKKyAgICAweDEuMWYzYjM4NTU1NDRjM3AyCisgIH0sCisgIHsgLy8gRW50cnkgODc5CisgICAgLTB4MS4xODY2ZmU4NDVlNmZjMjcwNjRlMmIxMjNhNzcyNGU3NXAyLAorICAgIC0weDEuMWYzYjM4NTU1NDRjM3AyCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgLTB4MS5mMmYwNWNmYjY1YzVlMDZiMWFlODhjNDhiNGI3NTVjZXA0LAorICAgIDB4MS4yZmE1MDEwOWJmODNjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODEKKyAgICAweDEuZjJmMDVjZmI2NWM1ZTA2YjFhZTg4YzQ4YjRiNzU1Y2VwNCwKKyAgICAtMHgxLjJmYTUwMTA5YmY4M2NwMgorICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0weDEuYWY0NjQzZTkzNzI4ZDZiZmQ3MDJjMzM0MDVkY2NlN2RwMSwKKyAgICAweDEuNDAwZWM5YmUyYWJiNXAyCisgIH0sCisgIHsgLy8gRW50cnkgODgzCisgICAgMHgxLmFmNDY0M2U5MzcyOGQ2YmZkNzAyYzMzNDA1ZGNjZTdkcDEsCisgICAgLTB4MS40MDBlYzliZTJhYmI1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODQKKyAgICAtMHgxLmE2NGM3YzlkNjUzOWZkZWMyN2FmYzM4MGI5Zjc1MmMwcDAsCisgICAgMHgxLjUwNzg5MjcyOTVmMmVwMgorICB9LAorICB7IC8vIEVudHJ5IDg4NQorICAgIDB4MS5hNjRjN2M5ZDY1MzlmZGVjMjdhZmMzODBiOWY3NTJjMHAwLAorICAgIC0weDEuNTA3ODkyNzI5NWYyZXAyCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgLTB4MS5lZmQ4Mjc0MmQ3N2ViNzNjODFhMDBmNTY4NjIxZjYzY3AtMSwKKyAgICAweDEuNjBlMjViMjcwMTJhN3AyCisgIH0sCisgIHsgLy8gRW50cnkgODg3CisgICAgMHgxLmVmZDgyNzQyZDc3ZWI3M2M4MWEwMGY1Njg2MjFmNjNjcC0xLAorICAgIC0weDEuNjBlMjViMjcwMTJhN3AyCisgIH0sCisgIHsgLy8gRW50cnkgODg4CisgICAgLTB4MS4yMDVhNjAwOWQ1ZTdlYWU2M2RhMWNiZDU3MTI5ZWVmZnAtMSwKKyAgICAweDEuNzE0YzIzZGI2YzYyMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgMHgxLjIwNWE2MDA5ZDVlN2VhZTYzZGExY2JkNTcxMjllZWZmcC0xLAorICAgIC0weDEuNzE0YzIzZGI2YzYyMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODkwCisgICAgLTB4MS4wYzg2NDA4M2QxZWU1ZDM0ZGUyMDYwYzg2MjlkNDk1MXAtMiwKKyAgICAweDEuODFiNWVjOGZkNzk5OXAyCisgIH0sCisgIHsgLy8gRW50cnkgODkxCisgICAgMHgxLjBjODY0MDgzZDFlZTVkMzRkZTIwNjBjODYyOWQ0OTUxcC0yLAorICAgIC0weDEuODFiNWVjOGZkNzk5OXAyCisgIH0sCisgIHsgLy8gRW50cnkgODkyCisgICAgMHgxLmYwOWI2M2FhODFmYzM2ZGE1MDljM2U0MTA2MDdmZmU3cC01LAorICAgIDB4MS5lZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgODkzCisgICAgLTB4MS5mMDliNjNhYTgxZmMzNmRhNTA5YzNlNDEwNjA3ZmZlN3AtNSwKKyAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTQKKyAgICAweDEuZjA5YjYzYWE4MWZjNDZlOTVlMDY0MDViNDFlOGI0Y2NwLTUsCisgICAgMHgxLmZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTUKKyAgICAtMHgxLmYwOWI2M2FhODFmYzQ2ZTk1ZTA2NDA1YjQxZThiNGNjcC01LAorICAgIC0weDEuZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDg5NgorICAgIDB4MS5mMDliNjNhYTgxZmM1NmY4NmI3MDQyNzU3ZGNhNjJlOHAtNSwKKyAgICAweDEuZjAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDg5NworICAgIC0weDEuZjA5YjYzYWE4MWZjNTZmODZiNzA0Mjc1N2RjYTYyZThwLTUsCisgICAgLTB4MS5mMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgMHgxLmZhOGYyMWM4YTMzYWVjZjRhZjc3NzU0ZWY5MGE2N2I4cC00LAorICAgIDB4MS5mN2ZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgODk5CisgICAgLTB4MS5mYThmMjFjOGEzM2FlY2Y0YWY3Nzc1NGVmOTBhNjdiOHAtNCwKKyAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDAKKyAgICAweDEuZmE4ZjIxYzhhMzNhZmQzMzU1MTk4ZThkNzcxNmE4MTFwLTQsCisgICAgMHgxLmY4MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC0weDEuZmE4ZjIxYzhhMzNhZmQzMzU1MTk4ZThkNzcxNmE4MTFwLTQsCisgICAgLTB4MS5mODBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDIKKyAgICAweDEuZmE4ZjIxYzhhMzNiMGQ3MWZhYmJhN2NiZjUyNmVkMDdwLTQsCisgICAgMHgxLmY4MDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAtMHgxLmZhOGYyMWM4YTMzYjBkNzFmYWJiYTdjYmY1MjZlZDA3cC00LAorICAgIC0weDEuZjgwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDkwNAorICAgIDB4MS40ZWYwNmNiNGYwYTg2OWVmMDBkZjhlYzU1ODJkZmEzMXAtMywKKyAgICAweDEuNGJmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIC0weDEuNGVmMDZjYjRmMGE4NjllZjAwZGY4ZWM1NTgyZGZhMzFwLTMsCisgICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTA2CisgICAgMHgxLjRlZjA2Y2I0ZjBhODdhNWM4ZWVlZWJjZWIxMmEyMmI0cC0zLAorICAgIDB4MS40YzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDcKKyAgICAtMHgxLjRlZjA2Y2I0ZjBhODdhNWM4ZWVlZWJjZWIxMmEyMmI0cC0zLAorICAgIC0weDEuNGMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTA4CisgICAgMHgxLjRlZjA2Y2I0ZjBhODhhY2ExY2ZlNDhkODBhMzEwYTY1cC0zLAorICAgIDB4MS40YzAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTA5CisgICAgLTB4MS40ZWYwNmNiNGYwYTg4YWNhMWNmZTQ4ZDgwYTMxMGE2NXAtMywKKyAgICAtMHgxLjRjMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTAKKyAgICAweDEuM2NjMmE0NGUyOTk5NjY4Y2IwOTJhMDliNzNiMmRlNTBwLTIsCisgICAgMHgxLjMzMzMzMzMzMzMzMzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTEKKyAgICAtMHgxLjNjYzJhNDRlMjk5OTY2OGNiMDkyYTA5YjczYjJkZTUwcC0yLAorICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIDB4MS4zY2MyYTQ0ZTI5OTk3ODE0YTFhYzNmMDIxMWM3NjQxZnAtMiwKKyAgICAweDEuMzMzMzMzMzMzMzMzM3AtMgorICB9LAorICB7IC8vIEVudHJ5IDkxMworICAgIC0weDEuM2NjMmE0NGUyOTk5NzgxNGExYWMzZjAyMTFjNzY0MWZwLTIsCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgMHgxLjNjYzJhNDRlMjk5OTg5OWM5MmM1ZGQ2OGIwMDc0YzMxcC0yLAorICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTE1CisgICAgLTB4MS4zY2MyYTQ0ZTI5OTk4OTljOTJjNWRkNjhiMDA3NGMzMXAtMiwKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTYKKyAgICAweDEuOTk0MzcxMWRjMmNlODNkMjFjZGIyODVhY2VkODE3YWRwLTEsCisgICAgMHgxLjU5NDMxN2FjYzRlZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTcKKyAgICAtMHgxLjk5NDM3MTFkYzJjZTgzZDIxY2RiMjg1YWNlZDgxN2FkcC0xLAorICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxOAorICAgIDB4MS45OTQzNzExZGMyY2U5ZTBiM2YxZmZlNWFlYzBhYzIwZHAtMSwKKyAgICAweDEuNTk0MzE3YWNjNGVmOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkxOQorICAgIC0weDEuOTk0MzcxMWRjMmNlOWUwYjNmMWZmZTVhZWMwYWMyMGRwLTEsCisgICAgLTB4MS41OTQzMTdhY2M0ZWY5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgMHgxLjk5NDM3MTFkYzJjZWI4NDQ2MTY0ZDQ1YjBhOGNjZGVlcC0xLAorICAgIDB4MS41OTQzMTdhY2M0ZWZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIxCisgICAgLTB4MS45OTQzNzExZGMyY2ViODQ0NjE2NGQ0NWIwYThjY2RlZXAtMSwKKyAgICAtMHgxLjU5NDMxN2FjYzRlZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjIKKyAgICAweDEuZmJjNTExZGY1OTE3ZDU3ZDIzMWQ3YWQ0MzRkYTVmOTRwLTEsCisgICAgMHgxLjhmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjMKKyAgICAtMHgxLmZiYzUxMWRmNTkxN2Q1N2QyMzFkN2FkNDM0ZGE1Zjk0cC0xLAorICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIDB4MS5mYmM1MTFkZjU5MTdmNTM5YmJjZjc3OGJjMWEyMjI0OXAtMSwKKyAgICAweDEuOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDkyNQorICAgIC0weDEuZmJjNTExZGY1OTE3ZjUzOWJiY2Y3NzhiYzFhMjIyNDlwLTEsCisgICAgLTB4MS45cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgMHgxLmZiYzUxMWRmNTkxODE0ZjY1NDgxNzQ0MzUwNjE3Yzg1cC0xLAorICAgIDB4MS45MDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTI3CisgICAgLTB4MS5mYmM1MTFkZjU5MTgxNGY2NTQ4MTc0NDM1MDYxN2M4NXAtMSwKKyAgICAtMHgxLjkwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjgKKyAgICAtMHgxLnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjkKKyAgICAweDEucC0xMDc0LAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgOTMwCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgOTMxCisgICAgMHgxLnAtMTA3NCwKKyAgICAweDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDkzMgorICAgIC0weDEucC0xMDc0LAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIDB4MS45MjcyNzhhM2IxMTYwYmJmOGUwYmIzMDlkYTQyNDdjNXAtNSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AtNQorICB9LAorICB7IC8vIEVudHJ5IDkzNAorICAgIC0weDEuOTI3Mjc4YTNiMTE2MGJiZjhlMGJiMzA5ZGE0MjQ3YzVwLTUsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC01CisgIH0sCisgIHsgLy8gRW50cnkgOTM1CisgICAgMHgxLjkyNzI3OGEzYjExNjFiYzk3MGJhOGI1MGU1NzVmOTdmcC01LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC01CisgIH0sCisgIHsgLy8gRW50cnkgOTM2CisgICAgLTB4MS45MjcyNzhhM2IxMTYxYmM5NzBiYThiNTBlNTc1Zjk3ZnAtNSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzcKKyAgICAweDEuOTI3Mjc4YTNiMTE2MmJkMzUzNjk2Mzk3ZjBhYTc0ZWVwLTUsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzgKKyAgICAtMHgxLjkyNzI3OGEzYjExNjJiZDM1MzY5NjM5N2YwYWE3NGVlcC01LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDkzOQorICAgIDB4MS45MzZiYjhjNWIyZGExMTgzMDZmYTliNWQ2ZDhlZDJjMXAtNCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AtNAorICB9LAorICB7IC8vIEVudHJ5IDk0MAorICAgIC0weDEuOTM2YmI4YzViMmRhMTE4MzA2ZmE5YjVkNmQ4ZWQyYzFwLTQsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC00CisgIH0sCisgIHsgLy8gRW50cnkgOTQxCisgICAgMHgxLjkzNmJiOGM1YjJkYTIxYWFjMmJmZWM4NDI5M2U1ZDRkcC00LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC00CisgIH0sCisgIHsgLy8gRW50cnkgOTQyCisgICAgLTB4MS45MzZiYjhjNWIyZGEyMWFhYzJiZmVjODQyOTNlNWQ0ZHAtNCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDMKKyAgICAweDEuOTM2YmI4YzViMmRhMzFkMjdlODUzZGFhZTRmMTE2ODRwLTQsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDQKKyAgICAtMHgxLjkzNmJiOGM1YjJkYTMxZDI3ZTg1M2RhYWU0ZjExNjg0cC00LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDk0NQorICAgIDB4MS45NzVmNWUwNTUzMTU2YjQzOGNhN2Q3NTJkMzdkMDg3M3AtMywKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AtMworICB9LAorICB7IC8vIEVudHJ5IDk0NgorICAgIC0weDEuOTc1ZjVlMDU1MzE1NmI0MzhjYTdkNzUyZDM3ZDA4NzNwLTMsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTQ3CisgICAgMHgxLjk3NWY1ZTA1NTMxNTdiZTU5Y2JmZjY0OGZkZWYyYzA4cC0zLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgOTQ4CisgICAgLTB4MS45NzVmNWUwNTUzMTU3YmU1OWNiZmY2NDhmZGVmMmMwOHAtMywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDkKKyAgICAweDEuOTc1ZjVlMDU1MzE1OGM4N2FjZDgxNTNmMjg2ZThiOGFwLTMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTAKKyAgICAtMHgxLjk3NWY1ZTA1NTMxNThjODdhY2Q4MTUzZjI4NmU4YjhhcC0zLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMworICB9LAorICB7IC8vIEVudHJ5IDk1MQorICAgIDB4MS5hODI3OTk5ZmNlZjMwYzM4YjJlNTM5N2VhN2MxMGVhZHAtMiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDk1MgorICAgIC0weDEuYTgyNzk5OWZjZWYzMGMzOGIyZTUzOTdlYTdjMTBlYWRwLTIsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTUzCisgICAgMHgxLmE4Mjc5OTlmY2VmMzFlZjc3NjE4M2IwNzBlNmZjODRlcC0yLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTU0CisgICAgLTB4MS5hODI3OTk5ZmNlZjMxZWY3NzYxODNiMDcwZTZmYzg0ZXAtMiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTUKKyAgICAweDEuYTgyNzk5OWZjZWYzMzFiNjM5NGIzYzhmNzU1YzlmYTNwLTIsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTYKKyAgICAtMHgxLmE4Mjc5OTlmY2VmMzMxYjYzOTRiM2M4Zjc1NWM5ZmEzcC0yLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMgorICB9LAorICB7IC8vIEVudHJ5IDk1NworICAgIDB4MS5mZmZmZmZmZmZmZmZkNzJjZWNlNjc1ZDFmZTMwMzViYnAtMSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDk1OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZDcyY2VjZTY3NWQxZmUzMDM1YmJwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmY3MmNlY2U2NzVkMWZjYTMwNDg5cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTYwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmNzJjZWNlNjc1ZDFmY2EzMDQ4OXAtMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjEKKyAgICAweDEuMDAwMDAwMDAwMDAwMGI5Njc2NzMzYWU4ZmU4YWU5YWNwMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDk2MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMGI5Njc2NzMzYWU4ZmU4YWU5YWNwMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjMKKyAgICAweDEuOTE1M2Q5NDQzZWQwYjNiNDNkZGFiNmFlNTczYWEyM2RwNTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTdwMAorICB9LAorICB7IC8vIEVudHJ5IDk2NAorICAgIC0weDEuOTE1M2Q5NDQzZWQwYjNiNDNkZGFiNmFlNTczYWEyM2RwNTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjUKKyAgICAweDEuZDAyOTY3YzMxY2RiNGUwYzM4ZDAxYjY1NWQ1ZTBhYWZwNTMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDk2NgorICAgIC0weDEuZDAyOTY3YzMxY2RiNGUwYzM4ZDAxYjY1NWQ1ZTBhYWZwNTMsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjcKKyAgICAtMHgxLjYxN2ExNTQ5NDc2N2EwNDg4MmMzMjAzMTdmM2U0Y2VjcDUyLAorICAgIDB4MS45MjFmYjU0NDQyZDE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjgKKyAgICAweDEuNjE3YTE1NDk0NzY3YTA0ODgyYzMyMDMxN2YzZTRjZWNwNTIsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjkKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWMzZDYwYzY4cC01MSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AxCisgIH0sCisgIHsgLy8gRW50cnkgOTcwCisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWMzZDYwYzY4cC01MSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMQorICB9LAorICB7IC8vIEVudHJ5IDk3MQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ2MWQ1ZDdwLTUzLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzIKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ2MWQ1ZDdwLTUzLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgOTczCisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdlZTBiOTZjcC01MiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAxCisgIH0sCisgIHsgLy8gRW50cnkgOTc0CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3ZWUwYjk2Y3AtNTIsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzUKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWNjMjQ0YWI1cC01MCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AyCisgIH0sCisgIHsgLy8gRW50cnkgOTc2CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWNjMjQ0YWI1cC01MCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMgorICB9LAorICB7IC8vIEVudHJ5IDk3NworICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDRiN2JiYWJwLTUyLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzgKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDRiN2JiYWJwLTUyLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAyCisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzgxZWFiMzhjcC01MSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAyCisgIH0sCisgIHsgLy8gRW50cnkgOTgwCisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM4MWVhYjM4Y3AtNTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODEKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWVkNWQ0M2U4cC00OSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTgyCisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWVkNWQ0M2U4cC00OSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMworICB9LAorICB7IC8vIEVudHJ5IDk4MworICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDYwZjUyZjlwLTUxLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODQKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDYwZjUyZjlwLTUxLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTg1CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzhlMTI5YzBhcC01MCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXAzCisgIH0sCisgIHsgLy8gRW50cnkgOTg2CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM4ZTEyOWMwYXAtNTAsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODcKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0YTcyNDEyOGI0cC00OCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTg4CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0YTcyNDEyOGI0cC00OCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNAorICB9LAorICB7IC8vIEVudHJ5IDk4OQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MGI2ZGIwMzNwLTUwLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTAKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MGI2ZGIwMzNwLTUwLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTkxCisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Y2JlYjIzZTAzcC00OSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTkyCisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmNiZWIyM2UwM3AtNDksCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTMKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0Yzg1ZDBiYmUzcC00NywKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A1CisgIH0sCisgIHsgLy8gRW50cnkgOTk0CisgICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0Yzg1ZDBiYmUzcC00NywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNQorICB9LAorICB7IC8vIEVudHJ5IDk5NQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MjBlNzI1MWFwLTQ5LAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTYKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MjBlNzI1MWFwLTQ5LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHA1CisgIH0sCisgIHsgLy8gRW50cnkgOTk3CisgICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2ZDgxMzBjNWU3cC00OCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOXA1CisgIH0sCisgIHsgLy8gRW50cnkgOTk4CisgICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmQ4MTMwYzVlN3AtNDgsCisgICAgLTB4MS45MjFmYjU0NDQyZDE5cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTkKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA1NGQ0MGYwOGEwcC00NiwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A2CisgIH0sCisgIHsgLy8gRW50cnkgMTAwMAorICAgIDB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNTRkNDBmMDhhMHAtNDYsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAxCisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjc3NmNjZjhiN3AtNDgsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwNgorICB9LAorICB7IC8vIEVudHJ5IDEwMDIKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3NzZjY2Y4YjdwLTQ4LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTAwMworICAgIDB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNzA4YjJhZTU3NnAtNDcsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwNgorICB9LAorICB7IC8vIEVudHJ5IDEwMDQKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY3MDhiMmFlNTc2cC00NywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwNgorICB9LAorICB7IC8vIEVudHJ5IDEwMDUKKyAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA3NjBkMDgzYjk3cC00NSwKKyAgICAweDEuOTIxZmI1NDQ0MmQxN3A3CisgIH0sCisgIHsgLy8gRW50cnkgMTAwNgorICAgIDB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNzYwZDA4M2I5N3AtNDUsCisgICAgLTB4MS45MjFmYjU0NDQyZDE3cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA3CisgICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjhjZTY0NDcyYnAtNDcsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwNworICB9LAorICB7IC8vIEVudHJ5IDEwMDgKKyAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI4Y2U2NDQ3MmJwLTQ3LAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHA3CisgIH0sCisgIHsgLy8gRW50cnkgMTAwOQorICAgIDB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmN2NiMzEzNjNiMXAtNDYsCisgICAgMHgxLjkyMWZiNTQ0NDJkMTlwNworICB9LAorICB7IC8vIEVudHJ5IDEwMTAKKyAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY3Y2IzMTM2M2IxcC00NiwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwNworICB9LAorICB7IC8vIEVudHJ5IDEwMTEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDRkM2M5Y2E2NGY0NTEwY2Y2ZjMxcDAsCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTIKKyAgICAweDEuMDAwMDAwMDAwMDAwNGQzYzljYTY0ZjQ1MTBjZjZmMzFwMCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTMKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDBkM2M5Y2E2NGY0NTA1ODA0ODA4cDAsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTQKKyAgICAweDEuMDAwMDAwMDAwMDAwMGQzYzljYTY0ZjQ1MDU4MDQ4MDhwMCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjlhNzkzOTRjOWU4YTE0NjI0MWJkcC0xLAorICAgIDB4MS4yZDk3YzdmMzMyMWQzcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE2CisgICAgMHgxLmZmZmZmZmZmZmZmZjlhNzkzOTRjOWU4YTE0NjI0MWJkcC0xLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxNworICAgIDB4MS5mZmZmZmZmZmZmZmY1M2UwYTA4MDRkMWEwYmJjNGFiM3AtMSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxOAorICAgIC0weDEuZmZmZmZmZmZmZmZmNTNlMGEwODA0ZDFhMGJiYzRhYjNwLTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVkcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE5CisgICAgMHgxLmZmZmZmZmZmZmZmZmQzZTBhMDgwNGQxOWYwYjQ3MmQzcC0xLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZkM2UwYTA4MDRkMTlmMGI0NzJkM3AtMSwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMjEKKyAgICAweDEuMDAwMDAwMDAwMDAwMjlmMDUwNDAyNjhjZmFkNjRkNzlwMCwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAyMgorICAgIC0weDEuMDAwMDAwMDAwMDAwMjlmMDUwNDAyNjhjZmFkNjRkNzlwMCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMjMKKyAgICAweDEuYTg0MTAwODcyNjJlM2Y0MTg1OWZhNzM1NjdmOTI0NGRwNDksCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjQKKyAgICAtMHgxLmE4NDEwMDg3MjYyZTNmNDE4NTlmYTczNTY3ZjkyNDRkcDQ5LAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNQorICAgIDB4MS4zNTcwZWZkNzY4OTIzNDA4MjVlMDEyNDM5MzU1NDY5N3A1MiwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNgorICAgIC0weDEuMzU3MGVmZDc2ODkyMzQwODI1ZTAxMjQzOTM1NTQ2OTdwNTIsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI3CisgICAgLTB4MS40MmMwZDY0ZDVkZTUxNzhhZmUwNjQ1MmExYTFiODY2N3A1MCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkM3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTAyOAorICAgIDB4MS40MmMwZDY0ZDVkZTUxNzhhZmUwNjQ1MmExYTFiODY2N3A1MCwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDllZTJjMmQ5NjNhMTNkNTdlYzIwcDAsCisgICAgMHgxLjVmZGJiZTliYmE3NzRwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzAKKyAgICAweDEuMDAwMDAwMDAwMDAwOWVlMmMyZDk2M2ExM2Q1N2VjMjBwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzRwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzEKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFlZTJjMmQ5NjNhMTBkZTY4YWI0cDAsCisgICAgMHgxLjVmZGJiZTliYmE3NzVwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzIKKyAgICAweDEuMDAwMDAwMDAwMDAwMWVlMmMyZDk2M2ExMGRlNjhhYjRwMCwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzVwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZjNkYzU4NWIyYzc0MjNjZWE1MjhlcC0xLAorICAgIDB4MS41ZmRiYmU5YmJhNzc2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM0CisgICAgMHgxLmZmZmZmZmZmZmZmZjNkYzU4NWIyYzc0MjNjZWE1MjhlcC0xLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNQorICAgIDB4MS5mZmZmZmZmZmZmZmViMDk0NTQxYTI0NjI0ZWVhYjBlMXAtMSwKKyAgICAweDEuYzQ2M2FiZWNjYjJiYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNgorICAgIC0weDEuZmZmZmZmZmZmZmZlYjA5NDU0MWEyNDYyNGVlYWIwZTFwLTEsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmIwOTQ1NDFhMjQ2MWU3MzRkYWVlcC0xLAorICAgIDB4MS5jNDYzYWJlY2NiMmJicDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZiMDk0NTQxYTI0NjFlNzM0ZGFlZXAtMSwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmJwMgorICB9LAorICB7IC8vIEVudHJ5IDEwMzkKKyAgICAweDEuMDAwMDAwMDAwMDAwNTg0YTJhMGQxMjMwZmZiZjgyN2RwMCwKKyAgICAweDEuYzQ2M2FiZWNjYjJiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MAorICAgIC0weDEuMDAwMDAwMDAwMDAwNTg0YTJhMGQxMjMwZmZiZjgyN2RwMCwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNDEKKyAgICAweDEuN2NjMDgwZjg5NTg1NjdmMDVjNDBhYzVmNmQzMTBkZThwNDksCisgICAgMHgxLmY2YTdhMjk1NTM4NWRwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNDIKKyAgICAtMHgxLjdjYzA4MGY4OTU4NTY3ZjA1YzQwYWM1ZjZkMzEwZGU4cDQ5LAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0MworICAgIDB4MS43MzU0NTMwMjdkN2MzZTcwMmQ3MzQ5MWRlMzY5NTM2ZnA1MSwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NAorICAgIC0weDEuNzM1NDUzMDI3ZDdjM2U3MDJkNzM0OTFkZTM2OTUzNmZwNTEsCisgICAgLTB4MS5mNmE3YTI5NTUzODVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ1CisgICAgLTB4MS44NmFhNGEzYTEyN2EzYWRkOWE4ZTc2OTkzNzMzYjRhN3A1MCwKKyAgICAweDEuZjZhN2EyOTU1Mzg1ZnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTA0NgorICAgIDB4MS44NmFhNGEzYTEyN2EzYWRkOWE4ZTc2OTkzNzMzYjRhN3A1MCwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMgorICB9LAorICB7IC8vIEVudHJ5IDEwNDcKKyAgICAtMHgxLjAwMDAwMDAwMDAwMWIwODhlOTBjNzdmZTgwNTFhN2RhcDAsCisgICAgMHgxLjE0NzVjYzllZWRlZmZwMworICB9LAorICB7IC8vIEVudHJ5IDEwNDgKKyAgICAweDEuMDAwMDAwMDAwMDAxYjA4OGU5MGM3N2ZlODA1MWE3ZGFwMCwKKyAgICAtMHgxLjE0NzVjYzllZWRlZmZwMworICB9LAorICB7IC8vIEVudHJ5IDEwNDkKKyAgICAtMHgxLjAwMDAwMDAwMDAwMGIwODhlOTBjNzdmZDRmYzhiZWNlcDAsCisgICAgMHgxLjE0NzVjYzllZWRmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUwCisgICAgMHgxLjAwMDAwMDAwMDAwMGIwODhlOTBjNzdmZDRmYzhiZWNlcDAsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA1MQorICAgIC0weDEuZmZmZmZmZmZmZmZmNjExMWQyMThlZmZhM2U3ZmFiODNwLTEsCisgICAgMHgxLjE0NzVjYzllZWRmMDFwMworICB9LAorICB7IC8vIEVudHJ5IDEwNTIKKyAgICAweDEuZmZmZmZmZmZmZmZmNjExMWQyMThlZmZhM2U3ZmFiODNwLTEsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUzCisgICAgLTB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4Mzc3NjRjMTYwOHAtNDksCisgICAgMHgxLjJkOTdjN2YzMzIxZDFwMworICB9LAorICB7IC8vIEVudHJ5IDEwNTQKKyAgICAweDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3NzY0YzE2MDhwLTQ5LAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA1NQorICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODdlYTU4MTFwLTUyLAorICAgIDB4MS4yZDk3YzdmMzMyMWQycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU2CisgICAgMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTg3ZWE1ODExcC01MiwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMworICB9LAorICB7IC8vIEVudHJ5IDEwNTcKKyAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxNzNiMDhkNmZwLTUwLAorICAgIDB4MS4yZDk3YzdmMzMyMWQzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU4CisgICAgLTB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE3M2IwOGQ2ZnAtNTAsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQzcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU5CisgICAgMHgxLmZmZmZmZmZmZmZmYzhkNDgwN2IzZmJhY2NjMzgzMTRicC0xLAorICAgIDB4MS40NmI5YzM0Nzc2NGEycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYwCisgICAgLTB4MS5mZmZmZmZmZmZmZmM4ZDQ4MDdiM2ZiYWNjYzM4MzE0YnAtMSwKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwMworICB9LAorICB7IC8vIEVudHJ5IDEwNjEKKyAgICAweDEuZmZmZmZmZmZmZmZlOGQ0ODA3YjNmYmFhNTk4MDM4ZmZwLTEsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTNwMworICB9LAorICB7IC8vIEVudHJ5IDEwNjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZThkNDgwN2IzZmJhYTU5ODAzOGZmcC0xLAorICAgIC0weDEuNDZiOWMzNDc3NjRhM3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2MworICAgIDB4MS4wMDAwMDAwMDAwMDA0NmE0MDNkOWZkZDRmMzY0MjA1OXAwLAorICAgIDB4MS40NmI5YzM0Nzc2NGE0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY0CisgICAgLTB4MS4wMDAwMDAwMDAwMDA0NmE0MDNkOWZkZDRmMzY0MjA1OXAwLAorICAgIC0weDEuNDZiOWMzNDc3NjRhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NQorICAgIDB4MS45Yzc4ZWVhNzhiYWE2ZTEzZWNjYzk0YzQyMWM0ZjVhY3A0OCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2NgorICAgIC0weDEuOWM3OGVlYTc4YmFhNmUxM2VjY2M5NGM0MjFjNGY1YWNwNDgsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY3CisgICAgMHgxLjA5M2MzYjRhZWJlYjA4MDZmYmU0YTFmMGM2NjBiYTNicDUxLAorICAgIDB4MS41ZmRiYmU5YmJhNzc1cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY4CisgICAgLTB4MS4wOTNjM2I0YWViZWIwODA2ZmJlNGExZjBjNjYwYmEzYnA1MSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzVwMworICB9LAorICB7IC8vIEVudHJ5IDEwNjkKKyAgICAtMHgxLjUxNmFjOTYxNDIxODU1ZmI3NTlmYzJmYWNiNGU5ZjVicDQ5LAorICAgIDB4MS41ZmRiYmU5YmJhNzc2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcwCisgICAgMHgxLjUxNmFjOTYxNDIxODU1ZmI3NTlmYzJmYWNiNGU5ZjVicDQ5LAorICAgIC0weDEuNWZkYmJlOWJiYTc3NnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MQorICAgIC0weDEuMDAwMDAwMDAwMDAxYzIyZjBmM2Y4YzVhYTVhMDFkYTNwMCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MgorICAgIDB4MS4wMDAwMDAwMDAwMDFjMjJmMGYzZjhjNWFhNWEwMWRhM3AwLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3MworICAgIC0weDEuMDAwMDAwMDAwMDAwYzIyZjBmM2Y4YzU5NjM3MTBlNjRwMCwKKyAgICAweDEuNzhmZGI5ZWZmZWE0NnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3NAorICAgIDB4MS4wMDAwMDAwMDAwMDBjMjJmMGYzZjhjNTk2MzcxMGU2NHAwLAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmODQ1ZTFlN2YxOGIyNDI4M2ZlNDlwLTEsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDdwMworICB9LAorICB7IC8vIEVudHJ5IDEwNzYKKyAgICAweDEuZmZmZmZmZmZmZmZmODQ1ZTFlN2YxOGIyNDI4M2ZlNDlwLTEsCisgICAgLTB4MS43OGZkYjllZmZlYTQ3cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc3CisgICAgMHgxLmZmZmZmZmZmZmZmYzY5ZmJiYjRkZDJmNGZjODhmZmExcC0xLAorICAgIDB4MS5hYjQxYjA5ODg2ZmU4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc4CisgICAgLTB4MS5mZmZmZmZmZmZmZmM2OWZiYmI0ZGQyZjRmYzg4ZmZhMXAtMSwKKyAgICAtMHgxLmFiNDFiMDk4ODZmZThwMworICB9LAorICB7IC8vIEVudHJ5IDEwNzkKKyAgICAweDEuZmZmZmZmZmZmZmZlNjlmYmJiNGRkMmYyNjY4NGJhZWVwLTEsCisgICAgMHgxLmFiNDFiMDk4ODZmZTlwMworICB9LAorICB7IC8vIEVudHJ5IDEwODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZTY5ZmJiYjRkZDJmMjY2ODRiYWVlcC0xLAorICAgIC0weDEuYWI0MWIwOTg4NmZlOXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA4MQorICAgIDB4MS4wMDAwMDAwMDAwMDAzNGZkZGRhNmU5NzhlODQwM2IxZXAwLAorICAgIDB4MS5hYjQxYjA5ODg2ZmVhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgyCisgICAgLTB4MS4wMDAwMDAwMDAwMDAzNGZkZGRhNmU5NzhlODQwM2IxZXAwLAorICAgIC0weDEuYWI0MWIwOTg4NmZlYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA4MworICAgIDB4MS44NmM0ZTMzM2IzYzlmNjI3Mzg5NmFiYTIwMTc2NzkxMnA0OCwKKyAgICAweDEuYzQ2M2FiZWNjYjJiYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NAorICAgIC0weDEuODZjNGUzMzNiM2M5ZjYyNzM4OTZhYmEyMDE3Njc5MTJwNDgsCisgICAgLTB4MS5jNDYzYWJlY2NiMmJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg1CisgICAgMHgxLjljOTY5NTFmMzYxODQ1NjAzMjgwMTg1YTE2ZDYwMjZjcDUwLAorICAgIDB4MS5jNDYzYWJlY2NiMmJicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg2CisgICAgLTB4MS45Yzk2OTUxZjM2MTg0NTYwMzI4MDE4NWExNmQ2MDI2Y3A1MCwKKyAgICAtMHgxLmM0NjNhYmVjY2IyYmJwMworICB9LAorICB7IC8vIEVudHJ5IDEwODcKKyAgICAtMHgxLjczMjQ0ZDM2OWUwYjZlYjJmNWQ3M2NjYTczNDRlODdhcDQ5LAorICAgIDB4MS5jNDYzYWJlY2NiMmJjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDg4CisgICAgMHgxLjczMjQ0ZDM2OWUwYjZlYjJmNWQ3M2NjYTczNDRlODdhcDQ5LAorICAgIC0weDEuYzQ2M2FiZWNjYjJiY3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTA4OQorICAgIC0weDEuMDAwMDAwMDAwMDAxZDNkNTM1NzJhMGI2Y2MyNjEwNTVwMCwKKyAgICAweDEuZGQ4NWE3NDEwZjU4YnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MAorICAgIDB4MS4wMDAwMDAwMDAwMDFkM2Q1MzU3MmEwYjZjYzI2MTA1NXAwLAorICAgIC0weDEuZGQ4NWE3NDEwZjU4YnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MQorICAgIC0weDEuMDAwMDAwMDAwMDAwZDNkNTM1NzJhMGI1Nzg1MGRhZTJwMCwKKyAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MgorICAgIDB4MS4wMDAwMDAwMDAwMDBkM2Q1MzU3MmEwYjU3ODUwZGFlMnAwLAorICAgIC0weDEuZGQ4NWE3NDEwZjU4Y3AzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MworICAgIC0weDEuZmZmZmZmZmZmZmZmYTdhYTZhZTU0MTZhNDhmNzRhZGZwLTEsCisgICAgMHgxLmRkODVhNzQxMGY1OGRwMworICB9LAorICB7IC8vIEVudHJ5IDEwOTQKKyAgICAweDEuZmZmZmZmZmZmZmZmYTdhYTZhZTU0MTZhNDhmNzRhZGZwLTEsCisgICAgLTB4MS5kZDg1YTc0MTBmNThkcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk1CisgICAgLTB4MS41ODNlYmVmZjY1Y2MyMjY0ODBhZTY4NWM2NTM1MjMyNXAtNDksCisgICAgMHgxLmY2YTdhMjk1NTM4NWRwMworICB9LAorICB7IC8vIEVudHJ5IDEwOTYKKyAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjNjUzNTIzMjVwLTQ5LAorICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA5NworICAgIC0weDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzhkNTQ1OTFwLTUxLAorICAgIDB4MS5mNmE3YTI5NTUzODVlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDk4CisgICAgMHgxLjYwZmFmYmZkOTczMDg5OTIwMmI5YTE3MGM4ZDU0NTkxcC01MSwKKyAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMworICB9LAorICB7IC8vIEVudHJ5IDEwOTkKKyAgICAweDEuNGY4MjgyMDEzNDY3YmIzNmZlYTMyZjQ3YTk1NjQxYmFwLTUwLAorICAgIDB4MS5mNmE3YTI5NTUzODVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAwCisgICAgLTB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDdhOTU2NDFiYXAtNTAsCisgICAgLTB4MS5mNmE3YTI5NTUzODVmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAxCisgICAgMHgxLmZmZmZmZmZmZmZmODQ2YWY2ZWU3YWE0OGExZTllOWY3cC0xLAorICAgIDB4MS4wN2U0Y2VmNGNiZDk2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAyCisgICAgLTB4MS5mZmZmZmZmZmZmZjg0NmFmNmVlN2FhNDhhMWU5ZTlmN3AtMSwKKyAgICAtMHgxLjA3ZTRjZWY0Y2JkOTZwNAorICB9LAorICB7IC8vIEVudHJ5IDExMDMKKyAgICAweDEuZmZmZmZmZmZmZmZjNDZhZjZlZTdhYTNkMmY0OGM3YzdwLTEsCisgICAgMHgxLjA3ZTRjZWY0Y2JkOTdwNAorICB9LAorICB7IC8vIEVudHJ5IDExMDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmYzQ2YWY2ZWU3YWEzZDJmNDhjN2M3cC0xLAorICAgIC0weDEuMDdlNGNlZjRjYmQ5N3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwNQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMzU3Yjc3M2Q1MWNkZTUzZDJjYnAwLAorICAgIDB4MS4wN2U0Y2VmNGNiZDk4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA2CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMzU3Yjc3M2Q1MWNkZTUzZDJjYnAwLAorICAgIC0weDEuMDdlNGNlZjRjYmQ5OHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwNworICAgIDB4MS4yZjA4NDIzODllNWJjMDE0ZDBmYmU4NDNjY2E2ZGRmM3A0NywKKyAgICAweDEuMTQ3NWNjOWVlZGVmZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEwOAorICAgIC0weDEuMmYwODQyMzg5ZTViYzAxNGQwZmJlODQzY2NhNmRkZjNwNDcsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZWZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTA5CisgICAgMHgxLjczM2M0ZThlZjljNTBjYjU5MjlmNmJiNjc0YmVjNjdmcDQ4LAorICAgIDB4MS4xNDc1Y2M5ZWVkZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTExMAorICAgIC0weDEuNzMzYzRlOGVmOWM1MGNiNTkyOWY2YmI2NzRiZWM2N2ZwNDgsCisgICAgLTB4MS4xNDc1Y2M5ZWVkZnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTExMQorICAgIC0weDEuOWM1YjRjNzI4OTg5ODkxZGZiODcxMGFkZjM4Nzg0M2NwNDksCisgICAgMHgxLjE0NzVjYzllZWRmMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDExMTIKKyAgICAweDEuOWM1YjRjNzI4OTg5ODkxZGZiODcxMGFkZjM4Nzg0M2NwNDksCisgICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEzCisgICAgLTB4MS4wMDAwMDAwMDAwMDJlNTdiNWJhNWI1MTU1OTVlZGI5NHAwLAorICAgIDB4MS4yMTA2Y2E0OTEwMDY4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE0CisgICAgMHgxLjAwMDAwMDAwMDAwMmU1N2I1YmE1YjUxNTU5NWVkYjk0cDAsCisgICAgLTB4MS4yMTA2Y2E0OTEwMDY4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE1CisgICAgLTB4MS4wMDAwMDAwMDAwMDBlNTdiNWJhNWI1MTE4ZTY4MjQ0OXAwLAorICAgIDB4MS4yMTA2Y2E0OTEwMDY5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE2CisgICAgMHgxLjAwMDAwMDAwMDAwMGU1N2I1YmE1YjUxMThlNjgyNDQ5cDAsCisgICAgLTB4MS4yMTA2Y2E0OTEwMDY5cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTE3CisgICAgLTB4MS5mZmZmZmZmZmZmZmRjYWY2Yjc0YjZhMjM4NmUyZDlmYnAtMSwKKyAgICAweDEuMjEwNmNhNDkxMDA2YXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTExOAorICAgIDB4MS5mZmZmZmZmZmZmZmRjYWY2Yjc0YjZhMjM4NmUyZDlmYnAtMSwKKyAgICAtMHgxLjIxMDZjYTQ5MTAwNmFwNAorICB9LAorICB7IC8vIEVudHJ5IDExMTkKKyAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzN2U2Yzk2YWYwcC00OCwKKyAgICAweDEuMmQ5N2M3ZjMzMjFkMXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyMAorICAgIDB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4MzdlNmM5NmFmMHAtNDgsCisgICAgLTB4MS4yZDk3YzdmMzMyMWQxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIxCisgICAgLTB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4YzcxZjZiYXAtNTEsCisgICAgMHgxLjJkOTdjN2YzMzIxZDJwNAorICB9LAorICB7IC8vIEVudHJ5IDExMjIKKyAgICAweDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhOGM3MWY2YmFwLTUxLAorICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyMworICAgIDB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTFiMzkwMTAxZnAtNDksCisgICAgMHgxLjJkOTdjN2YzMzIxZDNwNAorICB9LAorICB7IC8vIEVudHJ5IDExMjQKKyAgICAtMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MWIzOTAxMDFmcC00OSwKKyAgICAtMHgxLjJkOTdjN2YzMzIxZDNwNAorICB9LAorICB7IC8vIEVudHJ5IDExMjUKKyAgICAweDEuZmZmZmZmZmZmZmY4MjM2MzIyODE4MTkxMWRiMTQ0YmFwLTEsCisgICAgMHgxLjNhMjhjNTlkNTQzMzlwNAorICB9LAorICB7IC8vIEVudHJ5IDExMjYKKyAgICAtMHgxLmZmZmZmZmZmZmZmODIzNjMyMjgxODE5MTFkYjE0NGJhcC0xLAorICAgIC0weDEuM2EyOGM1OWQ1NDMzOXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyNworICAgIDB4MS5mZmZmZmZmZmZmZmMyMzYzMjI4MTgxODU2NDc3ODliZHAtMSwKKyAgICAweDEuM2EyOGM1OWQ1NDMzYXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTEyOAorICAgIC0weDEuZmZmZmZmZmZmZmZjMjM2MzIyODE4MTg1NjQ3Nzg5YmRwLTEsCisgICAgLTB4MS4zYTI4YzU5ZDU0MzNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTI5CisgICAgMHgxLjAwMDAwMDAwMDAwMDExYjE5MTQwYzBjMGQ1OWVlNzYwcDAsCisgICAgMHgxLjNhMjhjNTlkNTQzM2JwNAorICB9LAorICB7IC8vIEVudHJ5IDExMzAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDExYjE5MTQwYzBjMGQ1OWVlNzYwcDAsCisgICAgLTB4MS4zYTI4YzU5ZDU0MzNicDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMxCisgICAgMHgxLjI4ZjkzNDMxNWU1ZWI5YjQ1YTYwM2E1Zjc4OGRlMTMxcDQ3LAorICAgIDB4MS40NmI5YzM0Nzc2NGEycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMyCisgICAgLTB4MS4yOGY5MzQzMTVlNWViOWI0NWE2MDNhNWY3ODhkZTEzMXA0NywKKyAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwNAorICB9LAorICB7IC8vIEVudHJ5IDExMzMKKyAgICAweDEuNjE4ZmRiN2YyMWMxM2MyMzZhNGM0NTUxZmYxMzlmNWRwNDgsCisgICAgMHgxLjQ2YjljMzQ3NzY0YTNwNAorICB9LAorICB7IC8vIEVudHJ5IDExMzQKKyAgICAtMHgxLjYxOGZkYjdmMjFjMTNjMjM2YTRjNDU1MWZmMTM5ZjVkcDQ4LAorICAgIC0weDEuNDZiOWMzNDc3NjRhM3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTEzNQorICAgIC0weDEuY2ZkZTYxMjE4YWI5ZTc5ZmZlOGYwNDZhZmRmMDBkZTNwNDksCisgICAgMHgxLjQ2YjljMzQ3NzY0YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDExMzYKKyAgICAweDEuY2ZkZTYxMjE4YWI5ZTc5ZmZlOGYwNDZhZmRmMDBkZTNwNDksCisgICAgLTB4MS40NmI5YzM0Nzc2NGE0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM3CisgICAgLTB4MS4wMDAwMDAwMDAwMDJmNzIxODFkOGM5NzE5M2Y5ZWU0OXAwLAorICAgIDB4MS41MzRhYzBmMTk4NjBicDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM4CisgICAgMHgxLjAwMDAwMDAwMDAwMmY3MjE4MWQ4Yzk3MTkzZjllZTQ5cDAsCisgICAgLTB4MS41MzRhYzBmMTk4NjBicDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTM5CisgICAgLTB4MS4wMDAwMDAwMDAwMDBmNzIxODFkOGM5NmRhNWI2ZWE5OHAwLAorICAgIDB4MS41MzRhYzBmMTk4NjBjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQwCisgICAgMHgxLjAwMDAwMDAwMDAwMGY3MjE4MWQ4Yzk2ZGE1YjZlYTk4cDAsCisgICAgLTB4MS41MzRhYzBmMTk4NjBjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQxCisgICAgLTB4MS5mZmZmZmZmZmZmZmRlZTQzMDNiMTkyZGI2ZWU3Y2RjZHAtMSwKKyAgICAweDEuNTM0YWMwZjE5ODYwZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE0MgorICAgIDB4MS5mZmZmZmZmZmZmZmRlZTQzMDNiMTkyZGI2ZWU3Y2RjZHAtMSwKKyAgICAtMHgxLjUzNGFjMGYxOTg2MGRwNAorICB9LAorICB7IC8vIEVudHJ5IDExNDMKKyAgICAtMHgxLjNkYzU4NWIyYzc0MjE4MTMyNmUwN2M0MTJjMjRhMDUycC00OCwKKyAgICAweDEuNWZkYmJlOWJiYTc3NHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE0NAorICAgIDB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDEyYzI0YTA1MnAtNDgsCisgICAgLTB4MS41ZmRiYmU5YmJhNzc0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQ1CisgICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ1MTEwNTk1ZXAtNTEsCisgICAgMHgxLjVmZGJiZTliYmE3NzVwNAorICB9LAorICB7IC8vIEVudHJ5IDExNDYKKyAgICAweDEuZWUyYzJkOTYzYTEwYzA5OTM3MDNlMjA0NTExMDU5NWVwLTUxLAorICAgIC0weDEuNWZkYmJlOWJiYTc3NXA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE0NworICAgIDB4MS44NDc0ZjQ5YTcxN2JjZmQ5YjIzZjA3N2YzOGFhZmQyYXAtNDksCisgICAgMHgxLjVmZGJiZTliYmE3NzZwNAorICB9LAorICB7IC8vIEVudHJ5IDExNDgKKyAgICAtMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZjM4YWFmZDJhcC00OSwKKyAgICAtMHgxLjVmZGJiZTliYmE3NzZwNAorICB9LAorICB7IC8vIEVudHJ5IDExNDkKKyAgICAweDEuZmZmZmZmZmZmZmY4MDAxNmQ2MWI1OGQ5OWJlNzk5NGVwLTEsCisgICAgMHgxLjZjNmNiYzQ1ZGM4ZGNwNAorICB9LAorICB7IC8vIEVudHJ5IDExNTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmODAwMTZkNjFiNThkOTliZTc5OTRlcC0xLAorICAgIC0weDEuNmM2Y2JjNDVkYzhkY3A0CisgIH0sCisgIHsgLy8gRW50cnkgMTE1MQorICAgIDB4MS5mZmZmZmZmZmZmZmMwMDE2ZDYxYjU4Y2Q5YzE1NDU4NXAtMSwKKyAgICAweDEuNmM2Y2JjNDVkYzhkZHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE1MgorICAgIC0weDEuZmZmZmZmZmZmZmZjMDAxNmQ2MWI1OGNkOWMxNTQ1ODVwLTEsCisgICAgLTB4MS42YzZjYmM0NWRjOGRkcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUzCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMGI2YjBkYWM2NGNlMjE3OGRkcDAsCisgICAgMHgxLjZjNmNiYzQ1ZGM4ZGVwNAorICB9LAorICB7IC8vIEVudHJ5IDExNTQKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMGI2YjBkYWM2NGNlMjE3OGRkcDAsCisgICAgLTB4MS42YzZjYmM0NWRjOGRlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU1CisgICAgMHgxLjIzMjZmNGU4ZjJiYjE4MGU1YmYwNDE3ZDc1ZWE1ZDllcDQ3LAorICAgIDB4MS43OGZkYjllZmZlYTQ1cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTU2CisgICAgLTB4MS4yMzI2ZjRlOGYyYmIxODBlNWJmMDQxN2Q3NWVhNWQ5ZXA0NywKKyAgICAtMHgxLjc4ZmRiOWVmZmVhNDVwNAorICB9LAorICB7IC8vIEVudHJ5IDExNTcKKyAgICAweDEuNTE3ZWEwODcwOGJhNjlkYTMzM2E4Yzg1ZjNiYzY2MDlwNDgsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDZwNAorICB9LAorICB7IC8vIEVudHJ5IDExNTgKKyAgICAtMHgxLjUxN2VhMDg3MDhiYTY5ZGEzMzNhOGM4NWYzYmM2NjA5cDQ4LAorICAgIC0weDEuNzhmZGI5ZWZmZWE0NnA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE1OQorICAgIC0weDEuMDkwYjNkNTE2MTc4NWFjMmQzMTY2M2Y3ZTVkNmJlZDRwNTAsCisgICAgMHgxLjc4ZmRiOWVmZmVhNDdwNAorICB9LAorICB7IC8vIEVudHJ5IDExNjAKKyAgICAweDEuMDkwYjNkNTE2MTc4NWFjMmQzMTY2M2Y3ZTVkNmJlZDRwNTAsCisgICAgLTB4MS43OGZkYjllZmZlYTQ3cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYxCisgICAgLTB4MS4wMDAwMDAwMDAwMDMwOGM3YTgwYmRkY2RjZmNjN2RlN3AwLAorICAgIDB4MS44NThlYjc5YTIwYmFlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYyCisgICAgMHgxLjAwMDAwMDAwMDAwMzA4YzdhODBiZGRjZGNmY2M3ZGU3cDAsCisgICAgLTB4MS44NThlYjc5YTIwYmFlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYzCisgICAgLTB4MS4wMDAwMDAwMDAwMDEwOGM3YTgwYmRkYzliZTNkMmRjZnAwLAorICAgIDB4MS44NThlYjc5YTIwYmFmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY0CisgICAgMHgxLjAwMDAwMDAwMDAwMTA4YzdhODBiZGRjOWJlM2QyZGNmcDAsCisgICAgLTB4MS44NThlYjc5YTIwYmFmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY1CisgICAgLTB4MS5mZmZmZmZmZmZmZmUxMThmNTAxN2JiOTM1OTViYmI2ZnAtMSwKKyAgICAweDEuODU4ZWI3OWEyMGJiMHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTE2NgorICAgIDB4MS5mZmZmZmZmZmZmZmUxMThmNTAxN2JiOTM1OTViYmI2ZnAtMSwKKyAgICAtMHgxLjg1OGViNzlhMjBiYjBwNAorICB9LAorICB7IC8vIEVudHJ5IDExNjcKKyAgICAtMHgxLmFmMDc5MjAwMWY4NTYzMzVhMzgwMTBhNmE2ODMyZTZicDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTY4CisgICAgMHgxLmFmMDc5MjAwMWY4NTYzMzVhMzgwMTBhNmE2ODMyZTZicDIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTE2OQorICAgIDB4MS41MmY1MGU3NTc5NDFjYmZmNWI3YzJlMDZhMWFiN2U5ZHA2LAorICAgIDB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTE3MAorICAgIC0weDEuNTJmNTBlNzU3OTQxY2JmZjViN2MyZTA2YTFhYjdlOWRwNiwKKyAgICAtMHgxLjBwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcxCisgICAgMHgxLjc1NzA2NjdkMDMyZWNhOGVmNzgwYWQ1OWQzZTI3ZTRicDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcyCisgICAgLTB4MS43NTcwNjY3ZDAzMmVjYThlZjc4MGFkNTlkM2UyN2U0YnAxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MworICB9LAorICB7IC8vIEVudHJ5IDExNzMKKyAgICAtMHgxLjJlOGZjMjQ4ZTdiODU0ZmU1YzJkYzlkMjg3ZGUwY2QzcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc0CisgICAgMHgxLjJlOGZjMjQ4ZTdiODU0ZmU1YzJkYzlkMjg3ZGUwY2QzcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI2CisgIH0sCisgIHsgLy8gRW50cnkgMTE3NQorICAgIC0weDEuMmU4ZmMxYWY4MWQ4YmFhODg5OWEzMzI1MjAwYzBkY2JwMCwKKyAgICAweDEuMHAyNworICB9LAorICB7IC8vIEVudHJ5IDExNzYKKyAgICAweDEuMmU4ZmMxYWY4MWQ4YmFhODg5OWEzMzI1MjAwYzBkY2JwMCwKKyAgICAtMHgxLjBwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTc3CisgICAgLTB4MS4yZThmYzA3Y2I2MWE5NWVmNWU1ZDhkNjQxNjY1MmM3YXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI3CisgIH0sCisgIHsgLy8gRW50cnkgMTE3OAorICAgIDB4MS4yZThmYzA3Y2I2MWE5NWVmNWU1ZDhkNjQxNjY1MmM3YXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNworICB9LAorICB7IC8vIEVudHJ5IDExNzkKKyAgICAtMHgxLjNlYTI4Mjg2MGU3ZmJlMTc2NTYwN2MyZmRiMzI0ODFmcDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgwCisgICAgMHgxLjNlYTI4Mjg2MGU3ZmJlMTc2NTYwN2MyZmRiMzI0ODFmcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTE4MQorICAgIC0weDEuM2VhMjgyNzFhOWJlYTM2ZTc0NGY5Y2U1MzdiYTRiNTlwMCwKKyAgICAweDEuMHAyNAorICB9LAorICB7IC8vIEVudHJ5IDExODIKKyAgICAweDEuM2VhMjgyNzFhOWJlYTM2ZTc0NGY5Y2U1MzdiYTRiNTlwMCwKKyAgICAtMHgxLjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgzCisgICAgLTB4MS4zZWEyODI0OGUwM2M3MmRlZjcwZTdlZmI0YzQzZjAzZXAwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTE4NAorICAgIDB4MS4zZWEyODI0OGUwM2M3MmRlZjcwZTdlZmI0YzQzZjAzZXAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNAorICB9LAorICB7IC8vIEVudHJ5IDExODUKKyAgICAweDEuMjg2NmY5YmU0ZGUwZWMyN2VmYTkwNDlhYjgwYmJkNmNwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4NgorICAgIC0weDEuMjg2NmY5YmU0ZGUwZWMyN2VmYTkwNDlhYjgwYmJkNmNwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDExODcKKyAgICAweDEuMjg2NmY5YmU0ZGUxMzcwZGI5MDc4NjA3MDEyY2IwN2JwMCwKKyAgICAweDEuMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE4OAorICAgIC0weDEuMjg2NmY5YmU0ZGUxMzcwZGI5MDc4NjA3MDEyY2IwN2JwMCwKKyAgICAtMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDExODkKKyAgICAweDEuMjg2NmY5YmU0ZGUxY2NkOTRiYzQ4OGRmZDQ3ODczYWZwMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE5MAorICAgIC0weDEuMjg2NmY5YmU0ZGUxY2NkOTRiYzQ4OGRmZDQ3ODczYWZwMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDExOTEKKyAgICAtMHgxLjE3YWY2MmUwOTUwZmIxZTcwMWM2NDJlZjg3MzdmNTE2cDEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDExOTIKKyAgICAweDEuMTdhZjYyZTA5NTBmYjFlNzAxYzY0MmVmODczN2Y1MTZwMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDExOTMKKyAgICAtMHgxLjE3YWY2MmUwOTUwZjgzYjUwOTkwODdhYWY2N2FmOWMxcDEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDExOTQKKyAgICAweDEuMTdhZjYyZTA5NTBmODNiNTA5OTA4N2FhZjY3YWY5YzFwMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDExOTUKKyAgICAtMHgxLjE3YWY2MmUwOTUwZjI3NTExOTI1MTEyMWZhZGIxN2JhcDEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDExOTYKKyAgICAweDEuMTdhZjYyZTA5NTBmMjc1MTE5MjUxMTIxZmFkYjE3YmFwMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDExOTcKKyAgICAweDEuOGViMjQ1Y2JlZTNhNDAyMzU2MTNlNzU3NTAyMGQzMGRwMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDExOTgKKyAgICAtMHgxLjhlYjI0NWNiZWUzYTQwMjM1NjEzZTc1NzUwMjBkMzBkcDAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTE5OQorICAgIDB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAwCisgICAgLTB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMQorICAgIDB4MS44ZWIyNDVjYmVlM2E5MjU5Yjk0ZmY0ZTdmYjgxMTFlY3AwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAyCisgICAgLTB4MS44ZWIyNDVjYmVlM2E5MjU5Yjk0ZmY0ZTdmYjgxMTFlY3AwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIwMworICAgIDB4MS4xN2I0ZjViZjM0NzQ5OWNlNDE4NTVkZWU0MzQ0YmQxZHAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMDQKKyAgICAtMHgxLjE3YjRmNWJmMzQ3NDk5Y2U0MTg1NWRlZTQzNDRiZDFkcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMDUKKyAgICAweDEuMTdiNGY1YmYzNDc0YTQzMTc5NjQ4MDc4ODI0NDRjYzhwLTEsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA2CisgICAgLTB4MS4xN2I0ZjViZjM0NzRhNDMxNzk2NDgwNzg4MjQ0NGNjOHAtMSwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjA3CisgICAgMHgxLjE3YjRmNWJmMzQ3NGI4ZjdlOTIyYzU4ZDAwY2I5ZGQycC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIwOAorICAgIC0weDEuMTdiNGY1YmYzNDc0YjhmN2U5MjJjNThkMDBjYjlkZDJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTIwOQorICAgIDB4MS4wNTc4NWE0M2M0YzU1NWRlMGNiMTM3MWYxMGRiMzFhZnAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDEyMTAKKyAgICAtMHgxLjA1Nzg1YTQzYzRjNTU1ZGUwY2IxMzcxZjEwZGIzMWFmcC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDEyMTEKKyAgICAweDEuMDU3ODVhNDNjNGM1NWU2Mzk0MDE4ODk2NWMyOGJkMGZwLTIsCisgICAgMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEyCisgICAgLTB4MS4wNTc4NWE0M2M0YzU1ZTYzOTQwMTg4OTY1YzI4YmQwZnAtMiwKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEzCisgICAgMHgxLjA1Nzg1YTQzYzRjNTZmNmVhMmEyMmI4NGYyZGRmMDNmcC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIxNAorICAgIC0weDEuMDU3ODVhNDNjNGM1NmY2ZWEyYTIyYjg0ZjJkZGYwM2ZwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIxNQorICAgIDB4MS4wMTU3N2FmMTUxMWE0NWU0MDNkZDYwYzhkODI1OTBkMHAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEyMTYKKyAgICAtMHgxLjAxNTc3YWYxNTExYTQ1ZTQwM2RkNjBjOGQ4MjU5MGQwcC0zLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEyMTcKKyAgICAweDEuMDE1NzdhZjE1MTFhNGUwNDU5ZjViODcyZDRmZjM0ZmRwLTMsCisgICAgMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE4CisgICAgLTB4MS4wMTU3N2FmMTUxMWE0ZTA0NTlmNWI4NzJkNGZmMzRmZHAtMywKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjE5CisgICAgMHgxLjAxNTc3YWYxNTExYTVlNDUwNjI2NjdjNmNlYjg5ZGM0cC0zLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIyMAorICAgIC0weDEuMDE1NzdhZjE1MTFhNWU0NTA2MjY2N2M2Y2ViODlkYzRwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIyMQorICAgIDB4MS4wMDU1Nzc4NTRkZjAwMDJhOGU2NjA2ZjZjNjE4ZDk4OHAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyMjIKKyAgICAtMHgxLjAwNTU3Nzg1NGRmMDAwMmE4ZTY2MDZmNmM2MThkOTg4cC00LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEyMjMKKyAgICAweDEuMDA1NTc3ODU0ZGYwMDgzMjkzYmU2MzkwNTdiMGM2ODFwLTQsCisgICAgMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI0CisgICAgLTB4MS4wMDU1Nzc4NTRkZjAwODMyOTNiZTYzOTA1N2IwYzY4MXAtNCwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjI1CisgICAgMHgxLjAwNTU3Nzg1NGRmMDE4NDI5ZTZmMWNjMzdhZTIyMjc0cC00LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTIyNgorICAgIC0weDEuMDA1NTc3ODU0ZGYwMTg0MjllNmYxY2MzN2FlMjIyNzRwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTIyNworICAgIDB4MS4wMDE1NTc3N2FlYzA3ZDdiMjI3NDFkMTJlZTUzYTlmY3AtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEyMjgKKyAgICAtMHgxLjAwMTU1Nzc3YWVjMDdkN2IyMjc0MWQxMmVlNTNhOWZjcC01LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEyMjkKKyAgICAweDEuMDAxNTU3NzdhZWMwODU3ZDIyYzk3ZTgwOTg2MDI4OGRwLTUsCisgICAgMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMwCisgICAgLTB4MS4wMDE1NTc3N2FlYzA4NTdkMjJjOTdlODA5ODYwMjg4ZHAtNSwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMxCisgICAgMHgxLjAwMTU1Nzc3YWVjMDk1ODEyMzc0NDE1YmVjNzk4NWNlcC01LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIzMgorICAgIC0weDEuMDAxNTU3NzdhZWMwOTU4MTIzNzQ0MTViZWM3OTg1Y2VwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTIzMworICAgIDB4MS4wMDA1NTU3Nzc4NTQ4MmUxMzVmMGFmZWViZTgwNWFkYnAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEyMzQKKyAgICAtMHgxLjAwMDU1NTc3Nzg1NDgyZTEzNWYwYWZlZWJlODA1YWRicC02LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDEyMzUKKyAgICAweDEuMDAwNTU1Nzc3ODU0OGFlMWI1ZjYwNTc0NzA2ZTgyMzhwLTYsCisgICAgMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM2CisgICAgLTB4MS4wMDA1NTU3Nzc4NTQ4YWUxYjVmNjA1NzQ3MDZlODIzOHAtNiwKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjM3CisgICAgMHgxLjAwMDU1NTc3Nzg1NDlhZTJiNjAwYjA3ZmQ0NGFlOGYzcC02LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTIzOAorICAgIC0weDEuMDAwNTU1Nzc3ODU0OWFlMmI2MDBiMDdmZDQ0YWU4ZjNwLTYsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTIzOQorICAgIDB4MS4wMDAwMDAwNTU1NTU0ZDc3Nzc3NmY4NTQ4NTQzMDRjOXAtMTQsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgMTI0MAorICAgIC0weDEuMDAwMDAwMDU1NTU1NGQ3Nzc3NzZmODU0ODU0MzA0YzlwLTE0LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQxCisgICAgMHgxLjAwMDAwMDA1NTU1NTU1Nzc3Nzc3Nzg1NDg1NDg1YTFlcC0xNCwKKyAgICAweDEuMHAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQyCisgICAgLTB4MS4wMDAwMDAwNTU1NTU1NTc3Nzc3Nzc4NTQ4NTQ4NWExZXAtMTQsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEyNDMKKyAgICAweDEuMDAwMDAwMDU1NTU1NjU3Nzc3Nzg3ODU0ODU1MzA0YzlwLTE0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEyNDQKKyAgICAtMHgxLjAwMDAwMDA1NTU1NTY1Nzc3Nzc4Nzg1NDg1NTMwNGM5cC0xNCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgMTI0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMmFhYWFhYWFhYWFhYTZlZWVlZXAtMjgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI4CisgIH0sCisgIHsgLy8gRW50cnkgMTI0NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjJhYWFhYWFhYWFhYWE2ZWVlZWVwLTI4LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAxNTU1NTU1NTU1NTU1NTc3Nzc3cC0yNywKKyAgICAweDEuMHAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQ4CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMTU1NTU1NTU1NTU1NTU3Nzc3N3AtMjcsCisgICAgLTB4MS4wcC0yNworICB9LAorICB7IC8vIEVudHJ5IDEyNDkKKyAgICAweDEuMDAwMDAwMDAwMDAwMTE1NTU1NTU1NTU1NTU5Nzc3NzdwLTI3LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNworICB9LAorICB7IC8vIEVudHJ5IDEyNTAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDExNTU1NTU1NTU1NTU1OTc3Nzc3cC0yNywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTI1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmMDBhYWFhYWFhYWFhYWE5YWFlZXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgMTI1MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjAwYWFhYWFhYWFhYWFhOWFhZWVwLTMxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUzCisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1NTc3cC0zMCwKKyAgICAweDEuMHAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU0CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU3N3AtMzAsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEyNTUKKyAgICAweDEuMDAwMDAwMDAwMDAwMTAwNTU1NTU1NTU1NTU1NjU1NzdwLTMwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEyNTYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwMDU1NTU1NTU1NTU1NTY1NTc3cC0zMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1NworICAgIDB4MS40NTMwY2ZlNzI5NDgzYjhkYTFmNzEwMWUxNmNkNzRiN3AtOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNTgKKyAgICAtMHgxLjQ1MzBjZmU3Mjk0ODNiOGRhMWY3MTAxZTE2Y2Q3NGI3cC04LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjU5CisgICAgLTB4MS40NTMwY2ZlNzI5NDgzYjhkYTFmNzEwMWUxNmNkNzRiN3AtOCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2MAorICAgIDB4MS40NTMwY2ZlNzI5NDgzYjhkYTFmNzEwMWUxNmNkNzRiN3AtOCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDEyNjEKKyAgICAtMHgxLjQ1MzBjZmU3Mjk0ODNiOGRhMWY3MTAxZTE2Y2Q3NGI3cC04LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYyCisgICAgMHgxLjQ1MzBjZmU3Mjk0ODNiOGRhMWY3MTAxZTE2Y2Q3NGI3cC04LAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2MworICAgIDB4MS4zYzZlOTk3MGY3OGI4NGZjODIyNzUxN2ZkNTIxMDE3YnAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY0CisgICAgLTB4MS4zYzZlOTk3MGY3OGI4NGZjODIyNzUxN2ZkNTIxMDE3YnAxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI2NQorICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ2MWQ1ZDdwLTUzLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjY2CisgICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0NjFkNWQ3cC01MywKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDEyNjcKKyAgICAweDEuZDAyOTY3YzMxY2RiNGUwYzM4ZDAxYjY1NWQ1ZTBhYWZwNTMsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNjgKKyAgICAtMHgxLmQwMjk2N2MzMWNkYjRlMGMzOGQwMWI2NTVkNWUwYWFmcDUzLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2OQorICAgIDB4MS44ZWIyNDVjYmVlM2E5MjU5Yjk0ZmY0ZTdmYjgxMTFlY3AwLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcwCisgICAgLTB4MS44ZWIyNDVjYmVlM2E5MjU5Yjk0ZmY0ZTdmYjgxMTFlY3AwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3MQorICAgIDB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcyCisgICAgLTB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3MworICAgIDB4MS44ZWIyNDVjYmVlM2E0MDIzNTYxM2U3NTc1MDIwZDMwZHAwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NAorICAgIC0weDEuOGViMjQ1Y2JlZTNhNDAyMzU2MTNlNzU3NTAyMGQzMGRwMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjc1CisgICAgMHgxLmZmZmZmZmZmZmZmZmY3MmNlY2U2NzVkMWZjYTMwNDg5cC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZjcyY2VjZTY3NWQxZmNhMzA0ODlwLTEsCisgICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTI3NworICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyNzgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyNzkKKyAgICAweDEucC0xMDIyLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMTI4MAorICAgIC0weDEucC0xMDIyLAorICAgIC0weDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDEyODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMTI4NQorICAgIDB4MS5wLTEwNzMsCisgICAgMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg2CisgICAgLTB4MS5wLTEwNzMsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMTI4NworICAgIDB4MS5wLTEwNzQsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjg4CisgICAgLTB4MS5wLTEwNzQsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMTI4OQorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkwCisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3RhbmZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3RhbmZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NjkxMTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvdGFuZl9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSw0NDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZmxvYXQsIGZsb2F0PiBnX3RhbmZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMHgxLjAwMDAwMDAwMDAxNTU1NTU1NTU1NTc3Nzc3Nzc3Nzc3cC0yMSwKKyAgICAtMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLjAwMDAwMDAwMDAxNTU1NTU1NTU1NTc3Nzc3Nzc3Nzc3cC0yMSwKKyAgICAweDEucC0yMQorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLnAtMTQ5LAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAtMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMTU1NTU1ZDU1NTU2cC00MSwKKyAgICAtMHgxLjAwMDAwMnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMTU1NTU1ZDU1NTU2cC00MSwKKyAgICAweDEuMDAwMDAycC00MQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLmZmYjdlYjAwNGI3ZTEyYjM2OTM4OGZhYWEwMzQyZjZjcC0zLAorICAgIC0weDEuMjdjY2E2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLmZmYjdlYjAwNGI3ZTEyYjM2OTM4OGZhYWEwMzQyZjZjcC0zLAorICAgIDB4MS4yN2NjYTZwNworICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLjNiN2RkYWZmZGM5YTJmYWQzOWYzMjk3NDNmYmY0OWU1cDQsCisgICAgLTB4MS4yYTU5OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEuM2I3ZGRhZmZkYzlhMmZhZDM5ZjMyOTc0M2ZiZjQ5ZTVwNCwKKyAgICAweDEuMmE1OTk2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMAorICAgIDB4MS44MTlmMzJmZmQ5N2IxZWQ2NjdiYzE0MzM4NzAzN2RkZXAtMSwKKyAgICAtMHgxLjNmN2YyMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAtMHgxLjgxOWYzMmZmZDk3YjFlZDY2N2JjMTQzMzg3MDM3ZGRlcC0xLAorICAgIDB4MS4zZjdmMjJwMQorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS40MDVmOTAwMDAwMDAwMDAwMDAwYTc0MDI4NDY1ODNkMHAtMzgsCisgICAgLTB4MS40MDVmOTBwLTM4CisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuNDA1ZjkwMDAwMDAwMDAwMDAwMGE3NDAyODQ2NTgzZDBwLTM4LAorICAgIDB4MS40MDVmOTBwLTM4CisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLjhjZDc5OTk1MzQ0Yzc5NDNjN2IzZTAyMTYwN2RhM2NicC0yLAorICAgIC0weDEuNDk2ZTgwcDk2CisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEuOGNkNzk5OTUzNDRjNzk0M2M3YjNlMDIxNjA3ZGEzY2JwLTIsCisgICAgMHgxLjQ5NmU4MHA5NgorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLmUxNDQ0NzFlYTJiNDliNmMxZmRjZWZmOGNjY2VlYTdicDEwLAorICAgIC0weDEuNWZlMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMTcKKyAgICAtMHgxLmUxNDQ0NzFlYTJiNDliNmMxZmRjZWZmOGNjY2VlYTdicDEwLAorICAgIDB4MS41ZmUwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuY2EwZjRjMjMxNWFiNWE5NzI5ZTZhZmE4NTc2NzdiM2ZwLTEsCisgICAgLTB4MS43NWFlZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOQorICAgIDB4MS5jYTBmNGMyMzE1YWI1YTk3MjllNmFmYTg1NzY3N2IzZnAtMSwKKyAgICAweDEuNzVhZWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLmMzM2VkNTBiODg3Nzc1YTVkNjEzYzA4YzQ4OGZiYjljcDMsCisgICAgLTB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuYzMzZWQ1MGI4ODc3NzVhNWQ2MTNjMDhjNDg4ZmJiOWNwMywKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDIyCisgICAgLTB4MS5jMzQ1MTNlZTcxNDBmZGI4MjE3ZTgzZGMyZDZkNmY1M3AzLAorICAgIC0weDEuODAwMDQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS5jMzQ1MTNlZTcxNDBmZGI4MjE3ZTgzZGMyZDZkNmY1M3AzLAorICAgIDB4MS44MDAwNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgMHgxLjRlNmI4YTQ4MTY0YjllMWQ4MTc1ZTQ1MTJhYjIyZmYxcDAsCisgICAgLTB4MS44ZTM1NjBwOTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNQorICAgIC0weDEuNGU2YjhhNDgxNjRiOWUxZDgxNzVlNDUxMmFiMjJmZjFwMCwKKyAgICAweDEuOGUzNTYwcDk4CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLmQwMTdlMDIxNGE5NTMyNjVkOGRkNWMwYTExZWE2MWQxcC0xLAorICAgIC0weDEuOWRlN2Q0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5kMDE3ZTAyMTRhOTUzMjY1ZDhkZDVjMGExMWVhNjFkMXAtMSwKKyAgICAweDEuOWRlN2Q0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIC0weDEuZDA0NzNmMDIyNzBjMGVlYzg4M2U3NTNlNTA4MDA2NzBwLTEsCisgICAgLTB4MS45ZGU4YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDI5CisgICAgMHgxLmQwNDczZjAyMjcwYzBlZWM4ODNlNzUzZTUwODAwNjcwcC0xLAorICAgIDB4MS45ZGU4YTRwNAorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmQwYWFkYTIyYWE1ZTNkYzM1YjUwNjNjNjM5MDQ3ZGY1cC0xLAorICAgIC0weDEuYmU3ZTVhcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEuZDBhYWRhMjJhYTVlM2RjMzViNTA2M2M2MzkwNDdkZjVwLTEsCisgICAgMHgxLmJlN2U1YXA1CisgIH0sCisgIHsgLy8gRW50cnkgMzIKKyAgICAtMHgxLmVlOTQ5NTAwMGExOTBjZGI2ZGIzZTgzZDJjMDVlZjM4cC0yLAorICAgIC0weDEuY2NiZWIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzMKKyAgICAweDEuZWU5NDk1MDAwYTE5MGNkYjZkYjNlODNkMmMwNWVmMzhwLTIsCisgICAgMHgxLmNjYmViMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgMHgxLmRjMzJlYmE2MzhkMTM0NThjN2IyOWQ5NmFiZmZlMWNhcC03LAorICAgIC0weDEuZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIC0weDEuZGMzMmViYTYzOGQxMzQ1OGM3YjI5ZDk2YWJmZmUxY2FwLTcsCisgICAgMHgxLmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuMDAwMDAwMDAwMDE1NTU1NTU1NTU1Nzc3Nzc3Nzc3NzdwLTIxLAorICAgIDB4MS5wLTIxCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAtMHgxLjAwMDAwMDAwMDAxNTU1NTU1NTU1NTc3Nzc3Nzc3Nzc3cC0yMSwKKyAgICAtMHgxLnAtMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS5wLTEzMSwKKyAgICAweDEucC0xMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEucC0xMzEsCisgICAgLTB4MS5wLTEzMQorICB9LAorICB7IC8vIEVudHJ5IDQwCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQxCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuNTJmNTBlNzU3OTQxY2JmZjViN2MyZTA2YTFhYjdlOWRwNiwKKyAgICAweDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAtMHgxLjUyZjUwZTc1Nzk0MWNiZmY1YjdjMmUwNmExYWI3ZTlkcDYsCisgICAgLTB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wMDAwMDIwMDAwMDAwMDAwMDAwMDE1NTU1NWQ1NTU1NnAtNDEsCisgICAgMHgxLjAwMDAwMnAtNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAxNTU1NTVkNTU1NTZwLTQxLAorICAgIC0weDEuMDAwMDAycC00MQorICB9LAorICB7IC8vIEVudHJ5IDQ2CisgICAgLTB4MS5hZGI3ZWI2ZDhjZWJiZTM2MmYxOTdkYmVkYTVjMTEzY3AtMSwKKyAgICAweDEuMDAwMDAycDUxCisgIH0sCisgIHsgLy8gRW50cnkgNDcKKyAgICAweDEuYWRiN2ViNmQ4Y2ViYmUzNjJmMTk3ZGJlZGE1YzExM2NwLTEsCisgICAgLTB4MS4wMDAwMDJwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS5mNzc2MmI3NTJiMDA2NzE1ZDkwYzM4OWExMTgyNmQ2YnAxLAorICAgIDB4MS4wMDAwMDRwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLmY3NzYyYjc1MmIwMDY3MTVkOTBjMzg5YTExODI2ZDZicDEsCisgICAgLTB4MS4wMDAwMDRwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLjA5Y2ZmMTAwMDA2NzE5MTJjODQ3NjJmMThjMjg1NDcwcDAsCisgICAgMHgxLjAwMDA5MHA3CisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAweDEuMDljZmYxMDAwMDY3MTkxMmM4NDc2MmYxOGMyODU0NzBwMCwKKyAgICAtMHgxLjAwMDA5MHA3CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuMDE1OTAxMDE3ZWRiNjdhYTdlNTJhZTY5NGU5OTBhMTlwLTMsCisgICAgMHgxLjAwMDE4MHAtMworICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS4wMTU5MDEwMTdlZGI2N2FhN2U1MmFlNjk0ZTk5MGExOXAtMywKKyAgICAtMHgxLjAwMDE4MHAtMworICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgMHgxLjAwMDIyMDAwMDAwMDAwMDAwMDAwNTU1Nzc1NTlkOTU4cC00MCwKKyAgICAweDEuMDAwMjIwcC00MAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS4wMDAyMjAwMDAwMDAwMDAwMDAwMDU1NTc3NTU5ZDk1OHAtNDAsCisgICAgLTB4MS4wMDAyMjBwLTQwCisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuNmQ1Mzc5NmNkZDQwMWUzZGRjMDllODM1YjhlYTY2MGFwMywKKyAgICAweDEuMDAwMzgwcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS42ZDUzNzk2Y2RkNDAxZTNkZGMwOWU4MzViOGVhNjYwYXAzLAorICAgIC0weDEuMDAwMzgwcDEyNworICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5iMDcwZTNhNjk2ODQ2M2FmNmU5ZGI5MjJlNzg0NTUyNHAtNywKKyAgICAweDEuMDAwODgwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OQorICAgIDB4MS5iMDcwZTNhNjk2ODQ2M2FmNmU5ZGI5MjJlNzg0NTUyNHAtNywKKyAgICAtMHgxLjAwMDg4MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAtMHgxLmZhNjFkY2ZmYTNlZmUzMjViMzI3MDRmYzQxMjQ2MmNmcDEsCisgICAgMHgxLjAwMjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MQorICAgIDB4MS5mYTYxZGNmZmEzZWZlMzI1YjMyNzA0ZmM0MTI0NjJjZnAxLAorICAgIC0weDEuMDAyMHA2MgorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZmZmQ4MjVhM2YzNzdmMDEyMjA5OTgyYTAwYzM0NmYwcC0yLAorICAgIDB4MS4wMDYwcDkwCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmZmZmQ4MjVhM2YzNzdmMDEyMjA5OTgyYTAwYzM0NmYwcC0yLAorICAgIC0weDEuMDA2MHA5MAorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLjAxM2M2OGZmZjA0YjY5ODE2NWRmZGY5ZDQ4NDQ0YTk1cC02LAorICAgIDB4MS4wMTM3cC02CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjAxM2M2OGZmZjA0YjY5ODE2NWRmZGY5ZDQ4NDQ0YTk1cC02LAorICAgIC0weDEuMDEzN3AtNgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLjkzMmM5OTRmNjFkODA0YTA4NGYyMGQ5NzVhNjE3YzUwcDAsCisgICAgMHgxLjAxNGNwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS45MzJjOTk0ZjYxZDgwNGEwODRmMjBkOTc1YTYxN2M1MHAwLAorICAgIC0weDEuMDE0Y3AwCisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmMzNGVjMjA1MzNlNzYwNTY1Y2I3NjJiMTVjMThkNmZjcDEsCisgICAgMHgxLjAyMDQ0NnA1OAorICB9LAorICB7IC8vIEVudHJ5IDY5CisgICAgMHgxLmMzNGVjMjA1MzNlNzYwNTY1Y2I3NjJiMTVjMThkNmZjcDEsCisgICAgLTB4MS4wMjA0NDZwNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS45ZmY3MTc2N2VhMDUxZTRlOWNjMDAwODkyMmIxMTEyOXAwLAorICAgIDB4MS4wNGU0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuOWZmNzE3NjdlYTA1MWU0ZTljYzAwMDg5MjJiMTExMjlwMCwKKyAgICAtMHgxLjA0ZTRwMAorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLjA3YzljNTAwMTY1OTA3OTcyMmY4ZTkxOTBmZmU2ZWM2cC0zLAorICAgIDB4MS4wNjU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLjA3YzljNTAwMTY1OTA3OTcyMmY4ZTkxOTBmZmU2ZWM2cC0zLAorICAgIC0weDEuMDY1OHAtMworICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLmZkNjExMDcyYTUwMzU3ZTYyNjY3NjhiMmNkZjAxOTRjcC0zLAorICAgIDB4MS4wYWM3MTBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmZkNjExMDcyYTUwMzU3ZTYyNjY3NjhiMmNkZjAxOTRjcC0zLAorICAgIC0weDEuMGFjNzEwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgMHgxLjBkZGJiNTAwMDI0NGM0ZmI5NzJlYjcyZGUwMDg5NmMwcC0zLAorICAgIDB4MS4wYzUwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzcKKyAgICAtMHgxLjBkZGJiNTAwMDI0NGM0ZmI5NzJlYjcyZGUwMDg5NmMwcC0zLAorICAgIC0weDEuMGM1MHAtMworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgLTB4MS5jMGFlYjVmODRiZTk1ZGE1YWIwNzE2ZGZiYTIwNWUyOHAyLAorICAgIDB4MS4wZGRjcDk2CisgIH0sCisgIHsgLy8gRW50cnkgNzkKKyAgICAweDEuYzBhZWI1Zjg0YmU5NWRhNWFiMDcxNmRmYmEyMDVlMjhwMiwKKyAgICAtMHgxLjBkZGNwOTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS4zNDA3NTRmZmZmZmViNzgwNzYxZTg2MzM3ZjBjNTVlZnAxLAorICAgIDB4MS4wZTI4YTZwNAorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS4zNDA3NTRmZmZmZmViNzgwNzYxZTg2MzM3ZjBjNTVlZnAxLAorICAgIC0weDEuMGUyOGE2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS4zNDlkOTVmZmVlNDcyZWM3YzEwOTM0NTcwZDNiYTQ4NnAtMSwKKyAgICAweDEuMTViY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS4zNDlkOTVmZmVlNDcyZWM3YzEwOTM0NTcwZDNiYTQ4NnAtMSwKKyAgICAtMHgxLjE1YmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIDB4MS5lZWM3MjQwM2E0ZmQyNGQwYzllMmFmMDg4YTA1ZmI4NXAwLAorICAgIDB4MS4xN2U0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NQorICAgIC0weDEuZWVjNzI0MDNhNGZkMjRkMGM5ZTJhZjA4OGEwNWZiODVwMCwKKyAgICAtMHgxLjE3ZTRwMAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmVmNGJkN2EyMTUyMzdiMzA2NWQ1NjlmZDRjNWY1YTQ3cDAsCisgICAgMHgxLjE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NworICAgIC0weDEuZWY0YmQ3YTIxNTIzN2IzMDY1ZDU2OWZkNGM1ZjVhNDdwMCwKKyAgICAtMHgxLjE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OAorICAgIC0weDEuZmU3OTM5MDAxMzhjOTk0MTgzNmI0ZmNiYzliMjI2MGRwLTQsCisgICAgMHgxLjE4cDY0CisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmU3OTM5MDAxMzhjOTk0MTgzNmI0ZmNiYzliMjI2MGRwLTQsCisgICAgLTB4MS4xOHA2NAorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLmYwOGYwODczYzU4MTlhOWY3Y2M2YmJmM2M1MjkxY2MwcDAsCisgICAgMHgxLjE4NDRwMAorICB9LAorICB7IC8vIEVudHJ5IDkxCisgICAgLTB4MS5mMDhmMDg3M2M1ODE5YTlmN2NjNmJiZjNjNTI5MWNjMHAwLAorICAgIC0weDEuMTg0NHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuNWM1MWNjMThmMDkxYmM0YjU0ZWU4MzYyMzQzOGM5YTdwMTEsCisgICAgMHgxLjE4ZmZmZXAxOQorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS41YzUxY2MxOGYwOTFiYzRiNTRlZTgzNjIzNDM4YzlhN3AxMSwKKyAgICAtMHgxLjE4ZmZmZXAxOQorICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjI2MzM1Njc4OThlNjkxZWViODdhZDAyNmJkMTZhN2U0cC0yLAorICAgIDB4MS4xZTdjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjI2MzM1Njc4OThlNjkxZWViODdhZDAyNmJkMTZhN2U0cC0yLAorICAgIC0weDEuMWU3Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLmZmZmZlZGY1NThiZmIzMTAwZjYxMTI1ZjI5NmI4YmFkcDEsCisgICAgMHgxLjFlYmVwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIC0weDEuZmZmZmVkZjU1OGJmYjMxMDBmNjExMjVmMjk2YjhiYWRwMSwKKyAgICAtMHgxLjFlYmVwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS4wZTU1MWIwMDAwN2ZhZTE3MjM2NDIxYTc2ZTg2MWM3NXAxLAorICAgIDB4MS4yMGVhOWNwMAorICB9LAorICB7IC8vIEVudHJ5IDk5CisgICAgLTB4MS4wZTU1MWIwMDAwN2ZhZTE3MjM2NDIxYTc2ZTg2MWM3NXAxLAorICAgIC0weDEuMjBlYTljcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuYzA3ZGZiMDU1MmJhNjBiNzFjN2RmNmJkN2NhNDA5ZDZwMjAsCisgICAgMHgxLjIxMDZjYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTAxCisgICAgLTB4MS5jMDdkZmIwNTUyYmE2MGI3MWM3ZGY2YmQ3Y2E0MDlkNnAyMCwKKyAgICAtMHgxLjIxMDZjYXA1CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgLTB4MS5mZDIzZmQ2NGE0YmZjZmI1OTdjNDY5MzM2NDlmNWFlMnAtMiwKKyAgICAweDEuMjE5ZGM2cDExOQorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZDIzZmQ2NGE0YmZjZmI1OTdjNDY5MzM2NDlmNWFlMnAtMiwKKyAgICAtMHgxLjIxOWRjNnAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAtMHgxLmI5M2MxMzAwMGQwMTZkMTRlNzU2YzI1ZTQyMzAyZDlmcC0zLAorICAgIDB4MS4yNmNkNmFwMworICB9LAorICB7IC8vIEVudHJ5IDEwNQorICAgIDB4MS5iOTNjMTMwMDBkMDE2ZDE0ZTc1NmMyNWU0MjMwMmQ5ZnAtMywKKyAgICAtMHgxLjI2Y2Q2YXAzCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgLTB4MS5lYmNiY2IxMzhiMjc0Y2JjYmU2MWFmNTExM2RhODNlY3AtNCwKKyAgICAweDEuMjljNGUwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZWJjYmNiMTM4YjI3NGNiY2JlNjFhZjUxMTNkYTgzZWNwLTQsCisgICAgLTB4MS4yOWM0ZTBwMworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS45OWJjNWI5NjFiMWIyNGZkYjc3ZmNlZTA4YmEyZjcyMHAtMjUsCisgICAgMHgxLjJkOTdjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgLTB4MS45OWJjNWI5NjFiMWIyNGZkYjc3ZmNlZTA4YmEyZjcyMHAtMjUsCisgICAgLTB4MS4yZDk3YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDExMAorICAgIC0weDEuZWQxOGFmMGIwYmE4MGRmYTZlOGVlMWIzYjMxZGZjNjBwLTEsCisgICAgMHgxLjMwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuZWQxOGFmMGIwYmE4MGRmYTZlOGVlMWIzYjMxZGZjNjBwLTEsCisgICAgLTB4MS4zMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjlhYjI0MTExY2ZjNjJkZjRkYmNhMzIwMjE2Yjk0NjUxcC00LAorICAgIDB4MS4zMGNhNzBwMworICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuOWFiMjQxMTFjZmM2MmRmNGRiY2EzMjAyMTZiOTQ2NTFwLTQsCisgICAgLTB4MS4zMGNhNzBwMworICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS4zMzdkOGZmZmZmZmVkZTYyZjA1MGU5OGIzYjk1OTZlMXAtMywKKyAgICAweDEuMzEzNWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgLTB4MS4zMzdkOGZmZmZmZmVkZTYyZjA1MGU5OGIzYjk1OTZlMXAtMywKKyAgICAtMHgxLjMxMzVmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS4zNDhlNjUwMDAwMDAyZWYzYTc2NWI5NDE2ZDEyY2Y3ZXAtMywKKyAgICAweDEuMzI0MGJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS4zNDhlNjUwMDAwMDAyZWYzYTc2NWI5NDE2ZDEyY2Y3ZXAtMywKKyAgICAtMHgxLjMyNDBiY3AtMworICB9LAorICB7IC8vIEVudHJ5IDExOAorICAgIC0weDEuYjllNThhZWM2MWE0NGFiNTMzYzJiODM3MjYzNjdlMTdwLTgsCisgICAgMHgxLjMyZDUzY3AxNgorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5iOWU1OGFlYzYxYTQ0YWI1MzNjMmI4MzcyNjM2N2UxN3AtOCwKKyAgICAtMHgxLjMyZDUzY3AxNgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIC0weDEuZTFmZDY4ZWRlYTQ0ZmI3ODc4MGVkNjJlNzNjNmUwMTdwLTYsCisgICAgMHgxLjNhMGFhOHA2CisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgMHgxLmUxZmQ2OGVkZWE0NGZiNzg3ODBlZDYyZTczYzZlMDE3cC02LAorICAgIC0weDEuM2EwYWE4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAtMHgxLjYyYTI4MTAwMDAxMzkzMDgwZjY3MzNkZmFmOWM3NmZjcC0xLAorICAgIDB4MS40NDk1YmFwMQorICB9LAorICB7IC8vIEVudHJ5IDEyMworICAgIDB4MS42MmEyODEwMDAwMTM5MzA4MGY2NzMzZGZhZjljNzZmY3AtMSwKKyAgICAtMHgxLjQ0OTViYXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmI5MjNjM2JhMGJjMGM1MDBiYTRjMjQ1MzAxYmFkMjA3cDEsCisgICAgMHgxLjQ5ZDQyYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI1CisgICAgLTB4MS5iOTIzYzNiYTBiYzBjNTAwYmE0YzI0NTMwMWJhZDIwN3AxLAorICAgIC0weDEuNDlkNDJhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuNTQxZjNmMDAwMjJhYzI1Y2M4YTkwODU1YWI2YmI4MDhwLTMsCisgICAgMHgxLjUxMGJiY3AtMworICB9LAorICB7IC8vIEVudHJ5IDEyNworICAgIC0weDEuNTQxZjNmMDAwMjJhYzI1Y2M4YTkwODU1YWI2YmI4MDhwLTMsCisgICAgLTB4MS41MTBiYmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuNzZmM2VmZmZmZjMwNTcxMjJlNmU3Y2U1MGQxMmNiY2VwLTMsCisgICAgMHgxLjU0OTUyMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLjc2ZjNlZmZmZmYzMDU3MTIyZTZlN2NlNTBkMTJjYmNlcC0zLAorICAgIC0weDEuNTQ5NTIwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS40Y2FjMDMwMDY0M2UxMmM0NjIwM2I0N2QzZWVlZDRmZnAtOSwKKyAgICAweDEuNTRjNGJhcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS40Y2FjMDMwMDY0M2UxMmM0NjIwM2I0N2QzZWVlZDRmZnAtOSwKKyAgICAtMHgxLjU0YzRiYXAyNAorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIC0weDEuNzBkNTQ1MDAwMDA1ODk3NGMyMGI5N2JhOTZmZGFlMDNwLTMsCisgICAgMHgxLjVhNzU3ZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIDB4MS43MGQ1NDUwMDAwMDU4OTc0YzIwYjk3YmE5NmZkYWUwM3AtMywKKyAgICAtMHgxLjVhNzU3ZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIC0weDEuZmZmZmU5YmJhN2YxMzIxZmFlMTkyOTQzYTNlODQ4YzBwLTEsCisgICAgMHgxLjVmZGJjMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM1CisgICAgMHgxLmZmZmZlOWJiYTdmMTMyMWZhZTE5Mjk0M2EzZTg0OGMwcC0xLAorICAgIC0weDEuNWZkYmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAtMHgxLmZmYjY4ZjAwNTBkYWJlNWNlNzE5MjAyNjEwZmNhYzJlcC0xLAorICAgIDB4MS41ZmUwNTZwMgorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIDB4MS5mZmI2OGYwMDUwZGFiZTVjZTcxOTIwMjYxMGZjYWMyZXAtMSwKKyAgICAtMHgxLjVmZTA1NnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM4CisgICAgLTB4MS5kYWJiNDZlMzkzN2U2YzUwNWFiMjA2MjIzMjMzOWExNnAtNywKKyAgICAweDEuNjQ5M2Q0cDk1CisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgMHgxLmRhYmI0NmUzOTM3ZTZjNTA1YWIyMDYyMjMyMzM5YTE2cC03LAorICAgIC0weDEuNjQ5M2Q0cDk1CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmM4MzIxNjI0ODFlMWNlNGYwMTczNmJiOTdhMzAxOWI5cC0xLAorICAgIDB4MS43NGE1NjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmM4MzIxNjI0ODFlMWNlNGYwMTczNmJiOTdhMzAxOWI5cC0xLAorICAgIC0weDEuNzRhNTY2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLjdiMmZhNDAwMDAwMzhkNTY5MjI2NTEyYzc3OTc2ZmY1cC0zLAorICAgIDB4MS43NmYwYjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLjdiMmZhNDAwMDAwMzhkNTY5MjI2NTEyYzc3OTc2ZmY1cC0zLAorICAgIC0weDEuNzZmMGIycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS40ZjM3NWFkOWRlZTVmZDYwNGZiMjk0MzVmMzJlZmU1N3AxLAorICAgIDB4MS43OGIzZmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ1CisgICAgMHgxLjRmMzc1YWQ5ZGVlNWZkNjA0ZmIyOTQzNWYzMmVmZTU3cDEsCisgICAgLTB4MS43OGIzZmFwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS4wMDAwNWVmZmZiZTczZTdiYWZlYWI3Zjc2YzhhOTNlZnAwLAorICAgIDB4MS43OGZkYjRwMworICB9LAorICB7IC8vIEVudHJ5IDE0NworICAgIDB4MS4wMDAwNWVmZmZiZTczZTdiYWZlYWI3Zjc2YzhhOTNlZnAwLAorICAgIC0weDEuNzhmZGI0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDgKKyAgICAtMHgxLmZjM2FjZTAwMDAyOWMzMzE2OTJhYTlmZTRlNDJmMDA0cC0xLAorICAgIDB4MS43OTFjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAweDEuZmMzYWNlMDAwMDI5YzMzMTY5MmFhOWZlNGU0MmYwMDRwLTEsCisgICAgLTB4MS43OTFjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAweDEuZGNmYTMyNTRiNTNiNmE3MGNlYzQ0NzNhYmU4NTAxMDJwLTEsCisgICAgMHgxLjdmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZGNmYTMyNTRiNTNiNmE3MGNlYzQ0NzNhYmU4NTAxMDJwLTEsCisgICAgLTB4MS43ZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTIKKyAgICAweDEuYzMzZWQ1MGI4ODc3NzVhNWQ2MTNjMDhjNDg4ZmJiOWNwMywKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuYzMzZWQ1MGI4ODc3NzVhNWQ2MTNjMDhjNDg4ZmJiOWNwMywKKyAgICAtMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTQKKyAgICAweDEuODAwOHAtMTMwLAorICAgIDB4MS44MDA4cC0xMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLjgwMDhwLTEzMCwKKyAgICAtMHgxLjgwMDhwLTEzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NgorICAgIC0weDEuZjk2MzcwZWM0ODJkMmJiMGViOGVhN2E1MzAxMzlmY2ZwLTUsCisgICAgMHgxLjgxODBwODMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAweDEuZjk2MzcwZWM0ODJkMmJiMGViOGVhN2E1MzAxMzlmY2ZwLTUsCisgICAgLTB4MS44MTgwcDgzCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5mZmY2NjRmYWE2Zjg2ZmE4YjRlNWUyNzE5ZDIxOTVjZnAtMSwKKyAgICAweDEuODllMDkwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAweDEuZmZmNjY0ZmFhNmY4NmZhOGI0ZTVlMjcxOWQyMTk1Y2ZwLTEsCisgICAgLTB4MS44OWUwOTBwOQorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS4xYzA1MTEwMTY0M2JlNzQwNzgyZmUwZGZjOWRjZDFjY3AwLAorICAgIDB4MS44YzYzMWVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjEKKyAgICAtMHgxLjFjMDUxMTAxNjQzYmU3NDA3ODJmZTBkZmM5ZGNkMWNjcDAsCisgICAgLTB4MS44YzYzMWVwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAweDEuYmIyZTg4ZjI2YjkzNjNmOWE4NTI2NjVmMzQxM2Q5OTRwMTMsCisgICAgMHgxLjhjNjdmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLmJiMmU4OGYyNmI5MzYzZjlhODUyNjY1ZjM0MTNkOTk0cDEzLAorICAgIC0weDEuOGM2N2ZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIC0weDEuZjBlNGVjMTMzNTg1Y2IzMGU2N2NmY2JiMzZmYWFkOGVwMSwKKyAgICAweDEuOTFkODU4cDEyCisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgMHgxLmYwZTRlYzEzMzU4NWNiMzBlNjdjZmNiYjM2ZmFhZDhlcDEsCisgICAgLTB4MS45MWQ4NThwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjYKKyAgICAtMHgxLjVkMTQ5NDZkYzk4OTc1ZDY0MjFhNTUyODRmZTAyMGExcDI0LAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIDB4MS41ZDE0OTQ2ZGM5ODk3NWQ2NDIxYTU1Mjg0ZmUwMjBhMXAyNCwKKyAgICAtMHgxLjkyMWZiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjk4MGVlMGNmYmYwZjFlYmM5ZDRmZDI0Y2NlM2NkZmU3cDE1LAorICAgIDB4MS45MjI5MjJwMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjk4MGVlMGNmYmYwZjFlYmM5ZDRmZDI0Y2NlM2NkZmU3cDE1LAorICAgIC0weDEuOTIyOTIycDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS5mZDQzZjhlODkxZTIyN2RkYWQyZmIyZTU1MjBkNGZmMnAtMSwKKyAgICAweDEuOTIzMGZlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgMHgxLmZkNDNmOGU4OTFlMjI3ZGRhZDJmYjJlNTUyMGQ0ZmYycC0xLAorICAgIC0weDEuOTIzMGZlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmNmMzhmNjIxMmU3ZTYyNzZmNGFkZDU0ODc4ZjFhN2RicC0xLAorICAgIDB4MS45NTEwYzhwNgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuY2YzOGY2MjEyZTdlNjI3NmY0YWRkNTQ4NzhmMWE3ZGJwLTEsCisgICAgLTB4MS45NTEwYzhwNgorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5kMDNkNDUwMjRjM2NhNGEyYzRlMWE5MTg1NjEzNTA0NnAtMSwKKyAgICAweDEuOTUxMWU2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLmQwM2Q0NTAyNGMzY2E0YTJjNGUxYTkxODU2MTM1MDQ2cC0xLAorICAgIC0weDEuOTUxMWU2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuMDU1NGViNWNiZDM5M2U0ZjA3NzBjODY1MjhmMzllZTFwMTcsCisgICAgMHgxLjk3OWYyNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTc3CisgICAgLTB4MS4wNTU0ZWI1Y2JkMzkzZTRmMDc3MGM4NjUyOGYzOWVlMXAxNywKKyAgICAtMHgxLjk3OWYyNHA5CisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLmZhZDVkZjkzZGUzMDUxY2YwMThhYjMyYzBiMzIzNTcxcC0xLAorICAgIDB4MS5hMWU4NjJwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5mYWQ1ZGY5M2RlMzA1MWNmMDE4YWIzMmMwYjMyMzU3MXAtMSwKKyAgICAtMHgxLmExZTg2MnAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZmY5ODFiMTUzNGY3ODAxNmJlYTRkOTU4ODI1NGU5OTZwMywKKyAgICAweDEuYWQxZnA2MworICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIC0weDEuZmY5ODFiMTUzNGY3ODAxNmJlYTRkOTU4ODI1NGU5OTZwMywKKyAgICAtMHgxLmFkMWZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAtMHgxLmZmZjRhMWRiMWUxZTM4YzQzOGRkZDM4YmI5NGY2ZDMxcDEsCisgICAgMHgxLmFkYTNkYXAzOQorICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS5mZmY0YTFkYjFlMWUzOGM0MzhkZGQzOGJiOTRmNmQzMXAxLAorICAgIC0weDEuYWRhM2RhcDM5CisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLmQwMTUyOTAyM2Q5NTEzOTAyMDBhNDI1MmYwMzhiNGFmcC0xLAorICAgIDB4MS5iMTI1YmFwNQorICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuZDAxNTI5MDIzZDk1MTM5MDIwMGE0MjUyZjAzOGI0YWZwLTEsCisgICAgLTB4MS5iMTI1YmFwNQorICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5kNjdmYTEwNWY3Njg2ODYxMmM4NGY3NGExZjM4ZjBhY3AtMiwKKyAgICAweDEuYjkwYTAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5kNjdmYTEwNWY3Njg2ODYxMmM4NGY3NGExZjM4ZjBhY3AtMiwKKyAgICAtMHgxLmI5MGEwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS45OTY2M2RhOTRkYmQ1NzE5OWNiOGUzZGFlNzAxODM1OHAtMjMsCisgICAgMHgxLmJlZWVlZXA4MAorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIC0weDEuOTk2NjNkYTk0ZGJkNTcxOTljYjhlM2RhZTcwMTgzNThwLTIzLAorICAgIC0weDEuYmVlZWVlcDgwCisgIH0sCisgIHsgLy8gRW50cnkgMTkwCisgICAgMHgxLmViOTY1NzFlYjlkYTEzMzdlNzAzY2MyMGU0MWU5NzE5cC0xMywKKyAgICAweDEuYzNhYmYwcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5lYjk2NTcxZWI5ZGExMzM3ZTcwM2NjMjBlNDFlOTcxOXAtMTMsCisgICAgLTB4MS5jM2FiZjBwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAweDEuZTE5OGM0OGJlZjk1NDE1MWVlMDc1ODE1ZDg1YzUzNjNwMCwKKyAgICAweDEuYzcxYzc0cDExNgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZTE5OGM0OGJlZjk1NDE1MWVlMDc1ODE1ZDg1YzUzNjNwMCwKKyAgICAtMHgxLmM3MWM3NHAxMTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTQKKyAgICAtMHgxLmU1MGU1MjQ2MTA3MjhjZmIyMzljYzYzMDViMjEyZmQ2cC0xLAorICAgIDB4MS5jYzMyNTJwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAweDEuZTUwZTUyNDYxMDcyOGNmYjIzOWNjNjMwNWIyMTJmZDZwLTEsCisgICAgLTB4MS5jYzMyNTJwMTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjZhNjllN2JiMjFiNTIwMzA5NjRiYzIxY2VkMDc3YzcxcDE5LAorICAgIDB4MS5kMzhhMmFwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTcKKyAgICAweDEuNmE2OWU3YmIyMWI1MjAzMDk2NGJjMjFjZWQwNzdjNzFwMTksCisgICAgLTB4MS5kMzhhMmFwMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuNjUyOWJmODFiOTU4Y2E3ODFjZGFhYzdjZWM2ZTYzNmVwMCwKKyAgICAweDEuZGYwNjQ4cDI0CisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS42NTI5YmY4MWI5NThjYTc4MWNkYWFjN2NlYzZlNjM2ZXAwLAorICAgIC0weDEuZGYwNjQ4cDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgMHgxLjY1OWU0M2I0MzE1ZjIxYmE1ZTcwNDhiMWQ4ZDc4MTVjcDAsCisgICAgMHgxLmRmMjIwNHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuNjU5ZTQzYjQzMTVmMjFiYTVlNzA0OGIxZDhkNzgxNWNwMCwKKyAgICAtMHgxLmRmMjIwNHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEuNzFhNTgwZmZjNGUxNjdhZTBlZjhiMDJkNWQyN2M5OWRwLTEsCisgICAgMHgxLmRmMzRwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDMKKyAgICAweDEuNzFhNTgwZmZjNGUxNjdhZTBlZjhiMDJkNWQyN2M5OWRwLTEsCisgICAgLTB4MS5kZjM0cDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjA0CisgICAgMHgxLmVjZjExOTAwMDAxN2EyY2FlZjQyOTBiNGQ2YzYzNzg1cC00LAorICAgIDB4MS5lYTk1MWFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLmVjZjExOTAwMDAxN2EyY2FlZjQyOTBiNGQ2YzYzNzg1cC00LAorICAgIC0weDEuZWE5NTFhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjA2CisgICAgMHgxLmNjZDU1ODIxZmFkNjk3NTVjMmQ4MjRiZTJiZmQ0YzY0cC0xLAorICAgIDB4MS5lZmVkYzZwMQorICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEuY2NkNTU4MjFmYWQ2OTc1NWMyZDgyNGJlMmJmZDRjNjRwLTEsCisgICAgLTB4MS5lZmVkYzZwMQorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS5kNjk4MWVmZmZmZjI1NDk2MzQ2ODZhMjRkZmRhNzdjZXAtMSwKKyAgICAweDEuZjE0M2EycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAtMHgxLmQ2OTgxZWZmZmZmMjU0OTYzNDY4NmEyNGRmZGE3N2NlcC0xLAorICAgIC0weDEuZjE0M2EycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZGJhNGQxMTI0YTc4YTY4MDNhMDk2NWFmMGFiNzlmODhwMywKKyAgICAweDEuZjI1YjA2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAtMHgxLmRiYTRkMTEyNGE3OGE2ODAzYTA5NjVhZjBhYjc5Zjg4cDMsCisgICAgLTB4MS5mMjViMDZwMgorICB9LAorICB7IC8vIEVudHJ5IDIxMgorICAgIC0weDEuNmRmY2JhZmZkNzgwMjNlY2ZhYmJmN2NjZjBhMGU0YjRwLTEsCisgICAgMHgxLmYzMjIxOHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIDB4MS42ZGZjYmFmZmQ3ODAyM2VjZmFiYmY3Y2NmMGEwZTRiNHAtMSwKKyAgICAtMHgxLmYzMjIxOHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIxNAorICAgIC0weDEuZWMzNWNmMDAwMDYxMDc5Mjk1ZWFkNzE0ODkyZGIxY2FwMSwKKyAgICAweDEuZjQ0ZGJjcDU4CisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLmVjMzVjZjAwMDA2MTA3OTI5NWVhZDcxNDg5MmRiMWNhcDEsCisgICAgLTB4MS5mNDRkYmNwNTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuZGIwNmMxMGQyYTk1OTcxNWJjMGEyZTc1ZTZkYTA5M2JwNCwKKyAgICAweDEuZjQ3ZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLmRiMDZjMTBkMmE5NTk3MTViYzBhMmU3NWU2ZGEwOTNicDQsCisgICAgLTB4MS5mNDdmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5mZmZmZWI1NTY0M2I5YTY0OGMyNzIwYmRlMWQyMjc2NHAtMSwKKyAgICAweDEuZjZhN2EwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTkKKyAgICAtMHgxLmZmZmZlYjU1NjQzYjlhNjQ4YzI3MjBiZGUxZDIyNzY0cC0xLAorICAgIC0weDEuZjZhN2EwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEuYzBhNTcwZmZmZmQzNzlkMDk3MmVhNzhjZDA0MGMzMDRwLTMsCisgICAgMHgxLmY2ZGVkOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgLTB4MS5jMGE1NzBmZmZmZDM3OWQwOTcyZWE3OGNkMDQwYzMwNHAtMywKKyAgICAtMHgxLmY2ZGVkOHA4CisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgLTB4MS5jZGYxOGQwMTIzNDgwOWE2ODk1MzE1ZTlkZTU5ZDg2NHAtMSwKKyAgICAweDEuZjdmZmJlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLmNkZjE4ZDAxMjM0ODA5YTY4OTUzMTVlOWRlNTlkODY0cC0xLAorICAgIC0weDEuZjdmZmJlcDE1CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgLTB4MS44MmYxOTZmYjYwYTgxZGMzYjRkY2JiYzgzMWFiOGY4NXAtMSwKKyAgICAweDEuZjdmZmZlcDQ3CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLjgyZjE5NmZiNjBhODFkYzNiNGRjYmJjODMxYWI4Zjg1cC0xLAorICAgIC0weDEuZjdmZmZlcDQ3CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLjZjMDM1OTBmM2ZlM2I3ZDI5ZTg5ZWUwZTY1ZmM5YjFlcDAsCisgICAgMHgxLmY4N2Q1OHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIC0weDEuNmMwMzU5MGYzZmUzYjdkMjllODllZTBlNjVmYzliMWVwMCwKKyAgICAtMHgxLmY4N2Q1OHAyNAorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIC0weDEuYzdhZTZlOWMxNDViOGQ1NGY3NzE5ODkzZmEwMzg0OWZwMjcsCisgICAgMHgxLmY5Y2JlMnA3CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmM3YWU2ZTljMTQ1YjhkNTRmNzcxOTg5M2ZhMDM4NDlmcDI3LAorICAgIC0weDEuZjljYmUycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuNmQyOTEwMDA1MTYxYjJiZmE2MTEzNGQwZmJjOWU5YzBwMCwKKyAgICAweDEuZmQ4NmJjcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS42ZDI5MTAwMDUxNjFiMmJmYTYxMTM0ZDBmYmM5ZTljMHAwLAorICAgIC0weDEuZmQ4NmJjcDI0CisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgMHgxLjZjOGY4ZDBjM2FkNGJiYjYzOWEzZjNhOTQyMzdmNjlmcDAsCisgICAgMHgxLmZlZmE0YXAyNAorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuNmM4ZjhkMGMzYWQ0YmJiNjM5YTNmM2E5NDIzN2Y2OWZwMCwKKyAgICAtMHgxLmZlZmE0YXAyNAorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIDB4MS4wMGU1YjVmZmZhMTNmN2Q5YzRiMGI1MmZlMTFhMzM5YnAtMywKKyAgICAweDEuZmYxZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS4wMGU1YjVmZmZhMTNmN2Q5YzRiMGI1MmZlMTFhMzM5YnAtMywKKyAgICAtMHgxLmZmMWZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5mZjNmNDFmMDFjNWIzNjBjY2U3NWI2Nzg3N2ZmZDY3N3AwLAorICAgIDB4MS5mZjdmZmVwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLmZmM2Y0MWYwMWM1YjM2MGNjZTc1YjY3ODc3ZmZkNjc3cDAsCisgICAgLTB4MS5mZjdmZmVwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAtMHgxLjg2ZGQ1ZTAwZDdlZGM3MjY2OTY5YmY1MTk4NDM4YmFicDAsCisgICAgMHgxLmZmOWZmZXAxMgorICB9LAorICB7IC8vIEVudHJ5IDIzOQorICAgIDB4MS44NmRkNWUwMGQ3ZWRjNzI2Njk2OWJmNTE5ODQzOGJhYnAwLAorICAgIC0weDEuZmY5ZmZlcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQwCisgICAgLTB4MS5mOGZlNDU3OWZkZWUyNDkxYzdkODU3MmVhNTEyZmU5M3A1LAorICAgIDB4MS5mZmZiZmVwNDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuZjhmZTQ1NzlmZGVlMjQ5MWM3ZDg1NzJlYTUxMmZlOTNwNSwKKyAgICAtMHgxLmZmZmJmZXA0NQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuODVmZjQ2MmYwZjg2ZmY0NDY0MTMwNWRhMThlYThmYzhwLTEzLAorICAgIDB4MS5mZmZkZjJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuODVmZjQ2MmYwZjg2ZmY0NDY0MTMwNWRhMThlYThmYzhwLTEzLAorICAgIC0weDEuZmZmZGYycDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLjMzOTJlMmZmYmNiMjVmYzFiMDE2YjkxMzZlNjljMDBicC0yLAorICAgIDB4MS5mZmZkZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuMzM5MmUyZmZiY2IyNWZjMWIwMTZiOTEzNmU2OWMwMGJwLTIsCisgICAgLTB4MS5mZmZkZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuMmY2YzRiZDI2MDVmMDM3Zjg2MDk4MTlmODY1YThkY2JwOCwKKyAgICAweDEuZmZmZTNlcDQxCisgIH0sCisgIHsgLy8gRW50cnkgMjQ3CisgICAgMHgxLjJmNmM0YmQyNjA1ZjAzN2Y4NjA5ODE5Zjg2NWE4ZGNicDgsCisgICAgLTB4MS5mZmZlM2VwNDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDgKKyAgICAtMHgxLjUzYTJlOTBlODE3NzI3MjU1ZTZkZGY2NGUyOGMwMTljcC05LAorICAgIDB4MS5mZmZlN2VwMTAzCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgMHgxLjUzYTJlOTBlODE3NzI3MjU1ZTZkZGY2NGUyOGMwMTljcC05LAorICAgIC0weDEuZmZmZTdlcDEwMworICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuYjM0Njc2ZjA5NWI1YjFhMzI1NDI2Y2RmNDJjMDQ3OTlwMiwKKyAgICAweDEuZmZmZjdlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuYjM0Njc2ZjA5NWI1YjFhMzI1NDI2Y2RmNDJjMDQ3OTlwMiwKKyAgICAtMHgxLmZmZmY3ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUyCisgICAgMHgxLmY2NDBkOTRlNjI0MWRiNDM0OWUzM2JlZDY3Y2JkM2RicC0xLAorICAgIDB4MS5mZmZmN2VwMTE5CisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS5mNjQwZDk0ZTYyNDFkYjQzNDllMzNiZWQ2N2NiZDNkYnAtMSwKKyAgICAtMHgxLmZmZmY3ZXAxMTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEuNTI2YzI2OWJkZGE4YTg5ZDkwNzA2ODcwZjM4MDFlYWZwLTEsCisgICAgMHgxLmZmZmZlZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgLTB4MS41MjZjMjY5YmRkYThhODlkOTA3MDY4NzBmMzgwMWVhZnAtMSwKKyAgICAtMHgxLmZmZmZlZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgLTB4MS5hMzc1OTNjMTA1ZTE0NjJjMmEzNzI2MDYwMzQ4M2RhNnAxLAorICAgIDB4MS5mZmZmZmNwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuYTM3NTkzYzEwNWUxNDYyYzJhMzcyNjA2MDM0ODNkYTZwMSwKKyAgICAtMHgxLmZmZmZmY3AxMgorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI1OQorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjAKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI2NAorICAgIDB4MS4wMDAwMDJwLTEyNiwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjUKKyAgICAtMHgxLnAtMTI2LAorICAgIC0weDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgLTB4MS5mZmZmZmNwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgMHgxLmZmZmZmY3AtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5mZmZmZmNwLTEyNywKKyAgICAweDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLmZmZmZmY3AtMTI3LAorICAgIC0weDEuZmZmZmZjcC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgLTB4MS5wLTEyNiwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLjAwMDAwMnAtMTI2LAorICAgIDB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS45OTk5OWE1NzYxOWY2NzliNjE5M2FmOGEwYTdhODc3OHAtMTMsCisgICAgMHgxLjk5OTk5YXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLjk5OTk5YTU3NjE5ZjY3OWI2MTkzYWY4YTBhN2E4Nzc4cC0xMywKKyAgICAtMHgxLjk5OTk5YXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuOTk5OTliNWQ4NjdlYWFkZDAzMDU1ODczOTk5MDUzMTFwLTEyLAorICAgIDB4MS45OTk5OWFwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMjc4CisgICAgLTB4MS45OTk5OWI1ZDg2N2VhYWRkMDMwNTU4NzM5OTkwNTMxMXAtMTIsCisgICAgLTB4MS45OTk5OWFwLTEyCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLjMzMzMzNjRkZDJmYjk0OTY0NWJlYTk5OGNiYzFlZTcycC0xMSwKKyAgICAweDEuMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIC0weDEuMzMzMzM2NGRkMmZiOTQ5NjQ1YmVhOTk4Y2JjMWVlNzJwLTExLAorICAgIC0weDEuMzMzMzM0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIDB4MS45OTk5OWY3NjFhMGI3MjZjMThiMDBjNjQ5NmNiZTEwZHAtMTEsCisgICAgMHgxLjk5OTk5YXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAtMHgxLjk5OTk5Zjc2MWEwYjcyNmMxOGIwMGM2NDk2Y2JlMTBkcC0xMSwKKyAgICAtMHgxLjk5OTk5YXAtMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODMKKyAgICAweDEuMDAwMDA1NTU1NTc3Nzc3ODU0ODU0ZGVkYzI4ZWFkNTFwLTEwLAorICAgIDB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg0CisgICAgLTB4MS4wMDAwMDU1NTU1Nzc3Nzc4NTQ4NTRkZWRjMjhlYWQ1MXAtMTAsCisgICAgLTB4MS5wLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLjMzMzMzZDM3NGMyZTA1ZDEwODE2MTM3ODM4OWZjODRmcC0xMCwKKyAgICAweDEuMzMzMzM0cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIC0weDEuMzMzMzNkMzc0YzJlMDVkMTA4MTYxMzc4Mzg5ZmM4NGZwLTEwLAorICAgIC0weDEuMzMzMzM0cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIDB4MS42NjY2NzZhMjdhNmQ4MjE0ZDE5OGIyMzIxZWY5YTlkY3AtMTAsCisgICAgMHgxLjY2NjY2OHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAtMHgxLjY2NjY3NmEyN2E2ZDgyMTRkMTk4YjIzMjFlZjlhOWRjcC0xMCwKKyAgICAtMHgxLjY2NjY2OHAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuOTk5OWIxZDg2OThjMjRjZmUzYjkwZmZkMDA2ZmZkY2FwLTEwLAorICAgIDB4MS45OTk5OWNwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgLTB4MS45OTk5YjFkODY5OGMyNGNmZTNiOTBmZmQwMDZmZmRjYXAtMTAsCisgICAgLTB4MS45OTk5OWNwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLmNjY2NlYjFhYTIxOWY3MWJiMTkyMDhkNzRhNzM5YmIxcC0xMCwKKyAgICAweDEuY2NjY2NjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIC0weDEuY2NjY2ViMWFhMjE5ZjcxYmIxOTIwOGQ3NGE3MzliYjFwLTEwLAorICAgIC0weDEuY2NjY2NjcC0xMAorICB9LAorICB7IC8vIEVudHJ5IDI5MworICAgIDB4MS4wNjY3ZDU5NjhiYmJiZTQwMzcwMjRiOWM5M2Y3YjA0OXAtNywKKyAgICAweDEuMDY2NjY2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgLTB4MS4wNjY3ZDU5NjhiYmJiZTQwMzcwMjRiOWM5M2Y3YjA0OXAtNywKKyAgICAtMHgxLjA2NjY2NnAtNworICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5jY2Q0OTJkMDM1YTIyNzc1OGI4YzMwZDc5YjE2ODgyNnAtNywKKyAgICAweDEuY2NjY2NjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgLTB4MS5jY2Q0OTJkMDM1YTIyNzc1OGI4YzMwZDc5YjE2ODgyNnAtNywKKyAgICAtMHgxLmNjY2NjY3AtNworICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS40OWE0ZmE2OGU5MGQyMjhmNDQ1MDI2ZWIyOWFkY2VmZHAtNiwKKyAgICAweDEuNDk5OTk4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgLTB4MS40OWE0ZmE2OGU5MGQyMjhmNDQ1MDI2ZWIyOWFkY2VmZHAtNiwKKyAgICAtMHgxLjQ5OTk5OHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIDB4MS5hY2U1ZGUwOTA2MDNmZGE4ZjUxOWFmZWNlMDVjMTdlYXAtNiwKKyAgICAweDEuYWNjY2NjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgLTB4MS5hY2U1ZGUwOTA2MDNmZGE4ZjUxOWFmZWNlMDVjMTdlYXAtNiwKKyAgICAtMHgxLmFjY2NjY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIDB4MS4wODE3NjdmZDNjYjY4NWY3YjA2OTE0NmNlMzMzMzg1MXAtNSwKKyAgICAweDEuMDhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAtMHgxLjA4MTc2N2ZkM2NiNjg1ZjdiMDY5MTQ2Y2UzMzMzODUxcC01LAorICAgIC0weDEuMDhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAweDEuMzljMGQ3NDUzMzRhMzM4N2Q2NzJlNGEwNTYyNGJjYTVwLTUsCisgICAgMHgxLjM5OTk5YXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEuMzljMGQ3NDUzMzRhMzM4N2Q2NzJlNGEwNTYyNGJjYTVwLTUsCisgICAgLTB4MS4zOTk5OWFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDUKKyAgICAweDEuNmI3MDJjNjI3ZmMwMGI3NzdlYTg2NjFjY2UzNjA2MWNwLTUsCisgICAgMHgxLjZiMzMzNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDMwNgorICAgIC0weDEuNmI3MDJjNjI3ZmMwMGI3NzdlYTg2NjFjY2UzNjA2MWNwLTUsCisgICAgLTB4MS42YjMzMzRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuOWQyNjU3NGNkODQ3NTliZmZmNTFkOGJiMTg1MzhhMGRwLTUsCisgICAgMHgxLjljY2NjZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIC0weDEuOWQyNjU3NGNkODQ3NTliZmZmNTFkOGJiMTg1MzhhMGRwLTUsCisgICAgLTB4MS45Y2NjY2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAweDEuY2VlNDQ2N2UxNWJiN2VmNTk2NThhOGVkZGMxOTUxNjdwLTUsCisgICAgMHgxLmNlNjY2NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuY2VlNDQ2N2UxNWJiN2VmNTk2NThhOGVkZGMxOTUxNjdwLTUsCisgICAgLTB4MS5jZTY2NjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTEKKyAgICAweDEuYTFlYWVkN2FhNjJhNzQwYzBiMmUwOWJjZDBmNzM1YjVwLTEsCisgICAgMHgxLjVlN2ZjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMgorICAgIC0weDEuYTFlYWVkN2FhNjJhNzQwYzBiMmUwOWJjZDBmNzM1YjVwLTEsCisgICAgLTB4MS41ZTdmYzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuZDkzYjg5MWNiY2IxNWFhYzhiNTc5NmEwYTE2YmYyOWVwMSwKKyAgICAweDEuNGU3ZmM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAtMHgxLmQ5M2I4OTFjYmNiMTVhYWM4YjU3OTZhMGExNmJmMjllcDEsCisgICAgLTB4MS40ZTdmYzRwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuNTYzYWQwNjM0ODZjNzk3NjUzYTY4OTU1YzBiYjFjMGJwMSwKKyAgICAweDEuZWRiZmE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuNTYzYWQwNjM0ODZjNzk3NjUzYTY4OTU1YzBiYjFjMGJwMSwKKyAgICAtMHgxLmVkYmZhNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgLTB4MS41NzZiNzg5ZDU0NGI2ZDAzN2MzYjcxMTlmZDZkZDZwLTEsCisgICAgMHgxLjQ2N2ZjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLjU3NmI3ODlkNTQ0YjZkMDM3YzNiNzExOWZkNmRkNnAtMSwKKyAgICAtMHgxLjQ2N2ZjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgMHgxLjAwMTUwNjUyYjJkNzkzMWUwYzg3ODg3NWI5ZjRiYTgycC01LAorICAgIDB4MS45NjFmYjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMAorICAgIC0weDEuMDAxNTA2NTJiMmQ3OTMxZTBjODc4ODc1YjlmNGJhODJwLTUsCisgICAgLTB4MS45NjFmYjRwMQorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS44N2U5ODdiNmU1MDcxZGJkM2Y3NTVhNzZhMjdkOGZjOHAtMSwKKyAgICAweDEuZTViZmE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAtMHgxLjg3ZTk4N2I2ZTUwNzFkYmQzZjc1NWE3NmEyN2Q4ZmM4cC0xLAorICAgIC0weDEuZTViZmE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAweDEuYTQ5ZTU1YmNlMWM4OTkxMjMyMzg3ZWNkMTEyNDY5OGFwMSwKKyAgICAweDEuMWFhZmNhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMHgxLmE0OWU1NWJjZTFjODk5MTIzMjM4N2VjZDExMjQ2OThhcDEsCisgICAgLTB4MS4xYWFmY2FwMgorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0weDEuNzljZjAzMTM1YTkzNjc5ZDVhYTJlMWRjYzVhZGVkYWZwMSwKKyAgICAweDEuNDI3ZmMycDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEuNzljZjAzMTM1YTkzNjc5ZDVhYTJlMWRjYzVhZGVkYWZwMSwKKyAgICAtMHgxLjQyN2ZjMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgLTB4MS42ZjFmODZmZGIyMGJjOTkyMzYyN2I5NGQ3NzFmNTM4OHAtMSwKKyAgICAweDEuNmE0ZmJhcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjgKKyAgICAweDEuNmYxZjg2ZmRiMjBiYzk5MjM2MjdiOTRkNzcxZjUzODhwLTEsCisgICAgLTB4MS42YTRmYmFwMgorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIC0weDEuNjc3NDdjYTgwMjgyMWM2NmM4N2EwODY2MzhmMjhkMzZwLTEsCisgICAgMHgxLjZhZjJmMHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgMHgxLjY3NzQ3Y2E4MDI4MjFjNjZjODdhMDg2NjM4ZjI4ZDM2cC0xLAorICAgIC0weDEuNmFmMmYwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAtMHgxLjYyNmEzMDI5OGRmMGM0MmMyY2Y3YThmOWMxNjZkNTVkcDEsCisgICAgMHgxLjQzYzYyYXAyCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgMHgxLjYyNmEzMDI5OGRmMGM0MmMyY2Y3YThmOWMxNjZkNTVkcDEsCisgICAgLTB4MS40M2M2MmFwMgorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS5kNmFkOGEyMmE0NDA3Y2M2OGRmMjBjZGExZWExYzZhYXAxLAorICAgIDB4MS4xYzk5NjRwMgorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuZDZhZDhhMjJhNDQwN2NjNjhkZjIwY2RhMWVhMWM2YWFwMSwKKyAgICAtMHgxLjFjOTk2NHAyCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLmE5NGQwMGExNzEwZDliY2M3YjgwNDgxZjQyODU3ZDA1cC0xLAorICAgIDB4MS5lYWQ5M2NwMQorICB9LAorICB7IC8vIEVudHJ5IDMzNgorICAgIC0weDEuYTk0ZDAwYTE3MTBkOWJjYzdiODA0ODFmNDI4NTdkMDVwLTEsCisgICAgLTB4MS5lYWQ5M2NwMQorICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS40Y2I5ZjRkMzE1YTk5NWIyOGJmYmQ2ZTZhMDkwNTczOHAtNCwKKyAgICAweDEuOWM3ZmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAtMHgxLjRjYjlmNGQzMTVhOTk1YjI4YmZiZDZlNmEwOTA1NzM4cC00LAorICAgIC0weDEuOWM3ZmIwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzkKKyAgICAtMHgxLjJjYjZmM2JhNTFjZDRjYTM4NWQ3ZjRhNzU2N2MzYTBicC0xLAorICAgIDB4MS40ZTI2MjRwMQorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIDB4MS4yY2I2ZjNiYTUxY2Q0Y2EzODVkN2Y0YTc1NjdjM2EwYnAtMSwKKyAgICAtMHgxLjRlMjYyNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgLTB4MS4xOGQ5Mzk5YTgyOTBiM2Y4YjQyYTRhZmMxZjRiMjFkZXAxLAorICAgIDB4MS5mZjk5MzJwMAorICB9LAorICB7IC8vIEVudHJ5IDM0MgorICAgIDB4MS4xOGQ5Mzk5YTgyOTBiM2Y4YjQyYTRhZmMxZjRiMjFkZXAxLAorICAgIC0weDEuZmY5OTMycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuNTZmZDk0YjBjMDY4MTYxM2QzODMxNjA4NDU3ZjViZjZwMiwKKyAgICAweDEuNjJlNjFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAtMHgxLjU2ZmQ5NGIwYzA2ODE2MTNkMzgzMTYwODQ1N2Y1YmY2cDIsCisgICAgLTB4MS42MmU2MWNwMAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS5mNGFkMzdmMTNlODE4NjQxZmMxNTU1YmY3OGUwZTk0MnAtMSwKKyAgICAweDEuOGM2NjJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgLTB4MS5mNGFkMzdmMTNlODE4NjQxZmMxNTU1YmY3OGUwZTk0MnAtMSwKKyAgICAtMHgxLjhjNjYyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS42YTdlMzBhZDg0NjBmMWE3MTA0NzllMmRiOTQ5NWM5Y3AzLAorICAgIC0weDEuYThhYTFjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDgKKyAgICAtMHgxLjZhN2UzMGFkODQ2MGYxYTcxMDQ3OWUyZGI5NDk1YzljcDMsCisgICAgMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMzQ5CisgICAgMHgxLjBkNzFmZmFjMWQ1ZTZhYTc1M2NmODA0YTJhOGMxZjVicDYsCisgICAgLTB4MS45NWVjOGFwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MAorICAgIC0weDEuMGQ3MWZmYWMxZDVlNmFhNzUzY2Y4MDRhMmE4YzFmNWJwNiwKKyAgICAweDEuOTVlYzhhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAtMHgxLjExZDg0OTgwNzNlMWY0Yjc3NmZlNTY3MmFiYjFmNTRhcDQsCisgICAgLTB4MS44MzJlZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MgorICAgIDB4MS4xMWQ4NDk4MDczZTFmNGI3NzZmZTU2NzJhYmIxZjU0YXA0LAorICAgIDB4MS44MzJlZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIC0weDEuZTNhMzRiMzI3MDg4ODNhODU3ODgwNWY4NGVhMDNjNmFwMiwKKyAgICAtMHgxLjcwNzE2NnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgMHgxLmUzYTM0YjMyNzA4ODgzYTg1Nzg4MDVmODRlYTAzYzZhcDIsCisgICAgMHgxLjcwNzE2NnAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU1CisgICAgLTB4MS4zNDI5ZDI2MzQwNTRlYWFlM2JkYmVlOTRhNmNlYzE3ZnAyLAorICAgIC0weDEuNWRiM2Q0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAweDEuMzQyOWQyNjM0MDU0ZWFhZTNiZGJlZTk0YTZjZWMxN2ZwMiwKKyAgICAweDEuNWRiM2Q0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAtMHgxLmMwOGM5NTdiYmI0NWFjYWZhODU2YmZkNzkyY2JmNjYzcDEsCisgICAgLTB4MS40YWY2NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM1OAorICAgIDB4MS5jMDhjOTU3YmJiNDVhY2FmYTg1NmJmZDc5MmNiZjY2M3AxLAorICAgIDB4MS40YWY2NDJwMAorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIC0weDEuNWQ2MDJiMGQwYmRkYTgyNTIyMWE1MzM2OWM1MzM4ZDdwMSwKKyAgICAtMHgxLjM4MzhiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLjVkNjAyYjBkMGJkZGE4MjUyMjFhNTMzNjljNTMzOGQ3cDEsCisgICAgMHgxLjM4MzhiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzYxCisgICAgLTB4MS4xYjQ4OTRlNDk4NzIwZWMwMTczNWEwMmU1NWVlZmFkOHAxLAorICAgIC0weDEuMjU3YjFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAweDEuMWI0ODk0ZTQ5ODcyMGVjMDE3MzVhMDJlNTVlZWZhZDhwMSwKKyAgICAweDEuMjU3YjFlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLmQ3NGNiMjAwYWI1OTA0MDI5MDYyN2E5YjJmZmUyOWNmcDAsCisgICAgLTB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NAorICAgIDB4MS5kNzRjYjIwMGFiNTkwNDAyOTA2MjdhOWIyZmZlMjljZnAwLAorICAgIDB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NQorICAgIC0weDEuNmJlNzAxOWYzNGQzNGYyNWNiMGMxNGQwYzdiYzdiMzJwMCwKKyAgICAtMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIDB4MS42YmU3MDE5ZjM0ZDM0ZjI1Y2IwYzE0ZDBjN2JjN2IzMnAwLAorICAgIDB4MS5lYTVjM2VwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjRkMGRlZmJjYjQ4YWE3NWNlMTNlMWI4MmYxZmNiMDQ5cDAsCisgICAgLTB4MS5kNGI4N2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAweDEuNGQwZGVmYmNiNDhhYTc1Y2UxM2UxYjgyZjFmY2IwNDlwMCwKKyAgICAweDEuZDRiODdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzY5CisgICAgLTB4MS4zMTZjODdmZGI3NTk5Y2I1NzM1NGU0Yjk5ZjM4ZDdmZnAwLAorICAgIC0weDEuYmYxNGJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLjMxNmM4N2ZkYjc1OTljYjU3MzU0ZTRiOTlmMzhkN2ZmcDAsCisgICAgMHgxLmJmMTRiYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MQorICAgIC0weDEuMTg3MjlkZmU1MWRmY2Y3NjdmNzlmMzliNjg5YWU5NWVwMCwKKyAgICAtMHgxLmE5NzBmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIDB4MS4xODcyOWRmZTUxZGZjZjc2N2Y3OWYzOWI2ODlhZTk1ZXAwLAorICAgIDB4MS5hOTcwZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLjAxYWVlYTljYmU5YThmYjRjY2VmOTlhZDk2MWI2YWQ4cDAsCisgICAgLTB4MS45M2NkMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAweDEuMDFhZWVhOWNiZTlhOGZiNGNjZWY5OWFkOTYxYjZhZDhwMCwKKyAgICAweDEuOTNjZDM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc1CisgICAgLTB4MS5kOThlMzczZmFhZDdkYTNkNmM4ODY1YTdmZjliYTdmM3AtMSwKKyAgICAtMHgxLjdlMjk3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3NgorICAgIDB4MS5kOThlMzczZmFhZDdkYTNkNmM4ODY1YTdmZjliYTdmM3AtMSwKKyAgICAweDEuN2UyOTc0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgLTB4MS5iMmU0NmFmNzA0ZWI3NWQxZmFiMDc2NmFmYzc0NzAzZnAtMSwKKyAgICAtMHgxLjY4ODViMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIDB4MS5iMmU0NmFmNzA0ZWI3NWQxZmFiMDc2NmFmYzc0NzAzZnAtMSwKKyAgICAweDEuNjg4NWIycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzc5CisgICAgLTB4MS44ZWU5MGI3ZGM4OWIxZjk5OWFlNmRiYjQxYmFjZWIwZHAtMSwKKyAgICAtMHgxLjUyZTFmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MAorICAgIDB4MS44ZWU5MGI3ZGM4OWIxZjk5OWFlNmRiYjQxYmFjZWIwZHAtMSwKKyAgICAweDEuNTJlMWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgxCisgICAgLTB4MS42ZDM5NWYwNTgyMGI0MmY1MTIyM2RhYjg4NDM2N2U3MXAtMSwKKyAgICAtMHgxLjNkM2UzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4MgorICAgIDB4MS42ZDM5NWYwNTgyMGI0MmY1MTIyM2RhYjg4NDM2N2U3MXAtMSwKKyAgICAweDEuM2QzZTM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgLTB4MS4yNGUzZGZhZDRjZTE0OTNjYWExMjM4NjRjYjRmNDVkM3AtMSwKKyAgICAtMHgxLjBhMGIwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIDB4MS4yNGUzZGZhZDRjZTE0OTNjYWExMjM4NjRjYjRmNDVkM3AtMSwKKyAgICAweDEuMGEwYjAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzg1CisgICAgLTB4MS5mZGJkNWU1M2UwYTZmYzljOGI4MDMyODlmMWMzZGJiN3AtMiwKKyAgICAtMHgxLmQ4ZjcyMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM4NgorICAgIDB4MS5mZGJkNWU1M2UwYTZmYzljOGI4MDMyODlmMWMzZGJiN3AtMiwKKyAgICAweDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg3CisgICAgLTB4MS5iNWYzZDYxYzU0ZWU0ZjY1ODVlOWJmZjQ4OWMwMDE4MnAtMiwKKyAgICAtMHgxLjlkZDgzY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDM4OAorICAgIDB4MS5iNWYzZDYxYzU0ZWU0ZjY1ODVlOWJmZjQ4OWMwMDE4MnAtMiwKKyAgICAweDEuOWRkODNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgLTB4MS43MWEwZjkwN2M2NjFkYWY0OTAzYjdiYmMwMTVjNWMxNHAtMiwKKyAgICAtMHgxLjYyYjk1OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIDB4MS43MWEwZjkwN2M2NjFkYWY0OTAzYjdiYmMwMTVjNWMxNHAtMiwKKyAgICAweDEuNjJiOTU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkxCisgICAgLTB4MS4zMDE5MDk0MWU2OTlmZGIyMTE1YTllZjZiZjgyZDQ1NXAtMiwKKyAgICAtMHgxLjI3OWE3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDM5MgorICAgIDB4MS4zMDE5MDk0MWU2OTlmZGIyMTE1YTllZjZiZjgyZDQ1NXAtMiwKKyAgICAweDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkzCisgICAgLTB4MS5lMThlOTM4NjdjYWY2N2VmY2FhMTk4MjE4OThkNTBjYXAtMywKKyAgICAtMHgxLmQ4ZjcyMHAtMworICB9LAorICB7IC8vIEVudHJ5IDM5NAorICAgIDB4MS5lMThlOTM4NjdjYWY2N2VmY2FhMTk4MjE4OThkNTBjYXAtMywKKyAgICAweDEuZDhmNzIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgLTB4MS42NjUwNzdkZGE4MjJiMTg5YTU2YTAyZTE1YzA0ZDVkNHAtMywKKyAgICAtMHgxLjYyYjk1OHAtMworICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIDB4MS42NjUwNzdkZGE4MjJiMTg5YTU2YTAyZTE1YzA0ZDVkNHAtMywKKyAgICAweDEuNjJiOTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzk3CisgICAgLTB4MS5kYjE0MjNkODc3YjI1MGFmNmVhNTU0Njk2MDc0M2Q3MnAtNCwKKyAgICAtMHgxLmQ4ZjcyMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDB4MS5kYjE0MjNkODc3YjI1MGFmNmVhNTU0Njk2MDc0M2Q3MnAtNCwKKyAgICAweDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzk5CisgICAgLTB4MS5kOTdkZDY0M2ZmZWVmNTdkMGEyMjUwNTE5NzhlYzhhZHAtNSwKKyAgICAtMHgxLmQ4ZjcyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQwMAorICAgIDB4MS5kOTdkZDY0M2ZmZWVmNTdkMGEyMjUwNTE5NzhlYzhhZHAtNSwKKyAgICAweDEuZDhmNzIwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLmQ5N2RkNjQzZmZlZWY1N2QwYTIyNTA1MTk3OGVjOGFkcC01LAorICAgIDB4MS5kOGY3MjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDIKKyAgICAtMHgxLmQ5N2RkNjQzZmZlZWY1N2QwYTIyNTA1MTk3OGVjOGFkcC01LAorICAgIC0weDEuZDhmNzIwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLmRiMTQyM2Q4NzdiMjUwYWY2ZWE1NTQ2OTYwNzQzZDcycC00LAorICAgIDB4MS5kOGY3MjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAtMHgxLmRiMTQyM2Q4NzdiMjUwYWY2ZWE1NTQ2OTYwNzQzZDcycC00LAorICAgIC0weDEuZDhmNzIwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNDA1CisgICAgMHgxLjY2NTA3N2RkYTgyMmIxODlhNTZhMDJlMTVjMDRkNWQ0cC0zLAorICAgIDB4MS42MmI5NThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAtMHgxLjY2NTA3N2RkYTgyMmIxODlhNTZhMDJlMTVjMDRkNWQ0cC0zLAorICAgIC0weDEuNjJiOTU4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLmUxOGU5Mzg2N2NhZjY3ZWZjYWExOTgyMTg5OGQ1MGNhcC0zLAorICAgIDB4MS5kOGY3MjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDgKKyAgICAtMHgxLmUxOGU5Mzg2N2NhZjY3ZWZjYWExOTgyMTg5OGQ1MGNhcC0zLAorICAgIC0weDEuZDhmNzIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDA5CisgICAgMHgxLjMwMTkwOTQxZTY5OWZkYjIxMTVhOWVmNmJmODJkNDU1cC0yLAorICAgIDB4MS4yNzlhNzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAtMHgxLjMwMTkwOTQxZTY5OWZkYjIxMTVhOWVmNmJmODJkNDU1cC0yLAorICAgIC0weDEuMjc5YTc0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDExCisgICAgMHgxLjcxYTBmOTA3YzY2MWRhZjQ5MDNiN2JiYzAxNWM1YzE0cC0yLAorICAgIDB4MS42MmI5NThwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAtMHgxLjcxYTBmOTA3YzY2MWRhZjQ5MDNiN2JiYzAxNWM1YzE0cC0yLAorICAgIC0weDEuNjJiOTU4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgMHgxLmI1ZjNkNjFjNTRlZTRmNjU4NWU5YmZmNDg5YzAwMTgycC0yLAorICAgIDB4MS45ZGQ4M2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTQKKyAgICAtMHgxLmI1ZjNkNjFjNTRlZTRmNjU4NWU5YmZmNDg5YzAwMTgycC0yLAorICAgIC0weDEuOWRkODNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLmZkYmQ1ZTUzZTBhNmZjOWM4YjgwMzI4OWYxYzNkYmI3cC0yLAorICAgIDB4MS5kOGY3MjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAtMHgxLmZkYmQ1ZTUzZTBhNmZjOWM4YjgwMzI4OWYxYzNkYmI3cC0yLAorICAgIC0weDEuZDhmNzIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDE3CisgICAgMHgxLjI0ZTNkZmFkNGNlMTQ5M2NhYTEyMzg2NGNiNGY0NWQzcC0xLAorICAgIDB4MS4wYTBiMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAtMHgxLjI0ZTNkZmFkNGNlMTQ5M2NhYTEyMzg2NGNiNGY0NWQzcC0xLAorICAgIC0weDEuMGEwYjAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLjZkMzk1ZjA1ODIwYjQyZjUxMjIzZGFiODg0MzY3ZTcxcC0xLAorICAgIDB4MS4zZDNlMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjAKKyAgICAtMHgxLjZkMzk1ZjA1ODIwYjQyZjUxMjIzZGFiODg0MzY3ZTcxcC0xLAorICAgIC0weDEuM2QzZTM2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIxCisgICAgMHgxLjhlZTkxODU4ZmJhYWYyYTM0YTMyZGQ5NDdmZDdlMDc2cC0xLAorICAgIDB4MS41MmUxZjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAtMHgxLjhlZTkxODU4ZmJhYWYyYTM0YTMyZGQ5NDdmZDdlMDc2cC0xLAorICAgIC0weDEuNTJlMWY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDIzCisgICAgMHgxLmIyZTQ3OGJjOWJhNzM4ZGI5MGIyYTRiYzI5NGVjZjRmcC0xLAorICAgIDB4MS42ODg1YmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjQKKyAgICAtMHgxLmIyZTQ3OGJjOWJhNzM4ZGI5MGIyYTRiYzI5NGVjZjRmcC0xLAorICAgIC0weDEuNjg4NWJhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgMHgxLmQ5OGU0NjE3YThiZDFhMWJiOWUyZTk4OWQ4YWQzNWNjcC0xLAorICAgIDB4MS43ZTI5N2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjYKKyAgICAtMHgxLmQ5OGU0NjE3YThiZDFhMWJiOWUyZTk4OWQ4YWQzNWNjcC0xLAorICAgIC0weDEuN2UyOTdjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDI3CisgICAgMHgxLjAxYWVmMmFhNDE2NTQ1ZTM5MDA4NjRmMmIzNWQ4NmE2cDAsCisgICAgMHgxLjkzY2QzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyOAorICAgIC0weDEuMDFhZWYyYWE0MTY1NDVlMzkwMDg2NGYyYjM1ZDg2YTZwMCwKKyAgICAtMHgxLjkzY2QzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS4xODcyYTZjYjNkYmExNTZkYjhkYzc4NGU5NWQ5NmE0NnAwLAorICAgIDB4MS5hOTcxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgLTB4MS4xODcyYTZjYjNkYmExNTZkYjhkYzc4NGU5NWQ5NmE0NnAwLAorICAgIC0weDEuYTk3MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS4zMTZjOTFhZjQ2YjAxNWE5YzkzMWE4MTZmZWQ4OTA5MnAwLAorICAgIDB4MS5iZjE0YzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzIKKyAgICAtMHgxLjMxNmM5MWFmNDZiMDE1YTljOTMxYTgxNmZlZDg5MDkycDAsCisgICAgLTB4MS5iZjE0YzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAweDEuNGQwZGZhODFlOWNjODA2YzEwMTk0ZmJhNmI3Njc3NjFwMCwKKyAgICAweDEuZDRiODg0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgLTB4MS40ZDBkZmE4MWU5Y2M4MDZjMTAxOTRmYmE2Yjc2Nzc2MXAwLAorICAgIC0weDEuZDRiODg0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDM1CisgICAgMHgxLjZiZTcwMTlmMzRkMzRmMjVjYjBjMTRkMGM3YmM3YjMycDAsCisgICAgMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNgorICAgIC0weDEuNmJlNzAxOWYzNGQzNGYyNWNiMGMxNGQwYzdiYzdiMzJwMCwKKyAgICAtMHgxLmVhNWMzZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS5kNzRjYjIwMGFiNTkwNDAyOTA2MjdhOWIyZmZlMjljZnAwLAorICAgIDB4MS4xMmJkOTJwMAorICB9LAorICB7IC8vIEVudHJ5IDQzOAorICAgIC0weDEuZDc0Y2IyMDBhYjU5MDQwMjkwNjI3YTliMmZmZTI5Y2ZwMCwKKyAgICAtMHgxLjEyYmQ5MnAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM5CisgICAgMHgxLjFiNDhhNjk2NGMwMjQ2NDhmMTg2YmI2YjFlYmRlZWMycDEsCisgICAgMHgxLjI1N2IyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgLTB4MS4xYjQ4YTY5NjRjMDI0NjQ4ZjE4NmJiNmIxZWJkZWVjMnAxLAorICAgIC0weDEuMjU3YjI0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAweDEuNWQ2MDQ0NjZjNWFlZThmMWExZDg0NzBmN2ZmNTc5Y2ZwMSwKKyAgICAweDEuMzgzOGI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAtMHgxLjVkNjA0NDY2YzVhZWU4ZjFhMWQ4NDcwZjdmZjU3OWNmcDEsCisgICAgLTB4MS4zODM4YjZwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS5jMDhjYmQ1MmQyYjAxMmYwY2I0N2JjYjNmZjUxM2M2ZHAxLAorICAgIDB4MS40YWY2NDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NAorICAgIC0weDEuYzA4Y2JkNTJkMmIwMTJmMGNiNDdiY2IzZmY1MTNjNmRwMSwKKyAgICAtMHgxLjRhZjY0OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ1CisgICAgMHgxLjM0MjlmNmFhMzQ0NmQ3MDNlNmVmOTZlMGI1NjRmYzBjcDIsCisgICAgMHgxLjVkYjNkYXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgLTB4MS4zNDI5ZjZhYTM0NDZkNzAzZTZlZjk2ZTBiNTY0ZmMwY3AyLAorICAgIC0weDEuNWRiM2RhcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAweDEuZTNhM2EyNWIyNjA2NDE4YTEzOTcwOTcxYmVlZjQxZDZwMiwKKyAgICAweDEuNzA3MTZjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAtMHgxLmUzYTNhMjViMjYwNjQxOGExMzk3MDk3MWJlZWY0MWQ2cDIsCisgICAgLTB4MS43MDcxNmNwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIDB4MS4xMWQ4YjdiYTQxNjk0NjU4MTExYWY0ODkyNWJiYWQ2OHA0LAorICAgIDB4MS44MzJlZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MAorICAgIC0weDEuMTFkOGI3YmE0MTY5NDY1ODExMWFmNDg5MjViYmFkNjhwNCwKKyAgICAtMHgxLjgzMmVmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUxCisgICAgLTB4MS4wZDcwNTYzMTkzZmUyMTlmM2ZkMzFhMjg1ZjRkNjYzOHA2LAorICAgIDB4MS45NWVjOTBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS4wZDcwNTYzMTkzZmUyMTlmM2ZkMzFhMjg1ZjRkNjYzOHA2LAorICAgIC0weDEuOTVlYzkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAtMHgxLjZhN2UzMGFkODQ2MGYxYTcxMDQ3OWUyZGI5NDk1YzljcDMsCisgICAgMHgxLmE4YWExY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgMHgxLjZhN2UzMGFkODQ2MGYxYTcxMDQ3OWUyZGI5NDk1YzljcDMsCisgICAgLTB4MS5hOGFhMWNwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS45ZjM5ZWU5ZmVkYjIzNzVlYzA1ZDZkYTdhMjg4YzZiZHAwLAorICAgIDB4MS4wNGFmZjhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NgorICAgIC0weDEuOWYzOWVlOWZlZGIyMzc1ZWMwNWQ2ZGE3YTI4OGM2YmRwMCwKKyAgICAtMHgxLjA0YWZmOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU3CisgICAgMHgxLjlmM2M1MDljNmE3ZDc1ZTQ1MTA4ODM1OWM4OGRlZjg4cDAsCisgICAgMHgxLjA0YjBhMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgLTB4MS45ZjNjNTA5YzZhN2Q3NWU0NTEwODgzNTljODhkZWY4OHAwLAorICAgIC0weDEuMDRiMGEwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAweDEuOWYzZWIyOWRmOWU2YTIwNDY3NDc0ZTI0ZDhiZjM1YmFwMCwKKyAgICAweDEuMDRiMTQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAtMHgxLjlmM2ViMjlkZjllNmEyMDQ2NzQ3NGUyNGQ4YmYzNWJhcDAsCisgICAgLTB4MS4wNGIxNDhwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS45ZjQxMTRhNDliZmZmYzNmNWExODNkMzYwMDBhYTc4NXAwLAorICAgIDB4MS4wNGIxZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MgorICAgIC0weDEuOWY0MTE0YTQ5YmZmZmMzZjVhMTgzZDM2MDAwYWE3ODVwMCwKKyAgICAtMHgxLjA0YjFmMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYzCisgICAgMHgxLjlmNDM3NmIwNTBkYmM1NmJmNTU5NjA4MzE5MjA3N2I1cDAsCisgICAgMHgxLjA0YjI5OHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgLTB4MS45ZjQzNzZiMDUwZGJjNTZiZjU1OTYwODMxOTIwNzdiNXAwLAorICAgIC0weDEuMDRiMjk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAweDEuOWY0NWQ4YzExODhjM2ViNzdiY2EyYzRhODRjN2VhZGRwMCwKKyAgICAweDEuMDRiMzQwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAtMHgxLjlmNDVkOGMxMTg4YzNlYjc3YmNhMmM0YTg0YzdlYWRkcDAsCisgICAgLTB4MS4wNGIzNDBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIDB4MS45ZjQ4M2FkNmYzMjNhOWE1YTkwZDRhZTA3YTIzZDI2NnAwLAorICAgIDB4MS4wNGIzZThwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2OAorICAgIC0weDEuOWY0ODNhZDZmMzIzYTlhNWE5MGQ0YWUwN2EyM2QyNjZwMCwKKyAgICAtMHgxLjA0YjNlOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgMHgxLjlmNGE5Y2YxZTBiNDQ4MTBiM2FhN2NjYTQ1ZDcxY2M5cDAsCisgICAgMHgxLjA0YjQ5MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgLTB4MS45ZjRhOWNmMWUwYjQ0ODEwYjNhYTdjY2E0NWQ3MWNjOXAwLAorICAgIC0weDEuMDRiNDkwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzEKKyAgICAweDEuOWY0Y2YwOGFmNmM2MGVkNmUyYmFkZDVhN2I1YzFlODdwMCwKKyAgICAweDEuMDRiNTM0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAtMHgxLjlmNGNmMDhhZjZjNjBlZDZlMmJhZGQ1YTdiNWMxZTg3cDAsCisgICAgLTB4MS4wNGI1MzRwMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS5wLTE0OSwKKyAgICAweDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzUKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDQ3OAorICAgIDB4MS40ZDgyYjMzNGE1ODJhNTZhODAyZjk2YjNiOTZmZWI4MXAtMSwKKyAgICAweDEuMjc5YTcycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc5CisgICAgLTB4MS40ZDgyYjMzNGE1ODJhNTZhODAyZjk2YjNiOTZmZWI4MXAtMSwKKyAgICAtMHgxLjI3OWE3MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS40ZDgyYjYwZGU0MjhmOTJhYThjOTZhNGE3ZmU4ODk0NXAtMSwKKyAgICAweDEuMjc5YTc0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgxCisgICAgLTB4MS40ZDgyYjYwZGU0MjhmOTJhYThjOTZhNGE3ZmU4ODk0NXAtMSwKKyAgICAtMHgxLjI3OWE3NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MgorICAgIDB4MS40ZDgyYjhlNzIyZDMwMmY1YWE5MzlhNTYzYjEyYjFhMXAtMSwKKyAgICAweDEuMjc5YTc2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgLTB4MS40ZDgyYjhlNzIyZDMwMmY1YWE5MzlhNTYzYjEyYjFhMXAtMSwKKyAgICAtMHgxLjI3OWE3NnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4NAorICAgIC0weDEuODk3MTQ3NjBlOGZlZDlhZjAzYTkxY2YxNTI3Y2VhYWRwMiwKKyAgICAweDEuYmI2N2FjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODUKKyAgICAweDEuODk3MTQ3NjBlOGZlZDlhZjAzYTkxY2YxNTI3Y2VhYWRwMiwKKyAgICAtMHgxLmJiNjdhY3AwCisgIH0sCisgIHsgLy8gRW50cnkgNDg2CisgICAgLTB4MS44OTcxMzNmYjgxZjMxNjliMzE2MWQ1MGI1MGNjYzFhN3AyLAorICAgIDB4MS5iYjY3YWVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIDB4MS44OTcxMzNmYjgxZjMxNjliMzE2MWQ1MGI1MGNjYzFhN3AyLAorICAgIC0weDEuYmI2N2FlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAtMHgxLjg5NzEyMDk2MWNjNDQ3NWViM2I4MDYxZGYwNDA5NDMwcDIsCisgICAgMHgxLmJiNjdiMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNDg5CisgICAgMHgxLjg5NzEyMDk2MWNjNDQ3NWViM2I4MDYxZGYwNDA5NDMwcDIsCisgICAgLTB4MS5iYjY3YjBwMAorICB9LAorICB7IC8vIEVudHJ5IDQ5MAorICAgIDB4MS5kZWY0OWMzYWIwYWQ1ZGRlOTNiYTM0YzU0ZGI3MTRjN3AtMiwKKyAgICAweDEuYmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkxCisgICAgLTB4MS5kZWY0OWMzYWIwYWQ1ZGRlOTNiYTM0YzU0ZGI3MTRjN3AtMiwKKyAgICAtMHgxLmJmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIDB4MS5kZWY0OWVhYWIzN2ExNDc5MjMxZTg5OTUwOWVjZjI2Y3AtMiwKKyAgICAweDEuYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTMKKyAgICAtMHgxLmRlZjQ5ZWFhYjM3YTE0NzkyMzFlODk5NTA5ZWNmMjZjcC0yLAorICAgIC0weDEuYzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEuZGVmNGExMWFiNjQ3ZWVmMjEyYjE5OTdkM2I1MTQwNWFwLTIsCisgICAgMHgxLmMwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIC0weDEuZGVmNGExMWFiNjQ3ZWVmMjEyYjE5OTdkM2I1MTQwNWFwLTIsCisgICAgLTB4MS5jMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuYTQ2Y2FmNjUyZmExODk4N2U0ZDBhNzlmODE0NWRkNWJwLTEsCisgICAgMHgxLjVmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIC0weDEuYTQ2Y2FmNjUyZmExODk4N2U0ZDBhNzlmODE0NWRkNWJwLTEsCisgICAgLTB4MS41ZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuYTQ2Y2IyYmU2YTBiMWRhY2IzNjI2OWM0MWE0YTkxNDdwLTEsCisgICAgMHgxLjYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgLTB4MS5hNDZjYjJiZTZhMGIxZGFjYjM2MjY5YzQxYTRhOTE0N3AtMSwKKyAgICAtMHgxLjYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgMHgxLmE0NmNiNjE3YTQ3YTMxYTE1NmRjMDAwNWI0ZTZlYnAtMSwKKyAgICAweDEuNjAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTAxCisgICAgLTB4MS5hNDZjYjYxN2E0N2EzMWExNTZkYzAwMDViNGU2ZWJwLTEsCisgICAgLTB4MS42MDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuM2Q2ZGMyMzA4NjljNzBkNTkzN2ZlZGM5MmQ0MjRkZjJwMSwKKyAgICAweDEuMmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDMKKyAgICAtMHgxLjNkNmRjMjMwODY5YzcwZDU5MzdmZWRjOTJkNDI0ZGYycDEsCisgICAgLTB4MS4yZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIDB4MS4zZDZkYzk1NmVhYzdkM2I4ZDZlYjIxNzQxMTBkMWRkY3AxLAorICAgIDB4MS4zMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgLTB4MS4zZDZkYzk1NmVhYzdkM2I4ZDZlYjIxNzQxMTBkMWRkY3AxLAorICAgIC0weDEuMzBwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNgorICAgIDB4MS4zZDZkZDA3ZDRmM2EyMzc1ODlhZDVjNDFjMzgwMWNiNHAxLAorICAgIDB4MS4zMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuM2Q2ZGQwN2Q0ZjNhMjM3NTg5YWQ1YzQxYzM4MDFjYjRwMSwKKyAgICAtMHgxLjMwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTA4CisgICAgLTB4MS5iMmQ4YTg1OGM5MGE1MzhkMWRhYWQ3ODA0MGU2OWI5OHAtMSwKKyAgICAweDEuMzdmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDkKKyAgICAweDEuYjJkOGE4NThjOTBhNTM4ZDFkYWFkNzgwNDBlNjliOThwLTEsCisgICAgLTB4MS4zN2ZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIC0weDEuYjJkODlhOTM4Mjk0YzhhMjYwNGRiOWY3YWE1NmEwZjhwLTEsCisgICAgMHgxLjM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTEKKyAgICAweDEuYjJkODlhOTM4Mjk0YzhhMjYwNGRiOWY3YWE1NmEwZjhwLTEsCisgICAgLTB4MS4zOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgLTB4MS5iMmQ4OGNjZTNjN2NjZTE3NDI2NjQzOWRhMzA5Y2Y2MHAtMSwKKyAgICAweDEuMzgwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAweDEuYjJkODhjY2UzYzdjY2UxNzQyNjY0MzlkYTMwOWNmNjBwLTEsCisgICAgLTB4MS4zODAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDUxNAorICAgIDB4MS4wNmY4ZDBjZWNmMTY5YjA2NDY3ZTRhYTAzNmNmODI3OXAtNCwKKyAgICAweDEuMDY5YzhjcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTE1CisgICAgLTB4MS4wNmY4ZDBjZWNmMTY5YjA2NDY3ZTRhYTAzNmNmODI3OXAtNCwKKyAgICAtMHgxLjA2OWM4Y3AtNAorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIDB4MS4wODBmNzQ2Y2QxNzM5N2I2MGY5MDhlMmJlMDFmN2JhN3AtMywKKyAgICAweDEuMDY5YzhjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgLTB4MS4wODBmNzQ2Y2QxNzM5N2I2MGY5MDhlMmJlMDFmN2JhN3AtMywKKyAgICAtMHgxLjA2OWM4Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDUxOAorICAgIDB4MS44ZWQ5MTU1MDQ2OWQwZWIwOGFhZTIwNjU4OTU4MDQzYnAtMywKKyAgICAweDEuODllYWQycC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTE5CisgICAgLTB4MS44ZWQ5MTU1MDQ2OWQwZWIwOGFhZTIwNjU4OTU4MDQzYnAtMywKKyAgICAtMHgxLjg5ZWFkMnAtMworICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS4wYzg2NDE0OWRjNjgyNzZkZjI5OTI4MmQwNGY2OWFmNnAtMiwKKyAgICAweDEuMDY5YzhjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTIxCisgICAgLTB4MS4wYzg2NDE0OWRjNjgyNzZkZjI5OTI4MmQwNGY2OWFmNnAtMiwKKyAgICAtMHgxLjA2OWM4Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIDB4MS41M2ZkZDAxYTk4ZjA3ZjIwODU1NWNjNjQ0Mjc2ZWYyY3AtMiwKKyAgICAweDEuNDg0M2IwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgLTB4MS41M2ZkZDAxYTk4ZjA3ZjIwODU1NWNjNjQ0Mjc2ZWYyY3AtMiwKKyAgICAtMHgxLjQ4NDNiMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUyNAorICAgIDB4MS45ZTkyNWI3ZTIzN2I4OGFjNjA5OGI1MTNjMzcxNzU3Y3AtMiwKKyAgICAweDEuODllYWQ0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTI1CisgICAgLTB4MS45ZTkyNWI3ZTIzN2I4OGFjNjA5OGI1MTNjMzcxNzU3Y3AtMiwKKyAgICAtMHgxLjg5ZWFkNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS5lZDIxZWFkYjA4ZTQ3ZGI4YjJmMTE4ODBmYmI1Mjg3OXAtMiwKKyAgICAweDEuY2I5MWY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTI3CisgICAgLTB4MS5lZDIxZWFkYjA4ZTQ3ZGI4YjJmMTE4ODBmYmI1Mjg3OXAtMiwKKyAgICAtMHgxLmNiOTFmOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDUyOAorICAgIDB4MS4yMDVhNjNhMDRlMzFlMTg1MmFmM2RhMjJlOWY2OWExOXAtMSwKKyAgICAweDEuMDY5YzhlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTI5CisgICAgLTB4MS4yMDVhNjNhMDRlMzFlMTg1MmFmM2RhMjJlOWY2OWExOXAtMSwKKyAgICAtMHgxLjA2OWM4ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS40ZDQ2NmY4NGEzMjg4NTE1YWI2OTlkZDFjZWMzNDVkM3AtMSwKKyAgICAweDEuMjc3MDIwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgLTB4MS40ZDQ2NmY4NGEzMjg4NTE1YWI2OTlkZDFjZWMzNDVkM3AtMSwKKyAgICAtMHgxLjI3NzAyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUzMgorICAgIDB4MS43ZTFkOTk4M2I1ODc1NGEyOTAxMmUxN2EyNmYyNzdkN3AtMSwKKyAgICAweDEuNDg0M2IycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTMzCisgICAgLTB4MS43ZTFkOTk4M2I1ODc1NGEyOTAxMmUxN2EyNmYyNzdkN3AtMSwKKyAgICAtMHgxLjQ4NDNiMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS5iM2RmNDAyZmU0OTg0MmE0MTY0Y2YzODBmZmE1ZGNwLTEsCisgICAgMHgxLjY5MTc0NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIC0weDEuYjNkZjQwMmZlNDk4NDJhNDE2NGNmMzgwZmZhNWRjcC0xLAorICAgIC0weDEuNjkxNzQ0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLmVmZDgzMTFkZGYyY2MzOTNmMjBlYTc2N2M3YjIyNjRhcC0xLAorICAgIDB4MS44OWVhZDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzcKKyAgICAtMHgxLmVmZDgzMTFkZGYyY2MzOTNmMjBlYTc2N2M3YjIyNjRhcC0xLAorICAgIC0weDEuODllYWQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTM4CisgICAgMHgxLjE5ZTI3MWE2NDQ0ZmYzNGFhMmY3M2M4NTAxNDk3MWM5cDAsCisgICAgMHgxLmFhYmU2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUzOQorICAgIC0weDEuMTllMjcxYTY0NDRmZjM0YWEyZjczYzg1MDE0OTcxYzlwMCwKKyAgICAtMHgxLmFhYmU2OHAtMQorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDB4MS40MTAzOTM4MDJjMWEyMjM4MjkxNGFiZjA5NmFmYmVlOXAwLAorICAgIDB4MS5jYjkxZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDEKKyAgICAtMHgxLjQxMDM5MzgwMmMxYTIyMzgyOTE0YWJmMDk2YWZiZWU5cDAsCisgICAgLTB4MS5jYjkxZmFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDIKKyAgICAweDEuNmVmZWQzM2I3MTQwNDVmZTk5Y2ZhNTk0NzFlMWU5ZmRwMCwKKyAgICAweDEuZWM2NThjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgLTB4MS42ZWZlZDMzYjcxNDA0NWZlOTljZmE1OTQ3MWUxZTlmZHAwLAorICAgIC0weDEuZWM2NThjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQ0CisgICAgMHgxLmE2NGM4NmMwMmU3YTdkOTZlOTFmOTZhNTU4NDEyOWY0cDAsCisgICAgMHgxLjA2OWM4ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgLTB4MS5hNjRjODZjMDJlN2E3ZDk2ZTkxZjk2YTU1ODQxMjlmNHAwLAorICAgIC0weDEuMDY5YzhlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDYKKyAgICAweDEuZWFiNDQ3N2U1YjIyNmRjNTI3MGJhZTk3MjBlYTEzZTNwMCwKKyAgICAweDEuMTcwNjU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAtMHgxLmVhYjQ0NzdlNWIyMjZkYzUyNzBiYWU5NzIwZWExM2UzcDAsCisgICAgLTB4MS4xNzA2NTZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0OAorICAgIDB4MS4yMTI3N2Y5YTdkMmY2NmJiMTMxY2ZmMzJmMjY2MjljZHAxLAorICAgIDB4MS4yNzcwMWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU0OQorICAgIC0weDEuMjEyNzdmOWE3ZDJmNjZiYjEzMWNmZjMyZjI2NjI5Y2RwMSwKKyAgICAtMHgxLjI3NzAxZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjViZDE0MDY4MjViM2ZmZWJhNDgyMjFhZDZhOGY1NDE0cDEsCisgICAgMHgxLjM3ZDllNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgLTB4MS41YmQxNDA2ODI1YjNmZmViYTQ4MjIxYWQ2YThmNTQxNHAxLAorICAgIC0weDEuMzdkOWU2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuYWY0NjQzNTJhOTg5ZjgwMjgyNDE1MmNhZDBhZmU4YjdwMSwKKyAgICAweDEuNDg0M2FlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLmFmNDY0MzUyYTk4OWY4MDI4MjQxNTJjYWQwYWZlOGI3cDEsCisgICAgLTB4MS40ODQzYWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS4xODY2ZmE3YTYwMWI4N2JiNmYzNzhiMzQzOGUzZmMyNnAyLAorICAgIDB4MS41OGFkNzZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIC0weDEuMTg2NmZhN2E2MDFiODdiYjZmMzc4YjM0MzhlM2ZjMjZwMiwKKyAgICAtMHgxLjU4YWQ3NnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLjhiZGNjNjg3MThhNzAxMTg4NjBhMWI5NDU0MzdmZDkwcDIsCisgICAgMHgxLjY5MTczZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgLTB4MS44YmRjYzY4NzE4YTcwMTE4ODYwYTFiOTQ1NDM3ZmQ5MHAyLAorICAgIC0weDEuNjkxNzNlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAweDEuNGJiNjg4NTlkM2VhZmIyYTEzMGI3M2JhMDdlNDhlOGFwMywKKyAgICAweDEuNzk4MTA2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAtMHgxLjRiYjY4ODU5ZDNlYWZiMmExMzBiNzNiYTA3ZTQ4ZThhcDMsCisgICAgLTB4MS43OTgxMDZwMAorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDB4MS5mMmVmYWJhZWIzMjJlYzVjYTlkMzM4NjkyOTVjNjA2M3A0LAorICAgIDB4MS44OWVhY2VwMAorICB9LAorICB7IC8vIEVudHJ5IDU2MQorICAgIC0weDEuZjJlZmFiYWViMzIyZWM1Y2E5ZDMzODY5Mjk1YzYwNjNwNCwKKyAgICAtMHgxLjg5ZWFjZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTYyCisgICAgLTB4MS5mMmYxMzkyOTMyM2VmOGY1OGRiMTUyMTQzZTY1YmNiN3A0LAorICAgIDB4MS45YTU0OTZwMAorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIDB4MS5mMmYxMzkyOTMyM2VmOGY1OGRiMTUyMTQzZTY1YmNiN3A0LAorICAgIC0weDEuOWE1NDk2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAtMHgxLjRiYjZlMGVjMDJjYWQ1YzExMGE0ZDcwMDM5ZGI0ZDFjcDMsCisgICAgMHgxLmFhYmU1ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTY1CisgICAgMHgxLjRiYjZlMGVjMDJjYWQ1YzExMGE0ZDcwMDM5ZGI0ZDFjcDMsCisgICAgLTB4MS5hYWJlNWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU2NgorICAgIC0weDEuOGJkZDA2YTY1NWRmYTJmMzE5NWFjYTQ4Nzk4ZTVjODZwMiwKKyAgICAweDEuYmIyODI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjcKKyAgICAweDEuOGJkZDA2YTY1NWRmYTJmMzE5NWFjYTQ4Nzk4ZTVjODZwMiwKKyAgICAtMHgxLmJiMjgyNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTY4CisgICAgLTB4MS4xODY3MWI3NmNmY2NmOThhNmVkYmMxZmQ1Yjg2NDdiN3AyLAorICAgIDB4MS5jYjkxZWVwMAorICB9LAorICB7IC8vIEVudHJ5IDU2OQorICAgIDB4MS4xODY3MWI3NmNmY2NmOThhNmVkYmMxZmQ1Yjg2NDdiN3AyLAorICAgIC0weDEuY2I5MWVlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAtMHgxLmFmNDY2YmFjODBkYzlkZjY2OGQxZTBlOWI0NDJiZjBlcDEsCisgICAgMHgxLmRiZmJiNnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLmFmNDY2YmFjODBkYzlkZjY2OGQxZTBlOWI0NDJiZjBlcDEsCisgICAgLTB4MS5kYmZiYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU3MgorICAgIC0weDEuNWJkMTViY2IzZDA2OTA2Y2VmNWYzYjJlYzNhYjRhYjlwMSwKKyAgICAweDEuZWM2NTdlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzMKKyAgICAweDEuNWJkMTViY2IzZDA2OTA2Y2VmNWYzYjJlYzNhYjRhYjlwMSwKKyAgICAtMHgxLmVjNjU3ZXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTc0CisgICAgLTB4MS4yMTI3OTM4YTU0NmQzYzQyODI5MmJhNTNlZTZmNjdjY3AxLAorICAgIDB4MS5mY2NmNDZwMAorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIDB4MS4yMTI3OTM4YTU0NmQzYzQyODI5MmJhNTNlZTZmNjdjY3AxLAorICAgIC0weDEuZmNjZjQ2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAtMHgxLmVhYjQ1Y2FlZDcwNmM0ZGI2MjJjOTBmZTNlOGQxNmMycDAsCisgICAgMHgxLjA2OWM4OHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTc3CisgICAgMHgxLmVhYjQ1Y2FlZDcwNmM0ZGI2MjJjOTBmZTNlOGQxNmMycDAsCisgICAgLTB4MS4wNjljODhwMQorICB9LAorICB7IC8vIEVudHJ5IDU3OAorICAgIC0weDEuYTY0Yzk3OWViNzAzZDgyY2I0ODA4MDQ0ZThhYmY5M2ZwMCwKKyAgICAweDEuMGVkMTZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzkKKyAgICAweDEuYTY0Yzk3OWViNzAzZDgyY2I0ODA4MDQ0ZThhYmY5M2ZwMCwKKyAgICAtMHgxLjBlZDE2Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTgwCisgICAgLTB4MS42ZWZlZTExNTAwMjYzYzEwYzFkMWJiNTkwNDI0NGRlNnAwLAorICAgIDB4MS4xNzA2NTBwMQorICB9LAorICB7IC8vIEVudHJ5IDU4MQorICAgIDB4MS42ZWZlZTExNTAwMjYzYzEwYzFkMWJiNTkwNDI0NGRlNnAwLAorICAgIC0weDEuMTcwNjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAtMHgxLjQxMDNhMWJjMGY2NTc2YTc2MGQ0OWRhM2JmZTU1ODc0cDAsCisgICAgMHgxLjFmM2IzNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLjQxMDNhMWJjMGY2NTc2YTc2MGQ0OWRhM2JmZTU1ODc0cDAsCisgICAgLTB4MS4xZjNiMzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU4NAorICAgIC0weDEuMTllMjgwMWFhMjRlZTBhZGNkOTQ5MWU0ZDdhZjI1NmZwMCwKKyAgICAweDEuMjc3MDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODUKKyAgICAweDEuMTllMjgwMWFhMjRlZTBhZGNkOTQ5MWU0ZDdhZjI1NmZwMCwKKyAgICAtMHgxLjI3NzAxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTg2CisgICAgLTB4MS5lZmQ4NGU1MDY1MmMxYjdjNzE5NzJhZDhlZTdjMDE4YXAtMSwKKyAgICAweDEuMmZhNGZjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAweDEuZWZkODRlNTA2NTJjMWI3YzcxOTcyYWQ4ZWU3YzAxOGFwLTEsCisgICAgLTB4MS4yZmE0ZmNwMQorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIC0weDEuYjNkZjVkOWY1NGUyYzc0OGNmMDIyN2VlMDk3NGVhMmVwLTEsCisgICAgMHgxLjM3ZDllMHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTg5CisgICAgMHgxLmIzZGY1ZDlmNTRlMmM3NDhjZjAyMjdlZTA5NzRlYTJlcC0xLAorICAgIC0weDEuMzdkOWUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTAKKyAgICAtMHgxLjdlMWRiNzMzNzY5YTExMjZhMmIwYWM3ZmExNGE0MDJjcC0xLAorICAgIDB4MS40MDBlYzRwMQorICB9LAorICB7IC8vIEVudHJ5IDU5MQorICAgIDB4MS43ZTFkYjczMzc2OWExMTI2YTJiMGFjN2ZhMTRhNDAyY3AtMSwKKyAgICAtMHgxLjQwMGVjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTkyCisgICAgLTB4MS40ZDQ2OGQ4MmMxYTg0ZmVmNzI3OWZjNWZiMjQ0MTliMnAtMSwKKyAgICAweDEuNDg0M2E4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAweDEuNGQ0NjhkODJjMWE4NGZlZjcyNzlmYzVmYjI0NDE5YjJwLTEsCisgICAgLTB4MS40ODQzYThwMQorICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIC0weDEuMjA1YTgyMDI1NDUyMDJkODkxY2U4OWJmYTZjZDE0NzZwLTEsCisgICAgMHgxLjUwNzg4Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNTk1CisgICAgMHgxLjIwNWE4MjAyNTQ1MjAyZDg5MWNlODliZmE2Y2QxNDc2cC0xLAorICAgIC0weDEuNTA3ODhjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTYKKyAgICAtMHgxLmVkMjIyODlkODkxZWQ3OGNkYzgxOGE0Y2RlNmRlOTE4cC0yLAorICAgIDB4MS41OGFkNzBwMQorICB9LAorICB7IC8vIEVudHJ5IDU5NworICAgIDB4MS5lZDIyMjg5ZDg5MWVkNzhjZGM4MThhNGNkZTZkZTkxOHAtMiwKKyAgICAtMHgxLjU4YWQ3MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNTk4CisgICAgLTB4MS45ZTkyOWE3ZmFkZjgzYjZmOWU4ZmI4NTFmNTEyYjQ0YnAtMiwKKyAgICAweDEuNjBlMjU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAweDEuOWU5MjlhN2ZhZGY4M2I2ZjllOGZiODUxZjUxMmI0NGJwLTIsCisgICAgLTB4MS42MGUyNTRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIC0weDEuNTNmZTEwYTU0N2E2ZWNjZTVjYWRkYzIwMDVkYjgyMmJwLTIsCisgICAgMHgxLjY5MTczOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjAxCisgICAgMHgxLjUzZmUxMGE1NDdhNmVjY2U1Y2FkZGMyMDA1ZGI4MjJicC0yLAorICAgIC0weDEuNjkxNzM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDIKKyAgICAtMHgxLjBjODY4M2IxYmM2ODI3NTllMjg0NDFlZjk3Yzg4NTRicC0yLAorICAgIDB4MS43MTRjMWNwMQorICB9LAorICB7IC8vIEVudHJ5IDYwMworICAgIDB4MS4wYzg2ODNiMWJjNjgyNzU5ZTI4NDQxZWY5N2M4ODU0YnAtMiwKKyAgICAtMHgxLjcxNGMxY3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjA0CisgICAgLTB4MS44ZWQ5OWM4NTQ2MDA4YmU0NjYxNGVhNjZjN2RkZDdlNnAtMywKKyAgICAweDEuNzk4MXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA1CisgICAgMHgxLjhlZDk5Yzg1NDYwMDhiZTQ2NjE0ZWE2NmM3ZGRkN2U2cC0zLAorICAgIC0weDEuNzk4MXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA2CisgICAgLTB4MS4wODBmZmVmNGVkYTAyNzFkODE2NThkNThhZTI4MDc5MnAtMywKKyAgICAweDEuODFiNWU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDcKKyAgICAweDEuMDgwZmZlZjRlZGEwMjcxZDgxNjU4ZDU4YWUyODA3OTJwLTMsCisgICAgLTB4MS44MWI1ZTRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwOAorICAgIC0weDEuMDZmOWVlODM2ODZhYTYxOTRjMDNkZTcxYTZiNTJmNzVwLTQsCisgICAgMHgxLjg5ZWFjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjA5CisgICAgMHgxLjA2ZjllZTgzNjg2YWE2MTk0YzAzZGU3MWE2YjUyZjc1cC00LAorICAgIC0weDEuODllYWM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEuMGM4NjI3ZWMzYmMyZThmMGU2ZGY0NGY4MDlmMzcwZmRwLTIsCisgICAgLTB4MS44MWI1ZWVwMgorICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIC0weDEuMGM4NjI3ZWMzYmMyZThmMGU2ZGY0NGY4MDlmMzcwZmRwLTIsCisgICAgMHgxLjgxYjVlZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjEyCisgICAgMHgxLjIwNWE0OTc1M2JiODllOGM5NzFjNmNkMjg0MmVkYWYwcC0xLAorICAgIC0weDEuNzE0YzI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTMKKyAgICAtMHgxLjIwNWE0OTc1M2JiODllOGM5NzFjNmNkMjg0MmVkYWYwcC0xLAorICAgIDB4MS43MTRjMjZwMgorICB9LAorICB7IC8vIEVudHJ5IDYxNAorICAgIDB4MS5lZmQ3ZmIxZDI4YjhhMDYwMmIyNWZhZGZlOWUwMjc3YXAtMSwKKyAgICAtMHgxLjYwZTI1ZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjE1CisgICAgLTB4MS5lZmQ3ZmIxZDI4YjhhMDYwMmIyNWZhZGZlOWUwMjc3YXAtMSwKKyAgICAweDEuNjBlMjVlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAweDEuYTY0YzQ3YmNmYjVmOWNiZGI0OTM2MGE2NTU0OGZkNmRwMCwKKyAgICAtMHgxLjUwNzg5NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjE3CisgICAgLTB4MS5hNjRjNDdiY2ZiNWY5Y2JkYjQ5MzYwYTY1NTQ4ZmQ2ZHAwLAorICAgIDB4MS41MDc4OTZwMgorICB9LAorICB7IC8vIEVudHJ5IDYxOAorICAgIDB4MS5hZjQ1ZGFiZDM0Yjc1NTk3ZmY3MDA3OWIzZGU5ODZmZHAxLAorICAgIC0weDEuNDAwZWNlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTkKKyAgICAtMHgxLmFmNDVkYWJkMzRiNzU1OTdmZjcwMDc5YjNkZTk4NmZkcDEsCisgICAgMHgxLjQwMGVjZXAyCisgIH0sCisgIHsgLy8gRW50cnkgNjIwCisgICAgMHgxLmYyZWJhNTgzZmZmOWY4ZGYzNjkzZmZkOTY5Mzk1ZGU3cDQsCisgICAgLTB4MS4yZmE1MDZwMgorICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIC0weDEuZjJlYmE1ODNmZmY5ZjhkZjM2OTNmZmQ5NjkzOTVkZTdwNCwKKyAgICAweDEuMmZhNTA2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAtMHgxLjE4Njc3MGY1Y2VmMTUyYTRlYzc1ZmU5YTcwMzFhNTZhcDIsCisgICAgLTB4MS4xZjNiM2VwMgorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIDB4MS4xODY3NzBmNWNlZjE1MmE0ZWM3NWZlOWE3MDMxYTU2YXAyLAorICAgIDB4MS4xZjNiM2VwMgorICB9LAorICB7IC8vIEVudHJ5IDYyNAorICAgIC0weDEuZWFiNGI1MmU2Y2NlMTYwYTViOWEyM2E0YjkyOWQwMWRwMCwKKyAgICAtMHgxLjBlZDE3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjI1CisgICAgMHgxLmVhYjRiNTJlNmNjZTE2MGE1YjlhMjNhNGI5MjlkMDFkcDAsCisgICAgMHgxLjBlZDE3NnAyCisgIH0sCisgIHsgLy8gRW50cnkgNjI2CisgICAgLTB4MS4xOWUyYTEyNGJjM2RlZWY2NDgzMzgyNzQ2MjdjYzM3MXAwLAorICAgIC0weDEuZmNjZjVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjcKKyAgICAweDEuMTllMmExMjRiYzNkZWVmNjQ4MzM4Mjc0NjI3Y2MzNzFwMCwKKyAgICAweDEuZmNjZjVhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAtMHgxLjRkNDZhY2E0OGRlNDdmNWZkOTBjOTAwMGMxNTQyNWQ4cC0xLAorICAgIC0weDEuZGJmYmM4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjkKKyAgICAweDEuNGQ0NmFjYTQ4ZGU0N2Y1ZmQ5MGM5MDAwYzE1NDI1ZDhwLTEsCisgICAgMHgxLmRiZmJjOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjMwCisgICAgLTB4MS41M2ZlMmY2ZmM5ZDAyMzc3NGEyMTA1YzgyMTNlNGQ1ZXAtMiwKKyAgICAtMHgxLmJiMjgzNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjMxCisgICAgMHgxLjUzZmUyZjZmYzlkMDIzNzc0YTIxMDVjODIxM2U0ZDVlcC0yLAorICAgIDB4MS5iYjI4MzZwMQorICB9LAorICB7IC8vIEVudHJ5IDYzMgorICAgIC0weDEuMDZmYTFkYTQzYjI2Y2Q1ODBjZTVhNWI4OWNmMmVmZjNwLTQsCisgICAgLTB4MS45YTU0YTRwMQorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIDB4MS4wNmZhMWRhNDNiMjZjZDU4MGNlNWE1Yjg5Y2YyZWZmM3AtNCwKKyAgICAweDEuOWE1NGE0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAweDEuOGVkODcxOThmNDEzZDNhMTIyNjU4Mjg3YWE3ZmMzM2VwLTMsCisgICAgLTB4MS43OTgxMTJwMQorICB9LAorICB7IC8vIEVudHJ5IDYzNQorICAgIC0weDEuOGVkODcxOThmNDEzZDNhMTIyNjU4Mjg3YWE3ZmMzM2VwLTMsCisgICAgMHgxLjc5ODExMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM2CisgICAgMHgxLmVkMjE4YWVlMmRmNGU4MGUzOTM0MGIwYzRlYzNiMWQ1cC0yLAorICAgIC0weDEuNThhZDgwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzcKKyAgICAtMHgxLmVkMjE4YWVlMmRmNGU4MGUzOTM0MGIwYzRlYzNiMWQ1cC0yLAorICAgIDB4MS41OGFkODBwMQorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS5iM2RlZmQwOTkxZTYzMTUzNjlkYmQ1ZTJkZTJkMTRmZXAtMSwKKyAgICAtMHgxLjM3ZDllZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgLTB4MS5iM2RlZmQwOTkxZTYzMTUzNjlkYmQ1ZTJkZTJkMTRmZXAtMSwKKyAgICAweDEuMzdkOWVlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDAKKyAgICAweDEuNmVmZTk3YzIzZjIwNjgyNmI0ZjAwMTlmMjc1ZDNhNDRwMCwKKyAgICAtMHgxLjE3MDY1Y3AxCisgIH0sCisgIHsgLy8gRW50cnkgNjQxCisgICAgLTB4MS42ZWZlOTdjMjNmMjA2ODI2YjRmMDAxOWYyNzVkM2E0NHAwLAorICAgIDB4MS4xNzA2NWNwMQorICB9LAorICB7IC8vIEVudHJ5IDY0MgorICAgIDB4MS41YmQwZmY5MjVjOTRmN2Q2MDhiODg0ODRmOTA4MWYyY3AxLAorICAgIC0weDEuZWM2NTk0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDMKKyAgICAtMHgxLjViZDBmZjkyNWM5NGY3ZDYwOGI4ODQ4NGY5MDgxZjJjcDEsCisgICAgMHgxLmVjNjU5NHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ0CisgICAgMHgxLjRiYjVlY2U2NTdiZWUyOTJhODJhM2ZkYTZiODEyYWFkcDMsCisgICAgLTB4MS5hYWJlNzBwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NQorICAgIC0weDEuNGJiNWVjZTY1N2JlZTI5MmE4MmEzZmRhNmI4MTJhYWRwMywKKyAgICAweDEuYWFiZTcwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDYKKyAgICAtMHgxLjhiZGQ0ZmVlZjE4YmZhOGE2YzIzZGU2YTcyMWYyNDM2cDIsCisgICAgLTB4MS42OTE3NGNwMAorICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIDB4MS44YmRkNGZlZWYxOGJmYThhNmMyM2RlNmE3MjFmMjQzNnAyLAorICAgIDB4MS42OTE3NGNwMAorICB9LAorICB7IC8vIEVudHJ5IDY0OAorICAgIC0weDEuMjEyNzllMWU4YmY0YmQzOTgzYTM2NzcyNjdlNTU4MDlwMSwKKyAgICAtMHgxLjI3NzAyOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgMHgxLjIxMjc5ZTFlOGJmNGJkMzk4M2EzNjc3MjY3ZTU1ODA5cDEsCisgICAgMHgxLjI3NzAyOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjUwCisgICAgLTB4MS40MTAzYTgxNDdjYTgzNjEzNmNjOThkYjliYzZkZGYzMHAwLAorICAgIC0weDEuY2I5MjBhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjUxCisgICAgMHgxLjQxMDNhODE0N2NhODM2MTM2Y2M5OGRiOWJjNmRkZjMwcDAsCisgICAgMHgxLmNiOTIwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIC0weDEuN2UxZGI1OGE1NWQ2YTEyYTY0NTdlM2M1OTI5YWMyYzdwLTEsCisgICAgLTB4MS40ODQzYzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTMKKyAgICAweDEuN2UxZGI1OGE1NWQ2YTEyYTY0NTdlM2M1OTI5YWMyYzdwLTEsCisgICAgMHgxLjQ4NDNjNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDY1NAorICAgIC0weDEuOWU5MjhhMGM4ZTc5MDIzMjAwMTY0ZWQyNDBjYWFkMDVwLTIsCisgICAgLTB4MS44OWVhZmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTUKKyAgICAweDEuOWU5MjhhMGM4ZTc5MDIzMjAwMTY0ZWQyNDBjYWFkMDVwLTIsCisgICAgMHgxLjg5ZWFmY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDY1NgorICAgIC0weDEuMDgwZmM5ZDI0ZmJlOTg3NmIzMWIwYWEyOWRkMjM4ZWFwLTMsCisgICAgLTB4MS4wNjljZTBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAweDEuMDgwZmM5ZDI0ZmJlOTg3NmIzMWIwYWEyOWRkMjM4ZWFwLTMsCisgICAgMHgxLjA2OWNlMHAtMworICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS4wODBmMWYwNzU0MGZkMDNiODJkNGIzNzBkMjM3ZmEzZHAtMywKKyAgICAweDEuMDY5YzM4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjU5CisgICAgLTB4MS4wODBmMWYwNzU0MGZkMDNiODJkNGIzNzBkMjM3ZmEzZHAtMywKKyAgICAtMHgxLjA2OWMzOHAtMworICB9LAorICB7IC8vIEVudHJ5IDY2MAorICAgIDB4MS45ZTkyMjg0N2UyYjFiNmE3MmQ0ODY3MDBlMThjMDVmMnAtMiwKKyAgICAweDEuODllYWE4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgLTB4MS45ZTkyMjg0N2UyYjFiNmE3MmQ0ODY3MDBlMThjMDVmMnAtMiwKKyAgICAtMHgxLjg5ZWFhOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDY2MgorICAgIDB4MS43ZTFkNzQyNThjYmM5NjRiNTYxZDk5YzlhNjZmOGM3ZXAtMSwKKyAgICAweDEuNDg0MzlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjYzCisgICAgLTB4MS43ZTFkNzQyNThjYmM5NjRiNTYxZDk5YzlhNjZmOGM3ZXAtMSwKKyAgICAtMHgxLjQ4NDM5YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS40MTAzNzIwZjJjYTNlMDU4MGZiYTE1ODQ5Mzk4YTRlOXAwLAorICAgIDB4MS5jYjkxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjUKKyAgICAtMHgxLjQxMDM3MjBmMmNhM2UwNTgwZmJhMTU4NDkzOThhNGU5cDAsCisgICAgLTB4MS5jYjkxZTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjYKKyAgICAweDEuMjEyNzYxMTY3M2NjYzc1MzFmNWFmNWFlZGEzNDEyYzVwMSwKKyAgICAweDEuMjc3MDE0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjcKKyAgICAtMHgxLjIxMjc2MTE2NzNjY2M3NTMxZjVhZjVhZWRhMzQxMmM1cDEsCisgICAgLTB4MS4yNzcwMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDY2OAorICAgIDB4MS44YmRjOGJhM2Q4Mjc3MjEzYzViNzRlZjgwNmVmNDY2YnAyLAorICAgIDB4MS42OTE3MzhwMAorICB9LAorICB7IC8vIEVudHJ5IDY2OQorICAgIC0weDEuOGJkYzhiYTNkODI3NzIxM2M1Yjc0ZWY4MDZlZjQ2NmJwMiwKKyAgICAtMHgxLjY5MTczOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjcwCisgICAgLTB4MS40YmI2ZmMwOTJiYzE2NTMwMjE2MjA5YTkxMmFhZGEzN3AzLAorICAgIDB4MS5hYWJlNWNwMAorICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIDB4MS40YmI2ZmMwOTJiYzE2NTMwMjE2MjA5YTkxMmFhZGEzN3AzLAorICAgIC0weDEuYWFiZTVjcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzIKKyAgICAtMHgxLjViZDE1MzY4Zjg0YmUwYmRhOGYxMzVhNWY3OWFlYWNicDEsCisgICAgMHgxLmVjNjU4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgMHgxLjViZDE1MzY4Zjg0YmUwYmRhOGYxMzVhNWY3OWFlYWNicDEsCisgICAgLTB4MS5lYzY1ODBwMAorICB9LAorICB7IC8vIEVudHJ5IDY3NAorICAgIC0weDEuNmVmZWQ0ZGM4OTQ2ZTFjMzYyMGQ3OWJiMGQ2NTQzMzhwMCwKKyAgICAweDEuMTcwNjUycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAweDEuNmVmZWQ0ZGM4OTQ2ZTFjMzYyMGQ3OWJiMGQ2NTQzMzhwMCwKKyAgICAtMHgxLjE3MDY1MnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjc2CisgICAgLTB4MS5iM2RmNDIwNmQyMzI3OTRkNTc2MTk5MmQ4OGM1YTM5NHAtMSwKKyAgICAweDEuMzdkOWU0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzcKKyAgICAweDEuYjNkZjQyMDZkMjMyNzk0ZDU3NjE5OTJkODhjNWEzOTRwLTEsCisgICAgLTB4MS4zN2Q5ZTRwMQorICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIC0weDEuZWQyMWVkN2JjNGI1OTY4YmRiMGNkNmRhMjY5Y2Q1NWZwLTIsCisgICAgMHgxLjU4YWQ3NnAxCisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgMHgxLmVkMjFlZDdiYzRiNTk2OGJkYjBjZDZkYTI2OWNkNTVmcC0yLAorICAgIC0weDEuNThhZDc2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODAKKyAgICAtMHgxLjhlZDkxN2FhNzRlNzMzYjkxOTRkNTM3YzhkZjMzYzY0cC0zLAorICAgIDB4MS43OTgxMDhwMQorICB9LAorICB7IC8vIEVudHJ5IDY4MQorICAgIDB4MS44ZWQ5MTdhYTc0ZTczM2I5MTk0ZDUzN2M4ZGYzM2M2NHAtMywKKyAgICAtMHgxLjc5ODEwOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjgyCisgICAgMHgxLjA2ZjhkYzUyOGVhMDE4ODIwNjRlZTI0MmY1OGEyYjg4cC00LAorICAgIDB4MS45YTU0OWFwMQorICB9LAorICB7IC8vIEVudHJ5IDY4MworICAgIC0weDEuMDZmOGRjNTI4ZWEwMTg4MjA2NGVlMjQyZjU4YTJiODhwLTQsCisgICAgLTB4MS45YTU0OWFwMQorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS41M2ZkZDY5ZTE0MzdkYjk1N2M2MmU4Y2M1NTc0MmJlZXAtMiwKKyAgICAweDEuYmIyODJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODUKKyAgICAtMHgxLjUzZmRkNjllMTQzN2RiOTU3YzYyZThjYzU1NzQyYmVlcC0yLAorICAgIC0weDEuYmIyODJjcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2ODYKKyAgICAweDEuNGQ0NjczYjFjNzYzNWNjODkzZTFjOGQyY2E1N2IzZTlwLTEsCisgICAgMHgxLmRiZmJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgLTB4MS40ZDQ2NzNiMWM3NjM1Y2M4OTNlMWM4ZDJjYTU3YjNlOXAtMSwKKyAgICAtMHgxLmRiZmJiZXAxCisgIH0sCisgIHsgLy8gRW50cnkgNjg4CisgICAgMHgxLjE5ZTI3NGU0ZmRlYzllNzhlZjY4NzIwODFiNTU3MmNmcDAsCisgICAgMHgxLmZjY2Y1MHAxCisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgLTB4MS4xOWUyNzRlNGZkZWM5ZTc4ZWY2ODcyMDgxYjU1NzJjZnAwLAorICAgIC0weDEuZmNjZjUwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTAKKyAgICAweDEuZWFiNDQ1MDAzYTdiNTQyYTJkNGQ4N2E4ODc5M2JiNjdwMCwKKyAgICAweDEuMGVkMTcwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTEKKyAgICAtMHgxLmVhYjQ0NTAwM2E3YjU0MmEyZDRkODdhODg3OTNiYjY3cDAsCisgICAgLTB4MS4wZWQxNzBwMgorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS4xODY2ZjdjOTE2NjBkOWM5ZjRiMmQxNGU5MTM3NTczMnAyLAorICAgIDB4MS4xZjNiMzhwMgorICB9LAorICB7IC8vIEVudHJ5IDY5MworICAgIC0weDEuMTg2NmY3YzkxNjYwZDljOWY0YjJkMTRlOTEzNzU3MzJwMiwKKyAgICAtMHgxLjFmM2IzOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjk0CisgICAgLTB4MS5mMmYxNTk5YjI5YTdkZTk1MmI4YmExODc3ZDlmNWU2MXA0LAorICAgIDB4MS4yZmE1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAweDEuZjJmMTU5OWIyOWE3ZGU5NTJiOGJhMTg3N2Q5ZjVlNjFwNCwKKyAgICAtMHgxLjJmYTVwMgorICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIC0weDEuYWY0NjZlZjdiMTU2NDU0NTVlMTVmYmJhZTZiYjRiYzZwMSwKKyAgICAweDEuNDAwZWM4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTcKKyAgICAweDEuYWY0NjZlZjdiMTU2NDU0NTVlMTVmYmJhZTZiYjRiYzZwMSwKKyAgICAtMHgxLjQwMGVjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNjk4CisgICAgLTB4MS5hNjRjYTEwYmZlZmQyYjA0YmI2YTFiYjcwOGMyODk2N3AwLAorICAgIDB4MS41MDc4OTBwMgorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIDB4MS5hNjRjYTEwYmZlZmQyYjA0YmI2YTFiYjcwOGMyODk2N3AwLAorICAgIC0weDEuNTA3ODkwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDAKKyAgICAtMHgxLmVmZDg1ODIxZWM5MjdmMmE4OWVjNDFhY2VlNTg3MjMwcC0xLAorICAgIDB4MS42MGUyNThwMgorICB9LAorICB7IC8vIEVudHJ5IDcwMQorICAgIDB4MS5lZmQ4NTgyMWVjOTI3ZjJhODllYzQxYWNlZTU4NzIzMHAtMSwKKyAgICAtMHgxLjYwZTI1OHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgLTB4MS4yMDVhODhhZWM2NGNhZDM1ZDc3NTJjNzM2MjBjMjEzOXAtMSwKKyAgICAweDEuNzE0YzIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAweDEuMjA1YTg4YWVjNjRjYWQzNWQ3NzUyYzczNjIwYzIxMzlwLTEsCisgICAgLTB4MS43MTRjMjBwMgorICB9LAorICB7IC8vIEVudHJ5IDcwNAorICAgIC0weDEuMGM4NjhlODYzNTQzZmQ5ODk0NzZjOGNkZWZmYTkzZWFwLTIsCisgICAgMHgxLjgxYjVlOHAyCisgIH0sCisgIHsgLy8gRW50cnkgNzA1CisgICAgMHgxLjBjODY4ZTg2MzU0M2ZkOTg5NDc2YzhjZGVmZmE5M2VhcC0yLAorICAgIC0weDEuODFiNWU4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDYKKyAgICAweDEuZjA5YjYxYThhMDRmMDg5ODg1MWYxZDc2MDRmYTEzYzhwLTUsCisgICAgMHgxLmVmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDcwNworICAgIC0weDEuZjA5YjYxYThhMDRmMDg5ODg1MWYxZDc2MDRmYTEzYzhwLTUsCisgICAgLTB4MS5lZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDgKKyAgICAweDEuZjA5YjYzYWE4MWZjNDZlOTVlMDY0MDViNDFlOGI0Y2NwLTUsCisgICAgMHgxLmYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzA5CisgICAgLTB4MS5mMDliNjNhYTgxZmM0NmU5NWUwNjQwNWI0MWU4YjRjY3AtNSwKKyAgICAtMHgxLmYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLmYwOWI2NWFjNjNhOTg5MWYxNDE4YzQzMzhjMWU0MTllcC01LAorICAgIDB4MS5mMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICAtMHgxLmYwOWI2NWFjNjNhOTg5MWYxNDE4YzQzMzhjMWU0MTllcC01LAorICAgIC0weDEuZjAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgNzEyCisgICAgMHgxLmZhOGYxZmMwY2U4NmMyMTRiZjc2NWZkNTllODc5OGE1cC00LAorICAgIDB4MS5mN2ZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTMKKyAgICAtMHgxLmZhOGYxZmMwY2U4NmMyMTRiZjc2NWZkNTllODc5OGE1cC00LAorICAgIC0weDEuZjdmZmZlcC00CisgIH0sCisgIHsgLy8gRW50cnkgNzE0CisgICAgMHgxLmZhOGYyMWM4YTMzYWZkMzM1NTE5OGU4ZDc3MTZhODExcC00LAorICAgIDB4MS5mOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDcxNQorICAgIC0weDEuZmE4ZjIxYzhhMzNhZmQzMzU1MTk4ZThkNzcxNmE4MTFwLTQsCisgICAgLTB4MS5mOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIDB4MS5mYThmMjNkMDc3ZWY0ODY0NWVmZjlhNTE5NjI4YjNhOXAtNCwKKyAgICAweDEuZjgwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgNzE3CisgICAgLTB4MS5mYThmMjNkMDc3ZWY0ODY0NWVmZjlhNTE5NjI4YjNhOXAtNCwKKyAgICAtMHgxLmY4MDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDcxOAorICAgIDB4MS40ZWYwNmFhNzNlZTZhNDM5YzBjOWY0NTA0NmIyNTk3OHAtMywKKyAgICAweDEuNGJmZmZlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgLTB4MS40ZWYwNmFhNzNlZTZhNDM5YzBjOWY0NTA0NmIyNTk3OHAtMywKKyAgICAtMHgxLjRiZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDcyMAorICAgIDB4MS40ZWYwNmNiNGYwYTg3YTVjOGVlZWViY2ViMTJhMjJiNHAtMywKKyAgICAweDEuNGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjEKKyAgICAtMHgxLjRlZjA2Y2I0ZjBhODdhNWM4ZWVlZWJjZWIxMmEyMmI0cC0zLAorICAgIC0weDEuNGNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjIKKyAgICAweDEuNGVmMDZlYzJhMjZhN2I3YzE3MjFmZmFmYjkzYzAyODFwLTMsCisgICAgMHgxLjRjMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDcyMworICAgIC0weDEuNGVmMDZlYzJhMjZhN2I3YzE3MjFmZmFmYjkzYzAyODFwLTMsCisgICAgLTB4MS40YzAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjQKKyAgICAweDEuM2NjMmEyZmQ5MTFlMTU1N2Q1N2I0NGFiZjI4YzRjY2FwLTIsCisgICAgMHgxLjMzMzMzMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyNQorICAgIC0weDEuM2NjMmEyZmQ5MTFlMTU1N2Q1N2I0NGFiZjI4YzRjY2FwLTIsCisgICAgLTB4MS4zMzMzMzJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAweDEuM2NjMmE1MmU4ZjQxMzdjYTI3ZDFkYzA1NjcxOTU0NDNwLTIsCisgICAgMHgxLjMzMzMzNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyNworICAgIC0weDEuM2NjMmE1MmU4ZjQxMzdjYTI3ZDFkYzA1NjcxOTU0NDNwLTIsCisgICAgLTB4MS4zMzMzMzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjgKKyAgICAweDEuM2NjMmE3NWY4ZDY1MDdjNTg5YmYwOGUwMzcxMzk0YmNwLTIsCisgICAgMHgxLjMzMzMzNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDcyOQorICAgIC0weDEuM2NjMmE3NWY4ZDY1MDdjNTg5YmYwOGUwMzcxMzk0YmNwLTIsCisgICAgLTB4MS4zMzMzMzZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzAKKyAgICAweDEuOTk0MzZlNWYwN2I3M2RkYTFlZjYxYTgwMGFhZGZkZDNwLTEsCisgICAgMHgxLjU5NDMxNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDczMQorICAgIC0weDEuOTk0MzZlNWYwN2I3M2RkYTFlZjYxYTgwMGFhZGZkZDNwLTEsCisgICAgLTB4MS41OTQzMTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzIKKyAgICAweDEuOTk0MzcxYTYyYmZlMTNlYjFjNzU1Y2I1YmU0NmY4NTNwLTEsCisgICAgMHgxLjU5NDMxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDczMworICAgIC0weDEuOTk0MzcxYTYyYmZlMTNlYjFjNzU1Y2I1YmU0NmY4NTNwLTEsCisgICAgLTB4MS41OTQzMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzQKKyAgICAweDEuOTk0Mzc0ZWQ1MDRhMjc4MjI2NTczNTYyYjYwZWNhOWFwLTEsCisgICAgMHgxLjU5NDMxYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDczNQorICAgIC0weDEuOTk0Mzc0ZWQ1MDRhMjc4MjI2NTczNTYyYjYwZWNhOWFwLTEsCisgICAgLTB4MS41OTQzMWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzYKKyAgICAweDEuZmJjNTBkZTdjNjA1YTRkMWQwZjExMTliMTI5NGI2ZjBwLTEsCisgICAgMHgxLjhmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDczNworICAgIC0weDEuZmJjNTBkZTdjNjA1YTRkMWQwZjExMTliMTI5NGI2ZjBwLTEsCisgICAgLTB4MS44ZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MzgKKyAgICAweDEuZmJjNTExZGY1OTE3ZjUzOWJiY2Y3NzhiYzFhMjIyNDlwLTEsCisgICAgMHgxLjkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzM5CisgICAgLTB4MS5mYmM1MTFkZjU5MTdmNTM5YmJjZjc3OGJjMWEyMjI0OXAtMSwKKyAgICAtMHgxLjkwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQwCisgICAgMHgxLmZiYzUxNWQ2ZWMzMjIzZmZiZWQ0YmI3NTE1NGZkYTBmcC0xLAorICAgIDB4MS45MDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDEKKyAgICAtMHgxLmZiYzUxNWQ2ZWMzMjIzZmZiZWQ0YmI3NTE1NGZkYTBmcC0xLAorICAgIC0weDEuOTAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzQyCisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzQzCisgICAgMHgxLnAtMTQ5LAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDc0NAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDUKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzQ2CisgICAgLTB4MS5wLTE0OSwKKyAgICAtMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNzQ3CisgICAgMHgxLjkyNzI3NzVlYTVlY2ZmNGU0M2VjZGVmM2Q4NWVjMjI2cC01LAorICAgIDB4MS45MjFmYjRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NDgKKyAgICAtMHgxLjkyNzI3NzVlYTVlY2ZmNGU0M2VjZGVmM2Q4NWVjMjI2cC01LAorICAgIC0weDEuOTIxZmI0cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzQ5CisgICAgMHgxLjkyNzI3OTVmZTI0MmQ5ZWI5MzkzYTc0NDY2MjBjMzk0cC01LAorICAgIDB4MS45MjFmYjZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTAKKyAgICAtMHgxLjkyNzI3OTVmZTI0MmQ5ZWI5MzkzYTc0NDY2MjBjMzk0cC01LAorICAgIC0weDEuOTIxZmI2cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzUxCisgICAgMHgxLjkyNzI3YjYxMWU5OGI3YWZiOTc5Nzc1NTFkMWM1ZjM4cC01LAorICAgIDB4MS45MjFmYjhwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTIKKyAgICAtMHgxLjkyNzI3YjYxMWU5OGI3YWZiOTc5Nzc1NTFkMWM1ZjM4cC01LAorICAgIC0weDEuOTIxZmI4cC01CisgIH0sCisgIHsgLy8gRW50cnkgNzUzCisgICAgMHgxLjkzNmJiNzdlNGFjODU5YmM2OWJjNGFiYzllOTFmMDI1cC00LAorICAgIDB4MS45MjFmYjRwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTQKKyAgICAtMHgxLjkzNmJiNzdlNGFjODU5YmM2OWJjNGFiYzllOTFmMDI1cC00LAorICAgIC0weDEuOTIxZmI0cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzU1CisgICAgMHgxLjkzNmJiOTgzNDI0MTAyMmVjZDA3MGI5MDY0NjMyNzIxcC00LAorICAgIDB4MS45MjFmYjZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTYKKyAgICAtMHgxLjkzNmJiOTgzNDI0MTAyMmVjZDA3MGI5MDY0NjMyNzIxcC00LAorICAgIC0weDEuOTIxZmI2cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzU3CisgICAgMHgxLjkzNmJiYjg4MzliOWI3NWJkY2M1ZjY4NzAyNjdhNjA5cC00LAorICAgIDB4MS45MjFmYjhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NTgKKyAgICAtMHgxLjkzNmJiYjg4MzliOWI3NWJkY2M1ZjY4NzAyNjdhNjA5cC00LAorICAgIC0weDEuOTIxZmI4cC00CisgIH0sCisgIHsgLy8gRW50cnkgNzU5CisgICAgMHgxLjk3NWY1Y2I0M2JkOTUxYWEyZTg5YTA1Y2JmNWU3MGZmcC0zLAorICAgIDB4MS45MjFmYjRwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjAKKyAgICAtMHgxLjk3NWY1Y2I0M2JkOTUxYWEyZTg5YTA1Y2JmNWU3MGZmcC0zLAorICAgIC0weDEuOTIxZmI0cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzYxCisgICAgMHgxLjk3NWY1ZWM4N2RkYzRlN2EzNTcwNTlmNzFhOWYwNWIycC0zLAorICAgIDB4MS45MjFmYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjIKKyAgICAtMHgxLjk3NWY1ZWM4N2RkYzRlN2EzNTcwNTlmNzFhOWYwNWIycC0zLAorICAgIC0weDEuOTIxZmI2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzYzCisgICAgMHgxLjk3NWY2MGRjYmZkZjgwMzlmMDFlYjc4NjRiYzA5ZTEzcC0zLAorICAgIDB4MS45MjFmYjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjQKKyAgICAtMHgxLjk3NWY2MGRjYmZkZjgwMzlmMDFlYjc4NjRiYzA5ZTEzcC0zLAorICAgIC0weDEuOTIxZmI4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgNzY1CisgICAgMHgxLmE4Mjc5ODIzZTliYTMwZWU2MjNhNTQwMmE0ODU5MGZjcC0yLAorICAgIDB4MS45MjFmYjRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjYKKyAgICAtMHgxLmE4Mjc5ODIzZTliYTMwZWU2MjNhNTQwMmE0ODU5MGZjcC0yLAorICAgIC0weDEuOTIxZmI0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzY3CisgICAgMHgxLmE4Mjc5YTdiYzIyMDZmZmYzYWZhNTJmMTY4YzVmOGYycC0yLAorICAgIDB4MS45MjFmYjZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NjgKKyAgICAtMHgxLmE4Mjc5YTdiYzIyMDZmZmYzYWZhNTJmMTY4YzVmOGYycC0yLAorICAgIC0weDEuOTIxZmI2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzY5CisgICAgMHgxLmE4Mjc5Y2QzOWE4N2E3ODZlMTQwNTM3ZGI3MmZmMzM0cC0yLAorICAgIDB4MS45MjFmYjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzAKKyAgICAtMHgxLmE4Mjc5Y2QzOWE4N2E3ODZlMTQwNTM3ZGI3MmZmMzM0cC0yLAorICAgIC0weDEuOTIxZmI4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNzcxCisgICAgMHgxLmZmZmZmZDc3N2E1ZTkxZTYxZjUzODBmYjgwOGQzMjcycC0xLAorICAgIDB4MS45MjFmYjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzIKKyAgICAtMHgxLmZmZmZmZDc3N2E1ZTkxZTYxZjUzODBmYjgwOGQzMjcycC0xLAorICAgIC0weDEuOTIxZmI0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzczCisgICAgMHgxLjAwMDAwMGJiYmQyZWMwNmQ2ZDZmZmYzNjU1YTM0NmFjcDAsCisgICAgMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3NAorICAgIC0weDEuMDAwMDAwYmJiZDJlYzA2ZDZkNmZmZjM2NTVhMzQ2YWNwMCwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDc3NQorICAgIDB4MS4wMDAwMDJiYmJkMzIzN2U3ZDExNDI3NmVkMzI5YWY1YnAwLAorICAgIDB4MS45MjFmYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzYKKyAgICAtMHgxLjAwMDAwMmJiYmQzMjM3ZTdkMTE0Mjc2ZWQzMjlhZjVicDAsCisgICAgLTB4MS45MjFmYjhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NzcKKyAgICAweDEuOTQzN2IzMzZiNmIwYzQ3OWIyMjgwOTk5YjE5NTc1YzdwMjMsCisgICAgMHgxLjkyMWZiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzc4CisgICAgLTB4MS45NDM3YjMzNmI2YjBjNDc5YjIyODA5OTliMTk1NzVjN3AyMywKKyAgICAtMHgxLjkyMWZiNHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzc5CisgICAgLTB4MS41ZDE0OTQ2ZGM5ODk3NWQ2NDIxYTU1Mjg0ZmUwMjBhMXAyNCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODAKKyAgICAweDEuNWQxNDk0NmRjOTg5NzVkNjQyMWE1NTI4NGZlMDIwYTFwMjQsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDc4MQorICAgIC0weDEuNzZhMTkwZWIyYjA3MThkOGRiNTVmN2QyYWJlYjA3ZDJwMjIsCisgICAgMHgxLjkyMWZiOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzgyCisgICAgMHgxLjc2YTE5MGViMmIwNzE4ZDhkYjU1ZjdkMmFiZWIwN2QycDIyLAorICAgIC0weDEuOTIxZmI4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODMKKyAgICAtMHgxLjQ0NDJkMTg0Njk4YzQyNmM4ZTNlZmQzNTZjYmViZTBhcC0yMywKKyAgICAweDEuOTIxZmI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODQKKyAgICAweDEuNDQ0MmQxODQ2OThjNDI2YzhlM2VmZDM1NmNiZWJlMGFwLTIzLAorICAgIC0weDEuOTIxZmI0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODUKKyAgICAweDEuNzc3YTVjZjcyY2VkZjNiNTQ0YzgxODA4YjUxNWYxZjlwLTI0LAorICAgIDB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDc4NgorICAgIC0weDEuNzc3YTVjZjcyY2VkZjNiNTQ0YzgxODA4YjUxNWYxZjlwLTI0LAorICAgIC0weDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODcKKyAgICAweDEuNWRkZTk3M2RjYjQ4ZDZlM2QxM2NmMmE1MTU1MGU5MTFwLTIyLAorICAgIDB4MS45MjFmYjhwMQorICB9LAorICB7IC8vIEVudHJ5IDc4OAorICAgIC0weDEuNWRkZTk3M2RjYjQ4ZDZlM2QxM2NmMmE1MTU1MGU5MTFwLTIyLAorICAgIC0weDEuOTIxZmI4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3ODkKKyAgICAtMHgxLjQ0NDJkMTg0Njk5NDYzNjJmM2Y2Y2M3YzQzODU3NjYxcC0yMiwKKyAgICAweDEuOTIxZmI0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTAKKyAgICAweDEuNDQ0MmQxODQ2OTk0NjM2MmYzZjZjYzdjNDM4NTc2NjFwLTIyLAorICAgIC0weDEuOTIxZmI0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTEKKyAgICAweDEuNzc3YTVjZjcyY2YxMWI3MzlkMmFiMTg3N2U4MWE5YzdwLTIzLAorICAgIDB4MS45MjFmYjZwMgorICB9LAorICB7IC8vIEVudHJ5IDc5MgorICAgIC0weDEuNzc3YTVjZjcyY2YxMWI3MzlkMmFiMTg3N2U4MWE5YzdwLTIzLAorICAgIC0weDEuOTIxZmI2cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTMKKyAgICAweDEuNWRkZTk3M2RjYjcxYWViNmU3NzY2NjhiYmIzZGUyNTNwLTIxLAorICAgIDB4MS45MjFmYjhwMgorICB9LAorICB7IC8vIEVudHJ5IDc5NAorICAgIC0weDEuNWRkZTk3M2RjYjcxYWViNmU3NzY2NjhiYmIzZGUyNTNwLTIxLAorICAgIC0weDEuOTIxZmI4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTUKKyAgICAtMHgxLjQ0NDJkMTg0NjliNGU3M2M4YWQ2MGU3YjlmMjg4YzVjcC0yMSwKKyAgICAweDEuOTIxZmI0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTYKKyAgICAweDEuNDQ0MmQxODQ2OWI0ZTczYzhhZDYwZTdiOWYyODhjNWNwLTIxLAorICAgIC0weDEuOTIxZmI0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTcKKyAgICAweDEuNzc3YTVjZjcyY2ZkYmE2Y2ZlYjUxODI1OGJjZjI2M2NwLTIyLAorICAgIDB4MS45MjFmYjZwMworICB9LAorICB7IC8vIEVudHJ5IDc5OAorICAgIC0weDEuNzc3YTVjZjcyY2ZkYmE2Y2ZlYjUxODI1OGJjZjI2M2NwLTIyLAorICAgIC0weDEuOTIxZmI2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OTkKKyAgICAweDEuNWRkZTk3M2RjYzE1MGUwMzQwNWNhODk0ODg2NjAyYzJwLTIwLAorICAgIDB4MS45MjFmYjhwMworICB9LAorICB7IC8vIEVudHJ5IDgwMAorICAgIC0weDEuNWRkZTk3M2RjYzE1MGUwMzQwNWNhODk0ODg2NjAyYzJwLTIwLAorICAgIC0weDEuOTIxZmI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDEKKyAgICAtMHgxLjQ0NDJkMTg0NmEzNmY2YTJlNjUzNjRiOTE2MzgyZTlicC0yMCwKKyAgICAweDEuOTIxZmI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDIKKyAgICAweDEuNDQ0MmQxODQ2YTM2ZjZhMmU2NTM2NGI5MTYzODJlOWJwLTIwLAorICAgIC0weDEuOTIxZmI0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDMKKyAgICAweDEuNzc3YTVjZjcyZDMwMzY1Mjg0ZGViY2NjM2FlZWVjMTdwLTIxLAorICAgIDB4MS45MjFmYjZwNAorICB9LAorICB7IC8vIEVudHJ5IDgwNAorICAgIC0weDEuNzc3YTVjZjcyZDMwMzY1Mjg0ZGViY2NjM2FlZWVjMTdwLTIxLAorICAgIC0weDEuOTIxZmI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDUKKyAgICAweDEuNWRkZTk3M2RjZWEyOGIzNGEzZmNkNzliMTQ0YTUwNTBwLTE5LAorICAgIDB4MS45MjFmYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDgwNgorICAgIC0weDEuNWRkZTk3M2RjZWEyOGIzNGEzZmNkNzliMTQ0YTUwNTBwLTE5LAorICAgIC0weDEuOTIxZmI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDcKKyAgICAtMHgxLjQ0NDJkMTg0NmMzZjM0M2M1NDRkYTFhZjdhYWI2OTBjcC0xOSwKKyAgICAweDEuOTIxZmI0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDgKKyAgICAweDEuNDQ0MmQxODQ2YzNmMzQzYzU0NGRhMWFmN2FhYjY5MGNwLTE5LAorICAgIC0weDEuOTIxZmI0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MDkKKyAgICAweDEuNzc3YTVjZjcyZGZhMjVlODlkODVmMjRlOTYwYjQ0NTVwLTIwLAorICAgIDB4MS45MjFmYjZwNQorICB9LAorICB7IC8vIEVudHJ5IDgxMAorICAgIC0weDEuNzc3YTVjZjcyZGZhMjVlODlkODVmMjRlOTYwYjQ0NTVwLTIwLAorICAgIC0weDEuOTIxZmI2cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTEKKyAgICAweDEuNWRkZTk3M2RkOGQ4N2ZmYTMyZjAwMWVhYjgxZDk2MGNwLTE4LAorICAgIDB4MS45MjFmYjhwNQorICB9LAorICB7IC8vIEVudHJ5IDgxMgorICAgIC0weDEuNWRkZTk3M2RkOGQ4N2ZmYTMyZjAwMWVhYjgxZDk2MGNwLTE4LAorICAgIC0weDEuOTIxZmI4cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTMKKyAgICAtMHgxLjQ0NDJkMTg0NzQ2MDJhYTIwYzg0ZDU5MThmYzY4YThlcC0xOCwKKyAgICAweDEuOTIxZmI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTQKKyAgICAweDEuNDQ0MmQxODQ3NDYwMmFhMjBjODRkNTkxOGZjNjhhOGVwLTE4LAorICAgIC0weDEuOTIxZmI0cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTUKKyAgICAweDEuNzc3YTVjZjczMTIxZTQ0MTAwMmNmNmQxZWM1MGQ1NmRwLTE5LAorICAgIDB4MS45MjFmYjZwNgorICB9LAorICB7IC8vIEVudHJ5IDgxNgorICAgIC0weDEuNzc3YTVjZjczMTIxZTQ0MTAwMmNmNmQxZWM1MGQ1NmRwLTE5LAorICAgIC0weDEuOTIxZmI2cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTcKKyAgICAweDEuNWRkZTk3M2UwMWIwNTMxMDc1ZTM4ZTgwOGNlMDQ4ZjJwLTE3LAorICAgIDB4MS45MjFmYjhwNgorICB9LAorICB7IC8vIEVudHJ5IDgxOAorICAgIC0weDEuNWRkZTk3M2UwMWIwNTMxMDc1ZTM4ZTgwOGNlMDQ4ZjJwLTE3LAorICAgIC0weDEuOTIxZmI4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MTkKKyAgICAtMHgxLjQ0NDJkMTg0OTRlNDA0MzhmMjQ1YTVhMjE5ZGVhMjM1cC0xNywKKyAgICAweDEuOTIxZmI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjAKKyAgICAweDEuNDQ0MmQxODQ5NGU0MDQzOGYyNDVhNWEyMTlkZWEyMzVwLTE3LAorICAgIC0weDEuOTIxZmI0cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjEKKyAgICAweDEuNzc3YTVjZjczZGMwZGRhMjhiNmJmMDdkZTJiMmQ1ZTZwLTE4LAorICAgIDB4MS45MjFmYjZwNworICB9LAorICB7IC8vIEVudHJ5IDgyMgorICAgIC0weDEuNzc3YTVjZjczZGMwZGRhMjhiNmJmMDdkZTJiMmQ1ZTZwLTE4LAorICAgIC0weDEuOTIxZmI2cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjMKKyAgICAweDEuNWRkZTk3M2VhNTBmOWY2OWY0MWZmNjRjOGM2ZGI3NjFwLTE2LAorICAgIDB4MS45MjFmYjhwNworICB9LAorICB7IC8vIEVudHJ5IDgyNAorICAgIC0weDEuNWRkZTk3M2VhNTBmOWY2OWY0MWZmNjRjOGM2ZGI3NjFwLTE2LAorICAgIC0weDEuOTIxZmI4cDcKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjUKKyAgICAtMHgxLjAwMDAwZmNjYzhmMTVlZTg5ZjA5ZDIyMmUxNGM3MjkycDAsCisgICAgMHgxLjJkOTdjNHAxCisgIH0sCisgIHsgLy8gRW50cnkgODI2CisgICAgMHgxLjAwMDAwZmNjYzhmMTVlZTg5ZjA5ZDIyMmUxNGM3MjkycDAsCisgICAgLTB4MS4yZDk3YzRwMQorICB9LAorICB7IC8vIEVudHJ5IDgyNworICAgIC0weDEuMDAwMDA3Y2NjODkyZjhhMDc2MGNjMjA4MjdhY2U0NzZwMCwKKyAgICAweDEuMmQ5N2M2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MjgKKyAgICAweDEuMDAwMDA3Y2NjODkyZjhhMDc2MGNjMjA4MjdhY2U0NzZwMCwKKyAgICAtMHgxLjJkOTdjNnAxCisgIH0sCisgIHsgLy8gRW50cnkgODI5CisgICAgLTB4MS5mZmZmZmY5OTkwZTkyNGI4NjZlODMxYzllOWU2MzljN3AtMSwKKyAgICAweDEuMmQ5N2M4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzAKKyAgICAweDEuZmZmZmZmOTk5MGU5MjRiODY2ZTgzMWM5ZTllNjM5YzdwLTEsCisgICAgLTB4MS4yZDk3YzhwMQorICB9LAorICB7IC8vIEVudHJ5IDgzMQorICAgIDB4MS5mZmZmZWI1NTY0M2I5YTY0OGMyNzIwYmRlMWQyMjc2NHAtMSwKKyAgICAweDEuZjZhN2EwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzIKKyAgICAtMHgxLmZmZmZlYjU1NjQzYjlhNjQ4YzI3MjBiZGUxZDIyNzY0cC0xLAorICAgIC0weDEuZjZhN2EwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzMKKyAgICAweDEuZmZmZmZiNTU2M2Q2NDU4NWU5ZGNjOTdkNzQzMjE0NjFwLTEsCisgICAgMHgxLmY2YTdhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODM0CisgICAgLTB4MS5mZmZmZmI1NTYzZDY0NTg1ZTlkY2M5N2Q3NDMyMTQ2MXAtMSwKKyAgICAtMHgxLmY2YTdhMnAxCisgIH0sCisgIHsgLy8gRW50cnkgODM1CisgICAgMHgxLjAwMDAwNWFhYjFmODc4NTI3OTIyMzc2NTJkMzRiMWNlcDAsCisgICAgMHgxLmY2YTdhNHAxCisgIH0sCisgIHsgLy8gRW50cnkgODM2CisgICAgLTB4MS4wMDAwMDVhYWIxZjg3ODUyNzkyMjM3NjUyZDM0YjFjZXAwLAorICAgIC0weDEuZjZhN2E0cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MzcKKyAgICAweDEuMDMzZGQ5MWMxMDM1ODYxYWU0NTVlMGY4ZGMyNzRiMGRwMjAsCisgICAgMHgxLjJkOTdjNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODM4CisgICAgLTB4MS4wMzNkZDkxYzEwMzU4NjFhZTQ1NWUwZjhkYzI3NGIwZHAyMCwKKyAgICAtMHgxLjJkOTdjNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODM5CisgICAgMHgxLjA2OTBmYjQ3NzRhYjgwY2NkZGM5ZWY1YWQwZmNjMjM3cDIxLAorICAgIDB4MS4yZDk3YzZwMgorICB9LAorICB7IC8vIEVudHJ5IDg0MAorICAgIC0weDEuMDY5MGZiNDc3NGFiODBjY2RkYzllZjVhZDBmY2MyMzdwMjEsCisgICAgLTB4MS4yZDk3YzZwMgorICB9LAorICB7IC8vIEVudHJ5IDg0MQorICAgIC0weDEuM2ZlNGRhYzA2ZDgzMDgzN2Y2YzU4NGFmNmY4ZDkzOTlwMjYsCisgICAgMHgxLjJkOTdjOHAyCisgIH0sCisgIHsgLy8gRW50cnkgODQyCisgICAgMHgxLjNmZTRkYWMwNmQ4MzA4MzdmNmM1ODRhZjZmOGQ5Mzk5cDI2LAorICAgIC0weDEuMmQ5N2M4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDMKKyAgICAtMHgxLjAwMDAxNGRkZDQ5NDUzOTRjYjZlYzdmODdkZWJjN2E1cDAsCisgICAgMHgxLjVmZGJiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODQ0CisgICAgMHgxLjAwMDAxNGRkZDQ5NDUzOTRjYjZlYzdmODdkZWJjN2E1cDAsCisgICAgLTB4MS41ZmRiYmNwMgorICB9LAorICB7IC8vIEVudHJ5IDg0NQorICAgIC0weDEuMDAwMDA0ZGRkM2M2NzY0ZDczNjlhMGJlNjFhNjMwZTdwMCwKKyAgICAweDEuNWZkYmJlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDYKKyAgICAweDEuMDAwMDA0ZGRkM2M2NzY0ZDczNjlhMGJlNjFhNjMwZTdwMCwKKyAgICAtMHgxLjVmZGJiZXAyCisgIH0sCisgIHsgLy8gRW50cnkgODQ3CisgICAgLTB4MS5mZmZmZTliYmE3ZjEzMjFmYWUxOTI5NDNhM2U4NDhjMHAtMSwKKyAgICAweDEuNWZkYmMwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NDgKKyAgICAweDEuZmZmZmU5YmJhN2YxMzIxZmFlMTkyOTQzYTNlODQ4YzBwLTEsCisgICAgLTB4MS41ZmRiYzBwMgorICB9LAorICB7IC8vIEVudHJ5IDg0OQorICAgIDB4MS5mZmZmYzEzMzUxMWVhMmQzYjk4OGJmODUzMTZkNGUwNXAtMSwKKyAgICAweDEuYzQ2M2E4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTAKKyAgICAtMHgxLmZmZmZjMTMzNTExZWEyZDNiOTg4YmY4NTMxNmQ0ZTA1cC0xLAorICAgIC0weDEuYzQ2M2E4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTEKKyAgICAweDEuZmZmZmUxMzM0ZTMxZDdlZjIwZDYyMjBjNjVkZDJmOWJwLTEsCisgICAgMHgxLmM0NjNhYXAyCisgIH0sCisgIHsgLy8gRW50cnkgODUyCisgICAgLTB4MS5mZmZmZTEzMzRlMzFkN2VmMjBkNjIyMGM2NWRkMmY5YnAtMSwKKyAgICAtMHgxLmM0NjNhYXAyCisgIH0sCisgIHsgLy8gRW50cnkgODUzCisgICAgMHgxLjAwMDAwMDk5YTZhMjg2NjY3NzYxYzI4NzRjNTg5MGFlcDAsCisgICAgMHgxLmM0NjNhY3AyCisgIH0sCisgIHsgLy8gRW50cnkgODU0CisgICAgLTB4MS4wMDAwMDA5OWE2YTI4NjY2Nzc2MWMyODc0YzU4OTBhZXAwLAorICAgIC0weDEuYzQ2M2FjcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NTUKKyAgICAweDEuOGM2NDJlOGNjNTZhOWIyMzM0NTBkNmI2MzVhNjI2NmRwMjAsCisgICAgMHgxLmY2YTdhMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODU2CisgICAgLTB4MS44YzY0MmU4Y2M1NmE5YjIzMzQ1MGQ2YjYzNWE2MjY2ZHAyMCwKKyAgICAtMHgxLmY2YTdhMHAyCisgIH0sCisgIHsgLy8gRW50cnkgODU3CisgICAgMHgxLmI2ZTBiZmI3MjhlNDIzNjNjZDVmYjI2YjMxYzM2NmMycDIyLAorICAgIDB4MS5mNmE3YTJwMgorICB9LAorICB7IC8vIEVudHJ5IDg1OAorICAgIC0weDEuYjZlMGJmYjcyOGU0MjM2M2NkNWZiMjZiMzFjMzY2YzJwMjIsCisgICAgLTB4MS5mNmE3YTJwMgorICB9LAorICB7IC8vIEVudHJ5IDg1OQorICAgIC0weDEuNjk2NzliOTY2YWNjNDNkZmRiMjgzODNhYTk3NmY1YzFwMjEsCisgICAgMHgxLmY2YTdhNHAyCisgIH0sCisgIHsgLy8gRW50cnkgODYwCisgICAgMHgxLjY5Njc5Yjk2NmFjYzQzZGZkYjI4MzgzYWE5NzZmNWMxcDIxLAorICAgIC0weDEuZjZhN2E0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjEKKyAgICAtMHgxLjAwMDAyOWVlZTI2ZmUyMTFiYjRhMmY4ZTIzYTBhOWU5cDAsCisgICAgMHgxLjE0NzVjYXAzCisgIH0sCisgIHsgLy8gRW50cnkgODYyCisgICAgMHgxLjAwMDAyOWVlZTI2ZmUyMTFiYjRhMmY4ZTIzYTBhOWU5cDAsCisgICAgLTB4MS4xNDc1Y2FwMworICB9LAorICB7IC8vIEVudHJ5IDg2MworICAgIC0weDEuMDAwMDA5ZWVkZjMyMDVkMmU5YjY2YTM3ODNlMDJmMDVwMCwKKyAgICAweDEuMTQ3NWNjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjQKKyAgICAweDEuMDAwMDA5ZWVkZjMyMDVkMmU5YjY2YTM3ODNlMDJmMDVwMCwKKyAgICAtMHgxLjE0NzVjY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODY1CisgICAgLTB4MS5mZmZmZDNkZGJmZTg1M2M3MWU0YTVmNzUwMmIwOWM0ZXAtMSwKKyAgICAweDEuMTQ3NWNlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NjYKKyAgICAweDEuZmZmZmQzZGRiZmU4NTNjNzFlNGE1Zjc1MDJiMDljNGVwLTEsCisgICAgLTB4MS4xNDc1Y2VwMworICB9LAorICB7IC8vIEVudHJ5IDg2NworICAgIC0weDEuZjk5OTBlOTFhYTI0ZjU1MGNlZjU3ZmE0MTA2YzU2ZWJwLTIwLAorICAgIDB4MS4yZDk3YzRwMworICB9LAorICB7IC8vIEVudHJ5IDg2OAorICAgIDB4MS5mOTk5MGU5MWFhMjRmNTUwY2VmNTdmYTQxMDZjNTZlYnAtMjAsCisgICAgLTB4MS4yZDk3YzRwMworICB9LAorICB7IC8vIEVudHJ5IDg2OQorICAgIC0weDEuZjMzMjFkMjM0ZmM1NTdhNjFjNjM4ZWY3NzUyZGU0M2ZwLTIxLAorICAgIDB4MS4yZDk3YzZwMworICB9LAorICB7IC8vIEVudHJ5IDg3MAorICAgIDB4MS5mMzMyMWQyMzRmYzU1N2E2MWM2MzhlZjc3NTJkZTQzZnAtMjEsCisgICAgLTB4MS4yZDk3YzZwMworICB9LAorICB7IC8vIEVudHJ5IDg3MQorICAgIDB4MS45OWJjNWI5NjFiMWFlMzYzY2ZjMGZmYWFiNGYwZTUwNXAtMjYsCisgICAgMHgxLjJkOTdjOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODcyCisgICAgLTB4MS45OWJjNWI5NjFiMWFlMzYzY2ZjMGZmYWFiNGYwZTUwNXAtMjYsCisgICAgLTB4MS4yZDk3YzhwMworICB9LAorICB7IC8vIEVudHJ5IDg3MworICAgIDB4MS5mZmZmOTcxMTQxNzk0NDYxMjc2ZjM0MmJkMjljNWExZnAtMSwKKyAgICAweDEuNDZiOWMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzQKKyAgICAtMHgxLmZmZmY5NzExNDE3OTQ0NjEyNzZmMzQyYmQyOWM1YTFmcC0xLAorICAgIC0weDEuNDZiOWMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzUKKyAgICAweDEuZmZmZmQ3MTEzODViNmM5YTAxM2RhYmU5YjcyNTQ2NjVwLTEsCisgICAgMHgxLjQ2YjljMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODc2CisgICAgLTB4MS5mZmZmZDcxMTM4NWI2YzlhMDEzZGFiZTliNzI1NDY2NXAtMSwKKyAgICAtMHgxLjQ2YjljMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODc3CisgICAgMHgxLjAwMDAwYjg4OWI5ZWM5YzViMjc3ZmI2YTkxY2Y1ZjQ5cDAsCisgICAgMHgxLjQ2YjljNHAzCisgIH0sCisgIHsgLy8gRW50cnkgODc4CisgICAgLTB4MS4wMDAwMGI4ODliOWVjOWM1YjI3N2ZiNmE5MWNmNWY0OXAwLAorICAgIC0weDEuNDZiOWM0cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NzkKKyAgICAweDEuODg5NzNjYjAyYTBlZWEyY2ZlMWEyODFjYTdmMDQ2NjNwMTksCisgICAgMHgxLjVmZGJiY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODgwCisgICAgLTB4MS44ODk3M2NiMDJhMGVlYTJjZmUxYTI4MWNhN2YwNDY2M3AxOSwKKyAgICAtMHgxLjVmZGJiY3AzCisgIH0sCisgIHsgLy8gRW50cnkgODgxCisgICAgMHgxLmE0ZDVkNWQ3NTM4NDFjODljZmU3MWMyNWFiYzhkNjQ1cDIxLAorICAgIDB4MS41ZmRiYmVwMworICB9LAorICB7IC8vIEVudHJ5IDg4MgorICAgIC0weDEuYTRkNWQ1ZDc1Mzg0MWM4OWNmZTcxYzI1YWJjOGQ2NDVwMjEsCisgICAgLTB4MS41ZmRiYmVwMworICB9LAorICB7IC8vIEVudHJ5IDg4MworICAgIC0weDEuNmZlNjJhMWE5YTEyYjcwYjFmYmI5NTI4MDFmOTk4MDFwMjAsCisgICAgMHgxLjVmZGJjMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODg0CisgICAgMHgxLjZmZTYyYTFhOWExMmI3MGIxZmJiOTUyODAxZjk5ODAxcDIwLAorICAgIC0weDEuNWZkYmMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODUKKyAgICAtMHgxLjAwMDAzZWZmZjIwNzNlMWMwZGQ2NWQzYjgzZTVlNTg5cDAsCisgICAgMHgxLjc4ZmRiNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODg2CisgICAgMHgxLjAwMDAzZWZmZjIwNzNlMWMwZGQ2NWQzYjgzZTVlNTg5cDAsCisgICAgLTB4MS43OGZkYjZwMworICB9LAorICB7IC8vIEVudHJ5IDg4NworICAgIC0weDEuMDAwMDFlZmZlYzI3M2ZiNDZiYjVlY2ZlYzUzYzMxMDVwMCwKKyAgICAweDEuNzhmZGI4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4ODgKKyAgICAweDEuMDAwMDFlZmZlYzI3M2ZiNDZiYjVlY2ZlYzUzYzMxMDVwMCwKKyAgICAtMHgxLjc4ZmRiOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODg5CisgICAgLTB4MS5mZmZmZmRmZmQ0OGU4NDg5OTIyN2NlYTFmNzdhMWNmN3AtMSwKKyAgICAweDEuNzhmZGJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTAKKyAgICAweDEuZmZmZmZkZmZkNDhlODQ4OTkyMjdjZWExZjc3YTFjZjdwLTEsCisgICAgLTB4MS43OGZkYmFwMworICB9LAorICB7IC8vIEVudHJ5IDg5MQorICAgIDB4MS5mZmZmYWNlZjI2ZTk2NWQxMjUzNDI0ZmJiYzlmZjM1NHAtMSwKKyAgICAweDEuYWI0MWFlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTIKKyAgICAtMHgxLmZmZmZhY2VmMjZlOTY1ZDEyNTM0MjRmYmJjOWZmMzU0cC0xLAorICAgIC0weDEuYWI0MWFlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTMKKyAgICAweDEuZmZmZmVjZWYyMDg3NGE4ZjAzNWFjNGRjMWE2MDI5ZjhwLTEsCisgICAgMHgxLmFiNDFiMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk0CisgICAgLTB4MS5mZmZmZWNlZjIwODc0YThmMDM1YWM0ZGMxYTYwMjlmOHAtMSwKKyAgICAtMHgxLmFiNDFiMHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk1CisgICAgMHgxLjAwMDAxNjc3OTExMjk3NWEyZDRiOWI3NWJkOTBiM2MxcDAsCisgICAgMHgxLmFiNDFiMnAzCisgIH0sCisgIHsgLy8gRW50cnkgODk2CisgICAgLTB4MS4wMDAwMTY3NzkxMTI5NzVhMmQ0YjliNzViZDkwYjNjMXAwLAorICAgIC0weDEuYWI0MWIycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OTcKKyAgICAweDEuMDRlNGI0MGFjZGY5NDM5ZmVjY2Q0OWJiZWIzN2RhMGZwMTksCisgICAgMHgxLmM0NjNhOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk4CisgICAgLTB4MS4wNGU0YjQwYWNkZjk0MzlmZWNjZDQ5YmJlYjM3ZGEwZnAxOSwKKyAgICAtMHgxLmM0NjNhOHAzCisgIH0sCisgIHsgLy8gRW50cnkgODk5CisgICAgMHgxLjA5ZmEzYWUxZjQ5MTNkMWIzNzY0ZmY5YTk2NzhlZjY4cDIwLAorICAgIDB4MS5jNDYzYWFwMworICB9LAorICB7IC8vIEVudHJ5IDkwMAorICAgIC0weDEuMDlmYTNhZTFmNDkxM2QxYjM3NjRmZjlhOTY3OGVmNjhwMjAsCisgICAgLTB4MS5jNDYzYWFwMworICB9LAorICB7IC8vIEVudHJ5IDkwMQorICAgIC0weDEuYWE4Njc5MDA5MjAzZGQ2ZTk0MmY5MTc1Mjc1YTc0NjFwMjQsCisgICAgMHgxLmM0NjNhY3AzCisgIH0sCisgIHsgLy8gRW50cnkgOTAyCisgICAgMHgxLmFhODY3OTAwOTIwM2RkNmU5NDJmOTE3NTI3NWE3NDYxcDI0LAorICAgIC0weDEuYzQ2M2FjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDMKKyAgICAtMHgxLjAwMDAzNDEwZmFkODQ2ZmQ2N2QzNWUwYzBkOTgzNjI4cDAsCisgICAgMHgxLmRkODVhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTA0CisgICAgMHgxLjAwMDAzNDEwZmFkODQ2ZmQ2N2QzNWUwYzBkOTgzNjI4cDAsCisgICAgLTB4MS5kZDg1YTRwMworICB9LAorICB7IC8vIEVudHJ5IDkwNQorICAgIC0weDEuMDAwMDE0MTBmNjU2Mjc5ZTg5ZDE0Y2Y0MDU0ZjZjNTZwMCwKKyAgICAweDEuZGQ4NWE2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDYKKyAgICAweDEuMDAwMDE0MTBmNjU2Mjc5ZTg5ZDE0Y2Y0MDU0ZjZjNTZwMCwKKyAgICAtMHgxLmRkODVhNnAzCisgIH0sCisgIHsgLy8gRW50cnkgOTA3CisgICAgLTB4MS5mZmZmZTgyMWViYTgxMWMwNjcyNDBmNjY2YzkwNDM3MXAtMSwKKyAgICAweDEuZGQ4NWE4cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MDgKKyAgICAweDEuZmZmZmU4MjFlYmE4MTFjMDY3MjQwZjY2NmM5MDQzNzFwLTEsCisgICAgLTB4MS5kZDg1YThwMworICB9LAorICB7IC8vIEVudHJ5IDkwOQorICAgIC0weDEuNGFhOWMyZjJjMmFkZGI5YjU5ZTM5NDAxMjM5NzYxZTJwLTIwLAorICAgIDB4MS5mNmE3YTBwMworICB9LAorICB7IC8vIEVudHJ5IDkxMAorICAgIDB4MS40YWE5YzJmMmMyYWRkYjliNTllMzk0MDEyMzk3NjFlMnAtMjAsCisgICAgLTB4MS5mNmE3YTBwMworICB9LAorICB7IC8vIEVudHJ5IDkxMQorICAgIC0weDEuMmFhNzBiY2IwN2UwNTdiNzI5ZWFjYmMwY2YxN2NiYmZwLTIyLAorICAgIDB4MS5mNmE3YTJwMworICB9LAorICB7IC8vIEVudHJ5IDkxMgorICAgIDB4MS4yYWE3MGJjYjA3ZTA1N2I3MjllYWNiYzBjZjE3Y2JiZnAtMjIsCisgICAgLTB4MS5mNmE3YTJwMworICB9LAorICB7IC8vIEVudHJ5IDkxMworICAgIDB4MS42YWFjN2ExYTdjNTBiODczYmVkMzliNjg1OWJmMjkzNHAtMjEsCisgICAgMHgxLmY2YTdhNHAzCisgIH0sCisgIHsgLy8gRW50cnkgOTE0CisgICAgLTB4MS42YWFjN2ExYTdjNTBiODczYmVkMzliNjg1OWJmMjkzNHAtMjEsCisgICAgLTB4MS5mNmE3YTRwMworICB9LAorICB7IC8vIEVudHJ5IDkxNQorICAgIDB4MS5mZmZmNDJjZDJjOTU1MDhlNzAwYWI3Njk1NmRkMDRjZnAtMSwKKyAgICAweDEuMDdlNGNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTYKKyAgICAtMHgxLmZmZmY0MmNkMmM5NTUwOGU3MDBhYjc2OTU2ZGQwNGNmcC0xLAorICAgIC0weDEuMDdlNGNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MTcKKyAgICAweDEuZmZmZmMyY2QwZDQ4OWI0ODg0NDE3OWM1OTQzNTZlMGRwLTEsCisgICAgMHgxLjA3ZTRjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE4CisgICAgLTB4MS5mZmZmYzJjZDBkNDg5YjQ4ODQ0MTc5YzU5NDM1NmUwZHAtMSwKKyAgICAtMHgxLjA3ZTRjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTE5CisgICAgMHgxLjAwMDAyMTY2ODZmZGVmMmUxZGQzMWEyZWFhNmExY2Q0cDAsCisgICAgMHgxLjA3ZTRkMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIwCisgICAgLTB4MS4wMDAwMjE2Njg2ZmRlZjJlMWRkMzFhMmVhYTZhMWNkNHAwLAorICAgIC0weDEuMDdlNGQwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjEKKyAgICAweDEuODZiN2JhNDkyM2JjZjE1N2RjYzMzMjkxODcxZTg4ZDRwMTgsCisgICAgMHgxLjE0NzVjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIyCisgICAgLTB4MS44NmI3YmE0OTIzYmNmMTU3ZGNjMzMyOTE4NzFlODhkNHAxOCwKKyAgICAtMHgxLjE0NzVjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTIzCisgICAgMHgxLjljNWJlY2YyODczZWVkMzY5YWZkYzMxNTlhN2Y3OTdjcDIwLAorICAgIDB4MS4xNDc1Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNAorICAgIC0weDEuOWM1YmVjZjI4NzNlZWQzNjlhZmRjMzE1OWE3Zjc5N2NwMjAsCisgICAgLTB4MS4xNDc1Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkyNQorICAgIC0weDEuNzMzYzBkODQzMzJmYTYwNmQxYmQyMDdhNDkxZTQzNzFwMTksCisgICAgMHgxLjE0NzVjZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI2CisgICAgMHgxLjczM2MwZDg0MzMyZmE2MDZkMWJkMjA3YTQ5MWU0MzcxcDE5LAorICAgIC0weDEuMTQ3NWNlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MjcKKyAgICAtMHgxLjAwMDA0OTIyMGI0NTFiZjZlOGU2MDU1NTBjODg2MDJmcDAsCisgICAgMHgxLjIxMDZjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTI4CisgICAgMHgxLjAwMDA0OTIyMGI0NTFiZjZlOGU2MDU1NTBjODg2MDJmcDAsCisgICAgLTB4MS4yMTA2YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDkyOQorICAgIC0weDEuMDAwMDA5MjIwMGZjOTljNWRmYTRmZTE4MDg1Y2Y3Y2RwMCwKKyAgICAweDEuMjEwNmNhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzAKKyAgICAweDEuMDAwMDA5MjIwMGZjOTljNWRmYTRmZTE4MDg1Y2Y3Y2RwMCwKKyAgICAtMHgxLjIxMDZjYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTMxCisgICAgLTB4MS5mZmZmOTI0NDBkNjgzMTcyMmRlYzBkMzE4MTBkOGZjN3AtMSwKKyAgICAweDEuMjEwNmNjcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MzIKKyAgICAweDEuZmZmZjkyNDQwZDY4MzE3MjJkZWMwZDMxODEwZDhmYzdwLTEsCisgICAgLTB4MS4yMTA2Y2NwNAorICB9LAorICB7IC8vIEVudHJ5IDkzMworICAgIC0weDEuZjk5OTBlOTFiMWQ5MTZlNTgyMjQyMzQ3MTEyYmExZDZwLTE5LAorICAgIDB4MS4yZDk3YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNAorICAgIDB4MS5mOTk5MGU5MWIxZDkxNmU1ODIyNDIzNDcxMTJiYTFkNnAtMTksCisgICAgLTB4MS4yZDk3YzRwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNQorICAgIC0weDEuZjMzMjFkMjM1MTlmZTFkY2ZkY2QyZjFmNzYyMDA4YTRwLTIwLAorICAgIDB4MS4yZDk3YzZwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNgorICAgIDB4MS5mMzMyMWQyMzUxOWZlMWRjZmRjZDJmMWY3NjIwMDhhNHAtMjAsCisgICAgLTB4MS4yZDk3YzZwNAorICB9LAorICB7IC8vIEVudHJ5IDkzNworICAgIDB4MS45OWJjNWI5NjFiMWIyNGZkYjc3ZmNlZTA4YmEyZjcyMHAtMjUsCisgICAgMHgxLjJkOTdjOHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTM4CisgICAgLTB4MS45OWJjNWI5NjFiMWIyNGZkYjc3ZmNlZTA4YmEyZjcyMHAtMjUsCisgICAgLTB4MS4yZDk3YzhwNAorICB9LAorICB7IC8vIEVudHJ5IDkzOQorICAgIDB4MS5mZmZmMThhYjI3NTZiYTBhMjBhYWY0MzkyYjBhODAxOXAtMSwKKyAgICAweDEuM2EyOGMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDAKKyAgICAtMHgxLmZmZmYxOGFiMjc1NmJhMGEyMGFhZjQzOTJiMGE4MDE5cC0xLAorICAgIC0weDEuM2EyOGMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDEKKyAgICAweDEuZmZmZjk4YWFmZDgxODUyNWQyNGQ2NjRlZjk2MmVmMTRwLTEsCisgICAgMHgxLjNhMjhjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQyCisgICAgLTB4MS5mZmZmOThhYWZkODE4NTI1ZDI0ZDY2NGVmOTYyZWYxNHAtMSwKKyAgICAtMHgxLjNhMjhjNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQzCisgICAgMHgxLjAwMDAwYzU1NzlkNjIxYWI3MzM0ZWZmMzFkMjNjZjJjcDAsCisgICAgMHgxLjNhMjhjNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ0CisgICAgLTB4MS4wMDAwMGM1NTc5ZDYyMWFiNzMzNGVmZjMxZDIzY2YyY3AwLAorICAgIC0weDEuM2EyOGM2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NDUKKyAgICAweDEuMzg0NmIzMTBkZTdjNzk2YWRiM2VhMmVhMjJiMTA4ZTJwMTgsCisgICAgMHgxLjQ2YjljMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ2CisgICAgLTB4MS4zODQ2YjMxMGRlN2M3OTZhZGIzZWEyZWEyMmIxMDhlMnAxOCwKKyAgICAtMHgxLjQ2YjljMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTQ3CisgICAgMHgxLjkwNDQyNWZjOTJlYWIwYWJmZTk2YWVlYjZmZmIyZGM4cDE5LAorICAgIDB4MS40NmI5YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDk0OAorICAgIC0weDEuOTA0NDI1ZmM5MmVhYjBhYmZlOTZhZWViNmZmYjJkYzhwMTksCisgICAgLTB4MS40NmI5YzJwNAorICB9LAorICB7IC8vIEVudHJ5IDk0OQorICAgIC0weDEuNjMyMmJhY2IyMmRlNmFmMDAyMjhkMmVhNGQ2ZDI3OTlwMjAsCisgICAgMHgxLjQ2YjljNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTUwCisgICAgMHgxLjYzMjJiYWNiMjJkZTZhZjAwMjI4ZDJlYTRkNmQyNzk5cDIwLAorICAgIC0weDEuNDZiOWM0cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTEKKyAgICAtMHgxLjAwMDA1ZTMzMWQ2ZGJlZTlmOWQ0MzFiNDllYTdiNzIzcDAsCisgICAgMHgxLjUzNGFiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTUyCisgICAgMHgxLjAwMDA1ZTMzMWQ2ZGJlZTlmOWQ0MzFiNDllYTdiNzIzcDAsCisgICAgLTB4MS41MzRhYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDk1MworICAgIC0weDEuMDAwMDFlMzMwZGUwZjdjNzM0YmM1N2E0YzY2NTAzMjdwMCwKKyAgICAweDEuNTM0YWMwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTQKKyAgICAweDEuMDAwMDFlMzMwZGUwZjdjNzM0YmM1N2E0YzY2NTAzMjdwMCwKKyAgICAtMHgxLjUzNGFjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTU1CisgICAgLTB4MS5mZmZmYmM2NjFjYTg2OGQ1YTQ0MThmMGQxY2Q3YzIyZnAtMSwKKyAgICAweDEuNTM0YWMycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NTYKKyAgICAweDEuZmZmZmJjNjYxY2E4NjhkNWE0NDE4ZjBkMWNkN2MyMmZwLTEsCisgICAgLTB4MS41MzRhYzJwNAorICB9LAorICB7IC8vIEVudHJ5IDk1NworICAgIC0weDEuNGRkZDNiYTlmMTIxNGRlYjQwNjcyMzk3ZDZmMTkxYmNwLTE5LAorICAgIDB4MS41ZmRiYmNwNAorICB9LAorICB7IC8vIEVudHJ5IDk1OAorICAgIDB4MS40ZGRkM2JhOWYxMjE0ZGViNDA2NzIzOTdkNmYxOTFiY3AtMTksCisgICAgLTB4MS41ZmRiYmNwNAorICB9LAorICB7IC8vIEVudHJ5IDk1OQorICAgIC0weDEuMzc3NGVlYTdiOGQ3MjE0YmM4OWIxMTUzMmY4MmQzMjNwLTIxLAorICAgIDB4MS41ZmRiYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDk2MAorICAgIDB4MS4zNzc0ZWVhN2I4ZDcyMTRiYzg5YjExNTMyZjgyZDMyM3AtMjEsCisgICAgLTB4MS41ZmRiYmVwNAorICB9LAorICB7IC8vIEVudHJ5IDk2MQorICAgIDB4MS42NDQ1ODhhYzI0OGRhNmQwMTk0MTEyMWY1MDY3M2IzZnAtMjAsCisgICAgMHgxLjVmZGJjMHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTYyCisgICAgLTB4MS42NDQ1ODhhYzI0OGRhNmQwMTk0MTEyMWY1MDY3M2IzZnAtMjAsCisgICAgLTB4MS41ZmRiYzBwNAorICB9LAorICB7IC8vIEVudHJ5IDk2MworICAgIDB4MS5mZmZmNmU4OGYxMzIwNzk0ZDg0NWU4ZTBmZTFmZDhiZHAtMSwKKyAgICAweDEuNmM2Y2JhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjQKKyAgICAtMHgxLmZmZmY2ZTg4ZjEzMjA3OTRkODQ1ZThlMGZlMWZkOGJkcC0xLAorICAgIC0weDEuNmM2Y2JhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjUKKyAgICAweDEuZmZmZmVlODhkY2Q0NDI5ZjE1YzBlNGE5NWI5YmEwZTZwLTEsCisgICAgMHgxLjZjNmNiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTY2CisgICAgLTB4MS5mZmZmZWU4OGRjZDQ0MjlmMTVjMGU0YTk1YjliYTBlNnAtMSwKKyAgICAtMHgxLjZjNmNiY3A0CisgIH0sCisgIHsgLy8gRW50cnkgOTY3CisgICAgMHgxLjAwMDAzNzQ0NzQzYjNkYmQzN2RkMDUzZTcwMmJkNzU0cDAsCisgICAgMHgxLjZjNmNiZXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTY4CisgICAgLTB4MS4wMDAwMzc0NDc0M2IzZGJkMzdkZDA1M2U3MDJiZDc1NHAwLAorICAgIC0weDEuNmM2Y2JlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NjkKKyAgICAweDEuMDQxMDlhYjBlYzc4ZjgyN2VlOTVjZWE3NDZiMzhjMjBwMTgsCisgICAgMHgxLjc4ZmRiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTcwCisgICAgLTB4MS4wNDEwOWFiMGVjNzhmODI3ZWU5NWNlYTc0NmIzOGMyMHAxOCwKKyAgICAtMHgxLjc4ZmRiNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTcxCisgICAgMHgxLjA4NDJjOWIzMmQyMTI1ZGJmNWMyMGQ3MGM0NmIxN2E1cDE5LAorICAgIDB4MS43OGZkYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk3MgorICAgIC0weDEuMDg0MmM5YjMyZDIxMjVkYmY1YzIwZDcwYzQ2YjE3YTVwMTksCisgICAgLTB4MS43OGZkYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk3MworICAgIC0weDEuZmZkNDkxMzNlMjZhOWM3NDk5NjY2MzBkZWU4MTNkZGVwMjMsCisgICAgMHgxLjc4ZmRiYXA0CisgIH0sCisgIHsgLy8gRW50cnkgOTc0CisgICAgMHgxLmZmZDQ5MTMzZTI2YTljNzQ5OTY2NjMwZGVlODEzZGRlcDIzLAorICAgIC0weDEuNzhmZGJhcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzUKKyAgICAtMHgxLjAwMDA3MzQ0MzE1MjMwMWZhNTkzMzhlZWMyOWMzNzc4cDAsCisgICAgMHgxLjg1OGViNHA0CisgIH0sCisgIHsgLy8gRW50cnkgOTc2CisgICAgMHgxLjAwMDA3MzQ0MzE1MjMwMWZhNTkzMzhlZWMyOWMzNzc4cDAsCisgICAgLTB4MS44NThlYjRwNAorICB9LAorICB7IC8vIEVudHJ5IDk3NworICAgIC0weDEuMDAwMDMzNDQxYzgxMjMyZDNkOWZjMzRiZWE4MWZiN2NwMCwKKyAgICAweDEuODU4ZWI2cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NzgKKyAgICAweDEuMDAwMDMzNDQxYzgxMjMyZDNkOWZjMzRiZWE4MWZiN2NwMCwKKyAgICAtMHgxLjg1OGViNnA0CisgIH0sCisgIHsgLy8gRW50cnkgOTc5CisgICAgLTB4MS5mZmZmZTY4ODJmNjAzOTQ2YjUzYjA0MjM2MWFlYzgyY3AtMSwKKyAgICAweDEuODU4ZWI4cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODAKKyAgICAweDEuZmZmZmU2ODgyZjYwMzk0NmI1M2IwNDIzNjFhZWM4MmNwLTEsCisgICAgLTB4MS44NThlYjhwNAorICB9LAorICB7IC8vIEVudHJ5IDk4MQorICAgIC0weDEuY2I2Y2Q0Y2I4MmE5MWRmYzRhZjlhNDk5YTU3NWU0YTRwLTMsCisgICAgMHgxLmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDk4MgorICAgIDB4MS5jYjZjZDRjYjgyYTkxZGZjNGFmOWE0OTlhNTc1ZTRhNHAtMywKKyAgICAtMHgxLmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDk4MworICAgIDB4MS41MmY1MGU3NTc5NDFjYmZmNWI3YzJlMDZhMWFiN2U5ZHA2LAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODQKKyAgICAtMHgxLjUyZjUwZTc1Nzk0MWNiZmY1YjdjMmUwNmExYWI3ZTlkcDYsCisgICAgLTB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODUKKyAgICAtMHgxLjI5Y2JkMTI4MjFiMzk5YzllZTRmMjY1ZGE1MTg4MWE4cDEsCisgICAgMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDk4NgorICAgIDB4MS4yOWNiZDEyODIxYjM5OWM5ZWU0ZjI2NWRhNTE4ODFhOHAxLAorICAgIC0weDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgOTg3CisgICAgMHgxLjNlNGQ5MTQ4ZDcwODY3MjdkYTk0NGUxYzA1MmI2OGFmcC0xLAorICAgIDB4MS5mZmZmZmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA5ODgKKyAgICAtMHgxLjNlNGQ5MTQ4ZDcwODY3MjdkYTk0NGUxYzA1MmI2OGFmcC0xLAorICAgIC0weDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgOTg5CisgICAgLTB4MS4yZThmYzFhZjgxZDhiYWE4ODk5YTMzMjUyMDBjMGRjYnAwLAorICAgIDB4MS5wMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTAKKyAgICAweDEuMmU4ZmMxYWY4MWQ4YmFhODg5OWEzMzI1MjAwYzBkY2JwMCwKKyAgICAtMHgxLnAyNworICB9LAorICB7IC8vIEVudHJ5IDk5MQorICAgIC0weDEuNGNlOTc0OGU1MjRmNzdhZDg1NzM1YzdmN2Q2NjhjZjFwLTEsCisgICAgMHgxLjAwMDAwMnAyNworICB9LAorICB7IC8vIEVudHJ5IDk5MgorICAgIDB4MS40Y2U5NzQ4ZTUyNGY3N2FkODU3MzVjN2Y3ZDY2OGNmMXAtMSwKKyAgICAtMHgxLjAwMDAwMnAyNworICB9LAorICB7IC8vIEVudHJ5IDk5MworICAgIDB4MS43ZTMwMDVkNTdlZDkzYWU0NWIxYmVhM2UzNjE1YmI2N3AxLAorICAgIDB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTQKKyAgICAtMHgxLjdlMzAwNWQ1N2VkOTNhZTQ1YjFiZWEzZTM2MTViYjY3cDEsCisgICAgLTB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OTUKKyAgICAtMHgxLjNlYTI4MjcxYTliZWEzNmU3NDRmOWNlNTM3YmE0YjU5cDAsCisgICAgMHgxLnAyNAorICB9LAorICB7IC8vIEVudHJ5IDk5NgorICAgIDB4MS4zZWEyODI3MWE5YmVhMzZlNzQ0ZjljZTUzN2JhNGI1OXAwLAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgOTk3CisgICAgMHgxLmZlOTI5YjQyODIxMDVhMTYwYTliZTI3MzFkZjIwYTZjcDAsCisgICAgMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDk5OAorICAgIC0weDEuZmU5MjliNDI4MjEwNWExNjBhOWJlMjczMWRmMjBhNmNwMCwKKyAgICAtMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDk5OQorICAgIDB4MS4yODY2ZjA2MTk0ZTBjMmM3ZWUyMmVlOWY4ZjlkY2FlZXAwLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMDAKKyAgICAtMHgxLjI4NjZmMDYxOTRlMGMyYzdlZTIyZWU5ZjhmOWRjYWVlcDAsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMDEKKyAgICAweDEuMjg2NmY5YmU0ZGUxMzcwZGI5MDc4NjA3MDEyY2IwN2JwMCwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAyCisgICAgLTB4MS4yODY2ZjliZTRkZTEzNzBkYjkwNzg2MDcwMTJjYjA3YnAwLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAzCisgICAgMHgxLjI4NjcwYzc3YzBlNjQ3MTM4ZDRmYzcxODFlZjliNjFmcDAsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNAorICAgIC0weDEuMjg2NzBjNzdjMGU2NDcxMzhkNGZjNzE4MWVmOWI2MWZwMCwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMTAwNQorICAgIC0weDEuMTdhZjY4YTZkNDJmNzcyYmQyNDlmNWQ2OTJhZmE0ZTdwMSwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA2CisgICAgMHgxLjE3YWY2OGE2ZDQyZjc3MmJkMjQ5ZjVkNjkyYWZhNGU3cDEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDEwMDcKKyAgICAtMHgxLjE3YWY2MmUwOTUwZjgzYjUwOTkwODdhYWY2N2FmOWMxcDEsCisgICAgMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAwOAorICAgIDB4MS4xN2FmNjJlMDk1MGY4M2I1MDk5MDg3YWFmNjdhZjljMXAxLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDA5CisgICAgLTB4MS4xN2FmNTc1NDE3NjcwNTE3M2NlYzg5ZDAxMzgxZjU1M3AxLAorICAgIDB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDEwMTAKKyAgICAweDEuMTdhZjU3NTQxNzY3MDUxNzNjZWM4OWQwMTM4MWY1NTNwMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMQorICAgIDB4MS44ZWIyNDI1ZWZmNzI4NjBkNTZkNjEwNTZkYjU0ZWY2N3AwLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEyCisgICAgLTB4MS44ZWIyNDI1ZWZmNzI4NjBkNTZkNjEwNTZkYjU0ZWY2N3AwLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAxMworICAgIDB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwMTQKKyAgICAtMHgxLjhlYjI0NWNiZWUzYTViOGFjYzdkNDEzMjMxNDBiM2I1cDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwMTUKKyAgICAweDEuOGViMjRjYTVjYmVhMDhmOTkxMjA2YTNlYWY5M2FiOThwMCwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE2CisgICAgLTB4MS44ZWIyNGNhNWNiZWEwOGY5OTEyMDZhM2VhZjkzYWI5OHAwLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE3CisgICAgMHgxLjE3YjRmNDcyY2Q3OTFhYWJmZTRlYTkxYWZiNWU3OWU3cC0xLAorICAgIDB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDE4CisgICAgLTB4MS4xN2I0ZjQ3MmNkNzkxYWFiZmU0ZWE5MWFmYjVlNzllN3AtMSwKKyAgICAtMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMTkKKyAgICAweDEuMTdiNGY1YmYzNDc0YTQzMTc5NjQ4MDc4ODI0NDRjYzhwLTEsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwMjAKKyAgICAtMHgxLjE3YjRmNWJmMzQ3NGE0MzE3OTY0ODA3ODgyNDQ0Y2M4cC0xLAorICAgIC0weDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyMQorICAgIDB4MS4xN2I0Zjg1ODAyNmRkODAzM2VkM2Q4ZDZkNTM1MGNhOXAtMSwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAyMgorICAgIC0weDEuMTdiNGY4NTgwMjZkZDgwMzNlZDNkOGQ2ZDUzNTBjYTlwLTEsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIzCisgICAgMHgxLjA1Nzg1OTMzMTNkYjY1OWNmM2FiODhhMjM1MjE4NDU2cC0yLAorICAgIDB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI0CisgICAgLTB4MS4wNTc4NTkzMzEzZGI2NTljZjNhYjg4YTIzNTIxODQ1NnAtMiwKKyAgICAtMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMjUKKyAgICAweDEuMDU3ODVhNDNjNGM1NWU2Mzk0MDE4ODk2NWMyOGJkMGZwLTIsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDEwMjYKKyAgICAtMHgxLjA1Nzg1YTQzYzRjNTVlNjM5NDAxODg5NjVjMjhiZDBmcC0yLAorICAgIC0weDEucC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAyNworICAgIDB4MS4wNTc4NWM2NTI2OTliODYyOGI3ODc2YjdiZDgzYzBjY3AtMiwKKyAgICAweDEuMDAwMDAycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTAyOAorICAgIC0weDEuMDU3ODVjNjUyNjk5Yjg2MjhiNzg3NmI3YmQ4M2MwY2NwLTIsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDI5CisgICAgMHgxLjAxNTc3OWVkNDY1NzQ3MjRiOTAyNWE0NDcyYTFhZTBhcC0zLAorICAgIDB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMwCisgICAgLTB4MS4wMTU3NzllZDQ2NTc0NzI0YjkwMjVhNDQ3MmExYWUwYXAtMywKKyAgICAtMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMzEKKyAgICAweDEuMDE1NzdhZjE1MTFhNGUwNDU5ZjViODcyZDRmZjM0ZmRwLTMsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDEwMzIKKyAgICAtMHgxLjAxNTc3YWYxNTExYTRlMDQ1OWY1Yjg3MmQ0ZmYzNGZkcC0zLAorICAgIC0weDEucC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAzMworICAgIDB4MS4wMTU3N2NmOTY2YTA3NDQ1NTNkZDQ0YTk5NGYwYmJkMXAtMywKKyAgICAweDEuMDAwMDAycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTAzNAorICAgIC0weDEuMDE1NzdjZjk2NmEwNzQ0NTUzZGQ0NGE5OTRmMGJiZDFwLTMsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM1CisgICAgMHgxLjAwNTU3Njg0NGQ0NGZkYTBiODAzNDhiYjE3NDk4YWExcC00LAorICAgIDB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDM2CisgICAgLTB4MS4wMDU1NzY4NDRkNDRmZGEwYjgwMzQ4YmIxNzQ5OGFhMXAtNCwKKyAgICAtMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwMzcKKyAgICAweDEuMDA1NTc3ODU0ZGYwMDgzMjkzYmU2MzkwNTdiMGM2ODFwLTQsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDEwMzgKKyAgICAtMHgxLjAwNTU3Nzg1NGRmMDA4MzI5M2JlNjM5MDU3YjBjNjgxcC00LAorICAgIC0weDEucC00CisgIH0sCisgIHsgLy8gRW50cnkgMTAzOQorICAgIDB4MS4wMDU1Nzk4NzRmNDYyMzVlNTIwODJhNGQwZGRmYzZlMXAtNCwKKyAgICAweDEuMDAwMDAycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTA0MAorICAgIC0weDEuMDA1NTc5ODc0ZjQ2MjM1ZTUyMDgyYTRkMGRkZmM2ZTFwLTQsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQxCisgICAgMHgxLjAwMTU1Njc3NmViNWQ5OGY4MmUxYjVlYWIyOGM2YjVmcC01LAorICAgIDB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQyCisgICAgLTB4MS4wMDE1NTY3NzZlYjVkOThmODJlMWI1ZWFiMjhjNmI1ZnAtNSwKKyAgICAtMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwNDMKKyAgICAweDEuMDAxNTU3NzdhZWMwODU3ZDIyYzk3ZTgwOTg2MDI4OGRwLTUsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDEwNDQKKyAgICAtMHgxLjAwMTU1Nzc3YWVjMDg1N2QyMmM5N2U4MDk4NjAyODhkcC01LAorICAgIC0weDEucC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NQorICAgIDB4MS4wMDE1NTk3ODJlZDVkZWQ4ZTJiNGM4MTljYjdjOWYxMXAtNSwKKyAgICAweDEuMDAwMDAycC01CisgIH0sCisgIHsgLy8gRW50cnkgMTA0NgorICAgIC0weDEuMDAxNTU5NzgyZWQ1ZGVkOGUyYjRjODE5Y2I3YzlmMTFwLTUsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ3CisgICAgMHgxLjAwMDU1NDc3Njg1M2UwNDEwMTBkYTIyYTY1NmY4MjY3cC02LAorICAgIDB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQ4CisgICAgLTB4MS4wMDA1NTQ3NzY4NTNlMDQxMDEwZGEyMmE2NTZmODI2N3AtNiwKKyAgICAtMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDEwNDkKKyAgICAweDEuMDAwNTU1Nzc3ODU0OGFlMWI1ZjYwNTc0NzA2ZTgyMzhwLTYsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEwNTAKKyAgICAtMHgxLjAwMDU1NTc3Nzg1NDhhZTFiNWY2MDU3NDcwNmU4MjM4cC02LAorICAgIC0weDEucC02CisgIH0sCisgIHsgLy8gRW50cnkgMTA1MQorICAgIDB4MS4wMDA1NTc3Nzk4NTVlMDgzMjdjNzU4ZTIwZDY5MWRhZHAtNiwKKyAgICAweDEuMDAwMDAycC02CisgIH0sCisgIHsgLy8gRW50cnkgMTA1MgorICAgIC0weDEuMDAwNTU3Nzc5ODU1ZTA4MzI3Yzc1OGUyMGQ2OTFkYWRwLTYsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUzCisgICAgMHgxLmZmZmZmZTBhYWFhYThhZWVlZjBkOWI1M2FkMmY0ODIzcC0xNSwKKyAgICAweDEuZmZmZmZlcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDEwNTQKKyAgICAtMHgxLmZmZmZmZTBhYWFhYThhZWVlZjBkOWI1M2FkMmY0ODIzcC0xNSwKKyAgICAtMHgxLmZmZmZmZXAtMTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU1CisgICAgMHgxLjAwMDAwMDA1NTU1NTU1Nzc3Nzc3Nzg1NDg1NDg1YTFlcC0xNCwKKyAgICAweDEucC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTYKKyAgICAtMHgxLjAwMDAwMDA1NTU1NTU1Nzc3Nzc3Nzg1NDg1NDg1YTFlcC0xNCwKKyAgICAtMHgxLnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU3CisgICAgMHgxLjAwMDAwMjA1NTU1NTc1Nzc3N2I4Y2RhYTBhYTljNjQwcC0xNCwKKyAgICAweDEuMDAwMDAycC0xNAorICB9LAorICB7IC8vIEVudHJ5IDEwNTgKKyAgICAtMHgxLjAwMDAwMjA1NTU1NTc1Nzc3N2I4Y2RhYTBhYTljNjQwcC0xNCwKKyAgICAtMHgxLjAwMDAwMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDU5CisgICAgMHgxLmZmZmZmZTAwMDAwMDAyYWFhYWEyYWFhYWIyYWVlZWVjcC0yOCwKKyAgICAweDEuZmZmZmZlcC0yOAorICB9LAorICB7IC8vIEVudHJ5IDEwNjAKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAyYWFhYWEyYWFhYWIyYWVlZWVjcC0yOCwKKyAgICAtMHgxLmZmZmZmZXAtMjgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYxCisgICAgMHgxLjAwMDAwMDAwMDAwMDAxNTU1NTU1NTU1NTU1NTc3Nzc3cC0yNywKKyAgICAweDEucC0yNworICB9LAorICB7IC8vIEVudHJ5IDEwNjIKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAxNTU1NTU1NTU1NTU1NTc3Nzc3cC0yNywKKyAgICAtMHgxLnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYzCisgICAgMHgxLjAwMDAwMjAwMDAwMDAxNTU1NTVkNTU1NTY1NTc3NzgycC0yNywKKyAgICAweDEuMDAwMDAycC0yNworICB9LAorICB7IC8vIEVudHJ5IDEwNjQKKyAgICAtMHgxLjAwMDAwMjAwMDAwMDAxNTU1NTVkNTU1NTY1NTc3NzgycC0yNywKKyAgICAtMHgxLjAwMDAwMnAtMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY1CisgICAgMHgxLmZmZmZmZTAwMDAwMDAwMGFhYWFhOGFhYWFhY2FhYWVlcC0zMSwKKyAgICAweDEuZmZmZmZlcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDEwNjYKKyAgICAtMHgxLmZmZmZmZTAwMDAwMDAwMGFhYWFhOGFhYWFhY2FhYWVlcC0zMSwKKyAgICAtMHgxLmZmZmZmZXAtMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY3CisgICAgMHgxLjAwMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1NTc3cC0zMCwKKyAgICAweDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEwNjgKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1NTc3cC0zMCwKKyAgICAtMHgxLnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDY5CisgICAgMHgxLjAwMDAwMjAwMDAwMDAwMDU1NTU1NzU1NTU1OTU1NTc3cC0zMCwKKyAgICAweDEuMDAwMDAycC0zMAorICB9LAorICB7IC8vIEVudHJ5IDEwNzAKKyAgICAtMHgxLjAwMDAwMjAwMDAwMDAwMDU1NTU1NzU1NTU1OTU1NTc3cC0zMCwKKyAgICAtMHgxLjAwMDAwMnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcxCisgICAgMHgxLjM5M2Q5NGI0OTg4YzFmMjU0MzQ1YzlmN2Q5ZWEwYzAzcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzIKKyAgICAtMHgxLjM5M2Q5NGI0OTg4YzFmMjU0MzQ1YzlmN2Q5ZWEwYzAzcC0xLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3MworICAgIC0weDEuMzkzZDk0YjQ5ODhjMWYyNTQzNDVjOWY3ZDllYTBjMDNwLTEsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc0CisgICAgMHgxLjM5M2Q5NGI0OTg4YzFmMjU0MzQ1YzlmN2Q5ZWEwYzAzcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDEwNzUKKyAgICAtMHgxLjM5M2Q5NGI0OTg4YzFmMjU0MzQ1YzlmN2Q5ZWEwYzAzcC0xLAorICAgIDB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3NgorICAgIDB4MS4zOTNkOTRiNDk4OGMxZjI1NDM0NWM5ZjdkOWVhMGMwM3AtMSwKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDc3CisgICAgMHgxLmFjZjMxNWE4N2FhNWRhODY1NGM4NDRiOTE3ZDE0NzQ1cC0xLAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3OAorICAgIC0weDEuYWNmMzE1YTg3YWE1ZGE4NjU0Yzg0NGI5MTdkMTQ3NDVwLTEsCisgICAgLTB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA3OQorICAgIDB4MS43NzdhNWNmNzJjZWRmM2I1NDRjODE4MDhiNTE1ZjFmOXAtMjQsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTA4MAorICAgIC0weDEuNzc3YTVjZjcyY2VkZjNiNTQ0YzgxODA4YjUxNWYxZjlwLTI0LAorICAgIC0weDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgxCisgICAgLTB4MS41ZDE0OTQ2ZGM5ODk3NWQ2NDIxYTU1Mjg0ZmUwMjBhMXAyNCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgyCisgICAgMHgxLjVkMTQ5NDZkYzk4OTc1ZDY0MjFhNTUyODRmZTAyMGExcDI0LAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgzCisgICAgMHgxLjhlYjI0Y2E1Y2JlYTA4Zjk5MTIwNmEzZWFmOTNhYjk4cDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NAorICAgIC0weDEuOGViMjRjYTVjYmVhMDhmOTkxMjA2YTNlYWY5M2FiOThwMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4NQorICAgIDB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwODYKKyAgICAtMHgxLjhlYjI0NWNiZWUzYTViOGFjYzdkNDEzMjMxNDBiM2I1cDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDEwODcKKyAgICAweDEuOGViMjQyNWVmZjcyODYwZDU2ZDYxMDU2ZGI1NGVmNjdwMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA4OAorICAgIC0weDEuOGViMjQyNWVmZjcyODYwZDU2ZDYxMDU2ZGI1NGVmNjdwMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwODkKKyAgICAweDEuMDAwMDAwYmJiZDJlYzA2ZDZkNmZmZjM2NTVhMzQ2YWNwMCwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTA5MAorICAgIC0weDEuMDAwMDAwYmJiZDJlYzA2ZDZkNmZmZjM2NTVhMzQ2YWNwMCwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOTEKKyAgICAweDEuMDAwMDAycC0xMjYsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA5MgorICAgIC0weDEuMDAwMDAycC0xMjYsCisgICAgLTB4MS4wMDAwMDJwLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwOTMKKyAgICAweDEucC0xMjYsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMTA5NAorICAgIC0weDEucC0xMjYsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDEwOTUKKyAgICAweDEuZmZmZmZjcC0xMjcsCisgICAgMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA5NgorICAgIC0weDEuZmZmZmZjcC0xMjcsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwOTcKKyAgICAweDEuZmZmZmY4cC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgMTA5OAorICAgIC0weDEuZmZmZmY4cC0xMjcsCisgICAgLTB4MS5mZmZmZjhwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDEwOTkKKyAgICAweDEucC0xNDgsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMTEwMAorICAgIC0weDEucC0xNDgsCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDExMDEKKyAgICAweDEucC0xNDksCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMTEwMgorICAgIC0weDEucC0xNDksCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDExMDMKKyAgICAwLjAsCisgICAgMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDExMDQKKyAgICAtMC4wLAorICAgIC0wLjBmCisgIH0sCit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3RhbmhfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3RhbmhfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNDMzY2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvdGFuaF9pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwyOTM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfdGFuaF9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQwCisgIH0sCisgIHsgLy8gRW50cnkgMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA0MAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAtMHgxLmZmZjU1NTk5OTdlMTA5MTIxMjI4NGU0NzdlNmI2MDFicC03LAorICAgIC0weDEuMDAwMDAwMDAwMDAwY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDMKKyAgICAweDEuZmZmNTU1OTk5N2UxMDkxMjEyMjg0ZTQ3N2U2YjYwMWJwLTcsCisgICAgMHgxLjAwMDAwMDAwMDAwMGNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS5mZmZmZmZmZmZmZjRlN2ZmOTQ0NGI2MDNkNmRkNzY1Y3AtMSwKKyAgICAtMHgxLjAyMDIwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMHgxLmZmZmZmZmZmZmZmNGU3ZmY5NDQ0YjYwM2Q2ZGQ3NjVjcC0xLAorICAgIDB4MS4wMjAyMHA0CisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIC0weDEuZmJhZThlYmNhMjBkNGM1ODgwMDQ2ZTUyMjU2YWY5MWVwLTMsCisgICAgLTB4MS4wMzNkYjI3OWNhYzUwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5mYmFlOGViY2EyMGQ0YzU4ODAwNDZlNTIyNTZhZjkxZXAtMywKKyAgICAweDEuMDMzZGIyNzljYWM1MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmVmODY1YmUxZWY0Mjg4MDEwMDAwOGE1ZTRlNDE5MGM1cC0xLAorICAgIC0weDEuMDc0MWVhMzc3NTlkMHAxCisgIH0sCisgIHsgLy8gRW50cnkgOQorICAgIDB4MS5lZjg2NWJlMWVmNDI4ODAxMDAwMDhhNWU0ZTQxOTBjNXAtMSwKKyAgICAweDEuMDc0MWVhMzc3NTlkMHAxCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAtMHgxLmZmZmZmZTQxMzA4ODQwMDE2MjRlMjg2OTNmZDc3OTc2cC0xLAorICAgIC0weDEuMTc3MDFiM2JmMDUwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTEKKyAgICAweDEuZmZmZmZlNDEzMDg4NDAwMTYyNGUyODY5M2ZkNzc5NzZwLTEsCisgICAgMHgxLjE3NzAxYjNiZjA1MDJwMworICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5iZmUxNTI3N2E4NzA5ZmZmNzE5NmZjN2VkMjk5Y2FjZnAtMSwKKyAgICAtMHgxLjVhNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMKKyAgICAweDEuYmZlMTUyNzdhODcwOWZmZjcxOTZmYzdlZDI5OWNhY2ZwLTEsCisgICAgMHgxLjVhNnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTQKKyAgICAtMHgxLjQ1OTdjMmM3MDg5YTUyOTZkMWIzOGNjOGZjM2IzNWIycC0xLAorICAgIC0weDEuODBhYTRkZWUzNWM1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLjQ1OTdjMmM3MDg5YTUyOTZkMWIzOGNjOGZjM2IzNWIycC0xLAorICAgIDB4MS44MGFhNGRlZTM1YzUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYKKyAgICAtMHgxLjg1MzUxODNjODFiZWM4MThhNDQ4MmI2YWE1NjI3MDRhcC00LAorICAgIC0weDEuODY2MjliMjVhZDEzOXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjg1MzUxODNjODFiZWM4MThhNDQ4MmI2YWE1NjI3MDRhcC00LAorICAgIDB4MS44NjYyOWIyNWFkMTM5cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAtMHgxLjQ5OTE0YjFjN2E2YTMwNDBkN2ExMjQ2YjVjOWE3MjIzcC0xLAorICAgIC0weDEuODc2NTE4M2FmMGJmOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjQ5OTE0YjFjN2E2YTMwNDBkN2ExMjQ2YjVjOWE3MjIzcC0xLAorICAgIDB4MS44NzY1MTgzYWYwYmY4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAtMHgxLjkwNzBmZTRlNmY0MWY3ZTJlMWQzYThkMDE3ZjA5OTdlcC00LAorICAgIC0weDEuOTFiOTdhOTQyNDhjZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDIxCisgICAgMHgxLjkwNzBmZTRlNmY0MWY3ZTJlMWQzYThkMDE3ZjA5OTdlcC00LAorICAgIDB4MS45MWI5N2E5NDI0OGNlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLjUzZmNhMGE3NDhhNDBiOTU2ZjY0ZWE0OGFlMjZjZWI3cC0xLAorICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzCisgICAgMHgxLjUzZmNhMGE3NDhhNDBiOTU2ZjY0ZWE0OGFlMjZjZWI3cC0xLAorICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQKKyAgICAtMHgxLmFmYmVjNjQyOWFhZDc5NGQ3ZjJhNzc1Yjg3NTlkNjIxcC04LAorICAgIC0weDEuYWZjMDVmOWJiM2UxOXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmFmYmVjNjQyOWFhZDc5NGQ3ZjJhNzc1Yjg3NTlkNjIxcC04LAorICAgIDB4MS5hZmMwNWY5YmIzZTE5cC04CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAtMHgxLmZmMTQyZWVjZDFiMTU4MDBjZGViMGY1MjZkYTc4NjIzcC0xLAorICAgIC0weDEuYzBjZmZjNzlhOGU3YXAxCisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZmYxNDJlZWNkMWIxNTgwMGNkZWIwZjUyNmRhNzg2MjNwLTEsCisgICAgMHgxLmMwY2ZmYzc5YThlN2FwMQorICB9LAorICB7IC8vIEVudHJ5IDI4CisgICAgLTB4MS42OWVlMzQ0Mjc0NDNjZjlmZTI1OWE5YmIyNTY3ZmNjMHAtMSwKKyAgICAtMHgxLmMzMGMwNjA4ZGUzMjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS42OWVlMzQ0Mjc0NDNjZjlmZTI1OWE5YmIyNTY3ZmNjMHAtMSwKKyAgICAweDEuYzMwYzA2MDhkZTMyNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgLTB4MS43OGQ0ZWY3NDhkZDUyODAxMTcwZDU0MmIyYjBjYjIxMHAtMSwKKyAgICAtMHgxLmUyMjViNWI4ZmU1MTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIDB4MS43OGQ0ZWY3NDhkZDUyODAxMTcwZDU0MmIyYjBjYjIxMHAtMSwKKyAgICAweDEuZTIyNWI1YjhmZTUxNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgLTB4MS5jZTcxNmRjODVmNGY2MDE1Njg2OTRmMjRlYjIzY2EzY3AtMiwKKyAgICAtMHgxLmYyNjUyZWNiZGMwZjFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIDB4MS5jZTcxNmRjODVmNGY2MDE1Njg2OTRmMjRlYjIzY2EzY3AtMiwKKyAgICAweDEuZjI2NTJlY2JkYzBmMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDM0CisgICAgLTB4MS5kOTM1M2Q3NTA0MDRkN2ZkNGJkNzYxNzRiOWViMGM0YXAtMiwKKyAgICAtMHgxLmZmZmZmZmZmN2ZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5kOTM1M2Q3NTA0MDRkN2ZkNGJkNzYxNzRiOWViMGM0YXAtMiwKKyAgICAweDEuZmZmZmZmZmY3ZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS44NWVmYWI1MTRmMzk1MmM4ZDEzM2FmMTllNWU4Y2RkNnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzkKKyAgICAtMHgxLjg1ZWZhYjUxNGYzOTUyYzhkMTMzYWYxOWU1ZThjZGQ2cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQwCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZDkzNTNkNzU2OGFmZTY3YjM3ZmI5ODlmNTU5YmU4MzRwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MworICAgIC0weDEuZDkzNTNkNzU2OGFmZTY3YjM3ZmI5ODlmNTU5YmU4MzRwLTIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDA3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDQKKyAgICAweDEuZmZmZjU1NTU5OTliOWRmNWNhYjFkODQzYmEyN2IxNmJwLTksCisgICAgMHgxLjAwMDAwMDAwMDAwMTFwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZmZmZjU1NTU5OTliOWRmNWNhYjFkODQzYmEyN2IxNmJwLTksCisgICAgLTB4MS4wMDAwMDAwMDAwMDExcC04CisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAweDEuZmZmNTU1OTk5N2UxZTkwNDEyYmQ5ZTUzMGIxYmIxYzhwLTcsCisgICAgMHgxLjAwMDAwMDAwMDAwMTNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0weDEuZmZmNTU1OTk5N2UxZTkwNDEyYmQ5ZTUzMGIxYmIxYzhwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDEzcC02CisgIH0sCisgIHsgLy8gRW50cnkgNDgKKyAgICAweDEuZmQ1OTkyYmM0Yjg5MzgwMDFmODViODMzZDE2NDk1ZmFwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEuZmQ1OTkyYmM0Yjg5MzgwMDFmODViODMzZDE2NDk1ZmFwLTQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZmZmNTU1OTk5N2YyMjgwMDFkOTI5MTcyYTRlYjg1ZDRwLTcsCisgICAgMHgxLjAwMDAwMDAwMDAwOTVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MQorICAgIC0weDEuZmZmNTU1OTk5N2YyMjgwMDFkOTI5MTcyYTRlYjg1ZDRwLTcsCisgICAgLTB4MS4wMDAwMDAwMDAwMDk1cC02CisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAweDEuZWQ5NTA1ZTFiYzQ2NDg0OWQ3NDlmYzlkZTE4MjAyYzJwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuZWQ5NTA1ZTFiYzQ2NDg0OWQ3NDlmYzlkZTE4MjAyYzJwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAweDEuZmY1NTk5N2UwMzU1ODgyOTVhMGZlYTcxYWJjM2NiMmVwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAyNDNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEuZmY1NTk5N2UwMzU1ODgyOTVhMGZlYTcxYWJjM2NiMmVwLTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMjQzcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTYKKyAgICAweDEuZjU5N2VhNjlhMjMxYTcyZTZhZjE2YmMxYzE1NjYxMDhwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAzODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NworICAgIC0weDEuZjU5N2VhNjlhMjMxYTcyZTZhZjE2YmMxYzE1NjYxMDhwLTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMzgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTgKKyAgICAweDEuZjU5N2VhNjlhNThhZjI1M2ZlNTk3ZmRkYmViYjQzZTJwLTMsCisgICAgMHgxLjAwMDAwMDAwMDIwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLmY1OTdlYTY5YTU4YWYyNTNmZTU5N2ZkZGJlYmI0M2UycC0zLAorICAgIC0weDEuMDAwMDAwMDAwMjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIDB4MS5mZmZkNTU1OTlkZTY5ZmU2NzM0MzhhNDNlNGU0ZThmMHAtOCwKKyAgICAweDEuMDAwMDAwMDAwMjJhMHAtNworICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5mZmZkNTU1OTlkZTY5ZmU2NzM0MzhhNDNlNGU0ZThmMHAtOCwKKyAgICAtMHgxLjAwMDAwMDAwMDIyYTBwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIDB4MS5mZmZmZjg3MmE5MWY4N2ZhZjU4MDZhNTBlNWM0YjkxYnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMmZmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmZmZmZmODcyYTkxZjg3ZmFmNTgwNmE1MGU1YzRiOTFicC0xLAorICAgIC0weDEuMDAwMDAwMDAwMmZmMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAweDEuZmZmZmY4NzJhOTFmODdmYjZlNTVkNzc0NDJlZDNkMjlwLTEsCisgICAgMHgxLjAwMDAwMDAwMDMwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NQorICAgIC0weDEuZmZmZmY4NzJhOTFmODdmYjZlNTVkNzc0NDJlZDNkMjlwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAzMHAzCisgIH0sCisgIHsgLy8gRW50cnkgNjYKKyAgICAweDEuODVlZmFiNTE3OGQ2ZDAwMDAxNmI2MDhiNmQ3Mzc2OGZwLTEsCisgICAgMHgxLjAwMDAwMDAwMzE4YjlwMAorICB9LAorICB7IC8vIEVudHJ5IDY3CisgICAgLTB4MS44NWVmYWI1MTc4ZDZkMDAwMDE2YjYwOGI2ZDczNzY4ZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMzE4YjlwMAorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmQ5MzUzZDc1YmQzMTY3ZmZmZTBjYTM4YjY0MWM4OTZmcC0yLAorICAgIDB4MS4wMDAwMDAwMDM1YmE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmQ5MzUzZDc1YmQzMTY3ZmZmZTBjYTM4YjY0MWM4OTZmcC0yLAorICAgIC0weDEuMDAwMDAwMDAzNWJhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgMHgxLmQ5MzUzZDc3MTYxNzgwMDAwMGE5YTU4MGU0NjkzNDBlcC0yLAorICAgIDB4MS4wMDAwMDAwMTExMDEycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmQ5MzUzZDc3MTYxNzgwMDAwMGE5YTU4MGU0NjkzNDBlcC0yLAorICAgIC0weDEuMDAwMDAwMDExMTAxMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmZkNTk5MmJmM2ZhMzA3Y2UxNTZiOTYxNDk4MDc3OWVjcC00LAorICAgIDB4MS4wMDAwMDAwMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MworICAgIC0weDEuZmQ1OTkyYmYzZmEzMDdjZTE1NmI5NjE0OTgwNzc5ZWNwLTQsCisgICAgLTB4MS4wMDAwMDAwMThwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIDB4MS5mZmY1NzE5N2Q3ZjIxYWFkOGNkZTc0MWUwYzBhZDdmYXAtNywKKyAgICAweDEuMDAwMDBlMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mZmY1NzE5N2Q3ZjIxYWFkOGNkZTc0MWUwYzBhZDdmYXAtNywKKyAgICAtMHgxLjAwMDAwZTBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5mZjU1Yjk1ZTE4NTRiN2RlYzNhNTFiYTI3YjM5YmU4YnAtNSwKKyAgICAweDEuMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuZmY1NWI5NWUxODU0YjdkZWMzYTUxYmEyN2IzOWJlOGJwLTUsCisgICAgLTB4MS4wMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLmZmNTVlZDdmZTUxOTI4MzViNTc3OGM5ZDAzNzIwYzU2cC01LAorICAgIDB4MS4wMDAwMmEyYjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3OQorICAgIC0weDEuZmY1NWVkN2ZlNTE5MjgzNWI1Nzc4YzlkMDM3MjBjNTZwLTUsCisgICAgLTB4MS4wMDAwMmEyYjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIDB4MS5mZmQ5NTg5OTUzYzMyYmM4ZGE3YzBlZDBiYWE1NDRiM3AtNiwKKyAgICAweDEuMDAwMjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MQorICAgIC0weDEuZmZkOTU4OTk1M2MzMmJjOGRhN2MwZWQwYmFhNTQ0YjNwLTYsCisgICAgLTB4MS4wMDAyMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgMHgxLjg1ZmQxYjFiOTZmNTVjNjUxODc1MjkwYjJkN2Y0OTRjcC0xLAorICAgIDB4MS4wMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDgzCisgICAgLTB4MS44NWZkMWIxYjk2ZjU1YzY1MTg3NTI5MGIyZDdmNDk0Y3AtMSwKKyAgICAtMHgxLjAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuZmRiODE2NmNjM2VkMjgxN2MxZjU5ZGJkOGIyM2IyYWJwLTQsCisgICAgMHgxLjAwM3AtMworICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS5mZGI4MTY2Y2MzZWQyODE3YzFmNTlkYmQ4YjIzYjJhYnAtNCwKKyAgICAtMHgxLjAwM3AtMworICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmZmZTg5MzNiYzVhNmQ3YmU4YTczMTZlNDNjZTljNmNkcC01LAorICAgIDB4MS4wMDQ5YzY4OTgwMmQwcC00CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZTg5MzNiYzVhNmQ3YmU4YTczMTZlNDNjZTljNmNkcC01LAorICAgIC0weDEuMDA0OWM2ODk4MDJkMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgMHgxLmZhNzNhZjdhNjU4Mzc1ZmY0MzQ4MzY3ZjM4MzBhNTY3cC0zLAorICAgIDB4MS4wMjk1ZmFkNDBhNTgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAtMHgxLmZhNzNhZjdhNjU4Mzc1ZmY0MzQ4MzY3ZjM4MzBhNTY3cC0zLAorICAgIC0weDEuMDI5NWZhZDQwYTU4MHAtMgorICB9LAorICB7IC8vIEVudHJ5IDkwCisgICAgMHgxLjA2MjRkNzdjNTFlNjg4MDAwMWY5YmUxNzAwMGI5Y2YxcC0xMCwKKyAgICAweDEuMDYyNGRkMzY1NWI4YXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuMDYyNGQ3N2M1MWU2ODgwMDAxZjliZTE3MDAwYjljZjFwLTEwLAorICAgIC0weDEuMDYyNGRkMzY1NWI4YXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS4wNjI0ZDc5ZjliMTlmN2ZmZmUwYTlkMjFlY2E5OWQ3Y3AtMTAsCisgICAgMHgxLjA2MjRkZDU5OWVlZTZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAtMHgxLjA2MjRkNzlmOWIxOWY3ZmZmZTBhOWQyMWVjYTk5ZDdjcC0xMCwKKyAgICAtMHgxLjA2MjRkZDU5OWVlZTZwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZTQyOTMwOWFiZmZmZDJkZGZkODJkZTY1ODEzNmViYTVwLTIsCisgICAgMHgxLjA3MDIwZTA0MWMwODRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NQorICAgIC0weDEuZTQyOTMwOWFiZmZmZDJkZGZkODJkZTY1ODEzNmViYTVwLTIsCisgICAgLTB4MS4wNzAyMGUwNDFjMDg0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuOGM3ZjVjNmI4MGY2OWEzOTMyM2M0ZGI5M2EwZjcyYjBwLTEsCisgICAgMHgxLjA4MHAwCisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjhjN2Y1YzZiODBmNjlhMzkzMjNjNGRiOTNhMGY3MmIwcC0xLAorICAgIC0weDEuMDgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5OAorICAgIDB4MS44ZDAxMmVlN2JkODZmN2ZmMDAyODUzNzcxZDdmOGJmM3AtMSwKKyAgICAweDEuMDhhMjc4YzA0MmQwNXAwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjhkMDEyZWU3YmQ4NmY3ZmYwMDI4NTM3NzFkN2Y4YmYzcC0xLAorICAgIC0weDEuMDhhMjc4YzA0MmQwNXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAwCisgICAgMHgxLmZmZmZmZTQxMzA4ODQwMDFhOWRkNjI3N2M2Mzc5NmJhcC0xLAorICAgIDB4MS4xNzcwMWIzYmYwNTJicDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAtMHgxLmZmZmZmZTQxMzA4ODQwMDFhOWRkNjI3N2M2Mzc5NmJhcC0xLAorICAgIC0weDEuMTc3MDFiM2JmMDUyYnAzCisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLmZkYmNiNzBlMWE3OWY3ZmFlMjBiYjEwNWJjN2I1YTA5cC0yLAorICAgIDB4MS4xN2JkMDgyZjc0OTRhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS5mZGJjYjcwZTFhNzlmN2ZhZTIwYmIxMDViYzdiNWEwOXAtMiwKKyAgICAtMHgxLjE3YmQwODJmNzQ5NGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuZmY5N2VmZDllMDZiYWUxYjE2Y2VkYmRiNGE5MjMwNGVwLTIsCisgICAgMHgxLjE4Zjk0YzQzZTQyNTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAtMHgxLmZmOTdlZmQ5ZTA2YmFlMWIxNmNlZGJkYjRhOTIzMDRlcC0yLAorICAgIC0weDEuMThmOTRjNDNlNDI1NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwNgorICAgIDB4MS4xYWJlMzQxYzNhOTIwZmZmOTRkMzU2ZDZmNWZmYmM4ZHAtNywKKyAgICAweDEuMWFjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgLTB4MS4xYWJlMzQxYzNhOTIwZmZmOTRkMzU2ZDZmNWZmYmM4ZHAtNywKKyAgICAtMHgxLjFhY3AtNworICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS4wMmUxZTJiMTRiOTdjNmEzNWNiZGMzOTc4NzMxODRkMnAtMSwKKyAgICAweDEuMWQxYTNhMzQ3NDY4ZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEwOQorICAgIC0weDEuMDJlMWUyYjE0Yjk3YzZhMzVjYmRjMzk3ODczMTg0ZDJwLTEsCisgICAgLTB4MS4xZDFhM2EzNDc0NjhmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTEwCisgICAgMHgxLjlkOGQ0MTk4OTU4ZjZmMTFjNDEwOTBhYjdlM2FjY2IwcC0xLAorICAgIDB4MS4xZWQ0N2FlODQxOWI5cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAtMHgxLjlkOGQ0MTk4OTU4ZjZmMTFjNDEwOTBhYjdlM2FjY2IwcC0xLAorICAgIC0weDEuMWVkNDdhZTg0MTliOXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLjE4MmQzMzBiM2FiZDJhMmUwN2Q2OWNmZGRlN2E4ZTM2cC0yLAorICAgIDB4MS4xZjhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAtMHgxLjE4MmQzMzBiM2FiZDJhMmUwN2Q2OWNmZGRlN2E4ZTM2cC0yLAorICAgIC0weDEuMWY4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTE0CisgICAgMHgxLmZmZTA0ODJlZjk0ZmU4MDBmYjc2NDMxYTcyNjBlYzE4cC0xLAorICAgIDB4MS4yMGEwZWEwZWEwZjc1cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmZmZTA0ODJlZjk0ZmU4MDBmYjc2NDMxYTcyNjBlYzE4cC0xLAorICAgIC0weDEuMjBhMGVhMGVhMGY3NXAyCisgIH0sCisgIHsgLy8gRW50cnkgMTE2CisgICAgMHgxLjI2OGYxZDgyMjU5MDY4MDA4MmEwNWJlODMxZTQ4NTRhcC02LAorICAgIDB4MS4yNjk3M2RjN2M1YmU2cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTE3CisgICAgLTB4MS4yNjhmMWQ4MjI1OTA2ODAwODJhMDViZTgzMWU0ODU0YXAtNiwKKyAgICAtMHgxLjI2OTczZGM3YzViZTZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuMjE4YWIwNTc0MTYyZDgwMGQ0MjFmZGI4NDAxNDU2NzVwLTIsCisgICAgMHgxLjI5YTY5YmQxM2VlODdwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAtMHgxLjIxOGFiMDU3NDE2MmQ4MDBkNDIxZmRiODQwMTQ1Njc1cC0yLAorICAgIC0weDEuMjlhNjliZDEzZWU4N3AtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS4yYTRkZGE3ZGUwMDE3ZmZmZmZiYzc5OTRmMWJhMDRhMHAtMiwKKyAgICAweDEuMzMzMzMzMzM4OTMxNHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEyMQorICAgIC0weDEuMmE0ZGRhN2RlMDAxN2ZmZmZmYmM3OTk0ZjFiYTA0YTBwLTIsCisgICAgLTB4MS4zMzMzMzMzMzg5MzE0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjM1ODhkZWE1M2UzZTQ4MDAwMTg2ODA4YzI4YzUwN2UwcC0zLAorICAgIDB4MS4zN2VjYTZhNDFlNzI3cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgLTB4MS4zNTg4ZGVhNTNlM2U0ODAwMDE4NjgwOGMyOGM1MDdlMHAtMywKKyAgICAtMHgxLjM3ZWNhNmE0MWU3MjdwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuYWRjNThiMjc2MjYwMzA0MDNiOWRlYTFjN2VlZTA1YzBwLTEsCisgICAgMHgxLjM4MThmZTg0N2RhMTRwMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuYWRjNThiMjc2MjYwMzA0MDNiOWRlYTFjN2VlZTA1YzBwLTEsCisgICAgLTB4MS4zODE4ZmU4NDdkYTE0cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEuMzllNjcwZjg2NGUwNjgwMDkxNmIzMjI0MzViN2JjOWFwLTYsCisgICAgMHgxLjM5ZjA0Njk1N2EyZjZwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAtMHgxLjM5ZTY3MGY4NjRlMDY4MDA5MTZiMzIyNDM1YjdiYzlhcC02LAorICAgIC0weDEuMzlmMDQ2OTU3YTJmNnAtNgorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5hZmIwMzUyNmI0NTRhZmM0ZmQ4ZmJiMzdiYTk3OTY5MXAtMSwKKyAgICAweDEuM2I2MDcxZDFmNzQ4NHAwCisgIH0sCisgIHsgLy8gRW50cnkgMTI5CisgICAgLTB4MS5hZmIwMzUyNmI0NTRhZmM0ZmQ4ZmJiMzdiYTk3OTY5MXAtMSwKKyAgICAtMHgxLjNiNjA3MWQxZjc0ODRwMAorICB9LAorICB7IC8vIEVudHJ5IDEzMAorICAgIDB4MS5mZmY3MWE1MzhmYjIzN2ZmYWVjZGFmYWMwNzA5OGVjZHAtMSwKKyAgICAweDEuNDk0ZWU5YWM4ZGE2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTMxCisgICAgLTB4MS5mZmY3MWE1MzhmYjIzN2ZmYWVjZGFmYWMwNzA5OGVjZHAtMSwKKyAgICAtMHgxLjQ5NGVlOWFjOGRhNjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEzMgorICAgIDB4MS5iOGFmNGRjMjUzNmVhODAwZjM2MTlhMzdkYWJkMTEyZXAtMSwKKyAgICAweDEuNGJjYzVlMzg5YzZhMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5iOGFmNGRjMjUzNmVhODAwZjM2MTlhMzdkYWJkMTEyZXAtMSwKKyAgICAtMHgxLjRiY2M1ZTM4OWM2YTJwMAorICB9LAorICB7IC8vIEVudHJ5IDEzNAorICAgIDB4MS5iZmUxNTI3N2E4NzA5ZmZmNzE5NmZjN2VkMjk5Y2FjZnAtMSwKKyAgICAweDEuNWE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLmJmZTE1Mjc3YTg3MDlmZmY3MTk2ZmM3ZWQyOTljYWNmcC0xLAorICAgIC0weDEuNWE2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuMzFlMjU4YjlkNTk0MTdmZjAxNzJiYzQ4MmFkMDgzNmJwLTEsCisgICAgMHgxLjYwZDcxZGI2M2ZjMzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzcKKyAgICAtMHgxLjMxZTI1OGI5ZDU5NDE3ZmYwMTcyYmM0ODJhZDA4MzZicC0xLAorICAgIC0weDEuNjBkNzFkYjYzZmMzOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIDB4MS42MmZkNTk1NzAyNjU4ZmY2ZWY5ODU3MTgyNTM1YzYyZnAtNiwKKyAgICAweDEuNjMwYjkyZTdmMGY3N3AtNgorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuNjJmZDU5NTcwMjY1OGZmNmVmOTg1NzE4MjUzNWM2MmZwLTYsCisgICAgLTB4MS42MzBiOTJlN2YwZjc3cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLjMzZWExNDFjZWJiNjQzMGM2NjhmZmNlOTYyNjI2NjM2cC0xLAorICAgIDB4MS42NDAyNGY0YTNiMDcwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTQxCisgICAgLTB4MS4zM2VhMTQxY2ViYjY0MzBjNjY4ZmZjZTk2MjYyNjYzNnAtMSwKKyAgICAtMHgxLjY0MDI0ZjRhM2IwNzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDIKKyAgICAweDEuNjRjODQwN2MyMzI5MTdmYWZjYzNmYTcyNTZmNjU5NzlwLTEzLAorICAgIDB4MS42NGM4NDBiNWUzMGFhcC0xMworICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuNjRjODQwN2MyMzI5MTdmYWZjYzNmYTcyNTZmNjU5NzlwLTEzLAorICAgIC0weDEuNjRjODQwYjVlMzBhYXAtMTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAweDEuMzUwNjFjNWU4YzUwMzUwMGU0NTQ2MDk1NGZjNjBiYTBwLTEsCisgICAgMHgxLjY1YzAzMDA1NDg5OTFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLjM1MDYxYzVlOGM1MDM1MDBlNDU0NjA5NTRmYzYwYmEwcC0xLAorICAgIC0weDEuNjVjMDMwMDU0ODk5MXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIDB4MS5mYzY1OWQzY2NiM2FkMGY0MDZlNTc0MTg5NWJmNTI5YnAtMSwKKyAgICAweDEuNjk1YWIzMTI0ZTZmM3AxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5mYzY1OWQzY2NiM2FkMGY0MDZlNTc0MTg5NWJmNTI5YnAtMSwKKyAgICAtMHgxLjY5NWFiMzEyNGU2ZjNwMQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIDB4MS42OThlNzk0NWFhNzcyODEyZWI4MjQ2YzA2NmZlMTJjZXAtNCwKKyAgICAweDEuNmE4cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS42OThlNzk0NWFhNzcyODEyZWI4MjQ2YzA2NmZlMTJjZXAtNCwKKyAgICAtMHgxLjZhOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE1MAorICAgIDB4MS5jOWE5NmQ5YjI1ZTI1N2ZlZjQyMjU0YTA5YzVhOGU4OXAtMSwKKyAgICAweDEuNzBkYzM3MGRjMzcwY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTUxCisgICAgLTB4MS5jOWE5NmQ5YjI1ZTI1N2ZlZjQyMjU0YTA5YzVhOGU4OXAtMSwKKyAgICAtMHgxLjcwZGMzNzBkYzM3MGNwMAorICB9LAorICB7IC8vIEVudHJ5IDE1MgorICAgIDB4MS43MjliMGI1Mzg5MWNkODAyOWExOThmMzQ2YWRlZDNjNnAtNSwKKyAgICAweDEuNzJkYmQ5Njk3YTMxYXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuNzI5YjBiNTM4OTFjZDgwMjlhMTk4ZjM0NmFkZWQzYzZwLTUsCisgICAgLTB4MS43MmRiZDk2OTdhMzFhcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLjQyZGZjOTBjZTc5OTA4MDE4NDlhNzkyZTRiNTY4ZTIycC0xLAorICAgIDB4MS43YzIwNTVlZWRlYTgzcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS40MmRmYzkwY2U3OTkwODAxODQ5YTc5MmU0YjU2OGUyMnAtMSwKKyAgICAtMHgxLjdjMjA1NWVlZGVhODNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAweDEuNDQ1ZmUzMTEwOTdlOGI1MDk3NTNlMGJiZDRkOGRlOGFwLTEsCisgICAgMHgxLjdlYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuNDQ1ZmUzMTEwOTdlOGI1MDk3NTNlMGJiZDRkOGRlOGFwLTEsCisgICAgLTB4MS43ZWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAweDEuN2U5ZGNiOGU2MjcyZjdmZjdhZWJmOTg5ZmM3MTYxNzFwLTYsCisgICAgMHgxLjdlYWY5YjZhZTRlZTNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLjdlOWRjYjhlNjI3MmY3ZmY3YWViZjk4OWZjNzE2MTcxcC02LAorICAgIC0weDEuN2VhZjliNmFlNGVlM3AtNgorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS40NTlmMGRjZGIxYjI1MjJiNTYzN2QzMDM2NTYzMDZkZXAtMSwKKyAgICAweDEuODBiNjhjY2ViODljNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MQorICAgIC0weDEuNDU5ZjBkY2RiMWIyNTIyYjU2MzdkMzAzNjU2MzA2ZGVwLTEsCisgICAgLTB4MS44MGI2OGNjZWI4OWM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgMHgxLjQ1YjMxMTFkMDkxYTkxMDYyMWVjN2YzOTljY2RiOGMycC0xLAorICAgIDB4MS44MGQ4MjkyNGVjNDRkcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS40NWIzMTExZDA5MWE5MTA2MjFlYzdmMzk5Y2NkYjhjMnAtMSwKKyAgICAtMHgxLjgwZDgyOTI0ZWM0NGRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAweDEuNDkwMDljNjU1NmVlZDFlNWUwNzYxNWI1YjRjMzY4ZWNwLTEsCisgICAgMHgxLjg2NmU1YWU4NGIwZThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLjQ5MDA5YzY1NTZlZWQxZTVlMDc2MTViNWI0YzM2OGVjcC0xLAorICAgIC0weDEuODY2ZTVhZTg0YjBlOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS40OWEyMDA2ZDk1OThkMDU2NDk3OWY4N2VmODFjNWIxY3AtMSwKKyAgICAweDEuODc4MWEwOTJhMGY1MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2NworICAgIC0weDEuNDlhMjAwNmQ5NTk4ZDA1NjQ5NzlmODdlZjgxYzViMWNwLTEsCisgICAgLTB4MS44NzgxYTA5MmEwZjUycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTY4CisgICAgMHgxLjg2MmM4NDcwZTY3NWEwN2UxMjNlYTg3OWY4YmFlYmIzcC0zLAorICAgIDB4MS44YjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLjg2MmM4NDcwZTY3NWEwN2UxMjNlYTg3OWY4YmFlYmIzcC0zLAorICAgIC0weDEuOGIwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgMHgxLjhmNzdkNWQ4OTMyYzlmZjkwOTVlOGY3N2ZkZGQwNzBkcC02LAorICAgIDB4MS44ZjhjMWI0N2VjMTE0cC02CisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS44Zjc3ZDVkODkzMmM5ZmY5MDk1ZThmNzdmZGRkMDcwZHAtNiwKKyAgICAtMHgxLjhmOGMxYjQ3ZWMxMTRwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzIKKyAgICAweDEuODMwZTIzZTA0ZTAzNDdmZTc4NjYzZjFjNDRlYjg0ZmJwLTIsCisgICAgMHgxLjk3NHAtMgorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuODMwZTIzZTA0ZTAzNDdmZTc4NjYzZjFjNDRlYjg0ZmJwLTIsCisgICAgLTB4MS45NzRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAweDEuNTM2YzZkNGJjODM1MmRiNzk4NjY1NjAyNjY5N2YxYTlwLTEsCisgICAgMHgxLjk4OTgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc1CisgICAgLTB4MS41MzZjNmQ0YmM4MzUyZGI3OTg2NjU2MDI2Njk3ZjFhOXAtMSwKKyAgICAtMHgxLjk4OTgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc2CisgICAgMHgxLjUzY2E4MzcyYjNjZjA4MDBjMTA5MzcyZWYwMjU4NTU2cC0xLAorICAgIDB4MS45OTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLjUzY2E4MzcyYjNjZjA4MDBjMTA5MzcyZWYwMjU4NTU2cC0xLAorICAgIC0weDEuOTk0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTc4CisgICAgMHgxLjk0MDIyNzk0Y2EwZjkwMTExY2QwMWI3ZmNiOGNmOWI2cC0zLAorICAgIDB4MS45OTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAtMHgxLjk0MDIyNzk0Y2EwZjkwMTExY2QwMWI3ZmNiOGNmOWI2cC0zLAorICAgIC0weDEuOTk2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgwCisgICAgMHgxLjk0Mzk4MzBiODVhZDEwMDAwMWI4Njg3NWUzNDM1Njc4cC0zLAorICAgIDB4MS45OTk5OTk5OWU3ZmI2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS45NDM5ODMwYjg1YWQxMDAwMDFiODY4NzVlMzQzNTY3OHAtMywKKyAgICAtMHgxLjk5OTk5OTk5ZTdmYjZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEuODUxMTU3M2Q4M2UyOTgwMDAxZGZiNDc2YWY3ZmQ5MDJwLTIsCisgICAgMHgxLjk5OTk5OTliMzRhNWJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODMKKyAgICAtMHgxLjg1MTE1NzNkODNlMjk4MDAwMWRmYjQ3NmFmN2ZkOTAycC0yLAorICAgIC0weDEuOTk5OTk5OWIzNGE1YnAtMgorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS45NDM5ODMwZDg4N2QwODAwMDEwYzAyMjg1NmFkODA0NXAtMywKKyAgICAweDEuOTk5OTk5OWJmZmE5YnAtMworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIC0weDEuOTQzOTgzMGQ4ODdkMDgwMDAxMGMwMjI4NTZhZDgwNDVwLTMsCisgICAgLTB4MS45OTk5OTk5YmZmYTlicC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLjk4M2Q3Nzk5Y2UxZjZmZmZmZTIwMDRlMzkzZDk1MzI5cC00LAorICAgIDB4MS45OTk5OTk5ZDdkOGEycC00CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS45ODNkNzc5OWNlMWY2ZmZmZmUyMDA0ZTM5M2Q5NTMyOXAtNCwKKyAgICAtMHgxLjk5OTk5OTlkN2Q4YTJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODgKKyAgICAweDEuOTgzZDc3OWI2Yzg1ZjdmZmZlMjkwNWZiMjIzOTdiNjBwLTQsCisgICAgMHgxLjk5OTk5OTlmMjAxOTFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODkKKyAgICAtMHgxLjk4M2Q3NzliNmM4NWY3ZmZmZTI5MDVmYjIyMzk3YjYwcC00LAorICAgIC0weDEuOTk5OTk5OWYyMDE5MXAtNAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5kY2JhNjYwYzZmZWNlODBkNDU1MzExOWVmZmRkNWMyZXAtMSwKKyAgICAweDEuYWFhYWFhYWFhYWFhY3AwCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5kY2JhNjYwYzZmZWNlODBkNDU1MzExOWVmZmRkNWMyZXAtMSwKKyAgICAtMHgxLmFhYWFhYWFhYWFhYWNwMAorICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5hZDU5YjU5NDY1YjA2NTE3MDYwNWNiZjEzOTg4ODMyYXAtNywKKyAgICAweDEuYWQ2cC03CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5hZDU5YjU5NDY1YjA2NTE3MDYwNWNiZjEzOTg4ODMyYXAtNywKKyAgICAtMHgxLmFkNnAtNworICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS42MDEwZWEwZWQ1MTc5N2ZmOGI2Y2E3ZmVkZTFiOGQzMXAtMSwKKyAgICAweDEuYWZkN2ViZjVmYWY4MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5NQorICAgIC0weDEuNjAxMGVhMGVkNTE3OTdmZjhiNmNhN2ZlZGUxYjhkMzFwLTEsCisgICAgLTB4MS5hZmQ3ZWJmNWZhZjgwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk2CisgICAgMHgxLjliNDYzMTBlYjRlNmQ3ZmNmY2Q2ZTI4MDg3MGU5YjY1cC0yLAorICAgIDB4MS5iM2NmYTZjNzY0M2FjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS45YjQ2MzEwZWI0ZTZkN2ZjZmNkNmUyODA4NzBlOWI2NXAtMiwKKyAgICAtMHgxLmIzY2ZhNmM3NjQzYWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAweDEuNjMwZWRhZTg3ODZjOGVhYzRhZTRmYzJjYTJmYTBkYmVwLTEsCisgICAgMHgxLmI1OTAxNTBkY2Y4YmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLjYzMGVkYWU4Nzg2YzhlYWM0YWU0ZmMyY2EyZmEwZGJlcC0xLAorICAgIC0weDEuYjU5MDE1MGRjZjhiZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMAorICAgIDB4MS42NTdhNGY3ZjI2MGQ0ZjI2ZDdmNzZkYjAxYzg1NmFjM3AtMSwKKyAgICAweDEuYmE0MTA4YjI2NGM2YXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuNjU3YTRmN2YyNjBkNGYyNmQ3Zjc2ZGIwMWM4NTZhYzNwLTEsCisgICAgLTB4MS5iYTQxMDhiMjY0YzZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgMHgxLmJhNzNlYzRmMDM1OWEwMDVkMTA5ZWQzZDgyNDUzNjNmcC02LAorICAgIDB4MS5iYThmNzg0NDlmMGI4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5iYTczZWM0ZjAzNTlhMDA1ZDEwOWVkM2Q4MjQ1MzYzZnAtNiwKKyAgICAtMHgxLmJhOGY3ODQ0OWYwYjhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAweDEuYjQyYWE4NmZjMGMwYWZjNGM0ODU2OWNkOTIyOTNhNmZwLTMsCisgICAgMHgxLmJhZjI1MDFlMjA1MjhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDUKKyAgICAtMHgxLmI0MmFhODZmYzBjMGFmYzRjNDg1NjljZDkyMjkzYTZmcC0zLAorICAgIC0weDEuYmFmMjUwMWUyMDUyOHAtMworICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5lMGViOTNlOTExYmZkN2ZmYzFjYmI1NTVmMDgzNTQ2YXAtMSwKKyAgICAweDEuYmI2NzY2YzFhMjYyNHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5lMGViOTNlOTExYmZkN2ZmYzFjYmI1NTVmMDgzNTQ2YXAtMSwKKyAgICAtMHgxLmJiNjc2NmMxYTI2MjRwMAorICB9LAorICB7IC8vIEVudHJ5IDIwOAorICAgIDB4MS5iYzljOTAwNDNmNWFmZmY4MGI5ODlmOTJjZWE0YjA4N3AtNiwKKyAgICAweDEuYmNiODgzYmI0YTFkMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIwOQorICAgIC0weDEuYmM5YzkwMDQzZjVhZmZmODBiOTg5ZjkyY2VhNGIwODdwLTYsCisgICAgLTB4MS5iY2I4ODNiYjRhMWQycC02CisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLjY2ZGUwYmVmMjMwZTg4MDIwNzViNzI4ZmNmZmRlYTllcC0xLAorICAgIDB4MS5iY2Y5YjVlNTUyZTQ2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgLTB4MS42NmRlMGJlZjIzMGU4ODAyMDc1YjcyOGZjZmZkZWE5ZXAtMSwKKyAgICAtMHgxLmJjZjliNWU1NTJlNDZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAweDEuYzc2MWY3NWI2OTY2YzgwMTViYzE5MDcwZjZhYjUwMDZwLTYsCisgICAgMHgxLmM3OHAtNgorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEuYzc2MWY3NWI2OTY2YzgwMTViYzE5MDcwZjZhYjUwMDZwLTYsCisgICAgLTB4MS5jNzhwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAweDEuNzE0MjEzNTBhMDY0YjBiM2IxNjhjNmUxM2E5NDJkYTFwLTEsCisgICAgMHgxLmQyMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIC0weDEuNzE0MjEzNTBhMDY0YjBiM2IxNjhjNmUxM2E5NDJkYTFwLTEsCisgICAgLTB4MS5kMjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEuY2E5YWRjMDBkYWFkZjIxZGUyZjhlMmEzYjY2N2FjYzNwLTMsCisgICAgMHgxLmQyODI3MTU1Y2Q3ZjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTcKKyAgICAtMHgxLmNhOWFkYzAwZGFhZGYyMWRlMmY4ZTJhM2I2NjdhY2MzcC0zLAorICAgIC0weDEuZDI4MjcxNTVjZDdmMnAtMworICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5kM2FmMGI0MDk0OTNkODBmMTY2OTBkNDE3YTAyMDk1NHAtNSwKKyAgICAweDEuZDQzMTVmZGUwZmQ2MHAtNQorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIC0weDEuZDNhZjBiNDA5NDkzZDgwZjE2NjkwZDQxN2EwMjA5NTRwLTUsCisgICAgLTB4MS5kNDMxNWZkZTBmZDYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLmZmNTNlZjkwOWE1M2M3ZmY0NmFlNjQ5MmIyNDlmOTE0cC0xLAorICAgIDB4MS5kNTBwMQorICB9LAorICB7IC8vIEVudHJ5IDIyMQorICAgIC0weDEuZmY1M2VmOTA5YTUzYzdmZjQ2YWU2NDkyYjI0OWY5MTRwLTEsCisgICAgLTB4MS5kNTBwMQorICB9LAorICB7IC8vIEVudHJ5IDIyMgorICAgIDB4MS5kNGM2ZGJkZDYyMDRiN2ZkYWVmYTY1YzJkZTZjM2JjMXAtNSwKKyAgICAweDEuZDU0YTFiNDNmMjExOXAtNQorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIC0weDEuZDRjNmRiZGQ2MjA0YjdmZGFlZmE2NWMyZGU2YzNiYzFwLTUsCisgICAgLTB4MS5kNTRhMWI0M2YyMTE5cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjI0CisgICAgMHgxLmQ2MGMwNTZlZWJjYjU3ZWE5NGRlNzI2ZTg2ZjQ5ZWU2cC00LAorICAgIDB4MS5kODIwNzZkMDdlMGNhcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgLTB4MS5kNjBjMDU2ZWViY2I1N2VhOTRkZTcyNmU4NmY0OWVlNnAtNCwKKyAgICAtMHgxLmQ4MjA3NmQwN2UwY2FwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAweDEuNzQ1YTgxZjU0ODViMGRhZDgzZDNhZDc2MWYwMzRkMTdwLTEsCisgICAgMHgxLmQ4ODI5ZDQ4ZDVjY2FwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjcKKyAgICAtMHgxLjc0NWE4MWY1NDg1YjBkYWQ4M2QzYWQ3NjFmMDM0ZDE3cC0xLAorICAgIC0weDEuZDg4MjlkNDhkNWNjYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5kYWI3N2YzNGQzMDFjOTAwZTEzZDA1YjkxMmZjYTU5NnAtNywKKyAgICAweDEuZGFjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgLTB4MS5kYWI3N2YzNGQzMDFjOTAwZTEzZDA1YjkxMmZjYTU5NnAtNywKKyAgICAtMHgxLmRhY3AtNworICB9LAorICB7IC8vIEVudHJ5IDIzMAorICAgIDB4MS5kNTlmYjJjNDkyNzc2N2ZmYWYwMzhiNWI1MzNlMTdiOHAtMywKKyAgICAweDEuZGUycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgLTB4MS5kNTlmYjJjNDkyNzc2N2ZmYWYwMzhiNWI1MzNlMTdiOHAtMywKKyAgICAtMHgxLmRlMnAtMworICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5iZWJjNTkzNDM1Njk1ZjNlNWQ5ZGZkY2U4YWM2NTkxMXAtMiwKKyAgICAweDEuZGVkNGUxNTdlYmI1YXAtMgorICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIC0weDEuYmViYzU5MzQzNTY5NWYzZTVkOWRmZGNlOGFjNjU5MTFwLTIsCisgICAgLTB4MS5kZWQ0ZTE1N2ViYjVhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjM0CisgICAgMHgxLmQ3NjY1Y2Y5YmI4Mjg3ZjUzY2ZkMmQ1MWYyOGRiYzg3cC0zLAorICAgIDB4MS5lcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgLTB4MS5kNzY2NWNmOWJiODI4N2Y1M2NmZDJkNTFmMjhkYmM4N3AtMywKKyAgICAtMHgxLmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzYKKyAgICAweDEuZTE4MzlhNjMzNjFjZDM2YTIwNzdlYzNiZTQ2ZmIzMWNwLTYsCisgICAgMHgxLmUxYTcxYzg4ZDQyYWJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAtMHgxLmUxODM5YTYzMzYxY2QzNmEyMDc3ZWMzYmU0NmZiMzFjcC02LAorICAgIC0weDEuZTFhNzFjODhkNDJhYnAtNgorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIDB4MS5lOTQ0MTRiZmI4YjFjOTI2NDg3YTYxMWMzZTljODJmZXAtMSwKKyAgICAweDEuZTQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAtMHgxLmU5NDQxNGJmYjhiMWM5MjY0ODdhNjExYzNlOWM4MmZlcC0xLAorICAgIC0weDEuZTQ4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEuZTQ3ZWNiMGI1MTllZDRjNDA1ZTY5MjVjNjE4OWI0ZDVwLTYsCisgICAgMHgxLmU0YTJmNzIzNzZkODNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAtMHgxLmU0N2VjYjBiNTE5ZWQ0YzQwNWU2OTI1YzYxODliNGQ1cC02LAorICAgIC0weDEuZTRhMmY3MjM3NmQ4M3AtNgorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5lOTRmYzkzNjMxYzdlOTE5MWY0OTczYTBkODA3ZDc4YXAtMSwKKyAgICAweDEuZTRjMzc3MTUzY2E5YXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgLTB4MS5lOTRmYzkzNjMxYzdlOTE5MWY0OTczYTBkODA3ZDc4YXAtMSwKKyAgICAtMHgxLmU0YzM3NzE1M2NhOWFwMAorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5jNGNjMDNhM2QwYzIzN2ZkY2Y1NjIzYjU2MTViYmUxZHAtMiwKKyAgICAweDEuZTY1Nzc1MzZkNDNlN3AtMgorICB9LAorICB7IC8vIEVudHJ5IDI0NQorICAgIC0weDEuYzRjYzAzYTNkMGMyMzdmZGNmNTYyM2I1NjE1YmJlMWRwLTIsCisgICAgLTB4MS5lNjU3NzUzNmQ0M2U3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ2CisgICAgMHgxLmM2MjE0ZDU5NDQ1NDdlMGI2ODRlYWYwNTU3MTE3Njc1cC0yLAorICAgIDB4MS5lODBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAtMHgxLmM2MjE0ZDU5NDQ1NDdlMGI2ODRlYWYwNTU3MTE3Njc1cC0yLAorICAgIC0weDEuZTgwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLjdjZDhmYTg5MmVjZjE3ZmU1ZGE2YTIxN2YxZThkNDQxcC0xLAorICAgIDB4MS5lYjA1YjIyNmNkMTk0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjQ5CisgICAgLTB4MS43Y2Q4ZmE4OTJlY2YxN2ZlNWRhNmEyMTdmMWU4ZDQ0MXAtMSwKKyAgICAtMHgxLmViMDViMjI2Y2QxOTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEuZmI2MzhjMzc2YzhmYTgwMTBkYmJiODA1ZDM0OTM2NmVwLTYsCisgICAgMHgxLmZiOGQxODhhODRjMzdwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAtMHgxLmZiNjM4YzM3NmM4ZmE4MDEwZGJiYjgwNWQzNDkzNjZlcC02LAorICAgIC0weDEuZmI4ZDE4OGE4NGMzN3AtNgorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS5lZDAyMjExZmRlODQ2ODk1ZTNhMjMxYWI0YjE1ZmMwN3AtMSwKKyAgICAweDEuZmJmZmZmZmZmZmZmZnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjUzCisgICAgLTB4MS5lZDAyMjExZmRlODQ2ODk1ZTNhMjMxYWI0YjE1ZmMwN3AtMSwKKyAgICAtMHgxLmZiZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIDB4MS44NTU1ODU3MDQ5OGYxN2ZkOTI4MWNhOWM0NWJmZmI1ZXAtMSwKKyAgICAweDEuZmU5MWJkMjBjMmZhN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NQorICAgIC0weDEuODU1NTg1NzA0OThmMTdmZDkyODFjYTljNDViZmZiNWVwLTEsCisgICAgLTB4MS5mZTkxYmQyMGMyZmE3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLmZmOGY1NWM1ODBkMGFkNzA1ZjQ2NGI5ZTM2YzA0NjI0cC05LAorICAgIDB4MS5mZjhmZmZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjU3CisgICAgLTB4MS5mZjhmNTVjNTgwZDBhZDcwNWY0NjRiOWUzNmMwNDYyNHAtOSwKKyAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEuZmZjZjU1ODU5NGY5OTgwOTg3YjQwODYzZWZjYTY3MTZwLTksCisgICAgMHgxLmZmY2ZmZmZmZmZmZmZwLTkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAtMHgxLmZmY2Y1NTg1OTRmOTk4MDk4N2I0MDg2M2VmY2E2NzE2cC05LAorICAgIC0weDEuZmZjZmZmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5mZmI1NjE5NzU2MjYyYjgzZjcxNjIyMzA4MjU3NGI5YnAtNiwKKyAgICAweDEuZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgLTB4MS5mZmI1NjE5NzU2MjYyYjgzZjcxNjIyMzA4MjU3NGI5YnAtNiwKKyAgICAtMHgxLmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5mZmUxNDU3M2E3YzE4ZTBiMWUyYjYxNjQwOGIwMjNkMHAtOSwKKyAgICAweDEuZmZlMWVmZmZmZmZmZnAtOQorICB9LAorICB7IC8vIEVudHJ5IDI2MworICAgIC0weDEuZmZlMTQ1NzNhN2MxOGUwYjFlMmI2MTY0MDhiMDIzZDBwLTksCisgICAgLTB4MS5mZmUxZWZmZmZmZmZmcC05CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLmZmZWQ1NTk5OTZlODA4MGUzNWRiNGRkZDVjNTA2N2I3cC04LAorICAgIDB4MS5mZmVmZmZmZmZmZmZmcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgLTB4MS5mZmVkNTU5OTk2ZTgwODBlMzVkYjRkZGQ1YzUwNjdiN3AtOCwKKyAgICAtMHgxLmZmZWZmZmZmZmZmZmZwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEuZmQ1OTViMWJmNWZmZDdmZDc2MDIyMjQ3NjIwNGEzYzhwLTQsCisgICAgMHgxLmZmZmZjNzdmZmZmNDdwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAtMHgxLmZkNTk1YjFiZjVmZmQ3ZmQ3NjAyMjI0NzYyMDRhM2M4cC00LAorICAgIC0weDEuZmZmZmM3N2ZmZmY0N3AtNAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS44NWVmYTM3Y2JlMzM0ODAwZmZmYzYzMDAyYzhjMDNlZXAtMSwKKyAgICAweDEuZmZmZmVkNWFlZWRjN3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIC0weDEuODVlZmEzN2NiZTMzNDgwMGZmZmM2MzAwMmM4YzAzZWVwLTEsCisgICAgLTB4MS5mZmZmZWQ1YWVlZGM3cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLjg1ZWZhOWQ5MDMyZTZlYmIyNTdjOWRjN2JlZmNlYTljcC0xLAorICAgIDB4MS5mZmZmZmM3ZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjcxCisgICAgLTB4MS44NWVmYTlkOTAzMmU2ZWJiMjU3YzlkYzdiZWZjZWE5Y3AtMSwKKyAgICAtMHgxLmZmZmZmYzdmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzIKKyAgICAweDEuZjU5N2VhMmQzYzZiMTEyZmI5OTY2OTdhYjlkNzMwZjhwLTMsCisgICAgMHgxLmZmZmZmZmJmYmZmZmZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzMKKyAgICAtMHgxLmY1OTdlYTJkM2M2YjExMmZiOTk2Njk3YWI5ZDczMGY4cC0zLAorICAgIC0weDEuZmZmZmZmYmZiZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5mNTk3ZWEzYzgyZTE0ODA0OWI4MTI3Njc0N2IyMmE0M3AtMywKKyAgICAweDEuZmZmZmZmY2ZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIC0weDEuZjU5N2VhM2M4MmUxNDgwNDliODEyNzY3NDdiMjJhNDNwLTMsCisgICAgLTB4MS5mZmZmZmZjZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjc2CisgICAgMHgxLmQ5MzUzZDc1MDQwNGQ3ZmQ0YmQ3NjE3NGI5ZWIwYzRhcC0yLAorICAgIDB4MS5mZmZmZmZmZjdmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjc3CisgICAgLTB4MS5kOTM1M2Q3NTA0MDRkN2ZkNGJkNzYxNzRiOWViMGM0YXAtMiwKKyAgICAtMHgxLmZmZmZmZmZmN2ZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEuODVlZmFiNTE0ZjEwZWQ1NjE0YzI2NDI1Yjk1MmIyYTZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmY5ZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAtMHgxLjg1ZWZhYjUxNGYxMGVkNTYxNGMyNjQyNWI5NTJiMmE2cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZjlmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI4MAorICAgIDB4MS5mZmQ1NTk5OTJhZjg2YmUxNzYzNGJhODE4MGViNTZlM3AtNiwKKyAgICAweDEuZmZmZmZmZmZmZmRhOHAtNgorICB9LAorICB7IC8vIEVudHJ5IDI4MQorICAgIC0weDEuZmZkNTU5OTkyYWY4NmJlMTc2MzRiYTgxODBlYjU2ZTNwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZGE4cC02CisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLmZmNTU5OTdlMDJmNWQ3Zjk3MzljYjA3OWFlYzY4ZWYxcC01LAorICAgIDB4MS5mZmZmZmZmZmZmZTg1cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgLTB4MS5mZjU1OTk3ZTAyZjVkN2Y5NzM5Y2IwNzlhZWM2OGVmMXAtNSwKKyAgICAtMHgxLmZmZmZmZmZmZmZlODVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODQKKyAgICAweDEuODVlZmFiNTE0ZjM4ZWRmZDk3ZjkzMTJiYzk4ZTI4ODlwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZjNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtMHgxLjg1ZWZhYjUxNGYzOGVkZmQ5N2Y5MzEyYmM5OGUyODg5cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmM3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjg3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDI4OAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODkKKyAgICAweDEuMWE1ZWVmZjI3Y2M4NGUyOTY3NWYwMzhmMWFiYTYwNDJwLTUsCisgICAgMHgxLjFhN2I5NjExYTdiOTZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAtMHgxLjFhNWVlZmYyN2NjODRlMjk2NzVmMDM4ZjFhYmE2MDQycC01LAorICAgIC0weDEuMWE3Yjk2MTFhN2I5NnAtNQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIDB4MS4xYTA5Mjc1YzU5NDM0OGQ2OWQzYWE2YmM1YTZkM2VhY3AtNCwKKyAgICAweDEuMWE3Yjk2MTFhN2I5NnAtNAorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIC0weDEuMWEwOTI3NWM1OTQzNDhkNjlkM2FhNmJjNWE2ZDNlYWNwLTQsCisgICAgLTB4MS4xYTdiOTYxMWE3Yjk2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgMHgxLmE2MzgxNTkxNWMzZGIzMmEzNTQzMjAyZjMxMGVkZWRicC00LAorICAgIDB4MS5hN2I5NjExYTdiOTYxcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjk0CisgICAgLTB4MS5hNjM4MTU5MTVjM2RiMzJhMzU0MzIwMmYzMTBlZGVkYnAtNCwKKyAgICAtMHgxLmE3Yjk2MTFhN2I5NjFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTUKKyAgICAweDEuMThiNDcyZTg0ZWI4YTE4OWUxMTNhMjYxYWU0MTI1NTZwLTMsCisgICAgMHgxLjFhN2I5NjExYTdiOTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTYKKyAgICAtMHgxLjE4YjQ3MmU4NGViOGExODllMTEzYTI2MWFlNDEyNTU2cC0zLAorICAgIC0weDEuMWE3Yjk2MTFhN2I5NnAtMworICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIDB4MS41ZGE1NGQ2MGE3MTk1YzhhZGI1NDU4MDJmMWJmYzU5NHAtMywKKyAgICAweDEuNjExYTdiOTYxMWE3Y3AtMworICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIC0weDEuNWRhNTRkNjBhNzE5NWM4YWRiNTQ1ODAyZjFiZmM1OTRwLTMsCisgICAgLTB4MS42MTFhN2I5NjExYTdjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgMHgxLmExYzdhNzEyMmRmNTg2M2FkYTExNTZhYjNlNjkwMGEwcC0zLAorICAgIDB4MS5hN2I5NjExYTdiOTYycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgLTB4MS5hMWM3YTcxMjJkZjU4NjNhZGExMTU2YWIzZTY5MDBhMHAtMywKKyAgICAtMHgxLmE3Yjk2MTFhN2I5NjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDEKKyAgICAweDEuZTRmNjZjOThlYTkzODdmODRjNGIzYWM0OTRmNjcwYjdwLTMsCisgICAgMHgxLmVlNTg0NjllZTU4NDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAtMHgxLmU0ZjY2Yzk4ZWE5Mzg3Zjg0YzRiM2FjNDk0ZjY3MGI3cC0zLAorICAgIC0weDEuZWU1ODQ2OWVlNTg0OHAtMworICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDB4MS4xMzg3NWFiM2NlYWQ4MDc5MDNlMWYxZjNlOGU1NjQzZXAtMiwKKyAgICAweDEuMWE3Yjk2MTFhN2I5N3AtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIC0weDEuMTM4NzVhYjNjZWFkODA3OTAzZTFmMWYzZThlNTY0M2VwLTIsCisgICAgLTB4MS4xYTdiOTYxMWE3Yjk3cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgMHgxLjMzZjgwMjU2MzhlMGQ5NjY4NzcwMDdmZjQyOTJmYzQ5cC0yLAorICAgIDB4MS4zZGNiMDhkM2RjYjBhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgLTB4MS4zM2Y4MDI1NjM4ZTBkOTY2ODc3MDA3ZmY0MjkyZmM0OXAtMiwKKyAgICAtMHgxLjNkY2IwOGQzZGNiMGFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDcKKyAgICAweDEuNTNiZTNmOTYzODI5OWNjMTA0MmNkMzAxNGViNjExYTVwLTIsCisgICAgMHgxLjYxMWE3Yjk2MTFhN2RwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAtMHgxLjUzYmUzZjk2MzgyOTljYzEwNDJjZDMwMTRlYjYxMWE1cC0yLAorICAgIC0weDEuNjExYTdiOTYxMWE3ZHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIDB4MS43MmNjOGFjYWQ3NGEwNTU0Y2VhYjhmNjczZDhmZDljMXAtMiwKKyAgICAweDEuODQ2OWVlNTg0NjlmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIC0weDEuNzJjYzhhY2FkNzRhMDU1NGNlYWI4ZjY3M2Q4ZmQ5YzFwLTIsCisgICAgLTB4MS44NDY5ZWU1ODQ2OWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgMHgxLjkxMTZkMThkMGY4OTdhOGNkMDMyOTE3NWMxNzYxMDU2cC0yLAorICAgIDB4MS5hN2I5NjExYTdiOTYzcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgLTB4MS45MTE2ZDE4ZDBmODk3YThjZDAzMjkxNzVjMTc2MTA1NnAtMiwKKyAgICAtMHgxLmE3Yjk2MTFhN2I5NjNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTMKKyAgICAweDEuYWU5MjgwMzk1NmJmOGZlNzk2MGZlMDQ3YzU4ZmUyY2VwLTIsCisgICAgMHgxLmNiMDhkM2RjYjA4ZDZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAtMHgxLmFlOTI4MDM5NTZiZjhmZTc5NjBmZTA0N2M1OGZlMmNlcC0yLAorICAgIC0weDEuY2IwOGQzZGNiMDhkNnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIDB4MS5jYjM2ODVkODlmOWQ5ZjlmNGVkMzg0NDJiNjFiYjJhOHAtMiwKKyAgICAweDEuZWU1ODQ2OWVlNTg0OXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIC0weDEuY2IzNjg1ZDg5ZjlkOWY5ZjRlZDM4NDQyYjYxYmIyYThwLTIsCisgICAgLTB4MS5lZTU4NDY5ZWU1ODQ5cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzE3CisgICAgMHgxLmU2ZmI1MmMzMDk4MGU1ZjQ5NWQxMmI2NDc3ODQ1NjM3cC0yLAorICAgIDB4MS4wOGQzZGNiMDhkM2RlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgLTB4MS5lNmZiNTJjMzA5ODBlNWY0OTVkMTJiNjQ3Nzg0NTYzN3AtMiwKKyAgICAtMHgxLjA4ZDNkY2IwOGQzZGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAweDEuMDBlZDY5MzQxMjI1NDkxZmE5NGVhOGRkMmQxYzA0YWRwLTEsCisgICAgMHgxLjFhN2I5NjExYTdiOTdwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAtMHgxLjAwZWQ2OTM0MTIyNTQ5MWZhOTRlYThkZDJkMWMwNGFkcC0xLAorICAgIC0weDEuMWE3Yjk2MTFhN2I5N3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDB4MS4wZGU4MzA1ZTRjYzNkNTAwMWU1MjM5ZTYzYjhkYmVkNXAtMSwKKyAgICAweDEuMmMyMzRmNzJjMjM1MHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIC0weDEuMGRlODMwNWU0Y2MzZDUwMDFlNTIzOWU2M2I4ZGJlZDVwLTEsCisgICAgLTB4MS4yYzIzNGY3MmMyMzUwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgMHgxLjFhNmM1ZGVkOGYxNjJhYWRiYjAxNDliNDk4Y2IxYjI0cC0xLAorICAgIDB4MS4zZGNiMDhkM2RjYjA5cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgLTB4MS4xYTZjNWRlZDhmMTYyYWFkYmIwMTQ5YjQ5OGNiMWIyNHAtMSwKKyAgICAtMHgxLjNkY2IwOGQzZGNiMDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjUKKyAgICAweDEuMjY3OGY5Mzc3NzQzOWQ1ZDlhZDkwNGJhMDYzZWNiNWVwLTEsCisgICAgMHgxLjRmNzJjMjM0ZjcyYzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAtMHgxLjI2NzhmOTM3Nzc0MzlkNWQ5YWQ5MDRiYTA2M2VjYjVlcC0xLAorICAgIC0weDEuNGY3MmMyMzRmNzJjMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4zMjBkYTdjMDkxZWY0NTUyYWU3NTVjNjQzYTNiNDkzM3AtMSwKKyAgICAweDEuNjExYTdiOTYxMWE3YnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEuMzIwZGE3YzA5MWVmNDU1MmFlNzU1YzY0M2EzYjQ5MzNwLTEsCisgICAgLTB4MS42MTFhN2I5NjExYTdicC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgMHgxLjNkMmFhMjIwNDBiZGQ2ODIzODQwMjIwNGI5OGM0ZTkzcC0xLAorICAgIDB4MS43MmMyMzRmNzJjMjM0cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTB4MS4zZDJhYTIyMDQwYmRkNjgyMzg0MDIyMDRiOThjNGU5M3AtMSwKKyAgICAtMHgxLjcyYzIzNGY3MmMyMzRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzEKKyAgICAweDEuNDdkMGE4MmFjYjQyNjdkMzAxYTVkZmZiM2M5YTQwYjJwLTEsCisgICAgMHgxLjg0NjllZTU4NDY5ZWRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzIKKyAgICAtMHgxLjQ3ZDBhODJhY2I0MjY3ZDMwMWE1ZGZmYjNjOWE0MGIycC0xLAorICAgIC0weDEuODQ2OWVlNTg0NjllZHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS41MjAwZjRhNjAyYjJlZWJiMmMyZDliNGQwMzFkYTJiM3AtMSwKKyAgICAweDEuOTYxMWE3Yjk2MTFhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzNAorICAgIC0weDEuNTIwMGY0YTYwMmIyZWViYjJjMmQ5YjRkMDMxZGEyYjNwLTEsCisgICAgLTB4MS45NjExYTdiOTYxMWE2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM1CisgICAgMHgxLjViYmQzMGM3MTgzMDIxZGQ0YWUxYWY5NGVmZWI3MzUxcC0xLAorICAgIDB4MS5hN2I5NjExYTdiOTVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgLTB4MS41YmJkMzBjNzE4MzAyMWRkNGFlMWFmOTRlZmViNzM1MXAtMSwKKyAgICAtMHgxLmE3Yjk2MTFhN2I5NWZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzcKKyAgICAweDEuNjUwNzY3YjE5YmFiNWM5YTg1MTE1ZDU5YzFiYmJiZWNwLTEsCisgICAgMHgxLmI5NjExYTdiOTYxMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMzgKKyAgICAtMHgxLjY1MDc2N2IxOWJhYjVjOWE4NTExNWQ1OWMxYmJiYmVjcC0xLAorICAgIC0weDEuYjk2MTFhN2I5NjExOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS42ZGUxZmEyODY4YjdkYTAxNDUyZDFlNDcyZDAyMjNkOXAtMSwKKyAgICAweDEuY2IwOGQzZGNiMDhkMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDM0MAorICAgIC0weDEuNmRlMWZhMjg2OGI3ZGEwMTQ1MmQxZTQ3MmQwMjIzZDlwLTEsCisgICAgLTB4MS5jYjA4ZDNkY2IwOGQxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQxCisgICAgMHgxLjc2NGY5Mjk5ZGYyMDExNGQwMjZlYmQyNDRiNGU5MDRhcC0xLAorICAgIDB4MS5kY2IwOGQzZGNiMDhhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgLTB4MS43NjRmOTI5OWRmMjAxMTRkMDI2ZWJkMjQ0YjRlOTA0YXAtMSwKKyAgICAtMHgxLmRjYjA4ZDNkY2IwOGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDMKKyAgICAweDEuN2U1MzE5YTk2YjY2MzllYjBhZGU3ZmEwMjhlZTBkM2JwLTEsCisgICAgMHgxLmVlNTg0NjllZTU4NDNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNDQKKyAgICAtMHgxLjdlNTMxOWE5NmI2NjM5ZWIwYWRlN2ZhMDI4ZWUwZDNicC0xLAorICAgIC0weDEuZWU1ODQ2OWVlNTg0M3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS44NWVmYWI1MTRmMzkyYTc3ODcxYzQ5ODc3Y2NkYmZiZXAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDM0NgorICAgIC0weDEuODVlZmFiNTE0ZjM5MmE3Nzg3MWM0OTg3N2NjZGJmYmVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzQ3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM0OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMGQ3OTQzNWU1MGQ3OXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMGQ3OTQzNWU1MGQ3OXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjFhZjI4NmJjYTFhZjJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjFhZjI4NmJjYTFhZjJwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzUzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4yODZiY2ExYWYyODZicDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM1NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4yODZiY2ExYWYyODZicDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMzVlNTBkNzk0MzVlNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMzVlNTBkNzk0MzVlNHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjQzNWU1MGQ3OTQzNWRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjQzNWU1MGQ3OTQzNWRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzU5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS41MGQ3OTQzNWU1MGQ2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS41MGQ3OTQzNWU1MGQ2cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM2MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNWU1MGQ3OTQzNWU0ZnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNWU1MGQ3OTQzNWU0ZnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjZiY2ExYWYyODZiYzhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjZiY2ExYWYyODZiYzhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzY1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS43OTQzNWU1MGQ3OTQxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS43OTQzNWU1MGQ3OTQxcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM2NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuODZiY2ExYWYyODZiYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuODZiY2ExYWYyODZiYXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjk0MzVlNTBkNzk0MzNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjk0MzVlNTBkNzk0MzNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzcxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5hMWFmMjg2YmNhMWFjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM3MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5hMWFmMjg2YmNhMWFjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM3MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuYWYyODZiY2ExYWYyNXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuYWYyODZiY2ExYWYyNXAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmJjYTFhZjI4NmJjOWVwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmJjYTFhZjI4NmJjOWVwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzc3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5jYTFhZjI4NmJjYTE3cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM3OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5jYTFhZjI4NmJjYTE3cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM3OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZDc5NDM1ZTUwZDc5MHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZDc5NDM1ZTUwZDc5MHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmU1MGQ3OTQzNWU1MDlwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmU1MGQ3OTQzNWU1MDlwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMzgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mMjg2YmNhMWFmMjgycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mMjg2YmNhMWFmMjgycDEwMAorICB9LAorICB7IC8vIEVudHJ5IDM4NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmYnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmYnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzg5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wZDc5NDM1ZTUwZDc5cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wZDc5NDM1ZTUwZDc5cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDM5MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMWFmMjg2YmNhMWFmMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMWFmMjg2YmNhMWFmMnAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjI4NmJjYTFhZjI4NmJwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjI4NmJjYTFhZjI4NmJwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgMzk1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4zNWU1MGQ3OTQzNWU0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4zNWU1MGQ3OTQzNWU0cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNDM1ZTUwZDc5NDM1ZHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNDM1ZTUwZDc5NDM1ZHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjUwZDc5NDM1ZTUwZDZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjUwZDc5NDM1ZTUwZDZwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS41ZTUwZDc5NDM1ZTRmcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS41ZTUwZDc5NDM1ZTRmcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQwMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNmJjYTFhZjI4NmJjOHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNmJjYTFhZjI4NmJjOHAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjc5NDM1ZTUwZDc5NDFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjc5NDM1ZTUwZDc5NDFwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDA3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS44NmJjYTFhZjI4NmJhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQwOAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS44NmJjYTFhZjI4NmJhcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuOTQzNWU1MGQ3OTQzM3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuOTQzNWU1MGQ3OTQzM3AyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmExYWYyODZiY2ExYWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmExYWYyODZiY2ExYWNwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5hZjI4NmJjYTFhZjI1cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5hZjI4NmJjYTFhZjI1cDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQxNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuYmNhMWFmMjg2YmM5ZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuYmNhMWFmMjg2YmM5ZXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmNhMWFmMjg2YmNhMTdwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmNhMWFmMjg2YmNhMTdwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDE5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5kNzk0MzVlNTBkNzkwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5kNzk0MzVlNTBkNzkwcDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZTUwZDc5NDM1ZTUwOXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZTUwZDc5NDM1ZTUwOXAyMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmYyODZiY2ExYWYyODJwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmYyODZiY2ExYWYyODJwMjAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZicDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZicDIwMAorICB9LAorICB7IC8vIEVudHJ5IDQyNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQyOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMGQ3OTQzNWU1MGQ3OXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjBkNzk0MzVlNTBkNzlwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQzMQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMWFmMjg2YmNhMWFmMnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjFhZjI4NmJjYTFhZjJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQzMworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMjg2YmNhMWFmMjg2YnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjI4NmJjYTFhZjI4NmJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMzVlNTBkNzk0MzVlNHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjM1ZTUwZDc5NDM1ZTRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQzNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNDM1ZTUwZDc5NDM1ZHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjQzNWU1MGQ3OTQzNWRwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNTBkNzk0MzVlNTBkNnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjUwZDc5NDM1ZTUwZDZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNWU1MGQ3OTQzNWU0ZnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjVlNTBkNzk0MzVlNGZwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNmJjYTFhZjI4NmJjOHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjZiY2ExYWYyODZiYzhwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNzk0MzVlNTBkNzk0MXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjc5NDM1ZTUwZDc5NDFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuODZiY2ExYWYyODZiYXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDQ4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjg2YmNhMWFmMjg2YmFwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ0OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuOTQzNWU1MGQ3OTQzM3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjk0MzVlNTBkNzk0MzNwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuYTFhZjI4NmJjYTFhY3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDUyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmExYWYyODZiY2ExYWNwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuYWYyODZiY2ExYWYyNXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmFmMjg2YmNhMWFmMjVwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuYmNhMWFmMjg2YmM5ZXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmJjYTFhZjI4NmJjOWVwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuY2ExYWYyODZiY2ExN3AxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDU4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmNhMWFmMjg2YmNhMTdwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ1OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZDc5NDM1ZTUwZDc5MHAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmQ3OTQzNWU1MGQ3OTBwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZTUwZDc5NDM1ZTUwOXAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmU1MGQ3OTQzNWU1MDlwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZjI4NmJjYTFhZjI4MnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmYyODZiY2ExYWYyODJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmYnAxMDAwCisgIH0sCisgIHsgLy8gRW50cnkgNDY2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmJwMTAwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NworICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDY5CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgNDcxCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzIKKyAgICAweDEuZDkzNTNkNzU2OGFmMjliYmRlYjY1MDI0OTBlYTkxZjVwLTIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAtMHgxLmQ5MzUzZDc1NjhhZjI5YmJkZWI2NTAyNDkwZWE5MWY1cC0yLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ3NAorICAgIDB4MS5kOTM1M2Q3NTY4YWYzNjUxMjhlZTIxYzY1YjA4ZDNhN3AtMiwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIC0weDEuZDkzNTNkNzU2OGFmMzY1MTI4ZWUyMWM2NWIwOGQzYTdwLTIsCisgICAgLTB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc2CisgICAgMHgxLmQ5MzUzZDc1NjhhZjRmN2JiZDVkYzUwOWVlYjljODU0cC0yLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDc3CisgICAgLTB4MS5kOTM1M2Q3NTY4YWY0ZjdiYmQ1ZGM1MDllZWI5Yzg1NHAtMiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZDljZTA5ZDlhYzAwNzczMzlmY2NwLTIsCisgICAgMHgxLjE5M2VhN2FhZDAzMDlwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmQ5Y2UwOWQ5YWMwMDc3MzM5ZmNjcC0yLAorICAgIC0weDEuMTkzZWE3YWFkMDMwOXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmMWNlMDlkOWFjMDA3ODA1MmY3ZHAtMiwKKyAgICAweDEuMTkzZWE3YWFkMDMwYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIC0weDEuZmZmZmZmZmZmZmZmZjFjZTA5ZDlhYzAwNzgwNTJmN2RwLTIsCisgICAgLTB4MS4xOTNlYTdhYWQwMzBhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgyCisgICAgMHgxLjAwMDAwMDAwMDAwMDA0ZTcwNGVjZDYwMDNjMGI1Zjk3cC0xLAorICAgIDB4MS4xOTNlYTdhYWQwMzBicC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDgzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwNGU3MDRlY2Q2MDAzYzBiNWY5N3AtMSwKKyAgICAtMHgxLjE5M2VhN2FhZDAzMGJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTQyMmY4ODdhMmRiOTg5NmJwLTEsCisgICAgMHgxLjVmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmYTQyMmY4ODdhMmRiOTg5NmJwLTEsCisgICAgLTB4MS41ZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTQyMmY4ODdhMmRjNTA1MGNwLTEsCisgICAgMHgxLjZwNAorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmYTQyMmY4ODdhMmRjNTA1MGNwLTEsCisgICAgLTB4MS42cDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTQyMmY4ODdhMmRkMDgwYWRwLTEsCisgICAgMHgxLjYwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmYTQyMmY4ODdhMmRkMDgwYWRwLTEsCisgICAgLTB4MS42MDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzNiNGQxMjBmYmRmNWJkNjI5MDU5cC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIDB4MS4zMzMzMzMzMzMzMzMzYjRkMTIwZmJkZjViZDYyOTA1OXAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ5MgorICAgIC0weDEuMzMzMzMzMzMzMzMzMzEwZmExNmJlNmViODAwZThhYzFwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDkzCisgICAgMHgxLjMzMzMzMzMzMzMzMzMxMGZhMTZiZTZlYjgwMGU4YWMxcC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDk0CisgICAgLTB4MS4zMzMzMzMzMzMzMzMyNmQyMzBjODBmZTE0MjU4Mzc1NXAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTUKKyAgICAweDEuMzMzMzMzMzMzMzMzMjZkMjMwYzgwZmUxNDI1ODM3NTVwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTYwOTViNTg3YTQ0NzE1NjBhNDBicC0yLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIDB4MS41NTU1NTU1NTU1NTU2MDk1YjU4N2E0NDcxNTYwYTQwYnAtMiwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ5OAorICAgIC0weDEuNTU1NTU1NTU1NTU1NTI1Y2QxZjk2YjYzODczMmNhZjlwLTIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDk5CisgICAgMHgxLjU1NTU1NTU1NTU1NTUyNWNkMWY5NmI2Mzg3MzJjYWY5cC0yLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTAwCisgICAgLTB4MS41NTU1NTU1NTU1NTU0NDIzZWU2YjMyN2ZmOGRmMDRkZHAtMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDEKKyAgICAweDEuNTU1NTU1NTU1NTU1NDQyM2VlNmIzMjdmZjhkZjA0ZGRwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAtMHgxLjVmNjE5OTgwYzQzMzdiYmRkOGU4YzIwNjZiYjUxZWI3cC0zLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIDB4MS41ZjYxOTk4MGM0MzM3YmJkZDhlOGMyMDY2YmI1MWViN3AtMywKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtMworICB9LAorICB7IC8vIEVudHJ5IDUwNAorICAgIC0weDEuNWY2MTk5ODBjNDMzNmMzNjZjMWFjYjM4ZDRmMWIyYmRwLTMsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTA1CisgICAgMHgxLjVmNjE5OTgwYzQzMzZjMzY2YzFhY2IzOGQ0ZjFiMmJkcC0zLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTA2CisgICAgLTB4MS41ZjYxOTk4MGM0MzM1Y2FlZmY0Y2Q0NmIzZTIzOWU3N3AtMywKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDcKKyAgICAweDEuNWY2MTk5ODBjNDMzNWNhZWZmNGNkNDZiM2UyMzllNzdwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAtMHgxLjYyMDE4NWU1NjIxNDE0YzY4MjNjNzAxZjRlOGQ4M2Y1cC00LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIDB4MS42MjAxODVlNTYyMTQxNGM2ODIzYzcwMWY0ZThkODNmNXAtNCwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDUxMAorICAgIC0weDEuNjIwMTg1ZTU2MjE0MDRlNTFhYmZkNTJhOWZiMzU1ODJwLTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgMHgxLjYyMDE4NWU1NjIxNDA0ZTUxYWJmZDUyYTlmYjM1NTgycC00LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgLTB4MS42MjAxODVlNTYyMTNmNTAzYjM0MzNhMzVmMGQ2Njg1N3AtNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTMKKyAgICAweDEuNjIwMTg1ZTU2MjEzZjUwM2IzNDMzYTM1ZjBkNjY4NTdwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTQKKyAgICAtMHgxLjYyYWI2NGM4MTYyYTkxZmJjNGQzZGE3NzE5NGIzMTM1cC01LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxNQorICAgIDB4MS42MmFiNjRjODE2MmE5MWZiYzRkM2RhNzcxOTRiMzEzNXAtNSwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDUxNgorICAgIC0weDEuNjJhYjY0YzgxNjJhODIwMzcyNGRiMDViYmE2YmYxZjFwLTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgMHgxLjYyYWI2NGM4MTYyYTgyMDM3MjRkYjA1YmJhNmJmMWYxcC01LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgLTB4MS42MmFiNjRjODE2MmE3MjBiMWZjNzg2NDA1YjhjMDFhZHAtNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTkKKyAgICAweDEuNjJhYjY0YzgxNjJhNzIwYjFmYzc4NjQwNWI4YzAxYWRwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjAKKyAgICAtMHgxLjYyZDVmYjE5ZjM5ZDMyZGI1NDNmZWI1M2MwYzhhZjMzcC02LAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDUyMQorICAgIDB4MS42MmQ1ZmIxOWYzOWQzMmRiNTQzZmViNTNjMGM4YWYzM3AtNiwKKyAgICAweDEuNjJlNDJmZWZhMzlmMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDUyMgorICAgIC0weDEuNjJkNWZiMTlmMzlkMjJkZDQwMTQ2OGEzNTYwMmEzOWRwLTYsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgMHgxLjYyZDVmYjE5ZjM5ZDIyZGQ0MDE0NjhhMzU2MDJhMzlkcC02LAorICAgIDB4MS42MmU0MmZlZmEzOWVmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgLTB4MS42MmQ1ZmIxOWYzOWQxMmRmMmJlOGU1ZjJlYjNjNmJiMnAtNiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjUKKyAgICAweDEuNjJkNWZiMTlmMzlkMTJkZjJiZThlNWYyZWIzYzZiYjJwLTYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjYKKyAgICAweDEuNjJkNWZiMTlmMzlkMTJkZjJiZThlNWYyZWIzYzZiYjJwLTYsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAtMHgxLjYyZDVmYjE5ZjM5ZDEyZGYyYmU4ZTVmMmViM2M2YmIycC02LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDUyOAorICAgIDB4MS42MmQ1ZmIxOWYzOWQyMmRkNDAxNDY4YTM1NjAyYTM5ZHAtNiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIC0weDEuNjJkNWZiMTlmMzlkMjJkZDQwMTQ2OGEzNTYwMmEzOWRwLTYsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTMwCisgICAgMHgxLjYyZDVmYjE5ZjM5ZDMyZGI1NDNmZWI1M2MwYzhhZjMzcC02LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC02CisgIH0sCisgIHsgLy8gRW50cnkgNTMxCisgICAgLTB4MS42MmQ1ZmIxOWYzOWQzMmRiNTQzZmViNTNjMGM4YWYzM3AtNiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzIKKyAgICAweDEuNjJhYjY0YzgxNjJhNzIwYjFmYzc4NjQwNWI4YzAxYWRwLTUsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzMKKyAgICAtMHgxLjYyYWI2NGM4MTYyYTcyMGIxZmM3ODY0MDViOGMwMWFkcC01LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS42MmFiNjRjODE2MmE4MjAzNzI0ZGIwNWJiYTZiZjFmMXAtNSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIC0weDEuNjJhYjY0YzgxNjJhODIwMzcyNGRiMDViYmE2YmYxZjFwLTUsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLjYyYWI2NGM4MTYyYTkxZmJjNGQzZGE3NzE5NGIzMTM1cC01LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC01CisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgLTB4MS42MmFiNjRjODE2MmE5MWZiYzRkM2RhNzcxOTRiMzEzNXAtNSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuNjIwMTg1ZTU2MjEzZjUwM2IzNDMzYTM1ZjBkNjY4NTdwLTQsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzkKKyAgICAtMHgxLjYyMDE4NWU1NjIxM2Y1MDNiMzQzM2EzNWYwZDY2ODU3cC00LAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0MAorICAgIDB4MS42MjAxODVlNTYyMTQwNGU1MWFiZmQ1MmE5ZmIzNTU4MnAtNCwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIC0weDEuNjIwMTg1ZTU2MjE0MDRlNTFhYmZkNTJhOWZiMzU1ODJwLTQsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTQyCisgICAgMHgxLjYyMDE4NWU1NjIxNDE0YzY4MjNjNzAxZjRlOGQ4M2Y1cC00LAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgNTQzCisgICAgLTB4MS42MjAxODVlNTYyMTQxNGM2ODIzYzcwMWY0ZThkODNmNXAtNCwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEuNWY2MTk5ODBjNDMzNWNhZWZmNGNkNDZiM2UyMzllNzdwLTMsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDUKKyAgICAtMHgxLjVmNjE5OTgwYzQzMzVjYWVmZjRjZDQ2YjNlMjM5ZTc3cC0zLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMworICB9LAorICB7IC8vIEVudHJ5IDU0NgorICAgIDB4MS41ZjYxOTk4MGM0MzM2YzM2NmMxYWNiMzhkNGYxYjJiZHAtMywKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMworICB9LAorICB7IC8vIEVudHJ5IDU0NworICAgIC0weDEuNWY2MTk5ODBjNDMzNmMzNjZjMWFjYjM4ZDRmMWIyYmRwLTMsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjVmNjE5OTgwYzQzMzdiYmRkOGU4YzIwNjZiYjUxZWI3cC0zLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNTQ5CisgICAgLTB4MS41ZjYxOTk4MGM0MzM3YmJkZDhlOGMyMDY2YmI1MWViN3AtMywKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTAKKyAgICAweDEuNTU1NTU1NTU1NTU1NDQyM2VlNmIzMjdmZjhkZjA0ZGRwLTIsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTEKKyAgICAtMHgxLjU1NTU1NTU1NTU1NTQ0MjNlZTZiMzI3ZmY4ZGYwNGRkcC0yLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDU1MgorICAgIDB4MS41NTU1NTU1NTU1NTU1MjVjZDFmOTZiNjM4NzMyY2FmOXAtMiwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDU1MworICAgIC0weDEuNTU1NTU1NTU1NTU1NTI1Y2QxZjk2YjYzODczMmNhZjlwLTIsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTU0CisgICAgMHgxLjU1NTU1NTU1NTU1NTYwOTViNTg3YTQ0NzE1NjBhNDBicC0yLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNTU1CisgICAgLTB4MS41NTU1NTU1NTU1NTU2MDk1YjU4N2E0NDcxNTYwYTQwYnAtMiwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTYKKyAgICAweDEuMzMzMzMzMzMzMzMzMjZkMjMwYzgwZmUxNDI1ODM3NTVwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTcKKyAgICAtMHgxLjMzMzMzMzMzMzMzMzI2ZDIzMGM4MGZlMTQyNTgzNzU1cC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1OAorICAgIDB4MS4zMzMzMzMzMzMzMzMzMTBmYTE2YmU2ZWI4MDBlOGFjMXAtMSwKKyAgICAweDEuNjJlNDJmZWZhMzllZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDU1OQorICAgIC0weDEuMzMzMzMzMzMzMzMzMzEwZmExNmJlNmViODAwZThhYzFwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYwCisgICAgMHgxLjMzMzMzMzMzMzMzMzNiNGQxMjBmYmRmNWJkNjI5MDU5cC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgLTB4MS4zMzMzMzMzMzMzMzMzYjRkMTIwZmJkZjViZDYyOTA1OXAtMSwKKyAgICAtMHgxLjYyZTQyZmVmYTM5ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWVwOQorICB9LAorICB7IC8vIEVudHJ5IDU2MworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZWZwOQorICB9LAorICB7IC8vIEVudHJ5IDU2NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWVmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYyZTQyZmVmYTM5ZjBwOQorICB9LAorICB7IC8vIEVudHJ5IDU2NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MmU0MmZlZmEzOWYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNzJlNDJmZWZhMzlmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTY5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS43MmU0MmZlZmEzOWYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNzJlNDJmZWZhMzllZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTcxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS43MmU0MmZlZmEzOWVmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNzJlNDJmZWZhMzllZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTczCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS43MmU0MmZlZmEzOWVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYzM2NlOGZiOWY4N2NwOQorICB9LAorICB7IC8vIEVudHJ5IDU3NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MzNjZThmYjlmODdjcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYzM2NlOGZiOWY4N2RwOQorICB9LAorICB7IC8vIEVudHJ5IDU3NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MzNjZThmYjlmODdkcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NzgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYzM2NlOGZiOWY4N2VwOQorICB9LAorICB7IC8vIEVudHJ5IDU3OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MzNjZThmYjlmODdlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzlmMHA5CisgIH0sCisgIHsgLy8gRW50cnkgNTgxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWYwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzllZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNTgzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWVmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjJlNDJmZWZhMzllZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNTg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS42MmU0MmZlZmEzOWVlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1ODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MgorICB9LAorICB7IC8vIEVudHJ5IDU4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDU4OQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgNTkwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgNTkxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyNgorICB9LAorICB7IC8vIEVudHJ5IDU5NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAyNworICB9LAorICB7IC8vIEVudHJ5IDU5NQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNTk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI3CisgIH0sCisgIHsgLy8gRW50cnkgNTk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAyMworICB9LAorICB7IC8vIEVudHJ5IDYwMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMHAyNAorICB9LAorICB7IC8vIEVudHJ5IDYwMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNjAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNjAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDQKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM1NzE5YmNwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNAorICB9LAorICB7IC8vIEVudHJ5IDYwNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM1NzE5YmNwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDYKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM1NzE5YmNwLTEsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDYwNworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM1NzE5YmNwLTEsCisgICAgLTB4MS4wcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MDgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM1NzE5YmNwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDYwOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM1NzE5YmNwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTAKKyAgICAweDEuZmZmZmZmZmZmZmYxYmRjZDg0NGY0ZGYwODI2MTlkOTJwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMworICB9LAorICB7IC8vIEVudHJ5IDYxMQorICAgIC0weDEuZmZmZmZmZmZmZmYxYmRjZDg0NGY0ZGYwODI2MTlkOTJwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTIKKyAgICAweDEuZmZmZmZmZmZmZmYxYmRjZDg0NGY0ZGZlYzQ5NDE5NDNwLTEsCisgICAgMHgxLjBwNAorICB9LAorICB7IC8vIEVudHJ5IDYxMworICAgIC0weDEuZmZmZmZmZmZmZmYxYmRjZDg0NGY0ZGZlYzQ5NDE5NDNwLTEsCisgICAgLTB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTQKKyAgICAweDEuZmZmZmZmZmZmZmYxYmRjZDg0NGY0ZTFiNDhmOTEwYTRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDYxNQorICAgIC0weDEuZmZmZmZmZmZmZmYxYmRjZDg0NGY0ZTFiNDhmOTEwYTRwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTYKKyAgICAweDEuZmZmZmY4NzJhOTFmODY5MGVhNDdjMWQxYmQxMDdkNmVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDYxNworICAgIC0weDEuZmZmZmY4NzJhOTFmODY5MGVhNDdjMWQxYmQxMDdkNmVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MTgKKyAgICAweDEuZmZmZmY4NzJhOTFmODY5MGVlMGU2ZDNhZDhhZWU0NmJwLTEsCisgICAgMHgxLjBwMworICB9LAorICB7IC8vIEVudHJ5IDYxOQorICAgIC0weDEuZmZmZmY4NzJhOTFmODY5MGVlMGU2ZDNhZDhhZWU0NmJwLTEsCisgICAgLTB4MS4wcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjAKKyAgICAweDEuZmZmZmY4NzJhOTFmODY5MGY1OWJjNDBkMGZlYmFjYmRwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMworICB9LAorICB7IC8vIEVudHJ5IDYyMQorICAgIC0weDEuZmZmZmY4NzJhOTFmODY5MGY1OWJjNDBkMGZlYmFjYmRwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjIKKyAgICAweDEuZmZhODE3MDhhMGI0MjE1MjVlYzk5NzA5MjVjZDQxNTVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDYyMworICAgIC0weDEuZmZhODE3MDhhMGI0MjE1MjVlYzk5NzA5MjVjZDQxNTVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjQKKyAgICAweDEuZmZhODE3MDhhMGI0MjE2ODU3MjQ2YzE5ZGM2MGFjYjhwLTEsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDYyNQorICAgIC0weDEuZmZhODE3MDhhMGI0MjE2ODU3MjQ2YzE5ZGM2MGFjYjhwLTEsCisgICAgLTB4MS4wcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjYKKyAgICAweDEuZmZhODE3MDhhMGI0MjE5NDQ3ZGExNjNiNDk3NzBjMGVwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDYyNworICAgIC0weDEuZmZhODE3MDhhMGI0MjE5NDQ3ZGExNjNiNDk3NzBjMGVwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MjgKKyAgICAweDEuZWQ5NTA1ZTFiYzNkM2FmMGZlYWUzNjdkZGVkZTM1MGVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDYyOQorICAgIC0weDEuZWQ5NTA1ZTFiYzNkM2FmMGZlYWUzNjdkZGVkZTM1MGVwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzAKKyAgICAweDEuZWQ5NTA1ZTFiYzNkM2QzM2M0MzJmYzNlODI1NWM4YjVwLTEsCisgICAgMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDYzMQorICAgIC0weDEuZWQ5NTA1ZTFiYzNkM2QzM2M0MzJmYzNlODI1NWM4YjVwLTEsCisgICAgLTB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzIKKyAgICAweDEuZWQ5NTA1ZTFiYzNkNDFiOTRmM2M4N2JmYzg3M2I0YTZwLTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDYzMworICAgIC0weDEuZWQ5NTA1ZTFiYzNkNDFiOTRmM2M4N2JmYzg3M2I0YTZwLTEsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzQKKyAgICAweDEuODVlZmFiNTE0ZjM5M2VhMDJjMjdmYzUwYjJjYmJlNjVwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MzUKKyAgICAtMHgxLjg1ZWZhYjUxNGYzOTNlYTAyYzI3ZmM1MGIyY2JiZTY1cC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDYzNgorICAgIDB4MS44NWVmYWI1MTRmMzk0NTU4NjMyYmUyOTNjNDI3NGZlNnAtMSwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM3CisgICAgLTB4MS44NWVmYWI1MTRmMzk0NTU4NjMyYmUyOTNjNDI3NGZlNnAtMSwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDYzOAorICAgIDB4MS44NWVmYWI1MTRmMzk1MmM4ZDEzM2FmMTllNWU4Y2RkNnAtMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNjM5CisgICAgLTB4MS44NWVmYWI1MTRmMzk1MmM4ZDEzM2FmMTllNWU4Y2RkNnAtMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDY0MAorICAgIDB4MS5kOTM1M2Q3NTY4YWYyOWJiZGViNjUwMjQ5MGVhOTFmNXAtMiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY0MQorICAgIC0weDEuZDkzNTNkNzU2OGFmMjliYmRlYjY1MDI0OTBlYTkxZjVwLTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjQyCisgICAgMHgxLmQ5MzUzZDc1NjhhZjM2NTEyOGVlMjFjNjViMDhkM2E3cC0yLAorICAgIDB4MS4wcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNjQzCisgICAgLTB4MS5kOTM1M2Q3NTY4YWYzNjUxMjhlZTIxYzY1YjA4ZDNhN3AtMiwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDQKKyAgICAweDEuZDkzNTNkNzU2OGFmNGY3YmJkNWRjNTA5ZWViOWM4NTRwLTIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NDUKKyAgICAtMHgxLmQ5MzUzZDc1NjhhZjRmN2JiZDVkYzUwOWVlYjljODU0cC0yLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDY0NgorICAgIDB4MS5mNTk3ZWE2OWExYzg1MDA5MGJkNDg3NzkxMWFlOTk1NnAtMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMworICB9LAorICB7IC8vIEVudHJ5IDY0NworICAgIC0weDEuZjU5N2VhNjlhMWM4NTAwOTBiZDQ4Nzc5MTFhZTk5NTZwLTMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjQ4CisgICAgMHgxLmY1OTdlYTY5YTFjODVmMTM1OGQ3MWQ4NDcyOWM4MGM4cC0zLAorICAgIDB4MS4wcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjQ5CisgICAgLTB4MS5mNTk3ZWE2OWExYzg1ZjEzNThkNzFkODQ3MjljODBjOHAtMywKKyAgICAtMHgxLjBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTAKKyAgICAweDEuZjU5N2VhNjlhMWM4N2QyN2YyZGM0OTliMzQ0YzFiOGNwLTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTEKKyAgICAtMHgxLmY1OTdlYTY5YTFjODdkMjdmMmRjNDk5YjM0NGMxYjhjcC0zLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMgorICB9LAorICB7IC8vIEVudHJ5IDY1MgorICAgIDB4MS5mZDU5OTJiYzRiODM0MDAwMDYzZmQ2NzFlY2Q1ZWJlZXAtNCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAorICB9LAorICB7IC8vIEVudHJ5IDY1MworICAgIC0weDEuZmQ1OTkyYmM0YjgzNDAwMDA2M2ZkNjcxZWNkNWViZWVwLTQsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjU0CisgICAgMHgxLmZkNTk5MmJjNGI4MzRmYzBhZjZhYzhlZmY3ZDgxMDQwcC00LAorICAgIDB4MS4wcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNjU1CisgICAgLTB4MS5mZDU5OTJiYzRiODM0ZmMwYWY2YWM4ZWZmN2Q4MTA0MHAtNCwKKyAgICAtMHgxLjBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTYKKyAgICAweDEuZmQ1OTkyYmM0YjgzNmY0MjAxYzBhZGVjMGRkMDk4MGRwLTQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NTcKKyAgICAtMHgxLmZkNTk5MmJjNGI4MzZmNDIwMWMwYWRlYzBkZDA5ODBkcC00LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMworICB9LAorICB7IC8vIEVudHJ5IDY1OAorICAgIDB4MS5mZjU1OTk3ZTAzMGQ2MDY5MmFiNDg3YzdkMjIwMTNmNnAtNSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQorICB9LAorICB7IC8vIEVudHJ5IDY1OQorICAgIC0weDEuZmY1NTk5N2UwMzBkNjA2OTJhYjQ4N2M3ZDIyMDEzZjZwLTUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjYwCisgICAgMHgxLmZmNTU5OTdlMDMwZDcwNTkzNTU5MmEzNjZhOGE2NmQ0cC01LAorICAgIDB4MS4wcC00CisgIH0sCisgIHsgLy8gRW50cnkgNjYxCisgICAgLTB4MS5mZjU1OTk3ZTAzMGQ3MDU5MzU1OTJhMzY2YThhNjZkNHAtNSwKKyAgICAtMHgxLjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjIKKyAgICAweDEuZmY1NTk5N2UwMzBkOTAzOTRhYTI2ZjEzOWI1YzEwOGVwLTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjMKKyAgICAtMHgxLmZmNTU5OTdlMDMwZDkwMzk0YWEyNmYxMzliNWMxMDhlcC01LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNAorICB9LAorICB7IC8vIEVudHJ5IDY2NAorICAgIDB4MS5mZmQ1NTk5OTJiMWRkMjg3MDU1MTg0YjdkNDY0MDJkYXAtNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgorICB9LAorICB7IC8vIEVudHJ5IDY2NQorICAgIC0weDEuZmZkNTU5OTkyYjFkZDI4NzA1NTE4NGI3ZDQ2NDAyZGFwLTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjY2CisgICAgMHgxLmZmZDU1OTk5MmIxZGUyODMwNWZjMTczODIyMDUzOTJlcC02LAorICAgIDB4MS4wcC01CisgIH0sCisgIHsgLy8gRW50cnkgNjY3CisgICAgLTB4MS5mZmQ1NTk5OTJiMWRlMjgzMDVmYzE3MzgyMjA1MzkyZXAtNiwKKyAgICAtMHgxLjBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjgKKyAgICAweDEuZmZkNTU5OTkyYjFlMDI3YjA3NTEzYzM4YmQ0NmU2MTZwLTYsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NjkKKyAgICAtMHgxLmZmZDU1OTk5MmIxZTAyN2IwNzUxM2MzOGJkNDZlNjE2cC02LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNQorICB9LAorICB7IC8vIEVudHJ5IDY3MAorICAgIDB4MS5mZmY1NTU5OTk3ZGY3OTJiMTExZGFkMGU0YzM2YTFlZnAtNywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtNworICB9LAorICB7IC8vIEVudHJ5IDY3MQorICAgIC0weDEuZmZmNTU1OTk5N2RmNzkyYjExMWRhZDBlNGMzNmExZWZwLTcsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03CisgIH0sCisgIHsgLy8gRW50cnkgNjcyCisgICAgMHgxLmZmZjU1NTk5OTdkZjg5MmExMTI4NTc1ODQzZmMwZDUycC03LAorICAgIDB4MS4wcC02CisgIH0sCisgIHsgLy8gRW50cnkgNjczCisgICAgLTB4MS5mZmY1NTU5OTk3ZGY4OTJhMTEyODU3NTg0M2ZjMGQ1MnAtNywKKyAgICAtMHgxLjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzQKKyAgICAweDEuZmZmNTU1OTk5N2RmYTkyODExM2RhYmVjMzM4NmI0MWJwLTcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NzUKKyAgICAtMHgxLmZmZjU1NTk5OTdkZmE5MjgxMTNkYWJlYzMzODZiNDFicC03LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgorICB9LAorICB7IC8vIEVudHJ5IDY3NgorICAgIDB4MS5mZmZmZmZmNTU1NTU0NTk5OTk5YTk3ZGY3ZGVkNDAwNXAtMTUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNjc3CisgICAgLTB4MS5mZmZmZmZmNTU1NTU0NTk5OTk5YTk3ZGY3ZGVkNDAwNXAtMTUsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNQorICB9LAorICB7IC8vIEVudHJ5IDY3OAorICAgIDB4MS5mZmZmZmZmNTU1NTU1NTk5OTk5OTk3ZGY3ZGY3ZWFiMHAtMTUsCisgICAgMHgxLjBwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjc5CisgICAgLTB4MS5mZmZmZmZmNTU1NTU1NTk5OTk5OTk3ZGY3ZGY3ZWFiMHAtMTUsCisgICAgLTB4MS4wcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDY4MAorICAgIDB4MS5mZmZmZmZmNTU1NTU3NTk5OTk5Nzk3ZGY3ZTBkNDAwNXAtMTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0CisgIH0sCisgIHsgLy8gRW50cnkgNjgxCisgICAgLTB4MS5mZmZmZmZmNTU1NTU3NTk5OTk5Nzk3ZGY3ZTBkNDAwNXAtMTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xNAorICB9LAorICB7IC8vIEVudHJ5IDY4MgorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmY1NTU1NTU1NTU1NTU2NTU5OXAtMzEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNjgzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmY1NTU1NTU1NTU1NTU2NTU5OXAtMzEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zMQorICB9LAorICB7IC8vIEVudHJ5IDY4NAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTU5OXAtMzEsCisgICAgMHgxLjBwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjg1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmY1NTU1NTU1NTU1NTU1NTU5OXAtMzEsCisgICAgLTB4MS4wcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDY4NgorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZhYWFhYWFhYWFhYWE5YWFjY3AtMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCisgIH0sCisgIHsgLy8gRW50cnkgNjg3CisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZhYWFhYWFhYWFhYWE5YWFjY3AtMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zMAorICB9LAorICB7IC8vIEVudHJ5IDY4OAorICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZkNTU1NXAtNTYsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwLTU2CisgIH0sCisgIHsgLy8gRW50cnkgNjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmZmZkNTU1NXAtNTYsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01NgorICB9LAorICB7IC8vIEVudHJ5IDY5MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkNTU1NXAtNTYsCisgICAgMHgxLjBwLTU1CisgIH0sCisgIHsgLy8gRW50cnkgNjkxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkNTU1NXAtNTYsCisgICAgLTB4MS4wcC01NQorICB9LAorICB7IC8vIEVudHJ5IDY5MgorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZlYWFhYXAtNTUsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTU1CisgIH0sCisgIHsgLy8gRW50cnkgNjkzCisgICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZlYWFhYXAtNTUsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01NQorICB9LAorICB7IC8vIEVudHJ5IDY5NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OTUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY5NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNjk3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMworICB9LAorICB7IC8vIEVudHJ5IDY5OAorICAgIDB4MS5wMCwKKyAgICBIVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDY5OQorICAgIC0weDEucDAsCisgICAgLUhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgNzAwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzAyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzA0CisgICAgMHgxLmZlMTc1ZmEyOTI4MGZhYWRhNmUyYzkzZWE3MDg3ODllcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDUKKyAgICAtMHgxLmZlMTc1ZmEyOTI4MGZhYWRhNmUyYzkzZWE3MDg3ODllcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCisgIH0sCisgIHsgLy8gRW50cnkgNzA2CisgICAgMHgxLmQ1OTRmZGFlNDgyYjk4YTcwM2Q0NzNkOWE4Y2Q0NGNkcC0xLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDcKKyAgICAtMHgxLmQ1OTRmZGFlNDgyYjk4YTcwM2Q0NzNkOWE4Y2Q0NGNkcC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzA4CisgICAgMHgxLjg1ZWZhYjUxNGYzOTUyYzhkMTMzYWYxOWU1ZThjZGQ2cC0xLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MDkKKyAgICAtMHgxLjg1ZWZhYjUxNGYzOTUyYzhkMTMzYWYxOWU1ZThjZGQ2cC0xLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNzEwCisgICAgMHgxLjg1ZWZhYjUxNGYzOTQ1NTg2MzJiZTI5M2M0Mjc0ZmU2cC0xLAorICAgIDB4MS4wcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTEKKyAgICAtMHgxLjg1ZWZhYjUxNGYzOTQ1NTg2MzJiZTI5M2M0Mjc0ZmU2cC0xLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNzEyCisgICAgMHgxLjg1ZWZhYjUxNGYzOTNlYTAyYzI3ZmM1MGIyY2JiZTY1cC0xLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNzEzCisgICAgLTB4MS44NWVmYWI1MTRmMzkzZWEwMmMyN2ZjNTBiMmNiYmU2NXAtMSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTQKKyAgICAweDEuNGZjNDQxZmE2ZDZkNjE5NWNhNjNmOGViOTJkMzEyYTRwLTEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MTUKKyAgICAtMHgxLjRmYzQ0MWZhNmQ2ZDYxOTVjYTYzZjhlYjkyZDMxMmE0cC0xLAorICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDcxNgorICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDcxNworICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzE4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIDB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzE5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAtMHgxLjBwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjAKKyAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDcyMgorICAgIDB4MS5mZmZmZmZmZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDcyMworICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNzI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDc0LAorICAgIDB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgNzI1CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTA3NCwKKyAgICAtMHgxLjBwLTEwNzMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjYKKyAgICAwLjAsCisgICAgMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjcKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDcyOAorICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MjkKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS90YW5oZl9pbnRlbF9kYXRhLmggYi90ZXN0cy9tYXRoX2RhdGEvdGFuaGZfaW50ZWxfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMWNkOWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tYXRoX2RhdGEvdGFuaGZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMjI3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ190YW5oZl9pbnRlbF9kYXRhW10gPSB7CisgIHsgLy8gRW50cnkgMAorICAgIC0weDEuZmY1NzE3ZmYwMTVlMjkyYjE5N2FhNmE1YmQ4ZWFkMTFwLTUsCisgICAgLTB4MS4wMDAwYzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMHgxLmZmNTcxN2ZmMDE1ZTI5MmIxOTdhYTZhNWJkOGVhZDExcC01LAorICAgIDB4MS4wMDAwYzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgLTB4MS5mZmZmZmMwMDAxODcxMTA2MDA5YjVhYWY1NWM0OTExNnAtMSwKKyAgICAtMHgxLjBhMmIyYXAzCisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDB4MS5mZmZmZmMwMDAxODcxMTA2MDA5YjVhYWY1NWM0OTExNnAtMSwKKyAgICAweDEuMGEyYjJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0CisgICAgLTB4MS5mMmM0ZTBjNTM5OWJkNGMzMjQ4YTg4NTcwNTg0OTAwZHAtMiwKKyAgICAtMHgxLjEwN2ZhNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDUKKyAgICAweDEuZjJjNGUwYzUzOTliZDRjMzI0OGE4ODU3MDU4NDkwMGRwLTIsCisgICAgMHgxLjEwN2ZhNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDYKKyAgICAtMHgxLjk2ODQyOGZmZDg3MmVjYjZjOWZkOGU3MGRmOGE4YmZlcC0xLAorICAgIC0weDEuMTUwNDk4cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3CisgICAgMHgxLjk2ODQyOGZmZDg3MmVjYjZjOWZkOGU3MGRmOGE4YmZlcC0xLAorICAgIDB4MS4xNTA0OThwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAtMHgxLmZmZmZmZGZkN2I3ZTQ2MzgzY2U4ZmFkYzVmOGVhN2VhcC0xLAorICAgIC0weDEuMTUyZTJlcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA5CisgICAgMHgxLmZmZmZmZGZkN2I3ZTQ2MzgzY2U4ZmFkYzVmOGVhN2VhcC0xLAorICAgIDB4MS4xNTJlMmVwMworICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgLTB4MS4xODk3NTFmZjU3OGVmZmJlNWVjMGY1M2ZiODE2YzcwNXAtNCwKKyAgICAtMHgxLjE5MDhwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS4xODk3NTFmZjU3OGVmZmJlNWVjMGY1M2ZiODE2YzcwNXAtNCwKKyAgICAweDEuMTkwOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDEyCisgICAgLTB4MS5mZmZmZmVmMjBiOTk4ZTU5MDRmOTAwNDMxMDBjZDVkM3AtMSwKKyAgICAtMHgxLjFmODBwMworICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLmZmZmZmZWYyMGI5OThlNTkwNGY5MDA0MzEwMGNkNWQzcC0xLAorICAgIDB4MS4xZjgwcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIC0weDEuZmZmOWY2MDFjNzFhNTBlYTgwNDJiNmU1MzVkOTk2NzZwLTEsCisgICAgLTB4MS41NWI1NGVwMgorICB9LAorICB7IC8vIEVudHJ5IDE1CisgICAgMHgxLmZmZjlmNjAxYzcxYTUwZWE4MDQyYjZlNTM1ZDk5Njc2cC0xLAorICAgIDB4MS41NWI1NGVwMgorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgLTB4MS4zNWZlYzA2MTY2NGI5Y2YxYjdiMTQ4NDMwN2Y4NDI1OXAtMSwKKyAgICAtMHgxLjY3NDgwNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLjM1ZmVjMDYxNjY0YjljZjFiN2IxNDg0MzA3Zjg0MjU5cC0xLAorICAgIDB4MS42NzQ4MDRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOAorICAgIC0weDEuOGQ5YjFiMDEyODE5NmY4OWQ5NTMxZGYxMjNhNDBmZjRwLTExLAorICAgIC0weDEuOGQ5YjIwcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDE5CisgICAgMHgxLjhkOWIxYjAxMjgxOTZmODlkOTUzMWRmMTIzYTQwZmY0cC0xMSwKKyAgICAweDEuOGQ5YjIwcC0xMQorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgLTB4MS5lM2IyMTcwMWEwOWNlNDZiZWRmYjNmNmU0ZjVmOWEzMHAtMTEsCisgICAgLTB4MS5lM2IyMjBwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuZTNiMjE3MDFhMDljZTQ2YmVkZmIzZjZlNGY1ZjlhMzBwLTExLAorICAgIDB4MS5lM2IyMjBwLTExCisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAtMHgxLmZiMDcwMzAxZTViNDZiZmRhZjFkMmE3YmQ5NTczYjNjcC04LAorICAgIC0weDEuZmIwOTlhcC04CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuZmIwNzAzMDFlNWI0NmJmZGFmMWQyYTdiZDk1NzNiM2NwLTgsCisgICAgMHgxLmZiMDk5YXAtOAorICB9LAorICB7IC8vIEVudHJ5IDI0CisgICAgLTB4MS5mZjg1ZDk3N2M0NWI4YTQ2MzcwOWZjMzE5MTVjMDRiYXAtNiwKKyAgICAtMHgxLmZmYjA2Y3AtNgorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmZmODVkOTc3YzQ1YjhhNDYzNzA5ZmMzMTkxNWMwNGJhcC02LAorICAgIDB4MS5mZmIwNmNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNgorICAgIC0weDEuZmY1NTE3ZmZhYzcyZjI3NmJhZjg2NzAyZWZkN2YwZTRwLTUsCisgICAgLTB4MS5mZmZmN2VwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNworICAgIDB4MS5mZjU1MTdmZmFjNzJmMjc2YmFmODY3MDJlZmQ3ZjBlNHAtNSwKKyAgICAweDEuZmZmZjdlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuODVlZmFjZmY1Y2Y3YWZkYmE0NDJiZTkyMTkwYjU1MWJwLTEsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkKKyAgICAtMHgxLjg1ZWZhY2ZmNWNmN2FmZGJhNDQyYmU5MjE5MGI1NTFicC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMDAwMDAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4wMDAwMDJwNDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNAorICAgIDB4MS5mZjU3MTdmZjAxNWUyOTJiMTk3YWE2YTViZDhlYWQxMXAtNSwKKyAgICAweDEuMDAwMGMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAtMHgxLmZmNTcxN2ZmMDE1ZTI5MmIxOTdhYTZhNWJkOGVhZDExcC01LAorICAgIC0weDEuMDAwMGMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmZkN2I5MDE0M2JiNWQ2NTQ0NjVmYmY2ZWIwOGRiOTRwLTYsCisgICAgMHgxLjAwMDEzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM3CisgICAgLTB4MS5mZmQ3YjkwMTQzYmI1ZDY1NDQ2NWZiZjZlYjA4ZGI5NHAtNiwKKyAgICAtMHgxLjAwMDEzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM4CisgICAgMHgxLmZmNTgxNmZmYTlhYWY3N2I1MmRkZjUyZDg2MmVlMDg1cC01LAorICAgIDB4MS4wMDAxNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOQorICAgIC0weDEuZmY1ODE2ZmZhOWFhZjc3YjUyZGRmNTJkODYyZWUwODVwLTUsCisgICAgLTB4MS4wMDAxNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MAorICAgIDB4MS5mZDVjODZkYmYxZWY3YzBiN2MxN2I1YTVmYzkzODRiYXAtNCwKKyAgICAweDEuMDAwMTgwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAtMHgxLmZkNWM4NmRiZjFlZjdjMGI3YzE3YjVhNWZjOTM4NGJhcC00LAorICAgIC0weDEuMDAwMTgwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgNDIKKyAgICAweDEuZmZmOGQ1NjE5OWQyZDE0OTYzOTM0OThhZjU3YTY1YzVwLTcsCisgICAgMHgxLjAwMDFjMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgLTB4MS5mZmY4ZDU2MTk5ZDJkMTQ5NjM5MzQ5OGFmNTdhNjVjNXAtNywKKyAgICAtMHgxLjAwMDFjMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLmZmNWExNTAwZjc0ODhjODhhMjg5NjdlZjMyNzk1OThicC01LAorICAgIDB4MS4wMDAyNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NQorICAgIC0weDEuZmY1YTE1MDBmNzQ4OGM4OGEyODk2N2VmMzI3OTU5OGJwLTUsCisgICAgLTB4MS4wMDAyNDBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIDB4MS5mZmRkNTc5OTc4NjljMjIzODU5ZGEyNDYxMTU4MzBhOHAtNiwKKyAgICAweDEuMDAwNHAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTB4MS5mZmRkNTc5OTc4NjljMjIzODU5ZGEyNDYxMTU4MzBhOHAtNiwKKyAgICAtMHgxLjAwMDRwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIDB4MS4wMDAzZmZmZmZmZWFhOWFhYTZhYWE3NzdhMjIzNzc3Y3AtMjEsCisgICAgMHgxLjAwMDRwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLjAwMDNmZmZmZmZlYWE5YWFhNmFhYTc3N2EyMjM3NzdjcC0yMSwKKyAgICAtMHgxLjAwMDRwLTIxCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAweDEuZmZmZWQxMDFkYjYyOTE4NzFlZTViMWYxODQ2NjJjMTRwLTcsCisgICAgMHgxLjAwMDRiZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDUxCisgICAgLTB4MS5mZmZlZDEwMWRiNjI5MTg3MWVlNWIxZjE4NDY2MmMxNHAtNywKKyAgICAtMHgxLjAwMDRiZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgMHgxLmZmYTgyY2ZlM2QzMTAyNDc0OTE5YTgxMWE2MDgwN2IzcC0xLAorICAgIDB4MS4wMDA4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEuZmZhODJjZmUzZDMxMDI0NzQ5MTlhODExYTYwODA3YjNwLTEsCisgICAgLTB4MS4wMDA4cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NAorICAgIDB4MS4wMDcxOGIwMDZiNTJjMmFiMTE3MDJkZTMzODlkNzdkZXAtNSwKKyAgICAweDEuMDA4N3AtNQorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS4wMDcxOGIwMDZiNTJjMmFiMTE3MDJkZTMzODlkNzdkZXAtNSwKKyAgICAtMHgxLjAwODdwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NgorICAgIDB4MS5mZmFhY2IzNmIyZGZhODY5YjRmZGRlZTljOThkYzA2N3AtMSwKKyAgICAweDEuMDFwMgorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5mZmFhY2IzNmIyZGZhODY5YjRmZGRlZTljOThkYzA2N3AtMSwKKyAgICAtMHgxLjAxcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIDB4MS5mZmZmZjkwMDA1MmU0NGVhMzQ1ZGE1OTY1ZjRkMTEwZXAtMSwKKyAgICAweDEuMDEzN3AzCisgIH0sCisgIHsgLy8gRW50cnkgNTkKKyAgICAtMHgxLmZmZmZmOTAwMDUyZTQ0ZWEzNDVkYTU5NjVmNGQxMTBlcC0xLAorICAgIC0weDEuMDEzN3AzCisgIH0sCisgIHsgLy8gRW50cnkgNjAKKyAgICAweDEuZmMzMmY4MDAwMGRkN2IzMDA3NTBhMDA3OGE5MDU0YzFwLTMsCisgICAgMHgxLjAzODQzZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS5mYzMyZjgwMDAwZGQ3YjMwMDc1MGEwMDc4YTkwNTRjMXAtMywKKyAgICAtMHgxLjAzODQzZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDYyCisgICAgMHgxLmZkMTk1NzAwMDIwOTNkZjk0YjY1NjgzZjlhMDA5MTdmcC0zLAorICAgIDB4MS4wM2ZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjMKKyAgICAtMHgxLmZkMTk1NzAwMDIwOTNkZjk0YjY1NjgzZjlhMDA5MTdmcC0zLAorICAgIC0weDEuMDNmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgMHgxLmZkZTVkOGZmZmY4MGI5MjdkNGQ3NmFlMWRjZTZmNTlicC0zLAorICAgIDB4MS4wNDZjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLmZkZTVkOGZmZmY4MGI5MjdkNGQ3NmFlMWRjZTZmNTlicC0zLAorICAgIC0weDEuMDQ2Y3AtMgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgMHgxLmZlYjA2ZmZmODViODc5YWUxOWViMmJjNWNmNzBlMDMxcC0zLAorICAgIDB4MS4wNGQ4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmZlYjA2ZmZmODViODc5YWUxOWViMmJjNWNmNzBlMDMxcC0zLAorICAgIC0weDEuMDRkOHAtMgorICB9LAorICB7IC8vIEVudHJ5IDY4CisgICAgMHgxLmU2YzQyNmVkNzAwZjUwM2U2NTgzZGY3Njk0YTQ5NzlicC0yLAorICAgIDB4MS4wOGIwMzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OQorICAgIC0weDEuZTZjNDI2ZWQ3MDBmNTAzZTY1ODNkZjc2OTRhNDk3OWJwLTIsCisgICAgLTB4MS4wOGIwMzhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MAorICAgIDB4MS5mZmZmZmMwMDAxODcxMTA2MDA5YjVhYWY1NWM0OTExNnAtMSwKKyAgICAweDEuMGEyYjJhcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3MQorICAgIC0weDEuZmZmZmZjMDAwMTg3MTEwNjAwOWI1YWFmNTVjNDkxMTZwLTEsCisgICAgLTB4MS4wYTJiMmFwMworICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgMHgxLmZmYzM5MmY0YWI4ZDUzNGFhNjlmN2M1MTY2Y2YwMzY2cC0xLAorICAgIDB4MS4wY3AyCisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLmZmYzM5MmY0YWI4ZDUzNGFhNjlmN2M1MTY2Y2YwMzY2cC0xLAorICAgIC0weDEuMGNwMgorICB9LAorICB7IC8vIEVudHJ5IDc0CisgICAgMHgxLjBhY2QzMzAwMDAzMmE4ODA4Nzg2OTBkNDAzYWZiY2JlcC0zLAorICAgIDB4MS4wYzUzOTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NQorICAgIC0weDEuMGFjZDMzMDAwMDMyYTg4MDg3ODY5MGQ0MDNhZmJjYmVwLTMsCisgICAgLTB4MS4wYzUzOTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIDB4MS5mZmZmZmNmYjFiZjM3YjBmNzkxZDdhMTdlYjZiMGExNXAtMSwKKyAgICAweDEuMGVhYjdjcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEuZmZmZmZjZmIxYmYzN2IwZjc5MWQ3YTE3ZWI2YjBhMTVwLTEsCisgICAgLTB4MS4wZWFiN2NwMworICB9LAorICB7IC8vIEVudHJ5IDc4CisgICAgMHgxLmZmZmZmY2ZiMWUzNzI1M2RjNzYxOTNkMWUxYWVkODE3cC0xLAorICAgIDB4MS4wZWFiODhwMworICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS5mZmZmZmNmYjFlMzcyNTNkYzc2MTkzZDFlMWFlZDgxN3AtMSwKKyAgICAtMHgxLjBlYWI4OHAzCisgIH0sCisgIHsgLy8gRW50cnkgODAKKyAgICAweDEuZmZmZmZjZmIzOTAyMDIxYjQwNmIxZWExODc4NDRmNGJwLTEsCisgICAgMHgxLjBlYWMxNnAzCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLmZmZmZmY2ZiMzkwMjAyMWI0MDZiMWVhMTg3ODQ0ZjRicC0xLAorICAgIC0weDEuMGVhYzE2cDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIDB4MS5mNTQ0M2YwMGM3YWQxMWJhMjdiNDgwMGJjOGNmZjY5MnAtMiwKKyAgICAweDEuMTIyMzZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLmY1NDQzZjAwYzdhZDExYmEyN2I0ODAwYmM4Y2ZmNjkycC0yLAorICAgIC0weDEuMTIyMzZhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAweDEuMGRiMThhZmZmZjQxYzBkYzMyMDg1MWVlZjM2MTRiZmZwLTIsCisgICAgMHgxLjE0MzNkMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS4wZGIxOGFmZmZmNDFjMGRjMzIwODUxZWVmMzYxNGJmZnAtMiwKKyAgICAtMHgxLjE0MzNkMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgMHgxLmZmZmZmZGZkYWJiODZmODY3MmM0NjFjMDhkMDQwNDZmcC0xLAorICAgIDB4MS4xNTJmYWVwMworICB9LAorICB7IC8vIEVudHJ5IDg3CisgICAgLTB4MS5mZmZmZmRmZGFiYjg2Zjg2NzJjNDYxYzA4ZDA0MDQ2ZnAtMSwKKyAgICAtMHgxLjE1MmZhZXAzCisgIH0sCisgIHsgLy8gRW50cnkgODgKKyAgICAweDEuZmEyNjVkMjQwMTU1ZTUwMTNmMTJhM2I0MTUwMDE4OWVwLTIsCisgICAgMHgxLjE1NWNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4OQorICAgIC0weDEuZmEyNjVkMjQwMTU1ZTUwMTNmMTJhM2I0MTUwMDE4OWVwLTIsCisgICAgLTB4MS4xNTVjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEuZmM5YTFhNWY5YzMyOTA1YWFmOTdjYmEzZjhhYWZhZjBwLTIsCisgICAgMHgxLjE2ZmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIC0weDEuZmM5YTFhNWY5YzMyOTA1YWFmOTdjYmEzZjhhYWZhZjBwLTIsCisgICAgLTB4MS4xNmZjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgOTIKKyAgICAweDEuMTU1ODY4ZmZmZjQxNTJkZjQ1N2EyNGFkNmY0MTNiZGZwLTMsCisgICAgMHgxLjE3MGY0OHAtMworICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgLTB4MS4xNTU4NjhmZmZmNDE1MmRmNDU3YTI0YWQ2ZjQxM2JkZnAtMywKKyAgICAtMHgxLjE3MGY0OHAtMworICB9LAorICB7IC8vIEVudHJ5IDk0CisgICAgMHgxLjE3N2QwZjAwZjY0MWQxZTk2Yzc5YzdhYmQ3NTI2OWIxcC02LAorICAgIDB4MS4xNzg0cC02CisgIH0sCisgIHsgLy8gRW50cnkgOTUKKyAgICAtMHgxLjE3N2QwZjAwZjY0MWQxZTk2Yzc5YzdhYmQ3NTI2OWIxcC02LAorICAgIC0weDEuMTc4NHAtNgorICB9LAorICB7IC8vIEVudHJ5IDk2CisgICAgMHgxLjE4OTc1MWZmNTc4ZWZmYmU1ZWMwZjUzZmI4MTZjNzA1cC00LAorICAgIDB4MS4xOTA4cC00CisgIH0sCisgIHsgLy8gRW50cnkgOTcKKyAgICAtMHgxLjE4OTc1MWZmNTc4ZWZmYmU1ZWMwZjUzZmI4MTZjNzA1cC00LAorICAgIC0weDEuMTkwOHAtNAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLjFkY2UyNTAxMzhjM2Y5MjBlZmVhMDAxYjA2NDk3NWEzcC03LAorICAgIDB4MS4xZGQwcC03CisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAtMHgxLjFkY2UyNTAxMzhjM2Y5MjBlZmVhMDAxYjA2NDk3NWEzcC03LAorICAgIC0weDEuMWRkMHAtNworICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS4xZGRhMjRjNTYyNjIxYTA2NDBmZTBiODY2NDFjZDY0YnAtNywKKyAgICAweDEuMWRkY3AtNworICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIC0weDEuMWRkYTI0YzU2MjYyMWEwNjQwZmUwYjg2NjQxY2Q2NGJwLTcsCisgICAgLTB4MS4xZGRjcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTAyCisgICAgMHgxLjFmYTg2ZThmNjk1ZDMyYzRkOGQ4NzQ3NDQ4MTQ0NDRkcC02LAorICAgIDB4MS4xZmIwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTAzCisgICAgLTB4MS4xZmE4NmU4ZjY5NWQzMmM0ZDhkODc0NzQ0ODE0NDQ0ZHAtNiwKKyAgICAtMHgxLjFmYjBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEuYTAxNDAxMDAxMDQ1MDE5NTI4ZGIwN2ViZWVjMzVlZjlwLTEsCisgICAgMHgxLjIyODFhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgLTB4MS5hMDE0MDEwMDEwNDUwMTk1MjhkYjA3ZWJlZWMzNWVmOXAtMSwKKyAgICAtMHgxLjIyODFhYXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmFlZWEyNzAwNzVkOTFkYTJhYzE5MjhiNWQ3OTVhODY2cC0xLAorICAgIDB4MS4zYTBiNmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwNworICAgIC0weDEuYWVlYTI3MDA3NWQ5MWRhMmFjMTkyOGI1ZDc5NWE4NjZwLTEsCisgICAgLTB4MS4zYTBiNmNwMAorICB9LAorICB7IC8vIEVudHJ5IDEwOAorICAgIDB4MS41ODg0MDUwMDQ4OWE1NjA0MjkxMGQ4MmI0NDI1MTA3Y3AtMTAsCisgICAgMHgxLjU4ODQxMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAtMHgxLjU4ODQwNTAwNDg5YTU2MDQyOTEwZDgyYjQ0MjUxMDdjcC0xMCwKKyAgICAtMHgxLjU4ODQxMnAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmZmYzQ4YmVhNmVhN2JjYTllM2NjNzY2MzdiZmJmY2VwLTEsCisgICAgMHgxLjY1M2ZiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTExCisgICAgLTB4MS5mZmZjNDhiZWE2ZWE3YmNhOWUzY2M3NjYzN2JmYmZjZXAtMSwKKyAgICAtMHgxLjY1M2ZiY3AyCisgIH0sCisgIHsgLy8gRW50cnkgMTEyCisgICAgMHgxLmZmZmM0OGQ1ZGZlNGMzYzBlYmY1ZmM0ZTk2OTUwN2JhcC0xLAorICAgIDB4MS42NTQwODRwMgorICB9LAorICB7IC8vIEVudHJ5IDExMworICAgIC0weDEuZmZmYzQ4ZDVkZmU0YzNjMGViZjVmYzRlOTY5NTA3YmFwLTEsCisgICAgLTB4MS42NTQwODRwMgorICB9LAorICB7IC8vIEVudHJ5IDExNAorICAgIDB4MS5mZmZjNTkzM2I3MTZlYmY5M2I4NDZlZDJkMDYyOTI0MHAtMSwKKyAgICAweDEuNjVjZWI0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAtMHgxLmZmZmM1OTMzYjcxNmViZjkzYjg0NmVkMmQwNjI5MjQwcC0xLAorICAgIC0weDEuNjVjZWI0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuNmNjMzA3MDE0MmNhYjI1YThhMzU1NmM5ODEwZGExZThwLTUsCisgICAgMHgxLjZkMDBkMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDExNworICAgIC0weDEuNmNjMzA3MDE0MmNhYjI1YThhMzU1NmM5ODEwZGExZThwLTUsCisgICAgLTB4MS42ZDAwZDBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuNmNjMzA5MDAzZWVkMThhZWRmNDk5NDEzZmFkYjQ2MmZwLTUsCisgICAgMHgxLjZkMDBkMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIC0weDEuNmNjMzA5MDAzZWVkMThhZWRmNDk5NDEzZmFkYjQ2MmZwLTUsCisgICAgLTB4MS42ZDAwZDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuZmQzZjcyZmZlNDI3NzUzNjEwNDIzOTgwZDFkMDVmZWRwLTEsCisgICAgMHgxLjdhYTY0MnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIxCisgICAgLTB4MS5mZDNmNzJmZmU0Mjc3NTM2MTA0MjM5ODBkMWQwNWZlZHAtMSwKKyAgICAtMHgxLjdhYTY0MnAxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLjdjMmY2MGZmZmY0MjI0YjQxYjk4YWEyZTg3ZDQwZTkzcC0zLAorICAgIDB4MS44MGE1MTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAtMHgxLjdjMmY2MGZmZmY0MjI0YjQxYjk4YWEyZTg3ZDQwZTkzcC0zLAorICAgIC0weDEuODBhNTE2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTI0CisgICAgMHgxLmZmZmVjNjhmN2Q5Y2FlOGNiMjAyMmQyZjZlMWNiNDgzcC0xLAorICAgIDB4MS44OGM2NjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIC0weDEuZmZmZWM2OGY3ZDljYWU4Y2IyMDIyZDJmNmUxY2I0ODNwLTEsCisgICAgLTB4MS44OGM2NjBwMgorICB9LAorICB7IC8vIEVudHJ5IDEyNgorICAgIDB4MS44OTU5NDQ5Y2EzYWRmYTdkMzIyMzcwNDYwNDU1YTkwMnAtOSwKKyAgICAweDEuODk1OTkycC05CisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgLTB4MS44OTU5NDQ5Y2EzYWRmYTdkMzIyMzcwNDYwNDU1YTkwMnAtOSwKKyAgICAtMHgxLjg5NTk5MnAtOQorICB9LAorICB7IC8vIEVudHJ5IDEyOAorICAgIDB4MS5mZmZlY2M4NjY4M2Q4ZWY4YTFmYjJjYWZhZWExNTQ1ZnAtMSwKKyAgICAweDEuODk2M2M0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAtMHgxLmZmZmVjYzg2NjgzZDhlZjhhMWZiMmNhZmFlYTE1NDVmcC0xLAorICAgIC0weDEuODk2M2M0cDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEuNzliNjExMDAwMGJhZWZiZTM5OTlhNmRmZjRjNGFjZGJwLTIsCisgICAgMHgxLjhjNjQ0OHAtMgorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIC0weDEuNzliNjExMDAwMGJhZWZiZTM5OTlhNmRmZjRjNGFjZGJwLTIsCisgICAgLTB4MS44YzY0NDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAweDEuOTU1NmEyZjVkOTMzYTZhN2M3Y2Y3ODU2OGJiNzI0OWFwLTcsCisgICAgMHgxLjk1NWJlZXAtNworICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEuOTU1NmEyZjVkOTMzYTZhN2M3Y2Y3ODU2OGJiNzI0OWFwLTcsCisgICAgLTB4MS45NTViZWVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzQKKyAgICAweDEuYTY0NjA5MDFhZDJkM2E2MmNjYzg3MzE5NzgzZGRkZThwLTgsCisgICAgMHgxLmE2NDc4OHAtOAorICB9LAorICB7IC8vIEVudHJ5IDEzNQorICAgIC0weDEuYTY0NjA5MDFhZDJkM2E2MmNjYzg3MzE5NzgzZGRkZThwLTgsCisgICAgLTB4MS5hNjQ3ODhwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzYKKyAgICAweDEuNjJmYWY1MDAxYzAzYmY0YjY0ZmU5MTI1YjNlY2JkNzJwLTEsCisgICAgMHgxLmI1NjljMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDEzNworICAgIC0weDEuNjJmYWY1MDAxYzAzYmY0YjY0ZmU5MTI1YjNlY2JkNzJwLTEsCisgICAgLTB4MS5iNTY5YzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAweDEuZmZmZmIyZjQwYzFhMzQ1NmIyOTMxZjE4Mzc4OTcyN2RwLTEsCisgICAgMHgxLmI1YWQ2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5mZmZmYjJmNDBjMWEzNDU2YjI5MzFmMTgzNzg5NzI3ZHAtMSwKKyAgICAtMHgxLmI1YWQ2MHAyCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgMHgxLmI4NTVhOGM4MzEzYzRjZDEzZTBmMDBiODg0ODU3Y2EzcC03LAorICAgIDB4MS5iODVjNzJwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLmI4NTVhOGM4MzEzYzRjZDEzZTBmMDBiODg0ODU3Y2EzcC03LAorICAgIC0weDEuYjg1YzcycC03CisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgMHgxLmFmMDc5MzAwMDAzNTY1NWJiZTc3OWQ4OTdjOWY1ZDRlcC0yLAorICAgIDB4MS5jYjk3MTRwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDMKKyAgICAtMHgxLmFmMDc5MzAwMDAzNTY1NWJiZTc3OWQ4OTdjOWY1ZDRlcC0yLAorICAgIC0weDEuY2I5NzE0cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgMHgxLmNmODEyMTA0MDIyMzEzNjc3MTIzZTI2MjVjNmNiMDBicC01LAorICAgIDB4MS5jZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLmNmODEyMTA0MDIyMzEzNjc3MTIzZTI2MjVjNmNiMDBicC01LAorICAgIC0weDEuY2ZmZmZlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgMHgxLmQ1MTMyYjAwZTQ0YjNjOTUxYzNkMjUwMDAxMTBhNjU2cC00LAorICAgIDB4MS5kNzI0NGNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLmQ1MTMyYjAwZTQ0YjNjOTUxYzNkMjUwMDAxMTBhNjU2cC00LAorICAgIC0weDEuZDcyNDRjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTQ4CisgICAgMHgxLmJjNzk3Y2ZmZmZmZjZkYjczNTlkMWM1OTU5MzBiYzYzcC0yLAorICAgIDB4MS5kYzBhY2NwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDkKKyAgICAtMHgxLmJjNzk3Y2ZmZmZmZjZkYjczNTlkMWM1OTU5MzBiYzYzcC0yLAorICAgIC0weDEuZGMwYWNjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTUwCisgICAgMHgxLmRkNTU2NTAxYzg0NzZiODgyNmIwZDQ5OTVhM2UwMDU0cC03LAorICAgIDB4MS5kZDVlMGFwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTEKKyAgICAtMHgxLmRkNTU2NTAxYzg0NzZiODgyNmIwZDQ5OTVhM2UwMDU0cC03LAorICAgIC0weDEuZGQ1ZTBhcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgMHgxLmRmZTg2NTAxY2EzNjNjMmYxZGEzNTZkMDYzMmZlNmM4cC03LAorICAgIDB4MS5kZmYxMmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmRmZTg2NTAxY2EzNjNjMmYxZGEzNTZkMDYzMmZlNmM4cC03LAorICAgIC0weDEuZGZmMTJlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgMHgxLmQ5ZDcwMDAwMDA5MzBmYzg4ZWY0N2M2ZTFhZGE5YTJlcC0zLAorICAgIDB4MS5lMjkzYzZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLmQ5ZDcwMDAwMDA5MzBmYzg4ZWY0N2M2ZTFhZGE5YTJlcC0zLAorICAgIC0weDEuZTI5M2M2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTU2CisgICAgMHgxLmUzODcxYjA0MDYzNjFjNzdmZjMyNjJkZjA5ZThjNzM3cC0xMSwKKyAgICAweDEuZTM4NzI0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEuZTM4NzFiMDQwNjM2MWM3N2ZmMzI2MmRmMDllOGM3MzdwLTExLAorICAgIC0weDEuZTM4NzI0cC0xMQorICB9LAorICB7IC8vIEVudHJ5IDE1OAorICAgIDB4MS5lN2Y2YzFkMzIzZDk5ODU0NTc1MDBjZjcyMTAwNjk0N3AtNywKKyAgICAweDEuZTdmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTU5CisgICAgLTB4MS5lN2Y2YzFkMzIzZDk5ODU0NTc1MDBjZjcyMTAwNjk0N3AtNywKKyAgICAtMHgxLmU3ZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIDB4MS43YzU0ZWNmZmZhMTg1OTAzOGNhMTc5NjljOTdmZTVkZXAtMSwKKyAgICAweDEuZTlkZTkycC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS43YzU0ZWNmZmZhMTg1OTAzOGNhMTc5NjljOTdmZTVkZXAtMSwKKyAgICAtMHgxLmU5ZGU5MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDE2MgorICAgIDB4MS5mMzRlODZmZmY4NTgwMjY3MzgxOTY0MDlhMTFhOWQ3N3AtNCwKKyAgICAweDEuZjVjZDYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTYzCisgICAgLTB4MS5mMzRlODZmZmY4NTgwMjY3MzgxOTY0MDlhMTFhOWQ3N3AtNCwKKyAgICAtMHgxLmY1Y2Q2MHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE2NAorICAgIDB4MS5mNjUwY2QwMWRkMWRkM2I3NGQ0MTcwYjU4MTYyZDYwNHAtNywKKyAgICAweDEuZjY1YWUwcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTY1CisgICAgLTB4MS5mNjUwY2QwMWRkMWRkM2I3NGQ0MTcwYjU4MTYyZDYwNHAtNywKKyAgICAtMHgxLmY2NWFlMHAtNworICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIDB4MS5mN2Y1ZDE5NzM2NjUxNjU3YmI0YTkwOGJiNmNlNmYzY3AtNywKKyAgICAweDEuZjdmZmZlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5mN2Y1ZDE5NzM2NjUxNjU3YmI0YTkwOGJiNmNlNmYzY3AtNywKKyAgICAtMHgxLmY3ZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE2OAorICAgIDB4MS5mOTM2YjMwMWU3NWU1NTk2YWQ1YjQzZGViNDA2MWMyY3AtMTAsCisgICAgMHgxLmY5MzZkY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjkKKyAgICAtMHgxLmY5MzZiMzAxZTc1ZTU1OTZhZDViNDNkZWI0MDYxYzJjcC0xMCwKKyAgICAtMHgxLmY5MzZkY3AtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzAKKyAgICAweDEuZmI1YzI0N2I5NzM2MTI1NWM0MWY3NjVkNGNiYWIyOGVwLTEwLAorICAgIDB4MS5mYjVjNGVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTcxCisgICAgLTB4MS5mYjVjMjQ3Yjk3MzYxMjU1YzQxZjc2NWQ0Y2JhYjI4ZXAtMTAsCisgICAgLTB4MS5mYjVjNGVwLTEwCisgIH0sCisgIHsgLy8gRW50cnkgMTcyCisgICAgMHgxLmZiNjBlZTdhNmEzYWY3OWY1Y2U1N2ZkNjEyZDY1YTIycC0xMCwKKyAgICAweDEuZmI2MTE4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE3MworICAgIC0weDEuZmI2MGVlN2E2YTNhZjc5ZjVjZTU3ZmQ2MTJkNjVhMjJwLTEwLAorICAgIC0weDEuZmI2MTE4cC0xMAorICB9LAorICB7IC8vIEVudHJ5IDE3NAorICAgIDB4MS5mYjYxNTA3YTUyMmJhOTU3M2U4MjA5OGMwNzkyYmEyNXAtMTAsCisgICAgMHgxLmZiNjE3YXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzUKKyAgICAtMHgxLmZiNjE1MDdhNTIyYmE5NTczZTgyMDk4YzA3OTJiYTI1cC0xMCwKKyAgICAtMHgxLmZiNjE3YXAtMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzYKKyAgICAweDEuZmI4OTY3MDFkZjM0NTBlZTRiYzk3MGYyOGZiNzU0NDVwLTgsCisgICAgMHgxLmZiOGNwLTgKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzcKKyAgICAtMHgxLmZiODk2NzAxZGYzNDUwZWU0YmM5NzBmMjhmYjc1NDQ1cC04LAorICAgIC0weDEuZmI4Y3AtOAorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS5mYzNjMWJmZmZmYzlmMmJmZmJkNDM0NzE1NDg4MDZmY3AtNCwKKyAgICAweDEuZmVkZTEwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMTc5CisgICAgLTB4MS5mYzNjMWJmZmZmYzlmMmJmZmJkNDM0NzE1NDg4MDZmY3AtNCwKKyAgICAtMHgxLmZlZGUxMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZWQ1OTc2ZjExNTkzZjVkN2U0YjM4MzZkYTgwMjMxN3AtNiwKKyAgICAweDEuZmVmZmZlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMTgxCisgICAgLTB4MS5mZWQ1OTc2ZjExNTkzZjVkN2U0YjM4MzZkYTgwMjMxN3AtNiwKKyAgICAtMHgxLmZlZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5mZjFkNTZkODEwNzdhZjAwNzQyNWRkYTMyZDFmMDAzMXAtOCwKKyAgICAweDEuZmYxZmZlcC04CisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgLTB4MS5mZjFkNTZkODEwNzdhZjAwNzQyNWRkYTMyZDFmMDAzMXAtOCwKKyAgICAtMHgxLmZmMWZmZXAtOAorICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS5mZmYxZDNkMWI1MjY4YmZmYjBhMjFhYzc4NDExMzcwYnAtNywKKyAgICAweDEuZmZmYzdlcC03CisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgLTB4MS5mZmYxZDNkMWI1MjY4YmZmYjBhMjFhYzc4NDExMzcwYnAtNywKKyAgICAtMHgxLmZmZmM3ZXAtNworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5mZDU4MGNkYmViZWM2ZjYwZTMzNjVkMTdlZDYwNDE0YXAtNCwKKyAgICAweDEuZmZmZTc0cC00CisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgLTB4MS5mZDU4MGNkYmViZWM2ZjYwZTMzNjVkMTdlZDYwNDE0YXAtNCwKKyAgICAtMHgxLmZmZmU3NHAtNAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS5mNTk2YjdmN2I0YzEzYzE1NWMzZWZkOTNmNWRmZTZkMnAtMywKKyAgICAweDEuZmZmZWJhcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTg5CisgICAgLTB4MS5mNTk2YjdmN2I0YzEzYzE1NWMzZWZkOTNmNWRmZTZkMnAtMywKKyAgICAtMHgxLmZmZmViYXAtMworICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIDB4MS5mNTk3MzQwY2I3Y2RlOWFiODM0OWFlZDE3YmYyMzRkMHAtMywKKyAgICAweDEuZmZmZjNlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS5mNTk3MzQwY2I3Y2RlOWFiODM0OWFlZDE3YmYyMzRkMHAtMywKKyAgICAtMHgxLmZmZmYzZXAtMworICB9LAorICB7IC8vIEVudHJ5IDE5MgorICAgIDB4MS5mZjU1MTdmZmFjNzJmMjc2YmFmODY3MDJlZmQ3ZjBlNHAtNSwKKyAgICAweDEuZmZmZjdlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMTkzCisgICAgLTB4MS5mZjU1MTdmZmFjNzJmMjc2YmFmODY3MDJlZmQ3ZjBlNHAtNSwKKyAgICAtMHgxLmZmZmY3ZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIDB4MS44NWVmODJmZmZmNjAwMTAxODQ3ZTRiMGY5ZTQ0NTM1NnAtMSwKKyAgICAweDEuZmZmZmEwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS44NWVmODJmZmZmNjAwMTAxODQ3ZTRiMGY5ZTQ0NTM1NnAtMSwKKyAgICAtMHgxLmZmZmZhMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIDB4MS5kOTM1MjEyNTgxM2JkZTNhYTllYTUwNWIyODA5ZmNhM3AtMiwKKyAgICAweDEuZmZmZmRjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5kOTM1MjEyNTgxM2JkZTNhYTllYTUwNWIyODA5ZmNhM3AtMiwKKyAgICAtMHgxLmZmZmZkY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIDB4MS5mZmE4MTcwMDYzOTFhZWI1NzA3ZGFjNzIxMmNmNzNkNXAtMSwKKyAgICAweDEuZmZmZmZhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTkKKyAgICAtMHgxLmZmYTgxNzAwNjM5MWFlYjU3MDdkYWM3MjEyY2Y3M2Q1cC0xLAorICAgIC0weDEuZmZmZmZhcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAweDEuYTg2YzE3MDAwMGJlOGU3ZjRkMDRhMDYzZGEyNDg2MGVwLTMsCisgICAgMHgxLmFlYThlMnAtMworICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuYTg2YzE3MDAwMGJlOGU3ZjRkMDRhMDYzZGEyNDg2MGVwLTMsCisgICAgLTB4MS5hZWE4ZTJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDIKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgMHgxLjFhNWVlZmUwZGE2ZGE0NmVhNmYxNzE0MjU4MTBlNGRmcC01LAorICAgIDB4MS4xYTdiOTZwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLjFhNWVlZmUwZGE2ZGE0NmVhNmYxNzE0MjU4MTBlNGRmcC01LAorICAgIC0weDEuMWE3Yjk2cC01CisgIH0sCisgIHsgLy8gRW50cnkgMjA1CisgICAgMHgxLjFhMDkyNzRhYzZmN2I2ZDRiNzI3NjkwYmU3NGViMGRkcC00LAorICAgIDB4MS4xYTdiOTZwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAtMHgxLjFhMDkyNzRhYzZmN2I2ZDRiNzI3NjkwYmU3NGViMGRkcC00LAorICAgIC0weDEuMWE3Yjk2cC00CisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgMHgxLmE2MzgxNDc5ZTEwZTMyMjU2OGM2OTNlYzRmMjc5OTg5cC00LAorICAgIDB4MS5hN2I5NjBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDgKKyAgICAtMHgxLmE2MzgxNDc5ZTEwZTMyMjU2OGM2OTNlYzRmMjc5OTg5cC00LAorICAgIC0weDEuYTdiOTYwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLjE4YjQ3MmQ2ZmJlN2RlZTQ0OTllYzE2MDU2ZmVhMDU1cC0zLAorICAgIDB4MS4xYTdiOTZwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAtMHgxLjE4YjQ3MmQ2ZmJlN2RlZTQ0OTllYzE2MDU2ZmVhMDU1cC0zLAorICAgIC0weDEuMWE3Yjk2cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjExCisgICAgMHgxLjVkYTU0ZGM3N2YwNTQ0MDcwNWVkOWQ1YmUzZjllOWQ4cC0zLAorICAgIDB4MS42MTFhN2NwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLjVkYTU0ZGM3N2YwNTQ0MDcwNWVkOWQ1YmUzZjllOWQ4cC0zLAorICAgIC0weDEuNjExYTdjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjEzCisgICAgMHgxLmExYzdhN2VlMjU0ZWIwYjc5NjEyZDEyMDEwMmNlOWNkcC0zLAorICAgIDB4MS5hN2I5NjJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmExYzdhN2VlMjU0ZWIwYjc5NjEyZDEyMDEwMmNlOWNkcC0zLAorICAgIC0weDEuYTdiOTYycC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE1CisgICAgMHgxLmU0ZjY2ZGU2Mzg1NjBlMjJkMzcyNmE3N2RhOGYxNjBmcC0zLAorICAgIDB4MS5lZTU4NDhwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAtMHgxLmU0ZjY2ZGU2Mzg1NjBlMjJkMzcyNmE3N2RhOGYxNjBmcC0zLAorICAgIC0weDEuZWU1ODQ4cC0zCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLjEzODc1YWEzNmUyZDg5MjA2MjZkYmQ0MTJmZmYwYTE5cC0yLAorICAgIDB4MS4xYTdiOTZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTgKKyAgICAtMHgxLjEzODc1YWEzNmUyZDg5MjA2MjZkYmQ0MTJmZmYwYTE5cC0yLAorICAgIC0weDEuMWE3Yjk2cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjE5CisgICAgMHgxLjMzZjgwMTk1ODVmM2NjNTAyZTkxZWVjZjUwZTcwZTFlcC0yLAorICAgIDB4MS4zZGNiMDhwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAtMHgxLjMzZjgwMTk1ODVmM2NjNTAyZTkxZWVjZjUwZTcwZTFlcC0yLAorICAgIC0weDEuM2RjYjA4cC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLjUzYmUzZTJjZDk4YjAyMTk2N2I5YmQzMWU1OGI1MTc2cC0yLAorICAgIDB4MS42MTFhN2FwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjIKKyAgICAtMHgxLjUzYmUzZTJjZDk4YjAyMTk2N2I5YmQzMWU1OGI1MTc2cC0yLAorICAgIC0weDEuNjExYTdhcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjIzCisgICAgMHgxLjcyY2M4OGMxNDY1NzI0NDVkYWZjYmU3NTVkNDFiY2FicC0yLAorICAgIDB4MS44NDY5ZWNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAtMHgxLjcyY2M4OGMxNDY1NzI0NDVkYWZjYmU3NTVkNDFiY2FicC0yLAorICAgIC0weDEuODQ2OWVjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI1CisgICAgMHgxLjkxMTZjZWVjNzdhOWYyOThhYmY2YjEzNDM3NzQ2Yjk3cC0yLAorICAgIDB4MS5hN2I5NWVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjYKKyAgICAtMHgxLjkxMTZjZWVjNzdhOWYyOThhYmY2YjEzNDM3NzQ2Yjk3cC0yLAorICAgIC0weDEuYTdiOTVlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLmFlOTI3ZDBiNzQxOThiOTg4Y2NmNzAwYTk4MzY5NzE3cC0yLAorICAgIDB4MS5jYjA4ZDBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjgKKyAgICAtMHgxLmFlOTI3ZDBiNzQxOThiOTg4Y2NmNzAwYTk4MzY5NzE3cC0yLAorICAgIC0weDEuY2IwOGQwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLmNiMzY4MjI3OWRjOTc4NTY1YWVmYzNkYmQyNjRkYzZicC0yLAorICAgIDB4MS5lZTU4NDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAtMHgxLmNiMzY4MjI3OWRjOTc4NTY1YWVmYzNkYmQyNjRkYzZicC0yLAorICAgIC0weDEuZWU1ODQycC0yCisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLmU2ZmI0ZTk5NjJlMTkyYTBkNWJkZTUyZDU4MGQ5MXAtMiwKKyAgICAweDEuMDhkM2RhcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjMyCisgICAgLTB4MS5lNmZiNGU5OTYyZTE5MmEwZDViZGU1MmQ1ODBkOTFwLTIsCisgICAgLTB4MS4wOGQzZGFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuMDBlZDY3YTdjYTY0NDE0N2Y3Zjg0ZjFmM2Y2OGViNGVwLTEsCisgICAgMHgxLjFhN2I5NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNAorICAgIC0weDEuMDBlZDY3YTdjYTY0NDE0N2Y3Zjg0ZjFmM2Y2OGViNGVwLTEsCisgICAgLTB4MS4xYTdiOTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzUKKyAgICAweDEuMGRlODJmNTI5MzMzYTIyM2ZmNTg3NzQ3ZDE0ODY1M2NwLTEsCisgICAgMHgxLjJjMjM0ZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIC0weDEuMGRlODJmNTI5MzMzYTIyM2ZmNTg3NzQ3ZDE0ODY1M2NwLTEsCisgICAgLTB4MS4yYzIzNGVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzcKKyAgICAweDEuMWE2YzVkNWEyOTEyMGU5NTJiMTAzOGU1MTdhODZhN2FwLTEsCisgICAgMHgxLjNkY2IwOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDIzOAorICAgIC0weDEuMWE2YzVkNWEyOTEyMGU5NTJiMTAzOGU1MTdhODZhN2FwLTEsCisgICAgLTB4MS4zZGNiMDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuMjY3OGY5MTQwNTRkOGYyOTM5MmI2ZTQzZGFhMmZlODJwLTEsCisgICAgMHgxLjRmNzJjMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MAorICAgIC0weDEuMjY3OGY5MTQwNTRkOGYyOTM5MmI2ZTQzZGFhMmZlODJwLTEsCisgICAgLTB4MS40ZjcyYzJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEuMzIwZGE4MDRhNjZiNWFlYTBlMjU3MmZlMzk3OGVhYzhwLTEsCisgICAgMHgxLjYxMWE3Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIC0weDEuMzIwZGE4MDRhNjZiNWFlYTBlMjU3MmZlMzk3OGVhYzhwLTEsCisgICAgLTB4MS42MTFhN2NwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDMKKyAgICAweDEuM2QyYWEyYzM3NGMxNGUwYjY4YjY5ZTFmMmFhZDhkYWVwLTEsCisgICAgMHgxLjcyYzIzNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIC0weDEuM2QyYWEyYzM3NGMxNGUwYjY4YjY5ZTFmMmFhZDhkYWVwLTEsCisgICAgLTB4MS43MmMyMzZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEuNDdkMGE5MjRkMTRlMzRkYjBlYzQ3NjFiMGRmNzY0NmRwLTEsCisgICAgMHgxLjg0NjlmMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIC0weDEuNDdkMGE5MjRkMTRlMzRkYjBlYzQ3NjFiMGRmNzY0NmRwLTEsCisgICAgLTB4MS44NDY5ZjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEuNTIwMGY1ZWViNzQyNzVmYTc5NjU3NzA4ZDViMDc4YjZwLTEsCisgICAgMHgxLjk2MTFhYXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIC0weDEuNTIwMGY1ZWViNzQyNzVmYTc5NjU3NzA4ZDViMDc4YjZwLTEsCisgICAgLTB4MS45NjExYWFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEuNWJiZDMyNTY5MDEzZjEzZjg2ZDhhMGYxZWY2MDRjMWRwLTEsCisgICAgMHgxLmE3Yjk2NHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIC0weDEuNWJiZDMyNTY5MDEzZjEzZjg2ZDhhMGYxZWY2MDRjMWRwLTEsCisgICAgLTB4MS5hN2I5NjRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTEKKyAgICAweDEuNjUwNzY5ODAzMDM0ZTdkNzlmZmFhNDRiMGNjMzk0MzdwLTEsCisgICAgMHgxLmI5NjExZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIC0weDEuNjUwNzY5ODAzMDM0ZTdkNzlmZmFhNDRiMGNjMzk0MzdwLTEsCisgICAgLTB4MS5iOTYxMWVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTMKKyAgICAweDEuNmRlMWZjMmVjMWM2NzIyZjlkZTA0NWJiMWE5NGI5MTlwLTEsCisgICAgMHgxLmNiMDhkOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NAorICAgIC0weDEuNmRlMWZjMmVjMWM2NzIyZjlkZTA0NWJiMWE5NGI5MTlwLTEsCisgICAgLTB4MS5jYjA4ZDhwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEuNzY0Zjk0ZDBmYjI4NjYxMjlmNzcwZjMwOGZhMGJhODVwLTEsCisgICAgMHgxLmRjYjA5MnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI1NgorICAgIC0weDEuNzY0Zjk0ZDBmYjI4NjYxMjlmNzcwZjMwOGZhMGJhODVwLTEsCisgICAgLTB4MS5kY2IwOTJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEuN2U1MzFjMGFhNTk0YzI3NWRmMzBjNWI4NDUxYmJhNTNwLTEsCisgICAgMHgxLmVlNTg0Y3AtMQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIC0weDEuN2U1MzFjMGFhNTk0YzI3NWRmMzBjNWI4NDUxYmJhNTNwLTEsCisgICAgLTB4MS5lZTU4NGNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEuODVlZmFiNTE0ZjM5NDU1ODYzMmJlMjkzYzQyNzRmZTZwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgLTB4MS44NWVmYWI1MTRmMzk0NTU4NjMyYmUyOTNjNDI3NGZlNnAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjYyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLnAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjBkNzk0NHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMGQ3OTQ0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuMWFmMjg4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS4xYWYyODhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4yODZiY2NwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjY4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjI4NmJjY3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjM1ZTUxMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMzVlNTEwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNDM1ZTU0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3MgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS40MzVlNTRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS41MGQ3OThwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjUwZDc5OHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjVlNTBkY3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNWU1MGRjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNmJjYTIwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42YmNhMjBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjc5CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS43OTQzNjRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjc5NDM2NHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjg2YmNhOHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODIKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuODZiY2E4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuOTQzNWVjcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS45NDM1ZWNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5hMWFmMzBwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjg2CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmExYWYzMHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmFmMjg3NHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuYWYyODc0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuYmNhMWI4cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI5MAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5iY2ExYjhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkxCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5jYTFhZmNwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmNhMWFmY3AxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLmQ3OTQ0MHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZDc5NDQwcDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZTUwZDg0cDEwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5lNTBkODRwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mMjg2YzhwMTAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmYyODZjOHAxMDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLnAxMDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDAKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucDEwMQorICB9LAorICB7IC8vIEVudHJ5IDMwMQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwMworICAgIDAuMCwKKyAgICAwLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAwLjBmLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0wLjBmLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDYKKyAgICAweDEuZDkzNTNiZTJiZjY3ZGYxMzFmN2RmMGUzMzdhZjRjYTlwLTIsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0weDEuZDkzNTNiZTJiZjY3ZGYxMzFmN2RmMGUzMzdhZjRjYTlwLTIsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAweDEuZDkzNTNkNzU2OGFmMzY1MTI4ZWUyMWM2NWIwOGQzYTdwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwOQorICAgIC0weDEuZDkzNTNkNzU2OGFmMzY1MTI4ZWUyMWM2NWIwOGQzYTdwLTIsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAweDEuZDkzNTQwOWFiYjNiYjY5MjVhMjFlYzFhYjQ5NDUyMTFwLTIsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0weDEuZDkzNTQwOWFiYjNiYjY5MjVhMjFlYzFhYjQ5NDUyMTFwLTIsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTIKKyAgICAweDEuZmZmZmZhN2ZjN2IxZjZiYzJlMmNkZGUxNTQwZjA0NzBwLTIsCisgICAgMHgxLjE5M2VhNHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0weDEuZmZmZmZhN2ZjN2IxZjZiYzJlMmNkZGUxNTQwZjA0NzBwLTIsCisgICAgLTB4MS4xOTNlYTRwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAweDEuZmZmZmZkN2ZjN2I1ZjZmNDc1YzU5NGY0NWFkYzliZTVwLTIsCisgICAgMHgxLjE5M2VhNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNQorICAgIC0weDEuZmZmZmZkN2ZjN2I1ZjZmNDc1YzU5NGY0NWFkYzliZTVwLTIsCisgICAgLTB4MS4xOTNlYTZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTYKKyAgICAweDEuMDAwMDAwM2ZlM2RiN2I5NjVmNGYzNDE5MmI4MThiNjRwLTEsCisgICAgMHgxLjE5M2VhOHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEuMDAwMDAwM2ZlM2RiN2I5NjVmNGYzNDE5MmI4MThiNjRwLTEsCisgICAgLTB4MS4xOTNlYThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTQyMmUxOTA1ZTFmNTA4ZWVwLTEsCisgICAgMHgxLjVmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZhNDIyZTE5MDVlMWY1MDhlZXAtMSwKKyAgICAtMHgxLjVmZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmE0MjJmODg3YTJkYzUwNTBjcC0xLAorICAgIDB4MS42MHA0CisgIH0sCisgIHsgLy8gRW50cnkgMzIxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZhNDIyZjg4N2EyZGM1MDUwY3AtMSwKKyAgICAtMHgxLjYwcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmYTQyMzBmN2VlMWRiN2Y5YjNwLTEsCisgICAgMHgxLjYwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzIzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZhNDIzMGY3ZWUxZGI3ZjliM3AtMSwKKyAgICAtMHgxLjYwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgLTB4MS4zMzMzMzMzZGFiYzMzYjE5YWQyYzAwOGEzZjdkNDE0NHAtMSwKKyAgICAtMHgxLjYyZTQzMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIDB4MS4zMzMzMzMzZGFiYzMzYjE5YWQyYzAwOGEzZjdkNDE0NHAtMSwKKyAgICAweDEuNjJlNDMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI2CisgICAgLTB4MS4zMzMzMzFmNWZkYWUwODJkNmM2OTMwMmFmNzBmMWFiMnAtMSwKKyAgICAtMHgxLjYyZTQyZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS4zMzMzMzFmNWZkYWUwODJkNmM2OTMwMmFmNzBmMWFiMnAtMSwKKyAgICAweDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzI4CisgICAgLTB4MS4zMzMzMzBhZTRmOTc0YzA5ZGZhY2Y2ZmQzMWE2YTIyYXAtMSwKKyAgICAtMHgxLjYyZTQyY3AtMQorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIDB4MS4zMzMzMzBhZTRmOTc0YzA5ZGZhY2Y2ZmQzMWE2YTIyYXAtMSwKKyAgICAweDEuNjJlNDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzMwCisgICAgLTB4MS41NTU1NTU2M2UwNTY0NDEwMWE3NTRmMWI5ODliZjVlMHAtMiwKKyAgICAtMHgxLjYyZTQzMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzMQorICAgIDB4MS41NTU1NTU2M2UwNTY0NDEwMWE3NTRmMWI5ODliZjVlMHAtMiwKKyAgICAweDEuNjJlNDMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzMyCisgICAgLTB4MS41NTU1NTM5Y2MzZTQzNWYyOTYxZTM4MjQwYmM3M2FhNHAtMiwKKyAgICAtMHgxLjYyZTQyZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDMzMworICAgIDB4MS41NTU1NTM5Y2MzZTQzNWYyOTYxZTM4MjQwYmM3M2FhNHAtMiwKKyAgICAweDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM0CisgICAgLTB4MS41NTU1NTFkNWE3NzE5MDIwZWM2Y2YyZDc2NThkMGFjOHAtMiwKKyAgICAtMHgxLjYyZTQyY3AtMgorICB9LAorICB7IC8vIEVudHJ5IDMzNQorICAgIDB4MS41NTU1NTFkNWE3NzE5MDIwZWM2Y2YyZDc2NThkMGFjOHAtMiwKKyAgICAweDEuNjJlNDJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzM2CisgICAgLTB4MS41ZjYxOTk5MGE1NDkyMDUyZmZlNTc0OTdhOWFiZDI5OHAtMywKKyAgICAtMHgxLjYyZTQzMHAtMworICB9LAorICB7IC8vIEVudHJ5IDMzNworICAgIDB4MS41ZjYxOTk5MGE1NDkyMDUyZmZlNTc0OTdhOWFiZDI5OHAtMywKKyAgICAweDEuNjJlNDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzM4CisgICAgLTB4MS41ZjYxOTc5ZmI3YWY0ZDg1NmRlZjk4ZWRlODUyMDU5NnAtMywKKyAgICAtMHgxLjYyZTQyZXAtMworICB9LAorICB7IC8vIEVudHJ5IDMzOQorICAgIDB4MS41ZjYxOTc5ZmI3YWY0ZDg1NmRlZjk4ZWRlODUyMDU5NnAtMywKKyAgICAweDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQwCisgICAgLTB4MS41ZjYxOTVhZWNhMTU1MDE2YTg5M2QxNDA4OGZkNGJhNXAtMywKKyAgICAtMHgxLjYyZTQyY3AtMworICB9LAorICB7IC8vIEVudHJ5IDM0MQorICAgIDB4MS41ZjYxOTVhZWNhMTU1MDE2YTg5M2QxNDA4OGZkNGJhNXAtMywKKyAgICAweDEuNjJlNDJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzQyCisgICAgLTB4MS42MjAxODVmNTlmMmJlYWVmZTVmMWZmNTMyYzYxODVlOXAtNCwKKyAgICAtMHgxLjYyZTQzMHAtNAorICB9LAorICB7IC8vIEVudHJ5IDM0MworICAgIDB4MS42MjAxODVmNTlmMmJlYWVmZTVmMWZmNTMyYzYxODVlOXAtNCwKKyAgICAweDEuNjJlNDMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ0CisgICAgLTB4MS42MjAxODNmOTcyM2M1MjZkYjAxNTgxYjAzMjg5ZTBmOHAtNCwKKyAgICAtMHgxLjYyZTQyZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDM0NQorICAgIDB4MS42MjAxODNmOTcyM2M1MjZkYjAxNTgxYjAzMjg5ZTBmOHAtNCwKKyAgICAweDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ2CisgICAgLTB4MS42MjAxODFmZDQ1NGNhZWYwOTVhMzA1YmM0YmZhNWY4Y3AtNCwKKyAgICAtMHgxLjYyZTQyY3AtNAorICB9LAorICB7IC8vIEVudHJ5IDM0NworICAgIDB4MS42MjAxODFmZDQ1NGNhZWYwOTVhMzA1YmM0YmZhNWY4Y3AtNCwKKyAgICAweDEuNjJlNDJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzQ4CisgICAgLTB4MS42MmFiNjRkODZhYjFjNDFkNDMyNTk4ZjFhNzAxNmMxNnAtNSwKKyAgICAtMHgxLjYyZTQzMHAtNQorICB9LAorICB7IC8vIEVudHJ5IDM0OQorICAgIDB4MS42MmFiNjRkODZhYjFjNDFkNDMyNTk4ZjFhNzAxNmMxNnAtNSwKKyAgICAweDEuNjJlNDMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzUwCisgICAgLTB4MS42MmFiNjJkOTYwNjBmZDhlNzVlN2NiMTZjM2NkMGY3YnAtNSwKKyAgICAtMHgxLjYyZTQyZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDM1MQorICAgIDB4MS42MmFiNjJkOTYwNjBmZDhlNzVlN2NiMTZjM2NkMGY3YnAtNSwKKyAgICAweDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzUyCisgICAgLTB4MS42MmFiNjBkYTU2MTAzNDNiYTY0NTEwZTg0NGM4N2VkNHAtNSwKKyAgICAtMHgxLjYyZTQyY3AtNQorICB9LAorICB7IC8vIEVudHJ5IDM1MworICAgIDB4MS42MmFiNjBkYTU2MTAzNDNiYTY0NTEwZTg0NGM4N2VkNHAtNSwKKyAgICAweDEuNjJlNDJjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzU0CisgICAgLTB4MS42MmQ1ZmIyYTRlMDc0NmIyNjRiYmQzZTQ1MWM0NjVkNHAtNiwKKyAgICAtMHgxLjYyZTQzMHAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1NQorICAgIDB4MS42MmQ1ZmIyYTRlMDc0NmIyNjRiYmQzZTQ1MWM0NjVkNHAtNiwKKyAgICAweDEuNjJlNDMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzU2CisgICAgLTB4MS42MmQ1ZjkyYThiODFkNjA5NTczN2NlMWE5NDlhYzRiZXAtNiwKKyAgICAtMHgxLjYyZTQyZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDM1NworICAgIDB4MS42MmQ1ZjkyYThiODFkNjA5NTczN2NlMWE5NDlhYzRiZXAtNiwKKyAgICAweDEuNjJlNDJlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzU4CisgICAgLTB4MS42MmQ1ZjcyYWM4ZmM2NGFlZjQwNGVhMmRkN2RiNTdhNnAtNiwKKyAgICAtMHgxLjYyZTQyY3AtNgorICB9LAorICB7IC8vIEVudHJ5IDM1OQorICAgIDB4MS42MmQ1ZjcyYWM4ZmM2NGFlZjQwNGVhMmRkN2RiNTdhNnAtNiwKKyAgICAweDEuNjJlNDJjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzYwCisgICAgMHgxLjYyZDVmNzJhYzhmYzY0YWVmNDA0ZWEyZGQ3ZGI1N2E2cC02LAorICAgIDB4MS42MmU0MmNwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjEKKyAgICAtMHgxLjYyZDVmNzJhYzhmYzY0YWVmNDA0ZWEyZGQ3ZGI1N2E2cC02LAorICAgIC0weDEuNjJlNDJjcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzYyCisgICAgMHgxLjYyZDVmOTJhOGI4MWQ2MDk1NzM3Y2UxYTk0OWFjNGJlcC02LAorICAgIDB4MS42MmU0MmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjMKKyAgICAtMHgxLjYyZDVmOTJhOGI4MWQ2MDk1NzM3Y2UxYTk0OWFjNGJlcC02LAorICAgIC0weDEuNjJlNDJlcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzY0CisgICAgMHgxLjYyZDVmYjJhNGUwNzQ2YjI2NGJiZDNlNDUxYzQ2NWQ0cC02LAorICAgIDB4MS42MmU0MzBwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjUKKyAgICAtMHgxLjYyZDVmYjJhNGUwNzQ2YjI2NGJiZDNlNDUxYzQ2NWQ0cC02LAorICAgIC0weDEuNjJlNDMwcC02CisgIH0sCisgIHsgLy8gRW50cnkgMzY2CisgICAgMHgxLjYyYWI2MGRhNTYxMDM0M2JhNjQ1MTBlODQ0Yzg3ZWQ0cC01LAorICAgIDB4MS42MmU0MmNwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjcKKyAgICAtMHgxLjYyYWI2MGRhNTYxMDM0M2JhNjQ1MTBlODQ0Yzg3ZWQ0cC01LAorICAgIC0weDEuNjJlNDJjcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzY4CisgICAgMHgxLjYyYWI2MmQ5NjA2MGZkOGU3NWU3Y2IxNmMzY2QwZjdicC01LAorICAgIDB4MS42MmU0MmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNjkKKyAgICAtMHgxLjYyYWI2MmQ5NjA2MGZkOGU3NWU3Y2IxNmMzY2QwZjdicC01LAorICAgIC0weDEuNjJlNDJlcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzcwCisgICAgMHgxLjYyYWI2NGQ4NmFiMWM0MWQ0MzI1OThmMWE3MDE2YzE2cC01LAorICAgIDB4MS42MmU0MzBwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzEKKyAgICAtMHgxLjYyYWI2NGQ4NmFiMWM0MWQ0MzI1OThmMWE3MDE2YzE2cC01LAorICAgIC0weDEuNjJlNDMwcC01CisgIH0sCisgIHsgLy8gRW50cnkgMzcyCisgICAgMHgxLjYyMDE4MWZkNDU0Y2FlZjA5NWEzMDViYzRiZmE1ZjhjcC00LAorICAgIDB4MS42MmU0MmNwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzMKKyAgICAtMHgxLjYyMDE4MWZkNDU0Y2FlZjA5NWEzMDViYzRiZmE1ZjhjcC00LAorICAgIC0weDEuNjJlNDJjcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc0CisgICAgMHgxLjYyMDE4M2Y5NzIzYzUyNmRiMDE1ODFiMDMyODllMGY4cC00LAorICAgIDB4MS42MmU0MmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzUKKyAgICAtMHgxLjYyMDE4M2Y5NzIzYzUyNmRiMDE1ODFiMDMyODllMGY4cC00LAorICAgIC0weDEuNjJlNDJlcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc2CisgICAgMHgxLjYyMDE4NWY1OWYyYmVhZWZlNWYxZmY1MzJjNjE4NWU5cC00LAorICAgIDB4MS42MmU0MzBwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzcKKyAgICAtMHgxLjYyMDE4NWY1OWYyYmVhZWZlNWYxZmY1MzJjNjE4NWU5cC00LAorICAgIC0weDEuNjJlNDMwcC00CisgIH0sCisgIHsgLy8gRW50cnkgMzc4CisgICAgMHgxLjVmNjE5NWFlY2ExNTUwMTZhODkzZDE0MDg4ZmQ0YmE1cC0zLAorICAgIDB4MS42MmU0MmNwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNzkKKyAgICAtMHgxLjVmNjE5NWFlY2ExNTUwMTZhODkzZDE0MDg4ZmQ0YmE1cC0zLAorICAgIC0weDEuNjJlNDJjcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzgwCisgICAgMHgxLjVmNjE5NzlmYjdhZjRkODU2ZGVmOThlZGU4NTIwNTk2cC0zLAorICAgIDB4MS42MmU0MmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODEKKyAgICAtMHgxLjVmNjE5NzlmYjdhZjRkODU2ZGVmOThlZGU4NTIwNTk2cC0zLAorICAgIC0weDEuNjJlNDJlcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzgyCisgICAgMHgxLjVmNjE5OTkwYTU0OTIwNTJmZmU1NzQ5N2E5YWJkMjk4cC0zLAorICAgIDB4MS42MmU0MzBwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODMKKyAgICAtMHgxLjVmNjE5OTkwYTU0OTIwNTJmZmU1NzQ5N2E5YWJkMjk4cC0zLAorICAgIC0weDEuNjJlNDMwcC0zCisgIH0sCisgIHsgLy8gRW50cnkgMzg0CisgICAgMHgxLjU1NTU1MWQ1YTc3MTkwMjBlYzZjZjJkNzY1OGQwYWM4cC0yLAorICAgIDB4MS42MmU0MmNwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODUKKyAgICAtMHgxLjU1NTU1MWQ1YTc3MTkwMjBlYzZjZjJkNzY1OGQwYWM4cC0yLAorICAgIC0weDEuNjJlNDJjcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg2CisgICAgMHgxLjU1NTU1MzljYzNlNDM1ZjI5NjFlMzgyNDBiYzczYWE0cC0yLAorICAgIDB4MS42MmU0MmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODcKKyAgICAtMHgxLjU1NTU1MzljYzNlNDM1ZjI5NjFlMzgyNDBiYzczYWE0cC0yLAorICAgIC0weDEuNjJlNDJlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzg4CisgICAgMHgxLjU1NTU1NTYzZTA1NjQ0MTAxYTc1NGYxYjk4OWJmNWUwcC0yLAorICAgIDB4MS42MmU0MzBwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzODkKKyAgICAtMHgxLjU1NTU1NTYzZTA1NjQ0MTAxYTc1NGYxYjk4OWJmNWUwcC0yLAorICAgIC0weDEuNjJlNDMwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzkwCisgICAgMHgxLjMzMzMzMGFlNGY5NzRjMDlkZmFjZjZmZDMxYTZhMjJhcC0xLAorICAgIDB4MS42MmU0MmNwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTEKKyAgICAtMHgxLjMzMzMzMGFlNGY5NzRjMDlkZmFjZjZmZDMxYTZhMjJhcC0xLAorICAgIC0weDEuNjJlNDJjcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzkyCisgICAgMHgxLjMzMzMzMWY1ZmRhZTA4MmQ2YzY5MzAyYWY3MGYxYWIycC0xLAorICAgIDB4MS42MmU0MmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTMKKyAgICAtMHgxLjMzMzMzMWY1ZmRhZTA4MmQ2YzY5MzAyYWY3MGYxYWIycC0xLAorICAgIC0weDEuNjJlNDJlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk0CisgICAgMHgxLjMzMzMzMzNkYWJjMzNiMTlhZDJjMDA4YTNmN2Q0MTQ0cC0xLAorICAgIDB4MS42MmU0MzBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTUKKyAgICAtMHgxLjMzMzMzMzNkYWJjMzNiMTlhZDJjMDA4YTNmN2Q0MTQ0cC0xLAorICAgIC0weDEuNjJlNDMwcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzk2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS42MmU0MmNwNgorICB9LAorICB7IC8vIEVudHJ5IDM5NworICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MmU0MmNwNgorICB9LAorICB7IC8vIEVudHJ5IDM5OAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNjJlNDJlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjJlNDJlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDAKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYyZTQzMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNDAxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjYyZTQzMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNDAyCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjlkMWRhMnA2CisgIH0sCisgIHsgLy8gRW50cnkgNDAzCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS45ZDFkYTJwNgorICB9LAorICB7IC8vIEVudHJ5IDQwNAorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS45ZDFkYTBwNgorICB9LAorICB7IC8vIEVudHJ5IDQwNQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuOWQxZGEwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDYKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuOWQxZDllcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MDcKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjlkMWQ5ZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNDA4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS42NWE5ZjZwNgorICB9LAorICB7IC8vIEVudHJ5IDQwOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42NWE5ZjZwNgorICB9LAorICB7IC8vIEVudHJ5IDQxMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNjVhOWY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjVhOWY4cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjY1YTlmYXA2CisgIH0sCisgIHsgLy8gRW50cnkgNDEzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjY1YTlmYXA2CisgIH0sCisgIHsgLy8gRW50cnkgNDE0CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLjYyZTQzMHA2CisgIH0sCisgIHsgLy8gRW50cnkgNDE1CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS42MmU0MzBwNgorICB9LAorICB7IC8vIEVudHJ5IDQxNgorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS42MmU0MmVwNgorICB9LAorICB7IC8vIEVudHJ5IDQxNworICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuNjJlNDJlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuNjJlNDJjcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MTkKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgMHgxLjYyZTQyY3A2CisgIH0sCisgIHsgLy8gRW50cnkgNDIwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZlcDYyCisgIH0sCisgIHsgLy8gRW50cnkgNDIyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucDYzCisgIH0sCisgIHsgLy8gRW50cnkgNDI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgNDI2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmVwMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZlcDI2CisgIH0sCisgIHsgLy8gRW50cnkgNDI4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MjkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucDI3CisgIH0sCisgIHsgLy8gRW50cnkgNDMwCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAycDI3CisgIH0sCisgIHsgLy8gRW50cnkgNDMyCisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmVwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDM0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzUKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MzcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuMDAwMDAycDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDM4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZDJjNGE2NGQwcC0xLAorICAgIDB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDQzOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM0YTY0ZDBwLTEsCisgICAgLTB4MS5mZmZmZmVwNAorICB9LAorICB7IC8vIEVudHJ5IDQ0MAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2QyYzU3MTliY3AtMSwKKyAgICAweDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDEKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZDJjNTcxOWJjcC0xLAorICAgIC0weDEucDUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNkMmM3MDgzOGFwLTEsCisgICAgMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNDQzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2QyYzcwODM4YXAtMSwKKyAgICAtMHgxLjAwMDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgNDQ0CisgICAgMHgxLmZmZmZmZmZmZmZmMWJkY2JiYzA4ZTIwNDQ4MzJiYmZlcC0xLAorICAgIDB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDQ0NQorICAgIC0weDEuZmZmZmZmZmZmZmYxYmRjYmJjMDhlMjA0NDgzMmJiZmVwLTEsCisgICAgLTB4MS5mZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDQ0NgorICAgIDB4MS5mZmZmZmZmZmZmZjFiZGNkODQ0ZjRkZmVjNDk0MTk0M3AtMSwKKyAgICAweDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDcKKyAgICAtMHgxLmZmZmZmZmZmZmZmMWJkY2Q4NDRmNGRmZWM0OTQxOTQzcC0xLAorICAgIC0weDEucDQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NDgKKyAgICAweDEuZmZmZmZmZmZmZmYxYmRkMTE0ZGI3YWQ5NjZhYmE0MGRwLTEsCisgICAgMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDQ5CisgICAgLTB4MS5mZmZmZmZmZmZmZjFiZGQxMTRkYjdhZDk2NmFiYTQwZHAtMSwKKyAgICAtMHgxLjAwMDAwMnA0CisgIH0sCisgIHsgLy8gRW50cnkgNDUwCisgICAgMHgxLmZmZmZmODcyYThhNmIxMjAwM2VmMzE3YzU3NjE3Njc2cC0xLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDQ1MQorICAgIC0weDEuZmZmZmY4NzJhOGE2YjEyMDAzZWYzMTdjNTc2MTc2NzZwLTEsCisgICAgLTB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDQ1MgorICAgIDB4MS5mZmZmZjg3MmE5MWY4NjkwZWUwZTZkM2FkOGFlZTQ2YnAtMSwKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTMKKyAgICAtMHgxLmZmZmZmODcyYTkxZjg2OTBlZTBlNmQzYWQ4YWVlNDZicC0xLAorICAgIC0weDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTQKKyAgICAweDEuZmZmZmY4NzJhYTExMzE1YzFhNDkzYzc0YjQwN2FhNmVwLTEsCisgICAgMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDU1CisgICAgLTB4MS5mZmZmZjg3MmFhMTEzMTVjMWE0OTNjNzRiNDA3YWE2ZXAtMSwKKyAgICAtMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgNDU2CisgICAgMHgxLmZmYTgxNzA1ZTFhOGJiY2JmNWEzZGNmN2NiOTM3ZWY2cC0xLAorICAgIDB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ1NworICAgIC0weDEuZmZhODE3MDVlMWE4YmJjYmY1YTNkY2Y3Y2I5MzdlZjZwLTEsCisgICAgLTB4MS5mZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDQ1OAorICAgIDB4MS5mZmE4MTcwOGEwYjQyMTY4NTcyNDZjMTlkYzYwYWNiOHAtMSwKKyAgICAweDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NTkKKyAgICAtMHgxLmZmYTgxNzA4YTBiNDIxNjg1NzI0NmMxOWRjNjBhY2I4cC0xLAorICAgIC0weDEucDIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjAKKyAgICAweDEuZmZhODE3MGUxZWNhYWFjMzViNmQ4MWQ2ODI4OTExMjZwLTEsCisgICAgMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDYxCisgICAgLTB4MS5mZmE4MTcwZTFlY2FhYWMzNWI2ZDgxZDY4Mjg5MTEyNnAtMSwKKyAgICAtMHgxLjAwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgNDYyCisgICAgMHgxLmVkOTUwNTk5NjM4YzE4ZmVjNWJkODEzNWIzOTc2ZmFmcC0xLAorICAgIDB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2MworICAgIC0weDEuZWQ5NTA1OTk2MzhjMThmZWM1YmQ4MTM1YjM5NzZmYWZwLTEsCisgICAgLTB4MS5mZmZmZmVwMAorICB9LAorICB7IC8vIEVudHJ5IDQ2NAorICAgIDB4MS5lZDk1MDVlMWJjM2QzZDMzYzQzMmZjM2U4MjU1YzhiNXAtMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjUKKyAgICAtMHgxLmVkOTUwNWUxYmMzZDNkMzNjNDMyZmMzZTgyNTVjOGI1cC0xLAorICAgIC0weDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjYKKyAgICAweDEuZWQ5NTA2NzI2ZDljNDBiMDRjZjI1NTYwNzNlOTBhZWNwLTEsCisgICAgMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY3CisgICAgLTB4MS5lZDk1MDY3MjZkOWM0MGIwNGNmMjU1NjA3M2U5MGFlY3AtMSwKKyAgICAtMHgxLjAwMDAwMnAxCisgIH0sCisgIHsgLy8gRW50cnkgNDY4CisgICAgMHgxLjg1ZWZhYTdhNDg1ODI0Y2M5Zjk4Zjg4Njc0YzA4YjgzcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NjkKKyAgICAtMHgxLjg1ZWZhYTdhNDg1ODI0Y2M5Zjk4Zjg4Njc0YzA4YjgzcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNDcwCisgICAgMHgxLjg1ZWZhYjUxNGYzOTQ1NTg2MzJiZTI5M2M0Mjc0ZmU2cC0xLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MQorICAgIC0weDEuODVlZmFiNTE0ZjM5NDU1ODYzMmJlMjkzYzQyNzRmZTZwLTEsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDQ3MgorICAgIDB4MS44NWVmYWNmZjVjZjdhZmRiYTQ0MmJlOTIxOTBiNTUxYnAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzMKKyAgICAtMHgxLjg1ZWZhY2ZmNWNmN2FmZGJhNDQyYmU5MjE5MGI1NTFicC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzQKKyAgICAweDEuZDkzNTNiZTJiZjY3ZGYxMzFmN2RmMGUzMzdhZjRjYTlwLTIsCisgICAgMHgxLmZmZmZmZXAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ3NQorICAgIC0weDEuZDkzNTNiZTJiZjY3ZGYxMzFmN2RmMGUzMzdhZjRjYTlwLTIsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzYKKyAgICAweDEuZDkzNTNkNzU2OGFmMzY1MTI4ZWUyMWM2NWIwOGQzYTdwLTIsCisgICAgMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3NworICAgIC0weDEuZDkzNTNkNzU2OGFmMzY1MTI4ZWUyMWM2NWIwOGQzYTdwLTIsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NzgKKyAgICAweDEuZDkzNTQwOWFiYjNiYjY5MjVhMjFlYzFhYjQ5NDUyMTFwLTIsCisgICAgMHgxLjAwMDAwMnAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3OQorICAgIC0weDEuZDkzNTQwOWFiYjNiYjY5MjVhMjFlYzFhYjQ5NDUyMTFwLTIsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODAKKyAgICAweDEuZjU5N2U4ODg1ODI3ZWVkOWQ3MzM2OWZlZWM4NDg0MWRwLTMsCisgICAgMHgxLmZmZmZmZXAtMworICB9LAorICB7IC8vIEVudHJ5IDQ4MQorICAgIC0weDEuZjU5N2U4ODg1ODI3ZWVkOWQ3MzM2OWZlZWM4NDg0MWRwLTMsCisgICAgLTB4MS5mZmZmZmVwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODIKKyAgICAweDEuZjU5N2VhNjlhMWM4NWYxMzU4ZDcxZDg0NzI5YzgwYzhwLTMsCisgICAgMHgxLnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ4MworICAgIC0weDEuZjU5N2VhNjlhMWM4NWYxMzU4ZDcxZDg0NzI5YzgwYzhwLTMsCisgICAgLTB4MS5wLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODQKKyAgICAweDEuZjU5N2VlMmMzNTA4OGViNWRhOTI4YjI3ODUyMmZkYzBwLTMsCisgICAgMHgxLjAwMDAwMnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQ4NQorICAgIC0weDEuZjU5N2VlMmMzNTA4OGViNWRhOTI4YjI3ODUyMmZkYzBwLTMsCisgICAgLTB4MS4wMDAwMDJwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODYKKyAgICAweDEuZmQ1OTkwYzQzNjVkZTk5YjA5MzYxOTU3M2FlZDVlZWZwLTQsCisgICAgMHgxLmZmZmZmZXAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ4NworICAgIC0weDEuZmQ1OTkwYzQzNjVkZTk5YjA5MzYxOTU3M2FlZDVlZWZwLTQsCisgICAgLTB4MS5mZmZmZmVwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0ODgKKyAgICAweDEuZmQ1OTkyYmM0YjgzNGZjMGFmNmFjOGVmZjdkODEwNDBwLTQsCisgICAgMHgxLnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ4OQorICAgIC0weDEuZmQ1OTkyYmM0YjgzNGZjMGFmNmFjOGVmZjdkODEwNDBwLTQsCisgICAgLTB4MS5wLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTAKKyAgICAweDEuZmQ1OTk2YWM3NWNkZWQwODllYmEyMjg1ZDAwMzVhMjRwLTQsCisgICAgMHgxLjAwMDAwMnAtMworICB9LAorICB7IC8vIEVudHJ5IDQ5MQorICAgIC0weDEuZmQ1OTk2YWM3NWNkZWQwODllYmEyMjg1ZDAwMzVhMjRwLTQsCisgICAgLTB4MS4wMDAwMDJwLTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTIKKyAgICAweDEuZmY1NTk3ODAwMWI4ZGEwZTBhYjQ5MDRmYTY0YjhkMzJwLTUsCisgICAgMHgxLmZmZmZmZXAtNQorICB9LAorICB7IC8vIEVudHJ5IDQ5MworICAgIC0weDEuZmY1NTk3ODAwMWI4ZGEwZTBhYjQ5MDRmYTY0YjhkMzJwLTUsCisgICAgLTB4MS5mZmZmZmVwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTQKKyAgICAweDEuZmY1NTk5N2UwMzBkNzA1OTM1NTkyYTM2NmE4YTY2ZDRwLTUsCisgICAgMHgxLnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ5NQorICAgIC0weDEuZmY1NTk5N2UwMzBkNzA1OTM1NTkyYTM2NmE4YTY2ZDRwLTUsCisgICAgLTB4MS5wLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTYKKyAgICAweDEuZmY1NTlkN2EwNWI2OTBmZjdkMGU0MTE0YzBlYjcyYzFwLTUsCisgICAgMHgxLjAwMDAwMnAtNAorICB9LAorICB7IC8vIEVudHJ5IDQ5NworICAgIC0weDEuZmY1NTlkN2EwNWI2OTBmZjdkMGU0MTE0YzBlYjcyYzFwLTUsCisgICAgLTB4MS4wMDAwMDJwLTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OTgKKyAgICAweDEuZmZkNTU3OTlhYjA4OGZiMzI2ZTliYTE4ZDA5OTcyMDNwLTYsCisgICAgMHgxLmZmZmZmZXAtNgorICB9LAorICB7IC8vIEVudHJ5IDQ5OQorICAgIC0weDEuZmZkNTU3OTlhYjA4OGZiMzI2ZTliYTE4ZDA5OTcyMDNwLTYsCisgICAgLTB4MS5mZmZmZmVwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDAKKyAgICAweDEuZmZkNTU5OTkyYjFkZTI4MzA1ZmMxNzM4MjIwNTM5MmVwLTYsCisgICAgMHgxLnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUwMQorICAgIC0weDEuZmZkNTU5OTkyYjFkZTI4MzA1ZmMxNzM4MjIwNTM5MmVwLTYsCisgICAgLTB4MS5wLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDIKKyAgICAweDEuZmZkNTVkOTgyYjQ4ODUyM2MzZTk3NTgxMjRlMDYyOGJwLTYsCisgICAgMHgxLjAwMDAwMnAtNQorICB9LAorICB7IC8vIEVudHJ5IDUwMworICAgIC0weDEuZmZkNTVkOTgyYjQ4ODUyM2MzZTk3NTgxMjRlMDYyOGJwLTYsCisgICAgLTB4MS4wMDAwMDJwLTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDQKKyAgICAweDEuZmZmNTUzOTliN2RlMzNjMGQ0ZGEzYmZiZGMyM2E1ZDRwLTcsCisgICAgMHgxLmZmZmZmZXAtNworICB9LAorICB7IC8vIEVudHJ5IDUwNQorICAgIC0weDEuZmZmNTUzOTliN2RlMzNjMGQ0ZGEzYmZiZGMyM2E1ZDRwLTcsCisgICAgLTB4MS5mZmZmZmVwLTcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDYKKyAgICAweDEuZmZmNTU1OTk5N2RmODkyYTExMjg1NzU4NDNmYzBkNTJwLTcsCisgICAgMHgxLnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUwNworICAgIC0weDEuZmZmNTU1OTk5N2RmODkyYTExMjg1NzU4NDNmYzBkNTJwLTcsCisgICAgLTB4MS5wLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MDgKKyAgICAweDEuZmZmNTU5OTk1N2UyMzMzYzk5YzM3NDkwZWFlMjVhNWFwLTcsCisgICAgMHgxLjAwMDAwMnAtNgorICB9LAorICB7IC8vIEVudHJ5IDUwOQorICAgIC0weDEuZmZmNTU5OTk1N2UyMzMzYzk5YzM3NDkwZWFlMjVhNWFwLTcsCisgICAgLTB4MS4wMDAwMDJwLTYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTAKKyAgICAweDEuZmZmZmZkZjU1NTU1NzU5OTk5Nzg0MjhhMzYwNDAxNmZwLTE1LAorICAgIDB4MS5mZmZmZmVwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTExCisgICAgLTB4MS5mZmZmZmRmNTU1NTU3NTk5OTk3ODQyOGEzNjA0MDE2ZnAtMTUsCisgICAgLTB4MS5mZmZmZmVwLTE1CisgIH0sCisgIHsgLy8gRW50cnkgNTEyCisgICAgMHgxLmZmZmZmZmY1NTU1NTU1OTk5OTk5OTdkZjdkZjdlYWIwcC0xNSwKKyAgICAweDEucC0xNAorICB9LAorICB7IC8vIEVudHJ5IDUxMworICAgIC0weDEuZmZmZmZmZjU1NTU1NTU5OTk5OTk5N2RmN2RmN2VhYjBwLTE1LAorICAgIC0weDEucC0xNAorICB9LAorICB7IC8vIEVudHJ5IDUxNAorICAgIDB4MS4wMDAwMDFmYWFhYWE4YWNjY2M4ZTIxNDRlZWVmZGVhMXAtMTQsCisgICAgMHgxLjAwMDAwMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTUKKyAgICAtMHgxLjAwMDAwMWZhYWFhYThhY2NjYzhlMjE0NGVlZWZkZWExcC0xNCwKKyAgICAtMHgxLjAwMDAwMnAtMTQKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MTYKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmNTU1NTU3NTU1NTUzNTU1OTlwLTMxLAorICAgIDB4MS5mZmZmZmVwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTE3CisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmY1NTU1NTc1NTU1NTM1NTU5OXAtMzEsCisgICAgLTB4MS5mZmZmZmVwLTMxCisgIH0sCisgIHsgLy8gRW50cnkgNTE4CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZjU1NTU1NTU1NTU1NTU1NTk5cC0zMSwKKyAgICAweDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDUxOQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmNTU1NTU1NTU1NTU1NTU1OTlwLTMxLAorICAgIC0weDEucC0zMAorICB9LAorICB7IC8vIEVudHJ5IDUyMAorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZhYWFhYThhYWFhYTZhYWFjY3AtMzAsCisgICAgMHgxLjAwMDAwMnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjEKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmFhYWFhOGFhYWFhNmFhYWNjcC0zMCwKKyAgICAtMHgxLjAwMDAwMnAtMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjIKKyAgICAweDEuZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDU1NTVwLTU2LAorICAgIDB4MS5mZmZmZmVwLTU2CisgIH0sCisgIHsgLy8gRW50cnkgNTIzCisgICAgLTB4MS5mZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmZmZkNTU1NXAtNTYsCisgICAgLTB4MS5mZmZmZmVwLTU2CisgIH0sCisgIHsgLy8gRW50cnkgNTI0CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ1NTU1cC01NiwKKyAgICAweDEucC01NQorICB9LAorICB7IC8vIEVudHJ5IDUyNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDU1NTVwLTU2LAorICAgIC0weDEucC01NQorICB9LAorICB7IC8vIEVudHJ5IDUyNgorICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYWFhYXAtNTUsCisgICAgMHgxLjAwMDAwMnAtNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjcKKyAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmVhYWFhcC01NSwKKyAgICAtMHgxLjAwMDAwMnAtNTUKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MjgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDUyOQorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDUzMAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDUzMQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTMyCisgICAgMHgxLnAwLAorICAgIEhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDUzMworICAgIC0weDEucDAsCisgICAgLUhVR0VfVkFMRgorICB9LAorICB7IC8vIEVudHJ5IDUzNAorICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDUzNQorICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCisgICAgLTB4MS5mZmZmZmVwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTM2CisgICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAorICAgIDB4MS5mZmZmZmNwMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTM3CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MzgKKyAgICAweDEuZmUxNzVmYTgyOTJkZWIzZDhjNDFkZWVjN2MyZWU0N2NwLTEsCisgICAgMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTM5CisgICAgLTB4MS5mZTE3NWZhODI5MmRlYjNkOGM0MWRlZWM3YzJlZTQ3Y3AtMSwKKyAgICAtMHgxLjkyMWZiNnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTQwCisgICAgMHgxLmQ1OTRmZGU5ZWI3MDEyYzEyMWI0MjkwMDdlYTc4ODRhcC0xLAorICAgIDB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MQorICAgIC0weDEuZDU5NGZkZTllYjcwMTJjMTIxYjQyOTAwN2VhNzg4NGFwLTEsCisgICAgLTB4MS45MjFmYjZwMAorICB9LAorICB7IC8vIEVudHJ5IDU0MgorICAgIDB4MS44NWVmYWNmZjVjZjdhZmRiYTQ0MmJlOTIxOTBiNTUxYnAtMSwKKyAgICAweDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDMKKyAgICAtMHgxLjg1ZWZhY2ZmNWNmN2FmZGJhNDQyYmU5MjE5MGI1NTFicC0xLAorICAgIC0weDEuMDAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDQKKyAgICAweDEuODVlZmFiNTE0ZjM5NDU1ODYzMmJlMjkzYzQyNzRmZTZwLTEsCisgICAgMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ1CisgICAgLTB4MS44NWVmYWI1MTRmMzk0NTU4NjMyYmUyOTNjNDI3NGZlNnAtMSwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQ2CisgICAgMHgxLjg1ZWZhYTdhNDg1ODI0Y2M5Zjk4Zjg4Njc0YzA4YjgzcC0xLAorICAgIDB4MS5mZmZmZmVwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDcKKyAgICAtMHgxLjg1ZWZhYTdhNDg1ODI0Y2M5Zjk4Zjg4Njc0YzA4YjgzcC0xLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTQ4CisgICAgMHgxLjRmYzQ0MjY1NmQyMDZiMjFmNmRjZDEwOGQ2YTg4YWQ3cC0xLAorICAgIDB4MS45MjFmYjZwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NDkKKyAgICAtMHgxLjRmYzQ0MjY1NmQyMDZiMjFmNmRjZDEwOGQ2YTg4YWQ3cC0xLAorICAgIC0weDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTUwCisgICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCisgICAgMHgxLjAwMDAwMnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgNTUxCisgICAgLTB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTIKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAweDEucC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgLTB4MS5wLTEyNgorICB9LAorICB7IC8vIEVudHJ5IDU1NAorICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDU1NQorICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKKyAgICAtMHgxLmZmZmZmY3AtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTU2CisgICAgMHgxLmZmZmZmN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCisgICAgMHgxLmZmZmZmOHAtMTI3CisgIH0sCisgIHsgLy8gRW50cnkgNTU3CisgICAgLTB4MS5mZmZmZjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTgKKyAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0OSwKKyAgICAweDEucC0xNDgKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NTkKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDksCisgICAgLTB4MS5wLTE0OAorICB9LAorICB7IC8vIEVudHJ5IDU2MAorICAgIDAuMGYsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgNTYxCisgICAgLTAuMGYsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDU2MgorICAgIDAuMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgNTYzCisgICAgLTAuMCwKKyAgICAtMC4wZgorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhL3RydW5jX2ludGVsX2RhdGEuaCBiL3Rlc3RzL21hdGhfZGF0YS90cnVuY19pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQzYTJkOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS90cnVuY19pbnRlbF9kYXRhLmgKQEAgLTAsMCArMSwxMzM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworc3RhdGljIGRhdGFfMV8xX3Q8ZG91YmxlLCBkb3VibGU+IGdfdHJ1bmNfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMTA3NAorICB9LAorICB7IC8vIEVudHJ5IDEKKyAgICAtMC4wLAorICAgIC0wLjAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDQKKyAgICAwLjAsCisgICAgMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA1CisgICAgMC4wLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDcKKyAgICAweDEucDAsCisgICAgMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDgKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEwCisgICAgMHgxLnAwLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wMCwKKyAgICAweDEuODAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTIKKyAgICAweDEucDAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDEzCisgICAgMHgxLnAxLAorICAgIDB4MS4wcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTUKKyAgICAweDEucDEsCisgICAgMHgxLjNmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDE2CisgICAgMHgxLnAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNworICAgIDB4MS5wMSwKKyAgICAweDEuNDAwMDAwMDAwMDAwMXAxCisgIH0sCisgIHsgLy8gRW50cnkgMTgKKyAgICAweDEuOGNwNiwKKyAgICAweDEuOGZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjAKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjIKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTIwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMworICAgIDB4MS45MHA2LAorICAgIDB4MS45MjAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mMzgwcDksCisgICAgMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDI1CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjYKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQwMDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjgKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQ0cDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDQwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMAorICAgIDB4MS5mZmZmZmZmZmZmZmY4MHA0OSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA0OQorICB9LAorICB7IC8vIEVudHJ5IDMxCisgICAgMHgxLnA1MCwKKyAgICAweDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDMyCisgICAgMHgxLnA1MCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MAorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmZmZmZmZmZmZmZmZmMwcDUwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUwCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDUxLAorICAgIDB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzUKKyAgICAweDEucDUxLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxCisgIH0sCisgIHsgLy8gRW50cnkgMzYKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNTEsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNworICAgIDB4MS5wNTIsCisgICAgMHgxLjBwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgorICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDUyLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDUzLAorICAgIDB4MS4wcDUzCisgIH0sCisgIHsgLy8gRW50cnkgNDEKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA1MywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDQzCisgICAgMHgxLnA1NCwKKyAgICAweDEuMHA1NAorICB9LAorICB7IC8vIEVudHJ5IDQ0CisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDU0CisgIH0sCisgIHsgLy8gRW50cnkgNDUKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDYKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDQ3CisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNDkKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgNTAKKyAgICAtMHgxLnAwLAorICAgIC0weDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDUyCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjgwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDUzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjhwMAorICB9LAorICB7IC8vIEVudHJ5IDU0CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU1CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjBwMQorICB9LAorICB7IC8vIEVudHJ5IDU3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDU4CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjQwMDAwMDAwMDAwMDFwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjRwMQorICB9LAorICB7IC8vIEVudHJ5IDYwCisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjNmZmZmZmZmZmZmZmZwMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTAwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjIKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45cDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuOGNwNiwKKyAgICAtMHgxLjhmZmZmZmZmZmZmZmZwNgorICB9LAorICB7IC8vIEVudHJ5IDY0CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjUKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MjBwNgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgNjcKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA2OAorICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmYzODBwOSwKKyAgICAtMHgxLmYzZmZmZmZmZmZmZmZwOQorICB9LAorICB7IC8vIEVudHJ5IDcwCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzEKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDRwOQorICB9LAorICB7IC8vIEVudHJ5IDcyCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgNzMKKyAgICAtMHgxLnA1MCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTAKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEucDUwLAorICAgIC0weDEuMHA1MAorICB9LAorICB7IC8vIEVudHJ5IDc1CisgICAgLTB4MS5mZmZmZmZmZmZmZmY4MHA0OSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NgorICAgIC0weDEucDUxLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1MQorICB9LAorICB7IC8vIEVudHJ5IDc3CisgICAgLTB4MS5wNTEsCisgICAgLTB4MS4wcDUxCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmMwcDUwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MAorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA1MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEucDUyLAorICAgIC0weDEuMHA1MgorICB9LAorICB7IC8vIEVudHJ5IDgxCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA1MSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MgorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNTMsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUzCisgIH0sCisgIHsgLy8gRW50cnkgODMKKyAgICAtMHgxLnA1MywKKyAgICAtMHgxLjBwNTMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNTIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUyCisgIH0sCisgIHsgLy8gRW50cnkgODUKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDU0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1NAorICB9LAorICB7IC8vIEVudHJ5IDg2CisgICAgLTB4MS5wNTQsCisgICAgLTB4MS4wcDU0CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDUzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA1MworICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgODkKKyAgICAweDEuZmZmZmZmZjhwMjksCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MAorICAgIDB4MS5wMzAsCisgICAgMHgxLjBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS5wMzAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MgorICAgIDB4MS5mZmZmZmZmNHAzMCwKKyAgICAweDEuZmZmZmZmZjdmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDkzCisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTQKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZjlmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMAorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMQorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMgorICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwMworICAgIDB4MS5mZmZmZmZmOHAzMCwKKyAgICAweDEuZmZmZmZmZmJmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEwNAorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA1CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA2CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzAwMDAycDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA3CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA4CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTA5CisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmZTBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZlMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZlMDAwMDJwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEucDMxLAorICAgIDB4MS4wcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE1CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAzMQorICB9LAorICB7IC8vIEVudHJ5IDExNgorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMGZmZmZlcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTE4CisgICAgMHgxLnAzMSwKKyAgICAweDEuMDAwMDAwMDBmZmZmZnAzMQorICB9LAorICB7IC8vIEVudHJ5IDExOQorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAxMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEyMAorICAgIDB4MS5wMzEsCisgICAgMHgxLjAwMDAwMDAxMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEucDMxLAorICAgIDB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTIyCisgICAgMHgxLmZmZmZmZmUwcDMwLAorICAgIDB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTIzCisgICAgMHgxLmZmZmZmZmU0cDMwLAorICAgIDB4MS5mZmZmZmZlNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEuZmZmZmZmZThwMzAsCisgICAgMHgxLmZmZmZmZmU4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyNQorICAgIDB4MS5mZmZmZmZlY3AzMCwKKyAgICAweDEuZmZmZmZmZWMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI2CisgICAgMHgxLmZmZmZmZmYwcDMwLAorICAgIDB4MS5mZmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTI3CisgICAgMHgxLmZmZmZmZmY0cDMwLAorICAgIDB4MS5mZmZmZmZmNDBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEuZmZmZmZmZjhwMzAsCisgICAgMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEyOQorICAgIDB4MS5mZmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZmZmMwcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMwCisgICAgMHgxLnAzMSwKKyAgICAweDEuMHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzMQorICAgIDB4MS4wMDAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAwMDIwcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTMyCisgICAgLTB4MS5wMzAsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTMzCisgICAgLTB4MS5wMzAsCisgICAgLTB4MS4wcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS5mZmZmZmZmOHAyOSwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZjgwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmODAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY4MHAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzOAorICAgIC0weDEuZmZmZmZmZjRwMzAsCisgICAgLTB4MS5mZmZmZmZmN2ZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM5CisgICAgLTB4MS5mZmZmZmZmNHAzMCwKKyAgICAtMHgxLmZmZmZmZmY3ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDAKKyAgICAtMHgxLmZmZmZmZmY4cDMwLAorICAgIC0weDEuZmZmZmZmZmEwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MQorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmYTAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQyCisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmZhMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0MworICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmOWZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ0CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmY5ZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDUKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmMwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NgorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmYzAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ3CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZjMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuZmZmZmZmZjhwMzAsCisgICAgLTB4MS5mZmZmZmZmYmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5mZmZmZmZmOHAzMCwKKyAgICAtMHgxLmZmZmZmZmZiZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmUwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZTAwMDAxcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZlMHAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1MworICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZGZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU0CisgICAgLTB4MS5mZmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmZmZkZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTUKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTgKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1OQorICAgIC0weDEuZmZmZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTYwCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMTAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMTAwMDAxcDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS4wMDAwMDAwMTBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwZmZmZmZwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjQKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwZmZmZmVwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEuZmZmZmZmZTBwMzAsCisgICAgLTB4MS5mZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS5mZmZmZmZlMHAzMCwKKyAgICAtMHgxLmZmZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLmZmZmZmZmUwcDMwLAorICAgIC0weDEuZmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS5mZmZmZmZmZmZmZmZlMHA2MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHA2MSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2MQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS5wNjIsCisgICAgMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzgKKyAgICAweDEuMDAwMDAwMDAwMDAwMTBwNjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzkKKyAgICAweDEuMDAwMDAwMDAwMDAwMjBwNjIsCisgICAgMHgxLjAwMDAwMDAwMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODAKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwNjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODEKKyAgICAweDEuZmZmZmZmZmZmZmZmZjBwNjIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxODIKKyAgICAweDEucDYzLAorICAgIDB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTgzCisgICAgMHgxLjAwMDAwMDAwMDAwMDEwcDYzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg0CisgICAgMHgxLjAwMDAwMDAwMDAwMDIwcDYzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg1CisgICAgMHgxLmZmZmZmZmZmZmZmZmUwcDYzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg2CisgICAgMHgxLmZmZmZmZmZmZmZmZmYwcDYzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTg3CisgICAgMHgxLnA2NCwKKyAgICAweDEuMHA2NAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS4wMDAwMDAwMDAwMDAxMHA2NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA2NAorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS4wMDAwMDAwMDAwMDAyMHA2NCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMnA2NAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuMDAwMDAwMDAwMDAwMjBwNjIsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAycDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxMHA2MiwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTMKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDYxLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnA2MQorICB9LAorICB7IC8vIEVudHJ5IDE5NAorICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwNjEsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk1CisgICAgLTB4MS4wMDAwMDAwMDAwMDAyMHA2MywKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDJwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTYKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcDYzLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NworICAgIC0weDEucDYzLAorICAgIC0weDEuMHA2MworICB9LAorICB7IC8vIEVudHJ5IDE5OAorICAgIC0weDEuZmZmZmZmZmZmZmZmZjBwNjIsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTk5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHA2MiwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDAKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDIwcDY0LAorICAgIC0weDEuMDAwMDAwMDAwMDAwMnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMQorICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwNjQsCisgICAgLTB4MS4wMDAwMDAwMDAwMDAxcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAyCisgICAgLTB4MS5wNjQsCisgICAgLTB4MS4wcDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmMHA2MywKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcDYzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS5wNjIsCisgICAgMHgxLjBwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDYKKyAgICAweDEucDYzLAorICAgIDB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA3CisgICAgLTB4MS5wNjIsCisgICAgLTB4MS4wcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS5wNjMsCisgICAgLTB4MS4wcDYzCisgIH0sCisgIHsgLy8gRW50cnkgMjA5CisgICAgMHgxLmZmZmZmZmY4cDMwLAorICAgIDB4MS5mZmZmZmZmYmZmZmZmcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMjEwCisgICAgMHgxLmZmZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmZmYzBwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEuZmZmZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmZmZjMDAwMDFwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTMKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLjBwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTQKKyAgICAtMHgxLmZmZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZnAzMAorICB9LAorICB7IC8vIEVudHJ5IDIxNQorICAgIDB4MS44MHAxLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucDIsCisgICAgMHgxLjBwMgorICB9LAorICB7IC8vIEVudHJ5IDIxNworICAgIDB4MS5wMiwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE4CisgICAgMHgxLmMwcDIsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDB4MS5wMywKKyAgICAweDEuMHAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIwCisgICAgMHgxLnAzLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjEKKyAgICAweDEuZTBwMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLnA0LAorICAgIDB4MS4wcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjMKKyAgICAweDEucDQsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNAorICB9LAorICB7IC8vIEVudHJ5IDIyNAorICAgIDB4MS5mMHA0LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEucDUsCisgICAgMHgxLjBwNQorICB9LAorICB7IC8vIEVudHJ5IDIyNgorICAgIDB4MS5wNSwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI3CisgICAgMHgxLmY4cDUsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5wNiwKKyAgICAweDEuMHA2CisgIH0sCisgIHsgLy8gRW50cnkgMjI5CisgICAgMHgxLnA2LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzAKKyAgICAweDEuZmNwNiwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLnA3LAorICAgIDB4MS4wcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzIKKyAgICAweDEucDcsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwNworICB9LAorICB7IC8vIEVudHJ5IDIzMworICAgIDB4MS5mZXA3LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucDgsCisgICAgMHgxLjBwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNQorICAgIDB4MS5wOCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM2CisgICAgMHgxLmZmcDgsCisgICAgMHgxLmZmZmZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5wOSwKKyAgICAweDEuMHA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM4CisgICAgMHgxLnA5LAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzkKKyAgICAweDEuZmY4MHA5LAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEucDEwLAorICAgIDB4MS4wcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQxCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI0MgorICAgIDB4MS5mZmMwcDEwLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnAxMSwKKyAgICAweDEuMHAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDUKKyAgICAweDEuZmZlMHAxMSwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5wMTIsCisgICAgMHgxLjBwMTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDcKKyAgICAweDEucDEyLAorICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjQ4CisgICAgMHgxLnAyLAorICAgIDB4MS4xZmZmZmZmZmZmZmZmcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEucDIsCisgICAgMHgxLjJwMgorICB9LAorICB7IC8vIEVudHJ5IDI1MAorICAgIDB4MS5wMiwKKyAgICAweDEuMjAwMDAwMDAwMDAwMXAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAzLAorICAgIDB4MS4wZmZmZmZmZmZmZmZmcDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTIKKyAgICAweDEucDMsCisgICAgMHgxLjFwMworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5wMywKKyAgICAweDEuMTAwMDAwMDAwMDAwMXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjU0CisgICAgMHgxLnA0LAorICAgIDB4MS4wN2ZmZmZmZmZmZmZmcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTUKKyAgICAweDEucDQsCisgICAgMHgxLjA4MHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLnA0LAorICAgIDB4MS4wODAwMDAwMDAwMDAxcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTcKKyAgICAweDEucDUsCisgICAgMHgxLjAzZmZmZmZmZmZmZmZwNQorICB9LAorICB7IC8vIEVudHJ5IDI1OAorICAgIDB4MS5wNSwKKyAgICAweDEuMDQwcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEucDUsCisgICAgMHgxLjA0MDAwMDAwMDAwMDFwNQorICB9LAorICB7IC8vIEVudHJ5IDI2MAorICAgIDB4MS5wNiwKKyAgICAweDEuMDFmZmZmZmZmZmZmZnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYxCisgICAgMHgxLnA2LAorICAgIDB4MS4wMjBwNgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5wNiwKKyAgICAweDEuMDIwMDAwMDAwMDAwMXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjYzCisgICAgMHgxLnA3LAorICAgIDB4MS4wMGZmZmZmZmZmZmZmcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjQKKyAgICAweDEucDcsCisgICAgMHgxLjAxMHA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLnA3LAorICAgIDB4MS4wMTAwMDAwMDAwMDAxcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjYKKyAgICAweDEucDgsCisgICAgMHgxLjAwN2ZmZmZmZmZmZmZwOAorICB9LAorICB7IC8vIEVudHJ5IDI2NworICAgIDB4MS5wOCwKKyAgICAweDEuMDA4cDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjgKKyAgICAweDEucDgsCisgICAgMHgxLjAwODAwMDAwMDAwMDFwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OQorICAgIDB4MS5wOSwKKyAgICAweDEuMDAzZmZmZmZmZmZmZnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDRwOQorICB9LAorICB7IC8vIEVudHJ5IDI3MQorICAgIDB4MS5wOSwKKyAgICAweDEuMDA0MDAwMDAwMDAwMXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAxZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3MworICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMjAwMDAwMDAwMDFwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzUKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA1ZmZmZmZmZmZmZnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NgorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDZwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzcKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA2MDAwMDAwMDAwMXAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3OAorICAgIDB4MS5wMTEsCisgICAgMHgxLjAwMGZmZmZmZmZmZmZwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEucDExLAorICAgIDB4MS4wMDFwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODAKKyAgICAweDEucDExLAorICAgIDB4MS4wMDEwMDAwMDAwMDAxcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwN2ZmZmZmZmZmZnAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MgorICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDgwcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjgzCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwODAwMDAwMDAwMXAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIEhVR0VfVkFMLAorICAgIEhVR0VfVkFMCisgIH0sCisgIHsgLy8gRW50cnkgMjg1CisgICAgLUhVR0VfVkFMLAorICAgIC1IVUdFX1ZBTAorICB9LAorICB7IC8vIEVudHJ5IDI4NgorICAgIDB4MS5mZmZmZmZmZmZmZmZmMHAxMDIzLAorICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODcKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmZmZmZmZmZmZmZmZTBwMTAyMywKKyAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjg5CisgICAgLTB4MS5mZmZmZmZmZmZmZmZlMHAxMDIzLAorICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMjkwCisgICAgMHgxLjgwcDEsCisgICAgMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MQorICAgIC0weDEuODBwMSwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS5wMCwKKyAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjkzCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NAorICAgIDB4MS5wMCwKKyAgICAweDEuMDAwMDAwMDAwMDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDI5NgorICAgIDB4MS5wMCwKKyAgICAweDEuMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk3CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjBwMAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQorICB9LAorICB7IC8vIEVudHJ5IDI5OQorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAwCisgICAgMC4wLAorICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTAuMCwKKyAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDIKKyAgICAwLjAsCisgICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNAorICAgIDAuMCwKKyAgICAweDEuMHAtMTAyMgorICB9LAorICB7IC8vIEVudHJ5IDMwNQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCisgIH0sCisgIHsgLy8gRW50cnkgMzA3CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDgKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMworICB9LAorICB7IC8vIEVudHJ5IDMxMAorICAgIDAuMCwKKyAgICAweDEuMHAtMTA3MworICB9LAorICB7IC8vIEVudHJ5IDMxMQorICAgIC0wLjAsCisgICAgLTB4MS4wcC0xMDczCisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMC4wLAorICAgIDB4MS4wcC0xMDc0CisgIH0sCisgIHsgLy8gRW50cnkgMzEzCisgICAgLTAuMCwKKyAgICAtMHgxLjBwLTEwNzQKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTQKKyAgICAwLjAsCisgICAgMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTAuMCwKKyAgICAtMC4wCisgIH0sCisgIHsgLy8gRW50cnkgMzE2CisgICAgMHgxLnAwLAorICAgIDB4MS44cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLnAxLAorICAgIDB4MS40cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTkKKyAgICAtMHgxLnAxLAorICAgIC0weDEuNHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzIwCisgICAgMC4wLAorICAgIDB4MS5mZmZmZnAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDAuMCwKKyAgICAweDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDFwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjQKKyAgICAtMC4wLAorICAgIC0weDEuMHAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNgorICAgIDB4MS5wMCwKKyAgICAweDEuODAwMDFwMAorICB9LAorICB7IC8vIEVudHJ5IDMyNworICAgIDB4MS5wMCwKKyAgICAweDEuN2ZmZmZwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEucDAsCisgICAgLTB4MS44MDAwMXAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI5CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjdmZmZmcDAKKyAgfQorfTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZGF0YS90cnVuY2ZfaW50ZWxfZGF0YS5oIGIvdGVzdHMvbWF0aF9kYXRhL3RydW5jZl9pbnRlbF9kYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYxYTQ0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YS90cnVuY2ZfaW50ZWxfZGF0YS5oCkBAIC0wLDAgKzEsMTMzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK3N0YXRpYyBkYXRhXzFfMV90PGZsb2F0LCBmbG9hdD4gZ190cnVuY2ZfaW50ZWxfZGF0YVtdID0geworICB7IC8vIEVudHJ5IDAKKyAgICAtMC4wLAorICAgIC0weDEucC0xNDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxCisgICAgMC4wLAorICAgIDAuMAorICB9LAorICB7IC8vIEVudHJ5IDIKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ5CisgIH0sCisgIHsgLy8gRW50cnkgMworICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0yCisgIH0sCisgIHsgLy8gRW50cnkgNAorICAgIDAuMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgNQorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycC0xCisgIH0sCisgIHsgLy8gRW50cnkgNgorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNworICAgIDB4MS5wMCwKKyAgICAweDEucDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA4CisgICAgMHgxLnAwLAorICAgIDB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDkKKyAgICAweDEucDAsCisgICAgMHgxLjdmZmZmZXAwCisgIH0sCisgIHsgLy8gRW50cnkgMTAKKyAgICAweDEucDAsCisgICAgMHgxLjgwcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMQorICAgIDB4MS5wMCwKKyAgICAweDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMgorICAgIDB4MS5wMCwKKyAgICAweDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMworICAgIDB4MS5wMSwKKyAgICAweDEucDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNAorICAgIDB4MS5wMSwKKyAgICAweDEuMDAwMDAycDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNQorICAgIDB4MS5wMSwKKyAgICAweDEuM2ZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNgorICAgIDB4MS5wMSwKKyAgICAweDEuNDBwMQorICB9LAorICB7IC8vIEVudHJ5IDE3CisgICAgMHgxLnAxLAorICAgIDB4MS40MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDE4CisgICAgMHgxLjhjcDYsCisgICAgMHgxLjhmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMTkKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTBwNgorICB9LAorICB7IC8vIEVudHJ5IDIwCisgICAgMHgxLjkwcDYsCisgICAgMHgxLjkwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjEKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMgorICAgIDB4MS45MHA2LAorICAgIDB4MS45MnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMKKyAgICAweDEuOTBwNiwKKyAgICAweDEuOTIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNAorICAgIDB4MS5mMzgwcDksCisgICAgMHgxLmYzZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjUKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjRwOQorICB9LAorICB7IC8vIEVudHJ5IDI2CisgICAgMHgxLmY0cDksCisgICAgMHgxLmY0MDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcKKyAgICAweDEuZjRwOSwKKyAgICAweDEuZjQzZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOAorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOQorICAgIDB4MS5mNHA5LAorICAgIDB4MS5mNDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDMwCisgICAgMHgxLmZmZmZmMHAyMCwKKyAgICAweDEuZmZmZmZlcDIwCisgIH0sCisgIHsgLy8gRW50cnkgMzEKKyAgICAweDEucDIxLAorICAgIDB4MS5wMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMgorICAgIDB4MS5wMjEsCisgICAgMHgxLjAwMDAwMnAyMQorICB9LAorICB7IC8vIEVudHJ5IDMzCisgICAgMHgxLmZmZmZmOHAyMSwKKyAgICAweDEuZmZmZmZlcDIxCisgIH0sCisgIHsgLy8gRW50cnkgMzQKKyAgICAweDEucDIyLAorICAgIDB4MS5wMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAzNQorICAgIDB4MS5wMjIsCisgICAgMHgxLjAwMDAwMnAyMgorICB9LAorICB7IC8vIEVudHJ5IDM2CisgICAgMHgxLmZmZmZmY3AyMiwKKyAgICAweDEuZmZmZmZlcDIyCisgIH0sCisgIHsgLy8gRW50cnkgMzcKKyAgICAweDEucDIzLAorICAgIDB4MS5wMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAzOAorICAgIDB4MS4wMDAwMDJwMjMsCisgICAgMHgxLjAwMDAwMnAyMworICB9LAorICB7IC8vIEVudHJ5IDM5CisgICAgMHgxLmZmZmZmZXAyMywKKyAgICAweDEuZmZmZmZlcDIzCisgIH0sCisgIHsgLy8gRW50cnkgNDAKKyAgICAweDEucDI0LAorICAgIDB4MS5wMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA0MQorICAgIDB4MS4wMDAwMDJwMjQsCisgICAgMHgxLjAwMDAwMnAyNAorICB9LAorICB7IC8vIEVudHJ5IDQyCisgICAgMHgxLmZmZmZmZXAyNCwKKyAgICAweDEuZmZmZmZlcDI0CisgIH0sCisgIHsgLy8gRW50cnkgNDMKKyAgICAweDEucDI1LAorICAgIDB4MS5wMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NAorICAgIDB4MS4wMDAwMDJwMjUsCisgICAgMHgxLjAwMDAwMnAyNQorICB9LAorICB7IC8vIEVudHJ5IDQ1CisgICAgMHgxLmZmZmZmZXAxMjcsCisgICAgMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NgorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMDJwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0NworICAgIC0wLjAsCisgICAgLTB4MS5wLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OAorICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmVwLTIKKyAgfSwKKyAgeyAvLyBFbnRyeSA0OQorICAgIC0weDEucDAsCisgICAgLTB4MS4wMDAwMDJwMAorICB9LAorICB7IC8vIEVudHJ5IDUwCisgICAgLTB4MS5wMCwKKyAgICAtMHgxLnAwCisgIH0sCisgIHsgLy8gRW50cnkgNTEKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgNTIKKyAgICAtMHgxLnAwLAorICAgIC0weDEuODAwMDAycDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1MworICAgIC0weDEucDAsCisgICAgLTB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgNTQKKyAgICAtMHgxLnAwLAorICAgIC0weDEuN2ZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1NQorICAgIC0weDEucDEsCisgICAgLTB4MS4wMDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU2CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLnAxCisgIH0sCisgIHsgLy8gRW50cnkgNTcKKyAgICAtMHgxLnAwLAorICAgIC0weDEuZmZmZmZlcDAKKyAgfSwKKyAgeyAvLyBFbnRyeSA1OAorICAgIC0weDEucDEsCisgICAgLTB4MS40MDAwMDJwMQorICB9LAorICB7IC8vIEVudHJ5IDU5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MAorICAgIC0weDEucDEsCisgICAgLTB4MS4zZmZmZmVwMQorICB9LAorICB7IC8vIEVudHJ5IDYxCisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTAwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MgorICAgIC0weDEuOTBwNiwKKyAgICAtMHgxLjkwcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2MworICAgIC0weDEuOGNwNiwKKyAgICAtMHgxLjhmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgNjQKKyAgICAtMHgxLjkwcDYsCisgICAgLTB4MS45MjAwMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDY1CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTJwNgorICB9LAorICB7IC8vIEVudHJ5IDY2CisgICAgLTB4MS45MHA2LAorICAgIC0weDEuOTFmZmZlcDYKKyAgfSwKKyAgeyAvLyBFbnRyeSA2NworICAgIC0weDEuZjRwOSwKKyAgICAtMHgxLmY0MDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgNjgKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNHA5CisgIH0sCisgIHsgLy8gRW50cnkgNjkKKyAgICAtMHgxLmYzODBwOSwKKyAgICAtMHgxLmYzZmZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgNzAKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDQwMDJwOQorICB9LAorICB7IC8vIEVudHJ5IDcxCisgICAgLTB4MS5mNHA5LAorICAgIC0weDEuZjQ0MHA5CisgIH0sCisgIHsgLy8gRW50cnkgNzIKKyAgICAtMHgxLmY0cDksCisgICAgLTB4MS5mNDNmZmVwOQorICB9LAorICB7IC8vIEVudHJ5IDczCisgICAgLTB4MS5wMjEsCisgICAgLTB4MS4wMDAwMDJwMjEKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NAorICAgIC0weDEucDIxLAorICAgIC0weDEucDIxCisgIH0sCisgIHsgLy8gRW50cnkgNzUKKyAgICAtMHgxLmZmZmZmMHAyMCwKKyAgICAtMHgxLmZmZmZmZXAyMAorICB9LAorICB7IC8vIEVudHJ5IDc2CisgICAgLTB4MS5wMjIsCisgICAgLTB4MS4wMDAwMDJwMjIKKyAgfSwKKyAgeyAvLyBFbnRyeSA3NworICAgIC0weDEucDIyLAorICAgIC0weDEucDIyCisgIH0sCisgIHsgLy8gRW50cnkgNzgKKyAgICAtMHgxLmZmZmZmOHAyMSwKKyAgICAtMHgxLmZmZmZmZXAyMQorICB9LAorICB7IC8vIEVudHJ5IDc5CisgICAgLTB4MS4wMDAwMDJwMjMsCisgICAgLTB4MS4wMDAwMDJwMjMKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MAorICAgIC0weDEucDIzLAorICAgIC0weDEucDIzCisgIH0sCisgIHsgLy8gRW50cnkgODEKKyAgICAtMHgxLmZmZmZmY3AyMiwKKyAgICAtMHgxLmZmZmZmZXAyMgorICB9LAorICB7IC8vIEVudHJ5IDgyCisgICAgLTB4MS4wMDAwMDJwMjQsCisgICAgLTB4MS4wMDAwMDJwMjQKKyAgfSwKKyAgeyAvLyBFbnRyeSA4MworICAgIC0weDEucDI0LAorICAgIC0weDEucDI0CisgIH0sCisgIHsgLy8gRW50cnkgODQKKyAgICAtMHgxLmZmZmZmZXAyMywKKyAgICAtMHgxLmZmZmZmZXAyMworICB9LAorICB7IC8vIEVudHJ5IDg1CisgICAgLTB4MS4wMDAwMDJwMjUsCisgICAgLTB4MS4wMDAwMDJwMjUKKyAgfSwKKyAgeyAvLyBFbnRyeSA4NgorICAgIC0weDEucDI1LAorICAgIC0weDEucDI1CisgIH0sCisgIHsgLy8gRW50cnkgODcKKyAgICAtMHgxLmZmZmZmZXAyNCwKKyAgICAtMHgxLmZmZmZmZXAyNAorICB9LAorICB7IC8vIEVudHJ5IDg4CisgICAgLTB4MS5mZmZmZmVwMTI3LAorICAgIC0weDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDg5CisgICAgMHgxLmZmZmZmZXAyOSwKKyAgICAweDEuZmZmZmZlcDI5CisgIH0sCisgIHsgLy8gRW50cnkgOTAKKyAgICAweDEucDMwLAorICAgIDB4MS5wMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5MQorICAgIDB4MS4wMDAwMDJwMzAsCisgICAgMHgxLjAwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDkyCisgICAgMHgxLmZmZmZmY3AzMCwKKyAgICAweDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTMKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NAorICAgIDB4MS5wMzEsCisgICAgMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDk1CisgICAgMHgxLjAwMDAwMnAzMSwKKyAgICAweDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgOTYKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSA5NworICAgIDB4MS5mZmZmZmNwMzAsCisgICAgMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDk4CisgICAgMHgxLmZmZmZmZXAzMCwKKyAgICAweDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgOTkKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDAKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDEKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDIKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDMKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDQKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDUKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDYKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDcKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDgKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMDkKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTAKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTEKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTIKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTMKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTQKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTUKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTYKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTcKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTgKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMTkKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjAKKyAgICAweDEuMDAwMDAycDMxLAorICAgIDB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjEKKyAgICAweDEuMDAwMDA0cDMxLAorICAgIDB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjIKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjMKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjQKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjUKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjYKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjcKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjgKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMjkKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzAKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzEKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzIKKyAgICAtMHgxLjAwMDAwMnAzMCwKKyAgICAtMHgxLjAwMDAwMnAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzMworICAgIC0weDEucDMwLAorICAgIC0weDEucDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTM0CisgICAgLTB4MS5mZmZmZmVwMjksCisgICAgLTB4MS5mZmZmZmVwMjkKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzUKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDEzNgorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTM3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxMzgKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDEzOQorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQwCisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDEKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQzCisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDQKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE0NQorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTQ2CisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNDcKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE0OAorICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTQ5CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTAKKyAgICAtMHgxLjAwMDAwNHAzMSwKKyAgICAtMHgxLjAwMDAwNHAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1MQorICAgIC0weDEuMDAwMDAycDMxLAorICAgIC0weDEuMDAwMDAycDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTUyCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTMKKyAgICAtMHgxLmZmZmZmZXAzMCwKKyAgICAtMHgxLmZmZmZmZXAzMAorICB9LAorICB7IC8vIEVudHJ5IDE1NAorICAgIC0weDEuZmZmZmZjcDMwLAorICAgIC0weDEuZmZmZmZjcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTU1CisgICAgLTB4MS4wMDAwMDRwMzEsCisgICAgLTB4MS4wMDAwMDRwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTYKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE1NworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTU4CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNTkKKyAgICAtMHgxLmZmZmZmY3AzMCwKKyAgICAtMHgxLmZmZmZmY3AzMAorICB9LAorICB7IC8vIEVudHJ5IDE2MAorICAgIC0weDEuMDAwMDA0cDMxLAorICAgIC0weDEuMDAwMDA0cDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTYxCisgICAgLTB4MS4wMDAwMDJwMzEsCisgICAgLTB4MS4wMDAwMDJwMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjIKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2MworICAgIC0weDEuZmZmZmZlcDMwLAorICAgIC0weDEuZmZmZmZlcDMwCisgIH0sCisgIHsgLy8gRW50cnkgMTY0CisgICAgLTB4MS5mZmZmZmNwMzAsCisgICAgLTB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjUKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2NgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTY3CisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNjgKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE2OQorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTcwCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzEKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3MgorICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMTczCisgICAgLTB4MS5wMzEsCisgICAgLTB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxNzQKKyAgICAtMHgxLnAzMSwKKyAgICAtMHgxLnAzMQorICB9LAorICB7IC8vIEVudHJ5IDE3NQorICAgIDB4MS5mZmZmZmNwNjEsCisgICAgMHgxLmZmZmZmY3A2MQorICB9LAorICB7IC8vIEVudHJ5IDE3NgorICAgIDB4MS5mZmZmZmVwNjEsCisgICAgMHgxLmZmZmZmZXA2MQorICB9LAorICB7IC8vIEVudHJ5IDE3NworICAgIDB4MS5wNjIsCisgICAgMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OAorICAgIDB4MS4wMDAwMDJwNjIsCisgICAgMHgxLjAwMDAwMnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE3OQorICAgIDB4MS4wMDAwMDRwNjIsCisgICAgMHgxLjAwMDAwNHA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MAorICAgIDB4MS5mZmZmZmNwNjIsCisgICAgMHgxLmZmZmZmY3A2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MQorICAgIDB4MS5mZmZmZmVwNjIsCisgICAgMHgxLmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE4MgorICAgIDB4MS5wNjMsCisgICAgMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDE4MworICAgIDB4MS4wMDAwMDJwNjMsCisgICAgMHgxLjAwMDAwMnA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NAorICAgIDB4MS4wMDAwMDRwNjMsCisgICAgMHgxLjAwMDAwNHA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NQorICAgIDB4MS5mZmZmZmNwNjMsCisgICAgMHgxLmZmZmZmY3A2MworICB9LAorICB7IC8vIEVudHJ5IDE4NgorICAgIDB4MS5mZmZmZmVwNjMsCisgICAgMHgxLmZmZmZmZXA2MworICB9LAorICB7IC8vIEVudHJ5IDE4NworICAgIDB4MS5wNjQsCisgICAgMHgxLnA2NAorICB9LAorICB7IC8vIEVudHJ5IDE4OAorICAgIDB4MS4wMDAwMDJwNjQsCisgICAgMHgxLjAwMDAwMnA2NAorICB9LAorICB7IC8vIEVudHJ5IDE4OQorICAgIDB4MS4wMDAwMDRwNjQsCisgICAgMHgxLjAwMDAwNHA2NAorICB9LAorICB7IC8vIEVudHJ5IDE5MAorICAgIC0weDEuMDAwMDA0cDYyLAorICAgIC0weDEuMDAwMDA0cDYyCisgIH0sCisgIHsgLy8gRW50cnkgMTkxCisgICAgLTB4MS4wMDAwMDJwNjIsCisgICAgLTB4MS4wMDAwMDJwNjIKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTIKKyAgICAtMHgxLnA2MiwKKyAgICAtMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5MworICAgIC0weDEuZmZmZmZlcDYxLAorICAgIC0weDEuZmZmZmZlcDYxCisgIH0sCisgIHsgLy8gRW50cnkgMTk0CisgICAgLTB4MS5mZmZmZmNwNjEsCisgICAgLTB4MS5mZmZmZmNwNjEKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTUKKyAgICAtMHgxLjAwMDAwNHA2MywKKyAgICAtMHgxLjAwMDAwNHA2MworICB9LAorICB7IC8vIEVudHJ5IDE5NgorICAgIC0weDEuMDAwMDAycDYzLAorICAgIC0weDEuMDAwMDAycDYzCisgIH0sCisgIHsgLy8gRW50cnkgMTk3CisgICAgLTB4MS5wNjMsCisgICAgLTB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAxOTgKKyAgICAtMHgxLmZmZmZmZXA2MiwKKyAgICAtMHgxLmZmZmZmZXA2MgorICB9LAorICB7IC8vIEVudHJ5IDE5OQorICAgIC0weDEuZmZmZmZjcDYyLAorICAgIC0weDEuZmZmZmZjcDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjAwCisgICAgLTB4MS4wMDAwMDRwNjQsCisgICAgLTB4MS4wMDAwMDRwNjQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDEKKyAgICAtMHgxLjAwMDAwMnA2NCwKKyAgICAtMHgxLjAwMDAwMnA2NAorICB9LAorICB7IC8vIEVudHJ5IDIwMgorICAgIC0weDEucDY0LAorICAgIC0weDEucDY0CisgIH0sCisgIHsgLy8gRW50cnkgMjAzCisgICAgLTB4MS5mZmZmZmVwNjMsCisgICAgLTB4MS5mZmZmZmVwNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDQKKyAgICAtMHgxLmZmZmZmY3A2MywKKyAgICAtMHgxLmZmZmZmY3A2MworICB9LAorICB7IC8vIEVudHJ5IDIwNQorICAgIDB4MS5wNjIsCisgICAgMHgxLnA2MgorICB9LAorICB7IC8vIEVudHJ5IDIwNgorICAgIDB4MS5wNjMsCisgICAgMHgxLnA2MworICB9LAorICB7IC8vIEVudHJ5IDIwNworICAgIC0weDEucDYyLAorICAgIC0weDEucDYyCisgIH0sCisgIHsgLy8gRW50cnkgMjA4CisgICAgLTB4MS5wNjMsCisgICAgLTB4MS5wNjMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMDkKKyAgICAweDEuZmZmZmZjcDMwLAorICAgIDB4MS5mZmZmZmNwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTAKKyAgICAweDEuZmZmZmZlcDMwLAorICAgIDB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTEKKyAgICAweDEucDMxLAorICAgIDB4MS5wMzEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTIKKyAgICAtMHgxLjAwMDAwMnAzMSwKKyAgICAtMHgxLjAwMDAwMnAzMQorICB9LAorICB7IC8vIEVudHJ5IDIxMworICAgIC0weDEucDMxLAorICAgIC0weDEucDMxCisgIH0sCisgIHsgLy8gRW50cnkgMjE0CisgICAgLTB4MS5mZmZmZmVwMzAsCisgICAgLTB4MS5mZmZmZmVwMzAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTUKKyAgICAweDEuODBwMSwKKyAgICAweDEuZmZmZmZlcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMTYKKyAgICAweDEucDIsCisgICAgMHgxLnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjE3CisgICAgMHgxLnAyLAorICAgIDB4MS4wMDAwMDJwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOAorICAgIDB4MS5jMHAyLAorICAgIDB4MS5mZmZmZmVwMgorICB9LAorICB7IC8vIEVudHJ5IDIxOQorICAgIDB4MS5wMywKKyAgICAweDEucDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjAKKyAgICAweDEucDMsCisgICAgMHgxLjAwMDAwMnAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIxCisgICAgMHgxLmUwcDMsCisgICAgMHgxLmZmZmZmZXAzCisgIH0sCisgIHsgLy8gRW50cnkgMjIyCisgICAgMHgxLnA0LAorICAgIDB4MS5wNAorICB9LAorICB7IC8vIEVudHJ5IDIyMworICAgIDB4MS5wNCwKKyAgICAweDEuMDAwMDAycDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjQKKyAgICAweDEuZjBwNCwKKyAgICAweDEuZmZmZmZlcDQKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjUKKyAgICAweDEucDUsCisgICAgMHgxLnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjI2CisgICAgMHgxLnA1LAorICAgIDB4MS4wMDAwMDJwNQorICB9LAorICB7IC8vIEVudHJ5IDIyNworICAgIDB4MS5mOHA1LAorICAgIDB4MS5mZmZmZmVwNQorICB9LAorICB7IC8vIEVudHJ5IDIyOAorICAgIDB4MS5wNiwKKyAgICAweDEucDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMjkKKyAgICAweDEucDYsCisgICAgMHgxLjAwMDAwMnA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMwCisgICAgMHgxLmZjcDYsCisgICAgMHgxLmZmZmZmZXA2CisgIH0sCisgIHsgLy8gRW50cnkgMjMxCisgICAgMHgxLnA3LAorICAgIDB4MS5wNworICB9LAorICB7IC8vIEVudHJ5IDIzMgorICAgIDB4MS5wNywKKyAgICAweDEuMDAwMDAycDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzMKKyAgICAweDEuZmVwNywKKyAgICAweDEuZmZmZmZlcDcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzQKKyAgICAweDEucDgsCisgICAgMHgxLnA4CisgIH0sCisgIHsgLy8gRW50cnkgMjM1CisgICAgMHgxLnA4LAorICAgIDB4MS4wMDAwMDJwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNgorICAgIDB4MS5mZnA4LAorICAgIDB4MS5mZmZmZmVwOAorICB9LAorICB7IC8vIEVudHJ5IDIzNworICAgIDB4MS5wOSwKKyAgICAweDEucDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyMzgKKyAgICAweDEucDksCisgICAgMHgxLjAwMDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjM5CisgICAgMHgxLmZmODBwOSwKKyAgICAweDEuZmZmZmZlcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDAKKyAgICAweDEucDEwLAorICAgIDB4MS5wMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDEKKyAgICAweDEucDEwLAorICAgIDB4MS4wMDAwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDIKKyAgICAweDEuZmZjMHAxMCwKKyAgICAweDEuZmZmZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjQzCisgICAgMHgxLnAxMSwKKyAgICAweDEucDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ0CisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAwMDAycDExCisgIH0sCisgIHsgLy8gRW50cnkgMjQ1CisgICAgMHgxLmZmZTBwMTEsCisgICAgMHgxLmZmZmZmZXAxMQorICB9LAorICB7IC8vIEVudHJ5IDI0NgorICAgIDB4MS5wMTIsCisgICAgMHgxLnAxMgorICB9LAorICB7IC8vIEVudHJ5IDI0NworICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDAwMnAxMgorICB9LAorICB7IC8vIEVudHJ5IDI0OAorICAgIDB4MS5wMiwKKyAgICAweDEuMWZmZmZlcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNDkKKyAgICAweDEucDIsCisgICAgMHgxLjIwcDIKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTAKKyAgICAweDEucDIsCisgICAgMHgxLjIwMDAwMnAyCisgIH0sCisgIHsgLy8gRW50cnkgMjUxCisgICAgMHgxLnAzLAorICAgIDB4MS4wZmZmZmVwMworICB9LAorICB7IC8vIEVudHJ5IDI1MgorICAgIDB4MS5wMywKKyAgICAweDEuMTBwMworICB9LAorICB7IC8vIEVudHJ5IDI1MworICAgIDB4MS5wMywKKyAgICAweDEuMTAwMDAycDMKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTQKKyAgICAweDEucDQsCisgICAgMHgxLjA3ZmZmZXA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU1CisgICAgMHgxLnA0LAorICAgIDB4MS4wOHA0CisgIH0sCisgIHsgLy8gRW50cnkgMjU2CisgICAgMHgxLnA0LAorICAgIDB4MS4wODAwMDJwNAorICB9LAorICB7IC8vIEVudHJ5IDI1NworICAgIDB4MS5wNSwKKyAgICAweDEuMDNmZmZlcDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTgKKyAgICAweDEucDUsCisgICAgMHgxLjA0cDUKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNTkKKyAgICAweDEucDUsCisgICAgMHgxLjA0MDAwMnA1CisgIH0sCisgIHsgLy8gRW50cnkgMjYwCisgICAgMHgxLnA2LAorICAgIDB4MS4wMWZmZmVwNgorICB9LAorICB7IC8vIEVudHJ5IDI2MQorICAgIDB4MS5wNiwKKyAgICAweDEuMDJwNgorICB9LAorICB7IC8vIEVudHJ5IDI2MgorICAgIDB4MS5wNiwKKyAgICAweDEuMDIwMDAycDYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjMKKyAgICAweDEucDcsCisgICAgMHgxLjAwZmZmZXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY0CisgICAgMHgxLnA3LAorICAgIDB4MS4wMXA3CisgIH0sCisgIHsgLy8gRW50cnkgMjY1CisgICAgMHgxLnA3LAorICAgIDB4MS4wMTAwMDJwNworICB9LAorICB7IC8vIEVudHJ5IDI2NgorICAgIDB4MS5wOCwKKyAgICAweDEuMDA3ZmZlcDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjcKKyAgICAweDEucDgsCisgICAgMHgxLjAwODBwOAorICB9LAorICB7IC8vIEVudHJ5IDI2OAorICAgIDB4MS5wOCwKKyAgICAweDEuMDA4MDAycDgKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNjkKKyAgICAweDEucDksCisgICAgMHgxLjAwM2ZmZXA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcwCisgICAgMHgxLnA5LAorICAgIDB4MS4wMDQwcDkKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzEKKyAgICAweDEucDksCisgICAgMHgxLjAwNDAwMnA5CisgIH0sCisgIHsgLy8gRW50cnkgMjcyCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAxZmZlcDEwCisgIH0sCisgIHsgLy8gRW50cnkgMjczCisgICAgMHgxLnAxMCwKKyAgICAweDEuMDAyMHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NAorICAgIDB4MS5wMTAsCisgICAgMHgxLjAwMjAwMnAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NQorICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDVmZmVwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzYKKyAgICAweDEuMDA0MHAxMCwKKyAgICAweDEuMDA2MHAxMAorICB9LAorICB7IC8vIEVudHJ5IDI3NworICAgIDB4MS4wMDQwcDEwLAorICAgIDB4MS4wMDYwMDJwMTAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzgKKyAgICAweDEucDExLAorICAgIDB4MS4wMDBmZmVwMTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyNzkKKyAgICAweDEucDExLAorICAgIDB4MS4wMDEwcDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgwCisgICAgMHgxLnAxMSwKKyAgICAweDEuMDAxMDAycDExCisgIH0sCisgIHsgLy8gRW50cnkgMjgxCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwN2ZlcDEyCisgIH0sCisgIHsgLy8gRW50cnkgMjgyCisgICAgMHgxLnAxMiwKKyAgICAweDEuMDAwOHAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4MworICAgIDB4MS5wMTIsCisgICAgMHgxLjAwMDgwMnAxMgorICB9LAorICB7IC8vIEVudHJ5IDI4NAorICAgIEhVR0VfVkFMRiwKKyAgICBIVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODUKKyAgICAtSFVHRV9WQUxGLAorICAgIC1IVUdFX1ZBTEYKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODYKKyAgICAweDEuZmZmZmZlcDEyNywKKyAgICAweDEuZmZmZmZlcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4NworICAgIC0weDEuZmZmZmZlcDEyNywKKyAgICAtMHgxLmZmZmZmZXAxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyODgKKyAgICAweDEuZmZmZmZjcDEyNywKKyAgICAweDEuZmZmZmZjcDEyNworICB9LAorICB7IC8vIEVudHJ5IDI4OQorICAgIC0weDEuZmZmZmZjcDEyNywKKyAgICAtMHgxLmZmZmZmY3AxMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTAKKyAgICAweDEuODBwMSwKKyAgICAweDEuOTIxZmI2cDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTEKKyAgICAtMHgxLjgwcDEsCisgICAgLTB4MS45MjFmYjZwMQorICB9LAorICB7IC8vIEVudHJ5IDI5MgorICAgIDB4MS5wMCwKKyAgICAweDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTMKKyAgICAtMHgxLnAwLAorICAgIC0weDEuOTIxZmI2cDAKKyAgfSwKKyAgeyAvLyBFbnRyeSAyOTQKKyAgICAweDEucDAsCisgICAgMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk1CisgICAgLTB4MS5wMCwKKyAgICAtMHgxLjAwMDAwMnAwCisgIH0sCisgIHsgLy8gRW50cnkgMjk2CisgICAgMHgxLnAwLAorICAgIDB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI5NworICAgIC0weDEucDAsCisgICAgLTB4MS5wMAorICB9LAorICB7IC8vIEVudHJ5IDI5OAorICAgIDAuMCwKKyAgICAweDEuZmZmZmZlcC0xCisgIH0sCisgIHsgLy8gRW50cnkgMjk5CisgICAgLTAuMCwKKyAgICAtMHgxLmZmZmZmZXAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMAorICAgIDAuMCwKKyAgICAweDEuOTIxZmI2cC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzAxCisgICAgLTAuMCwKKyAgICAtMHgxLjkyMWZiNnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMwMgorICAgIDAuMCwKKyAgICAweDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDMKKyAgICAtMC4wLAorICAgIC0weDEuMDAwMDAycC0xMjYKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDQKKyAgICAwLjAsCisgICAgMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzA1CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTI2CisgIH0sCisgIHsgLy8gRW50cnkgMzA2CisgICAgMC4wLAorICAgIDB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwNworICAgIC0wLjAsCisgICAgLTB4MS5mZmZmZmNwLTEyNworICB9LAorICB7IC8vIEVudHJ5IDMwOAorICAgIDAuMCwKKyAgICAweDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMDkKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmY4cC0xMjcKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMTAKKyAgICAwLjAsCisgICAgMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzExCisgICAgLTAuMCwKKyAgICAtMHgxLnAtMTQ4CisgIH0sCisgIHsgLy8gRW50cnkgMzEyCisgICAgMC4wLAorICAgIDB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMxMworICAgIC0wLjAsCisgICAgLTB4MS5wLTE0OQorICB9LAorICB7IC8vIEVudHJ5IDMxNAorICAgIDAuMCwKKyAgICAwLjBmCisgIH0sCisgIHsgLy8gRW50cnkgMzE1CisgICAgLTAuMCwKKyAgICAtMC4wZgorICB9LAorICB7IC8vIEVudHJ5IDMxNgorICAgIDB4MS5wMCwKKyAgICAweDEuODBwMAorICB9LAorICB7IC8vIEVudHJ5IDMxNworICAgIC0weDEucDAsCisgICAgLTB4MS44MHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzE4CisgICAgMHgxLnAxLAorICAgIDB4MS40MHAxCisgIH0sCisgIHsgLy8gRW50cnkgMzE5CisgICAgLTB4MS5wMSwKKyAgICAtMHgxLjQwcDEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjAKKyAgICAwLjAsCisgICAgMHgxLmZmZmZmMHAtMgorICB9LAorICB7IC8vIEVudHJ5IDMyMQorICAgIDAuMCwKKyAgICAweDEucC0xCisgIH0sCisgIHsgLy8gRW50cnkgMzIyCisgICAgMC4wLAorICAgIDB4MS4wMDAwMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjMKKyAgICAtMC4wLAorICAgIC0weDEuZmZmZmYwcC0yCisgIH0sCisgIHsgLy8gRW50cnkgMzI0CisgICAgLTAuMCwKKyAgICAtMHgxLnAtMQorICB9LAorICB7IC8vIEVudHJ5IDMyNQorICAgIC0wLjAsCisgICAgLTB4MS4wMDAwMTBwLTEKKyAgfSwKKyAgeyAvLyBFbnRyeSAzMjYKKyAgICAweDEucDAsCisgICAgMHgxLjgwMDAxMHAwCisgIH0sCisgIHsgLy8gRW50cnkgMzI3CisgICAgMHgxLnAwLAorICAgIDB4MS43ZmZmZjBwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOAorICAgIC0weDEucDAsCisgICAgLTB4MS44MDAwMTBwMAorICB9LAorICB7IC8vIEVudHJ5IDMyOQorICAgIC0weDEucDAsCisgICAgLTB4MS43ZmZmZjBwMAorICB9Cit9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9kYXRhX3Rlc3QuaCBiL3Rlc3RzL21hdGhfZGF0YV90ZXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFhMmJmMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21hdGhfZGF0YV90ZXN0LmgKQEAgLTAsMCArMSwyNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKworI2luY2x1ZGUgPGZlbnYuaD4KKwordGVtcGxhdGUgPHR5cGVuYW1lIFJULCB0eXBlbmFtZSBUMT4KK3N0cnVjdCBkYXRhXzFfMV90IHsKKyAgUlQgZXhwZWN0ZWQ7CisgIFQxIGlucHV0OworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQxPgorc3RydWN0IGRhdGFfaW50XzFfdCB7CisgIGludCBleHBlY3RlZDsKKyAgVDEgaW5wdXQ7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUlQsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KK3N0cnVjdCBkYXRhXzFfMl90IHsKKyAgUlQgZXhwZWN0ZWQ7CisgIFQxIGlucHV0MTsKKyAgVDIgaW5wdXQyOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFJUMSwgdHlwZW5hbWUgUlQyLCB0eXBlbmFtZSBUPgorc3RydWN0IGRhdGFfMl8xX3QgeworICBSVDEgZXhwZWN0ZWQxOworICBSVDIgZXhwZWN0ZWQyOworICBUIGlucHV0OworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFJUMSwgdHlwZW5hbWUgVD4KK3N0cnVjdCBkYXRhXzFfaW50XzFfdCB7CisgIFJUMSBleHBlY3RlZDE7CisgIGludCBleHBlY3RlZDI7CisgIFQgaW5wdXQ7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUlQxLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+CitzdHJ1Y3QgZGF0YV8xX2ludF8yX3QgeworICBSVDEgZXhwZWN0ZWQxOworICBpbnQgZXhwZWN0ZWQyOworICBUMSBpbnB1dDE7CisgIFQyIGlucHV0MjsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSVCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMz4KK3N0cnVjdCBkYXRhXzFfM190IHsKKyAgUlQgZXhwZWN0ZWQ7CisgIFQxIGlucHV0MTsKKyAgVDIgaW5wdXQyOworICBUMyBpbnB1dDM7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdW5pb24gZnBfdTsKKwordGVtcGxhdGUgPD4gdW5pb24gZnBfdTxmbG9hdD4geworICBmbG9hdCB2YWx1ZTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBmcmFjOjIzOworICAgIHVuc2lnbmVkIGV4cDo4OworICAgIHVuc2lnbmVkIHNpZ246MTsKKyAgfSBiaXRzOworICB1aW50MzJfdCBzaWduX21hZ25pdHVkZTsKK307CisKK3RlbXBsYXRlIDw+IHVuaW9uIGZwX3U8ZG91YmxlPiB7CisgIGRvdWJsZSB2YWx1ZTsKKyAgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBmcmFjbDsKKyAgICB1bnNpZ25lZCBmcmFjaDoyMDsKKyAgICB1bnNpZ25lZCBleHA6MTE7CisgICAgdW5zaWduZWQgc2lnbjoxOworICB9IGJpdHM7CisgIHVpbnQ2NF90IHNpZ25fbWFnbml0dWRlOworfTsKKworLy8gVE9ETzogbG9uZyBkb3VibGUuCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RhdGljIGlubGluZSBhdXRvIFNpZ25BbmRNYWduaXR1ZGVUb0JpYXNlZChjb25zdCBUJiB2YWx1ZSkgLT4gZGVjbHR5cGUoZnBfdTxUPjo6c2lnbl9tYWduaXR1ZGUpIHsKKyAgZnBfdTxUPiB1OworICB1LnZhbHVlID0gdmFsdWU7CisgIGlmICh1LmJpdHMuc2lnbikgeworICAgIHJldHVybiB+dS5zaWduX21hZ25pdHVkZSArIDE7CisgIH0gZWxzZSB7CisgICAgdS5iaXRzLnNpZ24gPSAxOworICAgIHJldHVybiB1LnNpZ25fbWFnbml0dWRlOworICB9Cit9CisKKy8vIEJhc2VkIG9uIHRoZSBleGlzdGluZyBnb29nbGV0ZXN0IGltcGxlbWVudGF0aW9uLCB3aGljaCB1c2VzIGEgZml4ZWQgNCB1bHAgYm91bmQuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3NpemVfdCBVbHBEaXN0YW5jZShUIGxocywgVCByaHMpIHsKKyAgY29uc3QgYXV0byBiaWFzZWQxID0gU2lnbkFuZE1hZ25pdHVkZVRvQmlhc2VkKGxocyk7CisgIGNvbnN0IGF1dG8gYmlhc2VkMiA9IFNpZ25BbmRNYWduaXR1ZGVUb0JpYXNlZChyaHMpOworICByZXR1cm4gKGJpYXNlZDEgPj0gYmlhc2VkMikgPyAoYmlhc2VkMSAtIGJpYXNlZDIpIDogKGJpYXNlZDIgLSBiaWFzZWQxKTsKK30KKwordGVtcGxhdGUgPHNpemVfdCBVTFAsIHR5cGVuYW1lIFQ+CitzdHJ1Y3QgRnBVbHBFcSB7CisgIDo6dGVzdGluZzo6QXNzZXJ0aW9uUmVzdWx0IG9wZXJhdG9yKCkoY29uc3QgY2hhciogLyogZXhwZWN0ZWRfZXhwcmVzc2lvbiAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiAvKiBhY3R1YWxfZXhwcmVzc2lvbiAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUIGV4cGVjdGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFQgYWN0dWFsKSB7CisgICAgaWYgKCFpc25hbihleHBlY3RlZCkgJiYgIWlzbmFuKGFjdHVhbCkgJiYgVWxwRGlzdGFuY2UoZXhwZWN0ZWQsIGFjdHVhbCkgPD0gVUxQKSB7CisgICAgICByZXR1cm4gOjp0ZXN0aW5nOjpBc3NlcnRpb25TdWNjZXNzKCk7CisgICAgfQorCisgICAgLy8gT3V0cHV0IHRoZSBhY3R1YWwgYW5kIGV4cGVjdGVkIHZhbHVlcyBhcyBoZXggZmxvYXRpbmcgcG9pbnQuCisgICAgY2hhciBleHBlY3RlZF9zdHJbNjRdOworICAgIGNoYXIgYWN0dWFsX3N0cls2NF07CisgICAgc25wcmludGYoZXhwZWN0ZWRfc3RyLCBzaXplb2YoZXhwZWN0ZWRfc3RyKSwgIiVhIiwgZXhwZWN0ZWQpOworICAgIHNucHJpbnRmKGFjdHVhbF9zdHIsIHNpemVvZihhY3R1YWxfc3RyKSwgIiVhIiwgYWN0dWFsKTsKKworICAgIHJldHVybiA6OnRlc3Rpbmc6OkFzc2VydGlvbkZhaWx1cmUoKQorICAgICAgICA8PCAiZXhwZWN0ZWQgKCIgPDwgZXhwZWN0ZWRfc3RyIDw8ICIpICE9IGFjdHVhbCAoIiA8PCBhY3R1YWxfc3RyIDw8ICIpIjsKKyAgfQorfTsKKworLy8gUnVucyB0aHJvdWdoIHRoZSBhcnJheSAnZGF0YScgYXBwbHlpbmcgJ2YnIHRvIGVhY2ggb2YgdGhlIGlucHV0IHZhbHVlcworLy8gYW5kIGFzc2VydGluZyB0aGF0IHRoZSByZXN1bHQgaXMgd2l0aGluIFVMUCB1bHBzIG9mIHRoZSBleHBlY3RlZCB2YWx1ZS4KKy8vIEZvciB0ZXN0aW5nIGEgKGRvdWJsZSkgLT4gZG91YmxlIGZ1bmN0aW9uIGxpa2Ugc2luKDMpLgordGVtcGxhdGUgPHNpemVfdCBVTFAsIHR5cGVuYW1lIFJULCB0eXBlbmFtZSBULCBzaXplX3QgTj4KK3ZvaWQgRG9NYXRoRGF0YVRlc3QoZGF0YV8xXzFfdDxSVCwgVD4gKCZkYXRhKVtOXSwgUlQgZihUKSkgeworICBmZXNldGVudihGRV9ERkxfRU5WKTsKKyAgRnBVbHBFcTxVTFAsIFJUPiBwcmVkaWNhdGU7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgTjsgKytpKSB7CisgICAgRVhQRUNUX1BSRURfRk9STUFUMihwcmVkaWNhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2ldLmV4cGVjdGVkLCBmKGRhdGFbaV0uaW5wdXQpKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOworICB9Cit9CisKKy8vIFJ1bnMgdGhyb3VnaCB0aGUgYXJyYXkgJ2RhdGEnIGFwcGx5aW5nICdmJyB0byBlYWNoIG9mIHRoZSBpbnB1dCB2YWx1ZXMKKy8vIGFuZCBhc3NlcnRpbmcgdGhhdCB0aGUgcmVzdWx0IGlzIHdpdGhpbiBVTFAgdWxwcyBvZiB0aGUgZXhwZWN0ZWQgdmFsdWUuCisvLyBGb3IgdGVzdGluZyBhIChkb3VibGUpIC0+IGludCBmdW5jdGlvbiBsaWtlIGlsb2diKDMpLgordGVtcGxhdGUgPHNpemVfdCBVTFAsIHR5cGVuYW1lIFQsIHNpemVfdCBOPgordm9pZCBEb01hdGhEYXRhVGVzdChkYXRhX2ludF8xX3Q8VD4gKCZkYXRhKVtOXSwgaW50IGYoVCkpIHsKKyAgZmVzZXRlbnYoRkVfREZMX0VOVik7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgTjsgKytpKSB7CisgICAgRVhQRUNUX0VRKGRhdGFbaV0uZXhwZWN0ZWQsIGYoZGF0YVtpXS5pbnB1dCkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7CisgIH0KK30KKworLy8gUnVucyB0aHJvdWdoIHRoZSBhcnJheSAnZGF0YScgYXBwbHlpbmcgJ2YnIHRvIGVhY2ggb2YgdGhlIHBhaXJzIG9mIGlucHV0IHZhbHVlcworLy8gYW5kIGFzc2VydGluZyB0aGF0IHRoZSByZXN1bHQgaXMgd2l0aGluIFVMUCB1bHBzIG9mIHRoZSBleHBlY3RlZCB2YWx1ZS4KKy8vIEZvciB0ZXN0aW5nIGEgKGRvdWJsZSwgZG91YmxlKSAtPiBkb3VibGUgZnVuY3Rpb24gbGlrZSBwb3coMykuCit0ZW1wbGF0ZSA8c2l6ZV90IFVMUCwgdHlwZW5hbWUgUlQsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgc2l6ZV90IE4+Cit2b2lkIERvTWF0aERhdGFUZXN0KGRhdGFfMV8yX3Q8UlQsIFQxLCBUMj4gKCZkYXRhKVtOXSwgUlQgZihUMSwgVDIpKSB7CisgIGZlc2V0ZW52KEZFX0RGTF9FTlYpOworICBGcFVscEVxPFVMUCwgUlQ+IHByZWRpY2F0ZTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBOOyArK2kpIHsKKyAgICBFWFBFQ1RfUFJFRF9GT1JNQVQyKHByZWRpY2F0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbaV0uZXhwZWN0ZWQsIGYoZGF0YVtpXS5pbnB1dDEsIGRhdGFbaV0uaW5wdXQyKSkgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKKyAgfQorfQorCisvLyBSdW5zIHRocm91Z2ggdGhlIGFycmF5ICdkYXRhJyBhcHBseWluZyAnZicgdG8gZWFjaCBvZiB0aGUgaW5wdXQgdmFsdWVzCisvLyBhbmQgYXNzZXJ0aW5nIHRoYXQgdGhlIHJlc3VsdHMgYXJlIHdpdGhpbiBVTFAgdWxwcyBvZiB0aGUgZXhwZWN0ZWQgdmFsdWVzLgorLy8gRm9yIHRlc3RpbmcgYSAoZG91YmxlLCBkb3VibGUqLCBkb3VibGUqKSAtPiB2b2lkIGZ1bmN0aW9uIGxpa2Ugc2luY29zKDMpLgordGVtcGxhdGUgPHNpemVfdCBVTFAsIHR5cGVuYW1lIFJUMSwgdHlwZW5hbWUgUlQyLCB0eXBlbmFtZSBUMSwgc2l6ZV90IE4+Cit2b2lkIERvTWF0aERhdGFUZXN0KGRhdGFfMl8xX3Q8UlQxLCBSVDIsIFQxPiAoJmRhdGEpW05dLCB2b2lkIGYoVDEsIFJUMSosIFJUMiopKSB7CisgIGZlc2V0ZW52KEZFX0RGTF9FTlYpOworICBGcFVscEVxPFVMUCwgUlQxPiBwcmVkaWNhdGUxOworICBGcFVscEVxPFVMUCwgUlQyPiBwcmVkaWNhdGUyOworICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IE47ICsraSkgeworICAgIFJUMSBvdXQxOworICAgIFJUMiBvdXQyOworICAgIGYoZGF0YVtpXS5pbnB1dCwgJm91dDEsICZvdXQyKTsKKyAgICBFWFBFQ1RfUFJFRF9GT1JNQVQyKHByZWRpY2F0ZTEsIGRhdGFbaV0uZXhwZWN0ZWQxLCBvdXQxKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOworICAgIEVYUEVDVF9QUkVEX0ZPUk1BVDIocHJlZGljYXRlMiwgZGF0YVtpXS5leHBlY3RlZDIsIG91dDIpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7CisgIH0KK30KKworLy8gUnVucyB0aHJvdWdoIHRoZSBhcnJheSAnZGF0YScgYXBwbHlpbmcgJ2YnIHRvIGVhY2ggb2YgdGhlIGlucHV0IHZhbHVlcworLy8gYW5kIGFzc2VydGluZyB0aGF0IHRoZSByZXN1bHRzIGFyZSB3aXRoaW4gVUxQIHVscHMgb2YgdGhlIGV4cGVjdGVkIHZhbHVlcy4KKy8vIEZvciB0ZXN0aW5nIGEgKGRvdWJsZSwgZG91YmxlKikgLT4gZG91YmxlIGZ1bmN0aW9uIGxpa2UgbW9kZigzKS4KK3RlbXBsYXRlIDxzaXplX3QgVUxQLCB0eXBlbmFtZSBSVDEsIHR5cGVuYW1lIFJUMiwgdHlwZW5hbWUgVDEsIHNpemVfdCBOPgordm9pZCBEb01hdGhEYXRhVGVzdChkYXRhXzJfMV90PFJUMSwgUlQyLCBUMT4gKCZkYXRhKVtOXSwgUlQxIGYoVDEsIFJUMiopKSB7CisgIGZlc2V0ZW52KEZFX0RGTF9FTlYpOworICBGcFVscEVxPFVMUCwgUlQxPiBwcmVkaWNhdGUxOworICBGcFVscEVxPFVMUCwgUlQyPiBwcmVkaWNhdGUyOworICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IE47ICsraSkgeworICAgIFJUMSBvdXQxOworICAgIFJUMiBvdXQyOworICAgIG91dDEgPSBmKGRhdGFbaV0uaW5wdXQsICZvdXQyKTsKKyAgICBFWFBFQ1RfUFJFRF9GT1JNQVQyKHByZWRpY2F0ZTEsIGRhdGFbaV0uZXhwZWN0ZWQxLCBvdXQxKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOworICAgIEVYUEVDVF9QUkVEX0ZPUk1BVDIocHJlZGljYXRlMiwgZGF0YVtpXS5leHBlY3RlZDIsIG91dDIpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7CisgIH0KK30KKworLy8gUnVucyB0aHJvdWdoIHRoZSBhcnJheSAnZGF0YScgYXBwbHlpbmcgJ2YnIHRvIGVhY2ggb2YgdGhlIGlucHV0IHZhbHVlcworLy8gYW5kIGFzc2VydGluZyB0aGF0IHRoZSByZXN1bHRzIGFyZSB3aXRoaW4gVUxQIHVscHMgb2YgdGhlIGV4cGVjdGVkIHZhbHVlcy4KKy8vIEZvciB0ZXN0aW5nIGEgKGRvdWJsZSwgaW50KikgLT4gZG91YmxlIGZ1bmN0aW9uIGxpa2UgZnJleHAoMykuCit0ZW1wbGF0ZSA8c2l6ZV90IFVMUCwgdHlwZW5hbWUgUlQxLCB0eXBlbmFtZSBUMSwgc2l6ZV90IE4+Cit2b2lkIERvTWF0aERhdGFUZXN0KGRhdGFfMV9pbnRfMV90PFJUMSwgVDE+ICgmZGF0YSlbTl0sIFJUMSBmKFQxLCBpbnQqKSkgeworICBmZXNldGVudihGRV9ERkxfRU5WKTsKKyAgRnBVbHBFcTxVTFAsIFJUMT4gcHJlZGljYXRlMTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBOOyArK2kpIHsKKyAgICBSVDEgb3V0MTsKKyAgICBpbnQgb3V0MjsKKyAgICBvdXQxID0gZihkYXRhW2ldLmlucHV0LCAmb3V0Mik7CisgICAgRVhQRUNUX1BSRURfRk9STUFUMihwcmVkaWNhdGUxLCBkYXRhW2ldLmV4cGVjdGVkMSwgb3V0MSkgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKKyAgICBFWFBFQ1RfRVEoZGF0YVtpXS5leHBlY3RlZDIsIG91dDIpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7CisgIH0KK30KKworLy8gUnVucyB0aHJvdWdoIHRoZSBhcnJheSAnZGF0YScgYXBwbHlpbmcgJ2YnIHRvIGVhY2ggb2YgdGhlIGlucHV0IHZhbHVlcworLy8gYW5kIGFzc2VydGluZyB0aGF0IHRoZSByZXN1bHRzIGFyZSB3aXRoaW4gVUxQIHVscHMgb2YgdGhlIGV4cGVjdGVkIHZhbHVlcy4KKy8vIEZvciB0ZXN0aW5nIGEgKGRvdWJsZSwgZG91YmxlLCBpbnQqKSAtPiBkb3VibGUgZnVuY3Rpb24gbGlrZSByZW1xdW8oMykuCit0ZW1wbGF0ZSA8c2l6ZV90IFVMUCwgdHlwZW5hbWUgUlQxLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHNpemVfdCBOPgordm9pZCBEb01hdGhEYXRhVGVzdChkYXRhXzFfaW50XzJfdDxSVDEsIFQxLCBUMj4gKCZkYXRhKVtOXSwgUlQxIGYoVDEsIFQyLCBpbnQqKSkgeworICBmZXNldGVudihGRV9ERkxfRU5WKTsKKyAgRnBVbHBFcTxVTFAsIFJUMT4gcHJlZGljYXRlMTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBOOyArK2kpIHsKKyAgICBSVDEgb3V0MTsKKyAgICBpbnQgb3V0MjsKKyAgICBvdXQxID0gZihkYXRhW2ldLmlucHV0MSwgZGF0YVtpXS5pbnB1dDIsICZvdXQyKTsKKyAgICBFWFBFQ1RfUFJFRF9GT1JNQVQyKHByZWRpY2F0ZTEsIGRhdGFbaV0uZXhwZWN0ZWQxLCBvdXQxKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOworICAgIEVYUEVDVF9FUShkYXRhW2ldLmV4cGVjdGVkMiwgb3V0MikgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKKyAgfQorfQorCisvLyBSdW5zIHRocm91Z2ggdGhlIGFycmF5ICdkYXRhJyBhcHBseWluZyAnZicgdG8gZWFjaCBvZiB0aGUgcGFpcnMgb2YgaW5wdXQgdmFsdWVzCisvLyBhbmQgYXNzZXJ0aW5nIHRoYXQgdGhlIHJlc3VsdCBpcyB3aXRoaW4gVUxQIHVscHMgb2YgdGhlIGV4cGVjdGVkIHZhbHVlLgorLy8gRm9yIHRlc3RpbmcgYSAoZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgLT4gZG91YmxlIGZ1bmN0aW9uIGxpa2UgZm1hKDMpLgordGVtcGxhdGUgPHNpemVfdCBVTFAsIHR5cGVuYW1lIFJULCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCBzaXplX3QgTj4KK3ZvaWQgRG9NYXRoRGF0YVRlc3QoZGF0YV8xXzNfdDxSVCwgVDEsIFQyLCBUMz4gKCZkYXRhKVtOXSwgUlQgZihUMSwgVDIsIFQzKSkgeworICBmZXNldGVudihGRV9ERkxfRU5WKTsKKyAgRnBVbHBFcTxVTFAsIFJUPiBwcmVkaWNhdGU7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgTjsgKytpKSB7CisgICAgRVhQRUNUX1BSRURfRk9STUFUMihwcmVkaWNhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2ldLmV4cGVjdGVkLCBmKGRhdGFbaV0uaW5wdXQxLCBkYXRhW2ldLmlucHV0MiwgZGF0YVtpXS5pbnB1dDMpKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOworICB9Cit9CisKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfZXhwX3Rlc3QuY3BwIGIvdGVzdHMvbWF0aF9leHBfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlYjI1ODQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9leHBfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxOTc1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZG91YmxlIGV4cGVjdGVkOwotICBkb3VibGUgY2FsbF9kYXRhOwotfSBleHBfaW50ZWxfZGF0YV90OwotCi1zdGF0aWMgZXhwX2ludGVsX2RhdGFfdCBnX2V4cF9pbnRlbF9kYXRhW10gPSB7Ci0gIHsgLy8gRW50cnkgMAotICAgIDB4MS4wMDAwMDAwMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcC01MgotICB9LAotICB7IC8vIEVudHJ5IDEKLSAgICAweDEuMDAwMDAwMDAwMDExZmZmZmZmZmZmZmZmZmZmZmZmZmZwMCwKLSAgICAweDEuMWZmZmZmZmZmZmY1ZXAtNDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyCi0gICAgMHgxLjAwMDAwMDAwMDIwN2ZmZmZmZmZmZmZmZmZmZmZmZDM0cDAsCi0gICAgMHgxLjAzZmZmZmZmZmVmN2ZwLTM5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMwotICAgIDB4MS4wMDAwMDAwMGMxYjU5ODAwMDAwMDAwMDAwMDI3YTdkNXAwLAotICAgIDB4MS44MzZiMmZmZjZkNmNicC0zMwotICB9LAotICB7IC8vIEVudHJ5IDQKLSAgICAweDEuMDAwMDAwMDMzZDM5NzgwMDAwMDAwMDAwMDAwMmE1MWRwMCwKLSAgICAweDEuOWU5Y2JiZmQ2MDgwYnAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1Ci0gICAgMHgxLjAwM2FmNmMzN2MxZDMwMDAwMDAwMDAwMDAwMDk0NDZlcDAsCi0gICAgMHgxLmQ3N2ZkMTNkMjdmZmZwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgNgotICAgIDB4MS4wMTZiNGRmMzI5OWQ3N2ZmZmZmZmZmZmZmZmU4M2UxMHAwLAotICAgIDB4MS42YTRkMWFmOWNjOTg5cC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgNwotICAgIDB4MS4wY2E0YTQxNjYzZmUwN2ZmZmZmZmZmZmZmZmRhYjIzNXAwLAotICAgIDB4MS44YWU4MjM4NTAyMzBicC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgOAotICAgIDB4MS4xNTM4ZWExOGE0NTg1MDAwMDAwMDAwMDAwMDM5ZTA1NHAwLAotICAgIDB4MS40NjM3MGQ5MTU5OTFicC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOQotICAgIDB4MS40NzQwOGNiOTU4M2NlMDAwMDAwMDAwMDAwMDJjODk2ZnAwLAotICAgIDB4MS5mNmU0YzNjZWQ3YzcycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAKLSAgICAweDEuMjdjMmU0YmMxZWU3MDdmZmZmZmZmZmZmZmZlYjBjMmRwMSwKLSAgICAweDEuYWNjZmJlNDZiNGVmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDExCi0gICAgMHgxLjU1N2Q0YWNkN2U1NTY4MDAwMDAwMDAwMDAwMjAyYzg2cDIsCi0gICAgMHgxLmFjYTdhZThkYTVhN2JwMAotICB9LAotICB7IC8vIEVudHJ5IDEyCi0gICAgMHgxLjkxYThkZmY1NDBmZjcwMDAwMDAwMDAwMDAwMmYxZTMzcDIsCi0gICAgMHgxLmQ2MzM2YTg4MDc3YWFwMAotICB9LAotICB7IC8vIEVudHJ5IDEzCi0gICAgMHgxLjhlZGU0OTJkOTYwNzFmZmZmZmZmZmZmZmZmMGFlY2QycDMsCi0gICAgMHgxLjQyZWUzYzdkYzQ5NDZwMQotICB9LAotICB7IC8vIEVudHJ5IDE0Ci0gICAgMHgxLmFjNTBiNDA5YzhhZWUwMDAwMDAwMDAwMDAwMDIyY2UzcDgsCi0gICAgMHgxLjgzZDRiY2RlYmIzZjRwMgotICB9LAotICB7IC8vIEVudHJ5IDE1Ci0gICAgMHgxLmYzZTU1OGNmNGRlNTQwMDAwMDAwMDAwMDAwMWY1ODA4cC0yMywKLSAgICAtMHgxLmU4YmRiZmNkOTE0NGVwMwotICB9LAotICB7IC8vIEVudHJ5IDE2Ci0gICAgMHgxLjk1MWM2ZGM1ZDI0ZTI3ZmZmZmZmZmZmZmZmYjZlMGMzcC05LAotICAgIC0weDEuNzFlMGI4NjliNWU3OXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcKLSAgICAweDEuMTA2NGIyYzEwM2RkYTgwMDAwMDAwMDAwMDAzZWI1ZDdwLTMsCi0gICAgLTB4MS4wMjM5M2Q1OTc2NzY5cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIDB4MS4zZWYxZTliM2E4MWM3ZmZmZmZmZmZmZmZmZmMzMTVwLTIsCi0gICAgLTB4MS4yYTljYWQ5OTk4MjYycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIDB4MS41MzRkNGRlODcwNzEzMDAwMDAwMDAwMDAwMDNjNmZiN3AtMywKLSAgICAtMHgxLmNjMzdlZjdkZTc1MDFwMAotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLjIyMTcxNDdiODVlYTk4MDAwMDAwMDAwMDAwNzc0NWEzcC0xLAotICAgIC0weDEuMjJlMjRmYTNkNWNmOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgMHgxLjk0MDNmZDBlZTUxYzgwMDAwMDAwMDAwMDAwNzcyMGYxcC0yLAotICAgIC0weDEuZGMyYjVkZjFmN2QzZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDIyCi0gICAgMHgxLmJhZGVkMzBjYmYxYzNmZmZmZmZmZmZmZmZmZmJkOTA0cC0xLAotICAgIC0weDEuMjkwZWEwOWUzNjQ3OXAtMwotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgMHgxLmZmZTVkMGJiN2VhYmYwMDAwMDAwMDAwMDAwMDMwMzIwcC0xLAotICAgIC0weDEuYTJmZWZlZmQ1ODBkZnAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIDB4MS5mZmZmZmY4NGIzOWM0ZmZmZmZmZmZmZmZmZmZmMTdmNHAtMSwKLSAgICAtMHgxLmVkMzE4ZWZiNjI3ZWFwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUKLSAgICAweDEuZmZmZmZmZmFkMGFlNjgwMDAwMDAwMDAwMDAwOWYxYThwLTEsCi0gICAgLTB4MS40YmQ0NjYwMWFlMWVmcC0zMQotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgMHgxLmZmZmZmZmZmZmY3MDAwMDAwMDAwMDAwMDAwMDAwMDAzcC0xLAotICAgIC0weDEuMjAwMDAwMDAwMDI4OHAtNDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS5mZmZmZmZmZmZmZmRwLTEsCi0gICAgLTB4MS44MDAwMDAwMDAwMDEycC00OAotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmMwcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01MwotICB9LAotICB7IC8vIEVudHJ5IDMwCi0gICAgMHgxLjAwMDAwMDAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZTBwLTQ4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEKLSAgICAweDEuMDAwMDAwMDE3ZmZlODAwMDAwMDAwMDAwMDAwMzVmZmRwMCwKLSAgICAweDEuN2ZmZTdmZmVlMDAyNHAtMzIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIDB4MS4wMDAwMDAwMTgwMDE3ZmZmZmZmZmZmZmZmZmZjOWZmZHAwLAotICAgIDB4MS44MDAxN2ZmZWRmZmRjcC0zMgotICB9LAotICB7IC8vIEVudHJ5IDMzCi0gICAgMHgxLjAwMDAwMDc1ZTlmNjQwMDAwMDAwMDAwMDAwMGIxZTgwcDAsCi0gICAgMHgxLmQ3YTdkODkzNjA5ZTVwLTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAweDEuMDAwNmU4MzczNmY4YzgwMDAwMDAwMDAwMDAwYWEwYWZwMCwKLSAgICAweDEuYmEwN2Q3MzI1MGRlN3AtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNQotICAgIDB4MS5kZTdjZDY3NTEwMjlhMDAwMDAwMDAwMDAwMGU4YmIyZnAxNiwKLSAgICAweDEuNzZlN2U1ZDdiNmVhY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYKLSAgICAweDEuMWQ3MTk2NWY1MTZhZDgwMDAwMDAwMDAwMDA5ZjdlOTdwMTksCi0gICAgMHgxLmE4ZWFkMDU4YmM2YjhwMwotICB9LAotICB7IC8vIEVudHJ5IDM3Ci0gICAgMHgxLmE4YzAyZTk3NGMzMTRmZmZmZmZmZmZmZmZmZTIxZjAzcDI1LAotICAgIDB4MS4xZDVjMmRhZWJlMzY3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOAotICAgIDB4MS5iODkwY2E4NjM3YWUxZmZmZmZmZmZmZmZmZmU0MjE2MXA0MCwKLSAgICAweDEuYzQ0Y2UwZDcxNmExYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAweDEuZjAzZjU2YTg4YjVkNzgxYzkwNWY2YjUxYzc2YWU5ODFwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAKLSAgICAweDEuZmYwMDNmZjU1NmFhODdlYmIwNmUwZWI1NzI4NzU2N2ZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDBhcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEKLSAgICAweDEuOGViZWY5ZWFjODFmYzgwMDFhM2RiZDg4MjQ4ZWZlMTNwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDI1cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIKLSAgICAweDEuZmMwM2ZkNTZhNDY5YjgwMDAwOGJjZGZlMDE4ZGJjNzRwLTEsCi0gICAgLTB4MS4wMDAwMDAwMTcxMDUxcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMKLSAgICAweDEuNzhiNTYxMmRiZWUwMTAwMDhkM2JjMDczNWM4MGY3YThwLTIsCi0gICAgLTB4MS4wMDAwMDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NAotICAgIDB4MS45NjljODcwZWE5ZjVhODAxZGRjMWZmMDhhMDA4ZGIwOXAtOTMsCi0gICAgLTB4MS4wMDAwMDFlM2VwNgotICB9LAotICB7IC8vIEVudHJ5IDQ1Ci0gICAgMHgxLjc4YWY4NjdiYzUxMWQzMjFjZDQ1NGRiZGRhZjgwNmJjcC0yLAotICAgIC0weDEuMDAwM2ZjMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuZmZmZmZmZmZmZWZmZjgwMDAwMDAwMDA0MDAxMDAwMTVwLTEsCi0gICAgLTB4MS4wMDA4MDAwMDAwNHAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NwotICAgIDB4MS43ODkyMTQwOTNjODFkM2I2NWZhYzY1OWZiM2ZjODI0OXAtMiwKLSAgICAtMHgxLjAwMTgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OAotICAgIDB4MS44ZTI5OGU1MmZjY2U4ODAxNGFkOTVjNGYzYmQ4ODc2NXAtMSwKLSAgICAtMHgxLjAxOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgMHgxLmFhNmZmYjBiYTUxOWY4MDFmOWMzZTE0NmExNWRjMDJjcC0yNCwKLSAgICAtMHgxLjAyMDEwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MAotICAgIDB4MS5kZDdhNDZiOGQ4NWQ2N2Q2NzM1OTMzNzEwOWMyNTE2OHAtMzc2LAotICAgIC0weDEuMDQwcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MQotICAgIDB4MS4zM2U5NmNhM2JjZjNlODAxZjliM2Y2MTI2ZmM2MDY5OXAtMSwKLSAgICAtMHgxLjA0NWI5NDg3MjQxMzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIDB4MS5lZjJmNjUyZGMyNjA1N2ZmZmM5OGFhNTRkNGMzM2MxNnAtMSwKLSAgICAtMHgxLjExOGUwNWNmYTNlODBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIDB4MS5hNWQyY2U5NzdiYmUyODA0OGIzMTY5MjdmOTcwYzIwMXAtNywKLSAgICAtMHgxLjE2OTE1NmUxN2I5YjlwMgotICB9LAotICB7IC8vIEVudHJ5IDU0Ci0gICAgMHgxLmEwMjA3Y2Y0MTkwZjcwMDQ1MjI4MmIwNGZhMzkwNDA3cC03LAotICAgIC0weDEuMTc3MDFiM2JmMDUwMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUKLSAgICAweDEuZmI5N2UxZmY4Y2JiYTdhZGYxNmYzZmJkNjg3OGY1NjBwLTEsCi0gICAgLTB4MS4xYjRwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIDB4MS5iY2ZmMDlhZTMwYzQ2ODA0YTZmYWZkNTUwNzY2ZWVkMnAtMSwKLSAgICAtMHgxLjFmNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDU3Ci0gICAgMHgxLmZlZTcwY2Y1ZTg2ZWY0ZTU0ZDBiMWZhMjcwMWEzNDZmcC04MzMsCi0gICAgLTB4MS4yMDU5YWQ0MmMzY2Y3cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIDB4MS43Y2NkM2YzMzQwNzQ1ODAxMTQ3MGIzZjY3MTk3YTljOHAtMSwKLSAgICAtMHgxLjJmMjY5ZDJjYTM4ZDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OQotICAgIDB4MS4wOWNkYjM2ZTk3N2JjN2ZmZmZlNmQ0ZGRiYjE4ZDU1M3AtMTQsCi0gICAgLTB4MS4zNTUzY2YxODI4YjBicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MAotICAgIDB4MS5mOWRjNWNkNTQ2ZDliODAwZGMzZDk1NTE5ZGM2N2VlOHAtNDQ5LAotICAgIC0weDEuMzY4YWMwODMxMjhmY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAweDEuZjFjNTNjOTA3ZjZmNTc2ZTYyZTQwMTMxNWJhZmM2OWVwLTE1LAotICAgIC0weDEuMzc2ZThmNjc5YWUxNnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIKLSAgICAweDEuZjI0NTk1OTU0ZTY2MTgwMjg5NjVhOWQ2N2VkZWFmN2JwLTgsCi0gICAgLTB4MS4zODQ0ZjY3NDk1ZjdkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MwotICAgIDB4MS5mYjU2NTIxMjkwYTIyMjUyN2QxZDNjMzYzODI2NWY0NnAtOTA1LAotICAgIC0weDEuMzk0ZTllMWIwODlkN3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjQKLSAgICAweDEuZGMxNjU4ZmY2ZTA3MDdmYWZkMmZkODMwNmM0YjE4OTdwLTExNCwKLSAgICAtMHgxLjM5OTdlYTUxZTUyNzFwNgotICB9LAotICB7IC8vIEVudHJ5IDY1Ci0gICAgMHgxLmVjOGIzYzA5MGY4Yjk3NzE2YTNkMzhkZTQ2ZDY4YTFlcC0xLAotICAgIC0weDEuM2Q1ZGU1NjBlMTkwNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDY2Ci0gICAgMHgxLmFmNDExYmY5ODUyMjBiNTYyOTA5YzY1MmMwODdmZWY0cC05NTEsCi0gICAgLTB4MS40OTU0YWE1NTJhOTYwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIDB4MS5lMWI3MWQyMzhkNTA3N2ZlM2JlYTIyMmZjYmExNTYwOHAtOTU3LAotICAgIC0weDEuNGI1YWQ2YTlhZDZhZHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjgKLSAgICAweDEuY2M2NjZhMzUxOWNhMDgwZjFkYWVmNTdmOTJiNDFkMjlwLTk3MywKLSAgICAtMHgxLjUwZWMzMjY4NmE4MzRwOQotICB9LAotICB7IC8vIEVudHJ5IDY5Ci0gICAgMHgxLjIyNDYyYmQ1ZjcyYjBmZmZhNjA4NWIwNDQyN2ZkZjVkcC05NzYsCi0gICAgLTB4MS41MjMxNjg3MmIwMjIycDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MAotICAgIDB4MS5jMWViYzE4NjEwMzAxZmZmMjQyNGJjMzkzNjI2MGRkMnAtOTgxLAotICAgIC0weDEuNTNiNGVkM2I0ZWM3N3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzEKLSAgICAweDEuOGQwMTViY2FmOWUxOGI1N2ZkZjA1NzIzOWQ5NGY1ODZwLTk4MSwKLSAgICAtMHgxLjUzYzRmMTNjNGYwNzlwOQotICB9LAotICB7IC8vIEVudHJ5IDcyCi0gICAgMHgxLmZkNTgzNTQ2MGVkNDhjNGUxNDIwNzMwOWExMjM3ZjkwcC05ODksCi0gICAgLTB4MS41NjZhZDRhNDFiZWMwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIDB4MS41ODczM2ZiYzA4OGVmN2ZmMzhlMTVmOTQxNjZjMDIyY3AtOTk0LAotICAgIC0weDEuNTg1ODgzZTdiM2IzOHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzQKLSAgICAweDEuYjA1MjA5MDY5MDQ4MTgwMmFjZjAxNjlmNjJiZjMyYzlwLTMyLAotICAgIC0weDEuNWE4MWVjZjY4YmVjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzUKLSAgICAweDEuZGY2MTU0YmM2NDRkYWMwZjllM2E1NjY0Njk0OGI3YzVwLTEwMTUsCi0gICAgLTB4MS41Zjc1NjI5YWY0ZWI3cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NgotICAgIDB4MS5mZjRiMGRhMzcwODM1MDJjMTE0YTdhYzU2YWMwNDk4ZnAtMTAyMywKLSAgICAtMHgxLjYyMzJlYjFjNDMyZjJwOQotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgMHgxLjYyNWVkZDRjNzUxM2U4NDJmMjdhOTMxYzJiYmUwMDdjcC0xMDIzLAotICAgIC0weDEuNjI2MWQ3ZGJmNDhjY3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzgKLSAgICAweDEuZDU3MmQyNDk3M2JlMjAwMDZiYWQ5MmUyOWJjYmE5ODRwLTEsCi0gICAgLTB4MS42MzY0YjhmNzQ3ZTMycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzkKLSAgICAweDEuZWU0ZGQ3OTIyNDU3NzgwMjAyNTBmODk4MWQxYTBhZDFwLTksCi0gICAgLTB4MS42NTI0Nzk2YjQwODk1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MAotICAgIDB4MS5mNjYwYzU5YjI5NDUwNWQ4OTg5Zjg1ZjhlZDJhMTg3OHAtNSwKLSAgICAtMHgxLjY1NTFkYWFlMzY5Y2VwMQotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgMHgxLmFhMDcwNDQ5ZWZmZmU5YjkxMDY1Nzg5OGNkYzBjY2RkcC0xMDM3LAotICAgIC0weDEuNjcyNDYzZjE0MTYwN3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAweDEuZDRlN2ZjMzMxYjczMjdmZmNjZjRlZTBjNTlhYTdiMjJwLTEsCi0gICAgLTB4MS42ODIwYzk5YzFkYzE2cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgODMKLSAgICAweDEuZmNjNDQ4YWNmNDc2NTc1YzY2ZWUzOTY5MTJkYmFhY2RwLTUyOCwKLSAgICAtMHgxLjZkNGI3ZTgyYzNmMDJwOAotICB9LAotICB7IC8vIEVudHJ5IDg0Ci0gICAgMHgxLjdmZmY1YTFiZmZjYjIwNjJjOWFhYTViMDdkMDk3MjU1cC01MjksCi0gICAgLTB4MS42ZTQ0Zjc2NWZkYTc2cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NQotICAgIDB4MS5mYTRlY2Q4YWU1NzE4N2ZmZmZmZmY5OTEwYzQ3NmM2NHAtMSwKLSAgICAtMHgxLjZlNTZlNzI1YjgzMDRwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5lOGQyZGFmZDAxN2NlODAzMmJjYjg5NDU5NDY0ZmU3ZHAtMywKLSAgICAtMHgxLjZlY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODcKLSAgICAweDEuMjE0ZTM0Y2FhYzllNjcxMzk2ODhhZDE2MzJkZDIwNTVwLTEwNjIsCi0gICAgLTB4MS43cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OAotICAgIDB4MS5jODdmMjE3NzVhNDgyYTA5YTQ0YWY1OWMzYzNhZTQ0YnAtMTA3MSwKLSAgICAtMHgxLjcyZTQycDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OQotICAgIDB4MS5hMzQ5YjIzMjljNjc3N2ZmY2U2NTkzNGIzYjYyMDNhN3AtMjczLAotICAgIC0weDEuNzk3OGJhYzcxMTIxY3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTAKLSAgICAweDEuZDJhNmQ1ZWE5OTVjMTdhYjQ0ODEzMmUxZTA0NTM4MDVwLTEsCi0gICAgLTB4MS43YmRlNzllMGY5NzBjcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTEKLSAgICAweDEuYjc3NmRjNjRjNzZkMTk3ZThjNjQ0ZGM4Y2I1MDljNGFwLTMsCi0gICAgLTB4MS44YTBwMAotICB9LAotICB7IC8vIEVudHJ5IDkyCi0gICAgMHgxLjQ0NDZmY2Y3ZGE2ODk4MDJkOGM3MjVkYjhjMTE0NWFmcC03MiwKLSAgICAtMHgxLjhkNWM4NGYwYmFjOGNwNQotICB9LAotICB7IC8vIEVudHJ5IDkzCi0gICAgMHgxLmU3MmEwYjY4YmI4MmI3OGNlMDUyNGQxYWJiNmY3YWJlcC03MywKLSAgICAtMHgxLjhmYTY4YjQ0NDcyMzBwNQotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgMHgxLmZjMzNkNWUxY2E2ZGY3ZDUwNjliMDNkYzVhNjgzZTRmcC03NSwKLSAgICAtMHgxLjlhNjcxNjkzYjk0NmJwNQotICB9LAotICB7IC8vIEVudHJ5IDk1Ci0gICAgMHgxLmU2OTgxZmQ2ZWY3OWM3ZmZmZmZjYzcyMDFmODJmZDQ5cC0xLAotICAgIC0weDEuYTBlYzg5Zjg5N2E3NXAtNQotICB9LAotICB7IC8vIEVudHJ5IDk2Ci0gICAgMHgxLmYyYjlkM2I2Y2YyMjc3YTEyODNmOGUwMDc0M2EwNjY5cC0xLAotICAgIC0weDEuYWU2cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAweDEuZTUwMzRjOGQxOTFiYmZmZjcxOWYyMDk4ZTMzYzA1NzdwLTEsCi0gICAgLTB4MS5iYjk3MDZlMmYxYmI0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTgKLSAgICAweDEuZjI0ZGM5MGY5ZmJlYjgwMjhmYmNhZWViYWJjN2U5ZmNwLTEsCi0gICAgLTB4MS5iYzNlZGFkMmUxZWZicC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAweDEuNzFmMjM3ZDY0YTZlYjQ2YWExNTQ0NzZmZDBmYzM4ODZwLTExLAotICAgIC0weDEuZDA2OTdlZGJlMDA1MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwCi0gICAgMHgxLmYxMmMwZDNhZGRhYTQ4MDA0YjIzNTE2ZDJhMTEzODA0cC0xLAotICAgIC0weDEuZTE4cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxCi0gICAgMHgxLmYxMTBkZDkwNzNkNzE4MDBiYjQwNTY4MzBiNTE3YjA4cC0xLAotICAgIC0weDEuZTUwcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyCi0gICAgMHgxLmYzYWE3YTg2MDU3NGMyYjA3ODMwNjFmZTFmZDFkZjJlcC03MDUsCi0gICAgLTB4MS5lN2ZmZmZmZmZmZmZmcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMKLSAgICAweDEuZjBmODk4ZDU1MTE3MDgxZmMzYjg3OTIyMDVlNGUxMzBwLTEsCi0gICAgLTB4MS5lODJwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQKLSAgICAweDEuZmY4MTRmZmYxOGRhYzg1NDE4NWQwMTliMGY4ZWFkMzZwLTEsCi0gICAgLTB4MS5mYWZlYmZhZmViZmIwcC0xMQotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIDB4MS5mZmZmZmZmZjAxYzA3MDFjNDYyMDhjNTQxNmQ5NDNhZHAtMSwKLSAgICAtMHgxLmZjN2YxZmM3ZjIwcC0zNAotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIDB4MS43OTA3ZDQxNDhiZDkxNjg3YTFiNTBmMjZlODgzMDc3NXAtMiwKLSAgICAtMHgxLmZmOGZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcKLSAgICAweDEuZmZmZmZmZmZmZmZmODAxYzAwMDAwMDAwMTNmOTAwYzNwLTEsCi0gICAgLTB4MS5mZjhmZmZmZmZmZmZmcC01MQotICB9LAotICB7IC8vIEVudHJ5IDEwOAotICAgIDB4MS5lMGZiYjAzYTBjMjdkN2U4NDgwNGNhZGVjMzc3YmRmOXAtMSwKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkKLSAgICAweDEuZmZmZmZmZmZmZjAwMDgwMDAwMDA0MDA0MDAwZmZmZjVwLTEsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmZmcC00MgotICB9LAotICB7IC8vIEVudHJ5IDExMAotICAgIDB4MS5mZmZmZmZmZmZmMDAwN2ZmZmZmZmZmZmMwMDEwMDAxNXAtMSwKLSAgICAtMHgxLmZmZjAwMDAwMDA4cC00MgotICB9LAotICB7IC8vIEVudHJ5IDExMQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMDAwNzE5ZXAtMSwKLSAgICAtMHgxLmZmZjhlNjFlYWRkNDhwLTEwMQotICB9LAotICB7IC8vIEVudHJ5IDExMgotICAgIDB4MS5mZmZmZmZmZmZjMDAwODAwMDAwNDAwMTAwMDBmZmQ1NXAtMSwKLSAgICAtMHgxLmZmZmJmZmZmZmZmZmZwLTQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzCi0gICAgMHgxLmZmZmZmZmZmZmMwMDAwMWMwMDA0MDAxZmM3ZmZmZTE5cC0xLAotICAgIC0weDEuZmZmZmYxZmZmZmZmZnAtNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQKLSAgICAweDEuZmY4MDBmZmVhYWMwMDg1ODlmOWE5NmFmNzNlYWZmNjdwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZGE1cC0xMQotICB9LAotICB7IC8vIEVudHJ5IDExNQotICAgIDB4MS5lMzU1YmJhZWU4ZDg1ODE1ZTRiNDc2YjcwNGQwZjRmMXAtMjQsCi0gICAgLTB4MS5mZmZmZmZmZmZmZjdkcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYKLSAgICAweDEuNzhiNTYzNjJjZWYzZGE5ODQ0NTNkMWM3MmMzNDRhMzFwLTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDExOAotICAgIDB4MS40MmViOWYzOWFmYmFjN2U1ZTczYzMyYTIxZTg1M2YyNnAtMTg1LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMjBwMCwKLSAgICAweDEuMHAtNTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAweDEuOTVlNTRjNWRkNDIxNzdmNTNmNGQ1MjE5ZGYxMWNhM2JwMTg0LAotICAgIDB4MS4wcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEKLSAgICAweDEuOTQ3NjUwNGJhODg1NzU4YWE1ZmE3NTQ1ZTEwZThlNDZwNzM4LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIKLSAgICAweDEuMDEwMDgwMmFiNTU3NzgwMmJhNDI0YWQ0NmIxMDZhNjZwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwM3AtOAotICB9LAotICB7IC8vIEVudHJ5IDEyMwotICAgIDB4MS4wMDAwMDA0MDAwMDAwODAwMDAxY2FhYWFiMWI1NTU1NnAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDA3cC0yNgotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS5kOGU2NGI4ZjI2YzEyODUxNzQ4OWE0OTBlNjg0ZDhhOHAyLAotICAgIDB4MS4wMDAwMDAwMDhwMQotICB9LAotICB7IC8vIEVudHJ5IDEyNQotICAgIDB4MS43NDllYTdlMDE1YmMxZGRkZmExOWZiYjNjZjhiZGVkNHAxMSwKLSAgICAweDEuMDAwMDAwMDEwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYKLSAgICAweDEuMGYyZWJkMmM2NWQ5YTgwMDgxYWMyZTY1ZTgwMjVhYjFwMjMsCi0gICAgMHgxLjAwMDAwMDAyMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3Ci0gICAgMHgxLjBmMmVjMTQ3M2FmZWE4MDgxZmE0NTY2OTI3YTRjZmQzcDIzLAotICAgIDB4MS4wMDAwMDA0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgKLSAgICAweDEuMDAwMDAwMDAwMTAwMDgwMDAwMDA4MDA4MDAyMDAwMmFwMCwKLSAgICAweDEuMDAwODBwLTQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI5Ci0gICAgMHgxLjAwMDAwMDAwMDA4MDA4MDAwMDAwMjAwNDAwMjAwMDA1cDAsCi0gICAgMHgxLjAwMXAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAKLSAgICAweDEuMDAwMDAwMDAwMDAwMDgwMDgwMDAwMDAwMDAyMDA0cDAsCi0gICAgMHgxLjAwMXAtNTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEKLSAgICAweDEuYThiZjgxYTU5N2VkZDIyM2YyZGI2ZWJmZTJlYjFjYzFwMTg0LAotICAgIDB4MS4wMDE3M2VhYjM2MjNhcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIKLSAgICAweDEuNzVlNTQxNzVhYWJiMzdmZmY1ZTViNDRiYTBmMTAxYjdwMTEsCi0gICAgMHgxLjAwMWMwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAweDEuNjAwMDhmYmVkNmM1MjgwMjA2ZTc5OTA5MzIxZDA5YzhwMSwKLSAgICAweDEuMDJmOGFmOGFmOGFmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgMHgxLjA0MTg0YmI4MGZmNDNmZmZjODljNTNmMWVlMDRjZTA0cDAsCi0gICAgMHgxLjA0MHAtNgotICB9LAotICB7IC8vIEVudHJ5IDEzNQotICAgIDB4MS4wMDAwMDg0MDAwMjIwODAwNWQ5NjAwYzEwNTYxM2U3Y3AwLAotICAgIDB4MS4wODBwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2Ci0gICAgMHgxLjIzMzhhYjliNzQzMjA4MDAwMDAwMDk3MzkzOGJhY2IwcDAsCi0gICAgMHgxLjA4MDAwMDAxZDBmYzhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzcKLSAgICAweDEuYWNjOTFiZmE3YzU0YzgwMzY1NDhjOTY4YjM2ZTU3NTBwMCwKLSAgICAweDEuMDgxNDQxOWQ2YTY1YXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzOAotICAgIDB4MS5hNGU0NjkzNDEzYjk5NzA3NTVjMTU2MzNhZjI1Zjk2YnA0MDAsCi0gICAgMHgxLjE1YzE4ZGU4Nzc1NjNwOAotICB9LAotICB7IC8vIEVudHJ5IDEzOQotICAgIDB4MS4wMDAwMDAwMDAwMDA0ODAwMDAwMDAwMDAwNjFmZmZmZnAwLAotICAgIDB4MS4xZmZmZmZmZmZmZmZmcC01MAotICB9LAotICB7IC8vIEVudHJ5IDE0MAotICAgIDB4MS5lYWE1MjFlZGYxYmMyODAxNDYwMjE5MWNlNjE4YzA1ZnA4NDYsCi0gICAgMHgxLjI1ODZjYTljZjQxMWJwOQotICB9LAotICB7IC8vIEVudHJ5IDE0MQotICAgIDB4MS5mY2E5YzQ3MDE2Y2IxNzYxN2IyNzViMjk4Y2Y5Zjg5NHAyNiwKLSAgICAweDEuMmI1NWMwMzdlYmI5ZHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQyCi0gICAgMHgxLmZjYmIxZTVjOGQ1MzU3NWFiYzc4NzI2ZjVjZWE2ZjUxcDI2LAotICAgIDB4MS4yYjU2NGJlZTBhNmNhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAweDEuY2MwZjlkOTExZjFkMTAwMmNmMGFmMzgyZmRmNjJmMDJwMCwKLSAgICAweDEuMmMycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ0Ci0gICAgMHgxLmI2OGEyOGIwOWZlOTQ3ZmRmMDAxMDRmNmQ4YzI0ODAxcDYsCi0gICAgMHgxLjJjOWUzM2Y3OTQ3NjlwMgotICB9LAotICB7IC8vIEVudHJ5IDE0NQotICAgIDB4MS5kMmUwMzViMTg5MmQ2ODAyYTljOWUyODhkOGU5N2M5OHAwLAotICAgIDB4MS4zM2E3NGZmMDZmYjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ2Ci0gICAgMHgxLjZhY2RlODQ0MzU2YzkyMWZhOTkzMTNhYTE4NjcwNTkzcDMsCi0gICAgMHgxLjM2Y2NlM2MzOTI1cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAweDEuMDZkYWRlZTI4YzExYzgwMGZiOTA5NDQzNWMxZGU3MjdwNywKLSAgICAweDEuMzgzODljNDhiMGZjZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ4Ci0gICAgMHgxLmM3OGYzN2YwN2NlYTY0MjZlZDU1NDhiNGEzMWQ0YWMycDkwNCwKLSAgICAweDEuMzk5NzM4MWQ3ZDk0ZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQ5Ci0gICAgMHgxLmJmZTBjNTE5MTY2YzQ3ZmUzYTRiMzRlNmMzNGI1YWU0cDEsCi0gICAgMHgxLjQwYTMzOWM4MWNlY2JwMAotICB9LAotICB7IC8vIEVudHJ5IDE1MAotICAgIDB4MS5mYmM5YzMwNjAzMDg3NDg4YTNkOTIyNjViNTNjMmE2NXA5MjcsCi0gICAgMHgxLjQxOWRiY2M0ODY3NzBwOQotICB9LAotICB7IC8vIEVudHJ5IDE1MQotICAgIDB4MS5mMWVmOWM4YTRmZGFlODAxYjE5ZjhlNDJlZmYyYzRhOHA5MzAsCi0gICAgMHgxLjQyYTU2NWU0NTZlMDRwOQotICB9LAotICB7IC8vIEVudHJ5IDE1MgotICAgIDB4MS5kYTEzNGQ1YTRkMWUxODAwYzQzNjU0NDk5NDA1OGNlNnA5MzQsCi0gICAgMHgxLjQ0MDIwMTAwODA0cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTMKLSAgICAweDEuZjRlYzQ0MTk0YjY0MjgwMWE0YWZkNGM1MDYzM2U4YWFwOTM4LAotICAgIDB4MS40NTZiZjIzZTAyNDI4cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTQKLSAgICAweDEuZWE5MWQ5NTMzYjM5NDgwMWJmM2QzZWM4Zjg4ZGU1NjhwOTM5LAotICAgIDB4MS40NWMxZmVlZjgwODZjcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAweDEuY2I0MTliOTI3OWIzNTc2M2QxMTNlNmM1ZGI3OWRjNTRwOTQzLAotICAgIDB4MS40NzFjNzFjNzFjNzFjcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTYKLSAgICAweDEuNmQxNDMwODgyODMyMWRlNmZlNjdhNDEzNmYxN2QxZjhwMjksCi0gICAgMHgxLjQ3NGM5Y2M0NGNjMjVwNAotICB9LAotICB7IC8vIEVudHJ5IDE1NwotICAgIDB4MS5jMDE5NGI0MTg2ZTI3ODAxMjBiODczZDcyNDU2ZWNkZHA5NTYsCi0gICAgMHgxLjRiOWFiMTc4MTIwMzBwOQotICB9LAotICB7IC8vIEVudHJ5IDE1OAotICAgIDB4MS4xNWM2MDU4NTM0NzZiODAwMDhjYWJjNGIyMDdmZmQxZnAwLAotICAgIDB4MS40ZTU5ZGM3ZTJiMDUzcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLjZkZWUzODczNWE2ZDM4MDBkOGVjMTE3NjgzMjc1ZjNhcDk3MiwKLSAgICAweDEuNTEwYzU0NjVkOTg0YnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYwCi0gICAgMHgxLmYxZTk2YmUyYTUyY2Q3NzdlOGNmNTQxODRlZDdhZTQ4cDAsCi0gICAgMHgxLjU0OWIwZjU3NDIzODJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjEKLSAgICAweDEuZjI1M2M1OTkwYWFkMjgwMDAwNGRiNjE1YjExNDg0NzZwMCwKLSAgICAweDEuNTUwODVmYjg2NTAxYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE2MgotICAgIDB4MS4yNzliMWM0M2EyNjYxN2ZmNGM3NTA4YzM1ZTU2MmIyMnA5OTMsCi0gICAgMHgxLjU4MzgzMTI2ZTk0YmZwOQotICB9LAotICB7IC8vIEVudHJ5IDE2MwotICAgIDB4MS42ZmQ1YWI1OTE1M2YzMmE0YTM4MzcxMGEzNDE5ZjU3ZHA5OTYsCi0gICAgMHgxLjU5NWU1Nzk1ZTU5MmJwOQotICB9LAotICB7IC8vIEVudHJ5IDE2NAotICAgIDB4MS41ZWNmMTg3NjUzOTU0N2ZmZDYxMmU1YzRiNzE1YzhhZHAxMDA0LAotICAgIDB4MS41YzFlMGYwNzgzYzEwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAweDEuZjJhM2MyOWZjNmQ3MjNhNjNlMzQ5YmJjZDc4OTRhOGFwMTAwOCwKLSAgICAweDEuNWRhZGY1ZDFlNDUyY3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgMHgxLmVkY2IxNDg3OTYxM2U4MDE3NjA4N2MxYTc2ZGVjOTdjcDEwMDksCi0gICAgMHgxLjVlMDU2ZWQ0MGU1NmVwOQotICB9LAotICB7IC8vIEVudHJ5IDE2NwotICAgIDB4MS5mY2M3ZTVjYTgwYjFmNzVjMTRkNzYyZjg0NmJjMTY2OXAwLAotICAgIDB4MS41ZmE5N2JiNGU5MDYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY4Ci0gICAgMHgxLmY4YjVjOTg3YTNkODc3ZTE4YmZjYWRhNTBmMWM1NGIwcDMsCi0gICAgMHgxLjYxMGU0N2UxMzI1ZGNwMQotICB9LAotICB7IC8vIEVudHJ5IDE2OQotICAgIDB4MS5mMWU5ZDhjZjI0ZmNkODAyNTEyNzg3N2E3MzhlYjJkMXA3LAotICAgIDB4MS42MTFiMTlkY2M1M2U0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzAKLSAgICAweDEuZmZjMDQ1NjkyZThhMDM5YzU2MjJiODIxOWYxOWM2MTlwMTAyMywKLSAgICAweDEuNjJlNDFmZmZmZmZmYXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcxCi0gICAgMHgxLmZmYzA0NTY5MzAwOWQzZDA2NTA2MmY5MjY3ZGZmNTVlcDEwMjMsCi0gICAgMHgxLjYyZTQycDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzIKLSAgICAweDEuZmZjMDQ1NjlhMmZiODM2NzkyMzkwOTFkZjA2ODk5N2VwMTAyMywKLSAgICAweDEuNjJlNDIwMDAwMDFjY3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTczCi0gICAgMHgxLmZmZmZmZmZmZmViMmExYjBlMjYzYWM2ODA3NmVkNGUwcDEwMjMsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWFwOQotICB9LAotICB7IC8vIEVudHJ5IDE3NAotICAgIDB4MS4wMDAwMGI0MDAwM2Y0ODAwZWQ0ZTAyOWI2YjY1ZGRiMXAwLAotICAgIDB4MS42ODBwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc1Ci0gICAgMHgxLjE3ZTYyZjcwYmVjOTk4MDFhMjkzNmU4OWI1NGM1MjU2cDgsCi0gICAgMHgxLjY4OWE3ZGM1OTIxYjhwMgotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIDB4MS42ZGFhYTEzMzZhMzE1MDAxNzRjYTBiZTU2OTgwNmZkZXAyNjQsCi0gICAgMHgxLjZlYjFkZTY5YWNlMzJwNwotICB9LAotICB7IC8vIEVudHJ5IDE3NwotICAgIDB4MS43MmE5ZGFkZWE3NDk4Yzk1YTUxNGMwMWQ1NDAzZTVkMHAwLAotICAgIDB4MS43YjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzgKLSAgICAweDEuMWVkM2ZlNjRmYzUzOTgwMGY5Y2QzNGVjNGM4M2Q5ZDFwMiwKLSAgICAweDEuN2ZmZmZmZmZmZmZmOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc5Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDE4MDAwMDAwMDAwMDAwMWZmZmZmcDAsCi0gICAgMHgxLjdmZmZmZmZmZmZmZmZwLTUyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgwCi0gICAgMHgxLmZlMzExNTJiN2VmNmIxZTBhOGI5ZmVjN2VjZGQ4NWE0cDU1MywKLSAgICAweDEuOHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgxCi0gICAgMHgxLjc0ZDc3Yjc2ZDk1MTYzMjI2Y2FmODQ3NjBhMzQ2YWJicDAsCi0gICAgMHgxLjgxMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIDB4MS5mMGUzZTViNmMxN2MwMmE3OTljMzA2ZGJjMWIxYThlY3A1NTYsCi0gICAgMHgxLjgyMGQ5MmZjNGI0MmFwOAotICB9LAotICB7IC8vIEVudHJ5IDE4MwotICAgIDB4MS4wMDAwMDAwMGMxYjU5ODAwMDAwMDAwMDAwMDI3YTdkNXAwLAotICAgIDB4MS44MzZiMmZmZjZkNmNicC0zMwotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIDB4MS43OGI2OWQ2OTBkYjc5MmI1NzRmOTA0ZDJiYjFlOWViZXA1NzAsCi0gICAgMHgxLjhiN2FlZTYzMWY0ODlwOAotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIDB4MS40ZGFkOTU4NzdhZTA3ODAwMDAxMjgyN2ZhYzg5MTUzNXAxNDQsCi0gICAgMHgxLjkwNTAxMWUwZGY2MjlwNgotICB9LAotICB7IC8vIEVudHJ5IDE4NgotICAgIDB4MS5mY2JiODc3OGY2MTIxNzY2NWE2ZTZmMjExOTg4MGIyOXAxNDQsCi0gICAgMHgxLjkxZmZmcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODcKLSAgICAweDEuN2E1YjI3NzFlMGExNmNlNmVjZDZkZTg1NzNjMTExOTJwNCwKLSAgICAweDEuOTRlNTQ3MzhmYjRiN3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg4Ci0gICAgMHgxLjdkNjc2YTI2ZmU1Y2FjY2VhNTliMDIzNTQwYmVjODBmcDAsCi0gICAgMHgxLjk4NHAtMgotICB9LAotICB7IC8vIEVudHJ5IDE4OQotICAgIDB4MS42OTg3NjQxMjhhNDQ0ODAxMGUyNTFiNTVmMzdhN2I2ZXAxNDcsCi0gICAgMHgxLjk4ZjM4MWQ3ZGI0NGZwNgotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIDB4MS40NGU1YTc1MmY5ZTFlZmZmYjMxNDgxNDg0YWE3NjkyYXA5LAotICAgIDB4MS45ZTgxODZiMjY3YTI4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTEKLSAgICAweDEuODAyM2QyOThlMzcyZjgwMjBlYzhjZjRhNzBhZmZhODdwMCwKLSAgICAweDEuOWY5MWMxNDQ5YzQyMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE5MgotICAgIDB4MS5kZjliZDA2ZGFmOGNlN2IxMjNkZjQzYmI1MDEwOTkzOHAyOTksCi0gICAgMHgxLjlmYzFmMjEyZDcwZjZwNwotICB9LAotICB7IC8vIEVudHJ5IDE5MwotICAgIDB4MS44MWE0ZmJjYTlkY2RiODAwMDAwYWUwNjhiYzIxYzRmNXAwLAotICAgIDB4MS5hMzkyNzg5ZWFmY2U5cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk0Ci0gICAgMHgxLjgyNWYzNTRjY2Y2ZjJmZmZhYjdlOWViODI4ZmJjNjdkcDAsCi0gICAgMHgxLmE1ODA3Y2ExMzkyYjJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAweDEuM2MxZTI4NzY4MzRhYTdmYTQ2MDExZTk4YWJlYWRmNzZwMCwKLSAgICAweDEuYnAtMwotICB9LAotICB7IC8vIEVudHJ5IDE5NgotICAgIDB4MS4xYzdlMWFjYTUzNzk1ZmZmNTRhNWZkZjU1MjkyNjFjYXAwLAotICAgIDB4MS5iMDRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTcKLSAgICAweDEuYTJkNTBiOGIyODgwZTgwMWEyN2EzNGQxOTU0ZGFiNTBwMzMxLAotICAgIDB4MS5jYmQ5MTdjY2FkMDk2cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTgKLSAgICAweDEuNDE5YzhhOGRhMWI3OTgwMmUyMDI5NmU1ZjkyNzk2MjZwMSwKLSAgICAweDEuZDdiNjc3ZTMzM2QzOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIDB4MS40MWQxYjhiNDY0OWViODAwMDAyM2Y5Nzc2ZGE5ZDY0NXAxLAotICAgIDB4MS5kODBiMWE2MzMwYmVicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAwCi0gICAgMHgxLmJmMzQ0NzkyMWZkMzk3ZmQ2ZGI0NjJjZDJmYmIzOWZlcDEwLAotICAgIDB4MS5kZjUwZDlhZjllNDEwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICAweDEuOTkxOTc5NGJjODYyOTgwMjBhMTk1ODg1NTJjZWFlNWNwMCwKLSAgICAweDEuZTAwODFlYmMzMjY0ZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDIwMgotICAgIDB4MS43NmE2MmJhZDcxNWI0ODAwZGFhZGI2ZmMyYjZlNjE2NnA1LAotICAgIDB4MS5lYzViYjIwOWU1NzA3cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDMKLSAgICAweDEuYzcwMTU1NGM3NjFhYTgwZWVkZjJhNDllZjYwZTU2MmNwMiwKLSAgICAweDEuZjYycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDQKLSAgICAweDEuYzNkZGEzYzk1MmI5MTgwMTJmZDc5ZmJiOGVhMzhmNjlwNzI3LAotICAgIDB4MS5mODdjNzgyMGQ4NDQ2cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDUKLSAgICAweDEuZDI4YzYwOTdiOWQ1NTc4ODM1ZTZjZmYxYjE5NDY0Y2RwMiwKLSAgICAweDEuZmM4OWRjMWFhOTA5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA2Ci0gICAgMHgxLjQyMzExNzhjMjM0OGY1Zjc3ZWVkYjI3ZGM0MDRmNjE2cDczNCwKLSAgICAweDEuZmNmZmZmZmZmZmZmZnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA3Ci0gICAgMHgxLjA0MDM0NTkxOTExZTc3ZmYxODM0ZmQ3MGQwYmJiNGIwcDAsCi0gICAgMHgxLmZkYTZkZmUyN2ZmZmZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDgKLSAgICAweDEuYTViNTY5MWM0YjBlZjgwM2NhYjJiYWQ0YTIwMTNmMTRwMCwKLSAgICAweDEuZmYxZGQxZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDIwOQotICAgIDB4MS4wMDAwMDAwMDAwMDAzZmYyMDAwMDAwMDAwNWZjODA2MnAwLAotICAgIDB4MS5mZjhmZmZmZmZmZmZmcC01MQotICB9LAotICB7IC8vIEVudHJ5IDIxMAotICAgIDB4MS42ZDRmZDlhYjQ3YzkyMDAwNzNhYTgxMjdhMjQxOWFjOHA3MzgsCi0gICAgMHgxLmZmZTVlZmZmZmZmZmZwOAotICB9LAotICB7IC8vIEVudHJ5IDIxMQotICAgIDB4MS4wMDAwMDAwMDAwZmZmODAwMDAwMDAwMDAwMDFmZmZhYXAwLAotICAgIDB4MS5mZmVmZmZmZmZmMDAxcC00MQotICB9LAotICB7IC8vIEVudHJ5IDIxMgotICAgIDB4MS43NDQxOGJjZTc4OGViNDY3NDZiMzhiNTc4NzU5ZWNjMHAxMSwKLSAgICAweDEuZmZlZmZmZmZmZmZmZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEzCi0gICAgMHgxLjAwMDAwMDAwMDBmZmY4MDAwMDAwN2ZmODAwMjAwMDJhcDAsCi0gICAgMHgxLmZmZnAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTQKLSAgICAweDEuMDAwMDAwMDAwMGZmZmZmMjAwMDA3ZmY3ZjIwMDAwOGNwMCwKLSAgICAweDEuZmZmZmUzZmZmZmZmZnAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTUKLSAgICAweDEuZDhlNjRiOGQyMTg1MjgxZjk4NGE0ZTUxMTQ4ZGFkZWNwMiwKLSAgICAweDEuZmZmZmZmZmZlN2ZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE2Ci0gICAgMHgxLnAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE3Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmOWZmZmZmcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTU0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE4Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZGZmZmZmcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTU0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE5Ci0gICAgMHgxLjMwNGQ2YWVjYTI1MjUzMTQ3NWVjOTE4MjM2OWJhNDE1cDY5LAotICAgIDB4MS43ZmZmZmZmZmZmZmZmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjAKLSAgICAweDEuMzA0ZDZhZWNhMjU0YjNhZjRiYzVkNjI5M2Q1ZjY1YzdwNjksCi0gICAgMHgxLjhwNQotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIDB4MS4zMDRkNmFlY2EyNTcxNDRhMjE5ZjFhZDUwNTU4ZDMyY3A2OSwKLSAgICAweDEuODAwMDAwMDAwMDAwMXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIyCi0gICAgMHgxLmY4ZTZjMjRiNTU4ZWYxNzQ5OTViY2ZhZDQ5NTE0OWY1cC03NiwKLSAgICAtMHgxLmEwMDAwMDAwMDAwMDFwNQotICB9LAotICB7IC8vIEVudHJ5IDIyMwotICAgIDB4MS5mOGU2YzI0YjU1OTJlMzQyMWRmMjdhY2YxZTA4MDE0NHAtNzYsCi0gICAgLTB4MS5hcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjQKLSAgICAweDEuZjhlNmMyNGI1NTk2ZDUwZmEyODkyNWY4ZDY1OWMxYmZwLTc2LAotICAgIC0weDEuOWZmZmZmZmZmZmZmZnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI1Ci0gICAgMHgxLjU1Nzc5Yjk4NGYzOTVkZWEzNmEyNzdiOGJlZTJlNjRjcDExNSwKLSAgICAweDEuM2ZmZmZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgMHgxLjU1Nzc5Yjk4NGYzZWIzYzhhNTAzYjRhOGUyNDg5ZDk4cDExNSwKLSAgICAweDEuNHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI3Ci0gICAgMHgxLjU1Nzc5Yjk4NGY0NDA5YTcxMzY0ZjFhZTVkMjgwZTY5cDExNSwKLSAgICAweDEuNDAwMDAwMDAwMDAwMXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI4Ci0gICAgMHgxLjA3YjcxMTJiYzFmYmMyYzBmOWMxMzY1MzMwOTMwMzEwcC0xMjcsCi0gICAgLTB4MS42MDAwMDAwMDAwMDAxcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjkKLSAgICAweDEuMDdiNzExMmJjMWZmZTE5ZDNlNzAzZTRhNzk0ZjczNzJwLTEyNywKLSAgICAtMHgxLjZwNgotICB9LAotICB7IC8vIEVudHJ5IDIzMAotICAgIDB4MS4wN2I3MTEyYmMyMDQwMDc5ODMxZjQ2NTIzZDdjZjY5MnAtMTI3LAotICAgIC0weDEuNWZmZmZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgMHgxLjQwYTRiOWMyNzE1MDg2NjE3NmQyMmYyMTM5ZDFkNDBmcDkyMywKLSAgICAweDEuM2ZmZmZmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMyCi0gICAgMHgxLjQwYTRiOWMyNzE3ODlhZjhhZjIwNWJiMzRmNzQzMzM3cDkyMywKLSAgICAweDEuNHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMzCi0gICAgMHgxLjQwYTRiOWMyNzFhMGFmOGZlNzZlOGQ0N2Y3ZmQ5YzI2cDkyMywKLSAgICAweDEuNDAwMDAwMDAwMDAwMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM0Ci0gICAgMHgxLjQ0YTM4MjRlNTI1ZDU2ZmMzZjAyZjg4NjM3NWVjODc2cC0xMDE2LAotICAgIC0weDEuNjAwMDAwMDAwMDAwMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM1Ci0gICAgMHgxLjQ0YTM4MjRlNTI4NWViNmM4OGNkNDZiYTVkZWI0NTdhcC0xMDE2LAotICAgIC0weDEuNnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgMHgxLjQ0YTM4MjRlNTJhZTdmZGNkMjk3OWEwMTEyODBmYmM4cC0xMDE2LAotICAgIC0weDEuNWZmZmZmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM3Ci0gICAgMHgxLjAzOTk2NTI4ZTA3MmI3OGEzMzI0ODA4ODRjNzliYWY3cDc1LAotICAgIDB4MS45ZmZmZmZmZmZmZmZmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzgKLSAgICAweDEuMDM5OTY1MjhlMDc0YmViY2ZkNzY0MTZmYzJjMGViOTJwNzUsCi0gICAgMHgxLmFwNQotICB9LAotICB7IC8vIEVudHJ5IDIzOQotICAgIDB4MS4wMzk5NjUyOGUwNzZjNWVmYzdjODAyNWI0NzZkYjBkMHA3NSwKLSAgICAweDEuYTAwMDAwMDAwMDAwMXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQwCi0gICAgMHgxLmFlYmFiYWUzYTQxN2VlNmU3ZmFmOWVjZmM5NTEwNDBjcC03MCwKLSAgICAtMHgxLjgwMDAwMDAwMDAwMDFwNQotICB9LAotICB7IC8vIEVudHJ5IDI0MQotICAgIDB4MS5hZWJhYmFlM2E0MWI0YmUzZjU3NmU3MDMwM2EzNzkzMnAtNzAsCi0gICAgLTB4MS44cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDIKLSAgICAweDEuYWViYWJhZTNhNDFlYTk1OTZiM2UyZjNjZjhlMGQ5ZTdwLTcwLAotICAgIC0weDEuN2ZmZmZmZmZmZmZmZnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgMHgxLmYxMDU2ZGM3YmYxYjBmYzg1N2I2Nzk5OWY1MDM1MjczcDEyNiwKLSAgICAweDEuNWZmZmZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ0Ci0gICAgMHgxLmYxMDU2ZGM3YmYyMmQzZGUwZWQ1NzYxNWJjNTAxZjhicDEyNiwKLSAgICAweDEuNnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ1Ci0gICAgMHgxLmYxMDU2ZGM3YmYyYTk3ZjNjNWY0NzJiMDkzZjNjOTFmcDEyNiwKLSAgICAweDEuNjAwMDAwMDAwMDAwMXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ2Ci0gICAgMHgxLjdmZDk3NGQzNzJkZTQ5MDk5ZWU3YmY0OGFlMzQ2ZWFhcC0xMTYsCi0gICAgLTB4MS40MDAwMDAwMDAwMDAxcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDcKLSAgICAweDEuN2ZkOTc0ZDM3MmU0NDg2ZjcyMzU4YWNkZDEyNjkwZTVwLTExNiwKLSAgICAtMHgxLjRwNgotICB9LAotICB7IC8vIEVudHJ5IDI0OAotICAgIDB4MS43ZmQ5NzRkMzcyZWE0N2Q1NDU4MzU2NmFmMWIwMDA1NnAtMTE2LAotICAgIC0weDEuM2ZmZmZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ5Ci0gICAgMHgxLjkzYmY0ZWMyODJiZDNiMzZjZDJmNDAxMTQ4OGE4MzY0cDEwMTUsCi0gICAgMHgxLjVmZmZmZmZmZmZmZmZwOQotICB9LAotICB7IC8vIEVudHJ5IDI1MAotICAgIDB4MS45M2JmNGVjMjgyZWZiMzIwYTU3ZjlhZTAyZTAxYWU1MXAxMDE1LAotICAgIDB4MS42cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTEKLSAgICAweDEuOTNiZjRlYzI4MzIyMmIwYTdkY2ZmYmZlMTBiM2UzNGFwMTAxNSwKLSAgICAweDEuNjAwMDAwMDAwMDAwMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUyCi0gICAgMHgxLjk4YzcyY2EwY2FiMTRlZGE1YWNhOTdiZWUwZmRkNDhmcC05MjQsCi0gICAgLTB4MS40MDAwMDAwMDAwMDAxcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTMKLSAgICAweDEuOThjNzJjYTBjYWU0NjdiZmVlZTNmMTFhNGFhMjZmNzdwLTkyNCwKLSAgICAtMHgxLjRwOQotICB9LAotICB7IC8vIEVudHJ5IDI1NAotICAgIDB4MS45OGM3MmNhMGNiMTc4MGE1ODJmZDUwZDhkMGY5OGQ4YnAtOTI0LAotICAgIC0weDEuM2ZmZmZmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgMHgxLjYxMDEzYTQ0YTk4MWM5MTBmMjBmODA3NTYwMDcxMjBhcC04MjIsCi0gICAgLTB4MS4xY2I5MGJmYmU4ZTdjcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAweDEuODA4NzcxN2E3ZjA4YTcyNTEyMTBlNzFkNDdhY2M1ZTNwLTkwNSwKLSAgICAtMHgxLjM5NzIxN2Y3ZDFjZjhwOQotICB9LAotICB7IC8vIEVudHJ5IDI1NwotICAgIDB4MS5hMmRlNTlkODU0NTIxMDlmMzQxNjVmYTU1ZjllNGU3YnAtOTg4LAotICAgIC0weDEuNTYyYjIzZjNiYWI3M3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmYzNTc5M2M3NjczMDA4MGRmYjlicC0yLAotICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI1OQotICAgIDB4MS4wMDAwMDAwMDAwMDAwMWFiYzllM2IzOTgwM2Y0NWMxY3AtMSwKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAweDEuMDAwMDAwMDAwMDAwMDlhYmM5ZTNiMzk4MDQyMWJhNmJwLTEsCi0gICAgLTB4MS42MmU0MmZlZmEzOWVlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYxCi0gICAgMHgxLjZhMDllNjY3ZjNiY2M0OGYwOTY1MDA5ZjI3NzhkZjkxcC0xLAotICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDI2MgotICAgIDB4MS42YTA5ZTY2N2YzYmNjYTM3MzBmZWEwNmUxYTk2NmMwNnAtMSwKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjMKLSAgICAweDEuNmEwOWU2NjdmM2JjY2ZkZjU4OTg0MDNkMGRjYTk5MTlwLTEsCi0gICAgLTB4MS42MmU0MmZlZmEzOWVlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY0Ci0gICAgMHgxLmFlODlmOTk1YWQzYWQzM2YzYzQ1MTExOGU0YWQ3NGM1cC0xLAotICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDI2NQotICAgIDB4MS5hZTg5Zjk5NWFkM2FkNjljNTAzODNjNzM1YTU3NTA1MnAtMSwKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjYKLSAgICAweDEuYWU4OWY5OTVhZDNhZDlmOTY0MmI2N2NkZDAwN2U2MDZwLTEsCi0gICAgLTB4MS42MmU0MmZlZmEzOWVlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY3Ci0gICAgMHgxLmQ1ODE4ZGNmYmE0ODcwZWEzMGY4OTc0ZjM2OWVhYjhjcC0xLAotICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDI2OAotICAgIDB4MS5kNTgxOGRjZmJhNDg3MmJmYjI4NjY3MDk3ZjEwODA3ZXAtMSwKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjkKLSAgICAweDEuZDU4MThkY2ZiYTQ4NzQ5NTM0MTQzNmMzYzc4NDJhZjFwLTEsCi0gICAgLTB4MS42MmU0MmZlZmEzOWVlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgMHgxLmVhNGFmYTJhNDkwZDk3OTcwNjk4ODc4NzliN2M5NzRlcC0xLAotICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDI3MQotICAgIDB4MS5lYTRhZmEyYTQ5MGQ5ODhjMmMxNTljYWMyMjQ4YTAxYnAtMSwKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAweDEuZWE0YWZhMmE0OTBkOTk4MTUxOTJiMWQwYTkxNTIzN2JwLTEsCi0gICAgLTB4MS42MmU0MmZlZmEzOWVlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjczCi0gICAgMHgxLmY1MDc2NWI2ZTQ1NDA2MTFlMDY1YzE0ZjEwNTAyNGNlcC0xLAotICAgIC0weDEuNjJlNDJmZWZhMzlmMHAtNgotICB9LAotICB7IC8vIEVudHJ5IDI3NAotICAgIDB4MS5mNTA3NjViNmU0NTQwNjhmMjIzZjJmMDgyNTUxYjhlZnAtMSwKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzUKLSAgICAweDEuZjUwNzY1YjZlNDU0MDcwYzY0MTg5Y2MxM2E1MzZjNWZwLTEsCi0gICAgLTB4MS42MmU0MmZlZmEzOWVlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc2Ci0gICAgMHgxLjA1OWIwZDMxNTg1NzQzNWY2YzUxY2VlYjBhNmI0NmU2cDAsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzcKLSAgICAweDEuMDU5YjBkMzE1ODU3NDNhMGQzMTUxYjQxMjAzYzI2ZWVwMCwKLSAgICAweDEuNjJlNDJmZWZhMzllZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDI3OAotICAgIDB4MS4wNTliMGQzMTU4NTc0M2UyMzlkODY3OTczNjBkMTc0ZnAwLAotICAgIDB4MS42MmU0MmZlZmEzOWYwcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLjBiNTU4NmNmOTg5MGY1ODdmNTI3OTI5NDExNDE2NWEycDAsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAweDEuMGI1NTg2Y2Y5ODkwZjYwZDlmZWFmYTYwNTliYzRiMDhwMCwKLSAgICAweDEuNjJlNDJmZWZhMzllZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDI4MQotICAgIDB4MS4wYjU1ODZjZjk4OTBmNjkzNGFhZTYyMmNhMjM3NzM0MnAwLAotICAgIDB4MS42MmU0MmZlZmEzOWYwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjgyCi0gICAgMHgxLjE3MmI4M2M3ZDUxN2FjN2M3YzBkMzQzMmFkNTQzYWZhcDAsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODMKLSAgICAweDEuMTcyYjgzYzdkNTE3YWQ5M2E3OTBmYzA3YzUwMTQzMGNwMCwKLSAgICAweDEuNjJlNDJmZWZhMzllZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDI4NAotICAgIDB4MS4xNzJiODNjN2Q1MTdhZWFhZDMxNGMzZGNkY2FmNjI0OXAwLAotICAgIDB4MS42MmU0MmZlZmEzOWYwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg1Ci0gICAgMHgxLjMwNmZlMGEzMWI3MTRmZmU3ZWVjNmJlYmY3Y2E5ZDdkcDAsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODYKLSAgICAweDEuMzA2ZmUwYTMxYjcxNTI1ZjVlYWRiMjIyZGE2Y2ZiNWFwMCwKLSAgICAweDEuNjJlNDJmZWZhMzllZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDI4NwotICAgIDB4MS4zMDZmZTBhMzFiNzE1NGMwM2U2ZWY4NTliZDE0MWFmN3AwLAotICAgIDB4MS42MmU0MmZlZmEzOWYwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2MyMzIwZDVkZTY5MGM3ODE3MmFlcDAsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAweDEuNmEwOWU2NjdmM2JjYzdkYTM0Zjc4NjVmYmE5NThiMzNwMCwKLSAgICAweDEuNjJlNDJmZWZhMzllZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIDB4MS42YTA5ZTY2N2YzYmNjZDgyNWM5MTI2MmVhZGMwNDQ1NnAwLAotICAgIDB4MS42MmU0MmZlZmEzOWYwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVjYTg2YzM4OThjZmY4Nzc5YTFhcDAsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTIKLSAgICAweDEuZmZmZmZmZmZmZmZmZmNhODZjMzg5OGNmZjgxY2RkN2NwMCwKLSAgICAweDEuNjJlNDJmZWZhMzllZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDI5MwotICAgIDB4MS4wMDAwMDAwMDAwMDAwNjU0MzYxYzRjNjdmYzIxMTA2ZnAxLAotICAgIDB4MS42MmU0MmZlZmEzOWYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmQ5NTBkODcxMzE5ZmYxYWE0MzI4cDEsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwMAotICB9LAotICB7IC8vIEVudHJ5IDI5NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmOTUwZDg3MTMxOWZmMDNmNTBhZnAxLAotICAgIDB4MS42MmU0MmZlZmEzOWVmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTYKLSAgICAweDEuMDAwMDAwMDAwMDAwMGNhODZjMzg5OGNmZjg2YTJmMWJwMiwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmIyYTFiMGUyNjMzZmU2NDBjMjFicDMsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwMQotICB9LAotICB7IC8vIEVudHJ5IDI5OAotICAgIDB4MS5mZmZmZmZmZmZmZmZmMmExYjBlMjYzM2ZlMDk0ZjgzN3AzLAotICAgIDB4MS42MmU0MmZlZmEzOWVmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTkKLSAgICAweDEuMDAwMDAwMDAwMDAwMTk1MGQ4NzEzMTlmZjE3NDk3MmFwNCwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAwCi0gICAgMHgxLmZmZmZmZmZmZmZmZjY1NDM2MWM0YzY3ZmQ4MzI3MzYxcDcsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwMgotICB9LAotICB7IC8vIEVudHJ5IDMwMQotICAgIDB4MS5mZmZmZmZmZmZmZmZlNTQzNjFjNGM2N2ZjMTgzNGJkM3A3LAotICAgIDB4MS42MmU0MmZlZmEzOWVmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDIKLSAgICAweDEuMDAwMDAwMDAwMDAwMzJhMWIwZTI2MzNmZTU2YTEyMjJwOCwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLmZmZmZmZmZmZmZmZWNhODZjMzg5OGNmZmRmMjhhMzZmcDE1LAotICAgIDB4MS42MmU0MmZlZmEzOWVlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDQKLSAgICAweDEuZmZmZmZmZmZmZmZmY2E4NmMzODk4Y2ZmODQ2YzA1MzRwMTUsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWZwMwotICB9LAotICB7IC8vIEVudHJ5IDMwNQotICAgIDB4MS4wMDAwMDAwMDAwMDA2NTQzNjFjNGM2N2ZkNGQ3YjM3Y3AxNiwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZDk1MGQ4NzEzMWEwMDc5NjAzOThmcDMxLAotICAgIDB4MS42MmU0MmZlZmEzOWVlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAweDEuZmZmZmZmZmZmZmZmOTUwZDg3MTMxOWZmMGU2ZGMwYTNwMzEsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWZwNAotICB9LAotICB7IC8vIEVudHJ5IDMwOAotICAgIDB4MS4wMDAwMDAwMDAwMDBjYTg2YzM4OThjZmZkMWJkYTNkYnAzMiwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzA5Ci0gICAgMHgxLmZmZmZmZmZmZmZiMmExYjBlMjYzNDViOGRmZTAwNjk3cDEwMjMsCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWVwOQotICB9LAotICB7IC8vIEVudHJ5IDMxMAotICAgIDB4MS5mZmZmZmZmZmZmZjJhMWIwZTI2MzQwMGQxNWZjNTJmZnAxMDIzLAotICAgIDB4MS42MmU0MmZlZmEzOWVmcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTEKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEyCi0gICAgMHgxLmM4NDY0Zjc2MTYxOTYyZWQxOTMwNzk2YzA3OTQyNTRhcC0xMDcxLAotICAgIC0weDEuNzJlNDJmZWZhMzlmMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgMHgxLmM4NDY0Zjc2MTY1MjZiYjcwN2YzNDAyOGYxZDYzNzg2cC0xMDcxLAotICAgIC0weDEuNzJlNDJmZWZhMzllZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLmM4NDY0Zjc2MTY4Yjc0ODBmNmI2MGUwNmY1NTYyMjFicC0xMDcxLAotICAgIC0weDEuNzJlNDJmZWZhMzllZXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE1Ci0gICAgMHgxLjhlYmVmOWVhYzgyMGE4NGI4NmQxY2UxYTQ0MjQ0MzVmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDMxNgotICAgIDB4MS44ZWJlZjllYWM4MjBhZTg2ODJiOTc5M2FjNmQxZTc3MnAtMSwKLSAgICAtMHgxLjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTcKLSAgICAweDEuOGViZWY5ZWFjODIwYjFhNDAwYWQ0ZWNiMDgzMjExZjZwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE4Ci0gICAgMHgxLmMzZDZhMjRlZDgyMjE0ZjBkMDFkYWY4ZTFhOGQyY2E3cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMwotICB9LAotICB7IC8vIEVudHJ5IDMxOQotICAgIDB4MS5jM2Q2YTI0ZWQ4MjIxODc4N2Q2MjRkM2U1ZWJhOTVmNXAtMSwKLSAgICAtMHgxLjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjAKLSAgICAweDEuYzNkNmEyNGVkODIyMWEzYzU0MDQ5YzE2ODBkM2YwNWVwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgMHgxLmUwZmFiZmJjNzAyYTNiMDRlODYwMjNmMDY5MWNjNTk3cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNAotICB9LAotICB7IC8vIEVudHJ5IDMyMgotICAgIDB4MS5lMGZhYmZiYzcwMmEzY2U1ZTMxZmUwNjA5MzU4YmFmZHAtMSwKLSAgICAtMHgxLjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAweDEuZTBmYWJmYmM3MDJhM2RkNjYwN2ZiZTk4YTg3NzZhMGVwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI0Ci0gICAgMHgxLmYwM2Y1NmE4OGI1ZDc4MWM5MDVmNmI1MWM3NmFlOTgxcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNQotICB9LAotICB7IC8vIEVudHJ5IDMyNQotICAgIDB4MS5mMDNmNTZhODhiNWQ3OTE0YjAwYWJmOTc3NjI3MzVkMXAtMSwKLSAgICAtMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjYKLSAgICAweDEuZjAzZjU2YTg4YjVkNzk5MGJmZTA2OWJhNGQ4NThhN2ZwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI3Ci0gICAgMHgxLmY4MGZlYWJmZWVmYTQ4YTljZDExMmQ1OTJjNDM3MDEycC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNgotICB9LAotICB7IC8vIEVudHJ5IDMyOAotICAgIDB4MS5mODBmZWFiZmVlZmE0OTI3ZDEwYmRkNTRlYWQ1YWE0NnAtMSwKLSAgICAtMHgxLjBwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjkKLSAgICAweDEuZjgwZmVhYmZlZWZhNDk2NmQzMDkzNTUyY2ExZWQzMzBwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMwCi0gICAgMHgxLmZjMDNmZDU2YWEyMjRmNTg3YzNmNjg1ZDU0M2U1M2Q3cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNwotICB9LAotICB7IC8vIEVudHJ5IDMzMQotICAgIDB4MS5mYzAzZmQ1NmFhMjI0Zjk3ZmNiZjEzMzI5ODg4NDJkZXAtMSwKLSAgICAtMHgxLjBwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzIKLSAgICAweDEuZmMwM2ZkNTZhYTIyNGZiN2JjZmVlODlkM2FhZDNkNWNwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMzCi0gICAgMHgxLmZlMDBmZmFhYmZmYmJjNTFjZDBlMTZkOGIwMDVkNjYycC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOAotICB9LAotICB7IC8vIEVudHJ5IDMzNAotICAgIDB4MS5mZTAwZmZhYWJmZmJiYzcxYWQxZTExODRhZmMxOWM3ZXAtMSwKLSAgICAtMHgxLjBwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzUKLSAgICAweDEuZmUwMGZmYWFiZmZiYmM4MTlkMjYwZWRhYWY5ZjgwNGJwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM2Ci0gICAgMHgxLmZmMDAzZmY1NTZhYTg4N2I2ODgwMGJiNWQyN2RhNGZmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtOQotICB9LAotICB7IC8vIEVudHJ5IDMzNwotICAgIDB4MS5mZjAwM2ZmNTU2YWE4ODhiNjA4MjBiNjA4N2QxZTkxYXAtMSwKLSAgICAtMHgxLjBwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzgKLSAgICAweDEuZmYwMDNmZjU1NmFhODg5MzVjODMwYjM1ZTI3YzBiNTdwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDMzOQotICAgIDB4MS5mZjgwMGZmZWFhYmZmZWU2ZmM0ZWZjZmM2NDU5ZGUxM3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQwCi0gICAgMHgxLmZmODAwZmZlYWFiZmZlZWVmYTRmM2NmNzBmNTlkOWJmcC0xLAotICAgIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDEKLSAgICAweDEuZmY4MDBmZmVhYWJmZmVmMmY5NGY1Y2Y0NjRkOWQ3YTFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xMQotICB9LAotICB7IC8vIEVudHJ5IDM0MgotICAgIDB4MS5mZmYwMDAzZmZmNTU1NmE5YTg5MDhiNDBiMzIwODQ5ZHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQzCi0gICAgMHgxLmZmZjAwMDNmZmY1NTU2YWFhODg4OGI2MGIyY2IyZmYycC0xLAotICAgIC0weDEuMHAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDQKLSAgICAweDEuZmZmMDAwM2ZmZjU1NTZhYjI4ODQ4YjcwYjJhMDg1OWRwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDM0NQotICAgIDB4MS40OGI1ZTNjM2U4MTg2M2U1MGZmYzJlY2I3OWYzZjdjM3AwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ2Ci0gICAgMHgxLjQ4YjVlM2MzZTgxODY2NzY3YmMzYjY5YmFhYmU1MzRlcDAsCi0gICAgMHgxLjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDcKLSAgICAweDEuNDhiNWUzYzNlODE4NmI5OTUzNTJjNjNjMGM2MjcyZWNwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDM0OAotICAgIDB4MS4yMjE2MDQ1YjZmNWNjZTdhZDc2NDI4MTU4MzljODE2MHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ5Ci0gICAgMHgxLjIyMTYwNDViNmY1Y2NmOWNlZDY4ODM4NGUwNmI4ZDQycDAsCi0gICAgMHgxLjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTAKLSAgICAweDEuMjIxNjA0NWI2ZjVjZDFlMTE5NzEzYTYzOWEwZDBiNDlwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMwotICB9LAotICB7IC8vIEVudHJ5IDM1MQotICAgIDB4MS4xMDgyYjU3N2QzNGVkNzRkNzA0NTVkZjg3ZTVkZTA4OXAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUyCi0gICAgMHgxLjEwODJiNTc3ZDM0ZWQ3ZDViMWEwMTllMjI1YzlhOTUxcDAsCi0gICAgMHgxLjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTMKLSAgICAweDEuMTA4MmI1NzdkMzRlZDhlNjM0NTU5MWI1NzRhMjA3NDRwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNAotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS4wODIwNTYwMTEyN2VjOTRjMDNiYjAzNjcwODVhM2M2NHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU1Ci0gICAgMHgxLjA4MjA1NjAxMTI3ZWM5OGUwYmQwODNhYmE4MGM5N2E2cDAsCi0gICAgMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTYKLSAgICAweDEuMDgyMDU2MDExMjdlY2ExMjFiZmI4NDM0ZTc3MTdmYjBwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNQotICB9LAotICB7IC8vIEVudHJ5IDM1NwotICAgIDB4MS4wNDA4MGFiNTVkZTM5MTVhMzc2MzVkM2Q0N2RjM2RmNnAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU4Ci0gICAgMHgxLjA0MDgwYWI1NWRlMzkxN2FiODY0YjNlOTA0NGU2YjQ1cDAsCi0gICAgMHgxLjBwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTkKLSAgICAweDEuMDQwODBhYjU1ZGUzOTFiYmJhNjc2MTQwN2QzMmQyMTNwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNgotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS4wMjAyMDE1NjAwNDQ1YWZjMTI0MzZkNWM2ZjIyZWNmMHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzYxCi0gICAgMHgxLjAyMDIwMTU2MDA0NDViMGMzMjYzODJiYzczNjg5ZDMycDAsCi0gICAgMHgxLjBwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjIKLSAgICAweDEuMDIwMjAxNTYwMDQ0NWIyYzcyYTNhZDdjN2JmNDAwYmNwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNwotICB9LAotICB7IC8vIEVudHJ5IDM2MwotICAgIDB4MS4wMTAwODAyYWI1NTc3N2NhODIyNjQxN2NiZmVlMmZmM3AwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzY0Ci0gICAgMHgxLjAxMDA4MDJhYjU1Nzc3ZDI4YTJhNDJkMjZhYTllZTY3cDAsCi0gICAgMHgxLjBwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjUKLSAgICAweDEuMDEwMDgwMmFiNTU3NzdlMjlhMzI0NTdkYzAyMTZjMTBwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAotICB9LAotICB7IC8vIEVudHJ5IDM2NgotICAgIDB4MS4wMDgwMjAwNTU2MDAxMTBlN2I0MTU1YTgxYWY0ODRiMXAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDM2NwotICAgIDB4MS4wMDgwMjAwNTU2MDAxMTEyN2Q0MWQ1YmQ3MmY0YzhmM3AwLAotICAgIDB4MS4wcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzY4Ci0gICAgMHgxLjAwODAyMDA1NTYwMDExMWE4MTQyZDVlODIyZjU1MWE3cDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjkKLSAgICAweDEuMDA0MDA4MDBhYWI1NTVkYmUzMGU1Y2U3MTkyN2NiZjBwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzAKLSAgICAweDEuMDA0MDA4MDBhYWI1NTVkZGUzOGU2Y2U4NmU5Mjc3YWFwMCwKLSAgICAweDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzEKLSAgICAweDEuMDA0MDA4MDBhYWI1NTVlMWU0OGU4Y2ViMTk2N2NmMjlwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzIKLSAgICAweDEuMDAwODAwMjAwMDU1NTVmZmMxMGYxMjc1Mjk1ZDQzNDlwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzMKLSAgICAweDEuMDAwODAwMjAwMDU1NTYwMDAxMTExMjdkMjk3Mjk4YzlwMCwKLSAgICAweDEuMHAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzQKLSAgICAweDEuMDAwODAwMjAwMDU1NTYwMDgxMTUxMjhkMjk5ZDQzYzlwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzUKLSAgICAweDEuNDQxMDllZGIyMDZhOTM4ZmFkNjcwYjY4YWI5OWI3NjhwLTczOSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwOQotICB9LAotICB7IC8vIEVudHJ5IDM3NgotICAgIDB4MS40NDEwOWVkYjIwOTMxNWEzODhjYjFiNDMzZWNkMWE4YXAtNzM5LAotICAgIC0weDEuMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc3Ci0gICAgMHgxLjQ0MTA5ZWRiMjBhNzU2YWQ3NjdkMjUxNmExNTUxNGNjcC03MzksCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzgKLSAgICAweDEuOTc1NTk1NmFkNGQwNGE2MDZhOGNkOWRkZmIzNjhlZmZwLTM3MCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwOAotICB9LAotICB7IC8vIEVudHJ5IDM3OQotICAgIDB4MS45NzU1OTU2YWQ0ZTliZmI5YzEzYTI3YWU0YzA3ZWQzN3AtMzcwLAotICAgIC0weDEuMHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgwCi0gICAgMHgxLjk3NTU5NTZhZDRmNjdhNjY2YzkwY2YyZjM0ODhhNDYzcC0zNzAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODEKLSAgICAweDEuNDJlYjlmMzlhZmE2OTkyYmYzYTEzNzk3MTVmNjY4M2JwLTE4NSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNwotICB9LAotICB7IC8vIEVudHJ5IDM4MgotICAgIDB4MS40MmViOWYzOWFmYjBiMDg4ZWQ2ZWI0ZjQzY2M5ZWM3YnAtMTg1LAotICAgIC0weDEuMHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgzCi0gICAgMHgxLjQyZWI5ZjM5YWZiNWJjMzc2YTU1NzNjMTE2NGE5YzAzcC0xODUsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODQKLSAgICAweDEuOTY5ZDQ3MzIxZTQ2NjA0YTEwNWY4ZGUzMmQ5ZGM2ODVwLTkzLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg1Ci0gICAgMHgxLjk2OWQ0NzMyMWU0Y2JhYmYyZDI4MDcwOTYzYjA0MTk0cC05MywKLSAgICAtMHgxLjBwNgotICB9LAotICB7IC8vIEVudHJ5IDM4NgotICAgIDB4MS45NjlkNDczMjFlNGZlN2Y5YmI4YzQzYTYwNjY5MmE0OHAtOTMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODcKLSAgICAweDEuYzg0NjRmNzYxNjQyZjE1NWZhYjNlNWJiMTQ0ZmI5MTBwLTQ3LAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg4Ci0gICAgMHgxLmM4NDY0Zjc2MTY0NjgxZTI5OWEwMTI0NDg3ODg0ZDY0cC00NywKLSAgICAtMHgxLjBwNQotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIDB4MS5jODQ2NGY3NjE2NDg0YTI4ZTkxNjI4OGJlZDhlMGViZnAtNDcsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTAKLSAgICAweDEuZTM1NWJiYWVlODVhY2E1MGEzYzUwYWQyY2NmZmJiMjlwLTI0LAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkxCi0gICAgMHgxLmUzNTViYmFlZTg1Y2FkYTY1ZjczZjMyZTg4ZmIzY2M2cC0yNCwKLSAgICAtMHgxLjBwNAotICB9LAotICB7IC8vIEVudHJ5IDM5MgotICAgIDB4MS5lMzU1YmJhZWU4NWQ5ZjUxM2Q0YjY3NWQxYzM5MjNmNnAtMjQsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTMKLSAgICAweDEuNWZjMjEwNDEwMjdhMWJkZWM1MjVmNmQyYjQ4YTQ2MzdwLTEyLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk0Ci0gICAgMHgxLjVmYzIxMDQxMDI3YWNiYmZjZDQ2NzgwZmVlNzFlYWQycC0xMiwKLSAgICAtMHgxLjBwMwotICB9LAotICB7IC8vIEVudHJ5IDM5NQotICAgIDB4MS41ZmMyMTA0MTAyN2IyM2IwNTE1NmI4YWVhYzVmZWVhNXAtMTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTYKLSAgICAweDEuMmMxNTViODIxM2NlZmM3OTM0MGY4ZTM4NjI2MzQ1NmFwLTYsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTcKLSAgICAweDEuMmMxNTViODIxM2NmNDc3ZThhZjAxMzJjMmFlMjNkNGFwLTYsCi0gICAgLTB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAweDEuMmMxNTViODIxM2NmNmQwMTM2NjA1NWE2MTYyYTM5NWZwLTYsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTkKLSAgICAweDEuMTUyYWFhM2JmODFjOTc1ODYyMjcyZjBmM2IxM2Y1ODZwLTMsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDAKLSAgICAweDEuMTUyYWFhM2JmODFjYjlmZGI3NmVhZTEyZDAyOTU3MWZwLTMsCi0gICAgLTB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDEKLSAgICAweDEuMTUyYWFhM2JmODFjY2I1MDYyMTI2ZDk0OWM1M2M3ZWJwLTMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDIKLSAgICAweDEuNzhiNTYzNjJjZWYzNjRkZjk1NDRmMTFiMGE0OTkwMzFwLTIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDMKLSAgICAweDEuNzhiNTYzNjJjZWYzN2M2YWViN2IxZTBhNDE1M2U0MzdwLTIsCi0gICAgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDQKLSAgICAweDEuNzhiNTYzNjJjZWYzODgzMDk2OTYzNDgxZGQ2NjUyM2ZwLTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA1Ci0gICAgMHgxLjk0NzY1MDRiYTgzOTlmNWI5N2NhZTM1YmViNzhjM2M1cDczOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgMHgxLjk0NzY1MDRiYTg1MmU2YzA5Yzg1NjdjMDFjNWE2NjQ4cDczOCwKLSAgICAweDEuMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA3Ci0gICAgMHgxLjk0NzY1MDRiYTg4NTc1OGFhNWZhNzU0NWUxMGU4ZTQ2cDczOCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA4Ci0gICAgMHgxLjQxYzdhODgxNGJlMTkyYTVkZjI1YjA0MmFmODI0ZWZkcDM2OSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA5Ci0gICAgMHgxLjQxYzdhODgxNGJlYmEwZTMyMzMwMGY3NzdkYTY1ODU0cDM2OSwKLSAgICAweDEuMHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEwCi0gICAgMHgxLjQxYzdhODgxNGJmZmJkNWRhYjQ0Y2VkMjZmYWNjYmZicDM2OSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDExCi0gICAgMHgxLjk1ZTU0YzVkZDQxYjIwNjAwZGQ2MDFhMGFlNjcyZmY0cDE4NCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEyCi0gICAgMHgxLjk1ZTU0YzVkZDQyMTc3ZjUzZjRkNTIxOWRmMTFjYTNicDE4NCwKLSAgICAweDEuMHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEzCi0gICAgMHgxLjk1ZTU0YzVkZDQyZTI3MWZhMjNiZjM1ODViNjU1MDYwcDE4NCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDE0Ci0gICAgMHgxLjQyNTk4MmNmNTk3YTRkNTJjODllYTg1N2JiYWE4MDdhcDkyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTUKLSAgICAweDEuNDI1OTgyY2Y1OTdjZDIwNWNlM2Q1YjRlZGIwMzE3NTZwOTIsCi0gICAgMHgxLjBwNgotICB9LAotICB7IC8vIEVudHJ5IDQxNgotICAgIDB4MS40MjU5ODJjZjU5ODFkYjZiZDk3YWMxNGMzNWU2NjZjNnA5MiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDE3Ci0gICAgMHgxLjFmNDNmY2M0YjY2MWE4OTQ0YWMzODliNjA5ZTBmNzRlcDQ2LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTgKLSAgICAweDEuMWY0M2ZjYzRiNjYyYzdkODQ3ODg0MDE4NDIxNzQwNzRwNDYsCi0gICAgMHgxLjBwNQotICB9LAotICB7IC8vIEVudHJ5IDQxOQotICAgIDB4MS4xZjQzZmNjNGI2NjUwNjYwNDExMWFjZTAxMDRmYzkwZXA0NiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDIwCi0gICAgMHgxLjBmMmViZDBhODAwMTdjZmFjNTZjMzA4NzRhZmJhYjk4cDIzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjEKLSAgICAweDEuMGYyZWJkMGE4MDAyMDQ5MjIzZjE3MDg4MmI1ZWU1ZWZwMjMsCi0gICAgMHgxLjBwNAotICB9LAotICB7IC8vIEVudHJ5IDQyMgotICAgIDB4MS4wZjJlYmQwYTgwMDMxM2MwZTBmYmYwOGFiNzg4Njg2NnAyMywKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDIzCi0gICAgMHgxLjc0OWVhN2Q0NzBjNjgxZTQzNjE4ZWMxOGQ1M2YxYjIxcDExLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjQKLSAgICAweDEuNzQ5ZWE3ZDQ3MGM2ZGYwYmUwMGUwODRhODE1ZDFkZTZwMTEsCi0gICAgMHgxLjBwMwotICB9LAotICB7IC8vIEVudHJ5IDQyNQotICAgIDB4MS43NDllYTdkNDcwYzc5OTViMzNmODQwYWUxZjc2ZTJlN3AxMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI2Ci0gICAgMHgxLmI0YzkwMmUyNzNhNTRmZGZiNjc3NzE2NmU2NzYwZGZicDUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDQyNwotICAgIDB4MS5iNGM5MDJlMjczYTU4Njc4ZDZkM2JmZGI5M2RiOTZkMHA1LAotICAgIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjgKLSAgICAweDEuYjRjOTAyZTI3M2E1ZjNhYjE3OGM1Y2M1MDMyMDE0OWNwNSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI5Ci0gICAgMHgxLmQ4ZTY0YjhkNGRkYWJmMzRkNTgyY2QyOTA5YWFmYjJhcDIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDQzMAotICAgIDB4MS5kOGU2NGI4ZDRkZGFkY2MzM2EzYmEyMDZiNjhhYmJhOHAyLAotICAgIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzEKLSAgICAweDEuZDhlNjRiOGQ0ZGRiMTdlMDAzYWQ0YmMyMTVkNGVmODZwMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMyCi0gICAgMHgxLjViZjBhOGIxNDU3NjhhNTVkYTczMjIxNDk5ZmM0Y2ZicDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzMKLSAgICAweDEuNWJmMGE4YjE0NTc2OTUzNTVmYjhhYzQwNGU3YTc5ZTNwMSwKLSAgICAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgMHgxLjViZjBhOGIxNDU3NmFhZjQ2YTQzYzA5N2I4N2JjODMzcDEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDQzNQotICAgIDB4MS5mZmMwNDU2OTJmYzlkYmM3YjdlMDMyNTc2ZTVlMjZmOHAxMDIzLAotICAgIDB4MS42MmU0MWZmZmZmZmZmcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzYKLSAgICAweDEuZmZjMDQ1NjkzMDA5ZDNkMDY1MDYyZjkyNjdkZmY1NWVwMTAyMywKLSAgICAweDEuNjJlNDJwOQotICB9LAotICB7IC8vIEVudHJ5IDQzNwotICAgIDB4MS5mZmMwNDU2OTMwNDljYmQ5MTIyYzM0Y2M2Mjc3Njg4NHAxMDIzLAotICAgIDB4MS42MmU0MjAwMDAwMDAxcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAweDEuYzg3ZjIxNzc1YTBmMWEyNTc1NWZiMDI3Zjk0OTQ5YTFwLTEwNzEsCi0gICAgLTB4MS43MmU0MjAwMDAwMDAxcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzkKLSAgICAweDEuYzg3ZjIxNzc1YTQ4MmEwOWE0NGFmNTljM2MzYWU0NGJwLTEwNzEsCi0gICAgLTB4MS43MmU0MnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQwCi0gICAgMHgxLmM4N2YyMTc3NWE4MTM5ZWRkMzM2NDIzMjdiYjI1YzVmcC0xMDcxLAotICAgIC0weDEuNzJlNDFmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjBwMTAyMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MgotICAgIEhVR0VfVkFMLAotICAgIDB4MS45OTk5OTk5OTk5OTlhcDEwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDMKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDIxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ0Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjY2NjY2NjY2NjY2NjdwMTAyMQotICB9LAotICB7IC8vIEVudHJ5IDQ0NQotICAgIEhVR0VfVkFMLAotICAgIDB4MS5iMzMzMzMzMzMzMzM0cDEwMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDYKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAxMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ3Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ0OAotICAgIEhVR0VfVkFMLAotICAgIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ5Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ1MAotICAgIEhVR0VfVkFMLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTEKLSAgICAweDEuNzI0MDQ2ZWIwOTMzOGQyOTkxYTMwODkzZTdmNDEwOGRwNCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUyCi0gICAgMHgxLjMzZGVkYzg1NTkzNWVmYWFhZjU3OGNlZDNmODIxZjk2cDIsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1MwotICAgIDB4MS41YmYwYThiMTQ1NzZhYWY0NmE0M2MwOTdiODdiYzgzM3AxLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTQKLSAgICAweDEuNWJmMGE4YjE0NTc2OTUzNTVmYjhhYzQwNGU3YTc5ZTNwMSwKLSAgICAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU1Ci0gICAgMHgxLjViZjBhOGIxNDU3NjhhNTVkYTczMjIxNDk5ZmM0Y2ZicDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTYKLSAgICAweDEuMThiZDY2OTQ3MWNhYTU1ODVjNzFjYzMyYTc5MmFjODVwMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1NwotICAgIDB4MS5wMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIDB4MS5wMCwKLSAgICAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1OQotICAgIDB4MS5wMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ2MAotICAgIDB4MS5wMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ2MQotICAgIDB4MS5wMCwKLSAgICAweDEuMHAtMTA3MwotICB9LAotICB7IC8vIEVudHJ5IDQ2MgotICAgIDB4MS5wMCwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDQ2MwotICAgIDB4MS5wMCwKLSAgICAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICAweDEucDAsCi0gICAgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDQ2NQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDczCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ2OAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ3MQotICAgIDB4MS5kMmUxNzFjZjA0ODc5M2UxNmE3Zjk0MDZlMDBjMmRkOXAtMiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzIKLSAgICAweDEuNzhiNTYzNjJjZWYzODgzMDk2OTYzNDgxZGQ2NjUyM2ZwLTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDczCi0gICAgMHgxLjc4YjU2MzYyY2VmMzdjNmFlYjdiMWUwYTQxNTNlNDM3cC0yLAotICAgIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc0Ci0gICAgMHgxLjc4YjU2MzYyY2VmMzY0ZGY5NTQ0ZjExYjBhNDk5MDMxcC0yLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc1Ci0gICAgMHgxLmE5YmNjNDZmNzY3ZGZiMGQ0ZWVjMmIxMzM3YTA0YjlhcC0zLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc2Ci0gICAgMHgxLjYyMDIyN2I1OThlZjk5NDllNjBlNDRkYzQ1ZDE0ZDBjcC01LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc3Ci0gICAgMC4wLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc4Ci0gICAgMC4wLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc5Ci0gICAgMC4wLAotICAgIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDQ4MAotICAgIDB4MS5mZmZmZmZmZmZmZjJhMWIwZTI2MzQwMGQxNWZjNTJmZnAxMDIzLAotICAgIDB4MS42MmU0MmZlZmEzOWVmcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODEKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuNjJlNDJmZWZhMzlmMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgMHgxLjAwMDAwMDAwMDAwN2JiY2ZmYjA2ZjhmZGFiODk2ZGIwcC0xMDIyLAotICAgIC0weDEuNjIzMmJkZDdhYmNkMnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgzCi0gICAgMHgxLmZmZmZmZmZmZmZjZjc3OWZmNjBkZjQwYzYzMTQxOWEycC0xMDIzLAotICAgIC0weDEuNjIzMmJkZDdhYmNkM3A5Ci0gIH0sCi19OwotI2VuZGlmIC8vIF9fQklPTklDX18KLQotVEVTVChtYXRoX2V4cCwgZXhwX2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX2V4cF9pbnRlbF9kYXRhKS9zaXplb2YoZXhwX2ludGVsX2RhdGFfdCk7IGkrKykgewotICAgIEVYUEVDVF9ET1VCTEVfRVEoZ19leHBfaW50ZWxfZGF0YVtpXS5leHBlY3RlZCwgZXhwKGdfZXhwX2ludGVsX2RhdGFbaV0uY2FsbF9kYXRhKSkgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKLSAgfQotI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLiI7Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwotfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF9leHBmX3Rlc3QuY3BwIGIvdGVzdHMvbWF0aF9leHBmX3Rlc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTdhYTI2Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL21hdGhfZXhwZl90ZXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0MzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICoKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICovCi0KLSNpbmNsdWRlIDxtYXRoLmg+Ci0KLSNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgotCi0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotdHlwZWRlZiBzdHJ1Y3QgewotICBmbG9hdCBleHBlY3RlZDsKLSAgZmxvYXQgY2FsbF9kYXRhOwotfSBleHBmX2ludGVsX2RhdGFfdDsKLQotc3RhdGljIGV4cGZfaW50ZWxfZGF0YV90IGdfZXhwZl9pbnRlbF9kYXRhW10gPSB7Ci0gIHsgLy8gRW50cnkgMAotICAgIDB4MS5lMGZhYmYwODEyMjI3ODBkNzRjMDBmZGEzMGFhMzk0M3AtMSwKLSAgICAtMHgxLjAwMDAwNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEKLSAgICAweDEuZTBmYWJlY2JmMmNhOWFjZDI1ZWVmNjNhZjg1OGVkNjBwLTEsCi0gICAgLTB4MS4wMDAwMDhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyCi0gICAgMHgxLmZjMDNmY2NmYjkxMzE2N2VjZmE4NGY0OGY1YjcyMDVicC0xLAotICAgIC0weDEuMDAwMDIycC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMwotICAgIDB4MS5jM2Q2NDJmZjliZjJkMjk0YzBjZTA4OGU4YmFkMjdiM3AtMSwKLSAgICAtMHgxLjAwMDFiMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDQKLSAgICAweDEuZmY4MDBlZmFlYmI4MjE4ZmM1ZDQ5MWI5ODY4Njg5YWFwLTEsCi0gICAgLTB4MS4wMDAyMDhwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNQotICAgIDB4MS44ZWJkOWQwNDQ2MTgyZTkwNTZmNjA0ODlmY2QwMDJjZHAtMSwKLSAgICAtMHgxLjAwMDM4MHAtMgotICB9LAotICB7IC8vIEVudHJ5IDYKLSAgICAweDEuZTBmOTk1MDEwZmQ5NmQzZjI5NGMzZmZlMGU1MTI0MjZwLTEsCi0gICAgLTB4MS4wMDA5ZjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3Ci0gICAgMHgxLjc4YTNiYjRjMTdhZGY1YjJkNDBlNmVlM2RiZDQ4NjZmcC0yLAotICAgIC0weDEuMDAwY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgOAotICAgIDB4MS5mZmRmZmQwMDNhYWNiZmNhNjU5MWU3YTM4MzY4Yjk0Y3AtMSwKLSAgICAtMHgxLjAwMjBwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgOQotICAgIDB4MS5mZGZmNDE2YWEzODI3ZDYzMzVhMWZmYTQzZDQ0MDU2MnAtMSwKLSAgICAtMHgxLjAwZTBwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMAotICAgIDB4MS45OTAwN2ZmYmRmZmFjMzFkZmY5MGRhNWVlNDZhMTZmYXAtNDcsCi0gICAgLTB4MS4wMGUwcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIDB4MS4zNWMwZGNmZmZiNDQxOWRjMjk1NTVjMjMyZjNjZGNhN3AtMSwKLSAgICAtMHgxLjAxNGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIDB4MS5mYmVkOWFjN2VkMDMyYWJmYzc2MzA2YTNlMWRjODE2YnAtMSwKLSAgICAtMHgxLjA1YTRwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMwotICAgIDB4MS5lZmRkYjljY2NkNzNmNzFhNGIyYjhjMDFhNTdhZTc1ZnAtMSwKLSAgICAtMHgxLjA2NGNwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNAotICAgIDB4MS5mZmZkZjEwMTBmMzdlMmYxZjVmY2E4YjljMTNhZmY3MHAtMSwKLSAgICAtMHgxLjA3ODBwLTE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUKLSAgICAweDEuZWZjMzU2NTM5MTJmYWRlNmExN2E4ZjhlZjQxMDk2NzlwLTEsCi0gICAgLTB4MS4wOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDE2Ci0gICAgMHgxLjhiMzA5NmZmZmNiZTczNzk2MWY4YzYxY2RmOWQ3MTM3cC0xLAotICAgIC0weDEuMDkyYzY4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcKLSAgICAweDEuZmJkZDFjZTU2MWY5ZDBhNjg5ODEyZTViZWEwODlmOWNwLTEsCi0gICAgLTB4MS4wOWNjcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgKLSAgICAweDEuZWZhMWVmOGExOWQ0MGJiMjJjNWQzYzMxNTk5MWUxNWZwLTEsCi0gICAgLTB4MS4wYTI4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTkKLSAgICAweDEuZmZmZmVmMDljZTQ3ZWNjMDNkMWQxMWY5NDkxZTY1MTlwLTEsCi0gICAgLTB4MS4wZjYzMjBwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAKLSAgICAweDEuZmZmZmVmMDljMDQ3ZWQzNmY4YWExYTdlNjdlMjY1MjhwLTEsCi0gICAgLTB4MS4wZjY0cC0yMQotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgMHgxLjg4OTA2MzZlMzFmNTQzYjM4NTNiMWIzMDVkYWViOTMzcC0xLAotICAgIC0weDEuMTBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMgotICAgIDB4MS5mZmZmZWYwMDAwNDgzZmZmMzM0YWFjNWRhYmZkMWM3ZHAtMSwKLSAgICAtMHgxLjEwcC0yMQotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgMHgxLmVmMWMyZDAwMmY3NjM5ZDRkODJlZGMwMWVhYWQxZGVkcC0xLAotICAgIC0weDEuMTJjY3AtNQotICB9LAotICB7IC8vIEVudHJ5IDI0Ci0gICAgMHgxLmRlN2YwMTBkMWM2NDk0MTM5YjA1MzFiZDViOGYxMDhicC0xLAotICAgIC0weDEuMTUzNHAtNAotICB9LAotICB7IC8vIEVudHJ5IDI1Ci0gICAgMHgxLjAyMDU3ZDEyNDVjZWFmNjJhMjEwOTlkNDQ0MWEzNmRicC0xMDEsCi0gICAgLTB4MS4xOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjYKLSAgICAweDEuZTkwNDA3MzRhMTYzMzM1NjdjZjZmMzFiYzkwZDQzNTVwLTI3LAotICAgIC0weDEuMjExNTg4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS44ZDAzZjhmZmZmYjFhMjYyMmJiYTgxZDZhYjRhOTJmZnAtMTQsCi0gICAgLTB4MS4yODdkMDhwMwotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLmU5N2U0MzAyNTdlNzVmNDk3ZjZhM2VmZTUxZmY1MDU0cC0xMTIsCi0gICAgLTB4MS4zM2VmZWFwNgotICB9LAotICB7IC8vIEVudHJ5IDI5Ci0gICAgMHgxLmM2OWM1MThlYTdjNTg4NDJjMTc4ZmJkOWU4Y2Y1MzZlcC0xMTcsCi0gICAgLTB4MS40MjE4ODhwNgotICB9LAotICB7IC8vIEVudHJ5IDMwCi0gICAgMHgxLmRmMmEwZjkyYzE3ZTlmZjBiZmI3N2I3YWJiZTYzN2E2cC0xMjYsCi0gICAgLTB4MS41YWQ2YjZwNgotICB9LAotICB7IC8vIEVudHJ5IDMxCi0gICAgMHgxLjc4MmYyMzA2OGMxMGIxYzU1MTNkYzNiMDE5MmQzMGQ0cC0xMjcsCi0gICAgLTB4MS41ZTk0NDRwNgotICB9LAotICB7IC8vIEVudHJ5IDMyCi0gICAgMHgxLjcxMDYwMmY5ZjQyODgzNDhjYzgzNDg0NzJhMjRmOTNkcC0xMjcsCi0gICAgLTB4MS41ZWE3ZjJwNgotICB9LAotICB7IC8vIEVudHJ5IDMzCi0gICAgMHgxLjY1YWI3OTk0ZmYzNDQwZGNkM2VlN2Y5YjlhMDI0MjNhcC0xMjcsCi0gICAgLTB4MS41ZWM3ZjJwNgotICB9LAotICB7IC8vIEVudHJ5IDM0Ci0gICAgMHgxLjYwMzFjYzQ1NGYxYzNlMDEyNmI3MWJmMjFlOTAzZDIwcC0xMjcsCi0gICAgLTB4MS41ZWQ3YmVwNgotICB9LAotICB7IC8vIEVudHJ5IDM1Ci0gICAgMHgxLmI3OGY2ODAwMDMwZmI3ZWM3OTg0YTNlNzQxOWQ2ZmMycC0xMjksCi0gICAgLTB4MS42MzgwNjZwNgotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmY5MzYzZjM1ODMyNzlhYzI0ZTc1N2VlYjc2NTQ5MTBjcC0zLAotICAgIC0weDEuNjY0ZWUwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNwotICAgIDB4MS5kNjE3ZjEwZTYzYWRmY2Q2NzQxNGMwOGRjNmY5ZDAxMHAtOSwKLSAgICAtMHgxLjY4NWI0NHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgKLSAgICAweDEuY2Y4YzQ1MDNiZjE3ZDhjNzY0N2U5M2ExNTNhZjM3YjZwLTksCi0gICAgLTB4MS42OTQxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOQotICAgIDB4MS5kNDcwYjcwZTkwZDUwOTdlODdiOTI1YzVmNjNmZWU3ZHAtMSwKLSAgICAtMHgxLjZjMzMyOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDQwCi0gICAgMHgxLmE5YzBhNTAxMGRlODVmOWE2MGM4MTA0ZjM3ZmM1OTdmcC0xLAotICAgIC0weDEuNzljOTg0cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEKLSAgICAweDEuZGZmMTI2ZmZmY2RkZTM0MzYzMjJiYTA5ZGI0NTU2ZTFwLTIsCi0gICAgLTB4MS44M2ZmMzhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MgotICAgIDB4MS5kYTFiODMwMWFmODEzODRiOGU0OTVjOWE0Zjk3NDk3ZnAtNzIsCi0gICAgLTB4MS44YTUyOWVwNQotICB9LAotICB7IC8vIEVudHJ5IDQzCi0gICAgMHgxLmJhYmFmNGZmZmZlMjkwMjVjZTc1MTA5NGFlY2Y5YjAzcC0xOSwKLSAgICAtMHgxLjkzZTc4OHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQKLSAgICAweDEuNmU5NTNhZmZmZWM3ZmMzYjVkZGExN2M4MjA2Nzg4MjFwLTQzLAotICAgIC0weDEuZDcyM2Y4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NQotICAgIDB4MS5mZjBmZjZmM2Q5ZjQ5M2VkNjEwMzY0ODYxYTk5NTY2NHAtMSwKLSAgICAtMHgxLmUwODJjNHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NgotICAgIDB4MS5mZjM4YTQwYTNiYzMzZjY1ZjRiZWQ1ZGUwYmRmYzM5N3AtNDUsCi0gICAgLTB4MS5lN2ZmZmVwNAotICB9LAotICB7IC8vIEVudHJ5IDQ3Ci0gICAgMHgxLjgwMjg5OTAwMzRmY2M4ZjMzNDQzMzIxZGIwOGM2ZGU4cC0yLAotICAgIC0weDEuZjVmOTIycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAweDEuZmYwMjQ4ZjFhMTc0MThlNjNkNDcxMWYzZTY2YjdjMjVwLTEsCi0gICAgLTB4MS5mYmVjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgMHgxLmZmMDI0NmYyOWYyYzI2YzVlZDUxZDE2NDk4ZDFkNjhlcC0xLAotICAgIC0weDEuZmJmMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MAotICAgIDB4MS5mYTg3ZjY2ZjgxMjg0OTI5MjI5MGE5ZjYyNjhlZjJmOXAtMjQsCi0gICAgLTB4MS5mZTdmZmVwMwotICB9LAotICB7IC8vIEVudHJ5IDUxCi0gICAgMHgxLmZmMDA0NmYyZDcxNmMwOTU3NzBkODQ5ZTE4MmEzYmIycC0xLAotICAgIC0weDEuZmZmMWZlcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDUyCi0gICAgMHgxLmUwZmIyOTExNjU1MDA2NDIyYTE1YzNjMDNmOGNlODQ3cC0xLAotICAgIC0weDEuZmZmOGZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTMKLSAgICAweDEuZmYwMDQwZjRkNmNhYzMxNmJkY2ZhMTNjYzVhZjdlN2NwLTEsCi0gICAgLTB4MS5mZmZlcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDU0Ci0gICAgMHgxLmZmZTAwMTA4MWEyOGM0MjAyNjBhMTYxYjEyZmJiOTdkcC0xLAotICAgIC0weDEuZmZmZjdlcC0xMwotICB9LAotICB7IC8vIEVudHJ5IDU1Ci0gICAgMHgxLjAwMDAwMTAwMDAwMDgwMDAwMDJhYWFhYWI1NTU1NTU3cDAsCi0gICAgMHgxLnAtMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIDB4MS40MjY0MzZmNWFlYzFjMzEzYTZkMmJiY2Q1OGEzODhkZXA5MiwKLSAgICAweDEuMDAwMDIycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIDB4MS5hNjE1ZTUwYTVlNTRlMWYyZjdlNTdjM2YwZmY5MGM2MXAwLAotICAgIDB4MS4wMDA0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgKLSAgICAweDEuZDk1ZDYzMDE0Y2U1Y2RjZDExM2ZlZTBhNGJlNjc5MDJwMiwKLSAgICAweDEuMDAyMDM4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OQotICAgIDB4MS43NjJiNjMwNGUxOWYzNTE4ZTkwMzQ4YjVkOWRjNTQ0ZXAxMSwKLSAgICAweDEuMDAyMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAweDEuYTYzNmUwMGEwY2Q1Yjg1MjYyNzU2ZDUwYjk1Y2NjODhwMCwKLSAgICAweDEuMDAyY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYxCi0gICAgMHgxLjhjYTZkMzA1ODdhZjUwNGE2ZjY5ZDNhNTdiZjNlNmE4cDExLAotICAgIDB4MS4wMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIKLSAgICAweDEuZGZhMmQ3MDFkYTk4YTE0ODA2M2MzY2E2ZDEzZjFiY2VwOTMsCi0gICAgMHgxLjA0NWNiNnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMKLSAgICAweDEuNjM0MGU3MDAwMGUyOTZlNzkwNzM2NzBlZjljMDkxNWRwMSwKLSAgICAweDEuMDU1MzNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NAotICAgIDB4MS5lZjU5NWIwMTg1NDk0NDJlYzczZTNkNTE2MTc2OGQxNnA1LAotICAgIDB4MS4wODBkNzRwMgotICB9LAotICB7IC8vIEVudHJ5IDY1Ci0gICAgMHgxLjg5YWNkZjI2Zjk5MDEyZWM1MjdjNWU5ZTdjNDcxMTdmcDQ3LAotICAgIDB4MS4wODEwZWVwNQotICB9LAotICB7IC8vIEVudHJ5IDY2Ci0gICAgMHgxLmYzM2JlZjAwMDAzYWI5M2E0NjdjOTRmYzk1ZGVlZDMwcDUsCi0gICAgMHgxLjA4OGQ3NHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcKLSAgICAweDEuYjBmMzRhZmZmZjlkYzI0MzBiMzFjMmVhMDRmOWRmOTBwOTUsCi0gICAgMHgxLjA5N2Y2YXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjgKLSAgICAweDEuNmI0YWU1NTIyNjA0ZTEwMjczMjgzZWZiZjlmNjI2YzlwMSwKLSAgICAweDEuMGIwZGJhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OQotICAgIDB4MS4wMDAwMTEwMDAwOTA4MDAzMzJkNTYyZWQ2MDJlMzgyNHAwLAotICAgIDB4MS4xMHAtMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MAotICAgIDB4MS5iMzgwYjBmNmExMmZhMTlkZjM5MWY1MDM0YjhhZTMxYnAwLAotICAgIDB4MS4xMDA5YTRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MQotICAgIDB4MS5iNWQyOTNmNWJmYTIwNDE2NzIxOTk5YzZiZTAzYTE5NXAwLAotICAgIDB4MS4xMmMxZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MgotICAgIDB4MS5iNjYwOWZmNzg1YTA0NjMwNTMxMzU0ZDE5MjRmOGQxMXAwLAotICAgIDB4MS4xMzY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMKLSAgICAweDEuNzgyNDFhZmZmZmQxY2Y5NjdhOWVlYzY2M2Y0NTY3N2VwMSwKLSAgICAweDEuMTNmMzdhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS5iNzc2NjBmNThiY2IxZWUyZDc1N2E5N2Y4MmM4MjIzZHAwLAotICAgIDB4MS4xNGFjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUKLSAgICAweDEuN2I0ZDZmMDZjZjBmYmQxZmJjMDVkNTA5MDgzNTIwNzVwMSwKLSAgICAweDEuMTYxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYKLSAgICAweDEuMjc2NTgxMDAwMmMyZWI0MjY1MzA4YWM4YjEyYWZhM2JwMCwKLSAgICAweDEuMjUyNzI2cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcKLSAgICAweDEuOTJiMGFjZmZmZjFjODY0NmQ0MDc1OTc2ZjYyZGZiYzJwMSwKLSAgICAweDEuMjU2OTNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OAotICAgIDB4MS5mYmQyMjRjN2UxOTcwYmVkODY4ZmFkYzgwMTJjODVhZXAxMywKLSAgICAweDEuMzY0NDg2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OQotICAgIDB4MS4wNjAwN2QwMDA4NDM0OWY5NDkxMTA0ZjIwYzg5ZjJmOXAyOCwKLSAgICAweDEuMzZlNjk2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MAotICAgIDB4MS41ZWMxODQwMDAwMzQxOWFkMzgxNWI0MWM0NTM4NGRjY3AwLAotICAgIDB4MS40Mjc4OThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MQotICAgIDB4MS5iMjNmZGFjZmEzZTBkOWQyMWIzNDI5ODNlMTU5ZmVkY3AxMTgsCi0gICAgMHgxLjQ5NDc3Y3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAweDEuZmVhMDAwZTI0MzgyMTRjYTkxNTVkNGM5MWJkMjllOWFwMTE5LAotICAgIDB4MS40Y2IzMmNwNgotICB9LAotICB7IC8vIEVudHJ5IDgzCi0gICAgMHgxLmY2NzE3NmMxOWZlZTBjOWE4ZDFjOWNiYjJkNzNiNjE3cDEyMCwKLSAgICAweDEuNGY2ODZhcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NAotICAgIDB4MS5kMWMyNDEwMjRkODQxYmQ1Mjk3MmJlNjE4MjYzMzczM3AxMjEsCi0gICAgMHgxLjUxZTA5MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODUKLSAgICAweDEuY2RlMmRkMDcwYzdkZTljYjU4YzBjYWVkOTI3MTQ1ZDhwMywKLSAgICAweDEuNTViNGUycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5mNzEwOTAwOWNkMzQ5NGFmNTI2YzE4YWYwMTkwNTVlZXAwLAotICAgIDB4MS41OWUwOGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NwotICAgIDB4MS5mYTdjMjZjMTJhZmI4N2I1YjJiMTUxZTY1NGY2ZWI5MHAwLAotICAgIDB4MS41ZDU4YWVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OAotICAgIDB4MS5jZjNkNDZjYjk4YTU3MTg3MWY2ZGVlMWE4MDU4MWE1MnAxMjYsCi0gICAgMHgxLjVmYjdlY3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODkKLSAgICAweDEuZmQ4NzE4ZjNkM2VkOGY0YTVkOGRlYzZhZTczMjcxNTlwNywKLSAgICAweDEuNjI5NGUycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MAotICAgIDB4MS5mZWFmZmVmM2U3MzZiNzE1NjlhNDc0MDQyMDU0ZThiN3A3LAotICAgIDB4MS42MmJhMjJwMgotICB9LAotICB7IC8vIEVudHJ5IDkxCi0gICAgMHgxLmY3NmJhNDY3MzNmNDE0NmEwZjk0YjNkMTMxMTQ5NGJjcDEyNywKLSAgICAweDEuNjJkMmUycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MgotICAgIDB4MS5mZDdiOWYwMWI0ZGYwODg1NWZlYjI5MDIzMjMyZmQ5OXAxMjcsCi0gICAgMHgxLjYyZGYyNHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMKLSAgICAweDEuZmY2OTFlNmRkNzFiYzhjYjFmMWZjZmZjYzMyY2I5ODJwMTI3LAotICAgIDB4MS42MmUzMDJwNgotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgMHgxLmZmY2UwYTllNGZjNjc2MmM5MWYxYTBjZTM1OGE4NDg3cDEyNywKLSAgICAweDEuNjJlM2NjcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NQotICAgIDB4MS5mZmZjMDEwOWM0MDJkOGIyM2JmZWEzYTE0ODM1ODMxYnAxNSwKLSAgICAweDEuNjJlM2YwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NgotICAgIDB4MS5mZmYxMDg2NjMyYjBlOWI5M2JjNWJlNDRkOWMxZGVhN3AxMjcsCi0gICAgMHgxLjYyZTQxMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAweDEuZmZmNjA4NDcwNzg2ZDdlNDdlZjExNjYyZjE3OTBjMmFwMTI3LAotICAgIDB4MS42MmU0MWNwNgotICB9LAotICB7IC8vIEVudHJ5IDk4Ci0gICAgMHgxLjIzMmI5NmZmZWMxNDdiYjMxNjk1NTk1ODc4YmE0ZjlkcDQsCi0gICAgMHgxLjczNWU3MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAweDEuOGQyYzk5MDMxNzY2MGUyMWE2NGJhNzcyM2Y1ZTBlZDNwOCwKLSAgICAweDEuN2ZwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMAotICAgIDB4MS5lZDM3OWYwMjU3ODFkZGNhMjQwYzgzMzc1ZWU0OTZhYnA3MCwKLSAgICAweDEuODk2ODlhcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEKLSAgICAweDEuMzY4NzQxMDAwMGUyYzlmODczMjIwOGM5NzkxOWZiMGVwMCwKLSAgICAweDEuOGI3NmQwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyCi0gICAgMHgxLjMxMmU3OWZmNTIyYWY3MWI5ZTJlODM3YmY4ODcyOTcycDIsCi0gICAgMHgxLjhmZTBjYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgMHgxLjcwMDhmMTAwMjAyMjZlNGY1OWI1YWZkOGMxMTdjMDk2cDQsCi0gICAgMHgxLjkxNWFmY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0Ci0gICAgMHgxLmRlNzVlOTAyMjVlYzZkYTJjZmIzOWRjYTY0NDBiNjg4cDc1LAotICAgIDB4MS5hNGU0MzhwNQotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIDB4MS43OWYwNjUwMDk1ZmQ0MjZkY2U4YWE4MDNlOWE0ZmM5OHA5LAotICAgIDB4MS5hODJmMzBwMgotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIDB4MS4yZTAyZDZmZmZmZmVkOTdmMjdkY2MzNzQyNDcyZmZhNHAxLAotICAgIDB4MS5iNzg0OThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcKLSAgICAweDEuZmEyYjYwZmZmZmZlZWExYzdiZDFjNzhiYjVjNDZiMTdwOSwKLSAgICAweDEuYmFlMTk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAweDEuMDAwNzM0ZmZmZmZmYmFiYTQ4MjBhMmI3OWQyOTZkNjNwMCwKLSAgICAweDEuY2QzOTgycC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIDB4MS5kNTQxNThmNTQzNGVkYjJhMjM0MzU5YmVmYjIyMDliY3AxMCwKLSAgICAweDEuZTI2NTcwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAweDEuOTlmYjI5MDE3NmVjMDEwZDA2OGM1Zjg4OGExOGQ4NDdwODcsCi0gICAgMHgxLmU2MzJhYXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExCi0gICAgMHgxLmJjOGU1MzAwMDAzZTEyZWFmMGVhMDRiOGM1MDc2NDc0cDIsCi0gICAgMHgxLmYwMmQ2OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyCi0gICAgMHgxLjU2NTY3MmZmZmZlNzgxNjhjZWE5ZWQxZGVlZDJjNDcycDEsCi0gICAgMHgxLmY3YjA1Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIDB4MS5hNjY0ZGNlZDdjYzMzZWRlOTY1MzkyNzIyYjBkODdiZnAyMiwKLSAgICAweDEuZjdmZmZlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQKLSAgICAweDEuZmU4YmZkMzg3NjI0OTBjN2Y2OGU4MGE0YmRmM2ExN2RwOTAsCi0gICAgMHgxLmY4OTZhMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1Ci0gICAgMHgxLmNjMjRkNTBjMTY1MDAwODQ3NTRmYmRkYzYwZTcyNzZjcDIsCi0gICAgMHgxLmY4ZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2Ci0gICAgMHgxLjcyMTUxYzY5ZmYwZTk4NTBiODhjYmQ5YTYwMGZlYTUwcDExLAotICAgIDB4MS5mZjkwMGVwMgotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIDB4MS4zZDU5ZDJkOGIyMmI0MWMyYmI2MzM0YzliZTdiZTkwMnA5MiwKLSAgICAweDEuZmZkZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgKLSAgICAweDEuNzQ4NzUzMDAwNDJiOTQzYmEzNjg5OTRlZWM4ZGNiMGVwMTEsCi0gICAgMHgxLmZmZmJmZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgMHgxLmQ4ZTYwOTBjZWZlODA0ODc5NDhjMDFlZmUzY2Y0YzVhcDIsCi0gICAgMHgxLmZmZmZkY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwCi0gICAgMHgxLjAwMDAwMGZmZmZmZTdmZmZmZTJhYWFhYmI1NTU1NzAycDAsCi0gICAgMHgxLmZmZmZmY3AtMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEKLSAgICAweDEuMzA0ZDFlZDk1MTFiZjVhNmE1YjIwZTRjZGJmNmQ4ZmZwNjksCi0gICAgMHgxLjdmZmZmZXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyCi0gICAgMHgxLjMwNGQ2YWVjYTI1NGIzYWY0YmM1ZDYyOTNkNWY2NWM3cDY5LAotICAgIDB4MS44MHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgMHgxLjMwNGRiNzAwMDY5MjQ4NjZiYzE4NDUwOTdjOTFlNDg4cDY5LAotICAgIDB4MS44MDAwMDJwNQotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS5mOGU2NDQxMWI0Yzc0MjlmMjYwY2I3MjUzOTg4MDkxOXAtNzYsCi0gICAgLTB4MS5hMDAwMDJwNQotICB9LAotICB7IC8vIEVudHJ5IDEyNQotICAgIDB4MS5mOGU2YzI0YjU1OTJlMzQyMWRmMjdhY2YxZTA4MDE0NHAtNzYsCi0gICAgLTB4MS5hMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgMHgxLmY4ZTc0MDg1MTVlY2YwMDljYjViN2ZlODAwMDNhZTc0cC03NiwKLSAgICAtMHgxLjlmZmZmZXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3Ci0gICAgMHgxLjU1NzZmMGRjYWMyMTc4N2YyZDU3YjE0YTcwMDIyNGUzcDExNSwKLSAgICAweDEuM2ZmZmZlcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgKLSAgICAweDEuNTU3NzliOTg0ZjNlYjNjOGE1MDNiNGE4ZTI0ODlkOThwMTE1LAotICAgIDB4MS40MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI5Ci0gICAgMHgxLjU1Nzg0NjU0NDdiOWQ1ZjgzMjQ2YWYxZTQ4ZTgyMjVicDExNSwKLSAgICAweDEuNDAwMDAycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAKLSAgICAweDEuMDdiNjhkNTA1YTYwZGQ0NDRiOGIyYmRmZTA2MDM4Y2ZwLTEyNywKLSAgICAtMHgxLjYwMDAwMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMxCi0gICAgMHgxLjA3YjcxMTJiYzFmZmUxOWQzZTcwM2U0YTc5NGY3MzcycC0xMjcsCi0gICAgLTB4MS42MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgMHgxLjA3Yjc5NTA3NmI4Y2FhNDEyMzM0ZTdkZGYxOGIwMGY1cC0xMjcsCi0gICAgLTB4MS41ZmZmZmVwNgotICB9LAotICB7IC8vIEVudHJ5IDEzMwotICAgIDB4MS4wMzk5MjQ0MjhmNDc1MTFjMDNlNzVkZDYyM2JjNDdlMXA3NSwKLSAgICAweDEuOWZmZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQKLSAgICAweDEuMDM5OTY1MjhlMDc0YmViY2ZkNzY0MTZmYzJjMGViOTJwNzUsCi0gICAgMHgxLmEwcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUKLSAgICAweDEuMDM5OWE2MGY0MWRiYzJiMDg1MjIxMzEyZjUwNTA4OWRwNzUsCi0gICAgMHgxLmEwMDAwMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM2Ci0gICAgMHgxLmFlYmE0ZjM1MDJkODM3OTUxODg5NzQwODkwNzQ3NjA5cC03MCwKLSAgICAtMHgxLjgwMDAwMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM3Ci0gICAgMHgxLmFlYmFiYWUzYTQxYjRiZTNmNTc2ZTcwMzAzYTM3OTMycC03MCwKLSAgICAtMHgxLjgwcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzgKLSAgICAweDEuYWViYjI2OTI2MDRhMGJlMTBjYzlmM2EwOWU3N2FhZTFwLTcwLAotICAgIC0weDEuN2ZmZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAweDEuZjEwNDc1NDU0NjVmOTdhYWQ2Nzc0ZGZlMTZiOTYwZTJwMTI2LAotICAgIDB4MS41ZmZmZmVwNgotICB9LAotICB7IC8vIEVudHJ5IDE0MAotICAgIDB4MS5mMTA1NmRjN2JmMjJkM2RlMGVkNTc2MTViYzUwMWY4YnAxMjYsCi0gICAgMHgxLjYwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDEKLSAgICAweDEuZjEwNjY2NGFiNDI3NmI4MzM5OTMwNTBjOWFhMDlhOTVwMTI2LAotICAgIDB4MS42MDAwMDJwNgotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIDB4MS43ZmQ4YjRlNmU4NzViNTk4OGFlYjJlOTA4M2NhZjc5MXAtMTE2LAotICAgIC0weDEuNDAwMDAycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAweDEuN2ZkOTc0ZDM3MmU0NDg2ZjcyMzU4YWNkZDEyNjkwZTVwLTExNiwKLSAgICAtMHgxLjQwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDQKLSAgICAweDEuN2ZkYTM0YzA1ZDQ5Mzg3YjM4MzhjNWMyYmZhZDAxMjNwLTExNiwKLSAgICAtMHgxLjNmZmZmZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQ1Ci0gICAgMHgxLjZhMzJlMTYwNjQ1ZGM1MzY0ZGE5M2MxMjMyMTVjNTkxcC0xMDcsCi0gICAgLTB4MS4yNzQ3NjhwNgotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIDB4MS40MmEyODBiNDdmMWU1MGU3MzA3Yzk1OTllOTQ5NzVkYXAtMTIxLAotICAgIC0weDEuNGU4ZWQwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAweDEuMWY2NDc5ZDZlNzlkOTI0NzU5YzdmNDQxNjBhZDMwZTNwLTEzNSwKLSAgICAtMHgxLjc1ZDYzOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQ4Ci0gICAgMHgxLmZmZmZmZmVmYTM5ZWYzOWE3ZjI1NDUzNWQ5MzUxNDJicC0yLAotICAgIC0weDEuNjJlNDMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ5Ci0gICAgMHgxLjAwMDAwMGY3ZDFjZmYxOWYwZjMzMDM2Y2YwMWMxMjBjcC0xLAotICAgIC0weDEuNjJlNDJlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUwCi0gICAgMHgxLjAwMDAwMWY3ZDFkMTY5NzBkZmNiMzYwZWZhOTFmZWEwcC0xLAotICAgIC0weDEuNjJlNDJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgMHgxLjZhMDllNjYyMmFlYmZiZDdhNGEwMzc3NzIyM2M2MDRmcC0xLAotICAgIC0weDEuNjJlNDMwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUyCi0gICAgMHgxLjZhMDllNzE3MmZkZjVhMmU1NzcxZjM4NjZhMjU1MTRlcC0xLAotICAgIC0weDEuNjJlNDJlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUzCi0gICAgMHgxLjZhMDllN2NjMzRkMzEzMDc4NDA5N2I4ZDhhN2M5MDA4cC0xLAotICAgIC0weDEuNjJlNDJjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgMHgxLmFlODlmOTkyM2NiYjQ5MTgzYWFiYjMzYjlkZTFiYzgycC0xLAotICAgIC0weDEuNjJlNDMwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU1Ci0gICAgMHgxLmFlODlmOWZkZGYzOWJiMWJiOTRiYWEzNmM5OGFiYjdicC0xLAotICAgIC0weDEuNjJlNDJlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU2Ci0gICAgMHgxLmFlODlmYTY5ODFiODQ4MDdkNzhiN2YyNTkxMDk1NmRlcC0xLAotICAgIC0weDEuNjJlNDJjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU3Ci0gICAgMHgxLmQ1ODE4ZGNkZGEzMDFiY2E5NWZiY2M1MzBhYjliOTM4cC0xLAotICAgIC0weDEuNjJlNDMwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU4Ci0gICAgMHgxLmQ1ODE4ZTA4OGE2MWQ5MzBkZjFiMDg3YTRiOTI4ZWEwcC0xLAotICAgIC0weDEuNjJlNDJlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLmQ1ODE4ZTQzM2E5MzlkZWQyZTcyNjZjYjEzZDI5OTg2cC0xLAotICAgIC0weDEuNjJlNDJjcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYwCi0gICAgMHgxLmVhNGFmYTI5NGU2MGI0YmZhMjQ0OTQ2MTBlNzUyNjFjcC0xLAotICAgIC0weDEuNjJlNDMwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYxCi0gICAgMHgxLmVhNGFmYTQ3ZjMxMDU4NDlhZGNjZmExZGQ1YjNmOTNkcC0xLAotICAgIC0weDEuNjJlNDJlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYyCi0gICAgMHgxLmVhNGFmYTY2OTdiZmZkYmUwNDRmYTdjZGFkNGIzZWU3cC0xLAotICAgIC0weDEuNjJlNDJjcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYzCi0gICAgMHgxLmY1MDc2NWI2NjQzZWZhYTJjYTllNjY5MDkzM2U1YzM3cC0xLAotICAgIC0weDEuNjJlNDMwcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY0Ci0gICAgMHgxLmY1MDc2NWM2MGM3YTI4OTQ4ZDgyZjMxYTcyODgyMzJmcC0xLAotICAgIC0weDEuNjJlNDJlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY1Ci0gICAgMHgxLmY1MDc2NWQ1YjRiNTU3MDM5MjQwZjEyNzcwNWMxMWU3cC0xLAotICAgIC0weDEuNjJlNDJjcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgMHgxLjA1OWIwZDIxNDE4NmNmZjlhOTc0YmNiODgzY2Y2OGRlcDAsCi0gICAgMHgxLjYyZTQyY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDE2NwotICAgIDB4MS4wNTliMGQyOTZlNWYzOTI0NjkwY2UxMDUzM2ZlNTk5YnAwLAotICAgIDB4MS42MmU0MmVwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjgKLSAgICAweDEuMDU5YjBkMzE5YjM3YTI5MDhmNjg0ZmFkN2JmYjk0ZDBwMCwKLSAgICAweDEuNjJlNDMwcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY5Ci0gICAgMHgxLjBiNTU4NmFlYjY4ZWEyNGM5MjgxZjI1Yjc5ZDg0ZjgzcDAsCi0gICAgMHgxLjYyZTQyY3AtNQotICB9LAotICB7IC8vIEVudHJ5IDE3MAotICAgIDB4MS4wYjU1ODZiZjZiZTcwZGJkYTYyZjcxNDhjZDVhNzg4ZnAwLAotICAgIDB4MS42MmU0MmVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzEKLSAgICAweDEuMGI1NTg2ZDAyMTNmN2EzYTBmNjNhZmEyMDdlYTc1ODdwMCwKLSAgICAweDEuNjJlNDMwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcyCi0gICAgMHgxLjE3MmI4MzgzMjdhZTFmOWQ3ZTcwNDE4YTQ3NmRhNDgwcDAsCi0gICAgMHgxLjYyZTQyY3AtNAotICB9LAotICB7IC8vIEVudHJ5IDE3MwotICAgIDB4MS4xNzJiODNhNjBkMWU5MjMwY2IzYjUyY2QxMjAwYjhkY3AwLAotICAgIDB4MS42MmU0MmVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzQKLSAgICAweDEuMTcyYjgzYzhmMjhmMDkyMGM2MTRmYzQ0NTZkZTA0OWZwMCwKLSAgICAweDEuNjJlNDMwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTc1Ci0gICAgMHgxLjMwNmZlMDBkNTIxYzViMzViZjM3MzczOGIwYTEyZTFhcDAsCi0gICAgMHgxLjYyZTQyY3AtMwotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIDB4MS4zMDZmZTA1OTZlMTQ2ODBkYzU0ZjNhMmVhMTVlM2FmY3AwLAotICAgIDB4MS42MmU0MmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzcKLSAgICAweDEuMzA2ZmUwYTU4YTBjODdlY2M5NmNkNDA1ZDhiNTgyZGJwMCwKLSAgICAweDEuNjJlNDMwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc4Ci0gICAgMHgxLjZhMDllNTAzYjJhN2RkOTljZjk0NzRiMTE1YTczZWNlcDAsCi0gICAgMHgxLjYyZTQyY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIDB4MS42YTA5ZTViOGI3OWE4Y2I0NjAyYjQyY2Q0Yzk5ZTYwZXAwLAotICAgIDB4MS42MmU0MmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODAKLSAgICAweDEuNmEwOWU2NmRiYzhkOTY1MTZhMzAzZWQwMjg5YzVkMzZwMCwKLSAgICAweDEuNjJlNDMwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgxCi0gICAgMHgxLmZmZmZmYzEwNWM2NGVjMzI5MmYyYWZhYzNmMWE0MzBkcDAsCi0gICAgMHgxLjYyZTQyY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIDB4MS5mZmZmZmUxMDVjNjFmYzhlZjYzYzY1YzY2YTlkNDk3MXAwLAotICAgIDB4MS42MmU0MmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODMKLSAgICAweDEuMDAwMDAwMDgyZTMwODY3NWFiY2IzYzIxNWVhY2Y4NGFwMSwKLSAgICAweDEuNjJlNDMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg0Ci0gICAgMHgxLmZmZmZmODIwYjhkMTk3Nzk2OTJmYjBmY2MwMjgxMjQ2cDEsCi0gICAgMHgxLjYyZTQyY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg1Ci0gICAgMHgxLmZmZmZmYzIwYjhjNWQ4ZWFmZjRhYzAxM2NmNzM0NjM5cDEsCi0gICAgMHgxLjYyZTQyZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg2Ci0gICAgMHgxLjAwMDAwMDEwNWM2MTBkMmU0MmY0NTkyMjc2OGE4ZTZjcDIsCi0gICAgMHgxLjYyZTQzMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg3Ci0gICAgMHgxLmZmZmZmMDQxNzFjMjJiNDNhMjhkODA4OGMzNDdiZjFmcDMsCi0gICAgMHgxLjYyZTQyY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg4Ci0gICAgMHgxLmZmZmZmODQxNzE5MzMxMGE0MjliNzFlNzBkNzkyMTg2cDMsCi0gICAgMHgxLjYyZTQyZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg5Ci0gICAgMHgxLjAwMDAwMDIwYjhjMjFiNjgzMzYwM2U1MTg5N2M1OThjcDQsCi0gICAgMHgxLjYyZTQzMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkwCi0gICAgMHgxLmZmZmZlMDgyZTQwMDQ3Yzg5ZGZhNDFkMDljMWUxZWY4cDcsCi0gICAgMHgxLjYyZTQyY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkxCi0gICAgMHgxLmZmZmZmMDgyZTM0NDVlZTU1YjNmYTg0YTVkZDg0OWM5cDcsCi0gICAgMHgxLjYyZTQyZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkyCi0gICAgMHgxLjAwMDAwMDQxNzE4NDNhZmYxYzllZjE0MzQxYmZhNDJlcDgsCi0gICAgMHgxLjYyZTQzMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkzCi0gICAgMHgxLmZmZmZjMTA1YzlmMDU0ODc2MGE4MjNiMGRmZGFlYjY2cDE1LAotICAgIDB4MS42MmU0MmNwMwotICB9LAotICB7IC8vIEVudHJ5IDE5NAotICAgIDB4MS5mZmZmZTEwNWM3MDBiMTBjM2UyYTU0OWZiZGViYjBkYXAxNSwKLSAgICAweDEuNjJlNDJlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAweDEuMDAwMDAwODJlMzA4ODZiOTEwYjlkODc1MjgyODM4OWRwMTYsCi0gICAgMHgxLjYyZTQzMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk2Ci0gICAgMHgxLmZmZmY4MjBiOWI5ZmJjNmQ1ZGRhNDA2YWQ5ZjkzMzU0cDMxLAotICAgIDB4MS42MmU0MmNwNAotICB9LAotICB7IC8vIEVudHJ5IDE5NwotICAgIDB4MS5mZmZmYzIwYjhmZTEyZjEwMTc0MGFjOTY1M2Y3OGZlM3AzMSwKLSAgICAweDEuNjJlNDJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTgKLSAgICAweDEuMDAwMDAxMDVjNjExNTA1ZDdmNzRhNDE0MzMzMTJkcDMyLAotICAgIDB4MS42MmU0MzBwNAotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIDB4MS5mZmZlMDgyZjI4Njg4ZDM4NzJhYjhhYTY5ZjNkYzM1OHAxMjcsCi0gICAgMHgxLjYyZTQyY3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAwCi0gICAgMHgxLmZmZmYwODJlNmM3ZmVkMWQzZmQ1Y2ZmN2UxZjYwNTkxcDEyNywKLSAgICAweDEuNjJlNDJlcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLjYyZTQzMHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAyCi0gICAgMC4wZiwKLSAgICAtMHgxLjlkMWRhMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMC4wZiwKLSAgICAtMHgxLjlkMWRhMHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgMHgxLjAwMDA3MzNkMzdiMWQwOGE4MGQ3ZjViNDVhNTdiODg4cC0xNDksCi0gICAgLTB4MS45ZDFkOWVwNgotICB9LAotICB7IC8vIEVudHJ5IDIwNQotICAgIDB4MS44ZWJlZjkyMzY4YTNlYWZhNTE5NzQwNTg0YzBiYzNiNHAtMSwKLSAgICAtMHgxLjAwMDAwMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDIwNgotICAgIDB4MS44ZWJlZjllYWM4MjBhZTg2ODJiOTc5M2FjNmQxZTc3MnAtMSwKLSAgICAtMHgxLnAtMgotICB9LAotICB7IC8vIEVudHJ5IDIwNwotICAgIDB4MS44ZWJlZmE0ZTc3ZGYzNWFlODJiNTdhZjEyMTUxOGNlZnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDIwOAotICAgIDB4MS5jM2Q2YTFkZGUyNzk5MmUxMjllZDc4YTY1NTczZjg3OHAtMSwKLSAgICAtMHgxLjAwMDAwMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDIwOQotICAgIDB4MS5jM2Q2YTI0ZWQ4MjIxODc4N2Q2MjRkM2U1ZWJhOTVmNXAtMSwKLSAgICAtMHgxLnAtMwotICB9LAotICB7IC8vIEVudHJ5IDIxMAotICAgIDB4MS5jM2Q2YTI4NzUyZjY2NWRiMmVlYTFmYTU4NzY3OThhM3AtMSwKLSAgICAtMHgxLmZmZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDIxMQotICAgIDB4MS5lMGZhYmY4MDUwZDI0OTE5ZDM1Nzk0NmY5ZTg4MDc1NHAtMSwKLSAgICAtMHgxLjAwMDAwMnAtNAotICB9LAotICB7IC8vIEVudHJ5IDIxMgotICAgIDB4MS5lMGZhYmZiYzcwMmEzY2U1ZTMxZmUwNjA5MzU4YmFmZHAtMSwKLSAgICAtMHgxLnAtNAotICB9LAotICB7IC8vIEVudHJ5IDIxMwotICAgIDB4MS5lMGZhYmZkYTdmZDYzOTlkNjMyMzkxZjk3NzFmM2U4MnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDIxNAotICAgIDB4MS5mMDNmNTY4OTg3NjgwZjg0MTlkZTdkNjZkMGE2MTllY3AtMSwKLSAgICAtMHgxLjAwMDAwMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDIxNQotICAgIDB4MS5mMDNmNTZhODhiNWQ3OTE0YjAwYWJmOTc3NjI3MzVkMXAtMSwKLSAgICAtMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDIxNgotICAgIDB4MS5mMDNmNTZiODBkNTgyZTk3MTJlMTVkZjNjYzllOGU5Y3AtMSwKLSAgICAtMHgxLmZmZmZmZXAtNgotICB9LAotICB7IC8vIEVudHJ5IDIxNwotICAgIDB4MS5mODBmZWFiMDJlN2FmMzY3NWIzNmViNmMzYzcxYTVlZXAtMSwKLSAgICAtMHgxLjAwMDAwMnAtNgotICB9LAotICB7IC8vIEVudHJ5IDIxOAotICAgIDB4MS5mODBmZWFiZmVlZmE0OTI3ZDEwYmRkNTRlYWQ1YWE0NnAtMSwKLSAgICAtMHgxLnAtNgotICB9LAotICB7IC8vIEVudHJ5IDIxOQotICAgIDB4MS5mODBmZWFjN2NmMzlmNDM3NGQ3NDU4MDhhNzgxMzBlY3AtMSwKLSAgICAtMHgxLmZmZmZmZXAtNwotICB9LAotICB7IC8vIEVudHJ5IDIyMAotICAgIDB4MS5mYzAzZmQ0ZWJhMTI1YTRkMzQ1NWJmNzJjYmM5MzlmN3AtMSwKLSAgICAtMHgxLjAwMDAwMnAtNwotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIDB4MS5mYzAzZmQ1NmFhMjI0Zjk3ZmNiZjEzMzI5ODg4NDJkZXAtMSwKLSAgICAtMHgxLnAtNwotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIDB4MS5mYzAzZmQ1YWEyMmE0YTQ5NDkwYmFkMTI4YmE1YWY5M3AtMSwKLSAgICAtMHgxLmZmZmZmZXAtOAotICB9LAotICB7IC8vIEVudHJ5IDIyMwotICAgIDB4MS5mZTAwZmZhNmMzZjliZDIwMjkyODk3ZjQyZDdiOWQ3NnAtMSwKLSAgICAtMHgxLjAwMDAwMnAtOAotICB9LAotICB7IC8vIEVudHJ5IDIyNAotICAgIDB4MS5mZTAwZmZhYWJmZmJiYzcxYWQxZTExODRhZmMxOWM3ZXAtMSwKLSAgICAtMHgxLnAtOAotICB9LAotICB7IC8vIEVudHJ5IDIyNQotICAgIDB4MS5mZTAwZmZhY2JkZmNiYzFkNmMxYTRkY2MxMWRkYjZkOHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtOQotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIDB4MS5mZjAwM2ZmMzU3YWE0ODk3MDk1N2EyY2Y3ZDdhNmNhY3AtMSwKLSAgICAtMHgxLjAwMDAwMnAtOQotICB9LAotICB7IC8vIEVudHJ5IDIyNwotICAgIDB4MS5mZjAwM2ZmNTU2YWE4ODhiNjA4MjBiNjA4N2QxZTkxYXAtMSwKLSAgICAtMHgxLnAtOQotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIDB4MS5mZjAwM2ZmNjU2MmFhODg2NGJiNzU3YTRlZDhkOTY4NnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjkKLSAgICAweDEuZmY4MDBmZmRhYWZmZjZlZmU0ZGYzZjdmNWNlMjNhY2NwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMwCi0gICAgMHgxLmZmODAwZmZlYWFiZmZlZWVmYTRmM2NmNzBmNTlkOWJmcC0xLAotICAgIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDIzMQotICAgIDB4MS5mZjgwMGZmZjJhYTAwMmVlYjRmYjNkMzJjNDk4YThmZnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzIKLSAgICAweDEuZmZmMDAwM2ZkZjU2NTZhNmE5OTMyZGY2MjgzY2ZjYmRwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMzCi0gICAgMHgxLmZmZjAwMDNmZmY1NTU2YWFhODg4OGI2MGIyY2IyZmYycC0xLAotICAgIC0weDEucC0xMwotICB9LAotICB7IC8vIEVudHJ5IDIzNAotICAgIDB4MS5mZmYwMDA0MDBmNTRkNmFjYThjMzM0MTYxMDEwMDk5ZXAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzUKLSAgICAweDEuNDhiNWUzNzFiYTlmN2ZjMjI0Yzc1ZDE5OGZlNGNkMWJwMCwKLSAgICAweDEuZmZmZmZlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgMHgxLjQ4YjVlM2MzZTgxODY2NzY3YmMzYjY5YmFhYmU1MzRlcDAsCi0gICAgMHgxLnAtMgotICB9LAotICB7IC8vIEVudHJ5IDIzNwotICAgIDB4MS40OGI1ZTQ2ODQzMGE3MTgxNDQ3NjQ3ZmMwM2FkYmZiNnAwLAotICAgIDB4MS4wMDAwMDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzgKLSAgICAweDEuMjIxNjA0MzcyYzljNDY3MzJkZDcyZTk5NmM5ZTIzZjJwMCwKLSAgICAweDEuZmZmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM5Ci0gICAgMHgxLjIyMTYwNDViNmY1Y2NmOWNlZDY4ODM4NGUwNmI4ZDQycDAsCi0gICAgMHgxLnAtMwotICB9LAotICB7IC8vIEVudHJ5IDI0MAotICAgIDB4MS4yMjE2MDRhM2Y0ZGRlZjg5NzRjMDA3OWYyM2ZkMGJiOXAwLAotICAgIDB4MS4wMDAwMDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDEKLSAgICAweDEuMTA4MmI1NjZjYjIzODBlMGJlMGQ1NTlhMDE1MDE3MmZwMCwKLSAgICAweDEuZmZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQyCi0gICAgMHgxLjEwODJiNTc3ZDM0ZWQ3ZDViMWEwMTllMjI1YzlhOTUxcDAsCi0gICAgMHgxLnAtNAotICB9LAotICB7IC8vIEVudHJ5IDI0MwotICAgIDB4MS4xMDgyYjU5OWUzYTU4OGYxMjBlNjFhZjQ4NjljOTg0MnAwLAotICAgIDB4MS4wMDAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDQKLSAgICAweDEuMDgyMDU1ZjhkMTdjMTlhNjdiZTRmNzA1OGU5YTU3MGFwMCwKLSAgICAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ1Ci0gICAgMHgxLjA4MjA1NjAxMTI3ZWM5OGUwYmQwODNhYmE4MGM5N2E2cDAsCi0gICAgMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDI0NgotICAgIDB4MS4wODIwNTYxMTk0ODQyYTIzNDNlODFmZDVmYWI0NTFlZnAwLAotICAgIDB4MS4wMDAwMDJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDcKLSAgICAweDEuMDQwODBhYjE0ZGMzNjZhZDYxMTZjMzllM2MyZDBhOWVwMCwKLSAgICAweDEuZmZmZmZlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgMHgxLjA0MDgwYWI1NWRlMzkxN2FiODY0YjNlOTA0NGU2YjQ1cDAsCi0gICAgMHgxLnAtNgotICB9LAotICB7IC8vIEVudHJ5IDI0OQotICAgIDB4MS4wNDA4MGFiZDdlMjNlNzQ2Mjg4Mjk2YzEzMTNmMjFiMXAwLAotICAgIDB4MS4wMDAwMDJwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAweDEuMDIwMjAxNTNmYzQwNTg2MjM1ZGVjZjRlYjcyN2ExNWZwMCwKLSAgICAweDEuZmZmZmZlcC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgMHgxLjAyMDIwMTU2MDA0NDViMGMzMjYzODJiYzczNjg5ZDMycDAsCi0gICAgMHgxLnAtNwotICB9LAotICB7IC8vIEVudHJ5IDI1MgotICAgIDB4MS4wMjAyMDE1YTA4NGM2MDZjNDM4NGY5YTdmZjJlZTQyNXAwLAotICAgIDB4MS4wMDAwMDJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTMKLSAgICAweDEuMDEwMDgwMjliNDU2ZjdhODU1NTMwYjE1MTA1NWZjY2NwMCwKLSAgICAweDEuZmZmZmZlcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU0Ci0gICAgMHgxLjAxMDA4MDJhYjU1Nzc3ZDI4YTJhNDJkMjZhYTllZTY3cDAsCi0gICAgMHgxLnAtOAotICB9LAotICB7IC8vIEVudHJ5IDI1NQotICAgIDB4MS4wMTAwODAyY2I3NTg3ODI5ZjZkYTMyY2U0MDU4Yjk0MHAwLAotICAgIDB4MS4wMDAwMDJwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAweDEuMDA4MDIwMDRkNWMwMDEwZmYyNTFkMTM0ZDliYmRmOGNwMCwKLSAgICAweDEuZmZmZmZlcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI1NwotICAgIDB4MS4wMDgwMjAwNTU2MDAxMTEyN2Q0MWQ1YmQ3MmY0YzhmM3AwLAotICAgIDB4MS5wLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTgKLSAgICAweDEuMDA4MDIwMDY1NjgwMzExODUzODFmNmQyYzVmNmFjOTBwMCwKLSAgICAweDEuMDAwMDAycC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU5Ci0gICAgMHgxLjAwNDAwODAwNmFhNTUzZGRjMGUzMTdiMGZhNTliMWM0cDAsCi0gICAgMHgxLmZmZmZmZXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAweDEuMDA0MDA4MDBhYWI1NTVkZGUzOGU2Y2U4NmU5Mjc3YWFwMCwKLSAgICAweDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI2MQotICAgIDB4MS4wMDQwMDgwMTJhZDU1OWRlNThmMTE4ZDc3YjA3MDNhZnAwLAotICAgIDB4MS4wMDAwMDJwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYyCi0gICAgMHgxLjAwMDgwMDFmZjg1NTE1ZmYwMTJlNjhjZDJkNjljNTg4cDAsCi0gICAgMHgxLmZmZmZmZXAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjMKLSAgICAweDEuMDAwODAwMjAwMDU1NTYwMDAxMTExMjdkMjk3Mjk4YzlwMCwKLSAgICAweDEucC0xMwotICB9LAotICB7IC8vIEVudHJ5IDI2NAotICAgIDB4MS4wMDA4MDAyMDEwNTVkNjAyMDE5NjZiZGQzOTg2N2Y1Y3AwLAotICAgIDB4MS4wMDAwMDJwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY1Ci0gICAgMHgxLjk2OWM3YmUzYWQ4NzRjMDY3ODdhYmE5NTVkMjA2ZDgzcC05MywKLSAgICAtMHgxLjAwMDAwMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY2Ci0gICAgMHgxLjk2OWQ0NzMyMWU0Y2JhYmYyZDI4MDcwOTYzYjA0MTk0cC05MywKLSAgICAtMHgxLnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY3Ci0gICAgMHgxLjk2OWRhY2Q5N2NjZTJkOWIwMDVmZjU3NmI3YTBiYjRmcC05MywKLSAgICAtMHgxLmZmZmZmZXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgMHgxLmM4NDVkZDY0OTBhYjJkOWM3YjBjZmVjOWM1MDA4NDgzcC00NywKLSAgICAtMHgxLjAwMDAwMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY5Ci0gICAgMHgxLmM4NDY0Zjc2MTY0NjgxZTI5OWEwMTI0NDg3ODg0ZDY0cC00NywKLSAgICAtMHgxLnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgMHgxLmM4NDY4ODdlZTNjNWQxNzA1YmU2MTcyZDExNzg3MGEwcC00NywKLSAgICAtMHgxLmZmZmZmZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgMHgxLmUzNTU3ZjQ0MzRhZDdiZTllMDZjMjk5NjZmNTZlNjJicC0yNCwKLSAgICAtMHgxLjAwMDAwMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcyCi0gICAgMHgxLmUzNTViYmFlZTg1Y2FkYTY1ZjczZjMyZTg4ZmIzY2M2cC0yNCwKLSAgICAtMHgxLnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjczCi0gICAgMHgxLmUzNTVkOWU0NDUwOTQ3MGYwYWE3M2FjN2VmMTIxNDhmcC0yNCwKLSAgICAtMHgxLmZmZmZmZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc0Ci0gICAgMHgxLjVmYzFmYTQ0ZTIyNjljOWM5NzA2NDY5YzIwYjkzZTk1cC0xMiwKLSAgICAtMHgxLjAwMDAwMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc1Ci0gICAgMHgxLjVmYzIxMDQxMDI3YWNiYmZjZDQ2NzgwZmVlNzFlYWQycC0xMiwKLSAgICAtMHgxLnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc2Ci0gICAgMHgxLjVmYzIxYjNmMTMyOGNjMTYyMTA1NzZkM2M3MGJmOThicC0xMiwKLSAgICAtMHgxLmZmZmZmZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc3Ci0gICAgMHgxLjJjMTU1MjIxNjkxOGI5OGIxY2VmN2IwNGY3MTBlMzZjcC02LAotICAgIC0weDEuMDAwMDAycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzgKLSAgICAweDEuMmMxNTViODIxM2NmNDc3ZThhZjAxMzJjMmFlMjNkNGFwLTYsCi0gICAgLTB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDI3OQotICAgIDB4MS4yYzE1NjAzMjY5NDZiMDc4YjA5ZjhmYWViZTJmYzI4N3AtNiwKLSAgICAtMHgxLmZmZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgwCi0gICAgMHgxLjE1MmFhNWU3NGQ3YzczNzI4YWRhMDY2M2YyMjRhMzgxcC0zLAotICAgIC0weDEuMDAwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODEKLSAgICAweDEuMTUyYWFhM2JmODFjYjlmZGI3NmVhZTEyZDAyOTU3MWZwLTMsCi0gICAgLTB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDI4MgotICAgIDB4MS4xNTJhYWM2NjRkNzM1YzQzNDZjYzI3ZjQyYTNkODNiMXAtMywKLSAgICAtMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgzCi0gICAgMHgxLjc4YjU2MDcxNjQyZmE4MzdjOTUxOWVlYzEwYTdmOTM3cC0yLAotICAgIC0weDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODQKLSAgICAweDEuNzhiNTYzNjJjZWYzN2M2YWViN2IxZTBhNDE1M2U0MzdwLTIsCi0gICAgLTB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDI4NQotICAgIDB4MS43OGI1NjRkYjg0NTc5Yjk0OTBlN2I5NTU3MDI2YzY0N3AtMiwKLSAgICAtMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI4NgotICAgIDB4MS40MjU5MzIzOTAyZGJjNmU2MmUzZTA3Y2UyNmNkOTA0Y3A5MiwKLSAgICAweDEuZmZmZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuNDI1OTgyY2Y1OTdjZDIwNWNlM2Q1YjRlZGIwMzE3NTZwOTIsCi0gICAgMHgxLnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgMHgxLjQyNWEyM2ZjNDMyZmI1ZDU1NjAwNmE0ZDhlN2VlMTFicDkyLAotICAgIDB4MS4wMDAwMDJwNgotICB9LAotICB7IC8vIEVudHJ5IDI4OQotICAgIDB4MS4xZjQzZDhkYzM5MDhiOGVkODdhNWFiZDUwNjIxNzA2YXA0NiwKLSAgICAweDEuZmZmZmZlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTAKLSAgICAweDEuMWY0M2ZjYzRiNjYyYzdkODQ3ODg0MDE4NDIxNzQwNzRwNDYsCi0gICAgMHgxLnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgMHgxLjFmNDQ0NDk1YmU4ZTE2MTZhMWU1ZTM4ODc3OWJjMTQ2cDQ2LAotICAgIDB4MS4wMDAwMDJwNQotICB9LAotICB7IC8vIEVudHJ5IDI5MgotICAgIDB4MS4wZjJlYWMxNzk0YjhmM2VkYjVjMTBkMjZhNTFmNDIwZnAyMywKLSAgICAweDEuZmZmZmZlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTMKLSAgICAweDEuMGYyZWJkMGE4MDAyMDQ5MjIzZjE3MDg4MmI1ZWU1ZWZwMjMsCi0gICAgMHgxLnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjk0Ci0gICAgMHgxLjBmMmVkZWYwNTljMWIyMjMxMmJlZDk2NDAwNmVlNjMzcDIzLAotICAgIDB4MS4wMDAwMDJwNAotICB9LAotICB7IC8vIEVudHJ5IDI5NQotICAgIDB4MS43NDllOWMyZjdiYjZjZjVhMjc2ZWUwODIzNmMyZDZjM3AxMSwKLSAgICAweDEuZmZmZmZlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTYKLSAgICAweDEuNzQ5ZWE3ZDQ3MGM2ZGYwYmUwMGUwODRhODE1ZDFkZTZwMTEsCi0gICAgMHgxLnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk3Ci0gICAgMHgxLjc0OWViZjFlNWJmZTc1NzAxOWRlNGUyMmIxMTNmZGU5cDExLAotICAgIDB4MS4wMDAwMDJwMwotICB9LAotICB7IC8vIEVudHJ5IDI5OAotICAgIDB4MS5iNGM4ZmMwZjRmYTdhMmYyNDU5YTZlZjUzYzMxNWYwZnA1LAotICAgIDB4MS5mZmZmZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDI5OQotICAgIDB4MS5iNGM5MDJlMjczYTU4Njc4ZDZkM2JmZGI5M2RiOTZkMHA1LAotICAgIDB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIDB4MS5iNGM5MTA4OGJiZjMzMzM2ZjBlZTUyYjFhZDg1OGU0M3A1LAotICAgIDB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDMwMQotICAgIDB4MS5kOGU2NDdkYjgxNDc3M2Y0MTkyNjJlZTQ3N2E5ODYxNnAyLAotICAgIDB4MS5mZmZmZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDMwMgotICAgIDB4MS5kOGU2NGI4ZDRkZGFkY2MzM2EzYmEyMDZiNjhhYmJhOHAyLAotICAgIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDMwMwotICAgIDB4MS5kOGU2NTJmMGU3MTdkOTJkMTVjZDYxMDAyMmFlNTFlM3AyLAotICAgIDB4MS4wMDAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIDB4MS41YmYwYTc1NTU0Y2U5MWU4M2Q0MjFjMmE3YzA3NWNiMnAxLAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDUKLSAgICAweDEuNWJmMGE4YjE0NTc2OTUzNTVmYjhhYzQwNGU3YTc5ZTNwMSwKLSAgICAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAweDEuNWJmMGFiNjkyNmNhYWZhMWEwMTU4ZDc5NjkzYWM4ZTFwMSwKLSAgICAweDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLnAxMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLjk5OTk5YXAxMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDkKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLjE5OTk5YXAxMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTAKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLjY2NjY2OHAxMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTEKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLmIzMzMzNHAxMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLnAxMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTMKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTQKLSAgICBIVUdFX1ZBTEYsCi0gICAgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE1Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE2Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5mZmZmZmNwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE3Ci0gICAgMHgxLjcyNDA0OTBhMTY1NjIwZDliOTIyYWFhMjJhOGU0YzA5cDQsCi0gICAgMHgxLjkyMWZiNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE4Ci0gICAgMHgxLjMzZGVkZDY3MjA4NGNjYTYxMmFhYjJiOWEzZTgxN2JicDIsCi0gICAgMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE5Ci0gICAgMHgxLjViZjBhYjY5MjZjYWFmYTFhMDE1OGQ3OTY5M2FjOGUxcDEsCi0gICAgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLjViZjBhOGIxNDU3Njk1MzU1ZmI4YWM0MDRlN2E3OWUzcDEsCi0gICAgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgMHgxLjViZjBhNzU1NTRjZTkxZTgzZDQyMWMyYTdjMDc1Y2IycDEsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDMyMgotICAgIDB4MS4xOGJkNjZmYjYyYjMxOTAwY2MwNzYzNGRlYmE0MzQ1NnAxLAotICAgIDB4MS45MjFmYjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwMCwKLSAgICAweDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjQKLSAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRwMCwKLSAgICAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjUKLSAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwMCwKLSAgICAweDEuZmZmZmZjcC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjYKLSAgICAweDEuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNwMCwKLSAgICAweDEuZmZmZmY4cC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjcKLSAgICAweDEucDAsCi0gICAgMHgxLnAtMTQ4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDMyOQotICAgIDB4MS5wMCwKLSAgICAwLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMwCi0gICAgMHgxLnAwLAotICAgIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzIKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTE0OAotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOHAtMSwKLSAgICAtMHgxLmZmZmZmOHAtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4cC0xLAotICAgIC0weDEuZmZmZmZjcC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhwLTEsCi0gICAgLTB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDMzNgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmN3AtMSwKLSAgICAtMHgxLjAwMDAwMnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM3Ci0gICAgMHgxLmQyZTE3MTIzZDJhZTAyYWJiY2Y4OTZmMjAyNWUzNDYzcC0yLAotICAgIC0weDEuOTIxZmI2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgMHgxLjc4YjU2NGRiODQ1NzliOTQ5MGU3Yjk1NTcwMjZjNjQ3cC0yLAotICAgIC0weDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM5Ci0gICAgMHgxLjc4YjU2MzYyY2VmMzdjNmFlYjdiMWUwYTQxNTNlNDM3cC0yLAotICAgIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDAKLSAgICAweDEuNzhiNTYwNzE2NDJmYTgzN2M5NTE5ZWVjMTBhN2Y5MzdwLTIsCi0gICAgLTB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDM0MQotICAgIDB4MS5hOWJjYzMzNzNlZmQzZTRkNmE5NmJlN2E3NTYyZjQyOHAtMywKLSAgICAtMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQyCi0gICAgMHgxLjYyMDIyNWFlNWU5MzQ5NTkzZDZiYjYxOGMyMzE1NDVlcC01LAotICAgIC0weDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDMKLSAgICAwLjBmLAotICAgIC0weDEuZmZmZmZjcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDM0NAotICAgIDAuMGYsCi0gICAgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ1Ci0gICAgMC4wLAotICAgIC1IVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDYKLSAgICAweDEuZmZmZjA4MmU2YzdmZWQxZDNmZDVjZmY3ZTFmNjA1OTFwMTI3LAotICAgIDB4MS42MmU0MmVwNgotICB9LAotICB7IC8vIEVudHJ5IDM0NwotICAgIEhVR0VfVkFMRiwKLSAgICAweDEuNjJlNDMwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDgKLSAgICAweDEuMDAwMDRiZjk0ZjYzZTNmYTY4NjIyMjE0OGYxMjkzYzRwLTEyNiwKLSAgICAtMHgxLjVkNTg5ZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ5Ci0gICAgMHgxLmZmZmY5N2YyOTJjZTgwZTQ5NDIzMWM2NDk2ZTljYmY1cC0xMjcsCi0gICAgLTB4MS41ZDU4YTBwNgotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF9leHBmLCBleHBmX2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX2V4cGZfaW50ZWxfZGF0YSkvc2l6ZW9mKGV4cGZfaW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0ZMT0FUX0VRKGdfZXhwZl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCBleHBmKGdfZXhwZl9pbnRlbF9kYXRhW2ldLmNhbGxfZGF0YSkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfbG9nX3Rlc3QuY3BwIGIvdGVzdHMvbWF0aF9sb2dfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhMmE4NDguLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9sb2dfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNjc1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZG91YmxlIGV4cGVjdGVkOwotICBkb3VibGUgY2FsbF9kYXRhOwotfSBsb2dfaW50ZWxfZGF0YV90OwotCi1zdGF0aWMgbG9nX2ludGVsX2RhdGFfdCBnX2xvZ19pbnRlbF9kYXRhW10gPSB7Ci0gIHsgLy8gRW50cnkgMAotICAgIDB4MS5kNzdmZDEzZDI3ZmZlZmZmZmZmZmZmZmZiNWVkOTg0M3AtMTEsCi0gICAgMHgxLjAwM2FmNmMzN2MxZDNwMAotICB9LAotICB7IC8vIEVudHJ5IDEKLSAgICAweDEuNDExZWZkMjk3Yzc4MDgwMDAwMDAwMDAwMTZkNjE1YjJwLTYsCi0gICAgMHgxLjA1MTEyNzkyOTM0YjNwMAotICB9LAotICB7IC8vIEVudHJ5IDIKLSAgICAweDEuZDQ4NDA2NjQ0NDZmYjgwMDAwMDAwMDAwMWY1NzRmZmNwLTYsCi0gICAgMHgxLjA3NmQxZDhjNzVlYTZwMAotICB9LAotICB7IC8vIEVudHJ5IDMKLSAgICAweDEuZjZlNGMzY2VkN2M3MWZmZmZmZmZmZmZmZmVlOTQ3ZGFwLTMsCi0gICAgMHgxLjQ3NDA4Y2I5NTgzY2VwMAotICB9LAotICB7IC8vIEVudHJ5IDQKLSAgICAweDEuMWEwNDA4NzEyZTAwOWZmZmZmZmZmZmZmZmVlNDYwMTJwLTIsCi0gICAgMHgxLjUxMmIzMTI2NDU0ZjNwMAotICB9LAotICB7IC8vIEVudHJ5IDUKLSAgICAweDEuOGI1MmMxNWVhOWMyMzdmZmZmZmZmZmZmZmU2MTM5NWNwLTIsCi0gICAgMHgxLjc4OWU5NWIxMTU3OGNwMAotICB9LAotICB7IC8vIEVudHJ5IDYKLSAgICAweDEuZDcwNzAyOWJiNTlkOGZmZmZmZmZmZmZmZmVjZjZlZjZwLTIsCi0gICAgMHgxLjk1ODQ5N2Y3YjM1M2ZwMAotICB9LAotICB7IC8vIEVudHJ5IDcKLSAgICAweDEuMDcyN2FmNWZlZThmNWZmZmZmZmZmZmZmZmVjNzAyMWZwLTEsCi0gICAgMHgxLmFjMDMyYThkMmVjMjNwMAotICB9LAotICB7IC8vIEVudHJ5IDgKLSAgICAweDEuMTJmY2NlMDJlZmIzMjAwMDAwMDAwMDAwMDE0MzViOTBwLTEsCi0gICAgMHgxLmI2MDRlMTk0MjA5OGRwMAotICB9LAotICB7IC8vIEVudHJ5IDkKLSAgICAweDEuMTc4ZTZkM2VjYWNlOTgwMDAwMDAwMDAwMDEzMDBhY2NwLTEsCi0gICAgMHgxLmI5ZjFmYTQ1ODc5NjdwMAotICB9LAotICB7IC8vIEVudHJ5IDEwCi0gICAgMHgxLjYyZjcxYzQ2NTZiNjBmZmZmZmZmZmZmZmZmN2YxNjhlcC0xLAotICAgIDB4MS4wMDA5NzY1ODFjZTRlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIDB4MS5kNjMzNmE4ODA3N2E5ZmZmZmZmZmZmZmZmZmUxZjgxN3AwLAotICAgIDB4MS45MWE4ZGZmNTQwZmY3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIDB4MS4wMTZlODJjZWRhMzU4ZmZmZmZmZmZmZmZmZmFjYmY2MnAxLAotICAgIDB4MS5kZTM3ZmIzMWZkNWZjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMwotICAgIDB4MS4xZTEyNmY1ZDk1ZjM4ODAwMDAwMDAwMDAwMDVkMzc2MXAxLAotICAgIDB4MS4yYjExOTllNDk3NzM5cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNAotICAgIDB4MS4yZjM4MzJjYWQzZDVmMDAwMDAwMDAwMDAwMDc4ODAxY3AxLAotICAgIDB4MS41NWYwZWFhMWIyZmM4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNQotICAgIDB4MS40MmVlM2M3ZGM0OTQ2MDAwMDAwMDAwMDAwMDRlYTU3ZnAxLAotICAgIDB4MS44ZWRlNDkyZDk2MDcycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNgotICAgIDB4MS42YjVkZjdlM2NkNDIxODAwMDAwMDAwMDAwMDQ0NjEzYnAxLAotICAgIDB4MS4xMTg2NzYzN2NiZDAzcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNwotICAgIDB4MS43ZTdmMDk1NzAzZWVlN2ZmZmZmZmZmZmZmZmFjZGMwNnAxLAotICAgIDB4MS4zZDlkN2Q1OTdhOWRkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIDB4MS45Njg3YzgzZmFmMDA2N2ZmZmZmZmZmZmZmZmI5Y2YzZnAxLAotICAgIDB4MS43ZjM4MjU3NzhhYWFmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIDB4MS44M2Q0YmNkZWJiM2YzZmZmZmZmZmZmZmZmZmZmYWNjOXAyLAotICAgIDB4MS5hYzUwYjQwOWM4YWVlcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMAotICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMGFhYWFhYXAtNTMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgMHgxLjc2ZTdlNWQ3YjZlYWJmZmZmZmZmZmZmZmZmZjA2ZjgwcDMsCi0gICAgMHgxLmRlN2NkNjc1MTAyOWFwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMgotICAgIDB4MS5mZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMGFhYWFhYXAtNTMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgLTB4MS45MTU1MGMzNTdmODgzZmZmODk5ZGZmMzBkMGYzMDNlZXA4LAotICAgIDB4MS4wMDAwMDAwMDAwMDAzcC01NzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIDB4MS43ZmZmZmZmZmZmZmZiODAwMDAwMDAwMDAxMWZmZmZmZnAtNTAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDZwMAotICB9LAotICB7IC8vIEVudHJ5IDI1Ci0gICAgMHgxLmJmZmZmZmZmZmZmZTc4MDAwMDAwMDAwMWM5NTU1NTU1cC00OCwKLSAgICAweDEuMDAwMDAwMDAwMDAxY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYKLSAgICAweDEuN2ZkZmZmZmZmZjcwMTdmZjAwMDA0N2VlMDE3ZmY1MmNwLTQxLAotICAgIDB4MS4wMDAwMDAwMDAwYmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS4wZmZmZmZmZmVkZjAwMDAwMDE5OTZhYWFhYTgxZTI4YXAtMzUsCi0gICAgMHgxLjAwMDAwMDAwMjIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOAotICAgIDB4MS5mZmZmZmZmZjAwMDAwMDAwYWFhYWFhYWEyYWFhYWFhYnAtMzMsCi0gICAgMHgxLjAwMDAwMDAxMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkKLSAgICAweDEuN2ZmZmZmNzAwMDAwNDdmZmZmZDc4MDAwMTg0Y2NjYmRwLTI1LAotICAgIDB4MS4wMDAwMDBjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIDB4MS4wYTJlYTNlNzdhZjA2MDAwNDAxMGM0ZjZiNDM3ZmI0NXAxLAotICAgIDB4MS4wMDA3MHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEKLSAgICAweDEuOTA0MTIwOTRkMzY3Zjk5ZjNjNjE1MjMxYWQ5OGJmM2RwLTEzLAotICAgIDB4MS4wMDBjODI1NzNmNWY5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIDB4MS5mZmUwMDJhYTZhYjExMDY2NzhhZDhiMzE4Y2IzODU0NXAtMTIsCi0gICAgMHgxLjAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMKLSAgICAweDEuYmZjZjA3MjQyOTY5ZDE1ZGI0ZDJiM2VmZTFjMDM3ZTBwLTExLAotICAgIDB4MS4wMDM4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAweDEuZDc3ZmQxM2QyN2ZmZWZmZmZmZmZmZmZmYjVlZDk4NDNwLTExLAotICAgIDB4MS4wMDNhZjZjMzdjMWQzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNQotICAgIDB4MS5lYTA1NGNlODUwOGU0ODc0NDQyZTk1ZTQxNzE4YjBkZXAtMTAsCi0gICAgMHgxLjAwN2E5ZWE3YTllODBwMAotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmZmMDA0YTdhYjkwODNmOWUxNzE3ZDNhNGFhZWM4NjU3cC0xMCwKLSAgICAweDEuMDA3ZmRmZjdmZGZlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcKLSAgICAweDEuZmZkYTY1ZDQ0ZGNjYzg4OTExNWE0YTRmZjc1YzVhNzdwLTEwLAotICAgIDB4MS4wMDgwMTY5YTE2Y2Q1cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOAotICAgIDB4MS5iOTU2OTg5ZDI1ODlkN2ZkNjgzOGU1N2E3MDJmMzhhY3AtOSwKLSAgICAweDEuMDBkZDBhODMxNzE3NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAweDEuZmQwODE2ZDk3MTUyYzdmZWFkN2I4NDlmNzYxNGZiNDhwLTksCi0gICAgMHgxLjAwZmYwMmJhOGE1NDNwMAotICB9LAotICB7IC8vIEVudHJ5IDQwCi0gICAgLTB4MS4zNzkxNTU1NTc4NWIwN2ZjMTlkZDI2MzIwODhhMWU3ZnA5LAotICAgIDB4MS4wMGZmZmZmZmZmZmZmcC04OTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MQotICAgIDB4MS42NGEyYTliNmE0MDU4ODAxMDEwMjgwNzEzOGRmZjUwY3AwLAotICAgIDB4MS4wMWMwMDAwMDAwMGRjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MgotICAgIDB4MS5kNDY1OTU3MTA2YmQyODZiYWU2N2MwODI5NzE2M2VhM3AtOCwKLSAgICAweDEuMDFkNjEzMWQwOWRjNXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMKLSAgICAweDEuZmRmNjM5YmVhNWFkMzc2MmRmMjRhMjA4ZTJhMWNiZThwLTgsCi0gICAgMHgxLjAxZmZmMzdhMzQwODRwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0Ci0gICAgMHgxLmZkZjZlNGZjZjQ1Njk3NzIwNTIyODUzMGFjZDU3MTU1cC04LAotICAgIDB4MS4wMWZmZjQyNmM4Y2I2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NQotICAgIDB4MS5mZGY2ZTRmZDA0MjZmNzZkNmQ3YjgzOWI1ZjZjOGJhZnAtOCwKLSAgICAweDEuMDFmZmY0MjZjOGRiNXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuZmRmZTljNTdkZWJlMTc2MGZlNGZmMDg5OWJmOWU2ZGNwLTgsCi0gICAgMHgxLjAxZmZmYmVkOTIyZTNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ3Ci0gICAgLTB4MS5kMTdiZTI0NTEyMjlmZmZmMTFlODUxODA0ZTk3Y2RkN3AzLAotICAgIDB4MS4wMjhwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAweDEuNmRjYjJmZWQ3ZjI1ZDNmMjg2NzA3MjMwYmUxOTA3NjBwLTcsCi0gICAgMHgxLjAyZGZhZmEwN2RmNmRwMAotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgMHgxLmZmMDkyYTg1ZWUwMmY3ZmU3ZmM1ZGMxZDQxNzE4NGMwcC03LAotICAgIDB4MS4wNDA2MTU0NjFmNmNhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MAotICAgIDB4MS4wYWE1M2NlYTNmMWFiZmZmMWRkZmI1YWY0YWM0OWFhZXAtNiwKLSAgICAweDEuMDQzMzRlZWM1YTY1ZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAweDEuNmVhMDcwMjFjMTMzNDgwMTc0ODM1ZDE0MmE0YjgzMWVwLTYsCi0gICAgMHgxLjA1Y2IwOWJiOWZlZDdwMAotICB9LAotICB7IC8vIEVudHJ5IDUyCi0gICAgMHgxLjcxOTlmOTg0ZjU2MDgwMDEzNWZmM2FlYzNhMDc5NmE4cC02LAotICAgIDB4MS4wNWQ3MzUxODQyNjFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIDB4MS43Nzg4YmM5YzA4MzE4ODAxNTQ2YzAzNWNiZDlhMjY5YXAtNiwKLSAgICAweDEuMDVlZjdiZGVlN2JlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQKLSAgICAweDEuYzI2ODhlOTUyYTcyMzdmZGQ4NTYzMjk3ZGU2MjVhY2ZwLTYsCi0gICAgMHgxLjA3MjJhMDU3MTE3NzhwMAotICB9LAotICB7IC8vIEVudHJ5IDU1Ci0gICAgMHgxLmUwMjE1MTM1MjUxMmY3YzIzMGNjNGI4OTVkYzY4ZGQxcC02LAotICAgIDB4MS4wNzljZjAwZmUyNGY5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIC0weDEuM2UxZmVlNjk5YzZiYzdmYzAwMWEzNTllMGVmZTJkYjdwOCwKLSAgICAweDEuMDdjcC00NTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIDB4MS5mMzFiNTZiOGI2ZjFhMjg2MjU4MmY1MjhiMzNjNGRlMnAtNiwKLSAgICAweDEuMDdlYjI1OWVlMDFiNXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgKLSAgICAtMHgxLmQwODE5MDk1ZmNkNmM4MDA5MjRlY2QwMzA4ZWJlMjE4cDMsCi0gICAgMHgxLjBhODU1MWY4ZmM3ZjhwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkKLSAgICAtMHgxLjAyNjhkNDAwMDBjNzE4MDA1ZGEwMjQ5ZWJiMGEzMDI0cDEsCi0gICAgMHgxLjBmZmY4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAweDEuNmI1ZGY3ZTNjZDQyMTgwMDAwMDAwMDAwMDA0NDYxM2JwMSwKLSAgICAweDEuMTE4Njc2MzdjYmQwM3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAweDEuNmI5NmNiNjZmNTVjMjgwMDE3MmQ4MWMxY2VmMzU3YjFwMSwKLSAgICAweDEuMTFmZmZmZmZmZmZmOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjIKLSAgICAtMHgxLmY3YTIxM2E3Y2QzODBmZmZkZTQ5OGM0NTNmMTI1NTNkcDAsCi0gICAgMHgxLjFlNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDYzCi0gICAgLTB4MS5hMDc2NTg1M2RlYzA2ZmZlZGY0OTAwMmI1ZDMwMDhiZXA4LAotICAgIDB4MS4yMDY2NThkOWIwZjA1cC02MDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NAotICAgIDB4MS4wZDdiNmZmNmUzYTI0N2ZmZmZmZWZiOTQ0OWZhZjhlNnA2LAotICAgIDB4MS4yNTE0NzM4ZTZkY2FkcDk3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjUKLSAgICAweDEuMWVlMzg5OWY2ODE4ZTdmZmZmZDA5ZTZlYjQ4Nzk3MjVwMSwKLSAgICAweDEuMmNmYmI5ZTRhMTU5OXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAtMHgxLjMzMTUzMzM2NzkyODk3ZmQzOGY0YWY3YWI1YzAwNzY5cDYsCi0gICAgMHgxLjJmMDYxNzAzN2U1OTBwLTExMQotICB9LAotICB7IC8vIEVudHJ5IDY3Ci0gICAgLTB4MS4wNGMxZTZjZWM5NjM3N2ZlYmUxMTgzZTNiZDM3M2MzZXAzLAotICAgIDB4MS4yZjI5ZmQ0YjQyNTE1cC0xMgotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgLTB4MS4wNTc4YmM0YTE0M2Q2OTk4MDZmOTQ1ZDEzNTZkMDZhMnAtMSwKLSAgICAweDEuMzMzZTFmMDNhZjU1ZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY5Ci0gICAgLTB4MS5mZDJhMWQ0ZGNmMjNkN2ZlNzVmN2VlZjk0OThmZGFhMnAtMiwKLSAgICAweDEuMzc2N2EwYWFmMTQ1MnAtMQotICB9LAotICB7IC8vIEVudHJ5IDcwCi0gICAgLTB4MS5mYjBjZTBlYzc5YmM5N2ZlOTUxNDFjZTIyN2VkNDdkMnAtMiwKLSAgICAweDEuMzgwYzY0MGU2MjQ2Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcxCi0gICAgLTB4MS5lZTY5M2NhYTUwMWE5M2YzMDA2MmUyYTNjNDQ1YWM5Y3AtMiwKLSAgICAweDEuM2JlYzgzN2Q2MDFjMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyCi0gICAgLTB4MS5lZDY3YjliMGYyZjhkNDIwYWRjZGY1MWY0MzI4MTdmYXAtMiwKLSAgICAweDEuM2MzYzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIDB4MS4yNTM5N2RjOWY4NWJkODAwMDAwYTNkNTViZDZkOGU1MHAxLAotICAgIDB4MS4zYzQxOWI5ZGI2NjJhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS45YzA0MWY3ZWQ4ZDMyOWUzMTJhYWQ4NDkzYTNhNzlhMnAwLAotICAgIDB4MS4zZmZmZmZmZmZmZmZmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NQotICAgIDB4MS5jOGZmN2M3OWE5YTIxYWMyNWQ4MWVmMmZmYjlhMjRhZXAtMywKLSAgICAweDEuNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYKLSAgICAweDEuZDQyYWRmZWMzNWQxNDdmZTA0ZmY3YjFiMDI3YzVmZGFwLTMsCi0gICAgMHgxLjQxY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcKLSAgICAweDEuZDc1Nzc0NzdiOWVhZDdmZTliMmJjNjk2MGE3NjYzMDNwLTMsCi0gICAgMHgxLjQyM2ZjMjRkMDRmYzZwMAotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgLTB4MS5kMzYwZTkwYzM4NTBiMzZkNjExMDNmNTc1Yjk5MTg4MHAtMiwKLSAgICAweDEuNDQ2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkKLSAgICAtMHgxLmNkZWFiZTAxYTg2YjJkNTBjOGVhM2JiMDMwYzY2YmJjcC0yLAotICAgIDB4MS40NjFjMTU5YTc2ZDRicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAweDEuZmI5MTg2ZDVlM2UyNDRlZTRlMjg1MzE1NjNiNjlhMmNwLTMsCi0gICAgMHgxLjQ3ZmZmZmZmZmZmZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgMHgxLmZiOTE4NmQ1ZTNlMmE4ZDU1NDY2YzM3OTRkMmNhMDkycC0zLAotICAgIDB4MS40ODBwMAotICB9LAotICB7IC8vIEVudHJ5IDgyCi0gICAgMHgxLmZiOTIwNDY0ZjVmYzc3N2YzY2IwZDg0NDhjMzBlNzAxcC0zLAotICAgIDB4MS40ODAwMTQxYmVhODNmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MwotICAgIDB4MS5mYjljMjc5MjA0NWU5ZTgyZWZmNDNlZjFjZTBiZWUwMnAtMywKLSAgICAweDEuNDgwMWIzYmY0MmE0YXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODQKLSAgICAweDEuZmM0NjcxOGEyZGMyMmRkYmZhYmIyNTk4YTEzN2JhYTdwLTMsCi0gICAgMHgxLjQ4MWNmYWRlOGE2NGRwMAotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgMHgxLmZmOWJkNzg1NWFhZWFiODE1ZmQ4NWQyY2IwNjk0MjMxcC0zLAotICAgIDB4MS40OGE1ZDBjN2FjNWI1cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5mZmQ2NWYyOWJmZDRlZGY5OGVjODQ5YzkwMDMyZjMwMnAtMywKLSAgICAweDEuNDhhZjM1NjA4MWNhMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODcKLSAgICAweDEuZTczN2NiMjM4NjVjNmI5MjE1NTJhZDgxZDU3MmI3MjlwLTEsCi0gICAgMHgxLjRiOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAweDEuOTBlZDUyZDFhMjNjNGZmZWQ4ZWU3NzI1YzUzMDM1ZDZwOCwKLSAgICAweDEuNTU2ZWU2MTFmYTMwOXA1NzgKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OQotICAgIC0weDEuYjI1YjhkODYzYjNiNDgwMGZjZWM0ZWI1YzE0YTdjMmVwMywKLSAgICAweDEuNTVlcC0yMAotICB9LAotICB7IC8vIEVudHJ5IDkwCi0gICAgMHgxLjE2NzU4YTkzZDI5YWY3ZmYxMDBhMGMxMDdmYjBjOWU3cDYsCi0gICAgMHgxLjU5OTY2NTk5NjY1OThwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEKLSAgICAtMHgxLjdlM2E5M2JmMzU0MGQ4MWUzZGJiYjU3NTg1ZWMxNjc0cC0yLAotICAgIDB4MS42MDgwNTRkZTc0NTgycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTIKLSAgICAweDEuNTgzYTQxN2JlMjIxNmNiOTM2NjEwY2E5ODQzNTExZGJwLTIsCi0gICAgMHgxLjY2NDliYjUxNTM1NGZwMAotICB9LAotICB7IC8vIEVudHJ5IDkzCi0gICAgLTB4MS40ZjdkYWMzZjFkN2YzZmZmZmZkZjUyMWNjZmM5ZGJjZHA1LAotICAgIDB4MS42OWIxMDkzNzdmN3AtNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NAotICAgIDB4MS42MmU0MmZlZmEzODM3MzRhNzY5YmI0MTI1ODMxOWMxYXAtMiwKLSAgICAweDEuNmEwOWU2NjdmM2IzMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUKLSAgICAtMHgxLmU3YTJkZDAxNmRhYTg3ZmZhNzk1MjhlODliNjEwYzBhcDEsCi0gICAgMHgxLjZiMHAtNgotICB9LAotICB7IC8vIEVudHJ5IDk2Ci0gICAgMHgxLjczOWQ3ZjZiYmQwMDY5Y2UyNGM1M2ZhZDNlZjc5NmFicC0yLAotICAgIDB4MS43cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NwotICAgIC0weDEuNGMzYWY0Nzk3MjA2MjgwMDEzYzRkNDVhZjY5NmQ3Y2JwLTIsCi0gICAgMHgxLjcyMjNjZWY3OGUyNWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OAotICAgIC0weDEuNDhlNjVmZTJjMjMwNTdmZGViMjVjN2Y3YzQ4NTllOWNwLTIsCi0gICAgMHgxLjczNTg3Y2U3NTM2ODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OQotICAgIC0weDEuNDA1N2IwMmJmZGQwOTdmZTU3Mzc5ODg4NzQwZDgxMDNwLTIsCi0gICAgMHgxLjc2NzY0MDg3Mzk1ZmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuNGE1ZjEyZWQ0MDdhNDAwMDgzNjQ1ZWZjYzY1OGVkYTZwOCwKLSAgICAweDEuOGFkOTM0YjgzOGJkYXA0NzYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEKLSAgICAtMHgxLjgzZDBmOTA2OTBkMGY3ZmYyMDdiMWYwMDdmN2EzOTE3cDEsCi0gICAgMHgxLjhiZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwMgotICAgIC0weDEuZTM4NzU0NTczNTkzMTQwMGVkYjQ3ZWU0MjY1ZDcyOGVwLTEsCi0gICAgMHgxLjhlNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMwotICAgIC0weDEuZmNjNTllMDEzNjk3NjgyNDNlY2E1OTllNTllNmE5MDlwLTMsCi0gICAgMHgxLjhmNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNAotICAgIC0weDEuZWRkNjE0OWIzMzE1NjgyODc1MGJiM2E2MDhjNGRkYzFwLTMsCi0gICAgMHgxLjkyNGM1N2Q2MjkwODJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUKLSAgICAweDEuY2ZiZTYxNjRhNzNmMTM2MTYwNDkyNmEwYTkwZjUxOWZwLTIsCi0gICAgMHgxLjkyYTRjYjc5ODY2NGJwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIC0weDEuYjQyODIxNmE1YzE1ODdmZGJmMmY5N2Q0YzI3MTQ4Y2NwNCwKLSAgICAweDEuOTgwcC00MAotICB9LAotICB7IC8vIEVudHJ5IDEwNwotICAgIC0weDEuZDA4MWYwZjI1ZDY2MzgwMDI3ZDU5YjZlYmRiOWJhYzlwLTMsCi0gICAgMHgxLjk4MTlkMDI1NWJlNjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAtMHgxLmNjMGQ2YTkyYjc5MTU3ZmU4MmJmYWQwYWRkZDA4NWE1cC0xLAotICAgIDB4MS5hMGVmODgzYmUyMTc3cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5Ci0gICAgLTB4MS44ZjYyZTJjYjY1ODYzODAwMDAzMGViMWEyODlmNzhlM3AtMywKLSAgICAweDEuYTU0OTMzNjMxMGU2ZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDExMAotICAgIC0weDEuMzY1MWQwZGUyMzY4ZDdmZWUzZDFkNmVlMmIyMjc3NDRwLTMsCi0gICAgMHgxLmI4MDMwMGMwMzAxMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEKLSAgICAweDEuMjBmMjVlNjg2ZTdmOTdmZWNlZmY5YTcyOTlmY2QxZWRwLTEsCi0gICAgMHgxLmMyMjAyNGRjODI4OWNwMAotICB9LAotICB7IC8vIEVudHJ5IDExMgotICAgIC0weDEuOWUzMjdlYjZhYzJjMzdmN2EzOWFmMmM5ODhhYmUyYjZwLTEsCi0gICAgMHgxLmM4MHAtMgotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIC0weDEuYjc2ZjNkMGFhZjBjOTdmYWRlZmI0ZjUzMzJkMzY1YTlwLTQsCi0gICAgMHgxLmNiZWEyMmM4YTlhMTZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQKLSAgICAtMHgxLjkzMzVlNWQ1OTQ5OTE4MWZhMGYzMTJhOTg1NGQzMDQycC00LAotICAgIDB4MS5jZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1Ci0gICAgMHgxLmI2Y2MyYjA1YzkwYTc3ZmU5YTBiYjMwMTlkOGE5YWVkcDIsCi0gICAgMHgxLmRhZTE4OTRhMmRiZWRwOQotICB9LAotICB7IC8vIEVudHJ5IDExNgotICAgIC0weDEuZmM3MDJiOGQ5NmQwZDdkNDc5NGZkNTZjOWJlYzJjZTJwLTUsCi0gICAgMHgxLmUxMzA0YzEzMDRjMTNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTcKLSAgICAtMHgxLmY2YzdmN2QwYjAzNTU3ZDFjMjY5MGZjMjE0YjNlZjQzcC01LAotICAgIDB4MS5lMTg1NjQ2YmM3ODU2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4Ci0gICAgLTB4MS5lYjhkY2I3NjRlMDdlN2Q0ZjBlZjM2YzZlZTg4ZWFjYXAtNSwKLSAgICAweDEuZTIyZTczNDlmNmU5N3AtMQotICB9LAotICB7IC8vIEVudHJ5IDExOQotICAgIC0weDEuZDk0YTljMzIzZTc3YzdmZDQzZTJlMTNmNTQxMTQxY2JwLTUsCi0gICAgMHgxLmUzNDFmMDU5MmMyYWJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAtMHgxLmNjYjEwNjA4NTM5NGY3YTA1ZTAzZGY4YWMyM2VhZTVkcC01LAotICAgIDB4MS5lNDAwNWRmZDY2YzMycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxCi0gICAgLTB4MS5hOWJkOGFmYzZkODRiN2VjN2JiYzgwY2M2ZjI5ODNmOHAtNSwKLSAgICAweDEuZTYxMjIyMjQxY2E3ZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEyMgotICAgIC0weDEuNzg3MzkyYTQ1ODg4ZDgwMDZiYjUzOGM3MjRjNDVmN2VwLTUsCi0gICAgMHgxLmU5MDExMzNlMTYxZTRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMKLSAgICAtMHgxLjc5YTYzNGNkZmIyNTU4MDAwMDg2MDdiMGMyYzAxNTcwcDQsCi0gICAgMHgxLmVkZGMwODIxYzc2YzFwLTM1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0Ci0gICAgMHgxLjUxNzIxNTNkNWZlOWI3ZmYwZjI2YTg3YzA4NWI4N2Q3cC0xLAotICAgIDB4MS5lZWQ5MjA4YTZhMzQ5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAtMHgxLjEyYjIyNzI0NGZmOTc3ZDg3OGUxMTY2YzI5Zjc2YWE1cC01LAotICAgIDB4MS5lZjFkYmNlYTE5NWNkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgLTB4MS5mOGEzNGQyNTA1ZjgxN2Q4NDhmNGU4OTU5NzEzZmI3NnAtNiwKLSAgICAweDEuZjA3ODZmYTQ4YmQ5Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDEyNwotICAgIDB4MS4wNjg4NWQwM2MxOWMzODAwMDAwMmY5OTIwNWE2MGI1NHAxLAotICAgIDB4MS5mMWE5NDVhNDU3ZDk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgKLSAgICAweDEuYTI4Y2NjYjljNmYwZDdmZWRkODllOWM0ZDRiOWY2OGJwNiwKLSAgICAweDEuZjFmZmZmZmZmZmZmZnAxNTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkKLSAgICAtMHgxLmIwMzJkYTA5NTY3MWU3YzhkNDI3ZWI0MjI5Mjc2NGQycC02LAotICAgIDB4MS5mMmFiOWRlZTg0MWI1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMwCi0gICAgLTB4MS45ZDY2YWRhNjkwNTY0ODUzMjYxOTRlM2YxYzdiMTcwY3AtNiwKLSAgICAweDEuZjMzZTJhOTQ0YWM5NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzMQotICAgIC0weDEuODhlN2E2YmYxYjViOTdmZGJmNGRkNWUwNTQ2N2MyNWRwLTYsCi0gICAgMHgxLmYzZGUyNjgzOTRlOGRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIKLSAgICAtMHgxLjg0ZTM2MmFkMjE3MDE3ZmU3ZWU2YzVlOTU4MGFhMWRkcC02LAotICAgIDB4MS5mM2ZkODZiMzkyODg0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMzCi0gICAgLTB4MS43NDRlZmY2ZDc3ZGRlN2QyYTE3OTY2OWUyMjU2OTllM3AtNiwKLSAgICAweDEuZjQ3ZjFlMWY1M2YyNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzNAotICAgIC0weDEuNjhiNGY4NjQ5N2EwYTdmZTI0YzVmYmE3OGJmMTdhODhwMCwKLSAgICAweDEuZjQ4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1Ci0gICAgLTB4MS42ZjUxZTY4ZmNkN2NkN2ZhMWU2YWNkOWY0Yjk3OTM0MXAtNiwKLSAgICAweDEuZjRhNjIyZGY3NjBjOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzNgotICAgIC0weDEuNmJhYjRmOTNhMzcyMDdkMjM3NjU5M2UxMmU4OTBkODBwLTYsCi0gICAgMHgxLmY0YzJiMmE1YTVjMWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzcKLSAgICAtMHgxLjY1YWU0ZGVlZGE3Yjc3ZmU5YzVkYWMyYzBjMGRlZGY0cC02LAotICAgIDB4MS5mNGYxOGZhYjVjM2I4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4Ci0gICAgLTB4MS40YzJhNjRjYjIyNDQxZmU3NGUyZjg2ODkzNGU5ZTQ5MXAtNiwKLSAgICAweDEuZjViOTZlNWI5NmViN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDEzOQotICAgIC0weDEuNDNhZTZjNDRiOWY3NjdmMzRlYmY4YTJjYzM3NDRjOTRwLTYsCi0gICAgMHgxLmY1ZmJmNWNlZGM0ODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAKLSAgICAtMHgxLjQxZjc4MTIzMTBjOWIwMDE1Y2EzOTc4Y2FlYTJhZjQ5cC02LAotICAgIDB4MS5mNjA5NjhhNTk1MmQ5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgLTB4MS4zYjBjYjBiMTQ2OWRiODAwYjIwYWExMTY5ODhjYjZmMnAtNiwKLSAgICAweDEuZjYzZmFlNmJhZTMyMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIC0weDEuMzExZTY3NTc1YjRmNTAwNjk5NGRmMzE1OGM3MzE2Y2NwLTYsCi0gICAgMHgxLmY2OGRhMzY4ZGEzNjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAtMHgxLjAyMGRhNzAzZjJmOWQ3ZDg4YzIzNjFmOTMxMmM4MzgycC02LAotICAgIDB4MS5mN2ZmYmVmYzVkOWQ4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ0Ci0gICAgLTB4MS4wMjA1NjU4OTM1Yjk0N2VjNTg3NDUzMDQ2ODE0NWFlN3AtNiwKLSAgICAweDEuZjdmZmZmZmZmZmZlNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0NQotICAgIC0weDEuYWU4MjVmZTJlYjY3MDdmOTZhNmU0YzFkZDUzNWY5Y2NwLTcsCi0gICAgMHgxLmY5NTEzOWM1NjExMzlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDYKLSAgICAtMHgxLjIzODUxYzgwZGRkZjI3ZmI4NDdjZGQyMzdkYjMyZTg2cC03LAotICAgIDB4MS5mYjc3MTc3ZmI1ZDM1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ3Ci0gICAgLTB4MS43YzQ5OGViODdlZDY4N2Y1YWI2ZDAwZTM5OTQ2ZDNiZnAtOCwKLSAgICAweDEuZmQwOWEwYjViMTdmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0OAotICAgIC0weDEuNTBkZDQxYWViNDg2NTcwMGM2OGY1ZGY0YTg0MzhlMGRwLTgsCi0gICAgMHgxLmZkNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0OQotICAgIC0weDEuMDhiOGJiYTVkYjNhODViNGUyNTJlZDEwMDNlMzQ4MWZwLTgsCi0gICAgMHgxLmZkZWY5ZmU3ZjlmZTNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTAKLSAgICAtMHgxLjA3Yzk4OWFkZDlmNTg1ZTY1Yzc4ZmU5MTJjMWE4Y3AtOCwKLSAgICAweDEuZmRmMTdjNWYxN2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTEKLSAgICAtMHgxLjAwODA1NTk1OGUxMGI1NDJmNjQwYTk0ZWQ0NWY5YmMwcC04LAotICAgIDB4MS5mZGZmZmZmZmZmZjU1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUyCi0gICAgLTB4MS4xZjNlNDcxNzhmOTdjNzUzMzRhNjJhMmY3YWE2NmJjNXAtOSwKLSAgICAweDEuZmVlMTEyM2QwNWMxYnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1MwotICAgIC0weDEuZmY3ZmFhOWFiMTM2Nzc4YTc0M2JhYTRmNTI4MDNjNGVwLTEwLAotICAgIDB4MS5mZjAwN2ZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgLTB4MS5mZjM5ZWNiZTI2NzU5Nzc4ZjhiYmY2N2YxZTRhN2UwYXAtMTAsCi0gICAgMHgxLmZmMDBhMmNkODhiNTVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAtMHgxLjYzNjM0Nzc2OThkMjU3ZmMxNzUyMmI1MGZmNTU1NTNjcDAsCi0gICAgMHgxLmZmMDIwZmZmZmZmZmZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTYKLSAgICAtMHgxLmY3YTI0OGJmMjJmYTk3ZmFjYWRiOTQ2NjMwZTM5NjdjcC0xMCwKLSAgICAweDEuZmYwNDZjYmU2Y2JkZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1NwotICAgIC0weDEuZGFlNjBmZWU5ZmE5ZjdlMzQxZmU5MDU5Y2NmNjA5NzRwLTEwLAotICAgIDB4MS5mZjEyYzNmZjEyYzMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU4Ci0gICAgLTB4MS5kMjA4YmM4NTg3Nzc2NzkxYzM4YTc2YTY3NWMxZWE0NXAtMTAsCi0gICAgMHgxLmZmMTczMDlmZWZjZDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTkKLSAgICAtMHgxLmJhYmZmMjYzZWFiZjg3YWMyMTZlYWQ2NTU3NGFjZjAxcC0xMiwKLSAgICAweDEuZmZjOGFhZmY1MzRkNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE2MAotICAgIC0weDEuYzAwYzQwNzI1YjA2MTdkZTE3ZDdiNzRlNDkwOTFkNzRwLTEzLAotICAgIDB4MS5mZmUzZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYxCi0gICAgLTB4MS43OGJmYTUwMDQxNTMxNzNmMmY1MjI2Y2QyMzk0ODUxOHAtMTMsCi0gICAgMHgxLmZmZTg3NDkwNGFiZDBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjIKLSAgICAtMHgxLjExNDhkZmY5NTdlN2M3NDU2NDIyOWU5Y2I5YzRiODNjcC0xMywKLSAgICAweDEuZmZlZWViYmFlZWJiOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE2MwotICAgIC0weDEuNGFhMTk2YWFlMWVmOTdmZjE3MzA4OTc3OTllZTRmMDJwOCwKLSAgICAweDEuZmZmZmZiYmZmZmZmZnAtNDc4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY0Ci0gICAgMHgxLjhlOGY0M2QzODA0MGZmZmVkYTczMmM4ZDE2NGMxZWI1cDgsCi0gICAgMHgxLmZmZmZmYmJmZmZmZmZwNTc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY1Ci0gICAgLTB4MS4wMDAwMDQwMTAwMDAwODAxNTU2NTY1NTc1NTk1NzU1OHAtMzEsCi0gICAgMHgxLmZmZmZmZmZiZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjYKLSAgICAtMHgxLmZmODA0MDAwN2ZjMDI3ZjgyYzhhYzJhMjEyZWY4ZTBlcC0zNCwKLSAgICAweDEuZmZmZmZmZmYwMDNmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE2NwotICAgIDB4MS44NmVmNWNjZGZhMWIxN2ZlNzhjODg2YTlkOGIyZmFhZXA3LAotICAgIDB4MS5mZmZmZmZmZmRkZmZmcDI4MQotICB9LAotICB7IC8vIEVudHJ5IDE2OAotICAgIC0weDEuMDAwODAwMDAwMDgwMDgwMDIwMDA1NTVkNTU5NTU2NDBwLTQwLAotICAgIDB4MS5mZmZmZmZmZmZkZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY5Ci0gICAgLTB4MS4wMDIwMDAwMDAwMjAwODAwODAwMDA1NTc1NTk1NTgwMXAtNDIsCi0gICAgMHgxLmZmZmZmZmZmZmY3ZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzAKLSAgICAtMHgxLjAwNDAwMDAwMDAxMDA4MDEwMDAwMDE1NjU1OTU1YWFhcC00MywKLSAgICAweDEuZmZmZmZmZmZmZmJmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE3MQotICAgIDB4MS4zMGZjMTkzMWYwOWM5N2ZmNDJmZjVjYWQ0Njc4OTdmZHA3LAotICAgIDB4MS5mZmZmZmZmZmZmZmVlcDIxOQotICB9LAotICB7IC8vIEVudHJ5IDE3MgotICAgIC0weDEuMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDE1NTU1NTVwLTUxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTczCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDU1NTU1NXAtNTIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzQKLSAgICAtMHgxLjAzZmU1NWEwNjFjNzU3ZmVkNmExZGEzMTdkYTUwYjFhcC0xLAotICAgIDB4MS4zNDIxODU3OThmNmQ2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc1Ci0gICAgLTB4MS42MmU0MmZlZmEzOWYwY2U0ZTBkNTA3ODU3ODg5MjcyMXAtMiwKLSAgICAweDEuNmEwOWU2NjdmM2JjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIC0weDEuZGEzOTFjOTA0M2EwZjE2YWJlMDU2ZTM4NGJmMDdmMjlwLTMsCi0gICAgMHgxLjk2MmI1Zjk0MzhkMjVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzcKLSAgICAtMHgxLjA2ZmJlYzUyMDgyYmQyNTNlMjAyMTBiNTg4NjhlNTIxcC0zLAotICAgIDB4MS5jMjRjZDhjMDdkZTdlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc4Ci0gICAgLTB4MS4xZTBhOGY2NzBjNTBhZDE3MmIyNjA4ZTRhNzhiNWU2MHAtNSwKLSAgICAweDEuZWU2ZTUxZWNjMmZkN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIDB4MS45ZTU0OGU3ZTNkZGU3YjBmMzQzODVmMDc1ZTg1MDEwNnAtNSwKLSAgICAweDEuMGQ0N2U1OGM4NDA5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgwCi0gICAgMHgxLjA4ZTBiYWU3M2FjMjM4ZDVkMGQxZmQ5YTA0NTc5NjMwcC0zLAotICAgIDB4MS4yMzU4YTIyMmE2OTQ0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODEKLSAgICAweDEuOWU2NDYyMTg3YzM2YThkZGVlZDg5OWM0ZTM1OTY4OTZwLTMsCi0gICAgMHgxLjM5Njk1ZWI4YzkxZjBwMAotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIDB4MS4xNGRkNmIwYWY5MzlhYzlmZDFjZjhkOGEzYTYzMGEwN3AtMiwKLSAgICAweDEuNGY3YTFiNGVlYmE5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgzCi0gICAgMHgxLjU2MTgxZjE5ZDcxOTgwMzVjZjdjNWRmMDJkMTY2MDI2cC0yLAotICAgIDB4MS42NThhZDdlNTBlMzQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODQKLSAgICAweDEuOTM2YTgyZmFkY2Q4NWE3NjhhMTY1NWE4MDdhNWM1ZmRwLTIsCi0gICAgMHgxLjdiOWI5NDdiMzBiZjRwMAotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIDB4MS5jZDQ1YjBhOWYyNTAyMWU0YzZhYjg3NmU1NDFkZWZjOXAtMiwKLSAgICAweDEuOTFhYzUxMTE1MzRhMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg2Ci0gICAgMHgxLjAyMDQ0YzliNzA2MjczNTBmNWM2MTNiYTNlZmY3ZjE0cC0xLAotICAgIDB4MS5hN2JkMGRhNzc1ZDRjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODcKLSAgICAweDEuMWMwMWRhZDU5ZTcyZmEwNDdiNjFhYzI2YzUxZjRjMTdwLTEsCi0gICAgMHgxLmJkY2RjYTNkOTg1ZjhwMAotICB9LAotICB7IC8vIEVudHJ5IDE4OAotICAgIDB4MS4zNGJkZTliODIxZmUzMTEzNmU2NzQ1M2RmZWNmOWUzNHAtMSwKLSAgICAweDEuZDNkZTg2ZDNiYWVhNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg5Ci0gICAgMHgxLjRjNTYxZGJiYjIxZDlhOGZhYWI0NGY2Nzc3ZjkyOWY3cC0xLAotICAgIDB4MS5lOWVmNDM2OWRkNzUwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTAKLSAgICAweDEuNjJlNDJmZWZhMzllYjM1NzkzYzc2NzMwMDNlNWVkNWVwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmNwMAotICB9LAotICB7IC8vIEVudHJ5IDE5MQotICAgIC0weDEuNjJlNDJmZWZhMzlmMGNlNGUwZDUwNzg1Nzg4OTI3MjFwLTIsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTIKLSAgICAtMHgxLjI0Y2ZjZTZmODBkOWI1N2JmNzExZThjN2JhMjFkZWY5cC0yLAotICAgIDB4MS44MGFhODRjZTcyZjg5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkzCi0gICAgLTB4MS5kNDkwMjQ2ZGVmYTZjMjQwNzA0MjExNTdjOGJkYmFjNHAtMywKLSAgICAweDEuOTc0YjIzMzRmMjM0NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE5NAotICAgIC0weDEuNjVkNTU4ZDRjZTAwYTQxODg3OTNmNzQ1MmE0MWM5ZDNwLTMsCi0gICAgMHgxLmFkZWJjMTliNzE3MDNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAtMHgxLmY5OTFjNmNiM2IzNzZkM2UwNWMwNDQ5ZDk5NzhiOWJicC00LAotICAgIDB4MS5jNDhjNjAwMWYwYWMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk2Ci0gICAgLTB4MS4zMWI5OTRkM2E0ZjgwNjQ2MTQ2YTM1NjFlMTY2ODIxM3AtNCwKLSAgICAweDEuZGIyY2ZlNjg2ZmU3ZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE5NwotICAgIC0weDEuY2NiNzNjZGRkYjJiM2I1Yjg0MWViMTUwYTNkNWUzNGRwLTYsCi0gICAgMHgxLmYxY2Q5Y2NlZWYyM2FwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTgKLSAgICAweDEuMGI5NGY3YzE5NjE3NDg1YmNiNDM3NWIwYjgyZWQ3YWFwLTYsCi0gICAgMHgxLjA0MzcxZDlhYjcyZmJwMAotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIDB4MS5lMjcwNzZlMmFmMmQ5MjM0NDAxMmZiNzQ2NGM3ODdjNnAtNSwKLSAgICAweDEuMGY4NzZjY2RmNmNkOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAwCi0gICAgMHgxLjk4NmQzMjI4MTgwYmUwOTI0YWMzYTE5YjcyODcwZTc5cC00LAotICAgIDB4MS4xYWQ3YmMwMTM2NmI3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICAweDEuMWM4OThjMTY5OTlmMjkxNWFkNTFhMDA1YjY4ZGRjYzRwLTMsCi0gICAgMHgxLjI2MjgwYjM0NzYwOTVwMAotICB9LAotICB7IC8vIEVudHJ5IDIwMgotICAgIDB4MS42OWQ0NTkyYTAzNjIxYjJlNmNjY2MyMDM2ZjM5MzFmZnAtMywKLSAgICAweDEuMzE3ODVhNjdiNWE3M3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMHgxLmI0NGY3N2JjYzhmNTVhODg4NDQ5YmM1M2U5ZDliZjNlcC0zLAotICAgIDB4MS4zY2M4YTk5YWY1NDUxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDQKLSAgICAweDEuZmMyZDZjZjQ3Y2YwYjJlMGI4OGY0ODgzMjQwMjQwOGNwLTMsCi0gICAgMHgxLjQ4MThmOGNlMzRlMmZwMAotICB9LAotICB7IC8vIEVudHJ5IDIwNQotICAgIDB4MS4yMGNkY2QxOTJhYjY1MzBiMjRkNzVhYjQ0NTllM2JjM3AtMiwKLSAgICAweDEuNTM2OTQ4MDE3NDgwZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA2Ci0gICAgMHgxLjQyNjE3NGRiZDUxNWQ2NDlkNjk5ODQ4MTZlNjg5NDBkcC0yLAotICAgIDB4MS41ZWI5OTczNGI0MWVicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDcKLSAgICAweDEuNjJlNDJmZWZhMzllNTIwNjkwNTJjYjczYmY3YzJkNWZwLTIsCi0gICAgMHgxLjZhMDllNjY3ZjNiYzlwMAotICB9LAotICB7IC8vIEVudHJ5IDIwOAotICAgIC0weDEuMjY5NjIxMTM0ZGI5Mjc4M2JlYjc2NzZjMGFhOWMyYTNwLTIsCi0gICAgMHgxLjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDkKLSAgICAtMHgxLjg5ZmE0NjVjYjkzYzM5MzAyZDdhNDNiZjhhODM0NWM4cC0zLAotICAgIDB4MS5hNjY2NjY2NjY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEwCi0gICAgLTB4MS5hZjhlODIxMGE0MTY0OGFkMmVmNWE3NWM4MGFlOWIwMnAtNCwKLSAgICAweDEuY2NjY2NjY2NjY2NjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDIxMQotICAgIC0weDEuOWVjZTk1NTMyMWI5MTExOWI2NGIwNDg2MTNkYmMwN2RwLTYsCi0gICAgMHgxLmYzMzMzMzMzMzMzMzJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAweDEuOGZiMDYzZWYyYzdkMTBhYzhjNWNlMzYxZjNhNTlhNzNwLTUsCi0gICAgMHgxLjBjY2NjY2NjY2NjY2NwMAotICB9LAotICB7IC8vIEVudHJ5IDIxMwotICAgIDB4MS5lMjcwNzZlMmFmMmQ3YjEwNmY5YzZmZTcwMDAwZjBiOHAtNCwKLSAgICAweDEuMWZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgMHgxLjc1NjUwMTFlNDk2NmUzOTQ3NDJjZGViODBhYWEwYjg1cC0zLAotICAgIDB4MS4zMzMzMzMzMzMzMzMycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTUKLSAgICAweDEuZjE4ZGM0MWU4ZWYxNzA4ZGRhYzYxN2U3MmExNmEzNTFwLTMsCi0gICAgMHgxLjQ2NjY2NjY2NjY2NjVwMAotICB9LAotICB7IC8vIEVudHJ5IDIxNgotICAgIDB4MS4zMzRlOWU0N2QwN2VmZDk3ZDEzZmVhMjY1ZGNlYzJkMXAtMiwKLSAgICAweDEuNTk5OTk5OTk5OTk5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE3Ci0gICAgMHgxLjZhYWMwNDE0NjE1MWZmMzY0NGYwZGE4NzkzZmU5MTFmcC0yLAotICAgIDB4MS42Y2NjY2NjY2NjY2NicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAweDEuOWYzMjNlY2JmOTg0NjlkNjEzODIxMTllYWMzZTg5ZTFwLTIsCi0gICAgMHgxLjdmZmZmZmZmZmZmZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDIxOQotICAgIDAuMCwKLSAgICAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIwCi0gICAgMHgxLjg2NjNmNzkzYzQ2Y2M2ZDU2OTliODJjYzNiZDNiZTM4cC00LAotICAgIDB4MS4xOTk5OTk5OTk5OTlhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjEKLSAgICAweDEuNzU2NTAxMWU0OTY3YjhlOWM5ODIzNDBkNjIzODQ0NjlwLTMsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzRwMAotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIDB4MS4wY2E5MzdiZTFiOWRmOGU4NGFiNTJkNGIwYWVmZDAxMnAtMiwKLSAgICAweDEuNGNjY2NjY2NjY2NjZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIzCi0gICAgMHgxLjU4OGMyZDkxMzM0OTQzODBlZWJjZWI3NmMxOTI4ZjdjcC0yLAotICAgIDB4MS42NjY2NjY2NjY2NjY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjQKLSAgICAweDEuOWYzMjNlY2JmOTg1MTQ4MGJlMmNiYzQ5NTZlOTM0OGJwLTIsCi0gICAgMHgxLjgwMDAwMDAwMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDIyNQotICAgIDB4MS5lMTQ4YTFhMjcyNmQzOTRkZjhjZGQ2YzgwZDdlYzg2NXAtMiwKLSAgICAweDEuOTk5OTk5OTk5OTk5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgMHgxLjBmYWU4MTkxNGE5OTQ3YmQyZGU1MTE4N2E2MzA4ZmRicC0xLAotICAgIDB4MS5iMzMzMzMzMzMzMzM2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjcKLSAgICAweDEuMmNmMjVmYWQ4ZjFjNzE1ZTVmYWZjZWI2M2JmNjA3MDdwLTEsCi0gICAgMHgxLmNjY2NjY2NjY2NjZDBwMAotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIDB4MS40OGExMTI5M2Q3ODVmODZhN2IxNzdmNGFhNGU5Y2FkYnAtMSwKLSAgICAweDEuZTY2NjY2NjY2NjY2YXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI5Ci0gICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAotICAgIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzAKLSAgICAweDEuMTU0MjQ1NzMzN2Q0MmUxYzZiNzNjODlkODYyYmExNzFwNiwKLSAgICAweDEuMHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzEKLSAgICAweDEuMTVhM2RlNzExY2M1NDk0ZTIwY2UyZjdlMzkzYTk2NjFwNiwKLSAgICAweDEuMTk5OTk5OTk5OTk5YXAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzIKLSAgICAweDEuMTVmY2Y3ZjNjNmY4ZTFmOGUwNTg4OWI3OGNkY2JkOTRwNiwKLSAgICAweDEuMzMzMzMzMzMzMzMzNHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzMKLSAgICAweDEuMTY0ZWVlYWFmNWVmY2MxNTUzYmU3ZGNhZDEzNjkxNDFwNiwKLSAgICAweDEuNGNjY2NjY2NjY2NjZXAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzQKLSAgICAweDEuMTY5YWQxYTBjOTA3Nzc1ZmVjNjI4NTg4ZmNlZDM0MDFwNiwKLSAgICAweDEuNjY2NjY2NjY2NjY2OHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzUKLSAgICAweDEuMTZlMTc3YjIwM2NkYjMzMGVjMzFmNTU5Y2Y4MjhhYTZwNiwKLSAgICAweDEuODAwMDAwMDAwMDAwMnAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzYKLSAgICAweDEuMTcyMzhlMTRkYTQ2OWI1NWI5NmM5Njc0NGUzOTIwM2FwNiwKLSAgICAweDEuOTk5OTk5OTk5OTk5Y3AxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzcKLSAgICAweDEuMTc2MWEyNzY1YTY5NjBhYmU1Y2Y5MmMwOTU3ODAyOTFwNiwKLSAgICAweDEuYjMzMzMzMzMzMzMzNnAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzgKLSAgICAweDEuMTc5YzJhMzI5MmYyNjZmZjI4MzMyODNhZjJhMzhkN2ZwNiwKLSAgICAweDEuY2NjY2NjY2NjY2NkMHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzkKLSAgICAweDEuMTdkMzg3OTg1ZjgzM2EwZDQwNjlmNzljMWI3NTc1MDdwNiwKLSAgICAweDEuZTY2NjY2NjY2NjY2YXAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDAKLSAgICAweDEuMTgwODBkZDMxNzFiNmMwMzFhOWI1NzZiZTYzYjZkNGNwNiwKLSAgICAweDEuMHAxMDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDEKLSAgICAweDEuMTU0MjQ1NzMzN2Q0MmUxYzZiNzNjODlkODYyYmExNzFwNywKLSAgICAweDEuMHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDIKLSAgICAweDEuMTU3MzExZjIyYTRjYmJiNTQ2MjBmYzBkZGZiMzFiZTlwNywKLSAgICAweDEuMTk5OTk5OTk5OTk5YXAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDMKLSAgICAweDEuMTU5ZjllYjM3ZjY2ODgwYWE1ZTYyOTJhODk4NDJmODJwNywKLSAgICAweDEuMzMzMzMzMzMzMzMzNHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDQKLSAgICAweDEuMTVjODlhMGYxNmUxZmQxOGRmOTkyMzM0MmJiMTE5NTlwNywKLSAgICAweDEuNGNjY2NjY2NjY2NjZXAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDUKLSAgICAweDEuMTVlZThiOGEwMDZkZDJiZTJiZWIyNzEzNDE4YzZhYjlwNywKLSAgICAweDEuNjY2NjY2NjY2NjY2OHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDYKLSAgICAweDEuMTYxMWRlOTI5ZGQwZjBhNmFiZDJkZWZiYWFkNzE2MGNwNywKLSAgICAweDEuODAwMDAwMDAwMDAwMnAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDcKLSAgICAweDEuMTYzMmU5YzQwOTBkNjRiOTEyNzAyZjg4ZWEzMjYwZDZwNywKLSAgICAweDEuOTk5OTk5OTk5OTk5Y3AyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDgKLSAgICAweDEuMTY1MWYzZjRjOTFlYzc2NDI4YTFhZGFmMGRkMWQyMDFwNywKLSAgICAweDEuYjMzMzMzMzMzMzMzNnAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDkKLSAgICAweDEuMTY2ZjM3ZDJlNTYzNGE4ZGM5ZDM3ODZjM2M2Nzk3NzhwNywKLSAgICAweDEuY2NjY2NjY2NjY2NkMHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAweDEuMTY4YWU2ODVjYmFiYjQxNGQ1ZWVlMDFjZDBkMDhiM2NwNywKLSAgICAweDEuZTY2NjY2NjY2NjY2YXAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTEKLSAgICAweDEuMTZhNTI5YTMyNzc3Y2QwZmMzMDc5MDA0YjYzMzg3NWZwNywKLSAgICAweDEuMHAyMDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTIKLSAgICAweDEuNWE5MmQ2ZDAwNWM5MzlhMzg2NTBiYWM0ZTdiNjg5Y2VwOSwKLSAgICAweDEuMHAxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUzCi0gICAgLTB4MS4wMDAwMDgwMDAwNTU1NTU5NTU1NTg4ODg4YjMzMzM1N3AtMjAsCi0gICAgMHgxLmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU0Ci0gICAgLTB4MS4wMDAwMDQwMDAwMTU1NTU1ZDU1NTU4ODg4ODlkZGRkZXAtMjEsCi0gICAgMHgxLmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgMC4wLAotICAgIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAweDEuZmZmZmY4MDAwMDJhYWFhOWFhYWFiMTExMTBlNjY2NjdwLTIyLAotICAgIDB4MS4wMDAwMDgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTcKLSAgICAweDEuZmZmZmYwMDAwMGFhYWFhMmFhYWIxMTExMGJiYmJjMDRwLTIxLAotICAgIDB4MS4wMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU4Ci0gICAgLTB4MS4wMDAwMDAwMjAwMDAwMDA1NTU1NTU1NjU1NTU1NTU4OHAtMzAsCi0gICAgMHgxLmZmZmZmZmY4MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI1OQotICAgIC0weDEuMDAwMDAwMDEwMDAwMDAwMTU1NTU1NTU3NTU1NTU1NThwLTMxLAotICAgIDB4MS5mZmZmZmZmYzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAwLjAsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDI2MQotICAgIDB4MS5mZmZmZmZmZTAwMDAwMDAyYWFhYWFhYTZhYWFhYWFiMXAtMzIsCi0gICAgMHgxLjAwMDAwMDAyMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYyCi0gICAgMHgxLmZmZmZmZmZjMDAwMDAwMGFhYWFhYWE4YWFhYWFhYjExcC0zMSwKLSAgICAweDEuMDAwMDAwMDQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjMKLSAgICAtMHgxLjAwMDAwMDAwMDA4MDAwMDAwMDAwNTU1NTU1NTU1NTk1cC00MCwKLSAgICAweDEuZmZmZmZmZmZmZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjQKLSAgICAtMHgxLjAwMDAwMDAwMDA0MDAwMDAwMDAwMTU1NTU1NTU1NTVkcC00MSwKLSAgICAweDEuZmZmZmZmZmZmZjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjUKLSAgICAwLjAsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDI2NgotICAgIDB4MS5mZmZmZmZmZmZmODAwMDAwMDAwMDJhYWFhYWFhYWE5YXAtNDIsCi0gICAgMHgxLjAwMDAwMDAwMDA4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjcKLSAgICAweDEuZmZmZmZmZmZmZjAwMDAwMDAwMDBhYWFhYWFhYWFhMmFwLTQxLAotICAgIDB4MS4wMDAwMDAwMDAxMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwNTU1NTU1NXAtNTAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjkKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAxNTU1NTU1cC01MSwKLSAgICAweDEuZmZmZmZmZmZmZmZmY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDI3MAotICAgIDAuMCwKLSAgICAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmUwMDAwMDAwMDAwMDAyYWFhYWFhcC01MiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcyCi0gICAgMHgxLmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDBhYWFhYWFhcC01MSwKLSAgICAweDEuMDAwMDAwMDAwMDAwNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjczCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTM5M2M3NjczMDA3ZTVkZDVlcDksCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDI3NAotICAgIC0weDEuNzQzODU0NDZkNzFjMzYzOTVhN2VhM2I5ZTA0OGE3NzVwOSwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDI3NQotICAgIC0weDEuNjJlNDJmZWZhMzlmM2EyNjFkYTIwNWZkMTNjYjUzZGZwLTIsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2JwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzYKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZjBjZTRlMGQ1MDc4NTc4ODkyNzIxcC0yLAotICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc3Ci0gICAgLTB4MS42MmU0MmZlZmEzOWVkZmEzYTQwODA5MGRkZjQ2ZmE2MnAtMiwKLSAgICAweDEuNmEwOWU2NjdmM2JjZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI3OAotICAgIDB4MS42MmU0MmZlZmEzOWVhYzg5MDllY2M4NjJmYzAwODZkZHAtMiwKLSAgICAweDEuNmEwOWU2NjdmM2JjYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLjYyZTQyZmVmYTM5ZWQ5Y2E0NmI5YzZkYTk3NDJiMzlicC0yLAotICAgIDB4MS42YTA5ZTY2N2YzYmNjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAweDEuNjJlNDJmZWZhMzlmMDcwYjgzODZjNTUyMzA4NGUwNWFwLTIsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2RwMAotICB9LAotICB7IC8vIEVudHJ5IDI4MQotICAgIC0weDEuNjJlNDJmZWZhMzlmMDM1NzkzYzc2NzMwMDgyNWVkNWVwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODIKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAotICAgIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgzCi0gICAgLTB4MS42MmU0MmZlZmEzOWVkMzU3OTNjNzY3MzAwOGU1ZWQ1ZXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI4NAotICAgIC0weDEuMjY5NjIxMTM0ZGI5NTIyZTY5NjIxMjE2YjYzN2ZiODZwLTIsCi0gICAgMHgxLjdmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODUKLSAgICAtMHgxLjI2OTYyMTEzNGRiOTI3ODNiZWI3Njc2YzBhYTljMmEzcC0yLAotICAgIDB4MS44cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg2Ci0gICAgLTB4MS4yNjk2MjExMzRkYjhmY2Q5MTQwY2JjYzE2MGUyYTYzMXAtMiwKLSAgICAweDEuODAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI4NwotICAgIDB4MS45ZjMyM2VjYmY5ODQ5NDgwYmUyY2JjNDk1OTkzZGYzNnAtMiwKLSAgICAweDEuN2ZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgMHgxLjlmMzIzZWNiZjk4NGJmMmI2OGQ3NjZmNDA1MjIxODE5cC0yLAotICAgIDB4MS44cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAweDEuOWYzMjNlY2JmOTg0ZTlkNjEzODIxMTllYWVlOTM0OGJwLTIsCi0gICAgMHgxLjgwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIDB4MS41NGUzYzBiMTBhMzY0MzRhYmFjMjc3MTYwMzExY2NiNHAtOSwKLSAgICAweDEuMDBhYWFhYWFhYWFhYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgMHgxLjU0ZTNjMGIxMGE1NjJlMDM5NGRiYmI5MzU5ZjQ3N2RkcC05LAotICAgIDB4MS4wMGFhYWFhYWFhYWFicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTIKLSAgICAweDEuNTRlM2MwYjEwYTc2MThiYzZlZjUwMDBlYjM3ZjI1NjNwLTksCi0gICAgMHgxLjAwYWFhYWFhYWFhYWNwMAotICB9LAotICB7IC8vIEVudHJ5IDI5MwotICAgIDB4MS42MmU0MmZlZmEzOWVlYjU3OTNjNzY3MzAwN2M1ZWQ1ZXAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTQKLSAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMCwKLSAgICAweDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk1Ci0gICAgMHgxLjYyZTQyZmVmYTM5ZjAzNTc5M2M3NjczMDA3NjVlZDVlcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMgotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIDB4MS42MmU0MmZlZmEzOWVlMzU3OTNjNzY3MzAwN2E1ZWQ1ZXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk3Ci0gICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAotICAgIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTgKLSAgICAweDEuNjJlNDJmZWZhMzlmMTM1NzkzYzc2NzMwMDZlNWVkNWVwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDI5OQotICAgIC0weDEuMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAxNTU1NTVwLTUzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAwCi0gICAgMC4wLAotICAgIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDEKLSAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDBhYWFhYWFwLTUzLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDIKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZjAzNTc5M2M3NjczMDA4MjVlZDVlcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKLSAgICAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIC0weDEuNjJlNDJmZWZhMzllZDM1NzkzYzc2NzMwMDhlNWVkNWVwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDUKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWZiNTc5M2M3NjczMDA4MDVlZDVlcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDAsCi0gICAgMHgxLjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWUzNTc5M2M3NjczMDA4NjVlZDVlcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzNhODFhZWQ1OGQ2NDA1ZmM3MjA2cDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDkKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDEsCi0gICAgMHgxLjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTAKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzJlODFhZWQ1OGQ2NDA2MmM3MjA2cDEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTEKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWY3NTc5M2M3NjczMDA3ZjVlZDVlcDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDEsCi0gICAgMHgxLjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTMKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWViNTc5M2M3NjczMDA4MjVlZDVlcDEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTQKLSAgICAtMHgxLmJiOWQzYmViOGM4NmI0MmQ3OGI5NDBmYzA5ZWY2OGI2cDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAtMHgxLmJiOWQzYmViOGM4NmIwMmQ3OGI5NDBmYzA5ZGY2OGI2cDEsCi0gICAgMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTYKLSAgICAtMHgxLmJiOWQzYmViOGM4NmE4MmQ3OGI5NDBmYzBhMWY2OGI2cDEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTcKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzM4ODFhZWQ1OGQ2NDA1ZjQ3MjA2cDIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTgKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDIsCi0gICAgMHgxLjBwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTkKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzMyODFhZWQ1OGQ2NDA2MGM3MjA2cDIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjAKLSAgICAtMHgxLjM2ODdhOWYxYWYyYjE2ZWNhMTRlN2E0YTA2ZjEyZmIycDIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjEKLSAgICAtMHgxLjM2ODdhOWYxYWYyYjE0ZWNhMTRlN2E0YTA2ZTkyZmIycDIsCi0gICAgMHgxLjBwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjIKLSAgICAtMHgxLjM2ODdhOWYxYWYyYjEwZWNhMTRlN2E0YTA3MDkyZmIycDIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWY1NTc5M2M3NjczMDA3ZWRlZDVlcDIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjQKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcDIsCi0gICAgMHgxLjBwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjUKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWVmNTc5M2M3NjczMDA4MDVlZDVlcDIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjYKLSAgICAtMHgxLjhmNDBiNWVkOTgxMmQzYzI4NjQwNTQxNjA4ZWFhYjBhcDIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI3Ci0gICAgLTB4MS44ZjQwYjVlZDk4MTJkMWMyODY0MDU0MTYwOGUyYWIwYXAyLAotICAgIDB4MS4wcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgLTB4MS44ZjQwYjVlZDk4MTJjZGMyODY0MDU0MTYwOTAyYWIwYXAyLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI5Ci0gICAgLTB4MS5iYjlkM2JlYjhjODZiMjJkNzhiOTQwZmMwOWU3NjhiNnAyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQotICB9LAotICB7IC8vIEVudHJ5IDMzMAotICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMiwKLSAgICAweDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzEKLSAgICAtMHgxLmJiOWQzYmViOGM4NmFjMmQ3OGI5NDBmYzA5ZmY2OGI2cDIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgLTB4MS4yMDU5NjZmMmI0ZjEyNmI3MjgxMjAzZDcwNjZlZDBkY3AzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIC0weDEuMjA1OTY2ZjJiNGYxMjViNzI4MTIwM2Q3MDY2YWQwZGNwMywKLSAgICAweDEuMHAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzQKLSAgICAtMHgxLjIwNTk2NmYyYjRmMTIzYjcyODEyMDNkNzA2N2FkMGRjcDMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM1Ci0gICAgLTB4MS4yMDU5NjZmMmI0ZjEyNmI3MjgxMjAzZDcwNjZlZDBkY3AzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDMzNgotICAgIC0weDEuMjA1OTY2ZjJiNGYxMjViNzI4MTIwM2Q3MDY2YWQwZGNwMywKLSAgICAweDEuMHAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzcKLSAgICAtMHgxLjIwNTk2NmYyYjRmMTIzYjcyODEyMDNkNzA2N2FkMGRjcDMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgLTB4MS4wYTJiMjNmM2JhYjczYTgxYWVkNThkNjQwNWZjNzIwNnAxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM5Ci0gICAgLTB4MS4wYTJiMjNmM2JhYjczNjgxYWVkNThkNjQwNWVjNzIwNnAxLAotICAgIDB4MS4wcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQwCi0gICAgLTB4MS4wYTJiMjNmM2JhYjcyZTgxYWVkNThkNjQwNjJjNzIwNnAxLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQxCi0gICAgLTB4MS4xMTc4ZTgyMjdlNDgwNzA3Y2FmZDQ0NTk3ODViMGU4ZnAtMywKLSAgICAweDEuYmZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM0MgotICAgIC0weDEuMTE3OGU4MjI3ZTQ3YmRlMzM4YjQxZmM3MmRlODFlM2JwLTMsCi0gICAgMHgxLmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDMKLSAgICAtMHgxLjExNzhlODIyN2U0Nzc0YmVhNjZhZmIzNGU2MTFlOWZkcC0zLAotICAgIDB4MS5jMDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ0Ci0gICAgLTB4MS42MmU0MmZlZmEzOWVmNzU3OTNjNzY3MzAwN2Y1ZWQ1ZXAxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ1Ci0gICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAxLAotICAgIDB4MS4wcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ2Ci0gICAgLTB4MS42MmU0MmZlZmEzOWVlYjU3OTNjNzY3MzAwODI1ZWQ1ZXAxLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ3Ci0gICAgLTB4MS4wODU5OGI1OWUzYTBmMTEyYzg2MjQ3ZDhiZTQxZDQ4N3AtNCwKLSAgICAweDEuZGZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM0OAotICAgIC0weDEuMDg1OThiNTllM2EwNjg4YTNmZDliZjUwMzM3MmMxMmZwLTQsCi0gICAgMHgxLmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDkKLSAgICAtMHgxLjA4NTk4YjU5ZTM5ZmUwMDFiNzUxMzZjN2FkMzBjMzc2cC00LAotICAgIDB4MS5lMDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUwCi0gICAgLTB4MS5iYjlkM2JlYjhjODZiNDJkNzhiOTQwZmMwOWVmNjhiNnAxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUxCi0gICAgLTB4MS5iYjlkM2JlYjhjODZiMDJkNzhiOTQwZmMwOWRmNjhiNnAxLAotICAgIDB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUyCi0gICAgLTB4MS5iYjlkM2JlYjhjODZhODJkNzhiOTQwZmMwYTFmNjhiNnAxLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUzCi0gICAgLTB4MS4wNDE1ZDg5ZTc0NDU0ZjQzODQ0YjdlNTVjZWRkODM3YnAtNSwKLSAgICAweDEuZWZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIC0weDEuMDQxNWQ4OWU3NDQ0NDcwMTczYzc1ZDRkODg4OWRlMGVwLTUsCi0gICAgMHgxLmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTUKLSAgICAtMHgxLjA0MTVkODllNzQ0MzNlYmY2MzQzM2M0NTRhYmM3YjM5cC01LAotICAgIDB4MS5mMDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgLTB4MS4wYTJiMjNmM2JhYjczODgxYWVkNThkNjQwNWY0NzIwNnAyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU3Ci0gICAgLTB4MS4wYTJiMjNmM2JhYjczNjgxYWVkNThkNjQwNWVjNzIwNnAyLAotICAgIDB4MS4wcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU4Ci0gICAgLTB4MS4wYTJiMjNmM2JhYjczMjgxYWVkNThkNjQwNjBjNzIwNnAyLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU5Ci0gICAgLTB4MS4wMjA1NjU4OTM1ODY3Y2JmYTVhOTI2M2JkODFkYTRhMHAtNiwKLSAgICAweDEuZjdmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIC0weDEuMDIwNTY1ODkzNTg0NzQ5ZjIzYTEwNWI5YzdiYjlhNmZwLTYsCi0gICAgMHgxLmY4MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2MQotICAgIC0weDEuMDIwNTY1ODkzNTgyNmM3ZWExOThlNTM3YzdkY2EwOGZwLTYsCi0gICAgMHgxLmY4MDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjIKLSAgICAtMHgxLjM2ODdhOWYxYWYyYjE2ZWNhMTRlN2E0YTA2ZjEyZmIycDIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjMKLSAgICAtMHgxLjM2ODdhOWYxYWYyYjE0ZWNhMTRlN2E0YTA2ZTkyZmIycDIsCi0gICAgMHgxLjBwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjQKLSAgICAtMHgxLjM2ODdhOWYxYWYyYjEwZWNhMTRlN2E0YTA3MDkyZmIycDIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjUKLSAgICAtMHgxLjAxMDE1NzU4OGRlYjFhOWNlYzliMDNmYmVlNDljNmIwcC03LAotICAgIDB4MS5mYmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY2Ci0gICAgLTB4MS4wMTAxNTc1ODhkZTcxMjhjY2M1YTgyZjlkYTAwZjQ4YnAtNywKLSAgICAweDEuZmMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY3Ci0gICAgLTB4MS4wMTAxNTc1ODhkZTMwYTdjYWMxYTAxZjdlNjM5YTY3MHAtNywKLSAgICAweDEuZmMwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2OAotICAgIC0weDEuNjJlNDJmZWZhMzllZjU1NzkzYzc2NzMwMDdlZGVkNWVwMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtOQotICB9LAotICB7IC8vIEVudHJ5IDM2OQotICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMiwKLSAgICAweDEuMHAtOAotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIC0weDEuNjJlNDJmZWZhMzllZWY1NzkzYzc2NzMwMDgwNWVkNWVwMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtOAotICB9LAotICB7IC8vIEVudHJ5IDM3MQotICAgIC0weDEuMDA4MDU1OTU4OGJiNWZlZGEwZWI0NTk1YzVmYmUyYjFwLTgsCi0gICAgMHgxLmZkZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzIKLSAgICAtMHgxLjAwODA1NTk1ODhiMzU3ZTU5OGUzM2Q4ZDlkYjM3YTI5cC04LAotICAgIDB4MS5mZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzMKLSAgICAtMHgxLjAwODA1NTk1ODhhYjRmZGQ5MGRiMzU4NWI1ZWJkMmExcC04LAotICAgIDB4MS5mZTAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc0Ci0gICAgLTB4MS44ZjQwYjVlZDk4MTJkM2MyODY0MDU0MTYwOGVhYWIwYXAyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDM3NQotICAgIC0weDEuOGY0MGI1ZWQ5ODEyZDFjMjg2NDA1NDE2MDhlMmFiMGFwMiwKLSAgICAweDEuMHAtOQotICB9LAotICB7IC8vIEVudHJ5IDM3NgotICAgIC0weDEuOGY0MGI1ZWQ5ODEyY2RjMjg2NDA1NDE2MDkwMmFiMGFwMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtOQotICB9LAotICB7IC8vIEVudHJ5IDM3NwotICAgIC0weDEuMDA0MDE1NWQ1ODk5ZTY3NDY5MWZlZjQxNDAyZjNlN2JwLTksCi0gICAgMHgxLmZlZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzgKLSAgICAtMHgxLjAwNDAxNTVkNTg4OWRlNzA2NzFlZWVjMGJmY2VmZTUzcC05LAotICAgIDB4MS5mZjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzkKLSAgICAtMHgxLjAwNDAxNTVkNTg3OWQ2NmM2NTFkZWU0MGJmZWYxZTZicC05LAotICAgIDB4MS5mZjAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgwCi0gICAgLTB4MS5iYjlkM2JlYjhjODZiMjJkNzhiOTQwZmMwOWU3NjhiNnAyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xMQotICB9LAotICB7IC8vIEVudHJ5IDM4MQotICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMiwKLSAgICAweDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODIKLSAgICAtMHgxLmJiOWQzYmViOGM4NmFjMmQ3OGI5NDBmYzA5ZmY2OGI2cDIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgzCi0gICAgLTB4MS4wMDIwMDU1NjU1YTg5YjM3N2Q1ODAxZmQwOGZkOWYyZHAtMTAsCi0gICAgMHgxLmZmN2ZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODQKLSAgICAtMHgxLjAwMjAwNTU2NTU4ODkzMzU3Y2Q3ZTFmNDg2YmQwNzA1cC0xMCwKLSAgICAweDEuZmY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg1Ci0gICAgLTB4MS4wMDIwMDU1NjU1Njg4YjMzN2M1N2MxZWQwNGZjOWVlZHAtMTAsCi0gICAgMHgxLmZmODAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODYKLSAgICAtMHgxLjIwNTk2NmYyYjRmMTI2YjcyODEyMDNkNzA2NmVkMGRjcDMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg3Ci0gICAgLTB4MS4yMDU5NjZmMmI0ZjEyNWI3MjgxMjAzZDcwNjZhZDBkY3AzLAotICAgIDB4MS4wcC0xMwotICB9LAotICB7IC8vIEVudHJ5IDM4OAotICAgIC0weDEuMjA1OTY2ZjJiNGYxMjNiNzI4MTIwM2Q3MDY3YWQwZGNwMywKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODkKLSAgICAtMHgxLjAwMDQwMDE1NTZkNTYwODhkZGUwNzAzZjAzNGNhMDk2cC0xMywKLSAgICAweDEuZmZlZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5MAotICAgIC0weDEuMDAwNDAwMTU1NWQ1NTg4ODlkZGU3MDJiMDI4Yzk5OTZwLTEzLAotICAgIDB4MS5mZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTEKLSAgICAtMHgxLjAwMDQwMDE1NTRkNTUwODg1ZGRjNzAxZjAyNGM5ODk2cC0xMywKLSAgICAweDEuZmZmMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5MgotICAgIEhVR0VfVkFMLAotICAgIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkzCi0gICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTM5M2M3NjczMDA3ZTVkZDVlcDksCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDM5NAotICAgIDB4MS42MmU0MmZlZmEzOWVmMzRmOTNjNzY3MzAwN2U1YWQ1ZXA5LAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTUKLSAgICAweDEuMjUwZDA0OGU3YTFiY2RlZTQ5OWZhNWIwY2ExZGQyNDNwMCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk2Ci0gICAgMHgxLmNlNmJiMjVhYTEzMTUxMDlmZWVmYzg2MzE4YWI2ZTUycC0yLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTcKLSAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDBhYWFhYWFwLTUzLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAwLjAsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDM5OQotICAgIC0weDEuMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAxNTU1NTVwLTUzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAwCi0gICAgLTB4MS5lZWI5NWIwOTRjMTkyYjRhNTEzZTBiZjllZTQwZDhkNHAtMywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQwMQotICAgIC0weDEuNjIzMmJkZDdhYmNkMjNkNWU3ZmQ4MzdjNmZlMjNhNjdwOSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIC0weDEuNjIzMmJkZDdhYmNkMjNkZGU3ZmQ4MzdjNmZlMWZhNjdwOSwKLSAgICAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQwMwotICAgIC0weDEuNjIzMmJkZDdhYmNkMjNlNWU3ZmQ4MzdjNmZlMjNhNjdwOSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQwNAotICAgIC0weDEuNjIzMmJkZDdhYmNkMjNlZGU3ZmQ4MzdjNmZlMmZhNjdwOSwKLSAgICAweDEuZmZmZmZmZmZmZmZmY3AtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQwNQotICAgIC0weDEuNzNkZjliM2FkYjMzNGU3Yzg0OTliMWUwMTQ0NmFkZmFwOSwKLSAgICAweDEuMHAtMTA3MwotICB9LAotICB7IC8vIEVudHJ5IDQwNgotICAgIC0weDEuNzQzODU0NDZkNzFjMzYzOTVhN2VhM2I5ZTA0OGE3NzVwOSwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDQwNwotICAgIC1IVUdFX1ZBTCwKLSAgICAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDgKLSAgICAtSFVHRV9WQUwsCi0gICAgLTAuMAotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF9sb2csIGxvZ19pbnRlbCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplb2YoZ19sb2dfaW50ZWxfZGF0YSkvc2l6ZW9mKGxvZ19pbnRlbF9kYXRhX3QpOyBpKyspIHsKLSAgICBFWFBFQ1RfRE9VQkxFX0VRKGdfbG9nX2ludGVsX2RhdGFbaV0uZXhwZWN0ZWQsIGxvZyhnX2xvZ19pbnRlbF9kYXRhW2ldLmNhbGxfZGF0YSkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfbG9nZl90ZXN0LmNwcCBiL3Rlc3RzL21hdGhfbG9nZl90ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTVkMDkyMS4uMDAwMDAwMAotLS0gYS90ZXN0cy9tYXRoX2xvZ2ZfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMzI3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZmxvYXQgZXhwZWN0ZWQ7Ci0gIGZsb2F0IGNhbGxfZGF0YTsKLX0gbG9nZl9pbnRlbF9kYXRhX3Q7Ci0KLXN0YXRpYyBsb2dmX2ludGVsX2RhdGFfdCBnX2xvZ2ZfaW50ZWxfZGF0YVtdID0gewotICB7IC8vIEVudHJ5IDAKLSAgICAtMHgxLmJiOWQzYWViOGM4N2IwMmQ3NzYzZWJhOGI0OGExMDJkcDEsCi0gICAgMHgxLjAwMDAwMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEKLSAgICAweDEuZmZmZmZlMDAwMDAyYWFhYWE2YWFhYWIxMTExMTA2NjZwLTI0LAotICAgIDB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDIKLSAgICAtMHgxLmM2YjQ1Y2ViMDlhNWE3YzgyYWFjZDFjYWRmNzI1M2RjcDQsCi0gICAgMHgxLjAwMDAwOHAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzCi0gICAgLTB4MS5kMWNiN2NlYTg2ZDA5ZjYyNDc0YjE0YzQ1ZjRjYjY4MHAzLAotICAgIDB4MS4wMDAwMTBwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgNAotICAgIC0weDEuZmUyODAwZTg3YzM0N2Q3ODhmMzk0ZWYyZTkzZGI4NjhwNSwKLSAgICAweDEuMDAwMDgwcC05MgotICB9LAotICB7IC8vIEVudHJ5IDUKLSAgICAweDEuMWZmZmFmMDAxZTVmZjMyZjg1YzQzNmU1OWZlNzNiMWVwLTE3LAotICAgIDB4MS4wMDAwOTBwMAotICB9LAotICB7IC8vIEVudHJ5IDYKLSAgICAtMHgxLjBhMjdhM2ZmZmE3ZTBkMDMxZDlhNTVkMTU3YTBlOGM4cDEsCi0gICAgMHgxLjAwMDdwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3Ci0gICAgMHgxLjU0ZGU2ZWU3ODk4OWE5YWNmYzg3NWMxZDQ1ZTE2NDkwcC05LAotICAgIDB4MS4wMGFhYThwMAotICB9LAotICB7IC8vIEVudHJ5IDgKLSAgICAweDEuOGY0ODI2ZmZmNzg3YzU4ZmFiNTIwZTUwNTk1MmJiNTVwLTksCi0gICAgMHgxLjAwYzdmMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOQotICAgIC0weDEuNjE1MGNlZmZmYzgzYmEyZGE0M2Q4ZDc0NTVlZjJmZGVwLTEsCi0gICAgMHgxLjAwY2FwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMAotICAgIDB4MS5jZjJlM2ViMDkyOGJkZjVjYmYwNjRhMjdjNjQyMmM4NXAtOSwKLSAgICAweDEuMDBlOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEKLSAgICAweDEuZjBlZThhOWE2N2FiMzY1OTdmZmQzYzkzMzA0ZDBjYzVwLTksCi0gICAgMHgxLjAwZjhmMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIKLSAgICAweDEuZmJkZmM4OTdkMjM5ZmI0OWRjMWMzMWFmZWFlYTFlYTVwLTksCi0gICAgMHgxLjAwZmU2ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMKLSAgICAweDEuZmRjNWU0OGY4OTNlOGY0ODk2N2VlNGZmMWU4OTVkZDVwLTksCi0gICAgMHgxLjAwZmY2MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQKLSAgICAweDEuYmU3OWM3MDA1OGVjOGY5YTZjMDQwNDNmNTI3NjNjMzBwLTgsCi0gICAgMHgxLjAxYzBwMAotICB9LAotICB7IC8vIEVudHJ5IDE1Ci0gICAgMHgxLmUzYWZlZjAzNmM0NDJiZWE0NmQxMDVmNjg2NGVhNmYzcC04LAotICAgIDB4MS4wMWU1N2FwMAotICB9LAotICB7IC8vIEVudHJ5IDE2Ci0gICAgMHgxLmViOTJkYjAzZDg5ZjI1NzE5YWY5MDhlYmI2ZTdlNTEwcC04LAotICAgIDB4MS4wMWVkNmNwMAotICB9LAotICB7IC8vIEVudHJ5IDE3Ci0gICAgMHgxLmY4NzNiNTAyZjk0MjdjYjFhMTQ4NzIyNjdmZmFlMmY4cC04LAotICAgIDB4MS4wMWZhNjZwMAotICB9LAotICB7IC8vIEVudHJ5IDE4Ci0gICAgMHgxLmZjMTA4OTAzZmNkNGNkNDQ1ODAwY2IwNmMxNjRkMGIwcC04LAotICAgIDB4MS4wMWZlMGFwMAotICB9LAotICB7IC8vIEVudHJ5IDE5Ci0gICAgMHgxLmZlYTE2OGZhZDYyNzQyMzJhZDM5OThjM2UzOWU0M2Q5cC04LAotICAgIDB4MS4wMjAwYTBwMAotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLjBjZTRjOWZlM2VkZDdmNDVkYzM4ZDMwZjc2MzA1OTMxcC03LAotICAgIDB4MS4wMjFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMQotICAgIDB4MS4wZWUwOTZlMjc2NGY5ZjFlNjQ4NDA2MDc0MzZjYzA5M3AtNywKLSAgICAweDEuMDIyMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIKLSAgICAweDEuZmMwOThlZmZmZTQ5ZmUzMmMzNTc2ZGVmNmYzMDMzMzVwLTcsCi0gICAgMHgxLjAzZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMKLSAgICAtMHgxLjU4ZmVkNDAwMDE1ZmZmOTRhYzNiYjllYmJjODFjOGFlcC0xLAotICAgIDB4MS4wNGZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQKLSAgICAtMHgxLjU4YjFmMWZmZmZhNTZiNTViNmE3MjJlMGFiMmM1YWU2cC0xLAotICAgIDB4MS4wNTI2MzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNQotICAgIDB4MS5lNzIwYTMwMDNkMDk5NzMxYzg1Y2U2ZDY4OTU0NmE3NnAtNiwKLSAgICAweDEuMDdiOWM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNgotICAgIDB4MS5mNWE0Y2IwMDM1MzkzN2FkOGIxZTA3YTZhNDY5MTg5ZnAtNiwKLSAgICAweDEuMDdmNTljcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIC0weDEuYjAwODBmZmZkNTg4ZWM5MTg4MzcxNTczNmFhZTBmNTBwNCwKLSAgICAweDEuMDhwLTM5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjgKLSAgICAweDEuN2Y2NGE3MDAwMDJiNTRkNmZiNWQ2OWJjMzVjNWUyY2FwLTEsCi0gICAgMHgxLjBlYTdiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkKLSAgICAweDEuY2YyODI1MDc4ZDhiZDIxZjViNTU0MzM0MmU2NmI1NGRwLTUsCi0gICAgMHgxLjBlZTRwMAotICB9LAotICB7IC8vIEVudHJ5IDMwCi0gICAgMHgxLjg0NTY1NzAwMDM5MWYzNDBkYTc0NWQ5ZTVkMjgzMTY1cC0xLAotICAgIDB4MS4xMTQ4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMQotICAgIC0weDEuYjk1OTQyMDAwNGI1MWZiODBkODMyOTE3MmQ4OTIyZjZwMywKLSAgICAweDEuMTJjOHAtMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIC0weDEuM2NiMjI2Y2VmOWE2MTBjZjc3ZGMwMDY3OTAyYjQwOTlwLTEsCi0gICAgMHgxLjEzZDRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMwotICAgIDB4MS41ZTFhMjJmY2NkODdkNDBiNmU3ZWJjMDIyNjM3NGQ2MXAtNCwKLSAgICAweDEuMTZkOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAtMHgxLjM1ZmI3NmRkOGM3YTIxMWYzMzg0MmFmNDJjNTk5MTE0cC0xLAotICAgIDB4MS4xNzc4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUKLSAgICAtMHgxLjM1MDI4YWQ5ZDhjODVjMWZjYTkzZjM1NWQ0Nzk2YmMxcC0xLAotICAgIDB4MS4xOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmEzZjcxY2ZmMTRiODExMWFkZWQ5NzZjMjZkMTg5NjBlcC00LAotICAgIDB4MS4xYmE0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNwotICAgIC0weDEuNTVhMDYxZmZmOTBmYTZkZjc1NWY3YWVmNWFiOWY5NzhwMSwKLSAgICAweDEuMWJmNHAtNAotICB9LAotICB7IC8vIEVudHJ5IDM4Ci0gICAgLTB4MS5jZTVmZmRlNjZhOWFmNzgzYjg2NDQzMjA5ZWNlYzE2NHAzLAotICAgIDB4MS4xY2UwcC0yMQotICB9LAotICB7IC8vIEVudHJ5IDM5Ci0gICAgLTB4MS5jZTNhNTVlYTVkNDczMjJiZGJiZTBmZmY1NDc5Y2ExZXAzLAotICAgIDB4MS4xZTMwcC0yMQotICB9LAotICB7IC8vIEVudHJ5IDQwCi0gICAgMHgxLmUyMzc5MmVmNTI5NzFmZDZjNzJhOTlmNTk4YTBmYmFjcC00LAotICAgIDB4MS4xZmZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MQotICAgIDB4MS44ZmUwYzg1MzE0YmE1ZTA5ZTExNTUyOGMwMmVmNmUzMXAwLAotICAgIDB4MS4zMTJlNzhwMgotICB9LAotICB7IC8vIEVudHJ5IDQyCi0gICAgLTB4MS5mZGVkZmFkZTQ2NWQ1NzMzNmE5YjhhMzU2MmQzYjE3NnAtMiwKLSAgICAweDEuMzcyYzE2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMKLSAgICAtMHgxLmZkOWM5OGRlN2Q4OWI5ZTI5NTQ2YTliNzY5MmNhY2RkcC0yLAotICAgIDB4MS4zNzQ0ZDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NAotICAgIC0weDEuZmQ1NjU2ZGUwYzY2ZDQ3YjdiOWNmNGZhNjhiMzU2ZTRwLTIsCi0gICAgMHgxLjM3NWEyZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1Ci0gICAgLTB4MS5mY2E5OGNkZTBjZWIxOGQ2ZDdiYWI3NzA1ZDE0ZGUxN3AtMiwKLSAgICAweDEuMzc4ZWJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAtMHgxLmZjMGE1OGRlNGVhN2M5NDMyYWMwMGZmMGFkYjZkYjdlcC0yLAotICAgIDB4MS4zN2JmMzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NwotICAgIC0weDEuZWJkZWRlNTFkZTdkN2IzNTlhY2MyM2VjMzEyYWYyZDRwLTIsCi0gICAgMHgxLjNjYjU2YXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ4Ci0gICAgLTB4MS5kYWUwZGVkZmRkYTI1NjkzNzk2MzBhYmZmY2FmZmZmMnAtMiwKLSAgICAweDEuNDIwMjA4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkKLSAgICAtMHgxLmQ5MzBjYTUzYWU4ZTA2OTVkMTRlNDgzNzZiNTg0NjY4cC0yLAotICAgIDB4MS40MjhhMDRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MAotICAgIDB4MS5lYzM2NDljNzJjMDVhMDY5YzJkMDAwMDkwODUxYzYzOXAtMywKLSAgICAweDEuNDU4Y2JlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MQotICAgIDB4MS5mM2U2MzI1N2VjZDEyYjBkOWNjYzlmZjM0YzNmM2Q2ZXAtMywKLSAgICAweDEuNDZjNjI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIC0weDEuNjkzY2ZhMzBiNjMzYjFkMDNmNGVjZDg4YTc1MGFjNzlwLTIsCi0gICAgMHgxLjY3Y2QzYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzCi0gICAgLTB4MS42OTJiNWU0MjEwOGI3M2Q3NTk5NTE4MDc0Y2U4NjcwYXAtMiwKLSAgICAweDEuNjdkMzZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQKLSAgICAtMHgxLjYzYmJiYTE3NzFiODIwOGQ4NTFhYjM2Y2Q2ZDkzZjM4cC0yLAotICAgIDB4MS42OWJkYmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIDB4MS42MmUyNWVlYzg1NzgxZTYwY2I0OWI0ZjIxYmVjYWJkZnAtMiwKLSAgICAweDEuNmEwOTQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIDB4MS42MmUzY2U5ZWY4NmY2NTI0MzUxZWRkODczMTBlODc0M3AtMiwKLSAgICAweDEuNmEwOWM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIC0weDEuM2M2MDdhZGVkYjE2OGQ5ZDg5YzZiMjI2NWI0ZGQwYTRwLTIsCi0gICAgMHgxLjc3ZWEzOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU4Ci0gICAgLTB4MS4xOTQ0MzJmZmZjYjA5MmQ4OTE2NzBiN2Y4ZjYyOGZjNHA2LAotICAgIDB4MS43N2ZmZmVwLTEwMgotICB9LAotICB7IC8vIEVudHJ5IDU5Ci0gICAgMHgxLjE5M2VhNTAwMjU4MjcwOTMwZjhlN2Q3YWYyNDRkY2ZmcDAsCi0gICAgMHgxLjdmZmZmY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAtMHgxLmRhYzA4ZGUxZDI2YjBmNjllMWVkNThiZDNkOWZkODJicDMsCi0gICAgMHgxLjgyZmU5MnAtMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MQotICAgIDB4MS5jOGQ3MGRlMTE3Y2IyZmU0NTllZDY0Y2M2N2U1YWJjOXAzLAotICAgIDB4MS44MzA2MDhwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIDB4MS5mMjI3MmFlMzI1YTU3NTQ2ZjY5NDk2Y2YyNjFiZTA0NnAxLAotICAgIDB4MS44OHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMKLSAgICAweDEuYzljNWFkZTM0NzYzYzBiOWExODBkODYzYmZjN2YxMDZwMywKLSAgICAweDEuOGU3Njg2cDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQKLSAgICAtMHgxLmY5OTFkMTA4YWJlMWZjOWM5MWU5MWFlN2Y3MDdiZDRmcC0zLAotICAgIDB4MS44ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NQotICAgIC0weDEuODI3ZDRkMDAyZTVkMTMyMTVjZTVmOGRlODc1NjY5MzNwMSwKLSAgICAweDEuOGZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAtMHgxLmYzMDViZDA1OGIzYzllNjQxMDE0NzZlNWRlOTExZDgzcC0zLAotICAgIDB4MS45MTQ3ZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIC0weDEuZWU3ZWU1MDY1MDg3OGE4NGU5N2Y0Y2VjOTY3MzZiYzVwLTMsCi0gICAgMHgxLjkyMmIzMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgMHgxLmRjMDM5MTAwNWJmMGZjY2I5MmMyNjJlZWI2YTMwMGU0cDAsCi0gICAgMHgxLjlhZTI3OHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkKLSAgICAtMHgxLjI2NTBiNjAwMDAwYmUwYzU5MDJjN2ExNTQ5NTE2MWM1cDEsCi0gICAgMHgxLjlhZWVhMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDcwCi0gICAgLTB4MS43YmE5YjdmZmZmM2QxODlmNWExNzE0OTY5N2MxMmNlMnAxLAotICAgIDB4MS5hNWU5NzBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MQotICAgIC0weDEuMjA2MTcwZmZmYzllOGE5M2MxOTg2ZTIxNzg3YmVkNWFwMSwKLSAgICAweDEuYWU2ZWYwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzIKLSAgICAtMHgxLmQ3M2Q3ZmZjMWU3YWJjNDIyNWUzOTg3ODgyOGY4NjY2cDMsCi0gICAgMHgxLmFmZTI2Y3AtMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIC0weDEuMjUxNzQ3MDAwMDAwMDhkZGJlNzU1NzM5ZDYyNjM2NGZwMywKLSAgICAweDEuYjk3YzcwcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDc0Ci0gICAgLTB4MS4xY2E1YjUwMDAzNWZjMDdjMzg5YTllNWNiZmQ3OGVkYnAxLAotICAgIDB4MS5iYjJjMmNwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NQotICAgIC0weDEuMjRiMGViZmZmY2MzMmVlMWI5YjczOWUyYTRjN2QwNTlwMywKLSAgICAweDEuYmYwOTcwcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDc2Ci0gICAgLTB4MS42Njk5MTUwMDAyMzBkNzRmYTJkYTJmNDBiYmRmNDQ2OXAzLAotICAgIDB4MS5jN2ZmZmVwLTE3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzcKLSAgICAtMHgxLjk1NGFlZWRmNGQ1ZjVmYjdjNDc0YTM1NzIzYjRlNzA3cC0xLAotICAgIDB4MS5jZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OAotICAgIC0weDEuOTJlNzZhZmZmY2Q0NDliM2FjNWQ0MTJiNjIyZjc4YThwLTQsCi0gICAgMHgxLmQwMDhlNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc5Ci0gICAgLTB4MS5mZmEyNGYxYzEyMzNhOWY4ZThhZTY4NGVkZjg5MzEzZnAtNSwKLSAgICAweDEuZTEwMDQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAtMHgxLjExNzg4OWZmZmZmYmRmOGE1Y2Q3YzM0ZjcyNDZmM2NmcDEsCi0gICAgMHgxLmUzOWJiNHAtNAotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgLTB4MS44OTRhYzJkY2RkZTU0OWQwZDA5MjJiNWI0ZjU0ZTAyOHAtNSwKLSAgICAweDEuZTdmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAtMHgxLjM4MWQzNmZmZTYwZWIxZGZiMDY4NjU3NDA3NDIyM2U3cC01LAotICAgIDB4MS5lY2RjMWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MwotICAgIDB4MS5kMTQ5NzNlZGIzNjU2Yzc3MWUxOGVjYTg0YmM5NGM3NnA0LAotICAgIDB4MS5lZmZmZmVwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NAotICAgIC0weDEuZWZlYTE4ZmZmMTExNWU4MTYzNmY1M2I2NTY2NWUxNmVwLTYsCi0gICAgMHgxLmYwYmMyMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgLTB4MS5hNWI1ODRmZmRhZDMxMTQ3ZDExNDBiMTY5NDc0MGFkN3AtNiwKLSAgICAweDEuZjJmZDYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODYKLSAgICAtMHgxLjYyYjM1YWZmZGYwYTI0MjkyODRiMDA2YjY4MGJkMWJlcC02LAotICAgIDB4MS5mNTA4ZTRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NwotICAgIC0weDEuMGNiMTQwZmZmZjlmOGYxZTA2ZTdmOWFmMGE1MzFhNWJwMSwKLSAgICAweDEuZjYwMGRjcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAtMHgxLjBiZmU3MGViNDUxYWQwOWE3Y2I3NWMxZWVkZmE2MTUwcDEsCi0gICAgMHgxLmY4YzAxMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDg5Ci0gICAgLTB4MS43MGM4YzUwZGNlMjQ2ZGQ2YmNiMDQ2MWU3ZGM0OTM3ZXAtNywKLSAgICAweDEuZmE0NTIycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAKLSAgICAtMHgxLjQxNmE3MWI3NzNhMmMzZTM5ODBiMTFlZmQxYTE5N2I1cC04LAotICAgIDB4MS5mZDdlYmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIC0weDEuYzBjNjc0NjIxYzViNDc0YTQzMGUxMzU3MGM1ODAzODhwLTksCi0gICAgMHgxLmZlM2ZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDkyCi0gICAgLTB4MS4wNDg2M2NmZmZiYmY3ZWRiMTY3Y2I2MGRmM2YzZDU5OXAtOSwKLSAgICAweDEuZmVmYmJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTMKLSAgICAtMHgxLjBhNWRkZjAwMDA0ZWJmMmE2ZmVlZTk5ZDViZGRkZTM0cDEsCi0gICAgMHgxLmZmMzUzY3AtNAotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgLTB4MS5kODAzNjY0ODViNzQ3MjQ3YTQ1YmI5YTQ3MDE3OWRmMXAtMTUsCi0gICAgMHgxLmZmZjhhMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDk1Ci0gICAgLTB4MS5kMWNiN2ZlYTg2YzQ5ZjYzMDc0YjBkNDQ1ZmI2NTAxNHAzLAotICAgIDB4MS5mZmZmZjBwLTIyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYKLSAgICAweDEuZDFjYjdkZWE4NmJjOWY2MmRjYTA2MTk5YjUwNTNmMDNwMywKLSAgICAweDEuZmZmZmYwcDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAtMHgxLjAwMDAwMjAwMDAwNTU1NTU2NTU1NTU4ODg4ODkzMzMzcC0yMiwKLSAgICAweDEuZmZmZmY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgKLSAgICAtMHgxLjAwMDAwMTAwMDAwMTU1NTU1NzU1NTU1ODg4ODg4ZGRkcC0yMywKLSAgICAweDEuZmZmZmZjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwCi0gICAgLTB4MS42MmU0MzExNWE4ZmI0N2MzYTdjMmU3NmE4MGNjYTlhNXAtMiwKLSAgICAweDEuNmEwOWU2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxCi0gICAgLTB4MS5kYTM5MWE3MGQyOGEyNDY0MTYyNmY1ZTkxNTUzMjRiNXAtMywKLSAgICAweDEuOTYyYjYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyCi0gICAgLTB4MS4wNmZiZTZhNGUyNTI5NWY4MGZiMjI3NGFmZTZkM2JhY3AtMywKLSAgICAweDEuYzI0Y2RhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgLTB4MS4xZTBhNmQwNTM0MjVkM2Q2NTI4YWE3MTdlY2M5YTU3OHAtNSwKLSAgICAweDEuZWU2ZTU0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0Ci0gICAgMHgxLjllNTQ5YzM3NzlmMDkzNDUxODkyYTFmZTRlNjdiNTBlcC01LAotICAgIDB4MS4wZDQ3ZTZwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIDB4MS4wOGUwYjlmM2E3OTQ0YmFiM2VjYjU2ZDZhN2ZmMDNiNXAtMywKLSAgICAweDEuMjM1OGEycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYKLSAgICAweDEuOWU2NDVkNjBmZjE5ODk4NjQ3OTM0NmQxNjRlY2FkN2VwLTMsCi0gICAgMHgxLjM5Njk1ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3Ci0gICAgMHgxLjE0ZGQ2NzBjYWMwMjEyNTA2YmY3MmZiNzYyZDhhN2RicC0yLAotICAgIDB4MS40ZjdhMWFwMAotICB9LAotICB7IC8vIEVudHJ5IDEwOAotICAgIDB4MS41NjE4MTlhY2E0OWRlNmIxZDFjY2RhMTA5NWM3NDUwMnAtMiwKLSAgICAweDEuNjU4YWQ2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkKLSAgICAweDEuOTM2YTdjNDk2YzNlMjE0MDZhZjlmNGFjOWJlYWM2YTVwLTIsCi0gICAgMHgxLjdiOWI5MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEwCi0gICAgMHgxLmNkNDVhOGQ3ZTM0MDNmNTI3OGQ1ZTNkNTY2MzQ5Zjc1cC0yLAotICAgIDB4MS45MWFjNGVwMAotICB9LAotICB7IC8vIEVudHJ5IDExMQotICAgIDB4MS4wMjA0NDgzMTIxMWVkMDA2OGVmYTRjMmE4Yjk4NzBiZnAtMSwKLSAgICAweDEuYTdiZDBhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIKLSAgICAweDEuMWMwMWQ1ZjZkM2E1MGQzMWM0NWNiZmRkZDAyNzI3NjVwLTEsCi0gICAgMHgxLmJkY2RjNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzCi0gICAgMHgxLjM0YmRlNDZmZDg0ZmNhNDNiYTNmNDc5OWFjYWIxMGZmcC0xLAotICAgIDB4MS5kM2RlODJwMAotICB9LAotICB7IC8vIEVudHJ5IDExNAotICAgIDB4MS40YzU2MTgxMzZhMzIyMWQ4NDQ3NmI3ODM1M2ZhYmM4MHAtMSwKLSAgICAweDEuZTllZjNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUKLSAgICAweDEuNjJlNDI5ZWZhMzk1ZjM1NzgxYzc2NzA3ODdlNThjMmJwLTEsCi0gICAgMHgxLmZmZmZmYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2Ci0gICAgLTB4MS42MmU0MzExNWE4ZmI0N2MzYTdjMmU3NmE4MGNjYTlhNXAtMiwKLSAgICAweDEuNmEwOWU2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3Ci0gICAgLTB4MS4yNGNmZDA5NTE0YmFlOWUyMTUwMWQxYTI4YzM3ZDUxZXAtMiwKLSAgICAweDEuODBhYTg0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4Ci0gICAgLTB4MS5kNDkwMmE3ZjZhMWQxOGRhMjQxZGZmYjQyYTA4MThlZHAtMywKLSAgICAweDEuOTc0YjIycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgLTB4MS42NWQ1NjA3Y2M4NWJhYmEyNmUyZmFmNzg4NjVkYzk5MXAtMywKLSAgICAweDEuYWRlYmMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwCi0gICAgLTB4MS5mOTkxZDhmNmUyZjAxMTk0M2Q1YTZhNjBjZDY0NjAwMnAtNCwKLSAgICAweDEuYzQ4YzVlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxCi0gICAgLTB4MS4zMWI5YTk5NTUwMmQ1OTI0MTUwMGNkMWNlOTU1ZjVjNHAtNCwKLSAgICAweDEuZGIyY2ZjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIyCi0gICAgLTB4MS5jY2I3OTk0YmRhODE4YzI2Y2MxNWZjYTY2MGYzNjRlY3AtNiwKLSAgICAweDEuZjFjZDlhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgMHgxLjBiOTQ5MmJkOTk1NzBlOGEyYTJmNWE3ZjU5NjQ0YjQycC02LAotICAgIDB4MS4wNDM3MWNwMAotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS5lMjcwNWU5Y2M1NTRkOGI1NjU0MzNjOGZhZDJkYjE2NHAtNSwKLSAgICAweDEuMGY4NzZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAweDEuOTg2ZDMyMTY4OGIwNzRhMjFlYjI2YjQxNjc5ZWUzMDlwLTQsCi0gICAgMHgxLjFhZDdiY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgMHgxLjFjODk5MTlmYjIwOGViZGEyNzVkNmZlZTc1NTc3YTQzcC0zLAotICAgIDB4MS4yNjI4MGNwMAotICB9LAotICB7IC8vIEVudHJ5IDEyNwotICAgIDB4MS42OWQ0NjNkYjVkMGQ4Y2JjNWRhOGJkMmMxZjVkMjk1M3AtMywKLSAgICAweDEuMzE3ODVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgKLSAgICAweDEuYjQ0Zjg3MzgxNjExYWIyODA2ZDZmMDBkMjEzZGUyY2ZwLTMsCi0gICAgMHgxLjNjYzhhY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI5Ci0gICAgMHgxLmZjMmQ4MGU1MzExYjNmN2UwNWYyNmI5NjMwNDRlYTA4cC0zLAotICAgIDB4MS40ODE4ZmNwMAotICB9LAotICB7IC8vIEVudHJ5IDEzMAotICAgIDB4MS4yMGNkZDkyNjJjNTlhNzcyNjY4OWY0ZmU1ZmZhNThmZXAtMiwKLSAgICAweDEuNTM2OTRjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEKLSAgICAweDEuNDI2MTgyZGIyMGUyM2QwYjQ3M2FlMWMyZDE5NzVjM2ZwLTIsCi0gICAgMHgxLjVlYjk5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgMHgxLjYyZTQyZWM5OWU0MjllZWI3ZmNiZTZmNThlZmYzMTE3cC0yLAotICAgIDB4MS42YTA5ZTZwMAotICB9LAotICB7IC8vIEVudHJ5IDEzMwotICAgIC0weDEuMjY5NjIxMTM0ZGI5Mjc4M2JlYjc2NzZjMGFhOWMyYTNwLTIsCi0gICAgMHgxLjgwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgLTB4MS44OWZhNDg0ZDM1NWI1ZTE4NmY1NjYyYjNkYTNlNzQ1YnAtMywKLSAgICAweDEuYTY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1Ci0gICAgLTB4MS5hZjhlODkyZDE1ZGU4N2UyZTllNTlkZmY1YzA2MzNiZXAtNCwKLSAgICAweDEuY2NjY2NjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2Ci0gICAgLTB4MS45ZWNlYmNiNTk3ZWExYmI0M2Q4OTZmNTg0NzU5NzQ0YXAtNiwKLSAgICAweDEuZjMzMzMycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM3Ci0gICAgMHgxLjhmYjA0YjhkYTY1Y2ViODVhMmVkYjdkMGZmMGFkMmQzcC01LAotICAgIDB4MS4wY2NjY2NwMAotICB9LAotICB7IC8vIEVudHJ5IDEzOAotICAgIDB4MS5lMjcwNzZlMmFmMmU1ZTllYTg3ZmZlMWZlOWUxNTVkYnAtNCwKLSAgICAweDEuMjBwMAotICB9LAotICB7IC8vIEVudHJ5IDEzOQotICAgIDB4MS43NTY1MDY3MzllYmFmMWNkNTg4NTVkMjMxZTc3N2E1OXAtMywKLSAgICAweDEuMzMzMzM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAKLSAgICAweDEuZjE4ZGNlMjg5OGY1YmE5MTlkODI1ZDk2OTZjNmM3NzRwLTMsCi0gICAgMHgxLjQ2NjY2OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgMHgxLjMzNGVhNTY0NDI0MDEzYjc3MzlhZmJjOTQ3ODc0MWI1cC0yLAotICAgIDB4MS41OTk5OWNwMAotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIDB4MS42YWFjMGQwZmUzODcxYWI2MGQ3MGQ0MWU5NTRjMmJkM3AtMiwKLSAgICAweDEuNmNjY2QwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAweDEuOWYzMjNlY2JmOTg0YmYyYjY4ZDc2NmY0MDUyMjE4MTlwLTIsCi0gICAgMHgxLjgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDQKLSAgICAwLjAsCi0gICAgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ1Ci0gICAgMHgxLjg2NjNmZDY1MzhjODcyMzQ5ZWMxYTg1ZTA1ZWM1ZmI1cC00LAotICAgIDB4MS4xOTk5OWFwMAotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIDB4MS43NTY1MDY3MzllYmFmMWNkNTg4NTVkMjMxZTc3N2E1OXAtMywKLSAgICAweDEuMzMzMzM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAweDEuMGNhOTNiNmY1NmFmYmFjZDA3OTczYjBhM2M2N2ZjNDdwLTIsCi0gICAgMHgxLjRjY2NjZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ4Ci0gICAgMHgxLjU4OGMzMjIzN2M2YWVmZTk2ZTFkYjI3YzQ2NzEwZDM5cC0yLAotICAgIDB4MS42NjY2NjhwMAotICB9LAotICB7IC8vIEVudHJ5IDE0OQotICAgIDB4MS45ZjMyNDQyMTRlZDY4NjQ3ZGRjNzk5ODIzZTA1YTliMXAtMiwKLSAgICAweDEuODAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTAKLSAgICAweDEuZTE0OGE3YTI3MjY4NTk0ZGZkNGRkNmMzMDFmZWNlNzlwLTIsCi0gICAgMHgxLjk5OTk5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgMHgxLjBmYWU4NGRjOTVlMWE3ZDk4OTc0NzJkNTVhNzU2M2U4cC0xLAotICAgIDB4MS5iMzMzMzZwMAotICB9LAotICB7IC8vIEVudHJ5IDE1MgotICAgIDB4MS4yY2YyNjMzYmM3ZmM5ZDlkOTkyOTMxOWFhOTE4ODIyY3AtMSwKLSAgICAweDEuY2NjY2QwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTMKLSAgICAweDEuNDhhMTE2NWRmMjc0YWI3OTYzZjg1NTBkY2JmYjZhZWJwLTEsCi0gICAgMHgxLmU2NjY2YXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAotICAgIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDE1NQotICAgIDB4MS4xNTQyNDU3MzM3ZDQyZTFjNmI3M2M4OWQ4NjJiYTE3MXA2LAotICAgIDB4MS5wMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU2Ci0gICAgMHgxLjE1YTNkZTcyOTEyMjYwMzhmODliNzkwNzlkYWQxYzg5cDYsCi0gICAgMHgxLjE5OTk5YXAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTcKLSAgICAweDEuMTVmY2Y3ZjY3MWEzOGI5NTUyMjAwYjRjMTdiYWRkMmZwNiwKLSAgICAweDEuMzMzMzM0cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDE1OAotICAgIDB4MS4xNjRlZWVhZWE3MmFkZGQ3Mzg3YjVmZDg5MDY4MDk2ZXA2LAotICAgIDB4MS40Y2NjY2VwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLjE2OWFkMWE1NWI1MDk5MGM1NGUxZTY1MDAyNzIxMjdmcDYsCi0gICAgMHgxLjY2NjY2OHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjAKLSAgICAweDEuMTZlMTc3Yjc1OTIzMDRhMmIzNTE5MDM3MDg2OWE3MWJwNiwKLSAgICAweDEuODAwMDAycDEwMAotICB9LAotICB7IC8vIEVudHJ5IDE2MQotICAgIDB4MS4xNzIzOGUxYWRhNDY5Njc1Yjk3MTE2NzQ0OTJkYTA0MHA2LAotICAgIDB4MS45OTk5OWNwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYyCi0gICAgMHgxLjE3NjFhMjdjZjBmZmYxNmMxZTg2YjE4MzMwZTA4YzM5cDYsCi0gICAgMHgxLmIzMzMzNnAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjMKLSAgICAweDEuMTc5YzJhMzlhZjY0Mjc1N2E2YTYxYjAwYmI3ZGQyNzZwNiwKLSAgICAweDEuY2NjY2QwcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDE2NAotICAgIDB4MS4xN2QzODc5ZmYzYjkxNzczNWUzYmI5NDdhMWMzOTg0N3A2LAotICAgIDB4MS5lNjY2NmFwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY1Ci0gICAgMHgxLjE4MDgwZGQzMTcxYjZjMDMxYTliNTc2YmU2M2I2ZDRjcDYsCi0gICAgMHgxLnAxMDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjYKLSAgICAtMHgxLjAwMDAwODAwMDA1NTU1NTk1NTU1ODg4ODhiMzMzMzU3cC0yMCwKLSAgICAweDEuZmZmZmUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY3Ci0gICAgLTB4MS4wMDAwMDQwMDAwMTU1NTU1ZDU1NTU4ODg4ODlkZGRkZXAtMjEsCi0gICAgMHgxLmZmZmZmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE2OAotICAgIDAuMCwKLSAgICAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjkKLSAgICAweDEuZmZmZmY4MDAwMDJhYWFhOWFhYWFiMTExMTBlNjY2NjdwLTIyLAotICAgIDB4MS4wMDAwMDhwMAotICB9LAotICB7IC8vIEVudHJ5IDE3MAotICAgIDB4MS5mZmZmZjAwMDAwYWFhYWEyYWFhYjExMTEwYmJiYmMwNHAtMjEsCi0gICAgMHgxLjAwMDAxMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcxCi0gICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE3MgotICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzMKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc0Ci0gICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzYKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc3Ci0gICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE3OAotICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzkKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgwCi0gICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE4MQotICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODIKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgzCi0gICAgLTB4MS4wMDAwMDA4MDAwMDA1NTU1NTU5NTU1NTU4ODg4ODhiM3AtMjQsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODUKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg2Ci0gICAgMHgxLjYyZTQyZmViYTM5ZWYxNTc5M2M2MTFkYWIxOTA5ODA4cDYsCi0gICAgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODcKLSAgICAtMHgxLjlkMWQ5ZmNjZjQ3NzA3NDNmMjA2MWUxZGU5MzFhNjUwcDYsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTg4Ci0gICAgLTB4MS42MmU0MzZiZGQwOWE4NzYxOTQ5NDBiOTZjYjI4ZmQ3ZnAtMiwKLSAgICAweDEuNmEwOWU0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg5Ci0gICAgLTB4MS42MmU0MzExNWE4ZmI0N2MzYTdjMmU3NmE4MGNjYTlhNXAtMiwKLSAgICAweDEuNmEwOWU2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkwCi0gICAgLTB4MS42MmU0MmI2ZDgxNjQwODI1YmY4OWQ4YjhkOWQwZmY1OHAtMiwKLSAgICAweDEuNmEwOWU4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkxCi0gICAgMHgxLjYyZTQyOTIxNzZhMzVmNGQ5MmZhYzJjOTQ0YTJkZDNkcC0yLAotICAgIDB4MS42YTA5ZTRwMAotICB9LAotICB7IC8vIEVudHJ5IDE5MgotICAgIDB4MS42MmU0MmVjOTllNDI5ZWViN2ZjYmU2ZjU4ZWZmMzExN3AtMiwKLSAgICAweDEuNmEwOWU2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTMKLSAgICAweDEuNjJlNDM0NzFjNWQ5ZGU4OTY4MDRmNWE3MzVmYWRiNjVwLTIsCi0gICAgMHgxLjZhMDllOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk0Ci0gICAgLTB4MS42MmU0MzFlZmEzOWZmMzU3OTQ3MjExZGIzMjkwOTg2ZnAtMSwKLSAgICAweDEuZmZmZmZlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk1Ci0gICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAtMSwKLSAgICAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk2Ci0gICAgLTB4MS42MmU0MmJlZmEzYTJmMzU3OGU3MjExZTJiMjkwOGIzY3AtMSwKLSAgICAweDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk3Ci0gICAgLTB4MS4yNjk2MjY2OGEzMTIwYjExZmFjNDBiYzdiMjJiNWE4ZHAtMiwKLSAgICAweDEuN2ZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk4Ci0gICAgLTB4MS4yNjk2MjExMzRkYjkyNzgzYmViNzY3NmMwYWE5YzJhM3AtMiwKLSAgICAweDEuODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTkKLSAgICAtMHgxLjI2OTYxYmJkZjg2NzYwNjc0OWM3MzRkZGQxYzYzMTBicC0yLAotICAgIDB4MS44MDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAweDEuOWYzMjM5NzZhNDJiZGI5ZDJjY2FjMjk4NWRhMDgwMmZwLTIsCi0gICAgMHgxLjdmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAxCi0gICAgMHgxLjlmMzIzZWNiZjk4NGJmMmI2OGQ3NjZmNDA1MjIxODE5cC0yLAotICAgIDB4MS44MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAyCi0gICAgMHgxLjlmMzI0NDIxNGVkNjg2NDdkZGM3OTk4MjNlMDVhOWIxcC0yLAotICAgIDB4MS44MDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDIwMwotICAgIDB4MS41NGRlNmVlNzg5ODlhOWFjZmM4NzVjMWQ0NWUxNjQ5MHAtOSwKLSAgICAweDEuMDBhYWE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDQKLSAgICAweDEuNTRlMjZjM2VhYjZlYTI0MTE1YTRlY2JjNmMyMWMzZGVwLTksCi0gICAgMHgxLjAwYWFhYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA1Ci0gICAgMHgxLjU0ZTY2OTk1YzU1ZTNhZDQwY2IyYjAxZDc3YjhiNjNmcC05LAotICAgIDB4MS4wMGFhYWNwMAotICB9LAotICB7IC8vIEVudHJ5IDIwNgotICAgIDB4MS42MmU0MmVlZmEzOWU3MzU3OTM3MjExZGE3MjkwOTdkNXAwLAotICAgIDB4MS5mZmZmZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDIwNwotICAgIDB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAwLAotICAgIDB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDIwOAotICAgIDB4MS42MmU0MzFlZmEzOWNmMzU3OTY3MjExZDZiMjkwOWU2ZnAwLAotICAgIDB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDIwOQotICAgIDB4MS42MmU0MmRlZmEzOWRmMzU3OTMxY2JjODRkZDNiNDI0ZHAtMSwKLSAgICAweDEuZmZmZmZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTAKLSAgICAweDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwLTEsCi0gICAgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjExCi0gICAgMHgxLjYyZTQzM2VmYTM5YWYzNTc5OTFjYmM3ZDVkM2I0ZjgwcC0xLAotICAgIDB4MS4wMDAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDIxMgotICAgIC0weDEuMDAwMDAwODAwMDAwNTU1NTU1OTU1NTU1ODg4ODg4YjNwLTI0LAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTMKLSAgICAwLjAsCi0gICAgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgMHgxLmZmZmZmZTAwMDAwMmFhYWFhNmFhYWFiMTExMTEwNjY2cC0yNCwKLSAgICAweDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTUKLSAgICAtMHgxLjYyZTQzMWVmYTM5ZmYzNTc5NDcyMTFkYjMyOTA5ODZmcC0xLAotICAgIDB4MS5mZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTYKLSAgICAtMHgxLjYyZTQyZmVmYTM5ZWYzNTc5M2M3NjczMDA3ZTVlZDVlcC0xLAotICAgIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTcKLSAgICAtMHgxLjYyZTQyYmVmYTNhMmYzNTc4ZTcyMTFlMmIyOTA4YjNjcC0xLAotICAgIDB4MS4wMDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAtMHgxLjYyZTQzMGVmYTM5ZjczNTc5NDFjYmM4NTlkM2I0MmU3cDAsCi0gICAgMHgxLmZmZmZmZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDIxOQotICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMCwKLSAgICAweDEucC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIwCi0gICAgLTB4MS42MmU0MmRlZmEzYTBmMzU3OTExY2JjODk1ZDNiM2M0ZHAwLAotICAgIDB4MS4wMDAwMDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjEKLSAgICAtMHgxLjBhMmIyNDczYmFiNzc2ODFhZjAwMzgwZWQwOTcxY2NicDEsCi0gICAgMHgxLmZmZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIC0weDEuMGEyYjIzZjNiYWI3MzY4MWFlZDU4ZDY0MDVlYzcyMDZwMSwKLSAgICAweDEucC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIzCi0gICAgLTB4MS4wYTJiMjJmM2JhYjgzNjgxYWQ4MDM4MTBiMDk3MTk3ZXAxLAotICAgIDB4MS4wMDAwMDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjQKLSAgICAtMHgxLjYyZTQzMDZmYTM5ZjMzNTc5M2YyMTFkYWQyOTA5ODIycDEsCi0gICAgMHgxLmZmZmZmZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDIyNQotICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMSwKLSAgICAweDEucC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgLTB4MS42MmU0MmVlZmEzOWZmMzU3OTI3MjExZGNiMjkwOTRkNXAxLAotICAgIDB4MS4wMDAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjcKLSAgICAtMHgxLmJiOWQzYzZiOGM4NmYwMmQ3OGUzZWJhNmQ0OGExMzdhcDEsCi0gICAgMHgxLmZmZmZmZXAtNgotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIC0weDEuYmI5ZDNiZWI4Yzg2YjAyZDc4Yjk0MGZjMDlkZjY4YjZwMSwKLSAgICAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI5Ci0gICAgLTB4MS5iYjlkM2FlYjhjODdiMDJkNzc2M2ViYThiNDhhMTAyZHAxLAotICAgIDB4MS4wMDAwMDJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzAKLSAgICAtMHgxLjBhMmIyNDMzYmFiNzU2ODFhZWVhZTJiOTZiNDFjNzY5cDIsCi0gICAgMHgxLmZmZmZmZXAtNwotICB9LAotICB7IC8vIEVudHJ5IDIzMQotICAgIC0weDEuMGEyYjIzZjNiYWI3MzY4MWFlZDU4ZDY0MDVlYzcyMDZwMiwKLSAgICAweDEucC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMyCi0gICAgLTB4MS4wYTJiMjM3M2JhYjdiNjgxYWUyYWUyYmE1YjQxYzVjMnAyLAotICAgIDB4MS4wMDAwMDJwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzMKLSAgICAtMHgxLjM2ODdhYTMxYWYyYjM0ZWNhMTYzY2Y5ZjZjM2U4NTE0cDIsCi0gICAgMHgxLmZmZmZmZXAtOAotICB9LAotICB7IC8vIEVudHJ5IDIzNAotICAgIC0weDEuMzY4N2E5ZjFhZjJiMTRlY2ExNGU3YTRhMDZlOTJmYjJwMiwKLSAgICAweDEucC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM1Ci0gICAgLTB4MS4zNjg3YTk3MWFmMmI5NGVjYTBhM2NmYTA1YzNlODM2ZXAyLAotICAgIDB4MS4wMDAwMDJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzYKLSAgICAtMHgxLjYyZTQzMDJmYTM5ZjEzNTc5M2RjYmM4NTZkM2I0MmMwcDIsCi0gICAgMHgxLmZmZmZmZXAtOQotICB9LAotICB7IC8vIEVudHJ5IDIzNwotICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMiwKLSAgICAweDEucC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM4Ci0gICAgLTB4MS42MmU0MmY2ZmEzOWY3MzU3OTMxY2JjODY1ZDNiNDExYXAyLAotICAgIDB4MS4wMDAwMDJwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzkKLSAgICAtMHgxLjhmNDBiNjJkOTgxMmYxYzI4NjU1YTk2YjZlMzgwMDZjcDIsCi0gICAgMHgxLmZmZmZmZXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDAKLSAgICAtMHgxLjhmNDBiNWVkOTgxMmQxYzI4NjQwNTQxNjA4ZTJhYjBhcDIsCi0gICAgMHgxLnAtOQotICB9LAotICB7IC8vIEVudHJ5IDI0MQotICAgIC0weDEuOGY0MGI1NmQ5ODEzNTFjMjg1OTVhOTZjNWUzN2ZlYzZwMiwKLSAgICAweDEuMDAwMDAycC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQyCi0gICAgLTB4MS5iYjlkM2MyYjhjODZkMDJkNzhjZTk2NTE2ZjM0YmUxOHAyLAotICAgIDB4MS5mZmZmZmVwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgLTB4MS5iYjlkM2JlYjhjODZiMDJkNzhiOTQwZmMwOWRmNjhiNnAyLAotICAgIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ0Ci0gICAgLTB4MS5iYjlkM2I2YjhjODczMDJkNzgwZTk2NTI1ZjM0YmM3MXAyLAotICAgIDB4MS4wMDAwMDJwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ1Ci0gICAgLTB4MS4yMDU5NjcxMmI0ZjEzNWI3MjgxY2FlODFiOTE1N2I4ZHAzLAotICAgIDB4MS5mZmZmZmVwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ2Ci0gICAgLTB4MS4yMDU5NjZmMmI0ZjEyNWI3MjgxMjAzZDcwNjZhZDBkY3AzLAotICAgIDB4MS5wLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ3Ci0gICAgLTB4MS4yMDU5NjZiMmI0ZjE2NWI3MjdiY2FlODIzMTE1N2FiYXAzLAotICAgIDB4MS4wMDAwMDJwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgLTB4MS4yMDU5NjcxMmI0ZjEzNWI3MjgxY2FlODFiOTE1N2I4ZHAzLAotICAgIDB4MS5mZmZmZmVwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ5Ci0gICAgLTB4MS4yMDU5NjZmMmI0ZjEyNWI3MjgxMjAzZDcwNjZhZDBkY3AzLAotICAgIDB4MS5wLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUwCi0gICAgLTB4MS4yMDU5NjZiMmI0ZjE2NWI3MjdiY2FlODIzMTE1N2FiYXAzLAotICAgIDB4MS4wMDAwMDJwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgLTB4MS4wYTJiMjQ3M2JhYjc3NjgxYWYwMDM4MGVkMDk3MWNjYnAxLAotICAgIDB4MS5mZmZmZmVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTIKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDEsCi0gICAgMHgxLnAtMwotICB9LAotICB7IC8vIEVudHJ5IDI1MwotICAgIC0weDEuMGEyYjIyZjNiYWI4MzY4MWFkODAzODEwYjA5NzE5N2VwMSwKLSAgICAweDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU0Ci0gICAgLTB4MS4xMTc4ZjE0NzEwOTYxYmVkYWY5Zjc5OWE1M2FmYzMzZHAtMywKLSAgICAweDEuYmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgLTB4MS4xMTc4ZTgyMjdlNDdiZGUzMzhiNDFmYzcyZGU4MWUzYnAtMywKLSAgICAweDEuYzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAtMHgxLjExNzhkZWZkZWMwM2QyYzkxNTYwNDg5Nzk3MWI3NjU4cC0zLAotICAgIDB4MS5jMDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTcKLSAgICAtMHgxLjYyZTQzMDZmYTM5ZjMzNTc5M2YyMTFkYWQyOTA5ODIycDEsCi0gICAgMHgxLmZmZmZmZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDI1OAotICAgIC0weDEuNjJlNDJmZWZhMzllZjM1NzkzYzc2NzMwMDdlNWVkNWVwMSwKLSAgICAweDEucC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU5Ci0gICAgLTB4MS42MmU0MmVlZmEzOWZmMzU3OTI3MjExZGNiMjkwOTRkNXAxLAotICAgIDB4MS4wMDAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAtMHgxLjA4NTk5YzZhZjRiYTkzYzY5M2IxMzEyMmY2ODI0YThicC00LAotICAgIDB4MS5kZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAtMHgxLjA4NTk4YjU5ZTNhMDY4OGEzZmQ5YmY1MDMzNzJjMTJmcC00LAotICAgIDB4MS5lMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI2MgotICAgIC0weDEuMDg1OTdhNDhkMjk4NzFhNDY0OWQwYTY2Y2NiZDVlZGJwLTQsCi0gICAgMHgxLmUwMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDI2MwotICAgIC0weDEuYmI5ZDNjNmI4Yzg2ZjAyZDc4ZTNlYmE2ZDQ4YTEzN2FwMSwKLSAgICAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY0Ci0gICAgLTB4MS5iYjlkM2JlYjhjODZiMDJkNzhiOTQwZmMwOWRmNjhiNnAxLAotICAgIDB4MS5wLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjUKLSAgICAtMHgxLmJiOWQzYWViOGM4N2IwMmQ3NzYzZWJhOGI0OGExMDJkcDEsCi0gICAgMHgxLjAwMDAwMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDI2NgotICAgIC0weDEuMDQxNWY5YTZiNjY1ZDdhN2I5OTU4ZDdkMjhmNjJhNzRwLTUsCi0gICAgMHgxLmVmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI2NwotICAgIC0weDEuMDQxNWQ4OWU3NDQ0NDcwMTczYzc1ZDRkODg4OWRlMGVwLTUsCi0gICAgMHgxLmYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgLTB4MS4wNDE1Yjc5NjMyNDRjZjY1OTE5YTU3OGIyZGFhMjlkNXAtNSwKLSAgICAweDEuZjAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY5Ci0gICAgLTB4MS4wYTJiMjQzM2JhYjc1NjgxYWVlYWUyYjk2YjQxYzc2OXAyLAotICAgIDB4MS5mZmZmZmVwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzAKLSAgICAtMHgxLjBhMmIyM2YzYmFiNzM2ODFhZWQ1OGQ2NDA1ZWM3MjA2cDIsCi0gICAgMHgxLnAtNgotICB9LAotICB7IC8vIEVudHJ5IDI3MQotICAgIC0weDEuMGEyYjIzNzNiYWI3YjY4MWFlMmFlMmJhNWI0MWM1YzJwMiwKLSAgICAweDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcyCi0gICAgLTB4MS4wMjA1YTY4ZDQ1ZTY3ZWQwMWUxMGUzMjJiZDQzYTE3MHAtNiwKLSAgICAweDEuZjdmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjczCi0gICAgLTB4MS4wMjA1NjU4OTM1ODQ3NDlmMjNhMTA1YjljN2JiOWE2ZnAtNiwKLSAgICAweDEuZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzQKLSAgICAtMHgxLjAyMDUyNDg1MjU2NDc2YWY2ZjRkYWFiZDEzOWI1ZTU3cC02LAotICAgIDB4MS5mODAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzUKLSAgICAtMHgxLjM2ODdhYTMxYWYyYjM0ZWNhMTYzY2Y5ZjZjM2U4NTE0cDIsCi0gICAgMHgxLmZmZmZmZXAtOAotICB9LAotICB7IC8vIEVudHJ5IDI3NgotICAgIC0weDEuMzY4N2E5ZjFhZjJiMTRlY2ExNGU3YTRhMDZlOTJmYjJwMiwKLSAgICAweDEucC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc3Ci0gICAgLTB4MS4zNjg3YTk3MWFmMmI5NGVjYTBhM2NmYTA1YzNlODM2ZXAyLAotICAgIDB4MS4wMDAwMDJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzgKLSAgICAtMHgxLjAxMDFkODVhOTIzMDI1YjU0Y2JhYWU0OTlkNWU0MGJmcC03LAotICAgIDB4MS5mYmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzkKLSAgICAtMHgxLjAxMDE1NzU4OGRlNzEyOGNjYzVhODJmOWRhMDBmNDhicC03LAotICAgIDB4MS5mY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDI4MAotICAgIC0weDEuMDEwMGQ2NTY4YTIwMDU3NDc0NWIzOWYwYWFlMjY2ODVwLTcsCi0gICAgMHgxLmZjMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDI4MQotICAgIC0weDEuNjJlNDMwMmZhMzlmMTM1NzkzZGNiYzg1NmQzYjQyYzBwMiwKLSAgICAweDEuZmZmZmZlcC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjgyCi0gICAgLTB4MS42MmU0MmZlZmEzOWVmMzU3OTNjNzY3MzAwN2U1ZWQ1ZXAyLAotICAgIDB4MS5wLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODMKLSAgICAtMHgxLjYyZTQyZjZmYTM5ZjczNTc5MzFjYmM4NjVkM2I0MTFhcDIsCi0gICAgMHgxLjAwMDAwMnAtOAotICB9LAotICB7IC8vIEVudHJ5IDI4NAotICAgIC0weDEuMDA4MTU2OTY4YTM1NWE2OGYyYmU5YjAzNTc3MmM5YzNwLTgsCi0gICAgMHgxLmZkZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI4NQotICAgIC0weDEuMDA4MDU1OTU4OGIzNTdlNTk4ZTMzZDhkOWRiMzdhMjlwLTgsCi0gICAgMHgxLmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg2Ci0gICAgLTB4MS4wMDdmNTQ5NDg4MzM1ODY2NDQwZGU3YTFmMjA4NDczNnAtOCwKLSAgICAweDEuZmUwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg3Ci0gICAgLTB4MS44ZjQwYjYyZDk4MTJmMWMyODY1NWE5NmI2ZTM4MDA2Y3AyLAotICAgIDB4MS5mZmZmZmVwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgLTB4MS44ZjQwYjVlZDk4MTJkMWMyODY0MDU0MTYwOGUyYWIwYXAyLAotICAgIDB4MS5wLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAtMHgxLjhmNDBiNTZkOTgxMzUxYzI4NTk1YTk2YzVlMzdmZWM2cDIsCi0gICAgMHgxLjAwMDAwMnAtOQotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIC0weDEuMDA0MjE2NWRkOWNhZmY0MTliMWVjY2RmNzIwYTM2ZDJwLTksCi0gICAgMHgxLmZlZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI5MQotICAgIC0weDEuMDA0MDE1NWQ1ODg5ZGU3MDY3MWVlZWMwYmZjZWZlNTNwLTksCi0gICAgMHgxLmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgLTB4MS4wMDNlMTQ1Y2Q5NGFiZjIwMzNiZjcxZGMzMDI4NTIwY3AtOSwKLSAgICAweDEuZmYwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkzCi0gICAgLTB4MS5iYjlkM2MyYjhjODZkMDJkNzhjZTk2NTE2ZjM0YmUxOHAyLAotICAgIDB4MS5mZmZmZmVwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk0Ci0gICAgLTB4MS5iYjlkM2JlYjhjODZiMDJkNzhiOTQwZmMwOWRmNjhiNnAyLAotICAgIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk1Ci0gICAgLTB4MS5iYjlkM2I2YjhjODczMDJkNzgwZTk2NTI1ZjM0YmM3MXAyLAotICAgIDB4MS4wMDAwMDJwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk2Ci0gICAgLTB4MS4wMDI0MDY1Njk3OTk5Nzk3ZjM3N2NiODUyNzUwMjQwYnAtMTAsCi0gICAgMHgxLmZmN2ZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI5NwotICAgIC0weDEuMDAyMDA1NTY1NTg4OTMzNTdjZDdlMWY0ODZiZDA3MDVwLTEwLAotICAgIDB4MS5mZjgwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgLTB4MS4wMDFjMDQ1NjE3Nzk4ZjkzNDY0YzAwNjdhN2VhYWU0ZnAtMTAsCi0gICAgMHgxLmZmODAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDI5OQotICAgIC0weDEuMjA1OTY3MTJiNGYxMzViNzI4MWNhZTgxYjkxNTdiOGRwMywKLSAgICAweDEuZmZmZmZlcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIC0weDEuMjA1OTY2ZjJiNGYxMjViNzI4MTIwM2Q3MDY2YWQwZGNwMywKLSAgICAweDEucC0xMwotICB9LAotICB7IC8vIEVudHJ5IDMwMQotICAgIC0weDEuMjA1OTY2YjJiNGYxNjViNzI3YmNhZTgyMzExNTdhYmFwMywKLSAgICAweDEuMDAwMDAycC0xMwotICB9LAotICB7IC8vIEVudHJ5IDMwMgotICAgIC0weDEuMDAyNDAxMTU2ZGQ2OThhMTRhMTkzODU3YjZiMmUyYmRwLTEzLAotICAgIDB4MS5mZmVmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDMKLSAgICAtMHgxLjAwMDQwMDE1NTVkNTU4ODg5ZGRlNzAyYjAyOGM5OTk2cC0xMywKLSAgICAweDEuZmZmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIC0weDEuZmZjN2ZlMmFiYmFjMzEwZmU1NDc4NDAxNWQyM2E2MWRwLTE0LAotICAgIDB4MS5mZmYwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDUKLSAgICBIVUdFX1ZBTEYsCi0gICAgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA2Ci0gICAgMHgxLjYyZTQyZmViYTM5ZWYxNTc5M2M2MTFkYWIxOTA5ODA4cDYsCi0gICAgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAweDEuNjJlNDJmZTdhMzllZWI1NzkzYmNiYzg1NGQzYjQyOWFwNiwKLSAgICAweDEuZmZmZmZjcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDMwOAotICAgIDB4MS4yNTBkMDUwNWZlY2U4M2Y1ZjMzMjhjYzMyMmY2NTE1M3AwLAotICAgIDB4MS45MjFmYjZwMQotICB9LAotICB7IC8vIEVudHJ5IDMwOQotICAgIDB4MS5jZTZiYjQzOGIzZmMyOTI4YTUzYjY0YWM3YzBkNmE5MXAtMiwKLSAgICAweDEuOTIxZmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTAKLSAgICAweDEuZmZmZmZlMDAwMDAyYWFhYWE2YWFhYWIxMTExMTA2NjZwLTI0LAotICAgIDB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDMxMQotICAgIDAuMCwKLSAgICAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAtMHgxLjAwMDAwMDgwMDAwMDU1NTU1NTk1NTU1NTg4ODg4OGIzcC0yNCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgLTB4MS5lZWI5NTc0ZDI2ODM3YjBkMDRhNmQzNjcyNzdjZTA1NnAtMywKLSAgICAweDEuOTIxZmI2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgLTB4MS41ZDU4OWYyN2U1MTA3ZjhhMzU2ZDllZThhZDFiYWFlNHA2LAotICAgIDB4MS4wMDAwMDJwLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDMxNQotICAgIC0weDEuNWQ1ODlmMmZlNTEwNzc4YTM1Nzg0OTkzNDdjNjU1YTlwNiwKLSAgICAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTYKLSAgICAtMHgxLjVkNTg5ZjM3ZTUxMDdmOGEzNTgyZjQzZTAyNzEwMDZkcDYsCi0gICAgMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE3Ci0gICAgLTB4MS41ZDU4OWYzZmU1MTA5NzhhMzVjZDllZTk5ZDFiYWUzMXA2LAotICAgIDB4MS5mZmZmZjhwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDMxOAotICAgIC0weDEuOWE1N2Q3NmQxNTJmYzk1ZDQyZGU4ZjRmODkyMWRhNzVwNiwKLSAgICAweDEucC0xNDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTkKLSAgICAtMHgxLjlkMWQ5ZmNjZjQ3NzA3NDNmMjA2MWUxZGU5MzFhNjUwcDYsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgLUhVR0VfVkFMRiwKLSAgICAwLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgLUhVR0VfVkFMRiwKLSAgICAtMC4wZgotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF9sb2dmLCBsb2dmX2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX2xvZ2ZfaW50ZWxfZGF0YSkvc2l6ZW9mKGxvZ2ZfaW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0ZMT0FUX0VRKGdfbG9nZl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCBsb2dmKGdfbG9nZl9pbnRlbF9kYXRhW2ldLmNhbGxfZGF0YSkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfcG93X3Rlc3QuY3BwIGIvdGVzdHMvbWF0aF9wb3dfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxODU0MjQuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9wb3dfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMzAwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZG91YmxlIGV4cGVjdGVkOwotICBkb3VibGUgeF9jYWxsX2RhdGE7Ci0gIGRvdWJsZSB5X2NhbGxfZGF0YTsKLX0gcG93X2ludGVsX2RhdGFfdDsKLQotc3RhdGljIHBvd19pbnRlbF9kYXRhX3QgZ19wb3dfaW50ZWxfZGF0YVtdID0gewotICB7IC8vIEVudHJ5IDAKLSAgICAweDEucDAsCi0gICAgLTB4MS4wcC0xMCwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIDB4MS5wMCwKLSAgICAtMHgxLjBwLTIwLCAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyCi0gICAgLUhVR0VfVkFMLAotICAgIC1IVUdFX1ZBTCwgMHgxLjAwMDAwMDAwMDAwMDFwNTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAyMCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIxLCAtMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDQKLSAgICAweDEucDAsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00MSwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNQotICAgIDB4MS4wMDAwMDAwMDAwMDBhMDAwMDAwMDAwMDAyZHAtNDEwLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtNDEsIDB4MS40cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2Ci0gICAgMHgxLjkyNDFiNzA3ZjZkYWRmZjk1NWZkODkxOTNiNjdkMzMxcC03NiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDlwMCwgLTB4MS43MzY0ZDkzNjRkOTNlcDU0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNwotICAgIDB4MS5mZmZmZTAwMDAwZmZmZmZhYmFhYWJlZmZmZmMzYjExMXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMTBwMCwgLTB4MS4wcDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgOAotICAgIC0weDEuZmZmZmZlZmZhYzAwNDAzYjBjNmQ0MjRhY2Q5MDA5NTNwOTY0LAotICAgIC0weDEuMDAwMDAwMDAyMjBwLTEsIC0weDEuZTI4cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5Ci0gICAgMHgxLmZmZTg4Zjg5OGZhZDY4MDVlZjU0MjVjYTM1NzJmMWU4cDcwNSwKLSAgICAtMHgxLjAwMDAwNDRwLTEsIC0weDEuNjEwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMAotICAgIC0weDEuZmZmMDAwN2ZmYzAwMWZmZjAwMDdmZmMwMDFmZmYwcDQwLAotICAgIC0weDEuMDAwODBwLTQxLCAtMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDExCi0gICAgMHgxLmZmNjAxYjdjOTA1OTU4MmU5YzVjZDRiZGUwMjFmNDYycDQwOSwKLSAgICAtMHgxLjAwMDgwcC00MSwgLTB4MS40cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIC0weDEuMDAyODAyODAxNDAwNTAwMDgwcDIwMCwKLSAgICAtMHgxLjAwMDgwcDQwLCAweDEuNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMKLSAgICAweDEuZmZhMDBhN2YxNGMzMzdmY2VjZmZjMTA3MjQ0Zjk2ZGZwMjQ1LAotICAgIC0weDEuMDAwODAwMDAwMGYxNHAtNDEsIC0weDEuOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQKLSAgICAweDEuZmY4MDExZmQzYmU1NzdmZWM4NWZmYzVkNjBiMDMzNGVwLTMyMSwKLSAgICAtMHgxLjAwMDgwMDAwMGU0ODRwNDAsIC0weDEuMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUKLSAgICAweDEuNmIzYzQ2NDE1NDMwYzAwNGU5ZmQwYjM1ZjhlYzZmZDVwLTEsCi0gICAgLTB4MS4wNDZlOGJmZmZmZmMycDAsIC0weDEuNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAwLjAsCi0gICAgLTB4MS41MThwLTEwNjUsIDB4MS4wcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNwotICAgIDB4MS4yMDAwMDA2MDAwMDAwOHAtODEsCi0gICAgLTB4MS44MDAwMDA0cC00MSwgMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDE4Ci0gICAgMHgxLmMzZDZhMjE1N2I2MjM0MDdlOGM4MjEyODllYmFjMmI2cC0xLAotICAgIC0weDEuZmZmZmZiZmZmZmZmZnAtMSwgMHgxLjBwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIC0weDEuMDAwMDAwNjAwMDAwMzAwMDAwMTEwMDAwMDYzMDAwMDJwMCwKLSAgICAtMHgxLmZmZmZmZmJmZmZmZmZwLTEsIC0weDEuOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAKLSAgICAtMHgxLjAwMDAwMGUwMDAwMGE4MDAwMDYyMDAwMDMzYTAwMDE4cDM1LAotICAgIC0weDEuZmZmZmZmYmZmZmZmZnAtNiwgLTB4MS5jcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMQotICAgIC0weDEuMDAwMDAwZTAwMDAwYTgwMDAwNjIwMDAwMzNhMDAwMThwMjgwLAotICAgIC0weDEuZmZmZmZmYmZmZmZmZnAtNDEsIC0weDEuY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIKLSAgICAtMHgxLjAwMDAwMGUwMDAwMGE4MDAwMDYyMDAwMDMzYTAwMDE4cC0yODcsCi0gICAgLTB4MS5mZmZmZmZiZmZmZmZmcDQwLCAtMHgxLmNwMgotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgLTB4MS5mZmZmZmU0MDAwMDAzODAwMDAzMGZmZmZmNDlmZmZmZHAyODYsCi0gICAgLTB4MS5mZmZmZmZiZmZmZmZmcDQwLCAweDEuY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQKLSAgICAweDEuZmZmZmZmODAwMDAwMDhwLTIxLAotICAgIC0weDEuZmZmZmZmY3AtMTEsIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNQotICAgIC0weDEuMDAwMDAwMDAwMTAwMDgwMDAwMDEwMDEwMDA0MDAxcDQwLAotICAgIC0weDEuZmZmZmZmZmZmZGZmZnAtNDEsIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYKLSAgICAtMHgxLjAwMDAwMDAwMDAwYzk4MDAwMDAwMDA5ZTlhNDBwNDAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZTZkcC00MSwgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIC0weDEuZmZmZmZmZmRmZmZmZTAwMTAwMDAwZmZmYWFhYWFhYWFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xLCAweDEuMDAwMDFwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOAotICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAwLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIC1IVUdFX1ZBTCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgMHgxLjAwMDAwMDAwMDAwMDFwNTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIDB4MS5mZGE2YTFiZTNlOWQ0N2ZjODQyOTMyODFlNzdhYTIxYXAtMSwKLSAgICAweDEuMHAtMiwgMHgxLmIyY2IyY2IyY2IyZDBwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMQotICAgIDAuMCwKLSAgICAweDEuMHAtNTEyLCAweDEuMGNjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIDB4MS5mOWIzYTM4MjA5ODA5Mzg2ODdlOGJmN2ZmMDZiYzQyY3AtOTE0LAotICAgIDB4MS4wcC0xMDM1LCAweDEuYzNhODNhODNhODNhNXAtMQotICB9LAotICB7IC8vIEVudHJ5IDMzCi0gICAgMC4wLAotICAgIDB4MS4wcC0xMDc0LCAweDEuMHAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAwLjAsCi0gICAgMHgxLjBwLTEwNzQsIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNQotICAgIDB4MS41MWNiNDUzYjk1NGY1MzA1ZmQ4ZDYxZTY1MGU4ZDBkNXAtOTY3LAotICAgIDB4MS4wcC0xMDc0LCAweDEuY2NjY2NjY2NjY2NjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmZmZmZmZmZkM2EzN2EwMjJhNGJkZjk0ODIxNzFkNTZmcDEwMjMsCi0gICAgMHgxLjBwMSwgMHgxLmZmZmZmZmZmZmYwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNwotICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmZmZmUwcC01LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMCwgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOAotICAgIDB4MS5hZTg5Zjk5NWFkNTg4N2ZmNDZkZDIzNjJiZTZhOGYyM3AtMjA0LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNzEsIDB4MS43ZmZmZmZmZmZmZmZkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAweDEuMjYxMTE4NmJhZTZhMzgwMDAyZTYyMDJjMzFiMDRkMTNwLTM4LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00NjIsIDB4MS40ZjIwOTRmMjA5NGYwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAKLSAgICAweDEuNmEwOWU2NjdmM2VjZDJhZGI2NzIyM2Y5NTY0YjM0MjJwLTM5MiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNTIyLCAweDEuN2ZmZmZmZmZmZmZmZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQxCi0gICAgMHgxLjlmZGY4YmNjZTU0MzU0N2Q2MTFlZjEzOTA0MDIyYjhicC00OTMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTU0NywgMHgxLmNjY2NjY2NjY2NjY2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MgotICAgIDB4MS45MWI1MDFjMmRiNWM4ZmZlODFjYzNlZmZmZmUyODJlOHAtMjkwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02NDMsIDB4MS5jY2NjY2NjY2NjY2NhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMKLSAgICAweDEuYTgzMGZkMDU0NzIwMjQ3OWM3MGM4MGI3MmEzMjVkMmZwLTQwOCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNzMxLCAweDEuMWQ0MWQ0MWQ0MWQ0NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ0Ci0gICAgMHgxLmE5MzM1ZGYzOGU2ZTY0Y2JkYWE1Nzc1MGEwY2ZkNWVlcC0yOTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTczMywgMHgxLjk1ODEwNjI0ZGQyZjdwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NQotICAgIDB4MS42YTA5ZTY2N2YzZDE5MmEyN2I3MzU3NzQ4NGE4NmRjZHAtNzYxLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC04NDUsIDB4MS5jY2NjY2NjY2NjY2NjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuYmRiOGNkYWRiZTYwYTU2ZGQ2MWM0ZTA0MzUwY2ZhOWFwLTU2OSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtOTQ3LCAweDEuMzMzMzMzMzMzMzMzMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ3Ci0gICAgMHgxLjZhMDllNjZkNzJjOWM4MDE4NDA1MzI1NzdlNjA1ZTA3cDkwNCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAwNSwgLTB4MS5jY2NjY2NjY2NmYTgxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAweDEuZmZmZmZmZmZmZmZhZWE2ZTA2MjJhNDViMzU4OWQ3NzFwMTAyMywKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAweDEuZmZmZmZmZmZmZmZmZHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDkKLSAgICAweDEuZTYxMDJiYTQ2NTA0NDgxNGIyOGEwYTQ5MjE2ZWY2NjdwLTM0OSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA2NjMsIC0weDEuMGNjY2NjY2NjY2NjZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUwCi0gICAgMHgxLmZmZmZmZmZmZmZkNzViNmQ4NWRlOGZiM2E3ZTJlODI2cC03MDMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwOTM2LCAtMHgxLjgwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MQotICAgIDB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMTAyNCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxMDIzLCAtMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDUyCi0gICAgMHgxLmZmZmZmZmZmZmZmYWVhNmUwNjIyYTQ1NzM1ODlkNzcxcDEwMjMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDJwMiwgMHgxLmZmZmZmZmZmZmZmZmRwOAotICB9LAotICB7IC8vIEVudHJ5IDUzCi0gICAgMHgxLjAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAyOWZmZmZmcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDRwMCwgMHgxLjAwMDAwMDAwMDAwMDdwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NAotICAgIDB4MS4wMDAwMDAwMDAwMDAwN2ZmZmZmZmZmZmYzOTIwcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDRwMCwgMHgxLmZmZmZmZmZmZmZjZThwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIDB4MS5mZmZmZmZmZmZmZmFlYTZlMDYyMmE0NGYzNTg5ZDc3MXAxMDIzLAotICAgIDB4MS4wMDAwMDAwMDAwMDA0cDQsIDB4MS5mZmZmZmZmZmZmZmZkcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIDB4MS5mYjk1NDBkOTkyNThhODBmODZiNzE5MjVhYWY0NDIxZXA4MCwKLSAgICAweDEuMDAwMDAwMDAwMDAwN3AxMDIzLCAweDEuNDQ0NDQ0NDQ0NDQzMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDU3Ci0gICAgMHgxLmRmOTA1ZWY4ZTI1MDdmZDg1MjcxMmVkNmNlYTk4OTYzcDgzMywKLSAgICAweDEuMDAwMDAwMDAwMDAxMXAxLCAweDEuYTBmM2VhMDY5N2EwYnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTgKLSAgICAweDEuMDAwMDAwMDAwMDAwOTdmZmZmZmZmZmZmZDJlMHAzLAotICAgIDB4MS4wMDAwMDAwMDAwMDEzcDYsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkKLSAgICAweDEuMDAwMDAwMDAwMDAwZDdmZmZmZmZmZmZmNzdlMHAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDIxcDAsIDB4MS5hMmU4YmEyZThiYTJlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAweDEuOTQ3NjUwNGI5YmFmMzQzZTNmNzVhMmJkMmU0Y2FkZGJwNzM4LAotICAgIDB4MS4wMDAwMDAwMDAwMDgwcDAsIDB4MS4wcDU0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAweDEuZmZmZmY0ZTk1ZTFmM2ZkY2RkNWUzZDkyOGYzYTQ3ZjVwMTAyMywKLSAgICAweDEuMDAwMDAwMDAwMDBmZnAxLCAweDEuZmZmZmZmZmMwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIDB4MS5mZmZmZmZmZjhlNGRlODA4M2FjNjNmOTViY2I1MjVmY3AxMDIzLAotICAgIDB4MS4wMDAwMDAwMDAwMGZmcDIsIDB4MS5mZmZmZmZmZmZmY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMKLSAgICAweDEuOTQ3NjUwNGI0MzM1NTJhZGJmMjUzYWQ1YTllNjFlNjhwNzM4LAotICAgIDB4MS4wMDAwMDAwMDAwNHAwLCAweDEuMHA1MQotICB9LAotICB7IC8vIEVudHJ5IDY0Ci0gICAgMHgxLjYyNDdlYjAzNTc4NjM3ZmYyY2I5M2M5M2ZlMmYyNDczcC0xMjksCi0gICAgMHgxLjAwMDAwMDAwMDA3cDEsIC0weDEuMDExcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NQotICAgIDB4MS44N2NlYTJlNTA2ZDJlYTliMjE4MjNkNzU1NzY2M2ZiYXA0MjcsCi0gICAgMHgxLjAwMDAwMDAwMDIwcDEwMjMsIDB4MS5hYzA4MzEyNmU5NzhjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAweDEuZmZmZmZmMmIwMzM4MDgwYjI1N2RmMzFiYjAyZmY3MGFwNzY3LAotICAgIDB4MS4wMDAwMDAwMDBmZmZmcC0xLCAtMHgxLjdmZmZmZmZmZDVjZTJwOQotICB9LAotICB7IC8vIEVudHJ5IDY3Ci0gICAgMHgxLmZmZDkzMTAzNWIzOTQwODcxNjQ1MDE0NzNkZjIzMDk1cDEwMjMsCi0gICAgMHgxLjAwMDAwMDAwMXAxLCAweDEuZmZmZmYxZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjgKLSAgICAweDEuOTEyYjZkZDY2NTJkZjdmYTBmYmFmZmJjN2IzMmQ2MmFwOTUzLAotICAgIDB4MS4wMDAwMDAwMDFiMWVmcC0xLCAtMHgxLmRjZDJmM2VhMDY5OTVwOQotICB9LAotICB7IC8vIEVudHJ5IDY5Ci0gICAgMHgxLmZmZmZmZmY4MDAwMDAwMjBjMDAwM2Y3YjdmZmU4MjE2cC0xLAotICAgIDB4MS4wMDAwMDAwNDBwMCwgLTB4MS5mZmZmZmZmZmNmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAKLSAgICAweDEuZmZmZmZmYzAwMDAwMjdmZmZmZjcwMDAwMDM5ZmZmZmVwLTEwMjQsCi0gICAgMHgxLjAwMDAwMDFmZmZmZmZwMTAyMywgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MQotICAgIDB4MS43MDVkZjM0Zjg0ZTMxMzg3MTQ4MTUzYzdjZjc4M2E1M3AtMSwKLSAgICAweDEuMDAwMDAwNHAxLCAtMHgxLmU2NjY2NjY2NjY2NmJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MgotICAgIDB4MS4xYTE2NzQ0YzJlYzBkODA0MjQxMGJmM2UzYTkwMTRhY3AxLAotICAgIDB4MS4wMDAwMDA0cDIsIDB4MS4yM2Q3MGEzZDcwYTNicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMKLSAgICAweDEuZmZmODAwMTAwMmI0MTdlZjU4OGUyMWM1MDkyZTIwYzdwMTAyMywKLSAgICAweDEuMDAwMDAxMHAtMSwgLTB4MS5mZmZmZmZmZmZmZmY5cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS5hMTJmODA2YzM5MTA1ODAwZDVhYzM4ZjZjYjg4ZDM3NHAtMiwKLSAgICAweDEuMDAwMDAxY3AzLCAtMHgxLmJhMmU4YmEyZThiYTJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NQotICAgIDB4MS5kNzJmN2YzNTRkODZkMDIwNmFkN2M5YmU5YjQ3OGM3Y3AtODg1LAotICAgIDB4MS4wMDAwMDQ0cC0xLCAweDEuYmEwZjYxYzkxMDdjOXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzYKLSAgICAweDEuOTE1ZDE5NTViMTVmYzA4MTkxZTAwMGJjOGE5YzgyNjJwNzM4LAotICAgIDB4MS4wMDAyMHAwLCAweDEuMDAwMDA0MHAyNAotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgMHgxLmZmYzAwNDNjYmM1ZGI3ZmVkOTA1ZWEyNjc3MjRjZDg2cDQ3LAotICAgIDB4MS4wMDAyMDAwMDBjMGU0cC0zLCAtMHgxLmZmZmZmZmZmZjNmZmZwMwotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgMHgxLjAzODYxYzBmMjVmMGI3ZmRkN2RiOTg4ZmM1MGU4YWM1cDg5NiwKLSAgICAweDEuMDAwNzBwNywgMHgxLjAwMDAwMDAwODgwcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OQotICAgIDB4MS43MzVmNGNhZTZmZDVlN2VjOWVjOTM5MjNmMzM5ZTk1MXAtMjQyLAotICAgIDB4MS4wMDA3ZmRlcDAsIC0weDEuNGYxYjc3YzI3OGRjMHAyMAotICB9LAotICB7IC8vIEVudHJ5IDgwCi0gICAgMHgxLmI2YmRjZGFmZDU1ODI4MjNiNGQzNjFjYjdiZjAyZjBicDAsCi0gICAgMHgxLjAwMDdmZmZmZmYxOGNwLTMsIC0weDEuMDk0ZjIwOTRmMjA5NHAtMgotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgMHgxLmVlOWRlMzgxNTU4OWY4MDIwNDI5Yzg1MDUwMmE3M2NlcDAsCi0gICAgMHgxLjAwMDgwcDEsIDB4MS5lNjY2NjY2NjY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAweDEuZmM0ZTk1N2FkM2NmZjgwZGYxNGQ1MzgzYmQwOWE4M2FwMTAyMywKLSAgICAweDEuMDAxZmViZWJjY2Q0MnAwLCAweDEuNjNkOGFhOTg2YTllYXAyMAotICB9LAotICB7IC8vIEVudHJ5IDgzCi0gICAgMHgxLmZiZGRmNDZkNmI2Mjg4MmI0YzRlNjU5YmYwMjEyZGY0cDEwMjMsCi0gICAgMHgxLjAwMWZlZjFjYzQxOTNwMCwgMHgxLjYzYjUwMGM4MzY4OWRwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NAotICAgIDB4MS5mYmE3ZjkzMThjNWRjODFiMWUxNzg4NjUxNDcyMDJmM3AxMDIzLAotICAgIDB4MS4wMDFmZjA2OWQyYTZicDAsIDB4MS42M2E2NzZjODQ5M2U4cDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgODUKLSAgICAweDEuZjYxNjYxYjcwMDBkMzJkMWY2OThlMGZhMmY4ODlkMzVwNjksCi0gICAgMHgxLjAwODA0MDI1MjEzZGVwLTcsIC0weDEuNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODYKLSAgICAweDEuZTEwOWJkY2NhMDFmYjdmZmJiZTRmNTBjODJkMGVjNjJwMTUsCi0gICAgMHgxLjAxMHAtMSwgLTB4MS5mZmZmZmZmZjlmZmZmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NwotICAgIDB4MS4xZTQ5YzUxNDczZmYzN2RjMWFkMjcyNjQzMTJjMzdiNXAtMTAxMSwKLSAgICAweDEuMDIxZWVhYTZkMjcwZHAxLCAtMHgxLmYzNzk3MTc1OGUyNTdwOQotICB9LAotICB7IC8vIEVudHJ5IDg4Ci0gICAgMHgxLmViNDEzMjFlMTM2YjM3ZmZmYmI5OTAyN2ZmYzg1MTRicC0yMSwKLSAgICAweDEuMDJmMTc4YmM1ZTJjMXAzLCAtMHgxLmE5OTk5OTk5OTk5OWFwMgotICB9LAotICB7IC8vIEVudHJ5IDg5Ci0gICAgMHgxLjA4MGZmZmZmZjc5Y2I4MDBkNGZhNDM1MWQ4ZTYzMTcxcC0yLAotICAgIDB4MS4wNDBwLTEsIDB4MS4wMDAwMDAwMDA2MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAKLSAgICAweDEuY2YyYjE5YWNmZDUzODgyMGNkNjJiOTc2MmZiZDA3ZDhwLTEwMTgsCi0gICAgMHgxLjA0OTNjZGE3YmU0NTJwMSwgLTB4MS5lZmU0YjI0MjA3MWFicDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIDB4MS42NjkyYzA1YjA5YmFiYTJlYTQ4ZDc4NWFkNGE0NTc1ZHAxMzUsCi0gICAgMHgxLjA1ZWJmODI0OGE3MzRwOTksIDB4MS41ZTNiMzJhMmE5ZmIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MgotICAgIDB4MS44MTBmMmY1Mzk4MDU3N2Y2NjYzYWJmYTFmNzc0MjkxYnA3MCwKLSAgICAweDEuMGFhYWFhYWFhYWFhYnA3LCAweDEuNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTMKLSAgICAweDEuZmZmZWUzMzUzNjhlYTAwMDhhYTZiM2IwMDYzNTQ2MjVwLTEsCi0gICAgMHgxLjBlNGY5MzhjMGUwYmJwLTQ4MiwgMHgxLmI0ODM4YWE3MGQwMjVwLTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQKLSAgICAweDEuY2ZjNDcwY2M5MzkyMjdmYTk3MGI1OGI5MTU3MmY3MjRwLTQwLAotICAgIDB4MS4xM2JkMTFiY2ZhYTUwcC01LCAweDEuMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUKLSAgICAweDEuZWMzM2VhNTVhZmQzM2FkMjE5YWEyYWVjMDgzMzk3ZGZwLTEsCi0gICAgMHgxLjE1MDFmNDQ2NTllNTRwMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYKLSAgICAweDEuZjY0OGEwZWFkODJmNjAwMWRhZjBkNDZhYmQwMThiNzdwLTEsCi0gICAgMHgxLjE1NTU1NTU1NTU1NTVwLTEsIDB4MS4wMDAwMDAwMDAwMDA3cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAweDEuZmU3ZWI2ODczNGI1ZTgyNWU5NGQ2ZGU0NTRjZGUxOGVwNiwKLSAgICAweDEuMTc0NWQxNzQ1ZGE3MXAtMSwgLTB4MS4wMDAwMDAwMDAwMDA3cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OAotICAgIDB4MS5hNWEwMGM3N2M2NWJmNWIwNTkyYTYxNDA3YjJiYzc5ZnAtMzksCi0gICAgMHgxLjE5NzNiMTAyZmZkZGJwLTYsIDB4MS5hMWQ4NGY2YTNiOTM0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OQotICAgIDB4MS5lN2UyNjc0NWY1MGZlODAwZDE0MTQ1ZmY4MDEzMzc2MXAtMiwKLSAgICAweDEuMTllZWRlYjEwMmQ4NHAyLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuYTczZjlhY2JmNDEyNWE4OTAyMDExMGEyOWMzOWJiZDJwMTAzLAotICAgIDB4MS4yNDc2NWEwY2RkNDU0cDcsIDB4MS5jZDgxZWRmZDZkNWI4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEKLSAgICAweDEuNDQ1YWUzOTBmNGI1MzY5YzE0MjZmOWZlOGI4YTE3NTFwNjE1LAotICAgIDB4MS4yNDkyNDkyNDkyNDkycC01LCAtMHgxLmZmZmZmZmZmZmZmZjhwNgotICB9LAotICB7IC8vIEVudHJ5IDEwMgotICAgIDB4MS5lNGUwNDUyMDU1MjdmMzNmMGM5NzY4ZGNiN2YxM2ZhYnAtNjE2LAotICAgIDB4MS4yNDkyNDkyNDkyNDkycC01LCAweDEuZmZjN2ZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgMHgxLjJkZDE3ZGM3MjkzZGM4MDAxZTE5ODZhMTQ4NzViZTk1cDEyMiwKLSAgICAweDEuMzE1MGExMmYyNWM4ZHAtNDEsIC0weDEuOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0Ci0gICAgMHgxLjUyYzU4Y2RiYWM0Y2I3ZmViNzYxZTI0YmJkZTk5Yjg1cC01MzQsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzNwLTIsIDB4MS4zMzMzMzMzMzNjZTk3cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUKLSAgICAweDEuYmM3ZjA1NmVjNzFmZjAwMDAxMDQ4MDhjOTk5MGFlOWZwLTIsCi0gICAgMHgxLjMzMzMzMzQ2Y2Y4YmFwLTIsIDB4MS42MmU0MmZlZmEzOWVmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2Ci0gICAgMHgxLmEyYzlkYzdiYjJlNzI0YWU3NDZjN2EwYTA3NmIxMjlicC0yOTEsCi0gICAgMHgxLjM4YWJmODJlZTY5ODZwLTEsIDB4MS45ODBwOAotICB9LAotICB7IC8vIEVudHJ5IDEwNwotICAgIDB4MS5iNGY2MGU1Nzk1YjVlODA4OGMxODY1YWI5ZTBlMjY5NHAwLAotICAgIDB4MS4zZWM5ODRjYjM2NzAxcDAsIDB4MS4zODAxODg3OWIyYmE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAweDEuOGZjZjMwMWMyYjQ2NTMyZmZmYjZhMDZjYzQzZGVjOTFwLTY2NywKLSAgICAweDEuNHAtMTA3MCwgMHgxLjNlZjM2OGViMDQzMjdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkKLSAgICAweDEuMDAwMDNmNjVjY2U4MDgwMDAwZmZlZjZlMDJiZmU1MDlwMCwKLSAgICAweDEuNHA0LCAweDEuNTI5YTE1NzRjMGM3MnAtMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAweDEuOTAwMDAwMDAwMDAwMjgwMDAwMDAwMDAwMDFwNCwKLSAgICAweDEuNDAwMDAwMDAwMDAwMXAyLCAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTExCi0gICAgMHgxLjQzMDE1Y2Y3NGQ2ZTA3ZmYzNjY2MzA1ZGRmZmI1ZjRlcDEsCi0gICAgMHgxLjQzZTc0M2JhNzljNDFwLTEsIC0weDEuMDJjMzBiODBlYjUxNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyCi0gICAgMHgxLmEzNmUxYzNjNzAwYjdhNDE2ZmFkNjQxYmZjMDMxYWRicC0xMCwKLSAgICAweDEuNDdhZTE0N2FlMTQ3YnAtNSwgMHgxLjAwMDAwMWNwMQotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIDB4MS5lNWVjY2YxYjNhMDVkY2Y3YWRjYThkNDdmOTM3ZGFjN3AtOTg1LAotICAgIDB4MS40ZTkxYjBlOTFiMGYxcC0xLCAweDEuOTBjOTcxNGZiY2Q5YnAxMAotICB9LAotICB7IC8vIEVudHJ5IDExNAotICAgIDB4MS45NTMzNWJmYjc2YzZjN2ZlMzg1MjZjZGUxYzE2ZWRiZHAtMywKLSAgICAweDEuNTE1MmI3YzM3MzM2OHAtMjIsIDB4MS5iYjM4Mjg4YTBhNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDExNQotICAgIDB4MS5mZmZmZmZmZmZmZmZiMDFlMjFhNDA0NDI5ZTg4Y2ZkNnAtMSwKLSAgICAweDEuNTE3NTg3OTBiNDE4MXAtNCwgMHgxLjBwLTUyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2Ci0gICAgMHgxLjcwMmViZmExZmYyMDEzZjI0MzhjZmQxOTM1YjczMDk5cDEwMSwKLSAgICAweDEuNTU1NTU1NTU1NTU1NXAtMiwgLTB4MS4wMDM4MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE3Ci0gICAgMHgxLmJhMzBhMTI3ZjZkZDVmZDljNjBhN2YwMTBkOWNhMTI1cDIwMiwKLSAgICAweDEuNTU1NTU1NTU1NTU1NXAtMiwgLTB4MS5mZmM3ZmZmZmZmZmZmcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgKLSAgICAweDEuN2ZmZmZlOGVkZGM0OWEwYmI3NGM5YjM5NDJlNWViMGJwMSwKLSAgICAweDEuNTU1NTU1NTU1NTU1NXAtMiwgLTB4MS5mZmZmZmUzZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgMHgxLjhhYTg4MDg2NDdkMDdiODgxOWI2ODZhNDQ4MTc0MDc2cDU4NiwKLSAgICAweDEuNTU1NTU1NTU1NTU1NXAtNSwgLTB4MS5mZmM3ZmZmZmZmZmZmcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAweDEuN2EwYTkxMDhlMWQxODg0YzU4NGE5YWI4MWZjM2YzZDFwLTI5NCwKLSAgICAweDEuNTU1NTU1NTU1NTU1NXAtNSwgMHgxLjAwMDAwMDAwMGUwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEKLSAgICAweDEuYWQzZDUwMzMyMTdhMDQ3YzI2MDJlZDliM2MwYTk2NDRwLTQ2MSwKLSAgICAweDEuNThhMjYxMjFmNDZmNnAtMiwgMHgxLjI0ZjQ1ZjVmZDRmNzlwOAotICB9LAotICB7IC8vIEVudHJ5IDEyMgotICAgIDB4MS4xMTA0ZmI4Y2Y3ODZjODAwZmZjNzM1ODg5YTUzMWZhM3AwLAotICAgIDB4MS42MTMwOTg0YzAyMDE3cDAsIDB4MS45OTk5OTk5OTk5OTlhcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgMHgxLjFlOTUyYjE5Y2MzMzY3MmYxY2RkM2VjNTBlMGIzZGYycC0xMDIzLAotICAgIDB4MS42MjJlOGJhMmU4YjlkcC0xLCAweDEuZTBmODNlMGY4M2UwY3AxMAotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS5jZWFmZDhjMDM4NWJkOGFiYmQ1NzQ0NzA0YmYxM2Q0ZXAtMTAyMywKLSAgICAweDEuNjcxMTExMTExMTEwY3AtMSwgMHgxLmYzMzMzMzMzMzMzMjRwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAweDEuNmEwOWU2NjdmM2JhMTJmOTMyNDdhNzZkNzQzNzQ0MThwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiOWVwLTEsIDB4MS5mZmZmZmZmZmZmZmYzcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgMHgxLmE4ODcyOTNmZDZmMzBhMTFlOWYzYWFiMTYxYjBkNDFmcDAsCi0gICAgMHgxLjc0NWQxNzQ1ZDE3NDZwLTIsIC0weDEuZmZmZmZmZmZmZmZmOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEyNwotICAgIDB4MS45MTc0OTk5MDBmZGEwN2ZlZDQ5Nzk2ZDgyNTZjYmVhZHAtNDAsCi0gICAgMHgxLjc0NWQxNzQ1ZDE3NDZwLTMsIDB4MS5mZmZmZmUzZmZmZmZmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgKLSAgICAweDEuZjQ2ZTk2Nzk4MGUwNDhjNTlmZDBmYmVhMWU1Nzc4MWNwOTY3LAotICAgIDB4MS43YTBwNywgMHgxLmZmZmZmZmZlZmZmZmZwNgotICB9LAotICB7IC8vIEVudHJ5IDEyOQotICAgIDB4MS45OWNlNDViN2UyOGZjN2ZmMmQzY2ZiNDYxNzc0MmQ3YXAtMSwKLSAgICAweDEuN2JmMGIyMzQ4YjBhOHAyLCAtMHgxLjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAKLSAgICAweDEuZmU5ZDNmYWNlY2RiNDgyZTUyYTIwMjZmMGQwZmNiYWJwMCwKLSAgICAweDEuOHAtMSwgLTB4MS4zMzMzMzMzMzMzM2MwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEKLSAgICAweDEuOTZjM2E4NjRkOTJjYzgyNDJmYTZhMDU2YmIwOGIzY2ZwLTEsCi0gICAgMHgxLjg1ZTg1ZTg1ZTg1ZWFwLTEsIDB4MS5iMDczZWNhZGUzMDUzcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgMHgxLmYyZDgwY2Y4Y2MwOGI3ZmZmZmVlYTc5Zjk1YzNhOWJhcC0xLAotICAgIDB4MS44N2Q4NzI0NDFlYWJicDksIC0weDEuZmZmZmZmZmZmZmZlZXAtOQotICB9LAotICB7IC8vIEVudHJ5IDEzMwotICAgIDB4MS5mZmZmZmZmZmZmZmY3MDFmOGFmYjlhYTA2YmFkMzNjMXAtMSwKLSAgICAweDEuODllMzZlZjg0ZjE5ZHAxLCAtMHgxLjAwMDAwMDAwMDAwMTFwLTUwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZiNzUwZjA3NTkzYWMwZmVmcDAsCi0gICAgMHgxLjhkNjAwYjc2OTY4NjJwLTk2LCAtMHgxLmVmYWU2MWY2MGY2ZThwLTU5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM1Ci0gICAgMHgxLmU4ZjE1NTY1ZWQ0M2E4MmUwNTIyMzZhYzNmOGExZjA5cDc3LAotICAgIDB4MS45OGQyZmU1YzUzZjM0cC0zOSwgLTB4MS4wNDRhMDAyZDUwYWQ4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYKLSAgICAweDEuMGY0YjExOGExMGU0OWZmZmZmMDBhZTczNTdkODdjOTRwLTEsCi0gICAgMHgxLjk5OTk5OWE2MzdmMTBwLTIsIDB4MS42MmU0MmZlZmEzOWVmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM3Ci0gICAgMHgxLmQyNTE1YzQ5ZDY0MTU3ZmVmNjJlZmUzN2FhN2Q0ZTU3cC00NCwKLSAgICAweDEuOWMwMTMzY2RiMDg1NnAtNSwgMHgxLjRwMwotICB9LAotICB7IC8vIEVudHJ5IDEzOAotICAgIDB4MS5mYjg1ZTlmMTNmMDc2NzUzNDUwZTMxNTY5NWQyMzllOXAtMTAyMywKLSAgICAweDEuOWYwZWQ0ZjkzMDUyMnAtMSwgMHgxLmE1ZGI4YTE3NTVlOWNwMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAweDEuMDFhYjhmMjY3MWI2ZTgwMDAwOTYzNDlhYjg5NzRlYzVwMCwKLSAgICAweDEuOWZjZmU3ZjNmYTE4MXAtMSwgLTB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQwCi0gICAgMHgxLjY5YzczODI0ZmJhYmY4MDY2YzBmMzg0ODdjNjAwYzcycDksCi0gICAgMHgxLmEwNDMyNzRiNzA1Y2VwMywgMHgxLjQ4N2UzMWNjZTY0NjhwMQotICB9LAotICB7IC8vIEVudHJ5IDE0MQotICAgIDB4MS5kMjAwODhmNGVlYjhhNTJmZjAyOWZmN2U0NzZlM2I2N3AtNTgyLAotICAgIDB4MS5hNWQxNzQ1ZDE3NDZlcC0xLCAweDEuMDNlMGY4M2UwZjgzY3AxMQotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIDB4MS5jNGJlZWRmMzE1MWUyODAzZTA0OWJiNTE2MWQxMjcyZHAtMjcyLAotICAgIDB4MS5hYTRjZThlZDUyNmIxcC0xLCAweDEuMDA4ODBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAweDEuNzE3MzA2MmI3NGMyMTdmZWE2YjQxZTZhN2ZiNDhkZDZwLTcxMSwKLSAgICAweDEuYWI5OWQzNjA5MWJjMHA5NywgLTB4MS5kMTM2ZWU4ZTU5NTczcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDQKLSAgICAweDEuODZjMWI0OWE1NTEwOTdmZTc4Mzk5YzAwZDAxNTdkOTJwLTIsCi0gICAgMHgxLmI3ODIyMThjM2ZkYjRwMiwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ1Ci0gICAgMHgxLjViNmE3NDQ5OWQ2Mzc4MDRiOWFhMjhmOWI3NjZjM2NjcC0xLAotICAgIDB4MS5iY2ViNzcxYTAyYmRlcDIsIC0weDEuOTk5OTk5OTk5OTk5YXAtMwotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIDB4MS5mZGRlNmQ3ZDk5MmQ0ZmZjZDBhMjQ0NmE5NTcyYjc5MXAtMSwKLSAgICAweDEuYmZmZmZmZmZmZmZmZHAtMSwgMHgxLmZmYzdmZmZmZmZmZmZwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAweDEuMjQ5MjQ5MjQ5MjQ5MmYwNTM5NzgyOWNiYzFhZGU2OWZwLTEwMjMsCi0gICAgMHgxLmJmZmZmZmZmZmZmZmZwMTAyMiwgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDgKLSAgICAweDEuY2NhMzRkOGQ2MDk1NDIzNTJkZmVhYWNlNTI4Y2I3YTFwLTgxOCwKLSAgICAweDEuY3AtMTAzMywgMHgxLjk1NTU1NTU1NTU1NTJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDkKLSAgICAweDEuNTVjYjgwNWQzYjZhYjVjNzY3NWNlMjg4ZGIxNzlmMmJwLTk4MSwKLSAgICAweDEuY3AtMTAzMywgMHgxLmU2NjY2NjY2NjY2NjJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTAKLSAgICAweDEuOTdhM2ZjYmFjZWJlNWQ4NmQ0Zjk2NzVkM2I4MjA4ZjhwODYxLAotICAgIDB4MS5jcC0xMDU5LCAtMHgxLmEwZWEwZWEwZWEwZWFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTEKLSAgICAweDEuZTkyNmYzMzQyNzI5ZDEwMGJlYWIyMmI1MDI5ZmE2OTJwLTk1NiwKLSAgICAweDEuY3AtMTA3MSwgMHgxLmM4ZWJkNDhlYmQ0OThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTIKLSAgICAweDEuZjE2NjhhODc3YzMwMjBjODUwNWM0NWFlOTk0YmQzNThwLTEwMDIsCi0gICAgMHgxLmNwLTEwNzEsIDB4MS5kZWVhYmI3ODg0NTQ5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUzCi0gICAgMHgxLjI0OTI0OTI0OTI0NTk3ODI5Y2JjMTRmMGU5M2M3NDZlcC0xMDIzLAotICAgIDB4MS5jMDAwMDAwMDAwMDU3cDEwMjIsIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgMHgxLmM2NWMyY2YzOTYyZGE4MDEzZDQwZWU4YzNiNDZiZjFkcDk2LAotICAgIDB4MS5jMjVjMjY4NDkxNjEwcC00NCwgLTB4MS4xZWZlZmY1YTI3M2VjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAweDEuOTcwYzEwZDZiMGE1OWE3ZmFkZjFlMjFlNWFiNjc3YmVwNzcsCi0gICAgMHgxLmMyNWMyNjg0OTc2ODJwLTQ0LCAtMHgxLmNjNmI5M2FiYmIwNzRwMAotICB9LAotICB7IC8vIEVudHJ5IDE1NgotICAgIDB4MS44NTgzYzI0ODlhNTAzODAwMDZjOWM3MjA1YjVhNTRmZXAtMSwKLSAgICAweDEuYzJlMTcwYjg1Yzk5NHAtMiwgMHgxLjU1NTU1NTU1NTU1NTVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTcKLSAgICAweDEuN2U0NTczMDE1YmM2M2JkMjY3Njc5YWFiMmNkODlmNjZwLTEsCi0gICAgMHgxLmNiM2M5NDg0ZTJhZDBwMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU4Ci0gICAgMHgxLjdlM2U3MTljZTViNzk3ZmU4ODU4MTViYzNiMjQ1N2YycC0xLAotICAgIDB4MS5jYjRkNjllYjRmNGI5cDAsIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1OQotICAgIDB4MS5mZDQyNTBhODcxYzdmZTAwZDVmNTEwMzljNTdkZGU2ZnAtNjI0LAotICAgIDB4MS5jY2M0YzBmZDYzY2I2cC0xLCAweDEuMHAxMgotICB9LAotICB7IC8vIEVudHJ5IDE2MAotICAgIDB4MS41ZGMyODVkNWI1ZjE2ODAwZjZkN2RjNWZmZGNmOGQxNnAtMSwKLSAgICAweDEuZDE3NDVkMTc0OTg4M3AtMSwgMHgxLmZmYzdmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDE2MQotICAgIDB4MS5mZWE1OTVkNWMwNGY4ODE0MzhmN2Y1ZjEwZGJiMDI5N3AtMiwKLSAgICAweDEuZDU1NTU1NTU1NTU1MnAtMSwgMHgxLmZmYzdmZmZmZmZmZmZwMgotICB9LAotICB7IC8vIEVudHJ5IDE2MgotICAgIDB4MS4wMDAwMDAwMDAwMDA3ZmYwNGEyNjY3OGI2MzNhMTMzZXAwLAotICAgIDB4MS5kODcyNDQxZWMzOTA1cDIsIDB4MS4wMDAwMDAwMDAwMDExcC01MAotICB9LAotICB7IC8vIEVudHJ5IDE2MwotICAgIDB4MS5hNjNmNGJkNzk3ZjgyODA1OTE5YjA5ZDJiNjJkYTFlMXAtMSwKLSAgICAweDEuZGE2MGExZjJlYzYwOHAtMiwgMHgxLjAwN2NkOTUyNGQzZjRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAweDEuYTgyZTE0NjkwMjVjODUwYzE0NDhhMTljMmFmNjdmZTRwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3MnAtMiwgMHgxLmMzMGMzMGMzMGMzcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAweDEuNzc5YTA2YmMzODgwZTJjMzlkZmM2Nzk3NDllNDcwYTVwLTIsCi0gICAgMHgxLmRiYjBlMGFhMmRkMGVwMiwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgMHgxLmY1NWI0MWFiNGE2NzU0MDViNTQyNzAzZDliMDM3YWU3cC00MDgsCi0gICAgMHgxLmRkYTk1YTk1YTk1YjFwLTEsIDB4MS5mYzBwMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjcKLSAgICAweDEuNzY3ZmJhZDIxOWEyMDgwMThkNmI4MWY3ZjNhMjA1MWJwMiwKLSAgICAweDEuZGU3ZjE1NDgzODUzN3AtNiwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY4Ci0gICAgMHgxLjcxMWQ2MDJmZmIyN2Y4MDIwOTA0M2Q2ZDhmMjgzY2Y4cC0xMCwKLSAgICAweDEuZTY2NjY2NjY2NjY2YnAtMSwgMHgxLmZmZmZmZmZmZmZmZjhwNgotICB9LAotICB7IC8vIEVudHJ5IDE2OQotICAgIDB4MS5mZjU2OTczOTZhZjE1N2ZmZWFkNzQ4ODU5YWUzYzljYnAxLAotICAgIDB4MS5lZWVlZWVlZWVlZWVlcDIsIDB4MS41YWFhYWFhYWFhYWFicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcwCi0gICAgMHgxLmZlOTYxYTNjY2QzYzI4MWFkMDMzM2Q2ODA2OTI3YjJicC0xLAotICAgIDB4MS5mMDdjMWYwN2MxZjA3cC0xNCwgMHgxLjQwYTU3ZWI1MDI5NmRwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcxCi0gICAgMHgxLmRhYzBjN2NmYmVmMDViZDY1YTBlNmVhMjQ3N2Y0N2ZhcDc3OCwKLSAgICAweDEuZjFhMTdkMDc5ZTI0ZnAtMywgLTB4MS43ZDljMGI1ZjNhOTYwcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzIKLSAgICAweDEuNmVhNjliZDg1YjY3Y2M4NWJlODNmYTk3N2RjMTIzY2FwLTEsCi0gICAgMHgxLmYzMzMzMzMzMzMzMjRwMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTczCi0gICAgMHgxLjcxNWJmOTJmNDNmMDBiNDAzMDQ5ZTBjM2U1MTE1M2Y4cC0xNiwKLSAgICAweDEuZjY2NDk4NGI4YTE1MnAtMjEsIDB4MS44Yjg1MmNlMjIxOWYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc0Ci0gICAgMHgxLjc0MzY4MDk0ZWZiZmIzODBiYjJkZjJlMjBlMmE3YTE3cC04NSwKLSAgICAweDEuZjZkZWQ4YmMzZmE0M3AtNywgMHgxLmMwODM1OTVjMmIxYmNwMwotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIDB4MS5iMGVmNTU2MDA2MjA3NzE4ZDNkYTA4YTkwMTM2NzI2ZHA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiOGFwLTEsIC0weDEuMDAwMDAwMDJiNjU4ZXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIDB4MS5iMGVmNGNkOTRmOGY4YThlNjAzZmY2NThmNjFmZWZiMXA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiYTVwLTEsIC0weDEuMDAwMDAwMDAyMjFlZnAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3NwotICAgIDB4MS5iMGVmNGNkODJmMTM4N2Q3NjU4MGE5ZWVhYmE2NTZmNnA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiY2ZwLTEsIC0weDEuMDAwMDAwMDAyMjFlZnAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3OAotICAgIDB4MS5iMGVmNGNmYjFjZWMzN2Q2NGYzN2VhMzc1NTk3Yjc0MHA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiY2ZwLTEsIC0weDEuMDAwMDAwMDAyY2IwOXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIDB4MS5iMGVmNTU1ZTI2OWM2Nzc0YTE4YjU2YWYzNjk0N2Q4MnA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiY2ZwLTEsIC0weDEuMDAwMDAwMDJiNjU3M3AxNQotICB9LAotICB7IC8vIEVudHJ5IDE4MAotICAgIDB4MS5iMWMzMDQyZmU3NmVjNzRlYjYzMTc3NmVhOTBjM2NjNnA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiY2ZwLTEsIC0weDEuMDAwMDQwMDAyMjFlZnAxNQotICB9LAotICB7IC8vIEVudHJ5IDE4MQotICAgIDB4MS5mMmU5MjQ3N2Q2NGM4NmZhNTRmNjIxNWVjOGRlNTg5NnA4MjcsCi0gICAgMHgxLmY4M2UwZjgzZTBiY2ZwLTEsIC0weDEuMjVhYjZmN2JjZWQ5M3AxNQotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIDB4MS5iMGVmNGMwNGFiNmY5N2E1MjkzNTA5MTU1MDRjMDA3NHA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBiY2ZwLTEsIC0weDEuZmZmZmZmZmZjNDNkZXAxNAotICB9LAotICB7IC8vIEVudHJ5IDE4MwotICAgIDB4MS5iMGVmNTU1YjFkYmU5N2QyNzZkMTk2MzA2YmEwMDA1MXA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBjMjZwLTEsIC0weDEuMDAwMDAwMDJiNjIwZnAxNQotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIDB4MS5iMGVmNGNiZTZkZWU2OGY2OTdmYzU4ODVlNDNhMzU0NXA3MjEsCi0gICAgMHgxLmY4M2UwZjgzZTBmODBwLTEsIC0weDEuMDAwMDAwMDAyMjBwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODUKLSAgICAweDEuNjYxZGIyNDJlMTNmNzg3NjBmMzM4NWM0OGRlNmUxNGRwLTcxNiwKLSAgICAweDEuZjg0ZjFiNzdhYTYxZXAtMSwgMHgxLjAwMDAwNDRwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODYKLSAgICAweDEuNmNjMDU2NTkzYjE4OTdmZTcyOTQ1NTZlODVhN2ZjY2FwLTEsCi0gICAgMHgxLmY4NjliMTBlMTY0NmVwMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg3Ci0gICAgMHgxLjk2ZWMxOTljODI4MzI4MGRjZGUxYmYwYTZiZGYxOGRkcC0zMywKLSAgICAweDEuZjg2ZDZmNjNhYTA0OXAtMSwgMHgxLjc4MHAxMAotICB9LAotICB7IC8vIEVudHJ5IDE4OAotICAgIDB4MS44ZDM1NzVjNWEwODIxN2U5NmQyYmFjY2Q5MjEwMjEwMXA2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I0NTJwLTEsIC0weDEuMDAwMDA0M2ZmZmVlZHAxNQotICB9LAotICB7IC8vIEVudHJ5IDE4OQotICAgIDB4MS44ZDM1NzVjNTJlYTMxZmVhM2QwNzk5ZjhjZjg1MjNlM3A2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I0NjhwLTEsIC0weDEuMDAwMDA0M2ZmZmY4NXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIDB4MS44ZDM1NzVjNDcyZjBjODYzYzA2YTk3NmUyMmEyNWM2ZHA2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I0ODlwLTEsIC0weDEuMDAwMDA0NHAxNQotICB9LAotICB7IC8vIEVudHJ5IDE5MQotICAgIDB4MS44ZDM1NzVjMzVhYWNlZmVhOTVjODg1NDM5ZDQ5YmQ5OXA2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I0YmJwLTEsIC0weDEuMDAwMDA0NDAwMDBkNHAxNQotICB9LAotICB7IC8vIEVudHJ5IDE5MgotICAgIDB4MS44ZDM1NzVjMGNmYzQ2MWJiZTVlZTM2NDRjYzZkNzdjMnA2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I1MDZwLTEsIC0weDEuMDAwMDA0M2ZmZmM3OXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE5MwotICAgIDB4MS44ZDM1NzVjMTY2N2RmMTE2Mzk3OTgyNGQ4NjNjYzU3MXA2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I1MDZwLTEsIC0weDEuMDAwMDA0NDAwMDAyMnAxNQotICB9LAotICB7IC8vIEVudHJ5IDE5NAotICAgIDB4MS44ZDM1NzViNGZlYzU4OGU1NmYxYmE0YmIyY2RlM2QzN3A2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I3MTRwLTEsIC0weDEuMDAwMDA0NDAwMDM1M3AxNQotICB9LAotICB7IC8vIEVudHJ5IDE5NQotICAgIDB4MS44ZDM1NzVhYzNmZjQ5ZWUwMDQ0MDQxOTUxZDIwNzA2YnA2MTIsCi0gICAgMHgxLmY5Njg2MGFmY2I4NThwLTEsIC0weDEuMDAwMDA0M2ZmZmU2ZHAxNQotICB9LAotICB7IC8vIEVudHJ5IDE5NgotICAgIDB4MS42NzE5ODZkYmU1M2Y1NmFjZDM2ZGRhZWVjOTcyNzdhYXAtNDYsCi0gICAgMHgxLmY5ODVmN2NiZjAwNTlwLTcsIDB4MS5lM2ZhMzAxOGJkZTA4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTcKLSAgICAweDEuZWVjNzNlYjNlZDkyNDc5NDBlODc3NTBlN2ZjNDk0NzlwMTAxOSwKLSAgICAweDEuZmE4MWE1ZTdkNDEyY3AtMSwgLTB4MS4wMDAwMDdmZmVmMHAxNgotICB9LAotICB7IC8vIEVudHJ5IDE5OAotICAgIDB4MS42YWZjMmIzNjY5Y2FmZDhiMDRiZTA3NjM3Y2I4Y2U1ZXAtMSwKLSAgICAweDEuZmQ1NTcwMTlmMWNkMHAwLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTkKLSAgICAweDEuYzRmOTFkMjRlNWMzZTg2ZjczZWE2ODEzMmJkYTRiOGFwMTAwMiwKLSAgICAweDEuZmRmZmZmZmZmZmZmZnAtMywgLTB4MS5mM2ZmZmZmZmZmZmZmcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAweDEuNmE5M2I3ZjA0Njk0YWQ2NmI5YWE2NGY3NmJhMWZhMzhwLTIsCi0gICAgMHgxLmZlN2IwZWU2YWZhM2NwMiwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAxCi0gICAgMHgxLmUxNzc2YmRlMTY2NDM4MDhhMzhjYWYwNTBmNWNiNjMwcC05NjYsCi0gICAgMHgxLmZmM2U5YWUzMDMzYWVwLTEsIDB4MS5iYTZjMTNiZjAwNWVjcDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAyCi0gICAgMHgxLmQ0ZWY1ZWNkNzU0Y2Q3ZjZlNzAxNjQ1Mzk5NGMyMWQ1cC05NDMsCi0gICAgMHgxLmZmNDMzYTAyZWM5NjRwLTEsIDB4MS5iYTdhMzQ3Y2RmZmVicDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMHgxLmZlOWJiZGMxNjFhYmQ3ZmQ5YjMyZGJiYzJkNzQ4NDM4cC05MTUsCi0gICAgMHgxLmZmNDhlMmI0YTVkN2VwLTEsIDB4MS5iYThiODEwZjU1MDdmcDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgMHgxLmRlNTJhYTZhNWVjYWY4MDY3Nzk3YzllMmEyODFiMjNlcC05MDUsCi0gICAgMHgxLmZmNGFlMGU0NDBmYjZwLTEsIDB4MS5iYTkxOThhYjAzY2Q0cDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA1Ci0gICAgMHgxLjc2YmM1MmRjNzQzMWY4MDAwMDA1MzZhOTRiYzNkMzA1cDEzMywKLSAgICAweDEuZmY3N2ZmZmZmZmZmZnAxNSwgMHgxLjBiMWZkY2Q3NTkwYWJwMwotICB9LAotICB7IC8vIEVudHJ5IDIwNgotICAgIDB4MS41YzFjMmRlZDcyMTNkOTkxODM2ZmQyYWE4ZGZmNGRmN3AtMTAyMywKLSAgICAweDEuZmY3ZmZmZmZmZmZmZnAwLCAtMHgxLjAwMDAwMDAwY3AxMAotICB9LAotICB7IC8vIEVudHJ5IDIwNwotICAgIDB4MS43YTJiNGQ3MmNjZmFiN2ZlYmI2OGFiM2FjNDIyY2RhN3AtNjEzLAotICAgIDB4MS5mZjg1Nzk2ZTRmMDYzcC0xLCAweDEuYmI0NGI4NmNhMDkyOHAxOAotICB9LAotICB7IC8vIEVudHJ5IDIwOAotICAgIDB4MS4xOGEyZmFmOGI1ZjZlODAzMjgzN2U3ZDg3YWJjZmE1OHAtNDEwLAotICAgIDB4MS5mZmFlMTNlYmYxODcycC0xLCAweDEuYmJjMGQ3YzNhODgyY3AxOAotICB9LAotICB7IC8vIEVudHJ5IDIwOQotICAgIDB4MS4zOWU3ZDg0YTg5NTgyODIwNTM2NjZkOGM0MTkzODQ2NnAtNzM5LAotICAgIDB4MS5mZmYwMDAwMDA2MDcxcC0xLCAweDEuMDAwMDE0MHAyMgotICB9LAotICB7IC8vIEVudHJ5IDIxMAotICAgIDB4MS5lNmNlNmY0OWVhNjAyODAxNjA1MGY1ZjM4YWVmYzIwNHA3OTUsCi0gICAgMHgxLmZmZjgwMDAwMGU0ODNwMTAyMywgMHgxLjhkZjZiMGRmNmIwZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTEKLSAgICAweDEuOWFhYTNjZGQxMmRjMDVlMjQ2YjIzNDY1NGI4ZGM3NmZwLTQ0MiwKLSAgICAweDEuZmZmZmZlN2ZmZmZmZXAtMTAyMywgMHgxLmJhMmU4YmEyZThiYTRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAweDEuZjY2MzI3OGY3MzA0NDgzMmEyYzFjNTgyMGM1MWNkZTdwLTEsCi0gICAgMHgxLmZmZmZmZjNmZmZmZmZwLTgsIDB4MS4wMDAwMDBlcC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjEzCi0gICAgMHgxLmZmZmZmZmNkNTU1NTQ4MDFjNzIyYmY3ZjM3MTU2NGQ3cC0xLAotICAgIDB4MS5mZmZmZmZiZmZmZmZmcC0xLCAweDEuOTU1NTU1NTU1NTU1MnAtMQotICB9LAotICB7IC8vIEVudHJ5IDIxNAotICAgIDB4MS42MWM1MGFjOGUwMjU3MDAwY2EwZDhiOTM4ZGZlNzlhYnA1NjcsCi0gICAgMHgxLmZmZmZmZmJmZmZmZmZwMTAyMywgMHgxLjFiYmJiYmJiYmJiYjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTUKLSAgICAweDEuZmZmZmZmODAwMDAwMDhwLTE5OSwKLSAgICAweDEuZmZmZmZmY3AtMTAwLCAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE2Ci0gICAgMHgxLmZmZmZmZjg1MjkxYzY4MDNiODU0NzMzMmQwMWY2M2IxcDEwMjMsCi0gICAgMHgxLmZmZmZmZmZmOGZmZmZwNywgMHgxLmZmZmZmZmZmZTdlNDlwNgotICB9LAotICB7IC8vIEVudHJ5IDIxNwotICAgIDB4MS5mZmZmZmZjN2ZmZjQ1Zjk1MWYzYTc4ZGNiNTlhN2ZhNXAtODk3LAotICAgIDB4MS5mZmZmZmZmZmVmZmZmcC0yLCAweDEuYmZmZmZmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE4Ci0gICAgMHgxLjdiMjkzNThkNDVmNDFhMmYyM2VlMjJmODBiYjZmZDA4cDUwOCwKLSAgICAweDEuZmZmZmZmZmZmM2ZmZXAtMTAyMywgLTB4MS5mZDhmZDhmZDhmZDhlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE5Ci0gICAgMHgxLmUzNDM3ZTcwZmVjMjQ1NThjMTA3OWNhZGU1NjFlMjc2cC04MTAsCi0gICAgMHgxLmZmZmZmZmZmZmJmZmVwLTEwMjMsIDB4MS45NTU1NTU1NTU1NTUycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIwCi0gICAgMHgxLmZmZmZmZmZmZmRmZmY3ZmZmZmZlZmY5N2ZlNmZmZWZmcC0xLAotICAgIDB4MS5mZmZmZmZmZmZiZmZmcC0xLCAweDEuMDAwMDAwMDAwMDAwM3AtMQotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIDB4MS5mNjY5N2M3YWZhMGFjODI3ZDQ1YjQyOGI5YzEzZWE0NnA3NywKLSAgICAweDEuZmZmZmZmZmZmZjBkNnA5NTIsIDB4MS40ZjIwOTRmMjA5NGYwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIyCi0gICAgMHgxLmZmZmZmZmZmZmZiYzM3ZmZmZmZmZmY4MjQzNmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmYjRicC0xLCAweDEuY2NjY2NjY2NjY2NjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDIyMwotICAgIDB4MS5mZmZmZmZmZmZmY2ZlN2ZmZmZmZmZmZTIzMmNmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmNkNnAtMSwgMHgxLmU2NjY2NjY2NjY2NjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjQKLSAgICAweDEuZmZmZmZmZmZmZmYzNzdmZmZmZmZmZmRiZGZlZmZmZmZwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZlNmZwLTEsIDB4MS5mZmZmZmZmZmZmZmY4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI1Ci0gICAgMHgxLjAwMDAwMDAwMDAwM2M3ZmZmZmZmZmZlYjQzMWZmZmZmcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmMGVwLTEsIC0weDEuZmZmZmZmZmZmZmU5YnAtMgotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIDB4MS4wMDAwMDAwMDAwMTJkODAwMDAwMDAwZWNiOTgwcC0zLAotICAgIDB4MS5mZmZmZmZmZmZmZjM3cDAsIC0weDEuOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI3Ci0gICAgMHgxLmFlODlmOTk1YWFhOTNiOGFiZWEyYzdiN2NiY2RjNWUycDM3OCwKLSAgICAweDEuZmZmZmZmZmZmZmY5ZnAyLCAweDEuZjhmZmZmZmZmZmZmZnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI4Ci0gICAgMHgxLjAwMDAwMDAwMDE5MzQ4MDAwMDAxM2ZkNmIyNDAwMGFhcC0xMDE1LAotICAgIDB4MS5mZmZmZmZmZmZmZmE3cDYsIC0weDEuMjIwcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjkKLSAgICAweDEuZmZmZmZmZmZmZmZkMDdmZmZmZmZmZmZmZWM0ZmZmZmZwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmY2VwLTEsIDB4MS5lNjY2NjY2NjY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMwCi0gICAgMHgxLmZmZmZmZmZmZmYxY2U0ODVmZGY0YTVmZDNlNjcxZWE5cC0xMDIzLAotICAgIDB4MS5mZmZmZmZmZmZmZmVmcC01LCAweDEuZmVmZmZmZmZmZmZmZnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgMHgxLjAwMDAwMDAwMDAwMDQ3ZmZmZmZmZmZmZmZmZmZmZmZmcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZjdwLTEsIC0weDEuZmZmZmZmZmZmZmZmN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS4wMDAwMDAwMDAwMDAyODAwMDAwMDAwMDAwNjQwcC0xMDIzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZicDEwMjIsIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmY4MDAwMDA2ZmZmZmZmZDBwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEsIDB4MS5mZmZmZmUzZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM0Ci0gICAgMHgxLmZmZmZmZmZmZmZmMTcyMTdmN2QxY2Y4ZGEwY2M3N2NicDEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmRwMCwgMHgxLjAwMDAwMDAwMDAwMDJwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzUKLSAgICAweDEuZmZmZmZmZmZmZmY4YjkwYmZiZThlN2JmOTMyNTk2ZGZwMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZHAxLCAweDEuMDAwMDAwMDAwMDAwMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDA3ZmZmZmZmZmZmZmZmZGZmZmZmcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEsIC0weDEuZmZmZmZmZmZmZmZmZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDIzNwotICAgIDB4MS45ZmRmOGJjY2U1MzQ2MDA0YzVmOGZlMWZlNTJiMTExNXA1NiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtNjQsIC0weDEuY2NjY2NjY2NjY2NjZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDIzOAotICAgIDB4MS4zMzU0MDUzNjEzOTc1ODAxZTFmMThjNjA3ZDlmN2M5NnAtNTUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTIyNCwgMHgxLmY2YjBkZjZiMGRmNmFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzkKLSAgICAweDEuNDMzN2NkNmIxMWJkNzdmZjFkZmIxNmU3NzQ0N2VmOGVwMTU3LAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcC02NDIsIC0weDEuZjZiMGRmNmIwZGY2Y3AtMwotICB9LAotICB7IC8vIEVudHJ5IDI0MAotICAgIDB4MS45ZmRmOGJjY2U1NzFmYjNjOTU2MWYzMzdjOWM0MjdkNHAyNzgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTkzMCwgLTB4MS4zMzMzMzMzMzMzMzM3cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQxCi0gICAgMHgxLmRkYjY4MDExN2FiOTY4MDU3Nzk2ZTgxOTE0ZTc4NTk1cDkwOSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAxMiwgLTB4MS5jY2NjY2NjY2NjY2NkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQyCi0gICAgMHgxLjIzODdhNmU3NTYyMzMwMDBiNDljM2IwYmY5YzU0OTgycDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwNCwgMHgxLmU2NjY2NjY2NjY2NWNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDMKLSAgICAweDEuYTVhZGI4YzhlMzJjMTgwN2E3ZGE5MmI0M2Y3Y2M5MGNwNTQsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwNzUsIDB4MS43MGEzZDcwYTNkNzBmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ0Ci0gICAgMHgxLmVjMWRlYWJiZTNhOWVhZTI5YmRlNTZmODhlOGVmNGVlcDYyNywKLSAgICAweDEuZmZmZmZmZmZmZmZmZXA4MTMsIDB4MS44YWY4YWY4YWY4YWY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ1Ci0gICAgMHgxLmZmZmZmZmZmZmY4ZjlkY2NkNTJkNDcwYTg4MjY2OWMzcDY0NywKLSAgICAweDEuZmZmZmZmZmZmZmZmZXA4NjMsIDB4MS43ZmZmZmZmZmZmZmZkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ2Ci0gICAgMHgxLjAwMDAwMDA0ZGEyMGE3ZDI4MjFjZGZkNGY2MzQ3ZGQwcDEyOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywgLTB4MS4wMDAwMDAwMDBlMHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ3Ci0gICAgMHgxLjQ0Y2U1NDFiNjAzNDZjOTgwOTQ0NDNiOWZhYTg0YWJkcDEwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIDB4MS40YWZkNmEwNTJjMGUycC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgMHgxLmNiNzIwZGNlZjkwNjkxNTAzY2JkMWU5NDlkYjc2MWQ5cC0xLAotICAgIDB4MS4wcC01LCAweDEuMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDI0OQotICAgIDB4MS5wLTUsCi0gICAgMHgxLjBwLTUsIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTEKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDI1MgotICAgIDB4MS5wLTQwLAotICAgIDB4MS4wcC01LCAweDEuMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUzCi0gICAgMHgxLnAtMTYwLAotICAgIDB4MS4wcC01LCAweDEuMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU0Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS4wcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTUKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMHgxLjBwNQotICB9LAotICB7IC8vIEVudHJ5IDI1NgotICAgIDAuMCwKLSAgICAweDEuMHAtNSwgMHgxLjBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTcKLSAgICAwLjAsCi0gICAgMHgxLjBwLTUsIDB4MS4wcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU4Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU5Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS4wcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYwCi0gICAgMHgxLjExMzAxZDAxMjViNTBhNGViYmYxYWVkOTMxOGNlYWM1cDAsCi0gICAgMHgxLjBwMywgMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAweDEucDMsCi0gICAgMHgxLjBwMywgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDI2MgotICAgIDB4MS4xZDQ4NzMxNjhiOWFhNzgwNWI4MDI4OTkwZjA3YTk4YnAwLAotICAgIDB4MS4wcDUsIDB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLnA1LAotICAgIDB4MS4wcDUsIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjQKLSAgICAweDEucDI0LAotICAgIDB4MS4wcDMsIDB4MS4wcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjUKLSAgICAweDEucDk2LAotICAgIDB4MS4wcDMsIDB4MS4wcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjYKLSAgICAweDEucDQwLAotICAgIDB4MS4wcDUsIDB4MS4wcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjcKLSAgICAweDEucDE2MCwKLSAgICAweDEuMHA1LCAweDEuMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjBwMywgMHgxLjBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjkKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAzLCAweDEuMHAxMgotICB9LAotICB7IC8vIEVudHJ5IDI3MAotICAgIEhVR0VfVkFMLAotICAgIDB4MS4wcDUsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjBwNSwgMHgxLjBwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAweDEuM2RlYTY0YzEyMzQyMjM1YjQxMjIzZTEzZDc3M2ZiYTJwMCwKLSAgICAweDEuMHAxMCwgMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzMKLSAgICAweDEucDEwLAotICAgIDB4MS4wcDEwLCAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc0Ci0gICAgMHgxLjRiZmRhZDUzNjJhMjcxZDQzOTdhZmVjNDJlMjBlMDM2cDAsCi0gICAgMHgxLjBwMTIsIDB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc1Ci0gICAgMHgxLnAxMiwKLSAgICAweDEuMHAxMiwgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDI3NgotICAgIDB4MS5wODAsCi0gICAgMHgxLjBwMTAsIDB4MS4wcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzcKLSAgICAweDEucDMyMCwKLSAgICAweDEuMHAxMCwgMHgxLjBwNQotICB9LAotICB7IC8vIEVudHJ5IDI3OAotICAgIDB4MS5wOTYsCi0gICAgMHgxLjBwMTIsIDB4MS4wcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzkKLSAgICAweDEucDM4NCwKLSAgICAweDEuMHAxMiwgMHgxLjBwNQotICB9LAotICB7IC8vIEVudHJ5IDI4MAotICAgIDB4MS4wMDAwMDAwMDAwMDAxOThkNGQwZGEwNTU3MWU5YWQ0N3AyLAotICAgIDB4MS42YTA5ZTY2N2YzYmNjcC0xLCAtMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDI4MQotICAgIDB4MS5mZmZmZmZmZmZmZmZjY2U1NjVlNGJmNTUyMTQ2NzM4NXAtMywKLSAgICAweDEuNmEwOWU2NjdmM2JjY3AtMSwgMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDI4MgotICAgIDB4MS4wMDAwMDAwMDAwMDAxOThkNGQwZGEwNTU3MWU5YWQ0N3AtMiwKLSAgICAweDEuNmEwOWU2NjdmM2JjY3AwLCAtMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDI4MwotICAgIDB4MS5mZmZmZmZmZmZmZmZjY2U1NjVlNGJmNTUyMTQ2NzM4NXAxLAotICAgIDB4MS42YTA5ZTY2N2YzYmNjcDAsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODQKLSAgICAweDEuMDAwMDAwMDAwMDAwMTk4ZDRkMGRhMDU1NzFlOWFkNDdwMiwKLSAgICAweDEuNmEwOWU2NjdmM2JjY3AtMSwgLTB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODUKLSAgICAweDEuZmZmZmZmZmZmZmZmY2NlNTY1ZTRiZjU1MjE0NjczODVwLTMsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODYKLSAgICAweDEuMDAwMDAwMDAwMDAwMTk4ZDRkMGRhMDU1NzFlOWFkNDdwLTIsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NwMCwgLTB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuZmZmZmZmZmZmZmZmY2NlNTY1ZTRiZjU1MjE0NjczODVwMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjY3AwLCAweDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgMHgxLjAwMTYyZjM5MDQwNTFmYTJjMWI0ZTg1Mzc0NmI2ZjA0cDAsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEsIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAweDEuZmZkM2E1NjVlZmI2NGVhODhhODBkOGE1MjU1NGEzYTBwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NwLTEsIDB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIDB4MS5mZmQzYTU2NWVmYjY0ZWFlZWQ0NjcxODNiOGQ0NmE5NnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjY3AwLCAtMHgxLjBwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgMHgxLjAwMTYyZjM5MDQwNTFmOWY4ZmM0NmIzNzQzZjg1Y2JlcDAsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NwMCwgMHgxLjBwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgMHgxLjk0OGIwZmNkNmU5ZTA2NTIyYzNmMzViYTc4MTk0OGIwcDEsCi0gICAgMHgxLjhwLTEsIC0weDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkzCi0gICAgMHgxLjQ0cC0yLAotICAgIDB4MS44cC0xLCAweDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk0Ci0gICAgMHgxLjk0OGIwZmNkNmU5ZTA2NTIyYzNmMzViYTc4MTk0OGIwcC0zLAotICAgIDB4MS44cDAsIC0weDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk1Ci0gICAgMHgxLjQ0cDIsCi0gICAgMHgxLjhwMCwgMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIDB4MS4yNzlhNzQ1OTAzMzFjNGQyMThmODFlNGFmYjI1N2QwNnAwLAotICAgIDB4MS44cC0xLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTcKLSAgICAweDEuYmI2N2FlODU4NGNhYTczYjI1NzQyZDcwNzhiODNiODlwLTEsCi0gICAgMHgxLjhwLTEsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgMHgxLmEyMGJkNzAwYzJjM2RmYzA0MmNjMWFlZDc4NzFkYjQ1cC0xLAotICAgIDB4MS44cDAsIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI5OQotICAgIDB4MS4zOTg4ZTE0MDkyMTJlN2QwMzIxOTE0MzIxYTU1NjQ3M3AwLAotICAgIDB4MS44cDAsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAwCi0gICAgMHgxLjAwMTI2YTBiOTNkYjI5NGNhYmUzM2RhNzM1NDM3ZjUxcDAsCi0gICAgMHgxLjhwLTEsIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDEKLSAgICAweDEuZmZkYjJlOGVkMmExZmU3MWJkNTlmZGQ2MTAzMTMwNDZwLTEsCi0gICAgMHgxLjhwLTEsIDB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDMwMgotICAgIDB4MS5mZmNjMWM1OTczYjIxMjlhNWIxNDI0ZTBjODg3ODZiOHAtMSwKLSAgICAweDEuOHAwLCAtMHgxLjBwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLjAwMTlmNDc0YWExOTAwMzhjNmFmNzc1ZDkyZjFkNzI1cDAsCi0gICAgMHgxLjhwMCwgMHgxLjBwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA0Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA1Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAweDEucC00LAotICAgIDB4MS4wcDEsIC0weDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA3Ci0gICAgMHgxLnA0LAotICAgIDB4MS4wcDEsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA5Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEwCi0gICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xLAotICAgIDB4MS4wcDEsIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMxMQotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS4wcDEsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEyCi0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTMKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMHgxLjBwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLmZmYTc0ZWEzODFlZmMyMTdhNzczZjE1YzAyNWY3YzBkcC0xLAotICAgIDB4MS4wcDEsIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAweDEuMDAyYzYwNWUyZThjZWM1MDZkMjFiZmM4OWEyM2EwMTBwMCwKLSAgICAweDEuMHAxLCAweDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTYKLSAgICAweDEucDQwLAotICAgIDB4MS4wcC0xMCwgLTB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTcKLSAgICAweDEucC00MCwKLSAgICAweDEuMHAtMTAsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTgKLSAgICAweDEuZmUwMTNmNjA0NWU0MGE3YzQxNDk5MjIzYjRhMzhjZThwLTEsCi0gICAgMHgxLjAwNHAwLCAtMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDMxOQotICAgIDB4MS4wMTAwNjAxMDAxcDAsCi0gICAgMHgxLjAwNHAwLCAweDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLnA1LAotICAgIDB4MS4wcC0xMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgMHgxLnAtNSwKLSAgICAweDEuMHAtMTAsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgMHgxLmZmYzAwYmZkODA4YmUwODczNjUzNjQ3NDQ4MjIwZmRmcC0xLAotICAgIDB4MS4wMDRwMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIzCi0gICAgMHgxLjAwMWZmZTAwM2ZmNjAxYmZhYzEwN2NhNmIyOWEwYzMxcDAsCi0gICAgMHgxLjAwNHAwLCAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMyNAotICAgIDB4MS4wMWJkMWU3NzE3MGI0MTVlNzYyNjYyMWViNWFhZmY2MXAwLAotICAgIDB4MS4wcC0xMCwgLTB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDMyNQotICAgIDB4MS5mYzhiYzQ4NjZlOGFkMmI5NjNlMTgyOGIwNzYxY2JjNnAtMSwKLSAgICAweDEuMHAtMTAsIDB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDMyNgotICAgIDB4MS5mZmZmZTAwNDAwNTUzNTU4NDQ0NDNkZjg2ODBhOGUwNXAtMSwKLSAgICAweDEuMDA0cDAsIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjcKLSAgICAweDEuMDAwMDBmZmUwMGQ1MjU2Mjg1MzQwZTRmM2FkMzYyODdwMCwKLSAgICAweDEuMDA0cDAsIDB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDMyOAotICAgIDB4MS4wMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDQwcC0xMDI0LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmYwcDEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDMzMAotICAgIDB4MS4zYjJjNDdiZmY4MjcxOTQ0MjU2MDVhOTIzMTFhY2NlZXAxMDIwLAotICAgIDB4MS4wcC0xMDc0LCAtMHgxLmU2NjY2NjY2NjY2NjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzEKLSAgICAweDEuOWZkZjhiY2NlNTQyZjUwODE0MDU3ODM3Njc3YmFmODJwLTEwMjEsCi0gICAgMHgxLjBwLTEwNzQsIDB4MS5lNjY2NjY2NjY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgMHgxLjAwMDAwMDAwMDAwNjUxNTkxZjlkZDVjZGIxMTBmNmUzcC0zODQsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTcsIDB4MS5mZmZmZmZmZmZmZmZmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzMKLSAgICAweDEuZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAzZWZmZmZmZmZwLTM4NSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNywgMHgxLjBwNgotICB9LAotICB7IC8vIEVudHJ5IDMzNAotICAgIDB4MS5mZmZmZmZmZmZmZGFiYTliODE4OGFhNzQyODQxMWRkNXAtMzg1LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03LCAweDEuMDAwMDAwMDAwMDAwMXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM1Ci0gICAgMHgxLjAwMDAwMDAwMDAwODUxNTkxZjlkZDVkYzRiYzMzNjFmcC0zODQsCi0gICAgMHgxLjBwLTYsIDB4MS5mZmZmZmZmZmZmZmZmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzYKLSAgICAweDEucC0zODQsCi0gICAgMHgxLjBwLTYsIDB4MS4wcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzcKLSAgICAweDEuZmZmZmZmZmZmZmRlYmE5YjgxODhhYTJkZWQ3ODIwZTdwLTM4NSwKLSAgICAweDEuMHAtNiwgMHgxLjAwMDAwMDAwMDAwMDFwNgotICB9LAotICB7IC8vIEVudHJ5IDMzOAotICAgIDB4MS4wMDAwMDAwMDAwMGM1MTU5MWY5ZGQ2MDU1MTI3YjQ5NnAtMzg0LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02LCAweDEuZmZmZmZmZmZmZmZmZnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM5Ci0gICAgMHgxLjAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwN2UwcC0zODQsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYsIDB4MS4wcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDAKLSAgICAweDEuZmZmZmZmZmZmZmU2YmE5YjgxODhhOWI5MTdlNjI3MDlwLTM4NSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNiwgMHgxLjAwMDAwMDAwMDAwMDFwNgotICB9LAotICB7IC8vIEVudHJ5IDM0MQotICAgIDB4MS4wMDAwMDAwMDAwMDI3NzNhNzdkNzE5MTA2ZTkzOTU4MnAtMTYwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02LCAweDEuZmZmZmZmZmZmZmZmZnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQyCi0gICAgMHgxLmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMGY3ZmZmZmZmcC0xNjEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTYsIDB4MS4wcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDMKLSAgICAweDEuZmZmZmZmZmZmZmYwMjMxNjIwYTM5YzA5M2YxNmY4Y2VwLTE2MSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNiwgMHgxLjAwMDAwMDAwMDAwMDFwNQotICB9LAotICB7IC8vIEVudHJ5IDM0NAotICAgIDB4MS4wMDAwMDAwMDAwMDM3NzNhNzdkNzE5MTM2MWNlMGQ1YXAtMTYwLAotICAgIDB4MS4wcC01LCAweDEuZmZmZmZmZmZmZmZmZnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ1Ci0gICAgMHgxLnAtMTYwLAotICAgIDB4MS4wcC01LCAweDEuMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ2Ci0gICAgMHgxLmZmZmZmZmZmZmZmMjIzMTYyMGEzOWJmYThhMmQxOTcycC0xNjEsCi0gICAgMHgxLjBwLTUsIDB4MS4wMDAwMDAwMDAwMDAxcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDcKLSAgICAweDEuMDAwMDAwMDAwMDA1NzczYTc3ZDcxOTFjMzA0MmZkMDhwLTE2MCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNSwgMHgxLmZmZmZmZmZmZmZmZmZwNAotICB9LAotICB7IC8vIEVudHJ5IDM0OAotICAgIDB4MS4wMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDFmMHAtMTYwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01LCAweDEuMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ5Ci0gICAgMHgxLmZmZmZmZmZmZmZmNjIzMTYyMGEzOWJlMmYwNTk1YWI5cC0xNjEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUsIDB4MS4wMDAwMDAwMDAwMDAxcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTAKLSAgICAweDEuMDAwMDAwMDAwMDAwZTJlNDJmZWZhMzlmNTllMzZiY2JwLTY0LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01LCAweDEuZmZmZmZmZmZmZmZmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUxCi0gICAgMHgxLmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDNiZmZmZmZmcC02NSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNSwgMHgxLjBwNAotICB9LAotICB7IC8vIEVudHJ5IDM1MgotICAgIDB4MS5mZmZmZmZmZmZmZjk3NDZmNDA0MTcxOGVkNDU5OTBhMnAtNjUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTUsIDB4MS4wMDAwMDAwMDAwMDAxcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTMKLSAgICAweDEuMDAwMDAwMDAwMDAxNjJlNDJmZWZhMzlmZTk1NTgzYzNwLTY0LAotICAgIDB4MS4wcC00LCAweDEuZmZmZmZmZmZmZmZmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU0Ci0gICAgMHgxLnAtNjQsCi0gICAgMHgxLjBwLTQsIDB4MS4wcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTUKLSAgICAweDEuZmZmZmZmZmZmZmZhNzQ2ZjQwNDE3MThiZTI5MTMwYzNwLTY1LAotICAgIDB4MS4wcC00LCAweDEuMDAwMDAwMDAwMDAwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgMHgxLjAwMDAwMDAwMDAwMjYyZTQyZmVmYTNhMWJjMzliM2IzcC02NCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNCwgMHgxLmZmZmZmZmZmZmZmZmZwMwotICB9LAotICB7IC8vIEVudHJ5IDM1NwotICAgIDB4MS4wMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDA3OHAtNjQsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQsIDB4MS4wcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTgKLSAgICAweDEuZmZmZmZmZmZmZmZjNzQ2ZjQwNDE3MTg3NjcwMDcxMDRwLTY1LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00LCAweDEuMDAwMDAwMDAwMDAwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU5Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDQ1MTU5MWY5ZGQ1YmE1OTMyOGFicC0yNCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwgMHgxLmZmZmZmZmZmZmZmZmZwMgotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS5mZmZmZmZmZmZmZmY4MDAwMDAwMDAwMDAwZGZmZmZmZnAtMjUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTQsIDB4MS4wcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjEKLSAgICAweDEuZmZmZmZmZmZmZmZkNmJhOWI4MTg4YTkzMzJjZmUyNGFwLTI1LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00LCAweDEuMDAwMDAwMDAwMDAwMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYyCi0gICAgMHgxLjAwMDAwMDAwMDAwMDg1MTU5MWY5ZGQ1YmJkZDg4ZDJhcC0yNCwKLSAgICAweDEuMHAtMywgMHgxLmZmZmZmZmZmZmZmZmZwMgotICB9LAotICB7IC8vIEVudHJ5IDM2MwotICAgIDB4MS5wLTI0LAotICAgIDB4MS4wcC0zLCAweDEuMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZGViYTliODE4OGE5MmE3YmE1MDUwcC0yNSwKLSAgICAweDEuMHAtMywgMHgxLjAwMDAwMDAwMDAwMDFwMwotICB9LAotICB7IC8vIEVudHJ5IDM2NQotICAgIDB4MS4wMDAwMDAwMDAwMDEwNTE1OTFmOWRkNWMxODYzNTYyN3AtMjQsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMsIDB4MS5mZmZmZmZmZmZmZmZmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjYKLSAgICAweDEuMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMWNwLTI0LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zLCAweDEuMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZWViYTliODE4OGE5MWU1OGYyYzVjcC0yNSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywgMHgxLjAwMDAwMDAwMDAwMDFwMwotICB9LAotICB7IC8vIEVudHJ5IDM2OAotICAgIDB4MS4wMDAwMDAwMDAwMDAwYzVjODVmZGY0NzNkZjM3NTk3OXAtOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywgMHgxLmZmZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDM2OQotICAgIDB4MS5mZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMmZmZmZmZnAtOSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywgMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIDB4MS5mZmZmZmZmZmZmZmYwZThkZTgwODJlMzBiYTQyMzcxYXAtOSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywgMHgxLjAwMDAwMDAwMDAwMDFwMgotICB9LAotICB7IC8vIEVudHJ5IDM3MQotICAgIDB4MS4wMDAwMDAwMDAwMDAyYzVjODVmZGY0NzNlMjQyZWEzOHAtOCwKLSAgICAweDEuMHAtMiwgMHgxLmZmZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDM3MgotICAgIDB4MS5wLTgsCi0gICAgMHgxLjBwLTIsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzMKLSAgICAweDEuZmZmZmZmZmZmZmZmNGU4ZGU4MDgyZTMwYTUxM2Y0MWJwLTksCi0gICAgMHgxLjBwLTIsIDB4MS4wMDAwMDAwMDAwMDAxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzQKLSAgICAweDEuMDAwMDAwMDAwMDAwNmM1Yzg1ZmRmNDczZjE1YTBiYjhwLTgsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIsIDB4MS5mZmZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzUKLSAgICAweDEuMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDZwLTgsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIsIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzYKLSAgICAweDEuZmZmZmZmZmZmZmZmY2U4ZGU4MDgyZTMwOGNiNzZlMWRwLTksCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIsIDB4MS4wMDAwMDAwMDAwMDAxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzcKLSAgICAweDEuZmZmZmZmZmZmZmZmZjYyZTQyZmVmYTM5ZWZjZDk0MDRwLTMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsIDB4MS5mZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzgKLSAgICAweDEuZmZmZmZmZmZmZmZmZTAwMDAwMDAwMDAwMDA4MHAtMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwgMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDM3OQotICAgIDB4MS5mZmZmZmZmZmZmZmZiM2EzN2EwMjBiOGMyNGM2ZDFjNnAtMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwgMHgxLjAwMDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDM4MAotICAgIDB4MS4wMDAwMDAwMDAwMDAwYjE3MjE3ZjdkMWNmN2Q4M2MxYXAtMiwKLSAgICAweDEuMHAtMSwgMHgxLmZmZmZmZmZmZmZmZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDM4MQotICAgIDB4MS5wLTIsCi0gICAgMHgxLjBwLTEsIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODIKLSAgICAweDEuZmZmZmZmZmZmZmZmZDNhMzdhMDIwYjhjMjM4MTA5NjdwLTMsCi0gICAgMHgxLjBwLTEsIDB4MS4wMDAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODMKLSAgICAweDEuMDAwMDAwMDAwMDAwMmIxNzIxN2Y3ZDFjZjkzYjIwNGFwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsIDB4MS5mZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODQKLSAgICAweDEuMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDFwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODUKLSAgICAweDEuMDAwMDAwMDAwMDAwMDlkMWJkMDEwNWM2MTFmYWJjNTNwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsIDB4MS4wMDAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODYKLSAgICAweDEuZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDA3ZmZmZmZwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmYwcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAweDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg5Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkwCi0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTEKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDM5MgotICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZjdmZmZmZnAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkzCi0gICAgMHgxLjAwMDAwMDAwMDAwMDEwcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDM5NAotICAgIDB4MS4wMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMXAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTUKLSAgICAweDEuNmEwOWU2NjdmM2JjYmY3NGMyOTcwNDQwZDZkMmE4MzFwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAweDEuZmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDM5NgotICAgIDB4MS42YTA5ZTY2N2YzYmNjMzYwOGI2MTczOTdmNzY2MGEyM3AwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk3Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2NiMzgxY2Y2NTI0NjM4YWQ2YjQzcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgMHgxLjAwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAweDEuNmEwOWU2NjdmM2JjYzUxY2VhMzBhNDBmYzljNTJhZWNwMCwKLSAgICAweDEuMHAxLCAweDEuZmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDM5OQotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS4wcDEsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAwCi0gICAgMHgxLjZhMDllNjY3ZjNiY2QwZTA0NDhmZjIxNTJjNTZiZjFmcDAsCi0gICAgMHgxLjBwMSwgMHgxLjAwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDEKLSAgICAweDEuNmEwOWU2NjdmM2JjZDA2ZDM5NjNlM2FkYWY2NjRlODhwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAweDEuZmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIDB4MS42YTA5ZTY2N2YzYmNkNDU5MDIyZTUzMDRkMGIwODE5OXAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAzCi0gICAgMHgxLjZhMDllNjY3ZjNiY2RjMzA5M2MzMzFiMzEzNjU4NGY5cDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLjAwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDQKLSAgICAweDEuNmEwOWU2NjdmM2JjYzI0OGQ2NjNkNDI4NTA0OTE1N2JwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxLCAweDEuZmZmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDQwNQotICAgIDB4MS42YTA5ZTY2N2YzYmNjNjM0OWYyZTQzN2Y3MGZhZWY5Y3AwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEsIDB4MS4wcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2NlMGMzMGMzMjIyZGIyN2Y0MTFkcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMSwgMHgxLjAwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDcKLSAgICAweDEuNmEwOWU2NjdmM2JjYzUxY2VhMzBhNDBmYzljNTJhZWNwMCwKLSAgICAweDEuMHAyLCAweDEuZmZmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDQwOAotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS4wcDIsIDB4MS4wcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA5Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2QwZTA0NDhmZjIxNTJjNTZiZjFmcDAsCi0gICAgMHgxLjBwMiwgMHgxLjAwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTAKLSAgICAweDEuNmEwOWU2NjdmM2JjY2FjNTExY2E0M2RlYmM4YTZjNmJwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAyLCAweDEuZmZmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDQxMQotICAgIDB4MS42YTA5ZTY2N2YzYmNjZWIwZGE5NGIzMzVkZDk3YWYxY3AwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIsIDB4MS4wcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEyCi0gICAgMHgxLjZhMDllNjY3ZjNiY2Q2ODg2YzI5OTFlNDFmZDJkMWJkcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMiwgMHgxLjAwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTMKLSAgICAweDEuNGJmZGFkNTM2MmEyNmRkNWUwYmQwMjU5NGI1ODEyY2JwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAyLCAweDEuZmZmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDQxNAotICAgIDB4MS40YmZkYWQ1MzYyYTI3MDg4M2JjZGFiNjE4YmFhODIwNHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIsIDB4MS4wcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE1Ci0gICAgMHgxLjRiZmRhZDUzNjJhMjc1ZWNmMWVlZmQ3MjBjNjAzMzIxcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMiwgMHgxLjAwMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTYKLSAgICAweDEuNGJmZGFkNTM2MmEyNmYyMWRlNmE1NWJiZWRjMTVlYjRwMCwKLSAgICAweDEuMHAzLCAweDEuZmZmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDQxNwotICAgIDB4MS40YmZkYWQ1MzYyYTI3MWQ0Mzk3YWZlYzQyZTIwZTAzNnAwLAotICAgIDB4MS4wcDMsIDB4MS4wcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE4Ci0gICAgMHgxLjRiZmRhZDUzNjJhMjc3MzhlZjljNTBkNGFlZjBiNWU0cDAsCi0gICAgMHgxLjBwMywgMHgxLjAwMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTkKLSAgICAweDEuNGJmZGFkNTM2MmEyNzFiOWQ5YzRmYzgxMzI3OGJhYjZwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAzLCAweDEuZmZmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIDB4MS40YmZkYWQ1MzYyYTI3NDZjMzRkNWE1ODk3MmYyNjBjOXAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDMsIDB4MS4wcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIxCi0gICAgMHgxLjRiZmRhZDUzNjJhMjc5ZDBlYWY2Zjc5OWYzZjY3Zjk5cDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMywgMHgxLjAwMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjIKLSAgICAweDEuMzA2ZmUwYTMxYjcxNTBhMDRiNThhZDgwMjdjZWIwNTBwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAzLCAweDEuZmZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQyMwotICAgIDB4MS4zMDZmZTBhMzFiNzE1MjQ2NTU2OWY0YTJhM2RhNDNkNHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDMsIDB4MS4wcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDI0Ci0gICAgMHgxLjMwNmZlMGEzMWI3MTU1OTI2OThjODJlNzliZjg0NjEzcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMywgMHgxLjAwMDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjUKLSAgICAweDEuMzA2ZmUwYTMxYjcxNTEzODgzNDhmZjBkZTA3NGM1YTNwMCwKLSAgICAweDEuMHA0LCAweDEuZmZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQyNgotICAgIDB4MS4zMDZmZTBhMzFiNzE1MmRlOGQ1YTQ2MzA1Yzg1ZWRlY3AwLAotICAgIDB4MS4wcDQsIDB4MS4wcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDI3Ci0gICAgMHgxLjMwNmZlMGEzMWI3MTU2MmFhMTdjZDQ3NTU0YWYxOWI0cDAsCi0gICAgMHgxLjBwNCwgMHgxLjAwMDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjgKLSAgICAweDEuMzA2ZmUwYTMxYjcxNTI2OGYzMjlhMjI5NTFiMzhmNjFwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA0LCAweDEuZmZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQyOQotICAgIDB4MS4zMDZmZTBhMzFiNzE1NDBlZmQzYWU5NGJjZGNmZTEzM3AwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQsIDB4MS4wcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMwCi0gICAgMHgxLjMwNmZlMGEzMWI3MTU3NWIxMTVkNzc5MGM2MGY2MDBkcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwNCwgMHgxLjAwMDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzEKLSAgICAweDEuMWQ0ODczMTY4YjlhYTY0MWRiOTdiNDkxYTM3OTM2YWVwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA0LCAweDEuZmZmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDQzMgotICAgIDB4MS4xZDQ4NzMxNjhiOWFhNzM5MDk2MzYyZjYyODVjYjUxNnAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDQsIDB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgMHgxLjFkNDg3MzE2OGI5YWE5Mjc2NGZhYmZiZjMyMjYzNDYycDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwNCwgMHgxLjAwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzQKLSAgICAweDEuMWQ0ODczMTY4YjlhYTY4OTJkYjQ3YTM0OGEyMWIyYzdwMCwKLSAgICAweDEuMHA1LCAweDEuZmZmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDQzNQotICAgIDB4MS4xZDQ4NzMxNjhiOWFhNzgwNWI4MDI4OTkwZjA3YTk4YnAwLAotICAgIDB4MS4wcDUsIDB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM2Ci0gICAgMHgxLjFkNDg3MzE2OGI5YWE5NmViNzE3ODU2MjE4ZDYxOTkwcDAsCi0gICAgMHgxLjBwNSwgMHgxLjAwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzcKLSAgICAweDEuMWQ0ODczMTY4YjlhYTcxN2QxZWUwNTdhNTc2YzMwYzRwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA1LCAweDEuZmZmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDQzOAotICAgIDB4MS4xZDQ4NzMxNjhiOWFhODBlZmZiOWIzZGVkYzU3MTg0MHAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUsIDB4MS4wcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM5Ci0gICAgMHgxLjFkNDg3MzE2OGI5YWE5ZmQ1YjUxMTBhN2U2MmY2OWI2cDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwNSwgMHgxLjAwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDAKLSAgICAweDEuMTEzMDFkMDEyNWI1MDk5ZTkwZWE0M2Q2NTk5ZWUyYmJwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA1LCAweDEuZmZmZmZmZmZmZmZmZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDQ0MQotICAgIDB4MS4xMTMwMWQwMTI1YjUwYTJjOTVlZTBlYjQ3YWViMWE3OHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDUsIDB4MS4wcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQyCi0gICAgMHgxLjExMzAxZDAxMjViNTBiNDg5ZmY1YTQ3MGJkODQ2NzcxcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwNSwgMHgxLjAwMDAwMDAwMDAwMDFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDMKLSAgICAweDEuMTEzMDFkMDEyNWI1MDljMGI2ZWRlM2ZiMTAzZjkwMTdwMCwKLSAgICAweDEuMHA2LCAweDEuZmZmZmZmZmZmZmZmZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDQ0NAotICAgIDB4MS4xMTMwMWQwMTI1YjUwYTRlYmJmMWFlZDkzMThjZWFjNXAwLAotICAgIDB4MS4wcDYsIDB4MS4wcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQ1Ci0gICAgMHgxLjExMzAxZDAxMjViNTBiNmFjNWY5NDQ5NTc0Mjg3ZDlmcDAsCi0gICAgMHgxLjBwNiwgMHgxLjAwMDAwMDAwMDAwMDFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDYKLSAgICAweDEuMTEzMDFkMDEyNWI1MGEwNTAyZjUyNDQ0N2Q3ZGM0MGVwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA2LCAweDEuZmZmZmZmZmZmZmZmZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDQ0NwotICAgIDB4MS4xMTMwMWQwMTI1YjUwYTkzMDdmOGVmMjI5ZWNkNjQ5ZXAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDYsIDB4MS4wcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQ4Ci0gICAgMHgxLjExMzAxZDAxMjViNTBiYWYxMjAwODRkZWUxNmQ4MzNicDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwNiwgMHgxLjAwMDAwMDAwMDAwMDFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAweDEuZmZmZmZmZmZmZjI3NDZmNDA0MTc0NjI1NWM5OWU5MGJwMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAwLCAweDEuZmZmZmZmZmZmZmZmZXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDUwCi0gICAgMHgxLmZmZmZmZmZmZmY1M2EzN2EwMjBiYTkyNGIyNmNmYzU5cDEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgMHgxLmZmZmZmZmZmZmZmZmZwOQotICB9LAotICB7IC8vIEVudHJ5IDQ1MQotICAgIDB4MS5mZmZmZmZmZmZmODAwMDAwMDAwMDBmZmJmZmZmZmZmZXAxMDIzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUyCi0gICAgMHgxLmZmZmZmZmZmZmZkOGI5MGJmYmU4ZTkzMjgyNjVkODUxcDEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTMKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAwLCAweDEuMDAwMDAwMDAwMDAwMnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NAotICAgIDB4MS5mZmZmZmZmZmZmNjc0NmY0MDQxNzJmMGQzYjFhNmJmMnAxMDIzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIDB4MS5mZmZmZmZmZmZmZmZlcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTUKLSAgICAweDEuZmZmZmZmZmZmZjkzYTM3YTAyMGI5NzlhMjFhZDNkY2RwMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAweDEuZmZmZmZmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDU2Ci0gICAgMHgxLmZmZmZmZmZmZmZjMDAwMDAwMDAwMDNmZWZmZmZmZmZmcDEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgMHgxLjBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTcKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAweDEuMDAwMDAwMDAwMDAwMXAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIEhVR0VfVkFMLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIDB4MS4wMDAwMDAwMDAwMDAycDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU5Ci0gICAgMHgxLmZmZmZmZmZmZmZhNzQ2ZjQwNDE3MWZmMzE5OWFlZWQ3cDEwMjMsCi0gICAgMHgxLjBwMSwgMHgxLmZmZmZmZmZmZmZmZmVwOQotICB9LAotICB7IC8vIEVudHJ5IDQ2MAotICAgIDB4MS5mZmZmZmZmZmZmZDNhMzdhMDIwYjhlMGQ5MGVkN2YzZnAxMDIzLAotICAgIDB4MS4wcDEsIDB4MS5mZmZmZmZmZmZmZmZmcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjEKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAxLCAweDEuMHAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ2MgotICAgIEhVR0VfVkFMLAotICAgIDB4MS4wcDEsIDB4MS4wMDAwMDAwMDAwMDAxcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYzCi0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjBwMSwgMHgxLjAwMDAwMDAwMDAwMDJwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAweDEuZmZmZmZmZmZmZmZmZXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDY1Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLmZmZmZmZmZmZmZmZmZwOQotICB9LAotICB7IC8vIEVudHJ5IDQ2NgotICAgIEhVR0VfVkFMLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY3Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgMHgxLjAwMDAwMDAwMDAwMDFwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjgKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAweDEuMDAwMDAwMDAwMDAwMnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ2OQotICAgIEhVR0VfVkFMLAotICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsIDB4MS5mZmZmZmZmZmZmZmZlcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzAKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAweDEuZmZmZmZmZmZmZmZmZnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwgMHgxLjBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzIKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAweDEuMDAwMDAwMDAwMDAwMXAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ3MwotICAgIEhVR0VfVkFMLAotICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsIDB4MS4wMDAwMDAwMDAwMDAycDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc0Ci0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIC0weDEuMGNjMDAwMDAwMDAwMnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ3NQotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAwLCAtMHgxLjBjYzAwMDAwMDAwMDFwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzYKLSAgICAwLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgLTB4MS4wY2NwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzcKLSAgICAwLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwMCwgLTB4MS4wY2JmZmZmZmZmZmZmcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc4Ci0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDAsIC0weDEuMGNiZmZmZmZmZmZmZXAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ3OQotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAtMHgxLjBjYzAwMDAwMDAwMDJwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODAKLSAgICAwLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMCwgLTB4MS4wY2MwMDAwMDAwMDAxcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgxCi0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIC0weDEuMGNjcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsIC0weDEuMGNiZmZmZmZmZmZmZnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ4MwotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwLCAtMHgxLjBjYmZmZmZmZmZmZmVwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODQKLSAgICAwLjAsCi0gICAgMHgxLjBwMSwgLTB4MS4wY2MwMDAwMDAwMDAycDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg1Ci0gICAgMC4wLAotICAgIDB4MS4wcDEsIC0weDEuMGNjMDAwMDAwMDAwMXAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ4NgotICAgIDAuMCwKLSAgICAweDEuMHAxLCAtMHgxLjBjY3AxMAotICB9LAotICB7IC8vIEVudHJ5IDQ4NwotICAgIDAuMCwKLSAgICAweDEuMHAxLCAtMHgxLjBjYmZmZmZmZmZmZmZwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODgKLSAgICAwLjAsCi0gICAgMHgxLjBwMSwgLTB4MS4wY2JmZmZmZmZmZmZlcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg5Ci0gICAgMC4wLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIC0weDEuMGNjMDAwMDAwMDAwMnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ5MAotICAgIDAuMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxLCAtMHgxLjBjYzAwMDAwMDAwMDFwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTEKLSAgICAwLjAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgLTB4MS4wY2NwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTIKLSAgICAwLjAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMSwgLTB4MS4wY2JmZmZmZmZmZmZmcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkzCi0gICAgMC4wLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsIC0weDEuMGNiZmZmZmZmZmZmZXAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ5NAotICAgIDAuMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAtMHgxLjBjYzAwMDAwMDAwMDJwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTUKLSAgICAwLjAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDJwMSwgLTB4MS4wY2MwMDAwMDAwMDAxcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk2Ci0gICAgMC4wLAotICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsIC0weDEuMGNjcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk3Ci0gICAgMC4wLAotICAgIDB4MS4wMDAwMDAwMDAwMDAycDEsIC0weDEuMGNiZmZmZmZmZmZmZnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ5OAotICAgIDAuMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMnAxLCAtMHgxLjBjYmZmZmZmZmZmZmVwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTkKLSAgICAweDEuYTgyZTE0NjkwMjUyZTVlYTJjZmEzMGIyNWU5NDdjZWRwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3MHAtMiwgMHgxLmMzMGMzMGMzMGMyZmVwOAotICB9LAotICB7IC8vIEVudHJ5IDUwMAotICAgIDB4MS5hODJlMTQ2OTAyM2U4ZWE1Njc4ODNmY2QyNzQyZTRiN3AtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjcwcC0yLCAweDEuYzMwYzMwYzMwYzJmZnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAxCi0gICAgMHgxLmE4MmUxNDY5MDIyYTM3NjBhMjE2NGZlMWE0Y2QzYWEycC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzBwLTIsIDB4MS5jMzBjMzBjMzBjM3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgMHgxLmE4MmUxNDY5MDIxNWUwMWJkY2E0NjBlZmQ3MzM3ZWFlcC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzBwLTIsIDB4MS5jMzBjMzBjMzBjMzAxcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDMKLSAgICAweDEuYTgyZTE0NjkwMjAxODhkNzE3MzI3MmY3YmU3NWIwZGNwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3MHAtMiwgMHgxLmMzMGMzMGMzMGMzMDJwOAotICB9LAotICB7IC8vIEVudHJ5IDUwNAotICAgIDB4MS5hODJlMTQ2OTAyNmMwY2JmZTYxMzViMzhlNzZkM2E0N3AtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjcxcC0yLCAweDEuYzMwYzMwYzMwYzJmZXA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTA1Ci0gICAgMHgxLmE4MmUxNDY5MDI1N2I1N2IyMGExNjkxZmQwZDg1M2Q2cC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzFwLTIsIDB4MS5jMzBjMzBjMzBjMmZmcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDYKLSAgICAweDEuYTgyZTE0NjkwMjQzNWUzNjViMmY3ODAwNmYxZjViODdwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3MXAtMiwgMHgxLmMzMGMzMGMzMGMzcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDcKLSAgICAweDEuYTgyZTE0NjkwMjJmMDZmMTk1YmQ4N2RhYzI0MjUxNTlwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3MXAtMiwgMHgxLmMzMGMzMGMzMGMzMDFwOAotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIDB4MS5hODJlMTQ2OTAyMWFhZmFjZDA0Yjk4YWVjYTQxMzU0ZHAtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjcxcC0yLCAweDEuYzMwYzMwYzMwYzMwMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTA5Ci0gICAgMHgxLmE4MmUxNDY5MDI4NTMzOTU5ZjJjODczYzYxY2FmYjE4cC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzJwLTIsIDB4MS5jMzBjMzBjMzBjMmZlcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTAKLSAgICAweDEuYTgyZTE0NjkwMjcwZGM1MGQ5YmE5M2VmNmJmMmM2NmRwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3MnAtMiwgMHgxLmMzMGMzMGMzMGMyZmZwOAotICB9LAotICB7IC8vIEVudHJ5IDUxMQotICAgIDB4MS5hODJlMTQ2OTAyNWM4NTBjMTQ0OGExOWMyYWY2N2ZlNHAtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjcycC0yLCAweDEuYzMwYzMwYzMwYzNwOAotICB9LAotICB7IC8vIEVudHJ5IDUxMgotICAgIDB4MS5hODJlMTQ2OTAyNDgyZGM3NGVkNmIwNDI5ZWQ2Mjc3Y3AtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjcycC0yLCAweDEuYzMwYzMwYzMwYzMwMXA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTEzCi0gICAgMHgxLmE4MmUxNDY5MDIzM2Q2ODI4OTY0YmZlMmM3OTFiZDM1cC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzJwLTIsIDB4MS5jMzBjMzBjMzBjMzAycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTQKLSAgICAweDEuYTgyZTE0NjkwMjllNWE2YjU4NDViNGJjY2RhZGJmNjJwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3M3AtMiwgMHgxLmMzMGMzMGMzMGMyZmVwOAotICB9LAotICB7IC8vIEVudHJ5IDUxNQotICAgIDB4MS5hODJlMTQ2OTAyOGEwMzI2OTJkM2MwM2JmODkyM2M3Y3AtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjczcC0yLCAweDEuYzMwYzMwYzMwYzJmZnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTE2Ci0gICAgMHgxLmE4MmUxNDY5MDI3NWFiZTFjZDYxY2NiNGQ4NTJhN2I5cC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzNwLTIsIDB4MS5jMzBjMzBjMzBjM3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTE3Ci0gICAgMHgxLmE4MmUxNDY5MDI2MTU0OWQwN2VmZGEyNzZjZWYwMTE2cC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzNwLTIsIDB4MS5jMzBjMzBjMzBjMzAxcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTgKLSAgICAweDEuYTgyZTE0NjkwMjRjZmQ1ODQyN2RlODkzYjY2NzQ4OTVwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3M3AtMiwgMHgxLmMzMGMzMGMzMGMzMDJwOAotICB9LAotICB7IC8vIEVudHJ5IDUxOQotICAgIDB4MS5hODJlMTQ2OTAyYjc4MTQxMTE1ZWUzYmEyYjE1ODcyM3AtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjc0cC0yLCAweDEuYzMwYzMwYzMwYzJmZXA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTIwCi0gICAgMHgxLmE4MmUxNDY5MDJhMzI5ZmM0YmVjZWUwNTc2YjZiNjAzcC01MDAsCi0gICAgMHgxLmRiNmRiNmRiNmRiNzRwLTIsIDB4MS5jMzBjMzBjMzBjMmZmcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjEKLSAgICAweDEuYTgyZTE0NjkwMjhlZDJiNzg2N2FmOTRhNzczM2QzMDVwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3NHAtMiwgMHgxLmMzMGMzMGMzMGMzcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAweDEuYTgyZTE0NjkwMjdhN2I3MmMxMDkwNTg5MmM4Y2RlMjlwLTUwMCwKLSAgICAweDEuZGI2ZGI2ZGI2ZGI3NHAtMiwgMHgxLmMzMGMzMGMzMGMzMDFwOAotICB9LAotICB7IC8vIEVudHJ5IDUyMwotICAgIDB4MS5hODJlMTQ2OTAyNjYyNDJkZmI5NzEyYzE5NmMxZDc2ZHAtNTAwLAotICAgIDB4MS5kYjZkYjZkYjZkYjc0cC0yLCAweDEuYzMwYzMwYzMwYzMwMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTI0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZlMDAwMDAwMDAwMDAwMWZmZmZmZnAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjUKLSAgICAtMHgxLnAwLAotICAgIC0weDEuMHAwLCAtMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDUyNgotICAgIC0weDEuMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDA0MHAwLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjcKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAxLCAweDEuMHAxMAotICB9LAotICB7IC8vIEVudHJ5IDUyOAotICAgIEhVR0VfVkFMLAotICAgIDB4MS4wcDIsIDB4MS4wcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjkKLSAgICAweDEuZmZmZmZmZmZmZmVjNWM4NWZkZjQ3NDNmZDYxMmIyOGFwLTEwMjUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsIDB4MS5mZmZmZmZmZmZmZmZmcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAweDEuZmZmZmZmZmZmZmMwMDAwMDAwMDAwM2ZlZmZmZmZmZmZwLTEwMjUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTIsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMxCi0gICAgMHgxLmZmZmZmZmZmZmY2NzQ2ZjQwNDE3MmYwNTNiMWE2YmYycC0xMDI1LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yLCAweDEuMDAwMDAwMDAwMDAwMXAxMAotICB9LAotICB7IC8vIEVudHJ5IDUzMgotICAgIDB4MS4wMDAwMDAwMDAwMTYyZTQyZmVmYTNhZTUzMzY5Mzg4Y3AtMTAyNCwKLSAgICAweDEuMHAtMSwgMHgxLmZmZmZmZmZmZmZmZmZwOQotICB9LAotICB7IC8vIEVudHJ5IDUzMwotICAgIDB4MS5wLTEwMjQsCi0gICAgMHgxLjBwLTEsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM0Ci0gICAgMHgxLmZmZmZmZmZmZmZhNzQ2ZjQwNDE3MWZmMzE5OWFlZWQ3cC0xMDI1LAotICAgIDB4MS4wcC0xLCAweDEuMDAwMDAwMDAwMDAwMXAxMAotICB9LAotICB7IC8vIEVudHJ5IDUzNQotICAgIDB4MS4wMDAwMDAwMDAwNTYyZTQyZmVmYTQ4NmNjNDI4ZjcxY3AtMTAyNCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwgMHgxLmZmZmZmZmZmZmZmZmZwOQotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIDB4MS4wMDAwMDAwMDAwNDAwMDAwMDAwMDA3ZmVwLTEwMjQsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEsIDB4MS4wcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM3Ci0gICAgMHgxLjAwMDAwMDAwMDAxM2EzN2EwMjBiOGNlNDZiNGRmYTRlcC0xMDI0LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xLCAweDEuMDAwMDAwMDAwMDAwMXAxMAotICB9LAotICB7IC8vIEVudHJ5IDUzOAotICAgIDB4MS4wMDAwMDAwMDAwNzQ1MTlhNTYyMzUzM2RmOGRjZDM1M3AtMTA3NCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLmZmZmZmZmZmZmZmZmJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzkKLSAgICAweDEuMDAwMDAwMDAwMDVkMGUxNTExYjVkN2Y3MmM2MTM2OGFwLTEwNzQsCi0gICAgMHgxLjBwLTEwNzQsIDB4MS5mZmZmZmZmZmZmZmZjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQwCi0gICAgMHgxLjAwMDAwMDAwMDA0NWNhOGZjZDQ4NWVjZDkzYTZlYzlkcC0xMDc0LAotICAgIDB4MS4wcC0xMDc0LCAweDEuZmZmZmZmZmZmZmZmZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU0MQotICAgIDB4MS4wMDAwMDAwMDAwMmU4NzBhODhkYWU3YzEyZWFkZjU4Y3AtMTA3NCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLmZmZmZmZmZmZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDIKLSAgICAweDEuMDAwMDAwMDAwMDE3NDM4NTQ0NmQ3MmQxZmQ3NjUxNThwLTEwNzQsCi0gICAgMHgxLjBwLTEwNzQsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQzCi0gICAgMHgxLnAtMTA3NCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NAotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NQotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjAwMDAwMDAwMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NgotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjAwMDAwMDAwMDAwMDNwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NwotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjAwMDAwMDAwMDAwMDRwMAotICB9LAotICB7IC8vIEVudHJ5IDU0OAotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjAwMDAwMDAwMDAwMDVwMAotICB9LAotICB7IC8vIEVudHJ5IDU0OQotICAgIDB4MS4wMDAwMDAwMDAwNzQzNWUwODI2NDlhNjhmNjRmZTMwNnAtMTA3MywKLSAgICAweDEuMHAtMTA3MywgMHgxLmZmZmZmZmZmZmZmZmJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTAKLSAgICAweDEuMDAwMDAwMDAwMDVjZjdlNmNlYjZkZGI1MmUxYjA5OWVwLTEwNzMsCi0gICAgMHgxLjBwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUxCi0gICAgMHgxLjAwMDAwMDAwMDA0NWI5ZWQxYjA5MjMxZDk3YzU2YzlkcC0xMDczLAotICAgIDB4MS4wcC0xMDczLCAweDEuZmZmZmZmZmZmZmZmZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU1MgotICAgIDB4MS4wMDAwMDAwMDAwMmU3YmYzNjc1YjZhYTIzMzRmMGMwMnAtMTA3MywKLSAgICAweDEuMHAtMTA3MywgMHgxLmZmZmZmZmZmZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTMKLSAgICAweDEuMDAwMDAwMDAwMDE3M2RmOWIzYWRiNDQzMDBiN2U3Y2VwLTEwNzMsCi0gICAgMHgxLjBwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU0Ci0gICAgMHgxLnAtMTA3MywKLSAgICAweDEuMHAtMTA3MywgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDU1NQotICAgIDB4MS5mZmZmZmZmZmZmYTMwODE5MzE0OTNiOWQyODViY2IyYnAtMTA3NCwKLSAgICAweDEuMHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDU1NgotICAgIDB4MS5mZmZmZmZmZmZmNDYxMDMyNjI5Mjg4MWJkZmIxNzk4M3AtMTA3NCwKLSAgICAweDEuMHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDU1NwotICAgIDB4MS5mZmZmZmZmZmZlZTkxODRiOTNkYmU1N2MyNjAxMGIwNHAtMTA3NCwKLSAgICAweDEuMHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDNwMAotICB9LAotICB7IC8vIEVudHJ5IDU1OAotICAgIDB4MS5mZmZmZmZmZmZlOGMyMDY0YzUyNTUzYmRmYjRhN2ZhZHAtMTA3NCwKLSAgICAweDEuMHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDRwMAotICB9LAotICB7IC8vIEVudHJ5IDU1OQotICAgIDB4MS5mZmZmZmZmZmZlMmYyODdkZjY2ZWQyZTE1ZjhkZDc3YXAtMTA3NCwKLSAgICAweDEuMHAtMTA3MywgMHgxLjAwMDAwMDAwMDAwMDVwMAotICB9LAotICB7IC8vIEVudHJ5IDU2MAotICAgIDB4MS44MDAwMDAwMDAwYWUzODdjZDFlOGYzZjM5ZmUxNTdmOXAtMTA3MywKLSAgICAweDEuOHAtMTA3MywgMHgxLmZmZmZmZmZmZmZmZmJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjEKLSAgICAweDEuODAwMDAwMDAwMDhiNjA2M2RiMjBiY2Q2N2I0ZjViYTVwLTEwNzMsCi0gICAgMHgxLjhwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYyCi0gICAgMHgxLjgwMDAwMDAwMDA2ODg4NGFlNDU4ODhlMmJmNmZkNGFmcC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuZmZmZmZmZmZmZmZmZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU2MwotICAgIDB4MS44MDAwMDAwMDAwNDViMDMxZWQ5MDU4MTg2YzQyYzMxN3AtMTA3MywKLSAgICAweDEuOHAtMTA3MywgMHgxLmZmZmZmZmZmZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjQKLSAgICAweDEuODAwMDAwMDAwMDIyZDgxOGY2YzgyYTc3ODFjODI2ZGNwLTEwNzMsCi0gICAgMHgxLjhwLTEwNzMsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY1Ci0gICAgMHgxLjgwcC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY2Ci0gICAgMHgxLjdmZmZmZmZmZmZiYTRmY2UxMjZmYjQ4ZDM2ODcxMjVkcC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY3Ci0gICAgMHgxLjdmZmZmZmZmZmY3NDlmOWMyNGRmNzVjMDBmZDdmYTJlcC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuMDAwMDAwMDAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY4Ci0gICAgMHgxLjdmZmZmZmZmZmYyZWVmNmEzNzRmNDM5ODhiZjJiNzZlcC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuMDAwMDAwMDAwMDAwM3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY5Ci0gICAgMHgxLjdmZmZmZmZmZmVlOTNmMzg0OWJmMWUxNmFhZDc0YTFkcC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuMDAwMDAwMDAwMDAwNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcwCi0gICAgMHgxLjdmZmZmZmZmZmVhMzhmMDY1YzJmMDUzYTZjODViMjM3cC0xMDczLAotICAgIDB4MS44cC0xMDczLCAweDEuMDAwMDAwMDAwMDAwNXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcxCi0gICAgMHgxLjAwMDAwMGEwY2Y2NWViMTgxN2E3MDk1ZDlhMDQ0M2E3cDAsCi0gICAgMHgxLjBwLTI5LCAtMHgxLjBwLTI5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTcyCi0gICAgMHgxLmZmZmZmZjVmMzA5YTYwYWFkNWMyMzA5ZjgxZjkwZGVmcC0xLAotICAgIDB4MS4wcC0yOSwgMHgxLjBwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTczCi0gICAgMHgxLmZmZmZmZDllMDdjZjA3NzY3YTU1YWZiZTlhY2FlOTNlcC0xLAotICAgIDB4MS4wcDU1LCAtMHgxLjBwLTI5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTc0Ci0gICAgMHgxLjAwMDAwMDk4N2UwY2M2NjM0NGQ4OWI0OTRlMWY0M2IzcDAsCi0gICAgMHgxLjBwNTUsIDB4MS4wcC0zMAotICB9LAotICB7IC8vIEVudHJ5IDU3NQotICAgIDB4MS5mZmZmZmQ2Njk0MjdjZjE1OTUxNTg3Mzg4N2MxN2NmMnAtMSwKLSAgICAweDEuMHA2MCwgLTB4MS4wcC0yOQotICB9LAotICB7IC8vIEVudHJ5IDU3NgotICAgIDB4MS4wMDAwMDBhNjVhZjZhZTYxYmU4OGVhMjU1ODc5MGNkN3AwLAotICAgIDB4MS4wcDYwLCAweDEuMHAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzcKLSAgICAweDEuZmZmZmZmZmZmZTAwMDAwMDAwMDBmZmY3ZmZmZmZmYWFwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIDB4MS4wcDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc4Ci0gICAgMHgxLmZmZmZmZmZmZjAwMDAwMDAwMDNmZmZiZmZmZmY1NTU3cC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAweDEuMHAxNgotICB9LAotICB7IC8vIEVudHJ5IDU3OQotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAweDEuMHAxMwotICB9LAotICB7IC8vIEVudHJ5IDU4MAotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAweDEuMHAxNgotICB9LAotICB7IC8vIEVudHJ5IDU4MQotICAgIDB4MS4wMDAwMDAwMDAyMDAwMDAwMDAwMWZmZjAwMDAwMDE1NXAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIDB4MS4wcDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgyCi0gICAgMHgxLjAwMDAwMDAwMTAwMDAwMDAwMDdmZmY4MDAwMDJhYWEycDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgMHgxLjBwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODMKLSAgICAweDEuZmZmZmZmYzAwMDAwMDQwMDAwMDFkNTU1NTUxNmFhYWFwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHAyNQotICB9LAotICB7IC8vIEVudHJ5IDU4NAotICAgIDB4MS5mZmZmZmUwMDAwMDBmZmZmZmZiYWFhYWFiMDAwMDAwM3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg1Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCAtMHgxLjBwMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODYKLSAgICAweDEucDAsCi0gICAgLTB4MS4wcDAsIC0weDEuMHAyOAotICB9LAotICB7IC8vIEVudHJ5IDU4NwotICAgIDB4MS4wMDAwMDAxMDAwMDAwMDgwMDAwMDQyYWFhYWFlYjU1NXAwLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg4Ci0gICAgMHgxLjAwMDAwMDgwMDAwMDIwMDAwMDA3NTU1NTU3cDAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODkKLSAgICAweDEuMzY4YjJmYzZmOTYwYTRjMWQ5YWE2MjhmZTNmMTNmZmZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA1MQotICB9LAotICB7IC8vIEVudHJ5IDU5MAotICAgIDB4MS41ZmMyMTA0MTAyN2IyM2IwNTE1NmI4YWVhOGI1ZTkyNXAtMTIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA1NQotICB9LAotICB7IC8vIEVudHJ5IDU5MQotICAgIDB4MS5wMCwKLSAgICAtMHgxLjBwMCwgLTB4MS4wcDUxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkyCi0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCAtMHgxLjBwNTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTMKLSAgICAweDEuNDhiNWUzYzNlODE4NjdiZjMxYTc3YTgzYzMyYzQ3NDRwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA1MQotICB9LAotICB7IC8vIEVudHJ5IDU5NAotICAgIDB4MS5iNGM5MDJlMjczYTVhMWM1NjcwMWU3MTVlZGFmMjExNXA1LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTk1Ci0gICAgMHgxLjVmYzIxMDQxMDI3YjIzYjA1MTU2YjhhZWE4YjVlOTI1cC0xMiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTk2Ci0gICAgMHgxLjk2OWQ0NzMyMWU0ZmU3ZjliYjhjNDNhNWU0ODZiOWFlcC05MywKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDU4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTk3Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCAtMHgxLjBwNTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTgKLSAgICAweDEucDAsCi0gICAgLTB4MS4wcDAsIC0weDEuMHA1OAotICB9LAotICB7IC8vIEVudHJ5IDU5OQotICAgIDB4MS5iNGM5MDJlMjczYTVhMWM1NjcwMWU3MTVlZGFmMjExNXA1LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjAwCi0gICAgMHgxLjFmNDNmY2M0YjY2MzU3N2E0NWVhOWI0OWNjZTllZTczcDQ2LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDU4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjAxCi0gICAgMHgxLjQ0MTA5ZWRiMjBhNzU2YWQ3NjdkMjUxNWM5NGEwMDNhcC03MzksCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHA2MQotICB9LAotICB7IC8vIEVudHJ5IDYwMgotICAgIDAuMCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDY0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjAzCi0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCAtMHgxLjBwNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDQKLSAgICAweDEucDAsCi0gICAgLTB4MS4wcDAsIC0weDEuMHA2NAotICB9LAotICB7IC8vIEVudHJ5IDYwNQotICAgIDB4MS40MWM3YTg4MTRiZjBhODAxYzUzNTNmMzAyYTQwY2M3ZnAzNjksCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDYKLSAgICBIVUdFX1ZBTCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuMHA2NAotICB9LAotICB7IC8vIEVudHJ5IDYwNwotICAgIDB4MS4wMDAwMDAxMDAwMDAwMDgwMDAwMDQyYWFhYWFlYjU1NXAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDgKLSAgICAweDEuMDAwMDAwODAwMDAwMjAwMDAwMDc1NTU1NTdwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjA5Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuMHAyNQotICB9LAotICB7IC8vIEVudHJ5IDYxMAotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAtMHgxLjBwMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTEKLSAgICAweDEuZmZmZmZmYzAwMDAwMDQwMDAwMDFkNTU1NTUxNmFhYWFwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEyCi0gICAgMHgxLmZmZmZmZTAwMDAwMGZmZmZmZmJhYWFhYWIwMDAwMDAzcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsIC0weDEuMHAyOAotICB9LAotICB7IC8vIEVudHJ5IDYxMwotICAgIDB4MS40OGI1ZTNjM2U4MTg2N2JmMzFhNzdhODNjMzJjNDc0NHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwNTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTQKLSAgICAweDEuYjRjOTAyZTI3M2E1YTFjNTY3MDFlNzE1ZWRhZjIxMTVwNSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjE1Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuMHA1MQotICB9LAotICB7IC8vIEVudHJ5IDYxNgotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAtMHgxLjBwNTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTcKLSAgICAweDEuMzY4YjJmYzZmOTYwYTRjMWQ5YWE2MjhmZTNmMTNmZmZwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDUxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE4Ci0gICAgMHgxLjVmYzIxMDQxMDI3YjIzYjA1MTU2YjhhZWE4YjVlOTI1cC0xMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwNTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTkKLSAgICAweDEuYjRjOTAyZTI3M2E1YTFjNTY3MDFlNzE1ZWRhZjIxMTVwNSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjIwCi0gICAgMHgxLjFmNDNmY2M0YjY2MzU3N2E0NWVhOWI0OWNjZTllZTczcDQ2LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwNTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjEKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjIyCi0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuMHA1OAotICB9LAotICB7IC8vIEVudHJ5IDYyMwotICAgIDB4MS41ZmMyMTA0MTAyN2IyM2IwNTE1NmI4YWVhOGI1ZTkyNXAtMTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjI0Ci0gICAgMHgxLjk2OWQ0NzMyMWU0ZmU3ZjliYjhjNDNhNWU0ODZiOWFlcC05MywKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwNTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjUKLSAgICAweDEuNDFjN2E4ODE0YmYwYTgwMWM1MzUzZjMwMmE0MGNjN2ZwMzY5LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLCAtMHgxLjBwNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjYKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgLTB4MS4wcDY0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjI3Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuMHA2MQotICB9LAotICB7IC8vIEVudHJ5IDYyOAotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAtMHgxLjBwNjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjkKLSAgICAweDEuNDQxMDllZGIyMGE3NTZhZDc2N2QyNTE1Yzk0YTAwM2FwLTczOSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAwLCAtMHgxLjBwNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzAKLSAgICAwLjAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMCwgLTB4MS4wcDY0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMxCi0gICAgSFVHRV9WQUwsCi0gICAgLTB4MS4wcDE1LCAweDEuMHA2MwotICB9LAotICB7IC8vIEVudHJ5IDYzMgotICAgIEhVR0VfVkFMLAotICAgIDAuMCwgLTB4MS44cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzMKLSAgICAtSFVHRV9WQUwsCi0gICAgLTAuMCwgLTB4MS44cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzQKLSAgICBIVUdFX1ZBTCwKLSAgICAwLjAsIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM1Ci0gICAgLUhVR0VfVkFMLAotICAgIC0wLjAsIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM2Ci0gICAgSFVHRV9WQUwsCi0gICAgMC4wLCAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDYzNwotICAgIEhVR0VfVkFMLAotICAgIDAuMCwgLTB4MS44cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzgKLSAgICBIVUdFX1ZBTCwKLSAgICAwLjAsIC0weDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM5Ci0gICAgSFVHRV9WQUwsCi0gICAgMC4wLCAtMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDY0MAotICAgIEhVR0VfVkFMLAotICAgIDAuMCwgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQxCi0gICAgSFVHRV9WQUwsCi0gICAgMC4wLCAtMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICBIVUdFX1ZBTCwKLSAgICAwLjAsIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDY0MwotICAgIEhVR0VfVkFMLAotICAgIC0wLjAsIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ0Ci0gICAgSFVHRV9WQUwsCi0gICAgLTAuMCwgLTB4MS44cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDUKLSAgICBIVUdFX1ZBTCwKLSAgICAtMC4wLCAtMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDY0NgotICAgIEhVR0VfVkFMLAotICAgIC0wLjAsIC0weDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ3Ci0gICAgSFVHRV9WQUwsCi0gICAgLTAuMCwgLTB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ4Ci0gICAgSFVHRV9WQUwsCi0gICAgLTAuMCwgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ5Ci0gICAgSFVHRV9WQUwsCi0gICAgLTAuMCwgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjUwCi0gICAgSFVHRV9WQUwsCi0gICAgMC4wLCAtSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTEKLSAgICBIVUdFX1ZBTCwKLSAgICAtMC4wLCAtSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTIKLSAgICAwLjAsCi0gICAgMC4wLCAweDEuOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUzCi0gICAgLTAuMCwKLSAgICAtMC4wLCAweDEuOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU0Ci0gICAgMC4wLAotICAgIDAuMCwgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDY1NQotICAgIC0wLjAsCi0gICAgLTAuMCwgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDY1NgotICAgIDAuMCwKLSAgICAwLjAsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU3Ci0gICAgMC4wLAotICAgIDAuMCwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDY1OAotICAgIDAuMCwKLSAgICAwLjAsIDB4MS44cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTkKLSAgICAwLjAsCi0gICAgMC4wLCAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYwCi0gICAgMC4wLAotICAgIDAuMCwgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDY2MQotICAgIDAuMCwKLSAgICAwLjAsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYyCi0gICAgMC4wLAotICAgIDAuMCwgMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjMKLSAgICAwLjAsCi0gICAgMC4wLCAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDY2NAotICAgIDAuMCwKLSAgICAtMC4wLCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDY2NQotICAgIDAuMCwKLSAgICAtMC4wLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgMC4wLAotICAgIC0wLjAsIDB4MS44cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjcKLSAgICAwLjAsCi0gICAgLTAuMCwgMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDY2OAotICAgIDAuMCwKLSAgICAtMC4wLCAweDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY5Ci0gICAgMC4wLAotICAgIC0wLjAsIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcwCi0gICAgMC4wLAotICAgIC0wLjAsIDB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcxCi0gICAgMC4wLAotICAgIC0wLjAsIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjcyCi0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDY3MwotICAgIDB4MS5wMCwKLSAgICAtMHgxLjBwMCwgLUhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc0Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc1Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDY3NgotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc3Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc4Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc5Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMHAwLCAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDY4MAotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4MQotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODIKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODMKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg1Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDY4NgotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDY4NwotICAgIDB4MS5wMCwKLSAgICAweDEuMHAwLCAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODgKLSAgICAweDEucDAsCi0gICAgMHgxLjBwMCwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg5Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcDAsIC0wLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTAKLSAgICAweDEucDAsCi0gICAgSFVHRV9WQUwsIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDY5MQotICAgIDB4MS5wMCwKLSAgICBIVUdFX1ZBTCwgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDY5MgotICAgIDB4MS5wMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTMKLSAgICAweDEucDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDY5NAotICAgIDB4MS5wMCwKLSAgICAweDEuMHAtMTAyMiwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk1Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcC0xMDIyLCAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk2Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcC0xMDc0LCAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTcKLSAgICAweDEucDAsCi0gICAgMHgxLjBwLTEwNzQsIC0wLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTgKLSAgICAweDEucDAsCi0gICAgMC4wLCAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTkKLSAgICAweDEucDAsCi0gICAgMC4wLCAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAwCi0gICAgMHgxLnAwLAotICAgIC0wLjAsIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDcwMQotICAgIDB4MS5wMCwKLSAgICAtMC4wLCAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAyCi0gICAgMHgxLnAwLAotICAgIC0weDEuMHAtMTA3NCwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAzCi0gICAgMHgxLnAwLAotICAgIC0weDEuMHAtMTA3NCwgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDcwNAotICAgIDB4MS5wMCwKLSAgICAtMHgxLjBwLTEwMjIsIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDcwNQotICAgIDB4MS5wMCwKLSAgICAtMHgxLjBwLTEwMjIsIC0wLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDYKLSAgICAweDEucDAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDcwNwotICAgIDB4MS5wMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDcwOAotICAgIDB4MS5wMCwKLSAgICAtSFVHRV9WQUwsIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDcwOQotICAgIDB4MS5wMCwKLSAgICAtSFVHRV9WQUwsIC0wLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTAKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAtMTAyMiwgLUhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzExCi0gICAgSFVHRV9WQUwsCi0gICAgMHgxLjBwLTEwNzQsIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDcxMgotICAgIEhVR0VfVkFMLAotICAgIC0weDEuMHAtMTA3NCwgLUhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEzCi0gICAgSFVHRV9WQUwsCi0gICAgLTB4MS4wcC0xMDIyLCAtSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTQKLSAgICAwLjAsCi0gICAgSFVHRV9WQUwsIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDcxNQotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAtSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTYKLSAgICAwLjAsCi0gICAgMHgxLjhwMCwgLUhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE3Ci0gICAgMC4wLAotICAgIC0weDEuOHAwLCAtSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTgKLSAgICAwLjAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDcxOQotICAgIDAuMCwKLSAgICAtSFVHRV9WQUwsIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDcyMAotICAgIDAuMCwKLSAgICAweDEuMHAtMTAyMiwgSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjEKLSAgICAwLjAsCi0gICAgMHgxLjBwLTEwNzQsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIyCi0gICAgMC4wLAotICAgIDAuMCwgSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjMKLSAgICAwLjAsCi0gICAgLTAuMCwgSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjQKLSAgICAwLjAsCi0gICAgLTB4MS4wcC0xMDc0LCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDcyNQotICAgIDAuMCwKLSAgICAtMHgxLjBwLTEwMjIsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI2Ci0gICAgSFVHRV9WQUwsCi0gICAgSFVHRV9WQUwsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI3Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywgSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjgKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuOHAwLCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDcyOQotICAgIEhVR0VfVkFMLAotICAgIC0weDEuOHAwLCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDczMAotICAgIEhVR0VfVkFMLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDczMQotICAgIEhVR0VfVkFMLAotICAgIC1IVUdFX1ZBTCwgSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzIKLSAgICAtMC4wLAotICAgIC1IVUdFX1ZBTCwgLTB4MS44cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzMKLSAgICAtMC4wLAotICAgIC1IVUdFX1ZBTCwgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzQKLSAgICAwLjAsCi0gICAgLUhVR0VfVkFMLCAtSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzUKLSAgICAwLjAsCi0gICAgLUhVR0VfVkFMLCAtMHgxLjkyMWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIDAuMCwKLSAgICAtSFVHRV9WQUwsIC0weDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM3Ci0gICAgMC4wLAotICAgIC1IVUdFX1ZBTCwgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzgKLSAgICAwLjAsCi0gICAgLUhVR0VfVkFMLCAtMHgxLjhwMgotICB9LAotICB7IC8vIEVudHJ5IDczOQotICAgIDAuMCwKLSAgICAtSFVHRV9WQUwsIC0weDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQwCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTCwgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQxCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTCwgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzQyCi0gICAgLUhVR0VfVkFMLAotICAgIC1IVUdFX1ZBTCwgMHgxLjhwMQotICB9LAotICB7IC8vIEVudHJ5IDc0MwotICAgIC1IVUdFX1ZBTCwKLSAgICAtSFVHRV9WQUwsIDB4MS40cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDQKLSAgICBIVUdFX1ZBTCwKLSAgICAtSFVHRV9WQUwsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgSFVHRV9WQUwsCi0gICAgLUhVR0VfVkFMLCAweDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ2Ci0gICAgSFVHRV9WQUwsCi0gICAgLUhVR0VfVkFMLCAweDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ3Ci0gICAgSFVHRV9WQUwsCi0gICAgLUhVR0VfVkFMLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ4Ci0gICAgSFVHRV9WQUwsCi0gICAgLUhVR0VfVkFMLCAweDEuOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ5Ci0gICAgSFVHRV9WQUwsCi0gICAgLUhVR0VfVkFMLCAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUwCi0gICAgSFVHRV9WQUwsCi0gICAgLUhVR0VfVkFMLCAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDc1MQotICAgIEhVR0VfVkFMLAotICAgIC1IVUdFX1ZBTCwgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTIKLSAgICAwLjAsCi0gICAgSFVHRV9WQUwsIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDc1MwotICAgIDAuMCwKLSAgICBIVUdFX1ZBTCwgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU0Ci0gICAgMC4wLAotICAgIEhVR0VfVkFMLCAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDc1NQotICAgIDAuMCwKLSAgICBIVUdFX1ZBTCwgLUhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU2Ci0gICAgSFVHRV9WQUwsCi0gICAgSFVHRV9WQUwsIEhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU3Ci0gICAgSFVHRV9WQUwsCi0gICAgSFVHRV9WQUwsIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTgKLSAgICBIVUdFX1ZBTCwKLSAgICBIVUdFX1ZBTCwgMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTkKLSAgICBIVUdFX1ZBTCwKLSAgICBIVUdFX1ZBTCwgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjAKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxMDIzLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYxCi0gICAgMC4wLAotICAgIDB4MS4wcC0xMDIyLCAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYyCi0gICAgMC4wLAotICAgIC0weDEuMHAtMTAyMiwgMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDc2MwotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NCwgMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDc2NAotICAgIDAuMCwKLSAgICAtMHgxLjBwLTEwNzQsIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjUKLSAgICBIVUdFX1ZBTCwKLSAgICBIVUdFX1ZBTCwgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjYKLSAgICAweDEuZmZmZmZmZmZmZmZmZjdmZmZmZmZmZmZmZmZlZmZmZmZwNTExLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY3Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC0xLAotICAgIDB4MS4wcC0xLCAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc2OAotICAgIDB4MS5wLTUxMSwKLSAgICAweDEuMHAtMTAyMiwgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjkKLSAgICAweDEucC01MzcsCi0gICAgMHgxLjBwLTEwNzQsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcwCi0gICAgMC4wLAotICAgIDAuMCwgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzEKLSAgICAwLjAsCi0gICAgLTAuMCwgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzIKLSAgICBIVUdFX1ZBTCwKLSAgICAtSFVHRV9WQUwsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzczCi0gICAgMC4wLAotICAgIEhVR0VfVkFMLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAweDEuMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAxOHAtNTEyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc3NQotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS4wcC0xLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzYKLSAgICAweDEucDUxMSwKLSAgICAweDEuMHAtMTAyMiwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc3Ci0gICAgMHgxLnA1MzcsCi0gICAgMHgxLjBwLTEwNzQsIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc3OAotICAgIEhVR0VfVkFMLAotICAgIDAuMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc5Ci0gICAgSFVHRV9WQUwsCi0gICAgLTAuMCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgwCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTCwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgxCi0gICAgMC4wLAotICAgIDB4MS4wcC0xLCBIVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDc4MgotICAgIDAuMCwKLSAgICAweDEuMHAtMSwgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDc4MwotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKLSAgICAweDEuMHAtMSwgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEsIDB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xLCAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDc4NgotICAgIDB4MS5wMCwKLSAgICAweDEuMHAtMSwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg3Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcC0xLCAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg4Ci0gICAgMHgxLnAwLAotICAgIDB4MS4wcC0xLCAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODkKLSAgICAweDEucDAsCi0gICAgMHgxLjBwLTEsIC0weDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDc5MAotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS4wcC0xLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTEKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAtMSwgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTIKLSAgICBIVUdFX1ZBTCwKLSAgICAweDEuMHAtMSwgLUhVR0VfVkFMCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkzCi0gICAgMC4wLAotICAgIC0weDEuMHAtMSwgSFVHRV9WQUwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTQKLSAgICAwLjAsCi0gICAgLTB4MS4wcC0xLCAweDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk1Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMHAtMSwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk2Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMHAtMSwgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDc5NwotICAgIEhVR0VfVkFMLAotICAgIC0weDEuMHAtMSwgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTgKLSAgICBIVUdFX1ZBTCwKLSAgICAtMHgxLjBwLTEsIC1IVUdFX1ZBTAotICB9LAotICB7IC8vIEVudHJ5IDc5OQotICAgIDB4MS5wMSwKLSAgICAweDEuMHAyLCAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDgwMAotICAgIDB4MS44MHAxLAotICAgIDB4MS4ycDMsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODAxCi0gICAgMHgxLnAyLAotICAgIDB4MS4wcDQsIDB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODAyCi0gICAgMHgxLnAtMSwKLSAgICAweDEuMHAyLCAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDMKLSAgICAweDEucC0yLAotICAgIDB4MS4wcDQsIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDgwNAotICAgIDB4MS5wLTMsCi0gICAgMHgxLjBwNiwgLTB4MS4wcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODA1Ci0gICAgSFVHRV9WQUwsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsIC0weDEuNzQ5MTBkNTJkMzA1MnA2MgotICB9LAotICB7IC8vIEVudHJ5IDgwNgotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMSwgMHgxLjc0OTEwZDUyZDMwNTJwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDcKLSAgICAweDEucDIsCi0gICAgMHgxLjBwMSwgMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDgwOAotICAgIDB4MS5wLTIsCi0gICAgMHgxLjBwMSwgLTB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDkKLSAgICAweDEucDIsCi0gICAgLTB4MS4wcDEsIDB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTAKLSAgICAweDEucC0yLAotICAgIC0weDEuMHAxLCAtMHgxLjBwMQotICB9LAotICB7IC8vIEVudHJ5IDgxMQotICAgIDB4MS5iMHA0LAotICAgIDB4MS44cDEsIDB4MS44cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTIKLSAgICAweDEuODZhMHAxMSwKLSAgICAweDEuNHAyLCAweDEuNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODEzCi0gICAgMHgxLjkyMWVlMHAxOSwKLSAgICAweDEuY3AyLCAweDEuY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgODE0Ci0gICAgMHgxLjJhMDVmMnAzMywKLSAgICAweDEuNHAzLCAweDEuNHAzCi0gIH0sCi19OwotI2VuZGlmIC8vIF9fQklPTklDX18KLQotVEVTVChtYXRoX3BvdywgcG93X2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX3Bvd19pbnRlbF9kYXRhKS9zaXplb2YocG93X2ludGVsX2RhdGFfdCk7IGkrKykgewotICAgIEVYUEVDVF9ET1VCTEVfRVEoZ19wb3dfaW50ZWxfZGF0YVtpXS5leHBlY3RlZCwgcG93KGdfcG93X2ludGVsX2RhdGFbaV0ueF9jYWxsX2RhdGEsIGdfcG93X2ludGVsX2RhdGFbaV0ueV9jYWxsX2RhdGEpKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOwotICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi19CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX3Bvd2ZfdGVzdC5jcHAgYi90ZXN0cy9tYXRoX3Bvd2ZfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3N2IyM2EuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9wb3dmX3Rlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjc4OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPG1hdGguaD4KLQotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGZsb2F0IGV4cGVjdGVkOwotICBmbG9hdCB4X2NhbGxfZGF0YTsKLSAgZmxvYXQgeV9jYWxsX2RhdGE7Ci19IHBvd2ZfaW50ZWxfZGF0YV90OwotCi1zdGF0aWMgcG93Zl9pbnRlbF9kYXRhX3QgZ19wb3dmX2ludGVsX2RhdGFbXSA9IHsKLSAgeyAvLyBFbnRyeSAwCi0gICAgSFVHRV9WQUxGLAotICAgIC0wLjAsIC0weDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIDAuMGYsCi0gICAgLTB4MS5wLTUsIDB4MS5lMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMgotICAgIC0wLjBmLAotICAgIC0weDEucC0zMCwgMHgxLjQwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzCi0gICAgMHgxLnAwLAotICAgIC0weDEucDAsIDB4MS4wMDAwMDJwMzIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgMHgxLnAwLAotICAgIC0weDEuMDAwMDAycC00MSwgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNQotICAgIDB4MS5kMWEwMjkxMjg3NzhmY2EzZjlhMjYxYmUxY2I4NmJlN3AtMTIxLAotICAgIC0weDEuMDAwMDA2cDAsIC0weDEuYmMxZWUycDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNgotICAgIDB4MS5kYTZlM2ZmMjAyZGE3NTJkZTUyM2Y5ODQ2MzAzYzBiNXAtMTI0LAotICAgIC0weDEuMDAwMDBhcDAsIC0weDEuMTExMTEycDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNwotICAgIDB4MS5lYjcwYTJmYmI4YjI0ODliOGQ4MzhlYjY1ZWQ2NzZhY3AtOTEsCi0gICAgLTB4MS4wMDAwMGFwMCwgLTB4MS44ZjgzZTRwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA4Ci0gICAgSFVHRV9WQUxGLAotICAgIC0weDEuMDAwMDI4cDAsIDB4MS4yMHA0NAotICB9LAotICB7IC8vIEVudHJ5IDkKLSAgICAweDEuMDAyMDAxcC00LAotICAgIC0weDEuMDAxMHAtMiwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAKLSAgICAweDEuMDAyMDAxcC04MiwKLSAgICAtMHgxLjAwMTBwLTQxLCAweDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIDB4MS4wMDQwMDRwLTgyLAotICAgIC0weDEuMDAyMHAtNDEsIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDEyCi0gICAgMHgxLjAwNjAwOXAtMTIsCi0gICAgLTB4MS4wMDMwcC02LCAweDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMwotICAgIC0weDEuZmI4NTlhZGJkYjdkZjY5NzRjNWM5YTU0ODllNjk3MmFwNTMsCi0gICAgLTB4MS4wMDQwcC02LCAtMHgxLjIwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNAotICAgIDB4MS4wMDgwMTBwLTgyLAotICAgIC0weDEuMDA0MHAtNDEsIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDE1Ci0gICAgMHgxLjAwZTAzMXAtNDAsCi0gICAgLTB4MS4wMDcwcC0yMCwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAweDEuMzFlNDUyZmZmZmVjOTZhM2Q1YTg4MmZlMjQ0ZjhjNjNwLTEsCi0gICAgLTB4MS4wNDZlZjRwMCwgLTB4MS5lMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcKLSAgICAweDEuMzNlOGYzMDRwLTM2LAotICAgIC0weDEuMDhwLTYsIDB4MS44MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgKLSAgICAweDEuZDgyMDAxZmU5ZDZiZGJiYTk4NjM4ZGVmOGQzN2U1MGJwLTEyNCwKLSAgICAtMHgxLjFlYzM4Y3AwLCAtMHgxLjc4cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIC0weDEuNDVmM2JkZWFhNWY2MGQxMjFjM2ZhNzUxZGJkNzU4YWRwMzYsCi0gICAgLTB4MS5iZmZmZmVwLTYsIC0weDEuYzBwMgotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLmRmNDFhZTdlZjRlMTVlOGFkNDVjNzI5M2RkYzNmZTdkcDYxLAotICAgIC0weDEuZmZmZmZhcC0xLCAtMHgxLmM5YjI0NHAyNwotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgMHgxLmRmNDZmMjZmMWYxMjlhNTQ5MjIwMjJmOWI2NTNhOTlmcDYxLAotICAgIC0weDEuZmZmZmZhcC0xLCAtMHgxLmM5YjI2MnAyNwotICB9LAotICB7IC8vIEVudHJ5IDIyCi0gICAgLTB4MS4wMDAwMDMwMDAwMDkwMDAwMWIwMDAwNTEwMDAwZjNwMjEsCi0gICAgLTB4MS5mZmZmZmFwLTIyLCAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMKLSAgICAtMHgxLjAwMDAwMzAwMDAwOTAwMDAxYjAwMDA1MTAwMDBmM3AtOTksCi0gICAgLTB4MS5mZmZmZmFwOTgsIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIC0weDEuNzhiNTVlZjhhZWNiMGI3YzViODg2NWUyNzE1N2Q4MjRwLTIsCi0gICAgLTB4MS5mZmZmZmNwLTEsIDB4MS4wMDAwMDJwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNQotICAgIC0weDEuZmZmZmZlcC00MSwKLSAgICAtMHgxLmZmZmZmZXAtNDEsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgMHgxLnA3MSwKLSAgICAweDEucC0yLCAtMHgxLjFjcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS5kNTgwNzEwZTM4NDYzYzNkZDYyZmNlOThmMjAzYjQ3MXAtMSwKLSAgICAweDEucC0yLCAweDEuMDAwN3AtNAotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLnAtMTUsCi0gICAgMHgxLnAtMiwgMHgxLmUwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIDAuMGYsCi0gICAgMHgxLnAtMywgMHgxLjhmZmZmZXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzAKLSAgICAweDEucC00MCwKLSAgICAweDEucC01LCAweDEucDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMQotICAgIDB4MS5wNDAsCi0gICAgMHgxLnAtMTAsIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIDB4MS5lY2ZmZjBiNDQ5ZDdjOWE1ZDQ5NGM4ODRjNzE3ZjljZHAtODgsCi0gICAgMHgxLnAtMTQ0LCAweDEuMzU4NmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMKLSAgICAweDEuZWNmZmYwYjQ0OWQ3YzlhNWQ0OTRjODg0YzcxN2Y5Y2RwLTEwNiwKLSAgICAweDEucC0xNDQsIDB4MS43NTg2ZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNAotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucC0xNDksIC0weDEuY2NhY2NjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLnAtMTQ5LCAtMHgxLmU2ZTY2NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmU4ZTEwMTM1NWJkOTc1YmZlYzNmYjVlZDM3NTc3NzdkcC0xLAotICAgIDB4MS4wMDAwMDJwLTIsIDB4MS4xMTExcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcKLSAgICAweDEuZGRiNjQzNDdhNTVlNDUyZWQwNGQ2YTE3M2NhNWI1NmNwOTksCi0gICAgMHgxLjAwMDAwMnAtMTExLCAtMHgxLmNjY2NjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM4Ci0gICAgMHgxLjU1OGU5OTAwMDRhOGViYjNlODE3NjI3NWJhOWYxMDUycDUyLAotICAgIDB4MS4wMDAwMDJwLTExMiwgLTB4MS5kZjNiNWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOQotICAgIDB4MS5mZmZmZmQwMDAwMDUzZmZmZjY2MDAwMTIwYmZmZGRiNnA5MiwKLSAgICAweDEuMDAwMDAycC0xMjQsIC0weDEuODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MAotICAgIDB4MS5mZmZmZmZmZmZmZjgwMDAwMDgwMDAwMDU1NTU1NDU1NXAtMSwKLSAgICAweDEuMDAwMDAycDAsIC0weDEucC0yMwotICB9LAotICB7IC8vIEVudHJ5IDQxCi0gICAgMHgxLmZmZmZmZmZmZmZmOTAwMDAwNzAwMDAwMmVhYWFhMDJhcC0xLAotICAgIDB4MS4wMDAwMDJwMCwgLTB4MS5jMHAtMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MgotICAgIDB4MS5kZGI2NTMwZDQ4NWI3YmFkYjQ0MWE0NDYwY2E1NGM2MnA5LAotICAgIDB4MS4wMDAwMDJwMTEsIDB4MS5jY2NjYzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MwotICAgIDB4MS5kOTAxNzkwY2Q5ZDFiOWQ4Y2RmNjE2Mjk2NDc5MDIyZnAtMTQsCi0gICAgMHgxLjAwMDAwMnAxNywgLTB4MS44YWY4YjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NAotICAgIDB4MS5lNmQzZjkwZDQxNDQ0N2IyZjI0NjdkNGMyMTQ0OTZiZHAzMCwKLSAgICAweDEuMDAwMDAycDQyLCAweDEuNzkwNGE0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUKLSAgICAweDEuMDAwMDEyZmZmZmQ2ODAwNGZhN2ZiMTU5MTA4ZWM5N2RwMCwKLSAgICAweDEuMDAwMDFjcDAsIDB4MS41YjZkYmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NgotICAgIDB4MS5kMTc0ODEwZTFlNDUyN2YwMTE1NDdkZmM0ZGM2YjQ4Y3AtMywKLSAgICAweDEuMDAwMDFjcDMsIC0weDEuNmNjY2NlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcKLSAgICAweDEuZDU4MTk3MGU4YjRjY2M5ZGJjMjg4OTliZDE4NDhlMjRwLTEsCi0gICAgMHgxLjAwMDAyZXAtMiwgMHgxLmZmZmZjZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ4Ci0gICAgMHgxLjAwMDQ1NTAwMDMxMmNjNmU3OWNlZDY1M2MzOGQ3ZTJhcDAsCi0gICAgMHgxLjAwMDAzOHAtNTAsIC0weDEuZmZmNzdlcC0yMAotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgMHgxLjAwNDgwOTAwYTgwN2UwM2YwMTUwMDQ4MDA5MDAwOHAtODEsCi0gICAgMHgxLjAwMDhwLTksIDB4MS4yMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAKLSAgICAweDEuZmZjMDA0ZmZiMDA0NWZjODAyOWZlMjAxNDlmMjQwOGVwMzksCi0gICAgMHgxLjAwMDhwLTEwLCAtMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAweDEuZmVjMWJiMzViNWE4MjY1MjYxMDFhZGFiMDY5NWQxZDNwLTEsCi0gICAgMHgxLjAwZTBwMCwgLTB4MS42Y2NjY2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIDB4MS5mYWRiZGUxODdhY2JhNWIzYTZjNGNkZTc4ZTFiYmI0YXA0NSwKLSAgICAweDEuMDFmZmZjcDAsIDB4MS5wMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIDB4MS5mZjFmYjZmZjc5YTVlMDM5MWIxZDdkZmIxNGRlN2RlNnAyMiwKLSAgICAweDEuMDFmZmZlcDAsIDB4MS4wMDBjYjZwMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NAotICAgIDB4MS42Y2JiYzJmZmY2NGM3M2FhYjAwMzNkZjc1N2YzODA4ZHAxMSwKLSAgICAweDEuMDIyMHAwLCAweDEuZTI5NWYycDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIDB4MS5mODFmNTMxMmJhNDQ5NDIxYmQ5MzkzYWQ4ZGY1M2FhZXAtMSwKLSAgICAweDEuMDRwMCwgLTB4MS4wMDA2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIDB4MS5mZmU4OGFmZmZmZmYzM2U5MzNjZmFhZDVmMGVlMjY3OHAtMSwKLSAgICAweDEuMDhjN2VlcC0xNiwgMHgxLjBmOTRiMnAtMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIDB4MS4wMDAwZGNmZmZmYzZmZWU3ZTRhYWMwOWEzZDlmYjlhMXAwLAotICAgIDB4MS4wZXAtMjAsIC0weDEuMDAwY2RjcC0yMAotICB9LAotICB7IC8vIEVudHJ5IDU4Ci0gICAgMHgxLjcwY2UwNWU2Mjk4MDNjMGNhNDc0ODIzOTJhODgyZGVicC0zLAotICAgIDB4MS4wZXAzLCAtMHgxLjliOTFiYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDU5Ci0gICAgMHgxLjVhODkyNmU0NzNmNjE0OGE1YTM4M2JmYTFlZDBiMzM1cC05MCwKLSAgICAweDEuMGZmZmZlcDAsIC0weDEuMDAwMGZlcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAweDEuOGVjNWIyZTE2MDY3MjhmMjFjZjJjOTBjMmU0ZDJhOWJwLTkzLAotICAgIDB4MS4wZmZmZmVwMCwgLTB4MS4wN2ZmZmVwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MQotICAgIDB4MS5hNDdkZDRmZmZmZTI1NDg2MzE0MzUxNDEzODM3YjJmZHA0LAotICAgIDB4MS4xNjI0cC00LCAtMHgxLjM3MjBjMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIKLSAgICAweDEuNDQyNDAxcDAsCi0gICAgMHgxLjIwMTBwMCwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMKLSAgICAweDEuZTdhYWYyZmZmZmJjZTg2YTRmZDJjZjljYjUzZDdlNTVwLTEsCi0gICAgMHgxLjI1MzI2NHAwLCAtMHgxLjZmODI2ZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDY0Ci0gICAgMHgxLjRkNjMyOTAwNTJkNGQyZDg5NGI0NjM1Y2I5Yjk4MTMwcC0zOSwKLSAgICAweDEuMjcxMWM4cC02LCAweDEuYWE4MDRlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NQotICAgIDB4MS5iMjAxNjhkYTBmYzFmY2E2ZDNjMWI4YzIzZmRjYWYzOXA0OSwKLSAgICAweDEuMmFhYWFhcC0xLCAtMHgxLmZmZjFmZXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAweDEuZWUyNmMxMmViZjViNjQ5YmVmOTU0ODRlY2UxMTMwMDdwMiwKLSAgICAweDEuMmY3ZGMwcC0yMywgLTB4MS4wOTY3YzBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIDB4MS5iYzkwNTkwMDAwMDAyZWUxMTc2M2M2ZmUyNDE4NzMwY3AtMiwKLSAgICAweDEuMzM0NDc4cC0yLCAweDEuNjJlNDJlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgKLSAgICAweDEuOGM4YzgzMDAzMDhjZWU3YzFhNDFiMDkyOTQzMjNjZmJwLTgyLAotICAgIDB4MS4zZmZmZmVwLTEsIDB4MS5lMHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjkKLSAgICAweDEuNjQzZDRlZmZmZTYwNmUwNTZlNDAzNWIwYmVjYzIwZmRwLTUsCi0gICAgMHgxLjNmZmZmZXAtNDAsIDB4MS5kMmYxOTBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MAotICAgIDB4MS5mODE0ODkxNGQ0ZWEzYWY5NGVlNzI0NTcyZjJlZThmZnAtMSwKLSAgICAweDEuNDFkNDIwcDIwLCAtMHgxLjIycC0xMAotICB9LAotICB7IC8vIEVudHJ5IDcxCi0gICAgMHgxLmNkNmU5MTAwMDM4YzkzYTdkY2U3MmExMTNjYTU2YzcwcC0yLAotICAgIDB4MS40NDNhNDJwLTIsIDB4MS42MmU0MmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MgotICAgIDB4MS5mODk1OTEwZjM5MmYzYjhmY2M2NDFhZTg3MTY0ZDY4NHAtMSwKLSAgICAweDEuNDVhMmE4cDEsIC0weDEucC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzMKLSAgICAweDEuZTNkZmY4ZmZmNmU5ZWZkNGYxNjdhN2I5MWViODgyYWZwLTEsCi0gICAgMHgxLjQ1ZDE3NHAtMSwgMHgxLjAwMDAxY3AtMwotICB9LAotICB7IC8vIEVudHJ5IDc0Ci0gICAgMHgxLmQzMzJmMGZmZmM4MzEyOGE3ZmM3YmQ1NmJlMjdlNzU1cC0yLAotICAgIDB4MS40YTE3MDRwLTIsIDB4MS42MmU0MmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NQotICAgIDB4MS5kNWFlNzkwMDAzY2IxN2NmODNkZWI1ZTJjYzBlYTAxY3AtMiwKLSAgICAweDEuNGM5Zjk0cC0yLCAweDEuNjJlNDJlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYKLSAgICAweDEuY2E4ZWM2ZWQ1ZGYzOWY5OTFmODA4ZDk0ZGQ1Yzg4MzRwODgsCi0gICAgMHgxLjRlOWNjMnAtMzAsIC0weDEuODBwMQotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgMHgxLmQ5YjY0OGZmZmMxNjdlZDhiOTE3YjY0Zjc0N2U2MjcwcC0yLAotICAgIDB4MS41MGJmYzhwLTIsIDB4MS42MmU0MmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OAotICAgIDB4MS5kYTk1MDcwMDAxYTM3OTlmZWUwMmVhMDM0MzU3YThjMnAtMiwKLSAgICAweDEuNTFhNDUwcC0yLCAweDEuNjJlNDJlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkKLSAgICAweDEuZmU5NTdiMzhjNWI2OTU5YmIwZWE4MGU0M2M3MDllY2FwLTEsCi0gICAgMHgxLjY3OTI4NnAtMTEsIDB4MS44ZWE4MjRwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAweDEuYWNhOTFiNWYzODgyZjM2ZGNkYWIyYThkNjQxYzBhYjVwLTU2LAotICAgIDB4MS43NDVkMThwLTQsIDB4MS5mZjFmZmVwMwotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgMHgxLmY4MmViNzExZmYwMDY2ZWU1OTE2NTgyNThiNjkyMzMxcC0xLAotICAgIDB4MS43N2ZmZmVwLTEyMCwgMHgxLjg1YmM3YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MgotICAgIDB4MS5kOThjODMwMDAwM2U4M2ZkMjViOTUzODFmNzAyMTYxY3AtMSwKLSAgICAweDEuN2EzZDBlcDAsIC0weDEuOTk5OTlhcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgODMKLSAgICAweDEuZjgyY2VmMTNhMTFhNWY1YTA1NjJmZTUyYzg4MjA3YmRwLTEsCi0gICAgMHgxLjdjOWExNnAtMiwgMHgxLmZkZGZmZXAtNwotICB9LAotICB7IC8vIEVudHJ5IDg0Ci0gICAgMHgxLmQwZDAxNGZmZmU3MTVlMjczMmI2ZDFjZWQ5NmFkYjc2cDE5LAotICAgIDB4MS43ZTliYjBwLTgsIC0weDEuNTY5ODI4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NQotICAgIDB4MS44NTE4ZTJmZmZkZWEzMDEwNjJhYzZhMjljNmU1M2RmNnAtMSwKLSAgICAweDEuODUxZWJhcC0xLCAweDEuMDAwZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODYKLSAgICAweDEuMmRhMWU4ZmZmZTEzNTBlNGRhZjU1NTNlNzVkY2EwMjBwLTQsCi0gICAgMHgxLjg2MTg2MnAtNCwgMHgxLjFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NwotICAgIDB4MS5kZDAzN2EyYzU2MWJmZTE4MjRwLTExLAotICAgIDB4MS44Y2U2MzJwLTQsIDB4MS44MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAweDEuZjgxZmE3MTNkMmIyM2VhYzUyYTM2ZjRiM2EzMzAyM2VwLTEsCi0gICAgMHgxLjhmODZhYXAtMSwgMHgxLjAwMDBlMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDg5Ci0gICAgMHgxLjAzZjE0YjA5NWFlNjg3NTI1YTdlMzc3ZTM1MDVlNTg3cDAsCi0gICAgMHgxLjkwcDUsIDB4MS4wMDA4cC04Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTAKLSAgICAweDEuMzYzOTUxMDAwMDVjYzQxMTNiMjIwZDZjZTY3MmUxNjVwMCwKLSAgICAweDEuOTU1NzhlcDEsIDB4MS41NTU1NTZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIDB4MS5mODMyNDkxMzRlNzdhMjFiZjgxMTM1MGM2YTkzMWJlZXAtMSwKLSAgICAweDEuOThwNSwgLTB4MS4wMDAwMDJwLTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MgotICAgIDB4MS45ZjYyOGIzY2ZkMDZmNDE3Zjg2ZTFjYThlZGMxNDY5ZXAxMTcsCi0gICAgMHgxLjk5OTk5Y3AzLCAweDEucDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MwotICAgIDB4MS5kNDg1MWNjZWRhZmRkMWNiYzc5YTZhNmIzZGJiMWNiZXAxMTksCi0gICAgMHgxLjlhNjZkMHAtMTQsIC0weDEuMjBwMwotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgMHgxLjI1MzYyNzAwMDFmYWI3MGEyOWQ2OGU2MGZlYjExMjExcC0xMSwKLSAgICAweDEuOWZmZmZlcDQxLCAtMHgxLjA5NGYxY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDk1Ci0gICAgMHgxLmQwOGFlOGZmZmRjNzAyOWUwYmQwMmM4NzE2MDZhMDFjcDAsCi0gICAgMHgxLmE1N2JlY3AxLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYKLSAgICAweDEuYjgzNjM4ZmZiMjE1NjFhMjNlYzliOGE3YjBiYTdiNTJwMTUsCi0gICAgMHgxLmFhYWFhZXAtMSwgLTB4MS5lMHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAweDEuYzE5ODg2MDAwMDAwMWMxY2VlMTQ2ZTQ1MTM2NWVhZTFwLTEwLAotICAgIDB4MS5hZDFkMWNwLTE0LCAweDEuNjJlNDJlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgKLSAgICAweDEuY2QwYzZlZWZjMzNkZmMyZWYzZDJiZWI4MWFkNTY4Y2FwMzAsCi0gICAgMHgxLmIxM2IxY3AtMSwgLTB4MS5mZmZmMWVwNgotICB9LAotICB7IC8vIEVudHJ5IDk5Ci0gICAgMHgxLjYyMjhlNGZlZjg4Mjc2OWJhMDQwMTY0ZmM0YmNhMGNicC04MSwKLSAgICAweDEuYjdmZmQ4cC0xLCAweDEuNzA1Mzk0cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuYWU5ZDc1NmM4NGI0MDYzZjIzOGRkMTUxYmVjMzBlMGJwLTk5LAotICAgIDB4MS5iZTBkN2NwLTEsIDB4MS5lZGU0NDhwOAotICB9LAotICB7IC8vIEVudHJ5IDEwMQotICAgIDB4MS45MTNmNjhmMTAxZWJlNDkwZDI5ZDg3M2QxZTBmZDgyOHAtODUsCi0gICAgMHgxLmJlMGY3MHAtMSwgMHgxLmE4MTQ3YXA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyCi0gICAgMHgxLmIxZTcyMTVjMTI4MDgyYWFiNDllZGFiMTY0MTkxOWE4cC05OSwKLSAgICAweDEuYmUwZjcwcC0xLCAweDEuZWRlNWQ4cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMKLSAgICAweDEuZGM1NzQxODNmMDNkN2EzMzNjMThmYzY5MTZkYWE4NTlwLTk2LAotICAgIDB4MS5iZmYwZDBwLTEsIDB4MS5lZDJmYjRwOAotICB9LAotICB7IC8vIEVudHJ5IDEwNAotICAgIDB4MS5kYTZmY2QwMDAyMGRhNjU5ZTRhNTBiYTk5M2E3MWQ5MnA2LAotICAgIDB4MS5iZmZmZmVwMSwgMHgxLmU3Zjc4MnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5jMjVjMjZwLTQ0LCAtMHgxLjQwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYKLSAgICAweDEuOTUxZGZhZjBkMDM0MTA5N2U1MGY4ZDUxZmI1YjBiMmFwLTcyLAotICAgIDB4MS5jNGVjNzRwLTEsIDB4MS45MzUyMzRwOAotICB9LAotICB7IC8vIEVudHJ5IDEwNwotICAgIDB4MS5mYjFjNmNmZmZlZjE5OTg4NGU3OGMyNmZlZjA1N2ZjM3A0LAotICAgIDB4MS5jNzYzODBwMCwgMHgxLjgwMDg3Y3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4Ci0gICAgMHgxLmQ4MmQ3ZGZmZmZlZmMyNmUxZjA5ZTZkNzNhMjc2ZDgxcC0xMCwKLSAgICAweDEuY2M4ZDA2cC0xNCwgMHgxLjYyZTQyZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIDB4MS45OTdlMGVlZjdiYjNkNGVkYTQwZGM0M2M3MmE1MzE2N3AtNzAsCi0gICAgMHgxLmQxY2RjY3AtMSwgMHgxLmZjMjY0MHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEwCi0gICAgMHgxLmZlODJkZDM4MWE4ZDMwNTZhNGM1NTRmMWUxNzY0ZjlkcC0xLAotICAgIDB4MS5kNDBhNjZwLTMsIDB4MS4wMjk2NGNwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEKLSAgICAweDEuZjNhYjE5MzcxNjljOWFiN2FhYzY3Yjk0ODk0ZWRlMTBwLTEsCi0gICAgMHgxLmQ1NTU1MnAtMiwgMHgxLjAwMDAzOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDExMgotICAgIDB4MS5mZTgwNWYzN2I4OWJjMGM4YjAxNjNkYjdjMTFmNDhmMnAtMSwKLSAgICAweDEuZGExMmYwcC0xLCAweDEuMzhwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMKLSAgICAweDEuYzI3OTM3MDAwZjZjMTVhODZmOGViMDQyYTA4OTU1NjZwLTczLAotICAgIDB4MS5kZjBhODJwLTEsIDB4MS43N2ZiYzBwOQotICB9LAotICB7IC8vIEVudHJ5IDExNAotICAgIDB4MS5jNjRiMGQwMDAwMjdkYmVmYTFlMzIzM2VmNTM2MTliN3AxMDUsCi0gICAgMHgxLmRmZmZmZXA1MiwgMHgxLjAwMDg3Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1Ci0gICAgMHgxLjA4NDdiMDgwZTEwYTNmMzNiYTU5OWEyMThiNjMwZmZicDAsCi0gICAgMHgxLmUwNmI4Y3AtMSwgLTB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYKLSAgICAweDEuZWZmNTcxNmZhMDU3YzBkYjAyOTcyZTViNTFhOTU4OTlwLTEsCi0gICAgMHgxLmUwNmI4Y3AtMSwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIDB4MS4wODNmN2Y1ODdjZGI2Y2MwMDVlZTcwYWJiMTI4MDY3Y3AwLAotICAgIDB4MS5lMDg5NTZwLTEsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4Ci0gICAgMHgxLmYwMDRkMTg2NjUzZGY3NDZmNDZhYzFkYTUxZTY4ODE3cC0xLAotICAgIDB4MS5lMDg5NTZwLTEsIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkKLSAgICAweDEuMmU3ODk4NmNlNzE2OTA2ODlhMTdiMDllMmZkMDEyNTZwMCwKLSAgICAweDEuZTBlZThhcC0xLCAtMHgxLjU1MTVwMQotICB9LAotICB7IC8vIEVudHJ5IDEyMAotICAgIDB4MS4zNGUzMDZlYmRhY2IzZmIyNDllZmI5MmM1ZGY1MGEzMHAwLAotICAgIDB4MS5lMGVlOGFwLTEsIC0weDEuODBwMQotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIDB4MS4xYTIyYTJiMjg0ODQzY2VmNzI5YWE3OTIzMjAwNjE2YnAwLAotICAgIDB4MS5lMGVlOGFwLTEsIC0weDEuOGQ4OWQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIKLSAgICAweDEuMWQ4YmVmZWQwM2Y5ZWQ4ZDYyOGU3MmFjZmQ1ODQ2ZjJwMCwKLSAgICAweDEuZTBlZThhcC0xLCAtMHgxLmJlYjA1MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgMHgxLmU5ZTUxOGZiMTYxN2VjZWI5NzZiNDIwOTMwYTNjZTUxcC0xLAotICAgIDB4MS5lMGVlOGFwLTEsIDB4MS42OGY4ODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQKLSAgICAweDEuYTBiZGJhZTdkMWI5NWQxYWRiMDU5MzlhZWZjZDM1ZjJwLTkzLAotICAgIDB4MS5lMTNkMGVwLTEsIDB4MS4wMjIwcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI1Ci0gICAgMHgxLjg3ODkyNjljM2Q3MzYxZjY0NjRmMzY5YmFlY2QzNThmcC05MCwKLSAgICAweDEuZTFmMDdlcC0xLCAweDEucDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgMHgxLmY2N2RjYjBkMDM0ZWMyOGE0MzA5YzQ0MTU1NjVmOWVjcDEsCi0gICAgMHgxLmU0MDAwZXA1LCAweDEuNTU1NTVhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI3Ci0gICAgMHgxLmU2NTc4NTk4NmZiN2FmMTIxOTIzNDk4MGRjYTRlZjM0cC05MywKLSAgICAweDEuZTZmMzE0cC0xLCAweDEuM2UwZjgwcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4Ci0gICAgMHgxLmU5YTU3NjkxZjA2YWNiZDM4OTM5MDFlMzc2ODMwNTM3cC0xMjUsCi0gICAgMHgxLmU5NzQ3MHAtMSwgMHgxLmRkNjdjMHAxMAotICB9LAotICB7IC8vIEVudHJ5IDEyOQotICAgIDB4MS44NjZlYzkwMDAxN2Q2ODljYTVkZWIxOGM0NzY5ZWZmYnAtMiwKLSAgICAweDEuZjA0MGM4cC0xLCAweDEuZWRkYmFjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAKLSAgICAweDEuZjgzOWQ1MTAxYmNmMzA1ZTA0YzE4N2FmYjUzYTZjNTNwLTEsCi0gICAgMHgxLmYwOTFlMnAtMSwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzMQotICAgIDB4MS5hMzc0YzJiMDBiNjIxNzJjZDQ2NzhkZjVlNTAzYjZmMXAtMTMsCi0gICAgMHgxLmY2MGMwNHAtMTQsIDB4MS5lMmU0MmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIKLSAgICAweDEuZjg0NzliMTE1NTYxZjE3MDI4YjIzNmZiOGYyYzE3M2ZwLTEsCi0gICAgMHgxLmZmMTc0YXAtMSwgMHgxLjExOTk5NnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMzCi0gICAgMHgxLmY5NDdjZjBkZWJiM2Y1MTQ5ZGY2NmUwODM5NmY2NWM1cDMsCi0gICAgMHgxLmZmMWZmZXAzLCAweDEuZmRkZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgMHgxLmYzYWU2YjM2YzMxNjNjZDJkNDJmMWVkZGY0ZTk1ODg2cC0xLAotICAgIDB4MS5mZjdmZmVwMCwgLTB4MS4yMDNjODhwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUKLSAgICAweDEuZjg0MmI1MTI3ZTU2MmJmNGNjMmZiMmFhMzAzMTIzOTNwLTEsCi0gICAgMHgxLmZmYmZmZXAtMTAsIDB4MS4zZmZmZmVwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYKLSAgICAweDEuZmMwNDJjZmNhYmQzZDAwYzNmZDdlOWQxNjhhMjAxODJwLTEsCi0gICAgMHgxLmZmYzBwLTEsIDB4MS5mZmM3ZmVwMwotICB9LAotICB7IC8vIEVudHJ5IDEzNwotICAgIDB4MS5mODM2Y2QxMjkyN2ZlM2VhMmViOTgxMDQ2MmMyMDhkY3AtMSwKLSAgICAweDEuZmZmNzdlcDEwMCwgLTB4MS5jYjA5NjhwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4Ci0gICAgMHgxLmZmZjNmZDBjMDYwOGM2MGQ4YzNjOWYwNzY0ODYwN2Q1cDE0LAotICAgIDB4MS5mZmY3ZmVwOSwgMHgxLjgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAweDEuZjgxMWQzMTQwZDE3Mjk2ZGM2MzNjZDAwYmZkOTYzODdwLTEsCi0gICAgMHgxLmZmZjhwLTEsIDB4MS5mZjgwcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAKLSAgICAweDEuZmU5ZDk3MzhkMGNhOWYxMWY5N2E3MWIxYTM2NjE0NWFwLTEsCi0gICAgMHgxLmZmZmVmZXAxLCAtMHgxLmZmZmZmOHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDEKLSAgICAweDEuZjIwMmIzMDAwMDMwNjlhN2E4ODZlNDRmYmY2MDczYzJwNzIsCi0gICAgMHgxLmZmZmYzZXAxMjcsIDB4MS4yM2Q3MTRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDIKLSAgICAweDEuYjgzNGExOTI4NzVkNzJhYzgxYjc5MTVjZjg5Nzk2OTBwLTk2LAotICAgIDB4MS5mZmZmYmVwLTEsIDB4MS5wMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAweDEuZmZmZmVkMDAwMDI5YmZmZGRlZjU0OTVlNTYwM2NlM2JwLTEsCi0gICAgMHgxLmZmZmZlMnAtMSwgMHgxLjQ0NDQzZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0NAotICAgIDB4MS5kNmFiNWQwZTdhZTAzNDMzYWQ4MjQ2MTZkMGRiOGIwM3AxNSwKLSAgICAweDEuZmZmZmVlcC00MCwgLTB4MS5hMGVhMGNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDUKLSAgICAweDEuMDAwMDAyZmZmZmZmZmZmZmYyN2ZmZmU0ZmZmZmViYzBwMCwKLSAgICAweDEuZmZmZmZhcC0xLCAtMHgxLmZmZmZmYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIDB4MS4wMDAwMDAwMDAwMDQwMDAwMDQwMDAwMGQ1NTU1NmQ1NXAwLAotICAgIDB4MS5mZmZmZmNwLTEsIC0weDEucC0yMwotICB9LAotICB7IC8vIEVudHJ5IDE0NwotICAgIDB4MS4wMDAwMDAwMDAwMDM4MDAwMDM4MDAwMGFjYWFhYmRlYXAwLAotICAgIDB4MS5mZmZmZmNwLTEsIC0weDEuYzBwLTI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQ4Ci0gICAgMHgxLmVlOGZjOTMwOTU0ZDI5YjNlMjhjNWMxZWFmYjlmN2ZkcDQsCi0gICAgMHgxLmZmZmZmY3AtNjcsIC0weDEuMzMzMzRlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQ5Ci0gICAgMHgxLjZhMGEwY2ZmZjNmZmEwMGU3NTNhZjg0YzAxMDBmYmYwcDEzLAotICAgIDB4MS5mZmZmZmNwLTEwNiwgLTB4MS4wNzUwNzhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTAKLSAgICAweDEuOWFhYWJjZmZmMmFlM2U3Yzg0ZTg3MDg1NjQwMzU1ZTRwNDgsCi0gICAgMHgxLmZmZmZmY3AtMTIwLCAtMHgxLmEyZThiZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE1MQotICAgIDB4MS5mNTc3N2FmZmZlMmI0NmE0ZGE5ODc1OTA0M2RlNDg2MnAtNTIsCi0gICAgMHgxLmZmZmZmY3A4MCwgLTB4MS40MjhmNThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTIKLSAgICAweDEuNzNkMzMyMWU3ZjI0N2RlZjFlZDRjODE2YzgyNGM3N2RwLTY3LAotICAgIDB4MS5mZmZmZmNwMTE5LCAtMHgxLjFiOTFiNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1MwotICAgIDB4MS4wMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDFwMTAsCi0gICAgMHgxLmZmZmZmZXAtMTEsIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTQKLSAgICAweDEuZmZmZmZlZmZmZmZmYmZmZmZmZGZmZmZmZWJmZmZmZjFwMCwKLSAgICAweDEuZmZmZmZlcDEsIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAweDEuY2I1YTBkMDAwMmY1MTY5YTEzZGUzOTg2M2JiNWY5MWRwLTIsCi0gICAgMHgxLjQyMWVmYXAtMiwgMHgxLjYyZTQyZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1NgotICAgIDB4MS5jYjcyMGRjZWY5MDY5MTUwM2NiZDFlOTQ5ZGI3NjFkOXAtMSwKLSAgICAweDEucC01LCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU3Ci0gICAgMHgxLnAtNSwKLSAgICAweDEucC01LCAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTgKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYwCi0gICAgMHgxLnAtNDAsCi0gICAgMHgxLnAtNSwgMHgxLnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYxCi0gICAgMC4wZiwKLSAgICAweDEucC01LCAweDEucDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjIKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEucDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjMKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEucDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAwLjBmLAotICAgIDB4MS5wLTUsIDB4MS5wMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAwLjBmLAotICAgIDB4MS5wLTUsIDB4MS5wMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjYKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEucDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY3Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLnAxMgotICB9LAotICB7IC8vIEVudHJ5IDE2OAotICAgIDB4MS4xMTMwMWQwMTI1YjUwYTRlYmJmMWFlZDkzMThjZWFjNXAwLAotICAgIDB4MS5wMywgMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDE2OQotICAgIDB4MS5wMywKLSAgICAweDEucDMsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDE3MAotICAgIDB4MS4xZDQ4NzMxNjhiOWFhNzgwNWI4MDI4OTkwZjA3YTk4YnAwLAotICAgIDB4MS5wNSwgMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDE3MQotICAgIDB4MS5wNSwKLSAgICAweDEucDUsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDE3MgotICAgIDB4MS5wMjQsCi0gICAgMHgxLnAzLCAweDEucDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzMKLSAgICAweDEucDk2LAotICAgIDB4MS5wMywgMHgxLnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTc0Ci0gICAgMHgxLnA0MCwKLSAgICAweDEucDUsIDB4MS5wMwotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucDUsIDB4MS5wNQotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucDMsIDB4MS5wMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzcKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLnAzLCAweDEucDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc4Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5wNSwgMHgxLnAxMAotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucDUsIDB4MS5wMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODAKLSAgICAweDEuM2RlYTY0YzEyMzQyMjM1YjQxMjIzZTEzZDc3M2ZiYTJwMCwKLSAgICAweDEucDEwLCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgxCi0gICAgMHgxLnAxMCwKLSAgICAweDEucDEwLCAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODIKLSAgICAweDEuNGJmZGFkNTM2MmEyNzFkNDM5N2FmZWM0MmUyMGUwMzZwMCwKLSAgICAweDEucDEyLCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgzCi0gICAgMHgxLnAxMiwKLSAgICAweDEucDEyLCAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODQKLSAgICAweDEucDgwLAotICAgIDB4MS5wMTAsIDB4MS5wMwotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucDEwLCAweDEucDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODYKLSAgICAweDEucDk2LAotICAgIDB4MS5wMTIsIDB4MS5wMwotICB9LAotICB7IC8vIEVudHJ5IDE4NwotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucDEyLCAweDEucDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODgKLSAgICAweDEuMDAwMDAxMjYwNTVjZmQ0NDNjNTM3NjkzMGQxNjlmMzJwMiwKLSAgICAweDEuNmEwOWU2cC0xLCAtMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg5Ci0gICAgMHgxLmZmZmZmZGIzZjU0OGE4ZDgyN2I2NWM4OHAtMywKLSAgICAweDEuNmEwOWU2cC0xLCAweDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTAKLSAgICAweDEuMDAwMDAxMjYwNTVjZmQ0NDNjNTM3NjkzMGQxNjlmMzJwLTIsCi0gICAgMHgxLjZhMDllNnAwLCAtMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkxCi0gICAgMHgxLmZmZmZmZGIzZjU0OGE4ZDgyN2I2NWM4OHAxLAotICAgIDB4MS42YTA5ZTZwMCwgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkyCi0gICAgMHgxLjAwMDAwMTI2MDU1Y2ZkNDQzYzUzNzY5MzBkMTY5ZjMycDIsCi0gICAgMHgxLjZhMDllNnAtMSwgLTB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDE5MwotICAgIDB4MS5mZmZmZmRiM2Y1NDhhOGQ4MjdiNjVjODhwLTMsCi0gICAgMHgxLjZhMDllNnAtMSwgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk0Ci0gICAgMHgxLjAwMDAwMTI2MDU1Y2ZkNDQzYzUzNzY5MzBkMTY5ZjMycC0yLAotICAgIDB4MS42YTA5ZTZwMCwgLTB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDE5NQotICAgIDB4MS5mZmZmZmRiM2Y1NDhhOGQ4MjdiNjVjODhwMSwKLSAgICAweDEuNmEwOWU2cDAsIDB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDE5NgotICAgIDB4MS4wMDE2MmYzOTE2NjcwZDExOTY5NzE1NGFlMzUxMmMyZHAwLAotICAgIDB4MS42YTA5ZTZwLTEsIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDE5NwotICAgIDB4MS5mZmQzYTU2NWNhZjhkMjMwZGFlMTI1MDY5M2E1NWYyM3AtMSwKLSAgICAweDEuNmEwOWU2cC0xLCAweDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDE5OAotICAgIDB4MS5mZmQzYTU2NjE0NzNjYjI2OWY4OTRiNDBkNmNmOWJhY3AtMSwKLSAgICAweDEuNmEwOWU2cDAsIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIDB4MS4wMDE2MmYzOGYxYTMzMjMwYmMzNDBiZDM3NTJmYzA5NHAwLAotICAgIDB4MS42YTA5ZTZwMCwgMHgxLnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAweDEuOTQ4YjBmY2Q2ZTllMDY1MjJjM2YzNWJhNzgxOTQ4YjBwMSwKLSAgICAweDEuODBwLTEsIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICAweDEuNDRwLTIsCi0gICAgMHgxLjgwcC0xLCAweDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDIKLSAgICAweDEuOTQ4YjBmY2Q2ZTllMDY1MjJjM2YzNWJhNzgxOTQ4YjBwLTMsCi0gICAgMHgxLjgwcDAsIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDMKLSAgICAweDEuNDRwMiwKLSAgICAweDEuODBwMCwgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgMHgxLjI3OWE3NDU5MDMzMWM0ZDIxOGY4MWU0YWZiMjU3ZDA2cDAsCi0gICAgMHgxLjgwcC0xLCAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDIwNQotICAgIDB4MS5iYjY3YWU4NTg0Y2FhNzNiMjU3NDJkNzA3OGI4M2I4OXAtMSwKLSAgICAweDEuODBwLTEsIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDYKLSAgICAweDEuYTIwYmQ3MDBjMmMzZGZjMDQyY2MxYWVkNzg3MWRiNDVwLTEsCi0gICAgMHgxLjgwcDAsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA3Ci0gICAgMHgxLjM5ODhlMTQwOTIxMmU3ZDAzMjE5MTQzMjFhNTU2NDczcDAsCi0gICAgMHgxLjgwcDAsIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDgKLSAgICAweDEuMDAxMjZhMGI5M2RiMjk0Y2FiZTMzZGE3MzU0MzdmNTFwMCwKLSAgICAweDEuODBwLTEsIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDIwOQotICAgIDB4MS5mZmRiMmU4ZWQyYTFmZTcxYmQ1OWZkZDYxMDMxMzA0NnAtMSwKLSAgICAweDEuODBwLTEsIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEwCi0gICAgMHgxLmZmY2MxYzU5NzNiMjEyOWE1YjE0MjRlMGM4ODc4NmI4cC0xLAotICAgIDB4MS44MHAwLCAtMHgxLnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTEKLSAgICAweDEuMDAxOWY0NzRhYTE5MDAzOGM2YWY3NzVkOTJmMWQ3MjVwMCwKLSAgICAweDEuODBwMCwgMHgxLnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAtMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEzCi0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgMHgxLnAtNCwKLSAgICAweDEucDEsIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTUKLSAgICAweDEucDQsCi0gICAgMHgxLnAxLCAweDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTYKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDIxNwotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEsCi0gICAgMHgxLnAxLCAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDIxOQotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS5wMSwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDIyMAotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIyCi0gICAgMHgxLmZmYTc0ZWEzODFlZmMyMTdhNzczZjE1YzAyNWY3YzBkcC0xLAotICAgIDB4MS5wMSwgLTB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIzCi0gICAgMHgxLjAwMmM2MDVlMmU4Y2VjNTA2ZDIxYmZjODlhMjNhMDEwcDAsCi0gICAgMHgxLnAxLCAweDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDIyNAotICAgIDB4MS5wNDAsCi0gICAgMHgxLnAtMTAsIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjUKLSAgICAweDEucC00MCwKLSAgICAweDEucC0xMCwgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgMHgxLmZlMDEzZjYwNDVlNDBhN2M0MTQ5OTIyM2I0YTM4Y2U4cC0xLAotICAgIDB4MS4wMDQwcDAsIC0weDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjcKLSAgICAweDEuMDEwMDYwMTAwMXAwLAotICAgIDB4MS4wMDQwcDAsIDB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIDB4MS5wNSwKLSAgICAweDEucC0xMCwgLTB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjkKLSAgICAweDEucC01LAotICAgIDB4MS5wLTEwLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMwCi0gICAgMHgxLmZmYzAwYmZkODA4YmUwODczNjUzNjQ3NDQ4MjIwZmRmcC0xLAotICAgIDB4MS4wMDQwcDAsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgMHgxLjAwMWZmZTAwM2ZmNjAxYmZhYzEwN2NhNmIyOWEwYzMxcDAsCi0gICAgMHgxLjAwNDBwMCwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS4wMWJkMWU3NzE3MGI0MTVlNzYyNjYyMWViNWFhZmY2MXAwLAotICAgIDB4MS5wLTEwLCAtMHgxLnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzMKLSAgICAweDEuZmM4YmM0ODY2ZThhZDJiOTYzZTE4MjhiMDc2MWNiYzZwLTEsCi0gICAgMHgxLnAtMTAsIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM0Ci0gICAgMHgxLmZmZmZlMDA0MDA1NTM1NTg0NDQ0M2RmODY4MGE4ZTA1cC0xLAotICAgIDB4MS4wMDQwcDAsIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDIzNQotICAgIDB4MS4wMDAwMGZmZTAwZDUyNTYyODUzNDBlNGYzYWQzNjI4N3AwLAotICAgIDB4MS4wMDQwcDAsIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgMHgxLjAwMDAwMTAwMDAwMTAwMDAwMTAwMDAwMTAwMDAwMXAtMTI4LAotICAgIDB4MS5mZmZmZmVwMTI3LCAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM3Ci0gICAgMHgxLmZmZmZmZXAxMjcsCi0gICAgMHgxLmZmZmZmZXAxMjcsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDIzOAotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucC0xNDksIC0weDEuZTY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM5Ci0gICAgMHgxLjVkYjRlY2FiM2UxY2I5NDJmYzkwYTAwM2U3N2RhMjgycC0xNDIsCi0gICAgMHgxLnAtMTQ5LCAweDEuZTY2NjY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQwCi0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZlcC03LCAweDEuZmZmZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDEKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmVwLTcsIDB4MS5wNgotICB9LAotICB7IC8vIEVudHJ5IDI0MgotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZXAtNywgMHgxLjAwMDAwMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgMC4wZiwKLSAgICAweDEucC02LCAweDEuZmZmZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDQKLSAgICAwLjBmLAotICAgIDB4MS5wLTYsIDB4MS5wNgotICB9LAotICB7IC8vIEVudHJ5IDI0NQotICAgIDAuMGYsCi0gICAgMHgxLnAtNiwgMHgxLjAwMDAwMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ2Ci0gICAgMC4wZiwKLSAgICAweDEuMDAwMDAycC02LCAweDEuZmZmZmZlcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDcKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDJwLTYsIDB4MS5wNgotICB9LAotICB7IC8vIEVudHJ5IDI0OAotICAgIDAuMGYsCi0gICAgMHgxLjAwMDAwMnAtNiwgMHgxLjAwMDAwMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ5Ci0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZlcC02LCAweDEuZmZmZmZlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmVwLTYsIDB4MS5wNQotICB9LAotICB7IC8vIEVudHJ5IDI1MQotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZXAtNiwgMHgxLjAwMDAwMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUyCi0gICAgMC4wZiwKLSAgICAweDEucC01LCAweDEuZmZmZmZlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTMKLSAgICAwLjBmLAotICAgIDB4MS5wLTUsIDB4MS5wNQotICB9LAotICB7IC8vIEVudHJ5IDI1NAotICAgIDAuMGYsCi0gICAgMHgxLnAtNSwgMHgxLjAwMDAwMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgMC4wZiwKLSAgICAweDEuMDAwMDAycC01LCAweDEuZmZmZmZlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDJwLTUsIDB4MS5wNQotICB9LAotICB7IC8vIEVudHJ5IDI1NwotICAgIDAuMGYsCi0gICAgMHgxLjAwMDAwMnAtNSwgMHgxLjAwMDAwMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU4Ci0gICAgMHgxLjAwMDAxYzVjODc5ODIzZTNhZjM5YmFhMjIxZGY4NGIwcC02NCwKLSAgICAweDEuZmZmZmZlcC01LCAweDEuZmZmZmZlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTkKLSAgICAweDEuZmZmZmUwMDAwMGVmZmZmYmEwMDAwZTM3ZmZkZGUwcC02NSwKLSAgICAweDEuZmZmZmZlcC01LCAweDEucDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAweDEuZmZmZjJlOGUxMjhmMDdmOGFhOTVmYjhiMzVkNzJlYTRwLTY1LAotICAgIDB4MS5mZmZmZmVwLTUsIDB4MS4wMDAwMDJwNAotICB9LAotICB7IC8vIEVudHJ5IDI2MQotICAgIDB4MS4wMDAwMmM1Yzg5ZDVlYzZjYTRkN2M4YWNjMDE3YjdjOXAtNjQsCi0gICAgMHgxLnAtNCwgMHgxLmZmZmZmZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYyCi0gICAgMHgxLnAtNjQsCi0gICAgMHgxLnAtNCwgMHgxLnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLmZmZmY0ZThlMDZjN2U4YTJhODRkYWVkOGVjNTZkNmMzcC02NSwKLSAgICAweDEucC00LCAweDEuMDAwMDAycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjQKLSAgICAweDEuMDAwMDRjNWM5MTIxN2UwMmE0NTkyYmE3YWQ1ZGYzMmVwLTY0LAotICAgIDB4MS4wMDAwMDJwLTQsIDB4MS5mZmZmZmVwMwotICB9LAotICB7IC8vIEVudHJ5IDI2NQotICAgIDB4MS4wMDAwMjAwMDAxZTAwMDExODAwMDcxYzAwMjIyMDAwN3AtNjQsCi0gICAgMHgxLjAwMDAwMnAtNCwgMHgxLnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY2Ci0gICAgMHgxLmZmZmY4ZThkZjRkOWE4MzUxMzIwYzA1ZDNkODE0ZjlmcC02NSwKLSAgICAweDEuMDAwMDAycC00LCAweDEuMDAwMDAycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjcKLSAgICAweDEuMDAwMDA4YTJiMjY4ODRmMTA2OGI4MTg4OTQ2N2Q2N2ZwLTI0LAotICAgIDB4MS5mZmZmZmVwLTQsIDB4MS5mZmZmZmVwMgotICB9LAotICB7IC8vIEVudHJ5IDI2OAotICAgIDB4MS5mZmZmZjAwMDAwMzdmZmZmOTAwMDAwOGJmZmZmOTBwLTI1LAotICAgIDB4MS5mZmZmZmVwLTQsIDB4MS5wMwotICB9LAotICB7IC8vIEVudHJ5IDI2OQotICAgIDB4MS5mZmZmYWQ3NTNkODI1ZGZjZGQ2NWU0ZWE1NGNjY2ViNXAtMjUsCi0gICAgMHgxLmZmZmZmZXAtNCwgMHgxLjAwMDAwMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgMHgxLjAwMDAxMGEyYjJjOTlhODU3MDdlOGYxM2RjNjQ4NzEwcC0yNCwKLSAgICAweDEucC0zLCAweDEuZmZmZmZlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzEKLSAgICAweDEucC0yNCwKLSAgICAweDEucC0zLCAweDEucDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAweDEuZmZmZmJkNzUzYjU2MDdkYTJjMjYwMDY0ODIzYjMwYTdwLTI1LAotICAgIDB4MS5wLTMsIDB4MS4wMDAwMDJwMwotICB9LAotICB7IC8vIEVudHJ5IDI3MwotICAgIDB4MS4wMDAwMjBhMmI0MzNjNWI5MTcyOWZlMDQ5MzMyMWQzZnAtMjQsCi0gICAgMHgxLjAwMDAwMnAtMywgMHgxLmZmZmZmZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc0Ci0gICAgMHgxLjAwMDAxMDAwMDA3MDAwMDFjMDAwMDQ2MDAwMDdwLTI0LAotICAgIDB4MS4wMDAwMDJwLTMsIDB4MS5wMwotICB9LAotICB7IC8vIEVudHJ5IDI3NQotICAgIDB4MS5mZmZmZGQ3NTM4NGQ1YjcxNWU5NDM3Njk5NTM0ODgzYnAtMjUsCi0gICAgMHgxLjAwMDAwMnAtMywgMHgxLjAwMDAwMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc2Ci0gICAgMHgxLjAwMDAwMThiOTBjMmYwMmE4MGYzYmI4MmFhMTJlOTVkcC04LAotICAgIDB4MS5mZmZmZmVwLTMsIDB4MS5mZmZmZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDI3NwotICAgIDB4MS5mZmZmZjgwMDAwMGJmZmZmZjgwMDAwMDJwLTksCi0gICAgMHgxLmZmZmZmZXAtMywgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc4Ci0gICAgMHgxLmZmZmZlMWQxYmRkMGJkYzZiNDZlYTY0YTQyYjFiYWQycC05LAotICAgIDB4MS5mZmZmZmVwLTMsIDB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDI3OQotICAgIDB4MS4wMDAwMDU4YjkwY2YxZTZkOTdmOWNhMTRkYmNjMTYyOHAtOCwKLSAgICAweDEucC0yLCAweDEuZmZmZmZlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAweDEucC04LAotICAgIDB4MS5wLTIsIDB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDI4MQotICAgIDB4MS5mZmZmZTlkMWJkN2MwNGJjNDgyNTE0N2E4YzBlNjNlM3AtOSwKLSAgICAweDEucC0yLCAweDEuMDAwMDAycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODIKLSAgICAweDEuMDAwMDBkOGI5MTBiN2FmNDUxYTY0MmU2ZDBiNjZiMDZwLTgsCi0gICAgMHgxLjAwMDAwMnAtMiwgMHgxLmZmZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgzCi0gICAgMHgxLjAwMDAwODAwMDAxODAwMDAyMDAwMDAxMHAtOCwKLSAgICAweDEuMDAwMDAycC0yLCAweDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODQKLSAgICAweDEuZmZmZmY5ZDFiZDFhOTJhNWQxMTA4OGVkMTc0MTdmNDFwLTksCi0gICAgMHgxLjAwMDAwMnAtMiwgMHgxLjAwMDAwMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg1Ci0gICAgMHgxLmZmZmZmZWM1Yzg2MjNmYjI1ZDdkMDZhYzYxYTMwNjNmcC0zLAotICAgIDB4MS5mZmZmZmVwLTIsIDB4MS5mZmZmZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDI4NgotICAgIDB4MS5mZmZmZmMwMDAwMDJwLTMsCi0gICAgMHgxLmZmZmZmZXAtMiwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg3Ci0gICAgMHgxLmZmZmZmNjc0NmY0ZDA4ODI4OWI4ODBmZTAyYWRiZmRlcC0zLAotICAgIDB4MS5mZmZmZmVwLTIsIDB4MS4wMDAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDI4OAotICAgIDB4MS4wMDAwMDE2MmU0MzBlNWExOGY2MTE5ZTNjMDIyODJhNXAtMiwKLSAgICAweDEucC0xLCAweDEuZmZmZmZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAweDEucC0yLAotICAgIDB4MS5wLTEsIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIDB4MS5mZmZmZmE3NDZmNDdmMTYwZmNmODkwZTNiODAxYWVkZHAtMywKLSAgICAweDEucC0xLCAweDEuMDAwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTEKLSAgICAweDEuMDAwMDA1NjJlNDM2NzEzMjQ2ZjdhMDEzNGM4Mjg3ZWFwLTIsCi0gICAgMHgxLjAwMDAwMnAtMSwgMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgMHgxLjAwMDAwNDAwMDAwNHAtMiwKLSAgICAweDEuMDAwMDAycC0xLCAweDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTMKLSAgICAweDEuMDAwMDAxM2EzN2E0ZTE4ZjA1MTlhNjAzOTU0YTViMGJwLTIsCi0gICAgMHgxLjAwMDAwMnAtMSwgMHgxLjAwMDAwMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk0Ci0gICAgMHgxLmZmZmZmZTAwMDAwMWZmZmZmZjAwMDAwMGFhYWFhYTgwcC0xLAotICAgIDB4MS5mZmZmZmVwLTEsIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTUKLSAgICAweDEuZmZmZmZlcC0xLAotICAgIDB4MS5mZmZmZmVwLTEsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIDB4MS5mZmZmZmRmZmZmZmMwMDAwMDIwMDAwMDRhYWFhYWFmZnAtMSwKLSAgICAweDEuZmZmZmZlcC0xLCAweDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTcKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk5Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAwCi0gICAgMHgxLjAwMDAwMWZmZmZmZGZmZmZmZTAwMDAwMzU1NTU1M2ZmcDAsCi0gICAgMHgxLjAwMDAwMnAwLCAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAxCi0gICAgMHgxLjAwMDAwMnAwLAotICAgIDB4MS4wMDAwMDJwMCwgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAyCi0gICAgMHgxLjAwMDAwMjAwMDAwNDAwMDAwNDAwMDAwNTU1NTU1OHAwLAotICAgIDB4MS4wMDAwMDJwMCwgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLjZhMDllNTM1NzViMTIzNjI1Y2MxOTY4YTY2NTU4MWE0cDAsCi0gICAgMHgxLmZmZmZmZXAwLCAweDEuZmZmZmZlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA0Ci0gICAgMHgxLjZhMDllNWIyZWVjOTY3Y2Q5N2IyZWZmNzVmNDcxNDkzcDAsCi0gICAgMHgxLmZmZmZmZXAwLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA1Ci0gICAgMHgxLjZhMDllNmFkZTBmYTczMTkwNTJjNDk0OGRlYTQ4YTc2cDAsCi0gICAgMHgxLmZmZmZmZXAwLCAweDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA2Ci0gICAgMHgxLjZhMDllNWVhN2FhMzkwZGJmODY4YjcyNzhiNzQ0ODI5cDAsCi0gICAgMHgxLnAxLCAweDEuZmZmZmZlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA3Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCi0gICAgMHgxLnAxLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA4Ci0gICAgMHgxLjZhMDllNzYyZTVlZmJiZDcyMTcwMTgyNTBhM2FiMTk0cDAsCi0gICAgMHgxLnAxLCAweDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA5Ci0gICAgMHgxLjZhMDllNzU0ODQ4NzVjNDdjM2NlZTAxZDlmMzQ4YmQ4cDAsCi0gICAgMHgxLjAwMDAwMnAxLCAweDEuZmZmZmZlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEwCi0gICAgMHgxLjZhMDllN2QxZmRhMjdiZjc3ZDQ1MjcyZGQyZDgzYTRicDAsCi0gICAgMHgxLjAwMDAwMnAxLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgMHgxLjZhMDllOGNjZWZkOTNkY2JlY2Y1NGQyMzNlYTgyNjVicDAsCi0gICAgMHgxLjAwMDAwMnAxLCAweDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEyCi0gICAgMHgxLjZhMDllNThmZjgyYTRlY2VkYjczZjc2NmQzZDA3NThkcDAsCi0gICAgMHgxLmZmZmZmZXAxLCAweDEuZmZmZmZlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgMHgxLjZhMDllNjBkNzE0MzBkMWFkNjFiNDVkNWQxYWJkZjE1cDAsCi0gICAgMHgxLmZmZmZmZXAxLCAweDEucC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLjZhMDllNzA4NjM3NTBjMjdjM2RkNWMwZWNkY2U1MjcxcDAsCi0gICAgMHgxLmZmZmZmZXAxLCAweDEuMDAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE1Ci0gICAgMHgxLjZhMDllNWVhN2FhMzkwZGJmODY4YjcyNzhiNzQ0ODI5cDAsCi0gICAgMHgxLnAyLCAweDEuZmZmZmZlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE2Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDAsCi0gICAgMHgxLnAyLCAweDEucC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE3Ci0gICAgMHgxLjZhMDllNzYyZTVlZmJiZDcyMTcwMTgyNTBhM2FiMTk0cDAsCi0gICAgMHgxLnAyLCAweDEuMDAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE4Ci0gICAgMHgxLjZhMDllNjlmN2Y5NTQ5NTBhMWZjZTBhMWIyYzM2MmQwcDAsCi0gICAgMHgxLjAwMDAwMnAyLCAweDEuZmZmZmZlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE5Ci0gICAgMHgxLjZhMDllNzFjZjhhZjc1M2VkYjk3MDBhZDkwNmM5Y2Q5cDAsCi0gICAgMHgxLjAwMDAwMnAyLCAweDEucC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLjZhMDllODE3ZWFlNDRmOTA0OWQ1MzJjZGEyYTkwY2I2cDAsCi0gICAgMHgxLjAwMDAwMnAyLCAweDEuMDAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgMHgxLjRiZmRhY2QzOTc4YWRmOWYzYjY0ZmUwMWY0MDU5M2FlcDAsCi0gICAgMHgxLmZmZmZmZXAyLCAweDEuZmZmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgMHgxLjRiZmRhZDI5ZTJlY2I1NDAwNWE2ZGJlYzY3YzVlNDEzcDAsCi0gICAgMHgxLmZmZmZmZXAyLCAweDEucC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIzCi0gICAgMHgxLjRiZmRhZGQ2NzliMGEzY2M0MGVjYjYwYWZkYzRhNTUycDAsCi0gICAgMHgxLmZmZmZmZXAyLCAweDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI0Ci0gICAgMHgxLjRiZmRhY2ZkMTc0MDY3ZWE0ZDQzZjhiMDlmOTc0ZDg2cDAsCi0gICAgMHgxLnAzLCAweDEuZmZmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI1Ci0gICAgMHgxLjRiZmRhZDUzNjJhMjcxZDQzOTdhZmVjNDJlMjBlMDM2cDAsCi0gICAgMHgxLnAzLCAweDEucC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI2Ci0gICAgMHgxLjRiZmRhZGZmZjk2NmM4ZjJiOGY0NGIxMzdmYmZhYTk2cDAsCi0gICAgMHgxLnAzLCAweDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI3Ci0gICAgMHgxLjRiZmRhZDUwMTZhYjBiOTEzNGUwNTc0YWJjYTc4YjdhcDAsCi0gICAgMHgxLjAwMDAwMnAzLCAweDEuZmZmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgMHgxLjRiZmRhZGE2NjIwZDdlMGQ2NDg3ZmQ5YmU2NDg4N2EzcDAsCi0gICAgMHgxLjAwMDAwMnAzLCAweDEucC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI5Ci0gICAgMHgxLjRiZmRhZTUyZjhkMmE2NTA2Yjc0Y2UyMzJmZGNkMjkxcDAsCi0gICAgMHgxLjAwMDAwMnAzLCAweDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMwCi0gICAgMHgxLjMwNmZlMDViNTMzMTMxYzI3NjEyY2ZmZjdhMGZmZGIwcDAsCi0gICAgMHgxLmZmZmZmZXAzLCAweDEuZmZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMxCi0gICAgMHgxLjMwNmZlMDkwMTQ3MzNmYzE4ZjJhOGU1YmM4YTMwY2RjcDAsCi0gICAgMHgxLmZmZmZmZXAzLCAweDEucC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgMHgxLjMwNmZlMGY5OTZmNzc3MmM5YTk0YzE2MDgzNDQ2MjYycDAsCi0gICAgMHgxLmZmZmZmZXAzLCAweDEuMDAwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMzCi0gICAgMHgxLjMwNmZlMDZlNWEyZjJlOGM2MjBmN2U1NWNjODAzZGJhcDAsCi0gICAgMHgxLnA0LCAweDEuZmZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM0Ci0gICAgMHgxLjMwNmZlMGEzMWI3MTUyZGU4ZDVhNDYzMDVjODVlZGVjcDAsCi0gICAgMHgxLnA0LCAweDEucC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM1Ci0gICAgMHgxLjMwNmZlMTBjOWRmNWI2ZWZiZDQwMGI3ODA2MDA1ZmE5cDAsCi0gICAgMHgxLnA0LCAweDEuMDAwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM2Ci0gICAgMHgxLjMwNmZlMDk0NjgyYWYyOWM4ZmU5ZjczNWZiMWM0MDgxcDAsCi0gICAgMHgxLjAwMDAwMnA0LCAweDEuZmZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM3Ci0gICAgMHgxLjMwNmZlMGM5Mjk2ZDQzOTRkZjVmOTliOWJkMWE0N2QycDAsCi0gICAgMHgxLjAwMDAwMnA0LCAweDEucC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgMHgxLjMwNmZlMTMyYWJmMjAwZjI1N2M2MTJlMDdmMTQ5YWEzcDAsCi0gICAgMHgxLjAwMDAwMnA0LCAweDEuMDAwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzM5Ci0gICAgMHgxLjFkNDg3MmVlYmI5ZGEwM2JiYWM1YWY3OWIwY2Y5NDA5cDAsCi0gICAgMHgxLmZmZmZmZXA0LCAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQwCi0gICAgMHgxLjFkNDg3MzBkYTE1NzBhN2E4NWVhMWZjMWZjZjg4ZmRkcDAsCi0gICAgMHgxLmZmZmZmZXA0LCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQxCi0gICAgMHgxLjFkNDg3MzRiNmNjOWU5MDIxNDhmYWZjZWZhOWVhYTA2cDAsCi0gICAgMHgxLmZmZmZmZXA0LCAweDEuMDAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQyCi0gICAgMHgxLjFkNDg3MmY3YTVlMTMzNjAxZWYzYjQ5NWYzZjg5YTEycDAsCi0gICAgMHgxLnA1LCAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQzCi0gICAgMHgxLjFkNDg3MzE2OGI5YWE3ODA1YjgwMjg5OTBmMDdhOThicDAsCi0gICAgMHgxLnA1LCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ0Ci0gICAgMHgxLjFkNDg3MzU0NTcwZDk5Y2FjY2ZiZGI3ZTM1ZmYwZGYxcDAsCi0gICAgMHgxLnA1LCAweDEuMDAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ1Ci0gICAgMHgxLjFkNDg3MzA5N2E2ODNmYzAxMzA4ZDRhNzE2MTViODIwcDAsCi0gICAgMHgxLjAwMDAwMnA1LCAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ2Ci0gICAgMHgxLjFkNDg3MzI4NjAyMWM3YTMzMjQ5NmVlNGFkOTFhZGU5cDAsCi0gICAgMHgxLjAwMDAwMnA1LCAweDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ3Ci0gICAgMHgxLjFkNDg3MzY2MmI5NGUxNzM2OTM5YTUwM2Q4M2M1ZTQycDAsCi0gICAgMHgxLjAwMDAwMnA1LCAweDEuMDAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ4Ci0gICAgMHgxLjExMzAxY2ViMjA1NDFmZjNmNjU1ZTNiZDEyMjcxYjNlcDAsCi0gICAgMHgxLmZmZmZmZXA1LCAweDEuZmZmZmZlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ5Ci0gICAgMHgxLjExMzAxY2ZjZTBmNDk0MzA0ZTYzMDc5OWZjOGIxODFmcDAsCi0gICAgMHgxLmZmZmZmZXA1LCAweDEucC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUwCi0gICAgMHgxLjExMzAxZDIwNjIzNTgwMWVmNTU4MDg5NDM1NGY5MDBjcDAsCi0gICAgMHgxLmZmZmZmZXA1LCAweDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUxCi0gICAgMHgxLjExMzAxY2VmNjUxNDkxODZhMGVjYjYwNzEzNTY1YjQ1cDAsCi0gICAgMHgxLnA2LCAweDEuZmZmZmZlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUyCi0gICAgMHgxLjExMzAxZDAxMjViNTBhNGViYmYxYWVkOTMxOGNlYWM1cDAsCi0gICAgMHgxLnA2LCAweDEucC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUzCi0gICAgMHgxLjExMzAxZDI0YTZmNWZmNTRlOGQ4MTFhNGI5NzhiNTRmcDAsCi0gICAgMHgxLnA2LCAweDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU0Ci0gICAgMHgxLjExMzAxY2Y3ZWU5NTY4MTBlZGQ5NGQxYzc2OTdmMzRicDAsCi0gICAgMHgxLjAwMDAwMnA2LCAweDEuZmZmZmZlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU1Ci0gICAgMHgxLjExMzAxZDA5YWYzNWU5ZjA4ZWMwYjY1NjRjZmQ0ZDNhcDAsCi0gICAgMHgxLjAwMDAwMnA2LCAweDEucC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgMHgxLjExMzAxZDJkMzA3NmYxMjVjNzZmNjliZjEwN2Y0MDUycDAsCi0gICAgMHgxLjAwMDAwMnA2LCAweDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU3Ci0gICAgMHgxLmZmZmM5ZDFlYWZmMWUyYmM3MDhmYmI5ZmMxNDFkMTg2cDEyNywKLSAgICAweDEuZmZmZmZjcDAsIDB4MS5mZmZmZmNwNgotICB9LAotICB7IC8vIEVudHJ5IDM1OAotICAgIDB4MS5mZmZkNGU4ZmI4MzkzM2NiZjVmODI3ZTI1ODFmMjBkY3AxMjcsCi0gICAgMHgxLmZmZmZmY3AwLCAweDEuZmZmZmZlcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTkKLSAgICAweDEuZmZmZTAwMDBmZGZmYWNhODE0NThmODBlYzMwMWEyYzhwMTI3LAotICAgIDB4MS5mZmZmZmNwMCwgMHgxLnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzYwCi0gICAgMHgxLmZmZmY2MmU0NDIwYTZiMDZkNzAyZjRlMmFhZmZhNGU1cDEyNywKLSAgICAweDEuZmZmZmZjcDAsIDB4MS4wMDAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDM2MQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEuZmZmZmZjcDAsIDB4MS4wMDAwMDRwNwotICB9LAotICB7IC8vIEVudHJ5IDM2MgotICAgIDB4MS5mZmZkOWQxZDNlMDBkOTliZGZlMzYxOWYwNWYyZWNjMXAxMjcsCi0gICAgMHgxLmZmZmZmZXAwLCAweDEuZmZmZmZjcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjMKLSAgICAweDEuZmZmZTRlOGVhMDAwYzNmOTlkODRkODg2YzAzODExZmFwMTI3LAotICAgIDB4MS5mZmZmZmVwMCwgMHgxLmZmZmZmZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzY0Ci0gICAgMHgxLmZmZmYwMDAwM2Y3ZmY1OTUwMTQ1OGZhMDc2MTU4NjhicDEyNywKLSAgICAweDEuZmZmZmZlcDAsIDB4MS5wNwotICB9LAotICB7IC8vIEVudHJ5IDM2NQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEuZmZmZmZlcDAsIDB4MS4wMDAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDM2NgotICAgIEhVR0VfVkFMRiwKLSAgICAweDEuZmZmZmZlcDAsIDB4MS4wMDAwMDRwNwotICB9LAotICB7IC8vIEVudHJ5IDM2NwotICAgIDB4MS5mZmZlOWQxYzRiMGYzN2Y0MTNkNDRjNjZjMDQ4MTgzNHAxMjcsCi0gICAgMHgxLnAxLCAweDEuZmZmZmZjcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjgKLSAgICAweDEuZmZmZjRlOGUwNmM3ZThhMmE4NGRhZWQ4ZWM1NmQ2YzNwMTI3LAotICAgIDB4MS5wMSwgMHgxLmZmZmZmZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzY5Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5wMSwgMHgxLnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcwCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5wMSwgMHgxLjAwMDAwMnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcxCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5wMSwgMHgxLjAwMDAwNHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcyCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDJwMSwgMHgxLmZmZmZmY3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzczCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDJwMSwgMHgxLmZmZmZmZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc0Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDJwMSwgMHgxLnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc1Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDJwMSwgMHgxLjAwMDAwMnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc2Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDJwMSwgMHgxLjAwMDAwNHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc3Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDRwMSwgMHgxLmZmZmZmY3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc4Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDRwMSwgMHgxLmZmZmZmZXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzc5Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDRwMSwgMHgxLnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgwCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDRwMSwgMHgxLjAwMDAwMnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgxCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS4wMDAwMDRwMSwgMHgxLjAwMDAwNHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgyCi0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZjcDAsIC0weDEuMmMwMDA0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODMKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmNwMCwgLTB4MS4yYzAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDM4NAotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmY3AwLCAtMHgxLjJjcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODUKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmNwMCwgLTB4MS4yYmZmZmVwNwotICB9LAotICB7IC8vIEVudHJ5IDM4NgotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmY3AwLCAtMHgxLjJiZmZmY3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg3Ci0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZlcDAsIC0weDEuMmMwMDA0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODgKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmVwMCwgLTB4MS4yYzAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZXAwLCAtMHgxLjJjcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTAKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmVwMCwgLTB4MS4yYmZmZmVwNwotICB9LAotICB7IC8vIEVudHJ5IDM5MQotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZXAwLCAtMHgxLjJiZmZmY3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkyCi0gICAgMC4wZiwKLSAgICAweDEucDEsIC0weDEuMmMwMDA0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTMKLSAgICAwLjBmLAotICAgIDB4MS5wMSwgLTB4MS4yYzAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDM5NAotICAgIDAuMGYsCi0gICAgMHgxLnAxLCAtMHgxLjJjcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTUKLSAgICAwLjBmLAotICAgIDB4MS5wMSwgLTB4MS4yYmZmZmVwNwotICB9LAotICB7IC8vIEVudHJ5IDM5NgotICAgIDAuMGYsCi0gICAgMHgxLnAxLCAtMHgxLjJiZmZmY3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzk3Ci0gICAgMC4wZiwKLSAgICAweDEuMDAwMDAycDEsIC0weDEuMmMwMDA0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDJwMSwgLTB4MS4yYzAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDM5OQotICAgIDAuMGYsCi0gICAgMHgxLjAwMDAwMnAxLCAtMHgxLjJjcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDAKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDJwMSwgLTB4MS4yYmZmZmVwNwotICB9LAotICB7IC8vIEVudHJ5IDQwMQotICAgIDAuMGYsCi0gICAgMHgxLjAwMDAwMnAxLCAtMHgxLjJiZmZmY3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAyCi0gICAgMC4wZiwKLSAgICAweDEuMDAwMDA0cDEsIC0weDEuMmMwMDA0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDMKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDRwMSwgLTB4MS4yYzAwMDJwNwotICB9LAotICB7IC8vIEVudHJ5IDQwNAotICAgIDAuMGYsCi0gICAgMHgxLjAwMDAwNHAxLCAtMHgxLjJjcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDUKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDRwMSwgLTB4MS4yYmZmZmVwNwotICB9LAotICB7IC8vIEVudHJ5IDQwNgotICAgIDAuMGYsCi0gICAgMHgxLjAwMDAwNHAxLCAtMHgxLjJiZmZmY3A3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA3Ci0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGIycC0yLCAweDEuYzMwYzJjcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDgKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjJwLTIsIDB4MS5jMzBjMmVwOAotICB9LAotICB7IC8vIEVudHJ5IDQwOQotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiMnAtMiwgMHgxLmMzMGMzMHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEwCi0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGIycC0yLCAweDEuYzMwYzMycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTEKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjJwLTIsIDB4MS5jMzBjMzRwOAotICB9LAotICB7IC8vIEVudHJ5IDQxMgotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiNHAtMiwgMHgxLmMzMGMyY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDEzCi0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGI0cC0yLCAweDEuYzMwYzJlcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTQKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjRwLTIsIDB4MS5jMzBjMzBwOAotICB9LAotICB7IC8vIEVudHJ5IDQxNQotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiNHAtMiwgMHgxLmMzMGMzMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDE2Ci0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGI0cC0yLCAweDEuYzMwYzM0cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTcKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjZwLTIsIDB4MS5jMzBjMmNwOAotICB9LAotICB7IC8vIEVudHJ5IDQxOAotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiNnAtMiwgMHgxLmMzMGMyZXA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDE5Ci0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGI2cC0yLCAweDEuYzMwYzMwcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjAKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjZwLTIsIDB4MS5jMzBjMzJwOAotICB9LAotICB7IC8vIEVudHJ5IDQyMQotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiNnAtMiwgMHgxLmMzMGMzNHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDIyCi0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGI4cC0yLCAweDEuYzMwYzJjcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjMKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjhwLTIsIDB4MS5jMzBjMmVwOAotICB9LAotICB7IC8vIEVudHJ5IDQyNAotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiOHAtMiwgMHgxLmMzMGMzMHA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDI1Ci0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGI4cC0yLCAweDEuYzMwYzMycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjYKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYjhwLTIsIDB4MS5jMzBjMzRwOAotICB9LAotICB7IC8vIEVudHJ5IDQyNwotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiYXAtMiwgMHgxLmMzMGMyY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDI4Ci0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGJhcC0yLCAweDEuYzMwYzJlcDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjkKLSAgICAwLjBmLAotICAgIDB4MS5kYjZkYmFwLTIsIDB4MS5jMzBjMzBwOAotICB9LAotICB7IC8vIEVudHJ5IDQzMAotICAgIDAuMGYsCi0gICAgMHgxLmRiNmRiYXAtMiwgMHgxLmMzMGMzMnA4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMxCi0gICAgMC4wZiwKLSAgICAweDEuZGI2ZGJhcC0yLCAweDEuYzMwYzM0cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzIKLSAgICAtMHgxLmZmZmZmYzAwMDAwN2ZmZmZmMDAwMDAxZmZmZmZjMHAtMSwKLSAgICAtMHgxLjAwMDAwMnAwLCAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgLTB4MS5wMCwKLSAgICAtMHgxLnAwLCAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgLTB4MS4wMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDEwMDAwMDFwMCwKLSAgICAtMHgxLmZmZmZmZXAtMSwgLTB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDQzNQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucDEsIDB4MS5wMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzYKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLnAyLCAweDEucDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzcKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmVwLTIsIDB4MS5mZmZmZmVwOQotICB9LAotICB7IC8vIEVudHJ5IDQzOAotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZXAtMiwgMHgxLnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQzOQotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZXAtMiwgMHgxLjAwMDAwMnAxMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MAotICAgIDAuMGYsCi0gICAgMHgxLnAtMSwgMHgxLmZmZmZmZXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgMC4wZiwKLSAgICAweDEucC0xLCAweDEucDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQyCi0gICAgMC4wZiwKLSAgICAweDEucC0xLCAweDEuMDAwMDAycDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQzCi0gICAgMC4wZiwKLSAgICAweDEuMDAwMDAycC0xLCAweDEuZmZmZmZlcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDQKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDJwLTEsIDB4MS5wMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDUKLSAgICAwLjBmLAotICAgIDB4MS4wMDAwMDJwLTEsIDB4MS4wMDAwMDJwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDYKLSAgICAweDEuMDAwMjA0NjcxMDk1NDc1NzJmYThmM2Y2NTNlZGE1NDhwLTE0OSwKLSAgICAweDEucC0xNDksIDB4MS5mZmZmZjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDcKLSAgICAweDEuMDAwMTlkMWVlZDIxZjQ0OGYyYzYyMTdlYWIzZDljNTVwLTE0OSwKLSAgICAweDEucC0xNDksIDB4MS5mZmZmZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDgKLSAgICAweDEuMDAwMTM1ZDZmMzU5NmUwODZkNDYzMzc2YTlkYmQxZTJwLTE0OSwKLSAgICAweDEucC0xNDksIDB4MS5mZmZmZmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAweDEuMDAwMGNlOGYyMzNiYTNjNjRhZGM1NjY3YTdiMGIyNDVwLTE0OSwKLSAgICAweDEucC0xNDksIDB4MS5mZmZmZmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTAKLSAgICAweDEuMDAwMDY3NDc3Y2M4ODRiMzNlMDNkMGJiNzc1NzExNTBwLTE0OSwKLSAgICAweDEucC0xNDksIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTEKLSAgICAweDEucC0xNDksCi0gICAgMHgxLnAtMTQ5LCAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTIKLSAgICAwLjBmLAotICAgIDB4MS5wLTE0OSwgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUzCi0gICAgMC4wZiwKLSAgICAweDEucC0xNDksIDB4MS4wMDAwMDRwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NAotICAgIDAuMGYsCi0gICAgMHgxLnAtMTQ5LCAweDEuMDAwMDA2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTUKLSAgICAwLjBmLAotICAgIDB4MS5wLTE0OSwgMHgxLjAwMDAwOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU2Ci0gICAgMC4wZiwKLSAgICAweDEucC0xNDksIDB4MS4wMDAwMGFwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NwotICAgIDB4MS4wMDAyMDBlZmNmMjViYWIxYzdjZDIyODI3MzQxYWI2M3AtMTQ4LAotICAgIDB4MS5wLTE0OCwgMHgxLmZmZmZmNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIDB4MS4wMDAxOWE1OTIwNGM4MmZlMDYwY2Y2ZDMyMGYxNTQzM3AtMTQ4LAotICAgIDB4MS5wLTE0OCwgMHgxLmZmZmZmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1OQotICAgIDB4MS4wMDAxMzNjMjlhOGY2NGYyMDRkYTEzYjcyZWJjNTZlZHAtMTQ4LAotICAgIDB4MS5wLTE0OCwgMHgxLmZmZmZmYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ2MAotICAgIDB4MS4wMDAwY2QyYzNkZWU1MDE0ODA3Mjk1MDY1OTNmZDY4YnAtMTQ4LAotICAgIDB4MS5wLTE0OCwgMHgxLmZmZmZmY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDQ2MQotICAgIDB4MS4wMDAwNjY5NjBhNjkzM2VjM2JhZThjYWI5Y2NmZDU0M3AtMTQ4LAotICAgIDB4MS5wLTE0OCwgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ2MgotICAgIDB4MS5wLTE0OCwKLSAgICAweDEucC0xNDgsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDQ2MwotICAgIDB4MS5mZmZlNjVhOGNkMDIxZGVkZDU1YTQwYzI3MmRjOGFjYXAtMTQ5LAotICAgIDB4MS5wLTE0OCwgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY0Ci0gICAgMHgxLmZmZmNjYjUyZTJlMWYyNjAyMDIxODIwYWI0NzAzNmZlcC0xNDksCi0gICAgMHgxLnAtMTQ4LCAweDEuMDAwMDA0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjUKLSAgICAweDEuZmZmYjMwZmU0MTllNzVjNTUyYzA3NGI3NWU5ZTEzMmRwLTE0OSwKLSAgICAweDEucC0xNDgsIDB4MS4wMDAwMDZwMAotICB9LAotICB7IC8vIEVudHJ5IDQ2NgotICAgIDB4MS5mZmY5OTZhYWU5MzZhMDhjYjJkZTNiODMxMzI2ODM2Y3AtMTQ5LAotICAgIDB4MS5wLTE0OCwgMHgxLjAwMDAwOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY3Ci0gICAgMHgxLmZmZjdmYzU4ZDlhOTZiMjY1OTVkYzFiOTFhYWIxMDY1cC0xNDksCi0gICAgMHgxLnAtMTQ4LCAweDEuMDAwMDBhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjgKLSAgICAweDEuODAwMmZlNWQzMjZlMTkxMGRjZjVhZGFkYzRmYjgwYmFwLTE0OCwKLSAgICAweDEuODBwLTE0OCwgMHgxLmZmZmZmNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ2OQotICAgIDB4MS44MDAyNjUxNmUxMzA0MTBjYmMzNGQ2YmUxZjMxNGFmM3AtMTQ4LAotICAgIDB4MS44MHAtMTQ4LCAweDEuZmZmZmY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcwCi0gICAgMHgxLjgwMDFjYmQwY2QyMDA0OGRjMDA0MWFhZTY4NTNmNDE0cC0xNDgsCi0gICAgMHgxLjgwcC0xNDgsIDB4MS5mZmZmZmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzEKLSAgICAweDEuODAwMTMyOGFmNjNkNGIyOGI5M2JhYzE2OGQzMjM3NzZwLTE0OCwKLSAgICAweDEuODBwLTE0OCwgMHgxLmZmZmZmY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDQ3MgotICAgIDB4MS44MDAwOTk0NTVjODdmYzcyODI3MmQ3OTkzYzNjMGVkMnAtMTQ4LAotICAgIDB4MS44MHAtMTQ4LCAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDczCi0gICAgMHgxLjgwcC0xNDgsCi0gICAgMHgxLjgwcC0xNDgsIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDQ3NAotICAgIDB4MS43ZmZlY2Q3NWZlNzc5YzM5ZGEzMTJhMGFlNjU3NWFhZXAtMTQ4LAotICAgIDB4MS44MHAtMTQ4LCAweDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzUKLSAgICAweDEuN2ZmZDlhZWNmMWEzNWM3ZTJkNmY2N2I5MTc3YjhiYzhwLTE0OCwKLSAgICAweDEuODBwLTE0OCwgMHgxLjAwMDAwNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc2Ci0gICAgMHgxLjdmZmM2ODY0ZDk4MjdkNzU3YjRiNjAwMWQwYzgwYTlicC0xNDgsCi0gICAgMHgxLjgwcC0xNDgsIDB4MS4wMDAwMDZwMAotICB9LAotICB7IC8vIEVudHJ5IDQ3NwotICAgIDB4MS43ZmZiMzVkZGI2MTQzYmM4ZTE0NWE2ZDYxNmExYjU1MXAtMTQ4LAotICAgIDB4MS44MHAtMTQ4LCAweDEuMDAwMDA4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzgKLSAgICAweDEuN2ZmYTAzNTc4NzU3ZDQyMjE4Y2U0MGE1NzhjNzQ0NzZwLTE0OCwKLSAgICAweDEuODBwLTE0OCwgMHgxLjAwMDAwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc5Ci0gICAgMHgxLjAwMDAwMGEwY2Y2NWViMTgxN2E3MDk1ZDlhMDQ0M2E3cDAsCi0gICAgMHgxLnAtMjksIC0weDEucC0yOQotICB9LAotICB7IC8vIEVudHJ5IDQ4MAotICAgIDB4MS5mZmZmZmY1ZjMwOWE2MGFhZDVjMjMwOWY4MWY5MGRlZnAtMSwKLSAgICAweDEucC0yOSwgMHgxLnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODEKLSAgICAweDEuZmZmZmZkOWUwN2NmMDc3NjdhNTVhZmJlOWFjYWU5M2VwLTEsCi0gICAgMHgxLnA1NSwgLTB4MS5wLTI5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgMHgxLjAwMDAwMDk4N2UwY2M2NjM0NGQ4OWI0OTRlMWY0M2IzcDAsCi0gICAgMHgxLnA1NSwgMHgxLnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODMKLSAgICAweDEuZmZmZmZkNjY5NDI3Y2YxNTk1MTU4NzM4ODdjMTdjZjJwLTEsCi0gICAgMHgxLnA2MCwgLTB4MS5wLTI5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDg0Ci0gICAgMHgxLjAwMDAwMGE2NWFmNmFlNjFiZTg4ZWEyNTU4NzkwY2Q3cDAsCi0gICAgMHgxLnA2MCwgMHgxLnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODUKLSAgICAweDEuZmZjMDAzZmZiNTVhYWE0Y2QzNGYzNDMxZWE1Yjc3ZjFwLTEsCi0gICAgMHgxLmZmZmZmZXAtMSwgMHgxLnAxMwotICB9LAotICB7IC8vIEVudHJ5IDQ4NgotICAgIDB4MS5mZTAwZmZhOWMwZmIzYmYyOGM4YTliMmIzZDJkN2RhYXAtMSwKLSAgICAweDEuZmZmZmZlcC0xLCAweDEucDE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDg3Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLnAxMwotICB9LAotICB7IC8vIEVudHJ5IDQ4OAotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIDB4MS5wMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODkKLSAgICAweDEuMDA0MDA4MDA2YWE1NTQzMzJiOGZlZDA5ZDhlZDI5ZjNwMCwKLSAgICAweDEuMDAwMDAycDAsIDB4MS5wMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTAKLSAgICAweDEuMDIwMjAxNTNmYzQwNWIxMjNiMzNhNzNjYjkzYTM2NDhwMCwKLSAgICAweDEuMDAwMDAycDAsIDB4MS5wMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTEKLSAgICAweDEuMmMxNTYwMzI2OTQwNzAwNmI4ZjM1ZThlNGYxNDk3YmFwLTYsCi0gICAgLTB4MS4wMDAwMDJwMCwgLTB4MS5wMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTIKLSAgICAweDEuYzg0Njg4N2VlMzc5YzVhZjYzN2M3MzQ5YWZjOWY2OTlwLTQ3LAotICAgIC0weDEuMDAwMDAycDAsIC0weDEucDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDkzCi0gICAgMHgxLnAwLAotICAgIC0weDEucDAsIC0weDEucDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk0Ci0gICAgMHgxLnAwLAotICAgIC0weDEucDAsIC0weDEucDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk1Ci0gICAgMHgxLmQ4ZTY0ZDY2MzQyODkxYzg2ZmIzYzg3ZDFlZDZkNWM1cDIsCi0gICAgLTB4MS5mZmZmZmVwLTEsIC0weDEucDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk2Ci0gICAgMHgxLjBmMmVjNTgzZjYxMWU0YjhmYzFjYzdiNTBlZmJiNzM4cDIzLAotICAgIC0weDEuZmZmZmZlcC0xLCAtMHgxLnAyOAotICB9LAotICB7IC8vIEVudHJ5IDQ5NwotICAgIDB4MS5kOGU2NGQ2NjM0Mjg5MWM4NmZiM2M4N2QxZWQ2ZDVjNXAyLAotICAgIDB4MS5mZmZmZmVwLTEsIC0weDEucDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk4Ci0gICAgMHgxLjBmMmVjNTgzZjYxMWU0YjhmYzFjYzdiNTBlZmJiNzM4cDIzLAotICAgIDB4MS5mZmZmZmVwLTEsIC0weDEucDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk5Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgLTB4MS5wMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDAKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAtMHgxLnAyOAotICB9LAotICB7IC8vIEVudHJ5IDUwMQotICAgIDB4MS4yYzE1NjAzMjY5NDA3MDA2YjhmMzVlOGU0ZjE0OTdiYXAtNiwKLSAgICAweDEuMDAwMDAycDAsIC0weDEucDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgMHgxLmM4NDY4ODdlZTM3OWM1YWY2MzdjNzM0OWFmYzlmNjk5cC00NywKLSAgICAweDEuMDAwMDAycDAsIC0weDEucDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAzCi0gICAgSFVHRV9WQUxGLAotICAgIC0weDEucDE1LCAweDEucDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA0Ci0gICAgSFVHRV9WQUxGLAotICAgIDAuMGYsIC0weDEuODBwMQotICB9LAotICB7IC8vIEVudHJ5IDUwNQotICAgIC1IVUdFX1ZBTEYsCi0gICAgLTAuMGYsIC0weDEuODBwMQotICB9LAotICB7IC8vIEVudHJ5IDUwNgotICAgIEhVR0VfVkFMRiwKLSAgICAwLjBmLCAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA3Ci0gICAgLUhVR0VfVkFMRiwKLSAgICAtMC4wZiwgLTB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIEhVR0VfVkFMRiwKLSAgICAwLjBmLCAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDkKLSAgICBIVUdFX1ZBTEYsCi0gICAgMC4wZiwgLTB4MS44MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEwCi0gICAgSFVHRV9WQUxGLAotICAgIDAuMGYsIC0weDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTEKLSAgICBIVUdFX1ZBTEYsCi0gICAgMC4wZiwgLTB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDUxMgotICAgIEhVR0VfVkFMRiwKLSAgICAwLjBmLCAtMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUxMwotICAgIEhVR0VfVkFMRiwKLSAgICAwLjBmLCAtMHgxLnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTE0Ci0gICAgSFVHRV9WQUxGLAotICAgIDAuMGYsIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTUKLSAgICBIVUdFX1ZBTEYsCi0gICAgLTAuMGYsIC0weDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDUxNgotICAgIEhVR0VfVkFMRiwKLSAgICAtMC4wZiwgLTB4MS44MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE3Ci0gICAgSFVHRV9WQUxGLAotICAgIC0wLjBmLCAtMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE4Ci0gICAgSFVHRV9WQUxGLAotICAgIC0wLjBmLCAtMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE5Ci0gICAgSFVHRV9WQUxGLAotICAgIC0wLjBmLCAtMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUyMAotICAgIEhVR0VfVkFMRiwKLSAgICAtMC4wZiwgLTB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDUyMQotICAgIEhVR0VfVkFMRiwKLSAgICAtMC4wZiwgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDUyMgotICAgIEhVR0VfVkFMRiwKLSAgICAwLjBmLCAtSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgSFVHRV9WQUxGLAotICAgIC0wLjBmLCAtSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI0Ci0gICAgMC4wLAotICAgIDAuMGYsIDB4MS44MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI1Ci0gICAgLTAuMCwKLSAgICAtMC4wZiwgMHgxLjgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjYKLSAgICAwLjAsCi0gICAgMC4wZiwgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI3Ci0gICAgLTAuMCwKLSAgICAtMC4wZiwgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI4Ci0gICAgMC4wLAotICAgIDAuMGYsIEhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDUyOQotICAgIDAuMCwKLSAgICAwLjBmLCAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDUzMAotICAgIDAuMCwKLSAgICAwLjBmLCAweDEuODBwMgotICB9LAotICB7IC8vIEVudHJ5IDUzMQotICAgIDAuMCwKLSAgICAwLjBmLCAweDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzIKLSAgICAwLjAsCi0gICAgMC4wZiwgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMzCi0gICAgMC4wLAotICAgIDAuMGYsIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzQKLSAgICAwLjAsCi0gICAgMC4wZiwgMHgxLnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTM1Ci0gICAgMC4wLAotICAgIDAuMGYsIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIDAuMCwKLSAgICAtMC4wZiwgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM3Ci0gICAgMC4wLAotICAgIC0wLjBmLCAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDUzOAotICAgIDAuMCwKLSAgICAtMC4wZiwgMHgxLjgwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzkKLSAgICAwLjAsCi0gICAgLTAuMGYsIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDU0MAotICAgIDAuMCwKLSAgICAtMC4wZiwgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQxCi0gICAgMC4wLAotICAgIC0wLjBmLCAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQyCi0gICAgMC4wLAotICAgIC0wLjBmLCAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDMKLSAgICAwLjAsCi0gICAgLTAuMGYsIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDU0NAotICAgIDB4MS5wMCwKLSAgICAtMHgxLnAwLCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDUKLSAgICAweDEucDAsCi0gICAgLTB4MS5wMCwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU0NgotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIEhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU0NwotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIC1IVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDU0OQotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIC0weDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDU1MAotICAgIDB4MS5wMCwKLSAgICAtMHgxLnAwLCAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDU1MQotICAgIDB4MS5wMCwKLSAgICAtMHgxLnAwLCAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTIKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUzCi0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgLTB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTQKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTUKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAtMHgxLnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTU2Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTU3Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgLTB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDU1OAotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDU1OQotICAgIDB4MS5wMCwKLSAgICAweDEucDAsIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAweDEucDAsCi0gICAgMHgxLnAwLCAwLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYxCi0gICAgMHgxLnAwLAotICAgIDB4MS5wMCwgLTAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjIKLSAgICAweDEucDAsCi0gICAgSFVHRV9WQUxGLCAwLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYzCi0gICAgMHgxLnAwLAotICAgIEhVR0VfVkFMRiwgLTAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjQKLSAgICAweDEucDAsCi0gICAgMHgxLmZmZmZmZXAxMjcsIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjUKLSAgICAweDEucDAsCi0gICAgMHgxLmZmZmZmZXAxMjcsIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY2Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wLTEyNiwgMC4wZgotICB9LAotICB7IC8vIEVudHJ5IDU2NwotICAgIDB4MS5wMCwKLSAgICAweDEucC0xMjYsIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY4Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wLTE0OSwgMC4wZgotICB9LAotICB7IC8vIEVudHJ5IDU2OQotICAgIDB4MS5wMCwKLSAgICAweDEucC0xNDksIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcwCi0gICAgMHgxLnAwLAotICAgIDAuMGYsIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzEKLSAgICAweDEucDAsCi0gICAgMC4wZiwgLTAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAweDEucDAsCi0gICAgLTAuMGYsIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzMKLSAgICAweDEucDAsCi0gICAgLTAuMGYsIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc0Ci0gICAgMHgxLnAwLAotICAgIC0weDEucC0xNDksIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzUKLSAgICAweDEucDAsCi0gICAgLTB4MS5wLTE0OSwgLTAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzYKLSAgICAweDEucDAsCi0gICAgLTB4MS5wLTEyNiwgMC4wZgotICB9LAotICB7IC8vIEVudHJ5IDU3NwotICAgIDB4MS5wMCwKLSAgICAtMHgxLnAtMTI2LCAtMC4wZgotICB9LAotICB7IC8vIEVudHJ5IDU3OAotICAgIDB4MS5wMCwKLSAgICAtMHgxLmZmZmZmZXAxMjcsIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzkKLSAgICAweDEucDAsCi0gICAgLTB4MS5mZmZmZmVwMTI3LCAtMC4wZgotICB9LAotICB7IC8vIEVudHJ5IDU4MAotICAgIDB4MS5wMCwKLSAgICAtSFVHRV9WQUxGLCAwLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgxCi0gICAgMHgxLnAwLAotICAgIC1IVUdFX1ZBTEYsIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgyCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5wLTEyNiwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucC0xNDksIC1IVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODQKLSAgICBIVUdFX1ZBTEYsCi0gICAgLTB4MS5wLTE0OSwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU4NQotICAgIEhVR0VfVkFMRiwKLSAgICAtMHgxLnAtMTI2LCAtSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg2Ci0gICAgMC4wLAotICAgIEhVR0VfVkFMRiwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU4NwotICAgIDAuMCwKLSAgICAweDEuZmZmZmZlcDEyNywgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU4OAotICAgIDAuMCwKLSAgICAweDEuODBwMCwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU4OQotICAgIDAuMCwKLSAgICAtMHgxLjgwcDAsIC1IVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTAKLSAgICAwLjAsCi0gICAgLTB4MS5mZmZmZmVwMTI3LCAtSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkxCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTEYsIC1IVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTIKLSAgICAwLjAsCi0gICAgMHgxLnAtMTI2LCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTMKLSAgICAwLjAsCi0gICAgMHgxLnAtMTQ5LCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTQKLSAgICAwLjAsCi0gICAgMC4wZiwgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk1Ci0gICAgMC4wLAotICAgIC0wLjBmLCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTYKLSAgICAwLjAsCi0gICAgLTB4MS5wLTE0OSwgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk3Ci0gICAgMC4wLAotICAgIC0weDEucC0xMjYsIEhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU5OAotICAgIEhVR0VfVkFMRiwKLSAgICBIVUdFX1ZBTEYsIEhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDU5OQotICAgIEhVR0VfVkFMRiwKLSAgICAweDEuZmZmZmZlcDEyNywgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAwCi0gICAgSFVHRV9WQUxGLAotICAgIDB4MS44MHAwLCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDEKLSAgICBIVUdFX1ZBTEYsCi0gICAgLTB4MS44MHAwLCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDIKLSAgICBIVUdFX1ZBTEYsCi0gICAgLTB4MS5mZmZmZmVwMTI3LCBIVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDMKLSAgICBIVUdFX1ZBTEYsCi0gICAgLUhVR0VfVkFMRiwgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA0Ci0gICAgLTAuMCwKLSAgICAtSFVHRV9WQUxGLCAtMHgxLjgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDUKLSAgICAtMC4wLAotICAgIC1IVUdFX1ZBTEYsIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDYKLSAgICAwLjAsCi0gICAgLUhVR0VfVkFMRiwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDYwNwotICAgIDAuMCwKLSAgICAtSFVHRV9WQUxGLCAtMHgxLjkyMWZiNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA4Ci0gICAgMC4wLAotICAgIC1IVUdFX1ZBTEYsIC0weDEuOTIxZmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDkKLSAgICAwLjAsCi0gICAgLUhVR0VfVkFMRiwgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEwCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTEYsIC0weDEuODBwMgotICB9LAotICB7IC8vIEVudHJ5IDYxMQotICAgIDAuMCwKLSAgICAtSFVHRV9WQUxGLCAtMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEyCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTEYsIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTMKLSAgICAwLjAsCi0gICAgLUhVR0VfVkFMRiwgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDYxNAotICAgIC1IVUdFX1ZBTEYsCi0gICAgLUhVR0VfVkFMRiwgMHgxLjgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTUKLSAgICAtSFVHRV9WQUxGLAotICAgIC1IVUdFX1ZBTEYsIDB4MS40MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE2Ci0gICAgSFVHRV9WQUxGLAotICAgIC1IVUdFX1ZBTEYsIEhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDYxNwotICAgIEhVR0VfVkFMRiwKLSAgICAtSFVHRV9WQUxGLCAweDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTgKLSAgICBIVUdFX1ZBTEYsCi0gICAgLUhVR0VfVkFMRiwgMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE5Ci0gICAgSFVHRV9WQUxGLAotICAgIC1IVUdFX1ZBTEYsIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjIwCi0gICAgSFVHRV9WQUxGLAotICAgIC1IVUdFX1ZBTEYsIDB4MS44MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIxCi0gICAgSFVHRV9WQUxGLAotICAgIC1IVUdFX1ZBTEYsIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDYyMgotICAgIEhVR0VfVkFMRiwKLSAgICAtSFVHRV9WQUxGLCAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjMKLSAgICBIVUdFX1ZBTEYsCi0gICAgLUhVR0VfVkFMRiwgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjI0Ci0gICAgMC4wLAotICAgIEhVR0VfVkFMRiwgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDYyNQotICAgIDAuMCwKLSAgICBIVUdFX1ZBTEYsIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjYKLSAgICAwLjAsCi0gICAgSFVHRV9WQUxGLCAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjcKLSAgICAwLjAsCi0gICAgSFVHRV9WQUxGLCAtSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI4Ci0gICAgSFVHRV9WQUxGLAotICAgIEhVR0VfVkFMRiwgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI5Ci0gICAgSFVHRV9WQUxGLAotICAgIEhVR0VfVkFMRiwgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzAKLSAgICBIVUdFX1ZBTEYsCi0gICAgSFVHRV9WQUxGLCAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzEKLSAgICBIVUdFX1ZBTEYsCi0gICAgSFVHRV9WQUxGLCAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzIKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLmZmZmZmZXAxMjcsIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMzCi0gICAgMC4wZiwKLSAgICAweDEucC0xMjYsIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDYzNAotICAgIDAuMGYsCi0gICAgLTB4MS5wLTEyNiwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM1Ci0gICAgMC4wZiwKLSAgICAweDEucC0xNDksIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDYzNgotICAgIDAuMGYsCi0gICAgLTB4MS5wLTE0OSwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM3Ci0gICAgSFVHRV9WQUxGLAotICAgIEhVR0VfVkFMRiwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDYzOAotICAgIDB4MS5mZmZmZmVmZmZmZmZiZmZmZmZkZmZmZmZlYmZmZmZmMXA2MywKLSAgICAweDEuZmZmZmZlcDEyNywgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDYzOQotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAtMSwKLSAgICAweDEucC0xLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQwCi0gICAgMHgxLnAtNjMsCi0gICAgMHgxLnAtMTI2LCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQxCi0gICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcC03NSwKLSAgICAweDEucC0xNDksIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICAwLjAsCi0gICAgMC4wZiwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY0MwotICAgIDAuMCwKLSAgICAtMC4wZiwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY0NAotICAgIEhVR0VfVkFMRiwKLSAgICAtSFVHRV9WQUxGLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ1Ci0gICAgMC4wLAotICAgIEhVR0VfVkFMRiwgLTB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDYKLSAgICAweDEuMDAwMDAwODAwMDAwNjAwMDAwNTAwMDAwNDYwMDAwM2ZwLTY0LAotICAgIDB4MS5mZmZmZmVwMTI3LCAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY0NwotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTA4YjJmYjEzNjZlYTk1N2QzZXAwLAotICAgIDB4MS5wLTEsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ4Ci0gICAgMHgxLnA2MywKLSAgICAweDEucC0xMjYsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ5Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2M5MDhiMmZiMTM2NmVhOTU3ZDNlcDc0LAotICAgIDB4MS5wLTE0OSwgLTB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTAKLSAgICBIVUdFX1ZBTEYsCi0gICAgMC4wZiwgLTB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTEKLSAgICBIVUdFX1ZBTEYsCi0gICAgLTAuMGYsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUyCi0gICAgMC4wLAotICAgIC1IVUdFX1ZBTEYsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUzCi0gICAgMC4wLAotICAgIDB4MS5wLTEsIEhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDY1NAotICAgIDAuMGYsCi0gICAgMHgxLnAtMSwgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTUKLSAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwLTEsCi0gICAgMHgxLnAtMSwgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY1NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYXAtMSwKLSAgICAweDEucC0xLCAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMSwgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjU4Ci0gICAgMHgxLnAwLAotICAgIDB4MS5wLTEsIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTkKLSAgICAweDEucDAsCi0gICAgMHgxLnAtMSwgLTAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjAKLSAgICAweDEucDAsCi0gICAgMHgxLnAtMSwgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDY2MQotICAgIDB4MS4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMnAwLAotICAgIDB4MS5wLTEsIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjIKLSAgICAweDEuNmEwOWU2NjdmM2JjYzkwOGIyZmIxMzY2ZWE5NTdkM2VwMCwKLSAgICAweDEucC0xLCAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2MwotICAgIEhVR0VfVkFMRiwKLSAgICAweDEucC0xLCAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjQKLSAgICBIVUdFX1ZBTEYsCi0gICAgMHgxLnAtMSwgLUhVR0VfVkFMRgotICB9LAotICB7IC8vIEVudHJ5IDY2NQotICAgIDAuMCwKLSAgICAtMHgxLnAtMSwgSFVHRV9WQUxGCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgMC4wZiwKLSAgICAtMHgxLnAtMSwgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjcKLSAgICAweDEucDAsCi0gICAgLTB4MS5wLTEsIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAweDEucDAsCi0gICAgLTB4MS5wLTEsIC0wLjBmCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY5Ci0gICAgSFVHRV9WQUxGLAotICAgIC0weDEucC0xLCAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzAKLSAgICBIVUdFX1ZBTEYsCi0gICAgLTB4MS5wLTEsIC1IVUdFX1ZBTEYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzEKLSAgICAweDEucDEsCi0gICAgMHgxLnAyLCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcyCi0gICAgMHgxLjgwcDEsCi0gICAgMHgxLjIwcDMsIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzMKLSAgICAweDEucDIsCi0gICAgMHgxLnA0LCAweDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc0Ci0gICAgMHgxLnAtMSwKLSAgICAweDEucDIsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc1Ci0gICAgMHgxLnAtMiwKLSAgICAweDEucDQsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc2Ci0gICAgMHgxLnAtMywKLSAgICAweDEucDYsIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc3Ci0gICAgSFVHRV9WQUxGLAotICAgIDB4MS5mZmZmZmVwLTEsIC0weDEuNzQ5MTBjcDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc4Ci0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZlcC0xLCAweDEuNzQ5MTBjcDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc5Ci0gICAgMHgxLnAyLAotICAgIDB4MS5wMSwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgwCi0gICAgMHgxLnAtMiwKLSAgICAweDEucDEsIC0weDEucDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODEKLSAgICAweDEucDIsCi0gICAgLTB4MS5wMSwgMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgyCi0gICAgMHgxLnAtMiwKLSAgICAtMHgxLnAxLCAtMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgzCi0gICAgMHgxLmIwcDQsCi0gICAgMHgxLjgwcDEsIDB4MS44MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgMHgxLjg2YTBwMTEsCi0gICAgMHgxLjQwcDIsIDB4MS40MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg1Ci0gICAgMHgxLjkyMWVlMHAxOSwKLSAgICAweDEuYzBwMiwgMHgxLmMwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODYKLSAgICAweDEuMmEwNWYycDMzLAotICAgIDB4MS40MHAzLCAweDEuNDBwMwotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF9wb3dmLCBwb3dmX2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX3Bvd2ZfaW50ZWxfZGF0YSkvc2l6ZW9mKHBvd2ZfaW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0ZMT0FUX0VRKGdfcG93Zl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCBwb3dmKGdfcG93Zl9pbnRlbF9kYXRhW2ldLnhfY2FsbF9kYXRhLCBnX3Bvd2ZfaW50ZWxfZGF0YVtpXS55X2NhbGxfZGF0YSkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfc2luX3Rlc3QuY3BwIGIvdGVzdHMvbWF0aF9zaW5fdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmYTQzNDAuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF9zaW5fdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1Nzk1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZG91YmxlIGV4cGVjdGVkOwotICBkb3VibGUgY2FsbF9kYXRhOwotfSBzaW5faW50ZWxfZGF0YV90OwotCi1zdGF0aWMgc2luX2ludGVsX2RhdGFfdCBnX3Npbl9pbnRlbF9kYXRhW10gPSB7Ci0gIHsgLy8gRW50cnkgMAotICAgIDB4MS45MjU5ZTM3MDhiZDM5ZmZmZmZmZmZmZmZmZmYxYmRiZXAtNSwKLSAgICAweDEuOTI4MzU4NjUwM2ZlMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDEKLSAgICAtMHgxLjkyNTllMzcwOGJkMzlmZmZmZmZmZmZmZmZmZjFiZGJlcC01LAotICAgIC0weDEuOTI4MzU4NjUwM2ZlMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDIKLSAgICAweDEuZDc3YjExN2YyMzBkNWZmZmZmZmZmZmZmZmZmMmFkYzdwLTUsCi0gICAgMHgxLmQ3YmRjZDc3ODA0OWZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzCi0gICAgLTB4MS5kNzdiMTE3ZjIzMGQ1ZmZmZmZmZmZmZmZmZmYyYWRjN3AtNSwKLSAgICAtMHgxLmQ3YmRjZDc3ODA0OWZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgMHgxLmExNDkwYzhjMDZiYTZmZmZmZmZmZmZmZmZmYTk4NjExcC00LAotICAgIDB4MS5hMjAyYjNmYjg0Nzg4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNQotICAgIC0weDEuYTE0OTBjOGMwNmJhNmZmZmZmZmZmZmZmZmZhOTg2MTFwLTQsCi0gICAgLTB4MS5hMjAyYjNmYjg0Nzg4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNgotICAgIDB4MS5jYzQwYzM4MDUyMjlhN2ZmZmZmZmZmZmZmZjgzZTc2YnAtMywKLSAgICAweDEuZDAzN2NiMjdlZTZkZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDcKLSAgICAtMHgxLmNjNDBjMzgwNTIyOWE3ZmZmZmZmZmZmZmZmODNlNzZicC0zLAotICAgIC0weDEuZDAzN2NiMjdlZTZkZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDgKLSAgICAweDEuZDBlZjc5OTAwMWJhOTAwMDAwMDAwMDAwMDA1ZWE0ZTlwLTMsCi0gICAgMHgxLmQ1MDY0ZTZmZTgyYzVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5Ci0gICAgLTB4MS5kMGVmNzk5MDAxYmE5MDAwMDAwMDAwMDAwMDVlYTRlOXAtMywKLSAgICAtMHgxLmQ1MDY0ZTZmZTgyYzVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMAotICAgIDB4MS5lOTk1MDczMGM0Njk1ZmZmZmZmZmZmZmZmZmZmZmMyZXAtMiwKLSAgICAweDEuZmU3Njc3MzlkMGY2ZHAtMgotICB9LAotICB7IC8vIEVudHJ5IDExCi0gICAgLTB4MS5lOTk1MDczMGM0Njk1ZmZmZmZmZmZmZmZmZmZmZmMyZXAtMiwKLSAgICAtMHgxLmZlNzY3NzM5ZDBmNmRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIDB4MS45OGRjZDA5MzM3NzkyODAwMDAwMDAwMDAwMDE2N2RjN3AtMSwKLSAgICAweDEuZDk4YzRjNjEyNzE4ZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEzCi0gICAgLTB4MS45OGRjZDA5MzM3NzkyODAwMDAwMDAwMDAwMDE2N2RjN3AtMSwKLSAgICAtMHgxLmQ5OGM0YzYxMjcxOGRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAweDEuNzBhOWQ4MjViNTA2NDAwNDIyMTU1YWVjZDUxOWQ1NGNwLTEsCi0gICAgLTB4MS4wMDAwMDAxZjhwNTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcKLSAgICAtMHgxLjcwYTlkODI1YjUwNjQwMDQyMjE1NWFlY2Q1MTlkNTRjcC0xLAotICAgIDB4MS4wMDAwMDAxZjhwNTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgKLSAgICAweDEuYmYzOTgwYzZjMWU5ZjQ0OTY3OTVmNGNlNTM1MDE2YjZwLTEsCi0gICAgLTB4MS4wMGMwYmY4cDcwMAotICB9LAotICB7IC8vIEVudHJ5IDE5Ci0gICAgLTB4MS5iZjM5ODBjNmMxZTlmNDQ5Njc5NWY0Y2U1MzUwMTZiNnAtMSwKLSAgICAweDEuMDBjMGJmOHA3MDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMAotICAgIDB4MS5kNjI4OTlkNDhiNDM5N2ZiMjc1YmE0NDA5NTk3MTM2NHAtNCwKLSAgICAtMHgxLjEzZmZmZmZmZmZmODBwNgotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgLTB4MS5kNjI4OTlkNDhiNDM5N2ZiMjc1YmE0NDA5NTk3MTM2NHAtNCwKLSAgICAweDEuMTNmZmZmZmZmZmY4MHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIKLSAgICAtMHgxLjE3YjdhNjBjZTFmMTQ4NTgyNDcxMTUyM2FiMGZkNmQxcC01LAotICAgIC0weDEuMTdjNTkyMDc2N2RmY3AtNQotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgMHgxLjE3YjdhNjBjZTFmMTQ4NTgyNDcxMTUyM2FiMGZkNmQxcC01LAotICAgIDB4MS4xN2M1OTIwNzY3ZGZjcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQKLSAgICAweDEuZjAxOTJiNzk0ZmJiZTAzMGZlMjVlZGY2NWE1ZGI5YmZwLTEsCi0gICAgLTB4MS4xZDk5YmUwODcxM2NjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNQotICAgIC0weDEuZjAxOTJiNzk0ZmJiZTAzMGZlMjVlZGY2NWE1ZGI5YmZwLTEsCi0gICAgMHgxLjFkOTliZTA4NzEzY2NwMgotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgLTB4MS41ZTYxMzI4YzAwMzRlYzNhMDVkMDUzYjcyZTJkNTk0NXAtMywKLSAgICAtMHgxLjFkZGJmZDY0ZmMwZDNwODEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS41ZTYxMzI4YzAwMzRlYzNhMDVkMDUzYjcyZTJkNTk0NXAtMywKLSAgICAweDEuMWRkYmZkNjRmYzBkM3A4MQotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLmZiMDI4YzVkZjFkYjNlYjMyYjAwNjJjNmNkNGRlYTBicC0xLAotICAgIC0weDEuMWUyYTE1NjNlMDY4ZXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjkKLSAgICAtMHgxLmZiMDI4YzVkZjFkYjNlYjMyYjAwNjJjNmNkNGRlYTBicC0xLAotICAgIDB4MS4xZTJhMTU2M2UwNjhlcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIC0weDEuMmNlZmIxOTZiYTIwNzdmZmZmZmQ0YmQ2NTA3MjJiZmJwLTMsCi0gICAgLTB4MS4yZTA3YTkxMzE0ZHAtMwotICB9LAotICB7IC8vIEVudHJ5IDMxCi0gICAgMHgxLjJjZWZiMTk2YmEyMDc3ZmZmZmZkNGJkNjUwNzIyYmZicC0zLAotICAgIDB4MS4yZTA3YTkxMzE0ZHAtMwotICB9LAotICB7IC8vIEVudHJ5IDMyCi0gICAgMHgxLmI4MGY0ODlkM2VkZjQ4MzVkZTdkZWVlYjViYjM4YWQ5cC0yLAotICAgIC0weDEuM2JjZWMyNzA0NDRlMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMKLSAgICAtMHgxLmI4MGY0ODlkM2VkZjQ4MzVkZTdkZWVlYjViYjM4YWQ5cC0yLAotICAgIDB4MS4zYmNlYzI3MDQ0NGUycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNAotICAgIC0weDEuNGZmZmZmZmZmZmEzODgwMDAwMDAwNGRkMjJjY2NjY2NwLTIwLAotICAgIC0weDEuNTAwMDAwMDAwMDA0MHAtMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNQotICAgIDB4MS40ZmZmZmZmZmZmYTM4ODAwMDAwMDA0ZGQyMmNjY2NjY3AtMjAsCi0gICAgMHgxLjUwMDAwMDAwMDAwNDBwLTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYKLSAgICAtMHgxLmQyOWRhNWI0NGY1MWI3ZmMwMTlmMTgzZTFkM2JkNTExcC0yLAotICAgIC0weDEuNTU5MDAxYTQyZDkwY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcKLSAgICAweDEuZDI5ZGE1YjQ0ZjUxYjdmYzAxOWYxODNlMWQzYmQ1MTFwLTIsCi0gICAgMHgxLjU1OTAwMWE0MmQ5MGNwMQotICB9LAotICB7IC8vIEVudHJ5IDM4Ci0gICAgLTB4MS5mODVmNTI2MTQ3Zjc4N2ZmZmZmMTUyNDFlNzE5NzM0YnAtMSwKLSAgICAtMHgxLjU5N2JmM2U5Nzc2YjdwOTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOQotICAgIDB4MS5mODVmNTI2MTQ3Zjc4N2ZmZmZmMTUyNDFlNzE5NzM0YnAtMSwKLSAgICAweDEuNTk3YmYzZTk3NzZiN3A5OQotICB9LAotICB7IC8vIEVudHJ5IDQwCi0gICAgLTB4MS42ZDYxYjU4Yzk5YzQyZjEzOTZhZjRhNDIxNDhmNzNjNnAtNTksCi0gICAgLTB4MS42YzZjYmM0NWRjOGRlcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MQotICAgIDB4MS42ZDYxYjU4Yzk5YzQyZjEzOTZhZjRhNDIxNDhmNzNjNnAtNTksCi0gICAgMHgxLjZjNmNiYzQ1ZGM4ZGVwNwotICB9LAotICB7IC8vIEVudHJ5IDQyCi0gICAgMHgxLmU1YzNjMDhhMjU4YTc3ZjFkMTJlZmE4YzMwMTY2NzA5cC0xLAotICAgIC0weDEuNzNkOGQxNzNmOTBkMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMKLSAgICAtMHgxLmU1YzNjMDhhMjU4YTc3ZjFkMTJlZmE4YzMwMTY2NzA5cC0xLAotICAgIDB4MS43M2Q4ZDE3M2Y5MGQwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NAotICAgIDB4MS5mZWIzNjgwNmNhNWZiN2VhNDQyMTE5YWY0MWJlMGY0ZnAtMSwKLSAgICAtMHgxLjhjMjAyZDNhMzE4MDJwNgotICB9LAotICB7IC8vIEVudHJ5IDQ1Ci0gICAgLTB4MS5mZWIzNjgwNmNhNWZiN2VhNDQyMTE5YWY0MWJlMGY0ZnAtMSwKLSAgICAweDEuOGMyMDJkM2EzMTgwMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAtMHgxLjdjNmM3YjAxYjk4ZDk0N2NkOGFkZDVlNWQxYWUxMWNhcC0xLAotICAgIC0weDEuYWNkNTM4YjFhNmQ1ZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ3Ci0gICAgMHgxLjdjNmM3YjAxYjk4ZDk0N2NkOGFkZDVlNWQxYWUxMWNhcC0xLAotICAgIDB4MS5hY2Q1MzhiMWE2ZDVkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAtMHgxLjE5MWJlMjA1OWRjYjU3ZmVkODZkZDJjYzYyZWIxYTlmcC0xLAotICAgIC0weDEuYjc1MjVhYzk3ZTBkMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkKLSAgICAweDEuMTkxYmUyMDU5ZGNiNTdmZWQ4NmRkMmNjNjJlYjFhOWZwLTEsCi0gICAgMHgxLmI3NTI1YWM5N2UwZDJwMgotICB9LAotICB7IC8vIEVudHJ5IDUwCi0gICAgLTB4MS5mODMwNTk5M2EyMTJjN2ZmZmZmYzE1YzJhZmE1ZTU3ZXAtMSwKLSAgICAtMHgxLmJlZTVmYThhODRiMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDUxCi0gICAgMHgxLmY4MzA1OTkzYTIxMmM3ZmZmZmZjMTVjMmFmYTVlNTdlcC0xLAotICAgIDB4MS5iZWU1ZmE4YTg0YjAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIDB4MS5mZjNiMTM1MzBmZDcwZTcyYjc3ZjdjNjcyMWRhMTEzMXAtMSwKLSAgICAtMHgxLmMzOTM5NzlmZTU5MjFwOQotICB9LAotICB7IC8vIEVudHJ5IDUzCi0gICAgLTB4MS5mZjNiMTM1MzBmZDcwZTcyYjc3ZjdjNjcyMWRhMTEzMXAtMSwKLSAgICAweDEuYzM5Mzk3OWZlNTkyMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTQKLSAgICAtMHgxLmYxMTlkYTgxYTRkYTU3ZmZkOGJjYzVhMTI0N2Y1NTkwcC0xLAotICAgIC0weDEuYzQ4ZmZjNzI1NjNjOHAxOAotICB9LAotICB7IC8vIEVudHJ5IDU1Ci0gICAgMHgxLmYxMTlkYTgxYTRkYTU3ZmZkOGJjYzVhMTI0N2Y1NTkwcC0xLAotICAgIDB4MS5jNDhmZmM3MjU2M2M4cDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTYKLSAgICAtMHgxLmZkNzNiODFlMDRjY2M3ZTlkNzY0ZWNhOGJiMDg1MTA5cC0xLAotICAgIC0weDEuYzc5NTQ4YmMzMTg1NnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcKLSAgICAweDEuZmQ3M2I4MWUwNGNjYzdlOWQ3NjRlY2E4YmIwODUxMDlwLTEsCi0gICAgMHgxLmM3OTU0OGJjMzE4NTZwMwotICB9LAotICB7IC8vIEVudHJ5IDU4Ci0gICAgLTB4MS5jNzg4NWFlZjMzYTk0ZmZjNWFlMDZiZTk0NDRlZmFkNXAtMywKLSAgICAtMHgxLmNiNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDU5Ci0gICAgMHgxLmM3ODg1YWVmMzNhOTRmZmM1YWUwNmJlOTQ0NGVmYWQ1cC0zLAotICAgIDB4MS5jYjZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MAotICAgIC0weDEuZTY0OTQ5MTFlZWRkMDhkMTY1MGE0YjUxMzZjM2U2ZDZwLTcsCi0gICAgLTB4MS5lNjRkZGFmN2JkNzJmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAweDEuZTY0OTQ5MTFlZWRkMDhkMTY1MGE0YjUxMzZjM2U2ZDZwLTcsCi0gICAgMHgxLmU2NGRkYWY3YmQ3MmZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIDB4MS5lMTgwZWVmNWIxYzg4N2ZmZjU4NTU5NDk0OWI0NmU2Y3AtMSwKLSAgICAtMHgxLmVjZGQwZmJmMDc5NDJwNQotICB9LAotICB7IC8vIEVudHJ5IDYzCi0gICAgLTB4MS5lMTgwZWVmNWIxYzg4N2ZmZjU4NTU5NDk0OWI0NmU2Y3AtMSwKLSAgICAweDEuZWNkZDBmYmYwNzk0MnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjQKLSAgICAtMHgxLmZkOThkMjBjMWJlNDM4MDAwMDAwMWVlNTE1NjJkN2E4cC0xLAotICAgIC0weDEuZjA3M2EyMzI5MjMzN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUKLSAgICAweDEuZmQ5OGQyMGMxYmU0MzgwMDAwMDAxZWU1MTU2MmQ3YThwLTEsCi0gICAgMHgxLmYwNzNhMjMyOTIzMzdwMgotICB9LAotICB7IC8vIEVudHJ5IDY2Ci0gICAgLTB4MS43MjY4YzExMjI5N2M4N2QxNzYzM2JhYjcyMmYzMWEzZnAtNSwKLSAgICAtMHgxLmY1ZTRjNDEwZjRlZjhwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIDB4MS43MjY4YzExMjI5N2M4N2QxNzYzM2JhYjcyMmYzMWEzZnAtNSwKLSAgICAweDEuZjVlNGM0MTBmNGVmOHAxNQotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgMHgxLjQyMDc5NjE0NjA3MGU2MjhjMTlkMzhkMWU5MGRmMjI4cC0xOCwKLSAgICAtMHgxLmY4MDAwMDAwMDAycDk1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjkKLSAgICAtMHgxLjQyMDc5NjE0NjA3MGU2MjhjMTlkMzhkMWU5MGRmMjI4cC0xOCwKLSAgICAweDEuZjgwMDAwMDAwMDJwOTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MAotICAgIC0weDEuZTRmNmRjNDk5ZDljYzgwMzU2MDdmYTNkNzZmOWY0YzVwLTIsCi0gICAgLTB4MS5mOTM2NWQ3OTU0NmUxcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEKLSAgICAweDEuZTRmNmRjNDk5ZDljYzgwMzU2MDdmYTNkNzZmOWY0YzVwLTIsCi0gICAgMHgxLmY5MzY1ZDc5NTQ2ZTFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MgotICAgIDB4MS5iMmVmOTliMTQwZDY1MDQ2OGFlZDgyZmUwZDQ0MmFkYXAtMTQsCi0gICAgLTB4MS5mZmZmZmZmZmZmZTdlcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIC0weDEuYjJlZjk5YjE0MGQ2NTA0NjhhZWQ4MmZlMGQ0NDJhZGFwLTE0LAotICAgIDB4MS5mZmZmZmZmZmZmZTdlcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS5kYjBmZmMzZWNjNmUzYjhlMzczNTdjYTAwMmQ1NjI1YnAtMSwKLSAgICAweDEuMHAxNQotICB9LAotICB7IC8vIEVudHJ5IDc1Ci0gICAgLTB4MS5kYjBmZmMzZWNjNmUzYjhlMzczNTdjYTAwMmQ1NjI1YnAtMSwKLSAgICAtMHgxLjBwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NgotICAgIC0weDEuZTk4Zjg3MDk4YjYyNjk5YWQxNmUwMjU5YjBlODViMjRwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NwotICAgIDB4MS5lOThmODcwOThiNjI2OTlhZDE2ZTAyNTliMGU4NWIyNHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OAotICAgIDB4MS4wNTNjMzUwNjhlMTBkNDVlZTUwZjJkMWRkY2FiY2YzZHAtNCwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA1MgotICB9LAotICB7IC8vIEVudHJ5IDc5Ci0gICAgLTB4MS4wNTNjMzUwNjhlMTBkNDVlZTUwZjJkMWRkY2FiY2YzZHAtNCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MAotICAgIDB4MS43MmQ0MjFiNjg4NGU1MDBiYmQzYTllZmMwZjBjZWQ5MnAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAyMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MQotICAgIC0weDEuNzJkNDIxYjY4ODRlNTAwYmJkM2E5ZWZjMGYwY2VkOTJwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDIyOAotICB9LAotICB7IC8vIEVudHJ5IDgyCi0gICAgMHgxLjc3ZmJhOTg3YzU2NTMzYTY2NWU4OGU1YTU5MmNhMTBjcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDQ5MQotICB9LAotICB7IC8vIEVudHJ5IDgzCi0gICAgLTB4MS43N2ZiYTk4N2M1NjUzM2E2NjVlODhlNWE1OTJjYTEwY3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwNDkxCi0gIH0sCi0gIHsgLy8gRW50cnkgODQKLSAgICAtMHgxLjcyM2IyNjI1MzMxYWYyZTc5YTlmMDcxNDVhMWU1NzMxcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAzcDIxNQotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgMHgxLjcyM2IyNjI1MzMxYWYyZTc5YTlmMDcxNDVhMWU1NzMxcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwM3AyMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5hZWQ1NDhmMDkwY2Y0N2ZlN2UzMjEwM2FiMTQwY2FmOHAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODcKLSAgICAtMHgxLmFlZDU0OGYwOTBjZjQ3ZmU3ZTMyMTAzYWIxNDBjYWY4cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAtMHgxLmZmOTgzMjA4YzdkYzk3ODA3OTE3NGI0NjFiMzgwOWYwcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDA3cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OQotICAgIDB4MS5mZjk4MzIwOGM3ZGM5NzgwNzkxNzRiNDYxYjM4MDlmMHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDdwOAotICB9LAotICB7IC8vIEVudHJ5IDkwCi0gICAgMHgxLmZmZWYyOWRjMzg0NTJmZmVmNGE3NzlhMWY4NjcwN2RhcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDA3cDI3NQotICB9LAotICB7IC8vIEVudHJ5IDkxCi0gICAgLTB4MS5mZmVmMjlkYzM4NDUyZmZlZjRhNzc5YTFmODY3MDdkYXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDdwMjc1Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTIKLSAgICAtMHgxLmZhODhjMzc1NzIzYzBkN2VhMWYyZDA4ZWJiMmY5NDA3cC04LAotICAgIDB4MS4wMDAwMDAwMDAwMDA3cDQ0OQotICB9LAotICB7IC8vIEVudHJ5IDkzCi0gICAgMHgxLmZhODhjMzc1NzIzYzBkN2VhMWYyZDA4ZWJiMmY5NDA3cC04LAotICAgIC0weDEuMDAwMDAwMDAwMDAwN3A0NDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NAotICAgIDB4MS5mZmY1MzIyYzk0ZWFlMWIwYjUxMDg2YzA4ZmFhNTg1Y3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAxMXA2NDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NQotICAgIC0weDEuZmZmNTMyMmM5NGVhZTFiMGI1MTA4NmMwOGZhYTU4NWNwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDExcDY0NAotICB9LAotICB7IC8vIEVudHJ5IDk2Ci0gICAgLTB4MS5hNzM2MzBhZjhmMTViODAwMDA1NGRkZDk1MGJiYTEwN3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAxZnAxNjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NwotICAgIDB4MS5hNzM2MzBhZjhmMTViODAwMDA1NGRkZDk1MGJiYTEwN3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMWZwMTY0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTgKLSAgICAweDEuMWM1NDhmOTI0OWU0NDc0OTg4NjQ2Yjg2ODk0ZTk1ODFwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMzhwMzgwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAtMHgxLjFjNTQ4ZjkyNDllNDQ3NDk4ODY0NmI4Njg5NGU5NTgxcC0yLAotICAgIC0weDEuMDAwMDAwMDAwMDAzOHAzODAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuY2E5NjViZDJjNGRmZWU0Nzc5Y2E4Yzc5NzgwNjI5MmRwLTMsCi0gICAgMHgxLjAwMDAwMDAwMDAxMThwMzgwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxCi0gICAgLTB4MS5jYTk2NWJkMmM0ZGZlZTQ3NzljYThjNzk3ODA2MjkyZHAtMywKLSAgICAtMHgxLjAwMDAwMDAwMDAxMThwMzgwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyCi0gICAgLTB4MS44MzdiOWRkZGMyNGNmMmY3MjlhMzgxNDc3OTViMThkMnAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDEyY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgMHgxLjgzN2I5ZGRkYzI0Y2YyZjcyOWEzODE0Nzc5NWIxOGQycC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDEyY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0Ci0gICAgMHgxLmQ4MmMxNzg0YzNlY2JmZWZiMDJkN2Q2YjU4NWY3M2M0cC0yLAotICAgIDB4MS4wMDAwMDAwMDAwMWY4cDcwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIC0weDEuZDgyYzE3ODRjM2VjYmZlZmIwMmQ3ZDZiNTg1ZjczYzRwLTIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMWY4cDcwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIDB4MS5mZmZlYWFhYWVmMmVlN2VlODc2ZjkwYjcwYjUxMjQ3NXAtOCwKLSAgICAweDEuMDAwMDAwMDAwMDJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcKLSAgICAtMHgxLmZmZmVhYWFhZWYyZWU3ZWU4NzZmOTBiNzBiNTEyNDc1cC04LAotICAgIC0weDEuMDAwMDAwMDAwMDJwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAtMHgxLjA4NzFiZGRkOTBmYzU4MzQwMzRlZTNmNmY4NmI0M2EzcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMnA0MAotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIDB4MS4wODcxYmRkZDkwZmM1ODM0MDM0ZWUzZjZmODZiNDNhM3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAycDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEwCi0gICAgMHgxLmZmZmVhYWFhZWYyZjA3ZWU0NzZmYTYwYzVkYmU0ODg2cC04LAotICAgIDB4MS4wMDAwMDAwMDAwMjAxcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExCi0gICAgLTB4MS5mZmZlYWFhYWVmMmYwN2VlNDc2ZmE2MGM1ZGJlNDg4NnAtOCwKLSAgICAtMHgxLjAwMDAwMDAwMDAyMDFwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIKLSAgICAweDEuZmZmZWFhYWFlZjMzMDdlNjQ3NzI1MGI2YWI1MjRhYjdwLTgsCi0gICAgMHgxLjAwMDAwMDAwMDAyMjFwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMKLSAgICAtMHgxLmZmZmVhYWFhZWYzMzA3ZTY0NzcyNTBiNmFiNTI0YWI3cC04LAotICAgIC0weDEuMDAwMDAwMDAwMDIyMXAtNwotICB9LAotICB7IC8vIEVudHJ5IDExNAotICAgIDB4MS5mZmZlYWFhYWVmMzYyN2UwMDc3NDY2MGJiN2Q3YTg3Y3AtOCwKLSAgICAweDEuMDAwMDAwMDAwMDIzYXAtNwotICB9LAotICB7IC8vIEVudHJ5IDExNQotICAgIC0weDEuZmZmZWFhYWFlZjM2MjdlMDA3NzQ2NjBiYjdkN2E4N2NwLTgsCi0gICAgLTB4MS4wMDAwMDAwMDAwMjNhcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE2Ci0gICAgMHgxLmUwYzZlZGZhOTM2MDE1OTUzNGRlZjcxMzkyNWYxMjZmcC05LAotICAgIDB4MS4wMDAwMDAwMDA0MHA0NQotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIC0weDEuZTBjNmVkZmE5MzYwMTU5NTM0ZGVmNzEzOTI1ZjEyNmZwLTksCi0gICAgLTB4MS4wMDAwMDAwMDA0MHA0NQotICB9LAotICB7IC8vIEVudHJ5IDExOAotICAgIDB4MS5lYTFmNjE4MzU2ZGIwZDNhYjY2ZDBlZjY0OTNiYzkzZHAtNSwKLSAgICAweDEuMDAwMDAwMGMwcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgLTB4MS5lYTFmNjE4MzU2ZGIwZDNhYjY2ZDBlZjY0OTNiYzkzZHAtNSwKLSAgICAtMHgxLjAwMDAwMDBjMHA0MAotICB9LAotICB7IC8vIEVudHJ5IDEyMAotICAgIDB4MS5mYWFlZWQ3NTg3NTQxZmZmZmY5OTIyYmE2NjkwYjhiYXAtMywKLSAgICAweDEuMDAwMDAwMTNjODZmNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIC0weDEuZmFhZWVkNzU4NzU0MWZmZmZmOTkyMmJhNjY5MGI4YmFwLTMsCi0gICAgLTB4MS4wMDAwMDAxM2M4NmY0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIyCi0gICAgMHgxLjU0MGJjNzc4NTY4MGFjMmNhMTY5ZmY5ZTNjYzRiMTUycC0xLAotICAgIDB4MS4wMDFwMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMKLSAgICAtMHgxLjU0MGJjNzc4NTY4MGFjMmNhMTY5ZmY5ZTNjYzRiMTUycC0xLAotICAgIC0weDEuMDAxcDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0Ci0gICAgLTB4MS4zN2E3Y2I5MDdhMmU1MDAxMDZiMDRkOWUzZjBiMWI4Y3AtMSwKLSAgICAweDEuMDAzcDY5OQotICB9LAotICB7IC8vIEVudHJ5IDEyNQotICAgIDB4MS4zN2E3Y2I5MDdhMmU1MDAxMDZiMDRkOWUzZjBiMWI4Y3AtMSwKLSAgICAtMHgxLjAwM3A2OTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYKLSAgICAtMHgxLjI5ZTU4NDVmYzU0YjU4MDE0NTI3M2YyY2FmZTczYWI1cC0xLAotICAgIDB4MS4wMDM4MHA0MAotICB9LAotICB7IC8vIEVudHJ5IDEyNwotICAgIDB4MS4yOWU1ODQ1ZmM1NGI1ODAxNDUyNzNmMmNhZmU3M2FiNXAtMSwKLSAgICAtMHgxLjAwMzgwcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4Ci0gICAgMHgxLmZmZTVjYTQ2NTY0OTE3YTFlODEyYWVkZDQ4ZmUxMDdjcC0xLAotICAgIDB4MS4wMDdwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkKLSAgICAtMHgxLmZmZTVjYTQ2NTY0OTE3YTFlODEyYWVkZDQ4ZmUxMDdjcC0xLAotICAgIC0weDEuMDA3cDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMwCi0gICAgMHgxLmVhNGRmODJkYjAxNGFjMGM5MTM0NjVkYTU3YjZhNjQzcC0xLAotICAgIDB4MS4wMDdwMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEKLSAgICAtMHgxLmVhNGRmODJkYjAxNGFjMGM5MTM0NjVkYTU3YjZhNjQzcC0xLAotICAgIC0weDEuMDA3cDI1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgMHgxLmZlNzU3YWVmMWM4MGM3ZWMxNjAwM2QzYWU1ZjBjZTE1cC0xLAotICAgIDB4MS4wMDdwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAtMHgxLmZlNzU3YWVmMWM4MGM3ZWMxNjAwM2QzYWU1ZjBjZTE1cC0xLAotICAgIC0weDEuMDA3cDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgMHgxLmU5YjcxODA1ZWMwNjg1ZDQ4NGY2MjcwZjY0MTFkYzM2cC03LAotICAgIDB4MS4wMGNwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUKLSAgICAtMHgxLmU5YjcxODA1ZWMwNjg1ZDQ4NGY2MjcwZjY0MTFkYzM2cC03LAotICAgIC0weDEuMDBjcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2Ci0gICAgMHgxLmIwYjZkMGE1NDA1ODI4MDAwOGU4MDQ4OGY4YWIxYmI3cC0xLAotICAgIDB4MS4wMWMwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM3Ci0gICAgLTB4MS5iMGI2ZDBhNTQwNTgyODAwMDhlODA0ODhmOGFiMWJiN3AtMSwKLSAgICAtMHgxLjAxYzAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzgKLSAgICAweDEuZmVmMDA5MjYyNzAxMjgwYjkyYWFmOTI1ZGRhNjNiYmFwLTMsCi0gICAgMHgxLjAyMzIyZTQ2ZGE5MTlwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAtMHgxLmZlZjAwOTI2MjcwMTI4MGI5MmFhZjkyNWRkYTYzYmJhcC0zLAotICAgIC0weDEuMDIzMjJlNDZkYTkxOXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE0MAotICAgIDB4MS5mZmM5MDA1OTgwNGEwODJkOWIzZjQ2Yjc3ZWU4MTkzMnAtMywKLSAgICAweDEuMDJhMjM2NDc4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgLTB4MS5mZmM5MDA1OTgwNGEwODJkOWIzZjQ2Yjc3ZWU4MTkzMnAtMywKLSAgICAtMHgxLjAyYTIzNjQ3OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIDB4MS5mZmQxMGE2YjU0MjllODI4YmVmNGQ5NDEzZWI5ZjZjMHAtMywKLSAgICAweDEuMDJhNjVkMDhjYTVlNXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE0MwotICAgIC0weDEuZmZkMTBhNmI1NDI5ZTgyOGJlZjRkOTQxM2ViOWY2YzBwLTMsCi0gICAgLTB4MS4wMmE2NWQwOGNhNWU1cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ0Ci0gICAgMHgxLmZmZDEwYWIzMDJhM2Y3ZTBhMDQ4ZGI1ODYxZTdiMjBicC0zLAotICAgIDB4MS4wMmE2NWQyZGNlNDlhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ1Ci0gICAgLTB4MS5mZmQxMGFiMzAyYTNmN2UwYTA0OGRiNTg2MWU3YjIwYnAtMywKLSAgICAtMHgxLjAyYTY1ZDJkY2U0OWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDYKLSAgICAweDEuZmZlMGIxNzY0Y2E0YzdkMjMyOTQzMzgyOGNkYzkwMWNwLTMsCi0gICAgMHgxLjAyYWU3MjM4YXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE0NwotICAgIC0weDEuZmZlMGIxNzY0Y2E0YzdkMjMyOTQzMzgyOGNkYzkwMWNwLTMsCi0gICAgLTB4MS4wMmFlNzIzOGFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDgKLSAgICAtMHgxLmY2OGYwZTI2YzBmNmFkNDRmNzE4NGQ1NmJlOTVlMWFlcC0zLAotICAgIDB4MS4wNTAxZDIyMjIxZGFjcDYyMQotICB9LAotICB7IC8vIEVudHJ5IDE0OQotICAgIDB4MS5mNjhmMGUyNmMwZjZhZDQ0ZjcxODRkNTZiZTk1ZTFhZXAtMywKLSAgICAtMHgxLjA1MDFkMjIyMjFkYWNwNjIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUwCi0gICAgMHgxLmI2M2M0MWYwOWViNzQ3ZjMwYzFhZjVmMjU0MzQwYTRjcC0xLAotICAgIDB4MS4wNmZmZmZmZmZmZmY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTEKLSAgICAtMHgxLmI2M2M0MWYwOWViNzQ3ZjMwYzFhZjVmMjU0MzQwYTRjcC0xLAotICAgIC0weDEuMDZmZmZmZmZmZmZmOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUyCi0gICAgLTB4MS5mZmRjMTczYWRhYmIxYWZkNThmY2I1NjQzY2Q4NjU2MnAtMSwKLSAgICAweDEuMDcwMjNkM2Q0NDIxNXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE1MwotICAgIDB4MS5mZmRjMTczYWRhYmIxYWZkNThmY2I1NjQzY2Q4NjU2MnAtMSwKLSAgICAtMHgxLjA3MDIzZDNkNDQyMTVwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTQKLSAgICAweDEuMDg4OWUxMWJlZjEzNTdhODg3NDJhYjNhN2YxODA3ODZwLTUsCi0gICAgMHgxLjA4OTVhN2EzZThhZTZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAtMHgxLjA4ODllMTFiZWYxMzU3YTg4NzQyYWIzYTdmMTgwNzg2cC01LAotICAgIC0weDEuMDg5NWE3YTNlOGFlNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDE1NgotICAgIDB4MS4wOGNhMDc3Yzc2NDQ1N2FhNmQ5NjhhZmMxZDFiMTdiM3AtNSwKLSAgICAweDEuMDhkNWQ2OTg0MDYwMXAtNQotICB9LAotICB7IC8vIEVudHJ5IDE1NwotICAgIC0weDEuMDhjYTA3N2M3NjQ0NTdhYTZkOTY4YWZjMWQxYjE3YjNwLTUsCi0gICAgLTB4MS4wOGQ1ZDY5ODQwNjAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU4Ci0gICAgLTB4MS5mZjdmYmU1MTgwMjNlOTBiM2YyOGY4MWFiOTNlODcyZnAtMSwKLSAgICAweDEuMGUwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTkKLSAgICAweDEuZmY3ZmJlNTE4MDIzZTkwYjNmMjhmODFhYjkzZTg3MmZwLTEsCi0gICAgLTB4MS4wZTBwNgotICB9LAotICB7IC8vIEVudHJ5IDE2MAotICAgIC0weDEuZmQ2YzY4Yjg3N2FmZTgwM2FhYWIyYmQzMDEyNGVjZGZwLTEsCi0gICAgMHgxLjEwN2JhNDljMzQ2ZTRwOQotICB9LAotICB7IC8vIEVudHJ5IDE2MQotICAgIDB4MS5mZDZjNjhiODc3YWZlODAzYWFhYjJiZDMwMTI0ZWNkZnAtMSwKLSAgICAtMHgxLjEwN2JhNDljMzQ2ZTRwOQotICB9LAotICB7IC8vIEVudHJ5IDE2MgotICAgIC0weDEuYTJiYTZiYzcwYmNlNDgwMWVhNGQxYzg1ZjExNjE5M2RwLTEsCi0gICAgMHgxLjE0OTE1NDQ3NzQ0NDBwNzQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYzCi0gICAgMHgxLmEyYmE2YmM3MGJjZTQ4MDFlYTRkMWM4NWYxMTYxOTNkcC0xLAotICAgIC0weDEuMTQ5MTU0NDc3NDQ0MHA3NDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAweDEuMTY1NjA5NzkwZjIzNDg0YTQ3MDFiNDQzOWQ0ZmU1MWZwLTUsCi0gICAgMHgxLjE2NjNjMGU1MTgxODBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAtMHgxLjE2NTYwOTc5MGYyMzQ4NGE0NzAxYjQ0MzlkNGZlNTFmcC01LAotICAgIC0weDEuMTY2M2MwZTUxODE4MHAtNQotICB9LAotICB7IC8vIEVudHJ5IDE2NgotICAgIC0weDEuZmMwNTIzZmY5NGU0NGMwMTczMWU0NTk2MzAzNGNiYThwLTEsCi0gICAgMHgxLjE3NDVkMTc0NWQxNzZwMjM4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY3Ci0gICAgMHgxLmZjMDUyM2ZmOTRlNDRjMDE3MzFlNDU5NjMwMzRjYmE4cC0xLAotICAgIC0weDEuMTc0NWQxNzQ1ZDE3NnAyMzgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjgKLSAgICAweDEuZjM0YTcyOWM1ODRiY2M5NjY2NDAyY2ZkYjQ4ODM5ZmZwLTEsCi0gICAgMHgxLjE3NDcyYTQwOGEzZTBwOTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjkKLSAgICAtMHgxLmYzNGE3MjljNTg0YmNjOTY2NjQwMmNmZGI0ODgzOWZmcC0xLAotICAgIC0weDEuMTc0NzJhNDA4YTNlMHA5NwotICB9LAotICB7IC8vIEVudHJ5IDE3MAotICAgIDB4MS4xNzdmYWUxNjlmZGYwODU4YjFkNGU3YmFkNjk5ODFkY3AtNSwKLSAgICAweDEuMTc4ZDkxYjZiOTkyZHAtNQotICB9LAotICB7IC8vIEVudHJ5IDE3MQotICAgIC0weDEuMTc3ZmFlMTY5ZmRmMDg1OGIxZDRlN2JhZDY5OTgxZGNwLTUsCi0gICAgLTB4MS4xNzhkOTFiNmI5OTJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTcyCi0gICAgMHgxLjE3N2ZhZTE2YTEyMGU4NTg0M2QxZGZlZjM2NzI2Y2VjcC01LAotICAgIDB4MS4xNzhkOTFiNmJhZDRlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTczCi0gICAgLTB4MS4xNzdmYWUxNmExMjBlODU4NDNkMWRmZWYzNjcyNmNlY3AtNSwKLSAgICAtMHgxLjE3OGQ5MWI2YmFkNGVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzQKLSAgICAweDEuMTc3ZmFlMTZhMWY3ODg1NjYzN2NjOWRhOGFhZjY0MzlwLTUsCi0gICAgMHgxLjE3OGQ5MWI2YmJhYmFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzUKLSAgICAtMHgxLjE3N2ZhZTE2YTFmNzg4NTY2MzdjYzlkYThhYWY2NDM5cC01LAotICAgIC0weDEuMTc4ZDkxYjZiYmFiYXAtNQotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIDB4MS4xNzdmYWUxNmE0MGZlODU4ZGExZGRjYjU4M2JiOWYzYnAtNSwKLSAgICAweDEuMTc4ZDkxYjZiZGM0NXAtNQotICB9LAotICB7IC8vIEVudHJ5IDE3NwotICAgIC0weDEuMTc3ZmFlMTZhNDBmZTg1OGRhMWRkY2I1ODNiYjlmM2JwLTUsCi0gICAgLTB4MS4xNzhkOTFiNmJkYzQ1cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTc4Ci0gICAgMHgxLjI5N2M3NjhmMjQxMzA4MDAwMmVkY2I5YTkwNTk0NmFmcC0xLAotICAgIDB4MS4xOTc1MmRiZWU1ZjZhcDkzMwotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIC0weDEuMjk3Yzc2OGYyNDEzMDgwMDAyZWRjYjlhOTA1OTQ2YWZwLTEsCi0gICAgLTB4MS4xOTc1MmRiZWU1ZjZhcDkzMwotICB9LAotICB7IC8vIEVudHJ5IDE4MAotICAgIDB4MS5iODI2ZGY1Y2FmYWZhODI0Nzc5YmI4MDhkNjRkZTZmYnAtMiwKLSAgICAweDEuMWIzMDA5Y2ZlNGRiY3A4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgxCi0gICAgLTB4MS5iODI2ZGY1Y2FmYWZhODI0Nzc5YmI4MDhkNjRkZTZmYnAtMiwKLSAgICAtMHgxLjFiMzAwOWNmZTRkYmNwOAotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIDB4MS5iN2E1OTU2MjUwYjZhODM4ODIxMzNiYmUxNGM4NDdjY3AtMiwKLSAgICAweDEuMWY2NDc1ZDk1YmYxOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgzCi0gICAgLTB4MS5iN2E1OTU2MjUwYjZhODM4ODIxMzNiYmUxNGM4NDdjY3AtMiwKLSAgICAtMHgxLjFmNjQ3NWQ5NWJmMThwMwotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIDB4MS40ZGI2NTY2YjY0NTQ3N2ZmZWE5ZmFhZjhiZjQ2M2ExZXAtMSwKLSAgICAweDEuMjI5MTQ4YTQ1MjI5MXAxMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODUKLSAgICAtMHgxLjRkYjY1NjZiNjQ1NDc3ZmZlYTlmYWFmOGJmNDYzYTFlcC0xLAotICAgIC0weDEuMjI5MTQ4YTQ1MjI5MXAxMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODYKLSAgICAweDEuMTY4NmZlZTJjNDlhN2ZmZmI2OGRmNjgxYjJkYTdlNDlwLTEsCi0gICAgMHgxLjI2OHAtMQotICB9LAotICB7IC8vIEVudHJ5IDE4NwotICAgIC0weDEuMTY4NmZlZTJjNDlhN2ZmZmI2OGRmNjgxYjJkYTdlNDlwLTEsCi0gICAgLTB4MS4yNjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODgKLSAgICAweDEuMjJlYjIxYTQ0ZDYyNzgwMDAwMDMxYWU0M2M0NDg1MTFwLTIsCi0gICAgMHgxLjI2ZmIzODQ0ZGQxOTBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODkKLSAgICAtMHgxLjIyZWIyMWE0NGQ2Mjc4MDAwMDAzMWFlNDNjNDQ4NTExcC0yLAotICAgIC0weDEuMjZmYjM4NDRkZDE5MHAtMgotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIDB4MS5kNGEyMTZkODliMmIzN2Y0MGZmMDg3NTNlZDYwMGU3NHAtMSwKLSAgICAweDEuMjdmZmZmZmZmZTZiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkxCi0gICAgLTB4MS5kNGEyMTZkODliMmIzN2Y0MGZmMDg3NTNlZDYwMGU3NHAtMSwKLSAgICAtMHgxLjI3ZmZmZmZmZmU2YjBwMAotICB9LAotICB7IC8vIEVudHJ5IDE5MgotICAgIC0weDEuNzZjOWIwZjNhMjJmNzNjZmQ0NDUzZmNmN2IyMWUzNThwLTEsCi0gICAgMHgxLjI4NGI4NDA0OGQ0ODFwMjA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTkzCi0gICAgMHgxLjc2YzliMGYzYTIyZjczY2ZkNDQ1M2ZjZjdiMjFlMzU4cC0xLAotICAgIC0weDEuMjg0Yjg0MDQ4ZDQ4MXAyMDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTQKLSAgICAtMHgxLmZmMDEyMjZmOTdkMzJkNmI1YzBkNWU0YTNhMmY1M2MzcC0xLAotICAgIDB4MS4yOTk5ZTMxMDljYWQ0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAweDEuZmYwMTIyNmY5N2QzMmQ2YjVjMGQ1ZTRhM2EyZjUzYzNwLTEsCi0gICAgLTB4MS4yOTk5ZTMxMDljYWQ0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTYKLSAgICAweDEuMmE4ZjExZTdhZTgyYzBhMzc0ODU1YjUzYjM2MDVkM2JwLTUsCi0gICAgMHgxLjJhYXAtNQotICB9LAotICB7IC8vIEVudHJ5IDE5NwotICAgIC0weDEuMmE4ZjExZTdhZTgyYzBhMzc0ODU1YjUzYjM2MDVkM2JwLTUsCi0gICAgLTB4MS4yYWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTgKLSAgICAweDEuMmIwM2QxYmY3NzNkZjdiNjk3ZDhhOTdlY2NlZmVjNTBwLTUsCi0gICAgMHgxLjJiMTRkM2JlMGMyMzBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTkKLSAgICAtMHgxLjJiMDNkMWJmNzczZGY3YjY5N2Q4YTk3ZWNjZWZlYzUwcC01LAotICAgIC0weDEuMmIxNGQzYmUwYzIzMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDIwMAotICAgIC0weDEuZmZiOTBlZTY0MTc5MWU2OTlhYTdmYzcxMzliZjU4YjRwLTEsCi0gICAgMHgxLjJiN2NiNDQ4NDk5ODFwMgotICB9LAotICB7IC8vIEVudHJ5IDIwMQotICAgIDB4MS5mZmI5MGVlNjQxNzkxZTY5OWFhN2ZjNzEzOWJmNThiNHAtMSwKLSAgICAtMHgxLjJiN2NiNDQ4NDk5ODFwMgotICB9LAotICB7IC8vIEVudHJ5IDIwMgotICAgIC0weDEuZmZmZmZmNzllNzFhM2RiMjIxMDljNmJiODdmOWMyMzdwLTEsCi0gICAgMHgxLjJiZWNjODY4NTI1ODBwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMHgxLmZmZmZmZjc5ZTcxYTNkYjIyMTA5YzZiYjg3ZjljMjM3cC0xLAotICAgIC0weDEuMmJlY2M4Njg1MjU4MHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDQKLSAgICAtMHgxLmZmZjllZGFmODViNzZmNmNiYjJmNWI3ZTM4NGNiYmM5cC0xLAotICAgIDB4MS4yY2ZhMTRjZTI3Y2Q1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDUKLSAgICAweDEuZmZmOWVkYWY4NWI3NmY2Y2JiMmY1YjdlMzg0Y2JiYzlwLTEsCi0gICAgLTB4MS4yY2ZhMTRjZTI3Y2Q1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDYKLSAgICAweDEuMmNiYWFhNGNlYmI1MTdmZTdiZDE0ZjA2MmFmZWMzOTBwLTQsCi0gICAgMHgxLjJkMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDIwNwotICAgIC0weDEuMmNiYWFhNGNlYmI1MTdmZTdiZDE0ZjA2MmFmZWMzOTBwLTQsCi0gICAgLTB4MS4yZDBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDgKLSAgICAtMHgxLmZmZmZiYzE3N2UwMGZmODljYmI0ZjQ5YTA2NDNkYTc4cC0xLAotICAgIDB4MS4yZDc2ZDE4NzIxYmU4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDkKLSAgICAweDEuZmZmZmJjMTc3ZTAwZmY4OWNiYjRmNDlhMDY0M2RhNzhwLTEsCi0gICAgLTB4MS4yZDc2ZDE4NzIxYmU4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTAKLSAgICAweDEuNzQ1ODQzZGZhZmVmZDFiZjk2NTY4OTZhOGZiNWIwZTNwLTE4LAotICAgIDB4MS4zMDJhNDk0ZTA5MDkwcDk3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjExCi0gICAgLTB4MS43NDU4NDNkZmFmZWZkMWJmOTY1Njg5NmE4ZmI1YjBlM3AtMTgsCi0gICAgLTB4MS4zMDJhNDk0ZTA5MDkwcDk3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjEyCi0gICAgMHgxLmZmY2M1NjhkNDIzNzY2YzkyZTljMTc1ZjkyMTBmMWY0cC0xLAotICAgIDB4MS4zMWNjNzMxY2M3MzFjcDEwMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTMKLSAgICAtMHgxLmZmY2M1NjhkNDIzNzY2YzkyZTljMTc1ZjkyMTBmMWY0cC0xLAotICAgIC0weDEuMzFjYzczMWNjNzMxY3AxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgMHgxLmI2NzYwNzdkNGZhZjc5MjdkYTFmODU4NTM5ZmFkMWZmcC0xLAotICAgIDB4MS4zMjg0NjNkNGY4Y2E2cDQ0MQotICB9LAotICB7IC8vIEVudHJ5IDIxNQotICAgIC0weDEuYjY3NjA3N2Q0ZmFmNzkyN2RhMWY4NTg1MzlmYWQxZmZwLTEsCi0gICAgLTB4MS4zMjg0NjNkNGY4Y2E2cDQ0MQotICB9LAotICB7IC8vIEVudHJ5IDIxNgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmYzNDcxZDhkYzA3MGQ1ZTZwLTEsCi0gICAgMHgxLjMyY2U5MGIzMjE3MWVwMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmYzNDcxZDhkYzA3MGQ1ZTZwLTEsCi0gICAgLTB4MS4zMmNlOTBiMzIxNzFlcDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE4Ci0gICAgMHgxLjM1Y2JkMzI0MGQxNDg4NDVkMzllYmQ1NGIxNTU2Nzc5cC01LAotICAgIDB4MS4zNWRlYmQ3ZjAyMGVjcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE5Ci0gICAgLTB4MS4zNWNiZDMyNDBkMTQ4ODQ1ZDM5ZWJkNTRiMTU1Njc3OXAtNSwKLSAgICAtMHgxLjM1ZGViZDdmMDIwZWNwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjAKLSAgICAweDEuM2JiMjA4NjU1OWZhOTgyZTVjNmRhMTBkOGQ5YWM5MzFwLTcsCi0gICAgMHgxLjNiYjM0ODc4OTM0MDVwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjEKLSAgICAtMHgxLjNiYjIwODY1NTlmYTk4MmU1YzZkYTEwZDhkOWFjOTMxcC03LAotICAgIC0weDEuM2JiMzQ4Nzg5MzQwNXAtNwotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIDB4MS4zYmIyMDg2NTU5ZmFiODJkZmIxOTI1ZWFjMmFiOGJjMXAtNywKLSAgICAweDEuM2JiMzQ4Nzg5MzQwN3AtNwotICB9LAotICB7IC8vIEVudHJ5IDIyMwotICAgIC0weDEuM2JiMjA4NjU1OWZhYjgyZGZiMTkyNWVhYzJhYjhiYzFwLTcsCi0gICAgLTB4MS4zYmIzNDg3ODkzNDA3cC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI0Ci0gICAgMHgxLmRmZjE5N2VkYzUxZDIzNWU0YTRjYzZlMzRiZDFmZDEwcC0xNiwKLSAgICAweDEuM2JiNjgxZDY1YWE2MHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjUKLSAgICAtMHgxLmRmZjE5N2VkYzUxZDIzNWU0YTRjYzZlMzRiZDFmZDEwcC0xNiwKLSAgICAtMHgxLjNiYjY4MWQ2NWFhNjBwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgLTB4MS41ZDA4ZDNkYmI0MWFmODAwMDAwNTNiYTMwZTk1ZTcwOXAtMywKLSAgICAweDEuM2Y5YWE4NjI2MDQyZnA4MwotICB9LAotICB7IC8vIEVudHJ5IDIyNwotICAgIDB4MS41ZDA4ZDNkYmI0MWFmODAwMDAwNTNiYTMwZTk1ZTcwOXAtMywKLSAgICAtMHgxLjNmOWFhODYyNjA0MmZwODMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjgKLSAgICAweDEuZmI1MDM5ODNmOTRiYjc0OWZjZTljY2NhNTZhMzVlYzZwLTMsCi0gICAgMHgxLjNmZXAxOQotICB9LAotICB7IC8vIEVudHJ5IDIyOQotICAgIC0weDEuZmI1MDM5ODNmOTRiYjc0OWZjZTljY2NhNTZhMzVlYzZwLTMsCi0gICAgLTB4MS4zZmVwMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzAKLSAgICAtMHgxLmQzODc2ZWFjYzllZTZlYzVhOTNlYTE0ZTAzMmY5YjAycC0xLAotICAgIDB4MS40Mjg1NDc4ZjFlM2M4cDU4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgMHgxLmQzODc2ZWFjYzllZTZlYzVhOTNlYTE0ZTAzMmY5YjAycC0xLAotICAgIC0weDEuNDI4NTQ3OGYxZTNjOHA1OAotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS40MmI2NmQ1NGY2OWMwZmFiZTM3MWQ3MDNhMWQ3ZDdjOXAtNSwKLSAgICAweDEuNDJjYmNmNDVhMTY5ZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDIzMwotICAgIC0weDEuNDJiNjZkNTRmNjljMGZhYmUzNzFkNzAzYTFkN2Q3YzlwLTUsCi0gICAgLTB4MS40MmNiY2Y0NWExNjllcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM0Ci0gICAgMHgxLmI0NWU5ZTk0Mjc1NTM4MDAwMDAxNWUxZGIwY2UxODhkcC0xLAotICAgIDB4MS40M2ZmZmZmZmZmZjZhcDU1NwotICB9LAotICB7IC8vIEVudHJ5IDIzNQotICAgIC0weDEuYjQ1ZTllOTQyNzU1MzgwMDAwMDE1ZTFkYjBjZTE4OGRwLTEsCi0gICAgLTB4MS40M2ZmZmZmZmZmZjZhcDU1NwotICB9LAotICB7IC8vIEVudHJ5IDIzNgotICAgIDB4MS40M2ZmZmZmZmVhNjAyODAwMDA2ZWQ3ODYyYjMyMjRhNnAtMTcsCi0gICAgMHgxLjQ0MHAtMTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzcKLSAgICAtMHgxLjQzZmZmZmZmZWE2MDI4MDAwMDZlZDc4NjJiMzIyNGE2cC0xNywKLSAgICAtMHgxLjQ0MHAtMTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzgKLSAgICAtMHgxLjZhNGU5OGQyZDhiMWI3ZmI0M2ZlZjFiYzRlMzI0NWJicC0xLAotICAgIDB4MS40NzQ4YzA4ZGMwOTc2cDIwMAotICB9LAotICB7IC8vIEVudHJ5IDIzOQotICAgIDB4MS42YTRlOThkMmQ4YjFiN2ZiNDNmZWYxYmM0ZTMyNDViYnAtMSwKLSAgICAtMHgxLjQ3NDhjMDhkYzA5NzZwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQwCi0gICAgLTB4MS5iNTdjYThhYWNmMmE5MzdhMjY5Y2NkZmE4YjM4YzhjMXAtMSwKLSAgICAweDEuNDc4ZmMwOHA0MwotICB9LAotICB7IC8vIEVudHJ5IDI0MQotICAgIDB4MS5iNTdjYThhYWNmMmE5MzdhMjY5Y2NkZmE4YjM4YzhjMXAtMSwKLSAgICAtMHgxLjQ3OGZjMDhwNDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDIKLSAgICAweDEuZmZlMzgwMDhlZjZiNDk1NmIyOTAyMDJkNDE0ZDU5YzNwLTEsCi0gICAgMHgxLjRjZjM2ZDE3YzU5NmVwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgLTB4MS5mZmUzODAwOGVmNmI0OTU2YjI5MDIwMmQ0MTRkNTljM3AtMSwKLSAgICAtMHgxLjRjZjM2ZDE3YzU5NmVwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ0Ci0gICAgMHgxLmQ2NDU3YTNmMTJlNmM1MjdhODUzNDcwNDAxZDM1ZDJkcC0xLAotICAgIDB4MS40ZjBmMzA4cDQ4OAotICB9LAotICB7IC8vIEVudHJ5IDI0NQotICAgIC0weDEuZDY0NTdhM2YxMmU2YzUyN2E4NTM0NzA0MDFkMzVkMmRwLTEsCi0gICAgLTB4MS40ZjBmMzA4cDQ4OAotICB9LAotICB7IC8vIEVudHJ5IDI0NgotICAgIDB4MS40ZmZmZmZmZmZmOWY4ODAwMDAwMDA4NGYyMmNjY2NjY3AtMjAsCi0gICAgMHgxLjVwLTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ3Ci0gICAgLTB4MS40ZmZmZmZmZmZmOWY4ODAwMDAwMDA4NGYyMmNjY2NjY3AtMjAsCi0gICAgLTB4MS41cC0yMAotICB9LAotICB7IC8vIEVudHJ5IDI0OAotICAgIC0weDEuY2JhZDA5NWY1MDNhMTgwMTlhN2IyNzE3MGY2YTRhY2ZwLTEsCi0gICAgMHgxLjUxNDNlMjVhNDg4ZjFwMwotICB9LAotICB7IC8vIEVudHJ5IDI0OQotICAgIDB4MS5jYmFkMDk1ZjUwM2ExODAxOWE3YjI3MTcwZjZhNGFjZnAtMSwKLSAgICAtMHgxLjUxNDNlMjVhNDg4ZjFwMwotICB9LAotICB7IC8vIEVudHJ5IDI1MAotICAgIC0weDEuZjk0MmQ2MjYyZTgyZGQ2ODM0ZGVkOGM5MGQwZjgyMTJwLTUsCi0gICAgMHgxLjUxZjBmNDRkYTRkZjRwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgMHgxLmY5NDJkNjI2MmU4MmRkNjgzNGRlZDhjOTBkMGY4MjEycC01LAotICAgIC0weDEuNTFmMGY0NGRhNGRmNHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTIKLSAgICAtMHgxLmZjNDY2Y2NhZWNlODA0YWFjMTRlNzlhYWJhNGI1YzFlcC0zLAotICAgIDB4MS41MmFkNmM1YTM2MDJmcDE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUzCi0gICAgMHgxLmZjNDY2Y2NhZWNlODA0YWFjMTRlNzlhYWJhNGI1YzFlcC0zLAotICAgIC0weDEuNTJhZDZjNWEzNjAyZnAxNgotICB9LAotICB7IC8vIEVudHJ5IDI1NAotICAgIDB4MS5kNjljM2NmNGVlY2RkOWI0MzcyNmEyYTdmYTQwNWMzMXAtMSwKLSAgICAweDEuNTJmMDBlMHA3OTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTUKLSAgICAtMHgxLmQ2OWMzY2Y0ZWVjZGQ5YjQzNzI2YTJhN2ZhNDA1YzMxcC0xLAotICAgIC0weDEuNTJmMDBlMHA3OTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAweDEuZTEyMDI5MmYzZDQ5NTY1NzlmOWMzMTY0Y2Q5NGJhZDZwLTEsCi0gICAgMHgxLjU1NTU1NTU1NTU1NTZwMjM5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU3Ci0gICAgLTB4MS5lMTIwMjkyZjNkNDk1NjU3OWY5YzMxNjRjZDk0YmFkNnAtMSwKLSAgICAtMHgxLjU1NTU1NTU1NTU1NTZwMjM5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU4Ci0gICAgLTB4MS5mZDFkODViN2VmMDAzN2ZjNGIxZDE3NjM4ODIwODVmMXAtMSwKLSAgICAweDEuNWEwMDAwMDA4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTkKLSAgICAweDEuZmQxZDg1YjdlZjAwMzdmYzRiMWQxNzYzODgyMDg1ZjFwLTEsCi0gICAgLTB4MS41YTAwMDAwMDhwNgotICB9LAotICB7IC8vIEVudHJ5IDI2MAotICAgIDB4MS41YWZmOTY2NGIwN2UxYTJlMGYyNGIyNTcyZGRiZmY2NHAtNiwKLSAgICAweDEuNWIwNjNhZDJkZDA4ZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDI2MQotICAgIC0weDEuNWFmZjk2NjRiMDdlMWEyZTBmMjRiMjU3MmRkYmZmNjRwLTYsCi0gICAgLTB4MS41YjA2M2FkMmRkMDhmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjYyCi0gICAgLTB4MS44M2Y4YmJiNTlmMmY4Y2Q4ZWJiZDQ0YzQ1OWU0YzQ5M3AtMSwKLSAgICAweDEuNWIxNzlkNzVmYTI4NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLjgzZjhiYmI1OWYyZjhjZDhlYmJkNDRjNDU5ZTRjNDkzcC0xLAotICAgIC0weDEuNWIxNzlkNzVmYTI4NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY0Ci0gICAgMHgxLmZhODY1YjBkOTk0OTY4MzkwZjk0ODBjOWNhZjQ5Y2IxcC0xLAotICAgIDB4MS41YmI1OTY3NDAyZjljcDc5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY1Ci0gICAgLTB4MS5mYTg2NWIwZDk5NDk2ODM5MGY5NDgwYzljYWY0OWNiMXAtMSwKLSAgICAtMHgxLjViYjU5Njc0MDJmOWNwNzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjYKLSAgICAweDEuZThhNTIzZmNlODg0ZDE4OWJkYjg3YzIwZWQ2MTU5NDRwLTIsCi0gICAgMHgxLjViZWEwMTBwNDY4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY3Ci0gICAgLTB4MS5lOGE1MjNmY2U4ODRkMTg5YmRiODdjMjBlZDYxNTk0NHAtMiwKLSAgICAtMHgxLjViZWEwMTBwNDY4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgLTB4MS5mZjJhZDk0MWYwYTQwZWEzYmMyOWU2ZGQ5YzMzOWI2M3AtMSwKLSAgICAweDEuNWYxOWZiYzUwN2FmNnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY5Ci0gICAgMHgxLmZmMmFkOTQxZjBhNDBlYTNiYzI5ZTZkZDljMzM5YjYzcC0xLAotICAgIC0weDEuNWYxOWZiYzUwN2FmNnA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgLTB4MS43NWNlNGEwZDBiZDAzN2ZkNTMwNDJjYWI4MjQwNDk1M3AtMSwKLSAgICAweDEuNjBhNjEwYTY1OGRhOXA4ODkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzEKLSAgICAweDEuNzVjZTRhMGQwYmQwMzdmZDUzMDQyY2FiODI0MDQ5NTNwLTEsCi0gICAgLTB4MS42MGE2MTBhNjU4ZGE5cDg4OQotICB9LAotICB7IC8vIEVudHJ5IDI3MgotICAgIC0weDEuNzIxNTg2NTk0YWI0ODE4YWNkNGNiNDFmYWZjOTk0ODRwLTEsCi0gICAgMHgxLjYyYWQ3Y2UxNzE0M2RwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzMKLSAgICAweDEuNzIxNTg2NTk0YWI0ODE4YWNkNGNiNDFmYWZjOTk0ODRwLTEsCi0gICAgLTB4MS42MmFkN2NlMTcxNDNkcDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc0Ci0gICAgMHgxLmI4ZDI3MDE5ZDFiOWU4MzZiOTUzNjEzYzg3YWNmM2E5cC0yLAotICAgIDB4MS42NDU5MjZjYzExMzJjcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzUKLSAgICAtMHgxLmI4ZDI3MDE5ZDFiOWU4MzZiOTUzNjEzYzg3YWNmM2E5cC0yLAotICAgIC0weDEuNjQ1OTI2Y2MxMTMyY3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc2Ci0gICAgMHgxLjY0N2UwOTA1OWMxZTk4MDAwMDEzNzE0Y2QwYzZhNDNkcC05LAotICAgIDB4MS42NDdlMjVkMzkxZjE3cC05Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc3Ci0gICAgLTB4MS42NDdlMDkwNTljMWU5ODAwMDAxMzcxNGNkMGM2YTQzZHAtOSwKLSAgICAtMHgxLjY0N2UyNWQzOTFmMTdwLTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzgKLSAgICAtMHgxLjhkM2I1M2ZmODVhODIzZDA2NTM3NDEzOTAxMjI5ZTQ1cC0xLAotICAgIDB4MS42NGVmNDM4cDE0MgotICB9LAotICB7IC8vIEVudHJ5IDI3OQotICAgIDB4MS44ZDNiNTNmZjg1YTgyM2QwNjUzNzQxMzkwMTIyOWU0NXAtMSwKLSAgICAtMHgxLjY0ZWY0MzhwMTQyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgwCi0gICAgLTB4MS5mN2M4NjMwZTYyYTAxZmZkNGUwMjU3Nzk1NmU1NTIzZXAtMSwKLSAgICAweDEuNjU5OTY2NTk5NjY1OHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgxCi0gICAgMHgxLmY3Yzg2MzBlNjJhMDFmZmQ0ZTAyNTc3OTU2ZTU1MjNlcC0xLAotICAgIC0weDEuNjU5OTY2NTk5NjY1OHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgyCi0gICAgMHgxLjY3MDI4ZTM2MDIwMzQ4MDBmNDVhOTE1OGQyMGEzNDBjcC01LAotICAgIDB4MS42NzJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODMKLSAgICAtMHgxLjY3MDI4ZTM2MDIwMzQ4MDBmNDVhOTE1OGQyMGEzNDBjcC01LAotICAgIC0weDEuNjcycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg0Ci0gICAgMHgxLmJjNjBjOGMzM2NiNWViZjY5M2Q3MTY1MGNiZjE2NmY5cC0yLAotICAgIDB4MS42ODhhZTZjMTM4ZWE4cDI5OQotICB9LAotICB7IC8vIEVudHJ5IDI4NQotICAgIC0weDEuYmM2MGM4YzMzY2I1ZWJmNjkzZDcxNjUwY2JmMTY2ZjlwLTIsCi0gICAgLTB4MS42ODhhZTZjMTM4ZWE4cDI5OQotICB9LAotICB7IC8vIEVudHJ5IDI4NgotICAgIC0weDEuZmMzYjRiYjhiMDEyZTgwNDJkM2ViY2VkMTJkZWYwYzlwLTEsCi0gICAgMHgxLjZhYTc4cDE3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg3Ci0gICAgMHgxLmZjM2I0YmI4YjAxMmU4MDQyZDNlYmNlZDEyZGVmMGM5cC0xLAotICAgIC0weDEuNmFhNzhwMTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjVwLTEsCi0gICAgMHgxLjZhYzViMjYyY2ExZmZwODQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg5Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiNXAtMSwKLSAgICAtMHgxLjZhYzViMjYyY2ExZmZwODQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjkwCi0gICAgLTB4MS44MjMxNzgzNmE5N2M4Y2VhMWNkMmUzYTRkMGQ0OGYyOXAtMSwKLSAgICAweDEuNmQ4ODA4Mzc0OTQxMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgMHgxLjgyMzE3ODM2YTk3YzhjZWExY2QyZTNhNGQwZDQ4ZjI5cC0xLAotICAgIC0weDEuNmQ4ODA4Mzc0OTQxMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgMHgxLjZmNzgxYzc4Y2M4MmE3ZmZjZDIwYmE4MDFlNjY5MWIxcC02LAotICAgIDB4MS42ZjhwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTMKLSAgICAtMHgxLjZmNzgxYzc4Y2M4MmE3ZmZjZDIwYmE4MDFlNjY5MWIxcC02LAotICAgIC0weDEuNmY4cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjk0Ci0gICAgLTB4MS5mZGJlNTA4NTQ5NGFlN2ZlNDdmYTA2N2FhZWE3ZmRmOXAtMSwKLSAgICAweDEuNzI5YWE2ODU5ZDFmNHAzOTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTUKLSAgICAweDEuZmRiZTUwODU0OTRhZTdmZTQ3ZmEwNjdhYWVhN2ZkZjlwLTEsCi0gICAgLTB4MS43MjlhYTY4NTlkMWY0cDM5NgotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIC0weDEuZmZmZmZhZTg2MmI0ZmVjMWMyZjE3MTJhYTE2NTgwN2NwLTEsCi0gICAgMHgxLjczZTJkYmU5YTJmODBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTcKLSAgICAweDEuZmZmZmZhZTg2MmI0ZmVjMWMyZjE3MTJhYTE2NTgwN2NwLTEsCi0gICAgLTB4MS43M2UyZGJlOWEyZjgwcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgMHgxLjc2OWFjNzQ0NTliMDU4NDU2YjMzMzIzODgzM2YxZDFhcC03LAotICAgIDB4MS43NjljZGUwYjkwYjgwcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjk5Ci0gICAgLTB4MS43NjlhYzc0NDU5YjA1ODQ1NmIzMzMyMzg4MzNmMWQxYXAtNywKLSAgICAtMHgxLjc2OWNkZTBiOTBiODBwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDAKLSAgICAweDEuNzY5ZThhZmI2YTRlYmY5OWFkZTQ2NWQxOWJlODZhYzBwLTUsCi0gICAgMHgxLjc2Y3AtNQotICB9LAotICB7IC8vIEVudHJ5IDMwMQotICAgIC0weDEuNzY5ZThhZmI2YTRlYmY5OWFkZTQ2NWQxOWJlODZhYzBwLTUsCi0gICAgLTB4MS43NmNwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDIKLSAgICAweDEuZmQ1NjI2MTFmNWJkNDgwMGRlNTAzZTQyMTBjYzdkZjRwLTEsCi0gICAgMHgxLjc4MDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDMKLSAgICAtMHgxLmZkNTYyNjExZjViZDQ4MDBkZTUwM2U0MjEwY2M3ZGY0cC0xLAotICAgIC0weDEuNzgwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIDB4MS5mZGJhNzg0Y2EwMGYxN2ViY2MyYjViMTA5OGU4M2JmZnAtMSwKLSAgICAweDEuN2EwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDUKLSAgICAtMHgxLmZkYmE3ODRjYTAwZjE3ZWJjYzJiNWIxMDk4ZTgzYmZmcC0xLAotICAgIC0weDEuN2EwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAweDEuZjkzMGMyMjJhODY4MmQ3ZDE5MjBhMTJiNjg4NzBjMzZwLTUsCi0gICAgMHgxLjdhYmQ4NzAzODFjMmRwMzgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAtMHgxLmY5MzBjMjIyYTg2ODJkN2QxOTIwYTEyYjY4ODcwYzM2cC01LAotICAgIC0weDEuN2FiZDg3MDM4MWMyZHAzOAotICB9LAotICB7IC8vIEVudHJ5IDMwOAotICAgIDB4MS5mZmViMmZmMmI2OTIzNjdiYzU2NjBkYWI2OTYwYjU3ZHAtMSwKLSAgICAweDEuN2RjOTQ1YzIxMjQ4MHA5NQotICB9LAotICB7IC8vIEVudHJ5IDMwOQotICAgIC0weDEuZmZlYjJmZjJiNjkyMzY3YmM1NjYwZGFiNjk2MGI1N2RwLTEsCi0gICAgLTB4MS43ZGM5NDVjMjEyNDgwcDk1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEwCi0gICAgMHgxLmIyNzkxNTNjMjNmYjE4MDAwMGNlM2EwZDQ3ZDhjNDc2cC0yLAotICAgIDB4MS43ZjczZTE1OTRiNzBjcDk4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgLTB4MS5iMjc5MTUzYzIzZmIxODAwMDBjZTNhMGQ0N2Q4YzQ3NnAtMiwKLSAgICAtMHgxLjdmNzNlMTU5NGI3MGNwOTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAtMHgxLjU5OWZhZDM1Y2Y2MGFkNDM3NjBjZjNhOWRhM2Q5YzMwcC00MSwKLSAgICAweDEuN2Y3ZWY3N2U4M2YxYXAyMQotICB9LAotICB7IC8vIEVudHJ5IDMxMwotICAgIDB4MS41OTlmYWQzNWNmNjBhZDQzNzYwY2YzYTlkYTNkOWMzMHAtNDEsCi0gICAgLTB4MS43ZjdlZjc3ZTgzZjFhcDIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLmZlYjdhOWIyYzZkOGFkZTZlMTdmZGFjYWVmNGZkOTZjcC0xLAotICAgIDB4MS44cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAtMHgxLmZlYjdhOWIyYzZkOGFkZTZlMTdmZGFjYWVmNGZkOTZjcC0xLAotICAgIC0weDEuOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE2Ci0gICAgMHgxLmY3OThkMDFlYzYxNWI4ZWRlZGE0NzRlM2M2Y2QwYzkycC0xLAotICAgIDB4MS44cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTcKLSAgICAtMHgxLmY3OThkMDFlYzYxNWI4ZWRlZGE0NzRlM2M2Y2QwYzkycC0xLAotICAgIC0weDEuOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE4Ci0gICAgMHgxLmZlZTFhMmE5NzdiY2VkMTc5ZjhhYjg0NTVhZGE1MjVmcC0xLAotICAgIDB4MS44MTMyY2ViMWM0ZjM5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTkKLSAgICAtMHgxLmZlZTFhMmE5NzdiY2VkMTc5ZjhhYjg0NTVhZGE1MjVmcC0xLAotICAgIC0weDEuODEzMmNlYjFjNGYzOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgLTB4MS4yNDI0NWFmNGNkOTk0ZTliM2JiYTk5MmQwZjU3ZmMzZnAtNTIsCi0gICAgMHgxLjgxYWUwZGZmYTNiMzNwOTU5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgMHgxLjI0MjQ1YWY0Y2Q5OTRlOWIzYmJhOTkyZDBmNTdmYzNmcC01MiwKLSAgICAtMHgxLjgxYWUwZGZmYTNiMzNwOTU5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgMHgxLjg1ZDQxYjBiZjMwOTA3ZmZmZmYxOTEzYTVjZWQ3NjQ1cC00LAotICAgIDB4MS44NWVjNWEzOTlhMmU2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAtMHgxLjg1ZDQxYjBiZjMwOTA3ZmZmZmYxOTEzYTVjZWQ3NjQ1cC00LAotICAgIC0weDEuODVlYzVhMzk5YTJlNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI0Ci0gICAgMHgxLjFlNDJhZTNjZmJkYzYwOTc2ODg0MDg3Zjk3YTBmZGE5cC0yNCwKLSAgICAweDEuODZhMDA5Mjc1NDAyMnAxNgotICB9LAotICB7IC8vIEVudHJ5IDMyNQotICAgIC0weDEuMWU0MmFlM2NmYmRjNjA5NzY4ODQwODdmOTdhMGZkYTlwLTI0LAotICAgIC0weDEuODZhMDA5Mjc1NDAyMnAxNgotICB9LAotICB7IC8vIEVudHJ5IDMyNgotICAgIC0weDEuZGJmNGU1OTRjZWZlMTU0OGVmYzI0MDk4ZDYzMWU5NTBwLTEsCi0gICAgMHgxLjg3MjA1ODhwMzkyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI3Ci0gICAgMHgxLmRiZjRlNTk0Y2VmZTE1NDhlZmMyNDA5OGQ2MzFlOTUwcC0xLAotICAgIC0weDEuODcyMDU4OHAzOTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjgKLSAgICAweDEuNDQzMDJkNmE4MmQ0MDNiYWRmMWY5YjcxNDIwY2NkY2FwLTksCi0gICAgMHgxLjg5MjkzNTRlYmM2YWFwNDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjkKLSAgICAtMHgxLjQ0MzAyZDZhODJkNDAzYmFkZjFmOWI3MTQyMGNjZGNhcC05LAotICAgIC0weDEuODkyOTM1NGViYzZhYXA0MwotICB9LAotICB7IC8vIEVudHJ5IDMzMAotICAgIDB4MS44YTUyMTg5ZWMzNDg3N2JiNTk0NDQxM2UwMGFkNTJlZHAtNSwKLSAgICAweDEuOGE3OTFlNDc5MWU3NXAtNQotICB9LAotICB7IC8vIEVudHJ5IDMzMQotICAgIC0weDEuOGE1MjE4OWVjMzQ4NzdiYjU5NDQ0MTNlMDBhZDUyZWRwLTUsCi0gICAgLTB4MS44YTc5MWU0NzkxZTc1cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgLTB4MS5mZTg1NjZlNTM4MTIyZGIzM2MxN2YxM2I4MzQ3NGEwNHAtMSwKLSAgICAweDEuOGJhNzYxNDM4ZjVlZHAxMQotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIDB4MS5mZTg1NjZlNTM4MTIyZGIzM2MxN2YxM2I4MzQ3NGEwNHAtMSwKLSAgICAtMHgxLjhiYTc2MTQzOGY1ZWRwMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzQKLSAgICAweDEuZmZmNDJhY2E0Y2I1YTgwMDAwMDU3ZjFhNDhhZjY1ZGVwLTEsCi0gICAgMHgxLjhlYWYxNmRlNjM5MjBwMAotICB9LAotICB7IC8vIEVudHJ5IDMzNQotICAgIC0weDEuZmZmNDJhY2E0Y2I1YTgwMDAwMDU3ZjFhNDhhZjY1ZGVwLTEsCi0gICAgLTB4MS44ZWFmMTZkZTYzOTIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzYKLSAgICAweDEuZmZmYjdkM2YzYTI1MmRhNTZkOTYzMjdjMTg2MjdmNTdwLTEsCi0gICAgMHgxLjlwMAotICB9LAotICB7IC8vIEVudHJ5IDMzNwotICAgIC0weDEuZmZmYjdkM2YzYTI1MmRhNTZkOTYzMjdjMTg2MjdmNTdwLTEsCi0gICAgLTB4MS45cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzgKLSAgICAtMHgxLmU4MTU3NzA2NjdmZDg3Zjk1MjUxNTRlZGM4Njc2MDVmcC00LAotICAgIDB4MS45MWE1NjU3ZmI2YTlhcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzkKLSAgICAweDEuZTgxNTc3MDY2N2ZkODdmOTUyNTE1NGVkYzg2NzYwNWZwLTQsCi0gICAgLTB4MS45MWE1NjU3ZmI2YTlhcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDAKLSAgICAtMHgxLmZmZmZmZmZkMzExZGM3ZWM1ZDBhZTU3MjhhNzk2MGZkcC0xLAotICAgIDB4MS45MjFmYjU0NDY4ODQ3cDM3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQxCi0gICAgMHgxLmZmZmZmZmZkMzExZGM3ZWM1ZDBhZTU3MjhhNzk2MGZkcC0xLAotICAgIC0weDEuOTIxZmI1NDQ2ODg0N3AzNwotICB9LAotICB7IC8vIEVudHJ5IDM0MgotICAgIDB4MS5mZmZmZmZmZjg3NWU1ZTQ0OTdkZDA3NjAzMzZlNjNmM3AtMTcsCi0gICAgMHgxLjkyMWZmNTQ0NDJkMThwMgotICB9LAotICB7IC8vIEVudHJ5IDM0MwotICAgIC0weDEuZmZmZmZmZmY4NzVlNWU0NDk3ZGQwNzYwMzM2ZTYzZjNwLTE3LAotICAgIC0weDEuOTIxZmY1NDQ0MmQxOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ0Ci0gICAgMHgxLjgxMmE1ZGEzNzc3Y2Q3ZjZlMTcyODg2MzhiNDBhYTA5cC04LAotICAgIDB4MS45MjhwMgotICB9LAotICB7IC8vIEVudHJ5IDM0NQotICAgIC0weDEuODEyYTVkYTM3NzdjZDdmNmUxNzI4ODYzOGI0MGFhMDlwLTgsCi0gICAgLTB4MS45MjhwMgotICB9LAotICB7IC8vIEVudHJ5IDM0NgotICAgIDB4MS5mZmY5YmU4ZDgyNTcyYzc0NmY5NDQ5MzRiYmYxYjY5N3AtMSwKLSAgICAweDEuOTRhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDcKLSAgICAtMHgxLmZmZjliZThkODI1NzJjNzQ2Zjk0NDkzNGJiZjFiNjk3cC0xLAotICAgIC0weDEuOTRhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDgKLSAgICAweDEuOTQ3YjBhY2UyMzVmMjg1MGIyN2IxNjRjNDkxMDJhNDlwLTUsCi0gICAgMHgxLjk0YTUyOTRhNTFiZGVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDkKLSAgICAtMHgxLjk0N2IwYWNlMjM1ZjI4NTBiMjdiMTY0YzQ5MTAyYTQ5cC01LAotICAgIC0weDEuOTRhNTI5NGE1MWJkZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDM1MAotICAgIDB4MS5jMzRmNzBlNTVhNzA3YmJkMDUzYTcwZTc0OTEwNTE3NHAtMiwKLSAgICAweDEuOTRhNTI5NGE1Mjk0OHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTEKLSAgICAtMHgxLmMzNGY3MGU1NWE3MDdiYmQwNTNhNzBlNzQ5MTA1MTc0cC0yLAotICAgIC0weDEuOTRhNTI5NGE1Mjk0OHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTIKLSAgICAweDEuOTUwYmNmYzBmM2Q1MDg1MDk0MWE0MWQ2NmNmYTM3MjFwLTUsCi0gICAgMHgxLjk1MzYxYjhmNzY5N2RwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTMKLSAgICAtMHgxLjk1MGJjZmMwZjNkNTA4NTA5NDFhNDFkNjZjZmEzNzIxcC01LAotICAgIC0weDEuOTUzNjFiOGY3Njk3ZHAtNQotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS42YzU0OGJmY2NlNjk1M2YxOWE4ZDJkZDQ4MGQ5MzIwY3AtMSwKLSAgICAweDEuOTU2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU1Ci0gICAgLTB4MS42YzU0OGJmY2NlNjk1M2YxOWE4ZDJkZDQ4MGQ5MzIwY3AtMSwKLSAgICAtMHgxLjk1NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1NgotICAgIDB4MS5mZmVmZmRiZjY3Y2E2NzExYTU3YjdkODIxNDAwOTNjNnAtMSwKLSAgICAweDEuOTYycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTcKLSAgICAtMHgxLmZmZWZmZGJmNjdjYTY3MTFhNTdiN2Q4MjE0MDA5M2M2cC0xLAotICAgIC0weDEuOTYycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTgKLSAgICAweDEuOTcwODIxM2JmNjdmNDg1NzEzNTA3N2Q1MDgyNmY1ODhwLTUsCi0gICAgMHgxLjk3MzMwZDJlYTE2ZDlwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTkKLSAgICAtMHgxLjk3MDgyMTNiZjY3ZjQ4NTcxMzUwNzdkNTA4MjZmNTg4cC01LAotICAgIC0weDEuOTczMzBkMmVhMTZkOXAtNQotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS45NzJiZjkyNzEzZDUwODU4ZTY0YzFiOWIyNmFlZWNkMHAtNSwKLSAgICAweDEuOTc1NmYwNzNiNmI2MXAtNQotICB9LAotICB7IC8vIEVudHJ5IDM2MQotICAgIC0weDEuOTcyYmY5MjcxM2Q1MDg1OGU2NGMxYjliMjZhZWVjZDBwLTUsCi0gICAgLTB4MS45NzU2ZjA3M2I2YjYxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzYyCi0gICAgMHgxLjk3Njg0NWViZTcxMTg4NTgwZTQ2OGJhZDAwY2UyM2VjcC01LAotICAgIDB4MS45NzkzNTA1NWNlYzFicC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzYzCi0gICAgLTB4MS45NzY4NDVlYmU3MTE4ODU4MGU0NjhiYWQwMGNlMjNlY3AtNSwKLSAgICAtMHgxLjk3OTM1MDU1Y2VjMWJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjQKLSAgICAweDEuOTc1MzVjZWU1MWE0MjgwNmUxNWY2Zjg3ODUyNGU1YjdwLTQsCi0gICAgMHgxLjk4MHAtNAotICB9LAotICB7IC8vIEVudHJ5IDM2NQotICAgIC0weDEuOTc1MzVjZWU1MWE0MjgwNmUxNWY2Zjg3ODUyNGU1YjdwLTQsCi0gICAgLTB4MS45ODBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjYKLSAgICAweDEuNmY0OTRjMzM1NjE3NzAwMDAwNjUwMmNkZmY5NzViMDhwLTEsCi0gICAgMHgxLjk5OTk5OWE0MjE2MGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjcKLSAgICAtMHgxLjZmNDk0YzMzNTYxNzcwMDAwMDY1MDJjZGZmOTc1YjA4cC0xLAotICAgIC0weDEuOTk5OTk5YTQyMTYwY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM2OAotICAgIDB4MS42ZjQ5NGMzN2VkZDZkODAwMDA2ZGM3NmFlZTRjYzhlNHAtMSwKLSAgICAweDEuOTk5OTk5YWFiOGY1MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2OQotICAgIC0weDEuNmY0OTRjMzdlZGQ2ZDgwMDAwNmRjNzZhZWU0Y2M4ZTRwLTEsCi0gICAgLTB4MS45OTk5OTlhYWI4ZjUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcwCi0gICAgMHgxLjZmYTkxMmJkZWFhYjI4MDAwMDE2NGYxNmRkNjQ5MzU2cC0xLAotICAgIDB4MS45YTIzMjRiOWM2MzI2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcxCi0gICAgLTB4MS42ZmE5MTJiZGVhYWIyODAwMDAxNjRmMTZkZDY0OTM1NnAtMSwKLSAgICAtMHgxLjlhMjMyNGI5YzYzMjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzIKLSAgICAweDEuNzBjN2VmNGVmOWIzNDdlZDIzNGNhNjEzMWJlMWI3ODZwLTEsCi0gICAgMHgxLjliY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM3MwotICAgIC0weDEuNzBjN2VmNGVmOWIzNDdlZDIzNGNhNjEzMWJlMWI3ODZwLTEsCi0gICAgLTB4MS45YmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzQKLSAgICAweDEuZmYyODE3NmFkMzE2M2VhMTY4Yzk5OTFmMTU1Zjg3NWJwLTEsCi0gICAgMHgxLmEwZDFkODE3ZDZjNGFwMAotICB9LAotICB7IC8vIEVudHJ5IDM3NQotICAgIC0weDEuZmYyODE3NmFkMzE2M2VhMTY4Yzk5OTFmMTU1Zjg3NWJwLTEsCi0gICAgLTB4MS5hMGQxZDgxN2Q2YzRhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzYKLSAgICAweDEuNzQ5NDY4YTcyNDhkZDI2MTYxZTkzZDc4OTI4YzY2ZGVwLTEsCi0gICAgMHgxLmExNDFjOWRlMTJmZGZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzcKLSAgICAtMHgxLjc0OTQ2OGE3MjQ4ZGQyNjE2MWU5M2Q3ODkyOGM2NmRlcC0xLAotICAgIC0weDEuYTE0MWM5ZGUxMmZkZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM3OAotICAgIDB4MS43NTRlYmI3ZTczZjQ1MmFiNDljNjE1ZjBlODMwMGQ1Y3AtMSwKLSAgICAweDEuYTI1MWJjNjc2NmYyMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM3OQotICAgIC0weDEuNzU0ZWJiN2U3M2Y0NTJhYjQ5YzYxNWYwZTgzMDBkNWNwLTEsCi0gICAgLTB4MS5hMjUxYmM2NzY2ZjIwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgwCi0gICAgLTB4MS43YzNiZmVmYTc0YmQwN2ZlMjEzMzZjYWFjMzcyYTczZXAtMSwKLSAgICAweDEuYTI2ODlhZTFiODZkZHA2MgotICB9LAotICB7IC8vIEVudHJ5IDM4MQotICAgIDB4MS43YzNiZmVmYTc0YmQwN2ZlMjEzMzZjYWFjMzcyYTczZXAtMSwKLSAgICAtMHgxLmEyNjg5YWUxYjg2ZGRwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODIKLSAgICAtMHgxLmZmZmY0ZjM2NDhlMDJmOWY0OTRmNDJlYjgyMmYyNjJicC0xLAotICAgIDB4MS5hM2Y2NjE4MGM0NTUwcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDM4MwotICAgIDB4MS5mZmZmNGYzNjQ4ZTAyZjlmNDk0ZjQyZWI4MjJmMjYyYnAtMSwKLSAgICAtMHgxLmEzZjY2MTgwYzQ1NTBwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg0Ci0gICAgLTB4MS4xY2Y0NjM5ODNjMGUyODAyMzE2MWI3ZDBkMjkzOGUzN3AtMywKLSAgICAweDEuYTNmZGQyYTUyODZjM3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg1Ci0gICAgMHgxLjFjZjQ2Mzk4M2MwZTI4MDIzMTYxYjdkMGQyOTM4ZTM3cC0zLAotICAgIC0weDEuYTNmZGQyYTUyODZjM3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg2Ci0gICAgMHgxLmZlYjc5NDhkMjI0ZDdlNzU5YTdjOWRkNzY4ZGVkNzI3cC0xLAotICAgIDB4MS5hNDRwMAotICB9LAotICB7IC8vIEVudHJ5IDM4NwotICAgIC0weDEuZmViNzk0OGQyMjRkN2U3NTlhN2M5ZGQ3NjhkZWQ3MjdwLTEsCi0gICAgLTB4MS5hNDRwMAotICB9LAotICB7IC8vIEVudHJ5IDM4OAotICAgIDB4MS43ODgwMWUzZTExNjY0ODJkY2U2MjA4ZTk4ZDNjYzE0MnAtMSwKLSAgICAweDEuYTcwMWVmM2M3ZDU0YnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIC0weDEuNzg4MDFlM2UxMTY2NDgyZGNlNjIwOGU5OGQzY2MxNDJwLTEsCi0gICAgLTB4MS5hNzAxZWYzYzdkNTRicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkwCi0gICAgLTB4MS5mZmYxMWU4NzFkNTljM2UxMzMzZGI1NDc1YmI1N2UyN3AtMSwKLSAgICAweDEuYThjMDFmZDQzYzBwNTM3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkxCi0gICAgMHgxLmZmZjExZTg3MWQ1OWMzZTEzMzNkYjU0NzViYjU3ZTI3cC0xLAotICAgIC0weDEuYThjMDFmZDQzYzBwNTM3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkyCi0gICAgMHgxLmZkZmE0MzY2ZWI3MzM3ZTZkOTczYzRjYjhmMWEyNDRhcC0xLAotICAgIDB4MS5hOGUyOWI3NjAyZjNicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTMKLSAgICAtMHgxLmZkZmE0MzY2ZWI3MzM3ZTZkOTczYzRjYjhmMWEyNDRhcC0xLAotICAgIC0weDEuYThlMjliNzYwMmYzYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk0Ci0gICAgMHgxLmZkZTk4Yjk0ZTc5NDdhMDQyMjlkMjZlZWIyYmI0MjgwcC0xLAotICAgIDB4MS5hOTRwMAotICB9LAotICB7IC8vIEVudHJ5IDM5NQotICAgIC0weDEuZmRlOThiOTRlNzk0N2EwNDIyOWQyNmVlYjJiYjQyODBwLTEsCi0gICAgLTB4MS5hOTRwMAotICB9LAotICB7IC8vIEVudHJ5IDM5NgotICAgIDB4MS43OTMxY2JhMTAwMDA4ODAwMDAwNjhmOTQwOTgwMThhN3AtMiwKLSAgICAweDEuYWE0NDVmY2U5M2I4MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk3Ci0gICAgLTB4MS43OTMxY2JhMTAwMDA4ODAwMDAwNjhmOTQwOTgwMThhN3AtMiwKLSAgICAtMHgxLmFhNDQ1ZmNlOTNiODJwMgotICB9LAotICB7IC8vIEVudHJ5IDM5OAotICAgIDB4MS43YWYzZjc2YzdhNzA4ODM0YjQwNzJmNTlhYzcxYTBiYXAtMSwKLSAgICAweDEuYWFhM2ZiYzM1OWZiZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM5OQotICAgIC0weDEuN2FmM2Y3NmM3YTcwODgzNGI0MDcyZjU5YWM3MWEwYmFwLTEsCi0gICAgLTB4MS5hYWEzZmJjMzU5ZmJlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAwCi0gICAgMHgxLmZkNzRlNTNhZTMyZmNkODQ2N2JjZjUwZGExZDBmNTYzcC02LAotICAgIDB4MS5hYmRkM2RiZDRkODYwcDExOQotICB9LAotICB7IC8vIEVudHJ5IDQwMQotICAgIC0weDEuZmQ3NGU1M2FlMzJmY2Q4NDY3YmNmNTBkYTFkMGY1NjNwLTYsCi0gICAgLTB4MS5hYmRkM2RiZDRkODYwcDExOQotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIDB4MS43ZDRhN2JmMTgzYTMzMjllZDQzNGMwYzRkZDc4YjFkOXAtMSwKLSAgICAweDEuYWUyMTY1YTBjOWY4ZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQwMwotICAgIC0weDEuN2Q0YTdiZjE4M2EzMzI5ZWQ0MzRjMGM0ZGQ3OGIxZDlwLTEsCi0gICAgLTB4MS5hZTIxNjVhMGM5ZjhlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA0Ci0gICAgMHgxLmI4MTQxMGVkYzc5ZTA4Mzc1MDdhM2VlZjhkNTUzYmQ2cC0yLAotICAgIDB4MS5hZThkZmVmY2ZlMTNicDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDUKLSAgICAtMHgxLmI4MTQxMGVkYzc5ZTA4Mzc1MDdhM2VlZjhkNTUzYmQ2cC0yLAotICAgIC0weDEuYWU4ZGZlZmNmZTEzYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgLTB4MS5mZjc1MTU2MWRjNTA5N2ZlZmU0OTkzMDFkMDM0YTBlZHAtMiwKLSAgICAweDEuYjU1OTdmOTUwZWU4Y3AyOQotICB9LAotICB7IC8vIEVudHJ5IDQwNwotICAgIDB4MS5mZjc1MTU2MWRjNTA5N2ZlZmU0OTkzMDFkMDM0YTBlZHAtMiwKLSAgICAtMHgxLmI1NTk3Zjk1MGVlOGNwMjkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDgKLSAgICAweDEuMDI3ZDE4NGFmYjE5ODRjYTFkMjFiMWFjOTI4ZDUzOTFwLTUyLAotICAgIDB4MS5iYWI2MmVkNjU1MDE5cDk3MAotICB9LAotICB7IC8vIEVudHJ5IDQwOQotICAgIC0weDEuMDI3ZDE4NGFmYjE5ODRjYTFkMjFiMWFjOTI4ZDUzOTFwLTUyLAotICAgIC0weDEuYmFiNjJlZDY1NTAxOXA5NzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTAKLSAgICAweDEuYmM1NzJlNWU0MTNlMTdmY2IyMjQ2ZDQwMjQ5YTAwNWZwLTEwLAotICAgIDB4MS5iYzU3M2M0ZmZmZmZmcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDQxMQotICAgIC0weDEuYmM1NzJlNWU0MTNlMTdmY2IyMjQ2ZDQwMjQ5YTAwNWZwLTEwLAotICAgIC0weDEuYmM1NzNjNGZmZmZmZnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTIKLSAgICAweDEuZmIzMDBmMWUzOWFmZTgwNDcxZjk5M2FiYjhjZmE0MjhwLTEsCi0gICAgMHgxLmJlZjVjZDI1YWIxYWRwOQotICB9LAotICB7IC8vIEVudHJ5IDQxMwotICAgIC0weDEuZmIzMDBmMWUzOWFmZTgwNDcxZjk5M2FiYjhjZmE0MjhwLTEsCi0gICAgLTB4MS5iZWY1Y2QyNWFiMWFkcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTQKLSAgICAweDEuYjFiYWFmNjIyZDNhMjdmZDI3ZDA3MTZmN2QwOGQ5OTJwLTIsCi0gICAgMHgxLmJmZGY2ZGYyYTI0YzFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTUKLSAgICAtMHgxLmIxYmFhZjYyMmQzYTI3ZmQyN2QwNzE2ZjdkMDhkOTkycC0yLAotICAgIC0weDEuYmZkZjZkZjJhMjRjMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQxNgotICAgIDB4MS44OGZiNzYyYzM1Y2UzN2ZlY2JiNDc0OGQwMWZlZmZjZXAtMSwKLSAgICAweDEuYmZmZmZmZGZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQxNwotICAgIC0weDEuODhmYjc2MmMzNWNlMzdmZWNiYjQ3NDhkMDFmZWZmY2VwLTEsCi0gICAgLTB4MS5iZmZmZmZkZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE4Ci0gICAgMHgxLmZlMGViZmY5OWFiOGM4MGNlNTkzOWYxZjA3MmMyZTkxcC0xLAotICAgIDB4MS5jMmI0ODk1MjBlMzc2cDkyMAotICB9LAotICB7IC8vIEVudHJ5IDQxOQotICAgIC0weDEuZmUwZWJmZjk5YWI4YzgwY2U1OTM5ZjFmMDcyYzJlOTFwLTEsCi0gICAgLTB4MS5jMmI0ODk1MjBlMzc2cDkyMAotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIDB4MS5jZjdmNzQ5ZjJhODM1N2Y3ZmVhYjY4NWZmNmY4YjYyNHAtNCwKLSAgICAweDEuYzU0YmViMDA4NTQ3MHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDIxCi0gICAgLTB4MS5jZjdmNzQ5ZjJhODM1N2Y3ZmVhYjY4NWZmNmY4YjYyNHAtNCwKLSAgICAtMHgxLmM1NGJlYjAwODU0NzBwNQotICB9LAotICB7IC8vIEVudHJ5IDQyMgotICAgIDB4MS5iNmZhY2Y2NjU4OTE0ODJlYThjNjFmNWNhMzJmMjgwZHAtMiwKLSAgICAweDEuYzVhZDM0ZjVmNDcyYXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQyMwotICAgIC0weDEuYjZmYWNmNjY1ODkxNDgyZWE4YzYxZjVjYTMyZjI4MGRwLTIsCi0gICAgLTB4MS5jNWFkMzRmNWY0NzJhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI0Ci0gICAgMHgxLmI4NTFjZDliODRlZTY4M2RjNmJkMzg5OWVhODFkYmY5cC0yLAotICAgIDB4MS5jNzI4ZmMyZjM0YmQ2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI1Ci0gICAgLTB4MS5iODUxY2Q5Yjg0ZWU2ODNkYzZiZDM4OTllYTgxZGJmOXAtMiwKLSAgICAtMHgxLmM3MjhmYzJmMzRiZDZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjYKLSAgICAweDEuYmEyMWI1M2NmMmZmMjgzMjYwNmY2NWVlZWI0ZTNhYWZwLTIsCi0gICAgMHgxLmM5MmIwZjYxMDUwODlwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjcKLSAgICAtMHgxLmJhMjFiNTNjZjJmZjI4MzI2MDZmNjVlZWViNGUzYWFmcC0yLAotICAgIC0weDEuYzkyYjBmNjEwNTA4OXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQyOAotICAgIDB4MS5jOWEyYjY4ZTMwZWM3N2M0ZTc2Yzg4OTcwNDM5NGE1MHAtNSwKLSAgICAweDEuYzlkZmJiZTllYzcwNHAtNQotICB9LAotICB7IC8vIEVudHJ5IDQyOQotICAgIC0weDEuYzlhMmI2OGUzMGVjNzdjNGU3NmM4ODk3MDQzOTRhNTBwLTUsCi0gICAgLTB4MS5jOWRmYmJlOWVjNzA0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMwCi0gICAgMHgxLmYzNzAxMTVjOWFiMzU3NDNlMTIyMTdjNjEyMmUxYTI4cC0xLAotICAgIDB4MS5jYWYzMWJkN2VlMjE3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzEKLSAgICAtMHgxLmYzNzAxMTVjOWFiMzU3NDNlMTIyMTdjNjEyMmUxYTI4cC0xLAotICAgIC0weDEuY2FmMzFiZDdlZTIxN3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMyCi0gICAgLTB4MS5kZDM4YTFmMWQyODliNjE3MzExNTcyMWJjNThlMjk4ZHAtNTQsCi0gICAgMHgxLmNiNDRlODZiYzE5MmJwNjQ4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM1OGUyOThkcC01NCwKLSAgICAtMHgxLmNiNDRlODZiYzE5MmJwNjQ4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM1NWE1NmE4cC01MywKLSAgICAweDEuY2I0NGU4NmJjMTkyYnA2NDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzUKLSAgICAtMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM1NWE1NmE4cC01MywKLSAgICAtMHgxLmNiNDRlODZiYzE5MmJwNjQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM2Ci0gICAgMHgxLmM3ODg1YWVmMzNhOTRmZmM1YWUwNmJlOTQ0NGVmYWQ1cC0zLAotICAgIDB4MS5jYjZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzcKLSAgICAtMHgxLmM3ODg1YWVmMzNhOTRmZmM1YWUwNmJlOTQ0NGVmYWQ1cC0zLAotICAgIC0weDEuY2I2cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM4Ci0gICAgMHgxLmNkMjc5YWE2MTk2YjU3ZjliZTcxY2RmZmRkOWYxOTE5cC00LAotICAgIDB4MS5jZTIyNzFkMmY2NjJmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM5Ci0gICAgLTB4MS5jZDI3OWFhNjE5NmI1N2Y5YmU3MWNkZmZkZDlmMTkxOXAtNCwKLSAgICAtMHgxLmNlMjI3MWQyZjY2MmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDAKLSAgICAweDEuOTMwYjcwNWY5ZmFkMTdmYjU2ODEzYTQ1OTczYThkNzJwLTEsCi0gICAgMHgxLmQwMDAwMDAwMDA0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgLTB4MS45MzBiNzA1ZjlmYWQxN2ZiNTY4MTNhNDU5NzNhOGQ3MnAtMSwKLSAgICAtMHgxLmQwMDAwMDAwMDA0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQyCi0gICAgMHgxLjdlZjI0YzhlNjdkOWE4MDE3YTAzMWYzOGUyNGNjZTA2cC0xLAotICAgIDB4MS5kMDFwMTk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQzCi0gICAgLTB4MS43ZWYyNGM4ZTY3ZDlhODAxN2EwMzFmMzhlMjRjY2UwNnAtMSwKLSAgICAtMHgxLmQwMXAxOTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDQKLSAgICAweDEuZmZmZjEyNGMwMDFhYWZiMWYxNzVjY2I1MzFjMDUzYjBwLTEsCi0gICAgMHgxLmQwMjRiYTZmOTUzY2ZwMTAwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0NQotICAgIC0weDEuZmZmZjEyNGMwMDFhYWZiMWYxNzVjY2I1MzFjMDUzYjBwLTEsCi0gICAgLTB4MS5kMDI0YmE2Zjk1M2NmcDEwMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDYKLSAgICAtMHgxLmY4M2EwOTgzZGQxNWQwMDMwMWUyZGYyMWUzYmVlNjM1cC0yLAotICAgIDB4MS5kNDA2N2M2MGY0NzFlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDcKLSAgICAweDEuZjgzYTA5ODNkZDE1ZDAwMzAxZTJkZjIxZTNiZWU2MzVwLTIsCi0gICAgLTB4MS5kNDA2N2M2MGY0NzFlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDgKLSAgICAweDEuZDc5Yjk4OTZmZjU1NDg0ZDI1OTFiNjc3ZDU0ZWE0NmZwLTUsCi0gICAgMHgxLmQ3ZGU2MjYzYmNhYWJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAtMHgxLmQ3OWI5ODk2ZmY1NTQ4NGQyNTkxYjY3N2Q1NGVhNDZmcC01LAotICAgIC0weDEuZDdkZTYyNjNiY2FhYnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ1MAotICAgIDB4MS5lZDBiOTA4YTI5ODJmN2ZkOWM4MGJjMTA1MWRkNDA4MHAtMSwKLSAgICAweDEuZDgwMDAwMDAwMjI3NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUxCi0gICAgLTB4MS5lZDBiOTA4YTI5ODJmN2ZkOWM4MGJjMTA1MWRkNDA4MHAtMSwKLSAgICAtMHgxLmQ4MDAwMDAwMDIyNzRwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1MgotICAgIC0weDEuZjJjMjE3Y2JjN2RjYzkxOTI0M2E3YzQzNGEyMDlmOWFwLTEsCi0gICAgMHgxLmQ5NmUwNThwNDg4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDUzCi0gICAgMHgxLmYyYzIxN2NiYzdkY2M5MTkyNDNhN2M0MzRhMjA5ZjlhcC0xLAotICAgIC0weDEuZDk2ZTA1OHA0ODgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTQKLSAgICAweDEuOThkY2QwOTMzNzc5MjgwMDAwMDAwMDAwMDAxNjdkYzdwLTEsCi0gICAgMHgxLmQ5OGM0YzYxMjcxOGRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTUKLSAgICAtMHgxLjk4ZGNkMDkzMzc3OTI4MDAwMDAwMDAwMDAwMTY3ZGM3cC0xLAotICAgIC0weDEuZDk4YzRjNjEyNzE4ZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ1NgotICAgIDB4MS5kYjNiYTg3NzVjYTI1N2RhM2JkNTQ0OWQzOTZhNjZlMnAtNSwKLSAgICAweDEuZGI4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDU3Ci0gICAgLTB4MS5kYjNiYTg3NzVjYTI1N2RhM2JkNTQ0OWQzOTZhNjZlMnAtNSwKLSAgICAtMHgxLmRiOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIC0weDEuOWZlZTM3Njk3ZDU4MjgwMzFhNmEyNjc5YzE0MzM0NTdwLTIsCi0gICAgMHgxLmRlMzg2ZDYwOTAzMDNwMjAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU5Ci0gICAgMHgxLjlmZWUzNzY5N2Q1ODI4MDMxYTZhMjY3OWMxNDMzNDU3cC0yLAotICAgIC0weDEuZGUzODZkNjA5MDMwM3AyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjAKLSAgICAtMHgxLjUzNjFlZTY1NTMxODgwMzZlOWRmY2FiNDI4ZGViNGUxcC01MywKLSAgICAweDEuZGU1ZTUwNTRlOTIxYnAzNQotICB9LAotICB7IC8vIEVudHJ5IDQ2MQotICAgIDB4MS41MzYxZWU2NTUzMTg4MDM2ZTlkZmNhYjQyOGRlYjRlMXAtNTMsCi0gICAgLTB4MS5kZTVlNTA1NGU5MjFicDM1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYyCi0gICAgMHgxLmZlYzQ4ZDVlNzY5ZWJlMzc0NDhjMTBlMGE3YTBlY2IxcC0xLAotICAgIDB4MS5kZjc3ZGRmNzdkZGY0cDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYzCi0gICAgLTB4MS5mZWM0OGQ1ZTc2OWViZTM3NDQ4YzEwZTBhN2EwZWNiMXAtMSwKLSAgICAtMHgxLmRmNzdkZGY3N2RkZjRwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICAtMHgxLjI5MDJhODNkNzI2MzI4MDAwMDNkMTE0OWI3ZTZjMGZicC0xLAotICAgIDB4MS5lMTU2MmIwNDQ4YTg2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjUKLSAgICAweDEuMjkwMmE4M2Q3MjYzMjgwMDAwM2QxMTQ5YjdlNmMwZmJwLTEsCi0gICAgLTB4MS5lMTU2MmIwNDQ4YTg2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjYKLSAgICAweDEuOWUyNmM3YmM5NmI2ODgwMDAwMGQ0NzM2ZmYxMzIwMzVwLTEsCi0gICAgMHgxLmUyNzAwY2RjODY2MzVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjcKLSAgICAtMHgxLjllMjZjN2JjOTZiNjg4MDAwMDBkNDczNmZmMTMyMDM1cC0xLAotICAgIC0weDEuZTI3MDBjZGM4NjYzNXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ2OAotICAgIDB4MS5lNjQ5NDkxMWVlZGQxOGQwZjE5MTVmZDRmNjQ5NTQ2OXAtNywKLSAgICAweDEuZTY0ZGRhZjdiZDczMHAtNwotICB9LAotICB7IC8vIEVudHJ5IDQ2OQotICAgIC0weDEuZTY0OTQ5MTFlZWRkMThkMGYxOTE1ZmQ0ZjY0OTU0NjlwLTcsCi0gICAgLTB4MS5lNjRkZGFmN2JkNzMwcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDcwCi0gICAgMHgxLmViMjZjNjkwYmRhMjQ4NGE2YzAyMGE5YzA1MmVhODQ2cC01LAotICAgIDB4MS5lYjcyMzliY2E4YWZhcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgLTB4MS5lYjI2YzY5MGJkYTI0ODRhNmMwMjBhOWMwNTJlYTg0NnAtNSwKLSAgICAtMHgxLmViNzIzOWJjYThhZmFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzIKLSAgICAweDEuYzczMjM4NzkwYTRjZTgwMWUwNDEwN2IyNTQ2YjRhZTNwLTMsCi0gICAgMHgxLmVmN2I4M2Y3YmRlZjRwMwotICB9LAotICB7IC8vIEVudHJ5IDQ3MwotICAgIC0weDEuYzczMjM4NzkwYTRjZTgwMWUwNDEwN2IyNTQ2YjRhZTNwLTMsCi0gICAgLTB4MS5lZjdiODNmN2JkZWY0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzQKLSAgICAweDEuZWQxYjU3NWFjYjhjODgxMDgyY2UzMTUwNzRhOGE0MmFwLTMsCi0gICAgMHgxLmYyMDAwMDAwMDEwOWJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzUKLSAgICAtMHgxLmVkMWI1NzVhY2I4Yzg4MTA4MmNlMzE1MDc0YThhNDJhcC0zLAotICAgIC0weDEuZjIwMDAwMDAwMTA5YnAtMwotICB9LAotICB7IC8vIEVudHJ5IDQ3NgotICAgIDB4MS5jMWI1MGE1NmM4ODA5ODAwMDAwMjgyYTUxNmMxM2UyNXAtMSwKLSAgICAweDEuZjQwY2E2N2E5ZThkN3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDc3Ci0gICAgLTB4MS5jMWI1MGE1NmM4ODA5ODAwMDAwMjgyYTUxNmMxM2UyNXAtMSwKLSAgICAtMHgxLmY0MGNhNjdhOWU4ZDdwOQotICB9LAotICB7IC8vIEVudHJ5IDQ3OAotICAgIDB4MS5lMzIxZmVhNjQzYTk2ODA4MzIwODc2OGU5ZTJjZDI4ZXAtMiwKLSAgICAweDEuZjcyMjRkMmM3NzU0MHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ3OQotICAgIC0weDEuZTMyMWZlYTY0M2E5NjgwODMyMDg3NjhlOWUyY2QyOGVwLTIsCi0gICAgLTB4MS5mNzIyNGQyYzc3NTQwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgwCi0gICAgMHgxLmMxMjY5YjAyMGExMDdmZmMwMDYxMmE1NjNhOTE5Njg2cC0zLAotICAgIDB4MS5mNzhhMGQwNWU2MGUycDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODEKLSAgICAtMHgxLmMxMjY5YjAyMGExMDdmZmMwMDYxMmE1NjNhOTE5Njg2cC0zLAotICAgIC0weDEuZjc4YTBkMDVlNjBlMnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgMHgxLmY3NmNhZTI4YTA3NzQ3ZmZmY2Q0NTNhMDE0MmMyZWMxcC01LAotICAgIDB4MS5mN2JkZWY3YmRmMDczcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgzCi0gICAgLTB4MS5mNzZjYWUyOGEwNzc0N2ZmZmNkNDUzYTAxNDJjMmVjMXAtNSwKLSAgICAtMHgxLmY3YmRlZjdiZGYwNzNwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODQKLSAgICAweDEuZTQyYzEzOWRjMjA1MzgwN2I5NDQwZjFhMjhmN2M5YjlwLTIsCi0gICAgMHgxLmY4NTAyZDU5NTU0NDNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODUKLSAgICAtMHgxLmU0MmMxMzlkYzIwNTM4MDdiOTQ0MGYxYTI4ZjdjOWI5cC0yLAotICAgIC0weDEuZjg1MDJkNTk1NTQ0M3AtMgotICB9LAotICB7IC8vIEVudHJ5IDQ4NgotICAgIDB4MS4wZmE3NDllMDdmNjNmYzlkMDFjODM0ZGU0NzY1NGFjYnAtOSwKLSAgICAweDEuZjhmYzgyNGQyNjkzYnA2MQotICB9LAotICB7IC8vIEVudHJ5IDQ4NwotICAgIC0weDEuMGZhNzQ5ZTA3ZjYzZmM5ZDAxYzgzNGRlNDc2NTRhY2JwLTksCi0gICAgLTB4MS5mOGZjODI0ZDI2OTNicDYxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg4Ci0gICAgMHgxLmZmYTgwMzI0ZTJkOGViYzAyZjMyM2VkNDllYjk3YTZjcC0xLAotICAgIDB4MS5mOGZmZmZmZmZmZmZmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODkKLSAgICAtMHgxLmZmYTgwMzI0ZTJkOGViYzAyZjMyM2VkNDllYjk3YTZjcC0xLAotICAgIC0weDEuZjhmZmZmZmZmZmZmZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkwCi0gICAgLTB4MS43Y2RmNzlkNWUzN2I4YjIxMmVmZjg2ZDJmZmUyMDQ0YnAtMSwKLSAgICAweDEuZmQ4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTEKLSAgICAweDEuN2NkZjc5ZDVlMzdiOGIyMTJlZmY4NmQyZmZlMjA0NGJwLTEsCi0gICAgLTB4MS5mZDhwMQotICB9LAotICB7IC8vIEVudHJ5IDQ5MgotICAgIDB4MS5mZDNmNDg4NDdhMWQxMGE4ZTVmZjFkNGRiODRlZDI2ZHAtNSwKLSAgICAweDEuZmQ5MzY0ZDkzNjU5NnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ5MwotICAgIC0weDEuZmQzZjQ4ODQ3YTFkMTBhOGU1ZmYxZDRkYjg0ZWQyNmRwLTUsCi0gICAgLTB4MS5mZDkzNjRkOTM2NTk2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk0Ci0gICAgMHgxLmY5M2FkNDcxZDI2MmY4MDMyZTkyZDU5Njc5N2Y5ZDQxcC0zLAotICAgIDB4MS5mZThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTUKLSAgICAtMHgxLmY5M2FkNDcxZDI2MmY4MDMyZTkyZDU5Njc5N2Y5ZDQxcC0zLAotICAgIC0weDEuZmU4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk2Ci0gICAgMHgxLjgzYjMwNjI0MTQ5NzNkOTJjNDI3ODUwN2YwNDc0ZDY3cC0xLAotICAgIDB4MS5mZWJiNjQ2ZTJlZTU3cDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk3Ci0gICAgLTB4MS44M2IzMDYyNDE0OTczZDkyYzQyNzg1MDdmMDQ3NGQ2N3AtMSwKLSAgICAtMHgxLmZlYmI2NDZlMmVlNTdwMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTgKLSAgICAweDEuM2I0NWJkNzQ0OTc3NTQ3ZmE0NjczZTQyZGZjOTk0MDJwLTEsCi0gICAgMHgxLmZlZWZmZmZmZmZmYzZwOTk1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk5Ci0gICAgLTB4MS4zYjQ1YmQ3NDQ5Nzc1NDdmYTQ2NzNlNDJkZmM5OTQwMnAtMSwKLSAgICAtMHgxLmZlZWZmZmZmZmZmYzZwOTk1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAwCi0gICAgLTB4MS5lZWZiNTlkMTQzNjQ1YTQwMDQxYmY3MjZkYzZmMmZhMHAtMSwKLSAgICAweDEuZmY4ZmZmZmZmZmZmZnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAxCi0gICAgMHgxLmVlZmI1OWQxNDM2NDVhNDAwNDFiZjcyNmRjNmYyZmEwcC0xLAotICAgIC0weDEuZmY4ZmZmZmZmZmZmZnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgLTB4MS41NjQzM2YwYzZiY2VlOTg0ODc1MTYxMWM2ZjVhZGUxZnAtMSwKLSAgICAweDEuZmY4ZmZmZmZmZmZmZnA4NzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDMKLSAgICAweDEuNTY0MzNmMGM2YmNlZTk4NDg3NTE2MTFjNmY1YWRlMWZwLTEsCi0gICAgLTB4MS5mZjhmZmZmZmZmZmZmcDg3MAotICB9LAotICB7IC8vIEVudHJ5IDUwNAotICAgIC0weDEuOTMwMDA2MjQ2YTZjMDVkYWI3MmVhNjk3ZGFhYmE2OWRwLTIsCi0gICAgMHgxLmZmY2ZmZjhwMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDUKLSAgICAweDEuOTMwMDA2MjQ2YTZjMDVkYWI3MmVhNjk3ZGFhYmE2OWRwLTIsCi0gICAgLTB4MS5mZmNmZmY4cDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTA2Ci0gICAgMHgxLmRlZDM3YTFmMGFhNmQwNWQ3ODJkNmFhYjQwY2I4NjcwcC0xLAotICAgIDB4MS5mZmNmZmY4cDM2NQotICB9LAotICB7IC8vIEVudHJ5IDUwNwotICAgIC0weDEuZGVkMzdhMWYwYWE2ZDA1ZDc4MmQ2YWFiNDBjYjg2NzBwLTEsCi0gICAgLTB4MS5mZmNmZmY4cDM2NQotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIC0weDEuOTNlNGQ5NmI2MjFlMDdiY2E4NjZjMWEyZTc3MTg4MWNwLTEsCi0gICAgMHgxLmZmY2ZmZmZmZmZmNmNwNzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA5Ci0gICAgMHgxLjkzZTRkOTZiNjIxZTA3YmNhODY2YzFhMmU3NzE4ODFjcC0xLAotICAgIC0weDEuZmZjZmZmZmZmZmY2Y3A3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTAKLSAgICAweDEuOTA2OGI5MGU0MjYwNWUwNTAxMGUxNDcxMTA2ODhlNTJwLTEsCi0gICAgMHgxLmZmY2ZmZmZmZmZmZjlwMzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgLTB4MS45MDY4YjkwZTQyNjA1ZTA1MDEwZTE0NzExMDY4OGU1MnAtMSwKLSAgICAtMHgxLmZmY2ZmZmZmZmZmZjlwMzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEyCi0gICAgMHgxLmNmODE2NDJlNzQyMWM1NjUwN2ViODE4NzYxMWM4NGRicC0xLAotICAgIDB4MS5mZmNmZmZmZmZmZmZmcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEzCi0gICAgLTB4MS5jZjgxNjQyZTc0MjFjNTY1MDdlYjgxODc2MTFjODRkYnAtMSwKLSAgICAtMHgxLmZmY2ZmZmZmZmZmZmZwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTQKLSAgICAweDEuZmZmZmZmZTYxZmU2MTZiMjgyYzNhNjljYTIyNWMyZDJwLTEsCi0gICAgMHgxLmZmY2ZmZmZmZmZmZmZwNDA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTE1Ci0gICAgLTB4MS5mZmZmZmZlNjFmZTYxNmIyODJjM2E2OWNhMjI1YzJkMnAtMSwKLSAgICAtMHgxLmZmY2ZmZmZmZmZmZmZwNDA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTE2Ci0gICAgLTB4MS40MDZlZTlhZTkxZTE2ZjFkNThjOTZlYjcxNjVmNTk1YnAtMSwKLSAgICAweDEuZmZlZmZmZmZmZmZjY3A5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTcKLSAgICAweDEuNDA2ZWU5YWU5MWUxNmYxZDU4Yzk2ZWI3MTY1ZjU5NWJwLTEsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmNjcDk5NQotICB9LAotICB7IC8vIEVudHJ5IDUxOAotICAgIDB4MS5mYTlmNmNhMGVjNDRlMDAxMDAyNmYzODVjMGFiODY5MHAtMywKLSAgICAweDEuZmZlZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDUxOQotICAgIC0weDEuZmE5ZjZjYTBlYzQ0ZTAwMTAwMjZmMzg1YzBhYjg2OTBwLTMsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIwCi0gICAgMHgxLjZiNDkxZGI4YjY2ZDg4MDEyMWY4MzBkOGM3NTVhZTU0cC00LAotICAgIDB4MS5mZmVmZmZmZmZmZmZmcDU1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTIxCi0gICAgLTB4MS42YjQ5MWRiOGI2NmQ4ODAxMjFmODMwZDhjNzU1YWU1NHAtNCwKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwNTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAweDEuZmIwYWIxMDJjYjEyZmVmOWE0ZTRhODY5YTI5OWVkNDZwLTEsCi0gICAgMHgxLmZmZWZmZmZmZmZmZmZwMTgwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgLTB4MS5mYjBhYjEwMmNiMTJmZWY5YTRlNGE4NjlhMjk5ZWQ0NnAtMSwKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwMTgwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI0Ci0gICAgMHgxLmU0MzE1ZWMwNDYzNWNkMzRiM2VmNjAzNzA1MTEyODFmcC0zLAotICAgIDB4MS5mZmVmZmZmZmZmZmZmcDcwNgotICB9LAotICB7IC8vIEVudHJ5IDUyNQotICAgIC0weDEuZTQzMTVlYzA0NjM1Y2QzNGIzZWY2MDM3MDUxMTI4MWZwLTMsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmZmcDcwNgotICB9LAotICB7IC8vIEVudHJ5IDUyNgotICAgIDB4MS5mZmZmYzM5OTk3ZWY2N2QyYjljN2U0ZWZhOGI3N2U1MHAtMSwKLSAgICAweDEuZmZmMWZmZmZmZmZmZnA0MQotICB9LAotICB7IC8vIEVudHJ5IDUyNwotICAgIC0weDEuZmZmZmMzOTk5N2VmNjdkMmI5YzdlNGVmYThiNzdlNTBwLTEsCi0gICAgLTB4MS5mZmYxZmZmZmZmZmZmcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI4Ci0gICAgMHgxLmZmZjE2Mzk5MjgzMWU4YzY4YjAyMzRiNDJlZmExZDBhcC03LAotICAgIDB4MS5mZmY2Yjg5ZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTI5Ci0gICAgLTB4MS5mZmYxNjM5OTI4MzFlOGM2OGIwMjM0YjQyZWZhMWQwYXAtNywKLSAgICAtMHgxLmZmZjZiODlmZmZmZmZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAtMHgxLmQ5NzU3YTA1ZmNjNDJjNjY0ZjNhNjZiNTU3NmE5OGU0cC0xLAotICAgIDB4MS5mZmZkZmZmZjAwMDFmcDEwNQotICB9LAotICB7IC8vIEVudHJ5IDUzMQotICAgIDB4MS5kOTc1N2EwNWZjYzQyYzY2NGYzYTY2YjU1NzZhOThlNHAtMSwKLSAgICAtMHgxLmZmZmRmZmZmMDAwMWZwMTA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTMyCi0gICAgLTB4MS44Mzc5MWZlNjNhMTdhODAyNThmMmM0NzljN2UxZDMzOXAtMSwKLSAgICAweDEuZmZmZjBjMDAwMDAwMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMzCi0gICAgMHgxLjgzNzkxZmU2M2ExN2E4MDI1OGYyYzQ3OWM3ZTFkMzM5cC0xLAotICAgIC0weDEuZmZmZjBjMDAwMDAwMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM0Ci0gICAgLTB4MS5kOWQzYTg1YWNjNTBjODAwMDAwNWQxM2RkODJmNjFiNXAtMSwKLSAgICAweDEuZmZmZmMwMDAwMDA1NXAxNTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzUKLSAgICAweDEuZDlkM2E4NWFjYzUwYzgwMDAwMDVkMTNkZDgyZjYxYjVwLTEsCi0gICAgLTB4MS5mZmZmYzAwMDAwMDU1cDE1MAotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIC0weDEuZjI1ZDg1OGRjZGVlNzQxMmNmMDc2MGU5NTVjYjgzOTBwLTMsCi0gICAgMHgxLmZmZmZlM2ZmZmZmZmZwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzcKLSAgICAweDEuZjI1ZDg1OGRjZGVlNzQxMmNmMDc2MGU5NTVjYjgzOTBwLTMsCi0gICAgLTB4MS5mZmZmZTNmZmZmZmZmcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM4Ci0gICAgMHgxLmQxOGY3YmZlNTU3ZWI4MDAwMTU1NzE0MmJkYTE4YmFlcC0xLAotICAgIDB4MS5mZmZmZWZmZmNmZmFlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzkKLSAgICAtMHgxLmQxOGY3YmZlNTU3ZWI4MDAwMTU1NzE0MmJkYTE4YmFlcC0xLAotICAgIC0weDEuZmZmZmVmZmZjZmZhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQwCi0gICAgLTB4MS5iYzE0ZWJmNmJmYjUxZmZhNWU2ZjViMGIwYmY5ZTg5OXAtNCwKLSAgICAweDEuZmZmZmZiZmZmZmZmZnAyMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDEKLSAgICAweDEuYmMxNGViZjZiZmI1MWZmYTVlNmY1YjBiMGJmOWU4OTlwLTQsCi0gICAgLTB4MS5mZmZmZmJmZmZmZmZmcDIyOAotICB9LAotICB7IC8vIEVudHJ5IDU0MgotICAgIDB4MS5iYjg4N2EwNmY2YzUwZmVmMDY1NGQzMDNjODJmMWE3OHAtMywKLSAgICAweDEuZmZmZmZiZmZmZmZmZnA3MzUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDMKLSAgICAtMHgxLmJiODg3YTA2ZjZjNTBmZWYwNjU0ZDMwM2M4MmYxYTc4cC0zLAotICAgIC0weDEuZmZmZmZiZmZmZmZmZnA3MzUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDQKLSAgICAweDEuZmZhYWFkZWY1NGUyZjBjNDA4MTg4MGI3YjllNzk0ZGZwLTUsCi0gICAgMHgxLmZmZmZmZWZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDUKLSAgICAtMHgxLmZmYWFhZGVmNTRlMmYwYzQwODE4ODBiN2I5ZTc5NGRmcC01LAotICAgIC0weDEuZmZmZmZlZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDU0NgotICAgIDB4MS5kNGEzYzYyYzViZTA4YjEyMzg2OGU4YTQ2N2VmZjBjZXAtMSwKLSAgICAweDEuZmZmZmZmOHAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDcKLSAgICAtMHgxLmQ0YTNjNjJjNWJlMDhiMTIzODY4ZThhNDY3ZWZmMGNlcC0xLAotICAgIC0weDEuZmZmZmZmOHAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAweDEuY2VjMjBmMTk3NzAzZjRmZDQyMDQ4ZGRmODg5ZmU4NGFwLTMsCi0gICAgMHgxLmZmZmZmZjhwMTkyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ5Ci0gICAgLTB4MS5jZWMyMGYxOTc3MDNmNGZkNDIwNDhkZGY4ODlmZTg0YXAtMywKLSAgICAtMHgxLmZmZmZmZjhwMTkyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUwCi0gICAgMHgxLmQzN2FhZGM3Yzg2NjI1MDE3NTFkYmY0ZTllNTcwMWFicC0yLAotICAgIDB4MS5mZmZmZmY4cDU0MwotICB9LAotICB7IC8vIEVudHJ5IDU1MQotICAgIC0weDEuZDM3YWFkYzdjODY2MjUwMTc1MWRiZjRlOWU1NzAxYWJwLTIsCi0gICAgLTB4MS5mZmZmZmY4cDU0MwotICB9LAotICB7IC8vIEVudHJ5IDU1MgotICAgIDB4MS5mYThkMmE0ZDBhMjAyN2YwZjc0ZGYzMTM2Y2I3OGY3MnAtMSwKLSAgICAweDEuZmZmZmZmYzAwMThmZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUzCi0gICAgLTB4MS5mYThkMmE0ZDBhMjAyN2YwZjc0ZGYzMTM2Y2I3OGY3MnAtMSwKLSAgICAtMHgxLmZmZmZmZmMwMDE4ZmZwMgotICB9LAotICB7IC8vIEVudHJ5IDU1NAotICAgIDB4MS5mYThkMmEwMjlmOTc3ZmZlNzRjYjE0Y2IwOWRmMTc2ZHAtMSwKLSAgICAweDEuZmZmZmZmZmZlZmZmZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU1Ci0gICAgLTB4MS5mYThkMmEwMjlmOTc3ZmZlNzRjYjE0Y2IwOWRmMTc2ZHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZWZmZmZwMgotICB9LAotICB7IC8vIEVudHJ5IDU1NgotICAgIC0weDEuMjc2M2YwMmEyZDFlOTgwMDAwMDE1ZGJmOTVkODlhYjJwLTQsCi0gICAgMHgxLmZmZmZmZmZmZjgyNTBwOTQzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU3Ci0gICAgMHgxLjI3NjNmMDJhMmQxZTk4MDAwMDAxNWRiZjk1ZDg5YWIycC00LAotICAgIC0weDEuZmZmZmZmZmZmODI1MHA5NDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTgKLSAgICAweDEuZmNmZjEyOGY3N2RkYTgxYzJhMGVjMDNlNGVkODA0MjJwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmUwOWRwMzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU5Ci0gICAgLTB4MS5mY2ZmMTI4Zjc3ZGRhODFjMmEwZWMwM2U0ZWQ4MDQyMnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmUwOWRwMzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYwCi0gICAgLTB4MS5mY2MwYmZlZGQ4NGE1ODE2ZDk1OTZiOGY5ZmJiOWI0MXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZTZlM3A3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjEKLSAgICAweDEuZmNjMGJmZWRkODRhNTgxNmQ5NTk2YjhmOWZiYjliNDFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZlNmUzcDcyMAotICB9LAotICB7IC8vIEVudHJ5IDU2MgotICAgIDB4MS5hZWQ1NDhmMDkwYzFkZmZlNmUwNDMyMmRjOGU4Y2JmYXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmU3ZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDU2MwotICAgIC0weDEuYWVkNTQ4ZjA5MGMxZGZmZTZlMDQzMjJkYzhlOGNiZmFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZTdmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY0Ci0gICAgLTB4MS5mNWUxMWRlZjk5ZDJiMjIwOTgyNDJhYzlmYjc1NmFkYnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmVmZnAyNTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjUKLSAgICAweDEuZjVlMTFkZWY5OWQyYjIyMDk4MjQyYWM5ZmI3NTZhZGJwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZWZmcDI1MAotICB9LAotICB7IC8vIEVudHJ5IDU2NgotICAgIDB4MS44YTljYmY0OGZlYzlmMmEwZmRlOTUxZjMxM2I5MThjY3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmY3OHA5MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjcKLSAgICAtMHgxLjhhOWNiZjQ4ZmVjOWYyYTBmZGU5NTFmMzEzYjkxOGNjcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmY3OHA5MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjgKLSAgICAtMHgxLjdlYmE1ODk0ODQ0Y2MwMGM4OGYzOWJkM2Q0MTk3ZDE0cC0zLAotICAgIDB4MS5mZmZmZmZmZmZmZjgzcDE1MAotICB9LAotICB7IC8vIEVudHJ5IDU2OQotICAgIDB4MS43ZWJhNTg5NDg0NGNjMDBjODhmMzliZDNkNDE5N2QxNHAtMywKLSAgICAtMHgxLmZmZmZmZmZmZmZmODNwMTUwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcwCi0gICAgMHgxLjkyYzRmMDZkMmNkZDE1ZDMwMjYwOWNhYTg3ODgyYWZhcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmQ1cDk5NQotICB9LAotICB7IC8vIEVudHJ5IDU3MQotICAgIC0weDEuOTJjNGYwNmQyY2RkMTVkMzAyNjA5Y2FhODc4ODJhZmFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmQ1cDk5NQotICB9LAotICB7IC8vIEVudHJ5IDU3MgotICAgIC0weDEuM2Q1ZjdkZWIxZDNiYWQ2M2ViMTczYjczZTg0MTEwYTBwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZThwNzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTczCi0gICAgMHgxLjNkNWY3ZGViMWQzYmFkNjNlYjE3M2I3M2U4NDExMGEwcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZlOHA3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzQKLSAgICAtMHgxLjkxMzQ5YjBhZTkwZTUzMTY1MzljMDdlZWE5YjRlNmIwcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmVicDkyMAotICB9LAotICB7IC8vIEVudHJ5IDU3NQotICAgIDB4MS45MTM0OWIwYWU5MGU1MzE2NTM5YzA3ZWVhOWI0ZTZiMHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZWJwOTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc2Ci0gICAgLTB4MS44MzdiOWRkZGMxZTg3MzhkNzRiMmE3NGZhNDJkODAyZHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc3Ci0gICAgMHgxLjgzN2I5ZGRkYzFlODczOGQ3NGIyYTc0ZmE0MmQ4MDJkcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc4Ci0gICAgMHgxLjUxMGUwNjJlN2ZhMjAzN2QzODQyZGU5OTNjOWM1MDkwcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmYxcDI0NQotICB9LAotICB7IC8vIEVudHJ5IDU3OQotICAgIC0weDEuNTEwZTA2MmU3ZmEyMDM3ZDM4NDJkZTk5M2M5YzUwOTBwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmYxcDI0NQotICB9LAotICB7IC8vIEVudHJ5IDU4MAotICAgIDB4MS5lYWVlODc0NGIwNWU0N2ZkZTA5MmUzYTE0ODk1ZDA2N3AtMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmM3AtMgotICB9LAotICB7IC8vIEVudHJ5IDU4MQotICAgIC0weDEuZWFlZTg3NDRiMDVlNDdmZGUwOTJlM2ExNDg5NWQwNjdwLTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmYzcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgyCi0gICAgMHgxLjhhNGRlZThmNDA2Mjc5MTA3ODc2NmIwYTAxZGUzNjBkcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmY0cDg0NQotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIC0weDEuOGE0ZGVlOGY0MDYyNzkxMDc4NzY2YjBhMDFkZTM2MGRwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmY0cDg0NQotICB9LAotICB7IC8vIEVudHJ5IDU4NAotICAgIDB4MS41MTE4ZDZiYmRlMDdlNGVlYmYyYTExZGY0ZGM3NGQ1NHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmNHAxMDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg1Ci0gICAgLTB4MS41MTE4ZDZiYmRlMDdlNGVlYmYyYTExZGY0ZGM3NGQ1NHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZjRwMTAyMAotICB9LAotICB7IC8vIEVudHJ5IDU4NgotICAgIC0weDEuNWNkNWM1M2NmMzBhOTdmZjBlNDcxZDE0OWM0MDk1NWRwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZjhwNjE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg3Ci0gICAgMHgxLjVjZDVjNTNjZjMwYTk3ZmYwZTQ3MWQxNDljNDA5NTVkcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmOHA2MTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODgKLSAgICAweDEuZmZmZmExZjBkN2RhZjY5M2E4MGEyYjgxN2IxNmYyNzdwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmNwNDc1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg5Ci0gICAgLTB4MS5mZmZmYTFmMGQ3ZGFmNjkzYTgwYTJiODE3YjE2ZjI3N3AtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmNwNDc1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTkwCi0gICAgMHgxLjUxZTlkODQwMTA2ZDczNDg0ZDQ0YTg2Zjc0YzNkNDFkcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcDk3MAotICB9LAotICB7IC8vIEVudHJ5IDU5MQotICAgIC0weDEuNTFlOWQ4NDAxMDZkNzM0ODRkNDRhODZmNzRjM2Q0MWRwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcDk3MAotICB9LAotICB7IC8vIEVudHJ5IDU5MgotICAgIC0wLjAsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgMC4wLAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTk0Ci0gICAgLTAuMCwKLSAgICAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk1Ci0gICAgMC4wLAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTk2Ci0gICAgLTAuMCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTcKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDU5OAotICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDU5OQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAwCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAotICAgIDB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAxCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDIKLSAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDMKLSAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmRmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDYwNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDYwNgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA3Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA4Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDkKLSAgICAweDEuOTk5OTk5NmRlOGNhMTk4YzI0YWI5NDQ5YmVlZTE2ZDVwLTEzLAotICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMwotICB9LAotICB7IC8vIEVudHJ5IDYxMAotICAgIC0weDEuOTk5OTk5NmRlOGNhMTk4YzI0YWI5NDQ5YmVlZTE2ZDVwLTEzLAotICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTEKLSAgICAweDEuOTk5OTk4ZWFkNjViOTZmNzhhNGRiZmQ4MzljN2VmMmVwLTEyLAotICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMgotICB9LAotICB7IC8vIEVudHJ5IDYxMgotICAgIC0weDEuOTk5OTk4ZWFkNjViOTZmNzhhNGRiZmQ4MzljN2VmMmVwLTEyLAotICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTMKLSAgICAweDEuMzMzMzMyMGM0OWJhYmZmMTUxYjZkMDQyOTBlMmMzYTJwLTExLAotICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0xMQotICB9LAotICB7IC8vIEVudHJ5IDYxNAotICAgIC0weDEuMzMzMzMyMGM0OWJhYmZmMTUxYjZkMDQyOTBlMmMzYTJwLTExLAotICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTUKLSAgICAweDEuOTk5OTk2ZGU4Y2EyODg0ZGEyZjA4ZjI1YmIwMjRkMDhwLTExLAotICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMQotICB9LAotICB7IC8vIEVudHJ5IDYxNgotICAgIC0weDEuOTk5OTk2ZGU4Y2EyODg0ZGEyZjA4ZjI1YmIwMjRkMDhwLTExLAotICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTcKLSAgICAweDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAotICAgIDB4MS4wcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDYxOAotICAgIC0weDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAotICAgIC0weDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTkKLSAgICAweDEuMzMzMzJlOTc4ZDU1MmFmYzg4M2JkYjA0NzUxZTM4MzVwLTEwLAotICAgIDB4MS4zMzMzMzMzMzMzMzMzcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDYyMAotICAgIC0weDEuMzMzMzJlOTc4ZDU1MmFmYzg4M2JkYjA0NzUxZTM4MzVwLTEwLAotICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjEKLSAgICAweDEuNjY2NjVmMTUyOWFmZjhhMzgwOTI0NjY3MGE0MzZjM2NwLTEwLAotICAgIDB4MS42NjY2NjY2NjY2NjY2cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDYyMgotICAgIC0weDEuNjY2NjVmMTUyOWFmZjhhMzgwOTI0NjY3MGE0MzZjM2NwLTEwLAotICAgIC0weDEuNjY2NjY2NjY2NjY2NnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjMKLSAgICAweDEuOTk5OThlYWQ2NWNkZjgyZTE5NGMxMzM5OTdmMmZiNjhwLTEwLAotICAgIDB4MS45OTk5OTk5OTk5OTk5cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDYyNAotICAgIC0weDEuOTk5OThlYWQ2NWNkZjgyZTE5NGMxMzM5OTdmMmZiNjhwLTEwLAotICAgIC0weDEuOTk5OTk5OTk5OTk5OXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjUKLSAgICAweDEuY2NjY2JkM2Y3ZDE1ZDQyYWZmYjlmMDJiZjFkYzI1N2JwLTEwLAotICAgIDB4MS5jY2NjY2NjY2NjY2NjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIC0weDEuY2NjY2JkM2Y3ZDE1ZDQyYWZmYjlmMDJiZjFkYzI1N2JwLTEwLAotICAgIC0weDEuY2NjY2NjY2NjY2NjY3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjcKLSAgICAweDEuMDY2NWFlOWM3YjQ0ZWQyODAyMTZiZTIxMDRmMjhmMDJwLTcsCi0gICAgMHgxLjA2NjY2NjY2NjY2NjZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjgKLSAgICAtMHgxLjA2NjVhZTljN2I0NGVkMjgwMjE2YmUyMTA0ZjI4ZjAycC03LAotICAgIC0weDEuMDY2NjY2NjY2NjY2NnAtNwotICB9LAotICB7IC8vIEVudHJ5IDYyOQotICAgIDB4MS5jY2M4ZTk3YjU5ZjYxODg5OGM0YWMzYTBhZWRkZjcwOXAtNywKLSAgICAweDEuY2NjY2NjY2NjY2NjY3AtNwotICB9LAotICB7IC8vIEVudHJ5IDYzMAotICAgIC0weDEuY2NjOGU5N2I1OWY2MTg4OThjNGFjM2EwYWVkZGY3MDlwLTcsCi0gICAgLTB4MS5jY2NjY2NjY2NjY2NjcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMxCi0gICAgMHgxLjQ5OTNlOGE4ZmY3OWIxMzIwNDZlZmE3ODU2YTk3NTM4cC02LAotICAgIDB4MS40OTk5OTk5OTk5OTk5cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjMyCi0gICAgLTB4MS40OTkzZThhOGZmNzliMTMyMDQ2ZWZhNzg1NmE5NzUzOHAtNiwKLSAgICAtMHgxLjQ5OTk5OTk5OTk5OTlwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzMKLSAgICAweDEuYWNjMDQ0YzU2ZGIwZTE5ZjgyYzljM2NmZjI0NmUyMDFwLTYsCi0gICAgMHgxLmFjY2NjY2NjY2NjY2NwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzQKLSAgICAtMHgxLmFjYzA0NGM1NmRiMGUxOWY4MmM5YzNjZmYyNDZlMjAxcC02LAotICAgIC0weDEuYWNjY2NjY2NjY2NjY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDYzNQotICAgIDB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKLSAgICAweDEuMDgwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjM2Ci0gICAgLTB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKLSAgICAtMHgxLjA4MHAtNQotICB9LAotICB7IC8vIEVudHJ5IDYzNwotICAgIDB4MS4zOTg1ZmU0NmYxYzg3MTRlYWExNDE4NTYxOTYzZTg5YnAtNSwKLSAgICAweDEuMzk5OTk5OTk5OTk5YXAtNQotICB9LAotICB7IC8vIEVudHJ5IDYzOAotICAgIC0weDEuMzk4NWZlNDZmMWM4NzE0ZWFhMTQxODU2MTk2M2U4OWJwLTUsCi0gICAgLTB4MS4zOTk5OTk5OTk5OTlhcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjM5Ci0gICAgMHgxLjZiMTRiZGU5M2FjNWY3ZDI0NTQ0ZDBlY2Y4YmU3YWVlcC01LAotICAgIDB4MS42YjMzMzMzMzMzMzM0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjQwCi0gICAgLTB4MS42YjE0YmRlOTNhYzVmN2QyNDU0NGQwZWNmOGJlN2FlZXAtNSwKLSAgICAtMHgxLjZiMzMzMzMzMzMzMzRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDEKLSAgICAweDEuOWNhMDE1M2VkODM5NmIwMmY4NjA1MjE5YTVmZTU5MTdwLTUsCi0gICAgMHgxLjljY2NjY2NjY2NjY2VwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICAtMHgxLjljYTAxNTNlZDgzOTZiMDJmODYwNTIxOWE1ZmU1OTE3cC01LAotICAgIC0weDEuOWNjY2NjY2NjY2NjZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDY0MwotICAgIDB4MS5jZTI3OGQ0MDI3ZDM0Mzg3ZjE4NGQ0YWIyYWFmNTQ1ZnAtNSwKLSAgICAweDEuY2U2NjY2NjY2NjY2NnAtNQotICB9LAotICB7IC8vIEVudHJ5IDY0NAotICAgIC0weDEuY2UyNzhkNDAyN2QzNDM4N2YxODRkNGFiMmFhZjU0NWZwLTUsCi0gICAgLTB4MS5jZTY2NjY2NjY2NjY2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjQ1Ci0gICAgMHgxLjQzYzFlOWMxNzFhNjY3YTBiOTI1MTlhMDRmYTVhOTFjcC0xLAotICAgIDB4MS41ZTdmYzQzNjliZGFkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ2Ci0gICAgLTB4MS40M2MxZTljMTcxYTY2N2EwYjkyNTE5YTA0ZmE1YTkxY3AtMSwKLSAgICAtMHgxLjVlN2ZjNDM2OWJkYWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDcKLSAgICAweDEuZWUzZDZiY2VhMDljYTE4YjFkMWNlN2VlMDRmZDg4NmZwLTEsCi0gICAgMHgxLjRlN2ZjNDM2OWJkYWRwMAotICB9LAotICB7IC8vIEVudHJ5IDY0OAotICAgIC0weDEuZWUzZDZiY2VhMDljYTE4YjFkMWNlN2VlMDRmZDg4NmZwLTEsCi0gICAgLTB4MS40ZTdmYzQzNjliZGFkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDkKLSAgICAweDEuZGY4ZTIyZWE4MDlkNjVjNmE2OWI5NmFjYTYwYmU0MzJwLTEsCi0gICAgMHgxLmVkYmZhNjUxZTljODRwMAotICB9LAotICB7IC8vIEVudHJ5IDY1MAotICAgIC0weDEuZGY4ZTIyZWE4MDlkNjVjNmE2OWI5NmFjYTYwYmU0MzJwLTEsCi0gICAgLTB4MS5lZGJmYTY1MWU5Yzg0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTEKLSAgICAweDEuMWQzNDc5ZWFjN2FlMzVlMmZiZWEwYWU2OTY0MzQ2OTJwLTEsCi0gICAgMHgxLjQ2N2ZjNDM2OWJkYWRwMQotICB9LAotICB7IC8vIEVudHJ5IDY1MgotICAgIC0weDEuMWQzNDc5ZWFjN2FlMzVlMmZiZWEwYWU2OTY0MzQ2OTJwLTEsCi0gICAgLTB4MS40NjdmYzQzNjliZGFkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTMKLSAgICAtMHgxLmZmZWFhYWVlZWU4NGI0NGNjZWZlZjgzMjI1NGQyOGMwcC02LAotICAgIDB4MS45NjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTQKLSAgICAweDEuZmZlYWFhZWVlZTg0YjQ0Y2NlZmVmODMyMjU0ZDI4YzBwLTYsCi0gICAgLTB4MS45NjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTUKLSAgICAtMHgxLjM3MzRkMzJkNDliZDBiOTQyNzcyYTc1NjdkNTE0MTQwcC0xLAotICAgIDB4MS5lNWJmYTY1MWU5YzgzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTYKLSAgICAweDEuMzczNGQzMmQ0OWJkMGI5NDI3NzJhNzU2N2Q1MTQxNDBwLTEsCi0gICAgLTB4MS5lNWJmYTY1MWU5YzgzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTcKLSAgICAtMHgxLmU5ZDI1ZDE5OTExZTIwNWI2NTM1MjFmNDJiOWI4NjRmcC0xLAotICAgIDB4MS4xYWFmY2JhZmM4NWY3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTgKLSAgICAweDEuZTlkMjVkMTk5MTFlMjA1YjY1MzUyMWY0MmI5Yjg2NGZwLTEsCi0gICAgLTB4MS4xYWFmY2JhZmM4NWY3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTkKLSAgICAtMHgxLmU0ZWNkYzVhNGU0NjU4OTk5MjhlYjlmYzk1ODI5ZDQ4cC0xLAotICAgIDB4MS40MjdmYzQzNjliZGFkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjAKLSAgICAweDEuZTRlY2RjNWE0ZTQ2NTg5OTkyOGViOWZjOTU4MjlkNDhwLTEsCi0gICAgLTB4MS40MjdmYzQzNjliZGFkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjEKLSAgICAtMHgxLjJhNTlmMTAzNDQyNjE5N2ZhNmVlZTIyNzYyOTY3ZjI1cC0xLAotICAgIDB4MS42YTRmYmNiZDZmNTYycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjIKLSAgICAweDEuMmE1OWYxMDM0NDI2MTk3ZmE2ZWVlMjI3NjI5NjdmMjVwLTEsCi0gICAgLTB4MS42YTRmYmNiZDZmNTYycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjMKLSAgICAtMHgxLjI2MzEyNDQzYmQzNWYxOTMxMmVhYzBhMWE2YjU2NTllcC0xLAotICAgIDB4MS42YWYyZWZmMGEyODk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjQKLSAgICAweDEuMjYzMTI0NDNiZDM1ZjE5MzEyZWFjMGExYTZiNTY1OWVwLTEsCi0gICAgLTB4MS42YWYyZWZmMGEyODk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjUKLSAgICAtMHgxLmUxOGU2NjBhNWUyZmIzMTZlY2JiOWVkNzAxMjJlZmY1cC0xLAotICAgIDB4MS40M2M2MmE5ZDAyNDE0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjYKLSAgICAweDEuZTE4ZTY2MGE1ZTJmYjMxNmVjYmI5ZWQ3MDEyMmVmZjVwLTEsCi0gICAgLTB4MS40M2M2MmE5ZDAyNDE0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjcKLSAgICAtMHgxLmVlMGU4M2EwMTk4YjZlMmVmN2M0OGU2NjI1MjkxYTBhcC0xLAotICAgIDB4MS4xYzk5NjU0OTYxZjkycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAweDEuZWUwZTgzYTAxOThiNmUyZWY3YzQ4ZTY2MjUyOTFhMGFwLTEsCi0gICAgLTB4MS4xYzk5NjU0OTYxZjkycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjkKLSAgICAtMHgxLjQ3Mjc3NDczMzhlNDY1MzYxNmVhZGJkN2VjM2QwMmQzcC0xLAotICAgIDB4MS5lYWQ5M2ZlYjgzNjFmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzAKLSAgICAweDEuNDcyNzc0NzMzOGU0NjUzNjE2ZWFkYmQ3ZWMzZDAyZDNwLTEsCi0gICAgLTB4MS5lYWQ5M2ZlYjgzNjFmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzEKLSAgICAtMHgxLjRiYTJmNzVkZGE1ZmU0MzQzMjA5MDVhNzE4NGZmMWFmcC00LAotICAgIDB4MS45YzdmYjU0NDQyZDFhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzIKLSAgICAweDEuNGJhMmY3NWRkYTVmZTQzNDMyMDkwNWE3MTg0ZmYxYWZwLTQsCi0gICAgLTB4MS45YzdmYjU0NDQyZDFhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzMKLSAgICAweDEuMDM0YzRkNjMzYjRlZjBhOTA4OWI0Mzg5MmE0NjJhMjZwLTEsCi0gICAgMHgxLjRlMjYyYTlkMDI0MTVwMQotICB9LAotICB7IC8vIEVudHJ5IDY3NAotICAgIC0weDEuMDM0YzRkNjMzYjRlZjBhOTA4OWI0Mzg5MmE0NjJhMjZwLTEsCi0gICAgLTB4MS40ZTI2MmE5ZDAyNDE1cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzUKLSAgICAweDEuZDFlNGNkZTJmMzk0NGY0YzEzNGMwNWNjNGU1MzM5YTNwLTEsCi0gICAgMHgxLmZmOTkzZmViODM2MjBwMAotICB9LAotICB7IC8vIEVudHJ5IDY3NgotICAgIC0weDEuZDFlNGNkZTJmMzk0NGY0YzEzNGMwNWNjNGU1MzM5YTNwLTEsCi0gICAgLTB4MS5mZjk5M2ZlYjgzNjIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzcKLSAgICAweDEuZjc1MDIzNWM5NDk5MjZjNDhjOTBlNDFhOTE0NzRjMDZwLTEsCi0gICAgMHgxLjYyZTYyYTlkMDI0MTZwMAotICB9LAotICB7IC8vIEVudHJ5IDY3OAotICAgIC0weDEuZjc1MDIzNWM5NDk5MjZjNDhjOTBlNDFhOTE0NzRjMDZwLTEsCi0gICAgLTB4MS42MmU2MmE5ZDAyNDE2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzkKLSAgICAweDEuNjVmN2Q1NzEyNzliMGI4MDA1NTUyZmQ0N2EyZTc3YWVwLTEsCi0gICAgMHgxLjhjNjYyYTlkMDI0MTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODAKLSAgICAtMHgxLjY1ZjdkNTcxMjc5YjBiODAwNTU1MmZkNDdhMmU3N2FlcC0xLAotICAgIC0weDEuOGM2NjJhOWQwMjQxOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4MQotICAgIC0weDEuZmUwNDNmNTczNjlkNmE1MmZhMzNmMDExOWVjNGRhMTlwLTEsCi0gICAgLTB4MS5hOGFhMWQxMWM0NGZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODIKLSAgICAweDEuZmUwNDNmNTczNjlkNmE1MmZhMzNmMDExOWVjNGRhMTlwLTEsCi0gICAgMHgxLmE4YWExZDExYzQ0ZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDY4MwotICAgIC0weDEuZmZmMThmMjRmM2U0Yjg3YmY4YzM3NjJjYjQ0ZjQ2ZDZwLTEsCi0gICAgLTB4MS45NWVjOGI5ZTAzZDU0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODQKLSAgICAweDEuZmZmMThmMjRmM2U0Yjg3YmY4YzM3NjJjYjQ0ZjQ2ZDZwLTEsCi0gICAgMHgxLjk1ZWM4YjllMDNkNTRwMAotICB9LAotICB7IC8vIEVudHJ5IDY4NQotICAgIC0weDEuZmYyMGQ5NjE2MjRlNzA2M2E3ODIwM2I4MTFmNTc5Y2FwLTEsCi0gICAgLTB4MS44MzJlZmEyYTQzNWE5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODYKLSAgICAweDEuZmYyMGQ5NjE2MjRlNzA2M2E3ODIwM2I4MTFmNTc5Y2FwLTEsCi0gICAgMHgxLjgzMmVmYTJhNDM1YTlwMAotICB9LAotICB7IC8vIEVudHJ5IDY4NwotICAgIC0weDEuZmI5MzNjNDAxMDdmZDc3NTE4NWFjMTQ5MThjOGZiYWZwLTEsCi0gICAgLTB4MS43MDcxNjhiNjgyZGZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODgKLSAgICAweDEuZmI5MzNjNDAxMDdmZDc3NTE4NWFjMTQ5MThjOGZiYWZwLTEsCi0gICAgMHgxLjcwNzE2OGI2ODJkZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDY4OQotICAgIC0weDEuZjU0ZDk3MTg4MWFkNjg1Yjc4MmVmODhlNjM1MGY3Y2RwLTEsCi0gICAgLTB4MS41ZGIzZDc0MmMyNjUzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTAKLSAgICAweDEuZjU0ZDk3MTg4MWFkNjg1Yjc4MmVmODhlNjM1MGY3Y2RwLTEsCi0gICAgMHgxLjVkYjNkNzQyYzI2NTNwMAotICB9LAotICB7IC8vIEVudHJ5IDY5MQotICAgIC0weDEuZWM1ODgzYjdiNmNmNGQ4NTlhYjA0ZTE1ZDUzNjk4YzlwLTEsCi0gICAgLTB4MS40YWY2NDVjZjAxZWE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTIKLSAgICAweDEuZWM1ODgzYjdiNmNmNGQ4NTlhYjA0ZTE1ZDUzNjk4YzlwLTEsCi0gICAgMHgxLjRhZjY0NWNmMDFlYThwMAotICB9LAotICB7IC8vIEVudHJ5IDY5MwotICAgIC0weDEuZTBjMDRhOTRlMTczMDljODA2YzFjNzhiZGRjMWQ2MDdwLTEsCi0gICAgLTB4MS4zODM4YjQ1YjQxNmZkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTQKLSAgICAweDEuZTBjMDRhOTRlMTczMDljODA2YzFjNzhiZGRjMWQ2MDdwLTEsCi0gICAgMHgxLjM4MzhiNDViNDE2ZmRwMAotICB9LAotICB7IC8vIEVudHJ5IDY5NQotICAgIC0weDEuZDI5NGQxZjk2YzdlYmRiOTg2OWRkOTdjZjU3NGRkYjlwLTEsCi0gICAgLTB4MS4yNTdiMjJlNzgwZjUycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTYKLSAgICAweDEuZDI5NGQxZjk2YzdlYmRiOTg2OWRkOTdjZjU3NGRkYjlwLTEsCi0gICAgMHgxLjI1N2IyMmU3ODBmNTJwMAotICB9LAotICB7IC8vIEVudHJ5IDY5NwotICAgIC0weDEuYzFlOTg4MzM3M2Q3ZWNjNDhjOTJkYzg4NzU1MDVmN2VwLTEsCi0gICAgLTB4MS4xMmJkOTE3M2MwN2FicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTgKLSAgICAweDEuYzFlOTg4MzM3M2Q3ZWNjNDhjOTJkYzg4NzU1MDVmN2VwLTEsCi0gICAgMHgxLjEyYmQ5MTczYzA3YWJwMAotICB9LAotICB7IC8vIEVudHJ5IDY5OQotICAgIC0weDEuYTJjMjg5ZDlkMDU1YWMzNzdmNjdkN2E1NGEwYjMwMDVwLTEsCi0gICAgLTB4MS5lYTVjM2VkNWIzODUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAwCi0gICAgMHgxLmEyYzI4OWQ5ZDA1NWFjMzc3ZjY3ZDdhNTRhMGIzMDA1cC0xLAotICAgIDB4MS5lYTVjM2VkNWIzODUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAxCi0gICAgLTB4MS45NWYwNTI1N2RiY2I1ZjRiMTI2MzZjNTg3OGVhNDA1YXAtMSwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDIKLSAgICAweDEuOTVmMDUyNTdkYmNiNWY0YjEyNjM2YzU4NzhlYTQwNWFwLTEsCi0gICAgMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDMKLSAgICAtMHgxLjg4NjQ3ZjI2YTZlMGY2YjI3MTVhNmMzNzk3ZWMxMWY1cC0xLAotICAgIC0weDEuYmYxNGJjODExYThmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcwNAotICAgIDB4MS44ODY0N2YyNmE2ZTBmNmIyNzE1YTZjMzc5N2VjMTFmNXAtMSwKLSAgICAweDEuYmYxNGJjODExYThmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcwNQotICAgIC0weDEuN2EyNTQxZGZkNGU3NTJkZTM4ZjA0YWJhMjFmYzlkOWZwLTEsCi0gICAgLTB4MS5hOTcwZmI1NmNlMTQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA2Ci0gICAgMHgxLjdhMjU0MWRmZDRlNzUyZGUzOGYwNGFiYTIxZmM5ZDlmcC0xLAotICAgIDB4MS5hOTcwZmI1NmNlMTQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA3Ci0gICAgLTB4MS42YjM5MWUyNWJjMjZjYmJjZjdhMDE4NDA3MGFmOWMzOXAtMSwKLSAgICAtMHgxLjkzY2QzYTJjODE5OTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDgKLSAgICAweDEuNmIzOTFlMjViYzI2Y2JiY2Y3YTAxODQwNzBhZjljMzlwLTEsCi0gICAgMHgxLjkzY2QzYTJjODE5OTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDkKLSAgICAtMHgxLjViYTZlNmE4ZTcwNjUzNWI5OGZjOTlkZmFlZjgyNGYxcC0xLAotICAgIC0weDEuN2UyOTc5MDIzNTFlMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxMAotICAgIDB4MS41YmE2ZTZhOGU3MDY1MzViOThmYzk5ZGZhZWY4MjRmMXAtMSwKLSAgICAweDEuN2UyOTc5MDIzNTFlMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxMQotICAgIC0weDEuNGI3NWJhMDk2ZmE1NDllYjkzNTk1ZDgxOTRhYjkxN2ZwLTEsCi0gICAgLTB4MS42ODg1YjdkN2U4YTMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEyCi0gICAgMHgxLjRiNzViYTA5NmZhNTQ5ZWI5MzU5NWQ4MTk0YWI5MTdmcC0xLAotICAgIDB4MS42ODg1YjdkN2U4YTMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEzCi0gICAgLTB4MS4zYWFjZmY5NWEzMTIyYjE1ZjM3MmJmZDJmZGY5YTc1ZnAtMSwKLSAgICAtMHgxLjUyZTFmNmFkOWMyODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTQKLSAgICAweDEuM2FhY2ZmOTVhMzEyMmIxNWYzNzJiZmQyZmRmOWE3NWZwLTEsCi0gICAgMHgxLjUyZTFmNmFkOWMyODBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTUKLSAgICAtMHgxLjI5NTQ2M2U3NjkyODRhNWFlZDE3YTQ0MzM5MmYzOGYzcC0xLAotICAgIC0weDEuM2QzZTM1ODM0ZmFkMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxNgotICAgIDB4MS4yOTU0NjNlNzY5Mjg0YTVhZWQxN2E0NDMzOTJmMzhmM3AtMSwKLSAgICAweDEuM2QzZTM1ODM0ZmFkMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxNwotICAgIC0weDEuZmM3NjliNzdlNTg4NDk1YTZmNjQyY2EyNGU0ZWQzZmNwLTIsCi0gICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE4Ci0gICAgMHgxLmZjNzY5Yjc3ZTU4ODQ5NWE2ZjY0MmNhMjRlNGVkM2ZjcC0yLAotICAgIDB4MS4wYTBiMDI1MDFjNzk5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE5Ci0gICAgLTB4MS5jODUzYzc4NDYyZGU0NmI1NzQzMzE1NjEyZjhiNWE3Y3AtMiwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjAKLSAgICAweDEuYzg1M2M3ODQ2MmRlNDZiNTc0MzMxNTYxMmY4YjVhN2NwLTIsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjEKLSAgICAtMHgxLjkyYWJhOTBhYWYyNzI0OWRlNDljNzhmYzY0M2M4YjcycC0yLAotICAgIC0weDEuOWRkODNjN2M5ZTEyNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDcyMgotICAgIDB4MS45MmFiYTkwYWFmMjcyNDlkZTQ5Yzc4ZmM2NDNjOGI3MnAtMiwKLSAgICAweDEuOWRkODNjN2M5ZTEyNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDcyMwotICAgIC0weDEuNWJhYzA2NDY1OGYzOTQ2MGM4MzExM2MwYTAwOTdhMGNwLTIsCi0gICAgLTB4MS42MmI5NTg2YWQwYTIwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI0Ci0gICAgMHgxLjViYWMwNjQ2NThmMzk0NjBjODMxMTNjMGEwMDk3YTBjcC0yLAotICAgIDB4MS42MmI5NTg2YWQwYTIwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI1Ci0gICAgLTB4MS4yMzgzY2E4MDc4ZTU4NDc3Y2Q1ZmIxZDlkZTAzMWRjZXAtMiwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjYKLSAgICAweDEuMjM4M2NhODA3OGU1ODQ3N2NkNWZiMWQ5ZGUwMzFkY2VwLTIsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjcKLSAgICAtMHgxLmQ0YzViYzExZDIzNzFhZjJmZTI1ZWY1ZWRlMjc2NmEzcC0zLAotICAgIC0weDEuZDhmNzIwOGU2YjgyOXAtMwotICB9LAotICB7IC8vIEVudHJ5IDcyOAotICAgIDB4MS5kNGM1YmMxMWQyMzcxYWYyZmUyNWVmNWVkZTI3NjZhM3AtMywKLSAgICAweDEuZDhmNzIwOGU2YjgyOXAtMwotICB9LAotICB7IC8vIEVudHJ5IDcyOQotICAgIC0weDEuNjBmM2ZhYWY0MzAyM2QzYzc4NjNhZTA2ZDRkNTk3NzRwLTMsCi0gICAgLTB4MS42MmI5NTg2YWQwYTFlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMwCi0gICAgMHgxLjYwZjNmYWFmNDMwMjNkM2M3ODYzYWUwNmQ0ZDU5Nzc0cC0zLAotICAgIDB4MS42MmI5NTg2YWQwYTFlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMxCi0gICAgLTB4MS5kN2VhM2RlNDVhOWQ2NTYzYWMwMDVjMGM1YmFkOGM1MHAtNCwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzIKLSAgICAweDEuZDdlYTNkZTQ1YTlkNjU2M2FjMDA1YzBjNWJhZDhjNTBwLTQsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MjZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzMKLSAgICAtMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAotICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNQotICB9LAotICB7IC8vIEVudHJ5IDczNAotICAgIDB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtNQotICB9LAotICB7IC8vIEVudHJ5IDczNQotICAgIDB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtNQotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIC0weDEuZDhiM2RmNDg5OTg3YTZmZTBlZWFkMDA4ZTcyMGFhMjJwLTUsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzM3Ci0gICAgMHgxLmQ3ZWEzZGU0NWE5ZGQ0YTRiY2NkMWE4YzA0OGZhZjRjcC00LAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzM4Ci0gICAgLTB4MS5kN2VhM2RlNDVhOWRkNGE0YmNjZDFhOGMwNDhmYWY0Y3AtNCwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzkKLSAgICAweDEuNjBmM2ZhYWY0MzAyN2M0NzUyZjU2NGY5ZDA4MThmZThwLTMsCi0gICAgMHgxLjYyYjk1ODZhZDBhMjJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDAKLSAgICAtMHgxLjYwZjNmYWFmNDMwMjdjNDc1MmY1NjRmOWQwODE4ZmU4cC0zLAotICAgIC0weDEuNjJiOTU4NmFkMGEyMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDc0MQotICAgIDB4MS5kNGM1YmMxMWQyMzc1OTQwMDY0MmU1YTFlZmRjMGY4NXAtMywKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtMwotICB9LAotICB7IC8vIEVudHJ5IDc0MgotICAgIC0weDEuZDRjNWJjMTFkMjM3NTk0MDA2NDJlNWExZWZkYzBmODVwLTMsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODJkcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQzCi0gICAgMHgxLjIzODNjYTgwNzhlNWEzMjRkNTJjMTUzMDc0MmNkNGY1cC0yLAotICAgIDB4MS4yNzlhNzQ1OTAzMzFjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ0Ci0gICAgLTB4MS4yMzgzY2E4MDc4ZTVhMzI0ZDUyYzE1MzA3NDJjZDRmNXAtMiwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDUKLSAgICAweDEuNWJhYzA2NDY1OGYzYjI3YTI4NTcyYmVhMjU2MTk1ZWZwLTIsCi0gICAgMHgxLjYyYjk1ODZhZDBhMjJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDYKLSAgICAtMHgxLjViYWMwNjQ2NThmM2IyN2EyODU3MmJlYTI1NjE5NWVmcC0yLAotICAgIC0weDEuNjJiOTU4NmFkMGEyMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDc0NwotICAgIDB4MS45MmFiYTkwYWFmMjc0MjA5ZWZhZWQwOGUzNDA3MWUzYnAtMiwKLSAgICAweDEuOWRkODNjN2M5ZTEyOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDc0OAotICAgIC0weDEuOTJhYmE5MGFhZjI3NDIwOWVmYWVkMDhlMzQwNzFlM2JwLTIsCi0gICAgLTB4MS45ZGQ4M2M3YzllMTI4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ5Ci0gICAgMHgxLmM4NTNjNzg0NjJkZTYzNWIxMGEyYjkzYWZkNzVkYTI2cC0yLAotICAgIDB4MS5kOGY3MjA4ZTZiODJlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUwCi0gICAgLTB4MS5jODUzYzc4NDYyZGU2MzViMTBhMmI5M2FmZDc1ZGEyNnAtMiwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTEKLSAgICAweDEuZmM3NjliNzdlNTg4NDk1YTZmNjQyY2EyNGU0ZWQzZmNwLTIsCi0gICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTIKLSAgICAtMHgxLmZjNzY5Yjc3ZTU4ODQ5NWE2ZjY0MmNhMjRlNGVkM2ZjcC0yLAotICAgIC0weDEuMGEwYjAyNTAxYzc5OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDc1MwotICAgIDB4MS4yOTU0NjNlNzY5MjgxNjQwYWUwMjZmNTBmYzQ1ZTMwMXAtMSwKLSAgICAweDEuM2QzZTM1ODM0ZmFjY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc1NAotICAgIC0weDEuMjk1NDYzZTc2OTI4MTY0MGFlMDI2ZjUwZmM0NWUzMDFwLTEsCi0gICAgLTB4MS4zZDNlMzU4MzRmYWNjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU1Ci0gICAgMHgxLjNhYWNmZjk1YTMxMWY4OTlhMGUyNzk1MzVlODFjNGVjcC0xLAotICAgIDB4MS41MmUxZjZhZDljMjdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU2Ci0gICAgLTB4MS4zYWFjZmY5NWEzMTFmODk5YTBlMjc5NTM1ZTgxYzRlY3AtMSwKLSAgICAtMHgxLjUyZTFmNmFkOWMyN2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTcKLSAgICAweDEuNGI3NWJhMDk2ZmE1MTkyNDQyYjc5NTBmOTYwZjgwMDZwLTEsCi0gICAgMHgxLjY4ODViN2Q3ZThhMmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTgKLSAgICAtMHgxLjRiNzViYTA5NmZhNTE5MjQ0MmI3OTUwZjk2MGY4MDA2cC0xLAotICAgIC0weDEuNjg4NWI3ZDdlOGEyY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc1OQotICAgIDB4MS41YmE2ZTZhOGU3MDYyNDVmOTdlMjhhZjNkZGI3MDBmNnAtMSwKLSAgICAweDEuN2UyOTc5MDIzNTFkY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc2MAotICAgIC0weDEuNWJhNmU2YThlNzA2MjQ1Zjk3ZTI4YWYzZGRiNzAwZjZwLTEsCi0gICAgLTB4MS43ZTI5NzkwMjM1MWRjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYxCi0gICAgMHgxLjZiMzkxZTI1YmMyNjllYTFjMWE0MGRlNjJmYmMwM2I0cC0xLAotICAgIDB4MS45M2NkM2EyYzgxOThjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYyCi0gICAgLTB4MS42YjM5MWUyNWJjMjY5ZWExYzFhNDBkZTYyZmJjMDNiNHAtMSwKLSAgICAtMHgxLjkzY2QzYTJjODE5OGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjMKLSAgICAweDEuN2EyNTQxZGZkNGU3MjdiODZkZDMwOTY2NDE4NmVjNmJwLTEsCi0gICAgMHgxLmE5NzBmYjU2Y2UxM2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjQKLSAgICAtMHgxLjdhMjU0MWRmZDRlNzI3Yjg2ZGQzMDk2NjQxODZlYzZicC0xLAotICAgIC0weDEuYTk3MGZiNTZjZTEzY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc2NQotICAgIDB4MS44ODY0N2YyNmE2ZTBjZDk1Y2I5OTFmN2ZmZTYxYTAyZXAtMSwKLSAgICAweDEuYmYxNGJjODExYThlY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc2NgotICAgIC0weDEuODg2NDdmMjZhNmUwY2Q5NWNiOTkxZjdmZmU2MWEwMmVwLTEsCi0gICAgLTB4MS5iZjE0YmM4MTFhOGVjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY3Ci0gICAgMHgxLjk1ZjA1MjU3ZGJjYjM4NGE1ZTMyNjg1NzM3NmRkODAxcC0xLAotICAgIDB4MS5kNGI4N2RhYjY3MDljcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY4Ci0gICAgLTB4MS45NWYwNTI1N2RiY2IzODRhNWUzMjY4NTczNzZkZDgwMXAtMSwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjkKLSAgICAweDEuYTJjMjg5ZDlkMDU1ODc2NDkyMWE0ZGUzNTVmOTQ0OGNwLTEsCi0gICAgMHgxLmVhNWMzZWQ1YjM4NGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzAKLSAgICAtMHgxLmEyYzI4OWQ5ZDA1NTg3NjQ5MjFhNGRlMzU1Zjk0NDhjcC0xLAotICAgIC0weDEuZWE1YzNlZDViMzg0Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDc3MQotICAgIDB4MS5jMWU5ODgzMzczZDdlY2M0OGM5MmRjODg3NTUwNWY3ZXAtMSwKLSAgICAweDEuMTJiZDkxNzNjMDdhYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcyCi0gICAgLTB4MS5jMWU5ODgzMzczZDdlY2M0OGM5MmRjODg3NTUwNWY3ZXAtMSwKLSAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMAotICB9LAotICB7IC8vIEVudHJ5IDc3MwotICAgIDB4MS5kMjk0ZDFmOTZjN2VmMjZlMjAzYzViMzA5YTU1NjcxZnAtMSwKLSAgICAweDEuMjU3YjIyZTc4MGY1NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc0Ci0gICAgLTB4MS5kMjk0ZDFmOTZjN2VmMjZlMjAzYzViMzA5YTU1NjcxZnAtMSwKLSAgICAtMHgxLjI1N2IyMmU3ODBmNTZwMAotICB9LAotICB7IC8vIEVudHJ5IDc3NQotICAgIDB4MS5lMGMwNGE5NGUxNzMzNWQwNzMwNTJhMDM5NGI5ZTFjM3AtMSwKLSAgICAweDEuMzgzOGI0NWI0MTcwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc2Ci0gICAgLTB4MS5lMGMwNGE5NGUxNzMzNWQwNzMwNTJhMDM5NGI5ZTFjM3AtMSwKLSAgICAtMHgxLjM4MzhiNDViNDE3MDFwMAotICB9LAotICB7IC8vIEVudHJ5IDc3NwotICAgIDB4MS5lYzU4ODNiN2I2Y2Y3MGE1NzdkZDkxNjBkMGY4ZTlkNXAtMSwKLSAgICAweDEuNGFmNjQ1Y2YwMWVhY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc4Ci0gICAgLTB4MS5lYzU4ODNiN2I2Y2Y3MGE1NzdkZDkxNjBkMGY4ZTlkNXAtMSwKLSAgICAtMHgxLjRhZjY0NWNmMDFlYWNwMAotICB9LAotICB7IC8vIEVudHJ5IDc3OQotICAgIDB4MS5mNTRkOTcxODgxYWQ4MjYyOWJkODRkMjE0MTk0ZThkZHAtMSwKLSAgICAweDEuNWRiM2Q3NDJjMjY1N3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgwCi0gICAgLTB4MS5mNTRkOTcxODgxYWQ4MjYyOWJkODRkMjE0MTk0ZThkZHAtMSwKLSAgICAtMHgxLjVkYjNkNzQyYzI2NTdwMAotICB9LAotICB7IC8vIEVudHJ5IDc4MQotICAgIDB4MS5mYjkzM2M0MDEwN2ZlODNmZDE2YzE3ODllMjdmNjlmN3AtMSwKLSAgICAweDEuNzA3MTY4YjY4MmUwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgyCi0gICAgLTB4MS5mYjkzM2M0MDEwN2ZlODNmZDE2YzE3ODllMjdmNjlmN3AtMSwKLSAgICAtMHgxLjcwNzE2OGI2ODJlMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDc4MwotICAgIDB4MS5mZjIwZDk2MTYyNGU3N2RhZWYzMjliNDAyOWMzNjJkZXAtMSwKLSAgICAweDEuODMyZWZhMmE0MzVhZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg0Ci0gICAgLTB4MS5mZjIwZDk2MTYyNGU3N2RhZWYzMjliNDAyOWMzNjJkZXAtMSwKLSAgICAtMHgxLjgzMmVmYTJhNDM1YWRwMAotICB9LAotICB7IC8vIEVudHJ5IDc4NQotICAgIDB4MS5mZmYxOGYyNGYzZTRiNjk1OTIyOTRmMjA2ZDdiMzJjMnAtMSwKLSAgICAweDEuOTVlYzhiOWUwM2Q1OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg2Ci0gICAgLTB4MS5mZmYxOGYyNGYzZTRiNjk1OTIyOTRmMjA2ZDdiMzJjMnAtMSwKLSAgICAtMHgxLjk1ZWM4YjllMDNkNThwMAotICB9LAotICB7IC8vIEVudHJ5IDc4NwotICAgIDB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKLSAgICAweDEuYThhYTFkMTFjNDRmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg4Ci0gICAgLTB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKLSAgICAtMHgxLmE4YWExZDExYzQ0ZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDc4OQotICAgIDB4MS5iM2QzNjk1YWNjNDEzNmIyZDQ0NzE0ZjliMzg0MTliNHAtMSwKLSAgICAweDEuMDRhZmY2ZDMzMDk0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkwCi0gICAgLTB4MS5iM2QzNjk1YWNjNDEzNmIyZDQ0NzE0ZjliMzg0MTliNHAtMSwKLSAgICAtMHgxLjA0YWZmNmQzMzA5NDJwMAotICB9LAotICB7IC8vIEVudHJ5IDc5MQotICAgIDB4MS5iM2Q0MTk3MmRjODA2Mzk5NGY2MzQxM2Q1ZTRkOGU0YnAtMSwKLSAgICAweDEuMDRiMDllOThkY2RiNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkyCi0gICAgLTB4MS5iM2Q0MTk3MmRjODA2Mzk5NGY2MzQxM2Q1ZTRkOGU0YnAtMSwKLSAgICAtMHgxLjA0YjA5ZTk4ZGNkYjRwMAotICB9LAotICB7IC8vIEVudHJ5IDc5MwotICAgIDB4MS5iM2Q0Yzk4YTMxOGZiNjZmODIxZDcyODZhZTdkY2U3YnAtMSwKLSAgICAweDEuMDRiMTQ2NWU4OTIyNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk0Ci0gICAgLTB4MS5iM2Q0Yzk4YTMxOGZiNjZmODIxZDcyODZhZTdkY2U3YnAtMSwKLSAgICAtMHgxLjA0YjE0NjVlODkyMjZwMAotICB9LAotICB7IC8vIEVudHJ5IDc5NQotICAgIDB4MS5iM2Q1NzlhMGNiNmVlMzkzZmY3NWI1OGZmZTE2ZDEzZnAtMSwKLSAgICAweDEuMDRiMWVlMjQzNTY5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk2Ci0gICAgLTB4MS5iM2Q1NzlhMGNiNmVlMzkzZmY3NWI1OGZmZTE2ZDEzZnAtMSwKLSAgICAtMHgxLjA0YjFlZTI0MzU2OThwMAotICB9LAotICB7IC8vIEVudHJ5IDc5NwotICAgIDB4MS5iM2Q2MjliNmFhMWQ5ZjY1YWFkMWEyZmM5MzJjOGJjYnAtMSwKLSAgICAweDEuMDRiMjk1ZTllMWIwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk4Ci0gICAgLTB4MS5iM2Q2MjliNmFhMWQ5ZjY1YWFkMWEyZmM5MzJjOGJjYnAtMSwKLSAgICAtMHgxLjA0YjI5NWU5ZTFiMGFwMAotICB9LAotICB7IC8vIEVudHJ5IDc5OQotICAgIDB4MS5iM2Q2ZDljYmNkOWI5ZTQzYjdmYzdmZDQyOGE0NGRkOHAtMSwKLSAgICAweDEuMDRiMzNkYWY4ZGY3Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODAwCi0gICAgLTB4MS5iM2Q2ZDljYmNkOWI5ZTQzYjdmYzdmZDQyOGE0NGRkOHAtMSwKLSAgICAtMHgxLjA0YjMzZGFmOGRmN2NwMAotICB9LAotICB7IC8vIEVudHJ5IDgwMQotICAgIDB4MS5iM2Q3ODllMDM1ZTg5NDhkYWIyNzVkZmU1NDZjNWIwOHAtMSwKLSAgICAweDEuMDRiM2U1NzUzYTNlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODAyCi0gICAgLTB4MS5iM2Q3ODllMDM1ZTg5NDhkYWIyNzVkZmU1NDZjNWIwOHAtMSwKLSAgICAtMHgxLjA0YjNlNTc1M2EzZWVwMAotICB9LAotICB7IC8vIEVudHJ5IDgwMwotICAgIDB4MS5iM2Q4MzlmM2UzMDQzNmEzNThlOTNjYmRjYjJiYjM2N3AtMSwKLSAgICAweDEuMDRiNDhkM2FlNjg2MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODA0Ci0gICAgLTB4MS5iM2Q4MzlmM2UzMDQzNmEzNThlOTNjYmRjYjJiYjM2N3AtMSwKLSAgICAtMHgxLjA0YjQ4ZDNhZTY4NjBwMAotICB9LAotICB7IC8vIEVudHJ5IDgwNQotICAgIDB4MS5iM2Q4ZWEwNmQ0ZWUwNjg0ZjU3NDFlYzc3N2VkODhlMHAtMSwKLSAgICAweDEuMDRiNTM1MDA5MmNjZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODA2Ci0gICAgLTB4MS5iM2Q4ZWEwNmQ0ZWUwNjg0ZjU3NDFlYzc3N2VkODhlMHAtMSwKLSAgICAtMHgxLjA0YjUzNTAwOTJjY2ZwMAotICB9LAotICB7IC8vIEVudHJ5IDgwNwotICAgIC0wLjAsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODA4Ci0gICAgMC4wLAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODA5Ci0gICAgLTAuMCwKLSAgICAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgODEwCi0gICAgMC4wLAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODExCi0gICAgLTAuMCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTIKLSAgICAweDEuMTc3M2Q1NjFmZDUwNjVkMGU5NjA3YTcyOGEzOWVlZDJwLTEsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTMKLSAgICAtMHgxLjE3NzNkNTYxZmQ1MDY1ZDBlOTYwN2E3MjhhMzllZWQycC0xLAotICAgIC0weDEuMjc5YTc0NTkwMzMxYnAtMQotICB9LAotICB7IC8vIEVudHJ5IDgxNAotICAgIDB4MS4xNzczZDU2MWZkNTA3MzM4ZmY5YzA4OGQ4MGM2ODBkYnAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDgxNQotICAgIC0weDEuMTc3M2Q1NjFmZDUwNzMzOGZmOWMwODhkODBjNjgwZGJwLTEsCi0gICAgLTB4MS4yNzlhNzQ1OTAzMzFjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODE2Ci0gICAgMHgxLjE3NzNkNTYxZmQ1MDgwYTExNWQ3OTZhODc3MGQzNWVmcC0xLAotICAgIDB4MS4yNzlhNzQ1OTAzMzFkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODE3Ci0gICAgLTB4MS4xNzczZDU2MWZkNTA4MGExMTVkNzk2YTg3NzBkMzVlZnAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTgKLSAgICAweDEuZjk1YjhlNzEwNzQxOGMxMWM5NGQ0YTU0YTlkYTliN2FwLTEsCi0gICAgMHgxLmJiNjdhZTg1ODRjYTlwMAotICB9LAotICB7IC8vIEVudHJ5IDgxOQotICAgIC0weDEuZjk1YjhlNzEwNzQxOGMxMWM5NGQ0YTU0YTlkYTliN2FwLTEsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2E5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjAKLSAgICAweDEuZjk1YjhlNzEwNzQxODZlZTgxZDVmZjg5ZDhmYWU1NDVwLTEsCi0gICAgMHgxLmJiNjdhZTg1ODRjYWFwMAotICB9LAotICB7IC8vIEVudHJ5IDgyMQotICAgIC0weDEuZjk1YjhlNzEwNzQxODZlZTgxZDVmZjg5ZDhmYWU1NDVwLTEsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2FhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjIKLSAgICAweDEuZjk1YjhlNzEwNzQxODFjYjNhNWViNGJmMDYyMWQzODFwLTEsCi0gICAgMHgxLmJiNjdhZTg1ODRjYWJwMAotICB9LAotICB7IC8vIEVudHJ5IDgyMwotICAgIC0weDEuZjk1YjhlNzEwNzQxODFjYjNhNWViNGJmMDYyMWQzODFwLTEsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjQKLSAgICAweDEuYjFkODMwNTMyMTYxNWFjOTM4Y2ZmMDJiZTlmMjUwODVwLTIsCi0gICAgMHgxLmJmZmZmZmZmZmZmZmZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjUKLSAgICAtMHgxLmIxZDgzMDUzMjE2MTVhYzkzOGNmZjAyYmU5ZjI1MDg1cC0yLAotICAgIC0weDEuYmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDgyNgotICAgIDB4MS5iMWQ4MzA1MzIxNjE2OTQ3NmY0ZDE5ODJiOWIxNGFiMXAtMiwKLSAgICAweDEuY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDgyNwotICAgIC0weDEuYjFkODMwNTMyMTYxNjk0NzZmNGQxOTgyYjliMTRhYjFwLTIsCi0gICAgLTB4MS5jcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODI4Ci0gICAgMHgxLmIxZDgzMDUzMjE2MTc3YzVhNWNhNDJkOTg5NTUyNzVhcC0yLAotICAgIDB4MS5jMDAwMDAwMDAwMDAxcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODI5Ci0gICAgLTB4MS5iMWQ4MzA1MzIxNjE3N2M1YTVjYTQyZDk4OTU1Mjc1YXAtMiwKLSAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzAKLSAgICAweDEuNDRlYjM4MWNmMzg2OWVhNzFjY2IzNjg2M2U0ZWE2NWJwLTEsCi0gICAgMHgxLjVmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzEKLSAgICAtMHgxLjQ0ZWIzODFjZjM4NjllYTcxY2NiMzY4NjNlNGVhNjVicC0xLAotICAgIC0weDEuNWZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDgzMgotICAgIDB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKLSAgICAweDEuNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDgzMwotICAgIC0weDEuNDRlYjM4MWNmMzg2YWIwNGE0Zjg2NTZhYmVhODBiODNwLTEsCi0gICAgLTB4MS42cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODM0Ci0gICAgMHgxLjQ0ZWIzODFjZjM4NmI3NjIyZDI1OTQ0ZjNlYjAzNWRjcC0xLAotICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODM1Ci0gICAgLTB4MS40NGViMzgxY2YzODZiNzYyMmQyNTk0NGYzZWIwMzVkY3AtMSwKLSAgICAtMHgxLjYwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzYKLSAgICAweDEuZGFkOTAyZmE4YWM4NjRmZDhhZmEwYmRjNjA5ZGVkMTlwLTEsCi0gICAgMHgxLjJmZmZmZmZmZmZmZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDgzNwotICAgIC0weDEuZGFkOTAyZmE4YWM4NjRmZDhhZmEwYmRjNjA5ZGVkMTlwLTEsCi0gICAgLTB4MS4yZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzgKLSAgICAweDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCi0gICAgMHgxLjNwMAotICB9LAotICB7IC8vIEVudHJ5IDgzOQotICAgIC0weDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCi0gICAgLTB4MS4zcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDAKLSAgICAweDEuZGFkOTAyZmE4YWM4N2NlY2QzM2NmYzk5MmRmZWMxYmVwLTEsCi0gICAgMHgxLjMwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDg0MQotICAgIC0weDEuZGFkOTAyZmE4YWM4N2NlY2QzM2NmYzk5MmRmZWMxYmVwLTEsCi0gICAgLTB4MS4zMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDIKLSAgICAweDEuNGI3MDdhN2FjZGVjZjkwYTE4OGQwMjMwZmFkM2FkNThwLTEsCi0gICAgMHgxLjM3ZmZmZmZmZmZmZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDg0MwotICAgIC0weDEuNGI3MDdhN2FjZGVjZjkwYTE4OGQwMjMwZmFkM2FkNThwLTEsCi0gICAgLTB4MS4zN2ZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDQKLSAgICAweDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCi0gICAgMHgxLjM4MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ1Ci0gICAgLTB4MS40YjcwN2E3YWNkZWNjODQyMzk0NjNlNzhiMzEyZmExMHAtMSwKLSAgICAtMHgxLjM4MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ2Ci0gICAgMHgxLjRiNzA3YTdhY2RlYzk3N2E1OWZmN2FjMDY2MjQ4NGRkcC0xLAotICAgIDB4MS4zODAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDcKLSAgICAtMHgxLjRiNzA3YTdhY2RlYzk3N2E1OWZmN2FjMDY2MjQ4NGRkcC0xLAotICAgIC0weDEuMzgwMDAwMDAwMDAwMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ4Ci0gICAgMHgxLjA2NmU3ZWI3NmY1YzY2NzhmZDgzMjVhODFmMTkyNWM2cC00LAotICAgIDB4MS4wNjljOGI0NmIzNzkycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgODQ5Ci0gICAgLTB4MS4wNjZlN2ViNzZmNWM2Njc4ZmQ4MzI1YTgxZjE5MjVjNnAtNCwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTAKLSAgICAweDEuMDVlNDc2MWFiOGQ4ZjBhN2RiYTgzNDAwMGYyMzY2NTBwLTMsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTEKLSAgICAtMHgxLjA1ZTQ3NjFhYjhkOGYwYTdkYmE4MzQwMDBmMjM2NjUwcC0zLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MnAtMwotICB9LAotICB7IC8vIEVudHJ5IDg1MgotICAgIDB4MS44NzdlMmNkNGY2ZmQ5YmE0OThlMzI3MDUzMDMyNzM0ZnAtMywKLSAgICAweDEuODllYWQwZWEwZDM1YnAtMwotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIC0weDEuODc3ZTJjZDRmNmZkOWJhNDk4ZTMyNzA1MzAzMjczNGZwLTMsCi0gICAgLTB4MS44OWVhZDBlYTBkMzVicC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgODU0Ci0gICAgMHgxLjAzYmUwNmY5N2NiZWU0NzY5ODUzOWY5NzdjYWRiZTdlcC0yLAotICAgIDB4MS4wNjljOGI0NmIzNzkycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODU1Ci0gICAgLTB4MS4wM2JlMDZmOTdjYmVlNDc2OTg1MzlmOTc3Y2FkYmU3ZXAtMiwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTYKLSAgICAweDEuNDJhYmJhOGM3MmZiYjhjYTk2Zjc5YWE0YmIwMzU4NGVwLTIsCi0gICAgMHgxLjQ4NDNhZTE4NjA1NzZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTcKLSAgICAtMHgxLjQyYWJiYThjNzJmYmI4Y2E5NmY3OWFhNGJiMDM1ODRlcC0yLAotICAgIC0weDEuNDg0M2FlMTg2MDU3NnAtMgotICB9LAotICB7IC8vIEVudHJ5IDg1OAotICAgIDB4MS44MDQ1ZmU2NGU2MmRjM2Q2ODZkOTc2ZDdkNWE3YzY4OXAtMiwKLSAgICAweDEuODllYWQwZWEwZDM1YXAtMgotICB9LAotICB7IC8vIEVudHJ5IDg1OQotICAgIC0weDEuODA0NWZlNjRlNjJkYzNkNjg2ZDk3NmQ3ZDVhN2M2ODlwLTIsCi0gICAgLTB4MS44OWVhZDBlYTBkMzVhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODYwCi0gICAgMHgxLmJjNGMwNGQ3MWFiYmVlYTVhYjA2NGVjZmJmNTRjNjEzcC0yLAotICAgIDB4MS5jYjkxZjNiYmJhMTNlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgODYxCi0gICAgLTB4MS5iYzRjMDRkNzFhYmJlZWE1YWIwNjRlY2ZiZjU0YzYxM3AtMiwKLSAgICAtMHgxLmNiOTFmM2JiYmExM2VwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjIKLSAgICAweDEuZjY3ZWE5NzViODZhMDE1MTBlNmJkZTM3NzgxMzg5MzRwLTIsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjMKLSAgICAtMHgxLmY2N2VhOTc1Yjg2YTAxNTEwZTZiZGUzNzc4MTM4OTM0cC0yLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MXAtMQotICB9LAotICB7IC8vIEVudHJ5IDg2NAotICAgIDB4MS4xNzUwNTliZjBkNDI1MjRlY2IwYmY0MjQzYjU1OTczZHAtMSwKLSAgICAweDEuMjc3MDFjYWY4OWU4M3AtMQotICB9LAotICB7IC8vIEVudHJ5IDg2NQotICAgIC0weDEuMTc1MDU5YmYwZDQyNTI0ZWNiMGJmNDI0M2I1NTk3M2RwLTEsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTgzcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODY2Ci0gICAgMHgxLjMyM2I4YjFmYjRiYTIxZGQxMmNjZTgyMGUxNTZhNGZjcC0xLAotICAgIDB4MS40ODQzYWUxODYwNTc1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODY3Ci0gICAgLTB4MS4zMjNiOGIxZmI0YmEyMWRkMTJjY2U4MjBlMTU2YTRmY3AtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NzVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjgKLSAgICAweDEuNGJlNDk3OWM1ZWZiMzA2YzFhNzcwMjQwMzI4NDliNTJwLTEsCi0gICAgMHgxLjY5MTczZjgxMzZjNjdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjkKLSAgICAtMHgxLjRiZTQ5NzljNWVmYjMwNmMxYTc3MDI0MDMyODQ5YjUycC0xLAotICAgIC0weDEuNjkxNzNmODEzNmM2N3AtMQotICB9LAotICB7IC8vIEVudHJ5IDg3MAotICAgIDB4MS42NDMwODBkNjdhY2MxMzMyYzY0YTg1NjEyY2FjYWZiOXAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDg3MQotICAgIC0weDEuNjQzMDgwZDY3YWNjMTMzMmM2NGE4NTYxMmNhY2FmYjlwLTEsCi0gICAgLTB4MS44OWVhZDBlYTBkMzU5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODcyCi0gICAgMHgxLjdiMDViN2I2YzYxMmU1YjA4ZDVlZmU0OWE0NmUyMWExcC0xLAotICAgIDB4MS5hYWJlNjI1MmUzYTRicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODczCi0gICAgLTB4MS43YjA1YjdiNmM2MTJlNWIwOGQ1ZWZlNDlhNDZlMjFhMXAtMSwKLSAgICAtMHgxLmFhYmU2MjUyZTNhNGJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzQKLSAgICAweDEuOTA0YzM3NTA1ZGU0OGZhOGU3NjI4Nzk2MGZkNDQ1OTRwLTEsCi0gICAgMHgxLmNiOTFmM2JiYmExM2RwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzUKLSAgICAtMHgxLjkwNGMzNzUwNWRlNDhmYThlNzYyODc5NjBmZDQ0NTk0cC0xLAotICAgIC0weDEuY2I5MWYzYmJiYTEzZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDg3NgotICAgIDB4MS5hM2VkOWUyNTI5MzhhMTRjNzljNTc1NjM5YzE1YTkxZHAtMSwKLSAgICAweDEuZWM2NTg1MjQ5MDgyZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDg3NwotICAgIC0weDEuYTNlZDllMjUyOTM4YTE0Yzc5YzU3NTYzOWMxNWE5MWRwLTEsCi0gICAgLTB4MS5lYzY1ODUyNDkwODJmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODc4Ci0gICAgMHgxLmI1ZDU0NWIxMDliZjkzNTU5NDAzNjc5OGNmNDBjOWIwcC0xLAotICAgIDB4MS4wNjljOGI0NmIzNzkxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzkKLSAgICAtMHgxLmI1ZDU0NWIxMDliZjkzNTU5NDAzNjc5OGNmNDBjOWIwcC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODgwCi0gICAgMHgxLmM1ZjA1ODIzMGU3ZmQxNGQzZTVlMzE1MzQ5ZjY5OWVmcC0xLAotICAgIDB4MS4xNzA2NTNmYjFlYjBhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODEKLSAgICAtMHgxLmM1ZjA1ODIzMGU3ZmQxNGQzZTVlMzE1MzQ5ZjY5OWVmcC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODgyCi0gICAgMHgxLmQ0MmRlNDJkY2UxMzQ2YTAzZDFmNmFiZjBlYmE5MDIycC0xLAotICAgIDB4MS4yNzcwMWNhZjg5ZTgzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODMKLSAgICAtMHgxLmQ0MmRlNDJkY2UxMzQ2YTAzZDFmNmFiZjBlYmE5MDIycC0xLAotICAgIC0weDEuMjc3MDFjYWY4OWU4M3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODg0Ci0gICAgMHgxLmUwN2VlZWRhMTA5Y2I1MDRhZmNjYTg2MGQ0YjVkZDMycC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MWZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODUKLSAgICAtMHgxLmUwN2VlZWRhMTA5Y2I1MDRhZmNjYTg2MGQ0YjVkZDMycC0xLAotICAgIC0weDEuMzdkOWU1NjNmNTFmY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODg2Ci0gICAgMHgxLmVhZDY4MzQ5MDliOTMzNzFmYWYzYmVhZGRiZDYwZWRkcC0xLAotICAgIDB4MS40ODQzYWUxODYwNTc1cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODcKLSAgICAtMHgxLmVhZDY4MzQ5MDliOTMzNzFmYWYzYmVhZGRiZDYwZWRkcC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU3NXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODg4Ci0gICAgMHgxLmYzMjljMDU1OGU5NjdlNGNhYjU4ZDBmYTU3MmQ2MmQycC0xLAotICAgIDB4MS41OGFkNzZjY2NiOGVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODkKLSAgICAtMHgxLmYzMjljMDU1OGU5NjdlNGNhYjU4ZDBmYTU3MmQ2MmQycC0xLAotICAgIC0weDEuNThhZDc2Y2NjYjhlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODkwCi0gICAgMHgxLmY5NmZlNDA1ZjFhYzVkYzljZjM0MzUwODA2N2JmY2FlcC0xLAotICAgIDB4MS42OTE3M2Y4MTM2YzY3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTEKLSAgICAtMHgxLmY5NmZlNDA1ZjFhYzVkYzljZjM0MzUwODA2N2JmY2FlcC0xLAotICAgIC0weDEuNjkxNzNmODEzNmM2N3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODkyCi0gICAgMHgxLmZkYTI1NGMyN2EwMWY0Nzg2YzE0OWQ2YTc3NzljYzNhcC0xLAotICAgIDB4MS43OTgxMDgzNWExZmUwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTMKLSAgICAtMHgxLmZkYTI1NGMyN2EwMWY0Nzg2YzE0OWQ2YTc3NzljYzNhcC0xLAotICAgIC0weDEuNzk4MTA4MzVhMWZlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODk0Ci0gICAgMHgxLmZmYmNhODQ2YzRmYzk5N2YxYTM4MTQyMDIwODg4NGUwcC0xLAotICAgIDB4MS44OWVhZDBlYTBkMzU5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTUKLSAgICAtMHgxLmZmYmNhODQ2YzRmYzk5N2YxYTM4MTQyMDIwODg4NGUwcC0xLAotICAgIC0weDEuODllYWQwZWEwZDM1OXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODk2Ci0gICAgMHgxLmZmYmNhODQ2YzRmYzlmMzBiZmI0NThlZjIwOTFjOGVlcC0xLAotICAgIDB4MS45YTU0OTk5ZTc4NmQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTcKLSAgICAtMHgxLmZmYmNhODQ2YzRmYzlmMzBiZmI0NThlZjIwOTFjOGVlcC0xLAotICAgIC0weDEuOWE1NDk5OWU3ODZkMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODk4Ci0gICAgMHgxLmZkYTI1NGMyN2EwMjA1ODc1ZjI3MTQzNWY4MjcxNjBjcC0xLAotICAgIDB4MS5hYWJlNjI1MmUzYTRicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTkKLSAgICAtMHgxLmZkYTI1NGMyN2EwMjA1ODc1ZjI3MTQzNWY4MjcxNjBjcC0xLAotICAgIC0weDEuYWFiZTYyNTJlM2E0YnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAwCi0gICAgMHgxLmY5NmZlNDA1ZjFhYzdhMjQxZTAyZTU4YjBjYmYzYWU3cC0xLAotICAgIDB4MS5iYjI4MmIwNzRlZGM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDEKLSAgICAtMHgxLmY5NmZlNDA1ZjFhYzdhMjQxZTAyZTU4YjBjYmYzYWU3cC0xLAotICAgIC0weDEuYmIyODJiMDc0ZWRjNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAyCi0gICAgMHgxLmYzMjljMDU1OGU5NmE1ZDQ4MjcyYWQ0YzQ5ZWM1M2I4cC0xLAotICAgIDB4MS5jYjkxZjNiYmJhMTNkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDMKLSAgICAtMHgxLmYzMjljMDU1OGU5NmE1ZDQ4MjcyYWQ0YzQ5ZWM1M2I4cC0xLAotICAgIC0weDEuY2I5MWYzYmJiYTEzZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA0Ci0gICAgMHgxLmVhZDY4MzQ5MDliOTY1ZmRjNGIwY2VmZmMwZjI4NWM2cC0xLAotICAgIDB4MS5kYmZiYmM3MDI1NGI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDUKLSAgICAtMHgxLmVhZDY4MzQ5MDliOTY1ZmRjNGIwY2VmZmMwZjI4NWM2cC0xLAotICAgIC0weDEuZGJmYmJjNzAyNTRiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA2Ci0gICAgMHgxLmUwN2VlZWRhMTA5Y2YyNWY0MDBjZDVmNDZhY2VjODg3cC0xLAotICAgIDB4MS5lYzY1ODUyNDkwODJmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDcKLSAgICAtMHgxLmUwN2VlZWRhMTA5Y2YyNWY0MDBjZDVmNDZhY2VjODg3cC0xLAotICAgIC0weDEuZWM2NTg1MjQ5MDgyZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA4Ci0gICAgMHgxLmQ0MmRlNDJkY2UxMzhlODkwOTM5ZTU2YzQzOWRlZDkwcC0xLAotICAgIDB4MS5mY2NmNGRkOGZiYmE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDkKLSAgICAtMHgxLmQ0MmRlNDJkY2UxMzhlODkwOTM5ZTU2YzQzOWRlZDkwcC0xLAotICAgIC0weDEuZmNjZjRkZDhmYmJhOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEwCi0gICAgMHgxLmM1ZjA1ODIzMGU4MDE0YWI4M2VjZTBjM2E2MzhjMDc5cC0xLAotICAgIDB4MS4wNjljOGI0NmIzNzkxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTEKLSAgICAtMHgxLmM1ZjA1ODIzMGU4MDE0YWI4M2VjZTBjM2E2MzhjMDc5cC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEyCi0gICAgMHgxLmI1ZDU0NWIxMDliZmNlM2ZjNGQ3NzAwMWFmZTJmMmI2cC0xLAotICAgIDB4MS4wZWQxNmZhMGU5MTRlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTMKLSAgICAtMHgxLmI1ZDU0NWIxMDliZmNlM2ZjNGQ3NzAwMWFmZTJmMmI2cC0xLAotICAgIC0weDEuMGVkMTZmYTBlOTE0ZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE0Ci0gICAgMHgxLmEzZWQ5ZTI1MjkzOGQ5MmE1NTUzYjNjMDlkMmJkZGQzcC0xLAotICAgIDB4MS4xNzA2NTNmYjFlYjBicDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTUKLSAgICAtMHgxLmEzZWQ5ZTI1MjkzOGQ5MmE1NTUzYjNjMDlkMmJkZGQzcC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIwYnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE2Ci0gICAgMHgxLjkwNGMzNzUwNWRlNGI4OTc1ZGQyNzMwZTE5NmRkZmMzcC0xLAotICAgIDB4MS4xZjNiMzg1NTU0NGM4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTcKLSAgICAtMHgxLjkwNGMzNzUwNWRlNGI4OTc1ZGQyNzMwZTE5NmRkZmMzcC0xLAotICAgIC0weDEuMWYzYjM4NTU1NDRjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE4Ci0gICAgMHgxLjdiMDViN2I2YzYxMmZjNGZkYTM4MTJiMWYxMzQ4Mzg5cC0xLAotICAgIDB4MS4yNzcwMWNhZjg5ZTg1cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTkKLSAgICAtMHgxLjdiMDViN2I2YzYxMmZjNGZkYTM4MTJiMWYxMzQ4Mzg5cC0xLAotICAgIC0weDEuMjc3MDFjYWY4OWU4NXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTIwCi0gICAgMHgxLjY0MzA4MGQ2N2FjYzE0NjIwNjcyZGRhNjI0MWVhMzA1cC0xLAotICAgIDB4MS4yZmE1MDEwOWJmODQycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjEKLSAgICAtMHgxLjY0MzA4MGQ2N2FjYzE0NjIwNjcyZGRhNjI0MWVhMzA1cC0xLAotICAgIC0weDEuMmZhNTAxMDliZjg0MnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTIyCi0gICAgMHgxLjRiZTQ5NzljNWVmYjE5NGZjODJhYzM2N2ZlZGY5M2JjcC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MWZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjMKLSAgICAtMHgxLjRiZTQ5NzljNWVmYjE5NGZjODJhYzM2N2ZlZGY5M2JjcC0xLAotICAgIC0weDEuMzdkOWU1NjNmNTFmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI0Ci0gICAgMHgxLjMyM2I4YjFmYjRiOWVmZTUwNzVlZGU4MDQ5YTg1YzNkcC0xLAotICAgIDB4MS40MDBlYzliZTJhYmJjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjUKLSAgICAtMHgxLjMyM2I4YjFmYjRiOWVmZTUwNzVlZGU4MDQ5YTg1YzNkcC0xLAotICAgIC0weDEuNDAwZWM5YmUyYWJiY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI2Ci0gICAgMHgxLjE3NTA1OWJmMGQ0MjAzM2JiY2Y1OThjODhiMTc2ZTYxcC0xLAotICAgIDB4MS40ODQzYWUxODYwNTc5cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjcKLSAgICAtMHgxLjE3NTA1OWJmMGQ0MjAzM2JiY2Y1OThjODhiMTc2ZTYxcC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU3OXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI4Ci0gICAgMHgxLmY2N2VhOTc1Yjg2OTI1MjFmNzdkNjc1NGIzMDJjNWM0cC0yLAotICAgIDB4MS41MDc4OTI3Mjk1ZjM2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjkKLSAgICAtMHgxLmY2N2VhOTc1Yjg2OTI1MjFmNzdkNjc1NGIzMDJjNWM0cC0yLAotICAgIC0weDEuNTA3ODkyNzI5NWYzNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTMwCi0gICAgMHgxLmJjNGMwNGQ3MWFiYWQxNGVmYzI5YTY2MzQyYWRhNzIzcC0yLAotICAgIDB4MS41OGFkNzZjY2NiOGYzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzEKLSAgICAtMHgxLmJjNGMwNGQ3MWFiYWQxNGVmYzI5YTY2MzQyYWRhNzIzcC0yLAotICAgIC0weDEuNThhZDc2Y2NjYjhmM3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTMyCi0gICAgMHgxLjgwNDVmZTY0ZTYyYzYyZjU3ZjA3N2VhMjUxZTJmMmRjcC0yLAotICAgIDB4MS42MGUyNWIyNzAxMmIwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzMKLSAgICAtMHgxLjgwNDVmZTY0ZTYyYzYyZjU3ZjA3N2VhMjUxZTJmMmRjcC0yLAotICAgIC0weDEuNjBlMjViMjcwMTJiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTM0Ci0gICAgMHgxLjQyYWJiYThjNzJmYTEyYmU5MjBiMzE2NjI3NTEyZTQxcC0yLAotICAgIDB4MS42OTE3M2Y4MTM2YzZkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAtMHgxLjQyYWJiYThjNzJmYTEyYmU5MjBiMzE2NjI3NTEyZTQxcC0yLAotICAgIC0weDEuNjkxNzNmODEzNmM2ZHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTM2Ci0gICAgMHgxLjAzYmUwNmY5N2NiY2Y4NjYwMjFlNWE1YzYyYzZiMDdlcC0yLAotICAgIDB4MS43MTRjMjNkYjZjNjJhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzcKLSAgICAtMHgxLjAzYmUwNmY5N2NiY2Y4NjYwMjFlNWE1YzYyYzZiMDdlcC0yLAotICAgIC0weDEuNzE0YzIzZGI2YzYyYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTM4Ci0gICAgMHgxLjg3N2UyY2Q0ZjZmOTQ3MTBmMjc3Njc3NWIwMWM3M2RicC0zLAotICAgIDB4MS43OTgxMDgzNWExZmU3cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzkKLSAgICAtMHgxLjg3N2UyY2Q0ZjZmOTQ3MTBmMjc3Njc3NWIwMWM3M2RicC0zLAotICAgIC0weDEuNzk4MTA4MzVhMWZlN3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQwCi0gICAgMHgxLjA1ZTQ3NjFhYjhkNDIxNzE5NTY3NzE3Zjc2NzEyODY3cC0zLAotICAgIDB4MS44MWI1ZWM4ZmQ3OWE0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDEKLSAgICAtMHgxLjA1ZTQ3NjFhYjhkNDIxNzE5NTY3NzE3Zjc2NzEyODY3cC0zLAotICAgIC0weDEuODFiNWVjOGZkNzlhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQyCi0gICAgMHgxLjA2NmU3ZWI3NmY1ZGQyZWExOWI2OTkxZThhMWEzNjM0cC00LAotICAgIDB4MS44OWVhZDBlYTBkMzVicDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDMKLSAgICAtMHgxLjA2NmU3ZWI3NmY1ZGQyZWExOWI2OTkxZThhMWEzNjM0cC00LAotICAgIC0weDEuODllYWQwZWEwZDM1YnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ0Ci0gICAgMHgxLjAzYmUwNmY5N2NiZjA5Y2MwYmFkYmRhZTgwM2Q3YjRlcC0yLAotICAgIC0weDEuODFiNWVjOGZkNzk5ZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ1Ci0gICAgLTB4MS4wM2JlMDZmOTdjYmYwOWNjMGJhZGJkYWU4MDNkN2I0ZXAtMiwKLSAgICAweDEuODFiNWVjOGZkNzk5ZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ2Ci0gICAgMHgxLmY2N2VhOTc1Yjg2YTIyZjIzNDg3Nzg4MjRmOTVkODRhcC0yLAotICAgIC0weDEuNzE0YzIzZGI2YzYyNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ3Ci0gICAgLTB4MS5mNjdlYTk3NWI4NmEyMmYyMzQ4Nzc4ODI0Zjk1ZDg0YXAtMiwKLSAgICAweDEuNzE0YzIzZGI2YzYyNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ4Ci0gICAgMHgxLjY0MzA4MGQ2N2FjYzIxMGZhMjdlOTI0N2E4Mjg2MjIwcC0xLAotICAgIC0weDEuNjBlMjViMjcwMTJhZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ5Ci0gICAgLTB4MS42NDMwODBkNjdhY2MyMTBmYTI3ZTkyNDdhODI4NjIyMHAtMSwKLSAgICAweDEuNjBlMjViMjcwMTJhZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUwCi0gICAgMHgxLmI1ZDU0NWIxMDliZjk1MGI0MTk3MDI5NzJiOTRmOGZhcC0xLAotICAgIC0weDEuNTA3ODkyNzI5NWYzNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUxCi0gICAgLTB4MS5iNWQ1NDViMTA5YmY5NTBiNDE5NzAyOTcyYjk0ZjhmYXAtMSwKLSAgICAweDEuNTA3ODkyNzI5NWYzNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUyCi0gICAgMHgxLmVhZDY4MzQ5MDliOTM0NjIzNGRiYjYwMWQwNDg2Y2YycC0xLAotICAgIC0weDEuNDAwZWM5YmUyYWJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUzCi0gICAgLTB4MS5lYWQ2ODM0OTA5YjkzNDYyMzRkYmI2MDFkMDQ4NmNmMnAtMSwKLSAgICAweDEuNDAwZWM5YmUyYWJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU0Ci0gICAgMHgxLmZmYmNhODQ2YzRmYzk5OWEyOWRjMWQ2YjJkN2NiNDEzcC0xLAotICAgIC0weDEuMmZhNTAxMDliZjg0MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU1Ci0gICAgLTB4MS5mZmJjYTg0NmM0ZmM5OTlhMjlkYzFkNmIyZDdjYjQxM3AtMSwKLSAgICAweDEuMmZhNTAxMDliZjg0MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU2Ci0gICAgMHgxLmYzMjljMDU1OGU5NmE1MThhMmFmM2FlNzgwMGE1YjY1cC0xLAotICAgIC0weDEuMWYzYjM4NTU1NDRjOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU3Ci0gICAgLTB4MS5mMzI5YzA1NThlOTZhNTE4YTJhZjNhZTc4MDBhNWI2NXAtMSwKLSAgICAweDEuMWYzYjM4NTU1NDRjOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU4Ci0gICAgMHgxLmM1ZjA1ODIzMGU4MDIxZjIxYmQwYWMyYzBmNjgwOWE5cC0xLAotICAgIC0weDEuMGVkMTZmYTBlOTE1MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU5Ci0gICAgLTB4MS5jNWYwNTgyMzBlODAyMWYyMWJkMGFjMmMwZjY4MDlhOXAtMSwKLSAgICAweDEuMGVkMTZmYTBlOTE1MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYwCi0gICAgMHgxLjdiMDViN2I2YzYxMzY1YTlhYzllOTA4YjhlNWQzY2U0cC0xLAotICAgIC0weDEuZmNjZjRkZDhmYmJhZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYxCi0gICAgLTB4MS43YjA1YjdiNmM2MTM2NWE5YWM5ZTkwOGI4ZTVkM2NlNHAtMSwKLSAgICAweDEuZmNjZjRkZDhmYmJhZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYyCi0gICAgMHgxLjE3NTA1OWJmMGQ0MmYxZDZiMzkxZjA3Zjk2ZjIzNTNkcC0xLAotICAgIC0weDEuZGJmYmJjNzAyNTRiY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYzCi0gICAgLTB4MS4xNzUwNTliZjBkNDJmMWQ2YjM5MWYwN2Y5NmYyMzUzZHAtMSwKLSAgICAweDEuZGJmYmJjNzAyNTRiY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY0Ci0gICAgMHgxLjQyYWJiYThjNzJmZDIyMTk0NzkzMjQ2YjhkMTk5NjBhcC0yLAotICAgIC0weDEuYmIyODJiMDc0ZWRjYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY1Ci0gICAgLTB4MS40MmFiYmE4YzcyZmQyMjE5NDc5MzI0NmI4ZDE5OTYwYXAtMiwKLSAgICAweDEuYmIyODJiMDc0ZWRjYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY2Ci0gICAgMHgxLjA2NmU3ZWI3NmY2MmI1ZjQ1NjNkZTI2ZGNhODkwMDE3cC00LAotICAgIC0weDEuOWE1NDk5OWU3ODZkOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY3Ci0gICAgLTB4MS4wNjZlN2ViNzZmNjJiNWY0NTYzZGUyNmRjYTg5MDAxN3AtNCwKLSAgICAweDEuOWE1NDk5OWU3ODZkOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY4Ci0gICAgLTB4MS44NzdlMmNkNGY2ZmE0MjU4Njg3NWM1MjUwYTE2OWU0OHAtMywKLSAgICAtMHgxLjc5ODEwODM1YTFmZTZwMQotICB9LAotICB7IC8vIEVudHJ5IDk2OQotICAgIDB4MS44NzdlMmNkNGY2ZmE0MjU4Njg3NWM1MjUwYTE2OWU0OHAtMywKLSAgICAweDEuNzk4MTA4MzVhMWZlNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTcwCi0gICAgLTB4MS5iYzRjMDRkNzFhYmE1ZGZjMDk4Mjc4ZjE2OGJiZDk2MnAtMiwKLSAgICAtMHgxLjU4YWQ3NmNjY2I4ZjRwMQotICB9LAotICB7IC8vIEVudHJ5IDk3MQotICAgIDB4MS5iYzRjMDRkNzFhYmE1ZGZjMDk4Mjc4ZjE2OGJiZDk2MnAtMiwKLSAgICAweDEuNThhZDc2Y2NjYjhmNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTcyCi0gICAgLTB4MS40YmU0OTc5YzVlZmE4NzFkMzBhZTFjZmE2NjM4OTE5OXAtMSwKLSAgICAtMHgxLjM3ZDllNTYzZjUyMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDk3MwotICAgIDB4MS40YmU0OTc5YzVlZmE4NzFkMzBhZTFjZmE2NjM4OTE5OXAtMSwKLSAgICAweDEuMzdkOWU1NjNmNTIwMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc0Ci0gICAgLTB4MS5hM2VkOWUyNTI5MzgyMjE2ODk1OGNjZTFlMDlmN2MxMXAtMSwKLSAgICAtMHgxLjE3MDY1M2ZiMWViMTBwMQotICB9LAotICB7IC8vIEVudHJ5IDk3NQotICAgIDB4MS5hM2VkOWUyNTI5MzgyMjE2ODk1OGNjZTFlMDlmN2MxMXAtMSwKLSAgICAweDEuMTcwNjUzZmIxZWIxMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc2Ci0gICAgLTB4MS5lMDdlZWVkYTEwOWM2MmIzNDBkYzM2ZTkyMTY5NjQ4ZHAtMSwKLSAgICAtMHgxLmVjNjU4NTI0OTA4M2NwMAotICB9LAotICB7IC8vIEVudHJ5IDk3NwotICAgIDB4MS5lMDdlZWVkYTEwOWM2MmIzNDBkYzM2ZTkyMTY5NjQ4ZHAtMSwKLSAgICAweDEuZWM2NTg1MjQ5MDgzY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc4Ci0gICAgLTB4MS5mZGEyNTRjMjdhMDFkZDk1NGRiM2FlYTUwNWU0OTQ1M3AtMSwKLSAgICAtMHgxLmFhYmU2MjUyZTNhNThwMAotICB9LAotICB7IC8vIEVudHJ5IDk3OQotICAgIDB4MS5mZGEyNTRjMjdhMDFkZDk1NGRiM2FlYTUwNWU0OTQ1M3AtMSwKLSAgICAweDEuYWFiZTYyNTJlM2E1OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgwCi0gICAgLTB4MS5mOTZmZTQwNWYxYWNhMDJlOGY0ZmQ0MzNlNTlhYTk3M3AtMSwKLSAgICAtMHgxLjY5MTczZjgxMzZjNzRwMAotICB9LAotICB7IC8vIEVudHJ5IDk4MQotICAgIDB4MS5mOTZmZTQwNWYxYWNhMDJlOGY0ZmQ0MzNlNTlhYTk3M3AtMSwKLSAgICAweDEuNjkxNzNmODEzNmM3NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgyCi0gICAgLTB4MS5kNDJkZTQyZGNlMTNlZjA0MGJiMTA0MGUzMTQ4ZDdkZXAtMSwKLSAgICAtMHgxLjI3NzAxY2FmODllOTBwMAotICB9LAotICB7IC8vIEVudHJ5IDk4MwotICAgIDB4MS5kNDJkZTQyZGNlMTNlZjA0MGJiMTA0MGUzMTQ4ZDdkZXAtMSwKLSAgICAweDEuMjc3MDFjYWY4OWU5MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg0Ci0gICAgLTB4MS45MDRjMzc1MDVkZTU5MzA4MTJlM2EyYTk0ZmVhYTUxYnAtMSwKLSAgICAtMHgxLmNiOTFmM2JiYmExNTdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODUKLSAgICAweDEuOTA0YzM3NTA1ZGU1OTMwODEyZTNhMmE5NGZlYWE1MWJwLTEsCi0gICAgMHgxLmNiOTFmM2JiYmExNTdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODYKLSAgICAtMHgxLjMyM2I4YjFmYjRiYjYyNmRkNDBjYWNkNzQ5NjNhYzZjcC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU4ZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDk4NwotICAgIDB4MS4zMjNiOGIxZmI0YmI2MjZkZDQwY2FjZDc0OTYzYWM2Y3AtMSwKLSAgICAweDEuNDg0M2FlMTg2MDU4ZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDk4OAotICAgIC0weDEuODA0NWZlNjRlNjMwOGJiNWM2Y2UzNWY4MzRiOTNjNjNwLTIsCi0gICAgLTB4MS44OWVhZDBlYTBkMzhhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg5Ci0gICAgMHgxLjgwNDVmZTY0ZTYzMDhiYjVjNmNlMzVmODM0YjkzYzYzcC0yLAotICAgIDB4MS44OWVhZDBlYTBkMzhhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkwCi0gICAgLTB4MS4wNWU0NzYxYWI4ZGVjNDRlZDBmYTMwZDMzNTA0OWM0MHAtMywKLSAgICAtMHgxLjA2OWM4YjQ2YjM3ZjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTEKLSAgICAweDEuMDVlNDc2MWFiOGRlYzQ0ZWQwZmEzMGQzMzUwNDljNDBwLTMsCi0gICAgMHgxLjA2OWM4YjQ2YjM3ZjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTIKLSAgICAweDEuMDVlNDc2MWFiOGQzMWQwMGU2NTYzNzJjNWMwNGFhNmVwLTMsCi0gICAgMHgxLjA2OWM4YjQ2YjM3MzRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTMKLSAgICAtMHgxLjA1ZTQ3NjFhYjhkMzFkMDBlNjU2MzcyYzVjMDRhYTZlcC0zLAotICAgIC0weDEuMDY5YzhiNDZiMzczNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDk5NAotICAgIDB4MS44MDQ1ZmU2NGU2MmIxOWEwOTQzOTk1MDJhZmI3NmU1Y3AtMiwKLSAgICAweDEuODllYWQwZWEwZDMyY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDk5NQotICAgIC0weDEuODA0NWZlNjRlNjJiMTlhMDk0Mzk5NTAyYWZiNzZlNWNwLTIsCi0gICAgLTB4MS44OWVhZDBlYTBkMzJjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk2Ci0gICAgMHgxLjMyM2I4YjFmYjRiOTA3YzQxNmQyM2IwNGUwZWMwZTcycC0xLAotICAgIDB4MS40ODQzYWUxODYwNTVmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk3Ci0gICAgLTB4MS4zMjNiOGIxZmI0YjkwN2M0MTZkMjNiMDRlMGVjMGU3MnAtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NWZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTgKLSAgICAweDEuOTA0YzM3NTA1ZGUzYmUyYWNlMTdjYTU0ODc3NTAyMzFwLTEsCi0gICAgMHgxLmNiOTFmM2JiYmExMjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTkKLSAgICAtMHgxLjkwNGMzNzUwNWRlM2JlMmFjZTE3Y2E1NDg3NzUwMjMxcC0xLAotICAgIC0weDEuY2I5MWYzYmJiYTEyOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMDAKLSAgICAweDEuZDQyZGU0MmRjZTEyYjgyNDY2ZjJmY2I2M2IyOTQ3NTFwLTEsCi0gICAgMHgxLjI3NzAxY2FmODllNzhwMAotICB9LAotICB7IC8vIEVudHJ5IDEwMDEKLSAgICAtMHgxLmQ0MmRlNDJkY2UxMmI4MjQ2NmYyZmNiNjNiMjk0NzUxcC0xLAotICAgIC0weDEuMjc3MDFjYWY4OWU3OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMgotICAgIDB4MS5mOTZmZTQwNWYxYWMyNTliZjE5MmZkMWNmNjRlMmYxMnAtMSwKLSAgICAweDEuNjkxNzNmODEzNmM1Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMwotICAgIC0weDEuZjk2ZmU0MDVmMWFjMjU5YmYxOTJmZDFjZjY0ZTJmMTJwLTEsCi0gICAgLTB4MS42OTE3M2Y4MTM2YzVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA0Ci0gICAgMHgxLmZkYTI1NGMyN2EwMjI3NTQzMmQ3N2RkNmY5NzA0NjQ0cC0xLAotICAgIDB4MS5hYWJlNjI1MmUzYTQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA1Ci0gICAgLTB4MS5mZGEyNTRjMjdhMDIyNzU0MzJkNzdkZDZmOTcwNDY0NHAtMSwKLSAgICAtMHgxLmFhYmU2MjUyZTNhNDBwMAotICB9LAotICB7IC8vIEVudHJ5IDEwMDYKLSAgICAweDEuZTA3ZWVlZGExMDlkNmJmMGM5MzVmYTEwYjEyODBjNmRwLTEsCi0gICAgMHgxLmVjNjU4NTI0OTA4MjRwMAotICB9LAotICB7IC8vIEVudHJ5IDEwMDcKLSAgICAtMHgxLmUwN2VlZWRhMTA5ZDZiZjBjOTM1ZmExMGIxMjgwYzZkcC0xLAotICAgIC0weDEuZWM2NTg1MjQ5MDgyNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwOAotICAgIDB4MS5hM2VkOWUyNTI5MzlkOTc5M2ZiMmY2Zjc1ZTVjNzZlN3AtMSwKLSAgICAweDEuMTcwNjUzZmIxZWIwNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwOQotICAgIC0weDEuYTNlZDllMjUyOTM5ZDk3OTNmYjJmNmY3NWU1Yzc2ZTdwLTEsCi0gICAgLTB4MS4xNzA2NTNmYjFlYjA0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEwCi0gICAgMHgxLjRiZTQ5NzljNWVmY2NmZTc4ZWEwYjZhZmIwY2JiYTM3cC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MWY2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDExCi0gICAgLTB4MS40YmU0OTc5YzVlZmNjZmU3OGVhMGI2YWZiMGNiYmEzN3AtMSwKLSAgICAtMHgxLjM3ZDllNTYzZjUxZjZwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTIKLSAgICAweDEuYmM0YzA0ZDcxYWJmYzVkZjY5NTg5YTQ1ZDVlMzE5NmVwLTIsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZThwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTMKLSAgICAtMHgxLmJjNGMwNGQ3MWFiZmM1ZGY2OTU4OWE0NWQ1ZTMxOTZlcC0yLAotICAgIC0weDEuNThhZDc2Y2NjYjhlOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNAotICAgIDB4MS44NzdlMmNkNGY3MDYwOWIxZjA2MjI5NWI2NGFlZDRiZHAtMywKLSAgICAweDEuNzk4MTA4MzVhMWZkYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNQotICAgIC0weDEuODc3ZTJjZDRmNzA2MDliMWYwNjIyOTViNjRhZWQ0YmRwLTMsCi0gICAgLTB4MS43OTgxMDgzNWExZmRhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE2Ci0gICAgLTB4MS4wNjZlN2ViNzZmNGFjMjkzZjQ2NDg2ZGMzMjhkNDUwYnAtNCwKLSAgICAweDEuOWE1NDk5OWU3ODZjY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNwotICAgIDB4MS4wNjZlN2ViNzZmNGFjMjkzZjQ2NDg2ZGMzMjhkNDUwYnAtNCwKLSAgICAtMHgxLjlhNTQ5OTllNzg2Y2NwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTgKLSAgICAtMHgxLjQyYWJiYThjNzJmNzcwNTk1ZmZlMzEzNWEwZTBhZDgzcC0yLAotICAgIDB4MS5iYjI4MmIwNzRlZGJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE5Ci0gICAgMHgxLjQyYWJiYThjNzJmNzcwNTk1ZmZlMzEzNWEwZTBhZDgzcC0yLAotICAgIC0weDEuYmIyODJiMDc0ZWRiZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMAotICAgIC0weDEuMTc1MDU5YmYwZDQwNmUyZmUwMTRlODgwZGQyOWNmYWNwLTEsCi0gICAgMHgxLmRiZmJiYzcwMjU0YjBwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMjEKLSAgICAweDEuMTc1MDU5YmYwZDQwNmUyZmUwMTRlODgwZGQyOWNmYWNwLTEsCi0gICAgLTB4MS5kYmZiYmM3MDI1NGIwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIyCi0gICAgLTB4MS43YjA1YjdiNmM2MTE2MTU1ZjBkYzU1MWUzMTZlMWUwYnAtMSwKLSAgICAweDEuZmNjZjRkZDhmYmJhMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMwotICAgIDB4MS43YjA1YjdiNmM2MTE2MTU1ZjBkYzU1MWUzMTZlMWUwYnAtMSwKLSAgICAtMHgxLmZjY2Y0ZGQ4ZmJiYTJwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMjQKLSAgICAtMHgxLmM1ZjA1ODIzMGU3ZWJlYjc2MTY3NzllMTZmYTliNTM3cC0xLAotICAgIDB4MS4wZWQxNmZhMGU5MTRhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI1Ci0gICAgMHgxLmM1ZjA1ODIzMGU3ZWJlYjc2MTY3NzllMTZmYTliNTM3cC0xLAotICAgIC0weDEuMGVkMTZmYTBlOTE0YXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyNgotICAgIC0weDEuZjMyOWMwNTU4ZTk1ZmEzMzNkNWQyZDQ0ZDY1NDc3N2NwLTEsCi0gICAgMHgxLjFmM2IzODU1NTQ0YzNwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjcKLSAgICAweDEuZjMyOWMwNTU4ZTk1ZmEzMzNkNWQyZDQ0ZDY1NDc3N2NwLTEsCi0gICAgLTB4MS4xZjNiMzg1NTU0NGMzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI4Ci0gICAgLTB4MS5mZmJjYTg0NmM0ZmNiMjM3YzI5NDdiMzViMDM3YTJwLTEsCi0gICAgMHgxLjJmYTUwMTA5YmY4M2NwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjkKLSAgICAweDEuZmZiY2E4NDZjNGZjYjIzN2MyOTQ3YjM1YjAzN2EycC0xLAotICAgIC0weDEuMmZhNTAxMDliZjgzY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMAotICAgIC0weDEuZWFkNjgzNDkwOWJhMGVlNjliMzFlMTk3MGRmMWJiOGJwLTEsCi0gICAgMHgxLjQwMGVjOWJlMmFiYjVwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMzEKLSAgICAweDEuZWFkNjgzNDkwOWJhMGVlNjliMzFlMTk3MGRmMWJiOGJwLTEsCi0gICAgLTB4MS40MDBlYzliZTJhYmI1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMyCi0gICAgLTB4MS5iNWQ1NDViMTA5YzEyMzJiNjFkZDI4ZDgwMzVkOTVjYnAtMSwKLSAgICAweDEuNTA3ODkyNzI5NWYyZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMwotICAgIDB4MS5iNWQ1NDViMTA5YzEyMzJiNjFkZDI4ZDgwMzVkOTVjYnAtMSwKLSAgICAtMHgxLjUwNzg5MjcyOTVmMmVwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMzQKLSAgICAtMHgxLjY0MzA4MGQ2N2FjZTQ4YzBkZDFmZTNhMDZiYmM0YmY1cC0xLAotICAgIDB4MS42MGUyNWIyNzAxMmE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM1Ci0gICAgMHgxLjY0MzA4MGQ2N2FjZTQ4YzBkZDFmZTNhMDZiYmM0YmY1cC0xLAotICAgIC0weDEuNjBlMjViMjcwMTJhN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNgotICAgIC0weDEuZjY3ZWE5NzViODZmNWQ0YWE5MjcxNmNjMDc3NDczYTdwLTIsCi0gICAgMHgxLjcxNGMyM2RiNmM2MjBwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMzcKLSAgICAweDEuZjY3ZWE5NzViODZmNWQ0YWE5MjcxNmNjMDc3NDczYTdwLTIsCi0gICAgLTB4MS43MTRjMjNkYjZjNjIwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM4Ci0gICAgLTB4MS4wM2JlMDZmOTdjYzRkNzhmZGNjYmNhMWQ0MGU4NjAxMXAtMiwKLSAgICAweDEuODFiNWVjOGZkNzk5OXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzOQotICAgIDB4MS4wM2JlMDZmOTdjYzRkNzhmZGNjYmNhMWQ0MGU4NjAxMXAtMiwKLSAgICAtMHgxLjgxYjVlYzhmZDc5OTlwMgotICB9LAotICB7IC8vIEVudHJ5IDEwNDAKLSAgICAweDEuZWZiMjZlZjkzMGM0YzNmYTMyNDU5NjNjMWRjZWMwYTZwLTUsCi0gICAgMHgxLmVmZmZmZmZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQxCi0gICAgLTB4MS5lZmIyNmVmOTMwYzRjM2ZhMzI0NTk2M2MxZGNlYzBhNnAtNSwKLSAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQyCi0gICAgMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAotICAgIDB4MS5mcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MwotICAgIC0weDEuZWZiMjZlZjkzMGM0ZDNmMmIwZGJlMTkzMWJhNWFlNjRwLTUsCi0gICAgLTB4MS5mcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0NAotICAgIDB4MS5lZmIyNmVmOTMwYzRlM2ViMmY3MjJjZWExOTdjMjAzNnAtNSwKLSAgICAweDEuZjAwMDAwMDAwMDAwMXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDUKLSAgICAtMHgxLmVmYjI2ZWY5MzBjNGUzZWIyZjcyMmNlYTE5N2MyMDM2cC01LAotICAgIC0weDEuZjAwMDAwMDAwMDAwMXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDYKLSAgICAweDEuZjZiYWFhMTMxZGU2MzNhZDRlMGU3ZDY0NjVkMTJhMDVwLTQsCi0gICAgMHgxLmY3ZmZmZmZmZmZmZmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ3Ci0gICAgLTB4MS5mNmJhYWExMzFkZTYzM2FkNGUwZTdkNjQ2NWQxMmEwNXAtNCwKLSAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ4Ci0gICAgMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAotICAgIDB4MS5mODBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ5Ci0gICAgLTB4MS5mNmJhYWExMzFkZTY0MzhlNTYxMTI3OTg2NGZlNzY2M3AtNCwKLSAgICAtMHgxLmY4MHAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwNTAKLSAgICAweDEuZjZiYWFhMTMxZGU2NTM2ZjVlMTNkMWNjNjQyOWNjMDdwLTQsCi0gICAgMHgxLmY4MDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUxCi0gICAgLTB4MS5mNmJhYWExMzFkZTY1MzZmNWUxM2QxY2M2NDI5Y2MwN3AtNCwKLSAgICAtMHgxLmY4MDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUyCi0gICAgMHgxLjRhOGMzYjRlOWM3ZmYwMGEzNmUwNjFhMGQyMjk1MDkzcC0zLAotICAgIDB4MS40YmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1MwotICAgIC0weDEuNGE4YzNiNGU5YzdmZjAwYTM2ZTA2MWEwZDIyOTUwOTNwLTMsCi0gICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NAotICAgIDB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKLSAgICAweDEuNGMwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NQotICAgIC0weDEuNGE4YzNiNGU5YzdmZmZkNDgzMDVmNDRhNDJmNWY1MGZwLTMsCi0gICAgLTB4MS40YzBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU2Ci0gICAgMHgxLjRhOGMzYjRlOWM4MDBmOWVjZjJiODZmM2IzYmQ2ZjVhcC0zLAotICAgIDB4MS40YzAwMDAwMDAwMDAxcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NwotICAgIC0weDEuNGE4YzNiNGU5YzgwMGY5ZWNmMmI4NmYzYjNiZDZmNWFwLTMsCi0gICAgLTB4MS40YzAwMDAwMDAwMDAxcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1OAotICAgIDB4MS4yZTljZDk1YmFiYTMyNWZlNjA2NzIzM2Q0NDk2YWFhY3AtMiwKLSAgICAweDEuMzMzMzMzMzMzMzMzMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwNTkKLSAgICAtMHgxLjJlOWNkOTViYWJhMzI1ZmU2MDY3MjMzZDQ0OTZhYWFjcC0yLAotICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwNjAKLSAgICAweDEuMmU5Y2Q5NWJhYmEzMzU0NzZmNTEzYWMyMjFkMDc4YzdwLTIsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYxCi0gICAgLTB4MS4yZTljZDk1YmFiYTMzNTQ3NmY1MTNhYzIyMWQwNzhjN3AtMiwKLSAgICAtMHgxLjMzMzMzMzMzMzMzMzNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYyCi0gICAgMHgxLjJlOWNkOTViYWJhMzQ0OTA3ZTNiNTI0NmZlZjc1ZDE1cC0yLAotICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MwotICAgIC0weDEuMmU5Y2Q5NWJhYmEzNDQ5MDdlM2I1MjQ2ZmVmNzVkMTVwLTIsCi0gICAgLTB4MS4zMzMzMzMzMzMzMzM0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2NAotICAgIDB4MS4zZmFlZmM3YTU0NjZlZjMwNDVjM2YxYmU3MTZhZDU2OHAtMSwKLSAgICAweDEuNTk0MzE3YWNjNGVmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNjUKLSAgICAtMHgxLjNmYWVmYzdhNTQ2NmVmMzA0NWMzZjFiZTcxNmFkNTY4cC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNjYKLSAgICAweDEuM2ZhZWZjN2E1NDY2ZmJhZmJjYTAyN2I2ZThkYjhjMDRwLTEsCi0gICAgMHgxLjU5NDMxN2FjYzRlZjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY3Ci0gICAgLTB4MS4zZmFlZmM3YTU0NjZmYmFmYmNhMDI3YjZlOGRiOGMwNHAtMSwKLSAgICAtMHgxLjU5NDMxN2FjYzRlZjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY4Ci0gICAgMHgxLjNmYWVmYzdhNTQ2NzA4MmYzMzdjNWRhZjVmZmM1NmUycC0xLAotICAgIDB4MS41OTQzMTdhY2M0ZWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2OQotICAgIC0weDEuM2ZhZWZjN2E1NDY3MDgyZjMzN2M1ZGFmNWZmYzU2ZTJwLTEsCi0gICAgLTB4MS41OTQzMTdhY2M0ZWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3MAotICAgIDB4MS42ODg4YTRlMTM0YjJkZWY1YmVhNTFmNGNkN2Q2NDdjNnAtMSwKLSAgICAweDEuOGZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNzEKLSAgICAtMHgxLjY4ODhhNGUxMzRiMmRlZjViZWE1MWY0Y2Q3ZDY0N2M2cC0xLAotICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNzIKLSAgICAweDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCi0gICAgMHgxLjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDczCi0gICAgLTB4MS42ODg4YTRlMTM0YjJlYTUyMGIyMjZlY2E4Njk0YjNhMnAtMSwKLSAgICAtMHgxLjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc0Ci0gICAgMHgxLjY4ODhhNGUxMzRiMmY1YWU1NzlmYmU0ODM0ZjhmZDU1cC0xLAotICAgIDB4MS45MDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NQotICAgIC0weDEuNjg4OGE0ZTEzNGIyZjVhZTU3OWZiZTQ4MzRmOGZkNTVwLTEsCi0gICAgLTB4MS45MDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NgotICAgIC0wLjAsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NwotICAgIDAuMCwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDEwNzgKLSAgICAtMC4wLAotICAgIC0wLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc5Ci0gICAgMC4wLAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MAotICAgIC0wLjAsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MQotICAgIDB4MS45MWY2NWYxMGRkODEyYTBiOTVmZjcxODcxYWI0ODIwN3AtNSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AtNQotICB9LAotICB7IC8vIEVudHJ5IDEwODIKLSAgICAtMHgxLjkxZjY1ZjEwZGQ4MTJhMGI5NWZmNzE4NzFhYjQ4MjA3cC01LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtNQotICB9LAotICB7IC8vIEVudHJ5IDEwODMKLSAgICAweDEuOTFmNjVmMTBkZDgxM2EwNmE2ZjEyZTNkZDlhNmE0MWVwLTUsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg0Ci0gICAgLTB4MS45MWY2NWYxMGRkODEzYTA2YTZmMTJlM2RkOWE2YTQxZXAtNSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg1Ci0gICAgMHgxLjkxZjY1ZjEwZGQ4MTRhMDFiN2UyZWFmNDk4OTg2MWI3cC01LAotICAgIDB4MS45MjFmYjU0NDQyZDE5cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4NgotICAgIC0weDEuOTFmNjVmMTBkZDgxNGEwMWI3ZTJlYWY0OTg5ODYxYjdwLTUsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4NwotICAgIDB4MS45MTdhNmJjMjliNDJhOWNkMmU3ODdlZTAwY2E4ZjhlM3AtNCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AtNAotICB9LAotICB7IC8vIEVudHJ5IDEwODgKLSAgICAtMHgxLjkxN2E2YmMyOWI0MmE5Y2QyZTc4N2VlMDBjYThmOGUzcC00LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtNAotICB9LAotICB7IC8vIEVudHJ5IDEwODkKLSAgICAweDEuOTE3YTZiYzI5YjQyYjliOTc1NGE2NzcyOWY3OTM0NmJwLTQsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkwCi0gICAgLTB4MS45MTdhNmJjMjliNDJiOWI5NzU0YTY3NzI5Zjc5MzQ2YnAtNCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkxCi0gICAgMHgxLjkxN2E2YmMyOWI0MmM5YTViYzFjNTAwNTMyNDdkZTc4cC00LAotICAgIDB4MS45MjFmYjU0NDQyZDE5cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA5MgotICAgIC0weDEuOTE3YTZiYzI5YjQyYzlhNWJjMWM1MDA1MzI0N2RlNzhwLTQsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA5MwotICAgIDB4MS44ZjhiODNjNjlhNjA5NzVmOTg0NTM4ODZmOTUzYTBlNXAtMywKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AtMwotICB9LAotICB7IC8vIEVudHJ5IDEwOTQKLSAgICAtMHgxLjhmOGI4M2M2OWE2MDk3NWY5ODQ1Mzg4NmY5NTNhMGU1cC0zLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMwotICB9LAotICB7IC8vIEVudHJ5IDEwOTUKLSAgICAweDEuOGY4YjgzYzY5YTYwYTcxMGU0MmQzNDM1NTE2ZGRhY2NwLTMsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk2Ci0gICAgLTB4MS44ZjhiODNjNjlhNjBhNzEwZTQyZDM0MzU1MTZkZGFjY3AtMywKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk3Ci0gICAgMHgxLjhmOGI4M2M2OWE2MGI2YzIzMDE1MmZlM2E5ODFkNjg2cC0zLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5OAotICAgIC0weDEuOGY4YjgzYzY5YTYwYjZjMjMwMTUyZmUzYTk4MWQ2ODZwLTMsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5OQotICAgIDB4MS44N2RlMmE2YWVhOTYxYTNlOWRlZGVhNTdmZTdlNjUxNHAtMiwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AtMgotICB9LAotICB7IC8vIEVudHJ5IDExMDAKLSAgICAtMHgxLjg3ZGUyYTZhZWE5NjFhM2U5ZGVkZWE1N2ZlN2U2NTE0cC0yLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMgotICB9LAotICB7IC8vIEVudHJ5IDExMDEKLSAgICAweDEuODdkZTJhNmFlYTk2MjkwNmQzZDU4MzllYTFhNWJjZjBwLTIsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAyCi0gICAgLTB4MS44N2RlMmE2YWVhOTYyOTA2ZDNkNTgzOWVhMWE1YmNmMHAtMiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAzCi0gICAgMHgxLjg3ZGUyYTZhZWE5NjM3Y2YwOWJkMWNlNTQ0YjQ5NmVhcC0yLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEwNAotICAgIC0weDEuODdkZTJhNmFlYTk2MzdjZjA5YmQxY2U1NDRiNDk2ZWFwLTIsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEwNQotICAgIDB4MS42YTA5ZTY2N2YzYmNiYTk5YWZiMDEzNTcyOTQ1Nzg3NHAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDExMDYKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2JhOTlhZmIwMTM1NzI5NDU3ODc0cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AtMQotICB9LAotICB7IC8vIEVudHJ5IDExMDcKLSAgICAweDEuNmEwOWU2NjdmM2JjYzVlOWZlZTM1MmY1MGZkM2Y0ZTlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA5Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2QxM2E0ZTE2OTI5MmY2MDdlZWU1cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTExMAotICAgIC0weDEuNmEwOWU2NjdmM2JjZDEzYTRlMTY5MjkyZjYwN2VlZTVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTExMQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZnAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTExMgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTE0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDExMTUKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMAotICB9LAotICB7IC8vIEVudHJ5IDExMTYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzcC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTExNwotICAgIDB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDliZmFlZWQ0MnAtNTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwMQotICB9LAotICB7IC8vIEVudHJ5IDExMTgKLSAgICAtMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJmYWVlZDQycC01MSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMQotICB9LAotICB7IC8vIEVudHJ5IDExMTkKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIwCi0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDM2ZTJlZHAtNTMsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIxCi0gICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3ZDViYmM1Y3AtNTIsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMQotICB9LAotICB7IC8vIEVudHJ5IDExMjIKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2Q1YmJjNWNwLTUyLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyMwotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YmI4N2NlMWJwLTUwLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTI0Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJiODdjZTFicC01MCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMgotICB9LAotICB7IC8vIEVudHJ5IDExMjUKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MGJmMDAzcC01MiwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyNgotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDBiZjAwM3AtNTIsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTI3Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdiZDZiZjRkcC01MSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyOAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2JkNmJmNGRwLTUxLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyOQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YWFlYjUxODJwLTQ5LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMwCi0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWFhZWI1MTgycC00OSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMwotICB9LAotICB7IC8vIEVudHJ5IDExMzEKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAzNjAyNDVjcC01MSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzMgotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwMzYwMjQ1Y3AtNTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMzCi0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Yzc1YzJjYjBlcC01MCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzNAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjNzVjMmNiMGVwLTUwLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEzNQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5Njg3OTVmMWNwLTQ4LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTM2Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OTY4Nzk1ZjFjcC00OCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNAotICB9LAotICB7IC8vIEVudHJ5IDExMzcKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAwYjBmNWJmcC01MCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEzOAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwMGIwZjViZnAtNTAsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTM5Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzVkNzJmYTExcC00OSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0MAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjNWQ3MmZhMTFwLTQ5LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0MQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ4NWViMTk1ODRwLTQ3LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQyCi0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0ODVlYjE5NTg0cC00NywKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNQotICB9LAotICB7IC8vIEVudHJ5IDExNDMKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmY1ZjQzYjRjcC00OSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0NAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjZmNWY0M2I0Y3AtNDksCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQ1Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YmZjMzNiNjFmcC00OCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0NgotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZiZmMzM2I2MWZwLTQ4LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0NwotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ0Mzc5MjZmMjVwLTQ2LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQ4Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0NDM3OTI2ZjI1cC00NiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNgotICB9LAotICB7IC8vIEVudHJ5IDExNDkKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmNiMDE1MTdkcC00OCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1MAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjZjYjAxNTE3ZHAtNDgsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUxCi0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YTc3MzZhNjU4cC00NywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1MgotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZhNzczNmE2NThwLTQ3LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1MwotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDMzOWIxNWQ1YWFwLTQ1LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTU0Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjAzMzliMTVkNWFhcC00NSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNwotICB9LAotICB7IC8vIEVudHJ5IDExNTUKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNjFmMzVhYTQzcC00NywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1NgotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjYxZjM1YWE0M3AtNDcsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTU3Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2NDYzNDI2NzNhcC00NiwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1OAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjY0NjM0MjY3M2FwLTQ2LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1OQotICAgIDB4MS42YTA5ZTY2N2YzYmNmZmE2MGMwZjUzMzQwZmQyNDkwNHAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2MAotICAgIC0weDEuNmEwOWU2NjdmM2JjZmZhNjBjMGY1MzM0MGZkMjQ5MDRwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYxCi0gICAgMHgxLjZhMDllNjY3ZjNiY2QyNjRjZjQyNTRiYzdhYjBjOWZhcC0xLAotICAgIDB4MS4yZDk3YzdmMzMyMWQycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYyCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNkMjY0Y2Y0MjU0YmM3YWIwYzlmYXAtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMQotICB9LAotICB7IC8vIEVudHJ5IDExNjMKLSAgICAweDEuNmEwOWU2NjdmM2JjYTUyMzkyNzU1NjQ0ZGZlNzIzNTdwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwMQotICB9LAotICB7IC8vIEVudHJ5IDExNjQKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2E1MjM5Mjc1NTY0NGRmZTcyMzU3cC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2NQotICAgIC0weDEuNmEwOWU2NjdmM2JjOGMyZGYxYjc1MmI2MDZhMGE0NzJwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWRwMQotICB9LAotICB7IC8vIEVudHJ5IDExNjYKLSAgICAweDEuNmEwOWU2NjdmM2JjOGMyZGYxYjc1MmI2MDZhMGE0NzJwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTY3Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNiOTZmMmU4NDUxMmRhNDg4ZmYyZHAtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2OAotICAgIDB4MS42YTA5ZTY2N2YzYmNiOTZmMmU4NDUxMmRhNDg4ZmYyZHAtMSwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMQotICB9LAotICB7IC8vIEVudHJ5IDExNjkKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2U2YjA2YjUxNGZhNTNjYzkzMjRmcC0xLAotICAgIDB4MS5mNmE3YTI5NTUzODVmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTcwCi0gICAgMHgxLjZhMDllNjY3ZjNiY2U2YjA2YjUxNGZhNTNjYzkzMjRmcC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3MQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZThiMjdiNmFwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDFwMgotICB9LAotICB7IC8vIEVudHJ5IDExNzIKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZThiMjdiNmFwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTczCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjUwYzliZHAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3NAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjUwYzliZHAtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMgotICB9LAotICB7IC8vIEVudHJ5IDExNzUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZWYxODEwcC0xLAotICAgIDB4MS4yZDk3YzdmMzMyMWQzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTc2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZWYxODEwcC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3NwotICAgIC0weDEuNmEwOWU2NjdmM2JkMzk2MjE5M2I1MzczMDY5YmEwYzJwLTEsCi0gICAgMHgxLjVmZGJiZTliYmE3NzRwMgotICB9LAotICB7IC8vIEVudHJ5IDExNzgKLSAgICAweDEuNmEwOWU2NjdmM2JkMzk2MjE5M2I1MzczMDY5YmEwYzJwLTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTc5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNkZWRmOWZhMTU2ODNlNTFmN2U2MHAtMSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4MAotICAgIDB4MS42YTA5ZTY2N2YzYmNkZWRmOWZhMTU2ODNlNTFmN2U2MHAtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzVwMgotICB9LAotICB7IC8vIEVudHJ5IDExODEKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzg0NWQyNjA3NTk5NGFkMDJiZDk4cC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgyCi0gICAgMHgxLjZhMDllNjY3ZjNiYzg0NWQyNjA3NTk5NGFkMDJiZDk4cC0xLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4MwotICAgIDB4MS42YTA5ZTY2N2YzYmM1MjcxZTQ4YjUyNzZmNDM4NTc5ZnAtMSwKLSAgICAweDEuYzQ2M2FiZWNjYjJiYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4NAotICAgIC0weDEuNmEwOWU2NjdmM2JjNTI3MWU0OGI1Mjc2ZjQzODU3OWZwLTEsCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg1Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2FjZjQ1ZTI1NGY2NjM4Y2ZlOGM2cC0xLAotICAgIDB4MS5jNDYzYWJlY2NiMmJicDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg2Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNhY2Y0NWUyNTRmNjYzOGNmZThjNnAtMSwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmJwMgotICB9LAotICB7IC8vIEVudHJ5IDExODcKLSAgICAweDEuNmEwOWU2NjdmM2JkMDc3NmQ3YmY0YzU1NjZjNmRiODdwLTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmNwMgotICB9LAotICB7IC8vIEVudHJ5IDExODgKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDA3NzZkN2JmNGM1NTY2YzZkYjg3cC0xLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4OQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMzExNzRmNXAtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5MAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTMxMTc0ZjVwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMTk0Y2Q0cC0xLAotICAgIDB4MS5mNmE3YTI5NTUzODVlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTE5NGNkNHAtMSwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMgotICB9LAotICB7IC8vIEVudHJ5IDExOTMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMTI0YjRwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWZwMgotICB9LAotICB7IC8vIEVudHJ5IDExOTQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5MjEyNGI0cC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NQotICAgIDB4MS42YTA5ZTY2N2YzYmRmYWUxZGNjZTRmMTg2NjU2ODFjNnAtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGVmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NgotICAgIC0weDEuNmEwOWU2NjdmM2JkZmFlMWRjY2U0ZjE4NjY1NjgxYzZwLTEsCi0gICAgLTB4MS4xNDc1Y2M5ZWVkZWZmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTk3Ci0gICAgMHgxLjZhMDllNjY3ZjNiZDQ1ZGNlOTlhNTUzYTZkN2Q4MDY1cC0xLAotICAgIDB4MS4xNDc1Y2M5ZWVkZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5OAotICAgIC0weDEuNmEwOWU2NjdmM2JkNDVkY2U5OWE1NTNhNmQ3ZDgwNjVwLTEsCi0gICAgLTB4MS4xNDc1Y2M5ZWVkZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5OQotICAgIDB4MS42YTA5ZTY2N2YzYmM5MGQ3ZjY2NjViNWMxYTIyMDU2YXAtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwMAotICAgIC0weDEuNmEwOWU2NjdmM2JjOTBkN2Y2NjY1YjVjMWEyMjA1NmFwLTEsCi0gICAgLTB4MS4xNDc1Y2M5ZWVkZjAxcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAxCi0gICAgMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzNlMGQ2Yjk0cC00OSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwMgotICAgIC0weDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3M2UwZDZiOTRwLTQ5LAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwMwotICAgIDB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4NWE2ODhiZHAtNTIsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMDQKLSAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTg1YTY4OGJkcC01MiwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMDUKLSAgICAtMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTUzYzBjYzE2cC01MCwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkM3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwNgotICAgIDB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE1M2MwY2MxNnAtNTAsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQzcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjA3Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmI5MGYyMjBmODU2ZDBiMWE0MDZjM3AtMSwKLSAgICAweDEuNDZiOWMzNDc3NjRhMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwOAotICAgIDB4MS42YTA5ZTY2N2YzYmI5MGYyMjBmODU2ZDBiMWE0MDZjM3AtMSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMDkKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzQ1ZjcxNDJjNTBhZjg0ZjI2Yzc1cC0xLAotICAgIDB4MS40NmI5YzM0Nzc2NGEzcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEwCi0gICAgMHgxLjZhMDllNjY3ZjNiYzQ1ZjcxNDJjNTBhZjg0ZjI2Yzc1cC0xLAotICAgIC0weDEuNDZiOWMzNDc3NjRhM3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxMQotICAgIC0weDEuNmEwOWU2NjdmM2JjZmFmYzA3NjA0YThkZmRiZTU4OGRwLTEsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTRwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMTIKLSAgICAweDEuNmEwOWU2NjdmM2JjZmFmYzA3NjA0YThkZmRiZTU4OGRwLTEsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGE0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEzCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDYzNGU5ZnAtMSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxNAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDYzNGU5ZnAtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzRwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMTUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjNDYxMTc4cC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc1cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjE2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjNDYxMTc4cC0xLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxNwotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGIyOGQ0NTFwLTEsCi0gICAgMHgxLjVmZGJiZTliYmE3NzZwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMTgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGIyOGQ0NTFwLTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjE5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmUwNzVjYWQyZDUwZGZjNjhjZDg4ZnAtMSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0NXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIyMAotICAgIDB4MS42YTA5ZTY2N2YzYmUwNzVjYWQyZDUwZGZjNjhjZDg4ZnAtMSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDVwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMjEKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDUyNTdiOWY5NTcwMWQzZjEzZjVkcC0xLAotICAgIDB4MS43OGZkYjllZmZlYTQ2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIyCi0gICAgMHgxLjZhMDllNjY3ZjNiZDUyNTdiOWY5NTcwMWQzZjEzZjVkcC0xLAotICAgIC0weDEuNzhmZGI5ZWZmZWE0NnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIyMwotICAgIC0weDEuNmEwOWU2NjdmM2JjOWQ1MmM2YzU1ZDIzODZkMzJjOTJwLTEsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDdwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMjQKLSAgICAweDEuNmEwOWU2NjdmM2JjOWQ1MmM2YzU1ZDIzODZkMzJjOTJwLTEsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ3cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjI1Ci0gICAgMHgxLjZhMDllNjY3ZjNiYjg0Nzc1MDk5NTUwOTNiYjI5MmJlcC0xLAotICAgIDB4MS5hYjQxYjA5ODg2ZmU4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjI2Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmI4NDc3NTA5OTU1MDkzYmIyOTJiZXAtMSwKLSAgICAtMHgxLmFiNDFiMDk4ODZmZThwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMjcKLSAgICAweDEuNmEwOWU2NjdmM2JjMzk3YzQzY2Q0ZWU4MTUzZTYwYTBwLTEsCi0gICAgMHgxLmFiNDFiMDk4ODZmZTlwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMjgKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzM5N2M0M2NkNGVlODE1M2U2MGEwcC0xLAotICAgIC0weDEuYWI0MWIwOTg4NmZlOXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIyOQotICAgIDB4MS42YTA5ZTY2N2YzYmNlZTgxMzcwMTQ4YzY5NDQ3YjRlN3AtMSwKLSAgICAweDEuYWI0MWIwOTg4NmZlYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzMAotICAgIC0weDEuNmEwOWU2NjdmM2JjZWU4MTM3MDE0OGM2OTQ0N2I0ZTdwLTEsCi0gICAgLTB4MS5hYjQxYjA5ODg2ZmVhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMjE0MWI0cC0xLAotICAgIDB4MS5jNDYzYWJlY2NiMmJhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5MjIxNDFiNHAtMSwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMzMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNzE3YTdwLTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmJwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMzQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDcxN2E3cC0xLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMThjZWQ5YXAtMSwKLSAgICAweDEuYzQ2M2FiZWNjYjJiY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzNgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTE4Y2VkOWFwLTEsCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjM3Ci0gICAgMHgxLjZhMDllNjY3ZjNiZTEzZDc3ZDhjNTJhNzI2NTUwZWFjcC0xLAotICAgIDB4MS5kZDg1YTc0MTBmNThicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjM4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmUxM2Q3N2Q4YzUyYTcyNjU1MGVhY3AtMSwKLSAgICAtMHgxLmRkODVhNzQxMGY1OGJwMwotICB9LAotICB7IC8vIEVudHJ5IDEyMzkKLSAgICAweDEuNmEwOWU2NjdmM2JkNWVkMjhhNTg1OGM5MzlmNmRkYWFwLTEsCi0gICAgMHgxLmRkODVhNzQxMGY1OGNwMwotICB9LAotICB7IC8vIEVudHJ5IDEyNDAKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDVlZDI4YTU4NThjOTM5ZjZkZGFhcC0xLAotICAgIC0weDEuZGQ4NWE3NDEwZjU4Y3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0MQotICAgIDB4MS42YTA5ZTY2N2YzYmNhOWNkOTcyNDVlZWFmMzE2MzMwZXAtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0MgotICAgIC0weDEuNmEwOWU2NjdmM2JjYTljZDk3MjQ1ZWVhZjMxNjMzMGVwLTEsCi0gICAgLTB4MS5kZDg1YTc0MTBmNThkcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQzCi0gICAgMHgxLjU4M2ViZWZmNjVjYzIyNjQ4MGFlNjg1YzE3NjVkZWMxcC00OSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0NAotICAgIC0weDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMTc2NWRlYzFwLTQ5LAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0NQotICAgIDB4MS42MGZhZmJmZDk3MzA4OTkyMDJiOWExNzBjMzk3MWU4NnAtNTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWVwMwotICB9LAotICB7IC8vIEVudHJ5IDEyNDYKLSAgICAtMHgxLjYwZmFmYmZkOTczMDg5OTIwMmI5YTE3MGMzOTcxZTg2cC01MSwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMwotICB9LAotICB7IC8vIEVudHJ5IDEyNDcKLSAgICAtMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0Nzk3NTNmZTdhcC01MCwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0OAotICAgIDB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5NzUzZmU3YXAtNTAsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQ5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmEwZGYyOTlkMjVmODJmNjM5MjUxZnAtMSwKLSAgICAweDEuMDdlNGNlZjRjYmQ5NnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI1MAotICAgIDB4MS42YTA5ZTY2N2YzYmEwZGYyOTlkMjVmODJmNjM5MjUxZnAtMSwKLSAgICAtMHgxLjA3ZTRjZWY0Y2JkOTZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTEKLSAgICAtMHgxLjZhMDllNjY3ZjNiYjc3ZmM4MDNhNTM0MWM1NTJmZTBmcC0xLAotICAgIDB4MS4wN2U0Y2VmNGNiZDk3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUyCi0gICAgMHgxLjZhMDllNjY3ZjNiYjc3ZmM4MDNhNTM0MWM1NTJmZTBmcC0xLAotICAgIC0weDEuMDdlNGNlZjRjYmQ5N3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI1MwotICAgIC0weDEuNmEwOWU2NjdmM2JjZTIwNjY2YTI0NmZmMmE2MmYwOTdwLTEsCi0gICAgMHgxLjA3ZTRjZWY0Y2JkOThwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTQKLSAgICAweDEuNmEwOWU2NjdmM2JjZTIwNjY2YTI0NmZmMmE2MmYwOTdwLTEsCi0gICAgLTB4MS4wN2U0Y2VmNGNiZDk4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjU1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQyNTMxYTQzZHAtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGVmZnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI1NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQyNTMxYTQzZHAtMSwKLSAgICAtMHgxLjE0NzVjYzllZWRlZmZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNTcKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NDM3NjU2cC0xLAotICAgIDB4MS4xNDc1Y2M5ZWVkZnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI1OAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4NjQzNzY1NnAtMSwKLSAgICAtMHgxLjE0NzVjYzllZWRmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjU5Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNzU1NDg2ZnAtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2MAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNzU1NDg2ZnAtMSwKLSAgICAtMHgxLjE0NzVjYzllZWRmMDFwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNjEKLSAgICAtMHgxLjZhMDllNjY3ZjNiZWQ1NTc0MTFmNGU0YzExNGQ3MzU3cC0xLAotICAgIDB4MS4yMTA2Y2E0OTEwMDY4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYyCi0gICAgMHgxLjZhMDllNjY3ZjNiZWQ1NTc0MTFmNGU0YzExNGQ3MzU3cC0xLAotICAgIC0weDEuMjEwNmNhNDkxMDA2OHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2MwotICAgIC0weDEuNmEwOWU2NjdmM2JkNmI0ZDVhYjc1YTkwOWY4ZTViNGNwLTEsCi0gICAgMHgxLjIxMDZjYTQ5MTAwNjlwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNjQKLSAgICAweDEuNmEwOWU2NjdmM2JkNmI0ZDVhYjc1YTkwOWY4ZTViNGNwLTEsCi0gICAgLTB4MS4yMTA2Y2E0OTEwMDY5cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY1Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmMwMTQzNzQ0ZjY2ZDNjM2M1NWNkOXAtMSwKLSAgICAweDEuMjEwNmNhNDkxMDA2YXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2NgotICAgIDB4MS42YTA5ZTY2N2YzYmMwMTQzNzQ0ZjY2ZDNjM2M1NWNkOXAtMSwKLSAgICAtMHgxLjIxMDZjYTQ5MTAwNmFwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNjcKLSAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzA1Y2VjMTIwcC00OCwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2OAotICAgIDB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4MzcwNWNlYzEyMHAtNDgsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY5Ci0gICAgLTB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4MzYyYjk2OHAtNTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzAKLSAgICAweDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODM2MmI5NjhwLTUxLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3MQotICAgIDB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTEzM2QxMGFiZXAtNDksCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzIKLSAgICAtMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTMzZDEwYWJlcC00OSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDNwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzMKLSAgICAweDEuNmEwOWU2NjdmM2JhMDE3N2M5NzM1ZGJiNzJmMDlmNjVwLTEsCi0gICAgMHgxLjNhMjhjNTlkNTQzMzlwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzQKLSAgICAtMHgxLjZhMDllNjY3ZjNiYTAxNzdjOTczNWRiYjcyZjA5ZjY1cC0xLAotICAgIC0weDEuM2EyOGM1OWQ1NDMzOXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3NQotICAgIDB4MS42YTA5ZTY2N2YzYmI2YjgxYWZkYjUxN2E0ZTg1NDhiNHAtMSwKLSAgICAweDEuM2EyOGM1OWQ1NDMzYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI3NgotICAgIC0weDEuNmEwOWU2NjdmM2JiNmI4MWFmZGI1MTdhNGU4NTQ4YjRwLTEsCi0gICAgLTB4MS4zYTI4YzU5ZDU0MzNhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjc3Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2Q1OGI5NjQzNDUzN2MwMTAwYjlicC0xLAotICAgIDB4MS4zYTI4YzU5ZDU0MzNicDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjc4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNkNThiOTY0MzQ1MzdjMDEwMGI5YnAtMSwKLSAgICAtMHgxLjNhMjhjNTlkNTQzM2JwNAotICB9LAotICB7IC8vIEVudHJ5IDEyNzkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDcxMWY0MzdwLTEsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTJwNAotICB9LAotICB7IC8vIEVudHJ5IDEyODAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDA3MTFmNDM3cC0xLAotICAgIC0weDEuNDZiOWMzNDc3NjRhMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI4MQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWM5ZWM4M3AtMSwKLSAgICAweDEuNDZiOWMzNDc3NjRhM3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI4MgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzljOWVjODNwLTEsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEzcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODFlNGNmcC0xLAotICAgIDB4MS40NmI5YzM0Nzc2NGE0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzgxZTRjZnAtMSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyODUKLSAgICAweDEuNmEwOWU2NjdmM2JlZTFkMjExN2U1MDEzNjlmYmZmZWZwLTEsCi0gICAgMHgxLjUzNGFjMGYxOTg2MGJwNAotICB9LAotICB7IC8vIEVudHJ5IDEyODYKLSAgICAtMHgxLjZhMDllNjY3ZjNiZWUxZDIxMTdlNTAxMzY5ZmJmZmVmcC0xLAotICAgIC0weDEuNTM0YWMwZjE5ODYwYnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI4NwotICAgIDB4MS42YTA5ZTY2N2YzYmQ3N2M4MmIxNjVjNTgwNGI3Yjg0M3AtMSwKLSAgICAweDEuNTM0YWMwZjE5ODYwY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI4OAotICAgIC0weDEuNmEwOWU2NjdmM2JkNzdjODJiMTY1YzU4MDRiN2I4NDNwLTEsCi0gICAgLTB4MS41MzRhYzBmMTk4NjBjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg5Ci0gICAgMHgxLjZhMDllNjY3ZjNiYzBkYmU0NGFlNjg5YjM1Njk4YTJmcC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMwZGJlNDRhZTY4OWIzNTY5OGEyZnAtMSwKLSAgICAtMHgxLjUzNGFjMGYxOTg2MGRwNAotICB9LAotICB7IC8vIEVudHJ5IDEyOTEKLSAgICAweDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwMzc1NDY0ZGVwLTQ4LAotICAgIDB4MS41ZmRiYmU5YmJhNzc0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkyCi0gICAgLTB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDAzNzU0NjRkZXAtNDgsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkzCi0gICAgMHgxLmVlMmMyZDk2M2ExMGMwOTkzNzAzZTIwNDQyYWQ3YjhkcC01MSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI5NAotICAgIC0weDEuZWUyYzJkOTYzYTEwYzA5OTM3MDNlMjA0NDJhZDdiOGRwLTUxLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI5NQotICAgIC0weDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdlYzhkZDE3NWJwLTQ5LAotICAgIDB4MS41ZmRiYmU5YmJhNzc2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjk2Ci0gICAgMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZWM4ZGQxNzVicC00OSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzZwNAotICB9LAotICB7IC8vIEVudHJ5IDEyOTcKLSAgICAtMHgxLjZhMDllNjY3ZjNiOWY0ZmNmOTE0NWJmM2VmMzlmOTAxcC0xLAotICAgIDB4MS42YzZjYmM0NWRjOGRjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjk4Ci0gICAgMHgxLjZhMDllNjY3ZjNiOWY0ZmNmOTE0NWJmM2VmMzlmOTAxcC0xLAotICAgIC0weDEuNmM2Y2JjNDVkYzhkY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI5OQotICAgIC0weDEuNmEwOWU2NjdmM2JiNWYwNmRmN2M0ZmIyZDc0OTcyYWVwLTEsCi0gICAgMHgxLjZjNmNiYzQ1ZGM4ZGRwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMDAKLSAgICAweDEuNmEwOWU2NjdmM2JiNWYwNmRmN2M0ZmIyZDc0OTcyYWVwLTEsCi0gICAgLTB4MS42YzZjYmM0NWRjOGRkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAxCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNjOTEwYzVlNDQzNzA1NTRmMDVmNHAtMSwKLSAgICAweDEuNmM2Y2JjNDVkYzhkZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMwMgotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTEwYzVlNDQzNzA1NTRmMDVmNHAtMSwKLSAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGVwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMDMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2U4NTY4NWJkcC0xLAotICAgIDB4MS43OGZkYjllZmZlYTQ1cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzA0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2U4NTY4NWJkcC0xLAotICAgIC0weDEuNzhmZGI5ZWZmZWE0NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMwNQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNmNiNGE0M2RwLTEsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDZwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMDYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNmNiNGE0M2RwLTEsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzA3Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTEyYzJiY3AtMSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0N3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMwOAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTEyYzJiY3AtMSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMDkKLSAgICAtMHgxLjZhMDllNjY3ZjNiZWVlNGNlMWRkNTFkYWMyM2M2YmRjcC0xLAotICAgIDB4MS44NThlYjc5YTIwYmFlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEwCi0gICAgMHgxLjZhMDllNjY3ZjNiZWVlNGNlMWRkNTFkYWMyM2M2YmRjcC0xLAotICAgIC0weDEuODU4ZWI3OWEyMGJhZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMxMQotICAgIC0weDEuNmEwOWU2NjdmM2JkODQ0MmZiNzU1ZTFmNjk3MmY0OGZwLTEsCi0gICAgMHgxLjg1OGViNzlhMjBiYWZwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMTIKLSAgICAweDEuNmEwOWU2NjdmM2JkODQ0MmZiNzU1ZTFmNjk3MmY0OGZwLTEsCi0gICAgLTB4MS44NThlYjc5YTIwYmFmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzEzCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMxYTM5MTUwZDZhNjJhNjlmOTZkYXAtMSwKLSAgICAweDEuODU4ZWI3OWEyMGJiMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMxNAotICAgIDB4MS42YTA5ZTY2N2YzYmMxYTM5MTUwZDZhNjJhNjlmOTZkYXAtMSwKLSAgICAtMHgxLjg1OGViNzlhMjBiYjBwNAotICB9LAotICB7IC8vIEVudHJ5IDEzMTUKLSAgICAweDEuZmE3Mjk5YjE3NTczZDM3M2M2MTUwOTY1NzJhMGRlMDRwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzE2Ci0gICAgLTB4MS5mYTcyOTliMTc1NzNkMzczYzYxNTA5NjU3MmEwZGUwNHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzE3Ci0gICAgMHgxLmZmZjZkZmQ0MmRjNTQ0MzBiYzA1NzZiMDBhODhiZDk0cC0xLAotICAgIDB4MS4wcDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxOAotICAgIC0weDEuZmZmNmRmZDQyZGM1NDQzMGJjMDU3NmIwMGE4OGJkOTRwLTEsCi0gICAgLTB4MS4wcDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxOQotICAgIDB4MS5lNDU2YjgxOGU3Mzk2YjQ1OTg5OTc4ZDRiN2ViZjdiM3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA2MwotICB9LAotICB7IC8vIEVudHJ5IDEzMjAKLSAgICAtMHgxLmU0NTZiODE4ZTczOTZiNDU5ODk5NzhkNGI3ZWJmN2IzcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXA2MwotICB9LAotICB7IC8vIEVudHJ5IDEzMjEKLSAgICAtMHgxLjg2ZGNjYTBkNjg5ZTdiNTZlZjc5NDgxYmU0YTY0NWM2cC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyMgotICAgIDB4MS44NmRjY2EwZDY4OWU3YjU2ZWY3OTQ4MWJlNGE2NDVjNnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIzCi0gICAgLTB4MS44NmRjYzliYWJiMGE0MGVlODc1Y2FiM2I5ZTg5Mjc1N3AtMSwKLSAgICAweDEuMHAyNwotICB9LAotICB7IC8vIEVudHJ5IDEzMjQKLSAgICAweDEuODZkY2M5YmFiYjBhNDBlZTg3NWNhYjNiOWU4OTI3NTdwLTEsCi0gICAgLTB4MS4wcDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyNQotICAgIC0weDEuODZkY2M5MTU1ZmUxODJkNDUxNTU5OTQyNmJiMTRiOTRwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzI2Ci0gICAgMHgxLjg2ZGNjOTE1NWZlMTgyZDQ1MTU1OTk0MjZiYjE0Yjk0cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNwotICB9LAotICB7IC8vIEVudHJ5IDEzMjcKLSAgICAtMHgxLjhmMjJmODRkNDJkYTFmNTc0NjlkZmFhYzQ0YThiNzNhcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyOAotICAgIDB4MS44ZjIyZjg0ZDQyZGExZjU3NDY5ZGZhYWM0NGE4YjczYXAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzI5Ci0gICAgLTB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKLSAgICAweDEuMHAyNAotICB9LAotICB7IC8vIEVudHJ5IDEzMzAKLSAgICAweDEuOGYyMmY4NDMzZDZlZGZlOWE0YWZmOTYyMjUxN2NhYTlwLTEsCi0gICAgLTB4MS4wcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMzMQotICAgIC0weDEuOGYyMmY4MmYzMjk4NWZlMzA2OTljNmUxMmQ5ZGZjZTJwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMyCi0gICAgMHgxLjhmMjJmODJmMzI5ODVmZTMwNjk5YzZlMTJkOWRmY2UycC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyNAotICB9LAotICB7IC8vIEVudHJ5IDEzMzMKLSAgICAtMHgxLjgzN2I5ZGRkYzFlYWJkMzc5ZDcyOWY1NzVmYzExNDRjcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzM0Ci0gICAgMHgxLjgzN2I5ZGRkYzFlYWJkMzc5ZDcyOWY1NzVmYzExNDRjcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMzNQotICAgIC0weDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCi0gICAgMHgxLjBwMgotICB9LAotICB7IC8vIEVudHJ5IDEzMzYKLSAgICAweDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCi0gICAgLTB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzM3Ci0gICAgLTB4MS44MzdiOWRkZGMxZWIzYWI3ODE5YmMyMzNkYjQ2OTdiNXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMzOAotICAgIDB4MS44MzdiOWRkZGMxZWIzYWI3ODE5YmMyMzNkYjQ2OTdiNXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMgotICB9LAotICB7IC8vIEVudHJ5IDEzMzkKLSAgICAweDEuZDE4ZjZlYWQxYjQ0NmI0YmNiNzNjMjM5MGIzMzBkNzVwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNDAKLSAgICAtMHgxLmQxOGY2ZWFkMWI0NDZiNGJjYjczYzIzOTBiMzMwZDc1cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0MQotICAgIDB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKLSAgICAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0MgotICAgIC0weDEuZDE4ZjZlYWQxYjQ0NWRmYWI4NDgxODgwMDljOWJiOTVwLTEsCi0gICAgLTB4MS4wcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQzCi0gICAgMHgxLmQxOGY2ZWFkMWI0NDQzNTg5MWYwYzUwZTAxODI2OTg4cC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQ0Ci0gICAgLTB4MS5kMThmNmVhZDFiNDQ0MzU4OTFmMGM1MGUwMTgyNjk4OHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDEzNDUKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZDc5Yzc5Y2JmNzkwNDQxZjgxOTdwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQ2Ci0gICAgLTB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQ3Ci0gICAgMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIDB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQ4Ci0gICAgLTB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKLSAgICAtMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNDkKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNTAKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWYxOGJiNWUzODcxYTE0ZDk0NjA5cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1MQotICAgIDB4MS5lYWVlODc0NGIwNWVmMDdjZDBiOTA4OTEzMDU5ODMxNHAtMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEzNTIKLSAgICAtMHgxLmVhZWU4NzQ0YjA1ZWYwN2NkMGI5MDg5MTMwNTk4MzE0cC0yLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEzNTMKLSAgICAweDEuZWFlZTg3NDRiMDVlZmU4NzY0YmMzNjRmZDgzN2I2NjZwLTIsCi0gICAgMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzU0Ci0gICAgLTB4MS5lYWVlODc0NGIwNWVmZTg3NjRiYzM2NGZkODM3YjY2NnAtMiwKLSAgICAtMHgxLjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzU1Ci0gICAgMHgxLmVhZWU4NzQ0YjA1ZjFhOWM4Y2MyOTFjZDI3OTgxMDUxcC0yLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1NgotICAgIC0weDEuZWFlZTg3NDRiMDVmMWE5YzhjYzI5MWNkMjc5ODEwNTFwLTIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1NwotICAgIDB4MS5mYWFlZWQ0ZjMxNTc1YzI3ZjM5YzFkN2MwMTJhNDQxM3AtMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzNTgKLSAgICAtMHgxLmZhYWVlZDRmMzE1NzVjMjdmMzljMWQ3YzAxMmE0NDEzcC0zLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEzNTkKLSAgICAweDEuZmFhZWVkNGYzMTU3NmJhODlkZWJkYzczNTFlOGIxYWVwLTMsCi0gICAgMHgxLjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYwCi0gICAgLTB4MS5mYWFlZWQ0ZjMxNTc2YmE4OWRlYmRjNzM1MWU4YjFhZXAtMywKLSAgICAtMHgxLjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYxCi0gICAgMHgxLmZhYWVlZDRmMzE1NzhhYTlmMjhiNWE2MWYzNGRjY2IxcC0zLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2MgotICAgIC0weDEuZmFhZWVkNGYzMTU3OGFhOWYyOGI1YTYxZjM0ZGNjYjFwLTMsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2MwotICAgIDB4MS5mZWFhZWVlODZlZTM0Y2MwNWVmZjI4NzQwZWU3YjQ2OXAtNCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEzNjQKLSAgICAtMHgxLmZlYWFlZWU4NmVlMzRjYzA1ZWZmMjg3NDBlZTdiNDY5cC00LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEzNjUKLSAgICAweDEuZmVhYWVlZTg2ZWUzNWNhMDY5YTg2NzIxZjg5Zjg1YTVwLTQsCi0gICAgMHgxLjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzY2Ci0gICAgLTB4MS5mZWFhZWVlODZlZTM1Y2EwNjlhODY3MjFmODlmODVhNXAtNCwKLSAgICAtMHgxLjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzY3Ci0gICAgMHgxLmZlYWFlZWU4NmVlMzdjNjA3ZWZhZTQ3ZGNjMDkyYzFjcC00LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2OAotICAgIC0weDEuZmVhYWVlZTg2ZWUzN2M2MDdlZmFlNDdkY2MwOTJjMWNwLTQsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2OQotICAgIDB4MS5mZmFhYWVlZWQ0ZWQ5YjUzYTQwOGMwZjJiYzAyYzhmOXAtNSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEzNzAKLSAgICAtMHgxLmZmYWFhZWVlZDRlZDliNTNhNDA4YzBmMmJjMDJjOGY5cC01LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEzNzEKLSAgICAweDEuZmZhYWFlZWVkNGVkYWI0YmE0YjM2NWVkMjVhOTU5NWZwLTUsCi0gICAgMHgxLjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzcyCi0gICAgLTB4MS5mZmFhYWVlZWQ0ZWRhYjRiYTRiMzY1ZWQyNWE5NTk1ZnAtNSwKLSAgICAtMHgxLjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzczCi0gICAgMHgxLmZmYWFhZWVlZDRlZGNiM2JhNjA4YWZlMWY4ZjRmYTZicC01LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM3NAotICAgIC0weDEuZmZhYWFlZWVkNGVkY2IzYmE2MDhhZmUxZjhmNGZhNmJwLTUsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM3NQotICAgIDB4MS5mZmVhYWFlZWVlODZkOGNjZmUzNjhjZDk1ZTM4ZjAwM3AtNiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEzNzYKLSAgICAtMHgxLmZmZWFhYWVlZWU4NmQ4Y2NmZTM2OGNkOTVlMzhmMDAzcC02LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEzNzcKLSAgICAweDEuZmZlYWFhZWVlZTg2ZThjYWZlNDEzNzZkNDc5MTk1NzlwLTYsCi0gICAgMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzc4Ci0gICAgLTB4MS5mZmVhYWFlZWVlODZlOGNhZmU0MTM3NmQ0NzkxOTU3OXAtNiwKLSAgICAtMHgxLjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzc5Ci0gICAgMHgxLmZmZWFhYWVlZWU4NzA4YzZmZTU2OGM5NTFhNDI4MDY5cC02LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4MAotICAgIC0weDEuZmZlYWFhZWVlZTg3MDhjNmZlNTY4Yzk1MWE0MjgwNjlwLTYsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4MQotICAgIDB4MS5mZmZhYWFhZWVlZWQzZWQ1YzljNWFiNjUzOGY5Y2NlMHAtNywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDEzODIKLSAgICAtMHgxLmZmZmFhYWFlZWVlZDNlZDVjOWM1YWI2NTM4ZjljY2UwcC03LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtNwotICB9LAotICB7IC8vIEVudHJ5IDEzODMKLSAgICAweDEuZmZmYWFhYWVlZWVkNGVkNTQ5YzY1NjBmODg5ZWU1MzFwLTcsCi0gICAgMHgxLjBwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzg0Ci0gICAgLTB4MS5mZmZhYWFhZWVlZWQ0ZWQ1NDljNjU2MGY4ODllZTUzMXAtNywKLSAgICAtMHgxLjBwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzg1Ci0gICAgMHgxLmZmZmFhYWFlZWVlZDZlZDQ0OWM3YWI2NDI3ZThmZGQ0cC03LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4NgotICAgIC0weDEuZmZmYWFhYWVlZWVkNmVkNDQ5YzdhYjY0MjdlOGZkZDRwLTcsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4NwotICAgIDB4MS5mZmZmZmZmYWFhYWE5YWFlZWVlZjZlZWQ0ZWQ0NDJhNHAtMTUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM4OAotICAgIC0weDEuZmZmZmZmZmFhYWFhOWFhZWVlZWY2ZWVkNGVkNDQyYTRwLTE1LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzg5Ci0gICAgMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKLSAgICAweDEuMHAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkwCi0gICAgLTB4MS5mZmZmZmZmYWFhYWFhYWFlZWVlZWVlZWQ0ZWQ0ZWQ0ZnAtMTUsCi0gICAgLTB4MS4wcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEzOTEKLSAgICAweDEuZmZmZmZmZmFhYWFhY2FhZWVlZWRlZWVkNGVkNjQyYTRwLTE1LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEzOTIKLSAgICAtMHgxLmZmZmZmZmZhYWFhYWNhYWVlZWVkZWVlZDRlZDY0MmE0cC0xNSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM5MwotICAgIDB4MS5mZmZmZmZmZmZmZmZlZWFhYWFhYWFhYWFhYWNhZWVlZXAtMjgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM5NAotICAgIC0weDEuZmZmZmZmZmZmZmZmZWVhYWFhYWFhYWFhYWFjYWVlZWVwLTI4LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzk1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKLSAgICAweDEuMHAtMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzk2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFhZWVlZXAtMjgsCi0gICAgLTB4MS4wcC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEzOTcKLSAgICAweDEuMDAwMDAwMDAwMDAwMGY1NTU1NTU1NTU1NTUzNTc3NzdwLTI3LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEzOTgKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDBmNTU1NTU1NTU1NTU1MzU3Nzc3cC0yNywKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTM5OQotICAgIDB4MS5mZmZmZmZmZmZmZmZlZmZhYWFhYWFhYWFhYWFiMmFhZXAtMzEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQwMAotICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmYWFhYWFhYWFhYWFhYjJhYWVwLTMxLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKLSAgICAweDEuMHAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFhZXAtMzEsCi0gICAgLTB4MS4wcC0zMAotICB9LAotICB7IC8vIEVudHJ5IDE0MDMKLSAgICAweDEuMDAwMDAwMDAwMDAwMGZmZDU1NTU1NTU1NTU1NGQ1NTdwLTMwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0zMAotICB9LAotICB7IC8vIEVudHJ5IDE0MDQKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDBmZmQ1NTU1NTU1NTU1NTRkNTU3cC0zMCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQwNQotICAgIC0weDEuNDUyZmM5OGIzNGU5NmI2MTEzOWIwOWE3Yzg0YTQ0YmRwLTgsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDA2Ci0gICAgMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDA3Ci0gICAgMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDA4Ci0gICAgLTB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDE0MDkKLSAgICAweDEuNDUyZmM5OGIzNGU5NmI2MTEzOWIwOWE3Yzg0YTQ0YmRwLTgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDE0MTAKLSAgICAtMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxMQotICAgIDB4MS5kYWEzNjc3YzZlZThhMjJlYjZjNGIxMmNhMTBjZTAyMXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxMgotICAgIC0weDEuZGFhMzY3N2M2ZWU4YTIyZWI2YzRiMTJjYTEwY2UwMjFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDEzCi0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MzZlMmVkcC01MywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxNAotICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxNgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzFwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDE3Ci0gICAgMHgxLmFlZDU0OGYwOTBjZWYxOGJiNWUzODcxYTE0ZDk0NjA5cC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDE4Ci0gICAgLTB4MS5hZWQ1NDhmMDkwY2VmMThiYjVlMzg3MWExNGQ5NDYwOXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDE0MTkKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDE0MjAKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIC0weDEuMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQyMQotICAgIDB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0MjIKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWQ3OWM3OWNiZjc5MDQ0MWY4MTk3cC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0MjMKLSAgICAweDEuNmEwOWU2NjdmM2JjYzVlOWZlZTM1MmY1MGZkM2Y0ZTlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDI0Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDI1Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIyLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQyNgotICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQyNwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDE0MjgKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAotICAgIC0weDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDE0MjkKLSAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMwCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDIzLAotICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQzMgotICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQzMwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTA3NCwKLSAgICAweDEuMHAtMTA3MwotICB9LAotICB7IC8vIEVudHJ5IDE0MzQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMDc0LAotICAgIC0weDEuMHAtMTA3MwotICB9LAotICB7IC8vIEVudHJ5IDE0MzUKLSAgICAwLjAsCi0gICAgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDM2Ci0gICAgLTAuMCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDM3Ci0gICAgMC4wLAotICAgIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDE0MzgKLSAgICAtMC4wLAotICAgIC0wLjAKLSAgfSwKLX07Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwotCi1URVNUKG1hdGhfc2luLCBzaW5faW50ZWwpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZW9mKGdfc2luX2ludGVsX2RhdGEpL3NpemVvZihzaW5faW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0RPVUJMRV9FUShnX3Npbl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCBzaW4oZ19zaW5faW50ZWxfZGF0YVtpXS5jYWxsX2RhdGEpKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOwotICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi19CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX3NpbmNvc190ZXN0LmNwcCBiL3Rlc3RzL21hdGhfc2luY29zX3Rlc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmFiMmMyLi4wMDAwMDAwCi0tLSBhL3Rlc3RzL21hdGhfc2luY29zX3Rlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDc4OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPG1hdGguaD4KLQotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGRvdWJsZSBzaW5fZXhwZWN0ZWQ7Ci0gIGRvdWJsZSBjb3NfZXhwZWN0ZWQ7Ci0gIGRvdWJsZSBjYWxsX2RhdGE7Ci19IHNpbmNvc19pbnRlbF9kYXRhX3Q7Ci0KLXN0YXRpYyBzaW5jb3NfaW50ZWxfZGF0YV90IGdfc2luY29zX2ludGVsX2RhdGFbXSA9IHsKLSAgeyAvLyBFbnRyeSAwCi0gICAgLTB4MS5jZTlhOTRlYTljMmFkOTU1OTdiMTE5M2IyMzAwZDE5YXAtMSwKLSAgICAtMHgxLmI2ZDMwNTc3NzZkYzM4MzM1YjE2NzQ1ZjJkNzU2YWI2cC0yLAotICAgIC0weDEuMDFjMDAwMDAzcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIDB4MS5jZTlhOTRlYTljMmFkOTU1OTdiMTE5M2IyMzAwZDE5YXAtMSwKLSAgICAtMHgxLmI2ZDMwNTc3NzZkYzM4MzM1YjE2NzQ1ZjJkNzU2YWI2cC0yLAotICAgIDB4MS4wMWMwMDAwMDNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyCi0gICAgLTB4MS5jZTJjYWQyZjkyMTU3MTUzYjRhOWUwMTJlMzQ2MWQwYXAtMSwKLSAgICAtMHgxLmI4YTE0Yzc0NWJkNGM4MzJiYWU5Nzg1NjU1YzkxYjYwcC0yLAotICAgIC0weDEuMDFmZmZjMDgwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMwotICAgIDB4MS5jZTJjYWQyZjkyMTU3MTUzYjRhOWUwMTJlMzQ2MWQwYXAtMSwKLSAgICAtMHgxLmI4YTE0Yzc0NWJkNGM4MzJiYWU5Nzg1NjU1YzkxYjYwcC0yLAotICAgIDB4MS4wMWZmZmMwODBwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgLTB4MS4xYTc0NDQ3MjZmNWU5ZGMyZWUwNjlkYzNlNTAwYWI0ZnAtMiwKLSAgICAweDEuZWMyMzE4MDI5MTdiZGZmYTYyN2FiNmE1OWFiZTNmN2RwLTEsCi0gICAgLTB4MS4xZTJhMTU2M2UwNjhlcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDUKLSAgICAweDEuMWE3NDQ0NzI2ZjVlOWRjMmVlMDY5ZGMzZTUwMGFiNGZwLTIsCi0gICAgMHgxLmVjMjMxODAyOTE3YmRmZmE2MjdhYjZhNTlhYmUzZjdkcC0xLAotICAgIDB4MS4xZTJhMTU2M2UwNjhlcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDYKLSAgICAtMHgxLmVmZGFiNWU2NWM4ZmQ1NTBkNDY4OGI2Mjc5MWZlNjk0cC0xLAotICAgIDB4MS5mZTQxMjNkMjY2Y2EzN2ZhZWVlODIyMTM4ZWIzMzFkM3AtMywKLSAgICAtMHgxLjgzZWYyMTk2ZjkyZjBwODcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNwotICAgIDB4MS5lZmRhYjVlNjVjOGZkNTUwZDQ2ODhiNjI3OTFmZTY5NHAtMSwKLSAgICAweDEuZmU0MTIzZDI2NmNhMzdmYWVlZTgyMjEzOGViMzMxZDNwLTMsCi0gICAgMHgxLjgzZWYyMTk2ZjkyZjBwODcsCi0gIH0sCi0gIHsgLy8gRW50cnkgOAotICAgIC0weDEuZWZmNWVkYjFhZDQxNmNiNmNhMzEwOWYxYzBkZmMzNGFwLTEsCi0gICAgMHgxLmZjOTkzNWE3NDgxNzE3ZmE4YWVjYTdhOWM1ODMzMDg0cC0zLAotICAgIC0weDEuYTQ4NmQ3OTc2NGZiOHA4NiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5Ci0gICAgMHgxLmVmZjVlZGIxYWQ0MTZjYjZjYTMxMDlmMWMwZGZjMzRhcC0xLAotICAgIDB4MS5mYzk5MzVhNzQ4MTcxN2ZhOGFlY2E3YTljNTgzMzA4NHAtMywKLSAgICAweDEuYTQ4NmQ3OTc2NGZiOHA4NiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMAotICAgIC0weDEuYjc4ZjJjOTdjODgwMjgzOTZlYzk0YmE5ZWE1OGRkNjhwLTIsCi0gICAgMHgxLmNlNmRlYTY3ODhmZGU0MjVmNjhmZTMzYjBmZmNjMjQ0cC0xLAotICAgIC0weDEuYzY1MTczNTU2Y2NmYnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIDB4MS5iNzhmMmM5N2M4ODAyODM5NmVjOTRiYTllYTU4ZGQ2OHAtMiwKLSAgICAweDEuY2U2ZGVhNjc4OGZkZTQyNWY2OGZlMzNiMGZmY2MyNDRwLTEsCi0gICAgMHgxLmM2NTE3MzU1NmNjZmJwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIKLSAgICAtMHgxLmM3ODg1YWVmMzNhOTRmZmM1YWUwNmJlOTQ0NGVmYWQ1cC0zLAotICAgIDB4MS5mMzJjODc5MjAwNjM0OWIzM2IwOWZlNTdmODBkOWVkMXAtMSwKLSAgICAtMHgxLmNiNnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMwotICAgIDB4MS5jNzg4NWFlZjMzYTk0ZmZjNWFlMDZiZTk0NDRlZmFkNXAtMywKLSAgICAweDEuZjMyYzg3OTIwMDYzNDliMzNiMDlmZTU3ZjgwZDllZDFwLTEsCi0gICAgMHgxLmNiNnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNAotICAgIC0weDEuZjc0YTk3YWJiNDdiYzgyM2U5MmViOWQ2NmYxZDhiNTRwLTMsCi0gICAgMHgxLmYwNGM4NTllMDYyYjkyMDJhYTJiOWJmMDQ4NmI1YWZkcC0xLAotICAgIC0weDEuZmM3ZmZmZmZmZmZmZXAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNQotICAgIDB4MS5mNzRhOTdhYmI0N2JjODIzZTkyZWI5ZDY2ZjFkOGI1NHAtMywKLSAgICAweDEuZjA0Yzg1OWUwNjJiOTIwMmFhMmI5YmYwNDg2YjVhZmRwLTEsCi0gICAgMHgxLmZjN2ZmZmZmZmZmZmVwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAweDEuMDAwMDAwMDAwMDAwMmZmZmQ1NTU1NTU1NTU1NTNkNTVwLTMyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmZmZmZmYTBwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDNwLTMyLAotICB9LAotICB7IC8vIEVudHJ5IDE3Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAyZmZmZDU1NTU1NTU1NTU1M2Q1NXAtMzIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZhMHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDNwLTMyLAotICB9LAotICB7IC8vIEVudHJ5IDE4Ci0gICAgMHgxLmQxOGY2ZWFkMTk5YTNiOTU0MzBkNTUxNmU5M2M4ZDdicC0xLAotICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDEwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkKLSAgICAtMHgxLmQxOGY2ZWFkMTk5YTNiOTU0MzBkNTUxNmU5M2M4ZDdicC0xLAotICAgIC0weDEuYWEyMjY1NzUzZTY2ODdmZGU3NjI2OWVlOTJhNzg0YjBwLTIsCi0gICAgLTB4MS4wMDAwMDAwMDAxMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLmI2NGQ1OWRkOGE1MjQ5ZTAxMTEzZjRjYjM3ZDEzYzQwcC0xLAotICAgIC0weDEuMDhhNDQ1YWQ0NzM3ZTgwMDYwY2YzYTVmZjk0ZDMwNjdwLTEsCi0gICAgMHgxLjAwMXA1NTcsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEKLSAgICAtMHgxLmI2NGQ1OWRkOGE1MjQ5ZTAxMTEzZjRjYjM3ZDEzYzQwcC0xLAotICAgIC0weDEuMDhhNDQ1YWQ0NzM3ZTgwMDYwY2YzYTVmZjk0ZDMwNjdwLTEsCi0gICAgLTB4MS4wMDFwNTU3LAotICB9LAotICB7IC8vIEVudHJ5IDIyCi0gICAgMHgxLmNlNzdmMjRmZDRkOWE3OTAxMjVmZjUyOTBhNjJiN2YxcC0xLAotICAgIC0weDEuYjc2NGY0MGM5NzE2YjgzNGJiNzI1ODkzNDhjZmE0YjhwLTIsCi0gICAgMHgxLjAxZDQzMTM3NTc0ODJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMwotICAgIC0weDEuY2U3N2YyNGZkNGQ5YTc5MDEyNWZmNTI5MGE2MmI3ZjFwLTEsCi0gICAgLTB4MS5iNzY0ZjQwYzk3MTZiODM0YmI3MjU4OTM0OGNmYTRiOHAtMiwKLSAgICAtMHgxLjAxZDQzMTM3NTc0ODJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIDB4MS5jZTM5YjdkZjdmNGFjYjgxZTM3YzUzMjYzOGY5YmY0OXAtMSwKLSAgICAtMHgxLmI4NmE5MDhmMDVjMGE4MzllMTlkNGFhNjMxNTZkMzJicC0yLAotICAgIDB4MS4wMWY4NjdkNDRiYzgycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUKLSAgICAtMHgxLmNlMzliN2RmN2Y0YWNiODFlMzdjNTMyNjM4ZjliZjQ5cC0xLAotICAgIC0weDEuYjg2YTkwOGYwNWMwYTgzOWUxOWQ0YWE2MzE1NmQzMmJwLTIsCi0gICAgLTB4MS4wMWY4NjdkNDRiYzgycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYKLSAgICAweDEuY2U3MDA0NmFjYjgwZGU3NWU5MDM0NjhjZWE4YWI0MjdwLTEsCi0gICAgLTB4MS5iNzg2NTQ3NjZjNzY0ODNjZTkwYTBiYzJhYzk1N2I1OXAtMiwKLSAgICAweDEuMDk4NjBlOGVkMWU5MHAzLAotICB9LAotICB7IC8vIEVudHJ5IDI3Ci0gICAgLTB4MS5jZTcwMDQ2YWNiODBkZTc1ZTkwMzQ2OGNlYThhYjQyN3AtMSwKLSAgICAtMHgxLmI3ODY1NDc2NmM3NjQ4M2NlOTBhMGJjMmFjOTU3YjU5cC0yLAotICAgIC0weDEuMDk4NjBlOGVkMWU5MHAzLAotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLmNlNjg1NjRlMjUxZjE2Mjg1ZDYwNGUwNDY1N2YzMGU2cC0xLAotICAgIC0weDEuYjdhNmE1NmY1Nzk2NjgzYzU4ZTAxYjViNzA2MWMxNmNwLTIsCi0gICAgMHgxLjA5ODcyY2NlNTFmYmRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIC0weDEuY2U2ODU2NGUyNTFmMTYyODVkNjA0ZTA0NjU3ZjMwZTZwLTEsCi0gICAgLTB4MS5iN2E2YTU2ZjU3OTY2ODNjNThlMDFiNWI3MDYxYzE2Y3AtMiwKLSAgICAtMHgxLjA5ODcyY2NlNTFmYmRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIC0weDEuY2U4YWIzMmYzYjAwMjA2NWYyZDk5ZTU3YTEwNzI3MDVwLTEsCi0gICAgLTB4MS5iNzE1Zjc2OWNmMWU1ODJlMjNhMTVlOGI4MGE3MDQ4NnAtMiwKLSAgICAweDEuMTEzYjEzYjEzYjIyNHAyLAotICB9LAotICB7IC8vIEVudHJ5IDMxCi0gICAgMHgxLmNlOGFiMzJmM2IwMDIwNjVmMmQ5OWU1N2ExMDcyNzA1cC0xLAotICAgIC0weDEuYjcxNWY3NjljZjFlNTgyZTIzYTE1ZThiODBhNzA0ODZwLTIsCi0gICAgLTB4MS4xMTNiMTNiMTNiMjI0cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIKLSAgICAweDEuYzJkZjU3MTg4ZDMwOTllMWJhZjdmNzIxZDczMThiZDlwLTEsCi0gICAgMHgxLmU1MzZhZTM5NWRmY2UwMDE0NTc5NzBjOGFhYWMzYjFmcC0yLAotICAgIDB4MS4xM2NwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMwotICAgIC0weDEuYzJkZjU3MTg4ZDMwOTllMWJhZjdmNzIxZDczMThiZDlwLTEsCi0gICAgMHgxLmU1MzZhZTM5NWRmY2UwMDE0NTc5NzBjOGFhYWMzYjFmcC0yLAotICAgIC0weDEuMTNjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAweDEuYjdkY2Q3Yzg1YzgyMDgzOGVlY2ZhNTNlNTIwNzhiMmJwLTIsCi0gICAgLTB4MS5jZTViNzM3MjA0NmVhYTQ2N2Y0OWUxZGViZTM2NjJkZnAtMSwKLSAgICAweDEuMWY2MjhjNTYxMDcxN3AzLAotICB9LAotICB7IC8vIEVudHJ5IDM1Ci0gICAgLTB4MS5iN2RjZDdjODVjODIwODM4ZWVjZmE1M2U1MjA3OGIyYnAtMiwKLSAgICAtMHgxLmNlNWI3MzcyMDQ2ZWFhNDY3ZjQ5ZTFkZWJlMzY2MmRmcC0xLAotICAgIC0weDEuMWY2MjhjNTYxMDcxN3AzLAotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmZmMzQ2NmIxZWM4YmVkOTc4ZjdjMjcwMThiYzA5Njc4cC0xLAotICAgIDB4MS5jODZjYWEwNDkyOTg1N2MyODE2ZDMwNjkzZmNlYWIzNnAtNSwKLSAgICAweDEuMWY2OTlkNzA4ZDQ5N3AxNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNwotICAgIC0weDEuZmYzNDY2YjFlYzhiZWQ5NzhmN2MyNzAxOGJjMDk2NzhwLTEsCi0gICAgMHgxLmM4NmNhYTA0OTI5ODU3YzI4MTZkMzA2OTNmY2VhYjM2cC01LAotICAgIC0weDEuMWY2OTlkNzA4ZDQ5N3AxNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOAotICAgIDB4MS5iNjFkNmFmZjc1NGMyODM1Njk3YjVhYTUzMzliNjM1Y3AtMiwKLSAgICAtMHgxLmNlYzU5YjJkMjMwYTgzYTg2ODA0NzMwYWZkZjFiZWNmcC0xLAotICAgIDB4MS4xZjcyMDY0NjIwZWY0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAtMHgxLmI2MWQ2YWZmNzU0YzI4MzU2OTdiNWFhNTMzOWI2MzVjcC0yLAotICAgIC0weDEuY2VjNTliMmQyMzBhODNhODY4MDQ3MzBhZmRmMWJlY2ZwLTEsCi0gICAgLTB4MS4xZjcyMDY0NjIwZWY0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAKLSAgICAweDEuY2RmNjA0ODM4ZTQ5OWJkNWQ5ZDI3MTIzOTdiMjNjMDdwLTEsCi0gICAgMHgxLmI5ODY1NmI4NWJjMjY4MzIxNmE5NDczMzVlYTY4OWZicC0yLAotICAgIDB4MS4xZmZmZmZkY2VmZTQwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEKLSAgICAtMHgxLmNkZjYwNDgzOGU0OTliZDVkOWQyNzEyMzk3YjIzYzA3cC0xLAotICAgIDB4MS5iOTg2NTZiODViYzI2ODMyMTZhOTQ3MzM1ZWE2ODlmYnAtMiwKLSAgICAtMHgxLjFmZmZmZmRjZWZlNDBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MgotICAgIDB4MS5jZTkxMzMyOTY5NmNkM2ZhNDcxYzdiMDA4OTEwNzVkNHAtMSwKLSAgICAweDEuYjZmYTkyZTVmNTc2YzgzNGZjMTVkODk5OGZjY2M3MjhwLTIsCi0gICAgMHgxLjIwYjQ3OGM0YWE5ZWRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MwotICAgIC0weDEuY2U5MTMzMjk2OTZjZDNmYTQ3MWM3YjAwODkxMDc1ZDRwLTEsCi0gICAgMHgxLmI2ZmE5MmU1ZjU3NmM4MzRmYzE1ZDg5OThmY2NjNzI4cC0yLAotICAgIC0weDEuMjBiNDc4YzRhYTllZHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ0Ci0gICAgMHgxLmNlYWJjMDI1ZWQzZDU3MzIzZmNhNTE2MjZkMmJmMjhjcC0xLAotICAgIDB4MS5iNjhhOTg4NjA0YTdlODNjZDM4MmZkZjMyOWQwZDc2ZXAtMiwKLSAgICAweDEuMjBkMzc0NTZlNzQ1M3AwLAotICB9LAotICB7IC8vIEVudHJ5IDQ1Ci0gICAgLTB4MS5jZWFiYzAyNWVkM2Q1NzMyM2ZjYTUxNjI2ZDJiZjI4Y3AtMSwKLSAgICAweDEuYjY4YTk4ODYwNGE3ZTgzY2QzODJmZGYzMjlkMGQ3NmVwLTIsCi0gICAgLTB4MS4yMGQzNzQ1NmU3NDUzcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuY2ViMDIyYjZiNWFlMDdhMjY3ZjBlN2RjNmExNGEyMTRwLTEsCi0gICAgMHgxLmI2NzgxNmI4MGVkMGE4MmQxMWFlZTdhYWE4MDA4ZmVkcC0yLAotICAgIDB4MS4yMGQ4OTMwY2RmNjAycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcKLSAgICAtMHgxLmNlYjAyMmI2YjVhZTA3YTI2N2YwZTdkYzZhMTRhMjE0cC0xLAotICAgIDB4MS5iNjc4MTZiODBlZDBhODJkMTFhZWU3YWFhODAwOGZlZHAtMiwKLSAgICAtMHgxLjIwZDg5MzBjZGY2MDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OAotICAgIC0weDEuOWU2MmFjYTUzYzY2MDgwMWI2MjYwNDAxOGE5ZDE5ZGRwLTQsCi0gICAgLTB4MS5mZDVmODMwZjg2MGYzMzNkZTQ5MGE0MmMyZjA0NTAxMnAtMSwKLSAgICAweDEuMzBkNWY4ZTU0YjZkOHAzLAotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgMHgxLjllNjJhY2E1M2M2NjA4MDFiNjI2MDQwMThhOWQxOWRkcC00LAotICAgIC0weDEuZmQ1ZjgzMGY4NjBmMzMzZGU0OTBhNDJjMmYwNDUwMTJwLTEsCi0gICAgLTB4MS4zMGQ1ZjhlNTRiNmQ4cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAKLSAgICAweDEuM2VkMmFlZWZlYWZjOTdmMGVlMGZiM2ZhNGZiNDYwNTJwLTMsCi0gICAgMHgxLmY5YzIwMWU0ZWI2NWZkNWU1ZGJkOTc2NjI1MDVmZjZmcC0xLAotICAgIDB4MS40MDJwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAtMHgxLjNlZDJhZWVmZWFmYzk3ZjBlZTBmYjNmYTRmYjQ2MDUycC0zLAotICAgIDB4MS5mOWMyMDFlNGViNjVmZDVlNWRiZDk3NjYyNTA1ZmY2ZnAtMSwKLSAgICAtMHgxLjQwMnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIC0weDEuZmY2NWQyZmY0YThjYzQxY2I4YmI2ZGYzMDZlMDdiZTdwLTEsCi0gICAgLTB4MS44ZDM4MjJlZjI2MGE1N2IzODU2MTFmMDg1NzdiNzVkOXAtNSwKLSAgICAweDEuNGE0MGVjMTQ5YTY2ZnAxNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIDB4MS5mZjY1ZDJmZjRhOGNjNDFjYjhiYjZkZjMwNmUwN2JlN3AtMSwKLSAgICAtMHgxLjhkMzgyMmVmMjYwYTU3YjM4NTYxMWYwODU3N2I3NWQ5cC01LAotICAgIC0weDEuNGE0MGVjMTQ5YTY2ZnAxNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NAotICAgIDB4MS40ZmZmZmZmZmZmOWY4ODAwMDAwMDA4NGYyMmNjY2NjY3AtMjAsCi0gICAgMHgxLmZmZmZmZmZmZmU0NzAwMDAwMDAwM2Y0ZWJmZmZmZmZjcC0xLAotICAgIDB4MS41cC0yMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIC0weDEuNGZmZmZmZmZmZjlmODgwMDAwMDAwODRmMjJjY2NjY2NwLTIwLAotICAgIDB4MS5mZmZmZmZmZmZlNDcwMDAwMDAwMDNmNGViZmZmZmZmY3AtMSwKLSAgICAtMHgxLjVwLTIwLAotICB9LAotICB7IC8vIEVudHJ5IDU2Ci0gICAgMHgxLjc5YzU5OWUxZTkxYWY4MDlmOWU2OTc3MTc5NmNkNTA3cC0xLAotICAgIC0weDEuNTk5NzA2NWNiOTY1MzcwMmQ0YzlkOWI2YmM1OGY3NjhwLTEsCi0gICAgMHgxLjUyOTRhNTI5NGE1MjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIC0weDEuNzljNTk5ZTFlOTFhZjgwOWY5ZTY5NzcxNzk2Y2Q1MDdwLTEsCi0gICAgLTB4MS41OTk3MDY1Y2I5NjUzNzAyZDRjOWQ5YjZiYzU4Zjc2OHAtMSwKLSAgICAtMHgxLjUyOTRhNTI5NGE1MjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIC0weDEuZmY3OTk2MDczYmJhNmM2ZWRlNDZmNTJkNDQ1NjIzYzlwLTEsCi0gICAgMHgxLjcyZTc0Mzc5MTBjYzA4M2ZhYzRmNmY2MmEyZWIzOGFmcC01LAotICAgIDB4MS41NzQzMWFhY2Y1YzU4cDE2LAotICB9LAotICB7IC8vIEVudHJ5IDU5Ci0gICAgMHgxLmZmNzk5NjA3M2JiYTZjNmVkZTQ2ZjUyZDQ0NTYyM2M5cC0xLAotICAgIDB4MS43MmU3NDM3OTEwY2MwODNmYWM0ZjZmNjJhMmViMzhhZnAtNSwKLSAgICAtMHgxLjU3NDMxYWFjZjVjNThwMTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAweDEuZjgxYzRmOWE1MTgxNDYyYWU3MzVlMjEyMjJkNDk4YzRwLTEsCi0gICAgMHgxLjY2MjNkMmViNmFkZDFmZmMzOThhM2MyMDQ0N2Y5ZDA2cC0zLAotICAgIDB4MS42NTJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MQotICAgIC0weDEuZjgxYzRmOWE1MTgxNDYyYWU3MzVlMjEyMjJkNDk4YzRwLTEsCi0gICAgMHgxLjY2MjNkMmViNmFkZDFmZmMzOThhM2MyMDQ0N2Y5ZDA2cC0zLAotICAgIC0weDEuNjUycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIKLSAgICAtMHgxLmM0MmEwOTEwMjZmNDUyODZkMDYxMDg1YzVjOWZkZGI3cC0xLAotICAgIDB4MS5lMDYxOTk2MGExMWM2ODAxZTgwYWIwYzllMjVmODlkMHAtMiwKLSAgICAweDEuNmY3YmRlZjdiZGVmNHAzLAotICB9LAotICB7IC8vIEVudHJ5IDYzCi0gICAgMHgxLmM0MmEwOTEwMjZmNDUyODZkMDYxMDg1YzVjOWZkZGI3cC0xLAotICAgIDB4MS5lMDYxOTk2MGExMWM2ODAxZTgwYWIwYzllMjVmODlkMHAtMiwKLSAgICAtMHgxLjZmN2JkZWY3YmRlZjRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NAotICAgIC0weDEuZjljNDM2NGJhMTk4ZjdlMzJiNjcyMzY2YzM0YjhiN2RwLTIsCi0gICAgMHgxLmJkMzA5ZjNkZmNkNDg5MTI4ZTVlY2JjMzE2ODBjNGE1cC0xLAotICAgIDB4MS43MTFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NQotICAgIDB4MS5mOWM0MzY0YmExOThmN2UzMmI2NzIzNjZjMzRiOGI3ZHAtMiwKLSAgICAweDEuYmQzMDlmM2RmY2Q0ODkxMjhlNWVjYmMzMTY4MGM0YTVwLTEsCi0gICAgLTB4MS43MTFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NgotICAgIC0weDEuYmU2ZTViZWExYTRkODgzMzFmZDhlNDYwY2Q2NzcyNDVwLTIsCi0gICAgMHgxLmNjYzdkOTliNTdhYjU0ZjA0ZWQ5MThlYzE0YTI1MDdkcC0xLAotICAgIDB4MS43NTQwYWE1ODgyZGMycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcKLSAgICAweDEuYmU2ZTViZWExYTRkODgzMzFmZDhlNDYwY2Q2NzcyNDVwLTIsCi0gICAgMHgxLmNjYzdkOTliNTdhYjU0ZjA0ZWQ5MThlYzE0YTI1MDdkcC0xLAotICAgIC0weDEuNzU0MGFhNTg4MmRjMnAyLAotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgMHgxLmM5MGM4NDFkMTQ5NGMwNzU3ZThlYmIxNjcyNWQ4NzE4cC0zLAotICAgIC0weDEuZjMxNjVhMGIzMDZiMWZmY2Y4ZDExOTA5ZmZmYmExNjdwLTEsCi0gICAgMHgxLjc1NTBkMjhmZmNjYzRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OQotICAgIC0weDEuYzkwYzg0MWQxNDk0YzA3NTdlOGViYjE2NzI1ZDg3MThwLTMsCi0gICAgLTB4MS5mMzE2NWEwYjMwNmIxZmZjZjhkMTE5MDlmZmZiYTE2N3AtMSwKLSAgICAtMHgxLjc1NTBkMjhmZmNjYzRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MAotICAgIC0weDEuYjY0OWQ1NzdlMWIyYTgzOWQyNWQxOTgwN2ViMmM1NjRwLTIsCi0gICAgMHgxLmNlYmIxNzVkMzZiOTM0YmMwOTk1YTBiZTM1Y2RlMWVlcC0xLAotICAgIDB4MS43NWQxMWZhMGQ2MjQycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEKLSAgICAweDEuYjY0OWQ1NzdlMWIyYTgzOWQyNWQxOTgwN2ViMmM1NjRwLTIsCi0gICAgMHgxLmNlYmIxNzVkMzZiOTM0YmMwOTk1YTBiZTM1Y2RlMWVlcC0xLAotICAgIC0weDEuNzVkMTFmYTBkNjI0MnAyLAotICB9LAotICB7IC8vIEVudHJ5IDcyCi0gICAgMHgxLmI3ODczMGQxMWQ4NDA4MzIwZDIxY2E2YWQyYmUzMzY4cC0yLAotICAgIC0weDEuY2U2ZmQwMGVkMTY1MDFjYjEzYjkwODQ3N2UxMDI4MTFwLTEsCi0gICAgMHgxLmJjNTA0NDRlZTYyODZwOSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIC0weDEuYjc4NzMwZDExZDg0MDgzMjBkMjFjYTZhZDJiZTMzNjhwLTIsCi0gICAgLTB4MS5jZTZmZDAwZWQxNjUwMWNiMTNiOTA4NDc3ZTEwMjgxMXAtMSwKLSAgICAtMHgxLmJjNTA0NDRlZTYyODZwOSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS5iNmIwYjA5OTZlN2U2ODM1YWNkYjM2ZTU1YTA4YmYxNXAtMiwKLSAgICAweDEuY2VhMmI4Y2M1NTIxODFkMGIwYWVhZDI3ZTk0YTkxNjhwLTEsCi0gICAgMHgxLmM1NWIyYmYxOWNlNTRwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUKLSAgICAtMHgxLmI2YjBiMDk5NmU3ZTY4MzVhY2RiMzZlNTVhMDhiZjE1cC0yLAotICAgIDB4MS5jZWEyYjhjYzU1MjE4MWQwYjBhZWFkMjdlOTRhOTE2OHAtMSwKLSAgICAtMHgxLmM1NWIyYmYxOWNlNTRwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYKLSAgICAweDEuYjZmYWNmNjY1ODkxNDgyZWE4YzYxZjVjYTMyZjI4MGRwLTIsCi0gICAgMHgxLmNlOTEyNGNlYzQxNTA1NTlkOTQ3YTUyNmFkOThmMmY0cC0xLAotICAgIDB4MS5jNWFkMzRmNWY0NzJhcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgLTB4MS5iNmZhY2Y2NjU4OTE0ODJlYThjNjFmNWNhMzJmMjgwZHAtMiwKLSAgICAweDEuY2U5MTI0Y2VjNDE1MDU1OWQ5NDdhNTI2YWQ5OGYyZjRwLTEsCi0gICAgLTB4MS5jNWFkMzRmNWY0NzJhcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgLTB4MS5mODNhMDk4M2RkMTVkMDAzMDFlMmRmMjFlM2JlZTYzNXAtMiwKLSAgICAtMHgxLmJkYTA1OTZkZjA2MDAwNGQ1Nzk1NjNhZDhjNjdkMTUxcC0xLAotICAgIDB4MS5kNDA2N2M2MGY0NzFlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkKLSAgICAweDEuZjgzYTA5ODNkZDE1ZDAwMzAxZTJkZjIxZTNiZWU2MzVwLTIsCi0gICAgLTB4MS5iZGEwNTk2ZGYwNjAwMDRkNTc5NTYzYWQ4YzY3ZDE1MXAtMSwKLSAgICAtMHgxLmQ0MDY3YzYwZjQ3MWVwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MAotICAgIDB4MS45Y2I2YTliYmNlNjRhM2U5N2E3MjY3ZmRlYzI1YzgzYnAtMSwKLSAgICAweDEuMmYwMTEzMjY0MjBlNTAwMjE3MmRiMjQ1ZmQ5MDYzZTJwLTEsCi0gICAgMHgxLmRmZmZmZmZmZmZmZmZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODEKLSAgICAtMHgxLjljYjZhOWJiY2U2NGEzZTk3YTcyNjdmZGVjMjVjODNicC0xLAotICAgIDB4MS4yZjAxMTMyNjQyMGU1MDAyMTcyZGIyNDVmZDkwNjNlMnAtMSwKLSAgICAtMHgxLmRmZmZmZmZmZmZmZmZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAweDEuZjVmMGJlMjg1NjVjNWFkNzYzYzEwM2Q5ODFmYzVjNGVwLTUsCi0gICAgMHgxLmZmMDliYWJiMDc2ZTQ4MDNlNTdlNjgyMDQ1NzBmZDVicC0xLAotICAgIDB4MS5mNjQxNDdkOGFkZDg0cC01LAotICB9LAotICB7IC8vIEVudHJ5IDgzCi0gICAgLTB4MS5mNWYwYmUyODU2NWM1YWQ3NjNjMTAzZDk4MWZjNWM0ZXAtNSwKLSAgICAweDEuZmYwOWJhYmIwNzZlNDgwM2U1N2U2ODIwNDU3MGZkNWJwLTEsCi0gICAgLTB4MS5mNjQxNDdkOGFkZDg0cC01LAotICB9LAotICB7IC8vIEVudHJ5IDg0Ci0gICAgLTB4MS5kNGRhNWY1Njg4OGUyMDBmZGE0ZWJhYzdkYjFjZGJlZnAtMSwKLSAgICAweDEuOWI3MGNkMzI4NGUxNTdmYjg0NDkxZDU4MWNiODZiZDNwLTIsCi0gICAgMHgxLmZlNjE4M2VmYTM5N2NwODMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODUKLSAgICAweDEuZDRkYTVmNTY4ODhlMjAwZmRhNGViYWM3ZGIxY2RiZWZwLTEsCi0gICAgMHgxLjliNzBjZDMyODRlMTU3ZmI4NDQ5MWQ1ODFjYjg2YmQzcC0yLAotICAgIC0weDEuZmU2MTgzZWZhMzk3Y3A4MywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5mYTlmNmNhMGVjNDRlMDAxMDAyNmYzODVjMGFiODY5MHAtMywKLSAgICAweDEuZjAxNjQ3NGI3NTY2NzQyNGEwNTBkNzkwMTRmZDIzODVwLTEsCi0gICAgMHgxLmZmZWZmZmZmZmZmZmZwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODcKLSAgICAtMHgxLmZhOWY2Y2EwZWM0NGUwMDEwMDI2ZjM4NWMwYWI4NjkwcC0zLAotICAgIDB4MS5mMDE2NDc0Yjc1NjY3NDI0YTA1MGQ3OTAxNGZkMjM4NXAtMSwKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAtMHgxLmZmNDg2OGRkYWJhNmJhMzJjNmI3MTRhZWY5OWZmMmY3cC0xLAotICAgIC0weDEuYjE2ZjBlYjI1YWU0NjdjMmExODVlNTE2ZjExODhiMjBwLTUsCi0gICAgMHgxLmZmZjdmZjgwMDAwMWZwMTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODkKLSAgICAweDEuZmY0ODY4ZGRhYmE2YmEzMmM2YjcxNGFlZjk5ZmYyZjdwLTEsCi0gICAgLTB4MS5iMTZmMGViMjVhZTQ2N2MyYTE4NWU1MTZmMTE4OGIyMHAtNSwKLSAgICAtMHgxLmZmZjdmZjgwMDAwMWZwMTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAKLSAgICAtMHgxLmZmNGYxZTljMjQ4OTEyNjQ4NzAxODE4ZDA3NWIzOTUzcC0xLAotICAgIC0weDEuYTk3MWUzYjY0ZDA4ZDdjM2YzN2QyOTliNDM2MTZlYjRwLTUsCi0gICAgMHgxLmZmZjdmZmZmZmZjcDE1LAotICB9LAotICB7IC8vIEVudHJ5IDkxCi0gICAgMHgxLmZmNGYxZTljMjQ4OTEyNjQ4NzAxODE4ZDA3NWIzOTUzcC0xLAotICAgIC0weDEuYTk3MWUzYjY0ZDA4ZDdjM2YzN2QyOTliNDM2MTZlYjRwLTUsCi0gICAgLTB4MS5mZmY3ZmZmZmZmY3AxNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MgotICAgIDB4MS5kMTk2MTZmYzdlZTQ2MDUzNDVjMjU2MDZjZmM5MzIzNXAtMSwKLSAgICAtMHgxLmFhMDU0YzQ5MDkzODQ4MTFhMDYzMjczMTEyNjA0YzMxcC0yLAotICAgIDB4MS5mZmY4MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDkzCi0gICAgLTB4MS5kMTk2MTZmYzdlZTQ2MDUzNDVjMjU2MDZjZmM5MzIzNXAtMSwKLSAgICAtMHgxLmFhMDU0YzQ5MDkzODQ4MTFhMDYzMjczMTEyNjA0YzMxcC0yLAotICAgIC0weDEuZmZmODBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NAotICAgIDB4MS5jZTM1MDk3NTFjNDYxNDgzN2ZhNGIzNDk2M2M2ZjVkOHAtMSwKLSAgICAweDEuYjg3ZTM3MTAxNjU0NDgyMTQ0ZDcxZDA0OTcyMjY3ZDhwLTIsCi0gICAgMHgxLmZmZmZiZmZlM2ZmZmZwMTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUKLSAgICAtMHgxLmNlMzUwOTc1MWM0NjE0ODM3ZmE0YjM0OTYzYzZmNWQ4cC0xLAotICAgIDB4MS5iODdlMzcxMDE2NTQ0ODIxNDRkNzFkMDQ5NzIyNjdkOHAtMiwKLSAgICAtMHgxLmZmZmZiZmZlM2ZmZmZwMTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYKLSAgICAweDEuZDE4Zjc2ZmZjNmU0YmEwYTMxMzRlNWJlMjFiNWJjOGZwLTEsCi0gICAgLTB4MS5hYTIyNDExNjAyMjc4OTZjNjhlZjE3ODM5ZjE3ZGNlNXAtMiwKLSAgICAweDEuZmZmZmY2MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDk3Ci0gICAgLTB4MS5kMThmNzZmZmM2ZTRiYTBhMzEzNGU1YmUyMWI1YmM4ZnAtMSwKLSAgICAtMHgxLmFhMjI0MTE2MDIyNzg5NmM2OGVmMTc4MzlmMTdkY2U1cC0yLAotICAgIC0weDEuZmZmZmY2MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDk4Ci0gICAgLTB4MS44MzdiOTk0YTZkOGZmN2YyNzUwNzU1ZGY1ODQzZTg0ZHAtMSwKLSAgICAtMHgxLjRlYWE2NWI5ZTJlY2MzMDhmZDgyZjY1ZTA5ZDA2YmU0cC0xLAotICAgIDB4MS5mZmZmZmUzZmZmZmZmcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAweDEuODM3Yjk5NGE2ZDhmZjdmMjc1MDc1NWRmNTg0M2U4NGRwLTEsCi0gICAgLTB4MS40ZWFhNjViOWUyZWNjMzA4ZmQ4MmY2NWUwOWQwNmJlNHAtMSwKLSAgICAtMHgxLmZmZmZmZTNmZmZmZmZwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuYWVkNTQ4ZjA5MGMxZGZmZTZlMDQzMjJkYzhlOGNiZmFwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA3Y2Y4OTk5YTFiMjkxOTk1NjQ2MTUycC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZTdmcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDEwMQotICAgIC0weDEuYWVkNTQ4ZjA5MGMxZGZmZTZlMDQzMjJkYzhlOGNiZmFwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA3Y2Y4OTk5YTFiMjkxOTk1NjQ2MTUycC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmU3ZnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIKLSAgICAtMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjBwLTEwNzQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQKLSAgICAtMC4wLAotICAgIDB4MS5wMCwKLSAgICAtMC4wLAotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEwNzQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2Ci0gICAgLTAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDc0LAotICB9LAotICB7IC8vIEVudHJ5IDEwNwotICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyLAotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTAyMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDIyLAotICB9LAotICB7IC8vIEVudHJ5IDExMQotICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIKLSAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIDB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwLTEwMjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZkZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDExNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEwMjIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDIyLAotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIDB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEwMjIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTAyMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyLAotICB9LAotICB7IC8vIEVudHJ5IDExOQotICAgIDB4MS45OTk5OTk2ZGU4Y2ExOThjMjRhYjk0NDliZWVlMTZkNXAtMTMsCi0gICAgMHgxLmZmZmZmZjVjMjhmNWNiNGM1MjcyMDYxMjgxMjExMTIwcC0xLAotICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAtMHgxLjk5OTk5OTZkZThjYTE5OGMyNGFiOTQ0OWJlZWUxNmQ1cC0xMywKLSAgICAweDEuZmZmZmZmNWMyOGY1Y2I0YzUyNzIwNjEyODEyMTExMjBwLTEsCi0gICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjEKLSAgICAweDEuOTk5OTk4ZWFkNjViOTZmNzhhNGRiZmQ4MzljN2VmMmVwLTEyLAotICAgIDB4MS5mZmZmZmQ3MGEzZDc5NjBjZDU2OTVhMDZmZGI4MGU3NHAtMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIyCi0gICAgLTB4MS45OTk5OThlYWQ2NWI5NmY3OGE0ZGJmZDgzOWM3ZWYyZXAtMTIsCi0gICAgMHgxLmZmZmZmZDcwYTNkNzk2MGNkNTY5NWEwNmZkYjgwZTc0cC0xLAotICAgIC0weDEuOTk5OTk5OTk5OTk5YXAtMTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgMHgxLjMzMzMzMjBjNDliYWJmZjE1MWI2ZDA0MjkwZTJjM2EycC0xMSwKLSAgICAweDEuZmZmZmZhM2Q3MGE2OWFkNDJiMzlkODY5NjYzMmY4NTZwLTEsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzRwLTExLAotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIC0weDEuMzMzMzMyMGM0OWJhYmZmMTUxYjZkMDQyOTBlMmMzYTJwLTExLAotICAgIDB4MS5mZmZmZmEzZDcwYTY5YWQ0MmIzOWQ4Njk2NjMyZjg1NnAtMSwKLSAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTExLAotICB9LAotICB7IC8vIEVudHJ5IDEyNQotICAgIDB4MS45OTk5OTZkZThjYTI4ODRkYTJmMDhmMjViYjAyNGQwOHAtMTEsCi0gICAgMHgxLmZmZmZmNWMyOGY2NGU1ZWMwZGEwYTRmN2Y0Mzg4MDUycC0xLAotICAgIDB4MS45OTk5OTk5OTk5OTlhcC0xMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYKLSAgICAtMHgxLjk5OTk5NmRlOGNhMjg4NGRhMmYwOGYyNWJiMDI0ZDA4cC0xMSwKLSAgICAweDEuZmZmZmY1YzI4ZjY0ZTVlYzBkYTBhNGY3ZjQzODgwNTJwLTEsCi0gICAgLTB4MS45OTk5OTk5OTk5OTlhcC0xMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcKLSAgICAweDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAotICAgIDB4MS5mZmZmZjAwMDAwMTU1NTU1NDlmNDlmNGQzNGQzNGNhMHAtMSwKLSAgICAweDEuMHAtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4Ci0gICAgLTB4MS5mZmZmZmFhYWFhYWVlZWVlZWQ0ZWQ0ZWRhYjRjN2JkNnAtMTEsCi0gICAgMHgxLmZmZmZmMDAwMDAxNTU1NTU0OWY0OWY0ZDM0ZDM0Y2EwcC0xLAotICAgIC0weDEuMHAtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI5Ci0gICAgMHgxLjMzMzMyZTk3OGQ1NTJhZmM4ODNiZGIwNDc1MWUzODM1cC0xMCwKLSAgICAweDEuZmZmZmU4ZjVjMmJiOThjN2MxMDNkMmZmNzlmMTVkNmFwLTEsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzNwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDEzMAotICAgIC0weDEuMzMzMzJlOTc4ZDU1MmFmYzg4M2JkYjA0NzUxZTM4MzVwLTEwLAotICAgIDB4MS5mZmZmZThmNWMyYmI5OGM3YzEwM2QyZmY3OWYxNWQ2YXAtMSwKLSAgICAtMHgxLjMzMzMzMzMzMzMzMzNwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDEzMQotICAgIDB4MS42NjY2NWYxNTI5YWZmOGEzODA5MjQ2NjcwYTQzNmMzY3AtMTAsCi0gICAgMHgxLmZmZmZlMGEzZDc1YzMxYjI2NDUxMTY2ZDZmMzk4YWJkcC0xLAotICAgIDB4MS42NjY2NjY2NjY2NjY2cC0xMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIKLSAgICAtMHgxLjY2NjY1ZjE1MjlhZmY4YTM4MDkyNDY2NzBhNDM2YzNjcC0xMCwKLSAgICAweDEuZmZmZmUwYTNkNzVjMzFiMjY0NTExNjZkNmYzOThhYmRwLTEsCi0gICAgLTB4MS42NjY2NjY2NjY2NjY2cC0xMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAweDEuOTk5OThlYWQ2NWNkZjgyZTE5NGMxMzM5OTdmMmZiNjhwLTEwLAotICAgIDB4MS5mZmZmZDcwYTNkZmM3MzNiMzMzMWQ4MzgyYjFlOWRmNXAtMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5OXAtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgLTB4MS45OTk5OGVhZDY1Y2RmODJlMTk0YzEzMzk5N2YyZmI2OHAtMTAsCi0gICAgMHgxLmZmZmZkNzBhM2RmYzczM2IzMzMxZDgzODJiMWU5ZGY1cC0xLAotICAgIC0weDEuOTk5OTk5OTk5OTk5OXAtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1Ci0gICAgMHgxLmNjY2NiZDNmN2QxNWQ0MmFmZmI5ZjAyYmYxZGMyNTdicC0xMCwKLSAgICAweDEuZmZmZmNjMjhmNmEyODIzZjM3NjViNTA2NTllY2IwZTJwLTEsCi0gICAgMHgxLmNjY2NjY2NjY2NjY2NwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDEzNgotICAgIC0weDEuY2NjY2JkM2Y3ZDE1ZDQyYWZmYjlmMDJiZjFkYzI1N2JwLTEwLAotICAgIDB4MS5mZmZmY2MyOGY2YTI4MjNmMzc2NWI1MDY1OWVjYjBlMnAtMSwKLSAgICAtMHgxLmNjY2NjY2NjY2NjY2NwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDEzNwotICAgIDB4MS4wNjY1YWU5YzdiNDRlZDI4MDIxNmJlMjEwNGYyOGYwMnAtNywKLSAgICAweDEuZmZmYmNjMmE2ZTg2ZmVmN2QyYWYxNTgwYmQ4ZTY2OTlwLTEsCi0gICAgMHgxLjA2NjY2NjY2NjY2NjZwLTcsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4Ci0gICAgLTB4MS4wNjY1YWU5YzdiNDRlZDI4MDIxNmJlMjEwNGYyOGYwMnAtNywKLSAgICAweDEuZmZmYmNjMmE2ZTg2ZmVmN2QyYWYxNTgwYmQ4ZTY2OTlwLTEsCi0gICAgLTB4MS4wNjY2NjY2NjY2NjY2cC03LAotICB9LAotICB7IC8vIEVudHJ5IDEzOQotICAgIDB4MS5jY2M4ZTk3YjU5ZjYxODg5OGM0YWMzYTBhZWRkZjcwOXAtNywKLSAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCi0gICAgMHgxLmNjY2NjY2NjY2NjY2NwLTcsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQwCi0gICAgLTB4MS5jY2M4ZTk3YjU5ZjYxODg5OGM0YWMzYTBhZWRkZjcwOXAtNywKLSAgICAweDEuZmZmMzBhNGI2ZmNjMTQwNWUxOGZiZjczMzVkMmY3ODlwLTEsCi0gICAgLTB4MS5jY2NjY2NjY2NjY2NjcC03LAotICB9LAotICB7IC8vIEVudHJ5IDE0MQotICAgIDB4MS40OTkzZThhOGZmNzliMTMyMDQ2ZWZhNzg1NmE5NzUzOHAtNiwKLSAgICAweDEuZmZlNTdhNzgwZjM4YzBkYjM3MDUxZmE4YzhkNjBmYmNwLTEsCi0gICAgMHgxLjQ5OTk5OTk5OTk5OTlwLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQyCi0gICAgLTB4MS40OTkzZThhOGZmNzliMTMyMDQ2ZWZhNzg1NmE5NzUzOHAtNiwKLSAgICAweDEuZmZlNTdhNzgwZjM4YzBkYjM3MDUxZmE4YzhkNjBmYmNwLTEsCi0gICAgLTB4MS40OTk5OTk5OTk5OTk5cC02LAotICB9LAotICB7IC8vIEVudHJ5IDE0MwotICAgIDB4MS5hY2MwNDRjNTZkYjBlMTlmODJjOWMzY2ZmMjQ2ZTIwMXAtNiwKLSAgICAweDEuZmZkMzFjZDBlMWQ2MmMwNWQyY2RlZDIxYWRkOGJkMzNwLTEsCi0gICAgMHgxLmFjY2NjY2NjY2NjY2NwLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ0Ci0gICAgLTB4MS5hY2MwNDRjNTZkYjBlMTlmODJjOWMzY2ZmMjQ2ZTIwMXAtNiwKLSAgICAweDEuZmZkMzFjZDBlMWQ2MmMwNWQyY2RlZDIxYWRkOGJkMzNwLTEsCi0gICAgLTB4MS5hY2NjY2NjY2NjY2NjcC02LAotICB9LAotICB7IC8vIEVudHJ5IDE0NQotICAgIDB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKLSAgICAweDEuZmZiYmYxODIwNzU0MmVmODEzOTBkNzNjM2JhODljMWFwLTEsCi0gICAgMHgxLjA4MHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDYKLSAgICAtMHgxLjA3ZjQ0ZDY3Y2Y0MWFmYmMwYzk1MTA4Yjk5ZjkxYjAxcC01LAotICAgIDB4MS5mZmJiZjE4MjA3NTQyZWY4MTM5MGQ3M2MzYmE4OWMxYXAtMSwKLSAgICAtMHgxLjA4MHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAweDEuMzk4NWZlNDZmMWM4NzE0ZWFhMTQxODU2MTk2M2U4OWJwLTUsCi0gICAgMHgxLmZmOWZmOGMzMjk5ZjU0NDU3YmJhZjhjMTIxNzNiNDZicC0xLAotICAgIDB4MS4zOTk5OTk5OTk5OTlhcC01LAotICB9LAotICB7IC8vIEVudHJ5IDE0OAotICAgIC0weDEuMzk4NWZlNDZmMWM4NzE0ZWFhMTQxODU2MTk2M2U4OWJwLTUsCi0gICAgMHgxLmZmOWZmOGMzMjk5ZjU0NDU3YmJhZjhjMTIxNzNiNDZicC0xLAotICAgIC0weDEuMzk5OTk5OTk5OTk5YXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDkKLSAgICAweDEuNmIxNGJkZTkzYWM1ZjdkMjQ1NDRkMGVjZjhiZTdhZWVwLTUsCi0gICAgMHgxLmZmN2YzMmQ3N2M1YjFjNDJmMTY2MGM5YjZmMmVmNjRmcC0xLAotICAgIDB4MS42YjMzMzMzMzMzMzM0cC01LAotICB9LAotICB7IC8vIEVudHJ5IDE1MAotICAgIC0weDEuNmIxNGJkZTkzYWM1ZjdkMjQ1NDRkMGVjZjhiZTdhZWVwLTUsCi0gICAgMHgxLmZmN2YzMmQ3N2M1YjFjNDJmMTY2MGM5YjZmMmVmNjRmcC0xLAotICAgIC0weDEuNmIzMzMzMzMzMzMzNHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTEKLSAgICAweDEuOWNhMDE1M2VkODM5NmIwMmY4NjA1MjE5YTVmZTU5MTdwLTUsCi0gICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAotICAgIDB4MS45Y2NjY2NjY2NjY2NlcC01LAotICB9LAotICB7IC8vIEVudHJ5IDE1MgotICAgIC0weDEuOWNhMDE1M2VkODM5NmIwMmY4NjA1MjE5YTVmZTU5MTdwLTUsCi0gICAgMHgxLmZmNTlhMDBkYmM0MDg5NmJiNWU0YWM4YWQyOTNhZmI0cC0xLAotICAgIC0weDEuOWNjY2NjY2NjY2NjZXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTMKLSAgICAweDEuY2UyNzhkNDAyN2QzNDM4N2YxODRkNGFiMmFhZjU0NWZwLTUsCi0gICAgMHgxLmZmMmY0MGMwMmU2MGY2MWQ2ZGNmYzM5YjZjMmJlMDg3cC0xLAotICAgIDB4MS5jZTY2NjY2NjY2NjY2cC01LAotICB9LAotICB7IC8vIEVudHJ5IDE1NAotICAgIC0weDEuY2UyNzhkNDAyN2QzNDM4N2YxODRkNGFiMmFhZjU0NWZwLTUsCi0gICAgMHgxLmZmMmY0MGMwMmU2MGY2MWQ2ZGNmYzM5YjZjMmJlMDg3cC0xLAotICAgIC0weDEuY2U2NjY2NjY2NjY2NnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAweDEuNDNjMWU5YzE3MWE2NjdhMGI5MjUxOWEwNGZhNWE5MWNwLTEsCi0gICAgMHgxLjhjYTQ2YzdkODk3NWU1N2ExNDg0ZjA1YzM3MzhkODNicC0xLAotICAgIDB4MS41ZTdmYzQzNjliZGFkcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE1NgotICAgIC0weDEuNDNjMWU5YzE3MWE2NjdhMGI5MjUxOWEwNGZhNWE5MWNwLTEsCi0gICAgMHgxLjhjYTQ2YzdkODk3NWU1N2ExNDg0ZjA1YzM3MzhkODNicC0xLAotICAgIC0weDEuNWU3ZmM0MzY5YmRhZHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTcKLSAgICAweDEuZWUzZDZiY2VhMDljYTE4YjFkMWNlN2VlMDRmZDg4NmZwLTEsCi0gICAgMHgxLjBiNWQzODAyZmM3OTkxMTQwMTY4ZjI5NGVlZGQ3OTA0cC0yLAotICAgIDB4MS40ZTdmYzQzNjliZGFkcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU4Ci0gICAgLTB4MS5lZTNkNmJjZWEwOWNhMThiMWQxY2U3ZWUwNGZkODg2ZnAtMSwKLSAgICAweDEuMGI1ZDM4MDJmYzc5OTExNDAxNjhmMjk0ZWVkZDc5MDRwLTIsCi0gICAgLTB4MS40ZTdmYzQzNjliZGFkcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLmRmOGUyMmVhODA5ZDY1YzZhNjliOTZhY2E2MGJlNDMycC0xLAotICAgIC0weDEuNjZiOTZmNTMzMjNhZjFkN2UzMWE3MTYyYWIxOGE3NWJwLTIsCi0gICAgMHgxLmVkYmZhNjUxZTljODRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjAKLSAgICAtMHgxLmRmOGUyMmVhODA5ZDY1YzZhNjliOTZhY2E2MGJlNDMycC0xLAotICAgIC0weDEuNjZiOTZmNTMzMjNhZjFkN2UzMWE3MTYyYWIxOGE3NWJwLTIsCi0gICAgLTB4MS5lZGJmYTY1MWU5Yzg0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYxCi0gICAgMHgxLjFkMzQ3OWVhYzdhZTM1ZTJmYmVhMGFlNjk2NDM0NjkycC0xLAotICAgIC0weDEuYTkzNTU0ODg4YzMyZmE1N2YyMmE5NTI5YTMyMGMxY2JwLTEsCi0gICAgMHgxLjQ2N2ZjNDM2OWJkYWRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjIKLSAgICAtMHgxLjFkMzQ3OWVhYzdhZTM1ZTJmYmVhMGFlNjk2NDM0NjkycC0xLAotICAgIC0weDEuYTkzNTU0ODg4YzMyZmE1N2YyMmE5NTI5YTMyMGMxY2JwLTEsCi0gICAgLTB4MS40NjdmYzQzNjliZGFkcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYzCi0gICAgLTB4MS5mZmVhYWFlZWVlODRiNDRjY2VmZWY4MzIyNTRkMjhjMHAtNiwKLSAgICAtMHgxLmZmYzAwMTU1NTI3ZDJiOWZkYTJhZTg5Mzk2ZTA5NzI3cC0xLAotICAgIDB4MS45NjFmYjU0NDQyZDE4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY0Ci0gICAgMHgxLmZmZWFhYWVlZWU4NGI0NGNjZWZlZjgzMjI1NGQyOGMwcC02LAotICAgIC0weDEuZmZjMDAxNTU1MjdkMmI5ZmRhMmFlODkzOTZlMDk3MjdwLTEsCi0gICAgLTB4MS45NjFmYjU0NDQyZDE4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY1Ci0gICAgLTB4MS4zNzM0ZDMyZDQ5YmQwYjk0Mjc3MmE3NTY3ZDUxNDE0MHAtMSwKLSAgICAtMHgxLjk2OTA3YzVjN2MyNWI4OGUzNGFkZGZmMWZiZWY2NmU0cC0xLAotICAgIDB4MS5lNWJmYTY1MWU5YzgzcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgMHgxLjM3MzRkMzJkNDliZDBiOTQyNzcyYTc1NjdkNTE0MTQwcC0xLAotICAgIC0weDEuOTY5MDdjNWM3YzI1Yjg4ZTM0YWRkZmYxZmJlZjY2ZTRwLTEsCi0gICAgLTB4MS5lNWJmYTY1MWU5YzgzcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY3Ci0gICAgLTB4MS5lOWQyNWQxOTkxMWUyMDViNjUzNTIxZjQyYjliODY0ZnAtMSwKLSAgICAtMHgxLjJhMWU1YTUwZjk0OGNkNDg3YzUzMDk2ODJiMTEwYTUzcC0yLAotICAgIDB4MS4xYWFmY2JhZmM4NWY3cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY4Ci0gICAgMHgxLmU5ZDI1ZDE5OTExZTIwNWI2NTM1MjFmNDJiOWI4NjRmcC0xLAotICAgIC0weDEuMmExZTVhNTBmOTQ4Y2Q0ODdjNTMwOTY4MmIxMTBhNTNwLTIsCi0gICAgLTB4MS4xYWFmY2JhZmM4NWY3cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY5Ci0gICAgLTB4MS5lNGVjZGM1YTRlNDY1ODk5OTI4ZWI5ZmM5NTgyOWQ0OHAtMSwKLSAgICAweDEuNDg5NGY2OTVkYzU2YmNlOGIyNzNlNTUyNGYxODEyNjRwLTIsCi0gICAgMHgxLjQyN2ZjNDM2OWJkYWRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzAKLSAgICAweDEuZTRlY2RjNWE0ZTQ2NTg5OTkyOGViOWZjOTU4MjlkNDhwLTEsCi0gICAgMHgxLjQ4OTRmNjk1ZGM1NmJjZThiMjczZTU1MjRmMTgxMjY0cC0yLAotICAgIC0weDEuNDI3ZmM0MzY5YmRhZHAyLAotICB9LAotICB7IC8vIEVudHJ5IDE3MQotICAgIC0weDEuMmE1OWYxMDM0NDI2MTk3ZmE2ZWVlMjI3NjI5NjdmMjVwLTEsCi0gICAgMHgxLmEwMTZlYTNhNjkyY2UwYzMyMWI3N2YxNjhkZTM5MTIycC0xLAotICAgIDB4MS42YTRmYmNiZDZmNTYycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcyCi0gICAgMHgxLjJhNTlmMTAzNDQyNjE5N2ZhNmVlZTIyNzYyOTY3ZjI1cC0xLAotICAgIDB4MS5hMDE2ZWEzYTY5MmNlMGMzMjFiNzdmMTY4ZGUzOTEyMnAtMSwKLSAgICAtMHgxLjZhNGZiY2JkNmY1NjJwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzMKLSAgICAtMHgxLjI2MzEyNDQzYmQzNWYxOTMxMmVhYzBhMWE2YjU2NTllcC0xLAotICAgIDB4MS5hMzBhNjlmNTUzN2ViYzIyZjA4NzBjMmJkMjZlZjI4NHAtMSwKLSAgICAweDEuNmFmMmVmZjBhMjg5NnAyLAotICB9LAotICB7IC8vIEVudHJ5IDE3NAotICAgIDB4MS4yNjMxMjQ0M2JkMzVmMTkzMTJlYWMwYTFhNmI1NjU5ZXAtMSwKLSAgICAweDEuYTMwYTY5ZjU1MzdlYmMyMmYwODcwYzJiZDI2ZWYyODRwLTEsCi0gICAgLTB4MS42YWYyZWZmMGEyODk2cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc1Ci0gICAgLTB4MS5lMThlNjYwYTVlMmZiMzE2ZWNiYjllZDcwMTIyZWZmNXAtMSwKLSAgICAweDEuNWJkNjJlOGIwNGFkNTkxNWU2NjI0MjM0OWI3NTZlMTFwLTIsCi0gICAgMHgxLjQzYzYyYTlkMDI0MTRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzYKLSAgICAweDEuZTE4ZTY2MGE1ZTJmYjMxNmVjYmI5ZWQ3MDEyMmVmZjVwLTEsCi0gICAgMHgxLjViZDYyZThiMDRhZDU5MTVlNjYyNDIzNDliNzU2ZTExcC0yLAotICAgIC0weDEuNDNjNjJhOWQwMjQxNHAyLAotICB9LAotICB7IC8vIEVudHJ5IDE3NwotICAgIC0weDEuZWUwZTgzYTAxOThiNmUyZWY3YzQ4ZTY2MjUyOTFhMGFwLTEsCi0gICAgLTB4MS4wY2I3MWY2NzFlNjM0MTA5NjZlNzhkMjAwOWMwNjE2ZnAtMiwKLSAgICAweDEuMWM5OTY1NDk2MWY5MnAyLAotICB9LAotICB7IC8vIEVudHJ5IDE3OAotICAgIDB4MS5lZTBlODNhMDE5OGI2ZTJlZjdjNDhlNjYyNTI5MWEwYXAtMSwKLSAgICAtMHgxLjBjYjcxZjY3MWU2MzQxMDk2NmU3OGQyMDA5YzA2MTZmcC0yLAotICAgIC0weDEuMWM5OTY1NDk2MWY5MnAyLAotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIC0weDEuNDcyNzc0NzMzOGU0NjUzNjE2ZWFkYmQ3ZWMzZDAyZDNwLTEsCi0gICAgLTB4MS44OWQ4NmFhODUyMWMxMWI3NGY4YjE5NTRjMDhmOWIzNnAtMSwKLSAgICAweDEuZWFkOTNmZWI4MzYxZnAxLAotICB9LAotICB7IC8vIEVudHJ5IDE4MAotICAgIDB4MS40NzI3NzQ3MzM4ZTQ2NTM2MTZlYWRiZDdlYzNkMDJkM3AtMSwKLSAgICAtMHgxLjg5ZDg2YWE4NTIxYzExYjc0ZjhiMTk1NGMwOGY5YjM2cC0xLAotICAgIC0weDEuZWFkOTNmZWI4MzYxZnAxLAotICB9LAotICB7IC8vIEVudHJ5IDE4MQotICAgIC0weDEuNGJhMmY3NWRkYTVmZTQzNDMyMDkwNWE3MTg0ZmYxYWZwLTQsCi0gICAgLTB4MS5mZTUxYWM1NTRhMTZhZDgxOTRmMTgxMDg1ZjhhMTdmMnAtMSwKLSAgICAweDEuOWM3ZmI1NDQ0MmQxYXAxLAotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIDB4MS40YmEyZjc1ZGRhNWZlNDM0MzIwOTA1YTcxODRmZjFhZnAtNCwKLSAgICAtMHgxLmZlNTFhYzU1NGExNmFkODE5NGYxODEwODVmOGExN2YycC0xLAotICAgIC0weDEuOWM3ZmI1NDQ0MmQxYXAxLAotICB9LAotICB7IC8vIEVudHJ5IDE4MwotICAgIDB4MS4wMzRjNGQ2MzNiNGVmMGE5MDg5YjQzODkyYTQ2MmEyNnAtMSwKLSAgICAtMHgxLmI5N2MwNGQwOGJjNWQ3NjViMzQxYTIyYjJjNzIwYjZmcC0xLAotICAgIDB4MS40ZTI2MmE5ZDAyNDE1cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg0Ci0gICAgLTB4MS4wMzRjNGQ2MzNiNGVmMGE5MDg5YjQzODkyYTQ2MmEyNnAtMSwKLSAgICAtMHgxLmI5N2MwNGQwOGJjNWQ3NjViMzQxYTIyYjJjNzIwYjZmcC0xLAotICAgIC0weDEuNGUyNjJhOWQwMjQxNXAxLAotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIDB4MS5kMWU0Y2RlMmYzOTQ0ZjRjMTM0YzA1Y2M0ZTUzMzlhM3AtMSwKLSAgICAtMHgxLmE4YWM4YTNlNThmNmNhOTUyMzkwMjk5ZDJlOGIxODdmcC0yLAotICAgIDB4MS5mZjk5M2ZlYjgzNjIwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg2Ci0gICAgLTB4MS5kMWU0Y2RlMmYzOTQ0ZjRjMTM0YzA1Y2M0ZTUzMzlhM3AtMSwKLSAgICAtMHgxLmE4YWM4YTNlNThmNmNhOTUyMzkwMjk5ZDJlOGIxODdmcC0yLAotICAgIC0weDEuZmY5OTNmZWI4MzYyMHAwLAotICB9LAotICB7IC8vIEVudHJ5IDE4NwotICAgIDB4MS5mNzUwMjM1Yzk0OTkyNmM0OGM5MGU0MWE5MTQ3NGMwNnAtMSwKLSAgICAweDEuNzdhOGI5YjNkMjU0YTllMzlkMDJiM2ViM2UyMzkwZTdwLTMsCi0gICAgMHgxLjYyZTYyYTlkMDI0MTZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODgKLSAgICAtMHgxLmY3NTAyMzVjOTQ5OTI2YzQ4YzkwZTQxYTkxNDc0YzA2cC0xLAotICAgIDB4MS43N2E4YjliM2QyNTRhOWUzOWQwMmIzZWIzZTIzOTBlN3AtMywKLSAgICAtMHgxLjYyZTYyYTlkMDI0MTZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODkKLSAgICAweDEuNjVmN2Q1NzEyNzliMGI4MDA1NTUyZmQ0N2EyZTc3YWVwLTEsCi0gICAgMHgxLjZlMTA2MTIwNWRkNzkwNTFjMTEyZDMwYTA1MDk3YzYxcC0xLAotICAgIDB4MS44YzY2MmE5ZDAyNDE5cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIC0weDEuNjVmN2Q1NzEyNzliMGI4MDA1NTUyZmQ0N2EyZTc3YWVwLTEsCi0gICAgMHgxLjZlMTA2MTIwNWRkNzkwNTFjMTEyZDMwYTA1MDk3YzYxcC0xLAotICAgIC0weDEuOGM2NjJhOWQwMjQxOXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTEKLSAgICAtMHgxLmZlMDQzZjU3MzY5ZDZhNTJmYTMzZjAxMTllYzRkYTE5cC0xLAotICAgIC0weDEuNjgyZjNjYzNjN2EwOGRhMmNlMDJhNDFjZGM3YmVkODZwLTQsCi0gICAgLTB4MS5hOGFhMWQxMWM0NGZmcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkyCi0gICAgMHgxLmZlMDQzZjU3MzY5ZDZhNTJmYTMzZjAxMTllYzRkYTE5cC0xLAotICAgIC0weDEuNjgyZjNjYzNjN2EwOGRhMmNlMDJhNDFjZGM3YmVkODZwLTQsCi0gICAgMHgxLmE4YWExZDExYzQ0ZmZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTMKLSAgICAtMHgxLmZmZjE4ZjI0ZjNlNGI4N2JmOGMzNzYyY2I0NGY0NmQ2cC0xLAotICAgIC0weDEuZTY2NjlhMjcwYzM2ZDQ4NzliNDI4ZGRiYTk2Y2Q4N2JwLTcsCi0gICAgLTB4MS45NWVjOGI5ZTAzZDU0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk0Ci0gICAgMHgxLmZmZjE4ZjI0ZjNlNGI4N2JmOGMzNzYyY2I0NGY0NmQ2cC0xLAotICAgIC0weDEuZTY2NjlhMjcwYzM2ZDQ4NzliNDI4ZGRiYTk2Y2Q4N2JwLTcsCi0gICAgMHgxLjk1ZWM4YjllMDNkNTRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAtMHgxLmZmMjBkOTYxNjI0ZTcwNjNhNzgyMDNiODExZjU3OWNhcC0xLAotICAgIDB4MS5kZGQxZWMyNWUyMDlmMWJiZjdlMTdlZjZjODQ1MGNkN3AtNSwKLSAgICAtMHgxLjgzMmVmYTJhNDM1YTlwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTYKLSAgICAweDEuZmYyMGQ5NjE2MjRlNzA2M2E3ODIwM2I4MTFmNTc5Y2FwLTEsCi0gICAgMHgxLmRkZDFlYzI1ZTIwOWYxYmJmN2UxN2VmNmM4NDUwY2Q3cC01LAotICAgIDB4MS44MzJlZmEyYTQzNWE5cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk3Ci0gICAgLTB4MS5mYjkzM2M0MDEwN2ZkNzc1MTg1YWMxNDkxOGM4ZmJhZnAtMSwKLSAgICAweDEuMGNhYjkxMTU2NDBkOTkzMDgyYTczNDNiYjVhZmZlYTJwLTMsCi0gICAgLTB4MS43MDcxNjhiNjgyZGZlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk4Ci0gICAgMHgxLmZiOTMzYzQwMTA3ZmQ3NzUxODVhYzE0OTE4YzhmYmFmcC0xLAotICAgIDB4MS4wY2FiOTExNTY0MGQ5OTMwODJhNzM0M2JiNWFmZmVhMnAtMywKLSAgICAweDEuNzA3MTY4YjY4MmRmZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIC0weDEuZjU0ZDk3MTg4MWFkNjg1Yjc4MmVmODhlNjM1MGY3Y2RwLTEsCi0gICAgMHgxLmEwNzIzYTk1NDkyZWRlZTVkYzk4Mzk0ZTQ1Zjk2ZDg4cC0zLAotICAgIC0weDEuNWRiM2Q3NDJjMjY1M3AwLAotICB9LAotICB7IC8vIEVudHJ5IDIwMAotICAgIDB4MS5mNTRkOTcxODgxYWQ2ODViNzgyZWY4OGU2MzUwZjdjZHAtMSwKLSAgICAweDEuYTA3MjNhOTU0OTJlZGVlNWRjOTgzOTRlNDVmOTZkODhwLTMsCi0gICAgMHgxLjVkYjNkNzQyYzI2NTNwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICAtMHgxLmVjNTg4M2I3YjZjZjRkODU5YWIwNGUxNWQ1MzY5OGM5cC0xLAotICAgIDB4MS4xOGZlZTk2YTFhNTg1OTI4YTk0Y2RhN2UzZDkxNmZlMXAtMiwKLSAgICAtMHgxLjRhZjY0NWNmMDFlYThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDIKLSAgICAweDEuZWM1ODgzYjdiNmNmNGQ4NTlhYjA0ZTE1ZDUzNjk4YzlwLTEsCi0gICAgMHgxLjE4ZmVlOTZhMWE1ODU5MjhhOTRjZGE3ZTNkOTE2ZmUxcC0yLAotICAgIDB4MS40YWY2NDVjZjAxZWE4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgLTB4MS5lMGMwNGE5NGUxNzMwOWM4MDZjMWM3OGJkZGMxZDYwN3AtMSwKLSAgICAweDEuNjA0MzYyMWIxM2JlMmZmMDcwODVmODI3ODU5OGU1NjZwLTIsCi0gICAgLTB4MS4zODM4YjQ1YjQxNmZkcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgMHgxLmUwYzA0YTk0ZTE3MzA5YzgwNmMxYzc4YmRkYzFkNjA3cC0xLAotICAgIDB4MS42MDQzNjIxYjEzYmUyZmYwNzA4NWY4Mjc4NTk4ZTU2NnAtMiwKLSAgICAweDEuMzgzOGI0NWI0MTZmZHAwLAotICB9LAotICB7IC8vIEVudHJ5IDIwNQotICAgIC0weDEuZDI5NGQxZjk2YzdlYmRiOTg2OWRkOTdjZjU3NGRkYjlwLTEsCi0gICAgMHgxLmE1YTRjY2Y0MGQ5ZDliYTk3ZmFhNGUyM2VjY2U5ZTNhcC0yLAotICAgIC0weDEuMjU3YjIyZTc4MGY1MnAwLAotICB9LAotICB7IC8vIEVudHJ5IDIwNgotICAgIDB4MS5kMjk0ZDFmOTZjN2ViZGI5ODY5ZGQ5N2NmNTc0ZGRiOXAtMSwKLSAgICAweDEuYTVhNGNjZjQwZDlkOWJhOTdmYWE0ZTIzZWNjZTllM2FwLTIsCi0gICAgMHgxLjI1N2IyMmU3ODBmNTJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDcKLSAgICAtMHgxLmMxZTk4ODMzNzNkN2VjYzQ4YzkyZGM4ODc1NTA1ZjdlcC0xLAotICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKLSAgICAtMHgxLjEyYmQ5MTczYzA3YWJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDgKLSAgICAweDEuYzFlOTg4MzM3M2Q3ZWNjNDhjOTJkYzg4NzU1MDVmN2VwLTEsCi0gICAgMHgxLmU4YzQwNWYzNmY4NWI3ZjVkNmEzOGRmZDRhNjkyMzQxcC0yLAotICAgIDB4MS4xMmJkOTE3M2MwN2FicDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA5Ci0gICAgLTB4MS5hMmMyODlkOWQwNTVhYzM3N2Y2N2Q3YTU0YTBiMzAwNXAtMSwKLSAgICAweDEuMjY5NzZhNmM0ZTBmODY2MzMzMjdmMWNlZWNiNTA4YWVwLTEsCi0gICAgLTB4MS5lYTVjM2VkNWIzODUwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIxMAotICAgIDB4MS5hMmMyODlkOWQwNTVhYzM3N2Y2N2Q3YTU0YTBiMzAwNXAtMSwKLSAgICAweDEuMjY5NzZhNmM0ZTBmODY2MzMzMjdmMWNlZWNiNTA4YWVwLTEsCi0gICAgMHgxLmVhNWMzZWQ1YjM4NTBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjExCi0gICAgLTB4MS45NWYwNTI1N2RiY2I1ZjRiMTI2MzZjNTg3OGVhNDA1YXAtMSwKLSAgICAweDEuMzgwNWExODgyMDA5ZjI4NDNkYTgwOGU5NTlmMTc4NjFwLTEsCi0gICAgLTB4MS5kNGI4N2RhYjY3MGEwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIxMgotICAgIDB4MS45NWYwNTI1N2RiY2I1ZjRiMTI2MzZjNTg3OGVhNDA1YXAtMSwKLSAgICAweDEuMzgwNWExODgyMDA5ZjI4NDNkYTgwOGU5NTlmMTc4NjFwLTEsCi0gICAgMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEzCi0gICAgLTB4MS44ODY0N2YyNmE2ZTBmNmIyNzE1YTZjMzc5N2VjMTFmNXAtMSwKLSAgICAweDEuNDhlNTJlMGE2NWJjYjNjZDQ2NDU1YzRkMjMzOGJkZjJwLTEsCi0gICAgLTB4MS5iZjE0YmM4MTFhOGYwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIxNAotICAgIDB4MS44ODY0N2YyNmE2ZTBmNmIyNzE1YTZjMzc5N2VjMTFmNXAtMSwKLSAgICAweDEuNDhlNTJlMGE2NWJjYjNjZDQ2NDU1YzRkMjMzOGJkZjJwLTEsCi0gICAgMHgxLmJmMTRiYzgxMWE4ZjBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE1Ci0gICAgLTB4MS43YTI1NDFkZmQ0ZTc1MmRlMzhmMDRhYmEyMWZjOWQ5ZnAtMSwKLSAgICAweDEuNTkyZTU4ZWEwYTllZWMwYjM1N2ViNGU5YTgzYjBlYTVwLTEsCi0gICAgLTB4MS5hOTcwZmI1NmNlMTQwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIxNgotICAgIDB4MS43YTI1NDFkZmQ0ZTc1MmRlMzhmMDRhYmEyMWZjOWQ5ZnAtMSwKLSAgICAweDEuNTkyZTU4ZWEwYTllZWMwYjM1N2ViNGU5YTgzYjBlYTVwLTEsCi0gICAgMHgxLmE5NzBmYjU2Y2UxNDBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE3Ci0gICAgLTB4MS42YjM5MWUyNWJjMjZjYmJjZjdhMDE4NDA3MGFmOWMzOXAtMSwKLSAgICAweDEuNjhkOWFmZTA1MmQxZjBlOTMyNGFlODc2OTYxYmNkYjFwLTEsCi0gICAgLTB4MS45M2NkM2EyYzgxOTkwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIxOAotICAgIDB4MS42YjM5MWUyNWJjMjZjYmJjZjdhMDE4NDA3MGFmOWMzOXAtMSwKLSAgICAweDEuNjhkOWFmZTA1MmQxZjBlOTMyNGFlODc2OTYxYmNkYjFwLTEsCi0gICAgMHgxLjkzY2QzYTJjODE5OTBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE5Ci0gICAgLTB4MS41YmE2ZTZhOGU3MDY1MzViOThmYzk5ZGZhZWY4MjRmMXAtMSwKLSAgICAweDEuNzdlMDA4ZDA3NzVlNzQ0ZWIxNmEyYzRlYzcxODRjNDNwLTEsCi0gICAgLTB4MS43ZTI5NzkwMjM1MWUwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIyMAotICAgIDB4MS41YmE2ZTZhOGU3MDY1MzViOThmYzk5ZGZhZWY4MjRmMXAtMSwKLSAgICAweDEuNzdlMDA4ZDA3NzVlNzQ0ZWIxNmEyYzRlYzcxODRjNDNwLTEsCi0gICAgMHgxLjdlMjk3OTAyMzUxZTBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIxCi0gICAgLTB4MS40Yjc1YmEwOTZmYTU0OWViOTM1OTVkODE5NGFiOTE3ZnAtMSwKLSAgICAweDEuODYzYTg1MGU0MzhmZTAyOTMwMmFiYTBmNWYxMjc2MTZwLTEsCi0gICAgLTB4MS42ODg1YjdkN2U4YTMwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIDB4MS40Yjc1YmEwOTZmYTU0OWViOTM1OTVkODE5NGFiOTE3ZnAtMSwKLSAgICAweDEuODYzYTg1MGU0MzhmZTAyOTMwMmFiYTBmNWYxMjc2MTZwLTEsCi0gICAgMHgxLjY4ODViN2Q3ZThhMzBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIzCi0gICAgLTB4MS4zYWFjZmY5NWEzMTIyYjE1ZjM3MmJmZDJmZGY5YTc1ZnAtMSwKLSAgICAweDEuOTNlMjk0ODIzM2ZjZTgxNDQzOWVkNTFmZDI1NDg5MjBwLTEsCi0gICAgLTB4MS41MmUxZjZhZDljMjgwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIyNAotICAgIDB4MS4zYWFjZmY5NWEzMTIyYjE1ZjM3MmJmZDJmZGY5YTc1ZnAtMSwKLSAgICAweDEuOTNlMjk0ODIzM2ZjZTgxNDQzOWVkNTFmZDI1NDg5MjBwLTEsCi0gICAgMHgxLjUyZTFmNmFkOWMyODBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI1Ci0gICAgLTB4MS4yOTU0NjNlNzY5Mjg0YTVhZWQxN2E0NDMzOTJmMzhmM3AtMSwKLSAgICAweDEuYTBkMWY4YTlhNzkxZDRiNTY5NGNhNjhhNDJmZTZjOWJwLTEsCi0gICAgLTB4MS4zZDNlMzU4MzRmYWQwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIDB4MS4yOTU0NjNlNzY5Mjg0YTVhZWQxN2E0NDMzOTJmMzhmM3AtMSwKLSAgICAweDEuYTBkMWY4YTlhNzkxZDRiNTY5NGNhNjhhNDJmZTZjOWJwLTEsCi0gICAgMHgxLjNkM2UzNTgzNGZhZDBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI3Ci0gICAgLTB4MS5mYzc2OWI3N2U1ODg0OTVhNmY2NDJjYTI0ZTRlZDNmY3AtMiwKLSAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCi0gICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIDB4MS5mYzc2OWI3N2U1ODg0OTVhNmY2NDJjYTI0ZTRlZDNmY3AtMiwKLSAgICAweDEuYmM2YmQ4NjFlMTNkZTMwOTQyOGUwMGY3YmVmNmMzZWNwLTEsCi0gICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI5Ci0gICAgLTB4MS5jODUzYzc4NDYyZGU0NmI1NzQzMzE1NjEyZjhiNWE3Y3AtMiwKLSAgICAweDEuY2E1OWM2ZmEzZDljZTIzOGEyMjczOTNiNmIwNzViYzVwLTEsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODJjcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIzMAotICAgIDB4MS5jODUzYzc4NDYyZGU0NmI1NzQzMzE1NjEyZjhiNWE3Y3AtMiwKLSAgICAweDEuY2E1OWM2ZmEzZDljZTIzOGEyMjczOTNiNmIwNzViYzVwLTEsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MmNwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgLTB4MS45MmFiYTkwYWFmMjcyNDlkZTQ5Yzc4ZmM2NDNjOGI3MnAtMiwKLSAgICAweDEuZDZjMGIxMjU3OTFjZmZjZTgzZTMyNTY0NzEyYjc4YzZwLTEsCi0gICAgLTB4MS45ZGQ4M2M3YzllMTI2cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS45MmFiYTkwYWFmMjcyNDlkZTQ5Yzc4ZmM2NDNjOGI3MnAtMiwKLSAgICAweDEuZDZjMGIxMjU3OTFjZmZjZTgzZTMyNTY0NzEyYjc4YzZwLTEsCi0gICAgMHgxLjlkZDgzYzdjOWUxMjZwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMzCi0gICAgLTB4MS41YmFjMDY0NjU4ZjM5NDYwYzgzMTEzYzBhMDA5N2EwY3AtMiwKLSAgICAweDEuZTE5NjAyNjE4Mjk4NTgzOTE2NDViYmUxMjAxOWU1OGFwLTEsCi0gICAgLTB4MS42MmI5NTg2YWQwYTIwcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIzNAotICAgIDB4MS41YmFjMDY0NjU4ZjM5NDYwYzgzMTEzYzBhMDA5N2EwY3AtMiwKLSAgICAweDEuZTE5NjAyNjE4Mjk4NTgzOTE2NDViYmUxMjAxOWU1OGFwLTEsCi0gICAgMHgxLjYyYjk1ODZhZDBhMjBwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM1Ci0gICAgLTB4MS4yMzgzY2E4MDc4ZTU4NDc3Y2Q1ZmIxZDlkZTAzMWRjZXAtMiwKLSAgICAweDEuZWFkMDdjYzYzNTY5NjRlMjdhMTAzNmQyZjhiMTU4ZjdwLTEsCi0gICAgLTB4MS4yNzlhNzQ1OTAzMzFhcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIzNgotICAgIDB4MS4yMzgzY2E4MDc4ZTU4NDc3Y2Q1ZmIxZDlkZTAzMWRjZXAtMiwKLSAgICAweDEuZWFkMDdjYzYzNTY5NjRlMjdhMTAzNmQyZjhiMTU4ZjdwLTEsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWFwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM3Ci0gICAgLTB4MS5kNGM1YmMxMWQyMzcxYWYyZmUyNWVmNWVkZTI3NjZhM3AtMywKLSAgICAweDEuZjI2ODQwZTdiMjE4OGY3YTBjYzY2MWEwZWRlMzcyOGJwLTEsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODI5cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDIzOAotICAgIDB4MS5kNGM1YmMxMWQyMzcxYWYyZmUyNWVmNWVkZTI3NjZhM3AtMywKLSAgICAweDEuZjI2ODQwZTdiMjE4OGY3YTBjYzY2MWEwZWRlMzcyOGJwLTEsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MjlwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM5Ci0gICAgLTB4MS42MGYzZmFhZjQzMDIzZDNjNzg2M2FlMDZkNGQ1OTc3NHAtMywKLSAgICAweDEuZjg1NmQ0OGRiNzk3ZGVjMGI3OWUxMzUzNDA5ZGMzZjJwLTEsCi0gICAgLTB4MS42MmI5NTg2YWQwYTFlcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDI0MAotICAgIDB4MS42MGYzZmFhZjQzMDIzZDNjNzg2M2FlMDZkNGQ1OTc3NHAtMywKLSAgICAweDEuZjg1NmQ0OGRiNzk3ZGVjMGI3OWUxMzUzNDA5ZGMzZjJwLTEsCi0gICAgMHgxLjYyYjk1ODZhZDBhMWVwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQxCi0gICAgLTB4MS5kN2VhM2RlNDVhOWQ2NTYzYWMwMDVjMGM1YmFkOGM1MHAtNCwKLSAgICAweDEuZmM5NzI4M2E0MjQ3OTcyMTVmOGE4ZDE5Njc3MzZjOWJwLTEsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODI2cC00LAotICB9LAotICB7IC8vIEVudHJ5IDI0MgotICAgIDB4MS5kN2VhM2RlNDVhOWQ2NTYzYWMwMDVjMGM1YmFkOGM1MHAtNCwKLSAgICAweDEuZmM5NzI4M2E0MjQ3OTcyMTVmOGE4ZDE5Njc3MzZjOWJwLTEsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MjZwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgLTB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKLSAgICAweDEuZmYyNTliN2FiOWY0ZjlhOGNiOWYxYzMzMzI3MmU0MDlwLTEsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01LAotICB9LAotICB7IC8vIEVudHJ5IDI0NAotICAgIDB4MS5kOGIzZGY0ODk5ODdhNmZlMGVlYWQwMDhlNzIwYWEyMnAtNSwKLSAgICAweDEuZmYyNTliN2FiOWY0ZjlhOGNiOWYxYzMzMzI3MmU0MDlwLTEsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ1Ci0gICAgMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAotICAgIDB4MS5mZjI1OWI3YWI5ZjRmOWE4Y2I5ZjFjMzMzMjcyZTQwOXAtMSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDYKLSAgICAtMHgxLmQ4YjNkZjQ4OTk4N2E2ZmUwZWVhZDAwOGU3MjBhYTIycC01LAotICAgIDB4MS5mZjI1OWI3YWI5ZjRmOWE4Y2I5ZjFjMzMzMjcyZTQwOXAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ3Ci0gICAgMHgxLmQ3ZWEzZGU0NWE5ZGQ0YTRiY2NkMWE4YzA0OGZhZjRjcC00LAotICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDgKLSAgICAtMHgxLmQ3ZWEzZGU0NWE5ZGQ0YTRiY2NkMWE4YzA0OGZhZjRjcC00LAotICAgIDB4MS5mYzk3MjgzYTQyNDc5NTg0NzI5NDY1NGExZDhhMDhlZHAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ5Ci0gICAgMHgxLjYwZjNmYWFmNDMwMjdjNDc1MmY1NjRmOWQwODE4ZmU4cC0zLAotICAgIDB4MS5mODU2ZDQ4ZGI3OTdkYmZlY2ZhOGI0Y2QzYmU0NDAyN3AtMSwKLSAgICAweDEuNjJiOTU4NmFkMGEyMnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAtMHgxLjYwZjNmYWFmNDMwMjdjNDc1MmY1NjRmOWQwODE4ZmU4cC0zLAotICAgIDB4MS5mODU2ZDQ4ZGI3OTdkYmZlY2ZhOGI0Y2QzYmU0NDAyN3AtMSwKLSAgICAtMHgxLjYyYjk1ODZhZDBhMjJwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgMHgxLmQ0YzViYzExZDIzNzU5NDAwNjQyZTVhMWVmZGMwZjg1cC0zLAotICAgIDB4MS5mMjY4NDBlN2IyMTg4YmQwODE0ZTNkZmM3ZjZmM2Y4N3AtMSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTIKLSAgICAtMHgxLmQ0YzViYzExZDIzNzU5NDAwNjQyZTVhMWVmZGMwZjg1cC0zLAotICAgIDB4MS5mMjY4NDBlN2IyMTg4YmQwODE0ZTNkZmM3ZjZmM2Y4N3AtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUzCi0gICAgMHgxLjIzODNjYTgwNzhlNWEzMjRkNTJjMTUzMDc0MmNkNGY1cC0yLAotICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxY3AtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTQKLSAgICAtMHgxLjIzODNjYTgwNzhlNWEzMjRkNTJjMTUzMDc0MmNkNGY1cC0yLAotICAgIDB4MS5lYWQwN2NjNjM1Njk2MDU0NmFlNjM0ZWY2MjYyMWZiMnAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgMHgxLjViYWMwNjQ2NThmM2IyN2EyODU3MmJlYTI1NjE5NWVmcC0yLAotICAgIDB4MS5lMTk2MDI2MTgyOTg1MmNhNjYyY2EyN2Q1MThjMmZhOXAtMSwKLSAgICAweDEuNjJiOTU4NmFkMGEyMnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAtMHgxLjViYWMwNjQ2NThmM2IyN2EyODU3MmJlYTI1NjE5NWVmcC0yLAotICAgIDB4MS5lMTk2MDI2MTgyOTg1MmNhNjYyY2EyN2Q1MThjMmZhOXAtMSwKLSAgICAtMHgxLjYyYjk1ODZhZDBhMjJwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU3Ci0gICAgMHgxLjkyYWJhOTBhYWYyNzQyMDllZmFlZDA4ZTM0MDcxZTNicC0yLAotICAgIDB4MS5kNmMwYjEyNTc5MWNmOTgzZDUzZWZhYTdkNDVlMjkxZXAtMSwKLSAgICAweDEuOWRkODNjN2M5ZTEyOHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTgKLSAgICAtMHgxLjkyYWJhOTBhYWYyNzQyMDllZmFlZDA4ZTM0MDcxZTNicC0yLAotICAgIDB4MS5kNmMwYjEyNTc5MWNmOTgzZDUzZWZhYTdkNDVlMjkxZXAtMSwKLSAgICAtMHgxLjlkZDgzYzdjOWUxMjhwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU5Ci0gICAgMHgxLmM4NTNjNzg0NjJkZTYzNWIxMGEyYjkzYWZkNzVkYTI2cC0yLAotICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKLSAgICAweDEuZDhmNzIwOGU2YjgyZXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAtMHgxLmM4NTNjNzg0NjJkZTYzNWIxMGEyYjkzYWZkNzVkYTI2cC0yLAotICAgIDB4MS5jYTU5YzZmYTNkOWNkYjE3NTMwOTI3YWZmMWIzM2FiYnAtMSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmVwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYxCi0gICAgMHgxLmZjNzY5Yjc3ZTU4ODQ5NWE2ZjY0MmNhMjRlNGVkM2ZjcC0yLAotICAgIDB4MS5iYzZiZDg2MWUxM2RlMzA5NDI4ZTAwZjdiZWY2YzNlY3AtMSwKLSAgICAweDEuMGEwYjAyNTAxYzc5OXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjIKLSAgICAtMHgxLmZjNzY5Yjc3ZTU4ODQ5NWE2ZjY0MmNhMjRlNGVkM2ZjcC0yLAotICAgIDB4MS5iYzZiZDg2MWUxM2RlMzA5NDI4ZTAwZjdiZWY2YzNlY3AtMSwKLSAgICAtMHgxLjBhMGIwMjUwMWM3OTlwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLjI5NTQ2M2U3NjkyODE2NDBhZTAyNmY1MGZjNDVlMzAxcC0xLAotICAgIDB4MS5hMGQxZjhhOWE3OTFmOWRmZjVjOTkzYWY0OTA4MjY0ZHAtMSwKLSAgICAweDEuM2QzZTM1ODM0ZmFjY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjQKLSAgICAtMHgxLjI5NTQ2M2U3NjkyODE2NDBhZTAyNmY1MGZjNDVlMzAxcC0xLAotICAgIDB4MS5hMGQxZjhhOWE3OTFmOWRmZjVjOTkzYWY0OTA4MjY0ZHAtMSwKLSAgICAtMHgxLjNkM2UzNTgzNGZhY2NwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY1Ci0gICAgMHgxLjNhYWNmZjk1YTMxMWY4OTlhMGUyNzk1MzVlODFjNGVjcC0xLAotICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKLSAgICAweDEuNTJlMWY2YWQ5YzI3Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjYKLSAgICAtMHgxLjNhYWNmZjk1YTMxMWY4OTlhMGUyNzk1MzVlODFjNGVjcC0xLAotICAgIDB4MS45M2UyOTQ4MjMzZmQwZjY5ZTM5MTg5ODIxNDhmODI2NXAtMSwKLSAgICAtMHgxLjUyZTFmNmFkOWMyN2NwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY3Ci0gICAgMHgxLjRiNzViYTA5NmZhNTE5MjQ0MmI3OTUwZjk2MGY4MDA2cC0xLAotICAgIDB4MS44NjNhODUwZTQzOTAwOTk3ZTc2YmU4MDQwNTQzNzM3N3AtMSwKLSAgICAweDEuNjg4NWI3ZDdlOGEyY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjgKLSAgICAtMHgxLjRiNzViYTA5NmZhNTE5MjQ0MmI3OTUwZjk2MGY4MDA2cC0xLAotICAgIDB4MS44NjNhODUwZTQzOTAwOTk3ZTc2YmU4MDQwNTQzNzM3N3AtMSwKLSAgICAtMHgxLjY4ODViN2Q3ZThhMmNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY5Ci0gICAgMHgxLjViYTZlNmE4ZTcwNjI0NWY5N2UyOGFmM2RkYjcwMGY2cC0xLAotICAgIDB4MS43N2UwMDhkMDc3NWU5ZmMzOGUzZjQ5MmY4ZTkzZmY1MXAtMSwKLSAgICAweDEuN2UyOTc5MDIzNTFkY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzAKLSAgICAtMHgxLjViYTZlNmE4ZTcwNjI0NWY5N2UyOGFmM2RkYjcwMGY2cC0xLAotICAgIDB4MS43N2UwMDhkMDc3NWU5ZmMzOGUzZjQ5MmY4ZTkzZmY1MXAtMSwKLSAgICAtMHgxLjdlMjk3OTAyMzUxZGNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgMHgxLjZiMzkxZTI1YmMyNjllYTFjMWE0MGRlNjJmYmMwM2I0cC0xLAotICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKLSAgICAweDEuOTNjZDNhMmM4MTk4Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAtMHgxLjZiMzkxZTI1YmMyNjllYTFjMWE0MGRlNjJmYmMwM2I0cC0xLAotICAgIDB4MS42OGQ5YWZlMDUyZDIxZTUwNTYwZjlmZmI2Y2MxYjk0NXAtMSwKLSAgICAtMHgxLjkzY2QzYTJjODE5OGNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjczCi0gICAgMHgxLjdhMjU0MWRmZDRlNzI3Yjg2ZGQzMDk2NjQxODZlYzZicC0xLAotICAgIDB4MS41OTJlNThlYTBhOWYxYjRmZGRiYWFmODY4ZmU0NzkxMXAtMSwKLSAgICAweDEuYTk3MGZiNTZjZTEzY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzQKLSAgICAtMHgxLjdhMjU0MWRmZDRlNzI3Yjg2ZGQzMDk2NjQxODZlYzZicC0xLAotICAgIDB4MS41OTJlNThlYTBhOWYxYjRmZGRiYWFmODY4ZmU0NzkxMXAtMSwKLSAgICAtMHgxLmE5NzBmYjU2Y2UxM2NwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc1Ci0gICAgMHgxLjg4NjQ3ZjI2YTZlMGNkOTVjYjk5MWY3ZmZlNjFhMDJlcC0xLAotICAgIDB4MS40OGU1MmUwYTY1YmNlNGQ5ZDYyYTMxMjkzZjdkNDFjMXAtMSwKLSAgICAweDEuYmYxNGJjODExYThlY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzYKLSAgICAtMHgxLjg4NjQ3ZjI2YTZlMGNkOTVjYjk5MWY3ZmZlNjFhMDJlcC0xLAotICAgIDB4MS40OGU1MmUwYTY1YmNlNGQ5ZDYyYTMxMjkzZjdkNDFjMXAtMSwKLSAgICAtMHgxLmJmMTRiYzgxMWE4ZWNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc3Ci0gICAgMHgxLjk1ZjA1MjU3ZGJjYjM4NGE1ZTMyNjg1NzM3NmRkODAxcC0xLAotICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKLSAgICAweDEuZDRiODdkYWI2NzA5Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzgKLSAgICAtMHgxLjk1ZjA1MjU3ZGJjYjM4NGE1ZTMyNjg1NzM3NmRkODAxcC0xLAotICAgIDB4MS4zODA1YTE4ODIwMGEyNTQyNDdmMzA0NjJjMzZhY2Y2YXAtMSwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLmEyYzI4OWQ5ZDA1NTg3NjQ5MjFhNGRlMzU1Zjk0NDhjcC0xLAotICAgIDB4MS4yNjk3NmE2YzRlMGZiYWJiODQ2MzJiZDk5ZmVlYzljNnAtMSwKLSAgICAweDEuZWE1YzNlZDViMzg0Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAtMHgxLmEyYzI4OWQ5ZDA1NTg3NjQ5MjFhNGRlMzU1Zjk0NDhjcC0xLAotICAgIDB4MS4yNjk3NmE2YzRlMGZiYWJiODQ2MzJiZDk5ZmVlYzljNnAtMSwKLSAgICAtMHgxLmVhNWMzZWQ1YjM4NGNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgxCi0gICAgMHgxLmMxZTk4ODMzNzNkN2VjYzQ4YzkyZGM4ODc1NTA1ZjdlcC0xLAotICAgIDB4MS5lOGM0MDVmMzZmODViN2Y1ZDZhMzhkZmQ0YTY5MjM0MXAtMiwKLSAgICAweDEuMTJiZDkxNzNjMDdhYnAwLAotICB9LAotICB7IC8vIEVudHJ5IDI4MgotICAgIC0weDEuYzFlOTg4MzM3M2Q3ZWNjNDhjOTJkYzg4NzU1MDVmN2VwLTEsCi0gICAgMHgxLmU4YzQwNWYzNmY4NWI3ZjVkNmEzOGRmZDRhNjkyMzQxcC0yLAotICAgIC0weDEuMTJiZDkxNzNjMDdhYnAwLAotICB9LAotICB7IC8vIEVudHJ5IDI4MwotICAgIDB4MS5kMjk0ZDFmOTZjN2VmMjZlMjAzYzViMzA5YTU1NjcxZnAtMSwKLSAgICAweDEuYTVhNGNjZjQwZDljYjI1ZjE2YWQ5N2U0ODBjNGI0ODNwLTIsCi0gICAgMHgxLjI1N2IyMmU3ODBmNTZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODQKLSAgICAtMHgxLmQyOTRkMWY5NmM3ZWYyNmUyMDNjNWIzMDlhNTU2NzFmcC0xLAotICAgIDB4MS5hNWE0Y2NmNDBkOWNiMjVmMTZhZDk3ZTQ4MGM0YjQ4M3AtMiwKLSAgICAtMHgxLjI1N2IyMmU3ODBmNTZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODUKLSAgICAweDEuZTBjMDRhOTRlMTczMzVkMDczMDUyYTAzOTRiOWUxYzNwLTEsCi0gICAgMHgxLjYwNDM2MjFiMTNiZDNmOTA0YjNiODc2ZGY1YjJjNmY0cC0yLAotICAgIDB4MS4zODM4YjQ1YjQxNzAxcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg2Ci0gICAgLTB4MS5lMGMwNGE5NGUxNzMzNWQwNzMwNTJhMDM5NGI5ZTFjM3AtMSwKLSAgICAweDEuNjA0MzYyMWIxM2JkM2Y5MDRiM2I4NzZkZjViMmM2ZjRwLTIsCi0gICAgLTB4MS4zODM4YjQ1YjQxNzAxcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg3Ci0gICAgMHgxLmVjNTg4M2I3YjZjZjcwYTU3N2RkOTE2MGQwZjhlOWQ1cC0xLAotICAgIDB4MS4xOGZlZTk2YTFhNTc2MmZjNjc3MGZmMTY4ZTA2YWIzZXAtMiwKLSAgICAweDEuNGFmNjQ1Y2YwMWVhY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDI4OAotICAgIC0weDEuZWM1ODgzYjdiNmNmNzBhNTc3ZGQ5MTYwZDBmOGU5ZDVwLTEsCi0gICAgMHgxLjE4ZmVlOTZhMWE1NzYyZmM2NzcwZmYxNjhlMDZhYjNlcC0yLAotICAgIC0weDEuNGFmNjQ1Y2YwMWVhY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDI4OQotICAgIDB4MS5mNTRkOTcxODgxYWQ4MjYyOWJkODRkMjE0MTk0ZThkZHAtMSwKLSAgICAweDEuYTA3MjNhOTU0OTJjZTk5ODQ1N2ZiN2EwZDA5YTYzODVwLTMsCi0gICAgMHgxLjVkYjNkNzQyYzI2NTdwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTAKLSAgICAtMHgxLmY1NGQ5NzE4ODFhZDgyNjI5YmQ4NGQyMTQxOTRlOGRkcC0xLAotICAgIDB4MS5hMDcyM2E5NTQ5MmNlOTk4NDU3ZmI3YTBkMDlhNjM4NXAtMywKLSAgICAtMHgxLjVkYjNkNzQyYzI2NTdwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTEKLSAgICAweDEuZmI5MzNjNDAxMDdmZTgzZmQxNmMxNzg5ZTI3ZjY5ZjdwLTEsCi0gICAgMHgxLjBjYWI5MTE1NjQwYjlkOWQ0NjY3MjNiYmQ1ZDU4OWJlcC0zLAotICAgIDB4MS43MDcxNjhiNjgyZTAycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgLTB4MS5mYjkzM2M0MDEwN2ZlODNmZDE2YzE3ODllMjdmNjlmN3AtMSwKLSAgICAweDEuMGNhYjkxMTU2NDBiOWQ5ZDQ2NjcyM2JiZDVkNTg5YmVwLTMsCi0gICAgLTB4MS43MDcxNjhiNjgyZTAycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkzCi0gICAgMHgxLmZmMjBkOTYxNjI0ZTc3ZGFlZjMyOWI0MDI5YzM2MmRlcC0xLAotICAgIDB4MS5kZGQxZWMyNWUyMDFmNTM4OTI1YmY1YmNmN2M3ZGY2ZXAtNSwKLSAgICAweDEuODMyZWZhMmE0MzVhZHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI5NAotICAgIC0weDEuZmYyMGQ5NjE2MjRlNzdkYWVmMzI5YjQwMjljMzYyZGVwLTEsCi0gICAgMHgxLmRkZDFlYzI1ZTIwMWY1Mzg5MjViZjViY2Y3YzdkZjZlcC01LAotICAgIC0weDEuODMyZWZhMmE0MzVhZHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI5NQotICAgIDB4MS5mZmYxOGYyNGYzZTRiNjk1OTIyOTRmMjA2ZDdiMzJjMnAtMSwKLSAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAotICAgIDB4MS45NWVjOGI5ZTAzZDU4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk2Ci0gICAgLTB4MS5mZmYxOGYyNGYzZTRiNjk1OTIyOTRmMjA2ZDdiMzJjMnAtMSwKLSAgICAtMHgxLmU2NjY5YTI3MGM1NmQzYTA4ZDkxY2MyNzIxZjkyZmUxcC03LAotICAgIC0weDEuOTVlYzhiOWUwM2Q1OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI5NwotICAgIDB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKLSAgICAtMHgxLjY4MmYzY2MzYzdhMDhkYTJjZTAyYTQxY2RjN2JlZDg2cC00LAotICAgIDB4MS5hOGFhMWQxMWM0NGZmcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgLTB4MS5mZTA0M2Y1NzM2OWQ2YTUyZmEzM2YwMTE5ZWM0ZGExOXAtMSwKLSAgICAtMHgxLjY4MmYzY2MzYzdhMDhkYTJjZTAyYTQxY2RjN2JlZDg2cC00LAotICAgIC0weDEuYThhYTFkMTFjNDRmZnAwLAotICB9LAotICB7IC8vIEVudHJ5IDI5OQotICAgIDB4MS5iM2QzNjk1YWNjNDEzNmIyZDQ0NzE0ZjliMzg0MTliNHAtMSwKLSAgICAweDEuMGNiMzQ2OWEyOWVhNjZkNDAzMWJlNzY5NzAyYWFkNWNwLTEsCi0gICAgMHgxLjA0YWZmNmQzMzA5NDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDAKLSAgICAtMHgxLmIzZDM2OTVhY2M0MTM2YjJkNDQ3MTRmOWIzODQxOWI0cC0xLAotICAgIDB4MS4wY2IzNDY5YTI5ZWE2NmQ0MDMxYmU3Njk3MDJhYWQ1Y3AtMSwKLSAgICAtMHgxLjA0YWZmNmQzMzA5NDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDEKLSAgICAweDEuYjNkNDE5NzJkYzgwNjM5OTRmNjM0MTNkNWU0ZDhlNGJwLTEsCi0gICAgMHgxLjBjYjIyOGZhN2Y4MTE3YzgyZTYxY2Y1MzkzMzQxYzY0cC0xLAotICAgIDB4MS4wNGIwOWU5OGRjZGI0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAyCi0gICAgLTB4MS5iM2Q0MTk3MmRjODA2Mzk5NGY2MzQxM2Q1ZTRkOGU0YnAtMSwKLSAgICAweDEuMGNiMjI4ZmE3ZjgxMTdjODJlNjFjZjUzOTMzNDFjNjRwLTEsCi0gICAgLTB4MS4wNGIwOWU5OGRjZGI0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLmIzZDRjOThhMzE4ZmI2NmY4MjFkNzI4NmFlN2RjZTdicC0xLAotICAgIDB4MS4wY2IxMGI1YTYxYjA1YTczZTc4YTNlNDQ0N2JhZjUxNHAtMSwKLSAgICAweDEuMDRiMTQ2NWU4OTIyNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIC0weDEuYjNkNGM5OGEzMThmYjY2ZjgyMWQ3Mjg2YWU3ZGNlN2JwLTEsCi0gICAgMHgxLjBjYjEwYjVhNjFiMDVhNzNlNzhhM2U0NDQ3YmFmNTE0cC0xLAotICAgIC0weDEuMDRiMTQ2NWU4OTIyNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDMwNQotICAgIDB4MS5iM2Q1NzlhMGNiNmVlMzkzZmY3NWI1OGZmZTE2ZDEzZnAtMSwKLSAgICAweDEuMGNhZmVkYjlkMDc4YTk4NDA4NjkyOGFhNDBkMmU0YTVwLTEsCi0gICAgMHgxLjA0YjFlZTI0MzU2OThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAtMHgxLmIzZDU3OWEwY2I2ZWUzOTNmZjc1YjU4ZmZlMTZkMTNmcC0xLAotICAgIDB4MS4wY2FmZWRiOWQwNzhhOTg0MDg2OTI4YWE0MGQyZTRhNXAtMSwKLSAgICAtMHgxLjA0YjFlZTI0MzU2OThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAweDEuYjNkNjI5YjZhYTFkOWY2NWFhZDFhMmZjOTMyYzhiY2JwLTEsCi0gICAgMHgxLjBjYWVkMDE4Y2JkYTdmYTU5YzYzMWNkNTViMzFhYThkcC0xLAotICAgIDB4MS4wNGIyOTVlOWUxYjBhcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA4Ci0gICAgLTB4MS5iM2Q2MjliNmFhMWQ5ZjY1YWFkMWEyZmM5MzJjOGJjYnAtMSwKLSAgICAweDEuMGNhZWQwMThjYmRhN2ZhNTljNjMxY2Q1NWIzMWFhOGRwLTEsCi0gICAgLTB4MS4wNGIyOTVlOWUxYjBhcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA5Ci0gICAgMHgxLmIzZDZkOWNiY2Q5YjllNDNiN2ZjN2ZkNDI4YTQ0ZGQ4cC0xLAotICAgIDB4MS4wY2FkYjI3NzUzZDY1Nzg1ZTA2ZDBlNDY0MDA2MTQ5ZXAtMSwKLSAgICAweDEuMDRiMzNkYWY4ZGY3Y3AwLAotICB9LAotICB7IC8vIEVudHJ5IDMxMAotICAgIC0weDEuYjNkNmQ5Y2JjZDliOWU0M2I3ZmM3ZmQ0MjhhNDRkZDhwLTEsCi0gICAgMHgxLjBjYWRiMjc3NTNkNjU3ODVlMDZkMGU0NjQwMDYxNDllcC0xLAotICAgIC0weDEuMDRiMzNkYWY4ZGY3Y3AwLAotICB9LAotICB7IC8vIEVudHJ5IDMxMQotICAgIDB4MS5iM2Q3ODllMDM1ZTg5NDhkYWIyNzVkZmU1NDZjNWIwOHAtMSwKLSAgICAweDEuMGNhYzk0ZDU2ODZjYWJkMjQzMGMyMGZkZjI4NTViNDdwLTEsCi0gICAgMHgxLjA0YjNlNTc1M2EzZWVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAtMHgxLmIzZDc4OWUwMzVlODk0OGRhYjI3NWRmZTU0NmM1YjA4cC0xLAotICAgIDB4MS4wY2FjOTRkNTY4NmNhYmQyNDMwYzIwZmRmMjg1NWI0N3AtMSwKLSAgICAtMHgxLjA0YjNlNTc1M2EzZWVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTMKLSAgICAweDEuYjNkODM5ZjNlMzA0MzZhMzU4ZTkzY2JkY2IyYmIzNjdwLTEsCi0gICAgMHgxLjBjYWI3NzMzMDk5ZGY3Mzg2NDU1NzRjZDQ4MmVmNGIycC0xLAotICAgIDB4MS4wNGI0OGQzYWU2ODYwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgLTB4MS5iM2Q4MzlmM2UzMDQzNmEzNThlOTNjYmRjYjJiYjM2N3AtMSwKLSAgICAweDEuMGNhYjc3MzMwOTlkZjczODY0NTU3NGNkNDgyZWY0YjJwLTEsCi0gICAgLTB4MS4wNGI0OGQzYWU2ODYwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE1Ci0gICAgMHgxLmIzZDhlYTA2ZDRlZTA2ODRmNTc0MWVjNzc3ZWQ4OGUwcC0xLAotICAgIDB4MS4wY2FhNTk5MDM3NmIwNjFlYzFjZjM4OTBmMWI4ZTFlM3AtMSwKLSAgICAweDEuMDRiNTM1MDA5MmNjZnAwLAotICB9LAotICB7IC8vIEVudHJ5IDMxNgotICAgIC0weDEuYjNkOGVhMDZkNGVlMDY4NGY1NzQxZWM3NzdlZDg4ZTBwLTEsCi0gICAgMHgxLjBjYWE1OTkwMzc2YjA2MWVjMWNmMzg5MGYxYjhlMWUzcC0xLAotICAgIC0weDEuMDRiNTM1MDA5MmNjZnAwLAotICB9LAotICB7IC8vIEVudHJ5IDMxNwotICAgIC0wLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTA3NCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTgKLSAgICAwLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDc0LAotICB9LAotICB7IC8vIEVudHJ5IDMxOQotICAgIC0wLjAsCi0gICAgMHgxLnAwLAotICAgIC0wLjAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjEKLSAgICAtMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjBwLTEwNzQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgMHgxLjE3NzNkNTYxZmQ1MDY1ZDBlOTYwN2E3MjhhMzllZWQycC0xLAotICAgIDB4MS5hZDAyYzc3MWMzNWVkNWYwMTA4OWEwMGM2YTI3ZTBjZnAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxYnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAtMHgxLjE3NzNkNTYxZmQ1MDY1ZDBlOTYwN2E3MjhhMzllZWQycC0xLAotICAgIDB4MS5hZDAyYzc3MWMzNWVkNWYwMTA4OWEwMGM2YTI3ZTBjZnAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI0Ci0gICAgMHgxLjE3NzNkNTYxZmQ1MDczMzhmZjljMDg4ZDgwYzY4MGRicC0xLAotICAgIDB4MS5hZDAyYzc3MWMzNWVjZDM0NzFkZTkwMjFlNmMzYjkyYnAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjUKLSAgICAtMHgxLjE3NzNkNTYxZmQ1MDczMzhmZjljMDg4ZDgwYzY4MGRicC0xLAotICAgIDB4MS5hZDAyYzc3MWMzNWVjZDM0NzFkZTkwMjFlNmMzYjkyYnAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI2Ci0gICAgMHgxLjE3NzNkNTYxZmQ1MDgwYTExNWQ3OTZhODc3MGQzNWVmcC0xLAotICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxZHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjcKLSAgICAtMHgxLjE3NzNkNTYxZmQ1MDgwYTExNWQ3OTZhODc3MGQzNWVmcC0xLAotICAgIDB4MS5hZDAyYzc3MWMzNWVjNDc4ZDMzMzgwMzc2MmY0NTBkNXAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWRwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgMHgxLmY5NWI4ZTcxMDc0MThjMTFjOTRkNGE1NGE5ZGE5YjdhcC0xLAotICAgIC0weDEuNDhkMWRkZDJiMmIzZjhjMjFiOTQyMWU2NWIzODA3MzVwLTMsCi0gICAgMHgxLmJiNjdhZTg1ODRjYTlwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjkKLSAgICAtMHgxLmY5NWI4ZTcxMDc0MThjMTFjOTRkNGE1NGE5ZGE5YjdhcC0xLAotICAgIC0weDEuNDhkMWRkZDJiMmIzZjhjMjFiOTQyMWU2NWIzODA3MzVwLTMsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2E5cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMwCi0gICAgMHgxLmY5NWI4ZTcxMDc0MTg2ZWU4MWQ1ZmY4OWQ4ZmFlNTQ1cC0xLAotICAgIC0weDEuNDhkMWRkZDJiMmI0NzcxOGZmMzA2M2I2YmQ5ODEwOTlwLTMsCi0gICAgMHgxLmJiNjdhZTg1ODRjYWFwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzEKLSAgICAtMHgxLmY5NWI4ZTcxMDc0MTg2ZWU4MWQ1ZmY4OWQ4ZmFlNTQ1cC0xLAotICAgIC0weDEuNDhkMWRkZDJiMmI0NzcxOGZmMzA2M2I2YmQ5ODEwOTlwLTMsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2FhcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgMHgxLmY5NWI4ZTcxMDc0MTgxY2IzYTVlYjRiZjA2MjFkMzgxcC0xLAotICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCi0gICAgMHgxLmJiNjdhZTg1ODRjYWJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzMKLSAgICAtMHgxLmY5NWI4ZTcxMDc0MTgxY2IzYTVlYjRiZjA2MjFkMzgxcC0xLAotICAgIC0weDEuNDhkMWRkZDJiMmI0ZjU2ZmUyY2NhNTg3MWVhZjQ4MjBwLTMsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2FicDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM0Ci0gICAgMHgxLmIxZDgzMDUzMjE2MTVhYzkzOGNmZjAyYmU5ZjI1MDg1cC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmOTkxMWRiNGNhMGQ0NWZkYjBiM3AtMSwKLSAgICAweDEuYmZmZmZmZmZmZmZmZnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzUKLSAgICAtMHgxLmIxZDgzMDUzMjE2MTVhYzkzOGNmZjAyYmU5ZjI1MDg1cC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmOTkxMWRiNGNhMGQ0NWZkYjBiM3AtMSwKLSAgICAtMHgxLmJmZmZmZmZmZmZmZmZwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM2Ci0gICAgMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKLSAgICAweDEuY3AtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzcKLSAgICAtMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKLSAgICAtMHgxLmNwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgMHgxLmIxZDgzMDUzMjE2MTc3YzVhNWNhNDJkOTg5NTUyNzVhcC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKLSAgICAweDEuYzAwMDAwMDAwMDAwMXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzkKLSAgICAtMHgxLmIxZDgzMDUzMjE2MTc3YzVhNWNhNDJkOTg5NTUyNzVhcC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmMmM5YmNmMzdkODdjMDU4OTJmNXAtMSwKLSAgICAtMHgxLmMwMDAwMDAwMDAwMDFwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQwCi0gICAgMHgxLjQ0ZWIzODFjZjM4NjllYTcxY2NiMzY4NjNlNGVhNjVicC0xLAotICAgIDB4MS44YmIxMDVhNWRjOTAxMDQwNTFkMDhjYjk2NTYzMTgwN3AtMSwKLSAgICAweDEuNWZmZmZmZmZmZmZmZnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDEKLSAgICAtMHgxLjQ0ZWIzODFjZjM4NjllYTcxY2NiMzY4NjNlNGVhNjVicC0xLAotICAgIDB4MS44YmIxMDVhNWRjOTAxMDQwNTFkMDhjYjk2NTYzMTgwN3AtMSwKLSAgICAtMHgxLjVmZmZmZmZmZmZmZmZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQyCi0gICAgMHgxLjQ0ZWIzODFjZjM4NmFiMDRhNGY4NjU2YWJlYTgwYjgzcC0xLAotICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCi0gICAgMHgxLjZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQzCi0gICAgLTB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKLSAgICAweDEuOGJiMTA1YTVkYzkwMDYxOGY4MGZhNTFkMzAzYzY5cC0xLAotICAgIC0weDEuNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDQKLSAgICAweDEuNDRlYjM4MWNmMzg2Yjc2MjJkMjU5NDRmM2ViMDM1ZGNwLTEsCi0gICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAotICAgIDB4MS42MDAwMDAwMDAwMDAxcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM0NQotICAgIC0weDEuNDRlYjM4MWNmMzg2Yjc2MjJkMjU5NDRmM2ViMDM1ZGNwLTEsCi0gICAgMHgxLjhiYjEwNWE1ZGM4ZmZiZjE5ZTRlYmQ4MGZhYjJjZGI4cC0xLAotICAgIC0weDEuNjAwMDAwMDAwMDAwMXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDYKLSAgICAweDEuZGFkOTAyZmE4YWM4NjRmZDhhZmEwYmRjNjA5ZGVkMTlwLTEsCi0gICAgMHgxLjdlZjQ4NDJmMGJjZDExNjg2YWFmNmYyMWM5YWE4MzU0cC0yLAotICAgIDB4MS4yZmZmZmZmZmZmZmZmcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ3Ci0gICAgLTB4MS5kYWQ5MDJmYThhYzg2NGZkOGFmYTBiZGM2MDlkZWQxOXAtMSwKLSAgICAweDEuN2VmNDg0MmYwYmNkMTE2ODZhYWY2ZjIxYzlhYTgzNTRwLTIsCi0gICAgLTB4MS4yZmZmZmZmZmZmZmZmcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ4Ci0gICAgMHgxLmRhZDkwMmZhOGFjODcwZjUyZjFiODQzYWM4M2JjM2VkcC0xLAotICAgIDB4MS43ZWY0ODQyZjBiY2NkNjBkNGE1MDFkYzhiYzRiNTdiM3AtMiwKLSAgICAweDEuM3AwLAotICB9LAotICB7IC8vIEVudHJ5IDM0OQotICAgIC0weDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCi0gICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAotICAgIC0weDEuM3AwLAotICB9LAotICB7IC8vIEVudHJ5IDM1MAotICAgIDB4MS5kYWQ5MDJmYThhYzg3Y2VjZDMzY2ZjOTkyZGZlYzFiZXAtMSwKLSAgICAweDEuN2VmNDg0MmYwYmNjOWFiMjI5ZjBjYzZmYWQ2ZDM3OGRwLTIsCi0gICAgMHgxLjMwMDAwMDAwMDAwMDFwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTEKLSAgICAtMHgxLmRhZDkwMmZhOGFjODdjZWNkMzNjZmM5OTJkZmVjMWJlcC0xLAotICAgIDB4MS43ZWY0ODQyZjBiY2M5YWIyMjlmMGNjNmZhZDZkMzc4ZHAtMiwKLSAgICAtMHgxLjMwMDAwMDAwMDAwMDFwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTIKLSAgICAweDEuNGI3MDdhN2FjZGVjZjkwYTE4OGQwMjMwZmFkM2FkNThwLTEsCi0gICAgLTB4MS44NjNlZmEzNjFkYzIyOTRlOTI5Yjk1MTVmYjM0ZjliYXAtMSwKLSAgICAweDEuMzdmZmZmZmZmZmZmZnAxLAotICB9LAotICB7IC8vIEVudHJ5IDM1MwotICAgIC0weDEuNGI3MDdhN2FjZGVjZjkwYTE4OGQwMjMwZmFkM2FkNThwLTEsCi0gICAgLTB4MS44NjNlZmEzNjFkYzIyOTRlOTI5Yjk1MTVmYjM0ZjliYXAtMSwKLSAgICAtMHgxLjM3ZmZmZmZmZmZmZmZwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTQKLSAgICAweDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCi0gICAgLTB4MS44NjNlZmEzNjFkYzI1MmJjYTFlYWVlZDM5NzQ5YmVkN3AtMSwKLSAgICAweDEuMzgwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU1Ci0gICAgLTB4MS40YjcwN2E3YWNkZWNjODQyMzk0NjNlNzhiMzEyZmExMHAtMSwKLSAgICAtMHgxLjg2M2VmYTM2MWRjMjUyYmNhMWVhZWVkMzk3NDliZWQ3cC0xLAotICAgIC0weDEuMzgwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgMHgxLjRiNzA3YTdhY2RlYzk3N2E1OWZmN2FjMDY2MjQ4NGRkcC0xLAotICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCi0gICAgMHgxLjM4MDAwMDAwMDAwMDFwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTcKLSAgICAtMHgxLjRiNzA3YTdhY2RlYzk3N2E1OWZmN2FjMDY2MjQ4NGRkcC0xLAotICAgIC0weDEuODYzZWZhMzYxZGMyN2MyYWIxM2E0ODkxMmQ0NTg4MGJwLTEsCi0gICAgLTB4MS4zODAwMDAwMDAwMDAxcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU4Ci0gICAgMHgxLjA2NmU3ZWI3NmY1YzY2NzhmZDgzMjVhODFmMTkyNWM2cC00LAotICAgIDB4MS5mZWYyYjJkMjFjZjZjMTA2ZTg2ZmY5Mzk1ZjgyMDRhMHAtMSwKLSAgICAweDEuMDY5YzhiNDZiMzc5MnAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTkKLSAgICAtMHgxLjA2NmU3ZWI3NmY1YzY2NzhmZDgzMjVhODFmMTkyNWM2cC00LAotICAgIDB4MS5mZWYyYjJkMjFjZjZjMTA2ZTg2ZmY5Mzk1ZjgyMDRhMHAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYwCi0gICAgMHgxLjA1ZTQ3NjFhYjhkOGYwYTdkYmE4MzQwMDBmMjM2NjUwcC0zLAotICAgIDB4MS5mYmNiZTY5M2JkOGVjODU3MjNiNmNiNTVlNGY1ZTc4ZnAtMSwKLSAgICAweDEuMDY5YzhiNDZiMzc5MnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjEKLSAgICAtMHgxLjA1ZTQ3NjFhYjhkOGYwYTdkYmE4MzQwMDBmMjM2NjUwcC0zLAotICAgIDB4MS5mYmNiZTY5M2JkOGVjODU3MjNiNmNiNTVlNGY1ZTc4ZnAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYyCi0gICAgMHgxLjg3N2UyY2Q0ZjZmZDliYTQ5OGUzMjcwNTMwMzI3MzRmcC0zLAotICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1YnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjMKLSAgICAtMHgxLjg3N2UyY2Q0ZjZmZDliYTQ5OGUzMjcwNTMwMzI3MzRmcC0zLAotICAgIDB4MS5mNjhlZWJmY2JiNWU4NDE5MDBlMjU0MmY3YzI0YmFiMHAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY0Ci0gICAgMHgxLjAzYmUwNmY5N2NiZWU0NzY5ODUzOWY5NzdjYWRiZTdlcC0yLAotICAgIDB4MS5lZjQxNDViNGFlY2ZmYmRhYWZmYjc4ZmZiNDlhYzliZHAtMSwKLSAgICAweDEuMDY5YzhiNDZiMzc5MnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjUKLSAgICAtMHgxLjAzYmUwNmY5N2NiZWU0NzY5ODUzOWY5NzdjYWRiZTdlcC0yLAotICAgIDB4MS5lZjQxNDViNGFlY2ZmYmRhYWZmYjc4ZmZiNDlhYzliZHAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY2Ci0gICAgMHgxLjQyYWJiYThjNzJmYmI4Y2E5NmY3OWFhNGJiMDM1ODRlcC0yLAotICAgIDB4MS5lNWVhYTI4NmZiYmM2NzBkYmY2MzkyZDdjOThhYjBhMHAtMSwKLSAgICAweDEuNDg0M2FlMTg2MDU3NnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjcKLSAgICAtMHgxLjQyYWJiYThjNzJmYmI4Y2E5NmY3OWFhNGJiMDM1ODRlcC0yLAotICAgIDB4MS5lNWVhYTI4NmZiYmM2NzBkYmY2MzkyZDdjOThhYjBhMHAtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NzZwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY4Ci0gICAgMHgxLjgwNDVmZTY0ZTYyZGMzZDY4NmQ5NzZkN2Q1YTdjNjg5cC0yLAotICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1YXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjkKLSAgICAtMHgxLjgwNDVmZTY0ZTYyZGMzZDY4NmQ5NzZkN2Q1YTdjNjg5cC0yLAotICAgIDB4MS5kYTk0ZDU0ZGQ0YzA4NzZlMThlZTk3YzcwZDFhNGE5NHAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNWFwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcwCi0gICAgMHgxLmJjNGMwNGQ3MWFiYmVlYTVhYjA2NGVjZmJmNTRjNjEzcC0yLAotICAgIDB4MS5jZDRiY2E5Y2I1YzcxNTMwMjAwMWU0NDZjYzkzYTdiY3AtMSwKLSAgICAweDEuY2I5MWYzYmJiYTEzZXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzEKLSAgICAtMHgxLmJjNGMwNGQ3MWFiYmVlYTVhYjA2NGVjZmJmNTRjNjEzcC0yLAotICAgIDB4MS5jZDRiY2E5Y2I1YzcxNTMwMjAwMWU0NDZjYzkzYTdiY3AtMSwKLSAgICAtMHgxLmNiOTFmM2JiYmExM2VwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcyCi0gICAgMHgxLmY2N2VhOTc1Yjg2YTAxNTEwZTZiZGUzNzc4MTM4OTM0cC0yLAotICAgIDB4MS5iZTFkN2MzNTM0YzQwMzMxZmRkZjI0M2Q4YTBhNTZiMHAtMSwKLSAgICAweDEuMDY5YzhiNDZiMzc5MXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzMKLSAgICAtMHgxLmY2N2VhOTc1Yjg2YTAxNTEwZTZiZGUzNzc4MTM4OTM0cC0yLAotICAgIDB4MS5iZTFkN2MzNTM0YzQwMzMxZmRkZjI0M2Q4YTBhNTZiMHAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc0Ci0gICAgMHgxLjE3NTA1OWJmMGQ0MjUyNGVjYjBiZjQyNDNiNTU5NzNkcC0xLAotICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKLSAgICAweDEuMjc3MDFjYWY4OWU4M3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzUKLSAgICAtMHgxLjE3NTA1OWJmMGQ0MjUyNGVjYjBiZjQyNDNiNTU5NzNkcC0xLAotICAgIDB4MS5hZDE5ZTI1MzVhYTk2NzhiZDVmZGFmYzY4ODE3NzAwYnAtMSwKLSAgICAtMHgxLjI3NzAxY2FmODllODNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc2Ci0gICAgMHgxLjMyM2I4YjFmYjRiYTIxZGQxMmNjZTgyMGUxNTZhNGZjcC0xLAotICAgIDB4MS45YTUyZTJlMGZiY2IzYTNmNGJkZTZmNmVjMjc3NjdhOXAtMSwKLSAgICAweDEuNDg0M2FlMTg2MDU3NXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzcKLSAgICAtMHgxLjMyM2I4YjFmYjRiYTIxZGQxMmNjZTgyMGUxNTZhNGZjcC0xLAotICAgIDB4MS45YTUyZTJlMGZiY2IzYTNmNGJkZTZmNmVjMjc3NjdhOXAtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NzVwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc4Ci0gICAgMHgxLjRiZTQ5NzljNWVmYjMwNmMxYTc3MDI0MDMyODQ5YjUycC0xLAotICAgIDB4MS44NWRjM2VhMWJiY2U5YTgwODVmNjY1OTNhODdiN2UyZXAtMSwKLSAgICAweDEuNjkxNzNmODEzNmM2N3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzkKLSAgICAtMHgxLjRiZTQ5NzljNWVmYjMwNmMxYTc3MDI0MDMyODQ5YjUycC0xLAotICAgIDB4MS44NWRjM2VhMWJiY2U5YTgwODVmNjY1OTNhODdiN2UyZXAtMSwKLSAgICAtMHgxLjY5MTczZjgxMzZjNjdwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgwCi0gICAgMHgxLjY0MzA4MGQ2N2FjYzEzMzJjNjRhODU2MTJjYWNhZmI5cC0xLAotICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKLSAgICAweDEuODllYWQwZWEwZDM1OXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODEKLSAgICAtMHgxLjY0MzA4MGQ2N2FjYzEzMzJjNjRhODU2MTJjYWNhZmI5cC0xLAotICAgIDB4MS42ZmNiN2M2YjhiOTE5YWYzZGRhNTMwOTRjOWEyN2FhYnAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgyCi0gICAgMHgxLjdiMDViN2I2YzYxMmU1YjA4ZDVlZmU0OWE0NmUyMWExcC0xLAotICAgIDB4MS41ODM3ZDI4MTdjZjMwM2VmNmRhZTY5ZmFlYjBmMDE1ZXAtMSwKLSAgICAweDEuYWFiZTYyNTJlM2E0YnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODMKLSAgICAtMHgxLjdiMDViN2I2YzYxMmU1YjA4ZDVlZmU0OWE0NmUyMWExcC0xLAotICAgIDB4MS41ODM3ZDI4MTdjZjMwM2VmNmRhZTY5ZmFlYjBmMDE1ZXAtMSwKLSAgICAtMHgxLmFhYmU2MjUyZTNhNGJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg0Ci0gICAgMHgxLjkwNGMzNzUwNWRlNDhmYThlNzYyODc5NjBmZDQ0NTk0cC0xLAotICAgIDB4MS4zZjNhMGUyOGJlZGQ0MDQ0NTg1OGY4MjNlMTUwMjY0YnAtMSwKLSAgICAweDEuY2I5MWYzYmJiYTEzZHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODUKLSAgICAtMHgxLjkwNGMzNzUwNWRlNDhmYThlNzYyODc5NjBmZDQ0NTk0cC0xLAotICAgIDB4MS4zZjNhMGUyOGJlZGQ0MDQ0NTg1OGY4MjNlMTUwMjY0YnAtMSwKLSAgICAtMHgxLmNiOTFmM2JiYmExM2RwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg2Ci0gICAgMHgxLmEzZWQ5ZTI1MjkzOGExNGM3OWM1NzU2MzljMTVhOTFkcC0xLAotICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKLSAgICAweDEuZWM2NTg1MjQ5MDgyZnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODcKLSAgICAtMHgxLmEzZWQ5ZTI1MjkzOGExNGM3OWM1NzU2MzljMTVhOTFkcC0xLAotICAgIDB4MS4yNGVjNzk5MTcxNjQyZGJkMjRkMjU5MDA1ODIyYmQyNXAtMSwKLSAgICAtMHgxLmVjNjU4NTI0OTA4MmZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg4Ci0gICAgMHgxLmI1ZDU0NWIxMDliZjkzNTU5NDAzNjc5OGNmNDBjOWIwcC0xLAotICAgIDB4MS4wOTZhYzAyZWM0MmM4NWI3YjEwYWZlZDkyMDI3ODViOXAtMSwKLSAgICAweDEuMDY5YzhiNDZiMzc5MXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIC0weDEuYjVkNTQ1YjEwOWJmOTM1NTk0MDM2Nzk4Y2Y0MGM5YjBwLTEsCi0gICAgMHgxLjA5NmFjMDJlYzQyYzg1YjdiMTBhZmVkOTIwMjc4NWI5cC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM5MAotICAgIDB4MS5jNWYwNTgyMzBlN2ZkMTRkM2U1ZTMxNTM0OWY2OTllZnAtMSwKLSAgICAweDEuZDlhM2EzMzZlZGI3NjEzZGYwNjJlODZhMzJkMDlmZTFwLTIsCi0gICAgMHgxLjE3MDY1M2ZiMWViMGFwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTEKLSAgICAtMHgxLmM1ZjA1ODIzMGU3ZmQxNGQzZTVlMzE1MzQ5ZjY5OWVmcC0xLAotICAgIDB4MS5kOWEzYTMzNmVkYjc2MTNkZjA2MmU4NmEzMmQwOWZlMXAtMiwKLSAgICAtMHgxLjE3MDY1M2ZiMWViMGFwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTIKLSAgICAweDEuZDQyZGU0MmRjZTEzNDZhMDNkMWY2YWJmMGViYTkwMjJwLTEsCi0gICAgMHgxLjllN2Y4NjUyYjQ3NTgyYWZkMjk3NDQyOTMxNzBjMDdjcC0yLAotICAgIDB4MS4yNzcwMWNhZjg5ZTgzcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkzCi0gICAgLTB4MS5kNDJkZTQyZGNlMTM0NmEwM2QxZjZhYmYwZWJhOTAyMnAtMSwKLSAgICAweDEuOWU3Zjg2NTJiNDc1ODJhZmQyOTc0NDI5MzE3MGMwN2NwLTIsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTgzcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk0Ci0gICAgMHgxLmUwN2VlZWRhMTA5Y2I1MDRhZmNjYTg2MGQ0YjVkZDMycC0xLAotICAgIDB4MS42MWE3NjA3N2FlZTA3YmIzNDljYTc2Y2Y3MDA5MTNkMXAtMiwKLSAgICAweDEuMzdkOWU1NjNmNTFmY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDM5NQotICAgIC0weDEuZTA3ZWVlZGExMDljYjUwNGFmY2NhODYwZDRiNWRkMzJwLTEsCi0gICAgMHgxLjYxYTc2MDc3YWVlMDdiYjM0OWNhNzZjZjcwMDkxM2QxcC0yLAotICAgIC0weDEuMzdkOWU1NjNmNTFmY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDM5NgotICAgIDB4MS5lYWQ2ODM0OTA5YjkzMzcxZmFmM2JlYWRkYmQ2MGVkZHAtMSwKLSAgICAweDEuMjM1YjMzMWQ4Zjc0OGUyMGZiNmRkYjZhNzA4ZGJhMTBwLTIsCi0gICAgMHgxLjQ4NDNhZTE4NjA1NzVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTcKLSAgICAtMHgxLmVhZDY4MzQ5MDliOTMzNzFmYWYzYmVhZGRiZDYwZWRkcC0xLAotICAgIDB4MS4yMzViMzMxZDhmNzQ4ZTIwZmI2ZGRiNmE3MDhkYmExMHAtMiwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NzVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAweDEuZjMyOWMwNTU4ZTk2N2U0Y2FiNThkMGZhNTcyZDYyZDJwLTEsCi0gICAgMHgxLmM3YjkwZTMwMjQ1OTNkYTg0NDk5NjNjZmUwOGRkZTg1cC0zLAotICAgIDB4MS41OGFkNzZjY2NiOGVlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk5Ci0gICAgLTB4MS5mMzI5YzA1NThlOTY3ZTRjYWI1OGQwZmE1NzJkNjJkMnAtMSwKLSAgICAweDEuYzdiOTBlMzAyNDU5M2RhODQ0OTk2M2NmZTA4ZGRlODVwLTMsCi0gICAgLTB4MS41OGFkNzZjY2NiOGVlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAwCi0gICAgMHgxLmY5NmZlNDA1ZjFhYzVkYzljZjM0MzUwODA2N2JmY2FlcC0xLAotICAgIDB4MS40NmRjNGY0Y2U4M2RhNzI3ZWEwNDhjYzdkMmYyNzZkMXAtMywKLSAgICAweDEuNjkxNzNmODEzNmM2N3AwLAotICB9LAotICB7IC8vIEVudHJ5IDQwMQotICAgIC0weDEuZjk2ZmU0MDVmMWFjNWRjOWNmMzQzNTA4MDY3YmZjYWVwLTEsCi0gICAgMHgxLjQ2ZGM0ZjRjZTgzZGE3MjdlYTA0OGNjN2QyZjI3NmQxcC0zLAotICAgIC0weDEuNjkxNzNmODEzNmM2N3AwLAotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIDB4MS5mZGEyNTRjMjdhMDFmNDc4NmMxNDlkNmE3Nzc5Y2MzYXAtMSwKLSAgICAweDEuODk0ZjcwYmVmYmI5OWFiN2RmOWQxNzkwYTI4ZjQ4YWRwLTQsCi0gICAgMHgxLjc5ODEwODM1YTFmZTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDMKLSAgICAtMHgxLmZkYTI1NGMyN2EwMWY0Nzg2YzE0OWQ2YTc3NzljYzNhcC0xLAotICAgIDB4MS44OTRmNzBiZWZiYjk5YWI3ZGY5ZDE3OTBhMjhmNDhhZHAtNCwKLSAgICAtMHgxLjc5ODEwODM1YTFmZTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDQKLSAgICAweDEuZmZiY2E4NDZjNGZjOTk3ZjFhMzgxNDIwMjA4ODg0ZTBwLTEsCi0gICAgMHgxLjA2OTEwN2FlOTMzMmY5NWZhMmM1Y2VlYWRmYjI5Zjc3cC01LAotICAgIDB4MS44OWVhZDBlYTBkMzU5cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA1Ci0gICAgLTB4MS5mZmJjYTg0NmM0ZmM5OTdmMWEzODE0MjAyMDg4ODRlMHAtMSwKLSAgICAweDEuMDY5MTA3YWU5MzMyZjk1ZmEyYzVjZWVhZGZiMjlmNzdwLTUsCi0gICAgLTB4MS44OWVhZDBlYTBkMzU5cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgMHgxLmZmYmNhODQ2YzRmYzlmMzBiZmI0NThlZjIwOTFjOGVlcC0xLAotICAgIC0weDEuMDY5MTA3YWU5MzI3ZTA3MzFhNzQ4YzIxZjAzYjVlZmNwLTUsCi0gICAgMHgxLjlhNTQ5OTllNzg2ZDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDcKLSAgICAtMHgxLmZmYmNhODQ2YzRmYzlmMzBiZmI0NThlZjIwOTFjOGVlcC0xLAotICAgIC0weDEuMDY5MTA3YWU5MzI3ZTA3MzFhNzQ4YzIxZjAzYjVlZmNwLTUsCi0gICAgLTB4MS45YTU0OTk5ZTc4NmQycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA4Ci0gICAgMHgxLmZkYTI1NGMyN2EwMjA1ODc1ZjI3MTQzNWY4MjcxNjBjcC0xLAotICAgIC0weDEuODk0ZjcwYmVmYmI0MTQxN2RmZjg0M2U4MWZhYzM4OGJwLTQsCi0gICAgMHgxLmFhYmU2MjUyZTNhNGJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDkKLSAgICAtMHgxLmZkYTI1NGMyN2EwMjA1ODc1ZjI3MTQzNWY4MjcxNjBjcC0xLAotICAgIC0weDEuODk0ZjcwYmVmYmI0MTQxN2RmZjg0M2U4MWZhYzM4OGJwLTQsCi0gICAgLTB4MS5hYWJlNjI1MmUzYTRicDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEwCi0gICAgMHgxLmY5NmZlNDA1ZjFhYzdhMjQxZTAyZTU4YjBjYmYzYWU3cC0xLAotICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCi0gICAgMHgxLmJiMjgyYjA3NGVkYzRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTEKLSAgICAtMHgxLmY5NmZlNDA1ZjFhYzdhMjQxZTAyZTU4YjBjYmYzYWU3cC0xLAotICAgIC0weDEuNDZkYzRmNGNlODNhZTlhYjFjYzFiMjM2N2NiNzUzZWJwLTMsCi0gICAgLTB4MS5iYjI4MmIwNzRlZGM0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEyCi0gICAgMHgxLmYzMjljMDU1OGU5NmE1ZDQ4MjcyYWQ0YzQ5ZWM1M2I4cC0xLAotICAgIC0weDEuYzdiOTBlMzAyNDU2ODhlMDk5ODYwZThkNGZmZjYwMWNwLTMsCi0gICAgMHgxLmNiOTFmM2JiYmExM2RwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTMKLSAgICAtMHgxLmYzMjljMDU1OGU5NmE1ZDQ4MjcyYWQ0YzQ5ZWM1M2I4cC0xLAotICAgIC0weDEuYzdiOTBlMzAyNDU2ODhlMDk5ODYwZThkNGZmZjYwMWNwLTMsCi0gICAgLTB4MS5jYjkxZjNiYmJhMTNkcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE0Ci0gICAgMHgxLmVhZDY4MzQ5MDliOTY1ZmRjNGIwY2VmZmMwZjI4NWM2cC0xLAotICAgIC0weDEuMjM1YjMzMWQ4ZjczMzk4NDFhNTE3MzEyZDBkMzQ3ZmJwLTIsCi0gICAgMHgxLmRiZmJiYzcwMjU0YjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTUKLSAgICAtMHgxLmVhZDY4MzQ5MDliOTY1ZmRjNGIwY2VmZmMwZjI4NWM2cC0xLAotICAgIC0weDEuMjM1YjMzMWQ4ZjczMzk4NDFhNTE3MzEyZDBkMzQ3ZmJwLTIsCi0gICAgLTB4MS5kYmZiYmM3MDI1NGI2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE2Ci0gICAgMHgxLmUwN2VlZWRhMTA5Y2YyNWY0MDBjZDVmNDZhY2VjODg3cC0xLAotICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCi0gICAgMHgxLmVjNjU4NTI0OTA4MmZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTcKLSAgICAtMHgxLmUwN2VlZWRhMTA5Y2YyNWY0MDBjZDVmNDZhY2VjODg3cC0xLAotICAgIC0weDEuNjFhNzYwNzdhZWRmMmU0M2FjYTQxOGY3YTJlMTMyNGRwLTIsCi0gICAgLTB4MS5lYzY1ODUyNDkwODJmcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE4Ci0gICAgMHgxLmQ0MmRlNDJkY2UxMzhlODkwOTM5ZTU2YzQzOWRlZDkwcC0xLAotICAgIC0weDEuOWU3Zjg2NTJiNDc0M2RjYzNjMzU2OGJhZmY4YmY5ZWJwLTIsCi0gICAgMHgxLmZjY2Y0ZGQ4ZmJiYThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTkKLSAgICAtMHgxLmQ0MmRlNDJkY2UxMzhlODkwOTM5ZTU2YzQzOWRlZDkwcC0xLAotICAgIC0weDEuOWU3Zjg2NTJiNDc0M2RjYzNjMzU2OGJhZmY4YmY5ZWJwLTIsCi0gICAgLTB4MS5mY2NmNGRkOGZiYmE4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIwCi0gICAgMHgxLmM1ZjA1ODIzMGU4MDE0YWI4M2VjZTBjM2E2MzhjMDc5cC0xLAotICAgIC0weDEuZDlhM2EzMzZlZGI2NWVmYTMwZTFhNjY3OWFhMDY0YzJwLTIsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTFwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjEKLSAgICAtMHgxLmM1ZjA1ODIzMGU4MDE0YWI4M2VjZTBjM2E2MzhjMDc5cC0xLAotICAgIC0weDEuZDlhM2EzMzZlZGI2NWVmYTMwZTFhNjY3OWFhMDY0YzJwLTIsCi0gICAgLTB4MS4wNjljOGI0NmIzNzkxcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIyCi0gICAgMHgxLmI1ZDU0NWIxMDliZmNlM2ZjNGQ3NzAwMWFmZTJmMmI2cC0xLAotICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCi0gICAgMHgxLjBlZDE2ZmEwZTkxNGVwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjMKLSAgICAtMHgxLmI1ZDU0NWIxMDliZmNlM2ZjNGQ3NzAwMWFmZTJmMmI2cC0xLAotICAgIC0weDEuMDk2YWMwMmVjNDJjMjQ4ODBhNTk1MTc4OGNiMzgzYzhwLTEsCi0gICAgLTB4MS4wZWQxNmZhMGU5MTRlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI0Ci0gICAgMHgxLmEzZWQ5ZTI1MjkzOGQ5MmE1NTUzYjNjMDlkMmJkZGQzcC0xLAotICAgIC0weDEuMjRlYzc5OTE3MTYzZGRhNjVhZmQ4MTA5ZjU5Y2I0NjVwLTEsCi0gICAgMHgxLjE3MDY1M2ZiMWViMGJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjUKLSAgICAtMHgxLmEzZWQ5ZTI1MjkzOGQ5MmE1NTUzYjNjMDlkMmJkZGQzcC0xLAotICAgIC0weDEuMjRlYzc5OTE3MTYzZGRhNjVhZmQ4MTA5ZjU5Y2I0NjVwLTEsCi0gICAgLTB4MS4xNzA2NTNmYjFlYjBicDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI2Ci0gICAgMHgxLjkwNGMzNzUwNWRlNGI4OTc1ZGQyNzMwZTE5NmRkZmMzcC0xLAotICAgIC0weDEuM2YzYTBlMjhiZWRkMGNmMGM0YmZiZDhjODJhM2JhYWZwLTEsCi0gICAgMHgxLjFmM2IzODU1NTQ0YzhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjcKLSAgICAtMHgxLjkwNGMzNzUwNWRlNGI4OTc1ZGQyNzMwZTE5NmRkZmMzcC0xLAotICAgIC0weDEuM2YzYTBlMjhiZWRkMGNmMGM0YmZiZDhjODJhM2JhYWZwLTEsCi0gICAgLTB4MS4xZjNiMzg1NTU0NGM4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI4Ci0gICAgMHgxLjdiMDViN2I2YzYxMmZjNGZkYTM4MTJiMWYxMzQ4Mzg5cC0xLAotICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCi0gICAgMHgxLjI3NzAxY2FmODllODVwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjkKLSAgICAtMHgxLjdiMDViN2I2YzYxMmZjNGZkYTM4MTJiMWYxMzQ4Mzg5cC0xLAotICAgIC0weDEuNTgzN2QyODE3Y2YyZWIwNjkwMzU1NTJkYzNhZTgzNGNwLTEsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTg1cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMwCi0gICAgMHgxLjY0MzA4MGQ2N2FjYzE0NjIwNjcyZGRhNjI0MWVhMzA1cC0xLAotICAgIC0weDEuNmZjYjdjNmI4YjkxOTljZTJmMTdkZDNlZTg2YjNiOWFwLTEsCi0gICAgMHgxLjJmYTUwMTA5YmY4NDJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzEKLSAgICAtMHgxLjY0MzA4MGQ2N2FjYzE0NjIwNjcyZGRhNjI0MWVhMzA1cC0xLAotICAgIC0weDEuNmZjYjdjNmI4YjkxOTljZTJmMTdkZDNlZTg2YjNiOWFwLTEsCi0gICAgLTB4MS4yZmE1MDEwOWJmODQycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMyCi0gICAgMHgxLjRiZTQ5NzljNWVmYjE5NGZjODJhYzM2N2ZlZGY5M2JjcC0xLAotICAgIC0weDEuODVkYzNlYTFiYmNlYWUyZDI5NDQyMWU4YzczNTBmOGNwLTEsCi0gICAgMHgxLjM3ZDllNTYzZjUxZmZwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzMKLSAgICAtMHgxLjRiZTQ5NzljNWVmYjE5NGZjODJhYzM2N2ZlZGY5M2JjcC0xLAotICAgIC0weDEuODVkYzNlYTFiYmNlYWUyZDI5NDQyMWU4YzczNTBmOGNwLTEsCi0gICAgLTB4MS4zN2Q5ZTU2M2Y1MWZmcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgMHgxLjMyM2I4YjFmYjRiOWVmZTUwNzVlZGU4MDQ5YTg1YzNkcC0xLAotICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCi0gICAgMHgxLjQwMGVjOWJlMmFiYmNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzUKLSAgICAtMHgxLjMyM2I4YjFmYjRiOWVmZTUwNzVlZGU4MDQ5YTg1YzNkcC0xLAotICAgIC0weDEuOWE1MmUyZTBmYmNiNWY4YTNmNTVjMjc0ZjllYzc1NGJwLTEsCi0gICAgLTB4MS40MDBlYzliZTJhYmJjcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM2Ci0gICAgMHgxLjE3NTA1OWJmMGQ0MjAzM2JiY2Y1OThjODhiMTc2ZTYxcC0xLAotICAgIC0weDEuYWQxOWUyNTM1YWE5OWIwNDlhYzBiNTg1OGM1ZDM4MWZwLTEsCi0gICAgMHgxLjQ4NDNhZTE4NjA1NzlwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzcKLSAgICAtMHgxLjE3NTA1OWJmMGQ0MjAzM2JiY2Y1OThjODhiMTc2ZTYxcC0xLAotICAgIC0weDEuYWQxOWUyNTM1YWE5OWIwNDlhYzBiNTg1OGM1ZDM4MWZwLTEsCi0gICAgLTB4MS40ODQzYWUxODYwNTc5cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM4Ci0gICAgMHgxLmY2N2VhOTc1Yjg2OTI1MjFmNzdkNjc1NGIzMDJjNWM0cC0yLAotICAgIC0weDEuYmUxZDdjMzUzNGM0NDEzMmFiMWM0MTMwY2JlOWRmYTBwLTEsCi0gICAgMHgxLjUwNzg5MjcyOTVmMzZwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzkKLSAgICAtMHgxLmY2N2VhOTc1Yjg2OTI1MjFmNzdkNjc1NGIzMDJjNWM0cC0yLAotICAgIC0weDEuYmUxZDdjMzUzNGM0NDEzMmFiMWM0MTMwY2JlOWRmYTBwLTEsCi0gICAgLTB4MS41MDc4OTI3Mjk1ZjM2cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQwCi0gICAgMHgxLmJjNGMwNGQ3MWFiYWQxNGVmYzI5YTY2MzQyYWRhNzIzcC0yLAotICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZjNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDEKLSAgICAtMHgxLmJjNGMwNGQ3MWFiYWQxNGVmYzI5YTY2MzQyYWRhNzIzcC0yLAotICAgIC0weDEuY2Q0YmNhOWNiNWM3NTllNGQ2ZGM4NjAxZWMzZDg0YjZwLTEsCi0gICAgLTB4MS41OGFkNzZjY2NiOGYzcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQyCi0gICAgMHgxLjgwNDVmZTY0ZTYyYzYyZjU3ZjA3N2VhMjUxZTJmMmRjcC0yLAotICAgIC0weDEuZGE5NGQ1NGRkNGMwY2VkY2NkNzM2ODQ5OTQ0MjI3NDBwLTEsCi0gICAgMHgxLjYwZTI1YjI3MDEyYjBwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDMKLSAgICAtMHgxLjgwNDVmZTY0ZTYyYzYyZjU3ZjA3N2VhMjUxZTJmMmRjcC0yLAotICAgIC0weDEuZGE5NGQ1NGRkNGMwY2VkY2NkNzM2ODQ5OTQ0MjI3NDBwLTEsCi0gICAgLTB4MS42MGUyNWIyNzAxMmIwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ0Ci0gICAgMHgxLjQyYWJiYThjNzJmYTEyYmU5MjBiMzE2NjI3NTEyZTQxcC0yLAotICAgIC0weDEuZTVlYWEyODZmYmJjYWQxZTRhNjM3MzM5MmU2Nzk2NjlwLTEsCi0gICAgMHgxLjY5MTczZjgxMzZjNmRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDUKLSAgICAtMHgxLjQyYWJiYThjNzJmYTEyYmU5MjBiMzE2NjI3NTEyZTQxcC0yLAotICAgIC0weDEuZTVlYWEyODZmYmJjYWQxZTRhNjM3MzM5MmU2Nzk2NjlwLTEsCi0gICAgLTB4MS42OTE3M2Y4MTM2YzZkcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ2Ci0gICAgMHgxLjAzYmUwNmY5N2NiY2Y4NjYwMjFlNWE1YzYyYzZiMDdlcC0yLAotICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCi0gICAgMHgxLjcxNGMyM2RiNmM2MmFwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDcKLSAgICAtMHgxLjAzYmUwNmY5N2NiY2Y4NjYwMjFlNWE1YzYyYzZiMDdlcC0yLAotICAgIC0weDEuZWY0MTQ1YjRhZWQwM2M1ZjFkMzk3NjNiMWVlZTZlZDhwLTEsCi0gICAgLTB4MS43MTRjMjNkYjZjNjJhcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ4Ci0gICAgMHgxLjg3N2UyY2Q0ZjZmOTQ3MTBmMjc3Njc3NWIwMWM3M2RicC0zLAotICAgIC0weDEuZjY4ZWViZmNiYjVlYmExMjRkOGNjNDhmZDFiZWIwNGRwLTEsCi0gICAgMHgxLjc5ODEwODM1YTFmZTdwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAtMHgxLjg3N2UyY2Q0ZjZmOTQ3MTBmMjc3Njc3NWIwMWM3M2RicC0zLAotICAgIC0weDEuZjY4ZWViZmNiYjVlYmExMjRkOGNjNDhmZDFiZWIwNGRwLTEsCi0gICAgLTB4MS43OTgxMDgzNWExZmU3cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUwCi0gICAgMHgxLjA1ZTQ3NjFhYjhkNDIxNzE5NTY3NzE3Zjc2NzEyODY3cC0zLAotICAgIC0weDEuZmJjYmU2OTNiZDhlZjAwNmY1ZmYwMjIxMGRmZTA2MTlwLTEsCi0gICAgMHgxLjgxYjVlYzhmZDc5YTRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTEKLSAgICAtMHgxLjA1ZTQ3NjFhYjhkNDIxNzE5NTY3NzE3Zjc2NzEyODY3cC0zLAotICAgIC0weDEuZmJjYmU2OTNiZDhlZjAwNmY1ZmYwMjIxMGRmZTA2MTlwLTEsCi0gICAgLTB4MS44MWI1ZWM4ZmQ3OWE0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUyCi0gICAgMHgxLjA2NmU3ZWI3NmY1ZGQyZWExOWI2OTkxZThhMWEzNjM0cC00LAotICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNWJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTMKLSAgICAtMHgxLjA2NmU3ZWI3NmY1ZGQyZWExOWI2OTkxZThhMWEzNjM0cC00LAotICAgIC0weDEuZmVmMmIyZDIxY2Y2YmUxYTJjN2VhNjY1ZWYxZjg3NGVwLTEsCi0gICAgLTB4MS44OWVhZDBlYTBkMzVicDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU0Ci0gICAgMHgxLjAzYmUwNmY5N2NiZjA5Y2MwYmFkYmRhZTgwM2Q3YjRlcC0yLAotICAgIDB4MS5lZjQxNDViNGFlY2ZmNmY1OGVkZWNmMjQ5NTU0MjhjMXAtMSwKLSAgICAtMHgxLjgxYjVlYzhmZDc5OWZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTUKLSAgICAtMHgxLjAzYmUwNmY5N2NiZjA5Y2MwYmFkYmRhZTgwM2Q3YjRlcC0yLAotICAgIDB4MS5lZjQxNDViNGFlY2ZmNmY1OGVkZWNmMjQ5NTU0MjhjMXAtMSwKLSAgICAweDEuODFiNWVjOGZkNzk5ZnAyLAotICB9LAotICB7IC8vIEVudHJ5IDQ1NgotICAgIDB4MS5mNjdlYTk3NWI4NmEyMmYyMzQ4Nzc4ODI0Zjk1ZDg0YXAtMiwKLSAgICAweDEuYmUxZDdjMzUzNGMzZjliOWIzNTYxOTI4MDA0OWRlODVwLTEsCi0gICAgLTB4MS43MTRjMjNkYjZjNjI2cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU3Ci0gICAgLTB4MS5mNjdlYTk3NWI4NmEyMmYyMzQ4Nzc4ODI0Zjk1ZDg0YXAtMiwKLSAgICAweDEuYmUxZDdjMzUzNGMzZjliOWIzNTYxOTI4MDA0OWRlODVwLTEsCi0gICAgMHgxLjcxNGMyM2RiNmM2MjZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTgKLSAgICAweDEuNjQzMDgwZDY3YWNjMjEwZmEyN2U5MjQ3YTgyODYyMjBwLTEsCi0gICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAotICAgIC0weDEuNjBlMjViMjcwMTJhZHAyLAotICB9LAotICB7IC8vIEVudHJ5IDQ1OQotICAgIC0weDEuNjQzMDgwZDY3YWNjMjEwZmEyN2U5MjQ3YTgyODYyMjBwLTEsCi0gICAgMHgxLjZmY2I3YzZiOGI5MThkODZmYzgzZDYxMmE2NTg3ZWRkcC0xLAotICAgIDB4MS42MGUyNWIyNzAxMmFkcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYwCi0gICAgMHgxLmI1ZDU0NWIxMDliZjk1MGI0MTk3MDI5NzJiOTRmOGZhcC0xLAotICAgIDB4MS4wOTZhYzAyZWM0MmM4MmU1YjIyNTE4NWJkNmM3NTdkNXAtMSwKLSAgICAtMHgxLjUwNzg5MjcyOTVmMzRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjEKLSAgICAtMHgxLmI1ZDU0NWIxMDliZjk1MGI0MTk3MDI5NzJiOTRmOGZhcC0xLAotICAgIDB4MS4wOTZhYzAyZWM0MmM4MmU1YjIyNTE4NWJkNmM3NTdkNXAtMSwKLSAgICAweDEuNTA3ODkyNzI5NWYzNHAyLAotICB9LAotICB7IC8vIEVudHJ5IDQ2MgotICAgIDB4MS5lYWQ2ODM0OTA5YjkzNDYyMzRkYmI2MDFkMDQ4NmNmMnAtMSwKLSAgICAweDEuMjM1YjMzMWQ4Zjc0ODdjZTJkYjk3ODE5ZmFlNzc3N2NwLTIsCi0gICAgLTB4MS40MDBlYzliZTJhYmJicDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYzCi0gICAgLTB4MS5lYWQ2ODM0OTA5YjkzNDYyMzRkYmI2MDFkMDQ4NmNmMnAtMSwKLSAgICAweDEuMjM1YjMzMWQ4Zjc0ODdjZTJkYjk3ODE5ZmFlNzc3N2NwLTIsCi0gICAgMHgxLjQwMGVjOWJlMmFiYmJwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICAweDEuZmZiY2E4NDZjNGZjOTk5YTI5ZGMxZDZiMmQ3Y2I0MTNwLTEsCi0gICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAotICAgIC0weDEuMmZhNTAxMDliZjg0MnAyLAotICB9LAotICB7IC8vIEVudHJ5IDQ2NQotICAgIC0weDEuZmZiY2E4NDZjNGZjOTk5YTI5ZGMxZDZiMmQ3Y2I0MTNwLTEsCi0gICAgMHgxLjA2OTEwN2FlOTMzMmM0YTFjZDJkYzAzM2I4ZDUwNTk4cC01LAotICAgIDB4MS4yZmE1MDEwOWJmODQycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY2Ci0gICAgMHgxLmYzMjljMDU1OGU5NmE1MThhMmFmM2FlNzgwMGE1YjY1cC0xLAotICAgIC0weDEuYzdiOTBlMzAyNDU2OTViZDFlYzE3MGY0NWZlZWIxZmZwLTMsCi0gICAgLTB4MS4xZjNiMzg1NTU0NGM5cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY3Ci0gICAgLTB4MS5mMzI5YzA1NThlOTZhNTE4YTJhZjNhZTc4MDBhNWI2NXAtMSwKLSAgICAtMHgxLmM3YjkwZTMwMjQ1Njk1YmQxZWMxNzBmNDVmZWViMWZmcC0zLAotICAgIDB4MS4xZjNiMzg1NTU0NGM5cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY4Ci0gICAgMHgxLmM1ZjA1ODIzMGU4MDIxZjIxYmQwYWMyYzBmNjgwOWE5cC0xLAotICAgIC0weDEuZDlhM2EzMzZlZGI2MmMxNTQxYjg1ODRjZDZjMDBmODdwLTIsCi0gICAgLTB4MS4wZWQxNmZhMGU5MTUwcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY5Ci0gICAgLTB4MS5jNWYwNTgyMzBlODAyMWYyMWJkMGFjMmMwZjY4MDlhOXAtMSwKLSAgICAtMHgxLmQ5YTNhMzM2ZWRiNjJjMTU0MWI4NTg0Y2Q2YzAwZjg3cC0yLAotICAgIDB4MS4wZWQxNmZhMGU5MTUwcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcwCi0gICAgMHgxLjdiMDViN2I2YzYxMzY1YTlhYzllOTA4YjhlNWQzY2U0cC0xLAotICAgIC0weDEuNTgzN2QyODE3Y2YyNzcwNWNhYzc4ODFmYjU2OWZmYzdwLTEsCi0gICAgLTB4MS5mY2NmNGRkOGZiYmFlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgLTB4MS43YjA1YjdiNmM2MTM2NWE5YWM5ZTkwOGI4ZTVkM2NlNHAtMSwKLSAgICAtMHgxLjU4MzdkMjgxN2NmMjc3MDVjYWM3ODgxZmI1NjlmZmM3cC0xLAotICAgIDB4MS5mY2NmNGRkOGZiYmFlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcyCi0gICAgMHgxLjE3NTA1OWJmMGQ0MmYxZDZiMzkxZjA3Zjk2ZjIzNTNkcC0xLAotICAgIC0weDEuYWQxOWUyNTM1YWE4ZmZiNDAwNjZkNzhhZWY3MWZhYmRwLTEsCi0gICAgLTB4MS5kYmZiYmM3MDI1NGJjcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDczCi0gICAgLTB4MS4xNzUwNTliZjBkNDJmMWQ2YjM5MWYwN2Y5NmYyMzUzZHAtMSwKLSAgICAtMHgxLmFkMTllMjUzNWFhOGZmYjQwMDY2ZDc4YWVmNzFmYWJkcC0xLAotICAgIDB4MS5kYmZiYmM3MDI1NGJjcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc0Ci0gICAgMHgxLjQyYWJiYThjNzJmZDIyMTk0NzkzMjQ2YjhkMTk5NjBhcC0yLAotICAgIC0weDEuZTVlYWEyODZmYmJjMmIxMjkyMzgxNjBkZjMwY2U3MDRwLTEsCi0gICAgLTB4MS5iYjI4MmIwNzRlZGNhcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc1Ci0gICAgLTB4MS40MmFiYmE4YzcyZmQyMjE5NDc5MzI0NmI4ZDE5OTYwYXAtMiwKLSAgICAtMHgxLmU1ZWFhMjg2ZmJiYzJiMTI5MjM4MTYwZGYzMGNlNzA0cC0xLAotICAgIDB4MS5iYjI4MmIwNzRlZGNhcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc2Ci0gICAgMHgxLjA2NmU3ZWI3NmY2MmI1ZjQ1NjNkZTI2ZGNhODkwMDE3cC00LAotICAgIC0weDEuZmVmMmIyZDIxY2Y2YjQwZmYzYjUzMGNlOGRjMGQ4YTdwLTEsCi0gICAgLTB4MS45YTU0OTk5ZTc4NmQ4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc3Ci0gICAgLTB4MS4wNjZlN2ViNzZmNjJiNWY0NTYzZGUyNmRjYTg5MDAxN3AtNCwKLSAgICAtMHgxLmZlZjJiMmQyMWNmNmI0MGZmM2I1MzBjZThkYzBkOGE3cC0xLAotICAgIDB4MS45YTU0OTk5ZTc4NmQ4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc4Ci0gICAgLTB4MS44NzdlMmNkNGY2ZmE0MjU4Njg3NWM1MjUwYTE2OWU0OHAtMywKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZWFkZDY1YzI2MWNkODAzOTkwYWUxcC0xLAotICAgIC0weDEuNzk4MTA4MzVhMWZlNnAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ3OQotICAgIDB4MS44NzdlMmNkNGY2ZmE0MjU4Njg3NWM1MjUwYTE2OWU0OHAtMywKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZWFkZDY1YzI2MWNkODAzOTkwYWUxcC0xLAotICAgIDB4MS43OTgxMDgzNWExZmU2cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgwCi0gICAgLTB4MS5iYzRjMDRkNzFhYmE1ZGZjMDk4Mjc4ZjE2OGJiZDk2MnAtMiwKLSAgICAtMHgxLmNkNGJjYTljYjVjNzc1YTk5NzI5ZjdhZDk1YjdkY2UzcC0xLAotICAgIC0weDEuNThhZDc2Y2NjYjhmNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ4MQotICAgIDB4MS5iYzRjMDRkNzFhYmE1ZGZjMDk4Mjc4ZjE2OGJiZDk2MnAtMiwKLSAgICAtMHgxLmNkNGJjYTljYjVjNzc1YTk5NzI5ZjdhZDk1YjdkY2UzcC0xLAotICAgIDB4MS41OGFkNzZjY2NiOGY0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgLTB4MS40YmU0OTc5YzVlZmE4NzFkMzBhZTFjZmE2NjM4OTE5OXAtMSwKLSAgICAtMHgxLjg1ZGMzZWExYmJjZjJhYTJlMjFlYzU4NmQ1NDk3ZTM1cC0xLAotICAgIC0weDEuMzdkOWU1NjNmNTIwMnAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ4MwotICAgIDB4MS40YmU0OTc5YzVlZmE4NzFkMzBhZTFjZmE2NjM4OTE5OXAtMSwKLSAgICAtMHgxLjg1ZGMzZWExYmJjZjJhYTJlMjFlYzU4NmQ1NDk3ZTM1cC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MjAycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg0Ci0gICAgLTB4MS5hM2VkOWUyNTI5MzgyMjE2ODk1OGNjZTFlMDlmN2MxMXAtMSwKLSAgICAtMHgxLjI0ZWM3OTkxNzE2NGU0MWFkZGQ0YmFjZDQ0MjBmOWZicC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIxMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ4NQotICAgIDB4MS5hM2VkOWUyNTI5MzgyMjE2ODk1OGNjZTFlMDlmN2MxMXAtMSwKLSAgICAtMHgxLjI0ZWM3OTkxNzE2NGU0MWFkZGQ0YmFjZDQ0MjBmOWZicC0xLAotICAgIDB4MS4xNzA2NTNmYjFlYjEwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg2Ci0gICAgLTB4MS5lMDdlZWVkYTEwOWM2MmIzNDBkYzM2ZTkyMTY5NjQ4ZHAtMSwKLSAgICAtMHgxLjYxYTc2MDc3YWVlMjNiMTFmMGM2NzNmNjM4MDAzYjBhcC0yLAotICAgIC0weDEuZWM2NTg1MjQ5MDgzY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDQ4NwotICAgIDB4MS5lMDdlZWVkYTEwOWM2MmIzNDBkYzM2ZTkyMTY5NjQ4ZHAtMSwKLSAgICAtMHgxLjYxYTc2MDc3YWVlMjNiMTFmMGM2NzNmNjM4MDAzYjBhcC0yLAotICAgIDB4MS5lYzY1ODUyNDkwODNjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg4Ci0gICAgLTB4MS5mZGEyNTRjMjdhMDFkZDk1NGRiM2FlYTUwNWU0OTQ1M3AtMSwKLSAgICAtMHgxLjg5NGY3MGJlZmJjMTA0YjcwNmU4NWNmNGMxYzk2YTUycC00LAotICAgIC0weDEuYWFiZTYyNTJlM2E1OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ4OQotICAgIDB4MS5mZGEyNTRjMjdhMDFkZDk1NGRiM2FlYTUwNWU0OTQ1M3AtMSwKLSAgICAtMHgxLjg5NGY3MGJlZmJjMTA0YjcwNmU4NWNmNGMxYzk2YTUycC00LAotICAgIDB4MS5hYWJlNjI1MmUzYTU4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkwCi0gICAgLTB4MS5mOTZmZTQwNWYxYWNhMDJlOGY0ZmQ0MzNlNTlhYTk3M3AtMSwKLSAgICAweDEuNDZkYzRmNGNlODM3M2M3YzQ0ZjEzYjU3MzYzZWRkM2JwLTMsCi0gICAgLTB4MS42OTE3M2Y4MTM2Yzc0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkxCi0gICAgMHgxLmY5NmZlNDA1ZjFhY2EwMmU4ZjRmZDQzM2U1OWFhOTczcC0xLAotICAgIDB4MS40NmRjNGY0Y2U4MzczYzdjNDRmMTNiNTczNjNlZGQzYnAtMywKLSAgICAweDEuNjkxNzNmODEzNmM3NHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ5MgotICAgIC0weDEuZDQyZGU0MmRjZTEzZWYwNDBiYjEwNDBlMzE0OGQ3ZGVwLTEsCi0gICAgMHgxLjllN2Y4NjUyYjQ3Mjg5ZTUzZmNjZDU0OTU1ZGI0NTUycC0yLAotICAgIC0weDEuMjc3MDFjYWY4OWU5MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ5MwotICAgIDB4MS5kNDJkZTQyZGNlMTNlZjA0MGJiMTA0MGUzMTQ4ZDdkZXAtMSwKLSAgICAweDEuOWU3Zjg2NTJiNDcyODllNTNmY2NkNTQ5NTVkYjQ1NTJwLTIsCi0gICAgMHgxLjI3NzAxY2FmODllOTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTQKLSAgICAtMHgxLjkwNGMzNzUwNWRlNTkzMDgxMmUzYTJhOTRmZWFhNTFicC0xLAotICAgIDB4MS4zZjNhMGUyOGJlZGJmYjA2NmI2N2FiZDljMzM4NDA5ZXAtMSwKLSAgICAtMHgxLmNiOTFmM2JiYmExNTdwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk1Ci0gICAgMHgxLjkwNGMzNzUwNWRlNTkzMDgxMmUzYTJhOTRmZWFhNTFicC0xLAotICAgIDB4MS4zZjNhMGUyOGJlZGJmYjA2NmI2N2FiZDljMzM4NDA5ZXAtMSwKLSAgICAweDEuY2I5MWYzYmJiYTE1N3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTYKLSAgICAtMHgxLjMyM2I4YjFmYjRiYjYyNmRkNDBjYWNkNzQ5NjNhYzZjcC0xLAotICAgIDB4MS45YTUyZTJlMGZiY2E0YjAwYzcyZGFhM2NkYWNhMjU3Y3AtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1OGVwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk3Ci0gICAgMHgxLjMyM2I4YjFmYjRiYjYyNmRkNDBjYWNkNzQ5NjNhYzZjcC0xLAotICAgIDB4MS45YTUyZTJlMGZiY2E0YjAwYzcyZGFhM2NkYWNhMjU3Y3AtMSwKLSAgICAweDEuNDg0M2FlMTg2MDU4ZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTgKLSAgICAtMHgxLjgwNDVmZTY0ZTYzMDhiYjVjNmNlMzVmODM0YjkzYzYzcC0yLAotICAgIDB4MS5kYTk0ZDU0ZGQ0YmZmNzUzZDk4OGMxNzU1ZTJmZmMwNHAtMSwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzOGFwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk5Ci0gICAgMHgxLjgwNDVmZTY0ZTYzMDhiYjVjNmNlMzVmODM0YjkzYzYzcC0yLAotICAgIDB4MS5kYTk0ZDU0ZGQ0YmZmNzUzZDk4OGMxNzU1ZTJmZmMwNHAtMSwKLSAgICAweDEuODllYWQwZWEwZDM4YXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDAKLSAgICAtMHgxLjA1ZTQ3NjFhYjhkZWM0NGVkMGZhMzBkMzM1MDQ5YzQwcC0zLAotICAgIDB4MS5mYmNiZTY5M2JkOGU5ODQyMzIwN2UzNjU4N2Q5NDJiN3AtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3ZjBwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAxCi0gICAgMHgxLjA1ZTQ3NjFhYjhkZWM0NGVkMGZhMzBkMzM1MDQ5YzQwcC0zLAotICAgIDB4MS5mYmNiZTY5M2JkOGU5ODQyMzIwN2UzNjU4N2Q5NDJiN3AtMSwKLSAgICAweDEuMDY5YzhiNDZiMzdmMHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDIKLSAgICAweDEuMDVlNDc2MWFiOGQzMWQwMGU2NTYzNzJjNWMwNGFhNmVwLTMsCi0gICAgMHgxLmZiY2JlNjkzYmQ4ZWY4NmMxNTY1YjM0NTMwMzZlNTVlcC0xLAotICAgIDB4MS4wNjljOGI0NmIzNzM0cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDUwMwotICAgIC0weDEuMDVlNDc2MWFiOGQzMWQwMGU2NTYzNzJjNWMwNGFhNmVwLTMsCi0gICAgMHgxLmZiY2JlNjkzYmQ4ZWY4NmMxNTY1YjM0NTMwMzZlNTVlcC0xLAotICAgIC0weDEuMDY5YzhiNDZiMzczNHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDQKLSAgICAweDEuODA0NWZlNjRlNjJiMTlhMDk0Mzk5NTAyYWZiNzZlNWNwLTIsCi0gICAgMHgxLmRhOTRkNTRkZDRjMTExODc0MDVhZGE3ZjA0ZTViMTcxcC0xLAotICAgIDB4MS44OWVhZDBlYTBkMzJjcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDUwNQotICAgIC0weDEuODA0NWZlNjRlNjJiMTlhMDk0Mzk5NTAyYWZiNzZlNWNwLTIsCi0gICAgMHgxLmRhOTRkNTRkZDRjMTExODc0MDVhZGE3ZjA0ZTViMTcxcC0xLAotICAgIC0weDEuODllYWQwZWEwZDMyY3AtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDYKLSAgICAweDEuMzIzYjhiMWZiNGI5MDdjNDE2ZDIzYjA0ZTBlYzBlNzJwLTEsCi0gICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAotICAgIDB4MS40ODQzYWUxODYwNTVmcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDUwNwotICAgIC0weDEuMzIzYjhiMWZiNGI5MDdjNDE2ZDIzYjA0ZTBlYzBlNzJwLTEsCi0gICAgMHgxLjlhNTJlMmUwZmJjYzBjYzgzYjg0M2JhZTU4YzZjZGY4cC0xLAotICAgIC0weDEuNDg0M2FlMTg2MDU1ZnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDgKLSAgICAweDEuOTA0YzM3NTA1ZGUzYmUyYWNlMTdjYTU0ODc3NTAyMzFwLTEsCi0gICAgMHgxLjNmM2EwZTI4YmVkZTQ2ZjY1Y2E1YjVjMTlhZDk5ZGQ3cC0xLAotICAgIDB4MS5jYjkxZjNiYmJhMTI4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDUwOQotICAgIC0weDEuOTA0YzM3NTA1ZGUzYmUyYWNlMTdjYTU0ODc3NTAyMzFwLTEsCi0gICAgMHgxLjNmM2EwZTI4YmVkZTQ2ZjY1Y2E1YjVjMTlhZDk5ZGQ3cC0xLAotICAgIC0weDEuY2I5MWYzYmJiYTEyOHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTAKLSAgICAweDEuZDQyZGU0MmRjZTEyYjgyNDY2ZjJmY2I2M2IyOTQ3NTFwLTEsCi0gICAgMHgxLjllN2Y4NjUyYjQ3ODA2NmVlYzU2M2Y4MzUwOTdmMTQ4cC0yLAotICAgIDB4MS4yNzcwMWNhZjg5ZTc4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgLTB4MS5kNDJkZTQyZGNlMTJiODI0NjZmMmZjYjYzYjI5NDc1MXAtMSwKLSAgICAweDEuOWU3Zjg2NTJiNDc4MDY2ZWVjNTYzZjgzNTA5N2YxNDhwLTIsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTc4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEyCi0gICAgMHgxLmY5NmZlNDA1ZjFhYzI1OWJmMTkyZmQxY2Y2NGUyZjEycC0xLAotICAgIDB4MS40NmRjNGY0Y2U4NDMxNTFiOWQxNGU1NjE4NzllNWZlM3AtMywKLSAgICAweDEuNjkxNzNmODEzNmM1Y3AwLAotICB9LAotICB7IC8vIEVudHJ5IDUxMwotICAgIC0weDEuZjk2ZmU0MDVmMWFjMjU5YmYxOTJmZDFjZjY0ZTJmMTJwLTEsCi0gICAgMHgxLjQ2ZGM0ZjRjZTg0MzE1MWI5ZDE0ZTU2MTg3OWU1ZmUzcC0zLAotICAgIC0weDEuNjkxNzNmODEzNmM1Y3AwLAotICB9LAotICB7IC8vIEVudHJ5IDUxNAotICAgIDB4MS5mZGEyNTRjMjdhMDIyNzU0MzJkNzdkZDZmOTcwNDY0NHAtMSwKLSAgICAtMHgxLjg5NGY3MGJlZmJhOTIxMWIwZGNhYTRkY2E0NTA2NzBmcC00LAotICAgIDB4MS5hYWJlNjI1MmUzYTQwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE1Ci0gICAgLTB4MS5mZGEyNTRjMjdhMDIyNzU0MzJkNzdkZDZmOTcwNDY0NHAtMSwKLSAgICAtMHgxLjg5NGY3MGJlZmJhOTIxMWIwZGNhYTRkY2E0NTA2NzBmcC00LAotICAgIC0weDEuYWFiZTYyNTJlM2E0MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDUxNgotICAgIDB4MS5lMDdlZWVkYTEwOWQ2YmYwYzkzNWZhMTBiMTI4MGM2ZHAtMSwKLSAgICAtMHgxLjYxYTc2MDc3YWVkYzk5OTUyNDM4NDIxZjgyMGEyYmVmcC0yLAotICAgIDB4MS5lYzY1ODUyNDkwODI0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE3Ci0gICAgLTB4MS5lMDdlZWVkYTEwOWQ2YmYwYzkzNWZhMTBiMTI4MGM2ZHAtMSwKLSAgICAtMHgxLjYxYTc2MDc3YWVkYzk5OTUyNDM4NDIxZjgyMGEyYmVmcC0yLAotICAgIC0weDEuZWM2NTg1MjQ5MDgyNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDUxOAotICAgIDB4MS5hM2VkOWUyNTI5MzlkOTc5M2ZiMmY2Zjc1ZTVjNzZlN3AtMSwKLSAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAotICAgIDB4MS4xNzA2NTNmYjFlYjA0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE5Ci0gICAgLTB4MS5hM2VkOWUyNTI5MzlkOTc5M2ZiMmY2Zjc1ZTVjNzZlN3AtMSwKLSAgICAtMHgxLjI0ZWM3OTkxNzE2MjZlMzY3MDljZmNmN2M3NzUyMzMycC0xLAotICAgIC0weDEuMTcwNjUzZmIxZWIwNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDUyMAotICAgIDB4MS40YmU0OTc5YzVlZmNjZmU3OGVhMGI2YWZiMGNiYmEzN3AtMSwKLSAgICAtMHgxLjg1ZGMzZWExYmJjZDM4Y2JmZWI0MzcwZDU0MDVlZWJhcC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MWY2cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIxCi0gICAgLTB4MS40YmU0OTc5YzVlZmNjZmU3OGVhMGI2YWZiMGNiYmEzN3AtMSwKLSAgICAtMHgxLjg1ZGMzZWExYmJjZDM4Y2JmZWI0MzcwZDU0MDVlZWJhcC0xLAotICAgIC0weDEuMzdkOWU1NjNmNTFmNnAxLAotICB9LAotICB7IC8vIEVudHJ5IDUyMgotICAgIDB4MS5iYzRjMDRkNzFhYmZjNWRmNjk1ODlhNDVkNWUzMTk2ZXAtMiwKLSAgICAtMHgxLmNkNGJjYTljYjVjNjI4NzA5Mzg4YTM5ZmM4NDU5MWQxcC0xLAotICAgIDB4MS41OGFkNzZjY2NiOGU4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgLTB4MS5iYzRjMDRkNzFhYmZjNWRmNjk1ODlhNDVkNWUzMTk2ZXAtMiwKLSAgICAtMHgxLmNkNGJjYTljYjVjNjI4NzA5Mzg4YTM5ZmM4NDU5MWQxcC0xLAotICAgIC0weDEuNThhZDc2Y2NjYjhlOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDUyNAotICAgIDB4MS44NzdlMmNkNGY3MDYwOWIxZjA2MjI5NWI2NGFlZDRiZHAtMywKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAotICAgIDB4MS43OTgxMDgzNWExZmRhcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI1Ci0gICAgLTB4MS44NzdlMmNkNGY3MDYwOWIxZjA2MjI5NWI2NGFlZDRiZHAtMywKLSAgICAtMHgxLmY2OGVlYmZjYmI1ZTFiMDcwYjU2NDAzN2Y1NTcxYTM5cC0xLAotICAgIC0weDEuNzk4MTA4MzVhMWZkYXAxLAotICB9LAotICB7IC8vIEVudHJ5IDUyNgotICAgIC0weDEuMDY2ZTdlYjc2ZjRhYzI5M2Y0NjQ4NmRjMzI4ZDQ1MGJwLTQsCi0gICAgLTB4MS5mZWYyYjJkMjFjZjZlNTQ0YWI3Nzk1YWVkMTBkOWZhN3AtMSwKLSAgICAweDEuOWE1NDk5OWU3ODZjY3AxLAotICB9LAotICB7IC8vIEVudHJ5IDUyNwotICAgIDB4MS4wNjZlN2ViNzZmNGFjMjkzZjQ2NDg2ZGMzMjhkNDUwYnAtNCwKLSAgICAtMHgxLmZlZjJiMmQyMWNmNmU1NDRhYjc3OTVhZWQxMGQ5ZmE3cC0xLAotICAgIC0weDEuOWE1NDk5OWU3ODZjY3AxLAotICB9LAotICB7IC8vIEVudHJ5IDUyOAotICAgIC0weDEuNDJhYmJhOGM3MmY3NzA1OTVmZmUzMTM1YTBlMGFkODNwLTIsCi0gICAgLTB4MS5lNWVhYTI4NmZiYmQxZDEzNWUyMTZjNDlhOWY3ZTVkYXAtMSwKLSAgICAweDEuYmIyODJiMDc0ZWRiZXAxLAotICB9LAotICB7IC8vIEVudHJ5IDUyOQotICAgIDB4MS40MmFiYmE4YzcyZjc3MDU5NWZmZTMxMzVhMGUwYWQ4M3AtMiwKLSAgICAtMHgxLmU1ZWFhMjg2ZmJiZDFkMTM1ZTIxNmM0OWE5ZjdlNWRhcC0xLAotICAgIC0weDEuYmIyODJiMDc0ZWRiZXAxLAotICB9LAotICB7IC8vIEVudHJ5IDUzMAotICAgIC0weDEuMTc1MDU5YmYwZDQwNmUyZmUwMTRlODgwZGQyOWNmYWNwLTEsCi0gICAgLTB4MS5hZDE5ZTI1MzVhYWFhMmFjODcwNTZiNmQ3Nzc2ZTk3YXAtMSwKLSAgICAweDEuZGJmYmJjNzAyNTRiMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDUzMQotICAgIDB4MS4xNzUwNTliZjBkNDA2ZTJmZTAxNGU4ODBkZDI5Y2ZhY3AtMSwKLSAgICAtMHgxLmFkMTllMjUzNWFhYWEyYWM4NzA1NmI2ZDc3NzZlOTdhcC0xLAotICAgIC0weDEuZGJmYmJjNzAyNTRiMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDUzMgotICAgIC0weDEuN2IwNWI3YjZjNjExNjE1NWYwZGM1NTFlMzE2ZTFlMGJwLTEsCi0gICAgLTB4MS41ODM3ZDI4MTdjZjRhZjhlNWU1OWIxM2I0YWE5YjVlM3AtMSwKLSAgICAweDEuZmNjZjRkZDhmYmJhMnAxLAotICB9LAotICB7IC8vIEVudHJ5IDUzMwotICAgIDB4MS43YjA1YjdiNmM2MTE2MTU1ZjBkYzU1MWUzMTZlMWUwYnAtMSwKLSAgICAtMHgxLjU4MzdkMjgxN2NmNGFmOGU1ZTU5YjEzYjRhYTliNWUzcC0xLAotICAgIC0weDEuZmNjZjRkZDhmYmJhMnAxLAotICB9LAotICB7IC8vIEVudHJ5IDUzNAotICAgIC0weDEuYzVmMDU4MjMwZTdlYmViNzYxNjc3OWUxNmZhOWI1MzdwLTEsCi0gICAgLTB4MS5kOWEzYTMzNmVkYmI3ZGU2NGEyMTgzY2IyN2JlNGI1YnAtMiwKLSAgICAweDEuMGVkMTZmYTBlOTE0YXAyLAotICB9LAotICB7IC8vIEVudHJ5IDUzNQotICAgIDB4MS5jNWYwNTgyMzBlN2ViZWI3NjE2Nzc5ZTE2ZmE5YjUzN3AtMSwKLSAgICAtMHgxLmQ5YTNhMzM2ZWRiYjdkZTY0YTIxODNjYjI3YmU0YjVicC0yLAotICAgIC0weDEuMGVkMTZmYTBlOTE0YXAyLAotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIC0weDEuZjMyOWMwNTU4ZTk1ZmEzMzNkNWQyZDQ0ZDY1NDc3N2NwLTEsCi0gICAgLTB4MS5jN2I5MGUzMDI0NjI0OGI3YTBjMmM4N2EzZGQyNTIyNHAtMywKLSAgICAweDEuMWYzYjM4NTU1NDRjM3AyLAotICB9LAotICB7IC8vIEVudHJ5IDUzNwotICAgIDB4MS5mMzI5YzA1NThlOTVmYTMzM2Q1ZDJkNDRkNjU0Nzc3Y3AtMSwKLSAgICAtMHgxLmM3YjkwZTMwMjQ2MjQ4YjdhMGMyYzg3YTNkZDI1MjI0cC0zLAotICAgIC0weDEuMWYzYjM4NTU1NDRjM3AyLAotICB9LAotICB7IC8vIEVudHJ5IDUzOAotICAgIC0weDEuZmZiY2E4NDZjNGZjYjIzN2MyOTQ3YjM1YjAzN2EycC0xLAotICAgIDB4MS4wNjkxMDdhZTkzMDJjYWYyMDY4YjQ4ODQyYWZkZjA1MXAtNSwKLSAgICAweDEuMmZhNTAxMDliZjgzY3AyLAotICB9LAotICB7IC8vIEVudHJ5IDUzOQotICAgIDB4MS5mZmJjYTg0NmM0ZmNiMjM3YzI5NDdiMzViMDM3YTJwLTEsCi0gICAgMHgxLjA2OTEwN2FlOTMwMmNhZjIwNjhiNDg4NDJhZmRmMDUxcC01LAotICAgIC0weDEuMmZhNTAxMDliZjgzY3AyLAotICB9LAotICB7IC8vIEVudHJ5IDU0MAotICAgIC0weDEuZWFkNjgzNDkwOWJhMGVlNjliMzFlMTk3MGRmMWJiOGJwLTEsCi0gICAgMHgxLjIzNWIzMzFkOGY2ZWM3NGFhM2RlNWFlZDE1ZmEzZjY4cC0yLAotICAgIDB4MS40MDBlYzliZTJhYmI1cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQxCi0gICAgMHgxLmVhZDY4MzQ5MDliYTBlZTY5YjMxZTE5NzBkZjFiYjhicC0xLAotICAgIDB4MS4yMzViMzMxZDhmNmVjNzRhYTNkZTVhZWQxNWZhM2Y2OHAtMiwKLSAgICAtMHgxLjQwMGVjOWJlMmFiYjVwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDIKLSAgICAtMHgxLmI1ZDU0NWIxMDljMTIzMmI2MWRkMjhkODAzNWQ5NWNicC0xLAotICAgIDB4MS4wOTZhYzAyZWM0MjlmMjI1Yzk5Yjg5YmI0YzllNWQzZXAtMSwKLSAgICAweDEuNTA3ODkyNzI5NWYyZXAyLAotICB9LAotICB7IC8vIEVudHJ5IDU0MwotICAgIDB4MS5iNWQ1NDViMTA5YzEyMzJiNjFkZDI4ZDgwMzVkOTVjYnAtMSwKLSAgICAweDEuMDk2YWMwMmVjNDI5ZjIyNWM5OWI4OWJiNGM5ZTVkM2VwLTEsCi0gICAgLTB4MS41MDc4OTI3Mjk1ZjJlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ0Ci0gICAgLTB4MS42NDMwODBkNjdhY2U0OGMwZGQxZmUzYTA2YmJjNGJmNXAtMSwKLSAgICAweDEuNmZjYjdjNmI4YjhmNzczZTNiNDIxZGRlZDZmYzFmMjZwLTEsCi0gICAgMHgxLjYwZTI1YjI3MDEyYTdwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDUKLSAgICAweDEuNjQzMDgwZDY3YWNlNDhjMGRkMWZlM2EwNmJiYzRiZjVwLTEsCi0gICAgMHgxLjZmY2I3YzZiOGI4Zjc3M2UzYjQyMWRkZWQ2ZmMxZjI2cC0xLAotICAgIC0weDEuNjBlMjViMjcwMTJhN3AyLAotICB9LAotICB7IC8vIEVudHJ5IDU0NgotICAgIC0weDEuZjY3ZWE5NzViODZmNWQ0YWE5MjcxNmNjMDc3NDczYTdwLTIsCi0gICAgMHgxLmJlMWQ3YzM1MzRjMjgwZGFiNDNkY2VkNjcwMzMwYjYzcC0xLAotICAgIDB4MS43MTRjMjNkYjZjNjIwcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ3Ci0gICAgMHgxLmY2N2VhOTc1Yjg2ZjVkNGFhOTI3MTZjYzA3NzQ3M2E3cC0yLAotICAgIDB4MS5iZTFkN2MzNTM0YzI4MGRhYjQzZGNlZDY3MDMzMGI2M3AtMSwKLSAgICAtMHgxLjcxNGMyM2RiNmM2MjBwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAtMHgxLjAzYmUwNmY5N2NjNGQ3OGZkY2NiY2ExZDQwZTg2MDExcC0yLAotICAgIDB4MS5lZjQxNDViNGFlY2YzNDI3MDlhM2IxOTMyMGQxYjE5NHAtMSwKLSAgICAweDEuODFiNWVjOGZkNzk5OXAyLAotICB9LAotICB7IC8vIEVudHJ5IDU0OQotICAgIDB4MS4wM2JlMDZmOTdjYzRkNzhmZGNjYmNhMWQ0MGU4NjAxMXAtMiwKLSAgICAweDEuZWY0MTQ1YjRhZWNmMzQyNzA5YTNiMTkzMjBkMWIxOTRwLTEsCi0gICAgLTB4MS44MWI1ZWM4ZmQ3OTk5cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUwCi0gICAgMHgxLmVmYjI2ZWY5MzBjNGMzZmEzMjQ1OTYzYzFkY2VjMGE2cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWU1NzY5ODFlZTRiMzQ3NjlkZXAtMSwKLSAgICAweDEuZWZmZmZmZmZmZmZmZnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTEKLSAgICAtMHgxLmVmYjI2ZWY5MzBjNGMzZmEzMjQ1OTYzYzFkY2VjMGE2cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWU1NzY5ODFlZTRiMzQ3NjlkZXAtMSwKLSAgICAtMHgxLmVmZmZmZmZmZmZmZmZwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUyCi0gICAgMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKLSAgICAweDEuZnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTMKLSAgICAtMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKLSAgICAtMHgxLmZwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU0Ci0gICAgMHgxLmVmYjI2ZWY5MzBjNGUzZWIyZjcyMmNlYTE5N2MyMDM2cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWM2N2I3MTJmNTFhNmZhMmFiM3AtMSwKLSAgICAweDEuZjAwMDAwMDAwMDAwMXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTUKLSAgICAtMHgxLmVmYjI2ZWY5MzBjNGUzZWIyZjcyMmNlYTE5N2MyMDM2cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWM2N2I3MTJmNTFhNmZhMmFiM3AtMSwKLSAgICAtMHgxLmYwMDAwMDAwMDAwMDFwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU2Ci0gICAgMHgxLmY2YmFhYTEzMWRlNjMzYWQ0ZTBlN2Q2NDY1ZDEyYTA1cC00LAotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNWM4Zjc2ZTc1ZmQ3MDgzODE4Y3AtMSwKLSAgICAweDEuZjdmZmZmZmZmZmZmZnAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTcKLSAgICAtMHgxLmY2YmFhYTEzMWRlNjMzYWQ0ZTBlN2Q2NDY1ZDEyYTA1cC00LAotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNWM4Zjc2ZTc1ZmQ3MDgzODE4Y3AtMSwKLSAgICAtMHgxLmY3ZmZmZmZmZmZmZmZwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU4Ci0gICAgMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNThhMjAxOTMzOTliM2JjMGRkMnAtMSwKLSAgICAweDEuZjgwcC00LAotICB9LAotICB7IC8vIEVudHJ5IDU1OQotICAgIC0weDEuZjZiYWFhMTMxZGU2NDM4ZTU2MTEyNzk4NjRmZTc2NjNwLTQsCi0gICAgMHgxLmZjMjEwMDU1NDY3ZmU1OGEyMDE5MzM5OWIzYmMwZGQycC0xLAotICAgIC0weDEuZjgwcC00LAotICB9LAotICB7IC8vIEVudHJ5IDU2MAotICAgIDB4MS5mNmJhYWExMzFkZTY1MzZmNWUxM2QxY2M2NDI5Y2MwN3AtNCwKLSAgICAweDEuZmMyMTAwNTU0NjdmZTU0YjQ4YzNmMTM1ZjZmMjlkZjdwLTEsCi0gICAgMHgxLmY4MDAwMDAwMDAwMDFwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYxCi0gICAgLTB4MS5mNmJhYWExMzFkZTY1MzZmNWUxM2QxY2M2NDI5Y2MwN3AtNCwKLSAgICAweDEuZmMyMTAwNTU0NjdmZTU0YjQ4YzNmMTM1ZjZmMjlkZjdwLTEsCi0gICAgLTB4MS5mODAwMDAwMDAwMDAxcC00LAotICB9LAotICB7IC8vIEVudHJ5IDU2MgotICAgIDB4MS40YThjM2I0ZTljN2ZmMDBhMzZlMDYxYTBkMjI5NTA5M3AtMywKLSAgICAweDEuZjk0OTg0YjI1NTJlMTllNzMyOTQxM2I4YzJlOGRjNTFwLTEsCi0gICAgMHgxLjRiZmZmZmZmZmZmZmZwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYzCi0gICAgLTB4MS40YThjM2I0ZTljN2ZmMDBhMzZlMDYxYTBkMjI5NTA5M3AtMywKLSAgICAweDEuZjk0OTg0YjI1NTJlMTllNzMyOTQxM2I4YzJlOGRjNTFwLTEsCi0gICAgLTB4MS40YmZmZmZmZmZmZmZmcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDU2NAotICAgIDB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKLSAgICAweDEuZjk0OTg0YjI1NTJlMTk0MWVjNzY2YzZhODJlY2U0YTNwLTEsCi0gICAgMHgxLjRjMHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjUKLSAgICAtMHgxLjRhOGMzYjRlOWM3ZmZmZDQ4MzA1ZjQ0YTQyZjVmNTBmcC0zLAotICAgIDB4MS5mOTQ5ODRiMjU1MmUxOTQxZWM3NjZjNmE4MmVjZTRhM3AtMSwKLSAgICAtMHgxLjRjMHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjYKLSAgICAweDEuNGE4YzNiNGU5YzgwMGY5ZWNmMmI4NmYzYjNiZDZmNWFwLTMsCi0gICAgMHgxLmY5NDk4NGIyNTUyZTE4OWNhNjU4YzUxYzQyZTkwN2NlcC0xLAotICAgIDB4MS40YzAwMDAwMDAwMDAxcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDU2NwotICAgIC0weDEuNGE4YzNiNGU5YzgwMGY5ZWNmMmI4NmYzYjNiZDZmNWFwLTMsCi0gICAgMHgxLmY5NDk4NGIyNTUyZTE4OWNhNjU4YzUxYzQyZTkwN2NlcC0xLAotICAgIC0weDEuNGMwMDAwMDAwMDAwMXAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjgKLSAgICAweDEuMmU5Y2Q5NWJhYmEzMjVmZTYwNjcyMzNkNDQ5NmFhYWNwLTIsCi0gICAgMHgxLmU5MjFkZDQyZjA5YmE4Njg2MDNlYTM3NmY2ZTJkMDEycC0xLAotICAgIDB4MS4zMzMzMzMzMzMzMzMycC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU2OQotICAgIC0weDEuMmU5Y2Q5NWJhYmEzMjVmZTYwNjcyMzNkNDQ5NmFhYWNwLTIsCi0gICAgMHgxLmU5MjFkZDQyZjA5YmE4Njg2MDNlYTM3NmY2ZTJkMDEycC0xLAotICAgIC0weDEuMzMzMzMzMzMzMzMzMnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzAKLSAgICAweDEuMmU5Y2Q5NWJhYmEzMzU0NzZmNTEzYWMyMjFkMDc4YzdwLTIsCi0gICAgMHgxLmU5MjFkZDQyZjA5YmE2MGIyNjhiZWMxZmIwODc4YTQycC0xLAotICAgIDB4MS4zMzMzMzMzMzMzMzMzcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU3MQotICAgIC0weDEuMmU5Y2Q5NWJhYmEzMzU0NzZmNTEzYWMyMjFkMDc4YzdwLTIsCi0gICAgMHgxLmU5MjFkZDQyZjA5YmE2MGIyNjhiZWMxZmIwODc4YTQycC0xLAotICAgIC0weDEuMzMzMzMzMzMzMzMzM3AtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAweDEuMmU5Y2Q5NWJhYmEzNDQ5MDdlM2I1MjQ2ZmVmNzVkMTVwLTIsCi0gICAgMHgxLmU5MjFkZDQyZjA5YmEzYWRlY2Q5MzRjODZhMGRiMjU0cC0xLAotICAgIDB4MS4zMzMzMzMzMzMzMzM0cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU3MwotICAgIC0weDEuMmU5Y2Q5NWJhYmEzNDQ5MDdlM2I1MjQ2ZmVmNzVkMTVwLTIsCi0gICAgMHgxLmU5MjFkZDQyZjA5YmEzYWRlY2Q5MzRjODZhMGRiMjU0cC0xLAotICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzQKLSAgICAweDEuM2ZhZWZjN2E1NDY2ZWYzMDQ1YzNmMWJlNzE2YWQ1NjhwLTEsCi0gICAgMHgxLjhmZWVkYjg2YmYwZWYzMTU4ZjhhMWRjYmVmNDlkMTIzcC0xLAotICAgIDB4MS41OTQzMTdhY2M0ZWY4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU3NQotICAgIC0weDEuM2ZhZWZjN2E1NDY2ZWYzMDQ1YzNmMWJlNzE2YWQ1NjhwLTEsCi0gICAgMHgxLjhmZWVkYjg2YmYwZWYzMTU4ZjhhMWRjYmVmNDlkMTIzcC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmOHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzYKLSAgICAweDEuM2ZhZWZjN2E1NDY2ZmJhZmJjYTAyN2I2ZThkYjhjMDRwLTEsCi0gICAgMHgxLjhmZWVkYjg2YmYwZWU5MTgxN2E2NGIyOGI3OWU1MTE5cC0xLAotICAgIDB4MS41OTQzMTdhY2M0ZWY5cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU3NwotICAgIC0weDEuM2ZhZWZjN2E1NDY2ZmJhZmJjYTAyN2I2ZThkYjhjMDRwLTEsCi0gICAgMHgxLjhmZWVkYjg2YmYwZWU5MTgxN2E2NGIyOGI3OWU1MTE5cC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmOXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzgKLSAgICAweDEuM2ZhZWZjN2E1NDY3MDgyZjMzN2M1ZGFmNWZmYzU2ZTJwLTEsCi0gICAgMHgxLjhmZWVkYjg2YmYwZWRmMWE5ZmMyNzg4NTdmOGVkNTU5cC0xLAotICAgIDB4MS41OTQzMTdhY2M0ZWZhcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU3OQotICAgIC0weDEuM2ZhZWZjN2E1NDY3MDgyZjMzN2M1ZGFmNWZmYzU2ZTJwLTEsCi0gICAgMHgxLjhmZWVkYjg2YmYwZWRmMWE5ZmMyNzg4NTdmOGVkNTU5cC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmYXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODAKLSAgICAweDEuNjg4OGE0ZTEzNGIyZGVmNWJlYTUxZjRjZDdkNjQ3YzZwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWRkNmY5ZTE3ZTM0NDJkNTliMjQxcC0xLAotICAgIDB4MS44ZmZmZmZmZmZmZmZmcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU4MQotICAgIC0weDEuNjg4OGE0ZTEzNGIyZGVmNWJlYTUxZjRjZDdkNjQ3YzZwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWRkNmY5ZTE3ZTM0NDJkNTliMjQxcC0xLAotICAgIC0weDEuOGZmZmZmZmZmZmZmZnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODIKLSAgICAweDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAotICAgIDB4MS45cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIC0weDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAotICAgIC0weDEuOXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODQKLSAgICAweDEuNjg4OGE0ZTEzNGIyZjVhZTU3OWZiZTQ4MzRmOGZkNTVwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWM2ZTcxM2M5Y2ZmOGZlYjQ5MThmcC0xLAotICAgIDB4MS45MDAwMDAwMDAwMDAxcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU4NQotICAgIC0weDEuNjg4OGE0ZTEzNGIyZjVhZTU3OWZiZTQ4MzRmOGZkNTVwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWM2ZTcxM2M5Y2ZmOGZlYjQ5MThmcC0xLAotICAgIC0weDEuOTAwMDAwMDAwMDAwMXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODYKLSAgICAtMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLjBwLTEwNzQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg3Ci0gICAgMC4wLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMHAtMTA3NCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODgKLSAgICAtMC4wLAotICAgIDB4MS5wMCwKLSAgICAtMC4wLAotICB9LAotICB7IC8vIEVudHJ5IDU4OQotICAgIDAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLjBwLTEwNzQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkwCi0gICAgLTAuMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wcC0xMDc0LAotICB9LAotICB7IC8vIEVudHJ5IDU5MQotICAgIDB4MS45MWY2NWYxMGRkODEyYTBiOTVmZjcxODcxYWI0ODIwN3AtNSwKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGU0YThhYjdkN2NkODQ4OGY0OTlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkyCi0gICAgLTB4MS45MWY2NWYxMGRkODEyYTBiOTVmZjcxODcxYWI0ODIwN3AtNSwKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGU0YThhYjdkN2NkODQ4OGY0OTlwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cC01LAotICB9LAotICB7IC8vIEVudHJ5IDU5MwotICAgIDB4MS45MWY2NWYxMGRkODEzYTA2YTZmMTJlM2RkOWE2YTQxZXAtNSwKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzZGZiMDRkZjQ2OTg3ZjY0NTBwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk0Ci0gICAgLTB4MS45MWY2NWYxMGRkODEzYTA2YTZmMTJlM2RkOWE2YTQxZXAtNSwKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzZGZiMDRkZjQ2OTg3ZjY0NTBwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cC01LAotICB9LAotICB7IC8vIEVudHJ5IDU5NQotICAgIDB4MS45MWY2NWYxMGRkODE0YTAxYjdlMmVhZjQ5ODk4NjFiN3AtNSwKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzMTZiNTFlNmJmYWM3NTU0MmZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk2Ci0gICAgLTB4MS45MWY2NWYxMGRkODE0YTAxYjdlMmVhZjQ5ODk4NjFiN3AtNSwKLSAgICAweDEuZmY2MjFlMzc5NmQ3ZGUzMTZiNTFlNmJmYWM3NTU0MmZwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC01LAotICB9LAotICB7IC8vIEVudHJ5IDU5NwotICAgIDB4MS45MTdhNmJjMjliNDJhOWNkMmU3ODdlZTAwY2E4ZjhlM3AtNCwKLSAgICAweDEuZmQ4OGRhM2QxMjUyNWEyMDg4OThjZjU4ZGVkMGVlYjNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk4Ci0gICAgLTB4MS45MTdhNmJjMjliNDJhOWNkMmU3ODdlZTAwY2E4ZjhlM3AtNCwKLSAgICAweDEuZmQ4OGRhM2QxMjUyNWEyMDg4OThjZjU4ZGVkMGVlYjNwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cC00LAotICB9LAotICB7IC8vIEVudHJ5IDU5OQotICAgIDB4MS45MTdhNmJjMjliNDJiOWI5NzU0YTY3NzI5Zjc5MzQ2YnAtNCwKLSAgICAweDEuZmQ4OGRhM2QxMjUyNTllZTU5NGI1NzA1NzY3YWI2NDlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAwCi0gICAgLTB4MS45MTdhNmJjMjliNDJiOWI5NzU0YTY3NzI5Zjc5MzQ2YnAtNCwKLSAgICAweDEuZmQ4OGRhM2QxMjUyNTllZTU5NGI1NzA1NzY3YWI2NDlwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cC00LAotICB9LAotICB7IC8vIEVudHJ5IDYwMQotICAgIDB4MS45MTdhNmJjMjliNDJjOWE1YmMxYzUwMDUzMjQ3ZGU3OHAtNCwKLSAgICAweDEuZmQ4OGRhM2QxMjUyNTliYzI5ZmRkZWIyMGUyMjgwNTZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAyCi0gICAgLTB4MS45MTdhNmJjMjliNDJjOWE1YmMxYzUwMDUzMjQ3ZGU3OHAtNCwKLSAgICAweDEuZmQ4OGRhM2QxMjUyNTliYzI5ZmRkZWIyMGUyMjgwNTZwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC00LAotICB9LAotICB7IC8vIEVudHJ5IDYwMwotICAgIDB4MS44ZjhiODNjNjlhNjA5NzVmOTg0NTM4ODZmOTUzYTBlNXAtMywKLSAgICAweDEuZjYyOTdjZmY3NWNiMDNhYjFmY2VkNjMzN2UzNWEyNDVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA0Ci0gICAgLTB4MS44ZjhiODNjNjlhNjA5NzVmOTg0NTM4ODZmOTUzYTBlNXAtMywKLSAgICAweDEuZjYyOTdjZmY3NWNiMDNhYjFmY2VkNjMzN2UzNWEyNDVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDYwNQotICAgIDB4MS44ZjhiODNjNjlhNjBhNzEwZTQyZDM0MzU1MTZkZGFjY3AtMywKLSAgICAweDEuZjYyOTdjZmY3NWNiMDJlMzVhMGNmMmU2NGRlNjA2MjZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA2Ci0gICAgLTB4MS44ZjhiODNjNjlhNjBhNzEwZTQyZDM0MzU1MTZkZGFjY3AtMywKLSAgICAweDEuZjYyOTdjZmY3NWNiMDJlMzVhMGNmMmU2NGRlNjA2MjZwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDYwNwotICAgIDB4MS44ZjhiODNjNjlhNjBiNmMyMzAxNTJmZTNhOTgxZDY4NnAtMywKLSAgICAweDEuZjYyOTdjZmY3NWNiMDIxYjk0NGIwZjk5MWQ4ZTkxNjFwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA4Ci0gICAgLTB4MS44ZjhiODNjNjlhNjBiNmMyMzAxNTJmZTNhOTgxZDY4NnAtMywKLSAgICAweDEuZjYyOTdjZmY3NWNiMDIxYjk0NGIwZjk5MWQ4ZTkxNjFwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDYwOQotICAgIDB4MS44N2RlMmE2YWVhOTYxYTNlOWRlZGVhNTdmZTdlNjUxNHAtMiwKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjY3MmQ5YzFhODY1ODk4ZTU5NjZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEwCi0gICAgLTB4MS44N2RlMmE2YWVhOTYxYTNlOWRlZGVhNTdmZTdlNjUxNHAtMiwKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjY3MmQ5YzFhODY1ODk4ZTU5NjZwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDYxMQotICAgIDB4MS44N2RlMmE2YWVhOTYyOTA2ZDNkNTgzOWVhMWE1YmNmMHAtMiwKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjM2MzFkNmNkMjkwNWQ0YjEzZjVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEyCi0gICAgLTB4MS44N2RlMmE2YWVhOTYyOTA2ZDNkNTgzOWVhMWE1YmNmMHAtMiwKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjM2MzFkNmNkMjkwNWQ0YjEzZjVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDYxMwotICAgIDB4MS44N2RlMmE2YWVhOTYzN2NmMDliZDFjZTU0NGI0OTZlYXAtMiwKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjA1MzYxMTdmY2JiMzBlYTNlMTdwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE0Ci0gICAgLTB4MS44N2RlMmE2YWVhOTYzN2NmMDliZDFjZTU0NGI0OTZlYXAtMiwKLSAgICAweDEuZDkwNmJjZjMyOGQ0NjA1MzYxMTdmY2JiMzBlYTNlMTdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDYxNQotICAgIDB4MS42YTA5ZTY2N2YzYmNiYTk5YWZiMDEzNTcyOTQ1Nzg3NHAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjZDc3N2I2NDYxMzc2YWI1MjMyNDJwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTdwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE2Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNiYTk5YWZiMDEzNTcyOTQ1Nzg3NHAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjZDc3N2I2NDYxMzc2YWI1MjMyNDJwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDYxNwotICAgIDB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNjNWU5ZmVlMzUyZjUwZmQzZjRlOXAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjY2MyNzY3MTJkM2Q4YzU1MDIzODdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDYxOQotICAgIDB4MS42YTA5ZTY2N2YzYmNkMTNhNGUxNjkyOTJmNjA3ZWVlNXAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjYzBkNzE3ZGY5NDNhZGVmMzkyNTNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNkMTNhNGUxNjkyOTJmNjA3ZWVlNXAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjYzBkNzE3ZGY5NDNhZGVmMzkyNTNwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDYyMQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZnAtMSwKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzBiOGI1MGJwLTUyLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZnAtMSwKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzBiOGI1MGJwLTUyLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AwLAotICB9LAotICB7IC8vIEVudHJ5IDYyMwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMXAtMSwKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ0MTlmYThwLTU0LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAwLAotICB9LAotICB7IC8vIEVudHJ5IDYyNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2M3AtMSwKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdkYmNmYmEwcC01MywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAwLAotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjNwLTEsCi0gICAgLTB4MS43MmNlY2U2NzVkMWZjOGY4Y2JiNWJmNmM3ZGJjZmJhMHAtNTMsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI3Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJmYWVlZDQycC01MSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI4Ci0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDliZmFlZWQ0MnAtNTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZnAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjkKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzAKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MzZlMmVkcC01MywKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDYzMQotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2Q1YmJjNWNwLTUyLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzIKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2Q1YmJjNWNwLTUyLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGNwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMzCi0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDliYjg3Y2UxYnAtNTAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM0Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWJiODdjZTFicC01MCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM1Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDBiZjAwM3AtNTIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM2Ci0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzA0MGJmMDAzcC01MiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM3Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdiZDZiZjRkcC01MSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzFwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzgKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdiZDZiZjRkcC01MSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjc5Yjk2MzFwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM5Ci0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDlhYWViNTE4MnAtNDksCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQwCi0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OWFhZWI1MTgycC00OSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjhwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQxCi0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwMzYwMjQ1Y3AtNTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQyCi0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAzNjAyNDVjcC01MSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQzCi0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Yzc1YzJjYjBlcC01MCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDQKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Yzc1YzJjYjBlcC01MCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGU2ZTU4YzRwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ1Ci0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDk2ODc5NWYxY3AtNDgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTVmNTZmZmUxcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ2Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0OTY4Nzk1ZjFjcC00OCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZTFwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ3Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwMGIwZjViZnAtNTAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODgzMTdhcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ4Ci0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzAwYjBmNWJmcC01MCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2FwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ5Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzVkNzJmYTExcC00OSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTAKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzVkNzJmYTExcC00OSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzliOTYzMTNwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUxCi0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDg1ZWIxOTU4NHAtNDcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTdkNWJmZjg3cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUyCi0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0ODVlYjE5NTg0cC00NywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmODdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUzCi0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjZmNWY0M2I0Y3AtNDksCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNWU5cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU0Ci0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmY1ZjQzYjRjcC00OSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU1Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YmZjMzNiNjFmcC00OCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGNwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTYKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YmZjMzNiNjFmcC00OCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkZTZlNThjNGNwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU3Ci0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwNDQzNzkyNmYyNXAtNDYsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNWY1NmZmZTFkcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU4Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA0NDM3OTI2ZjI1cC00NiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU1ZjU2ZmZlMWRwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU5Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjZjYjAxNTE3ZHAtNDgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxN2E3cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYwCi0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNmNiMDE1MTdkcC00OCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYzg4MzE3YTdwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYxCi0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YTc3MzZhNjU4cC00NywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxMzFwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjIKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YTc3MzZhNjU4cC00NywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY3OWI5NjMxMzFwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYzCi0gICAgLTB4MS40Njk4OThjYzUxNzAxYjgzOWEyNTIwMzM5YjE1ZDVhYXAtNDUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5N2Q1YmZmODc0cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY0Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjAzMzliMTVkNWFhcC00NSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjk3ZDViZmY4NzRwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE3cDcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY1Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjYxZjM1YWE0M3AtNDcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYjIyMGM1ZTlkcC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cDcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNjFmMzVhYTQzcC00NywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVlOWRwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY3Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2NDYzNDI2NzNhcC00NiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0YzZwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2NDYzNDI2NzNhcC00NiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRlNmU1OGM0YzZwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cDcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY5Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2ZmYTYwYzBmNTMzNDBmZDI0OTA0cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjOTI2YjU5ZTZkMzk5YmQxYjkwNmNwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDFwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzAKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2ZmYTYwYzBmNTMzNDBmZDI0OTA0cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjOTI2YjU5ZTZkMzk5YmQxYjkwNmNwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcxCi0gICAgMHgxLjZhMDllNjY3ZjNiY2QyNjRjZjQyNTRiYzdhYjBjOWZhcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjYmZhYzk2YjNkMjExNWEzYzNlMjFwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzIKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2QyNjRjZjQyNTRiYzdhYjBjOWZhcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjYmZhYzk2YjNkMjExNWEzYzNlMjFwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjczCi0gICAgMHgxLjZhMDllNjY3ZjNiY2E1MjM5Mjc1NTY0NGRmZTcyMzU3cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjZWNlZGQzODBkMDg4ZjFiNGM0M2NwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzQKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2E1MjM5Mjc1NTY0NGRmZTcyMzU3cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjZWNlZGQzODBkMDg4ZjFiNGM0M2NwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQzcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc1Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmM4YzJkZjFiNzUyYjYwNmEwYTQ3MnAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDA1ZTM3NDNlZDQxN2M0NGZiYTQ2cC0xLAotICAgIDB4MS5mNmE3YTI5NTUzODVkcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc2Ci0gICAgMHgxLjZhMDllNjY3ZjNiYzhjMmRmMWI3NTJiNjA2YTBhNDcycC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JkMDVlMzc0M2VkNDE3YzQ0ZmJhNDZwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVkcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc3Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNiOTZmMmU4NDUxMmRhNDg4ZmYyZHAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2Q4YTIzNzcxZDVhMDJmZjVlODQzcC0xLAotICAgIDB4MS5mNmE3YTI5NTUzODVlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc4Ci0gICAgMHgxLjZhMDllNjY3ZjNiY2I5NmYyZTg0NTEyZGE0ODhmZjJkcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjZDhhMjM3NzFkNWEwMmZmNWU4NDNwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNlNmIwNmI1MTRmYTUzY2M5MzI0ZnAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2FiNjBmYWE0ZDcyODk1ZjNlZWE1cC0xLAotICAgIDB4MS5mNmE3YTI5NTUzODVmcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgwCi0gICAgMHgxLjZhMDllNjY3ZjNiY2U2YjA2YjUxNGZhNTNjYzkzMjRmcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjYWI2MGZhYTRkNzI4OTVmM2VlYTVwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVmcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgxCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YXAtMSwKLSAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzRjMWQxNjMxcC01MCwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAyLAotICB9LAotICB7IC8vIEVudHJ5IDY4MgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YXAtMSwKLSAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzRjMWQxNjMxcC01MCwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkcC0xLAotICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODYzNzdjOTJwLTUzLAotICAgIDB4MS4yZDk3YzdmMzMyMWQycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkcC0xLAotICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODYzNzdjOTJwLTUzLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAyLAotICB9LAotICB7IC8vIEVudHJ5IDY4NQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVlZjE4MTBwLTEsCi0gICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTViYmNiYzZjcC01MSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkM3AyLAotICB9LAotICB7IC8vIEVudHJ5IDY4NgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWVmMTgxMHAtMSwKLSAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxNWJiY2JjNmNwLTUxLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AyLAotICB9LAotICB7IC8vIEVudHJ5IDY4NwotICAgIC0weDEuNmEwOWU2NjdmM2JkMzk2MjE5M2I1MzczMDY5YmEwYzJwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiYzU4YWY0Y2JhZDM1YWFiYjIwMGY0cC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc0cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg4Ci0gICAgMHgxLjZhMDllNjY3ZjNiZDM5NjIxOTNiNTM3MzA2OWJhMGMycC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmM1OGFmNGNiYWQzNWFhYmIyMDBmNHAtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODkKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2RlZGY5ZmExNTY4M2U1MWY3ZTYwcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmNiMzMxYzY1NGQwNDllZWJhMzgwZnAtMSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NXAyLAotICB9LAotICB7IC8vIEVudHJ5IDY5MAotICAgIDB4MS42YTA5ZTY2N2YzYmNkZWRmOWZhMTU2ODNlNTFmN2U2MHAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjYjMzMWM2NTRkMDQ5ZWViYTM4MGZwLTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc1cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkxCi0gICAgLTB4MS42YTA5ZTY2N2YzYmM4NDVkMjYwNzU5OTRhZDAyYmQ5OHAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JkMGRiNDNmZWVjZDM5MWIyMWQwYzRwLTEsCi0gICAgMHgxLjVmZGJiZTliYmE3NzZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTIKLSAgICAweDEuNmEwOWU2NjdmM2JjODQ1ZDI2MDc1OTk0YWQwMmJkOThwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiZDBkYjQzZmVlY2QzOTFiMjFkMGM0cC0xLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NnAyLAotICB9LAotICB7IC8vIEVudHJ5IDY5MwotICAgIDB4MS42YTA5ZTY2N2YzYmM1MjcxZTQ4YjUyNzZmNDM4NTc5ZnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JkM2Y5ZjgxNmFkNDU2YmExYTU0YTlwLTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTQKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzUyNzFlNDhiNTI3NmY0Mzg1NzlmcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmQzZjlmODE2YWQ0NTZiYTFhNTRhOXAtMSwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTUKLSAgICAweDEuNmEwOWU2NjdmM2JjYWNmNDVlMjU0ZjY2MzhjZmU4YzZwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2U1MWQwN2QwZDc2NzlhMmQ4YzUzcC0xLAotICAgIDB4MS5jNDYzYWJlY2NiMmJicDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk2Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmNhY2Y0NWUyNTRmNjYzOGNmZThjNnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjZTUxZDA3ZDBkNzY3OWEyZDhjNTNwLTEsCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJicDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk3Ci0gICAgMHgxLjZhMDllNjY3ZjNiZDA3NzZkN2JmNGM1NTY2YzZkYjg3cC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmM4YTlhOGUzNmRhNzg2M2EwMjU5N3AtMSwKLSAgICAweDEuYzQ2M2FiZWNjYjJiY3AyLAotICB9LAotICB7IC8vIEVudHJ5IDY5OAotICAgIC0weDEuNmEwOWU2NjdmM2JkMDc3NmQ3YmY0YzU1NjZjNmRiODdwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiYzhhOWE4ZTM2ZGE3ODYzYTAyNTk3cC0xLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiY3AyLAotICB9LAotICB7IC8vIEVudHJ5IDY5OQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMzExNzRmNXAtMSwKLSAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMmFkOWFmZGFwLTUwLAotICAgIDB4MS5mNmE3YTI5NTUzODVkcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAwCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMzExNzRmNXAtMSwKLSAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMmFkOWFmZGFwLTUwLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAyLAotICB9LAotICB7IC8vIEVudHJ5IDcwMQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTE5NGNkNHAtMSwKLSAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzRlNmE4NDlwLTUyLAotICAgIDB4MS5mNmE3YTI5NTUzODVlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTE5NGNkNHAtMSwKLSAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzRlNmE4NDlwLTUyLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAyLAotICB9LAotICB7IC8vIEVudHJ5IDcwMwotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTIxMjRiNHAtMSwKLSAgICAtMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0NzliZDQ4ZjRhcC01MSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZnAyLAotICB9LAotICB7IC8vIEVudHJ5IDcwNAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMTI0YjRwLTEsCi0gICAgLTB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5YmQ0OGY0YXAtNTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVmcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA1Ci0gICAgMHgxLjZhMDllNjY3ZjNiZGZhZTFkY2NlNGYxODY2NTY4MWM2cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JiOTcyZjg5MjdkN2I0NmM3Mzc0ODVwLTEsCi0gICAgMHgxLjE0NzVjYzllZWRlZmZwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDYKLSAgICAtMHgxLjZhMDllNjY3ZjNiZGZhZTFkY2NlNGYxODY2NTY4MWM2cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JiOTcyZjg5MjdkN2I0NmM3Mzc0ODVwLTEsCi0gICAgLTB4MS4xNDc1Y2M5ZWVkZWZmcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA3Ci0gICAgMHgxLjZhMDllNjY3ZjNiZDQ1ZGNlOTlhNTUzYTZkN2Q4MDY1cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjNGMzNDdjNWJkMTkzM2NhMzI2MWZwLTEsCi0gICAgMHgxLjE0NzVjYzllZWRmcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmQ0NWRjZTk5YTU1M2E2ZDdkODA2NXAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzRjMzQ3YzViZDE5MzNjYTMyNjFmcC0xLAotICAgIC0weDEuMTQ3NWNjOWVlZGZwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDkKLSAgICAweDEuNmEwOWU2NjdmM2JjOTBkN2Y2NjY1YjVjMWEyMjA1NmFwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQwMTM5NmY4ZmNiNzFiMjUwNWUxZnAtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxMAotICAgIC0weDEuNmEwOWU2NjdmM2JjOTBkN2Y2NjY1YjVjMWEyMjA1NmFwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQwMTM5NmY4ZmNiNzFiMjUwNWUxZnAtMSwKLSAgICAtMHgxLjE0NzVjYzllZWRmMDFwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTEKLSAgICAweDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3M2UwZDZiOTRwLTQ5LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYTJjOWVkYThwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDFwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTIKLSAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzNlMGQ2Yjk0cC00OSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmEyYzllZGE4cC0xLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxMwotICAgIDB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4NWE2ODhiZHAtNTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDQzMjZmNXAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMnAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxNAotICAgIC0weDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODVhNjg4YmRwLTUyLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ0MzI2ZjVwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQycDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE1Ci0gICAgLTB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE1M2MwY2MxNnAtNTAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkN2JjNjA0MXAtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkM3AzLAotICB9LAotICB7IC8vIEVudHJ5IDcxNgotICAgIDB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE1M2MwY2MxNnAtNTAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkN2JjNjA0MXAtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTcKLSAgICAtMHgxLjZhMDllNjY3ZjNiYjkwZjIyMGY4NTZkMGIxYTQwNmMzcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JlMDExZjQ0ZmRjZmZjMTY3ZjcxNDBwLTEsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTJwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTgKLSAgICAweDEuNmEwOWU2NjdmM2JiOTBmMjIwZjg1NmQwYjFhNDA2YzNwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmUwMTFmNDRmZGNmZmMxNjdmNzE0MHAtMSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTkKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzQ1ZjcxNDJjNTBhZjg0ZjI2Yzc1cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JkNGMxYTUxYzlkNjFlMjBjNTIzZjdwLTEsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjAKLSAgICAweDEuNmEwOWU2NjdmM2JjNDVmNzE0MmM1MGFmODRmMjZjNzVwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQ0YzFhNTFjOWQ2MWUyMGM1MjNmN3AtMSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjEKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2ZhZmMwNzYwNGE4ZGZkYmU1ODhkcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjOTcxNTVlOTVkYzNmZDA4ODVkMTRwLTEsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjIKLSAgICAweDEuNmEwOWU2NjdmM2JjZmFmYzA3NjA0YThkZmRiZTU4OGRwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmM5NzE1NWU5NWRjM2ZkMDg4NWQxNHAtMSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNjM0ZTlmcC0xLAotICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwNzQ4ODczYmJwLTQ5LAotICAgIDB4MS41ZmRiYmU5YmJhNzc0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI0Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjlkNjM0ZTlmcC0xLAotICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwNzQ4ODczYmJwLTQ5LAotICAgIC0weDEuNWZkYmJlOWJiYTc3NHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcyNQotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmM0NjExNzhwLTEsCi0gICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0NjQ2MzMwMXAtNTIsCi0gICAgMHgxLjVmZGJiZTliYmE3NzVwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjYKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmM0NjExNzhwLTEsCi0gICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0NjQ2MzMwMXAtNTIsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc1cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI3Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkYjI4ZDQ1MXAtMSwKLSAgICAweDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdlZTRkMDkwY2ZwLTUwLAotICAgIDB4MS41ZmRiYmU5YmJhNzc2cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRiMjhkNDUxcC0xLAotICAgIDB4MS44NDc0ZjQ5YTcxN2JjZmQ5YjIzZjA3N2VlNGQwOTBjZnAtNTAsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc2cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI5Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmUwNzVjYWQyZDUwZGZjNjhjZDg4ZnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JiOGFiNGI4YzhkNWVjZjZiOTEwZDZwLTEsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDVwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzAKLSAgICAweDEuNmEwOWU2NjdmM2JlMDc1Y2FkMmQ1MGRmYzY4Y2Q4OGZwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiYjhhYjRiOGM4ZDVlY2Y2YjkxMGQ2cC0xLAotICAgIC0weDEuNzhmZGI5ZWZmZWE0NXAzLAotICB9LAotICB7IC8vIEVudHJ5IDczMQotICAgIC0weDEuNmEwOWU2NjdmM2JkNTI1N2I5Zjk1NzAxZDNmMTNmNWRwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiYzNmYjlhYmZjY2ZjYmNkMjYyYWEwcC0xLAotICAgIDB4MS43OGZkYjllZmZlYTQ2cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMyCi0gICAgMHgxLjZhMDllNjY3ZjNiZDUyNTdiOWY5NTcwMWQzZjEzZjVkcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmMzZmI5YWJmY2NmY2JjZDI2MmFhMHAtMSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDZwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzMKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzlkNTJjNmM1NWQyMzg2ZDMyYzkycC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmNmNGJlOWYzMGM5YWE0OTEwY2FjZnAtMSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0N3AzLAotICB9LAotICB7IC8vIEVudHJ5IDczNAotICAgIDB4MS42YTA5ZTY2N2YzYmM5ZDUyYzZjNTVkMjM4NmQzMmM5MnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjZjRiZTlmMzBjOWFhNDkxMGNhY2ZwLTEsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ3cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM1Ci0gICAgMHgxLjZhMDllNjY3ZjNiYjg0Nzc1MDk5NTUwOTNiYjI5MmJlcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmUwZDlhMTU1Y2QxYzM3NjdlYjdiM3AtMSwKLSAgICAweDEuYWI0MWIwOTg4NmZlOHAzLAotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIC0weDEuNmEwOWU2NjdmM2JiODQ3NzUwOTk1NTA5M2JiMjkyYmVwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiZTBkOWExNTVjZDFjMzc2N2ViN2IzcC0xLAotICAgIC0weDEuYWI0MWIwOTg4NmZlOHAzLAotICB9LAotICB7IC8vIEVudHJ5IDczNwotICAgIDB4MS42YTA5ZTY2N2YzYmMzOTdjNDNjZDRlZTgxNTNlNjBhMHAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JkNTg5NTIyMjhkN2U1ODcwMWQyOTlwLTEsCi0gICAgMHgxLmFiNDFiMDk4ODZmZTlwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzgKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzM5N2M0M2NkNGVlODE1M2U2MGEwcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmQ1ODk1MjIyOGQ3ZTU4NzAxZDI5OXAtMSwKLSAgICAtMHgxLmFiNDFiMDk4ODZmZTlwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzkKLSAgICAweDEuNmEwOWU2NjdmM2JjZWU4MTM3MDE0OGM2OTQ0N2I0ZTdwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2EzOTAyZWY0ZGUwNzNkMDI3M2U2cC0xLAotICAgIDB4MS5hYjQxYjA5ODg2ZmVhcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNlZTgxMzcwMTQ4YzY5NDQ3YjRlN3AtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjYTM5MDJlZjRkZTA3M2QwMjczZTZwLTEsCi0gICAgLTB4MS5hYjQxYjA5ODg2ZmVhcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMjE0MWI0cC0xLAotICAgIDB4MS40ZjZiYWJlNWRiOWUxZWY0MGQ2OWM0NTJlMTM1NTkxZHAtNDksCi0gICAgMHgxLmM0NjNhYmVjY2IyYmFwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDIKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjkyMjE0MWI0cC0xLAotICAgIDB4MS40ZjZiYWJlNWRiOWUxZWY0MGQ2OWM0NTJlMTM1NTkxZHAtNDksCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJhcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDcxN2E3cC0xLAotICAgIDB4MS4zZGFlYWY5NzZlNzg3YmQwMzVhNzExNGJlMzg3YjVjM3AtNTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmJwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY5ZDcxN2E3cC0xLAotICAgIDB4MS4zZGFlYWY5NzZlNzg3YmQwMzVhNzExNGJlMzg3YjVjM3AtNTEsCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJicDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUxOGNlZDlhcC0xLAotICAgIC0weDEuNjEyOGE4MzQ0OGMzYzIxN2U1MmM3NzVhMDY5OGQyNmFwLTUwLAotICAgIDB4MS5jNDYzYWJlY2NiMmJjcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlMThjZWQ5YXAtMSwKLSAgICAtMHgxLjYxMjhhODM0NDhjM2MyMTdlNTJjNzc1YTA2OThkMjZhcC01MCwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDcKLSAgICAweDEuNmEwOWU2NjdmM2JlMTNkNzdkOGM1MmE3MjY1NTBlYWNwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmI3ZTM5ZTg2OWQ0MjU4MDkwOGM3Y3AtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4YnAzLAotICB9LAotICB7IC8vIEVudHJ5IDc0OAotICAgIC0weDEuNmEwOWU2NjdmM2JlMTNkNzdkOGM1MmE3MjY1NTBlYWNwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmI3ZTM5ZTg2OWQ0MjU4MDkwOGM3Y3AtMSwKLSAgICAtMHgxLmRkODVhNzQxMGY1OGJwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDkKLSAgICAweDEuNmEwOWU2NjdmM2JkNWVkMjhhNTg1OGM5MzlmNmRkYWFwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMzMzNlZGI5ZGNlMDQ1ZDNiMGU3NXAtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4Y3AzLAotICB9LAotICB7IC8vIEVudHJ5IDc1MAotICAgIC0weDEuNmEwOWU2NjdmM2JkNWVkMjhhNTg1OGM5MzlmNmRkYWFwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMzMzNlZGI5ZGNlMDQ1ZDNiMGU3NXAtMSwKLSAgICAtMHgxLmRkODVhNzQxMGY1OGNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTEKLSAgICAweDEuNmEwOWU2NjdmM2JjYTljZDk3MjQ1ZWVhZjMxNjMzMGVwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNlODQzY2VkMWM3ZTJkZjYzMTZkNHAtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4ZHAzLAotICB9LAotICB7IC8vIEVudHJ5IDc1MgotICAgIC0weDEuNmEwOWU2NjdmM2JjYTljZDk3MjQ1ZWVhZjMxNjMzMGVwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNlODQzY2VkMWM3ZTJkZjYzMTZkNHAtMSwKLSAgICAtMHgxLmRkODVhNzQxMGY1OGRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTMKLSAgICAweDEuNTgzZWJlZmY2NWNjMjI2NDgwYWU2ODVjMTc2NWRlYzFwLTQ5LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOGM0NWQzZDRwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTQKLSAgICAtMHgxLjU4M2ViZWZmNjVjYzIyNjQ4MGFlNjg1YzE3NjVkZWMxcC00OSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjhjNDVkM2Q0cC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZHAzLAotICB9LAotICB7IC8vIEVudHJ5IDc1NQotICAgIDB4MS42MGZhZmJmZDk3MzA4OTkyMDJiOWExNzBjMzk3MWU4NnAtNTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY1MzM1M3AtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZXAzLAotICB9LAotICB7IC8vIEVudHJ5IDc1NgotICAgIC0weDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzM5NzFlODZwLTUxLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NTMzNTNwLTEsCi0gICAgLTB4MS5mNmE3YTI5NTUzODVlcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU3Ci0gICAgLTB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5NzUzZmU3YXAtNTAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNDg0OTJkM3AtMSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZnAzLAotICB9LAotICB7IC8vIEVudHJ5IDc1OAotICAgIDB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDc5NzUzZmU3YXAtNTAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNDg0OTJkM3AtMSwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTkKLSAgICAtMHgxLjZhMDllNjY3ZjNiYTBkZjI5OWQyNWY4MmY2MzkyNTFmcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JmODQxZWNjMjNjNzQ1OTkwNzZhODFwLTEsCi0gICAgMHgxLjA3ZTRjZWY0Y2JkOTZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjAKLSAgICAweDEuNmEwOWU2NjdmM2JhMGRmMjk5ZDI1ZjgyZjYzOTI1MWZwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmY4NDFlY2MyM2M3NDU5OTA3NmE4MXAtMSwKLSAgICAtMHgxLjA3ZTRjZWY0Y2JkOTZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjEKLSAgICAtMHgxLjZhMDllNjY3ZjNiYjc3ZmM4MDNhNTM0MWM1NTJmZTBmcC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JlMWExNGU1YmJkMzhhZDYwZmRkN2JwLTEsCi0gICAgMHgxLjA3ZTRjZWY0Y2JkOTdwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjIKLSAgICAweDEuNmEwOWU2NjdmM2JiNzdmYzgwM2E1MzQxYzU1MmZlMGZwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmUxYTE0ZTViYmQzOGFkNjBmZGQ3YnAtMSwKLSAgICAtMHgxLjA3ZTRjZWY0Y2JkOTdwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjMKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2UyMDY2NmEyNDZmZjJhNjJmMDk3cC0xLAotICAgIC0weDEuNmEwOWU2NjdmM2JjYjAwYWZmNTNkZmNlYTkwZTZhMGNwLTEsCi0gICAgMHgxLjA3ZTRjZWY0Y2JkOThwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjQKLSAgICAweDEuNmEwOWU2NjdmM2JjZTIwNjY2YTI0NmZmMmE2MmYwOTdwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNiMDBhZmY1M2RmY2VhOTBlNmEwY3AtMSwKLSAgICAtMHgxLjA3ZTRjZWY0Y2JkOThwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDI1MzFhNDNkcC0xLAotICAgIC0weDEuYjA4OGU5MGM3N2ZkMTJlYTc5Zjk4NjMxZTZmMGI3NGJwLTQ4LAotICAgIDB4MS4xNDc1Y2M5ZWVkZWZmcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDI1MzFhNDNkcC0xLAotICAgIC0weDEuYjA4OGU5MGM3N2ZkMTJlYTc5Zjk4NjMxZTZmMGI3NGJwLTQ4LAotICAgIC0weDEuMTQ3NWNjOWVlZGVmZnA0LAotICB9LAotICB7IC8vIEVudHJ5IDc2NwotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmODY0Mzc2NTZwLTEsCi0gICAgLTB4MS42MTExZDIxOGVmZmEyNWQ0ZjNmMzBjNjU0ZDdjMzZhMXAtNDksCi0gICAgMHgxLjE0NzVjYzllZWRmcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjg2NDM3NjU2cC0xLAotICAgIC0weDEuNjExMWQyMThlZmZhMjVkNGYzZjMwYzY1NGQ3YzM2YTFwLTQ5LAotICAgIC0weDEuMTQ3NWNjOWVlZGZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjkKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NTU0ODZmcC0xLAotICAgIDB4MS4zZGRjNWJjZTIwMGJiNDU2MTgxOWU3MzUyN2Y1YTZkN3AtNTAsCi0gICAgMHgxLjE0NzVjYzllZWRmMDFwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZTc1NTQ4NmZwLTEsCi0gICAgMHgxLjNkZGM1YmNlMjAwYmI0NTYxODE5ZTczNTI3ZjVhNmQ3cC01MCwKLSAgICAtMHgxLjE0NzVjYzllZWRmMDFwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzEKLSAgICAtMHgxLjZhMDllNjY3ZjNiZWQ1NTc0MTFmNGU0YzExNGQ3MzU3cC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmFiY2JhMjRkNmQ4N2VjYzhmODNiNHAtMSwKLSAgICAweDEuMjEwNmNhNDkxMDA2OHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc3MgotICAgIDB4MS42YTA5ZTY2N2YzYmVkNTU3NDExZjRlNGMxMTRkNzM1N3AtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JhYmNiYTI0ZDZkODdlY2M4ZjgzYjRwLTEsCi0gICAgLTB4MS4yMTA2Y2E0OTEwMDY4cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzczCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQ2YjRkNWFiNzVhOTA5ZjhlNWI0Y3AtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjMjZjNDBiM2VjYzNjZWNlMWQxYTBwLTEsCi0gICAgMHgxLjIxMDZjYTQ5MTAwNjlwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAweDEuNmEwOWU2NjdmM2JkNmI0ZDVhYjc1YTkwOWY4ZTViNGNwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiYzI2YzQwYjNlY2MzY2VjZTFkMWEwcC0xLAotICAgIC0weDEuMjEwNmNhNDkxMDA2OXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc3NQotICAgIC0weDEuNmEwOWU2NjdmM2JjMDE0Mzc0NGY2NmQzYzNjNTVjZDlwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiZDkwY2RmMWE2YmZmOWEzMmEzOTIzcC0xLAotICAgIDB4MS4yMTA2Y2E0OTEwMDZhcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc2Ci0gICAgMHgxLjZhMDllNjY3ZjNiYzAxNDM3NDRmNjZkM2MzYzU1Y2Q5cC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmQ5MGNkZjFhNmJmZjlhMzJhMzkyM3AtMSwKLSAgICAtMHgxLjIxMDZjYTQ5MTAwNmFwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzcKLSAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzA1Y2VjMTIwcC00OCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlOGIyN2I2YTJwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDFwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzgKLSAgICAweDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3MDVjZWMxMjBwLTQ4LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU4YjI3YjZhMnAtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDFwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzkKLSAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYTgzNjJiOTY4cC01MSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjUwYzliZDRwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODAKLSAgICAweDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODM2MmI5NjhwLTUxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNTBjOWJkNHAtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODEKLSAgICAweDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxMzNkMTBhYmVwLTQ5LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZWYxODEwN3AtMSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkM3A0LAotICB9LAotICB7IC8vIEVudHJ5IDc4MgotICAgIC0weDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxMzNkMTBhYmVwLTQ5LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZWYxODEwN3AtMSwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDNwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODMKLSAgICAweDEuNmEwOWU2NjdmM2JhMDE3N2M5NzM1ZGJiNzJmMDlmNjVwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiZjkwOTk5YzgyYzkwY2ViYWY5ZjNmcC0xLAotICAgIDB4MS4zYTI4YzU5ZDU0MzM5cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg0Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmEwMTc3Yzk3MzVkYmI3MmYwOWY2NXAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JmOTA5OTljODJjOTBjZWJhZjlmM2ZwLTEsCi0gICAgLTB4MS4zYTI4YzU5ZDU0MzM5cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg1Ci0gICAgMHgxLjZhMDllNjY3ZjNiYjZiODFhZmRiNTE3YTRlODU0OGI0cC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmUyNjhmYjYxYWQ1NTIzNTMyZTI5OHAtMSwKLSAgICAweDEuM2EyOGM1OWQ1NDMzYXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc4NgotICAgIC0weDEuNmEwOWU2NjdmM2JiNmI4MWFmZGI1MTdhNGU4NTQ4YjRwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiZTI2OGZiNjFhZDU1MjM1MzJlMjk4cC0xLAotICAgIC0weDEuM2EyOGM1OWQ1NDMzYXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc4NwotICAgIDB4MS42YTA5ZTY2N2YzYmNkNThiOTY0MzQ1MzdjMDEwMGI5YnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjYmM4NWNmYjJlMTk2MTRhYzNmODhwLTEsCi0gICAgMHgxLjNhMjhjNTlkNTQzM2JwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODgKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2Q1OGI5NjQzNDUzN2MwMTAwYjlicC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmNiYzg1Y2ZiMmUxOTYxNGFjM2Y4OHAtMSwKLSAgICAtMHgxLjNhMjhjNTlkNTQzM2JwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDcxMWY0MzdwLTEsCi0gICAgMHgxLmI5NWJmYzI2MDIyYjE2NWFlZDNlMmEzYjEyMzgyNDc5cC00OCwKLSAgICAweDEuNDZiOWMzNDc3NjRhMnA0LAotICB9LAotICB7IC8vIEVudHJ5IDc5MAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkMDcxMWY0MzdwLTEsCi0gICAgMHgxLmI5NWJmYzI2MDIyYjE2NWFlZDNlMmEzYjEyMzgyNDc5cC00OCwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTEKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzljOWVjODNwLTEsCi0gICAgMHgxLjcyYjdmODRjMDQ1NjJjYjVkYTdjNTQ3N2I5NTdhZGVicC00OSwKLSAgICAweDEuNDZiOWMzNDc3NjRhM3A0LAotICB9LAotICB7IC8vIEVudHJ5IDc5MgotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNzljOWVjODNwLTEsCi0gICAgMHgxLjcyYjdmODRjMDQ1NjJjYjVkYTdjNTQ3N2I5NTdhZGVicC00OSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTNwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4MWU0Y2ZwLTEsCi0gICAgLTB4MS4xYTkwMGY2N2Y3NTNhNjk0NGIwNzU3MTA0OGYxY2FkMnAtNTAsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTRwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTQKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVjODFlNGNmcC0xLAotICAgIC0weDEuMWE5MDBmNjdmNzUzYTY5NDRiMDc1NzEwNDhmMWNhZDJwLTUwLAotICAgIC0weDEuNDZiOWMzNDc3NjRhNHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc5NQotICAgIDB4MS42YTA5ZTY2N2YzYmVlMWQyMTE3ZTUwMTM2OWZiZmZlZnAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiYWIwM2Y1NDc3ZDZiNzRmNGQ1NWQ1cC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBicDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk2Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmVlMWQyMTE3ZTUwMTM2OWZiZmZlZnAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiYWIwM2Y1NDc3ZDZiNzRmNGQ1NWQ1cC0xLAotICAgIC0weDEuNTM0YWMwZjE5ODYwYnA0LAotICB9LAotICB7IC8vIEVudHJ5IDc5NwotICAgIDB4MS42YTA5ZTY2N2YzYmQ3N2M4MmIxNjVjNTgwNGI3Yjg0M3AtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzFhNDkzYWRmY2E3NTdjMWE3NDFmcC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBjcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk4Ci0gICAgLTB4MS42YTA5ZTY2N2YzYmQ3N2M4MmIxNjVjNTgwNGI3Yjg0M3AtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiYzFhNDkzYWRmY2E3NTdjMWE3NDFmcC0xLAotICAgIC0weDEuNTM0YWMwZjE5ODYwY3A0LAotICB9LAotICB7IC8vIEVudHJ5IDc5OQotICAgIDB4MS42YTA5ZTY2N2YzYmMwZGJlNDRhZTY4OWIzNTY5OGEyZnAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDg0NTMyMTQ3YmUzMjNlZGRhYzAxcC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBkcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODAwCi0gICAgLTB4MS42YTA5ZTY2N2YzYmMwZGJlNDRhZTY4OWIzNTY5OGEyZnAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiZDg0NTMyMTQ3YmUzMjNlZGRhYzAxcC0xLAotICAgIC0weDEuNTM0YWMwZjE5ODYwZHA0LAotICB9LAotICB7IC8vIEVudHJ5IDgwMQotICAgIDB4MS4zZGM1ODViMmM3NDIxODEzMjZlMDdjNDAzNzU0NjRkZXAtNDgsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmU3NThkM2E3Y3AtMSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NHA0LAotICB9LAotICB7IC8vIEVudHJ5IDgwMgotICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQwMzc1NDY0ZGVwLTQ4LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlNzU4ZDNhN2NwLTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc0cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODAzCi0gICAgMHgxLmVlMmMyZDk2M2ExMGMwOTkzNzAzZTIwNDQyYWQ3YjhkcC01MSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTg0NWUxcC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc1cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODA0Ci0gICAgLTB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ0MmFkN2I4ZHAtNTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMTE4NDVlMXAtMSwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzVwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDUKLSAgICAtMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZWM4ZGQxNzVicC00OSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjYTM1MTQ3cC0xLAotICAgIDB4MS41ZmRiYmU5YmJhNzc2cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODA2Ci0gICAgMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZWM4ZGQxNzVicC00OSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjYTM1MTQ3cC0xLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NnA0LAotICB9LAotICB7IC8vIEVudHJ5IDgwNwotICAgIC0weDEuNmEwOWU2NjdmM2I5ZjRmY2Y5MTQ1YmYzZWYzOWY5MDFwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmY5ZDE0NmNlMWNhZDQzZGU5YjM1MnAtMSwKLSAgICAweDEuNmM2Y2JjNDVkYzhkY3A0LAotICB9LAotICB7IC8vIEVudHJ5IDgwOAotICAgIDB4MS42YTA5ZTY2N2YzYjlmNGZjZjkxNDViZjNlZjM5ZjkwMXAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiZjlkMTQ2Y2UxY2FkNDNkZTliMzUycC0xLAotICAgIC0weDEuNmM2Y2JjNDVkYzhkY3A0LAotICB9LAotICB7IC8vIEVudHJ5IDgwOQotICAgIC0weDEuNmEwOWU2NjdmM2JiNWYwNmRmN2M0ZmIyZDc0OTcyYWVwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmUzMzBhODY3OWQ3MTk5M2U3YzcwOXAtMSwKLSAgICAweDEuNmM2Y2JjNDVkYzhkZHA0LAotICB9LAotICB7IC8vIEVudHJ5IDgxMAotICAgIDB4MS42YTA5ZTY2N2YzYmI1ZjA2ZGY3YzRmYjJkNzQ5NzJhZXAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiZTMzMGE4Njc5ZDcxOTkzZTdjNzA5cC0xLAotICAgIC0weDEuNmM2Y2JjNDVkYzhkZHA0LAotICB9LAotICB7IC8vIEVudHJ5IDgxMQotICAgIC0weDEuNmEwOWU2NjdmM2JjYzkxMGM1ZTQ0MzcwNTU0ZjA1ZjRwLTEsCi0gICAgLTB4MS42YTA5ZTY2N2YzYmNjOTAwYTAxMWUzNWQ3ZmRiZjQ1OXAtMSwKLSAgICAweDEuNmM2Y2JjNDVkYzhkZXA0LAotICB9LAotICB7IC8vIEVudHJ5IDgxMgotICAgIDB4MS42YTA5ZTY2N2YzYmNjOTEwYzVlNDQzNzA1NTRmMDVmNHAtMSwKLSAgICAtMHgxLjZhMDllNjY3ZjNiY2M5MDBhMDExZTM1ZDdmZGJmNDU5cC0xLAotICAgIC0weDEuNmM2Y2JjNDVkYzhkZXA0LAotICB9LAotICB7IC8vIEVudHJ5IDgxMwotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZTg1Njg1YmRwLTEsCi0gICAgLTB4MS5jMjJmMGYzZjhjNTkxOWNiNjA4MmNlNDQzY2Y5NTAyMnAtNDgsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDVwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZTg1Njg1YmRwLTEsCi0gICAgLTB4MS5jMjJmMGYzZjhjNTkxOWNiNjA4MmNlNDQzY2Y5NTAyMnAtNDgsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ1cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODE1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2I0YTQzZHAtMSwKLSAgICAtMHgxLjg0NWUxZTdmMThiMjMzOTZjMTA1OWM4YTI0YzI2MDljcC00OSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0NnA0LAotICB9LAotICB7IC8vIEVudHJ5IDgxNgotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY2Y2I0YTQzZHAtMSwKLSAgICAtMHgxLjg0NWUxZTdmMThiMjMzOTZjMTA1OWM4YTI0YzI2MDljcC00OSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTcKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxMTJjMmJjcC0xLAotICAgIDB4MS5lZTg3ODYwMzlkMzczMWE0ZmJlOThkZDZkMzJmZjYyYXAtNTEsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDdwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTgKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjExMmMyYmNwLTEsCi0gICAgMHgxLmVlODc4NjAzOWQzNzMxYTRmYmU5OGRkNmQzMmZmNjJhcC01MSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTkKLSAgICAtMHgxLjZhMDllNjY3ZjNiZWVlNGNlMWRkNTFkYWMyM2M2YmRjcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmFhM2M0ODQxOGQ0ZWZkMTlkMDc0YXAtMSwKLSAgICAweDEuODU4ZWI3OWEyMGJhZXA0LAotICB9LAotICB7IC8vIEVudHJ5IDgyMAotICAgIDB4MS42YTA5ZTY2N2YzYmVlZTRjZTFkZDUxZGFjMjNjNmJkY3AtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JhYTNjNDg0MThkNGVmZDE5ZDA3NGFwLTEsCi0gICAgLTB4MS44NThlYjc5YTIwYmFlcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODIxCi0gICAgLTB4MS42YTA5ZTY2N2YzYmQ4NDQyZmI3NTVlMWY2OTcyZjQ4ZnAtMSwKLSAgICAweDEuNmEwOWU2NjdmM2JjMGRjZTZhODBjOGFlMGFlNGY1ZjNwLTEsCi0gICAgMHgxLjg1OGViNzlhMjBiYWZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjIKLSAgICAweDEuNmEwOWU2NjdmM2JkODQ0MmZiNzU1ZTFmNjk3MmY0OGZwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiYzBkY2U2YTgwYzhhZTBhZTRmNWYzcC0xLAotICAgIC0weDEuODU4ZWI3OWEyMGJhZnA0LAotICB9LAotICB7IC8vIEVudHJ5IDgyMwotICAgIC0weDEuNmEwOWU2NjdmM2JjMWEzOTE1MGQ2YTYyYTY5Zjk2ZGFwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiZDc3ZDg1MGU4YmM2YWRhMjJmZTM0cC0xLAotICAgIDB4MS44NThlYjc5YTIwYmIwcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODI0Ci0gICAgMHgxLjZhMDllNjY3ZjNiYzFhMzkxNTBkNmE2MmE2OWY5NmRhcC0xLAotICAgIDB4MS42YTA5ZTY2N2YzYmQ3N2Q4NTBlOGJjNmFkYTIyZmUzNHAtMSwKLSAgICAtMHgxLjg1OGViNzlhMjBiYjBwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjUKLSAgICAweDEuZmE3Mjk5YjE3NTczZDM3M2M2MTUwOTY1NzJhMGRlMDRwLTEsCi0gICAgLTB4MS4yY2NhZjY0MWQ0MjYxZWEzY2NkOGQyYTEwMmRjMzA2NnAtMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA2MiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjYKLSAgICAtMHgxLmZhNzI5OWIxNzU3M2QzNzNjNjE1MDk2NTcyYTBkZTA0cC0xLAotICAgIC0weDEuMmNjYWY2NDFkNDI2MWVhM2NjZDhkMmExMDJkYzMwNjZwLTMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDYyLAotICB9LAotICB7IC8vIEVudHJ5IDgyNwotICAgIDB4MS5mZmY2ZGZkNDJkYzU0NDMwYmMwNTc2YjAwYTg4YmQ5NHAtMSwKLSAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCi0gICAgMHgxLjBwNjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODI4Ci0gICAgLTB4MS5mZmY2ZGZkNDJkYzU0NDMwYmMwNTc2YjAwYTg4YmQ5NHAtMSwKLSAgICAweDEuODJhYTM3NWIzYzMzZTcwNjYzNzMxYmFiNGJlYjZlZDNwLTcsCi0gICAgLTB4MS4wcDYzLAotICB9LAotICB7IC8vIEVudHJ5IDgyOQotICAgIDB4MS5lNDU2YjgxOGU3Mzk2YjQ1OTg5OTc4ZDRiN2ViZjdiM3AtMSwKLSAgICAweDEuNGMwNjIyYTZlMzVkZGVmZDVmMmI3NzAwNzE2YTU4MWZwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwNjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODMwCi0gICAgLTB4MS5lNDU2YjgxOGU3Mzk2YjQ1OTg5OTc4ZDRiN2ViZjdiM3AtMSwKLSAgICAweDEuNGMwNjIyYTZlMzVkZGVmZDVmMmI3NzAwNzE2YTU4MWZwLTIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzLAotICB9LAotICB7IC8vIEVudHJ5IDgzMQotICAgIC0weDEuODZkY2NhMGQ2ODllN2I1NmVmNzk0ODFiZTRhNjQ1YzZwLTEsCi0gICAgMHgxLjRhYjY1MGI4YzYwNzM0Mzg1Mzc1ZTIyNjAzZmNkYjEwcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDI2LAotICB9LAotICB7IC8vIEVudHJ5IDgzMgotICAgIDB4MS44NmRjY2EwZDY4OWU3YjU2ZWY3OTQ4MWJlNGE2NDVjNnAtMSwKLSAgICAweDEuNGFiNjUwYjhjNjA3MzQzODUzNzVlMjI2MDNmY2RiMTBwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDI2LAotICB9LAotICB7IC8vIEVudHJ5IDgzMwotICAgIC0weDEuODZkY2M5YmFiYjBhNDBlZTg3NWNhYjNiOWU4OTI3NTdwLTEsCi0gICAgMHgxLjRhYjY1MTFhN2QzOWFkM2NjODhkZWQxZTc3NWNhMTQ3cC0xLAotICAgIDB4MS4wcDI3LAotICB9LAotICB7IC8vIEVudHJ5IDgzNAotICAgIDB4MS44NmRjYzliYWJiMGE0MGVlODc1Y2FiM2I5ZTg5Mjc1N3AtMSwKLSAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCi0gICAgLTB4MS4wcDI3LAotICB9LAotICB7IC8vIEVudHJ5IDgzNQotICAgIC0weDEuODZkY2M5MTU1ZmUxODJkNDUxNTU5OTQyNmJiMTRiOTRwLTEsCi0gICAgMHgxLjRhYjY1MWRkZWI5ZTYxNDM4MzgyZjAyMTY3YWRlNGFmcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI3LAotICB9LAotICB7IC8vIEVudHJ5IDgzNgotICAgIDB4MS44NmRjYzkxNTVmZTE4MmQ0NTE1NTk5NDI2YmIxNGI5NHAtMSwKLSAgICAweDEuNGFiNjUxZGRlYjllNjE0MzgzODJmMDIxNjdhZGU0YWZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI3LAotICB9LAotICB7IC8vIEVudHJ5IDgzNwotICAgIC0weDEuOGYyMmY4NGQ0MmRhMWY1NzQ2OWRmYWFjNDRhOGI3M2FwLTEsCi0gICAgMHgxLjQwYWQ2N2U3NzdiMWRmMDE5NTE4OWY1MGE4YzI2MzQ1cC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDIzLAotICB9LAotICB7IC8vIEVudHJ5IDgzOAotICAgIDB4MS44ZjIyZjg0ZDQyZGExZjU3NDY5ZGZhYWM0NGE4YjczYXAtMSwKLSAgICAweDEuNDBhZDY3ZTc3N2IxZGYwMTk1MTg5ZjUwYThjMjYzNDVwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDIzLAotICB9LAotICB7IC8vIEVudHJ5IDgzOQotICAgIC0weDEuOGYyMmY4NDMzZDZlZGZlOWE0YWZmOTYyMjUxN2NhYTlwLTEsCi0gICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAotICAgIDB4MS4wcDI0LAotICB9LAotICB7IC8vIEVudHJ5IDg0MAotICAgIDB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKLSAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCi0gICAgLTB4MS4wcDI0LAotICB9LAotICB7IC8vIEVudHJ5IDg0MQotICAgIC0weDEuOGYyMmY4MmYzMjk4NWZlMzA2OTljNmUxMmQ5ZGZjZTJwLTEsCi0gICAgMHgxLjQwYWQ2ODBjZTJmOTI0ZDcxNjc2OWQxMDY0YmM4ZGVmcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDI0LAotICB9LAotICB7IC8vIEVudHJ5IDg0MgotICAgIDB4MS44ZjIyZjgyZjMyOTg1ZmUzMDY5OWM2ZTEyZDlkZmNlMnAtMSwKLSAgICAweDEuNDBhZDY4MGNlMmY5MjRkNzE2NzY5ZDEwNjRiYzhkZWZwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI0LAotICB9LAotICB7IC8vIEVudHJ5IDg0MwotICAgIC0weDEuODM3YjlkZGRjMWVhYmQzNzlkNzI5ZjU3NWZjMTE0NGNwLTEsCi0gICAgLTB4MS40ZWFhNjA2ZGIyNGMzY2I1ZTE1ZDdiMTlkNWVlNzNhMXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAxLAotICB9LAotICB7IC8vIEVudHJ5IDg0NAotICAgIDB4MS44MzdiOWRkZGMxZWFiZDM3OWQ3MjlmNTc1ZmMxMTQ0Y3AtMSwKLSAgICAtMHgxLjRlYWE2MDZkYjI0YzNjYjVlMTVkN2IxOWQ1ZWU3M2ExcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxLAotICB9LAotICB7IC8vIEVudHJ5IDg0NQotICAgIC0weDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCi0gICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKLSAgICAweDEuMHAyLAotICB9LAotICB7IC8vIEVudHJ5IDg0NgotICAgIDB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKLSAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAotICAgIC0weDEuMHAyLAotICB9LAotICB7IC8vIEVudHJ5IDg0NwotICAgIC0weDEuODM3YjlkZGRjMWViM2FiNzgxOWJjMjMzZGI0Njk3YjVwLTEsCi0gICAgLTB4MS40ZWFhNjA2ZGIyNGJhYjY3ODYyYTUyNjFiNzcxOWRjZnAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAyLAotICB9LAotICB7IC8vIEVudHJ5IDg0OAotICAgIDB4MS44MzdiOWRkZGMxZWIzYWI3ODE5YmMyMzNkYjQ2OTdiNXAtMSwKLSAgICAtMHgxLjRlYWE2MDZkYjI0YmFiNjc4NjJhNTI2MWI3NzE5ZGNmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyLAotICB9LAotICB7IC8vIEVudHJ5IDg0OQotICAgIDB4MS5kMThmNmVhZDFiNDQ2YjRiY2I3M2MyMzkwYjMzMGQ3NXAtMSwKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDEwMTE0NTIzMDk1MmU2MWM2ZjJjcC0yLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODUwCi0gICAgLTB4MS5kMThmNmVhZDFiNDQ2YjRiY2I3M2MyMzkwYjMzMGQ3NXAtMSwKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDEwMTE0NTIzMDk1MmU2MWM2ZjJjcC0yLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwLAotICB9LAotICB7IC8vIEVudHJ5IDg1MQotICAgIDB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAotICAgIDB4MS4wcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODUyCi0gICAgLTB4MS5kMThmNmVhZDFiNDQ1ZGZhYjg0ODE4ODAwOWM5YmI5NXAtMSwKLSAgICAtMHgxLmFhMjI2NTc1MzcyMDRhNDMzMmY4YWNiYjcyYjBkNzY4cC0yLAotICAgIC0weDEuMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIDB4MS5kMThmNmVhZDFiNDQ0MzU4OTFmMGM1MGUwMTgyNjk4OHAtMSwKLSAgICAtMHgxLmFhMjI2NTc1MzcyMGJlYTcwZWEzZjM4Yzg2ZGI0MGFmcC0yLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODU0Ci0gICAgLTB4MS5kMThmNmVhZDFiNDQ0MzU4OTFmMGM1MGUwMTgyNjk4OHAtMSwKLSAgICAtMHgxLmFhMjI2NTc1MzcyMGJlYTcwZWEzZjM4Yzg2ZGI0MGFmcC0yLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxLAotICB9LAotICB7IC8vIEVudHJ5IDg1NQotICAgIDB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKLSAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODU2Ci0gICAgLTB4MS5hZWQ1NDhmMDkwY2VkNzljNzljYmY3OTA0NDFmODE5N3AtMSwKLSAgICAweDEuMTRhMjgwZmI1MDY4YzY5YTJlZDQ1ZmI1NDdjMmYyNzFwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDg1NwotICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKLSAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCi0gICAgMHgxLjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTgKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKLSAgICAtMHgxLjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTkKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODYwCi0gICAgLTB4MS5hZWQ1NDhmMDkwY2VmMThiYjVlMzg3MWExNGQ5NDYwOXAtMSwKLSAgICAweDEuMTRhMjgwZmI1MDY4OWUzNjJmZmRkMjIxZTI1NTEwMzVwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODYxCi0gICAgMHgxLmVhZWU4NzQ0YjA1ZWYwN2NkMGI5MDg5MTMwNTk4MzE0cC0yLAotICAgIDB4MS5jMTUyODA2NWI3ZDRmZGIxNThjOWM0YTZiM2U0Yjc0MHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjIKLSAgICAtMHgxLmVhZWU4NzQ0YjA1ZWYwN2NkMGI5MDg5MTMwNTk4MzE0cC0yLAotICAgIDB4MS5jMTUyODA2NWI3ZDRmZGIxNThjOWM0YTZiM2U0Yjc0MHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODYzCi0gICAgMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAotICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKLSAgICAweDEuMHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjQKLSAgICAtMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAotICAgIDB4MS5jMTUyODA2NWI3ZDRmOWRiN2JiYjNiNDVmNWY1YjMwYXAtMSwKLSAgICAtMHgxLjBwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODY1Ci0gICAgMHgxLmVhZWU4NzQ0YjA1ZjFhOWM4Y2MyOTFjZDI3OTgxMDUxcC0yLAotICAgIDB4MS5jMTUyODA2NWI3ZDRmMjJmYzE5ZTI4ODQ3OWMzNmIyN3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjYKLSAgICAtMHgxLmVhZWU4NzQ0YjA1ZjFhOWM4Y2MyOTFjZDI3OTgxMDUxcC0yLAotICAgIDB4MS5jMTUyODA2NWI3ZDRmMjJmYzE5ZTI4ODQ3OWMzNmIyN3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODY3Ci0gICAgMHgxLmZhYWVlZDRmMzE1NzVjMjdmMzljMWQ3YzAxMmE0NDEzcC0zLAotICAgIDB4MS5mMDE1NDlmN2RlZWExODRjNWYxZDIxMGI2YWRiZTU2Y3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjgKLSAgICAtMHgxLmZhYWVlZDRmMzE1NzVjMjdmMzljMWQ3YzAxMmE0NDEzcC0zLAotICAgIDB4MS5mMDE1NDlmN2RlZWExODRjNWYxZDIxMGI2YWRiZTU2Y3AtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODY5Ci0gICAgMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAotICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKLSAgICAweDEuMHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzAKLSAgICAtMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAotICAgIDB4MS5mMDE1NDlmN2RlZWExNzRmMDdhNjc5NzJiZjI5ZjE0OHAtMSwKLSAgICAtMHgxLjBwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODcxCi0gICAgMHgxLmZhYWVlZDRmMzE1NzhhYTlmMjhiNWE2MWYzNGRjY2IxcC0zLAotICAgIDB4MS5mMDE1NDlmN2RlZWExNTU0NThiOTJhNDE2N2FlYzdmZnAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzIKLSAgICAtMHgxLmZhYWVlZDRmMzE1NzhhYTlmMjhiNWE2MWYzNGRjY2IxcC0zLAotICAgIDB4MS5mMDE1NDlmN2RlZWExNTU0NThiOTJhNDE2N2FlYzdmZnAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODczCi0gICAgMHgxLmZlYWFlZWU4NmVlMzRjYzA1ZWZmMjg3NDBlZTdiNDY5cC00LAotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNzFhMTIzMjAyNDljYTRkYWZkN3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzQKLSAgICAtMHgxLmZlYWFlZWU4NmVlMzRjYzA1ZWZmMjg3NDBlZTdiNDY5cC00LAotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNzFhMTIzMjAyNDljYTRkYWZkN3AtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODc1Ci0gICAgMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKLSAgICAweDEuMHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzYKLSAgICAtMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNmRhM2NkNDI1M2JlZGUzMTljYXAtMSwKLSAgICAtMHgxLjBwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODc3Ci0gICAgMHgxLmZlYWFlZWU4NmVlMzdjNjA3ZWZhZTQ3ZGNjMDkyYzFjcC00LAotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNjVhOTIxODZiMjAzNTA3ZjlhZHAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzgKLSAgICAtMHgxLmZlYWFlZWU4NmVlMzdjNjA3ZWZhZTQ3ZGNjMDkyYzFjcC00LAotICAgIDB4MS5mYzAxNTUyN2Q1YmQzNjVhOTIxODZiMjAzNTA3ZjlhZHAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODc5Ci0gICAgMHgxLmZmYWFhZWVlZDRlZDliNTNhNDA4YzBmMmJjMDJjOGY5cC01LAotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGRhMGI3NDVkYzc0MzMxNDVlZnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODAKLSAgICAtMHgxLmZmYWFhZWVlZDRlZDliNTNhNDA4YzBmMmJjMDJjOGY5cC01LAotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGRhMGI3NDVkYzc0MzMxNDVlZnAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODgxCi0gICAgMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKLSAgICAweDEuMHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODIKLSAgICAtMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGNhMGUxZWU2NTA5YmM0MmI3MXAtMSwKLSAgICAtMHgxLjBwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODgzCi0gICAgMHgxLmZmYWFhZWVlZDRlZGNiM2JhNjA4YWZlMWY4ZjRmYTZicC01LAotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGFhMTM3M2Y3NjM0Y2U4NzczN3AtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODQKLSAgICAtMHgxLmZmYWFhZWVlZDRlZGNiM2JhNjA4YWZlMWY4ZjRmYTZicC01LAotICAgIDB4MS5mZjAwMTU1NDlmNGQzNGFhMTM3M2Y3NjM0Y2U4NzczN3AtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODg1Ci0gICAgMHgxLmZmZWFhYWVlZWU4NmQ4Y2NmZTM2OGNkOTVlMzhmMDAzcC02LAotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjE2YWViMDlmYjcwNjM2YTEwYXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODYKLSAgICAtMHgxLmZmZWFhYWVlZWU4NmQ4Y2NmZTM2OGNkOTVlMzhmMDAzcC02LAotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjE2YWViMDlmYjcwNjM2YTEwYXAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODg3Ci0gICAgMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKLSAgICAweDEuMHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODgKLSAgICAtMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjEyYWVkYjQ5ZDkyOTI4ZGY3MnAtMSwKLSAgICAtMHgxLjBwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODg5Ci0gICAgMHgxLmZmZWFhYWVlZWU4NzA4YzZmZTU2OGM5NTFhNDI4MDY5cC02LAotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjBhYWYzMDllMWQ2ZjBjZmM0ZXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTAKLSAgICAtMHgxLmZmZWFhYWVlZWU4NzA4YzZmZTU2OGM5NTFhNDI4MDY5cC02LAotICAgIDB4MS5mZmMwMDE1NTUyN2QyYjBhYWYzMDllMWQ2ZjBjZmM0ZXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODkxCi0gICAgMHgxLmZmZmFhYWFlZWVlZDNlZDVjOWM1YWI2NTM4ZjljY2UwcC03LAotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEzOGEyNTYzZWYzNDRjM2ZmNHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTIKLSAgICAtMHgxLmZmZmFhYWFlZWVlZDNlZDVjOWM1YWI2NTM4ZjljY2UwcC03LAotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEzOGEyNTYzZWYzNDRjM2ZmNHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODkzCi0gICAgMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKLSAgICAweDEuMHAtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTQKLSAgICAtMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEyOGEyODBlOTdiY2Q1OWM4YXAtMSwKLSAgICAtMHgxLjBwLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODk1Ci0gICAgMHgxLmZmZmFhYWFlZWVlZDZlZDQ0OWM3YWI2NDI3ZThmZGQ0cC03LAotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEwOGEyZDYzZThjZGU4M2RiNXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTYKLSAgICAtMHgxLmZmZmFhYWFlZWVlZDZlZDQ0OWM3YWI2NDI3ZThmZGQ0cC03LAotICAgIDB4MS5mZmYwMDAxNTU1NDlmNGEwOGEyZDYzZThjZGU4M2RiNXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODk3Ci0gICAgMHgxLmZmZmZmZmZhYWFhYTlhYWVlZWVmNmVlZDRlZDQ0MmE0cC0xNSwKLSAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTY1NTQ5ZjQ5YzlmNGRwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTE1LAotICB9LAotICB7IC8vIEVudHJ5IDg5OAotICAgIC0weDEuZmZmZmZmZmFhYWFhOWFhZWVlZWY2ZWVkNGVkNDQyYTRwLTE1LAotICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1NjU1NDlmNDljOWY0ZHAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTE1LAotICB9LAotICB7IC8vIEVudHJ5IDg5OQotICAgIDB4MS5mZmZmZmZmYWFhYWFhYWFlZWVlZWVlZWQ0ZWQ0ZWQ0ZnAtMTUsCi0gICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU1NTU0OWY0OWY0OWY3cC0xLAotICAgIDB4MS4wcC0xNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDAKLSAgICAtMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKLSAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCi0gICAgLTB4MS4wcC0xNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDEKLSAgICAweDEuZmZmZmZmZmFhYWFhY2FhZWVlZWRlZWVkNGVkNjQyYTRwLTE1LAotICAgIDB4MS5mZmZmZmZmMDAwMDAwMDE1NTU1MzU1NDlmNGE0OWY0ZHAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAyCi0gICAgLTB4MS5mZmZmZmZmYWFhYWFjYWFlZWVlZGVlZWQ0ZWQ2NDJhNHAtMTUsCi0gICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTUzNTU0OWY0YTQ5ZjRkcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAzCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVlYWFhYWFhYWFhYWFhY2FlZWVlcC0yOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDA0MTU1NTVwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTI4LAotICB9LAotICB7IC8vIEVudHJ5IDkwNAotICAgIC0weDEuZmZmZmZmZmZmZmZmZWVhYWFhYWFhYWFhYWFjYWVlZWVwLTI4LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwMDAwMDAwMDQxNTU1NXAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTI4LAotICB9LAotICB7IC8vIEVudHJ5IDkwNQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFhZWVlZXAtMjgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDE1NTU1cC0xLAotICAgIDB4MS4wcC0yNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCi0gICAgLTB4MS4wcC0yNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDcKLSAgICAweDEuMDAwMDAwMDAwMDAwMGY1NTU1NTU1NTU1NTUzNTc3NzdwLTI3LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZjgxNTU1NXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA4Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAwZjU1NTU1NTU1NTU1NTM1Nzc3N3AtMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZiZmZmZmZmZmZmZmZmODE1NTU1cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmVmZmFhYWFhYWFhYWFhYWIyYWFlcC0zMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMTAwMTVwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTMxLAotICB9LAotICB7IC8vIEVudHJ5IDkxMAotICAgIC0weDEuZmZmZmZmZmZmZmZmZWZmYWFhYWFhYWFhYWFhYjJhYWVwLTMxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDAwMDAwMDAxMDAxNXAtMSwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTMxLAotICB9LAotICB7IC8vIEVudHJ5IDkxMQotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFhZXAtMzEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDE1cC0xLAotICAgIDB4MS4wcC0zMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTIKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCi0gICAgLTB4MS4wcC0zMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTMKLSAgICAweDEuMDAwMDAwMDAwMDAwMGZmZDU1NTU1NTU1NTU1NGQ1NTdwLTMwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZlMDAxNXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMzAsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE0Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAwZmZkNTU1NTU1NTU1NTU0ZDU1N3AtMzAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZWZmZmZmZmZmZmZmZmUwMDE1cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMzAsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE1Ci0gICAgLTB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKLSAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDkxNgotICAgIDB4MS40NTJmYzk4YjM0ZTk2YjYxMTM5YjA5YTdjODRhNDRiZHAtOCwKLSAgICAtMHgxLmZmZmU2MmVjZmFiNzUzYzA3MWIyNjgwZTFlMjZiYmNlcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE3Ci0gICAgMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTgKLSAgICAtMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE5Ci0gICAgMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjAKLSAgICAtMHgxLjQ1MmZjOThiMzRlOTZiNjExMzliMDlhN2M4NGE0NGJkcC04LAotICAgIC0weDEuZmZmZTYyZWNmYWI3NTNjMDcxYjI2ODBlMWUyNmJiY2VwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTIxCi0gICAgMHgxLmRhYTM2NzdjNmVlOGEyMmViNmM0YjEyY2ExMGNlMDIxcC0xLAotICAgIDB4MS43ZmZkZmI0YzUzMDhmNzc3Y2Y3NzRjNzMzYjI1NjY5NXAtMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAxMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDkyMgotICAgIC0weDEuZGFhMzY3N2M2ZWU4YTIyZWI2YzRiMTJjYTEwY2UwMjFwLTEsCi0gICAgMHgxLjdmZmRmYjRjNTMwOGY3NzdjZjc3NGM3MzNiMjU2Njk1cC0yLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAxMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDkyMwotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDM2ZTJlZHAtNTMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIyMjBjNXAtMSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDkyNAotICAgIC0weDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQzNmUyZWRwLTUzLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiMjIwYzVwLTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWM4ODMxcC0xLAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDQxOWZhOHAtNTQsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI3Ci0gICAgMHgxLmFlZDU0OGYwOTBjZWYxOGJiNWUzODcxYTE0ZDk0NjA5cC0xLAotICAgIDB4MS4xNGEyODBmYjUwNjg5ZTM2MmZmZGQyMjFlMjU1MTAzNXAtMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAwLAotICB9LAotICB7IC8vIEVudHJ5IDkyOAotICAgIC0weDEuYWVkNTQ4ZjA5MGNlZjE4YmI1ZTM4NzFhMTRkOTQ2MDlwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA2ODllMzYyZmZkZDIyMWUyNTUxMDM1cC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAwLAotICB9LAotICB7IC8vIEVudHJ5IDkyOQotICAgIDB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKLSAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCi0gICAgMHgxLjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzAKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKLSAgICAtMHgxLjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzEKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZDc5Yzc5Y2JmNzkwNDQxZjgxOTdwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA2OGM2OWEyZWQ0NWZiNTQ3YzJmMjcxcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDkzMgotICAgIC0weDEuYWVkNTQ4ZjA5MGNlZDc5Yzc5Y2JmNzkwNDQxZjgxOTdwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA2OGM2OWEyZWQ0NWZiNTQ3YzJmMjcxcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzMKLSAgICAweDEuNmEwOWU2NjdmM2JjYzVlOWZlZTM1MmY1MGZkM2Y0ZTlwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NjMjc2NzEyZDNkOGM1NTAyMzg3cC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDkzNAotICAgIC0weDEuNmEwOWU2NjdmM2JjYzVlOWZlZTM1MmY1MGZkM2Y0ZTlwLTEsCi0gICAgMHgxLjZhMDllNjY3ZjNiY2NjMjc2NzEyZDNkOGM1NTAyMzg3cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAweDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyLAotICB9LAotICB7IC8vIEVudHJ5IDkzNgotICAgIC0weDEuMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDIyLAotICB9LAotICB7IC8vIEVudHJ5IDkzOAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTAyMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzkKLSAgICAweDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDk0MAotICAgIC0weDEuZmZmZmZmZmZmZmZmZGZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDEKLSAgICAweDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZjcC0xMDIzLAotICB9LAotICB7IC8vIEVudHJ5IDk0MgotICAgIC0weDEuZmZmZmZmZmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmY3AtMTAyMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDczLAotICB9LAotICB7IC8vIEVudHJ5IDk0NAotICAgIC0weDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEwNzQsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTA3MywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDUKLSAgICAwLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wcC0xMDc0LAotICB9LAotICB7IC8vIEVudHJ5IDk0NgotICAgIC0wLjAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMHAtMTA3NCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDcKLSAgICAwLjAsCi0gICAgMHgxLnAwLAotICAgIDAuMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDgKLSAgICAtMC4wLAotICAgIDB4MS5wMCwKLSAgICAtMC4wLAotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF9zaW5jb3MsIHNpbmNvc19pbnRlbCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplb2YoZ19zaW5jb3NfaW50ZWxfZGF0YSkvc2l6ZW9mKHNpbmNvc19pbnRlbF9kYXRhX3QpOyBpKyspIHsKLSAgIGRvdWJsZSBkc2luLCBkY29zOwotICAgc2luY29zKGdfc2luY29zX2ludGVsX2RhdGFbaV0uY2FsbF9kYXRhLCAmZHNpbiwgJmRjb3MpOwotICAgRVhQRUNUX0RPVUJMRV9FUShnX3NpbmNvc19pbnRlbF9kYXRhW2ldLnNpbl9leHBlY3RlZCwgZHNpbikgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKLSAgIEVYUEVDVF9ET1VCTEVfRVEoZ19zaW5jb3NfaW50ZWxfZGF0YVtpXS5jb3NfZXhwZWN0ZWQsIGRjb3MpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfc2luY29zZl90ZXN0LmNwcCBiL3Rlc3RzL21hdGhfc2luY29zZl90ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFhMzJjOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9tYXRoX3NpbmNvc2ZfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NjU4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZmxvYXQgc2luX2V4cGVjdGVkOwotICBmbG9hdCBjb3NfZXhwZWN0ZWQ7Ci0gIGZsb2F0IGNhbGxfZGF0YTsKLX0gc2luY29zZl9pbnRlbF9kYXRhX3Q7Ci0KLXN0YXRpYyBzaW5jb3NmX2ludGVsX2RhdGFfdCBnX3NpbmNvc2ZfaW50ZWxfZGF0YVtdID0gewotICB7IC8vIEVudHJ5IDAKLSAgICAtMHgxLmI2YTdhYmZmYWY1OWE1YWMxODFlM2UxYWJmOTYxNjk4cC0xLAotICAgIDB4MS4wODBlNzRjMTE2ODYzY2ZhYjgyYTBmZDU5YzcxYjM2M3AtMSwKLSAgICAtMHgxLjA3NjhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxCi0gICAgMHgxLmI2YTdhYmZmYWY1OWE1YWMxODFlM2UxYWJmOTYxNjk4cC0xLAotICAgIDB4MS4wODBlNzRjMTE2ODYzY2ZhYjgyYTBmZDU5YzcxYjM2M3AtMSwKLSAgICAweDEuMDc2OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDIKLSAgICAweDEuNzYyZGE2NjQ4ZmRlMDBlMzk4NDYyZTcxNjMwOTRkNTJwLTIsCi0gICAgMHgxLmRjOTgwMmZmZmZmZmUwY2JmYzU3ZWYyODdkM2M4M2FmcC0xLAotICAgIC0weDEuOGYyMTljcDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgMwotICAgIC0weDEuNzYyZGE2NjQ4ZmRlMDBlMzk4NDYyZTcxNjMwOTRkNTJwLTIsCi0gICAgMHgxLmRjOTgwMmZmZmZmZmUwY2JmYzU3ZWYyODdkM2M4M2FmcC0xLAotICAgIDB4MS44ZjIxOWNwNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgLTB4MS40OTNiNmE3ZDNmNWI3YmY2NmZhMzJhMDE1MTVkNmM0M3AtMSwKLSAgICAtMHgxLjg4MWMyNmZkMjVkMGJmNmQ2ZWEzODcwOGEwOTc2YjM1cC0xLAotICAgIC0weDEuZDNhNTFhcDgwLAotICB9LAotICB7IC8vIEVudHJ5IDUKLSAgICAweDEuNDkzYjZhN2QzZjViN2JmNjZmYTMyYTAxNTE1ZDZjNDNwLTEsCi0gICAgLTB4MS44ODFjMjZmZDI1ZDBiZjZkNmVhMzg3MDhhMDk3NmIzNXAtMSwKLSAgICAweDEuZDNhNTFhcDgwLAotICB9LAotICB7IC8vIEVudHJ5IDYKLSAgICAtMHgxLmUwZDFkYzAwNmU4NTgzNWIwMzk0YWJlOTdkZTc3ZmJjcC00LAotICAgIDB4MS5mYzc1Y2E2MzEzZWY3NjYwMTJkYjNjYTk5YTFhNTJkMXAtMSwKLSAgICAtMHgxLmUxZWU1MnAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3Ci0gICAgMHgxLmUwZDFkYzAwNmU4NTgzNWIwMzk0YWJlOTdkZTc3ZmJjcC00LAotICAgIDB4MS5mYzc1Y2E2MzEzZWY3NjYwMTJkYjNjYTk5YTFhNTJkMXAtMSwKLSAgICAweDEuZTFlZTUycC00LAotICB9LAotICB7IC8vIEVudHJ5IDgKLSAgICAtMHgxLjJiNmE5Y2EzZGY2MjJlZmUyYWEzMTU0YTYzNTJiYzcwcC0xLAotICAgIC0weDEuOWY1MmRlZjU1ZDg5ZTkyZTdkZjIwZWMyMTE2MWRlYjhwLTEsCi0gICAgLTB4MS5mM2ZmZTJwMjQsCi0gIH0sCi0gIHsgLy8gRW50cnkgOQotICAgIDB4MS4yYjZhOWNhM2RmNjIyZWZlMmFhMzE1NGE2MzUyYmM3MHAtMSwKLSAgICAtMHgxLjlmNTJkZWY1NWQ4OWU5MmU3ZGYyMGVjMjExNjFkZWI4cC0xLAotICAgIDB4MS5mM2ZmZTJwMjQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAKLSAgICAweDEuYTM0MjJhZjEzYjJjZmI3OGQwY2M0NThkOWFjNmJkZTlwLTEsCi0gICAgLTB4MS4yNWUxYWExZDkzODNjMWYyNzAyN2NmNjliNjk0NzdmZHAtMSwKLSAgICAtMHgxLmZmMjExZXAyNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMQotICAgIC0weDEuYTM0MjJhZjEzYjJjZmI3OGQwY2M0NThkOWFjNmJkZTlwLTEsCi0gICAgLTB4MS4yNWUxYWExZDkzODNjMWYyNzAyN2NmNjliNjk0NzdmZHAtMSwKLSAgICAweDEuZmYyMTFlcDI0LAotICB9LAotICB7IC8vIEVudHJ5IDEyCi0gICAgMHgxLmZmZmZmZmFhYWFhYWFlZWVlZWVlZDRlZDRlZDU0OWM2cC0xMywKLSAgICAweDEuZmZmZmZmMDAwMDAwMTU1NTU1NTQ5ZjQ5ZjRhMjhhMjhwLTEsCi0gICAgMHgxLnAtMTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMKLSAgICAtMHgxLmZmZmZmZmFhYWFhYWFlZWVlZWVlZDRlZDRlZDU0OWM2cC0xMywKLSAgICAweDEuZmZmZmZmMDAwMDAwMTU1NTU1NTQ5ZjQ5ZjRhMjhhMjhwLTEsCi0gICAgLTB4MS5wLTEyLAotICB9LAotICB7IC8vIEVudHJ5IDE0Ci0gICAgMHgxLjAwMDAwMWQ1NTU1NDU3Nzc3NThjYmZjYWZjMDllZjdlcC0xMiwKLSAgICAweDEuZmZmZmZlZmZmZmZjMTU1NTUxZmY0OWY2OTZjNGFlY2FwLTEsCi0gICAgMHgxLjAwMDAwMnAtMTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUKLSAgICAtMHgxLjAwMDAwMWQ1NTU1NDU3Nzc3NThjYmZjYWZjMDllZjdlcC0xMiwKLSAgICAweDEuZmZmZmZlZmZmZmZjMTU1NTUxZmY0OWY2OTZjNGFlY2FwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTEyLAotICB9LAotICB7IC8vIEVudHJ5IDE2Ci0gICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZkNTU1NTQ1NTU1NTM1NTU1cC0zMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZWZmZmZmYmZmZmZmY3AtMSwKLSAgICAweDEuMDAwMDAycC0zMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNwotICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmQ1NTU1NDU1NTU1MzU1NTVwLTMyLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZlZmZmZmZiZmZmZmZjcC0xLAotICAgIC0weDEuMDAwMDAycC0zMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIDB4MS5lYWYwZDUwMDhmMmRiODk5ZTI0ODdkYTlkM2I5Y2RlN3AtMiwKLSAgICAweDEuYzE1MWRmNGYxMmIxOTdhNjY1YTI5MDdlNDkzM2ExZWZwLTEsCi0gICAgMHgxLjAwMDE1MHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIC0weDEuZWFmMGQ1MDA4ZjJkYjg5OWUyNDg3ZGE5ZDNiOWNkZTdwLTIsCi0gICAgMHgxLmMxNTFkZjRmMTJiMTk3YTY2NWEyOTA3ZTQ5MzNhMWVmcC0xLAotICAgIC0weDEuMDAwMTUwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLmVhZjc3ZWZmZjY1OTAyMWJjODI3YmJkNTY5NmFkMTllcC0yLAotICAgIDB4MS5jMTUwMGQ0OTRlZDJjYzUwMDJjMjdjYzVjYTNkOTZmOHAtMSwKLSAgICAweDEuMDAwNTFjcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgLTB4MS5lYWY3N2VmZmY2NTkwMjFiYzgyN2JiZDU2OTZhZDE5ZXAtMiwKLSAgICAweDEuYzE1MDBkNDk0ZWQyY2M1MDAyYzI3Y2M1Y2EzZDk2ZjhwLTEsCi0gICAgLTB4MS4wMDA1MWNwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIKLSAgICAtMHgxLjVhYTUzYzFjMTMxN2YzMGI0YzEwODcyMmUyYjY0NjEycC0xLAotICAgIDB4MS43OGNkYjZmZmE2YmZmODk5ZTE3MjNlZDAxMzljNDhjYnAtMSwKLSAgICAweDEuMDAwZmRlcDgwLAotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgMHgxLjVhYTUzYzFjMTMxN2YzMGI0YzEwODcyMmUyYjY0NjEycC0xLAotICAgIDB4MS43OGNkYjZmZmE2YmZmODk5ZTE3MjNlZDAxMzljNDhjYnAtMSwKLSAgICAtMHgxLjAwMGZkZXA4MCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIDB4MS5hZWYzODgyMmU2NDMxMTQ0NTU0NTk4MGZiYzViNTZmYXAtMSwKLSAgICAweDEuMTQ3MzVmZmZkNTUxMjBhNDQ4MGI3YzkxYTFkNzhkNmVwLTEsCi0gICAgMHgxLjAwMWNwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNQotICAgIC0weDEuYWVmMzg4MjJlNjQzMTE0NDU1NDU5ODBmYmM1YjU2ZmFwLTEsCi0gICAgMHgxLjE0NzM1ZmZmZDU1MTIwYTQ0ODBiN2M5MWExZDc4ZDZlcC0xLAotICAgIC0weDEuMDAxY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgLTB4MS43ZTEyYWVlMGM4NjJiMTcwOWJkNTAyMDViYmEzMjE2N3AtMSwKLSAgICAtMHgxLjU0ZDQyOTAwMTBhNjg4MjZhODgyZTdjODdkNjY5NGQycC0xLAotICAgIDB4MS4wMDI3YjhwNDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcKLSAgICAweDEuN2UxMmFlZTBjODYyYjE3MDliZDUwMjA1YmJhMzIxNjdwLTEsCi0gICAgLTB4MS41NGQ0MjkwMDEwYTY4ODI2YTg4MmU3Yzg3ZDY2OTRkMnAtMSwKLSAgICAtMHgxLjAwMjdiOHA0MCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOAotICAgIC0weDEuYmQ2OTQ0ZWY0ZGQxYjQzOTYyZTJkMzQ4MDQxMGZkODdwLTEsCi0gICAgMHgxLmY4ZmM4ZWZmZjY3ZDgzNGY2ODc4YWI0ZTQ0ZmE4OWI1cC0yLAotICAgIDB4MS4wMDQ4NDBwNjgsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkKLSAgICAweDEuYmQ2OTQ0ZWY0ZGQxYjQzOTYyZTJkMzQ4MDQxMGZkODdwLTEsCi0gICAgMHgxLmY4ZmM4ZWZmZjY3ZDgzNGY2ODc4YWI0ZTQ0ZmE4OWI1cC0yLAotICAgIC0weDEuMDA0ODQwcDY4LAotICB9LAotICB7IC8vIEVudHJ5IDMwCi0gICAgMHgxLmY0ZTIzZTAwMTY1YTQ5MDdhNjU2YTdjZjUzMmJiZGU0cC0yLAotICAgIDB4MS5iZTkxNjAxZTQ3YmVkNmQ0NWU4MzcyNjg3YjM3M2MwY3AtMSwKLSAgICAweDEuMDViMHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMQotICAgIC0weDEuZjRlMjNlMDAxNjVhNDkwN2E2NTZhN2NmNTMyYmJkZTRwLTIsCi0gICAgMHgxLmJlOTE2MDFlNDdiZWQ2ZDQ1ZTgzNzI2ODdiMzczYzBjcC0xLAotICAgIC0weDEuMDViMHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIDB4MS5iNmE3YWJmZmFmNTlhNWFjMTgxZTNlMWFiZjk2MTY5OHAtMSwKLSAgICAweDEuMDgwZTc0YzExNjg2M2NmYWI4MmEwZmQ1OWM3MWIzNjNwLTEsCi0gICAgMHgxLjA3NjhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMwotICAgIC0weDEuYjZhN2FiZmZhZjU5YTVhYzE4MWUzZTFhYmY5NjE2OThwLTEsCi0gICAgMHgxLjA4MGU3NGMxMTY4NjNjZmFiODJhMGZkNTljNzFiMzYzcC0xLAotICAgIC0weDEuMDc2OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDM0Ci0gICAgMHgxLmJjYjhhYWZmZmZmZDY5ZDI4NjVhYWYzZjRjNTA3NGU4cC0xLAotICAgIDB4MS5mYjY5YTZkYzUxM2JjYmE1OWQ1ZGM2OGQzZDU5YTA1Y3AtMiwKLSAgICAweDEuMGQ2N2E0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUKLSAgICAtMHgxLmJjYjhhYWZmZmZmZDY5ZDI4NjVhYWYzZjRjNTA3NGU4cC0xLAotICAgIDB4MS5mYjY5YTZkYzUxM2JjYmE1OWQ1ZGM2OGQzZDU5YTA1Y3AtMiwKLSAgICAtMHgxLjBkNjdhNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLmJmNjgzY2ZmZmZlYzZlODY3MmE0OWYwOGFhZTQ5YzQ2cC0xLAotICAgIDB4MS5mMWUwZjY1M2Q2OTU5NzdjY2QyNDBmZjZiOTI5NzM5M3AtMiwKLSAgICAweDEuMTAyNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDM3Ci0gICAgLTB4MS5iZjY4M2NmZmZmZWM2ZTg2NzJhNDlmMDhhYWU0OWM0NnAtMSwKLSAgICAweDEuZjFlMGY2NTNkNjk1OTc3Y2NkMjQwZmY2YjkyOTczOTNwLTIsCi0gICAgLTB4MS4xMDI0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgKLSAgICAweDEuOGIxZThlMWMxNmE4ZDk3MGE3OGEyMzkxZWVhNjU3NWNwLTEsCi0gICAgLTB4MS40NTlkNDUwMDAwMDA5MmI0YjgzMDdjNjUyZWU2MzlhN3AtMSwKLSAgICAweDEuMjE0OTdlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAtMHgxLjhiMWU4ZTFjMTZhOGQ5NzBhNzhhMjM5MWVlYTY1NzVjcC0xLAotICAgIC0weDEuNDU5ZDQ1MDAwMDAwOTJiNGI4MzA3YzY1MmVlNjM5YTdwLTEsCi0gICAgLTB4MS4yMTQ5N2VwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MAotICAgIDB4MS42OTkxZTBmZmU3ZjljOWIzZWY3YjMwMTdkMjM2MzlmYXAtMSwKLSAgICAtMHgxLjZhODFjNDEzM2RiNzNlMjc2Yzg5ZTcyNGM2ZmU5NzVicC0xLAotICAgIDB4MS4yZGMyMzBwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MQotICAgIC0weDEuNjk5MWUwZmZlN2Y5YzliM2VmN2IzMDE3ZDIzNjM5ZmFwLTEsCi0gICAgLTB4MS42YTgxYzQxMzNkYjczZTI3NmM4OWU3MjRjNmZlOTc1YnAtMSwKLSAgICAtMHgxLjJkYzIzMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQyCi0gICAgMHgxLjQxZjZiZDAwMDBkMTNiYTJiZDdhNjNiZjZkOTUwODY1cC0xLAotICAgIC0weDEuOGUxOTdmZTRmYWM5OTAxZGMwN2EyODc4YmFmMTVjN2FwLTEsCi0gICAgMHgxLjM0NDI0OHAxOCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MwotICAgIC0weDEuNDFmNmJkMDAwMGQxM2JhMmJkN2E2M2JmNmQ5NTA4NjVwLTEsCi0gICAgLTB4MS44ZTE5N2ZlNGZhYzk5MDFkYzA3YTI4NzhiYWYxNWM3YXAtMSwKLSAgICAtMHgxLjM0NDI0OHAxOCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NAotICAgIDB4MS4zN2Y4ZGVmZmZmZmY2MWNhMTVjMzY2YjNhZGQ4ZjM3M3AtMSwKLSAgICAtMHgxLjk1ZmEyMGQyMzBmZGY5ZThjY2NjNTkyMWU2MWYwM2FkcC0xLAotICAgIDB4MS4zZTQycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUKLSAgICAtMHgxLjM3ZjhkZWZmZmZmZjYxY2ExNWMzNjZiM2FkZDhmMzczcC0xLAotICAgIC0weDEuOTVmYTIwZDIzMGZkZjllOGNjY2M1OTIxZTYxZjAzYWRwLTEsCi0gICAgLTB4MS4zZTQycDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuMmVkN2NlNTE4ZjQ2NjBjY2U0OTU1Njg1Njc4NDk3MGNwLTEsCi0gICAgMHgxLjljZDRmMzAwMDAwMjI2NGFmMmIzMmViZTVkODI0M2MwcC0xLAotICAgIDB4MS40NDBjM2FwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcKLSAgICAtMHgxLjJlZDdjZTUxOGY0NjYwY2NlNDk1NTY4NTY3ODQ5NzBjcC0xLAotICAgIDB4MS45Y2Q0ZjMwMDAwMDIyNjRhZjJiMzJlYmU1ZDgyNDNjMHAtMSwKLSAgICAtMHgxLjQ0MGMzYXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OAotICAgIDB4MS40NzVmYzkzNzc1MGJkZjJmNzA0MTc3NjEyZDMxZGMxZnAtMSwKLSAgICAweDEuODlhOTk5MDAwMDEyYzA0N2U0YjI0MTgxZDYxNTg2NDBwLTEsCi0gICAgMHgxLjYzMmY2YXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OQotICAgIC0weDEuNDc1ZmM5Mzc3NTBiZGYyZjcwNDE3NzYxMmQzMWRjMWZwLTEsCi0gICAgMHgxLjg5YTk5OTAwMDAxMmMwNDdlNGIyNDE4MWQ2MTU4NjQwcC0xLAotICAgIC0weDEuNjMyZjZhcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDUwCi0gICAgLTB4MS44YWNlMWNmY2MwYTc2NmIzNWQwZThmNDhmMzE2OWU4YXAtMSwKLSAgICAtMHgxLjQ1ZmVjOTVhNDA2MTk4MTllMzMwN2FlYmUwY2I1ZTg5cC0xLAotICAgIDB4MS42ZThmMThwMjQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAweDEuOGFjZTFjZmNjMGE3NjZiMzVkMGU4ZjQ4ZjMxNjllOGFwLTEsCi0gICAgLTB4MS40NWZlYzk1YTQwNjE5ODE5ZTMzMDdhZWJlMGNiNWU4OXAtMSwKLSAgICAtMHgxLjZlOGYxOHAyNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIDB4MS43YzZiOTJmZjI0ZmYwMjhlYTM1YzQ1OWU1ZWJlYjJjZHAtMSwKLSAgICAweDEuNTZhYzJhZTU0Y2M5YTUyMTBhZTY3M2VhMWNlMzFkNDdwLTEsCi0gICAgMHgxLjc5NTg0MHAyMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIC0weDEuN2M2YjkyZmYyNGZmMDI4ZWEzNWM0NTllNWViZWIyY2RwLTEsCi0gICAgMHgxLjU2YWMyYWU1NGNjOWE1MjEwYWU2NzNlYTFjZTMxZDQ3cC0xLAotICAgIC0weDEuNzk1ODQwcDIzLAotICB9LAotICB7IC8vIEVudHJ5IDU0Ci0gICAgMHgxLjY5N2NmNGZmZWE5MjQ0ZTg1Y2VhNjQwZDEzYzZmYmI1cC0xLAotICAgIC0weDEuNmE5NmExMDZhY2UyMTYxMGFiNTI5YzkwNDdjN2U2ZTJwLTEsCi0gICAgMHgxLjdmZTdmZXAzNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIC0weDEuNjk3Y2Y0ZmZlYTkyNDRlODVjZWE2NDBkMTNjNmZiYjVwLTEsCi0gICAgLTB4MS42YTk2YTEwNmFjZTIxNjEwYWI1MjljOTA0N2M3ZTZlMnAtMSwKLSAgICAtMHgxLjdmZTdmZXAzNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIDB4MS45YzZjZjJmZmZmZmU4NTg4NTEyZWEzYzgwOGIwZmE5ZnAtMSwKLSAgICAweDEuMmY2NTYwZTBmMTRjZDVkNjg5MjBiZWMwZTBjMjUzNTRwLTEsCi0gICAgMHgxLmNlMTAyNnAyLAotICB9LAotICB7IC8vIEVudHJ5IDU3Ci0gICAgLTB4MS45YzZjZjJmZmZmZmU4NTg4NTEyZWEzYzgwOGIwZmE5ZnAtMSwKLSAgICAweDEuMmY2NTYwZTBmMTRjZDVkNjg5MjBiZWMwZTBjMjUzNTRwLTEsCi0gICAgLTB4MS5jZTEwMjZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIC0weDEuMDdmYWMwNGM2ZTczZjQ4NTA5NmJkYWEzZTY1MDQ0ZDlwLTEsCi0gICAgLTB4MS5iNmIzODdmZmNlYjY3YTE4YzE1ZTg2ODU1MGI5NjQ2MnAtMSwKLSAgICAweDEuZDc3NWQwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkKLSAgICAweDEuMDdmYWMwNGM2ZTczZjQ4NTA5NmJkYWEzZTY1MDQ0ZDlwLTEsCi0gICAgLTB4MS5iNmIzODdmZmNlYjY3YTE4YzE1ZTg2ODU1MGI5NjQ2MnAtMSwKLSAgICAtMHgxLmQ3NzVkMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDYwCi0gICAgMHgxLjlhOGM2MmY0YjJhOTQ5YjA2OTI0NjYyZDk0MzZiZjE3cC0xLAotICAgIDB4MS4zMWVlNzA3NGUzZWJjNWEzMGYwMDkyZWM2YzVkOGI4MHAtMSwKLSAgICAweDEuZGZlYWFhcDEwOCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MQotICAgIC0weDEuOWE4YzYyZjRiMmE5NDliMDY5MjQ2NjJkOTQzNmJmMTdwLTEsCi0gICAgMHgxLjMxZWU3MDc0ZTNlYmM1YTMwZjAwOTJlYzZjNWQ4YjgwcC0xLAotICAgIC0weDEuZGZlYWFhcDEwOCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIDB4MS5kNGRlOGFmZmZmZmZkOTZmODNiYTQ0MmZkZjJmNzEwMXAtMiwKLSAgICAweDEuYzcyY2Q0ZTFkNmM3ODU0N2QzMTcwN2JlODBiNGIwYWVwLTEsCi0gICAgMHgxLmU3MDYxZXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MwotICAgIC0weDEuZDRkZThhZmZmZmZmZDk2ZjgzYmE0NDJmZGYyZjcxMDFwLTIsCi0gICAgMHgxLmM3MmNkNGUxZDZjNzg1NDdkMzE3MDdiZTgwYjRiMGFlcC0xLAotICAgIC0weDEuZTcwNjFlcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDY0Ci0gICAgLTB4MS40ODM0NDVkNDE5NDgxMzE2OGExYWM2M2VlZTE5NDNmOXAtMSwKLSAgICAweDEuODhmODgyZmNiYzgxZmZkZjcyMGE0YmIxYjJmY2E3MWRwLTEsCi0gICAgMHgxLmU4OWIyYXA4MCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NQotICAgIDB4MS40ODM0NDVkNDE5NDgxMzE2OGExYWM2M2VlZTE5NDNmOXAtMSwKLSAgICAweDEuODhmODgyZmNiYzgxZmZkZjcyMGE0YmIxYjJmY2E3MWRwLTEsCi0gICAgLTB4MS5lODliMmFwODAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAweDEuNTY1ZTQxMDAxNDkxNmZhNjU1MGU2MDZlZDU4OGM2YjhwLTEsCi0gICAgMHgxLjdjYjFiMzRhZjg1NTg5YmRhZjdjMDc5M2FmMzBiNjgycC0xLAotICAgIDB4MS5mZTgyNzBwMTgsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcKLSAgICAtMHgxLjU2NWU0MTAwMTQ5MTZmYTY1NTBlNjA2ZWQ1ODhjNmI4cC0xLAotICAgIDB4MS43Y2IxYjM0YWY4NTU4OWJkYWY3YzA3OTNhZjMwYjY4MnAtMSwKLSAgICAtMHgxLmZlODI3MHAxOCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OAotICAgIC0weDEuODM1NmZiYWVhMDQ1NGJjZTM5ODNkOWEwZTAyNTBjNTVwLTEsCi0gICAgLTB4MS40ZWQ0YzVmZmM4MDE4NzQxODcwOTQ5NzY3ZmY4ZGFmYXAtMSwKLSAgICAweDEuZmZmMWZlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkKLSAgICAweDEuODM1NmZiYWVhMDQ1NGJjZTM5ODNkOWEwZTAyNTBjNTVwLTEsCi0gICAgLTB4MS40ZWQ0YzVmZmM4MDE4NzQxODcwOTQ5NzY3ZmY4ZGFmYXAtMSwKLSAgICAtMHgxLmZmZjFmZXAxLAotICB9LAotICB7IC8vIEVudHJ5IDcwCi0gICAgMHgxLmZhOWQ2YmZiMzNhNzdiMmUzYjMyODkxNjhjZWQ2ZGNhcC0xLAotICAgIC0weDEuMjg0MDZhMDAyNTU0NWM5YTU2OGRhY2Q0NTUxOGRkNjVwLTMsCi0gICAgMHgxLmZmZjFmZXAyLAotICB9LAotICB7IC8vIEVudHJ5IDcxCi0gICAgLTB4MS5mYTlkNmJmYjMzYTc3YjJlM2IzMjg5MTY4Y2VkNmRjYXAtMSwKLSAgICAtMHgxLjI4NDA2YTAwMjU1NDVjOWE1NjhkYWNkNDU1MThkZDY1cC0zLAotICAgIC0weDEuZmZmMWZlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIKLSAgICAweDEuZDE4Zjc2ZmZjNmU0YmEwYTMxMzRlNWJlMjFiNWJjOGZwLTEsCi0gICAgLTB4MS5hYTIyNDExNjAyMjc4OTZjNjhlZjE3ODM5ZjE3ZGNlNXAtMiwKLSAgICAweDEuZmZmZmY2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMKLSAgICAtMHgxLmQxOGY3NmZmYzZlNGJhMGEzMTM0ZTViZTIxYjViYzhmcC0xLAotICAgIC0weDEuYWEyMjQxMTYwMjI3ODk2YzY4ZWYxNzgzOWYxN2RjZTVwLTIsCi0gICAgLTB4MS5mZmZmZjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS5mZmZmZmFhYWFhYjJlZWVlZGMzZGMzZjFlZTdiNDFmZXAtMTIsCi0gICAgMHgxLmZmZmZmYzAwMDAxMTU1NTUzYTdkMjdmNGEyODlmMzE5cC0xLAotICAgIDB4MS5mZmZmZmNwLTEyLAotICB9LAotICB7IC8vIEVudHJ5IDc1Ci0gICAgLTB4MS5mZmZmZmFhYWFhYjJlZWVlZGMzZGMzZjFlZTdiNDFmZXAtMTIsCi0gICAgMHgxLmZmZmZmYzAwMDAxMTU1NTUzYTdkMjdmNGEyODlmMzE5cC0xLAotICAgIC0weDEuZmZmZmZjcC0xMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NgotICAgIC0wLjBmLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgMC4wLAotICAgIDB4MS5wMCwKLSAgICAwLjAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEucC0xNDksCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAtMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTE0OSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MQotICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTEyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MgotICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuMDAwMDAycC0xMjYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xMjYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODQKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTI2LAotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgLTB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLmZmZmZmY3AtMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg2Ci0gICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmNwLTEyNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NwotICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEuZmZmZmZjcC0xMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZjcC0xMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODkKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTI2LAotICB9LAotICB7IC8vIEVudHJ5IDkwCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTI2LAotICB9LAotICB7IC8vIEVudHJ5IDkxCi0gICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wMDAwMDJwLTEyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MgotICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTEyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MwotICAgIDB4MS45OTk5OTlkNDRmMzA1OGM3ODkwMTRiN2QwZTIyZmVjM3AtMTMsCi0gICAgMHgxLmZmZmZmZjVjMjhmNTc5NjBjZDU2ZWJmZTk0ODJhNjFmcC0xLAotICAgIDB4MS45OTk5OWFwLTEzLAotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgLTB4MS45OTk5OTlkNDRmMzA1OGM3ODkwMTRiN2QwZTIyZmVjM3AtMTMsCi0gICAgMHgxLmZmZmZmZjVjMjhmNTc5NjBjZDU2ZWJmZTk0ODJhNjFmcC0xLAotICAgIC0weDEuOTk5OTlhcC0xMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NQotICAgIDB4MS45OTk5OTk1MTNjYzE3M2U1MWJiOTk1NWIwNjZmMWRiOHAtMTIsCi0gICAgMHgxLmZmZmZmZDcwYTNkNjRlNWVjMTY1Y2Q0MzA3YWQxMzI2cC0xLAotICAgIDB4MS45OTk5OWFwLTEyLAotICB9LAotICB7IC8vIEVudHJ5IDk2Ci0gICAgLTB4MS45OTk5OTk1MTNjYzE3M2U1MWJiOTk1NWIwNjZmMWRiOHAtMTIsCi0gICAgMHgxLmZmZmZmZDcwYTNkNjRlNWVjMTY1Y2Q0MzA3YWQxMzI2cC0xLAotICAgIC0weDEuOTk5OTlhcC0xMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NwotICAgIDB4MS4zMzMzMzJkOTE2ODUzMjFlNWZjMzk3ZDIwYTVhZjFlNnAtMTEsCi0gICAgMHgxLmZmZmZmYTNkNzA5ZWVjYmZiNWEzODViMGYzZTBjYjhmcC0xLAotICAgIDB4MS4zMzMzMzRwLTExLAotICB9LAotICB7IC8vIEVudHJ5IDk4Ci0gICAgLTB4MS4zMzMzMzJkOTE2ODUzMjFlNWZjMzk3ZDIwYTVhZjFlNnAtMTEsCi0gICAgMHgxLmZmZmZmYTNkNzA5ZWVjYmZiNWEzODViMGYzZTBjYjhmcC0xLAotICAgIC0weDEuMzMzMzM0cC0xMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OQotICAgIDB4MS45OTk5OTc0NGYzMDZkYzAzZTllZjcwODk3Zjc4Mjk5ZXAtMTEsCi0gICAgMHgxLmZmZmZmNWMyOGY1ZmM3MzNjNDIwMmFhMGJkYTkyZjk3cC0xLAotICAgIDB4MS45OTk5OWFwLTExLAotICB9LAotICB7IC8vIEVudHJ5IDEwMAotICAgIC0weDEuOTk5OTk3NDRmMzA2ZGMwM2U5ZWY3MDg5N2Y3ODI5OWVwLTExLAotICAgIDB4MS5mZmZmZjVjMjhmNWZjNzMzYzQyMDJhYTBiZGE5MmY5N3AtMSwKLSAgICAtMHgxLjk5OTk5YXAtMTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxCi0gICAgMHgxLmZmZmZmYWFhYWFhZWVlZWVlZDRlZDRlZGFiNGM3YmQ2cC0xMSwKLSAgICAweDEuZmZmZmYwMDAwMDE1NTU1NTQ5ZjQ5ZjRkMzRkMzRjYTBwLTEsCi0gICAgMHgxLnAtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyCi0gICAgLTB4MS5mZmZmZmFhYWFhYWVlZWVlZWQ0ZWQ0ZWRhYjRjN2JkNnAtMTEsCi0gICAgMHgxLmZmZmZmMDAwMDAxNTU1NTU0OWY0OWY0ZDM0ZDM0Y2EwcC0xLAotICAgIC0weDEucC0xMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMKLSAgICAweDEuMzMzMzJmNjQ1YTE4YzNiMGNjZmMwYTNjZjdiMmU5MWJwLTEwLAotICAgIDB4MS5mZmZmZThmNWMyOWNlMDc2NDBiZDVmNmQ4YmIxZWE2YnAtMSwKLSAgICAweDEuMzMzMzM0cC0xMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQKLSAgICAtMHgxLjMzMzMyZjY0NWExOGMzYjBjY2ZjMGEzY2Y3YjJlOTFicC0xMCwKLSAgICAweDEuZmZmZmU4ZjVjMjljZTA3NjQwYmQ1ZjZkOGJiMWVhNmJwLTEsCi0gICAgLTB4MS4zMzMzMzRwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDEwNQotICAgIDB4MS42NjY2NjBhZWMzMzA4MjFjN2ExMDBjZjQ4OGMzODBlYnAtMTAsCi0gICAgMHgxLmZmZmZlMGEzZDcxNDgzOWYzNjAxMTQ3YWRhNzNmOGQ5cC0xLAotICAgIDB4MS42NjY2NjhwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIC0weDEuNjY2NjYwYWVjMzMwODIxYzdhMTAwY2Y0ODhjMzgwZWJwLTEwLAotICAgIDB4MS5mZmZmZTBhM2Q3MTQ4MzlmMzYwMTE0N2FkYTczZjhkOXAtMSwKLSAgICAtMHgxLjY2NjY2OHAtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3Ci0gICAgMHgxLjk5OTk5MTEzY2MwMzQxNDRmZGJkYzhhMWRjNzEzMjUzcC0xMCwKLSAgICAweDEuZmZmZmQ3MGEzZDgxOTFmNjZkZTU0MDhmYjJiOTk1YTBwLTEsCi0gICAgMHgxLjk5OTk5Y3AtMTAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4Ci0gICAgLTB4MS45OTk5OTExM2NjMDM0MTQ0ZmRiZGM4YTFkYzcxMzI1M3AtMTAsCi0gICAgMHgxLmZmZmZkNzBhM2Q4MTkxZjY2ZGU1NDA4ZmIyYjk5NWEwcC0xLAotICAgIC0weDEuOTk5OTljcC0xMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkKLSAgICAweDEuY2NjY2JjNzJiMDVkZDA5NTFhOWM1ZTY1NTYwYzU2ZTNwLTEwLAotICAgIDB4MS5mZmZmY2MyOGY2ZDA5NmI4N2Q2ZDE5YTA2ZTk2OTk5YnAtMSwKLSAgICAweDEuY2NjY2NjcC0xMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAtMHgxLmNjY2NiYzcyYjA1ZGQwOTUxYTljNWU2NTU2MGM1NmUzcC0xMCwKLSAgICAweDEuZmZmZmNjMjhmNmQwOTZiODdkNmQxOWEwNmU5Njk5OWJwLTEsCi0gICAgLTB4MS5jY2NjY2NwLTEwLAotICB9LAotICB7IC8vIEVudHJ5IDExMQotICAgIDB4MS4wNjY1YWUzNjE1YjViN2RlNTI3OTgwNjRkZmM1OWIyOXAtNywKLSAgICAweDEuZmZmYmNjMmE3MWNlYWFiZjU1ODJiNmRhMWZjMzA1MzFwLTEsCi0gICAgMHgxLjA2NjY2NnAtNywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIKLSAgICAtMHgxLjA2NjVhZTM2MTViNWI3ZGU1Mjc5ODA2NGRmYzU5YjI5cC03LAotICAgIDB4MS5mZmZiY2MyYTcxY2VhYWJmNTU4MmI2ZGExZmMzMDUzMXAtMSwKLSAgICAtMHgxLjA2NjY2NnAtNywKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMKLSAgICAweDEuY2NjOGU4YWU5MjU4NmQ4ZDY2YjZhZDBhZWRjYjBkOTRwLTcsCi0gICAgMHgxLmZmZjMwYTRiN2I1MTE5ZDhlMjk5ZjcxN2VjMGVjZTE2cC0xLAotICAgIDB4MS5jY2NjY2NwLTcsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE0Ci0gICAgLTB4MS5jY2M4ZThhZTkyNTg2ZDhkNjZiNmFkMGFlZGNiMGQ5NHAtNywKLSAgICAweDEuZmZmMzBhNGI3YjUxMTlkOGUyOTlmNzE3ZWMwZWNlMTZwLTEsCi0gICAgLTB4MS5jY2NjY2NwLTcsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE1Ci0gICAgMHgxLjQ5OTNlNzBmN2IxN2MxMGFmOWY5N2ZjN2IzM2I4MjJicC02LAotICAgIDB4MS5mZmU1N2E3ODUxMjMyMjZjMWUyZWZiNDExMzUzZWRjOXAtMSwKLSAgICAweDEuNDk5OTk4cC02LAotICB9LAotICB7IC8vIEVudHJ5IDExNgotICAgIC0weDEuNDk5M2U3MGY3YjE3YzEwYWY5Zjk3ZmM3YjMzYjgyMmJwLTYsCi0gICAgMHgxLmZmZTU3YTc4NTEyMzIyNmMxZTJlZmI0MTEzNTNlZGM5cC0xLAotICAgIC0weDEuNDk5OTk4cC02LAotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIDB4MS5hY2MwNDNmOGIyZDg5YWQ1MTQzYzAzMGU5NzY2ZmMxMXAtNiwKLSAgICAweDEuZmZkMzFjZDEwY2I2MzJkOTczM2FjNWY1ZjMyN2E1ZjlwLTEsCi0gICAgMHgxLmFjY2NjY3AtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgKLSAgICAtMHgxLmFjYzA0M2Y4YjJkODlhZDUxNDNjMDMwZTk3NjZmYzExcC02LAotICAgIDB4MS5mZmQzMWNkMTBjYjYzMmQ5NzMzYWM1ZjVmMzI3YTVmOXAtMSwKLSAgICAtMHgxLmFjY2NjY3AtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkKLSAgICAweDEuMDdmNDRkNjdjZjQxYWZiYzBjOTUxMDhiOTlmOTFiMDFwLTUsCi0gICAgMHgxLmZmYmJmMTgyMDc1NDJlZjgxMzkwZDczYzNiYTg5YzFhcC0xLAotICAgIDB4MS4wOHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAtMHgxLjA3ZjQ0ZDY3Y2Y0MWFmYmMwYzk1MTA4Yjk5ZjkxYjAxcC01LAotICAgIDB4MS5mZmJiZjE4MjA3NTQyZWY4MTM5MGQ3M2MzYmE4OWMxYXAtMSwKLSAgICAtMHgxLjA4cC01LAotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIDB4MS4zOTg1ZmVhZDQ0ZmEyYjg1MWU2NTFhY2JhMzY5ZDc2OXAtNSwKLSAgICAweDEuZmY5ZmY4YzJlYWVhZWUzMGZiMjExNzY1YWY4MzUxNzFwLTEsCi0gICAgMHgxLjM5OTk5YXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIKLSAgICAtMHgxLjM5ODVmZWFkNDRmYTJiODUxZTY1MWFjYmEzNjlkNzY5cC01LAotICAgIDB4MS5mZjlmZjhjMmVhZWFlZTMwZmIyMTE3NjVhZjgzNTE3MXAtMSwKLSAgICAtMHgxLjM5OTk5YXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMKLSAgICAweDEuNmIxNGJlYjVkNDBkNzQ1MDk2MjQ3ZTU5YjYyMjgyOGJwLTUsCi0gICAgMHgxLmZmN2YzMmQ2ZWIxZjljZjkwMjI2ZWMyOTFjOWUwOTIycC0xLAotICAgIDB4MS42YjMzMzRwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0Ci0gICAgLTB4MS42YjE0YmViNWQ0MGQ3NDUwOTYyNDdlNTliNjIyODI4YnAtNSwKLSAgICAweDEuZmY3ZjMyZDZlYjFmOWNmOTAyMjZlYzI5MWM5ZTA5MjJwLTEsCi0gICAgLTB4MS42YjMzMzRwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI1Ci0gICAgMHgxLjljYTAxNjcxYTc5OTVmYzk3Y2ViZDY5NzI5Y2M0MzA5cC01LAotICAgIDB4MS5mZjU5YTAwY2M0YWQ0OTJjYTI1OTc0OTU0MTI5OThlZHAtMSwKLSAgICAweDEuOWNjY2NlcC01LAotICB9LAotICB7IC8vIEVudHJ5IDEyNgotICAgIC0weDEuOWNhMDE2NzFhNzk5NWZjOTdjZWJkNjk3MjljYzQzMDlwLTUsCi0gICAgMHgxLmZmNTlhMDBjYzRhZDQ5MmNhMjU5NzQ5NTQxMjk5OGVkcC0xLAotICAgIC0weDEuOWNjY2NlcC01LAotICB9LAotICB7IC8vIEVudHJ5IDEyNwotICAgIDB4MS5jZTI3OGNkOWViMmNiZDBjNmE0ZTEyNzlmNjkwZTg1NnAtNSwKLSAgICAweDEuZmYyZjQwYzA4YWNmNDU4MGE4ZDEzMzgwZDkwNzMzOThwLTEsCi0gICAgMHgxLmNlNjY2NnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgKLSAgICAtMHgxLmNlMjc4Y2Q5ZWIyY2JkMGM2YTRlMTI3OWY2OTBlODU2cC01LAotICAgIDB4MS5mZjJmNDBjMDhhY2Y0NTgwYThkMTMzODBkOTA3MzM5OHAtMSwKLSAgICAtMHgxLmNlNjY2NnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkKLSAgICAweDEuNDNjMWU5OTcyMzkxYWE4ZWNkOGE5Y2NiYTkwNzkyMGFwLTEsCi0gICAgMHgxLjhjYTQ2Y2EwMTE3NzFiZmFlMGQ5ZWRiZjFkYWNiNDAycC0xLAotICAgIDB4MS41ZTdmYzRwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMwCi0gICAgLTB4MS40M2MxZTk5NzIzOTFhYThlY2Q4YTljY2JhOTA3OTIwYXAtMSwKLSAgICAweDEuOGNhNDZjYTAxMTc3MWJmYWUwZDllZGJmMWRhY2I0MDJwLTEsCi0gICAgLTB4MS41ZTdmYzRwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMxCi0gICAgMHgxLmVlM2Q2YmIyMWM2NGIyMzgyZWZjZmYwY2RmMzBjZTBicC0xLAotICAgIDB4MS4wYjVkMzhkNWQ4MmU0YTc2MjRkYWM0ZTEwY2UxNTljMnAtMiwKLSAgICAweDEuNGU3ZmM0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgLTB4MS5lZTNkNmJiMjFjNjRiMjM4MmVmY2ZmMGNkZjMwY2UwYnAtMSwKLSAgICAweDEuMGI1ZDM4ZDVkODJlNGE3NjI0ZGFjNGUxMGNlMTU5YzJwLTIsCi0gICAgLTB4MS40ZTdmYzRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAweDEuZGY4ZTIzMjNlNGJmMWE1MzhhMTAwZWMxYmYzNDk0YTlwLTEsCi0gICAgLTB4MS42NmI5NmUyMDRlNjljZGE4ZTljZjUwOTk2NDMyNTM5ZXAtMiwKLSAgICAweDEuZWRiZmE2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM0Ci0gICAgLTB4MS5kZjhlMjMyM2U0YmYxYTUzOGExMDBlYzFiZjM0OTRhOXAtMSwKLSAgICAtMHgxLjY2Yjk2ZTIwNGU2OWNkYThlOWNmNTA5OTY0MzI1MzllcC0yLAotICAgIC0weDEuZWRiZmE2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1Ci0gICAgMHgxLjFkMzQ3YWEwMmZlYjNiYjE3NTBkMjU1MDk0MzVkYTg4cC0xLAotICAgIC0weDEuYTkzNTU0MGVkZWNhNGMyMjBlZDkxZGM1NDgxZTRkOWJwLTEsCi0gICAgMHgxLjQ2N2ZjNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDEzNgotICAgIC0weDEuMWQzNDdhYTAyZmViM2JiMTc1MGQyNTUwOTQzNWRhODhwLTEsCi0gICAgLTB4MS5hOTM1NTQwZWRlY2E0YzIyMGVkOTFkYzU0ODFlNGQ5YnAtMSwKLSAgICAtMHgxLjQ2N2ZjNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDEzNwotICAgIC0weDEuZmZlYTA4ZTFjOTdmNGM0ZGUwMTk2MWNjM2U3YjA0ZGNwLTYsCi0gICAgLTB4MS5mZmMwMDE3ZGQ5MjA5ZGQ4ODkxZjE3ZmU0YzllZWU0NnAtMSwKLSAgICAweDEuOTYxZmI0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM4Ci0gICAgMHgxLmZmZWEwOGUxYzk3ZjRjNGRlMDE5NjFjYzNlN2IwNGRjcC02LAotICAgIC0weDEuZmZjMDAxN2RkOTIwOWRkODg5MWYxN2ZlNGM5ZWVlNDZwLTEsCi0gICAgLTB4MS45NjFmYjRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAtMHgxLjM3MzRjYmNlZDljMGY0ODRlNWY3NjJlMDAyMTZlNjIwcC0xLAotICAgIC0weDEuOTY5MDgyMDA3NzMzZDc4N2Y0YzM2YmEwZjk0MjU2OTRwLTEsCi0gICAgMHgxLmU1YmZhNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDE0MAotICAgIDB4MS4zNzM0Y2JjZWQ5YzBmNDg0ZTVmNzYyZTAwMjE2ZTYyMHAtMSwKLSAgICAtMHgxLjk2OTA4MjAwNzczM2Q3ODdmNGMzNmJhMGY5NDI1Njk0cC0xLAotICAgIC0weDEuZTViZmE0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgLTB4MS5lOWQyNTkyYmVjMTBjM2FjYjE1YzU4NTIyMzlhMmFhOHAtMSwKLSAgICAtMHgxLjJhMWU3NDIyM2Q5YmRkYjdkYjU5Zjc4MWY5NmI2NWVjcC0yLAotICAgIDB4MS4xYWFmY2FwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDIKLSAgICAweDEuZTlkMjU5MmJlYzEwYzNhY2IxNWM1ODUyMjM5YTJhYThwLTEsCi0gICAgLTB4MS4yYTFlNzQyMjNkOWJkZGI3ZGI1OWY3ODFmOTZiNjVlY3AtMiwKLSAgICAtMHgxLjFhYWZjYXAyLAotICB9LAotICB7IC8vIEVudHJ5IDE0MwotICAgIC0weDEuZTRlY2UyMDhkMGM0OTEzYWIwMTljYWIwY2U5Yzc4NWVwLTEsCi0gICAgMHgxLjQ4OTRkNTBiODRkYmM5ODExMzRhNTkxYWM0MTY1ZDllcC0yLAotICAgIDB4MS40MjdmYzJwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDQKLSAgICAweDEuZTRlY2UyMDhkMGM0OTEzYWIwMTljYWIwY2U5Yzc4NWVwLTEsCi0gICAgMHgxLjQ4OTRkNTBiODRkYmM5ODExMzRhNTkxYWM0MTY1ZDllcC0yLAotICAgIC0weDEuNDI3ZmMycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ1Ci0gICAgLTB4MS4yYTVhMDJkMzkyYjU0ZjY0MWEwZDg4YmQ0YWM2YzJlMXAtMSwKLSAgICAweDEuYTAxNmRkNzQ4MGExZWVhNGQ0OWVmYjU4NWZhNDljODZwLTEsCi0gICAgMHgxLjZhNGZiYXAyLAotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIDB4MS4yYTVhMDJkMzkyYjU0ZjY0MWEwZDg4YmQ0YWM2YzJlMXAtMSwKLSAgICAweDEuYTAxNmRkNzQ4MGExZWVhNGQ0OWVmYjU4NWZhNDljODZwLTEsCi0gICAgLTB4MS42YTRmYmFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAtMHgxLjI2MzEyM2RmMjJkMTNlZDMyOWM2NjVjODNjMGU3MWU4cC0xLAotICAgIDB4MS5hMzBhNmEzYmY0YTNlMmI3ZTI3NjY2ZDNhOWMzYjc0YnAtMSwKLSAgICAweDEuNmFmMmYwcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ4Ci0gICAgMHgxLjI2MzEyM2RmMjJkMTNlZDMyOWM2NjVjODNjMGU3MWU4cC0xLAotICAgIDB4MS5hMzBhNmEzYmY0YTNlMmI3ZTI3NjY2ZDNhOWMzYjc0YnAtMSwKLSAgICAtMHgxLjZhZjJmMHAyLAotICB9LAotICB7IC8vIEVudHJ5IDE0OQotICAgIC0weDEuZTE4ZTY3YjUwOGZmYzllNDJmNmM5ZTcyZjhlNTQ1ZjNwLTEsCi0gICAgMHgxLjViZDYyNTUwNDAxNWNjYzEwMWU0ZjQzNDBkNGI3NjJicC0yLAotICAgIDB4MS40M2M2MmFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTAKLSAgICAweDEuZTE4ZTY3YjUwOGZmYzllNDJmNmM5ZTcyZjhlNTQ1ZjNwLTEsCi0gICAgMHgxLjViZDYyNTUwNDAxNWNjYzEwMWU0ZjQzNDBkNGI3NjJicC0yLAotICAgIC0weDEuNDNjNjJhcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgLTB4MS5lZTBlODBlYzlkMTU2MmMxN2E2Y2Y2MDhhZjliMGVkNHAtMSwKLSAgICAtMHgxLjBjYjczMzQ0OGMzMGVlM2RkZmZiNGRhNjlmMGIzODQycC0yLAotICAgIDB4MS4xYzk5NjRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTIKLSAgICAweDEuZWUwZTgwZWM5ZDE1NjJjMTdhNmNmNjA4YWY5YjBlZDRwLTEsCi0gICAgLTB4MS4wY2I3MzM0NDhjMzBlZTNkZGZmYjRkYTY5ZjBiMzg0MnAtMiwKLSAgICAtMHgxLjFjOTk2NHAyLAotICB9LAotICB7IC8vIEVudHJ5IDE1MwotICAgIC0weDEuNDcyNzY4NjM3ZWE4ODY2YTY1MjA5OGE0M2FhNjg4YTZwLTEsCi0gICAgLTB4MS44OWQ4NzRhZDMwZTNmYjQ2MjQ0ZGFhMjQ0NTE2OTBkN3AtMSwKLSAgICAweDEuZWFkOTNjcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgMHgxLjQ3Mjc2ODYzN2VhODg2NmE2NTIwOThhNDNhYTY4OGE2cC0xLAotICAgIC0weDEuODlkODc0YWQzMGUzZmI0NjI0NGRhYTI0NDUxNjkwZDdwLTEsCi0gICAgLTB4MS5lYWQ5M2NwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTUKLSAgICAtMHgxLjRiYTI0ZjYzMjVmMjE0MjBlN2M0OGQ0ZjkxZTI4MDY0cC00LAotICAgIC0weDEuZmU1MWFlMDlmMGQzOWVkNTU0ZTY4YmVmM2UyZjhhMDNwLTEsCi0gICAgMHgxLjljN2ZiMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDE1NgotICAgIDB4MS40YmEyNGY2MzI1ZjIxNDIwZTdjNDhkNGY5MWUyODA2NHAtNCwKLSAgICAtMHgxLmZlNTFhZTA5ZjBkMzllZDU1NGU2OGJlZjNlMmY4YTAzcC0xLAotICAgIC0weDEuOWM3ZmIwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU3Ci0gICAgMHgxLjAzNGM2NDMyOTUxNTNhYWZmZTVkOWEwZjI5ZTkyODQ0cC0xLAotICAgIC0weDEuYjk3YmY3NmFlNzY1ZWI2OWNmNTVlODBhYWU5NzczMDNwLTEsCi0gICAgMHgxLjRlMjYyNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDE1OAotICAgIC0weDEuMDM0YzY0MzI5NTE1M2FhZmZlNWQ5YTBmMjllOTI4NDRwLTEsCi0gICAgLTB4MS5iOTdiZjc2YWU3NjVlYjY5Y2Y1NWU4MGFhZTk3NzMwM3AtMSwKLSAgICAtMHgxLjRlMjYyNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDE1OQotICAgIDB4MS5kMWU0ZDk2ZWFjOTE3NTc0Yjk0OGU0ZWE5ZTM3YjM2ZHAtMSwKLSAgICAtMHgxLmE4YWM1NzkzZTMyNjI5YjEzMTk4NGVjZmZkMmQwZjMxcC0yLAotICAgIDB4MS5mZjk5MzJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjAKLSAgICAtMHgxLmQxZTRkOTZlYWM5MTc1NzRiOTQ4ZTRlYTllMzdiMzZkcC0xLAotICAgIC0weDEuYThhYzU3OTNlMzI2MjliMTMxOTg0ZWNmZmQyZDBmMzFwLTIsCi0gICAgLTB4MS5mZjk5MzJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjEKLSAgICAweDEuZjc1MDFlMDAyYmNhZmI4OTdmOTMxOTMxZDNhNTdhZmRwLTEsCi0gICAgMHgxLjc3YTkyY2EwMWJjNzljMTk1ZGRhMzM3MzY4MDdmOTg2cC0zLAotICAgIDB4MS42MmU2MWNwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjIKLSAgICAtMHgxLmY3NTAxZTAwMmJjYWZiODk3ZjkzMTkzMWQzYTU3YWZkcC0xLAotICAgIDB4MS43N2E5MmNhMDFiYzc5YzE5NWRkYTMzNzM2ODA3Zjk4NnAtMywKLSAgICAtMHgxLjYyZTYxY3AwLAotICB9LAotICB7IC8vIEVudHJ5IDE2MwotICAgIDB4MS42NWY3ZDY2ZWY2NTkxY2ZjNTFhYjI5ZGMyMDg2ZDNlN3AtMSwKLSAgICAweDEuNmUxMDYwMjgyYzE0ODhkOWFiZDgzZGExZDY4Y2QwZjdwLTEsCi0gICAgMHgxLjhjNjYyY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAtMHgxLjY1ZjdkNjZlZjY1OTFjZmM1MWFiMjlkYzIwODZkM2U3cC0xLAotICAgIDB4MS42ZTEwNjAyODJjMTQ4OGQ5YWJkODNkYTFkNjhjZDBmN3AtMSwKLSAgICAtMHgxLjhjNjYyY3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAtMHgxLmZlMDQzZjg3NWM2ZWQ0YTJjMWI4ZDY5YTA5ZmNmNTc4cC0xLAotICAgIC0weDEuNjgyZjJiYjg3YThmNTAxMTczNTA5NDE3NmM5YjZkYWNwLTQsCi0gICAgLTB4MS5hOGFhMWNwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjYKLSAgICAweDEuZmUwNDNmODc1YzZlZDRhMmMxYjhkNjlhMDlmY2Y1NzhwLTEsCi0gICAgLTB4MS42ODJmMmJiODdhOGY1MDExNzM1MDk0MTc2YzliNmRhY3AtNCwKLSAgICAweDEuYThhYTFjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY3Ci0gICAgLTB4MS5mZmYxOGYzMTNlNjZmMWFlMjVmODlhNWY3YTFmODRjNHAtMSwKLSAgICAtMHgxLmU2NjVjYjJhZjg0MmJlNWJhNWY2NTk2MDU5OWE5N2VjcC03LAotICAgIC0weDEuOTVlYzhhcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY4Ci0gICAgMHgxLmZmZjE4ZjMxM2U2NmYxYWUyNWY4OWE1ZjdhMWY4NGM0cC0xLAotICAgIC0weDEuZTY2NWNiMmFmODQyYmU1YmE1ZjY1OTYwNTk5YTk3ZWNwLTcsCi0gICAgMHgxLjk1ZWM4YXAwLAotICB9LAotICB7IC8vIEVudHJ5IDE2OQotICAgIC0weDEuZmYyMGQ5MjBiOWU5YzIzMTU0Zjk3ZTJmMzQyYTI4ODRwLTEsCi0gICAgMHgxLmRkZDIzMTUwMWIxMmZjZjJiYzIwNjMzYmU0ZDUxZTUxcC01LAotICAgIC0weDEuODMyZWY4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcwCi0gICAgMHgxLmZmMjBkOTIwYjllOWMyMzE1NGY5N2UyZjM0MmEyODg0cC0xLAotICAgIDB4MS5kZGQyMzE1MDFiMTJmY2YyYmMyMDYzM2JlNGQ1MWU1MXAtNSwKLSAgICAweDEuODMyZWY4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcxCi0gICAgLTB4MS5mYjkzM2I4OWQ3ZGIzMjg2ZWVkMGNmZWFiZWU5ODg3NXAtMSwKLSAgICAweDEuMGNhYmE2OTk3NjkxYWIxOTcwZDQzYzc0MTllZDUxZTFwLTMsCi0gICAgLTB4MS43MDcxNjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzIKLSAgICAweDEuZmI5MzNiODlkN2RiMzI4NmVlZDBjZmVhYmVlOTg4NzVwLTEsCi0gICAgMHgxLjBjYWJhNjk5NzY5MWFiMTk3MGQ0M2M3NDE5ZWQ1MWUxcC0zLAotICAgIDB4MS43MDcxNjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzMKLSAgICAtMHgxLmY1NGQ5NWM1MDU4YjdkYzk5NzJhYjZmOTkyOGNhMDQzcC0xLAotICAgIDB4MS5hMDcyNTQxZmQ2ZWFmOGI2NWE4NzRjNThkNmNjNTczOXAtMywKLSAgICAtMHgxLjVkYjNkNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDE3NAotICAgIDB4MS5mNTRkOTVjNTA1OGI3ZGM5OTcyYWI2Zjk5MjhjYTA0M3AtMSwKLSAgICAweDEuYTA3MjU0MWZkNmVhZjhiNjVhODc0YzU4ZDZjYzU3MzlwLTMsCi0gICAgMHgxLjVkYjNkNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIC0weDEuZWM1ODgxYTA5YzQ2YWFlMDIwY2Q5MDM2MDk4YTE5NmVwLTEsCi0gICAgMHgxLjE4ZmVmODEwNmJlYTYzYjllOTZhN2FkZjUzOGM2MTk0cC0yLAotICAgIC0weDEuNGFmNjQycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc2Ci0gICAgMHgxLmVjNTg4MWEwOWM0NmFhZTAyMGNkOTAzNjA5OGExOTZlcC0xLAotICAgIDB4MS4xOGZlZjgxMDZiZWE2M2I5ZTk2YTdhZGY1MzhjNjE5NHAtMiwKLSAgICAweDEuNGFmNjQycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc3Ci0gICAgLTB4MS5lMGMwNDc5NTkxOWQ5NjFhNWU4M2U1MDVkZjMxYzYyNHAtMSwKLSAgICAweDEuNjA0MzcyNzdkNDgwNjdlODUyMzBiY2UxODgzZWFhYmFwLTIsCi0gICAgLTB4MS4zODM4YjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzgKLSAgICAweDEuZTBjMDQ3OTU5MTlkOTYxYTVlODNlNTA1ZGYzMWM2MjRwLTEsCi0gICAgMHgxLjYwNDM3Mjc3ZDQ4MDY3ZTg1MjMwYmNlMTg4M2VhYWJhcC0yLAotICAgIDB4MS4zODM4YjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzkKLSAgICAtMHgxLmQyOTRjZGVmN2NjMTYxNjMzYTAyZDNlNjIwNThiZTBlcC0xLAotICAgIDB4MS5hNWE0ZGVkNDkyYmVkZmU4Y2Y1YzM0Y2FkZDc4ZGY3NXAtMiwKLSAgICAtMHgxLjI1N2IxZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDE4MAotICAgIDB4MS5kMjk0Y2RlZjdjYzE2MTYzM2EwMmQzZTYyMDU4YmUwZXAtMSwKLSAgICAweDEuYTVhNGRlZDQ5MmJlZGZlOGNmNWMzNGNhZGQ3OGRmNzVwLTIsCi0gICAgMHgxLjI1N2IxZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDE4MQotICAgIC0weDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCi0gICAgMHgxLmU4YzQwNDA2NzhkMmVmNzM2MzMzYTQ1MzdhMTExM2ExcC0yLAotICAgIC0weDEuMTJiZDkycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgyCi0gICAgMHgxLmMxZTk4OGI5NTYxNGFiZDY1ZDNkODExZjVjODgwMzlicC0xLAotICAgIDB4MS5lOGM0MDQwNjc4ZDJlZjczNjMzM2E0NTM3YTExMTNhMXAtMiwKLSAgICAweDEuMTJiZDkycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgzCi0gICAgLTB4MS5hMmMyODk1ZWRiMGQ0YmE1MWNkYmQ1MzkwY2FjNDY4ZnAtMSwKLSAgICAweDEuMjY5NzZiMWIxNmQxOTA5MWMwOTI1OTc2NWM0YjM4NzJwLTEsCi0gICAgLTB4MS5lYTVjM2VwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg0Ci0gICAgMHgxLmEyYzI4OTVlZGIwZDRiYTUxY2RiZDUzOTBjYWM0NjhmcC0xLAotICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKLSAgICAweDEuZWE1YzNlcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIC0weDEuOTVmMDUxNTM2NDRkNjBiOTRkMmYyZTcwMGRmZDNhMzdwLTEsCi0gICAgMHgxLjM4MDVhMmRhZmRhN2Y4NTU0YWVjNjVkYWIzNDhhNzE0cC0xLAotICAgIC0weDEuZDRiODdjcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE4NgotICAgIDB4MS45NWYwNTE1MzY0NGQ2MGI5NGQyZjJlNzAwZGZkM2EzN3AtMSwKLSAgICAweDEuMzgwNWEyZGFmZGE3Zjg1NTRhZWM2NWRhYjM0OGE3MTRwLTEsCi0gICAgMHgxLmQ0Yjg3Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODcKLSAgICAtMHgxLjg4NjQ3ZDhhZDJlNDFmYjdjMGFmMGY2NDYxNGM5OTkzcC0xLAotICAgIDB4MS40OGU1MmZmNWJiZTc5NDYxOGI4NTE5MGI4NjQxMTgyNHAtMSwKLSAgICAtMHgxLmJmMTRiYXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODgKLSAgICAweDEuODg2NDdkOGFkMmU0MWZiN2MwYWYwZjY0NjE0Yzk5OTNwLTEsCi0gICAgMHgxLjQ4ZTUyZmY1YmJlNzk0NjE4Yjg1MTkwYjg2NDExODI0cC0xLAotICAgIDB4MS5iZjE0YmFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg5Ci0gICAgLTB4MS43YTI1M2Y5Zjg5YTdkM2U0ZjljNTQ2Mzg0MThlOTdmNnAtMSwKLSAgICAweDEuNTkyZTViNjE1ZWY1YWU0NjM5NzZkMzExNDFkYmFjZjBwLTEsCi0gICAgLTB4MS5hOTcwZjhwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkwCi0gICAgMHgxLjdhMjUzZjlmODlhN2QzZTRmOWM1NDYzODQxOGU5N2Y2cC0xLAotICAgIDB4MS41OTJlNWI2MTVlZjVhZTQ2Mzk3NmQzMTE0MWRiYWNmMHAtMSwKLSAgICAweDEuYTk3MGY4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE5MQotICAgIC0weDEuNmIzOTFiMzRhYWI4MjhmYmU3Y2Q3ZGNhZjllZjNiZDZwLTEsCi0gICAgMHgxLjY4ZDliMmQ2NTdlNDMwN2QzMzFlYjdiZDM1ZWUxODc5cC0xLAotICAgIC0weDEuOTNjZDM2cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE5MgotICAgIDB4MS42YjM5MWIzNGFhYjgyOGZiZTdjZDdkY2FmOWVmM2JkNnAtMSwKLSAgICAweDEuNjhkOWIyZDY1N2U0MzA3ZDMzMWViN2JkMzVlZTE4NzlwLTEsCi0gICAgMHgxLjkzY2QzNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTMKLSAgICAtMHgxLjViYTZlMmZiOTgwZDQ4MmNmMDBlZGU4MGY1NTk3ZmIycC0xLAotICAgIDB4MS43N2UwMGMzNzE4NTI4YzM2ZjcyMmU2MzA5NmMyNjQ2YnAtMSwKLSAgICAtMHgxLjdlMjk3NHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTQKLSAgICAweDEuNWJhNmUyZmI5ODBkNDgyY2YwMGVkZTgwZjU1OTdmYjJwLTEsCi0gICAgMHgxLjc3ZTAwYzM3MTg1MjhjMzZmNzIyZTYzMDk2YzI2NDZicC0xLAotICAgIDB4MS43ZTI5NzRwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk1Ci0gICAgLTB4MS40Yjc1YjU5NTRlNzE4MDIwOTAwNzE5ZTI1YTdlYTkzYnAtMSwKLSAgICAweDEuODYzYTg4ZDZiMDY0ZjM2ZjM0MzcwNzIyZDM2MWNlOWZwLTEsCi0gICAgLTB4MS42ODg1YjJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk2Ci0gICAgMHgxLjRiNzViNTk1NGU3MTgwMjA5MDA3MTllMjVhN2VhOTNicC0xLAotICAgIDB4MS44NjNhODhkNmIwNjRmMzZmMzQzNzA3MjJkMzYxY2U5ZnAtMSwKLSAgICAweDEuNjg4NWIycC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE5NwotICAgIC0weDEuM2FhY2ZhNTEwODEwMDU0YzUyYWUwYjY3ZDExNmViNDBwLTEsCi0gICAgMHgxLjkzZTI5ODljZWU2MDg0ZTM0YjUzM2IxZWI5Mjc0NmRhcC0xLAotICAgIC0weDEuNTJlMWYwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDE5OAotICAgIDB4MS4zYWFjZmE1MTA4MTAwNTRjNTJhZTBiNjdkMTE2ZWI0MHAtMSwKLSAgICAweDEuOTNlMjk4OWNlZTYwODRlMzRiNTMzYjFlYjkyNzQ2ZGFwLTEsCi0gICAgMHgxLjUyZTFmMHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTkKLSAgICAtMHgxLjI5NTQ2NDRjZWI4ZTNhMjQ3OWM4M2FlODRhZjU3ZDNlcC0xLAotICAgIDB4MS5hMGQxZjg2MTNlYmM2MGM3ZWU2NTAyZWUxODNjODllN3AtMSwKLSAgICAtMHgxLjNkM2UzNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAweDEuMjk1NDY0NGNlYjhlM2EyNDc5YzgzYWU4NGFmNTdkM2VwLTEsCi0gICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAotICAgIDB4MS4zZDNlMzZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAxCi0gICAgLTB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKLSAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCi0gICAgLTB4MS4wYTBiMDJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAyCi0gICAgMHgxLmZjNzY5YWVjZDI2NWNmZWEwOGUwZmYzMGMyZmJjYWNkcC0yLAotICAgIDB4MS5iYzZiZDg4OWE4YTU5ZGJiNTZlNTQ2YTM3YWU3OThmNXAtMSwKLSAgICAweDEuMGEwYjAycC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIwMwotICAgIC0weDEuYzg1M2M3MDRlM2I5NDMyMjAzMWQ2YjQ3YWVmODUzYzlwLTIsCi0gICAgMHgxLmNhNTljNzE5Zjk2MDc1ZGQ2YjdhMGZmNDQzYWQ1OWRjcC0xLAotICAgIC0weDEuZDhmNzIwcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIwNAotICAgIDB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKLSAgICAweDEuY2E1OWM3MTlmOTYwNzVkZDZiN2EwZmY0NDNhZDU5ZGNwLTEsCi0gICAgMHgxLmQ4ZjcyMHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDUKLSAgICAtMHgxLjkyYWJhODk4MWIyNWRlZGE0Y2MxODE3MjUxNzIzYTFicC0yLAotICAgIDB4MS5kNmMwYjEzZGY5OTYxM2E0OTMwNmI0ZGM2YzU3YWEwM3AtMSwKLSAgICAtMHgxLjlkZDgzY3AtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDYKLSAgICAweDEuOTJhYmE4OTgxYjI1ZGVkYTRjYzE4MTcyNTE3MjNhMWJwLTIsCi0gICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAotICAgIDB4MS45ZGQ4M2NwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA3Ci0gICAgLTB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKLSAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCi0gICAgLTB4MS42MmI5NThwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA4Ci0gICAgMHgxLjViYWMwNWUxZTBhN2MyZGUyODBmY2I5M2JlNjdhNGRhcC0yLAotICAgIDB4MS5lMTk2MDI3M2E0YWFhMWJkMTllZjBjY2FhODg3NDE4M3AtMSwKLSAgICAweDEuNjJiOTU4cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIwOQotICAgIC0weDEuMjM4M2NhMmIyNDk4MDdkOTUwMDVkOTZjZmRhZWNkNmNwLTIsCi0gICAgMHgxLmVhZDA3Y2QyZTBmN2YxOTY3OTY0NjM2MmJiYzBlYjgwcC0xLAotICAgIC0weDEuMjc5YTc0cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIxMAotICAgIDB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKLSAgICAweDEuZWFkMDdjZDJlMGY3ZjE5Njc5NjQ2MzYyYmJjMGViODBwLTEsCi0gICAgMHgxLjI3OWE3NHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTEKLSAgICAtMHgxLmQ0YzViYjg3MmVhNTM3NTgzNGNhMGJjYTA4OGQxZDc1cC0zLAotICAgIDB4MS5mMjY4NDBlZmQ4NmNlZWEyM2YzODhiNmExMTAyZWE0ZHAtMSwKLSAgICAtMHgxLmQ4ZjcyMHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAweDEuZDRjNWJiODcyZWE1Mzc1ODM0Y2EwYmNhMDg4ZDFkNzVwLTMsCi0gICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAotICAgIDB4MS5kOGY3MjBwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEzCi0gICAgLTB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKLSAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCi0gICAgLTB4MS42MmI5NThwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgMHgxLjYwZjNmYTQ2MGI4NTgxMWQyYWU3MTBjZDY5ZWMzNjkwcC0zLAotICAgIDB4MS5mODU2ZDQ5MjUxYmQzN2M1NGYwMDk0MjcwZWVjYmQxOHAtMSwKLSAgICAweDEuNjJiOTU4cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDIxNQotICAgIC0weDEuZDdlYTNkNTZlMWU2MjQ0Yzg3ODZkNzRmMTg5ZDk4YWNwLTQsCi0gICAgMHgxLmZjOTcyODNjNGY1YmQxZjc5MzIwMTk3MmI4ZGI1NTFmcC0xLAotICAgIC0weDEuZDhmNzIwcC00LAotICB9LAotICB7IC8vIEVudHJ5IDIxNgotICAgIDB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKLSAgICAweDEuZmM5NzI4M2M0ZjViZDFmNzkzMjAxOTcyYjhkYjU1MWZwLTEsCi0gICAgMHgxLmQ4ZjcyMHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTcKLSAgICAtMHgxLmQ4YjNkZWJhNmFjNDkzYjA0YjIxMDNhMGRiYWVmMDJmcC01LAotICAgIDB4MS5mZjI1OWI3YjNkNzIxZWRmMDYzYTViZjZlN2ExZjkzY3AtMSwKLSAgICAtMHgxLmQ4ZjcyMHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAweDEuZDhiM2RlYmE2YWM0OTNiMDRiMjEwM2EwZGJhZWYwMmZwLTUsCi0gICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAotICAgIDB4MS5kOGY3MjBwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE5Ci0gICAgMHgxLmQ4YjNkZWJhNmFjNDkzYjA0YjIxMDNhMGRiYWVmMDJmcC01LAotICAgIDB4MS5mZjI1OWI3YjNkNzIxZWRmMDYzYTViZjZlN2ExZjkzY3AtMSwKLSAgICAweDEuZDhmNzIwcC01LAotICB9LAotICB7IC8vIEVudHJ5IDIyMAotICAgIC0weDEuZDhiM2RlYmE2YWM0OTNiMDRiMjEwM2EwZGJhZWYwMmZwLTUsCi0gICAgMHgxLmZmMjU5YjdiM2Q3MjFlZGYwNjNhNWJmNmU3YTFmOTNjcC0xLAotICAgIC0weDEuZDhmNzIwcC01LAotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIDB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKLSAgICAweDEuZmM5NzI4M2M0ZjViZDFmNzkzMjAxOTcyYjhkYjU1MWZwLTEsCi0gICAgMHgxLmQ4ZjcyMHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjIKLSAgICAtMHgxLmQ3ZWEzZDU2ZTFlNjI0NGM4Nzg2ZDc0ZjE4OWQ5OGFjcC00LAotICAgIDB4MS5mYzk3MjgzYzRmNWJkMWY3OTMyMDE5NzJiOGRiNTUxZnAtMSwKLSAgICAtMHgxLmQ4ZjcyMHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjMKLSAgICAweDEuNjBmM2ZhNDYwYjg1ODExZDJhZTcxMGNkNjllYzM2OTBwLTMsCi0gICAgMHgxLmY4NTZkNDkyNTFiZDM3YzU0ZjAwOTQyNzBlZWNiZDE4cC0xLAotICAgIDB4MS42MmI5NThwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI0Ci0gICAgLTB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKLSAgICAweDEuZjg1NmQ0OTI1MWJkMzdjNTRmMDA5NDI3MGVlY2JkMThwLTEsCi0gICAgLTB4MS42MmI5NThwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI1Ci0gICAgMHgxLmQ0YzViYjg3MmVhNTM3NTgzNGNhMGJjYTA4OGQxZDc1cC0zLAotICAgIDB4MS5mMjY4NDBlZmQ4NmNlZWEyM2YzODhiNmExMTAyZWE0ZHAtMSwKLSAgICAweDEuZDhmNzIwcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIC0weDEuZDRjNWJiODcyZWE1Mzc1ODM0Y2EwYmNhMDg4ZDFkNzVwLTMsCi0gICAgMHgxLmYyNjg0MGVmZDg2Y2VlYTIzZjM4OGI2YTExMDJlYTRkcC0xLAotICAgIC0weDEuZDhmNzIwcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDIyNwotICAgIDB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKLSAgICAweDEuZWFkMDdjZDJlMGY3ZjE5Njc5NjQ2MzYyYmJjMGViODBwLTEsCi0gICAgMHgxLjI3OWE3NHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjgKLSAgICAtMHgxLjIzODNjYTJiMjQ5ODA3ZDk1MDA1ZDk2Y2ZkYWVjZDZjcC0yLAotICAgIDB4MS5lYWQwN2NkMmUwZjdmMTk2Nzk2NDYzNjJiYmMwZWI4MHAtMSwKLSAgICAtMHgxLjI3OWE3NHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjkKLSAgICAweDEuNWJhYzA1ZTFlMGE3YzJkZTI4MGZjYjkzYmU2N2E0ZGFwLTIsCi0gICAgMHgxLmUxOTYwMjczYTRhYWExYmQxOWVmMGNjYWE4ODc0MTgzcC0xLAotICAgIDB4MS42MmI5NThwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMwCi0gICAgLTB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKLSAgICAweDEuZTE5NjAyNzNhNGFhYTFiZDE5ZWYwY2NhYTg4NzQxODNwLTEsCi0gICAgLTB4MS42MmI5NThwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgMHgxLjkyYWJhODk4MWIyNWRlZGE0Y2MxODE3MjUxNzIzYTFicC0yLAotICAgIDB4MS5kNmMwYjEzZGY5OTYxM2E0OTMwNmI0ZGM2YzU3YWEwM3AtMSwKLSAgICAweDEuOWRkODNjcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIC0weDEuOTJhYmE4OTgxYjI1ZGVkYTRjYzE4MTcyNTE3MjNhMWJwLTIsCi0gICAgMHgxLmQ2YzBiMTNkZjk5NjEzYTQ5MzA2YjRkYzZjNTdhYTAzcC0xLAotICAgIC0weDEuOWRkODNjcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDIzMwotICAgIDB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKLSAgICAweDEuY2E1OWM3MTlmOTYwNzVkZDZiN2EwZmY0NDNhZDU5ZGNwLTEsCi0gICAgMHgxLmQ4ZjcyMHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzQKLSAgICAtMHgxLmM4NTNjNzA0ZTNiOTQzMjIwMzFkNmI0N2FlZjg1M2M5cC0yLAotICAgIDB4MS5jYTU5YzcxOWY5NjA3NWRkNmI3YTBmZjQ0M2FkNTlkY3AtMSwKLSAgICAtMHgxLmQ4ZjcyMHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzUKLSAgICAweDEuZmM3NjlhZWNkMjY1Y2ZlYTA4ZTBmZjMwYzJmYmNhY2RwLTIsCi0gICAgMHgxLmJjNmJkODg5YThhNTlkYmI1NmU1NDZhMzdhZTc5OGY1cC0xLAotICAgIDB4MS4wYTBiMDJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgLTB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKLSAgICAweDEuYmM2YmQ4ODlhOGE1OWRiYjU2ZTU0NmEzN2FlNzk4ZjVwLTEsCi0gICAgLTB4MS4wYTBiMDJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM3Ci0gICAgMHgxLjI5NTQ2NDRjZWI4ZTNhMjQ3OWM4M2FlODRhZjU3ZDNlcC0xLAotICAgIDB4MS5hMGQxZjg2MTNlYmM2MGM3ZWU2NTAyZWUxODNjODllN3AtMSwKLSAgICAweDEuM2QzZTM2cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIzOAotICAgIC0weDEuMjk1NDY0NGNlYjhlM2EyNDc5YzgzYWU4NGFmNTdkM2VwLTEsCi0gICAgMHgxLmEwZDFmODYxM2ViYzYwYzdlZTY1MDJlZTE4M2M4OWU3cC0xLAotICAgIC0weDEuM2QzZTM2cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDIzOQotICAgIDB4MS4zYWFkMDBhMDkyNjhhMzlkZjE2NTNjNzBkYjkxZjE1N3AtMSwKLSAgICAweDEuOTNlMjkzYjIzYTZhYTFhZTUzNzMyMTRlYjhmYjllOTZwLTEsCi0gICAgMHgxLjUyZTFmOHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDAKLSAgICAtMHgxLjNhYWQwMGEwOTI2OGEzOWRmMTY1M2M3MGRiOTFmMTU3cC0xLAotICAgIDB4MS45M2UyOTNiMjNhNmFhMWFlNTM3MzIxNGViOGZiOWU5NnAtMSwKLSAgICAtMHgxLjUyZTFmOHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDEKLSAgICAweDEuNGI3NWJiYWUzODhhN2YzNDY2ZTdmMmQ2YmRjZjcyYmJwLTEsCi0gICAgMHgxLjg2M2E4M2E4ZDk4MjZjNjEzNTUwOTQwNmViZTA1YzBmcC0xLAotICAgIDB4MS42ODg1YmFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQyCi0gICAgLTB4MS40Yjc1YmJhZTM4OGE3ZjM0NjZlN2YyZDZiZGNmNzJiYnAtMSwKLSAgICAweDEuODYzYTgzYThkOTgyNmM2MTM1NTA5NDA2ZWJlMDVjMGZwLTEsCi0gICAgLTB4MS42ODg1YmFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgMHgxLjViYTZlOGRiMTgzMzQ3NTcxMmI5YTQyYTFhZDBkMmMycC0xLAotICAgIDB4MS43N2UwMDZjODdjYmFkZWQ2NmVjNWI5NjBjOTNjNTY4YXAtMSwKLSAgICAweDEuN2UyOTdjcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDI0NAotICAgIC0weDEuNWJhNmU4ZGIxODMzNDc1NzEyYjlhNDJhMWFkMGQyYzJwLTEsCi0gICAgMHgxLjc3ZTAwNmM4N2NiYWRlZDY2ZWM1Yjk2MGM5M2M1NjhhcC0xLAotICAgIC0weDEuN2UyOTdjcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDI0NQotICAgIDB4MS42YjM5MjBkODExNzgyODkyOGZlMTBhYzcwYmE2OWU3NnAtMSwKLSAgICAweDEuNjhkOWFkMjk3MzZjMTcwNGNhZWE2YTJkYjZlNzEyMjNwLTEsCi0gICAgMHgxLjkzY2QzZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDYKLSAgICAtMHgxLjZiMzkyMGQ4MTE3ODI4OTI4ZmUxMGFjNzBiYTY5ZTc2cC0xLAotICAgIDB4MS42OGQ5YWQyOTczNmMxNzA0Y2FlYTZhMmRiNmU3MTIyM3AtMSwKLSAgICAtMHgxLjkzY2QzZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDcKLSAgICAweDEuN2EyNTQ1MDQ0MzA5ODgzNmM1MjAyMzc1ZGI0Yjg0NjJwLTEsCi0gICAgMHgxLjU5MmU1NTc4YzllYzY2YWNjZWRkZDRkYzZjZTY2YjI2cC0xLAotICAgIDB4MS5hOTcxcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDI0OAotICAgIC0weDEuN2EyNTQ1MDQ0MzA5ODgzNmM1MjAyMzc1ZGI0Yjg0NjJwLTEsCi0gICAgMHgxLjU5MmU1NTc4YzllYzY2YWNjZWRkZDRkYzZjZTY2YjI2cC0xLAotICAgIC0weDEuYTk3MXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDkKLSAgICAweDEuODg2NDgyYWU2Nzk3YjM4MzY0ZjVjNzJjZTlhM2I3NmZwLTEsCi0gICAgMHgxLjQ4ZTUyOWQ0MjllNzIxZWM4YmIxZTAxNGY5NGQ0OGYxcC0xLAotICAgIDB4MS5iZjE0YzJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUwCi0gICAgLTB4MS44ODY0ODJhZTY3OTdiMzgzNjRmNWM3MmNlOWEzYjc2ZnAtMSwKLSAgICAweDEuNDhlNTI5ZDQyOWU3MjFlYzhiYjFlMDE0Zjk0ZDQ4ZjFwLTEsCi0gICAgLTB4MS5iZjE0YzJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgMHgxLjk1ZjA1NjMzN2FjYzFkMmQ1NTc1MjUyMzJlOTE1NDY3cC0xLAotICAgIDB4MS4zODA1OWM4MzNjNThlYTk3MGY3Yjk2ZDZhZGEzZDljNHAtMSwKLSAgICAweDEuZDRiODg0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDI1MgotICAgIC0weDEuOTVmMDU2MzM3YWNjMWQyZDU1NzUyNTIzMmU5MTU0NjdwLTEsCi0gICAgMHgxLjM4MDU5YzgzM2M1OGVhOTcwZjdiOTZkNmFkYTNkOWM0cC0xLAotICAgIC0weDEuZDRiODg0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDI1MwotICAgIDB4MS5hMmMyODk1ZWRiMGQ0YmE1MWNkYmQ1MzkwY2FjNDY4ZnAtMSwKLSAgICAweDEuMjY5NzZiMWIxNmQxOTA5MWMwOTI1OTc2NWM0YjM4NzJwLTEsCi0gICAgMHgxLmVhNWMzZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTQKLSAgICAtMHgxLmEyYzI4OTVlZGIwZDRiYTUxY2RiZDUzOTBjYWM0NjhmcC0xLAotICAgIDB4MS4yNjk3NmIxYjE2ZDE5MDkxYzA5MjU5NzY1YzRiMzg3MnAtMSwKLSAgICAtMHgxLmVhNWMzZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTUKLSAgICAweDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCi0gICAgMHgxLmU4YzQwNDA2NzhkMmVmNzM2MzMzYTQ1MzdhMTExM2ExcC0yLAotICAgIDB4MS4xMmJkOTJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTYKLSAgICAtMHgxLmMxZTk4OGI5NTYxNGFiZDY1ZDNkODExZjVjODgwMzlicC0xLAotICAgIDB4MS5lOGM0MDQwNjc4ZDJlZjczNjMzM2E0NTM3YTExMTNhMXAtMiwKLSAgICAtMHgxLjEyYmQ5MnAwLAotICB9LAotICB7IC8vIEVudHJ5IDI1NwotICAgIDB4MS5kMjk0ZDJlMDZiM2QxMGE0ZGUyNjMxNzJkNTBmNDQ5N3AtMSwKLSAgICAweDEuYTVhNGM4ZjU5OGZhMDA3ODk3MTMxNmViNDkwN2Y5N2JwLTIsCi0gICAgMHgxLjI1N2IyNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI1OAotICAgIC0weDEuZDI5NGQyZTA2YjNkMTBhNGRlMjYzMTcyZDUwZjQ0OTdwLTEsCi0gICAgMHgxLmE1YTRjOGY1OThmYTAwNzg5NzEzMTZlYjQ5MDdmOTdicC0yLAotICAgIC0weDEuMjU3YjI0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU5Ci0gICAgMHgxLmUwYzA0YmI2NWJkMzMwMTJiZTcyYTM0MGRmMmMwNDRicC0xLAotICAgIDB4MS42MDQzNWJlZWQxMGNhMDU3NjlmMGEzZDg2YTVhMjBmM3AtMiwKLSAgICAweDEuMzgzOGI2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYwCi0gICAgLTB4MS5lMGMwNGJiNjViZDMzMDEyYmU3MmEzNDBkZjJjMDQ0YnAtMSwKLSAgICAweDEuNjA0MzViZWVkMTBjYTA1NzY5ZjBhM2Q4NmE1YTIwZjNwLTIsCi0gICAgLTB4MS4zODM4YjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAweDEuZWM1ODg0ZWI5OTBjM2RlYWFlZWJkM2YwZjg0ZDY5NjJwLTEsCi0gICAgMHgxLjE4ZmVlMGZjNDVjMzFhNzliMmI5NDc4YjFmNzJhOWVicC0yLAotICAgIDB4MS40YWY2NDhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjIKLSAgICAtMHgxLmVjNTg4NGViOTkwYzNkZWFhZWViZDNmMGY4NGQ2OTYycC0xLAotICAgIDB4MS4xOGZlZTBmYzQ1YzMxYTc5YjJiOTQ3OGIxZjcyYTllYnAtMiwKLSAgICAtMHgxLjRhZjY0OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI2MwotICAgIDB4MS5mNTRkOTgzNWIwZTY2ZTE3NjEyMTYwMjcyNTIxZjNiMHAtMSwKLSAgICAweDEuYTA3MjI1MjA5MGMzMzgyODc2N2FlZTNlMDQwY2NkZGZwLTMsCi0gICAgMHgxLjVkYjNkYXAwLAotICB9LAotICB7IC8vIEVudHJ5IDI2NAotICAgIC0weDEuZjU0ZDk4MzViMGU2NmUxNzYxMjE2MDI3MjUyMWYzYjBwLTEsCi0gICAgMHgxLmEwNzIyNTIwOTBjMzM4Mjg3NjdhZWUzZTA0MGNjZGRmcC0zLAotICAgIC0weDEuNWRiM2RhcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY1Ci0gICAgMHgxLmZiOTMzZDFjZDkzMTY4NWU5MDJlNDAzYTFiYWFlY2ZkcC0xLAotICAgIDB4MS4wY2FiNzcwM2E4ZTlkYWNjNGFkMDExODhiNDQzY2ZlZXAtMywKLSAgICAweDEuNzA3MTZjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY2Ci0gICAgLTB4MS5mYjkzM2QxY2Q5MzE2ODVlOTAyZTQwM2ExYmFhZWNmZHAtMSwKLSAgICAweDEuMGNhYjc3MDNhOGU5ZGFjYzRhZDAxMTg4YjQ0M2NmZWVwLTMsCi0gICAgLTB4MS43MDcxNmNwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjcKLSAgICAweDEuZmYyMGQ5ZDNlODk4NGZlYzMzOTgyZTQyZjU4ODRmMmNwLTEsCi0gICAgMHgxLmRkZDE3MWEzYzk4NTFlNzgxOWI1ZTRmNmY5MGU3NjNkcC01LAotICAgIDB4MS44MzJlZmVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjgKLSAgICAtMHgxLmZmMjBkOWQzZTg5ODRmZWMzMzk4MmU0MmY1ODg0ZjJjcC0xLAotICAgIDB4MS5kZGQxNzFhM2M5ODUxZTc4MTliNWU0ZjZmOTBlNzYzZHAtNSwKLSAgICAtMHgxLjgzMmVmZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDI2OQotICAgIDB4MS5mZmYxOGYwM2E0YjdlNmFhY2Y1MWY4MzkzMWU4NTA0MnAtMSwKLSAgICAtMHgxLmU2NjhjYjE1NGVlYTY4YmJjN2Y4MTU0ZjQ2YjJlNTM2cC03LAotICAgIDB4MS45NWVjOTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzAKLSAgICAtMHgxLmZmZjE4ZjAzYTRiN2U2YWFjZjUxZjgzOTMxZTg1MDQycC0xLAotICAgIC0weDEuZTY2OGNiMTU0ZWVhNjhiYmM3ZjgxNTRmNDZiMmU1MzZwLTcsCi0gICAgLTB4MS45NWVjOTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzEKLSAgICAweDEuZmUwNDNmODc1YzZlZDRhMmMxYjhkNjlhMDlmY2Y1NzhwLTEsCi0gICAgLTB4MS42ODJmMmJiODdhOGY1MDExNzM1MDk0MTc2YzliNmRhY3AtNCwKLSAgICAweDEuYThhYTFjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcyCi0gICAgLTB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKLSAgICAtMHgxLjY4MmYyYmI4N2E4ZjUwMTE3MzUwOTQxNzZjOWI2ZGFjcC00LAotICAgIC0weDEuYThhYTFjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjczCi0gICAgMHgxLmIzZDM2YTk2ODgwY2Y2OWQ5ODg0YTQ5ZjUzODFlOTE3cC0xLAotICAgIDB4MS4wY2IzNDQ5YTBkMGE5ZTA2NDNkNDFmNGE1YjBmN2RiN3AtMSwKLSAgICAweDEuMDRhZmY4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc0Ci0gICAgLTB4MS5iM2QzNmE5Njg4MGNmNjlkOTg4NGE0OWY1MzgxZTkxN3AtMSwKLSAgICAweDEuMGNiMzQ0OWEwZDBhOWUwNjQzZDQxZjRhNWIwZjdkYjdwLTEsCi0gICAgLTB4MS4wNGFmZjhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzUKLSAgICAweDEuYjNkNDFhZWJjZjM5MWMzMGMzZDJmMWVlN2I3OTcxMGNwLTEsCi0gICAgMHgxLjBjYjIyNjk3MTUzYmNmMWY4YTYzYWNkZGQ5NmM1NGNicC0xLAotICAgIDB4MS4wNGIwYTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzYKLSAgICAtMHgxLmIzZDQxYWViY2YzOTFjMzBjM2QyZjFlZTdiNzk3MTBjcC0xLAotICAgIDB4MS4wY2IyMjY5NzE1M2JjZjFmOGE2M2FjZGRkOTZjNTRjYnAtMSwKLSAgICAtMHgxLjA0YjBhMHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI3NwotICAgIDB4MS5iM2Q0Y2I0MDVhYjMyOTJiZTdkZjViMWI5ODAzMmZiZXAtMSwKLSAgICAweDEuMGNiMTA4OTNhOWI1NDcxYTQ0MzU2MDcyY2IzM2IzOTVwLTEsCi0gICAgMHgxLjA0YjE0OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI3OAotICAgIC0weDEuYjNkNGNiNDA1YWIzMjkyYmU3ZGY1YjFiOTgwMzJmYmVwLTEsCi0gICAgMHgxLjBjYjEwODkzYTliNTQ3MWE0NDM1NjA3MmNiMzNiMzk1cC0xLAotICAgIC0weDEuMDRiMTQ4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLmIzZDU3Yjk0MmE3YWQxOWU5Yjk4OTJjOTMxOWUxYmU2cC0xLAotICAgIDB4MS4wY2FmZWE4ZmNhNzc4MTIzNmE1N2U1YjFjOGFlZDM5Y3AtMSwKLSAgICAweDEuMDRiMWYwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgwCi0gICAgLTB4MS5iM2Q1N2I5NDJhN2FkMTllOWI5ODkyYzkzMTllMWJlNnAtMSwKLSAgICAweDEuMGNhZmVhOGZjYTc3ODEyMzZhNTdlNWIxYzhhZWQzOWNwLTEsCi0gICAgLTB4MS4wNGIxZjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODEKLSAgICAweDEuYjNkNjJiZTczZThmYzk5OGM2YzJkZjY1OTA0MjU2MTNwLTEsCi0gICAgMHgxLjBjYWVjYzhiNzc4MmY4NjgyN2FmOTJiMGIyMzc0NTEwcC0xLAotICAgIDB4MS4wNGIyOThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODIKLSAgICAtMHgxLmIzZDYyYmU3M2U4ZmM5OThjNmMyZGY2NTkwNDI1NjEzcC0xLAotICAgIDB4MS4wY2FlY2M4Yjc3ODJmODY4MjdhZjkyYjBiMjM3NDUxMHAtMSwKLSAgICAtMHgxLjA0YjI5OHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI4MwotICAgIDB4MS5iM2Q2ZGMzOTk2ZjFjNTJhYTFmODNiZGVlMWQwZTAyM3AtMSwKLSAgICAweDEuMGNhZGFlODZiMGQ4MjgxNWQ4ZjYzMmU2N2M3ZTFhOTlwLTEsCi0gICAgMHgxLjA0YjM0MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI4NAotICAgIC0weDEuYjNkNmRjMzk5NmYxYzUyYWExZjgzYmRlZTFkMGUwMjNwLTEsCi0gICAgMHgxLjBjYWRhZTg2YjBkODI4MTVkOGY2MzJlNjdjN2UxYTk5cC0xLAotICAgIC0weDEuMDRiMzQwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg1Ci0gICAgMHgxLmIzZDc4YzhiMzNhMDc4NjRiNmE4Nzg1NzNkYjM0YmNhcC0xLAotICAgIDB4MS4wY2FjOTA4MTc2Nzc4YjVhMGNiYWQyMWVlNzVjZTc2NXAtMSwKLSAgICAweDEuMDRiM2U4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg2Ci0gICAgLTB4MS5iM2Q3OGM4YjMzYTA3ODY0YjZhODc4NTczZGIzNGJjYXAtMSwKLSAgICAweDEuMGNhYzkwODE3Njc3OGI1YTBjYmFkMjFlZTc1Y2U3NjVwLTEsCi0gICAgLTB4MS4wNGIzZThwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuYjNkODNjZGMxNDliOTc1N2RmMTk1YWQ4ODVhYjUyMDFwLTEsCi0gICAgMHgxLjBjYWI3MjdiYzg2MTlkNjI4MzYxODc2ZTFmMzBhNjMzcC0xLAotICAgIDB4MS4wNGI0OTBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODgKLSAgICAtMHgxLmIzZDgzY2RjMTQ5Yjk3NTdkZjE5NWFkODg1YWI1MjAxcC0xLAotICAgIDB4MS4wY2FiNzI3YmM4NjE5ZDYyODM2MTg3NmUxZjMwYTYzM3AtMSwKLSAgICAtMHgxLjA0YjQ5MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI4OQotICAgIDB4MS5iM2Q4ZThmOTkwODM2MGIzOGNkMTNmY2JmNjIyNGQ5M3AtMSwKLSAgICAweDEuMGNhYTViNDUwYTQzMjRmMjA0YTU1NmIwNzJkYTEyNGFwLTEsCi0gICAgMHgxLjA0YjUzNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIC0weDEuYjNkOGU4Zjk5MDgzNjBiMzhjZDEzZmNiZjYyMjRkOTNwLTEsCi0gICAgMHgxLjBjYWE1YjQ1MGE0MzI0ZjIwNGE1NTZiMDcyZGExMjRhcC0xLAotICAgIC0weDEuMDRiNTM0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkxCi0gICAgLTAuMGYsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xNDksCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkyCi0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDI5MwotICAgIDAuMCwKLSAgICAweDEucDAsCi0gICAgMC4wLAotICB9LAotICB7IC8vIEVudHJ5IDI5NAotICAgIDAuMGYsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTE0OSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTUKLSAgICAtMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTE0OSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTYKLSAgICAweDEuMTc3M2QzNmE2NGRmNjFkNjcxNWU2MGFmMDYzNTU5ZjRwLTEsCi0gICAgMHgxLmFkMDJjOGI5Y2M5M2Y0NDhlZjRlYjA2OGE4ODkyMmEzcC0xLAotICAgIDB4MS4yNzlhNzJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk3Ci0gICAgLTB4MS4xNzczZDM2YTY0ZGY2MWQ2NzE1ZTYwYWYwNjM1NTlmNHAtMSwKLSAgICAweDEuYWQwMmM4YjljYzkzZjQ0OGVmNGViMDY4YTg4OTIyYTNwLTEsCi0gICAgLTB4MS4yNzlhNzJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgMHgxLjE3NzNkNTE3NjdhNzhmZTkxYjU1ZjZiN2U1ZmQ0NGMycC0xLAotICAgIDB4MS5hZDAyYzdhMjU4YmZiMzYyYWJiZTg2ZmI0OGY0ZTk4YnAtMSwKLSAgICAweDEuMjc5YTc0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDI5OQotICAgIC0weDEuMTc3M2Q1MTc2N2E3OGZlOTFiNTVmNmI3ZTVmZDQ0YzJwLTEsCi0gICAgMHgxLmFkMDJjN2EyNThiZmIzNjJhYmJlODZmYjQ4ZjRlOThicC0xLAotICAgIC0weDEuMjc5YTc0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIDB4MS4xNzczZDZjNDZhNmVhNjg3ZjAzNjI1MTk0ZDI1YmI1MnAtMSwKLSAgICAweDEuYWQwMmM2OGFlNGU5YzU3OWEwOGMwNGNlNTliZTQwMDJwLTEsCi0gICAgMHgxLjI3OWE3NnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDEKLSAgICAtMHgxLjE3NzNkNmM0NmE2ZWE2ODdmMDM2MjUxOTRkMjViYjUycC0xLAotICAgIDB4MS5hZDAyYzY4YWU0ZTljNTc5YTA4YzA0Y2U1OWJlNDAwMnAtMSwKLSAgICAtMHgxLjI3OWE3NnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDIKLSAgICAweDEuZjk1YjhmNDA1MDEwNTdhYzQ5YWNlZjEzOTkzYjBjNTVwLTEsCi0gICAgLTB4MS40OGQxYzllOThiNmMwODc4NGYxMDA0MGY0N2ExMjE5MXAtMywKLSAgICAweDEuYmI2N2FjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgLTB4MS5mOTViOGY0MDUwMTA1N2FjNDlhY2VmMTM5OTNiMGM1NXAtMSwKLSAgICAtMHgxLjQ4ZDFjOWU5OGI2YzA4Nzg0ZjEwMDQwZjQ3YTEyMTkxcC0zLAotICAgIC0weDEuYmI2N2FjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA0Ci0gICAgMHgxLmY5NWI4ZTliZTcyNzcwMmY3NTk1YWUxMDAwYTE0YTFhcC0xLAotICAgIC0weDEuNDhkMWQ5YjQ2N2UzNzk1NTMzNzMxMWRlY2QwOWZjNzRwLTMsCi0gICAgMHgxLmJiNjdhZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDMwNQotICAgIC0weDEuZjk1YjhlOWJlNzI3NzAyZjc1OTVhZTEwMDBhMTRhMWFwLTEsCi0gICAgLTB4MS40OGQxZDliNDY3ZTM3OTU1MzM3MzExZGVjZDA5ZmM3NHAtMywKLSAgICAtMHgxLmJiNjdhZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDMwNgotICAgIDB4MS5mOTViOGRmNzdlMzZhMzQ0NjcwZWQwNzE0OTE5MWE1OHAtMSwKLSAgICAtMHgxLjQ4ZDFlOTdmNDQ1NWM2ZWFiMTA0ODAyMjIzOGIyYmQwcC0zLAotICAgIDB4MS5iYjY3YjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAtMHgxLmY5NWI4ZGY3N2UzNmEzNDQ2NzBlZDA3MTQ5MTkxYTU4cC0xLAotICAgIC0weDEuNDhkMWU5N2Y0NDU1YzZlYWIxMDQ4MDIyMjM4YjJiZDBwLTMsCi0gICAgLTB4MS5iYjY3YjBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICAweDEuYjFkODJlODM1YTkxOGRlMThmNWZkYWRjOGIxMjQwY2ZwLTIsCi0gICAgMHgxLmNmYzZkMDExYTBlNWQwZmNlYmI1NGI1ZmVkNjcyOTQwcC0xLAotICAgIDB4MS5iZmZmZmVwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA5Ci0gICAgLTB4MS5iMWQ4MmU4MzVhOTE4ZGUxOGY1ZmRhZGM4YjEyNDBjZnAtMiwKLSAgICAweDEuY2ZjNmQwMTFhMGU1ZDBmY2ViYjU0YjVmZWQ2NzI5NDBwLTEsCi0gICAgLTB4MS5iZmZmZmVwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEwCi0gICAgMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAotICAgIDB4MS5jZmM2Y2ZhNTJhZDlmNjJkNmQ1NDIzY2E4MzM5YTAwYXAtMSwKLSAgICAweDEuYzBwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgLTB4MS5iMWQ4MzA1MzIxNjE2OTQ3NmY0ZDE5ODJiOWIxNGFiMXAtMiwKLSAgICAweDEuY2ZjNmNmYTUyYWQ5ZjYyZDZkNTQyM2NhODMzOWEwMGFwLTEsCi0gICAgLTB4MS5jMHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAweDEuYjFkODMyMjJlODMwZDgzNzQzMjU4ZmQwOTA0MGVlNTZwLTIsCi0gICAgMHgxLmNmYzZjZjM4YjRjZGE3NmMzYjA5YjE3ZTlkZWIxOWVhcC0xLAotICAgIDB4MS5jMDAwMDJwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgLTB4MS5iMWQ4MzIyMmU4MzBkODM3NDMyNThmZDA5MDQwZWU1NnAtMiwKLSAgICAweDEuY2ZjNmNmMzhiNGNkYTc2YzNiMDliMTdlOWRlYjE5ZWFwLTEsCi0gICAgLTB4MS5jMDAwMDJwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLjQ0ZWIzNjkxNDI4MDYyYjI3OTI1YzU4NWFkNTlkNjJhcC0xLAotICAgIDB4MS44YmIxMDZlYWM3Yzc1ZDMzZmJiMTk0NDYzMTNlY2MyZnAtMSwKLSAgICAweDEuNWZmZmZlcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDMxNQotICAgIC0weDEuNDRlYjM2OTE0MjgwNjJiMjc5MjVjNTg1YWQ1OWQ2MmFwLTEsCi0gICAgMHgxLjhiYjEwNmVhYzdjNzVkMzNmYmIxOTQ0NjMxM2VjYzJmcC0xLAotICAgIC0weDEuNWZmZmZlcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDMxNgotICAgIDB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKLSAgICAweDEuOGJiMTA1YTVkYzkwMDYxOGY4MGZhNTFkMzAzYzY5cC0xLAotICAgIDB4MS42MHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTcKLSAgICAtMHgxLjQ0ZWIzODFjZjM4NmFiMDRhNGY4NjU2YWJlYTgwYjgzcC0xLAotICAgIDB4MS44YmIxMDVhNWRjOTAwNjE4ZjgwZmE1MWQzMDNjNjlwLTEsCi0gICAgLTB4MS42MHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTgKLSAgICAweDEuNDRlYjM5YThhNDhiYWU2Yjk4YWUxMWM5NDAwNTM1ZTVwLTEsCi0gICAgMHgxLjhiYjEwNDYwZjE1NzIzNGNlZWM3ZDk2NDRhMWE3OGU1cC0xLAotICAgIDB4MS42MDAwMDJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE5Ci0gICAgLTB4MS40NGViMzlhOGE0OGJhZTZiOThhZTExYzk0MDA1MzVlNXAtMSwKLSAgICAweDEuOGJiMTA0NjBmMTU3MjM0Y2VlYzdkOTY0NGExYTc4ZTVwLTEsCi0gICAgLTB4MS42MDAwMDJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLmRhZDkwMTdiOTY0MDhjMzc1ZDRmYWYwZTQ3NzZkMWZjcC0xLAotICAgIDB4MS43ZWY0OGI5YTZmZDVjMjRmNWVjMzk4MzllMTcyOWI3OHAtMiwKLSAgICAweDEuMmZmZmZlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIxCi0gICAgLTB4MS5kYWQ5MDE3Yjk2NDA4YzM3NWQ0ZmFmMGU0Nzc2ZDFmY3AtMSwKLSAgICAweDEuN2VmNDhiOWE2ZmQ1YzI0ZjVlYzM5ODM5ZTE3MjliNzhwLTIsCi0gICAgLTB4MS4yZmZmZmVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjIKLSAgICAweDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCi0gICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAotICAgIDB4MS4zMHAwLAotICB9LAotICB7IC8vIEVudHJ5IDMyMwotICAgIC0weDEuZGFkOTAyZmE4YWM4NzBmNTJmMWI4NDNhYzgzYmMzZWRwLTEsCi0gICAgMHgxLjdlZjQ4NDJmMGJjY2Q2MGQ0YTUwMWRjOGJjNGI1N2IzcC0yLAotICAgIC0weDEuMzBwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjQKLSAgICAweDEuZGFkOTA0Nzk3ZjQ4ZWE0ZWY0ZmQyZTQ3ZmU0ZDUyYmRwLTEsCi0gICAgMHgxLjdlZjQ3Y2MzYTdiZGVkZjkyNTIwNzQyNjNkOGE0NTk2cC0yLAotICAgIDB4MS4zMDAwMDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjUKLSAgICAtMHgxLmRhZDkwNDc5N2Y0OGVhNGVmNGZkMmU0N2ZlNGQ1MmJkcC0xLAotICAgIDB4MS43ZWY0N2NjM2E3YmRlZGY5MjUyMDc0MjYzZDhhNDU5NnAtMiwKLSAgICAtMHgxLjMwMDAwMnAwLAotICB9LAotICB7IC8vIEVudHJ5IDMyNgotICAgIDB4MS40YjcwODA5M2M5Y2I0NTM1NWU3ODIxZTVhYWQ5OGNlOHAtMSwKLSAgICAtMHgxLjg2M2VmNTA4NWJjYzM1OGQyYWU4NTI1YmYzOWYwYzQwcC0xLAotICAgIDB4MS4zN2ZmZmVwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjcKLSAgICAtMHgxLjRiNzA4MDkzYzljYjQ1MzU1ZTc4MjFlNWFhZDk4Y2U4cC0xLAotICAgIC0weDEuODYzZWY1MDg1YmNjMzU4ZDJhZTg1MjViZjM5ZjBjNDBwLTEsCi0gICAgLTB4MS4zN2ZmZmVwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjgKLSAgICAweDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCi0gICAgLTB4MS44NjNlZmEzNjFkYzI1MmJjYTFlYWVlZDM5NzQ5YmVkN3AtMSwKLSAgICAweDEuMzhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjkKLSAgICAtMHgxLjRiNzA3YTdhY2RlY2M4NDIzOTQ2M2U3OGIzMTJmYTEwcC0xLAotICAgIC0weDEuODYzZWZhMzYxZGMyNTJiY2ExZWFlZWQzOTc0OWJlZDdwLTEsCi0gICAgLTB4MS4zOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDMzMAotICAgIDB4MS40YjcwNzQ2MWQxZjk5NDQ3NmM2NzdjNWFkNWRkYjI2NHAtMSwKLSAgICAtMHgxLjg2M2VmZjYzZGZhMDBiZmM3NThiYWY0Njk0NjlkNzQxcC0xLAotICAgIDB4MS4zODAwMDJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzEKLSAgICAtMHgxLjRiNzA3NDYxZDFmOTk0NDc2YzY3N2M1YWQ1ZGRiMjY0cC0xLAotICAgIC0weDEuODYzZWZmNjNkZmEwMGJmYzc1OGJhZjQ2OTQ2OWQ3NDFwLTEsCi0gICAgLTB4MS4zODAwMDJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzIKLSAgICAweDEuMDY2ZTdmNzA1YTZjYTJiOWUxMDdmN2RjOWYzYjI2ZTZwLTQsCi0gICAgMHgxLmZlZjJiMmQwYTEwZTI3MzljNTY2OTM2NDgwYTE0NzlicC0xLAotICAgIDB4MS4wNjljOGNwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMzCi0gICAgLTB4MS4wNjZlN2Y3MDVhNmNhMmI5ZTEwN2Y3ZGM5ZjNiMjZlNnAtNCwKLSAgICAweDEuZmVmMmIyZDBhMTBlMjczOWM1NjY5MzY0ODBhMTQ3OWJwLTEsCi0gICAgLTB4MS4wNjljOGNwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM0Ci0gICAgMHgxLjA1ZTQ3NmQyN2ZlYmM4YjdlOTY5MDAwOWIzNjdjMzI3cC0zLAotICAgIDB4MS5mYmNiZTY4ZGQxMGJhZDBhMjI5Y2NiYjU4MGNjNTQzNnAtMSwKLSAgICAweDEuMDY5YzhjcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDMzNQotICAgIC0weDEuMDVlNDc2ZDI3ZmViYzhiN2U5NjkwMDA5YjM2N2MzMjdwLTMsCi0gICAgMHgxLmZiY2JlNjhkZDEwYmFkMGEyMjljY2JiNTgwY2M1NDM2cC0xLAotICAgIC0weDEuMDY5YzhjcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDMzNgotICAgIDB4MS44NzdlMmRlNWM5YTA2NmI4ZGI1OTVhZGMxNDlhZjBjMHAtMywKLSAgICAweDEuZjY4ZWViZWY3MmU3ZjYxMjZiM2YzZGRlNjQ2YTc1NWNwLTEsCi0gICAgMHgxLjg5ZWFkMnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzcKLSAgICAtMHgxLjg3N2UyZGU1YzlhMDY2YjhkYjU5NWFkYzE0OWFmMGMwcC0zLAotICAgIDB4MS5mNjhlZWJlZjcyZTdmNjEyNmIzZjNkZGU2NDZhNzU1Y3AtMSwKLSAgICAtMHgxLjg5ZWFkMnAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzgKLSAgICAweDEuMDNiZTA3YWNiOWRhYjcxOWI0MzQzYTMzYjlmYTZhZmVwLTIsCi0gICAgMHgxLmVmNDE0NTlkMmU5MGVhMWI3ZmFhZDdmYWJkMWZkNDQ0cC0xLAotICAgIDB4MS4wNjljOGNwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM5Ci0gICAgLTB4MS4wM2JlMDdhY2I5ZGFiNzE5YjQzNDNhMzNiOWZhNmFmZXAtMiwKLSAgICAweDEuZWY0MTQ1OWQyZTkwZWExYjdmYWFkN2ZhYmQxZmQ0NDRwLTEsCi0gICAgLTB4MS4wNjljOGNwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQwCi0gICAgMHgxLjQyYWJiYzViM2IyZjkxZThlY2U0NmU1ZWZmZDI4MzY5cC0yLAotICAgIDB4MS5lNWVhYTIzYTI3ZmU4ZDY4OTBhM2VkYWNlMWM2MTk5OHAtMSwKLSAgICAweDEuNDg0M2IwcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDM0MQotICAgIC0weDEuNDJhYmJjNWIzYjJmOTFlOGVjZTQ2ZTVlZmZkMjgzNjlwLTIsCi0gICAgMHgxLmU1ZWFhMjNhMjdmZThkNjg5MGEzZWRhY2UxYzYxOTk4cC0xLAotICAgIC0weDEuNDg0M2IwcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDM0MgotICAgIDB4MS44MDQ2MDE0MTFkOTNmNDc1MDkxOTY3MDA2MWRlMDdkOXAtMiwKLSAgICAweDEuZGE5NGQ0Yjk5YzNhOWE1ZTBkMWZjODZkNTMzNjlhODRwLTEsCi0gICAgMHgxLjg5ZWFkNHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDMKLSAgICAtMHgxLjgwNDYwMTQxMWQ5M2Y0NzUwOTE5NjcwMDYxZGUwN2Q5cC0yLAotICAgIDB4MS5kYTk0ZDRiOTljM2E5YTVlMGQxZmM4NmQ1MzM2OWE4NHAtMSwKLSAgICAtMHgxLjg5ZWFkNHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDQKLSAgICAweDEuYmM0YzA4YWYzNTYwODhiMTY5NDk5NWJmYWY4YTI5N2JwLTIsCi0gICAgMHgxLmNkNGJjOWFmYzAxMjMwYjJmOTgyZjY5NjhkYWI3ZjA1cC0xLAotICAgIDB4MS5jYjkxZjhwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ1Ci0gICAgLTB4MS5iYzRjMDhhZjM1NjA4OGIxNjk0OTk1YmZhZjhhMjk3YnAtMiwKLSAgICAweDEuY2Q0YmM5YWZjMDEyMzBiMmY5ODJmNjk2OGRhYjdmMDVwLTEsCi0gICAgLTB4MS5jYjkxZjhwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ2Ci0gICAgMHgxLmY2N2VhZTM0ZGMwYjQyYjQ2NWZkMmEzZmIwNzU2NGE0cC0yLAotICAgIDB4MS5iZTFkN2FkZjA3N2RlZjJhMzYwZmVjMjNkYmJjZWYwOXAtMSwKLSAgICAweDEuMDY5YzhlcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM0NwotICAgIC0weDEuZjY3ZWFlMzRkYzBiNDJiNDY1ZmQyYTNmYjA3NTY0YTRwLTIsCi0gICAgMHgxLmJlMWQ3YWRmMDc3ZGVmMmEzNjBmZWMyM2RiYmNlZjA5cC0xLAotICAgIC0weDEuMDY5YzhlcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM0OAotICAgIDB4MS4xNzUwNWM4NjIzMTg5OGZkODZiMThkMjI4MmQ5M2VlZHAtMSwKLSAgICAweDEuYWQxOWUwODQ3ZDI1ZjNhYTE0MjI4OWRhYjU1N2JmOTZwLTEsCi0gICAgMHgxLjI3NzAyMHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDkKLSAgICAtMHgxLjE3NTA1Yzg2MjMxODk4ZmQ4NmIxOGQyMjgyZDkzZWVkcC0xLAotICAgIDB4MS5hZDE5ZTA4NDdkMjVmM2FhMTQyMjg5ZGFiNTU3YmY5NnAtMSwKLSAgICAtMHgxLjI3NzAyMHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTAKLSAgICAweDEuMzIzYjhlNDBkMTY1NzVlNTBkYzdiNmU1NjdiYjUwODRwLTEsCi0gICAgMHgxLjlhNTJlMDhiMTkxYmQ1NTUxMmM4MzY1MDc0ZjE5ODdmcC0xLAotICAgIDB4MS40ODQzYjJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUxCi0gICAgLTB4MS4zMjNiOGU0MGQxNjU3NWU1MGRjN2I2ZTU2N2JiNTA4NHAtMSwKLSAgICAweDEuOWE1MmUwOGIxOTFiZDU1NTEyYzgzNjUwNzRmMTk4N2ZwLTEsCi0gICAgLTB4MS40ODQzYjJwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUyCi0gICAgMHgxLjRiZTQ5YjA4YTFlMTYyOWNiZGFhNTA3ZTE4MjU1Y2Q4cC0xLAotICAgIDB4MS44NWRjM2JiN2MyZTlhYmI1Y2NjYjZkOTZkMTJkMzljNHAtMSwKLSAgICAweDEuNjkxNzQ0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM1MwotICAgIC0weDEuNGJlNDliMDhhMWUxNjI5Y2JkYWE1MDdlMTgyNTVjZDhwLTEsCi0gICAgMHgxLjg1ZGMzYmI3YzJlOWFiYjVjY2NiNmQ5NmQxMmQzOWM0cC0xLAotICAgIC0weDEuNjkxNzQ0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS42NDMwODQ3ZGJiYmZkNDZjYmViYmM2ZDVmNTFjN2M0OXAtMSwKLSAgICAweDEuNmZjYjc4ZTFjZDY1ZDJlNGZkZTcxMThjYWFjNzlkNmRwLTEsCi0gICAgMHgxLjg5ZWFkNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTUKLSAgICAtMHgxLjY0MzA4NDdkYmJiZmQ0NmNiZWJiYzZkNWY1MWM3YzQ5cC0xLAotICAgIDB4MS42ZmNiNzhlMWNkNjVkMmU0ZmRlNzExOGNhYWM3OWQ2ZHAtMSwKLSAgICAtMHgxLjg5ZWFkNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTYKLSAgICAweDEuN2IwNWJiODdiMzg4NDRlNTYwMDNjNDFlZjgwNGIyNzNwLTEsCi0gICAgMHgxLjU4MzdjZTRkYzgzNWQ0YTU0NTRlYzBhMWJiMzk0MDgxcC0xLAotICAgIDB4MS5hYWJlNjhwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU3Ci0gICAgLTB4MS43YjA1YmI4N2IzODg0NGU1NjAwM2M0MWVmODA0YjI3M3AtMSwKLSAgICAweDEuNTgzN2NlNGRjODM1ZDRhNTQ1NGVjMGExYmIzOTQwODFwLTEsCi0gICAgLTB4MS5hYWJlNjhwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU4Ci0gICAgMHgxLjkwNGMzYjM4OWQ1NWQzZGVkZGIzOWQwNWViMzY2NTcxcC0xLAotICAgIDB4MS4zZjNhMDk0Mjc5NjZlOTUxODgwMmRlZTNiZjQ0M2E5NXAtMSwKLSAgICAweDEuY2I5MWZhcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM1OQotICAgIC0weDEuOTA0YzNiMzg5ZDU1ZDNkZWRkYjM5ZDA1ZWIzNjY1NzFwLTEsCi0gICAgMHgxLjNmM2EwOTQyNzk2NmU5NTE4ODAyZGVlM2JmNDQzYTk1cC0xLAotICAgIC0weDEuY2I5MWZhcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS5hM2VkYTIxMTc5OGE4MjY5N2Q2MjQzMWY5YWU0NmNjNHAtMSwKLSAgICAweDEuMjRlYzczZjFhZWVmNDk0MGJiOGRhMTlhODJiYmM0OWZwLTEsCi0gICAgMHgxLmVjNjU4Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjEKLSAgICAtMHgxLmEzZWRhMjExNzk4YTgyNjk3ZDYyNDMxZjlhZTQ2Y2M0cC0xLAotICAgIDB4MS4yNGVjNzNmMWFlZWY0OTQwYmI4ZGExOWE4MmJiYzQ5ZnAtMSwKLSAgICAtMHgxLmVjNjU4Y3AtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjIKLSAgICAweDEuYjVkNTQ4ODNmY2I2MTIzYmMyOGFhYzkxZjA4NWU0ZWVwLTEsCi0gICAgMHgxLjA5NmFiYjg2MmY5YmQ1NTE1OTgyYzI4MThjMzMyZmY5cC0xLAotICAgIDB4MS4wNjljOGVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjMKLSAgICAtMHgxLmI1ZDU0ODgzZmNiNjEyM2JjMjhhYWM5MWYwODVlNGVlcC0xLAotICAgIDB4MS4wOTZhYmI4NjJmOWJkNTUxNTk4MmMyODE4YzMzMmZmOXAtMSwKLSAgICAtMHgxLjA2OWM4ZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM2NAotICAgIDB4MS5jNWYwNWEwMTM1ZDQ4ODJjNzY4Y2RmMThlMmUxMTEyY3AtMSwKLSAgICAweDEuZDlhMzljMGRkZGM2NTRjNzE3ZTMwMzZkYTVkZDY4NWNwLTIsCi0gICAgMHgxLjE3MDY1NnAwLAotICB9LAotICB7IC8vIEVudHJ5IDM2NQotICAgIC0weDEuYzVmMDVhMDEzNWQ0ODgyYzc2OGNkZjE4ZTJlMTExMmNwLTEsCi0gICAgMHgxLmQ5YTM5YzBkZGRjNjU0YzcxN2UzMDM2ZGE1ZGQ2ODVjcC0yLAotICAgIC0weDEuMTcwNjU2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY2Ci0gICAgMHgxLmQ0MmRlNTNlMzE1YzgzOWNlMTg4ZTIwMTIwNWU5OWRlcC0xLAotICAgIDB4MS45ZTdmODE4NDBjMGJiZDBmMWIxMzczMzA2MTA2MmQzNHAtMiwKLSAgICAweDEuMjc3MDFlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY3Ci0gICAgLTB4MS5kNDJkZTUzZTMxNWM4MzljZTE4OGUyMDEyMDVlOTlkZXAtMSwKLSAgICAweDEuOWU3ZjgxODQwYzBiYmQwZjFiMTM3MzMwNjEwNjJkMzRwLTIsCi0gICAgLTB4MS4yNzcwMWVwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjgKLSAgICAweDEuZTA3ZWVmNDVkOTFlZWE4YTZjYzczNjlhYTBlNTUzODhwLTEsCi0gICAgMHgxLjYxYTc1ZTJkZWI1OTY3MzFjOGNkNDVlM2Q5Nzk0NTI2cC0yLAotICAgIDB4MS4zN2Q5ZTZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjkKLSAgICAtMHgxLmUwN2VlZjQ1ZDkxZWVhOGE2Y2M3MzY5YWEwZTU1Mzg4cC0xLAotICAgIDB4MS42MWE3NWUyZGViNTk2NzMxYzhjZDQ1ZTNkOTc5NDUyNnAtMiwKLSAgICAtMHgxLjM3ZDllNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIDB4MS5lYWQ2ODMzYjJhYTAwMmJhYTFjMmIxOWEzOGRjOWI3OXAtMSwKLSAgICAweDEuMjM1YjMzN2IwOTFjZGQ4YWMwNjM5MGFiYzY4MTZiODJwLTIsCi0gICAgMHgxLjQ4NDNhZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM3MQotICAgIC0weDEuZWFkNjgzM2IyYWEwMDJiYWExYzJiMTlhMzhkYzliNzlwLTEsCi0gICAgMHgxLjIzNWIzMzdiMDkxY2RkOGFjMDYzOTBhYmM2ODE2YjgycC0yLAotICAgIC0weDEuNDg0M2FlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcyCi0gICAgMHgxLmYzMjliZmZhNmEyMDg1OTFlZWNiNjkwNWQ3NTk0ZTNicC0xLAotICAgIDB4MS5jN2I5MTQ2ZDZkMTA4MjRmZjY1MmRjMzkwYmEyZDdmOXAtMywKLSAgICAweDEuNThhZDc2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzczCi0gICAgLTB4MS5mMzI5YmZmYTZhMjA4NTkxZWVjYjY5MDVkNzU5NGUzYnAtMSwKLSAgICAweDEuYzdiOTE0NmQ2ZDEwODI0ZmY2NTJkYzM5MGJhMmQ3ZjlwLTMsCi0gICAgLTB4MS41OGFkNzZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzQKLSAgICAweDEuZjk2ZmUzOGFmYmQ5NWI1ZmNkMDg2MDgxMTBlOTM4MWZwLTEsCi0gICAgMHgxLjQ2ZGM1YjJmMWRlOTc3ZWZmZjdjMjc4YjVhZGIyYTc1cC0zLAotICAgIDB4MS42OTE3M2VwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzUKLSAgICAtMHgxLmY5NmZlMzhhZmJkOTViNWZjZDA4NjA4MTEwZTkzODFmcC0xLAotICAgIDB4MS40NmRjNWIyZjFkZTk3N2VmZmY3YzI3OGI1YWRiMmE3NXAtMywKLSAgICAtMHgxLjY5MTczZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM3NgotICAgIDB4MS5mZGEyNTQ1NWQ5NTY3NzcyZjIwZjI1ZDE1ZWZjNjc3NXAtMSwKLSAgICAweDEuODk0ZjkzZWY0OWM0NTc1ODAwYmJkNjQ2YTNhMzFkMmFwLTQsCi0gICAgMHgxLjc5ODEwNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDM3NwotICAgIC0weDEuZmRhMjU0NTVkOTU2Nzc3MmYyMGYyNWQxNWVmYzY3NzVwLTEsCi0gICAgMHgxLjg5NGY5M2VmNDljNDU3NTgwMGJiZDY0NmEzYTMxZDJhcC00LAotICAgIC0weDEuNzk4MTA2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc4Ci0gICAgMHgxLmZmYmNhODE2ZjFmMTUxNmVjNWQ3NTdiMGRiNTRhZTM0cC0xLAotICAgIDB4MS4wNjkxNjRlM2Y1Y2VlOTRkODY1ZmI1MmUzMTZkZmY2YnAtNSwKLSAgICAweDEuODllYWNlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc5Ci0gICAgLTB4MS5mZmJjYTgxNmYxZjE1MTZlYzVkNzU3YjBkYjU0YWUzNHAtMSwKLSAgICAweDEuMDY5MTY0ZTNmNWNlZTk0ZDg2NWZiNTJlMzE2ZGZmNmJwLTUsCi0gICAgLTB4MS44OWVhY2VwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODAKLSAgICAweDEuZmZiY2E4ODIyOGIxNjMxODlhYjhkNjM3ZGI5OWJkMmRwLTEsCi0gICAgLTB4MS4wNjkwOTNlZWMwZWQwNjZlYzgzZGQwMzQ0OThlZjhiZnAtNSwKLSAgICAweDEuOWE1NDk2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgxCi0gICAgLTB4MS5mZmJjYTg4MjI4YjE2MzE4OWFiOGQ2MzdkYjk5YmQyZHAtMSwKLSAgICAtMHgxLjA2OTA5M2VlYzBlZDA2NmVjODNkZDAzNDQ5OGVmOGJmcC01LAotICAgIC0weDEuOWE1NDk2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgyCi0gICAgMHgxLmZkYTI1NTk3MGNjZGRiOWQxMjdlY2Y2MzQwM2MyYmY3cC0xLAotICAgIC0weDEuODk0ZjJiZTI5NzlkZDljZWQ4M2NjYzYwY2Y0OWNkNDRwLTQsCi0gICAgMHgxLmFhYmU1ZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM4MwotICAgIC0weDEuZmRhMjU1OTcwY2NkZGI5ZDEyN2VjZjYzNDAzYzJiZjdwLTEsCi0gICAgLTB4MS44OTRmMmJlMjk3OWRkOWNlZDgzY2NjNjBjZjQ5Y2Q0NHAtNCwKLSAgICAtMHgxLmFhYmU1ZXAwLAotICB9LAotICB7IC8vIEVudHJ5IDM4NAotICAgIDB4MS5mOTZmZTVhMGRhMjQ0NDg5ZmIyZjRiOTdiM2U0ODc1N3AtMSwKLSAgICAtMHgxLjQ2ZGMyNzk2NzM1MTk1YTE1YzgwZTViNzE5ZTJmYzQycC0zLAotICAgIDB4MS5iYjI4MjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODUKLSAgICAtMHgxLmY5NmZlNWEwZGEyNDQ0ODlmYjJmNGI5N2IzZTQ4NzU3cC0xLAotICAgIC0weDEuNDZkYzI3OTY3MzUxOTVhMTVjODBlNWI3MTllMmZjNDJwLTMsCi0gICAgLTB4MS5iYjI4MjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODYKLSAgICAweDEuZjMyOWMyZTJjMWEzOWJhZDhlY2RjYjg3OTYxYmE0NGFwLTEsCi0gICAgLTB4MS5jN2I4ZTE3OGI3ZThjMDFkOWYzMjA0NjZjYzdhNjhkNHAtMywKLSAgICAweDEuY2I5MWVlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg3Ci0gICAgLTB4MS5mMzI5YzJlMmMxYTM5YmFkOGVjZGNiODc5NjFiYTQ0YXAtMSwKLSAgICAtMHgxLmM3YjhlMTc4YjdlOGMwMWQ5ZjMyMDQ2NmNjN2E2OGQ0cC0zLAotICAgIC0weDEuY2I5MWVlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzg4Ci0gICAgMHgxLmVhZDY4NmYyZWM1NzJjODNlZDM0YTAxZjc2NGQxOTNlcC0xLAotICAgIC0weDEuMjM1YjFhNmQ3NjdlNGIzNjJjNjQ1NzFhYzk3YjRhMWNwLTIsCi0gICAgMHgxLmRiZmJiNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIC0weDEuZWFkNjg2ZjJlYzU3MmM4M2VkMzRhMDFmNzY0ZDE5M2VwLTEsCi0gICAgLTB4MS4yMzViMWE2ZDc2N2U0YjM2MmM2NDU3MWFjOTdiNGExY3AtMiwKLSAgICAtMHgxLmRiZmJiNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDM5MAotICAgIDB4MS5lMDdlZjNjOTFiZDUwMGEwZGUyMzBhZDU3MzE2MzE2M3AtMSwKLSAgICAtMHgxLjYxYTc0NWE3N2I3ZTgzYzJmOGEyZjliMDkxZTg5YWFhcC0yLAotICAgIDB4MS5lYzY1N2VwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTEKLSAgICAtMHgxLmUwN2VmM2M5MWJkNTAwYTBkZTIzMGFkNTczMTYzMTYzcC0xLAotICAgIC0weDEuNjFhNzQ1YTc3YjdlODNjMmY4YTJmOWIwOTFlODlhYWFwLTIsCi0gICAgLTB4MS5lYzY1N2VwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTIKLSAgICAweDEuZDQyZGVhODgzNWM4OGFkYjljZGUxNzM0N2Y5MzRlMjVwLTEsCi0gICAgLTB4MS45ZTdmNjk5ZThiOWFhZjhlZDUxYzcxYzhmNzNiMGI3NHAtMiwKLSAgICAweDEuZmNjZjQ2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkzCi0gICAgLTB4MS5kNDJkZWE4ODM1Yzg4YWRiOWNkZTE3MzQ3ZjkzNGUyNXAtMSwKLSAgICAtMHgxLjllN2Y2OTllOGI5YWFmOGVkNTFjNzFjOGY3M2IwYjc0cC0yLAotICAgIC0weDEuZmNjZjQ2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk0Ci0gICAgMHgxLmM1ZjA1ZTMyYzgwZmIwZmU2MDMwMzNlYzAyOGE0YzMycC0xLAotICAgIC0weDEuZDlhMzhiZmEzMTk1YmExY2FhN2ZiNjliYzFkMDRlNDJwLTIsCi0gICAgMHgxLjA2OWM4OHAxLAotICB9LAotICB7IC8vIEVudHJ5IDM5NQotICAgIC0weDEuYzVmMDVlMzJjODBmYjBmZTYwMzAzM2VjMDI4YTRjMzJwLTEsCi0gICAgLTB4MS5kOWEzOGJmYTMxOTViYTFjYWE3ZmI2OWJjMWQwNGU0MnAtMiwKLSAgICAtMHgxLjA2OWM4OHAxLAotICB9LAotICB7IC8vIEVudHJ5IDM5NgotICAgIDB4MS5iNWQ1NGQzNzMyZDNiMmU3OWQ0OTA3ZTExNTQwMWRkYXAtMSwKLSAgICAtMHgxLjA5NmFiM2M1NWM5MWYzNmUyMzU5ZWQxYzVhODM0MmRmcC0xLAotICAgIDB4MS4wZWQxNmNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTcKLSAgICAtMHgxLmI1ZDU0ZDM3MzJkM2IyZTc5ZDQ5MDdlMTE1NDAxZGRhcC0xLAotICAgIC0weDEuMDk2YWIzYzU1YzkxZjM2ZTIzNTllZDFjNWE4MzQyZGZwLTEsCi0gICAgLTB4MS4wZWQxNmNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAweDEuYTNlZGE3NDE2MWQwNmI4M2VjMmM4ZGMzOTZkODEzYjlwLTEsCi0gICAgLTB4MS4yNGVjNmM4MjA2ZTc0NDMyMmQ5OWY0N2U5ZTQxYmVjZXAtMSwKLSAgICAweDEuMTcwNjUwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk5Ci0gICAgLTB4MS5hM2VkYTc0MTYxZDA2YjgzZWMyYzhkYzM5NmQ4MTNiOXAtMSwKLSAgICAtMHgxLjI0ZWM2YzgyMDZlNzQ0MzIyZDk5ZjQ3ZTllNDFiZWNlcC0xLAotICAgIC0weDEuMTcwNjUwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAwCi0gICAgMHgxLjkwNGM0MjFlZmNlNThmNGU4MTcwZDM2ZGNkYThlMDJjcC0xLAotICAgIC0weDEuM2YzYTAwOWI4MmI1YjgyMzRlMTI5NmRkNzNjZmY0OWRwLTEsCi0gICAgMHgxLjFmM2IzNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQwMQotICAgIC0weDEuOTA0YzQyMWVmY2U1OGY0ZTgxNzBkMzZkY2RhOGUwMmNwLTEsCi0gICAgLTB4MS4zZjNhMDA5YjgyYjViODIzNGUxMjk2ZGQ3M2NmZjQ5ZHAtMSwKLSAgICAtMHgxLjFmM2IzNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIDB4MS43YjA1YzQ1MDkzOTQ0ZDZhZmIwYzkwZDJmOWNiMjE3ZnAtMSwKLSAgICAtMHgxLjU4MzdjNGExODRjY2Y3ZWQ1N2MxODlmMmFkZGYzMmM1cC0xLAotICAgIDB4MS4yNzcwMThwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDMKLSAgICAtMHgxLjdiMDVjNDUwOTM5NDRkNmFmYjBjOTBkMmY5Y2IyMTdmcC0xLAotICAgIC0weDEuNTgzN2M0YTE4NGNjZjdlZDU3YzE4OWYyYWRkZjMyYzVwLTEsCi0gICAgLTB4MS4yNzcwMThwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDQKLSAgICAweDEuNjQzMDhmNTA2ZmZkYWYxMzI2ZDEwYjMzODAyNzhlOThwLTEsCi0gICAgLTB4MS42ZmNiNmU2Njg1ZTcyZmI0MDc0ZTcwY2QzMTYyZDNiYXAtMSwKLSAgICAweDEuMmZhNGZjcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA1Ci0gICAgLTB4MS42NDMwOGY1MDZmZmRhZjEzMjZkMTBiMzM4MDI3OGU5OHAtMSwKLSAgICAtMHgxLjZmY2I2ZTY2ODVlNzJmYjQwNzRlNzBjZDMxNjJkM2JhcC0xLAotICAgIC0weDEuMmZhNGZjcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgMHgxLjRiZTRhODA3NmMxMzVhNDhmM2YxYTFhYWEzNjI0NzVmcC0xLAotICAgIC0weDEuODVkYzMwYTc5ZjI2NzU0YWIxMzcwMzM4ZWU3YmZkMTFwLTEsCi0gICAgMHgxLjM3ZDllMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQwNwotICAgIC0weDEuNGJlNGE4MDc2YzEzNWE0OGYzZjFhMWFhYTM2MjQ3NWZwLTEsCi0gICAgLTB4MS44NWRjMzBhNzlmMjY3NTRhYjEzNzAzMzhlZTdiZmQxMXAtMSwKLSAgICAtMHgxLjM3ZDllMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQwOAotICAgIDB4MS4zMjNiOWQ4ODhkNGRhNzdhNjEwODkzNzM1ZWVlZDFjYnAtMSwKLSAgICAtMHgxLjlhNTJkNTIzYjE1MzJlNGVkNDc3ZTI3ZGM2MDUxYzEycC0xLAotICAgIDB4MS40MDBlYzRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDkKLSAgICAtMHgxLjMyM2I5ZDg4OGQ0ZGE3N2E2MTA4OTM3MzVlZWVkMWNicC0xLAotICAgIC0weDEuOWE1MmQ1MjNiMTUzMmU0ZWQ0NzdlMjdkYzYwNTFjMTJwLTEsCi0gICAgLTB4MS40MDBlYzRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTAKLSAgICAweDEuMTc1MDZlMmRmYjYwM2QzNGI5YWYzOWIxMmMxZGI3MzVwLTEsCi0gICAgLTB4MS5hZDE5ZDUwNjY0YWJmMGMwMTQxMTM3ZDJjYTUwOWYyMXAtMSwKLSAgICAweDEuNDg0M2E4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDExCi0gICAgLTB4MS4xNzUwNmUyZGZiNjAzZDM0YjlhZjM5YjEyYzFkYjczNXAtMSwKLSAgICAtMHgxLmFkMTlkNTA2NjRhYmYwYzAxNDExMzdkMmNhNTA5ZjIxcC0xLAotICAgIC0weDEuNDg0M2E4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEyCi0gICAgMHgxLmY2N2VkNjY3MzUyZDQ4Mjc0NTAwMTNmMTVlMzIxYmZicC0yLAotICAgIC0weDEuYmUxZDZmOGQ1MTdkYjVjMmNmN2RlMGZhZjA4MDhkMzBwLTEsCi0gICAgMHgxLjUwNzg4Y3AxLAotICB9LAotICB7IC8vIEVudHJ5IDQxMwotICAgIC0weDEuZjY3ZWQ2NjczNTJkNDgyNzQ1MDAxM2YxNWUzMjFiZmJwLTIsCi0gICAgLTB4MS5iZTFkNmY4ZDUxN2RiNWMyY2Y3ZGUwZmFmMDgwOGQzMHAtMSwKLSAgICAtMHgxLjUwNzg4Y3AxLAotICB9LAotICB7IC8vIEVudHJ5IDQxNAotICAgIDB4MS5iYzRjMzVkYTUxZTM0Yjc3NmU1ZTA0ZGE1OGYyMzQ0MXAtMiwKLSAgICAtMHgxLmNkNGJiZWNmN2YyNzA1ZDRmZDAwZGQ0NjM3ODBmNDVlcC0xLAotICAgIDB4MS41OGFkNzBwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTUKLSAgICAtMHgxLmJjNGMzNWRhNTFlMzRiNzc2ZTVlMDRkYTU4ZjIzNDQxcC0yLAotICAgIC0weDEuY2Q0YmJlY2Y3ZjI3MDVkNGZkMDBkZDQ2Mzc4MGY0NWVwLTEsCi0gICAgLTB4MS41OGFkNzBwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTYKLSAgICAweDEuODA0NjMzNmU2ODQyN2NmNzU2MDU2ZDNmNGVkYmI2NjJwLTIsCi0gICAgLTB4MS5kYTk0Y2E5MTVkYTNjZGQxZmZmODM5ZDg1ZWVjMzllMnAtMSwKLSAgICAweDEuNjBlMjU0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE3Ci0gICAgLTB4MS44MDQ2MzM2ZTY4NDI3Y2Y3NTYwNTZkM2Y0ZWRiYjY2MnAtMiwKLSAgICAtMHgxLmRhOTRjYTkxNWRhM2NkZDFmZmY4MzlkODVlZWMzOWUycC0xLAotICAgIC0weDEuNjBlMjU0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE4Ci0gICAgMHgxLjQyYWJmMzg3MjkwNWU2MzJmMjA0YzQxYjI0YWY5MGI2cC0yLAotICAgIC0weDEuZTVlYTk5MTE2YjM5MzYxYWM5MjZkZDlmZGMyMDg5ZDFwLTEsCi0gICAgMHgxLjY5MTczOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQxOQotICAgIC0weDEuNDJhYmYzODcyOTA1ZTYzMmYyMDRjNDFiMjRhZjkwYjZwLTIsCi0gICAgLTB4MS5lNWVhOTkxMTZiMzkzNjFhYzkyNmRkOWZkYzIwODlkMXAtMSwKLSAgICAtMHgxLjY5MTczOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIDB4MS4wM2JlNDNjNjk5ZjM1MzY5OTBkY2Y1YTY2NjVhYzIzOXAtMiwKLSAgICAtMHgxLmVmNDEzZGJiZGEyODU5ZmZiMGQxYWI4NDM0MmZkMjM1cC0xLAotICAgIDB4MS43MTRjMWNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjEKLSAgICAtMHgxLjAzYmU0M2M2OTlmMzUzNjk5MGRjZjVhNjY2NWFjMjM5cC0yLAotICAgIC0weDEuZWY0MTNkYmJkYTI4NTlmZmIwZDFhYjg0MzQyZmQyMzVwLTEsCi0gICAgLTB4MS43MTRjMWNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjIKLSAgICAweDEuODc3ZWFkYzJmZGZjMmYwZGIxZThiNzhjZDNmYmZiZDJwLTMsCi0gICAgLTB4MS5mNjhlZTViNWJmMzU2YjEwMjMwOTQ0YTE4ZTcwOTI1Y3AtMSwKLSAgICAweDEuNzk4MXAxLAotICB9LAotICB7IC8vIEVudHJ5IDQyMwotICAgIC0weDEuODc3ZWFkYzJmZGZjMmYwZGIxZThiNzhjZDNmYmZiZDJwLTMsCi0gICAgLTB4MS5mNjhlZTViNWJmMzU2YjEwMjMwOTQ0YTE4ZTcwOTI1Y3AtMSwKLSAgICAtMHgxLjc5ODFwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjQKLSAgICAweDEuMDVlNGZkZjg0NjYzMmE4MjA4ZDkwZGU3MmQzYTZkYThwLTMsCi0gICAgLTB4MS5mYmNiZTIzMjk2ZmM2MWI5NmYzODJmMzVlYTE1Yzc2OHAtMSwKLSAgICAweDEuODFiNWU0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI1Ci0gICAgLTB4MS4wNWU0ZmRmODQ2NjMyYTgyMDhkOTBkZTcyZDNhNmRhOHAtMywKLSAgICAtMHgxLmZiY2JlMjMyOTZmYzYxYjk2ZjM4MmYzNWVhMTVjNzY4cC0xLAotICAgIC0weDEuODFiNWU0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI2Ci0gICAgMHgxLjA2NmY5YjYzMGI3MmRmZjE2NDUwZTg5YWZkZjdlMDQ4cC00LAotICAgIC0weDEuZmVmMmIwODk0MzE5N2NkM2E4YmE4NjEwOTUyMjdjNDhwLTEsCi0gICAgMHgxLjg5ZWFjOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQyNwotICAgIC0weDEuMDY2ZjliNjMwYjcyZGZmMTY0NTBlODlhZmRmN2UwNDhwLTQsCi0gICAgLTB4MS5mZWYyYjA4OTQzMTk3Y2QzYThiYTg2MTA5NTIyN2M0OHAtMSwKLSAgICAtMHgxLjg5ZWFjOHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQyOAotICAgIDB4MS4wM2JkZjBiNzljY2Y3Mzk1MjlkNTRkNDIyODYxMDQ2Y3AtMiwKLSAgICAweDEuZWY0MTQ4OWZjMmZlODAxYTZmYzhhZTc5MTQzOGViNzhwLTEsCi0gICAgLTB4MS44MWI1ZWVwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjkKLSAgICAtMHgxLjAzYmRmMGI3OWNjZjczOTUyOWQ1NGQ0MjI4NjEwNDZjcC0yLAotICAgIDB4MS5lZjQxNDg5ZmMyZmU4MDFhNmZjOGFlNzkxNDM4ZWI3OHAtMSwKLSAgICAweDEuODFiNWVlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMwCi0gICAgMHgxLmY2N2U4Yjk1ZjU0NjBlYTM2OWE4MDM4MzdiNzIxYWJkcC0yLAotICAgIDB4MS5iZTFkODQ5ZWM2NDliNzk3MzIwZTk4NWQwYjgyYWU4NXAtMSwKLSAgICAtMHgxLjcxNGMyNnAyLAotICB9LAotICB7IC8vIEVudHJ5IDQzMQotICAgIC0weDEuZjY3ZThiOTVmNTQ2MGVhMzY5YTgwMzgzN2I3MjFhYmRwLTIsCi0gICAgMHgxLmJlMWQ4NDllYzY0OWI3OTczMjBlOTg1ZDBiODJhZTg1cC0xLAotICAgIDB4MS43MTRjMjZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzIKLSAgICAweDEuNjQzMDcwNzkxNzUxZGMwNjM2ZDE4NTRkMmJkYmM1ZDRwLTEsCi0gICAgMHgxLjZmY2I4YzQ0YmQzMGRkNjY4MTQ4NjA1OTY5YjFjMTYxcC0xLAotICAgIC0weDEuNjBlMjVlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgLTB4MS42NDMwNzA3OTE3NTFkYzA2MzZkMTg1NGQyYmRiYzVkNHAtMSwKLSAgICAweDEuNmZjYjhjNDRiZDMwZGQ2NjgxNDg2MDU5NjliMWMxNjFwLTEsCi0gICAgMHgxLjYwZTI1ZXAyLAotICB9LAotICB7IC8vIEVudHJ5IDQzNAotICAgIDB4MS5iNWQ1MzZmNTkxMTNhNDNhZjMwZThjOWRiOGE5NTFhNXAtMSwKLSAgICAweDEuMDk2YWQ4N2MzMjY2MjJjNDJkZTM0ZjkyODE0Y2ZhODRwLTEsCi0gICAgLTB4MS41MDc4OTZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzUKLSAgICAtMHgxLmI1ZDUzNmY1OTExM2E0M2FmMzBlOGM5ZGI4YTk1MWE1cC0xLAotICAgIDB4MS4wOTZhZDg3YzMyNjYyMmM0MmRlMzRmOTI4MTRjZmE4NHAtMSwKLSAgICAweDEuNTA3ODk2cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM2Ci0gICAgMHgxLmVhZDY3OTk4NTU0OTE0MDMxODM0OWY1MTJkY2E3YTZicC0xLAotICAgIDB4MS4yMzViNzQ2YTJhMmVmZjJiZjY0MGRkOGMwNGQzNWE1YnAtMiwKLSAgICAtMHgxLjQwMGVjZXAyLAotICB9LAotICB7IC8vIEVudHJ5IDQzNwotICAgIC0weDEuZWFkNjc5OTg1NTQ5MTQwMzE4MzQ5ZjUxMmRjYTdhNmJwLTEsCi0gICAgMHgxLjIzNWI3NDZhMmEyZWZmMmJmNjQwZGQ4YzA0ZDM1YTVicC0yLAotICAgIDB4MS40MDBlY2VwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAweDEuZmZiY2E3MDEwZTBiMDQ1MmY1NjA3NWNmZDU5ODI4ODBwLTEsCi0gICAgMHgxLjA2OTM4MjdiNDZjZWUzYjY2MWFjMTcxMTRiNWZlMGZicC01LAotICAgIC0weDEuMmZhNTA2cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM5Ci0gICAgLTB4MS5mZmJjYTcwMTBlMGIwNDUyZjU2MDc1Y2ZkNTk4Mjg4MHAtMSwKLSAgICAweDEuMDY5MzgyN2I0NmNlZTNiNjYxYWMxNzExNGI1ZmUwZmJwLTUsCi0gICAgMHgxLjJmYTUwNnAyLAotICB9LAotICB7IC8vIEVudHJ5IDQ0MAotICAgIDB4MS5mMzI5Y2E2YmZjNzQyNWQ4OWMyYjRiOWFkNzNhYjEwOHAtMSwKLSAgICAtMHgxLmM3Yjg1ZDY2OGUyYWJjYzQ2NTQyY2E4NTI3ZjBiODAxcC0zLAotICAgIC0weDEuMWYzYjNlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgLTB4MS5mMzI5Y2E2YmZjNzQyNWQ4OWMyYjRiOWFkNzNhYjEwOHAtMSwKLSAgICAtMHgxLmM3Yjg1ZDY2OGUyYWJjYzQ2NTQyY2E4NTI3ZjBiODAxcC0zLAotICAgIDB4MS4xZjNiM2VwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDIKLSAgICAweDEuYzVmMDZmYjY5NDI3YWMwZjJkNjk0MjhkODJiNWU2NjlwLTEsCi0gICAgLTB4MS5kOWEzNDhkNGY0MzYzYmE0NTYyMTEwZGIwMWVlODRlOHAtMiwKLSAgICAtMHgxLjBlZDE3NnAyLAotICB9LAotICB7IC8vIEVudHJ5IDQ0MwotICAgIC0weDEuYzVmMDZmYjY5NDI3YWMwZjJkNjk0MjhkODJiNWU2NjlwLTEsCi0gICAgLTB4MS5kOWEzNDhkNGY0MzYzYmE0NTYyMTEwZGIwMWVlODRlOHAtMiwKLSAgICAweDEuMGVkMTc2cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ0Ci0gICAgMHgxLjdiMDVkODY0ZWM5ODAyYWRiYzRiNTU3N2MyMzM4MzZhcC0xLAotICAgIC0weDEuNTgzN2FlODU2OWM5NTg0NmU2MTY0ZDk2MzY1NDYxMjBwLTEsCi0gICAgLTB4MS5mY2NmNWFwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDUKLSAgICAtMHgxLjdiMDVkODY0ZWM5ODAyYWRiYzRiNTU3N2MyMzM4MzZhcC0xLAotICAgIC0weDEuNTgzN2FlODU2OWM5NTg0NmU2MTY0ZDk2MzY1NDYxMjBwLTEsCi0gICAgMHgxLmZjY2Y1YXAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ0NgotICAgIDB4MS4xNzUwODA4MTg1YTk5OGJiY2VjYzNhNmFjMGNiMjkwN3AtMSwKLSAgICAtMHgxLmFkMTljOTE4ODgzMDAwYjBiNzAyZWMwODBjZjAxMjJlcC0xLAotICAgIC0weDEuZGJmYmM4cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ3Ci0gICAgLTB4MS4xNzUwODA4MTg1YTk5OGJiY2VjYzNhNmFjMGNiMjkwN3AtMSwKLSAgICAtMHgxLmFkMTljOTE4ODgzMDAwYjBiNzAyZWMwODBjZjAxMjJlcC0xLAotICAgIDB4MS5kYmZiYzhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDgKLSAgICAweDEuNDJhYzBkZDk0OTUyMTE4MTZiZjA0Y2E1M2JjZTRiZWFwLTIsCi0gICAgLTB4MS5lNWVhOTRiMmNmMDdhZGQzZDBkOTVhYjNhMzBhZDRhYnAtMSwKLSAgICAtMHgxLmJiMjgzNnAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ0OQotICAgIC0weDEuNDJhYzBkZDk0OTUyMTE4MTZiZjA0Y2E1M2JjZTRiZWFwLTIsCi0gICAgLTB4MS5lNWVhOTRiMmNmMDdhZGQzZDBkOTVhYjNhMzBhZDRhYnAtMSwKLSAgICAweDEuYmIyODM2cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUwCi0gICAgMHgxLjA2NmZjYTM5YTcwYjUyZDA2ZjJjZDdlYWI2OWMzMWYycC00LAotICAgIC0weDEuZmVmMmIwMjkwODU1OWY5MmRlODkyZDI0MGEyYjBiNDlwLTEsCi0gICAgLTB4MS45YTU0YTRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTEKLSAgICAtMHgxLjA2NmZjYTM5YTcwYjUyZDA2ZjJjZDdlYWI2OWMzMWYycC00LAotICAgIC0weDEuZmVmMmIwMjkwODU1OWY5MmRlODkyZDI0MGEyYjBiNDlwLTEsCi0gICAgMHgxLjlhNTRhNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ1MgotICAgIC0weDEuODc3ZDkzMTI5OGU2ZmJjNjU0ZjA2NTUzNmNmZjJiNTRwLTMsCi0gICAgLTB4MS5mNjhlZjM3OTJlNTkyYzNjZWZiY2UxZDVkZWQ2NGE5MnAtMSwKLSAgICAtMHgxLjc5ODExMnAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ1MwotICAgIDB4MS44NzdkOTMxMjk4ZTZmYmM2NTRmMDY1NTM2Y2ZmMmI1NHAtMywKLSAgICAtMHgxLmY2OGVmMzc5MmU1OTJjM2NlZmJjZTFkNWRlZDY0YTkycC0xLAotICAgIDB4MS43OTgxMTJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTQKLSAgICAtMHgxLmJjNGJjMjg3NWViNmQzOGVkYTNiNDljYjIzMjBiNTYxcC0yLAotICAgIC0weDEuY2Q0YmRhOTQzZWVhMTM2MzBmOGU1MDhmODc0NGYyZjJwLTEsCi0gICAgLTB4MS41OGFkODBwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTUKLSAgICAweDEuYmM0YmMyODc1ZWI2ZDM4ZWRhM2I0OWNiMjMyMGI1NjFwLTIsCi0gICAgLTB4MS5jZDRiZGE5NDNlZWExMzYzMGY4ZTUwOGY4NzQ0ZjJmMnAtMSwKLSAgICAweDEuNThhZDgwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU2Ci0gICAgLTB4MS40YmU0N2Q2MzU0YzRjZWQ1Mzc4MGIxYjUxOWFjZGVjMnAtMSwKLSAgICAtMHgxLjg1ZGM1NGY0OWYzMjRiZGZjNzFkNTc0OTQ4M2IzMzE4cC0xLAotICAgIC0weDEuMzdkOWVlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU3Ci0gICAgMHgxLjRiZTQ3ZDYzNTRjNGNlZDUzNzgwYjFiNTE5YWNkZWMycC0xLAotICAgIC0weDEuODVkYzU0ZjQ5ZjMyNGJkZmM3MWQ1NzQ5NDgzYjMzMThwLTEsCi0gICAgMHgxLjM3ZDllZXAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIC0weDEuYTNlZDhiY2IzNWNiY2Y4YzYwODlmODJhOTFjMzFkNWJwLTEsCi0gICAgLTB4MS4yNGVjOTNlMDRkNGJkYjU0ZTIwYmVhZjM4MzUxOWFmOHAtMSwKLSAgICAtMHgxLjE3MDY1Y3AxLAotICB9LAotICB7IC8vIEVudHJ5IDQ1OQotICAgIDB4MS5hM2VkOGJjYjM1Y2JjZjhjNjA4OWY4MmE5MWMzMWQ1YnAtMSwKLSAgICAtMHgxLjI0ZWM5M2UwNGQ0YmRiNTRlMjBiZWFmMzgzNTE5YWY4cC0xLAotICAgIDB4MS4xNzA2NWNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjAKLSAgICAtMHgxLmUwN2VlNDk2ZWExMDk2NTRjNDJlMTcxZmRjNDUzN2M0cC0xLAotICAgIC0weDEuNjFhNzk4M2Q0YzE2YzQ1MWI2OGJmMmY1YjcwZjNiNmFwLTIsCi0gICAgLTB4MS5lYzY1OTRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjEKLSAgICAweDEuZTA3ZWU0OTZlYTEwOTY1NGM0MmUxNzFmZGM0NTM3YzRwLTEsCi0gICAgLTB4MS42MWE3OTgzZDRjMTZjNDUxYjY4YmYyZjViNzBmM2I2YXAtMiwKLSAgICAweDEuZWM2NTk0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYyCi0gICAgLTB4MS5mZGEyNTIyMjE5Njg5ZDBlODA2OWQ5MGY1Yzk2OWI5MnAtMSwKLSAgICAtMHgxLjg5NTA0YThkZTZjOWVjYWM2NjNlNjc1ODNjYWI0N2U4cC00LAotICAgIC0weDEuYWFiZTcwcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYzCi0gICAgMHgxLmZkYTI1MjIyMTk2ODlkMGU4MDY5ZDkwZjVjOTY5YjkycC0xLAotICAgIC0weDEuODk1MDRhOGRlNmM5ZWNhYzY2M2U2NzU4M2NhYjQ3ZThwLTQsCi0gICAgMHgxLmFhYmU3MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ2NAotICAgIC0weDEuZjk2ZmU4MDJmZTU3MDM3MmQwZmNiNmU5MzRiNDMwNjFwLTEsCi0gICAgMHgxLjQ2ZGJlYzllYTNhNWYwOGJhNzNhYTY5ZTdlMjJkZTFjcC0zLAotICAgIC0weDEuNjkxNzRjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY1Ci0gICAgMHgxLmY5NmZlODAyZmU1NzAzNzJkMGZjYjZlOTM0YjQzMDYxcC0xLAotICAgIDB4MS40NmRiZWM5ZWEzYTVmMDhiYTczYWE2OWU3ZTIyZGUxY3AtMywKLSAgICAweDEuNjkxNzRjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY2Ci0gICAgLTB4MS5kNDJkZWQ1NmFlODhhNmUxY2YyNzBhZjI3ZTZmMTgwNHAtMSwKLSAgICAweDEuOWU3ZjVjZjA3NWQxZWM0ZWY2OWM5YzY3YjYyYzI3Y2JwLTIsCi0gICAgLTB4MS4yNzcwMjhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjcKLSAgICAweDEuZDQyZGVkNTZhZTg4YTZlMWNmMjcwYWYyN2U2ZjE4MDRwLTEsCi0gICAgMHgxLjllN2Y1Y2YwNzVkMWVjNGVmNjljOWM2N2I2MmMyN2NicC0yLAotICAgIDB4MS4yNzcwMjhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjgKLSAgICAtMHgxLjkwNGM0NTMyNmQ2ZGRlMjI0MzgxZDFkNTkwYWRhNDFjcC0xLAotICAgIDB4MS4zZjM5ZmNjMDE3NjUzZDI2MzY4MzdhNTVmZGY2ZDJkNHAtMSwKLSAgICAtMHgxLmNiOTIwYXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjkKLSAgICAweDEuOTA0YzQ1MzI2ZDZkZGUyMjQzODFkMWQ1OTBhZGE0MWNwLTEsCi0gICAgMHgxLjNmMzlmY2MwMTc2NTNkMjYzNjgzN2E1NWZkZjZkMmQ0cC0xLAotICAgIDB4MS5jYjkyMGFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcwCi0gICAgLTB4MS4zMjNiOWNhZGJiMTllNzVhNDQ0ODNmYjY0YWQ4ZGRmNnAtMSwKLSAgICAweDEuOWE1MmQ1YzcwMGRhYTNkYzhjZjhmNWE3MWYyZGYyODlwLTEsCi0gICAgLTB4MS40ODQzYzRwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgMHgxLjMyM2I5Y2FkYmIxOWU3NWE0NDQ4M2ZiNjRhZDhkZGY2cC0xLAotICAgIDB4MS45YTUyZDVjNzAwZGFhM2RjOGNmOGY1YTcxZjJkZjI4OXAtMSwKLSAgICAweDEuNDg0M2M0cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDQ3MgotICAgIC0weDEuODA0NjI2NTRiZGU3NjZmYWY0N2YzMTQwZTI5MDk5NmRwLTIsCi0gICAgMHgxLmRhOTRjZDM4M2RkN2EzYjkxYTJmYzg4ZmY5MDVhNmEwcC0xLAotICAgIC0weDEuODllYWZjcC0yLAotICB9LAotICB7IC8vIEVudHJ5IDQ3MwotICAgIDB4MS44MDQ2MjY1NGJkZTc2NmZhZjQ3ZjMxNDBlMjkwOTk2ZHAtMiwKLSAgICAweDEuZGE5NGNkMzgzZGQ3YTNiOTFhMmZjODhmZjkwNWE2YTBwLTEsCi0gICAgMHgxLjg5ZWFmY3AtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzQKLSAgICAtMHgxLjA1ZTRjYTIxZjM4NmE4MmJjMmU0ZWZjZGViYjE5NjJicC0zLAotICAgIDB4MS5mYmNiZTNkZTU4ZTY2YzMyODNiYzgxMGQxNmM0NTgzM3AtMSwKLSAgICAtMHgxLjA2OWNlMHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzUKLSAgICAweDEuMDVlNGNhMjFmMzg2YTgyYmMyZTRlZmNkZWJiMTk2MmJwLTMsCi0gICAgMHgxLmZiY2JlM2RlNThlNjZjMzI4M2JjODEwZDE2YzQ1ODMzcC0xLAotICAgIDB4MS4wNjljZTBwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc2Ci0gICAgMHgxLjA1ZTQyMzgzMGJlMDFmOWZlM2M1N2QwNjg2N2UwMDU2cC0zLAotICAgIDB4MS5mYmNiZTkzZDQ4NTYzZDUxYjZlOWQ2ZWZkYjYyNDk1Y3AtMSwKLSAgICAweDEuMDY5YzM4cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDQ3NwotICAgIC0weDEuMDVlNDIzODMwYmUwMWY5ZmUzYzU3ZDA2ODY3ZTAwNTZwLTMsCi0gICAgMHgxLmZiY2JlOTNkNDg1NjNkNTFiNmU5ZDZlZmRiNjI0OTVjcC0xLAotICAgIC0weDEuMDY5YzM4cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDQ3OAotICAgIDB4MS44MDQ1ZDg3ODUyZjEzMDdmZWE2ZGM3NTFjNGQxNTk5MnAtMiwKLSAgICAweDEuZGE5NGRjZmIxY2QxNTg1M2NlODQ4ZmZiMDI2NGFkMDhwLTEsCi0gICAgMHgxLjg5ZWFhOHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzkKLSAgICAtMHgxLjgwNDVkODc4NTJmMTMwN2ZlYTZkYzc1MWM0ZDE1OTkycC0yLAotICAgIDB4MS5kYTk0ZGNmYjFjZDE1ODUzY2U4NDhmZmIwMjY0YWQwOHAtMSwKLSAgICAtMHgxLjg5ZWFhOHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODAKLSAgICAweDEuMzIzYjdiMDRlZTg4Y2ZmOThiMmExNjIwZTFmNjFhMDFwLTEsCi0gICAgMHgxLjlhNTJlZWU1ZTM1Mzc3ZDU1NGFjZTg4MWJkYzQ3MjVicC0xLAotICAgIDB4MS40ODQzOWFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgxCi0gICAgLTB4MS4zMjNiN2IwNGVlODhjZmY5OGIyYTE2MjBlMWY2MWEwMXAtMSwKLSAgICAweDEuOWE1MmVlZTVlMzUzNzdkNTU0YWNlODgxYmRjNDcyNWJwLTEsCi0gICAgLTB4MS40ODQzOWFwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgyCi0gICAgMHgxLjkwNGMyYjAyYWE1OTUyOGNlMDQ0YmYyMjEzYzk2ODU5cC0xLAotICAgIDB4MS4zZjNhMWQ5NjU3ZmY2YWE0OThjNDZmNmZhYWYwM2I5MHAtMSwKLSAgICAweDEuY2I5MWUwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDQ4MwotICAgIC0weDEuOTA0YzJiMDJhYTU5NTI4Y2UwNDRiZjIyMTNjOTY4NTlwLTEsCi0gICAgMHgxLjNmM2ExZDk2NTdmZjZhYTQ5OGM0NmY2ZmFhZjAzYjkwcC0xLAotICAgIC0weDEuY2I5MWUwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDQ4NAotICAgIDB4MS5kNDJkZGQyNWIzNzk3ZTZhNjc5Zjc2ZTA1ZTZjM2UwOHAtMSwKLSAgICAweDEuOWU3ZmE2MTdhMWEzYTQwMGE3ZjU5YWE4NzkwODhlMzFwLTIsCi0gICAgMHgxLjI3NzAxNHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ4NQotICAgIC0weDEuZDQyZGRkMjViMzc5N2U2YTY3OWY3NmUwNWU2YzNlMDhwLTEsCi0gICAgMHgxLjllN2ZhNjE3YTFhM2E0MDBhN2Y1OWFhODc5MDg4ZTMxcC0yLAotICAgIC0weDEuMjc3MDE0cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg2Ci0gICAgMHgxLmY5NmZlMWEwYjEyZDBhZDRmYThjODJkOGFmOTg5YzVhcC0xLAotICAgIDB4MS40NmRjOGE5MTliMjc4NDBjZGE2ZTE4YTA3OWRhNDU5Y3AtMywKLSAgICAweDEuNjkxNzM4cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg3Ci0gICAgLTB4MS5mOTZmZTFhMGIxMmQwYWQ0ZmE4YzgyZDhhZjk4OWM1YXAtMSwKLSAgICAweDEuNDZkYzhhOTE5YjI3ODQwY2RhNmUxOGEwNzlkYTQ1OWNwLTMsCi0gICAgLTB4MS42OTE3MzhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODgKLSAgICAweDEuZmRhMjU1Zjk2MDk0ZDhmZTRlODU5YzRjZjBkZDY4YTVwLTEsCi0gICAgLTB4MS44OTRmMGMwODcyNDE1NjYzYjdmOWU0ZTQ4MDFkZWFmMHAtNCwKLSAgICAweDEuYWFiZTVjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg5Ci0gICAgLTB4MS5mZGEyNTVmOTYwOTRkOGZlNGU4NTljNGNmMGRkNjhhNXAtMSwKLSAgICAtMHgxLjg5NGYwYzA4NzI0MTU2NjNiN2Y5ZTRlNDgwMWRlYWYwcC00LAotICAgIC0weDEuYWFiZTVjcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkwCi0gICAgMHgxLmUwN2VmMjY3NzQ4Yjk4Mjc3OGY4ZDUwZDI5ODFiYjNhcC0xLAotICAgIC0weDEuNjFhNzRkMjk3NzRhZTRlM2JjNTUzM2EyZWEwOGExNGFwLTIsCi0gICAgMHgxLmVjNjU4MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ5MQotICAgIC0weDEuZTA3ZWYyNjc3NDhiOTgyNzc4ZjhkNTBkMjk4MWJiM2FwLTEsCi0gICAgLTB4MS42MWE3NGQyOTc3NGFlNGUzYmM1NTMzYTJlYTA4YTE0YXAtMiwKLSAgICAtMHgxLmVjNjU4MHAwLAotICB9LAotICB7IC8vIEVudHJ5IDQ5MgotICAgIDB4MS5hM2VkYTJhZGIwMTE0M2ZiMjE0NTNiMjBiZDE3NDhmZXAtMSwKLSAgICAtMHgxLjI0ZWM3MzExYmQ3YjIyNTVmOWI4OTBiM2ZmNTg5OWY0cC0xLAotICAgIDB4MS4xNzA2NTJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTMKLSAgICAtMHgxLmEzZWRhMmFkYjAxMTQzZmIyMTQ1M2IyMGJkMTc0OGZlcC0xLAotICAgIC0weDEuMjRlYzczMTFiZDdiMjI1NWY5Yjg5MGIzZmY1ODk5ZjRwLTEsCi0gICAgLTB4MS4xNzA2NTJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTQKLSAgICAweDEuNGJlNDliZDg4YTY0YTBiYjQxNGRkYWNhYzRmYThkZTlwLTEsCi0gICAgLTB4MS44NWRjM2IwNmM0MzVmNTI0Yzg3M2Q5YjVlYmEzZGVmOHAtMSwKLSAgICAweDEuMzdkOWU0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk1Ci0gICAgLTB4MS40YmU0OWJkODhhNjRhMGJiNDE0ZGRhY2FjNGZhOGRlOXAtMSwKLSAgICAtMHgxLjg1ZGMzYjA2YzQzNWY1MjRjODczZDliNWViYTNkZWY4cC0xLAotICAgIC0weDEuMzdkOWU0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk2Ci0gICAgMHgxLmJjNGMwYTliMzc4MmUyMjBhZTU1Nzg2MzY5Y2NmMTkwcC0yLAotICAgIC0weDEuY2Q0YmM5Mzk0N2U4NjY3MWFjN2YwZWFjZDk1MjEzNzdwLTEsCi0gICAgMHgxLjU4YWQ3NnAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ5NwotICAgIC0weDEuYmM0YzBhOWIzNzgyZTIyMGFlNTU3ODYzNjljY2YxOTBwLTIsCi0gICAgLTB4MS5jZDRiYzkzOTQ3ZTg2NjcxYWM3ZjBlYWNkOTUyMTM3N3AtMSwKLSAgICAtMHgxLjU4YWQ3NnAxLAotICB9LAotICB7IC8vIEVudHJ5IDQ5OAotICAgIDB4MS44NzdlMzAxZjQzY2FmZmZlNjY0NGE4OTU4ZjEwODcyOXAtMywKLSAgICAtMHgxLmY2OGVlYmQzYjhmMTJmOTQzM2U2ZDcyMjQ5ODljMTBlcC0xLAotICAgIDB4MS43OTgxMDhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTkKLSAgICAtMHgxLjg3N2UzMDFmNDNjYWZmZmU2NjQ0YTg5NThmMTA4NzI5cC0zLAotICAgIC0weDEuZjY4ZWViZDNiOGYxMmY5NDMzZTZkNzIyNDk4OWMxMGVwLTEsCi0gICAgLTB4MS43OTgxMDhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDAKLSAgICAtMHgxLjA2NmU4YWUxZjgyNGE2OTgxN2U2YTgwNmU2MzE3ZTI4cC00LAotICAgIC0weDEuZmVmMmIyYjkxZTQwMDIxYTJmZWU3NGZjNjE4MTIxNTdwLTEsCi0gICAgMHgxLjlhNTQ5YXAxLAotICB9LAotICB7IC8vIEVudHJ5IDUwMQotICAgIDB4MS4wNjZlOGFlMWY4MjRhNjk4MTdlNmE4MDZlNjMxN2UyOHAtNCwKLSAgICAtMHgxLmZlZjJiMmI5MWU0MDAyMWEyZmVlNzRmYzYxODEyMTU3cC0xLAotICAgIC0weDEuOWE1NDlhcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgLTB4MS40MmFiYzFlY2ExMWEwYWQxMmNhNmVlZmYxOTczMThhYXAtMiwKLSAgICAtMHgxLmU1ZWFhMTRkODYxNjhiNjk5MThjMjJmMzcxNmE2N2VhcC0xLAotICAgIDB4MS5iYjI4MmNwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDMKLSAgICAweDEuNDJhYmMxZWNhMTFhMGFkMTJjYTZlZWZmMTk3MzE4YWFwLTIsCi0gICAgLTB4MS5lNWVhYTE0ZDg2MTY4YjY5OTE4YzIyZjM3MTZhNjdlYXAtMSwKLSAgICAtMHgxLmJiMjgyY3AxLAotICB9LAotICB7IC8vIEVudHJ5IDUwNAotICAgIC0weDEuMTc1MDVlZmI4MTE5NzczYzY0NzQ2OGJlMWRmZWU0NWVwLTEsCi0gICAgLTB4MS5hZDE5ZGVlYWQwZWFlMmY3MmQwNDE2NWUwOWU0YTQzZHAtMSwKLSAgICAweDEuZGJmYmJlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA1Ci0gICAgMHgxLjE3NTA1ZWZiODExOTc3M2M2NDc0NjhiZTFkZmVlNDVlcC0xLAotICAgIC0weDEuYWQxOWRlZWFkMGVhZTJmNzJkMDQxNjVlMDllNGE0M2RwLTEsCi0gICAgLTB4MS5kYmZiYmVwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDYKLSAgICAtMHgxLjdiMDViZDgwOTFjZDc5ZGZmMzU5Yzg0MTJiMGRlMWE5cC0xLAotICAgIC0weDEuNTgzN2NjMjFkZGE0NGYzYWI3ZmQ5NmY1N2MwMTRlMTlwLTEsCi0gICAgMHgxLmZjY2Y1MHAxLAotICB9LAotICB7IC8vIEVudHJ5IDUwNwotICAgIDB4MS43YjA1YmQ4MDkxY2Q3OWRmZjM1OWM4NDEyYjBkZTFhOXAtMSwKLSAgICAtMHgxLjU4MzdjYzIxZGRhNDRmM2FiN2ZkOTZmNTdjMDE0ZTE5cC0xLAotICAgIC0weDEuZmNjZjUwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA4Ci0gICAgLTB4MS5jNWYwNTk4MmVhYmYwMjI3NDg5NjA5NjE2NjZkNTQwZHAtMSwKLSAgICAtMHgxLmQ5YTM5ZGYyMDcxMzlmOTllYmU5YjU2ZGFmYjIzNGI3cC0yLAotICAgIDB4MS4wZWQxNzBwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDkKLSAgICAweDEuYzVmMDU5ODJlYWJmMDIyNzQ4OTYwOTYxNjY2ZDU0MGRwLTEsCi0gICAgLTB4MS5kOWEzOWRmMjA3MTM5Zjk5ZWJlOWI1NmRhZmIyMzRiN3AtMiwKLSAgICAtMHgxLjBlZDE3MHAyLAotICB9LAotICB7IC8vIEVudHJ5IDUxMAotICAgIC0weDEuZjMyOWJmYmRhODEyMmY4M2UzYTFlYTAyNDJlYjc2YWFwLTEsCi0gICAgLTB4MS5jN2I5MTg5NjM4MTI4YmMwYWUzM2ZkZjI3MjljYzk4N3AtMywKLSAgICAweDEuMWYzYjM4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgMHgxLmYzMjliZmJkYTgxMjJmODNlM2ExZWEwMjQyZWI3NmFhcC0xLAotICAgIC0weDEuYzdiOTE4OTYzODEyOGJjMGFlMzNmZGYyNzI5Y2M5ODdwLTMsCi0gICAgLTB4MS4xZjNiMzhwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTIKLSAgICAtMHgxLmZmYmNhODhhZTkwZjA5MDBiNmQzYWQ4OWVkZGQyYzgwcC0xLAotICAgIDB4MS4wNjkwODJlMDRiMjVlOWQyZWE5ZTI2M2I1MGQwOGIzNHAtNSwKLSAgICAweDEuMmZhNXAyLAotICB9LAotICB7IC8vIEVudHJ5IDUxMwotICAgIDB4MS5mZmJjYTg4YWU5MGYwOTAwYjZkM2FkODllZGRkMmM4MHAtMSwKLSAgICAweDEuMDY5MDgyZTA0YjI1ZTlkMmVhOWUyNjNiNTBkMDhiMzRwLTUsCi0gICAgLTB4MS4yZmE1cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE0Ci0gICAgLTB4MS5lYWQ2ODc0MDljOTVkY2FmNjFhZjk4NTEzNTE3ZjUwN3AtMSwKLSAgICAweDEuMjM1YjE4NjFmMjFhYTg2ZGNlMjU5ZTRlNWI0ZWYzOTVwLTIsCi0gICAgMHgxLjQwMGVjOHAyLAotICB9LAotICB7IC8vIEVudHJ5IDUxNQotICAgIDB4MS5lYWQ2ODc0MDljOTVkY2FmNjFhZjk4NTEzNTE3ZjUwN3AtMSwKLSAgICAweDEuMjM1YjE4NjFmMjFhYTg2ZGNlMjU5ZTRlNWI0ZWYzOTVwLTIsCi0gICAgLTB4MS40MDBlYzhwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTYKLSAgICAtMHgxLmI1ZDU0ZmQ3OTM3MmI5MGQ1ZDRjN2FjZjdhZGFlZDQycC0xLAotICAgIDB4MS4wOTZhYWY3MDM0MTQ4NTA2MmY0NDNjODBhOTBhM2JlM3AtMSwKLSAgICAweDEuNTA3ODkwcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE3Ci0gICAgMHgxLmI1ZDU0ZmQ3OTM3MmI5MGQ1ZDRjN2FjZjdhZGFlZDQycC0xLAotICAgIDB4MS4wOTZhYWY3MDM0MTQ4NTA2MmY0NDNjODBhOTBhM2JlM3AtMSwKLSAgICAtMHgxLjUwNzg5MHAyLAotICB9LAotICB7IC8vIEVudHJ5IDUxOAotICAgIC0weDEuNjQzMDkyZjQyYWU3OTczNzU1MzE0MjBjMDA1Y2EyY2ZwLTEsCi0gICAgMHgxLjZmY2I2YWUwMzEwN2JlNDU4ZDA3MzYxMzcxZWZhYmI0cC0xLAotICAgIDB4MS42MGUyNThwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTkKLSAgICAweDEuNjQzMDkyZjQyYWU3OTczNzU1MzE0MjBjMDA1Y2EyY2ZwLTEsCi0gICAgMHgxLjZmY2I2YWUwMzEwN2JlNDU4ZDA3MzYxMzcxZWZhYmI0cC0xLAotICAgIC0weDEuNjBlMjU4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIwCi0gICAgLTB4MS5mNjdlZGYzYjdiZWU4NTU0ZDU0ZDg0ZWE4M2Y2Y2IyMXAtMiwKLSAgICAweDEuYmUxZDZkMTBkNWM4Y2VlYjhiZjlhZWI3YTlmNjkwYjlwLTEsCi0gICAgMHgxLjcxNGMyMHAyLAotICB9LAotICB7IC8vIEVudHJ5IDUyMQotICAgIDB4MS5mNjdlZGYzYjdiZWU4NTU0ZDU0ZDg0ZWE4M2Y2Y2IyMXAtMiwKLSAgICAweDEuYmUxZDZkMTBkNWM4Y2VlYjhiZjlhZWI3YTlmNjkwYjlwLTEsCi0gICAgLTB4MS43MTRjMjBwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAtMHgxLjAzYmU0ZDkzZDk0OTMyNTM0MGIyZjQ2NDIwMTU0NWE3cC0yLAotICAgIDB4MS5lZjQxM2M3MmQ5ODhiYjUzOTM3OTc1ZTRmZDRmY2M3YXAtMSwKLSAgICAweDEuODFiNWU4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgMHgxLjAzYmU0ZDkzZDk0OTMyNTM0MGIyZjQ2NDIwMTU0NWE3cC0yLAotICAgIDB4MS5lZjQxM2M3MmQ5ODhiYjUzOTM3OTc1ZTRmZDRmY2M3YXAtMSwKLSAgICAtMHgxLjgxYjVlOHAyLAotICB9LAotICB7IC8vIEVudHJ5IDUyNAotICAgIDB4MS5lZmIyNmNmYTIwZjIwOThmZjdlOWU0MmYwMjYwZWIwMXAtNSwKLSAgICAweDEuZmYwZmQyY2I1YTkyMjhjZmExZTAxNjA1ZDA2MjZjODRwLTEsCi0gICAgMHgxLmVmZmZmZXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjUKLSAgICAtMHgxLmVmYjI2Y2ZhMjBmMjA5OGZmN2U5ZTQyZjAyNjBlYjAxcC01LAotICAgIDB4MS5mZjBmZDJjYjVhOTIyOGNmYTFlMDE2MDVkMDYyNmM4NHAtMSwKLSAgICAtMHgxLmVmZmZmZXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjYKLSAgICAweDEuZWZiMjZlZjkzMGM0ZDNmMmIwZGJlMTkzMWJhNWFlNjRwLTUsCi0gICAgMHgxLmZmMGZkMmM5NmFkZmJhZDVmOTA0YTcxYjJkMjEwYTJhcC0xLAotICAgIDB4MS5mMHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjcKLSAgICAtMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAotICAgIDB4MS5mZjBmZDJjOTZhZGZiYWQ1ZjkwNGE3MWIyZDIxMGEyYXAtMSwKLSAgICAtMHgxLmYwcC01LAotICB9LAotICB7IC8vIEVudHJ5IDUyOAotICAgIDB4MS5lZmIyNzBmODQwOTc5YzY1Yjc1ZWU1YzY3MDE2YTg2NnAtNSwKLSAgICAweDEuZmYwZmQyYzc3YjJkNGFkZDQwNTY2ZWM1YWEyNGZjNmVwLTEsCi0gICAgMHgxLmYwMDAwMnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjkKLSAgICAtMHgxLmVmYjI3MGY4NDA5NzljNjViNzVlZTVjNjcwMTZhODY2cC01LAotICAgIDB4MS5mZjBmZDJjNzdiMmQ0YWRkNDA1NjZlYzVhYTI0ZmM2ZXAtMSwKLSAgICAtMHgxLmYwMDAwMnAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAweDEuZjZiYWE4MTZmY2U1ZWE1YTYwZDhjOWZkMmEyODkzODBwLTQsCi0gICAgMHgxLmZjMjEwMDVkMjE2YTg5ZGU1NWIxOTIwOTZmYzZiN2JhcC0xLAotICAgIDB4MS5mN2ZmZmVwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMxCi0gICAgLTB4MS5mNmJhYTgxNmZjZTVlYTVhNjBkOGM5ZmQyYTI4OTM4MHAtNCwKLSAgICAweDEuZmMyMTAwNWQyMTZhODlkZTU1YjE5MjA5NmZjNmI3YmFwLTEsCi0gICAgLTB4MS5mN2ZmZmVwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMyCi0gICAgMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAotICAgIDB4MS5mYzIxMDA1NTQ2N2ZlNThhMjAxOTMzOTliM2JjMGRkMnAtMSwKLSAgICAweDEuZjhwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMzCi0gICAgLTB4MS5mNmJhYWExMzFkZTY0MzhlNTYxMTI3OTg2NGZlNzY2M3AtNCwKLSAgICAweDEuZmMyMTAwNTU0NjdmZTU4YTIwMTkzMzk5YjNiYzBkZDJwLTEsCi0gICAgLTB4MS5mOHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzQKLSAgICAweDEuZjZiYWFjMGYzZWU2OTRlNzYwYTEzOGJjMDZjOGJlM2RwLTQsCi0gICAgMHgxLmZjMjEwMDRkNmI5NTM5NDU2NjdmODAwZmY4MWRlMGVicC0xLAotICAgIDB4MS5mODAwMDJwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM1Ci0gICAgLTB4MS5mNmJhYWMwZjNlZTY5NGU3NjBhMTM4YmMwNmM4YmUzZHAtNCwKLSAgICAweDEuZmMyMTAwNGQ2Yjk1Mzk0NTY2N2Y4MDBmZjgxZGUwZWJwLTEsCi0gICAgLTB4MS5mODAwMDJwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM2Ci0gICAgMHgxLjRhOGMzOTU1NTJmYjQzMmFmMzE3ODBlODgzYzk4ZjcxcC0zLAotICAgIDB4MS5mOTQ5ODRjNmZkZjFiZTYxNjg1MDlmZjFlMzVmNjJkZXAtMSwKLSAgICAweDEuNGJmZmZlcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDUzNwotICAgIC0weDEuNGE4YzM5NTU1MmZiNDMyYWYzMTc4MGU4ODNjOThmNzFwLTMsCi0gICAgMHgxLmY5NDk4NGM2ZmRmMWJlNjE2ODUwOWZmMWUzNWY2MmRlcC0xLAotICAgIC0weDEuNGJmZmZlcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDUzOAotICAgIDB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKLSAgICAweDEuZjk0OTg0YjI1NTJlMTk0MWVjNzY2YzZhODJlY2U0YTNwLTEsCi0gICAgMHgxLjRjcC0zLAotICB9LAotICB7IC8vIEVudHJ5IDUzOQotICAgIC0weDEuNGE4YzNiNGU5YzdmZmZkNDgzMDVmNDRhNDJmNWY1MGZwLTMsCi0gICAgMHgxLmY5NDk4NGIyNTUyZTE5NDFlYzc2NmM2YTgyZWNlNGEzcC0xLAotICAgIC0weDEuNGNwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQwCi0gICAgMHgxLjRhOGMzZDQ3ZTYwNGE3ZDU0ZjNmN2RlNDAyNDA5ZTJjcC0zLAotICAgIDB4MS5mOTQ5ODQ5ZGFjNmE1NDhkZDg1MTEzOTA0MTEwNjMxNnAtMSwKLSAgICAweDEuNGMwMDAycC0zLAotICB9LAotICB7IC8vIEVudHJ5IDU0MQotICAgIC0weDEuNGE4YzNkNDdlNjA0YTdkNTRmM2Y3ZGU0MDI0MDllMmNwLTMsCi0gICAgMHgxLmY5NDk4NDlkYWM2YTU0OGRkODUxMTM5MDQxMTA2MzE2cC0xLAotICAgIC0weDEuNGMwMDAycC0zLAotICB9LAotICB7IC8vIEVudHJ5IDU0MgotICAgIDB4MS4yZTljZDgzNjMwZWIzNWMxMmVmY2ZiODQxMzU4Mzk5OHAtMiwKLSAgICAweDEuZTkyMWRkNzA1NGVmNWQ0ZjcyN2Q5MzhjZTEwYTA1M2NwLTEsCi0gICAgMHgxLjMzMzMzMnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDMKLSAgICAtMHgxLjJlOWNkODM2MzBlYjM1YzEyZWZjZmI4NDEzNTgzOTk4cC0yLAotICAgIDB4MS5lOTIxZGQ3MDU0ZWY1ZDRmNzI3ZDkzOGNlMTBhMDUzY3AtMSwKLSAgICAtMHgxLjMzMzMzMnAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDQKLSAgICAweDEuMmU5Y2RhMWY1MmM4ODA0MjgzM2YyMzZmZjBmOWQ0ODZwLTIsCi0gICAgMHgxLmU5MjFkZDI0YWRiOTEyOWVmYzA1M2Y5YWNkNGQyNDQ0cC0xLAotICAgIDB4MS4zMzMzMzRwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ1Ci0gICAgLTB4MS4yZTljZGExZjUyYzg4MDQyODMzZjIzNmZmMGY5ZDQ4NnAtMiwKLSAgICAweDEuZTkyMWRkMjRhZGI5MTI5ZWZjMDUzZjlhY2Q0ZDI0NDRwLTEsCi0gICAgLTB4MS4zMzMzMzRwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ2Ci0gICAgMHgxLjJlOWNkYzA4NzRhNTdmMWNhMGY5NzZhOWIwMWU0YTcxcC0yLAotICAgIDB4MS5lOTIxZGNkOTA2ODI0ZGE2MGU0M2MwM2E3Nzc0YjE3MXAtMSwKLSAgICAweDEuMzMzMzM2cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU0NwotICAgIC0weDEuMmU5Y2RjMDg3NGE1N2YxY2EwZjk3NmE5YjAxZTRhNzFwLTIsCi0gICAgMHgxLmU5MjFkY2Q5MDY4MjRkYTYwZTQzYzAzYTc3NzRiMTcxcC0xLAotICAgIC0weDEuMzMzMzM2cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU0OAotICAgIDB4MS4zZmFlZmIyYjY4ZTY3ODZlYjY5MmJkNGU0MDQ1MjEzZXAtMSwKLSAgICAweDEuOGZlZWRjOTI3NjRiZmJkY2I0MTM4OWU4MjA2M2VkNmVwLTEsCi0gICAgMHgxLjU5NDMxNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDkKLSAgICAtMHgxLjNmYWVmYjJiNjhlNjc4NmViNjkyYmQ0ZTQwNDUyMTNlcC0xLAotICAgIDB4MS44ZmVlZGM5Mjc2NGJmYmRjYjQxMzg5ZTgyMDYzZWQ2ZXAtMSwKLSAgICAtMHgxLjU5NDMxNnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTAKLSAgICAweDEuM2ZhZWZjYmI1N2MyNmIwZDg0YjYzZGJmYjcyYjQxM2JwLTEsCi0gICAgMHgxLjhmZWVkYjUyYzc1MDA4N2M1Zjg3MjdlMDI3OWU1ZjY2cC0xLAotICAgIDB4MS41OTQzMThwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUxCi0gICAgLTB4MS4zZmFlZmNiYjU3YzI2YjBkODRiNjNkYmZiNzJiNDEzYnAtMSwKLSAgICAweDEuOGZlZWRiNTJjNzUwMDg3YzVmODcyN2UwMjc5ZTVmNjZwLTEsCi0gICAgLTB4MS41OTQzMThwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUyCi0gICAgMHgxLjNmYWVmZTRiNDY5ZDFkZmQ1NjFlNjY2ZWRkYTdjNmU2cC0xLAotICAgIDB4MS44ZmVlZGExMzE4NTI4NTJkMmZhN2ZlODg0N2IwNTk3M3AtMSwKLSAgICAweDEuNTk0MzFhcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU1MwotICAgIC0weDEuM2ZhZWZlNGI0NjlkMWRmZDU2MWU2NjZlZGRhN2M2ZTZwLTEsCi0gICAgMHgxLjhmZWVkYTEzMTg1Mjg1MmQyZmE3ZmU4ODQ3YjA1OTczcC0xLAotICAgIC0weDEuNTk0MzFhcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU1NAotICAgIDB4MS42ODg4YTM3NWFiMjI4YzFlMDMxYzQwMDU3Njk1MDlmOXAtMSwKLSAgICAweDEuNmI4OTkxMTI3ODU5ZmQ5YjQzY2ExZDA4YjkyYWE0MDFwLTEsCi0gICAgMHgxLjhmZmZmZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTUKLSAgICAtMHgxLjY4ODhhMzc1YWIyMjhjMWUwMzFjNDAwNTc2OTUwOWY5cC0xLAotICAgIDB4MS42Yjg5OTExMjc4NTlmZDliNDNjYTFkMDhiOTJhYTQwMXAtMSwKLSAgICAtMHgxLjhmZmZmZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTYKLSAgICAweDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCi0gICAgMHgxLjZiODk4ZmE5ZWZiNWQyMmI1OGYwZDk5ZTk2MzQ5MzFhcC0xLAotICAgIDB4MS45MHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTcKLSAgICAtMHgxLjY4ODhhNGUxMzRiMmVhNTIwYjIyNmVjYTg2OTRiM2EycC0xLAotICAgIDB4MS42Yjg5OGZhOWVmYjVkMjJiNThmMGQ5OWU5NjM0OTMxYXAtMSwKLSAgICAtMHgxLjkwcC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU1OAotICAgIDB4MS42ODg4YTY0Y2JlNDFkZmZkNmU0NzY4ZGNjYTRkYjUzYnAtMSwKLSAgICAweDEuNmI4OThlNDE2NzEwM2IzMWRlNmRhNjdlYmY1ZTlmZTZwLTEsCi0gICAgMHgxLjkwMDAwMnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTkKLSAgICAtMHgxLjY4ODhhNjRjYmU0MWRmZmQ2ZTQ3NjhkY2NhNGRiNTNicC0xLAotICAgIDB4MS42Yjg5OGU0MTY3MTAzYjMxZGU2ZGE2N2ViZjVlOWZlNnAtMSwKLSAgICAtMHgxLjkwMDAwMnAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAtMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgLTB4MS5wLTE0OSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjEKLSAgICAwLjBmLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAweDEucC0xNDksCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYyCi0gICAgMC4wLAotICAgIDB4MS5wMCwKLSAgICAwLjAsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYzCi0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDU2NAotICAgIC0wLjBmLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDU2NQotICAgIDB4MS45MWY2NWRjY2ZlYWQzNTNkOGRiOWMzMmYxMjI2MjczMHAtNSwKLSAgICAweDEuZmY2MjFlMzg5NTZhM2IzYmU5MjAyNTZkZGI2MDM0Y2RwLTEsCi0gICAgMHgxLjkyMWZiNHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjYKLSAgICAtMHgxLjkxZjY1ZGNjZmVhZDM1M2Q4ZGI5YzMyZjEyMjYyNzMwcC01LAotICAgIDB4MS5mZjYyMWUzODk1NmEzYjNiZTkyMDI1NmRkYjYwMzRjZHAtMSwKLSAgICAtMHgxLjkyMWZiNHAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjcKLSAgICAweDEuOTFmNjVmY2M2MGNiNmQwOWZjYzVjMzVkZDZhNzk4YzhwLTUsCi0gICAgMHgxLmZmNjIxZTM3MDM3M2RjNmYzOTYzZDQyODk2ZWRlMDc4cC0xLAotICAgIDB4MS45MjFmYjZwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY4Ci0gICAgLTB4MS45MWY2NWZjYzYwY2I2ZDA5ZmNjNWMzNWRkNmE3OThjOHAtNSwKLSAgICAweDEuZmY2MjFlMzcwMzczZGM2ZjM5NjNkNDI4OTZlZGUwNzhwLTEsCi0gICAgLTB4MS45MjFmYjZwLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY5Ci0gICAgMHgxLjkxZjY2MWNiYzJlOWEzNDQ3NTcxZjcyYmNmYmMyMWUycC01LAotICAgIDB4MS5mZjYyMWUzNTcxN2Q3YmEzMjc4OTRiZGZkZTlmNDc4N3AtMSwKLSAgICAweDEuOTIxZmI4cC01LAotICB9LAotICB7IC8vIEVudHJ5IDU3MAotICAgIC0weDEuOTFmNjYxY2JjMmU5YTM0NDc1NzFmNzJiY2ZiYzIxZTJwLTUsCi0gICAgMHgxLmZmNjIxZTM1NzE3ZDdiYTMyNzg5NGJkZmRlOWY0Nzg3cC0xLAotICAgIC0weDEuOTIxZmI4cC01LAotICB9LAotICB7IC8vIEVudHJ5IDU3MQotICAgIDB4MS45MTdhNmE3ZmU4Mjk3YmYwYTExMjVmYjAyYjIwMzhhZXAtNCwKLSAgICAweDEuZmQ4OGRhNDEwYjYxY2Q1NTIyMWQ5YmViOTk2ZDRkOTlwLTEsCi0gICAgMHgxLjkyMWZiNHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAtMHgxLjkxN2E2YTdmZTgyOTdiZjBhMTEyNWZiMDJiMjAzOGFlcC00LAotICAgIDB4MS5mZDg4ZGE0MTBiNjFjZDU1MjIxZDliZWI5OTZkNGQ5OXAtMSwKLSAgICAtMHgxLjkyMWZiNHAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzMKLSAgICAweDEuOTE3YTZjN2Q3MTAzYjlkOTBlMDk2MTUxNjQ0NDljNmJwLTQsCi0gICAgMHgxLmZkODhkYTNhYzU3ODFmNWE2ZmMzMmU0MGVkNTEyMmIwcC0xLAotICAgIDB4MS45MjFmYjZwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc0Ci0gICAgLTB4MS45MTdhNmM3ZDcxMDNiOWQ5MGUwOTYxNTE2NDQ0OWM2YnAtNCwKLSAgICAweDEuZmQ4OGRhM2FjNTc4MWY1YTZmYzMyZTQwZWQ1MTIyYjBwLTEsCi0gICAgLTB4MS45MjFmYjZwLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc1Ci0gICAgMHgxLjkxN2E2ZTdhZjlkZGYxN2I5MTRlNmQyZThlODNiMzNlcC00LAotICAgIDB4MS5mZDg4ZGEzNDdmOGU2OTY5OTlmZmQ1ODA2MGJhMzU2OXAtMSwKLSAgICAweDEuOTIxZmI4cC00LAotICB9LAotICB7IC8vIEVudHJ5IDU3NgotICAgIC0weDEuOTE3YTZlN2FmOWRkZjE3YjkxNGU2ZDJlOGU4M2IzM2VwLTQsCi0gICAgMHgxLmZkODhkYTM0N2Y4ZTY5Njk5OWZmZDU4MDYwYmEzNTY5cC0xLAotICAgIC0weDEuOTIxZmI4cC00LAotICB9LAotICB7IC8vIEVudHJ5IDU3NwotICAgIDB4MS44ZjhiODI4ODkyOTZiNWNmNzkwNGRiMWU3NGIzNDY2YnAtMywKLSAgICAweDEuZjYyOTdkMGY0NjcxZGE1ODBkZmVjZGQ0ZGIyOWY0NzNwLTEsCi0gICAgMHgxLjkyMWZiNHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzgKLSAgICAtMHgxLjhmOGI4Mjg4OTI5NmI1Y2Y3OTA0ZGIxZTc0YjM0NjZicC0zLAotICAgIDB4MS5mNjI5N2QwZjQ2NzFkYTU4MGRmZWNkZDRkYjI5ZjQ3M3AtMSwKLSAgICAtMHgxLjkyMWZiNHAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzkKLSAgICAweDEuOGY4Yjg0N2ViYzEzYjg5OThlYzViMzdlNzA2NTM0MWVwLTMsCi0gICAgMHgxLmY2Mjk3Y2Y2NGRiOWEyMWQ5OGFiMzk0MGZjOGE4NmYwcC0xLAotICAgIDB4MS45MjFmYjZwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgwCi0gICAgLTB4MS44ZjhiODQ3ZWJjMTNiODk5OGVjNWIzN2U3MDY1MzQxZXAtMywKLSAgICAweDEuZjYyOTdjZjY0ZGI5YTIxZDk4YWIzOTQwZmM4YTg2ZjBwLTEsCi0gICAgLTB4MS45MjFmYjZwLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgxCi0gICAgMHgxLjhmOGI4Njc0ZTU5MGEyNmFlYzNlYTAxZDMwYWVkNDg2cC0zLAotICAgIDB4MS5mNjI5N2NkZDU1MDE0YTgwOGI4ODNmZDE4M2YzMThhY3AtMSwKLSAgICAweDEuOTIxZmI4cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDU4MgotICAgIC0weDEuOGY4Yjg2NzRlNTkwYTI2YWVjM2VhMDFkMzBhZWQ0ODZwLTMsCi0gICAgMHgxLmY2Mjk3Y2RkNTUwMTRhODA4Yjg4M2ZkMTgzZjMxOGFjcC0xLAotICAgIC0weDEuOTIxZmI4cC0zLAotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIDB4MS44N2RlMjkzZjU2OTcxN2E0MmEzYmRiMDFhZWFlMjA2M3AtMiwKLSAgICAweDEuZDkwNmJkMzEzNDQzMDA3ZGNiMGJkNGUzZDYzMjg0YzBwLTEsCi0gICAgMHgxLjkyMWZiNHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODQKLSAgICAtMHgxLjg3ZGUyOTNmNTY5NzE3YTQyYTNiZGIwMWFlYWUyMDYzcC0yLAotICAgIDB4MS5kOTA2YmQzMTM0NDMwMDdkY2IwYmQ0ZTNkNjMyODRjMHAtMSwKLSAgICAtMHgxLjkyMWZiNHAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODUKLSAgICAweDEuODdkZTJiMTg1ZDU0MTdkY2E4MDBiODVjYTEzMTkwNDNwLTIsCi0gICAgMHgxLmQ5MDZiY2NmM2NiODc1ODc0ZGEzZGE0YzAxMTA0YmFmcC0xLAotICAgIDB4MS45MjFmYjZwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg2Ci0gICAgLTB4MS44N2RlMmIxODVkNTQxN2RjYTgwMGI4NWNhMTMxOTA0M3AtMiwKLSAgICAweDEuZDkwNmJjY2YzY2I4NzU4NzRkYTNkYTRjMDExMDRiYWZwLTEsCi0gICAgLTB4MS45MjFmYjZwLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg3Ci0gICAgMHgxLjg3ZGUyY2YxNjQxMGI2MWQ5YWZmN2U2MjhmYzg1M2IycC0yLAotICAgIDB4MS5kOTA2YmM2ZDQ1MmQ3NDRmMjEwODEwODYxMTAyZjJkYXAtMSwKLSAgICAweDEuOTIxZmI4cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU4OAotICAgIC0weDEuODdkZTJjZjE2NDEwYjYxZDlhZmY3ZTYyOGZjODUzYjJwLTIsCi0gICAgMHgxLmQ5MDZiYzZkNDUyZDc0NGYyMTA4MTA4NjExMDJmMmRhcC0xLAotICAgIC0weDEuOTIxZmI4cC0yLAotICB9LAotICB7IC8vIEVudHJ5IDU4OQotICAgIDB4MS42YTA5ZTU4MmFhMzk0NTQ2MWI1YThhMDc4N2Q1YWI1YnAtMSwKLSAgICAweDEuNmEwOWU3NGQzZDNmYmI5NGQ5NDI3NGYzNzc2OWY2ZWFwLTEsCi0gICAgMHgxLjkyMWZiNHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTAKLSAgICAtMHgxLjZhMDllNTgyYWEzOTQ1NDYxYjVhOGEwNzg3ZDVhYjVicC0xLAotICAgIDB4MS42YTA5ZTc0ZDNkM2ZiYjk0ZDk0Mjc0ZjM3NzY5ZjZlYXAtMSwKLSAgICAtMHgxLjkyMWZiNHAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTEKLSAgICAweDEuNmEwOWU2ZWNiNDFmZGQ3ZTY4MTg3MmM4NTQ4ODcwMTlwLTEsCi0gICAgMHgxLjZhMDllNWUzMzM1OTgzZTVhYzkyZTczM2UzZjI0YjQycC0xLAotICAgIDB4MS45MjFmYjZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkyCi0gICAgLTB4MS42YTA5ZTZlY2I0MWZkZDdlNjgxODcyYzg1NDg4NzAxOXAtMSwKLSAgICAweDEuNmEwOWU1ZTMzMzU5ODNlNWFjOTJlNzMzZTNmMjRiNDJwLTEsCi0gICAgLTB4MS45MjFmYjZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgMHgxLjZhMDllODU2YmUwNTBiYWNjZGU5YTc2OTYxZTg0YWE3cC0xLAotICAgIDB4MS42YTA5ZTQ3OTI5NzFlMjJjOWEwMDI2MWFlYWMwNzBkYXAtMSwKLSAgICAweDEuOTIxZmI4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU5NAotICAgIC0weDEuNmEwOWU4NTZiZTA1MGJhY2NkZTlhNzY5NjFlODRhYTdwLTEsCi0gICAgMHgxLjZhMDllNDc5Mjk3MWUyMmM5YTAwMjYxYWVhYzA3MGRhcC0xLAotICAgIC0weDEuOTIxZmI4cC0xLAotICB9LAotICB7IC8vIEVudHJ5IDU5NQotICAgIDB4MS5mZmZmZmZmZmZmZmU2NTQ2Y2MzODIxMWMyNmRhYmVlYnAtMSwKLSAgICAweDEuNDQ0MmQxODQ2OTg5MzYxMDI4MWEwZjliMGU4ZDBlZWZwLTI0LAotICAgIDB4MS45MjFmYjRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZTY1NDZjYzM4MjExYzI2ZGFiZWVicC0xLAotICAgIDB4MS40NDQyZDE4NDY5ODkzNjEwMjgxYTBmOWIwZThkMGVlZnAtMjQsCi0gICAgLTB4MS45MjFmYjRwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTcKLSAgICAweDEuZmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyMjkzMGVkODJwLTEsCi0gICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCi0gICAgMHgxLjkyMWZiNnAwLAotICB9LAotICB7IC8vIEVudHJ5IDU5OAotICAgIC0weDEuZmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyMjkzMGVkODJwLTEsCi0gICAgLTB4MS43NzdhNWNmNzJjZWNjNGNkZTNhMzFlN2Q1YTAyNjE0MnAtMjUsCi0gICAgLTB4MS45MjFmYjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTkKLSAgICAweDEuZmZmZmZmZmZmZmY4ODc1ZDU4NWI2ZDZjZmNlOTdkOWNwLTEsCi0gICAgLTB4MS41ZGRlOTczZGNiMzk4NWY0YThlNzZhMWZlY2EyOWUxZHAtMjMsCi0gICAgMHgxLjkyMWZiOHAwLAotICB9LAotICB7IC8vIEVudHJ5IDYwMAotICAgIC0weDEuZmZmZmZmZmZmZmY4ODc1ZDU4NWI2ZDZjZmNlOTdkOWNwLTEsCi0gICAgLTB4MS41ZGRlOTczZGNiMzk4NWY0YThlNzZhMWZlY2EyOWUxZHAtMjMsCi0gICAgLTB4MS45MjFmYjhwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDEKLSAgICAweDEuNDQ0MmQxODQ2OTg4MzFmMTViNjMxNWJmYTZiNWFlNzVwLTIzLAotICAgIC0weDEuZmZmZmZmZmZmZmY5OTUxYjMwZTA4NDczMmU2MGJiODVwLTEsCi0gICAgMHgxLjkyMWZiNHAxLAotICB9LAotICB7IC8vIEVudHJ5IDYwMgotICAgIC0weDEuNDQ0MmQxODQ2OTg4MzFmMTViNjMxNWJmYTZiNWFlNzVwLTIzLAotICAgIC0weDEuZmZmZmZmZmZmZmY5OTUxYjMwZTA4NDczMmU2MGJiODVwLTEsCi0gICAgLTB4MS45MjFmYjRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDMKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZGQ5NDg0OTI3MWQwOGVlY2Y1NGExcC0xLAotICAgIDB4MS45MjFmYjZwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDQKLSAgICAweDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAotICAgIC0weDEuZmZmZmZmZmZmZmZkZDk0ODQ5MjcxZDA4ZWVjZjU0YTFwLTEsCi0gICAgLTB4MS45MjFmYjZwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDUKLSAgICAtMHgxLjVkZGU5NzNkY2IzNDZhZmE0NjIwM2NkZGM2ZjdmZTk3cC0yMiwKLSAgICAtMHgxLmZmZmZmZmZmZmZlMjFkNzU2MTZkYjVlYmM1NjQwNWY1cC0xLAotICAgIDB4MS45MjFmYjhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDYKLSAgICAweDEuNWRkZTk3M2RjYjM0NmFmYTQ2MjAzY2RkYzZmN2ZlOTdwLTIyLAotICAgIC0weDEuZmZmZmZmZmZmZmUyMWQ3NTYxNmRiNWViYzU2NDA1ZjVwLTEsCi0gICAgLTB4MS45MjFmYjhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDcKLSAgICAtMHgxLjQ0NDJkMTg0Njk4NDIxNzYyODg3MmU1NmViNThiNGMxcC0yMiwKLSAgICAweDEuZmZmZmZmZmZmZmU2NTQ2Y2MzODIxMWY1ZThkZWViOTdwLTEsCi0gICAgMHgxLjkyMWZiNHAyLAotICB9LAotICB7IC8vIEVudHJ5IDYwOAotICAgIDB4MS40NDQyZDE4NDY5ODQyMTc2Mjg4NzJlNTZlYjU4YjRjMXAtMjIsCi0gICAgMHgxLmZmZmZmZmZmZmZlNjU0NmNjMzgyMTFmNWU4ZGVlYjk3cC0xLAotICAgIC0weDEuOTIxZmI0cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA5Ci0gICAgMHgxLjc3N2E1Y2Y3MmNlYWNiZjZlYzY1N2U5NzdlZjc3MWYxcC0yMywKLSAgICAweDEuZmZmZmZmZmZmZmY3NjUyMTI0OWM3NDI4NWJmNzNjMDdwLTEsCi0gICAgMHgxLjkyMWZiNnAyLAotICB9LAotICB7IC8vIEVudHJ5IDYxMAotICAgIC0weDEuNzc3YTVjZjcyY2VhY2JmNmVjNjU3ZTk3N2VmNzcxZjFwLTIzLAotICAgIDB4MS5mZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0Mjg1YmY3M2MwN3AtMSwKLSAgICAtMHgxLjkyMWZiNnAyLAotICB9LAotICB7IC8vIEVudHJ5IDYxMQotICAgIDB4MS41ZGRlOTczZGNiMWZmZjEwYmIwMzg4NDc5ZTgyZjRiYnAtMjEsCi0gICAgMHgxLmZmZmZmZmZmZmY4ODc1ZDU4NWI2ZGIyYzMxNzExMDA0cC0xLAotICAgIDB4MS45MjFmYjhwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTIKLSAgICAtMHgxLjVkZGU5NzNkY2IxZmZmMTBiYjAzODg0NzllODJmNGJicC0yMSwKLSAgICAweDEuZmZmZmZmZmZmZjg4NzVkNTg1YjZkYjJjMzE3MTEwMDRwLTEsCi0gICAgLTB4MS45MjFmYjhwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTMKLSAgICAtMHgxLjQ0NDJkMTg0Njk3M2RmODk1ZDE3OTEwMjNkZWQ1MTNjcC0yMSwKLSAgICAweDEuZmZmZmZmZmZmZjk5NTFiMzBlMDg0YTZhOTkzYjg2NzVwLTEsCi0gICAgMHgxLjkyMWZiNHAzLAotICB9LAotICB7IC8vIEVudHJ5IDYxNAotICAgIDB4MS40NDQyZDE4NDY5NzNkZjg5NWQxNzkxMDIzZGVkNTEzY3AtMjEsCi0gICAgMHgxLmZmZmZmZmZmZmY5OTUxYjMwZTA4NGE2YTk5M2I4Njc1cC0xLAotICAgIC0weDEuOTIxZmI0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE1Ci0gICAgMHgxLjc3N2E1Y2Y3MmNlNDdjN2EzYmEwNGJjMmE2MDdhOWE3cC0yMiwKLSAgICAweDEuZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMGViN2I3Yjg4NGJwLTEsCi0gICAgMHgxLjkyMWZiNnAzLAotICB9LAotICB7IC8vIEVudHJ5IDYxNgotICAgIC0weDEuNzc3YTVjZjcyY2U0N2M3YTNiYTA0YmMyYTYwN2E5YTdwLTIyLAotICAgIDB4MS5mZmZmZmZmZmZmZGQ5NDg0OTI3MWQwZWI3YjdiODg0YnAtMSwKLSAgICAtMHgxLjkyMWZiNnAzLAotICB9LAotICB7IC8vIEVudHJ5IDYxNwotICAgIDB4MS41ZGRlOTczZGNhY2U0ZjZhOGU5MGJkMTVlMDA2MTBmOHAtMjAsCi0gICAgMHgxLmZmZmZmZmZmZmUyMWQ3NTYxNmRiYTQ4MjgzZDNjMmY3cC0xLAotICAgIDB4MS45MjFmYjhwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTgKLSAgICAtMHgxLjVkZGU5NzNkY2FjZTRmNmE4ZTkwYmQxNWUwMDYxMGY4cC0yMCwKLSAgICAweDEuZmZmZmZmZmZmZTIxZDc1NjE2ZGJhNDgyODNkM2MyZjdwLTEsCi0gICAgLTB4MS45MjFmYjhwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTkKLSAgICAtMHgxLjQ0NDJkMTg0NjkzMmQ3ZDYyZjU5MjA5Mzg4YzdmN2NhcC0yMCwKLSAgICAweDEuZmZmZmZmZmZmZTY1NDZjYzM4MjE1MmQ5YzBlYjliNDdwLTEsCi0gICAgMHgxLjkyMWZiNHA0LAotICB9LAotICB7IC8vIEVudHJ5IDYyMAotICAgIDB4MS40NDQyZDE4NDY5MzJkN2Q2MmY1OTIwOTM4OGM3ZjdjYXAtMjAsCi0gICAgMHgxLmZmZmZmZmZmZmU2NTQ2Y2MzODIxNTJkOWMwZWI5YjQ3cC0xLAotICAgIC0weDEuOTIxZmI0cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIxCi0gICAgMHgxLjc3N2E1Y2Y3MmNjYjNlODc3ODhiODExMjI5ZTcyNWJjcC0yMSwKLSAgICAweDEuZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0ODRlYTdkN2E0MDlwLTEsCi0gICAgMHgxLjkyMWZiNnA0LAotICB9LAotICB7IC8vIEVudHJ5IDYyMgotICAgIC0weDEuNzc3YTVjZjcyY2NiM2U4Nzc4OGI4MTEyMjllNzI1YmNwLTIxLAotICAgIDB4MS5mZmZmZmZmZmZmNzY1MjEyNDljNzQ4NGVhN2Q3YTQwOXAtMSwKLSAgICAtMHgxLjkyMWZiNnA0LAotICB9LAotICB7IC8vIEVudHJ5IDYyMwotICAgIDB4MS41ZGRlOTczZGM5ODc5MGQxZGNjNjAyYmQxYjg2YmNjYXAtMTksCi0gICAgMHgxLmZmZmZmZmZmZjg4NzVkNTg1YjcyMGYyNWYwNDczOTQzcC0xLAotICAgIDB4MS45MjFmYjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjQKLSAgICAtMHgxLjVkZGU5NzNkYzk4NzkwZDFkY2M2MDJiZDFiODZiY2NhcC0xOSwKLSAgICAweDEuZmZmZmZmZmZmODg3NWQ1ODViNzIwZjI1ZjA0NzM5NDNwLTEsCi0gICAgLTB4MS45MjFmYjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjUKLSAgICAtMHgxLjQ0NDJkMTg0NjgyZWI5MDk3ODVmYWQxOGJjYjVkYmZjcC0xOSwKLSAgICAweDEuZmZmZmZmZmZmOTk1MWIzMGUwODdkZTVjYzM4NjgzYjhwLTEsCi0gICAgMHgxLjkyMWZiNHA1LAotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIDB4MS40NDQyZDE4NDY4MmViOTA5Nzg1ZmFkMThiY2I1ZGJmY3AtMTksCi0gICAgMHgxLmZmZmZmZmZmZjk5NTFiMzBlMDg3ZGU1Y2MzODY4M2I4cC0xLAotICAgIC0weDEuOTIxZmI0cDUsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI3Ci0gICAgMHgxLjc3N2E1Y2Y3MmM2NjQ2YmM2YzM4NjA3ZWIzNGVlYTEzcC0yMCwKLSAgICAweDEuZmZmZmZmZmZmZGQ5NDg0OTI3MWQ2YjQ2M2RmNmJkZGZwLTEsCi0gICAgMHgxLjkyMWZiNnA1LAotICB9LAotICB7IC8vIEVudHJ5IDYyOAotICAgIC0weDEuNzc3YTVjZjcyYzY2NDZiYzZjMzg2MDdlYjM0ZWVhMTNwLTIwLAotICAgIDB4MS5mZmZmZmZmZmZkZDk0ODQ5MjcxZDZiNDYzZGY2YmRkZnAtMSwKLSAgICAtMHgxLjkyMWZiNnA1LAotICB9LAotICB7IC8vIEVudHJ5IDYyOQotICAgIDB4MS41ZGRlOTczZGM0NmM5NjZmMTVhMjQwM2Q2MGNkMTRkMHAtMTgsCi0gICAgMHgxLmZmZmZmZmZmZTIxZDc1NjE2ZTAwMGU1NWQwOWY4NzU3cC0xLAotICAgIDB4MS45MjFmYjhwNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzAKLSAgICAtMHgxLjVkZGU5NzNkYzQ2Yzk2NmYxNWEyNDAzZDYwY2QxNGQwcC0xOCwKLSAgICAweDEuZmZmZmZmZmZlMjFkNzU2MTZlMDAwZTU1ZDA5Zjg3NTdwLTEsCi0gICAgLTB4MS45MjFmYjhwNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzEKLSAgICAtMHgxLjQ0NDJkMTg0NjQxZTNkZDY5YzdlYzMyZTE0YTIwOWE1cC0xOCwKLSAgICAweDEuZmZmZmZmZmZlNjU0NmNjMzgyNDhhOGNmMGI5YjU3OTVwLTEsCi0gICAgMHgxLjkyMWZiNHA2LAotICB9LAotICB7IC8vIEVudHJ5IDYzMgotICAgIDB4MS40NDQyZDE4NDY0MWUzZGQ2OWM3ZWMzMmUxNGEyMDlhNXAtMTgsCi0gICAgMHgxLmZmZmZmZmZmZTY1NDZjYzM4MjQ4YThjZjBiOWI1Nzk1cC0xLAotICAgIC0weDEuOTIxZmI0cDYsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMzCi0gICAgMHgxLjc3N2E1Y2Y3MmFkMjY3OTAzYWVjODExODc3OGIzYjVhcC0xOSwKLSAgICAweDEuZmZmZmZmZmZmNzY1MjEyNDljN2E0ZGQyZTE1ZGQxYzRwLTEsCi0gICAgMHgxLjkyMWZiNnA2LAotICB9LAotICB7IC8vIEVudHJ5IDYzNAotICAgIC0weDEuNzc3YTVjZjcyYWQyNjc5MDNhZWM4MTE4Nzc4YjNiNWFwLTE5LAotICAgIDB4MS5mZmZmZmZmZmY3NjUyMTI0OWM3YTRkZDJlMTVkZDFjNHAtMSwKLSAgICAtMHgxLjkyMWZiNnA2LAotICB9LAotICB7IC8vIEVudHJ5IDYzNQotICAgIDB4MS41ZGRlOTczZGIwMDBhY2UzZjk4NWE0NzNlYTFmYzAzOXAtMTcsCi0gICAgMHgxLmZmZmZmZmZmODg3NWQ1ODViYjdkNTUzODNhOWIzOWE0cC0xLAotICAgIDB4MS45MjFmYjhwNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzYKLSAgICAtMHgxLjVkZGU5NzNkYjAwMGFjZTNmOTg1YTQ3M2VhMWZjMDM5cC0xNywKLSAgICAweDEuZmZmZmZmZmY4ODc1ZDU4NWJiN2Q1NTM4M2E5YjM5YTRwLTEsCi0gICAgLTB4MS45MjFmYjhwNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzcKLSAgICAtMHgxLjQ0NDJkMTg0NTNkYzUxMGIyZDQ5NWI4YmY3OWJkMWNlcC0xNywKLSAgICAweDEuZmZmZmZmZmY5OTUxYjMwZTBiYjU5OGZjMDY3OWE2ZjdwLTEsCi0gICAgMHgxLjkyMWZiNHA3LAotICB9LAotICB7IC8vIEVudHJ5IDYzOAotICAgIDB4MS40NDQyZDE4NDUzZGM1MTBiMmQ0OTViOGJmNzliZDFjZXAtMTcsCi0gICAgMHgxLmZmZmZmZmZmOTk1MWIzMGUwYmI1OThmYzA2NzlhNmY3cC0xLAotICAgIC0weDEuOTIxZmI0cDcsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM5Ci0gICAgMHgxLjc3N2E1Y2Y3MjQ4MmVhZGY3NWM3MzFmOTcyNTA3NzE4cC0xOCwKLSAgICAweDEuZmZmZmZmZmZkZDk0ODQ5MjcyMzM0MmVhMWRhNDliYWNwLTEsCi0gICAgMHgxLjkyMWZiNnA3LAotICB9LAotICB7IC8vIEVudHJ5IDY0MAotICAgIC0weDEuNzc3YTVjZjcyNDgyZWFkZjc1YzczMWY5NzI1MDc3MThwLTE4LAotICAgIDB4MS5mZmZmZmZmZmRkOTQ4NDkyNzIzMzQyZWExZGE0OWJhY3AtMSwKLSAgICAtMHgxLjkyMWZiNnA3LAotICB9LAotICB7IC8vIEVudHJ5IDY0MQotICAgIDB4MS41ZGRlOTczZDVlNTEwNmI3OTAzYTE4YTU1MmFlZmM2ZXAtMTYsCi0gICAgMHgxLmZmZmZmZmZlMjFkNzU2MTcyNWM3MTJmMDY4ZmM5NzE4cC0xLAotICAgIDB4MS45MjFmYjhwNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICAtMHgxLjVkZGU5NzNkNWU1MTA2Yjc5MDNhMThhNTUyYWVmYzZlcC0xNiwKLSAgICAweDEuZmZmZmZmZmUyMWQ3NTYxNzI1YzcxMmYwNjhmYzk3MThwLTEsCi0gICAgLTB4MS45MjFmYjhwNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDMKLSAgICAweDEuNmEwOWYxOTQwYjgwYzhlMjVjZmM4YzEwZDQyNTc2YzZwLTEsCi0gICAgLTB4MS42YTA5ZGIzYmRiYTA4NjhhMzFlNzY2MzU5YTg0MDZjYXAtMSwKLSAgICAweDEuMmQ5N2M0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ0Ci0gICAgLTB4MS42YTA5ZjE5NDBiODBjOGUyNWNmYzhjMTBkNDI1NzZjNnAtMSwKLSAgICAtMHgxLjZhMDlkYjNiZGJhMDg2OGEzMWU3NjYzNTlhODQwNmNhcC0xLAotICAgIC0weDEuMmQ5N2M0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ1Ci0gICAgMHgxLjZhMDllYmViZTQwODg5MjQ1ZDU3YzVjOWQ5MGE2ZDgycC0xLAotICAgIC0weDEuNmEwOWUwZTQwMzViODY2OTRjMTY1MzRlNDJmYmUxMTFwLTEsCi0gICAgMHgxLjJkOTdjNnAxLAotICB9LAotICB7IC8vIEVudHJ5IDY0NgotICAgIC0weDEuNmEwOWViZWJlNDA4ODkyNDVkNTdjNWM5ZDkwYTZkODJwLTEsCi0gICAgLTB4MS42YTA5ZTBlNDAzNWI4NjY5NGMxNjUzNGU0MmZiZTExMXAtMSwKLSAgICAtMHgxLjJkOTdjNnAxLAotICB9LAotICB7IC8vIEVudHJ5IDY0NwotICAgIDB4MS42YTA5ZTY0M2JjNzlhOGM3OWVmNGJmMTg3NzI3ZTI2OXAtMSwKLSAgICAtMHgxLjZhMDllNjhjMmFmZmU1YWE1ODA1MGFjY2IwNWM2MjQ4cC0xLAotICAgIDB4MS4yZDk3YzhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDgKLSAgICAtMHgxLjZhMDllNjQzYmM3OWE4Yzc5ZWY0YmYxODc3MjdlMjY5cC0xLAotICAgIC0weDEuNmEwOWU2OGMyYWZmZTVhYTU4MDUwYWNjYjA1YzYyNDhwLTEsCi0gICAgLTB4MS4yZDk3YzhwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDkKLSAgICAtMHgxLjZhMDlkZjE5NzA0Y2YxNDEwOGUwOTAwMGZmNjM3NGJmcC0xLAotICAgIC0weDEuNmEwOWVkYjY3NzA2ZTA5OTcxMjFkMTJhMGM4N2JhZThwLTEsCi0gICAgMHgxLmY2YTdhMHAxLAotICB9LAotICB7IC8vIEVudHJ5IDY1MAotICAgIDB4MS42YTA5ZGYxOTcwNGNmMTQxMDhlMDkwMDBmZjYzNzRiZnAtMSwKLSAgICAtMHgxLjZhMDllZGI2NzcwNmUwOTk3MTIxZDEyYTBjODdiYWU4cC0xLAotICAgIC0weDEuZjZhN2EwcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUxCi0gICAgLTB4MS42YTA5ZTRjMTk3Zjg3YWNlMWM4MWI0MzAyMmJlMzliMXAtMSwKLSAgICAtMHgxLjZhMDllODBlNGY3ZjJhODhkZWJlZDM3ZmFhOTNlOGM4cC0xLAotICAgIDB4MS5mNmE3YTJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTIKLSAgICAweDEuNmEwOWU0YzE5N2Y4N2FjZTFjODFiNDMwMjJiZTM5YjFwLTEsCi0gICAgLTB4MS42YTA5ZTgwZTRmN2YyYTg4ZGViZWQzN2ZhYTkzZThjOHAtMSwKLSAgICAtMHgxLmY2YTdhMnAxLAotICB9LAotICB7IC8vIEVudHJ5IDY1MwotICAgIC0weDEuNmEwOWVhNjliZjhkNjNiY2U0MDk1OGY1YzRiNGYxNTVwLTEsCi0gICAgLTB4MS42YTA5ZTI2NjI3ZTBkM2Q5Y2I3NmRlMDBjYjkwMmJlY3AtMSwKLSAgICAweDEuZjZhN2E0cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU0Ci0gICAgMHgxLjZhMDllYTY5YmY4ZDYzYmNlNDA5NThmNWM0YjRmMTU1cC0xLAotICAgIC0weDEuNmEwOWUyNjYyN2UwZDNkOWNiNzZkZTAwY2I5MDJiZWNwLTEsCi0gICAgLTB4MS5mNmE3YTRwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTUKLSAgICAtMHgxLmZmZmZmZmZmZmYwNjVjYjI0MGJiOGY5NTE5ZDJjNmYxcC0xLAotICAgIC0weDEuZjk5OTBlOTFhNzQxNjhiOTBiZDY4ZGZhYjc3NWM5Y2FwLTIxLAotICAgIDB4MS4yZDk3YzRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTYKLSAgICAweDEuZmZmZmZmZmZmZjA2NWNiMjQwYmI4Zjk1MTlkMmM2ZjFwLTEsCi0gICAgLTB4MS5mOTk5MGU5MWE3NDE2OGI5MGJkNjhkZmFiNzc1YzljYXAtMjEsCi0gICAgLTB4MS4yZDk3YzRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTcKLSAgICAtMHgxLmZmZmZmZmZmZmZjMzI5Mzk4OThmNDY0YWFmYzJlNzRhcC0xLAotICAgIC0weDEuZjMzMjFkMjM0ZjEzNjNkMTg3ZGQwOTUyOGI2N2IyMTVwLTIyLAotICAgIDB4MS4yZDk3YzZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTgKLSAgICAweDEuZmZmZmZmZmZmZmMzMjkzOTg5OGY0NjRhYWZjMmU3NGFwLTEsCi0gICAgLTB4MS5mMzMyMWQyMzRmMTM2M2QxODdkZDA5NTI4YjY3YjIxNXAtMjIsCi0gICAgLTB4MS4yZDk3YzZwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTkKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGExZmI0ZTdicC0xLAotICAgIDB4MS45OWJjNWI5NjFiMWFjYWNhMThkOTcxZjY4YWU5OWRhOXAtMjcsCi0gICAgMHgxLjJkOTdjOHAyLAotICB9LAotICB7IC8vIEVudHJ5IDY2MAotICAgIDB4MS5mZmZmZmZmZmZmZmZmNWMwZDI2MzBlZTBhMWZiNGU3YnAtMSwKLSAgICAweDEuOTliYzViOTYxYjFhY2FjYTE4ZDk3MWY2OGFlOTlkYTlwLTI3LAotICAgIC0weDEuMmQ5N2M4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYxCi0gICAgLTB4MS42YTA5ZjUyOTMxNmNkZTVhMTkwZDIzNWNjNGNjYjgyNXAtMSwKLSAgICAweDEuNmEwOWQ3YTZiNTcyYzJjODI0ZDEzN2QwNDA1ZDgxODhwLTEsCi0gICAgMHgxLjVmZGJiY3AyLAotICB9LAotICB7IC8vIEVudHJ5IDY2MgotICAgIDB4MS42YTA5ZjUyOTMxNmNkZTVhMTkwZDIzNWNjNGNjYjgyNXAtMSwKLSAgICAweDEuNmEwOWQ3YTZiNTcyYzJjODI0ZDEzN2QwNDA1ZDgxODhwLTEsCi0gICAgLTB4MS41ZmRiYmNwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjMKLSAgICAtMHgxLjZhMDllOWQ4ZTI4MjY3NzA1NjdlYTgxOGIyZTg5OTYwcC0xLAotICAgIDB4MS42YTA5ZTJmNzA0ZWVjYjE4MWUzZjVlY2U5YmUwY2EwZnAtMSwKLSAgICAweDEuNWZkYmJlcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY0Ci0gICAgMHgxLjZhMDllOWQ4ZTI4MjY3NzA1NjdlYTgxOGIyZTg5OTYwcC0xLAotICAgIDB4MS42YTA5ZTJmNzA0ZWVjYjE4MWUzZjVlY2U5YmUwY2EwZnAtMSwKLSAgICAtMHgxLjVmZGJiZXAyLAotICB9LAotICB7IC8vIEVudHJ5IDY2NQotICAgIC0weDEuNmEwOWRlODg5MzNkNmUwYzFkYjc4ZTFkN2NkMTUxNzNwLTEsCi0gICAgMHgxLjZhMDllZTQ3NTQxMDUwZWY1OWVjNGJmY2U5MzVjYzFhcC0xLAotICAgIDB4MS41ZmRiYzBwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjYKLSAgICAweDEuNmEwOWRlODg5MzNkNmUwYzFkYjc4ZTFkN2NkMTUxNzNwLTEsCi0gICAgMHgxLjZhMDllZTQ3NTQxMDUwZWY1OWVjNGJmY2U5MzVjYzFhcC0xLAotICAgIC0weDEuNWZkYmMwcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY3Ci0gICAgMHgxLjZhMDlkMDMzZmE3MTVhNDA3YTZmMDNkMDFiOTExMTNmcC0xLAotICAgIDB4MS42YTA5ZmM5YmViYWJhMjA4YzgxZWMwYjFjZDMwNzU4OXAtMSwKLSAgICAweDEuYzQ2M2E4cDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY4Ci0gICAgLTB4MS42YTA5ZDAzM2ZhNzE1YTQwN2E2ZjAzZDAxYjkxMTEzZnAtMSwKLSAgICAweDEuNmEwOWZjOWJlYmFiYTIwOGM4MWVjMGIxY2QzMDc1ODlwLTEsCi0gICAgLTB4MS5jNDYzYThwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjkKLSAgICAweDEuNmEwOWRiODQ0YTI4Zjg2MzU4NTFmZGY4ODE4NTE1ZWZwLTEsCi0gICAgMHgxLjZhMDlmMTRiOWNmY2MwZjYyMjdkMzg2Y2MzNzA0YTA1cC0xLAotICAgIDB4MS5jNDYzYWFwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzAKLSAgICAtMHgxLjZhMDlkYjg0NGEyOGY4NjM1ODUxZmRmODgxODUxNWVmcC0xLAotICAgIDB4MS42YTA5ZjE0YjljZmNjMGY2MjI3ZDM4NmNjMzcwNGEwNXAtMSwKLSAgICAtMHgxLmM0NjNhYXAyLAotICB9LAotICB7IC8vIEVudHJ5IDY3MQotICAgIDB4MS42YTA5ZTZkNDk5ODYxNDBmNTUyMjZmYzU4NjcyNjEyY3AtMSwKLSAgICAweDEuNmEwOWU1ZmI0ZGYzNWQ2NzI5ZjQ3MmRhMzQxM2U0MDRwLTEsCi0gICAgMHgxLmM0NjNhY3AyLAotICB9LAotICB7IC8vIEVudHJ5IDY3MgotICAgIC0weDEuNmEwOWU2ZDQ5OTg2MTQwZjU1MjI2ZmM1ODY3MjYxMmNwLTEsCi0gICAgMHgxLjZhMDllNWZiNGRmMzVkNjcyOWY0NzJkYTM0MTNlNDA0cC0xLAotICAgIC0weDEuYzQ2M2FjcDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjczCi0gICAgMHgxLmZmZmZmZmZmZmY5NTM5NzkzNGNhYzFmMjg1MzJkM2QzcC0xLAotICAgIDB4MS40YWE5YzJmMmMxZGVmYjg3MjhmMGQyZGExMjE3YWFlMXAtMjEsCi0gICAgMHgxLmY2YTdhMHAyLAotICB9LAotICB7IC8vIEVudHJ5IDY3NAotICAgIC0weDEuZmZmZmZmZmZmZjk1Mzk3OTM0Y2FjMWYyODUzMmQzZDNwLTEsCi0gICAgMHgxLjRhYTljMmYyYzFkZWZiODcyOGYwZDJkYTEyMTdhYWUxcC0yMSwKLSAgICAtMHgxLmY2YTdhMHAyLAotICB9LAotICB7IC8vIEVudHJ5IDY3NQotICAgIDB4MS5mZmZmZmZmZmZmZmE4ZTVhYWUyYmI5M2FlNTkwZjk4NHAtMSwKLSAgICAweDEuMmFhNzBiY2IwN2Q2ZDBmMzZiNzc3Y2IzODBhODQ1ZDlwLTIzLAotICAgIDB4MS5mNmE3YTJwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzYKLSAgICAtMHgxLmZmZmZmZmZmZmZmYThlNWFhZTJiYjkzYWU1OTBmOTg0cC0xLAotICAgIDB4MS4yYWE3MGJjYjA3ZDZkMGYzNmI3NzdjYjM4MGE4NDVkOXAtMjMsCi0gICAgLTB4MS5mNmE3YTJwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzcKLSAgICAweDEuZmZmZmZmZmZmZmRmZTMzYzI3OGNiNDhhNTllZTNlZjJwLTEsCi0gICAgLTB4MS42YWFjN2ExYTdjMGM3YWZjNWZjYjIzMTNhN2VjYTIyOXAtMjIsCi0gICAgMHgxLmY2YTdhNHAyLAotICB9LAotICB7IC8vIEVudHJ5IDY3OAotICAgIC0weDEuZmZmZmZmZmZmZmRmZTMzYzI3OGNiNDhhNTllZTNlZjJwLTEsCi0gICAgLTB4MS42YWFjN2ExYTdjMGM3YWZjNWZjYjIzMTNhN2VjYTIyOXAtMjIsCi0gICAgLTB4MS5mNmE3YTRwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzkKLSAgICAweDEuNmEwYTA0MGVhNWMzMmJhNGFmYmViODZhNjE0YzVkMTZwLTEsCi0gICAgLTB4MS42YTA5YzhjMTNmNDhiN2FhZDg1MWY5ZDY0NzRiY2IzMXAtMSwKLSAgICAweDEuMTQ3NWNhcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgwCi0gICAgLTB4MS42YTBhMDQwZWE1YzMyYmE0YWZiZWI4NmE2MTRjNWQxNnAtMSwKLSAgICAtMHgxLjZhMDljOGMxM2Y0OGI3YWFkODUxZjlkNjQ3NGJjYjMxcC0xLAotICAgIC0weDEuMTQ3NWNhcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgxCi0gICAgMHgxLjZhMDllZDZlMDg4MjEyYjFlMjYwYTUxMzJkNjk1OWI3cC0xLAotICAgIC0weDEuNmEwOWRmNjFkZWQ0OWQxZWU0ZmNhNGJhNjE0MGQxNzlwLTEsCi0gICAgMHgxLjE0NzVjY3AzLAotICB9LAotICB7IC8vIEVudHJ5IDY4MgotICAgIC0weDEuNmEwOWVkNmUwODgyMTJiMWUyNjBhNTEzMmQ2OTU5YjdwLTEsCi0gICAgLTB4MS42YTA5ZGY2MWRlZDQ5ZDFlZTRmY2E0YmE2MTQwZDE3OXAtMSwKLSAgICAtMHgxLjE0NzVjY3AzLAotICB9LAotICB7IC8vIEVudHJ5IDY4MwotICAgIDB4MS42YTA5ZDZjZDY5ZDZlZmQxYTZmYTJkZDRjNjE3Y2JiZXAtMSwKLSAgICAtMHgxLjZhMDlmNjAyN2NmNjc4YjM4ZmM4OTkyY2Q5OTkwMzAycC0xLAotICAgIDB4MS4xNDc1Y2VwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODQKLSAgICAtMHgxLjZhMDlkNmNkNjlkNmVmZDFhNmZhMmRkNGM2MTdjYmJlcC0xLAotICAgIC0weDEuNmEwOWY2MDI3Y2Y2NzhiMzhmYzg5OTJjZDk5OTAzMDJwLTEsCi0gICAgLTB4MS4xNDc1Y2VwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODUKLSAgICAweDEuZjk5OTBlOTFhNjRhZTQ4Njc1Nzg3OGJkZmVlMGY3MDNwLTIwLAotICAgIC0weDEuZmZmZmZmZmZmYzE5NzJjOTAyZWYzMWMzN2NiNTQ4MTdwLTEsCi0gICAgMHgxLjJkOTdjNHAzLAotICB9LAotICB7IC8vIEVudHJ5IDY4NgotICAgIC0weDEuZjk5OTBlOTFhNjRhZTQ4Njc1Nzg3OGJkZmVlMGY3MDNwLTIwLAotICAgIC0weDEuZmZmZmZmZmZmYzE5NzJjOTAyZWYzMWMzN2NiNTQ4MTdwLTEsCi0gICAgLTB4MS4yZDk3YzRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODcKLSAgICAweDEuZjMzMjFkMjM0ZWQ4MTI4YWFiYjA0OTlhNDNiNGRlZjJwLTIxLAotICAgIC0weDEuZmZmZmZmZmZmZjBjYTRlNjI2M2QyN2EwMjA0Mzg5ZGZwLTEsCi0gICAgMHgxLjJkOTdjNnAzLAotICB9LAotICB7IC8vIEVudHJ5IDY4OAotICAgIC0weDEuZjMzMjFkMjM0ZWQ4MTI4YWFiYjA0OTlhNDNiNGRlZjJwLTIxLAotICAgIC0weDEuZmZmZmZmZmZmZjBjYTRlNjI2M2QyN2EwMjA0Mzg5ZGZwLTEsCi0gICAgLTB4MS4yZDk3YzZwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODkKLSAgICAtMHgxLjk5YmM1Yjk2MWIxYWMyOTZkYmUxOTgwZmQyYzg5MGEwcC0yNiwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmQ3MDM0OThjM2I4Mjg4NTYzOTE1cC0xLAotICAgIDB4MS4yZDk3YzhwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTAKLSAgICAweDEuOTliYzViOTYxYjFhYzI5NmRiZTE5ODBmZDJjODkwYTBwLTI2LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZDcwMzQ5OGMzYjgyODg1NjM5MTVwLTEsCi0gICAgLTB4MS4yZDk3YzhwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTEKLSAgICAtMHgxLjZhMDljMTRlODNmOGRiMDgwZDEyMjNmODg3Y2MxMmVjcC0xLAotICAgIC0weDEuNmEwYTBiODE1ZmIzN2IyZDAxNTUxZTA3Y2IzMDA5ZDFwLTEsCi0gICAgMHgxLjQ2YjljMHAzLAotICB9LAotICB7IC8vIEVudHJ5IDY5MgotICAgIDB4MS42YTA5YzE0ZTgzZjhkYjA4MGQxMjIzZjg4N2NjMTJlY3AtMSwKLSAgICAtMHgxLjZhMGEwYjgxNWZiMzdiMmQwMTU1MWUwN2NiMzAwOWQxcC0xLAotICAgIC0weDEuNDZiOWMwcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkzCi0gICAgLTB4MS42YTA5ZDdlZjIzZmJlYzFlZDgxMmU4MDdiZWIwNDkyZnAtMSwKLSAgICAtMHgxLjZhMDlmNGUwYzJlOThkZWI3ODY0MmI2MDMyYTczZDQ2cC0xLAotICAgIDB4MS40NmI5YzJwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTQKLSAgICAweDEuNmEwOWQ3ZWYyM2ZiZWMxZWQ4MTJlODA3YmViMDQ5MmZwLTEsCi0gICAgLTB4MS42YTA5ZjRlMGMyZTk4ZGViNzg2NDJiNjAzMmE3M2Q0NnAtMSwKLSAgICAtMHgxLjQ2YjljMnAzLAotICB9LAotICB7IC8vIEVudHJ5IDY5NQotICAgIC0weDEuNmEwOWVlOGZjMjk0ZjM1ZGIzZWZjZTU2NTM2NWFmODlwLTEsCi0gICAgLTB4MS42YTA5ZGU0MDI0YjU5NmI1MGViMDZkNTYyZGI4Yzc3N3AtMSwKLSAgICAweDEuNDZiOWM0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk2Ci0gICAgMHgxLjZhMDllZThmYzI5NGYzNWRiM2VmY2U1NjUzNjVhZjg5cC0xLAotICAgIC0weDEuNmEwOWRlNDAyNGI1OTZiNTBlYjA2ZDU2MmRiOGM3NzdwLTEsCi0gICAgLTB4MS40NmI5YzRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTcKLSAgICAtMHgxLmZmZmZmZmZmZmU0Yzk2YjM5N2Q5NTFjYjIxODYxYzk1cC0xLAotICAgIC0weDEuNGRkZDNiYTllZGNkODk4Yjk5NDZmZGQyMGFmMjJhNjhwLTIwLAotICAgIDB4MS41ZmRiYmNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTgKLSAgICAweDEuZmZmZmZmZmZmZTRjOTZiMzk3ZDk1MWNiMjE4NjFjOTVwLTEsCi0gICAgLTB4MS40ZGRkM2JhOWVkY2Q4OThiOTk0NmZkZDIwYWYyMmE2OHAtMjAsCi0gICAgLTB4MS41ZmRiYmNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTkKLSAgICAtMHgxLmZmZmZmZmZmZmZlODUxMmFlYmI1NmM5ZTc1YjQxOTQxcC0xLAotICAgIC0weDEuMzc3NGVlYTdiOGFiZThmYThjMzgwMTQyYjk3YWY0YjZwLTIyLAotICAgIDB4MS41ZmRiYmVwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDAKLSAgICAweDEuZmZmZmZmZmZmZmU4NTEyYWViYjU2YzllNzViNDE5NDFwLTEsCi0gICAgLTB4MS4zNzc0ZWVhN2I4YWJlOGZhOGMzODAxNDJiOTdhZjRiNnAtMjIsCi0gICAgLTB4MS41ZmRiYmVwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDEKLSAgICAtMHgxLmZmZmZmZmZmZmY4NDBiYTIzZjkxYzljYjQ5YTEwYjI3cC0xLAotICAgIDB4MS42NDQ1ODhhYzIzOGFlNDkzZmEzMjQzNWJhNTEzMjliZnAtMjEsCi0gICAgMHgxLjVmZGJjMHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcwMgotICAgIDB4MS5mZmZmZmZmZmZmODQwYmEyM2Y5MWM5Y2I0OWExMGIyN3AtMSwKLSAgICAweDEuNjQ0NTg4YWMyMzhhZTQ5M2ZhMzI0MzViYTUxMzI5YmZwLTIxLAotICAgIC0weDEuNWZkYmMwcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAzCi0gICAgLTB4MS42YTBhMTJmNDE5N2M5MGEwZWU0YTA5NGI2Mzc3YWEyM3AtMSwKLSAgICAweDEuNmEwOWI5ZGJjODgxYzQ1OGU3NDc5MDhjYWYyYWE1ZTFwLTEsCi0gICAgMHgxLjc4ZmRiNnAzLAotICB9LAotICB7IC8vIEVudHJ5IDcwNAotICAgIDB4MS42YTBhMTJmNDE5N2M5MGEwZWU0YTA5NGI2Mzc3YWEyM3AtMSwKLSAgICAweDEuNmEwOWI5ZGJjODgxYzQ1OGU3NDc5MDhjYWYyYWE1ZTFwLTEsCi0gICAgLTB4MS43OGZkYjZwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDUKLSAgICAtMHgxLjZhMDlmYzUzN2QyOWNmMTMxZDY3MTA5OTFiZWJhYmVkcC0xLAotICAgIDB4MS42YTA5ZDA3YzY4ZmMwMTBmZmNmZDNiMTlmMWVlNGY0NHAtMSwKLSAgICAweDEuNzhmZGI4cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA2Ci0gICAgMHgxLjZhMDlmYzUzN2QyOWNmMTMxZDY3MTA5OTFiZWJhYmVkcC0xLAotICAgIDB4MS42YTA5ZDA3YzY4ZmMwMTBmZmNmZDNiMTlmMWVlNGY0NHAtMSwKLSAgICAtMHgxLjc4ZmRiOHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcwNwotICAgIC0weDEuNmEwOWU1YjJkZjZkMDM4OGY5MDcwYzQzNDBmM2U2NjlwLTEsCi0gICAgMHgxLjZhMDllNzFkMDgwYzMzZjY5NjRhMDdkMWEwYmY1OTgwcC0xLAotICAgIDB4MS43OGZkYmFwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDgKLSAgICAweDEuNmEwOWU1YjJkZjZkMDM4OGY5MDcwYzQzNDBmM2U2NjlwLTEsCi0gICAgMHgxLjZhMDllNzFkMDgwYzMzZjY5NjRhMDdkMWEwYmY1OTgwcC0xLAotICAgIC0weDEuNzhmZGJhcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA5Ci0gICAgMHgxLjZhMDljOTA5YWRkNGRiZjMyMjUzYTM5ZDVjMzA2MzA4cC0xLAotICAgIDB4MS42YTBhMDNjNjM3NDJkNjI4MDJkMTYzZDVjZmIzYjdkNXAtMSwKLSAgICAweDEuYWI0MWFlcDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEwCi0gICAgLTB4MS42YTA5YzkwOWFkZDRkYmYzMjI1M2EzOWQ1YzMwNjMwOHAtMSwKLSAgICAweDEuNmEwYTAzYzYzNzQyZDYyODAyZDE2M2Q1Y2ZiM2I3ZDVwLTEsCi0gICAgLTB4MS5hYjQxYWVwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTEKLSAgICAweDEuNmEwOWRmYWE0ZDVjM2E3ZjA1NmYzZTYxYTM2NWIyOWVwLTEsCi0gICAgMHgxLjZhMDllZDI1OTlmZDM2NGM5NzY2MGNjYTY2NTJjMGEzcC0xLAotICAgIDB4MS5hYjQxYjBwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTIKLSAgICAtMHgxLjZhMDlkZmFhNGQ1YzNhN2YwNTZmM2U2MWEzNjViMjllcC0xLAotICAgIDB4MS42YTA5ZWQyNTk5ZmQzNjRjOTc2NjBjY2E2NjUyYzBhM3AtMSwKLSAgICAtMHgxLmFiNDFiMHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxMwotICAgIDB4MS42YTA5ZjY0YWViNzk4ZjJiM2UzZDliMTZlOGUzYzQxMnAtMSwKLSAgICAweDEuNmEwOWQ2ODRmYjRkOGM4NDA2NjBkNmI0MmVjODMwMzlwLTEsCi0gICAgMHgxLmFiNDFiMnAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxNAotICAgIC0weDEuNmEwOWY2NGFlYjc5OGYyYjNlM2Q5YjE2ZThlM2M0MTJwLTEsCi0gICAgMHgxLjZhMDlkNjg0ZmI0ZDhjODQwNjYwZDZiNDJlYzgzMDM5cC0xLAotICAgIC0weDEuYWI0MWIycDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE1Ci0gICAgMHgxLmZmZmZmZmZmZmMyNjBkNmZmYjhmNGNkOGFiM2ZkMDIwcC0xLAotICAgIDB4MS5mNjY1OTVkYTdhMWFlMzA4ZDI2YTE4ZGU0YzJlZDNhM3AtMjAsCi0gICAgMHgxLmM0NjNhOHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxNgotICAgIC0weDEuZmZmZmZmZmZmYzI2MGQ2ZmZiOGY0Y2Q4YWIzZmQwMjBwLTEsCi0gICAgMHgxLmY2NjU5NWRhN2ExYWUzMDhkMjZhMThkZTRjMmVkM2EzcC0yMCwKLSAgICAtMHgxLmM0NjNhOHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcxNwotICAgIDB4MS5mZmZmZmZmZmZmMTJkODliYjA4NGRkNzYyODQ4YjNkNnAtMSwKLSAgICAweDEuZWNjYjJiYjRmNjZlYTg2MTI0MWZhMDljYTlkOGEwMzRwLTIxLAotICAgIDB4MS5jNDYzYWFwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTgKLSAgICAtMHgxLmZmZmZmZmZmZmYxMmQ4OWJiMDg0ZGQ3NjI4NDhiM2Q2cC0xLAotICAgIDB4MS5lY2NiMmJiNGY2NmVhODYxMjQxZmEwOWNhOWQ4YTAzNHAtMjEsCi0gICAgLTB4MS5jNDYzYWFwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTkKLSAgICAweDEuZmZmZmZmZmZmZmZmYTNjNzY1N2I4NWU1YjQ0YmJkNDRwLTEsCi0gICAgLTB4MS4zMzRkNDRiMDk0NTQwN2IxMThiMzYxYWI3ODE3MWY2N3AtMjUsCi0gICAgMHgxLmM0NjNhY3AzLAotICB9LAotICB7IC8vIEVudHJ5IDcyMAotICAgIC0weDEuZmZmZmZmZmZmZmZmYTNjNzY1N2I4NWU1YjQ0YmJkNDRwLTEsCi0gICAgLTB4MS4zMzRkNDRiMDk0NTQwN2IxMThiMzYxYWI3ODE3MWY2N3AtMjUsCi0gICAgLTB4MS5jNDYzYWNwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjEKLSAgICAweDEuNmEwYTBiMzhmMTM0YTMyOTVhMGIzODZlNDJmMWNhN2FwLTEsCi0gICAgLTB4MS42YTA5YzE5NmYyODY3Y2M5MTZhZTJiN2U2YzlkOTljMXAtMSwKLSAgICAweDEuZGQ4NWE0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIyCi0gICAgLTB4MS42YTBhMGIzOGYxMzRhMzI5NWEwYjM4NmU0MmYxY2E3YXAtMSwKLSAgICAtMHgxLjZhMDljMTk2ZjI4NjdjYzkxNmFlMmI3ZTZjOWQ5OWMxcC0xLAotICAgIC0weDEuZGQ4NWE0cDMsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIzCi0gICAgMHgxLjZhMDlmNDk4NTQ2NjJlZmYxYjM1NzU1YTEyOTA0NGE3cC0xLAotICAgIC0weDEuNmEwOWQ4Mzc5Mjg1MDZmN2NmZjc2ZjA5NGI0ZTAzNzdwLTEsCi0gICAgMHgxLmRkODVhNnAzLAotICB9LAotICB7IC8vIEVudHJ5IDcyNAotICAgIC0weDEuNmEwOWY0OTg1NDY2MmVmZjFiMzU3NTVhMTI5MDQ0YTdwLTEsCi0gICAgLTB4MS42YTA5ZDgzNzkyODUwNmY3Y2ZmNzZmMDk0YjRlMDM3N3AtMSwKLSAgICAtMHgxLmRkODVhNnAzLAotICB9LAotICB7IC8vIEVudHJ5IDcyNQotICAgIDB4MS42YTA5ZGRmN2I2MmRiMGUwNDQwYjZhNDI2MjIwM2IxMXAtMSwKLSAgICAtMHgxLjZhMDllZWQ4MzExOTg3NGU1MWFlNGJiOGFlZGRjMWYycC0xLAotICAgIDB4MS5kZDg1YThwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjYKLSAgICAtMHgxLjZhMDlkZGY3YjYyZGIwZTA0NDBiNmE0MjYyMjAzYjExcC0xLAotICAgIC0weDEuNmEwOWVlZDgzMTE5ODc0ZTUxYWU0YmI4YWVkZGMxZjJwLTEsCi0gICAgLTB4MS5kZDg1YThwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjcKLSAgICAweDEuNGFhOWMyZjJjMTlhMDYyYjE4YTAxN2JjZDU0MjRmZWFwLTIwLAotICAgIC0weDEuZmZmZmZmZmZmZTU0ZTVlNGQzMmIzNDUzMTY2MDYwYjNwLTEsCi0gICAgMHgxLmY2YTdhMHAzLAotICB9LAotICB7IC8vIEVudHJ5IDcyOAotICAgIC0weDEuNGFhOWMyZjJjMTlhMDYyYjE4YTAxN2JjZDU0MjRmZWFwLTIwLAotICAgIC0weDEuZmZmZmZmZmZmZTU0ZTVlNGQzMmIzNDUzMTY2MDYwYjNwLTEsCi0gICAgLTB4MS5mNmE3YTBwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjkKLSAgICAweDEuMmFhNzBiY2IwN2QzYTQwNzgxNTEwZDIxMzY1MmU0M2FwLTIyLAotICAgIC0weDEuZmZmZmZmZmZmZmVhMzk2YWI4YWVlNTA5MzkyYzc1NWRwLTEsCi0gICAgMHgxLmY2YTdhMnAzLAotICB9LAotICB7IC8vIEVudHJ5IDczMAotICAgIC0weDEuMmFhNzBiY2IwN2QzYTQwNzgxNTEwZDIxMzY1MmU0M2FwLTIyLAotICAgIC0weDEuZmZmZmZmZmZmZmVhMzk2YWI4YWVlNTA5MzkyYzc1NWRwLTEsCi0gICAgLTB4MS5mNmE3YTJwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzEKLSAgICAtMHgxLjZhYWM3YTFhN2JmNWJiZDQ5NTcyZmZiOGQ3NzQ5OTIycC0yMSwKLSAgICAtMHgxLmZmZmZmZmZmZmY3ZjhjZjA5ZTMyZDYzMDliZWE4NWNhcC0xLAotICAgIDB4MS5mNmE3YTRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzIKLSAgICAweDEuNmFhYzdhMWE3YmY1YmJkNDk1NzJmZmI4ZDc3NDk5MjJwLTIxLAotICAgIC0weDEuZmZmZmZmZmZmZjdmOGNmMDllMzJkNjMwOWJlYTg1Y2FwLTEsCi0gICAgLTB4MS5mNmE3YTRwMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzMKLSAgICAtMHgxLjZhMDlhMzgzOTUzMTI0MDk2ODk4MzQwZjkxNjhiOWQ1cC0xLAotICAgIC0weDEuNmEwYTI5NGM0NWVjNzQ3YTQ3NzExYTQ5OTRkMmM1ZTRwLTEsCi0gICAgMHgxLjA3ZTRjY3A0LAotICB9LAotICB7IC8vIEVudHJ5IDczNAotICAgIDB4MS42YTA5YTM4Mzk1MzEyNDA5Njg5ODM0MGY5MTY4YjlkNXAtMSwKLSAgICAtMHgxLjZhMGEyOTRjNDVlYzc0N2E0NzcxMWE0OTk0ZDJjNWU0cC0xLAotICAgIC0weDEuMDdlNGNjcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM1Ci0gICAgLTB4MS42YTA5ZDBjNGQ3ODY5OTYxYzQ3YTliMGI5NjhjYzkxMHAtMSwKLSAgICAtMHgxLjZhMDlmYzBiMGVhN2VkOWZiNWRkNTBhMGM4YWYxOWNicC0xLAotICAgIDB4MS4wN2U0Y2VwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzYKLSAgICAweDEuNmEwOWQwYzRkNzg2OTk2MWM0N2E5YjBiOTY4Y2M5MTBwLTEsCi0gICAgLTB4MS42YTA5ZmMwYjBlYTdlZDlmYjVkZDUwYTBjOGFmMTljYnAtMSwKLSAgICAtMHgxLjA3ZTRjZXA0LAotICB9LAotICB7IC8vIEVudHJ5IDczNwotICAgIC0weDEuNmEwOWZlMDYxNDMzZTc3NzBkMDBjYTU5ZDVhNTYyNTFwLTEsCi0gICAgLTB4MS42YTA5Y2VjOWQxYmIzZWQ0ZjgxMGM5Zjk3ODZkNjEwZXAtMSwKLSAgICAweDEuMDdlNGQwcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM4Ci0gICAgMHgxLjZhMDlmZTA2MTQzM2U3NzcwZDAwY2E1OWQ1YTU2MjUxcC0xLAotICAgIC0weDEuNmEwOWNlYzlkMWJiM2VkNGY4MTBjOWY5Nzg2ZDYxMGVwLTEsCi0gICAgLTB4MS4wN2U0ZDBwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzkKLSAgICAtMHgxLmZmZmZmZmZmZjkyMTlkYWU1ZmVkYTFiNTM5MzM1ODAzcC0xLAotICAgIC0weDEuNGY3NmY4MDU4MmM3M2ZjMGNjMDkwM2VkOGNhN2Q2YjNwLTE5LAotICAgIDB4MS4xNDc1Y2FwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDAKLSAgICAweDEuZmZmZmZmZmZmOTIxOWRhZTVmZWRhMWI1MzkzMzU4MDNwLTEsCi0gICAgLTB4MS40Zjc2ZjgwNTgyYzczZmMwY2MwOTAzZWQ4Y2E3ZDZiM3AtMTksCi0gICAgLTB4MS4xNDc1Y2FwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDEKLSAgICAtMHgxLmZmZmZmZmZmZmY5ZDU1NmU4YzBiZjBhODBkNjEwODA4cC0xLAotICAgIC0weDEuM2RkYmUwMTYxMTA4YjY5MGVlZDcwYTdmNTlkZTc1MWNwLTIxLAotICAgIDB4MS4xNDc1Y2NwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDIKLSAgICAweDEuZmZmZmZmZmZmZjlkNTU2ZThjMGJmMGE4MGQ2MTA4MDhwLTEsCi0gICAgLTB4MS4zZGRiZTAxNjExMDhiNjkwZWVkNzBhN2Y1OWRlNzUxY3AtMjEsCi0gICAgLTB4MS4xNDc1Y2NwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDMKLSAgICAtMHgxLmZmZmZmZmZmZmUxOTBkMmViODJlNzRlZmQyMDkzMjE1cC0xLAotICAgIDB4MS42MTEyMGZmNGY3MDE4MGIwZDU1YzNhZTBmNjk1ODVjYXAtMjAsCi0gICAgMHgxLjE0NzVjZXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc0NAotICAgIDB4MS5mZmZmZmZmZmZlMTkwZDJlYjgyZTc0ZWZkMjA5MzIxNXAtMSwKLSAgICAweDEuNjExMjBmZjRmNzAxODBiMGQ1NWMzYWUwZjY5NTg1Y2FwLTIwLAotICAgIC0weDEuMTQ3NWNlcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgLTB4MS42YTBhMWExZTY0YTI4ZWVlMjM4ZGM4NTI4NDZhYWNkNXAtMSwKLSAgICAweDEuNmEwOWIyYjE3Yjc0MTA1MGE2Y2ZkNjRiODFjNzY0ODVwLTEsCi0gICAgMHgxLjIxMDZjOHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc0NgotICAgIDB4MS42YTBhMWExZTY0YTI4ZWVlMjM4ZGM4NTI4NDZhYWNkNXAtMSwKLSAgICAweDEuNmEwOWIyYjE3Yjc0MTA1MGE2Y2ZkNjRiODFjNzY0ODVwLTEsCi0gICAgLTB4MS4yMTA2YzhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDcKLSAgICAtMHgxLjZhMDllY2RkMmI3ODRiNjk5MDM0ZWU4MTAyNjcwZTI3cC0xLAotICAgIDB4MS42YTA5ZGZmMmJiZTNjOTYxNmEzNTc2YzU1ZTc3MzIwN3AtMSwKLSAgICAweDEuMjEwNmNhcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ4Ci0gICAgMHgxLjZhMDllY2RkMmI3ODRiNjk5MDM0ZWU4MTAyNjcwZTI3cC0xLAotICAgIDB4MS42YTA5ZGZmMmJiZTNjOTYxNmEzNTc2YzU1ZTc3MzIwN3AtMSwKLSAgICAtMHgxLjIxMDZjYXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc0OQotICAgIC0weDEuNmEwOWJmOWJlY2E1ZTAzMTg4MzAxNjM5YzA5ZWQ1NzRwLTEsCi0gICAgMHgxLjZhMGEwZDMzZjZhYjVhZjI2MmFkNmFkMThhYzFjZTlmcC0xLAotICAgIDB4MS4yMTA2Y2NwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTAKLSAgICAweDEuNmEwOWJmOWJlY2E1ZTAzMTg4MzAxNjM5YzA5ZWQ1NzRwLTEsCi0gICAgMHgxLjZhMGEwZDMzZjZhYjVhZjI2MmFkNmFkMThhYzFjZTlmcC0xLAotICAgIC0weDEuMjEwNmNjcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUxCi0gICAgLTB4MS5mOTk5MGU5MWEyNzBkM2JjMWMwMmY0ZjY5ZjQ4ZTY3NXAtMTksCi0gICAgMHgxLmZmZmZmZmZmZjA2NWNiMjQwYmNiZmRmZjQ5NzdkZGY4cC0xLAotICAgIDB4MS4yZDk3YzRwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTIKLSAgICAweDEuZjk5OTBlOTFhMjcwZDNiYzFjMDJmNGY2OWY0OGU2NzVwLTE5LAotICAgIDB4MS5mZmZmZmZmZmYwNjVjYjI0MGJjYmZkZmY0OTc3ZGRmOHAtMSwKLSAgICAtMHgxLjJkOTdjNHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc1MwotICAgIC0weDEuZjMzMjFkMjM0ZGVhY2Q2ZjNhZmQ3NTAzOTY4NTAxMmZwLTIwLAotICAgIDB4MS5mZmZmZmZmZmZjMzI5Mzk4OThmNTg1ZDY5NDhjZjJkMXAtMSwKLSAgICAweDEuMmQ5N2M2cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU0Ci0gICAgMHgxLmYzMzIxZDIzNGRlYWNkNmYzYWZkNzUwMzk2ODUwMTJmcC0yMCwKLSAgICAweDEuZmZmZmZmZmZmYzMyOTM5ODk4ZjU4NWQ2OTQ4Y2YyZDFwLTEsCi0gICAgLTB4MS4yZDk3YzZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTUKLSAgICAweDEuOTliYzViOTYxYjFhYTFjOWU4MDIzMDc0ZjM0MDZmZDlwLTI1LAotICAgIDB4MS5mZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGEyN2U4ZDZkMXAtMSwKLSAgICAweDEuMmQ5N2M4cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU2Ci0gICAgLTB4MS45OWJjNWI5NjFiMWFhMWM5ZTgwMjMwNzRmMzQwNmZkOXAtMjUsCi0gICAgMHgxLmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTI3ZThkNmQxcC0xLAotICAgIC0weDEuMmQ5N2M4cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU3Ci0gICAgMHgxLjZhMDk5NDllMWNlMWVjNTAxYWZjYjM1ZDczMWJmNjJjcC0xLAotICAgIDB4MS42YTBhMzgzMWI4MWQ5NDk2NmFkOGRmNGQzNzg4MjRmOXAtMSwKLSAgICAweDEuM2EyOGMycDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU4Ci0gICAgLTB4MS42YTA5OTQ5ZTFjZTFlYzUwMWFmY2IzNWQ3MzFiZjYyY3AtMSwKLSAgICAweDEuNmEwYTM4MzFiODFkOTQ5NjZhZDhkZjRkMzc4ODI0ZjlwLTEsCi0gICAgLTB4MS4zYTI4YzJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTkKLSAgICAweDEuNmEwOWMxZGY2MTE0MTAwYzY1ZDFmZjZjNTU3NTVlNzJwLTEsCi0gICAgMHgxLjZhMGEwYWYwODJiNWJjYTdmNTU2OWY0ZGE2ODgzZjY0cC0xLAotICAgIDB4MS4zYTI4YzRwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjAKLSAgICAtMHgxLjZhMDljMWRmNjExNDEwMGM2NWQxZmY2YzU1NzU1ZTcycC0xLAotICAgIDB4MS42YTBhMGFmMDgyYjViY2E3ZjU1NjlmNGRhNjg4M2Y2NHAtMSwKLSAgICAtMHgxLjNhMjhjNHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc2MQotICAgIDB4MS42YTA5ZWYyMDlmOWUwY2MxMzMyNGRkZjJiMzYxNTUzZnAtMSwKLSAgICAweDEuNmEwOWRkYWY0N2E1YmM4ZGJkY2I2YjEzODQ0OTAyYWVwLTEsCi0gICAgMHgxLjNhMjhjNnA0LAotICB9LAotICB7IC8vIEVudHJ5IDc2MgotICAgIC0weDEuNmEwOWVmMjA5ZjllMGNjMTMzMjRkZGYyYjM2MTU1M2ZwLTEsCi0gICAgMHgxLjZhMDlkZGFmNDdhNWJjOGRiZGNiNmIxMzg0NDkwMmFlcC0xLAotICAgIC0weDEuM2EyOGM2cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYzCi0gICAgMHgxLmZmZmZmZmZmZjUzZjQ3NmVjNGY1OWYyNmM0YmNkZmEwcC0xLAotICAgIDB4MS5hM2JiMjUxZGM3ZWZhYTFlMjEzN2JiMzdlZDY2NTRkYnAtMTksCi0gICAgMHgxLjQ2YjljMHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc2NAotICAgIC0weDEuZmZmZmZmZmZmNTNmNDc2ZWM0ZjU5ZjI2YzRiY2RmYTBwLTEsCi0gICAgMHgxLmEzYmIyNTFkYzdlZmFhMWUyMTM3YmIzN2VkNjY1NGRicC0xOSwKLSAgICAtMHgxLjQ2YjljMHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc2NQotICAgIDB4MS5mZmZmZmZmZmZlNWQyMDk3YjM0MzM0YWQ2NzlkZDdhNHAtMSwKLSAgICAweDEuNDc3NjRhM2I5NTY2NzU4ZTViYWEyZTMwMjlmMWFiYmFwLTIwLAotICAgIDB4MS40NmI5YzJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjYKLSAgICAtMHgxLmZmZmZmZmZmZmU1ZDIwOTdiMzQzMzRhZDY3OWRkN2E0cC0xLAotICAgIDB4MS40Nzc2NGEzYjk1NjY3NThlNWJhYTJlMzAyOWYxYWJiYXAtMjAsCi0gICAgLTB4MS40NmI5YzJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjcKLSAgICAweDEuZmZmZmZmZmZmZjdhZjljMGExOWEwMDVjNTY1YzZhZjdwLTEsCi0gICAgLTB4MS43MTEzNmI4OGQ0NjA4NDkwZjJkZGZlOTAxMDExMTJhZXAtMjEsCi0gICAgMHgxLjQ2YjljNHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc2OAotICAgIC0weDEuZmZmZmZmZmZmZjdhZjljMGExOWEwMDVjNTY1YzZhZjdwLTEsCi0gICAgLTB4MS43MTEzNmI4OGQ0NjA4NDkwZjJkZGZlOTAxMDExMTJhZXAtMjEsCi0gICAgLTB4MS40NmI5YzRwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjkKLSAgICAweDEuNmEwYTI5MDNkNzczOTI1YjA1MmZiMDA2YWM2NzBjMjNwLTEsCi0gICAgLTB4MS42YTA5YTNjYzAzYzRiYmFkMjIyMmRmZTViZTMxNzU2NXAtMSwKLSAgICAweDEuNTM0YWJlcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcwCi0gICAgLTB4MS42YTBhMjkwM2Q3NzM5MjViMDUyZmIwMDZhYzY3MGMyM3AtMSwKLSAgICAtMHgxLjZhMDlhM2NjMDNjNGJiYWQyMjIyZGZlNWJlMzE3NTY1cC0xLAotICAgIC0weDEuNTM0YWJlcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcxCi0gICAgMHgxLjZhMDlmYmMyYTAyNWZkYWU5MTg0NjZmYTAwMTQyMTQzcC0xLAotICAgIC0weDEuNmEwOWQxMGQ0NjExMjMzNWQwZTQzZDczODM4N2RlOGNwLTEsCi0gICAgMHgxLjUzNGFjMHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc3MgotICAgIC0weDEuNmEwOWZiYzJhMDI1ZmRhZTkxODQ2NmZhMDAxNDIxNDNwLTEsCi0gICAgLTB4MS42YTA5ZDEwZDQ2MTEyMzM1ZDBlNDNkNzM4Mzg3ZGU4Y3AtMSwKLSAgICAtMHgxLjUzNGFjMHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc3MwotICAgIDB4MS42YTA5Y2U4MTYzMzA0MTEzMTM1YTY4YWU5M2QzZmEwZXAtMSwKLSAgICAtMHgxLjZhMDlmZTRlODJiNTYzN2E0YThmMzkyYzMzMDFiZTk0cC0xLAotICAgIDB4MS41MzRhYzJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAtMHgxLjZhMDljZTgxNjMzMDQxMTMxMzVhNjhhZTkzZDNmYTBlcC0xLAotICAgIC0weDEuNmEwOWZlNGU4MmI1NjM3YTRhOGYzOTJjMzMwMWJlOTRwLTEsCi0gICAgLTB4MS41MzRhYzJwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzUKLSAgICAweDEuNGRkZDNiYTllY2IxOWQ2YmI2ZWExNjExMjBlNDQ3YjlwLTE5LAotICAgIC0weDEuZmZmZmZmZmZmOTMyNWFjZTVmNjgyYmJiOGIxMjJhMDlwLTEsCi0gICAgMHgxLjVmZGJiY3A0LAotICB9LAotICB7IC8vIEVudHJ5IDc3NgotICAgIC0weDEuNGRkZDNiYTllY2IxOWQ2YmI2ZWExNjExMjBlNDQ3YjlwLTE5LAotICAgIC0weDEuZmZmZmZmZmZmOTMyNWFjZTVmNjgyYmJiOGIxMjJhMDlwLTEsCi0gICAgLTB4MS41ZmRiYmNwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzcKLSAgICAweDEuMzc3NGVlYTdiODlkODBkZjc4MTZmZTIwOGVjNjlmYzBwLTIxLAotICAgIC0weDEuZmZmZmZmZmZmZmExNDRhYmFlZDViNGFhYjg4MDYzNWRwLTEsCi0gICAgMHgxLjVmZGJiZXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc3OAotICAgIC0weDEuMzc3NGVlYTdiODlkODBkZjc4MTZmZTIwOGVjNjlmYzBwLTIxLAotICAgIC0weDEuZmZmZmZmZmZmZmExNDRhYmFlZDViNGFhYjg4MDYzNWRwLTEsCi0gICAgLTB4MS41ZmRiYmVwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzkKLSAgICAtMHgxLjY0NDU4OGFjMjMzNGEzZDU0NTJkOTk2MDI4MmNmODBkcC0yMCwKLSAgICAtMHgxLmZmZmZmZmZmZmUxMDJlODhmZTQ3NjMzMWUxZGRlZmFmcC0xLAotICAgIDB4MS41ZmRiYzBwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODAKLSAgICAweDEuNjQ0NTg4YWMyMzM0YTNkNTQ1MmQ5OTYwMjgyY2Y4MGRwLTIwLAotICAgIC0weDEuZmZmZmZmZmZmZTEwMmU4OGZlNDc2MzMxZTFkZGVmYWZwLTEsCi0gICAgLTB4MS41ZmRiYzBwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODEKLSAgICAtMHgxLjZhMDliMmY5ZWEwNDllODU1ZTM1Y2E5Y2U3ZTBkODlhcC0xLAotICAgIC0weDEuNmEwYTE5ZDVmNjI2YTM1ZWUxMTJhMzQ2MzhlMDc4MDhwLTEsCi0gICAgMHgxLjZjNmNiYXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc4MgotICAgIDB4MS42YTA5YjJmOWVhMDQ5ZTg1NWUzNWNhOWNlN2UwZDg5YXAtMSwKLSAgICAtMHgxLjZhMGExOWQ1ZjYyNmEzNWVlMTEyYTM0NjM4ZTA3ODA4cC0xLAotICAgIC0weDEuNmM2Y2JhcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgzCi0gICAgLTB4MS42YTA5ZTAzYjJhNmI0OWM2MTM0YzY3YjQyYmFlZTY2OHAtMSwKLSAgICAtMHgxLjZhMDllYzk0YmNmMzUyMDhjY2QwMzA2ODRkNWRkZDljcC0xLAotICAgIDB4MS42YzZjYmNwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODQKLSAgICAweDEuNmEwOWUwM2IyYTZiNDljNjEzNGM2N2I0MmJhZWU2NjhwLTEsCi0gICAgLTB4MS42YTA5ZWM5NGJjZjM1MjA4Y2NkMDMwNjg0ZDVkZGQ5Y3AtMSwKLSAgICAtMHgxLjZjNmNiY3A0LAotICB9LAotICB7IC8vIEVudHJ5IDc4NQotICAgIC0weDEuNmEwYTBkN2M2NTI5Y2Q4NWRiYmIzYTVjMmNkM2ZhZTVwLTEsCi0gICAgLTB4MS42YTA5YmY1MzdlMTdkOTAwNjU5YmQyZmEyNGMzYThjOHAtMSwKLSAgICAweDEuNmM2Y2JlcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg2Ci0gICAgMHgxLjZhMGEwZDdjNjUyOWNkODVkYmJiM2E1YzJjZDNmYWU1cC0xLAotICAgIC0weDEuNmEwOWJmNTM3ZTE3ZDkwMDY1OWJkMmZhMjRjM2E4YzhwLTEsCi0gICAgLTB4MS42YzZjYmVwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODcKLSAgICAtMHgxLmZmZmZmZmZmZjA3ZjBhYjEyYWE4ZjQxZjI5YzE1MzkycC0xLAotICAgIC0weDEuZjdmZjUyMzYwYzYyMmIzZjk0ZDljNzI1MGJmYWQ4ZDRwLTE5LAotICAgIDB4MS43OGZkYjZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODgKLSAgICAweDEuZmZmZmZmZmZmMDdmMGFiMTJhYThmNDFmMjljMTUzOTJwLTEsCi0gICAgLTB4MS5mN2ZmNTIzNjBjNjIyYjNmOTRkOWM3MjUwYmZhZDhkNHAtMTksCi0gICAgLTB4MS43OGZkYjZwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODkKLSAgICAtMHgxLmZmZmZmZmZmZmMzZjA1NDJkYjIxZGNiY2I4NDdkYWMzcC0xLAotICAgIC0weDEuZWZmZWE0NmMyMWJhYTNkYTdjMjY2Yzk1M2EwMTM1OThwLTIwLAotICAgIDB4MS43OGZkYjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTAKLSAgICAweDEuZmZmZmZmZmZmYzNmMDU0MmRiMjFkY2JjYjg0N2RhYzNwLTEsCi0gICAgLTB4MS5lZmZlYTQ2YzIxYmFhM2RhN2MyNjZjOTUzYTAxMzU5OHAtMjAsCi0gICAgLTB4MS43OGZkYjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTEKLSAgICAtMHgxLmZmZmZmZmZmZmZmZWZmZDQ4YmFjNzNlZmU2MGM3ZmNmcC0xLAotICAgIDB4MS4wMDE1YjkzZGQwZjA5NWJlMWViMGE1Yjg3ZmU1ZTMzZXAtMjQsCi0gICAgMHgxLjc4ZmRiYXA0LAotICB9LAotICB7IC8vIEVudHJ5IDc5MgotICAgIDB4MS5mZmZmZmZmZmZmZmVmZmQ0OGJhYzczZWZlNjBjN2ZjZnAtMSwKLSAgICAweDEuMDAxNWI5M2RkMGYwOTViZTFlYjBhNWI4N2ZlNWUzM2VwLTI0LAotICAgIC0weDEuNzhmZGJhcDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkzCi0gICAgLTB4MS42YTBhMzdlOTQ5YTdhZDY5OGEzMjIzNGM3M2U1YWZiYXAtMSwKLSAgICAweDEuNmEwOTk0ZTY4Yjc4N2VlNGZkNjgzMGIyODgyMjU3NDVwLTEsCi0gICAgMHgxLjg1OGViNHA0LAotICB9LAotICB7IC8vIEVudHJ5IDc5NAotICAgIDB4MS42YTBhMzdlOTQ5YTdhZDY5OGEzMjIzNGM3M2U1YWZiYXAtMSwKLSAgICAweDEuNmEwOTk0ZTY4Yjc4N2VlNGZkNjgzMGIyODgyMjU3NDVwLTEsCi0gICAgLTB4MS44NThlYjRwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTUKLSAgICAtMHgxLjZhMGEwYWE4MTQzNmM3YThkMzNhMzhkNzA0MDMwZDE0cC0xLAotICAgIDB4MS42YTA5YzIyN2NmYTE5NGQxZmE3YWI5OTA5ZGU1MDgzY3AtMSwKLSAgICAweDEuODU4ZWI2cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk2Ci0gICAgMHgxLjZhMGEwYWE4MTQzNmM3YThkMzNhMzhkNzA0MDMwZDE0cC0xLAotICAgIDB4MS42YTA5YzIyN2NmYTE5NGQxZmE3YWI5OTA5ZGU1MDgzY3AtMSwKLSAgICAtMHgxLjg1OGViNnA0LAotICB9LAotICB7IC8vIEVudHJ5IDc5NwotICAgIC0weDEuNmEwOWRkNjZkOTFkYjliZDdiZjM1NWZhZmYwOGYxOTRwLTEsCi0gICAgMHgxLjZhMDllZjY5MGUyMjgzYjY1ODUwOWVkMzE5NDgzODM5cC0xLAotICAgIDB4MS44NThlYjhwNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTgKLSAgICAweDEuNmEwOWRkNjZkOTFkYjliZDdiZjM1NWZhZmYwOGYxOTRwLTEsCi0gICAgMHgxLjZhMDllZjY5MGUyMjgzYjY1ODUwOWVkMzE5NDgzODM5cC0xLAotICAgIC0weDEuODU4ZWI4cDQsCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk5Ci0gICAgMHgxLmMwNDhiMzhhOGJiZjU5ZjQxNGZlYzcwNzkyMDk5MjZlcC0zLAotICAgIC0weDEuZjM5NTdiYWQ3MGUwNzQxZjFkM2Q2NzUxMjQ2Y2UyMWFwLTEsCi0gICAgMHgxLmZmZmZmZXA2MiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDAKLSAgICAtMHgxLmMwNDhiMzhhOGJiZjU5ZjQxNGZlYzcwNzkyMDk5MjZlcC0zLAotICAgIC0weDEuZjM5NTdiYWQ3MGUwNzQxZjFkM2Q2NzUxMjQ2Y2UyMWFwLTEsCi0gICAgLTB4MS5mZmZmZmVwNjIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODAxCi0gICAgMHgxLmZmZjZkZmQ0MmRjNTQ0MzBiYzA1NzZiMDBhODhiZDk0cC0xLAotICAgIDB4MS44MmFhMzc1YjNjMzNlNzA2NjM3MzFiYWI0YmViNmVkM3AtNywKLSAgICAweDEucDYzLAotICB9LAotICB7IC8vIEVudHJ5IDgwMgotICAgIC0weDEuZmZmNmRmZDQyZGM1NDQzMGJjMDU3NmIwMGE4OGJkOTRwLTEsCi0gICAgMHgxLjgyYWEzNzViM2MzM2U3MDY2MzczMWJhYjRiZWI2ZWQzcC03LAotICAgIC0weDEucDYzLAotICB9LAotICB7IC8vIEVudHJ5IDgwMwotICAgIC0weDEuZDY2MzdkMDcwMzQ3ZWU5NGU4MzA0NDVlNzY0ODY3MjdwLTEsCi0gICAgMHgxLjk0NWU2YzY5YTU4MGZiN2JiMjdkMDJjMGZlMGY4YTcxcC0yLAotICAgIDB4MS4wMDAwMDJwNjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODA0Ci0gICAgMHgxLmQ2NjM3ZDA3MDM0N2VlOTRlODMwNDQ1ZTc2NDg2NzI3cC0xLAotICAgIDB4MS45NDVlNmM2OWE1ODBmYjdiYjI3ZDAyYzBmZTBmOGE3MXAtMiwKLSAgICAtMHgxLjAwMDAwMnA2MywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDUKLSAgICAtMHgxLjBlNTI4MzY2MWRmMGNhMGY1NWFiNjE2N2UxNDUxNGExcC0xLAotICAgIC0weDEuYjJkMjU1ZjJiZDA0MjNlMjllMmE1NDg3MjhmMDM0YWJwLTEsCi0gICAgMHgxLmZmZmZmZXAyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDYKLSAgICAweDEuMGU1MjgzNjYxZGYwY2EwZjU1YWI2MTY3ZTE0NTE0YTFwLTEsCi0gICAgLTB4MS5iMmQyNTVmMmJkMDQyM2UyOWUyYTU0ODcyOGYwMzRhYnAtMSwKLSAgICAtMHgxLmZmZmZmZXAyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDcKLSAgICAtMHgxLjg2ZGNjOWJhYmIwYTQwZWU4NzVjYWIzYjllODkyNzU3cC0xLAotICAgIDB4MS40YWI2NTExYTdkMzlhZDNjYzg4ZGVkMWU3NzVjYTE0N3AtMSwKLSAgICAweDEucDI3LAotICB9LAotICB7IC8vIEVudHJ5IDgwOAotICAgIDB4MS44NmRjYzliYWJiMGE0MGVlODc1Y2FiM2I5ZTg5Mjc1N3AtMSwKLSAgICAweDEuNGFiNjUxMWE3ZDM5YWQzY2M4OGRlZDFlNzc1Y2ExNDdwLTEsCi0gICAgLTB4MS5wMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODA5Ci0gICAgMHgxLjE3MTk5OWI2MjlmZDViNjM1N2M2ZGZmNGQ3ODI3ZDk1cC0xLAotICAgIC0weDEuYWQzZDgwYzgyZjQ0NTJiMDc2NTgxZGUyNDY0ODQzNWJwLTEsCi0gICAgMHgxLjAwMDAwMnAyNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTAKLSAgICAtMHgxLjE3MTk5OWI2MjlmZDViNjM1N2M2ZGZmNGQ3ODI3ZDk1cC0xLAotICAgIC0weDEuYWQzZDgwYzgyZjQ0NTJiMDc2NTgxZGUyNDY0ODQzNWJwLTEsCi0gICAgLTB4MS4wMDAwMDJwMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODExCi0gICAgLTB4MS5lNTdlYzA5MjIxOTczNTUwZDFlNTc5OGRjZjBjZDI1ZHAtMSwKLSAgICAtMHgxLjQ1MzJjMzcyMWVkNDM0M2FkODhlZWE4OTA4YTk4OGNicC0yLAotICAgIDB4MS5mZmZmZmVwMjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODEyCi0gICAgMHgxLmU1N2VjMDkyMjE5NzM1NTBkMWU1Nzk4ZGNmMGNkMjVkcC0xLAotICAgIC0weDEuNDUzMmMzNzIxZWQ0MzQzYWQ4OGVlYTg5MDhhOTg4Y2JwLTIsCi0gICAgLTB4MS5mZmZmZmVwMjMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODEzCi0gICAgLTB4MS44ZjIyZjg0MzNkNmVkZmU5YTRhZmY5NjIyNTE3Y2FhOXAtMSwKLSAgICAweDEuNDBhZDY3ZjNmMGM5YTE0Mzk2M2M5Yzk2ZGJjZTNmOGFwLTEsCi0gICAgMHgxLnAyNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTQKLSAgICAweDEuOGYyMmY4NDMzZDZlZGZlOWE0YWZmOTYyMjUxN2NhYTlwLTEsCi0gICAgMHgxLjQwYWQ2N2YzZjBjOWExNDM5NjNjOWM5NmRiY2UzZjhhcC0xLAotICAgIC0weDEucDI0LAotICB9LAotICB7IC8vIEVudHJ5IDgxNQotICAgIDB4MS5jOWIwYzcyNjVjNTQzZjgwZmFmMDE3NDFjNjQ1ODU2MHAtMSwKLSAgICAweDEuY2FmODUzN2MzZTQ0MmNhOGFjYTg2YzE1Njc3Mzg1M2FwLTIsCi0gICAgMHgxLjAwMDAwMnAyNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTYKLSAgICAtMHgxLmM5YjBjNzI2NWM1NDNmODBmYWYwMTc0MWM2NDU4NTYwcC0xLAotICAgIDB4MS5jYWY4NTM3YzNlNDQyY2E4YWNhODZjMTU2NzczODUzYXAtMiwKLSAgICAtMHgxLjAwMDAwMnAyNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTcKLSAgICAtMHgxLjgzN2I5OGEzMTg1ZDE0NjZkODUyZjBhN2RjMWQyNDhlcC0xLAotICAgIC0weDEuNGVhYTY2N2JhMGI5MGRmYjA1YWIzZDljMjQ3Y2RlZTdwLTEsCi0gICAgMHgxLmZmZmZmZXAxLAotICB9LAotICB7IC8vIEVudHJ5IDgxOAotICAgIDB4MS44MzdiOThhMzE4NWQxNDY2ZDg1MmYwYTdkYzFkMjQ4ZXAtMSwKLSAgICAtMHgxLjRlYWE2NjdiYTBiOTBkZmIwNWFiM2Q5YzI0N2NkZWU3cC0xLAotICAgIC0weDEuZmZmZmZlcDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODE5Ci0gICAgLTB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKLSAgICAtMHgxLjRlYWE2MDZkYjI0YzBjNDY2ZGExYzJkYzdiYWEyYjMycC0xLAotICAgIDB4MS5wMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjAKLSAgICAweDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCi0gICAgLTB4MS40ZWFhNjA2ZGIyNGMwYzQ2NmRhMWMyZGM3YmFhMmIzMnAtMSwKLSAgICAtMHgxLnAyLAotICB9LAotICB7IC8vIEVudHJ5IDgyMQotICAgIC0weDEuODM3YmE4NTMxNGJkZTUyYjFlOWMyYzhlZDI3MTJjNzJwLTEsCi0gICAgLTB4MS40ZWFhNTQ1MWQ1MzM0OGViODlkYzQ3OGQ0ZDExYmUwMnAtMSwKLSAgICAweDEuMDAwMDAycDIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODIyCi0gICAgMHgxLjgzN2JhODUzMTRiZGU1MmIxZTljMmM4ZWQyNzEyYzcycC0xLAotICAgIC0weDEuNGVhYTU0NTFkNTMzNDhlYjg5ZGM0NzhkNGQxMWJlMDJwLTEsCi0gICAgLTB4MS4wMDAwMDJwMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjMKLSAgICAweDEuZDE4ZjcwNTczZGE2MzAxMmZhMWMwZTNkMmViYmU1OWNwLTEsCi0gICAgLTB4MS5hYTIyNWUyZWY5NjI0MTkxNWI2ZmQyMTc1MjI4MTRmNXAtMiwKLSAgICAweDEuZmZmZmZlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODI0Ci0gICAgLTB4MS5kMThmNzA1NzNkYTYzMDEyZmExYzBlM2QyZWJiZTU5Y3AtMSwKLSAgICAtMHgxLmFhMjI1ZTJlZjk2MjQxOTE1YjZmZDIxNzUyMjgxNGY1cC0yLAotICAgIC0weDEuZmZmZmZlcDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODI1Ci0gICAgMHgxLmQxOGY2ZWFkMWI0NDVkZmFiODQ4MTg4MDA5YzliYjk1cC0xLAotICAgIC0weDEuYWEyMjY1NzUzNzIwNGE0MzMyZjhhY2JiNzJiMGQ3NjhwLTIsCi0gICAgMHgxLnAxLAotICB9LAotICB7IC8vIEVudHJ5IDgyNgotICAgIC0weDEuZDE4ZjZlYWQxYjQ0NWRmYWI4NDgxODgwMDljOWJiOTVwLTEsCi0gICAgLTB4MS5hYTIyNjU3NTM3MjA0YTQzMzJmOGFjYmI3MmIwZDc2OHAtMiwKLSAgICAtMHgxLnAxLAotICB9LAotICB7IC8vIEVudHJ5IDgyNwotICAgIDB4MS5kMThmNmI1OGQ2NmFlNzExMGIyYjZmN2NmZmJhNmVjMXAtMSwKLSAgICAtMHgxLmFhMjI3NDAxYjI4ODYyMGEwMzcyZDVhOTYwODQ5MTVkcC0yLAotICAgIDB4MS4wMDAwMDJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjgKLSAgICAtMHgxLmQxOGY2YjU4ZDY2YWU3MTEwYjJiNmY3Y2ZmYmE2ZWMxcC0xLAotICAgIC0weDEuYWEyMjc0MDFiMjg4NjIwYTAzNzJkNWE5NjA4NDkxNWRwLTIsCi0gICAgLTB4MS4wMDAwMDJwMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjkKLSAgICAweDEuYWVkNTQ3ZGJlZTRkMGQ4NjgwZDA4MTNkMWU0ZTIxZDBwLTEsCi0gICAgMHgxLjE0YTI4MmFhMjViMTFmNjMxMmE3YTY1MTgwZTdjM2Q0cC0xLAotICAgIDB4MS5mZmZmZmVwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODMwCi0gICAgLTB4MS5hZWQ1NDdkYmVlNGQwZDg2ODBkMDgxM2QxZTRlMjFkMHAtMSwKLSAgICAweDEuMTRhMjgyYWEyNWIxMWY2MzEyYTdhNjUxODBlN2MzZDRwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODMxCi0gICAgMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKLSAgICAweDEucDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODMyCi0gICAgLTB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKLSAgICAweDEuMTRhMjgwZmI1MDY4YjkyMzg0OGNkYjJlZDBlMzdhNTNwLTEsCi0gICAgLTB4MS5wMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzMKLSAgICAweDEuYWVkNTRiMTlkNWNkNzkzN2NiZjQxZWQ0MDhjYTBhNTJwLTEsCi0gICAgMHgxLjE0YTI3ZDlkYTVkNGFlYmNlNzE0MjhmOTA1N2IwOGRhcC0xLAotICAgIDB4MS4wMDAwMDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzQKLSAgICAtMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAotICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKLSAgICAtMHgxLjAwMDAwMnAwLAotICB9LAotICB7IC8vIEVudHJ5IDgzNQotICAgIDB4MS5lYWVlODU4MzVkZGU1YjcxYmVlYzdkOGQ5ODA1MjExMnAtMiwKLSAgICAweDEuYzE1MjgwZTA3Mzc2OTJkZDQzNjkwOGZkYzhlNmUyZTFwLTEsCi0gICAgMHgxLmZmZmZmZXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzYKLSAgICAtMHgxLmVhZWU4NTgzNWRkZTViNzFiZWVjN2Q4ZDk4MDUyMTEycC0yLAotICAgIDB4MS5jMTUyODBlMDczNzY5MmRkNDM2OTA4ZmRjOGU2ZTJlMXAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzcKLSAgICAweDEuZWFlZTg3NDRiMDVlZmU4NzY0YmMzNjRmZDgzN2I2NjZwLTIsCi0gICAgMHgxLmMxNTI4MDY1YjdkNGY5ZGI3YmJiM2I0NWY1ZjViMzBhcC0xLAotICAgIDB4MS5wLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODM4Ci0gICAgLTB4MS5lYWVlODc0NGIwNWVmZTg3NjRiYzM2NGZkODM3YjY2NnAtMiwKLSAgICAweDEuYzE1MjgwNjViN2Q0ZjlkYjdiYmIzYjQ1ZjVmNWIzMGFwLTEsCi0gICAgLTB4MS5wLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODM5Ci0gICAgMHgxLmVhZWU4YWM3NTU1ZWQ0N2ZjYTc3Y2VlZDE3NGM4ZWEwcC0yLAotICAgIDB4MS5jMTUyN2Y3MDQwOTA3NmRhMGMzMjA0ZGYxZTA5OWE4M3AtMSwKLSAgICAweDEuMDAwMDAycC0xLAotICB9LAotICB7IC8vIEVudHJ5IDg0MAotICAgIC0weDEuZWFlZThhYzc1NTVlZDQ3ZmNhNzdjZWVkMTc0YzhlYTBwLTIsCi0gICAgMHgxLmMxNTI3ZjcwNDA5MDc2ZGEwYzMyMDRkZjFlMDk5YTgzcC0xLAotICAgIC0weDEuMDAwMDAycC0xLAotICB9LAotICB7IC8vIEVudHJ5IDg0MQotICAgIDB4MS5mYWFlZWI1ZjFjMGQ2M2Y0M2M2ZjNlYzQ2MDExNjkwZnAtMywKLSAgICAweDEuZjAxNTRhMTc4OWQ4ZGNjMTcyY2QyMDkyZDA1ZjYzOTRwLTEsCi0gICAgMHgxLmZmZmZmZXAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDIKLSAgICAtMHgxLmZhYWVlYjVmMWMwZDYzZjQzYzZmM2VjNDYwMTE2OTBmcC0zLAotICAgIDB4MS5mMDE1NGExNzg5ZDhkY2MxNzJjZDIwOTJkMDVmNjM5NHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDMKLSAgICAweDEuZmFhZWVkNGYzMTU3NmJhODlkZWJkYzczNTFlOGIxYWVwLTMsCi0gICAgMHgxLmYwMTU0OWY3ZGVlYTE3NGYwN2E2Nzk3MmJmMjlmMTQ4cC0xLAotICAgIDB4MS5wLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ0Ci0gICAgLTB4MS5mYWFlZWQ0ZjMxNTc2YmE4OWRlYmRjNzM1MWU4YjFhZXAtMywKLSAgICAweDEuZjAxNTQ5ZjdkZWVhMTc0ZjA3YTY3OTcyYmYyOWYxNDhwLTEsCi0gICAgLTB4MS5wLTIsCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ1Ci0gICAgMHgxLmZhYWVmMTJmNWJlYjFjMTA5NDQ3M2QzYzMzNjViOWUxcC0zLAotICAgIDB4MS5mMDE1NDliODg5MGMyZjY2MzM3Y2FjMTVhNzIzN2M4ZXAtMSwKLSAgICAweDEuMDAwMDAycC0yLAotICB9LAotICB7IC8vIEVudHJ5IDg0NgotICAgIC0weDEuZmFhZWYxMmY1YmViMWMxMDk0NDczZDNjMzM2NWI5ZTFwLTMsCi0gICAgMHgxLmYwMTU0OWI4ODkwYzJmNjYzMzdjYWMxNWE3MjM3YzhlcC0xLAotICAgIC0weDEuMDAwMDAycC0yLAotICB9LAotICB7IC8vIEVudHJ5IDg0NwotICAgIDB4MS5mZWFhZWNlYzZkOGUzMGNkNTY5NTBlYjJlYmRjZWJkNHAtNCwKLSAgICAweDEuZmMwMTU1MmZkMDY4ZWU4M2Y1Yjc0MmMwNTI0NWU4YjJwLTEsCi0gICAgMHgxLmZmZmZmZXAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDgKLSAgICAtMHgxLmZlYWFlY2VjNmQ4ZTMwY2Q1Njk1MGViMmViZGNlYmQ0cC00LAotICAgIDB4MS5mYzAxNTUyZmQwNjhlZTgzZjViNzQyYzA1MjQ1ZThiMnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDkKLSAgICAweDEuZmVhYWVlZTg2ZWUzNWNhMDY5YTg2NzIxZjg5Zjg1YTVwLTQsCi0gICAgMHgxLmZjMDE1NTI3ZDViZDM2ZGEzY2Q0MjUzYmVkZTMxOWNhcC0xLAotICAgIDB4MS5wLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODUwCi0gICAgLTB4MS5mZWFhZWVlODZlZTM1Y2EwNjlhODY3MjFmODlmODVhNXAtNCwKLSAgICAweDEuZmMwMTU1MjdkNWJkMzZkYTNjZDQyNTNiZWRlMzE5Y2FwLTEsCi0gICAgLTB4MS5wLTMsCi0gIH0sCi0gIHsgLy8gRW50cnkgODUxCi0gICAgMHgxLmZlYWFmMmUwNzE4ZDljNTY4Yzk0NDJjODE1NDVjZDYycC00LAotICAgIDB4MS5mYzAxNTUxN2UwNjVhZmI2YmIxMDJjMThmNTkxOTgyMHAtMSwKLSAgICAweDEuMDAwMDAycC0zLAotICB9LAotICB7IC8vIEVudHJ5IDg1MgotICAgIC0weDEuZmVhYWYyZTA3MThkOWM1NjhjOTQ0MmM4MTU0NWNkNjJwLTQsCi0gICAgMHgxLmZjMDE1NTE3ZTA2NWFmYjZiYjEwMmMxOGY1OTE5ODIwcC0xLAotICAgIC0weDEuMDAwMDAycC0zLAotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIDB4MS5mZmFhYWNlZmQ0ZDg1NWFjODIyNzc5OWYzZTI2M2Q3YXAtNSwKLSAgICAweDEuZmYwMDE1NTY5ZWY3ZTJiOTYzMDFlNmY3NTJjMDE5ZDRwLTEsCi0gICAgMHgxLmZmZmZmZXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTQKLSAgICAtMHgxLmZmYWFhY2VmZDRkODU1YWM4MjI3Nzk5ZjNlMjYzZDdhcC01LAotICAgIDB4MS5mZjAwMTU1NjllZjdlMmI5NjMwMWU2Zjc1MmMwMTlkNHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTUKLSAgICAweDEuZmZhYWFlZWVkNGVkYWI0YmE0YjM2NWVkMjVhOTU5NWZwLTUsCi0gICAgMHgxLmZmMDAxNTU0OWY0ZDM0Y2EwZTFlZTY1MDliYzQyYjcxcC0xLAotICAgIDB4MS5wLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODU2Ci0gICAgLTB4MS5mZmFhYWVlZWQ0ZWRhYjRiYTRiMzY1ZWQyNWE5NTk1ZnAtNSwKLSAgICAweDEuZmYwMDE1NTQ5ZjRkMzRjYTBlMWVlNjUwOWJjNDJiNzFwLTEsCi0gICAgLTB4MS5wLTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODU3Ci0gICAgMHgxLmZmYWFiMmVjZDUxODUwOGFlOWJjNzMwYTE2NWE4ZWFkcC01LAotICAgIDB4MS5mZjAwMTU1MDlmZjdkMmVlNjQxOGU5MjRmMGRlNWU5N3AtMSwKLSAgICAweDEuMDAwMDAycC00LAotICB9LAotICB7IC8vIEVudHJ5IDg1OAotICAgIC0weDEuZmZhYWIyZWNkNTE4NTA4YWU5YmM3MzBhMTY1YThlYWRwLTUsCi0gICAgMHgxLmZmMDAxNTUwOWZmN2QyZWU2NDE4ZTkyNGYwZGU1ZTk3cC0xLAotICAgIC0weDEuMDAwMDAycC00LAotICB9LAotICB7IC8vIEVudHJ5IDg1OQotICAgIDB4MS5mZmVhYThlZjJlODU5MzM4ODNjMGRjMzM0NjIzODdiNXAtNiwKLSAgICAweDEuZmZjMDAxNTVkMjc3ZDU4ZTcyN2NkOTVjNDNmNzU5Y2ZwLTEsCi0gICAgMHgxLmZmZmZmZXAtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjAKLSAgICAtMHgxLmZmZWFhOGVmMmU4NTkzMzg4M2MwZGMzMzQ2MjM4N2I1cC02LAotICAgIDB4MS5mZmMwMDE1NWQyNzdkNThlNzI3Y2Q5NWM0M2Y3NTljZnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjEKLSAgICAweDEuZmZlYWFhZWVlZTg2ZThjYWZlNDEzNzZkNDc5MTk1NzlwLTYsCi0gICAgMHgxLmZmYzAwMTU1NTI3ZDJiMTJhZWRiNDlkOTI5MjhkZjcycC0xLAotICAgIDB4MS5wLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODYyCi0gICAgLTB4MS5mZmVhYWFlZWVlODZlOGNhZmU0MTM3NmQ0NzkxOTU3OXAtNiwKLSAgICAweDEuZmZjMDAxNTU1MjdkMmIxMmFlZGI0OWQ5MjkyOGRmNzJwLTEsCi0gICAgLTB4MS5wLTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODYzCi0gICAgMHgxLmZmZWFhZWVlNmU4OTkyNzAwMzQxM2FiZTY0ZTlkYzIxcC02LAotICAgIDB4MS5mZmMwMDE1NDUyODdkNDliNTc5NzJhZjUxNDU2NjNhMHAtMSwKLSAgICAweDEuMDAwMDAycC01LAotICB9LAotICB7IC8vIEVudHJ5IDg2NAotICAgIC0weDEuZmZlYWFlZWU2ZTg5OTI3MDAzNDEzYWJlNjRlOWRjMjFwLTYsCi0gICAgMHgxLmZmYzAwMTU0NTI4N2Q0OWI1Nzk3MmFmNTE0NTY2M2EwcC0xLAotICAgIC0weDEuMDAwMDAycC01LAotICB9LAotICB7IC8vIEVudHJ5IDg2NQotICAgIDB4MS5mZmZhYThhZWZlZWQzOTZmZmZmYzYzNjMxM2QwYmE2ZHAtNywKLSAgICAweDEuZmZmMDAwMTU3NTQ5OWYzZDc5OTZlMmRhMTFjZGViMjRwLTEsCi0gICAgMHgxLmZmZmZmZXAtNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjYKLSAgICAtMHgxLmZmZmFhOGFlZmVlZDM5NmZmZmZjNjM2MzEzZDBiYTZkcC03LAotICAgIDB4MS5mZmYwMDAxNTc1NDk5ZjNkNzk5NmUyZGExMWNkZWIyNHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjcKLSAgICAweDEuZmZmYWFhYWVlZWVkNGVkNTQ5YzY1NjBmODg5ZWU1MzFwLTcsCi0gICAgMHgxLmZmZjAwMDE1NTU0OWY0YTI4YTI4MGU5N2JjZDU5YzhhcC0xLAotICAgIDB4MS5wLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODY4Ci0gICAgLTB4MS5mZmZhYWFhZWVlZWQ0ZWQ1NDljNjU2MGY4ODllZTUzMXAtNywKLSAgICAweDEuZmZmMDAwMTU1NTQ5ZjRhMjhhMjgwZTk3YmNkNTljOGFwLTEsCi0gICAgLTB4MS5wLTYsCi0gIH0sCi0gIHsgLy8gRW50cnkgODY5Ci0gICAgMHgxLmZmZmFhZWFlY2VlZDc5M2ZkZTVhMWE5Y2E1YmIxZWU2cC03LAotICAgIDB4MS5mZmYwMDAxNTE1NGE5ZjBjYWU0YTYyMTUxNTAxY2QwYXAtMSwKLSAgICAweDEuMDAwMDAycC02LAotICB9LAotICB7IC8vIEVudHJ5IDg3MAotICAgIC0weDEuZmZmYWFlYWVjZWVkNzkzZmRlNWExYTljYTViYjFlZTZwLTcsCi0gICAgMHgxLmZmZjAwMDE1MTU0YTlmMGNhZTRhNjIxNTE1MDFjZDBhcC0xLAotICAgIC0weDEuMDAwMDAycC02LAotICB9LAotICB7IC8vIEVudHJ5IDg3MQotICAgIDB4MS5mZmZmZmRmYWFhYWFiYWFlZWVkZWQ5OTdmZWZmYTM1YXAtMTUsCi0gICAgMHgxLmZmZmZmZmYwMDAwMDIwMTU1NTQ0ZmZmNDlmY2EzOGU2cC0xLAotICAgIDB4MS5mZmZmZmVwLTE1LAotICB9LAotICB7IC8vIEVudHJ5IDg3MgotICAgIC0weDEuZmZmZmZkZmFhYWFhYmFhZWVlZGVkOTk3ZmVmZmEzNWFwLTE1LAotICAgIDB4MS5mZmZmZmZmMDAwMDAyMDE1NTU0NGZmZjQ5ZmNhMzhlNnAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMTUsCi0gIH0sCi0gIHsgLy8gRW50cnkgODczCi0gICAgMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKLSAgICAweDEuZmZmZmZmZjAwMDAwMDAxNTU1NTU1NTQ5ZjQ5ZjQ5ZjdwLTEsCi0gICAgMHgxLnAtMTQsCi0gIH0sCi0gIHsgLy8gRW50cnkgODc0Ci0gICAgLTB4MS5mZmZmZmZmYWFhYWFhYWFlZWVlZWVlZWQ0ZWQ0ZWQ0ZnAtMTUsCi0gICAgMHgxLmZmZmZmZmYwMDAwMDAwMTU1NTU1NTU0OWY0OWY0OWY3cC0xLAotICAgIC0weDEucC0xNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzUKLSAgICAweDEuMDAwMDAxZmQ1NTU1NDU1Nzc3NTc4Y2NiZTdiZmMwOWNwLTE0LAotICAgIDB4MS5mZmZmZmZlZmZmZmZjMDE1NTUxNWZmZjRhMTQ5NmMxY3AtMSwKLSAgICAweDEuMDAwMDAycC0xNCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzYKLSAgICAtMHgxLjAwMDAwMWZkNTU1NTQ1NTc3NzU3OGNjYmU3YmZjMDljcC0xNCwKLSAgICAweDEuZmZmZmZmZWZmZmZmYzAxNTU1MTVmZmY0YTE0OTZjMWNwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTE0LAotICB9LAotICB7IC8vIEVudHJ5IDg3NwotICAgIDB4MS5mZmZmZmRmZmZmZmZmZWFhYWFhZWFhYWFhNmFhZWVmMHAtMjgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDA3ZmZmZmZjMDE1NTU1cC0xLAotICAgIDB4MS5mZmZmZmVwLTI4LAotICB9LAotICB7IC8vIEVudHJ5IDg3OAotICAgIC0weDEuZmZmZmZkZmZmZmZmZmVhYWFhYWVhYWFhYTZhYWVlZjBwLTI4LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmYzAwMDAwN2ZmZmZmYzAxNTU1NXAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMjgsCi0gIH0sCi0gIHsgLy8gRW50cnkgODc5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmMwMDAwMDAwMDAwMDAwMTU1NTVwLTEsCi0gICAgMHgxLnAtMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODgwCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZWFhYWFhYWFhYWFhYWFhZWVlZXAtMjgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZjMDAwMDAwMDAwMDAwMDE1NTU1cC0xLAotICAgIC0weDEucC0yNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODEKLSAgICAweDEuMDAwMDAxZmZmZmZmZmY1NTU1NTE1NTU1NGQ1NTc3NzJwLTI3LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmYmZmZmZlZmZmZmZmMDAxNTU1NXAtMSwKLSAgICAweDEuMDAwMDAycC0yNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODIKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmNTU1NTUxNTU1NTRkNTU3NzcycC0yNywKLSAgICAweDEuZmZmZmZmZmZmZmZmZmJmZmZmZWZmZmZmZjAwMTU1NTVwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg4MwotICAgIDB4MS5mZmZmZmRmZmZmZmZmZmZhYWFhYWJhYWFhYTlhYWFhZXAtMzEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMWZmZmZmZjAwMDE1cC0xLAotICAgIDB4MS5mZmZmZmVwLTMxLAotICB9LAotICB7IC8vIEVudHJ5IDg4NAotICAgIC0weDEuZmZmZmZkZmZmZmZmZmZmYWFhYWFiYWFhYWE5YWFhYWVwLTMxLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmYwMDAwMDFmZmZmZmYwMDAxNXAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMzEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODg1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMTVwLTEsCi0gICAgMHgxLnAtMzAsCi0gIH0sCi0gIHsgLy8gRW50cnkgODg2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZhYWFhYWFhYWFhYWFhYWFhZXAtMzEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZjAwMDAwMDAwMDAwMDAwMDE1cC0xLAotICAgIC0weDEucC0zMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODcKLSAgICAweDEuMDAwMDAxZmZmZmZmZmZmZDU1NTU0NTU1NTUzNTU1NTdwLTMwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmVmZmZmZmJmZmZmZmMwMDAxNXAtMSwKLSAgICAweDEuMDAwMDAycC0zMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODgKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmQ1NTU1NDU1NTU1MzU1NTU3cC0zMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZlZmZmZmZiZmZmZmZjMDAwMTVwLTEsCi0gICAgLTB4MS4wMDAwMDJwLTMwLAotICB9LAotICB7IC8vIEVudHJ5IDg4OQotICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg5MAotICAgIC0weDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCi0gICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAotICAgIDB4MS5mZmZmZmVwMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg5MQotICAgIC0weDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCi0gICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAotICAgIDB4MS5mZmZmZmVwMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg5MgotICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg5MwotICAgIC0weDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCi0gICAgMHgxLmI0YmYyYzc5YmRmY2RhYTUzZWQ2YzAxM2Y2NWUwOTYzcC0xLAotICAgIDB4MS5mZmZmZmVwMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg5NAotICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKLSAgICAweDEuYjRiZjJjNzliZGZjZGFhNTNlZDZjMDEzZjY1ZTA5NjNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3LAotICB9LAotICB7IC8vIEVudHJ5IDg5NQotICAgIC0weDEuNDhjZTU3NTIwMmVmZDkzYzYyZjdiODgxMDZlYTFkNGRwLTEsCi0gICAgLTB4MS44ODc3YTI5ZTNkN2I2ZGVmY2I1MjhlODZmNGMzZTA5YXAtMSwKLSAgICAweDEuZmZmZmZjcDEyNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTYKLSAgICAweDEuNDhjZTU3NTIwMmVmZDkzYzYyZjdiODgxMDZlYTFkNGRwLTEsCi0gICAgLTB4MS44ODc3YTI5ZTNkN2I2ZGVmY2I1MjhlODZmNGMzZTA5YXAtMSwKLSAgICAtMHgxLmZmZmZmY3AxMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgODk3Ci0gICAgLTB4MS43NzdhNWNmNzJjZWM1ZmQ2MTg5NmNiNGY0MGQxZGU3OXAtMjQsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmRkOTQ4NDkyNzFkMDhlZWNmNTRhMXAtMSwKLSAgICAweDEuOTIxZmI2cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODk4Ci0gICAgMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZGQ5NDg0OTI3MWQwOGVlY2Y1NGExcC0xLAotICAgIC0weDEuOTIxZmI2cDEsCi0gIH0sCi0gIHsgLy8gRW50cnkgODk5Ci0gICAgMHgxLmZmZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0MjI5MzBlZDgycC0xLAotICAgIC0weDEuNzc3YTVjZjcyY2VjYzRjZGUzYTMxZTdkNWEwMjYxNDJwLTI1LAotICAgIDB4MS45MjFmYjZwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0MjI5MzBlZDgycC0xLAotICAgIC0weDEuNzc3YTVjZjcyY2VjYzRjZGUzYTMxZTdkNWEwMjYxNDJwLTI1LAotICAgIC0weDEuOTIxZmI2cDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAxCi0gICAgMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAotICAgIDB4MS4xNGEyN2Q5ZGE1ZDRhZWJjZTcxNDI4ZjkwNTdiMDhkYXAtMSwKLSAgICAweDEuMDAwMDAycDAsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAyCi0gICAgLTB4MS5hZWQ1NGIxOWQ1Y2Q3OTM3Y2JmNDFlZDQwOGNhMGE1MnAtMSwKLSAgICAweDEuMTRhMjdkOWRhNWQ0YWViY2U3MTQyOGY5MDU3YjA4ZGFwLTEsCi0gICAgLTB4MS4wMDAwMDJwMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDMKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCi0gICAgMHgxLjE0YTI4MGZiNTA2OGI5MjM4NDhjZGIyZWQwZTM3YTUzcC0xLAotICAgIDB4MS5wMCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDQKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIDB4MS4xNGEyODBmYjUwNjhiOTIzODQ4Y2RiMmVkMGUzN2E1M3AtMSwKLSAgICAtMHgxLnAwLAotICB9LAotICB7IC8vIEVudHJ5IDkwNQotICAgIDB4MS5hZWQ1NDdkYmVlNGQwZDg2ODBkMDgxM2QxZTRlMjFkMHAtMSwKLSAgICAweDEuMTRhMjgyYWEyNWIxMWY2MzEyYTdhNjUxODBlN2MzZDRwLTEsCi0gICAgMHgxLmZmZmZmZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDYKLSAgICAtMHgxLmFlZDU0N2RiZWU0ZDBkODY4MGQwODEzZDFlNGUyMWQwcC0xLAotICAgIDB4MS4xNGEyODJhYTI1YjExZjYzMTJhN2E2NTE4MGU3YzNkNHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMSwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDcKLSAgICAweDEuNmEwOWU2ZWNiNDFmZGQ3ZTY4MTg3MmM4NTQ4ODcwMTlwLTEsCi0gICAgMHgxLjZhMDllNWUzMzM1OTgzZTVhYzkyZTczM2UzZjI0YjQycC0xLAotICAgIDB4MS45MjFmYjZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA4Ci0gICAgLTB4MS42YTA5ZTZlY2I0MWZkZDdlNjgxODcyYzg1NDg4NzAxOXAtMSwKLSAgICAweDEuNmEwOWU1ZTMzMzU5ODNlNWFjOTJlNzMzZTNmMjRiNDJwLTEsCi0gICAgLTB4MS45MjFmYjZwLTEsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA5Ci0gICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS4wMDAwMDJwLTEyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTAKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuMDAwMDAycC0xMjYsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTExCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTEyNiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTIKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xMjYsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEzCi0gICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZmNwLTEyNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTQKLSAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmZjcC0xMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE1Ci0gICAgMHgxLmZmZmZmN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5mZmZmZjhwLTEyNywKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTYKLSAgICAtMHgxLmZmZmZmN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEuZmZmZmY4cC0xMjcsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDksCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIDB4MS5wLTE0OCwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTgKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xNDksCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xLAotICAgIC0weDEucC0xNDgsCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE5Ci0gICAgMC4wZiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEsCi0gICAgMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDkyMAotICAgIC0wLjBmLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMSwKLSAgICAtMHgxLnAtMTQ5LAotICB9LAotICB7IC8vIEVudHJ5IDkyMQotICAgIDAuMCwKLSAgICAweDEucDAsCi0gICAgMC4wZiwKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjIKLSAgICAtMC4wLAotICAgIDB4MS5wMCwKLSAgICAtMC4wZiwKLSAgfSwKLX07Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwotCi1URVNUKG1hdGhfc2luY29zZiwgc2luY29zZl9pbnRlbCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplb2YoZ19zaW5jb3NmX2ludGVsX2RhdGEpL3NpemVvZihzaW5jb3NmX2ludGVsX2RhdGFfdCk7IGkrKykgewotICAgZmxvYXQgZnNpbiwgZmNvczsKLSAgIHNpbmNvc2YoZ19zaW5jb3NmX2ludGVsX2RhdGFbaV0uY2FsbF9kYXRhLCAmZnNpbiwgJmZjb3MpOwotICAgRVhQRUNUX0ZMT0FUX0VRKGdfc2luY29zZl9pbnRlbF9kYXRhW2ldLnNpbl9leHBlY3RlZCwgZnNpbikgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKLSAgIEVYUEVDVF9GTE9BVF9FUShnX3NpbmNvc2ZfaW50ZWxfZGF0YVtpXS5jb3NfZXhwZWN0ZWQsIGZjb3MpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfc2luZl90ZXN0LmNwcCBiL3Rlc3RzL21hdGhfc2luZl90ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmIxZTJjOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9tYXRoX3NpbmZfdGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0Mzk1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci0gKgotICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLSAqCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqLwotCi0jaW5jbHVkZSA8bWF0aC5oPgotCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLQotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLXR5cGVkZWYgc3RydWN0IHsKLSAgZmxvYXQgZXhwZWN0ZWQ7Ci0gIGZsb2F0IGNhbGxfZGF0YTsKLX0gc2luZl9pbnRlbF9kYXRhX3Q7Ci0KLXN0YXRpYyBzaW5mX2ludGVsX2RhdGFfdCBnX3NpbmZfaW50ZWxfZGF0YVtdID0gewotICB7IC8vIEVudHJ5IDAKLSAgICAtMHgxLjAwMDNmZmZmZmZmNTU0ZDU1MzU1NTJjY2NmNzc4Y2NkcC0yMSwKLSAgICAtMHgxLjAwMDRwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIDB4MS4wMDAzZmZmZmZmZjU1NGQ1NTM1NTUyY2NjZjc3OGNjZHAtMjEsCi0gICAgMHgxLjAwMDRwLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMgotICAgIC0weDEuZDMwY2E3MDA4YWYyNGVmMDQ4YTdhMDVlZWNkZTIxMjBwLTQsCi0gICAgLTB4MS4wMGNiZjBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzCi0gICAgMHgxLmQzMGNhNzAwOGFmMjRlZjA0OGE3YTA1ZWVjZGUyMTIwcC00LAotICAgIDB4MS4wMGNiZjBwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgMHgxLjhkNjY1ZDAwMDAyMDBlZmM0NDc4MDA4NjU4YzYxN2M3cC0xLAotICAgIC0weDEuMDFlZTM0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1Ci0gICAgLTB4MS44ZDY2NWQwMDAwMjAwZWZjNDQ3ODAwODY1OGM2MTdjN3AtMSwKLSAgICAweDEuMDFlZTM0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2Ci0gICAgMHgxLmVjMDQyZmY5NzJlNDJjMjNmMjhmMmRhNGZiNzVmODUxcC0xLAotICAgIC0weDEuMThmMWY0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3Ci0gICAgLTB4MS5lYzA0MmZmOTcyZTQyYzIzZjI4ZjJkYTRmYjc1Zjg1MXAtMSwKLSAgICAweDEuMThmMWY0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4Ci0gICAgMHgxLmYwZDM4NDI0MGFkOWYyZGJhNDdiOTZiMDgyNzFiNDFmcC0xLAotICAgIC0weDEuMWRmOTA2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5Ci0gICAgLTB4MS5mMGQzODQyNDBhZDlmMmRiYTQ3Yjk2YjA4MjcxYjQxZnAtMSwKLSAgICAweDEuMWRmOTA2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMAotICAgIC0weDEuNDYxNmRhZjljZDNjZTRlOTIxODZlN2Q4ZWMzZDNlZjBwLTUsCi0gICAgLTB4MS4zYXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEKLSAgICAweDEuNDYxNmRhZjljZDNjZTRlOTIxODZlN2Q4ZWMzZDNlZjBwLTUsCi0gICAgMHgxLjNhcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIDB4MS5kZjA0YzVmOWRlMzQzMjM1ZjRmOGIxNzk3Mjg2ODcyYnAtMSwKLSAgICAtMHgxLjQ0YjA5NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMKLSAgICAtMHgxLmRmMDRjNWY5ZGUzNDMyMzVmNGY4YjE3OTcyODY4NzJicC0xLAotICAgIDB4MS40NGIwOTZwMgotICB9LAotICB7IC8vIEVudHJ5IDE0Ci0gICAgLTB4MS5mZWZmYmQ3MzM0YzcwNDNiOTBhNmJjMmQ3NmRkYTdjOHAtMSwKLSAgICAtMHgxLjgyMWNmNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUKLSAgICAweDEuZmVmZmJkNzMzNGM3MDQzYjkwYTZiYzJkNzZkZGE3YzhwLTEsCi0gICAgMHgxLjgyMWNmNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAweDEuZWJhYzU2ZmZlNmYyNzg5M2M2OWY2OGQxZDdiNGE0NDhwLTMsCi0gICAgLTB4MS44MjliODZwMgotICB9LAotICB7IC8vIEVudHJ5IDE3Ci0gICAgLTB4MS5lYmFjNTZmZmU2ZjI3ODkzYzY5ZjY4ZDFkN2I0YTQ0OHAtMywKLSAgICAweDEuODI5Yjg2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIDB4MS5iNzI1Y2NlZjY1YjEzOTA5MTJhMGY1ZWFhYjBlNzIwMnAtNiwKLSAgICAtMHgxLjg1ODBmZXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTkKLSAgICAtMHgxLmI3MjVjY2VmNjViMTM5MDkxMmEwZjVlYWFiMGU3MjAycC02LAotICAgIDB4MS44NTgwZmVwNwotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAotICAgIC0weDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgLTB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKLSAgICAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDIyCi0gICAgMC4wZiwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMwotICAgIC0wLjBmLAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIC0weDEuZjgzZGU3YzA2ODNkM2JkOTBhNzY5ZjYyYTQxYWMxYzNwLTEsCi0gICAgMHgxLjAwMDAwMnA1MgotICB9LAotICB7IC8vIEVudHJ5IDI1Ci0gICAgMHgxLmY4M2RlN2MwNjgzZDNiZDkwYTc2OWY2MmE0MWFjMWMzcC0xLAotICAgIC0weDEuMDAwMDAycDUyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYKLSAgICAtMHgxLjdkYmQxMWZmZGU0YzIwZGJiMzc2MDE5ZjFjNjU0YmIwcC0yLAotICAgIDB4MS4wMDAwMjJwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNwotICAgIDB4MS43ZGJkMTFmZmRlNGMyMGRiYjM3NjAxOWYxYzY1NGJiMHAtMiwKLSAgICAtMHgxLjAwMDAyMnA2MgotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLmVhZjBkNTAwOGYyZGI4OTllMjQ4N2RhOWQzYjljZGU3cC0yLAotICAgIDB4MS4wMDAxNTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIC0weDEuZWFmMGQ1MDA4ZjJkYjg5OWUyNDg3ZGE5ZDNiOWNkZTdwLTIsCi0gICAgLTB4MS4wMDAxNTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIDB4MS5mZmFlOGNmZWZhODEzZGE4NzQ5OGRmOTg4YzNkOGY1ZXAtNSwKLSAgICAweDEuMDAwMWYwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEKLSAgICAtMHgxLmZmYWU4Y2ZlZmE4MTNkYTg3NDk4ZGY5ODhjM2Q4ZjVlcC01LAotICAgIC0weDEuMDAwMWYwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzIKLSAgICAweDEuODljN2Q2MDg3YTg2MWJiNmZlNzk0MTQ4YzM0MjUzNDhwLTEsCi0gICAgMHgxLjAwMDNwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMwotICAgIC0weDEuODljN2Q2MDg3YTg2MWJiNmZlNzk0MTQ4YzM0MjUzNDhwLTEsCi0gICAgLTB4MS4wMDAzcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQKLSAgICAtMHgxLjU5ZTFmNTE5ZWY4YjcyMmVhZTEyYTQwNGNhZDkzN2VicC0xLAotICAgIDB4MS4wMDAzODBwMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUKLSAgICAweDEuNTllMWY1MTllZjhiNzIyZWFlMTJhNDA0Y2FkOTM3ZWJwLTEsCi0gICAgLTB4MS4wMDAzODBwMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzYKLSAgICAweDEuMDAwM2ZmZmZmZmY1NTRkNTUzNTU1MmNjY2Y3NzhjY2RwLTIxLAotICAgIDB4MS4wMDA0cC0yMQotICB9LAotICB7IC8vIEVudHJ5IDM3Ci0gICAgLTB4MS4wMDAzZmZmZmZmZjU1NGQ1NTM1NTUyY2NjZjc3OGNjZHAtMjEsCi0gICAgLTB4MS4wMDA0cC0yMQotICB9LAotICB7IC8vIEVudHJ5IDM4Ci0gICAgMHgxLjM4MzA2NTAyN2VjNGYyMGFiMWMwMDI3ZDk5MWI4MDVhcC02LAotICAgIDB4MS4wMDA3YzBwOQotICB9LAotICB7IC8vIEVudHJ5IDM5Ci0gICAgLTB4MS4zODMwNjUwMjdlYzRmMjBhYjFjMDAyN2Q5OTFiODA1YXAtNiwKLSAgICAtMHgxLjAwMDdjMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAKLSAgICAweDEuZWIwMzk3MDAyZmRmYmFlMjI2ZjA2OWQ2Y2Q1M2M0MGZwLTIsCi0gICAgMHgxLjAwMGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MQotICAgIC0weDEuZWIwMzk3MDAyZmRmYmFlMjI2ZjA2OWQ2Y2Q1M2M0MGZwLTIsCi0gICAgLTB4MS4wMDBjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIKLSAgICAweDEuZmVkYzhiMDAwMWY3ZGFjZWUwOTBjNWVkYzNiZmE1NDdwLTQsCi0gICAgMHgxLjAwMTlwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MwotICAgIC0weDEuZmVkYzhiMDAwMWY3ZGFjZWUwOTBjNWVkYzNiZmE1NDdwLTQsCi0gICAgLTB4MS4wMDE5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQKLSAgICAweDEuYWI0NzFhZjI2ZmZlYTIzZDc2NDNjZjYxNGM4NjBiMThwLTEwLAotICAgIDB4MS4wMDM4MjBwNjgKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NQotICAgIC0weDEuYWI0NzFhZjI2ZmZlYTIzZDc2NDNjZjYxNGM4NjBiMThwLTEwLAotICAgIC0weDEuMDAzODIwcDY4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYKLSAgICAweDEuZmYyOWVlZmRkZTMwNDFmYzVjNzVhMWY4MjJhNTQyMWRwLTQsCi0gICAgMHgxLjAwNDBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NwotICAgIC0weDEuZmYyOWVlZmRkZTMwNDFmYzVjNzVhMWY4MjJhNTQyMWRwLTQsCi0gICAgLTB4MS4wMDQwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAweDEuMjkwNzAxNzUyMDZiM2YxOThjODkzZTE5YjRiZDZjYjhwLTEzLAotICAgIDB4MS4wMWYwcDEwMwotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgLTB4MS4yOTA3MDE3NTIwNmIzZjE5OGM4OTNlMTliNGJkNmNiOHAtMTMsCi0gICAgLTB4MS4wMWYwcDEwMwotICB9LAotICB7IC8vIEVudHJ5IDUwCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZhYWZiZTUzZGU3NDIzMTk1NDcwOXAtMSwKLSAgICAweDEuMDRjY2JjcDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTEKLSAgICAweDEuZmZmZmZmZmZmZmZmYWFmYmU1M2RlNzQyMzE5NTQ3MDlwLTEsCi0gICAgLTB4MS4wNGNjYmNwMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MgotICAgIDB4MS5mNGY3MmNhZDVmNWZiMTdlYzYwOGVjN2FjMWNiY2E4YnAtMiwKLSAgICAweDEuMDViY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDUzCi0gICAgLTB4MS5mNGY3MmNhZDVmNWZiMTdlYzYwOGVjN2FjMWNiY2E4YnAtMiwKLSAgICAtMHgxLjA1YmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NAotICAgIDB4MS5mODk2YzY2ODlkN2U3NWUzNTFlY2M4NTczMTI1NGNkM3AtMSwKLSAgICAweDEuMDdjMWY4cDExOQotICB9LAotICB7IC8vIEVudHJ5IDU1Ci0gICAgLTB4MS5mODk2YzY2ODlkN2U3NWUzNTFlY2M4NTczMTI1NGNkM3AtMSwKLSAgICAtMHgxLjA3YzFmOHAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NgotICAgIC0weDEuMjY3NTkzZjRkNTljN2RlNjE3MDA5MGE2YTA4NGNkY2FwLTE0LAotICAgIDB4MS4wODAxODBwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIDB4MS4yNjc1OTNmNGQ1OWM3ZGU2MTcwMDkwYTZhMDg0Y2RjYXAtMTQsCi0gICAgLTB4MS4wODAxODBwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIDB4MS5mYzg2MzcyYTg0MTU0OTQxMGMxMmRiZWM2ZmU4MGRjNXAtMiwKLSAgICAweDEuMGExNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU5Ci0gICAgLTB4MS5mYzg2MzcyYTg0MTU0OTQxMGMxMmRiZWM2ZmU4MGRjNXAtMiwKLSAgICAtMHgxLjBhMTRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MAotICAgIDB4MS5iY2EyOGYwMDA0MzE2YmFlOGRmNmEyMzUyY2NhMTM4MnAtMSwKLSAgICAweDEuMGI3NzBhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MQotICAgIC0weDEuYmNhMjhmMDAwNDMxNmJhZThkZjZhMjM1MmNjYTEzODJwLTEsCi0gICAgLTB4MS4wYjc3MGFwMQotICB9LAotICB7IC8vIEVudHJ5IDYyCi0gICAgLTB4MS5mYWRlOWFiZDY3NTI2ZDM3MTg5ZGYwMDRiNTFkOWQ1YXAtMSwKLSAgICAweDEuMGRkY3A5NgotICB9LAotICB7IC8vIEVudHJ5IDYzCi0gICAgMHgxLmZhZGU5YWJkNjc1MjZkMzcxODlkZjAwNGI1MWQ5ZDVhcC0xLAotICAgIC0weDEuMGRkY3A5NgotICB9LAotICB7IC8vIEVudHJ5IDY0Ci0gICAgMHgxLmJmNjgzY2ZmZmZlYzZlODY3MmE0OWYwOGFhZTQ5YzQ2cC0xLAotICAgIDB4MS4xMDI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NQotICAgIC0weDEuYmY2ODNjZmZmZmVjNmU4NjcyYTQ5ZjA4YWFlNDljNDZwLTEsCi0gICAgLTB4MS4xMDI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NgotICAgIC0weDEuZjE0NDA3ZjY0NDFlOTJmNDgwZDJlMjI4NTlkNjdhMzlwLTEsCi0gICAgMHgxLjEwOWNjNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjcKLSAgICAweDEuZjE0NDA3ZjY0NDFlOTJmNDgwZDJlMjI4NTlkNjdhMzlwLTEsCi0gICAgLTB4MS4xMDljYzRwNAotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgLTB4MS5mZjdlN2I5OTgzYTdjMmViZWNmYWIxYTBiMGFmM2M0ZHAtMSwKLSAgICAweDEuMTNiZmIycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OQotICAgIDB4MS5mZjdlN2I5OTgzYTdjMmViZWNmYWIxYTBiMGFmM2M0ZHAtMSwKLSAgICAtMHgxLjEzYmZiMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzAKLSAgICAweDEuYzQ5NDJiMWU5ZWMxNzVhYTdkM2ZkNzVmMmUzN2U1NjZwLTEsCi0gICAgMHgxLjE1OTBwMAotICB9LAotICB7IC8vIEVudHJ5IDcxCi0gICAgLTB4MS5jNDk0MmIxZTllYzE3NWFhN2QzZmQ3NWYyZTM3ZTU2NnAtMSwKLSAgICAtMHgxLjE1OTBwMAotICB9LAotICB7IC8vIEVudHJ5IDcyCi0gICAgMHgxLmZmZjhkMzY4NjZmYWFhYzhjMTdlMTI2NzQ5OGJkMTMycC0xLAotICAgIDB4MS4xOHA4NQotICB9LAotICB7IC8vIEVudHJ5IDczCi0gICAgLTB4MS5mZmY4ZDM2ODY2ZmFhYWM4YzE3ZTEyNjc0OThiZDEzMnAtMSwKLSAgICAtMHgxLjE4cDg1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzQKLSAgICAweDEuYzc4ZDk2MjU0NmNlNTFiODgyYzkwNTRlY2NkODI5YjFwLTEsCi0gICAgMHgxLjE4YzhwMAotICB9LAotICB7IC8vIEVudHJ5IDc1Ci0gICAgLTB4MS5jNzhkOTYyNTQ2Y2U1MWI4ODJjOTA1NGVjY2Q4MjliMXAtMSwKLSAgICAtMHgxLjE4YzhwMAotICB9LAotICB7IC8vIEVudHJ5IDc2Ci0gICAgMHgxLmM3Y2I5OWExMTFmMjY1MjdiODA1NzM0OTYyZmIxMmEwcC0xLAotICAgIDB4MS4xOTBjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NwotICAgIC0weDEuYzdjYjk5YTExMWYyNjUyN2I4MDU3MzQ5NjJmYjEyYTBwLTEsCi0gICAgLTB4MS4xOTBjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OAotICAgIC0weDEuNzA4OTgxMDAwNTU5NDM4OThhYTcwNTMwMTdlY2JhNjlwLTEsCi0gICAgMHgxLjFlOGYxNHA2MgotICB9LAotICB7IC8vIEVudHJ5IDc5Ci0gICAgMHgxLjcwODk4MTAwMDU1OTQzODk4YWE3MDUzMDE3ZWNiYTY5cC0xLAotICAgIC0weDEuMWU4ZjE0cDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAweDEuY2RlZjFlNGViMzdlOWYyMjQ5NjU2YzI3ZDYyYjE4OTVwLTEsCi0gICAgMHgxLjFmZjhwMAotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgLTB4MS5jZGVmMWU0ZWIzN2U5ZjIyNDk2NTZjMjdkNjJiMTg5NXAtMSwKLSAgICAtMHgxLjFmZjhwMAotICB9LAotICB7IC8vIEVudHJ5IDgyCi0gICAgLTB4MS41ZGYwZGQ2MGYxMjJiZjc5ZDFkZGNmMjk1YzM0Y2IwZXAtMSwKLSAgICAweDEuMjI0NGE2cDU5Ci0gIH0sCi0gIHsgLy8gRW50cnkgODMKLSAgICAweDEuNWRmMGRkNjBmMTIyYmY3OWQxZGRjZjI5NWMzNGNiMGVwLTEsCi0gICAgLTB4MS4yMjQ0YTZwNTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NAotICAgIC0weDEuZmI4ZGQ3NGYxYjA5MWE3YjBmOWY5ZDQ0ZGI4NDY2MWNwLTMsCi0gICAgMHgxLjI4N2FlMHAxMwotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgMHgxLmZiOGRkNzRmMWIwOTFhN2IwZjlmOWQ0NGRiODQ2NjFjcC0zLAotICAgIC0weDEuMjg3YWUwcDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgODYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGExZmI0ZTdicC0xLAotICAgIDB4MS4yZDk3YzhwMgotICB9LAotICB7IC8vIEVudHJ5IDg3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGExZmI0ZTdicC0xLAotICAgIC0weDEuMmQ5N2M4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OAotICAgIC0weDEuOTliYzViOTYxYjFhYzI5NmRiZTE5ODBmZDJjODkwYTBwLTI2LAotICAgIDB4MS4yZDk3YzhwMwotICB9LAotICB7IC8vIEVudHJ5IDg5Ci0gICAgMHgxLjk5YmM1Yjk2MWIxYWMyOTZkYmUxOTgwZmQyYzg5MGEwcC0yNiwKLSAgICAtMHgxLjJkOTdjOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAKLSAgICAweDEuZmZkNTE1OGI4MTk0NGZmNmI0ODMzZmRmMWZhYTkyODFwLTEsCi0gICAgMHgxLjMyY2RjNnAxOAotICB9LAotICB7IC8vIEVudHJ5IDkxCi0gICAgLTB4MS5mZmQ1MTU4YjgxOTQ0ZmY2YjQ4MzNmZGYxZmFhOTI4MXAtMSwKLSAgICAtMHgxLjMyY2RjNnAxOAotICB9LAotICB7IC8vIEVudHJ5IDkyCi0gICAgMHgxLmUxOTFlNzdmNThmNDc5YjU2NGVjNTM4YjY3MWY5OGFmcC0xNCwKLSAgICAweDEuMzdlZmQ4cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDkzCi0gICAgLTB4MS5lMTkxZTc3ZjU4ZjQ3OWI1NjRlYzUzOGI2NzFmOThhZnAtMTQsCi0gICAgLTB4MS4zN2VmZDhwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQKLSAgICAweDEuZmZmZTk3NGRjZWIxMGQ0ODc3YTc1YmM3Nzg3MGZmZWJwLTEsCi0gICAgMHgxLjM4cDExCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUKLSAgICAtMHgxLmZmZmU5NzRkY2ViMTBkNDg3N2E3NWJjNzc4NzBmZmVicC0xLAotICAgIC0weDEuMzhwMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NgotICAgIC0weDEuYjYzZjJjM2Y1MzdiMTBlZWMyZmJmMzQwZTQ4OTg2NDRwLTE4LAotICAgIDB4MS4zZDcyYjhwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NwotICAgIDB4MS5iNjNmMmMzZjUzN2IxMGVlYzJmYmYzNDBlNDg5ODY0NHAtMTgsCi0gICAgLTB4MS4zZDcyYjhwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OAotICAgIC0weDEuZTAyMDhjZmYxN2Y5MTg2MjE4OTQ1YWY5MjU2ZDczNmNwLTEsCi0gICAgMHgxLjQ0NGIyMHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAweDEuZTAyMDhjZmYxN2Y5MTg2MjE4OTQ1YWY5MjU2ZDczNmNwLTEsCi0gICAgLTB4MS40NDRiMjBwNwotICB9LAotICB7IC8vIEVudHJ5IDEwMAotICAgIDB4MS5mZmZmZjkwMDJjZjg3ZGFkZTZmNjJlYjcwOWRjMmFhN3AtMSwKLSAgICAweDEuNDZiNzFlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEKLSAgICAtMHgxLmZmZmZmOTAwMmNmODdkYWRlNmY2MmViNzA5ZGMyYWE3cC0xLAotICAgIC0weDEuNDZiNzFlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIKLSAgICAweDEuYzg3NTU4MWE3NjIyMTFkZDVjYWFmOWFiZGU1Y2Y2NTZwLTIxLAotICAgIDB4MS40ZDAyNDJwNwotICB9LAotICB7IC8vIEVudHJ5IDEwMwotICAgIC0weDEuYzg3NTU4MWE3NjIyMTFkZDVjYWFmOWFiZGU1Y2Y2NTZwLTIxLAotICAgIC0weDEuNGQwMjQycDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQKLSAgICAtMHgxLjZhNmY3OTAwMDA1M2EzODQyNTY2ZjFlMDE4ZDYzNTlmcC0xLAotICAgIDB4MS41MTFlOGVwMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUKLSAgICAweDEuNmE2Zjc5MDAwMDUzYTM4NDI1NjZmMWUwMThkNjM1OWZwLTEsCi0gICAgLTB4MS41MTFlOGVwMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYKLSAgICAweDEuZmZmZTlmZmE2YjU2OWRkOGM3MjBkNjhlODBiZDlhNjNwLTEsCi0gICAgMHgxLjUzNTRkMHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcKLSAgICAtMHgxLmZmZmU5ZmZhNmI1NjlkZDhjNzIwZDY4ZTgwYmQ5YTYzcC0xLAotICAgIC0weDEuNTM1NGQwcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDEwOAotICAgIDB4MS4zYjRkNThmZmZmZjI5MTI2NDYwZjI1OGVjNDQyM2U5YXAtMSwKLSAgICAweDEuNTNhZDVjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5Ci0gICAgLTB4MS4zYjRkNThmZmZmZjI5MTI2NDYwZjI1OGVjNDQyM2U5YXAtMSwKLSAgICAtMHgxLjUzYWQ1Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDExMAotICAgIC0weDEuZmZmZWI3NjJlOTNlYWQ1YWM3MGY4NTA2NGZjNzljZmZwLTEsCi0gICAgMHgxLjYwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEKLSAgICAweDEuZmZmZWI3NjJlOTNlYWQ1YWM3MGY4NTA2NGZjNzljZmZwLTEsCi0gICAgLTB4MS42MHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTEyCi0gICAgMHgxLjE3NzIzNzdmZmU1YjFmNDM2YzAxNDllMzI4NDQ2Zjc0cC0yMCwKLSAgICAweDEuNmM2Y2JjcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMKLSAgICAtMHgxLjE3NzIzNzdmZmU1YjFmNDM2YzAxNDllMzI4NDQ2Zjc0cC0yMCwKLSAgICAtMHgxLjZjNmNiY3A2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0Ci0gICAgMHgxLjc3ZmZmZGZmZmZmZmY3OGQwNTc3ZDk1NTI2NjNlYTNlcC0yNiwKLSAgICAweDEuNzdmZmZlcC0yNgotICB9LAotICB7IC8vIEVudHJ5IDExNQotICAgIC0weDEuNzdmZmZkZmZmZmZmZjc4ZDA1NzdkOTU1MjY2M2VhM2VwLTI2LAotICAgIC0weDEuNzdmZmZlcC0yNgotICB9LAotICB7IC8vIEVudHJ5IDExNgotICAgIC0weDEuZmYwNDk3OTM4NTk0NmQwNTY4YzE1M2JmOWUxMjVmY2NwLTEsCi0gICAgMHgxLjc3ZmZmZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE3Ci0gICAgMHgxLmZmMDQ5NzkzODU5NDZkMDU2OGMxNTNiZjllMTI1ZmNjcC0xLAotICAgIC0weDEuNzdmZmZlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgKLSAgICAweDEuZmViN2E5NmE1NzdmNzE1ZmE3YWQ4Nzg4Mjk0YzA0NWJwLTEsCi0gICAgMHgxLjdmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5Ci0gICAgLTB4MS5mZWI3YTk2YTU3N2Y3MTVmYTdhZDg3ODgyOTRjMDQ1YnAtMSwKLSAgICAtMHgxLjdmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwCi0gICAgMHgxLmZlYjdlYjU0NjUzNTA5NjE3ZmFmMzI2ODM0NDQzN2ZjcC0xLAotICAgIDB4MS44MDAxZDBwMAotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIC0weDEuZmViN2ViNTQ2NTM1MDk2MTdmYWYzMjY4MzQ0NDM3ZmNwLTEsCi0gICAgLTB4MS44MDAxZDBwMAotICB9LAotICB7IC8vIEVudHJ5IDEyMgotICAgIDB4MS5mZjY1MzU5OThlYTAwNGQ0ODc2MzU5N2I2ZGY5Y2Q2NXAtMSwKLSAgICAweDEuODA3ZmZlcDEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgLTB4MS5mZjY1MzU5OThlYTAwNGQ0ODc2MzU5N2I2ZGY5Y2Q2NXAtMSwKLSAgICAtMHgxLjgwN2ZmZXAxMwotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS5mZjc2ZWQ5YTE5MmU5YTIxMjZiY2ZjMGYzMDYyNDBkNHAtMSwKLSAgICAweDEuODY2YTQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAtMHgxLmZmNzZlZDlhMTkyZTlhMjEyNmJjZmMwZjMwNjI0MGQ0cC0xLAotICAgIC0weDEuODY2YTQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYKLSAgICAweDEuYWNlODQ0ZjFlYjZjMzA3NzI3NzkyOWZmNGFkZTNmNDFwLTUsCi0gICAgMHgxLjg4NjRwMzUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcKLSAgICAtMHgxLmFjZTg0NGYxZWI2YzMwNzcyNzc5MjlmZjRhZGUzZjQxcC01LAotICAgIC0weDEuODg2NHAzNQotICB9LAotICB7IC8vIEVudHJ5IDEyOAotICAgIDB4MS5lMGQxMDhmMTk2ZmQzY2JjYjdjMmM3NmFlZTczODIwNXAtNSwKLSAgICAweDEuOGE5YjU2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkKLSAgICAtMHgxLmUwZDEwOGYxOTZmZDNjYmNiN2MyYzc2YWVlNzM4MjA1cC01LAotICAgIC0weDEuOGE5YjU2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAKLSAgICAtMHgxLjZhMDlhZjAwMDZmZTBiNDdjODFkODY5NWMwMTdhOGRmcC0xLAotICAgIDB4MS44ZTk2ZWVwOQotICB9LAotICB7IC8vIEVudHJ5IDEzMQotICAgIDB4MS42YTA5YWYwMDA2ZmUwYjQ3YzgxZDg2OTVjMDE3YThkZnAtMSwKLSAgICAtMHgxLjhlOTZlZXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgLTB4MS5kZDU5ZGNlZWNmM2ZiZDAxNWU5ZTI5YjM3YWFmNTExYXAtOSwKLSAgICAweDEuOTFlNDBhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAweDEuZGQ1OWRjZWVjZjNmYmQwMTVlOWUyOWIzN2FhZjUxMWFwLTksCi0gICAgLTB4MS45MWU0MGFwMgotICB9LAotICB7IC8vIEVudHJ5IDEzNAotICAgIC0weDEuZmI3M2YxMTg3ZTUwNTNiYWNiNzUyYjg5YzZhM2RlNTdwLTksCi0gICAgMHgxLjkxZmZmZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM1Ci0gICAgMHgxLmZiNzNmMTE4N2U1MDUzYmFjYjc1MmI4OWM2YTNkZTU3cC05LAotICAgIC0weDEuOTFmZmZlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzYKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKLSAgICAweDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzcKLSAgICAweDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAotICAgIC0weDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzgKLSAgICAtMHgxLmZmZmZmZjc5ZGI5MTcyNjVlNjc1NTc0YjhkODNmYTZlcC0xLAotICAgIDB4MS45NGZkN2NwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM5Ci0gICAgMHgxLmZmZmZmZjc5ZGI5MTcyNjVlNjc1NTc0YjhkODNmYTZlcC0xLAotICAgIC0weDEuOTRmZDdjcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDE0MAotICAgIDB4MS5mZmZmZmZmZmZmZDdlODM2NzhhMzgzMjljMWUwOTNiNXAtMSwKLSAgICAweDEuOTg2ODM0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDEKLSAgICAtMHgxLmZmZmZmZmZmZmZkN2U4MzY3OGEzODMyOWMxZTA5M2I1cC0xLAotICAgIC0weDEuOTg2ODM0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDIKLSAgICAweDEuMTZhZTI5MTQ0ZDNhZWIwZWY3NDFjM2UyYWJhMzQwNzhwLTI0LAotICAgIDB4MS45YTQ4ZGVwMTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDMKLSAgICAtMHgxLjE2YWUyOTE0NGQzYWViMGVmNzQxYzNlMmFiYTM0MDc4cC0yNCwKLSAgICAtMHgxLjlhNDhkZXAxNwotICB9LAotICB7IC8vIEVudHJ5IDE0NAotICAgIDB4MS5mZjdhZDM5OGZkNTg5NTI4YmIwN2RiMWUwYmRkNDBmNXAtMSwKLSAgICAweDEuOWRhYTM4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDUKLSAgICAtMHgxLmZmN2FkMzk4ZmQ1ODk1MjhiYjA3ZGIxZTBiZGQ0MGY1cC0xLAotICAgIC0weDEuOWRhYTM4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDYKLSAgICAweDEuOWRmNWYxMDAwMDAwMmY0Yjc0MjFkZmU5ZTk1NWI2MGRwLTQsCi0gICAgMHgxLjllYWIyZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDE0NwotICAgIC0weDEuOWRmNWYxMDAwMDAwMmY0Yjc0MjFkZmU5ZTk1NWI2MGRwLTQsCi0gICAgLTB4MS45ZWFiMmVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDgKLSAgICAweDEuNzZkY2Y3MDAwMDUzYzQyOGUzMGVmOTlkOWNmOTFhY2NwLTEsCi0gICAgMHgxLmE0OTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDkKLSAgICAtMHgxLjc2ZGNmNzAwMDA1M2M0MjhlMzBlZjk5ZDljZjkxYWNjcC0xLAotICAgIC0weDEuYTQ5OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1MAotICAgIDB4MS5hOWQ0NTEwMDAwYTJhODJjMzkxYTliMzYxODZlYWQ2NXAtNSwKLSAgICAweDEuYWEwNTc4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgLTB4MS5hOWQ0NTEwMDAwYTJhODJjMzkxYTliMzYxODZlYWQ2NXAtNSwKLSAgICAtMHgxLmFhMDU3OHAtNQotICB9LAotICB7IC8vIEVudHJ5IDE1MgotICAgIDB4MS42YTA5N2RjYzhiMTM1NjcxMmZjMjBmODJjNGY4N2U0ZHAtMSwKLSAgICAweDEuYjRhZTcwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTMKLSAgICAtMHgxLjZhMDk3ZGNjOGIxMzU2NzEyZmMyMGY4MmM0Zjg3ZTRkcC0xLAotICAgIC0weDEuYjRhZTcwcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTQKLSAgICAweDEuODQ5OTI2ZmZmZmViOTU4NjAyNjJhOTk3NzBhOGM5YzNwLTEsCi0gICAgMHgxLmI5MzZkYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDE1NQotICAgIC0weDEuODQ5OTI2ZmZmZmViOTU4NjAyNjJhOTk3NzBhOGM5YzNwLTEsCi0gICAgLTB4MS5iOTM2ZGFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTYKLSAgICAtMHgxLmRhYzQwZWYxZTA0MDMxNWYwNzUxOWE5OWMyMDM0ZmZmcC01LAotICAgIDB4MS5iYTI3ODRwODIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTcKLSAgICAweDEuZGFjNDBlZjFlMDQwMzE1ZjA3NTE5YTk5YzIwMzRmZmZwLTUsCi0gICAgLTB4MS5iYTI3ODRwODIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTgKLSAgICAweDEuODEwNzRiMDM0NmYwNzM5MDM5NWI0ZWUyYjUwYjNmOTRwLTE0LAotICAgIDB4MS5iZGI0NGFwMTA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgLTB4MS44MTA3NGIwMzQ2ZjA3MzkwMzk1YjRlZTJiNTBiM2Y5NHAtMTQsCi0gICAgLTB4MS5iZGI0NGFwMTA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYwCi0gICAgMHgxLjIzNWRlYmI3MjdiOTVkYWFlYzE4M2JmYTRlNzI4YmUxcC05LAotICAgIDB4MS5iZGJlZmVwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYxCi0gICAgLTB4MS4yMzVkZWJiNzI3Yjk1ZGFhZWMxODNiZmE0ZTcyOGJlMXAtOSwKLSAgICAtMHgxLmJkYmVmZXAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjIKLSAgICAtMHgxLjk5NjYzZGE5NGRiNTI5MDczMGIwMjk1MTMzNzBlODYzcC0yMywKLSAgICAweDEuYmVlZWVlcDgwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYzCi0gICAgMHgxLjk5NjYzZGE5NGRiNTI5MDczMGIwMjk1MTMzNzBlODYzcC0yMywKLSAgICAtMHgxLmJlZWVlZXA4MAotICB9LAotICB7IC8vIEVudHJ5IDE2NAotICAgIC0weDEuNjJmYWEwZmZkYzU1YTRjNTRmMTIyOWZjMDMwMmJkNWZwLTIsCi0gICAgMHgxLmJmNmZkMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY1Ci0gICAgMHgxLjYyZmFhMGZmZGM1NWE0YzU0ZjEyMjlmYzAzMDJiZDVmcC0yLAotICAgIC0weDEuYmY2ZmQwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjYKLSAgICAtMHgxLmM2ZDQ0NGRlNmI5MGM3YjhiNDM0MDJlZjc0OWE0YzNkcC01LAotICAgIDB4MS5iZmZmZmVwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjcKLSAgICAweDEuYzZkNDQ0ZGU2YjkwYzdiOGI0MzQwMmVmNzQ5YTRjM2RwLTUsCi0gICAgLTB4MS5iZmZmZmVwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjgKLSAgICAweDEuZmZmZmZmZmZmZmZmYTNjNzY1N2I4NWU1YjQ0YmJkNDRwLTEsCi0gICAgMHgxLmM0NjNhY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY5Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZhM2M3NjU3Yjg1ZTViNDRiYmQ0NHAtMSwKLSAgICAtMHgxLmM0NjNhY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcwCi0gICAgMHgxLjkxMzY0OGZmZmY5ZTIzNzg3ZjVkZGI3NWRjNTVlZWM4cC0xLAotICAgIDB4MS5jZDBhMGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzEKLSAgICAtMHgxLjkxMzY0OGZmZmY5ZTIzNzg3ZjVkZGI3NWRjNTVlZWM4cC0xLAotICAgIC0weDEuY2QwYTBjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTcyCi0gICAgLTB4MS5hMWQ0N2NmZDI4MjVmMWMzZTI4MzVlOTQzYjk2NjllZnAtNSwKLSAgICAweDEuZDQxODE4cDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTczCi0gICAgMHgxLmExZDQ3Y2ZkMjgyNWYxYzNlMjgzNWU5NDNiOTY2OWVmcC01LAotICAgIC0weDEuZDQxODE4cDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc0Ci0gICAgMHgxLjZhMjJkYjAwMDAzNmE5NTkyZGI3MjJlMmQ5YmU0ODY5cC0xLAotICAgIDB4MS5lNjI5NDRwOAotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIC0weDEuNmEyMmRiMDAwMDM2YTk1OTJkYjcyMmUyZDliZTQ4NjlwLTEsCi0gICAgLTB4MS5lNjI5NDRwOAotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIDB4MS5kNGRlOGFmZmZmZmZkOTZmODNiYTQ0MmZkZjJmNzEwMXAtMiwKLSAgICAweDEuZTcwNjFlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc3Ci0gICAgLTB4MS5kNGRlOGFmZmZmZmZkOTZmODNiYTQ0MmZkZjJmNzEwMXAtMiwKLSAgICAtMHgxLmU3MDYxZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE3OAotICAgIC0weDEuZTNjZTA0ZjFiOTRlMWQ4MmYwMDAxY2I5OWZlZDkyNzVwLTUsCi0gICAgMHgxLmU3ZmZmZXA5NQotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIDB4MS5lM2NlMDRmMWI5NGUxZDgyZjAwMDFjYjk5ZmVkOTI3NXAtNSwKLSAgICAtMHgxLmU3ZmZmZXA5NQotICB9LAotICB7IC8vIEVudHJ5IDE4MAotICAgIDB4MS5lOTczNjJmZmZmNWQ0NmUxZTk4YzhhOGM5NDQ3OGE0NHAtNSwKLSAgICAweDEuZTliZTBlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgxCi0gICAgLTB4MS5lOTczNjJmZmZmNWQ0NmUxZTk4YzhhOGM5NDQ3OGE0NHAtNSwKLSAgICAtMHgxLmU5YmUwZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIC0weDEuNTc5NzVjZmVmZDdlNzA1ZjNlYjAzYTllOGU0OGExOGNwLTEsCi0gICAgMHgxLmViMWRiZXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE4MwotICAgIDB4MS41Nzk3NWNmZWZkN2U3MDVmM2ViMDNhOWU4ZTQ4YTE4Y3AtMSwKLSAgICAtMHgxLmViMWRiZXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIC0weDEuNmExMDEyZTRiNjliMDg2YzNkYzA0MjdhYmE4MGJjOTZwLTEsCi0gICAgMHgxLmViMWU4YXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIDB4MS42YTEwMTJlNGI2OWIwODZjM2RjMDQyN2FiYTgwYmM5NnAtMSwKLSAgICAtMHgxLmViMWU4YXAxMgotICB9LAotICB7IC8vIEVudHJ5IDE4NgotICAgIC0weDEuOWY0MmU0ZjQ2NzY5NmFkMzZhNzBhYzhiNzBlMGNkMzJwLTEsCi0gICAgMHgxLmVmZmM4YXAyNAotICB9LAotICB7IC8vIEVudHJ5IDE4NwotICAgIDB4MS45ZjQyZTRmNDY3Njk2YWQzNmE3MGFjOGI3MGUwY2QzMnAtMSwKLSAgICAtMHgxLmVmZmM4YXAyNAotICB9LAotICB7IC8vIEVudHJ5IDE4OAotICAgIDB4MS5jYmFkYjhlZjhmM2UzNThkMmI4YmU0OTNjMTFiNTdiMXAtNiwKLSAgICAweDEuZjVjMWM0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODkKLSAgICAtMHgxLmNiYWRiOGVmOGYzZTM1OGQyYjhiZTQ5M2MxMWI1N2IxcC02LAotICAgIC0weDEuZjVjMWM0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTAKLSAgICAweDEuNWFlZTJjZmZmMDg3ZTU5ZGZjZDg1NmNiZmU0NTQ0ZGNwLTIsCi0gICAgMHgxLmY3ZmZmZXAxMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTEKLSAgICAtMHgxLjVhZWUyY2ZmZjA4N2U1OWRmY2Q4NTZjYmZlNDU0NGRjcC0yLAotICAgIC0weDEuZjdmZmZlcDExMQotICB9LAotICB7IC8vIEVudHJ5IDE5MgotICAgIDB4MS4yNmRiN2QwMGJiMDY3NDNmZWU1ODFhODg4ZTIzNzhmOHAtMSwKLSAgICAweDEuZjkyNTE4cDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTkzCi0gICAgLTB4MS4yNmRiN2QwMGJiMDY3NDNmZWU1ODFhODg4ZTIzNzhmOHAtMSwKLSAgICAtMHgxLmY5MjUxOHAyNAotICB9LAotICB7IC8vIEVudHJ5IDE5NAotICAgIDB4MS5mZmZmZmZmZmZmZmZmZWJjY2Y3OGE0MzJhNjc4NThiYnAtMSwKLSAgICAweDEuZjljYmUycDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYmNjZjc4YTQzMmE2Nzg1OGJicC0xLAotICAgIC0weDEuZjljYmUycDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTYKLSAgICAtMHgxLjFmYTNiYjlhMDdlNzdmZDY2N2Y0OTM2MjJjOTAyOWZmcC0yNywKLSAgICAweDEuZjljYmUycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTcKLSAgICAweDEuMWZhM2JiOWEwN2U3N2ZkNjY3ZjQ5MzYyMmM5MDI5ZmZwLTI3LAotICAgIC0weDEuZjljYmUycDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTgKLSAgICAweDEuOWVjMjlhZjFlMTVkZDY3ZjE3ZTMyMDQ3ZDlmZjhkYjdwLTEsCi0gICAgMHgxLmZhZDE2MHAyNAotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIC0weDEuOWVjMjlhZjFlMTVkZDY3ZjE3ZTMyMDQ3ZDlmZjhkYjdwLTEsCi0gICAgLTB4MS5mYWQxNjBwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDAKLSAgICAweDEuZmJjMjc4MGY0YmY4YmMyNGQzZmNjYzE3ZjllNzdmMzJwLTEsCi0gICAgMHgxLmZlZTViYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAxCi0gICAgLTB4MS5mYmMyNzgwZjRiZjhiYzI0ZDNmY2NjMTdmOWU3N2YzMnAtMSwKLSAgICAtMHgxLmZlZTViYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAyCi0gICAgMHgxLmE4ZDdjMTAwMDVhZGE4ZjdkNDkxMmJmNjAzYTMxNWZlcC0xLAotICAgIDB4MS5mZjBjYWVwMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDMKLSAgICAtMHgxLmE4ZDdjMTAwMDVhZGE4ZjdkNDkxMmJmNjAzYTMxNWZlcC0xLAotICAgIC0weDEuZmYwY2FlcDEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA0Ci0gICAgLTB4MS41NmIwMmQwMDA0NWRhMTQ2ZTg1NWQzNzcwYzk2NDZmYXAtMSwKLSAgICAweDEuZmY4NDA2cDgwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA1Ci0gICAgMHgxLjU2YjAyZDAwMDQ1ZGExNDZlODU1ZDM3NzBjOTY0NmZhcC0xLAotICAgIC0weDEuZmY4NDA2cDgwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA2Ci0gICAgMHgxLmMwMjc0OWZmNGM0YzhmY2JiNDcxNjEwODg0ZDhlMGJkcC0zLAotICAgIDB4MS5mZjlmZmVwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDcKLSAgICAtMHgxLmMwMjc0OWZmNGM0YzhmY2JiNDcxNjEwODg0ZDhlMGJkcC0zLAotICAgIC0weDEuZmY5ZmZlcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA4Ci0gICAgLTB4MS4zODhlNzEwMDU4MzQyYWE1YjY5YWZlM2UyMDkwYTQ1N3AtMSwKLSAgICAweDEuZmZiZDU4cDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA5Ci0gICAgMHgxLjM4OGU3MTAwNTgzNDJhYTViNjlhZmUzZTIwOTBhNDU3cC0xLAotICAgIC0weDEuZmZiZDU4cDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjEwCi0gICAgMHgxLjllODA1YWVmMzI4MmQ0Y2VkNDAyNzI3MDJmMTc0ZjUzcC02LAotICAgIDB4MS5mZmRkN2VwNzIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTEKLSAgICAtMHgxLjllODA1YWVmMzI4MmQ0Y2VkNDAyNzI3MDJmMTc0ZjUzcC02LAotICAgIC0weDEuZmZkZDdlcDcyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEyCi0gICAgLTB4MS5mYjNhZWYwMTZiOGNlNjYzNzBhYjYxOTc0ZThlZTBiMnAtNiwKLSAgICAweDEuZmZkZmZlcDkxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEzCi0gICAgMHgxLmZiM2FlZjAxNmI4Y2U2NjM3MGFiNjE5NzRlOGVlMGIycC02LAotICAgIC0weDEuZmZkZmZlcDkxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE0Ci0gICAgLTB4MS5lNDMxNDhkYTUzZjQyMjM1NmVkZDNiZGJhZWYzYjJmYXAtMywKLSAgICAweDEuZmZmNzdlcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE1Ci0gICAgMHgxLmU0MzE0OGRhNTNmNDIyMzU2ZWRkM2JkYmFlZjNiMmZhcC0zLAotICAgIC0weDEuZmZmNzdlcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE2Ci0gICAgMHgxLmQ2ZTE4NjQ3NjRkMjRiNGRlMThjYjRjMTkwM2E3OTU3cC0xLAotICAgIDB4MS5mZmZlM2VwNQotICB9LAotICB7IC8vIEVudHJ5IDIxNwotICAgIC0weDEuZDZlMTg2NDc2NGQyNGI0ZGUxOGNiNGMxOTAzYTc5NTdwLTEsCi0gICAgLTB4MS5mZmZlM2VwNQotICB9LAotICB7IC8vIEVudHJ5IDIxOAotICAgIC0weDEuZmZmZjQ5YzUyZjU4NWU2NzJkNzE4NTQ0OGQ0NmU5NzdwLTEsCi0gICAgMHgxLmZmZmUzZXA0MQotICB9LAotICB7IC8vIEVudHJ5IDIxOQotICAgIDB4MS5mZmZmNDljNTJmNTg1ZTY3MmQ3MTg1NDQ4ZDQ2ZTk3N3AtMSwKLSAgICAtMHgxLmZmZmUzZXA0MQotICB9LAotICB7IC8vIEVudHJ5IDIyMAotICAgIDB4MS5hZmM2YTk5Y2JhZGU4M2I2YmU5MmIyY2E0NTE2Nzk4OHAtNSwKLSAgICAweDEuZmZmZTNlcDQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIxCi0gICAgLTB4MS5hZmM2YTk5Y2JhZGU4M2I2YmU5MmIyY2E0NTE2Nzk4OHAtNSwKLSAgICAtMHgxLmZmZmUzZXA0NQotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIC0weDEuNTNhMjllNTRiNGIxNDI4MzBkYzc5NmM5ZWQ1ZmM1OWJwLTksCi0gICAgMHgxLmZmZmU3ZXAxMDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjMKLSAgICAweDEuNTNhMjllNTRiNGIxNDI4MzBkYzc5NmM5ZWQ1ZmM1OWJwLTksCi0gICAgLTB4MS5mZmZlN2VwMTAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI0Ci0gICAgLTB4MS40N2U4OWZkNTA0N2M0Yzk0YjVjMGY2MWUzNzVmMjg0OXAtMTEsCi0gICAgMHgxLmZmZmU3ZXAxMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjUKLSAgICAweDEuNDdlODlmZDUwNDdjNGM5NGI1YzBmNjFlMzc1ZjI4NDlwLTExLAotICAgIC0weDEuZmZmZTdlcDEyNgotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIDB4MS5hNDI1NmM5MGMzNzQxMGNlOTU3YzBiMjUwMTkzNzYxOHAtOCwKLSAgICAweDEuZmZmZjhlcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjI3Ci0gICAgLTB4MS5hNDI1NmM5MGMzNzQxMGNlOTU3YzBiMjUwMTkzNzYxOHAtOCwKLSAgICAtMHgxLmZmZmY4ZXA0MAotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIC0weDEuZDJiZDg0ZjUwMThmNDBjOTRjN2Y2ZTQ1NTJlZjhlOTFwLTMsCi0gICAgMHgxLmZmZmZhNHAyMwotICB9LAotICB7IC8vIEVudHJ5IDIyOQotICAgIDB4MS5kMmJkODRmNTAxOGY0MGM5NGM3ZjZlNDU1MmVmOGU5MXAtMywKLSAgICAtMHgxLmZmZmZhNHAyMwotICB9LAotICB7IC8vIEVudHJ5IDIzMAotICAgIDB4MS5mZmFhOGNmZmQzODFlYmU3YjJkNmEzZTY5YmRhMzg4N3AtNSwKLSAgICAweDEuZmZmZmRlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgLTB4MS5mZmFhOGNmZmQzODFlYmU3YjJkNmEzZTY5YmRhMzg4N3AtNSwKLSAgICAtMHgxLmZmZmZkZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS5mYThkM2NhMjNiZTJhODRkMzdmMGMwNGU5N2JhYjVlNXAtMSwKLSAgICAweDEuZmZmZmYwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzMKLSAgICAtMHgxLmZhOGQzY2EyM2JlMmE4NGQzN2YwYzA0ZTk3YmFiNWU1cC0xLAotICAgIC0weDEuZmZmZmYwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzQKLSAgICAtMHgxLmZmOTc4ZWNkMzIwYWQyZDcwYzIwMDgyNGU0MDEwODQzcC0xLAotICAgIDB4MS5mZmZmZjBwNwotICB9LAotICB7IC8vIEVudHJ5IDIzNQotICAgIDB4MS5mZjk3OGVjZDMyMGFkMmQ3MGMyMDA4MjRlNDAxMDg0M3AtMSwKLSAgICAtMHgxLmZmZmZmMHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM2Ci0gICAgMHgxLmQxOGY3NmZmYzZlNGJhMGEzMTM0ZTViZTIxYjViYzhmcC0xLAotICAgIDB4MS5mZmZmZjZwMAotICB9LAotICB7IC8vIEVudHJ5IDIzNwotICAgIC0weDEuZDE4Zjc2ZmZjNmU0YmEwYTMxMzRlNWJlMjFiNWJjOGZwLTEsCi0gICAgLTB4MS5mZmZmZjZwMAotICB9LAotICB7IC8vIEVudHJ5IDIzOAotICAgIDB4MS5lYWVlODIwMGI4ZGJhNTEzOGY5YWRhNDJhMjJhYjMxOXAtMiwKLSAgICAweDEuZmZmZmZhcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM5Ci0gICAgLTB4MS5lYWVlODIwMGI4ZGJhNTEzOGY5YWRhNDJhMjJhYjMxOXAtMiwKLSAgICAtMHgxLmZmZmZmYXAtMgotICB9LAotICB7IC8vIEVudHJ5IDI0MAotICAgIC0weDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCi0gICAgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDEKLSAgICAweDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQyCi0gICAgLTAuMGYsCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDI0MwotICAgIDAuMGYsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ0Ci0gICAgMC4wLAotICAgIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDI0NQotICAgIDAuMGYsCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ2Ci0gICAgLTAuMGYsCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDI0NwotICAgIC0weDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKLSAgICAtMHgxLjAwMDAwMnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCi0gICAgMHgxLjAwMDAwMnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ5Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKLSAgICAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTEKLSAgICAtMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgLTB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDI1MgotICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIDB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDI1MwotICAgIDB4MS5mZmZmZmJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIDB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDI1NAotICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKLSAgICAtMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTcKLSAgICAweDEuMDAwMDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNiwKLSAgICAweDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTgKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCi0gICAgLTB4MS4wMDAwMDJwLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDI1OQotICAgIDB4MS45OTk5OTlkNDRmMzA1OGM3ODkwMTRiN2QwZTIyZmVjM3AtMTMsCi0gICAgMHgxLjk5OTk5YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAtMHgxLjk5OTk5OWQ0NGYzMDU4Yzc4OTAxNGI3ZDBlMjJmZWMzcC0xMywKLSAgICAtMHgxLjk5OTk5YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAweDEuOTk5OTk5NTEzY2MxNzNlNTFiYjk5NTViMDY2ZjFkYjhwLTEyLAotICAgIDB4MS45OTk5OWFwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYyCi0gICAgLTB4MS45OTk5OTk1MTNjYzE3M2U1MWJiOTk1NWIwNjZmMWRiOHAtMTIsCi0gICAgLTB4MS45OTk5OWFwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjYzCi0gICAgMHgxLjMzMzMzMmQ5MTY4NTMyMWU1ZmMzOTdkMjBhNWFmMWU2cC0xMSwKLSAgICAweDEuMzMzMzM0cC0xMQotICB9LAotICB7IC8vIEVudHJ5IDI2NAotICAgIC0weDEuMzMzMzMyZDkxNjg1MzIxZTVmYzM5N2QyMGE1YWYxZTZwLTExLAotICAgIC0weDEuMzMzMzM0cC0xMQotICB9LAotICB7IC8vIEVudHJ5IDI2NQotICAgIDB4MS45OTk5OTc0NGYzMDZkYzAzZTllZjcwODk3Zjc4Mjk5ZXAtMTEsCi0gICAgMHgxLjk5OTk5YXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjYKLSAgICAtMHgxLjk5OTk5NzQ0ZjMwNmRjMDNlOWVmNzA4OTdmNzgyOTllcC0xMSwKLSAgICAtMHgxLjk5OTk5YXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjcKLSAgICAweDEuZmZmZmZhYWFhYWFlZWVlZWVkNGVkNGVkYWI0YzdiZDZwLTExLAotICAgIDB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY4Ci0gICAgLTB4MS5mZmZmZmFhYWFhYWVlZWVlZWQ0ZWQ0ZWRhYjRjN2JkNnAtMTEsCi0gICAgLTB4MS5wLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY5Ci0gICAgMHgxLjMzMzMyZjY0NWExOGMzYjBjY2ZjMGEzY2Y3YjJlOTFicC0xMCwKLSAgICAweDEuMzMzMzM0cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI3MAotICAgIC0weDEuMzMzMzJmNjQ1YTE4YzNiMGNjZmMwYTNjZjdiMmU5MWJwLTEwLAotICAgIC0weDEuMzMzMzM0cC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI3MQotICAgIDB4MS42NjY2NjBhZWMzMzA4MjFjN2ExMDBjZjQ4OGMzODBlYnAtMTAsCi0gICAgMHgxLjY2NjY2OHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAtMHgxLjY2NjY2MGFlYzMzMDgyMWM3YTEwMGNmNDg4YzM4MGVicC0xMCwKLSAgICAtMHgxLjY2NjY2OHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzMKLSAgICAweDEuOTk5OTkxMTNjYzAzNDE0NGZkYmRjOGExZGM3MTMyNTNwLTEwLAotICAgIDB4MS45OTk5OWNwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc0Ci0gICAgLTB4MS45OTk5OTExM2NjMDM0MTQ0ZmRiZGM4YTFkYzcxMzI1M3AtMTAsCi0gICAgLTB4MS45OTk5OWNwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc1Ci0gICAgMHgxLmNjY2NiYzcyYjA1ZGQwOTUxYTljNWU2NTU2MGM1NmUzcC0xMCwKLSAgICAweDEuY2NjY2NjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI3NgotICAgIC0weDEuY2NjY2JjNzJiMDVkZDA5NTFhOWM1ZTY1NTYwYzU2ZTNwLTEwLAotICAgIC0weDEuY2NjY2NjcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI3NwotICAgIDB4MS4wNjY1YWUzNjE1YjViN2RlNTI3OTgwNjRkZmM1OWIyOXAtNywKLSAgICAweDEuMDY2NjY2cC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjc4Ci0gICAgLTB4MS4wNjY1YWUzNjE1YjViN2RlNTI3OTgwNjRkZmM1OWIyOXAtNywKLSAgICAtMHgxLjA2NjY2NnAtNwotICB9LAotICB7IC8vIEVudHJ5IDI3OQotICAgIDB4MS5jY2M4ZThhZTkyNTg2ZDhkNjZiNmFkMGFlZGNiMGQ5NHAtNywKLSAgICAweDEuY2NjY2NjcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjgwCi0gICAgLTB4MS5jY2M4ZThhZTkyNTg2ZDhkNjZiNmFkMGFlZGNiMGQ5NHAtNywKLSAgICAtMHgxLmNjY2NjY3AtNwotICB9LAotICB7IC8vIEVudHJ5IDI4MQotICAgIDB4MS40OTkzZTcwZjdiMTdjMTBhZjlmOTdmYzdiMzNiODIyYnAtNiwKLSAgICAweDEuNDk5OTk4cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjgyCi0gICAgLTB4MS40OTkzZTcwZjdiMTdjMTBhZjlmOTdmYzdiMzNiODIyYnAtNiwKLSAgICAtMHgxLjQ5OTk5OHAtNgotICB9LAotICB7IC8vIEVudHJ5IDI4MwotICAgIDB4MS5hY2MwNDNmOGIyZDg5YWQ1MTQzYzAzMGU5NzY2ZmMxMXAtNiwKLSAgICAweDEuYWNjY2NjcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg0Ci0gICAgLTB4MS5hY2MwNDNmOGIyZDg5YWQ1MTQzYzAzMGU5NzY2ZmMxMXAtNiwKLSAgICAtMHgxLmFjY2NjY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDI4NQotICAgIDB4MS4wN2Y0NGQ2N2NmNDFhZmJjMGM5NTEwOGI5OWY5MWIwMXAtNSwKLSAgICAweDEuMDhwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODYKLSAgICAtMHgxLjA3ZjQ0ZDY3Y2Y0MWFmYmMwYzk1MTA4Yjk5ZjkxYjAxcC01LAotICAgIC0weDEuMDhwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuMzk4NWZlYWQ0NGZhMmI4NTFlNjUxYWNiYTM2OWQ3NjlwLTUsCi0gICAgMHgxLjM5OTk5YXAtNQotICB9LAotICB7IC8vIEVudHJ5IDI4OAotICAgIC0weDEuMzk4NWZlYWQ0NGZhMmI4NTFlNjUxYWNiYTM2OWQ3NjlwLTUsCi0gICAgLTB4MS4zOTk5OWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAweDEuNmIxNGJlYjVkNDBkNzQ1MDk2MjQ3ZTU5YjYyMjgyOGJwLTUsCi0gICAgMHgxLjZiMzMzNHAtNQotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIC0weDEuNmIxNGJlYjVkNDBkNzQ1MDk2MjQ3ZTU5YjYyMjgyOGJwLTUsCi0gICAgLTB4MS42YjMzMzRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTEKLSAgICAweDEuOWNhMDE2NzFhNzk5NWZjOTdjZWJkNjk3MjljYzQzMDlwLTUsCi0gICAgMHgxLjljY2NjZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDI5MgotICAgIC0weDEuOWNhMDE2NzFhNzk5NWZjOTdjZWJkNjk3MjljYzQzMDlwLTUsCi0gICAgLTB4MS45Y2NjY2VwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTMKLSAgICAweDEuY2UyNzhjZDllYjJjYmQwYzZhNGUxMjc5ZjY5MGU4NTZwLTUsCi0gICAgMHgxLmNlNjY2NnAtNQotICB9LAotICB7IC8vIEVudHJ5IDI5NAotICAgIC0weDEuY2UyNzhjZDllYjJjYmQwYzZhNGUxMjc5ZjY5MGU4NTZwLTUsCi0gICAgLTB4MS5jZTY2NjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTUKLSAgICAweDEuNDNjMWU5OTcyMzkxYWE4ZWNkOGE5Y2NiYTkwNzkyMGFwLTEsCi0gICAgMHgxLjVlN2ZjNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIC0weDEuNDNjMWU5OTcyMzkxYWE4ZWNkOGE5Y2NiYTkwNzkyMGFwLTEsCi0gICAgLTB4MS41ZTdmYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTcKLSAgICAweDEuZWUzZDZiYjIxYzY0YjIzODJlZmNmZjBjZGYzMGNlMGJwLTEsCi0gICAgMHgxLjRlN2ZjNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk4Ci0gICAgLTB4MS5lZTNkNmJiMjFjNjRiMjM4MmVmY2ZmMGNkZjMwY2UwYnAtMSwKLSAgICAtMHgxLjRlN2ZjNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjk5Ci0gICAgMHgxLmRmOGUyMzIzZTRiZjFhNTM4YTEwMGVjMWJmMzQ5NGE5cC0xLAotICAgIDB4MS5lZGJmYTZwMAotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIC0weDEuZGY4ZTIzMjNlNGJmMWE1MzhhMTAwZWMxYmYzNDk0YTlwLTEsCi0gICAgLTB4MS5lZGJmYTZwMAotICB9LAotICB7IC8vIEVudHJ5IDMwMQotICAgIDB4MS4xZDM0N2FhMDJmZWIzYmIxNzUwZDI1NTA5NDM1ZGE4OHAtMSwKLSAgICAweDEuNDY3ZmM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDIKLSAgICAtMHgxLjFkMzQ3YWEwMmZlYjNiYjE3NTBkMjU1MDk0MzVkYTg4cC0xLAotICAgIC0weDEuNDY3ZmM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDMKLSAgICAtMHgxLmZmZWEwOGUxYzk3ZjRjNGRlMDE5NjFjYzNlN2IwNGRjcC02LAotICAgIDB4MS45NjFmYjRwMQotICB9LAotICB7IC8vIEVudHJ5IDMwNAotICAgIDB4MS5mZmVhMDhlMWM5N2Y0YzRkZTAxOTYxY2MzZTdiMDRkY3AtNiwKLSAgICAtMHgxLjk2MWZiNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA1Ci0gICAgLTB4MS4zNzM0Y2JjZWQ5YzBmNDg0ZTVmNzYyZTAwMjE2ZTYyMHAtMSwKLSAgICAweDEuZTViZmE0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAweDEuMzczNGNiY2VkOWMwZjQ4NGU1Zjc2MmUwMDIxNmU2MjBwLTEsCi0gICAgLTB4MS5lNWJmYTRwMQotICB9LAotICB7IC8vIEVudHJ5IDMwNwotICAgIC0weDEuZTlkMjU5MmJlYzEwYzNhY2IxNWM1ODUyMjM5YTJhYThwLTEsCi0gICAgMHgxLjFhYWZjYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA4Ci0gICAgMHgxLmU5ZDI1OTJiZWMxMGMzYWNiMTVjNTg1MjIzOWEyYWE4cC0xLAotICAgIC0weDEuMWFhZmNhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDkKLSAgICAtMHgxLmU0ZWNlMjA4ZDBjNDkxM2FiMDE5Y2FiMGNlOWM3ODVlcC0xLAotICAgIDB4MS40MjdmYzJwMgotICB9LAotICB7IC8vIEVudHJ5IDMxMAotICAgIDB4MS5lNGVjZTIwOGQwYzQ5MTNhYjAxOWNhYjBjZTljNzg1ZXAtMSwKLSAgICAtMHgxLjQyN2ZjMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgLTB4MS4yYTVhMDJkMzkyYjU0ZjY0MWEwZDg4YmQ0YWM2YzJlMXAtMSwKLSAgICAweDEuNmE0ZmJhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAweDEuMmE1YTAyZDM5MmI1NGY2NDFhMGQ4OGJkNGFjNmMyZTFwLTEsCi0gICAgLTB4MS42YTRmYmFwMgotICB9LAotICB7IC8vIEVudHJ5IDMxMwotICAgIC0weDEuMjYzMTIzZGYyMmQxM2VkMzI5YzY2NWM4M2MwZTcxZThwLTEsCi0gICAgMHgxLjZhZjJmMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLjI2MzEyM2RmMjJkMTNlZDMyOWM2NjVjODNjMGU3MWU4cC0xLAotICAgIC0weDEuNmFmMmYwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAtMHgxLmUxOGU2N2I1MDhmZmM5ZTQyZjZjOWU3MmY4ZTU0NWYzcC0xLAotICAgIDB4MS40M2M2MmFwMgotICB9LAotICB7IC8vIEVudHJ5IDMxNgotICAgIDB4MS5lMThlNjdiNTA4ZmZjOWU0MmY2YzllNzJmOGU1NDVmM3AtMSwKLSAgICAtMHgxLjQzYzYyYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE3Ci0gICAgLTB4MS5lZTBlODBlYzlkMTU2MmMxN2E2Y2Y2MDhhZjliMGVkNHAtMSwKLSAgICAweDEuMWM5OTY0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTgKLSAgICAweDEuZWUwZTgwZWM5ZDE1NjJjMTdhNmNmNjA4YWY5YjBlZDRwLTEsCi0gICAgLTB4MS4xYzk5NjRwMgotICB9LAotICB7IC8vIEVudHJ5IDMxOQotICAgIC0weDEuNDcyNzY4NjM3ZWE4ODY2YTY1MjA5OGE0M2FhNjg4YTZwLTEsCi0gICAgMHgxLmVhZDkzY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLjQ3Mjc2ODYzN2VhODg2NmE2NTIwOThhNDNhYTY4OGE2cC0xLAotICAgIC0weDEuZWFkOTNjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjEKLSAgICAtMHgxLjRiYTI0ZjYzMjVmMjE0MjBlN2M0OGQ0ZjkxZTI4MDY0cC00LAotICAgIDB4MS45YzdmYjBwMQotICB9LAotICB7IC8vIEVudHJ5IDMyMgotICAgIDB4MS40YmEyNGY2MzI1ZjIxNDIwZTdjNDhkNGY5MWUyODA2NHAtNCwKLSAgICAtMHgxLjljN2ZiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIzCi0gICAgMHgxLjAzNGM2NDMyOTUxNTNhYWZmZTVkOWEwZjI5ZTkyODQ0cC0xLAotICAgIDB4MS40ZTI2MjRwMQotICB9LAotICB7IC8vIEVudHJ5IDMyNAotICAgIC0weDEuMDM0YzY0MzI5NTE1M2FhZmZlNWQ5YTBmMjllOTI4NDRwLTEsCi0gICAgLTB4MS40ZTI2MjRwMQotICB9LAotICB7IC8vIEVudHJ5IDMyNQotICAgIDB4MS5kMWU0ZDk2ZWFjOTE3NTc0Yjk0OGU0ZWE5ZTM3YjM2ZHAtMSwKLSAgICAweDEuZmY5OTMycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjYKLSAgICAtMHgxLmQxZTRkOTZlYWM5MTc1NzRiOTQ4ZTRlYTllMzdiMzZkcC0xLAotICAgIC0weDEuZmY5OTMycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjcKLSAgICAweDEuZjc1MDFlMDAyYmNhZmI4OTdmOTMxOTMxZDNhNTdhZmRwLTEsCi0gICAgMHgxLjYyZTYxY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgLTB4MS5mNzUwMWUwMDJiY2FmYjg5N2Y5MzE5MzFkM2E1N2FmZHAtMSwKLSAgICAtMHgxLjYyZTYxY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI5Ci0gICAgMHgxLjY1ZjdkNjZlZjY1OTFjZmM1MWFiMjlkYzIwODZkM2U3cC0xLAotICAgIDB4MS44YzY2MmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzAKLSAgICAtMHgxLjY1ZjdkNjZlZjY1OTFjZmM1MWFiMjlkYzIwODZkM2U3cC0xLAotICAgIC0weDEuOGM2NjJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMxCi0gICAgLTB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKLSAgICAtMHgxLmE4YWExY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgMHgxLmZlMDQzZjg3NWM2ZWQ0YTJjMWI4ZDY5YTA5ZmNmNTc4cC0xLAotICAgIDB4MS5hOGFhMWNwMAotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIC0weDEuZmZmMThmMzEzZTY2ZjFhZTI1Zjg5YTVmN2ExZjg0YzRwLTEsCi0gICAgLTB4MS45NWVjOGFwMAotICB9LAotICB7IC8vIEVudHJ5IDMzNAotICAgIDB4MS5mZmYxOGYzMTNlNjZmMWFlMjVmODlhNWY3YTFmODRjNHAtMSwKLSAgICAweDEuOTVlYzhhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzUKLSAgICAtMHgxLmZmMjBkOTIwYjllOWMyMzE1NGY5N2UyZjM0MmEyODg0cC0xLAotICAgIC0weDEuODMyZWY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzYKLSAgICAweDEuZmYyMGQ5MjBiOWU5YzIzMTU0Zjk3ZTJmMzQyYTI4ODRwLTEsCi0gICAgMHgxLjgzMmVmOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM3Ci0gICAgLTB4MS5mYjkzM2I4OWQ3ZGIzMjg2ZWVkMGNmZWFiZWU5ODg3NXAtMSwKLSAgICAtMHgxLjcwNzE2NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgMHgxLmZiOTMzYjg5ZDdkYjMyODZlZWQwY2ZlYWJlZTk4ODc1cC0xLAotICAgIDB4MS43MDcxNjZwMAotICB9LAotICB7IC8vIEVudHJ5IDMzOQotICAgIC0weDEuZjU0ZDk1YzUwNThiN2RjOTk3MmFiNmY5OTI4Y2EwNDNwLTEsCi0gICAgLTB4MS41ZGIzZDRwMAotICB9LAotICB7IC8vIEVudHJ5IDM0MAotICAgIDB4MS5mNTRkOTVjNTA1OGI3ZGM5OTcyYWI2Zjk5MjhjYTA0M3AtMSwKLSAgICAweDEuNWRiM2Q0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDEKLSAgICAtMHgxLmVjNTg4MWEwOWM0NmFhZTAyMGNkOTAzNjA5OGExOTZlcC0xLAotICAgIC0weDEuNGFmNjQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDIKLSAgICAweDEuZWM1ODgxYTA5YzQ2YWFlMDIwY2Q5MDM2MDk4YTE5NmVwLTEsCi0gICAgMHgxLjRhZjY0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQzCi0gICAgLTB4MS5lMGMwNDc5NTkxOWQ5NjFhNWU4M2U1MDVkZjMxYzYyNHAtMSwKLSAgICAtMHgxLjM4MzhiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ0Ci0gICAgMHgxLmUwYzA0Nzk1OTE5ZDk2MWE1ZTgzZTUwNWRmMzFjNjI0cC0xLAotICAgIDB4MS4zODM4YjBwMAotICB9LAotICB7IC8vIEVudHJ5IDM0NQotICAgIC0weDEuZDI5NGNkZWY3Y2MxNjE2MzNhMDJkM2U2MjA1OGJlMGVwLTEsCi0gICAgLTB4MS4yNTdiMWVwMAotICB9LAotICB7IC8vIEVudHJ5IDM0NgotICAgIDB4MS5kMjk0Y2RlZjdjYzE2MTYzM2EwMmQzZTYyMDU4YmUwZXAtMSwKLSAgICAweDEuMjU3YjFlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDcKLSAgICAtMHgxLmMxZTk4OGI5NTYxNGFiZDY1ZDNkODExZjVjODgwMzlicC0xLAotICAgIC0weDEuMTJiZDkycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDgKLSAgICAweDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCi0gICAgMHgxLjEyYmQ5MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ5Ci0gICAgLTB4MS5hMmMyODk1ZWRiMGQ0YmE1MWNkYmQ1MzkwY2FjNDY4ZnAtMSwKLSAgICAtMHgxLmVhNWMzZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1MAotICAgIDB4MS5hMmMyODk1ZWRiMGQ0YmE1MWNkYmQ1MzkwY2FjNDY4ZnAtMSwKLSAgICAweDEuZWE1YzNlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUxCi0gICAgLTB4MS45NWYwNTE1MzY0NGQ2MGI5NGQyZjJlNzAwZGZkM2EzN3AtMSwKLSAgICAtMHgxLmQ0Yjg3Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM1MgotICAgIDB4MS45NWYwNTE1MzY0NGQ2MGI5NGQyZjJlNzAwZGZkM2EzN3AtMSwKLSAgICAweDEuZDRiODdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUzCi0gICAgLTB4MS44ODY0N2Q4YWQyZTQxZmI3YzBhZjBmNjQ2MTRjOTk5M3AtMSwKLSAgICAtMHgxLmJmMTRiYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS44ODY0N2Q4YWQyZTQxZmI3YzBhZjBmNjQ2MTRjOTk5M3AtMSwKLSAgICAweDEuYmYxNGJhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU1Ci0gICAgLTB4MS43YTI1M2Y5Zjg5YTdkM2U0ZjljNTQ2Mzg0MThlOTdmNnAtMSwKLSAgICAtMHgxLmE5NzBmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1NgotICAgIDB4MS43YTI1M2Y5Zjg5YTdkM2U0ZjljNTQ2Mzg0MThlOTdmNnAtMSwKLSAgICAweDEuYTk3MGY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU3Ci0gICAgLTB4MS42YjM5MWIzNGFhYjgyOGZiZTdjZDdkY2FmOWVmM2JkNnAtMSwKLSAgICAtMHgxLjkzY2QzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM1OAotICAgIDB4MS42YjM5MWIzNGFhYjgyOGZiZTdjZDdkY2FmOWVmM2JkNnAtMSwKLSAgICAweDEuOTNjZDM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU5Ci0gICAgLTB4MS41YmE2ZTJmYjk4MGQ0ODJjZjAwZWRlODBmNTU5N2ZiMnAtMSwKLSAgICAtMHgxLjdlMjk3NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS41YmE2ZTJmYjk4MGQ0ODJjZjAwZWRlODBmNTU5N2ZiMnAtMSwKLSAgICAweDEuN2UyOTc0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYxCi0gICAgLTB4MS40Yjc1YjU5NTRlNzE4MDIwOTAwNzE5ZTI1YTdlYTkzYnAtMSwKLSAgICAtMHgxLjY4ODViMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2MgotICAgIDB4MS40Yjc1YjU5NTRlNzE4MDIwOTAwNzE5ZTI1YTdlYTkzYnAtMSwKLSAgICAweDEuNjg4NWIycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYzCi0gICAgLTB4MS4zYWFjZmE1MTA4MTAwNTRjNTJhZTBiNjdkMTE2ZWI0MHAtMSwKLSAgICAtMHgxLjUyZTFmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2NAotICAgIDB4MS4zYWFjZmE1MTA4MTAwNTRjNTJhZTBiNjdkMTE2ZWI0MHAtMSwKLSAgICAweDEuNTJlMWYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY1Ci0gICAgLTB4MS4yOTU0NjQ0Y2ViOGUzYTI0NzljODNhZTg0YWY1N2QzZXAtMSwKLSAgICAtMHgxLjNkM2UzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2NgotICAgIDB4MS4yOTU0NjQ0Y2ViOGUzYTI0NzljODNhZTg0YWY1N2QzZXAtMSwKLSAgICAweDEuM2QzZTM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY3Ci0gICAgLTB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKLSAgICAtMHgxLjBhMGIwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM2OAotICAgIDB4MS5mYzc2OWFlY2QyNjVjZmVhMDhlMGZmMzBjMmZiY2FjZHAtMiwKLSAgICAweDEuMGEwYjAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY5Ci0gICAgLTB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKLSAgICAtMHgxLmQ4ZjcyMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIDB4MS5jODUzYzcwNGUzYjk0MzIyMDMxZDZiNDdhZWY4NTNjOXAtMiwKLSAgICAweDEuZDhmNzIwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzcxCi0gICAgLTB4MS45MmFiYTg5ODFiMjVkZWRhNGNjMTgxNzI1MTcyM2ExYnAtMiwKLSAgICAtMHgxLjlkZDgzY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDM3MgotICAgIDB4MS45MmFiYTg5ODFiMjVkZWRhNGNjMTgxNzI1MTcyM2ExYnAtMiwKLSAgICAweDEuOWRkODNjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzczCi0gICAgLTB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKLSAgICAtMHgxLjYyYjk1OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM3NAotICAgIDB4MS41YmFjMDVlMWUwYTdjMmRlMjgwZmNiOTNiZTY3YTRkYXAtMiwKLSAgICAweDEuNjJiOTU4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc1Ci0gICAgLTB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKLSAgICAtMHgxLjI3OWE3NHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM3NgotICAgIDB4MS4yMzgzY2EyYjI0OTgwN2Q5NTAwNWQ5NmNmZGFlY2Q2Y3AtMiwKLSAgICAweDEuMjc5YTc0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc3Ci0gICAgLTB4MS5kNGM1YmI4NzJlYTUzNzU4MzRjYTBiY2EwODhkMWQ3NXAtMywKLSAgICAtMHgxLmQ4ZjcyMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM3OAotICAgIDB4MS5kNGM1YmI4NzJlYTUzNzU4MzRjYTBiY2EwODhkMWQ3NXAtMywKLSAgICAweDEuZDhmNzIwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc5Ci0gICAgLTB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKLSAgICAtMHgxLjYyYjk1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM4MAotICAgIDB4MS42MGYzZmE0NjBiODU4MTFkMmFlNzEwY2Q2OWVjMzY5MHAtMywKLSAgICAweDEuNjJiOTU4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgxCi0gICAgLTB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKLSAgICAtMHgxLmQ4ZjcyMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDM4MgotICAgIDB4MS5kN2VhM2Q1NmUxZTYyNDRjODc4NmQ3NGYxODlkOThhY3AtNCwKLSAgICAweDEuZDhmNzIwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgzCi0gICAgLTB4MS5kOGIzZGViYTZhYzQ5M2IwNGIyMTAzYTBkYmFlZjAyZnAtNSwKLSAgICAtMHgxLmQ4ZjcyMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDM4NAotICAgIDB4MS5kOGIzZGViYTZhYzQ5M2IwNGIyMTAzYTBkYmFlZjAyZnAtNSwKLSAgICAweDEuZDhmNzIwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg1Ci0gICAgMHgxLmQ4YjNkZWJhNmFjNDkzYjA0YjIxMDNhMGRiYWVmMDJmcC01LAotICAgIDB4MS5kOGY3MjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODYKLSAgICAtMHgxLmQ4YjNkZWJhNmFjNDkzYjA0YjIxMDNhMGRiYWVmMDJmcC01LAotICAgIC0weDEuZDhmNzIwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg3Ci0gICAgMHgxLmQ3ZWEzZDU2ZTFlNjI0NGM4Nzg2ZDc0ZjE4OWQ5OGFjcC00LAotICAgIDB4MS5kOGY3MjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODgKLSAgICAtMHgxLmQ3ZWEzZDU2ZTFlNjI0NGM4Nzg2ZDc0ZjE4OWQ5OGFjcC00LAotICAgIC0weDEuZDhmNzIwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg5Ci0gICAgMHgxLjYwZjNmYTQ2MGI4NTgxMWQyYWU3MTBjZDY5ZWMzNjkwcC0zLAotICAgIDB4MS42MmI5NThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTAKLSAgICAtMHgxLjYwZjNmYTQ2MGI4NTgxMWQyYWU3MTBjZDY5ZWMzNjkwcC0zLAotICAgIC0weDEuNjJiOTU4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkxCi0gICAgMHgxLmQ0YzViYjg3MmVhNTM3NTgzNGNhMGJjYTA4OGQxZDc1cC0zLAotICAgIDB4MS5kOGY3MjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTIKLSAgICAtMHgxLmQ0YzViYjg3MmVhNTM3NTgzNGNhMGJjYTA4OGQxZDc1cC0zLAotICAgIC0weDEuZDhmNzIwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkzCi0gICAgMHgxLjIzODNjYTJiMjQ5ODA3ZDk1MDA1ZDk2Y2ZkYWVjZDZjcC0yLAotICAgIDB4MS4yNzlhNzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTQKLSAgICAtMHgxLjIzODNjYTJiMjQ5ODA3ZDk1MDA1ZDk2Y2ZkYWVjZDZjcC0yLAotICAgIC0weDEuMjc5YTc0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk1Ci0gICAgMHgxLjViYWMwNWUxZTBhN2MyZGUyODBmY2I5M2JlNjdhNGRhcC0yLAotICAgIDB4MS42MmI5NThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTYKLSAgICAtMHgxLjViYWMwNWUxZTBhN2MyZGUyODBmY2I5M2JlNjdhNGRhcC0yLAotICAgIC0weDEuNjJiOTU4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk3Ci0gICAgMHgxLjkyYWJhODk4MWIyNWRlZGE0Y2MxODE3MjUxNzIzYTFicC0yLAotICAgIDB4MS45ZGQ4M2NwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAtMHgxLjkyYWJhODk4MWIyNWRlZGE0Y2MxODE3MjUxNzIzYTFicC0yLAotICAgIC0weDEuOWRkODNjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk5Ci0gICAgMHgxLmM4NTNjNzA0ZTNiOTQzMjIwMzFkNmI0N2FlZjg1M2M5cC0yLAotICAgIDB4MS5kOGY3MjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDAKLSAgICAtMHgxLmM4NTNjNzA0ZTNiOTQzMjIwMzFkNmI0N2FlZjg1M2M5cC0yLAotICAgIC0weDEuZDhmNzIwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAxCi0gICAgMHgxLmZjNzY5YWVjZDI2NWNmZWEwOGUwZmYzMGMyZmJjYWNkcC0yLAotICAgIDB4MS4wYTBiMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDIKLSAgICAtMHgxLmZjNzY5YWVjZDI2NWNmZWEwOGUwZmYzMGMyZmJjYWNkcC0yLAotICAgIC0weDEuMGEwYjAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDAzCi0gICAgMHgxLjI5NTQ2NDRjZWI4ZTNhMjQ3OWM4M2FlODRhZjU3ZDNlcC0xLAotICAgIDB4MS4zZDNlMzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDQKLSAgICAtMHgxLjI5NTQ2NDRjZWI4ZTNhMjQ3OWM4M2FlODRhZjU3ZDNlcC0xLAotICAgIC0weDEuM2QzZTM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA1Ci0gICAgMHgxLjNhYWQwMGEwOTI2OGEzOWRmMTY1M2M3MGRiOTFmMTU3cC0xLAotICAgIDB4MS41MmUxZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDYKLSAgICAtMHgxLjNhYWQwMGEwOTI2OGEzOWRmMTY1M2M3MGRiOTFmMTU3cC0xLAotICAgIC0weDEuNTJlMWY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA3Ci0gICAgMHgxLjRiNzViYmFlMzg4YTdmMzQ2NmU3ZjJkNmJkY2Y3MmJicC0xLAotICAgIDB4MS42ODg1YmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDgKLSAgICAtMHgxLjRiNzViYmFlMzg4YTdmMzQ2NmU3ZjJkNmJkY2Y3MmJicC0xLAotICAgIC0weDEuNjg4NWJhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA5Ci0gICAgMHgxLjViYTZlOGRiMTgzMzQ3NTcxMmI5YTQyYTFhZDBkMmMycC0xLAotICAgIDB4MS43ZTI5N2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTAKLSAgICAtMHgxLjViYTZlOGRiMTgzMzQ3NTcxMmI5YTQyYTFhZDBkMmMycC0xLAotICAgIC0weDEuN2UyOTdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDExCi0gICAgMHgxLjZiMzkyMGQ4MTE3ODI4OTI4ZmUxMGFjNzBiYTY5ZTc2cC0xLAotICAgIDB4MS45M2NkM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTIKLSAgICAtMHgxLjZiMzkyMGQ4MTE3ODI4OTI4ZmUxMGFjNzBiYTY5ZTc2cC0xLAotICAgIC0weDEuOTNjZDNlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEzCi0gICAgMHgxLjdhMjU0NTA0NDMwOTg4MzZjNTIwMjM3NWRiNGI4NDYycC0xLAotICAgIDB4MS5hOTcxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE0Ci0gICAgLTB4MS43YTI1NDUwNDQzMDk4ODM2YzUyMDIzNzVkYjRiODQ2MnAtMSwKLSAgICAtMHgxLmE5NzFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTUKLSAgICAweDEuODg2NDgyYWU2Nzk3YjM4MzY0ZjVjNzJjZTlhM2I3NmZwLTEsCi0gICAgMHgxLmJmMTRjMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQxNgotICAgIC0weDEuODg2NDgyYWU2Nzk3YjM4MzY0ZjVjNzJjZTlhM2I3NmZwLTEsCi0gICAgLTB4MS5iZjE0YzJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTcKLSAgICAweDEuOTVmMDU2MzM3YWNjMWQyZDU1NzUyNTIzMmU5MTU0NjdwLTEsCi0gICAgMHgxLmQ0Yjg4NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQxOAotICAgIC0weDEuOTVmMDU2MzM3YWNjMWQyZDU1NzUyNTIzMmU5MTU0NjdwLTEsCi0gICAgLTB4MS5kNGI4ODRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTkKLSAgICAweDEuYTJjMjg5NWVkYjBkNGJhNTFjZGJkNTM5MGNhYzQ2OGZwLTEsCi0gICAgMHgxLmVhNWMzZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIC0weDEuYTJjMjg5NWVkYjBkNGJhNTFjZGJkNTM5MGNhYzQ2OGZwLTEsCi0gICAgLTB4MS5lYTVjM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjEKLSAgICAweDEuYzFlOTg4Yjk1NjE0YWJkNjVkM2Q4MTFmNWM4ODAzOWJwLTEsCi0gICAgMHgxLjEyYmQ5MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIyCi0gICAgLTB4MS5jMWU5ODhiOTU2MTRhYmQ2NWQzZDgxMWY1Yzg4MDM5YnAtMSwKLSAgICAtMHgxLjEyYmQ5MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIzCi0gICAgMHgxLmQyOTRkMmUwNmIzZDEwYTRkZTI2MzE3MmQ1MGY0NDk3cC0xLAotICAgIDB4MS4yNTdiMjRwMAotICB9LAotICB7IC8vIEVudHJ5IDQyNAotICAgIC0weDEuZDI5NGQyZTA2YjNkMTBhNGRlMjYzMTcyZDUwZjQ0OTdwLTEsCi0gICAgLTB4MS4yNTdiMjRwMAotICB9LAotICB7IC8vIEVudHJ5IDQyNQotICAgIDB4MS5lMGMwNGJiNjViZDMzMDEyYmU3MmEzNDBkZjJjMDQ0YnAtMSwKLSAgICAweDEuMzgzOGI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjYKLSAgICAtMHgxLmUwYzA0YmI2NWJkMzMwMTJiZTcyYTM0MGRmMmMwNDRicC0xLAotICAgIC0weDEuMzgzOGI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjcKLSAgICAweDEuZWM1ODg0ZWI5OTBjM2RlYWFlZWJkM2YwZjg0ZDY5NjJwLTEsCi0gICAgMHgxLjRhZjY0OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI4Ci0gICAgLTB4MS5lYzU4ODRlYjk5MGMzZGVhYWVlYmQzZjBmODRkNjk2MnAtMSwKLSAgICAtMHgxLjRhZjY0OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI5Ci0gICAgMHgxLmY1NGQ5ODM1YjBlNjZlMTc2MTIxNjAyNzI1MjFmM2IwcC0xLAotICAgIDB4MS41ZGIzZGFwMAotICB9LAotICB7IC8vIEVudHJ5IDQzMAotICAgIC0weDEuZjU0ZDk4MzViMGU2NmUxNzYxMjE2MDI3MjUyMWYzYjBwLTEsCi0gICAgLTB4MS41ZGIzZGFwMAotICB9LAotICB7IC8vIEVudHJ5IDQzMQotICAgIDB4MS5mYjkzM2QxY2Q5MzE2ODVlOTAyZTQwM2ExYmFhZWNmZHAtMSwKLSAgICAweDEuNzA3MTZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzIKLSAgICAtMHgxLmZiOTMzZDFjZDkzMTY4NWU5MDJlNDAzYTFiYWFlY2ZkcC0xLAotICAgIC0weDEuNzA3MTZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzMKLSAgICAweDEuZmYyMGQ5ZDNlODk4NGZlYzMzOTgyZTQyZjU4ODRmMmNwLTEsCi0gICAgMHgxLjgzMmVmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgLTB4MS5mZjIwZDlkM2U4OTg0ZmVjMzM5ODJlNDJmNTg4NGYyY3AtMSwKLSAgICAtMHgxLjgzMmVmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM1Ci0gICAgMHgxLmZmZjE4ZjAzYTRiN2U2YWFjZjUxZjgzOTMxZTg1MDQycC0xLAotICAgIDB4MS45NWVjOTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQzNgotICAgIC0weDEuZmZmMThmMDNhNGI3ZTZhYWNmNTFmODM5MzFlODUwNDJwLTEsCi0gICAgLTB4MS45NWVjOTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQzNwotICAgIDB4MS5mZTA0M2Y4NzVjNmVkNGEyYzFiOGQ2OWEwOWZjZjU3OHAtMSwKLSAgICAweDEuYThhYTFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAtMHgxLmZlMDQzZjg3NWM2ZWQ0YTJjMWI4ZDY5YTA5ZmNmNTc4cC0xLAotICAgIC0weDEuYThhYTFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzkKLSAgICAweDEuYjNkMzZhOTY4ODBjZjY5ZDk4ODRhNDlmNTM4MWU5MTdwLTEsCi0gICAgMHgxLjA0YWZmOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQwCi0gICAgLTB4MS5iM2QzNmE5Njg4MGNmNjlkOTg4NGE0OWY1MzgxZTkxN3AtMSwKLSAgICAtMHgxLjA0YWZmOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgMHgxLmIzZDQxYWViY2YzOTFjMzBjM2QyZjFlZTdiNzk3MTBjcC0xLAotICAgIDB4MS4wNGIwYTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MgotICAgIC0weDEuYjNkNDFhZWJjZjM5MWMzMGMzZDJmMWVlN2I3OTcxMGNwLTEsCi0gICAgLTB4MS4wNGIwYTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MwotICAgIDB4MS5iM2Q0Y2I0MDVhYjMyOTJiZTdkZjViMWI5ODAzMmZiZXAtMSwKLSAgICAweDEuMDRiMTQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDQKLSAgICAtMHgxLmIzZDRjYjQwNWFiMzI5MmJlN2RmNWIxYjk4MDMyZmJlcC0xLAotICAgIC0weDEuMDRiMTQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDUKLSAgICAweDEuYjNkNTdiOTQyYTdhZDE5ZTliOTg5MmM5MzE5ZTFiZTZwLTEsCi0gICAgMHgxLjA0YjFmMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ2Ci0gICAgLTB4MS5iM2Q1N2I5NDJhN2FkMTllOWI5ODkyYzkzMTllMWJlNnAtMSwKLSAgICAtMHgxLjA0YjFmMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ3Ci0gICAgMHgxLmIzZDYyYmU3M2U4ZmM5OThjNmMyZGY2NTkwNDI1NjEzcC0xLAotICAgIDB4MS4wNGIyOThwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0OAotICAgIC0weDEuYjNkNjJiZTczZThmYzk5OGM2YzJkZjY1OTA0MjU2MTNwLTEsCi0gICAgLTB4MS4wNGIyOThwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0OQotICAgIDB4MS5iM2Q2ZGMzOTk2ZjFjNTJhYTFmODNiZGVlMWQwZTAyM3AtMSwKLSAgICAweDEuMDRiMzQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTAKLSAgICAtMHgxLmIzZDZkYzM5OTZmMWM1MmFhMWY4M2JkZWUxZDBlMDIzcC0xLAotICAgIC0weDEuMDRiMzQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTEKLSAgICAweDEuYjNkNzhjOGIzM2EwNzg2NGI2YTg3ODU3M2RiMzRiY2FwLTEsCi0gICAgMHgxLjA0YjNlOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUyCi0gICAgLTB4MS5iM2Q3OGM4YjMzYTA3ODY0YjZhODc4NTczZGIzNGJjYXAtMSwKLSAgICAtMHgxLjA0YjNlOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUzCi0gICAgMHgxLmIzZDgzY2RjMTQ5Yjk3NTdkZjE5NWFkODg1YWI1MjAxcC0xLAotICAgIDB4MS4wNGI0OTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NAotICAgIC0weDEuYjNkODNjZGMxNDliOTc1N2RmMTk1YWQ4ODVhYjUyMDFwLTEsCi0gICAgLTB4MS4wNGI0OTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NQotICAgIDB4MS5iM2Q4ZThmOTkwODM2MGIzOGNkMTNmY2JmNjIyNGQ5M3AtMSwKLSAgICAweDEuMDRiNTM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTYKLSAgICAtMHgxLmIzZDhlOGY5OTA4MzYwYjM4Y2QxM2ZjYmY2MjI0ZDkzcC0xLAotICAgIC0weDEuMDRiNTM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTcKLSAgICAtMC4wZiwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDU4Ci0gICAgMC4wZiwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTkKLSAgICAwLjAsCi0gICAgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYwCi0gICAgMC4wZiwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjEKLSAgICAtMC4wZiwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDYyCi0gICAgMHgxLjE3NzNkMzZhNjRkZjYxZDY3MTVlNjBhZjA2MzU1OWY0cC0xLAotICAgIDB4MS4yNzlhNzJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjMKLSAgICAtMHgxLjE3NzNkMzZhNjRkZjYxZDY3MTVlNjBhZjA2MzU1OWY0cC0xLAotICAgIC0weDEuMjc5YTcycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY0Ci0gICAgMHgxLjE3NzNkNTE3NjdhNzhmZTkxYjU1ZjZiN2U1ZmQ0NGMycC0xLAotICAgIDB4MS4yNzlhNzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjUKLSAgICAtMHgxLjE3NzNkNTE3NjdhNzhmZTkxYjU1ZjZiN2U1ZmQ0NGMycC0xLAotICAgIC0weDEuMjc5YTc0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY2Ci0gICAgMHgxLjE3NzNkNmM0NmE2ZWE2ODdmMDM2MjUxOTRkMjViYjUycC0xLAotICAgIDB4MS4yNzlhNzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjcKLSAgICAtMHgxLjE3NzNkNmM0NmE2ZWE2ODdmMDM2MjUxOTRkMjViYjUycC0xLAotICAgIC0weDEuMjc5YTc2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY4Ci0gICAgMHgxLmY5NWI4ZjQwNTAxMDU3YWM0OWFjZWYxMzk5M2IwYzU1cC0xLAotICAgIDB4MS5iYjY3YWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ2OQotICAgIC0weDEuZjk1YjhmNDA1MDEwNTdhYzQ5YWNlZjEzOTkzYjBjNTVwLTEsCi0gICAgLTB4MS5iYjY3YWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ3MAotICAgIDB4MS5mOTViOGU5YmU3Mjc3MDJmNzU5NWFlMTAwMGExNGExYXAtMSwKLSAgICAweDEuYmI2N2FlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzEKLSAgICAtMHgxLmY5NWI4ZTliZTcyNzcwMmY3NTk1YWUxMDAwYTE0YTFhcC0xLAotICAgIC0weDEuYmI2N2FlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzIKLSAgICAweDEuZjk1YjhkZjc3ZTM2YTM0NDY3MGVkMDcxNDkxOTFhNThwLTEsCi0gICAgMHgxLmJiNjdiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDczCi0gICAgLTB4MS5mOTViOGRmNzdlMzZhMzQ0NjcwZWQwNzE0OTE5MWE1OHAtMSwKLSAgICAtMHgxLmJiNjdiMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc0Ci0gICAgMHgxLmIxZDgyZTgzNWE5MThkZTE4ZjVmZGFkYzhiMTI0MGNmcC0yLAotICAgIDB4MS5iZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzUKLSAgICAtMHgxLmIxZDgyZTgzNWE5MThkZTE4ZjVmZGFkYzhiMTI0MGNmcC0yLAotICAgIC0weDEuYmZmZmZlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc2Ci0gICAgMHgxLmIxZDgzMDUzMjE2MTY5NDc2ZjRkMTk4MmI5YjE0YWIxcC0yLAotICAgIDB4MS5jMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ3NwotICAgIC0weDEuYjFkODMwNTMyMTYxNjk0NzZmNGQxOTgyYjliMTRhYjFwLTIsCi0gICAgLTB4MS5jMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ3OAotICAgIDB4MS5iMWQ4MzIyMmU4MzBkODM3NDMyNThmZDA5MDQwZWU1NnAtMiwKLSAgICAweDEuYzAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc5Ci0gICAgLTB4MS5iMWQ4MzIyMmU4MzBkODM3NDMyNThmZDA5MDQwZWU1NnAtMiwKLSAgICAtMHgxLmMwMDAwMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ4MAotICAgIDB4MS40NGViMzY5MTQyODA2MmIyNzkyNWM1ODVhZDU5ZDYyYXAtMSwKLSAgICAweDEuNWZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgxCi0gICAgLTB4MS40NGViMzY5MTQyODA2MmIyNzkyNWM1ODVhZDU5ZDYyYXAtMSwKLSAgICAtMHgxLjVmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ4MgotICAgIDB4MS40NGViMzgxY2YzODZhYjA0YTRmODY1NmFiZWE4MGI4M3AtMSwKLSAgICAweDEuNjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODMKLSAgICAtMHgxLjQ0ZWIzODFjZjM4NmFiMDRhNGY4NjU2YWJlYTgwYjgzcC0xLAotICAgIC0weDEuNjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODQKLSAgICAweDEuNDRlYjM5YThhNDhiYWU2Yjk4YWUxMWM5NDAwNTM1ZTVwLTEsCi0gICAgMHgxLjYwMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ4NQotICAgIC0weDEuNDRlYjM5YThhNDhiYWU2Yjk4YWUxMWM5NDAwNTM1ZTVwLTEsCi0gICAgLTB4MS42MDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODYKLSAgICAweDEuZGFkOTAxN2I5NjQwOGMzNzVkNGZhZjBlNDc3NmQxZmNwLTEsCi0gICAgMHgxLjJmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg3Ci0gICAgLTB4MS5kYWQ5MDE3Yjk2NDA4YzM3NWQ0ZmFmMGU0Nzc2ZDFmY3AtMSwKLSAgICAtMHgxLjJmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg4Ci0gICAgMHgxLmRhZDkwMmZhOGFjODcwZjUyZjFiODQzYWM4M2JjM2VkcC0xLAotICAgIDB4MS4zMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg5Ci0gICAgLTB4MS5kYWQ5MDJmYThhYzg3MGY1MmYxYjg0M2FjODNiYzNlZHAtMSwKLSAgICAtMHgxLjMwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTAKLSAgICAweDEuZGFkOTA0Nzk3ZjQ4ZWE0ZWY0ZmQyZTQ3ZmU0ZDUyYmRwLTEsCi0gICAgMHgxLjMwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkxCi0gICAgLTB4MS5kYWQ5MDQ3OTdmNDhlYTRlZjRmZDJlNDdmZTRkNTJiZHAtMSwKLSAgICAtMHgxLjMwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkyCi0gICAgMHgxLjRiNzA4MDkzYzljYjQ1MzU1ZTc4MjFlNWFhZDk4Y2U4cC0xLAotICAgIDB4MS4zN2ZmZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDQ5MwotICAgIC0weDEuNGI3MDgwOTNjOWNiNDUzNTVlNzgyMWU1YWFkOThjZThwLTEsCi0gICAgLTB4MS4zN2ZmZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDQ5NAotICAgIDB4MS40YjcwN2E3YWNkZWNjODQyMzk0NjNlNzhiMzEyZmExMHAtMSwKLSAgICAweDEuMzhwMQotICB9LAotICB7IC8vIEVudHJ5IDQ5NQotICAgIC0weDEuNGI3MDdhN2FjZGVjYzg0MjM5NDYzZTc4YjMxMmZhMTBwLTEsCi0gICAgLTB4MS4zOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk2Ci0gICAgMHgxLjRiNzA3NDYxZDFmOTk0NDc2YzY3N2M1YWQ1ZGRiMjY0cC0xLAotICAgIDB4MS4zODAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDQ5NwotICAgIC0weDEuNGI3MDc0NjFkMWY5OTQ0NzZjNjc3YzVhZDVkZGIyNjRwLTEsCi0gICAgLTB4MS4zODAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDQ5OAotICAgIDB4MS4wNjZlN2Y3MDVhNmNhMmI5ZTEwN2Y3ZGM5ZjNiMjZlNnAtNCwKLSAgICAweDEuMDY5YzhjcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk5Ci0gICAgLTB4MS4wNjZlN2Y3MDVhNmNhMmI5ZTEwN2Y3ZGM5ZjNiMjZlNnAtNCwKLSAgICAtMHgxLjA2OWM4Y3AtNAotICB9LAotICB7IC8vIEVudHJ5IDUwMAotICAgIDB4MS4wNWU0NzZkMjdmZWJjOGI3ZTk2OTAwMDliMzY3YzMyN3AtMywKLSAgICAweDEuMDY5YzhjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAxCi0gICAgLTB4MS4wNWU0NzZkMjdmZWJjOGI3ZTk2OTAwMDliMzY3YzMyN3AtMywKLSAgICAtMHgxLjA2OWM4Y3AtMwotICB9LAotICB7IC8vIEVudHJ5IDUwMgotICAgIDB4MS44NzdlMmRlNWM5YTA2NmI4ZGI1OTVhZGMxNDlhZjBjMHAtMywKLSAgICAweDEuODllYWQycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAzCi0gICAgLTB4MS44NzdlMmRlNWM5YTA2NmI4ZGI1OTVhZGMxNDlhZjBjMHAtMywKLSAgICAtMHgxLjg5ZWFkMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDUwNAotICAgIDB4MS4wM2JlMDdhY2I5ZGFiNzE5YjQzNDNhMzNiOWZhNmFmZXAtMiwKLSAgICAweDEuMDY5YzhjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA1Ci0gICAgLTB4MS4wM2JlMDdhY2I5ZGFiNzE5YjQzNDNhMzNiOWZhNmFmZXAtMiwKLSAgICAtMHgxLjA2OWM4Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDUwNgotICAgIDB4MS40MmFiYmM1YjNiMmY5MWU4ZWNlNDZlNWVmZmQyODM2OXAtMiwKLSAgICAweDEuNDg0M2IwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA3Ci0gICAgLTB4MS40MmFiYmM1YjNiMmY5MWU4ZWNlNDZlNWVmZmQyODM2OXAtMiwKLSAgICAtMHgxLjQ4NDNiMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIDB4MS44MDQ2MDE0MTFkOTNmNDc1MDkxOTY3MDA2MWRlMDdkOXAtMiwKLSAgICAweDEuODllYWQ0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA5Ci0gICAgLTB4MS44MDQ2MDE0MTFkOTNmNDc1MDkxOTY3MDA2MWRlMDdkOXAtMiwKLSAgICAtMHgxLjg5ZWFkNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUxMAotICAgIDB4MS5iYzRjMDhhZjM1NjA4OGIxNjk0OTk1YmZhZjhhMjk3YnAtMiwKLSAgICAweDEuY2I5MWY4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgLTB4MS5iYzRjMDhhZjM1NjA4OGIxNjk0OTk1YmZhZjhhMjk3YnAtMiwKLSAgICAtMHgxLmNiOTFmOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUxMgotICAgIDB4MS5mNjdlYWUzNGRjMGI0MmI0NjVmZDJhM2ZiMDc1NjRhNHAtMiwKLSAgICAweDEuMDY5YzhlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEzCi0gICAgLTB4MS5mNjdlYWUzNGRjMGI0MmI0NjVmZDJhM2ZiMDc1NjRhNHAtMiwKLSAgICAtMHgxLjA2OWM4ZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUxNAotICAgIDB4MS4xNzUwNWM4NjIzMTg5OGZkODZiMThkMjI4MmQ5M2VlZHAtMSwKLSAgICAweDEuMjc3MDIwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE1Ci0gICAgLTB4MS4xNzUwNWM4NjIzMTg5OGZkODZiMThkMjI4MmQ5M2VlZHAtMSwKLSAgICAtMHgxLjI3NzAyMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUxNgotICAgIDB4MS4zMjNiOGU0MGQxNjU3NWU1MGRjN2I2ZTU2N2JiNTA4NHAtMSwKLSAgICAweDEuNDg0M2IycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE3Ci0gICAgLTB4MS4zMjNiOGU0MGQxNjU3NWU1MGRjN2I2ZTU2N2JiNTA4NHAtMSwKLSAgICAtMHgxLjQ4NDNiMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUxOAotICAgIDB4MS40YmU0OWIwOGExZTE2MjljYmRhYTUwN2UxODI1NWNkOHAtMSwKLSAgICAweDEuNjkxNzQ0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE5Ci0gICAgLTB4MS40YmU0OWIwOGExZTE2MjljYmRhYTUwN2UxODI1NWNkOHAtMSwKLSAgICAtMHgxLjY5MTc0NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUyMAotICAgIDB4MS42NDMwODQ3ZGJiYmZkNDZjYmViYmM2ZDVmNTFjN2M0OXAtMSwKLSAgICAweDEuODllYWQ2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIxCi0gICAgLTB4MS42NDMwODQ3ZGJiYmZkNDZjYmViYmM2ZDVmNTFjN2M0OXAtMSwKLSAgICAtMHgxLjg5ZWFkNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUyMgotICAgIDB4MS43YjA1YmI4N2IzODg0NGU1NjAwM2M0MWVmODA0YjI3M3AtMSwKLSAgICAweDEuYWFiZTY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgLTB4MS43YjA1YmI4N2IzODg0NGU1NjAwM2M0MWVmODA0YjI3M3AtMSwKLSAgICAtMHgxLmFhYmU2OHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUyNAotICAgIDB4MS45MDRjM2IzODlkNTVkM2RlZGRiMzlkMDVlYjM2NjU3MXAtMSwKLSAgICAweDEuY2I5MWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI1Ci0gICAgLTB4MS45MDRjM2IzODlkNTVkM2RlZGRiMzlkMDVlYjM2NjU3MXAtMSwKLSAgICAtMHgxLmNiOTFmYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUyNgotICAgIDB4MS5hM2VkYTIxMTc5OGE4MjY5N2Q2MjQzMWY5YWU0NmNjNHAtMSwKLSAgICAweDEuZWM2NThjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI3Ci0gICAgLTB4MS5hM2VkYTIxMTc5OGE4MjY5N2Q2MjQzMWY5YWU0NmNjNHAtMSwKLSAgICAtMHgxLmVjNjU4Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDUyOAotICAgIDB4MS5iNWQ1NDg4M2ZjYjYxMjNiYzI4YWFjOTFmMDg1ZTRlZXAtMSwKLSAgICAweDEuMDY5YzhlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjkKLSAgICAtMHgxLmI1ZDU0ODgzZmNiNjEyM2JjMjhhYWM5MWYwODVlNGVlcC0xLAotICAgIC0weDEuMDY5YzhlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAweDEuYzVmMDVhMDEzNWQ0ODgyYzc2OGNkZjE4ZTJlMTExMmNwLTEsCi0gICAgMHgxLjE3MDY1NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMxCi0gICAgLTB4MS5jNWYwNWEwMTM1ZDQ4ODJjNzY4Y2RmMThlMmUxMTEyY3AtMSwKLSAgICAtMHgxLjE3MDY1NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTMyCi0gICAgMHgxLmQ0MmRlNTNlMzE1YzgzOWNlMTg4ZTIwMTIwNWU5OWRlcC0xLAotICAgIDB4MS4yNzcwMWVwMAotICB9LAotICB7IC8vIEVudHJ5IDUzMwotICAgIC0weDEuZDQyZGU1M2UzMTVjODM5Y2UxODhlMjAxMjA1ZTk5ZGVwLTEsCi0gICAgLTB4MS4yNzcwMWVwMAotICB9LAotICB7IC8vIEVudHJ5IDUzNAotICAgIDB4MS5lMDdlZWY0NWQ5MWVlYThhNmNjNzM2OWFhMGU1NTM4OHAtMSwKLSAgICAweDEuMzdkOWU2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzUKLSAgICAtMHgxLmUwN2VlZjQ1ZDkxZWVhOGE2Y2M3MzY5YWEwZTU1Mzg4cC0xLAotICAgIC0weDEuMzdkOWU2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzYKLSAgICAweDEuZWFkNjgzM2IyYWEwMDJiYWExYzJiMTlhMzhkYzliNzlwLTEsCi0gICAgMHgxLjQ4NDNhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM3Ci0gICAgLTB4MS5lYWQ2ODMzYjJhYTAwMmJhYTFjMmIxOWEzOGRjOWI3OXAtMSwKLSAgICAtMHgxLjQ4NDNhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM4Ci0gICAgMHgxLmYzMjliZmZhNmEyMDg1OTFlZWNiNjkwNWQ3NTk0ZTNicC0xLAotICAgIDB4MS41OGFkNzZwMAotICB9LAotICB7IC8vIEVudHJ5IDUzOQotICAgIC0weDEuZjMyOWJmZmE2YTIwODU5MWVlY2I2OTA1ZDc1OTRlM2JwLTEsCi0gICAgLTB4MS41OGFkNzZwMAotICB9LAotICB7IC8vIEVudHJ5IDU0MAotICAgIDB4MS5mOTZmZTM4YWZiZDk1YjVmY2QwODYwODExMGU5MzgxZnAtMSwKLSAgICAweDEuNjkxNzNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDEKLSAgICAtMHgxLmY5NmZlMzhhZmJkOTViNWZjZDA4NjA4MTEwZTkzODFmcC0xLAotICAgIC0weDEuNjkxNzNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDIKLSAgICAweDEuZmRhMjU0NTVkOTU2Nzc3MmYyMGYyNWQxNWVmYzY3NzVwLTEsCi0gICAgMHgxLjc5ODEwNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQzCi0gICAgLTB4MS5mZGEyNTQ1NWQ5NTY3NzcyZjIwZjI1ZDE1ZWZjNjc3NXAtMSwKLSAgICAtMHgxLjc5ODEwNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ0Ci0gICAgMHgxLmZmYmNhODE2ZjFmMTUxNmVjNWQ3NTdiMGRiNTRhZTM0cC0xLAotICAgIDB4MS44OWVhY2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NQotICAgIC0weDEuZmZiY2E4MTZmMWYxNTE2ZWM1ZDc1N2IwZGI1NGFlMzRwLTEsCi0gICAgLTB4MS44OWVhY2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NgotICAgIDB4MS5mZmJjYTg4MjI4YjE2MzE4OWFiOGQ2MzdkYjk5YmQyZHAtMSwKLSAgICAweDEuOWE1NDk2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDcKLSAgICAtMHgxLmZmYmNhODgyMjhiMTYzMTg5YWI4ZDYzN2RiOTliZDJkcC0xLAotICAgIC0weDEuOWE1NDk2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAweDEuZmRhMjU1OTcwY2NkZGI5ZDEyN2VjZjYzNDAzYzJiZjdwLTEsCi0gICAgMHgxLmFhYmU1ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ5Ci0gICAgLTB4MS5mZGEyNTU5NzBjY2RkYjlkMTI3ZWNmNjM0MDNjMmJmN3AtMSwKLSAgICAtMHgxLmFhYmU1ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUwCi0gICAgMHgxLmY5NmZlNWEwZGEyNDQ0ODlmYjJmNGI5N2IzZTQ4NzU3cC0xLAotICAgIDB4MS5iYjI4MjZwMAotICB9LAotICB7IC8vIEVudHJ5IDU1MQotICAgIC0weDEuZjk2ZmU1YTBkYTI0NDQ4OWZiMmY0Yjk3YjNlNDg3NTdwLTEsCi0gICAgLTB4MS5iYjI4MjZwMAotICB9LAotICB7IC8vIEVudHJ5IDU1MgotICAgIDB4MS5mMzI5YzJlMmMxYTM5YmFkOGVjZGNiODc5NjFiYTQ0YXAtMSwKLSAgICAweDEuY2I5MWVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTMKLSAgICAtMHgxLmYzMjljMmUyYzFhMzliYWQ4ZWNkY2I4Nzk2MWJhNDRhcC0xLAotICAgIC0weDEuY2I5MWVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTQKLSAgICAweDEuZWFkNjg2ZjJlYzU3MmM4M2VkMzRhMDFmNzY0ZDE5M2VwLTEsCi0gICAgMHgxLmRiZmJiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU1Ci0gICAgLTB4MS5lYWQ2ODZmMmVjNTcyYzgzZWQzNGEwMWY3NjRkMTkzZXAtMSwKLSAgICAtMHgxLmRiZmJiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU2Ci0gICAgMHgxLmUwN2VmM2M5MWJkNTAwYTBkZTIzMGFkNTczMTYzMTYzcC0xLAotICAgIDB4MS5lYzY1N2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU1NwotICAgIC0weDEuZTA3ZWYzYzkxYmQ1MDBhMGRlMjMwYWQ1NzMxNjMxNjNwLTEsCi0gICAgLTB4MS5lYzY1N2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU1OAotICAgIDB4MS5kNDJkZWE4ODM1Yzg4YWRiOWNkZTE3MzQ3ZjkzNGUyNXAtMSwKLSAgICAweDEuZmNjZjQ2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTkKLSAgICAtMHgxLmQ0MmRlYTg4MzVjODhhZGI5Y2RlMTczNDdmOTM0ZTI1cC0xLAotICAgIC0weDEuZmNjZjQ2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAweDEuYzVmMDVlMzJjODBmYjBmZTYwMzAzM2VjMDI4YTRjMzJwLTEsCi0gICAgMHgxLjA2OWM4OHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYxCi0gICAgLTB4MS5jNWYwNWUzMmM4MGZiMGZlNjAzMDMzZWMwMjhhNGMzMnAtMSwKLSAgICAtMHgxLjA2OWM4OHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYyCi0gICAgMHgxLmI1ZDU0ZDM3MzJkM2IyZTc5ZDQ5MDdlMTE1NDAxZGRhcC0xLAotICAgIDB4MS4wZWQxNmNwMQotICB9LAotICB7IC8vIEVudHJ5IDU2MwotICAgIC0weDEuYjVkNTRkMzczMmQzYjJlNzlkNDkwN2UxMTU0MDFkZGFwLTEsCi0gICAgLTB4MS4wZWQxNmNwMQotICB9LAotICB7IC8vIEVudHJ5IDU2NAotICAgIDB4MS5hM2VkYTc0MTYxZDA2YjgzZWMyYzhkYzM5NmQ4MTNiOXAtMSwKLSAgICAweDEuMTcwNjUwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjUKLSAgICAtMHgxLmEzZWRhNzQxNjFkMDZiODNlYzJjOGRjMzk2ZDgxM2I5cC0xLAotICAgIC0weDEuMTcwNjUwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjYKLSAgICAweDEuOTA0YzQyMWVmY2U1OGY0ZTgxNzBkMzZkY2RhOGUwMmNwLTEsCi0gICAgMHgxLjFmM2IzNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY3Ci0gICAgLTB4MS45MDRjNDIxZWZjZTU4ZjRlODE3MGQzNmRjZGE4ZTAyY3AtMSwKLSAgICAtMHgxLjFmM2IzNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY4Ci0gICAgMHgxLjdiMDVjNDUwOTM5NDRkNmFmYjBjOTBkMmY5Y2IyMTdmcC0xLAotICAgIDB4MS4yNzcwMThwMQotICB9LAotICB7IC8vIEVudHJ5IDU2OQotICAgIC0weDEuN2IwNWM0NTA5Mzk0NGQ2YWZiMGM5MGQyZjljYjIxN2ZwLTEsCi0gICAgLTB4MS4yNzcwMThwMQotICB9LAotICB7IC8vIEVudHJ5IDU3MAotICAgIDB4MS42NDMwOGY1MDZmZmRhZjEzMjZkMTBiMzM4MDI3OGU5OHAtMSwKLSAgICAweDEuMmZhNGZjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzEKLSAgICAtMHgxLjY0MzA4ZjUwNmZmZGFmMTMyNmQxMGIzMzgwMjc4ZTk4cC0xLAotICAgIC0weDEuMmZhNGZjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAweDEuNGJlNGE4MDc2YzEzNWE0OGYzZjFhMWFhYTM2MjQ3NWZwLTEsCi0gICAgMHgxLjM3ZDllMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTczCi0gICAgLTB4MS40YmU0YTgwNzZjMTM1YTQ4ZjNmMWExYWFhMzYyNDc1ZnAtMSwKLSAgICAtMHgxLjM3ZDllMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc0Ci0gICAgMHgxLjMyM2I5ZDg4OGQ0ZGE3N2E2MTA4OTM3MzVlZWVkMWNicC0xLAotICAgIDB4MS40MDBlYzRwMQotICB9LAotICB7IC8vIEVudHJ5IDU3NQotICAgIC0weDEuMzIzYjlkODg4ZDRkYTc3YTYxMDg5MzczNWVlZWQxY2JwLTEsCi0gICAgLTB4MS40MDBlYzRwMQotICB9LAotICB7IC8vIEVudHJ5IDU3NgotICAgIDB4MS4xNzUwNmUyZGZiNjAzZDM0YjlhZjM5YjEyYzFkYjczNXAtMSwKLSAgICAweDEuNDg0M2E4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzcKLSAgICAtMHgxLjE3NTA2ZTJkZmI2MDNkMzRiOWFmMzliMTJjMWRiNzM1cC0xLAotICAgIC0weDEuNDg0M2E4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzgKLSAgICAweDEuZjY3ZWQ2NjczNTJkNDgyNzQ1MDAxM2YxNWUzMjFiZmJwLTIsCi0gICAgMHgxLjUwNzg4Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc5Ci0gICAgLTB4MS5mNjdlZDY2NzM1MmQ0ODI3NDUwMDEzZjE1ZTMyMWJmYnAtMiwKLSAgICAtMHgxLjUwNzg4Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgwCi0gICAgMHgxLmJjNGMzNWRhNTFlMzRiNzc2ZTVlMDRkYTU4ZjIzNDQxcC0yLAotICAgIDB4MS41OGFkNzBwMQotICB9LAotICB7IC8vIEVudHJ5IDU4MQotICAgIC0weDEuYmM0YzM1ZGE1MWUzNGI3NzZlNWUwNGRhNThmMjM0NDFwLTIsCi0gICAgLTB4MS41OGFkNzBwMQotICB9LAotICB7IC8vIEVudHJ5IDU4MgotICAgIDB4MS44MDQ2MzM2ZTY4NDI3Y2Y3NTYwNTZkM2Y0ZWRiYjY2MnAtMiwKLSAgICAweDEuNjBlMjU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODMKLSAgICAtMHgxLjgwNDYzMzZlNjg0MjdjZjc1NjA1NmQzZjRlZGJiNjYycC0yLAotICAgIC0weDEuNjBlMjU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODQKLSAgICAweDEuNDJhYmYzODcyOTA1ZTYzMmYyMDRjNDFiMjRhZjkwYjZwLTIsCi0gICAgMHgxLjY5MTczOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg1Ci0gICAgLTB4MS40MmFiZjM4NzI5MDVlNjMyZjIwNGM0MWIyNGFmOTBiNnAtMiwKLSAgICAtMHgxLjY5MTczOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg2Ci0gICAgMHgxLjAzYmU0M2M2OTlmMzUzNjk5MGRjZjVhNjY2NWFjMjM5cC0yLAotICAgIDB4MS43MTRjMWNwMQotICB9LAotICB7IC8vIEVudHJ5IDU4NwotICAgIC0weDEuMDNiZTQzYzY5OWYzNTM2OTkwZGNmNWE2NjY1YWMyMzlwLTIsCi0gICAgLTB4MS43MTRjMWNwMQotICB9LAotICB7IC8vIEVudHJ5IDU4OAotICAgIDB4MS44NzdlYWRjMmZkZmMyZjBkYjFlOGI3OGNkM2ZiZmJkMnAtMywKLSAgICAweDEuNzk4MXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg5Ci0gICAgLTB4MS44NzdlYWRjMmZkZmMyZjBkYjFlOGI3OGNkM2ZiZmJkMnAtMywKLSAgICAtMHgxLjc5ODFwMQotICB9LAotICB7IC8vIEVudHJ5IDU5MAotICAgIDB4MS4wNWU0ZmRmODQ2NjMyYTgyMDhkOTBkZTcyZDNhNmRhOHAtMywKLSAgICAweDEuODFiNWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTEKLSAgICAtMHgxLjA1ZTRmZGY4NDY2MzJhODIwOGQ5MGRlNzJkM2E2ZGE4cC0zLAotICAgIC0weDEuODFiNWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTIKLSAgICAweDEuMDY2ZjliNjMwYjcyZGZmMTY0NTBlODlhZmRmN2UwNDhwLTQsCi0gICAgMHgxLjg5ZWFjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgLTB4MS4wNjZmOWI2MzBiNzJkZmYxNjQ1MGU4OWFmZGY3ZTA0OHAtNCwKLSAgICAtMHgxLjg5ZWFjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk0Ci0gICAgMHgxLjAzYmRmMGI3OWNjZjczOTUyOWQ1NGQ0MjI4NjEwNDZjcC0yLAotICAgIC0weDEuODFiNWVlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTUKLSAgICAtMHgxLjAzYmRmMGI3OWNjZjczOTUyOWQ1NGQ0MjI4NjEwNDZjcC0yLAotICAgIDB4MS44MWI1ZWVwMgotICB9LAotICB7IC8vIEVudHJ5IDU5NgotICAgIDB4MS5mNjdlOGI5NWY1NDYwZWEzNjlhODAzODM3YjcyMWFiZHAtMiwKLSAgICAtMHgxLjcxNGMyNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk3Ci0gICAgLTB4MS5mNjdlOGI5NWY1NDYwZWEzNjlhODAzODM3YjcyMWFiZHAtMiwKLSAgICAweDEuNzE0YzI2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTgKLSAgICAweDEuNjQzMDcwNzkxNzUxZGMwNjM2ZDE4NTRkMmJkYmM1ZDRwLTEsCi0gICAgLTB4MS42MGUyNWVwMgotICB9LAotICB7IC8vIEVudHJ5IDU5OQotICAgIC0weDEuNjQzMDcwNzkxNzUxZGMwNjM2ZDE4NTRkMmJkYmM1ZDRwLTEsCi0gICAgMHgxLjYwZTI1ZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAwCi0gICAgMHgxLmI1ZDUzNmY1OTExM2E0M2FmMzBlOGM5ZGI4YTk1MWE1cC0xLAotICAgIC0weDEuNTA3ODk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDEKLSAgICAtMHgxLmI1ZDUzNmY1OTExM2E0M2FmMzBlOGM5ZGI4YTk1MWE1cC0xLAotICAgIDB4MS41MDc4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDYwMgotICAgIDB4MS5lYWQ2Nzk5ODU1NDkxNDAzMTgzNDlmNTEyZGNhN2E2YnAtMSwKLSAgICAtMHgxLjQwMGVjZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAzCi0gICAgLTB4MS5lYWQ2Nzk5ODU1NDkxNDAzMTgzNDlmNTEyZGNhN2E2YnAtMSwKLSAgICAweDEuNDAwZWNlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDQKLSAgICAweDEuZmZiY2E3MDEwZTBiMDQ1MmY1NjA3NWNmZDU5ODI4ODBwLTEsCi0gICAgLTB4MS4yZmE1MDZwMgotICB9LAotICB7IC8vIEVudHJ5IDYwNQotICAgIC0weDEuZmZiY2E3MDEwZTBiMDQ1MmY1NjA3NWNmZDU5ODI4ODBwLTEsCi0gICAgMHgxLjJmYTUwNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA2Ci0gICAgMHgxLmYzMjljYTZiZmM3NDI1ZDg5YzJiNGI5YWQ3M2FiMTA4cC0xLAotICAgIC0weDEuMWYzYjNlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDcKLSAgICAtMHgxLmYzMjljYTZiZmM3NDI1ZDg5YzJiNGI5YWQ3M2FiMTA4cC0xLAotICAgIDB4MS4xZjNiM2VwMgotICB9LAotICB7IC8vIEVudHJ5IDYwOAotICAgIDB4MS5jNWYwNmZiNjk0MjdhYzBmMmQ2OTQyOGQ4MmI1ZTY2OXAtMSwKLSAgICAtMHgxLjBlZDE3NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA5Ci0gICAgLTB4MS5jNWYwNmZiNjk0MjdhYzBmMmQ2OTQyOGQ4MmI1ZTY2OXAtMSwKLSAgICAweDEuMGVkMTc2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTAKLSAgICAweDEuN2IwNWQ4NjRlYzk4MDJhZGJjNGI1NTc3YzIzMzgzNmFwLTEsCi0gICAgLTB4MS5mY2NmNWFwMQotICB9LAotICB7IC8vIEVudHJ5IDYxMQotICAgIC0weDEuN2IwNWQ4NjRlYzk4MDJhZGJjNGI1NTc3YzIzMzgzNmFwLTEsCi0gICAgMHgxLmZjY2Y1YXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEyCi0gICAgMHgxLjE3NTA4MDgxODVhOTk4YmJjZWNjM2E2YWMwY2IyOTA3cC0xLAotICAgIC0weDEuZGJmYmM4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTMKLSAgICAtMHgxLjE3NTA4MDgxODVhOTk4YmJjZWNjM2E2YWMwY2IyOTA3cC0xLAotICAgIDB4MS5kYmZiYzhwMQotICB9LAotICB7IC8vIEVudHJ5IDYxNAotICAgIDB4MS40MmFjMGRkOTQ5NTIxMTgxNmJmMDRjYTUzYmNlNGJlYXAtMiwKLSAgICAtMHgxLmJiMjgzNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE1Ci0gICAgLTB4MS40MmFjMGRkOTQ5NTIxMTgxNmJmMDRjYTUzYmNlNGJlYXAtMiwKLSAgICAweDEuYmIyODM2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTYKLSAgICAweDEuMDY2ZmNhMzlhNzBiNTJkMDZmMmNkN2VhYjY5YzMxZjJwLTQsCi0gICAgLTB4MS45YTU0YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDYxNwotICAgIC0weDEuMDY2ZmNhMzlhNzBiNTJkMDZmMmNkN2VhYjY5YzMxZjJwLTQsCi0gICAgMHgxLjlhNTRhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE4Ci0gICAgLTB4MS44NzdkOTMxMjk4ZTZmYmM2NTRmMDY1NTM2Y2ZmMmI1NHAtMywKLSAgICAtMHgxLjc5ODExMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE5Ci0gICAgMHgxLjg3N2Q5MzEyOThlNmZiYzY1NGYwNjU1MzZjZmYyYjU0cC0zLAotICAgIDB4MS43OTgxMTJwMQotICB9LAotICB7IC8vIEVudHJ5IDYyMAotICAgIC0weDEuYmM0YmMyODc1ZWI2ZDM4ZWRhM2I0OWNiMjMyMGI1NjFwLTIsCi0gICAgLTB4MS41OGFkODBwMQotICB9LAotICB7IC8vIEVudHJ5IDYyMQotICAgIDB4MS5iYzRiYzI4NzVlYjZkMzhlZGEzYjQ5Y2IyMzIwYjU2MXAtMiwKLSAgICAweDEuNThhZDgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjIKLSAgICAtMHgxLjRiZTQ3ZDYzNTRjNGNlZDUzNzgwYjFiNTE5YWNkZWMycC0xLAotICAgIC0weDEuMzdkOWVlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjMKLSAgICAweDEuNGJlNDdkNjM1NGM0Y2VkNTM3ODBiMWI1MTlhY2RlYzJwLTEsCi0gICAgMHgxLjM3ZDllZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI0Ci0gICAgLTB4MS5hM2VkOGJjYjM1Y2JjZjhjNjA4OWY4MmE5MWMzMWQ1YnAtMSwKLSAgICAtMHgxLjE3MDY1Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI1Ci0gICAgMHgxLmEzZWQ4YmNiMzVjYmNmOGM2MDg5ZjgyYTkxYzMxZDVicC0xLAotICAgIDB4MS4xNzA2NWNwMQotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIC0weDEuZTA3ZWU0OTZlYTEwOTY1NGM0MmUxNzFmZGM0NTM3YzRwLTEsCi0gICAgLTB4MS5lYzY1OTRwMAotICB9LAotICB7IC8vIEVudHJ5IDYyNwotICAgIDB4MS5lMDdlZTQ5NmVhMTA5NjU0YzQyZTE3MWZkYzQ1MzdjNHAtMSwKLSAgICAweDEuZWM2NTk0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjgKLSAgICAtMHgxLmZkYTI1MjIyMTk2ODlkMGU4MDY5ZDkwZjVjOTY5YjkycC0xLAotICAgIC0weDEuYWFiZTcwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjkKLSAgICAweDEuZmRhMjUyMjIxOTY4OWQwZTgwNjlkOTBmNWM5NjliOTJwLTEsCi0gICAgMHgxLmFhYmU3MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMwCi0gICAgLTB4MS5mOTZmZTgwMmZlNTcwMzcyZDBmY2I2ZTkzNGI0MzA2MXAtMSwKLSAgICAtMHgxLjY5MTc0Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMxCi0gICAgMHgxLmY5NmZlODAyZmU1NzAzNzJkMGZjYjZlOTM0YjQzMDYxcC0xLAotICAgIDB4MS42OTE3NGNwMAotICB9LAotICB7IC8vIEVudHJ5IDYzMgotICAgIC0weDEuZDQyZGVkNTZhZTg4YTZlMWNmMjcwYWYyN2U2ZjE4MDRwLTEsCi0gICAgLTB4MS4yNzcwMjhwMAotICB9LAotICB7IC8vIEVudHJ5IDYzMwotICAgIDB4MS5kNDJkZWQ1NmFlODhhNmUxY2YyNzBhZjI3ZTZmMTgwNHAtMSwKLSAgICAweDEuMjc3MDI4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzQKLSAgICAtMHgxLjkwNGM0NTMyNmQ2ZGRlMjI0MzgxZDFkNTkwYWRhNDFjcC0xLAotICAgIC0weDEuY2I5MjBhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM1Ci0gICAgMHgxLjkwNGM0NTMyNmQ2ZGRlMjI0MzgxZDFkNTkwYWRhNDFjcC0xLAotICAgIDB4MS5jYjkyMGFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzYKLSAgICAtMHgxLjMyM2I5Y2FkYmIxOWU3NWE0NDQ4M2ZiNjRhZDhkZGY2cC0xLAotICAgIC0weDEuNDg0M2M0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM3Ci0gICAgMHgxLjMyM2I5Y2FkYmIxOWU3NWE0NDQ4M2ZiNjRhZDhkZGY2cC0xLAotICAgIDB4MS40ODQzYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzgKLSAgICAtMHgxLjgwNDYyNjU0YmRlNzY2ZmFmNDdmMzE0MGUyOTA5OTZkcC0yLAotICAgIC0weDEuODllYWZjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM5Ci0gICAgMHgxLjgwNDYyNjU0YmRlNzY2ZmFmNDdmMzE0MGUyOTA5OTZkcC0yLAotICAgIDB4MS44OWVhZmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDAKLSAgICAtMHgxLjA1ZTRjYTIxZjM4NmE4MmJjMmU0ZWZjZGViYjE5NjJicC0zLAotICAgIC0weDEuMDY5Y2UwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQxCi0gICAgMHgxLjA1ZTRjYTIxZjM4NmE4MmJjMmU0ZWZjZGViYjE5NjJicC0zLAotICAgIDB4MS4wNjljZTBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICAweDEuMDVlNDIzODMwYmUwMWY5ZmUzYzU3ZDA2ODY3ZTAwNTZwLTMsCi0gICAgMHgxLjA2OWMzOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDY0MwotICAgIC0weDEuMDVlNDIzODMwYmUwMWY5ZmUzYzU3ZDA2ODY3ZTAwNTZwLTMsCi0gICAgLTB4MS4wNjljMzhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDQKLSAgICAweDEuODA0NWQ4Nzg1MmYxMzA3ZmVhNmRjNzUxYzRkMTU5OTJwLTIsCi0gICAgMHgxLjg5ZWFhOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDY0NQotICAgIC0weDEuODA0NWQ4Nzg1MmYxMzA3ZmVhNmRjNzUxYzRkMTU5OTJwLTIsCi0gICAgLTB4MS44OWVhYThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDYKLSAgICAweDEuMzIzYjdiMDRlZTg4Y2ZmOThiMmExNjIwZTFmNjFhMDFwLTEsCi0gICAgMHgxLjQ4NDM5YXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY0NwotICAgIC0weDEuMzIzYjdiMDRlZTg4Y2ZmOThiMmExNjIwZTFmNjFhMDFwLTEsCi0gICAgLTB4MS40ODQzOWFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDgKLSAgICAweDEuOTA0YzJiMDJhYTU5NTI4Y2UwNDRiZjIyMTNjOTY4NTlwLTEsCi0gICAgMHgxLmNiOTFlMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY0OQotICAgIC0weDEuOTA0YzJiMDJhYTU5NTI4Y2UwNDRiZjIyMTNjOTY4NTlwLTEsCi0gICAgLTB4MS5jYjkxZTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTAKLSAgICAweDEuZDQyZGRkMjViMzc5N2U2YTY3OWY3NmUwNWU2YzNlMDhwLTEsCi0gICAgMHgxLjI3NzAxNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUxCi0gICAgLTB4MS5kNDJkZGQyNWIzNzk3ZTZhNjc5Zjc2ZTA1ZTZjM2UwOHAtMSwKLSAgICAtMHgxLjI3NzAxNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUyCi0gICAgMHgxLmY5NmZlMWEwYjEyZDBhZDRmYThjODJkOGFmOTg5YzVhcC0xLAotICAgIDB4MS42OTE3MzhwMAotICB9LAotICB7IC8vIEVudHJ5IDY1MwotICAgIC0weDEuZjk2ZmUxYTBiMTJkMGFkNGZhOGM4MmQ4YWY5ODljNWFwLTEsCi0gICAgLTB4MS42OTE3MzhwMAotICB9LAotICB7IC8vIEVudHJ5IDY1NAotICAgIDB4MS5mZGEyNTVmOTYwOTRkOGZlNGU4NTljNGNmMGRkNjhhNXAtMSwKLSAgICAweDEuYWFiZTVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTUKLSAgICAtMHgxLmZkYTI1NWY5NjA5NGQ4ZmU0ZTg1OWM0Y2YwZGQ2OGE1cC0xLAotICAgIC0weDEuYWFiZTVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTYKLSAgICAweDEuZTA3ZWYyNjc3NDhiOTgyNzc4ZjhkNTBkMjk4MWJiM2FwLTEsCi0gICAgMHgxLmVjNjU4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU3Ci0gICAgLTB4MS5lMDdlZjI2Nzc0OGI5ODI3NzhmOGQ1MGQyOTgxYmIzYXAtMSwKLSAgICAtMHgxLmVjNjU4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU4Ci0gICAgMHgxLmEzZWRhMmFkYjAxMTQzZmIyMTQ1M2IyMGJkMTc0OGZlcC0xLAotICAgIDB4MS4xNzA2NTJwMQotICB9LAotICB7IC8vIEVudHJ5IDY1OQotICAgIC0weDEuYTNlZGEyYWRiMDExNDNmYjIxNDUzYjIwYmQxNzQ4ZmVwLTEsCi0gICAgLTB4MS4xNzA2NTJwMQotICB9LAotICB7IC8vIEVudHJ5IDY2MAotICAgIDB4MS40YmU0OWJkODhhNjRhMGJiNDE0ZGRhY2FjNGZhOGRlOXAtMSwKLSAgICAweDEuMzdkOWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjEKLSAgICAtMHgxLjRiZTQ5YmQ4OGE2NGEwYmI0MTRkZGFjYWM0ZmE4ZGU5cC0xLAotICAgIC0weDEuMzdkOWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjIKLSAgICAweDEuYmM0YzBhOWIzNzgyZTIyMGFlNTU3ODYzNjljY2YxOTBwLTIsCi0gICAgMHgxLjU4YWQ3NnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYzCi0gICAgLTB4MS5iYzRjMGE5YjM3ODJlMjIwYWU1NTc4NjM2OWNjZjE5MHAtMiwKLSAgICAtMHgxLjU4YWQ3NnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY0Ci0gICAgMHgxLjg3N2UzMDFmNDNjYWZmZmU2NjQ0YTg5NThmMTA4NzI5cC0zLAotICAgIDB4MS43OTgxMDhwMQotICB9LAotICB7IC8vIEVudHJ5IDY2NQotICAgIC0weDEuODc3ZTMwMWY0M2NhZmZmZTY2NDRhODk1OGYxMDg3MjlwLTMsCi0gICAgLTB4MS43OTgxMDhwMQotICB9LAotICB7IC8vIEVudHJ5IDY2NgotICAgIC0weDEuMDY2ZThhZTFmODI0YTY5ODE3ZTZhODA2ZTYzMTdlMjhwLTQsCi0gICAgMHgxLjlhNTQ5YXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY3Ci0gICAgMHgxLjA2NmU4YWUxZjgyNGE2OTgxN2U2YTgwNmU2MzE3ZTI4cC00LAotICAgIC0weDEuOWE1NDlhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAtMHgxLjQyYWJjMWVjYTExYTBhZDEyY2E2ZWVmZjE5NzMxOGFhcC0yLAotICAgIDB4MS5iYjI4MmNwMQotICB9LAotICB7IC8vIEVudHJ5IDY2OQotICAgIDB4MS40MmFiYzFlY2ExMWEwYWQxMmNhNmVlZmYxOTczMThhYXAtMiwKLSAgICAtMHgxLmJiMjgyY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcwCi0gICAgLTB4MS4xNzUwNWVmYjgxMTk3NzNjNjQ3NDY4YmUxZGZlZTQ1ZXAtMSwKLSAgICAweDEuZGJmYmJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzEKLSAgICAweDEuMTc1MDVlZmI4MTE5NzczYzY0NzQ2OGJlMWRmZWU0NWVwLTEsCi0gICAgLTB4MS5kYmZiYmVwMQotICB9LAotICB7IC8vIEVudHJ5IDY3MgotICAgIC0weDEuN2IwNWJkODA5MWNkNzlkZmYzNTljODQxMmIwZGUxYTlwLTEsCi0gICAgMHgxLmZjY2Y1MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjczCi0gICAgMHgxLjdiMDViZDgwOTFjZDc5ZGZmMzU5Yzg0MTJiMGRlMWE5cC0xLAotICAgIC0weDEuZmNjZjUwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzQKLSAgICAtMHgxLmM1ZjA1OTgyZWFiZjAyMjc0ODk2MDk2MTY2NmQ1NDBkcC0xLAotICAgIDB4MS4wZWQxNzBwMgotICB9LAotICB7IC8vIEVudHJ5IDY3NQotICAgIDB4MS5jNWYwNTk4MmVhYmYwMjI3NDg5NjA5NjE2NjZkNTQwZHAtMSwKLSAgICAtMHgxLjBlZDE3MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc2Ci0gICAgLTB4MS5mMzI5YmZiZGE4MTIyZjgzZTNhMWVhMDI0MmViNzZhYXAtMSwKLSAgICAweDEuMWYzYjM4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzcKLSAgICAweDEuZjMyOWJmYmRhODEyMmY4M2UzYTFlYTAyNDJlYjc2YWFwLTEsCi0gICAgLTB4MS4xZjNiMzhwMgotICB9LAotICB7IC8vIEVudHJ5IDY3OAotICAgIC0weDEuZmZiY2E4OGFlOTBmMDkwMGI2ZDNhZDg5ZWRkZDJjODBwLTEsCi0gICAgMHgxLjJmYTVwMgotICB9LAotICB7IC8vIEVudHJ5IDY3OQotICAgIDB4MS5mZmJjYTg4YWU5MGYwOTAwYjZkM2FkODllZGRkMmM4MHAtMSwKLSAgICAtMHgxLjJmYTVwMgotICB9LAotICB7IC8vIEVudHJ5IDY4MAotICAgIC0weDEuZWFkNjg3NDA5Yzk1ZGNhZjYxYWY5ODUxMzUxN2Y1MDdwLTEsCi0gICAgMHgxLjQwMGVjOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgxCi0gICAgMHgxLmVhZDY4NzQwOWM5NWRjYWY2MWFmOTg1MTM1MTdmNTA3cC0xLAotICAgIC0weDEuNDAwZWM4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODIKLSAgICAtMHgxLmI1ZDU0ZmQ3OTM3MmI5MGQ1ZDRjN2FjZjdhZGFlZDQycC0xLAotICAgIDB4MS41MDc4OTBwMgotICB9LAotICB7IC8vIEVudHJ5IDY4MwotICAgIDB4MS5iNWQ1NGZkNzkzNzJiOTBkNWQ0YzdhY2Y3YWRhZWQ0MnAtMSwKLSAgICAtMHgxLjUwNzg5MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgLTB4MS42NDMwOTJmNDJhZTc5NzM3NTUzMTQyMGMwMDVjYTJjZnAtMSwKLSAgICAweDEuNjBlMjU4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODUKLSAgICAweDEuNjQzMDkyZjQyYWU3OTczNzU1MzE0MjBjMDA1Y2EyY2ZwLTEsCi0gICAgLTB4MS42MGUyNThwMgotICB9LAotICB7IC8vIEVudHJ5IDY4NgotICAgIC0weDEuZjY3ZWRmM2I3YmVlODU1NGQ1NGQ4NGVhODNmNmNiMjFwLTIsCi0gICAgMHgxLjcxNGMyMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg3Ci0gICAgMHgxLmY2N2VkZjNiN2JlZTg1NTRkNTRkODRlYTgzZjZjYjIxcC0yLAotICAgIC0weDEuNzE0YzIwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODgKLSAgICAtMHgxLjAzYmU0ZDkzZDk0OTMyNTM0MGIyZjQ2NDIwMTU0NWE3cC0yLAotICAgIDB4MS44MWI1ZThwMgotICB9LAotICB7IC8vIEVudHJ5IDY4OQotICAgIDB4MS4wM2JlNGQ5M2Q5NDkzMjUzNDBiMmY0NjQyMDE1NDVhN3AtMiwKLSAgICAtMHgxLjgxYjVlOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkwCi0gICAgMHgxLmVmYjI2Y2ZhMjBmMjA5OGZmN2U5ZTQyZjAyNjBlYjAxcC01LAotICAgIDB4MS5lZmZmZmVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTEKLSAgICAtMHgxLmVmYjI2Y2ZhMjBmMjA5OGZmN2U5ZTQyZjAyNjBlYjAxcC01LAotICAgIC0weDEuZWZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjkyCi0gICAgMHgxLmVmYjI2ZWY5MzBjNGQzZjJiMGRiZTE5MzFiYTVhZTY0cC01LAotICAgIDB4MS5mMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDY5MwotICAgIC0weDEuZWZiMjZlZjkzMGM0ZDNmMmIwZGJlMTkzMWJhNWFlNjRwLTUsCi0gICAgLTB4MS5mMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDY5NAotICAgIDB4MS5lZmIyNzBmODQwOTc5YzY1Yjc1ZWU1YzY3MDE2YTg2NnAtNSwKLSAgICAweDEuZjAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjk1Ci0gICAgLTB4MS5lZmIyNzBmODQwOTc5YzY1Yjc1ZWU1YzY3MDE2YTg2NnAtNSwKLSAgICAtMHgxLmYwMDAwMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDY5NgotICAgIDB4MS5mNmJhYTgxNmZjZTVlYTVhNjBkOGM5ZmQyYTI4OTM4MHAtNCwKLSAgICAweDEuZjdmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjk3Ci0gICAgLTB4MS5mNmJhYTgxNmZjZTVlYTVhNjBkOGM5ZmQyYTI4OTM4MHAtNCwKLSAgICAtMHgxLmY3ZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDY5OAotICAgIDB4MS5mNmJhYWExMzFkZTY0MzhlNTYxMTI3OTg2NGZlNzY2M3AtNCwKLSAgICAweDEuZjhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTkKLSAgICAtMHgxLmY2YmFhYTEzMWRlNjQzOGU1NjExMjc5ODY0ZmU3NjYzcC00LAotICAgIC0weDEuZjhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDAKLSAgICAweDEuZjZiYWFjMGYzZWU2OTRlNzYwYTEzOGJjMDZjOGJlM2RwLTQsCi0gICAgMHgxLmY4MDAwMnAtNAotICB9LAotICB7IC8vIEVudHJ5IDcwMQotICAgIC0weDEuZjZiYWFjMGYzZWU2OTRlNzYwYTEzOGJjMDZjOGJlM2RwLTQsCi0gICAgLTB4MS5mODAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDIKLSAgICAweDEuNGE4YzM5NTU1MmZiNDMyYWYzMTc4MGU4ODNjOThmNzFwLTMsCi0gICAgMHgxLjRiZmZmZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDcwMwotICAgIC0weDEuNGE4YzM5NTU1MmZiNDMyYWYzMTc4MGU4ODNjOThmNzFwLTMsCi0gICAgLTB4MS40YmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDQKLSAgICAweDEuNGE4YzNiNGU5YzdmZmZkNDgzMDVmNDRhNDJmNWY1MGZwLTMsCi0gICAgMHgxLjRjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA1Ci0gICAgLTB4MS40YThjM2I0ZTljN2ZmZmQ0ODMwNWY0NGE0MmY1ZjUwZnAtMywKLSAgICAtMHgxLjRjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA2Ci0gICAgMHgxLjRhOGMzZDQ3ZTYwNGE3ZDU0ZjNmN2RlNDAyNDA5ZTJjcC0zLAotICAgIDB4MS40YzAwMDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDcKLSAgICAtMHgxLjRhOGMzZDQ3ZTYwNGE3ZDU0ZjNmN2RlNDAyNDA5ZTJjcC0zLAotICAgIC0weDEuNGMwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA4Ci0gICAgMHgxLjJlOWNkODM2MzBlYjM1YzEyZWZjZmI4NDEzNTgzOTk4cC0yLAotICAgIDB4MS4zMzMzMzJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDkKLSAgICAtMHgxLjJlOWNkODM2MzBlYjM1YzEyZWZjZmI4NDEzNTgzOTk4cC0yLAotICAgIC0weDEuMzMzMzMycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEwCi0gICAgMHgxLjJlOWNkYTFmNTJjODgwNDI4MzNmMjM2ZmYwZjlkNDg2cC0yLAotICAgIDB4MS4zMzMzMzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTEKLSAgICAtMHgxLjJlOWNkYTFmNTJjODgwNDI4MzNmMjM2ZmYwZjlkNDg2cC0yLAotICAgIC0weDEuMzMzMzM0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEyCi0gICAgMHgxLjJlOWNkYzA4NzRhNTdmMWNhMGY5NzZhOWIwMWU0YTcxcC0yLAotICAgIDB4MS4zMzMzMzZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTMKLSAgICAtMHgxLjJlOWNkYzA4NzRhNTdmMWNhMGY5NzZhOWIwMWU0YTcxcC0yLAotICAgIC0weDEuMzMzMzM2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE0Ci0gICAgMHgxLjNmYWVmYjJiNjhlNjc4NmViNjkyYmQ0ZTQwNDUyMTNlcC0xLAotICAgIDB4MS41OTQzMTZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTUKLSAgICAtMHgxLjNmYWVmYjJiNjhlNjc4NmViNjkyYmQ0ZTQwNDUyMTNlcC0xLAotICAgIC0weDEuNTk0MzE2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE2Ci0gICAgMHgxLjNmYWVmY2JiNTdjMjZiMGQ4NGI2M2RiZmI3MmI0MTNicC0xLAotICAgIDB4MS41OTQzMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTcKLSAgICAtMHgxLjNmYWVmY2JiNTdjMjZiMGQ4NGI2M2RiZmI3MmI0MTNicC0xLAotICAgIC0weDEuNTk0MzE4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE4Ci0gICAgMHgxLjNmYWVmZTRiNDY5ZDFkZmQ1NjFlNjY2ZWRkYTdjNmU2cC0xLAotICAgIDB4MS41OTQzMWFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTkKLSAgICAtMHgxLjNmYWVmZTRiNDY5ZDFkZmQ1NjFlNjY2ZWRkYTdjNmU2cC0xLAotICAgIC0weDEuNTk0MzFhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIwCi0gICAgMHgxLjY4ODhhMzc1YWIyMjhjMWUwMzFjNDAwNTc2OTUwOWY5cC0xLAotICAgIDB4MS44ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjEKLSAgICAtMHgxLjY4ODhhMzc1YWIyMjhjMWUwMzFjNDAwNTc2OTUwOWY5cC0xLAotICAgIC0weDEuOGZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIyCi0gICAgMHgxLjY4ODhhNGUxMzRiMmVhNTIwYjIyNmVjYTg2OTRiM2EycC0xLAotICAgIDB4MS45MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyMwotICAgIC0weDEuNjg4OGE0ZTEzNGIyZWE1MjBiMjI2ZWNhODY5NGIzYTJwLTEsCi0gICAgLTB4MS45MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyNAotICAgIDB4MS42ODg4YTY0Y2JlNDFkZmZkNmU0NzY4ZGNjYTRkYjUzYnAtMSwKLSAgICAweDEuOTAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI1Ci0gICAgLTB4MS42ODg4YTY0Y2JlNDFkZmZkNmU0NzY4ZGNjYTRkYjUzYnAtMSwKLSAgICAtMHgxLjkwMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyNgotICAgIC0wLjBmLAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjcKLSAgICAwLjBmLAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDcyOAotICAgIDAuMCwKLSAgICAwLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjkKLSAgICAwLjBmLAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDczMAotICAgIC0wLjBmLAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzEKLSAgICAweDEuOTFmNjVkY2NmZWFkMzUzZDhkYjljMzJmMTIyNjI3MzBwLTUsCi0gICAgMHgxLjkyMWZiNHAtNQotICB9LAotICB7IC8vIEVudHJ5IDczMgotICAgIC0weDEuOTFmNjVkY2NmZWFkMzUzZDhkYjljMzJmMTIyNjI3MzBwLTUsCi0gICAgLTB4MS45MjFmYjRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzMKLSAgICAweDEuOTFmNjVmY2M2MGNiNmQwOWZjYzVjMzVkZDZhNzk4YzhwLTUsCi0gICAgMHgxLjkyMWZiNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDczNAotICAgIC0weDEuOTFmNjVmY2M2MGNiNmQwOWZjYzVjMzVkZDZhNzk4YzhwLTUsCi0gICAgLTB4MS45MjFmYjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzUKLSAgICAweDEuOTFmNjYxY2JjMmU5YTM0NDc1NzFmNzJiY2ZiYzIxZTJwLTUsCi0gICAgMHgxLjkyMWZiOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIC0weDEuOTFmNjYxY2JjMmU5YTM0NDc1NzFmNzJiY2ZiYzIxZTJwLTUsCi0gICAgLTB4MS45MjFmYjhwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzcKLSAgICAweDEuOTE3YTZhN2ZlODI5N2JmMGExMTI1ZmIwMmIyMDM4YWVwLTQsCi0gICAgMHgxLjkyMWZiNHAtNAotICB9LAotICB7IC8vIEVudHJ5IDczOAotICAgIC0weDEuOTE3YTZhN2ZlODI5N2JmMGExMTI1ZmIwMmIyMDM4YWVwLTQsCi0gICAgLTB4MS45MjFmYjRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzkKLSAgICAweDEuOTE3YTZjN2Q3MTAzYjlkOTBlMDk2MTUxNjQ0NDljNmJwLTQsCi0gICAgMHgxLjkyMWZiNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDc0MAotICAgIC0weDEuOTE3YTZjN2Q3MTAzYjlkOTBlMDk2MTUxNjQ0NDljNmJwLTQsCi0gICAgLTB4MS45MjFmYjZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDEKLSAgICAweDEuOTE3YTZlN2FmOWRkZjE3YjkxNGU2ZDJlOGU4M2IzM2VwLTQsCi0gICAgMHgxLjkyMWZiOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDc0MgotICAgIC0weDEuOTE3YTZlN2FmOWRkZjE3YjkxNGU2ZDJlOGU4M2IzM2VwLTQsCi0gICAgLTB4MS45MjFmYjhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDMKLSAgICAweDEuOGY4YjgyODg5Mjk2YjVjZjc5MDRkYjFlNzRiMzQ2NmJwLTMsCi0gICAgMHgxLjkyMWZiNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDc0NAotICAgIC0weDEuOGY4YjgyODg5Mjk2YjVjZjc5MDRkYjFlNzRiMzQ2NmJwLTMsCi0gICAgLTB4MS45MjFmYjRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDUKLSAgICAweDEuOGY4Yjg0N2ViYzEzYjg5OThlYzViMzdlNzA2NTM0MWVwLTMsCi0gICAgMHgxLjkyMWZiNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDc0NgotICAgIC0weDEuOGY4Yjg0N2ViYzEzYjg5OThlYzViMzdlNzA2NTM0MWVwLTMsCi0gICAgLTB4MS45MjFmYjZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDcKLSAgICAweDEuOGY4Yjg2NzRlNTkwYTI2YWVjM2VhMDFkMzBhZWQ0ODZwLTMsCi0gICAgMHgxLjkyMWZiOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDc0OAotICAgIC0weDEuOGY4Yjg2NzRlNTkwYTI2YWVjM2VhMDFkMzBhZWQ0ODZwLTMsCi0gICAgLTB4MS45MjFmYjhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDkKLSAgICAweDEuODdkZTI5M2Y1Njk3MTdhNDJhM2JkYjAxYWVhZTIwNjNwLTIsCi0gICAgMHgxLjkyMWZiNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDc1MAotICAgIC0weDEuODdkZTI5M2Y1Njk3MTdhNDJhM2JkYjAxYWVhZTIwNjNwLTIsCi0gICAgLTB4MS45MjFmYjRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTEKLSAgICAweDEuODdkZTJiMTg1ZDU0MTdkY2E4MDBiODVjYTEzMTkwNDNwLTIsCi0gICAgMHgxLjkyMWZiNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDc1MgotICAgIC0weDEuODdkZTJiMTg1ZDU0MTdkY2E4MDBiODVjYTEzMTkwNDNwLTIsCi0gICAgLTB4MS45MjFmYjZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTMKLSAgICAweDEuODdkZTJjZjE2NDEwYjYxZDlhZmY3ZTYyOGZjODUzYjJwLTIsCi0gICAgMHgxLjkyMWZiOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDc1NAotICAgIC0weDEuODdkZTJjZjE2NDEwYjYxZDlhZmY3ZTYyOGZjODUzYjJwLTIsCi0gICAgLTB4MS45MjFmYjhwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTUKLSAgICAweDEuNmEwOWU1ODJhYTM5NDU0NjFiNWE4YTA3ODdkNWFiNWJwLTEsCi0gICAgMHgxLjkyMWZiNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc1NgotICAgIC0weDEuNmEwOWU1ODJhYTM5NDU0NjFiNWE4YTA3ODdkNWFiNWJwLTEsCi0gICAgLTB4MS45MjFmYjRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTcKLSAgICAweDEuNmEwOWU2ZWNiNDFmZGQ3ZTY4MTg3MmM4NTQ4ODcwMTlwLTEsCi0gICAgMHgxLjkyMWZiNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDc1OAotICAgIC0weDEuNmEwOWU2ZWNiNDFmZGQ3ZTY4MTg3MmM4NTQ4ODcwMTlwLTEsCi0gICAgLTB4MS45MjFmYjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTkKLSAgICAweDEuNmEwOWU4NTZiZTA1MGJhY2NkZTlhNzY5NjFlODRhYTdwLTEsCi0gICAgMHgxLjkyMWZiOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc2MAotICAgIC0weDEuNmEwOWU4NTZiZTA1MGJhY2NkZTlhNzY5NjFlODRhYTdwLTEsCi0gICAgLTB4MS45MjFmYjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjEKLSAgICAweDEuZmZmZmZmZmZmZmZlNjU0NmNjMzgyMTFjMjZkYWJlZWJwLTEsCi0gICAgMHgxLjkyMWZiNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmU2NTQ2Y2MzODIxMWMyNmRhYmVlYnAtMSwKLSAgICAtMHgxLjkyMWZiNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYzCi0gICAgMHgxLmZmZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0MjI5MzBlZDgycC0xLAotICAgIDB4MS45MjFmYjZwMAotICB9LAotICB7IC8vIEVudHJ5IDc2NAotICAgIC0weDEuZmZmZmZmZmZmZmZmNzY1MjEyNDljNzQyMjkzMGVkODJwLTEsCi0gICAgLTB4MS45MjFmYjZwMAotICB9LAotICB7IC8vIEVudHJ5IDc2NQotICAgIDB4MS5mZmZmZmZmZmZmZjg4NzVkNTg1YjZkNmNmY2U5N2Q5Y3AtMSwKLSAgICAweDEuOTIxZmI4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjYKLSAgICAtMHgxLmZmZmZmZmZmZmZmODg3NWQ1ODViNmQ2Y2ZjZTk3ZDljcC0xLAotICAgIC0weDEuOTIxZmI4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjcKLSAgICAweDEuNDQ0MmQxODQ2OTg4MzFmMTViNjMxNWJmYTZiNWFlNzVwLTIzLAotICAgIDB4MS45MjFmYjRwMQotICB9LAotICB7IC8vIEVudHJ5IDc2OAotICAgIC0weDEuNDQ0MmQxODQ2OTg4MzFmMTViNjMxNWJmYTZiNWFlNzVwLTIzLAotICAgIC0weDEuOTIxZmI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjkKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlYzVmZDYxODk2Y2I0ZjQwZDFkZTc5cC0yNCwKLSAgICAweDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzAKLSAgICAweDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAotICAgIC0weDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzEKLSAgICAtMHgxLjVkZGU5NzNkY2IzNDZhZmE0NjIwM2NkZGM2ZjdmZTk3cC0yMiwKLSAgICAweDEuOTIxZmI4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzIKLSAgICAweDEuNWRkZTk3M2RjYjM0NmFmYTQ2MjAzY2RkYzZmN2ZlOTdwLTIyLAotICAgIC0weDEuOTIxZmI4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzMKLSAgICAtMHgxLjQ0NDJkMTg0Njk4NDIxNzYyODg3MmU1NmViNThiNGMxcC0yMiwKLSAgICAweDEuOTIxZmI0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAweDEuNDQ0MmQxODQ2OTg0MjE3NjI4ODcyZTU2ZWI1OGI0YzFwLTIyLAotICAgIC0weDEuOTIxZmI0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzUKLSAgICAweDEuNzc3YTVjZjcyY2VhY2JmNmVjNjU3ZTk3N2VmNzcxZjFwLTIzLAotICAgIDB4MS45MjFmYjZwMgotICB9LAotICB7IC8vIEVudHJ5IDc3NgotICAgIC0weDEuNzc3YTVjZjcyY2VhY2JmNmVjNjU3ZTk3N2VmNzcxZjFwLTIzLAotICAgIC0weDEuOTIxZmI2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzcKLSAgICAweDEuNWRkZTk3M2RjYjFmZmYxMGJiMDM4ODQ3OWU4MmY0YmJwLTIxLAotICAgIDB4MS45MjFmYjhwMgotICB9LAotICB7IC8vIEVudHJ5IDc3OAotICAgIC0weDEuNWRkZTk3M2RjYjFmZmYxMGJiMDM4ODQ3OWU4MmY0YmJwLTIxLAotICAgIC0weDEuOTIxZmI4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzkKLSAgICAtMHgxLjQ0NDJkMTg0Njk3M2RmODk1ZDE3OTEwMjNkZWQ1MTNjcC0yMSwKLSAgICAweDEuOTIxZmI0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODAKLSAgICAweDEuNDQ0MmQxODQ2OTczZGY4OTVkMTc5MTAyM2RlZDUxM2NwLTIxLAotICAgIC0weDEuOTIxZmI0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODEKLSAgICAweDEuNzc3YTVjZjcyY2U0N2M3YTNiYTA0YmMyYTYwN2E5YTdwLTIyLAotICAgIDB4MS45MjFmYjZwMwotICB9LAotICB7IC8vIEVudHJ5IDc4MgotICAgIC0weDEuNzc3YTVjZjcyY2U0N2M3YTNiYTA0YmMyYTYwN2E5YTdwLTIyLAotICAgIC0weDEuOTIxZmI2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODMKLSAgICAweDEuNWRkZTk3M2RjYWNlNGY2YThlOTBiZDE1ZTAwNjEwZjhwLTIwLAotICAgIDB4MS45MjFmYjhwMwotICB9LAotICB7IC8vIEVudHJ5IDc4NAotICAgIC0weDEuNWRkZTk3M2RjYWNlNGY2YThlOTBiZDE1ZTAwNjEwZjhwLTIwLAotICAgIC0weDEuOTIxZmI4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODUKLSAgICAtMHgxLjQ0NDJkMTg0NjkzMmQ3ZDYyZjU5MjA5Mzg4YzdmN2NhcC0yMCwKLSAgICAweDEuOTIxZmI0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODYKLSAgICAweDEuNDQ0MmQxODQ2OTMyZDdkNjJmNTkyMDkzODhjN2Y3Y2FwLTIwLAotICAgIC0weDEuOTIxZmI0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODcKLSAgICAweDEuNzc3YTVjZjcyY2NiM2U4Nzc4OGI4MTEyMjllNzI1YmNwLTIxLAotICAgIDB4MS45MjFmYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDc4OAotICAgIC0weDEuNzc3YTVjZjcyY2NiM2U4Nzc4OGI4MTEyMjllNzI1YmNwLTIxLAotICAgIC0weDEuOTIxZmI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODkKLSAgICAweDEuNWRkZTk3M2RjOTg3OTBkMWRjYzYwMmJkMWI4NmJjY2FwLTE5LAotICAgIDB4MS45MjFmYjhwNAotICB9LAotICB7IC8vIEVudHJ5IDc5MAotICAgIC0weDEuNWRkZTk3M2RjOTg3OTBkMWRjYzYwMmJkMWI4NmJjY2FwLTE5LAotICAgIC0weDEuOTIxZmI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTEKLSAgICAtMHgxLjQ0NDJkMTg0NjgyZWI5MDk3ODVmYWQxOGJjYjVkYmZjcC0xOSwKLSAgICAweDEuOTIxZmI0cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTIKLSAgICAweDEuNDQ0MmQxODQ2ODJlYjkwOTc4NWZhZDE4YmNiNWRiZmNwLTE5LAotICAgIC0weDEuOTIxZmI0cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTMKLSAgICAweDEuNzc3YTVjZjcyYzY2NDZiYzZjMzg2MDdlYjM0ZWVhMTNwLTIwLAotICAgIDB4MS45MjFmYjZwNQotICB9LAotICB7IC8vIEVudHJ5IDc5NAotICAgIC0weDEuNzc3YTVjZjcyYzY2NDZiYzZjMzg2MDdlYjM0ZWVhMTNwLTIwLAotICAgIC0weDEuOTIxZmI2cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTUKLSAgICAweDEuNWRkZTk3M2RjNDZjOTY2ZjE1YTI0MDNkNjBjZDE0ZDBwLTE4LAotICAgIDB4MS45MjFmYjhwNQotICB9LAotICB7IC8vIEVudHJ5IDc5NgotICAgIC0weDEuNWRkZTk3M2RjNDZjOTY2ZjE1YTI0MDNkNjBjZDE0ZDBwLTE4LAotICAgIC0weDEuOTIxZmI4cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTcKLSAgICAtMHgxLjQ0NDJkMTg0NjQxZTNkZDY5YzdlYzMyZTE0YTIwOWE1cC0xOCwKLSAgICAweDEuOTIxZmI0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTgKLSAgICAweDEuNDQ0MmQxODQ2NDFlM2RkNjljN2VjMzJlMTRhMjA5YTVwLTE4LAotICAgIC0weDEuOTIxZmI0cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTkKLSAgICAweDEuNzc3YTVjZjcyYWQyNjc5MDNhZWM4MTE4Nzc4YjNiNWFwLTE5LAotICAgIDB4MS45MjFmYjZwNgotICB9LAotICB7IC8vIEVudHJ5IDgwMAotICAgIC0weDEuNzc3YTVjZjcyYWQyNjc5MDNhZWM4MTE4Nzc4YjNiNWFwLTE5LAotICAgIC0weDEuOTIxZmI2cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDEKLSAgICAweDEuNWRkZTk3M2RiMDAwYWNlM2Y5ODVhNDczZWExZmMwMzlwLTE3LAotICAgIDB4MS45MjFmYjhwNgotICB9LAotICB7IC8vIEVudHJ5IDgwMgotICAgIC0weDEuNWRkZTk3M2RiMDAwYWNlM2Y5ODVhNDczZWExZmMwMzlwLTE3LAotICAgIC0weDEuOTIxZmI4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDMKLSAgICAtMHgxLjQ0NDJkMTg0NTNkYzUxMGIyZDQ5NWI4YmY3OWJkMWNlcC0xNywKLSAgICAweDEuOTIxZmI0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDQKLSAgICAweDEuNDQ0MmQxODQ1M2RjNTEwYjJkNDk1YjhiZjc5YmQxY2VwLTE3LAotICAgIC0weDEuOTIxZmI0cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDUKLSAgICAweDEuNzc3YTVjZjcyNDgyZWFkZjc1YzczMWY5NzI1MDc3MThwLTE4LAotICAgIDB4MS45MjFmYjZwNwotICB9LAotICB7IC8vIEVudHJ5IDgwNgotICAgIC0weDEuNzc3YTVjZjcyNDgyZWFkZjc1YzczMWY5NzI1MDc3MThwLTE4LAotICAgIC0weDEuOTIxZmI2cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDcKLSAgICAweDEuNWRkZTk3M2Q1ZTUxMDZiNzkwM2ExOGE1NTJhZWZjNmVwLTE2LAotICAgIDB4MS45MjFmYjhwNwotICB9LAotICB7IC8vIEVudHJ5IDgwOAotICAgIC0weDEuNWRkZTk3M2Q1ZTUxMDZiNzkwM2ExOGE1NTJhZWZjNmVwLTE2LAotICAgIC0weDEuOTIxZmI4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDkKLSAgICAweDEuNmEwOWYxOTQwYjgwYzhlMjVjZmM4YzEwZDQyNTc2YzZwLTEsCi0gICAgMHgxLjJkOTdjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODEwCi0gICAgLTB4MS42YTA5ZjE5NDBiODBjOGUyNWNmYzhjMTBkNDI1NzZjNnAtMSwKLSAgICAtMHgxLjJkOTdjNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODExCi0gICAgMHgxLjZhMDllYmViZTQwODg5MjQ1ZDU3YzVjOWQ5MGE2ZDgycC0xLAotICAgIDB4MS4yZDk3YzZwMQotICB9LAotICB7IC8vIEVudHJ5IDgxMgotICAgIC0weDEuNmEwOWViZWJlNDA4ODkyNDVkNTdjNWM5ZDkwYTZkODJwLTEsCi0gICAgLTB4MS4yZDk3YzZwMQotICB9LAotICB7IC8vIEVudHJ5IDgxMwotICAgIDB4MS42YTA5ZTY0M2JjNzlhOGM3OWVmNGJmMTg3NzI3ZTI2OXAtMSwKLSAgICAweDEuMmQ5N2M4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTQKLSAgICAtMHgxLjZhMDllNjQzYmM3OWE4Yzc5ZWY0YmYxODc3MjdlMjY5cC0xLAotICAgIC0weDEuMmQ5N2M4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTUKLSAgICAtMHgxLjZhMDlkZjE5NzA0Y2YxNDEwOGUwOTAwMGZmNjM3NGJmcC0xLAotICAgIDB4MS5mNmE3YTBwMQotICB9LAotICB7IC8vIEVudHJ5IDgxNgotICAgIDB4MS42YTA5ZGYxOTcwNGNmMTQxMDhlMDkwMDBmZjYzNzRiZnAtMSwKLSAgICAtMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODE3Ci0gICAgLTB4MS42YTA5ZTRjMTk3Zjg3YWNlMWM4MWI0MzAyMmJlMzliMXAtMSwKLSAgICAweDEuZjZhN2EycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTgKLSAgICAweDEuNmEwOWU0YzE5N2Y4N2FjZTFjODFiNDMwMjJiZTM5YjFwLTEsCi0gICAgLTB4MS5mNmE3YTJwMQotICB9LAotICB7IC8vIEVudHJ5IDgxOQotICAgIC0weDEuNmEwOWVhNjliZjhkNjNiY2U0MDk1OGY1YzRiNGYxNTVwLTEsCi0gICAgMHgxLmY2YTdhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODIwCi0gICAgMHgxLjZhMDllYTY5YmY4ZDYzYmNlNDA5NThmNWM0YjRmMTU1cC0xLAotICAgIC0weDEuZjZhN2E0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjEKLSAgICAtMHgxLmZmZmZmZmZmZmYwNjVjYjI0MGJiOGY5NTE5ZDJjNmYxcC0xLAotICAgIDB4MS4yZDk3YzRwMgotICB9LAotICB7IC8vIEVudHJ5IDgyMgotICAgIDB4MS5mZmZmZmZmZmZmMDY1Y2IyNDBiYjhmOTUxOWQyYzZmMXAtMSwKLSAgICAtMHgxLjJkOTdjNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODIzCi0gICAgLTB4MS5mZmZmZmZmZmZmYzMyOTM5ODk4ZjQ2NGFhZmMyZTc0YXAtMSwKLSAgICAweDEuMmQ5N2M2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjQKLSAgICAweDEuZmZmZmZmZmZmZmMzMjkzOTg5OGY0NjRhYWZjMmU3NGFwLTEsCi0gICAgLTB4MS4yZDk3YzZwMgotICB9LAotICB7IC8vIEVudHJ5IDgyNQotICAgIC0weDEuZmZmZmZmZmZmZmZmZjVjMGQyNjMwZWUwYTFmYjRlN2JwLTEsCi0gICAgMHgxLjJkOTdjOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODI2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmY1YzBkMjYzMGVlMGExZmI0ZTdicC0xLAotICAgIC0weDEuMmQ5N2M4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjcKLSAgICAtMHgxLjZhMDlmNTI5MzE2Y2RlNWExOTBkMjM1Y2M0Y2NiODI1cC0xLAotICAgIDB4MS41ZmRiYmNwMgotICB9LAotICB7IC8vIEVudHJ5IDgyOAotICAgIDB4MS42YTA5ZjUyOTMxNmNkZTVhMTkwZDIzNWNjNGNjYjgyNXAtMSwKLSAgICAtMHgxLjVmZGJiY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgODI5Ci0gICAgLTB4MS42YTA5ZTlkOGUyODI2NzcwNTY3ZWE4MThiMmU4OTk2MHAtMSwKLSAgICAweDEuNWZkYmJlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzAKLSAgICAweDEuNmEwOWU5ZDhlMjgyNjc3MDU2N2VhODE4YjJlODk5NjBwLTEsCi0gICAgLTB4MS41ZmRiYmVwMgotICB9LAotICB7IC8vIEVudHJ5IDgzMQotICAgIC0weDEuNmEwOWRlODg5MzNkNmUwYzFkYjc4ZTFkN2NkMTUxNzNwLTEsCi0gICAgMHgxLjVmZGJjMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODMyCi0gICAgMHgxLjZhMDlkZTg4OTMzZDZlMGMxZGI3OGUxZDdjZDE1MTczcC0xLAotICAgIC0weDEuNWZkYmMwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzMKLSAgICAweDEuNmEwOWQwMzNmYTcxNWE0MDdhNmYwM2QwMWI5MTExM2ZwLTEsCi0gICAgMHgxLmM0NjNhOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODM0Ci0gICAgLTB4MS42YTA5ZDAzM2ZhNzE1YTQwN2E2ZjAzZDAxYjkxMTEzZnAtMSwKLSAgICAtMHgxLmM0NjNhOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODM1Ci0gICAgMHgxLjZhMDlkYjg0NGEyOGY4NjM1ODUxZmRmODgxODUxNWVmcC0xLAotICAgIDB4MS5jNDYzYWFwMgotICB9LAotICB7IC8vIEVudHJ5IDgzNgotICAgIC0weDEuNmEwOWRiODQ0YTI4Zjg2MzU4NTFmZGY4ODE4NTE1ZWZwLTEsCi0gICAgLTB4MS5jNDYzYWFwMgotICB9LAotICB7IC8vIEVudHJ5IDgzNwotICAgIDB4MS42YTA5ZTZkNDk5ODYxNDBmNTUyMjZmYzU4NjcyNjEyY3AtMSwKLSAgICAweDEuYzQ2M2FjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzgKLSAgICAtMHgxLjZhMDllNmQ0OTk4NjE0MGY1NTIyNmZjNTg2NzI2MTJjcC0xLAotICAgIC0weDEuYzQ2M2FjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzkKLSAgICAweDEuZmZmZmZmZmZmZjk1Mzk3OTM0Y2FjMWYyODUzMmQzZDNwLTEsCi0gICAgMHgxLmY2YTdhMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODQwCi0gICAgLTB4MS5mZmZmZmZmZmZmOTUzOTc5MzRjYWMxZjI4NTMyZDNkM3AtMSwKLSAgICAtMHgxLmY2YTdhMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODQxCi0gICAgMHgxLmZmZmZmZmZmZmZmYThlNWFhZTJiYjkzYWU1OTBmOTg0cC0xLAotICAgIDB4MS5mNmE3YTJwMgotICB9LAotICB7IC8vIEVudHJ5IDg0MgotICAgIC0weDEuZmZmZmZmZmZmZmZhOGU1YWFlMmJiOTNhZTU5MGY5ODRwLTEsCi0gICAgLTB4MS5mNmE3YTJwMgotICB9LAotICB7IC8vIEVudHJ5IDg0MwotICAgIDB4MS5mZmZmZmZmZmZmZGZlMzNjMjc4Y2I0OGE1OWVlM2VmMnAtMSwKLSAgICAweDEuZjZhN2E0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDQKLSAgICAtMHgxLmZmZmZmZmZmZmZkZmUzM2MyNzhjYjQ4YTU5ZWUzZWYycC0xLAotICAgIC0weDEuZjZhN2E0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDUKLSAgICAweDEuNmEwYTA0MGVhNWMzMmJhNGFmYmViODZhNjE0YzVkMTZwLTEsCi0gICAgMHgxLjE0NzVjYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ2Ci0gICAgLTB4MS42YTBhMDQwZWE1YzMyYmE0YWZiZWI4NmE2MTRjNWQxNnAtMSwKLSAgICAtMHgxLjE0NzVjYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ3Ci0gICAgMHgxLjZhMDllZDZlMDg4MjEyYjFlMjYwYTUxMzJkNjk1OWI3cC0xLAotICAgIDB4MS4xNDc1Y2NwMwotICB9LAotICB7IC8vIEVudHJ5IDg0OAotICAgIC0weDEuNmEwOWVkNmUwODgyMTJiMWUyNjBhNTEzMmQ2OTU5YjdwLTEsCi0gICAgLTB4MS4xNDc1Y2NwMwotICB9LAotICB7IC8vIEVudHJ5IDg0OQotICAgIDB4MS42YTA5ZDZjZDY5ZDZlZmQxYTZmYTJkZDRjNjE3Y2JiZXAtMSwKLSAgICAweDEuMTQ3NWNlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTAKLSAgICAtMHgxLjZhMDlkNmNkNjlkNmVmZDFhNmZhMmRkNGM2MTdjYmJlcC0xLAotICAgIC0weDEuMTQ3NWNlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTEKLSAgICAweDEuZjk5OTBlOTFhNjRhZTQ4Njc1Nzg3OGJkZmVlMGY3MDNwLTIwLAotICAgIDB4MS4yZDk3YzRwMwotICB9LAotICB7IC8vIEVudHJ5IDg1MgotICAgIC0weDEuZjk5OTBlOTFhNjRhZTQ4Njc1Nzg3OGJkZmVlMGY3MDNwLTIwLAotICAgIC0weDEuMmQ5N2M0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTMKLSAgICAweDEuZjMzMjFkMjM0ZWQ4MTI4YWFiYjA0OTlhNDNiNGRlZjJwLTIxLAotICAgIDB4MS4yZDk3YzZwMwotICB9LAotICB7IC8vIEVudHJ5IDg1NAotICAgIC0weDEuZjMzMjFkMjM0ZWQ4MTI4YWFiYjA0OTlhNDNiNGRlZjJwLTIxLAotICAgIC0weDEuMmQ5N2M2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTUKLSAgICAtMHgxLjk5YmM1Yjk2MWIxYWMyOTZkYmUxOTgwZmQyYzg5MGEwcC0yNiwKLSAgICAweDEuMmQ5N2M4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTYKLSAgICAweDEuOTliYzViOTYxYjFhYzI5NmRiZTE5ODBmZDJjODkwYTBwLTI2LAotICAgIC0weDEuMmQ5N2M4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTcKLSAgICAtMHgxLjZhMDljMTRlODNmOGRiMDgwZDEyMjNmODg3Y2MxMmVjcC0xLAotICAgIDB4MS40NmI5YzBwMwotICB9LAotICB7IC8vIEVudHJ5IDg1OAotICAgIDB4MS42YTA5YzE0ZTgzZjhkYjA4MGQxMjIzZjg4N2NjMTJlY3AtMSwKLSAgICAtMHgxLjQ2YjljMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODU5Ci0gICAgLTB4MS42YTA5ZDdlZjIzZmJlYzFlZDgxMmU4MDdiZWIwNDkyZnAtMSwKLSAgICAweDEuNDZiOWMycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjAKLSAgICAweDEuNmEwOWQ3ZWYyM2ZiZWMxZWQ4MTJlODA3YmViMDQ5MmZwLTEsCi0gICAgLTB4MS40NmI5YzJwMwotICB9LAotICB7IC8vIEVudHJ5IDg2MQotICAgIC0weDEuNmEwOWVlOGZjMjk0ZjM1ZGIzZWZjZTU2NTM2NWFmODlwLTEsCi0gICAgMHgxLjQ2YjljNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODYyCi0gICAgMHgxLjZhMDllZThmYzI5NGYzNWRiM2VmY2U1NjUzNjVhZjg5cC0xLAotICAgIC0weDEuNDZiOWM0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjMKLSAgICAtMHgxLmZmZmZmZmZmZmU0Yzk2YjM5N2Q5NTFjYjIxODYxYzk1cC0xLAotICAgIDB4MS41ZmRiYmNwMwotICB9LAotICB7IC8vIEVudHJ5IDg2NAotICAgIDB4MS5mZmZmZmZmZmZlNGM5NmIzOTdkOTUxY2IyMTg2MWM5NXAtMSwKLSAgICAtMHgxLjVmZGJiY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZTg1MTJhZWJiNTZjOWU3NWI0MTk0MXAtMSwKLSAgICAweDEuNWZkYmJlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjYKLSAgICAweDEuZmZmZmZmZmZmZmU4NTEyYWViYjU2YzllNzViNDE5NDFwLTEsCi0gICAgLTB4MS41ZmRiYmVwMwotICB9LAotICB7IC8vIEVudHJ5IDg2NwotICAgIC0weDEuZmZmZmZmZmZmZjg0MGJhMjNmOTFjOWNiNDlhMTBiMjdwLTEsCi0gICAgMHgxLjVmZGJjMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY4Ci0gICAgMHgxLmZmZmZmZmZmZmY4NDBiYTIzZjkxYzljYjQ5YTEwYjI3cC0xLAotICAgIC0weDEuNWZkYmMwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjkKLSAgICAtMHgxLjZhMGExMmY0MTk3YzkwYTBlZTRhMDk0YjYzNzdhYTIzcC0xLAotICAgIDB4MS43OGZkYjZwMwotICB9LAotICB7IC8vIEVudHJ5IDg3MAotICAgIDB4MS42YTBhMTJmNDE5N2M5MGEwZWU0YTA5NGI2Mzc3YWEyM3AtMSwKLSAgICAtMHgxLjc4ZmRiNnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODcxCi0gICAgLTB4MS42YTA5ZmM1MzdkMjljZjEzMWQ2NzEwOTkxYmViYWJlZHAtMSwKLSAgICAweDEuNzhmZGI4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzIKLSAgICAweDEuNmEwOWZjNTM3ZDI5Y2YxMzFkNjcxMDk5MWJlYmFiZWRwLTEsCi0gICAgLTB4MS43OGZkYjhwMwotICB9LAotICB7IC8vIEVudHJ5IDg3MwotICAgIC0weDEuNmEwOWU1YjJkZjZkMDM4OGY5MDcwYzQzNDBmM2U2NjlwLTEsCi0gICAgMHgxLjc4ZmRiYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc0Ci0gICAgMHgxLjZhMDllNWIyZGY2ZDAzODhmOTA3MGM0MzQwZjNlNjY5cC0xLAotICAgIC0weDEuNzhmZGJhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzUKLSAgICAweDEuNmEwOWM5MDlhZGQ0ZGJmMzIyNTNhMzlkNWMzMDYzMDhwLTEsCi0gICAgMHgxLmFiNDFhZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc2Ci0gICAgLTB4MS42YTA5YzkwOWFkZDRkYmYzMjI1M2EzOWQ1YzMwNjMwOHAtMSwKLSAgICAtMHgxLmFiNDFhZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc3Ci0gICAgMHgxLjZhMDlkZmFhNGQ1YzNhN2YwNTZmM2U2MWEzNjViMjllcC0xLAotICAgIDB4MS5hYjQxYjBwMwotICB9LAotICB7IC8vIEVudHJ5IDg3OAotICAgIC0weDEuNmEwOWRmYWE0ZDVjM2E3ZjA1NmYzZTYxYTM2NWIyOWVwLTEsCi0gICAgLTB4MS5hYjQxYjBwMwotICB9LAotICB7IC8vIEVudHJ5IDg3OQotICAgIDB4MS42YTA5ZjY0YWViNzk4ZjJiM2UzZDliMTZlOGUzYzQxMnAtMSwKLSAgICAweDEuYWI0MWIycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODAKLSAgICAtMHgxLjZhMDlmNjRhZWI3OThmMmIzZTNkOWIxNmU4ZTNjNDEycC0xLAotICAgIC0weDEuYWI0MWIycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODEKLSAgICAweDEuZmZmZmZmZmZmYzI2MGQ2ZmZiOGY0Y2Q4YWIzZmQwMjBwLTEsCi0gICAgMHgxLmM0NjNhOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODgyCi0gICAgLTB4MS5mZmZmZmZmZmZjMjYwZDZmZmI4ZjRjZDhhYjNmZDAyMHAtMSwKLSAgICAtMHgxLmM0NjNhOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODgzCi0gICAgMHgxLmZmZmZmZmZmZmYxMmQ4OWJiMDg0ZGQ3NjI4NDhiM2Q2cC0xLAotICAgIDB4MS5jNDYzYWFwMwotICB9LAotICB7IC8vIEVudHJ5IDg4NAotICAgIC0weDEuZmZmZmZmZmZmZjEyZDg5YmIwODRkZDc2Mjg0OGIzZDZwLTEsCi0gICAgLTB4MS5jNDYzYWFwMwotICB9LAotICB7IC8vIEVudHJ5IDg4NQotICAgIDB4MS5mZmZmZmZmZmZmZmZhM2M3NjU3Yjg1ZTViNDRiYmQ0NHAtMSwKLSAgICAweDEuYzQ2M2FjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmEzYzc2NTdiODVlNWI0NGJiZDQ0cC0xLAotICAgIC0weDEuYzQ2M2FjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODcKLSAgICAweDEuNmEwYTBiMzhmMTM0YTMyOTVhMGIzODZlNDJmMWNhN2FwLTEsCi0gICAgMHgxLmRkODVhNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODg4Ci0gICAgLTB4MS42YTBhMGIzOGYxMzRhMzI5NWEwYjM4NmU0MmYxY2E3YXAtMSwKLSAgICAtMHgxLmRkODVhNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODg5Ci0gICAgMHgxLjZhMDlmNDk4NTQ2NjJlZmYxYjM1NzU1YTEyOTA0NGE3cC0xLAotICAgIDB4MS5kZDg1YTZwMwotICB9LAotICB7IC8vIEVudHJ5IDg5MAotICAgIC0weDEuNmEwOWY0OTg1NDY2MmVmZjFiMzU3NTVhMTI5MDQ0YTdwLTEsCi0gICAgLTB4MS5kZDg1YTZwMwotICB9LAotICB7IC8vIEVudHJ5IDg5MQotICAgIDB4MS42YTA5ZGRmN2I2MmRiMGUwNDQwYjZhNDI2MjIwM2IxMXAtMSwKLSAgICAweDEuZGQ4NWE4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTIKLSAgICAtMHgxLjZhMDlkZGY3YjYyZGIwZTA0NDBiNmE0MjYyMjAzYjExcC0xLAotICAgIC0weDEuZGQ4NWE4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTMKLSAgICAweDEuNGFhOWMyZjJjMTlhMDYyYjE4YTAxN2JjZDU0MjRmZWFwLTIwLAotICAgIDB4MS5mNmE3YTBwMwotICB9LAotICB7IC8vIEVudHJ5IDg5NAotICAgIC0weDEuNGFhOWMyZjJjMTlhMDYyYjE4YTAxN2JjZDU0MjRmZWFwLTIwLAotICAgIC0weDEuZjZhN2EwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTUKLSAgICAweDEuMmFhNzBiY2IwN2QzYTQwNzgxNTEwZDIxMzY1MmU0M2FwLTIyLAotICAgIDB4MS5mNmE3YTJwMwotICB9LAotICB7IC8vIEVudHJ5IDg5NgotICAgIC0weDEuMmFhNzBiY2IwN2QzYTQwNzgxNTEwZDIxMzY1MmU0M2FwLTIyLAotICAgIC0weDEuZjZhN2EycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTcKLSAgICAtMHgxLjZhYWM3YTFhN2JmNWJiZDQ5NTcyZmZiOGQ3NzQ5OTIycC0yMSwKLSAgICAweDEuZjZhN2E0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTgKLSAgICAweDEuNmFhYzdhMWE3YmY1YmJkNDk1NzJmZmI4ZDc3NDk5MjJwLTIxLAotICAgIC0weDEuZjZhN2E0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTkKLSAgICAtMHgxLjZhMDlhMzgzOTUzMTI0MDk2ODk4MzQwZjkxNjhiOWQ1cC0xLAotICAgIDB4MS4wN2U0Y2NwNAotICB9LAotICB7IC8vIEVudHJ5IDkwMAotICAgIDB4MS42YTA5YTM4Mzk1MzEyNDA5Njg5ODM0MGY5MTY4YjlkNXAtMSwKLSAgICAtMHgxLjA3ZTRjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTAxCi0gICAgLTB4MS42YTA5ZDBjNGQ3ODY5OTYxYzQ3YTliMGI5NjhjYzkxMHAtMSwKLSAgICAweDEuMDdlNGNlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDIKLSAgICAweDEuNmEwOWQwYzRkNzg2OTk2MWM0N2E5YjBiOTY4Y2M5MTBwLTEsCi0gICAgLTB4MS4wN2U0Y2VwNAotICB9LAotICB7IC8vIEVudHJ5IDkwMwotICAgIC0weDEuNmEwOWZlMDYxNDMzZTc3NzBkMDBjYTU5ZDVhNTYyNTFwLTEsCi0gICAgMHgxLjA3ZTRkMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTA0Ci0gICAgMHgxLjZhMDlmZTA2MTQzM2U3NzcwZDAwY2E1OWQ1YTU2MjUxcC0xLAotICAgIC0weDEuMDdlNGQwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDUKLSAgICAtMHgxLmZmZmZmZmZmZjkyMTlkYWU1ZmVkYTFiNTM5MzM1ODAzcC0xLAotICAgIDB4MS4xNDc1Y2FwNAotICB9LAotICB7IC8vIEVudHJ5IDkwNgotICAgIDB4MS5mZmZmZmZmZmY5MjE5ZGFlNWZlZGExYjUzOTMzNTgwM3AtMSwKLSAgICAtMHgxLjE0NzVjYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTA3Ci0gICAgLTB4MS5mZmZmZmZmZmZmOWQ1NTZlOGMwYmYwYTgwZDYxMDgwOHAtMSwKLSAgICAweDEuMTQ3NWNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDgKLSAgICAweDEuZmZmZmZmZmZmZjlkNTU2ZThjMGJmMGE4MGQ2MTA4MDhwLTEsCi0gICAgLTB4MS4xNDc1Y2NwNAotICB9LAotICB7IC8vIEVudHJ5IDkwOQotICAgIC0weDEuZmZmZmZmZmZmZTE5MGQyZWI4MmU3NGVmZDIwOTMyMTVwLTEsCi0gICAgMHgxLjE0NzVjZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTEwCi0gICAgMHgxLmZmZmZmZmZmZmUxOTBkMmViODJlNzRlZmQyMDkzMjE1cC0xLAotICAgIC0weDEuMTQ3NWNlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTEKLSAgICAtMHgxLjZhMGExYTFlNjRhMjhlZWUyMzhkYzg1Mjg0NmFhY2Q1cC0xLAotICAgIDB4MS4yMTA2YzhwNAotICB9LAotICB7IC8vIEVudHJ5IDkxMgotICAgIDB4MS42YTBhMWExZTY0YTI4ZWVlMjM4ZGM4NTI4NDZhYWNkNXAtMSwKLSAgICAtMHgxLjIxMDZjOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTEzCi0gICAgLTB4MS42YTA5ZWNkZDJiNzg0YjY5OTAzNGVlODEwMjY3MGUyN3AtMSwKLSAgICAweDEuMjEwNmNhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTQKLSAgICAweDEuNmEwOWVjZGQyYjc4NGI2OTkwMzRlZTgxMDI2NzBlMjdwLTEsCi0gICAgLTB4MS4yMTA2Y2FwNAotICB9LAotICB7IC8vIEVudHJ5IDkxNQotICAgIC0weDEuNmEwOWJmOWJlY2E1ZTAzMTg4MzAxNjM5YzA5ZWQ1NzRwLTEsCi0gICAgMHgxLjIxMDZjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTE2Ci0gICAgMHgxLjZhMDliZjliZWNhNWUwMzE4ODMwMTYzOWMwOWVkNTc0cC0xLAotICAgIC0weDEuMjEwNmNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTcKLSAgICAtMHgxLmY5OTkwZTkxYTI3MGQzYmMxYzAyZjRmNjlmNDhlNjc1cC0xOSwKLSAgICAweDEuMmQ5N2M0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTgKLSAgICAweDEuZjk5OTBlOTFhMjcwZDNiYzFjMDJmNGY2OWY0OGU2NzVwLTE5LAotICAgIC0weDEuMmQ5N2M0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTkKLSAgICAtMHgxLmYzMzIxZDIzNGRlYWNkNmYzYWZkNzUwMzk2ODUwMTJmcC0yMCwKLSAgICAweDEuMmQ5N2M2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjAKLSAgICAweDEuZjMzMjFkMjM0ZGVhY2Q2ZjNhZmQ3NTAzOTY4NTAxMmZwLTIwLAotICAgIC0weDEuMmQ5N2M2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjEKLSAgICAweDEuOTliYzViOTYxYjFhYTFjOWU4MDIzMDc0ZjM0MDZmZDlwLTI1LAotICAgIDB4MS4yZDk3YzhwNAotICB9LAotICB7IC8vIEVudHJ5IDkyMgotICAgIC0weDEuOTliYzViOTYxYjFhYTFjOWU4MDIzMDc0ZjM0MDZmZDlwLTI1LAotICAgIC0weDEuMmQ5N2M4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjMKLSAgICAweDEuNmEwOTk0OWUxY2UxZWM1MDFhZmNiMzVkNzMxYmY2MmNwLTEsCi0gICAgMHgxLjNhMjhjMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTI0Ci0gICAgLTB4MS42YTA5OTQ5ZTFjZTFlYzUwMWFmY2IzNWQ3MzFiZjYyY3AtMSwKLSAgICAtMHgxLjNhMjhjMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTI1Ci0gICAgMHgxLjZhMDljMWRmNjExNDEwMGM2NWQxZmY2YzU1NzU1ZTcycC0xLAotICAgIDB4MS4zYTI4YzRwNAotICB9LAotICB7IC8vIEVudHJ5IDkyNgotICAgIC0weDEuNmEwOWMxZGY2MTE0MTAwYzY1ZDFmZjZjNTU3NTVlNzJwLTEsCi0gICAgLTB4MS4zYTI4YzRwNAotICB9LAotICB7IC8vIEVudHJ5IDkyNwotICAgIDB4MS42YTA5ZWYyMDlmOWUwY2MxMzMyNGRkZjJiMzYxNTUzZnAtMSwKLSAgICAweDEuM2EyOGM2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjgKLSAgICAtMHgxLjZhMDllZjIwOWY5ZTBjYzEzMzI0ZGRmMmIzNjE1NTNmcC0xLAotICAgIC0weDEuM2EyOGM2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjkKLSAgICAweDEuZmZmZmZmZmZmNTNmNDc2ZWM0ZjU5ZjI2YzRiY2RmYTBwLTEsCi0gICAgMHgxLjQ2YjljMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMwCi0gICAgLTB4MS5mZmZmZmZmZmY1M2Y0NzZlYzRmNTlmMjZjNGJjZGZhMHAtMSwKLSAgICAtMHgxLjQ2YjljMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMxCi0gICAgMHgxLmZmZmZmZmZmZmU1ZDIwOTdiMzQzMzRhZDY3OWRkN2E0cC0xLAotICAgIDB4MS40NmI5YzJwNAotICB9LAotICB7IC8vIEVudHJ5IDkzMgotICAgIC0weDEuZmZmZmZmZmZmZTVkMjA5N2IzNDMzNGFkNjc5ZGQ3YTRwLTEsCi0gICAgLTB4MS40NmI5YzJwNAotICB9LAotICB7IC8vIEVudHJ5IDkzMwotICAgIDB4MS5mZmZmZmZmZmZmN2FmOWMwYTE5YTAwNWM1NjVjNmFmN3AtMSwKLSAgICAweDEuNDZiOWM0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzQKLSAgICAtMHgxLmZmZmZmZmZmZmY3YWY5YzBhMTlhMDA1YzU2NWM2YWY3cC0xLAotICAgIC0weDEuNDZiOWM0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAweDEuNmEwYTI5MDNkNzczOTI1YjA1MmZiMDA2YWM2NzBjMjNwLTEsCi0gICAgMHgxLjUzNGFiZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTM2Ci0gICAgLTB4MS42YTBhMjkwM2Q3NzM5MjViMDUyZmIwMDZhYzY3MGMyM3AtMSwKLSAgICAtMHgxLjUzNGFiZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTM3Ci0gICAgMHgxLjZhMDlmYmMyYTAyNWZkYWU5MTg0NjZmYTAwMTQyMTQzcC0xLAotICAgIDB4MS41MzRhYzBwNAotICB9LAotICB7IC8vIEVudHJ5IDkzOAotICAgIC0weDEuNmEwOWZiYzJhMDI1ZmRhZTkxODQ2NmZhMDAxNDIxNDNwLTEsCi0gICAgLTB4MS41MzRhYzBwNAotICB9LAotICB7IC8vIEVudHJ5IDkzOQotICAgIDB4MS42YTA5Y2U4MTYzMzA0MTEzMTM1YTY4YWU5M2QzZmEwZXAtMSwKLSAgICAweDEuNTM0YWMycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDAKLSAgICAtMHgxLjZhMDljZTgxNjMzMDQxMTMxMzVhNjhhZTkzZDNmYTBlcC0xLAotICAgIC0weDEuNTM0YWMycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDEKLSAgICAweDEuNGRkZDNiYTllY2IxOWQ2YmI2ZWExNjExMjBlNDQ3YjlwLTE5LAotICAgIDB4MS41ZmRiYmNwNAotICB9LAotICB7IC8vIEVudHJ5IDk0MgotICAgIC0weDEuNGRkZDNiYTllY2IxOWQ2YmI2ZWExNjExMjBlNDQ3YjlwLTE5LAotICAgIC0weDEuNWZkYmJjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDMKLSAgICAweDEuMzc3NGVlYTdiODlkODBkZjc4MTZmZTIwOGVjNjlmYzBwLTIxLAotICAgIDB4MS41ZmRiYmVwNAotICB9LAotICB7IC8vIEVudHJ5IDk0NAotICAgIC0weDEuMzc3NGVlYTdiODlkODBkZjc4MTZmZTIwOGVjNjlmYzBwLTIxLAotICAgIC0weDEuNWZkYmJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDUKLSAgICAtMHgxLjY0NDU4OGFjMjMzNGEzZDU0NTJkOTk2MDI4MmNmODBkcC0yMCwKLSAgICAweDEuNWZkYmMwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDYKLSAgICAweDEuNjQ0NTg4YWMyMzM0YTNkNTQ1MmQ5OTYwMjgyY2Y4MGRwLTIwLAotICAgIC0weDEuNWZkYmMwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDcKLSAgICAtMHgxLjZhMDliMmY5ZWEwNDllODU1ZTM1Y2E5Y2U3ZTBkODlhcC0xLAotICAgIDB4MS42YzZjYmFwNAotICB9LAotICB7IC8vIEVudHJ5IDk0OAotICAgIDB4MS42YTA5YjJmOWVhMDQ5ZTg1NWUzNWNhOWNlN2UwZDg5YXAtMSwKLSAgICAtMHgxLjZjNmNiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQ5Ci0gICAgLTB4MS42YTA5ZTAzYjJhNmI0OWM2MTM0YzY3YjQyYmFlZTY2OHAtMSwKLSAgICAweDEuNmM2Y2JjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTAKLSAgICAweDEuNmEwOWUwM2IyYTZiNDljNjEzNGM2N2I0MmJhZWU2NjhwLTEsCi0gICAgLTB4MS42YzZjYmNwNAotICB9LAotICB7IC8vIEVudHJ5IDk1MQotICAgIC0weDEuNmEwYTBkN2M2NTI5Y2Q4NWRiYmIzYTVjMmNkM2ZhZTVwLTEsCi0gICAgMHgxLjZjNmNiZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTUyCi0gICAgMHgxLjZhMGEwZDdjNjUyOWNkODVkYmJiM2E1YzJjZDNmYWU1cC0xLAotICAgIC0weDEuNmM2Y2JlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTMKLSAgICAtMHgxLmZmZmZmZmZmZjA3ZjBhYjEyYWE4ZjQxZjI5YzE1MzkycC0xLAotICAgIDB4MS43OGZkYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDk1NAotICAgIDB4MS5mZmZmZmZmZmYwN2YwYWIxMmFhOGY0MWYyOWMxNTM5MnAtMSwKLSAgICAtMHgxLjc4ZmRiNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTU1Ci0gICAgLTB4MS5mZmZmZmZmZmZjM2YwNTQyZGIyMWRjYmNiODQ3ZGFjM3AtMSwKLSAgICAweDEuNzhmZGI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTYKLSAgICAweDEuZmZmZmZmZmZmYzNmMDU0MmRiMjFkY2JjYjg0N2RhYzNwLTEsCi0gICAgLTB4MS43OGZkYjhwNAotICB9LAotICB7IC8vIEVudHJ5IDk1NwotICAgIC0weDEuZmZmZmZmZmZmZmZlZmZkNDhiYWM3M2VmZTYwYzdmY2ZwLTEsCi0gICAgMHgxLjc4ZmRiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTU4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZWZmZDQ4YmFjNzNlZmU2MGM3ZmNmcC0xLAotICAgIC0weDEuNzhmZGJhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTkKLSAgICAtMHgxLjZhMGEzN2U5NDlhN2FkNjk4YTMyMjM0YzczZTVhZmJhcC0xLAotICAgIDB4MS44NThlYjRwNAotICB9LAotICB7IC8vIEVudHJ5IDk2MAotICAgIDB4MS42YTBhMzdlOTQ5YTdhZDY5OGEzMjIzNGM3M2U1YWZiYXAtMSwKLSAgICAtMHgxLjg1OGViNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTYxCi0gICAgLTB4MS42YTBhMGFhODE0MzZjN2E4ZDMzYTM4ZDcwNDAzMGQxNHAtMSwKLSAgICAweDEuODU4ZWI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjIKLSAgICAweDEuNmEwYTBhYTgxNDM2YzdhOGQzM2EzOGQ3MDQwMzBkMTRwLTEsCi0gICAgLTB4MS44NThlYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDk2MwotICAgIC0weDEuNmEwOWRkNjZkOTFkYjliZDdiZjM1NWZhZmYwOGYxOTRwLTEsCi0gICAgMHgxLjg1OGViOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTY0Ci0gICAgMHgxLjZhMDlkZDY2ZDkxZGI5YmQ3YmYzNTVmYWZmMDhmMTk0cC0xLAotICAgIC0weDEuODU4ZWI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjUKLSAgICAweDEuYzA0OGIzOGE4YmJmNTlmNDE0ZmVjNzA3OTIwOTkyNmVwLTMsCi0gICAgMHgxLmZmZmZmZXA2MgotICB9LAotICB7IC8vIEVudHJ5IDk2NgotICAgIC0weDEuYzA0OGIzOGE4YmJmNTlmNDE0ZmVjNzA3OTIwOTkyNmVwLTMsCi0gICAgLTB4MS5mZmZmZmVwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjcKLSAgICAweDEuZmZmNmRmZDQyZGM1NDQzMGJjMDU3NmIwMGE4OGJkOTRwLTEsCi0gICAgMHgxLnA2MwotICB9LAotICB7IC8vIEVudHJ5IDk2OAotICAgIC0weDEuZmZmNmRmZDQyZGM1NDQzMGJjMDU3NmIwMGE4OGJkOTRwLTEsCi0gICAgLTB4MS5wNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjkKLSAgICAtMHgxLmQ2NjM3ZDA3MDM0N2VlOTRlODMwNDQ1ZTc2NDg2NzI3cC0xLAotICAgIDB4MS4wMDAwMDJwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzAKLSAgICAweDEuZDY2MzdkMDcwMzQ3ZWU5NGU4MzA0NDVlNzY0ODY3MjdwLTEsCi0gICAgLTB4MS4wMDAwMDJwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzEKLSAgICAtMHgxLjBlNTI4MzY2MWRmMGNhMGY1NWFiNjE2N2UxNDUxNGExcC0xLAotICAgIDB4MS5mZmZmZmVwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzIKLSAgICAweDEuMGU1MjgzNjYxZGYwY2EwZjU1YWI2MTY3ZTE0NTE0YTFwLTEsCi0gICAgLTB4MS5mZmZmZmVwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzMKLSAgICAtMHgxLjg2ZGNjOWJhYmIwYTQwZWU4NzVjYWIzYjllODkyNzU3cC0xLAotICAgIDB4MS5wMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzQKLSAgICAweDEuODZkY2M5YmFiYjBhNDBlZTg3NWNhYjNiOWU4OTI3NTdwLTEsCi0gICAgLTB4MS5wMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzUKLSAgICAweDEuMTcxOTk5YjYyOWZkNWI2MzU3YzZkZmY0ZDc4MjdkOTVwLTEsCi0gICAgMHgxLjAwMDAwMnAyNwotICB9LAotICB7IC8vIEVudHJ5IDk3NgotICAgIC0weDEuMTcxOTk5YjYyOWZkNWI2MzU3YzZkZmY0ZDc4MjdkOTVwLTEsCi0gICAgLTB4MS4wMDAwMDJwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzcKLSAgICAtMHgxLmU1N2VjMDkyMjE5NzM1NTBkMWU1Nzk4ZGNmMGNkMjVkcC0xLAotICAgIDB4MS5mZmZmZmVwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzgKLSAgICAweDEuZTU3ZWMwOTIyMTk3MzU1MGQxZTU3OThkY2YwY2QyNWRwLTEsCi0gICAgLTB4MS5mZmZmZmVwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzkKLSAgICAtMHgxLjhmMjJmODQzM2Q2ZWRmZTlhNGFmZjk2MjI1MTdjYWE5cC0xLAotICAgIDB4MS5wMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODAKLSAgICAweDEuOGYyMmY4NDMzZDZlZGZlOWE0YWZmOTYyMjUxN2NhYTlwLTEsCi0gICAgLTB4MS5wMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODEKLSAgICAweDEuYzliMGM3MjY1YzU0M2Y4MGZhZjAxNzQxYzY0NTg1NjBwLTEsCi0gICAgMHgxLjAwMDAwMnAyNAotICB9LAotICB7IC8vIEVudHJ5IDk4MgotICAgIC0weDEuYzliMGM3MjY1YzU0M2Y4MGZhZjAxNzQxYzY0NTg1NjBwLTEsCi0gICAgLTB4MS4wMDAwMDJwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODMKLSAgICAtMHgxLjgzN2I5OGEzMTg1ZDE0NjZkODUyZjBhN2RjMWQyNDhlcC0xLAotICAgIDB4MS5mZmZmZmVwMQotICB9LAotICB7IC8vIEVudHJ5IDk4NAotICAgIDB4MS44MzdiOThhMzE4NWQxNDY2ZDg1MmYwYTdkYzFkMjQ4ZXAtMSwKLSAgICAtMHgxLmZmZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg1Ci0gICAgLTB4MS44MzdiOWRkZGMxZWFlNzBjZTk4MDU1YTBlNDUwZDkzY3AtMSwKLSAgICAweDEucDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODYKLSAgICAweDEuODM3YjlkZGRjMWVhZTcwY2U5ODA1NWEwZTQ1MGQ5M2NwLTEsCi0gICAgLTB4MS5wMgotICB9LAotICB7IC8vIEVudHJ5IDk4NwotICAgIC0weDEuODM3YmE4NTMxNGJkZTUyYjFlOWMyYzhlZDI3MTJjNzJwLTEsCi0gICAgMHgxLjAwMDAwMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg4Ci0gICAgMHgxLjgzN2JhODUzMTRiZGU1MmIxZTljMmM4ZWQyNzEyYzcycC0xLAotICAgIC0weDEuMDAwMDAycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODkKLSAgICAweDEuZDE4ZjcwNTczZGE2MzAxMmZhMWMwZTNkMmViYmU1OWNwLTEsCi0gICAgMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkwCi0gICAgLTB4MS5kMThmNzA1NzNkYTYzMDEyZmExYzBlM2QyZWJiZTU5Y3AtMSwKLSAgICAtMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTkxCi0gICAgMHgxLmQxOGY2ZWFkMWI0NDVkZmFiODQ4MTg4MDA5YzliYjk1cC0xLAotICAgIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDk5MgotICAgIC0weDEuZDE4ZjZlYWQxYjQ0NWRmYWI4NDgxODgwMDljOWJiOTVwLTEsCi0gICAgLTB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDk5MwotICAgIDB4MS5kMThmNmI1OGQ2NmFlNzExMGIyYjZmN2NmZmJhNmVjMXAtMSwKLSAgICAweDEuMDAwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTQKLSAgICAtMHgxLmQxOGY2YjU4ZDY2YWU3MTEwYjJiNmY3Y2ZmYmE2ZWMxcC0xLAotICAgIC0weDEuMDAwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTUKLSAgICAweDEuYWVkNTQ3ZGJlZTRkMGQ4NjgwZDA4MTNkMWU0ZTIxZDBwLTEsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDk5NgotICAgIC0weDEuYWVkNTQ3ZGJlZTRkMGQ4NjgwZDA4MTNkMWU0ZTIxZDBwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTcKLSAgICAweDEuYWVkNTQ4ZjA5MGNlZTA0MThkZDNkMjEzOGExZTc4NjVwLTEsCi0gICAgMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk4Ci0gICAgLTB4MS5hZWQ1NDhmMDkwY2VlMDQxOGRkM2QyMTM4YTFlNzg2NXAtMSwKLSAgICAtMHgxLnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk5Ci0gICAgMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAotICAgIDB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDEwMDAKLSAgICAtMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAotICAgIC0weDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAxCi0gICAgMHgxLmVhZWU4NTgzNWRkZTViNzFiZWVjN2Q4ZDk4MDUyMTEycC0yLAotICAgIDB4MS5mZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAyCi0gICAgLTB4MS5lYWVlODU4MzVkZGU1YjcxYmVlYzdkOGQ5ODA1MjExMnAtMiwKLSAgICAtMHgxLmZmZmZmZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMDMKLSAgICAweDEuZWFlZTg3NDRiMDVlZmU4NzY0YmMzNjRmZDgzN2I2NjZwLTIsCi0gICAgMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMDQKLSAgICAtMHgxLmVhZWU4NzQ0YjA1ZWZlODc2NGJjMzY0ZmQ4MzdiNjY2cC0yLAotICAgIC0weDEucC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNQotICAgIDB4MS5lYWVlOGFjNzU1NWVkNDdmY2E3N2NlZWQxNzRjOGVhMHAtMiwKLSAgICAweDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNgotICAgIC0weDEuZWFlZThhYzc1NTVlZDQ3ZmNhNzdjZWVkMTc0YzhlYTBwLTIsCi0gICAgLTB4MS4wMDAwMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA3Ci0gICAgMHgxLmZhYWVlYjVmMWMwZDYzZjQzYzZmM2VjNDYwMTE2OTBmcC0zLAotICAgIDB4MS5mZmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA4Ci0gICAgLTB4MS5mYWFlZWI1ZjFjMGQ2M2Y0M2M2ZjNlYzQ2MDExNjkwZnAtMywKLSAgICAtMHgxLmZmZmZmZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMDkKLSAgICAweDEuZmFhZWVkNGYzMTU3NmJhODlkZWJkYzczNTFlOGIxYWVwLTMsCi0gICAgMHgxLnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMTAKLSAgICAtMHgxLmZhYWVlZDRmMzE1NzZiYTg5ZGViZGM3MzUxZThiMWFlcC0zLAotICAgIC0weDEucC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMQotICAgIDB4MS5mYWFlZjEyZjViZWIxYzEwOTQ0NzNkM2MzMzY1YjllMXAtMywKLSAgICAweDEuMDAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMgotICAgIC0weDEuZmFhZWYxMmY1YmViMWMxMDk0NDczZDNjMzM2NWI5ZTFwLTMsCi0gICAgLTB4MS4wMDAwMDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEzCi0gICAgMHgxLmZlYWFlY2VjNmQ4ZTMwY2Q1Njk1MGViMmViZGNlYmQ0cC00LAotICAgIDB4MS5mZmZmZmVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE0Ci0gICAgLTB4MS5mZWFhZWNlYzZkOGUzMGNkNTY5NTBlYjJlYmRjZWJkNHAtNCwKLSAgICAtMHgxLmZmZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwMTUKLSAgICAweDEuZmVhYWVlZTg2ZWUzNWNhMDY5YTg2NzIxZjg5Zjg1YTVwLTQsCi0gICAgMHgxLnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMTYKLSAgICAtMHgxLmZlYWFlZWU4NmVlMzVjYTA2OWE4NjcyMWY4OWY4NWE1cC00LAotICAgIC0weDEucC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNwotICAgIDB4MS5mZWFhZjJlMDcxOGQ5YzU2OGM5NDQyYzgxNTQ1Y2Q2MnAtNCwKLSAgICAweDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxOAotICAgIC0weDEuZmVhYWYyZTA3MThkOWM1NjhjOTQ0MmM4MTU0NWNkNjJwLTQsCi0gICAgLTB4MS4wMDAwMDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE5Ci0gICAgMHgxLmZmYWFhY2VmZDRkODU1YWM4MjI3Nzk5ZjNlMjYzZDdhcC01LAotICAgIDB4MS5mZmZmZmVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIwCi0gICAgLTB4MS5mZmFhYWNlZmQ0ZDg1NWFjODIyNzc5OWYzZTI2M2Q3YXAtNSwKLSAgICAtMHgxLmZmZmZmZXAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwMjEKLSAgICAweDEuZmZhYWFlZWVkNGVkYWI0YmE0YjM2NWVkMjVhOTU5NWZwLTUsCi0gICAgMHgxLnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwMjIKLSAgICAtMHgxLmZmYWFhZWVlZDRlZGFiNGJhNGIzNjVlZDI1YTk1OTVmcC01LAotICAgIC0weDEucC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMwotICAgIDB4MS5mZmFhYjJlY2Q1MTg1MDhhZTliYzczMGExNjVhOGVhZHAtNSwKLSAgICAweDEuMDAwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyNAotICAgIC0weDEuZmZhYWIyZWNkNTE4NTA4YWU5YmM3MzBhMTY1YThlYWRwLTUsCi0gICAgLTB4MS4wMDAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI1Ci0gICAgMHgxLmZmZWFhOGVmMmU4NTkzMzg4M2MwZGMzMzQ2MjM4N2I1cC02LAotICAgIDB4MS5mZmZmZmVwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI2Ci0gICAgLTB4MS5mZmVhYThlZjJlODU5MzM4ODNjMGRjMzM0NjIzODdiNXAtNiwKLSAgICAtMHgxLmZmZmZmZXAtNgotICB9LAotICB7IC8vIEVudHJ5IDEwMjcKLSAgICAweDEuZmZlYWFhZWVlZTg2ZThjYWZlNDEzNzZkNDc5MTk1NzlwLTYsCi0gICAgMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwMjgKLSAgICAtMHgxLmZmZWFhYWVlZWU4NmU4Y2FmZTQxMzc2ZDQ3OTE5NTc5cC02LAotICAgIC0weDEucC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAyOQotICAgIDB4MS5mZmVhYWVlZTZlODk5MjcwMDM0MTNhYmU2NGU5ZGMyMXAtNiwKLSAgICAweDEuMDAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMAotICAgIC0weDEuZmZlYWFlZWU2ZTg5OTI3MDAzNDEzYWJlNjRlOWRjMjFwLTYsCi0gICAgLTB4MS4wMDAwMDJwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMxCi0gICAgMHgxLmZmZmFhOGFlZmVlZDM5NmZmZmZjNjM2MzEzZDBiYTZkcC03LAotICAgIDB4MS5mZmZmZmVwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMyCi0gICAgLTB4MS5mZmZhYThhZWZlZWQzOTZmZmZmYzYzNjMxM2QwYmE2ZHAtNywKLSAgICAtMHgxLmZmZmZmZXAtNwotICB9LAotICB7IC8vIEVudHJ5IDEwMzMKLSAgICAweDEuZmZmYWFhYWVlZWVkNGVkNTQ5YzY1NjBmODg5ZWU1MzFwLTcsCi0gICAgMHgxLnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEwMzQKLSAgICAtMHgxLmZmZmFhYWFlZWVlZDRlZDU0OWM2NTYwZjg4OWVlNTMxcC03LAotICAgIC0weDEucC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNQotICAgIDB4MS5mZmZhYWVhZWNlZWQ3OTNmZGU1YTFhOWNhNWJiMWVlNnAtNywKLSAgICAweDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNgotICAgIC0weDEuZmZmYWFlYWVjZWVkNzkzZmRlNWExYTljYTViYjFlZTZwLTcsCi0gICAgLTB4MS4wMDAwMDJwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM3Ci0gICAgMHgxLmZmZmZmZGZhYWFhYWJhYWVlZWRlZDk5N2ZlZmZhMzVhcC0xNSwKLSAgICAweDEuZmZmZmZlcC0xNQotICB9LAotICB7IC8vIEVudHJ5IDEwMzgKLSAgICAtMHgxLmZmZmZmZGZhYWFhYWJhYWVlZWRlZDk5N2ZlZmZhMzVhcC0xNSwKLSAgICAtMHgxLmZmZmZmZXAtMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM5Ci0gICAgMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKLSAgICAweDEucC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEwNDAKLSAgICAtMHgxLmZmZmZmZmZhYWFhYWFhYWVlZWVlZWVlZDRlZDRlZDRmcC0xNSwKLSAgICAtMHgxLnAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQxCi0gICAgMHgxLjAwMDAwMWZkNTU1NTQ1NTc3NzU3OGNjYmU3YmZjMDljcC0xNCwKLSAgICAweDEuMDAwMDAycC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEwNDIKLSAgICAtMHgxLjAwMDAwMWZkNTU1NTQ1NTc3NzU3OGNjYmU3YmZjMDljcC0xNCwKLSAgICAtMHgxLjAwMDAwMnAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQzCi0gICAgMHgxLmZmZmZmZGZmZmZmZmZlYWFhYWFlYWFhYWE2YWFlZWYwcC0yOCwKLSAgICAweDEuZmZmZmZlcC0yOAotICB9LAotICB7IC8vIEVudHJ5IDEwNDQKLSAgICAtMHgxLmZmZmZmZGZmZmZmZmZlYWFhYWFlYWFhYWE2YWFlZWYwcC0yOCwKLSAgICAtMHgxLmZmZmZmZXAtMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKLSAgICAweDEucC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEwNDYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZlYWFhYWFhYWFhYWFhYWFlZWVlcC0yOCwKLSAgICAtMHgxLnAtMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ3Ci0gICAgMHgxLjAwMDAwMWZmZmZmZmZmNTU1NTUxNTU1NTRkNTU3NzcycC0yNywKLSAgICAweDEuMDAwMDAycC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEwNDgKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmNTU1NTUxNTU1NTRkNTU3NzcycC0yNywKLSAgICAtMHgxLjAwMDAwMnAtMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ5Ci0gICAgMHgxLmZmZmZmZGZmZmZmZmZmZmFhYWFhYmFhYWFhOWFhYWFlcC0zMSwKLSAgICAweDEuZmZmZmZlcC0zMQotICB9LAotICB7IC8vIEVudHJ5IDEwNTAKLSAgICAtMHgxLmZmZmZmZGZmZmZmZmZmZmFhYWFhYmFhYWFhOWFhYWFlcC0zMSwKLSAgICAtMHgxLmZmZmZmZXAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKLSAgICAweDEucC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEwNTIKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZmZmFhYWFhYWFhYWFhYWFhYWFlcC0zMSwKLSAgICAtMHgxLnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUzCi0gICAgMHgxLjAwMDAwMWZmZmZmZmZmZmQ1NTU1NDU1NTU1MzU1NTU3cC0zMCwKLSAgICAweDEuMDAwMDAycC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEwNTQKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmQ1NTU1NDU1NTU1MzU1NTU3cC0zMCwKLSAgICAtMHgxLjAwMDAwMnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU1Ci0gICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAotICAgIC0weDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNTYKLSAgICAtMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAotICAgIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NwotICAgIC0weDEuMGIzMzY2NTA4OTU3NTIwZDlkYzg4ZDdjMDkzMzdlMjRwLTEsCi0gICAgMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU4Ci0gICAgMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAotICAgIC0weDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNTkKLSAgICAtMHgxLjBiMzM2NjUwODk1NzUyMGQ5ZGM4OGQ3YzA5MzM3ZTI0cC0xLAotICAgIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MAotICAgIDB4MS4wYjMzNjY1MDg5NTc1MjBkOWRjODhkN2MwOTMzN2UyNHAtMSwKLSAgICAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYxCi0gICAgLTB4MS40OGNlNTc1MjAyZWZkOTNjNjJmN2I4ODEwNmVhMWQ0ZHAtMSwKLSAgICAweDEuZmZmZmZjcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNjIKLSAgICAweDEuNDhjZTU3NTIwMmVmZDkzYzYyZjdiODgxMDZlYTFkNGRwLTEsCi0gICAgLTB4MS5mZmZmZmNwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MwotICAgIC0weDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAotICAgIDB4MS45MjFmYjZwMQotICB9LAotICB7IC8vIEVudHJ5IDEwNjQKLSAgICAweDEuNzc3YTVjZjcyY2VjNWZkNjE4OTZjYjRmNDBkMWRlNzlwLTI0LAotICAgIC0weDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0MjI5MzBlZDgycC0xLAotICAgIDB4MS45MjFmYjZwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNjYKLSAgICAtMHgxLmZmZmZmZmZmZmZmZjc2NTIxMjQ5Yzc0MjI5MzBlZDgycC0xLAotICAgIC0weDEuOTIxZmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY3Ci0gICAgMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAotICAgIDB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNjgKLSAgICAtMHgxLmFlZDU0YjE5ZDVjZDc5MzdjYmY0MWVkNDA4Y2EwYTUycC0xLAotICAgIC0weDEuMDAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY5Ci0gICAgMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIDB4MS5wMAotICB9LAotICB7IC8vIEVudHJ5IDEwNzAKLSAgICAtMHgxLmFlZDU0OGYwOTBjZWUwNDE4ZGQzZDIxMzhhMWU3ODY1cC0xLAotICAgIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcxCi0gICAgMHgxLmFlZDU0N2RiZWU0ZDBkODY4MGQwODEzZDFlNGUyMWQwcC0xLAotICAgIDB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcyCi0gICAgLTB4MS5hZWQ1NDdkYmVlNGQwZDg2ODBkMDgxM2QxZTRlMjFkMHAtMSwKLSAgICAtMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNzMKLSAgICAweDEuNmEwOWU2ZWNiNDFmZGQ3ZTY4MTg3MmM4NTQ4ODcwMTlwLTEsCi0gICAgMHgxLjkyMWZiNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwNzQKLSAgICAtMHgxLjZhMDllNmVjYjQxZmRkN2U2ODE4NzJjODU0ODg3MDE5cC0xLAotICAgIC0weDEuOTIxZmI2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NQotICAgIDB4MS4wMDAwMDFmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI2LAotICAgIDB4MS4wMDAwMDJwLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDEwNzYKLSAgICAtMHgxLjAwMDAwMWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjYsCi0gICAgLTB4MS4wMDAwMDJwLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDEwNzcKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKLSAgICAweDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc4Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc5Ci0gICAgMHgxLmZmZmZmYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MAotICAgIC0weDEuZmZmZmZiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTEyNywKLSAgICAtMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MQotICAgIDB4MS5mZmZmZjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTI3LAotICAgIDB4MS5mZmZmZjhwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwODIKLSAgICAtMHgxLmZmZmZmN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcC0xMjcsCi0gICAgLTB4MS5mZmZmZjhwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwODMKLSAgICAweDEuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZwLTE0OSwKLSAgICAweDEucC0xNDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnAtMTQ5LAotICAgIC0weDEucC0xNDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg1Ci0gICAgMC4wZiwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg2Ci0gICAgLTAuMGYsCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDEwODcKLSAgICAwLjAsCi0gICAgMC4wZgotICB9LAotICB7IC8vIEVudHJ5IDEwODgKLSAgICAtMC4wLAotICAgIC0wLjBmCi0gIH0sCi19OwotI2VuZGlmIC8vIF9fQklPTklDX18KLQotVEVTVChtYXRoX3NpbmYsIHNpbmZfaW50ZWwpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZW9mKGdfc2luZl9pbnRlbF9kYXRhKS9zaXplb2Yoc2luZl9pbnRlbF9kYXRhX3QpOyBpKyspIHsKLSAgICBFWFBFQ1RfRkxPQVRfRVEoZ19zaW5mX2ludGVsX2RhdGFbaV0uZXhwZWN0ZWQsIHNpbmYoZ19zaW5mX2ludGVsX2RhdGFbaV0uY2FsbF9kYXRhKSkgPDwgIkZhaWxlZCBvbiBlbGVtZW50ICIgPDwgaTsKLSAgfQotI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLiI7Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwotfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbWF0aF90YW5fdGVzdC5jcHAgYi90ZXN0cy9tYXRoX3Rhbl90ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjg2MjAxOS4uMDAwMDAwMAotLS0gYS90ZXN0cy9tYXRoX3Rhbl90ZXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUyMDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSAqCi0gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICoKLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICovCi0KLSNpbmNsdWRlIDxtYXRoLmg+Ci0KLSNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgotCi0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotdHlwZWRlZiBzdHJ1Y3QgewotICBkb3VibGUgZXhwZWN0ZWQ7Ci0gIGRvdWJsZSBjYWxsX2RhdGE7Ci19IHRhbl9pbnRlbF9kYXRhX3Q7Ci0KLXN0YXRpYyB0YW5faW50ZWxfZGF0YV90IGdfdGFuX2ludGVsX2RhdGFbXSA9IHsKLSAgeyAvLyBFbnRyeSAwCi0gICAgMHgxLjUwNzhjZWJmZjljNzI4MDAwMDAwMDAwMDAwMDI0ZGY4cC01LAotICAgIDB4MS41MDQ4NmIyZjg3MDE0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIC0weDEuNTA3OGNlYmZmOWM3MjgwMDAwMDAwMDAwMDAwMjRkZjhwLTUsCi0gICAgLTB4MS41MDQ4NmIyZjg3MDE0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMgotICAgIDB4MS41Mzg5ZTZkZjQxOTc4ZmZmZmZmZmZmZmZmZmM2MWY1NHAtNCwKLSAgICAweDEuNTJjMzllZjA3MGNhZHAtNAotICB9LAotICB7IC8vIEVudHJ5IDMKLSAgICAtMHgxLjUzODllNmRmNDE5NzhmZmZmZmZmZmZmZmZmYzYxZjU0cC00LAotICAgIC0weDEuNTJjMzllZjA3MGNhZHAtNAotICB9LAotICB7IC8vIEVudHJ5IDQKLSAgICAweDEuYTkzM2ZlMTc2YjM3NTAwMDAwMDAwMDAwMDAwYTQwNjVwLTMsCi0gICAgMHgxLmEzM2YzMmFjNWNlYjVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1Ci0gICAgLTB4MS5hOTMzZmUxNzZiMzc1MDAwMDAwMDAwMDAwMDBhNDA2NXAtMywKLSAgICAtMHgxLmEzM2YzMmFjNWNlYjVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2Ci0gICAgMHgxLmZhYzcxY2QzNGVlYTY4MDAwMDAwMDAwMDAwOWEwYzEwcC0yLAotICAgIDB4MS5kNjk2YmZhOTg4ZGI5cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNwotICAgIC0weDEuZmFjNzFjZDM0ZWVhNjgwMDAwMDAwMDAwMDA5YTBjMTBwLTIsCi0gICAgLTB4MS5kNjk2YmZhOTg4ZGI5cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOAotICAgIDB4MS43YmE0OWY3Mzk4MjllZmZmZmZmZmZmZmZmZmU3ZTliZXAtMSwKLSAgICAweDEuNDZhYzM3MjI0MzUzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDkKLSAgICAtMHgxLjdiYTQ5ZjczOTgyOWVmZmZmZmZmZmZmZmZmZTdlOWJlcC0xLAotICAgIC0weDEuNDZhYzM3MjI0MzUzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwCi0gICAgLTB4MS5wLTEwNzQsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEKLSAgICAweDEucC0xMDc0LAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIKLSAgICAtMHgxLjhmMDQ4ODMyMTQ0YjcwMDIxY2NkN2E1MjQ2Y2IwYjIwcDAsCi0gICAgLTB4MS4wMDE4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMKLSAgICAweDEuOGYwNDg4MzIxNDRiNzAwMjFjY2Q3YTUyNDZjYjBiMjBwMCwKLSAgICAweDEuMDAxODBwMAotICB9LAotICB7IC8vIEVudHJ5IDE0Ci0gICAgLTB4MS44ZTg4NGIyNDMxM2FlODAyZGI0Nzg5OWZhZDE1YTZjNnAwLAotICAgIC0weDEuMDkwY2NhMThhNTU2NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUKLSAgICAweDEuOGU4ODRiMjQzMTNhZTgwMmRiNDc4OTlmYWQxNWE2YzZwMCwKLSAgICAweDEuMDkwY2NhMThhNTU2NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYKLSAgICAtMHgxLmNhMTg2NTRiMzU2OTcyOTY3YTRmMWU4NDA0YjlmOTcycDAsCi0gICAgLTB4MS4wZmFhNzY1MGRmMTQ0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNwotICAgIDB4MS5jYTE4NjU0YjM1Njk3Mjk2N2E0ZjFlODQwNGI5Zjk3MnAwLAotICAgIDB4MS4wZmFhNzY1MGRmMTQ0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOAotICAgIC0weDEuZTUyZmFmYTIyZWYxNDgxZDQzN2U3ZWQzMmNiYTAzYjFwLTIsCi0gICAgLTB4MS4xODAwMDAwMDAwMDQwcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOQotICAgIDB4MS5lNTJmYWZhMjJlZjE0ODFkNDM3ZTdlZDMyY2JhMDNiMXAtMiwKLSAgICAweDEuMTgwMDAwMDAwMDA0MHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAKLSAgICAtMHgxLmEzY2E0MjFkYzMwZjFjNTc2MGExYWUwNzM5NmZlYzMzcC0zLAotICAgIC0weDEuNDAwMDUyN2FjYTM4OHA5OQotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgMHgxLmEzY2E0MjFkYzMwZjFjNTc2MGExYWUwNzM5NmZlYzMzcC0zLAotICAgIDB4MS40MDAwNTI3YWNhMzg4cDk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjIKLSAgICAweDEuMWYzYjdkMTk3ODYwOTgwMGExNjI4ZTFkZjk1NThkZjZwMSwKLSAgICAtMHgxLjQ4NmMzNjM0NzUxZWNwMgotICB9LAotICB7IC8vIEVudHJ5IDIzCi0gICAgLTB4MS4xZjNiN2QxOTc4NjA5ODAwYTE2MjhlMWRmOTU1OGRmNnAxLAotICAgIDB4MS40ODZjMzYzNDc1MWVjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIC0weDEuN2ViODczMzQzZmE3YWI1ZDllZjlhNzhhZmQzM2Q1MDFwLTEsCi0gICAgLTB4MS40OGE3MTgwMGI1NzEzcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUKLSAgICAweDEuN2ViODczMzQzZmE3YWI1ZDllZjlhNzhhZmQzM2Q1MDFwLTEsCi0gICAgMHgxLjQ4YTcxODAwYjU3MTNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNgotICAgIDB4MS5iZTA3MTU3MmY2NGU4ODA0N2MzOTM5YmE0NjYyNmEyNXAtMSwKLSAgICAtMHgxLjQ5YWYwMzE0ZWVhM2NwMjk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcKLSAgICAtMHgxLmJlMDcxNTcyZjY0ZTg4MDQ3YzM5MzliYTQ2NjI2YTI1cC0xLAotICAgIDB4MS40OWFmMDMxNGVlYTNjcDI5OQotICB9LAotICB7IC8vIEVudHJ5IDI4Ci0gICAgMHgxLmZmYmIyNjQ3ZjU3YTE4MWJkMTI5NmZhZjMzYzA0ZTNlcC0xLAotICAgIC0weDEuNWZlMDBjODE0ZmZkNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkKLSAgICAtMHgxLmZmYmIyNjQ3ZjU3YTE4MWJkMTI5NmZhZjMzYzA0ZTNlcC0xLAotICAgIDB4MS41ZmUwMGM4MTRmZmQ2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIC0weDEuYThlYjE0MmIyZjQyNzU2ZTZkZWRmZjA5MjY3YTYyYzZwLTEsCi0gICAgLTB4MS42MmFjMjQxZjc5NDM5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEKLSAgICAweDEuYThlYjE0MmIyZjQyNzU2ZTZkZWRmZjA5MjY3YTYyYzZwLTEsCi0gICAgMHgxLjYyYWMyNDFmNzk0MzlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMgotICAgIC0weDEuN2QxZDM1NTlkZGFjODg1ZWUzMDYzMmM3NjA5OThjOGVwLTQsCi0gICAgLTB4MS43YzA1MWI0NzZjYThkcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMKLSAgICAweDEuN2QxZDM1NTlkZGFjODg1ZWUzMDYzMmM3NjA5OThjOGVwLTQsCi0gICAgMHgxLjdjMDUxYjQ3NmNhOGRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNAotICAgIC0weDEuMGUxZDAzMDViN2I3MjdmZjE5M2Q5ZDBiOGVhZmYxODFwMiwKLSAgICAtMHgxLjdlNDNjODgwMDc0YzZwOTk2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUKLSAgICAweDEuMGUxZDAzMDViN2I3MjdmZjE5M2Q5ZDBiOGVhZmYxODFwMiwKLSAgICAweDEuN2U0M2M4ODAwNzRjNnA5OTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNgotICAgIC0weDEuODEyYmRmZTAyNDZiYmYyYTdhYjY0NzdhNWNiYjM1MmJwLTQsCi0gICAgLTB4MS44MDBhYzM2MzM5OGM0cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcKLSAgICAweDEuODEyYmRmZTAyNDZiYmYyYTdhYjY0NzdhNWNiYjM1MmJwLTQsCi0gICAgMHgxLjgwMGFjMzYzMzk4YzRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOAotICAgIC0weDEuODUwZTU1NDRiMGM3OTdiMzYwMzRjOThlMTZmM2ZhZmJwLTQsCi0gICAgLTB4MS44M2U0NmFlZGJmZjM2cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAweDEuODUwZTU1NDRiMGM3OTdiMzYwMzRjOThlMTZmM2ZhZmJwLTQsCi0gICAgMHgxLjgzZTQ2YWVkYmZmMzZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MAotICAgIDB4MS5lNmI1ZDkxYmJhOTMzN2ZjMGNlYjY4NmM2MGNkMjliZHAtMiwKLSAgICAtMHgxLjgzZWNmNDJlOTI2NWFwMwotICB9LAotICB7IC8vIEVudHJ5IDQxCi0gICAgLTB4MS5lNmI1ZDkxYmJhOTMzN2ZjMGNlYjY4NmM2MGNkMjliZHAtMiwKLSAgICAweDEuODNlY2Y0MmU5MjY1YXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIKLSAgICAtMHgxLmYzNjg4YmMyNTk0ZTIwMTAyNTczY2ZmNDgxOTBhYzI4cC0xLAotICAgIC0weDEuOGJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMKLSAgICAweDEuZjM2ODhiYzI1OTRlMjAxMDI1NzNjZmY0ODE5MGFjMjhwLTEsCi0gICAgMHgxLjhiY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDQ0Ci0gICAgMHgxLmVjMGQwZmFjZGQwOGI3NzNhMWQ5MzQ4NGUyZDY2YzQ1cC0yLAotICAgIC0weDEuOGQyZmZmZmZmZmZkMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDUKLSAgICAtMHgxLmVjMGQwZmFjZGQwOGI3NzNhMWQ5MzQ4NGUyZDY2YzQ1cC0yLAotICAgIDB4MS44ZDJmZmZmZmZmZmQxcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NgotICAgIDB4MS5lYzAzMzZkNTM5MjU5NzY4OWI2NDBiZjA0OTIyNzMzOHAtMiwKLSAgICAtMHgxLjhkMzAwMGZmZmZmZDFwOQotICB9LAotICB7IC8vIEVudHJ5IDQ3Ci0gICAgLTB4MS5lYzAzMzZkNTM5MjU5NzY4OWI2NDBiZjA0OTIyNzMzOHAtMiwKLSAgICAweDEuOGQzMDAwZmZmZmZkMXA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAtMHgxLmY4MDkzYTAxNzAyMWY4MWMwMWMxMzE0NzVlNTBlNDlicC0xLAotICAgIC0weDEuYmFlZWU2ZjZmYTUzOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDkKLSAgICAweDEuZjgwOTNhMDE3MDIxZjgxYzAxYzEzMTQ3NWU1MGU0OWJwLTEsCi0gICAgMHgxLmJhZWVlNmY2ZmE1MzhwNgotICB9LAotICB7IC8vIEVudHJ5IDUwCi0gICAgMHgxLmRlYWYzNDk5NGI3ZTc3ZmQ1MmE0MDhmMGM2NzdlYWUxcDMsCi0gICAgLTB4MS5jNjg2N2UwNzQ1NWVhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MQotICAgIC0weDEuZGVhZjM0OTk0YjdlNzdmZDUyYTQwOGYwYzY3N2VhZTFwMywKLSAgICAweDEuYzY4NjdlMDc0NTVlYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIKLSAgICAtMHgxLmYyOWFhODdkNGUxZGQ4MWI3YjY5YWJlOTc5MGVlMGFicC0xLAotICAgIC0weDEuZDI3ZmZmZmZmZTBwNwotICB9LAotICB7IC8vIEVudHJ5IDUzCi0gICAgMHgxLmYyOWFhODdkNGUxZGQ4MWI3YjY5YWJlOTc5MGVlMGFicC0xLAotICAgIDB4MS5kMjdmZmZmZmZlMHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTQKLSAgICAweDEuNzYyZmI0N2ExOTI1OTdmZmZmZmZlZWVkYjI2ZmI5NzhwLTMsCi0gICAgLTB4MS5mMGRmMzgwMjljOWVmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIC0weDEuNzYyZmI0N2ExOTI1OTdmZmZmZmZlZWVkYjI2ZmI5NzhwLTMsCi0gICAgMHgxLmYwZGYzODAyOWM5ZWZwMwotICB9LAotICB7IC8vIEVudHJ5IDU2Ci0gICAgLTB4MS44ZWIyM2VmMjEyNmJiN2ZmZmQxNTNjN2ZmOTBlOWY2Y3AwLAotICAgIC0weDEuZmZmZmZjMDAwMGZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDU3Ci0gICAgMHgxLjhlYjIzZWYyMTI2YmI3ZmZmZDE1M2M3ZmY5MGU5ZjZjcDAsCi0gICAgMHgxLmZmZmZmYzAwMDBmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIC0weDEuZDI5OWQyODViZjAxODQyM2ZiYzE0ZWZjMDBlZDU3OTlwLTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZjcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OQotICAgIDB4MS5kMjk5ZDI4NWJmMDE4NDIzZmJjMTRlZmMwMGVkNTc5OXAtMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmY3AxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAKLSAgICAweDEucC0xMDc0LAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAtMHgxLnAtMTA3NCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIC0weDEuODJiZWU1NzJlMmFjOGM3NmQ2OTA5YzY2YjI4MmU5NjJwLTYsCi0gICAgMHgxLjBwNjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MwotICAgIDB4MS44MmJlZTU3MmUyYWM4Yzc2ZDY5MDljNjZiMjgyZTk2MnAtNiwKLSAgICAtMHgxLjBwNjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NAotICAgIDB4MS5mNTNhOGQwNWFmY2Y2YzRiZjJlMWU1MjA4YjM0ZDVjNnA0LAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDUxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUKLSAgICAtMHgxLmY1M2E4ZDA1YWZjZjZjNGJmMmUxZTUyMDhiMzRkNWM2cDQsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDUxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYKLSAgICAtMHgxLjZiMzcxZGY1OTgwY2QzZGIzNjc2OGUzNjA0NmE0YTgxcC0xLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDEwMTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIDB4MS42YjM3MWRmNTk4MGNkM2RiMzY3NjhlMzYwNDZhNGE4MXAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwMTAxNwotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgLTB4MS5iMzJlNzhmNDlhMGM4M2M3ZjYwYTNkYzNlZjhlY2YxZnAyLAotICAgIDB4MS4wMDAwMDAwMDAwMDAzcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OQotICAgIDB4MS5iMzJlNzhmNDlhMGM4M2M3ZjYwYTNkYzNlZjhlY2YxZnAyLAotICAgIC0weDEuMDAwMDAwMDAwMDAwM3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAKLSAgICAweDEuOThhZmJkMjQyNjRiYzNhOWQxODM4MDc0YTNkYWE1ZTVwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDNwMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MQotICAgIC0weDEuOThhZmJkMjQyNjRiYzNhOWQxODM4MDc0YTNkYWE1ZTVwLTEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAzcDIxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIKLSAgICAweDEuYjY2N2EyYWJlMzZjMjgwMzE1YzYyYTFmOTc0ZTc2MTFwMCwKLSAgICAweDEuMDAwMDAwMDAwMDAwM3A1MTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MwotICAgIC0weDEuYjY2N2EyYWJlMzZjMjgwMzE1YzYyYTFmOTc0ZTc2MTFwMCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDNwNTExCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQKLSAgICAweDEuMjA0YzI2YTQyNzg2MWZmZWZiNzM3OTZiY2YxZmQ3MjRwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDNwNzE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzUKLSAgICAtMHgxLjIwNGMyNmE0Mjc4NjFmZmVmYjczNzk2YmNmMWZkNzI0cC0yLAotICAgIC0weDEuMDAwMDAwMDAwMDAwM3A3MTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NgotICAgIDB4MS45MWM4ZjI5MzgyNjJjZTJlOWFkOTlhYjE3ZTQ2YWJkNnA0LAotICAgIDB4MS4wMDAwMDAwMDAwMDA3cDgKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NwotICAgIC0weDEuOTFjOGYyOTM4MjYyY2UyZTlhZDk5YWIxN2U0NmFiZDZwNCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDdwOAotICB9LAotICB7IC8vIEVudHJ5IDc4Ci0gICAgLTB4MS4yN2Y3ZjA4ODAwMzFmZTQyZWQxZDVmZWRjNDk2ZDE0ZXAtMiwKLSAgICAweDEuMDAwMDAwMDAwMDAzOHAzODAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OQotICAgIDB4MS4yN2Y3ZjA4ODAwMzFmZTQyZWQxZDVmZWRjNDk2ZDE0ZXAtMiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMzhwMzgwCi0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAtMHgxLmQ2ODkwY2MzMjcxMWQ0YjA0NjkwM2FkODg1MWE0MWJicC0zLAotICAgIDB4MS4wMDAwMDAwMDAwMTE4cDM4MAotICB9LAotICB7IC8vIEVudHJ5IDgxCi0gICAgMHgxLmQ2ODkwY2MzMjcxMWQ0YjA0NjkwM2FkODg1MWE0MWJicC0zLAotICAgIC0weDEuMDAwMDAwMDAwMDExOHAzODAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MgotICAgIDB4MS45YWYwZTZmNzJmOTEyN2ZmZmZjMDIwMGVhN2Y0MDZmNHAtMywKLSAgICAweDEuMDAwMDAwMDAwMDkwOHA1MDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MwotICAgIC0weDEuOWFmMGU2ZjcyZjkxMjdmZmZmYzAyMDBlYTdmNDA2ZjRwLTMsCi0gICAgLTB4MS4wMDAwMDAwMDAwOTA4cDUwMAotICB9LAotICB7IC8vIEVudHJ5IDg0Ci0gICAgMHgxLjE3YjRmNWJmNDQwOTc4MDAyZDY2ZjFiZDM3MDMyNTMycC0xLAotICAgIDB4MS4wMDAwMDAwMDBjMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDg1Ci0gICAgLTB4MS4xN2I0ZjViZjQ0MDk3ODAwMmQ2NmYxYmQzNzAzMjUzMnAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMGMwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODYKLSAgICAtMHgxLjE3ZWIyMmU0ZGJhNzI4MDBkMmEwMDA2OTgyNjNkNTgycDAsCi0gICAgMHgxLjAwMDAwMDAxY3A0MAotICB9LAotICB7IC8vIEVudHJ5IDg3Ci0gICAgMHgxLjE3ZWIyMmU0ZGJhNzI4MDBkMmEwMDA2OTgyNjNkNTgycDAsCi0gICAgLTB4MS4wMDAwMDAwMWNwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OAotICAgIDB4MS5mNmYwM2NlNTY5MGE2ZTM4ODBiOTVmZDhiMmM4MzYzZXAtMSwKLSAgICAweDEuMDAwMDAwMXAyNTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OQotICAgIC0weDEuZjZmMDNjZTU2OTBhNmUzODgwYjk1ZmQ4YjJjODM2M2VwLTEsCi0gICAgLTB4MS4wMDAwMDAxcDI1MAotICB9LAotICB7IC8vIEVudHJ5IDkwCi0gICAgMHgxLmUyM2I3ODI4MmE3NWQwZGQ2ZGEzNTY5MmQxNDJiYzYzcC0xLAotICAgIDB4MS4wMDAwMDA5ODhwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIC0weDEuZTIzYjc4MjgyYTc1ZDBkZDZkYTM1NjkyZDE0MmJjNjNwLTEsCi0gICAgLTB4MS4wMDAwMDA5ODhwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MgotICAgIC0weDEuOTgxYjY1N2UxY2EyNzAwOWQ4MmQ4ZTE4MzE0MjQwYjVwLTMsCi0gICAgMHgxLjAwMDAwYzBwNDI5Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMKLSAgICAweDEuOTgxYjY1N2UxY2EyNzAwOWQ4MmQ4ZTE4MzE0MjQwYjVwLTMsCi0gICAgLTB4MS4wMDAwMGMwcDQyOQotICB9LAotICB7IC8vIEVudHJ5IDk0Ci0gICAgLTB4MS40NTVhMjE4NGY0YzNkZmZiMDk4NjkxOWNlY2U2ODNhNHAtMSwKLSAgICAweDEuMDAwMDBmY3AxMDAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUKLSAgICAweDEuNDU1YTIxODRmNGMzZGZmYjA5ODY5MTljZWNlNjgzYTRwLTEsCi0gICAgLTB4MS4wMDAwMGZjcDEwMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NgotICAgIDB4MS44ZWU2Njk2MmYyMTBjODAwMDAwNTY4YzdkYWFkM2EyOHAwLAotICAgIDB4MS4wMDBmMzcxYjdhMDA2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NwotICAgIC0weDEuOGVlNjY5NjJmMjEwYzgwMDAwMDU2OGM3ZGFhZDNhMjhwMCwKLSAgICAtMHgxLjAwMGYzNzFiN2EwMDZwMAotICB9LAotICB7IC8vIEVudHJ5IDk4Ci0gICAgLTB4MS5lY2Q3NWNmNmQ0NjYzYmVlMWM5NmYwMzE4NGZhZTA4NnAtMywKLSAgICAweDEuMDAxcDE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTkKLSAgICAweDEuZWNkNzVjZjZkNDY2M2JlZTFjOTZmMDMxODRmYWUwODZwLTMsCi0gICAgLTB4MS4wMDFwMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAKLSAgICAweDEuMTdkNDIwMzMyNzdjYzgyNDRjY2I2ZTUxNTQ0ODIxMDVwLTEsCi0gICAgMHgxLjAwMTdmZmZmZmZmZmRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEKLSAgICAtMHgxLjE3ZDQyMDMzMjc3Y2M4MjQ0Y2NiNmU1MTU0NDgyMTA1cC0xLAotICAgIC0weDEuMDAxN2ZmZmZmZmZmZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMgotICAgIDB4MS44ZjA0ODgzMjE0NGI3MDAyMWNjZDdhNTI0NmNiMGIyMHAwLAotICAgIDB4MS4wMDE4MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzCi0gICAgLTB4MS44ZjA0ODgzMjE0NGI3MDAyMWNjZDdhNTI0NmNiMGIyMHAwLAotICAgIC0weDEuMDAxODBwMAotICB9LAotICB7IC8vIEVudHJ5IDEwNAotICAgIC0weDEuMTgyNzNjYzNlNzYzOTAwNzQzNzA0MDI4Y2ZiMTE0YTVwLTIsCi0gICAgMHgxLjAwMWZmZmVwNTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1Ci0gICAgMHgxLjE4MjczY2MzZTc2MzkwMDc0MzcwNDAyOGNmYjExNGE1cC0yLAotICAgIC0weDEuMDAxZmZmZXA1MDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYKLSAgICAtMHgxLmQ4ZjkwY2FkMzA1NDZjZTViODI2OGIzMzBjZTUwYTZmcC0yLAotICAgIDB4MS4wMThwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcKLSAgICAweDEuZDhmOTBjYWQzMDU0NmNlNWI4MjY4YjMzMGNlNTBhNmZwLTIsCi0gICAgLTB4MS4wMThwNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAweDEuYjA3OWVhMGQxNGE0YTdmZmMwNGJkNmZiZjQ1MWJiMzRwLTIsCi0gICAgMHgxLjAxYjhhNDg0YWMwYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIC0weDEuYjA3OWVhMGQxNGE0YTdmZmMwNGJkNmZiZjQ1MWJiMzRwLTIsCi0gICAgLTB4MS4wMWI4YTQ4NGFjMGI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAtMHgxLmE0MGMyNjJmNmFiOTk3ZmVmNDNiZjU0YWYzYzVhNzY1cC0xLAotICAgIDB4MS4wMjZhYzBlZjMyZDQwcDI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExCi0gICAgMHgxLmE0MGMyNjJmNmFiOTk3ZmVmNDNiZjU0YWYzYzVhNzY1cC0xLAotICAgIC0weDEuMDI2YWMwZWYzMmQ0MHAyOAotICB9LAotICB7IC8vIEVudHJ5IDExMgotICAgIDB4MS4wM2I4YzFmMzI5NjY1N2M2NTFhMTNlYjViMTAwZmM3OHAtNCwKLSAgICAweDEuMDM1ZmRjZDA4YTU5NnAtNAotICB9LAotICB7IC8vIEVudHJ5IDExMwotICAgIC0weDEuMDNiOGMxZjMyOTY2NTdjNjUxYTEzZWI1YjEwMGZjNzhwLTQsCi0gICAgLTB4MS4wMzVmZGNkMDhhNTk2cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0Ci0gICAgMHgxLjA0NDk3OWQxMzRlZDk3Yzc4YmZlNThhOTAwM2JmYWM1cC00LAotICAgIDB4MS4wM2ZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUKLSAgICAtMHgxLjA0NDk3OWQxMzRlZDk3Yzc4YmZlNThhOTAwM2JmYWM1cC00LAotICAgIC0weDEuMDNmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE2Ci0gICAgLTB4MS5lNzE3ZGU3ZGEyY2U4MzEwNjZiYWQxZGY1ZTg4YTAzMHAwLAotICAgIDB4MS4wNzBwMQotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIDB4MS5lNzE3ZGU3ZGEyY2U4MzEwNjZiYWQxZGY1ZTg4YTAzMHAwLAotICAgIC0weDEuMDcwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgKLSAgICAtMHgxLjhjODk2ZjYwN2ZmNTJiYmFlODZmNjNlMTlhOTg4ZDJicC0xLAotICAgIDB4MS4wNzBwMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkKLSAgICAweDEuOGM4OTZmNjA3ZmY1MmJiYWU4NmY2M2UxOWE5ODhkMmJwLTEsCi0gICAgLTB4MS4wNzBwMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAweDEuZmZmZmZmZmZmNWQ4NDZhZjZmMDE3MjYyYzljODFkZTRwLTEsCi0gICAgMHgxLjA3ZTRjZWY0Y2JiMGVwNAotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIC0weDEuZmZmZmZmZmZmNWQ4NDZhZjZmMDE3MjYyYzljODFkZTRwLTEsCi0gICAgLTB4MS4wN2U0Y2VmNGNiYjBlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIKLSAgICAweDEuYjQ3NmQzMmMxYjc0NTdmZmZmNjZlZGIzZjc4YTcwMDNwMCwKLSAgICAweDEuMGE1M2E3OGIxM2FiMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIzCi0gICAgLTB4MS5iNDc2ZDMyYzFiNzQ1N2ZmZmY2NmVkYjNmNzhhNzAwM3AwLAotICAgIC0weDEuMGE1M2E3OGIxM2FiMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI0Ci0gICAgMHgxLmYyZGY3YzAyZDIwY2Q4MWIzMzExN2MwMDU0NWY3YTZicC0xLAotICAgIDB4MS4wYWZiYzI2OGI5ODQ4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUKLSAgICAtMHgxLmYyZGY3YzAyZDIwY2Q4MWIzMzExN2MwMDU0NWY3YTZicC0xLAotICAgIC0weDEuMGFmYmMyNjhiOTg0OHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgLTB4MS5iNTcxYWY1NjJmMDhhNWEwM2RkODQ5Mzk5MGIyOWRiMXAwLAotICAgIDB4MS4wY2Q1ZDQzNWJlYTZkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcKLSAgICAweDEuYjU3MWFmNTYyZjA4YTVhMDNkZDg0OTM5OTBiMjlkYjFwMCwKLSAgICAtMHgxLjBjZDVkNDM1YmVhNmRwMQotICB9LAotICB7IC8vIEVudHJ5IDEyOAotICAgIC0weDEuYWM3M2QyOTIwYTc5NTUzMzZhYjJhMzQzNmM3N2MyNzZwMCwKLSAgICAweDEuMGUwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjkKLSAgICAweDEuYWM3M2QyOTIwYTc5NTUzMzZhYjJhMzQzNmM3N2MyNzZwMCwKLSAgICAtMHgxLjBlMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTMwCi0gICAgLTB4MS4xMjZkY2U4YWM3YzgxODAwMGNmY2YzZGYwNjZhNGEyZHAtMSwKLSAgICAweDEuMTA4NjIxMDg0MjEwOHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMxCi0gICAgMHgxLjEyNmRjZThhYzdjODE4MDAwY2ZjZjNkZjA2NmE0YTJkcC0xLAotICAgIC0weDEuMTA4NjIxMDg0MjEwOHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTMyCi0gICAgLTB4MS45NjgwYzAyNjAxMDQ2Y2E1MDZjMGUzZjc0NGRiMWQwYXAwLAotICAgIDB4MS4xMTBwMQotICB9LAotICB7IC8vIEVudHJ5IDEzMwotICAgIDB4MS45NjgwYzAyNjAxMDQ2Y2E1MDZjMGUzZjc0NGRiMWQwYXAwLAotICAgIC0weDEuMTEwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQKLSAgICAweDEuZDFlNzE2OTM0NDY5YjJiYzAyZmE4MzVhZTAxNDlmNThwMCwKLSAgICAweDEuMTE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzUKLSAgICAtMHgxLmQxZTcxNjkzNDQ2OWIyYmMwMmZhODM1YWUwMTQ5ZjU4cDAsCi0gICAgLTB4MS4xMThwMAotICB9LAotICB7IC8vIEVudHJ5IDEzNgotICAgIC0weDEuNmFhNzMxMDE0MzA4MzdmZmZmZmViYWFmZDQ1ZjdlZmFwLTEsCi0gICAgMHgxLjE5ZGYzODlmMzllMGFwMwotICB9LAotICB7IC8vIEVudHJ5IDEzNwotICAgIDB4MS42YWE3MzEwMTQzMDgzN2ZmZmZmZWJhYWZkNDVmN2VmYXAtMSwKLSAgICAtMHgxLjE5ZGYzODlmMzllMGFwMwotICB9LAotICB7IC8vIEVudHJ5IDEzOAotICAgIDB4MS5jYjlhOTkyMjdiZGM5NzJjZDQxNDU5NjljM2RjMzhjMXAxLAotICAgIDB4MS4xYzM1OTgyMTEwMTNhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzkKLSAgICAtMHgxLmNiOWE5OTIyN2JkYzk3MmNkNDE0NTk2OWMzZGMzOGMxcDEsCi0gICAgLTB4MS4xYzM1OTgyMTEwMTNhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDAKLSAgICAtMHgxLmJjMTA5YzNlNjE3MjQ1MGE1MzA4YjRjNmViMjg5OGNhcDcsCi0gICAgMHgxLjFkNjVhYTQyMjRjMzBwMTE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgMHgxLmJjMTA5YzNlNjE3MjQ1MGE1MzA4YjRjNmViMjg5OGNhcDcsCi0gICAgLTB4MS4xZDY1YWE0MjI0YzMwcDExOAotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIC0weDEuMDliMzkzZjQ4YjJjNjdmZmZmM2JkNTU5YzYzMjZlNjBwLTEsCi0gICAgMHgxLjFlNDY1ODI3MmRjNmZwMwotICB9LAotICB7IC8vIEVudHJ5IDE0MwotICAgIDB4MS4wOWIzOTNmNDhiMmM2N2ZmZmYzYmQ1NTljNjMyNmU2MHAtMSwKLSAgICAtMHgxLjFlNDY1ODI3MmRjNmZwMwotICB9LAotICB7IC8vIEVudHJ5IDE0NAotICAgIDB4MS4yMDAwMDAwMDAwMDc5ODAwMDAwMDAwM2Q4MjY2NjY2NnAtMjIsCi0gICAgMHgxLjJwLTIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ1Ci0gICAgLTB4MS4yMDAwMDAwMDAwMDc5ODAwMDAwMDAwM2Q4MjY2NjY2NnAtMjIsCi0gICAgLTB4MS4ycC0yMgotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIC0weDEuMDJhMzM1YjAwNzA3YTdmZmZmYmU0NTVhZGFiN2U4MTRwMCwKLSAgICAweDEuMjEyNzQwOTYyMGNhY3A5NQotICB9LAotICB7IC8vIEVudHJ5IDE0NwotICAgIDB4MS4wMmEzMzViMDA3MDdhN2ZmZmZiZTQ1NWFkYWI3ZTgxNHAwLAotICAgIC0weDEuMjEyNzQwOTYyMGNhY3A5NQotICB9LAotICB7IC8vIEVudHJ5IDE0OAotICAgIDB4MS4yNTA4YjljMTI3M2FjMDM0YzNjNzljNDA4OGUyYWNmZHAtNCwKLSAgICAweDEuMjQ4OTIyNDg5MjI0OHAtNAotICB9LAotICB7IC8vIEVudHJ5IDE0OQotICAgIC0weDEuMjUwOGI5YzEyNzNhYzAzNGMzYzc5YzQwODhlMmFjZmRwLTQsCi0gICAgLTB4MS4yNDg5MjI0ODkyMjQ4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUwCi0gICAgMHgxLmZkZWQ1ZjUzZDEzMmQyNmE4MjQ0YTYzZjliY2RmMTUzcDIsCi0gICAgMHgxLjJhNTJkMTE5ZGEwNjFwMjM3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTUxCi0gICAgLTB4MS5mZGVkNWY1M2QxMzJkMjZhODI0NGE2M2Y5YmNkZjE1M3AyLAotICAgIC0weDEuMmE1MmQxMTlkYTA2MXAyMzcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTIKLSAgICAweDEuMmRlNTZhNmVmOWM1ZDdlOWM3MTAzMDQwNzUzMGYxZDdwLTQsCi0gICAgMHgxLjJkNTllYmFiOGRhZTRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTMKLSAgICAtMHgxLjJkZTU2YTZlZjljNWQ3ZTljNzEwMzA0MDc1MzBmMWQ3cC00LAotICAgIC0weDEuMmQ1OWViYWI4ZGFlNHAtNAotICB9LAotICB7IC8vIEVudHJ5IDE1NAotICAgIDB4MS4zMTY2NWViMTkxZmJhODAwYjdlNzE1ZmQxMTcxNmM4Y3AtNCwKLSAgICAweDEuMzBkNWY4ZTU0YjZkOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDE1NQotICAgIC0weDEuMzE2NjVlYjE5MWZiYTgwMGI3ZTcxNWZkMTE3MTZjOGNwLTQsCi0gICAgLTB4MS4zMGQ1ZjhlNTRiNmQ4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU2Ci0gICAgMHgxLjNjYzFkNGQyOGJmZDE3ZmRlZDlhZTUwNDA3NTkwZjNmcC0yLAotICAgIDB4MS4zMzMyNzVkNjNlYzUwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU3Ci0gICAgLTB4MS4zY2MxZDRkMjhiZmQxN2ZkZWQ5YWU1MDQwNzU5MGYzZnAtMiwKLSAgICAtMHgxLjMzMzI3NWQ2M2VjNTBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTgKLSAgICAweDEuM2NjMjM3YzBjN2RjYmZmZjEwNDZhZDlhMDY4YWY1MTBwLTIsCi0gICAgMHgxLjMzMzJkMDIwYjZkYTlwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTkKLSAgICAtMHgxLjNjYzIzN2MwYzdkY2JmZmYxMDQ2YWQ5YTA2OGFmNTEwcC0yLAotICAgIC0weDEuMzMzMmQwMjBiNmRhOXAtMgotICB9LAotICB7IC8vIEVudHJ5IDE2MAotICAgIDB4MS41ZTQ3MmUxNjk5OWRmMDAwMDBmYzA2ZWU0NzRmYmZjOXAtMSwKLSAgICAweDEuMzMzMzMzNDAxZTY2YnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE2MQotICAgIC0weDEuNWU0NzJlMTY5OTlkZjAwMDAwZmMwNmVlNDc0ZmJmYzlwLTEsCi0gICAgLTB4MS4zMzMzMzM0MDFlNjZicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTYyCi0gICAgMHgxLmI1ZWQxYzIwODBhOTg3ZmM4NGYyNmVjOTU4YjJhYzQ3cC0xLAotICAgIDB4MS4zOGYxMzdjYjlkYmZjcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjMKLSAgICAtMHgxLmI1ZWQxYzIwODBhOTg3ZmM4NGYyNmVjOTU4YjJhYzQ3cC0xLAotICAgIC0weDEuMzhmMTM3Y2I5ZGJmY3A5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY0Ci0gICAgMHgxLjAxYWEyMmUyMTMzZDM3ZmZmZmYyYTBjMDgwOTMzNThlcDEsCi0gICAgMHgxLjM5YTM4M2YzZmEwMDNwODUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjUKLSAgICAtMHgxLjAxYWEyMmUyMTMzZDM3ZmZmZmYyYTBjMDgwOTMzNThlcDEsCi0gICAgLTB4MS4zOWEzODNmM2ZhMDAzcDg1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgMHgxLmZmZmZmZmZmZmY1ODIzNjMyMjgxOWQwNjBlYjY3YzNjcC0xLAotICAgIDB4MS4zYTI4YzU5ZDU0MzExcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjcKLSAgICAtMHgxLmZmZmZmZmZmZmY1ODIzNjMyMjgxOWQwNjBlYjY3YzNjcC0xLAotICAgIC0weDEuM2EyOGM1OWQ1NDMxMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY4Ci0gICAgMHgxLjcxNjY2ODlkNDgwM2U4M2QyYjZiMWQxNWY1YWNhMjZlcC0xLAotICAgIDB4MS40MDAwMDAwMDAzZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY5Ci0gICAgLTB4MS43MTY2Njg5ZDQ4MDNlODNkMmI2YjFkMTVmNWFjYTI2ZXAtMSwKLSAgICAtMHgxLjQwMDAwMDAwMDNmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzAKLSAgICAtMHgxLmZmN2QyN2IzN2ViYTA4MTkxOTllNTMzY2M1MDE2ZjBkcC0xLAotICAgIDB4MS40MDcyNGE0NDcxNGNmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzEKLSAgICAweDEuZmY3ZDI3YjM3ZWJhMDgxOTE5OWU1MzNjYzUwMTZmMGRwLTEsCi0gICAgLTB4MS40MDcyNGE0NDcxNGNmcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzIKLSAgICAweDEuNDUzYTdkMjlkYWRhZDdjMGRkYTc4YTczOThiZTA4NzNwLTQsCi0gICAgMHgxLjQ0OGMyZDZlMWUxYWZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzMKLSAgICAtMHgxLjQ1M2E3ZDI5ZGFkYWQ3YzBkZGE3OGE3Mzk4YmUwODczcC00LAotICAgIC0weDEuNDQ4YzJkNmUxZTFhZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDE3NAotICAgIC0weDEuYTUwZjc2MDE0MTNlNTNhYjFjNWEyZjBkNjc2YzM5N2NwMCwKLSAgICAweDEuNDc4ZmMwOHA0MwotICB9LAotICB7IC8vIEVudHJ5IDE3NQotICAgIDB4MS5hNTBmNzYwMTQxM2U1M2FiMWM1YTJmMGQ2NzZjMzk3Y3AwLAotICAgIC0weDEuNDc4ZmMwOHA0MwotICB9LAotICB7IC8vIEVudHJ5IDE3NgotICAgIC0weDEuYTk5OTFhY2I3NjM2YmVlZTViMWE1ZDM1YThhODk5MTdwLTQsCi0gICAgMHgxLjRlOTNiZWU3MmI1NjVwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzcKLSAgICAweDEuYTk5OTFhY2I3NjM2YmVlZTViMWE1ZDM1YThhODk5MTdwLTQsCi0gICAgLTB4MS40ZTkzYmVlNzJiNTY1cDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTc4Ci0gICAgMHgxLjI5NTIzOTY5NDU5NDdiNzI2ZWJmMDI1YThiYTA3MDkzcDEsCi0gICAgMHgxLjRmMGYzMDhwNDg4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTc5Ci0gICAgLTB4MS4yOTUyMzk2OTQ1OTQ3YjcyNmViZjAyNWE4YmEwNzA5M3AxLAotICAgIC0weDEuNGYwZjMwOHA0ODgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODAKLSAgICAweDEuNTA3OGNlYmZmOWM3MjgwMDAwMDAwMDAwMDAwMjRkZjhwLTUsCi0gICAgMHgxLjUwNDg2YjJmODcwMTRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODEKLSAgICAtMHgxLjUwNzhjZWJmZjljNzI4MDAwMDAwMDAwMDAwMDI0ZGY4cC01LAotICAgIC0weDEuNTA0ODZiMmY4NzAxNHAtNQotICB9LAotICB7IC8vIEVudHJ5IDE4MgotICAgIC0weDEuMWM5MjliNmVkZTllZTgwMDAwNDBhM2QxY2E5MGE5ZjRwLTEsCi0gICAgMHgxLjUxMzBkNTUyZjEwMzZwMQotICB9LAotICB7IC8vIEVudHJ5IDE4MwotICAgIDB4MS4xYzkyOWI2ZWRlOWVlODAwMDA0MGEzZDFjYTkwYTlmNHAtMSwKLSAgICAtMHgxLjUxMzBkNTUyZjEwMzZwMQotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIDB4MS4yYWIzMTg5ZTJkNGFlNDFjMWFmZjNjYzMwY2ZlZGQzMHAxLAotICAgIDB4MS41MmYwMGUwcDc5MwotICB9LAotICB7IC8vIEVudHJ5IDE4NQotICAgIC0weDEuMmFiMzE4OWUyZDRhZTQxYzFhZmYzY2MzMGNmZWRkMzBwMSwKLSAgICAtMHgxLjUyZjAwZTBwNzkzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTg2Ci0gICAgLTB4MS43ZDJlNjNmYjk4ODkwN2ExMDkwOTFkMTMwZjlmMjBkMXAwLAotICAgIDB4MS41MzcxNjg0ZTVmYjM0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODcKLSAgICAweDEuN2QyZTYzZmI5ODg5MDdhMTA5MDkxZDEzMGY5ZjIwZDFwMCwKLSAgICAtMHgxLjUzNzE2ODRlNWZiMzRwMgotICB9LAotICB7IC8vIEVudHJ5IDE4OAotICAgIC0weDEuZjlmNGYwZGE0ZGU1NDQ5OTI4M2E4YWMyZjU1ZjcyNThwLTEsCi0gICAgMHgxLjU0ZWYyMjA4OTU2cDIzOQotICB9LAotICB7IC8vIEVudHJ5IDE4OQotICAgIDB4MS5mOWY0ZjBkYTRkZTU0NDk5MjgzYThhYzJmNTVmNzI1OHAtMSwKLSAgICAtMHgxLjU0ZWYyMjA4OTU2cDIzOQotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIDB4MS4xNDgzMDczMTQyZTYwODAwOGY4ODQ5ZGFmNWY4YzU4ZHAyLAotICAgIDB4MS41N2U1OTBhZjA5MDE0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTEKLSAgICAtMHgxLjE0ODMwNzMxNDJlNjA4MDA4Zjg4NDlkYWY1ZjhjNThkcDIsCi0gICAgLTB4MS41N2U1OTBhZjA5MDE0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTIKLSAgICAweDEuOTk3MmQ0MDIxYzk3MTU2MzkzNjA1NWQ4YzFlYWFlMGFwLTEsCi0gICAgMHgxLjU5NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE5MwotICAgIC0weDEuOTk3MmQ0MDIxYzk3MTU2MzkzNjA1NWQ4YzFlYWFlMGFwLTEsCi0gICAgLTB4MS41OTZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTQKLSAgICAtMHgxLmU1MDFmZmQzYTY4YzM4MzM2ZDk3N2Y2MzQzMjZhMzQycC0yLAotICAgIDB4MS41OTgxMjkzNzgzZTFmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTUKLSAgICAweDEuZTUwMWZmZDNhNjhjMzgzMzZkOTc3ZjYzNDMyNmEzNDJwLTIsCi0gICAgLTB4MS41OTgxMjkzNzgzZTFmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTYKLSAgICAweDEuMTYwNGNjM2RmYzQxODFjM2U5NDgxNTU4NDY3YTg1ZmVwLTEsCi0gICAgMHgxLjViZWEwMTBwNDY4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk3Ci0gICAgLTB4MS4xNjA0Y2MzZGZjNDE4MWMzZTk0ODE1NTg0NjdhODVmZXAtMSwKLSAgICAtMHgxLjViZWEwMTBwNDY4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk4Ci0gICAgLTB4MS5mNzZjYTUwYmJiYWViMDEyYmVhZGUyYTMyOGU1ZmMwM3AtMSwKLSAgICAweDEuNjA2NjFjMTk2OTY2NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTk5Ci0gICAgMHgxLmY3NmNhNTBiYmJhZWIwMTJiZWFkZTJhMzI4ZTVmYzAzcC0xLAotICAgIC0weDEuNjA2NjFjMTk2OTY2NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAwCi0gICAgMHgxLmNkOGI3M2M5NDMwZmVmNzVkYzcxMGZmZGZlMDkxYjQycDAsCi0gICAgMHgxLjYyYzVhODUwYTE0MmFwNTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICAtMHgxLmNkOGI3M2M5NDMwZmVmNzVkYzcxMGZmZGZlMDkxYjQycDAsCi0gICAgLTB4MS42MmM1YTg1MGExNDJhcDU5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAyCi0gICAgMHgxLjNhY2NmZDQ1M2VlNjcyOTYwODgzNzhmNTgyZWFjYjAycDAsCi0gICAgMHgxLjY0ZWY0MzhwMTQyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgLTB4MS4zYWNjZmQ0NTNlZTY3Mjk2MDg4Mzc4ZjU4MmVhY2IwMnAwLAotICAgIC0weDEuNjRlZjQzOHAxNDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDQKLSAgICAtMHgxLmFjZDkzMDJkNzJkZTRiZDhkZGE4ZjU2NTBiNzdlNzMycC0xLAotICAgIDB4MS42NThwMgotICB9LAotICB7IC8vIEVudHJ5IDIwNQotICAgIDB4MS5hY2Q5MzAyZDcyZGU0YmQ4ZGRhOGY1NjUwYjc3ZTczMnAtMSwKLSAgICAtMHgxLjY1OHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA2Ci0gICAgMHgxLmYwMDRmODc1YzJlNzM4MTU5YzdkNzVhMzk4MGNhZmQ3cC0xLAotICAgIDB4MS42NjAzYzY1ZDM0OGQycDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDcKLSAgICAtMHgxLmYwMDRmODc1YzJlNzM4MTU5YzdkNzVhMzk4MGNhZmQ3cC0xLAotICAgIC0weDEuNjYwM2M2NWQzNDhkMnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA4Ci0gICAgMHgxLmY1MzQ5NmU2ZDdmNzE4MWE2MmZlYzRjOGE3MTA5MDBlcC0xLAotICAgIDB4MS42NjBlNmJmMmUwOTJhcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDkKLSAgICAtMHgxLmY1MzQ5NmU2ZDdmNzE4MWE2MmZlYzRjOGE3MTA5MDBlcC0xLAotICAgIC0weDEuNjYwZTZiZjJlMDkyYXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjEwCi0gICAgMHgxLmI2NGVlMjRmMDExOWM4MDBkNWQwYmIxMGEzOWFjYTRlcC0xLAotICAgIDB4MS42YThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTEKLSAgICAtMHgxLmI2NGVlMjRmMDExOWM4MDBkNWQwYmIxMGEzOWFjYTRlcC0xLAotICAgIC0weDEuNmE4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEyCi0gICAgLTB4MS5kOWJhOWE3OTc1NjM1YTNhY2MzMjRlNmFlZGE0NTEzM3A2MCwKLSAgICAweDEuNmFjNWIyNjJjYTFmZnA4NDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTMKLSAgICAweDEuZDliYTlhNzk3NTYzNWEzYWNjMzI0ZTZhZWRhNDUxMzNwNjAsCi0gICAgLTB4MS42YWM1YjI2MmNhMWZmcDg0OQotICB9LAotICB7IC8vIEVudHJ5IDIxNAotICAgIDB4MS5iNmY1NTdiOTk5ZTIyZTBkYjEwYTkyYjkwOGU4NzdmNnAtMSwKLSAgICAweDEuNmFlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE1Ci0gICAgLTB4MS5iNmY1NTdiOTk5ZTIyZTBkYjEwYTkyYjkwOGU4NzdmNnAtMSwKLSAgICAtMHgxLjZhZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDIxNgotICAgIDB4MS5jMWUxZDVjNGMwZjA3N2ZjODcxZDRiZDBhMDNjNjQzMXAtMSwKLSAgICAweDEuNmNkYjM2Y2RiMzZjOXAyMzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTcKLSAgICAtMHgxLmMxZTFkNWM0YzBmMDc3ZmM4NzFkNGJkMGEwM2M2NDMxcC0xLAotICAgIC0weDEuNmNkYjM2Y2RiMzZjOXAyMzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAweDEuOTViY2U0ZjU3ODY5NzgwNzhjMzEwMjEwZGNlZDZmM2ZwLTEsCi0gICAgMHgxLjZmMWFmMTYxMjI3MGFwNgotICB9LAotICB7IC8vIEVudHJ5IDIxOQotICAgIC0weDEuOTViY2U0ZjU3ODY5NzgwNzhjMzEwMjEwZGNlZDZmM2ZwLTEsCi0gICAgLTB4MS42ZjFhZjE2MTIyNzBhcDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjAKLSAgICAweDEuNzExZThmNWZmZmJhMWY1OTk1OTVmYmFhYzViNzBlMGJwLTQsCi0gICAgMHgxLjcwMnAtNAotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIC0weDEuNzExZThmNWZmZmJhMWY1OTk1OTVmYmFhYzViNzBlMGJwLTQsCi0gICAgLTB4MS43MDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjIKLSAgICAweDEuZmI1ODk4ZjI5YmIyNTdmZGE2ZjJiZWRmYzQ5MWFiYWVwMiwKLSAgICAweDEuNzIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjMKLSAgICAtMHgxLmZiNTg5OGYyOWJiMjU3ZmRhNmYyYmVkZmM0OTFhYmFlcDIsCi0gICAgLTB4MS43MjBwMAotICB9LAotICB7IC8vIEVudHJ5IDIyNAotICAgIC0weDEuZmY5Yjc3MTI4NGQyMzI5MGNkZDgzNzE3Y2M5MDU3NzNwMSwKLSAgICAweDEuNzM0OGMzNDdkZGMyMHAyMzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjUKLSAgICAweDEuZmY5Yjc3MTI4NGQyMzI5MGNkZDgzNzE3Y2M5MDU3NzNwMSwKLSAgICAtMHgxLjczNDhjMzQ3ZGRjMjBwMjM5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjI2Ci0gICAgMHgxLmY3MmQ0N2EwMDgwZTJkM2QwNDA4NjNkNTZkYmI1NjdlcC0yLAotICAgIDB4MS43MzljZTczOWNlNzM4cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDIyNwotICAgIC0weDEuZjcyZDQ3YTAwODBlMmQzZDA0MDg2M2Q1NmRiYjU2N2VwLTIsCi0gICAgLTB4MS43MzljZTczOWNlNzM4cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDIyOAotICAgIDB4MS43NjQ0MWU3ZjhlYTVmODAwMDAwMWQxYzVjODRmMTA0ZXAtNCwKLSAgICAweDEuNzUzYWNjM2QzZmYzNXAtNAotICB9LAotICB7IC8vIEVudHJ5IDIyOQotICAgIC0weDEuNzY0NDFlN2Y4ZWE1ZjgwMDAwMDFkMWM1Yzg0ZjEwNGVwLTQsCi0gICAgLTB4MS43NTNhY2MzZDNmZjM1cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMwCi0gICAgMHgxLmNlM2Y2NDJlMTVhZjNjOTIxZGQ3MTI5ZGI1ZTM5MzQycC0xLAotICAgIDB4MS43N2ZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMxCi0gICAgLTB4MS5jZTNmNjQyZTE1YWYzYzkyMWRkNzEyOWRiNWUzOTM0MnAtMSwKLSAgICAtMHgxLjc3ZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzIKLSAgICAweDEuZjQyNTAwMmE1NDhlYjQwNTQ1MDk3MGEzNTNkMzA3ZjdwNDIsCi0gICAgMHgxLjc4ZmRiOWVmZmVhMjZwNAotICB9LAotICB7IC8vIEVudHJ5IDIzMwotICAgIC0weDEuZjQyNTAwMmE1NDhlYjQwNTQ1MDk3MGEzNTNkMzA3ZjdwNDIsCi0gICAgLTB4MS43OGZkYjllZmZlYTI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzQKLSAgICAtMHgxLmRiYzgwZGU3ZGQwNDJhOTM3MWUxYjQ1NzE4ZTUxYmFicC0xLAotICAgIDB4MS43YTVmNzQ2MDdlODUxcDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM1Ci0gICAgMHgxLmRiYzgwZGU3ZGQwNDJhOTM3MWUxYjQ1NzE4ZTUxYmFicC0xLAotICAgIC0weDEuN2E1Zjc0NjA3ZTg1MXAxOQotICB9LAotICB7IC8vIEVudHJ5IDIzNgotICAgIDB4MS43YjNiYjNkMGIzY2E0MmYxMzIwNzg0Mjg5OWUwYmE3MXA0MiwKLSAgICAweDEuN2Y3ZWY3N2U4M2YxYXAxOQotICB9LAotICB7IC8vIEVudHJ5IDIzNwotICAgIC0weDEuN2IzYmIzZDBiM2NhNDJmMTMyMDc4NDI4OTllMGJhNzFwNDIsCi0gICAgLTB4MS43ZjdlZjc3ZTgzZjFhcDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjM4Ci0gICAgMHgxLmU3ZjA1YjcxY2QyZDBmYjRkZjZhNDMzNzVjZDhmNjcwcDMzLAotICAgIDB4MS43ZjdmMTBhMDdmNDVlcDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM5Ci0gICAgLTB4MS5lN2YwNWI3MWNkMmQwZmI0ZGY2YTQzMzc1Y2Q4ZjY3MHAzMywKLSAgICAtMHgxLjdmN2YxMGEwN2Y0NWVwMjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDAKLSAgICAweDEuODAwMDAwMDAwMDAwMzgwMDAwMDAwMDAwMDczMzMzMzNwLTI1LAotICAgIDB4MS43ZmZmZmZmZmZmZmZmcC0yNQotICB9LAotICB7IC8vIEVudHJ5IDI0MQotICAgIC0weDEuODAwMDAwMDAwMDAwMzgwMDAwMDAwMDAwMDczMzMzMzNwLTI1LAotICAgIC0weDEuN2ZmZmZmZmZmZmZmZnAtMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDIKLSAgICAweDEuODAwMDAwMDAwMDAwNjgwMDAwMDAwMDAwMjIzMzMzMzNwLTI1LAotICAgIDB4MS44MDAwMDAwMDAwMDAycC0yNQotICB9LAotICB7IC8vIEVudHJ5IDI0MwotICAgIC0weDEuODAwMDAwMDAwMDAwNjgwMDAwMDAwMDAwMjIzMzMzMzNwLTI1LAotICAgIC0weDEuODAwMDAwMDAwMDAwMnAtMjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDQKLSAgICAweDEuMjQyNDVhZjRjZDk5NGU5YjNiYmE5OTJkMTAxNjM2NWJwLTUyLAotICAgIDB4MS44MWFlMGRmZmEzYjMzcDk1OQotICB9LAotICB7IC8vIEVudHJ5IDI0NQotICAgIC0weDEuMjQyNDVhZjRjZDk5NGU5YjNiYmE5OTJkMTAxNjM2NWJwLTUyLAotICAgIC0weDEuODFhZTBkZmZhM2IzM3A5NTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDYKLSAgICAweDEuZDcyMjYxZDk4ZTI2YjdmZmEzMDBkODlmZDQ2ZmI3NzVwLTEsCi0gICAgMHgxLjg0NmJkN2E0ZGNlNTVwNjk4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ3Ci0gICAgLTB4MS5kNzIyNjFkOThlMjZiN2ZmYTMwMGQ4OWZkNDZmYjc3NXAtMSwKLSAgICAtMHgxLjg0NmJkN2E0ZGNlNTVwNjk4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgMHgxLjQyZDhhMWJhNDQxYWQ0MDI4YWM3ZjFhNmE1ZWUwYzU0cDEsCi0gICAgMHgxLjg3MjA1ODhwMzkyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ5Ci0gICAgLTB4MS40MmQ4YTFiYTQ0MWFkNDAyOGFjN2YxYTZhNWVlMGM1NHAxLAotICAgIC0weDEuODcyMDU4OHAzOTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAweDEuZWE3YjQ0NGNkNzk4ZDdmYWVlZmYwOTNmMWQ5OTcxYWRwLTEsCi0gICAgMHgxLjg3MjJhNjdlYTE0YWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTEKLSAgICAtMHgxLmVhN2I0NDRjZDc5OGQ3ZmFlZWZmMDkzZjFkOTk3MWFkcC0xLAotICAgIC0weDEuODcyMmE2N2VhMTRhY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDI1MgotICAgIC0weDEuYzdkYzdmMDhkYmJhMDg5ZjJkN2U4OTAwMjFiZWRjYjdwLTEsCi0gICAgMHgxLjg5OTM2Yzg4MjhkMzhwMjk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUzCi0gICAgMHgxLmM3ZGM3ZjA4ZGJiYTA4OWYyZDdlODkwMDIxYmVkY2I3cC0xLAotICAgIC0weDEuODk5MzZjODgyOGQzOHAyOTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTQKLSAgICAweDEuNTY5NjUzZTMxOWJiYTgwMDAwMGM4MzYzMmU0M2FiZGVwMSwKLSAgICAweDEuOGE2OTEwNmZiOTc5OHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU1Ci0gICAgLTB4MS41Njk2NTNlMzE5YmJhODAwMDAwYzgzNjMyZTQzYWJkZXAxLAotICAgIC0weDEuOGE2OTEwNmZiOTc5OHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU2Ci0gICAgMHgxLmYyZGIyMTQ2OWYzZDU4MTlmYTliYThkY2NiZmY5MTRhcC0xLAotICAgIDB4MS44Yjc3N2UxZDIzMDhjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU3Ci0gICAgLTB4MS5mMmRiMjE0NjlmM2Q1ODE5ZmE5YmE4ZGNjYmZmOTE0YXAtMSwKLSAgICAtMHgxLjhiNzc3ZTFkMjMwOGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTgKLSAgICAweDEuZjM2ODhiYzI1OTRlMjAxMDI1NzNjZmY0ODE5MGFjMjhwLTEsCi0gICAgMHgxLjhiY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDI1OQotICAgIC0weDEuZjM2ODhiYzI1OTRlMjAxMDI1NzNjZmY0ODE5MGFjMjhwLTEsCi0gICAgLTB4MS44YmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjAKLSAgICAweDEuOGQzYTI1NDQ1NjZkZjdiNTU5YjRhYzQ4ZTEyZWFjNzFwLTQsCi0gICAgMHgxLjhiZmQyMjc0ZDg1MWFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjEKLSAgICAtMHgxLjhkM2EyNTQ0NTY2ZGY3YjU1OWI0YWM0OGUxMmVhYzcxcC00LAotICAgIC0weDEuOGJmZDIyNzRkODUxYXAtNAotICB9LAotICB7IC8vIEVudHJ5IDI2MgotICAgIDB4MS5mNDU3NWNjNGU0NzdmMDE5ZGFiNWQwMTAzYWFmOTFjZnAtMSwKLSAgICAweDEuOGMzYTQ1MDA3MWRkOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI2MwotICAgIC0weDEuZjQ1NzVjYzRlNDc3ZjAxOWRhYjVkMDEwM2FhZjkxY2ZwLTEsCi0gICAgLTB4MS44YzNhNDUwMDcxZGQ5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY0Ci0gICAgLTB4MS4xZTA5ZjY2YzQyNTBiOTRlOTAzMGNhZGQwMDg1MTE1OHAxMSwKLSAgICAweDEuOGNjMGRkMmIwZjRiOHAyMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjUKLSAgICAweDEuMWUwOWY2NmM0MjUwYjk0ZTkwMzBjYWRkMDA4NTExNThwMTEsCi0gICAgLTB4MS44Y2MwZGQyYjBmNGI4cDIwMAotICB9LAotICB7IC8vIEVudHJ5IDI2NgotICAgIDB4MS5mNzE0OTZjYjkyMWU1YTRkMmYzOTA0NmE2MjhiNjUwOXAtMSwKLSAgICAweDEuOGRhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjY3Ci0gICAgLTB4MS5mNzE0OTZjYjkyMWU1YTRkMmYzOTA0NmE2MjhiNjUwOXAtMSwKLSAgICAtMHgxLjhkYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDI2OAotICAgIDB4MS5mNzFiNGE2NTkxMTY5ODE5NDc2ZTZiNzU5YzdhYWU1MnAtMSwKLSAgICAweDEuOGRhMzY4ZGEzNjhkOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDI2OQotICAgIC0weDEuZjcxYjRhNjU5MTE2OTgxOTQ3NmU2Yjc1OWM3YWFlNTJwLTEsCi0gICAgLTB4MS44ZGEzNjhkYTM2OGQ4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgMHgxLmZmOWI2OGNjYWRiMmZmNjJjMjY4NjQyODhlZDZhNGRmcC0xLAotICAgIDB4MS45MWVkNjRiOTc3YTlhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgLTB4MS5mZjliNjhjY2FkYjJmZjYyYzI2ODY0Mjg4ZWQ2YTRkZnAtMSwKLSAgICAtMHgxLjkxZWQ2NGI5NzdhOWFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzIKLSAgICAweDEuMDAwMDAwMDAyOTA0ODQ3NzlmYTQ5MWM3MjhhZWY5NDVwMTgsCi0gICAgMHgxLjkyMWY3NTQ0NDJkMTlwMAotICB9LAotICB7IC8vIEVudHJ5IDI3MwotICAgIC0weDEuMDAwMDAwMDAyOTA0ODQ3NzlmYTQ5MWM3MjhhZWY5NDVwMTgsCi0gICAgLTB4MS45MjFmNzU0NDQyZDE5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzQKLSAgICAweDEuZWVmMDY3YWZkMzI4ZjMxMWNlMmM3YTFmNDIwYTU5ODNwNDgsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTBwMAotICB9LAotICB7IC8vIEVudHJ5IDI3NQotICAgIC0weDEuZWVmMDY3YWZkMzI4ZjMxMWNlMmM3YTFmNDIwYTU5ODNwNDgsCi0gICAgLTB4MS45MjFmYjU0NDQyZDEwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzYKLSAgICAweDEuMDAwMDAwMDAwM2FmMmYyMjNlYjFlNzA5Y2JhMDBlYzNwLTE3LAotICAgIDB4MS45MjFmZjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzcKLSAgICAtMHgxLjAwMDAwMDAwMDNhZjJmMjIzZWIxZTcwOWNiYTAwZWMzcC0xNywKLSAgICAtMHgxLjkyMWZmNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDI3OAotICAgIC0weDEuYjY3NzJjYjY2N2RjMTg3YjdkMDE5ZDFkNzIzMmM5ZTdwMTcsCi0gICAgMHgxLjkyMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc5Ci0gICAgMHgxLmI2NzcyY2I2NjdkYzE4N2I3ZDAxOWQxZDcyMzJjOWU3cDE3LAotICAgIC0weDEuOTIycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAtMHgxLmZmZmZmZmZjZWVlZmU3OTFiZTIwNzQ3NzlmZDFkZDllcC0xLAotICAgIDB4MS45MjIwNzFjMzFmYzk5cDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgxCi0gICAgMHgxLmZmZmZmZmZjZWVlZmU3OTFiZTIwNzQ3NzlmZDFkZDllcC0xLAotICAgIC0weDEuOTIyMDcxYzMxZmM5OXAyMAotICB9LAotICB7IC8vIEVudHJ5IDI4MgotICAgIDB4MS45ZDdjMTM1NGJhNmY3ODFjOGIwNDQwODA5NGY0NTI4NHAtMywKLSAgICAweDEuOTdmZmZmZmZmZmZmZnAtMwotICB9LAotICB7IC8vIEVudHJ5IDI4MwotICAgIC0weDEuOWQ3YzEzNTRiYTZmNzgxYzhiMDQ0MDgwOTRmNDUyODRwLTMsCi0gICAgLTB4MS45N2ZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg0Ci0gICAgMHgxLjlhZjg4NzdiYjQ1ZTQ3ZmZmZmU5NjEwODRiMmMwYmVhcC00LAotICAgIDB4MS45OTk5OTlhMTBhMTNjcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjg1Ci0gICAgLTB4MS45YWY4ODc3YmI0NWU0N2ZmZmZlOTYxMDg0YjJjMGJlYXAtNCwKLSAgICAtMHgxLjk5OTk5OWExMGExM2NwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODYKLSAgICAtMHgxLmI2Y2UxMjg1ODdjZDA3ZmZmZjc1N2FiZGEyOTRjMTUxcDQsCi0gICAgMHgxLjliNzQ0NDZlZDA1ZGNwMAotICB9LAotICB7IC8vIEVudHJ5IDI4NwotICAgIDB4MS5iNmNlMTI4NTg3Y2QwN2ZmZmY3NTdhYmRhMjk0YzE1MXA0LAotICAgIC0weDEuOWI3NDQ0NmVkMDVkY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgMHgxLmZmNjVhZWY1NGM4ZmM4MDQyODQxMDcxYjQ1YjZkN2Q5cC0xLAotICAgIDB4MS45ZWFlNDk0ZDJiMjc1cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODkKLSAgICAtMHgxLmZmNjVhZWY1NGM4ZmM4MDQyODQxMDcxYjQ1YjZkN2Q5cC0xLAotICAgIC0weDEuOWVhZTQ5NGQyYjI3NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjkwCi0gICAgMHgxLjYxNzc2YWE0MDdhNDM3ZjYxN2ZjYWRiMTVjN2Y2MWMycC0zLAotICAgIDB4MS5hODBwMQotICB9LAotICB7IC8vIEVudHJ5IDI5MQotICAgIC0weDEuNjE3NzZhYTQwN2E0MzdmNjE3ZmNhZGIxNWM3ZjYxYzJwLTMsCi0gICAgLTB4MS5hODBwMQotICB9LAotICB7IC8vIEVudHJ5IDI5MgotICAgIDB4MS5iNjAwMWRlMTNhZDk1ODAwNzNhY2JhNGFhNDIzZTJkOXAtMywKLSAgICAweDEuYWY4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMjkzCi0gICAgLTB4MS5iNjAwMWRlMTNhZDk1ODAwNzNhY2JhNGFhNDIzZTJkOXAtMywKLSAgICAtMHgxLmFmOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDI5NAotICAgIDB4MS5iNWEwNTAzYWUzNTRiN2ExNmY3YzUwZjhiM2JlZjJjYXAtNCwKLSAgICAweDEuYjNmOGVhN2IxZjkxYnAtNAotICB9LAotICB7IC8vIEVudHJ5IDI5NQotICAgIC0weDEuYjVhMDUwM2FlMzU0YjdhMTZmN2M1MGY4YjNiZWYyY2FwLTQsCi0gICAgLTB4MS5iM2Y4ZWE3YjFmOTFicC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjk2Ci0gICAgMHgxLmI1YTA1MDNhZTRjN2I3OTI1MzczMjdmNDI0NWFjNmZicC00LAotICAgIDB4MS5iM2Y4ZWE3YjIxMDA4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjk3Ci0gICAgLTB4MS5iNWEwNTAzYWU0YzdiNzkyNTM3MzI3ZjQyNDVhYzZmYnAtNCwKLSAgICAtMHgxLmIzZjhlYTdiMjEwMDhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTgKLSAgICAweDEuMDU3NTg0YzQyOWIzYTZlYTBhNjVjYWZmOTg2MzQ0OTBwNTksCi0gICAgMHgxLmI5NTFmMTU3MmViYTVwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTkKLSAgICAtMHgxLjA1NzU4NGM0MjliM2E2ZWEwYTY1Y2FmZjk4NjM0NDkwcDU5LAotICAgIC0weDEuYjk1MWYxNTcyZWJhNXAyMwotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIC0weDEuOWEyODJmYTFmZjdkOTgwMzliZTNiZjViMzljYzZkODlwMiwKLSAgICAweDEuYjljcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDEKLSAgICAweDEuOWEyODJmYTFmZjdkOTgwMzliZTNiZjViMzljYzZkODlwMiwKLSAgICAtMHgxLmI5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAyCi0gICAgLTB4MS4wMjdkMTg0YWZiMTk4NGNhMWQyMWIxYWM5MzExMTg4N3AtNTIsCi0gICAgMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLjAyN2QxODRhZmIxOTg0Y2ExZDIxYjFhYzkzMTExODg3cC01MiwKLSAgICAtMHgxLmJhYjYyZWQ2NTUwMTlwOTcwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA0Ci0gICAgMHgxLmNhNmVmZGY4NDVkNmM3ZmZmZWJhZWExYWZiZjdlOTYxcDIsCi0gICAgMHgxLmJlYTFiMzVmM2NiNmRwODQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDUKLSAgICAtMHgxLmNhNmVmZGY4NDVkNmM3ZmZmZWJhZWExYWZiZjdlOTYxcDIsCi0gICAgLTB4MS5iZWExYjM1ZjNjYjZkcDg0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzA2Ci0gICAgMHgxLmZkODdiMzQ3NDdiNzQ2YjhiNjU3Y2FjNzk3YzA4NzBkcDQyLAotICAgIDB4MS5jNDYzYWJlY2NiMjdicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDcKLSAgICAtMHgxLmZkODdiMzQ3NDdiNzQ2YjhiNjU3Y2FjNzk3YzA4NzBkcDQyLAotICAgIC0weDEuYzQ2M2FiZWNjYjI3YnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMzA4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmIwOTQ1NDFhMjQ2MWU3MzRkYWVlcC0xLAotICAgIDB4MS5jNDYzYWJlY2NiMmJicDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDkKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmIwOTQ1NDFhMjQ2MWU3MzRkYWVlcC0xLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEwCi0gICAgMHgxLmZiMDU3MDI5YWNmZDE3ZmZmZmZhNWFjODIwNGYwODAzcC0xLAotICAgIDB4MS5jNmNiZTI2YjdiNDVmcDg2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgLTB4MS5mYjA1NzAyOWFjZmQxN2ZmZmZmYTVhYzgyMDRmMDgwM3AtMSwKLSAgICAtMHgxLmM2Y2JlMjZiN2I0NWZwODYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAweDEuYzhkNWEwOGJlNDBjMjBwLTExNywKLSAgICAweDEuYzhkNWEwOGJlNDBjMnAtMTE3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgLTB4MS5jOGQ1YTA4YmU0MGMyMHAtMTE3LAotICAgIC0weDEuYzhkNWEwOGJlNDBjMnAtMTE3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgMHgxLmU1ZGZmZDdmMDZjYjM3NTQ5MzNjZWE1NzhkZWFhZDM2cC0yLAotICAgIDB4MS5jYWQ0ZTk4MjdhMmJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAtMHgxLmU1ZGZmZDdmMDZjYjM3NTQ5MzNjZWE1NzhkZWFhZDM2cC0yLAotICAgIC0weDEuY2FkNGU5ODI3YTJiZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE2Ci0gICAgMHgxLmU2YmUzNzhiMWI0ZWI3NjU4ZTg1YWQwYWYzMzgzNmE5cC0yLAotICAgIDB4MS5jYWViOTQwZTRiOTk3cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTcKLSAgICAtMHgxLmU2YmUzNzhiMWI0ZWI3NjU4ZTg1YWQwYWYzMzgzNmE5cC0yLAotICAgIC0weDEuY2FlYjk0MGU0Yjk5N3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE4Ci0gICAgMHgxLmU3MmJkMDI1YTFmZDU3NjVmODUzNDY5YTg1YWU3YjdkcC0yLAotICAgIDB4MS5jYWY2YzA0ZWNkMDM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTkKLSAgICAtMHgxLmU3MmJkMDI1YTFmZDU3NjVmODUzNDY5YTg1YWU3YjdkcC0yLAotICAgIC0weDEuY2FmNmMwNGVjZDAzNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIwCi0gICAgMHgxLmU4NDRiM2Q3Y2JlNDM3NWMyOGUzMjJkYTZiYTVkN2Q4cC0yLAotICAgIDB4MS5jYjEzNWVjMWM5NTZlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjEKLSAgICAtMHgxLmU4NDRiM2Q3Y2JlNDM3NWMyOGUzMjJkYTZiYTVkN2Q4cC0yLAotICAgIC0weDEuY2IxMzVlYzFjOTU2ZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM1YzFmYzcycC01NCwKLSAgICAweDEuY2I0NGU4NmJjMTkyYnA2NDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjMKLSAgICAtMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM1YzFmYzcycC01NCwKLSAgICAtMHgxLmNiNDRlODZiYzE5MmJwNjQ4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI0Ci0gICAgMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM2MjlhMjNkcC01MywKLSAgICAweDEuY2I0NGU4NmJjMTkyYnA2NDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjUKLSAgICAtMHgxLmRkMzhhMWYxZDI4OWI2MTczMTE1NzIxYmM2MjlhMjNkcC01MywKLSAgICAtMHgxLmNiNDRlODZiYzE5MmJwNjQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzI2Ci0gICAgLTB4MS5mZmY2ZTc1NTMyMGVkNzhkYjRkNmVmZjRiZjZhNmIxMHAxLAotICAgIDB4MS5jYjYxYWZlZGIyYjNjcDExOQotICB9LAotICB7IC8vIEVudHJ5IDMyNwotICAgIDB4MS5mZmY2ZTc1NTMyMGVkNzhkYjRkNmVmZjRiZjZhNmIxMHAxLAotICAgIC0weDEuY2I2MWFmZWRiMmIzY3AxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjgKLSAgICAweDEuY2NkZjRhYTZjMjI4ZjgwNDFiZTkxYTE0MmUwZTI3MWJwLTcsCi0gICAgMHgxLmNjZDc4MzRiYTM4MDRwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjkKLSAgICAtMHgxLmNjZGY0YWE2YzIyOGY4MDQxYmU5MWExNDJlMGUyNzFicC03LAotICAgIC0weDEuY2NkNzgzNGJhMzgwNHAtNwotICB9LAotICB7IC8vIEVudHJ5IDMzMAotICAgIDB4MS5jZWU1MDAxNmZjMmQ4ODM3Mjg2YmY2ZmQ0MzFhN2IzYnAtNCwKLSAgICAweDEuY2NmMDU5OWRhNDc4ZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDMzMQotICAgIC0weDEuY2VlNTAwMTZmYzJkODgzNzI4NmJmNmZkNDMxYTdiM2JwLTQsCi0gICAgLTB4MS5jY2YwNTk5ZGE0NzhlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzMyCi0gICAgMHgxLjQ0Y2YzZWU4YTc1YTg3Y2M2NjU3ZTYyZjk0YTkzZTZmcDAsCi0gICAgMHgxLmNlOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMzMwotICAgIC0weDEuNDRjZjNlZThhNzVhODdjYzY2NTdlNjJmOTRhOTNlNmZwMCwKLSAgICAtMHgxLmNlOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMzNAotICAgIDB4MS40NWFhMTJmZjk4MTUyODAwMDAxZmJkODc5OWE5NmEyY3AwLAotICAgIDB4MS5jZjI3NmM5Y2I5YWYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM1Ci0gICAgLTB4MS40NWFhMTJmZjk4MTUyODAwMDAxZmJkODc5OWE5NmEyY3AwLAotICAgIC0weDEuY2YyNzZjOWNiOWFmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDMzNgotICAgIDB4MS5mOWJjNzQ0ZjYxZTBlZDg1MzgyOWUyZjc2NWI4YTEyY3AtNCwKLSAgICAweDEuZDJlOTc5MTQ4YTQ1OHA2MQotICB9LAotICB7IC8vIEVudHJ5IDMzNwotICAgIC0weDEuZjliYzc0NGY2MWUwZWQ4NTM4MjllMmY3NjViOGExMmNwLTQsCi0gICAgLTB4MS5kMmU5NzkxNDhhNDU4cDYxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgMHgxLjZlNzBmOWVkYmQxYTA4MmFlNmY5MGM2MmVmNGYzMWRkcC0yLAotICAgIDB4MS5kNmI1YWQ2YjVhYjY4cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDMzOQotICAgIC0weDEuNmU3MGY5ZWRiZDFhMDgyYWU2ZjkwYzYyZWY0ZjMxZGRwLTIsCi0gICAgLTB4MS5kNmI1YWQ2YjVhYjY4cDEwMAotICB9LAotICB7IC8vIEVudHJ5IDM0MAotICAgIDB4MS4xM2U5YzZhMzQ4ZTRhN2JlZGU4MjcyNDUwNTI2OWY2OHAyLAotICAgIDB4MS5kOTZlMDU4cDQ4OAotICB9LAotICB7IC8vIEVudHJ5IDM0MQotICAgIC0weDEuMTNlOWM2YTM0OGU0YTdiZWRlODI3MjQ1MDUyNjlmNjhwMiwKLSAgICAtMHgxLmQ5NmUwNThwNDg4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQyCi0gICAgLTB4MS5kMzU1NDYzYzIzMDM1ODJmYTMxYTMyMzhkY2JlNTYwZXAtNSwKLSAgICAweDEuZGQxMGYyNTE3MWJjOXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQzCi0gICAgMHgxLmQzNTU0NjNjMjMwMzU4MmZhMzFhMzIzOGRjYmU1NjBlcC01LAotICAgIC0weDEuZGQxMGYyNTE3MWJjOXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ0Ci0gICAgMHgxLmRkZjIxZWJmNmZjOTI3ZmZmZmZiYjNlY2MwY2ZmNjZlcC02LAotICAgIDB4MS5kZGNmNmU1NjY5NmE0cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzQ1Ci0gICAgLTB4MS5kZGYyMWViZjZmYzkyN2ZmZmZmYmIzZWNjMGNmZjY2ZXAtNiwKLSAgICAtMHgxLmRkY2Y2ZTU2Njk2YTRwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDYKLSAgICAweDEuNWNiMGJmYzE1NTgwMDdlMGM1ZDA5NWY3MjllMzQyN2JwMCwKLSAgICAweDEuZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM0NwotICAgIC0weDEuNWNiMGJmYzE1NTgwMDdlMGM1ZDA5NWY3MjllMzQyN2JwMCwKLSAgICAtMHgxLmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDgKLSAgICAtMHgxLjk3YjVlOGFlOWEyMWM3ZjQ4MjE5MjJiYzViMzc4MmNjcDEsCi0gICAgMHgxLmVwMAotICB9LAotICB7IC8vIEVudHJ5IDM0OQotICAgIDB4MS45N2I1ZThhZTlhMjFjN2Y0ODIxOTIyYmM1YjM3ODJjY3AxLAotICAgIC0weDEuZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUwCi0gICAgLTB4MS5mOGJmNjhkMGMyM2YzNzQxZWZiOGJkOTk4NTNiYWU4YXAwLAotICAgIDB4MS5lNzc5ZGU3NzlkZTcxcDExOAotICB9LAotICB7IC8vIEVudHJ5IDM1MQotICAgIDB4MS5mOGJmNjhkMGMyM2YzNzQxZWZiOGJkOTk4NTNiYWU4YXAwLAotICAgIC0weDEuZTc3OWRlNzc5ZGU3MXAxMTgKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTIKLSAgICAtMHgxLmZmZmZmZmZmZmQ3MWNmOTM0ZWYzZTVkZjQwMDg2NjVmcC0xLAotICAgIDB4MS5lYjA1NjdiZWQxZjcxcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUzCi0gICAgMHgxLmZmZmZmZmZmZmQ3MWNmOTM0ZWYzZTVkZjQwMDg2NjVmcC0xLAotICAgIC0weDEuZWIwNTY3YmVkMWY3MXAxMgotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS5lZTc4OGQxY2M3OTU0ODQxODc4NDczYWE1ZDI2MTVhNXAtNCwKLSAgICAweDEuZWMxNmYzMGEzNGZiY3AtNAotICB9LAotICB7IC8vIEVudHJ5IDM1NQotICAgIC0weDEuZWU3ODhkMWNjNzk1NDg0MTg3ODQ3M2FhNWQyNjE1YTVwLTQsCi0gICAgLTB4MS5lYzE2ZjMwYTM0ZmJjcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgMHgxLmVmZGFkOTM4YjRiMGU4MzQwMTRiZjU2YTcwODQ2NzVkcC00LAotICAgIDB4MS5lZDc0MjRiYTJhYTRlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU3Ci0gICAgLTB4MS5lZmRhZDkzOGI0YjBlODM0MDE0YmY1NmE3MDg0Njc1ZHAtNCwKLSAgICAtMHgxLmVkNzQyNGJhMmFhNGVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTgKLSAgICAweDEuZGEzNDc2MDc5NDhmNDdmZmVmMjE2OTcxNjFmZDNjZGRwLTEsCi0gICAgMHgxLmVlOWVkYTU4OTAzOTBwNDk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzU5Ci0gICAgLTB4MS5kYTM0NzYwNzk0OGY0N2ZmZWYyMTY5NzE2MWZkM2NkZHAtMSwKLSAgICAtMHgxLmVlOWVkYTU4OTAzOTBwNDk5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzYwCi0gICAgMHgxLmY2ODJkMjdhOGJlODdmNzgzZDQ5NDg1N2I2ZjMwZTA1cDAsCi0gICAgMHgxLmY0ZmYwZDdiM2FjMTBwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYxCi0gICAgLTB4MS5mNjgyZDI3YThiZTg3Zjc4M2Q0OTQ4NTdiNmYzMGUwNXAwLAotICAgIC0weDEuZjRmZjBkN2IzYWMxMHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjIKLSAgICAtMHgxLmZmZDM2YTc1M2NlZDkwMjdjOTM4NDVhZGRlMDQ2MjQ2cC0xLAotICAgIDB4MS5mNWE4MTRhZmQ2OWY1cDExOQotICB9LAotICB7IC8vIEVudHJ5IDM2MwotICAgIDB4MS5mZmQzNmE3NTNjZWQ5MDI3YzkzODQ1YWRkZTA0NjI0NnAtMSwKLSAgICAtMHgxLmY1YTgxNGFmZDY5ZjVwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzY0Ci0gICAgLTB4MS4wZmE3NzAxZDA1OWI1MWRlMDVkZjU4YWRlMjZiZWM1Y3AtOSwKLSAgICAweDEuZjhmYzgyNGQyNjkzYnA2MQotICB9LAotICB7IC8vIEVudHJ5IDM2NQotICAgIDB4MS4wZmE3NzAxZDA1OWI1MWRlMDVkZjU4YWRlMjZiZWM1Y3AtOSwKLSAgICAtMHgxLmY4ZmM4MjRkMjY5M2JwNjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjYKLSAgICAtMHgxLmFmZTM4NzViZDNhZmU4MDFmMTQ5ZDBhOWFkMzZmNDUzcC00LAotICAgIDB4MS5mOWJlNmY5YmU2Zjk4cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjcKLSAgICAweDEuYWZlMzg3NWJkM2FmZTgwMWYxNDlkMGE5YWQzNmY0NTNwLTQsCi0gICAgLTB4MS5mOWJlNmY5YmU2Zjk4cDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjgKLSAgICAweDEuZmQxMDMyZTgyZGVhYjdiYWJhOTljOTEzZGVlMTBiOWFwLTQsCi0gICAgMHgxLmZhNzc1Y2QyNjRmNDNwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjkKLSAgICAtMHgxLmZkMTAzMmU4MmRlYWI3YmFiYTk5YzkxM2RlZTEwYjlhcC00LAotICAgIC0weDEuZmE3NzVjZDI2NGY0M3AtNAotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIDB4MS5mZWE4YzY3ZGQ0NmNhODNjYTQ5YWI5ZWNkMDM2MDczOXAtNCwKLSAgICAweDEuZmMwOWI0NzQwMmQ4MnAtNAotICB9LAotICB7IC8vIEVudHJ5IDM3MQotICAgIC0weDEuZmVhOGM2N2RkNDZjYTgzY2E0OWFiOWVjZDAzNjA3MzlwLTQsCi0gICAgLTB4MS5mYzA5YjQ3NDAyZDgycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzcyCi0gICAgLTB4MS45MDIwY2FmMThhODc0MzgxMjdhODVkMWYwYTNkNDIwNXAtMSwKLSAgICAweDEuZmVlZmZmZmZmZmZjNnA5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzMKLSAgICAweDEuOTAyMGNhZjE4YTg3NDM4MTI3YTg1ZDFmMGEzZDQyMDVwLTEsCi0gICAgLTB4MS5mZWVmZmZmZmZmZmM2cDk5NQotICB9LAotICB7IC8vIEVudHJ5IDM3NAotICAgIDB4MS5hZjEzNWJlYjBmMjgxN2ZiYTc3MjA0YTViMWI2NzY2YnAwLAotICAgIDB4MS5mZjAxZmZmZmZmZmZmcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzUKLSAgICAtMHgxLmFmMTM1YmViMGYyODE3ZmJhNzcyMDRhNWIxYjY3NjZicDAsCi0gICAgLTB4MS5mZjAxZmZmZmZmZmZmcDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzYKLSAgICAtMHgxLmZkOTc1MzJlZmQ4OWIyNmJjMjk0YjI3ZTBhMTk1NmI5cDMsCi0gICAgMHgxLmZmOGZmZmZmZmZmZmZwNTQwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc3Ci0gICAgMHgxLmZkOTc1MzJlZmQ4OWIyNmJjMjk0YjI3ZTBhMTk1NmI5cDMsCi0gICAgLTB4MS5mZjhmZmZmZmZmZmZmcDU0MAotICB9LAotICB7IC8vIEVudHJ5IDM3OAotICAgIC0weDEuY2MzMmNiOTMzODE4MTExZTZkZGYwMGM1Yzc5Y2JjODhwLTEsCi0gICAgMHgxLmZmOGZmZmZmZmZmZmZwODcwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc5Ci0gICAgMHgxLmNjMzJjYjkzMzgxODExMWU2ZGRmMDBjNWM3OWNiYzg4cC0xLAotICAgIC0weDEuZmY4ZmZmZmZmZmZmZnA4NzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODAKLSAgICAtMHgxLjg2NTlkM2UyYjUyYjg4MDY2OGFjOGI0YjlmYWU5NTM4cC0xLAotICAgIDB4MS5mZmMxMHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzgxCi0gICAgMHgxLjg2NTlkM2UyYjUyYjg4MDY2OGFjOGI0YjlmYWU5NTM4cC0xLAotICAgIC0weDEuZmZjMTBwOQotICB9LAotICB7IC8vIEVudHJ5IDM4MgotICAgIC0weDEuYjY2MDY2ZmI4MTJlZTI3ZGJiNjIzYTFhMTM1M2UwNjJwLTIsCi0gICAgMHgxLmZmY2ZmZjhwMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODMKLSAgICAweDEuYjY2MDY2ZmI4MTJlZTI3ZGJiNjIzYTFhMTM1M2UwNjJwLTIsCi0gICAgLTB4MS5mZmNmZmY4cDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzg0Ci0gICAgLTB4MS41MjBlYmQzMmUxZDhlY2QzOGJmY2Q2YTU3ZTFhMzc3ZnAxLAotICAgIDB4MS5mZmNmZmY4cDM2NQotICB9LAotICB7IC8vIEVudHJ5IDM4NQotICAgIDB4MS41MjBlYmQzMmUxZDhlY2QzOGJmY2Q2YTU3ZTFhMzc3ZnAxLAotICAgIC0weDEuZmZjZmZmOHAzNjUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODYKLSAgICAweDEuNDg5ODEzYzI0ZDEzYjAwYWI2OTYyN2Q4NThiYjYzYjVwMCwKLSAgICAweDEuZmZjZmZmZmZmZmY2Y3A3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODcKLSAgICAtMHgxLjQ4OTgxM2MyNGQxM2IwMGFiNjk2MjdkODU4YmI2M2I1cDAsCi0gICAgLTB4MS5mZmNmZmZmZmZmZjZjcDcyMAotICB9LAotICB7IC8vIEVudHJ5IDM4OAotICAgIDB4MS40MTNlNjNmN2RkNjA3ZWYzYzg0MjJhNDkwYWYyZGMzMHAwLAotICAgIDB4MS5mZmNmZmZmZmZmZmY5cDMyMAotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIC0weDEuNDEzZTYzZjdkZDYwN2VmM2M4NDIyYTQ5MGFmMmRjMzBwMCwKLSAgICAtMHgxLmZmY2ZmZmZmZmZmZjlwMzIwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkwCi0gICAgLTB4MS5mYzM5MjhhMzliNjUyODRkNGM3ZWYzYjZhMmVkYzhmMXAtMiwKLSAgICAweDEuZmZjZmZmZmZmZmZmZnA5OTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTEKLSAgICAweDEuZmMzOTI4YTM5YjY1Mjg0ZDRjN2VmM2I2YTJlZGM4ZjFwLTIsCi0gICAgLTB4MS5mZmNmZmZmZmZmZmZmcDk5MAotICB9LAotICB7IC8vIEVudHJ5IDM5MgotICAgIC0weDEuOWFkNzBkMjg0ZjE2ZDU5ZGNhYTBhYjlmYjc3ZDc0OTBwLTEsCi0gICAgMHgxLmZmZWZmZmZmZmZmY2NwOTk1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzkzCi0gICAgMHgxLjlhZDcwZDI4NGYxNmQ1OWRjYWEwYWI5ZmI3N2Q3NDkwcC0xLAotICAgIC0weDEuZmZlZmZmZmZmZmZjY3A5OTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTQKLSAgICAweDEuYWFkNmVmZmNiNjc4MzgyNmRlN2IyNGRiYTUwMWMxMWNwLTMsCi0gICAgMHgxLmZmZWZmZmZmZmZmZmRwMzY2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzk1Ci0gICAgLTB4MS5hYWQ2ZWZmY2I2NzgzODI2ZGU3YjI0ZGJhNTAxYzExY3AtMywKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmRwMzY2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzk2Ci0gICAgMHgxLmM4ODY0NWY5ZDExOWVjMjAzMDcyNGE0Y2U0ZTZlYmJhcDIsCi0gICAgMHgxLmZmZWZmZmZmZmZmZmZwMTgwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzk3Ci0gICAgLTB4MS5jODg2NDVmOWQxMTllYzIwMzA3MjRhNGNlNGU2ZWJiYXAyLAotICAgIC0weDEuZmZlZmZmZmZmZmZmZnAxODAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAweDEuMTMxYWE3YjlkNGFhMDdmZjU4NDBhYzFlOGZiNDIzNjBwMiwKLSAgICAweDEuZmZlZmZmZmZmZmZmZnAyMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTkKLSAgICAtMHgxLjEzMWFhN2I5ZDRhYTA3ZmY1ODQwYWMxZThmYjQyMzYwcDIsCi0gICAgLTB4MS5mZmVmZmZmZmZmZmZmcDIzMQotICB9LAotICB7IC8vIEVudHJ5IDQwMAotICAgIDB4MS5mNjcxNzE5YmU1MGQxZDRkZWJlODVjOTIyZTFlMjkxM3AtMywKLSAgICAweDEuZmZlZmZmZmZmZmZmZnAxMDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAxCi0gICAgLTB4MS5mNjcxNzE5YmU1MGQxZDRkZWJlODVjOTIyZTFlMjkxM3AtMywKLSAgICAtMHgxLmZmZWZmZmZmZmZmZmZwMTAxOQotICB9LAotICB7IC8vIEVudHJ5IDQwMgotICAgIDB4MS5mZjA3OGEyZDJkODcxYWMxZjMyNzY1ZTlkYjY0NGViMXAtMSwKLSAgICAweDEuZmZmMWZmZmZmZmZmZnA0MAotICB9LAotICB7IC8vIEVudHJ5IDQwMwotICAgIC0weDEuZmYwNzhhMmQyZDg3MWFjMWYzMjc2NWU5ZGI2NDRlYjFwLTEsCi0gICAgLTB4MS5mZmYxZmZmZmZmZmZmcDQwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA0Ci0gICAgMHgxLjA3ODRiMDRmYzQyYTU5ZTc3Zjg1ZDk5NjdkYTY3NzVkcDksCi0gICAgMHgxLmZmZjFmZmZmZmZmZmZwNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDUKLSAgICAtMHgxLjA3ODRiMDRmYzQyYTU5ZTc3Zjg1ZDk5NjdkYTY3NzVkcDksCi0gICAgLTB4MS5mZmYxZmZmZmZmZmZmcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgMHgxLjhlYjIyZGQxNjdhMzdhZDIxZGRmMWU2OTczNGU5Y2UycDAsCi0gICAgMHgxLmZmZmZmMWZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDcKLSAgICAtMHgxLjhlYjIyZGQxNjdhMzdhZDIxZGRmMWU2OTczNGU5Y2UycDAsCi0gICAgLTB4MS5mZmZmZjFmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA4Ci0gICAgLTB4MS4yMmU3MzQ2ZmQzZGRhNTUzYjE0NmMzN2Y2MTEyN2E0Y3AxLAotICAgIDB4MS5mZmZmZmY4cDExOQotICB9LAotICB7IC8vIEVudHJ5IDQwOQotICAgIDB4MS4yMmU3MzQ2ZmQzZGRhNTUzYjE0NmMzN2Y2MTEyN2E0Y3AxLAotICAgIC0weDEuZmZmZmZmOHAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTAKLSAgICAtMHgxLmRiMGIzYjAxOWYxNzViZWQ1YmNmMWE1NjAyZGIwMGFmcC0zLAotICAgIDB4MS5mZmZmZmY4cDE5MgotICB9LAotICB7IC8vIEVudHJ5IDQxMQotICAgIDB4MS5kYjBiM2IwMTlmMTc1YmVkNWJjZjFhNTYwMmRiMDBhZnAtMywKLSAgICAtMHgxLmZmZmZmZjhwMTkyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEyCi0gICAgMHgxLjA2YjZiZWRlOTEwMjU3ZjMxNWE1MDgzYTlhYjJiNjUwcC0xLAotICAgIDB4MS5mZmZmZmY4cDU0MwotICB9LAotICB7IC8vIEVudHJ5IDQxMwotICAgIC0weDEuMDZiNmJlZGU5MTAyNTdmMzE1YTUwODNhOWFiMmI2NTBwLTEsCi0gICAgLTB4MS5mZmZmZmY4cDU0MwotICB9LAotICB7IC8vIEVudHJ5IDQxNAotICAgIC0weDEuNDBmMDJhMTVkZmEzZDdmZjNlMmE0NTUzZjE5Y2IyZDBwMSwKLSAgICAweDEuZmZmZmZmZmZiYmZmZnA0MAotICB9LAotICB7IC8vIEVudHJ5IDQxNQotICAgIDB4MS40MGYwMmExNWRmYTNkN2ZmM2UyYTQ1NTNmMTljYjJkMHAxLAotICAgIC0weDEuZmZmZmZmZmZiYmZmZnA0MAotICB9LAotICB7IC8vIEVudHJ5IDQxNgotICAgIDB4MS5hYjYwMTEyZWY0ZmRkZmYzZjVhMjY5MGM3ZDNlYTZlZnAtMiwKLSAgICAweDEuZmZmZmZmZmZmN2ZmZnAyMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTcKLSAgICAtMHgxLmFiNjAxMTJlZjRmZGRmZjNmNWEyNjkwYzdkM2VhNmVmcC0yLAotICAgIC0weDEuZmZmZmZmZmZmN2ZmZnAyMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTgKLSAgICAweDEuMzVhOTkyOWVlYWZkNzBmMDcxMmFiZTJhNTExODU0YTFwMCwKLSAgICAweDEuZmZmZmZmZmZmZmY3OHA5MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MTkKLSAgICAtMHgxLjM1YTk5MjllZWFmZDcwZjA3MTJhYmUyYTUxMTg1NGExcDAsCi0gICAgLTB4MS5mZmZmZmZmZmZmZjc4cDkyMAotICB9LAotICB7IC8vIEVudHJ5IDQyMAotICAgIDB4MS40NjMwMjk4ZjNiOTkzMjg3MjA1ZGMwYjg5YjA2MDFlMHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmQ1cDk5NQotICB9LAotICB7IC8vIEVudHJ5IDQyMQotICAgIC0weDEuNDYzMDI5OGYzYjk5MzI4NzIwNWRjMGI4OWIwNjAxZTBwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZDVwOTk1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDIyCi0gICAgLTB4MS45NDcyZTA0NTEyOWZkYmE2Mzc5MTcxMjQxNmVjOTYxM3AtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZlOHA3MjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjMKLSAgICAweDEuOTQ3MmUwNDUxMjlmZGJhNjM3OTE3MTI0MTZlYzk2MTNwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmU4cDcyMAotICB9LAotICB7IC8vIEVudHJ5IDQyNAotICAgIDB4MS40MmU1ODZkYWExYjQyOGZjMDU4MDg4OGYyZmM0Njg5M3AwLAotICAgIDB4MS5mZmZmZmZmZmZmZmVicDkyMAotICB9LAotICB7IC8vIEVudHJ5IDQyNQotICAgIC0weDEuNDJlNTg2ZGFhMWI0MjhmYzA1ODA4ODhmMmZjNDY4OTNwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZWJwOTIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI2Ci0gICAgLTB4MS5iZmM0MzZiOTQzNzRiNWYxNmI2MGVhNjljZDg4Mzk5MnAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmMXAyNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjcKLSAgICAweDEuYmZjNDM2Yjk0Mzc0YjVmMTZiNjBlYTY5Y2Q4ODM5OTJwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmYxcDI0NQotICB9LAotICB7IC8vIEVudHJ5IDQyOAotICAgIDB4MS4zNTExN2Q0YTRmMWU0YmIyMmZkZDAzMTY0YTM2NGNjZnAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmY0cDg0NQotICB9LAotICB7IC8vIEVudHJ5IDQyOQotICAgIC0weDEuMzUxMTdkNGE0ZjFlNGJiMjJmZGQwMzE2NGEzNjRjY2ZwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZjRwODQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMwCi0gICAgLTB4MS5iZmRkOTI5Mjc5OGFhYTc4OWMzZGYwZGY3NzI5ODM1YXAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmNHAxMDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMxCi0gICAgMHgxLmJmZGQ5MjkyNzk4YWFhNzg5YzNkZjBkZjc3Mjk4MzVhcC0xLAotICAgIC0weDEuZmZmZmZmZmZmZmZmNHAxMDIwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMyCi0gICAgLTB4MS45Yjc2OGNjZGFlNmViYjcwYjQ1YWMxNGU5MmIzZDVjOHA5LAotICAgIDB4MS5mZmZmZmZmZmZmZmZjcDQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgMHgxLjliNzY4Y2NkYWU2ZWJiNzBiNDVhYzE0ZTkyYjNkNWM4cDksCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZjcDQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM0Ci0gICAgMHgxLmZlY2EwNDdmMjczMGY3Mzk1ZDk1ZjQ2OWNjYjVhNWQzcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZjcDQ3NAotICB9LAotICB7IC8vIEVudHJ5IDQzNQotICAgIC0weDEuZmVjYTA0N2YyNzMwZjczOTVkOTVmNDY5Y2NiNWE1ZDNwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZjcDQ3NAotICB9LAotICB7IC8vIEVudHJ5IDQzNgotICAgIC0weDEuNDQ5ZjE1Y2M5NDU1OTdmZjU4ZjI0MjZhY2JmZjljNjJwLTIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmNwOTc2Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDM3Ci0gICAgMHgxLjQ0OWYxNWNjOTQ1NTk3ZmY1OGYyNDI2YWNiZmY5YzYycC0yLAotICAgIC0weDEuZmZmZmZmZmZmZmZmY3A5NzYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAweDEuZmZmYzU4ZGEwNzk1MWNiZTIyYzk2ZDczYjEyODllMWVwLTIsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwODgxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDM5Ci0gICAgLTB4MS5mZmZjNThkYTA3OTUxY2JlMjJjOTZkNzNiMTI4OWUxZXAtMiwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmVwODgxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQwCi0gICAgLTB4MS5jMWM5MTk1ZWMyM2FhNjRkZjE0NWRkMjY5Y2Q4OTVlOHAtMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZXA5NzAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDEKLSAgICAweDEuYzFjOTE5NWVjMjNhYTY0ZGYxNDVkZDI2OWNkODk1ZThwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcDk3MAotICB9LAotICB7IC8vIEVudHJ5IDQ0MgotICAgIDB4MS4zY2MxZWQzOTA2ZDJmN2ZkZDYzM2NmNGViMDZmM2YxOXAtMiwKLSAgICAweDEuMzMzMjhjMWIzNzMyMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ0MwotICAgIC0weDEuM2NjMWVkMzkwNmQyZjdmZGQ2MzNjZjRlYjA2ZjNmMTlwLTIsCi0gICAgLTB4MS4zMzMyOGMxYjM3MzIxcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ0Ci0gICAgLTB4MS5wLTEwNzQsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDQ1Ci0gICAgMHgxLnAtMTA3NCwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDQ0NgotICAgIC0wLjAsCi0gICAgLTAuMAotICB9LAotICB7IC8vIEVudHJ5IDQ0NwotICAgIDB4MS5wLTEwNzQsCi0gICAgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDgKLSAgICAtMHgxLnAtMTA3NCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1MAotICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1MQotICAgIC0weDEucC0xMDIyLAotICAgIC0weDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1MgotICAgIDB4MS5wLTEwMjIsCi0gICAgMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTMKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ1NAotICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ1NQotICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDQ1NgotICAgIC0weDEuZmZmZmZmZmZmZmZmZTBwLTEwMjMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcC0xMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU3Ci0gICAgMHgxLnAtMTAyMiwKLSAgICAweDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIC0weDEucC0xMDIyLAotICAgIC0weDEuMHAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ1OQotICAgIDB4MS4wMDAwMDAwMDAwMDAxMHAtMTAyMiwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAtMTAyMgotICB9LAotICB7IC8vIEVudHJ5IDQ2MAotICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYxCi0gICAgMHgxLjk5OTk5OWYwZmIzOGM2MTIyYTFmYThlMDQzYmIwN2MycC0xMywKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjIKLSAgICAtMHgxLjk5OTk5OWYwZmIzOGM2MTIyYTFmYThlMDQzYmIwN2MycC0xMywKLSAgICAtMHgxLjk5OTk5OTk5OTk5OWFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYzCi0gICAgMHgxLjk5OTk5YWY3MjAxNzQ0YjgyM2U1YjI3MGZkMWFhMzlkcC0xMiwKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjQKLSAgICAtMHgxLjk5OTk5YWY3MjAxNzQ0YjgyM2U1YjI3MGZkMWFhMzlkcC0xMiwKLSAgICAtMHgxLjk5OTk5OTk5OTk5OWFwLTEyCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY1Ci0gICAgMHgxLjMzMzMzNTgxMDYyYTM4ZjA0ZGYwMjQxNDJkZGFhMDVkcC0xMSwKLSAgICAweDEuMzMzMzMzMzMzMzMzNHAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjYKLSAgICAtMHgxLjMzMzMzNTgxMDYyYTM4ZjA0ZGYwMjQxNDJkZGFhMDVkcC0xMSwKLSAgICAtMHgxLjMzMzMzMzMzMzMzMzRwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY3Ci0gICAgMHgxLjk5OTk5ZjBmYjNhMGY5ZDg4NzM4YmUyZmY3YWY5YWFhcC0xMSwKLSAgICAweDEuOTk5OTk5OTk5OTk5YXAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjgKLSAgICAtMHgxLjk5OTk5ZjBmYjNhMGY5ZDg4NzM4YmUyZmY3YWY5YWFhcC0xMSwKLSAgICAtMHgxLjk5OTk5OTk5OTk5OWFwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY5Ci0gICAgMHgxLjAwMDAwNTU1NTU3Nzc3Nzg1NDg1NGRlZGMyOGVhZDUxcC0xMCwKLSAgICAweDEuMHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzAKLSAgICAtMHgxLjAwMDAwNTU1NTU3Nzc3Nzg1NDg1NGRlZGMyOGVhZDUxcC0xMCwKLSAgICAtMHgxLjBwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgMHgxLjMzMzMzYzZhN2Y0ZWM3Mzg1MzE1MWNkNzZiNzllMTM1cC0xMCwKLSAgICAweDEuMzMzMzMzMzMzMzMzM3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzIKLSAgICAtMHgxLjMzMzMzYzZhN2Y0ZWM3Mzg1MzE1MWNkNzZiNzllMTM1cC0xMCwKLSAgICAtMHgxLjMzMzMzMzMzMzMzMzNwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDczCi0gICAgMHgxLjY2NjY3NTA4ZTBhMWI1MDIyODcwMzRkMzZiZjRlM2Q1cC0xMCwKLSAgICAweDEuNjY2NjY2NjY2NjY2NnAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzQKLSAgICAtMHgxLjY2NjY3NTA4ZTBhMWI1MDIyODcwMzRkMzZiZjRlM2Q1cC0xMCwKLSAgICAtMHgxLjY2NjY2NjY2NjY2NjZwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc1Ci0gICAgMHgxLjk5OTlhZjcyMDJjMzY2ZjFlMGI1NDhhMzFjNDFkMjEwcC0xMCwKLSAgICAweDEuOTk5OTk5OTk5OTk5OXAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzYKLSAgICAtMHgxLjk5OTlhZjcyMDJjMzY2ZjFlMGI1NDhhMzFjNDFkMjEwcC0xMCwKLSAgICAtMHgxLjk5OTk5OTk5OTk5OTlwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc3Ci0gICAgMHgxLmNjY2NlYmU3NmYxMDJmZjYzM2M1ZjAyYTM0MDc2Njg3cC0xMCwKLSAgICAweDEuY2NjY2NjY2NjY2NjY3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzgKLSAgICAtMHgxLmNjY2NlYmU3NmYxMDJmZjYzM2M1ZjAyYTM0MDc2Njg3cC0xMCwKLSAgICAtMHgxLmNjY2NjY2NjY2NjY2NwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDc5Ci0gICAgMHgxLjA2NjdkNWZjZjNkMDc4Zjk0MDY4N2ViOTc0MzEwZmI5cC03LAotICAgIDB4MS4wNjY2NjY2NjY2NjY2cC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDgwCi0gICAgLTB4MS4wNjY3ZDVmY2YzZDA3OGY5NDA2ODdlYjk3NDMxMGZiOXAtNywKLSAgICAtMHgxLjA2NjY2NjY2NjY2NjZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODEKLSAgICAweDEuY2NkNDkzOWQwY2NkNzY0NmIzZjgxYjc1NTM2NzVjMjNwLTcsCi0gICAgMHgxLmNjY2NjY2NjY2NjY2NwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODIKLSAgICAtMHgxLmNjZDQ5MzlkMGNjZDc2NDZiM2Y4MWI3NTUzNjc1YzIzcC03LAotICAgIC0weDEuY2NjY2NjY2NjY2NjY3AtNwotICB9LAotICB7IC8vIEVudHJ5IDQ4MwotICAgIDB4MS40OWE0ZmMwMmFkMTkzZThlOTRjNGIyNDI5MTkwYjViMnAtNiwKLSAgICAweDEuNDk5OTk5OTk5OTk5OXAtNgotICB9LAotICB7IC8vIEVudHJ5IDQ4NAotICAgIC0weDEuNDlhNGZjMDJhZDE5M2U4ZTk0YzRiMjQyOTE5MGI1YjJwLTYsCi0gICAgLTB4MS40OTk5OTk5OTk5OTk5cC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDg1Ci0gICAgMHgxLmFjZTVkZWQ1ZjZiZTY5OGY1NjY5N2FjNzYxZjNkYzY5cC02LAotICAgIDB4MS5hY2NjY2NjY2NjY2NjcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDg2Ci0gICAgLTB4MS5hY2U1ZGVkNWY2YmU2OThmNTY2OTdhYzc2MWYzZGM2OXAtNiwKLSAgICAtMHgxLmFjY2NjY2NjY2NjY2NwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODcKLSAgICAweDEuMDgxNzY3ZmQzY2I2ODVmN2IwNjkxNDZjZTMzMzM4NTFwLTUsCi0gICAgMHgxLjA4MHAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ4OAotICAgIC0weDEuMDgxNzY3ZmQzY2I2ODVmN2IwNjkxNDZjZTMzMzM4NTFwLTUsCi0gICAgLTB4MS4wODBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODkKLSAgICAweDEuMzljMGQ2ZGVhNjZmYjZkMjg2ZDQwM2MyOTI1MjczNTZwLTUsCi0gICAgMHgxLjM5OTk5OTk5OTk5OWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTAKLSAgICAtMHgxLjM5YzBkNmRlYTY2ZmI2ZDI4NmQ0MDNjMjkyNTI3MzU2cC01LAotICAgIC0weDEuMzk5OTk5OTk5OTk5YXAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ5MQotICAgIDB4MS42YjcwMmI5NTRiYzFkNTgzYzRhNDY3NzNjMmMyYTE1ZHAtNSwKLSAgICAweDEuNmIzMzMzMzMzMzMzNHAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ5MgotICAgIC0weDEuNmI3MDJiOTU0YmMxZDU4M2M0YTQ2NzczYzJjMmExNWRwLTUsCi0gICAgLTB4MS42YjMzMzMzMzMzMzM0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDkzCi0gICAgMHgxLjlkMjY1NjE4ZGQwYzY4OGUwNDljNjEwOTBkM2UzZmUycC01LAotICAgIDB4MS45Y2NjY2NjY2NjY2NlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDk0Ci0gICAgLTB4MS45ZDI2NTYxOGRkMGM2ODhlMDQ5YzYxMDkwZDNlM2ZlMnAtNSwKLSAgICAtMHgxLjljY2NjY2NjY2NjY2VwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTUKLSAgICAweDEuY2VlNDQ2ZTRjZmQ0YmU2OTAwZjRiOTA2Y2E5NzI1YjFwLTUsCi0gICAgMHgxLmNlNjY2NjY2NjY2NjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTYKLSAgICAtMHgxLmNlZTQ0NmU0Y2ZkNGJlNjkwMGY0YjkwNmNhOTcyNWIxcC01LAotICAgIC0weDEuY2U2NjY2NjY2NjY2NnAtNQotICB9LAotICB7IC8vIEVudHJ5IDQ5NwotICAgIDB4MS5hMWVhZWRkNWE0MzEzZTlkMDhiYzdiYjE3YTIyNTMxZnAtMSwKLSAgICAweDEuNWU3ZmM0MzY5YmRhZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ5OAotICAgIC0weDEuYTFlYWVkZDVhNDMxM2U5ZDA4YmM3YmIxN2EyMjUzMWZwLTEsCi0gICAgLTB4MS41ZTdmYzQzNjliZGFkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk5Ci0gICAgMHgxLmQ5M2I4YWFkNDI0ZGUwZTQzZmIwNGQ2NzgxYmU4MWEzcDEsCi0gICAgMHgxLjRlN2ZjNDM2OWJkYWRwMAotICB9LAotICB7IC8vIEVudHJ5IDUwMAotICAgIC0weDEuZDkzYjhhYWQ0MjRkZTBlNDNmYjA0ZDY3ODFiZTgxYTNwMSwKLSAgICAtMHgxLjRlN2ZjNDM2OWJkYWRwMAotICB9LAotICB7IC8vIEVudHJ5IDUwMQotICAgIC0weDEuNTYzYWNmMTU4YzJlYjY3OGQ3MWJlMzFlMGYzNDc1NGRwMSwKLSAgICAweDEuZWRiZmE2NTFlOWM4NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgMHgxLjU2M2FjZjE1OGMyZWI2NzhkNzFiZTMxZTBmMzQ3NTRkcDEsCi0gICAgLTB4MS5lZGJmYTY1MWU5Yzg0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDMKLSAgICAtMHgxLjU3NmI3NzYwOWYwODkwMzEzYzM3MWEwYTJjNTgyMTQ1cC0xLAotICAgIDB4MS40NjdmYzQzNjliZGFkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDQKLSAgICAweDEuNTc2Yjc3NjA5ZjA4OTAzMTNjMzcxYTBhMmM1ODIxNDVwLTEsCi0gICAgLTB4MS40NjdmYzQzNjliZGFkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDUKLSAgICAweDEuMDAxNTU3NzdhZWJmNmFkNDFiMzlhODA4ZWQ1YzMzODRwLTUsCi0gICAgMHgxLjk2MWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDUwNgotICAgIC0weDEuMDAxNTU3NzdhZWJmNmFkNDFiMzlhODA4ZWQ1YzMzODRwLTUsCi0gICAgLTB4MS45NjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDcKLSAgICAweDEuODdlOTk2NmU3ZDIyZDM0OGZlYzZjOTVmODUxNzc1ZjRwLTEsCi0gICAgMHgxLmU1YmZhNjUxZTljODNwMQotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIC0weDEuODdlOTk2NmU3ZDIyZDM0OGZlYzZjOTVmODUxNzc1ZjRwLTEsCi0gICAgLTB4MS5lNWJmYTY1MWU5YzgzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDkKLSAgICAweDEuYTQ5ZTdkODk4Nzg1MGY5Y2E1YjkzMzJlMzlkY2Q4OGZwMSwKLSAgICAweDEuMWFhZmNiYWZjODVmN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEwCi0gICAgLTB4MS5hNDllN2Q4OTg3ODUwZjljYTViOTMzMmUzOWRjZDg4ZnAxLAotICAgIC0weDEuMWFhZmNiYWZjODVmN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgLTB4MS43OWNlZDgxNTZkMDQwZWRkZTVhNmFiNjIyNTVlMjI2MXAxLAotICAgIDB4MS40MjdmYzQzNjliZGFkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTIKLSAgICAweDEuNzljZWQ4MTU2ZDA0MGVkZGU1YTZhYjYyMjU1ZTIyNjFwMSwKLSAgICAtMHgxLjQyN2ZjNDM2OWJkYWRwMgotICB9LAotICB7IC8vIEVudHJ5IDUxMwotICAgIC0weDEuNmYxZjY1Y2QxZTkxYjVlNWVjMWUxMjBlOWUwZGRjMGFwLTEsCi0gICAgMHgxLjZhNGZiY2JkNmY1NjJwMgotICB9LAotICB7IC8vIEVudHJ5IDUxNAotICAgIDB4MS42ZjFmNjVjZDFlOTFiNWU1ZWMxZTEyMGU5ZTBkZGMwYXAtMSwKLSAgICAtMHgxLjZhNGZiY2JkNmY1NjJwMgotICB9LAotICB7IC8vIEVudHJ5IDUxNQotICAgIC0weDEuNjc3NDdkNWY4NDRlMWIwYzUwM2Q1MWU3YmEwMzJmZmNwLTEsCi0gICAgMHgxLjZhZjJlZmYwYTI4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDUxNgotICAgIDB4MS42Nzc0N2Q1Zjg0NGUxYjBjNTAzZDUxZTdiYTAzMmZmY3AtMSwKLSAgICAtMHgxLjZhZjJlZmYwYTI4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDUxNwotICAgIC0weDEuNjI2YTI1ODgxNWQxODIzNTA2ZDE3MDY5MTMwZWI5ZmJwMSwKLSAgICAweDEuNDNjNjJhOWQwMjQxNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTE4Ci0gICAgMHgxLjYyNmEyNTg4MTVkMTgyMzUwNmQxNzA2OTEzMGViOWZicDEsCi0gICAgLTB4MS40M2M2MmE5ZDAyNDE0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTkKLSAgICAweDEuZDZhZGFmODBmOGIwNTFmYmM3YWI5ZjJlMDllOGU2MDhwMSwKLSAgICAweDEuMWM5OTY1NDk2MWY5MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIwCi0gICAgLTB4MS5kNmFkYWY4MGY4YjA1MWZiYzdhYjlmMmUwOWU4ZTYwOHAxLAotICAgIC0weDEuMWM5OTY1NDk2MWY5MnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIxCi0gICAgMHgxLmE5NGQxYjIxMzcwZDUyYmZjZDllYzQxN2U0MWQ2ZTVicC0xLAotICAgIDB4MS5lYWQ5M2ZlYjgzNjFmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAtMHgxLmE5NGQxYjIxMzcwZDUyYmZjZDllYzQxN2U0MWQ2ZTVicC0xLAotICAgIC0weDEuZWFkOTNmZWI4MzYxZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTIzCi0gICAgMHgxLjRjYmE5ZTc4MjIyMzQwY2E0OTNmODAzYmJjOTQ3NjU5cC00LAotICAgIDB4MS45YzdmYjU0NDQyZDFhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjQKLSAgICAtMHgxLjRjYmE5ZTc4MjIyMzQwY2E0OTNmODAzYmJjOTQ3NjU5cC00LAotICAgIC0weDEuOWM3ZmI1NDQ0MmQxYXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI1Ci0gICAgLTB4MS4yY2I2ZDAyNjM0NTMxYTY4MzliZjg5OGNjMWY5MThkZXAtMSwKLSAgICAweDEuNGUyNjJhOWQwMjQxNXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI2Ci0gICAgMHgxLjJjYjZkMDI2MzQ1MzFhNjgzOWJmODk4Y2MxZjkxOGRlcC0xLAotICAgIC0weDEuNGUyNjJhOWQwMjQxNXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTI3Ci0gICAgLTB4MS4xOGQ5MTEyMzA4ZDViODk3YmE0NGNmYzVjNDQzNzMxN3AxLAotICAgIDB4MS5mZjk5M2ZlYjgzNjIwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjgKLSAgICAweDEuMThkOTExMjMwOGQ1Yjg5N2JhNDRjZmM1YzQ0MzczMTdwMSwKLSAgICAtMHgxLmZmOTkzZmViODM2MjBwMAotICB9LAotICB7IC8vIEVudHJ5IDUyOQotICAgIDB4MS41NmZlMDE0NWNmMjkwMTk3NTgyOWRkYzNmYzc4NmRmMHAyLAotICAgIDB4MS42MmU2MmE5ZDAyNDE2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAtMHgxLjU2ZmUwMTQ1Y2YyOTAxOTc1ODI5ZGRjM2ZjNzg2ZGYwcDIsCi0gICAgLTB4MS42MmU2MmE5ZDAyNDE2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzEKLSAgICAweDEuZjRhZDM1M2FjYTQ1M2Y2MmJlYWUwMWNkNWIxM2Q1MGRwLTEsCi0gICAgMHgxLjhjNjYyYTlkMDI0MTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzIKLSAgICAtMHgxLmY0YWQzNTNhY2E0NTNmNjJiZWFlMDFjZDViMTNkNTBkcC0xLAotICAgIC0weDEuOGM2NjJhOWQwMjQxOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzMwotICAgIDB4MS42YTdlMWY2NDA3ZWU2MTM5N2QwMTZkNjkxYmI2MWQxN3AzLAotICAgIC0weDEuYThhYTFkMTFjNDRmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM0Ci0gICAgLTB4MS42YTdlMWY2NDA3ZWU2MTM5N2QwMTZkNjkxYmI2MWQxN3AzLAotICAgIDB4MS5hOGFhMWQxMWM0NGZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzUKLSAgICAweDEuMGQ3MThjZmM4MjQ2NDUzNmJmZDYyMWJlNDE5ZjAwN2NwNiwKLSAgICAtMHgxLjk1ZWM4YjllMDNkNTRwMAotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIC0weDEuMGQ3MThjZmM4MjQ2NDUzNmJmZDYyMWJlNDE5ZjAwN2NwNiwKLSAgICAweDEuOTVlYzhiOWUwM2Q1NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM3Ci0gICAgLTB4MS4xMWQ4NzE0NmMyZDVhMTgzMmMyNGYzZDg3MDUyZDdlYnA0LAotICAgIC0weDEuODMyZWZhMmE0MzVhOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM4Ci0gICAgMHgxLjExZDg3MTQ2YzJkNWExODMyYzI0ZjNkODcwNTJkN2VicDQsCi0gICAgMHgxLjgzMmVmYTJhNDM1YTlwMAotICB9LAotICB7IC8vIEVudHJ5IDUzOQotICAgIC0weDEuZTNhMzcyOWIzZTg2ZTIyMjFmYTVmMDRhYmY2OTllNmVwMiwKLSAgICAtMHgxLjcwNzE2OGI2ODJkZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDU0MAotICAgIDB4MS5lM2EzNzI5YjNlODZlMjIyMWZhNWYwNGFiZjY5OWU2ZXAyLAotICAgIDB4MS43MDcxNjhiNjgyZGZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDEKLSAgICAtMHgxLjM0MjllNjFhNWQxZjJlODBmYmQxMzcwZDRhN2MyYjEwcDIsCi0gICAgLTB4MS41ZGIzZDc0MmMyNjUzcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDIKLSAgICAweDEuMzQyOWU2MWE1ZDFmMmU4MGZiZDEzNzBkNGE3YzJiMTBwMiwKLSAgICAweDEuNWRiM2Q3NDJjMjY1M3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQzCi0gICAgLTB4MS5jMDhjYWVjNWNmOTk3MjVlNTdjMzI3NjZmYjA4NGM1ZnAxLAotICAgIC0weDEuNGFmNjQ1Y2YwMWVhOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ0Ci0gICAgMHgxLmMwOGNhZWM1Y2Y5OTcyNWU1N2MzMjc2NmZiMDg0YzVmcDEsCi0gICAgMHgxLjRhZjY0NWNmMDFlYThwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NQotICAgIC0weDEuNWQ2MDNkNzUxNzY3ZWU3MGU5YTJmZjU0OTU5ZmE0YTdwMSwKLSAgICAtMHgxLjM4MzhiNDViNDE2ZmRwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NgotICAgIDB4MS41ZDYwM2Q3NTE3NjdlZTcwZTlhMmZmNTQ5NTlmYTRhN3AxLAotICAgIDB4MS4zODM4YjQ1YjQxNmZkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDcKLSAgICAtMHgxLjFiNDhhMzViMWIyNzdlZmZhYmQ3Mjc4YjUyNTcwOGVkcDEsCi0gICAgLTB4MS4yNTdiMjJlNzgwZjUycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAweDEuMWI0OGEzNWIxYjI3N2VmZmFiZDcyNzhiNTI1NzA4ZWRwMSwKLSAgICAweDEuMjU3YjIyZTc4MGY1MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ5Ci0gICAgLTB4MS5kNzRjYWY5OTEyZGM3ZDk2NjliMDA5MjZhYTFhZGUxMXAwLAotICAgIC0weDEuMTJiZDkxNzNjMDdhYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUwCi0gICAgMHgxLmQ3NGNhZjk5MTJkYzdkOTY2OWIwMDkyNmFhMWFkZTExcDAsCi0gICAgMHgxLjEyYmQ5MTczYzA3YWJwMAotICB9LAotICB7IC8vIEVudHJ5IDU1MQotICAgIC0weDEuNmJlNzAyZTFmNmNkNjBiZmQ4NmFkODYxODBkMTg0OTBwMCwKLSAgICAtMHgxLmVhNWMzZWQ1YjM4NTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTIKLSAgICAweDEuNmJlNzAyZTFmNmNkNjBiZmQ4NmFkODYxODBkMTg0OTBwMCwKLSAgICAweDEuZWE1YzNlZDViMzg1MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU1MwotICAgIC0weDEuNGQwZGYxZmMxZDM0ODRiMDI3NTM3ZDgxMTdhMzk1ZjRwMCwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwYTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTQKLSAgICAweDEuNGQwZGYxZmMxZDM0ODRiMDI3NTM3ZDgxMTdhMzk1ZjRwMCwKLSAgICAweDEuZDRiODdkYWI2NzBhMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU1NQotICAgIC0weDEuMzE2YzhiMDY4YTdhZjI1N2YxZTVhNTE5NDM4MzRmM2VwMCwKLSAgICAtMHgxLmJmMTRiYzgxMWE4ZjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTYKLSAgICAweDEuMzE2YzhiMDY4YTdhZjI1N2YxZTVhNTE5NDM4MzRmM2VwMCwKLSAgICAweDEuYmYxNGJjODExYThmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU1NwotICAgIC0weDEuMTg3MmExYWFhN2UyNmNmNDE3ZTYzMzE2MTdlYTdkZDBwMCwKLSAgICAtMHgxLmE5NzBmYjU2Y2UxNDBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTgKLSAgICAweDEuMTg3MmExYWFhN2UyNmNmNDE3ZTYzMzE2MTdlYTdkZDBwMCwKLSAgICAweDEuYTk3MGZiNTZjZTE0MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU1OQotICAgIC0weDEuMDFhZWVlZDA0Y2JiMGRmYWNkMWQwMGM2NTdkMDhiMTlwMCwKLSAgICAtMHgxLjkzY2QzYTJjODE5OTBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAweDEuMDFhZWVlZDA0Y2JiMGRmYWNkMWQwMGM2NTdkMDhiMTlwMCwKLSAgICAweDEuOTNjZDNhMmM4MTk5MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU2MQotICAgIC0weDEuZDk4ZTQwOGFjMjA4NWM0ZTA1ODhkZjEwYmE3ZmIwMjNwLTEsCi0gICAgLTB4MS43ZTI5NzkwMjM1MWUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYyCi0gICAgMHgxLmQ5OGU0MDhhYzIwODVjNGUwNTg4ZGYxMGJhN2ZiMDIzcC0xLAotICAgIDB4MS43ZTI5NzkwMjM1MWUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTYzCi0gICAgLTB4MS5iMmU0NzUwNjMxYzUzYzU0ZjU4MzBmZDQxNzUzZDQyN3AtMSwKLSAgICAtMHgxLjY4ODViN2Q3ZThhMzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjQKLSAgICAweDEuYjJlNDc1MDYzMWM1M2M1NGY1ODMwZmQ0MTc1M2Q0MjdwLTEsCi0gICAgMHgxLjY4ODViN2Q3ZThhMzBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjUKLSAgICAtMHgxLjhlZTkxNjM5MmUwNDU5MGNlOTg4ZDgyY2MzOTU5MDIxcC0xLAotICAgIC0weDEuNTJlMWY2YWQ5YzI4MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU2NgotICAgIDB4MS44ZWU5MTYzOTJlMDQ1OTBjZTk4OGQ4MmNjMzk1OTAyMXAtMSwKLSAgICAweDEuNTJlMWY2YWQ5YzI4MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDU2NwotICAgIC0weDEuNmQzOTVlNDk1Zjc3ZTcwOTg0MjU5MmUyMjY2MDdiNTNwLTEsCi0gICAgLTB4MS4zZDNlMzU4MzRmYWQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY4Ci0gICAgMHgxLjZkMzk1ZTQ5NWY3N2U3MDk4NDI1OTJlMjI2NjA3YjUzcC0xLAotICAgIDB4MS4zZDNlMzU4MzRmYWQwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY5Ci0gICAgLTB4MS4yNGUzZTAxN2EwOThlY2Y0ZGU0OGJjZWViMDI2NzQzYXAtMSwKLSAgICAtMHgxLjBhMGIwMjUwMWM3OTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzAKLSAgICAweDEuMjRlM2UwMTdhMDk4ZWNmNGRlNDhiY2VlYjAyNjc0M2FwLTEsCi0gICAgMHgxLjBhMGIwMjUwMWM3OTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzEKLSAgICAtMHgxLmZkYmQ1ZjA1OTZiZGM2ZWY4ZGE1M2VlNjUyYjU3Y2Y3cC0yLAotICAgIC0weDEuZDhmNzIwOGU2YjgyY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDU3MgotICAgIDB4MS5mZGJkNWYwNTk2YmRjNmVmOGRhNTNlZTY1MmI1N2NmN3AtMiwKLSAgICAweDEuZDhmNzIwOGU2YjgyY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDU3MwotICAgIC0weDEuYjVmM2Q2YWZiZTZmMjU5YWYzN2M0ZTYzM2FiNWZkZmFwLTIsCi0gICAgLTB4MS45ZGQ4M2M3YzllMTI2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc0Ci0gICAgMHgxLmI1ZjNkNmFmYmU2ZjI1OWFmMzdjNGU2MzNhYjVmZGZhcC0yLAotICAgIDB4MS45ZGQ4M2M3YzllMTI2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc1Ci0gICAgLTB4MS43MWEwZjk4MDgxZWE5OGI1ZjMwYTE1OTNlM2ZjNjM3M3AtMiwKLSAgICAtMHgxLjYyYjk1ODZhZDBhMjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzYKLSAgICAweDEuNzFhMGY5ODA4MWVhOThiNWYzMGExNTkzZTNmYzYzNzNwLTIsCi0gICAgMHgxLjYyYjk1ODZhZDBhMjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzcKLSAgICAtMHgxLjMwMTkwOWEyYzM2ZTg5YTY3NTI4YTM4Yzc3YWM5ZTQzcC0yLAotICAgIC0weDEuMjc5YTc0NTkwMzMxYXAtMgotICB9LAotICB7IC8vIEVudHJ5IDU3OAotICAgIDB4MS4zMDE5MDlhMmMzNmU4OWE2NzUyOGEzOGM3N2FjOWU0M3AtMiwKLSAgICAweDEuMjc5YTc0NTkwMzMxYXAtMgotICB9LAotICB7IC8vIEVudHJ5IDU3OQotICAgIC0weDEuZTE4ZTk0MWNjN2ZkNTE5ZWNjNDA1NDhhODZkMmEzZWRwLTMsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODI5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgwCi0gICAgMHgxLmUxOGU5NDFjYzdmZDUxOWVjYzQwNTQ4YTg2ZDJhM2VkcC0zLAotICAgIDB4MS5kOGY3MjA4ZTZiODI5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgxCi0gICAgLTB4MS42NjUwNzg0YmJkY2MwMmYzMzkwMjYyY2Y2OGJhZDNjNnAtMywKLSAgICAtMHgxLjYyYjk1ODZhZDBhMWVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODIKLSAgICAweDEuNjY1MDc4NGJiZGNjMDJmMzM5MDI2MmNmNjhiYWQzYzZwLTMsCi0gICAgMHgxLjYyYjk1ODZhZDBhMWVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODMKLSAgICAtMHgxLmRiMTQyNDY4Y2RhZmM1NmVjZmRmOGIxMDUyYjA5ZTYzcC00LAotICAgIC0weDEuZDhmNzIwOGU2YjgyNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDU4NAotICAgIDB4MS5kYjE0MjQ2OGNkYWZjNTZlY2ZkZjhiMTA1MmIwOWU2M3AtNCwKLSAgICAweDEuZDhmNzIwOGU2YjgyNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDU4NQotICAgIC0weDEuZDk3ZGQ2ZDJlNTNmMjdlMGZlMWYzYmQyYjAzNTY2MmFwLTUsCi0gICAgLTB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg2Ci0gICAgMHgxLmQ5N2RkNmQyZTUzZjI3ZTBmZTFmM2JkMmIwMzU2NjJhcC01LAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg3Ci0gICAgMHgxLmQ5N2RkNmQyZTUzZjI3ZTBmZTFmM2JkMmIwMzU2NjJhcC01LAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTg4Ci0gICAgLTB4MS5kOTdkZDZkMmU1M2YyN2UwZmUxZjNiZDJiMDM1NjYyYXAtNSwKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODkKLSAgICAweDEuZGIxNDI0NjhjZGIwMzZmMDg3ODNkOTM2YjE5MzQ4ZjZwLTQsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MmRwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTAKLSAgICAtMHgxLmRiMTQyNDY4Y2RiMDM2ZjA4NzgzZDkzNmIxOTM0OGY2cC00LAotICAgIC0weDEuZDhmNzIwOGU2YjgyZHAtNAotICB9LAotICB7IC8vIEVudHJ5IDU5MQotICAgIDB4MS42NjUwNzg0YmJkY2M0NGU4YmUyYzIyMGUxZDY3M2ZmYnAtMywKLSAgICAweDEuNjJiOTU4NmFkMGEyMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDU5MgotICAgIC0weDEuNjY1MDc4NGJiZGNjNDRlOGJlMmMyMjBlMWQ2NzNmZmJwLTMsCi0gICAgLTB4MS42MmI5NTg2YWQwYTIycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgMHgxLmUxOGU5NDFjYzdmZDk1MjhhNTU4NTE1N2FjNjVlNjE1cC0zLAotICAgIDB4MS5kOGY3MjA4ZTZiODJkcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk0Ci0gICAgLTB4MS5lMThlOTQxY2M3ZmQ5NTI4YTU1ODUxNTdhYzY1ZTYxNXAtMywKLSAgICAtMHgxLmQ4ZjcyMDhlNmI4MmRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTUKLSAgICAweDEuMzAxOTA5YTJjMzZlYWM3OGVjMWI0ZTcxMTMxNmQwYzRwLTIsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTYKLSAgICAtMHgxLjMwMTkwOWEyYzM2ZWFjNzhlYzFiNGU3MTEzMTZkMGM0cC0yLAotICAgIC0weDEuMjc5YTc0NTkwMzMxY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDU5NwotICAgIDB4MS43MWEwZjk4MDgxZWFiY2UxNTVmMzEwMjg4YzQyNDVlYXAtMiwKLSAgICAweDEuNjJiOTU4NmFkMGEyMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDU5OAotICAgIC0weDEuNzFhMGY5ODA4MWVhYmNlMTU1ZjMxMDI4OGM0MjQ1ZWFwLTIsCi0gICAgLTB4MS42MmI5NTg2YWQwYTIycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk5Ci0gICAgMHgxLmI1ZjNkNmFmYmU2ZjRiNzU2ODQyYjhlZWU1Yzg1YTMxcC0yLAotICAgIDB4MS45ZGQ4M2M3YzllMTI4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAwCi0gICAgLTB4MS5iNWYzZDZhZmJlNmY0Yjc1Njg0MmI4ZWVlNWM4NWEzMXAtMiwKLSAgICAtMHgxLjlkZDgzYzdjOWUxMjhwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDEKLSAgICAweDEuZmRiZDVmMDU5NmJkZWVkZDgyZDUyMjNjM2MxYjE5MjVwLTIsCi0gICAgMHgxLmQ4ZjcyMDhlNmI4MmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDIKLSAgICAtMHgxLmZkYmQ1ZjA1OTZiZGVlZGQ4MmQ1MjIzYzNjMWIxOTI1cC0yLAotICAgIC0weDEuZDhmNzIwOGU2YjgyZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDYwMwotICAgIDB4MS4yNGUzZTAxN2EwOThlY2Y0ZGU0OGJjZWViMDI2NzQzYXAtMSwKLSAgICAweDEuMGEwYjAyNTAxYzc5OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDYwNAotICAgIC0weDEuMjRlM2UwMTdhMDk4ZWNmNGRlNDhiY2VlYjAyNjc0M2FwLTEsCi0gICAgLTB4MS4wYTBiMDI1MDFjNzk5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA1Ci0gICAgMHgxLjZkMzk1ZTQ5NWY3Nzg2NzhiOWVhMGQ0ODA4YzcyMjBhcC0xLAotICAgIDB4MS4zZDNlMzU4MzRmYWNjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA2Ci0gICAgLTB4MS42ZDM5NWU0OTVmNzc4Njc4YjllYTBkNDgwOGM3MjIwYXAtMSwKLSAgICAtMHgxLjNkM2UzNTgzNGZhY2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDcKLSAgICAweDEuOGVlOTE2MzkyZTAzZjIzMzUwMzNhNDFiM2IwMjA2ZTRwLTEsCi0gICAgMHgxLjUyZTFmNmFkOWMyN2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDgKLSAgICAtMHgxLjhlZTkxNjM5MmUwM2YyMzM1MDMzYTQxYjNiMDIwNmU0cC0xLAotICAgIC0weDEuNTJlMWY2YWQ5YzI3Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYwOQotICAgIDB4MS5iMmU0NzUwNjMxYzRjZTI4M2VmODc1M2ZhMWVkZjMyNHAtMSwKLSAgICAweDEuNjg4NWI3ZDdlOGEyY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYxMAotICAgIC0weDEuYjJlNDc1MDYzMWM0Y2UyODNlZjg3NTNmYTFlZGYzMjRwLTEsCi0gICAgLTB4MS42ODg1YjdkN2U4YTJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjExCi0gICAgMHgxLmQ5OGU0MDhhYzIwN2U1OGUxNWYwMTg1ZDRiMTBjZjcxcC0xLAotICAgIDB4MS43ZTI5NzkwMjM1MWRjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEyCi0gICAgLTB4MS5kOThlNDA4YWMyMDdlNThlMTVmMDE4NWQ0YjEwY2Y3MXAtMSwKLSAgICAtMHgxLjdlMjk3OTAyMzUxZGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTMKLSAgICAweDEuMDFhZWVlZDA0Y2JhY2Q4ZWI2YmMwOTQ2NjRkYjc3NjNwMCwKLSAgICAweDEuOTNjZDNhMmM4MTk4Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYxNAotICAgIC0weDEuMDFhZWVlZDA0Y2JhY2Q4ZWI2YmMwOTQ2NjRkYjc3NjNwMCwKLSAgICAtMHgxLjkzY2QzYTJjODE5OGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTUKLSAgICAweDEuMTg3MmExYWFhN2UyMjY4Y2I5NDZmY2ViODNmMGVhNWVwMCwKLSAgICAweDEuYTk3MGZiNTZjZTEzY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYxNgotICAgIC0weDEuMTg3MmExYWFhN2UyMjY4Y2I5NDZmY2ViODNmMGVhNWVwMCwKLSAgICAtMHgxLmE5NzBmYjU2Y2UxM2NwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTcKLSAgICAweDEuMzE2YzhiMDY4YTdhYTRjYjc3YmMzZjM5OTIxYzJjOGRwMCwKLSAgICAweDEuYmYxNGJjODExYThlY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYxOAotICAgIC0weDEuMzE2YzhiMDY4YTdhYTRjYjc3YmMzZjM5OTIxYzJjOGRwMCwKLSAgICAtMHgxLmJmMTRiYzgxMWE4ZWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTkKLSAgICAweDEuNGQwZGYxZmMxZDM0MmU4NjdlNDlmMWY2ZGRhY2VkYWFwMCwKLSAgICAweDEuZDRiODdkYWI2NzA5Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYyMAotICAgIC0weDEuNGQwZGYxZmMxZDM0MmU4NjdlNDlmMWY2ZGRhY2VkYWFwMCwKLSAgICAtMHgxLmQ0Yjg3ZGFiNjcwOWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjEKLSAgICAweDEuNmJlNzAyZTFmNmNkMDAxNmJhMTY3N2E5Y2QzM2YxMzlwMCwKLSAgICAweDEuZWE1YzNlZDViMzg0Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDYyMgotICAgIC0weDEuNmJlNzAyZTFmNmNkMDAxNmJhMTY3N2E5Y2QzM2YxMzlwMCwKLSAgICAtMHgxLmVhNWMzZWQ1YjM4NGNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjMKLSAgICAweDEuZDc0Y2FmOTkxMmRjN2Q5NjY5YjAwOTI2YWExYWRlMTFwMCwKLSAgICAweDEuMTJiZDkxNzNjMDdhYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI0Ci0gICAgLTB4MS5kNzRjYWY5OTEyZGM3ZDk2NjliMDA5MjZhYTFhZGUxMXAwLAotICAgIC0weDEuMTJiZDkxNzNjMDdhYnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI1Ci0gICAgMHgxLjFiNDhhMzViMWIyODNiYmM4MmJiMDQ0ZTk5YzRkOWIxcDEsCi0gICAgMHgxLjI1N2IyMmU3ODBmNTZwMAotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIC0weDEuMWI0OGEzNWIxYjI4M2JiYzgyYmIwNDRlOTljNGQ5YjFwMSwKLSAgICAtMHgxLjI1N2IyMmU3ODBmNTZwMAotICB9LAotICB7IC8vIEVudHJ5IDYyNwotICAgIDB4MS41ZDYwM2Q3NTE3NjhmY2Q4YWY4MmIzODc0Njg4ODUzMHAxLAotICAgIDB4MS4zODM4YjQ1YjQxNzAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjgKLSAgICAtMHgxLjVkNjAzZDc1MTc2OGZjZDhhZjgyYjM4NzQ2ODg4NTMwcDEsCi0gICAgLTB4MS4zODM4YjQ1YjQxNzAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjkKLSAgICAweDEuYzA4Y2FlYzVjZjliMWI1NGIwNDUyMjhiM2VlYjI0NjlwMSwKLSAgICAweDEuNGFmNjQ1Y2YwMWVhY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMwCi0gICAgLTB4MS5jMDhjYWVjNWNmOWIxYjU0YjA0NTIyOGIzZWViMjQ2OXAxLAotICAgIC0weDEuNGFmNjQ1Y2YwMWVhY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjMxCi0gICAgMHgxLjM0MjllNjFhNWQyMGIxNzVkNDVjMmE2NzVhMzg2YmEzcDIsCi0gICAgMHgxLjVkYjNkNzQyYzI2NTdwMAotICB9LAotICB7IC8vIEVudHJ5IDYzMgotICAgIC0weDEuMzQyOWU2MWE1ZDIwYjE3NWQ0NWMyYTY3NWEzODZiYTNwMiwKLSAgICAtMHgxLjVkYjNkNzQyYzI2NTdwMAotICB9LAotICB7IC8vIEVudHJ5IDYzMwotICAgIDB4MS5lM2EzNzI5YjNlOGE4M2Q0NGE3NmUzNDJkNmIzZmNiZnAyLAotICAgIDB4MS43MDcxNjhiNjgyZTAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzQKLSAgICAtMHgxLmUzYTM3MjliM2U4YTgzZDQ0YTc2ZTM0MmQ2YjNmY2JmcDIsCi0gICAgLTB4MS43MDcxNjhiNjgyZTAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzUKLSAgICAweDEuMTFkODcxNDZjMmRhMzk0MDhlODYwODNiZjE0NzFjOGJwNCwKLSAgICAweDEuODMyZWZhMmE0MzVhZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM2Ci0gICAgLTB4MS4xMWQ4NzE0NmMyZGEzOTQwOGU4NjA4M2JmMTQ3MWM4YnA0LAotICAgIC0weDEuODMyZWZhMmE0MzVhZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM3Ci0gICAgLTB4MS4wZDcxOGNmYzgyMzQ4YWI5NzU0ZjNkNmI1ZTBlYTQ5OXA2LAotICAgIDB4MS45NWVjOGI5ZTAzZDU4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzgKLSAgICAweDEuMGQ3MThjZmM4MjM0OGFiOTc1NGYzZDZiNWUwZWE0OTlwNiwKLSAgICAtMHgxLjk1ZWM4YjllMDNkNThwMAotICB9LAotICB7IC8vIEVudHJ5IDYzOQotICAgIC0weDEuNmE3ZTFmNjQwN2VlNjEzOTdkMDE2ZDY5MWJiNjFkMTdwMywKLSAgICAweDEuYThhYTFkMTFjNDRmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQwCi0gICAgMHgxLjZhN2UxZjY0MDdlZTYxMzk3ZDAxNmQ2OTFiYjYxZDE3cDMsCi0gICAgLTB4MS5hOGFhMWQxMWM0NGZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDEKLSAgICAweDEuOWYzOWVhNWJiZTQ3NDllOTYyYTgwN2MyZGMxMWM4MjVwMCwKLSAgICAweDEuMDRhZmY2ZDMzMDk0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQyCi0gICAgLTB4MS45ZjM5ZWE1YmJlNDc0OWU5NjJhODA3YzJkYzExYzgyNXAwLAotICAgIC0weDEuMDRhZmY2ZDMzMDk0MnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQzCi0gICAgMHgxLjlmM2M0Yjg0NjlmODUzYjg1MDc0NTU3MTczMjdjMzExcDAsCi0gICAgMHgxLjA0YjA5ZTk4ZGNkYjRwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NAotICAgIC0weDEuOWYzYzRiODQ2OWY4NTNiODUwNzQ1NTcxNzMyN2MzMTFwMCwKLSAgICAtMHgxLjA0YjA5ZTk4ZGNkYjRwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NQotICAgIDB4MS45ZjNlYWNiMjI0YzIwODZlZjM5MWIwZGZhZDJmMTAxMHAwLAotICAgIDB4MS4wNGIxNDY1ZTg5MjI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDYKLSAgICAtMHgxLjlmM2VhY2IyMjRjMjA4NmVmMzkxYjBkZmFkMmYxMDEwcDAsCi0gICAgLTB4MS4wNGIxNDY1ZTg5MjI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDcKLSAgICAweDEuOWY0MTBkZTRlZWI2OTU5MGNhZWU4NWU4ODZmNDc4YThwMCwKLSAgICAweDEuMDRiMWVlMjQzNTY5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ4Ci0gICAgLTB4MS45ZjQxMGRlNGVlYjY5NTkwY2FlZTg1ZTg4NmY0NzhhOHAwLAotICAgIC0weDEuMDRiMWVlMjQzNTY5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ5Ci0gICAgMHgxLjlmNDM2ZjFjYzdlODI4Zjc1MjgxOWFmMWUyZjRiNmEycDAsCi0gICAgMHgxLjA0YjI5NWU5ZTFiMGFwMAotICB9LAotICB7IC8vIEVudHJ5IDY1MAotICAgIC0weDEuOWY0MzZmMWNjN2U4MjhmNzUyODE5YWYxZTJmNGI2YTJwMCwKLSAgICAtMHgxLjA0YjI5NWU5ZTFiMGFwMAotICB9LAotICB7IC8vIEVudHJ5IDY1MQotICAgIDB4MS45ZjQ1ZDA1OWIwNjhmMGQyMDU0ODVhZDY0ODIyM2U2ZHAwLAotICAgIDB4MS4wNGIzM2RhZjhkZjdjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTIKLSAgICAtMHgxLjlmNDVkMDU5YjA2OGYwZDIwNTQ4NWFkNjQ4MjIzZTZkcDAsCi0gICAgLTB4MS4wNGIzM2RhZjhkZjdjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTMKLSAgICAweDEuOWY0ODMxOWJhODRiMWJhNjVmNDUyY2ZlNjVlMDJkMGVwMCwKLSAgICAweDEuMDRiM2U1NzUzYTNlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU0Ci0gICAgLTB4MS45ZjQ4MzE5YmE4NGIxYmE2NWY0NTJjZmU2NWUwMmQwZXAwLAotICAgIC0weDEuMDRiM2U1NzUzYTNlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU1Ci0gICAgMHgxLjlmNGE5MmUyYWZhMGQ4NGZkZjdkZGJhYWQzMDJmMTUwcDAsCi0gICAgMHgxLjA0YjQ4ZDNhZTY4NjBwMAotICB9LAotICB7IC8vIEVudHJ5IDY1NgotICAgIC0weDEuOWY0YTkyZTJhZmEwZDg0ZmRmN2RkYmFhZDMwMmYxNTBwMCwKLSAgICAtMHgxLjA0YjQ4ZDNhZTY4NjBwMAotICB9LAotICB7IC8vIEVudHJ5IDY1NwotICAgIDB4MS45ZjRjZjQyZWM2N2JhN2FkMGRiMmJlMjQ4YTg3MGJmZXAwLAotICAgIDB4MS4wNGI1MzUwMDkyY2NmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTgKLSAgICAtMHgxLjlmNGNmNDJlYzY3YmE3YWQwZGIyYmUyNDhhODcwYmZlcDAsCi0gICAgLTB4MS4wNGI1MzUwMDkyY2NmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTkKLSAgICAtMHgxLnAtMTA3NCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjAKLSAgICAweDEucC0xMDc0LAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgNjYxCi0gICAgLTAuMCwKLSAgICAtMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNjYyCi0gICAgMHgxLnAtMTA3NCwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDY2MwotICAgIC0weDEucC0xMDc0LAotICAgIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDY2NAotICAgIDB4MS40ZDgyYjY4Y2FjMTllNmQwNjVjNWYxYWE3NjIxYzA4Y3AtMSwKLSAgICAweDEuMjc5YTc0NTkwMzMxYnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2NQotICAgIC0weDEuNGQ4MmI2OGNhYzE5ZTZkMDY1YzVmMWFhNzYyMWMwOGNwLTEsCi0gICAgLTB4MS4yNzlhNzQ1OTAzMzFicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgMHgxLjRkODJiNjhjYWMxOWZkOWE1YjBjOTEyZDkwOTNhYTRhcC0xLAotICAgIDB4MS4yNzlhNzQ1OTAzMzFjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY3Ci0gICAgLTB4MS40ZDgyYjY4Y2FjMTlmZDlhNWIwYzkxMmQ5MDkzYWE0YXAtMSwKLSAgICAtMHgxLjI3OWE3NDU5MDMzMWNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAweDEuNGQ4MmI2OGNhYzFhMTQ2NDUwNTMzMGIwYWJmMzE2YmZwLTEsCi0gICAgMHgxLjI3OWE3NDU5MDMzMWRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjkKLSAgICAtMHgxLjRkODJiNjhjYWMxYTE0NjQ1MDUzMzBiMGFiZjMxNmJmcC0xLAotICAgIC0weDEuMjc5YTc0NTkwMzMxZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDY3MAotICAgIC0weDEuODk3MTJlZWNhMzJiZTk3ZGJhMmNhM2Y5YjgzNzkxNTRwMiwKLSAgICAweDEuYmI2N2FlODU4NGNhOXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcxCi0gICAgMHgxLjg5NzEyZWVjYTMyYmU5N2RiYTJjYTNmOWI4Mzc5MTU0cDIsCi0gICAgLTB4MS5iYjY3YWU4NTg0Y2E5cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzIKLSAgICAtMHgxLjg5NzEyZWVjYTMyYjRlNTI4ZDI1NjM1YTQyOTNiZTFkcDIsCi0gICAgMHgxLmJiNjdhZTg1ODRjYWFwMAotICB9LAotICB7IC8vIEVudHJ5IDY3MwotICAgIDB4MS44OTcxMmVlY2EzMmI0ZTUyOGQyNTYzNWE0MjkzYmUxZHAyLAotICAgIC0weDEuYmI2N2FlODU4NGNhYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc0Ci0gICAgLTB4MS44OTcxMmVlY2EzMmFiMzI3NjAxZTIyYmI0NDJjZGMzN3AyLAotICAgIDB4MS5iYjY3YWU4NTg0Y2FicDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzUKLSAgICAweDEuODk3MTJlZWNhMzJhYjMyNzYwMWUyMmJiNDQyY2RjMzdwMiwKLSAgICAtMHgxLmJiNjdhZTg1ODRjYWJwMAotICB9LAotICB7IC8vIEVudHJ5IDY3NgotICAgIDB4MS5kZWY0OWVhYWIzN2EwMGY5MGNiNDQ1NDcxMGU0ZTU0NXAtMiwKLSAgICAweDEuYmZmZmZmZmZmZmZmZnAtMgotICB9LAotICB7IC8vIEVudHJ5IDY3NwotICAgIC0weDEuZGVmNDllYWFiMzdhMDBmOTBjYjQ0NTQ3MTBlNGU1NDVwLTIsCi0gICAgLTB4MS5iZmZmZmZmZmZmZmZmcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc4Ci0gICAgMHgxLmRlZjQ5ZWFhYjM3YTE0NzkyMzFlODk5NTA5ZWNmMjZjcC0yLAotICAgIDB4MS5jcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc5Ci0gICAgLTB4MS5kZWY0OWVhYWIzN2ExNDc5MjMxZTg5OTUwOWVjZjI2Y3AtMiwKLSAgICAtMHgxLmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODAKLSAgICAweDEuZGVmNDllYWFiMzdhMjdmOTM5ODhjZGUzMDMzZGY3MmNwLTIsCi0gICAgMHgxLmMwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODEKLSAgICAtMHgxLmRlZjQ5ZWFhYjM3YTI3ZjkzOTg4Y2RlMzAzM2RmNzJjcC0yLAotICAgIC0weDEuYzAwMDAwMDAwMDAwMXAtMgotICB9LAotICB7IC8vIEVudHJ5IDY4MgotICAgIDB4MS5hNDZjYjJiZTZhMGIwMmUyZGZmZmM5NWU2ZGNiMjg0MnAtMSwKLSAgICAweDEuNWZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4MwotICAgIC0weDEuYTQ2Y2IyYmU2YTBiMDJlMmRmZmZjOTVlNmRjYjI4NDJwLTEsCi0gICAgLTB4MS41ZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg0Ci0gICAgMHgxLmE0NmNiMmJlNmEwYjFkYWNiMzYyNjljNDFhNGE5MTQ3cC0xLAotICAgIDB4MS42cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg1Ci0gICAgLTB4MS5hNDZjYjJiZTZhMGIxZGFjYjM2MjY5YzQxYTRhOTE0N3AtMSwKLSAgICAtMHgxLjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODYKLSAgICAweDEuYTQ2Y2IyYmU2YTBiMzg3Njg2YzUwYTI5YzgyOWVlNDJwLTEsCi0gICAgMHgxLjYwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODcKLSAgICAtMHgxLmE0NmNiMmJlNmEwYjM4NzY4NmM1MGEyOWM4MjllZTQycC0xLAotICAgIC0weDEuNjAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY4OAotICAgIDB4MS4zZDZkYzk1NmVhYzc5YTg1YjQ3NDU2ZmEwYzk0NmIxM3AxLAotICAgIDB4MS4yZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODkKLSAgICAtMHgxLjNkNmRjOTU2ZWFjNzlhODViNDc0NTZmYTBjOTQ2YjEzcDEsCi0gICAgLTB4MS4yZmZmZmZmZmZmZmZmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTAKLSAgICAweDEuM2Q2ZGM5NTZlYWM3ZDNiOGQ2ZWIyMTc0MTEwZDFkZGNwMSwKLSAgICAweDEuM3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkxCi0gICAgLTB4MS4zZDZkYzk1NmVhYzdkM2I4ZDZlYjIxNzQxMTBkMWRkY3AxLAotICAgIC0weDEuM3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkyCi0gICAgMHgxLjNkNmRjOTU2ZWFjODBjZWJmOTYxZWJlZTI3NDEwN3AxLAotICAgIDB4MS4zMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTMKLSAgICAtMHgxLjNkNmRjOTU2ZWFjODBjZWJmOTYxZWJlZTI3NDEwN3AxLAotICAgIC0weDEuMzAwMDAwMDAwMDAwMXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk0Ci0gICAgLTB4MS5iMmQ4OWE5MzgyOTUzNmNjOTI4M2NmYzdlMDFmZTJhM3AtMSwKLSAgICAweDEuMzdmZmZmZmZmZmZmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk1Ci0gICAgMHgxLmIyZDg5YTkzODI5NTM2Y2M5MjgzY2ZjN2UwMWZlMmEzcC0xLAotICAgIC0weDEuMzdmZmZmZmZmZmZmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk2Ci0gICAgLTB4MS5iMmQ4OWE5MzgyOTRjOGEyNjA0ZGI5ZjdhYTU2YTBmOHAtMSwKLSAgICAweDEuMzgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTcKLSAgICAweDEuYjJkODlhOTM4Mjk0YzhhMjYwNGRiOWY3YWE1NmEwZjhwLTEsCi0gICAgLTB4MS4zODBwMQotICB9LAotICB7IC8vIEVudHJ5IDY5OAotICAgIC0weDEuYjJkODlhOTM4Mjk0NWE3ODJlMTdhNDI3OGJmMTc3MzZwLTEsCi0gICAgMHgxLjM4MDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDY5OQotICAgIDB4MS5iMmQ4OWE5MzgyOTQ1YTc4MmUxN2E0Mjc4YmYxNzczNnAtMSwKLSAgICAtMHgxLjM4MDAwMDAwMDAwMDFwMQotICB9LAotICB7IC8vIEVudHJ5IDcwMAotICAgIDB4MS4wNmY4ZDAxNGJmMDgzY2QzNjY1MGU5NDY2ZGMwODZkY3AtNCwKLSAgICAweDEuMDY5YzhiNDZiMzc5MnAtNAotICB9LAotICB7IC8vIEVudHJ5IDcwMQotICAgIC0weDEuMDZmOGQwMTRiZjA4M2NkMzY2NTBlOTQ2NmRjMDg2ZGNwLTQsCi0gICAgLTB4MS4wNjljOGI0NmIzNzkycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzAyCi0gICAgMHgxLjA4MGY3M2IwNzA1MWUzN2IyM2RhMzMzN2MwYWVkMzUzcC0zLAotICAgIDB4MS4wNjljOGI0NmIzNzkycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAzCi0gICAgLTB4MS4wODBmNzNiMDcwNTFlMzdiMjNkYTMzMzdjMGFlZDM1M3AtMywKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDQKLSAgICAweDEuOGVkOTE0MmZjOTE4ODg4ZTI5NGQzZmY1ZDAxNDk0MTVwLTMsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNWJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDUKLSAgICAtMHgxLjhlZDkxNDJmYzkxODg4OGUyOTRkM2ZmNWQwMTQ5NDE1cC0zLAotICAgIC0weDEuODllYWQwZWEwZDM1YnAtMwotICB9LAotICB7IC8vIEVudHJ5IDcwNgotICAgIDB4MS4wYzg2NDA4M2QxZTdjYTU1NTFiY2UyNDk3Mjg3ODEyN3AtMiwKLSAgICAweDEuMDY5YzhiNDZiMzc5MnAtMgotICB9LAotICB7IC8vIEVudHJ5IDcwNwotICAgIC0weDEuMGM4NjQwODNkMWU3Y2E1NTUxYmNlMjQ5NzI4NzgxMjdwLTIsCi0gICAgLTB4MS4wNjljOGI0NmIzNzkycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA4Ci0gICAgMHgxLjUzZmRjZGZkMzdmMDQzNzVkOWZmYjZhZWJhZmU3ZGY4cC0yLAotICAgIDB4MS40ODQzYWUxODYwNTc2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA5Ci0gICAgLTB4MS41M2ZkY2RmZDM3ZjA0Mzc1ZDlmZmI2YWViYWZlN2RmOHAtMiwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NzZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTAKLSAgICAweDEuOWU5MjU3ZTZiNjJhMGE4ZGU1NjUwYzgzN2Y3ZjYyMjdwLTIsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNWFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTEKLSAgICAtMHgxLjllOTI1N2U2YjYyYTBhOGRlNTY1MGM4MzdmN2Y2MjI3cC0yLAotICAgIC0weDEuODllYWQwZWEwZDM1YXAtMgotICB9LAotICB7IC8vIEVudHJ5IDcxMgotICAgIDB4MS5lZDIxZTU5OTcyYjA3YzcwNTNmNGYzNWRkNTUwMjQ5M3AtMiwKLSAgICAweDEuY2I5MWYzYmJiYTEzZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDcxMwotICAgIC0weDEuZWQyMWU1OTk3MmIwN2M3MDUzZjRmMzVkZDU1MDI0OTNwLTIsCi0gICAgLTB4MS5jYjkxZjNiYmJhMTNlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE0Ci0gICAgMHgxLjIwNWE2MDA5ZDVlM2RkZTI1ZDZkZWI3ZDUyMWZmMTQwcC0xLAotICAgIDB4MS4wNjljOGI0NmIzNzkxcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzE1Ci0gICAgLTB4MS4yMDVhNjAwOWQ1ZTNkZGUyNWQ2ZGViN2Q1MjFmZjE0MHAtMSwKLSAgICAtMHgxLjA2OWM4YjQ2YjM3OTFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTYKLSAgICAweDEuNGQ0NjZhY2NhZDQ4ZGQ5NThhYjE2OGY1Y2ZjNmM5OWNwLTEsCi0gICAgMHgxLjI3NzAxY2FmODllODNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTcKLSAgICAtMHgxLjRkNDY2YWNjYWQ0OGRkOTU4YWIxNjhmNWNmYzZjOTljcC0xLAotICAgIC0weDEuMjc3MDFjYWY4OWU4M3AtMQotICB9LAotICB7IC8vIEVudHJ5IDcxOAotICAgIDB4MS43ZTFkOTM2ZjRkNjE1MmZiNzQ4MDk1OTU3MTdmYTA2ZHAtMSwKLSAgICAweDEuNDg0M2FlMTg2MDU3NXAtMQotICB9LAotICB7IC8vIEVudHJ5IDcxOQotICAgIC0weDEuN2UxZDkzNmY0ZDYxNTJmYjc0ODA5NTk1NzE3ZmEwNmRwLTEsCi0gICAgLTB4MS40ODQzYWUxODYwNTc1cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIwCi0gICAgMHgxLmIzZGYzODZmMTgyMjdlYmNlZTkwNWZkYzUxY2RjYmUycC0xLAotICAgIDB4MS42OTE3M2Y4MTM2YzY3cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIxCi0gICAgLTB4MS5iM2RmMzg2ZjE4MjI3ZWJjZWU5MDVmZGM1MWNkY2JlMnAtMSwKLSAgICAtMHgxLjY5MTczZjgxMzZjNjdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjIKLSAgICAweDEuZWZkODI3NDJkNzc4YzE4YThjOTY5YmUwY2YwOTAyYjNwLTEsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNTlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjMKLSAgICAtMHgxLmVmZDgyNzQyZDc3OGMxOGE4Yzk2OWJlMGNmMDkwMmIzcC0xLAotICAgIC0weDEuODllYWQwZWEwZDM1OXAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyNAotICAgIDB4MS4xOWUyNmI1ZWNkNWMwNDBhMWQ4MGMxNTgzZjc4ZjdkN3AwLAotICAgIDB4MS5hYWJlNjI1MmUzYTRicC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI1Ci0gICAgLTB4MS4xOWUyNmI1ZWNkNWMwNDBhMWQ4MGMxNTgzZjc4ZjdkN3AwLAotICAgIC0weDEuYWFiZTYyNTJlM2E0YnAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyNgotICAgIDB4MS40MTAzOGI3MGJlMGZhMTQ3OGY5OGEyZTlmMjY2NTUwYXAwLAotICAgIDB4MS5jYjkxZjNiYmJhMTNkcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI3Ci0gICAgLTB4MS40MTAzOGI3MGJlMGZhMTQ3OGY5OGEyZTlmMjY2NTUwYXAwLAotICAgIC0weDEuY2I5MWYzYmJiYTEzZHAtMQotICB9LAotICB7IC8vIEVudHJ5IDcyOAotICAgIDB4MS42ZWZlYzhjMWU0OTNiNTE3ZWZlNWViOTI0NjRmZGY0MnAwLAotICAgIDB4MS5lYzY1ODUyNDkwODJmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI5Ci0gICAgLTB4MS42ZWZlYzhjMWU0OTNiNTE3ZWZlNWViOTI0NjRmZGY0MnAwLAotICAgIC0weDEuZWM2NTg1MjQ5MDgyZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDczMAotICAgIDB4MS5hNjRjN2M5ZDY1MzQ2MmQ4ZGVkM2U2NThmZTRlZmJjYnAwLAotICAgIDB4MS4wNjljOGI0NmIzNzkxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzEKLSAgICAtMHgxLmE2NGM3YzlkNjUzNDYyZDhkZWQzZTY1OGZlNGVmYmNicDAsCi0gICAgLTB4MS4wNjljOGI0NmIzNzkxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzIKLSAgICAweDEuZWFiNDNlMGU1ZTg3YzI2ZmQ0MzJlMDYzMDFlMTllMTVwMCwKLSAgICAweDEuMTcwNjUzZmIxZWIwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMzCi0gICAgLTB4MS5lYWI0M2UwZTVlODdjMjZmZDQzMmUwNjMwMWUxOWUxNXAwLAotICAgIC0weDEuMTcwNjUzZmIxZWIwYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM0Ci0gICAgMHgxLjIxMjc3Yjk3YzAxMzc2ZTM2MTk4ODI1MGI1NjM2NGNmcDEsCi0gICAgMHgxLjI3NzAxY2FmODllODNwMAotICB9LAotICB7IC8vIEVudHJ5IDczNQotICAgIC0weDEuMjEyNzdiOTdjMDEzNzZlMzYxOTg4MjUwYjU2MzY0Y2ZwMSwKLSAgICAtMHgxLjI3NzAxY2FmODllODNwMAotICB9LAotICB7IC8vIEVudHJ5IDczNgotICAgIDB4MS41YmQxM2RkYTA3N2NjZTI0OWRiMjc5NGQ2OTQwNzUwNHAxLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MWZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzcKLSAgICAtMHgxLjViZDEzZGRhMDc3Y2NlMjQ5ZGIyNzk0ZDY5NDA3NTA0cDEsCi0gICAgLTB4MS4zN2Q5ZTU2M2Y1MWZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzgKLSAgICAweDEuYWY0NjQzZTkzNzFmODhlNzhjMjRkODNiZDZiOGUyM2VwMSwKLSAgICAweDEuNDg0M2FlMTg2MDU3NXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM5Ci0gICAgLTB4MS5hZjQ2NDNlOTM3MWY4OGU3OGMyNGQ4M2JkNmI4ZTIzZXAxLAotICAgIC0weDEuNDg0M2FlMTg2MDU3NXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQwCi0gICAgMHgxLjE4NjZmZTg0NWU3NTlkMTRkYTQ3OGM2Y2Y2ZjJiZTY1cDIsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZWVwMAotICB9LAotICB7IC8vIEVudHJ5IDc0MQotICAgIC0weDEuMTg2NmZlODQ1ZTc1OWQxNGRhNDc4YzZjZjZmMmJlNjVwMiwKLSAgICAtMHgxLjU4YWQ3NmNjY2I4ZWVwMAotICB9LAotICB7IC8vIEVudHJ5IDc0MgotICAgIDB4MS44YmRjZDU0YmQ1OTgwYjNhODBjZWZjOTE0YzQ4MTQ3NXAyLAotICAgIDB4MS42OTE3M2Y4MTM2YzY3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDMKLSAgICAtMHgxLjhiZGNkNTRiZDU5ODBiM2E4MGNlZmM5MTRjNDgxNDc1cDIsCi0gICAgLTB4MS42OTE3M2Y4MTM2YzY3cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDQKLSAgICAweDEuNGJiNmE2NGUwNjI1Yjk3NGNkZWQ2MTUwNTZmZmQ2MWNwMywKLSAgICAweDEuNzk4MTA4MzVhMWZlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgLTB4MS40YmI2YTY0ZTA2MjViOTc0Y2RlZDYxNTA1NmZmZDYxY3AzLAotICAgIC0weDEuNzk4MTA4MzVhMWZlMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ2Ci0gICAgMHgxLmYyZjA1Y2ZiNjU2YTM5ZjZmMmE5MGY3OTExYjI0MDUxcDQsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNTlwMAotICB9LAotICB7IC8vIEVudHJ5IDc0NwotICAgIC0weDEuZjJmMDVjZmI2NTZhMzlmNmYyYTkwZjc5MTFiMjQwNTFwNCwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNTlwMAotICB9LAotICB7IC8vIEVudHJ5IDc0OAotICAgIC0weDEuZjJmMDVjZmI2NTdmNTVmMmJjNmQyMDQzNzdhNjg1NDNwNCwKLSAgICAweDEuOWE1NDk5OWU3ODZkMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ5Ci0gICAgMHgxLmYyZjA1Y2ZiNjU3ZjU1ZjJiYzZkMjA0Mzc3YTY4NTQzcDQsCi0gICAgLTB4MS45YTU0OTk5ZTc4NmQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTAKLSAgICAtMHgxLjRiYjZhNjRlMDYyYTZkYTM1ODcwY2ZiMzM1OTVmYmU2cDMsCi0gICAgMHgxLmFhYmU2MjUyZTNhNGJwMAotICB9LAotICB7IC8vIEVudHJ5IDc1MQotICAgIDB4MS40YmI2YTY0ZTA2MmE2ZGEzNTg3MGNmYjMzNTk1ZmJlNnAzLAotICAgIC0weDEuYWFiZTYyNTJlM2E0YnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzUyCi0gICAgLTB4MS44YmRjZDU0YmQ1OWI3MzAyOGU1ZjI3NjQ5Y2E2N2NiYXAyLAotICAgIDB4MS5iYjI4MmIwNzRlZGM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTMKLSAgICAweDEuOGJkY2Q1NGJkNTliNzMwMjhlNWYyNzY0OWNhNjdjYmFwMiwKLSAgICAtMHgxLmJiMjgyYjA3NGVkYzRwMAotICB9LAotICB7IC8vIEVudHJ5IDc1NAotICAgIC0weDEuMTg2NmZlODQ1ZTc3NWQ4YzhmOGJmOTE2NTY0N2Y2Y2JwMiwKLSAgICAweDEuY2I5MWYzYmJiYTEzZHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU1Ci0gICAgMHgxLjE4NjZmZTg0NWU3NzVkOGM4ZjhiZjkxNjU2NDdmNmNicDIsCi0gICAgLTB4MS5jYjkxZjNiYmJhMTNkcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTYKLSAgICAtMHgxLmFmNDY0M2U5MzcyMWFkODA5NWRkMjdmMDgyN2UxM2UwcDEsCi0gICAgMHgxLmRiZmJiYzcwMjU0YjZwMAotICB9LAotICB7IC8vIEVudHJ5IDc1NwotICAgIDB4MS5hZjQ2NDNlOTM3MjFhZDgwOTVkZDI3ZjA4MjdlMTNlMHAxLAotICAgIC0weDEuZGJmYmJjNzAyNTRiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzU4Ci0gICAgLTB4MS41YmQxM2RkYTA3N2U0MjdkMGM5ZGM2YzBlNWQzYjFiNXAxLAotICAgIDB4MS5lYzY1ODUyNDkwODJmcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NTkKLSAgICAweDEuNWJkMTNkZGEwNzdlNDI3ZDBjOWRjNmMwZTVkM2IxYjVwMSwKLSAgICAtMHgxLmVjNjU4NTI0OTA4MmZwMAotICB9LAotICB7IC8vIEVudHJ5IDc2MAotICAgIC0weDEuMjEyNzdiOTdjMDE0ODVmMTdiYWNkYjgwNDM3NWViY2RwMSwKLSAgICAweDEuZmNjZjRkZDhmYmJhOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYxCi0gICAgMHgxLjIxMjc3Yjk3YzAxNDg1ZjE3YmFjZGI4MDQzNzVlYmNkcDEsCi0gICAgLTB4MS5mY2NmNGRkOGZiYmE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjIKLSAgICAtMHgxLmVhYjQzZTBlNWU4OTE2ZDRjMDgzNDlhYmU5ZTJhYmQzcDAsCi0gICAgMHgxLjA2OWM4YjQ2YjM3OTFwMQotICB9LAotICB7IC8vIEVudHJ5IDc2MwotICAgIDB4MS5lYWI0M2UwZTVlODkxNmQ0YzA4MzQ5YWJlOWUyYWJkM3AwLAotICAgIC0weDEuMDY5YzhiNDZiMzc5MXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY0Ci0gICAgLTB4MS5hNjRjN2M5ZDY1MzUzNjRkNjA1YmI5ZTUzMTUwNzJmZnAwLAotICAgIDB4MS4wZWQxNmZhMGU5MTRlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjUKLSAgICAweDEuYTY0YzdjOWQ2NTM1MzY0ZDYwNWJiOWU1MzE1MDcyZmZwMCwKLSAgICAtMHgxLjBlZDE2ZmEwZTkxNGVwMQotICB9LAotICB7IC8vIEVudHJ5IDc2NgotICAgIC0weDEuNmVmZWM4YzFlNDk0NGE0MjU1NDEyMTkzNjRhMTUwNzhwMCwKLSAgICAweDEuMTcwNjUzZmIxZWIwYnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY3Ci0gICAgMHgxLjZlZmVjOGMxZTQ5NDRhNDI1NTQxMjE5MzY0YTE1MDc4cDAsCi0gICAgLTB4MS4xNzA2NTNmYjFlYjBicDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NjgKLSAgICAtMHgxLjQxMDM4YjcwYmUwZmY1YjdjNGQ4ZjA2YjBkNGNmNTI1cDAsCi0gICAgMHgxLjFmM2IzODU1NTQ0YzhwMQotICB9LAotICB7IC8vIEVudHJ5IDc2OQotICAgIDB4MS40MTAzOGI3MGJlMGZmNWI3YzRkOGYwNmIwZDRjZjUyNXAwLAotICAgIC0weDEuMWYzYjM4NTU1NDRjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcwCi0gICAgLTB4MS4xOWUyNmI1ZWNkNWMyOTQzNDhiYTE3ZmVjNTQ1NDc5MnAwLAotICAgIDB4MS4yNzcwMWNhZjg5ZTg1cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzEKLSAgICAweDEuMTllMjZiNWVjZDVjMjk0MzQ4YmExN2ZlYzU0NTQ3OTJwMCwKLSAgICAtMHgxLjI3NzAxY2FmODllODVwMQotICB9LAotICB7IC8vIEVudHJ5IDc3MgotICAgIC0weDEuZWZkODI3NDJkNzc4YzRiY2EwN2UxZTg2Y2JjNjA0YjBwLTEsCi0gICAgMHgxLjJmYTUwMTA5YmY4NDJwMQotICB9LAotICB7IC8vIEVudHJ5IDc3MwotICAgIDB4MS5lZmQ4Mjc0MmQ3NzhjNGJjYTA3ZTFlODZjYmM2MDRiMHAtMSwKLSAgICAtMHgxLjJmYTUwMTA5YmY4NDJwMQotICB9LAotICB7IC8vIEVudHJ5IDc3NAotICAgIC0weDEuYjNkZjM4NmYxODIyNGE2NDAzZTU1YzE2YjM2ZWYxN2ZwLTEsCi0gICAgMHgxLjM3ZDllNTYzZjUxZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDc3NQotICAgIDB4MS5iM2RmMzg2ZjE4MjI0YTY0MDNlNTVjMTZiMzZlZjE3ZnAtMSwKLSAgICAtMHgxLjM3ZDllNTYzZjUxZmZwMQotICB9LAotICB7IC8vIEVudHJ5IDc3NgotICAgIC0weDEuN2UxZDkzNmY0ZDYwZjFlNmY4OGI0YTI0ZGY5YzY1ZjRwLTEsCi0gICAgMHgxLjQwMGVjOWJlMmFiYmNwMQotICB9LAotICB7IC8vIEVudHJ5IDc3NwotICAgIDB4MS43ZTFkOTM2ZjRkNjBmMWU2Zjg4YjRhMjRkZjljNjVmNHAtMSwKLSAgICAtMHgxLjQwMGVjOWJlMmFiYmNwMQotICB9LAotICB7IC8vIEVudHJ5IDc3OAotICAgIC0weDEuNGQ0NjZhY2NhZDQ4NTc0MTg4ODM1MTMwZTY4ZTliYWRwLTEsCi0gICAgMHgxLjQ4NDNhZTE4NjA1NzlwMQotICB9LAotICB7IC8vIEVudHJ5IDc3OQotICAgIDB4MS40ZDQ2NmFjY2FkNDg1NzQxODg4MzUxMzBlNjhlOWJhZHAtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1NzlwMQotICB9LAotICB7IC8vIEVudHJ5IDc4MAotICAgIC0weDEuMjA1YTYwMDlkNWUzMzc3NGZhOThmOWY2MTZhY2M4MGZwLTEsCi0gICAgMHgxLjUwNzg5MjcyOTVmMzZwMQotICB9LAotICB7IC8vIEVudHJ5IDc4MQotICAgIDB4MS4yMDVhNjAwOWQ1ZTMzNzc0ZmE5OGY5ZjYxNmFjYzgwZnAtMSwKLSAgICAtMHgxLjUwNzg5MjcyOTVmMzZwMQotICB9LAotICB7IC8vIEVudHJ5IDc4MgotICAgIC0weDEuZWQyMWU1OTk3MmFlZjY0YTA2ZTU1M2YxOGQ2NDYwOTNwLTIsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZjNwMQotICB9LAotICB7IC8vIEVudHJ5IDc4MwotICAgIDB4MS5lZDIxZTU5OTcyYWVmNjRhMDZlNTUzZjE4ZDY0NjA5M3AtMiwKLSAgICAtMHgxLjU4YWQ3NmNjY2I4ZjNwMQotICB9LAotICB7IC8vIEVudHJ5IDc4NAotICAgIC0weDEuOWU5MjU3ZTZiNjI4NGY3M2NkMWUyZWFlMzIyMGYzMTNwLTIsCi0gICAgMHgxLjYwZTI1YjI3MDEyYjBwMQotICB9LAotICB7IC8vIEVudHJ5IDc4NQotICAgIDB4MS45ZTkyNTdlNmI2Mjg0ZjczY2QxZTJlYWUzMjIwZjMxM3AtMiwKLSAgICAtMHgxLjYwZTI1YjI3MDEyYjBwMQotICB9LAotICB7IC8vIEVudHJ5IDc4NgotICAgIC0weDEuNTNmZGNkZmQzN2VlNTViYzFjZDE2MDRiNmFiMTNiNWZwLTIsCi0gICAgMHgxLjY5MTczZjgxMzZjNmRwMQotICB9LAotICB7IC8vIEVudHJ5IDc4NwotICAgIDB4MS41M2ZkY2RmZDM3ZWU1NWJjMWNkMTYwNGI2YWIxM2I1ZnAtMiwKLSAgICAtMHgxLjY5MTczZjgxMzZjNmRwMQotICB9LAotICB7IC8vIEVudHJ5IDc4OAotICAgIC0weDEuMGM4NjQwODNkMWU1YWFhNjgxNWE4NWUyNWM2NjJlOTdwLTIsCi0gICAgMHgxLjcxNGMyM2RiNmM2MmFwMQotICB9LAotICB7IC8vIEVudHJ5IDc4OQotICAgIDB4MS4wYzg2NDA4M2QxZTVhYWE2ODE1YTg1ZTI1YzY2MmU5N3AtMiwKLSAgICAtMHgxLjcxNGMyM2RiNmM2MmFwMQotICB9LAotICB7IC8vIEVudHJ5IDc5MAotICAgIC0weDEuOGVkOTE0MmZjOTEzZjQ1MGRjY2RiZGQyN2VkMTFhNDBwLTMsCi0gICAgMHgxLjc5ODEwODM1YTFmZTdwMQotICB9LAotICB7IC8vIEVudHJ5IDc5MQotICAgIDB4MS44ZWQ5MTQyZmM5MTNmNDUwZGNjZGJkZDI3ZWQxMWE0MHAtMywKLSAgICAtMHgxLjc5ODEwODM1YTFmZTdwMQotICB9LAotICB7IC8vIEVudHJ5IDc5MgotICAgIC0weDEuMDgwZjczYjA3MDRjZjU3MDgxOGE2NWQxYTEyZDViZTFwLTMsCi0gICAgMHgxLjgxYjVlYzhmZDc5YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDc5MwotICAgIDB4MS4wODBmNzNiMDcwNGNmNTcwODE4YTY1ZDFhMTJkNWJlMXAtMywKLSAgICAtMHgxLjgxYjVlYzhmZDc5YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDc5NAotICAgIC0weDEuMDZmOGQwMTRiZjA5YWI4NWYyYTE5ZDgwZGE1YTJjMGJwLTQsCi0gICAgMHgxLjg5ZWFkMGVhMGQzNWJwMQotICB9LAotICB7IC8vIEVudHJ5IDc5NQotICAgIDB4MS4wNmY4ZDAxNGJmMDlhYjg1ZjJhMTlkODBkYTVhMmMwYnAtNCwKLSAgICAtMHgxLjg5ZWFkMGVhMGQzNWJwMQotICB9LAotICB7IC8vIEVudHJ5IDc5NgotICAgIDB4MS4wYzg2NDA4M2QxZTdmMzk1NWIxMjA3MWUwNjQ0NDE4YnAtMiwKLSAgICAtMHgxLjgxYjVlYzhmZDc5OWZwMgotICB9LAotICB7IC8vIEVudHJ5IDc5NwotICAgIC0weDEuMGM4NjQwODNkMWU3ZjM5NTViMTIwNzFlMDY0NDQxOGJwLTIsCi0gICAgMHgxLjgxYjVlYzhmZDc5OWZwMgotICB9LAotICB7IC8vIEVudHJ5IDc5OAotICAgIDB4MS4yMDVhNjAwOWQ1ZTNmNzRkYTNhMzcyYWMxNTcyMWVmNnAtMSwKLSAgICAtMHgxLjcxNGMyM2RiNmM2MjZwMgotICB9LAotICB7IC8vIEVudHJ5IDc5OQotICAgIC0weDEuMjA1YTYwMDlkNWUzZjc0ZGEzYTM3MmFjMTU3MjFlZjZwLTEsCi0gICAgMHgxLjcxNGMyM2RiNmM2MjZwMgotICB9LAotICB7IC8vIEVudHJ5IDgwMAotICAgIDB4MS5lZmQ4Mjc0MmQ3NzhlNmYwNGFkZWZjM2QyMWY4YmU5NnAtMSwKLSAgICAtMHgxLjYwZTI1YjI3MDEyYWRwMgotICB9LAotICB7IC8vIEVudHJ5IDgwMQotICAgIC0weDEuZWZkODI3NDJkNzc4ZTZmMDRhZGVmYzNkMjFmOGJlOTZwLTEsCi0gICAgMHgxLjYwZTI1YjI3MDEyYWRwMgotICB9LAotICB7IC8vIEVudHJ5IDgwMgotICAgIDB4MS5hNjRjN2M5ZDY1MzQ2OGZiYzUyNjBkY2E1MDFkZGI4MXAwLAotICAgIC0weDEuNTA3ODkyNzI5NWYzNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODAzCi0gICAgLTB4MS5hNjRjN2M5ZDY1MzQ2OGZiYzUyNjBkY2E1MDFkZGI4MXAwLAotICAgIDB4MS41MDc4OTI3Mjk1ZjM0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDQKLSAgICAweDEuYWY0NjQzZTkzNzFmOTMxNmQzMjU0Yjg2MTllZGE0ODRwMSwKLSAgICAtMHgxLjQwMGVjOWJlMmFiYmJwMgotICB9LAotICB7IC8vIEVudHJ5IDgwNQotICAgIC0weDEuYWY0NjQzZTkzNzFmOTMxNmQzMjU0Yjg2MTllZGE0ODRwMSwKLSAgICAweDEuNDAwZWM5YmUyYWJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODA2Ci0gICAgMHgxLmYyZjA1Y2ZiNjU2YTllNGEwODViMDI3ZDE4NjAzMjMwcDQsCi0gICAgLTB4MS4yZmE1MDEwOWJmODQycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDcKLSAgICAtMHgxLmYyZjA1Y2ZiNjU2YTllNGEwODViMDI3ZDE4NjAzMjMwcDQsCi0gICAgMHgxLjJmYTUwMTA5YmY4NDJwMgotICB9LAotICB7IC8vIEVudHJ5IDgwOAotICAgIC0weDEuMTg2NmZlODQ1ZTc3NTUzOTJhMGFkZmY1NmE2ODhlYWFwMiwKLSAgICAtMHgxLjFmM2IzODU1NTQ0YzlwMgotICB9LAotICB7IC8vIEVudHJ5IDgwOQotICAgIDB4MS4xODY2ZmU4NDVlNzc1NTM5MmEwYWRmZjU2YTY4OGVhYXAyLAotICAgIDB4MS4xZjNiMzg1NTU0NGM5cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTAKLSAgICAtMHgxLmVhYjQzZTBlNWU4OTU5ZThmNWFjNmM0ZjlkOWE4MzNicDAsCi0gICAgLTB4MS4wZWQxNmZhMGU5MTUwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTEKLSAgICAweDEuZWFiNDNlMGU1ZTg5NTllOGY1YWM2YzRmOWQ5YTgzM2JwMCwKLSAgICAweDEuMGVkMTZmYTBlOTE1MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODEyCi0gICAgLTB4MS4xOWUyNmI1ZWNkNWNkNjljMzBjM2RjNWQ5ZmZkZTk4NnAwLAotICAgIC0weDEuZmNjZjRkZDhmYmJhZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODEzCi0gICAgMHgxLjE5ZTI2YjVlY2Q1Y2Q2OWMzMGMzZGM1ZDlmZmRlOTg2cDAsCi0gICAgMHgxLmZjY2Y0ZGQ4ZmJiYWVwMQotICB9LAotICB7IC8vIEVudHJ5IDgxNAotICAgIC0weDEuNGQ0NjZhY2NhZDQ5ZWM5NjkzNWNhYTJhMzVlNDM5ZjBwLTEsCi0gICAgLTB4MS5kYmZiYmM3MDI1NGJjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTUKLSAgICAweDEuNGQ0NjZhY2NhZDQ5ZWM5NjkzNWNhYTJhMzVlNDM5ZjBwLTEsCi0gICAgMHgxLmRiZmJiYzcwMjU0YmNwMQotICB9LAotICB7IC8vIEVudHJ5IDgxNgotICAgIC0weDEuNTNmZGNkZmQzN2YxZWEyMTZlODE1NzU4ZWQwMmE1NTdwLTIsCi0gICAgLTB4MS5iYjI4MmIwNzRlZGNhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTcKLSAgICAweDEuNTNmZGNkZmQzN2YxZWEyMTZlODE1NzU4ZWQwMmE1NTdwLTIsCi0gICAgMHgxLmJiMjgyYjA3NGVkY2FwMQotICB9LAotICB7IC8vIEVudHJ5IDgxOAotICAgIC0weDEuMDZmOGQwMTRiZjBlOTY0ZTYzNGYzN2JjZGJmNjQ0OTFwLTQsCi0gICAgLTB4MS45YTU0OTk5ZTc4NmQ4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTkKLSAgICAweDEuMDZmOGQwMTRiZjBlOTY0ZTYzNGYzN2JjZGJmNjQ0OTFwLTQsCi0gICAgMHgxLjlhNTQ5OTllNzg2ZDhwMQotICB9LAotICB7IC8vIEVudHJ5IDgyMAotICAgIDB4MS44ZWQ5MTQyZmM5MTRmZTA2N2I5OTFkMTFkNzA4NTliOHAtMywKLSAgICAtMHgxLjc5ODEwODM1YTFmZTZwMQotICB9LAotICB7IC8vIEVudHJ5IDgyMQotICAgIC0weDEuOGVkOTE0MmZjOTE0ZmUwNjdiOTkxZDExZDcwODU5YjhwLTMsCi0gICAgMHgxLjc5ODEwODM1YTFmZTZwMQotICB9LAotICB7IC8vIEVudHJ5IDgyMgotICAgIDB4MS5lZDIxZTU5OTcyYWU1ODlhYWE0ZWUzZDgwYzNiN2RlZnAtMiwKLSAgICAtMHgxLjU4YWQ3NmNjY2I4ZjRwMQotICB9LAotICB7IC8vIEVudHJ5IDgyMwotICAgIC0weDEuZWQyMWU1OTk3MmFlNTg5YWFhNGVlM2Q4MGMzYjdkZWZwLTIsCi0gICAgMHgxLjU4YWQ3NmNjY2I4ZjRwMQotICB9LAotICB7IC8vIEVudHJ5IDgyNAotICAgIDB4MS5iM2RmMzg2ZjE4MjBmZjNkZjI5MGYwMzZkYjQ2ZjEzYnAtMSwKLSAgICAtMHgxLjM3ZDllNTYzZjUyMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDgyNQotICAgIC0weDEuYjNkZjM4NmYxODIwZmYzZGYyOTBmMDM2ZGI0NmYxM2JwLTEsCi0gICAgMHgxLjM3ZDllNTYzZjUyMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDgyNgotICAgIDB4MS42ZWZlYzhjMWU0OTI2MTZmZTJmZWMwYjc2NGZhNmViNHAwLAotICAgIC0weDEuMTcwNjUzZmIxZWIxMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODI3Ci0gICAgLTB4MS42ZWZlYzhjMWU0OTI2MTZmZTJmZWMwYjc2NGZhNmViNHAwLAotICAgIDB4MS4xNzA2NTNmYjFlYjEwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjgKLSAgICAweDEuNWJkMTNkZGEwNzdhZGE5MTkyN2FiNzNjZWRhYTgyOGRwMSwKLSAgICAtMHgxLmVjNjU4NTI0OTA4M2NwMAotICB9LAotICB7IC8vIEVudHJ5IDgyOQotICAgIC0weDEuNWJkMTNkZGEwNzdhZGE5MTkyN2FiNzNjZWRhYTgyOGRwMSwKLSAgICAweDEuZWM2NTg1MjQ5MDgzY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgODMwCi0gICAgMHgxLjRiYjZhNjRlMDYxZjY5Y2Y3NDA5OTMxMzgzY2M4MGExcDMsCi0gICAgLTB4MS5hYWJlNjI1MmUzYTU4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzEKLSAgICAtMHgxLjRiYjZhNjRlMDYxZjY5Y2Y3NDA5OTMxMzgzY2M4MGExcDMsCi0gICAgMHgxLmFhYmU2MjUyZTNhNThwMAotICB9LAotICB7IC8vIEVudHJ5IDgzMgotICAgIC0weDEuOGJkY2Q1NGJkNWEwMDRhY2Y5MjJjNDlhOGQ1ZTI4YTJwMiwKLSAgICAtMHgxLjY5MTczZjgxMzZjNzRwMAotICB9LAotICB7IC8vIEVudHJ5IDgzMwotICAgIDB4MS44YmRjZDU0YmQ1YTAwNGFjZjkyMmM0OWE4ZDVlMjhhMnAyLAotICAgIDB4MS42OTE3M2Y4MTM2Yzc0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzQKLSAgICAtMHgxLjIxMjc3Yjk3YzAxNWYxOWRlN2IyMzgyNTJlNTZlNjNmcDEsCi0gICAgLTB4MS4yNzcwMWNhZjg5ZTkwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzUKLSAgICAweDEuMjEyNzdiOTdjMDE1ZjE5ZGU3YjIzODI1MmU1NmU2M2ZwMSwKLSAgICAweDEuMjc3MDFjYWY4OWU5MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODM2Ci0gICAgLTB4MS40MTAzOGI3MGJlMTFiODU3OThhMjcxYWMzZDIwOWVhN3AwLAotICAgIC0weDEuY2I5MWYzYmJiYTE1N3AtMQotICB9LAotICB7IC8vIEVudHJ5IDgzNwotICAgIDB4MS40MTAzOGI3MGJlMTFiODU3OThhMjcxYWMzZDIwOWVhN3AwLAotICAgIDB4MS5jYjkxZjNiYmJhMTU3cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODM4Ci0gICAgLTB4MS43ZTFkOTM2ZjRkNjNjMWM3ODA2NjU3ZDhiODM4ODM2ZXAtMSwKLSAgICAtMHgxLjQ4NDNhZTE4NjA1OGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzkKLSAgICAweDEuN2UxZDkzNmY0ZDYzYzFjNzgwNjY1N2Q4YjgzODgzNmVwLTEsCi0gICAgMHgxLjQ4NDNhZTE4NjA1OGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDAKLSAgICAtMHgxLjllOTI1N2U2YjYyZDg4NmY3NGUzNDhiZGMxNDI1OTljcC0yLAotICAgIC0weDEuODllYWQwZWEwZDM4YXAtMgotICB9LAotICB7IC8vIEVudHJ5IDg0MQotICAgIDB4MS45ZTkyNTdlNmI2MmQ4ODZmNzRlMzQ4YmRjMTQyNTk5Y3AtMiwKLSAgICAweDEuODllYWQwZWEwZDM4YXAtMgotICB9LAotICB7IC8vIEVudHJ5IDg0MgotICAgIC0weDEuMDgwZjczYjA3MDU3ZGM3YmYwZGY2ZGUxZDNhZTFhM2JwLTMsCi0gICAgLTB4MS4wNjljOGI0NmIzN2YwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgODQzCi0gICAgMHgxLjA4MGY3M2IwNzA1N2RjN2JmMGRmNmRlMWQzYWUxYTNicC0zLAotICAgIDB4MS4wNjljOGI0NmIzN2YwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ0Ci0gICAgMHgxLjA4MGY3M2IwNzA0YmVhN2E1NmQ0Zjg4ZWNmM2Q1Y2QzcC0zLAotICAgIDB4MS4wNjljOGI0NmIzNzM0cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ1Ci0gICAgLTB4MS4wODBmNzNiMDcwNGJlYTdhNTZkNGY4OGVjZjNkNWNkM3AtMywKLSAgICAtMHgxLjA2OWM4YjQ2YjM3MzRwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDYKLSAgICAweDEuOWU5MjU3ZTZiNjI2YjFlYjExMzZiZDc4NTMzMTE1NDNwLTIsCi0gICAgMHgxLjg5ZWFkMGVhMGQzMmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDcKLSAgICAtMHgxLjllOTI1N2U2YjYyNmIxZWIxMTM2YmQ3ODUzMzExNTQzcC0yLAotICAgIC0weDEuODllYWQwZWEwZDMyY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDg0OAotICAgIDB4MS43ZTFkOTM2ZjRkNWYyZWViYmJmM2Q2Mjk2MzEwNmFmYXAtMSwKLSAgICAweDEuNDg0M2FlMTg2MDU1ZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDg0OQotICAgIC0weDEuN2UxZDkzNmY0ZDVmMmVlYmJiZjNkNjI5NjMxMDZhZmFwLTEsCi0gICAgLTB4MS40ODQzYWUxODYwNTVmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODUwCi0gICAgMHgxLjQxMDM4YjcwYmUwZGYxMWQxMjI0NjgzYzZmODY1NTg0cDAsCi0gICAgMHgxLmNiOTFmM2JiYmExMjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTEKLSAgICAtMHgxLjQxMDM4YjcwYmUwZGYxMWQxMjI0NjgzYzZmODY1NTg0cDAsCi0gICAgLTB4MS5jYjkxZjNiYmJhMTI4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODUyCi0gICAgMHgxLjIxMjc3Yjk3YzAxMTVkY2Y2NjQ3YWQ2OGY0Y2I0YWQwcDEsCi0gICAgMHgxLjI3NzAxY2FmODllNzhwMAotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIC0weDEuMjEyNzdiOTdjMDExNWRjZjY2NDdhZDY4ZjRjYjRhZDBwMSwKLSAgICAtMHgxLjI3NzAxY2FmODllNzhwMAotICB9LAotICB7IC8vIEVudHJ5IDg1NAotICAgIDB4MS44YmRjZDU0YmQ1OTE0YmQ5YTRkNmRkNjU5YzJmNjYwNnAyLAotICAgIDB4MS42OTE3M2Y4MTM2YzVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTUKLSAgICAtMHgxLjhiZGNkNTRiZDU5MTRiZDlhNGQ2ZGQ2NTljMmY2NjA2cDIsCi0gICAgLTB4MS42OTE3M2Y4MTM2YzVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTYKLSAgICAtMHgxLjRiYjZhNjRlMDYzM2JmYTU2ODc5NjYwNjU1YzM4NzY3cDMsCi0gICAgMHgxLmFhYmU2MjUyZTNhNDBwMAotICB9LAotICB7IC8vIEVudHJ5IDg1NwotICAgIDB4MS40YmI2YTY0ZTA2MzNiZmE1Njg3OTY2MDY1NWMzODc2N3AzLAotICAgIC0weDEuYWFiZTYyNTJlM2E0MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODU4Ci0gICAgLTB4MS41YmQxM2RkYTA3ODEyNDQ0NGM5NDBmMDEzYmU3YzQwMnAxLAotICAgIDB4MS5lYzY1ODUyNDkwODI0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTkKLSAgICAweDEuNWJkMTNkZGEwNzgxMjQ0NDRjOTQwZjAxM2JlN2M0MDJwMSwKLSAgICAtMHgxLmVjNjU4NTI0OTA4MjRwMAotICB9LAotICB7IC8vIEVudHJ5IDg2MAotICAgIC0weDEuNmVmZWM4YzFlNDk2ZjY5YzI4NmFkYzY2YmQ1ODZlYWZwMCwKLSAgICAweDEuMTcwNjUzZmIxZWIwNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODYxCi0gICAgMHgxLjZlZmVjOGMxZTQ5NmY2OWMyODZhZGM2NmJkNTg2ZWFmcDAsCi0gICAgLTB4MS4xNzA2NTNmYjFlYjA0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjIKLSAgICAtMHgxLmIzZGYzODZmMTgyNjJiZDYzN2UyOWZiYjMwODA2YjJjcC0xLAotICAgIDB4MS4zN2Q5ZTU2M2Y1MWY2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjMKLSAgICAweDEuYjNkZjM4NmYxODI2MmJkNjM3ZTI5ZmJiMzA4MDZiMmNwLTEsCi0gICAgLTB4MS4zN2Q5ZTU2M2Y1MWY2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjQKLSAgICAtMHgxLmVkMjFlNTk5NzJiNWJjZDMwMTVjMjUwZWZmMWM2OWI5cC0yLAotICAgIDB4MS41OGFkNzZjY2NiOGU4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjUKLSAgICAweDEuZWQyMWU1OTk3MmI1YmNkMzAxNWMyNTBlZmYxYzY5YjlwLTIsCi0gICAgLTB4MS41OGFkNzZjY2NiOGU4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjYKLSAgICAtMHgxLjhlZDkxNDJmYzkyMTcyODllZDIxOTQwZGVhYWZlODc4cC0zLAotICAgIDB4MS43OTgxMDgzNWExZmRhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjcKLSAgICAweDEuOGVkOTE0MmZjOTIxNzI4OWVkMjE5NDBkZWFhZmU4NzhwLTMsCi0gICAgLTB4MS43OTgxMDgzNWExZmRhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjgKLSAgICAweDEuMDZmOGQwMTRiZWY2N2NmYjJkYjU2MGY1YTQxNGM4OGJwLTQsCi0gICAgMHgxLjlhNTQ5OTllNzg2Y2NwMQotICB9LAotICB7IC8vIEVudHJ5IDg2OQotICAgIC0weDEuMDZmOGQwMTRiZWY2N2NmYjJkYjU2MGY1YTQxNGM4OGJwLTQsCi0gICAgLTB4MS45YTU0OTk5ZTc4NmNjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzAKLSAgICAweDEuNTNmZGNkZmQzN2ViNDBjZDllNTA0ZGY0MzFiNTAyZDBwLTIsCi0gICAgMHgxLmJiMjgyYjA3NGVkYmVwMQotICB9LAotICB7IC8vIEVudHJ5IDg3MQotICAgIC0weDEuNTNmZGNkZmQzN2ViNDBjZDllNTA0ZGY0MzFiNTAyZDBwLTIsCi0gICAgLTB4MS5iYjI4MmIwNzRlZGJlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzIKLSAgICAweDEuNGQ0NjZhY2NhZDQ1YTcyZTVmNzM1ZWIyZjZhZGY5ZmZwLTEsCi0gICAgMHgxLmRiZmJiYzcwMjU0YjBwMQotICB9LAotICB7IC8vIEVudHJ5IDg3MwotICAgIC0weDEuNGQ0NjZhY2NhZDQ1YTcyZTVmNzM1ZWIyZjZhZGY5ZmZwLTEsCi0gICAgLTB4MS5kYmZiYmM3MDI1NGIwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzQKLSAgICAweDEuMTllMjZiNWVjZDU5ODUwN2VjZDAwZDgxZWM3NzU2ODNwMCwKLSAgICAweDEuZmNjZjRkZDhmYmJhMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODc1Ci0gICAgLTB4MS4xOWUyNmI1ZWNkNTk4NTA3ZWNkMDBkODFlYzc3NTY4M3AwLAotICAgIC0weDEuZmNjZjRkZDhmYmJhMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODc2Ci0gICAgMHgxLmVhYjQzZTBlNWU4MjU3MDczYWZhZWNhYjM4NjE1NGExcDAsCi0gICAgMHgxLjBlZDE2ZmEwZTkxNGFwMgotICB9LAotICB7IC8vIEVudHJ5IDg3NwotICAgIC0weDEuZWFiNDNlMGU1ZTgyNTcwNzNhZmFlY2FiMzg2MTU0YTFwMCwKLSAgICAtMHgxLjBlZDE2ZmEwZTkxNGFwMgotICB9LAotICB7IC8vIEVudHJ5IDg3OAotICAgIDB4MS4xODY2ZmU4NDVlNmZjMjcwNjRlMmIxMjNhNzcyNGU3NXAyLAotICAgIDB4MS4xZjNiMzg1NTU0NGMzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzkKLSAgICAtMHgxLjE4NjZmZTg0NWU2ZmMyNzA2NGUyYjEyM2E3NzI0ZTc1cDIsCi0gICAgLTB4MS4xZjNiMzg1NTU0NGMzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODAKLSAgICAtMHgxLmYyZjA1Y2ZiNjVjNWUwNmIxYWU4OGM0OGI0Yjc1NWNlcDQsCi0gICAgMHgxLjJmYTUwMTA5YmY4M2NwMgotICB9LAotICB7IC8vIEVudHJ5IDg4MQotICAgIDB4MS5mMmYwNWNmYjY1YzVlMDZiMWFlODhjNDhiNGI3NTVjZXA0LAotICAgIC0weDEuMmZhNTAxMDliZjgzY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgODgyCi0gICAgLTB4MS5hZjQ2NDNlOTM3MjhkNmJmZDcwMmMzMzQwNWRjY2U3ZHAxLAotICAgIDB4MS40MDBlYzliZTJhYmI1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODMKLSAgICAweDEuYWY0NjQzZTkzNzI4ZDZiZmQ3MDJjMzM0MDVkY2NlN2RwMSwKLSAgICAtMHgxLjQwMGVjOWJlMmFiYjVwMgotICB9LAotICB7IC8vIEVudHJ5IDg4NAotICAgIC0weDEuYTY0YzdjOWQ2NTM5ZmRlYzI3YWZjMzgwYjlmNzUyYzBwMCwKLSAgICAweDEuNTA3ODkyNzI5NWYyZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODg1Ci0gICAgMHgxLmE2NGM3YzlkNjUzOWZkZWMyN2FmYzM4MGI5Zjc1MmMwcDAsCi0gICAgLTB4MS41MDc4OTI3Mjk1ZjJlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODYKLSAgICAtMHgxLmVmZDgyNzQyZDc3ZWI3M2M4MWEwMGY1Njg2MjFmNjNjcC0xLAotICAgIDB4MS42MGUyNWIyNzAxMmE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODcKLSAgICAweDEuZWZkODI3NDJkNzdlYjczYzgxYTAwZjU2ODYyMWY2M2NwLTEsCi0gICAgLTB4MS42MGUyNWIyNzAxMmE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODgKLSAgICAtMHgxLjIwNWE2MDA5ZDVlN2VhZTYzZGExY2JkNTcxMjllZWZmcC0xLAotICAgIDB4MS43MTRjMjNkYjZjNjIwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODkKLSAgICAweDEuMjA1YTYwMDlkNWU3ZWFlNjNkYTFjYmQ1NzEyOWVlZmZwLTEsCi0gICAgLTB4MS43MTRjMjNkYjZjNjIwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTAKLSAgICAtMHgxLjBjODY0MDgzZDFlZTVkMzRkZTIwNjBjODYyOWQ0OTUxcC0yLAotICAgIDB4MS44MWI1ZWM4ZmQ3OTk5cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTEKLSAgICAweDEuMGM4NjQwODNkMWVlNWQzNGRlMjA2MGM4NjI5ZDQ5NTFwLTIsCi0gICAgLTB4MS44MWI1ZWM4ZmQ3OTk5cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTIKLSAgICAweDEuZjA5YjYzYWE4MWZjMzZkYTUwOWMzZTQxMDYwN2ZmZTdwLTUsCi0gICAgMHgxLmVmZmZmZmZmZmZmZmZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTMKLSAgICAtMHgxLmYwOWI2M2FhODFmYzM2ZGE1MDljM2U0MTA2MDdmZmU3cC01LAotICAgIC0weDEuZWZmZmZmZmZmZmZmZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDg5NAotICAgIDB4MS5mMDliNjNhYTgxZmM0NmU5NWUwNjQwNWI0MWU4YjRjY3AtNSwKLSAgICAweDEuZnAtNQotICB9LAotICB7IC8vIEVudHJ5IDg5NQotICAgIC0weDEuZjA5YjYzYWE4MWZjNDZlOTVlMDY0MDViNDFlOGI0Y2NwLTUsCi0gICAgLTB4MS5mcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgODk2Ci0gICAgMHgxLmYwOWI2M2FhODFmYzU2Zjg2YjcwNDI3NTdkY2E2MmU4cC01LAotICAgIDB4MS5mMDAwMDAwMDAwMDAxcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgODk3Ci0gICAgLTB4MS5mMDliNjNhYTgxZmM1NmY4NmI3MDQyNzU3ZGNhNjJlOHAtNSwKLSAgICAtMHgxLmYwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTgKLSAgICAweDEuZmE4ZjIxYzhhMzNhZWNmNGFmNzc3NTRlZjkwYTY3YjhwLTQsCi0gICAgMHgxLmY3ZmZmZmZmZmZmZmZwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTkKLSAgICAtMHgxLmZhOGYyMWM4YTMzYWVjZjRhZjc3NzU0ZWY5MGE2N2I4cC00LAotICAgIC0weDEuZjdmZmZmZmZmZmZmZnAtNAotICB9LAotICB7IC8vIEVudHJ5IDkwMAotICAgIDB4MS5mYThmMjFjOGEzM2FmZDMzNTUxOThlOGQ3NzE2YTgxMXAtNCwKLSAgICAweDEuZjgwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTAxCi0gICAgLTB4MS5mYThmMjFjOGEzM2FmZDMzNTUxOThlOGQ3NzE2YTgxMXAtNCwKLSAgICAtMHgxLmY4MHAtNAotICB9LAotICB7IC8vIEVudHJ5IDkwMgotICAgIDB4MS5mYThmMjFjOGEzM2IwZDcxZmFiYmE3Y2JmNTI2ZWQwN3AtNCwKLSAgICAweDEuZjgwMDAwMDAwMDAwMXAtNAotICB9LAotICB7IC8vIEVudHJ5IDkwMwotICAgIC0weDEuZmE4ZjIxYzhhMzNiMGQ3MWZhYmJhN2NiZjUyNmVkMDdwLTQsCi0gICAgLTB4MS5mODAwMDAwMDAwMDAxcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTA0Ci0gICAgMHgxLjRlZjA2Y2I0ZjBhODY5ZWYwMGRmOGVjNTU4MmRmYTMxcC0zLAotICAgIDB4MS40YmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA1Ci0gICAgLTB4MS40ZWYwNmNiNGYwYTg2OWVmMDBkZjhlYzU1ODJkZmEzMXAtMywKLSAgICAtMHgxLjRiZmZmZmZmZmZmZmZwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDYKLSAgICAweDEuNGVmMDZjYjRmMGE4N2E1YzhlZWVlYmNlYjEyYTIyYjRwLTMsCi0gICAgMHgxLjRjMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDkwNwotICAgIC0weDEuNGVmMDZjYjRmMGE4N2E1YzhlZWVlYmNlYjEyYTIyYjRwLTMsCi0gICAgLTB4MS40YzBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDgKLSAgICAweDEuNGVmMDZjYjRmMGE4OGFjYTFjZmU0OGQ4MGEzMTBhNjVwLTMsCi0gICAgMHgxLjRjMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDkKLSAgICAtMHgxLjRlZjA2Y2I0ZjBhODhhY2ExY2ZlNDhkODBhMzEwYTY1cC0zLAotICAgIC0weDEuNGMwMDAwMDAwMDAwMXAtMwotICB9LAotICB7IC8vIEVudHJ5IDkxMAotICAgIDB4MS4zY2MyYTQ0ZTI5OTk2NjhjYjA5MmEwOWI3M2IyZGU1MHAtMiwKLSAgICAweDEuMzMzMzMzMzMzMzMzMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDkxMQotICAgIC0weDEuM2NjMmE0NGUyOTk5NjY4Y2IwOTJhMDliNzNiMmRlNTBwLTIsCi0gICAgLTB4MS4zMzMzMzMzMzMzMzMycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEyCi0gICAgMHgxLjNjYzJhNDRlMjk5OTc4MTRhMWFjM2YwMjExYzc2NDFmcC0yLAotICAgIDB4MS4zMzMzMzMzMzMzMzMzcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTEzCi0gICAgLTB4MS4zY2MyYTQ0ZTI5OTk3ODE0YTFhYzNmMDIxMWM3NjQxZnAtMiwKLSAgICAtMHgxLjMzMzMzMzMzMzMzMzNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTQKLSAgICAweDEuM2NjMmE0NGUyOTk5ODk5YzkyYzVkZDY4YjAwNzRjMzFwLTIsCi0gICAgMHgxLjMzMzMzMzMzMzMzMzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTUKLSAgICAtMHgxLjNjYzJhNDRlMjk5OTg5OWM5MmM1ZGQ2OGIwMDc0YzMxcC0yLAotICAgIC0weDEuMzMzMzMzMzMzMzMzNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDkxNgotICAgIDB4MS45OTQzNzExZGMyY2U4M2QyMWNkYjI4NWFjZWQ4MTdhZHAtMSwKLSAgICAweDEuNTk0MzE3YWNjNGVmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDkxNwotICAgIC0weDEuOTk0MzcxMWRjMmNlODNkMjFjZGIyODVhY2VkODE3YWRwLTEsCi0gICAgLTB4MS41OTQzMTdhY2M0ZWY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE4Ci0gICAgMHgxLjk5NDM3MTFkYzJjZTllMGIzZjFmZmU1YWVjMGFjMjBkcC0xLAotICAgIDB4MS41OTQzMTdhY2M0ZWY5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTE5Ci0gICAgLTB4MS45OTQzNzExZGMyY2U5ZTBiM2YxZmZlNWFlYzBhYzIwZHAtMSwKLSAgICAtMHgxLjU5NDMxN2FjYzRlZjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjAKLSAgICAweDEuOTk0MzcxMWRjMmNlYjg0NDYxNjRkNDViMGE4Y2NkZWVwLTEsCi0gICAgMHgxLjU5NDMxN2FjYzRlZmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjEKLSAgICAtMHgxLjk5NDM3MTFkYzJjZWI4NDQ2MTY0ZDQ1YjBhOGNjZGVlcC0xLAotICAgIC0weDEuNTk0MzE3YWNjNGVmYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDkyMgotICAgIDB4MS5mYmM1MTFkZjU5MTdkNTdkMjMxZDdhZDQzNGRhNWY5NHAtMSwKLSAgICAweDEuOGZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDkyMwotICAgIC0weDEuZmJjNTExZGY1OTE3ZDU3ZDIzMWQ3YWQ0MzRkYTVmOTRwLTEsCi0gICAgLTB4MS44ZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI0Ci0gICAgMHgxLmZiYzUxMWRmNTkxN2Y1MzliYmNmNzc4YmMxYTIyMjQ5cC0xLAotICAgIDB4MS45cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTI1Ci0gICAgLTB4MS5mYmM1MTFkZjU5MTdmNTM5YmJjZjc3OGJjMWEyMjI0OXAtMSwKLSAgICAtMHgxLjlwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjYKLSAgICAweDEuZmJjNTExZGY1OTE4MTRmNjU0ODE3NDQzNTA2MTdjODVwLTEsCi0gICAgMHgxLjkwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjcKLSAgICAtMHgxLmZiYzUxMWRmNTkxODE0ZjY1NDgxNzQ0MzUwNjE3Yzg1cC0xLAotICAgIC0weDEuOTAwMDAwMDAwMDAwMXAtMQotICB9LAotICB7IC8vIEVudHJ5IDkyOAotICAgIC0weDEucC0xMDc0LAotICAgIC0weDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDkyOQotICAgIDB4MS5wLTEwNzQsCi0gICAgMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzAKLSAgICAtMC4wLAotICAgIC0wLjAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzEKLSAgICAweDEucC0xMDc0LAotICAgIDB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMyCi0gICAgLTB4MS5wLTEwNzQsCi0gICAgLTB4MS4wcC0xMDc0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMzCi0gICAgMHgxLjkyNzI3OGEzYjExNjBiYmY4ZTBiYjMwOWRhNDI0N2M1cC01LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTM0Ci0gICAgLTB4MS45MjcyNzhhM2IxMTYwYmJmOGUwYmIzMDlkYTQyNDdjNXAtNSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAweDEuOTI3Mjc4YTNiMTE2MWJjOTcwYmE4YjUwZTU3NWY5N2ZwLTUsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzYKLSAgICAtMHgxLjkyNzI3OGEzYjExNjFiYzk3MGJhOGI1MGU1NzVmOTdmcC01LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDkzNwotICAgIDB4MS45MjcyNzhhM2IxMTYyYmQzNTM2OTYzOTdmMGFhNzRlZXAtNSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAtNQotICB9LAotICB7IC8vIEVudHJ5IDkzOAotICAgIC0weDEuOTI3Mjc4YTNiMTE2MmJkMzUzNjk2Mzk3ZjBhYTc0ZWVwLTUsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTM5Ci0gICAgMHgxLjkzNmJiOGM1YjJkYTExODMwNmZhOWI1ZDZkOGVkMmMxcC00LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQwCi0gICAgLTB4MS45MzZiYjhjNWIyZGExMTgzMDZmYTliNWQ2ZDhlZDJjMXAtNCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDEKLSAgICAweDEuOTM2YmI4YzViMmRhMjFhYWMyYmZlYzg0MjkzZTVkNGRwLTQsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDIKLSAgICAtMHgxLjkzNmJiOGM1YjJkYTIxYWFjMmJmZWM4NDI5M2U1ZDRkcC00LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDk0MwotICAgIDB4MS45MzZiYjhjNWIyZGEzMWQyN2U4NTNkYWFlNGYxMTY4NHAtNCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAtNAotICB9LAotICB7IC8vIEVudHJ5IDk0NAotICAgIC0weDEuOTM2YmI4YzViMmRhMzFkMjdlODUzZGFhZTRmMTE2ODRwLTQsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQ1Ci0gICAgMHgxLjk3NWY1ZTA1NTMxNTZiNDM4Y2E3ZDc1MmQzN2QwODczcC0zLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgOTQ2Ci0gICAgLTB4MS45NzVmNWUwNTUzMTU2YjQzOGNhN2Q3NTJkMzdkMDg3M3AtMywKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDcKLSAgICAweDEuOTc1ZjVlMDU1MzE1N2JlNTljYmZmNjQ4ZmRlZjJjMDhwLTMsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDgKLSAgICAtMHgxLjk3NWY1ZTA1NTMxNTdiZTU5Y2JmZjY0OGZkZWYyYzA4cC0zLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDk0OQotICAgIDB4MS45NzVmNWUwNTUzMTU4Yzg3YWNkODE1M2YyODZlOGI4YXAtMywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAtMwotICB9LAotICB7IC8vIEVudHJ5IDk1MAotICAgIC0weDEuOTc1ZjVlMDU1MzE1OGM4N2FjZDgxNTNmMjg2ZThiOGFwLTMsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUxCi0gICAgMHgxLmE4Mjc5OTlmY2VmMzBjMzhiMmU1Mzk3ZWE3YzEwZWFkcC0yLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTUyCi0gICAgLTB4MS5hODI3OTk5ZmNlZjMwYzM4YjJlNTM5N2VhN2MxMGVhZHAtMiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTMKLSAgICAweDEuYTgyNzk5OWZjZWYzMWVmNzc2MTgzYjA3MGU2ZmM4NGVwLTIsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTQKLSAgICAtMHgxLmE4Mjc5OTlmY2VmMzFlZjc3NjE4M2IwNzBlNmZjODRlcC0yLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDk1NQotICAgIDB4MS5hODI3OTk5ZmNlZjMzMWI2Mzk0YjNjOGY3NTVjOWZhM3AtMiwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXAtMgotICB9LAotICB7IC8vIEVudHJ5IDk1NgotICAgIC0weDEuYTgyNzk5OWZjZWYzMzFiNjM5NGIzYzhmNzU1YzlmYTNwLTIsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE5cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmQ3MmNlY2U2NzVkMWZlMzAzNWJicC0xLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTU4Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZkNzJjZWNlNjc1ZDFmZTMwMzViYnAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTkKLSAgICAweDEuZmZmZmZmZmZmZmZmZjcyY2VjZTY3NWQxZmNhMzA0ODlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmY3MmNlY2U2NzVkMWZjYTMwNDg5cC0xLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDk2MQotICAgIDB4MS4wMDAwMDAwMDAwMDAwYjk2NzY3MzNhZThmZThhZTlhY3AwLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgOTYyCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAwYjk2NzY3MzNhZThmZThhZTlhY3AwLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXAtMQotICB9LAotICB7IC8vIEVudHJ5IDk2MwotICAgIDB4MS45MTUzZDk0NDNlZDBiM2I0M2RkYWI2YWU1NzNhYTIzZHA1MSwKLSAgICAweDEuOTIxZmI1NDQ0MmQxN3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY0Ci0gICAgLTB4MS45MTUzZDk0NDNlZDBiM2I0M2RkYWI2YWU1NzNhYTIzZHA1MSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwMAotICB9LAotICB7IC8vIEVudHJ5IDk2NQotICAgIDB4MS5kMDI5NjdjMzFjZGI0ZTBjMzhkMDFiNjU1ZDVlMGFhZnA1MywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgOTY2Ci0gICAgLTB4MS5kMDI5NjdjMzFjZGI0ZTBjMzhkMDFiNjU1ZDVlMGFhZnA1MywKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwMAotICB9LAotICB7IC8vIEVudHJ5IDk2NwotICAgIC0weDEuNjE3YTE1NDk0NzY3YTA0ODgyYzMyMDMxN2YzZTRjZWNwNTIsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMTlwMAotICB9LAotICB7IC8vIEVudHJ5IDk2OAotICAgIDB4MS42MTdhMTU0OTQ3NjdhMDQ4ODJjMzIwMzE3ZjNlNGNlY3A1MiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwMAotICB9LAotICB7IC8vIEVudHJ5IDk2OQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzNkNjBjNjhwLTUxLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzAKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5YzNkNjBjNjhwLTUxLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgOTcxCi0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDYxZDVkN3AtNTMsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDk3MgotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDYxZDVkN3AtNTMsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzMKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjN2VlMGI5NmNwLTUyLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzQKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzdlZTBiOTZjcC01MiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwMQotICB9LAotICB7IC8vIEVudHJ5IDk3NQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5Y2MyNDRhYjVwLTUwLAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzYKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5Y2MyNDRhYjVwLTUwLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgOTc3Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNGI3YmJhYnAtNTIsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMgotICB9LAotICB7IC8vIEVudHJ5IDk3OAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNGI3YmJhYnAtNTIsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzkKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjODFlYWIzOGNwLTUxLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODAKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzgxZWFiMzhjcC01MSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwMgotICB9LAotICB7IC8vIEVudHJ5IDk4MQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5ZWQ1ZDQzZThwLTQ5LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODIKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDQ5ZWQ1ZDQzZThwLTQ5LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTgzCi0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNjBmNTJmOXAtNTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMwotICB9LAotICB7IC8vIEVudHJ5IDk4NAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNjBmNTJmOXAtNTEsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODUKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjOGUxMjljMGFwLTUwLAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODYKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2YzhlMTI5YzBhcC01MCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwMwotICB9LAotICB7IC8vIEVudHJ5IDk4NwotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDRhNzI0MTI4YjRwLTQ4LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODgKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDRhNzI0MTI4YjRwLTQ4LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTg5Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwYjZkYjAzM3AtNTAsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwNAotICB9LAotICB7IC8vIEVudHJ5IDk5MAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwYjZkYjAzM3AtNTAsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTEKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZjYmViMjNlMDNwLTQ5LAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTIKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2Y2JlYjIzZTAzcC00OSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwNAotICB9LAotICB7IC8vIEVudHJ5IDk5MwotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDRjODVkMGJiZTNwLTQ3LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTQKLSAgICAweDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDRjODVkMGJiZTNwLTQ3LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxN3A1Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTk1Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcyMGU3MjUxYXAtNDksCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwNQotICB9LAotICB7IC8vIEVudHJ5IDk5NgotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcyMGU3MjUxYXAtNDksCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTcKLSAgICAweDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjZkODEzMGM1ZTdwLTQ4LAotICAgIDB4MS45MjFmYjU0NDQyZDE5cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTgKLSAgICAtMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY2ZDgxMzBjNWU3cC00OCwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTlwNQotICB9LAotICB7IC8vIEVudHJ5IDk5OQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDU0ZDQwZjA4YTBwLTQ2LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAwCi0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA1NGQ0MGYwOGEwcC00NiwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNgotICB9LAotICB7IC8vIEVudHJ5IDEwMDEKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyNzc2Y2NmOGI3cC00OCwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMgotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjc3NmNjZjhiN3AtNDgsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAzCi0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY3MDhiMmFlNTc2cC00NywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjcwOGIyYWU1NzZwLTQ3LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNQotICAgIC0weDEuNDY5ODk4Y2M1MTcwMWI4MzlhMjUyMDc2MGQwODNiOTdwLTQ1LAotICAgIDB4MS45MjFmYjU0NDQyZDE3cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA2Ci0gICAgMHgxLjQ2OTg5OGNjNTE3MDFiODM5YTI1MjA3NjBkMDgzYjk3cC00NSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMTdwNwotICB9LAotICB7IC8vIEVudHJ5IDEwMDcKLSAgICAtMHgxLjFhNjI2MzMxNDVjMDZlMGU2ODk0ODEyOGNlNjQ0NzJicC00NywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAwOAotICAgIDB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjhjZTY0NDcyYnAtNDcsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA5Ci0gICAgMHgxLjcyY2VjZTY3NWQxZmM4ZjhjYmI1YmY3Y2IzMTM2M2IxcC00NiwKLSAgICAweDEuOTIxZmI1NDQ0MmQxOXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMAotICAgIC0weDEuNzJjZWNlNjc1ZDFmYzhmOGNiYjViZjdjYjMxMzYzYjFwLTQ2LAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOXA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMQotICAgIC0weDEuMDAwMDAwMDAwMDAwNGQzYzljYTY0ZjQ1MTBjZjZmMzFwMCwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMgotICAgIDB4MS4wMDAwMDAwMDAwMDA0ZDNjOWNhNjRmNDUxMGNmNmYzMXAwLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMwotICAgIC0weDEuMDAwMDAwMDAwMDAwMGQzYzljYTY0ZjQ1MDU4MDQ4MDhwMCwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNAotICAgIDB4MS4wMDAwMDAwMDAwMDAwZDNjOWNhNjRmNDUwNTgwNDgwOHAwLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNQotICAgIC0weDEuZmZmZmZmZmZmZmZmOWE3OTM5NGM5ZThhMTQ2MjQxYmRwLTEsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTYKLSAgICAweDEuZmZmZmZmZmZmZmZmOWE3OTM5NGM5ZThhMTQ2MjQxYmRwLTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQzcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE3Ci0gICAgMHgxLmZmZmZmZmZmZmZmZjUzZTBhMDgwNGQxYTBiYmM0YWIzcC0xLAotICAgIDB4MS5mNmE3YTI5NTUzODVkcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE4Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmY1M2UwYTA4MDRkMWEwYmJjNGFiM3AtMSwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWRwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTkKLSAgICAweDEuZmZmZmZmZmZmZmZmZDNlMGEwODA0ZDE5ZjBiNDcyZDNwLTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWVwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMjAKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmQzZTBhMDgwNGQxOWYwYjQ3MmQzcC0xLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMQotICAgIDB4MS4wMDAwMDAwMDAwMDAyOWYwNTA0MDI2OGNmYWQ2NGQ3OXAwLAotICAgIDB4MS5mNmE3YTI5NTUzODVmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIyCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAyOWYwNTA0MDI2OGNmYWQ2NGQ3OXAwLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMwotICAgIDB4MS5hODQxMDA4NzI2MmUzZjQxODU5ZmE3MzU2N2Y5MjQ0ZHA0OSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyNAotICAgIC0weDEuYTg0MTAwODcyNjJlM2Y0MTg1OWZhNzM1NjdmOTI0NGRwNDksCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI1Ci0gICAgMHgxLjM1NzBlZmQ3Njg5MjM0MDgyNWUwMTI0MzkzNTU0Njk3cDUyLAotICAgIDB4MS4yZDk3YzdmMzMyMWQycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI2Ci0gICAgLTB4MS4zNTcwZWZkNzY4OTIzNDA4MjVlMDEyNDM5MzU1NDY5N3A1MiwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDJwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjcKLSAgICAtMHgxLjQyYzBkNjRkNWRlNTE3OGFmZTA2NDUyYTFhMWI4NjY3cDUwLAotICAgIDB4MS4yZDk3YzdmMzMyMWQzcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI4Ci0gICAgMHgxLjQyYzBkNjRkNWRlNTE3OGFmZTA2NDUyYTFhMWI4NjY3cDUwLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyOQotICAgIC0weDEuMDAwMDAwMDAwMDAwOWVlMmMyZDk2M2ExM2Q1N2VjMjBwMCwKLSAgICAweDEuNWZkYmJlOWJiYTc3NHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMAotICAgIDB4MS4wMDAwMDAwMDAwMDA5ZWUyYzJkOTYzYTEzZDU3ZWMyMHAwLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMQotICAgIC0weDEuMDAwMDAwMDAwMDAwMWVlMmMyZDk2M2ExMGRlNjhhYjRwMCwKLSAgICAweDEuNWZkYmJlOWJiYTc3NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMgotICAgIDB4MS4wMDAwMDAwMDAwMDAxZWUyYzJkOTYzYTEwZGU2OGFiNHAwLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMwotICAgIC0weDEuZmZmZmZmZmZmZmZmM2RjNTg1YjJjNzQyM2NlYTUyOGVwLTEsCi0gICAgMHgxLjVmZGJiZTliYmE3NzZwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMzQKLSAgICAweDEuZmZmZmZmZmZmZmZmM2RjNTg1YjJjNzQyM2NlYTUyOGVwLTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZWIwOTQ1NDFhMjQ2MjRlZWFiMGUxcC0xLAotICAgIDB4MS5jNDYzYWJlY2NiMmJhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmViMDk0NTQxYTI0NjI0ZWVhYjBlMXAtMSwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMzcKLSAgICAweDEuZmZmZmZmZmZmZmZmYjA5NDU0MWEyNDYxZTczNGRhZWVwLTEsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmJwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMzgKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmIwOTQ1NDFhMjQ2MWU3MzRkYWVlcC0xLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzOQotICAgIDB4MS4wMDAwMDAwMDAwMDA1ODRhMmEwZDEyMzBmZmJmODI3ZHAwLAotICAgIDB4MS5jNDYzYWJlY2NiMmJjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQwCi0gICAgLTB4MS4wMDAwMDAwMDAwMDA1ODRhMmEwZDEyMzBmZmJmODI3ZHAwLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MQotICAgIDB4MS43Y2MwODBmODk1ODU2N2YwNWM0MGFjNWY2ZDMxMGRlOHA0OSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MgotICAgIC0weDEuN2NjMDgwZjg5NTg1NjdmMDVjNDBhYzVmNmQzMTBkZThwNDksCi0gICAgLTB4MS5mNmE3YTI5NTUzODVkcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQzCi0gICAgMHgxLjczNTQ1MzAyN2Q3YzNlNzAyZDczNDkxZGUzNjk1MzZmcDUxLAotICAgIDB4MS5mNmE3YTI5NTUzODVlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ0Ci0gICAgLTB4MS43MzU0NTMwMjdkN2MzZTcwMmQ3MzQ5MWRlMzY5NTM2ZnA1MSwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWVwMgotICB9LAotICB7IC8vIEVudHJ5IDEwNDUKLSAgICAtMHgxLjg2YWE0YTNhMTI3YTNhZGQ5YThlNzY5OTM3MzNiNGE3cDUwLAotICAgIDB4MS5mNmE3YTI5NTUzODVmcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ2Ci0gICAgMHgxLjg2YWE0YTNhMTI3YTNhZGQ5YThlNzY5OTM3MzNiNGE3cDUwLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0NwotICAgIC0weDEuMDAwMDAwMDAwMDAxYjA4OGU5MGM3N2ZlODA1MWE3ZGFwMCwKLSAgICAweDEuMTQ3NWNjOWVlZGVmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0OAotICAgIDB4MS4wMDAwMDAwMDAwMDFiMDg4ZTkwYzc3ZmU4MDUxYTdkYXAwLAotICAgIC0weDEuMTQ3NWNjOWVlZGVmZnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA0OQotICAgIC0weDEuMDAwMDAwMDAwMDAwYjA4OGU5MGM3N2ZkNGZjOGJlY2VwMCwKLSAgICAweDEuMTQ3NWNjOWVlZGZwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTAKLSAgICAweDEuMDAwMDAwMDAwMDAwYjA4OGU5MGM3N2ZkNGZjOGJlY2VwMCwKLSAgICAtMHgxLjE0NzVjYzllZWRmcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUxCi0gICAgLTB4MS5mZmZmZmZmZmZmZmY2MTExZDIxOGVmZmEzZTdmYWI4M3AtMSwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1MgotICAgIDB4MS5mZmZmZmZmZmZmZmY2MTExZDIxOGVmZmEzZTdmYWI4M3AtMSwKLSAgICAtMHgxLjE0NzVjYzllZWRmMDFwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTMKLSAgICAtMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzNzc2NGMxNjA4cC00OSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NAotICAgIDB4MS4zNGYyNzI5OTNkMTQxNGEyYjM5YmQ4Mzc3NjRjMTYwOHAtNDksCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQxcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU1Ci0gICAgLTB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4N2VhNTgxMXAtNTIsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDJwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTYKLSAgICAweDEuYTc5Mzk0YzllOGEwYTUxNTljZGVjMWJhODdlYTU4MTFwLTUyLAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NwotICAgIDB4MS45NjFiMWFjZDg1ZDdkNmJhOThjODRmOTE3M2IwOGQ2ZnAtNTAsCi0gICAgMHgxLjJkOTdjN2YzMzIxZDNwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTgKLSAgICAtMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MTczYjA4ZDZmcC01MCwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDNwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNTkKLSAgICAweDEuZmZmZmZmZmZmZmZjOGQ0ODA3YjNmYmFjY2MzODMxNGJwLTEsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTJwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNjAKLSAgICAtMHgxLmZmZmZmZmZmZmZmYzhkNDgwN2IzZmJhY2NjMzgzMTRicC0xLAotICAgIC0weDEuNDZiOWMzNDc3NjRhMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MQotICAgIDB4MS5mZmZmZmZmZmZmZmU4ZDQ4MDdiM2ZiYWE1OTgwMzhmZnAtMSwKLSAgICAweDEuNDZiOWMzNDc3NjRhM3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MgotICAgIC0weDEuZmZmZmZmZmZmZmZlOGQ0ODA3YjNmYmFhNTk4MDM4ZmZwLTEsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEzcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYzCi0gICAgMHgxLjAwMDAwMDAwMDAwMDQ2YTQwM2Q5ZmRkNGYzNjQyMDU5cDAsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTRwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNjQKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDQ2YTQwM2Q5ZmRkNGYzNjQyMDU5cDAsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGE0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY1Ci0gICAgMHgxLjljNzhlZWE3OGJhYTZlMTNlY2NjOTRjNDIxYzRmNWFjcDQ4LAotICAgIDB4MS41ZmRiYmU5YmJhNzc0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY2Ci0gICAgLTB4MS45Yzc4ZWVhNzhiYWE2ZTEzZWNjYzk0YzQyMWM0ZjVhY3A0OCwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzRwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNjcKLSAgICAweDEuMDkzYzNiNGFlYmViMDgwNmZiZTRhMWYwYzY2MGJhM2JwNTEsCi0gICAgMHgxLjVmZGJiZTliYmE3NzVwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNjgKLSAgICAtMHgxLjA5M2MzYjRhZWJlYjA4MDZmYmU0YTFmMGM2NjBiYTNicDUxLAotICAgIC0weDEuNWZkYmJlOWJiYTc3NXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2OQotICAgIC0weDEuNTE2YWM5NjE0MjE4NTVmYjc1OWZjMmZhY2I0ZTlmNWJwNDksCi0gICAgMHgxLjVmZGJiZTliYmE3NzZwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNzAKLSAgICAweDEuNTE2YWM5NjE0MjE4NTVmYjc1OWZjMmZhY2I0ZTlmNWJwNDksCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcxCi0gICAgLTB4MS4wMDAwMDAwMDAwMDFjMjJmMGYzZjhjNWFhNWEwMWRhM3AwLAotICAgIDB4MS43OGZkYjllZmZlYTQ1cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcyCi0gICAgMHgxLjAwMDAwMDAwMDAwMWMyMmYwZjNmOGM1YWE1YTAxZGEzcDAsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ1cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDczCi0gICAgLTB4MS4wMDAwMDAwMDAwMDBjMjJmMGYzZjhjNTk2MzcxMGU2NHAwLAotICAgIDB4MS43OGZkYjllZmZlYTQ2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc0Ci0gICAgMHgxLjAwMDAwMDAwMDAwMGMyMmYwZjNmOGM1OTYzNzEwZTY0cDAsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc1Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmY4NDVlMWU3ZjE4YjI0MjgzZmU0OXAtMSwKLSAgICAweDEuNzhmZGI5ZWZmZWE0N3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NgotICAgIDB4MS5mZmZmZmZmZmZmZmY4NDVlMWU3ZjE4YjI0MjgzZmU0OXAtMSwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNzcKLSAgICAweDEuZmZmZmZmZmZmZmZjNjlmYmJiNGRkMmY0ZmM4OGZmYTFwLTEsCi0gICAgMHgxLmFiNDFiMDk4ODZmZThwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNzgKLSAgICAtMHgxLmZmZmZmZmZmZmZmYzY5ZmJiYjRkZDJmNGZjODhmZmExcC0xLAotICAgIC0weDEuYWI0MWIwOTg4NmZlOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3OQotICAgIDB4MS5mZmZmZmZmZmZmZmU2OWZiYmI0ZGQyZjI2Njg0YmFlZXAtMSwKLSAgICAweDEuYWI0MWIwOTg4NmZlOXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MAotICAgIC0weDEuZmZmZmZmZmZmZmZlNjlmYmJiNGRkMmYyNjY4NGJhZWVwLTEsCi0gICAgLTB4MS5hYjQxYjA5ODg2ZmU5cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgxCi0gICAgMHgxLjAwMDAwMDAwMDAwMDM0ZmRkZGE2ZTk3OGU4NDAzYjFlcDAsCi0gICAgMHgxLmFiNDFiMDk4ODZmZWFwMwotICB9LAotICB7IC8vIEVudHJ5IDEwODIKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDM0ZmRkZGE2ZTk3OGU4NDAzYjFlcDAsCi0gICAgLTB4MS5hYjQxYjA5ODg2ZmVhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgzCi0gICAgMHgxLjg2YzRlMzMzYjNjOWY2MjczODk2YWJhMjAxNzY3OTEycDQ4LAotICAgIDB4MS5jNDYzYWJlY2NiMmJhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg0Ci0gICAgLTB4MS44NmM0ZTMzM2IzYzlmNjI3Mzg5NmFiYTIwMTc2NzkxMnA0OCwKLSAgICAtMHgxLmM0NjNhYmVjY2IyYmFwMwotICB9LAotICB7IC8vIEVudHJ5IDEwODUKLSAgICAweDEuOWM5Njk1MWYzNjE4NDU2MDMyODAxODVhMTZkNjAyNmNwNTAsCi0gICAgMHgxLmM0NjNhYmVjY2IyYmJwMwotICB9LAotICB7IC8vIEVudHJ5IDEwODYKLSAgICAtMHgxLjljOTY5NTFmMzYxODQ1NjAzMjgwMTg1YTE2ZDYwMjZjcDUwLAotICAgIC0weDEuYzQ2M2FiZWNjYjJiYnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4NwotICAgIC0weDEuNzMyNDRkMzY5ZTBiNmViMmY1ZDczY2NhNzM0NGU4N2FwNDksCi0gICAgMHgxLmM0NjNhYmVjY2IyYmNwMwotICB9LAotICB7IC8vIEVudHJ5IDEwODgKLSAgICAweDEuNzMyNDRkMzY5ZTBiNmViMmY1ZDczY2NhNzM0NGU4N2FwNDksCi0gICAgLTB4MS5jNDYzYWJlY2NiMmJjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg5Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDFkM2Q1MzU3MmEwYjZjYzI2MTA1NXAwLAotICAgIDB4MS5kZDg1YTc0MTBmNThicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkwCi0gICAgMHgxLjAwMDAwMDAwMDAwMWQzZDUzNTcyYTBiNmNjMjYxMDU1cDAsCi0gICAgLTB4MS5kZDg1YTc0MTBmNThicDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkxCi0gICAgLTB4MS4wMDAwMDAwMDAwMDBkM2Q1MzU3MmEwYjU3ODUwZGFlMnAwLAotICAgIDB4MS5kZDg1YTc0MTBmNThjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkyCi0gICAgMHgxLjAwMDAwMDAwMDAwMGQzZDUzNTcyYTBiNTc4NTBkYWUycDAsCi0gICAgLTB4MS5kZDg1YTc0MTBmNThjcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkzCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZhN2FhNmFlNTQxNmE0OGY3NGFkZnAtMSwKLSAgICAweDEuZGQ4NWE3NDEwZjU4ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5NAotICAgIDB4MS5mZmZmZmZmZmZmZmZhN2FhNmFlNTQxNmE0OGY3NGFkZnAtMSwKLSAgICAtMHgxLmRkODVhNzQxMGY1OGRwMwotICB9LAotICB7IC8vIEVudHJ5IDEwOTUKLSAgICAtMHgxLjU4M2ViZWZmNjVjYzIyNjQ4MGFlNjg1YzY1MzUyMzI1cC00OSwKLSAgICAweDEuZjZhN2EyOTU1Mzg1ZHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5NgotICAgIDB4MS41ODNlYmVmZjY1Y2MyMjY0ODBhZTY4NWM2NTM1MjMyNXAtNDksCi0gICAgLTB4MS5mNmE3YTI5NTUzODVkcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk3Ci0gICAgLTB4MS42MGZhZmJmZDk3MzA4OTkyMDJiOWExNzBjOGQ1NDU5MXAtNTEsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWVwMwotICB9LAotICB7IC8vIEVudHJ5IDEwOTgKLSAgICAweDEuNjBmYWZiZmQ5NzMwODk5MjAyYjlhMTcwYzhkNTQ1OTFwLTUxLAotICAgIC0weDEuZjZhN2EyOTU1Mzg1ZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA5OQotICAgIDB4MS40ZjgyODIwMTM0NjdiYjM2ZmVhMzJmNDdhOTU2NDFiYXAtNTAsCi0gICAgMHgxLmY2YTdhMjk1NTM4NWZwMwotICB9LAotICB7IC8vIEVudHJ5IDExMDAKLSAgICAtMHgxLjRmODI4MjAxMzQ2N2JiMzZmZWEzMmY0N2E5NTY0MWJhcC01MCwKLSAgICAtMHgxLmY2YTdhMjk1NTM4NWZwMwotICB9LAotICB7IC8vIEVudHJ5IDExMDEKLSAgICAweDEuZmZmZmZmZmZmZmY4NDZhZjZlZTdhYTQ4YTFlOWU5ZjdwLTEsCi0gICAgMHgxLjA3ZTRjZWY0Y2JkOTZwNAotICB9LAotICB7IC8vIEVudHJ5IDExMDIKLSAgICAtMHgxLmZmZmZmZmZmZmZmODQ2YWY2ZWU3YWE0OGExZTllOWY3cC0xLAotICAgIC0weDEuMDdlNGNlZjRjYmQ5NnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEwMwotICAgIDB4MS5mZmZmZmZmZmZmZmM0NmFmNmVlN2FhM2QyZjQ4YzdjN3AtMSwKLSAgICAweDEuMDdlNGNlZjRjYmQ5N3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEwNAotICAgIC0weDEuZmZmZmZmZmZmZmZjNDZhZjZlZTdhYTNkMmY0OGM3YzdwLTEsCi0gICAgLTB4MS4wN2U0Y2VmNGNiZDk3cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA1Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDIzNTdiNzczZDUxY2RlNTNkMmNicDAsCi0gICAgMHgxLjA3ZTRjZWY0Y2JkOThwNAotICB9LAotICB7IC8vIEVudHJ5IDExMDYKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDIzNTdiNzczZDUxY2RlNTNkMmNicDAsCi0gICAgLTB4MS4wN2U0Y2VmNGNiZDk4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA3Ci0gICAgMHgxLjJmMDg0MjM4OWU1YmMwMTRkMGZiZTg0M2NjYTZkZGYzcDQ3LAotICAgIDB4MS4xNDc1Y2M5ZWVkZWZmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA4Ci0gICAgLTB4MS4yZjA4NDIzODllNWJjMDE0ZDBmYmU4NDNjY2E2ZGRmM3A0NywKLSAgICAtMHgxLjE0NzVjYzllZWRlZmZwNAotICB9LAotICB7IC8vIEVudHJ5IDExMDkKLSAgICAweDEuNzMzYzRlOGVmOWM1MGNiNTkyOWY2YmI2NzRiZWM2N2ZwNDgsCi0gICAgMHgxLjE0NzVjYzllZWRmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTEwCi0gICAgLTB4MS43MzNjNGU4ZWY5YzUwY2I1OTI5ZjZiYjY3NGJlYzY3ZnA0OCwKLSAgICAtMHgxLjE0NzVjYzllZWRmcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTExCi0gICAgLTB4MS45YzViNGM3Mjg5ODk4OTFkZmI4NzEwYWRmMzg3ODQzY3A0OSwKLSAgICAweDEuMTQ3NWNjOWVlZGYwMXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExMgotICAgIDB4MS45YzViNGM3Mjg5ODk4OTFkZmI4NzEwYWRmMzg3ODQzY3A0OSwKLSAgICAtMHgxLjE0NzVjYzllZWRmMDFwNAotICB9LAotICB7IC8vIEVudHJ5IDExMTMKLSAgICAtMHgxLjAwMDAwMDAwMDAwMmU1N2I1YmE1YjUxNTU5NWVkYjk0cDAsCi0gICAgMHgxLjIxMDZjYTQ5MTAwNjhwNAotICB9LAotICB7IC8vIEVudHJ5IDExMTQKLSAgICAweDEuMDAwMDAwMDAwMDAyZTU3YjViYTViNTE1NTk1ZWRiOTRwMCwKLSAgICAtMHgxLjIxMDZjYTQ5MTAwNjhwNAotICB9LAotICB7IC8vIEVudHJ5IDExMTUKLSAgICAtMHgxLjAwMDAwMDAwMDAwMGU1N2I1YmE1YjUxMThlNjgyNDQ5cDAsCi0gICAgMHgxLjIxMDZjYTQ5MTAwNjlwNAotICB9LAotICB7IC8vIEVudHJ5IDExMTYKLSAgICAweDEuMDAwMDAwMDAwMDAwZTU3YjViYTViNTExOGU2ODI0NDlwMCwKLSAgICAtMHgxLjIxMDZjYTQ5MTAwNjlwNAotICB9LAotICB7IC8vIEVudHJ5IDExMTcKLSAgICAtMHgxLmZmZmZmZmZmZmZmZGNhZjZiNzRiNmEyMzg2ZTJkOWZicC0xLAotICAgIDB4MS4yMTA2Y2E0OTEwMDZhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTE4Ci0gICAgMHgxLmZmZmZmZmZmZmZmZGNhZjZiNzRiNmEyMzg2ZTJkOWZicC0xLAotICAgIC0weDEuMjEwNmNhNDkxMDA2YXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTExOQotICAgIC0weDEuMzRmMjcyOTkzZDE0MTRhMmIzOWJkODM3ZTZjOTZhZjBwLTQ4LAotICAgIDB4MS4yZDk3YzdmMzMyMWQxcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIwCi0gICAgMHgxLjM0ZjI3Mjk5M2QxNDE0YTJiMzliZDgzN2U2Yzk2YWYwcC00OCwKLSAgICAtMHgxLjJkOTdjN2YzMzIxZDFwNAotICB9LAotICB7IC8vIEVudHJ5IDExMjEKLSAgICAtMHgxLmE3OTM5NGM5ZThhMGE1MTU5Y2RlYzFiYThjNzFmNmJhcC01MSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEyMgotICAgIDB4MS5hNzkzOTRjOWU4YTBhNTE1OWNkZWMxYmE4YzcxZjZiYXAtNTEsCi0gICAgLTB4MS4yZDk3YzdmMzMyMWQycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTIzCi0gICAgMHgxLjk2MWIxYWNkODVkN2Q2YmE5OGM4NGY5MWIzOTAxMDFmcC00OSwKLSAgICAweDEuMmQ5N2M3ZjMzMjFkM3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEyNAotICAgIC0weDEuOTYxYjFhY2Q4NWQ3ZDZiYTk4Yzg0ZjkxYjM5MDEwMWZwLTQ5LAotICAgIC0weDEuMmQ5N2M3ZjMzMjFkM3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEyNQotICAgIDB4MS5mZmZmZmZmZmZmZjgyMzYzMjI4MTgxOTExZGIxNDRiYXAtMSwKLSAgICAweDEuM2EyOGM1OWQ1NDMzOXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEyNgotICAgIC0weDEuZmZmZmZmZmZmZmY4MjM2MzIyODE4MTkxMWRiMTQ0YmFwLTEsCi0gICAgLTB4MS4zYTI4YzU5ZDU0MzM5cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTI3Ci0gICAgMHgxLmZmZmZmZmZmZmZmYzIzNjMyMjgxODE4NTY0Nzc4OWJkcC0xLAotICAgIDB4MS4zYTI4YzU5ZDU0MzNhcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTI4Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmMyMzYzMjI4MTgxODU2NDc3ODliZHAtMSwKLSAgICAtMHgxLjNhMjhjNTlkNTQzM2FwNAotICB9LAotICB7IC8vIEVudHJ5IDExMjkKLSAgICAweDEuMDAwMDAwMDAwMDAwMTFiMTkxNDBjMGMwZDU5ZWU3NjBwMCwKLSAgICAweDEuM2EyOGM1OWQ1NDMzYnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEzMAotICAgIC0weDEuMDAwMDAwMDAwMDAwMTFiMTkxNDBjMGMwZDU5ZWU3NjBwMCwKLSAgICAtMHgxLjNhMjhjNTlkNTQzM2JwNAotICB9LAotICB7IC8vIEVudHJ5IDExMzEKLSAgICAweDEuMjhmOTM0MzE1ZTVlYjliNDVhNjAzYTVmNzg4ZGUxMzFwNDcsCi0gICAgMHgxLjQ2YjljMzQ3NzY0YTJwNAotICB9LAotICB7IC8vIEVudHJ5IDExMzIKLSAgICAtMHgxLjI4ZjkzNDMxNWU1ZWI5YjQ1YTYwM2E1Zjc4OGRlMTMxcDQ3LAotICAgIC0weDEuNDZiOWMzNDc3NjRhMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEzMwotICAgIDB4MS42MThmZGI3ZjIxYzEzYzIzNmE0YzQ1NTFmZjEzOWY1ZHA0OCwKLSAgICAweDEuNDZiOWMzNDc3NjRhM3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEzNAotICAgIC0weDEuNjE4ZmRiN2YyMWMxM2MyMzZhNGM0NTUxZmYxMzlmNWRwNDgsCi0gICAgLTB4MS40NmI5YzM0Nzc2NGEzcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTM1Ci0gICAgLTB4MS5jZmRlNjEyMThhYjllNzlmZmU4ZjA0NmFmZGYwMGRlM3A0OSwKLSAgICAweDEuNDZiOWMzNDc3NjRhNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTEzNgotICAgIDB4MS5jZmRlNjEyMThhYjllNzlmZmU4ZjA0NmFmZGYwMGRlM3A0OSwKLSAgICAtMHgxLjQ2YjljMzQ3NzY0YTRwNAotICB9LAotICB7IC8vIEVudHJ5IDExMzcKLSAgICAtMHgxLjAwMDAwMDAwMDAwMmY3MjE4MWQ4Yzk3MTkzZjllZTQ5cDAsCi0gICAgMHgxLjUzNGFjMGYxOTg2MGJwNAotICB9LAotICB7IC8vIEVudHJ5IDExMzgKLSAgICAweDEuMDAwMDAwMDAwMDAyZjcyMTgxZDhjOTcxOTNmOWVlNDlwMCwKLSAgICAtMHgxLjUzNGFjMGYxOTg2MGJwNAotICB9LAotICB7IC8vIEVudHJ5IDExMzkKLSAgICAtMHgxLjAwMDAwMDAwMDAwMGY3MjE4MWQ4Yzk2ZGE1YjZlYTk4cDAsCi0gICAgMHgxLjUzNGFjMGYxOTg2MGNwNAotICB9LAotICB7IC8vIEVudHJ5IDExNDAKLSAgICAweDEuMDAwMDAwMDAwMDAwZjcyMTgxZDhjOTZkYTViNmVhOThwMCwKLSAgICAtMHgxLjUzNGFjMGYxOTg2MGNwNAotICB9LAotICB7IC8vIEVudHJ5IDExNDEKLSAgICAtMHgxLmZmZmZmZmZmZmZmZGVlNDMwM2IxOTJkYjZlZTdjZGNkcC0xLAotICAgIDB4MS41MzRhYzBmMTk4NjBkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQyCi0gICAgMHgxLmZmZmZmZmZmZmZmZGVlNDMwM2IxOTJkYjZlZTdjZGNkcC0xLAotICAgIC0weDEuNTM0YWMwZjE5ODYwZHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0MwotICAgIC0weDEuM2RjNTg1YjJjNzQyMTgxMzI2ZTA3YzQxMmMyNGEwNTJwLTQ4LAotICAgIDB4MS41ZmRiYmU5YmJhNzc0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQ0Ci0gICAgMHgxLjNkYzU4NWIyYzc0MjE4MTMyNmUwN2M0MTJjMjRhMDUycC00OCwKLSAgICAtMHgxLjVmZGJiZTliYmE3NzRwNAotICB9LAotICB7IC8vIEVudHJ5IDExNDUKLSAgICAtMHgxLmVlMmMyZDk2M2ExMGMwOTkzNzAzZTIwNDUxMTA1OTVlcC01MSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0NgotICAgIDB4MS5lZTJjMmQ5NjNhMTBjMDk5MzcwM2UyMDQ1MTEwNTk1ZXAtNTEsCi0gICAgLTB4MS41ZmRiYmU5YmJhNzc1cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQ3Ci0gICAgMHgxLjg0NzRmNDlhNzE3YmNmZDliMjNmMDc3ZjM4YWFmZDJhcC00OSwKLSAgICAweDEuNWZkYmJlOWJiYTc3NnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0OAotICAgIC0weDEuODQ3NGY0OWE3MTdiY2ZkOWIyM2YwNzdmMzhhYWZkMmFwLTQ5LAotICAgIC0weDEuNWZkYmJlOWJiYTc3NnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE0OQotICAgIDB4MS5mZmZmZmZmZmZmZjgwMDE2ZDYxYjU4ZDk5YmU3OTk0ZXAtMSwKLSAgICAweDEuNmM2Y2JjNDVkYzhkY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1MAotICAgIC0weDEuZmZmZmZmZmZmZmY4MDAxNmQ2MWI1OGQ5OWJlNzk5NGVwLTEsCi0gICAgLTB4MS42YzZjYmM0NWRjOGRjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUxCi0gICAgMHgxLmZmZmZmZmZmZmZmYzAwMTZkNjFiNThjZDljMTU0NTg1cC0xLAotICAgIDB4MS42YzZjYmM0NWRjOGRkcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTUyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmMwMDE2ZDYxYjU4Y2Q5YzE1NDU4NXAtMSwKLSAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGRwNAotICB9LAotICB7IC8vIEVudHJ5IDExNTMKLSAgICAweDEuMDAwMDAwMDAwMDAwMDAwYjZiMGRhYzY0Y2UyMTc4ZGRwMCwKLSAgICAweDEuNmM2Y2JjNDVkYzhkZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1NAotICAgIC0weDEuMDAwMDAwMDAwMDAwMDAwYjZiMGRhYzY0Y2UyMTc4ZGRwMCwKLSAgICAtMHgxLjZjNmNiYzQ1ZGM4ZGVwNAotICB9LAotICB7IC8vIEVudHJ5IDExNTUKLSAgICAweDEuMjMyNmY0ZThmMmJiMTgwZTViZjA0MTdkNzVlYTVkOWVwNDcsCi0gICAgMHgxLjc4ZmRiOWVmZmVhNDVwNAotICB9LAotICB7IC8vIEVudHJ5IDExNTYKLSAgICAtMHgxLjIzMjZmNGU4ZjJiYjE4MGU1YmYwNDE3ZDc1ZWE1ZDllcDQ3LAotICAgIC0weDEuNzhmZGI5ZWZmZWE0NXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1NwotICAgIDB4MS41MTdlYTA4NzA4YmE2OWRhMzMzYThjODVmM2JjNjYwOXA0OCwKLSAgICAweDEuNzhmZGI5ZWZmZWE0NnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE1OAotICAgIC0weDEuNTE3ZWEwODcwOGJhNjlkYTMzM2E4Yzg1ZjNiYzY2MDlwNDgsCi0gICAgLTB4MS43OGZkYjllZmZlYTQ2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTU5Ci0gICAgLTB4MS4wOTBiM2Q1MTYxNzg1YWMyZDMxNjYzZjdlNWQ2YmVkNHA1MCwKLSAgICAweDEuNzhmZGI5ZWZmZWE0N3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE2MAotICAgIDB4MS4wOTBiM2Q1MTYxNzg1YWMyZDMxNjYzZjdlNWQ2YmVkNHA1MCwKLSAgICAtMHgxLjc4ZmRiOWVmZmVhNDdwNAotICB9LAotICB7IC8vIEVudHJ5IDExNjEKLSAgICAtMHgxLjAwMDAwMDAwMDAwMzA4YzdhODBiZGRjZGNmY2M3ZGU3cDAsCi0gICAgMHgxLjg1OGViNzlhMjBiYWVwNAotICB9LAotICB7IC8vIEVudHJ5IDExNjIKLSAgICAweDEuMDAwMDAwMDAwMDAzMDhjN2E4MGJkZGNkY2ZjYzdkZTdwMCwKLSAgICAtMHgxLjg1OGViNzlhMjBiYWVwNAotICB9LAotICB7IC8vIEVudHJ5IDExNjMKLSAgICAtMHgxLjAwMDAwMDAwMDAwMTA4YzdhODBiZGRjOWJlM2QyZGNmcDAsCi0gICAgMHgxLjg1OGViNzlhMjBiYWZwNAotICB9LAotICB7IC8vIEVudHJ5IDExNjQKLSAgICAweDEuMDAwMDAwMDAwMDAxMDhjN2E4MGJkZGM5YmUzZDJkY2ZwMCwKLSAgICAtMHgxLjg1OGViNzlhMjBiYWZwNAotICB9LAotICB7IC8vIEVudHJ5IDExNjUKLSAgICAtMHgxLmZmZmZmZmZmZmZmZTExOGY1MDE3YmI5MzU5NWJiYjZmcC0xLAotICAgIDB4MS44NThlYjc5YTIwYmIwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTY2Ci0gICAgMHgxLmZmZmZmZmZmZmZmZTExOGY1MDE3YmI5MzU5NWJiYjZmcC0xLAotICAgIC0weDEuODU4ZWI3OWEyMGJiMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE2NwotICAgIC0weDEuYWYwNzkyMDAxZjg1NjMzNWEzODAxMGE2YTY4MzJlNmJwMiwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnA2MgotICB9LAotICB7IC8vIEVudHJ5IDExNjgKLSAgICAweDEuYWYwNzkyMDAxZjg1NjMzNWEzODAxMGE2YTY4MzJlNmJwMiwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTY5Ci0gICAgMHgxLjUyZjUwZTc1Nzk0MWNiZmY1YjdjMmUwNmExYWI3ZTlkcDYsCi0gICAgMHgxLjBwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTcwCi0gICAgLTB4MS41MmY1MGU3NTc5NDFjYmZmNWI3YzJlMDZhMWFiN2U5ZHA2LAotICAgIC0weDEuMHA2MwotICB9LAotICB7IC8vIEVudHJ5IDExNzEKLSAgICAweDEuNzU3MDY2N2QwMzJlY2E4ZWY3ODBhZDU5ZDNlMjdlNGJwMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXA2MwotICB9LAotICB7IC8vIEVudHJ5IDExNzIKLSAgICAtMHgxLjc1NzA2NjdkMDMyZWNhOGVmNzgwYWQ1OWQzZTI3ZTRicDEsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE3MwotICAgIC0weDEuMmU4ZmMyNDhlN2I4NTRmZTVjMmRjOWQyODdkZTBjZDNwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAyNgotICB9LAotICB7IC8vIEVudHJ5IDExNzQKLSAgICAweDEuMmU4ZmMyNDhlN2I4NTRmZTVjMmRjOWQyODdkZTBjZDNwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTc1Ci0gICAgLTB4MS4yZThmYzFhZjgxZDhiYWE4ODk5YTMzMjUyMDBjMGRjYnAwLAotICAgIDB4MS4wcDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE3NgotICAgIDB4MS4yZThmYzFhZjgxZDhiYWE4ODk5YTMzMjUyMDBjMGRjYnAwLAotICAgIC0weDEuMHAyNwotICB9LAotICB7IC8vIEVudHJ5IDExNzcKLSAgICAtMHgxLjJlOGZjMDdjYjYxYTk1ZWY1ZTVkOGQ2NDE2NjUyYzdhcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTc4Ci0gICAgMHgxLjJlOGZjMDdjYjYxYTk1ZWY1ZTVkOGQ2NDE2NjUyYzdhcDAsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE3OQotICAgIC0weDEuM2VhMjgyODYwZTdmYmUxNzY1NjA3YzJmZGIzMjQ4MWZwMCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAyMwotICB9LAotICB7IC8vIEVudHJ5IDExODAKLSAgICAweDEuM2VhMjgyODYwZTdmYmUxNzY1NjA3YzJmZGIzMjQ4MWZwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgxCi0gICAgLTB4MS4zZWEyODI3MWE5YmVhMzZlNzQ0ZjljZTUzN2JhNGI1OXAwLAotICAgIDB4MS4wcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE4MgotICAgIDB4MS4zZWEyODI3MWE5YmVhMzZlNzQ0ZjljZTUzN2JhNGI1OXAwLAotICAgIC0weDEuMHAyNAotICB9LAotICB7IC8vIEVudHJ5IDExODMKLSAgICAtMHgxLjNlYTI4MjQ4ZTAzYzcyZGVmNzBlN2VmYjRjNDNmMDNlcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg0Ci0gICAgMHgxLjNlYTI4MjQ4ZTAzYzcyZGVmNzBlN2VmYjRjNDNmMDNlcDAsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTE4NQotICAgIDB4MS4yODY2ZjliZTRkZTBlYzI3ZWZhOTA0OWFiODBiYmQ2Y3AwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg2Ci0gICAgLTB4MS4yODY2ZjliZTRkZTBlYzI3ZWZhOTA0OWFiODBiYmQ2Y3AwLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4NwotICAgIDB4MS4yODY2ZjliZTRkZTEzNzBkYjkwNzg2MDcwMTJjYjA3YnAwLAotICAgIDB4MS4wcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTg4Ci0gICAgLTB4MS4yODY2ZjliZTRkZTEzNzBkYjkwNzg2MDcwMTJjYjA3YnAwLAotICAgIC0weDEuMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE4OQotICAgIDB4MS4yODY2ZjliZTRkZTFjY2Q5NGJjNDg4ZGZkNDc4NzNhZnAwLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkwCi0gICAgLTB4MS4yODY2ZjliZTRkZTFjY2Q5NGJjNDg4ZGZkNDc4NzNhZnAwLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5MQotICAgIC0weDEuMTdhZjYyZTA5NTBmYjFlNzAxYzY0MmVmODczN2Y1MTZwMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5MgotICAgIDB4MS4xN2FmNjJlMDk1MGZiMWU3MDFjNjQyZWY4NzM3ZjUxNnAxLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5MwotICAgIC0weDEuMTdhZjYyZTA5NTBmODNiNTA5OTA4N2FhZjY3YWY5YzFwMSwKLSAgICAweDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NAotICAgIDB4MS4xN2FmNjJlMDk1MGY4M2I1MDk5MDg3YWFmNjdhZjljMXAxLAotICAgIC0weDEuMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NQotICAgIC0weDEuMTdhZjYyZTA5NTBmMjc1MTE5MjUxMTIxZmFkYjE3YmFwMSwKLSAgICAweDEuMDAwMDAwMDAwMDAwMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NgotICAgIDB4MS4xN2FmNjJlMDk1MGYyNzUxMTkyNTExMjFmYWRiMTdiYXAxLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5NwotICAgIDB4MS44ZWIyNDVjYmVlM2E0MDIzNTYxM2U3NTc1MDIwZDMwZHAwLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTE5OAotICAgIC0weDEuOGViMjQ1Y2JlZTNhNDAyMzU2MTNlNzU3NTAyMGQzMGRwMCwKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTk5Ci0gICAgMHgxLjhlYjI0NWNiZWUzYTViOGFjYzdkNDEzMjMxNDBiM2I1cDAsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDEyMDAKLSAgICAtMHgxLjhlYjI0NWNiZWUzYTViOGFjYzdkNDEzMjMxNDBiM2I1cDAsCi0gICAgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAxCi0gICAgMHgxLjhlYjI0NWNiZWUzYTkyNTliOTRmZjRlN2ZiODExMWVjcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDEyMDIKLSAgICAtMHgxLjhlYjI0NWNiZWUzYTkyNTliOTRmZjRlN2ZiODExMWVjcDAsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAzCi0gICAgMHgxLjE3YjRmNWJmMzQ3NDk5Y2U0MTg1NWRlZTQzNDRiZDFkcC0xLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwNAotICAgIC0weDEuMTdiNGY1YmYzNDc0OTljZTQxODU1ZGVlNDM0NGJkMWRwLTEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIwNQotICAgIDB4MS4xN2I0ZjViZjM0NzRhNDMxNzk2NDgwNzg4MjQ0NGNjOHAtMSwKLSAgICAweDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEyMDYKLSAgICAtMHgxLjE3YjRmNWJmMzQ3NGE0MzE3OTY0ODA3ODgyNDQ0Y2M4cC0xLAotICAgIC0weDEuMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDEyMDcKLSAgICAweDEuMTdiNGY1YmYzNDc0YjhmN2U5MjJjNThkMDBjYjlkZDJwLTEsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjA4Ci0gICAgLTB4MS4xN2I0ZjViZjM0NzRiOGY3ZTkyMmM1OGQwMGNiOWRkMnAtMSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjA5Ci0gICAgMHgxLjA1Nzg1YTQzYzRjNTU1ZGUwY2IxMzcxZjEwZGIzMWFmcC0yLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxMAotICAgIC0weDEuMDU3ODVhNDNjNGM1NTVkZTBjYjEzNzFmMTBkYjMxYWZwLTIsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTIxMQotICAgIDB4MS4wNTc4NWE0M2M0YzU1ZTYzOTQwMTg4OTY1YzI4YmQwZnAtMiwKLSAgICAweDEuMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEyMTIKLSAgICAtMHgxLjA1Nzg1YTQzYzRjNTVlNjM5NDAxODg5NjVjMjhiZDBmcC0yLAotICAgIC0weDEuMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDEyMTMKLSAgICAweDEuMDU3ODVhNDNjNGM1NmY2ZWEyYTIyYjg0ZjJkZGYwM2ZwLTIsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjE0Ci0gICAgLTB4MS4wNTc4NWE0M2M0YzU2ZjZlYTJhMjJiODRmMmRkZjAzZnAtMiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjE1Ci0gICAgMHgxLjAxNTc3YWYxNTExYTQ1ZTQwM2RkNjBjOGQ4MjU5MGQwcC0zLAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIxNgotICAgIC0weDEuMDE1NzdhZjE1MTFhNDVlNDAzZGQ2MGM4ZDgyNTkwZDBwLTMsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIxNwotICAgIDB4MS4wMTU3N2FmMTUxMWE0ZTA0NTlmNWI4NzJkNGZmMzRmZHAtMywKLSAgICAweDEuMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEyMTgKLSAgICAtMHgxLjAxNTc3YWYxNTExYTRlMDQ1OWY1Yjg3MmQ0ZmYzNGZkcC0zLAotICAgIC0weDEuMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDEyMTkKLSAgICAweDEuMDE1NzdhZjE1MTFhNWU0NTA2MjY2N2M2Y2ViODlkYzRwLTMsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIwCi0gICAgLTB4MS4wMTU3N2FmMTUxMWE1ZTQ1MDYyNjY3YzZjZWI4OWRjNHAtMywKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjIxCi0gICAgMHgxLjAwNTU3Nzg1NGRmMDAwMmE4ZTY2MDZmNmM2MThkOTg4cC00LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyMgotICAgIC0weDEuMDA1NTc3ODU0ZGYwMDAyYThlNjYwNmY2YzYxOGQ5ODhwLTQsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyMwotICAgIDB4MS4wMDU1Nzc4NTRkZjAwODMyOTNiZTYzOTA1N2IwYzY4MXAtNCwKLSAgICAweDEuMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDEyMjQKLSAgICAtMHgxLjAwNTU3Nzg1NGRmMDA4MzI5M2JlNjM5MDU3YjBjNjgxcC00LAotICAgIC0weDEuMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDEyMjUKLSAgICAweDEuMDA1NTc3ODU0ZGYwMTg0MjllNmYxY2MzN2FlMjIyNzRwLTQsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjI2Ci0gICAgLTB4MS4wMDU1Nzc4NTRkZjAxODQyOWU2ZjFjYzM3YWUyMjI3NHAtNCwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjI3Ci0gICAgMHgxLjAwMTU1Nzc3YWVjMDdkN2IyMjc0MWQxMmVlNTNhOWZjcC01LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyOAotICAgIC0weDEuMDAxNTU3NzdhZWMwN2Q3YjIyNzQxZDEyZWU1M2E5ZmNwLTUsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyOQotICAgIDB4MS4wMDE1NTc3N2FlYzA4NTdkMjJjOTdlODA5ODYwMjg4ZHAtNSwKLSAgICAweDEuMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDEyMzAKLSAgICAtMHgxLjAwMTU1Nzc3YWVjMDg1N2QyMmM5N2U4MDk4NjAyODhkcC01LAotICAgIC0weDEuMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDEyMzEKLSAgICAweDEuMDAxNTU3NzdhZWMwOTU4MTIzNzQ0MTViZWM3OTg1Y2VwLTUsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMyCi0gICAgLTB4MS4wMDE1NTc3N2FlYzA5NTgxMjM3NDQxNWJlYzc5ODVjZXAtNSwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMzCi0gICAgMHgxLjAwMDU1NTc3Nzg1NDgyZTEzNWYwYWZlZWJlODA1YWRicC02LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzNAotICAgIC0weDEuMDAwNTU1Nzc3ODU0ODJlMTM1ZjBhZmVlYmU4MDVhZGJwLTYsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIzNQotICAgIDB4MS4wMDA1NTU3Nzc4NTQ4YWUxYjVmNjA1NzQ3MDZlODIzOHAtNiwKLSAgICAweDEuMHAtNgotICB9LAotICB7IC8vIEVudHJ5IDEyMzYKLSAgICAtMHgxLjAwMDU1NTc3Nzg1NDhhZTFiNWY2MDU3NDcwNmU4MjM4cC02LAotICAgIC0weDEuMHAtNgotICB9LAotICB7IC8vIEVudHJ5IDEyMzcKLSAgICAweDEuMDAwNTU1Nzc3ODU0OWFlMmI2MDBiMDdmZDQ0YWU4ZjNwLTYsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjM4Ci0gICAgLTB4MS4wMDA1NTU3Nzc4NTQ5YWUyYjYwMGIwN2ZkNDRhZThmM3AtNiwKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDFwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjM5Ci0gICAgMHgxLjAwMDAwMDA1NTU1NTRkNzc3Nzc2Zjg1NDg1NDMwNGM5cC0xNCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQwCi0gICAgLTB4MS4wMDAwMDAwNTU1NTU0ZDc3Nzc3NmY4NTQ4NTQzMDRjOXAtMTQsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0xNQotICB9LAotICB7IC8vIEVudHJ5IDEyNDEKLSAgICAweDEuMDAwMDAwMDU1NTU1NTU3Nzc3Nzc3ODU0ODU0ODVhMWVwLTE0LAotICAgIDB4MS4wcC0xNAotICB9LAotICB7IC8vIEVudHJ5IDEyNDIKLSAgICAtMHgxLjAwMDAwMDA1NTU1NTU1Nzc3Nzc3Nzg1NDg1NDg1YTFlcC0xNCwKLSAgICAtMHgxLjBwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0MwotICAgIDB4MS4wMDAwMDAwNTU1NTU2NTc3Nzc3ODc4NTQ4NTUzMDRjOXAtMTQsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0NAotICAgIC0weDEuMDAwMDAwMDU1NTU1NjU3Nzc3Nzg3ODU0ODU1MzA0YzlwLTE0LAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQ1Ci0gICAgMHgxLmZmZmZmZmZmZmZmZmYyYWFhYWFhYWFhYWFhNmVlZWVlcC0yOCwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjQ2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmMmFhYWFhYWFhYWFhYTZlZWVlZXAtMjgsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0yOAotICB9LAotICB7IC8vIEVudHJ5IDEyNDcKLSAgICAweDEuMDAwMDAwMDAwMDAwMDE1NTU1NTU1NTU1NTU1Nzc3NzdwLTI3LAotICAgIDB4MS4wcC0yNwotICB9LAotICB7IC8vIEVudHJ5IDEyNDgKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDAxNTU1NTU1NTU1NTU1NTc3Nzc3cC0yNywKLSAgICAtMHgxLjBwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI0OQotICAgIDB4MS4wMDAwMDAwMDAwMDAxMTU1NTU1NTU1NTU1NTk3Nzc3N3AtMjcsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTI1MAotICAgIC0weDEuMDAwMDAwMDAwMDAwMTE1NTU1NTU1NTU1NTU5Nzc3NzdwLTI3LAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUxCi0gICAgMHgxLmZmZmZmZmZmZmZmZmYwMGFhYWFhYWFhYWFhYTlhYWVlcC0zMSwKLSAgICAweDEuZmZmZmZmZmZmZmZmZnAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjUyCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmMDBhYWFhYWFhYWFhYWE5YWFlZXAtMzEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcC0zMQotICB9LAotICB7IC8vIEVudHJ5IDEyNTMKLSAgICAweDEuMDAwMDAwMDAwMDAwMDAwNTU1NTU1NTU1NTU1NTU1NzdwLTMwLAotICAgIDB4MS4wcC0zMAotICB9LAotICB7IC8vIEVudHJ5IDEyNTQKLSAgICAtMHgxLjAwMDAwMDAwMDAwMDAwMDU1NTU1NTU1NTU1NTU1NTc3cC0zMCwKLSAgICAtMHgxLjBwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI1NQotICAgIDB4MS4wMDAwMDAwMDAwMDAxMDA1NTU1NTU1NTU1NTU2NTU3N3AtMzAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI1NgotICAgIC0weDEuMDAwMDAwMDAwMDAwMTAwNTU1NTU1NTU1NTU1NjU1NzdwLTMwLAotICAgIC0weDEuMDAwMDAwMDAwMDAwMXAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjU3Ci0gICAgMHgxLjQ1MzBjZmU3Mjk0ODNiOGRhMWY3MTAxZTE2Y2Q3NGI3cC04LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI1OAotICAgIC0weDEuNDUzMGNmZTcyOTQ4M2I4ZGExZjcxMDFlMTZjZDc0YjdwLTgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEyNTkKLSAgICAtMHgxLjQ1MzBjZmU3Mjk0ODNiOGRhMWY3MTAxZTE2Y2Q3NGI3cC04LAotICAgIDB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYwCi0gICAgMHgxLjQ1MzBjZmU3Mjk0ODNiOGRhMWY3MTAxZTE2Y2Q3NGI3cC04LAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAxMDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2MQotICAgIC0weDEuNDUzMGNmZTcyOTQ4M2I4ZGExZjcxMDFlMTZjZDc0YjdwLTgsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEyNjIKLSAgICAweDEuNDUzMGNmZTcyOTQ4M2I4ZGExZjcxMDFlMTZjZDc0YjdwLTgsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZmcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjYzCi0gICAgMHgxLjNjNmU5OTcwZjc4Yjg0ZmM4MjI3NTE3ZmQ1MjEwMTdicDEsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmVwMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEyNjQKLSAgICAtMHgxLjNjNmU5OTcwZjc4Yjg0ZmM4MjI3NTE3ZmQ1MjEwMTdicDEsCi0gICAgLTB4MS5mZmZmZmZmZmZmZmZlcDEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY1Ci0gICAgLTB4MS4xYTYyNjMzMTQ1YzA2ZTBlNjg5NDgxMjcwNDYxZDVkN3AtNTMsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwMQotICB9LAotICB7IC8vIEVudHJ5IDEyNjYKLSAgICAweDEuMWE2MjYzMzE0NWMwNmUwZTY4OTQ4MTI3MDQ2MWQ1ZDdwLTUzLAotICAgIC0weDEuOTIxZmI1NDQ0MmQxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2NwotICAgIDB4MS5kMDI5NjdjMzFjZGI0ZTBjMzhkMDFiNjU1ZDVlMGFhZnA1MywKLSAgICAweDEuOTIxZmI1NDQ0MmQxOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2OAotICAgIC0weDEuZDAyOTY3YzMxY2RiNGUwYzM4ZDAxYjY1NWQ1ZTBhYWZwNTMsCi0gICAgLTB4MS45MjFmYjU0NDQyZDE4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjY5Ci0gICAgMHgxLjhlYjI0NWNiZWUzYTkyNTliOTRmZjRlN2ZiODExMWVjcDAsCi0gICAgMHgxLjAwMDAwMDAwMDAwMDFwMAotICB9LAotICB7IC8vIEVudHJ5IDEyNzAKLSAgICAtMHgxLjhlYjI0NWNiZWUzYTkyNTliOTRmZjRlN2ZiODExMWVjcDAsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcxCi0gICAgMHgxLjhlYjI0NWNiZWUzYTViOGFjYzdkNDEzMjMxNDBiM2I1cDAsCi0gICAgMHgxLjBwMAotICB9LAotICB7IC8vIEVudHJ5IDEyNzIKLSAgICAtMHgxLjhlYjI0NWNiZWUzYTViOGFjYzdkNDEzMjMxNDBiM2I1cDAsCi0gICAgLTB4MS4wcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjczCi0gICAgMHgxLjhlYjI0NWNiZWUzYTQwMjM1NjEzZTc1NzUwMjBkMzBkcDAsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjc0Ci0gICAgLTB4MS44ZWIyNDVjYmVlM2E0MDIzNTYxM2U3NTc1MDIwZDMwZHAwLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEyNzUKLSAgICAweDEuZmZmZmZmZmZmZmZmZjcyY2VjZTY3NWQxZmNhMzA0ODlwLTEsCi0gICAgMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjc2Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZmNzJjZWNlNjc1ZDFmY2EzMDQ4OXAtMSwKLSAgICAtMHgxLjkyMWZiNTQ0NDJkMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjc3Ci0gICAgMHgxLjAwMDAwMDAwMDAwMDEwcC0xMDIyLAotICAgIDB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI3OAotICAgIC0weDEuMDAwMDAwMDAwMDAwMTBwLTEwMjIsCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAxcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI3OQotICAgIDB4MS5wLTEwMjIsCi0gICAgMHgxLjBwLTEwMjIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjgwCi0gICAgLTB4MS5wLTEwMjIsCi0gICAgLTB4MS4wcC0xMDIyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4MQotICAgIDB4MS5mZmZmZmZmZmZmZmZlMHAtMTAyMywKLSAgICAweDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEyODIKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmUwcC0xMDIzLAotICAgIC0weDEuZmZmZmZmZmZmZmZmZXAtMTAyMwotICB9LAotICB7IC8vIEVudHJ5IDEyODMKLSAgICAweDEuZmZmZmZmZmZmZmZmYzBwLTEwMjMsCi0gICAgMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg0Ci0gICAgLTB4MS5mZmZmZmZmZmZmZmZjMHAtMTAyMywKLSAgICAtMHgxLmZmZmZmZmZmZmZmZmNwLTEwMjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg1Ci0gICAgMHgxLnAtMTA3MywKLSAgICAweDEuMHAtMTA3MwotICB9LAotICB7IC8vIEVudHJ5IDEyODYKLSAgICAtMHgxLnAtMTA3MywKLSAgICAtMHgxLjBwLTEwNzMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg3Ci0gICAgMHgxLnAtMTA3NCwKLSAgICAweDEuMHAtMTA3NAotICB9LAotICB7IC8vIEVudHJ5IDEyODgKLSAgICAtMHgxLnAtMTA3NCwKLSAgICAtMHgxLjBwLTEwNzQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjg5Ci0gICAgMC4wLAotICAgIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDEyOTAKLSAgICAtMC4wLAotICAgIC0wLjAKLSAgfSwKLX07Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwotCi1URVNUKG1hdGhfdGFuLCB0YW5faW50ZWwpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi0gIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZW9mKGdfdGFuX2ludGVsX2RhdGEpL3NpemVvZih0YW5faW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0RPVUJMRV9FUShnX3Rhbl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCB0YW4oZ190YW5faW50ZWxfZGF0YVtpXS5jYWxsX2RhdGEpKSA8PCAiRmFpbGVkIG9uIGVsZW1lbnQgIiA8PCBpOwotICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi19CmRpZmYgLS1naXQgYS90ZXN0cy9tYXRoX3RhbmZfdGVzdC5jcHAgYi90ZXN0cy9tYXRoX3RhbmZfdGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzMTkwNDYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvbWF0aF90YW5mX3Rlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQ1OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi0gKgotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKi8KLQotI2luY2x1ZGUgPG1hdGguaD4KLQotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGZsb2F0IGV4cGVjdGVkOwotICBmbG9hdCBjYWxsX2RhdGE7Ci19IHRhbmZfaW50ZWxfZGF0YV90OwotCi1zdGF0aWMgdGFuZl9pbnRlbF9kYXRhX3QgZ190YW5mX2ludGVsX2RhdGFbXSA9IHsKLSAgeyAvLyBFbnRyeSAwCi0gICAgLTB4MS4wMDAwMDAwMDAwMTU1NTU1NTU1NTU3Nzc3Nzc3Nzc3N3AtMjEsCi0gICAgLTB4MS5wLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMQotICAgIDB4MS4wMDAwMDAwMDAwMTU1NTU1NTU1NTU3Nzc3Nzc3Nzc3N3AtMjEsCi0gICAgMHgxLnAtMjEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyCi0gICAgLTB4MS5wLTE0OSwKLSAgICAtMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMwotICAgIDB4MS5wLTE0OSwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0Ci0gICAgLTB4MS4wMDAwMDIwMDAwMDAwMDAwMDAwMDE1NTU1NWQ1NTU1NnAtNDEsCi0gICAgLTB4MS4wMDAwMDJwLTQxCi0gIH0sCi0gIHsgLy8gRW50cnkgNQotICAgIDB4MS4wMDAwMDIwMDAwMDAwMDAwMDAwMDE1NTU1NWQ1NTU1NnAtNDEsCi0gICAgMHgxLjAwMDAwMnAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2Ci0gICAgLTB4MS5mZmI3ZWIwMDRiN2UxMmIzNjkzODhmYWFhMDM0MmY2Y3AtMywKLSAgICAtMHgxLjI3Y2NhNnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgNwotICAgIDB4MS5mZmI3ZWIwMDRiN2UxMmIzNjkzODhmYWFhMDM0MmY2Y3AtMywKLSAgICAweDEuMjdjY2E2cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4Ci0gICAgLTB4MS4zYjdkZGFmZmRjOWEyZmFkMzlmMzI5NzQzZmJmNDllNXA0LAotICAgIC0weDEuMmE1OTk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5Ci0gICAgMHgxLjNiN2RkYWZmZGM5YTJmYWQzOWYzMjk3NDNmYmY0OWU1cDQsCi0gICAgMHgxLjJhNTk5NnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAKLSAgICAweDEuODE5ZjMyZmZkOTdiMWVkNjY3YmMxNDMzODcwMzdkZGVwLTEsCi0gICAgLTB4MS4zZjdmMjJwMQotICB9LAotICB7IC8vIEVudHJ5IDExCi0gICAgLTB4MS44MTlmMzJmZmQ5N2IxZWQ2NjdiYzE0MzM4NzAzN2RkZXAtMSwKLSAgICAweDEuM2Y3ZjIycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMgotICAgIC0weDEuNDA1ZjkwMDAwMDAwMDAwMDAwMGE3NDAyODQ2NTgzZDBwLTM4LAotICAgIC0weDEuNDA1ZjkwcC0zOAotICB9LAotICB7IC8vIEVudHJ5IDEzCi0gICAgMHgxLjQwNWY5MDAwMDAwMDAwMDAwMDBhNzQwMjg0NjU4M2QwcC0zOCwKLSAgICAweDEuNDA1ZjkwcC0zOAotICB9LAotICB7IC8vIEVudHJ5IDE0Ci0gICAgLTB4MS44Y2Q3OTk5NTM0NGM3OTQzYzdiM2UwMjE2MDdkYTNjYnAtMiwKLSAgICAtMHgxLjQ5NmU4MHA5NgotICB9LAotICB7IC8vIEVudHJ5IDE1Ci0gICAgMHgxLjhjZDc5OTk1MzQ0Yzc5NDNjN2IzZTAyMTYwN2RhM2NicC0yLAotICAgIDB4MS40OTZlODBwOTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNgotICAgIDB4MS5lMTQ0NDcxZWEyYjQ5YjZjMWZkY2VmZjhjY2NlZWE3YnAxMCwKLSAgICAtMHgxLjVmZTBwMwotICB9LAotICB7IC8vIEVudHJ5IDE3Ci0gICAgLTB4MS5lMTQ0NDcxZWEyYjQ5YjZjMWZkY2VmZjhjY2NlZWE3YnAxMCwKLSAgICAweDEuNWZlMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgKLSAgICAtMHgxLmNhMGY0YzIzMTVhYjVhOTcyOWU2YWZhODU3Njc3YjNmcC0xLAotICAgIC0weDEuNzVhZWYwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTkKLSAgICAweDEuY2EwZjRjMjMxNWFiNWE5NzI5ZTZhZmE4NTc2NzdiM2ZwLTEsCi0gICAgMHgxLjc1YWVmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDIwCi0gICAgLTB4MS5jMzNlZDUwYjg4Nzc3NWE1ZDYxM2MwOGM0ODhmYmI5Y3AzLAotICAgIC0weDEuODBwMAotICB9LAotICB7IC8vIEVudHJ5IDIxCi0gICAgMHgxLmMzM2VkNTBiODg3Nzc1YTVkNjEzYzA4YzQ4OGZiYjljcDMsCi0gICAgMHgxLjgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMgotICAgIC0weDEuYzM0NTEzZWU3MTQwZmRiODIxN2U4M2RjMmQ2ZDZmNTNwMywKLSAgICAtMHgxLjgwMDA0MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjMKLSAgICAweDEuYzM0NTEzZWU3MTQwZmRiODIxN2U4M2RjMmQ2ZDZmNTNwMywKLSAgICAweDEuODAwMDQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNAotICAgIDB4MS40ZTZiOGE0ODE2NGI5ZTFkODE3NWU0NTEyYWIyMmZmMXAwLAotICAgIC0weDEuOGUzNTYwcDk4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjUKLSAgICAtMHgxLjRlNmI4YTQ4MTY0YjllMWQ4MTc1ZTQ1MTJhYjIyZmYxcDAsCi0gICAgMHgxLjhlMzU2MHA5OAotICB9LAotICB7IC8vIEVudHJ5IDI2Ci0gICAgLTB4MS5kMDE3ZTAyMTRhOTUzMjY1ZDhkZDVjMGExMWVhNjFkMXAtMSwKLSAgICAtMHgxLjlkZTdkNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcKLSAgICAweDEuZDAxN2UwMjE0YTk1MzI2NWQ4ZGQ1YzBhMTFlYTYxZDFwLTEsCi0gICAgMHgxLjlkZTdkNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjgKLSAgICAtMHgxLmQwNDczZjAyMjcwYzBlZWM4ODNlNzUzZTUwODAwNjcwcC0xLAotICAgIC0weDEuOWRlOGE0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOQotICAgIDB4MS5kMDQ3M2YwMjI3MGMwZWVjODgzZTc1M2U1MDgwMDY3MHAtMSwKLSAgICAweDEuOWRlOGE0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMAotICAgIDB4MS5kMGFhZGEyMmFhNWUzZGMzNWI1MDYzYzYzOTA0N2RmNXAtMSwKLSAgICAtMHgxLmJlN2U1YXA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzEKLSAgICAtMHgxLmQwYWFkYTIyYWE1ZTNkYzM1YjUwNjNjNjM5MDQ3ZGY1cC0xLAotICAgIDB4MS5iZTdlNWFwNQotICB9LAotICB7IC8vIEVudHJ5IDMyCi0gICAgLTB4MS5lZTk0OTUwMDBhMTkwY2RiNmRiM2U4M2QyYzA1ZWYzOHAtMiwKLSAgICAtMHgxLmNjYmViMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDMzCi0gICAgMHgxLmVlOTQ5NTAwMGExOTBjZGI2ZGIzZTgzZDJjMDVlZjM4cC0yLAotICAgIDB4MS5jY2JlYjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNAotICAgIDB4MS5kYzMyZWJhNjM4ZDEzNDU4YzdiMjlkOTZhYmZmZTFjYXAtNywKLSAgICAtMHgxLmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzUKLSAgICAtMHgxLmRjMzJlYmE2MzhkMTM0NThjN2IyOWQ5NmFiZmZlMWNhcC03LAotICAgIDB4MS5mZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDM2Ci0gICAgMHgxLjAwMDAwMDAwMDAxNTU1NTU1NTU1NTc3Nzc3Nzc3Nzc3cC0yMSwKLSAgICAweDEucC0yMQotICB9LAotICB7IC8vIEVudHJ5IDM3Ci0gICAgLTB4MS4wMDAwMDAwMDAwMTU1NTU1NTU1NTU3Nzc3Nzc3Nzc3N3AtMjEsCi0gICAgLTB4MS5wLTIxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzgKLSAgICAweDEucC0xMzEsCi0gICAgMHgxLnAtMTMxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzkKLSAgICAtMHgxLnAtMTMxLAotICAgIC0weDEucC0xMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MAotICAgIDB4MS5wLTE0OSwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MQotICAgIC0weDEucC0xNDksCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDQyCi0gICAgMHgxLjUyZjUwZTc1Nzk0MWNiZmY1YjdjMmUwNmExYWI3ZTlkcDYsCi0gICAgMHgxLnA2MwotICB9LAotICB7IC8vIEVudHJ5IDQzCi0gICAgLTB4MS41MmY1MGU3NTc5NDFjYmZmNWI3YzJlMDZhMWFiN2U5ZHA2LAotICAgIC0weDEucDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQKLSAgICAweDEuMDAwMDAyMDAwMDAwMDAwMDAwMDAxNTU1NTVkNTU1NTZwLTQxLAotICAgIDB4MS4wMDAwMDJwLTQxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUKLSAgICAtMHgxLjAwMDAwMjAwMDAwMDAwMDAwMDAwMTU1NTU1ZDU1NTU2cC00MSwKLSAgICAtMHgxLjAwMDAwMnAtNDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NgotICAgIC0weDEuYWRiN2ViNmQ4Y2ViYmUzNjJmMTk3ZGJlZGE1YzExM2NwLTEsCi0gICAgMHgxLjAwMDAwMnA1MQotICB9LAotICB7IC8vIEVudHJ5IDQ3Ci0gICAgMHgxLmFkYjdlYjZkOGNlYmJlMzYyZjE5N2RiZWRhNWMxMTNjcC0xLAotICAgIC0weDEuMDAwMDAycDUxCi0gIH0sCi0gIHsgLy8gRW50cnkgNDgKLSAgICAweDEuZjc3NjJiNzUyYjAwNjcxNWQ5MGMzODlhMTE4MjZkNmJwMSwKLSAgICAweDEuMDAwMDA0cDEyNwotICB9LAotICB7IC8vIEVudHJ5IDQ5Ci0gICAgLTB4MS5mNzc2MmI3NTJiMDA2NzE1ZDkwYzM4OWExMTgyNmQ2YnAxLAotICAgIC0weDEuMDAwMDA0cDEyNwotICB9LAotICB7IC8vIEVudHJ5IDUwCi0gICAgLTB4MS4wOWNmZjEwMDAwNjcxOTEyYzg0NzYyZjE4YzI4NTQ3MHAwLAotICAgIDB4MS4wMDAwOTBwNwotICB9LAotICB7IC8vIEVudHJ5IDUxCi0gICAgMHgxLjA5Y2ZmMTAwMDA2NzE5MTJjODQ3NjJmMThjMjg1NDcwcDAsCi0gICAgLTB4MS4wMDAwOTBwNwotICB9LAotICB7IC8vIEVudHJ5IDUyCi0gICAgMHgxLjAxNTkwMTAxN2VkYjY3YWE3ZTUyYWU2OTRlOTkwYTE5cC0zLAotICAgIDB4MS4wMDAxODBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MwotICAgIC0weDEuMDE1OTAxMDE3ZWRiNjdhYTdlNTJhZTY5NGU5OTBhMTlwLTMsCi0gICAgLTB4MS4wMDAxODBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NAotICAgIDB4MS4wMDAyMjAwMDAwMDAwMDAwMDAwMDU1NTc3NTU5ZDk1OHAtNDAsCi0gICAgMHgxLjAwMDIyMHAtNDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NQotICAgIC0weDEuMDAwMjIwMDAwMDAwMDAwMDAwMDA1NTU3NzU1OWQ5NThwLTQwLAotICAgIC0weDEuMDAwMjIwcC00MAotICB9LAotICB7IC8vIEVudHJ5IDU2Ci0gICAgMHgxLjZkNTM3OTZjZGQ0MDFlM2RkYzA5ZTgzNWI4ZWE2NjBhcDMsCi0gICAgMHgxLjAwMDM4MHAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NwotICAgIC0weDEuNmQ1Mzc5NmNkZDQwMWUzZGRjMDllODM1YjhlYTY2MGFwMywKLSAgICAtMHgxLjAwMDM4MHAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OAotICAgIC0weDEuYjA3MGUzYTY5Njg0NjNhZjZlOWRiOTIyZTc4NDU1MjRwLTcsCi0gICAgMHgxLjAwMDg4MHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNTkKLSAgICAweDEuYjA3MGUzYTY5Njg0NjNhZjZlOWRiOTIyZTc4NDU1MjRwLTcsCi0gICAgLTB4MS4wMDA4ODBwOQotICB9LAotICB7IC8vIEVudHJ5IDYwCi0gICAgLTB4MS5mYTYxZGNmZmEzZWZlMzI1YjMyNzA0ZmM0MTI0NjJjZnAxLAotICAgIDB4MS4wMDIwcDYyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEKLSAgICAweDEuZmE2MWRjZmZhM2VmZTMyNWIzMjcwNGZjNDEyNDYyY2ZwMSwKLSAgICAtMHgxLjAwMjBwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MgotICAgIDB4MS5mZmZkODI1YTNmMzc3ZjAxMjIwOTk4MmEwMGMzNDZmMHAtMiwKLSAgICAweDEuMDA2MHA5MAotICB9LAotICB7IC8vIEVudHJ5IDYzCi0gICAgLTB4MS5mZmZkODI1YTNmMzc3ZjAxMjIwOTk4MmEwMGMzNDZmMHAtMiwKLSAgICAtMHgxLjAwNjBwOTAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NAotICAgIDB4MS4wMTNjNjhmZmYwNGI2OTgxNjVkZmRmOWQ0ODQ0NGE5NXAtNiwKLSAgICAweDEuMDEzN3AtNgotICB9LAotICB7IC8vIEVudHJ5IDY1Ci0gICAgLTB4MS4wMTNjNjhmZmYwNGI2OTgxNjVkZmRmOWQ0ODQ0NGE5NXAtNiwKLSAgICAtMHgxLjAxMzdwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NgotICAgIDB4MS45MzJjOTk0ZjYxZDgwNGEwODRmMjBkOTc1YTYxN2M1MHAwLAotICAgIDB4MS4wMTRjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NwotICAgIC0weDEuOTMyYzk5NGY2MWQ4MDRhMDg0ZjIwZDk3NWE2MTdjNTBwMCwKLSAgICAtMHgxLjAxNGNwMAotICB9LAotICB7IC8vIEVudHJ5IDY4Ci0gICAgLTB4MS5jMzRlYzIwNTMzZTc2MDU2NWNiNzYyYjE1YzE4ZDZmY3AxLAotICAgIDB4MS4wMjA0NDZwNTgKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OQotICAgIDB4MS5jMzRlYzIwNTMzZTc2MDU2NWNiNzYyYjE1YzE4ZDZmY3AxLAotICAgIC0weDEuMDIwNDQ2cDU4Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzAKLSAgICAweDEuOWZmNzE3NjdlYTA1MWU0ZTljYzAwMDg5MjJiMTExMjlwMCwKLSAgICAweDEuMDRlNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzEKLSAgICAtMHgxLjlmZjcxNzY3ZWEwNTFlNGU5Y2MwMDA4OTIyYjExMTI5cDAsCi0gICAgLTB4MS4wNGU0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MgotICAgIDB4MS4wN2M5YzUwMDE2NTkwNzk3MjJmOGU5MTkwZmZlNmVjNnAtMywKLSAgICAweDEuMDY1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDczCi0gICAgLTB4MS4wN2M5YzUwMDE2NTkwNzk3MjJmOGU5MTkwZmZlNmVjNnAtMywKLSAgICAtMHgxLjA2NThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NAotICAgIDB4MS5mZDYxMTA3MmE1MDM1N2U2MjY2NzY4YjJjZGYwMTk0Y3AtMywKLSAgICAweDEuMGFjNzEwcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDc1Ci0gICAgLTB4MS5mZDYxMTA3MmE1MDM1N2U2MjY2NzY4YjJjZGYwMTk0Y3AtMywKLSAgICAtMHgxLjBhYzcxMHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NgotICAgIDB4MS4wZGRiYjUwMDAyNDRjNGZiOTcyZWI3MmRlMDA4OTZjMHAtMywKLSAgICAweDEuMGM1MHAtMwotICB9LAotICB7IC8vIEVudHJ5IDc3Ci0gICAgLTB4MS4wZGRiYjUwMDAyNDRjNGZiOTcyZWI3MmRlMDA4OTZjMHAtMywKLSAgICAtMHgxLjBjNTBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OAotICAgIC0weDEuYzBhZWI1Zjg0YmU5NWRhNWFiMDcxNmRmYmEyMDVlMjhwMiwKLSAgICAweDEuMGRkY3A5NgotICB9LAotICB7IC8vIEVudHJ5IDc5Ci0gICAgMHgxLmMwYWViNWY4NGJlOTVkYTVhYjA3MTZkZmJhMjA1ZTI4cDIsCi0gICAgLTB4MS4wZGRjcDk2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODAKLSAgICAweDEuMzQwNzU0ZmZmZmZlYjc4MDc2MWU4NjMzN2YwYzU1ZWZwMSwKLSAgICAweDEuMGUyOGE2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MQotICAgIC0weDEuMzQwNzU0ZmZmZmZlYjc4MDc2MWU4NjMzN2YwYzU1ZWZwMSwKLSAgICAtMHgxLjBlMjhhNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODIKLSAgICAweDEuMzQ5ZDk1ZmZlZTQ3MmVjN2MxMDkzNDU3MGQzYmE0ODZwLTEsCi0gICAgMHgxLjE1YmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MwotICAgIC0weDEuMzQ5ZDk1ZmZlZTQ3MmVjN2MxMDkzNDU3MGQzYmE0ODZwLTEsCi0gICAgLTB4MS4xNWJjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgODQKLSAgICAweDEuZWVjNzI0MDNhNGZkMjRkMGM5ZTJhZjA4OGEwNWZiODVwMCwKLSAgICAweDEuMTdlNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODUKLSAgICAtMHgxLmVlYzcyNDAzYTRmZDI0ZDBjOWUyYWYwODhhMDVmYjg1cDAsCi0gICAgLTB4MS4xN2U0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NgotICAgIDB4MS5lZjRiZDdhMjE1MjM3YjMwNjVkNTY5ZmQ0YzVmNWE0N3AwLAotICAgIDB4MS4xOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODcKLSAgICAtMHgxLmVmNGJkN2EyMTUyMzdiMzA2NWQ1NjlmZDRjNWY1YTQ3cDAsCi0gICAgLTB4MS4xOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgODgKLSAgICAtMHgxLmZlNzkzOTAwMTM4Yzk5NDE4MzZiNGZjYmM5YjIyNjBkcC00LAotICAgIDB4MS4xOHA2NAotICB9LAotICB7IC8vIEVudHJ5IDg5Ci0gICAgMHgxLmZlNzkzOTAwMTM4Yzk5NDE4MzZiNGZjYmM5YjIyNjBkcC00LAotICAgIC0weDEuMThwNjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MAotICAgIDB4MS5mMDhmMDg3M2M1ODE5YTlmN2NjNmJiZjNjNTI5MWNjMHAwLAotICAgIDB4MS4xODQ0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MQotICAgIC0weDEuZjA4ZjA4NzNjNTgxOWE5ZjdjYzZiYmYzYzUyOTFjYzBwMCwKLSAgICAtMHgxLjE4NDRwMAotICB9LAotICB7IC8vIEVudHJ5IDkyCi0gICAgMHgxLjVjNTFjYzE4ZjA5MWJjNGI1NGVlODM2MjM0MzhjOWE3cDExLAotICAgIDB4MS4xOGZmZmVwMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MwotICAgIC0weDEuNWM1MWNjMThmMDkxYmM0YjU0ZWU4MzYyMzQzOGM5YTdwMTEsCi0gICAgLTB4MS4xOGZmZmVwMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NAotICAgIDB4MS4yNjMzNTY3ODk4ZTY5MWVlYjg3YWQwMjZiZDE2YTdlNHAtMiwKLSAgICAweDEuMWU3Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDk1Ci0gICAgLTB4MS4yNjMzNTY3ODk4ZTY5MWVlYjg3YWQwMjZiZDE2YTdlNHAtMiwKLSAgICAtMHgxLjFlN2NwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NgotICAgIDB4MS5mZmZmZWRmNTU4YmZiMzEwMGY2MTEyNWYyOTZiOGJhZHAxLAotICAgIDB4MS4xZWJlcDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTcKLSAgICAtMHgxLmZmZmZlZGY1NThiZmIzMTAwZjYxMTI1ZjI5NmI4YmFkcDEsCi0gICAgLTB4MS4xZWJlcDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTgKLSAgICAweDEuMGU1NTFiMDAwMDdmYWUxNzIzNjQyMWE3NmU4NjFjNzVwMSwKLSAgICAweDEuMjBlYTljcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OQotICAgIC0weDEuMGU1NTFiMDAwMDdmYWUxNzIzNjQyMWE3NmU4NjFjNzVwMSwKLSAgICAtMHgxLjIwZWE5Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwCi0gICAgMHgxLmMwN2RmYjA1NTJiYTYwYjcxYzdkZjZiZDdjYTQwOWQ2cDIwLAotICAgIDB4MS4yMTA2Y2FwNQotICB9LAotICB7IC8vIEVudHJ5IDEwMQotICAgIC0weDEuYzA3ZGZiMDU1MmJhNjBiNzFjN2RmNmJkN2NhNDA5ZDZwMjAsCi0gICAgLTB4MS4yMTA2Y2FwNQotICB9LAotICB7IC8vIEVudHJ5IDEwMgotICAgIC0weDEuZmQyM2ZkNjRhNGJmY2ZiNTk3YzQ2OTMzNjQ5ZjVhZTJwLTIsCi0gICAgMHgxLjIxOWRjNnAxMTkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMKLSAgICAweDEuZmQyM2ZkNjRhNGJmY2ZiNTk3YzQ2OTMzNjQ5ZjVhZTJwLTIsCi0gICAgLTB4MS4yMTlkYzZwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0Ci0gICAgLTB4MS5iOTNjMTMwMDBkMDE2ZDE0ZTc1NmMyNWU0MjMwMmQ5ZnAtMywKLSAgICAweDEuMjZjZDZhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUKLSAgICAweDEuYjkzYzEzMDAwZDAxNmQxNGU3NTZjMjVlNDIzMDJkOWZwLTMsCi0gICAgLTB4MS4yNmNkNmFwMwotICB9LAotICB7IC8vIEVudHJ5IDEwNgotICAgIC0weDEuZWJjYmNiMTM4YjI3NGNiY2JlNjFhZjUxMTNkYTgzZWNwLTQsCi0gICAgMHgxLjI5YzRlMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3Ci0gICAgMHgxLmViY2JjYjEzOGIyNzRjYmNiZTYxYWY1MTEzZGE4M2VjcC00LAotICAgIC0weDEuMjljNGUwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDgKLSAgICAweDEuOTliYzViOTYxYjFiMjRmZGI3N2ZjZWUwOGJhMmY3MjBwLTI1LAotICAgIDB4MS4yZDk3YzhwNAotICB9LAotICB7IC8vIEVudHJ5IDEwOQotICAgIC0weDEuOTliYzViOTYxYjFiMjRmZGI3N2ZjZWUwOGJhMmY3MjBwLTI1LAotICAgIC0weDEuMmQ5N2M4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAKLSAgICAtMHgxLmVkMThhZjBiMGJhODBkZmE2ZThlZTFiM2IzMWRmYzYwcC0xLAotICAgIDB4MS4zMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTExCi0gICAgMHgxLmVkMThhZjBiMGJhODBkZmE2ZThlZTFiM2IzMWRmYzYwcC0xLAotICAgIC0weDEuMzBwMQotICB9LAotICB7IC8vIEVudHJ5IDExMgotICAgIDB4MS45YWIyNDExMWNmYzYyZGY0ZGJjYTMyMDIxNmI5NDY1MXAtNCwKLSAgICAweDEuMzBjYTcwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTMKLSAgICAtMHgxLjlhYjI0MTExY2ZjNjJkZjRkYmNhMzIwMjE2Yjk0NjUxcC00LAotICAgIC0weDEuMzBjYTcwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTQKLSAgICAweDEuMzM3ZDhmZmZmZmZlZGU2MmYwNTBlOThiM2I5NTk2ZTFwLTMsCi0gICAgMHgxLjMxMzVmMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDExNQotICAgIC0weDEuMzM3ZDhmZmZmZmZlZGU2MmYwNTBlOThiM2I5NTk2ZTFwLTMsCi0gICAgLTB4MS4zMTM1ZjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTYKLSAgICAweDEuMzQ4ZTY1MDAwMDAwMmVmM2E3NjViOTQxNmQxMmNmN2VwLTMsCi0gICAgMHgxLjMyNDBiY3AtMwotICB9LAotICB7IC8vIEVudHJ5IDExNwotICAgIC0weDEuMzQ4ZTY1MDAwMDAwMmVmM2E3NjViOTQxNmQxMmNmN2VwLTMsCi0gICAgLTB4MS4zMjQwYmNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTgKLSAgICAtMHgxLmI5ZTU4YWVjNjFhNDRhYjUzM2MyYjgzNzI2MzY3ZTE3cC04LAotICAgIDB4MS4zMmQ1M2NwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTkKLSAgICAweDEuYjllNThhZWM2MWE0NGFiNTMzYzJiODM3MjYzNjdlMTdwLTgsCi0gICAgLTB4MS4zMmQ1M2NwMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjAKLSAgICAtMHgxLmUxZmQ2OGVkZWE0NGZiNzg3ODBlZDYyZTczYzZlMDE3cC02LAotICAgIDB4MS4zYTBhYThwNgotICB9LAotICB7IC8vIEVudHJ5IDEyMQotICAgIDB4MS5lMWZkNjhlZGVhNDRmYjc4NzgwZWQ2MmU3M2M2ZTAxN3AtNiwKLSAgICAtMHgxLjNhMGFhOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTIyCi0gICAgLTB4MS42MmEyODEwMDAwMTM5MzA4MGY2NzMzZGZhZjljNzZmY3AtMSwKLSAgICAweDEuNDQ5NWJhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjMKLSAgICAweDEuNjJhMjgxMDAwMDEzOTMwODBmNjczM2RmYWY5Yzc2ZmNwLTEsCi0gICAgLTB4MS40NDk1YmFwMQotICB9LAotICB7IC8vIEVudHJ5IDEyNAotICAgIDB4MS5iOTIzYzNiYTBiYzBjNTAwYmE0YzI0NTMwMWJhZDIwN3AxLAotICAgIDB4MS40OWQ0MmFwMAotICB9LAotICB7IC8vIEVudHJ5IDEyNQotICAgIC0weDEuYjkyM2MzYmEwYmMwYzUwMGJhNGMyNDUzMDFiYWQyMDdwMSwKLSAgICAtMHgxLjQ5ZDQyYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI2Ci0gICAgMHgxLjU0MWYzZjAwMDIyYWMyNWNjOGE5MDg1NWFiNmJiODA4cC0zLAotICAgIDB4MS41MTBiYmNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMjcKLSAgICAtMHgxLjU0MWYzZjAwMDIyYWMyNWNjOGE5MDg1NWFiNmJiODA4cC0zLAotICAgIC0weDEuNTEwYmJjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI4Ci0gICAgMHgxLjc2ZjNlZmZmZmYzMDU3MTIyZTZlN2NlNTBkMTJjYmNlcC0zLAotICAgIDB4MS41NDk1MjBwMTAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTI5Ci0gICAgLTB4MS43NmYzZWZmZmZmMzA1NzEyMmU2ZTdjZTUwZDEyY2JjZXAtMywKLSAgICAtMHgxLjU0OTUyMHAxMDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzAKLSAgICAweDEuNGNhYzAzMDA2NDNlMTJjNDYyMDNiNDdkM2VlZWQ0ZmZwLTksCi0gICAgMHgxLjU0YzRiYXAyNAotICB9LAotICB7IC8vIEVudHJ5IDEzMQotICAgIC0weDEuNGNhYzAzMDA2NDNlMTJjNDYyMDNiNDdkM2VlZWQ0ZmZwLTksCi0gICAgLTB4MS41NGM0YmFwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzIKLSAgICAtMHgxLjcwZDU0NTAwMDAwNTg5NzRjMjBiOTdiYTk2ZmRhZTAzcC0zLAotICAgIDB4MS41YTc1N2VwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzMKLSAgICAweDEuNzBkNTQ1MDAwMDA1ODk3NGMyMGI5N2JhOTZmZGFlMDNwLTMsCi0gICAgLTB4MS41YTc1N2VwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzQKLSAgICAtMHgxLmZmZmZlOWJiYTdmMTMyMWZhZTE5Mjk0M2EzZTg0OGMwcC0xLAotICAgIDB4MS41ZmRiYzBwMgotICB9LAotICB7IC8vIEVudHJ5IDEzNQotICAgIDB4MS5mZmZmZTliYmE3ZjEzMjFmYWUxOTI5NDNhM2U4NDhjMHAtMSwKLSAgICAtMHgxLjVmZGJjMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTM2Ci0gICAgLTB4MS5mZmI2OGYwMDUwZGFiZTVjZTcxOTIwMjYxMGZjYWMyZXAtMSwKLSAgICAweDEuNWZlMDU2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMzcKLSAgICAweDEuZmZiNjhmMDA1MGRhYmU1Y2U3MTkyMDI2MTBmY2FjMmVwLTEsCi0gICAgLTB4MS41ZmUwNTZwMgotICB9LAotICB7IC8vIEVudHJ5IDEzOAotICAgIC0weDEuZGFiYjQ2ZTM5MzdlNmM1MDVhYjIwNjIyMzIzMzlhMTZwLTcsCi0gICAgMHgxLjY0OTNkNHA5NQotICB9LAotICB7IC8vIEVudHJ5IDEzOQotICAgIDB4MS5kYWJiNDZlMzkzN2U2YzUwNWFiMjA2MjIzMjMzOWExNnAtNywKLSAgICAtMHgxLjY0OTNkNHA5NQotICB9LAotICB7IC8vIEVudHJ5IDE0MAotICAgIDB4MS5jODMyMTYyNDgxZTFjZTRmMDE3MzZiYjk3YTMwMTliOXAtMSwKLSAgICAweDEuNzRhNTY2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQxCi0gICAgLTB4MS5jODMyMTYyNDgxZTFjZTRmMDE3MzZiYjk3YTMwMTliOXAtMSwKLSAgICAtMHgxLjc0YTU2NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDE0MgotICAgIDB4MS43YjJmYTQwMDAwMDM4ZDU2OTIyNjUxMmM3Nzk3NmZmNXAtMywKLSAgICAweDEuNzZmMGIycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQzCi0gICAgLTB4MS43YjJmYTQwMDAwMDM4ZDU2OTIyNjUxMmM3Nzk3NmZmNXAtMywKLSAgICAtMHgxLjc2ZjBiMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDE0NAotICAgIC0weDEuNGYzNzVhZDlkZWU1ZmQ2MDRmYjI5NDM1ZjMyZWZlNTdwMSwKLSAgICAweDEuNzhiM2ZhcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDE0NQotICAgIDB4MS40ZjM3NWFkOWRlZTVmZDYwNGZiMjk0MzVmMzJlZmU1N3AxLAotICAgIC0weDEuNzhiM2ZhcDEwMAotICB9LAotICB7IC8vIEVudHJ5IDE0NgotICAgIC0weDEuMDAwMDVlZmZmYmU3M2U3YmFmZWFiN2Y3NmM4YTkzZWZwMCwKLSAgICAweDEuNzhmZGI0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNDcKLSAgICAweDEuMDAwMDVlZmZmYmU3M2U3YmFmZWFiN2Y3NmM4YTkzZWZwMCwKLSAgICAtMHgxLjc4ZmRiNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ4Ci0gICAgLTB4MS5mYzNhY2UwMDAwMjljMzMxNjkyYWE5ZmU0ZTQyZjAwNHAtMSwKLSAgICAweDEuNzkxY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTQ5Ci0gICAgMHgxLmZjM2FjZTAwMDAyOWMzMzE2OTJhYTlmZTRlNDJmMDA0cC0xLAotICAgIC0weDEuNzkxY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUwCi0gICAgMHgxLmRjZmEzMjU0YjUzYjZhNzBjZWM0NDczYWJlODUwMTAycC0xLAotICAgIDB4MS43ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTEKLSAgICAtMHgxLmRjZmEzMjU0YjUzYjZhNzBjZWM0NDczYWJlODUwMTAycC0xLAotICAgIC0weDEuN2ZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTUyCi0gICAgMHgxLmMzM2VkNTBiODg3Nzc1YTVkNjEzYzA4YzQ4OGZiYjljcDMsCi0gICAgMHgxLjgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTMKLSAgICAtMHgxLmMzM2VkNTBiODg3Nzc1YTVkNjEzYzA4YzQ4OGZiYjljcDMsCi0gICAgLTB4MS44MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU0Ci0gICAgMHgxLjgwMDhwLTEzMCwKLSAgICAweDEuODAwOHAtMTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU1Ci0gICAgLTB4MS44MDA4cC0xMzAsCi0gICAgLTB4MS44MDA4cC0xMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNTYKLSAgICAtMHgxLmY5NjM3MGVjNDgyZDJiYjBlYjhlYTdhNTMwMTM5ZmNmcC01LAotICAgIDB4MS44MTgwcDgzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTU3Ci0gICAgMHgxLmY5NjM3MGVjNDgyZDJiYjBlYjhlYTdhNTMwMTM5ZmNmcC01LAotICAgIC0weDEuODE4MHA4MwotICB9LAotICB7IC8vIEVudHJ5IDE1OAotICAgIC0weDEuZmZmNjY0ZmFhNmY4NmZhOGI0ZTVlMjcxOWQyMTk1Y2ZwLTEsCi0gICAgMHgxLjg5ZTA5MHA5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTU5Ci0gICAgMHgxLmZmZjY2NGZhYTZmODZmYThiNGU1ZTI3MTlkMjE5NWNmcC0xLAotICAgIC0weDEuODllMDkwcDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjAKLSAgICAweDEuMWMwNTExMDE2NDNiZTc0MDc4MmZlMGRmYzlkY2QxY2NwMCwKLSAgICAweDEuOGM2MzFlcDE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYxCi0gICAgLTB4MS4xYzA1MTEwMTY0M2JlNzQwNzgyZmUwZGZjOWRjZDFjY3AwLAotICAgIC0weDEuOGM2MzFlcDE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYyCi0gICAgMHgxLmJiMmU4OGYyNmI5MzYzZjlhODUyNjY1ZjM0MTNkOTk0cDEzLAotICAgIDB4MS44YzY3ZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTYzCi0gICAgLTB4MS5iYjJlODhmMjZiOTM2M2Y5YTg1MjY2NWYzNDEzZDk5NHAxMywKLSAgICAtMHgxLjhjNjdmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjQKLSAgICAtMHgxLmYwZTRlYzEzMzU4NWNiMzBlNjdjZmNiYjM2ZmFhZDhlcDEsCi0gICAgMHgxLjkxZDg1OHAxMgotICB9LAotICB7IC8vIEVudHJ5IDE2NQotICAgIDB4MS5mMGU0ZWMxMzM1ODVjYjMwZTY3Y2ZjYmIzNmZhYWQ4ZXAxLAotICAgIC0weDEuOTFkODU4cDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTY2Ci0gICAgLTB4MS41ZDE0OTQ2ZGM5ODk3NWQ2NDIxYTU1Mjg0ZmUwMjBhMXAyNCwKLSAgICAweDEuOTIxZmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNjcKLSAgICAweDEuNWQxNDk0NmRjOTg5NzVkNjQyMWE1NTI4NGZlMDIwYTFwMjQsCi0gICAgLTB4MS45MjFmYjZwMAotICB9LAotICB7IC8vIEVudHJ5IDE2OAotICAgIDB4MS45ODBlZTBjZmJmMGYxZWJjOWQ0ZmQyNGNjZTNjZGZlN3AxNSwKLSAgICAweDEuOTIyOTIycDE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTY5Ci0gICAgLTB4MS45ODBlZTBjZmJmMGYxZWJjOWQ0ZmQyNGNjZTNjZGZlN3AxNSwKLSAgICAtMHgxLjkyMjkyMnAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3MAotICAgIC0weDEuZmQ0M2Y4ZTg5MWUyMjdkZGFkMmZiMmU1NTIwZDRmZjJwLTEsCi0gICAgMHgxLjkyMzBmZXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3MQotICAgIDB4MS5mZDQzZjhlODkxZTIyN2RkYWQyZmIyZTU1MjBkNGZmMnAtMSwKLSAgICAtMHgxLjkyMzBmZXAxNQotICB9LAotICB7IC8vIEVudHJ5IDE3MgotICAgIDB4MS5jZjM4ZjYyMTJlN2U2Mjc2ZjRhZGQ1NDg3OGYxYTdkYnAtMSwKLSAgICAweDEuOTUxMGM4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzMKLSAgICAtMHgxLmNmMzhmNjIxMmU3ZTYyNzZmNGFkZDU0ODc4ZjFhN2RicC0xLAotICAgIC0weDEuOTUxMGM4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxNzQKLSAgICAweDEuZDAzZDQ1MDI0YzNjYTRhMmM0ZTFhOTE4NTYxMzUwNDZwLTEsCi0gICAgMHgxLjk1MTFlNnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTc1Ci0gICAgLTB4MS5kMDNkNDUwMjRjM2NhNGEyYzRlMWE5MTg1NjEzNTA0NnAtMSwKLSAgICAtMHgxLjk1MTFlNnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTc2Ci0gICAgMHgxLjA1NTRlYjVjYmQzOTNlNGYwNzcwYzg2NTI4ZjM5ZWUxcDE3LAotICAgIDB4MS45NzlmMjRwOQotICB9LAotICB7IC8vIEVudHJ5IDE3NwotICAgIC0weDEuMDU1NGViNWNiZDM5M2U0ZjA3NzBjODY1MjhmMzllZTFwMTcsCi0gICAgLTB4MS45NzlmMjRwOQotICB9LAotICB7IC8vIEVudHJ5IDE3OAotICAgIDB4MS5mYWQ1ZGY5M2RlMzA1MWNmMDE4YWIzMmMwYjMyMzU3MXAtMSwKLSAgICAweDEuYTFlODYycDExOQotICB9LAotICB7IC8vIEVudHJ5IDE3OQotICAgIC0weDEuZmFkNWRmOTNkZTMwNTFjZjAxOGFiMzJjMGIzMjM1NzFwLTEsCi0gICAgLTB4MS5hMWU4NjJwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTgwCi0gICAgMHgxLmZmOTgxYjE1MzRmNzgwMTZiZWE0ZDk1ODgyNTRlOTk2cDMsCi0gICAgMHgxLmFkMWZwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODEKLSAgICAtMHgxLmZmOTgxYjE1MzRmNzgwMTZiZWE0ZDk1ODgyNTRlOTk2cDMsCi0gICAgLTB4MS5hZDFmcDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgMTgyCi0gICAgLTB4MS5mZmY0YTFkYjFlMWUzOGM0MzhkZGQzOGJiOTRmNmQzMXAxLAotICAgIDB4MS5hZGEzZGFwMzkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODMKLSAgICAweDEuZmZmNGExZGIxZTFlMzhjNDM4ZGRkMzhiYjk0ZjZkMzFwMSwKLSAgICAtMHgxLmFkYTNkYXAzOQotICB9LAotICB7IC8vIEVudHJ5IDE4NAotICAgIDB4MS5kMDE1MjkwMjNkOTUxMzkwMjAwYTQyNTJmMDM4YjRhZnAtMSwKLSAgICAweDEuYjEyNWJhcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODUKLSAgICAtMHgxLmQwMTUyOTAyM2Q5NTEzOTAyMDBhNDI1MmYwMzhiNGFmcC0xLAotICAgIC0weDEuYjEyNWJhcDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODYKLSAgICAweDEuZDY3ZmExMDVmNzY4Njg2MTJjODRmNzRhMWYzOGYwYWNwLTIsCi0gICAgMHgxLmI5MGEwMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDE4NwotICAgIC0weDEuZDY3ZmExMDVmNzY4Njg2MTJjODRmNzRhMWYzOGYwYWNwLTIsCi0gICAgLTB4MS5iOTBhMDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODgKLSAgICAweDEuOTk2NjNkYTk0ZGJkNTcxOTljYjhlM2RhZTcwMTgzNThwLTIzLAotICAgIDB4MS5iZWVlZWVwODAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxODkKLSAgICAtMHgxLjk5NjYzZGE5NGRiZDU3MTk5Y2I4ZTNkYWU3MDE4MzU4cC0yMywKLSAgICAtMHgxLmJlZWVlZXA4MAotICB9LAotICB7IC8vIEVudHJ5IDE5MAotICAgIDB4MS5lYjk2NTcxZWI5ZGExMzM3ZTcwM2NjMjBlNDFlOTcxOXAtMTMsCi0gICAgMHgxLmMzYWJmMHAyNAotICB9LAotICB7IC8vIEVudHJ5IDE5MQotICAgIC0weDEuZWI5NjU3MWViOWRhMTMzN2U3MDNjYzIwZTQxZTk3MTlwLTEzLAotICAgIC0weDEuYzNhYmYwcDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTkyCi0gICAgMHgxLmUxOThjNDhiZWY5NTQxNTFlZTA3NTgxNWQ4NWM1MzYzcDAsCi0gICAgMHgxLmM3MWM3NHAxMTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxOTMKLSAgICAtMHgxLmUxOThjNDhiZWY5NTQxNTFlZTA3NTgxNWQ4NWM1MzYzcDAsCi0gICAgLTB4MS5jNzFjNzRwMTE2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk0Ci0gICAgLTB4MS5lNTBlNTI0NjEwNzI4Y2ZiMjM5Y2M2MzA1YjIxMmZkNnAtMSwKLSAgICAweDEuY2MzMjUycDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk1Ci0gICAgMHgxLmU1MGU1MjQ2MTA3MjhjZmIyMzljYzYzMDViMjEyZmQ2cC0xLAotICAgIC0weDEuY2MzMjUycDE4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk2Ci0gICAgLTB4MS42YTY5ZTdiYjIxYjUyMDMwOTY0YmMyMWNlZDA3N2M3MXAxOSwKLSAgICAweDEuZDM4YTJhcDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk3Ci0gICAgMHgxLjZhNjllN2JiMjFiNTIwMzA5NjRiYzIxY2VkMDc3YzcxcDE5LAotICAgIC0weDEuZDM4YTJhcDE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTk4Ci0gICAgMHgxLjY1MjliZjgxYjk1OGNhNzgxY2RhYWM3Y2VjNmU2MzZlcDAsCi0gICAgMHgxLmRmMDY0OHAyNAotICB9LAotICB7IC8vIEVudHJ5IDE5OQotICAgIC0weDEuNjUyOWJmODFiOTU4Y2E3ODFjZGFhYzdjZWM2ZTYzNmVwMCwKLSAgICAtMHgxLmRmMDY0OHAyNAotICB9LAotICB7IC8vIEVudHJ5IDIwMAotICAgIDB4MS42NTllNDNiNDMxNWYyMWJhNWU3MDQ4YjFkOGQ3ODE1Y3AwLAotICAgIDB4MS5kZjIyMDRwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDEKLSAgICAtMHgxLjY1OWU0M2I0MzE1ZjIxYmE1ZTcwNDhiMWQ4ZDc4MTVjcDAsCi0gICAgLTB4MS5kZjIyMDRwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDIKLSAgICAtMHgxLjcxYTU4MGZmYzRlMTY3YWUwZWY4YjAyZDVkMjdjOTlkcC0xLAotICAgIDB4MS5kZjM0cDI0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjAzCi0gICAgMHgxLjcxYTU4MGZmYzRlMTY3YWUwZWY4YjAyZDVkMjdjOTlkcC0xLAotICAgIC0weDEuZGYzNHAyNAotICB9LAotICB7IC8vIEVudHJ5IDIwNAotICAgIDB4MS5lY2YxMTkwMDAwMTdhMmNhZWY0MjkwYjRkNmM2Mzc4NXAtNCwKLSAgICAweDEuZWE5NTFhcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjA1Ci0gICAgLTB4MS5lY2YxMTkwMDAwMTdhMmNhZWY0MjkwYjRkNmM2Mzc4NXAtNCwKLSAgICAtMHgxLmVhOTUxYXAtNAotICB9LAotICB7IC8vIEVudHJ5IDIwNgotICAgIDB4MS5jY2Q1NTgyMWZhZDY5NzU1YzJkODI0YmUyYmZkNGM2NHAtMSwKLSAgICAweDEuZWZlZGM2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDcKLSAgICAtMHgxLmNjZDU1ODIxZmFkNjk3NTVjMmQ4MjRiZTJiZmQ0YzY0cC0xLAotICAgIC0weDEuZWZlZGM2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMDgKLSAgICAweDEuZDY5ODFlZmZmZmYyNTQ5NjM0Njg2YTI0ZGZkYTc3Y2VwLTEsCi0gICAgMHgxLmYxNDNhMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjA5Ci0gICAgLTB4MS5kNjk4MWVmZmZmZjI1NDk2MzQ2ODZhMjRkZmRhNzdjZXAtMSwKLSAgICAtMHgxLmYxNDNhMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjEwCi0gICAgMHgxLmRiYTRkMTEyNGE3OGE2ODAzYTA5NjVhZjBhYjc5Zjg4cDMsCi0gICAgMHgxLmYyNWIwNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjExCi0gICAgLTB4MS5kYmE0ZDExMjRhNzhhNjgwM2EwOTY1YWYwYWI3OWY4OHAzLAotICAgIC0weDEuZjI1YjA2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTIKLSAgICAtMHgxLjZkZmNiYWZmZDc4MDIzZWNmYWJiZjdjY2YwYTBlNGI0cC0xLAotICAgIDB4MS5mMzIyMThwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTMKLSAgICAweDEuNmRmY2JhZmZkNzgwMjNlY2ZhYmJmN2NjZjBhMGU0YjRwLTEsCi0gICAgLTB4MS5mMzIyMThwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTQKLSAgICAtMHgxLmVjMzVjZjAwMDA2MTA3OTI5NWVhZDcxNDg5MmRiMWNhcDEsCi0gICAgMHgxLmY0NGRiY3A1OAotICB9LAotICB7IC8vIEVudHJ5IDIxNQotICAgIDB4MS5lYzM1Y2YwMDAwNjEwNzkyOTVlYWQ3MTQ4OTJkYjFjYXAxLAotICAgIC0weDEuZjQ0ZGJjcDU4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjE2Ci0gICAgMHgxLmRiMDZjMTBkMmE5NTk3MTViYzBhMmU3NWU2ZGEwOTNicDQsCi0gICAgMHgxLmY0N2ZmZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE3Ci0gICAgLTB4MS5kYjA2YzEwZDJhOTU5NzE1YmMwYTJlNzVlNmRhMDkzYnA0LAotICAgIC0weDEuZjQ3ZmZlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMTgKLSAgICAweDEuZmZmZmViNTU2NDNiOWE2NDhjMjcyMGJkZTFkMjI3NjRwLTEsCi0gICAgMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjE5Ci0gICAgLTB4MS5mZmZmZWI1NTY0M2I5YTY0OGMyNzIwYmRlMWQyMjc2NHAtMSwKLSAgICAtMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjIwCi0gICAgMHgxLmMwYTU3MGZmZmZkMzc5ZDA5NzJlYTc4Y2QwNDBjMzA0cC0zLAotICAgIDB4MS5mNmRlZDhwOAotICB9LAotICB7IC8vIEVudHJ5IDIyMQotICAgIC0weDEuYzBhNTcwZmZmZmQzNzlkMDk3MmVhNzhjZDA0MGMzMDRwLTMsCi0gICAgLTB4MS5mNmRlZDhwOAotICB9LAotICB7IC8vIEVudHJ5IDIyMgotICAgIC0weDEuY2RmMThkMDEyMzQ4MDlhNjg5NTMxNWU5ZGU1OWQ4NjRwLTEsCi0gICAgMHgxLmY3ZmZiZXAxNQotICB9LAotICB7IC8vIEVudHJ5IDIyMwotICAgIDB4MS5jZGYxOGQwMTIzNDgwOWE2ODk1MzE1ZTlkZTU5ZDg2NHAtMSwKLSAgICAtMHgxLmY3ZmZiZXAxNQotICB9LAotICB7IC8vIEVudHJ5IDIyNAotICAgIC0weDEuODJmMTk2ZmI2MGE4MWRjM2I0ZGNiYmM4MzFhYjhmODVwLTEsCi0gICAgMHgxLmY3ZmZmZXA0NwotICB9LAotICB7IC8vIEVudHJ5IDIyNQotICAgIDB4MS44MmYxOTZmYjYwYTgxZGMzYjRkY2JiYzgzMWFiOGY4NXAtMSwKLSAgICAtMHgxLmY3ZmZmZXA0NwotICB9LAotICB7IC8vIEVudHJ5IDIyNgotICAgIDB4MS42YzAzNTkwZjNmZTNiN2QyOWU4OWVlMGU2NWZjOWIxZXAwLAotICAgIDB4MS5mODdkNThwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjcKLSAgICAtMHgxLjZjMDM1OTBmM2ZlM2I3ZDI5ZTg5ZWUwZTY1ZmM5YjFlcDAsCi0gICAgLTB4MS5mODdkNThwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMjgKLSAgICAtMHgxLmM3YWU2ZTljMTQ1YjhkNTRmNzcxOTg5M2ZhMDM4NDlmcDI3LAotICAgIDB4MS5mOWNiZTJwNwotICB9LAotICB7IC8vIEVudHJ5IDIyOQotICAgIDB4MS5jN2FlNmU5YzE0NWI4ZDU0Zjc3MTk4OTNmYTAzODQ5ZnAyNywKLSAgICAtMHgxLmY5Y2JlMnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjMwCi0gICAgMHgxLjZkMjkxMDAwNTE2MWIyYmZhNjExMzRkMGZiYzllOWMwcDAsCi0gICAgMHgxLmZkODZiY3AyNAotICB9LAotICB7IC8vIEVudHJ5IDIzMQotICAgIC0weDEuNmQyOTEwMDA1MTYxYjJiZmE2MTEzNGQwZmJjOWU5YzBwMCwKLSAgICAtMHgxLmZkODZiY3AyNAotICB9LAotICB7IC8vIEVudHJ5IDIzMgotICAgIDB4MS42YzhmOGQwYzNhZDRiYmI2MzlhM2YzYTk0MjM3ZjY5ZnAwLAotICAgIDB4MS5mZWZhNGFwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzMKLSAgICAtMHgxLjZjOGY4ZDBjM2FkNGJiYjYzOWEzZjNhOTQyMzdmNjlmcDAsCi0gICAgLTB4MS5mZWZhNGFwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzQKLSAgICAweDEuMDBlNWI1ZmZmYTEzZjdkOWM0YjBiNTJmZTExYTMzOWJwLTMsCi0gICAgMHgxLmZmMWZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDIzNQotICAgIC0weDEuMDBlNWI1ZmZmYTEzZjdkOWM0YjBiNTJmZTExYTMzOWJwLTMsCi0gICAgLTB4MS5mZjFmZmVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzYKLSAgICAweDEuZmYzZjQxZjAxYzViMzYwY2NlNzViNjc4NzdmZmQ2NzdwMCwKLSAgICAweDEuZmY3ZmZlcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM3Ci0gICAgLTB4MS5mZjNmNDFmMDFjNWIzNjBjY2U3NWI2Nzg3N2ZmZDY3N3AwLAotICAgIC0weDEuZmY3ZmZlcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjM4Ci0gICAgLTB4MS44NmRkNWUwMGQ3ZWRjNzI2Njk2OWJmNTE5ODQzOGJhYnAwLAotICAgIDB4MS5mZjlmZmVwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyMzkKLSAgICAweDEuODZkZDVlMDBkN2VkYzcyNjY5NjliZjUxOTg0MzhiYWJwMCwKLSAgICAtMHgxLmZmOWZmZXAxMgotICB9LAotICB7IC8vIEVudHJ5IDI0MAotICAgIC0weDEuZjhmZTQ1NzlmZGVlMjQ5MWM3ZDg1NzJlYTUxMmZlOTNwNSwKLSAgICAweDEuZmZmYmZlcDQ1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjQxCi0gICAgMHgxLmY4ZmU0NTc5ZmRlZTI0OTFjN2Q4NTcyZWE1MTJmZTkzcDUsCi0gICAgLTB4MS5mZmZiZmVwNDUKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDIKLSAgICAtMHgxLjg1ZmY0NjJmMGY4NmZmNDQ2NDEzMDVkYTE4ZWE4ZmM4cC0xMywKLSAgICAweDEuZmZmZGYycDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQzCi0gICAgMHgxLjg1ZmY0NjJmMGY4NmZmNDQ2NDEzMDVkYTE4ZWE4ZmM4cC0xMywKLSAgICAtMHgxLmZmZmRmMnAyMwotICB9LAotICB7IC8vIEVudHJ5IDI0NAotICAgIDB4MS4zMzkyZTJmZmJjYjI1ZmMxYjAxNmI5MTM2ZTY5YzAwYnAtMiwKLSAgICAweDEuZmZmZGZlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDUKLSAgICAtMHgxLjMzOTJlMmZmYmNiMjVmYzFiMDE2YjkxMzZlNjljMDBicC0yLAotICAgIC0weDEuZmZmZGZlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNDYKLSAgICAtMHgxLjJmNmM0YmQyNjA1ZjAzN2Y4NjA5ODE5Zjg2NWE4ZGNicDgsCi0gICAgMHgxLmZmZmUzZXA0MQotICB9LAotICB7IC8vIEVudHJ5IDI0NwotICAgIDB4MS4yZjZjNGJkMjYwNWYwMzdmODYwOTgxOWY4NjVhOGRjYnA4LAotICAgIC0weDEuZmZmZTNlcDQxCi0gIH0sCi0gIHsgLy8gRW50cnkgMjQ4Ci0gICAgLTB4MS41M2EyZTkwZTgxNzcyNzI1NWU2ZGRmNjRlMjhjMDE5Y3AtOSwKLSAgICAweDEuZmZmZTdlcDEwMwotICB9LAotICB7IC8vIEVudHJ5IDI0OQotICAgIDB4MS41M2EyZTkwZTgxNzcyNzI1NWU2ZGRmNjRlMjhjMDE5Y3AtOSwKLSAgICAtMHgxLmZmZmU3ZXAxMDMKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTAKLSAgICAtMHgxLmIzNDY3NmYwOTViNWIxYTMyNTQyNmNkZjQyYzA0Nzk5cDIsCi0gICAgMHgxLmZmZmY3ZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjUxCi0gICAgMHgxLmIzNDY3NmYwOTViNWIxYTMyNTQyNmNkZjQyYzA0Nzk5cDIsCi0gICAgLTB4MS5mZmZmN2VwMgotICB9LAotICB7IC8vIEVudHJ5IDI1MgotICAgIDB4MS5mNjQwZDk0ZTYyNDFkYjQzNDllMzNiZWQ2N2NiZDNkYnAtMSwKLSAgICAweDEuZmZmZjdlcDExOQotICB9LAotICB7IC8vIEVudHJ5IDI1MwotICAgIC0weDEuZjY0MGQ5NGU2MjQxZGI0MzQ5ZTMzYmVkNjdjYmQzZGJwLTEsCi0gICAgLTB4MS5mZmZmN2VwMTE5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjU0Ci0gICAgMHgxLjUyNmMyNjliZGRhOGE4OWQ5MDcwNjg3MGYzODAxZWFmcC0xLAotICAgIDB4MS5mZmZmZWVwNAotICB9LAotICB7IC8vIEVudHJ5IDI1NQotICAgIC0weDEuNTI2YzI2OWJkZGE4YTg5ZDkwNzA2ODcwZjM4MDFlYWZwLTEsCi0gICAgLTB4MS5mZmZmZWVwNAotICB9LAotICB7IC8vIEVudHJ5IDI1NgotICAgIC0weDEuYTM3NTkzYzEwNWUxNDYyYzJhMzcyNjA2MDM0ODNkYTZwMSwKLSAgICAweDEuZmZmZmZjcDEyCi0gIH0sCi0gIHsgLy8gRW50cnkgMjU3Ci0gICAgMHgxLmEzNzU5M2MxMDVlMTQ2MmMyYTM3MjYwNjAzNDgzZGE2cDEsCi0gICAgLTB4MS5mZmZmZmNwMTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTgKLSAgICAtMHgxLnAtMTQ5LAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNTkKLSAgICAweDEucC0xNDksCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjYwCi0gICAgMC4wLAotICAgIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDI2MQotICAgIDB4MS5wLTE0OSwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjIKLSAgICAtMHgxLnAtMTQ5LAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjMKLSAgICAtMHgxLjAwMDAwMnAtMTI2LAotICAgIC0weDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjQKLSAgICAweDEuMDAwMDAycC0xMjYsCi0gICAgMHgxLjAwMDAwMnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY1Ci0gICAgLTB4MS5wLTEyNiwKLSAgICAtMHgxLnAtMTI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjY2Ci0gICAgMHgxLnAtMTI2LAotICAgIDB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDI2NwotICAgIC0weDEuZmZmZmZjcC0xMjcsCi0gICAgLTB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDI2OAotICAgIDB4MS5mZmZmZmNwLTEyNywKLSAgICAweDEuZmZmZmZjcC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNjkKLSAgICAweDEuZmZmZmZjcC0xMjcsCi0gICAgMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcwCi0gICAgLTB4MS5mZmZmZmNwLTEyNywKLSAgICAtMHgxLmZmZmZmY3AtMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMjcxCi0gICAgMHgxLnAtMTI2LAotICAgIDB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDI3MgotICAgIC0weDEucC0xMjYsCi0gICAgLTB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDI3MwotICAgIDB4MS4wMDAwMDJwLTEyNiwKLSAgICAweDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzQKLSAgICAtMHgxLjAwMDAwMnAtMTI2LAotICAgIC0weDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyNzUKLSAgICAweDEuOTk5OTlhNTc2MTlmNjc5YjYxOTNhZjhhMGE3YTg3NzhwLTEzLAotICAgIDB4MS45OTk5OWFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc2Ci0gICAgLTB4MS45OTk5OWE1NzYxOWY2NzliNjE5M2FmOGEwYTdhODc3OHAtMTMsCi0gICAgLTB4MS45OTk5OWFwLTEzCi0gIH0sCi0gIHsgLy8gRW50cnkgMjc3Ci0gICAgMHgxLjk5OTk5YjVkODY3ZWFhZGQwMzA1NTg3Mzk5OTA1MzExcC0xMiwKLSAgICAweDEuOTk5OTlhcC0xMgotICB9LAotICB7IC8vIEVudHJ5IDI3OAotICAgIC0weDEuOTk5OTliNWQ4NjdlYWFkZDAzMDU1ODczOTk5MDUzMTFwLTEyLAotICAgIC0weDEuOTk5OTlhcC0xMgotICB9LAotICB7IC8vIEVudHJ5IDI3OQotICAgIDB4MS4zMzMzMzY0ZGQyZmI5NDk2NDViZWE5OThjYmMxZWU3MnAtMTEsCi0gICAgMHgxLjMzMzMzNHAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODAKLSAgICAtMHgxLjMzMzMzNjRkZDJmYjk0OTY0NWJlYTk5OGNiYzFlZTcycC0xMSwKLSAgICAtMHgxLjMzMzMzNHAtMTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODEKLSAgICAweDEuOTk5OTlmNzYxYTBiNzI2YzE4YjAwYzY0OTZjYmUxMGRwLTExLAotICAgIDB4MS45OTk5OWFwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgyCi0gICAgLTB4MS45OTk5OWY3NjFhMGI3MjZjMThiMDBjNjQ5NmNiZTEwZHAtMTEsCi0gICAgLTB4MS45OTk5OWFwLTExCi0gIH0sCi0gIHsgLy8gRW50cnkgMjgzCi0gICAgMHgxLjAwMDAwNTU1NTU3Nzc3Nzg1NDg1NGRlZGMyOGVhZDUxcC0xMCwKLSAgICAweDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI4NAotICAgIC0weDEuMDAwMDA1NTU1NTc3Nzc3ODU0ODU0ZGVkYzI4ZWFkNTFwLTEwLAotICAgIC0weDEucC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI4NQotICAgIDB4MS4zMzMzM2QzNzRjMmUwNWQxMDgxNjEzNzgzODlmYzg0ZnAtMTAsCi0gICAgMHgxLjMzMzMzNHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODYKLSAgICAtMHgxLjMzMzMzZDM3NGMyZTA1ZDEwODE2MTM3ODM4OWZjODRmcC0xMCwKLSAgICAtMHgxLjMzMzMzNHAtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyODcKLSAgICAweDEuNjY2Njc2YTI3YTZkODIxNGQxOThiMjMyMWVmOWE5ZGNwLTEwLAotICAgIDB4MS42NjY2NjhwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg4Ci0gICAgLTB4MS42NjY2NzZhMjdhNmQ4MjE0ZDE5OGIyMzIxZWY5YTlkY3AtMTAsCi0gICAgLTB4MS42NjY2NjhwLTEwCi0gIH0sCi0gIHsgLy8gRW50cnkgMjg5Ci0gICAgMHgxLjk5OTliMWQ4Njk4YzI0Y2ZlM2I5MGZmZDAwNmZmZGNhcC0xMCwKLSAgICAweDEuOTk5OTljcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI5MAotICAgIC0weDEuOTk5OWIxZDg2OThjMjRjZmUzYjkwZmZkMDA2ZmZkY2FwLTEwLAotICAgIC0weDEuOTk5OTljcC0xMAotICB9LAotICB7IC8vIEVudHJ5IDI5MQotICAgIDB4MS5jY2NjZWIxYWEyMTlmNzFiYjE5MjA4ZDc0YTczOWJiMXAtMTAsCi0gICAgMHgxLmNjY2NjY3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTIKLSAgICAtMHgxLmNjY2NlYjFhYTIxOWY3MWJiMTkyMDhkNzRhNzM5YmIxcC0xMCwKLSAgICAtMHgxLmNjY2NjY3AtMTAKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTMKLSAgICAweDEuMDY2N2Q1OTY4YmJiYmU0MDM3MDI0YjljOTNmN2IwNDlwLTcsCi0gICAgMHgxLjA2NjY2NnAtNwotICB9LAotICB7IC8vIEVudHJ5IDI5NAotICAgIC0weDEuMDY2N2Q1OTY4YmJiYmU0MDM3MDI0YjljOTNmN2IwNDlwLTcsCi0gICAgLTB4MS4wNjY2NjZwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTUKLSAgICAweDEuY2NkNDkyZDAzNWEyMjc3NThiOGMzMGQ3OWIxNjg4MjZwLTcsCi0gICAgMHgxLmNjY2NjY3AtNwotICB9LAotICB7IC8vIEVudHJ5IDI5NgotICAgIC0weDEuY2NkNDkyZDAzNWEyMjc3NThiOGMzMGQ3OWIxNjg4MjZwLTcsCi0gICAgLTB4MS5jY2NjY2NwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTcKLSAgICAweDEuNDlhNGZhNjhlOTBkMjI4ZjQ0NTAyNmViMjlhZGNlZmRwLTYsCi0gICAgMHgxLjQ5OTk5OHAtNgotICB9LAotICB7IC8vIEVudHJ5IDI5OAotICAgIC0weDEuNDlhNGZhNjhlOTBkMjI4ZjQ0NTAyNmViMjlhZGNlZmRwLTYsCi0gICAgLTB4MS40OTk5OThwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAyOTkKLSAgICAweDEuYWNlNWRlMDkwNjAzZmRhOGY1MTlhZmVjZTA1YzE3ZWFwLTYsCi0gICAgMHgxLmFjY2NjY3AtNgotICB9LAotICB7IC8vIEVudHJ5IDMwMAotICAgIC0weDEuYWNlNWRlMDkwNjAzZmRhOGY1MTlhZmVjZTA1YzE3ZWFwLTYsCi0gICAgLTB4MS5hY2NjY2NwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDEKLSAgICAweDEuMDgxNzY3ZmQzY2I2ODVmN2IwNjkxNDZjZTMzMzM4NTFwLTUsCi0gICAgMHgxLjA4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzAyCi0gICAgLTB4MS4wODE3NjdmZDNjYjY4NWY3YjA2OTE0NmNlMzMzMzg1MXAtNSwKLSAgICAtMHgxLjA4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzAzCi0gICAgMHgxLjM5YzBkNzQ1MzM0YTMzODdkNjcyZTRhMDU2MjRiY2E1cC01LAotICAgIDB4MS4zOTk5OWFwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDQKLSAgICAtMHgxLjM5YzBkNzQ1MzM0YTMzODdkNjcyZTRhMDU2MjRiY2E1cC01LAotICAgIC0weDEuMzk5OTlhcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzA1Ci0gICAgMHgxLjZiNzAyYzYyN2ZjMDBiNzc3ZWE4NjYxY2NlMzYwNjFjcC01LAotICAgIDB4MS42YjMzMzRwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDYKLSAgICAtMHgxLjZiNzAyYzYyN2ZjMDBiNzc3ZWE4NjYxY2NlMzYwNjFjcC01LAotICAgIC0weDEuNmIzMzM0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzA3Ci0gICAgMHgxLjlkMjY1NzRjZDg0NzU5YmZmZjUxZDhiYjE4NTM4YTBkcC01LAotICAgIDB4MS45Y2NjY2VwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMDgKLSAgICAtMHgxLjlkMjY1NzRjZDg0NzU5YmZmZjUxZDhiYjE4NTM4YTBkcC01LAotICAgIC0weDEuOWNjY2NlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzA5Ci0gICAgMHgxLmNlZTQ0NjdlMTViYjdlZjU5NjU4YThlZGRjMTk1MTY3cC01LAotICAgIDB4MS5jZTY2NjZwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTAKLSAgICAtMHgxLmNlZTQ0NjdlMTViYjdlZjU5NjU4YThlZGRjMTk1MTY3cC01LAotICAgIC0weDEuY2U2NjY2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMzExCi0gICAgMHgxLmExZWFlZDdhYTYyYTc0MGMwYjJlMDliY2QwZjczNWI1cC0xLAotICAgIDB4MS41ZTdmYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTIKLSAgICAtMHgxLmExZWFlZDdhYTYyYTc0MGMwYjJlMDliY2QwZjczNWI1cC0xLAotICAgIC0weDEuNWU3ZmM0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzEzCi0gICAgMHgxLmQ5M2I4OTFjYmNiMTVhYWM4YjU3OTZhMGExNmJmMjllcDEsCi0gICAgMHgxLjRlN2ZjNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE0Ci0gICAgLTB4MS5kOTNiODkxY2JjYjE1YWFjOGI1Nzk2YTBhMTZiZjI5ZXAxLAotICAgIC0weDEuNGU3ZmM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMTUKLSAgICAtMHgxLjU2M2FkMDYzNDg2Yzc5NzY1M2E2ODk1NWMwYmIxYzBicDEsCi0gICAgMHgxLmVkYmZhNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzE2Ci0gICAgMHgxLjU2M2FkMDYzNDg2Yzc5NzY1M2E2ODk1NWMwYmIxYzBicDEsCi0gICAgLTB4MS5lZGJmYTZwMAotICB9LAotICB7IC8vIEVudHJ5IDMxNwotICAgIC0weDEuNTc2Yjc4OWQ1NDRiNmQwMzdjM2I3MTE5ZmQ2ZGQ2cC0xLAotICAgIDB4MS40NjdmYzRwMQotICB9LAotICB7IC8vIEVudHJ5IDMxOAotICAgIDB4MS41NzZiNzg5ZDU0NGI2ZDAzN2MzYjcxMTlmZDZkZDZwLTEsCi0gICAgLTB4MS40NjdmYzRwMQotICB9LAotICB7IC8vIEVudHJ5IDMxOQotICAgIDB4MS4wMDE1MDY1MmIyZDc5MzFlMGM4Nzg4NzViOWY0YmE4MnAtNSwKLSAgICAweDEuOTYxZmI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjAKLSAgICAtMHgxLjAwMTUwNjUyYjJkNzkzMWUwYzg3ODg3NWI5ZjRiYTgycC01LAotICAgIC0weDEuOTYxZmI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjEKLSAgICAweDEuODdlOTg3YjZlNTA3MWRiZDNmNzU1YTc2YTI3ZDhmYzhwLTEsCi0gICAgMHgxLmU1YmZhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIyCi0gICAgLTB4MS44N2U5ODdiNmU1MDcxZGJkM2Y3NTVhNzZhMjdkOGZjOHAtMSwKLSAgICAtMHgxLmU1YmZhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzIzCi0gICAgMHgxLmE0OWU1NWJjZTFjODk5MTIzMjM4N2VjZDExMjQ2OThhcDEsCi0gICAgMHgxLjFhYWZjYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI0Ci0gICAgLTB4MS5hNDllNTViY2UxYzg5OTEyMzIzODdlY2QxMTI0Njk4YXAxLAotICAgIC0weDEuMWFhZmNhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjUKLSAgICAtMHgxLjc5Y2YwMzEzNWE5MzY3OWQ1YWEyZTFkY2M1YWRlZGFmcDEsCi0gICAgMHgxLjQyN2ZjMnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI2Ci0gICAgMHgxLjc5Y2YwMzEzNWE5MzY3OWQ1YWEyZTFkY2M1YWRlZGFmcDEsCi0gICAgLTB4MS40MjdmYzJwMgotICB9LAotICB7IC8vIEVudHJ5IDMyNwotICAgIC0weDEuNmYxZjg2ZmRiMjBiYzk5MjM2MjdiOTRkNzcxZjUzODhwLTEsCi0gICAgMHgxLjZhNGZiYXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzI4Ci0gICAgMHgxLjZmMWY4NmZkYjIwYmM5OTIzNjI3Yjk0ZDc3MWY1Mzg4cC0xLAotICAgIC0weDEuNmE0ZmJhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMjkKLSAgICAtMHgxLjY3NzQ3Y2E4MDI4MjFjNjZjODdhMDg2NjM4ZjI4ZDM2cC0xLAotICAgIDB4MS42YWYyZjBwMgotICB9LAotICB7IC8vIEVudHJ5IDMzMAotICAgIDB4MS42Nzc0N2NhODAyODIxYzY2Yzg3YTA4NjYzOGYyOGQzNnAtMSwKLSAgICAtMHgxLjZhZjJmMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMzMxCi0gICAgLTB4MS42MjZhMzAyOThkZjBjNDJjMmNmN2E4ZjljMTY2ZDU1ZHAxLAotICAgIDB4MS40M2M2MmFwMgotICB9LAotICB7IC8vIEVudHJ5IDMzMgotICAgIDB4MS42MjZhMzAyOThkZjBjNDJjMmNmN2E4ZjljMTY2ZDU1ZHAxLAotICAgIC0weDEuNDNjNjJhcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzMKLSAgICAweDEuZDZhZDhhMjJhNDQwN2NjNjhkZjIwY2RhMWVhMWM2YWFwMSwKLSAgICAweDEuMWM5OTY0cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzQKLSAgICAtMHgxLmQ2YWQ4YTIyYTQ0MDdjYzY4ZGYyMGNkYTFlYTFjNmFhcDEsCi0gICAgLTB4MS4xYzk5NjRwMgotICB9LAotICB7IC8vIEVudHJ5IDMzNQotICAgIDB4MS5hOTRkMDBhMTcxMGQ5YmNjN2I4MDQ4MWY0Mjg1N2QwNXAtMSwKLSAgICAweDEuZWFkOTNjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzYKLSAgICAtMHgxLmE5NGQwMGExNzEwZDliY2M3YjgwNDgxZjQyODU3ZDA1cC0xLAotICAgIC0weDEuZWFkOTNjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzMzcKLSAgICAweDEuNGNiOWY0ZDMxNWE5OTViMjhiZmJkNmU2YTA5MDU3MzhwLTQsCi0gICAgMHgxLjljN2ZiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM4Ci0gICAgLTB4MS40Y2I5ZjRkMzE1YTk5NWIyOGJmYmQ2ZTZhMDkwNTczOHAtNCwKLSAgICAtMHgxLjljN2ZiMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMzM5Ci0gICAgLTB4MS4yY2I2ZjNiYTUxY2Q0Y2EzODVkN2Y0YTc1NjdjM2EwYnAtMSwKLSAgICAweDEuNGUyNjI0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDAKLSAgICAweDEuMmNiNmYzYmE1MWNkNGNhMzg1ZDdmNGE3NTY3YzNhMGJwLTEsCi0gICAgLTB4MS40ZTI2MjRwMQotICB9LAotICB7IC8vIEVudHJ5IDM0MQotICAgIC0weDEuMThkOTM5OWE4MjkwYjNmOGI0MmE0YWZjMWY0YjIxZGVwMSwKLSAgICAweDEuZmY5OTMycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDIKLSAgICAweDEuMThkOTM5OWE4MjkwYjNmOGI0MmE0YWZjMWY0YjIxZGVwMSwKLSAgICAtMHgxLmZmOTkzMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQzCi0gICAgMHgxLjU2ZmQ5NGIwYzA2ODE2MTNkMzgzMTYwODQ1N2Y1YmY2cDIsCi0gICAgMHgxLjYyZTYxY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ0Ci0gICAgLTB4MS41NmZkOTRiMGMwNjgxNjEzZDM4MzE2MDg0NTdmNWJmNnAyLAotICAgIC0weDEuNjJlNjFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDUKLSAgICAweDEuZjRhZDM3ZjEzZTgxODY0MWZjMTU1NWJmNzhlMGU5NDJwLTEsCi0gICAgMHgxLjhjNjYyY3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM0NgotICAgIC0weDEuZjRhZDM3ZjEzZTgxODY0MWZjMTU1NWJmNzhlMGU5NDJwLTEsCi0gICAgLTB4MS44YzY2MmNwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNDcKLSAgICAweDEuNmE3ZTMwYWQ4NDYwZjFhNzEwNDc5ZTJkYjk0OTVjOWNwMywKLSAgICAtMHgxLmE4YWExY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzQ4Ci0gICAgLTB4MS42YTdlMzBhZDg0NjBmMWE3MTA0NzllMmRiOTQ5NWM5Y3AzLAotICAgIDB4MS5hOGFhMWNwMAotICB9LAotICB7IC8vIEVudHJ5IDM0OQotICAgIDB4MS4wZDcxZmZhYzFkNWU2YWE3NTNjZjgwNGEyYThjMWY1YnA2LAotICAgIC0weDEuOTVlYzhhcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTAKLSAgICAtMHgxLjBkNzFmZmFjMWQ1ZTZhYTc1M2NmODA0YTJhOGMxZjVicDYsCi0gICAgMHgxLjk1ZWM4YXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzUxCi0gICAgLTB4MS4xMWQ4NDk4MDczZTFmNGI3NzZmZTU2NzJhYmIxZjU0YXA0LAotICAgIC0weDEuODMyZWY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTIKLSAgICAweDEuMTFkODQ5ODA3M2UxZjRiNzc2ZmU1NjcyYWJiMWY1NGFwNCwKLSAgICAweDEuODMyZWY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTMKLSAgICAtMHgxLmUzYTM0YjMyNzA4ODgzYTg1Nzg4MDVmODRlYTAzYzZhcDIsCi0gICAgLTB4MS43MDcxNjZwMAotICB9LAotICB7IC8vIEVudHJ5IDM1NAotICAgIDB4MS5lM2EzNGIzMjcwODg4M2E4NTc4ODA1Zjg0ZWEwM2M2YXAyLAotICAgIDB4MS43MDcxNjZwMAotICB9LAotICB7IC8vIEVudHJ5IDM1NQotICAgIC0weDEuMzQyOWQyNjM0MDU0ZWFhZTNiZGJlZTk0YTZjZWMxN2ZwMiwKLSAgICAtMHgxLjVkYjNkNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU2Ci0gICAgMHgxLjM0MjlkMjYzNDA1NGVhYWUzYmRiZWU5NGE2Y2VjMTdmcDIsCi0gICAgMHgxLjVkYjNkNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzU3Ci0gICAgLTB4MS5jMDhjOTU3YmJiNDVhY2FmYTg1NmJmZDc5MmNiZjY2M3AxLAotICAgIC0weDEuNGFmNjQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTgKLSAgICAweDEuYzA4Yzk1N2JiYjQ1YWNhZmE4NTZiZmQ3OTJjYmY2NjNwMSwKLSAgICAweDEuNGFmNjQycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNTkKLSAgICAtMHgxLjVkNjAyYjBkMGJkZGE4MjUyMjFhNTMzNjljNTMzOGQ3cDEsCi0gICAgLTB4MS4zODM4YjBwMAotICB9LAotICB7IC8vIEVudHJ5IDM2MAotICAgIDB4MS41ZDYwMmIwZDBiZGRhODI1MjIxYTUzMzY5YzUzMzhkN3AxLAotICAgIDB4MS4zODM4YjBwMAotICB9LAotICB7IC8vIEVudHJ5IDM2MQotICAgIC0weDEuMWI0ODk0ZTQ5ODcyMGVjMDE3MzVhMDJlNTVlZWZhZDhwMSwKLSAgICAtMHgxLjI1N2IxZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYyCi0gICAgMHgxLjFiNDg5NGU0OTg3MjBlYzAxNzM1YTAyZTU1ZWVmYWQ4cDEsCi0gICAgMHgxLjI1N2IxZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMzYzCi0gICAgLTB4MS5kNzRjYjIwMGFiNTkwNDAyOTA2MjdhOWIyZmZlMjljZnAwLAotICAgIC0weDEuMTJiZDkycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjQKLSAgICAweDEuZDc0Y2IyMDBhYjU5MDQwMjkwNjI3YTliMmZmZTI5Y2ZwMCwKLSAgICAweDEuMTJiZDkycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjUKLSAgICAtMHgxLjZiZTcwMTlmMzRkMzRmMjVjYjBjMTRkMGM3YmM3YjMycDAsCi0gICAgLTB4MS5lYTVjM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNjYKLSAgICAweDEuNmJlNzAxOWYzNGQzNGYyNWNiMGMxNGQwYzdiYzdiMzJwMCwKLSAgICAweDEuZWE1YzNlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY3Ci0gICAgLTB4MS40ZDBkZWZiY2I0OGFhNzVjZTEzZTFiODJmMWZjYjA0OXAwLAotICAgIC0weDEuZDRiODdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzY4Ci0gICAgMHgxLjRkMGRlZmJjYjQ4YWE3NWNlMTNlMWI4MmYxZmNiMDQ5cDAsCi0gICAgMHgxLmQ0Yjg3Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDM2OQotICAgIC0weDEuMzE2Yzg3ZmRiNzU5OWNiNTczNTRlNGI5OWYzOGQ3ZmZwMCwKLSAgICAtMHgxLmJmMTRiYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDM3MAotICAgIDB4MS4zMTZjODdmZGI3NTk5Y2I1NzM1NGU0Yjk5ZjM4ZDdmZnAwLAotICAgIDB4MS5iZjE0YmFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzEKLSAgICAtMHgxLjE4NzI5ZGZlNTFkZmNmNzY3Zjc5ZjM5YjY4OWFlOTVlcDAsCi0gICAgLTB4MS5hOTcwZjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzIKLSAgICAweDEuMTg3MjlkZmU1MWRmY2Y3NjdmNzlmMzliNjg5YWU5NWVwMCwKLSAgICAweDEuYTk3MGY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzczCi0gICAgLTB4MS4wMWFlZWE5Y2JlOWE4ZmI0Y2NlZjk5YWQ5NjFiNmFkOHAwLAotICAgIC0weDEuOTNjZDM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMzc0Ci0gICAgMHgxLjAxYWVlYTljYmU5YThmYjRjY2VmOTlhZDk2MWI2YWQ4cDAsCi0gICAgMHgxLjkzY2QzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM3NQotICAgIC0weDEuZDk4ZTM3M2ZhYWQ3ZGEzZDZjODg2NWE3ZmY5YmE3ZjNwLTEsCi0gICAgLTB4MS43ZTI5NzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzYKLSAgICAweDEuZDk4ZTM3M2ZhYWQ3ZGEzZDZjODg2NWE3ZmY5YmE3ZjNwLTEsCi0gICAgMHgxLjdlMjk3NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM3NwotICAgIC0weDEuYjJlNDZhZjcwNGViNzVkMWZhYjA3NjZhZmM3NDcwM2ZwLTEsCi0gICAgLTB4MS42ODg1YjJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzNzgKLSAgICAweDEuYjJlNDZhZjcwNGViNzVkMWZhYjA3NjZhZmM3NDcwM2ZwLTEsCi0gICAgMHgxLjY4ODViMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM3OQotICAgIC0weDEuOGVlOTBiN2RjODliMWY5OTlhZTZkYmI0MWJhY2ViMGRwLTEsCi0gICAgLTB4MS41MmUxZjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODAKLSAgICAweDEuOGVlOTBiN2RjODliMWY5OTlhZTZkYmI0MWJhY2ViMGRwLTEsCi0gICAgMHgxLjUyZTFmMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDM4MQotICAgIC0weDEuNmQzOTVmMDU4MjBiNDJmNTEyMjNkYWI4ODQzNjdlNzFwLTEsCi0gICAgLTB4MS4zZDNlMzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODIKLSAgICAweDEuNmQzOTVmMDU4MjBiNDJmNTEyMjNkYWI4ODQzNjdlNzFwLTEsCi0gICAgMHgxLjNkM2UzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM4MwotICAgIC0weDEuMjRlM2RmYWQ0Y2UxNDkzY2FhMTIzODY0Y2I0ZjQ1ZDNwLTEsCi0gICAgLTB4MS4wYTBiMDJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODQKLSAgICAweDEuMjRlM2RmYWQ0Y2UxNDkzY2FhMTIzODY0Y2I0ZjQ1ZDNwLTEsCi0gICAgMHgxLjBhMGIwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDM4NQotICAgIC0weDEuZmRiZDVlNTNlMGE2ZmM5YzhiODAzMjg5ZjFjM2RiYjdwLTIsCi0gICAgLTB4MS5kOGY3MjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODYKLSAgICAweDEuZmRiZDVlNTNlMGE2ZmM5YzhiODAzMjg5ZjFjM2RiYjdwLTIsCi0gICAgMHgxLmQ4ZjcyMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM4NwotICAgIC0weDEuYjVmM2Q2MWM1NGVlNGY2NTg1ZTliZmY0ODljMDAxODJwLTIsCi0gICAgLTB4MS45ZGQ4M2NwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzODgKLSAgICAweDEuYjVmM2Q2MWM1NGVlNGY2NTg1ZTliZmY0ODljMDAxODJwLTIsCi0gICAgMHgxLjlkZDgzY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDM4OQotICAgIC0weDEuNzFhMGY5MDdjNjYxZGFmNDkwM2I3YmJjMDE1YzVjMTRwLTIsCi0gICAgLTB4MS42MmI5NThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTAKLSAgICAweDEuNzFhMGY5MDdjNjYxZGFmNDkwM2I3YmJjMDE1YzVjMTRwLTIsCi0gICAgMHgxLjYyYjk1OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM5MQotICAgIC0weDEuMzAxOTA5NDFlNjk5ZmRiMjExNWE5ZWY2YmY4MmQ0NTVwLTIsCi0gICAgLTB4MS4yNzlhNzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTIKLSAgICAweDEuMzAxOTA5NDFlNjk5ZmRiMjExNWE5ZWY2YmY4MmQ0NTVwLTIsCi0gICAgMHgxLjI3OWE3NHAtMgotICB9LAotICB7IC8vIEVudHJ5IDM5MwotICAgIC0weDEuZTE4ZTkzODY3Y2FmNjdlZmNhYTE5ODIxODk4ZDUwY2FwLTMsCi0gICAgLTB4MS5kOGY3MjBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTQKLSAgICAweDEuZTE4ZTkzODY3Y2FmNjdlZmNhYTE5ODIxODk4ZDUwY2FwLTMsCi0gICAgMHgxLmQ4ZjcyMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM5NQotICAgIC0weDEuNjY1MDc3ZGRhODIyYjE4OWE1NmEwMmUxNWMwNGQ1ZDRwLTMsCi0gICAgLTB4MS42MmI5NThwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTYKLSAgICAweDEuNjY1MDc3ZGRhODIyYjE4OWE1NmEwMmUxNWMwNGQ1ZDRwLTMsCi0gICAgMHgxLjYyYjk1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDM5NwotICAgIC0weDEuZGIxNDIzZDg3N2IyNTBhZjZlYTU1NDY5NjA3NDNkNzJwLTQsCi0gICAgLTB4MS5kOGY3MjBwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAzOTgKLSAgICAweDEuZGIxNDIzZDg3N2IyNTBhZjZlYTU1NDY5NjA3NDNkNzJwLTQsCi0gICAgMHgxLmQ4ZjcyMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDM5OQotICAgIC0weDEuZDk3ZGQ2NDNmZmVlZjU3ZDBhMjI1MDUxOTc4ZWM4YWRwLTUsCi0gICAgLTB4MS5kOGY3MjBwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MDAKLSAgICAweDEuZDk3ZGQ2NDNmZmVlZjU3ZDBhMjI1MDUxOTc4ZWM4YWRwLTUsCi0gICAgMHgxLmQ4ZjcyMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDQwMQotICAgIDB4MS5kOTdkZDY0M2ZmZWVmNTdkMGEyMjUwNTE5NzhlYzhhZHAtNSwKLSAgICAweDEuZDhmNzIwcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDAyCi0gICAgLTB4MS5kOTdkZDY0M2ZmZWVmNTdkMGEyMjUwNTE5NzhlYzhhZHAtNSwKLSAgICAtMHgxLmQ4ZjcyMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDQwMwotICAgIDB4MS5kYjE0MjNkODc3YjI1MGFmNmVhNTU0Njk2MDc0M2Q3MnAtNCwKLSAgICAweDEuZDhmNzIwcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDA0Ci0gICAgLTB4MS5kYjE0MjNkODc3YjI1MGFmNmVhNTU0Njk2MDc0M2Q3MnAtNCwKLSAgICAtMHgxLmQ4ZjcyMHAtNAotICB9LAotICB7IC8vIEVudHJ5IDQwNQotICAgIDB4MS42NjUwNzdkZGE4MjJiMTg5YTU2YTAyZTE1YzA0ZDVkNHAtMywKLSAgICAweDEuNjJiOTU4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA2Ci0gICAgLTB4MS42NjUwNzdkZGE4MjJiMTg5YTU2YTAyZTE1YzA0ZDVkNHAtMywKLSAgICAtMHgxLjYyYjk1OHAtMwotICB9LAotICB7IC8vIEVudHJ5IDQwNwotICAgIDB4MS5lMThlOTM4NjdjYWY2N2VmY2FhMTk4MjE4OThkNTBjYXAtMywKLSAgICAweDEuZDhmNzIwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNDA4Ci0gICAgLTB4MS5lMThlOTM4NjdjYWY2N2VmY2FhMTk4MjE4OThkNTBjYXAtMywKLSAgICAtMHgxLmQ4ZjcyMHAtMwotICB9LAotICB7IC8vIEVudHJ5IDQwOQotICAgIDB4MS4zMDE5MDk0MWU2OTlmZGIyMTE1YTllZjZiZjgyZDQ1NXAtMiwKLSAgICAweDEuMjc5YTc0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEwCi0gICAgLTB4MS4zMDE5MDk0MWU2OTlmZGIyMTE1YTllZjZiZjgyZDQ1NXAtMiwKLSAgICAtMHgxLjI3OWE3NHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQxMQotICAgIDB4MS43MWEwZjkwN2M2NjFkYWY0OTAzYjdiYmMwMTVjNWMxNHAtMiwKLSAgICAweDEuNjJiOTU4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDEyCi0gICAgLTB4MS43MWEwZjkwN2M2NjFkYWY0OTAzYjdiYmMwMTVjNWMxNHAtMiwKLSAgICAtMHgxLjYyYjk1OHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQxMwotICAgIDB4MS5iNWYzZDYxYzU0ZWU0ZjY1ODVlOWJmZjQ4OWMwMDE4MnAtMiwKLSAgICAweDEuOWRkODNjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE0Ci0gICAgLTB4MS5iNWYzZDYxYzU0ZWU0ZjY1ODVlOWJmZjQ4OWMwMDE4MnAtMiwKLSAgICAtMHgxLjlkZDgzY3AtMgotICB9LAotICB7IC8vIEVudHJ5IDQxNQotICAgIDB4MS5mZGJkNWU1M2UwYTZmYzljOGI4MDMyODlmMWMzZGJiN3AtMiwKLSAgICAweDEuZDhmNzIwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE2Ci0gICAgLTB4MS5mZGJkNWU1M2UwYTZmYzljOGI4MDMyODlmMWMzZGJiN3AtMiwKLSAgICAtMHgxLmQ4ZjcyMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDQxNwotICAgIDB4MS4yNGUzZGZhZDRjZTE0OTNjYWExMjM4NjRjYjRmNDVkM3AtMSwKLSAgICAweDEuMGEwYjAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDE4Ci0gICAgLTB4MS4yNGUzZGZhZDRjZTE0OTNjYWExMjM4NjRjYjRmNDVkM3AtMSwKLSAgICAtMHgxLjBhMGIwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQxOQotICAgIDB4MS42ZDM5NWYwNTgyMGI0MmY1MTIyM2RhYjg4NDM2N2U3MXAtMSwKLSAgICAweDEuM2QzZTM2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIwCi0gICAgLTB4MS42ZDM5NWYwNTgyMGI0MmY1MTIyM2RhYjg4NDM2N2U3MXAtMSwKLSAgICAtMHgxLjNkM2UzNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQyMQotICAgIDB4MS44ZWU5MTg1OGZiYWFmMmEzNGEzMmRkOTQ3ZmQ3ZTA3NnAtMSwKLSAgICAweDEuNTJlMWY4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDIyCi0gICAgLTB4MS44ZWU5MTg1OGZiYWFmMmEzNGEzMmRkOTQ3ZmQ3ZTA3NnAtMSwKLSAgICAtMHgxLjUyZTFmOHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQyMwotICAgIDB4MS5iMmU0NzhiYzliYTczOGRiOTBiMmE0YmMyOTRlY2Y0ZnAtMSwKLSAgICAweDEuNjg4NWJhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI0Ci0gICAgLTB4MS5iMmU0NzhiYzliYTczOGRiOTBiMmE0YmMyOTRlY2Y0ZnAtMSwKLSAgICAtMHgxLjY4ODViYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQyNQotICAgIDB4MS5kOThlNDYxN2E4YmQxYTFiYjllMmU5ODlkOGFkMzVjY3AtMSwKLSAgICAweDEuN2UyOTdjcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDI2Ci0gICAgLTB4MS5kOThlNDYxN2E4YmQxYTFiYjllMmU5ODlkOGFkMzVjY3AtMSwKLSAgICAtMHgxLjdlMjk3Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDQyNwotICAgIDB4MS4wMWFlZjJhYTQxNjU0NWUzOTAwODY0ZjJiMzVkODZhNnAwLAotICAgIDB4MS45M2NkM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjgKLSAgICAtMHgxLjAxYWVmMmFhNDE2NTQ1ZTM5MDA4NjRmMmIzNWQ4NmE2cDAsCi0gICAgLTB4MS45M2NkM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MjkKLSAgICAweDEuMTg3MmE2Y2IzZGJhMTU2ZGI4ZGM3ODRlOTVkOTZhNDZwMCwKLSAgICAweDEuYTk3MXAtMQotICB9LAotICB7IC8vIEVudHJ5IDQzMAotICAgIC0weDEuMTg3MmE2Y2IzZGJhMTU2ZGI4ZGM3ODRlOTVkOTZhNDZwMCwKLSAgICAtMHgxLmE5NzFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzEKLSAgICAweDEuMzE2YzkxYWY0NmIwMTVhOWM5MzFhODE2ZmVkODkwOTJwMCwKLSAgICAweDEuYmYxNGMycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMyCi0gICAgLTB4MS4zMTZjOTFhZjQ2YjAxNWE5YzkzMWE4MTZmZWQ4OTA5MnAwLAotICAgIC0weDEuYmYxNGMycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDMzCi0gICAgMHgxLjRkMGRmYTgxZTljYzgwNmMxMDE5NGZiYTZiNzY3NzYxcDAsCi0gICAgMHgxLmQ0Yjg4NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQzNAotICAgIC0weDEuNGQwZGZhODFlOWNjODA2YzEwMTk0ZmJhNmI3Njc3NjFwMCwKLSAgICAtMHgxLmQ0Yjg4NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQzNQotICAgIDB4MS42YmU3MDE5ZjM0ZDM0ZjI1Y2IwYzE0ZDBjN2JjN2IzMnAwLAotICAgIDB4MS5lYTVjM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzYKLSAgICAtMHgxLjZiZTcwMTlmMzRkMzRmMjVjYjBjMTRkMGM3YmM3YjMycDAsCi0gICAgLTB4MS5lYTVjM2VwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzcKLSAgICAweDEuZDc0Y2IyMDBhYjU5MDQwMjkwNjI3YTliMmZmZTI5Y2ZwMCwKLSAgICAweDEuMTJiZDkycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0MzgKLSAgICAtMHgxLmQ3NGNiMjAwYWI1OTA0MDI5MDYyN2E5YjJmZmUyOWNmcDAsCi0gICAgLTB4MS4xMmJkOTJwMAotICB9LAotICB7IC8vIEVudHJ5IDQzOQotICAgIDB4MS4xYjQ4YTY5NjRjMDI0NjQ4ZjE4NmJiNmIxZWJkZWVjMnAxLAotICAgIDB4MS4yNTdiMjRwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0MAotICAgIC0weDEuMWI0OGE2OTY0YzAyNDY0OGYxODZiYjZiMWViZGVlYzJwMSwKLSAgICAtMHgxLjI1N2IyNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQxCi0gICAgMHgxLjVkNjA0NDY2YzVhZWU4ZjFhMWQ4NDcwZjdmZjU3OWNmcDEsCi0gICAgMHgxLjM4MzhiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQyCi0gICAgLTB4MS41ZDYwNDQ2NmM1YWVlOGYxYTFkODQ3MGY3ZmY1NzljZnAxLAotICAgIC0weDEuMzgzOGI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDMKLSAgICAweDEuYzA4Y2JkNTJkMmIwMTJmMGNiNDdiY2IzZmY1MTNjNmRwMSwKLSAgICAweDEuNGFmNjQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDQKLSAgICAtMHgxLmMwOGNiZDUyZDJiMDEyZjBjYjQ3YmNiM2ZmNTEzYzZkcDEsCi0gICAgLTB4MS40YWY2NDhwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0NQotICAgIDB4MS4zNDI5ZjZhYTM0NDZkNzAzZTZlZjk2ZTBiNTY0ZmMwY3AyLAotICAgIDB4MS41ZGIzZGFwMAotICB9LAotICB7IC8vIEVudHJ5IDQ0NgotICAgIC0weDEuMzQyOWY2YWEzNDQ2ZDcwM2U2ZWY5NmUwYjU2NGZjMGNwMiwKLSAgICAtMHgxLjVkYjNkYXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ3Ci0gICAgMHgxLmUzYTNhMjViMjYwNjQxOGExMzk3MDk3MWJlZWY0MWQ2cDIsCi0gICAgMHgxLjcwNzE2Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDQ4Ci0gICAgLTB4MS5lM2EzYTI1YjI2MDY0MThhMTM5NzA5NzFiZWVmNDFkNnAyLAotICAgIC0weDEuNzA3MTZjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NDkKLSAgICAweDEuMTFkOGI3YmE0MTY5NDY1ODExMWFmNDg5MjViYmFkNjhwNCwKLSAgICAweDEuODMyZWZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTAKLSAgICAtMHgxLjExZDhiN2JhNDE2OTQ2NTgxMTFhZjQ4OTI1YmJhZDY4cDQsCi0gICAgLTB4MS44MzJlZmVwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1MQotICAgIC0weDEuMGQ3MDU2MzE5M2ZlMjE5ZjNmZDMxYTI4NWY0ZDY2MzhwNiwKLSAgICAweDEuOTVlYzkwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTIKLSAgICAweDEuMGQ3MDU2MzE5M2ZlMjE5ZjNmZDMxYTI4NWY0ZDY2MzhwNiwKLSAgICAtMHgxLjk1ZWM5MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDUzCi0gICAgLTB4MS42YTdlMzBhZDg0NjBmMWE3MTA0NzllMmRiOTQ5NWM5Y3AzLAotICAgIDB4MS5hOGFhMWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NAotICAgIDB4MS42YTdlMzBhZDg0NjBmMWE3MTA0NzllMmRiOTQ5NWM5Y3AzLAotICAgIC0weDEuYThhYTFjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTUKLSAgICAweDEuOWYzOWVlOWZlZGIyMzc1ZWMwNWQ2ZGE3YTI4OGM2YmRwMCwKLSAgICAweDEuMDRhZmY4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NTYKLSAgICAtMHgxLjlmMzllZTlmZWRiMjM3NWVjMDVkNmRhN2EyODhjNmJkcDAsCi0gICAgLTB4MS4wNGFmZjhwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1NwotICAgIDB4MS45ZjNjNTA5YzZhN2Q3NWU0NTEwODgzNTljODhkZWY4OHAwLAotICAgIDB4MS4wNGIwYTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ1OAotICAgIC0weDEuOWYzYzUwOWM2YTdkNzVlNDUxMDg4MzU5Yzg4ZGVmODhwMCwKLSAgICAtMHgxLjA0YjBhMHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDU5Ci0gICAgMHgxLjlmM2ViMjlkZjllNmEyMDQ2NzQ3NGUyNGQ4YmYzNWJhcDAsCi0gICAgMHgxLjA0YjE0OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDYwCi0gICAgLTB4MS45ZjNlYjI5ZGY5ZTZhMjA0Njc0NzRlMjRkOGJmMzViYXAwLAotICAgIC0weDEuMDRiMTQ4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjEKLSAgICAweDEuOWY0MTE0YTQ5YmZmZmMzZjVhMTgzZDM2MDAwYWE3ODVwMCwKLSAgICAweDEuMDRiMWYwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjIKLSAgICAtMHgxLjlmNDExNGE0OWJmZmZjM2Y1YTE4M2QzNjAwMGFhNzg1cDAsCi0gICAgLTB4MS4wNGIxZjBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ2MwotICAgIDB4MS45ZjQzNzZiMDUwZGJjNTZiZjU1OTYwODMxOTIwNzdiNXAwLAotICAgIDB4MS4wNGIyOThwMAotICB9LAotICB7IC8vIEVudHJ5IDQ2NAotICAgIC0weDEuOWY0Mzc2YjA1MGRiYzU2YmY1NTk2MDgzMTkyMDc3YjVwMCwKLSAgICAtMHgxLjA0YjI5OHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY1Ci0gICAgMHgxLjlmNDVkOGMxMTg4YzNlYjc3YmNhMmM0YTg0YzdlYWRkcDAsCi0gICAgMHgxLjA0YjM0MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDY2Ci0gICAgLTB4MS45ZjQ1ZDhjMTE4OGMzZWI3N2JjYTJjNGE4NGM3ZWFkZHAwLAotICAgIC0weDEuMDRiMzQwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjcKLSAgICAweDEuOWY0ODNhZDZmMzIzYTlhNWE5MGQ0YWUwN2EyM2QyNjZwMCwKLSAgICAweDEuMDRiM2U4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NjgKLSAgICAtMHgxLjlmNDgzYWQ2ZjMyM2E5YTVhOTBkNGFlMDdhMjNkMjY2cDAsCi0gICAgLTB4MS4wNGIzZThwMAotICB9LAotICB7IC8vIEVudHJ5IDQ2OQotICAgIDB4MS45ZjRhOWNmMWUwYjQ0ODEwYjNhYTdjY2E0NWQ3MWNjOXAwLAotICAgIDB4MS4wNGI0OTBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ3MAotICAgIC0weDEuOWY0YTljZjFlMGI0NDgxMGIzYWE3Y2NhNDVkNzFjYzlwMCwKLSAgICAtMHgxLjA0YjQ5MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcxCi0gICAgMHgxLjlmNGNmMDhhZjZjNjBlZDZlMmJhZGQ1YTdiNWMxZTg3cDAsCi0gICAgMHgxLjA0YjUzNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDcyCi0gICAgLTB4MS45ZjRjZjA4YWY2YzYwZWQ2ZTJiYWRkNWE3YjVjMWU4N3AwLAotICAgIC0weDEuMDRiNTM0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzMKLSAgICAtMHgxLnAtMTQ5LAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzQKLSAgICAweDEucC0xNDksCi0gICAgMHgxLnAtMTQ5Ci0gIH0sCi0gIHsgLy8gRW50cnkgNDc1Ci0gICAgMC4wLAotICAgIDAuMAotICB9LAotICB7IC8vIEVudHJ5IDQ3NgotICAgIDB4MS5wLTE0OSwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzcKLSAgICAtMHgxLnAtMTQ5LAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA0NzgKLSAgICAweDEuNGQ4MmIzMzRhNTgyYTU2YTgwMmY5NmIzYjk2ZmViODFwLTEsCi0gICAgMHgxLjI3OWE3MnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ3OQotICAgIC0weDEuNGQ4MmIzMzRhNTgyYTU2YTgwMmY5NmIzYjk2ZmViODFwLTEsCi0gICAgLTB4MS4yNzlhNzJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODAKLSAgICAweDEuNGQ4MmI2MGRlNDI4ZjkyYWE4Yzk2YTRhN2ZlODg5NDVwLTEsCi0gICAgMHgxLjI3OWE3NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ4MQotICAgIC0weDEuNGQ4MmI2MGRlNDI4ZjkyYWE4Yzk2YTRhN2ZlODg5NDVwLTEsCi0gICAgLTB4MS4yNzlhNzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODIKLSAgICAweDEuNGQ4MmI4ZTcyMmQzMDJmNWFhOTM5YTU2M2IxMmIxYTFwLTEsCi0gICAgMHgxLjI3OWE3NnAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ4MwotICAgIC0weDEuNGQ4MmI4ZTcyMmQzMDJmNWFhOTM5YTU2M2IxMmIxYTFwLTEsCi0gICAgLTB4MS4yNzlhNzZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODQKLSAgICAtMHgxLjg5NzE0NzYwZThmZWQ5YWYwM2E5MWNmMTUyN2NlYWFkcDIsCi0gICAgMHgxLmJiNjdhY3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg1Ci0gICAgMHgxLjg5NzE0NzYwZThmZWQ5YWYwM2E5MWNmMTUyN2NlYWFkcDIsCi0gICAgLTB4MS5iYjY3YWNwMAotICB9LAotICB7IC8vIEVudHJ5IDQ4NgotICAgIC0weDEuODk3MTMzZmI4MWYzMTY5YjMxNjFkNTBiNTBjY2MxYTdwMiwKLSAgICAweDEuYmI2N2FlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0ODcKLSAgICAweDEuODk3MTMzZmI4MWYzMTY5YjMxNjFkNTBiNTBjY2MxYTdwMiwKLSAgICAtMHgxLmJiNjdhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNDg4Ci0gICAgLTB4MS44OTcxMjA5NjFjYzQ0NzVlYjNiODA2MWRmMDQwOTQzMHAyLAotICAgIDB4MS5iYjY3YjBwMAotICB9LAotICB7IC8vIEVudHJ5IDQ4OQotICAgIDB4MS44OTcxMjA5NjFjYzQ0NzVlYjNiODA2MWRmMDQwOTQzMHAyLAotICAgIC0weDEuYmI2N2IwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTAKLSAgICAweDEuZGVmNDljM2FiMGFkNWRkZTkzYmEzNGM1NGRiNzE0YzdwLTIsCi0gICAgMHgxLmJmZmZmZXAtMgotICB9LAotICB7IC8vIEVudHJ5IDQ5MQotICAgIC0weDEuZGVmNDljM2FiMGFkNWRkZTkzYmEzNGM1NGRiNzE0YzdwLTIsCi0gICAgLTB4MS5iZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTIKLSAgICAweDEuZGVmNDllYWFiMzdhMTQ3OTIzMWU4OTk1MDllY2YyNmNwLTIsCi0gICAgMHgxLmMwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDkzCi0gICAgLTB4MS5kZWY0OWVhYWIzN2ExNDc5MjMxZTg5OTUwOWVjZjI2Y3AtMiwKLSAgICAtMHgxLmMwcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk0Ci0gICAgMHgxLmRlZjRhMTFhYjY0N2VlZjIxMmIxOTk3ZDNiNTE0MDVhcC0yLAotICAgIDB4MS5jMDAwMDJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTUKLSAgICAtMHgxLmRlZjRhMTFhYjY0N2VlZjIxMmIxOTk3ZDNiNTE0MDVhcC0yLAotICAgIC0weDEuYzAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk2Ci0gICAgMHgxLmE0NmNhZjY1MmZhMTg5ODdlNGQwYTc5ZjgxNDVkZDVicC0xLAotICAgIDB4MS41ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA0OTcKLSAgICAtMHgxLmE0NmNhZjY1MmZhMTg5ODdlNGQwYTc5ZjgxNDVkZDVicC0xLAotICAgIC0weDEuNWZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNDk4Ci0gICAgMHgxLmE0NmNiMmJlNmEwYjFkYWNiMzYyNjljNDFhNGE5MTQ3cC0xLAotICAgIDB4MS42MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDQ5OQotICAgIC0weDEuYTQ2Y2IyYmU2YTBiMWRhY2IzNjI2OWM0MWE0YTkxNDdwLTEsCi0gICAgLTB4MS42MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUwMAotICAgIDB4MS5hNDZjYjYxN2E0N2EzMWExNTZkYzAwMDViNGU2ZWJwLTEsCi0gICAgMHgxLjYwMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUwMQotICAgIC0weDEuYTQ2Y2I2MTdhNDdhMzFhMTU2ZGMwMDA1YjRlNmVicC0xLAotICAgIC0weDEuNjAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAyCi0gICAgMHgxLjNkNmRjMjMwODY5YzcwZDU5MzdmZWRjOTJkNDI0ZGYycDEsCi0gICAgMHgxLjJmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTAzCi0gICAgLTB4MS4zZDZkYzIzMDg2OWM3MGQ1OTM3ZmVkYzkyZDQyNGRmMnAxLAotICAgIC0weDEuMmZmZmZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDQKLSAgICAweDEuM2Q2ZGM5NTZlYWM3ZDNiOGQ2ZWIyMTc0MTEwZDFkZGNwMSwKLSAgICAweDEuMzBwMAotICB9LAotICB7IC8vIEVudHJ5IDUwNQotICAgIC0weDEuM2Q2ZGM5NTZlYWM3ZDNiOGQ2ZWIyMTc0MTEwZDFkZGNwMSwKLSAgICAtMHgxLjMwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDYKLSAgICAweDEuM2Q2ZGQwN2Q0ZjNhMjM3NTg5YWQ1YzQxYzM4MDFjYjRwMSwKLSAgICAweDEuMzAwMDAycDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MDcKLSAgICAtMHgxLjNkNmRkMDdkNGYzYTIzNzU4OWFkNWM0MWMzODAxY2I0cDEsCi0gICAgLTB4MS4zMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDUwOAotICAgIC0weDEuYjJkOGE4NThjOTBhNTM4ZDFkYWFkNzgwNDBlNjliOThwLTEsCi0gICAgMHgxLjM3ZmZmZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTA5Ci0gICAgMHgxLmIyZDhhODU4YzkwYTUzOGQxZGFhZDc4MDQwZTY5Yjk4cC0xLAotICAgIC0weDEuMzdmZmZlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTAKLSAgICAtMHgxLmIyZDg5YTkzODI5NGM4YTI2MDRkYjlmN2FhNTZhMGY4cC0xLAotICAgIDB4MS4zOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTExCi0gICAgMHgxLmIyZDg5YTkzODI5NGM4YTI2MDRkYjlmN2FhNTZhMGY4cC0xLAotICAgIC0weDEuMzhwMQotICB9LAotICB7IC8vIEVudHJ5IDUxMgotICAgIC0weDEuYjJkODhjY2UzYzdjY2UxNzQyNjY0MzlkYTMwOWNmNjBwLTEsCi0gICAgMHgxLjM4MDAwMnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTEzCi0gICAgMHgxLmIyZDg4Y2NlM2M3Y2NlMTc0MjY2NDM5ZGEzMDljZjYwcC0xLAotICAgIC0weDEuMzgwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTQKLSAgICAweDEuMDZmOGQwY2VjZjE2OWIwNjQ2N2U0YWEwMzZjZjgyNzlwLTQsCi0gICAgMHgxLjA2OWM4Y3AtNAotICB9LAotICB7IC8vIEVudHJ5IDUxNQotICAgIC0weDEuMDZmOGQwY2VjZjE2OWIwNjQ2N2U0YWEwMzZjZjgyNzlwLTQsCi0gICAgLTB4MS4wNjljOGNwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTYKLSAgICAweDEuMDgwZjc0NmNkMTczOTdiNjBmOTA4ZTJiZTAxZjdiYTdwLTMsCi0gICAgMHgxLjA2OWM4Y3AtMwotICB9LAotICB7IC8vIEVudHJ5IDUxNwotICAgIC0weDEuMDgwZjc0NmNkMTczOTdiNjBmOTA4ZTJiZTAxZjdiYTdwLTMsCi0gICAgLTB4MS4wNjljOGNwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MTgKLSAgICAweDEuOGVkOTE1NTA0NjlkMGViMDhhYWUyMDY1ODk1ODA0M2JwLTMsCi0gICAgMHgxLjg5ZWFkMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDUxOQotICAgIC0weDEuOGVkOTE1NTA0NjlkMGViMDhhYWUyMDY1ODk1ODA0M2JwLTMsCi0gICAgLTB4MS44OWVhZDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjAKLSAgICAweDEuMGM4NjQxNDlkYzY4Mjc2ZGYyOTkyODJkMDRmNjlhZjZwLTIsCi0gICAgMHgxLjA2OWM4Y3AtMgotICB9LAotICB7IC8vIEVudHJ5IDUyMQotICAgIC0weDEuMGM4NjQxNDlkYzY4Mjc2ZGYyOTkyODJkMDRmNjlhZjZwLTIsCi0gICAgLTB4MS4wNjljOGNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjIKLSAgICAweDEuNTNmZGQwMWE5OGYwN2YyMDg1NTVjYzY0NDI3NmVmMmNwLTIsCi0gICAgMHgxLjQ4NDNiMHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUyMwotICAgIC0weDEuNTNmZGQwMWE5OGYwN2YyMDg1NTVjYzY0NDI3NmVmMmNwLTIsCi0gICAgLTB4MS40ODQzYjBwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjQKLSAgICAweDEuOWU5MjViN2UyMzdiODhhYzYwOThiNTEzYzM3MTc1N2NwLTIsCi0gICAgMHgxLjg5ZWFkNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUyNQotICAgIC0weDEuOWU5MjViN2UyMzdiODhhYzYwOThiNTEzYzM3MTc1N2NwLTIsCi0gICAgLTB4MS44OWVhZDRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjYKLSAgICAweDEuZWQyMWVhZGIwOGU0N2RiOGIyZjExODgwZmJiNTI4NzlwLTIsCi0gICAgMHgxLmNiOTFmOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDUyNwotICAgIC0weDEuZWQyMWVhZGIwOGU0N2RiOGIyZjExODgwZmJiNTI4NzlwLTIsCi0gICAgLTB4MS5jYjkxZjhwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MjgKLSAgICAweDEuMjA1YTYzYTA0ZTMxZTE4NTJhZjNkYTIyZTlmNjlhMTlwLTEsCi0gICAgMHgxLjA2OWM4ZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDUyOQotICAgIC0weDEuMjA1YTYzYTA0ZTMxZTE4NTJhZjNkYTIyZTlmNjlhMTlwLTEsCi0gICAgLTB4MS4wNjljOGVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzAKLSAgICAweDEuNGQ0NjZmODRhMzI4ODUxNWFiNjk5ZGQxY2VjMzQ1ZDNwLTEsCi0gICAgMHgxLjI3NzAyMHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzMQotICAgIC0weDEuNGQ0NjZmODRhMzI4ODUxNWFiNjk5ZGQxY2VjMzQ1ZDNwLTEsCi0gICAgLTB4MS4yNzcwMjBwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzIKLSAgICAweDEuN2UxZDk5ODNiNTg3NTRhMjkwMTJlMTdhMjZmMjc3ZDdwLTEsCi0gICAgMHgxLjQ4NDNiMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzMwotICAgIC0weDEuN2UxZDk5ODNiNTg3NTRhMjkwMTJlMTdhMjZmMjc3ZDdwLTEsCi0gICAgLTB4MS40ODQzYjJwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzQKLSAgICAweDEuYjNkZjQwMmZlNDk4NDJhNDE2NGNmMzgwZmZhNWRjcC0xLAotICAgIDB4MS42OTE3NDRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzUKLSAgICAtMHgxLmIzZGY0MDJmZTQ5ODQyYTQxNjRjZjM4MGZmYTVkY3AtMSwKLSAgICAtMHgxLjY5MTc0NHAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzNgotICAgIDB4MS5lZmQ4MzExZGRmMmNjMzkzZjIwZWE3NjdjN2IyMjY0YXAtMSwKLSAgICAweDEuODllYWQ2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTM3Ci0gICAgLTB4MS5lZmQ4MzExZGRmMmNjMzkzZjIwZWE3NjdjN2IyMjY0YXAtMSwKLSAgICAtMHgxLjg5ZWFkNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDUzOAotICAgIDB4MS4xOWUyNzFhNjQ0NGZmMzRhYTJmNzNjODUwMTQ5NzFjOXAwLAotICAgIDB4MS5hYWJlNjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1MzkKLSAgICAtMHgxLjE5ZTI3MWE2NDQ0ZmYzNGFhMmY3M2M4NTAxNDk3MWM5cDAsCi0gICAgLTB4MS5hYWJlNjhwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDAKLSAgICAweDEuNDEwMzkzODAyYzFhMjIzODI5MTRhYmYwOTZhZmJlZTlwMCwKLSAgICAweDEuY2I5MWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQxCi0gICAgLTB4MS40MTAzOTM4MDJjMWEyMjM4MjkxNGFiZjA5NmFmYmVlOXAwLAotICAgIC0weDEuY2I5MWZhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQyCi0gICAgMHgxLjZlZmVkMzNiNzE0MDQ1ZmU5OWNmYTU5NDcxZTFlOWZkcDAsCi0gICAgMHgxLmVjNjU4Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDU0MwotICAgIC0weDEuNmVmZWQzM2I3MTQwNDVmZTk5Y2ZhNTk0NzFlMWU5ZmRwMCwKLSAgICAtMHgxLmVjNjU4Y3AtMQotICB9LAotICB7IC8vIEVudHJ5IDU0NAotICAgIDB4MS5hNjRjODZjMDJlN2E3ZDk2ZTkxZjk2YTU1ODQxMjlmNHAwLAotICAgIDB4MS4wNjljOGVwMAotICB9LAotICB7IC8vIEVudHJ5IDU0NQotICAgIC0weDEuYTY0Yzg2YzAyZTdhN2Q5NmU5MWY5NmE1NTg0MTI5ZjRwMCwKLSAgICAtMHgxLjA2OWM4ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ2Ci0gICAgMHgxLmVhYjQ0NzdlNWIyMjZkYzUyNzBiYWU5NzIwZWExM2UzcDAsCi0gICAgMHgxLjE3MDY1NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTQ3Ci0gICAgLTB4MS5lYWI0NDc3ZTViMjI2ZGM1MjcwYmFlOTcyMGVhMTNlM3AwLAotICAgIC0weDEuMTcwNjU2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDgKLSAgICAweDEuMjEyNzdmOWE3ZDJmNjZiYjEzMWNmZjMyZjI2NjI5Y2RwMSwKLSAgICAweDEuMjc3MDFlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NDkKLSAgICAtMHgxLjIxMjc3ZjlhN2QyZjY2YmIxMzFjZmYzMmYyNjYyOWNkcDEsCi0gICAgLTB4MS4yNzcwMWVwMAotICB9LAotICB7IC8vIEVudHJ5IDU1MAotICAgIDB4MS41YmQxNDA2ODI1YjNmZmViYTQ4MjIxYWQ2YThmNTQxNHAxLAotICAgIDB4MS4zN2Q5ZTZwMAotICB9LAotICB7IC8vIEVudHJ5IDU1MQotICAgIC0weDEuNWJkMTQwNjgyNWIzZmZlYmE0ODIyMWFkNmE4ZjU0MTRwMSwKLSAgICAtMHgxLjM3ZDllNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUyCi0gICAgMHgxLmFmNDY0MzUyYTk4OWY4MDI4MjQxNTJjYWQwYWZlOGI3cDEsCi0gICAgMHgxLjQ4NDNhZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTUzCi0gICAgLTB4MS5hZjQ2NDM1MmE5ODlmODAyODI0MTUyY2FkMGFmZThiN3AxLAotICAgIC0weDEuNDg0M2FlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTQKLSAgICAweDEuMTg2NmZhN2E2MDFiODdiYjZmMzc4YjM0MzhlM2ZjMjZwMiwKLSAgICAweDEuNThhZDc2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NTUKLSAgICAtMHgxLjE4NjZmYTdhNjAxYjg3YmI2ZjM3OGIzNDM4ZTNmYzI2cDIsCi0gICAgLTB4MS41OGFkNzZwMAotICB9LAotICB7IC8vIEVudHJ5IDU1NgotICAgIDB4MS44YmRjYzY4NzE4YTcwMTE4ODYwYTFiOTQ1NDM3ZmQ5MHAyLAotICAgIDB4MS42OTE3M2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU1NwotICAgIC0weDEuOGJkY2M2ODcxOGE3MDExODg2MGExYjk0NTQzN2ZkOTBwMiwKLSAgICAtMHgxLjY5MTczZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU4Ci0gICAgMHgxLjRiYjY4ODU5ZDNlYWZiMmExMzBiNzNiYTA3ZTQ4ZThhcDMsCi0gICAgMHgxLjc5ODEwNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTU5Ci0gICAgLTB4MS40YmI2ODg1OWQzZWFmYjJhMTMwYjczYmEwN2U0OGU4YXAzLAotICAgIC0weDEuNzk4MTA2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjAKLSAgICAweDEuZjJlZmFiYWViMzIyZWM1Y2E5ZDMzODY5Mjk1YzYwNjNwNCwKLSAgICAweDEuODllYWNlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjEKLSAgICAtMHgxLmYyZWZhYmFlYjMyMmVjNWNhOWQzMzg2OTI5NWM2MDYzcDQsCi0gICAgLTB4MS44OWVhY2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU2MgotICAgIC0weDEuZjJmMTM5MjkzMjNlZjhmNThkYjE1MjE0M2U2NWJjYjdwNCwKLSAgICAweDEuOWE1NDk2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjMKLSAgICAweDEuZjJmMTM5MjkzMjNlZjhmNThkYjE1MjE0M2U2NWJjYjdwNCwKLSAgICAtMHgxLjlhNTQ5NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY0Ci0gICAgLTB4MS40YmI2ZTBlYzAyY2FkNWMxMTBhNGQ3MDAzOWRiNGQxY3AzLAotICAgIDB4MS5hYWJlNWVwMAotICB9LAotICB7IC8vIEVudHJ5IDU2NQotICAgIDB4MS40YmI2ZTBlYzAyY2FkNWMxMTBhNGQ3MDAzOWRiNGQxY3AzLAotICAgIC0weDEuYWFiZTVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjYKLSAgICAtMHgxLjhiZGQwNmE2NTVkZmEyZjMxOTVhY2E0ODc5OGU1Yzg2cDIsCi0gICAgMHgxLmJiMjgyNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTY3Ci0gICAgMHgxLjhiZGQwNmE2NTVkZmEyZjMxOTVhY2E0ODc5OGU1Yzg2cDIsCi0gICAgLTB4MS5iYjI4MjZwMAotICB9LAotICB7IC8vIEVudHJ5IDU2OAotICAgIC0weDEuMTg2NzFiNzZjZmNjZjk4YTZlZGJjMWZkNWI4NjQ3YjdwMiwKLSAgICAweDEuY2I5MWVlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NjkKLSAgICAweDEuMTg2NzFiNzZjZmNjZjk4YTZlZGJjMWZkNWI4NjQ3YjdwMiwKLSAgICAtMHgxLmNiOTFlZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTcwCi0gICAgLTB4MS5hZjQ2NmJhYzgwZGM5ZGY2NjhkMWUwZTliNDQyYmYwZXAxLAotICAgIDB4MS5kYmZiYjZwMAotICB9LAotICB7IC8vIEVudHJ5IDU3MQotICAgIDB4MS5hZjQ2NmJhYzgwZGM5ZGY2NjhkMWUwZTliNDQyYmYwZXAxLAotICAgIC0weDEuZGJmYmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzIKLSAgICAtMHgxLjViZDE1YmNiM2QwNjkwNmNlZjVmM2IyZWMzYWI0YWI5cDEsCi0gICAgMHgxLmVjNjU3ZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTczCi0gICAgMHgxLjViZDE1YmNiM2QwNjkwNmNlZjVmM2IyZWMzYWI0YWI5cDEsCi0gICAgLTB4MS5lYzY1N2VwMAotICB9LAotICB7IC8vIEVudHJ5IDU3NAotICAgIC0weDEuMjEyNzkzOGE1NDZkM2M0MjgyOTJiYTUzZWU2ZjY3Y2NwMSwKLSAgICAweDEuZmNjZjQ2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzUKLSAgICAweDEuMjEyNzkzOGE1NDZkM2M0MjgyOTJiYTUzZWU2ZjY3Y2NwMSwKLSAgICAtMHgxLmZjY2Y0NnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc2Ci0gICAgLTB4MS5lYWI0NWNhZWQ3MDZjNGRiNjIyYzkwZmUzZThkMTZjMnAwLAotICAgIDB4MS4wNjljODhwMQotICB9LAotICB7IC8vIEVudHJ5IDU3NwotICAgIDB4MS5lYWI0NWNhZWQ3MDZjNGRiNjIyYzkwZmUzZThkMTZjMnAwLAotICAgIC0weDEuMDY5Yzg4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1NzgKLSAgICAtMHgxLmE2NGM5NzllYjcwM2Q4MmNiNDgwODA0NGU4YWJmOTNmcDAsCi0gICAgMHgxLjBlZDE2Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTc5Ci0gICAgMHgxLmE2NGM5NzllYjcwM2Q4MmNiNDgwODA0NGU4YWJmOTNmcDAsCi0gICAgLTB4MS4wZWQxNmNwMQotICB9LAotICB7IC8vIEVudHJ5IDU4MAotICAgIC0weDEuNmVmZWUxMTUwMDI2M2MxMGMxZDFiYjU5MDQyNDRkZTZwMCwKLSAgICAweDEuMTcwNjUwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODEKLSAgICAweDEuNmVmZWUxMTUwMDI2M2MxMGMxZDFiYjU5MDQyNDRkZTZwMCwKLSAgICAtMHgxLjE3MDY1MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTgyCi0gICAgLTB4MS40MTAzYTFiYzBmNjU3NmE3NjBkNDlkYTNiZmU1NTg3NHAwLAotICAgIDB4MS4xZjNiMzRwMQotICB9LAotICB7IC8vIEVudHJ5IDU4MwotICAgIDB4MS40MTAzYTFiYzBmNjU3NmE3NjBkNDlkYTNiZmU1NTg3NHAwLAotICAgIC0weDEuMWYzYjM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODQKLSAgICAtMHgxLjE5ZTI4MDFhYTI0ZWUwYWRjZDk0OTFlNGQ3YWYyNTZmcDAsCi0gICAgMHgxLjI3NzAxOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg1Ci0gICAgMHgxLjE5ZTI4MDFhYTI0ZWUwYWRjZDk0OTFlNGQ3YWYyNTZmcDAsCi0gICAgLTB4MS4yNzcwMThwMQotICB9LAotICB7IC8vIEVudHJ5IDU4NgotICAgIC0weDEuZWZkODRlNTA2NTJjMWI3YzcxOTcyYWQ4ZWU3YzAxOGFwLTEsCi0gICAgMHgxLjJmYTRmY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTg3Ci0gICAgMHgxLmVmZDg0ZTUwNjUyYzFiN2M3MTk3MmFkOGVlN2MwMThhcC0xLAotICAgIC0weDEuMmZhNGZjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1ODgKLSAgICAtMHgxLmIzZGY1ZDlmNTRlMmM3NDhjZjAyMjdlZTA5NzRlYTJlcC0xLAotICAgIDB4MS4zN2Q5ZTBwMQotICB9LAotICB7IC8vIEVudHJ5IDU4OQotICAgIDB4MS5iM2RmNWQ5ZjU0ZTJjNzQ4Y2YwMjI3ZWUwOTc0ZWEyZXAtMSwKLSAgICAtMHgxLjM3ZDllMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkwCi0gICAgLTB4MS43ZTFkYjczMzc2OWExMTI2YTJiMGFjN2ZhMTRhNDAyY3AtMSwKLSAgICAweDEuNDAwZWM0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTEKLSAgICAweDEuN2UxZGI3MzM3NjlhMTEyNmEyYjBhYzdmYTE0YTQwMmNwLTEsCi0gICAgLTB4MS40MDBlYzRwMQotICB9LAotICB7IC8vIEVudHJ5IDU5MgotICAgIC0weDEuNGQ0NjhkODJjMWE4NGZlZjcyNzlmYzVmYjI0NDE5YjJwLTEsCi0gICAgMHgxLjQ4NDNhOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTkzCi0gICAgMHgxLjRkNDY4ZDgyYzFhODRmZWY3Mjc5ZmM1ZmIyNDQxOWIycC0xLAotICAgIC0weDEuNDg0M2E4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTQKLSAgICAtMHgxLjIwNWE4MjAyNTQ1MjAyZDg5MWNlODliZmE2Y2QxNDc2cC0xLAotICAgIDB4MS41MDc4OGNwMQotICB9LAotICB7IC8vIEVudHJ5IDU5NQotICAgIDB4MS4yMDVhODIwMjU0NTIwMmQ4OTFjZTg5YmZhNmNkMTQ3NnAtMSwKLSAgICAtMHgxLjUwNzg4Y3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk2Ci0gICAgLTB4MS5lZDIyMjg5ZDg5MWVkNzhjZGM4MThhNGNkZTZkZTkxOHAtMiwKLSAgICAweDEuNThhZDcwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA1OTcKLSAgICAweDEuZWQyMjI4OWQ4OTFlZDc4Y2RjODE4YTRjZGU2ZGU5MThwLTIsCi0gICAgLTB4MS41OGFkNzBwMQotICB9LAotICB7IC8vIEVudHJ5IDU5OAotICAgIC0weDEuOWU5MjlhN2ZhZGY4M2I2ZjllOGZiODUxZjUxMmI0NGJwLTIsCi0gICAgMHgxLjYwZTI1NHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNTk5Ci0gICAgMHgxLjllOTI5YTdmYWRmODNiNmY5ZThmYjg1MWY1MTJiNDRicC0yLAotICAgIC0weDEuNjBlMjU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDAKLSAgICAtMHgxLjUzZmUxMGE1NDdhNmVjY2U1Y2FkZGMyMDA1ZGI4MjJicC0yLAotICAgIDB4MS42OTE3MzhwMQotICB9LAotICB7IC8vIEVudHJ5IDYwMQotICAgIDB4MS41M2ZlMTBhNTQ3YTZlY2NlNWNhZGRjMjAwNWRiODIyYnAtMiwKLSAgICAtMHgxLjY5MTczOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjAyCi0gICAgLTB4MS4wYzg2ODNiMWJjNjgyNzU5ZTI4NDQxZWY5N2M4ODU0YnAtMiwKLSAgICAweDEuNzE0YzFjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDMKLSAgICAweDEuMGM4NjgzYjFiYzY4Mjc1OWUyODQ0MWVmOTdjODg1NGJwLTIsCi0gICAgLTB4MS43MTRjMWNwMQotICB9LAotICB7IC8vIEVudHJ5IDYwNAotICAgIC0weDEuOGVkOTljODU0NjAwOGJlNDY2MTRlYTY2YzdkZGQ3ZTZwLTMsCi0gICAgMHgxLjc5ODFwMQotICB9LAotICB7IC8vIEVudHJ5IDYwNQotICAgIDB4MS44ZWQ5OWM4NTQ2MDA4YmU0NjYxNGVhNjZjN2RkZDdlNnAtMywKLSAgICAtMHgxLjc5ODFwMQotICB9LAotICB7IC8vIEVudHJ5IDYwNgotICAgIC0weDEuMDgwZmZlZjRlZGEwMjcxZDgxNjU4ZDU4YWUyODA3OTJwLTMsCi0gICAgMHgxLjgxYjVlNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjA3Ci0gICAgMHgxLjA4MGZmZWY0ZWRhMDI3MWQ4MTY1OGQ1OGFlMjgwNzkycC0zLAotICAgIC0weDEuODFiNWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MDgKLSAgICAtMHgxLjA2ZjllZTgzNjg2YWE2MTk0YzAzZGU3MWE2YjUyZjc1cC00LAotICAgIDB4MS44OWVhYzhwMQotICB9LAotICB7IC8vIEVudHJ5IDYwOQotICAgIDB4MS4wNmY5ZWU4MzY4NmFhNjE5NGMwM2RlNzFhNmI1MmY3NXAtNCwKLSAgICAtMHgxLjg5ZWFjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEwCi0gICAgMHgxLjBjODYyN2VjM2JjMmU4ZjBlNmRmNDRmODA5ZjM3MGZkcC0yLAotICAgIC0weDEuODFiNWVlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTEKLSAgICAtMHgxLjBjODYyN2VjM2JjMmU4ZjBlNmRmNDRmODA5ZjM3MGZkcC0yLAotICAgIDB4MS44MWI1ZWVwMgotICB9LAotICB7IC8vIEVudHJ5IDYxMgotICAgIDB4MS4yMDVhNDk3NTNiYjg5ZThjOTcxYzZjZDI4NDJlZGFmMHAtMSwKLSAgICAtMHgxLjcxNGMyNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjEzCi0gICAgLTB4MS4yMDVhNDk3NTNiYjg5ZThjOTcxYzZjZDI4NDJlZGFmMHAtMSwKLSAgICAweDEuNzE0YzI2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTQKLSAgICAweDEuZWZkN2ZiMWQyOGI4YTA2MDJiMjVmYWRmZTllMDI3N2FwLTEsCi0gICAgLTB4MS42MGUyNWVwMgotICB9LAotICB7IC8vIEVudHJ5IDYxNQotICAgIC0weDEuZWZkN2ZiMWQyOGI4YTA2MDJiMjVmYWRmZTllMDI3N2FwLTEsCi0gICAgMHgxLjYwZTI1ZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE2Ci0gICAgMHgxLmE2NGM0N2JjZmI1ZjljYmRiNDkzNjBhNjU1NDhmZDZkcDAsCi0gICAgLTB4MS41MDc4OTZwMgotICB9LAotICB7IC8vIEVudHJ5IDYxNwotICAgIC0weDEuYTY0YzQ3YmNmYjVmOWNiZGI0OTM2MGE2NTU0OGZkNmRwMCwKLSAgICAweDEuNTA3ODk2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MTgKLSAgICAweDEuYWY0NWRhYmQzNGI3NTU5N2ZmNzAwNzliM2RlOTg2ZmRwMSwKLSAgICAtMHgxLjQwMGVjZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjE5Ci0gICAgLTB4MS5hZjQ1ZGFiZDM0Yjc1NTk3ZmY3MDA3OWIzZGU5ODZmZHAxLAotICAgIDB4MS40MDBlY2VwMgotICB9LAotICB7IC8vIEVudHJ5IDYyMAotICAgIDB4MS5mMmViYTU4M2ZmZjlmOGRmMzY5M2ZmZDk2OTM5NWRlN3A0LAotICAgIC0weDEuMmZhNTA2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjEKLSAgICAtMHgxLmYyZWJhNTgzZmZmOWY4ZGYzNjkzZmZkOTY5Mzk1ZGU3cDQsCi0gICAgMHgxLjJmYTUwNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjIyCi0gICAgLTB4MS4xODY3NzBmNWNlZjE1MmE0ZWM3NWZlOWE3MDMxYTU2YXAyLAotICAgIC0weDEuMWYzYjNlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjMKLSAgICAweDEuMTg2NzcwZjVjZWYxNTJhNGVjNzVmZTlhNzAzMWE1NmFwMiwKLSAgICAweDEuMWYzYjNlcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MjQKLSAgICAtMHgxLmVhYjRiNTJlNmNjZTE2MGE1YjlhMjNhNGI5MjlkMDFkcDAsCi0gICAgLTB4MS4wZWQxNzZwMgotICB9LAotICB7IC8vIEVudHJ5IDYyNQotICAgIDB4MS5lYWI0YjUyZTZjY2UxNjBhNWI5YTIzYTRiOTI5ZDAxZHAwLAotICAgIDB4MS4wZWQxNzZwMgotICB9LAotICB7IC8vIEVudHJ5IDYyNgotICAgIC0weDEuMTllMmExMjRiYzNkZWVmNjQ4MzM4Mjc0NjI3Y2MzNzFwMCwKLSAgICAtMHgxLmZjY2Y1YXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI3Ci0gICAgMHgxLjE5ZTJhMTI0YmMzZGVlZjY0ODMzODI3NDYyN2NjMzcxcDAsCi0gICAgMHgxLmZjY2Y1YXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI4Ci0gICAgLTB4MS40ZDQ2YWNhNDhkZTQ3ZjVmZDkwYzkwMDBjMTU0MjVkOHAtMSwKLSAgICAtMHgxLmRiZmJjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjI5Ci0gICAgMHgxLjRkNDZhY2E0OGRlNDdmNWZkOTBjOTAwMGMxNTQyNWQ4cC0xLAotICAgIDB4MS5kYmZiYzhwMQotICB9LAotICB7IC8vIEVudHJ5IDYzMAotICAgIC0weDEuNTNmZTJmNmZjOWQwMjM3NzRhMjEwNWM4MjEzZTRkNWVwLTIsCi0gICAgLTB4MS5iYjI4MzZwMQotICB9LAotICB7IC8vIEVudHJ5IDYzMQotICAgIDB4MS41M2ZlMmY2ZmM5ZDAyMzc3NGEyMTA1YzgyMTNlNGQ1ZXAtMiwKLSAgICAweDEuYmIyODM2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzIKLSAgICAtMHgxLjA2ZmExZGE0M2IyNmNkNTgwY2U1YTViODljZjJlZmYzcC00LAotICAgIC0weDEuOWE1NGE0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzMKLSAgICAweDEuMDZmYTFkYTQzYjI2Y2Q1ODBjZTVhNWI4OWNmMmVmZjNwLTQsCi0gICAgMHgxLjlhNTRhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM0Ci0gICAgMHgxLjhlZDg3MTk4ZjQxM2QzYTEyMjY1ODI4N2FhN2ZjMzNlcC0zLAotICAgIC0weDEuNzk4MTEycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzUKLSAgICAtMHgxLjhlZDg3MTk4ZjQxM2QzYTEyMjY1ODI4N2FhN2ZjMzNlcC0zLAotICAgIDB4MS43OTgxMTJwMQotICB9LAotICB7IC8vIEVudHJ5IDYzNgotICAgIDB4MS5lZDIxOGFlZTJkZjRlODBlMzkzNDBiMGM0ZWMzYjFkNXAtMiwKLSAgICAtMHgxLjU4YWQ4MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjM3Ci0gICAgLTB4MS5lZDIxOGFlZTJkZjRlODBlMzkzNDBiMGM0ZWMzYjFkNXAtMiwKLSAgICAweDEuNThhZDgwcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2MzgKLSAgICAweDEuYjNkZWZkMDk5MWU2MzE1MzY5ZGJkNWUyZGUyZDE0ZmVwLTEsCi0gICAgLTB4MS4zN2Q5ZWVwMQotICB9LAotICB7IC8vIEVudHJ5IDYzOQotICAgIC0weDEuYjNkZWZkMDk5MWU2MzE1MzY5ZGJkNWUyZGUyZDE0ZmVwLTEsCi0gICAgMHgxLjM3ZDllZXAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQwCi0gICAgMHgxLjZlZmU5N2MyM2YyMDY4MjZiNGYwMDE5ZjI3NWQzYTQ0cDAsCi0gICAgLTB4MS4xNzA2NWNwMQotICB9LAotICB7IC8vIEVudHJ5IDY0MQotICAgIC0weDEuNmVmZTk3YzIzZjIwNjgyNmI0ZjAwMTlmMjc1ZDNhNDRwMCwKLSAgICAweDEuMTcwNjVjcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDIKLSAgICAweDEuNWJkMGZmOTI1Yzk0ZjdkNjA4Yjg4NDg0ZjkwODFmMmNwMSwKLSAgICAtMHgxLmVjNjU5NHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQzCi0gICAgLTB4MS41YmQwZmY5MjVjOTRmN2Q2MDhiODg0ODRmOTA4MWYyY3AxLAotICAgIDB4MS5lYzY1OTRwMAotICB9LAotICB7IC8vIEVudHJ5IDY0NAotICAgIDB4MS40YmI1ZWNlNjU3YmVlMjkyYTgyYTNmZGE2YjgxMmFhZHAzLAotICAgIC0weDEuYWFiZTcwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDUKLSAgICAtMHgxLjRiYjVlY2U2NTdiZWUyOTJhODJhM2ZkYTZiODEyYWFkcDMsCi0gICAgMHgxLmFhYmU3MHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjQ2Ci0gICAgLTB4MS44YmRkNGZlZWYxOGJmYThhNmMyM2RlNmE3MjFmMjQzNnAyLAotICAgIC0weDEuNjkxNzRjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDcKLSAgICAweDEuOGJkZDRmZWVmMThiZmE4YTZjMjNkZTZhNzIxZjI0MzZwMiwKLSAgICAweDEuNjkxNzRjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NDgKLSAgICAtMHgxLjIxMjc5ZTFlOGJmNGJkMzk4M2EzNjc3MjY3ZTU1ODA5cDEsCi0gICAgLTB4MS4yNzcwMjhwMAotICB9LAotICB7IC8vIEVudHJ5IDY0OQotICAgIDB4MS4yMTI3OWUxZThiZjRiZDM5ODNhMzY3NzI2N2U1NTgwOXAxLAotICAgIDB4MS4yNzcwMjhwMAotICB9LAotICB7IC8vIEVudHJ5IDY1MAotICAgIC0weDEuNDEwM2E4MTQ3Y2E4MzYxMzZjYzk4ZGI5YmM2ZGRmMzBwMCwKLSAgICAtMHgxLmNiOTIwYXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY1MQotICAgIDB4MS40MTAzYTgxNDdjYTgzNjEzNmNjOThkYjliYzZkZGYzMHAwLAotICAgIDB4MS5jYjkyMGFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTIKLSAgICAtMHgxLjdlMWRiNThhNTVkNmExMmE2NDU3ZTNjNTkyOWFjMmM3cC0xLAotICAgIC0weDEuNDg0M2M0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjUzCi0gICAgMHgxLjdlMWRiNThhNTVkNmExMmE2NDU3ZTNjNTkyOWFjMmM3cC0xLAotICAgIDB4MS40ODQzYzRwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTQKLSAgICAtMHgxLjllOTI4YTBjOGU3OTAyMzIwMDE2NGVkMjQwY2FhZDA1cC0yLAotICAgIC0weDEuODllYWZjcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU1Ci0gICAgMHgxLjllOTI4YTBjOGU3OTAyMzIwMDE2NGVkMjQwY2FhZDA1cC0yLAotICAgIDB4MS44OWVhZmNwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTYKLSAgICAtMHgxLjA4MGZjOWQyNGZiZTk4NzZiMzFiMGFhMjlkZDIzOGVhcC0zLAotICAgIC0weDEuMDY5Y2UwcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNjU3Ci0gICAgMHgxLjA4MGZjOWQyNGZiZTk4NzZiMzFiMGFhMjlkZDIzOGVhcC0zLAotICAgIDB4MS4wNjljZTBwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NTgKLSAgICAweDEuMDgwZjFmMDc1NDBmZDAzYjgyZDRiMzcwZDIzN2ZhM2RwLTMsCi0gICAgMHgxLjA2OWMzOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDY1OQotICAgIC0weDEuMDgwZjFmMDc1NDBmZDAzYjgyZDRiMzcwZDIzN2ZhM2RwLTMsCi0gICAgLTB4MS4wNjljMzhwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjAKLSAgICAweDEuOWU5MjI4NDdlMmIxYjZhNzJkNDg2NzAwZTE4YzA1ZjJwLTIsCi0gICAgMHgxLjg5ZWFhOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDY2MQotICAgIC0weDEuOWU5MjI4NDdlMmIxYjZhNzJkNDg2NzAwZTE4YzA1ZjJwLTIsCi0gICAgLTB4MS44OWVhYThwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjIKLSAgICAweDEuN2UxZDc0MjU4Y2JjOTY0YjU2MWQ5OWM5YTY2ZjhjN2VwLTEsCi0gICAgMHgxLjQ4NDM5YXAtMQotICB9LAotICB7IC8vIEVudHJ5IDY2MwotICAgIC0weDEuN2UxZDc0MjU4Y2JjOTY0YjU2MWQ5OWM5YTY2ZjhjN2VwLTEsCi0gICAgLTB4MS40ODQzOWFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjQKLSAgICAweDEuNDEwMzcyMGYyY2EzZTA1ODBmYmExNTg0OTM5OGE0ZTlwMCwKLSAgICAweDEuY2I5MWUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY1Ci0gICAgLTB4MS40MTAzNzIwZjJjYTNlMDU4MGZiYTE1ODQ5Mzk4YTRlOXAwLAotICAgIC0weDEuY2I5MWUwcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY2Ci0gICAgMHgxLjIxMjc2MTE2NzNjY2M3NTMxZjVhZjVhZWRhMzQxMmM1cDEsCi0gICAgMHgxLjI3NzAxNHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjY3Ci0gICAgLTB4MS4yMTI3NjExNjczY2NjNzUzMWY1YWY1YWVkYTM0MTJjNXAxLAotICAgIC0weDEuMjc3MDE0cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjgKLSAgICAweDEuOGJkYzhiYTNkODI3NzIxM2M1Yjc0ZWY4MDZlZjQ2NmJwMiwKLSAgICAweDEuNjkxNzM4cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NjkKLSAgICAtMHgxLjhiZGM4YmEzZDgyNzcyMTNjNWI3NGVmODA2ZWY0NjZicDIsCi0gICAgLTB4MS42OTE3MzhwMAotICB9LAotICB7IC8vIEVudHJ5IDY3MAotICAgIC0weDEuNGJiNmZjMDkyYmMxNjUzMDIxNjIwOWE5MTJhYWRhMzdwMywKLSAgICAweDEuYWFiZTVjcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzEKLSAgICAweDEuNGJiNmZjMDkyYmMxNjUzMDIxNjIwOWE5MTJhYWRhMzdwMywKLSAgICAtMHgxLmFhYmU1Y3AwCi0gIH0sCi0gIHsgLy8gRW50cnkgNjcyCi0gICAgLTB4MS41YmQxNTM2OGY4NGJlMGJkYThmMTM1YTVmNzlhZWFjYnAxLAotICAgIDB4MS5lYzY1ODBwMAotICB9LAotICB7IC8vIEVudHJ5IDY3MwotICAgIDB4MS41YmQxNTM2OGY4NGJlMGJkYThmMTM1YTVmNzlhZWFjYnAxLAotICAgIC0weDEuZWM2NTgwcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzQKLSAgICAtMHgxLjZlZmVkNGRjODk0NmUxYzM2MjBkNzliYjBkNjU0MzM4cDAsCi0gICAgMHgxLjE3MDY1MnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc1Ci0gICAgMHgxLjZlZmVkNGRjODk0NmUxYzM2MjBkNzliYjBkNjU0MzM4cDAsCi0gICAgLTB4MS4xNzA2NTJwMQotICB9LAotICB7IC8vIEVudHJ5IDY3NgotICAgIC0weDEuYjNkZjQyMDZkMjMyNzk0ZDU3NjE5OTJkODhjNWEzOTRwLTEsCi0gICAgMHgxLjM3ZDllNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjc3Ci0gICAgMHgxLmIzZGY0MjA2ZDIzMjc5NGQ1NzYxOTkyZDg4YzVhMzk0cC0xLAotICAgIC0weDEuMzdkOWU0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2NzgKLSAgICAtMHgxLmVkMjFlZDdiYzRiNTk2OGJkYjBjZDZkYTI2OWNkNTVmcC0yLAotICAgIDB4MS41OGFkNzZwMQotICB9LAotICB7IC8vIEVudHJ5IDY3OQotICAgIDB4MS5lZDIxZWQ3YmM0YjU5NjhiZGIwY2Q2ZGEyNjljZDU1ZnAtMiwKLSAgICAtMHgxLjU4YWQ3NnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjgwCi0gICAgLTB4MS44ZWQ5MTdhYTc0ZTczM2I5MTk0ZDUzN2M4ZGYzM2M2NHAtMywKLSAgICAweDEuNzk4MTA4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODEKLSAgICAweDEuOGVkOTE3YWE3NGU3MzNiOTE5NGQ1MzdjOGRmMzNjNjRwLTMsCi0gICAgLTB4MS43OTgxMDhwMQotICB9LAotICB7IC8vIEVudHJ5IDY4MgotICAgIDB4MS4wNmY4ZGM1MjhlYTAxODgyMDY0ZWUyNDJmNThhMmI4OHAtNCwKLSAgICAweDEuOWE1NDlhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODMKLSAgICAtMHgxLjA2ZjhkYzUyOGVhMDE4ODIwNjRlZTI0MmY1OGEyYjg4cC00LAotICAgIC0weDEuOWE1NDlhcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA2ODQKLSAgICAweDEuNTNmZGQ2OWUxNDM3ZGI5NTdjNjJlOGNjNTU3NDJiZWVwLTIsCi0gICAgMHgxLmJiMjgyY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg1Ci0gICAgLTB4MS41M2ZkZDY5ZTE0MzdkYjk1N2M2MmU4Y2M1NTc0MmJlZXAtMiwKLSAgICAtMHgxLmJiMjgyY3AxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjg2Ci0gICAgMHgxLjRkNDY3M2IxYzc2MzVjYzg5M2UxYzhkMmNhNTdiM2U5cC0xLAotICAgIDB4MS5kYmZiYmVwMQotICB9LAotICB7IC8vIEVudHJ5IDY4NwotICAgIC0weDEuNGQ0NjczYjFjNzYzNWNjODkzZTFjOGQyY2E1N2IzZTlwLTEsCi0gICAgLTB4MS5kYmZiYmVwMQotICB9LAotICB7IC8vIEVudHJ5IDY4OAotICAgIDB4MS4xOWUyNzRlNGZkZWM5ZTc4ZWY2ODcyMDgxYjU1NzJjZnAwLAotICAgIDB4MS5mY2NmNTBwMQotICB9LAotICB7IC8vIEVudHJ5IDY4OQotICAgIC0weDEuMTllMjc0ZTRmZGVjOWU3OGVmNjg3MjA4MWI1NTcyY2ZwMCwKLSAgICAtMHgxLmZjY2Y1MHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkwCi0gICAgMHgxLmVhYjQ0NTAwM2E3YjU0MmEyZDRkODdhODg3OTNiYjY3cDAsCi0gICAgMHgxLjBlZDE3MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjkxCi0gICAgLTB4MS5lYWI0NDUwMDNhN2I1NDJhMmQ0ZDg3YTg4NzkzYmI2N3AwLAotICAgIC0weDEuMGVkMTcwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTIKLSAgICAweDEuMTg2NmY3YzkxNjYwZDljOWY0YjJkMTRlOTEzNzU3MzJwMiwKLSAgICAweDEuMWYzYjM4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTMKLSAgICAtMHgxLjE4NjZmN2M5MTY2MGQ5YzlmNGIyZDE0ZTkxMzc1NzMycDIsCi0gICAgLTB4MS4xZjNiMzhwMgotICB9LAotICB7IC8vIEVudHJ5IDY5NAotICAgIC0weDEuZjJmMTU5OWIyOWE3ZGU5NTJiOGJhMTg3N2Q5ZjVlNjFwNCwKLSAgICAweDEuMmZhNXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk1Ci0gICAgMHgxLmYyZjE1OTliMjlhN2RlOTUyYjhiYTE4NzdkOWY1ZTYxcDQsCi0gICAgLTB4MS4yZmE1cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTYKLSAgICAtMHgxLmFmNDY2ZWY3YjE1NjQ1NDU1ZTE1ZmJiYWU2YmI0YmM2cDEsCi0gICAgMHgxLjQwMGVjOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNjk3Ci0gICAgMHgxLmFmNDY2ZWY3YjE1NjQ1NDU1ZTE1ZmJiYWU2YmI0YmM2cDEsCi0gICAgLTB4MS40MDBlYzhwMgotICB9LAotICB7IC8vIEVudHJ5IDY5OAotICAgIC0weDEuYTY0Y2ExMGJmZWZkMmIwNGJiNmExYmI3MDhjMjg5NjdwMCwKLSAgICAweDEuNTA3ODkwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA2OTkKLSAgICAweDEuYTY0Y2ExMGJmZWZkMmIwNGJiNmExYmI3MDhjMjg5NjdwMCwKLSAgICAtMHgxLjUwNzg5MHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAwCi0gICAgLTB4MS5lZmQ4NTgyMWVjOTI3ZjJhODllYzQxYWNlZTU4NzIzMHAtMSwKLSAgICAweDEuNjBlMjU4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDEKLSAgICAweDEuZWZkODU4MjFlYzkyN2YyYTg5ZWM0MWFjZWU1ODcyMzBwLTEsCi0gICAgLTB4MS42MGUyNThwMgotICB9LAotICB7IC8vIEVudHJ5IDcwMgotICAgIC0weDEuMjA1YTg4YWVjNjRjYWQzNWQ3NzUyYzczNjIwYzIxMzlwLTEsCi0gICAgMHgxLjcxNGMyMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzAzCi0gICAgMHgxLjIwNWE4OGFlYzY0Y2FkMzVkNzc1MmM3MzYyMGMyMTM5cC0xLAotICAgIC0weDEuNzE0YzIwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDQKLSAgICAtMHgxLjBjODY4ZTg2MzU0M2ZkOTg5NDc2YzhjZGVmZmE5M2VhcC0yLAotICAgIDB4MS44MWI1ZThwMgotICB9LAotICB7IC8vIEVudHJ5IDcwNQotICAgIDB4MS4wYzg2OGU4NjM1NDNmZDk4OTQ3NmM4Y2RlZmZhOTNlYXAtMiwKLSAgICAtMHgxLjgxYjVlOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzA2Ci0gICAgMHgxLmYwOWI2MWE4YTA0ZjA4OTg4NTFmMWQ3NjA0ZmExM2M4cC01LAotICAgIDB4MS5lZmZmZmVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MDcKLSAgICAtMHgxLmYwOWI2MWE4YTA0ZjA4OTg4NTFmMWQ3NjA0ZmExM2M4cC01LAotICAgIC0weDEuZWZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzA4Ci0gICAgMHgxLmYwOWI2M2FhODFmYzQ2ZTk1ZTA2NDA1YjQxZThiNGNjcC01LAotICAgIDB4MS5mMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDcwOQotICAgIC0weDEuZjA5YjYzYWE4MWZjNDZlOTVlMDY0MDViNDFlOGI0Y2NwLTUsCi0gICAgLTB4MS5mMHAtNQotICB9LAotICB7IC8vIEVudHJ5IDcxMAotICAgIDB4MS5mMDliNjVhYzYzYTk4OTFmMTQxOGM0MzM4YzFlNDE5ZXAtNSwKLSAgICAweDEuZjAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzExCi0gICAgLTB4MS5mMDliNjVhYzYzYTk4OTFmMTQxOGM0MzM4YzFlNDE5ZXAtNSwKLSAgICAtMHgxLmYwMDAwMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDcxMgotICAgIDB4MS5mYThmMWZjMGNlODZjMjE0YmY3NjVmZDU5ZTg3OThhNXAtNCwKLSAgICAweDEuZjdmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzEzCi0gICAgLTB4MS5mYThmMWZjMGNlODZjMjE0YmY3NjVmZDU5ZTg3OThhNXAtNCwKLSAgICAtMHgxLmY3ZmZmZXAtNAotICB9LAotICB7IC8vIEVudHJ5IDcxNAotICAgIDB4MS5mYThmMjFjOGEzM2FmZDMzNTUxOThlOGQ3NzE2YTgxMXAtNCwKLSAgICAweDEuZjhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTUKLSAgICAtMHgxLmZhOGYyMWM4YTMzYWZkMzM1NTE5OGU4ZDc3MTZhODExcC00LAotICAgIC0weDEuZjhwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTYKLSAgICAweDEuZmE4ZjIzZDA3N2VmNDg2NDVlZmY5YTUxOTYyOGIzYTlwLTQsCi0gICAgMHgxLmY4MDAwMnAtNAotICB9LAotICB7IC8vIEVudHJ5IDcxNwotICAgIC0weDEuZmE4ZjIzZDA3N2VmNDg2NDVlZmY5YTUxOTYyOGIzYTlwLTQsCi0gICAgLTB4MS5mODAwMDJwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MTgKLSAgICAweDEuNGVmMDZhYTczZWU2YTQzOWMwYzlmNDUwNDZiMjU5NzhwLTMsCi0gICAgMHgxLjRiZmZmZXAtMwotICB9LAotICB7IC8vIEVudHJ5IDcxOQotICAgIC0weDEuNGVmMDZhYTczZWU2YTQzOWMwYzlmNDUwNDZiMjU5NzhwLTMsCi0gICAgLTB4MS40YmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjAKLSAgICAweDEuNGVmMDZjYjRmMGE4N2E1YzhlZWVlYmNlYjEyYTIyYjRwLTMsCi0gICAgMHgxLjRjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIxCi0gICAgLTB4MS40ZWYwNmNiNGYwYTg3YTVjOGVlZWViY2ViMTJhMjJiNHAtMywKLSAgICAtMHgxLjRjcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzIyCi0gICAgMHgxLjRlZjA2ZWMyYTI2YTdiN2MxNzIxZmZhZmI5M2MwMjgxcC0zLAotICAgIDB4MS40YzAwMDJwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjMKLSAgICAtMHgxLjRlZjA2ZWMyYTI2YTdiN2MxNzIxZmZhZmI5M2MwMjgxcC0zLAotICAgIC0weDEuNGMwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI0Ci0gICAgMHgxLjNjYzJhMmZkOTExZTE1NTdkNTdiNDRhYmYyOGM0Y2NhcC0yLAotICAgIDB4MS4zMzMzMzJwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjUKLSAgICAtMHgxLjNjYzJhMmZkOTExZTE1NTdkNTdiNDRhYmYyOGM0Y2NhcC0yLAotICAgIC0weDEuMzMzMzMycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI2Ci0gICAgMHgxLjNjYzJhNTJlOGY0MTM3Y2EyN2QxZGMwNTY3MTk1NDQzcC0yLAotICAgIDB4MS4zMzMzMzRwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjcKLSAgICAtMHgxLjNjYzJhNTJlOGY0MTM3Y2EyN2QxZGMwNTY3MTk1NDQzcC0yLAotICAgIC0weDEuMzMzMzM0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzI4Ci0gICAgMHgxLjNjYzJhNzVmOGQ2NTA3YzU4OWJmMDhlMDM3MTM5NGJjcC0yLAotICAgIDB4MS4zMzMzMzZwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MjkKLSAgICAtMHgxLjNjYzJhNzVmOGQ2NTA3YzU4OWJmMDhlMDM3MTM5NGJjcC0yLAotICAgIC0weDEuMzMzMzM2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMwCi0gICAgMHgxLjk5NDM2ZTVmMDdiNzNkZGExZWY2MWE4MDBhYWRmZGQzcC0xLAotICAgIDB4MS41OTQzMTZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzEKLSAgICAtMHgxLjk5NDM2ZTVmMDdiNzNkZGExZWY2MWE4MDBhYWRmZGQzcC0xLAotICAgIC0weDEuNTk0MzE2cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzMyCi0gICAgMHgxLjk5NDM3MWE2MmJmZTEzZWIxYzc1NWNiNWJlNDZmODUzcC0xLAotICAgIDB4MS41OTQzMThwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzMKLSAgICAtMHgxLjk5NDM3MWE2MmJmZTEzZWIxYzc1NWNiNWJlNDZmODUzcC0xLAotICAgIC0weDEuNTk0MzE4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM0Ci0gICAgMHgxLjk5NDM3NGVkNTA0YTI3ODIyNjU3MzU2MmI2MGVjYTlhcC0xLAotICAgIDB4MS41OTQzMWFwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzUKLSAgICAtMHgxLjk5NDM3NGVkNTA0YTI3ODIyNjU3MzU2MmI2MGVjYTlhcC0xLAotICAgIC0weDEuNTk0MzFhcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM2Ci0gICAgMHgxLmZiYzUwZGU3YzYwNWE0ZDFkMGYxMTE5YjEyOTRiNmYwcC0xLAotICAgIDB4MS44ZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3MzcKLSAgICAtMHgxLmZiYzUwZGU3YzYwNWE0ZDFkMGYxMTE5YjEyOTRiNmYwcC0xLAotICAgIC0weDEuOGZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzM4Ci0gICAgMHgxLmZiYzUxMWRmNTkxN2Y1MzliYmNmNzc4YmMxYTIyMjQ5cC0xLAotICAgIDB4MS45MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDczOQotICAgIC0weDEuZmJjNTExZGY1OTE3ZjUzOWJiY2Y3NzhiYzFhMjIyNDlwLTEsCi0gICAgLTB4MS45MHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc0MAotICAgIDB4MS5mYmM1MTVkNmVjMzIyM2ZmYmVkNGJiNzUxNTRmZGEwZnAtMSwKLSAgICAweDEuOTAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQxCi0gICAgLTB4MS5mYmM1MTVkNmVjMzIyM2ZmYmVkNGJiNzUxNTRmZGEwZnAtMSwKLSAgICAtMHgxLjkwMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDc0MgotICAgIC0weDEucC0xNDksCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDc0MwotICAgIDB4MS5wLTE0OSwKLSAgICAweDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NDQKLSAgICAwLjAsCi0gICAgMC4wCi0gIH0sCi0gIHsgLy8gRW50cnkgNzQ1Ci0gICAgMHgxLnAtMTQ5LAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDc0NgotICAgIC0weDEucC0xNDksCi0gICAgLTB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDc0NwotICAgIDB4MS45MjcyNzc1ZWE1ZWNmZjRlNDNlY2RlZjNkODVlYzIyNnAtNSwKLSAgICAweDEuOTIxZmI0cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzQ4Ci0gICAgLTB4MS45MjcyNzc1ZWE1ZWNmZjRlNDNlY2RlZjNkODVlYzIyNnAtNSwKLSAgICAtMHgxLjkyMWZiNHAtNQotICB9LAotICB7IC8vIEVudHJ5IDc0OQotICAgIDB4MS45MjcyNzk1ZmUyNDJkOWViOTM5M2E3NDQ2NjIwYzM5NHAtNSwKLSAgICAweDEuOTIxZmI2cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzUwCi0gICAgLTB4MS45MjcyNzk1ZmUyNDJkOWViOTM5M2E3NDQ2NjIwYzM5NHAtNSwKLSAgICAtMHgxLjkyMWZiNnAtNQotICB9LAotICB7IC8vIEVudHJ5IDc1MQotICAgIDB4MS45MjcyN2I2MTFlOThiN2FmYjk3OTc3NTUxZDFjNWYzOHAtNSwKLSAgICAweDEuOTIxZmI4cC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzUyCi0gICAgLTB4MS45MjcyN2I2MTFlOThiN2FmYjk3OTc3NTUxZDFjNWYzOHAtNSwKLSAgICAtMHgxLjkyMWZiOHAtNQotICB9LAotICB7IC8vIEVudHJ5IDc1MwotICAgIDB4MS45MzZiYjc3ZTRhYzg1OWJjNjliYzRhYmM5ZTkxZjAyNXAtNCwKLSAgICAweDEuOTIxZmI0cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzU0Ci0gICAgLTB4MS45MzZiYjc3ZTRhYzg1OWJjNjliYzRhYmM5ZTkxZjAyNXAtNCwKLSAgICAtMHgxLjkyMWZiNHAtNAotICB9LAotICB7IC8vIEVudHJ5IDc1NQotICAgIDB4MS45MzZiYjk4MzQyNDEwMjJlY2QwNzBiOTA2NDYzMjcyMXAtNCwKLSAgICAweDEuOTIxZmI2cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzU2Ci0gICAgLTB4MS45MzZiYjk4MzQyNDEwMjJlY2QwNzBiOTA2NDYzMjcyMXAtNCwKLSAgICAtMHgxLjkyMWZiNnAtNAotICB9LAotICB7IC8vIEVudHJ5IDc1NwotICAgIDB4MS45MzZiYmI4ODM5YjliNzViZGNjNWY2ODcwMjY3YTYwOXAtNCwKLSAgICAweDEuOTIxZmI4cC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgNzU4Ci0gICAgLTB4MS45MzZiYmI4ODM5YjliNzViZGNjNWY2ODcwMjY3YTYwOXAtNCwKLSAgICAtMHgxLjkyMWZiOHAtNAotICB9LAotICB7IC8vIEVudHJ5IDc1OQotICAgIDB4MS45NzVmNWNiNDNiZDk1MWFhMmU4OWEwNWNiZjVlNzBmZnAtMywKLSAgICAweDEuOTIxZmI0cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYwCi0gICAgLTB4MS45NzVmNWNiNDNiZDk1MWFhMmU4OWEwNWNiZjVlNzBmZnAtMywKLSAgICAtMHgxLjkyMWZiNHAtMwotICB9LAotICB7IC8vIEVudHJ5IDc2MQotICAgIDB4MS45NzVmNWVjODdkZGM0ZTdhMzU3MDU5ZjcxYTlmMDViMnAtMywKLSAgICAweDEuOTIxZmI2cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzYyCi0gICAgLTB4MS45NzVmNWVjODdkZGM0ZTdhMzU3MDU5ZjcxYTlmMDViMnAtMywKLSAgICAtMHgxLjkyMWZiNnAtMwotICB9LAotICB7IC8vIEVudHJ5IDc2MwotICAgIDB4MS45NzVmNjBkY2JmZGY4MDM5ZjAxZWI3ODY0YmMwOWUxM3AtMywKLSAgICAweDEuOTIxZmI4cC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY0Ci0gICAgLTB4MS45NzVmNjBkY2JmZGY4MDM5ZjAxZWI3ODY0YmMwOWUxM3AtMywKLSAgICAtMHgxLjkyMWZiOHAtMwotICB9LAotICB7IC8vIEVudHJ5IDc2NQotICAgIDB4MS5hODI3OTgyM2U5YmEzMGVlNjIzYTU0MDJhNDg1OTBmY3AtMiwKLSAgICAweDEuOTIxZmI0cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY2Ci0gICAgLTB4MS5hODI3OTgyM2U5YmEzMGVlNjIzYTU0MDJhNDg1OTBmY3AtMiwKLSAgICAtMHgxLjkyMWZiNHAtMgotICB9LAotICB7IC8vIEVudHJ5IDc2NwotICAgIDB4MS5hODI3OWE3YmMyMjA2ZmZmM2FmYTUyZjE2OGM1ZjhmMnAtMiwKLSAgICAweDEuOTIxZmI2cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzY4Ci0gICAgLTB4MS5hODI3OWE3YmMyMjA2ZmZmM2FmYTUyZjE2OGM1ZjhmMnAtMiwKLSAgICAtMHgxLjkyMWZiNnAtMgotICB9LAotICB7IC8vIEVudHJ5IDc2OQotICAgIDB4MS5hODI3OWNkMzlhODdhNzg2ZTE0MDUzN2RiNzJmZjMzNHAtMiwKLSAgICAweDEuOTIxZmI4cC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcwCi0gICAgLTB4MS5hODI3OWNkMzlhODdhNzg2ZTE0MDUzN2RiNzJmZjMzNHAtMiwKLSAgICAtMHgxLjkyMWZiOHAtMgotICB9LAotICB7IC8vIEVudHJ5IDc3MQotICAgIDB4MS5mZmZmZmQ3NzdhNWU5MWU2MWY1MzgwZmI4MDhkMzI3MnAtMSwKLSAgICAweDEuOTIxZmI0cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzcyCi0gICAgLTB4MS5mZmZmZmQ3NzdhNWU5MWU2MWY1MzgwZmI4MDhkMzI3MnAtMSwKLSAgICAtMHgxLjkyMWZiNHAtMQotICB9LAotICB7IC8vIEVudHJ5IDc3MwotICAgIDB4MS4wMDAwMDBiYmJkMmVjMDZkNmQ2ZmZmMzY1NWEzNDZhY3AwLAotICAgIDB4MS45MjFmYjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzQKLSAgICAtMHgxLjAwMDAwMGJiYmQyZWMwNmQ2ZDZmZmYzNjU1YTM0NmFjcDAsCi0gICAgLTB4MS45MjFmYjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3NzUKLSAgICAweDEuMDAwMDAyYmJiZDMyMzdlN2QxMTQyNzZlZDMyOWFmNWJwMCwKLSAgICAweDEuOTIxZmI4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc2Ci0gICAgLTB4MS4wMDAwMDJiYmJkMzIzN2U3ZDExNDI3NmVkMzI5YWY1YnAwLAotICAgIC0weDEuOTIxZmI4cC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgNzc3Ci0gICAgMHgxLjk0MzdiMzM2YjZiMGM0NzliMjI4MDk5OWIxOTU3NWM3cDIzLAotICAgIDB4MS45MjFmYjRwMAotICB9LAotICB7IC8vIEVudHJ5IDc3OAotICAgIC0weDEuOTQzN2IzMzZiNmIwYzQ3OWIyMjgwOTk5YjE5NTc1YzdwMjMsCi0gICAgLTB4MS45MjFmYjRwMAotICB9LAotICB7IC8vIEVudHJ5IDc3OQotICAgIC0weDEuNWQxNDk0NmRjOTg5NzVkNjQyMWE1NTI4NGZlMDIwYTFwMjQsCi0gICAgMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgwCi0gICAgMHgxLjVkMTQ5NDZkYzk4OTc1ZDY0MjFhNTUyODRmZTAyMGExcDI0LAotICAgIC0weDEuOTIxZmI2cDAKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODEKLSAgICAtMHgxLjc2YTE5MGViMmIwNzE4ZDhkYjU1ZjdkMmFiZWIwN2QycDIyLAotICAgIDB4MS45MjFmYjhwMAotICB9LAotICB7IC8vIEVudHJ5IDc4MgotICAgIDB4MS43NmExOTBlYjJiMDcxOGQ4ZGI1NWY3ZDJhYmViMDdkMnAyMiwKLSAgICAtMHgxLjkyMWZiOHAwCi0gIH0sCi0gIHsgLy8gRW50cnkgNzgzCi0gICAgLTB4MS40NDQyZDE4NDY5OGM0MjZjOGUzZWZkMzU2Y2JlYmUwYXAtMjMsCi0gICAgMHgxLjkyMWZiNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg0Ci0gICAgMHgxLjQ0NDJkMTg0Njk4YzQyNmM4ZTNlZmQzNTZjYmViZTBhcC0yMywKLSAgICAtMHgxLjkyMWZiNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg1Ci0gICAgMHgxLjc3N2E1Y2Y3MmNlZGYzYjU0NGM4MTgwOGI1MTVmMWY5cC0yNCwKLSAgICAweDEuOTIxZmI2cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODYKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlZGYzYjU0NGM4MTgwOGI1MTVmMWY5cC0yNCwKLSAgICAtMHgxLjkyMWZiNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg3Ci0gICAgMHgxLjVkZGU5NzNkY2I0OGQ2ZTNkMTNjZjJhNTE1NTBlOTExcC0yMiwKLSAgICAweDEuOTIxZmI4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA3ODgKLSAgICAtMHgxLjVkZGU5NzNkY2I0OGQ2ZTNkMTNjZjJhNTE1NTBlOTExcC0yMiwKLSAgICAtMHgxLjkyMWZiOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgNzg5Ci0gICAgLTB4MS40NDQyZDE4NDY5OTQ2MzYyZjNmNmNjN2M0Mzg1NzY2MXAtMjIsCi0gICAgMHgxLjkyMWZiNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkwCi0gICAgMHgxLjQ0NDJkMTg0Njk5NDYzNjJmM2Y2Y2M3YzQzODU3NjYxcC0yMiwKLSAgICAtMHgxLjkyMWZiNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkxCi0gICAgMHgxLjc3N2E1Y2Y3MmNmMTFiNzM5ZDJhYjE4NzdlODFhOWM3cC0yMywKLSAgICAweDEuOTIxZmI2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTIKLSAgICAtMHgxLjc3N2E1Y2Y3MmNmMTFiNzM5ZDJhYjE4NzdlODFhOWM3cC0yMywKLSAgICAtMHgxLjkyMWZiNnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzkzCi0gICAgMHgxLjVkZGU5NzNkY2I3MWFlYjZlNzc2NjY4YmJiM2RlMjUzcC0yMSwKLSAgICAweDEuOTIxZmI4cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTQKLSAgICAtMHgxLjVkZGU5NzNkY2I3MWFlYjZlNzc2NjY4YmJiM2RlMjUzcC0yMSwKLSAgICAtMHgxLjkyMWZiOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk1Ci0gICAgLTB4MS40NDQyZDE4NDY5YjRlNzNjOGFkNjBlN2I5ZjI4OGM1Y3AtMjEsCi0gICAgMHgxLjkyMWZiNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk2Ci0gICAgMHgxLjQ0NDJkMTg0NjliNGU3M2M4YWQ2MGU3YjlmMjg4YzVjcC0yMSwKLSAgICAtMHgxLjkyMWZiNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk3Ci0gICAgMHgxLjc3N2E1Y2Y3MmNmZGJhNmNmZWI1MTgyNThiY2YyNjNjcC0yMiwKLSAgICAweDEuOTIxZmI2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA3OTgKLSAgICAtMHgxLjc3N2E1Y2Y3MmNmZGJhNmNmZWI1MTgyNThiY2YyNjNjcC0yMiwKLSAgICAtMHgxLjkyMWZiNnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgNzk5Ci0gICAgMHgxLjVkZGU5NzNkY2MxNTBlMDM0MDVjYTg5NDg4NjYwMmMycC0yMCwKLSAgICAweDEuOTIxZmI4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDAKLSAgICAtMHgxLjVkZGU5NzNkY2MxNTBlMDM0MDVjYTg5NDg4NjYwMmMycC0yMCwKLSAgICAtMHgxLjkyMWZiOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODAxCi0gICAgLTB4MS40NDQyZDE4NDZhMzZmNmEyZTY1MzY0YjkxNjM4MmU5YnAtMjAsCi0gICAgMHgxLjkyMWZiNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODAyCi0gICAgMHgxLjQ0NDJkMTg0NmEzNmY2YTJlNjUzNjRiOTE2MzgyZTlicC0yMCwKLSAgICAtMHgxLjkyMWZiNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODAzCi0gICAgMHgxLjc3N2E1Y2Y3MmQzMDM2NTI4NGRlYmNjYzNhZWVlYzE3cC0yMSwKLSAgICAweDEuOTIxZmI2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDQKLSAgICAtMHgxLjc3N2E1Y2Y3MmQzMDM2NTI4NGRlYmNjYzNhZWVlYzE3cC0yMSwKLSAgICAtMHgxLjkyMWZiNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODA1Ci0gICAgMHgxLjVkZGU5NzNkY2VhMjhiMzRhM2ZjZDc5YjE0NGE1MDUwcC0xOSwKLSAgICAweDEuOTIxZmI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MDYKLSAgICAtMHgxLjVkZGU5NzNkY2VhMjhiMzRhM2ZjZDc5YjE0NGE1MDUwcC0xOSwKLSAgICAtMHgxLjkyMWZiOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgODA3Ci0gICAgLTB4MS40NDQyZDE4NDZjM2YzNDNjNTQ0ZGExYWY3YWFiNjkwY3AtMTksCi0gICAgMHgxLjkyMWZiNHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgODA4Ci0gICAgMHgxLjQ0NDJkMTg0NmMzZjM0M2M1NDRkYTFhZjdhYWI2OTBjcC0xOSwKLSAgICAtMHgxLjkyMWZiNHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgODA5Ci0gICAgMHgxLjc3N2E1Y2Y3MmRmYTI1ZTg5ZDg1ZjI0ZTk2MGI0NDU1cC0yMCwKLSAgICAweDEuOTIxZmI2cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTAKLSAgICAtMHgxLjc3N2E1Y2Y3MmRmYTI1ZTg5ZDg1ZjI0ZTk2MGI0NDU1cC0yMCwKLSAgICAtMHgxLjkyMWZiNnA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgODExCi0gICAgMHgxLjVkZGU5NzNkZDhkODdmZmEzMmYwMDFlYWI4MWQ5NjBjcC0xOCwKLSAgICAweDEuOTIxZmI4cDUKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTIKLSAgICAtMHgxLjVkZGU5NzNkZDhkODdmZmEzMmYwMDFlYWI4MWQ5NjBjcC0xOCwKLSAgICAtMHgxLjkyMWZiOHA1Ci0gIH0sCi0gIHsgLy8gRW50cnkgODEzCi0gICAgLTB4MS40NDQyZDE4NDc0NjAyYWEyMGM4NGQ1OTE4ZmM2OGE4ZXAtMTgsCi0gICAgMHgxLjkyMWZiNHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODE0Ci0gICAgMHgxLjQ0NDJkMTg0NzQ2MDJhYTIwYzg0ZDU5MThmYzY4YThlcC0xOCwKLSAgICAtMHgxLjkyMWZiNHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODE1Ci0gICAgMHgxLjc3N2E1Y2Y3MzEyMWU0NDEwMDJjZjZkMWVjNTBkNTZkcC0xOSwKLSAgICAweDEuOTIxZmI2cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTYKLSAgICAtMHgxLjc3N2E1Y2Y3MzEyMWU0NDEwMDJjZjZkMWVjNTBkNTZkcC0xOSwKLSAgICAtMHgxLjkyMWZiNnA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODE3Ci0gICAgMHgxLjVkZGU5NzNlMDFiMDUzMTA3NWUzOGU4MDhjZTA0OGYycC0xNywKLSAgICAweDEuOTIxZmI4cDYKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MTgKLSAgICAtMHgxLjVkZGU5NzNlMDFiMDUzMTA3NWUzOGU4MDhjZTA0OGYycC0xNywKLSAgICAtMHgxLjkyMWZiOHA2Ci0gIH0sCi0gIHsgLy8gRW50cnkgODE5Ci0gICAgLTB4MS40NDQyZDE4NDk0ZTQwNDM4ZjI0NWE1YTIxOWRlYTIzNXAtMTcsCi0gICAgMHgxLjkyMWZiNHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgODIwCi0gICAgMHgxLjQ0NDJkMTg0OTRlNDA0MzhmMjQ1YTVhMjE5ZGVhMjM1cC0xNywKLSAgICAtMHgxLjkyMWZiNHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgODIxCi0gICAgMHgxLjc3N2E1Y2Y3M2RjMGRkYTI4YjZiZjA3ZGUyYjJkNWU2cC0xOCwKLSAgICAweDEuOTIxZmI2cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjIKLSAgICAtMHgxLjc3N2E1Y2Y3M2RjMGRkYTI4YjZiZjA3ZGUyYjJkNWU2cC0xOCwKLSAgICAtMHgxLjkyMWZiNnA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgODIzCi0gICAgMHgxLjVkZGU5NzNlYTUwZjlmNjlmNDFmZjY0YzhjNmRiNzYxcC0xNiwKLSAgICAweDEuOTIxZmI4cDcKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjQKLSAgICAtMHgxLjVkZGU5NzNlYTUwZjlmNjlmNDFmZjY0YzhjNmRiNzYxcC0xNiwKLSAgICAtMHgxLjkyMWZiOHA3Ci0gIH0sCi0gIHsgLy8gRW50cnkgODI1Ci0gICAgLTB4MS4wMDAwMGZjY2M4ZjE1ZWU4OWYwOWQyMjJlMTRjNzI5MnAwLAotICAgIDB4MS4yZDk3YzRwMQotICB9LAotICB7IC8vIEVudHJ5IDgyNgotICAgIDB4MS4wMDAwMGZjY2M4ZjE1ZWU4OWYwOWQyMjJlMTRjNzI5MnAwLAotICAgIC0weDEuMmQ5N2M0cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MjcKLSAgICAtMHgxLjAwMDAwN2NjYzg5MmY4YTA3NjBjYzIwODI3YWNlNDc2cDAsCi0gICAgMHgxLjJkOTdjNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODI4Ci0gICAgMHgxLjAwMDAwN2NjYzg5MmY4YTA3NjBjYzIwODI3YWNlNDc2cDAsCi0gICAgLTB4MS4yZDk3YzZwMQotICB9LAotICB7IC8vIEVudHJ5IDgyOQotICAgIC0weDEuZmZmZmZmOTk5MGU5MjRiODY2ZTgzMWM5ZTllNjM5YzdwLTEsCi0gICAgMHgxLjJkOTdjOHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODMwCi0gICAgMHgxLmZmZmZmZjk5OTBlOTI0Yjg2NmU4MzFjOWU5ZTYzOWM3cC0xLAotICAgIC0weDEuMmQ5N2M4cDEKLSAgfSwKLSAgeyAvLyBFbnRyeSA4MzEKLSAgICAweDEuZmZmZmViNTU2NDNiOWE2NDhjMjcyMGJkZTFkMjI3NjRwLTEsCi0gICAgMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODMyCi0gICAgLTB4MS5mZmZmZWI1NTY0M2I5YTY0OGMyNzIwYmRlMWQyMjc2NHAtMSwKLSAgICAtMHgxLmY2YTdhMHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODMzCi0gICAgMHgxLmZmZmZmYjU1NjNkNjQ1ODVlOWRjYzk3ZDc0MzIxNDYxcC0xLAotICAgIDB4MS5mNmE3YTJwMQotICB9LAotICB7IC8vIEVudHJ5IDgzNAotICAgIC0weDEuZmZmZmZiNTU2M2Q2NDU4NWU5ZGNjOTdkNzQzMjE0NjFwLTEsCi0gICAgLTB4MS5mNmE3YTJwMQotICB9LAotICB7IC8vIEVudHJ5IDgzNQotICAgIDB4MS4wMDAwMDVhYWIxZjg3ODUyNzkyMjM3NjUyZDM0YjFjZXAwLAotICAgIDB4MS5mNmE3YTRwMQotICB9LAotICB7IC8vIEVudHJ5IDgzNgotICAgIC0weDEuMDAwMDA1YWFiMWY4Nzg1Mjc5MjIzNzY1MmQzNGIxY2VwMCwKLSAgICAtMHgxLmY2YTdhNHAxCi0gIH0sCi0gIHsgLy8gRW50cnkgODM3Ci0gICAgMHgxLjAzM2RkOTFjMTAzNTg2MWFlNDU1ZTBmOGRjMjc0YjBkcDIwLAotICAgIDB4MS4yZDk3YzRwMgotICB9LAotICB7IC8vIEVudHJ5IDgzOAotICAgIC0weDEuMDMzZGQ5MWMxMDM1ODYxYWU0NTVlMGY4ZGMyNzRiMGRwMjAsCi0gICAgLTB4MS4yZDk3YzRwMgotICB9LAotICB7IC8vIEVudHJ5IDgzOQotICAgIDB4MS4wNjkwZmI0Nzc0YWI4MGNjZGRjOWVmNWFkMGZjYzIzN3AyMSwKLSAgICAweDEuMmQ5N2M2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDAKLSAgICAtMHgxLjA2OTBmYjQ3NzRhYjgwY2NkZGM5ZWY1YWQwZmNjMjM3cDIxLAotICAgIC0weDEuMmQ5N2M2cDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDEKLSAgICAtMHgxLjNmZTRkYWMwNmQ4MzA4MzdmNmM1ODRhZjZmOGQ5Mzk5cDI2LAotICAgIDB4MS4yZDk3YzhwMgotICB9LAotICB7IC8vIEVudHJ5IDg0MgotICAgIDB4MS4zZmU0ZGFjMDZkODMwODM3ZjZjNTg0YWY2ZjhkOTM5OXAyNiwKLSAgICAtMHgxLjJkOTdjOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODQzCi0gICAgLTB4MS4wMDAwMTRkZGQ0OTQ1Mzk0Y2I2ZWM3Zjg3ZGViYzdhNXAwLAotICAgIDB4MS41ZmRiYmNwMgotICB9LAotICB7IC8vIEVudHJ5IDg0NAotICAgIDB4MS4wMDAwMTRkZGQ0OTQ1Mzk0Y2I2ZWM3Zjg3ZGViYzdhNXAwLAotICAgIC0weDEuNWZkYmJjcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDUKLSAgICAtMHgxLjAwMDAwNGRkZDNjNjc2NGQ3MzY5YTBiZTYxYTYzMGU3cDAsCi0gICAgMHgxLjVmZGJiZXAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ2Ci0gICAgMHgxLjAwMDAwNGRkZDNjNjc2NGQ3MzY5YTBiZTYxYTYzMGU3cDAsCi0gICAgLTB4MS41ZmRiYmVwMgotICB9LAotICB7IC8vIEVudHJ5IDg0NwotICAgIC0weDEuZmZmZmU5YmJhN2YxMzIxZmFlMTkyOTQzYTNlODQ4YzBwLTEsCi0gICAgMHgxLjVmZGJjMHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODQ4Ci0gICAgMHgxLmZmZmZlOWJiYTdmMTMyMWZhZTE5Mjk0M2EzZTg0OGMwcC0xLAotICAgIC0weDEuNWZkYmMwcDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NDkKLSAgICAweDEuZmZmZmMxMzM1MTFlYTJkM2I5ODhiZjg1MzE2ZDRlMDVwLTEsCi0gICAgMHgxLmM0NjNhOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODUwCi0gICAgLTB4MS5mZmZmYzEzMzUxMWVhMmQzYjk4OGJmODUzMTZkNGUwNXAtMSwKLSAgICAtMHgxLmM0NjNhOHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODUxCi0gICAgMHgxLmZmZmZlMTMzNGUzMWQ3ZWYyMGQ2MjIwYzY1ZGQyZjlicC0xLAotICAgIDB4MS5jNDYzYWFwMgotICB9LAotICB7IC8vIEVudHJ5IDg1MgotICAgIC0weDEuZmZmZmUxMzM0ZTMxZDdlZjIwZDYyMjBjNjVkZDJmOWJwLTEsCi0gICAgLTB4MS5jNDYzYWFwMgotICB9LAotICB7IC8vIEVudHJ5IDg1MwotICAgIDB4MS4wMDAwMDA5OWE2YTI4NjY2Nzc2MWMyODc0YzU4OTBhZXAwLAotICAgIDB4MS5jNDYzYWNwMgotICB9LAotICB7IC8vIEVudHJ5IDg1NAotICAgIC0weDEuMDAwMDAwOTlhNmEyODY2Njc3NjFjMjg3NGM1ODkwYWVwMCwKLSAgICAtMHgxLmM0NjNhY3AyCi0gIH0sCi0gIHsgLy8gRW50cnkgODU1Ci0gICAgMHgxLjhjNjQyZThjYzU2YTliMjMzNDUwZDZiNjM1YTYyNjZkcDIwLAotICAgIDB4MS5mNmE3YTBwMgotICB9LAotICB7IC8vIEVudHJ5IDg1NgotICAgIC0weDEuOGM2NDJlOGNjNTZhOWIyMzM0NTBkNmI2MzVhNjI2NmRwMjAsCi0gICAgLTB4MS5mNmE3YTBwMgotICB9LAotICB7IC8vIEVudHJ5IDg1NwotICAgIDB4MS5iNmUwYmZiNzI4ZTQyMzYzY2Q1ZmIyNmIzMWMzNjZjMnAyMiwKLSAgICAweDEuZjZhN2EycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTgKLSAgICAtMHgxLmI2ZTBiZmI3MjhlNDIzNjNjZDVmYjI2YjMxYzM2NmMycDIyLAotICAgIC0weDEuZjZhN2EycDIKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NTkKLSAgICAtMHgxLjY5Njc5Yjk2NmFjYzQzZGZkYjI4MzgzYWE5NzZmNWMxcDIxLAotICAgIDB4MS5mNmE3YTRwMgotICB9LAotICB7IC8vIEVudHJ5IDg2MAotICAgIDB4MS42OTY3OWI5NjZhY2M0M2RmZGIyODM4M2FhOTc2ZjVjMXAyMSwKLSAgICAtMHgxLmY2YTdhNHAyCi0gIH0sCi0gIHsgLy8gRW50cnkgODYxCi0gICAgLTB4MS4wMDAwMjllZWUyNmZlMjExYmI0YTJmOGUyM2EwYTllOXAwLAotICAgIDB4MS4xNDc1Y2FwMwotICB9LAotICB7IC8vIEVudHJ5IDg2MgotICAgIDB4MS4wMDAwMjllZWUyNmZlMjExYmI0YTJmOGUyM2EwYTllOXAwLAotICAgIC0weDEuMTQ3NWNhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjMKLSAgICAtMHgxLjAwMDAwOWVlZGYzMjA1ZDJlOWI2NmEzNzgzZTAyZjA1cDAsCi0gICAgMHgxLjE0NzVjY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY0Ci0gICAgMHgxLjAwMDAwOWVlZGYzMjA1ZDJlOWI2NmEzNzgzZTAyZjA1cDAsCi0gICAgLTB4MS4xNDc1Y2NwMwotICB9LAotICB7IC8vIEVudHJ5IDg2NQotICAgIC0weDEuZmZmZmQzZGRiZmU4NTNjNzFlNGE1Zjc1MDJiMDljNGVwLTEsCi0gICAgMHgxLjE0NzVjZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODY2Ci0gICAgMHgxLmZmZmZkM2RkYmZlODUzYzcxZTRhNWY3NTAyYjA5YzRlcC0xLAotICAgIC0weDEuMTQ3NWNlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjcKLSAgICAtMHgxLmY5OTkwZTkxYWEyNGY1NTBjZWY1N2ZhNDEwNmM1NmVicC0yMCwKLSAgICAweDEuMmQ5N2M0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjgKLSAgICAweDEuZjk5OTBlOTFhYTI0ZjU1MGNlZjU3ZmE0MTA2YzU2ZWJwLTIwLAotICAgIC0weDEuMmQ5N2M0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NjkKLSAgICAtMHgxLmYzMzIxZDIzNGZjNTU3YTYxYzYzOGVmNzc1MmRlNDNmcC0yMSwKLSAgICAweDEuMmQ5N2M2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzAKLSAgICAweDEuZjMzMjFkMjM0ZmM1NTdhNjFjNjM4ZWY3NzUyZGU0M2ZwLTIxLAotICAgIC0weDEuMmQ5N2M2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzEKLSAgICAweDEuOTliYzViOTYxYjFhZTM2M2NmYzBmZmFhYjRmMGU1MDVwLTI2LAotICAgIDB4MS4yZDk3YzhwMwotICB9LAotICB7IC8vIEVudHJ5IDg3MgotICAgIC0weDEuOTliYzViOTYxYjFhZTM2M2NmYzBmZmFhYjRmMGU1MDVwLTI2LAotICAgIC0weDEuMmQ5N2M4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4NzMKLSAgICAweDEuZmZmZjk3MTE0MTc5NDQ2MTI3NmYzNDJiZDI5YzVhMWZwLTEsCi0gICAgMHgxLjQ2YjljMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc0Ci0gICAgLTB4MS5mZmZmOTcxMTQxNzk0NDYxMjc2ZjM0MmJkMjljNWExZnAtMSwKLSAgICAtMHgxLjQ2YjljMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc1Ci0gICAgMHgxLmZmZmZkNzExMzg1YjZjOWEwMTNkYWJlOWI3MjU0NjY1cC0xLAotICAgIDB4MS40NmI5YzJwMwotICB9LAotICB7IC8vIEVudHJ5IDg3NgotICAgIC0weDEuZmZmZmQ3MTEzODViNmM5YTAxM2RhYmU5YjcyNTQ2NjVwLTEsCi0gICAgLTB4MS40NmI5YzJwMwotICB9LAotICB7IC8vIEVudHJ5IDg3NwotICAgIDB4MS4wMDAwMGI4ODliOWVjOWM1YjI3N2ZiNmE5MWNmNWY0OXAwLAotICAgIDB4MS40NmI5YzRwMwotICB9LAotICB7IC8vIEVudHJ5IDg3OAotICAgIC0weDEuMDAwMDBiODg5YjllYzljNWIyNzdmYjZhOTFjZjVmNDlwMCwKLSAgICAtMHgxLjQ2YjljNHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODc5Ci0gICAgMHgxLjg4OTczY2IwMmEwZWVhMmNmZTFhMjgxY2E3ZjA0NjYzcDE5LAotICAgIDB4MS41ZmRiYmNwMwotICB9LAotICB7IC8vIEVudHJ5IDg4MAotICAgIC0weDEuODg5NzNjYjAyYTBlZWEyY2ZlMWEyODFjYTdmMDQ2NjNwMTksCi0gICAgLTB4MS41ZmRiYmNwMwotICB9LAotICB7IC8vIEVudHJ5IDg4MQotICAgIDB4MS5hNGQ1ZDVkNzUzODQxYzg5Y2ZlNzFjMjVhYmM4ZDY0NXAyMSwKLSAgICAweDEuNWZkYmJlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODIKLSAgICAtMHgxLmE0ZDVkNWQ3NTM4NDFjODljZmU3MWMyNWFiYzhkNjQ1cDIxLAotICAgIC0weDEuNWZkYmJlcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODMKLSAgICAtMHgxLjZmZTYyYTFhOWExMmI3MGIxZmJiOTUyODAxZjk5ODAxcDIwLAotICAgIDB4MS41ZmRiYzBwMwotICB9LAotICB7IC8vIEVudHJ5IDg4NAotICAgIDB4MS42ZmU2MmExYTlhMTJiNzBiMWZiYjk1MjgwMWY5OTgwMXAyMCwKLSAgICAtMHgxLjVmZGJjMHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODg1Ci0gICAgLTB4MS4wMDAwM2VmZmYyMDczZTFjMGRkNjVkM2I4M2U1ZTU4OXAwLAotICAgIDB4MS43OGZkYjZwMwotICB9LAotICB7IC8vIEVudHJ5IDg4NgotICAgIDB4MS4wMDAwM2VmZmYyMDczZTFjMGRkNjVkM2I4M2U1ZTU4OXAwLAotICAgIC0weDEuNzhmZGI2cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4ODcKLSAgICAtMHgxLjAwMDAxZWZmZWMyNzNmYjQ2YmI1ZWNmZWM1M2MzMTA1cDAsCi0gICAgMHgxLjc4ZmRiOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODg4Ci0gICAgMHgxLjAwMDAxZWZmZWMyNzNmYjQ2YmI1ZWNmZWM1M2MzMTA1cDAsCi0gICAgLTB4MS43OGZkYjhwMwotICB9LAotICB7IC8vIEVudHJ5IDg4OQotICAgIC0weDEuZmZmZmZkZmZkNDhlODQ4OTkyMjdjZWExZjc3YTFjZjdwLTEsCi0gICAgMHgxLjc4ZmRiYXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODkwCi0gICAgMHgxLmZmZmZmZGZmZDQ4ZTg0ODk5MjI3Y2VhMWY3N2ExY2Y3cC0xLAotICAgIC0weDEuNzhmZGJhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA4OTEKLSAgICAweDEuZmZmZmFjZWYyNmU5NjVkMTI1MzQyNGZiYmM5ZmYzNTRwLTEsCi0gICAgMHgxLmFiNDFhZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODkyCi0gICAgLTB4MS5mZmZmYWNlZjI2ZTk2NWQxMjUzNDI0ZmJiYzlmZjM1NHAtMSwKLSAgICAtMHgxLmFiNDFhZXAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODkzCi0gICAgMHgxLmZmZmZlY2VmMjA4NzRhOGYwMzVhYzRkYzFhNjAyOWY4cC0xLAotICAgIDB4MS5hYjQxYjBwMwotICB9LAotICB7IC8vIEVudHJ5IDg5NAotICAgIC0weDEuZmZmZmVjZWYyMDg3NGE4ZjAzNWFjNGRjMWE2MDI5ZjhwLTEsCi0gICAgLTB4MS5hYjQxYjBwMwotICB9LAotICB7IC8vIEVudHJ5IDg5NQotICAgIDB4MS4wMDAwMTY3NzkxMTI5NzVhMmQ0YjliNzViZDkwYjNjMXAwLAotICAgIDB4MS5hYjQxYjJwMwotICB9LAotICB7IC8vIEVudHJ5IDg5NgotICAgIC0weDEuMDAwMDE2Nzc5MTEyOTc1YTJkNGI5Yjc1YmQ5MGIzYzFwMCwKLSAgICAtMHgxLmFiNDFiMnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgODk3Ci0gICAgMHgxLjA0ZTRiNDBhY2RmOTQzOWZlY2NkNDliYmViMzdkYTBmcDE5LAotICAgIDB4MS5jNDYzYThwMwotICB9LAotICB7IC8vIEVudHJ5IDg5OAotICAgIC0weDEuMDRlNGI0MGFjZGY5NDM5ZmVjY2Q0OWJiZWIzN2RhMGZwMTksCi0gICAgLTB4MS5jNDYzYThwMwotICB9LAotICB7IC8vIEVudHJ5IDg5OQotICAgIDB4MS4wOWZhM2FlMWY0OTEzZDFiMzc2NGZmOWE5Njc4ZWY2OHAyMCwKLSAgICAweDEuYzQ2M2FhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDAKLSAgICAtMHgxLjA5ZmEzYWUxZjQ5MTNkMWIzNzY0ZmY5YTk2NzhlZjY4cDIwLAotICAgIC0weDEuYzQ2M2FhcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDEKLSAgICAtMHgxLmFhODY3OTAwOTIwM2RkNmU5NDJmOTE3NTI3NWE3NDYxcDI0LAotICAgIDB4MS5jNDYzYWNwMwotICB9LAotICB7IC8vIEVudHJ5IDkwMgotICAgIDB4MS5hYTg2NzkwMDkyMDNkZDZlOTQyZjkxNzUyNzVhNzQ2MXAyNCwKLSAgICAtMHgxLmM0NjNhY3AzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTAzCi0gICAgLTB4MS4wMDAwMzQxMGZhZDg0NmZkNjdkMzVlMGMwZDk4MzYyOHAwLAotICAgIDB4MS5kZDg1YTRwMwotICB9LAotICB7IC8vIEVudHJ5IDkwNAotICAgIDB4MS4wMDAwMzQxMGZhZDg0NmZkNjdkMzVlMGMwZDk4MzYyOHAwLAotICAgIC0weDEuZGQ4NWE0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDUKLSAgICAtMHgxLjAwMDAxNDEwZjY1NjI3OWU4OWQxNGNmNDA1NGY2YzU2cDAsCi0gICAgMHgxLmRkODVhNnAzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA2Ci0gICAgMHgxLjAwMDAxNDEwZjY1NjI3OWU4OWQxNGNmNDA1NGY2YzU2cDAsCi0gICAgLTB4MS5kZDg1YTZwMwotICB9LAotICB7IC8vIEVudHJ5IDkwNwotICAgIC0weDEuZmZmZmU4MjFlYmE4MTFjMDY3MjQwZjY2NmM5MDQzNzFwLTEsCi0gICAgMHgxLmRkODVhOHAzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTA4Ci0gICAgMHgxLmZmZmZlODIxZWJhODExYzA2NzI0MGY2NjZjOTA0MzcxcC0xLAotICAgIC0weDEuZGQ4NWE4cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MDkKLSAgICAtMHgxLjRhYTljMmYyYzJhZGRiOWI1OWUzOTQwMTIzOTc2MWUycC0yMCwKLSAgICAweDEuZjZhN2EwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTAKLSAgICAweDEuNGFhOWMyZjJjMmFkZGI5YjU5ZTM5NDAxMjM5NzYxZTJwLTIwLAotICAgIC0weDEuZjZhN2EwcDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTEKLSAgICAtMHgxLjJhYTcwYmNiMDdlMDU3YjcyOWVhY2JjMGNmMTdjYmJmcC0yMiwKLSAgICAweDEuZjZhN2EycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTIKLSAgICAweDEuMmFhNzBiY2IwN2UwNTdiNzI5ZWFjYmMwY2YxN2NiYmZwLTIyLAotICAgIC0weDEuZjZhN2EycDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTMKLSAgICAweDEuNmFhYzdhMWE3YzUwYjg3M2JlZDM5YjY4NTliZjI5MzRwLTIxLAotICAgIDB4MS5mNmE3YTRwMwotICB9LAotICB7IC8vIEVudHJ5IDkxNAotICAgIC0weDEuNmFhYzdhMWE3YzUwYjg3M2JlZDM5YjY4NTliZjI5MzRwLTIxLAotICAgIC0weDEuZjZhN2E0cDMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MTUKLSAgICAweDEuZmZmZjQyY2QyYzk1NTA4ZTcwMGFiNzY5NTZkZDA0Y2ZwLTEsCi0gICAgMHgxLjA3ZTRjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTE2Ci0gICAgLTB4MS5mZmZmNDJjZDJjOTU1MDhlNzAwYWI3Njk1NmRkMDRjZnAtMSwKLSAgICAtMHgxLjA3ZTRjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTE3Ci0gICAgMHgxLmZmZmZjMmNkMGQ0ODliNDg4NDQxNzljNTk0MzU2ZTBkcC0xLAotICAgIDB4MS4wN2U0Y2VwNAotICB9LAotICB7IC8vIEVudHJ5IDkxOAotICAgIC0weDEuZmZmZmMyY2QwZDQ4OWI0ODg0NDE3OWM1OTQzNTZlMGRwLTEsCi0gICAgLTB4MS4wN2U0Y2VwNAotICB9LAotICB7IC8vIEVudHJ5IDkxOQotICAgIDB4MS4wMDAwMjE2Njg2ZmRlZjJlMWRkMzFhMmVhYTZhMWNkNHAwLAotICAgIDB4MS4wN2U0ZDBwNAotICB9LAotICB7IC8vIEVudHJ5IDkyMAotICAgIC0weDEuMDAwMDIxNjY4NmZkZWYyZTFkZDMxYTJlYWE2YTFjZDRwMCwKLSAgICAtMHgxLjA3ZTRkMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTIxCi0gICAgMHgxLjg2YjdiYTQ5MjNiY2YxNTdkY2MzMzI5MTg3MWU4OGQ0cDE4LAotICAgIDB4MS4xNDc1Y2FwNAotICB9LAotICB7IC8vIEVudHJ5IDkyMgotICAgIC0weDEuODZiN2JhNDkyM2JjZjE1N2RjYzMzMjkxODcxZTg4ZDRwMTgsCi0gICAgLTB4MS4xNDc1Y2FwNAotICB9LAotICB7IC8vIEVudHJ5IDkyMwotICAgIDB4MS45YzViZWNmMjg3M2VlZDM2OWFmZGMzMTU5YTdmNzk3Y3AyMCwKLSAgICAweDEuMTQ3NWNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjQKLSAgICAtMHgxLjljNWJlY2YyODczZWVkMzY5YWZkYzMxNTlhN2Y3OTdjcDIwLAotICAgIC0weDEuMTQ3NWNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjUKLSAgICAtMHgxLjczM2MwZDg0MzMyZmE2MDZkMWJkMjA3YTQ5MWU0MzcxcDE5LAotICAgIDB4MS4xNDc1Y2VwNAotICB9LAotICB7IC8vIEVudHJ5IDkyNgotICAgIDB4MS43MzNjMGQ4NDMzMmZhNjA2ZDFiZDIwN2E0OTFlNDM3MXAxOSwKLSAgICAtMHgxLjE0NzVjZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTI3Ci0gICAgLTB4MS4wMDAwNDkyMjBiNDUxYmY2ZThlNjA1NTUwYzg4NjAyZnAwLAotICAgIDB4MS4yMTA2YzhwNAotICB9LAotICB7IC8vIEVudHJ5IDkyOAotICAgIDB4MS4wMDAwNDkyMjBiNDUxYmY2ZThlNjA1NTUwYzg4NjAyZnAwLAotICAgIC0weDEuMjEwNmM4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MjkKLSAgICAtMHgxLjAwMDAwOTIyMDBmYzk5YzVkZmE0ZmUxODA4NWNmN2NkcDAsCi0gICAgMHgxLjIxMDZjYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMwCi0gICAgMHgxLjAwMDAwOTIyMDBmYzk5YzVkZmE0ZmUxODA4NWNmN2NkcDAsCi0gICAgLTB4MS4yMTA2Y2FwNAotICB9LAotICB7IC8vIEVudHJ5IDkzMQotICAgIC0weDEuZmZmZjkyNDQwZDY4MzE3MjJkZWMwZDMxODEwZDhmYzdwLTEsCi0gICAgMHgxLjIxMDZjY3A0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTMyCi0gICAgMHgxLmZmZmY5MjQ0MGQ2ODMxNzIyZGVjMGQzMTgxMGQ4ZmM3cC0xLAotICAgIC0weDEuMjEwNmNjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzMKLSAgICAtMHgxLmY5OTkwZTkxYjFkOTE2ZTU4MjI0MjM0NzExMmJhMWQ2cC0xOSwKLSAgICAweDEuMmQ5N2M0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzQKLSAgICAweDEuZjk5OTBlOTFiMWQ5MTZlNTgyMjQyMzQ3MTEyYmExZDZwLTE5LAotICAgIC0weDEuMmQ5N2M0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzUKLSAgICAtMHgxLmYzMzIxZDIzNTE5ZmUxZGNmZGNkMmYxZjc2MjAwOGE0cC0yMCwKLSAgICAweDEuMmQ5N2M2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzYKLSAgICAweDEuZjMzMjFkMjM1MTlmZTFkY2ZkY2QyZjFmNzYyMDA4YTRwLTIwLAotICAgIC0weDEuMmQ5N2M2cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzcKLSAgICAweDEuOTliYzViOTYxYjFiMjRmZGI3N2ZjZWUwOGJhMmY3MjBwLTI1LAotICAgIDB4MS4yZDk3YzhwNAotICB9LAotICB7IC8vIEVudHJ5IDkzOAotICAgIC0weDEuOTliYzViOTYxYjFiMjRmZGI3N2ZjZWUwOGJhMmY3MjBwLTI1LAotICAgIC0weDEuMmQ5N2M4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5MzkKLSAgICAweDEuZmZmZjE4YWIyNzU2YmEwYTIwYWFmNDM5MmIwYTgwMTlwLTEsCi0gICAgMHgxLjNhMjhjMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQwCi0gICAgLTB4MS5mZmZmMThhYjI3NTZiYTBhMjBhYWY0MzkyYjBhODAxOXAtMSwKLSAgICAtMHgxLjNhMjhjMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQxCi0gICAgMHgxLmZmZmY5OGFhZmQ4MTg1MjVkMjRkNjY0ZWY5NjJlZjE0cC0xLAotICAgIDB4MS4zYTI4YzRwNAotICB9LAotICB7IC8vIEVudHJ5IDk0MgotICAgIC0weDEuZmZmZjk4YWFmZDgxODUyNWQyNGQ2NjRlZjk2MmVmMTRwLTEsCi0gICAgLTB4MS4zYTI4YzRwNAotICB9LAotICB7IC8vIEVudHJ5IDk0MwotICAgIDB4MS4wMDAwMGM1NTc5ZDYyMWFiNzMzNGVmZjMxZDIzY2YyY3AwLAotICAgIDB4MS4zYTI4YzZwNAotICB9LAotICB7IC8vIEVudHJ5IDk0NAotICAgIC0weDEuMDAwMDBjNTU3OWQ2MjFhYjczMzRlZmYzMWQyM2NmMmNwMCwKLSAgICAtMHgxLjNhMjhjNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTQ1Ci0gICAgMHgxLjM4NDZiMzEwZGU3Yzc5NmFkYjNlYTJlYTIyYjEwOGUycDE4LAotICAgIDB4MS40NmI5YzBwNAotICB9LAotICB7IC8vIEVudHJ5IDk0NgotICAgIC0weDEuMzg0NmIzMTBkZTdjNzk2YWRiM2VhMmVhMjJiMTA4ZTJwMTgsCi0gICAgLTB4MS40NmI5YzBwNAotICB9LAotICB7IC8vIEVudHJ5IDk0NwotICAgIDB4MS45MDQ0MjVmYzkyZWFiMGFiZmU5NmFlZWI2ZmZiMmRjOHAxOSwKLSAgICAweDEuNDZiOWMycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDgKLSAgICAtMHgxLjkwNDQyNWZjOTJlYWIwYWJmZTk2YWVlYjZmZmIyZGM4cDE5LAotICAgIC0weDEuNDZiOWMycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NDkKLSAgICAtMHgxLjYzMjJiYWNiMjJkZTZhZjAwMjI4ZDJlYTRkNmQyNzk5cDIwLAotICAgIDB4MS40NmI5YzRwNAotICB9LAotICB7IC8vIEVudHJ5IDk1MAotICAgIDB4MS42MzIyYmFjYjIyZGU2YWYwMDIyOGQyZWE0ZDZkMjc5OXAyMCwKLSAgICAtMHgxLjQ2YjljNHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTUxCi0gICAgLTB4MS4wMDAwNWUzMzFkNmRiZWU5ZjlkNDMxYjQ5ZWE3YjcyM3AwLAotICAgIDB4MS41MzRhYmVwNAotICB9LAotICB7IC8vIEVudHJ5IDk1MgotICAgIDB4MS4wMDAwNWUzMzFkNmRiZWU5ZjlkNDMxYjQ5ZWE3YjcyM3AwLAotICAgIC0weDEuNTM0YWJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTMKLSAgICAtMHgxLjAwMDAxZTMzMGRlMGY3YzczNGJjNTdhNGM2NjUwMzI3cDAsCi0gICAgMHgxLjUzNGFjMHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTU0Ci0gICAgMHgxLjAwMDAxZTMzMGRlMGY3YzczNGJjNTdhNGM2NjUwMzI3cDAsCi0gICAgLTB4MS41MzRhYzBwNAotICB9LAotICB7IC8vIEVudHJ5IDk1NQotICAgIC0weDEuZmZmZmJjNjYxY2E4NjhkNWE0NDE4ZjBkMWNkN2MyMmZwLTEsCi0gICAgMHgxLjUzNGFjMnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTU2Ci0gICAgMHgxLmZmZmZiYzY2MWNhODY4ZDVhNDQxOGYwZDFjZDdjMjJmcC0xLAotICAgIC0weDEuNTM0YWMycDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTcKLSAgICAtMHgxLjRkZGQzYmE5ZjEyMTRkZWI0MDY3MjM5N2Q2ZjE5MWJjcC0xOSwKLSAgICAweDEuNWZkYmJjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTgKLSAgICAweDEuNGRkZDNiYTlmMTIxNGRlYjQwNjcyMzk3ZDZmMTkxYmNwLTE5LAotICAgIC0weDEuNWZkYmJjcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NTkKLSAgICAtMHgxLjM3NzRlZWE3YjhkNzIxNGJjODliMTE1MzJmODJkMzIzcC0yMSwKLSAgICAweDEuNWZkYmJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjAKLSAgICAweDEuMzc3NGVlYTdiOGQ3MjE0YmM4OWIxMTUzMmY4MmQzMjNwLTIxLAotICAgIC0weDEuNWZkYmJlcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjEKLSAgICAweDEuNjQ0NTg4YWMyNDhkYTZkMDE5NDExMjFmNTA2NzNiM2ZwLTIwLAotICAgIDB4MS41ZmRiYzBwNAotICB9LAotICB7IC8vIEVudHJ5IDk2MgotICAgIC0weDEuNjQ0NTg4YWMyNDhkYTZkMDE5NDExMjFmNTA2NzNiM2ZwLTIwLAotICAgIC0weDEuNWZkYmMwcDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NjMKLSAgICAweDEuZmZmZjZlODhmMTMyMDc5NGQ4NDVlOGUwZmUxZmQ4YmRwLTEsCi0gICAgMHgxLjZjNmNiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTY0Ci0gICAgLTB4MS5mZmZmNmU4OGYxMzIwNzk0ZDg0NWU4ZTBmZTFmZDhiZHAtMSwKLSAgICAtMHgxLjZjNmNiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTY1Ci0gICAgMHgxLmZmZmZlZTg4ZGNkNDQyOWYxNWMwZTRhOTViOWJhMGU2cC0xLAotICAgIDB4MS42YzZjYmNwNAotICB9LAotICB7IC8vIEVudHJ5IDk2NgotICAgIC0weDEuZmZmZmVlODhkY2Q0NDI5ZjE1YzBlNGE5NWI5YmEwZTZwLTEsCi0gICAgLTB4MS42YzZjYmNwNAotICB9LAotICB7IC8vIEVudHJ5IDk2NwotICAgIDB4MS4wMDAwMzc0NDc0M2IzZGJkMzdkZDA1M2U3MDJiZDc1NHAwLAotICAgIDB4MS42YzZjYmVwNAotICB9LAotICB7IC8vIEVudHJ5IDk2OAotICAgIC0weDEuMDAwMDM3NDQ3NDNiM2RiZDM3ZGQwNTNlNzAyYmQ3NTRwMCwKLSAgICAtMHgxLjZjNmNiZXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTY5Ci0gICAgMHgxLjA0MTA5YWIwZWM3OGY4MjdlZTk1Y2VhNzQ2YjM4YzIwcDE4LAotICAgIDB4MS43OGZkYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDk3MAotICAgIC0weDEuMDQxMDlhYjBlYzc4ZjgyN2VlOTVjZWE3NDZiMzhjMjBwMTgsCi0gICAgLTB4MS43OGZkYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDk3MQotICAgIDB4MS4wODQyYzliMzJkMjEyNWRiZjVjMjBkNzBjNDZiMTdhNXAxOSwKLSAgICAweDEuNzhmZGI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzIKLSAgICAtMHgxLjA4NDJjOWIzMmQyMTI1ZGJmNWMyMGQ3MGM0NmIxN2E1cDE5LAotICAgIC0weDEuNzhmZGI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzMKLSAgICAtMHgxLmZmZDQ5MTMzZTI2YTljNzQ5OTY2NjMwZGVlODEzZGRlcDIzLAotICAgIDB4MS43OGZkYmFwNAotICB9LAotICB7IC8vIEVudHJ5IDk3NAotICAgIDB4MS5mZmQ0OTEzM2UyNmE5Yzc0OTk2NjYzMGRlZTgxM2RkZXAyMywKLSAgICAtMHgxLjc4ZmRiYXA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTc1Ci0gICAgLTB4MS4wMDAwNzM0NDMxNTIzMDFmYTU5MzM4ZWVjMjljMzc3OHAwLAotICAgIDB4MS44NThlYjRwNAotICB9LAotICB7IC8vIEVudHJ5IDk3NgotICAgIDB4MS4wMDAwNzM0NDMxNTIzMDFmYTU5MzM4ZWVjMjljMzc3OHAwLAotICAgIC0weDEuODU4ZWI0cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5NzcKLSAgICAtMHgxLjAwMDAzMzQ0MWM4MTIzMmQzZDlmYzM0YmVhODFmYjdjcDAsCi0gICAgMHgxLjg1OGViNnA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTc4Ci0gICAgMHgxLjAwMDAzMzQ0MWM4MTIzMmQzZDlmYzM0YmVhODFmYjdjcDAsCi0gICAgLTB4MS44NThlYjZwNAotICB9LAotICB7IC8vIEVudHJ5IDk3OQotICAgIC0weDEuZmZmZmU2ODgyZjYwMzk0NmI1M2IwNDIzNjFhZWM4MmNwLTEsCi0gICAgMHgxLjg1OGViOHA0Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTgwCi0gICAgMHgxLmZmZmZlNjg4MmY2MDM5NDZiNTNiMDQyMzYxYWVjODJjcC0xLAotICAgIC0weDEuODU4ZWI4cDQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODEKLSAgICAtMHgxLmNiNmNkNGNiODJhOTFkZmM0YWY5YTQ5OWE1NzVlNGE0cC0zLAotICAgIDB4MS5mZmZmZmVwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODIKLSAgICAweDEuY2I2Y2Q0Y2I4MmE5MWRmYzRhZjlhNDk5YTU3NWU0YTRwLTMsCi0gICAgLTB4MS5mZmZmZmVwNjIKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODMKLSAgICAweDEuNTJmNTBlNzU3OTQxY2JmZjViN2MyZTA2YTFhYjdlOWRwNiwKLSAgICAweDEucDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg0Ci0gICAgLTB4MS41MmY1MGU3NTc5NDFjYmZmNWI3YzJlMDZhMWFiN2U5ZHA2LAotICAgIC0weDEucDYzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTg1Ci0gICAgLTB4MS4yOWNiZDEyODIxYjM5OWM5ZWU0ZjI2NWRhNTE4ODFhOHAxLAotICAgIDB4MS4wMDAwMDJwNjMKLSAgfSwKLSAgeyAvLyBFbnRyeSA5ODYKLSAgICAweDEuMjljYmQxMjgyMWIzOTljOWVlNGYyNjVkYTUxODgxYThwMSwKLSAgICAtMHgxLjAwMDAwMnA2MwotICB9LAotICB7IC8vIEVudHJ5IDk4NwotICAgIDB4MS4zZTRkOTE0OGQ3MDg2NzI3ZGE5NDRlMWMwNTJiNjhhZnAtMSwKLSAgICAweDEuZmZmZmZlcDI2Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTg4Ci0gICAgLTB4MS4zZTRkOTE0OGQ3MDg2NzI3ZGE5NDRlMWMwNTJiNjhhZnAtMSwKLSAgICAtMHgxLmZmZmZmZXAyNgotICB9LAotICB7IC8vIEVudHJ5IDk4OQotICAgIC0weDEuMmU4ZmMxYWY4MWQ4YmFhODg5OWEzMzI1MjAwYzBkY2JwMCwKLSAgICAweDEucDI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgOTkwCi0gICAgMHgxLjJlOGZjMWFmODFkOGJhYTg4OTlhMzMyNTIwMGMwZGNicDAsCi0gICAgLTB4MS5wMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTEKLSAgICAtMHgxLjRjZTk3NDhlNTI0Zjc3YWQ4NTczNWM3ZjdkNjY4Y2YxcC0xLAotICAgIDB4MS4wMDAwMDJwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTIKLSAgICAweDEuNGNlOTc0OGU1MjRmNzdhZDg1NzM1YzdmN2Q2NjhjZjFwLTEsCi0gICAgLTB4MS4wMDAwMDJwMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTMKLSAgICAweDEuN2UzMDA1ZDU3ZWQ5M2FlNDViMWJlYTNlMzYxNWJiNjdwMSwKLSAgICAweDEuZmZmZmZlcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk0Ci0gICAgLTB4MS43ZTMwMDVkNTdlZDkzYWU0NWIxYmVhM2UzNjE1YmI2N3AxLAotICAgIC0weDEuZmZmZmZlcDIzCi0gIH0sCi0gIHsgLy8gRW50cnkgOTk1Ci0gICAgLTB4MS4zZWEyODI3MWE5YmVhMzZlNzQ0ZjljZTUzN2JhNGI1OXAwLAotICAgIDB4MS5wMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTYKLSAgICAweDEuM2VhMjgyNzFhOWJlYTM2ZTc0NGY5Y2U1MzdiYTRiNTlwMCwKLSAgICAtMHgxLnAyNAotICB9LAotICB7IC8vIEVudHJ5IDk5NwotICAgIDB4MS5mZTkyOWI0MjgyMTA1YTE2MGE5YmUyNzMxZGYyMGE2Y3AwLAotICAgIDB4MS4wMDAwMDJwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTgKLSAgICAtMHgxLmZlOTI5YjQyODIxMDVhMTYwYTliZTI3MzFkZjIwYTZjcDAsCi0gICAgLTB4MS4wMDAwMDJwMjQKLSAgfSwKLSAgeyAvLyBFbnRyeSA5OTkKLSAgICAweDEuMjg2NmYwNjE5NGUwYzJjN2VlMjJlZTlmOGY5ZGNhZWVwMCwKLSAgICAweDEuZmZmZmZlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAwCi0gICAgLTB4MS4yODY2ZjA2MTk0ZTBjMmM3ZWUyMmVlOWY4ZjlkY2FlZXAwLAotICAgIC0weDEuZmZmZmZlcDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDAxCi0gICAgMHgxLjI4NjZmOWJlNGRlMTM3MGRiOTA3ODYwNzAxMmNiMDdicDAsCi0gICAgMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMgotICAgIC0weDEuMjg2NmY5YmU0ZGUxMzcwZGI5MDc4NjA3MDEyY2IwN2JwMCwKLSAgICAtMHgxLnAyCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwMwotICAgIDB4MS4yODY3MGM3N2MwZTY0NzEzOGQ0ZmM3MTgxZWY5YjYxZnAwLAotICAgIDB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMDQKLSAgICAtMHgxLjI4NjcwYzc3YzBlNjQ3MTM4ZDRmYzcxODFlZjliNjFmcDAsCi0gICAgLTB4MS4wMDAwMDJwMgotICB9LAotICB7IC8vIEVudHJ5IDEwMDUKLSAgICAtMHgxLjE3YWY2OGE2ZDQyZjc3MmJkMjQ5ZjVkNjkyYWZhNGU3cDEsCi0gICAgMHgxLmZmZmZmZXAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwNgotICAgIDB4MS4xN2FmNjhhNmQ0MmY3NzJiZDI0OWY1ZDY5MmFmYTRlN3AxLAotICAgIC0weDEuZmZmZmZlcDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDA3Ci0gICAgLTB4MS4xN2FmNjJlMDk1MGY4M2I1MDk5MDg3YWFmNjdhZjljMXAxLAotICAgIDB4MS5wMQotICB9LAotICB7IC8vIEVudHJ5IDEwMDgKLSAgICAweDEuMTdhZjYyZTA5NTBmODNiNTA5OTA4N2FhZjY3YWY5YzFwMSwKLSAgICAtMHgxLnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAwOQotICAgIC0weDEuMTdhZjU3NTQxNzY3MDUxNzNjZWM4OWQwMTM4MWY1NTNwMSwKLSAgICAweDEuMDAwMDAycDEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDEwCi0gICAgMHgxLjE3YWY1NzU0MTc2NzA1MTczY2VjODlkMDEzODFmNTUzcDEsCi0gICAgLTB4MS4wMDAwMDJwMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTEKLSAgICAweDEuOGViMjQyNWVmZjcyODYwZDU2ZDYxMDU2ZGI1NGVmNjdwMCwKLSAgICAweDEuZmZmZmZlcC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxMgotICAgIC0weDEuOGViMjQyNWVmZjcyODYwZDU2ZDYxMDU2ZGI1NGVmNjdwMCwKLSAgICAtMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMTMKLSAgICAweDEuOGViMjQ1Y2JlZTNhNWI4YWNjN2Q0MTMyMzE0MGIzYjVwMCwKLSAgICAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE0Ci0gICAgLTB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAotICAgIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE1Ci0gICAgMHgxLjhlYjI0Y2E1Y2JlYTA4Zjk5MTIwNmEzZWFmOTNhYjk4cDAsCi0gICAgMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNgotICAgIC0weDEuOGViMjRjYTVjYmVhMDhmOTkxMjA2YTNlYWY5M2FiOThwMCwKLSAgICAtMHgxLjAwMDAwMnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxNwotICAgIDB4MS4xN2I0ZjQ3MmNkNzkxYWFiZmU0ZWE5MWFmYjVlNzllN3AtMSwKLSAgICAweDEuZmZmZmZlcC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAxOAotICAgIC0weDEuMTdiNGY0NzJjZDc5MWFhYmZlNGVhOTFhZmI1ZTc5ZTdwLTEsCi0gICAgLTB4MS5mZmZmZmVwLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDE5Ci0gICAgMHgxLjE3YjRmNWJmMzQ3NGE0MzE3OTY0ODA3ODgyNDQ0Y2M4cC0xLAotICAgIDB4MS5wLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDIwCi0gICAgLTB4MS4xN2I0ZjViZjM0NzRhNDMxNzk2NDgwNzg4MjQ0NGNjOHAtMSwKLSAgICAtMHgxLnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMjEKLSAgICAweDEuMTdiNGY4NTgwMjZkZDgwMzNlZDNkOGQ2ZDUzNTBjYTlwLTEsCi0gICAgMHgxLjAwMDAwMnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwMjIKLSAgICAtMHgxLjE3YjRmODU4MDI2ZGQ4MDMzZWQzZDhkNmQ1MzUwY2E5cC0xLAotICAgIC0weDEuMDAwMDAycC0xCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyMwotICAgIDB4MS4wNTc4NTkzMzEzZGI2NTljZjNhYjg4YTIzNTIxODQ1NnAtMiwKLSAgICAweDEuZmZmZmZlcC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyNAotICAgIC0weDEuMDU3ODU5MzMxM2RiNjU5Y2YzYWI4OGEyMzUyMTg0NTZwLTIsCi0gICAgLTB4MS5mZmZmZmVwLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI1Ci0gICAgMHgxLjA1Nzg1YTQzYzRjNTVlNjM5NDAxODg5NjVjMjhiZDBmcC0yLAotICAgIDB4MS5wLTIKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDI2Ci0gICAgLTB4MS4wNTc4NWE0M2M0YzU1ZTYzOTQwMTg4OTY1YzI4YmQwZnAtMiwKLSAgICAtMHgxLnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjcKLSAgICAweDEuMDU3ODVjNjUyNjk5Yjg2MjhiNzg3NmI3YmQ4M2MwY2NwLTIsCi0gICAgMHgxLjAwMDAwMnAtMgotICB9LAotICB7IC8vIEVudHJ5IDEwMjgKLSAgICAtMHgxLjA1Nzg1YzY1MjY5OWI4NjI4Yjc4NzZiN2JkODNjMGNjcC0yLAotICAgIC0weDEuMDAwMDAycC0yCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAyOQotICAgIDB4MS4wMTU3NzllZDQ2NTc0NzI0YjkwMjVhNDQ3MmExYWUwYXAtMywKLSAgICAweDEuZmZmZmZlcC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzMAotICAgIC0weDEuMDE1Nzc5ZWQ0NjU3NDcyNGI5MDI1YTQ0NzJhMWFlMGFwLTMsCi0gICAgLTB4MS5mZmZmZmVwLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMxCi0gICAgMHgxLjAxNTc3YWYxNTExYTRlMDQ1OWY1Yjg3MmQ0ZmYzNGZkcC0zLAotICAgIDB4MS5wLTMKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDMyCi0gICAgLTB4MS4wMTU3N2FmMTUxMWE0ZTA0NTlmNWI4NzJkNGZmMzRmZHAtMywKLSAgICAtMHgxLnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMzMKLSAgICAweDEuMDE1NzdjZjk2NmEwNzQ0NTUzZGQ0NGE5OTRmMGJiZDFwLTMsCi0gICAgMHgxLjAwMDAwMnAtMwotICB9LAotICB7IC8vIEVudHJ5IDEwMzQKLSAgICAtMHgxLjAxNTc3Y2Y5NjZhMDc0NDU1M2RkNDRhOTk0ZjBiYmQxcC0zLAotICAgIC0weDEuMDAwMDAycC0zCi0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNQotICAgIDB4MS4wMDU1NzY4NDRkNDRmZGEwYjgwMzQ4YmIxNzQ5OGFhMXAtNCwKLSAgICAweDEuZmZmZmZlcC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTAzNgotICAgIC0weDEuMDA1NTc2ODQ0ZDQ0ZmRhMGI4MDM0OGJiMTc0OThhYTFwLTQsCi0gICAgLTB4MS5mZmZmZmVwLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM3Ci0gICAgMHgxLjAwNTU3Nzg1NGRmMDA4MzI5M2JlNjM5MDU3YjBjNjgxcC00LAotICAgIDB4MS5wLTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDM4Ci0gICAgLTB4MS4wMDU1Nzc4NTRkZjAwODMyOTNiZTYzOTA1N2IwYzY4MXAtNCwKLSAgICAtMHgxLnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwMzkKLSAgICAweDEuMDA1NTc5ODc0ZjQ2MjM1ZTUyMDgyYTRkMGRkZmM2ZTFwLTQsCi0gICAgMHgxLjAwMDAwMnAtNAotICB9LAotICB7IC8vIEVudHJ5IDEwNDAKLSAgICAtMHgxLjAwNTU3OTg3NGY0NjIzNWU1MjA4MmE0ZDBkZGZjNmUxcC00LAotICAgIC0weDEuMDAwMDAycC00Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MQotICAgIDB4MS4wMDE1NTY3NzZlYjVkOThmODJlMWI1ZWFiMjhjNmI1ZnAtNSwKLSAgICAweDEuZmZmZmZlcC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0MgotICAgIC0weDEuMDAxNTU2Nzc2ZWI1ZDk4ZjgyZTFiNWVhYjI4YzZiNWZwLTUsCi0gICAgLTB4MS5mZmZmZmVwLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQzCi0gICAgMHgxLjAwMTU1Nzc3YWVjMDg1N2QyMmM5N2U4MDk4NjAyODhkcC01LAotICAgIDB4MS5wLTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ0Ci0gICAgLTB4MS4wMDE1NTc3N2FlYzA4NTdkMjJjOTdlODA5ODYwMjg4ZHAtNSwKLSAgICAtMHgxLnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDUKLSAgICAweDEuMDAxNTU5NzgyZWQ1ZGVkOGUyYjRjODE5Y2I3YzlmMTFwLTUsCi0gICAgMHgxLjAwMDAwMnAtNQotICB9LAotICB7IC8vIEVudHJ5IDEwNDYKLSAgICAtMHgxLjAwMTU1OTc4MmVkNWRlZDhlMmI0YzgxOWNiN2M5ZjExcC01LAotICAgIC0weDEuMDAwMDAycC01Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0NwotICAgIDB4MS4wMDA1NTQ3NzY4NTNlMDQxMDEwZGEyMmE2NTZmODI2N3AtNiwKLSAgICAweDEuZmZmZmZlcC03Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA0OAotICAgIC0weDEuMDAwNTU0Nzc2ODUzZTA0MTAxMGRhMjJhNjU2ZjgyNjdwLTYsCi0gICAgLTB4MS5mZmZmZmVwLTcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDQ5Ci0gICAgMHgxLjAwMDU1NTc3Nzg1NDhhZTFiNWY2MDU3NDcwNmU4MjM4cC02LAotICAgIDB4MS5wLTYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDUwCi0gICAgLTB4MS4wMDA1NTU3Nzc4NTQ4YWUxYjVmNjA1NzQ3MDZlODIzOHAtNiwKLSAgICAtMHgxLnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEwNTEKLSAgICAweDEuMDAwNTU3Nzc5ODU1ZTA4MzI3Yzc1OGUyMGQ2OTFkYWRwLTYsCi0gICAgMHgxLjAwMDAwMnAtNgotICB9LAotICB7IC8vIEVudHJ5IDEwNTIKLSAgICAtMHgxLjAwMDU1Nzc3OTg1NWUwODMyN2M3NThlMjBkNjkxZGFkcC02LAotICAgIC0weDEuMDAwMDAycC02Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA1MwotICAgIDB4MS5mZmZmZmUwYWFhYWE4YWVlZWYwZDliNTNhZDJmNDgyM3AtMTUsCi0gICAgMHgxLmZmZmZmZXAtMTUKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU0Ci0gICAgLTB4MS5mZmZmZmUwYWFhYWE4YWVlZWYwZDliNTNhZDJmNDgyM3AtMTUsCi0gICAgLTB4MS5mZmZmZmVwLTE1Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NQotICAgIDB4MS4wMDAwMDAwNTU1NTU1NTc3Nzc3Nzc4NTQ4NTQ4NWExZXAtMTQsCi0gICAgMHgxLnAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU2Ci0gICAgLTB4MS4wMDAwMDAwNTU1NTU1NTc3Nzc3Nzc4NTQ4NTQ4NWExZXAtMTQsCi0gICAgLTB4MS5wLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA1NwotICAgIDB4MS4wMDAwMDIwNTU1NTU3NTc3NzdiOGNkYWEwYWE5YzY0MHAtMTQsCi0gICAgMHgxLjAwMDAwMnAtMTQKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDU4Ci0gICAgLTB4MS4wMDAwMDIwNTU1NTU3NTc3NzdiOGNkYWEwYWE5YzY0MHAtMTQsCi0gICAgLTB4MS4wMDAwMDJwLTE0Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA1OQotICAgIDB4MS5mZmZmZmUwMDAwMDAwMmFhYWFhMmFhYWFiMmFlZWVlY3AtMjgsCi0gICAgMHgxLmZmZmZmZXAtMjgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYwCi0gICAgLTB4MS5mZmZmZmUwMDAwMDAwMmFhYWFhMmFhYWFiMmFlZWVlY3AtMjgsCi0gICAgLTB4MS5mZmZmZmVwLTI4Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MQotICAgIDB4MS4wMDAwMDAwMDAwMDAwMTU1NTU1NTU1NTU1NTU3Nzc3N3AtMjcsCi0gICAgMHgxLnAtMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDYyCi0gICAgLTB4MS4wMDAwMDAwMDAwMDAwMTU1NTU1NTU1NTU1NTU3Nzc3N3AtMjcsCi0gICAgLTB4MS5wLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA2MwotICAgIDB4MS4wMDAwMDIwMDAwMDAwMTU1NTU1ZDU1NTU2NTU3Nzc4MnAtMjcsCi0gICAgMHgxLjAwMDAwMnAtMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY0Ci0gICAgLTB4MS4wMDAwMDIwMDAwMDAwMTU1NTU1ZDU1NTU2NTU3Nzc4MnAtMjcsCi0gICAgLTB4MS4wMDAwMDJwLTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA2NQotICAgIDB4MS5mZmZmZmUwMDAwMDAwMDBhYWFhYThhYWFhYWNhYWFlZXAtMzEsCi0gICAgMHgxLmZmZmZmZXAtMzEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY2Ci0gICAgLTB4MS5mZmZmZmUwMDAwMDAwMDBhYWFhYThhYWFhYWNhYWFlZXAtMzEsCi0gICAgLTB4MS5mZmZmZmVwLTMxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2NwotICAgIDB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU3N3AtMzAsCi0gICAgMHgxLnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDY4Ci0gICAgLTB4MS4wMDAwMDAwMDAwMDAwMDA1NTU1NTU1NTU1NTU1NTU3N3AtMzAsCi0gICAgLTB4MS5wLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA2OQotICAgIDB4MS4wMDAwMDIwMDAwMDAwMDA1NTU1NTc1NTU1NTk1NTU3N3AtMzAsCi0gICAgMHgxLjAwMDAwMnAtMzAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcwCi0gICAgLTB4MS4wMDAwMDIwMDAwMDAwMDA1NTU1NTc1NTU1NTk1NTU3N3AtMzAsCi0gICAgLTB4MS4wMDAwMDJwLTMwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA3MQotICAgIDB4MS4zOTNkOTRiNDk4OGMxZjI1NDM0NWM5ZjdkOWVhMGMwM3AtMSwKLSAgICAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDcyCi0gICAgLTB4MS4zOTNkOTRiNDk4OGMxZjI1NDM0NWM5ZjdkOWVhMGMwM3AtMSwKLSAgICAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNzMKLSAgICAtMHgxLjM5M2Q5NGI0OTg4YzFmMjU0MzQ1YzlmN2Q5ZWEwYzAzcC0xLAotICAgIDB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NAotICAgIDB4MS4zOTNkOTRiNDk4OGMxZjI1NDM0NWM5ZjdkOWVhMGMwM3AtMSwKLSAgICAtMHgxLmZmZmZmZXAxMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDc1Ci0gICAgLTB4MS4zOTNkOTRiNDk4OGMxZjI1NDM0NWM5ZjdkOWVhMGMwM3AtMSwKLSAgICAweDEuZmZmZmZlcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNzYKLSAgICAweDEuMzkzZDk0YjQ5ODhjMWYyNTQzNDVjOWY3ZDllYTBjMDNwLTEsCi0gICAgLTB4MS5mZmZmZmVwMTI3Ci0gIH0sCi0gIHsgLy8gRW50cnkgMTA3NwotICAgIDB4MS5hY2YzMTVhODdhYTVkYTg2NTRjODQ0YjkxN2QxNDc0NXAtMSwKLSAgICAweDEuZmZmZmZjcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNzgKLSAgICAtMHgxLmFjZjMxNWE4N2FhNWRhODY1NGM4NDRiOTE3ZDE0NzQ1cC0xLAotICAgIC0weDEuZmZmZmZjcDEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwNzkKLSAgICAweDEuNzc3YTVjZjcyY2VkZjNiNTQ0YzgxODA4YjUxNWYxZjlwLTI0LAotICAgIDB4MS45MjFmYjZwMQotICB9LAotICB7IC8vIEVudHJ5IDEwODAKLSAgICAtMHgxLjc3N2E1Y2Y3MmNlZGYzYjU0NGM4MTgwOGI1MTVmMWY5cC0yNCwKLSAgICAtMHgxLjkyMWZiNnAxCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MQotICAgIC0weDEuNWQxNDk0NmRjOTg5NzVkNjQyMWE1NTI4NGZlMDIwYTFwMjQsCi0gICAgMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MgotICAgIDB4MS41ZDE0OTQ2ZGM5ODk3NWQ2NDIxYTU1Mjg0ZmUwMjBhMXAyNCwKLSAgICAtMHgxLjkyMWZiNnAwCi0gIH0sCi0gIHsgLy8gRW50cnkgMTA4MwotICAgIDB4MS44ZWIyNGNhNWNiZWEwOGY5OTEyMDZhM2VhZjkzYWI5OHAwLAotICAgIDB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDEwODQKLSAgICAtMHgxLjhlYjI0Y2E1Y2JlYTA4Zjk5MTIwNmEzZWFmOTNhYjk4cDAsCi0gICAgLTB4MS4wMDAwMDJwMAotICB9LAotICB7IC8vIEVudHJ5IDEwODUKLSAgICAweDEuOGViMjQ1Y2JlZTNhNWI4YWNjN2Q0MTMyMzE0MGIzYjVwMCwKLSAgICAweDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg2Ci0gICAgLTB4MS44ZWIyNDVjYmVlM2E1YjhhY2M3ZDQxMzIzMTQwYjNiNXAwLAotICAgIC0weDEucDAKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg3Ci0gICAgMHgxLjhlYjI0MjVlZmY3Mjg2MGQ1NmQ2MTA1NmRiNTRlZjY3cDAsCi0gICAgMHgxLmZmZmZmZXAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwODgKLSAgICAtMHgxLjhlYjI0MjVlZmY3Mjg2MGQ1NmQ2MTA1NmRiNTRlZjY3cDAsCi0gICAgLTB4MS5mZmZmZmVwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDg5Ci0gICAgMHgxLjAwMDAwMGJiYmQyZWMwNmQ2ZDZmZmYzNjU1YTM0NmFjcDAsCi0gICAgMHgxLjkyMWZiNnAtMQotICB9LAotICB7IC8vIEVudHJ5IDEwOTAKLSAgICAtMHgxLjAwMDAwMGJiYmQyZWMwNmQ2ZDZmZmYzNjU1YTM0NmFjcDAsCi0gICAgLTB4MS45MjFmYjZwLTEKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkxCi0gICAgMHgxLjAwMDAwMnAtMTI2LAotICAgIDB4MS4wMDAwMDJwLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDEwOTIKLSAgICAtMHgxLjAwMDAwMnAtMTI2LAotICAgIC0weDEuMDAwMDAycC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDkzCi0gICAgMHgxLnAtMTI2LAotICAgIDB4MS5wLTEyNgotICB9LAotICB7IC8vIEVudHJ5IDEwOTQKLSAgICAtMHgxLnAtMTI2LAotICAgIC0weDEucC0xMjYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk1Ci0gICAgMHgxLmZmZmZmY3AtMTI3LAotICAgIDB4MS5mZmZmZmNwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwOTYKLSAgICAtMHgxLmZmZmZmY3AtMTI3LAotICAgIC0weDEuZmZmZmZjcC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk3Ci0gICAgMHgxLmZmZmZmOHAtMTI3LAotICAgIDB4MS5mZmZmZjhwLTEyNwotICB9LAotICB7IC8vIEVudHJ5IDEwOTgKLSAgICAtMHgxLmZmZmZmOHAtMTI3LAotICAgIC0weDEuZmZmZmY4cC0xMjcKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMDk5Ci0gICAgMHgxLnAtMTQ4LAotICAgIDB4MS5wLTE0OAotICB9LAotICB7IC8vIEVudHJ5IDExMDAKLSAgICAtMHgxLnAtMTQ4LAotICAgIC0weDEucC0xNDgKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAxCi0gICAgMHgxLnAtMTQ5LAotICAgIDB4MS5wLTE0OQotICB9LAotICB7IC8vIEVudHJ5IDExMDIKLSAgICAtMHgxLnAtMTQ5LAotICAgIC0weDEucC0xNDkKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTAzCi0gICAgMC4wLAotICAgIDAuMGYKLSAgfSwKLSAgeyAvLyBFbnRyeSAxMTA0Ci0gICAgLTAuMCwKLSAgICAtMC4wZgotICB9LAotfTsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCi0KLVRFU1QobWF0aF90YW5mLCB0YW5mX2ludGVsKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihnX3RhbmZfaW50ZWxfZGF0YSkvc2l6ZW9mKHRhbmZfaW50ZWxfZGF0YV90KTsgaSsrKSB7Ci0gICAgRVhQRUNUX0ZMT0FUX0VRKGdfdGFuZl9pbnRlbF9kYXRhW2ldLmV4cGVjdGVkLCB0YW5mKGdfdGFuZl9pbnRlbF9kYXRhW2ldLmNhbGxfZGF0YSkpIDw8ICJGYWlsZWQgb24gZWxlbWVudCAiIDw8IGk7Ci0gIH0KLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KLX0KZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfdGVzdC5jcHAgYi90ZXN0cy9tYXRoX3Rlc3QuY3BwCmluZGV4IDIyMDNkYjkuLmU2MTZlOWIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21hdGhfdGVzdC5jcHAKKysrIGIvdGVzdHMvbWF0aF90ZXN0LmNwcApAQCAtMTQsNiArMTQsOSBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgKi8KIAorI2RlZmluZSBfR05VX1NPVVJDRSAxCisjaW5jbHVkZSA8bWF0aC5oPgorCiAvLyBUaGlzIGluY2x1ZGUgKGFuZCB0aGUgYXNzb2NpYXRlZCBkZWZpbml0aW9uIG9mIF9fdGVzdF9jYXB0dXJlX3NpZ25iaXQpCiAvLyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYW55IGZpbGVzIHRoYXQgaW5jbHVkZSA8Y21hdGg+IChndGVzdC5oIGluIHRoaXMgY2FzZSkuCiAvLwpAQCAtMjksNyArMzIsNiBAQAogLy8gc3VyZSB0aGF0IHdlJ3JlIHRlc3RpbmcgdGhlIGJpb25pYyB2ZXJzaW9uIG9mIHNpZ25iaXQuIFRoZSBDKysgbGlicmFyaWVzCiAvLyBhcmUgZnJlZSB0byByZWltcGxlbWVudCBzaWduYml0IG9yIGRlbGVnYXRlIHRvIGNvbXBpbGVyIGJ1aWx0aW5zIGlmIHRoZXkKIC8vIHBsZWFzZS4KLSNpbmNsdWRlIDxtYXRoLmg+CiAKIG5hbWVzcGFjZSB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgaW50IHRlc3RfY2FwdHVyZV9zaWduYml0KGNvbnN0IFQgaW4pIHsKQEAgLTQ2LDYgKzQ4LDggQEAKIH0KIH0KIAorI2luY2x1ZGUgIm1hdGhfZGF0YV90ZXN0LmgiCisKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCiAjaW5jbHVkZSA8ZmVudi5oPgpAQCAtMTY3LDM5ICsxNzEsMzAgQEAKIH0KIAogVEVTVChtYXRoLCBfX2ZwY2xhc3NpZnlkKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQorI2lmIGRlZmluZWQoX19HTElCQ19fKQorI2RlZmluZSBfX2ZwY2xhc3NpZnlkIF9fZnBjbGFzc2lmeQorI2VuZGlmCiAgIEFTU0VSVF9FUShGUF9JTkZJTklURSwgX19mcGNsYXNzaWZ5ZChIVUdFX1ZBTCkpOwogICBBU1NFUlRfRVEoRlBfTkFOLCBfX2ZwY2xhc3NpZnlkKG5hbigiIikpKTsKICAgQVNTRVJUX0VRKEZQX05PUk1BTCwgX19mcGNsYXNzaWZ5ZCgxLjApKTsKICAgQVNTRVJUX0VRKEZQX1NVQk5PUk1BTCwgX19mcGNsYXNzaWZ5ZChkb3VibGVfc3Vibm9ybWFsKCkpKTsKICAgQVNTRVJUX0VRKEZQX1pFUk8sIF9fZnBjbGFzc2lmeWQoMC4wKSk7Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KIH0KIAogVEVTVChtYXRoLCBfX2ZwY2xhc3NpZnlmKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQogICBBU1NFUlRfRVEoRlBfSU5GSU5JVEUsIF9fZnBjbGFzc2lmeWYoSFVHRV9WQUxGKSk7CiAgIEFTU0VSVF9FUShGUF9OQU4sIF9fZnBjbGFzc2lmeWYobmFuZigiIikpKTsKICAgQVNTRVJUX0VRKEZQX05PUk1BTCwgX19mcGNsYXNzaWZ5ZigxLjBmKSk7CiAgIEFTU0VSVF9FUShGUF9TVUJOT1JNQUwsIF9fZnBjbGFzc2lmeWYoZmxvYXRfc3Vibm9ybWFsKCkpKTsKICAgQVNTRVJUX0VRKEZQX1pFUk8sIF9fZnBjbGFzc2lmeWYoMC4wZikpOwotI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCiB9CiAKIFRFU1QobWF0aCwgX19mcGNsYXNzaWZ5bCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKICAgRVhQRUNUX0VRKEZQX0lORklOSVRFLCBfX2ZwY2xhc3NpZnlsKEhVR0VfVkFMTCkpOwogICBFWFBFQ1RfRVEoRlBfTkFOLCBfX2ZwY2xhc3NpZnlsKG5hbmwoIiIpKSk7CiAgIEVYUEVDVF9FUShGUF9OT1JNQUwsIF9fZnBjbGFzc2lmeWwoMS4wTCkpOwogICBFWFBFQ1RfRVEoRlBfU1VCTk9STUFMLCBfX2ZwY2xhc3NpZnlsKGxkb3VibGVfc3Vibm9ybWFsKCkpKTsKICAgRVhQRUNUX0VRKEZQX1pFUk8sIF9fZnBjbGFzc2lmeWwoMC4wTCkpOwotI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCiB9CiAKIFRFU1QobWF0aCwgZmluaXRlZikgewpAQCAtMjA4LDMwICsyMDMsMjcgQEAKIH0KIAogVEVTVChtYXRoLCBfX2lzZmluaXRlKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQorI2lmIGRlZmluZWQoX19HTElCQ19fKQorI2RlZmluZSBfX2lzZmluaXRlIF9fZmluaXRlCisjZW5kaWYKICAgQVNTRVJUX1RSVUUoX19pc2Zpbml0ZSgxMjMuMCkpOwogICBBU1NFUlRfRkFMU0UoX19pc2Zpbml0ZShIVUdFX1ZBTCkpOwotI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCiB9CiAKIFRFU1QobWF0aCwgX19pc2Zpbml0ZWYpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCisjaWYgZGVmaW5lZChfX0dMSUJDX18pCisjZGVmaW5lIF9faXNmaW5pdGVmIF9fZmluaXRlZgorI2VuZGlmCiAgIEFTU0VSVF9UUlVFKF9faXNmaW5pdGVmKDEyMy4wZikpOwogICBBU1NFUlRfRkFMU0UoX19pc2Zpbml0ZWYoSFVHRV9WQUxGKSk7Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KIH0KIAogVEVTVChtYXRoLCBfX2lzZmluaXRlbCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyNkZWZpbmUgX19pc2Zpbml0ZWwgX19maW5pdGVsCisjZW5kaWYKICAgQVNTRVJUX1RSVUUoX19pc2Zpbml0ZWwoMTIzLjBMKSk7CiAgIEFTU0VSVF9GQUxTRShfX2lzZmluaXRlbChIVUdFX1ZBTEwpKTsKLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7Ci0jZW5kaWYgLy8gX19CSU9OSUNfXwogfQogCiBURVNUKG1hdGgsIGZpbml0ZSkgewpAQCAtMjgxLDcgKzI3Myw3IEBACiAgIEFTU0VSVF9UUlVFKF9faXNub3JtYWwoMTIzLjApKTsKICAgQVNTRVJUX0ZBTFNFKF9faXNub3JtYWwoZG91YmxlX3N1Ym5vcm1hbCgpKSk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOworICBHVEVTVF9MT0dfKElORk8pIDw8ICJnbGliYyBkb2Vzbid0IGhhdmUgX19pc25vcm1hbC5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwogfQogCkBAIC0yOTAsNyArMjgyLDcgQEAKICAgQVNTRVJUX1RSVUUoX19pc25vcm1hbGYoMTIzLjBmKSk7CiAgIEFTU0VSVF9GQUxTRShfX2lzbm9ybWFsZihmbG9hdF9zdWJub3JtYWwoKSkpOwogI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiZ2xpYmMgZG9lc24ndCBoYXZlIF9faXNub3JtYWxmLlxuIjsKICNlbmRpZiAvLyBfX0JJT05JQ19fCiB9CiAKQEAgLTI5OSw3ICsyOTEsNyBAQAogICBBU1NFUlRfVFJVRShfX2lzbm9ybWFsbCgxMjMuMEwpKTsKICAgQVNTRVJUX0ZBTFNFKF9faXNub3JtYWxsKGxkb3VibGVfc3Vibm9ybWFsKCkpKTsKICNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CisgIEdURVNUX0xPR18oSU5GTykgPDwgImdsaWJjIGRvZXNuJ3QgaGF2ZSBfX2lzbm9ybWFsbC5cbiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwogfQogCkBAIC0xMDMyLDEzICsxMDI0LDEzIEBACiBURVNUKG1hdGgsIG5leHRhZnRlcikgewogICBBU1NFUlRfRE9VQkxFX0VRKDAuMCwgbmV4dGFmdGVyKDAuMCwgMC4wKSk7CiAgIEFTU0VSVF9ET1VCTEVfRVEoNC45NDA2NTY0NTg0MTI0NjU0ZS0zMjQsIG5leHRhZnRlcigwLjAsIDEuMCkpOwotICBBU1NFUlRfRE9VQkxFX0VRKDAuMCwgbmV4dGFmdGVyKDAuMCwgLTEuMCkpOworICBBU1NFUlRfRE9VQkxFX0VRKC00Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwgbmV4dGFmdGVyKDAuMCwgLTEuMCkpOwogfQogCiBURVNUKG1hdGgsIG5leHRhZnRlcmYpIHsKICAgQVNTRVJUX0ZMT0FUX0VRKDAuMGYsIG5leHRhZnRlcmYoMC4wZiwgMC4wZikpOwogICBBU1NFUlRfRkxPQVRfRVEoMS40MDEyOTg1ZS00NWYsIG5leHRhZnRlcmYoMC4wZiwgMS4wZikpOwotICBBU1NFUlRfRkxPQVRfRVEoMC4wZiwgbmV4dGFmdGVyZigwLjBmLCAtMS4wZikpOworICBBU1NFUlRfRkxPQVRfRVEoLTEuNDAxMjk4NWUtNDVmLCBuZXh0YWZ0ZXJmKDAuMGYsIC0xLjBmKSk7CiB9CiAKIFRFU1QobWF0aCwgbmV4dGFmdGVybCkgewpAQCAtMTA0NywxOSArMTAzOSwxOSBAQAogICAvLyBzaXplb2YoZG91YmxlKSA9PSBzaXplb2YobG9uZyBkb3VibGUpCiAgIGxvbmcgZG91YmxlIHNtYWxsZXN0X3Bvc2l0aXZlID0gbGRleHBsKDEuMEwsIExEQkxfTUlOX0VYUCAtIExEQkxfTUFOVF9ESUcpOwogICBBU1NFUlRfRE9VQkxFX0VRKHNtYWxsZXN0X3Bvc2l0aXZlLCBuZXh0YWZ0ZXJsKDAuMEwsIDEuMEwpKTsKLSAgQVNTRVJUX0RPVUJMRV9FUSgwLjBMLCBuZXh0YWZ0ZXJsKDAuMEwsIC0xLjBMKSk7CisgIEFTU0VSVF9ET1VCTEVfRVEoLXNtYWxsZXN0X3Bvc2l0aXZlLCBuZXh0YWZ0ZXJsKDAuMEwsIC0xLjBMKSk7CiB9CiAKIFRFU1QobWF0aCwgbmV4dHRvd2FyZCkgewogICBBU1NFUlRfRE9VQkxFX0VRKDAuMCwgbmV4dHRvd2FyZCgwLjAsIDAuMEwpKTsKICAgQVNTRVJUX0RPVUJMRV9FUSg0Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwgbmV4dHRvd2FyZCgwLjAsIDEuMEwpKTsKLSAgQVNTRVJUX0RPVUJMRV9FUSgwLjAsIG5leHR0b3dhcmQoMC4wLCAtMS4wTCkpOworICBBU1NFUlRfRE9VQkxFX0VRKC00Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwgbmV4dHRvd2FyZCgwLjAsIC0xLjBMKSk7CiB9CiAKIFRFU1QobWF0aCwgbmV4dHRvd2FyZGYpIHsKICAgQVNTRVJUX0ZMT0FUX0VRKDAuMGYsIG5leHR0b3dhcmRmKDAuMGYsIDAuMEwpKTsKICAgQVNTRVJUX0ZMT0FUX0VRKDEuNDAxMjk4NWUtNDVmLCBuZXh0dG93YXJkZigwLjBmLCAxLjBMKSk7Ci0gIEFTU0VSVF9GTE9BVF9FUSgwLjBmLCBuZXh0dG93YXJkZigwLjBmLCAtMS4wTCkpOworICBBU1NFUlRfRkxPQVRfRVEoLTEuNDAxMjk4NWUtNDVmLCBuZXh0dG93YXJkZigwLjBmLCAtMS4wTCkpOwogfQogCiBURVNUKG1hdGgsIG5leHR0b3dhcmRsKSB7CkBAIC0xMDY4LDcgKzEwNjAsNyBAQAogICAvLyBzaXplb2YoZG91YmxlKSA9PSBzaXplb2YobG9uZyBkb3VibGUpCiAgIGxvbmcgZG91YmxlIHNtYWxsZXN0X3Bvc2l0aXZlID0gbGRleHBsKDEuMEwsIExEQkxfTUlOX0VYUCAtIExEQkxfTUFOVF9ESUcpOwogICBBU1NFUlRfRE9VQkxFX0VRKHNtYWxsZXN0X3Bvc2l0aXZlLCBuZXh0dG93YXJkbCgwLjBMLCAxLjBMKSk7Ci0gIEFTU0VSVF9ET1VCTEVfRVEoMC4wTCwgbmV4dHRvd2FyZGwoMC4wTCwgLTEuMEwpKTsKKyAgQVNTRVJUX0RPVUJMRV9FUSgtc21hbGxlc3RfcG9zaXRpdmUsIG5leHR0b3dhcmRsKDAuMEwsIC0xLjBMKSk7CiB9CiAKIFRFU1QobWF0aCwgY29weXNpZ24pIHsKQEAgLTEwOTUsMTkgKzEwODcsMTkgQEAKIFRFU1QobWF0aCwgc2lnbmlmaWNhbmQpIHsKICAgQVNTRVJUX0RPVUJMRV9FUSgwLjAsIHNpZ25pZmljYW5kKDAuMCkpOwogICBBU1NFUlRfRE9VQkxFX0VRKDEuMiwgc2lnbmlmaWNhbmQoMS4yKSk7Ci0gIEFTU0VSVF9ET1VCTEVfRVEoMS41Mzc1LCBzaWduaWZpY2FuZCgxMi4zKSk7CisgIEFTU0VSVF9ET1VCTEVfRVEoMS41MzEyNSwgc2lnbmlmaWNhbmQoMTIuMjUpKTsKIH0KIAogVEVTVChtYXRoLCBzaWduaWZpY2FuZGYpIHsKICAgQVNTRVJUX0ZMT0FUX0VRKDAuMGYsIHNpZ25pZmljYW5kZigwLjBmKSk7CiAgIEFTU0VSVF9GTE9BVF9FUSgxLjJmLCBzaWduaWZpY2FuZGYoMS4yZikpOwotICBBU1NFUlRfRkxPQVRfRVEoMS41Mzc1Ziwgc2lnbmlmaWNhbmRmKDEyLjNmKSk7CisgIEFTU0VSVF9GTE9BVF9FUSgxLjUzMTI1Ziwgc2lnbmlmaWNhbmRmKDEyLjI1ZikpOwogfQogCiBURVNUKG1hdGgsIHNpZ25pZmljYW5kbCkgewogICBBU1NFUlRfRE9VQkxFX0VRKDAuMEwsIHNpZ25pZmljYW5kbCgwLjBMKSk7CiAgIEFTU0VSVF9ET1VCTEVfRVEoMS4yTCwgc2lnbmlmaWNhbmRsKDEuMkwpKTsKLSAgQVNTRVJUX0RPVUJMRV9FUSgxLjUzNzVMLCBzaWduaWZpY2FuZGwoMTIuM0wpKTsKKyAgQVNTRVJUX0RPVUJMRV9FUSgxLjUzMTI1TCwgc2lnbmlmaWNhbmRsKDEyLjI1TCkpOwogfQogCiBURVNUKG1hdGgsIHNjYWxiKSB7CkBAIC0xMTU2LDcgKzExNDgsNyBAQAogICBBU1NFUlRfRE9VQkxFX0VRKGxvZygyNC4wKSwgZ2FtbWFfcig1LjAsICZzaWduKSk7CiAgIEFTU0VSVF9FUSgxLCBzaWduKTsKICNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7CisgIEdURVNUX0xPR18oSU5GTykgPDwgImdsaWJjIGRvZXNuJ3QgaGF2ZSBnYW1tYV9yLlxuIjsKICNlbmRpZiAvLyBfX0JJT05JQ19fCiB9CiAKQEAgLTExNjYsNyArMTE1OCw3IEBACiAgIEFTU0VSVF9GTE9BVF9FUShsb2dmKDI0LjBmKSwgZ2FtbWFmX3IoNS4wZiwgJnNpZ24pKTsKICAgQVNTRVJUX0VRKDEsIHNpZ24pOwogI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiZ2xpYmMgZG9lc24ndCBoYXZlIGdhbW1hZl9yLlxuIjsKICNlbmRpZiAvLyBfX0JJT05JQ19fCiB9CiAKQEAgLTExODgsMTIgKzExODAsNTEgQEAKICAgQVNTRVJUX0VRKDEsIHNpZ24pOwogfQogCitURVNUKG1hdGgsIGxnYW1tYV9yXzE3NDcxODgzKSB7CisgIGludCBzaWduOworCisgIHNpZ24gPSAwOworICBBU1NFUlRfRE9VQkxFX0VRKEhVR0VfVkFMLCBsZ2FtbWFfcigwLjAsICZzaWduKSk7CisgIEFTU0VSVF9FUSgxLCBzaWduKTsKKyAgc2lnbiA9IDA7CisgIEFTU0VSVF9ET1VCTEVfRVEoSFVHRV9WQUwsIGxnYW1tYV9yKC0wLjAsICZzaWduKSk7CisgIEFTU0VSVF9FUSgtMSwgc2lnbik7Cit9CisKIFRFU1QobWF0aCwgbGdhbW1hZl9yKSB7CiAgIGludCBzaWduOwogICBBU1NFUlRfRkxPQVRfRVEobG9nZigyNC4wZiksIGxnYW1tYWZfcig1LjBmLCAmc2lnbikpOwogICBBU1NFUlRfRVEoMSwgc2lnbik7CiB9CiAKK1RFU1QobWF0aCwgbGdhbW1hZl9yXzE3NDcxODgzKSB7CisgIGludCBzaWduOworCisgIHNpZ24gPSAwOworICBBU1NFUlRfRkxPQVRfRVEoSFVHRV9WQUxGLCBsZ2FtbWFmX3IoMC4wZiwgJnNpZ24pKTsKKyAgQVNTRVJUX0VRKDEsIHNpZ24pOworICBzaWduID0gMDsKKyAgQVNTRVJUX0ZMT0FUX0VRKEhVR0VfVkFMRiwgbGdhbW1hZl9yKC0wLjBmLCAmc2lnbikpOworICBBU1NFUlRfRVEoLTEsIHNpZ24pOworfQorCitURVNUKG1hdGgsIGxnYW1tYWxfcikgeworICBpbnQgc2lnbjsKKyAgQVNTRVJUX0RPVUJMRV9FUShsb2coMjQuMEwpLCBsZ2FtbWFfcig1LjBMLCAmc2lnbikpOworICBBU1NFUlRfRVEoMSwgc2lnbik7Cit9CisKK1RFU1QobWF0aCwgbGdhbW1hbF9yXzE3NDcxODgzKSB7CisgIGludCBzaWduOworCisgIHNpZ24gPSAwOworICBBU1NFUlRfRE9VQkxFX0VRKEhVR0VfVkFMLCBsZ2FtbWFsX3IoMC4wTCwgJnNpZ24pKTsKKyAgQVNTRVJUX0VRKDEsIHNpZ24pOworICBzaWduID0gMDsKKyAgQVNTRVJUX0RPVUJMRV9FUShIVUdFX1ZBTCwgbGdhbW1hbF9yKC0wLjBMLCAmc2lnbikpOworICBBU1NFUlRfRVEoLTEsIHNpZ24pOworfQorCiBURVNUKG1hdGgsIHRnYW1tYSkgewogICBBU1NFUlRfRE9VQkxFX0VRKDI0LjAsIHRnYW1tYSg1LjApKTsKIH0KQEAgLTEzNDcsMyArMTM3OCw0OTMgQEAKICAgQVNTRVJUX1RSVUUobmV4dGFmdGVyZigxLjBmLCAwLjBmKSAtIDEuMGYgPCAwLjBmKTsKICAgQVNTRVJUX1RSVUUobmV4dGFmdGVybCgxLjBMLCAwLjBMKSAtIDEuMEwgPCAwLjBMKTsKIH0KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9hY29zX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgYWNvc19pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2Fjb3NfaW50ZWxfZGF0YSwgYWNvcyk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvYWNvc2ZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBhY29zZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2Fjb3NmX2ludGVsX2RhdGEsIGFjb3NmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9hY29zaF9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGFjb3NoX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDI+KGdfYWNvc2hfaW50ZWxfZGF0YSwgYWNvc2gpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2Fjb3NoZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGFjb3NoZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwyPihnX2Fjb3NoZl9pbnRlbF9kYXRhLCBhY29zaGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2FzaW5faW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBhc2luX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfYXNpbl9pbnRlbF9kYXRhLCBhc2luKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9hc2luZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGFzaW5mX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfYXNpbmZfaW50ZWxfZGF0YSwgYXNpbmYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2FzaW5oX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgYXNpbmhfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8Mj4oZ19hc2luaF9pbnRlbF9kYXRhLCBhc2luaCk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvYXNpbmhmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgYXNpbmhmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDI+KGdfYXNpbmhmX2ludGVsX2RhdGEsIGFzaW5oZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvYXRhbjJfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBhdGFuMl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwyPihnX2F0YW4yX2ludGVsX2RhdGEsIGF0YW4yKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9hdGFuMmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBhdGFuMmZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8Mj4oZ19hdGFuMmZfaW50ZWxfZGF0YSwgYXRhbjJmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9hdGFuX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgYXRhbl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2F0YW5faW50ZWxfZGF0YSwgYXRhbik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvYXRhbmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBhdGFuZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2F0YW5mX2ludGVsX2RhdGEsIGF0YW5mKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9hdGFuaF9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGF0YW5oX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDI+KGdfYXRhbmhfaW50ZWxfZGF0YSwgYXRhbmgpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2F0YW5oZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGF0YW5oZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwyPihnX2F0YW5oZl9pbnRlbF9kYXRhLCBhdGFuaGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2NicnRfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBjYnJ0X2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfY2JydF9pbnRlbF9kYXRhLCBjYnJ0KTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9jYnJ0Zl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGNicnRmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfY2JydGZfaW50ZWxfZGF0YSwgY2JydGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2NlaWxfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBjZWlsX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfY2VpbF9pbnRlbF9kYXRhLCBjZWlsKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9jZWlsZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGNlaWxmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfY2VpbGZfaW50ZWxfZGF0YSwgY2VpbGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2NvcHlzaWduX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgY29weXNpZ25faW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19jb3B5c2lnbl9pbnRlbF9kYXRhLCBjb3B5c2lnbik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvY29weXNpZ25mX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgY29weXNpZ25mX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfY29weXNpZ25mX2ludGVsX2RhdGEsIGNvcHlzaWduZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvY29zX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgY29zX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfY29zX2ludGVsX2RhdGEsIGNvcyk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvY29zZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGNvc2ZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19jb3NmX2ludGVsX2RhdGEsIGNvc2YpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2Nvc2hfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBjb3NoX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDI+KGdfY29zaF9pbnRlbF9kYXRhLCBjb3NoKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9jb3NoZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGNvc2hmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDI+KGdfY29zaGZfaW50ZWxfZGF0YSwgY29zaGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2V4cF9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGV4cF9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2V4cF9pbnRlbF9kYXRhLCBleHApOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2V4cGZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBleHBmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZXhwZl9pbnRlbF9kYXRhLCBleHBmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9leHAyX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgZXhwMl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2V4cDJfaW50ZWxfZGF0YSwgZXhwMik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvZXhwMmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBleHAyZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2V4cDJmX2ludGVsX2RhdGEsIGV4cDJmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9leHBtMV9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGV4cG0xX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZXhwbTFfaW50ZWxfZGF0YSwgZXhwbTEpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2V4cG0xZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGV4cG0xZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2V4cG0xZl9pbnRlbF9kYXRhLCBleHBtMWYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2ZhYnNfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBmYWJzX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZmFic19pbnRlbF9kYXRhLCBmYWJzKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9mYWJzZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGZhYnNmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZmFic2ZfaW50ZWxfZGF0YSwgZmFic2YpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2ZkaW1faW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBmZGltX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZmRpbV9pbnRlbF9kYXRhLCBmZGltKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9mZGltZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGZkaW1mX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZmRpbWZfaW50ZWxfZGF0YSwgZmRpbWYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2Zsb29yX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgZmxvb3JfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19mbG9vcl9pbnRlbF9kYXRhLCBmbG9vcik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvZmxvb3JmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgZmxvb3JmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZmxvb3JmX2ludGVsX2RhdGEsIGZsb29yZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvZm1hX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgZm1hX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1hX2ludGVsX2RhdGEsIGZtYSk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvZm1hZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGZtYWZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19mbWFmX2ludGVsX2RhdGEsIGZtYWYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2ZtYXhfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBmbWF4X2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1heF9pbnRlbF9kYXRhLCBmbWF4KTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9mbWF4Zl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGZtYXhmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1heGZfaW50ZWxfZGF0YSwgZm1heGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2ZtaW5faW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBmbWluX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1pbl9pbnRlbF9kYXRhLCBmbWluKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9mbWluZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGZtaW5mX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1pbmZfaW50ZWxfZGF0YSwgZm1pbmYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2Ztb2RfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBmbW9kX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1vZF9pbnRlbF9kYXRhLCBmbW9kKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9mbW9kZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGZtb2RmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZm1vZGZfaW50ZWxfZGF0YSwgZm1vZGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2ZyZXhwX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgZnJleHBfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19mcmV4cF9pbnRlbF9kYXRhLCBmcmV4cCk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvZnJleHBmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgZnJleHBmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfZnJleHBmX2ludGVsX2RhdGEsIGZyZXhwZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvaHlwb3RfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBoeXBvdF9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2h5cG90X2ludGVsX2RhdGEsIGh5cG90KTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9oeXBvdGZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBoeXBvdGZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19oeXBvdGZfaW50ZWxfZGF0YSwgaHlwb3RmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9pbG9nYl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGlsb2diX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfaWxvZ2JfaW50ZWxfZGF0YSwgaWxvZ2IpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2lsb2diZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGlsb2diZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2lsb2diZl9pbnRlbF9kYXRhLCBpbG9nYmYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2xkZXhwX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbGRleHBfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19sZGV4cF9pbnRlbF9kYXRhLCBsZGV4cCk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbGRleHBmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbGRleHBmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfbGRleHBmX2ludGVsX2RhdGEsIGxkZXhwZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbG9nX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbG9nX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfbG9nX2ludGVsX2RhdGEsIGxvZyk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbG9nZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIGxvZ2ZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19sb2dmX2ludGVsX2RhdGEsIGxvZ2YpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL2xvZzEwX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbG9nMTBfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19sb2cxMF9pbnRlbF9kYXRhLCBsb2cxMCk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbG9nMTBmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbG9nMTBmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfbG9nMTBmX2ludGVsX2RhdGEsIGxvZzEwZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbG9nMXBfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBsb2cxcF9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2xvZzFwX2ludGVsX2RhdGEsIGxvZzFwKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9sb2cxcGZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBsb2cxcGZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19sb2cxcGZfaW50ZWxfZGF0YSwgbG9nMXBmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9sb2cyX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbG9nMl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2xvZzJfaW50ZWxfZGF0YSwgbG9nMik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbG9nMmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBsb2cyZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2xvZzJmX2ludGVsX2RhdGEsIGxvZzJmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9sb2diX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbG9nYl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2xvZ2JfaW50ZWxfZGF0YSwgbG9nYik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbG9nYmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBsb2diZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX2xvZ2JmX2ludGVsX2RhdGEsIGxvZ2JmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9tb2RmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbW9kZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX21vZGZfaW50ZWxfZGF0YSwgbW9kZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbW9kZmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBtb2RmZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX21vZGZmX2ludGVsX2RhdGEsIG1vZGZmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9uZWFyYnlpbnRfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBuZWFyYnlpbnRfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19uZWFyYnlpbnRfaW50ZWxfZGF0YSwgbmVhcmJ5aW50KTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9uZWFyYnlpbnRmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbmVhcmJ5aW50Zl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX25lYXJieWludGZfaW50ZWxfZGF0YSwgbmVhcmJ5aW50Zik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbmV4dGFmdGVyX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgbmV4dGFmdGVyX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfbmV4dGFmdGVyX2ludGVsX2RhdGEsIG5leHRhZnRlcik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvbmV4dGFmdGVyZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIG5leHRhZnRlcmZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19uZXh0YWZ0ZXJmX2ludGVsX2RhdGEsIG5leHRhZnRlcmYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3Bvd19pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHBvd19pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3Bvd19pbnRlbF9kYXRhLCBwb3cpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3Bvd2ZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBwb3dmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfcG93Zl9pbnRlbF9kYXRhLCBwb3dmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9yZW1haW5kZXJfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCByZW1haW5kZXJfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19yZW1haW5kZXJfaW50ZWxfZGF0YSwgcmVtYWluZGVyKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9yZW1haW5kZXJmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgcmVtYWluZGVyZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3JlbWFpbmRlcmZfaW50ZWxfZGF0YSwgcmVtYWluZGVyZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvcmVtcXVvX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgcmVtcXVvX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfcmVtcXVvX2ludGVsX2RhdGEsIHJlbXF1byk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvcmVtcXVvZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHJlbXF1b2ZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19yZW1xdW9mX2ludGVsX2RhdGEsIHJlbXF1b2YpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3JpbnRfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCByaW50X2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfcmludF9pbnRlbF9kYXRhLCByaW50KTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9yaW50Zl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHJpbnRmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfcmludGZfaW50ZWxfZGF0YSwgcmludGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3JvdW5kX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgcm91bmRfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19yb3VuZF9pbnRlbF9kYXRhLCByb3VuZCk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvcm91bmRmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgcm91bmRmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfcm91bmRmX2ludGVsX2RhdGEsIHJvdW5kZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvc2NhbGJfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzY2FsYl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3NjYWxiX2ludGVsX2RhdGEsIHNjYWxiKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zY2FsYmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzY2FsYmZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19zY2FsYmZfaW50ZWxfZGF0YSwgc2NhbGJmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zY2FsYm5faW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzY2FsYm5faW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19zY2FsYm5faW50ZWxfZGF0YSwgc2NhbGJuKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zY2FsYm5mX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgc2NhbGJuZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3NjYWxibmZfaW50ZWxfZGF0YSwgc2NhbGJuZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvc2lnbmlmaWNhbmRfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzaWduaWZpY2FuZF9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3NpZ25pZmljYW5kX2ludGVsX2RhdGEsIHNpZ25pZmljYW5kKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zaWduaWZpY2FuZGZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzaWduaWZpY2FuZGZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19zaWduaWZpY2FuZGZfaW50ZWxfZGF0YSwgc2lnbmlmaWNhbmRmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zaW5faW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzaW5faW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19zaW5faW50ZWxfZGF0YSwgc2luKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zaW5mX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgc2luZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3NpbmZfaW50ZWxfZGF0YSwgc2luZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvc2luaF9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHNpbmhfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8Mj4oZ19zaW5oX2ludGVsX2RhdGEsIHNpbmgpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3NpbmhmX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgc2luaGZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8Mj4oZ19zaW5oZl9pbnRlbF9kYXRhLCBzaW5oZik7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvc2luY29zX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgc2luY29zX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfc2luY29zX2ludGVsX2RhdGEsIHNpbmNvcyk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvc2luY29zZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHNpbmNvc2ZfaW50ZWwpIHsKKyAgRG9NYXRoRGF0YVRlc3Q8MT4oZ19zaW5jb3NmX2ludGVsX2RhdGEsIHNpbmNvc2YpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3NxcnRfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCBzcXJ0X2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfc3FydF9pbnRlbF9kYXRhLCBzcXJ0KTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS9zcXJ0Zl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHNxcnRmX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfc3FydGZfaW50ZWxfZGF0YSwgc3FydGYpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3Rhbl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHRhbl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3Rhbl9pbnRlbF9kYXRhLCB0YW4pOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3RhbmZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCB0YW5mX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfdGFuZl9pbnRlbF9kYXRhLCB0YW5mKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS90YW5oX2ludGVsX2RhdGEuaCIKK1RFU1QobWF0aCwgdGFuaF9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwyPihnX3RhbmhfaW50ZWxfZGF0YSwgdGFuaCk7Cit9CisKKyNpbmNsdWRlICJtYXRoX2RhdGEvdGFuaGZfaW50ZWxfZGF0YS5oIgorVEVTVChtYXRoLCB0YW5oZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwyPihnX3RhbmhmX2ludGVsX2RhdGEsIHRhbmhmKTsKK30KKworI2luY2x1ZGUgIm1hdGhfZGF0YS90cnVuY19pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHRydW5jX2ludGVsKSB7CisgIERvTWF0aERhdGFUZXN0PDE+KGdfdHJ1bmNfaW50ZWxfZGF0YSwgdHJ1bmMpOworfQorCisjaW5jbHVkZSAibWF0aF9kYXRhL3RydW5jZl9pbnRlbF9kYXRhLmgiCitURVNUKG1hdGgsIHRydW5jZl9pbnRlbCkgeworICBEb01hdGhEYXRhVGVzdDwxPihnX3RydW5jZl9pbnRlbF9kYXRhLCB0cnVuY2YpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbW50ZW50X3Rlc3QuY3BwIGIvdGVzdHMvbW50ZW50X3Rlc3QuY3BwCmluZGV4IDYzN2NiNTIuLmExMDI4NDkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21udGVudF90ZXN0LmNwcAorKysgYi90ZXN0cy9tbnRlbnRfdGVzdC5jcHAKQEAgLTE5LDE2ICsxOSwyMiBAQAogI2luY2x1ZGUgPG1udGVudC5oPgogCiBURVNUKG1udGVudCwgbW50ZW50X3Ntb2tlKSB7Ci0gIEZJTEUqIGZwID0gc2V0bW50ZW50KCIvbm8vbW50L3RhYi9vbi9hbmRyb2lkIiwgInIiKTsKLSAgQVNTRVJUX1RSVUUoZnAgPT0gTlVMTCk7CisgIEZJTEUqIGZwID0gc2V0bW50ZW50KCIvcHJvYy9tb3VudHMiLCAiciIpOworICBBU1NFUlRfVFJVRShmcCAhPSBOVUxMKTsKIAotI2lmIF9fQklPTklDX18gLy8gZ2xpYmMgZG9lc24ndCBsZXQgeW91IGNhbGwgZ2V0bW50ZW50L2dldG1udGVudF9yIHdpdGggYSBOVUxMIEZJTEUqLgotICBBU1NFUlRfVFJVRShnZXRtbnRlbnQoZnApID09IE5VTEwpOworICBBU1NFUlRfVFJVRShnZXRtbnRlbnQoZnApICE9IE5VTEwpOwogCi0gIHN0cnVjdCBtbnRlbnQgbWJ1ZjsKLSAgY2hhciBjYnVmWzMyXTsKLSAgQVNTRVJUX1RSVUUoZ2V0bW50ZW50X3IoZnAsICZtYnVmLCBjYnVmLCBzaXplb2YoY2J1ZikpID09IE5VTEwpOwotI2VuZGlmCisgIGJvb2wgc2F3X3Byb2MgPSBmYWxzZTsKKworICBzdHJ1Y3QgbW50ZW50IGVudHJ5OworICBjaGFyIGJ1ZltCVUZTSVpdOworICB3aGlsZSAoZ2V0bW50ZW50X3IoZnAsICZlbnRyeSwgYnVmLCBzaXplb2YoYnVmKSkgIT0gTlVMTCkgeworICAgIGlmIChzdHJjbXAoZW50cnkubW50X2ZzbmFtZSwgInByb2MiKSA9PSAwICYmIHN0cmNtcChlbnRyeS5tbnRfZGlyLCAiL3Byb2MiKSA9PSAwKSB7CisgICAgICBzYXdfcHJvYyA9IHRydWU7CisgICAgfQorICB9CisKKyAgQVNTRVJUX1RSVUUoc2F3X3Byb2MpOwogCiAgIEFTU0VSVF9FUSgxLCBlbmRtbnRlbnQoZnApKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL25ldGRiX3Rlc3QuY3BwIGIvdGVzdHMvbmV0ZGJfdGVzdC5jcHAKaW5kZXggMzNmNmMwMS4uYTM1ZjcwMyAxMDA2NDQKLS0tIGEvdGVzdHMvbmV0ZGJfdGVzdC5jcHAKKysrIGIvdGVzdHMvbmV0ZGJfdGVzdC5jcHAKQEAgLTE0LDE2ICsxNCwxMDAgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiAKKyNpbmNsdWRlIDxuZXRkYi5oPgorCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSNpbmNsdWRlIDxuZXRkYi5oPgogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KIAorLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmRyb2lkL2lzc3Vlcy9kZXRhaWw/aWQ9MTMyMjgKK1RFU1QobmV0ZGIsIGZyZWVhZGRyaW5mb19OVUxMKSB7CisgIGZyZWVhZGRyaW5mbyhOVUxMKTsKK30KKworVEVTVChuZXRkYiwgZ2V0YWRkcmluZm9fTlVMTF9ob3N0KSB7CisgIC8vIEl0J3Mgb2theSBmb3IgdGhlIGhvc3QgYXJndW1lbnQgdG8gYmUgTlVMTCwgYXMgbG9uZyBhcyBzZXJ2aWNlIGlzbid0LgorICBhZGRyaW5mbyogYWkgPSBOVUxMOworICBBU1NFUlRfRVEoMCwgZ2V0YWRkcmluZm8oTlVMTCwgInNtdHAiLCBOVUxMLCAmYWkpKTsKKyAgLy8gKHNvY2thZGRyX2luOjpzaW5fcG9ydCBhbmQgc29ja2FkZHJfaW42OjpzaW42X3BvcnQgb3ZlcmxhcC4pCisgIEFTU0VSVF9FUSgyNVUsIG50b2hzKHJlaW50ZXJwcmV0X2Nhc3Q8c29ja2FkZHJfaW4qPihhaS0+YWlfYWRkciktPnNpbl9wb3J0KSk7CisgIGZyZWVhZGRyaW5mbyhhaSk7Cit9CisKK1RFU1QobmV0ZGIsIGdldGFkZHJpbmZvX05VTExfc2VydmljZSkgeworICAvLyBJdCdzIG9rYXkgZm9yIHRoZSBzZXJ2aWNlIGFyZ3VtZW50IHRvIGJlIE5VTEwsIGFzIGxvbmcgYXMgaG9zdCBpc24ndC4KKyAgYWRkcmluZm8qIGFpID0gTlVMTDsKKyAgQVNTRVJUX0VRKDAsIGdldGFkZHJpbmZvKCJsb2NhbGhvc3QiLCBOVUxMLCBOVUxMLCAmYWkpKTsKKyAgQVNTRVJUX1RSVUUoYWkgIT0gTlVMTCk7CisgIGZyZWVhZGRyaW5mbyhhaSk7Cit9CisKIFRFU1QobmV0ZGIsIGdldGFkZHJpbmZvX05VTExfaGludHMpIHsKICAgYWRkcmluZm8qIGFpID0gTlVMTDsKICAgQVNTRVJUX0VRKDAsIGdldGFkZHJpbmZvKCJsb2NhbGhvc3QiLCAiOTk5OSIsIE5VTEwsICZhaSkpOworCisgIGJvb2wgc2F3X3RjcCA9IGZhbHNlOworICBib29sIHNhd191ZHAgPSBmYWxzZTsKKyAgZm9yIChhZGRyaW5mbyogcCA9IGFpOyBwICE9IE5VTEw7IHAgPSBwLT5haV9uZXh0KSB7CisgICAgQVNTRVJUX1RSVUUocC0+YWlfZmFtaWx5ID09IEFGX0lORVQgfHwgcC0+YWlfZmFtaWx5ID09IEFGX0lORVQ2KTsKKyAgICBpZiAocC0+YWlfc29ja3R5cGUgPT0gU09DS19TVFJFQU0pIHsKKyAgICAgIEFTU0VSVF9FUShJUFBST1RPX1RDUCwgcC0+YWlfcHJvdG9jb2wpOworICAgICAgc2F3X3RjcCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChwLT5haV9zb2NrdHlwZSA9PSBTT0NLX0RHUkFNKSB7CisgICAgICBBU1NFUlRfRVEoSVBQUk9UT19VRFAsIHAtPmFpX3Byb3RvY29sKTsKKyAgICAgIHNhd191ZHAgPSB0cnVlOworICAgIH0KKyAgfQorICBBU1NFUlRfVFJVRShzYXdfdGNwKTsKKyAgQVNTRVJUX1RSVUUoc2F3X3VkcCk7CisKKyAgZnJlZWFkZHJpbmZvKGFpKTsKK30KKworVEVTVChuZXRkYiwgZ2V0YWRkcmluZm9fc2VydmljZV9sb29rdXApIHsKKyAgYWRkcmluZm8qIGFpID0gTlVMTDsKKyAgQVNTRVJUX0VRKDAsIGdldGFkZHJpbmZvKCJsb2NhbGhvc3QiLCAic210cCIsIE5VTEwsICZhaSkpOworICBBU1NFUlRfRVEoU09DS19TVFJFQU0sIGFpLT5haV9zb2NrdHlwZSk7CisgIEFTU0VSVF9FUShJUFBST1RPX1RDUCwgYWktPmFpX3Byb3RvY29sKTsKKyAgQVNTRVJUX0VRKDI1LCBudG9ocyhyZWludGVycHJldF9jYXN0PHNvY2thZGRyX2luKj4oYWktPmFpX2FkZHIpLT5zaW5fcG9ydCkpOworICBmcmVlYWRkcmluZm8oYWkpOworfQorCitURVNUKG5ldGRiLCBnZXRhZGRyaW5mb19oaW50cykgeworICBhZGRyaW5mbyBoaW50czsKKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisgIGhpbnRzLmFpX2ZhbWlseSA9IEFGX0lORVQ7CisgIGhpbnRzLmFpX3NvY2t0eXBlID0gU09DS19TVFJFQU07CisgIGhpbnRzLmFpX3Byb3RvY29sID0gSVBQUk9UT19UQ1A7CisKKyAgYWRkcmluZm8qIGFpID0gTlVMTDsKKyAgQVNTRVJUX0VRKDAsIGdldGFkZHJpbmZvKCAibG9jYWxob3N0IiwgIjk5OTkiLCAmaGludHMsICZhaSkpOworICBBU1NFUlRfVFJVRShhaSAhPSBOVUxMKTsKKyAgLy8gSW4gZ2xpYmMsIGdldGFkZHJpbmZvKCkgY29udmVydHMgOjoxIHRvIDEyNy4wLjAuMSBmb3IgbG9jYWxob3N0LAorICAvLyBzbyBvbmUgb3IgdHdvIGFkZHJpbmZvIG1heSBiZSByZXR1cm5lZC4KKyAgYWRkcmluZm8qIHRhaSA9IGFpOworICB3aGlsZSAodGFpICE9IE5VTEwpIHsKKyAgICBBU1NFUlRfRVEoQUZfSU5FVCwgdGFpLT5haV9mYW1pbHkpOworICAgIEFTU0VSVF9FUShTT0NLX1NUUkVBTSwgdGFpLT5haV9zb2NrdHlwZSk7CisgICAgQVNTRVJUX0VRKElQUFJPVE9fVENQLCB0YWktPmFpX3Byb3RvY29sKTsKKyAgICB0YWkgPSB0YWktPmFpX25leHQ7CisgIH0KKyAgZnJlZWFkZHJpbmZvKGFpKTsKK30KKworVEVTVChuZXRkYiwgZ2V0YWRkcmluZm9faXA2X2xvY2FsaG9zdCkgeworICBhZGRyaW5mbyogYWkgPSBOVUxMOworICBBU1NFUlRfRVEoMCwgZ2V0YWRkcmluZm8oImlwNi1sb2NhbGhvc3QiLCBOVUxMLCBOVUxMLCAmYWkpKTsKKyAgQVNTRVJUX1RSVUUoYWkgIT0gTlVMTCk7CisgIEFTU0VSVF9HRShhaS0+YWlfYWRkcmxlbiwgc3RhdGljX2Nhc3Q8c29ja2xlbl90PihzaXplb2Yoc29ja2FkZHJfaW42KSkpOworICBBU1NFUlRfVFJVRShhaS0+YWlfYWRkciAhPSBOVUxMKTsKKyAgc29ja2FkZHJfaW42ICphZGRyID0gcmVpbnRlcnByZXRfY2FzdDxzb2NrYWRkcl9pbjYqPihhaS0+YWlfYWRkcik7CisgIEFTU0VSVF9FUShhZGRyLT5zaW42X2ZhbWlseSwgQUZfSU5FVDYpOworICBBU1NFUlRfRVEoMCwgbWVtY21wKCZhZGRyLT5zaW42X2FkZHIsICZpbjZhZGRyX2xvb3BiYWNrLCBzaXplb2YoaW42X2FkZHIpKSk7CiAgIGZyZWVhZGRyaW5mbyhhaSk7CiB9CiAKQEAgLTU1LDMgKzEzOSwxODMgQEAKICAgQVNTRVJUX1NUUkVRKCI6OiIsIHRtcCk7CiAgIEFTU0VSVF9FUShFQUlfRkFNSUxZLCBnZXRuYW1laW5mbyhzYSwgdG9vX2xpdHRsZSwgdG1wLCBzaXplb2YodG1wKSwgTlVMTCwgMCwgTklfTlVNRVJJQ0hPU1QpKTsKIH0KKworVEVTVChuZXRkYiwgZ2V0bmFtZWluZm9fbG9jYWxob3N0KSB7CisgIHNvY2thZGRyX2luIGFkZHI7CisgIGNoYXIgaG9zdFtOSV9NQVhIT1NUXTsKKyAgbWVtc2V0KCZhZGRyLCAwLCBzaXplb2Yoc29ja2FkZHJfaW4pKTsKKyAgYWRkci5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKKyAgYWRkci5zaW5fYWRkci5zX2FkZHIgPSBodG9ubCgweDdmMDAwMDAxKTsKKyAgQVNTRVJUX0VRKDAsIGdldG5hbWVpbmZvKHJlaW50ZXJwcmV0X2Nhc3Q8c29ja2FkZHIqPigmYWRkciksIHNpemVvZihhZGRyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3QsIHNpemVvZihob3N0KSwgTlVMTCwgMCwgMCkpOworICBBU1NFUlRfU1RSRVEoaG9zdCwgImxvY2FsaG9zdCIpOworfQorCitzdGF0aWMgdm9pZCBWZXJpZnlMb2NhbGhvc3ROYW1lKGNvbnN0IGNoYXIqIG5hbWUpIHsKKyAgLy8gVGVzdCBwb3NzaWJsZSBsb2NhbGhvc3QgbmFtZSBhbmQgYWxpYXNlcywgd2hpY2ggZGVwZW5kIG9uIC9ldGMvaG9zdHMgb3IgL3N5c3RlbS9ldGMvaG9zdHMuCisgIEFTU0VSVF9UUlVFKHN0cmNtcChuYW1lLCAibG9jYWxob3N0IikgPT0gMCB8fAorICAgICAgICAgICAgICBzdHJjbXAobmFtZSwgImlwNi1sb2NhbGhvc3QiKSA9PSAwIHx8CisgICAgICAgICAgICAgIHN0cmNtcChuYW1lLCAiaXA2LWxvb3BiYWNrIikgPT0gMCkgPDwgbmFtZTsKK30KKworVEVTVChuZXRkYiwgZ2V0bmFtZWluZm9faXA2X2xvY2FsaG9zdCkgeworICBzb2NrYWRkcl9pbjYgYWRkcjsKKyAgY2hhciBob3N0W05JX01BWEhPU1RdOworICBtZW1zZXQoJmFkZHIsIDAsIHNpemVvZihzb2NrYWRkcl9pbjYpKTsKKyAgYWRkci5zaW42X2ZhbWlseSA9IEFGX0lORVQ2OworICBhZGRyLnNpbjZfYWRkciA9IGluNmFkZHJfbG9vcGJhY2s7CisgIEFTU0VSVF9FUSgwLCBnZXRuYW1laW5mbyhyZWludGVycHJldF9jYXN0PHNvY2thZGRyKj4oJmFkZHIpLCBzaXplb2YoYWRkciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0LCBzaXplb2YoaG9zdCksIE5VTEwsIDAsIDApKTsKKyAgVmVyaWZ5TG9jYWxob3N0TmFtZShob3N0KTsKK30KKworc3RhdGljIHZvaWQgVmVyaWZ5TG9jYWxob3N0KGhvc3RlbnQgKmhlbnQpIHsKKyAgQVNTRVJUX1RSVUUoaGVudCAhPSBOVUxMKTsKKyAgVmVyaWZ5TG9jYWxob3N0TmFtZShoZW50LT5oX25hbWUpOworICBmb3IgKHNpemVfdCBpID0gMDsgaGVudC0+aF9hbGlhc2VzW2ldICE9IE5VTEw7ICsraSkgeworICAgIFZlcmlmeUxvY2FsaG9zdE5hbWUoaGVudC0+aF9hbGlhc2VzW2ldKTsKKyAgfQorICBBU1NFUlRfRVEoaGVudC0+aF9hZGRydHlwZSwgQUZfSU5FVCk7CisgIEFTU0VSVF9FUShoZW50LT5oX2FkZHJbMF0sIDEyNyk7CisgIEFTU0VSVF9FUShoZW50LT5oX2FkZHJbMV0sIDApOworICBBU1NFUlRfRVEoaGVudC0+aF9hZGRyWzJdLCAwKTsKKyAgQVNTRVJUX0VRKGhlbnQtPmhfYWRkclszXSwgMSk7Cit9CisKK1RFU1QobmV0ZGIsIGdldGhvc3RieW5hbWUpIHsKKyAgaG9zdGVudCogaHAgPSBnZXRob3N0YnluYW1lKCJsb2NhbGhvc3QiKTsKKyAgVmVyaWZ5TG9jYWxob3N0KGhwKTsKK30KKworVEVTVChuZXRkYiwgZ2V0aG9zdGJ5bmFtZTIpIHsKKyAgaG9zdGVudCogaHAgPSBnZXRob3N0YnluYW1lMigibG9jYWxob3N0IiwgQUZfSU5FVCk7CisgIFZlcmlmeUxvY2FsaG9zdChocCk7Cit9CisKK1RFU1QobmV0ZGIsIGdldGhvc3RieW5hbWVfcikgeworICBob3N0ZW50IGhlbnQ7CisgIGhvc3RlbnQgKmhwOworICBjaGFyIGJ1Zls1MTJdOworICBpbnQgZXJyOworICBpbnQgcmVzdWx0ID0gZ2V0aG9zdGJ5bmFtZV9yKCJsb2NhbGhvc3QiLCAmaGVudCwgYnVmLCBzaXplb2YoYnVmKSwgJmhwLCAmZXJyKTsKKyAgQVNTRVJUX0VRKDAsIHJlc3VsdCk7CisgIFZlcmlmeUxvY2FsaG9zdChocCk7CisKKyAgLy8gQ2hhbmdlIGhwLT5oX2FkZHIgdG8gdGVzdCByZWVudHJhbmN5LgorICBocC0+aF9hZGRyWzBdID0gMDsKKworICBob3N0ZW50IGhlbnQyOworICBob3N0ZW50ICpocDI7CisgIGNoYXIgYnVmMls1MTJdOworICByZXN1bHQgPSBnZXRob3N0YnluYW1lX3IoImxvY2FsaG9zdCIsICZoZW50MiwgYnVmMiwgc2l6ZW9mKGJ1ZjIpLCAmaHAyLCAmZXJyKTsKKyAgQVNTRVJUX0VRKDAsIHJlc3VsdCk7CisgIFZlcmlmeUxvY2FsaG9zdChocDIpOworCisgIEFTU0VSVF9FUSgwLCBocC0+aF9hZGRyWzBdKTsKK30KKworVEVTVChuZXRkYiwgZ2V0aG9zdGJ5bmFtZTJfcikgeworICBob3N0ZW50IGhlbnQ7CisgIGhvc3RlbnQgKmhwOworICBjaGFyIGJ1Zls1MTJdOworICBpbnQgZXJyOworICBpbnQgcmVzdWx0ID0gZ2V0aG9zdGJ5bmFtZTJfcigibG9jYWxob3N0IiwgQUZfSU5FVCwgJmhlbnQsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZocCwgJmVycik7CisgIEFTU0VSVF9FUSgwLCByZXN1bHQpOworICBWZXJpZnlMb2NhbGhvc3QoaHApOworCisgIC8vIENoYW5nZSBocC0+aF9hZGRyIHRvIHRlc3QgcmVlbnRyYW5jeS4KKyAgaHAtPmhfYWRkclswXSA9IDA7CisKKyAgaG9zdGVudCBoZW50MjsKKyAgaG9zdGVudCAqaHAyOworICBjaGFyIGJ1ZjJbNTEyXTsKKyAgcmVzdWx0ID0gZ2V0aG9zdGJ5bmFtZTJfcigibG9jYWxob3N0IiwgQUZfSU5FVCwgJmhlbnQyLCBidWYyLCBzaXplb2YoYnVmMiksICZocDIsICZlcnIpOworICBBU1NFUlRfRVEoMCwgcmVzdWx0KTsKKyAgVmVyaWZ5TG9jYWxob3N0KGhwMik7CisKKyAgQVNTRVJUX0VRKDAsIGhwLT5oX2FkZHJbMF0pOworfQorCitURVNUKG5ldGRiLCBnZXRob3N0YnlhZGRyKSB7CisgIGluX2FkZHIgYWRkciA9IHsgaHRvbmwoMHg3ZjAwMDAwMSkgfTsKKyAgaG9zdGVudCAqaHAgPSBnZXRob3N0YnlhZGRyKCZhZGRyLCBzaXplb2YoYWRkciksIEFGX0lORVQpOworICBWZXJpZnlMb2NhbGhvc3QoaHApOworfQorCitURVNUKG5ldGRiLCBnZXRob3N0YnlhZGRyX3IpIHsKKyAgaW5fYWRkciBhZGRyID0geyBodG9ubCgweDdmMDAwMDAxKSB9OworICBob3N0ZW50IGhlbnQ7CisgIGhvc3RlbnQgKmhwOworICBjaGFyIGJ1Zls1MTJdOworICBpbnQgZXJyOworICBpbnQgcmVzdWx0ID0gZ2V0aG9zdGJ5YWRkcl9yKCZhZGRyLCBzaXplb2YoYWRkciksIEFGX0lORVQsICZoZW50LCBidWYsIHNpemVvZihidWYpLCAmaHAsICZlcnIpOworICBBU1NFUlRfRVEoMCwgcmVzdWx0KTsKKyAgVmVyaWZ5TG9jYWxob3N0KGhwKTsKKworICAvLyBDaGFuZ2UgaHAtPmhfYWRkciB0byB0ZXN0IHJlZW50cmFuY3kuCisgIGhwLT5oX2FkZHJbMF0gPSAwOworCisgIGhvc3RlbnQgaGVudDI7CisgIGhvc3RlbnQgKmhwMjsKKyAgY2hhciBidWYyWzUxMl07CisgIHJlc3VsdCA9IGdldGhvc3RieWFkZHJfcigmYWRkciwgc2l6ZW9mKGFkZHIpLCBBRl9JTkVULCAmaGVudDIsIGJ1ZjIsIHNpemVvZihidWYyKSwgJmhwMiwgJmVycik7CisgIEFTU0VSVF9FUSgwLCByZXN1bHQpOworICBWZXJpZnlMb2NhbGhvc3QoaHAyKTsKKworICBBU1NFUlRfRVEoMCwgaHAtPmhfYWRkclswXSk7Cit9CisKK1RFU1QobmV0ZGIsIGdldGhvc3RieW5hbWVfcl9FUkFOR0UpIHsKKyAgaG9zdGVudCBoZW50OworICBob3N0ZW50ICpocDsKKyAgY2hhciBidWZbNF07IC8vIFVzZSB0b28gc21hbGwgYnVmZmVyLgorICBpbnQgZXJyOworICBpbnQgcmVzdWx0ID0gZ2V0aG9zdGJ5bmFtZV9yKCJsb2NhbGhvc3QiLCAmaGVudCwgYnVmLCBzaXplb2YoYnVmKSwgJmhwLCAmZXJyKTsKKyAgQVNTRVJUX0VRKEVSQU5HRSwgcmVzdWx0KTsKKyAgQVNTRVJUX0VRKE5VTEwsIGhwKTsKK30KKworVEVTVChuZXRkYiwgZ2V0aG9zdGJ5bmFtZTJfcl9FUkFOR0UpIHsKKyAgaG9zdGVudCBoZW50OworICBob3N0ZW50ICpocDsKKyAgY2hhciBidWZbNF07IC8vIFVzZSB0b28gc21hbGwgYnVmZmVyLgorICBpbnQgZXJyOworICBpbnQgcmVzdWx0ID0gZ2V0aG9zdGJ5bmFtZTJfcigibG9jYWxob3N0IiwgQUZfSU5FVCwgJmhlbnQsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZocCwgJmVycik7CisgIEFTU0VSVF9FUShFUkFOR0UsIHJlc3VsdCk7CisgIEFTU0VSVF9FUShOVUxMLCBocCk7Cit9CisKK1RFU1QobmV0ZGIsIGdldGhvc3RieWFkZHJfcl9FUkFOR0UpIHsKKyAgaW5fYWRkciBhZGRyID0geyBodG9ubCgweDdmMDAwMDAxKSB9OworICBob3N0ZW50IGhlbnQ7CisgIGhvc3RlbnQgKmhwOworICBjaGFyIGJ1Zls0XTsgLy8gVXNlIHRvbyBzbWFsbCBidWZmZXIuCisgIGludCBlcnI7CisgIGludCByZXN1bHQgPSBnZXRob3N0YnlhZGRyX3IoJmFkZHIsIHNpemVvZihhZGRyKSwgQUZfSU5FVCwgJmhlbnQsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZocCwgJmVycik7CisgIEFTU0VSVF9FUShFUkFOR0UsIHJlc3VsdCk7CisgIEFTU0VSVF9FUShOVUxMLCBocCk7Cit9CisKK1RFU1QobmV0ZGIsIGdldHNlcnZieW5hbWUpIHsKKyAgLy8gc210cCBpcyBUQ1Atb25seSwgc28gd2Uga25vdyB3ZSdsbCBnZXQgMjUvdGNwIGJhY2suCisgIHNlcnZlbnQqIHMgPSBnZXRzZXJ2YnluYW1lKCJzbXRwIiwgTlVMTCk7CisgIEFTU0VSVF9UUlVFKHMgIT0gTlVMTCk7CisgIEFTU0VSVF9FUSgyNSwgbnRvaHMocy0+c19wb3J0KSk7CisgIEFTU0VSVF9TVFJFUSgidGNwIiwgcy0+c19wcm90byk7CisKKyAgLy8gV2UgZ2V0IHRoZSBzYW1lIHJlc3VsdCBieSBleHBsaWNpdGx5IGFza2luZyBmb3IgdGNwLgorICBzID0gZ2V0c2VydmJ5bmFtZSgic210cCIsICJ0Y3AiKTsKKyAgQVNTRVJUX1RSVUUocyAhPSBOVUxMKTsKKyAgQVNTRVJUX0VRKDI1LCBudG9ocyhzLT5zX3BvcnQpKTsKKyAgQVNTRVJUX1NUUkVRKCJ0Y3AiLCBzLT5zX3Byb3RvKTsKKworICAvLyBBbmQgd2UgZ2V0IGEgZmFpbHVyZSBpZiB3ZSBleHBsaWNpdGx5IGFzayBmb3IgdWRwLgorICBzID0gZ2V0c2VydmJ5bmFtZSgic210cCIsICJ1ZHAiKTsKKyAgQVNTRVJUX1RSVUUocyA9PSBOVUxMKTsKKworICAvLyBCdXQgdGhlcmUgYXJlIGFjdHVhbGx5IHVkcCBzZXJ2aWNlcy4KKyAgcyA9IGdldHNlcnZieW5hbWUoImVjaG8iLCAidWRwIik7CisgIEFTU0VSVF9UUlVFKHMgIT0gTlVMTCk7CisgIEFTU0VSVF9FUSg3LCBudG9ocyhzLT5zX3BvcnQpKTsKKyAgQVNTRVJUX1NUUkVRKCJ1ZHAiLCBzLT5zX3Byb3RvKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3B0aHJlYWRfdGVzdC5jcHAgYi90ZXN0cy9wdGhyZWFkX3Rlc3QuY3BwCmluZGV4IDMyYmI1NGMuLmNiNWU4MTggMTAwNjQ0Ci0tLSBhL3Rlc3RzL3B0aHJlYWRfdGVzdC5jcHAKKysrIGIvdGVzdHMvcHRocmVhZF90ZXN0LmNwcApAQCAtMTYsMjAgKzE2LDMzIEBACiAKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCisjaW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8bWFsbG9jLmg+CiAjaW5jbHVkZSA8cHRocmVhZC5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2luY2x1ZGUgPGF0b21pYz4KKyNpbmNsdWRlIDxyZWdleD4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKKyNpbmNsdWRlIDxiYXNlL2ZpbGUuaD4KKyNpbmNsdWRlIDxiYXNlL3N0cmluZ3ByaW50Zi5oPgorCisjaW5jbHVkZSAicHJpdmF0ZS9iaW9uaWNfbWFjcm9zLmgiCiAjaW5jbHVkZSAicHJpdmF0ZS9TY29wZUd1YXJkLmgiCisjaW5jbHVkZSAiQmlvbmljRGVhdGhUZXN0LmgiCiAjaW5jbHVkZSAiU2NvcGVkU2lnbmFsSGFuZGxlci5oIgogCitleHRlcm4gIkMiIHBpZF90IGdldHRpZCgpOworCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfa2V5X2NyZWF0ZSkgewogICBwdGhyZWFkX2tleV90IGtleTsKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfa2V5X2NyZWF0ZSgma2V5LCBOVUxMKSk7CkBAIC0zOCwzNyArNTEsNjkgQEAKICAgQVNTRVJUX0VRKEVJTlZBTCwgcHRocmVhZF9rZXlfZGVsZXRlKGtleSkpOwogfQogCi1URVNUKHB0aHJlYWQsIHB0aHJlYWRfa2V5X2NyZWF0ZV9sb3RzKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKSAvLyBnbGliYyB1c2VzIGtleXMgaW50ZXJuYWxseSB0aGF0IGl0cyBzeXNjb25mIHZhbHVlIGRvZXNuJ3QgYWNjb3VudCBmb3IuCi0gIC8vIFBPU0lYIHNheXMgUFRIUkVBRF9LRVlTX01BWCBzaG91bGQgYmUgYXQgbGVhc3QgMTI4LgotICBBU1NFUlRfR0UoUFRIUkVBRF9LRVlTX01BWCwgMTI4KTsKK1RFU1QocHRocmVhZCwgcHRocmVhZF9rZXlzX21heCkgeworICAvLyBQT1NJWCBzYXlzIFBUSFJFQURfS0VZU19NQVggc2hvdWxkIGJlIGF0IGxlYXN0IF9QT1NJWF9USFJFQURfS0VZU19NQVguCisgIEFTU0VSVF9HRShQVEhSRUFEX0tFWVNfTUFYLCBfUE9TSVhfVEhSRUFEX0tFWVNfTUFYKTsKK30KIAorVEVTVChwdGhyZWFkLCBzeXNjb25mX1NDX1RIUkVBRF9LRVlTX01BWF9lcV9QVEhSRUFEX0tFWVNfTUFYKSB7CiAgIGludCBzeXNjb25mX21heCA9IHN5c2NvbmYoX1NDX1RIUkVBRF9LRVlTX01BWCk7CisgIEFTU0VSVF9FUShzeXNjb25mX21heCwgUFRIUkVBRF9LRVlTX01BWCk7Cit9CiAKLSAgLy8gc3lzY29uZiBzaG91bGRuJ3QgcmV0dXJuIGEgc21hbGxlciB2YWx1ZS4KLSAgQVNTRVJUX0dFKHN5c2NvbmZfbWF4LCBQVEhSRUFEX0tFWVNfTUFYKTsKLQotICAvLyBXZSBjYW4gYWxsb2NhdGUgX1NDX1RIUkVBRF9LRVlTX01BWCBrZXlzLgotICBzeXNjb25mX21heCAtPSAyOyAvLyAoRXhjZXB0IHRoYXQgZ3Rlc3QgdGFrZXMgdHdvIGZvciBpdHNlbGYuKQorVEVTVChwdGhyZWFkLCBwdGhyZWFkX2tleV9tYW55X2Rpc3RpbmN0KSB7CisgIC8vIEFzIGd0ZXN0IHVzZXMgcHRocmVhZCBrZXlzLCB3ZSBjYW4ndCBhbGxvY2F0ZSBleGFjdGx5IFBUSFJFQURfS0VZU19NQVgKKyAgLy8gcHRocmVhZCBrZXlzLCBidXQgV2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYXQgbGVhc3QgdGhpcyBtYW55IGtleXMuCisgIGludCBua2V5cyA9IFBUSFJFQURfS0VZU19NQVggLyAyOwogICBzdGQ6OnZlY3RvcjxwdGhyZWFkX2tleV90PiBrZXlzOwotICBmb3IgKGludCBpID0gMDsgaSA8IHN5c2NvbmZfbWF4OyArK2kpIHsKKworICBhdXRvIHNjb3BlX2d1YXJkID0gbWFrZV9zY29wZV9ndWFyZChbJmtleXNdeworICAgIGZvciAoYXV0byBrZXkgOiBrZXlzKSB7CisgICAgICBFWFBFQ1RfRVEoMCwgcHRocmVhZF9rZXlfZGVsZXRlKGtleSkpOworICAgIH0KKyAgfSk7CisKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBua2V5czsgKytpKSB7CiAgICAgcHRocmVhZF9rZXlfdCBrZXk7Ci0gICAgLy8gSWYgdGhpcyBmYWlscywgaXQncyBsaWtlbHkgdGhhdCBHTE9CQUxfSU5JVF9USFJFQURfTE9DQUxfQlVGRkVSX0NPVU5UIGlzIHdyb25nLgotICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2tleV9jcmVhdGUoJmtleSwgTlVMTCkpIDw8IGkgPDwgIiBvZiAiIDw8IHN5c2NvbmZfbWF4OworICAgIC8vIElmIHRoaXMgZmFpbHMsIGl0J3MgbGlrZWx5IHRoYXQgTElCQ19QVEhSRUFEX0tFWV9SRVNFUlZFRF9DT1VOVCBpcyB3cm9uZy4KKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9rZXlfY3JlYXRlKCZrZXksIE5VTEwpKSA8PCBpIDw8ICIgb2YgIiA8PCBua2V5czsKKyAgICBrZXlzLnB1c2hfYmFjayhrZXkpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3NldHNwZWNpZmljKGtleSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oaSkpKTsKKyAgfQorCisgIGZvciAoaW50IGkgPSBrZXlzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CisgICAgQVNTRVJUX0VRKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGkpLCBwdGhyZWFkX2dldHNwZWNpZmljKGtleXMuYmFjaygpKSk7CisgICAgcHRocmVhZF9rZXlfdCBrZXkgPSBrZXlzLmJhY2soKTsKKyAgICBrZXlzLnBvcF9iYWNrKCk7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfa2V5X2RlbGV0ZShrZXkpKTsKKyAgfQorfQorCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfa2V5X25vdF9leGNlZWRfUFRIUkVBRF9LRVlTX01BWCkgeworICBzdGQ6OnZlY3RvcjxwdGhyZWFkX2tleV90PiBrZXlzOworICBpbnQgcnYgPSAwOworCisgIC8vIFB0aHJlYWQga2V5cyBhcmUgdXNlZCBieSBndGVzdCwgc28gUFRIUkVBRF9LRVlTX01BWCBzaG91bGQKKyAgLy8gYmUgbW9yZSB0aGFuIHdlIGFyZSBhbGxvd2VkIHRvIGFsbG9jYXRlIG5vdy4KKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBQVEhSRUFEX0tFWVNfTUFYOyBpKyspIHsKKyAgICBwdGhyZWFkX2tleV90IGtleTsKKyAgICBydiA9IHB0aHJlYWRfa2V5X2NyZWF0ZSgma2V5LCBOVUxMKTsKKyAgICBpZiAocnYgPT0gRUFHQUlOKSB7CisgICAgICBicmVhazsKKyAgICB9CisgICAgRVhQRUNUX0VRKDAsIHJ2KTsKICAgICBrZXlzLnB1c2hfYmFjayhrZXkpOwogICB9CiAKLSAgLy8gLi4uYW5kIHRoYXQgcmVhbGx5IGlzIHRoZSBtYXhpbXVtLgotICBwdGhyZWFkX2tleV90IGtleTsKLSAgQVNTRVJUX0VRKEVBR0FJTiwgcHRocmVhZF9rZXlfY3JlYXRlKCZrZXksIE5VTEwpKTsKLQotICAvLyAoRG9uJ3QgbGVhayBhbGwgdGhvc2Uga2V5cyEpCi0gIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgewotICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2tleV9kZWxldGUoa2V5c1tpXSkpOworICAvLyBEb24ndCBsZWFrIGtleXMuCisgIGZvciAoYXV0byBrZXkgOiBrZXlzKSB7CisgICAgRVhQRUNUX0VRKDAsIHB0aHJlYWRfa2V5X2RlbGV0ZShrZXkpKTsKICAgfQotI2Vsc2UgLy8gX19CSU9OSUNfXwotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKLSNlbmRpZiAvLyBfX0JJT05JQ19fCisgIGtleXMuY2xlYXIoKTsKKworICAvLyBXZSBzaG91bGQgaGF2ZSBldmVudHVhbGx5IHJlYWNoZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGtleXMgYW5kIHJlY2VpdmVkCisgIC8vIEVBR0FJTi4KKyAgQVNTRVJUX0VRKEVBR0FJTiwgcnYpOwogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfa2V5X2RlbGV0ZSkgewpAQCAtMTA2LDYgKzE1MSw3IEBACiAgIEFTU0VSVF9FUSg5OSwgV0VYSVRTVEFUVVMoc3RhdHVzKSk7CiAKICAgQVNTRVJUX0VRKGV4cGVjdGVkLCBwdGhyZWFkX2dldHNwZWNpZmljKGtleSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9rZXlfZGVsZXRlKGtleSkpOwogfQogCiBzdGF0aWMgdm9pZCogRGlydHlLZXlGbih2b2lkKiBrZXkpIHsKQEAgLTEzMywyMyArMTc5LDU0IEBACiAgIEFTU0VSVF9FUShudWxscHRyLCByZXN1bHQpOyAvLyBOb3QgfjAhCiAKICAgQVNTRVJUX0VRKDAsIG11bm1hcChzdGFjaywgc3RhY2tfc2l6ZSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9rZXlfZGVsZXRlKGtleSkpOworfQorCitURVNUKHB0aHJlYWQsIHN0YXRpY19wdGhyZWFkX2tleV91c2VkX2JlZm9yZV9jcmVhdGlvbikgeworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgLy8gU2VlIGh0dHA6Ly9iLzE5NjI1ODA0LiBUaGUgYnVnIGlzIGFib3V0IGEgc3RhdGljL2dsb2JhbCBwdGhyZWFkIGtleSBiZWluZyB1c2VkIGJlZm9yZSBjcmVhdGlvbi4KKyAgLy8gU28gaGVyZSB0ZXN0cyBpZiB0aGUgc3RhdGljL2dsb2JhbCBkZWZhdWx0IHZhbHVlIDAgY2FuIGJlIGRldGVjdGVkIGFzIGludmFsaWQga2V5LgorICBzdGF0aWMgcHRocmVhZF9rZXlfdCBrZXk7CisgIEFTU0VSVF9FUShudWxscHRyLCBwdGhyZWFkX2dldHNwZWNpZmljKGtleSkpOworICBBU1NFUlRfRVEoRUlOVkFMLCBwdGhyZWFkX3NldHNwZWNpZmljKGtleSwgbnVsbHB0cikpOworICBBU1NFUlRfRVEoRUlOVkFMLCBwdGhyZWFkX2tleV9kZWxldGUoa2V5KSk7CisjZWxzZQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgdGVzdHMgYmlvbmljIHB0aHJlYWQga2V5IGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiI7CisjZW5kaWYKIH0KIAogc3RhdGljIHZvaWQqIElkRm4odm9pZCogYXJnKSB7CiAgIHJldHVybiBhcmc7CiB9CiAKLXN0YXRpYyB2b2lkKiBTbGVlcEZuKHZvaWQqIGFyZykgewotICBzbGVlcChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oYXJnKSk7Ci0gIHJldHVybiBOVUxMOwotfQotCi1zdGF0aWMgdm9pZCogU3BpbkZuKHZvaWQqIGFyZykgewotICB2b2xhdGlsZSBib29sKiBiID0gcmVpbnRlcnByZXRfY2FzdDx2b2xhdGlsZSBib29sKj4oYXJnKTsKLSAgd2hpbGUgKCEqYikgeworY2xhc3MgU3BpbkZ1bmN0aW9uSGVscGVyIHsKKyBwdWJsaWM6CisgIFNwaW5GdW5jdGlvbkhlbHBlcigpIHsKKyAgICBTcGluRnVuY3Rpb25IZWxwZXI6OnNwaW5fZmxhZ18gPSB0cnVlOwogICB9Ci0gIHJldHVybiBOVUxMOwotfQorICB+U3BpbkZ1bmN0aW9uSGVscGVyKCkgeworICAgIFVuU3BpbigpOworICB9CisgIGF1dG8gR2V0RnVuY3Rpb24oKSAtPiB2b2lkKiAoKikodm9pZCopIHsKKyAgICByZXR1cm4gU3BpbkZ1bmN0aW9uSGVscGVyOjpTcGluRm47CisgIH0KKworICB2b2lkIFVuU3BpbigpIHsKKyAgICBTcGluRnVuY3Rpb25IZWxwZXI6OnNwaW5fZmxhZ18gPSBmYWxzZTsKKyAgfQorCisgcHJpdmF0ZToKKyAgc3RhdGljIHZvaWQqIFNwaW5Gbih2b2lkKikgeworICAgIHdoaWxlIChzcGluX2ZsYWdfKSB7fQorICAgIHJldHVybiBOVUxMOworICB9CisgIHN0YXRpYyB2b2xhdGlsZSBib29sIHNwaW5fZmxhZ187Cit9OworCisvLyBJdCBkb2Vzbid0IG1hdHRlciBpZiBzcGluX2ZsYWdfIGlzIHVzZWQgaW4gc2V2ZXJhbCB0ZXN0cywKKy8vIGJlY2F1c2UgaXQgaXMgYWx3YXlzIHNldCB0byBmYWxzZSBhZnRlciBlYWNoIHRlc3QuIEVhY2ggdGhyZWFkCisvLyBsb29wcyBvbiBzcGluX2ZsYWdfIGNhbiBmaW5kIGl0IGJlY29tZXMgZmFsc2UgYXQgc29tZSB0aW1lLgordm9sYXRpbGUgYm9vbCBTcGluRnVuY3Rpb25IZWxwZXI6OnNwaW5fZmxhZ18gPSBmYWxzZTsKIAogc3RhdGljIHZvaWQqIEpvaW5Gbih2b2lkKiBhcmcpIHsKICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHB0aHJlYWRfam9pbihyZWludGVycHJldF9jYXN0PHB0aHJlYWRfdD4oYXJnKSwgTlVMTCkpOwpAQCAtMTY2LDggKzI0Myw3IEBACiAKIHN0YXRpYyB2b2lkIE1ha2VEZWFkVGhyZWFkKHB0aHJlYWRfdCYgdCkgewogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQsIE5VTEwsIElkRm4sIE5VTEwpKTsKLSAgdm9pZCogcmVzdWx0OwotICBBU1NFUlRfRVEoMCwgcHRocmVhZF9qb2luKHQsICZyZXN1bHQpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfam9pbih0LCBOVUxMKSk7CiB9CiAKIFRFU1QocHRocmVhZCwgcHRocmVhZF9jcmVhdGUpIHsKQEAgLTE5MSwyMyArMjY3LDI0IEBACiB9CiAKIFRFU1QocHRocmVhZCwgcHRocmVhZF9ub19qb2luX2FmdGVyX2RldGFjaCkgeworICBTcGluRnVuY3Rpb25IZWxwZXIgc3BpbmhlbHBlcjsKKwogICBwdGhyZWFkX3QgdDE7Ci0gIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdDEsIE5VTEwsIFNsZWVwRm4sIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KDUpKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdDEsIE5VTEwsIHNwaW5oZWxwZXIuR2V0RnVuY3Rpb24oKSwgTlVMTCkpOwogCiAgIC8vIEFmdGVyIGEgcHRocmVhZF9kZXRhY2guLi4KICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfZGV0YWNoKHQxKSk7CiAgIEFzc2VydERldGFjaGVkKHQxLCB0cnVlKTsKIAogICAvLyAuLi5wdGhyZWFkX2pvaW4gc2hvdWxkIGZhaWwuCi0gIHZvaWQqIHJlc3VsdDsKLSAgQVNTRVJUX0VRKEVJTlZBTCwgcHRocmVhZF9qb2luKHQxLCAmcmVzdWx0KSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIHB0aHJlYWRfam9pbih0MSwgTlVMTCkpOwogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfbm9fb3BfZGV0YWNoX2FmdGVyX2pvaW4pIHsKLSAgYm9vbCBkb25lID0gZmFsc2U7CisgIFNwaW5GdW5jdGlvbkhlbHBlciBzcGluaGVscGVyOwogCiAgIHB0aHJlYWRfdCB0MTsKLSAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0MSwgTlVMTCwgU3BpbkZuLCAmZG9uZSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQxLCBOVUxMLCBzcGluaGVscGVyLkdldEZ1bmN0aW9uKCksIE5VTEwpKTsKIAogICAvLyBJZiB0aHJlYWQgMiBpcyBhbHJlYWR5IHdhaXRpbmcgdG8gam9pbiB0aHJlYWQgMS4uLgogICBwdGhyZWFkX3QgdDI7CkBAIC0yMTUsMTEgKzI5MiwxNCBAQAogCiAgIHNsZWVwKDEpOyAvLyAoR2l2ZSB0MiBhIGNoYW5jZSB0byBjYWxsIHB0aHJlYWRfam9pbi4pCiAKLSAgLy8gLi4uYSBjYWxsIHRvIHB0aHJlYWRfZGV0YWNoIG9uIHRocmVhZCAxIHdpbGwgInN1Y2NlZWQiIChzaWxlbnRseSBmYWlsKS4uLgorI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgQVNTRVJUX0VRKEVJTlZBTCwgcHRocmVhZF9kZXRhY2godDEpKTsKKyNlbHNlCiAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2RldGFjaCh0MSkpOworI2VuZGlmCiAgIEFzc2VydERldGFjaGVkKHQxLCBmYWxzZSk7CiAKLSAgZG9uZSA9IHRydWU7CisgIHNwaW5oZWxwZXIuVW5TcGluKCk7CiAKICAgLy8gLi4uYnV0IHQyJ3Mgam9pbiBvbiB0MSBzdGlsbCBnb2VzIGFoZWFkICh3aGljaCB3ZSBjYW4gdGVsbCBiZWNhdXNlIG91ciBqb2luIG9uIHQyIGZpbmlzaGVzKS4KICAgdm9pZCogam9pbl9yZXN1bHQ7CkBAIC0yMjgsOCArMzA4LDcgQEAKIH0KIAogVEVTVChwdGhyZWFkLCBwdGhyZWFkX2pvaW5fc2VsZikgewotICB2b2lkKiByZXN1bHQ7Ci0gIEFTU0VSVF9FUShFREVBRExLLCBwdGhyZWFkX2pvaW4ocHRocmVhZF9zZWxmKCksICZyZXN1bHQpKTsKKyAgQVNTRVJUX0VRKEVERUFETEssIHB0aHJlYWRfam9pbihwdGhyZWFkX3NlbGYoKSwgTlVMTCkpOwogfQogCiBzdHJ1Y3QgVGVzdEJ1ZzM3NDEwIHsKQEAgLTI2OSw5ICszNDgsMTEgQEAKIAogLy8gRXZlbiB0aG91Z2ggdGhpcyBpc24ndCByZWFsbHkgYSBkZWF0aCB0ZXN0LCB3ZSBoYXZlIHRvIHNheSAiRGVhdGhUZXN0IiBoZXJlIHNvIGd0ZXN0IGtub3dzIHRvCiAvLyBydW4gdGhpcyB0ZXN0ICh3aGljaCBleGl0cyBub3JtYWxseSkgaW4gaXRzIG93biBwcm9jZXNzLgotVEVTVChwdGhyZWFkX0RlYXRoVGVzdCwgcHRocmVhZF9idWdfMzc0MTApIHsKKworY2xhc3MgcHRocmVhZF9EZWF0aFRlc3QgOiBwdWJsaWMgQmlvbmljRGVhdGhUZXN0IHt9OworCitURVNUX0YocHRocmVhZF9EZWF0aFRlc3QsIHB0aHJlYWRfYnVnXzM3NDEwKSB7CiAgIC8vIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmRyb2lkL2lzc3Vlcy9kZXRhaWw/aWQ9Mzc0MTAKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBBU1NFUlRfRVhJVChUZXN0QnVnMzc0MTA6Om1haW4oKSwgOjp0ZXN0aW5nOjpFeGl0ZWRXaXRoQ29kZSgwKSwgIiIpOwogfQogCkBAIC0zMjMsNTIgKzQwNCwyOSBAQAogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfc2V0bmFtZV9ucF9fdG9vX2xvbmcpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pIC8vIE5vdCBhbGwgYnVpbGQgc2VydmVycyBoYXZlIGEgbmV3IGVub3VnaCBnbGliYz8gVE9ETzogcmVtb3ZlIHdoZW4gdGhleSdyZSBvbiBncHJlY2lzZS4KLSAgQVNTRVJUX0VRKEVSQU5HRSwgcHRocmVhZF9zZXRuYW1lX25wKHB0aHJlYWRfc2VsZigpLCAidGhpcyBuYW1lIGlzIGZhciB0b28gbG9uZyBmb3IgbGludXgiKSk7Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KKyAgLy8gVGhlIGxpbWl0IGlzIDE1IGNoYXJhY3RlcnMgLS0tIHRoZSBrZXJuZWwncyBidWZmZXIgaXMgMTYsIGJ1dCBpbmNsdWRlcyBhIE5VTC4KKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfc2V0bmFtZV9ucChwdGhyZWFkX3NlbGYoKSwgIjEyMzQ1Njc4OTAxMjM0NSIpKTsKKyAgQVNTRVJUX0VRKEVSQU5HRSwgcHRocmVhZF9zZXRuYW1lX25wKHB0aHJlYWRfc2VsZigpLCAiMTIzNDU2Nzg5MDEyMzQ1NiIpKTsKIH0KIAogVEVTVChwdGhyZWFkLCBwdGhyZWFkX3NldG5hbWVfbnBfX3NlbGYpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pIC8vIE5vdCBhbGwgYnVpbGQgc2VydmVycyBoYXZlIGEgbmV3IGVub3VnaCBnbGliYz8gVE9ETzogcmVtb3ZlIHdoZW4gdGhleSdyZSBvbiBncHJlY2lzZS4KICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfc2V0bmFtZV9ucChwdGhyZWFkX3NlbGYoKSwgInNob3J0IDEiKSk7Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KIH0KIAogVEVTVChwdGhyZWFkLCBwdGhyZWFkX3NldG5hbWVfbnBfX290aGVyKSB7Ci0jaWYgZGVmaW5lZChfX0JJT05JQ19fKSAvLyBOb3QgYWxsIGJ1aWxkIHNlcnZlcnMgaGF2ZSBhIG5ldyBlbm91Z2ggZ2xpYmM/IFRPRE86IHJlbW92ZSB3aGVuIHRoZXkncmUgb24gZ3ByZWNpc2UuCi0gIC8vIEVtdWxhdG9yIGtlcm5lbHMgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgc2V0dGluZyB0aGUgbmFtZSBvZiBvdGhlciB0aHJlYWRzLgotICBjaGFyKiBmaWxlbmFtZSA9IE5VTEw7Ci0gIGFzcHJpbnRmKCZmaWxlbmFtZSwgIi9wcm9jL3NlbGYvdGFzay8lZC9jb21tIiwgZ2V0dGlkKCkpOwotICBzdHJ1Y3Qgc3RhdCBzYjsKLSAgYm9vbCBoYXNfY29tbSA9IChzdGF0KGZpbGVuYW1lLCAmc2IpICE9IC0xKTsKLSAgZnJlZShmaWxlbmFtZSk7CisgIFNwaW5GdW5jdGlvbkhlbHBlciBzcGluaGVscGVyOwogCi0gIGlmIChoYXNfY29tbSkgewotICAgIHB0aHJlYWRfdCB0MTsKLSAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQxLCBOVUxMLCBTbGVlcEZuLCByZWludGVycHJldF9jYXN0PHZvaWQqPig1KSkpOwotICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3NldG5hbWVfbnAodDEsICJzaG9ydCAyIikpOwotICB9IGVsc2UgewotICAgIGZwcmludGYoc3RkZXJyLCAic2tpcHBpbmcgdGVzdDogdGhpcyBrZXJuZWwgZG9lc24ndCBoYXZlIC9wcm9jL3NlbGYvdGFzay90aWQvY29tbSBmaWxlcyFcbiIpOwotICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KKyAgcHRocmVhZF90IHQxOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQxLCBOVUxMLCBzcGluaGVscGVyLkdldEZ1bmN0aW9uKCksIE5VTEwpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfc2V0bmFtZV9ucCh0MSwgInNob3J0IDIiKSk7CiB9CiAKIFRFU1QocHRocmVhZCwgcHRocmVhZF9zZXRuYW1lX25wX19ub19zdWNoX3RocmVhZCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykgLy8gTm90IGFsbCBidWlsZCBzZXJ2ZXJzIGhhdmUgYSBuZXcgZW5vdWdoIGdsaWJjPyBUT0RPOiByZW1vdmUgd2hlbiB0aGV5J3JlIG9uIGdwcmVjaXNlLgogICBwdGhyZWFkX3QgZGVhZF90aHJlYWQ7CiAgIE1ha2VEZWFkVGhyZWFkKGRlYWRfdGhyZWFkKTsKIAogICAvLyBDYWxsIHB0aHJlYWRfc2V0bmFtZV9ucCBhZnRlciB0aHJlYWQgaGFzIGFscmVhZHkgZXhpdGVkLgotICBBU1NFUlRfRVEoRVNSQ0gsIHB0aHJlYWRfc2V0bmFtZV9ucChkZWFkX3RocmVhZCwgInNob3J0IDMiKSk7Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KKyAgQVNTRVJUX0VRKEVOT0VOVCwgcHRocmVhZF9zZXRuYW1lX25wKGRlYWRfdGhyZWFkLCAic2hvcnQgMyIpKTsKIH0KIAogVEVTVChwdGhyZWFkLCBwdGhyZWFkX2tpbGxfXzApIHsKQEAgLTQwMSw3ICs0NTksNyBAQAogICBBU1NFUlRfRVEoRVNSQ0gsIHB0aHJlYWRfZGV0YWNoKGRlYWRfdGhyZWFkKSk7CiB9CiAKLVRFU1QocHRocmVhZCwgcHRocmVhZF9kZXRhY2hfX2xlYWspIHsKK1RFU1QocHRocmVhZCwgcHRocmVhZF9kZXRhY2hfbm9fbGVhaykgewogICBzaXplX3QgaW5pdGlhbF9ieXRlcyA9IDA7CiAgIC8vIFJ1biB0aGlzIGxvb3AgbW9yZSB0aGFuIG9uY2Ugc2luY2UgdGhlIGZpcnN0IGxvb3AgY2F1c2VzIHNvbWUgbWVtb3J5CiAgIC8vIHRvIGJlIGFsbG9jYXRlZCBwZXJtZW5hbnRseS4gUnVuIGFuIGV4dHJhIGxvb3AgdG8gaGVscCBjYXRjaCBhbnkgc3VidGxlCkBAIC00MzQsMTQgKzQ5MiwxNCBAQAogICBzaXplX3QgZmluYWxfYnl0ZXMgPSBtYWxsaW5mbygpLnVvcmRibGtzOwogICBpbnQgbGVha2VkX2J5dGVzID0gKGZpbmFsX2J5dGVzIC0gaW5pdGlhbF9ieXRlcyk7CiAKLSAgLy8gVXNlciBjb2RlIChsaWtlIHRoaXMgdGVzdCkgZG9lc24ndCBrbm93IGhvdyBsYXJnZSBwdGhyZWFkX2ludGVybmFsX3QgaXMuCi0gIC8vIFdlIGNhbiBiZSBwcmV0dHkgc3VyZSBpdCdzIG1vcmUgdGhhbiAxMjggYnl0ZXMuCi0gIEFTU0VSVF9MVChsZWFrZWRfYnl0ZXMsIDMyIC8qdGhyZWFkcyovICogMTI4IC8qYnl0ZXMqLyk7CisgIEFTU0VSVF9FUSgwLCBsZWFrZWRfYnl0ZXMpOwogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfZ2V0Y3B1Y2xvY2tpZF9fY2xvY2tfZ2V0dGltZSkgeworICBTcGluRnVuY3Rpb25IZWxwZXIgc3BpbmhlbHBlcjsKKwogICBwdGhyZWFkX3QgdDsKLSAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0LCBOVUxMLCBTbGVlcEZuLCByZWludGVycHJldF9jYXN0PHZvaWQqPig1KSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQsIE5VTEwsIHNwaW5oZWxwZXIuR2V0RnVuY3Rpb24oKSwgTlVMTCkpOwogCiAgIGNsb2NraWRfdCBjOwogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9nZXRjcHVjbG9ja2lkKHQsICZjKSk7CkBAIC00NzksOCArNTM3LDcgQEAKICAgcHRocmVhZF90IGRlYWRfdGhyZWFkOwogICBNYWtlRGVhZFRocmVhZChkZWFkX3RocmVhZCk7CiAKLSAgdm9pZCogcmVzdWx0OwotICBBU1NFUlRfRVEoRVNSQ0gsIHB0aHJlYWRfam9pbihkZWFkX3RocmVhZCwgJnJlc3VsdCkpOworICBBU1NFUlRfRVEoRVNSQ0gsIHB0aHJlYWRfam9pbihkZWFkX3RocmVhZCwgTlVMTCkpOwogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfa2lsbF9fbm9fc3VjaF90aHJlYWQpIHsKQEAgLTQ5MSwxMCArNTQ4LDEwIEBACiB9CiAKIFRFU1QocHRocmVhZCwgcHRocmVhZF9qb2luX19tdWx0aWpvaW4pIHsKLSAgYm9vbCBkb25lID0gZmFsc2U7CisgIFNwaW5GdW5jdGlvbkhlbHBlciBzcGluaGVscGVyOwogCiAgIHB0aHJlYWRfdCB0MTsKLSAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0MSwgTlVMTCwgU3BpbkZuLCAmZG9uZSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQxLCBOVUxMLCBzcGluaGVscGVyLkdldEZ1bmN0aW9uKCksIE5VTEwpKTsKIAogICBwdGhyZWFkX3QgdDI7CiAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdDIsIE5VTEwsIEpvaW5GbiwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odDEpKSk7CkBAIC01MDQsNyArNTYxLDcgQEAKICAgLy8gTXVsdGlwbGUgam9pbnMgdG8gdGhlIHNhbWUgdGhyZWFkIHNob3VsZCBmYWlsLgogICBBU1NFUlRfRVEoRUlOVkFMLCBwdGhyZWFkX2pvaW4odDEsIE5VTEwpKTsKIAotICBkb25lID0gdHJ1ZTsKKyAgc3BpbmhlbHBlci5VblNwaW4oKTsKIAogICAvLyAuLi5idXQgdDIncyBqb2luIG9uIHQxIHN0aWxsIGdvZXMgYWhlYWQgKHdoaWNoIHdlIGNhbiB0ZWxsIGJlY2F1c2Ugb3VyIGpvaW4gb24gdDIgZmluaXNoZXMpLgogICB2b2lkKiBqb2luX3Jlc3VsdDsKQEAgLTU0MSw4ICs1OTgsNyBAQAogICBzaXplX3QgcmVzdWx0OwogICBwdGhyZWFkX3QgdDsKICAgcHRocmVhZF9jcmVhdGUoJnQsICZhdHRyaWJ1dGVzLCBHZXRBY3R1YWxHdWFyZFNpemVGbiwgJnJlc3VsdCk7Ci0gIHZvaWQqIGpvaW5fcmVzdWx0OwotICBwdGhyZWFkX2pvaW4odCwgJmpvaW5fcmVzdWx0KTsKKyAgcHRocmVhZF9qb2luKHQsIE5VTEwpOwogICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC01NTcsOCArNjEzLDcgQEAKICAgc2l6ZV90IHJlc3VsdDsKICAgcHRocmVhZF90IHQ7CiAgIHB0aHJlYWRfY3JlYXRlKCZ0LCAmYXR0cmlidXRlcywgR2V0QWN0dWFsU3RhY2tTaXplRm4sICZyZXN1bHQpOwotICB2b2lkKiBqb2luX3Jlc3VsdDsKLSAgcHRocmVhZF9qb2luKHQsICZqb2luX3Jlc3VsdCk7CisgIHB0aHJlYWRfam9pbih0LCBOVUxMKTsKICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtNjAzLDI1ICs2NTgsNTUgQEAKICAgQVNTRVJUX0VRKGRlZmF1bHRfc3RhY2tfc2l6ZSwgc3RhY2tfc2l6ZSk7CiAgIEFTU0VSVF9HRShHZXRBY3R1YWxTdGFja1NpemUoYXR0cmlidXRlcyksIGRlZmF1bHRfc3RhY2tfc2l6ZSk7CiAKLSAgLy8gTGFyZ2UgZW5vdWdoIGFuZCBhIG11bHRpcGxlIG9mIHRoZSBwYWdlIHNpemUuCisgIC8vIExhcmdlIGVub3VnaCBhbmQgYSBtdWx0aXBsZSBvZiB0aGUgcGFnZSBzaXplOyBtYXkgYmUgcm91bmRlZCB1cCBieSBwdGhyZWFkX2NyZWF0ZS4KICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfYXR0cl9zZXRzdGFja3NpemUoJmF0dHJpYnV0ZXMsIDMyKjEwMjQpKTsKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfYXR0cl9nZXRzdGFja3NpemUoJmF0dHJpYnV0ZXMsICZzdGFja19zaXplKSk7CiAgIEFTU0VSVF9FUSgzMioxMDI0VSwgc3RhY2tfc2l6ZSk7Ci0gIEFTU0VSVF9FUShHZXRBY3R1YWxTdGFja1NpemUoYXR0cmlidXRlcyksIDMyKjEwMjRVKTsKKyAgQVNTRVJUX0dFKEdldEFjdHVhbFN0YWNrU2l6ZShhdHRyaWJ1dGVzKSwgMzIqMTAyNFUpOwogCi0gIC8vIExhcmdlIGVub3VnaCBidXQgbm90IGEgbXVsdGlwbGUgb2YgdGhlIHBhZ2Ugc2l6ZTsgd2lsbCBiZSByb3VuZGVkIHVwIGJ5IHB0aHJlYWRfY3JlYXRlLgorICAvLyBMYXJnZSBlbm91Z2ggYnV0IG5vdCBhbGlnbmVkOyB3aWxsIGJlIHJvdW5kZWQgdXAgYnkgcHRocmVhZF9jcmVhdGUuCiAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2F0dHJfc2V0c3RhY2tzaXplKCZhdHRyaWJ1dGVzLCAzMioxMDI0ICsgMSkpOwogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9hdHRyX2dldHN0YWNrc2l6ZSgmYXR0cmlidXRlcywgJnN0YWNrX3NpemUpKTsKICAgQVNTRVJUX0VRKDMyKjEwMjRVICsgMSwgc3RhY2tfc2l6ZSk7CiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICAvLyBCaW9uaWMgcm91bmRzIHVwLCB3aGljaCBpcyB3aGF0IFBPU0lYIGFsbG93cy4KLSAgQVNTRVJUX0VRKEdldEFjdHVhbFN0YWNrU2l6ZShhdHRyaWJ1dGVzKSwgKDMyICsgNCkqMTAyNFUpOworICBBU1NFUlRfR1QoR2V0QWN0dWFsU3RhY2tTaXplKGF0dHJpYnV0ZXMpLCAzMioxMDI0VSArIDEpOwogI2Vsc2UgLy8gX19CSU9OSUNfXwogICAvLyBnbGliYyByb3VuZHMgZG93biwgaW4gdmlvbGF0aW9uIG9mIFBPU0lYLiBUaGV5IGRvY3VtZW50IHRoaXMgaW4gdGhlaXIgQlVHUyBzZWN0aW9uLgogICBBU1NFUlRfRVEoR2V0QWN0dWFsU3RhY2tTaXplKGF0dHJpYnV0ZXMpLCAzMioxMDI0VSk7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwogfQogCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfcndsb2NrYXR0cl9zbW9rZSkgeworICBwdGhyZWFkX3J3bG9ja2F0dHJfdCBhdHRyOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2thdHRyX2luaXQoJmF0dHIpKTsKKworICBpbnQgcHNoYXJlZF92YWx1ZV9hcnJheVtdID0ge1BUSFJFQURfUFJPQ0VTU19QUklWQVRFLCBQVEhSRUFEX1BST0NFU1NfU0hBUkVEfTsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplb2YocHNoYXJlZF92YWx1ZV9hcnJheSkgLyBzaXplb2YocHNoYXJlZF92YWx1ZV9hcnJheVswXSk7ICsraSkgeworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja2F0dHJfc2V0cHNoYXJlZCgmYXR0ciwgcHNoYXJlZF92YWx1ZV9hcnJheVtpXSkpOworICAgIGludCBwc2hhcmVkOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja2F0dHJfZ2V0cHNoYXJlZCgmYXR0ciwgJnBzaGFyZWQpKTsKKyAgICBBU1NFUlRfRVEocHNoYXJlZF92YWx1ZV9hcnJheVtpXSwgcHNoYXJlZCk7CisgIH0KKworICBpbnQga2luZF9hcnJheVtdID0ge1BUSFJFQURfUldMT0NLX1BSRUZFUl9SRUFERVJfTlAsCisgICAgICAgICAgICAgICAgICAgICAgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1dSSVRFUl9OT05SRUNVUlNJVkVfTlB9OworICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihraW5kX2FycmF5KSAvIHNpemVvZihraW5kX2FycmF5WzBdKTsgKytpKSB7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrYXR0cl9zZXRraW5kX25wKCZhdHRyLCBraW5kX2FycmF5W2ldKSk7CisgICAgaW50IGtpbmQ7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrYXR0cl9nZXRraW5kX25wKCZhdHRyLCAma2luZCkpOworICAgIEFTU0VSVF9FUShraW5kX2FycmF5W2ldLCBraW5kKTsKKyAgfQorCisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja2F0dHJfZGVzdHJveSgmYXR0cikpOworfQorCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfcndsb2NrX2luaXRfc2FtZV9hc19QVEhSRUFEX1JXTE9DS19JTklUSUFMSVpFUikgeworICBwdGhyZWFkX3J3bG9ja190IGxvY2sxID0gUFRIUkVBRF9SV0xPQ0tfSU5JVElBTElaRVI7CisgIHB0aHJlYWRfcndsb2NrX3QgbG9jazI7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19pbml0KCZsb2NrMiwgTlVMTCkpOworICBBU1NFUlRfRVEoMCwgbWVtY21wKCZsb2NrMSwgJmxvY2syLCBzaXplb2YobG9jazEpKSk7Cit9CisKIFRFU1QocHRocmVhZCwgcHRocmVhZF9yd2xvY2tfc21va2UpIHsKICAgcHRocmVhZF9yd2xvY2tfdCBsOwogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfaW5pdCgmbCwgTlVMTCkpOwpAQCAtNjU3LDcgKzc0Miw2IEBACiAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja193cmxvY2soJmwpKTsKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3VubG9jaygmbCkpOwogCi0jaWZkZWYgX19CSU9OSUNfXwogICAvLyBFREVBRExLIGluICJyZWFkIGFmdGVyIHdyaXRlIgogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfd3Jsb2NrKCZsKSk7CiAgIEFTU0VSVF9FUShFREVBRExLLCBwdGhyZWFkX3J3bG9ja19yZGxvY2soJmwpKTsKQEAgLTY2NywxMSArNzUxLDIxMiBAQAogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfd3Jsb2NrKCZsKSk7CiAgIEFTU0VSVF9FUShFREVBRExLLCBwdGhyZWFkX3J3bG9ja193cmxvY2soJmwpKTsKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3VubG9jaygmbCkpOwotI2VuZGlmCiAKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX2Rlc3Ryb3koJmwpKTsKIH0KIAorc3RhdGljIHZvaWQgV2FpdFVudGlsVGhyZWFkU2xlZXAoc3RkOjphdG9taWM8cGlkX3Q+JiBwaWQpIHsKKyAgd2hpbGUgKHBpZCA9PSAwKSB7CisgICAgdXNsZWVwKDEwMDApOworICB9CisgIHN0ZDo6c3RyaW5nIGZpbGVuYW1lID0gYW5kcm9pZDo6YmFzZTo6U3RyaW5nUHJpbnRmKCIvcHJvYy8lZC9zdGF0IiwgcGlkLmxvYWQoKSk7CisgIHN0ZDo6cmVnZXggcmVnZXgge1IiKFxzK1NccyspIn07CisKKyAgd2hpbGUgKHRydWUpIHsKKyAgICBzdGQ6OnN0cmluZyBjb250ZW50OworICAgIEFTU0VSVF9UUlVFKGFuZHJvaWQ6OmJhc2U6OlJlYWRGaWxlVG9TdHJpbmcoZmlsZW5hbWUsICZjb250ZW50KSk7CisgICAgaWYgKHN0ZDo6cmVnZXhfc2VhcmNoKGNvbnRlbnQsIHJlZ2V4KSkgeworICAgICAgYnJlYWs7CisgICAgfQorICAgIHVzbGVlcCgxMDAwKTsKKyAgfQorfQorCitzdHJ1Y3QgUndsb2NrV2FrZXVwSGVscGVyQXJnIHsKKyAgcHRocmVhZF9yd2xvY2tfdCBsb2NrOworICBlbnVtIFByb2dyZXNzIHsKKyAgICBMT0NLX0lOSVRJQUxJWkVELAorICAgIExPQ0tfV0FJVElORywKKyAgICBMT0NLX1JFTEVBU0VELAorICAgIExPQ0tfQUNDRVNTRUQKKyAgfTsKKyAgc3RkOjphdG9taWM8UHJvZ3Jlc3M+IHByb2dyZXNzOworICBzdGQ6OmF0b21pYzxwaWRfdD4gdGlkOworfTsKKworc3RhdGljIHZvaWQgcHRocmVhZF9yd2xvY2tfcmVhZGVyX3dha2V1cF93cml0ZXJfaGVscGVyKFJ3bG9ja1dha2V1cEhlbHBlckFyZyogYXJnKSB7CisgIGFyZy0+dGlkID0gZ2V0dGlkKCk7CisgIEFTU0VSVF9FUShSd2xvY2tXYWtldXBIZWxwZXJBcmc6OkxPQ0tfSU5JVElBTElaRUQsIGFyZy0+cHJvZ3Jlc3MpOworICBhcmctPnByb2dyZXNzID0gUndsb2NrV2FrZXVwSGVscGVyQXJnOjpMT0NLX1dBSVRJTkc7CisKKyAgQVNTRVJUX0VRKEVCVVNZLCBwdGhyZWFkX3J3bG9ja190cnl3cmxvY2soJmFyZy0+bG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfd3Jsb2NrKCZhcmctPmxvY2spKTsKKyAgQVNTRVJUX0VRKFJ3bG9ja1dha2V1cEhlbHBlckFyZzo6TE9DS19SRUxFQVNFRCwgYXJnLT5wcm9ncmVzcyk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja191bmxvY2soJmFyZy0+bG9jaykpOworCisgIGFyZy0+cHJvZ3Jlc3MgPSBSd2xvY2tXYWtldXBIZWxwZXJBcmc6OkxPQ0tfQUNDRVNTRUQ7Cit9CisKK1RFU1QocHRocmVhZCwgcHRocmVhZF9yd2xvY2tfcmVhZGVyX3dha2V1cF93cml0ZXIpIHsKKyAgUndsb2NrV2FrZXVwSGVscGVyQXJnIHdha2V1cF9hcmc7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19pbml0KCZ3YWtldXBfYXJnLmxvY2ssIE5VTEwpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3JkbG9jaygmd2FrZXVwX2FyZy5sb2NrKSk7CisgIHdha2V1cF9hcmcucHJvZ3Jlc3MgPSBSd2xvY2tXYWtldXBIZWxwZXJBcmc6OkxPQ0tfSU5JVElBTElaRUQ7CisgIHdha2V1cF9hcmcudGlkID0gMDsKKworICBwdGhyZWFkX3QgdGhyZWFkOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwKKyAgICByZWludGVycHJldF9jYXN0PHZvaWQqICgqKSh2b2lkKik+KHB0aHJlYWRfcndsb2NrX3JlYWRlcl93YWtldXBfd3JpdGVyX2hlbHBlciksICZ3YWtldXBfYXJnKSk7CisgIFdhaXRVbnRpbFRocmVhZFNsZWVwKHdha2V1cF9hcmcudGlkKTsKKyAgQVNTRVJUX0VRKFJ3bG9ja1dha2V1cEhlbHBlckFyZzo6TE9DS19XQUlUSU5HLCB3YWtldXBfYXJnLnByb2dyZXNzKTsKKworICB3YWtldXBfYXJnLnByb2dyZXNzID0gUndsb2NrV2FrZXVwSGVscGVyQXJnOjpMT0NLX1JFTEVBU0VEOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfdW5sb2NrKCZ3YWtldXBfYXJnLmxvY2spKTsKKworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCkpOworICBBU1NFUlRfRVEoUndsb2NrV2FrZXVwSGVscGVyQXJnOjpMT0NLX0FDQ0VTU0VELCB3YWtldXBfYXJnLnByb2dyZXNzKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX2Rlc3Ryb3koJndha2V1cF9hcmcubG9jaykpOworfQorCitzdGF0aWMgdm9pZCBwdGhyZWFkX3J3bG9ja193cml0ZXJfd2FrZXVwX3JlYWRlcl9oZWxwZXIoUndsb2NrV2FrZXVwSGVscGVyQXJnKiBhcmcpIHsKKyAgYXJnLT50aWQgPSBnZXR0aWQoKTsKKyAgQVNTRVJUX0VRKFJ3bG9ja1dha2V1cEhlbHBlckFyZzo6TE9DS19JTklUSUFMSVpFRCwgYXJnLT5wcm9ncmVzcyk7CisgIGFyZy0+cHJvZ3Jlc3MgPSBSd2xvY2tXYWtldXBIZWxwZXJBcmc6OkxPQ0tfV0FJVElORzsKKworICBBU1NFUlRfRVEoRUJVU1ksIHB0aHJlYWRfcndsb2NrX3RyeXJkbG9jaygmYXJnLT5sb2NrKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19yZGxvY2soJmFyZy0+bG9jaykpOworICBBU1NFUlRfRVEoUndsb2NrV2FrZXVwSGVscGVyQXJnOjpMT0NLX1JFTEVBU0VELCBhcmctPnByb2dyZXNzKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3VubG9jaygmYXJnLT5sb2NrKSk7CisKKyAgYXJnLT5wcm9ncmVzcyA9IFJ3bG9ja1dha2V1cEhlbHBlckFyZzo6TE9DS19BQ0NFU1NFRDsKK30KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX3J3bG9ja193cml0ZXJfd2FrZXVwX3JlYWRlcikgeworICBSd2xvY2tXYWtldXBIZWxwZXJBcmcgd2FrZXVwX2FyZzsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX2luaXQoJndha2V1cF9hcmcubG9jaywgTlVMTCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfd3Jsb2NrKCZ3YWtldXBfYXJnLmxvY2spKTsKKyAgd2FrZXVwX2FyZy5wcm9ncmVzcyA9IFJ3bG9ja1dha2V1cEhlbHBlckFyZzo6TE9DS19JTklUSUFMSVpFRDsKKyAgd2FrZXVwX2FyZy50aWQgPSAwOworCisgIHB0aHJlYWRfdCB0aHJlYWQ7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLAorICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCogKCopKHZvaWQqKT4ocHRocmVhZF9yd2xvY2tfd3JpdGVyX3dha2V1cF9yZWFkZXJfaGVscGVyKSwgJndha2V1cF9hcmcpKTsKKyAgV2FpdFVudGlsVGhyZWFkU2xlZXAod2FrZXVwX2FyZy50aWQpOworICBBU1NFUlRfRVEoUndsb2NrV2FrZXVwSGVscGVyQXJnOjpMT0NLX1dBSVRJTkcsIHdha2V1cF9hcmcucHJvZ3Jlc3MpOworCisgIHdha2V1cF9hcmcucHJvZ3Jlc3MgPSBSd2xvY2tXYWtldXBIZWxwZXJBcmc6OkxPQ0tfUkVMRUFTRUQ7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja191bmxvY2soJndha2V1cF9hcmcubG9jaykpOworCisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKSk7CisgIEFTU0VSVF9FUShSd2xvY2tXYWtldXBIZWxwZXJBcmc6OkxPQ0tfQUNDRVNTRUQsIHdha2V1cF9hcmcucHJvZ3Jlc3MpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfZGVzdHJveSgmd2FrZXVwX2FyZy5sb2NrKSk7Cit9CisKK2NsYXNzIFJ3bG9ja0tpbmRUZXN0SGVscGVyIHsKKyBwcml2YXRlOgorICBzdHJ1Y3QgVGhyZWFkQXJnIHsKKyAgICBSd2xvY2tLaW5kVGVzdEhlbHBlciogaGVscGVyOworICAgIHN0ZDo6YXRvbWljPHBpZF90PiYgdGlkOworCisgICAgVGhyZWFkQXJnKFJ3bG9ja0tpbmRUZXN0SGVscGVyKiBoZWxwZXIsIHN0ZDo6YXRvbWljPHBpZF90PiYgdGlkKQorICAgICAgOiBoZWxwZXIoaGVscGVyKSwgdGlkKHRpZCkgeyB9CisgIH07CisKKyBwdWJsaWM6CisgIHB0aHJlYWRfcndsb2NrX3QgbG9jazsKKworIHB1YmxpYzoKKyAgUndsb2NrS2luZFRlc3RIZWxwZXIoaW50IGtpbmRfdHlwZSkgeworICAgIEluaXRSd2xvY2soa2luZF90eXBlKTsKKyAgfQorCisgIH5Sd2xvY2tLaW5kVGVzdEhlbHBlcigpIHsKKyAgICBEZXN0cm95Undsb2NrKCk7CisgIH0KKworICB2b2lkIENyZWF0ZVdyaXRlclRocmVhZChwdGhyZWFkX3QmIHRocmVhZCwgc3RkOjphdG9taWM8cGlkX3Q+JiB0aWQpIHsKKyAgICB0aWQgPSAwOworICAgIFRocmVhZEFyZyogYXJnID0gbmV3IFRocmVhZEFyZyh0aGlzLCB0aWQpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqICgqKSh2b2lkKik+KFdyaXRlclRocmVhZEZuKSwgYXJnKSk7CisgIH0KKworICB2b2lkIENyZWF0ZVJlYWRlclRocmVhZChwdGhyZWFkX3QmIHRocmVhZCwgc3RkOjphdG9taWM8cGlkX3Q+JiB0aWQpIHsKKyAgICB0aWQgPSAwOworICAgIFRocmVhZEFyZyogYXJnID0gbmV3IFRocmVhZEFyZyh0aGlzLCB0aWQpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqICgqKSh2b2lkKik+KFJlYWRlclRocmVhZEZuKSwgYXJnKSk7CisgIH0KKworIHByaXZhdGU6CisgIHZvaWQgSW5pdFJ3bG9jayhpbnQga2luZF90eXBlKSB7CisgICAgcHRocmVhZF9yd2xvY2thdHRyX3QgYXR0cjsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2thdHRyX2luaXQoJmF0dHIpKTsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRfbnAoJmF0dHIsIGtpbmRfdHlwZSkpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19pbml0KCZsb2NrLCAmYXR0cikpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja2F0dHJfZGVzdHJveSgmYXR0cikpOworICB9CisKKyAgdm9pZCBEZXN0cm95Undsb2NrKCkgeworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19kZXN0cm95KCZsb2NrKSk7CisgIH0KKworICBzdGF0aWMgdm9pZCBXcml0ZXJUaHJlYWRGbihUaHJlYWRBcmcqIGFyZykgeworICAgIGFyZy0+dGlkID0gZ2V0dGlkKCk7CisKKyAgICBSd2xvY2tLaW5kVGVzdEhlbHBlciogaGVscGVyID0gYXJnLT5oZWxwZXI7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3dybG9jaygmaGVscGVyLT5sb2NrKSk7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3VubG9jaygmaGVscGVyLT5sb2NrKSk7CisgICAgZGVsZXRlIGFyZzsKKyAgfQorCisgIHN0YXRpYyB2b2lkIFJlYWRlclRocmVhZEZuKFRocmVhZEFyZyogYXJnKSB7CisgICAgYXJnLT50aWQgPSBnZXR0aWQoKTsKKworICAgIFJ3bG9ja0tpbmRUZXN0SGVscGVyKiBoZWxwZXIgPSBhcmctPmhlbHBlcjsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfcmRsb2NrKCZoZWxwZXItPmxvY2spKTsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfdW5sb2NrKCZoZWxwZXItPmxvY2spKTsKKyAgICBkZWxldGUgYXJnOworICB9Cit9OworCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfcndsb2NrX2tpbmRfUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1JFQURFUl9OUCkgeworICBSd2xvY2tLaW5kVGVzdEhlbHBlciBoZWxwZXIoUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1JFQURFUl9OUCk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19yZGxvY2soJmhlbHBlci5sb2NrKSk7CisKKyAgcHRocmVhZF90IHdyaXRlcl90aHJlYWQ7CisgIHN0ZDo6YXRvbWljPHBpZF90PiB3cml0ZXJfdGlkOworICBoZWxwZXIuQ3JlYXRlV3JpdGVyVGhyZWFkKHdyaXRlcl90aHJlYWQsIHdyaXRlcl90aWQpOworICBXYWl0VW50aWxUaHJlYWRTbGVlcCh3cml0ZXJfdGlkKTsKKworICBwdGhyZWFkX3QgcmVhZGVyX3RocmVhZDsKKyAgc3RkOjphdG9taWM8cGlkX3Q+IHJlYWRlcl90aWQ7CisgIGhlbHBlci5DcmVhdGVSZWFkZXJUaHJlYWQocmVhZGVyX3RocmVhZCwgcmVhZGVyX3RpZCk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4ocmVhZGVyX3RocmVhZCwgTlVMTCkpOworCisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja191bmxvY2soJmhlbHBlci5sb2NrKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4od3JpdGVyX3RocmVhZCwgTlVMTCkpOworfQorCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfcndsb2NrX2tpbmRfUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1dSSVRFUl9OT05SRUNVUlNJVkVfTlApIHsKKyAgUndsb2NrS2luZFRlc3RIZWxwZXIgaGVscGVyKFBUSFJFQURfUldMT0NLX1BSRUZFUl9XUklURVJfTk9OUkVDVVJTSVZFX05QKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3JkbG9jaygmaGVscGVyLmxvY2spKTsKKworICBwdGhyZWFkX3Qgd3JpdGVyX3RocmVhZDsKKyAgc3RkOjphdG9taWM8cGlkX3Q+IHdyaXRlcl90aWQ7CisgIGhlbHBlci5DcmVhdGVXcml0ZXJUaHJlYWQod3JpdGVyX3RocmVhZCwgd3JpdGVyX3RpZCk7CisgIFdhaXRVbnRpbFRocmVhZFNsZWVwKHdyaXRlcl90aWQpOworCisgIHB0aHJlYWRfdCByZWFkZXJfdGhyZWFkOworICBzdGQ6OmF0b21pYzxwaWRfdD4gcmVhZGVyX3RpZDsKKyAgaGVscGVyLkNyZWF0ZVJlYWRlclRocmVhZChyZWFkZXJfdGhyZWFkLCByZWFkZXJfdGlkKTsKKyAgV2FpdFVudGlsVGhyZWFkU2xlZXAocmVhZGVyX3RpZCk7CisKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfcndsb2NrX3VubG9jaygmaGVscGVyLmxvY2spKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfam9pbih3cml0ZXJfdGhyZWFkLCBOVUxMKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4ocmVhZGVyX3RocmVhZCwgTlVMTCkpOworfQorCiBzdGF0aWMgaW50IGdfb25jZV9mbl9jYWxsX2NvdW50ID0gMDsKIHN0YXRpYyB2b2lkIE9uY2VGbigpIHsKICAgKytnX29uY2VfZm5fY2FsbF9jb3VudDsKQEAgLTcwNSwxNiArOTkwLDE2IEBACiB9CiAKIHN0YXRpYyBpbnQgZ19hdGZvcmtfcHJlcGFyZV9jYWxscyA9IDA7Ci1zdGF0aWMgdm9pZCBBdEZvcmtQcmVwYXJlMSgpIHsgZ19hdGZvcmtfcHJlcGFyZV9jYWxscyA9IChnX2F0Zm9ya19wcmVwYXJlX2NhbGxzIDw8IDQpIHwgMTsgfQotc3RhdGljIHZvaWQgQXRGb3JrUHJlcGFyZTIoKSB7IGdfYXRmb3JrX3ByZXBhcmVfY2FsbHMgPSAoZ19hdGZvcmtfcHJlcGFyZV9jYWxscyA8PCA0KSB8IDI7IH0KK3N0YXRpYyB2b2lkIEF0Rm9ya1ByZXBhcmUxKCkgeyBnX2F0Zm9ya19wcmVwYXJlX2NhbGxzID0gKGdfYXRmb3JrX3ByZXBhcmVfY2FsbHMgKiAxMCkgKyAxOyB9CitzdGF0aWMgdm9pZCBBdEZvcmtQcmVwYXJlMigpIHsgZ19hdGZvcmtfcHJlcGFyZV9jYWxscyA9IChnX2F0Zm9ya19wcmVwYXJlX2NhbGxzICogMTApICsgMjsgfQogc3RhdGljIGludCBnX2F0Zm9ya19wYXJlbnRfY2FsbHMgPSAwOwotc3RhdGljIHZvaWQgQXRGb3JrUGFyZW50MSgpIHsgZ19hdGZvcmtfcGFyZW50X2NhbGxzID0gKGdfYXRmb3JrX3BhcmVudF9jYWxscyA8PCA0KSB8IDE7IH0KLXN0YXRpYyB2b2lkIEF0Rm9ya1BhcmVudDIoKSB7IGdfYXRmb3JrX3BhcmVudF9jYWxscyA9IChnX2F0Zm9ya19wYXJlbnRfY2FsbHMgPDwgNCkgfCAyOyB9CitzdGF0aWMgdm9pZCBBdEZvcmtQYXJlbnQxKCkgeyBnX2F0Zm9ya19wYXJlbnRfY2FsbHMgPSAoZ19hdGZvcmtfcGFyZW50X2NhbGxzICogMTApICsgMTsgfQorc3RhdGljIHZvaWQgQXRGb3JrUGFyZW50MigpIHsgZ19hdGZvcmtfcGFyZW50X2NhbGxzID0gKGdfYXRmb3JrX3BhcmVudF9jYWxscyAqIDEwKSArIDI7IH0KIHN0YXRpYyBpbnQgZ19hdGZvcmtfY2hpbGRfY2FsbHMgPSAwOwotc3RhdGljIHZvaWQgQXRGb3JrQ2hpbGQxKCkgeyBnX2F0Zm9ya19jaGlsZF9jYWxscyA9IChnX2F0Zm9ya19jaGlsZF9jYWxscyA8PCA0KSB8IDE7IH0KLXN0YXRpYyB2b2lkIEF0Rm9ya0NoaWxkMigpIHsgZ19hdGZvcmtfY2hpbGRfY2FsbHMgPSAoZ19hdGZvcmtfY2hpbGRfY2FsbHMgPDwgNCkgfCAyOyB9CitzdGF0aWMgdm9pZCBBdEZvcmtDaGlsZDEoKSB7IGdfYXRmb3JrX2NoaWxkX2NhbGxzID0gKGdfYXRmb3JrX2NoaWxkX2NhbGxzICogMTApICsgMTsgfQorc3RhdGljIHZvaWQgQXRGb3JrQ2hpbGQyKCkgeyBnX2F0Zm9ya19jaGlsZF9jYWxscyA9IChnX2F0Zm9ya19jaGlsZF9jYWxscyAqIDEwKSArIDI7IH0KIAotVEVTVChwdGhyZWFkLCBwdGhyZWFkX2F0Zm9yaykgeworVEVTVChwdGhyZWFkLCBwdGhyZWFkX2F0Zm9ya19zbW9rZSkgewogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9hdGZvcmsoQXRGb3JrUHJlcGFyZTEsIEF0Rm9ya1BhcmVudDEsIEF0Rm9ya0NoaWxkMSkpOwogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9hdGZvcmsoQXRGb3JrUHJlcGFyZTIsIEF0Rm9ya1BhcmVudDIsIEF0Rm9ya0NoaWxkMikpOwogCkBAIC03MjMsMTMgKzEwMDgsNzEgQEAKIAogICAvLyBDaGlsZCBhbmQgcGFyZW50IGNhbGxzIGFyZSBtYWRlIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgcmVnaXN0ZXJlZC4KICAgaWYgKHBpZCA9PSAwKSB7Ci0gICAgQVNTRVJUX0VRKDB4MTIsIGdfYXRmb3JrX2NoaWxkX2NhbGxzKTsKKyAgICBBU1NFUlRfRVEoMTIsIGdfYXRmb3JrX2NoaWxkX2NhbGxzKTsKICAgICBfZXhpdCgwKTsKICAgfQotICBBU1NFUlRfRVEoMHgxMiwgZ19hdGZvcmtfcGFyZW50X2NhbGxzKTsKKyAgQVNTRVJUX0VRKDEyLCBnX2F0Zm9ya19wYXJlbnRfY2FsbHMpOwogCiAgIC8vIFByZXBhcmUgY2FsbHMgYXJlIG1hZGUgaW4gdGhlIHJldmVyc2Ugb3JkZXIuCi0gIEFTU0VSVF9FUSgweDIxLCBnX2F0Zm9ya19wcmVwYXJlX2NhbGxzKTsKKyAgQVNTRVJUX0VRKDIxLCBnX2F0Zm9ya19wcmVwYXJlX2NhbGxzKTsKKyAgaW50IHN0YXR1czsKKyAgQVNTRVJUX0VRKHBpZCwgd2FpdHBpZChwaWQsICZzdGF0dXMsIDApKTsKK30KKworc3RhdGljIHZvaWQgQXRGb3JrUHJlcGFyZTMoKSB7IGdfYXRmb3JrX3ByZXBhcmVfY2FsbHMgPSAoZ19hdGZvcmtfcHJlcGFyZV9jYWxscyAqIDEwKSArIDM7IH0KK3N0YXRpYyB2b2lkIEF0Rm9ya1ByZXBhcmU0KCkgeyBnX2F0Zm9ya19wcmVwYXJlX2NhbGxzID0gKGdfYXRmb3JrX3ByZXBhcmVfY2FsbHMgKiAxMCkgKyA0OyB9CisKK3N0YXRpYyB2b2lkIEF0Rm9ya1BhcmVudDMoKSB7IGdfYXRmb3JrX3BhcmVudF9jYWxscyA9IChnX2F0Zm9ya19wYXJlbnRfY2FsbHMgKiAxMCkgKyAzOyB9CitzdGF0aWMgdm9pZCBBdEZvcmtQYXJlbnQ0KCkgeyBnX2F0Zm9ya19wYXJlbnRfY2FsbHMgPSAoZ19hdGZvcmtfcGFyZW50X2NhbGxzICogMTApICsgNDsgfQorCitzdGF0aWMgdm9pZCBBdEZvcmtDaGlsZDMoKSB7IGdfYXRmb3JrX2NoaWxkX2NhbGxzID0gKGdfYXRmb3JrX2NoaWxkX2NhbGxzICogMTApICsgMzsgfQorc3RhdGljIHZvaWQgQXRGb3JrQ2hpbGQ0KCkgeyBnX2F0Zm9ya19jaGlsZF9jYWxscyA9IChnX2F0Zm9ya19jaGlsZF9jYWxscyAqIDEwKSArIDQ7IH0KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX2F0Zm9ya193aXRoX2RsY2xvc2UpIHsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfYXRmb3JrKEF0Rm9ya1ByZXBhcmUxLCBBdEZvcmtQYXJlbnQxLCBBdEZvcmtDaGlsZDEpKTsKKworICB2b2lkKiBoYW5kbGUgPSBkbG9wZW4oImxpYnRlc3RfcHRocmVhZF9hdGZvcmsuc28iLCBSVExEX05PVyB8IFJUTERfTE9DQUwpOworICBBU1NFUlRfVFJVRShoYW5kbGUgIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICB0eXBlZGVmIGludCAoKmZuX3QpKHZvaWQgKCopKHZvaWQpLCB2b2lkICgqKSh2b2lkKSwgdm9pZCAoKikodm9pZCkpOworICBmbl90IGZuID0gcmVpbnRlcnByZXRfY2FzdDxmbl90PihkbHN5bShoYW5kbGUsICJwcm94eV9wdGhyZWFkX2F0Zm9yayIpKTsKKyAgQVNTRVJUX1RSVUUoZm4gIT0gbnVsbHB0cikgPDwgZGxlcnJvcigpOworICAvLyB0aGUgbGlicmFyeSByZWdpc3RlcnMgMiBhZGRpdGlvbmFsIGF0Zm9yayBoYW5kbGVycyBpbiBhIGNvbnN0cnVjdG9yCisgIEFTU0VSVF9FUSgwLCBmbihBdEZvcmtQcmVwYXJlMiwgQXRGb3JrUGFyZW50MiwgQXRGb3JrQ2hpbGQyKSk7CisgIEFTU0VSVF9FUSgwLCBmbihBdEZvcmtQcmVwYXJlMywgQXRGb3JrUGFyZW50MywgQXRGb3JrQ2hpbGQzKSk7CisKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfYXRmb3JrKEF0Rm9ya1ByZXBhcmU0LCBBdEZvcmtQYXJlbnQ0LCBBdEZvcmtDaGlsZDQpKTsKKworICBpbnQgcGlkID0gZm9yaygpOworCisgIEFTU0VSVF9ORSgtMSwgcGlkKSA8PCBzdHJlcnJvcihlcnJubyk7CisKKyAgaWYgKHBpZCA9PSAwKSB7CisgICAgQVNTRVJUX0VRKDEyMzQsIGdfYXRmb3JrX2NoaWxkX2NhbGxzKTsKKyAgICBfZXhpdCgwKTsKKyAgfQorCisgIEFTU0VSVF9FUSgxMjM0LCBnX2F0Zm9ya19wYXJlbnRfY2FsbHMpOworICBBU1NFUlRfRVEoNDMyMSwgZ19hdGZvcmtfcHJlcGFyZV9jYWxscyk7CisKKyAgRVhQRUNUX0VRKDAsIGRsY2xvc2UoaGFuZGxlKSk7CisgIGdfYXRmb3JrX3ByZXBhcmVfY2FsbHMgPSBnX2F0Zm9ya19wYXJlbnRfY2FsbHMgPSBnX2F0Zm9ya19jaGlsZF9jYWxscyA9IDA7CisKKyAgaW50IHN0YXR1czsKKyAgQVNTRVJUX0VRKHBpZCwgd2FpdHBpZChwaWQsICZzdGF0dXMsIDApKTsKKworICBwaWQgPSBmb3JrKCk7CisKKyAgQVNTRVJUX05FKC0xLCBwaWQpIDw8IHN0cmVycm9yKGVycm5vKTsKKworICBpZiAocGlkID09IDApIHsKKyAgICBBU1NFUlRfRVEoMTQsIGdfYXRmb3JrX2NoaWxkX2NhbGxzKTsKKyAgICBfZXhpdCgwKTsKKyAgfQorCisgIEFTU0VSVF9FUSgxNCwgZ19hdGZvcmtfcGFyZW50X2NhbGxzKTsKKyAgQVNTRVJUX0VRKDQxLCBnX2F0Zm9ya19wcmVwYXJlX2NhbGxzKTsKKworICBBU1NFUlRfRVEocGlkLCB3YWl0cGlkKHBpZCwgJnN0YXR1cywgMCkpOwogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfYXR0cl9nZXRzY29wZSkgewpAQCAtNzcxLDcgKzExMTQsNyBAQAogfQogCiBURVNUKHB0aHJlYWQsIHB0aHJlYWRfY29uZF9icm9hZGNhc3RfX3ByZXNlcnZlc19jb25kYXR0cl9mbGFncykgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykgLy8gVGhpcyB0ZXN0cyBhIGJpb25pYyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuCisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQogICBwdGhyZWFkX2NvbmRhdHRyX3QgYXR0cjsKICAgcHRocmVhZF9jb25kYXR0cl9pbml0KCZhdHRyKTsKIApAQCAtNzg0LDE2ICsxMTI3LDc4IEBACiAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NvbmRfc2lnbmFsKCZjb25kX3ZhcikpOwogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jb25kX2Jyb2FkY2FzdCgmY29uZF92YXIpKTsKIAotICBhdHRyID0gc3RhdGljX2Nhc3Q8cHRocmVhZF9jb25kYXR0cl90Pihjb25kX3Zhci52YWx1ZSk7CisgIGF0dHIgPSBzdGF0aWNfY2FzdDxwdGhyZWFkX2NvbmRhdHRyX3Q+KCpyZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oY29uZF92YXIuX19wcml2YXRlKSk7CiAgIGNsb2NraWRfdCBjbG9jazsKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY29uZGF0dHJfZ2V0Y2xvY2soJmF0dHIsICZjbG9jaykpOwogICBBU1NFUlRfRVEoQ0xPQ0tfTU9OT1RPTklDLCBjbG9jayk7CiAgIGludCBwc2hhcmVkOwogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jb25kYXR0cl9nZXRwc2hhcmVkKCZhdHRyLCAmcHNoYXJlZCkpOwogICBBU1NFUlRfRVEoUFRIUkVBRF9QUk9DRVNTX1NIQVJFRCwgcHNoYXJlZCk7Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KKyNlbHNlICAvLyAhZGVmaW5lZChfX0JJT05JQ19fKQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3RzIGEgYmlvbmljIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiI7CisjZW5kaWYgIC8vICFkZWZpbmVkKF9fQklPTklDX18pCit9CisKK2NsYXNzIHB0aHJlYWRfQ29uZFdha2V1cFRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKKyBwcm90ZWN0ZWQ6CisgIHB0aHJlYWRfbXV0ZXhfdCBtdXRleDsKKyAgcHRocmVhZF9jb25kX3QgY29uZDsKKworICBlbnVtIFByb2dyZXNzIHsKKyAgICBJTklUSUFMSVpFRCwKKyAgICBXQUlUSU5HLAorICAgIFNJR05BTEVELAorICAgIEZJTklTSEVELAorICB9OworICBzdGQ6OmF0b21pYzxQcm9ncmVzcz4gcHJvZ3Jlc3M7CisgIHB0aHJlYWRfdCB0aHJlYWQ7CisKKyBwcm90ZWN0ZWQ6CisgIHZpcnR1YWwgdm9pZCBTZXRVcCgpIHsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF9pbml0KCZtdXRleCwgTlVMTCkpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NvbmRfaW5pdCgmY29uZCwgTlVMTCkpOworICAgIHByb2dyZXNzID0gSU5JVElBTElaRUQ7CisgICAgQVNTRVJUX0VRKDAsCisgICAgICBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCByZWludGVycHJldF9jYXN0PHZvaWQqICgqKSh2b2lkKik+KFdhaXRUaHJlYWRGbiksIHRoaXMpKTsKKyAgfQorCisgIHZpcnR1YWwgdm9pZCBUZWFyRG93bigpIHsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCkpOworICAgIEFTU0VSVF9FUShGSU5JU0hFRCwgcHJvZ3Jlc3MpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NvbmRfZGVzdHJveSgmY29uZCkpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X2Rlc3Ryb3koJm11dGV4KSk7CisgIH0KKworICB2b2lkIFNsZWVwVW50aWxQcm9ncmVzcyhQcm9ncmVzcyBleHBlY3RlZF9wcm9ncmVzcykgeworICAgIHdoaWxlIChwcm9ncmVzcyAhPSBleHBlY3RlZF9wcm9ncmVzcykgeworICAgICAgdXNsZWVwKDUwMDApOworICAgIH0KKyAgICB1c2xlZXAoNTAwMCk7CisgIH0KKworIHByaXZhdGU6CisgIHN0YXRpYyB2b2lkIFdhaXRUaHJlYWRGbihwdGhyZWFkX0NvbmRXYWtldXBUZXN0KiB0ZXN0KSB7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhfbG9jaygmdGVzdC0+bXV0ZXgpKTsKKyAgICB0ZXN0LT5wcm9ncmVzcyA9IFdBSVRJTkc7CisgICAgd2hpbGUgKHRlc3QtPnByb2dyZXNzID09IFdBSVRJTkcpIHsKKyAgICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NvbmRfd2FpdCgmdGVzdC0+Y29uZCwgJnRlc3QtPm11dGV4KSk7CisgICAgfQorICAgIEFTU0VSVF9FUShTSUdOQUxFRCwgdGVzdC0+cHJvZ3Jlc3MpOworICAgIHRlc3QtPnByb2dyZXNzID0gRklOSVNIRUQ7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0ZXN0LT5tdXRleCkpOworICB9Cit9OworCitURVNUX0YocHRocmVhZF9Db25kV2FrZXVwVGVzdCwgc2lnbmFsKSB7CisgIFNsZWVwVW50aWxQcm9ncmVzcyhXQUlUSU5HKTsKKyAgcHJvZ3Jlc3MgPSBTSUdOQUxFRDsKKyAgcHRocmVhZF9jb25kX3NpZ25hbCgmY29uZCk7Cit9CisKK1RFU1RfRihwdGhyZWFkX0NvbmRXYWtldXBUZXN0LCBicm9hZGNhc3QpIHsKKyAgU2xlZXBVbnRpbFByb2dyZXNzKFdBSVRJTkcpOworICBwcm9ncmVzcyA9IFNJR05BTEVEOworICBwdGhyZWFkX2NvbmRfYnJvYWRjYXN0KCZjb25kKTsKIH0KIAogVEVTVChwdGhyZWFkLCBwdGhyZWFkX211dGV4X3RpbWVkbG9jaykgewpAQCAtOTA3LDMgKzEzMTIsMzIxIEBACiAgIEVYUEVDVF9FUShzdGFja19zaXplLCBzdGFja19zaXplMik7CiAgIEFTU0VSVF9FUSg2NjY2VSwgc3RhY2tfc2l6ZSk7CiB9CisKK3N0YXRpYyB2b2lkIHB0aHJlYWRfYXR0cl9nZXRzdGFja18xODkwODA2Ml9oZWxwZXIodm9pZCopIHsKKyAgY2hhciBsb2NhbF92YXJpYWJsZTsKKyAgcHRocmVhZF9hdHRyX3QgYXR0cmlidXRlczsKKyAgcHRocmVhZF9nZXRhdHRyX25wKHB0aHJlYWRfc2VsZigpLCAmYXR0cmlidXRlcyk7CisgIHZvaWQqIHN0YWNrX2Jhc2U7CisgIHNpemVfdCBzdGFja19zaXplOworICBwdGhyZWFkX2F0dHJfZ2V0c3RhY2soJmF0dHJpYnV0ZXMsICZzdGFja19iYXNlLCAmc3RhY2tfc2l6ZSk7CisKKyAgLy8gVGVzdCB3aGV0aGVyICZsb2NhbF92YXJpYWJsZSBpcyBpbiBbc3RhY2tfYmFzZSwgc3RhY2tfYmFzZSArIHN0YWNrX3NpemUpLgorICBBU1NFUlRfTEUocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc3RhY2tfYmFzZSksICZsb2NhbF92YXJpYWJsZSk7CisgIEFTU0VSVF9MVCgmbG9jYWxfdmFyaWFibGUsIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHN0YWNrX2Jhc2UpICsgc3RhY2tfc2l6ZSk7Cit9CisKKy8vIENoZWNrIHdoZXRoZXIgc29tZXRoaW5nIG9uIHN0YWNrIGlzIGluIHRoZSByYW5nZSBvZgorLy8gW3N0YWNrX2Jhc2UsIHN0YWNrX2Jhc2UgKyBzdGFja19zaXplKS4gc2VlIGIvMTg5MDgwNjIuCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfYXR0cl9nZXRzdGFja18xODkwODA2MikgeworICBwdGhyZWFkX3QgdDsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0LCBOVUxMLAorICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKiAoKikodm9pZCopPihwdGhyZWFkX2F0dHJfZ2V0c3RhY2tfMTg5MDgwNjJfaGVscGVyKSwKKyAgICAgICAgICAgIE5VTEwpKTsKKyAgcHRocmVhZF9qb2luKHQsIE5VTEwpOworfQorCisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorc3RhdGljIHZvaWQqIHB0aHJlYWRfZ2V0dGlkX25wX2hlbHBlcih2b2lkKiBhcmcpIHsKKyAgKnJlaW50ZXJwcmV0X2Nhc3Q8cGlkX3QqPihhcmcpID0gZ2V0dGlkKCk7CisgIHJldHVybiBOVUxMOworfQorI2VuZGlmCisKK1RFU1QocHRocmVhZCwgcHRocmVhZF9nZXR0aWRfbnApIHsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgIEFTU0VSVF9FUShnZXR0aWQoKSwgcHRocmVhZF9nZXR0aWRfbnAocHRocmVhZF9zZWxmKCkpKTsKKworICBwaWRfdCB0X2dldHRpZF9yZXN1bHQ7CisgIHB0aHJlYWRfdCB0OworICBwdGhyZWFkX2NyZWF0ZSgmdCwgTlVMTCwgcHRocmVhZF9nZXR0aWRfbnBfaGVscGVyLCAmdF9nZXR0aWRfcmVzdWx0KTsKKworICBwaWRfdCB0X3B0aHJlYWRfZ2V0dGlkX25wX3Jlc3VsdCA9IHB0aHJlYWRfZ2V0dGlkX25wKHQpOworCisgIHB0aHJlYWRfam9pbih0LCBOVUxMKTsKKworICBBU1NFUlRfRVEodF9nZXR0aWRfcmVzdWx0LCB0X3B0aHJlYWRfZ2V0dGlkX25wX3Jlc3VsdCk7CisjZWxzZQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKKyNlbmRpZgorfQorCitzdGF0aWMgc2l6ZV90IGNsZWFudXBfY291bnRlciA9IDA7CisKK3N0YXRpYyB2b2lkIEFib3J0Q2xlYW51cFJvdXRpbmUodm9pZCopIHsKKyAgYWJvcnQoKTsKK30KKworc3RhdGljIHZvaWQgQ291bnRDbGVhbnVwUm91dGluZSh2b2lkKikgeworICArK2NsZWFudXBfY291bnRlcjsKK30KKworc3RhdGljIHZvaWQgUHRocmVhZENsZWFudXBUZXN0ZXIoKSB7CisgIHB0aHJlYWRfY2xlYW51cF9wdXNoKENvdW50Q2xlYW51cFJvdXRpbmUsIE5VTEwpOworICBwdGhyZWFkX2NsZWFudXBfcHVzaChDb3VudENsZWFudXBSb3V0aW5lLCBOVUxMKTsKKyAgcHRocmVhZF9jbGVhbnVwX3B1c2goQWJvcnRDbGVhbnVwUm91dGluZSwgTlVMTCk7CisKKyAgcHRocmVhZF9jbGVhbnVwX3BvcCgwKTsgLy8gUG9wIHRoZSBhYm9ydCB3aXRob3V0IGV4ZWN1dGluZyBpdC4KKyAgcHRocmVhZF9jbGVhbnVwX3BvcCgxKTsgLy8gUG9wIG9uZSBjb3VudCB3aGlsZSBleGVjdXRpbmcgaXQuCisgIEFTU0VSVF9FUSgxVSwgY2xlYW51cF9jb3VudGVyKTsKKyAgLy8gRXhpdCB3aGlsZSB0aGUgb3RoZXIgY291bnQgaXMgc3RpbGwgb24gdGhlIGNsZWFudXAgc3RhY2suCisgIHB0aHJlYWRfZXhpdChOVUxMKTsKKworICAvLyBDYWxscyB0byBwdGhyZWFkX2NsZWFudXBfcG9wL3B0aHJlYWRfY2xlYW51cF9wdXNoIG11c3QgYWx3YXlzIGJlIGJhbGFuY2VkLgorICBwdGhyZWFkX2NsZWFudXBfcG9wKDApOworfQorCitzdGF0aWMgdm9pZCogUHRocmVhZENsZWFudXBTdGFydFJvdXRpbmUodm9pZCopIHsKKyAgUHRocmVhZENsZWFudXBUZXN0ZXIoKTsKKyAgcmV0dXJuIE5VTEw7Cit9CisKK1RFU1QocHRocmVhZCwgcHRocmVhZF9jbGVhbnVwX3B1c2hfX3B0aHJlYWRfY2xlYW51cF9wb3ApIHsKKyAgcHRocmVhZF90IHQ7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdCwgTlVMTCwgUHRocmVhZENsZWFudXBTdGFydFJvdXRpbmUsIE5VTEwpKTsKKyAgcHRocmVhZF9qb2luKHQsIE5VTEwpOworICBBU1NFUlRfRVEoMlUsIGNsZWFudXBfY291bnRlcik7Cit9CisKK1RFU1QocHRocmVhZCwgUFRIUkVBRF9NVVRFWF9ERUZBVUxUX2lzX1BUSFJFQURfTVVURVhfTk9STUFMKSB7CisgIEFTU0VSVF9FUShQVEhSRUFEX01VVEVYX05PUk1BTCwgUFRIUkVBRF9NVVRFWF9ERUZBVUxUKTsKK30KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX211dGV4YXR0cl9nZXR0eXBlKSB7CisgIHB0aHJlYWRfbXV0ZXhhdHRyX3QgYXR0cjsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhhdHRyX2luaXQoJmF0dHIpKTsKKworICBpbnQgYXR0cl90eXBlOworCisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZhdHRyLCBQVEhSRUFEX01VVEVYX05PUk1BTCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleGF0dHJfZ2V0dHlwZSgmYXR0ciwgJmF0dHJfdHlwZSkpOworICBBU1NFUlRfRVEoUFRIUkVBRF9NVVRFWF9OT1JNQUwsIGF0dHJfdHlwZSk7CisKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGUoJmF0dHIsIFBUSFJFQURfTVVURVhfRVJST1JDSEVDSykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleGF0dHJfZ2V0dHlwZSgmYXR0ciwgJmF0dHJfdHlwZSkpOworICBBU1NFUlRfRVEoUFRIUkVBRF9NVVRFWF9FUlJPUkNIRUNLLCBhdHRyX3R5cGUpOworCisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZhdHRyLCBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleGF0dHJfZ2V0dHlwZSgmYXR0ciwgJmF0dHJfdHlwZSkpOworICBBU1NFUlRfRVEoUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUsIGF0dHJfdHlwZSk7CisKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhhdHRyX2Rlc3Ryb3koJmF0dHIpKTsKK30KKworc3RydWN0IFB0aHJlYWRNdXRleCB7CisgIHB0aHJlYWRfbXV0ZXhfdCBsb2NrOworCisgIFB0aHJlYWRNdXRleChpbnQgbXV0ZXhfdHlwZSkgeworICAgIGluaXQobXV0ZXhfdHlwZSk7CisgIH0KKworICB+UHRocmVhZE11dGV4KCkgeworICAgIGRlc3Ryb3koKTsKKyAgfQorCisgcHJpdmF0ZToKKyAgdm9pZCBpbml0KGludCBtdXRleF90eXBlKSB7CisgICAgcHRocmVhZF9tdXRleGF0dHJfdCBhdHRyOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4YXR0cl9pbml0KCZhdHRyKSk7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGUoJmF0dHIsIG11dGV4X3R5cGUpKTsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF9pbml0KCZsb2NrLCAmYXR0cikpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4YXR0cl9kZXN0cm95KCZhdHRyKSk7CisgIH0KKworICB2b2lkIGRlc3Ryb3koKSB7CisgICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmbG9jaykpOworICB9CisKKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFB0aHJlYWRNdXRleCk7Cit9OworCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfbXV0ZXhfbG9ja19OT1JNQUwpIHsKKyAgUHRocmVhZE11dGV4IG0oUFRIUkVBRF9NVVRFWF9OT1JNQUwpOworCisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X2xvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF91bmxvY2soJm0ubG9jaykpOworfQorCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfbXV0ZXhfbG9ja19FUlJPUkNIRUNLKSB7CisgIFB0aHJlYWRNdXRleCBtKFBUSFJFQURfTVVURVhfRVJST1JDSEVDSyk7CisKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhfbG9jaygmbS5sb2NrKSk7CisgIEFTU0VSVF9FUShFREVBRExLLCBwdGhyZWFkX211dGV4X2xvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF91bmxvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF90cnlsb2NrKCZtLmxvY2spKTsKKyAgQVNTRVJUX0VRKEVCVVNZLCBwdGhyZWFkX211dGV4X3RyeWxvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF91bmxvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoRVBFUk0sIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtLmxvY2spKTsKK30KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX211dGV4X2xvY2tfUkVDVVJTSVZFKSB7CisgIFB0aHJlYWRNdXRleCBtKFBUSFJFQURfTVVURVhfUkVDVVJTSVZFKTsKKworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF9sb2NrKCZtLmxvY2spKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhfbG9jaygmbS5sb2NrKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X3VubG9jaygmbS5sb2NrKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X3VubG9jaygmbS5sb2NrKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X3RyeWxvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF91bmxvY2soJm0ubG9jaykpOworICBBU1NFUlRfRVEoRVBFUk0sIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtLmxvY2spKTsKK30KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX211dGV4X2luaXRfc2FtZV9hc19zdGF0aWNfaW5pdGlhbGl6ZXJzKSB7CisgIHB0aHJlYWRfbXV0ZXhfdCBsb2NrX25vcm1hbCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7CisgIFB0aHJlYWRNdXRleCBtMShQVEhSRUFEX01VVEVYX05PUk1BTCk7CisgIEFTU0VSVF9FUSgwLCBtZW1jbXAoJmxvY2tfbm9ybWFsLCAmbTEubG9jaywgc2l6ZW9mKHB0aHJlYWRfbXV0ZXhfdCkpKTsKKyAgcHRocmVhZF9tdXRleF9kZXN0cm95KCZsb2NrX25vcm1hbCk7CisKKyAgcHRocmVhZF9tdXRleF90IGxvY2tfZXJyb3JjaGVjayA9IFBUSFJFQURfRVJST1JDSEVDS19NVVRFWF9JTklUSUFMSVpFUl9OUDsKKyAgUHRocmVhZE11dGV4IG0yKFBUSFJFQURfTVVURVhfRVJST1JDSEVDSyk7CisgIEFTU0VSVF9FUSgwLCBtZW1jbXAoJmxvY2tfZXJyb3JjaGVjaywgJm0yLmxvY2ssIHNpemVvZihwdGhyZWFkX211dGV4X3QpKSk7CisgIHB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmbG9ja19lcnJvcmNoZWNrKTsKKworICBwdGhyZWFkX211dGV4X3QgbG9ja19yZWN1cnNpdmUgPSBQVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWF9JTklUSUFMSVpFUl9OUDsKKyAgUHRocmVhZE11dGV4IG0zKFBUSFJFQURfTVVURVhfUkVDVVJTSVZFKTsKKyAgQVNTRVJUX0VRKDAsIG1lbWNtcCgmbG9ja19yZWN1cnNpdmUsICZtMy5sb2NrLCBzaXplb2YocHRocmVhZF9tdXRleF90KSkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF9kZXN0cm95KCZsb2NrX3JlY3Vyc2l2ZSkpOworfQorY2xhc3MgTXV0ZXhXYWtldXBIZWxwZXIgeworIHByaXZhdGU6CisgIFB0aHJlYWRNdXRleCBtOworICBlbnVtIFByb2dyZXNzIHsKKyAgICBMT0NLX0lOSVRJQUxJWkVELAorICAgIExPQ0tfV0FJVElORywKKyAgICBMT0NLX1JFTEVBU0VELAorICAgIExPQ0tfQUNDRVNTRUQKKyAgfTsKKyAgc3RkOjphdG9taWM8UHJvZ3Jlc3M+IHByb2dyZXNzOworICBzdGQ6OmF0b21pYzxwaWRfdD4gdGlkOworCisgIHN0YXRpYyB2b2lkIHRocmVhZF9mbihNdXRleFdha2V1cEhlbHBlciogaGVscGVyKSB7CisgICAgaGVscGVyLT50aWQgPSBnZXR0aWQoKTsKKyAgICBBU1NFUlRfRVEoTE9DS19JTklUSUFMSVpFRCwgaGVscGVyLT5wcm9ncmVzcyk7CisgICAgaGVscGVyLT5wcm9ncmVzcyA9IExPQ0tfV0FJVElORzsKKworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X2xvY2soJmhlbHBlci0+bS5sb2NrKSk7CisgICAgQVNTRVJUX0VRKExPQ0tfUkVMRUFTRUQsIGhlbHBlci0+cHJvZ3Jlc3MpOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X3VubG9jaygmaGVscGVyLT5tLmxvY2spKTsKKworICAgIGhlbHBlci0+cHJvZ3Jlc3MgPSBMT0NLX0FDQ0VTU0VEOworICB9CisKKyBwdWJsaWM6CisgIE11dGV4V2FrZXVwSGVscGVyKGludCBtdXRleF90eXBlKSA6IG0obXV0ZXhfdHlwZSkgeworICB9CisKKyAgdm9pZCB0ZXN0KCkgeworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X2xvY2soJm0ubG9jaykpOworICAgIHByb2dyZXNzID0gTE9DS19JTklUSUFMSVpFRDsKKyAgICB0aWQgPSAwOworCisgICAgcHRocmVhZF90IHRocmVhZDsKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwKKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCogKCopKHZvaWQqKT4oTXV0ZXhXYWtldXBIZWxwZXI6OnRocmVhZF9mbiksIHRoaXMpKTsKKworICAgIFdhaXRVbnRpbFRocmVhZFNsZWVwKHRpZCk7CisgICAgQVNTRVJUX0VRKExPQ0tfV0FJVElORywgcHJvZ3Jlc3MpOworCisgICAgcHJvZ3Jlc3MgPSBMT0NLX1JFTEVBU0VEOworICAgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X3VubG9jaygmbS5sb2NrKSk7CisKKyAgICBBU1NFUlRfRVEoMCwgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCkpOworICAgIEFTU0VSVF9FUShMT0NLX0FDQ0VTU0VELCBwcm9ncmVzcyk7CisgIH0KK307CisKK1RFU1QocHRocmVhZCwgcHRocmVhZF9tdXRleF9OT1JNQUxfd2FrZXVwKSB7CisgIE11dGV4V2FrZXVwSGVscGVyIGhlbHBlcihQVEhSRUFEX01VVEVYX05PUk1BTCk7CisgIGhlbHBlci50ZXN0KCk7Cit9CisKK1RFU1QocHRocmVhZCwgcHRocmVhZF9tdXRleF9FUlJPUkNIRUNLX3dha2V1cCkgeworICBNdXRleFdha2V1cEhlbHBlciBoZWxwZXIoUFRIUkVBRF9NVVRFWF9FUlJPUkNIRUNLKTsKKyAgaGVscGVyLnRlc3QoKTsKK30KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX211dGV4X1JFQ1VSU0lWRV93YWtldXApIHsKKyAgTXV0ZXhXYWtldXBIZWxwZXIgaGVscGVyKFBUSFJFQURfTVVURVhfUkVDVVJTSVZFKTsKKyAgaGVscGVyLnRlc3QoKTsKK30KKworVEVTVChwdGhyZWFkLCBwdGhyZWFkX211dGV4X293bmVyX3RpZF9saW1pdCkgeworI2lmIGRlZmluZWQoX19CSU9OSUNfXykgJiYgIWRlZmluZWQoX19MUDY0X18pCisgIEZJTEUqIGZwID0gZm9wZW4oIi9wcm9jL3N5cy9rZXJuZWwvcGlkX21heCIsICJyIik7CisgIEFTU0VSVF9UUlVFKGZwICE9IE5VTEwpOworICBsb25nIHBpZF9tYXg7CisgIEFTU0VSVF9FUSgxLCBmc2NhbmYoZnAsICIlbGQiLCAmcGlkX21heCkpOworICBmY2xvc2UoZnApOworICAvLyBCaW9uaWMncyBwdGhyZWFkX211dGV4IGltcGxlbWVudGF0aW9uIG9uIDMyLWJpdCBkZXZpY2VzIHVzZXMgMTYgYml0cyB0byByZXByZXNlbnQgb3duZXIgdGlkLgorICBBU1NFUlRfTEUocGlkX21heCwgNjU1MzYpOworI2Vsc2UKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZyBhcyAzMi1iaXQgdGlkIGlzIHN1cHBvcnRlZCBieSBwdGhyZWFkX211dGV4LlxuIjsKKyNlbmRpZgorfQorCitjbGFzcyBTdHJpY3RBbGlnbm1lbnRBbGxvY2F0b3IgeworIHB1YmxpYzoKKyAgdm9pZCogYWxsb2NhdGUoc2l6ZV90IHNpemUsIHNpemVfdCBhbGlnbm1lbnQpIHsKKyAgICBjaGFyKiBwID0gbmV3IGNoYXJbc2l6ZSArIGFsaWdubWVudCAqIDJdOworICAgIGFsbG9jYXRlZF9hcnJheS5wdXNoX2JhY2socCk7CisgICAgd2hpbGUgKCFpc19zdHJpY3RfYWxpZ25lZChwLCBhbGlnbm1lbnQpKSB7CisgICAgICArK3A7CisgICAgfQorICAgIHJldHVybiBwOworICB9CisKKyAgflN0cmljdEFsaWdubWVudEFsbG9jYXRvcigpIHsKKyAgICBmb3IgKGF1dG8mIHAgOiBhbGxvY2F0ZWRfYXJyYXkpIHsKKyAgICAgIGRlbGV0ZSBbXSBwOworICAgIH0KKyAgfQorCisgcHJpdmF0ZToKKyAgYm9vbCBpc19zdHJpY3RfYWxpZ25lZChjaGFyKiBwLCBzaXplX3QgYWxpZ25tZW50KSB7CisgICAgcmV0dXJuIChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgJSAoYWxpZ25tZW50ICogMikpID09IGFsaWdubWVudDsKKyAgfQorCisgIHN0ZDo6dmVjdG9yPGNoYXIqPiBhbGxvY2F0ZWRfYXJyYXk7Cit9OworCitURVNUKHB0aHJlYWQsIHB0aHJlYWRfdHlwZXNfYWxsb3dfZm91cl9ieXRlc19hbGlnbm1lbnQpIHsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgIC8vIEZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB2ZXJzaW9uLCB3ZSBuZWVkIHRvIGFsbG93IDQtYnl0ZSBhbGlnbmVkIGRhdGEgZm9yIHB0aHJlYWQgdHlwZXMuCisgIFN0cmljdEFsaWdubWVudEFsbG9jYXRvciBhbGxvY2F0b3I7CisgIHB0aHJlYWRfbXV0ZXhfdCogbXV0ZXggPSByZWludGVycHJldF9jYXN0PHB0aHJlYWRfbXV0ZXhfdCo+KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0b3IuYWxsb2NhdGUoc2l6ZW9mKHB0aHJlYWRfbXV0ZXhfdCksIDQpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfbXV0ZXhfaW5pdChtdXRleCwgTlVMTCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF9sb2NrKG11dGV4KSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX211dGV4X3VubG9jayhtdXRleCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9tdXRleF9kZXN0cm95KG11dGV4KSk7CisKKyAgcHRocmVhZF9jb25kX3QqIGNvbmQgPSByZWludGVycHJldF9jYXN0PHB0aHJlYWRfY29uZF90Kj4oCisgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0b3IuYWxsb2NhdGUoc2l6ZW9mKHB0aHJlYWRfY29uZF90KSwgNCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jb25kX2luaXQoY29uZCwgTlVMTCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jb25kX3NpZ25hbChjb25kKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NvbmRfYnJvYWRjYXN0KGNvbmQpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY29uZF9kZXN0cm95KGNvbmQpKTsKKworICBwdGhyZWFkX3J3bG9ja190KiByd2xvY2sgPSByZWludGVycHJldF9jYXN0PHB0aHJlYWRfcndsb2NrX3QqPigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0b3IuYWxsb2NhdGUoc2l6ZW9mKHB0aHJlYWRfcndsb2NrX3QpLCA0KSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX3J3bG9ja19pbml0KHJ3bG9jaywgTlVMTCkpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfcmRsb2NrKHJ3bG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfdW5sb2NrKHJ3bG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfd3Jsb2NrKHJ3bG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfdW5sb2NrKHJ3bG9jaykpOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9yd2xvY2tfZGVzdHJveShyd2xvY2spKTsKKworI2Vsc2UKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IHRlc3RzIGJpb25pYyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLiI7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3B0eV90ZXN0LmNwcCBiL3Rlc3RzL3B0eV90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmU5N2U5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcHR5X3Rlc3QuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKworI2luY2x1ZGUgPHB0eS5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorCitURVNUKHB0eSwgb3BlbnB0eSkgeworICBpbnQgbWFzdGVyLCBzbGF2ZTsKKyAgY2hhciBuYW1lWzMyXTsKKyAgc3RydWN0IHdpbnNpemUgdyA9IHsgMTIzLCA0NTYsIDk5OTksIDk5OSB9OworICBBU1NFUlRfRVEoMCwgb3BlbnB0eSgmbWFzdGVyLCAmc2xhdmUsIG5hbWUsIE5VTEwsICZ3KSk7CisgIEFTU0VSVF9ORSgtMSwgbWFzdGVyKTsKKyAgQVNTRVJUX05FKC0xLCBzbGF2ZSk7CisgIEFTU0VSVF9ORShtYXN0ZXIsIHNsYXZlKTsKKworICBjaGFyIHR0eV9uYW1lWzMyXTsKKyAgQVNTRVJUX0VRKDAsIHR0eW5hbWVfcihzbGF2ZSwgdHR5X25hbWUsIHNpemVvZih0dHlfbmFtZSkpKTsKKyAgQVNTRVJUX1NUUkVRKHR0eV9uYW1lLCBuYW1lKTsKKworICBzdHJ1Y3Qgd2luc2l6ZSB3X2FjdHVhbDsKKyAgQVNTRVJUX0VRKDAsIGlvY3RsKHNsYXZlLCBUSU9DR1dJTlNaLCAmd19hY3R1YWwpKTsKKyAgQVNTRVJUX0VRKHdfYWN0dWFsLndzX3Jvdywgdy53c19yb3cpOworICBBU1NFUlRfRVEod19hY3R1YWwud3NfY29sLCB3LndzX2NvbCk7CisgIEFTU0VSVF9FUSh3X2FjdHVhbC53c194cGl4ZWwsIHcud3NfeHBpeGVsKTsKKyAgQVNTRVJUX0VRKHdfYWN0dWFsLndzX3lwaXhlbCwgdy53c195cGl4ZWwpOworCisgIGNsb3NlKG1hc3Rlcik7CisgIGNsb3NlKHNsYXZlKTsKK30KKworVEVTVChwdHksIGZvcmtwdHkpIHsKKyAgcGlkX3Qgc2lkID0gZ2V0c2lkKDApOworCisgIGludCBtYXN0ZXI7CisgIHBpZF90IHBpZCA9IGZvcmtwdHkoJm1hc3RlciwgTlVMTCwgTlVMTCwgTlVMTCk7CisgIEFTU0VSVF9ORSgtMSwgcGlkKTsKKworICBpZiAocGlkID09IDApIHsKKyAgICAvLyBXZSdyZSB0aGUgY2hpbGQuCisgICAgQVNTRVJUX05FKHNpZCwgZ2V0c2lkKDApKTsKKyAgICBfZXhpdCgwKTsKKyAgfQorCisgIEFTU0VSVF9FUShzaWQsIGdldHNpZCgwKSk7CisKKyAgaW50IHN0YXR1czsKKyAgQVNTRVJUX0VRKHBpZCwgd2FpdHBpZChwaWQsICZzdGF0dXMsIDApKTsKKyAgQVNTRVJUX1RSVUUoV0lGRVhJVEVEKHN0YXR1cykpOworICBBU1NFUlRfRVEoMCwgV0VYSVRTVEFUVVMoc3RhdHVzKSk7CisKKyAgY2xvc2UobWFzdGVyKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NlbWFwaG9yZV90ZXN0LmNwcCBiL3Rlc3RzL3NlbWFwaG9yZV90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTE3ZjgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvc2VtYXBob3JlX3Rlc3QuY3BwCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHNlbWFwaG9yZS5oPgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJwcml2YXRlL2Jpb25pY19jb25zdGFudHMuaCIKKworVEVTVChzZW1hcGhvcmUsIHNlbV9pbml0KSB7CisgIHNlbV90IHM7CisKKyAgLy8gUGVyZmVjdGx5IGZpbmUgaW5pdGlhbCB2YWx1ZXMuCisgIEFTU0VSVF9FUSgwLCBzZW1faW5pdCgmcywgMCwgMCkpOworICBBU1NFUlRfRVEoMCwgc2VtX2luaXQoJnMsIDAsIDEpKTsKKyAgQVNTRVJUX0VRKDAsIHNlbV9pbml0KCZzLCAwLCAxMjMpKTsKKworICAvLyBUb28gc21hbGwgYW4gaW5pdGlhbCB2YWx1ZS4KKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEoLTEsIHNlbV9pbml0KCZzLCAwLCAtMSkpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisKKyAgQVNTRVJUX0VRKFNFTV9WQUxVRV9NQVgsIHN5c2NvbmYoX1NDX1NFTV9WQUxVRV9NQVgpKTsKKworICAvLyBUaGUgbGFyZ2VzdCBpbml0aWFsIHZhbHVlLgorICBBU1NFUlRfRVEoMCwgc2VtX2luaXQoJnMsIDAsIFNFTV9WQUxVRV9NQVgpKTsKKworICAvLyBUb28gbGFyZ2UgYW4gaW5pdGlhbCB2YWx1ZS4KKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEoLTEsIHNlbV9pbml0KCZzLCAwLCBTRU1fVkFMVUVfTUFYICsgMSkpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisKKyAgQVNTRVJUX0VRKDAsIHNlbV9kZXN0cm95KCZzKSk7Cit9CisKK1RFU1Qoc2VtYXBob3JlLCBzZW1fdHJ5d2FpdCkgeworICBzZW1fdCBzOworICBBU1NFUlRfRVEoMCwgc2VtX2luaXQoJnMsIDAsIDMpKTsKKyAgQVNTRVJUX0VRKDAsIHNlbV90cnl3YWl0KCZzKSk7CisgIEFTU0VSVF9FUSgwLCBzZW1fdHJ5d2FpdCgmcykpOworICBBU1NFUlRfRVEoMCwgc2VtX3RyeXdhaXQoJnMpKTsKKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEoLTEsIHNlbV90cnl3YWl0KCZzKSk7CisgIEFTU0VSVF9FUShFQUdBSU4sIGVycm5vKTsKKyAgQVNTRVJUX0VRKDAsIHNlbV9kZXN0cm95KCZzKSk7Cit9CisKK3N0YXRpYyB2b2lkIFNlbVdhaXRUaHJlYWRUZXN0Rm4oc2VtX3QmIHNlbSkgeworICBBU1NFUlRfRVEoMCwgc2VtX3dhaXQoJnNlbSkpOworfQorCitzdGF0aWMgdm9pZCogU2VtV2FpdFRocmVhZEZuKHZvaWQqIGFyZykgeworICBTZW1XYWl0VGhyZWFkVGVzdEZuKCpyZWludGVycHJldF9jYXN0PHNlbV90Kj4oYXJnKSk7CisgIHJldHVybiBudWxscHRyOworfQorCitURVNUKHNlbWFwaG9yZSwgc2VtX3dhaXRfX3NlbV9wb3N0KSB7CisgIHNlbV90IHM7CisgIEFTU0VSVF9FUSgwLCBzZW1faW5pdCgmcywgMCwgMCkpOworCisgIHB0aHJlYWRfdCB0MSwgdDIsIHQzOworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnQxLCBOVUxMLCBTZW1XYWl0VGhyZWFkRm4sICZzKSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2NyZWF0ZSgmdDIsIE5VTEwsIFNlbVdhaXRUaHJlYWRGbiwgJnMpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0MywgTlVMTCwgU2VtV2FpdFRocmVhZEZuLCAmcykpOworCisgIEFTU0VSVF9FUSgwLCBzZW1fcG9zdCgmcykpOworICBBU1NFUlRfRVEoMCwgc2VtX3Bvc3QoJnMpKTsKKyAgQVNTRVJUX0VRKDAsIHNlbV9wb3N0KCZzKSk7CisKKyAgdm9pZCogcmVzdWx0OworICBBU1NFUlRfRVEoMCwgcHRocmVhZF9qb2luKHQxLCAmcmVzdWx0KSk7CisgIEFTU0VSVF9FUSgwLCBwdGhyZWFkX2pvaW4odDIsICZyZXN1bHQpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfam9pbih0MywgJnJlc3VsdCkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdGltZXNwZWNfYWRkX21zKHRpbWVzcGVjJiB0cywgc2l6ZV90IG1zKSB7CisgIHRzLnR2X3NlYyAgKz0gbXMgLyAxMDAwOworICB0cy50dl9uc2VjICs9IChtcyAlIDEwMDApICogMTAwMDAwMDsKKyAgaWYgKHRzLnR2X25zZWMgPj0gTlNfUEVSX1MpIHsKKyAgICB0cy50dl9zZWMrKzsKKyAgICB0cy50dl9uc2VjIC09IE5TX1BFUl9TOworICB9Cit9CisKK1RFU1Qoc2VtYXBob3JlLCBzZW1fdGltZWR3YWl0KSB7CisgIHNlbV90IHM7CisgIEFTU0VSVF9FUSgwLCBzZW1faW5pdCgmcywgMCwgMCkpOworCisgIHRpbWVzcGVjIHRzOworICBBU1NFUlRfRVEoMCwgY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgJnRzKSk7CisgIHRpbWVzcGVjX2FkZF9tcyh0cywgMTAwKTsKKworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgtMSwgc2VtX3RpbWVkd2FpdCgmcywgJnRzKSk7CisgIEFTU0VSVF9FUShFVElNRURPVVQsIGVycm5vKTsKKworICAvLyBBIG5lZ2F0aXZlIHRpbWVvdXQgaXMgYW4gZXJyb3IuCisgIGVycm5vID0gMDsKKyAgdHMudHZfbnNlYyA9IC0xOworICBBU1NFUlRfRVEoLTEsIHNlbV90aW1lZHdhaXQoJnMsICZ0cykpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisKKyAgQVNTRVJUX0VRKDAsIHNlbV9kZXN0cm95KCZzKSk7Cit9CisKK1RFU1Qoc2VtYXBob3JlLCBzZW1fZ2V0dmFsdWUpIHsKKyAgc2VtX3QgczsKKyAgQVNTRVJUX0VRKDAsIHNlbV9pbml0KCZzLCAwLCAwKSk7CisKKyAgaW50IGk7CisgIEFTU0VSVF9FUSgwLCBzZW1fZ2V0dmFsdWUoJnMsICZpKSk7CisgIEFTU0VSVF9FUSgwLCBpKTsKKworICBBU1NFUlRfRVEoMCwgc2VtX3Bvc3QoJnMpKTsKKyAgQVNTRVJUX0VRKDAsIHNlbV9nZXR2YWx1ZSgmcywgJmkpKTsKKyAgQVNTRVJUX0VRKDEsIGkpOworCisgIEFTU0VSVF9FUSgwLCBzZW1fcG9zdCgmcykpOworICBBU1NFUlRfRVEoMCwgc2VtX2dldHZhbHVlKCZzLCAmaSkpOworICBBU1NFUlRfRVEoMiwgaSk7CisKKyAgQVNTRVJUX0VRKDAsIHNlbV93YWl0KCZzKSk7CisgIEFTU0VSVF9FUSgwLCBzZW1fZ2V0dmFsdWUoJnMsICZpKSk7CisgIEFTU0VSVF9FUSgxLCBpKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3NldGptcF90ZXN0LmNwcCBiL3Rlc3RzL3NldGptcF90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2I1ODg1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvc2V0am1wX3Rlc3QuY3BwCkBAIC0wLDAgKzEsMjE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKKyNpbmNsdWRlIDxzZXRqbXAuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworVEVTVChzZXRqbXAsIHNldGptcF9zbW9rZSkgeworICBpbnQgdmFsdWU7CisgIGptcF9idWYgamI7CisgIGlmICgodmFsdWUgPSBzZXRqbXAoamIpKSA9PSAwKSB7CisgICAgbG9uZ2ptcChqYiwgMTIzKTsKKyAgICBGQUlMKCk7IC8vIFVucmVhY2hhYmxlLgorICB9IGVsc2UgeworICAgIEFTU0VSVF9FUSgxMjMsIHZhbHVlKTsKKyAgfQorfQorCitURVNUKHNldGptcCwgX3NldGptcF9zbW9rZSkgeworICBpbnQgdmFsdWU7CisgIGptcF9idWYgamI7CisgIGlmICgodmFsdWUgPSBfc2V0am1wKGpiKSkgPT0gMCkgeworICAgIF9sb25nam1wKGpiLCA0NTYpOworICAgIEZBSUwoKTsgLy8gVW5yZWFjaGFibGUuCisgIH0gZWxzZSB7CisgICAgQVNTRVJUX0VRKDQ1NiwgdmFsdWUpOworICB9Cit9CisKK1RFU1Qoc2V0am1wLCBzaWdzZXRqbXBfMF9zbW9rZSkgeworICBpbnQgdmFsdWU7CisgIHNpZ2ptcF9idWYgamI7CisgIGlmICgodmFsdWUgPSBzaWdzZXRqbXAoamIsIDApKSA9PSAwKSB7CisgICAgc2lnbG9uZ2ptcChqYiwgNzg5KTsKKyAgICBGQUlMKCk7IC8vIFVucmVhY2hhYmxlLgorICB9IGVsc2UgeworICAgIEFTU0VSVF9FUSg3ODksIHZhbHVlKTsKKyAgfQorfQorCitURVNUKHNldGptcCwgc2lnc2V0am1wXzFfc21va2UpIHsKKyAgaW50IHZhbHVlOworICBzaWdqbXBfYnVmIGpiOworICBpZiAoKHZhbHVlID0gc2lnc2V0am1wKGpiLCAwKSkgPT0gMCkgeworICAgIHNpZ2xvbmdqbXAoamIsIDB4YWJjKTsKKyAgICBGQUlMKCk7IC8vIFVucmVhY2hhYmxlLgorICB9IGVsc2UgeworICAgIEFTU0VSVF9FUSgweGFiYywgdmFsdWUpOworICB9Cit9CisKKy8vIFR3byBkaXN0aW5jdCBzaWduYWwgc2V0cywgcGlwdQorc3RydWN0IFNpZ1NldHMgeworICBTaWdTZXRzKCkgOiBvbmUoTWFrZVNpZ1NldCgwKSksIHR3byhNYWtlU2lnU2V0KDEpKSB7CisgIH0KKworICBzdGF0aWMgc2lnc2V0X3QgTWFrZVNpZ1NldChpbnQgb2Zmc2V0KSB7CisgICAgc2lnc2V0X3Qgc3M7CisgICAgc2lnZW1wdHlzZXQoJnNzKTsKKyAgICBzaWdhZGRzZXQoJnNzLCBTSUdVU1IxICsgb2Zmc2V0KTsKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorICAgIC8vIEZvciBhcm0gYW5kIHg4Niwgc2lnc2V0X3Qgd2FzIHRvbyBzbWFsbCBmb3IgdGhlIFJUIHNpZ25hbHMuCisgICAgLy8gRm9yIG1pcHMsIHNpZ3NldF90IHdhcyBsYXJnZSBlbm91Z2ggYnV0IGptcF9idWYgd2Fzbid0LgorICAgIHNpZ2FkZHNldCgmc3MsIFNJR1JUTUlOICsgb2Zmc2V0KTsKKyNlbmRpZgorICAgIHJldHVybiBzczsKKyAgfQorCisgIHNpZ3NldF90IG9uZTsKKyAgc2lnc2V0X3QgdHdvOworICBzaWdzZXRfdCBvcmlnaW5hbDsKK307CisKK3ZvaWQgQXNzZXJ0U2lnbWFza0VxdWFscyhjb25zdCBzaWdzZXRfdCYgZXhwZWN0ZWQpIHsKKyAgc2lnc2V0X3QgYWN0dWFsOworICBzaWdwcm9jbWFzaygwIC8qIGlnbm9yZWQgKi8sIE5VTEwsICZhY3R1YWwpOworICBzaXplX3QgZW5kID0gc2l6ZW9mKHNpZ3NldF90KSAqIDg7CisgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDw9IGVuZDsgKytpKSB7CisgICAgRVhQRUNUX0VRKHNpZ2lzbWVtYmVyKCZleHBlY3RlZCwgaSksIHNpZ2lzbWVtYmVyKCZhY3R1YWwsIGkpKSA8PCBpOworICB9Cit9CisKK1RFU1Qoc2V0am1wLCBfc2V0am1wX3NpZ25hbF9tYXNrKSB7CisgIC8vIF9zZXRqbXAvX2xvbmdqbXAgZG8gbm90IHNhdmUvcmVzdG9yZSB0aGUgc2lnbmFsIG1hc2suCisgIFNpZ1NldHMgc3M7CisgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmc3Mub25lLCAmc3Mub3JpZ2luYWwpOworICBqbXBfYnVmIGpiOworICBpZiAoX3NldGptcChqYikgPT0gMCkgeworICAgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmc3MudHdvLCBOVUxMKTsKKyAgICBfbG9uZ2ptcChqYiwgMSk7CisgICAgRkFJTCgpOyAvLyBVbnJlYWNoYWJsZS4KKyAgfSBlbHNlIHsKKyAgICBBc3NlcnRTaWdtYXNrRXF1YWxzKHNzLnR3byk7CisgIH0KKyAgc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZzcy5vcmlnaW5hbCwgTlVMTCk7Cit9CisKK1RFU1Qoc2V0am1wLCBzZXRqbXBfc2lnbmFsX21hc2spIHsKKyAgLy8gc2V0am1wL2xvbmdqbXAgZG8gc2F2ZS9yZXN0b3JlIHRoZSBzaWduYWwgbWFzayBvbiBiaW9uaWMsIGJ1dCBub3Qgb24gZ2xpYmMuCisgIC8vIFRoaXMgaXMgYSBCU0QgdmVyc3VzIFN5c3RlbSBWIGhpc3RvcmljYWwgYWNjaWRlbnQuIFBPU0lYIGxlYXZlcyB0aGUKKyAgLy8gYmVoYXZpb3IgdW5zcGVjaWZpZWQsIHNvIGFueSBjb2RlIHRoYXQgY2FyZXMgbmVlZHMgdG8gdXNlIHNpZ3NldGptcC4KKyAgU2lnU2V0cyBzczsKKyAgc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZzcy5vbmUsICZzcy5vcmlnaW5hbCk7CisgIGptcF9idWYgamI7CisgIGlmIChzZXRqbXAoamIpID09IDApIHsKKyAgICBzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnNzLnR3bywgTlVMTCk7CisgICAgbG9uZ2ptcChqYiwgMSk7CisgICAgRkFJTCgpOyAvLyBVbnJlYWNoYWJsZS4KKyAgfSBlbHNlIHsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgICAgLy8gYmlvbmljIGJlaGF2ZXMgbGlrZSBCU0QgYW5kIGRvZXMgc2F2ZS9yZXN0b3JlIHRoZSBzaWduYWwgbWFzay4KKyAgICBBc3NlcnRTaWdtYXNrRXF1YWxzKHNzLm9uZSk7CisjZWxzZQorICAgIC8vIGdsaWJjIGJlaGF2ZXMgbGlrZSBTeXN0ZW0gViBhbmQgZG9lc24ndCBzYXZlL3Jlc3RvcmUgdGhlIHNpZ25hbCBtYXNrLgorICAgIEFzc2VydFNpZ21hc2tFcXVhbHMoc3MudHdvKTsKKyNlbmRpZgorICB9CisgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmc3Mub3JpZ2luYWwsIE5VTEwpOworfQorCitURVNUKHNldGptcCwgc2lnc2V0am1wXzBfc2lnbmFsX21hc2spIHsKKyAgLy8gc2lnc2V0am1wKDApL3NpZ2xvbmdqbXAgZG8gbm90IHNhdmUvcmVzdG9yZSB0aGUgc2lnbmFsIG1hc2suCisgIFNpZ1NldHMgc3M7CisgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmc3Mub25lLCAmc3Mub3JpZ2luYWwpOworICBzaWdqbXBfYnVmIHNqYjsKKyAgaWYgKHNpZ3NldGptcChzamIsIDApID09IDApIHsKKyAgICBzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnNzLnR3bywgTlVMTCk7CisgICAgc2lnbG9uZ2ptcChzamIsIDEpOworICAgIEZBSUwoKTsgLy8gVW5yZWFjaGFibGUuCisgIH0gZWxzZSB7CisgICAgQXNzZXJ0U2lnbWFza0VxdWFscyhzcy50d28pOworICB9CisgIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmc3Mub3JpZ2luYWwsIE5VTEwpOworfQorCitURVNUKHNldGptcCwgc2lnc2V0am1wXzFfc2lnbmFsX21hc2spIHsKKyAgLy8gc2lnc2V0am1wKDEpL3NpZ2xvbmdqbXAgZG9lcyBzYXZlL3Jlc3RvcmUgdGhlIHNpZ25hbCBtYXNrLgorICBTaWdTZXRzIHNzOworICBzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnNzLm9uZSwgJnNzLm9yaWdpbmFsKTsKKyAgc2lnam1wX2J1ZiBzamI7CisgIGlmIChzaWdzZXRqbXAoc2piLCAxKSA9PSAwKSB7CisgICAgc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZzcy50d28sIE5VTEwpOworICAgIHNpZ2xvbmdqbXAoc2piLCAxKTsKKyAgICBGQUlMKCk7IC8vIFVucmVhY2hhYmxlLgorICB9IGVsc2UgeworICAgIEFzc2VydFNpZ21hc2tFcXVhbHMoc3Mub25lKTsKKyAgfQorICBzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnNzLm9yaWdpbmFsLCBOVUxMKTsKK30KKworI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCisjZGVmaW5lIFNFVF9GUkVHKG4sIHYpIGFzbSB2b2xhdGlsZSgiZm1vdiBkIiNuICIsICIjdiA6IDogOiAiZCIjbikKKyNkZWZpbmUgQ0xFQVJfRlJFRyhuKSBhc20gdm9sYXRpbGUoImZtb3YgZCIjbiAiLCB4enIiIDogOiA6ICJkIiNuKQorI2RlZmluZSBTRVRfRlJFR1MgXAorICBTRVRfRlJFRyg4LCA4LjApOyBTRVRfRlJFRyg5LCA5LjApOyBTRVRfRlJFRygxMCwgMTAuMCk7IFNFVF9GUkVHKDExLCAxMS4wKTsgXAorICBTRVRfRlJFRygxMiwgMTIuMCk7IFNFVF9GUkVHKDEzLCAxMy4wKTsgU0VUX0ZSRUcoMTQsIDE0LjApOyBTRVRfRlJFRygxNSwgMTUuMCk7CisjZGVmaW5lIENMRUFSX0ZSRUdTIFwKKyAgQ0xFQVJfRlJFRyg4KTsgQ0xFQVJfRlJFRyg5KTsgQ0xFQVJfRlJFRygxMCk7IENMRUFSX0ZSRUcoMTEpOyBcCisgIENMRUFSX0ZSRUcoMTIpOyBDTEVBUl9GUkVHKDEzKTsgQ0xFQVJfRlJFRygxNCk7IENMRUFSX0ZSRUcoMTUpOworI2RlZmluZSBHRVRfRlJFRyhuKSAoeyBkb3VibGUgX3I7IGFzbSB2b2xhdGlsZSgiZm1vdiAlMCwgZCIjbiA6ICI9ciIoX3IpIDogOik7IF9yOyB9KQorI2RlZmluZSBDSEVDS19GUkVHUyBcCisgICAgRVhQRUNUX0VRKDguMCwgR0VUX0ZSRUcoOCkpOyBFWFBFQ1RfRVEoOS4wLCBHRVRfRlJFRyg5KSk7IFwKKyAgICBFWFBFQ1RfRVEoMTAuMCwgR0VUX0ZSRUcoMTApKTsgRVhQRUNUX0VRKDExLjAsIEdFVF9GUkVHKDExKSk7IFwKKyAgICBFWFBFQ1RfRVEoMTIuMCwgR0VUX0ZSRUcoMTIpKTsgRVhQRUNUX0VRKDEzLjAsIEdFVF9GUkVHKDEzKSk7IFwKKyAgICBFWFBFQ1RfRVEoMTQuMCwgR0VUX0ZSRUcoMTQpKTsgRVhQRUNUX0VRKDE1LjAsIEdFVF9GUkVHKDE1KSk7CisjZWxpZiBkZWZpbmVkKF9fYXJtX18pCisjZGVmaW5lIFNFVF9GUkVHKG4sIHYpIFwKKyAgKHsgY29uc3QgZG91YmxlIF92e3Z9OyBhc20gdm9sYXRpbGUoImZjcHlkIGQiI24gIiwgJVAwIiA6IDogInciKF92KSA6ICJkIiNuKTsgfSkKKyNkZWZpbmUgU0VUX0ZSRUdTIFwKKyAgU0VUX0ZSRUcoOCwgOCk7IFNFVF9GUkVHKDksIDkpOyBTRVRfRlJFRygxMCwgMTApOyBTRVRfRlJFRygxMSwgMTEpOyBcCisgIFNFVF9GUkVHKDEyLCAxMik7IFNFVF9GUkVHKDEzLCAxMyk7IFNFVF9GUkVHKDE0LCAxNCk7IFNFVF9GUkVHKDE1LCAxNSk7CisjZGVmaW5lIENMRUFSX0ZSRUdTIFwKKyAgU0VUX0ZSRUcoOCwgMCk7IFNFVF9GUkVHKDksIDApOyBTRVRfRlJFRygxMCwgMCk7IFNFVF9GUkVHKDExLCAwKTsgXAorICBTRVRfRlJFRygxMiwgMCk7IFNFVF9GUkVHKDEzLCAwKTsgU0VUX0ZSRUcoMTQsIDApOyBTRVRfRlJFRygxNSwgMCk7CisjZGVmaW5lIEdFVF9GUkVHKG4pICh7IGRvdWJsZSBfcjsgYXNtIHZvbGF0aWxlKCJmY3B5ZCAlUDAsIGQiI24gOiAiPXciKF9yKSA6IDopOyBfcjt9KQorI2RlZmluZSBDSEVDS19GUkVHUyBcCisgICAgRVhQRUNUX0VRKDguMCwgR0VUX0ZSRUcoOCkpOyBFWFBFQ1RfRVEoOS4wLCBHRVRfRlJFRyg5KSk7IFwKKyAgICBFWFBFQ1RfRVEoMTAuMCwgR0VUX0ZSRUcoMTApKTsgRVhQRUNUX0VRKDExLjAsIEdFVF9GUkVHKDExKSk7IFwKKyAgICBFWFBFQ1RfRVEoMTIuMCwgR0VUX0ZSRUcoMTIpKTsgRVhQRUNUX0VRKDEzLjAsIEdFVF9GUkVHKDEzKSk7IFwKKyAgICBFWFBFQ1RfRVEoMTQuMCwgR0VUX0ZSRUcoMTQpKTsgRVhQRUNUX0VRKDE1LjAsIEdFVF9GUkVHKDE1KSk7CisjZWxzZQorLyogVGhlIG90aGVyIGFyY2hpdGVjdHVyZXMgZG9uJ3Qgc2F2ZS9yZXN0b3JlIGZwIHJlZ2lzdGVycy4gKi8KKyNkZWZpbmUgU0VUX0ZSRUdTCisjZGVmaW5lIENMRUFSX0ZSRUdTCisjZGVmaW5lIENIRUNLX0ZSRUdTCisjZW5kaWYKKworVEVTVChzZXRqbXAsIHNldGptcF9mcF9yZWdpc3RlcnMpIHsKKyAgaW50IHZhbHVlOworICBqbXBfYnVmIGpiOworICBTRVRfRlJFR1M7CisgIGlmICgodmFsdWUgPSBzZXRqbXAoamIpKSA9PSAwKSB7CisgICAgQ0xFQVJfRlJFR1M7CisgICAgbG9uZ2ptcChqYiwgMTIzKTsKKyAgICBGQUlMKCk7IC8vIFVucmVhY2hhYmxlLgorICB9IGVsc2UgeworICAgIEFTU0VSVF9FUSgxMjMsIHZhbHVlKTsKKyAgICBDSEVDS19GUkVHUzsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2lnbmFsX3Rlc3QuY3BwIGIvdGVzdHMvc2lnbmFsX3Rlc3QuY3BwCmluZGV4IDhmZDhiNzIuLmY4ZmRjM2YgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NpZ25hbF90ZXN0LmNwcAorKysgYi90ZXN0cy9zaWduYWxfdGVzdC5jcHAKQEAgLTE2LDkgKzE2LDEwIEBACiAKICNpbmNsdWRlIDxzaWduYWwuaD4KIAotI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAorI2luY2x1ZGUgPGVycm5vLmg+CisKICNpbmNsdWRlICJTY29wZWRTaWduYWxIYW5kbGVyLmgiCiAKIHN0YXRpYyBzaXplX3QgU0lHTkFMX01JTigpIHsKQEAgLTI3NiwzICsyNzcsMTAxIEBACiAgIC8vIFdlIGRvbid0IGN1cnJlbnRseSByZXNlcnZlIGFueSBhdCB0aGUgdG9wLgogICBBU1NFUlRfRVEoU0lHUlRNQVgsIF9fU0lHUlRNQVgpOwogfQorCitzdGF0aWMgaW50IGdfc2lncXVldWVfc2lnbmFsX2hhbmRsZXJfY2FsbF9jb3VudCA9IDA7CisKK3N0YXRpYyB2b2lkIFNpZ3F1ZXVlU2lnbmFsSGFuZGxlcihpbnQgc2lnbnVtLCBzaWdpbmZvX3QqIGluZm8sIHZvaWQqKSB7CisgIEFTU0VSVF9FUShTSUdBTFJNLCBzaWdudW0pOworICBBU1NFUlRfRVEoU0lHQUxSTSwgaW5mby0+c2lfc2lnbm8pOworICBBU1NFUlRfRVEoU0lfUVVFVUUsIGluZm8tPnNpX2NvZGUpOworICBBU1NFUlRfRVEoMSwgaW5mby0+c2lfdmFsdWUuc2l2YWxfaW50KTsKKyAgKytnX3NpZ3F1ZXVlX3NpZ25hbF9oYW5kbGVyX2NhbGxfY291bnQ7Cit9CisKK1RFU1Qoc2lnbmFsLCBzaWdxdWV1ZSkgeworICBTY29wZWRTaWduYWxIYW5kbGVyIHNzaChTSUdBTFJNLCBTaWdxdWV1ZVNpZ25hbEhhbmRsZXIsIFNBX1NJR0lORk8pOworICBzaWd2YWxfdCBzaWd2YWw7CisgIHNpZ3ZhbC5zaXZhbF9pbnQgPSAxOworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgwLCBzaWdxdWV1ZShnZXRwaWQoKSwgU0lHQUxSTSwgc2lndmFsKSk7CisgIEFTU0VSVF9FUSgwLCBlcnJubyk7CisgIEFTU0VSVF9FUSgxLCBnX3NpZ3F1ZXVlX3NpZ25hbF9oYW5kbGVyX2NhbGxfY291bnQpOworfQorCitURVNUKHNpZ25hbCwgc2lnd2FpdGluZm8pIHsKKyAgLy8gQmxvY2sgU0lHQUxSTS4KKyAgc2lnc2V0X3QganVzdF9TSUdBTFJNOworICBzaWdlbXB0eXNldCgmanVzdF9TSUdBTFJNKTsKKyAgc2lnYWRkc2V0KCZqdXN0X1NJR0FMUk0sIFNJR0FMUk0pOworICBzaWdzZXRfdCBvcmlnaW5hbF9zZXQ7CisgIEFTU0VSVF9FUSgwLCBzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZqdXN0X1NJR0FMUk0sICZvcmlnaW5hbF9zZXQpKTsKKworICAvLyBSYWlzZSBTSUdBTFJNLgorICBzaWd2YWxfdCBzaWd2YWw7CisgIHNpZ3ZhbC5zaXZhbF9pbnQgPSAxOworICBBU1NFUlRfRVEoMCwgc2lncXVldWUoZ2V0cGlkKCksIFNJR0FMUk0sIHNpZ3ZhbCkpOworCisgIC8vIEdldCBwZW5kaW5nIFNJR0FMUk0uCisgIHNpZ2luZm9fdCBpbmZvOworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUShTSUdBTFJNLCBzaWd3YWl0aW5mbygmanVzdF9TSUdBTFJNLCAmaW5mbykpOworICBBU1NFUlRfRVEoMCwgZXJybm8pOworICBBU1NFUlRfRVEoU0lHQUxSTSwgaW5mby5zaV9zaWdubyk7CisgIEFTU0VSVF9FUSgxLCBpbmZvLnNpX3ZhbHVlLnNpdmFsX2ludCk7CisKKyAgQVNTRVJUX0VRKDAsIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmb3JpZ2luYWxfc2V0LCBOVUxMKSk7Cit9CisKK1RFU1Qoc2lnbmFsLCBzaWd0aW1lZHdhaXQpIHsKKyAgLy8gQmxvY2sgU0lHQUxSTS4KKyAgc2lnc2V0X3QganVzdF9TSUdBTFJNOworICBzaWdlbXB0eXNldCgmanVzdF9TSUdBTFJNKTsKKyAgc2lnYWRkc2V0KCZqdXN0X1NJR0FMUk0sIFNJR0FMUk0pOworICBzaWdzZXRfdCBvcmlnaW5hbF9zZXQ7CisgIEFTU0VSVF9FUSgwLCBzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZqdXN0X1NJR0FMUk0sICZvcmlnaW5hbF9zZXQpKTsKKworICAvLyBSYWlzZSBTSUdBTFJNLgorICBzaWd2YWxfdCBzaWd2YWw7CisgIHNpZ3ZhbC5zaXZhbF9pbnQgPSAxOworICBBU1NFUlRfRVEoMCwgc2lncXVldWUoZ2V0cGlkKCksIFNJR0FMUk0sIHNpZ3ZhbCkpOworCisgIC8vIEdldCBwZW5kaW5nIFNJR0FMUk0uCisgIHNpZ2luZm9fdCBpbmZvOworICBzdHJ1Y3QgdGltZXNwZWMgdGltZW91dDsKKyAgdGltZW91dC50dl9zZWMgPSAyOworICB0aW1lb3V0LnR2X25zZWMgPSAwOworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUShTSUdBTFJNLCBzaWd0aW1lZHdhaXQoJmp1c3RfU0lHQUxSTSwgJmluZm8sICZ0aW1lb3V0KSk7CisgIEFTU0VSVF9FUSgwLCBlcnJubyk7CisKKyAgQVNTRVJUX0VRKDAsIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmb3JpZ2luYWxfc2V0LCBOVUxMKSk7Cit9CisKK3N0YXRpYyBpbnQ2NF90IE5hbm9UaW1lKCkgeworICBzdHJ1Y3QgdGltZXNwZWMgdDsKKyAgdC50dl9zZWMgPSB0LnR2X25zZWMgPSAwOworICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnQpOworICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50NjRfdD4odC50dl9zZWMpICogMTAwMDAwMDAwMExMICsgdC50dl9uc2VjOworfQorCitURVNUKHNpZ25hbCwgc2lndGltZWR3YWl0X3RpbWVvdXQpIHsKKyAgLy8gQmxvY2sgU0lHQUxSTS4KKyAgc2lnc2V0X3QganVzdF9TSUdBTFJNOworICBzaWdlbXB0eXNldCgmanVzdF9TSUdBTFJNKTsKKyAgc2lnYWRkc2V0KCZqdXN0X1NJR0FMUk0sIFNJR0FMUk0pOworICBzaWdzZXRfdCBvcmlnaW5hbF9zZXQ7CisgIEFTU0VSVF9FUSgwLCBzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZqdXN0X1NJR0FMUk0sICZvcmlnaW5hbF9zZXQpKTsKKworICAvLyBXYWl0IHRpbWVvdXQuCisgIGludDY0X3Qgc3RhcnRfdGltZSA9IE5hbm9UaW1lKCk7CisgIHNpZ2luZm9fdCBpbmZvOworICBzdHJ1Y3QgdGltZXNwZWMgdGltZW91dDsKKyAgdGltZW91dC50dl9zZWMgPSAwOworICB0aW1lb3V0LnR2X25zZWMgPSAxMDAwMDAwOworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgtMSwgc2lndGltZWR3YWl0KCZqdXN0X1NJR0FMUk0sICZpbmZvLCAmdGltZW91dCkpOworICBBU1NFUlRfRVEoRUFHQUlOLCBlcnJubyk7CisgIEFTU0VSVF9HRShOYW5vVGltZSgpIC0gc3RhcnRfdGltZSwgMTAwMDAwMCk7CisKKyAgQVNTRVJUX0VRKDAsIHNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmb3JpZ2luYWxfc2V0LCBOVUxMKSk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9zdGFja19wcm90ZWN0b3JfdGVzdC5jcHAgYi90ZXN0cy9zdGFja19wcm90ZWN0b3JfdGVzdC5jcHAKaW5kZXggZmVhMjRkOC4uMjIyODVkMSAxMDA2NDQKLS0tIGEvdGVzdHMvc3RhY2tfcHJvdGVjdG9yX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N0YWNrX3Byb3RlY3Rvcl90ZXN0LmNwcApAQCAtMTksMTggKzE5LDE1IEBACiAgKi8KIAogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSAiQmlvbmljRGVhdGhUZXN0LmgiCiAKICNpbmNsdWRlIDxwdGhyZWFkLmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHNldD4KIAotI2lmIGRlZmluZWQoX19HTElCQ19fKQotLy8gZ2xpYmMgZG9lc24ndCBleHBvc2UgZ2V0dGlkKDIpLgotcGlkX3QgZ2V0dGlkKCkgeyByZXR1cm4gc3lzY2FsbChfX05SX2dldHRpZCk7IH0KLSNlbmRpZiAvLyBfX0dMSUJDX18KK2V4dGVybiAiQyIgcGlkX3QgZ2V0dGlkKCk7CiAKIC8vIEZvciB4ODYsIGJpb25pYyBhbmQgZ2xpYmMgaGF2ZSBwZXItdGhyZWFkIHN0YWNrIGd1YXJkIHZhbHVlcyAoYWxsIGlkZW50aWNhbCkuCiAjaWYgZGVmaW5lZChfX2kzODZfXykKQEAgLTEwNSwxMCArMTAyLDE2IEBACiAgKiBUaGlzIG11c3QgYmUgbWFya2VkIHdpdGggIl9fYXR0cmlidXRlX18gKChub2lubGluZSkpIiwgdG8gZW5zdXJlIHRoZQogICogY29tcGlsZXIgZ2VuZXJhdGVzIHRoZSBwcm9wZXIgc3RhY2sgZ3VhcmRzIGFyb3VuZCB0aGlzIGZ1bmN0aW9uLgogICovCitzdGF0aWMgY2hhciogZHVtbXlfYnVmOworCiBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKQogc3RhdGljIHZvaWQgZG9fbW9kaWZ5X3N0YWNrX2Noa19ndWFyZCgpIHsKKyAgY2hhciBidWZbMTI4XTsKKyAgLy8gU3RvcmUgbG9jYWwgYXJyYXkncyBhZGRyZXNzIHRvIGdsb2JhbCB2YXJpYWJsZSB0byBmb3JjZSBjb21waWxlciB0byBnZW5lcmF0ZSBzdGFjayBndWFyZHMuCisgIGR1bW15X2J1ZiA9IGJ1ZjsKICAgX19zdGFja19jaGtfZ3VhcmQgPSAweDEyMzQ1Njc4OwogfQorCiAjZW5kaWYKIAogVEVTVChzdGFja19wcm90ZWN0b3IsIGdsb2JhbF9ndWFyZCkgewpAQCAtMTIwLDkgKzEyMywxMCBAQAogI2VuZGlmIC8vIFRFU1RfU1RBQ0tfQ0hLX0dVQVJECiB9CiAKLVRFU1Qoc3RhY2tfcHJvdGVjdG9yX0RlYXRoVGVzdCwgbW9kaWZ5X3N0YWNrX3Byb3RlY3RvcikgeworY2xhc3Mgc3RhY2tfcHJvdGVjdG9yX0RlYXRoVGVzdCA6IHB1YmxpYyBCaW9uaWNEZWF0aFRlc3Qge307CisKK1RFU1RfRihzdGFja19wcm90ZWN0b3JfRGVhdGhUZXN0LCBtb2RpZnlfc3RhY2tfcHJvdGVjdG9yKSB7CiAjaWYgZGVmaW5lZChURVNUX1NUQUNLX0NIS19HVUFSRCkKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogICBBU1NFUlRfRVhJVChkb19tb2RpZnlfc3RhY2tfY2hrX2d1YXJkKCksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7CiAjZWxzZSAvLyBURVNUX1NUQUNLX0NIS19HVUFSRAogICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N0YWNrX3Vud2luZGluZ190ZXN0LmNwcCBiL3Rlc3RzL3N0YWNrX3Vud2luZGluZ190ZXN0LmNwcAppbmRleCAzZmM0NWM1Li5kMWIzNDAyIDEwMDY0NAotLS0gYS90ZXN0cy9zdGFja191bndpbmRpbmdfdGVzdC5jcHAKKysrIGIvdGVzdHMvc3RhY2tfdW53aW5kaW5nX3Rlc3QuY3BwCkBAIC03MywzMyArNzMsNDcgQEAKICAgQVNTRVJUX0VRKGNvdW50ICsgMSwgZGVlcGVyX2NvdW50KTsKIH0KIAotc3RhdGljIGludCBraWxsZXJfY291bnQgPSAwOwotc3RhdGljIGludCBoYW5kbGVyX2NvdW50ID0gMDsKLXN0YXRpYyBpbnQgaGFuZGxlcl9vbmVfZGVlcGVyX2NvdW50ID0gMDsKK3N0cnVjdCBVbndpbmREYXRhIHsKKyAgdm9sYXRpbGUgYm9vbCBzaWduYWxfaGFuZGxlcl9jb21wbGV0ZSA9IGZhbHNlOworICBpbnQgZXhwZWN0ZWRfZnJhbWVfY291bnQgPSAwOworICBpbnQgaGFuZGxlcl9mcmFtZV9jb3VudCA9IDA7CisgIGludCBoYW5kbGVyX29uZV9kZWVwZXJfZnJhbWVfY291bnQgPSAwOworfTsKKworc3RhdGljIFVud2luZERhdGEgZ191bndpbmRfZGF0YTsKIAogc3RhdGljIHZvaWQgbm9pbmxpbmUgVW53aW5kU2lnbmFsSGFuZGxlcihpbnQpIHsKLSAgX1Vud2luZF9CYWNrdHJhY2UoRnJhbWVDb3VudGVyLCAmaGFuZGxlcl9jb3VudCk7Ci0gIEFTU0VSVF9HVChoYW5kbGVyX2NvdW50LCBraWxsZXJfY291bnQpOworICBfVW53aW5kX0JhY2t0cmFjZShGcmFtZUNvdW50ZXIsICZnX3Vud2luZF9kYXRhLmhhbmRsZXJfZnJhbWVfY291bnQpOwogCi0gIGhhbmRsZXJfb25lX2RlZXBlcl9jb3VudCA9IHVud2luZF9vbmVfZnJhbWVfZGVlcGVyKCk7Ci0gIEFTU0VSVF9FUShoYW5kbGVyX2NvdW50ICsgMSwgaGFuZGxlcl9vbmVfZGVlcGVyX2NvdW50KTsKKyAgZ191bndpbmRfZGF0YS5oYW5kbGVyX29uZV9kZWVwZXJfZnJhbWVfY291bnQgPSB1bndpbmRfb25lX2ZyYW1lX2RlZXBlcigpOworICBnX3Vud2luZF9kYXRhLnNpZ25hbF9oYW5kbGVyX2NvbXBsZXRlID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgdmVyaWZ5X3Vud2luZF9kYXRhKGNvbnN0IFVud2luZERhdGEmIHVud2luZF9kYXRhKSB7CisgIEVYUEVDVF9HVCh1bndpbmRfZGF0YS5oYW5kbGVyX2ZyYW1lX2NvdW50LCB1bndpbmRfZGF0YS5leHBlY3RlZF9mcmFtZV9jb3VudCk7CisgIEVYUEVDVF9FUSh1bndpbmRfZGF0YS5oYW5kbGVyX2ZyYW1lX2NvdW50ICsgMSwgdW53aW5kX2RhdGEuaGFuZGxlcl9vbmVfZGVlcGVyX2ZyYW1lX2NvdW50KTsKIH0KIAogVEVTVChzdGFja191bndpbmRpbmcsIHVud2luZF90aHJvdWdoX3NpZ25hbF9mcmFtZSkgewotICBraWxsZXJfY291bnQgPSBoYW5kbGVyX2NvdW50ID0gaGFuZGxlcl9vbmVfZGVlcGVyX2NvdW50ID0gMDsKKyAgZ191bndpbmRfZGF0YSA9IHt9OwogICBTY29wZWRTaWduYWxIYW5kbGVyIHNzaChTSUdVU1IxLCBVbndpbmRTaWduYWxIYW5kbGVyKTsKIAotICBfVW53aW5kX0JhY2t0cmFjZShGcmFtZUNvdW50ZXIsICZraWxsZXJfY291bnQpOworICBfVW53aW5kX0JhY2t0cmFjZShGcmFtZUNvdW50ZXIsICZnX3Vud2luZF9kYXRhLmV4cGVjdGVkX2ZyYW1lX2NvdW50KTsKIAogICBBU1NFUlRfRVEoMCwga2lsbChnZXRwaWQoKSwgU0lHVVNSMSkpOworICB3aGlsZSAoIWdfdW53aW5kX2RhdGEuc2lnbmFsX2hhbmRsZXJfY29tcGxldGUpIHt9CisKKyAgdmVyaWZ5X3Vud2luZF9kYXRhKGdfdW53aW5kX2RhdGEpOwogfQogCiAvLyBPbiBMUDMyLCB0aGUgU0FfU0lHSU5GTyBmbGFnIGdldHMgeW91IF9fcmVzdG9yZV9ydCBpbnN0ZWFkIG9mIF9fcmVzdG9yZS4KIFRFU1Qoc3RhY2tfdW53aW5kaW5nLCB1bndpbmRfdGhyb3VnaF9zaWduYWxfZnJhbWVfU0FfU0lHSU5GTykgewotICBraWxsZXJfY291bnQgPSBoYW5kbGVyX2NvdW50ID0gaGFuZGxlcl9vbmVfZGVlcGVyX2NvdW50ID0gMDsKKyAgZ191bndpbmRfZGF0YSA9IHt9OwogICBTY29wZWRTaWduYWxIYW5kbGVyIHNzaChTSUdVU1IxLCBVbndpbmRTaWduYWxIYW5kbGVyLCBTQV9TSUdJTkZPKTsKIAotICBfVW53aW5kX0JhY2t0cmFjZShGcmFtZUNvdW50ZXIsICZraWxsZXJfY291bnQpOwotCisgIF9VbndpbmRfQmFja3RyYWNlKEZyYW1lQ291bnRlciwgJmdfdW53aW5kX2RhdGEuZXhwZWN0ZWRfZnJhbWVfY291bnQpOwogICBBU1NFUlRfRVEoMCwga2lsbChnZXRwaWQoKSwgU0lHVVNSMSkpOworICB3aGlsZSAoIWdfdW53aW5kX2RhdGEuc2lnbmFsX2hhbmRsZXJfY29tcGxldGUpIHt9CisKKyAgdmVyaWZ5X3Vud2luZF9kYXRhKGdfdW53aW5kX2RhdGEpOwogfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkYXRvbWljX3Rlc3QuY3BwIGIvdGVzdHMvc3RkYXRvbWljX3Rlc3QuY3BwCmluZGV4IGI3ZmIxOWIuLmViMDMwYmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0ZGF0b21pY190ZXN0LmNwcAorKysgYi90ZXN0cy9zdGRhdG9taWNfdGVzdC5jcHAKQEAgLTE0LDggKzE0LDEwIEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAqLwogCi0jaW5jbHVkZSA8c3RkYXRvbWljLmg+CiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKy8vIEZvb2wgc3RkYXRvbWljLmggaW50byBub3QgdXNpbmcgPGF0b21pYz4uCisjdW5kZWYgX1VTSU5HX0xJQkNYWAorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkaW9fZXh0X3Rlc3QuY3BwIGIvdGVzdHMvc3RkaW9fZXh0X3Rlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NWNiYmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zdGRpb19leHRfdGVzdC5jcHAKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CisKKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDxsb2NhbGUuaD4KKworI2luY2x1ZGUgIlRlbXBvcmFyeUZpbGUuaCIKKworVEVTVChzdGRpb19leHQsIF9fZmJ1ZnNpemUpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2MvdmVyc2lvbiIsICJyIik7CisKKyAgLy8gSW5pdGlhbGx5LCB0aGVyZSdzIG5vIGJ1ZmZlciBpbiBjYXNlIHRoZSBmaXJzdCB0aGluZyB5b3UgZG8gaXMgZGlzYWJsZSBidWZmZXJpbmcuCisgIEFTU0VSVF9FUSgwVSwgX19mYnVmc2l6ZShmcCkpOworCisgIC8vIEEgcmVhZCBmb3JjZXMgYSBidWZmZXIgdG8gYmUgY3JlYXRlZC4KKyAgY2hhciBidWZbMTI4XTsKKyAgZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZnApOworICBBU1NFUlRfRVEoMTAyNFUsIF9fZmJ1ZnNpemUoZnApKTsKKworICBBU1NFUlRfRVEoMCwgc2V0dmJ1ZihmcCwgYnVmLCBfSU9GQkYsIDEpKTsKKyAgQVNTRVJUX0VRKDFVLCBfX2ZidWZzaXplKGZwKSk7CisKKyAgQVNTRVJUX0VRKDAsIHNldHZidWYoZnAsIGJ1ZiwgX0lPRkJGLCA4KSk7CisgIEFTU0VSVF9FUSg4VSwgX19mYnVmc2l6ZShmcCkpOworCisgIGZjbG9zZShmcCk7Cit9CisKK1RFU1Qoc3RkaW9fZXh0LCBfX2ZsYmYpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2MvdmVyc2lvbiIsICJyIik7CisKKyAgQVNTRVJUX0ZBTFNFKF9fZmxiZihmcCkpOworCisgIGNoYXIgYnVmWzEyOF07CisgIEFTU0VSVF9FUSgwLCBzZXR2YnVmKGZwLCBidWYsIF9JT0xCRiwgc2l6ZW9mKGJ1ZikpKTsKKworICBBU1NFUlRfVFJVRShfX2ZsYmYoZnApKTsKKworICBmY2xvc2UoZnApOworfQorCitURVNUKHN0ZGlvX2V4dCwgX19mcGVuZGluZykgeworICBGSUxFKiBmcCA9IGZvcGVuKCIvZGV2L251bGwiLCAidyIpOworICBBU1NFUlRfRVEoMFUsIF9fZnBlbmRpbmcoZnApKTsKKyAgQVNTRVJUX0VRKCd4JywgZnB1dGMoJ3gnLCBmcCkpOworICBBU1NFUlRfRVEoMVUsIF9fZnBlbmRpbmcoZnApKTsKKyAgQVNTRVJUX0VRKCd5JywgZnB1dGMoJ3knLCBmcCkpOworICBBU1NFUlRfRVEoMlUsIF9fZnBlbmRpbmcoZnApKTsKKyAgZmZsdXNoKGZwKTsKKyAgQVNTRVJUX0VRKDBVLCBfX2ZwZW5kaW5nKGZwKSk7CisgIGZjbG9zZShmcCk7Cit9CisKK1RFU1Qoc3RkaW9fZXh0LCBfX2ZwdXJnZSkgeworICBGSUxFKiBmcCA9IHRtcGZpbGUoKTsKKworICBBU1NFUlRfRVEoJ2EnLCBmcHV0YygnYScsIGZwKSk7CisgIEFTU0VSVF9FUSgxVSwgX19mcGVuZGluZyhmcCkpOworICBfX2ZwdXJnZShmcCk7CisgIEFTU0VSVF9FUSgwVSwgX19mcGVuZGluZyhmcCkpOworCisgIEFTU0VSVF9FUSgnYicsIGZwdXRjKCdiJywgZnApKTsKKyAgQVNTRVJUX0VRKCdcbicsIGZwdXRjKCdcbicsIGZwKSk7CisgIEFTU0VSVF9FUSgyVSwgX19mcGVuZGluZyhmcCkpOworCisgIHJld2luZChmcCk7CisKKyAgY2hhciBidWZbMTZdOworICBjaGFyKiBzID0gZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZnApOworICBBU1NFUlRfVFJVRShzICE9IE5VTEwpOworICBBU1NFUlRfU1RSRVEoImJcbiIsIHMpOworCisgIGZjbG9zZShmcCk7Cit9CisKK1RFU1Qoc3RkaW9fZXh0LCBfZmx1c2hsYmYpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL2Rldi9udWxsIiwgInciKTsKKworICBjaGFyIGJ1ZlsxMjhdOworICBBU1NFUlRfRVEoMCwgc2V0dmJ1ZihmcCwgYnVmLCBfSU9MQkYsIHNpemVvZihidWYpKSk7CisKKyAgQVNTRVJUX0VRKCdhJywgZnB1dGMoJ2EnLCBmcCkpOworICBBU1NFUlRfRVEoMVUsIF9fZnBlbmRpbmcoZnApKTsKKworICBfZmx1c2hsYmYoKTsKKworICBBU1NFUlRfRVEoMFUsIF9fZnBlbmRpbmcoZnApKTsKKworICBmY2xvc2UoZnApOworfQorCitURVNUKHN0ZGlvX2V4dCwgX19mcmVhZGFibGVfX2Z3cml0YWJsZSkgeworICBGSUxFKiBmcCA9IGZvcGVuKCIvZGV2L251bGwiLCAiciIpOworICBBU1NFUlRfVFJVRShfX2ZyZWFkYWJsZShmcCkpOworICBBU1NFUlRfRkFMU0UoX19md3JpdGFibGUoZnApKTsKKyAgZmNsb3NlKGZwKTsKKworICBmcCA9IGZvcGVuKCIvZGV2L251bGwiLCAidyIpOworICBBU1NFUlRfRkFMU0UoX19mcmVhZGFibGUoZnApKTsKKyAgQVNTRVJUX1RSVUUoX19md3JpdGFibGUoZnApKTsKKyAgZmNsb3NlKGZwKTsKKworICBmcCA9IGZvcGVuKCIvZGV2L251bGwiLCAidysiKTsKKyAgQVNTRVJUX1RSVUUoX19mcmVhZGFibGUoZnApKTsKKyAgQVNTRVJUX1RSVUUoX19md3JpdGFibGUoZnApKTsKKyAgZmNsb3NlKGZwKTsKK30KKworVEVTVChzdGRpb19leHQsIF9fZnNldGxvY2tpbmcpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2MvdmVyc2lvbiIsICJyIik7CisgIEFTU0VSVF9FUShGU0VUTE9DS0lOR19JTlRFUk5BTCwgX19mc2V0bG9ja2luZyhmcCwgRlNFVExPQ0tJTkdfUVVFUlkpKTsKKyAgQVNTRVJUX0VRKEZTRVRMT0NLSU5HX0lOVEVSTkFMLCBfX2ZzZXRsb2NraW5nKGZwLCBGU0VUTE9DS0lOR19CWUNBTExFUikpOworICBBU1NFUlRfRVEoRlNFVExPQ0tJTkdfQllDQUxMRVIsIF9fZnNldGxvY2tpbmcoZnAsIEZTRVRMT0NLSU5HX1FVRVJZKSk7CisgIEFTU0VSVF9FUShGU0VUTE9DS0lOR19CWUNBTExFUiwgX19mc2V0bG9ja2luZyhmcCwgRlNFVExPQ0tJTkdfSU5URVJOQUwpKTsKKyAgQVNTRVJUX0VRKEZTRVRMT0NLSU5HX0lOVEVSTkFMLCBfX2ZzZXRsb2NraW5nKGZwLCBGU0VUTE9DS0lOR19RVUVSWSkpOworICBmY2xvc2UoZnApOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkaW9fdGVzdC5jcHAgYi90ZXN0cy9zdGRpb190ZXN0LmNwcAppbmRleCBiYmE3NDRhLi42MjY3N2NkIDEwMDY0NAotLS0gYS90ZXN0cy9zdGRpb190ZXN0LmNwcAorKysgYi90ZXN0cy9zdGRpb190ZXN0LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgPHdjaGFyLmg+CiAjaW5jbHVkZSA8bG9jYWxlLmg+CiAKKyNpbmNsdWRlIDx2ZWN0b3I+CisKICNpbmNsdWRlICJUZW1wb3JhcnlGaWxlLmgiCiAKIFRFU1Qoc3RkaW8sIGZsb2NrZmlsZV8xODIwODU2OF9zdGRlcnIpIHsKQEAgLTc3LDcgKzc5LDcgQEAKICAgaW50IHJjID0gZHByaW50Zih0Zi5mZCwgImhlbGxvXG4iKTsKICAgQVNTRVJUX0VRKHJjLCA2KTsKIAotICBsc2Vlayh0Zi5mZCwgU0VFS19TRVQsIDApOworICBsc2Vlayh0Zi5mZCwgMCwgU0VFS19TRVQpOwogICBGSUxFKiB0ZmlsZSA9IGZkb3Blbih0Zi5mZCwgInIiKTsKICAgQVNTRVJUX1RSVUUodGZpbGUgIT0gTlVMTCk7CiAKQEAgLTEwNyw3ICsxMDksNyBAQAogICAgIEFTU0VSVF9GQUxTRShmZW9mKGZwKSk7CiAgICAgQVNTRVJUX0VRKGdldGRlbGltKCZ3b3JkX3JlYWQsICZhbGxvY2F0ZWRfbGVuZ3RoLCAnICcsIGZwKSwgc3RhdGljX2Nhc3Q8aW50PihzdHJsZW4oZXhwZWN0ZWRbaV0pKSk7CiAgICAgQVNTRVJUX0dFKGFsbG9jYXRlZF9sZW5ndGgsIHN0cmxlbihleHBlY3RlZFtpXSkpOwotICAgIEFTU0VSVF9TVFJFUSh3b3JkX3JlYWQsIGV4cGVjdGVkW2ldKTsKKyAgICBBU1NFUlRfU1RSRVEoZXhwZWN0ZWRbaV0sIHdvcmRfcmVhZCk7CiAgIH0KICAgLy8gVGhlIGxhc3QgcmVhZCBzaG91bGQgaGF2ZSBzZXQgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBmb3IgdGhlIHN0cmVhbS4KICAgQVNTRVJUX1RSVUUoZmVvZihmcCkpOwpAQCAtMTQ5LDYgKzE1MSwxNSBAQAogICBmY2xvc2UoZnApOwogfQogCitURVNUKHN0ZGlvLCBnZXRkZWxpbV9kaXJlY3RvcnkpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2MiLCAiciIpOworICBBU1NFUlRfVFJVRShmcCAhPSBOVUxMKTsKKyAgY2hhciogd29yZF9yZWFkOworICBzaXplX3QgYWxsb2NhdGVkX2xlbmd0aDsKKyAgQVNTRVJUX0VRKC0xLCBnZXRkZWxpbSgmd29yZF9yZWFkLCAmYWxsb2NhdGVkX2xlbmd0aCwgJyAnLCBmcCkpOworICBmY2xvc2UoZnApOworfQorCiBURVNUKHN0ZGlvLCBnZXRsaW5lKSB7CiAgIEZJTEUqIGZwID0gdG1wZmlsZSgpOwogICBBU1NFUlRfVFJVRShmcCAhPSBOVUxMKTsKQEAgLTE3MSw3ICsxODIsNyBAQAogICB3aGlsZSAoKHJlYWRfY2hhcl9jb3VudCA9IGdldGxpbmUoJmxpbmVfcmVhZCwgJmFsbG9jYXRlZF9sZW5ndGgsIGZwKSkgIT0gLTEpIHsKICAgICBBU1NFUlRfRVEocmVhZF9jaGFyX2NvdW50LCBzdGF0aWNfY2FzdDxpbnQ+KHN0cmxlbihsaW5lX3dyaXR0ZW4pKSk7CiAgICAgQVNTRVJUX0dFKGFsbG9jYXRlZF9sZW5ndGgsIHN0cmxlbihsaW5lX3dyaXR0ZW4pKTsKLSAgICBBU1NFUlRfU1RSRVEobGluZV9yZWFkLCBsaW5lX3dyaXR0ZW4pOworICAgIEFTU0VSVF9TVFJFUShsaW5lX3dyaXR0ZW4sIGxpbmVfcmVhZCk7CiAgICAgKytyZWFkX2xpbmVfY291bnQ7CiAgIH0KICAgQVNTRVJUX0VRKHJlYWRfbGluZV9jb3VudCwgbGluZV9jb3VudCk7CkBAIC0zNjQsMjIgKzM3NSw1MiBAQAogICBFWFBFQ1RfU1RSRVEoInByaW50X21lX3R3aWNlIHByaW50X21lX3R3aWNlIiwgYnVmKTsKIH0KIAotVEVTVChzdGRpbywgc25wcmludGZfZl9zcGVjaWFsKSB7Ci0gIGNoYXIgYnVmW0JVRlNJWl07Ci0gIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZiIsIG5hbmYoIiIpKTsKLSAgRVhQRUNUX1NUUkNBU0VFUSgiTmFOIiwgYnVmKTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBDaGVja0luZk5hbihpbnQgc25wcmludGZfZm4oVCosIHNpemVfdCwgY29uc3QgVCosIC4uLiksCisgICAgICAgICAgICAgICAgIGNvbnN0IFQqIGZtdCwgY29uc3QgVCogZm10X3BsdXMsCisgICAgICAgICAgICAgICAgIGNvbnN0IFQqIG1pbnVzX2luZiwgY29uc3QgVCogaW5mXywgY29uc3QgVCogcGx1c19pbmYsCisgICAgICAgICAgICAgICAgIGNvbnN0IFQqIG1pbnVzX25hbiwgY29uc3QgVCogbmFuXywgY29uc3QgVCogcGx1c19uYW4pIHsKKyAgVCBidWZbQlVGU0laXTsKIAotICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWYiLCBIVUdFX1ZBTEYpOwotICBFWFBFQ1RfU1RSQ0FTRUVRKCJJbmYiLCBidWYpOworICBzbnByaW50Zl9mbihidWYsIHNpemVvZihidWYpLCBmbXQsIG5hbigiIikpOworICBFWFBFQ1RfU1RSRVEobmFuXywgYnVmKSA8PCBmbXQ7CisgIHNucHJpbnRmX2ZuKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZtdCwgLW5hbigiIikpOworICBFWFBFQ1RfU1RSRVEobWludXNfbmFuLCBidWYpIDw8IGZtdDsKKyAgc25wcmludGZfZm4oYnVmLCBzaXplb2YoYnVmKSwgZm10X3BsdXMsIG5hbigiIikpOworICBFWFBFQ1RfU1RSRVEocGx1c19uYW4sIGJ1ZikgPDwgZm10X3BsdXM7CisgIHNucHJpbnRmX2ZuKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZtdF9wbHVzLCAtbmFuKCIiKSk7CisgIEVYUEVDVF9TVFJFUShtaW51c19uYW4sIGJ1ZikgPDwgZm10X3BsdXM7CisKKyAgc25wcmludGZfZm4oYnVmLCBzaXplb2YoYnVmKSwgZm10LCBIVUdFX1ZBTCk7CisgIEVYUEVDVF9TVFJFUShpbmZfLCBidWYpIDw8IGZtdDsKKyAgc25wcmludGZfZm4oYnVmLCBzaXplb2YoYnVmKSwgZm10LCAtSFVHRV9WQUwpOworICBFWFBFQ1RfU1RSRVEobWludXNfaW5mLCBidWYpIDw8IGZtdDsKKyAgc25wcmludGZfZm4oYnVmLCBzaXplb2YoYnVmKSwgZm10X3BsdXMsIEhVR0VfVkFMKTsKKyAgRVhQRUNUX1NUUkVRKHBsdXNfaW5mLCBidWYpIDw8IGZtdF9wbHVzOworICBzbnByaW50Zl9mbihidWYsIHNpemVvZihidWYpLCBmbXRfcGx1cywgLUhVR0VfVkFMKTsKKyAgRVhQRUNUX1NUUkVRKG1pbnVzX2luZiwgYnVmKSA8PCBmbXRfcGx1czsKIH0KIAotVEVTVChzdGRpbywgc25wcmludGZfZ19zcGVjaWFsKSB7Ci0gIGNoYXIgYnVmW0JVRlNJWl07Ci0gIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZyIsIG5hbigiIikpOwotICBFWFBFQ1RfU1RSQ0FTRUVRKCJOYU4iLCBidWYpOworVEVTVChzdGRpbywgc25wcmludGZfaW5mX25hbikgeworICBDaGVja0luZk5hbihzbnByaW50ZiwgIiVhIiwgIiUrYSIsICItaW5mIiwgImluZiIsICIraW5mIiwgIi1uYW4iLCAibmFuIiwgIituYW4iKTsKKyAgQ2hlY2tJbmZOYW4oc25wcmludGYsICIlQSIsICIlK0EiLCAiLUlORiIsICJJTkYiLCAiK0lORiIsICItTkFOIiwgIk5BTiIsICIrTkFOIik7CisgIENoZWNrSW5mTmFuKHNucHJpbnRmLCAiJWUiLCAiJStlIiwgIi1pbmYiLCAiaW5mIiwgIitpbmYiLCAiLW5hbiIsICJuYW4iLCAiK25hbiIpOworICBDaGVja0luZk5hbihzbnByaW50ZiwgIiVFIiwgIiUrRSIsICItSU5GIiwgIklORiIsICIrSU5GIiwgIi1OQU4iLCAiTkFOIiwgIitOQU4iKTsKKyAgQ2hlY2tJbmZOYW4oc25wcmludGYsICIlZiIsICIlK2YiLCAiLWluZiIsICJpbmYiLCAiK2luZiIsICItbmFuIiwgIm5hbiIsICIrbmFuIik7CisgIENoZWNrSW5mTmFuKHNucHJpbnRmLCAiJUYiLCAiJStGIiwgIi1JTkYiLCAiSU5GIiwgIitJTkYiLCAiLU5BTiIsICJOQU4iLCAiK05BTiIpOworICBDaGVja0luZk5hbihzbnByaW50ZiwgIiVnIiwgIiUrZyIsICItaW5mIiwgImluZiIsICIraW5mIiwgIi1uYW4iLCAibmFuIiwgIituYW4iKTsKKyAgQ2hlY2tJbmZOYW4oc25wcmludGYsICIlRyIsICIlK0ciLCAiLUlORiIsICJJTkYiLCAiK0lORiIsICItTkFOIiwgIk5BTiIsICIrTkFOIik7Cit9CiAKLSAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVnIiwgSFVHRV9WQUwpOwotICBFWFBFQ1RfU1RSQ0FTRUVRKCJJbmYiLCBidWYpOworVEVTVChzdGRpbywgd3NwcmludGZfaW5mX25hbikgeworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlYSIsIEwiJSthIiwgTCItaW5mIiwgTCJpbmYiLCBMIitpbmYiLCBMIi1uYW4iLCBMIm5hbiIsIEwiK25hbiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlQSIsIEwiJStBIiwgTCItSU5GIiwgTCJJTkYiLCBMIitJTkYiLCBMIi1OQU4iLCBMIk5BTiIsIEwiK05BTiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlZSIsIEwiJStlIiwgTCItaW5mIiwgTCJpbmYiLCBMIitpbmYiLCBMIi1uYW4iLCBMIm5hbiIsIEwiK25hbiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlRSIsIEwiJStFIiwgTCItSU5GIiwgTCJJTkYiLCBMIitJTkYiLCBMIi1OQU4iLCBMIk5BTiIsIEwiK05BTiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlZiIsIEwiJStmIiwgTCItaW5mIiwgTCJpbmYiLCBMIitpbmYiLCBMIi1uYW4iLCBMIm5hbiIsIEwiK25hbiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlRiIsIEwiJStGIiwgTCItSU5GIiwgTCJJTkYiLCBMIitJTkYiLCBMIi1OQU4iLCBMIk5BTiIsIEwiK05BTiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlZyIsIEwiJStnIiwgTCItaW5mIiwgTCJpbmYiLCBMIitpbmYiLCBMIi1uYW4iLCBMIm5hbiIsIEwiK25hbiIpOworICBDaGVja0luZk5hbihzd3ByaW50ZiwgTCIlRyIsIEwiJStHIiwgTCItSU5GIiwgTCJJTkYiLCBMIitJTkYiLCBMIi1OQU4iLCBMIk5BTiIsIEwiK05BTiIpOwogfQogCiBURVNUKHN0ZGlvLCBzbnByaW50Zl9kX0lOVF9NQVgpIHsKQEAgLTQzOSw4ICs0ODAsMjIgQEAKIFRFU1Qoc3RkaW8sIHNucHJpbnRmX25lZ2F0aXZlX3plcm9fNTA4NDI5MikgewogICBjaGFyIGJ1ZltCVUZTSVpdOwogCisgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZSIsIC0wLjApOworICBFWFBFQ1RfU1RSRVEoIi0wLjAwMDAwMGUrMDAiLCBidWYpOworICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJUUiLCAtMC4wKTsKKyAgRVhQRUNUX1NUUkVRKCItMC4wMDAwMDBFKzAwIiwgYnVmKTsKICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVmIiwgLTAuMCk7CiAgIEVYUEVDVF9TVFJFUSgiLTAuMDAwMDAwIiwgYnVmKTsKKyAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVGIiwgLTAuMCk7CisgIEVYUEVDVF9TVFJFUSgiLTAuMDAwMDAwIiwgYnVmKTsKKyAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVnIiwgLTAuMCk7CisgIEVYUEVDVF9TVFJFUSgiLTAiLCBidWYpOworICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJUciLCAtMC4wKTsKKyAgRVhQRUNUX1NUUkVRKCItMCIsIGJ1Zik7CisgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlYSIsIC0wLjApOworICBFWFBFQ1RfU1RSRVEoIi0weDBwKzAiLCBidWYpOworICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJUEiLCAtMC4wKTsKKyAgRVhQRUNUX1NUUkVRKCItMFgwUCswIiwgYnVmKTsKIH0KIAogVEVTVChzdGRpbywgc25wcmludGZfdXRmOF8xNTQzOTU1NCkgewpAQCAtNjk1LDYgKzc1MCwxMjUgQEAKICAgZmNsb3NlKGZwKTsKIH0KIAorVEVTVChzdGRpbywgZm1lbW9wZW4pIHsKKyAgY2hhciBidWZbMTZdOworICBtZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CisgIEZJTEUqIGZwID0gZm1lbW9wZW4oYnVmLCBzaXplb2YoYnVmKSwgInIrIik7CisgIEFTU0VSVF9FUSgnPCcsIGZwdXRjKCc8JywgZnApKTsKKyAgQVNTRVJUX05FKEVPRiwgZnB1dHMoImFiYz5cbiIsIGZwKSk7CisgIGZmbHVzaChmcCk7CisKKyAgQVNTRVJUX1NUUkVRKCI8YWJjPlxuIiwgYnVmKTsKKworICByZXdpbmQoZnApOworCisgIGNoYXIgbGluZVsxNl07CisgIGNoYXIqIHMgPSBmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGZwKTsKKyAgQVNTRVJUX1RSVUUocyAhPSBOVUxMKTsKKyAgQVNTRVJUX1NUUkVRKCI8YWJjPlxuIiwgcyk7CisKKyAgZmNsb3NlKGZwKTsKK30KKworVEVTVChzdGRpbywgZm1lbW9wZW5fTlVMTCkgeworICBGSUxFKiBmcCA9IGZtZW1vcGVuKG51bGxwdHIsIDEyOCwgInIrIik7CisgIEFTU0VSVF9ORShFT0YsIGZwdXRzKCJ4eXpcbiIsIGZwKSk7CisKKyAgcmV3aW5kKGZwKTsKKworICBjaGFyIGxpbmVbMTZdOworICBjaGFyKiBzID0gZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmcCk7CisgIEFTU0VSVF9UUlVFKHMgIT0gTlVMTCk7CisgIEFTU0VSVF9TVFJFUSgieHl6XG4iLCBzKTsKKworICBmY2xvc2UoZnApOworfQorCitURVNUKHN0ZGlvLCBmbWVtb3Blbl9FSU5WQUwpIHsKKyAgY2hhciBidWZbMTZdOworCisgIC8vIEludmFsaWQgc2l6ZS4KKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEobnVsbHB0ciwgZm1lbW9wZW4oYnVmLCAwLCAicisiKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKworICAvLyBObyAnKycgd2l0aCBOVUxMIGJ1ZmZlci4KKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEobnVsbHB0ciwgZm1lbW9wZW4obnVsbHB0ciwgMCwgInIiKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKK30KKworVEVTVChzdGRpbywgb3Blbl9tZW1zdHJlYW0pIHsKKyAgY2hhciogcCA9IG51bGxwdHI7CisgIHNpemVfdCBzaXplID0gMDsKKyAgRklMRSogZnAgPSBvcGVuX21lbXN0cmVhbSgmcCwgJnNpemUpOworICBBU1NFUlRfTkUoRU9GLCBmcHV0cygiaGVsbG8sIHdvcmxkISIsIGZwKSk7CisgIGZjbG9zZShmcCk7CisKKyAgQVNTRVJUX1NUUkVRKCJoZWxsbywgd29ybGQhIiwgcCk7CisgIEFTU0VSVF9FUShzdHJsZW4oImhlbGxvLCB3b3JsZCEiKSwgc2l6ZSk7CisgIGZyZWUocCk7Cit9CisKK1RFU1Qoc3RkaW8sIG9wZW5fbWVtc3RyZWFtX0VJTlZBTCkgeworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgY2hhciogcDsKKyAgc2l6ZV90IHNpemU7CisKKyAgLy8gSW52YWxpZCBidWZmZXIuCisgIGVycm5vID0gMDsKKyAgQVNTRVJUX0VRKG51bGxwdHIsIG9wZW5fbWVtc3RyZWFtKG51bGxwdHIsICZzaXplKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKworICAvLyBJbnZhbGlkIHNpemUuCisgIGVycm5vID0gMDsKKyAgQVNTRVJUX0VRKG51bGxwdHIsIG9wZW5fbWVtc3RyZWFtKCZwLCBudWxscHRyKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyNlbHNlCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOworI2VuZGlmCit9CisKK1RFU1Qoc3RkaW8sIGZkb3Blbl9DTE9FWEVDKSB7CisgIGludCBmZCA9IG9wZW4oIi9wcm9jL3ZlcnNpb24iLCBPX1JET05MWSk7CisgIEFTU0VSVF9UUlVFKGZkICE9IC0xKTsKKworICAvLyBUaGlzIGZkIGRvZXNuJ3QgaGF2ZSBPX0NMT0VYRUMuLi4KKyAgaW50IGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkQpOworICBBU1NFUlRfVFJVRShmbGFncyAhPSAtMSk7CisgIEFTU0VSVF9FUSgwLCBmbGFncyAmIEZEX0NMT0VYRUMpOworCisgIEZJTEUqIGZwID0gZmRvcGVuKGZkLCAicmUiKTsKKyAgQVNTRVJUX1RSVUUoZnAgIT0gTlVMTCk7CisKKyAgLy8gLi4uYnV0IHRoZSBuZXcgb25lIGRvZXMuCisgIGZsYWdzID0gZmNudGwoZmlsZW5vKGZwKSwgRl9HRVRGRCk7CisgIEFTU0VSVF9UUlVFKGZsYWdzICE9IC0xKTsKKyAgQVNTRVJUX0VRKEZEX0NMT0VYRUMsIGZsYWdzICYgRkRfQ0xPRVhFQyk7CisKKyAgZmNsb3NlKGZwKTsKKyAgY2xvc2UoZmQpOworfQorCitURVNUKHN0ZGlvLCBmcmVvcGVuX0NMT0VYRUMpIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL3Byb2MvdmVyc2lvbiIsICJyIik7CisgIEFTU0VSVF9UUlVFKGZwICE9IE5VTEwpOworCisgIC8vIFRoaXMgRklMRSogZG9lc24ndCBoYXZlIE9fQ0xPRVhFQy4uLgorICBpbnQgZmxhZ3MgPSBmY250bChmaWxlbm8oZnApLCBGX0dFVEZEKTsKKyAgQVNTRVJUX1RSVUUoZmxhZ3MgIT0gLTEpOworICBBU1NFUlRfRVEoMCwgZmxhZ3MgJiBGRF9DTE9FWEVDKTsKKworICBmcCA9IGZyZW9wZW4oIi9wcm9jL3ZlcnNpb24iLCAicmUiLCBmcCk7CisKKyAgLy8gLi4uYnV0IHRoZSBuZXcgb25lIGRvZXMuCisgIGZsYWdzID0gZmNudGwoZmlsZW5vKGZwKSwgRl9HRVRGRCk7CisgIEFTU0VSVF9UUlVFKGZsYWdzICE9IC0xKTsKKyAgQVNTRVJUX0VRKEZEX0NMT0VYRUMsIGZsYWdzICYgRkRfQ0xPRVhFQyk7CisKKyAgZmNsb3NlKGZwKTsKK30KKwogLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmRyb2lkL2lzc3Vlcy9kZXRhaWw/aWQ9ODExNTUKIC8vIGh0dHA6Ly9iLzE4NTU2NjA3CiBURVNUKHN0ZGlvLCBmcmVhZF91bmJ1ZmZlcmVkX3BhdGhvbG9naWNhbF9wZXJmb3JtYW5jZSkgewpAQCAtNzA5LDcgKzg4Myw3IEBACiAKICAgdGltZV90IHQwID0gdGltZShOVUxMKTsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCAxMDI0OyArK2kpIHsKLSAgICBmcmVhZChidWYsIDY0KjEwMjQsIDEsIGZwKTsKKyAgICBBU1NFUlRfRVEoMVUsIGZyZWFkKGJ1ZiwgNjQqMTAyNCwgMSwgZnApKTsKICAgfQogICB0aW1lX3QgdDEgPSB0aW1lKE5VTEwpOwogCkBAIC03MjUsMyArODk5LDExNiBAQAogICAgIEFTU0VSVF9FUSgnXHhmZicsIGJ1ZltpXSk7CiAgIH0KIH0KKworVEVTVChzdGRpbywgZnJlYWRfRU9GKSB7CisgIHN0ZDo6c3RyaW5nIGRpZ2l0cygiMDEyMzQ1Njc4OSIpOworICBGSUxFKiBmcCA9IGZtZW1vcGVuKCZkaWdpdHNbMF0sIGRpZ2l0cy5zaXplKCksICJyIik7CisKKyAgLy8gVHJ5IHRvIHJlYWQgdG9vIG11Y2gsIGJ1dCBsaXR0bGUgZW5vdWdoIHRoYXQgaXQgc3RpbGwgZml0cyBpbiB0aGUgRklMRSdzIGludGVybmFsIGJ1ZmZlci4KKyAgY2hhciBidWYxWzQgKiA0XTsKKyAgbWVtc2V0KGJ1ZjEsIDAsIHNpemVvZihidWYxKSk7CisgIEFTU0VSVF9FUSgyVSwgZnJlYWQoYnVmMSwgNCwgNCwgZnApKTsKKyAgQVNTRVJUX1NUUkVRKCIwMTIzNDU2Nzg5IiwgYnVmMSk7CisgIEFTU0VSVF9UUlVFKGZlb2YoZnApKTsKKworICByZXdpbmQoZnApOworCisgIC8vIFRyeSB0byByZWFkIHdheSB0b28gbXVjaCBzbyBzdGRpbyB0cmllcyB0byByZWFkIG1vcmUgZGlyZWN0IGZyb20gdGhlIHN0cmVhbS4KKyAgY2hhciBidWYyWzQgKiA0MDk2XTsKKyAgbWVtc2V0KGJ1ZjIsIDAsIHNpemVvZihidWYyKSk7CisgIEFTU0VSVF9FUSgyVSwgZnJlYWQoYnVmMiwgNCwgNDA5NiwgZnApKTsKKyAgQVNTRVJUX1NUUkVRKCIwMTIzNDU2Nzg5IiwgYnVmMik7CisgIEFTU0VSVF9UUlVFKGZlb2YoZnApKTsKKworICBmY2xvc2UoZnApOworfQorCitzdGF0aWMgdm9pZCB0ZXN0X2ZyZWFkX2Zyb21fd3JpdGVfb25seV9zdHJlYW0oc2l6ZV90IG4pIHsKKyAgRklMRSogZnAgPSBmb3BlbigiL2Rldi9udWxsIiwgInciKTsKKyAgc3RkOjp2ZWN0b3I8Y2hhcj4gYnVmKG4sIDApOworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgwVSwgZnJlYWQoJmJ1ZlswXSwgbiwgMSwgZnApKTsKKyAgQVNTRVJUX0VRKEVCQURGLCBlcnJubyk7CisgIEFTU0VSVF9UUlVFKGZlcnJvcihmcCkpOworICBBU1NFUlRfRkFMU0UoZmVvZihmcCkpOworICBmY2xvc2UoZnApOworfQorCitURVNUKHN0ZGlvLCBmcmVhZF9mcm9tX3dyaXRlX29ubHlfc3RyZWFtX3Nsb3dfcGF0aCkgeworICB0ZXN0X2ZyZWFkX2Zyb21fd3JpdGVfb25seV9zdHJlYW0oMSk7Cit9CisKK1RFU1Qoc3RkaW8sIGZyZWFkX2Zyb21fd3JpdGVfb25seV9zdHJlYW1fZmFzdF9wYXRoKSB7CisgIHRlc3RfZnJlYWRfZnJvbV93cml0ZV9vbmx5X3N0cmVhbSg2NCoxMDI0KTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9md3JpdGVfYWZ0ZXJfZnJlYWQoc2l6ZV90IG4pIHsKKyAgVGVtcG9yYXJ5RmlsZSB0ZjsKKworICBGSUxFKiBmcCA9IGZkb3Blbih0Zi5mZCwgIncrIik7CisgIEFTU0VSVF9FUSgxVSwgZndyaXRlKCIxIiwgMSwgMSwgZnApKTsKKyAgZmZsdXNoKGZwKTsKKworICAvLyBXZSd2ZSBmbHVzaGVkIGJ1dCBub3QgcmV3b3VuZCwgc28gdGhlcmUncyBub3RoaW5nIHRvIHJlYWQuCisgIHN0ZDo6dmVjdG9yPGNoYXI+IGJ1ZihuLCAwKTsKKyAgQVNTRVJUX0VRKDBVLCBmcmVhZCgmYnVmWzBdLCAxLCBidWYuc2l6ZSgpLCBmcCkpOworICBBU1NFUlRfVFJVRShmZW9mKGZwKSk7CisKKyAgLy8gQnV0IGhpdHRpbmcgRU9GIGRvZXNuJ3QgcHJldmVudCB1cyBmcm9tIHdyaXRpbmcuLi4KKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEoMVUsIGZ3cml0ZSgiMiIsIDEsIDEsIGZwKSkgPDwgZXJybm87CisKKyAgLy8gQW5kIGlmIHdlIHJld2luZCwgZXZlcnl0aGluZydzIHRoZXJlLgorICByZXdpbmQoZnApOworICBBU1NFUlRfRVEoMlUsIGZyZWFkKCZidWZbMF0sIDEsIGJ1Zi5zaXplKCksIGZwKSk7CisgIEFTU0VSVF9FUSgnMScsIGJ1ZlswXSk7CisgIEFTU0VSVF9FUSgnMicsIGJ1ZlsxXSk7CisKKyAgZmNsb3NlKGZwKTsKK30KKworVEVTVChzdGRpbywgZndyaXRlX2FmdGVyX2ZyZWFkX3Nsb3dfcGF0aCkgeworICB0ZXN0X2Z3cml0ZV9hZnRlcl9mcmVhZCgxNik7Cit9CisKK1RFU1Qoc3RkaW8sIGZ3cml0ZV9hZnRlcl9mcmVhZF9mYXN0X3BhdGgpIHsKKyAgdGVzdF9md3JpdGVfYWZ0ZXJfZnJlYWQoNjQqMTAyNCk7Cit9CisKKy8vIGh0dHA6Ly9iLzE5MTcyNTE0CitURVNUKHN0ZGlvLCBmcmVhZF9hZnRlcl9mc2VlaykgeworICBUZW1wb3JhcnlGaWxlIHRmOworCisgIEZJTEUqIGZwID0gZm9wZW4odGYuZmlsZW5hbWUsICJ3KyIpOworICBBU1NFUlRfVFJVRShmcCAhPSBudWxscHRyKTsKKworICBjaGFyIGZpbGVfZGF0YVsxMjI4OF07CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgMTIyODg7IGkrKykgeworICAgIGZpbGVfZGF0YVtpXSA9IGk7CisgIH0KKyAgQVNTRVJUX0VRKDEyMjg4VSwgZndyaXRlKGZpbGVfZGF0YSwgMSwgMTIyODgsIGZwKSk7CisgIGZjbG9zZShmcCk7CisKKyAgZnAgPSBmb3Blbih0Zi5maWxlbmFtZSwgInIiKTsKKyAgQVNTRVJUX1RSVUUoZnAgIT0gbnVsbHB0cik7CisKKyAgY2hhciBidWZmZXJbODE5Ml07CisgIHNpemVfdCBjdXJfbG9jYXRpb24gPSAwOworICAvLyBTbWFsbCByZWFkIHRvIHBvcHVsYXRlIGludGVybmFsIGJ1ZmZlci4KKyAgQVNTRVJUX0VRKDEwMFUsIGZyZWFkKGJ1ZmZlciwgMSwgMTAwLCBmcCkpOworICBBU1NFUlRfRVEobWVtY21wKGZpbGVfZGF0YSwgYnVmZmVyLCAxMDApLCAwKTsKKworICBjdXJfbG9jYXRpb24gPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGZ0ZWxsKGZwKSk7CisgIC8vIExhcmdlIHJlYWQgdG8gZm9yY2UgcmVhZGluZyBpbnRvIHRoZSB1c2VyIHN1cHBsaWVkIGJ1ZmZlciBhbmQgYnlwYXNzaW5nCisgIC8vIHRoZSBpbnRlcm5hbCBidWZmZXIuCisgIEFTU0VSVF9FUSg4MTkyVSwgZnJlYWQoYnVmZmVyLCAxLCA4MTkyLCBmcCkpOworICBBU1NFUlRfRVEobWVtY21wKGZpbGVfZGF0YStjdXJfbG9jYXRpb24sIGJ1ZmZlciwgODE5MiksIDApOworCisgIC8vIFNtYWxsIGJhY2t3YXJkcyBzZWVrIHRvIHZlcmlmeSBmc2VlayBkb2VzIG5vdCByZXVzZSB0aGUgaW50ZXJuYWwgYnVmZmVyLgorICBBU1NFUlRfRVEoMCwgZnNlZWsoZnAsIC0yMiwgU0VFS19DVVIpKTsKKyAgY3VyX2xvY2F0aW9uID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihmdGVsbChmcCkpOworICBBU1NFUlRfRVEoMjJVLCBmcmVhZChidWZmZXIsIDEsIDIyLCBmcCkpOworICBBU1NFUlRfRVEobWVtY21wKGZpbGVfZGF0YStjdXJfbG9jYXRpb24sIGJ1ZmZlciwgMjIpLCAwKTsKKworICBmY2xvc2UoZnApOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkbGliX3Rlc3QuY3BwIGIvdGVzdHMvc3RkbGliX3Rlc3QuY3BwCmluZGV4IDU1M2YwMTguLjA1MGY1YTcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0ZGxpYl90ZXN0LmNwcAorKysgYi90ZXN0cy9zdGRsaWJfdGVzdC5jcHAKQEAgLTE1LDYgKzE1LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlICJCaW9uaWNEZWF0aFRlc3QuaCIKICNpbmNsdWRlICJUZW1wb3JhcnlGaWxlLmgiCiAKICNpbmNsdWRlIDxlcnJuby5oPgpAQCAtMjcsMTIgKzI4LDU0IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KIAorLy8gVGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIHRlc3RzIGFsbCBzZXQgdGhlIHNlZWQsIGdldCBmb3VyIHZhbHVlcywgcmVzZXQgdGhlIHNlZWQgYW5kIGNoZWNrCisvLyB0aGF0IHRoZXkgZ2V0IHRoZSBmaXJzdCB0d28gdmFsdWVzIHJlcGVhdGVkLCBhbmQgdGhlbiByZXNldCB0aGUgc2VlZCBhbmQgY2hlY2sgdHdvIG1vcmUgdmFsdWVzCisvLyB0byBydWxlIG91dCB0aGUgcG9zc2liaWxpdHkgdGhhdCB3ZSdyZSBqdXN0IGdvaW5nIHJvdW5kIGEgY3ljbGUgb2YgZm91ciB2YWx1ZXMuCisvLyBUT0RPOiBmYWN0b3IgdGhpcyBvdXQuCisKIFRFU1Qoc3RkbGliLCBkcmFuZDQ4KSB7CiAgIHNyYW5kNDgoMHgwMTAyMDMwNCk7CiAgIEVYUEVDVF9ET1VCTEVfRVEoMC42NTYxOTI5OTE5NTYyMzUyNiwgZHJhbmQ0OCgpKTsKICAgRVhQRUNUX0RPVUJMRV9FUSgwLjE4NTIyNTk3MjI5NzcyOTQxLCBkcmFuZDQ4KCkpOwogICBFWFBFQ1RfRE9VQkxFX0VRKDAuNDIwMTUwODcwNzI4NDQ1MzcsIGRyYW5kNDgoKSk7CiAgIEVYUEVDVF9ET1VCTEVfRVEoMC4wNjE2Mzc3ODMwNDczOTUwODksIGRyYW5kNDgoKSk7CisgIHNyYW5kNDgoMHgwMTAyMDMwNCk7CisgIEVYUEVDVF9ET1VCTEVfRVEoMC42NTYxOTI5OTE5NTYyMzUyNiwgZHJhbmQ0OCgpKTsKKyAgRVhQRUNUX0RPVUJMRV9FUSgwLjE4NTIyNTk3MjI5NzcyOTQxLCBkcmFuZDQ4KCkpOworICBzcmFuZDQ4KDB4MDEwMjAzMDQpOworICBFWFBFQ1RfRE9VQkxFX0VRKDAuNjU2MTkyOTkxOTU2MjM1MjYsIGRyYW5kNDgoKSk7CisgIEVYUEVDVF9ET1VCTEVfRVEoMC4xODUyMjU5NzIyOTc3Mjk0MSwgZHJhbmQ0OCgpKTsKK30KKworVEVTVChzdGRsaWIsIGVyYW5kNDgpIHsKKyAgY29uc3QgdW5zaWduZWQgc2hvcnQgc2VlZFszXSA9IHsgMHgzMzBlLCAweGFiY2QsIDB4MTIzNCB9OworICB1bnNpZ25lZCBzaG9ydCB4c3ViaVszXTsKKyAgbWVtY3B5KHhzdWJpLCBzZWVkLCBzaXplb2Yoc2VlZCkpOworICBFWFBFQ1RfRE9VQkxFX0VRKDAuMzk2NDY0NzczNzYwMjc1MzQsIGVyYW5kNDgoeHN1YmkpKTsKKyAgRVhQRUNUX0RPVUJMRV9FUSgwLjg0MDQ4NTM2OTQxMTQyNTE1LCBlcmFuZDQ4KHhzdWJpKSk7CisgIEVYUEVDVF9ET1VCTEVfRVEoMC4zNTMzMzYwOTcyNDUyNDM1MSwgZXJhbmQ0OCh4c3ViaSkpOworICBFWFBFQ1RfRE9VQkxFX0VRKDAuNDQ2NTgzNDM0Nzk2NTQ0MDUsIGVyYW5kNDgoeHN1YmkpKTsKKyAgbWVtY3B5KHhzdWJpLCBzZWVkLCBzaXplb2Yoc2VlZCkpOworICBFWFBFQ1RfRE9VQkxFX0VRKDAuMzk2NDY0NzczNzYwMjc1MzQsIGVyYW5kNDgoeHN1YmkpKTsKKyAgRVhQRUNUX0RPVUJMRV9FUSgwLjg0MDQ4NTM2OTQxMTQyNTE1LCBlcmFuZDQ4KHhzdWJpKSk7CisgIG1lbWNweSh4c3ViaSwgc2VlZCwgc2l6ZW9mKHNlZWQpKTsKKyAgRVhQRUNUX0RPVUJMRV9FUSgwLjM5NjQ2NDc3Mzc2MDI3NTM0LCBlcmFuZDQ4KHhzdWJpKSk7CisgIEVYUEVDVF9ET1VCTEVfRVEoMC44NDA0ODUzNjk0MTE0MjUxNSwgZXJhbmQ0OCh4c3ViaSkpOworfQorCitURVNUKHN0ZGxpYiwgbGNvbmc0OCkgeworICB1bnNpZ25lZCBzaG9ydCBwWzddID0geyAweDAxMDIsIDB4MDMwNCwgMHgwNTA2LCAweDA3MDgsIDB4MDkwYSwgMHgwYjBjLCAweDBkMGUgfTsKKyAgbGNvbmc0OChwKTsKKyAgRVhQRUNUX0VRKDE1MzEzODk5ODEsIGxyYW5kNDgoKSk7CisgIEVYUEVDVF9FUSgxNTk4ODAxNTMzLCBscmFuZDQ4KCkpOworICBFWFBFQ1RfRVEoMjA4MDUzNDg1MywgbHJhbmQ0OCgpKTsKKyAgRVhQRUNUX0VRKDExMDI0ODg4OTcsIGxyYW5kNDgoKSk7CisgIGxjb25nNDgocCk7CisgIEVYUEVDVF9FUSgxNTMxMzg5OTgxLCBscmFuZDQ4KCkpOworICBFWFBFQ1RfRVEoMTU5ODgwMTUzMywgbHJhbmQ0OCgpKTsKKyAgbGNvbmc0OChwKTsKKyAgRVhQRUNUX0VRKDE1MzEzODk5ODEsIGxyYW5kNDgoKSk7CisgIEVYUEVDVF9FUSgxNTk4ODAxNTMzLCBscmFuZDQ4KCkpOwogfQogCiBURVNUKHN0ZGxpYiwgbHJhbmQ0OCkgewpAQCAtNDEsNiArODQsMTIgQEAKICAgRVhQRUNUX0VRKDM5Nzc2OTc0NiwgbHJhbmQ0OCgpKTsKICAgRVhQRUNUX0VRKDkwMjI2NzEyNCwgbHJhbmQ0OCgpKTsKICAgRVhQRUNUX0VRKDEzMjM2NjEzMSwgbHJhbmQ0OCgpKTsKKyAgc3JhbmQ0OCgweDAxMDIwMzA0KTsKKyAgRVhQRUNUX0VRKDE0MDkxNjM3MjAsIGxyYW5kNDgoKSk7CisgIEVYUEVDVF9FUSgzOTc3Njk3NDYsIGxyYW5kNDgoKSk7CisgIHNyYW5kNDgoMHgwMTAyMDMwNCk7CisgIEVYUEVDVF9FUSgxNDA5MTYzNzIwLCBscmFuZDQ4KCkpOworICBFWFBFQ1RfRVEoMzk3NzY5NzQ2LCBscmFuZDQ4KCkpOwogfQogCiBURVNUKHN0ZGxpYiwgcmFuZG9tKSB7CkBAIC00OSw2ICs5OCwxMiBAQAogICBFWFBFQ1RfRVEoMTM5OTg2NTExNywgcmFuZG9tKCkpOwogICBFWFBFQ1RfRVEoMjAzMjY0MzI4MywgcmFuZG9tKCkpOwogICBFWFBFQ1RfRVEoNTcxMzI5MjE2LCByYW5kb20oKSk7CisgIHNyYW5kb20oMHgwMTAyMDMwNCk7CisgIEVYUEVDVF9FUSg1NTQzNjczNSwgcmFuZG9tKCkpOworICBFWFBFQ1RfRVEoMTM5OTg2NTExNywgcmFuZG9tKCkpOworICBzcmFuZG9tKDB4MDEwMjAzMDQpOworICBFWFBFQ1RfRVEoNTU0MzY3MzUsIHJhbmRvbSgpKTsKKyAgRVhQRUNUX0VRKDEzOTk4NjUxMTcsIHJhbmRvbSgpKTsKIH0KIAogVEVTVChzdGRsaWIsIHJhbmQpIHsKQEAgLTU3LDYgKzExMiwxMiBAQAogICBFWFBFQ1RfRVEoMTM5OTg2NTExNywgcmFuZCgpKTsKICAgRVhQRUNUX0VRKDIwMzI2NDMyODMsIHJhbmQoKSk7CiAgIEVYUEVDVF9FUSg1NzEzMjkyMTYsIHJhbmQoKSk7CisgIHNyYW5kKDB4MDEwMjAzMDQpOworICBFWFBFQ1RfRVEoNTU0MzY3MzUsIHJhbmQoKSk7CisgIEVYUEVDVF9FUSgxMzk5ODY1MTE3LCByYW5kKCkpOworICBzcmFuZCgweDAxMDIwMzA0KTsKKyAgRVhQRUNUX0VRKDU1NDM2NzM1LCByYW5kKCkpOworICBFWFBFQ1RfRVEoMTM5OTg2NTExNywgcmFuZCgpKTsKIH0KIAogVEVTVChzdGRsaWIsIG1yYW5kNDgpIHsKQEAgLTY1LDYgKzEyNiwxMiBAQAogICBFWFBFQ1RfRVEoNzk1NTM5NDkzLCBtcmFuZDQ4KCkpOwogICBFWFBFQ1RfRVEoMTgwNDUzNDI0OSwgbXJhbmQ0OCgpKTsKICAgRVhQRUNUX0VRKDI2NDczMjI2MiwgbXJhbmQ0OCgpKTsKKyAgc3JhbmQ0OCgweDAxMDIwMzA0KTsKKyAgRVhQRUNUX0VRKC0xNDc2NjM5ODU2LCBtcmFuZDQ4KCkpOworICBFWFBFQ1RfRVEoNzk1NTM5NDkzLCBtcmFuZDQ4KCkpOworICBzcmFuZDQ4KDB4MDEwMjAzMDQpOworICBFWFBFQ1RfRVEoLTE0NzY2Mzk4NTYsIG1yYW5kNDgoKSk7CisgIEVYUEVDVF9FUSg3OTU1Mzk0OTMsIG1yYW5kNDgoKSk7CiB9CiAKIFRFU1Qoc3RkbGliLCBwb3NpeF9tZW1hbGlnbikgewpAQCAtOTksNiArMTY2LDE4IEBACiAgIEFTU0VSVF9FUShFTk9FTlQsIGVycm5vKTsKIH0KIAorVEVTVChzdGRsaWIsIHJlYWxwYXRoX19jb21wb25lbnRfYWZ0ZXJfbm9uX2RpcmVjdG9yeSkgeworICBlcnJubyA9IDA7CisgIGNoYXIqIHAgPSByZWFscGF0aCgiL2Rldi9udWxsLy4iLCBOVUxMKTsKKyAgQVNTRVJUX1RSVUUocCA9PSBOVUxMKTsKKyAgQVNTRVJUX0VRKEVOT1RESVIsIGVycm5vKTsKKworICBlcnJubyA9IDA7CisgIHAgPSByZWFscGF0aCgiL2Rldi9udWxsLy4uIiwgTlVMTCk7CisgIEFTU0VSVF9UUlVFKHAgPT0gTlVMTCk7CisgIEFTU0VSVF9FUShFTk9URElSLCBlcnJubyk7Cit9CisKIFRFU1Qoc3RkbGliLCByZWFscGF0aCkgewogICAvLyBHZXQgdGhlIG5hbWUgb2YgdGhpcyBleGVjdXRhYmxlLgogICBjaGFyIGV4ZWN1dGFibGVfcGF0aFtQQVRIX01BWF07CkBAIC0xNTYsMjUgKzIzNSw0MSBAQAogCiAvLyBFdmVuIHRob3VnaCB0aGlzIGlzbid0IHJlYWxseSBhIGRlYXRoIHRlc3QsIHdlIGhhdmUgdG8gc2F5ICJEZWF0aFRlc3QiIGhlcmUgc28gZ3Rlc3Qga25vd3MgdG8KIC8vIHJ1biB0aGlzIHRlc3QgKHdoaWNoIGV4aXRzIG5vcm1hbGx5KSBpbiBpdHMgb3duIHByb2Nlc3MuCi1URVNUKHN0ZGxpYl9EZWF0aFRlc3QsIGdldGVudl9hZnRlcl9tYWluX3RocmVhZF9leGl0cykgeworCitjbGFzcyBzdGRsaWJfRGVhdGhUZXN0IDogcHVibGljIEJpb25pY0RlYXRoVGVzdCB7fTsKKworVEVTVF9GKHN0ZGxpYl9EZWF0aFRlc3QsIGdldGVudl9hZnRlcl9tYWluX3RocmVhZF9leGl0cykgewogICAvLyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2FuZHJvaWQvaXNzdWVzL2RldGFpbD9pZD01NzQyMQotICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CiAgIEFTU0VSVF9FWElUKFRlc3RCdWc1NzQyMV9tYWluKCksIDo6dGVzdGluZzo6RXhpdGVkV2l0aENvZGUoMCksICIiKTsKIH0KIAorVEVTVChzdGRsaWIsIG1rb3N0ZW1wNjQpIHsKKyAgVGVtcG9yYXJ5RmlsZSB0ZihbXShjaGFyKiBwYXRoKSB7IHJldHVybiBta29zdGVtcDY0KHBhdGgsIE9fQ0xPRVhFQyk7IH0pOworICBpbnQgZmxhZ3MgPSBmY250bCh0Zi5mZCwgRl9HRVRGRCk7CisgIEFTU0VSVF9UUlVFKGZsYWdzICE9IC0xKTsKKyAgQVNTRVJUX0VRKEZEX0NMT0VYRUMsIGZsYWdzICYgRkRfQ0xPRVhFQyk7Cit9CisKK1RFU1Qoc3RkbGliLCBta29zdGVtcCkgeworICBUZW1wb3JhcnlGaWxlIHRmKFtdKGNoYXIqIHBhdGgpIHsgcmV0dXJuIG1rb3N0ZW1wKHBhdGgsIE9fQ0xPRVhFQyk7IH0pOworICBpbnQgZmxhZ3MgPSBmY250bCh0Zi5mZCwgRl9HRVRGRCk7CisgIEFTU0VSVF9UUlVFKGZsYWdzICE9IC0xKTsKKyAgQVNTRVJUX0VRKEZEX0NMT0VYRUMsIGZsYWdzICYgRkRfQ0xPRVhFQyk7Cit9CisKK1RFU1Qoc3RkbGliLCBta3N0ZW1wNjQpIHsKKyAgVGVtcG9yYXJ5RmlsZSB0Zihta3N0ZW1wNjQpOworICBzdHJ1Y3Qgc3RhdDY0IHNiOworICBBU1NFUlRfRVEoMCwgZnN0YXQ2NCh0Zi5mZCwgJnNiKSk7CisgIEFTU0VSVF9FUShPX0xBUkdFRklMRSwgZmNudGwodGYuZmQsIEZfR0VURkwpICYgT19MQVJHRUZJTEUpOworfQorCiBURVNUKHN0ZGxpYiwgbWtzdGVtcCkgewogICBUZW1wb3JhcnlGaWxlIHRmOwogICBzdHJ1Y3Qgc3RhdCBzYjsKICAgQVNTRVJUX0VRKDAsIGZzdGF0KHRmLmZkLCAmc2IpKTsKIH0KIAotVEVTVChzdGRsaWIsIG1rc3RlbXA2NCkgewotICBHZW5lcmljVGVtcG9yYXJ5RmlsZTxta3N0ZW1wNjQ+IHRmOwotICBzdHJ1Y3Qgc3RhdDY0IHNiOwotICBBU1NFUlRfRVEoMCwgZnN0YXQ2NCh0Zi5mZCwgJnNiKSk7Ci0gIEFTU0VSVF9FUShPX0xBUkdFRklMRSwgZmNudGwodGYuZmQsIEZfR0VURkwpICYgT19MQVJHRUZJTEUpOwotfQotCiBURVNUKHN0ZGxpYiwgc3lzdGVtKSB7CiAgIGludCBzdGF0dXM7CiAKQEAgLTIwMyw2ICsyOTgsMjMgQEAKICAgQVNTRVJUX0RPVUJMRV9FUSgxLjIzLCBzdHJ0b2xkKCIxLjIzIiwgTlVMTCkpOwogfQogCitURVNUKHN0ZGxpYiwgc3RydG9mXzIyMDY3MDEpIHsKKyAgQVNTRVJUX0VRKDAuMGYsIHN0cnRvZigiNy4wMDY0OTIzMjE2MjQwODUzNTQ2MTg2NDc5MTY0NDk1ZS00NiIsIE5VTEwpKTsKKyAgQVNTRVJUX0VRKDEuNGUtNDVmLCBzdHJ0b2YoIjcuMDA2NDkyMzIxNjI0MDg1MzU0NjE4NjQ3OTE2NDQ5NmUtNDYiLCBOVUxMKSk7Cit9CisKK1RFU1Qoc3RkbGliLCBzdHJ0b2RfbGFyZ2VzdF9zdWJub3JtYWwpIHsKKyAgLy8gVGhpcyB2YWx1ZSBoYXMgYmVlbiBrbm93biB0byBjYXVzZSBqYXZhYyBhbmQgamF2YSB0byBpbmZpbml0ZSBsb29wLgorICAvLyBodHRwOi8vd3d3LmV4cGxvcmluZ2JpbmFyeS5jb20vamF2YS1oYW5ncy13aGVuLWNvbnZlcnRpbmctMi0yMjUwNzM4NTg1MDcyMDEyZS0zMDgvCisgIEFTU0VSVF9FUSgyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwOCwgc3RydG9kKCIyLjIyNTA3Mzg1ODUwNzIwMTJlLTMwOCIsIE5VTEwpKTsKKyAgQVNTRVJUX0VRKDIuMjI1MDczODU4NTA3MjAxNGUtMzA4LCBzdHJ0b2QoIjAuMDAwMjIyNTA3Mzg1ODUwNzIwMTJlLTMwNCIsIE5VTEwpKTsKKyAgQVNTRVJUX0VRKDIuMjI1MDczODU4NTA3MjAxNGUtMzA4LCBzdHJ0b2QoIjAwMDAwMDAyLjIyNTA3Mzg1ODUwNzIwMTJlLTMwOCIsIE5VTEwpKTsKKyAgQVNTRVJUX0VRKDIuMjI1MDczODU4NTA3MjAxNGUtMzA4LCBzdHJ0b2QoIjIuMjI1MDczODU4NTA3MjAxMjAwMDAwZS0zMDgiLCBOVUxMKSk7CisgIEFTU0VSVF9FUSgyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwOCwgc3RydG9kKCIyLjIyNTA3Mzg1ODUwNzIwMTJlLTAwMzA4IiwgTlVMTCkpOworICBBU1NFUlRfRVEoMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDgsIHN0cnRvZCgiMi4yMjUwNzM4NTg1MDcyMDEyOTk3ODAwMWUtMzA4IiwgTlVMTCkpOworICBBU1NFUlRfRVEoLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4LCBzdHJ0b2QoIi0yLjIyNTA3Mzg1ODUwNzIwMTJlLTMwOCIsIE5VTEwpKTsKK30KKwogVEVTVChzdGRsaWIsIHF1aWNrX2V4aXQpIHsKICAgcGlkX3QgcGlkID0gZm9yaygpOwogICBBU1NFUlRfTkUoLTEsIHBpZCkgPDwgc3RyZXJyb3IoZXJybm8pOwpAQCAtMzYxLDMgKzQ3Myw1MSBAQAogICBBU1NFUlRfRVEoRU5PVFRZLCBlcnJubyk7CiAgIGNsb3NlKGZkKTsKIH0KKworVEVTVChzdGRsaWIsIHN0cnRvbF9FSU5WQUwpIHsKKyAgZXJybm8gPSAwOworICBzdHJ0b2woIjEyMyIsIE5VTEwsIC0xKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHN0cnRvbCgiMTIzIiwgTlVMTCwgMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICBzdHJ0b2woIjEyMyIsIE5VTEwsIDM3KTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKHN0ZGxpYiwgc3RydG9sbF9FSU5WQUwpIHsKKyAgZXJybm8gPSAwOworICBzdHJ0b2xsKCIxMjMiLCBOVUxMLCAtMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICBzdHJ0b2xsKCIxMjMiLCBOVUxMLCAxKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHN0cnRvbGwoIjEyMyIsIE5VTEwsIDM3KTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKHN0ZGxpYiwgc3RydG91bF9FSU5WQUwpIHsKKyAgZXJybm8gPSAwOworICBzdHJ0b3VsKCIxMjMiLCBOVUxMLCAtMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICBzdHJ0b3VsKCIxMjMiLCBOVUxMLCAxKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHN0cnRvdWwoIjEyMyIsIE5VTEwsIDM3KTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKHN0ZGxpYiwgc3RydG91bGxfRUlOVkFMKSB7CisgIGVycm5vID0gMDsKKyAgc3RydG91bGwoIjEyMyIsIE5VTEwsIC0xKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHN0cnRvdWxsKCIxMjMiLCBOVUxMLCAxKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHN0cnRvdWxsKCIxMjMiLCBOVUxMLCAzNyk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0cmluZ19wb3NpeF9zdHJlcnJvcl9yX3Rlc3QuY3BwIGIvdGVzdHMvc3RyaW5nX3Bvc2l4X3N0cmVycm9yX3JfdGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUzYjQxYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3N0cmluZ19wb3NpeF9zdHJlcnJvcl9yX3Rlc3QuY3BwCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjdW5kZWYgX0dOVV9TT1VSQ0UKKyNpbmNsdWRlIDxmZWF0dXJlcy5oPiAvLyBHZXQgX19CSU9OSUNfXyBvciBfX0dMSUJDX18gc28gd2UgY2FuIHRlbGwgd2hhdCB3ZSdyZSB1c2luZy4KKworI2lmIGRlZmluZWQoX19HTElCQ19fKQorCisvLyBBdCB0aGUgdGltZSBvZiB3cml0aW5nLCBsaWJjeHggLS0gd2hpY2ggaXMgZHJhZ2dlZCBpbiBieSBndGVzdCAtLSBhc3N1bWVzCisvLyBkZWNsYXJhdGlvbnMgZnJvbSBnbGliYyBvZiB0aGluZ3MgdGhhdCBhcmVuJ3QgYXZhaWxhYmxlIHdpdGhvdXQgX19VU0VfR05VLgorLy8gVGhpcyBtZWFucyB3ZSBjYW4ndCBldmVuIGJ1aWxkIHRoaXMgdGVzdCAod2hpY2ggaXMgYSBwcm9ibGVtIGJlY2F1c2UgdGhhdAorLy8gbWVhbnMgaXQgZG9lc24ndCBnZXQgaW5jbHVkZWQgaW4gQ1RTKS4KKy8vIEZvciBnbGliYyAyLjE1LCB0aGUgc3ltYm9scyBpbiBxdWVzdGlvbiBhcmU6CisvLyAgIGF0X3F1aWNrX2V4aXQsIHF1aWNrX2V4aXQsIHZhc3ByaW50Ziwgc3RydG9sbF9sLCBzdHJ0b3VsbF9sLCBhbmQgc3RydG9sZF9sLgorCisjIGlmIF9fR0xJQkNfUFJFUkVRKDIsIDE5KQorIyAgZXJyb3IgY2hlY2sgd2hldGhlciB3ZSBjYW4gYnVpbGQgdGhpcyBub3cuLi4KKyMgZW5kaWYKKworI2Vsc2UKKworI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCitURVNUKHN0cmluZywgcG9zaXhfc3RyZXJyb3JfcikgeworICBjaGFyIGJ1ZlsyNTZdOworCisgIC8vIFZhbGlkLgorICBBU1NFUlRfRVEoMCwgc3RyZXJyb3JfcigwLCBidWYsIHNpemVvZihidWYpKSk7CisgIEFTU0VSVF9TVFJFUSgiU3VjY2VzcyIsIGJ1Zik7CisgIEFTU0VSVF9FUSgwLCBzdHJlcnJvcl9yKDEsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKyAgQVNTRVJUX1NUUkVRKCJPcGVyYXRpb24gbm90IHBlcm1pdHRlZCIsIGJ1Zik7CisKKyAgLy8gSW52YWxpZC4KKyAgQVNTRVJUX0VRKDAsIHN0cmVycm9yX3IoLTEsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKyAgQVNTRVJUX1NUUkVRKCJVbmtub3duIGVycm9yIC0xIiwgYnVmKTsKKyAgQVNTRVJUX0VRKDAsIHN0cmVycm9yX3IoMTIzNCwgYnVmLCBzaXplb2YoYnVmKSkpOworICBBU1NFUlRfU1RSRVEoIlVua25vd24gZXJyb3IgMTIzNCIsIGJ1Zik7CisKKyAgLy8gQnVmZmVyIHRvbyBzbWFsbC4KKyAgZXJybm8gPSAwOworICBtZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CisgIEFTU0VSVF9FUSgtMSwgc3RyZXJyb3Jfcig0NTY3LCBidWYsIDIpKTsKKyAgQVNTRVJUX1NUUkVRKCJVIiwgYnVmKTsKKyAgLy8gVGhlIFBPU0lYIHN0cmVycm9yX3Igc2V0cyBlcnJubyB0byBFUkFOR0UgKHRoZSBHTlUgb25lIGRvZXNuJ3QpLgorICBBU1NFUlRfRVEoRVJBTkdFLCBlcnJubyk7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RyaW5nX3Rlc3QuY3BwIGIvdGVzdHMvc3RyaW5nX3Rlc3QuY3BwCmluZGV4IGYxYWM5ZGQuLjFkNjNjNzYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0cmluZ190ZXN0LmNwcAorKysgYi90ZXN0cy9zdHJpbmdfdGVzdC5jcHAKQEAgLTE0LDE1ICsxNCwyMiBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgKi8KIAotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjZGVmaW5lIF9HTlVfU09VUkNFIDEKIAotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8bWFsbG9jLmg+Ci0jaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorI2luY2x1ZGUgPG1hbGxvYy5oPgorI2luY2x1ZGUgPG1hdGguaD4KKwogI2luY2x1ZGUgImJ1ZmZlcl90ZXN0cy5oIgogCisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorI2RlZmluZSBTVFJMQ1BZX1NVUFBPUlRFRAorI2RlZmluZSBTVFJMQ0FUX1NVUFBPUlRFRAorI2VuZGlmCisKICNkZWZpbmUgS0IgMTAyNAogI2RlZmluZSBTTUFMTCAxKktCCiAjZGVmaW5lIE1FRElVTSA0KktCCkBAIC02OCwzMiArNzUsMzggQEAKIAogICBBU1NFUlRfU1RSRVEoIlVua25vd24gZXJyb3IgMTAwMSIsIHN0cmVycm9yMTAwMSk7CiAjZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOworICBHVEVTVF9MT0dfKElORk8pIDw8ICJTa2lwcGluZyB0ZXN0LCByZXF1aXJlcyBhIHRocmVhZCBzYWZlIHN0cmVycm9yLiI7CiAjZW5kaWYgLy8gX19CSU9OSUNfXwogfQogCi1URVNUKHN0cmluZywgc3RyZXJyb3JfcikgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykgLy8gZ2xpYmMncyBzdHJlcnJvcl9yIGRvZXNuJ3QgZXZlbiBoYXZlIHRoZSBzYW1lIHNpZ25hdHVyZSBhcyB0aGUgUE9TSVggb25lLgorVEVTVChzdHJpbmcsIGdudV9zdHJlcnJvcl9yKSB7CiAgIGNoYXIgYnVmWzI1Nl07CiAKKyAgLy8gTm90ZSB0aGF0IGdsaWJjIGRvZXNuJ3QgbmVjZXNzYXJpbHkgd3JpdGUgaW50byB0aGUgYnVmZmVyLgorCiAgIC8vIFZhbGlkLgotICBBU1NFUlRfRVEoMCwgc3RyZXJyb3JfcigwLCBidWYsIHNpemVvZihidWYpKSk7CisgIEFTU0VSVF9TVFJFUSgiU3VjY2VzcyIsIHN0cmVycm9yX3IoMCwgYnVmLCBzaXplb2YoYnVmKSkpOworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKICAgQVNTRVJUX1NUUkVRKCJTdWNjZXNzIiwgYnVmKTsKLSAgQVNTRVJUX0VRKDAsIHN0cmVycm9yX3IoMSwgYnVmLCBzaXplb2YoYnVmKSkpOworI2VuZGlmCisgIEFTU0VSVF9TVFJFUSgiT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQiLCBzdHJlcnJvcl9yKDEsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCiAgIEFTU0VSVF9TVFJFUSgiT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQiLCBidWYpOworI2VuZGlmCiAKICAgLy8gSW52YWxpZC4KLSAgQVNTRVJUX0VRKDAsIHN0cmVycm9yX3IoLTEsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKyAgQVNTRVJUX1NUUkVRKCJVbmtub3duIGVycm9yIC0xIiwgc3RyZXJyb3JfcigtMSwgYnVmLCBzaXplb2YoYnVmKSkpOwogICBBU1NFUlRfU1RSRVEoIlVua25vd24gZXJyb3IgLTEiLCBidWYpOwotICBBU1NFUlRfRVEoMCwgc3RyZXJyb3JfcigxMjM0LCBidWYsIHNpemVvZihidWYpKSk7CisgIEFTU0VSVF9TVFJFUSgiVW5rbm93biBlcnJvciAxMjM0Iiwgc3RyZXJyb3JfcigxMjM0LCBidWYsIHNpemVvZihidWYpKSk7CiAgIEFTU0VSVF9TVFJFUSgiVW5rbm93biBlcnJvciAxMjM0IiwgYnVmKTsKIAogICAvLyBCdWZmZXIgdG9vIHNtYWxsLgotICBBU1NFUlRfRVEoLTEsIHN0cmVycm9yX3IoMCwgYnVmLCAyKSk7Ci0gIEFTU0VSVF9FUShFUkFOR0UsIGVycm5vKTsKLSNlbHNlIC8vIF9fQklPTklDX18KLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7Ci0jZW5kaWYgLy8gX19CSU9OSUNfXworICBlcnJubyA9IDA7CisgIG1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKKyAgQVNTRVJUX0VRKGJ1Ziwgc3RyZXJyb3Jfcig0NTY3LCBidWYsIDIpKTsKKyAgQVNTRVJUX1NUUkVRKCJVIiwgYnVmKTsKKyAgLy8gVGhlIEdOVSBzdHJlcnJvcl9yIGRvZXNuJ3Qgc2V0IGVycm5vICh0aGUgUE9TSVggb25lIHNldHMgaXQgdG8gRVJBTkdFKS4KKyAgQVNTRVJUX0VRKDAsIGVycm5vKTsKIH0KIAogVEVTVChzdHJpbmcsIHN0cnNpZ25hbCkgewpAQCAtMTI5LDggKzE0Miw3IEBACiAgIEFTU0VSVF9TVFJFUSgiVW5rbm93biBzaWduYWwgMTAwMSIsIHN0cnNpZ25hbDEwMDEpOwogfQogCi0vLyBUT0RPOiB3aGVyZSBkaWQgdGhlc2UgbnVtYmVycyBjb21lIGZyb20/Ci0jZGVmaW5lIFBPU19JVEVSICAgIDEwCisvLyBUT0RPOiB3aGVyZSBkaWQgdGhpcyBudW1iZXIgY29tZSBmcm9tPwogI2RlZmluZSBJVEVSICAgICAgICA1MDAKIAogLy8gRm9yIGV2ZXJ5IGxlbmd0aCB3ZSB3YW50IHRvIHRlc3QsIHZhcnkgYW5kIGNoYW5nZSBhbGlnbm1lbnQKQEAgLTEzOSw4ICsxNTEsOSBAQAogLy8gVGhlc2UgdGVzdHMgY29udHJpYnV0ZWQgYnkgSW50ZWwgQ29ycG9yYXRpb24uCiAvLyBUT0RPOiBtYWtlIHRoZXNlIHRlc3RzIG1vcmUgaW50ZW50aW9uLXJldmVhbGluZyBhbmQgbGVzcyByYW5kb20uCiB0ZW1wbGF0ZTxjbGFzcyBDaGFyYWN0ZXI+Ci1zdHJ1Y3QgU3RyaW5nVGVzdFN0YXRlIHsKLSAgU3RyaW5nVGVzdFN0YXRlKHNpemVfdCBNQVhfTEVOKSA6IE1BWF9MRU4oTUFYX0xFTikgeworY2xhc3MgU3RyaW5nVGVzdFN0YXRlIHsKKyBwdWJsaWM6CisgIFN0cmluZ1Rlc3RTdGF0ZShzaXplX3QgTUFYX0xFTikgOiBNQVhfTEVOKE1BWF9MRU4pLCBhbGlnbjFfaW5kZXhfKDApLCBhbGlnbjJfaW5kZXhfKDApIHsKICAgICBpbnQgbWF4X2FsaWdubWVudCA9IDY0OwogCiAgICAgLy8gVE9ETzogZml4IHRoZSB0ZXN0cyB0byBub3Qgc29tZXRpbWVzIHVzZSB0d2ljZSB0aGVpciBzcGVjaWZpZWQgIk1BWF9MRU4iLgpAQCAtMTU5LDE1ICsxNzIsMzAgQEAKICAgICBmcmVlKGdsb2JfcHRyMik7CiAgIH0KIAotICB2b2lkIE5ld0l0ZXJhdGlvbigpIHsKLSAgICBpbnQgYWxpZ25tZW50c1tdID0geyAyNCwgMzIsIDE2LCA0OCwgMSwgMiwgMywgMCwgNSwgMTEgfTsKLSAgICBpbnQgdXNhYmxlX2FsaWdubWVudHMgPSAxMDsKLSAgICBpbnQgYWxpZ24xID0gYWxpZ25tZW50c1tyYW5kb20oKSAlICh1c2FibGVfYWxpZ25tZW50cyAtIDEpXTsKLSAgICBpbnQgYWxpZ24yID0gYWxpZ25tZW50c1tyYW5kb20oKSAlICh1c2FibGVfYWxpZ25tZW50cyAtIDEpXTsKKyAgdm9pZCBCZWdpbkl0ZXJhdGlvbnMoKSB7CisgICAgYWxpZ24xX2luZGV4XyA9IDA7CisgICAgYWxpZ24yX2luZGV4XyA9IDA7CiAKLSAgICBwdHIgPSBnbG9iX3B0ciArIGFsaWduMTsKLSAgICBwdHIxID0gZ2xvYl9wdHIxICsgYWxpZ24xOwotICAgIHB0cjIgPSBnbG9iX3B0cjIgKyBhbGlnbjI7CisgICAgUmVzZXRQb2ludGVycygpOworICB9CisKKyAgYm9vbCBIYXNOZXh0SXRlcmF0aW9uKCkgeworICAgIHJldHVybiAoYWxpZ24xX2luZGV4XyAhPSAoYWxpZ25tZW50c19zaXplIC0gMSkgfHwgYWxpZ24yX2luZGV4XyAhPSAoYWxpZ25tZW50c19zaXplIC0gMSkpOworICB9CisKKyAgdm9pZCBOZXh0SXRlcmF0aW9uKCkgeworICAgIGlmIChhbGlnbjFfaW5kZXhfID09IChhbGlnbm1lbnRzX3NpemUgLSAxKSAmJiBhbGlnbjJfaW5kZXhfID09IChhbGlnbm1lbnRzX3NpemUgLSAxKSkgeworICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhbGlnbjFfaW5kZXhfID09IChhbGlnbm1lbnRzX3NpemUgLSAxKSkgeworICAgICAgYWxpZ24xX2luZGV4XyA9IDA7CisgICAgICBhbGlnbjJfaW5kZXhfKys7CisgICAgfSBlbHNlIHsKKyAgICAgIGFsaWduMV9pbmRleF8rKzsKKyAgICB9CisKKyAgICBSZXNldFBvaW50ZXJzKCk7CiAgIH0KIAogICBjb25zdCBzaXplX3QgTUFYX0xFTjsKQEAgLTE3Niw3ICsyMDQsMTAgQEAKICAgc2l6ZV90IGxlbltJVEVSICsgMV07CiAKICBwcml2YXRlOgorICBzdGF0aWMgc2l6ZV90IGFsaWdubWVudHNbXTsKKyAgc3RhdGljIHNpemVfdCBhbGlnbm1lbnRzX3NpemU7CiAgIENoYXJhY3RlciAqZ2xvYl9wdHIsICpnbG9iX3B0cjEsICpnbG9iX3B0cjI7CisgIHNpemVfdCBhbGlnbjFfaW5kZXhfLCBhbGlnbjJfaW5kZXhfOwogCiAgIC8vIENhbGN1bGF0ZSBpbnB1dCBsZW5ndGhzIGFuZCBmaWxsIHN0YXRlLmxlbiB3aXRoIHRoZW0uCiAgIC8vIFRlc3Qgc21hbGwgbGVuZ3RocyB3aXRoIG1vcmUgZGVuc2l0eSB0aGFuIGJpZyBvbmVzLiBNYW51YWxseSBwdXNoCkBAIC0xOTMsMTkgKzIyNCwzMyBAQAogICAgIH0KICAgICBsZW5bbisrXSA9IE1BWF9MRU47CiAgIH0KKworICB2b2lkIFJlc2V0UG9pbnRlcnMoKSB7CisgICAgaWYgKGFsaWduMV9pbmRleF8gPT0gYWxpZ25tZW50c19zaXplIHx8IGFsaWduMl9pbmRleF8gPT0gYWxpZ25tZW50c19zaXplKSB7CisgICAgICBwdHIgPSBwdHIxID0gcHRyMiA9IG51bGxwdHI7CisgICAgfSBlbHNlIHsKKyAgICAgIHB0ciA9IGdsb2JfcHRyICsgYWxpZ25tZW50c1thbGlnbjFfaW5kZXhfXTsKKyAgICAgIHB0cjEgPSBnbG9iX3B0cjEgKyBhbGlnbm1lbnRzW2FsaWduMV9pbmRleF9dOworICAgICAgcHRyMiA9IGdsb2JfcHRyMiArIGFsaWdubWVudHNbYWxpZ24yX2luZGV4X107CisgICAgfQorICB9CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBDaGFyYWN0ZXI+CitzaXplX3QgU3RyaW5nVGVzdFN0YXRlPENoYXJhY3Rlcj46OmFsaWdubWVudHNbXSA9IHsgMjQsIDMyLCAxNiwgNDgsIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDExIH07CisKK3RlbXBsYXRlPGNsYXNzIENoYXJhY3Rlcj4KK3NpemVfdCBTdHJpbmdUZXN0U3RhdGU8Q2hhcmFjdGVyPjo6YWxpZ25tZW50c19zaXplID0gc2l6ZW9mKGFsaWdubWVudHMpL3NpemVvZihzaXplX3QpOworCiBURVNUKHN0cmluZywgc3RyY2F0KSB7CiAgIFN0cmluZ1Rlc3RTdGF0ZTxjaGFyPiBzdGF0ZShTTUFMTCk7CiAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgc3RhdGUubjsgaSsrKSB7Ci0gICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBQT1NfSVRFUjsgaisrKSB7Ci0gICAgICBzdGF0ZS5OZXdJdGVyYXRpb24oKTsKLQorICAgIGZvciAoc3RhdGUuQmVnaW5JdGVyYXRpb25zKCk7IHN0YXRlLkhhc05leHRJdGVyYXRpb24oKTsgc3RhdGUuTmV4dEl0ZXJhdGlvbigpKSB7CiAgICAgICBtZW1zZXQoc3RhdGUucHRyMiwgJ1wyJywgc3RhdGUuTUFYX0xFTik7CiAgICAgICBzdGF0ZS5wdHIyW3N0YXRlLk1BWF9MRU4gLSAxXSA9ICdcMCc7CiAgICAgICBtZW1jcHkoc3RhdGUucHRyLCBzdGF0ZS5wdHIyLCAyICogc3RhdGUuTUFYX0xFTik7CiAKLSAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCByYW5kb20oKSAmIDI1NSwgc3RhdGUubGVuW2ldKTsKKyAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCAnTCcsIHN0YXRlLmxlbltpXSk7CiAgICAgICBzdGF0ZS5wdHIxW3JhbmRvbSgpICUgc3RhdGUubGVuW2ldXSA9ICdcMCc7CiAgICAgICBzdGF0ZS5wdHIxW3N0YXRlLmxlbltpXSAtIDFdID0gJ1wwJzsKIApAQCAtMzc4LDEzICs0MjMsMTEgQEAKIH0KIAogVEVTVChzdHJpbmcsIHN0cmNocikgewotICBpbnQgc2Vla19jaGFyID0gcmFuZG9tKCkgJiAyNTU7CisgIGludCBzZWVrX2NoYXIgPSAnUic7CiAKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKFNNQUxMKTsKICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBzdGF0ZS5uOyBpKyspIHsKLSAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IFBPU19JVEVSOyBqKyspIHsKLSAgICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKICAgICAgIGlmICh+c2Vla19jaGFyID4gMCkgewogICAgICAgICBtZW1zZXQoc3RhdGUucHRyMSwgfnNlZWtfY2hhciwgc3RhdGUubGVuW2ldKTsKICAgICAgIH0gZWxzZSB7CkBAIC00MTMsOSArNDU2LDcgQEAKIFRFU1Qoc3RyaW5nLCBzdHJjbXApIHsKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKFNNQUxMKTsKICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBzdGF0ZS5uOyBpKyspIHsKLSAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IFBPU19JVEVSOyBqKyspIHsKLSAgICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKICAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCAndicsIHN0YXRlLk1BWF9MRU4pOwogICAgICAgbWVtc2V0KHN0YXRlLnB0cjIsICduJywgc3RhdGUuTUFYX0xFTik7CiAgICAgICBzdGF0ZS5wdHIxW3N0YXRlLmxlbltpXSAtIDFdID0gJ1wwJzsKQEAgLTQ0OSw5ICs0OTAsNyBAQAogCiBURVNUKHN0cmluZywgc3RwY3B5KSB7CiAgIFN0cmluZ1Rlc3RTdGF0ZTxjaGFyPiBzdGF0ZShTTUFMTCk7Ci0gIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgUE9TX0lURVI7IGorKykgewotICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCisgIGZvciAoc3RhdGUuQmVnaW5JdGVyYXRpb25zKCk7IHN0YXRlLkhhc05leHRJdGVyYXRpb24oKTsgc3RhdGUuTmV4dEl0ZXJhdGlvbigpKSB7CiAgICAgc2l6ZV90IHBvcyA9IHJhbmRvbSgpICUgc3RhdGUuTUFYX0xFTjsKIAogICAgIG1lbXNldChzdGF0ZS5wdHIxLCAnXDInLCBwb3MpOwpAQCAtNDc1LDkgKzUxNCw3IEBACiAKIFRFU1Qoc3RyaW5nLCBzdHJjcHkpIHsKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKFNNQUxMKTsKLSAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBQT1NfSVRFUjsgaisrKSB7Ci0gICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KKyAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKICAgICBzaXplX3QgcG9zID0gcmFuZG9tKCkgJSBzdGF0ZS5NQVhfTEVOOwogCiAgICAgbWVtc2V0KHN0YXRlLnB0cjEsICdcMicsIHBvcyk7CkBAIC01MDAsMTIgKzUzNywxMCBAQAogfQogCiBURVNUKHN0cmluZywgc3RybGNhdCkgewotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyNpZiBkZWZpbmVkKFNUUkxDQVRfU1VQUE9SVEVEKQogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoU01BTEwpOwogICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRlLm47IGkrKykgewotICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgUE9TX0lURVI7IGorKykgewotICAgICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KKyAgICBmb3IgKHN0YXRlLkJlZ2luSXRlcmF0aW9ucygpOyBzdGF0ZS5IYXNOZXh0SXRlcmF0aW9uKCk7IHN0YXRlLk5leHRJdGVyYXRpb24oKSkgewogICAgICAgbWVtc2V0KHN0YXRlLnB0cjIsICdcMicsIHN0YXRlLk1BWF9MRU4gKyBzdGF0ZS5sZW5baV0pOwogICAgICAgc3RhdGUucHRyMltzdGF0ZS5NQVhfTEVOIC0gMV0gPSAnXDAnOwogICAgICAgbWVtY3B5KHN0YXRlLnB0ciwgc3RhdGUucHRyMiwgc3RhdGUuTUFYX0xFTiArIHN0YXRlLmxlbltpXSk7CkBAIC01MjUsMjEgKzU2MCwxNiBAQAogICAgICAgQVNTRVJUX1RSVUUobWVtY21wKHN0YXRlLnB0ciwgc3RhdGUucHRyMiwgc3RhdGUuTUFYX0xFTiArIHN0YXRlLmxlbltpXSkgPT0gMCk7CiAgICAgfQogICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KKyNlbHNlCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlNraXBwaW5nIHRlc3QsIHN0cmxjYXQgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKIH0KIAogVEVTVChzdHJpbmcsIHN0cmxjcHkpIHsKLSNpZiBkZWZpbmVkKF9fQklPTklDX18pCisjaWYgZGVmaW5lZChTVFJMQ1BZX1NVUFBPUlRFRCkKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKFNNQUxMKTsKLSAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBQT1NfSVRFUjsgaisrKSB7Ci0gICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KLSAgICBpbnQgcmFuZCA9IHJhbmRvbSgpICYgMjU1OwotICAgIGlmIChyYW5kIDwgMSkgewotICAgICAgcmFuZCA9IDE7Ci0gICAgfQorICBmb3IgKHN0YXRlLkJlZ2luSXRlcmF0aW9ucygpOyBzdGF0ZS5IYXNOZXh0SXRlcmF0aW9uKCk7IHN0YXRlLk5leHRJdGVyYXRpb24oKSkgeworICAgIGludCByYW5kID0gJ08nOwogICAgIG1lbXNldChzdGF0ZS5wdHIxLCByYW5kLCBzdGF0ZS5NQVhfTEVOKTsKIAogICAgIHNpemVfdCBwb3MgPSByYW5kb20oKSAlIHN0YXRlLk1BWF9MRU47CkBAIC01NDgsNyArNTc4LDcgQEAKICAgICB9CiAgICAgbWVtY3B5KHN0YXRlLnB0ciwgc3RhdGUucHRyMSwgc3RhdGUuTUFYX0xFTik7CiAKLSAgICBtZW1zZXQoc3RhdGUucHRyMiwgcmFuZG9tKCkgJiAyNTUsIHN0YXRlLk1BWF9MRU4pOworICAgIG1lbXNldChzdGF0ZS5wdHIyLCAnSScsIHN0YXRlLk1BWF9MRU4pOwogICAgIG1lbWNweShzdGF0ZS5wdHIgKyBzdGF0ZS5NQVhfTEVOLCBzdGF0ZS5wdHIyLCBzdGF0ZS5NQVhfTEVOKTsKIAogICAgIGlmIChwb3MgPiBzdGF0ZS5NQVhfTEVOIC0gMSkgewpAQCAtNTYyLDIyICs1OTIsMjAgQEAKICAgICBBU1NFUlRfRkFMU0UoKG1lbWNtcChzdGF0ZS5wdHIxLCBzdGF0ZS5wdHIsIHN0YXRlLk1BWF9MRU4pICE9IDApIHx8CiAgICAgICAgICAgICAgICAgIChtZW1jbXAoc3RhdGUucHRyMiwgc3RhdGUucHRyICsgc3RhdGUuTUFYX0xFTiwgc3RhdGUuTUFYX0xFTikgIT0gMCkpOwogICB9Ci0jZWxzZSAvLyBfX0JJT05JQ19fCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmIC8vIF9fQklPTklDX18KKyNlbHNlCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlNraXBwaW5nIHRlc3QsIHN0cmxjcHkgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKIH0KIAogVEVTVChzdHJpbmcsIHN0cm5jYXQpIHsKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKFNNQUxMKTsKICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBzdGF0ZS5uOyBpKyspIHsKLSAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IFBPU19JVEVSOyBqKyspIHsKLSAgICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKICAgICAgIG1lbXNldChzdGF0ZS5wdHIyLCAnXDInLCBzdGF0ZS5NQVhfTEVOKTsKICAgICAgIHN0YXRlLnB0cjJbc3RhdGUuTUFYX0xFTiAtIDFdID0gJ1wwJzsKICAgICAgIG1lbWNweShzdGF0ZS5wdHIsIHN0YXRlLnB0cjIsIDIgKiBzdGF0ZS5NQVhfTEVOKTsKIAotICAgICAgbWVtc2V0KHN0YXRlLnB0cjEsIHJhbmRvbSgpICYgMjU1LCBzdGF0ZS5sZW5baV0pOworICAgICAgbWVtc2V0KHN0YXRlLnB0cjEsICdJJywgc3RhdGUubGVuW2ldKTsKICAgICAgIHN0YXRlLnB0cjFbcmFuZG9tKCkgJSBzdGF0ZS5sZW5baV1dID0gJ1wwJzsKICAgICAgIHN0YXRlLnB0cjFbc3RhdGUubGVuW2ldIC0gMV0gPSAnXDAnOwogCkBAIC01OTYsOSArNjI0LDcgQEAKIFRFU1Qoc3RyaW5nLCBzdHJuY21wKSB7CiAgIFN0cmluZ1Rlc3RTdGF0ZTxjaGFyPiBzdGF0ZShTTUFMTCk7CiAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgc3RhdGUubjsgaSsrKSB7Ci0gICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBQT1NfSVRFUjsgaisrKSB7Ci0gICAgICBzdGF0ZS5OZXdJdGVyYXRpb24oKTsKLQorICAgIGZvciAoc3RhdGUuQmVnaW5JdGVyYXRpb25zKCk7IHN0YXRlLkhhc05leHRJdGVyYXRpb24oKTsgc3RhdGUuTmV4dEl0ZXJhdGlvbigpKSB7CiAgICAgICBtZW1zZXQoc3RhdGUucHRyMSwgJ3YnLCBzdGF0ZS5NQVhfTEVOKTsKICAgICAgIG1lbXNldChzdGF0ZS5wdHIyLCAnbicsIHN0YXRlLk1BWF9MRU4pOwogICAgICAgc3RhdGUucHRyMVtzdGF0ZS5sZW5baV0gLSAxXSA9ICdcMCc7CkBAIC02MzIsMTIgKzY1OCw4IEBACiAKIFRFU1Qoc3RyaW5nLCBzdHBuY3B5KSB7CiAgIFN0cmluZ1Rlc3RTdGF0ZTxjaGFyPiBzdGF0ZShTTUFMTCk7Ci0gIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgSVRFUjsgaisrKSB7Ci0gICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KLSAgICAvLyBDaG9vc2UgYSByYW5kb20gdmFsdWUgdG8gZmlsbCB0aGUgc3RyaW5nLCBleGNlcHQgXDAgKHN0cmluZyB0ZXJtaW5hdG9yKSwKLSAgICAvLyBvciBcMSAoZ3VhcmFudGVlcyBpdCdzIGRpZmZlcmVudCBmcm9tIGFueXRoaW5nIGluIHB0cjIpLgotICAgIG1lbXNldChzdGF0ZS5wdHIxLCAocmFuZG9tKCkgJSAyNTQpICsgMiwgc3RhdGUuTUFYX0xFTik7CisgIGZvciAoc3RhdGUuQmVnaW5JdGVyYXRpb25zKCk7IHN0YXRlLkhhc05leHRJdGVyYXRpb24oKTsgc3RhdGUuTmV4dEl0ZXJhdGlvbigpKSB7CisgICAgbWVtc2V0KHN0YXRlLnB0cjEsICdKJywgc3RhdGUuTUFYX0xFTik7CiAgICAgLy8gQ2hvb3NlIGEgcmFuZG9tIHNpemUgZm9yIG91ciBzcmMgYnVmZmVyLgogICAgIHNpemVfdCBwdHIxX2xlbiA9IHJhbmRvbSgpICUgc3RhdGUuTUFYX0xFTjsKICAgICBzdGF0ZS5wdHIxW3B0cjFfbGVuXSA9ICdcMCc7CkBAIC02NzEsMTIgKzY5MywxMCBAQAogCiBURVNUKHN0cmluZywgc3RybmNweSkgewogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoU01BTEwpOwotICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IElURVI7IGorKykgewotICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCisgIGZvciAoc3RhdGUuQmVnaW5JdGVyYXRpb25zKCk7IHN0YXRlLkhhc05leHRJdGVyYXRpb24oKTsgc3RhdGUuTmV4dEl0ZXJhdGlvbigpKSB7CiAgICAgLy8gQ2hvb3NlIGEgcmFuZG9tIHZhbHVlIHRvIGZpbGwgdGhlIHN0cmluZywgZXhjZXB0IFwwIChzdHJpbmcgdGVybWluYXRvciksCiAgICAgLy8gb3IgXDEgKGd1YXJhbnRlZXMgaXQncyBkaWZmZXJlbnQgZnJvbSBhbnl0aGluZyBpbiBwdHIyKS4KLSAgICBtZW1zZXQoc3RhdGUucHRyMSwgKHJhbmRvbSgpICUgMjU0KSArIDIsIHN0YXRlLk1BWF9MRU4pOworICAgIG1lbXNldChzdGF0ZS5wdHIxLCAnSycsIHN0YXRlLk1BWF9MRU4pOwogICAgIC8vIENob29zZSBhIHJhbmRvbSBzaXplIGZvciBvdXIgc3JjIGJ1ZmZlci4KICAgICBzaXplX3QgcHRyMV9sZW4gPSByYW5kb20oKSAlIHN0YXRlLk1BWF9MRU47CiAgICAgc3RhdGUucHRyMVtwdHIxX2xlbl0gPSAnXDAnOwpAQCAtNzA5LDEyICs3MjksMTAgQEAKIH0KIAogVEVTVChzdHJpbmcsIHN0cnJjaHIpIHsKLSAgaW50IHNlZWtfY2hhciA9IHJhbmRvbSgpICYgMjU1OworICBpbnQgc2Vla19jaGFyID0gJ00nOwogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoU01BTEwpOwogICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IHN0YXRlLm47IGkrKykgewotICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgUE9TX0lURVI7IGorKykgewotICAgICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KKyAgICBmb3IgKHN0YXRlLkJlZ2luSXRlcmF0aW9ucygpOyBzdGF0ZS5IYXNOZXh0SXRlcmF0aW9uKCk7IHN0YXRlLk5leHRJdGVyYXRpb24oKSkgewogICAgICAgaWYgKH5zZWVrX2NoYXIgPiAwKSB7CiAgICAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCB+c2Vla19jaGFyLCBzdGF0ZS5sZW5baV0pOwogICAgICAgfSBlbHNlIHsKQEAgLTc0MSwxMiArNzU5LDEwIEBACiB9CiAKIFRFU1Qoc3RyaW5nLCBtZW1jaHIpIHsKLSAgaW50IHNlZWtfY2hhciA9IHJhbmRvbSgpICYgMjU1OworICBpbnQgc2Vla19jaGFyID0gJ04nOwogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoU01BTEwpOwogICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRlLm47IGkrKykgewotICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgUE9TX0lURVI7IGorKykgewotICAgICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KKyAgICBmb3IgKHN0YXRlLkJlZ2luSXRlcmF0aW9ucygpOyBzdGF0ZS5IYXNOZXh0SXRlcmF0aW9uKCk7IHN0YXRlLk5leHRJdGVyYXRpb24oKSkgewogICAgICAgbWVtc2V0KHN0YXRlLnB0cjEsIH5zZWVrX2NoYXIsIHN0YXRlLmxlbltpXSk7CiAKICAgICAgIHNpemVfdCBwb3MgPSByYW5kb20oKSAlIHN0YXRlLk1BWF9MRU47CkBAIC03NzIsMTIgKzc4OCwxMCBAQAogfQogCiBURVNUKHN0cmluZywgbWVtcmNocikgewotICBpbnQgc2Vla19jaGFyID0gcmFuZG9tKCkgJiAyNTU7CisgIGludCBzZWVrX2NoYXIgPSAnUCc7CiAgIFN0cmluZ1Rlc3RTdGF0ZTxjaGFyPiBzdGF0ZShTTUFMTCk7CiAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGUubjsgaSsrKSB7Ci0gICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBQT1NfSVRFUjsgaisrKSB7Ci0gICAgICBzdGF0ZS5OZXdJdGVyYXRpb24oKTsKLQorICAgIGZvciAoc3RhdGUuQmVnaW5JdGVyYXRpb25zKCk7IHN0YXRlLkhhc05leHRJdGVyYXRpb24oKTsgc3RhdGUuTmV4dEl0ZXJhdGlvbigpKSB7CiAgICAgICBtZW1zZXQoc3RhdGUucHRyMSwgfnNlZWtfY2hhciwgc3RhdGUubGVuW2ldKTsKIAogICAgICAgc2l6ZV90IHBvcyA9IHJhbmRvbSgpICUgc3RhdGUuTUFYX0xFTjsKQEAgLTc5NywxMSArODExLDkgQEAKIFRFU1Qoc3RyaW5nLCBtZW1jbXApIHsKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKFNNQUxMKTsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGF0ZS5uOyBpKyspIHsKLSAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IFBPU19JVEVSOyBqKyspIHsKLSAgICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCi0gICAgICBpbnQgYzEgPSByYW5kb20oKSAmIDB4ZmY7Ci0gICAgICBpbnQgYzIgPSByYW5kb20oKSAmIDB4ZmY7CisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKKyAgICAgIGludCBjMSA9ICdBJzsKKyAgICAgIGludCBjMiA9ICdOJzsKICAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCBjMSwgc3RhdGUuTUFYX0xFTik7CiAgICAgICBtZW1zZXQoc3RhdGUucHRyMiwgYzEsIHN0YXRlLk1BWF9MRU4pOwogCkBAIC04MjAsOSArODMyLDcgQEAKICAgU3RyaW5nVGVzdFN0YXRlPHdjaGFyX3Q+IHN0YXRlKFNNQUxMKTsKIAogICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRlLm47IGkrKykgewotICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgUE9TX0lURVI7IGorKykgewotICAgICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KKyAgICBmb3IgKHN0YXRlLkJlZ2luSXRlcmF0aW9ucygpOyBzdGF0ZS5IYXNOZXh0SXRlcmF0aW9uKCk7IHN0YXRlLk5leHRJdGVyYXRpb24oKSkgewogICAgICAgbG9uZyBsb25nIG1hc2sgPSAoKGxvbmcgbG9uZykgMSA8PCA4ICogc2l6ZW9mKHdjaGFyX3QpKSAtIDE7CiAgICAgICBpbnQgYzEgPSByYW5kKCkgJiBtYXNrOwogICAgICAgaW50IGMyID0gcmFuZCgpICYgbWFzazsKQEAgLTg0MiwxMSArODUyLDkgQEAKIAogVEVTVChzdHJpbmcsIG1lbWNweSkgewogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoTEFSR0UpOwotICBpbnQgcmFuZCA9IHJhbmRvbSgpICYgMjU1OworICBpbnQgcmFuZCA9IDQ7CiAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGUubiAtIDE7IGkrKykgewotICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgUE9TX0lURVI7IGorKykgewotICAgICAgc3RhdGUuTmV3SXRlcmF0aW9uKCk7Ci0KKyAgICBmb3IgKHN0YXRlLkJlZ2luSXRlcmF0aW9ucygpOyBzdGF0ZS5IYXNOZXh0SXRlcmF0aW9uKCk7IHN0YXRlLk5leHRJdGVyYXRpb24oKSkgewogICAgICAgc2l6ZV90IHBvcyA9IHJhbmRvbSgpICUgKHN0YXRlLk1BWF9MRU4gLSBzdGF0ZS5sZW5baV0pOwogCiAgICAgICBtZW1zZXQoc3RhdGUucHRyMSwgcmFuZCwgc3RhdGUubGVuW2ldKTsKQEAgLTg2NCwxMSArODcyLDkgQEAKIAogVEVTVChzdHJpbmcsIG1lbXNldCkgewogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoTEFSR0UpOwotICBjaGFyIGNoID0gcmFuZG9tICgpICYgMjU1OworICBjaGFyIGNoID0gJ1AnOwogICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRlLm4gLSAxOyBpKyspIHsKLSAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IFBPU19JVEVSOyBqKyspIHsKLSAgICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKICAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCB+Y2gsIHN0YXRlLk1BWF9MRU4pOwogICAgICAgbWVtY3B5KHN0YXRlLnB0cjIsIHN0YXRlLnB0cjEsIHN0YXRlLk1BWF9MRU4pOwogCkBAIC04ODcsMTQgKzg5MywxMiBAQAogVEVTVChzdHJpbmcsIG1lbW1vdmUpIHsKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKExBUkdFKTsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGF0ZS5uIC0gMTsgaSsrKSB7Ci0gICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBQT1NfSVRFUjsgaisrKSB7Ci0gICAgICBzdGF0ZS5OZXdJdGVyYXRpb24oKTsKLQotICAgICAgbWVtc2V0KHN0YXRlLnB0cjEsIHJhbmRvbSgpICYgMjU1LCAyICogc3RhdGUuTUFYX0xFTik7CisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKKyAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCAnUScsIDIgKiBzdGF0ZS5NQVhfTEVOKTsKIAogICAgICAgc2l6ZV90IHBvcyA9IHJhbmRvbSgpICUgKHN0YXRlLk1BWF9MRU4gLSBzdGF0ZS5sZW5baV0pOwogCi0gICAgICBtZW1zZXQoc3RhdGUucHRyMSwgcmFuZG9tKCkgJiAyNTUsIHN0YXRlLmxlbltpXSk7CisgICAgICBtZW1zZXQoc3RhdGUucHRyMSwgJ1InLCBzdGF0ZS5sZW5baV0pOwogICAgICAgbWVtY3B5KHN0YXRlLnB0cjIsIHN0YXRlLnB0cjEsIDIgKiBzdGF0ZS5NQVhfTEVOKTsKICAgICAgIG1lbWNweShzdGF0ZS5wdHIsIHN0YXRlLnB0cjEsIHN0YXRlLmxlbltpXSk7CiAgICAgICBtZW1jcHkoc3RhdGUucHRyMSArIHBvcywgc3RhdGUucHRyLCBzdGF0ZS5sZW5baV0pOwpAQCAtOTIwLDggKzkyNCw4IEBACiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCA1OyBpKyspIHsKICAgICBjaGFyKiBwdHIyID0gZ2xvYl9wdHIyICsgYWxpZ25tZW50c1tpXTsKLSAgICBtZW1zZXQocHRyMSwgcmFuZG9tKCkgJiAyNTUsIDIgKiBsZW4pOwotICAgIG1lbXNldChwdHIxLCByYW5kb20oKSAmIDI1NSwgbGVuKTsKKyAgICBtZW1zZXQocHRyMSwgJ1MnLCAyICogbGVuKTsKKyAgICBtZW1zZXQocHRyMSwgJ1QnLCBsZW4pOwogICAgIG1lbWNweShwdHIyLCBwdHIxLCAyICogbGVuKTsKICAgICBtZW1jcHkocHRyLCBwdHIxLCBsZW4pOwogICAgIG1lbWNweShwdHIxICsgcG9zLCBwdHIsIGxlbik7CkBAIC05ODcsMTEgKzk5MSw5IEBACiBURVNUKHN0cmluZywgYmNvcHkpIHsKICAgU3RyaW5nVGVzdFN0YXRlPGNoYXI+IHN0YXRlKExBUkdFKTsKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGF0ZS5uOyBpKyspIHsKLSAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IFBPU19JVEVSOyBqKyspIHsKLSAgICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCi0gICAgICBtZW1zZXQoc3RhdGUucHRyMSwgcmFuZG9tKCkgJiAyNTUsIHN0YXRlLk1BWF9MRU4pOwotICAgICAgbWVtc2V0KHN0YXRlLnB0cjEgKyBzdGF0ZS5NQVhfTEVOLCByYW5kb20oKSAmIDI1NSwgc3RhdGUuTUFYX0xFTik7CisgICAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKKyAgICAgIG1lbXNldChzdGF0ZS5wdHIxLCAnNCcsIHN0YXRlLk1BWF9MRU4pOworICAgICAgbWVtc2V0KHN0YXRlLnB0cjEgKyBzdGF0ZS5NQVhfTEVOLCAnYScsIHN0YXRlLk1BWF9MRU4pOwogICAgICAgbWVtY3B5KHN0YXRlLnB0cjIsIHN0YXRlLnB0cjEsIDIgKiBzdGF0ZS5NQVhfTEVOKTsKIAogICAgICAgc2l6ZV90IHN0YXJ0ID0gcmFuZG9tKCkgJSAoMiAqIHN0YXRlLk1BWF9MRU4gLSBzdGF0ZS5sZW5baV0pOwpAQCAtMTAwNSwxMCArMTAwNyw4IEBACiAKIFRFU1Qoc3RyaW5nLCBiemVybykgewogICBTdHJpbmdUZXN0U3RhdGU8Y2hhcj4gc3RhdGUoTEFSR0UpOwotICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IElURVI7IGorKykgewotICAgIHN0YXRlLk5ld0l0ZXJhdGlvbigpOwotCi0gICAgbWVtc2V0KHN0YXRlLnB0cjEsIHJhbmRvbSgpICYgMjU1LCBzdGF0ZS5NQVhfTEVOKTsKKyAgZm9yIChzdGF0ZS5CZWdpbkl0ZXJhdGlvbnMoKTsgc3RhdGUuSGFzTmV4dEl0ZXJhdGlvbigpOyBzdGF0ZS5OZXh0SXRlcmF0aW9uKCkpIHsKKyAgICBtZW1zZXQoc3RhdGUucHRyMSwgJ1InLCBzdGF0ZS5NQVhfTEVOKTsKIAogICAgIHNpemVfdCBzdGFydCA9IHJhbmRvbSgpICUgc3RhdGUuTUFYX0xFTjsKICAgICBzaXplX3QgZW5kID0gc3RhcnQgKyByYW5kb20oKSAlIChzdGF0ZS5NQVhfTEVOIC0gc3RhcnQpOwpAQCAtMTEwNSw2ICsxMTA1LDM2IEBACiAgIFJ1blNyY0RzdEJ1ZmZlck92ZXJyZWFkVGVzdChEb1N0cmNweVRlc3QpOwogfQogCisjaWYgZGVmaW5lZChTVFJMQ1BZX1NVUFBPUlRFRCkKK3N0YXRpYyB2b2lkIERvU3RybGNweVRlc3QodWludDhfdCogc3JjLCB1aW50OF90KiBkc3QsIHNpemVfdCBsZW4pIHsKKyAgaWYgKGxlbiA+PSAxKSB7CisgICAgbWVtc2V0KHNyYywgKDMyICsgKGxlbiAlIDk2KSksIGxlbiAtIDEpOworICAgIHNyY1tsZW4tMV0gPSAnXDAnOworICAgIG1lbXNldChkc3QsIDAsIGxlbik7CisgICAgQVNTRVJUX0VRKGxlbi0xLCBzdHJsY3B5KHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGRzdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHNyYyksIGxlbikpOworICAgIEFTU0VSVF9UUlVFKG1lbWNtcChzcmMsIGRzdCwgbGVuKSA9PSAwKTsKKyAgfQorfQorI2VuZGlmCisKK1RFU1Qoc3RyaW5nLCBzdHJsY3B5X2FsaWduKSB7CisjaWYgZGVmaW5lZChTVFJMQ1BZX1NVUFBPUlRFRCkKKyAgUnVuU3JjRHN0QnVmZmVyQWxpZ25UZXN0KExBUkdFLCBEb1N0cmxjcHlUZXN0KTsKKyNlbHNlCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlNraXBwaW5nIHRlc3QsIHN0cmxjcHkgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKK30KKworVEVTVChzdHJpbmcsIHN0cmxjcHlfb3ZlcnJlYWQpIHsKKyNpZiBkZWZpbmVkKFNUUkxDUFlfU1VQUE9SVEVEKQorICBSdW5TcmNEc3RCdWZmZXJPdmVycmVhZFRlc3QoRG9TdHJsY3B5VGVzdCk7CisjZWxzZQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJTa2lwcGluZyB0ZXN0LCBzdHJsY3B5IG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iOworI2VuZGlmCit9CisKKwogc3RhdGljIHZvaWQgRG9TdHBjcHlUZXN0KHVpbnQ4X3QqIHNyYywgdWludDhfdCogZHN0LCBzaXplX3QgbGVuKSB7CiAgIGlmIChsZW4gPj0gMSkgewogICAgIG1lbXNldChzcmMsICgzMiArIChsZW4gJSA5NikpLCBsZW4gLSAxKTsKQEAgLTExNzcsNiArMTIwNyw1NSBAQAogICBSdW5TcmNEc3RCdWZmZXJPdmVycmVhZFRlc3QoRG9TdHJjYXRUZXN0KTsKIH0KIAorI2lmIGRlZmluZWQoU1RSTENBVF9TVVBQT1JURUQpCitzdGF0aWMgdm9pZCBEb1N0cmxjYXRUZXN0KHVpbnQ4X3QqIHNyYywgdWludDhfdCogZHN0LCBzaXplX3QgbGVuKSB7CisgIGlmIChsZW4gPj0gMSkgeworICAgIGludCB2YWx1ZSA9IDMyICsgKGxlbiAlIDk2KTsKKyAgICBtZW1zZXQoc3JjLCB2YWx1ZSwgbGVuIC0gMSk7CisgICAgc3JjW2xlbi0xXSA9ICdcMCc7CisKKyAgICBpZiAobGVuID49IFNUUkNBVF9EU1RfTEVOKSB7CisgICAgICAvLyBDcmVhdGUgYSBzbWFsbCBidWZmZXIgZm9yIGRvaW5nIHF1aWNrIGNvbXBhcmVzIGluIGVhY2ggbG9vcC4KKyAgICAgIHVpbnQ4X3QgY21wX2J1ZltTVFJDQVRfRFNUX0xFTl07CisgICAgICAvLyBNYWtlIHN1cmUgZHN0IHN0cmluZyBjb250YWlucyBhIGRpZmZlcmVudCB2YWx1ZSB0aGVuIHRoZSBzcmMgc3RyaW5nLgorICAgICAgaW50IHZhbHVlMiA9IDMyICsgKHZhbHVlICsgMikgJSA5NjsKKyAgICAgIG1lbXNldChjbXBfYnVmLCB2YWx1ZTIsIHNpemVvZihjbXBfYnVmKSk7CisKKyAgICAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDw9IFNUUkNBVF9EU1RfTEVOOyBpKyspIHsKKyAgICAgICAgbWVtc2V0KGRzdCwgdmFsdWUyLCBpLTEpOworICAgICAgICBtZW1zZXQoZHN0K2ktMSwgMCwgbGVuLWkpOworICAgICAgICBzcmNbbGVuLWldID0gJ1wwJzsKKyAgICAgICAgQVNTRVJUX0VRKGxlbi0xLCBzdHJsY2F0KHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGRzdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PGNoYXIqPihzcmMpLCBsZW4pKTsKKyAgICAgICAgQVNTRVJUX1RSVUUobWVtY21wKGRzdCwgY21wX2J1ZiwgaS0xKSA9PSAwKTsKKyAgICAgICAgQVNTRVJUX1RSVUUobWVtY21wKHNyYywgZHN0K2ktMSwgbGVuLWkrMSkgPT0gMCk7CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIGRzdFswXSA9ICdcMCc7CisgICAgICBBU1NFUlRfRVEobGVuLTEsIHN0cmxjYXQocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oZHN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PGNoYXIqPihzcmMpLCBsZW4pKTsKKyAgICAgIEFTU0VSVF9UUlVFKG1lbWNtcChzcmMsIGRzdCwgbGVuKSA9PSAwKTsKKyAgICB9CisgIH0KK30KKyNlbmRpZgorCitURVNUKHN0cmluZywgc3RybGNhdF9hbGlnbikgeworI2lmIGRlZmluZWQoU1RSTENBVF9TVVBQT1JURUQpCisgIFJ1blNyY0RzdEJ1ZmZlckFsaWduVGVzdChNRURJVU0sIERvU3RybGNhdFRlc3QsIExhcmdlU2V0SW5jcmVtZW50KTsKKyNlbHNlCisgIEdURVNUX0xPR18oSU5GTykgPDwgIlNraXBwaW5nIHRlc3QsIHN0cmxjYXQgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKK30KKworVEVTVChzdHJpbmcsIHN0cmxjYXRfb3ZlcnJlYWQpIHsKKyNpZiBkZWZpbmVkKFNUUkxDQVRfU1VQUE9SVEVEKQorICBSdW5TcmNEc3RCdWZmZXJPdmVycmVhZFRlc3QoRG9TdHJsY2F0VGVzdCk7CisjZWxzZQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJTa2lwcGluZyB0ZXN0LCBzdHJsY2F0IG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iOworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIERvU3RyY21wVGVzdCh1aW50OF90KiBidWYxLCB1aW50OF90KiBidWYyLCBzaXplX3QgbGVuKSB7CiAgIGlmIChsZW4gPj0gMSkgewogICAgIG1lbXNldChidWYxLCAoMzIgKyAobGVuICUgOTYpKSwgbGVuIC0gMSk7CkBAIC0xMjg3LDMgKzEzNjYsMzcgQEAKIFRFU1Qoc3RyaW5nLCBzdHJjaHJfb3ZlcnJlYWQpIHsKICAgUnVuU2luZ2xlQnVmZmVyT3ZlcnJlYWRUZXN0KERvU3RyY2hyVGVzdCk7CiB9CisKK3N0YXRpYyB2b2lkIFRlc3RCYXNlbmFtZShjb25zdCBjaGFyKiBpbiwgY29uc3QgY2hhciogZXhwZWN0ZWRfb3V0KSB7CisgIGVycm5vID0gMDsKKyAgY29uc3QgY2hhciogb3V0ID0gYmFzZW5hbWUoaW4pOworICBBU1NFUlRfU1RSRVEoZXhwZWN0ZWRfb3V0LCBvdXQpIDw8IGluOworICBBU1NFUlRfRVEoMCwgZXJybm8pIDw8IGluOworfQorCitURVNUKHN0cmluZywgX19nbnVfYmFzZW5hbWUpIHsKKyAgVGVzdEJhc2VuYW1lKCIiLCAiIik7CisgIFRlc3RCYXNlbmFtZSgiL3Vzci9saWIiLCAibGliIik7CisgIFRlc3RCYXNlbmFtZSgiL3Vzci8iLCAiIik7CisgIFRlc3RCYXNlbmFtZSgidXNyIiwgInVzciIpOworICBUZXN0QmFzZW5hbWUoIi8iLCAiIik7CisgIFRlc3RCYXNlbmFtZSgiLiIsICIuIik7CisgIFRlc3RCYXNlbmFtZSgiLi4iLCAiLi4iKTsKKyAgVGVzdEJhc2VuYW1lKCIvLy8iLCAiIik7CisgIFRlc3RCYXNlbmFtZSgiLy91c3IvL2xpYi8vIiwgIiIpOworfQorCitURVNUKHN0cmluZywgc3Rybmxlbl8xNDcwNDgpIHsKKyAgLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9hbmRyb2lkL2lzc3Vlcy9kZXRhaWw/aWQ9MTQ3MDQ4CisgIGNoYXIgc3RhY2tfc3JjWzY0XSA9IHswfTsKKyAgRVhQRUNUX0VRKDBVLCBzdHJubGVuKHN0YWNrX3NyYywgMTAyNCoxMDI0KjEwMjQpKTsKKyAgY2hhciogaGVhcF9zcmMgPSBuZXcgY2hhclsxXTsKKyAgKmhlYXBfc3JjID0gJ1wwJzsKKyAgRVhQRUNUX0VRKDBVLCBzdHJubGVuKGhlYXBfc3JjLCAxMDI0KjEwMjQqMTAyNCkpOworICBkZWxldGVbXSBoZWFwX3NyYzsKK30KKworVEVTVChzdHJpbmcsIG1lbXBjcHkpIHsKKyAgY2hhciBkc3RbNl07CisgIEFTU0VSVF9FUSgmZHN0WzRdLCByZWludGVycHJldF9jYXN0PGNoYXIqPihtZW1wY3B5KGRzdCwgImhlbGxvIiwgNCkpKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0cmluZ3NfdGVzdC5jcHAgYi90ZXN0cy9zdHJpbmdzX3Rlc3QuY3BwCmluZGV4IDUyMDA4NTkuLjgyM2FhNGYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0cmluZ3NfdGVzdC5jcHAKKysrIGIvdGVzdHMvc3RyaW5nc190ZXN0LmNwcApAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGxvY2FsZS5oPgogI2luY2x1ZGUgPHN0cmluZ3MuaD4KIAogVEVTVChzdHJpbmdzLCBmZnMpIHsKQEAgLTMwLDMgKzMxLDMzIEBACiAgIEFTU0VSVF9FUSgyNywgZmZzKDB4MDQwMDAwMDApKTsKICAgQVNTRVJUX0VRKDMyLCBmZnMoMHg4MDAwMDAwMCkpOwogfQorCitURVNUKHN0cmluZ3MsIHN0cmNhc2VjbXApIHsKKyAgQVNTRVJUX0VRKDAsIHN0cmNhc2VjbXAoImhlbGxvIiwgIkhFTExPIikpOworICBBU1NFUlRfTFQoc3RyY2FzZWNtcCgiaGVsbG8xIiwgImhlbGxvMiIpLCAwKTsKKyAgQVNTRVJUX0dUKHN0cmNhc2VjbXAoImhlbGxvMiIsICJoZWxsbzEiKSwgMCk7Cit9CisKK1RFU1Qoc3RyaW5ncywgc3RyY2FzZWNtcF9sKSB7CisgIGxvY2FsZV90IGwgPSBuZXdsb2NhbGUoTENfQUxMLCAiQyIsIDApOworICBBU1NFUlRfRVEoMCwgc3RyY2FzZWNtcF9sKCJoZWxsbyIsICJIRUxMTyIsIGwpKTsKKyAgQVNTRVJUX0xUKHN0cmNhc2VjbXBfbCgiaGVsbG8xIiwgImhlbGxvMiIsIGwpLCAwKTsKKyAgQVNTRVJUX0dUKHN0cmNhc2VjbXBfbCgiaGVsbG8yIiwgImhlbGxvMSIsIGwpLCAwKTsKKyAgZnJlZWxvY2FsZShsKTsKK30KKworVEVTVChzdHJpbmdzLCBzdHJuY2FzZWNtcCkgeworICBBU1NFUlRfRVEoMCwgc3RybmNhc2VjbXAoImhlbGxvIiwgIkhFTExPIiwgMykpOworICBBU1NFUlRfRVEoMCwgc3RybmNhc2VjbXAoImFiY1hYIiwgIkFCQ1lZIiwgMykpOworICBBU1NFUlRfTFQoc3RybmNhc2VjbXAoImhlbGxvMSIsICJoZWxsbzIiLCA2KSwgMCk7CisgIEFTU0VSVF9HVChzdHJuY2FzZWNtcCgiaGVsbG8yIiwgImhlbGxvMSIsIDYpLCAwKTsKK30KKworVEVTVChzdHJpbmdzLCBzdHJuY2FzZWNtcF9sKSB7CisgIGxvY2FsZV90IGwgPSBuZXdsb2NhbGUoTENfQUxMLCAiQyIsIDApOworICBBU1NFUlRfRVEoMCwgc3RybmNhc2VjbXBfbCgiaGVsbG8iLCAiSEVMTE8iLCAzLCBsKSk7CisgIEFTU0VSVF9FUSgwLCBzdHJuY2FzZWNtcF9sKCJhYmNYWCIsICJBQkNZWSIsIDMsIGwpKTsKKyAgQVNTRVJUX0xUKHN0cm5jYXNlY21wX2woImhlbGxvMSIsICJoZWxsbzIiLCA2LCBsKSwgMCk7CisgIEFTU0VSVF9HVChzdHJuY2FzZWNtcF9sKCJoZWxsbzIiLCAiaGVsbG8xIiwgNiwgbCksIDApOworICBmcmVlbG9jYWxlKGwpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3R1YnNfdGVzdC5jcHAgYi90ZXN0cy9zdHVic190ZXN0LmNwcAppbmRleCA5YjBjMjMxLi44OWQ2N2NiIDEwMDY0NAotLS0gYS90ZXN0cy9zdHVic190ZXN0LmNwcAorKysgYi90ZXN0cy9zdHVic190ZXN0LmNwcApAQCAtMTYsOTggKzE2LDI0NiBAQAogCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KIAotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLy8gQmVsb3cgYXJlIHRoZSBoZWFkZXIgZmlsZXMgd2Ugd2FudCB0byB0ZXN0LgorI2luY2x1ZGUgPGdycC5oPgogI2luY2x1ZGUgPHB3ZC5oPgorCiAjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAotI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSNkZWZpbmUgQ0hFQ0tfR0VUUFdOQU1fRk9SKHVzZXJuYW1lLCB1aWQsIHVpZF90eXBlKSBcCi0gICAgU0NPUEVEX1RSQUNFKHVzZXJuYW1lKTsgXAotICAgIEFTU0VSVF9OT19GQVRBTF9GQUlMVVJFKGNoZWNrX2dldHB3bmFtKHVzZXJuYW1lLCB1aWQsIHVpZF90eXBlKSk7Ci0KLXR5cGVkZWYgZW51bSB7CitlbnVtIHVpZF90eXBlX3QgewogICBUWVBFX1NZU1RFTSwKICAgVFlQRV9BUFAKLX0gdWlkX3R5cGVfdDsKK307CiAKLXN0YXRpYyB2b2lkIGNoZWNrX2dldHB3bmFtKGNvbnN0IGNoYXIqIHVzZXJuYW1lLCB1aWRfdCB1aWQsIHVpZF90eXBlX3QgdWlkX3R5cGUpIHsKLSAgZXJybm8gPSAwOwotICBwYXNzd2QqIHB3ZCA9IGdldHB3dWlkKHVpZCk7CisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorCitzdGF0aWMgdm9pZCBjaGVja19wYXNzd2QoY29uc3QgcGFzc3dkKiBwd2QsIGNvbnN0IGNoYXIqIHVzZXJuYW1lLCB1aWRfdCB1aWQsIHVpZF90eXBlX3QgdWlkX3R5cGUpIHsKICAgQVNTRVJUX1RSVUUocHdkICE9IE5VTEwpOwotICBBU1NFUlRfRVEoMCwgZXJybm8pOwotICBFWFBFQ1RfU1RSRVEodXNlcm5hbWUsIHB3ZC0+cHdfbmFtZSk7Ci0gIEVYUEVDVF9FUSh1aWQsIHB3ZC0+cHdfdWlkKTsKLSAgRVhQRUNUX0VRKHVpZCwgcHdkLT5wd19naWQpOworICBBU1NFUlRfU1RSRVEodXNlcm5hbWUsIHB3ZC0+cHdfbmFtZSk7CisgIEFTU0VSVF9FUSh1aWQsIHB3ZC0+cHdfdWlkKTsKKyAgQVNTRVJUX0VRKHVpZCwgcHdkLT5wd19naWQpOwogICBBU1NFUlRfRVEoTlVMTCwgcHdkLT5wd19wYXNzd2QpOwogI2lmZGVmIF9fTFA2NF9fCiAgIEFTU0VSVF9FUShOVUxMLCBwd2QtPnB3X2dlY29zKTsKICNlbmRpZgogCiAgIGlmICh1aWRfdHlwZSA9PSBUWVBFX1NZU1RFTSkgewotICAgIEVYUEVDVF9TVFJFUSgiLyIsIHB3ZC0+cHdfZGlyKTsKLSAgfSBlbHNlIGlmICh1aWRfdHlwZSA9PSBUWVBFX0FQUCkgewotICAgIEVYUEVDVF9TVFJFUSgiL2RhdGEiLCBwd2QtPnB3X2Rpcik7CisgICAgQVNTRVJUX1NUUkVRKCIvIiwgcHdkLT5wd19kaXIpOworICB9IGVsc2UgeworICAgIEFTU0VSVF9TVFJFUSgiL2RhdGEiLCBwd2QtPnB3X2Rpcik7CiAgIH0KLQotICBFWFBFQ1RfU1RSRVEoIi9zeXN0ZW0vYmluL3NoIiwgcHdkLT5wd19zaGVsbCk7CisgIEFTU0VSVF9TVFJFUSgiL3N5c3RlbS9iaW4vc2giLCBwd2QtPnB3X3NoZWxsKTsKIH0KLSNlbHNlCi0jZGVmaW5lIENIRUNLX0dFVFBXTkFNX0ZPUih1c2VybmFtZSwgdWlkLCB1aWRfdHlwZSkgXAotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKKworc3RhdGljIHZvaWQgY2hlY2tfZ2V0cHd1aWQoY29uc3QgY2hhciogdXNlcm5hbWUsIHVpZF90IHVpZCwgdWlkX3R5cGVfdCB1aWRfdHlwZSkgeworICBlcnJubyA9IDA7CisgIHBhc3N3ZCogcHdkID0gZ2V0cHd1aWQodWlkKTsKKyAgQVNTRVJUX0VRKDAsIGVycm5vKTsKKyAgU0NPUEVEX1RSQUNFKCJnZXRwd3VpZCIpOworICBjaGVja19wYXNzd2QocHdkLCB1c2VybmFtZSwgdWlkLCB1aWRfdHlwZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX2dldHB3bmFtKGNvbnN0IGNoYXIqIHVzZXJuYW1lLCB1aWRfdCB1aWQsIHVpZF90eXBlX3QgdWlkX3R5cGUpIHsKKyAgZXJybm8gPSAwOworICBwYXNzd2QqIHB3ZCA9IGdldHB3bmFtKHVzZXJuYW1lKTsKKyAgQVNTRVJUX0VRKDAsIGVycm5vKTsKKyAgU0NPUEVEX1RSQUNFKCJnZXRwd25hbSIpOworICBjaGVja19wYXNzd2QocHdkLCB1c2VybmFtZSwgdWlkLCB1aWRfdHlwZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX2dldHB3dWlkX3IoY29uc3QgY2hhciogdXNlcm5hbWUsIHVpZF90IHVpZCwgdWlkX3R5cGVfdCB1aWRfdHlwZSkgeworICBwYXNzd2QgcHdkX3N0b3JhZ2U7CisgIGNoYXIgYnVmWzUxMl07CisgIGludCByZXN1bHQ7CisKKyAgZXJybm8gPSAwOworICBwYXNzd2QqIHB3ZCA9IE5VTEw7CisgIHJlc3VsdCA9IGdldHB3dWlkX3IodWlkLCAmcHdkX3N0b3JhZ2UsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZwd2QpOworICBBU1NFUlRfRVEoMCwgcmVzdWx0KTsKKyAgQVNTRVJUX0VRKDAsIGVycm5vKTsKKyAgU0NPUEVEX1RSQUNFKCJnZXRwd3VpZF9yIik7CisgIGNoZWNrX3Bhc3N3ZChwd2QsIHVzZXJuYW1lLCB1aWQsIHVpZF90eXBlKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfZ2V0cHduYW1fcihjb25zdCBjaGFyKiB1c2VybmFtZSwgdWlkX3QgdWlkLCB1aWRfdHlwZV90IHVpZF90eXBlKSB7CisgIHBhc3N3ZCBwd2Rfc3RvcmFnZTsKKyAgY2hhciBidWZbNTEyXTsKKyAgaW50IHJlc3VsdDsKKworICBlcnJubyA9IDA7CisgIHBhc3N3ZCogcHdkID0gTlVMTDsKKyAgcmVzdWx0ID0gZ2V0cHduYW1fcih1c2VybmFtZSwgJnB3ZF9zdG9yYWdlLCBidWYsIHNpemVvZihidWYpLCAmcHdkKTsKKyAgQVNTRVJUX0VRKDAsIHJlc3VsdCk7CisgIEFTU0VSVF9FUSgwLCBlcnJubyk7CisgIFNDT1BFRF9UUkFDRSgiZ2V0cHduYW1fciIpOworICBjaGVja19wYXNzd2QocHdkLCB1c2VybmFtZSwgdWlkLCB1aWRfdHlwZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX2dldF9wYXNzd2QoY29uc3QgY2hhciogdXNlcm5hbWUsIHVpZF90IHVpZCwgdWlkX3R5cGVfdCB1aWRfdHlwZSkgeworICBjaGVja19nZXRwd3VpZCh1c2VybmFtZSwgdWlkLCB1aWRfdHlwZSk7CisgIGNoZWNrX2dldHB3bmFtKHVzZXJuYW1lLCB1aWQsIHVpZF90eXBlKTsKKyAgY2hlY2tfZ2V0cHd1aWRfcih1c2VybmFtZSwgdWlkLCB1aWRfdHlwZSk7CisgIGNoZWNrX2dldHB3bmFtX3IodXNlcm5hbWUsIHVpZCwgdWlkX3R5cGUpOworfQorCisjZWxzZSAvLyAhZGVmaW5lZChfX0JJT05JQ19fKQorCitzdGF0aWMgdm9pZCBjaGVja19nZXRfcGFzc3dkKGNvbnN0IGNoYXIqIC8qIHVzZXJuYW1lICovLCB1aWRfdCAvKiB1aWQgKi8sIHVpZF90eXBlX3QgLyogdWlkX3R5cGUgKi8pIHsKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGlzIGFib3V0IHVpZC91c2VybmFtZSB0cmFuc2xhdGlvbiBmb3IgQW5kcm9pZCwgd2hpY2ggZG9lcyBub3RoaW5nIG9uIGxpYmMgb3RoZXIgdGhhbiBiaW9uaWMuXG4iOworfQorCiAjZW5kaWYKIAogVEVTVChnZXRwd25hbSwgc3lzdGVtX2lkX3Jvb3QpIHsKLSAgQ0hFQ0tfR0VUUFdOQU1fRk9SKCJyb290IiwgMCwgVFlQRV9TWVNURU0pOworICBjaGVja19nZXRfcGFzc3dkKCJyb290IiwgMCwgVFlQRV9TWVNURU0pOwogfQogCiBURVNUKGdldHB3bmFtLCBzeXN0ZW1faWRfc3lzdGVtKSB7Ci0gIENIRUNLX0dFVFBXTkFNX0ZPUigic3lzdGVtIiwgMTAwMCwgVFlQRV9TWVNURU0pOworICBjaGVja19nZXRfcGFzc3dkKCJzeXN0ZW0iLCAxMDAwLCBUWVBFX1NZU1RFTSk7CiB9CiAKIFRFU1QoZ2V0cHduYW0sIGFwcF9pZF9yYWRpbykgewotICBDSEVDS19HRVRQV05BTV9GT1IoInJhZGlvIiwgMTAwMSwgVFlQRV9TWVNURU0pOworICBjaGVja19nZXRfcGFzc3dkKCJyYWRpbyIsIDEwMDEsIFRZUEVfU1lTVEVNKTsKIH0KIAogVEVTVChnZXRwd25hbSwgYXBwX2lkX25vYm9keSkgewotICBDSEVDS19HRVRQV05BTV9GT1IoIm5vYm9keSIsIDk5OTksIFRZUEVfU1lTVEVNKTsKLX0KLQotVEVTVChnZXRwd25hbSwgYXBwX2lkX2FsbF9hMCkgewotICBDSEVDS19HRVRQV05BTV9GT1IoImFsbF9hMCIsIDUwMDAwLCBUWVBFX0FQUCk7Ci19Ci0KLVRFU1QoZ2V0cHduYW0sIGFwcF9pZF91MV9hNDAwMDApIHsKLSAgQ0hFQ0tfR0VUUFdOQU1fRk9SKCJ1MV9hNDAwMDAiLCAxNTAwMDAsIFRZUEVfQVBQKTsKKyAgY2hlY2tfZ2V0X3Bhc3N3ZCgibm9ib2R5IiwgOTk5OSwgVFlQRV9TWVNURU0pOwogfQogCiBURVNUKGdldHB3bmFtLCBhcHBfaWRfdTBfYTApIHsKLSAgQ0hFQ0tfR0VUUFdOQU1fRk9SKCJ1MF9hMCIsIDEwMDAwLCBUWVBFX0FQUCk7CisgIGNoZWNrX2dldF9wYXNzd2QoInUwX2EwIiwgMTAwMDAsIFRZUEVfQVBQKTsKIH0KIAogVEVTVChnZXRwd25hbSwgYXBwX2lkX3UwX2ExMjM0KSB7Ci0gIENIRUNLX0dFVFBXTkFNX0ZPUigidTBfYTEyMzQiLCAxMTIzNCwgVFlQRV9BUFApOworICBjaGVja19nZXRfcGFzc3dkKCJ1MF9hMTIzNCIsIDExMjM0LCBUWVBFX0FQUCk7CiB9CiAKLVRFU1QoZ2V0cHduYW0sIGFwcF9pZF91MF9hOTk5OSkgewotICBDSEVDS19HRVRQV05BTV9GT1IoInUwX2E5OTk5IiwgMTk5OTksIFRZUEVfQVBQKTsKKy8vIFRlc3QgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB1aWQgYW5kIHNoYXJlZCBnaWQuCitURVNUKGdldHB3bmFtLCBhcHBfaWRfdTBfYTQ5OTk5KSB7CisgIGNoZWNrX2dldF9wYXNzd2QoInUwX2E0OTk5OSIsIDU5OTk5LCBUWVBFX0FQUCk7CiB9CiAKLS8vIG5vbnNlbnNpY2FsLCBidXQgZXhwZWN0ZWQKK1RFU1QoZ2V0cHduYW0sIGFwcF9pZF91MF9pMSkgeworICBjaGVja19nZXRfcGFzc3dkKCJ1MF9pMSIsIDk5MDAxLCBUWVBFX0FQUCk7Cit9CisKIFRFU1QoZ2V0cHduYW0sIGFwcF9pZF91MV9yb290KSB7Ci0gIENIRUNLX0dFVFBXTkFNX0ZPUigidTFfcm9vdCIsIDEwMDAwMCwgVFlQRV9TWVNURU0pOworICBjaGVja19nZXRfcGFzc3dkKCJ1MV9yb290IiwgMTAwMDAwLCBUWVBFX1NZU1RFTSk7CiB9CiAKIFRFU1QoZ2V0cHduYW0sIGFwcF9pZF91MV9yYWRpbykgewotICBDSEVDS19HRVRQV05BTV9GT1IoInUxX3JhZGlvIiwgMTAxMDAxLCBUWVBFX1NZU1RFTSk7CisgIGNoZWNrX2dldF9wYXNzd2QoInUxX3JhZGlvIiwgMTAxMDAxLCBUWVBFX1NZU1RFTSk7CiB9CiAKIFRFU1QoZ2V0cHduYW0sIGFwcF9pZF91MV9hMCkgewotICBDSEVDS19HRVRQV05BTV9GT1IoInUxX2EwIiwgMTEwMDAwLCBUWVBFX0FQUCk7CisgIGNoZWNrX2dldF9wYXNzd2QoInUxX2EwIiwgMTEwMDAwLCBUWVBFX0FQUCk7Cit9CisKK1RFU1QoZ2V0cHduYW0sIGFwcF9pZF91MV9hNDAwMDApIHsKKyAgY2hlY2tfZ2V0X3Bhc3N3ZCgidTFfYTQwMDAwIiwgMTUwMDAwLCBUWVBFX0FQUCk7CiB9CiAKIFRFU1QoZ2V0cHduYW0sIGFwcF9pZF91MV9pMCkgewotICBDSEVDS19HRVRQV05BTV9GT1IoInUxX2kwIiwgMTk5MDAwLCBUWVBFX0FQUCk7CisgIGNoZWNrX2dldF9wYXNzd2QoInUxX2kwIiwgMTk5MDAwLCBUWVBFX0FQUCk7Cit9CisKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisKK3N0YXRpYyB2b2lkIGNoZWNrX2dyb3VwKGNvbnN0IGdyb3VwKiBncnAsIGNvbnN0IGNoYXIqIGdyb3VwX25hbWUsIGdpZF90IGdpZCkgeworICBBU1NFUlRfVFJVRShncnAgIT0gTlVMTCk7CisgIEFTU0VSVF9TVFJFUShncm91cF9uYW1lLCBncnAtPmdyX25hbWUpOworICBBU1NFUlRfRVEoZ2lkLCBncnAtPmdyX2dpZCk7CisgIEFTU0VSVF9UUlVFKGdycC0+Z3JfbWVtICE9IE5VTEwpOworICBBU1NFUlRfU1RSRVEoZ3JvdXBfbmFtZSwgZ3JwLT5ncl9tZW1bMF0pOworICBBU1NFUlRfVFJVRShncnAtPmdyX21lbVsxXSA9PSBOVUxMKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfZ2V0Z3JnaWQoY29uc3QgY2hhciogZ3JvdXBfbmFtZSwgZ2lkX3QgZ2lkKSB7CisgIGVycm5vID0gMDsKKyAgZ3JvdXAqIGdycCA9IGdldGdyZ2lkKGdpZCk7CisgIEFTU0VSVF9FUSgwLCBlcnJubyk7CisgIFNDT1BFRF9UUkFDRSgiZ2V0Z3JnaWQiKTsKKyAgY2hlY2tfZ3JvdXAoZ3JwLCBncm91cF9uYW1lLCBnaWQpOworfQorCitzdGF0aWMgdm9pZCBjaGVja19nZXRncm5hbShjb25zdCBjaGFyKiBncm91cF9uYW1lLCBnaWRfdCBnaWQpIHsKKyAgZXJybm8gPSAwOworICBncm91cCogZ3JwID0gZ2V0Z3JuYW0oZ3JvdXBfbmFtZSk7CisgIEFTU0VSVF9FUSgwLCBlcnJubyk7CisgIFNDT1BFRF9UUkFDRSgiZ2V0Z3JuYW0iKTsKKyAgY2hlY2tfZ3JvdXAoZ3JwLCBncm91cF9uYW1lLCBnaWQpOworfQorCitzdGF0aWMgdm9pZCBjaGVja19nZXRfZ3JvdXAoY29uc3QgY2hhciogZ3JvdXBfbmFtZSwgZ2lkX3QgZ2lkKSB7CisgIGNoZWNrX2dldGdyZ2lkKGdyb3VwX25hbWUsIGdpZCk7CisgIGNoZWNrX2dldGdybmFtKGdyb3VwX25hbWUsIGdpZCk7Cit9CisKKyNlbHNlIC8vICFkZWZpbmVkKF9fQklPTklDX18pCisKK3N0YXRpYyB2b2lkIGNoZWNrX2dldF9ncm91cChjb25zdCBjaGFyKiAvKiBncm91cF9uYW1lICovLCBnaWRfdCAvKiBnaWQgKi8pIHsKKyAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGlzIGFib3V0IGdpZC9ncm91cF9uYW1lIHRyYW5zbGF0aW9uIGZvciBBbmRyb2lkLCB3aGljaCBkb2VzIG5vdGhpbmcgb24gbGliYyBvdGhlciB0aGFuIGJpb25pYy5cbiI7Cit9CisKKyNlbmRpZgorCitURVNUKGdldGdybmFtLCBzeXN0ZW1faWRfcm9vdCkgeworICBjaGVja19nZXRfZ3JvdXAoInJvb3QiLCAwKTsKK30KKworVEVTVChnZXRncm5hbSwgc3lzdGVtX2lkX3N5c3RlbSkgeworICBjaGVja19nZXRfZ3JvdXAoInN5c3RlbSIsIDEwMDApOworfQorCitURVNUKGdldGdybmFtLCBhcHBfaWRfcmFkaW8pIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJyYWRpbyIsIDEwMDEpOworfQorCitURVNUKGdldGdybmFtLCBhcHBfaWRfbm9ib2R5KSB7CisgIGNoZWNrX2dldF9ncm91cCgibm9ib2R5IiwgOTk5OSk7Cit9CisKK1RFU1QoZ2V0Z3JuYW0sIGFwcF9pZF91MF9hMCkgeworICBjaGVja19nZXRfZ3JvdXAoInUwX2EwIiwgMTAwMDApOworfQorCitURVNUKGdldGdybmFtLCBhcHBfaWRfdTBfYTEyMzQpIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJ1MF9hMTIzNCIsIDExMjM0KTsKK30KKworVEVTVChnZXRncm5hbSwgYXBwX2lkX3UwX2E5OTk5KSB7CisgIGNoZWNrX2dldF9ncm91cCgidTBfYTk5OTkiLCAxOTk5OSk7Cit9CisKKy8vIFRlc3QgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB1aWQgYW5kIHNoYXJlZCBnaWQuCitURVNUKGdldGdybmFtLCBhcHBfaWRfYWxsX2E5OTk5KSB7CisgIGNoZWNrX2dldF9ncm91cCgiYWxsX2E5OTk5IiwgNTk5OTkpOworfQorCitURVNUKGdldGdybmFtLCBhcHBfaWRfdTBfaTEpIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJ1MF9pMSIsIDk5MDAxKTsKK30KKworVEVTVChnZXRncm5hbSwgYXBwX2lkX3UxX3Jvb3QpIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJ1MV9yb290IiwgMTAwMDAwKTsKK30KKworVEVTVChnZXRncm5hbSwgYXBwX2lkX3UxX3JhZGlvKSB7CisgIGNoZWNrX2dldF9ncm91cCgidTFfcmFkaW8iLCAxMDEwMDEpOworfQorCitURVNUKGdldGdybmFtLCBhcHBfaWRfdTFfYTApIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJ1MV9hMCIsIDExMDAwMCk7Cit9CisKK1RFU1QoZ2V0Z3JuYW0sIGFwcF9pZF91MV9hNDAwMDApIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJ1MV9hNDAwMDAiLCAxNTAwMDApOworfQorCitURVNUKGdldGdybmFtLCBhcHBfaWRfdTFfaTApIHsKKyAgY2hlY2tfZ2V0X2dyb3VwKCJ1MV9pMCIsIDE5OTAwMCk7CiB9CmRpZmYgLS1naXQgYS90ZXN0cy9zeXNfbW1hbl90ZXN0LmNwcCBiL3Rlc3RzL3N5c19tbWFuX3Rlc3QuY3BwCmluZGV4IDc1Y2NmYTMuLmIwZTQwZmQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N5c19tbWFuX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N5c19tbWFuX3Rlc3QuY3BwCkBAIC0xNzIsMyArMTcyLDQ2IEBACiAgIEFTU0VSVF9TVFJFUShORVdQQUdFMl9NU0csIGJ1Zik7CiAgIEFTU0VSVF9TVFJFUShFTkRfTVNHLCBidWYrcGFnZXNpemUtc2l6ZW9mKEVORF9NU0cpKTsKIH0KKworVEVTVChzeXNfbW1hbiwgcG9zaXhfbWFkdmlzZSkgeworICBUZW1wb3JhcnlGaWxlIHRlbXBmaWxlOworICBzaXplX3QgcGFnZXNpemUgPSBzeXNjb25mKF9TQ19QQUdFU0laRSk7CisgIGNoYXIgYnVmW3BhZ2VzaXplXTsKKworICAvLyBQcmVwYXJlIGVudmlyb25tZW50LgorICBBU1NFUlRfRVEoc3RhdGljX2Nhc3Q8c3NpemVfdD4ocGFnZXNpemUpLCB3cml0ZSh0ZW1wZmlsZS5mZCwgYnVmLCBwYWdlc2l6ZSkpOworICB2b2lkKiBtYXAgPSBtbWFwKE5VTEwsIHBhZ2VzaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVELCB0ZW1wZmlsZS5mZCwgMCk7CisgIEFTU0VSVF9ORShNQVBfRkFJTEVELCBtYXApOworCisgIC8vIFZlcmlmeSBkaWZmZXJlbnQgb3B0aW9ucyBvZiBwb3NpeF9tYWR2aXNlLgorICBBU1NFUlRfRVEoMCwgcG9zaXhfbWFkdmlzZShtYXAsIHBhZ2VzaXplLCBQT1NJWF9NQURWX05PUk1BTCkpOworICBBU1NFUlRfRVEoMCwgcG9zaXhfbWFkdmlzZShtYXAsIHBhZ2VzaXplLCBQT1NJWF9NQURWX1NFUVVFTlRJQUwpKTsKKyAgQVNTRVJUX0VRKDAsIHBvc2l4X21hZHZpc2UobWFwLCBwYWdlc2l6ZSwgUE9TSVhfTUFEVl9SQU5ET00pKTsKKyAgQVNTRVJUX0VRKDAsIHBvc2l4X21hZHZpc2UobWFwLCBwYWdlc2l6ZSwgUE9TSVhfTUFEVl9XSUxMTkVFRCkpOworCisgIEFTU0VSVF9FUSgwLCBtdW5tYXAobWFwLCBwYWdlc2l6ZSkpOworfQorCisvLyBWZXJpZnkgdGhhdCBtZW1vcnkgY2FuIHN0aWxsIGFjY2VzcyBhZnRlciBwb3NpeF9tYWR2aXNlKFBPU0lYX01BRFZfRE9OVE5FRUQpLgorLy8gV2Ugc2hvdWxkIHRlc3Qgb24gTUFQX0FOT05ZTU9VUyBtZW1vcnkgdG8gdmVyaWZ5IHdoZXRoZXIgdGhlIG1lbW9yeSBpcyBkaXNjYXJkZWQsCisvLyBiZWNhdXNlIHRoZSBjb250ZW50IG9mIG5vbiBNQVBfQU5PTllNT1VTIG1lbW9yeSBjYW4gYmUgcmVyZWFkIGZyb20gZmlsZS4KK1RFU1Qoc3lzX21tYW4sIHBvc2l4X21hZHZpc2VfUE9TSVhfTUFEVl9ET05UTkVFRCkgeworICBzaXplX3QgcGFnZXNpemUgPSBzeXNjb25mKF9TQ19QQUdFU0laRSk7CisKKyAgdm9pZCogbWFwID0gbW1hcChOVUxMLCBwYWdlc2l6ZSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTLCAtMSwgMCk7CisgIEFTU0VSVF9ORShNQVBfRkFJTEVELCBtYXApOworCisgIGludCogaW50X3B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4obWFwKTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBzdGF0aWNfY2FzdDxpbnQ+KHBhZ2VzaXplIC8gc2l6ZW9mKGludCkpOyArK2kpIHsKKyAgICAqaW50X3B0cisrID0gaTsKKyAgfQorCisgIEFTU0VSVF9FUSgwLCBwb3NpeF9tYWR2aXNlKG1hcCwgcGFnZXNpemUsIFBPU0lYX01BRFZfRE9OVE5FRUQpKTsKKworICBpbnRfcHRyID0gcmVpbnRlcnByZXRfY2FzdDxpbnQqPihtYXApOworICBmb3IgKGludCBpID0gMDsgaSA8IHN0YXRpY19jYXN0PGludD4ocGFnZXNpemUgLyBzaXplb2YoaW50KSk7ICsraSkgeworICAgIEFTU0VSVF9FUShpLCAqaW50X3B0cisrKTsKKyAgfQorCisgIEFTU0VSVF9FUSgwLCBtdW5tYXAobWFwLCBwYWdlc2l6ZSkpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3lzX3BlcnNvbmFsaXR5X3Rlc3QuY3BwIGIvdGVzdHMvc3lzX3BlcnNvbmFsaXR5X3Rlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTAyM2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9zeXNfcGVyc29uYWxpdHlfdGVzdC5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorCisjaW5jbHVkZSA8c3lzL3BlcnNvbmFsaXR5Lmg+CisKK1RFU1Qoc3lzX3BlcnNvbmFsaXR5LCBjdXJyZW50X3BlcnNvbmEpIHsKKyAgaW50IHBlcnNvbmEgPSBwZXJzb25hbGl0eSgweGZmZmZmZmZmKTsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisjaWYgZGVmaW5lZChfX0xQNjRfXykKKyAgQVNTRVJUX0VRKFBFUl9MSU5VWCwgcGVyc29uYSk7CisjZWxzZQorICBBU1NFUlRfRVEoUEVSX0xJTlVYMzIsIHBlcnNvbmEpOworI2VuZGlmCisjZWxzZQorICAvLyBHTElCQyBkb2VzIG5vdCBzZXQgcGVyc29uYSBwcmlvciBwcm9jZXNzIHN0YXJ0dXAgLSBpdCBpcyBhbHdheXMgUEVSX0xJTlVYOworICBBU1NFUlRfRVEoUEVSX0xJTlVYLCBwZXJzb25hKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3lzX3Jlc291cmNlX3Rlc3QuY3BwIGIvdGVzdHMvc3lzX3Jlc291cmNlX3Rlc3QuY3BwCmluZGV4IDRlMmQwYmEuLjhjZWZjNjUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N5c19yZXNvdXJjZV90ZXN0LmNwcAorKysgYi90ZXN0cy9zeXNfcmVzb3VyY2VfdGVzdC5jcHAKQEAgLTE4LDE3ICsxOCw2IEBACiAKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCi0jaWYgZGVmaW5lZChfX0dMSUJDX18pCi0vKiBUaGUgaG9zdCBnbGliYyB3ZSdyZSBjdXJyZW50bHkgYnVpbGRpbmcgd2l0aCBkb2Vzbid0IGhhdmUgcHJsaW1pdDY0IHlldC4gKi8KLXN0YXRpYyBpbnQgcHJsaW1pdDY0KHBpZF90LCBpbnQgcmVzb3VyY2UsIGNvbnN0IHN0cnVjdCBybGltaXQ2NCogbmV3X2xpbWl0LCBzdHJ1Y3QgcmxpbWl0NjQqIG9sZF9saW1pdCkgewotICBpZiAobmV3X2xpbWl0ICE9IE5VTEwpIHsKLSAgICByZXR1cm4gc2V0cmxpbWl0NjQocmVzb3VyY2UsIG5ld19saW1pdCk7Ci0gIH0gZWxzZSB7Ci0gICAgcmV0dXJuIGdldHJsaW1pdDY0KHJlc291cmNlLCBvbGRfbGltaXQpOwotICB9Ci19Ci0jZW5kaWYKLQogVEVTVChzeXNfcmVzb3VyY2UsIHJsaW1pdF9zdHJ1Y3Rfc2l6ZSkgewogI2lmIGRlZmluZWQoX19MUDY0X18pIHx8IGRlZmluZWQoX19HTElCQ19fKQogICBBU1NFUlRfRVEoc2l6ZW9mKHJsaW1pdCksIHNpemVvZihybGltaXQ2NCkpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3lzX3NvY2tldF90ZXN0LmNwcCBiL3Rlc3RzL3N5c19zb2NrZXRfdGVzdC5jcHAKaW5kZXggMGJkZTAyNC4uOGY1YWZhYyAxMDA2NDQKLS0tIGEvdGVzdHMvc3lzX3NvY2tldF90ZXN0LmNwcAorKysgYi90ZXN0cy9zeXNfc29ja2V0X3Rlc3QuY3BwCkBAIC0yMiwyOCArMjIsMTYgQEAKICNpbmNsdWRlIDxzeXMvdW4uaD4KICNpbmNsdWRlIDxmY250bC5oPgogCi0jaWYgZGVmaW5lZChfX0JJT05JQ19fKQotICAjZGVmaW5lIEFDQ0VQVDRfU1VQUE9SVEVEIDEKLSAgI2RlZmluZSBSRUNWTU1TR19TVVBQT1JURUQgMQotICAjZGVmaW5lIFNFTkRNTVNHX1NVUFBPUlRFRCAxCi0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICAjaWYgX19HTElCQ19QUkVSRVEoMiwgOSkKLSAgICAjZGVmaW5lIEFDQ0VQVDRfU1VQUE9SVEVEIDEKLSAgI2VuZGlmCi0gICNpZiBfX0dMSUJDX1BSRVJFUSgyLCAxMikKLSAgICAjZGVmaW5lIFJFQ1ZNTVNHX1NVUFBPUlRFRCAxCi0gICNlbmRpZgotICAjaWYgX19HTElCQ19QUkVSRVEoMiwgMTQpCi0gICAgI2RlZmluZSBTRU5ETU1TR19TVVBQT1JURUQgMQotICAjZW5kaWYKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChBQ0NFUFQ0X1NVUFBPUlRFRCkgfHwgZGVmaW5lZChSRUNWTU1TR19TVVBQT1JURUQpIHx8IGRlZmluZWQoU0VORE1NU0dfU1VQUE9SVEVEKQotCi0jZGVmaW5lIFNPQ0tfUEFUSCAidGVzdCIKK3N0cnVjdCBDb25uZWN0RGF0YSB7CisgIGJvb2wgKCpjYWxsYmFja19mbikoaW50KTsKKyAgY29uc3QgY2hhciogc29ja19wYXRoOworICBDb25uZWN0RGF0YShib29sICgqY2FsbGJhY2tfZnVuYykoaW50KSwgY29uc3QgY2hhciogc29ja2V0X3BhdGgpCisgICA6IGNhbGxiYWNrX2ZuKGNhbGxiYWNrX2Z1bmMpLCBzb2NrX3BhdGgoc29ja2V0X3BhdGgpIHt9Cit9OwogCiBzdGF0aWMgdm9pZCogQ29ubmVjdEZuKHZvaWQqIGRhdGEpIHsKLSAgYm9vbCAoKmNhbGxiYWNrX2ZuKShpbnQpID0gcmVpbnRlcnByZXRfY2FzdDxib29sICgqKShpbnQpPihkYXRhKTsKKyAgQ29ubmVjdERhdGEqIHBkYXRhID0gcmVpbnRlcnByZXRfY2FzdDxDb25uZWN0RGF0YSo+KGRhdGEpOworICBib29sICgqY2FsbGJhY2tfZm4pKGludCkgPSBwZGF0YS0+Y2FsbGJhY2tfZm47CiAgIHZvaWQqIHJldHVybl92YWx1ZSA9IE5VTEw7CiAKICAgaW50IGZkID0gc29ja2V0KFBGX1VOSVgsIFNPQ0tfU0VRUEFDS0VUIHwgU09DS19DTE9FWEVDIHwgU09DS19OT05CTE9DSywgMCk7CkBAIC01Niw3ICs0NCw3IEBACiAgIG1lbXNldCgmYWRkciwgMCwgc2l6ZW9mKGFkZHIpKTsKICAgYWRkci5zdW5fZmFtaWx5ID0gQUZfVU5JWDsKICAgYWRkci5zdW5fcGF0aFswXSA9ICdcMCc7Ci0gIHN0cmNweShhZGRyLnN1bl9wYXRoICsgMSwgU09DS19QQVRIKTsKKyAgc3RyY3B5KGFkZHIuc3VuX3BhdGggKyAxLCBwZGF0YS0+c29ja19wYXRoKTsKIAogICBpZiAoY29ubmVjdChmZCwgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc29ja2FkZHIqPigmYWRkciksIHNpemVvZihhZGRyKSkgPCAwKSB7CiAgICAgR1RFU1RfTE9HXyhFUlJPUikgPDwgImNvbm5lY3QgY2FsbCBmYWlsZWQ6ICIgPDwgc3RyZXJyb3IoZXJybm8pOwpAQCAtNzIsNyArNjAsNyBAQAogfQogCiBzdGF0aWMgdm9pZCBSdW5UZXN0KHZvaWQgKCp0ZXN0X2ZuKShzdHJ1Y3Qgc29ja2FkZHJfdW4qLCBpbnQpLAotICAgICAgICAgICAgICAgICAgICBib29sICgqY2FsbGJhY2tfZm4pKGludCBmZCkpIHsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCAoKmNhbGxiYWNrX2ZuKShpbnQgZmQpLCBjb25zdCBjaGFyKiBzb2NrX3BhdGgpIHsKICAgaW50IGZkID0gc29ja2V0KFBGX1VOSVgsIFNPQ0tfU0VRUEFDS0VULCAwKTsKICAgQVNTRVJUX05FKGZkLCAtMSkgPDwgc3RyZXJyb3IoZXJybm8pOwogCkBAIC04MCwxNCArNjgsMTYgQEAKICAgbWVtc2V0KCZhZGRyLCAwLCBzaXplb2YoYWRkcikpOwogICBhZGRyLnN1bl9mYW1pbHkgPSBBRl9VTklYOwogICBhZGRyLnN1bl9wYXRoWzBdID0gJ1wwJzsKLSAgc3RyY3B5KGFkZHIuc3VuX3BhdGggKyAxLCBTT0NLX1BBVEgpOworICBzdHJjcHkoYWRkci5zdW5fcGF0aCArIDEsIHNvY2tfcGF0aCk7CiAKICAgQVNTRVJUX05FKC0xLCBiaW5kKGZkLCByZWludGVycHJldF9jYXN0PHN0cnVjdCBzb2NrYWRkcio+KCZhZGRyKSwgc2l6ZW9mKGFkZHIpKSkgPDwgc3RyZXJyb3IoZXJybm8pOwogCiAgIEFTU0VSVF9ORSgtMSwgbGlzdGVuKGZkLCAxKSkgPDwgc3RyZXJyb3IoZXJybm8pOwogCisgIENvbm5lY3REYXRhIGNvbm5lY3RfZGF0YShjYWxsYmFja19mbiwgc29ja19wYXRoKTsKKwogICBwdGhyZWFkX3QgdGhyZWFkOwotICBBU1NFUlRfRVEoMCwgcHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgQ29ubmVjdEZuLCByZWludGVycHJldF9jYXN0PHZvaWQqPihjYWxsYmFja19mbikpKTsKKyAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWQsIE5VTEwsIENvbm5lY3RGbiwgJmNvbm5lY3RfZGF0YSkpOwogCiAgIGZkX3NldCByZWFkX3NldDsKICAgRkRfWkVSTygmcmVhZF9zZXQpOwpAQCAtMTA1LDE4ICs5NSwxMiBAQAogCiAgIGNsb3NlKGZkKTsKIH0KLSNlbmRpZgogCiBURVNUKHN5c19zb2NrZXQsIGFjY2VwdDRfZXJyb3IpIHsKLSNpZiBkZWZpbmVkKEFDQ0VQVDRfU1VQUE9SVEVEKQogICBBU1NFUlRfRVEoLTEsIGFjY2VwdDQoLTEsIE5VTEwsIE5VTEwsIDApKTsKICAgQVNTRVJUX0VRKEVCQURGLCBlcnJubyk7Ci0jZWxzZQotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKLSNlbmRpZgogfQogCi0jaWYgZGVmaW5lZChBQ0NFUFQ0X1NVUFBPUlRFRCkKIHN0YXRpYyB2b2lkIFRlc3RBY2NlcHQ0KHN0cnVjdCBzb2NrYWRkcl91biogYWRkciwgaW50IGZkKSB7CiAgIHNvY2tsZW5fdCBsZW4gPSBzaXplb2YoKmFkZHIpOwogICBpbnQgZmRfYWNjID0gYWNjZXB0NChmZCwgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc29ja2FkZHIqPihhZGRyKSwgJmxlbiwgU09DS19DTE9FWEVDKTsKQEAgLTEyNywxNyArMTExLDExIEBACiAKICAgY2xvc2UoZmRfYWNjKTsKIH0KLSNlbmRpZgogCiBURVNUKHN5c19zb2NrZXQsIGFjY2VwdDRfc21va2UpIHsKLSNpZiBkZWZpbmVkKEFDQ0VQVDRfU1VQUE9SVEVEKQotICBSdW5UZXN0KFRlc3RBY2NlcHQ0LCBOVUxMKTsKLSNlbHNlCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmCisgIFJ1blRlc3QoVGVzdEFjY2VwdDQsIE5VTEwsICJ0ZXN0X2FjY2VwdCIpOwogfQogCi0jaWYgZGVmaW5lZChSRUNWTU1TR19TVVBQT1JURUQpCiBjb25zdCBjaGFyKiBnX1JlY3ZNc2dzW10gPSB7CiAgICJSRUNWTU1TR19PTkUiLAogICAiUkVDVk1NU0dfVFdPIiwKQEAgLTE4OCwyNiArMTY2LDE2IEBACiAKICAgY2xvc2UoZmRfYWNjKTsKIH0KLSNlbmRpZgogCiBURVNUKHN5c19zb2NrZXQsIHJlY3ZtbXNnX3Ntb2tlKSB7Ci0jaWYgZGVmaW5lZChSRUNWTU1TR19TVVBQT1JURUQpCi0gIFJ1blRlc3QoVGVzdFJlY3ZNTXNnLCBTZW5kTXVsdGlwbGUpOwotI2Vsc2UKLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7Ci0jZW5kaWYKKyAgUnVuVGVzdChUZXN0UmVjdk1Nc2csIFNlbmRNdWx0aXBsZSwgInRlc3RfcmV2bW1zZyIpOwogfQogCiBURVNUKHN5c19zb2NrZXQsIHJlY3ZtbXNnX2Vycm9yKSB7Ci0jaWYgZGVmaW5lZChSRUNWTU1TR19TVVBQT1JURUQpCiAgIEFTU0VSVF9FUSgtMSwgcmVjdm1tc2coLTEsIE5VTEwsIDAsIDAsIE5VTEwpKTsKICAgQVNTRVJUX0VRKEVCQURGLCBlcnJubyk7Ci0jZWxzZQotICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKLSNlbmRpZgogfQogCi0jaWYgZGVmaW5lZChTRU5ETU1TR19TVVBQT1JURUQpCiBjb25zdCBjaGFyKiBnX1NlbmRNc2dzW10gPSB7CiAgICJNU0dfT05FIiwKICAgIk1TR19UV08iLApAQCAtMjU2LDIxICsyMjQsMTIgQEAKIAogICBjbG9zZShmZF9hY2MpOwogfQotI2VuZGlmCiAKIFRFU1Qoc3lzX3NvY2tldCwgc2VuZG1tc2dfc21va2UpIHsKLSNpZiBkZWZpbmVkKFNFTkRNTVNHX1NVUFBPUlRFRCkKLSAgUnVuVGVzdChUZXN0U2VuZE1Nc2csIFNlbmRNTXNnKTsKLSNlbHNlCi0gIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBkb2VzIG5vdGhpbmcuXG4iOwotI2VuZGlmCisgIFJ1blRlc3QoVGVzdFNlbmRNTXNnLCBTZW5kTU1zZywgInRlc3Rfc2VuZG1tc2ciKTsKIH0KIAogVEVTVChzeXNfc29ja2V0LCBzZW5kbW1zZ19lcnJvcikgewotI2lmIGRlZmluZWQoU0VORE1NU0dfU1VQUE9SVEVEKQogICBBU1NFUlRfRVEoLTEsIHNlbmRtbXNnKC0xLCBOVUxMLCAwLCAwKSk7CiAgIEFTU0VSVF9FUShFQkFERiwgZXJybm8pOwotI2Vsc2UKLSAgR1RFU1RfTE9HXyhJTkZPKSA8PCAiVGhpcyB0ZXN0IGRvZXMgbm90aGluZy5cbiI7Ci0jZW5kaWYKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL3N5c19zdGF0X3Rlc3QuY3BwIGIvdGVzdHMvc3lzX3N0YXRfdGVzdC5jcHAKaW5kZXggNjQwNDlhYi4uN2MzODdiYSAxMDA2NDQKLS0tIGEvdGVzdHMvc3lzX3N0YXRfdGVzdC5jcHAKKysrIGIvdGVzdHMvc3lzX3N0YXRfdGVzdC5jcHAKQEAgLTU1LDYgKzU1LDE4IEBACiAgIEFTU0VSVF9FUShFQkFERiwgZXJybm8pOwogfQogCitURVNUKHN5c19zdGF0LCBta2ZpZm9fZmFpbHVyZSkgeworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgtMSwgbWtmaWZvKCIvIiwgMDY2NikpOworICBBU1NFUlRfRVEoRUVYSVNULCBlcnJubyk7Cit9CisKK1RFU1Qoc3lzX3N0YXQsIG1rZmlmb2F0X2ZhaWx1cmUpIHsKKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEoLTEsIG1rZmlmb2F0KC0yLCAieCIsIDA2NjYpKTsKKyAgQVNTRVJUX0VRKEVCQURGLCBlcnJubyk7Cit9CisKIFRFU1Qoc3lzX3N0YXQsIG1rZmlmbykgewogICBpZiAoZ2V0dWlkKCkgPT0gMCkgewogICAgIC8vIFJhY3kgYnV0IHByb2JhYmx5IHN1ZmZpY2llbnQgd2F5IHRvIGdldCBhIHN1aXRhYmxlIGZpbGVuYW1lLgpAQCAtNzAsNiArODIsNyBAQAogICAgIEFTU0VSVF9UUlVFKFNfSVNGSUZPKHNiLnN0X21vZGUpKTsKICAgICB1bmxpbmsocGF0aC5jX3N0cigpKTsKICAgfSBlbHNlIHsKKyAgICAvLyBTRUxpbnV4IHBvbGljeSBmb3JiaWRzIHVzIGZyb20gY3JlYXRpbmcgRklGT3MuIGh0dHA6Ly9iLzE3NjQ2NzAyLgogICAgIEdURVNUX0xPR18oSU5GTykgPDwgIlRoaXMgdGVzdCBvbmx5IHBlcmZvcm1zIGEgdGVzdCB3aGVuIHJ1biBhcyByb290LiI7CiAgIH0KIH0KQEAgLTgyLDMgKzk1LDE5MyBAQAogICBBU1NFUlRfRVEoMCwgZnN0YXQ2NChmZCwgJnNiKSk7CiAgIGNsb3NlKGZkKTsKIH0KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfRUZBVUxUX2ZpbGUpIHsKKyAgQVNTRVJUX0VRKC0xLCBmY2htb2RhdChBVF9GRENXRCwgKGNoYXIgKikgMHgxLCAwNzUxLCAwKSk7CisgIEFTU0VSVF9FUShFRkFVTFQsIGVycm5vKTsKK30KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfQVRfU1lNTElOS19OT0ZPTExPV19FRkFVTFRfZmlsZSkgeworICBBU1NFUlRfRVEoLTEsIGZjaG1vZGF0KEFUX0ZEQ1dELCAoY2hhciAqKSAweDEsIDA3NTEsIEFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgIEFTU0VSVF9FUShFRkFVTFQsIGVycm5vKTsKKyNlbHNlCisgIC8vIGdsaWJjIDIuMTkgZG9lcyBub3QgaW1wbGVtZW50IEFUX1NZTUxJTktfTk9GT0xMT1cgYW5kIGFsd2F5cworICAvLyByZXR1cm5zIEVOT1RTVVAKKyAgQVNTRVJUX0VRKEVOT1RTVVAsIGVycm5vKTsKKyNlbmRpZgorfQorCitURVNUKHN5c19zdGF0LCBmY2htb2RhdF9iYWRfZmxhZ3MpIHsKKyAgQVNTRVJUX0VRKC0xLCBmY2htb2RhdChBVF9GRENXRCwgIi9ibGFoIiwgMDc1MSwgfkFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKHN5c19zdGF0LCBmY2htb2RhdF9iYWRfZmxhZ3NfQUxMKSB7CisgIEFTU0VSVF9FUSgtMSwgZmNobW9kYXQoQVRfRkRDV0QsICIvYmxhaCIsIDA3NTEsIH4wKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKK30KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfbm9uZXhpc3RhbnRfZmlsZSkgeworICBBU1NFUlRfRVEoLTEsIGZjaG1vZGF0KEFUX0ZEQ1dELCAiL2JsYWgiLCAwNzUxLCAwKSk7CisgIEFTU0VSVF9FUShFTk9FTlQsIGVycm5vKTsKK30KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfQVRfU1lNTElOS19OT0ZPTExPV19ub25leGlzdGFudF9maWxlKSB7CisgIEFTU0VSVF9FUSgtMSwgZmNobW9kYXQoQVRfRkRDV0QsICIvYmxhaCIsIDA3NTEsIEFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgIEFTU0VSVF9FUShFTk9FTlQsIGVycm5vKTsKKyNlbHNlCisgIC8vIGdsaWJjIDIuMTkgZG9lcyBub3QgaW1wbGVtZW50IEFUX1NZTUxJTktfTk9GT0xMT1cgYW5kIGFsd2F5cworICAvLyByZXR1cm5zIEVOT1RTVVAKKyAgQVNTRVJUX0VRKEVOT1RTVVAsIGVycm5vKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBBc3NlcnRGaWxlTW9kZUVxdWFscyhtb2RlX3QgZXhwZWN0ZWRfbW9kZSwgY29uc3QgY2hhciogZmlsZW5hbWUpIHsKKyAgc3RydWN0IHN0YXQgc2I7CisgIEFTU0VSVF9FUSgwLCBzdGF0KGZpbGVuYW1lLCAmc2IpKTsKKyAgbW9kZV90IG1hc2sgPSBTX0lSV1hVIHwgU19JUldYRyB8IFNfSVJXWE87CisgIEFTU0VSVF9FUShleHBlY3RlZF9tb2RlICYgbWFzaywgc3RhdGljX2Nhc3Q8bW9kZV90PihzYi5zdF9tb2RlKSAmIG1hc2spOworfQorCitURVNUKHN5c19zdGF0LCBmY2htb2RhdF9maWxlKSB7CisgIFRlbXBvcmFyeUZpbGUgdGY7CisKKyAgQVNTRVJUX0VRKDAsIGZjaG1vZGF0KEFUX0ZEQ1dELCB0Zi5maWxlbmFtZSwgMDc1MSwgMCkpOworICBBc3NlcnRGaWxlTW9kZUVxdWFscygwNzUxLCB0Zi5maWxlbmFtZSk7Cit9CisKK1RFU1Qoc3lzX3N0YXQsIGZjaG1vZGF0X0FUX1NZTUxJTktfTk9GT0xMT1dfZmlsZSkgeworICBUZW1wb3JhcnlGaWxlIHRmOworICBlcnJubyA9IDA7CisgIGludCByZXN1bHQgPSBmY2htb2RhdChBVF9GRENXRCwgdGYuZmlsZW5hbWUsIDA3NTEsIEFUX1NZTUxJTktfTk9GT0xMT1cpOworCisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorICBBU1NFUlRfRVEoMCwgcmVzdWx0KTsKKyAgQVNTRVJUX0VRKDAsIGVycm5vKTsKKyAgQXNzZXJ0RmlsZU1vZGVFcXVhbHMoMDc1MSwgdGYuZmlsZW5hbWUpOworI2Vsc2UKKyAgLy8gZ2xpYmMgMi4xOSBkb2VzIG5vdCBpbXBsZW1lbnQgQVRfU1lNTElOS19OT0ZPTExPVyBhbmQgYWx3YXlzCisgIC8vIHJldHVybnMgRU5PVFNVUAorICBBU1NFUlRfRVEoLTEsIHJlc3VsdCk7CisgIEFTU0VSVF9FUShFTk9UU1VQLCBlcnJubyk7CisjZW5kaWYKK30KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfc3ltbGluaykgeworICBUZW1wb3JhcnlGaWxlIHRmOworICBjaGFyIGxpbmtuYW1lWzI1NV07CisKKyAgc25wcmludGYobGlua25hbWUsIHNpemVvZihsaW5rbmFtZSksICIlcy5saW5rIiwgdGYuZmlsZW5hbWUpOworCisgIEFTU0VSVF9FUSgwLCBzeW1saW5rKHRmLmZpbGVuYW1lLCBsaW5rbmFtZSkpOworICBBU1NFUlRfRVEoMCwgZmNobW9kYXQoQVRfRkRDV0QsIGxpbmtuYW1lLCAwNzUxLCAwKSk7CisgIEFzc2VydEZpbGVNb2RlRXF1YWxzKDA3NTEsIHRmLmZpbGVuYW1lKTsKKyAgdW5saW5rKGxpbmtuYW1lKTsKK30KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfZGFuZ2xpbmdfc3ltbGluaykgeworICBUZW1wb3JhcnlGaWxlIHRmOworICBjaGFyIGxpbmtuYW1lWzI1NV07CisgIGNoYXIgdGFyZ2V0WzI1NV07CisKKyAgc25wcmludGYobGlua25hbWUsIHNpemVvZihsaW5rbmFtZSksICIlcy5saW5rIiwgdGYuZmlsZW5hbWUpOworICBzbnByaW50Zih0YXJnZXQsIHNpemVvZih0YXJnZXQpLCAiJXMuZG9lc25vdGV4aXN0IiwgdGYuZmlsZW5hbWUpOworCisgIEFTU0VSVF9FUSgwLCBzeW1saW5rKHRhcmdldCwgbGlua25hbWUpKTsKKyAgQVNTRVJUX0VRKC0xLCBmY2htb2RhdChBVF9GRENXRCwgbGlua25hbWUsIDA3NTEsIDApKTsKKyAgQVNTRVJUX0VRKEVOT0VOVCwgZXJybm8pOworICB1bmxpbmsobGlua25hbWUpOworfQorCitzdGF0aWMgdm9pZCBBc3NlcnRTeW1saW5rTW9kZUVxdWFscyhtb2RlX3QgZXhwZWN0ZWRfbW9kZSwgY29uc3QgY2hhciogbGlua25hbWUpIHsKKyAgc3RydWN0IHN0YXQgc2I7CisgIEFTU0VSVF9FUSgwLCBmc3RhdGF0KEFUX0ZEQ1dELCBsaW5rbmFtZSwgJnNiLCBBVF9TWU1MSU5LX05PRk9MTE9XKSk7CisgIG1vZGVfdCBtYXNrID0gU19JUldYVSB8IFNfSVJXWEcgfCBTX0lSV1hPOworICBBU1NFUlRfRVEoZXhwZWN0ZWRfbW9kZSAmIG1hc2ssIHN0YXRpY19jYXN0PG1vZGVfdD4oc2Iuc3RfbW9kZSkgJiBtYXNrKTsKK30KKworVEVTVChzeXNfc3RhdCwgZmNobW9kYXRfQVRfU1lNTElOS19OT0ZPTExPV193aXRoX3N5bWxpbmspIHsKKyAgVGVtcG9yYXJ5RmlsZSB0ZjsKKyAgc3RydWN0IHN0YXQgdGZfc2I7CisgIEFTU0VSVF9FUSgwLCBzdGF0KHRmLmZpbGVuYW1lLCAmdGZfc2IpKTsKKworICBjaGFyIGxpbmtuYW1lWzI1NV07CisgIHNucHJpbnRmKGxpbmtuYW1lLCBzaXplb2YobGlua25hbWUpLCAiJXMubGluayIsIHRmLmZpbGVuYW1lKTsKKworICBBU1NFUlRfRVEoMCwgc3ltbGluayh0Zi5maWxlbmFtZSwgbGlua25hbWUpKTsKKyAgaW50IHJlc3VsdCA9IGZjaG1vZGF0KEFUX0ZEQ1dELCBsaW5rbmFtZSwgMDc1MSwgQVRfU1lNTElOS19OT0ZPTExPVyk7CisgIC8vIEl0IGRlcGVuZHMgb24gdGhlIGtlcm5lbCB3aGV0aGVyIGNobW9kIG9wZXJhdGlvbiBvbiBzeW1saW5rIGlzIGFsbG93ZWQuCisgIGlmIChyZXN1bHQgPT0gMCkgeworICAgIEFzc2VydFN5bWxpbmtNb2RlRXF1YWxzKDA3NTEsIGxpbmtuYW1lKTsKKyAgfSBlbHNlIHsKKyAgICBBU1NFUlRfRVEoLTEsIHJlc3VsdCk7CisgICAgQVNTRVJUX0VRKEVOT1RTVVAsIGVycm5vKTsKKyAgfQorCisgIC8vIFRhcmdldCBmaWxlIG1vZGUgc2hvdWxkbid0IGJlIG1vZGlmaWVkLgorICBBc3NlcnRGaWxlTW9kZUVxdWFscyh0Zl9zYi5zdF9tb2RlLCB0Zi5maWxlbmFtZSk7CisgIHVubGluayhsaW5rbmFtZSk7Cit9CisKK1RFU1Qoc3lzX3N0YXQsIGZjaG1vZGF0X0FUX1NZTUxJTktfTk9GT0xMT1dfd2l0aF9kYW5nbGluZ19zeW1saW5rKSB7CisgIFRlbXBvcmFyeUZpbGUgdGY7CisKKyAgY2hhciBsaW5rbmFtZVsyNTVdOworICBjaGFyIHRhcmdldFsyNTVdOworICBzbnByaW50ZihsaW5rbmFtZSwgc2l6ZW9mKGxpbmtuYW1lKSwgIiVzLmxpbmsiLCB0Zi5maWxlbmFtZSk7CisgIHNucHJpbnRmKHRhcmdldCwgc2l6ZW9mKHRhcmdldCksICIlcy5kb2Vzbm90ZXhpc3QiLCB0Zi5maWxlbmFtZSk7CisKKyAgQVNTRVJUX0VRKDAsIHN5bWxpbmsodGFyZ2V0LCBsaW5rbmFtZSkpOworICBpbnQgcmVzdWx0ID0gZmNobW9kYXQoQVRfRkRDV0QsIGxpbmtuYW1lLCAwNzUxLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKyAgLy8gSXQgZGVwZW5kcyBvbiB0aGUga2VybmVsIHdoZXRoZXIgY2htb2Qgb3BlcmF0aW9uIG9uIHN5bWxpbmsgaXMgYWxsb3dlZC4KKyAgaWYgKHJlc3VsdCA9PSAwKSB7CisgICAgQXNzZXJ0U3ltbGlua01vZGVFcXVhbHMoMDc1MSwgbGlua25hbWUpOworICB9IGVsc2UgeworICAgIEFTU0VSVF9FUSgtMSwgcmVzdWx0KTsKKyAgICBBU1NFUlRfRVEoRU5PVFNVUCwgZXJybm8pOworICB9CisKKyAgdW5saW5rKGxpbmtuYW1lKTsKK30KKworVEVTVChzeXNfc3RhdCwgZmFjY2Vzc2F0X0VJTlZBTCkgeworICBBU1NFUlRfRVEoLTEsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIEZfT0ssIH5BVF9TWU1MSU5LX05PRk9MTE9XKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgIEFTU0VSVF9FUSgtMSwgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAiL2Rldi9udWxsIiwgfihSX09LIHwgV19PSyB8IFhfT0spLCAwKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyNlbHNlCisgIEFTU0VSVF9FUSgwLCBmYWNjZXNzYXQoQVRfRkRDV0QsICIvZGV2L251bGwiLCB+KFJfT0sgfCBXX09LIHwgWF9PSyksIEFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyAgQVNTRVJUX0VRKC0xLCBmYWNjZXNzYXQoQVRfRkRDV0QsICIvZGV2L251bGwiLCB+KFJfT0sgfCBXX09LIHwgWF9PSyksIDApKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworI2VuZGlmCit9CisKK1RFU1Qoc3lzX3N0YXQsIGZhY2Nlc3NhdF9BVF9TWU1MSU5LX05PRk9MTE9XX0VJTlZBTCkgeworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgLy8gQW5kcm9pZCBkb2Vzbid0IHN1cHBvcnQgQVRfU1lNTElOS19OT0ZPTExPVworICBBU1NFUlRfRVEoLTEsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworI2Vsc2UKKyAgQVNTRVJUX0VRKDAsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyNlbmRpZgorfQorCitURVNUKHN5c19zdGF0LCBmYWNjZXNzYXRfZGV2X251bGwpIHsKKyAgQVNTRVJUX0VRKDAsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIEZfT0ssIDApKTsKKyAgQVNTRVJUX0VRKDAsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIFJfT0ssIDApKTsKKyAgQVNTRVJUX0VRKDAsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIFdfT0ssIDApKTsKKyAgQVNTRVJUX0VRKDAsIGZhY2Nlc3NhdChBVF9GRENXRCwgIi9kZXYvbnVsbCIsIFJfT0t8V19PSywgMCkpOworfQorCitURVNUKHN5c19zdGF0LCBmYWNjZXNzYXRfbm9uZXhpc3RhbnQpIHsKKyAgQVNTRVJUX0VRKC0xLCBmYWNjZXNzYXQoQVRfRkRDV0QsICIvYmxhaCIsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpKTsKKyNpZiBkZWZpbmVkKF9fQklPTklDX18pCisgIC8vIEFuZHJvaWQgZG9lc24ndCBzdXBwb3J0IEFUX1NZTUxJTktfTk9GT0xMT1cKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworI2Vsc2UKKyAgQVNTRVJUX0VRKEVOT0VOVCwgZXJybm8pOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS90ZXN0cy9zeXNfc3RhdHZmc190ZXN0LmNwcCBiL3Rlc3RzL3N5c19zdGF0dmZzX3Rlc3QuY3BwCmluZGV4IDZiMTllMTMuLmJmZjllMjAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N5c19zdGF0dmZzX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N5c19zdGF0dmZzX3Rlc3QuY3BwCkBAIC0zMCw2ICszMCwxMSBAQAogICBFWFBFQ1RfRVEoMFUsIHNiLmZfZmZyZWUpOwogICBFWFBFQ1RfRVEoMFUsIHNiLmZfZnNpZCk7CiAgIEVYUEVDVF9FUSgyNTVVLCBzYi5mX25hbWVtYXgpOworCisgIC8vIFRoZSBrZXJuZWwgc2V0cyBhIHByaXZhdGUgYml0IHRvIGluZGljYXRlIHRoYXQgZl9mbGFncyBpcyB2YWxpZC4KKyAgLy8gVGhpcyBmbGFnIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBleHBvc2VkIHRvIGxpYmMgY2xpZW50cy4KKyAgc3RhdGljIGNvbnN0IHVpbnQzMl90IFNUX1ZBTElEID0gMHgwMDIwOworICBFWFBFQ1RfVFJVRSgoc2IuZl9mbGFnICYgU1RfVkFMSUQpID09IDApIDw8IHNiLmZfZmxhZzsKIH0KIAogVEVTVChzeXNfc3RhdHZmcywgc3RhdHZmcykgewpAQCAtNTEsNiArNTYsNyBAQAogICBjbG9zZShmZCk7CiAgIENoZWNrKHNiKTsKIH0KKwogVEVTVChzeXNfc3RhdHZmcywgZnN0YXR2ZnM2NCkgewogICBzdHJ1Y3Qgc3RhdHZmczY0IHNiOwogICBpbnQgZmQgPSBvcGVuKCIvcHJvYyIsIE9fUkRPTkxZKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N5c19zeXNpbmZvX3Rlc3QuY3BwIGIvdGVzdHMvc3lzX3N5c2luZm9fdGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAwZTEzZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3N5c19zeXNpbmZvX3Rlc3QuY3BwCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKworI2luY2x1ZGUgPHN5cy9zeXNpbmZvLmg+CisKK1RFU1Qoc3lzX3N5c2luZm8sIHNtb2tlKSB7CisgIGludCBucHJvY2Vzc29yID0gZ2V0X25wcm9jcygpOworICBBU1NFUlRfR1QobnByb2Nlc3NvciwgMCk7CisKKyAgaW50IG5wcm9jZXNzb3JfY29uZiA9IGdldF9ucHJvY3NfY29uZigpOworICBBU1NFUlRfR0UobnByb2Nlc3Nvcl9jb25mLCBucHJvY2Vzc29yKTsKKworICBsb25nIGF2YWlsX3BoeXNfcGFnZXMgPSBnZXRfYXZwaHlzX3BhZ2VzKCk7CisgIEFTU0VSVF9HVChhdmFpbF9waHlzX3BhZ2VzLCAwKTsKKworICBsb25nIHBoeXNfcGFnZXMgPSBnZXRfcGh5c19wYWdlcygpOworICBBU1NFUlRfR0UocGh5c19wYWdlcywgYXZhaWxfcGh5c19wYWdlcyk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9zeXNfdmZzX3Rlc3QuY3BwIGIvdGVzdHMvc3lzX3Zmc190ZXN0LmNwcAppbmRleCA0YjA1NjYwLi5hNTIxOTY3IDEwMDY0NAotLS0gYS90ZXN0cy9zeXNfdmZzX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N5c192ZnNfdGVzdC5jcHAKQEAgLTMxLDYgKzMxLDExIEBACiAgIEVYUEVDVF9FUSgwLCBzYi5mX2ZzaWQuX192YWxbMF0pOwogICBFWFBFQ1RfRVEoMCwgc2IuZl9mc2lkLl9fdmFsWzFdKTsKICAgRVhQRUNUX0VRKDI1NSwgc3RhdGljX2Nhc3Q8aW50PihzYi5mX25hbWVsZW4pKTsKKworICAvLyBUaGUga2VybmVsIHNldHMgYSBwcml2YXRlIGJpdCB0byBpbmRpY2F0ZSB0aGF0IGZfZmxhZ3MgaXMgdmFsaWQuCisgIC8vIFRoaXMgZmxhZyBpcyBub3Qgc3VwcG9zZWQgdG8gYmUgZXhwb3NlZCB0byBsaWJjIGNsaWVudHMuCisgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBTVF9WQUxJRCA9IDB4MDAyMDsKKyAgRVhQRUNUX1RSVUUoKHNiLmZfZmxhZ3MgJiBTVF9WQUxJRCkgPT0gMCkgPDwgc2IuZl9mbGFnczsKIH0KIAogVEVTVChzeXNfdmZzLCBzdGF0ZnMpIHsKQEAgLTUyLDYgKzU3LDcgQEAKICAgY2xvc2UoZmQpOwogICBDaGVjayhzYik7CiB9CisKIFRFU1Qoc3lzX3ZmcywgZnN0YXRmczY0KSB7CiAgIHN0cnVjdCBzdGF0ZnM2NCBzYjsKICAgaW50IGZkID0gb3BlbigiL3Byb2MiLCBPX1JET05MWSk7CmRpZmYgLS1naXQgYS90ZXN0cy9zeXN0ZW1fcHJvcGVydGllc190ZXN0LmNwcCBiL3Rlc3RzL3N5c3RlbV9wcm9wZXJ0aWVzX3Rlc3QuY3BwCmluZGV4IGJmZDU4NTQuLmM3YmZlZTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N5c3RlbV9wcm9wZXJ0aWVzX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N5c3RlbV9wcm9wZXJ0aWVzX3Rlc3QuY3BwCkBAIC0xNSw4ICsxNSwxMCBAQAogICovCiAKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgotI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSAiQmlvbmljRGVhdGhUZXN0LmgiCisKICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8c3RyaW5nPgogCkBAIC0zOTgsOSArNDAwLDEwIEBACiAgICAgICAgICBXVEVSTVNJRyhleGl0X3N0YXR1cykgPT0gU0lHQUJSVCk7CiB9CiAKLVRFU1QocHJvcGVydGllc19EZWF0aFRlc3QsIHJlYWRfb25seSkgeworY2xhc3MgcHJvcGVydGllc19EZWF0aFRlc3QgOiBwdWJsaWMgQmlvbmljRGVhdGhUZXN0IHt9OworCitURVNUX0YocHJvcGVydGllc19EZWF0aFRlc3QsIHJlYWRfb25seSkgewogI2lmIGRlZmluZWQoX19CSU9OSUNfXykKLSAgOjp0ZXN0aW5nOjpGTEFHU19ndGVzdF9kZWF0aF90ZXN0X3N0eWxlID0gInRocmVhZHNhZmUiOwogCiAgIC8vIFRoaXMgdGVzdCBvbmx5IG1ha2VzIHNlbnNlIGlmIHdlJ3JlIHRhbGtpbmcgdG8gdGhlIHJlYWwgc3lzdGVtIHByb3BlcnR5IHNlcnZpY2UuCiAgIHN0cnVjdCBzdGF0IHNiOwpkaWZmIC0tZ2l0IGEvdGVzdHMvdGltZV90ZXN0LmNwcCBiL3Rlc3RzL3RpbWVfdGVzdC5jcHAKaW5kZXggMDk3MWRlMi4uMGVhOTBhOCAxMDA2NDQKLS0tIGEvdGVzdHMvdGltZV90ZXN0LmNwcAorKysgYi90ZXN0cy90aW1lX3Rlc3QuY3BwCkBAIC0xNywxNyArMTcsMTkgQEAKICNpbmNsdWRlIDx0aW1lLmg+CiAKICNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPGZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+CiAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0jaW5jbHVkZSA8c3RkYXRvbWljLmg+CiAjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGF0b21pYz4KIAogI2luY2x1ZGUgIlNjb3BlZFNpZ25hbEhhbmRsZXIuaCIKIAorI2luY2x1ZGUgInByaXZhdGUvYmlvbmljX2NvbnN0YW50cy5oIgorCiBURVNUKHRpbWUsIGdtdGltZSkgewogICB0aW1lX3QgdCA9IDA7CiAgIHRtKiBicm9rZW5fZG93biA9IGdtdGltZSgmdCk7CkBAIC03MSw2ICs3MywzMCBAQAogICBBU1NFUlRfRVEoMCwgcHRocmVhZF9qb2luKHQsICZyZXN1bHQpKTsKIH0KIAorVEVTVCh0aW1lLCBta3RpbWVfZW1wdHlfVFopIHsKKyAgLy8gdHpjb2RlIHVzZWQgdG8gaGF2ZSBhIGJ1ZyB3aGVyZSBpdCBkaWRuJ3QgcmVpbml0aWFsaXplIHNvbWUgaW50ZXJuYWwgc3RhdGUuCisKKyAgLy8gQ2hvb3NlIGEgdGltZSB3aGVyZSBEU1QgaXMgc2V0LgorICBzdHJ1Y3QgdG0gdDsKKyAgbWVtc2V0KCZ0LCAwLCBzaXplb2YodG0pKTsKKyAgdC50bV95ZWFyID0gMTk4MCAtIDE5MDA7CisgIHQudG1fbW9uID0gNjsKKyAgdC50bV9tZGF5ID0gMjsKKworICBzZXRlbnYoIlRaIiwgIkFtZXJpY2EvTG9zX0FuZ2VsZXMiLCAxKTsKKyAgdHpzZXQoKTsKKyAgQVNTRVJUX0VRKHN0YXRpY19jYXN0PHRpbWVfdD4oMzMxMzcyODAwVSksIG1rdGltZSgmdCkpOworCisgIG1lbXNldCgmdCwgMCwgc2l6ZW9mKHRtKSk7CisgIHQudG1feWVhciA9IDE5ODAgLSAxOTAwOworICB0LnRtX21vbiA9IDY7CisgIHQudG1fbWRheSA9IDI7CisKKyAgc2V0ZW52KCJUWiIsICIiLCAxKTsgLy8gSW1wbGllcyBVVEMuCisgIHR6c2V0KCk7CisgIEFTU0VSVF9FUShzdGF0aWNfY2FzdDx0aW1lX3Q+KDMzMTM0NDAwMFUpLCBta3RpbWUoJnQpKTsKK30KKwogVEVTVCh0aW1lLCBta3RpbWVfMTAzMTA5MjkpIHsKICAgc3RydWN0IHRtIHQ7CiAgIG1lbXNldCgmdCwgMCwgc2l6ZW9mKHRtKSk7CkBAIC0yMDUsNyArMjMxLDcgQEAKIAogc3RydWN0IENvdW50ZXIgewogIHByaXZhdGU6Ci0gIGF0b21pY19pbnQgdmFsdWU7CisgIHN0ZDo6YXRvbWljPGludD4gdmFsdWU7CiAgIHRpbWVyX3QgdGltZXJfaWQ7CiAgIHNpZ2V2ZW50X3Qgc2U7CiAgIGJvb2wgdGltZXJfdmFsaWQ7CkBAIC0yMTcsMTQgKzI0MywxMyBAQAogICB9CiAKICBwdWJsaWM6Ci0gIENvdW50ZXIodm9pZCAoKmZuKShzaWd2YWxfdCkpIDogdmFsdWUoQVRPTUlDX1ZBUl9JTklUKDApKSwgdGltZXJfdmFsaWQoZmFsc2UpIHsKKyAgQ291bnRlcih2b2lkICgqZm4pKHNpZ3ZhbF90KSkgOiB2YWx1ZSgwKSwgdGltZXJfdmFsaWQoZmFsc2UpIHsKICAgICBtZW1zZXQoJnNlLCAwLCBzaXplb2Yoc2UpKTsKICAgICBzZS5zaWdldl9ub3RpZnkgPSBTSUdFVl9USFJFQUQ7CiAgICAgc2Uuc2lnZXZfbm90aWZ5X2Z1bmN0aW9uID0gZm47CiAgICAgc2Uuc2lnZXZfdmFsdWUuc2l2YWxfcHRyID0gdGhpczsKICAgICBDcmVhdGUoKTsKICAgfQotCiAgIHZvaWQgRGVsZXRlVGltZXIoKSB7CiAgICAgQVNTRVJUX1RSVUUodGltZXJfdmFsaWQpOwogICAgIEFTU0VSVF9FUSgwLCB0aW1lcl9kZWxldGUodGltZXJfaWQpKTsKQEAgLTIzNyw4ICsyNjIsOCBAQAogICAgIH0KICAgfQogCi0gIGludCBWYWx1ZSgpIHsKLSAgICByZXR1cm4gYXRvbWljX2xvYWQoJnZhbHVlKTsKKyAgaW50IFZhbHVlKCkgY29uc3QgeworICAgIHJldHVybiB2YWx1ZTsKICAgfQogCiAgIHZvaWQgU2V0VGltZSh0aW1lX3QgdmFsdWVfcywgdGltZV90IHZhbHVlX25zLCB0aW1lX3QgaW50ZXJ2YWxfcywgdGltZV90IGludGVydmFsX25zKSB7CkBAIC0yNDYsMjEgKzI3MSwyMSBAQAogICB9CiAKICAgYm9vbCBWYWx1ZVVwZGF0ZWQoKSB7Ci0gICAgaW50IGN1cnJlbnRfdmFsdWUgPSBhdG9taWNfbG9hZCgmdmFsdWUpOworICAgIGludCBjdXJyZW50X3ZhbHVlID0gdmFsdWU7CiAgICAgdGltZV90IHN0YXJ0ID0gdGltZShOVUxMKTsKLSAgICB3aGlsZSAoY3VycmVudF92YWx1ZSA9PSBhdG9taWNfbG9hZCgmdmFsdWUpICYmICh0aW1lKE5VTEwpIC0gc3RhcnQpIDwgNSkgeworICAgIHdoaWxlIChjdXJyZW50X3ZhbHVlID09IHZhbHVlICYmICh0aW1lKE5VTEwpIC0gc3RhcnQpIDwgNSkgewogICAgIH0KLSAgICByZXR1cm4gY3VycmVudF92YWx1ZSAhPSBhdG9taWNfbG9hZCgmdmFsdWUpOworICAgIHJldHVybiBjdXJyZW50X3ZhbHVlICE9IHZhbHVlOwogICB9CiAKICAgc3RhdGljIHZvaWQgQ291bnROb3RpZnlGdW5jdGlvbihzaWd2YWxfdCB2YWx1ZSkgewogICAgIENvdW50ZXIqIGNkID0gcmVpbnRlcnByZXRfY2FzdDxDb3VudGVyKj4odmFsdWUuc2l2YWxfcHRyKTsKLSAgICBhdG9taWNfZmV0Y2hfYWRkKCZjZC0+dmFsdWUsIDEpOworICAgICsrY2QtPnZhbHVlOwogICB9CiAKICAgc3RhdGljIHZvaWQgQ291bnRBbmREaXNhcm1Ob3RpZnlGdW5jdGlvbihzaWd2YWxfdCB2YWx1ZSkgewogICAgIENvdW50ZXIqIGNkID0gcmVpbnRlcnByZXRfY2FzdDxDb3VudGVyKj4odmFsdWUuc2l2YWxfcHRyKTsKLSAgICBhdG9taWNfZmV0Y2hfYWRkKCZjZC0+dmFsdWUsIDEpOworICAgICsrY2QtPnZhbHVlOwogCiAgICAgLy8gU2V0dGluZyB0aGUgaW5pdGlhbCBleHBpcmF0aW9uIHRpbWUgdG8gMCBkaXNhcm1zIHRoZSB0aW1lci4KICAgICBjZC0+U2V0VGltZSgwLCAwLCAxLCAwKTsKQEAgLTQ2MiwxMCArNDg3LDU5IEBACiAgIHRzMi50dl9uc2VjIC09IHRzMS50dl9uc2VjOwogICBpZiAodHMyLnR2X25zZWMgPCAwKSB7CiAgICAgLS10czIudHZfc2VjOwotICAgIHRzMi50dl9uc2VjICs9IDEwMDAwMDAwMDA7CisgICAgdHMyLnR2X25zZWMgKz0gTlNfUEVSX1M7CiAgIH0KIAogICAvLyBTaG91bGQgYmUgbGVzcyB0aGFuIChhIHZlcnkgZ2VuZXJvdXMsIHRvIHRyeSB0byBhdm9pZCBmbGFraW5lc3MpIDEwMDAwMDBucy4KICAgQVNTRVJUX0VRKDAsIHRzMi50dl9zZWMpOwogICBBU1NFUlRfTFQodHMyLnR2X25zZWMsIDEwMDAwMDApOwogfQorCitURVNUKHRpbWUsIGNsb2NrKSB7CisgIC8vIGNsb2NrKDMpIGlzIGhhcmQgdG8gdGVzdCwgYnV0IGEgMXMgc2xlZXAgc2hvdWxkIGNvc3QgbGVzcyB0aGFuIDFtcy4KKyAgY2xvY2tfdCB0MCA9IGNsb2NrKCk7CisgIHNsZWVwKDEpOworICBjbG9ja190IHQxID0gY2xvY2soKTsKKyAgQVNTRVJUX0xUKHQxIC0gdDAsIENMT0NLU19QRVJfU0VDIC8gMTAwMCk7Cit9CisKK3BpZF90IEdldEludmFsaWRQaWQoKSB7CisgIEZJTEUqIGZwID0gZm9wZW4oIi9wcm9jL3N5cy9rZXJuZWwvcGlkX21heCIsICJyIik7CisgIGxvbmcgcGlkX21heDsKKyAgZnNjYW5mKGZwLCAiJWxkIiwgJnBpZF9tYXgpOworICBwaWRfdCBpbnZhbGlkX3BpZCA9IHN0YXRpY19jYXN0PHBpZF90PihwaWRfbWF4ICsgMSk7CisgIGZjbG9zZShmcCk7CisgIHJldHVybiBpbnZhbGlkX3BpZDsKK30KKworVEVTVCh0aW1lLCBjbG9ja19nZXRjcHVjbG9ja2lkKSB7CisgIC8vIEZvciBjdXJyZW50IHByb2Nlc3MuCisgIGNsb2NraWRfdCBjbG9ja2lkOworICBBU1NFUlRfRVEoMCwgY2xvY2tfZ2V0Y3B1Y2xvY2tpZChnZXRwaWQoKSwgJmNsb2NraWQpKTsKKworICB0aW1lc3BlYyB0czsKKyAgQVNTRVJUX0VRKDAsIGNsb2NrX2dldHRpbWUoY2xvY2tpZCwgJnRzKSk7CisKKyAgLy8gRm9yIHBhcmVudCBwcm9jZXNzLgorICBBU1NFUlRfRVEoMCwgY2xvY2tfZ2V0Y3B1Y2xvY2tpZChnZXRwcGlkKCksICZjbG9ja2lkKSk7CisgIEFTU0VSVF9FUSgwLCBjbG9ja19nZXR0aW1lKGNsb2NraWQsICZ0cykpOworCisgIC8vIEZvciBpbnZhbGlkIHByb2Nlc3MuCisgIC8vIFdlIGNhbid0IHVzZSAtMSBmb3IgaW52YWxpZCBwaWQgaGVyZSwgYmVjYXVzZSBjbG9ja19nZXRjcHVjbG9ja2lkKCkgY2FuJ3QgZGV0ZWN0IGl0LgorICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUShFU1JDSCwgY2xvY2tfZ2V0Y3B1Y2xvY2tpZChHZXRJbnZhbGlkUGlkKCksICZjbG9ja2lkKSk7CisgIEFTU0VSVF9FUSgwLCBlcnJubyk7Cit9CisKK1RFU1QodGltZSwgY2xvY2tfc2V0dGltZSkgeworICBlcnJubyA9IDA7CisgIHRpbWVzcGVjIHRzOworICBBU1NFUlRfRVEoLTEsIGNsb2NrX3NldHRpbWUoLTEsICZ0cykpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7Cit9CisKK1RFU1QodGltZSwgY2xvY2tfbmFub3NsZWVwKSB7CisgIHRpbWVzcGVjIGluOworICB0aW1lc3BlYyBvdXQ7CisgIEFTU0VSVF9FUShFSU5WQUwsIGNsb2NrX25hbm9zbGVlcCgtMSwgMCwgJmluLCAmb3V0KSk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy91Y2hhcl90ZXN0LmNwcCBiL3Rlc3RzL3VjaGFyX3Rlc3QuY3BwCmluZGV4IGVjYTNjNWUuLmM4ODdmOGEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VjaGFyX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3VjaGFyX3Rlc3QuY3BwCkBAIC0xOSw3ICsxOSw2IEBACiAjaWYgZGVmaW5lZChfX0JJT05JQ19fKQogI2RlZmluZSBIQVZFX1VDSEFSIDEKICNlbGlmIGRlZmluZWQoX19HTElCQ19fKQotI2luY2x1ZGUgPGZlYXR1cmVzLmg+CiAjZGVmaW5lIEhBVkVfVUNIQVIgX19HTElCQ19QUkVSRVEoMiwgMTYpCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pc3RkX3Rlc3QuY3BwIGIvdGVzdHMvdW5pc3RkX3Rlc3QuY3BwCmluZGV4IDgxOTVlYTguLmY1NGE0NjEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXN0ZF90ZXN0LmNwcAorKysgYi90ZXN0cy91bmlzdGRfdGVzdC5jcHAKQEAgLTE1LDYgKzE1LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlICJCaW9uaWNEZWF0aFRlc3QuaCIKICNpbmNsdWRlICJTY29wZWRTaWduYWxIYW5kbGVyLmgiCiAjaW5jbHVkZSAiVGVtcG9yYXJ5RmlsZS5oIgogCkBAIC0yMiwxNCArMjMsMTIgQEAKICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHN0ZGludC5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotCi1URVNUKHVuaXN0ZCwgc3lzY29uZl9TQ19NT05PVE9OSUNfQ0xPQ0spIHsKLSAgQVNTRVJUX0dUKHN5c2NvbmYoX1NDX01PTk9UT05JQ19DTE9DSyksIDApOwotfQorI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiBzdGF0aWMgdm9pZCogZ2V0X2JyaygpIHsKICAgcmV0dXJuIHNicmsoMCk7CkBAIC0yNDcsOCArMjQ2LDYgQEAKIH0KIAogVEVTVCh1bmlzdGQsIHVuc2V0ZW52X0VJTlZBTCkgewotICBFWFBFQ1RfRVEoLTEsIHVuc2V0ZW52KE5VTEwpKTsKLSAgRVhQRUNUX0VRKEVJTlZBTCwgZXJybm8pOwogICBFWFBFQ1RfRVEoLTEsIHVuc2V0ZW52KCIiKSk7CiAgIEVYUEVDVF9FUShFSU5WQUwsIGVycm5vKTsKICAgRVhQRUNUX0VRKC0xLCB1bnNldGVudigiYT1iIikpOwpAQCAtNDYyLDMgKzQ1OSwzNjQgQEAKICAgQVNTRVJUX0VRKDAsIHB0aHJlYWRfam9pbih0LCAmcmVzdWx0KSk7CiAgIEFTU0VSVF9FUShOVUxMLCByZXN1bHQpOwogfQorCitjbGFzcyB1bmlzdGRfRGVhdGhUZXN0IDogcHVibGljIEJpb25pY0RlYXRoVGVzdCB7fTsKKworVEVTVF9GKHVuaXN0ZF9EZWF0aFRlc3QsIGFib3J0KSB7CisgIEFTU0VSVF9FWElUKGFib3J0KCksIHRlc3Rpbmc6OktpbGxlZEJ5U2lnbmFsKFNJR0FCUlQpLCAiIik7Cit9CisKK1RFU1QodW5pc3RkLCBzZXRob3N0bmFtZSkgeworICAvLyBUaGUgcGVybWlzc2lvbnMgY2hlY2sgaGFwcGVucyBiZWZvcmUgdGhlIGFyZ3VtZW50IGNoZWNrLCBzbyB0aGlzIHdpbGwKKyAgLy8gZmFpbCBmb3IgYSBkaWZmZXJlbnQgcmVhc29uIGlmIHlvdSdyZSBydW5uaW5nIGFzIHJvb3QgdGhhbiBpZiB5b3UncmUKKyAgLy8gbm90LCBidXQgaXQnbGwgZmFpbCBlaXRoZXIgd2F5LiBDaGVja2luZyB0aGF0IHdlIGhhdmUgdGhlIHN5bWJvbCBpcyBhYm91dAorICAvLyBhbGwgd2UgY2FuIGRvIGZvciBzZXRob3N0bmFtZSgyKS4KKyAgQVNTRVJUX0VRKC0xLCBzZXRob3N0bmFtZSgiIiwgLTEpKTsKK30KKworVEVTVCh1bmlzdGQsIGdldGhvc3RuYW1lKSB7CisgIGNoYXIgaG9zdG5hbWVbSE9TVF9OQU1FX01BWCArIDFdOworICBtZW1zZXQoaG9zdG5hbWUsIDAsIHNpemVvZihob3N0bmFtZSkpOworCisgIC8vIENhbiB3ZSBnZXQgdGhlIGhvc3RuYW1lIHdpdGggYSBiaWcgYnVmZmVyPworICBBU1NFUlRfRVEoMCwgZ2V0aG9zdG5hbWUoaG9zdG5hbWUsIEhPU1RfTkFNRV9NQVgpKTsKKworICAvLyBDYW4gd2UgZ2V0IHRoZSBob3N0bmFtZSB3aXRoIGEgcmlnaHQtc2l6ZWQgYnVmZmVyPworICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgwLCBnZXRob3N0bmFtZShob3N0bmFtZSwgc3RybGVuKGhvc3RuYW1lKSArIDEpKTsKKworICAvLyBEb2VzIHVuYW1lKDIpIGFncmVlPworICB1dHNuYW1lIGJ1ZjsKKyAgQVNTRVJUX0VRKDAsIHVuYW1lKCZidWYpKTsKKyAgQVNTRVJUX0VRKDAsIHN0cm5jbXAoaG9zdG5hbWUsIGJ1Zi5ub2RlbmFtZSwgU1lTX05NTE4pKTsKKyAgQVNTRVJUX0dUKHN0cmxlbihob3N0bmFtZSksIDBVKTsKKworICAvLyBEbyB3ZSBjb3JyZWN0bHkgZGV0ZWN0IHRydW5jYXRpb24/CisgIGVycm5vID0gMDsKKyAgQVNTRVJUX0VRKC0xLCBnZXRob3N0bmFtZShob3N0bmFtZSwgc3RybGVuKGhvc3RuYW1lKSkpOworICBBU1NFUlRfRVEoRU5BTUVUT09MT05HLCBlcnJubyk7Cit9CisKK1RFU1QodW5pc3RkLCBwYXRoY29uZl9mcGF0aGNvbmYpIHsKKyAgVGVtcG9yYXJ5RmlsZSB0ZjsKKyAgbG9uZyByYyA9IDBMOworICAvLyBBcyBhIGZpbGUgc3lzdGVtJ3MgYmxvY2sgc2l6ZSBpcyBhbHdheXMgcG93ZXIgb2YgMiwgdGhlIGNvbmZpZ3VyZSB2YWx1ZXMKKyAgLy8gZm9yIEFMTE9DIGFuZCBYRkVSIHNob3VsZCBiZSBwb3dlciBvZiAyIGFzIHdlbGwuCisgIHJjID0gcGF0aGNvbmYodGYuZmlsZW5hbWUsIF9QQ19BTExPQ19TSVpFX01JTik7CisgIEFTU0VSVF9UUlVFKHJjID4gMCAmJiBwb3dlcm9mMihyYykpOworICByYyA9IHBhdGhjb25mKHRmLmZpbGVuYW1lLCBfUENfUkVDX01JTl9YRkVSX1NJWkUpOworICBBU1NFUlRfVFJVRShyYyA+IDAgJiYgcG93ZXJvZjIocmMpKTsKKyAgcmMgPSBwYXRoY29uZih0Zi5maWxlbmFtZSwgX1BDX1JFQ19YRkVSX0FMSUdOKTsKKyAgQVNTRVJUX1RSVUUocmMgPiAwICYmIHBvd2Vyb2YyKHJjKSk7CisKKyAgcmMgPSBmcGF0aGNvbmYodGYuZmQsIF9QQ19BTExPQ19TSVpFX01JTik7CisgIEFTU0VSVF9UUlVFKHJjID4gMCAmJiBwb3dlcm9mMihyYykpOworICByYyA9IGZwYXRoY29uZih0Zi5mZCwgX1BDX1JFQ19NSU5fWEZFUl9TSVpFKTsKKyAgQVNTRVJUX1RSVUUocmMgPiAwICYmIHBvd2Vyb2YyKHJjKSk7CisgIHJjID0gZnBhdGhjb25mKHRmLmZkLCBfUENfUkVDX1hGRVJfQUxJR04pOworICBBU1NFUlRfVFJVRShyYyA+IDAgJiYgcG93ZXJvZjIocmMpKTsKK30KKworCitURVNUKHVuaXN0ZCwgX1BPU0lYX21hY3Jvc19zbW9rZSkgeworICAvLyBNYWtlIGEgdGlnaHQgdmVyaWZpY2F0aW9uIG9mIF9QT1NJWF8qIC8gX1BPU0lYMl8qIC8gX1hPUEVOXyogbWFjcm9zLCB0byBwcmV2ZW50IGNoYW5nZSBieSBtaXN0YWtlLgorICAvLyBWZXJpZnkgYWNjb3JkaW5nIHRvIFBPU0lYLjEtMjAwOC4KKyAgRVhQRUNUX0VRKDIwMDgwOUwsIF9QT1NJWF9WRVJTSU9OKTsKKworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9BRFZJU09SWV9JTkZPKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9BSU9fTElTVElPX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfQUlPX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfQVJHX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfQ0hJTERfTUFYLCAwKTsKKyAgRVhQRUNUX05FKF9QT1NJWF9DSE9XTl9SRVNUUklDVEVELCAtMSk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX0NMT0NLX1NFTEVDVElPTik7CisgIEVYUEVDVF9FUSgwLCBfUE9TSVhfQ1BVVElNRSk7ICAgICAgICAgICAgIC8vIFVzZSBzeXNjb25mIHRvIGRldGVjdCBzdXBwb3J0IGF0IHJ1bnRpbWUuCisgIEVYUEVDVF9HVChfUE9TSVhfREVMQVlUSU1FUl9NQVgsIDApOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9GU1lOQyk7CisgIEVYUEVDVF9HVChfUE9TSVhfSE9TVF9OQU1FX01BWCwgMCk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX0lQVjYpOworICBFWFBFQ1RfR1QoX1BPU0lYX0pPQl9DT05UUk9MLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9MSU5LX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfTE9HSU5fTkFNRV9NQVgsIDApOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9NQVBQRURfRklMRVMpOworICBFWFBFQ1RfR1QoX1BPU0lYX01BWF9DQU5PTiwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfTUFYX0lOUFVULCAwKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9WRVJTSU9OLCBfUE9TSVhfTUVNTE9DSyk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX01FTUxPQ0tfUkFOR0UpOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9NRU1PUllfUFJPVEVDVElPTik7CisgIEVYUEVDVF9FUSgwLCBfUE9TSVhfTU9OT1RPTklDX0NMT0NLKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9NUV9PUEVOX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfTVFfUFJJT19NQVgsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYX05BTUVfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9OR1JPVVBTX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfTk9fVFJVTkMsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYX09QRU5fTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9QQVRIX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfUElQRV9CVUYsIDApOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9QUklPUklUWV9TQ0hFRFVMSU5HKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9WRVJTSU9OLCBfUE9TSVhfUkFXX1NPQ0tFVFMpOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9SRUFERVJfV1JJVEVSX0xPQ0tTKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9WRVJTSU9OLCBfUE9TSVhfUkVBTFRJTUVfU0lHTkFMUyk7CisgIEVYUEVDVF9HVChfUE9TSVhfUkVHRVhQLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9SRV9EVVBfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9TQVZFRF9JRFMsIDApOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9TRU1BUEhPUkVTKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9TRU1fTlNFTVNfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9TRU1fVkFMVUVfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9TSEVMTCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVhfU0lHUVVFVUVfTUFYLCAwKTsKKyAgRVhQRUNUX0VRKC0xLCBfUE9TSVhfU1BPUkFESUNfU0VSVkVSKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9TU0laRV9NQVgsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYX1NUUkVBTV9NQVgsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYX1NZTUxJTktfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9TWU1MT09QX01BWCwgMCk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX1NZTkNIUk9OSVpFRF9JTyk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX1RIUkVBRFMpOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9USFJFQURfQVRUUl9TVEFDS0FERFIpOworICBFWFBFQ1RfRVEoX1BPU0lYX1ZFUlNJT04sIF9QT1NJWF9USFJFQURfQVRUUl9TVEFDS1NJWkUpOworICBFWFBFQ1RfRVEoMCwgX1BPU0lYX1RIUkVBRF9DUFVUSU1FKTsgICAgICAgLy8gVXNlIHN5c2NvbmYgdG8gZGV0ZWN0IHN1cHBvcnQgYXQgcnVudGltZS4KKyAgRVhQRUNUX0dUKF9QT1NJWF9USFJFQURfREVTVFJVQ1RPUl9JVEVSQVRJT05TLCAwKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9USFJFQURfS0VZU19NQVgsIDEyOCk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX1RIUkVBRF9QUklPUklUWV9TQ0hFRFVMSU5HKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9WRVJTSU9OLCBfUE9TSVhfVEhSRUFEX1BSSU9fSU5IRVJJVCk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX1RIUkVBRF9QUklPX1BST1RFQ1QpOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9USFJFQURfUk9CVVNUX1BSSU9fUFJPVEVDVCk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUyk7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX1RIUkVBRF9TUE9SQURJQ19TRVJWRVIpOworICBFWFBFQ1RfR1QoX1BPU0lYX1RIUkVBRF9USFJFQURTX01BWCwgMCk7CisgIEVYUEVDVF9FUShfUE9TSVhfVkVSU0lPTiwgX1BPU0lYX1RJTUVPVVRTKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9WRVJTSU9OLCBfUE9TSVhfVElNRVJTKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9USU1FUl9NQVgsIDApOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9UUkFDRSk7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX1RSQUNFX0VWRU5UX0ZJTFRFUik7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX1RSQUNFX0lOSEVSSVQpOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9UUkFDRV9MT0cpOworICBFWFBFQ1RfR1QoX1BPU0lYX1RUWV9OQU1FX01BWCwgMCk7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX1RZUEVEX01FTU9SWV9PQkpFQ1RTKTsKKyAgRVhQRUNUX0dUKF9QT1NJWF9UWk5BTUVfTUFYLCAwKTsKKyAgRVhQRUNUX05FKC0xLCBfUE9TSVhfVkRJU0FCTEUpOworCisgIEVYUEVDVF9HVChfUE9TSVgyX0JDX0JBU0VfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9QT1NJWDJfQkNfRElNX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVgyX0JDX1NDQUxFX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVgyX0JDX1NUUklOR19NQVgsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYMl9DSEFSQ0xBU1NfTkFNRV9NQVgsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYMl9DT0xMX1dFSUdIVFNfTUFYLCAwKTsKKyAgRVhQRUNUX0VRKF9QT1NJWF9WRVJTSU9OLCBfUE9TSVgyX0NfQklORCk7CisgIEVYUEVDVF9HVChfUE9TSVgyX0VYUFJfTkVTVF9NQVgsIDApOworICBFWFBFQ1RfR1QoX1BPU0lYMl9MSU5FX01BWCwgMCk7CisgIEVYUEVDVF9HVChfUE9TSVgyX1JFX0RVUF9NQVgsIDApOworCisgIEVYUEVDVF9FUSg3MDAsIF9YT1BFTl9WRVJTSU9OKTsKKyAgRVhQRUNUX0dUKF9YT1BFTl9JT1ZfTUFYLCAwKTsKKyAgRVhQRUNUX0dUKF9YT1BFTl9VTklYLCAwKTsKKworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgLy8gVGhlc2UgdGVzdHMgb25seSBwYXNzIG9uIGJpb25pYywgYXMgYmlvbmljIGFuZCBnbGliYyBoYXMgZGlmZmVyZW50IHN1cHBvcnQgb24gdGhlc2UgbWFjcm9zLgorICAvLyBNYWNyb3MgbGlrZSBfUE9TSVhfQVNZTkNIUk9OT1VTX0lPIGFyZSBub3Qgc3VwcG9ydGVkIG9uIGJpb25pYyB5ZXQuCisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX0FTWU5DSFJPTk9VU19JTyk7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX0JBUlJJRVJTKTsKKyAgRVhQRUNUX0VRKC0xLCBfUE9TSVhfTUVTU0FHRV9QQVNTSU5HKTsKKyAgRVhQRUNUX0VRKC0xLCBfUE9TSVhfUFJJT1JJVElaRURfSU8pOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9TSEFSRURfTUVNT1JZX09CSkVDVFMpOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9TUEFXTik7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYX1NQSU5fTE9DS1MpOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9USFJFQURfUFJPQ0VTU19TSEFSRUQpOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWF9USFJFQURfUk9CVVNUX1BSSU9fSU5IRVJJVCk7CisKKyAgRVhQRUNUX0VRKC0xLCBfUE9TSVgyX1ZFUlNJT04pOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWDJfQ0hBUl9URVJNKTsKKyAgRVhQRUNUX0VRKC0xLCBfUE9TSVgyX0NfREVWKTsKKyAgRVhQRUNUX0VRKC0xLCBfUE9TSVgyX0xPQ0FMRURFRik7CisgIEVYUEVDVF9FUSgtMSwgX1BPU0lYMl9TV19ERVYpOworICBFWFBFQ1RfRVEoLTEsIF9QT1NJWDJfVVBFKTsKKworICBFWFBFQ1RfRVEoLTEsIF9YT1BFTl9FTkhfSTE4Tik7CisgIEVYUEVDVF9FUSgtMSwgX1hPUEVOX0NSWVBUKTsKKyAgRVhQRUNUX0VRKC0xLCBfWE9QRU5fTEVHQUNZKTsKKyAgRVhQRUNUX0VRKC0xLCBfWE9QRU5fUkVBTFRJTUUpOworICBFWFBFQ1RfRVEoLTEsIF9YT1BFTl9SRUFMVElNRV9USFJFQURTKTsKKyAgRVhQRUNUX0VRKC0xLCBfWE9QRU5fU0hNKTsKKworI2VuZGlmIC8vIGRlZmluZWQoX19CSU9OSUNfXykKK30KKworI2RlZmluZSBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChuYW1lKSBWZXJpZnlTeXNjb25mKG5hbWUsICNuYW1lLCBbXShsb25nIHYpe3JldHVybiB2ID09IC0xO30pCisKKy8vIHN5c2NvbmYoKSBtZWFucyB1bmxpbWl0ZWQgd2hlbiBpdCByZXR1cm5zIC0xIHdpdGggZXJybm8gdW5jaGFuZ2VkLgorI2RlZmluZSBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShuYW1lKSBcCisgIFZlcmlmeVN5c2NvbmYobmFtZSwgI25hbWUsIFtdKGxvbmcgdil7cmV0dXJuICh2ID4gMCB8fCB2ID09IC0xKTt9KQorCisjZGVmaW5lIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04obmFtZSkgXAorICBWZXJpZnlTeXNjb25mKG5hbWUsICNuYW1lLCBbXShsb25nIHYpe3JldHVybiB2ID09IF9QT1NJWF9WRVJTSU9OO30pCisKK3N0YXRpYyB2b2lkIFZlcmlmeVN5c2NvbmYoaW50IG9wdGlvbiwgY29uc3QgY2hhciAqb3B0aW9uX25hbWUsIGJvb2wgKCp2ZXJpZnkpKGxvbmcpKSB7CisgIGVycm5vID0gMDsKKyAgbG9uZyByZXQgPSBzeXNjb25mKG9wdGlvbik7CisgIEVYUEVDVF9UUlVFKDAgPT0gZXJybm8gJiYgdmVyaWZ5KHJldCkpIDw8ICJuYW1lID0gIiA8PCBvcHRpb25fbmFtZSA8PCAiLCByZXQgPSAiCisgICAgICA8PCByZXQgPDwiLCBFcnJvciBNZXNzYWdlOiAiIDw8IHN0cmVycm9yKGVycm5vKTsKK30KKworVEVTVCh1bmlzdGQsIHN5c2NvbmYpIHsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfQURWSVNPUllfSU5GTyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19BUkdfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0JDX0JBU0VfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0JDX0RJTV9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfQkNfU0NBTEVfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0NISUxEX01BWCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19DTEtfVENLKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0NPTExfV0VJR0hUU19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJWF9WRVJTSU9OKF9TQ19DUFVUSU1FKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0VYUFJfTkVTVF9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfTElORV9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfTkdST1VQU19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfT1BFTl9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfUEFTU19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJWF9WRVJTSU9OKF9TQ18yX0NfQklORCk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ18yX0ZPUlRfREVWKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDXzJfRk9SVF9SVU4pOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9VUEUpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfSk9CX0NPTlRST0wpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfU0FWRURfSURTKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfVkVSU0lPTik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19SRV9EVVBfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX1NUUkVBTV9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfVFpOQU1FX01BWCk7CisgIFZlcmlmeVN5c2NvbmYoX1NDX1hPUEVOX1ZFUlNJT04sICJfU0NfWE9QRU5fVkVSU0lPTiIsIFtdKGxvbmcgdil7cmV0dXJuIHYgPT0gX1hPUEVOX1ZFUlNJT047fSk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19BVEVYSVRfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0lPVl9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfUEFHRVNJWkUpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfUEFHRV9TSVpFKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX1hPUEVOX1VOSVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfQUlPX0xJU1RJT19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfQUlPX01BWCk7CisgIFZlcmlmeVN5c2NvbmYoX1NDX0FJT19QUklPX0RFTFRBX01BWCwgIl9TQ19BSU9fUFJJT19ERUxUQV9NQVgiLCBbXShsb25nIHYpe3JldHVybiB2ID49IDA7fSk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19ERUxBWVRJTUVSX01BWCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19NUV9PUEVOX01BWCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19NUV9QUklPX01BWCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19SVFNJR19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfU0VNX05TRU1TX01BWCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19TRU1fVkFMVUVfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX1RJTUVSX01BWCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX0ZTWU5DKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfTUFQUEVEX0ZJTEVTKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfTUVNTE9DSyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX01FTUxPQ0tfUkFOR0UpOworICBWRVJJRllfU1lTQ09ORl9QT1NJWF9WRVJTSU9OKF9TQ19NRU1PUllfUFJPVEVDVElPTik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1BSSU9SSVRZX1NDSEVEVUxJTkcpOworICBWRVJJRllfU1lTQ09ORl9QT1NJWF9WRVJTSU9OKF9TQ19SRUFMVElNRV9TSUdOQUxTKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfU0VNQVBIT1JFUyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1NZTkNIUk9OSVpFRF9JTyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1RJTUVSUyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19HRVRHUl9SX1NJWkVfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX0dFVFBXX1JfU0laRV9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfTE9HSU5fTkFNRV9NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19USFJFQURfS0VZU19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfVEhSRUFEX1NUQUNLX01JTik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19USFJFQURfVEhSRUFEU19NQVgpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfVFRZX05BTUVfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfVEhSRUFEUyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1RIUkVBRF9BVFRSX1NUQUNLQUREUik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1RIUkVBRF9BVFRSX1NUQUNLU0laRSk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1RIUkVBRF9QUklPUklUWV9TQ0hFRFVMSU5HKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfVEhSRUFEX1BSSU9fSU5IRVJJVCk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1RIUkVBRF9QUklPX1BST1RFQ1QpOworICBWRVJJRllfU1lTQ09ORl9QT1NJWF9WRVJTSU9OKF9TQ19USFJFQURfU0FGRV9GVU5DVElPTlMpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfTlBST0NFU1NPUlNfQ09ORik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19OUFJPQ0VTU09SU19PTkxOKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX1BIWVNfUEFHRVMpOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfQVZQSFlTX1BBR0VTKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfTU9OT1RPTklDX0NMT0NLKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDXzJfUEJTKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDXzJfUEJTX0FDQ09VTlRJTkcpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9QQlNfQ0hFQ0tQT0lOVCk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ18yX1BCU19MT0NBVEUpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9QQlNfTUVTU0FHRSk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ18yX1BCU19UUkFDSyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX0NMT0NLX1NFTEVDVElPTik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19IT1NUX05BTUVfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfSVBWNik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1JBV19TT0NLRVRTKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfUkVBREVSX1dSSVRFUl9MT0NLUyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19SRUdFWFApOworICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfU0hFTEwpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfU1BPUkFESUNfU0VSVkVSKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX1NZTUxPT1BfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVhfVkVSU0lPTihfU0NfVEhSRUFEX0NQVVRJTUUpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfVEhSRUFEX1NQT1JBRElDX1NFUlZFUik7CisgIFZFUklGWV9TWVNDT05GX1BPU0lYX1ZFUlNJT04oX1NDX1RJTUVPVVRTKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1RSQUNFKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1RSQUNFX0VWRU5UX0ZJTFRFUik7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19UUkFDRV9FVkVOVF9OQU1FX01BWCk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19UUkFDRV9JTkhFUklUKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1RSQUNFX0xPRyk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19UUkFDRV9OQU1FX01BWCk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19UUkFDRV9TWVNfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1RSQUNFX1VTRVJfRVZFTlRfTUFYKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1RZUEVEX01FTU9SWV9PQkpFQ1RTKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1hPUEVOX1NUUkVBTVMpOworCisjaWYgZGVmaW5lZChfX0xQNjRfXykKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1Y3X0lMUDMyX09GRjMyKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1Y3X0lMUDMyX09GRkJJRyk7CisgIFZFUklGWV9TWVNDT05GX1BPU0lUSVZFKF9TQ19WN19MUDY0X09GRjY0KTsKKyAgVkVSSUZZX1NZU0NPTkZfUE9TSVRJVkUoX1NDX1Y3X0xQQklHX09GRkJJRyk7CisjZWxzZQorICBWRVJJRllfU1lTQ09ORl9QT1NJVElWRShfU0NfVjdfSUxQMzJfT0ZGMzIpOworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgLy8gYmlvbmljIGRvZXMgbm90IHN1cHBvcnQgNjQgYml0cyBvZmZfdCB0eXBlIG9uIDMyYml0IG1hY2hpbmUuCisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19WN19JTFAzMl9PRkZCSUcpOworI2VuZGlmCisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19WN19MUDY0X09GRjY0KTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1Y3X0xQQklHX09GRkJJRyk7CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19CSU9OSUNfXykKKyAgLy8gVGVzdHMgY2FuIG9ubHkgcnVuIG9uIGJpb25pYywgYXMgYmlvbmljIGFuZCBnbGliYyBoYXZlIGRpZmZlcmVudCBzdXBwb3J0IGZvciB0aGVzZSBvcHRpb25zLgorICAvLyBCZWxvdyBvcHRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIGJpb25pYyB5ZXQuCisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19BU1lOQ0hST05PVVNfSU8pOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfQkFSUklFUlMpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfTUVTU0FHRV9QQVNTSU5HKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1BSSU9SSVRJWkVEX0lPKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1NIQVJFRF9NRU1PUllfT0JKRUNUUyk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19TUEFXTik7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19TUElOX0xPQ0tTKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1RIUkVBRF9QUk9DRVNTX1NIQVJFRCk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19USFJFQURfUk9CVVNUX1BSSU9fSU5IRVJJVCk7CisgIFZFUklGWV9TWVNDT05GX05PVF9TVVBQT1JUKF9TQ19USFJFQURfUk9CVVNUX1BSSU9fUFJPVEVDVCk7CisKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDXzJfQ19ERVYpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9DSEFSX1RFUk0pOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9MT0NBTEVERUYpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9TV19ERVYpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfMl9WRVJTSU9OKTsKKworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfWE9QRU5fQ1JZUFQpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfWE9QRU5fRU5IX0kxOE4pOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfWE9QRU5fTEVHQUNZKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1hPUEVOX1JFQUxUSU1FKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1hPUEVOX1JFQUxUSU1FX1RIUkVBRFMpOworICBWRVJJRllfU1lTQ09ORl9OT1RfU1VQUE9SVChfU0NfWE9QRU5fU0hNKTsKKyAgVkVSSUZZX1NZU0NPTkZfTk9UX1NVUFBPUlQoX1NDX1hPUEVOX1VVQ1ApOworI2VuZGlmIC8vIGRlZmluZWQoX19CSU9OSUNfXykKK30KKworVEVTVCh1bmlzdGQsIGR1cDJfc2FtZSkgeworICAvLyBQT1NJWCBzYXlzIG9mIGR1cDI6CisgIC8vIElmIGZpbGRlczIgaXMgYWxyZWFkeSBhIHZhbGlkIG9wZW4gZmlsZSBkZXNjcmlwdG9yIC4uLgorICAvLyBbYW5kXSBmaWxkZXMgaXMgZXF1YWwgdG8gZmlsZGVzMiAuLi4gZHVwMigpIHNoYWxsIHJldHVybgorICAvLyBmaWxkZXMyIHdpdGhvdXQgY2xvc2luZyBpdC4KKyAgLy8gVGhpcyBpc24ndCB0cnVlIG9mIGR1cDMoMiksIHNvIHdlIG5lZWQgdG8gbWFudWFsbHkgaW1wbGVtZW50IHRoYXQuCisKKyAgLy8gRXF1YWwgYW5kIHZhbGlkLgorICBpbnQgZmQgPSBvcGVuKCIvcHJvYy92ZXJzaW9uIiwgT19SRE9OTFkpOworICBBU1NFUlRfVFJVRShmZCAhPSAtMSk7CisgIEFTU0VSVF9FUShmZCwgZHVwMihmZCwgZmQpKTsKKyAgQVNTRVJUX0VRKDAsIGNsb3NlKGZkKSk7IC8vIENoZWNrIHRoYXQgZHVwMiBkaWRuJ3QgY2xvc2UgZmQuCisKKyAgLy8gRXF1YWwsIGJ1dCBpbnZhbGlkLgorICBlcnJubyA9IDA7CisgIEFTU0VSVF9FUSgtMSwgZHVwMihmZCwgZmQpKTsKKyAgQVNTRVJUX0VRKEVCQURGLCBlcnJubyk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy91dGlscy5oIGIvdGVzdHMvdXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDAxMmEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdXRpbHMuaApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfX1RFU1RfVVRJTFNfSAorI2RlZmluZSBfX1RFU1RfVVRJTFNfSAorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKworI2luY2x1ZGUgInByaXZhdGUvU2NvcGVHdWFyZC5oIgorCitzdHJ1Y3QgbWFwX3JlY29yZCB7CisgIHVpbnRwdHJfdCBhZGRyX3N0YXJ0OworICB1aW50cHRyX3QgYWRkcl9lbmQ7CisKKyAgaW50IHBlcm1zOworCisgIHNpemVfdCBvZmZzZXQ7CisKKyAgZGV2X3QgZGV2aWNlOworICBpbm9fdCBpbm9kZTsKKworICBzdGQ6OnN0cmluZyBwYXRobmFtZTsKK307CisKK2NsYXNzIE1hcHMgeworIHB1YmxpYzoKKyAgc3RhdGljIGJvb2wgcGFyc2VfbWFwcyhzdGQ6OnZlY3RvcjxtYXBfcmVjb3JkPiogbWFwcykgeworICAgIGNoYXIgcGF0aFs2NF07CisgICAgc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiL3Byb2Mvc2VsZi90YXNrLyVkL21hcHMiLCBnZXRwaWQoKSk7CisgICAgRklMRSogZnAgPSBmb3BlbihwYXRoLCAicmUiKTsKKyAgICBpZiAoZnAgPT0gbnVsbHB0cikgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGF1dG8gZnBfZ3VhcmQgPSBtYWtlX3Njb3BlX2d1YXJkKFsmXSgpIHsKKyAgICAgIGZjbG9zZShmcCk7CisgICAgfSk7CisKKyAgICBjaGFyIGxpbmVbQlVGU0laXTsKKyAgICB3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmcCkgIT0gbnVsbHB0cikgeworICAgICAgbWFwX3JlY29yZCByZWNvcmQ7CisgICAgICB1aW50MzJfdCBkZXZfbWFqb3IsIGRldl9taW5vcjsKKyAgICAgIGNoYXIgcGF0aHN0cltCVUZTSVpdOworICAgICAgY2hhciBwcm90WzVdOyAvLyBzaXplb2YoInJ3eHAiKQorICAgICAgaWYgKHNzY2FuZihsaW5lLCAiJSIgU0NOeFBUUiAiLSUiIFNDTnhQVFIgIiAlNHMgJSIgU0NOeFBUUiAiICV4OiV4ICVsdSAlcyIsCisgICAgICAgICAgICAmcmVjb3JkLmFkZHJfc3RhcnQsICZyZWNvcmQuYWRkcl9lbmQsIHByb3QsICZyZWNvcmQub2Zmc2V0LAorICAgICAgICAgICAgJmRldl9tYWpvciwgJmRldl9taW5vciwgJnJlY29yZC5pbm9kZSwgcGF0aHN0cikgPT0gOCkgeworICAgICAgICByZWNvcmQucGVybXMgPSAwOworICAgICAgICBpZiAocHJvdFswXSA9PSAncicpIHsKKyAgICAgICAgICByZWNvcmQucGVybXMgfD0gUFJPVF9SRUFEOworICAgICAgICB9CisgICAgICAgIGlmIChwcm90WzFdID09ICd3JykgeworICAgICAgICAgIHJlY29yZC5wZXJtcyB8PSBQUk9UX1dSSVRFOworICAgICAgICB9CisgICAgICAgIGlmIChwcm90WzJdID09ICd4JykgeworICAgICAgICAgIHJlY29yZC5wZXJtcyB8PSBQUk9UX0VYRUM7CisgICAgICAgIH0KKworICAgICAgICAvLyBUT0RPOiBwYXJzZSBzaGFyZWQvcHJpdmF0ZT8KKworICAgICAgICByZWNvcmQuZGV2aWNlID0gbWFrZWRldihkZXZfbWFqb3IsIGRldl9taW5vcik7CisgICAgICAgIHJlY29yZC5wYXRobmFtZSA9IHBhdGhzdHI7CisgICAgICAgIG1hcHMtPnB1c2hfYmFjayhyZWNvcmQpOworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0cnVlOworICB9Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3Rlc3RzL3V0bXBfdGVzdC5jcHAgYi90ZXN0cy91dG1wX3Rlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2MTExMGQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy91dG1wX3Rlc3QuY3BwCkBAIC0wLDAgKzEsMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKworI2luY2x1ZGUgPHV0bXAuaD4KKworVEVTVCh1dG1wLCBsb2dpbl90dHkpIHsKKyAgLy8gbG9naW5fdHR5IGlzIHRlc3RlZCBpbmRpcmVjdGx5IGJ5IHRoZSBvcGVucHR5IGFuZCBmb3JrcHR5IHRlc3RzLgorICAvLyBUaGlzIHRlc3QganVzdCBjaGVja3MgdGhhdCB3ZSdyZSBleHBvcnRpbmcgdGhlIHN5bWJvbCBpbmRlcGVuZGVudGx5LgorICBBU1NFUlRfRVEoLTEsIGxvZ2luX3R0eSgtMSkpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvd2NoYXJfdGVzdC5jcHAgYi90ZXN0cy93Y2hhcl90ZXN0LmNwcAppbmRleCBkMDJjNGJmLi5lODZkNTZkIDEwMDY0NAotLS0gYS90ZXN0cy93Y2hhcl90ZXN0LmNwcAorKysgYi90ZXN0cy93Y2hhcl90ZXN0LmNwcApAQCAtMjIsNiArMjIsOCBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHdjaGFyLmg+CiAKKyNkZWZpbmUgTlVNX1dDSEFSUyhudW1fYnl0ZXMpIChudW1fYnl0ZXMvc2l6ZW9mKHdjaGFyX3QpKQorCiBURVNUKHdjaGFyLCBzaXplb2Zfd2NoYXJfdCkgewogICBFWFBFQ1RfRVEoNFUsIHNpemVvZih3Y2hhcl90KSk7CiAgIEVYUEVDVF9FUSg0VSwgc2l6ZW9mKHdpbnRfdCkpOwpAQCAtMjMyLDYgKzIzNCwxMSBAQAogICBBU1NFUlRfRVEoTlVMTCwgd2Nzc3RyKGhheXN0YWNrLCBiYWRfbmVlZGxlKSk7CiB9CiAKK1RFU1Qod2NoYXIsIHdjc3N0cl84MDE5OSkgeworICAvLyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2FuZHJvaWQvaXNzdWVzL2RldGFpbD9pZD04MDE5OQorICBBU1NFUlRfVFJVRSh3Y3NzdHIoTCJyb21yb20iLCBMInJvbSIpICE9IE5VTEwpOworfQorCiBURVNUKHdjaGFyLCBtYnRvd2MpIHsKICAgd2NoYXJfdCBvdXRbOF07CiAKQEAgLTM0Myw3ICszNTAsNyBAQAogICAvLyBDaGVjayB0aGF0IHZhbGlkIGhhcyBhZHZhbmNlZCB0byB0aGUgbmV4dCB1bnJlYWQgY2hhcmFjdGVyLgogICBBU1NFUlRfRVEoJ2UnLCAqdmFsaWQpOwogCi0gIHdtZW1zZXQob3V0LCBMJ3gnLCBzaXplb2Yob3V0KSAvIHNpemVvZih3Y2hhcl90KSk7CisgIHdtZW1zZXQob3V0LCBMJ3gnLCBOVU1fV0NIQVJTKHNpemVvZihvdXQpKSk7CiAgIEFTU0VSVF9FUSgyVSwgbWJzcnRvd2NzKG91dCwgJnZhbGlkLCA0LCBwcykpOwogICBBU1NFUlRfRVEoTCdlJywgb3V0WzBdKTsKICAgQVNTRVJUX0VRKEwnZicsIG91dFsxXSk7CkBAIC00NTAsMTcgKzQ1Nyw4NSBAQAogICBFWFBFQ1RfU1RSRVEoTCJTdW4gTWFyIDEwIDAwOjAwOjAwIDIxMDAiLCBidWYpOwogfQogCi1URVNUKHdjaGFyLCB3bWVtbW92ZSkgeworVEVTVCh3Y2hhciwgd21lbW1vdmVfc21va2UpIHsKICAgY29uc3Qgd2NoYXJfdCBjb25zdF93c3RyW10gPSBMIlRoaXMgaXMgYSB0ZXN0IG9mIHNvbWV0aGluZyBvciBvdGhlci4uLi4uIjsKLSAgd2NoYXJfdCogd3N0ciA9IG5ldyB3Y2hhcl90W3NpemVvZihjb25zdF93c3RyKV07CisgIHdjaGFyX3Qgd3N0cltOVU1fV0NIQVJTKHNpemVvZihjb25zdF93c3RyKSldOwogCi0gIHdtZW1tb3ZlKHdzdHIsIGNvbnN0X3dzdHIsIHNpemVvZihjb25zdF93c3RyKS9zaXplb2Yod2NoYXJfdCkpOworICBFWFBFQ1RfRVEod3N0ciwgd21lbW1vdmUod3N0ciwgY29uc3Rfd3N0ciwgTlVNX1dDSEFSUyhzaXplb2YoY29uc3Rfd3N0cikpKSk7CiAgIEVYUEVDVF9TVFJFUShjb25zdF93c3RyLCB3c3RyKTsKIAotICB3bWVtbW92ZSh3c3RyKzUsIHdzdHIsIHNpemVvZihjb25zdF93c3RyKS9zaXplb2Yod2NoYXJfdCkgLSA2KTsKKyAgRVhQRUNUX0VRKHdzdHIrNSwgd21lbW1vdmUod3N0cis1LCB3c3RyLCBOVU1fV0NIQVJTKHNpemVvZihjb25zdF93c3RyKSkgLSA2KSk7CiAgIEVYUEVDVF9TVFJFUShMIlRoaXMgVGhpcyBpcyBhIHRlc3Qgb2Ygc29tZXRoaW5nIG9yIG90aGVyIiwgd3N0cik7CiB9CiAKK1RFU1Qod2NoYXIsIHdtZW1jcHlfc21va2UpIHsKKyAgY29uc3Qgd2NoYXJfdCBzcmNbXSA9IEwiU291cmNlIHN0cmluZyI7CisgIHdjaGFyX3QgZHN0W05VTV9XQ0hBUlMoc2l6ZW9mKHNyYykpXTsKKworICBFWFBFQ1RfRVEoZHN0LCB3bWVtY3B5KGRzdCwgc3JjLCBOVU1fV0NIQVJTKHNpemVvZihzcmMpKSkpOworICBFWFBFQ1RfU1RSRVEoZHN0LCBzcmMpOworfQorCitURVNUKHdjaGFyLCB3Y3BjcHlfc21va2UpIHsKKyAgY29uc3Qgd2NoYXJfdCBzcmNbXSA9IEwiU291cmNlIHN0cmluZyI7CisgIHdjaGFyX3QgZHN0W05VTV9XQ0hBUlMoc2l6ZW9mKHNyYykpXTsKKworICBFWFBFQ1RfRVEoZHN0ICsgTlVNX1dDSEFSUyhzaXplb2Yoc3JjKSkgLSAxLCB3Y3BjcHkoZHN0LCBzcmMpKTsKKyAgRVhQRUNUX1NUUkVRKGRzdCwgc3JjKTsKK30KKworVEVTVCh3Y2hhciwgd2NwbmNweV9zbW9rZSkgeworICBjb25zdCB3Y2hhcl90IHNyY1tdID0gTCJTb3VyY2Ugc3RyaW5nIjsKKyAgd2NoYXJfdCBkc3RbTlVNX1dDSEFSUyhzaXplb2Yoc3JjKSkgKyA1XTsKKworICBzaXplX3Qgc3JjX2xlbiA9IE5VTV9XQ0hBUlMoc2l6ZW9mKHNyYykpIC0gMTsKKyAgRVhQRUNUX0VRKGRzdCArIHNyY19sZW4sIHdjcG5jcHkoZHN0LCBzcmMsIHNyY19sZW4gKyAxKSk7CisgIEVYUEVDVF9TVFJFUShkc3QsIHNyYyk7CisKKyAgRVhQRUNUX0VRKGRzdCArIDYsIHdjcG5jcHkoZHN0LCBzcmMsIDYpKTsKKyAgZHN0WzZdID0gTCdcMCc7CisgIEVYUEVDVF9TVFJFUShkc3QsIEwiU291cmNlIik7CisKKyAgd21lbXNldChkc3QsIEwneCcsIE5VTV9XQ0hBUlMoc2l6ZW9mKGRzdCkpKTsKKyAgRVhQRUNUX0VRKGRzdCArIHNyY19sZW4sIHdjcG5jcHkoZHN0LCBzcmMsIHNyY19sZW4gKyA0KSk7CisgIEVYUEVDVF9TVFJFUShkc3QsIHNyYyk7CisgIEVYUEVDVF9FUShkc3Rbc3JjX2xlbl0sIEwnXDAnKTsKKyAgRVhQRUNUX0VRKGRzdFtzcmNfbGVuKzFdLCBMJ1wwJyk7CisgIEVYUEVDVF9FUShkc3Rbc3JjX2xlbisyXSwgTCdcMCcpOworICBFWFBFQ1RfRVEoZHN0W3NyY19sZW4rM10sIEwnXDAnKTsKKyAgRVhQRUNUX0VRKGRzdFtzcmNfbGVuKzRdLCBMJ3gnKTsKK30KKworVEVTVCh3Y2hhciwgd2NzY3B5X3Ntb2tlKSB7CisgIGNvbnN0IHdjaGFyX3Qgc3JjW10gPSBMIlNvdXJjZSBzdHJpbmciOworICB3Y2hhcl90IGRzdFtOVU1fV0NIQVJTKHNpemVvZihzcmMpKV07CisKKyAgRVhQRUNUX0VRKGRzdCwgd2NzY3B5KGRzdCwgc3JjKSk7CisgIEVYUEVDVF9TVFJFUShzcmMsIGRzdCk7Cit9CisKK1RFU1Qod2NoYXIsIHdjc25jcHlfc21va2UpIHsKKyAgY29uc3Qgd2NoYXJfdCBzcmNbXSA9IEwiU291cmNlIHN0cmluZyI7CisgIHdjaGFyX3QgZHN0W05VTV9XQ0hBUlMoc2l6ZW9mKHNyYykpICsgNV07CisKKyAgc2l6ZV90IHNyY19sZW4gPSBOVU1fV0NIQVJTKHNpemVvZihzcmMpKSAtIDE7CisgIEVYUEVDVF9FUShkc3QsIHdjc25jcHkoZHN0LCBzcmMsIHNyY19sZW4gKyAxKSk7CisgIEVYUEVDVF9TVFJFUShkc3QsIHNyYyk7CisKKyAgRVhQRUNUX0VRKGRzdCwgd2NzbmNweShkc3QsIHNyYywgNikpOworICBkc3RbNl0gPSBMJ1wwJzsKKyAgRVhQRUNUX1NUUkVRKGRzdCwgTCJTb3VyY2UiKTsKKworICB3bWVtc2V0KGRzdCwgTCd4JywgTlVNX1dDSEFSUyhzaXplb2YoZHN0KSkpOworICBFWFBFQ1RfRVEoZHN0LCB3Y3NuY3B5KGRzdCwgc3JjLCBzcmNfbGVuICsgNCkpOworICBFWFBFQ1RfU1RSRVEoZHN0LCBzcmMpOworICBFWFBFQ1RfRVEoZHN0W3NyY19sZW5dLCBMJ1wwJyk7CisgIEVYUEVDVF9FUShkc3Rbc3JjX2xlbisxXSwgTCdcMCcpOworICBFWFBFQ1RfRVEoZHN0W3NyY19sZW4rMl0sIEwnXDAnKTsKKyAgRVhQRUNUX0VRKGRzdFtzcmNfbGVuKzNdLCBMJ1wwJyk7CisgIEVYUEVDVF9FUShkc3Rbc3JjX2xlbis0XSwgTCd4Jyk7Cit9CisKIFRFU1Qod2NoYXIsIG1icnRvd2NfMTU0Mzk1NTQpIHsKICAgLy8gaHR0cDovL2IvMTU0Mzk1NTQKICAgQVNTRVJUX1NUUkVRKCJDLlVURi04Iiwgc2V0bG9jYWxlKExDX0NUWVBFLCAiQy5VVEYtOCIpKTsKQEAgLTQ4OSwzICs1NjQsMTExIEBACiAgIEVYUEVDVF9FUSg0VSwgbik7CiAgIEVYUEVDVF9FUShMJ/CkraInLCB3Yyk7CiB9CisKK1RFU1Qod2NoYXIsIG9wZW5fd21lbXN0cmVhbSkgeworICB3Y2hhcl90KiBwID0gbnVsbHB0cjsKKyAgc2l6ZV90IHNpemUgPSAwOworICBGSUxFKiBmcCA9IG9wZW5fd21lbXN0cmVhbSgmcCwgJnNpemUpOworICBBU1NFUlRfTkUoRU9GLCBmcHV0d3MoTCJoZWxsbywgd29ybGQhIiwgZnApKTsKKyAgZmNsb3NlKGZwKTsKKworICBBU1NFUlRfU1RSRVEoTCJoZWxsbywgd29ybGQhIiwgcCk7CisgIEFTU0VSVF9FUSh3Y3NsZW4oTCJoZWxsbywgd29ybGQhIiksIHNpemUpOworICBmcmVlKHApOworfQorCitURVNUKHN0ZGlvLCBvcGVuX3dtZW1zdHJlYW1fRUlOVkFMKSB7CisjaWYgZGVmaW5lZChfX0JJT05JQ19fKQorICB3Y2hhcl90KiBwOworICBzaXplX3Qgc2l6ZTsKKworICAvLyBJbnZhbGlkIGJ1ZmZlci4KKyAgZXJybm8gPSAwOworICBBU1NFUlRfRVEobnVsbHB0ciwgb3Blbl93bWVtc3RyZWFtKG51bGxwdHIsICZzaXplKSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKworICAvLyBJbnZhbGlkIHNpemUuCisgIGVycm5vID0gMDsKKyAgQVNTRVJUX0VRKG51bGxwdHIsIG9wZW5fd21lbXN0cmVhbSgmcCwgbnVsbHB0cikpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisjZWxzZQorICBHVEVTVF9MT0dfKElORk8pIDw8ICJUaGlzIHRlc3QgZG9lcyBub3RoaW5nLlxuIjsKKyNlbmRpZgorfQorCitURVNUKHdjaGFyLCB3Y3N0b2xfRUlOVkFMKSB7CisgIGVycm5vID0gMDsKKyAgd2NzdG9sKEwiMTIzIiwgTlVMTCwgLTEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgd2NzdG9sKEwiMTIzIiwgTlVMTCwgMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b2woTCIxMjMiLCBOVUxMLCAzNyk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKK30KKworVEVTVCh3Y2hhciwgd2NzdG9sbF9FSU5WQUwpIHsKKyAgZXJybm8gPSAwOworICB3Y3N0b2xsKEwiMTIzIiwgTlVMTCwgLTEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgd2NzdG9sbChMIjEyMyIsIE5VTEwsIDEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgd2NzdG9sbChMIjEyMyIsIE5VTEwsIDM3KTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKHdjaGFyLCB3Y3N0b3VsX0VJTlZBTCkgeworICBlcnJubyA9IDA7CisgIHdjc3RvdWwoTCIxMjMiLCBOVUxMLCAtMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b3VsKEwiMTIzIiwgTlVMTCwgMSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b3VsKEwiMTIzIiwgTlVMTCwgMzcpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7Cit9CisKK1RFU1Qod2NoYXIsIHdjc3RvdWxsX0VJTlZBTCkgeworICBlcnJubyA9IDA7CisgIHdjc3RvdWxsKEwiMTIzIiwgTlVMTCwgLTEpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7CisgIGVycm5vID0gMDsKKyAgd2NzdG91bGwoTCIxMjMiLCBOVUxMLCAxKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHdjc3RvdWxsKEwiMTIzIiwgTlVMTCwgMzcpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7Cit9CisKK1RFU1Qod2NoYXIsIHdjc3RvbGxfbF9FSU5WQUwpIHsKKyAgZXJybm8gPSAwOworICB3Y3N0b2xsX2woTCIxMjMiLCBOVUxMLCAtMSwgTENfR0xPQkFMX0xPQ0FMRSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b2xsX2woTCIxMjMiLCBOVUxMLCAxLCBMQ19HTE9CQUxfTE9DQUxFKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworICBlcnJubyA9IDA7CisgIHdjc3RvbGxfbChMIjEyMyIsIE5VTEwsIDM3LCBMQ19HTE9CQUxfTE9DQUxFKTsKKyAgQVNTRVJUX0VRKEVJTlZBTCwgZXJybm8pOworfQorCitURVNUKHdjaGFyLCB3Y3N0b3VsbF9sX0VJTlZBTCkgeworICBlcnJubyA9IDA7CisgIHdjc3RvdWxsX2woTCIxMjMiLCBOVUxMLCAtMSwgTENfR0xPQkFMX0xPQ0FMRSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b3VsbF9sKEwiMTIzIiwgTlVMTCwgMSwgTENfR0xPQkFMX0xPQ0FMRSk7CisgIEFTU0VSVF9FUShFSU5WQUwsIGVycm5vKTsKKyAgZXJybm8gPSAwOworICB3Y3N0b3VsbF9sKEwiMTIzIiwgTlVMTCwgMzcsIExDX0dMT0JBTF9MT0NBTEUpOworICBBU1NFUlRfRVEoRUlOVkFMLCBlcnJubyk7Cit9CisKK1RFU1Qod2NoYXIsIHdtZW1wY3B5KSB7CisgIHdjaGFyX3QgZHN0WzZdOworICBBU1NFUlRfRVEoJmRzdFs0XSwgd21lbXBjcHkoZHN0LCBMImhlbGxvIiwgNCkpOworfQpkaWZmIC0tZ2l0IGEvdG9vbHMvQW5kcm9pZC5tayBiL3Rvb2xzL0FuZHJvaWQubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRkNjZmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL0FuZHJvaWQubWsKQEAgLTAsMCArMSwxOSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKKworTE9DQUxfUEFUSCA6PSAkKGNhbGwgbXktZGlyKQorCitpbmNsdWRlICQoY2FsbCBhbGwtc3ViZGlyLW1ha2VmaWxlcykKZGlmZiAtLWdpdCBhL3Rvb2xzL2Jpb25pY2JiLy5naXRpZ25vcmUgYi90b29scy9iaW9uaWNiYi8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZmYwNjQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9iaW9uaWNiYi8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsNTggQEAKK2NvbmZpZy5weQorKi5qc29uCitvYXV0aC5zdG9yYWdlCisKKyMgQnl0ZS1jb21waWxlZCAvIG9wdGltaXplZCAvIERMTCBmaWxlcworX19weWNhY2hlX18vCisqLnB5W2NvZF0KKworIyBDIGV4dGVuc2lvbnMKKyouc28KKworIyBEaXN0cmlidXRpb24gLyBwYWNrYWdpbmcKKy5QeXRob24KK2Vudi8KK2J1aWxkLworZGV2ZWxvcC1lZ2dzLworZGlzdC8KK2Rvd25sb2Fkcy8KK2VnZ3MvCitsaWIvCitsaWI2NC8KK3BhcnRzLworc2Rpc3QvCit2YXIvCisqLmVnZy1pbmZvLworLmluc3RhbGxlZC5jZmcKKyouZWdnCisKKyMgUHlJbnN0YWxsZXIKKyMgIFVzdWFsbHkgdGhlc2UgZmlsZXMgYXJlIHdyaXR0ZW4gYnkgYSBweXRob24gc2NyaXB0IGZyb20gYSB0ZW1wbGF0ZQorIyAgYmVmb3JlIFB5SW5zdGFsbGVyIGJ1aWxkcyB0aGUgZXhlLCBzbyBhcyB0byBpbmplY3QgZGF0ZS9vdGhlciBpbmZvcyBpbnRvIGl0LgorKi5tYW5pZmVzdAorKi5zcGVjCisKKyMgSW5zdGFsbGVyIGxvZ3MKK3BpcC1sb2cudHh0CitwaXAtZGVsZXRlLXRoaXMtZGlyZWN0b3J5LnR4dAorCisjIFVuaXQgdGVzdCAvIGNvdmVyYWdlIHJlcG9ydHMKK2h0bWxjb3YvCisudG94LworLmNvdmVyYWdlCisuY2FjaGUKK25vc2V0ZXN0cy54bWwKK2NvdmVyYWdlLnhtbAorCisjIFRyYW5zbGF0aW9ucworKi5tbworKi5wb3QKKworIyBEamFuZ28gc3R1ZmY6CisqLmxvZworCisjIFNwaGlueCBkb2N1bWVudGF0aW9uCitkb2NzL19idWlsZC8KKworIyBQeUJ1aWxkZXIKK3RhcmdldC8KZGlmZiAtLWdpdCBhL3Rvb2xzL2Jpb25pY2JiL1JFQURNRS5tZCBiL3Rvb2xzL2Jpb25pY2JiL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjg1OTg0Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvYmlvbmljYmIvUkVBRE1FLm1kCkBAIC0wLDAgKzEsODkgQEAKK2Jpb25pY2JiCis9PT09PT09PQorCitUaGUgYmlvbmljIGJ1aWxkYm90IGNvbnRhaW5zIHR3byBzZXJ2aWNlczogYSBnbWFpbCBwb2xsaW5nIHNlcnZpY2UsIGFuZCBhIHdlYgorc2VydmljZSB0aGF0IGludGVyYWN0cyB3aXRoIGdlcnJpdC4KKworRGVwZW5kZW5jaWVzCistLS0tLS0tLS0tLS0KKworICogUHl0aG9uIDIuNworICogW0FkdmFuY2VkIFB5dGhvbiBTY2hlZHVsZXJdKGh0dHBzOi8vYXBzY2hlZHVsZXIucmVhZHRoZWRvY3Mub3JnL2VuL2xhdGVzdC8pCisgKiBbRmxhc2tdKGh0dHA6Ly9mbGFzay5wb2Nvby5vcmcvKQorICogW0dvb2dsZSBBUEkgQ2xpZW50IExpYnJhcnldKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FwaS1jbGllbnQtbGlicmFyeS9weXRob24vc3RhcnQvaW5zdGFsbGF0aW9uKQorICogW2plbmtpbnNhcGldKGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvamVua2luc2FwaSkKKyAqIFtSZXF1ZXN0c10oaHR0cDovL2RvY3MucHl0aG9uLXJlcXVlc3RzLm9yZy9lbi9sYXRlc3QvKQorCitTZXR1cAorLS0tLS0KKworQ3JlYXRlIGEgYGNvbmZpZy5weWAgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRoZSBzb3VyY2VzLiBUaGUgc3RydWN0dXJlIG9mIHRoZQorY29uZmlndXJhdGlvbiBmaWxlIGlzIGFzIGZvbGxvd3M6CisKK2BgYHB5dGhvbgorY2xpZW50X3NlY3JldF9maWxlID0gJ0NMSUVOVF9TRUNSRVRfRklMRS5qc29uJworYnVpbGRfbGlzdGVuZXJfdXJsID0gJ0JVSUxEX0xJU1RFTkVSX1VSTCcKK2plbmtpbnNfdXJsID0gJ0pFTktJTlNfVVJMJworamVua2luc19jcmVkZW50aWFscyA9IHsKKyAgICAndXNlcm5hbWUnOiAnSkVOS0lOU19VU0VSTkFNRScsCisgICAgJ3Bhc3N3b3JkJzogJ0pFTktJTlNfUEFTU1dPUkQnLAorfQorYGBgCisKK1RoZSBjbGllbnQgc2VjcmV0IGZpbGUgY29tZXMgZnJvbSB0aGUgR21haWwgQVBJIHBhZ2Ugb2YgdGhlIFtHb29nbGUgRGV2ZWxvcGVycworQ29uc29sZV0oaHR0cHM6Ly9jb25zb2xlLmRldmVsb3BlcnMuZ29vZ2xlLmNvbS8pLiBUaGUgSmVua2lucyBjcmVkZW50aWFscyBhcmUKK2ZvciBhIEplbmtpbnMgYWNjb3VudCB0aGF0IGhhcyB0aGUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgdG8gbGF1bmNoIHRoZSBqb2JzCit0aGUgYnVpbGRib3Qgd2lsbCB1c2UuCisKK1lvdSB3aWxsIGFsc28gbmVlZCB0byBhZGQgdGhlIEhUVFAgcGFzc3dvcmQgZm9yIHRoZSBidWlsZGJvdCdzIEdlcnJpdCBhY2NvdW50IHRvCitgfi8ubmV0cmNgLiBUaGUgSFRUUCBwYXNzd29yZCBjYW4gYmUgb2J0YWluZWQgZnJvbSB0aGUgW0dlcnJpdCBIVFRQIHBhc3N3b3JkCitzZXR0aW5nc10oaHR0cHM6Ly9hbmRyb2lkLXJldmlldy5nb29nbGVzb3VyY2UuY29tLyMvc2V0dGluZ3MvaHR0cC1wYXNzd29yZCkuCisKK1RvIGxhdW5jaCB0aGUgc2VydmljZXM6CisKK2BgYGJhc2gKKyQgcHl0aG9uIGJ1aWxkX2xpc3RlbmVyLnB5ID5idWlsZC5sb2cgMj4mMSAmCiskIHB5dGhvbiBnbWFpbF9saXN0ZW5lci5weSA+bWFpbC5sb2cgMj4mMSAmCitgYGAKKworVGhlIG1haWwgbGlzdGVuZXIgd2lsbCBkaXJlY3QgeW91ciBicm93c2VyIHRvIGFuIGF1dGhlbnRpY2F0aW9uIHBhZ2UgZm9yIHRoZQorR21haWwgQVBJLgorCitnbWFpbFxfbGlzdGVuZXIucHkKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitCaW9uaWNiYiBwb2xscyBhIGdtYWlsIGFjY291bnQgdG8gZmluZCBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSBidWlsdC4gVGhlIGdtYWlsCithY2NvdW50IG5lZWRzIHRvIGhhdmUgYSBnZXJyaXQgYWNjb3VudCBzZXQgdXAgd2l0aCBwcm9qZWN0IHdhdGNoZXMgb24gYW55dGhpbmcKK2l0IGZpbmRzIGludGVyZXN0aW5nLiBUaGlzIGlzIGEgcmF0aGVyIHVnbHkgaGFjaywgYnV0IGl0IHNlZW1zIHRvIGJlIHRoZQorc2ltcGxlc3Qgb3B0aW9uIGF2YWlsYWJsZS4KKworR2Vycml0IGRvZXMgb2ZmZXIgYSBzdHJlYW1pbmcgbm90aWZpY2F0aW9uIHNlcnZpY2UgdGhhdCB3b3VsZCBiZSBfZmFyXyBiZXR0ZXIsCitidXQgaXQgaXMgb25seSBhdmFpbGFibGUgb3ZlciBhbiBTU0ggY29uZWN0aW9uIHRvIGdlcnJpdCwgYW5kIHRoZSBBT1NQIGdlcnJpdAorZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGNvbm5lY3Rpb24uCisKK0Fub3RoZXIgb3B0aW9uIHdvdWxkIGJlIHBvbGxpbmcgZ2Vycml0IGl0c2VsZiwgYnV0IHdlJ2QgaGF2ZSB0byBwcm9jZXNzIGVhY2gKK2NoYW5nZSBldmVyeSB0aW1lIHRvIHNlZSBpZiBpdCBzaG91bGQgYmUgYnVpbHQsIHdoZXJlYXMgcHJvamVjdCB3YXRjaGVzIGFsbG93IHVzCit0byB0cmVhdCB0aGVzZSBhcyBzZW1pLXB1c2ggbm90aWZpY2F0aW9ucyAod2Ugc3RpbGwgaGF2ZSB0byBwb2xsIGdtYWlsKS4KKworT25lIGRyYXdiYWNrIHRvIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCBpdCdzIGEgaGFzc2xlIHRvIHNldCB1cCB0aGUgcHJvamVjdAord2F0Y2hlcyBmb3IgYSBsYXJnZSBudW1iZXIgb2YgcHJvamVjdHMuIFNpbmNlIGJpb25pY2JiIGlzIG9ubHkgaW50ZXJlc3RlZCBpbiBhCitzbWFsbCBzdWJzZXQgb2YgcHJvamVjdHMsIHRoaXMgaXMgYSBub24taXNzdWUuCisKK0lmIHRoZSBidWlsZGJvdCBoYXMgYXBwbGllZCBWZXJpZmllZC0xIHRvIGEgcGF0Y2hzZXQsIHRoZSB1c2VyIG1heSBhZGQgdGhlaXIgb3duCitWZXJpZmllZCsxIHRvIHRoZSBjaGFuZ2UgYW5kIHRoZSBidWlsZGJvdCB3aWxsIHJlbW92ZSBpdHMgcmVqZWN0aW9uIHRoZSBuZXh0Cit0aW1lIHRoZSBzZXJ2aWNlcyBwb2xscyAoYnkgZGVmYXVsdCwgZXZlcnkgZml2ZSBtaW51dGVzKS4KKworVGhlIHNlcnZpY2Ugd2lsbCBhbHNvIGxpc3RlbiBmb3IgdGhlIGZvbGxvd2luZyBjb21tYW5kczoKKworICogYGJpb25pY2JiOmNsZWFuYDogU29tZXRoaW5nIGlzIHZlcnkgYnJva2VuIGFuZCB0aGUgYnVpbGRib3QncyBvdXRwdXQKKyAgIGRpcmVjdG9yeSBuZWVkcyB0byBiZSBudWtlZC4KKyAqIGBiaW9uaWNiYjpyZXRyeWA6IFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgYnVpbGRib3Qgc2hvdWxkIHJldHJ5IHRoZQorICAgYnVpbGQuCisKK2J1aWxkXF9saXN0ZW5lci5weQorLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBidWlsZCBsaXN0ZW5lciBzZXJ2aWNlIHJlc3BvbmRzIHRvIEhUVFAgUE9TVCBldmVudHMgc2VudCBmcm9tIEplbmtpbnMgYW5kCit1cGRhdGVzIENMcyBhY2NvcmRpbmdseS4gVGhlIG9ubHkgb3RoZXIgQVBJIGVuZHBvaW50IGlzIGAvZHJvcC1yZWplY3Rpb25gLCB3aGljaAord2lsbCByZW1vdmUgYSBWZXJpZmllZC0xIGZyb20gYSBwcmV2aW91c2x5IHJlamVjdGVkIHBhdGNoc2V0LiBUaGUgYWN0dWFsbHkKK2ludm9jYXRpb24gb2YgdGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBnbWFpbCBsaXN0ZW5lci4KZGlmZiAtLWdpdCBhL3Rvb2xzL2Jpb25pY2JiL2Jpb25pY2JiLnB5IGIvdG9vbHMvYmlvbmljYmIvYmlvbmljYmIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc4NmIyNwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2Jpb25pY2JiL2Jpb25pY2JiLnB5CkBAIC0wLDAgKzEsMTM0IEBACisjIS91c3IvYmluL2VudiBweXRob24yCisjCisjIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworaW1wb3J0IGpzb24KK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MKKworZnJvbSBhcHNjaGVkdWxlci5zY2hlZHVsZXJzLmJhY2tncm91bmQgaW1wb3J0IEJhY2tncm91bmRTY2hlZHVsZXIKK2Zyb20gZmxhc2sgaW1wb3J0IEZsYXNrLCByZXF1ZXN0CitpbXBvcnQgcmVxdWVzdHMKKworaW1wb3J0IGdlcnJpdAoraW1wb3J0IHRhc2tzCisKK2FwcCA9IEZsYXNrKF9fbmFtZV9fKQorCisKK2RlZiBnZXJyaXRfdXJsKGVuZHBvaW50KToKKyAgICBnZXJyaXRfYmFzZV91cmwgPSAnaHR0cHM6Ly9hbmRyb2lkLXJldmlldy5nb29nbGVzb3VyY2UuY29tJworICAgIHJldHVybiBnZXJyaXRfYmFzZV91cmwgKyBlbmRwb2ludAorCisKK0BhcHAucm91dGUoJy8nLCBtZXRob2RzPVsnUE9TVCddKQorZGVmIGhhbmRsZV9idWlsZF9tZXNzYWdlKCk6CisgICAgcmVzdWx0ID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRhdGEpCisKKyAgICBuYW1lID0gcmVzdWx0WyduYW1lJ10KKyAgICBudW1iZXIgPSByZXN1bHRbJ2J1aWxkJ11bJ251bWJlciddCisgICAgc3RhdHVzID0gcmVzdWx0WydidWlsZCddWydzdGF0dXMnXQorICAgIGdvX3VybCA9ICdodHRwOi8vZ28vYmlvbmljYmIvJyArIHJlc3VsdFsnYnVpbGQnXVsndXJsJ10KKyAgICBmdWxsX3VybCA9IHJlc3VsdFsnYnVpbGQnXVsnZnVsbF91cmwnXQorICAgIHBhcmFtcyA9IHJlc3VsdFsnYnVpbGQnXVsncGFyYW1ldGVycyddCisgICAgY2hhbmdlX2lkID0gcGFyYW1zWydDSEFOR0VfSUQnXQorICAgIHJlZiA9IHBhcmFtc1snUkVGJ10KKyAgICBwYXRjaF9zZXQgPSByZWYuc3BsaXQoJy8nKVstMV0KKworICAgIGxvZ2dpbmcuZGVidWcoJyVzICMlcyAlczogJXMnLCBuYW1lLCBudW1iZXIsIHN0YXR1cywgZnVsbF91cmwpCisKKyAgICAjIGJpb25pYy1saW50IGlzIGFsd2F5cyBicm9rZW4sIHNvIHdlIGRvbid0IHdhbnQgdG8gcmVqZWN0IGNoYW5nZXMgZm9yCisgICAgIyB0aG9zZSBmYWlsdXJlcyB1bnRpbCB3ZSBjbGVhbiB0aGluZ3MgdXAuCisgICAgaWYgbmFtZSA9PSAnYmlvbmljLXByZXN1Ym1pdCc6CisgICAgICAgIG1lc3NhZ2VfbGluZXMgPSBbJ3t9ICN7fSBjaGVja2J1aWxkIHt9OiB7fScuZm9ybWF0KAorICAgICAgICAgICAgbmFtZSwgbnVtYmVyLCBzdGF0dXMsIGdvX3VybCldCisgICAgICAgIGlmIHN0YXR1cyA9PSAnRkFJTFVSRSc6CisgICAgICAgICAgICBtZXNzYWdlX2xpbmVzICs9IFsnSWYgeW91IGJlbGlldmUgdGhpcyBWZXJpZmllZC0xIHdhcyBpbiBlcnJvciwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJysxIHRoZSBjaGFuZ2UgYW5kIGJpb25pY2JiIHdpbGwgcmVtb3ZlIHRoZSAtMSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hvcnRseS4nXQorCisgICAgICAgIHJlcXVlc3RfZGF0YSA9IHsKKyAgICAgICAgICAgICdtZXNzYWdlJzogJ1xuJy5qb2luKG1lc3NhZ2VfbGluZXMpCisgICAgICAgIH0KKworICAgICAgICBsYWJlbCA9ICdWZXJpZmllZCcKKyAgICAgICAgaWYgc3RhdHVzID09ICdGQUlMVVJFJzoKKyAgICAgICAgICAgIHJlcXVlc3RfZGF0YVsnbGFiZWxzJ10gPSB7bGFiZWw6IC0xfQorICAgICAgICBlbGlmIHN0YXR1cyA9PSAnU1VDQ0VTUyc6CisgICAgICAgICAgICByZXF1ZXN0X2RhdGFbJ2xhYmVscyddID0ge2xhYmVsOiArMX0KKworICAgICAgICB1cmwgPSBnZXJyaXRfdXJsKCcvYS9jaGFuZ2VzL3t9L3JldmlzaW9ucy97fS9yZXZpZXcnLmZvcm1hdChjaGFuZ2VfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoX3NldCkpCisKKyAgICAgICAgaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCd9CisgICAgICAgIGxvZ2dpbmcuZGVidWcoJ1BPU1QgJXM6ICVzJywgdXJsLCByZXF1ZXN0X2RhdGEpCisgICAgICAgIHJlcXVlc3RzLnBvc3QodXJsLCBoZWFkZXJzPWhlYWRlcnMsIGpzb249cmVxdWVzdF9kYXRhKQorICAgIGVsaWYgbmFtZSA9PSAnY2xlYW4tYmlvbmljLXByZXN1Ym1pdCc6CisgICAgICAgIHJlcXVlc3RfZGF0YSA9IHsnbWVzc2FnZSc6ICdvdXQvIGRpcmVjdG9yeSByZW1vdmVkJ30KKyAgICAgICAgdXJsID0gZ2Vycml0X3VybCgnL2EvY2hhbmdlcy97fS9yZXZpc2lvbnMve30vcmV2aWV3Jy5mb3JtYXQoY2hhbmdlX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRjaF9zZXQpKQorICAgICAgICBoZWFkZXJzID0geydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04J30KKyAgICAgICAgbG9nZ2luZy5kZWJ1ZygnUE9TVCAlczogJXMnLCB1cmwsIHJlcXVlc3RfZGF0YSkKKyAgICAgICAgcmVxdWVzdHMucG9zdCh1cmwsIGhlYWRlcnM9aGVhZGVycywganNvbj1yZXF1ZXN0X2RhdGEpCisgICAgZWxpZiBuYW1lID09ICdiaW9uaWMtbGludCc6CisgICAgICAgIGxvZ2dpbmcud2FybmluZygnUmVzdWx0IGZvciBiaW9uaWMtbGludCBpZ25vcmVkJykKKyAgICBlbHNlOgorICAgICAgICBsb2dnaW5nLmVycm9yKCdVbmtub3duIHByb2plY3Q6ICVzJywgbmFtZSkKKyAgICByZXR1cm4gJycKKworCitAYXBwLnJvdXRlKCcvZHJvcC1yZWplY3Rpb24nLCBtZXRob2RzPVsnUE9TVCddKQorZGVmIGRyb3BfcmVqZWN0aW9uKCk6CisgICAgcmV2aXNpb25faW5mbyA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhKQorCisgICAgY2hhbmdlX2lkID0gcmV2aXNpb25faW5mb1snY2hhbmdlaWQnXQorICAgIHBhdGNoX3NldCA9IHJldmlzaW9uX2luZm9bJ3BhdGNoc2V0J10KKworICAgIGJiX2VtYWlsID0gJ2Jpb25pY2JiQGFuZHJvaWQuY29tJworICAgIGxhYmVscyA9IGdlcnJpdC5nZXRfbGFiZWxzKGNoYW5nZV9pZCwgcGF0Y2hfc2V0KQorICAgIGlmIGJiX2VtYWlsIGluIGxhYmVsc1snVmVyaWZpZWQnXToKKyAgICAgICAgYmJfcmV2aWV3ID0gbGFiZWxzWydWZXJpZmllZCddW2JiX2VtYWlsXQorICAgIGVsc2U6CisgICAgICAgIGJiX3JldmlldyA9IDAKKworICAgIGlmIGJiX3JldmlldyA+PSAwOgorICAgICAgICBsb2dnaW5nLmluZm8oJ05vIHJlamVjdGlvbiB0byBkcm9wOiAlcyAlcycsIGNoYW5nZV9pZCwgcGF0Y2hfc2V0KQorICAgICAgICByZXR1cm4gJycKKworICAgIGxvZ2dpbmcuaW5mbygnRHJvcHBpbmcgcmVqZWN0aW9uOiAlcyAlcycsIGNoYW5nZV9pZCwgcGF0Y2hfc2V0KQorCisgICAgcmVxdWVzdF9kYXRhID0geydsYWJlbHMnOiB7J1ZlcmlmaWVkJzogMH19CisgICAgdXJsID0gZ2Vycml0X3VybCgnL2EvY2hhbmdlcy97fS9yZXZpc2lvbnMve30vcmV2aWV3Jy5mb3JtYXQoY2hhbmdlX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoX3NldCkpCisgICAgaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCd9CisgICAgbG9nZ2luZy5kZWJ1ZygnUE9TVCAlczogJXMnLCB1cmwsIHJlcXVlc3RfZGF0YSkKKyAgICByZXF1ZXN0cy5wb3N0KHVybCwgaGVhZGVycz1oZWFkZXJzLCBqc29uPXJlcXVlc3RfZGF0YSkKKyAgICByZXR1cm4gJycKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5JTkZPKQorICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKKyAgICBmaCA9IGxvZ2dpbmcuRmlsZUhhbmRsZXIoJ2Jpb25pY2JiLmxvZycpCisgICAgZmguc2V0TGV2ZWwobG9nZ2luZy5JTkZPKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGZoKQorCisgICAgIyBQcmV2ZW50IHRoZSBqb2IgZnJvbSBiZWluZyByZXNjaGVkdWxlZCBieSB0aGUgcmVsb2FkZXIuCisgICAgaWYgb3MuZW52aXJvbi5nZXQoJ1dFUktaRVVHX1JVTl9NQUlOJykgPT0gJ3RydWUnOgorICAgICAgICBzY2hlZHVsZXIgPSBCYWNrZ3JvdW5kU2NoZWR1bGVyKCkKKyAgICAgICAgc2NoZWR1bGVyLnN0YXJ0KCkKKyAgICAgICAgc2NoZWR1bGVyLmFkZF9qb2IodGFza3MuZ2V0X2FuZF9wcm9jZXNzX2pvYnMsICdpbnRlcnZhbCcsIG1pbnV0ZXM9NSkKKworICAgIGFwcC5ydW4oaG9zdD0nMC4wLjAuMCcsIGRlYnVnPVRydWUpCmRpZmYgLS1naXQgYS90b29scy9iaW9uaWNiYi9nZXJyaXQucHkgYi90b29scy9iaW9uaWNiYi9nZXJyaXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM2MmM2YQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2Jpb25pY2JiL2dlcnJpdC5weQpAQCAtMCwwICsxLDgwIEBACisjCisjIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworaW1wb3J0IGpzb24KK2ltcG9ydCByZXF1ZXN0cworCisKK2NsYXNzIEdlcnJpdEVycm9yKFJ1bnRpbWVFcnJvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvZGUsIHVybCk6CisgICAgICAgIHNlbGYuY29kZSA9IGNvZGUKKyAgICAgICAgc2VsZi51cmwgPSB1cmwKKyAgICAgICAgc3VwZXIoR2Vycml0RXJyb3IsIHNlbGYpLl9faW5pdF9fKCdFcnJvciB7fToge30nLmZvcm1hdChjb2RlLCB1cmwpKQorCisKK2RlZiBnZXRfY29tbWl0KGNoYW5nZV9pZCwgcmV2aXNpb24pOgorICAgIHJldHVybiBqc29uLmxvYWRzKAorICAgICAgICBjYWxsKCcvY2hhbmdlcy97fS9yZXZpc2lvbnMve30vY29tbWl0Jy5mb3JtYXQoY2hhbmdlX2lkLCByZXZpc2lvbikpKQorCisKK2RlZiBnZXRfZmlsZXNfZm9yX3JldmlzaW9uKGNoYW5nZV9pZCwgcmV2aXNpb24pOgorICAgIHJldHVybiBqc29uLmxvYWRzKAorICAgICAgICBjYWxsKCcvY2hhbmdlcy97fS9yZXZpc2lvbnMve30vZmlsZXMnLmZvcm1hdCgKKyAgICAgICAgICAgIGNoYW5nZV9pZCwgcmV2aXNpb24pKSkua2V5cygpCisKKworZGVmIGNhbGwoZW5kcG9pbnQsIG1ldGhvZD0nR0VUJyk6CisgICAgaWYgbWV0aG9kICE9ICdHRVQnOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdDdXJyZW50bHkgb25seSBIVFRQIEdFVCBpcyBzdXBwb3J0ZWQuJykKKyAgICBnZXJyaXRfdXJsID0gJ2h0dHBzOi8vYW5kcm9pZC1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbScKKyAgICB1cmwgPSBnZXJyaXRfdXJsICsgZW5kcG9pbnQKKyAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCh1cmwpCisgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgIT0gMjAwOgorICAgICAgICByYWlzZSBHZXJyaXRFcnJvcihyZXNwb25zZS5zdGF0dXNfY29kZSwgdXJsKQorICAgIHJldHVybiByZXNwb25zZS50ZXh0WzU6XQorCisKK2RlZiByZWZfZm9yX2NoYW5nZShjaGFuZ2VfaWQpOgorICAgIGVuZHBvaW50ID0gJy9jaGFuZ2VzL3t9L2RldGFpbD9vPUNVUlJFTlRfUkVWSVNJT04nLmZvcm1hdChjaGFuZ2VfaWQpCisgICAgY2hhbmdlID0ganNvbi5sb2FkcyhjYWxsKGVuZHBvaW50KSkKKyAgICBjb21taXQgPSBjaGFuZ2VbJ2N1cnJlbnRfcmV2aXNpb24nXQorICAgIHJldHVybiBjaGFuZ2VbJ3JldmlzaW9ucyddW2NvbW1pdF1bJ2ZldGNoJ11bJ2h0dHAnXVsncmVmJ10KKworCitkZWYgZ2V0X2xhYmVscyhjaGFuZ2VfaWQsIHBhdGNoX3NldCk6CisgICAgIiIiUmV0dXJucyBsYWJlbHMgYXR0YWNoZWQgdG8gYSByZXZpc2lvbi4KKworICAgIFJldHVybmVkIGRhdGEgaXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6CisgICAgeworICAgICAgICAnQ29kZS1SZXZpZXcnOiB7CisgICAgICAgICAgICA8ZW1haWw+OiA8dmFsdWU+LAorICAgICAgICAgICAgLi4uCisgICAgICAgIH0sCisgICAgICAgICdWZXJpZmllZCc6IHsKKyAgICAgICAgICAgIDxlbWFpbD46IDx2YWx1ZT4sCisgICAgICAgICAgICAuLi4KKyAgICAgICAgfQorICAgIH0KKyAgICAiIiIKKyAgICBkZXRhaWxzID0ganNvbi5sb2FkcyhjYWxsKCcvY2hhbmdlcy97fS9yZXZpc2lvbnMve30vcmV2aWV3Jy5mb3JtYXQoCisgICAgICAgIGNoYW5nZV9pZCwgcGF0Y2hfc2V0KSkpCisgICAgbGFiZWxzID0geydDb2RlLVJldmlldyc6IHt9LCAnVmVyaWZpZWQnOiB7fX0KKyAgICBmb3IgcmV2aWV3IGluIGRldGFpbHNbJ2xhYmVscyddWydDb2RlLVJldmlldyddWydhbGwnXToKKyAgICAgICAgaWYgJ3ZhbHVlJyBpbiByZXZpZXcgYW5kICdlbWFpbCcgaW4gcmV2aWV3OgorICAgICAgICAgICAgbGFiZWxzWydDb2RlLVJldmlldyddW3Jldmlld1snZW1haWwnXV0gPSBpbnQocmV2aWV3Wyd2YWx1ZSddKQorICAgIGZvciByZXZpZXcgaW4gZGV0YWlsc1snbGFiZWxzJ11bJ1ZlcmlmaWVkJ11bJ2FsbCddOgorICAgICAgICBpZiAndmFsdWUnIGluIHJldmlldyBhbmQgJ2VtYWlsJyBpbiByZXZpZXc6CisgICAgICAgICAgICBsYWJlbHNbJ1ZlcmlmaWVkJ11bcmV2aWV3WydlbWFpbCddXSA9IGludChyZXZpZXdbJ3ZhbHVlJ10pCisgICAgcmV0dXJuIGxhYmVscwpkaWZmIC0tZ2l0IGEvdG9vbHMvYmlvbmljYmIvZ21haWwucHkgYi90b29scy9iaW9uaWNiYi9nbWFpbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDg4YWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvYmlvbmljYmIvZ21haWwucHkKQEAgLTAsMCArMSw3MSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgJ0xpY2Vuc2UnKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKK2ltcG9ydCBiYXNlNjQKK2ltcG9ydCBodHRwbGliMgorCitpbXBvcnQgY29uZmlnCisKKworZGVmIGdldF9ib2R5KG1zZyk6CisgICAgaWYgJ2F0dGFjaG1lbnRJZCcgaW4gbXNnWydwYXlsb2FkJ11bJ2JvZHknXToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignSGFuZGxpbmcgb2YgbWVzc2FnZXMgY29udGFpbmVkIGluICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXR0YWNobWVudHMgbm90IHlldCBpbXBsZW1lbnRlZC4nKQorICAgIGI2NF9ib2R5ID0gbXNnWydwYXlsb2FkJ11bJ2JvZHknXVsnZGF0YSddCisgICAgcmV0dXJuIGJhc2U2NC51cmxzYWZlX2I2NGRlY29kZShiNjRfYm9keS5lbmNvZGUoJ0FTQ0lJJykpCisKKworZGVmIGJ1aWxkX3NlcnZpY2UoKToKKyAgICBmcm9tIGFwaWNsaWVudC5kaXNjb3ZlcnkgaW1wb3J0IGJ1aWxkCisgICAgZnJvbSBvYXV0aDJjbGllbnQuY2xpZW50IGltcG9ydCBmbG93X2Zyb21fY2xpZW50c2VjcmV0cworICAgIGZyb20gb2F1dGgyY2xpZW50LmZpbGUgaW1wb3J0IFN0b3JhZ2UKKyAgICBmcm9tIG9hdXRoMmNsaWVudC50b29scyBpbXBvcnQgcnVuCisKKyAgICBPQVVUSF9TQ09QRSA9ICdodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2dtYWlsLm1vZGlmeScKKyAgICBTVE9SQUdFID0gU3RvcmFnZSgnb2F1dGguc3RvcmFnZScpCisKKyAgICAjIFN0YXJ0IHRoZSBPQXV0aCBmbG93IHRvIHJldHJpZXZlIGNyZWRlbnRpYWxzCisgICAgZmxvdyA9IGZsb3dfZnJvbV9jbGllbnRzZWNyZXRzKGNvbmZpZy5jbGllbnRfc2VjcmV0X2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlPU9BVVRIX1NDT1BFKQorICAgIGh0dHAgPSBodHRwbGliMi5IdHRwKCkKKworICAgICMgVHJ5IHRvIHJldHJpZXZlIGNyZWRlbnRpYWxzIGZyb20gc3RvcmFnZSBvciBydW4gdGhlIGZsb3cgdG8gZ2VuZXJhdGUgdGhlbQorICAgIGNyZWRlbnRpYWxzID0gU1RPUkFHRS5nZXQoKQorICAgIGlmIGNyZWRlbnRpYWxzIGlzIE5vbmUgb3IgY3JlZGVudGlhbHMuaW52YWxpZDoKKyAgICAgICAgY3JlZGVudGlhbHMgPSBydW4oZmxvdywgU1RPUkFHRSwgaHR0cD1odHRwKQorCisgICAgaHR0cCA9IGNyZWRlbnRpYWxzLmF1dGhvcml6ZShodHRwKQorICAgIHJldHVybiBidWlsZCgnZ21haWwnLCAndjEnLCBodHRwPWh0dHApCisKKworZGVmIGdldF9nZXJyaXRfbGFiZWwobGFiZWxzKToKKyAgICBmb3IgbGFiZWwgaW4gbGFiZWxzOgorICAgICAgICBpZiBsYWJlbFsnbmFtZSddID09ICdnZXJyaXQnOgorICAgICAgICAgICAgcmV0dXJuIGxhYmVsWydpZCddCisgICAgcmV0dXJuIE5vbmUKKworCitkZWYgZ2V0X2FsbF9tZXNzYWdlcyhzZXJ2aWNlLCBsYWJlbCk6CisgICAgbXNncyA9IFtdCisgICAgcmVzcG9uc2UgPSBzZXJ2aWNlLnVzZXJzKCkubWVzc2FnZXMoKS5saXN0KAorICAgICAgICB1c2VySWQ9J21lJywgbGFiZWxJZHM9bGFiZWwpLmV4ZWN1dGUoKQorICAgIGlmICdtZXNzYWdlcycgaW4gcmVzcG9uc2U6CisgICAgICAgIG1zZ3MuZXh0ZW5kKHJlc3BvbnNlWydtZXNzYWdlcyddKQorICAgIHdoaWxlICduZXh0UGFnZVRva2VuJyBpbiByZXNwb25zZToKKyAgICAgICAgcGFnZV90b2tlbiA9IHJlc3BvbnNlWyduZXh0UGFnZVRva2VuJ10KKyAgICAgICAgcmVzcG9uc2UgPSBzZXJ2aWNlLnVzZXJzKCkubWVzc2FnZXMoKS5saXN0KAorICAgICAgICAgICAgdXNlcklkPSdtZScsIHBhZ2VUb2tlbj1wYWdlX3Rva2VuKS5leGVjdXRlKCkKKyAgICAgICAgbXNncy5leHRlbmQocmVzcG9uc2VbJ21lc3NhZ2VzJ10pCisgICAgcmV0dXJuIG1zZ3MKZGlmZiAtLWdpdCBhL3Rvb2xzL2Jpb25pY2JiL3ByZXN1Ym1pdC5weSBiL3Rvb2xzL2Jpb25pY2JiL3ByZXN1Ym1pdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzZmM2NjCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvYmlvbmljYmIvcHJlc3VibWl0LnB5CkBAIC0wLDAgKzEsMjAzIEBACisjCisjIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAnTGljZW5zZScpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKworaW1wb3J0IGpzb24KK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MucGF0aAoraW1wb3J0IHJlCitpbXBvcnQgcmVxdWVzdHMKKworaW1wb3J0IGplbmtpbnNhcGkKKworaW1wb3J0IGdlcnJpdAorCitpbXBvcnQgY29uZmlnCisKKworZGVmIGlzX3VudHJ1c3RlZF9jb21taXR0ZXIoY2hhbmdlX2lkLCBwYXRjaF9zZXQpOgorICAgICMgVE9ETyhkYW5hbGJlcnQpOiBOZWVkcyB0byBiZSBiYXNlZCBvbiB0aGUgYWNjb3VudCB0aGF0IG1hZGUgdGhlIGNvbW1lbnQuCisgICAgY29tbWl0ID0gZ2Vycml0LmdldF9jb21taXQoY2hhbmdlX2lkLCBwYXRjaF9zZXQpCisgICAgY29tbWl0dGVyID0gY29tbWl0Wydjb21taXR0ZXInXVsnZW1haWwnXQorICAgIHJldHVybiBub3QgY29tbWl0dGVyLmVuZHN3aXRoKCdAZ29vZ2xlLmNvbScpCisKKworZGVmIGNvbnRhaW5zX2NsZWFuc3BlYyhjaGFuZ2VfaWQsIHBhdGNoX3NldCk6CisgICAgZmlsZXMgPSBnZXJyaXQuZ2V0X2ZpbGVzX2Zvcl9yZXZpc2lvbihjaGFuZ2VfaWQsIHBhdGNoX3NldCkKKyAgICByZXR1cm4gJ0NsZWFuU3BlYy5taycgaW4gW29zLnBhdGguYmFzZW5hbWUoZikgZm9yIGYgaW4gZmlsZXNdCisKKworZGVmIGNvbnRhaW5zX2Jpb25pY2JiKGNoYW5nZV9pZCwgcGF0Y2hfc2V0KToKKyAgICBmaWxlcyA9IGdlcnJpdC5nZXRfZmlsZXNfZm9yX3JldmlzaW9uKGNoYW5nZV9pZCwgcGF0Y2hfc2V0KQorICAgIHJldHVybiBhbnkoJ3Rvb2xzL2Jpb25pY2JiJyBpbiBmIGZvciBmIGluIGZpbGVzKQorCisKK2RlZiBzaG91bGRfc2tpcF9idWlsZChpbmZvKToKKyAgICBpZiBpbmZvWydNZXNzYWdlVHlwZSddIG5vdCBpbiAoJ25ld2NoYW5nZScsICduZXdwYXRjaHNldCcsICdjb21tZW50Jyk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3Nob3VsZF9za2lwX2J1aWxkKCkgaXMgb25seSB2YWxpZCBmb3IgbmV3ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAnY2hhbmdlcywgcGF0Y2ggc2V0cywgYW5kIGNvbW1pdHMuJykKKworICAgIGNoYW5nZV9pZCA9IGluZm9bJ0NoYW5nZS1JZCddCisgICAgcGF0Y2hfc2V0ID0gaW5mb1snUGF0Y2hTZXQnXQorCisgICAgY2hlY2tzID0gWworICAgICAgICBpc191bnRydXN0ZWRfY29tbWl0dGVyLAorICAgICAgICBjb250YWluc19jbGVhbnNwZWMsCisgICAgICAgIGNvbnRhaW5zX2Jpb25pY2JiLAorICAgIF0KKyAgICBmb3IgY2hlY2sgaW4gY2hlY2tzOgorICAgICAgICBpZiBjaGVjayhjaGFuZ2VfaWQsIHBhdGNoX3NldCk6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgIHJldHVybiBGYWxzZQorCisKK2RlZiBjbGVhbl9wcm9qZWN0KGRyeV9ydW4pOgorICAgIHVzZXJuYW1lID0gY29uZmlnLmplbmtpbnNfY3JlZGVudGlhbHNbJ3VzZXJuYW1lJ10KKyAgICBwYXNzd29yZCA9IGNvbmZpZy5qZW5raW5zX2NyZWRlbnRpYWxzWydwYXNzd29yZCddCisgICAgamVua2luc191cmwgPSBjb25maWcuamVua2luc191cmwKKyAgICBqZW5raW5zID0gamVua2luc2FwaS5hcGkuSmVua2lucyhqZW5raW5zX3VybCwgdXNlcm5hbWUsIHBhc3N3b3JkKQorCisgICAgYnVpbGQgPSAnY2xlYW4tYmlvbmljLXByZXN1Ym1pdCcKKyAgICBpZiBidWlsZCBpbiBqZW5raW5zOgorICAgICAgICBpZiBub3QgZHJ5X3J1bjoKKyAgICAgICAgICAgIGpvYiA9IGplbmtpbnNbYnVpbGRdLmludm9rZSgpCisgICAgICAgICAgICB1cmwgPSBqb2IuZ2V0X2J1aWxkKCkuYmFzZXVybAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdXJsID0gJ0RSWV9SVU5fVVJMJworICAgICAgICBsb2dnaW5nLmluZm8oJ0NsZWFuaW5nOiAlcyAlcycsIGJ1aWxkLCB1cmwpCisgICAgZWxzZToKKyAgICAgICAgbG9nZ2luZy5lcnJvcignRmFpbGVkIHRvIGNsZWFuOiBjb3VsZCBub3QgZmluZCBwcm9qZWN0ICVzJywgYnVpbGQpCisgICAgcmV0dXJuIFRydWUKKworCitkZWYgYnVpbGRfcHJvamVjdChnZXJyaXRfaW5mbywgZHJ5X3J1biwgbHVuY2hfdGFyZ2V0PU5vbmUpOgorICAgIHByb2plY3RfdG9famVua2luc19tYXAgPSB7CisgICAgICAgICdwbGF0Zm9ybS9iaW9uaWMnOiAnYmlvbmljLXByZXN1Ym1pdCcsCisgICAgICAgICdwbGF0Zm9ybS9idWlsZCc6ICdiaW9uaWMtcHJlc3VibWl0JywKKyAgICAgICAgJ3BsYXRmb3JtL2V4dGVybmFsL2plbWFsbG9jJzogJ2Jpb25pYy1wcmVzdWJtaXQnLAorICAgICAgICAncGxhdGZvcm0vZXh0ZXJuYWwvbGliY3h4JzogJ2Jpb25pYy1wcmVzdWJtaXQnLAorICAgICAgICAncGxhdGZvcm0vZXh0ZXJuYWwvbGliY3h4YWJpJzogJ2Jpb25pYy1wcmVzdWJtaXQnLAorICAgICAgICAncGxhdGZvcm0vZXh0ZXJuYWwvY29tcGlsZXItcnQnOiAnYmlvbmljLXByZXN1Ym1pdCcsCisgICAgfQorCisgICAgdXNlcm5hbWUgPSBjb25maWcuamVua2luc19jcmVkZW50aWFsc1sndXNlcm5hbWUnXQorICAgIHBhc3N3b3JkID0gY29uZmlnLmplbmtpbnNfY3JlZGVudGlhbHNbJ3Bhc3N3b3JkJ10KKyAgICBqZW5raW5zX3VybCA9IGNvbmZpZy5qZW5raW5zX3VybAorICAgIGplbmtpbnMgPSBqZW5raW5zYXBpLmFwaS5KZW5raW5zKGplbmtpbnNfdXJsLCB1c2VybmFtZSwgcGFzc3dvcmQpCisKKyAgICBwcm9qZWN0ID0gZ2Vycml0X2luZm9bJ1Byb2plY3QnXQorICAgIGNoYW5nZV9pZCA9IGdlcnJpdF9pbmZvWydDaGFuZ2UtSWQnXQorICAgIGlmIHByb2plY3QgaW4gcHJvamVjdF90b19qZW5raW5zX21hcDoKKyAgICAgICAgYnVpbGQgPSBwcm9qZWN0X3RvX2plbmtpbnNfbWFwW3Byb2plY3RdCisgICAgZWxzZToKKyAgICAgICAgYnVpbGQgPSAnYmlvbmljLXByZXN1Ym1pdCcKKworICAgIGlmIGJ1aWxkIGluIGplbmtpbnM6CisgICAgICAgIHByb2plY3RfcGF0aCA9ICcvJy5qb2luKHByb2plY3Quc3BsaXQoJy8nKVsxOl0pCisgICAgICAgIGlmIG5vdCBwcm9qZWN0X3BhdGg6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ2JvZ3VzIHByb2plY3Q6IHt9Jy5mb3JtYXQocHJvamVjdCkpCisgICAgICAgIGlmIHByb2plY3RfcGF0aC5zdGFydHN3aXRoKCdwbGF0Zm9ybS8nKToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignQmFkIHByb2plY3QgbWFwcGluZzoge30gPT4ge30nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICBwcm9qZWN0LCBwcm9qZWN0X3BhdGgpKQorICAgICAgICByZWYgPSBnZXJyaXQucmVmX2Zvcl9jaGFuZ2UoY2hhbmdlX2lkKQorICAgICAgICBwYXJhbXMgPSB7CisgICAgICAgICAgICAnUkVGJzogcmVmLAorICAgICAgICAgICAgJ0NIQU5HRV9JRCc6IGNoYW5nZV9pZCwKKyAgICAgICAgICAgICdQUk9KRUNUJzogcHJvamVjdF9wYXRoCisgICAgICAgIH0KKyAgICAgICAgaWYgbHVuY2hfdGFyZ2V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcGFyYW1zWydMVU5DSF9UQVJHRVQnXSA9IGx1bmNoX3RhcmdldAorICAgICAgICBpZiBub3QgZHJ5X3J1bjoKKyAgICAgICAgICAgIF8gPSBqZW5raW5zW2J1aWxkXS5pbnZva2UoYnVpbGRfcGFyYW1zPXBhcmFtcykKKyAgICAgICAgICAgICMgaHR0cHM6Ly9pc3N1ZXMuamVua2lucy1jaS5vcmcvYnJvd3NlL0pFTktJTlMtMjcyNTYKKyAgICAgICAgICAgICMgdXJsID0gam9iLmdldF9idWlsZCgpLmJhc2V1cmwKKyAgICAgICAgICAgIHVybCA9ICdVUkwgVU5BVkFJTEFCTEUnCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB1cmwgPSAnRFJZX1JVTl9VUkwnCisgICAgICAgIGxvZ2dpbmcuaW5mbygnQnVpbGRpbmc6ICVzID0+ICVzICVzICVzJywgcHJvamVjdCwgYnVpbGQsIHVybCwKKyAgICAgICAgICAgICAgICAgICAgIGNoYW5nZV9pZCkKKyAgICBlbHNlOgorICAgICAgICBsb2dnaW5nLmVycm9yKCdVbmtub3duIGJ1aWxkOiAlcyA9PiAlcyAlcycsIHByb2plY3QsIGJ1aWxkLCBjaGFuZ2VfaWQpCisgICAgcmV0dXJuIFRydWUKKworCitkZWYgaGFuZGxlX2NoYW5nZShnZXJyaXRfaW5mbywgXywgZHJ5X3J1bik6CisgICAgaWYgc2hvdWxkX3NraXBfYnVpbGQoZ2Vycml0X2luZm8pOgorICAgICAgICByZXR1cm4gVHJ1ZQorICAgIHJldHVybiBidWlsZF9wcm9qZWN0KGdlcnJpdF9pbmZvLCBkcnlfcnVuKQorCisKK2RlZiBkcm9wX3JlamVjdGlvbihnZXJyaXRfaW5mbywgZHJ5X3J1bik6CisgICAgcmVxdWVzdF9kYXRhID0geworICAgICAgICAnY2hhbmdlaWQnOiBnZXJyaXRfaW5mb1snQ2hhbmdlLUlkJ10sCisgICAgICAgICdwYXRjaHNldCc6IGdlcnJpdF9pbmZvWydQYXRjaFNldCddCisgICAgfQorICAgIHVybCA9ICd7fS97fScuZm9ybWF0KGNvbmZpZy5idWlsZF9saXN0ZW5lcl91cmwsICdkcm9wLXJlamVjdGlvbicpCisgICAgaGVhZGVycyA9IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCd9CisgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QodXJsLCBoZWFkZXJzPWhlYWRlcnMsIGRhdGE9anNvbi5kdW1wcyhyZXF1ZXN0X2RhdGEpKQorICAgICAgICBleGNlcHQgcmVxdWVzdHMuZXhjZXB0aW9ucy5Db25uZWN0aW9uRXJyb3IgYXMgZXg6CisgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCdGYWlsZWQgdG8gZHJvcCByZWplY3Rpb246ICVzJywgZXgpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICBsb2dnaW5nLmluZm8oJ0Ryb3BwZWQgcmVqZWN0aW9uOiAlcycsIGdlcnJpdF9pbmZvWydDaGFuZ2UtSWQnXSkKKyAgICByZXR1cm4gVHJ1ZQorCisKK2RlZiBoYW5kbGVfY29tbWVudChnZXJyaXRfaW5mbywgYm9keSwgZHJ5X3J1bik6CisgICAgaWYgJ1ZlcmlmaWVkKzEnIGluIGJvZHk6CisgICAgICAgIGRyb3BfcmVqZWN0aW9uKGdlcnJpdF9pbmZvLCBkcnlfcnVuKQorCisgICAgaWYgc2hvdWxkX3NraXBfYnVpbGQoZ2Vycml0X2luZm8pOgorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgY29tbWFuZF9tYXAgPSB7CisgICAgICAgICdjbGVhbic6IGxhbWJkYTogY2xlYW5fcHJvamVjdChkcnlfcnVuKSwKKyAgICAgICAgJ3JldHJ5JzogbGFtYmRhOiBidWlsZF9wcm9qZWN0KGdlcnJpdF9pbmZvLCBkcnlfcnVuKSwKKworICAgICAgICAnYXJtJzogbGFtYmRhOiBidWlsZF9wcm9qZWN0KGdlcnJpdF9pbmZvLCBkcnlfcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGx1bmNoX3RhcmdldD0nYW9zcF9hcm0tZW5nJyksCisgICAgICAgICdhYXJjaDY0JzogbGFtYmRhOiBidWlsZF9wcm9qZWN0KGdlcnJpdF9pbmZvLCBkcnlfcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsdW5jaF90YXJnZXQ9J2Fvc3BfYXJtNjQtZW5nJyksCisgICAgICAgICdtaXBzJzogbGFtYmRhOiBidWlsZF9wcm9qZWN0KGdlcnJpdF9pbmZvLCBkcnlfcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsdW5jaF90YXJnZXQ9J2Fvc3BfbWlwcy1lbmcnKSwKKyAgICAgICAgJ21pcHM2NCc6IGxhbWJkYTogYnVpbGRfcHJvamVjdChnZXJyaXRfaW5mbywgZHJ5X3J1biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsdW5jaF90YXJnZXQ9J2Fvc3BfbWlwczY0LWVuZycpLAorICAgICAgICAneDg2JzogbGFtYmRhOiBidWlsZF9wcm9qZWN0KGdlcnJpdF9pbmZvLCBkcnlfcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGx1bmNoX3RhcmdldD0nYW9zcF94ODYtZW5nJyksCisgICAgICAgICd4ODZfNjQnOiBsYW1iZGE6IGJ1aWxkX3Byb2plY3QoZ2Vycml0X2luZm8sIGRyeV9ydW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHVuY2hfdGFyZ2V0PSdhb3NwX3g4Nl82NC1lbmcnKSwKKyAgICB9CisKKyAgICBkZWYgaGFuZGxlX3Vua25vd25fY29tbWFuZCgpOgorICAgICAgICBwYXNzICAgICMgVE9ETyhkYW5hbGJlcnQpOiBzaG91bGQgY29tcGxhaW4gdG8gdGhlIGNvbW1lbnRlci4KKworICAgIGNvbW1hbmRzID0gW21hdGNoLmdyb3VwKDEpLnN0cmlwKCkgZm9yIG1hdGNoIGluCisgICAgICAgICAgICAgICAgcmUuZmluZGl0ZXIocideYmlvbmljYmI6XHMqKC4rKSQnLCBib2R5LCBmbGFncz1yZS5NVUxUSUxJTkUpXQorCisgICAgZm9yIGNvbW1hbmQgaW4gY29tbWFuZHM6CisgICAgICAgIGlmIGNvbW1hbmQgaW4gY29tbWFuZF9tYXA6CisgICAgICAgICAgICBjb21tYW5kX21hcFtjb21tYW5kXSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBoYW5kbGVfdW5rbm93bl9jb21tYW5kKCkKKworICAgIHJldHVybiBUcnVlCisKKworZGVmIHNraXBfaGFuZGxlcihnZXJyaXRfaW5mbywgXywgX18pOgorICAgIGxvZ2dpbmcuaW5mbygnU2tpcHBpbmcgJXM6ICVzJywgZ2Vycml0X2luZm9bJ01lc3NhZ2VUeXBlJ10sCisgICAgICAgICAgICAgICAgIGdlcnJpdF9pbmZvWydDaGFuZ2UtSWQnXSkKKyAgICByZXR1cm4gVHJ1ZQpkaWZmIC0tZ2l0IGEvdG9vbHMvYmlvbmljYmIvdGFza3MucHkgYi90b29scy9iaW9uaWNiYi90YXNrcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzM5YTk4Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvYmlvbmljYmIvdGFza3MucHkKQEAgLTAsMCArMSwxMDggQEAKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyMKKyMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICdMaWNlbnNlJyk7CisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjCisjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywKKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisjCitpbXBvcnQgaHR0cGxpYgoraW1wb3J0IGh0dHBsaWIyCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IHJlCitpbXBvcnQgc29ja2V0CisKK2ltcG9ydCBhcGljbGllbnQuZXJyb3JzCisKK2ltcG9ydCBnZXJyaXQKK2ltcG9ydCBnbWFpbAoraW1wb3J0IHByZXN1Ym1pdAorCisKK2RlZiBnZXRfZ2Vycml0X2luZm8oYm9keSk6CisgICAgaW5mbyA9IHt9CisgICAgZ2Vycml0X3BhdHRlcm4gPSByJ15HZXJyaXQtKFxTKyk6ICguKykkJworICAgIGZvciBtYXRjaCBpbiByZS5maW5kaXRlcihnZXJyaXRfcGF0dGVybiwgYm9keSwgZmxhZ3M9cmUuTVVMVElMSU5FKToKKyAgICAgICAgaW5mb1ttYXRjaC5ncm91cCgxKV0gPSBtYXRjaC5ncm91cCgyKS5zdHJpcCgpCisgICAgcmV0dXJuIGluZm8KKworCitkZWYgcHJvY2Vzc19tZXNzYWdlKG1zZywgZHJ5X3J1bik6CisgICAgdHJ5OgorICAgICAgICBib2R5ID0gZ21haWwuZ2V0X2JvZHkobXNnKQorICAgICAgICBnZXJyaXRfaW5mbyA9IGdldF9nZXJyaXRfaW5mbyhib2R5KQorICAgICAgICBpZiBub3QgZ2Vycml0X2luZm86CisgICAgICAgICAgICBsb2dnaW5nLmZhdGFsKCdObyBHZXJyaXQgaW5mbyBmb3VuZDogJXMnLCBtc2cuc3ViamVjdCkKKyAgICAgICAgbXNnX3R5cGUgPSBnZXJyaXRfaW5mb1snTWVzc2FnZVR5cGUnXQorICAgICAgICBoYW5kbGVycyA9IHsKKyAgICAgICAgICAgICdjb21tZW50JzogcHJlc3VibWl0LmhhbmRsZV9jb21tZW50LAorICAgICAgICAgICAgJ25ld2NoYW5nZSc6IHByZXN1Ym1pdC5oYW5kbGVfY2hhbmdlLAorICAgICAgICAgICAgJ25ld3BhdGNoc2V0JzogcHJlc3VibWl0LmhhbmRsZV9jaGFuZ2UsCisKKyAgICAgICAgICAgICdhYmFuZG9uJzogcHJlc3VibWl0LnNraXBfaGFuZGxlciwKKyAgICAgICAgICAgICdtZXJnZS1mYWlsZWQnOiBwcmVzdWJtaXQuc2tpcF9oYW5kbGVyLAorICAgICAgICAgICAgJ21lcmdlZCc6IHByZXN1Ym1pdC5za2lwX2hhbmRsZXIsCisgICAgICAgICAgICAncmVzdG9yZSc6IHByZXN1Ym1pdC5za2lwX2hhbmRsZXIsCisgICAgICAgICAgICAncmV2ZXJ0JzogcHJlc3VibWl0LnNraXBfaGFuZGxlciwKKyAgICAgICAgfQorCisgICAgICAgIG1lc3NhZ2VfdHlwZSA9IGdlcnJpdF9pbmZvWydNZXNzYWdlVHlwZSddCisgICAgICAgIGlmIG1lc3NhZ2VfdHlwZSBpbiBoYW5kbGVyczoKKyAgICAgICAgICAgIHJldHVybiBoYW5kbGVyc1ttZXNzYWdlX3R5cGVdKGdlcnJpdF9pbmZvLCBib2R5LCBkcnlfcnVuKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5nKCdNZXNzYWdlVHlwZSAlcyB1bmhhbmRsZWQuJywgbXNnX3R5cGUpCisgICAgICAgIHJldHVybiBGYWxzZQorICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yIGFzIGV4OgorICAgICAgICBsb2dnaW5nLmVycm9yKCIlcyIsIGV4KQorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICBleGNlcHQgZ2Vycml0LkdlcnJpdEVycm9yIGFzIGV4OgorICAgICAgICBjaGFuZ2VfaWQgPSBnZXJyaXRfaW5mb1snQ2hhbmdlLUlkJ10KKyAgICAgICAgbG9nZ2luZy5lcnJvcignR2Vycml0IGVycm9yICglZCk6ICVzICVzJywgZXguY29kZSwgY2hhbmdlX2lkLCBleC51cmwpCisgICAgICAgIHJldHVybiBleC5jb2RlID09IDQwNAorCisKK2RlZiBnZXRfYW5kX3Byb2Nlc3Nfam9icygpOgorICAgIGRyeV9ydW4gPSBGYWxzZQorCisgICAgZ21haWxfc2VydmljZSA9IGdtYWlsLmJ1aWxkX3NlcnZpY2UoKQorICAgIG1zZ19zZXJ2aWNlID0gZ21haWxfc2VydmljZS51c2VycygpLm1lc3NhZ2VzKCkKKworICAgICMgV2UgcnVuIGluIGEgbG9vcCBiZWNhdXNlIHNvbWUgb2YgdGhlIGV4Y2VwdGlvbnMgdGhyb3duIGhlcmUgbWVhbiB3ZSBqdXN0CisgICAgIyBuZWVkIHRvIHJldHJ5LiBGb3IgZXJyb3JzIHdoZXJlIHdlIHNob3VsZCBiYWNrIG9mZiAodHlwaWNhbGx5IGFueSBnbWFpbAorICAgICMgQVBJIGV4Y2VwdGlvbnMpLCBwcm9jZXNzX2NoYW5nZXMgY2F0Y2hlcyB0aGUgZXJyb3IgYW5kIHJldHVybnMgbm9ybWFsbHkuCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcHJvY2Vzc19jaGFuZ2VzKGdtYWlsX3NlcnZpY2UsIG1zZ19zZXJ2aWNlLCBkcnlfcnVuKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGV4Y2VwdCBodHRwbGliLkJhZFN0YXR1c0xpbmU6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGV4Y2VwdCBodHRwbGliMi5TZXJ2ZXJOb3RGb3VuZEVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgcGFzcworCisKK2RlZiBwcm9jZXNzX2NoYW5nZXMoZ21haWxfc2VydmljZSwgbXNnX3NlcnZpY2UsIGRyeV9ydW4pOgorICAgIHRyeToKKyAgICAgICAgbGFiZWxzID0gZ21haWxfc2VydmljZS51c2VycygpLmxhYmVscygpLmxpc3QodXNlcklkPSdtZScpLmV4ZWN1dGUoKQorICAgICAgICBpZiBub3QgbGFiZWxzWydsYWJlbHMnXToKKyAgICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoJ0NvdWxkIG5vdCByZXRyaWV2ZSBHbWFpbCBsYWJlbHMnKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGxhYmVsX2lkID0gZ21haWwuZ2V0X2dlcnJpdF9sYWJlbChsYWJlbHNbJ2xhYmVscyddKQorICAgICAgICBpZiBub3QgbGFiZWxfaWQ6CisgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCdDb3VsZCBub3QgZmluZCBnZXJyaXQgbGFiZWwnKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgZm9yIG1zZyBpbiBnbWFpbC5nZXRfYWxsX21lc3NhZ2VzKGdtYWlsX3NlcnZpY2UsIGxhYmVsX2lkKToKKyAgICAgICAgICAgIG1zZyA9IG1zZ19zZXJ2aWNlLmdldCh1c2VySWQ9J21lJywgaWQ9bXNnWydpZCddKS5leGVjdXRlKCkKKyAgICAgICAgICAgIGlmIHByb2Nlc3NfbWVzc2FnZShtc2csIGRyeV9ydW4pIGFuZCBub3QgZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICBtc2dfc2VydmljZS50cmFzaCh1c2VySWQ9J21lJywgaWQ9bXNnWydpZCddKS5leGVjdXRlKCkKKyAgICBleGNlcHQgYXBpY2xpZW50LmVycm9ycy5IdHRwRXJyb3IgYXMgZXg6CisgICAgICAgIGxvZ2dpbmcuZXJyb3IoJ0FQSSBDbGllbnQgSFRUUCBlcnJvcjogJXMnLCBleCkKZGlmZiAtLWdpdCBhL3Rvb2xzL2Jpb25pY2JiL3Rlc3RfdGFza3MucHkgYi90b29scy9iaW9uaWNiYi90ZXN0X3Rhc2tzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzNmNiYWQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9iaW9uaWNiYi90ZXN0X3Rhc2tzLnB5CkBAIC0wLDAgKzEsOTQgQEAKK2ltcG9ydCBtb2NrCitpbXBvcnQgdW5pdHRlc3QKKworaW1wb3J0IHByZXN1Ym1pdAorCisKK2NsYXNzIFRlc3RTaG91bGRTa2lwQnVpbGQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuY29udGFpbnNfYmlvbmljYmInKQorICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuY29udGFpbnNfY2xlYW5zcGVjJykKKyAgICBAbW9jay5wYXRjaCgnZ2Vycml0LmdldF9jb21taXQnKQorICAgIGRlZiB0ZXN0X2FjY2VwdHNfZ29vZ2xlcnMoc2VsZiwgbW9ja19jb21taXQsICpvdGhlcl9jaGVja3MpOgorICAgICAgICBtb2NrX2NvbW1pdC5yZXR1cm5fdmFsdWUgPSB7CisgICAgICAgICAgICAnY29tbWl0dGVyJzogeydlbWFpbCc6ICdnb29nbGVyQGdvb2dsZS5jb20nfQorICAgICAgICB9CisKKyAgICAgICAgZm9yIG90aGVyX2NoZWNrIGluIG90aGVyX2NoZWNrczoKKyAgICAgICAgICAgIG90aGVyX2NoZWNrLnJldHVybl92YWx1ZSA9IEZhbHNlCisKKyAgICAgICAgZm9yIG1lc3NhZ2VfdHlwZSBpbiAoJ25ld2NoYW5nZScsICduZXdwYXRjaHNldCcsICdjb21tZW50Jyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHByZXN1Ym1pdC5zaG91bGRfc2tpcF9idWlsZCh7CisgICAgICAgICAgICAgICAgJ01lc3NhZ2VUeXBlJzogbWVzc2FnZV90eXBlLAorICAgICAgICAgICAgICAgICdDaGFuZ2UtSWQnOiAnJywKKyAgICAgICAgICAgICAgICAnUGF0Y2hTZXQnOiAnJywKKyAgICAgICAgICAgIH0pKQorCisgICAgQG1vY2sucGF0Y2goJ3ByZXN1Ym1pdC5jb250YWluc19iaW9uaWNiYicpCisgICAgQG1vY2sucGF0Y2goJ3ByZXN1Ym1pdC5jb250YWluc19jbGVhbnNwZWMnKQorICAgIEBtb2NrLnBhdGNoKCdnZXJyaXQuZ2V0X2NvbW1pdCcpCisgICAgZGVmIHRlc3RfcmVqZWN0c19nb29nbGlzaF9kb21haW5zKHNlbGYsIG1vY2tfY29tbWl0LCAqb3RoZXJfY2hlY2tzKToKKyAgICAgICAgbW9ja19jb21taXQucmV0dXJuX3ZhbHVlID0geworICAgICAgICAgICAgJ2NvbW1pdHRlcic6IHsnZW1haWwnOiAnZmFrZWdvb2dsZXJAZ29vZ2xlLmNvbS5mYWtlLmNvbSd9CisgICAgICAgIH0KKworICAgICAgICBmb3Igb3RoZXJfY2hlY2sgaW4gb3RoZXJfY2hlY2tzOgorICAgICAgICAgICAgb3RoZXJfY2hlY2sucmV0dXJuX3ZhbHVlID0gRmFsc2UKKworICAgICAgICBmb3IgbWVzc2FnZV90eXBlIGluICgnbmV3Y2hhbmdlJywgJ25ld3BhdGNoc2V0JywgJ2NvbW1lbnQnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwcmVzdWJtaXQuc2hvdWxkX3NraXBfYnVpbGQoeworICAgICAgICAgICAgICAgICdNZXNzYWdlVHlwZSc6IG1lc3NhZ2VfdHlwZSwKKyAgICAgICAgICAgICAgICAnQ2hhbmdlLUlkJzogJycsCisgICAgICAgICAgICAgICAgJ1BhdGNoU2V0JzogJycsCisgICAgICAgICAgICB9KSkKKworICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuY29udGFpbnNfYmlvbmljYmInKQorICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuY29udGFpbnNfY2xlYW5zcGVjJykKKyAgICBAbW9jay5wYXRjaCgnZ2Vycml0LmdldF9jb21taXQnKQorICAgIGRlZiB0ZXN0X3JlamVjdHNfbm9uX2dvb2dsZXJzKHNlbGYsIG1vY2tfY29tbWl0LCAqb3RoZXJfY2hlY2tzKToKKyAgICAgICAgbW9ja19jb21taXQucmV0dXJuX3ZhbHVlID0geworICAgICAgICAgICAgJ2NvbW1pdHRlcic6IHsnZW1haWwnOiAnam9obmRvZUBleGFtcGxlLmNvbSd9CisgICAgICAgIH0KKworICAgICAgICBmb3Igb3RoZXJfY2hlY2sgaW4gb3RoZXJfY2hlY2tzOgorICAgICAgICAgICAgb3RoZXJfY2hlY2sucmV0dXJuX3ZhbHVlID0gRmFsc2UKKworICAgICAgICBmb3IgbWVzc2FnZV90eXBlIGluICgnbmV3Y2hhbmdlJywgJ25ld3BhdGNoc2V0JywgJ2NvbW1lbnQnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwcmVzdWJtaXQuc2hvdWxkX3NraXBfYnVpbGQoeworICAgICAgICAgICAgICAgICdNZXNzYWdlVHlwZSc6IG1lc3NhZ2VfdHlwZSwKKyAgICAgICAgICAgICAgICAnQ2hhbmdlLUlkJzogJycsCisgICAgICAgICAgICAgICAgJ1BhdGNoU2V0JzogJycsCisgICAgICAgICAgICB9KSkKKworICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuY29udGFpbnNfYmlvbmljYmInKQorICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuaXNfdW50cnVzdGVkX2NvbW1pdHRlcicpCisgICAgQG1vY2sucGF0Y2goJ2dlcnJpdC5nZXRfZmlsZXNfZm9yX3JldmlzaW9uJykKKyAgICBkZWYgdGVzdF9za2lwc19jbGVhbnNwZWNzKHNlbGYsIG1vY2tfZmlsZXMsICpvdGhlcl9jaGVja3MpOgorICAgICAgICBtb2NrX2ZpbGVzLnJldHVybl92YWx1ZSA9IFsnZm9vL0NsZWFuU3BlYy5tayddCisgICAgICAgIGZvciBvdGhlcl9jaGVjayBpbiBvdGhlcl9jaGVja3M6CisgICAgICAgICAgICBvdGhlcl9jaGVjay5yZXR1cm5fdmFsdWUgPSBGYWxzZQorCisgICAgICAgIGZvciBtZXNzYWdlX3R5cGUgaW4gKCduZXdjaGFuZ2UnLCAnbmV3cGF0Y2hzZXQnLCAnY29tbWVudCcpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByZXN1Ym1pdC5zaG91bGRfc2tpcF9idWlsZCh7CisgICAgICAgICAgICAgICAgJ01lc3NhZ2VUeXBlJzogbWVzc2FnZV90eXBlLAorICAgICAgICAgICAgICAgICdDaGFuZ2UtSWQnOiAnJywKKyAgICAgICAgICAgICAgICAnUGF0Y2hTZXQnOiAnJywKKyAgICAgICAgICAgIH0pKQorCisgICAgQG1vY2sucGF0Y2goJ3ByZXN1Ym1pdC5jb250YWluc19jbGVhbnNwZWMnKQorICAgIEBtb2NrLnBhdGNoKCdwcmVzdWJtaXQuaXNfdW50cnVzdGVkX2NvbW1pdHRlcicpCisgICAgQG1vY2sucGF0Y2goJ2dlcnJpdC5nZXRfZmlsZXNfZm9yX3JldmlzaW9uJykKKyAgICBkZWYgdGVzdF9za2lwc19iaW9uaWNiYihzZWxmLCBtb2NrX2ZpbGVzLCAqb3RoZXJfY2hlY2tzKToKKyAgICAgICAgbW9ja19maWxlcy5yZXR1cm5fdmFsdWUgPSBbJ3Rvb2xzL2Jpb25pY2JiL2NvbW1vbi5zaCddCisgICAgICAgIGZvciBvdGhlcl9jaGVjayBpbiBvdGhlcl9jaGVja3M6CisgICAgICAgICAgICBvdGhlcl9jaGVjay5yZXR1cm5fdmFsdWUgPSBGYWxzZQorCisgICAgICAgIGZvciBtZXNzYWdlX3R5cGUgaW4gKCduZXdjaGFuZ2UnLCAnbmV3cGF0Y2hzZXQnLCAnY29tbWVudCcpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByZXN1Ym1pdC5zaG91bGRfc2tpcF9idWlsZCh7CisgICAgICAgICAgICAgICAgJ01lc3NhZ2VUeXBlJzogbWVzc2FnZV90eXBlLAorICAgICAgICAgICAgICAgICdDaGFuZ2UtSWQnOiAnJywKKyAgICAgICAgICAgICAgICAnUGF0Y2hTZXQnOiAnJywKKyAgICAgICAgICAgIH0pKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS90b29scy9yZWxvY2F0aW9uX3BhY2tlci9BbmRyb2lkLm1rIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvQW5kcm9pZC5tawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWRiYTcxCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvQW5kcm9pZC5tawpAQCAtMCwwICsxLDk3IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxNSBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIworCitjb21tb25fY3BwZmxhZ3MgOj0gLVdhbGwgLVdleHRyYSAtV3VudXNlZCAtV2Vycm9yIC1Xb2xkLXN0eWxlLWNhc3QKKworTE9DQUxfUEFUSCA6PSAkKGNhbGwgbXktZGlyKQorCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKKworTE9DQUxfQ1BQX0VYVEVOU0lPTiA6PSAuY2MKKworTE9DQUxfU1JDX0ZJTEVTIDo9IFwKKyAgc3JjL2RlYnVnLmNjIFwKKyAgc3JjL2RlbHRhX2VuY29kZXIuY2MgXAorICBzcmMvZWxmX2ZpbGUuY2MgXAorICBzcmMvcGFja2VyLmNjIFwKKyAgc3JjL3NsZWIxMjguY2MgXAorCitMT0NBTF9TVEFUSUNfTElCUkFSSUVTIDo9IGxpYmVsZgorTE9DQUxfQ19JTkNMVURFUyA6PSBleHRlcm5hbC9lbGZ1dGlscy9zcmMvbGliZWxmCitMT0NBTF9NT0RVTEUgOj0gbGliX3JlbG9jYXRpb25fcGFja2VyCisKK0xPQ0FMX0NQUEZMQUdTIDo9ICQoY29tbW9uX2NwcGZsYWdzKQorCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyA6PSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQubWsKKworaW5jbHVkZSAkKEJVSUxEX0hPU1RfU1RBVElDX0xJQlJBUlkpCisKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorCitMT0NBTF9DUFBfRVhURU5TSU9OIDo9IC5jYworCitMT0NBTF9TUkNfRklMRVMgOj0gc3JjL21haW4uY2MKK0xPQ0FMX1NUQVRJQ19MSUJSQVJJRVMgOj0gbGliX3JlbG9jYXRpb25fcGFja2VyIGxpYmVsZgorCisjIFN0YXRpY2FsbHkgbGlua2luZyBsaWJjKysgdG8gbWFrZSBpdCB3b3JrIGZyb20gcHJlYnVpbHRzCitMT0NBTF9DWFhfU1RMIDo9IGxpYmMrK19zdGF0aWMKK0xPQ0FMX0NfSU5DTFVERVMgOj0gZXh0ZXJuYWwvZWxmdXRpbHMvc3JjL2xpYmVsZiBsaWJuYXRpdmVoZWxwZXIvaW5jbHVkZQorCitMT0NBTF9NT0RVTEUgOj0gcmVsb2NhdGlvbl9wYWNrZXIKKworTE9DQUxfQ1BQRkxBR1MgOj0gJChjb21tb25fY3BwZmxhZ3MpCisKK0xPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5taworCitpbmNsdWRlICQoQlVJTERfSE9TVF9FWEVDVVRBQkxFKQorCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKKworTE9DQUxfQ1BQX0VYVEVOU0lPTiA6PSAuY2MKKworTE9DQUxfU1JDX0ZJTEVTIDo9IFwKKyAgc3JjL2RlYnVnX3VuaXR0ZXN0LmNjIFwKKyAgc3JjL2RlbHRhX2VuY29kZXJfdW5pdHRlc3QuY2MgXAorICBzcmMvZWxmX2ZpbGVfdW5pdHRlc3QuY2MgXAorICBzcmMvc2xlYjEyOF91bml0dGVzdC5jYyBcCisgIHNyYy9wYWNrZXJfdW5pdHRlc3QuY2MgXAorCitMT0NBTF9TVEFUSUNfTElCUkFSSUVTIDo9IGxpYl9yZWxvY2F0aW9uX3BhY2tlciBsaWJlbGYKK0xPQ0FMX0NfSU5DTFVERVMgOj0gZXh0ZXJuYWwvZWxmdXRpbHMvc3JjL2xpYmVsZgorCitMT0NBTF9DUFBGTEFHUyA6PSAkKGNvbW1vbl9jcHBmbGFncykKKworTE9DQUxfTU9EVUxFIDo9IHJlbG9jYXRpb25fcGFja2VyX3VuaXRfdGVzdHMKK0xPQ0FMX0FERElUSU9OQUxfREVQRU5ERU5DSUVTIDo9ICQoTE9DQUxfUEFUSCkvQW5kcm9pZC5taworCitpbmNsdWRlICQoQlVJTERfSE9TVF9OQVRJVkVfVEVTVCkKKworIyAkKDEpIGxpYnJhcnkgbmFtZQorZGVmaW5lIGNvcHktdGVzdC1saWJyYXJ5CitpbmNsdWRlICQoQ0xFQVJfVkFSUykKK0xPQ0FMX0lTX0hPU1RfTU9EVUxFIDo9IHRydWUKK0xPQ0FMX01PRFVMRSA6PSAkKDEpCitMT0NBTF9NT0RVTEVfQ0xBU1MgOj0gU0hBUkVEX0xJQlJBUklFUworTE9DQUxfTU9EVUxFX1BBVEggOj0gJChIT1NUX09VVF9FWEVDVVRBQkxFUykKK0xPQ0FMX1NUUklQX01PRFVMRSA6PSBmYWxzZQorTE9DQUxfU1JDX0ZJTEVTIDo9IHRlc3RfZGF0YS8kKDEpCitpbmNsdWRlICQoQlVJTERfUFJFQlVJTFQpCitlbmRlZgorCiskKGV2YWwgJChjYWxsIGNvcHktdGVzdC1saWJyYXJ5LGVsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm0zMi5zbykpCiskKGV2YWwgJChjYWxsIGNvcHktdGVzdC1saWJyYXJ5LGVsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm0zMl9wYWNrZWQuc28pKQorJChldmFsICQoY2FsbCBjb3B5LXRlc3QtbGlicmFyeSxlbGZfZmlsZV91bml0dGVzdF9yZWxvY3NfYXJtNjQuc28pKQorJChldmFsICQoY2FsbCBjb3B5LXRlc3QtbGlicmFyeSxlbGZfZmlsZV91bml0dGVzdF9yZWxvY3NfYXJtNjRfcGFja2VkLnNvKSkKZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL0xJQ0VOU0UgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3MmJiMmUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9MSUNFTlNFCkBAIC0wLDAgKzEsMjcgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorLy8gbWV0OgorLy8KKy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorLy8gZGlzdHJpYnV0aW9uLgorLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisvLyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisvLyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisvLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorLy8gT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisvLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisvLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKy8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlYnVnLmNjIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlYnVnLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ZDdhYjAKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVidWcuY2MKQEAgLTAsMCArMSw1NSBAQAorLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisjaW5jbHVkZSAiZGVidWcuaCIKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGlvc3RyZWFtPgorI2luY2x1ZGUgPHN0cmluZz4KKworbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyIHsKKworLy8gQ29uc3RydWN0IGEgbmV3IG1lc3NhZ2UgbG9nZ2VyLiAgUHJpbnRzIGlmIGxldmVsIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0bworLy8gdGhlIGxldmVsIHNldCB3aXRoIFNldFZlcmJvc2UoKSBhbmQgcHJlZGljYXRlIGlzIHRydWUuCitMb2dnZXI6OkxvZ2dlcihTZXZlcml0eSBzZXZlcml0eSwgaW50IGxldmVsLCBib29sIHByZWRpY2F0ZSkgeworICBzZXZlcml0eV8gPSBzZXZlcml0eTsKKyAgbGV2ZWxfID0gbGV2ZWw7CisgIHByZWRpY2F0ZV8gPSBwcmVkaWNhdGU7Cit9CisKKy8vIE9uIGRlc3RydWN0aW9uLCBmbHVzaCBhbmQgcHJpbnQgdGhlIHN0cmluZ3MgYWNjdW11bGF0ZWQuICBBYm9ydCBpZiBGQVRBTC4KK0xvZ2dlcjo6fkxvZ2dlcigpIHsKKyAgaWYgKHByZWRpY2F0ZV8pIHsKKyAgICBpZiAobGV2ZWxfIDw9IG1heF9sZXZlbF8pIHsKKyAgICAgIHN0ZDo6b3N0cmVhbSogbG9nID0gc2V2ZXJpdHlfID09IElORk8gPyBpbmZvX3N0cmVhbV8gOiBlcnJvcl9zdHJlYW1fOworICAgICAgc3RkOjpzdHJpbmcgdGFnOworICAgICAgc3dpdGNoIChzZXZlcml0eV8pIHsKKyAgICAgICAgY2FzZSBJTkZPOiB0YWcgPSAiSU5GTyI7IGJyZWFrOworICAgICAgICBjYXNlIFdBUk5JTkc6IHRhZyA9ICJXQVJOSU5HIjsgYnJlYWs7CisgICAgICAgIGNhc2UgRVJST1I6IHRhZyA9ICJFUlJPUiI7IGJyZWFrOworICAgICAgICBjYXNlIEZBVEFMOiB0YWcgPSAiRkFUQUwiOyBicmVhazsKKyAgICAgIH0KKyAgICAgIHN0cmVhbV8uZmx1c2goKTsKKyAgICAgICpsb2cgPDwgdGFnIDw8ICI6ICIgPDwgc3RyZWFtXy5zdHIoKSA8PCBzdGQ6OmVuZGw7CisgICAgfQorICAgIGlmIChzZXZlcml0eV8gPT0gRkFUQUwpCisgICAgICBhYm9ydCgpOworICB9Cit9CisKKy8vIFJlc2V0IHRvIGluaXRpYWwgc3RhdGUuCit2b2lkIExvZ2dlcjo6UmVzZXQoKSB7CisgIG1heF9sZXZlbF8gPSAtMTsKKyAgaW5mb19zdHJlYW1fID0gJnN0ZDo6Y291dDsKKyAgZXJyb3Jfc3RyZWFtXyA9ICZzdGQ6OmNlcnI7Cit9CisKKy8vIFZlcmJvc2l0eS4gIE5vdCB0aHJlYWQtc2FmZS4KK2ludCBMb2dnZXI6Om1heF9sZXZlbF8gPSAtMTsKKworLy8gTG9nZ2luZyBzdHJlYW1zLiAgTm90IHRocmVhZC1zYWZlLgorc3RkOjpvc3RyZWFtKiBMb2dnZXI6OmluZm9fc3RyZWFtXyA9ICZzdGQ6OmNvdXQ7CitzdGQ6Om9zdHJlYW0qIExvZ2dlcjo6ZXJyb3Jfc3RyZWFtXyA9ICZzdGQ6OmNlcnI7CisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlYnVnLmggYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVidWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGJlNmMxCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlYnVnLmgKQEAgLTAsMCArMSwxMTUgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLy8gTG9nZ2luZyBhbmQgY2hlY2tzLiAgQXZvaWRzIGEgZGVwZW5kZW5jeSBvbiBiYXNlLgorLy8KKy8vIExPRyh0YWcpIHByaW50cyBtZXNzYWdlcy4gIFRhZ3MgYXJlIElORk8sIFdBUk5JTkcsIEVSUk9SIGFuZCBGQVRBTC4KKy8vIElORk8gcHJpbnRzIHRvIHN0ZG91dCwgdGhlIG90aGVycyB0byBzdGRlcnIuICBGQVRBTCBhYm9ydHMgYWZ0ZXIgcHJpbnRpbmcuCisvLworLy8gTE9HX0lGKHRhZywgcHJlZGljYXRlKSBsb2dzIGlmIHByZWRpY2F0ZSBldmFsdWF0ZXMgdG8gdHJ1ZSwgZWxzZSBzaWxlbnQuCisvLworLy8gVkxPRyhsZXZlbCkgbG9ncyBJTkZPIG1lc3NhZ2VzIHdoZXJlIGxldmVsIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUKKy8vIHZlcmJvc2l0eSBsZXZlbCBzZXQgd2l0aCBTZXRWZXJib3NlKCkuCisvLworLy8gVkxPR19JRihsZXZlbCwgcHJlZGljYXRlKSBsb2dzIElORk8gaWYgcHJlZGljYXRlIGV2YWx1YXRlcyB0byB0cnVlLAorLy8gZWxzZSBzaWxlbnQuCisvLworLy8gQ0hFQ0socHJlZGljYXRlKSBsb2dzIGEgRkFUQUwgZXJyb3IgaWYgcHJlZGljYXRlIGlzIGZhbHNlLgorLy8gTk9UUkVBQ0hFRCgpIGFsd2F5cyBhYm9ydHMuCisvLyBMb2cgc3RyZWFtcyBjYW4gYmUgY2hhbmdlZCB3aXRoIFNldFN0cmVhbXMoKS4gIExvZ2dpbmcgaXMgbm90IHRocmVhZC1zYWZlLgorLy8KKworI2lmbmRlZiBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfREVCVUdfSF8KKyNkZWZpbmUgVE9PTFNfUkVMT0NBVElPTl9QQUNLRVJfU1JDX0RFQlVHX0hfCisKKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxvc3RyZWFtPgorI2luY2x1ZGUgPHNzdHJlYW0+CisKK25hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlciB7CisKK2NsYXNzIExvZ2dlciB7CisgcHVibGljOgorICBlbnVtIFNldmVyaXR5IHtJTkZPID0gMCwgV0FSTklORywgRVJST1IsIEZBVEFMfTsKKworICAvLyBDb25zdHJ1Y3QgYSBuZXcgbWVzc2FnZSBsb2dnZXIuICBQcmludHMgaWYgbGV2ZWwgaXMgbGVzcyB0aGFuIG9yCisgIC8vIGVxdWFsIHRvIHRoZSBsZXZlbCBzZXQgd2l0aCBTZXRWZXJib3NlKCkgYW5kIHByZWRpY2F0ZSBpcyB0cnVlLgorICAvLyB8c2V2ZXJpdHl8IGlzIGFuIGVudW1lcmF0ZWQgc2V2ZXJpdHkuCisgIC8vIHxsZXZlbHwgaXMgdGhlIHZlcmJvc2l0eSBsZXZlbC4KKyAgLy8gfHByZWRpY2F0ZXwgY29udHJvbHMgaWYgdGhlIGxvZ2dlciBwcmludHMgb3IgaXMgc2lsZW50LgorICBMb2dnZXIoU2V2ZXJpdHkgc2V2ZXJpdHksIGludCBsZXZlbCwgYm9vbCBwcmVkaWNhdGUpOworCisgIC8vIE9uIGRlc3RydWN0aW9uLCBmbHVzaCBhbmQgcHJpbnQgdGhlIHN0cmluZ3MgYWNjdW11bGF0ZWQgaW4gc3RyZWFtXy4KKyAgfkxvZ2dlcigpOworCisgIC8vIFJldHVybiB0aGUgc3RyZWFtIGZvciB0aGlzIGxvZ2dlci4KKyAgc3RkOjpvc3RyZWFtJiBHZXRTdHJlYW0oKSB7IHJldHVybiBzdHJlYW1fOyB9CisKKyAgLy8gU2V0IHZlcmJvc2l0eSBsZXZlbC4gIE1lc3NhZ2VzIHdpdGggYSBsZXZlbCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8KKyAgLy8gdGhpcyBsZXZlbCBhcmUgcHJpbnRlZCwgb3RoZXJzIGFyZSBkaXNjYXJkZWQuICBTdGF0aWMsIG5vdCB0aHJlYWQtc2FmZS4KKyAgc3RhdGljIHZvaWQgU2V0VmVyYm9zZShpbnQgbGV2ZWwpIHsgbWF4X2xldmVsXyA9IGxldmVsOyB9CisKKyAgLy8gU2V0IGluZm8gYW5kIGVycm9yIGxvZ2dpbmcgc3RyZWFtcy4gIFN0YXRpYywgbm90IHRocmVhZC1zYWZlLgorICBzdGF0aWMgdm9pZCBTZXRTdHJlYW1zKHN0ZDo6b3N0cmVhbSogaW5mb19zdHJlYW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpvc3RyZWFtKiBlcnJvcl9zdHJlYW0pIHsKKyAgICBpbmZvX3N0cmVhbV8gPSBpbmZvX3N0cmVhbTsKKyAgICBlcnJvcl9zdHJlYW1fID0gZXJyb3Jfc3RyZWFtOworICB9CisKKyAgLy8gUmVzZXQgdG8gaW5pdGlhbCBzdGF0ZS4KKyAgc3RhdGljIHZvaWQgUmVzZXQoKTsKKworIHByaXZhdGU6CisgIC8vIE1lc3NhZ2Ugc2V2ZXJpdHksIHZlcmJvc2l0eSBsZXZlbCwgYW5kIHByZWRpY2F0ZS4KKyAgU2V2ZXJpdHkgc2V2ZXJpdHlfOworICBpbnQgbGV2ZWxfOworICBib29sIHByZWRpY2F0ZV87CisKKyAgLy8gU3RyaW5nIHN0cmVhbSwgYWNjdW11bGF0ZXMgbWVzc2FnZSB0ZXh0LgorICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3RyZWFtXzsKKworICAvLyBWZXJib3NpdHkgZm9yIElORk8gbWVzc2FnZXMuICBOb3QgdGhyZWFkLXNhZmUuCisgIHN0YXRpYyBpbnQgbWF4X2xldmVsXzsKKworICAvLyBMb2dnaW5nIHN0cmVhbXMuICBOb3QgdGhyZWFkLXNhZmUuCisgIHN0YXRpYyBzdGQ6Om9zdHJlYW0qIGluZm9fc3RyZWFtXzsKKyAgc3RhdGljIHN0ZDo6b3N0cmVhbSogZXJyb3Jfc3RyZWFtXzsKK307CisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgorCisvLyBNYWtlIGxvZ2dpbmcgc2V2ZXJpdGllcyB2aXNpYmxlIGdsb2JhbGx5LgordHlwZWRlZiByZWxvY2F0aW9uX3BhY2tlcjo6TG9nZ2VyOjpTZXZlcml0eSBMb2dTZXZlcml0eTsKK3VzaW5nIExvZ1NldmVyaXR5OjpJTkZPOwordXNpbmcgTG9nU2V2ZXJpdHk6OldBUk5JTkc7Cit1c2luZyBMb2dTZXZlcml0eTo6RVJST1I7Cit1c2luZyBMb2dTZXZlcml0eTo6RkFUQUw7CisKKy8vIExPRyhzZXZlcml0eSkgcHJpbnRzIGEgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBzZXZlcml0eSwgYW5kIGFib3J0cyBpZgorLy8gc2V2ZXJpdHkgaXMgRkFUQUwuICBMT0dfSUYoc2V2ZXJpdHksIHByZWRpY2F0ZSkgZG9lcyB0aGUgc2FtZSBidXQgb25seSBpZgorLy8gcHJlZGljYXRlIGlzIHRydWUuICBJTlRfTUlOIGlzIGd1YXJhbnRlZWQgdG8gYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvCisvLyBhbnkgdmVyYm9zaXR5IGxldmVsLgorI2RlZmluZSBMT0coc2V2ZXJpdHkpIFwKKyAgICAocmVsb2NhdGlvbl9wYWNrZXI6OkxvZ2dlcihzZXZlcml0eSwgSU5UX01JTiwgdHJ1ZSkuR2V0U3RyZWFtKCkpCisjZGVmaW5lIExPR19JRihzZXZlcml0eSwgcHJlZGljYXRlKSBcCisgICAgKHJlbG9jYXRpb25fcGFja2VyOjpMb2dnZXIoc2V2ZXJpdHksIElOVF9NSU4sIChwcmVkaWNhdGUpKS5HZXRTdHJlYW0oKSkKKworLy8gVkxPRyhsZXZlbCkgcHJpbnRzIGl0cyBtZXNzYWdlIGFzIElORk8gaWYgbGV2ZWwgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvCisvLyB0aGUgY3VycmVudCB2ZXJib3NpdHkgbGV2ZWwuCisjZGVmaW5lIFZMT0cobGV2ZWwpIFwKKyAgICAocmVsb2NhdGlvbl9wYWNrZXI6OkxvZ2dlcihJTkZPLCAobGV2ZWwpLCB0cnVlKS5HZXRTdHJlYW0oKSkKKyNkZWZpbmUgVkxPR19JRihsZXZlbCwgcHJlZGljYXRlKSBcCisgICAgKHJlbG9jYXRpb25fcGFja2VyOjpMb2dnZXIoSU5GTywgKGxldmVsKSwgKHByZWRpY2F0ZSkpLkdldFN0cmVhbSgpKQorCisvLyBDSEVDSyhwcmVkaWNhdGUpIGZhaWxzIHdpdGggYSBGQVRBTCBsb2cgbWVzc2FnZSBpZiBwcmVkaWNhdGUgaXMgZmFsc2UuCisjZGVmaW5lIENIRUNLKHByZWRpY2F0ZSkgKExPR19JRihGQVRBTCwgIShwcmVkaWNhdGUpKSBcCisgICAgPDwgX19GSUxFX18gPDwgIjoiIDw8IF9fTElORV9fIDw8ICI6ICIgXAorICAgIDw8IF9fRlVOQ1RJT05fXyA8PCAiOiBDSEVDSyAnIiAjcHJlZGljYXRlICInIGZhaWxlZCIpCisKKy8vIE5PVFJFQUNIRUQoKSBhbHdheXMgZmFpbHMgd2l0aCBhIEZBVEFMIGxvZyBtZXNzYWdlLgorI2RlZmluZSBOT1RSRUFDSEVEKF8pIChMT0coRkFUQUwpIFwKKyAgICA8PCBfX0ZJTEVfXyA8PCAiOiIgPDwgX19MSU5FX18gPDwgIjogIiBcCisgICAgPDwgX19GVU5DVElPTl9fIDw8ICI6IE5PVFJFQUNIRUQoKSBoaXQiKQorCisjZW5kaWYgIC8vIFRPT0xTX1JFTE9DQVRJT05fUEFDS0VSX1NSQ19ERUJVR19IXwpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlYnVnX3VuaXR0ZXN0LmNjIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlYnVnX3VuaXR0ZXN0LmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzMWUyYWUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVidWdfdW5pdHRlc3QuY2MKQEAgLTAsMCArMSwxMjIgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgImRlYnVnLmgiCisKKyNpbmNsdWRlIDxzc3RyZWFtPgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LmgiCisKK25hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlciB7CisKK1RFU1QoRGVidWcsIExvZykgeworICBMb2dnZXI6OlJlc2V0KCk7CisgIHN0ZDo6b3N0cmluZ3N0cmVhbSBpbmZvOworICBzdGQ6Om9zdHJpbmdzdHJlYW0gZXJyb3I7CisgIExvZ2dlcjo6U2V0U3RyZWFtcygmaW5mbywgJmVycm9yKTsKKworICBMT0coSU5GTykgPDwgIklORk8gbG9nIG1lc3NhZ2UiOworICBMT0coV0FSTklORykgPDwgIldBUk5JTkcgbG9nIG1lc3NhZ2UiOworICBMT0coRVJST1IpIDw8ICJFUlJPUiBsb2cgbWVzc2FnZSI7CisKKyAgRVhQRUNUX0VRKCJJTkZPOiBJTkZPIGxvZyBtZXNzYWdlXG4iLCBpbmZvLnN0cigpKTsKKyAgRVhQRUNUX0VRKCJXQVJOSU5HOiBXQVJOSU5HIGxvZyBtZXNzYWdlXG4iCisgICAgICAgICAgICAiRVJST1I6IEVSUk9SIGxvZyBtZXNzYWdlXG4iLCBlcnJvci5zdHIoKSk7CisgIExvZ2dlcjo6UmVzZXQoKTsKK30KKworVEVTVChEZWJ1ZywgTG9nSWYpIHsKKyAgTG9nZ2VyOjpSZXNldCgpOworICBzdGQ6Om9zdHJpbmdzdHJlYW0gaW5mbzsKKyAgc3RkOjpvc3RyaW5nc3RyZWFtIGVycm9yOworICBMb2dnZXI6OlNldFN0cmVhbXMoJmluZm8sICZlcnJvcik7CisKKyAgTE9HX0lGKElORk8sIHRydWUpIDw8ICJJTkZPIGxvZyBtZXNzYWdlIjsKKyAgTE9HX0lGKElORk8sIGZhbHNlKSA8PCAiSU5GTyBsb2cgbWVzc2FnZSwgU0hPVUxEIE5PVCBQUklOVCI7CisgIExPR19JRihXQVJOSU5HLCB0cnVlKSA8PCAiV0FSTklORyBsb2cgbWVzc2FnZSI7CisgIExPR19JRihXQVJOSU5HLCBmYWxzZSkgPDwgIldBUk5JTkcgbG9nIG1lc3NhZ2UsIFNIT1VMRCBOT1QgUFJJTlQiOworICBMT0dfSUYoRVJST1IsIHRydWUpIDw8ICJFUlJPUiBsb2cgbWVzc2FnZSI7CisgIExPR19JRihFUlJPUiwgZmFsc2UpIDw8ICJFUlJPUiBsb2cgbWVzc2FnZSwgU0hPVUxEIE5PVCBQUklOVCI7CisgIExPR19JRihGQVRBTCwgZmFsc2UpIDw8ICJGQVRBTCBsb2cgbWVzc2FnZSwgU0hPVUxEIE5PVCBQUklOVCI7CisKKyAgRVhQRUNUX0VRKCJJTkZPOiBJTkZPIGxvZyBtZXNzYWdlXG4iLCBpbmZvLnN0cigpKTsKKyAgRVhQRUNUX0VRKCJXQVJOSU5HOiBXQVJOSU5HIGxvZyBtZXNzYWdlXG4iCisgICAgICAgICAgICAiRVJST1I6IEVSUk9SIGxvZyBtZXNzYWdlXG4iLCBlcnJvci5zdHIoKSk7CisgIExvZ2dlcjo6UmVzZXQoKTsKK30KKworVEVTVChEZWJ1ZywgVmxvZykgeworICBMb2dnZXI6OlJlc2V0KCk7CisgIHN0ZDo6b3N0cmluZ3N0cmVhbSBpbmZvOworICBzdGQ6Om9zdHJpbmdzdHJlYW0gZXJyb3I7CisgIExvZ2dlcjo6U2V0U3RyZWFtcygmaW5mbywgJmVycm9yKTsKKworICBWTE9HKDApIDw8ICJWTE9HIDAgSU5GTyBsb2cgbWVzc2FnZSwgU0hPVUxEIE5PVCBQUklOVCI7CisgIFZMT0coMSkgPDwgIlZMT0cgMSBJTkZPIGxvZyBtZXNzYWdlLCBTSE9VTEQgTk9UIFBSSU5UIjsKKyAgVkxPRygyKSA8PCAiVkxPRyAyIElORk8gbG9nIG1lc3NhZ2UsIFNIT1VMRCBOT1QgUFJJTlQiOworCisgIEVYUEVDVF9FUSgiIiwgaW5mby5zdHIoKSk7CisgIEVYUEVDVF9FUSgiIiwgZXJyb3Iuc3RyKCkpOworCisgIExvZ2dlcjo6U2V0VmVyYm9zZSgxKTsKKworICBWTE9HKDApIDw8ICJWTE9HIDAgSU5GTyBsb2cgbWVzc2FnZSI7CisgIFZMT0coMSkgPDwgIlZMT0cgMSBJTkZPIGxvZyBtZXNzYWdlIjsKKyAgVkxPRygyKSA8PCAiVkxPRyAyIElORk8gbG9nIG1lc3NhZ2UsIFNIT1VMRCBOT1QgUFJJTlQiOworCisgIEVYUEVDVF9FUSgiSU5GTzogVkxPRyAwIElORk8gbG9nIG1lc3NhZ2VcbiIKKyAgICAgICAgICAgICJJTkZPOiBWTE9HIDEgSU5GTyBsb2cgbWVzc2FnZVxuIiwgaW5mby5zdHIoKSk7CisgIEVYUEVDVF9FUSgiIiwgZXJyb3Iuc3RyKCkpOworICBMb2dnZXI6OlJlc2V0KCk7Cit9CisKK1RFU1QoRGVidWcsIFZsb2dJZikgeworICBMb2dnZXI6OlJlc2V0KCk7CisgIHN0ZDo6b3N0cmluZ3N0cmVhbSBpbmZvOworICBzdGQ6Om9zdHJpbmdzdHJlYW0gZXJyb3I7CisgIExvZ2dlcjo6U2V0U3RyZWFtcygmaW5mbywgJmVycm9yKTsKKworICBWTE9HX0lGKDAsIHRydWUpIDw8ICJWTE9HIDAgSU5GTyBsb2cgbWVzc2FnZSwgU0hPVUxEIE5PVCBQUklOVCI7CisgIFZMT0dfSUYoMSwgdHJ1ZSkgPDwgIlZMT0cgMSBJTkZPIGxvZyBtZXNzYWdlLCBTSE9VTEQgTk9UIFBSSU5UIjsKKyAgVkxPR19JRigyLCB0cnVlKSA8PCAiVkxPRyAyIElORk8gbG9nIG1lc3NhZ2UsIFNIT1VMRCBOT1QgUFJJTlQiOworCisgIEVYUEVDVF9FUSgiIiwgaW5mby5zdHIoKSk7CisgIEVYUEVDVF9FUSgiIiwgZXJyb3Iuc3RyKCkpOworCisgIExvZ2dlcjo6U2V0VmVyYm9zZSgxKTsKKworICBWTE9HX0lGKDAsIHRydWUpIDw8ICJWTE9HIDAgSU5GTyBsb2cgbWVzc2FnZSI7CisgIFZMT0dfSUYoMCwgZmFsc2UpIDw8ICJWTE9HIDAgSU5GTyBsb2cgbWVzc2FnZSwgU0hPVUxEIE5PVCBQUklOVCI7CisgIFZMT0dfSUYoMSwgdHJ1ZSkgPDwgIlZMT0cgMSBJTkZPIGxvZyBtZXNzYWdlIjsKKyAgVkxPR19JRigxLCBmYWxzZSkgPDwgIlZMT0cgMSBJTkZPIGxvZyBtZXNzYWdlLCBTSE9VTEQgTk9UIFBSSU5UIjsKKyAgVkxPR19JRigyLCB0cnVlKSA8PCAiVkxPRyAyIElORk8gbG9nIG1lc3NhZ2UsIFNIT1VMRCBOT1QgUFJJTlQiOworICBWTE9HX0lGKDIsIGZhbHNlKSA8PCAiVkxPRyAyIElORk8gbG9nIG1lc3NhZ2UsIFNIT1VMRCBOT1QgUFJJTlQiOworCisgIEVYUEVDVF9FUSgiSU5GTzogVkxPRyAwIElORk8gbG9nIG1lc3NhZ2VcbiIKKyAgICAgICAgICAgICJJTkZPOiBWTE9HIDEgSU5GTyBsb2cgbWVzc2FnZVxuIiwgaW5mby5zdHIoKSk7CisgIEVYUEVDVF9FUSgiIiwgZXJyb3Iuc3RyKCkpOworICBMb2dnZXI6OlJlc2V0KCk7Cit9CisKK1RFU1QoRGVidWdEZWF0aFRlc3QsIEZhdGFsKSB7CisgIDo6dGVzdGluZzo6RkxBR1NfZ3Rlc3RfZGVhdGhfdGVzdF9zdHlsZSA9ICJ0aHJlYWRzYWZlIjsKKyAgTG9nZ2VyOjpSZXNldCgpOworICBFWFBFQ1RfREVBVEgoTE9HKEZBVEFMKSA8PCAiRkFUQUwgbG9nIG1lc3NhZ2UiLCAiRkFUQUw6IEZBVEFMIGxvZyBtZXNzYWdlIik7CisgIEVYUEVDVF9ERUFUSCgKKyAgICAgIExPR19JRihGQVRBTCwgdHJ1ZSkgPDwgIkZBVEFMIGxvZyBtZXNzYWdlIiwgIkZBVEFMOiBGQVRBTCBsb2cgbWVzc2FnZSIpOworfQorCitURVNUKERlYnVnRGVhdGhUZXN0LCBDaGVjaykgeworICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CisgIExvZ2dlcjo6UmVzZXQoKTsKKyAgQ0hFQ0soMCA9PSAwKTsKKyAgRVhQRUNUX0RFQVRIKENIRUNLKDAgPT0gMSksICJGQVRBTDogLio6Lio6IC4qOiBDSEVDSyAnMCA9PSAxJyBmYWlsZWQiKTsKK30KKworVEVTVChEZWJ1Z0RlYXRoVGVzdCwgTm90UmVhY2hlZCkgeworICA6OnRlc3Rpbmc6OkZMQUdTX2d0ZXN0X2RlYXRoX3Rlc3Rfc3R5bGUgPSAidGhyZWFkc2FmZSI7CisgIExvZ2dlcjo6UmVzZXQoKTsKKyAgRVhQRUNUX0RFQVRIKE5PVFJFQUNIRUQoKSwgIkZBVEFMOiAuKjouKjogLio6IE5PVFJFQUNIRURcXChcXCkgaGl0Iik7Cit9CisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlbHRhX2VuY29kZXIuY2MgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVsdGFfZW5jb2Rlci5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzQ5ZDdjCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2RlbHRhX2VuY29kZXIuY2MKQEAgLTAsMCArMSwzMDcgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgImRlbHRhX2VuY29kZXIuaCIKKworI2luY2x1ZGUgPHZlY3Rvcj4KKworI2luY2x1ZGUgImRlYnVnLmgiCisKK3N0YXRpYyBjb25zdGV4cHIgdWludDMyX3QgUkVMT0NBVElPTl9HUk9VUEVEX0JZX0lORk9fRkxBRyA9IDE7CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9PRkZTRVRfREVMVEFfRkxBRyA9IDI7CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9BRERFTkRfRkxBRyA9IDQ7CitzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IFJFTE9DQVRJT05fR1JPVVBfSEFTX0FEREVORF9GTEFHID0gODsKKworc3RhdGljIGJvb2wgaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2luZm8odWludDY0X3QgZmxhZ3MpIHsKKyAgcmV0dXJuIChmbGFncyAmIFJFTE9DQVRJT05fR1JPVVBFRF9CWV9JTkZPX0ZMQUcpICE9IDA7Cit9CisKK3N0YXRpYyBib29sIGlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9vZmZzZXRfZGVsdGEodWludDY0X3QgZmxhZ3MpIHsKKyAgcmV0dXJuIChmbGFncyAmIFJFTE9DQVRJT05fR1JPVVBFRF9CWV9PRkZTRVRfREVMVEFfRkxBRykgIT0gMDsKK30KKworc3RhdGljIGJvb2wgaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2FkZGVuZCh1aW50NjRfdCBmbGFncykgeworICByZXR1cm4gKGZsYWdzICYgUkVMT0NBVElPTl9HUk9VUEVEX0JZX0FEREVORF9GTEFHKSAhPSAwOworfQorCitzdGF0aWMgYm9vbCBpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQodWludDY0X3QgZmxhZ3MpIHsKKyAgcmV0dXJuIChmbGFncyAmIFJFTE9DQVRJT05fR1JPVVBfSEFTX0FEREVORF9GTEFHKSAhPSAwOworfQorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCisvLyBFbmNvZGUgcmVsb2NhdGlvbnMgaW50byBhIGRlbHRhIGVuY29kZWQgKHBhY2tlZCkgcmVwcmVzZW50YXRpb24uCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgordm9pZCBSZWxvY2F0aW9uRGVsdGFDb2RlYzxFTEY+OjpFbmNvZGUoY29uc3Qgc3RkOjp2ZWN0b3I8RWxmUmVsYT4mIHJlbG9jYXRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8RWxmQWRkcj4qIHBhY2tlZCkgeworICBpZiAocmVsb2NhdGlvbnMuc2l6ZSgpID09IDApCisgICAgcmV0dXJuOworCisgIC8vIFN0YXJ0IHdpdGggdGhlIHJlbG9jYXRpb24gY291bnQsIHRoZW4gYXBwZW5kIGdyb3VwcworICAvLyBUT0RPKGRpbWl0cnkpOiB3ZSBtaWdodCB3YW50IHRvIG1vdmUgaXQgdG8gRFRfQU5EUk9JRF9SRUxDT1VOVCBzZWN0aW9uCisgIHBhY2tlZC0+cHVzaF9iYWNrKHN0YXRpY19jYXN0PEVsZkFkZHI+KHJlbG9jYXRpb25zLnNpemUoKSkpOworCisgIC8vIGxldHMgd3JpdGUgc3RhcnRpbmcgb2Zmc2V0IChvZmZzZXQgb2YgdGhlIGZpcnN0IHJlbG9jIC0gZmlyc3QgZGVsdGEpCisgIEVsZkFkZHIgc3RhcnRfb2Zmc2V0ID0gcmVsb2NhdGlvbnMuc2l6ZSgpID4gMSA/CisgICAgICByZWxvY2F0aW9uc1swXS5yX29mZnNldCAtIChyZWxvY2F0aW9uc1sxXS5yX29mZnNldCAtIHJlbG9jYXRpb25zWzBdLnJfb2Zmc2V0KSA6CisgICAgICByZWxvY2F0aW9uc1swXS5yX29mZnNldDsKKworICBwYWNrZWQtPnB1c2hfYmFjayhzdGFydF9vZmZzZXQpOworCisgIC8vIHRoaXMgb25lIGlzIHVzZWQgdG8gY2FsY3VsYXRlIGRlbHRhCisgIEVsZkFkZHIgcHJldmlvdXNfYWRkZW5kID0gMDsKKyAgRWxmQWRkciBwcmV2aW91c19vZmZzZXQgPSBzdGFydF9vZmZzZXQ7CisKKyAgZm9yIChzaXplX3QgZ3JvdXBfc3RhcnQgPSAwOyBncm91cF9zdGFydCA8IHJlbG9jYXRpb25zLnNpemUoKTsgKSB7CisgICAgRWxmQWRkciBncm91cF9mbGFncyA9IDA7CisgICAgRWxmQWRkciBncm91cF9vZmZzZXRfZGVsdGEgPSAwOworICAgIEVsZkFkZHIgZ3JvdXBfYWRkZW5kID0gMDsKKyAgICBFbGZBZGRyIGdyb3VwX2luZm8gPSAwOworCisgICAgRWxmQWRkciBncm91cF9zaXplID0gMDsKKworICAgIERldGVjdEdyb3VwKHJlbG9jYXRpb25zLCBncm91cF9zdGFydCwgcHJldmlvdXNfb2Zmc2V0LCAmZ3JvdXBfc2l6ZSwgJmdyb3VwX2ZsYWdzLAorICAgICAgICAmZ3JvdXBfb2Zmc2V0X2RlbHRhLCAmZ3JvdXBfaW5mbywgJmdyb3VwX2FkZGVuZCk7CisKKyAgICAvLyB3cml0ZSB0aGUgZ3JvdXAgaGVhZGVyCisgICAgcGFja2VkLT5wdXNoX2JhY2soZ3JvdXBfc2l6ZSk7CisgICAgcGFja2VkLT5wdXNoX2JhY2soZ3JvdXBfZmxhZ3MpOworCisgICAgaWYgKGlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9vZmZzZXRfZGVsdGEoZ3JvdXBfZmxhZ3MpKSB7CisgICAgICBwYWNrZWQtPnB1c2hfYmFjayhncm91cF9vZmZzZXRfZGVsdGEpOworICAgIH0KKworICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfaW5mbyhncm91cF9mbGFncykpIHsKKyAgICAgIHBhY2tlZC0+cHVzaF9iYWNrKGdyb3VwX2luZm8pOworICAgIH0KKworICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQoZ3JvdXBfZmxhZ3MpICYmCisgICAgICAgIGlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9hZGRlbmQoZ3JvdXBfZmxhZ3MpKSB7CisgICAgICBwYWNrZWQtPnB1c2hfYmFjayhncm91cF9hZGRlbmQgLSBwcmV2aW91c19hZGRlbmQpOworICAgICAgcHJldmlvdXNfYWRkZW5kID0gZ3JvdXBfYWRkZW5kOworICAgIH0KKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGljX2Nhc3Q8c2l6ZV90Pihncm91cF9zaXplKTsgKytpKSB7CisgICAgICBDSEVDSygoZ3JvdXBfc3RhcnQgKyBpKSA8IHJlbG9jYXRpb25zLnNpemUoKSk7CisgICAgICBjb25zdCBFbGZSZWxhKiByZWxvY2F0aW9uID0gJnJlbG9jYXRpb25zW2dyb3VwX3N0YXJ0ICsgaV07CisKKyAgICAgIGlmICghaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X29mZnNldF9kZWx0YShncm91cF9mbGFncykpIHsKKyAgICAgICAgcGFja2VkLT5wdXNoX2JhY2socmVsb2NhdGlvbi0+cl9vZmZzZXQgLSBwcmV2aW91c19vZmZzZXQpOworICAgICAgfQorICAgICAgcHJldmlvdXNfb2Zmc2V0ID0gcmVsb2NhdGlvbi0+cl9vZmZzZXQ7CisKKyAgICAgIGlmICghaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2luZm8oZ3JvdXBfZmxhZ3MpKSB7CisgICAgICAgIHBhY2tlZC0+cHVzaF9iYWNrKHJlbG9jYXRpb24tPnJfaW5mbyk7CisgICAgICB9CisKKyAgICAgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQoZ3JvdXBfZmxhZ3MpICYmCisgICAgICAgICAgIWlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9hZGRlbmQoZ3JvdXBfZmxhZ3MpKSB7CisgICAgICAgIHBhY2tlZC0+cHVzaF9iYWNrKHJlbG9jYXRpb24tPnJfYWRkZW5kIC0gcHJldmlvdXNfYWRkZW5kKTsKKyAgICAgICAgcHJldmlvdXNfYWRkZW5kID0gcmVsb2NhdGlvbi0+cl9hZGRlbmQ7CisgICAgICB9CisgICAgfQorCisgICAgLy8gSWYgdGhlIHJlbG9jYXRpb24gZ3JvdXAgZG9lcyBub3QgaGF2ZSBhbiBhZGRlbmQgLSByZXNldCBpdCB0byAwCisgICAgLy8gdG8gc2ltcGxpZnkgYWRkZW5kIGNvbXB1dGF0aW9uIGZvciB0aGUgZ3JvdXAgZm9sbG93aW5nIHRoaXMgb25lLgorICAgIGlmICghaXNfcmVsb2NhdGlvbl9ncm91cF9oYXNfYWRkZW5kKGdyb3VwX2ZsYWdzKSkgeworICAgICAgcHJldmlvdXNfYWRkZW5kID0gMDsKKyAgICB9CisKKyAgICBncm91cF9zdGFydCArPSBncm91cF9zaXplOworICB9Cit9CisKKy8vIERlY29kZSByZWxvY2F0aW9ucyBmcm9tIGEgZGVsdGEgZW5jb2RlZCAocGFja2VkKSByZXByZXNlbnRhdGlvbi4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+Cit2b2lkIFJlbG9jYXRpb25EZWx0YUNvZGVjPEVMRj46OkRlY29kZShjb25zdCBzdGQ6OnZlY3RvcjxFbGZBZGRyPiYgcGFja2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8RWxmUmVsYT4qIHJlbG9jYXRpb25zKSB7CisgIGlmIChwYWNrZWQuc2l6ZSgpIDwgNSkgeworICAgIHJldHVybjsKKyAgfQorCisgIHNpemVfdCBuZHggPSAwOworICBFbGZBZGRyIGN1cnJlbnRfY291bnQgPSAwOworICBFbGZBZGRyIHRvdGFsX2NvdW50ID0gcGFja2VkW25keCsrXTsKKworICBFbGZBZGRyIG9mZnNldCA9IHBhY2tlZFtuZHgrK107CisgIEVsZkFkZHIgaW5mbyA9IDA7CisgIEVsZkFkZHIgYWRkZW5kID0gMDsKKworICB3aGlsZShjdXJyZW50X2NvdW50IDwgdG90YWxfY291bnQpIHsKKyAgICAvLyByZWFkIGdyb3VwCisgICAgRWxmQWRkciBncm91cF9zaXplID0gcGFja2VkW25keCsrXTsKKyAgICBFbGZBZGRyIGdyb3VwX2ZsYWdzID0gcGFja2VkW25keCsrXTsKKyAgICBFbGZBZGRyIGdyb3VwX29mZnNldF9kZWx0YSA9IDA7CisKKyAgICBpZiAoaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X29mZnNldF9kZWx0YShncm91cF9mbGFncykpIHsKKyAgICAgIGdyb3VwX29mZnNldF9kZWx0YSA9IHBhY2tlZFtuZHgrK107CisgICAgfQorCisgICAgaWYgKGlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9pbmZvKGdyb3VwX2ZsYWdzKSkgeworICAgICAgaW5mbyA9IHBhY2tlZFtuZHgrK107CisgICAgfQorCisgICAgaWYgKGlzX3JlbG9jYXRpb25fZ3JvdXBfaGFzX2FkZGVuZChncm91cF9mbGFncykgJiYKKyAgICAgICAgaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2FkZGVuZChncm91cF9mbGFncykpIHsKKyAgICAgIGFkZGVuZCArPSBwYWNrZWRbbmR4KytdOworICAgIH0KKworICAgIC8vIG5vdyByZWFkIG5vdCBncm91cGVkIGluZm8KKyAgICBmb3IgKEVsZkFkZHIgaSA9IDA7IGk8Z3JvdXBfc2l6ZTsgKytpKSB7CisgICAgICBpZiAoaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X29mZnNldF9kZWx0YShncm91cF9mbGFncykpIHsKKyAgICAgICAgb2Zmc2V0ICs9IGdyb3VwX29mZnNldF9kZWx0YTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG9mZnNldCArPSBwYWNrZWRbbmR4KytdOworICAgICAgfQorCisgICAgICBpZiAoIWlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9pbmZvKGdyb3VwX2ZsYWdzKSkgeworICAgICAgICBpbmZvID0gcGFja2VkW25keCsrXTsKKyAgICAgIH0KKworICAgICAgaWYgKGlzX3JlbG9jYXRpb25fZ3JvdXBfaGFzX2FkZGVuZChncm91cF9mbGFncykgJiYKKyAgICAgICAgICAhaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X2FkZGVuZChncm91cF9mbGFncykpIHsKKyAgICAgICAgYWRkZW5kICs9IHBhY2tlZFtuZHgrK107CisgICAgICB9CisKKyAgICAgIEVsZlJlbGEgcmVsb2M7CisgICAgICByZWxvYy5yX29mZnNldCA9IG9mZnNldDsKKyAgICAgIHJlbG9jLnJfaW5mbyA9IGluZm87CisgICAgICByZWxvYy5yX2FkZGVuZCA9IGlzX3JlbG9jYXRpb25fZ3JvdXBfaGFzX2FkZGVuZChncm91cF9mbGFncykgPyBhZGRlbmQgOiAwOworICAgICAgcmVsb2NhdGlvbnMtPnB1c2hfYmFjayhyZWxvYyk7CisgICAgfQorCisgICAgaWYgKCFpc19yZWxvY2F0aW9uX2dyb3VwX2hhc19hZGRlbmQoZ3JvdXBfZmxhZ3MpKSB7CisgICAgICBhZGRlbmQgPSAwOworICAgIH0KKworICAgIGN1cnJlbnRfY291bnQgKz0gZ3JvdXBfc2l6ZTsKKyAgfQorfQorCisvLyBUaGlzIGZ1bmN0aW9uIGRldGVjdHMgYSB3YXkgdG8gZ3JvdXAgcmVsb2Nfb25lIGFuZCByZWxvY190d28sIHNldHMgdXAgZ3JvdXBfZmxhZ3MKKy8vIGFuZCBpbml0aWFsaXplcyB2YWx1ZXMgZm9yIGNvcnJlc3BvbmRpbmcgZ3JvdXBfIGZpZWxkcy4gRm9yIGV4YW1wbGUgaWYgcmVsb2NhdGlvbnMKKy8vIGNhbiBiZSBncm91cGVkIGJ5IHJfaW5mbyB0aGUgZnVuY3Rpb24gd2lsbCBzZXQgZ3JvdXBfaW5mbyB2YXJpYWJsZS4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+Cit2b2lkIFJlbG9jYXRpb25EZWx0YUNvZGVjPEVMRj46OkRldGVjdEdyb3VwRmllbGRzKGNvbnN0IEVsZlJlbGEmIHJlbG9jX29uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRWxmUmVsYSYgcmVsb2NfdHdvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZBZGRyIGN1cnJlbnRfb2Zmc2V0X2RlbHRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZBZGRyKiBncm91cF9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmQWRkciogZ3JvdXBfb2Zmc2V0X2RlbHRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZBZGRyKiBncm91cF9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZBZGRyKiBncm91cF9hZGRlbmQpIHsKKyAgKmdyb3VwX2ZsYWdzID0gMDsKKworICBjb25zdCBFbGZBZGRyIG9mZnNldF9kZWx0YSA9IHN0YXRpY19jYXN0PEVsZkFkZHI+KHJlbG9jX3R3by5yX29mZnNldCkgLQorICAgICAgc3RhdGljX2Nhc3Q8RWxmQWRkcj4ocmVsb2Nfb25lLnJfb2Zmc2V0KTsKKworICBpZiAob2Zmc2V0X2RlbHRhID09IGN1cnJlbnRfb2Zmc2V0X2RlbHRhKSB7CisgICAgKmdyb3VwX2ZsYWdzIHw9IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9PRkZTRVRfREVMVEFfRkxBRzsKKyAgICBpZiAoZ3JvdXBfb2Zmc2V0X2RlbHRhICE9IG51bGxwdHIpIHsKKyAgICAgICpncm91cF9vZmZzZXRfZGVsdGEgPSBjdXJyZW50X29mZnNldF9kZWx0YTsKKyAgICB9CisgIH0KKworICBpZiAocmVsb2Nfb25lLnJfaW5mbyA9PSByZWxvY190d28ucl9pbmZvKSB7CisgICAgKmdyb3VwX2ZsYWdzIHw9IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9JTkZPX0ZMQUc7CisgICAgaWYgKGdyb3VwX2luZm8gIT0gbnVsbHB0cikgeworICAgICAgKmdyb3VwX2luZm8gPSByZWxvY19vbmUucl9pbmZvOworICAgIH0KKyAgfQorCisgIGlmIChyZWxvY19vbmUucl9hZGRlbmQgIT0gMCB8fCByZWxvY190d28ucl9hZGRlbmQgIT0gMCkgeworICAgICpncm91cF9mbGFncyB8PSBSRUxPQ0FUSU9OX0dST1VQX0hBU19BRERFTkRfRkxBRzsKKyAgICBpZiAocmVsb2Nfb25lLnJfYWRkZW5kID09IHJlbG9jX3R3by5yX2FkZGVuZCkgeworICAgICAgKmdyb3VwX2ZsYWdzIHw9IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9BRERFTkRfRkxBRzsKKyAgICAgIGlmIChncm91cF9hZGRlbmQgIT0gbnVsbHB0cikgeworICAgICAgICAqZ3JvdXBfYWRkZW5kID0gcmVsb2Nfb25lLnJfYWRkZW5kOworICAgICAgfQorICAgIH0KKyAgfQorfQorCisvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGV0ZWN0IGlmIHRoZXJlIGlzIGJldHRlciBncm91cCBhdmFpbGFibGUKKy8vIGR1cmluZyBSZWxvY2F0aW9uRGVsdGFDb2RlYzxFTEY+OjpEZXRlY3RHcm91cCBwcm9jZXNzaW5nLgorLy8gQ3VycmVudCBpbXBsZW1lbnRhdGlvbiBwcmVmZXJzIGhhdmluZyBncm91cHMgd2l0aG91dCBhZGRlbmQgKD09IHplcm8gYWRkZW5kKQorLy8gdG8gYW55IG90aGVyIGdyb3VwcyBmaWVsZCB3aXRoIHRoZSByYXRpbyAzOjEuIFRoaXMgaXMgYmVjYXVzZSBhZGRlbmQgdGVuZHMKKy8vIHRvIGJlIG1vcmUgdW5ldmVubHkgZGlzdHJpYnV0ZWQgdGhhbiBvdGhlciBmaWVsZHMuCitzdGF0aWMgdWludDMyX3QgZ3JvdXBfd2VpZ2h0KHVpbnQ2NF90IGZsYWdzKSB7CisgIHVpbnQzMl90IHdlaWdodCA9IDA7CisgIGlmICghaXNfcmVsb2NhdGlvbl9ncm91cF9oYXNfYWRkZW5kKGZsYWdzKSkgeworICAgIHdlaWdodCArPSAzOworICB9IGVsc2UgaWYgKGlzX3JlbG9jYXRpb25fZ3JvdXBlZF9ieV9hZGRlbmQoZmxhZ3MpKSB7CisgICAgd2VpZ2h0ICs9IDE7CisgIH0KKworICBpZiAoaXNfcmVsb2NhdGlvbl9ncm91cGVkX2J5X29mZnNldF9kZWx0YShmbGFncykpIHsKKyAgICB3ZWlnaHQgKz0gMTsKKyAgfQorCisgIGlmIChpc19yZWxvY2F0aW9uX2dyb3VwZWRfYnlfaW5mbyhmbGFncykpIHsKKyAgICB3ZWlnaHQgKz0gMTsKKyAgfQorCisgIHJldHVybiB3ZWlnaHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+Cit2b2lkIFJlbG9jYXRpb25EZWx0YUNvZGVjPEVMRj46OkRldGVjdEdyb3VwKGNvbnN0IHN0ZDo6dmVjdG9yPEVsZlJlbGE+JiByZWxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBncm91cF9zdGFydHNfd2l0aCwgRWxmQWRkciBwcmV2aW91c19vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGZBZGRyKiBncm91cF9zaXplLCBFbGZBZGRyKiBncm91cF9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZkFkZHIqIGdyb3VwX29mZnNldF9kZWx0YSwgRWxmQWRkciogZ3JvdXBfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZkFkZHIqIGdyb3VwX2FkZGVuZCkgeworICBDSEVDSyhncm91cF9zdGFydHNfd2l0aCA8IHJlbG9jYXRpb25zLnNpemUoKSk7CisgIENIRUNLKGdyb3VwX2ZsYWdzICE9IG51bGxwdHIpOworCisgIGNvbnN0IEVsZlJlbGEmIHJlbG9jX29uZSA9IHJlbG9jYXRpb25zW2dyb3VwX3N0YXJ0c193aXRoKytdOworICBpZiAoZ3JvdXBfc3RhcnRzX3dpdGggPT0gcmVsb2NhdGlvbnMuc2l6ZSgpKSB7CisgICAgKmdyb3VwX2ZsYWdzID0gcmVsb2Nfb25lLnJfYWRkZW5kID09IDAgPyAwIDogUkVMT0NBVElPTl9HUk9VUF9IQVNfQURERU5EX0ZMQUc7CisgICAgKmdyb3VwX3NpemUgPSAxOworICAgIHJldHVybjsKKyAgfQorCisgIGNvbnN0IEVsZkFkZHIgb2Zmc2V0X2RlbHRhID0gcmVsb2Nfb25lLnJfb2Zmc2V0IC0gcHJldmlvdXNfb2Zmc2V0OworCisgIC8vIGRldGVjdCBncm91cF9mbGFncworICBEZXRlY3RHcm91cEZpZWxkcyhyZWxvY19vbmUsIHJlbG9jYXRpb25zW2dyb3VwX3N0YXJ0c193aXRoXSwgb2Zmc2V0X2RlbHRhLCBncm91cF9mbGFncywKKyAgICAgIGdyb3VwX29mZnNldF9kZWx0YSwgZ3JvdXBfaW5mbywgZ3JvdXBfYWRkZW5kKTsKKworICBpZiAoZ3JvdXBfc3RhcnRzX3dpdGggKyAxID09IHJlbG9jYXRpb25zLnNpemUoKSkgeworICAgICpncm91cF9zaXplID0gMjsKKyAgICByZXR1cm47CisgIH0KKworICBFbGZBZGRyIGNudCA9IDE7CisgIGZvciAoc2l6ZV90IGkgPSBncm91cF9zdGFydHNfd2l0aDsgaSA8IHJlbG9jYXRpb25zLnNpemUoKSAtIDE7ICsraSkgeworICAgIEVsZkFkZHIgY2FuZGlkYXRlX2ZsYWdzOworICAgIC8vIGNoZWNrIGlmIG5leHQgZ3JvdXAgKHJlbG9jX2N1cnJlbnQ7IHJlbG9jX25leHQpIGhhcyBiZXR0ZXIgZ3JvdXBlZF9ieSBmbGFncworICAgIERldGVjdEdyb3VwRmllbGRzKHJlbG9jYXRpb25zW2ldLCByZWxvY2F0aW9uc1tpKzFdLCBvZmZzZXRfZGVsdGEsICZjYW5kaWRhdGVfZmxhZ3MsCisgICAgICAgIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpOworCisgICAgaWYgKGdyb3VwX3dlaWdodCgqZ3JvdXBfZmxhZ3MpIDwgZ3JvdXBfd2VpZ2h0KGNhbmRpZGF0ZV9mbGFncykpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBjbnQrKzsKKworICAgIGlmIChjYW5kaWRhdGVfZmxhZ3MgIT0gKmdyb3VwX2ZsYWdzKSB7CisgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoaSArIDEgPT0gcmVsb2NhdGlvbnMuc2l6ZSgpIC0gMSkgeyAvLyBsYXN0IG9uZQorICAgICAgY250Kys7CisgICAgfQorICB9CisKKyAgLy8gaWYgYXMgYSByZXN1bHQgb2YgY2hlY2tpbmcgY2FuZGlkYXRlcyB3ZSBlbmRlZCB1cCB3aXRoIGNudCA9PSAxCisgIC8vIHJlc2V0IGZsYWdzIHRvIHRoZSBkZWZhdWx0IHN0YXRlCisgIGlmIChjbnQgPT0gMSkgeworICAgICpncm91cF9mbGFncyA9IHJlbG9jX29uZS5yX2FkZGVuZCA9PSAwID8gMCA6IFJFTE9DQVRJT05fR1JPVVBfSEFTX0FEREVORF9GTEFHOworICB9CisKKyAgKmdyb3VwX3NpemUgPSBjbnQ7Cit9CisKK3RlbXBsYXRlIGNsYXNzIFJlbG9jYXRpb25EZWx0YUNvZGVjPEVMRjMyX3RyYWl0cz47Cit0ZW1wbGF0ZSBjbGFzcyBSZWxvY2F0aW9uRGVsdGFDb2RlYzxFTEY2NF90cmFpdHM+OworCit9ICAvLyBuYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9kZWx0YV9lbmNvZGVyLmggYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVsdGFfZW5jb2Rlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2YzMyNGMKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVsdGFfZW5jb2Rlci5oCkBAIC0wLDAgKzEsMTMyIEBACisvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIERlbHRhIGVuY29kZSBhbmQgZGVjb2RlIFJFTC9SRUxBIHNlY3Rpb24gb2YgZWxmIGZpbGUuCisvLworLy8gVGhlIGVuY29kZWQgZGF0YSBmb3JtYXQgaXMgc2VxdWVuY2Ugb2YgZWxlbWVudHMgb2YgRWxmQWRkciB0eXBlICh1bnNpZ25lZCBsb25nKToKKy8vCisvLyBbMDBdIHJlbG9jYXRpb25fY291bnQgLSB0aGUgdG90YWwgY291bnQgb2YgcmVsb2NhdGlvbnMKKy8vIFswMV0gaW5pdGlhbCByX29mZnNldCAtIHRoaXMgaXMgaW5pdGlhbCByX29mZnNldCBmb3IgdGhlCisvLyAgICAgICAgICAgICAgICAgICAgICAgICByZWxvY2F0aW9uIHRhYmxlLgorLy8gZm9sbG93ZWQgYnkgZ3JvdXAgc3RydWN0dXJlczoKKy8vIFswMl0gZ3JvdXAKKy8vIC4uLgorLy8gW25uXSBncm91cAorCisvLyB0aGUgZ2VuZXJhbGl6ZWQgZm9ybWF0IG9mIHRoZSBncm91cCBpcyAoISAtIGFsd2F5cyBwcmVzZW50ID8gLSBkZXBlbmRzIG9uIGdyb3VwX2ZsYWdzKToKKy8vIC0tLS0tLS0tLS0tLS0tCisvLyAhIGdyb3VwX3NpemUKKy8vICEgZ3JvdXBfZmxhZ3MKKy8vID8gZ3JvdXBfcl9vZmZzZXRfZGVsdGEgd2hlbiBSRUxPQ0FUSU9OX0dST1VQRURfQllfT0ZGU0VUX0RFTFRBIGZsYWcgaXMgc2V0CisvLyA/IGdyb3VwX3JfaW5mbyB3aGVuIFJFTE9DQVRJT05fR1JPVVBFRF9CWV9JTkZPIGZsYWcgaXMgc2V0CisvLyA/IGdyb3VwX3JfYWRkZW5kX2dyb3VwX2RlbHRhIHdoZW4gUkVMT0NBVElPTl9HUk9VUF9IQVNfQURERU5EIGFuZCBSRUxPQ0FUSU9OX0dST1VQRURfQllfQURERU5ECisvLyAgIGZsYWcgaXMgc2V0CisvLworLy8gVGhlIGdyb3VwIGRlc2NyaXB0aW9uIGlzIGZvbGxvd2VkIGJ5IGluZGl2aWR1YWwgcmVsb2NhdGlvbnMuCisvLyBwbGVhc2Ugbm90ZSB0aGF0IHRoZXJlIGlzIGEgY2FzZSB3aGVuIGluZGl2aWR1YWwgcmVsb2NhdGlvbgorLy8gc2VjdGlvbiBjb3VsZCBiZSBlbXB0eSAtIHRoYXQgaXMgaWYgZXZlcnkgZmllbGQgZW5kcyB1cCBncm91cGVkLgorLy8KKy8vIFRoZSBmb3JtYXQgZm9yIGluZGl2aWR1YWwgcmVsb2NhdGlvbnMgc2VjdGlvbiBpczoKKy8vID8gcl9vZmZzZXRfZGVsdGEgLSB3aGVuIFJFTE9DQVRJT05fR1JPVVBFRF9CWV9PRkZTRVRfREVMVEEgaXMgbm90IHNldAorLy8gPyByX2luZm8gLSB3aGVuIFJFTE9DQVRJT05fR1JPVVBFRF9CWV9JTkZPIGZsYWcgaXMgbm90IHNldAorLy8gPyByX2FkZGVuZF9kZWx0YSAtIFJFTE9DQVRJT05fR1JPVVBfSEFTX0FEREVORCBpcyBzZXQgYW5kIFJFTE9DQVRJT05fR1JPVVBFRF9CWV9BRERFTkQgaXMgbm90IHNldAorLy8KKy8vIEZvciBleGFtcGxlIGxldHMgcGFjayB0aGUgZm9sbG93aW5nIHJlbG9jYXRpb25zOgorLy8KKy8vIFJlbG9jYXRpb24gc2VjdGlvbiAnLnJlbGEuZHluJyBhdCBvZmZzZXQgMHhiZjU4IGNvbnRhaW5zIDkzOSBlbnRyaWVzOgorLy8gICAgIE9mZnNldCAgICAgICAgICAgICBJbmZvICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgICBTeW1ib2wncyBWYWx1ZSAgU3ltYm9sJ3MgTmFtZSArIEFkZGVuZAorLy8gICAgIDAwMDAwMDAwMDAwYTIxNzggIDAwMDAwMDAwMDAwMDA0MDMgUl9BQVJDSDY0X1JFTEFUSVZFICAgICAgICAgICAgICAgICAgICAgICAgMTc3YTgKKy8vICAgICAwMDAwMDAwMDAwMGEyMTgwICAwMDAwMDAwMDAwMDAwNDAzIFJfQUFSQ0g2NF9SRUxBVElWRSAgICAgICAgICAgICAgICAgICAgICAgIDE3N2NjCisvLyAgICAgMDAwMDAwMDAwMDBhMjE4OCAgMDAwMDAwMDAwMDAwMDQwMyBSX0FBUkNINjRfUkVMQVRJVkUgICAgICAgICAgICAgICAgICAgICAgICAxNzdlMAorLy8gICAgIDAwMDAwMDAwMDAwYTIxOTAgIDAwMDAwMDAwMDAwMDA0MDMgUl9BQVJDSDY0X1JFTEFUSVZFICAgICAgICAgICAgICAgICAgICAgICAgMTc3ZjQKKy8vICAgICAwMDAwMDAwMDAwMGEyMTk4ICAwMDAwMDAwMDAwMDAwNDAzIFJfQUFSQ0g2NF9SRUxBVElWRSAgICAgICAgICAgICAgICAgICAgICAgIDE3ODA0CisvLyAgICAgMDAwMDAwMDAwMDBhMjFhMCAgMDAwMDAwMDAwMDAwMDQwMyBSX0FBUkNINjRfUkVMQVRJVkUgICAgICAgICAgICAgICAgICAgICAgICAxNzgxOAorLy8gICAgIDAwMDAwMDAwMDAwYTIxYTggIDAwMDAwMDAwMDAwMDA0MDMgUl9BQVJDSDY0X1JFTEFUSVZFICAgICAgICAgICAgICAgICAgICAgICAgMTc4MmMKKy8vICAgICAwMDAwMDAwMDAwMGEyMWIwICAwMDAwMDAwMDAwMDAwNDAzIFJfQUFSQ0g2NF9SRUxBVElWRSAgICAgICAgICAgICAgICAgICAgICAgIDE3ODQwCisvLyAgICAgMDAwMDAwMDAwMDBhMjFiOCAgMDAwMDAwMDAwMDAwMDQwMyBSX0FBUkNINjRfUkVMQVRJVkUgICAgICAgICAgICAgICAgICAgICAgICAxNzg1NAorLy8gICAgIDAwMDAwMDAwMDAwYTIxYzAgIDAwMDAwMDAwMDAwMDA0MDMgUl9BQVJDSDY0X1JFTEFUSVZFICAgICAgICAgICAgICAgICAgICAgICAgMTc4NjgKKy8vICAgICAwMDAwMDAwMDAwMGEyMWM4ICAwMDAwMDAwMDAwMDAwNDAzIFJfQUFSQ0g2NF9SRUxBVElWRSAgICAgICAgICAgICAgICAgICAgICAgIDE3ODdjCisvLyAgICAgMDAwMDAwMDAwMDBhMjFkMCAgMDAwMDAwMDAwMDAwMDQwMyBSX0FBUkNINjRfUkVMQVRJVkUgICAgICAgICAgICAgICAgICAgICAgICAxNzg5MAorLy8gICAgIDAwMDAwMDAwMDAwYTIxZDggIDAwMDAwMDAwMDAwMDA0MDMgUl9BQVJDSDY0X1JFTEFUSVZFICAgICAgICAgICAgICAgICAgICAgICAgMTc4YTQKKy8vICAgICAwMDAwMDAwMDAwMGEyMWU4ICAwMDAwMDAwMDAwMDAwNDAzIFJfQUFSQ0g2NF9SRUxBVElWRSAgICAgICAgICAgICAgICAgICAgICAgIDE3OGI4CisvLworLy8gVGhlIGhlYWRlciBpcyBnb2luZyB0byBiZQorLy8gWzAwXSAxNCAgICAgICAgICAgICAgICAgPC0gY291bnQKKy8vIFswMV0gMHgwMDAwMDAwMDAwMGEyMTcwIDwtIGluaXRpYWwgcmVsb2NhdGlvbiAoZmlyc3QgcmVsb2NhdGlvbiAtIGRlbHRhLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlbHRhIGlzIDggaW4gdGhpcyBjYXNlKQorLy8gLS0gc3RhcnRpbmcgdGhlIGZpcnN0IGFuZCBvbmx5IGdyb3VwCisvLyBbMDNdIDE0ICAgICAgICAgICAgICAgICA8LSBncm91cCBzaXplCisvLyBbMDNdIDB4YiAgICAgICAgICAgICAgICA8LSBmbGFncyBSRUxPQ0FUSU9OX0dST1VQX0hBU19BRERFTkQgfCBSRUxPQ0FUSU9OX0dST1VQRURfQllfT0ZGU0VUX0RFTFRBCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFJFTE9DQVRJT05fR1JPVVBFRF9CWV9JTkZPCisvLyBbMDRdIDggICAgICAgICAgICAgICAgICA8LSBvZmZzZXQgZGVsdGEKKy8vIFswNV0gMHg0MDMgICAgICAgICAgICAgIDwtIHJfaW5mbworLy8gLS0gZW5kIG9mIGdyb3VwIGRlZmluaXRpb24sIHN0YXJ0aW5nIGxpc3Qgb2Ygcl9hZGRlbmQgZGVsdGFzCisvLyBbMDZdIDB4MTc3YTgKKy8vIFswN10gMHgyNCAgICAgICAgICAgICAgID0gMTc3Y2MgLSAxNzdhOAorLy8gWzA4XSAweDE0ICAgICAgICAgICAgICAgPSAxNzdlMCAtIDE3N2NjCisvLyBbMDldIDB4MTQgICAgICAgICAgICAgICA9IDE3N2Y0IC0gMTc3ZTAKKy8vIFsxMF0gMHgxMCAgICAgICAgICAgICAgID0gMTc4MDQgLSAxNzdmNAorLy8gWzExXSAweDE0ICAgICAgICAgICAgICAgPSAxNzgxOCAtIDE3ODA0CisvLyBbMTJdIDB4MTQgICAgICAgICAgICAgICA9IDE3ODJjIC0gMTc4MTgKKy8vIFsxM10gMHgxNCAgICAgICAgICAgICAgID0gMTc4NDAgLSAxNzgyYworLy8gWzE0XSAweDE0ICAgICAgICAgICAgICAgPSAxNzg1NCAtIDE3ODQwCisvLyBbMTVdIDB4MTQgICAgICAgICAgICAgICA9IDE3ODY4IC0gMTc4NTQKKy8vIFsxNl0gMHgxNCAgICAgICAgICAgICAgID0gMTc4N2MgLSAxNzg2OAorLy8gWzE3XSAweDE0ICAgICAgICAgICAgICAgPSAxNzg5MCAtIDE3ODdjCisvLyBbMThdIDB4MTQgICAgICAgICAgICAgICA9IDE3OGE0IC0gMTc4OTAKKy8vIFsxOV0gMHgxNCAgICAgICAgICAgICAgID0gMTc4YjggLSAxNzhhNAorLy8gLS0gdGhlIGVuZC4KKworLy8gVE9ETyAoZGltaXRyeSk6IGNvbnNpZGVyIHVzaW5nIHJfYWRkZW5kX2dyb3VwX2RlbHRhIGluIHRoZSB3YXkgd2UgdXNlIGdyb3VwIG9mZnNldCBkZWx0YSwgaXQgY2FuCisvLyAgICAgICAgICAgICAgICAgc2F2ZSB1cyBtb3JlIGJ5dGVzLi4uCisKKy8vIFRoZSBpbnB1dCBlbmRzIHdoZW4gc3VtKGdyb3VwX3NpemUpID09IHJlbG9jYXRpb25fY291bnQKKworI2lmbmRlZiBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfREVMVEFfRU5DT0RFUl9IXworI2RlZmluZSBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfREVMVEFfRU5DT0RFUl9IXworCisjaW5jbHVkZSA8dmVjdG9yPgorCisjaW5jbHVkZSAiZWxmLmgiCisjaW5jbHVkZSAiZWxmX3RyYWl0cy5oIgorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCisvLyBBIFJlbG9jYXRpb25EZWx0YUNvZGVjIHBhY2tzIHZlY3RvcnMgb2YgcmVsYXRpdmUgcmVsb2NhdGlvbnMgd2l0aAorLy8gYWRkZW5kcyBpbnRvIG1vcmUgY29tcGFjdCBmb3JtcywgYW5kIHVucGFja3MgdGhlbSB0byByZXByb2R1Y2UgdGhlCisvLyBwcmUtcGFja2VkIGRhdGEuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorY2xhc3MgUmVsb2NhdGlvbkRlbHRhQ29kZWMgeworIHB1YmxpYzoKKyAgdHlwZWRlZiB0eXBlbmFtZSBFTEY6OkFkZHIgRWxmQWRkcjsKKyAgdHlwZWRlZiB0eXBlbmFtZSBFTEY6OlJlbGEgRWxmUmVsYTsKKworICAvLyBFbmNvZGUgcmVsb2NhdGlvbnMgd2l0aCBhZGRlbmRzIGludG8gYSBtb3JlIGNvbXBhY3QgZm9ybS4KKyAgLy8gfHJlbG9jYXRpb25zfCBpcyBhIHZlY3RvciBvZiByZWxhdGl2ZSByZWxvY2F0aW9uIHdpdGggYWRkZW5kIHN0cnVjdHMuCisgIC8vIHxwYWNrZWR8IGlzIHRoZSB2ZWN0b3Igb2YgcGFja2VkIHdvcmRzIGludG8gd2hpY2ggcmVsb2NhdGlvbnMgYXJlIHBhY2tlZC4KKyAgc3RhdGljIHZvaWQgRW5jb2RlKGNvbnN0IHN0ZDo6dmVjdG9yPEVsZlJlbGE+JiByZWxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPEVsZkFkZHI+KiBwYWNrZWQpOworCisgIC8vIERlY29kZSByZWxhdGl2ZSByZWxvY2F0aW9ucyB3aXRoIGFkZGVuZHMgZnJvbSB0aGVpciBtb3JlIGNvbXBhY3QgZm9ybS4KKyAgLy8gfHBhY2tlZHwgaXMgdGhlIHZlY3RvciBvZiBwYWNrZWQgcmVsb2NhdGlvbnMuCisgIC8vIHxyZWxvY2F0aW9uc3wgaXMgYSB2ZWN0b3Igb2YgdW5wYWNrZWQgcmVsYXRpdmUgcmVsb2NhdGlvbnMuCisgIHN0YXRpYyB2b2lkIERlY29kZShjb25zdCBzdGQ6OnZlY3RvcjxFbGZBZGRyPiYgcGFja2VkLAorICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8RWxmUmVsYT4qIHJlbG9jYXRpb25zKTsKKworIHByaXZhdGU6CisgIHN0YXRpYyB2b2lkIERldGVjdEdyb3VwKGNvbnN0IHN0ZDo6dmVjdG9yPEVsZlJlbGE+JiByZWxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGdyb3VwX3N0YXJ0c193aXRoLCBFbGZBZGRyIHByZXZpb3VzX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmQWRkciogZ3JvdXBfc2l6ZSwgRWxmQWRkciogZ3JvdXBfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZkFkZHIqIGdyb3VwX29mZnNldF9kZWx0YSwgRWxmQWRkciogZ3JvdXBfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmQWRkciogZ3JvdXBfYWRkZW5kKTsKKworICBzdGF0aWMgdm9pZCBEZXRlY3RHcm91cEZpZWxkcyhjb25zdCBFbGZSZWxhJiByZWxvY19vbmUsIGNvbnN0IEVsZlJlbGEmIHJlbG9jX3R3bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmQWRkciBjdXJyZW50X29mZnNldF9kZWx0YSwgRWxmQWRkciogZ3JvdXBfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZkFkZHIqIGdyb3VwX29mZnNldF9kZWx0YSwgRWxmQWRkciogZ3JvdXBfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxmQWRkciogZ3JvdXBfYWRkZW5kKTsKK307CisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgorCisjZW5kaWYgIC8vIFRPT0xTX1JFTE9DQVRJT05fUEFDS0VSX1NSQ19ERUxUQV9FTkNPREVSX0hfCmRpZmYgLS1naXQgYS90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVsdGFfZW5jb2Rlcl91bml0dGVzdC5jYyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9kZWx0YV9lbmNvZGVyX3VuaXR0ZXN0LmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZDljOTYKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZGVsdGFfZW5jb2Rlcl91bml0dGVzdC5jYwpAQCAtMCwwICsxLDIyMyBAQAorLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisjaW5jbHVkZSAiZGVsdGFfZW5jb2Rlci5oIgorCisjaW5jbHVkZSA8dmVjdG9yPgorI2luY2x1ZGUgImVsZi5oIgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LmgiCisKK25hbWVzcGFjZSB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBBZGRSZWxvY2F0aW9uKHVpbnQzMl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5mbywKKyAgICAgICAgICAgICAgICAgICBpbnQzMl90IGFkZGVuZCwKKyAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3RvcjxUPiogcmVsb2NhdGlvbnMpIHsKKyAgVCByZWxvY2F0aW9uOworICByZWxvY2F0aW9uLnJfb2Zmc2V0ID0gYWRkcjsKKyAgcmVsb2NhdGlvbi5yX2luZm8gPSBpbmZvOworICByZWxvY2F0aW9uLnJfYWRkZW5kID0gYWRkZW5kOworICByZWxvY2F0aW9ucy0+cHVzaF9iYWNrKHJlbG9jYXRpb24pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2Jvb2wgQ2hlY2tSZWxvY2F0aW9uKHVpbnQzMl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbmZvLAorICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBhZGRlbmQsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBUJiByZWxvY2F0aW9uKSB7CisgIHJldHVybiByZWxvY2F0aW9uLnJfb2Zmc2V0ID09IGFkZHIgJiYKKyAgICAgIHJlbG9jYXRpb24ucl9pbmZvID09IGluZm8gJiYKKyAgICAgIHJlbG9jYXRpb24ucl9hZGRlbmQgPT0gYWRkZW5kOworfQorCit9ICAvLyBuYW1lc3BhY2UKKworbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK3N0YXRpYyB2b2lkIGVuY29kZSgpIHsKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiByZWxvY2F0aW9uczsKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpBZGRyPiBwYWNrZWQ7CisKKyAgUmVsb2NhdGlvbkRlbHRhQ29kZWM8RUxGPiBjb2RlYzsKKworICBjb2RlYy5FbmNvZGUocmVsb2NhdGlvbnMsICZwYWNrZWQpOworCisgIEFTU0VSVF9FUSgwVSwgcGFja2VkLnNpemUoKSk7CisKKyAgLy8gSW5pdGlhbCByZWxvY2F0aW9uLgorICBBZGRSZWxvY2F0aW9uKDB4ZjAwZDAwMDAsIDExVSwgMTAwMDAsICZyZWxvY2F0aW9ucyk7CisKKyAgY29kZWMuRW5jb2RlKHJlbG9jYXRpb25zLCAmcGFja2VkKTsKKworICAvLyBzaXplIG9mIHJlbG9jIHRhYmxlLCBzaXplIG9mIGdyb3VwLCBmbGFncywgMyBmaWVsZHMsIHplcm8KKyAgRVhQRUNUX0VRKDdVLCBwYWNrZWQuc2l6ZSgpKTsKKyAgLy8gT25lIHBhaXIgcHJlc2VudC4KKyAgc2l6ZV90IG5keCA9IDA7CisgIEVYUEVDVF9FUSgxVSwgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgweGYwMGQwMDAwLCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKDFVLCBwYWNrZWRbbmR4KytdKTsgLy8gZ3JvdXBfc2l6ZQorICBFWFBFQ1RfRVEoOFUsIHBhY2tlZFtuZHgrK10pOyAvLyBmbGFncworICAvLyBEZWx0YSBmcm9tIHRoZSBuZXV0cmFsIGVsZW1lbnQgaXMgemVybworICBFWFBFQ1RfRVEoMFUsIHBhY2tlZFtuZHgrK10pOyAvLyBvZmZzZXRfZGVsdGEKKyAgRVhQRUNUX0VRKDExVSwgcGFja2VkW25keCsrXSk7IC8vIGluZm8KKyAgRVhQRUNUX0VRKDEwMDAwVSwgcGFja2VkW25keCsrXSk7IC8vIGFkZGVuZF9kZWx0YQorCisgIC8vIEFkZCBhIHNlY29uZCByZWxvY2F0aW9uLCA0IGJ5dGUgb2Zmc2V0IGRlbHRhLCAxMiBieXRlIGFkZGVuZCBkZWx0YS4KKyAgLy8gc2FtZSBpbmZvCisgIEFkZFJlbG9jYXRpb24oMHhmMDBkMDAwNCwgMTFVLCAxMDAxMiwgJnJlbG9jYXRpb25zKTsKKworICBwYWNrZWQuY2xlYXIoKTsKKyAgY29kZWMuRW5jb2RlKHJlbG9jYXRpb25zLCAmcGFja2VkKTsKKworICBuZHggPSAwOworICBFWFBFQ1RfRVEoOFUsIHBhY2tlZC5zaXplKCkpOworCisgIEVYUEVDVF9FUSgyVSwgcGFja2VkW25keCsrXSk7IC8vIHJlbG9jcyBjb3VudAorICBFWFBFQ1RfRVEoMHhmMDBjZmZmYywgcGFja2VkW25keCsrXSk7IC8vIGluaXRpYWwgb2Zmc2V0CisgIEVYUEVDVF9FUSgyVSwgcGFja2VkW25keCsrXSk7IC8vIGdyb3VwIGNvdW50CisgIEVYUEVDVF9FUSgxMVUsIHBhY2tlZFtuZHgrK10pOyAvLyBmbGFncworICBFWFBFQ1RfRVEoNFUsIHBhY2tlZFtuZHgrK10pOyAvLyBncm91cCBvZmZzZXQgZGVsdGEKKyAgRVhQRUNUX0VRKDExVSwgcGFja2VkW25keCsrXSk7IC8vIGluZm8KKworICBFWFBFQ1RfRVEoMTAwMDBVLCBwYWNrZWRbbmR4KytdKTsgLy8gYWRkZW5kIGRlbHRhCisgIEVYUEVDVF9FUSgxMlUsIHBhY2tlZFtuZHgrK10pOyAvLyBhZGRlbmQgZGVsdGEKKworICAvLyBBZGQgYSB0aGlyZCByZWxvY2F0aW9uLCA0IGJ5dGUgb2Zmc2V0IGRlbHRhLCAxMiBieXRlIGFkZGVuZCBkZWx0YS4KKyAgLy8gZGlmZmVyZW50IGluZm8KKyAgQWRkUmVsb2NhdGlvbigweGYwMGQwMDA4LCA0MVUsIDEwMDI0LCAmcmVsb2NhdGlvbnMpOworCisgIC8vIEFkZCB0aHJlZSBtb3JlIHJlbG9jYXRpb25zLCA4IGJ5dGUgb2Zmc2V0IGRlbHRhcywgLTI0IGJ5dGUgYWRkZW5kIGRlbHRhcy4KKyAgQWRkUmVsb2NhdGlvbigweGYwMGQwMDEwLCA0MlUsIDEwMDAwLCAmcmVsb2NhdGlvbnMpOworICBBZGRSZWxvY2F0aW9uKDB4ZjAwZDAwMTgsIDQyVSwgOTk3NiwgJnJlbG9jYXRpb25zKTsKKyAgQWRkUmVsb2NhdGlvbigweGYwMGQwMDIwLCA0MlUsIDk5NTIsICZyZWxvY2F0aW9ucyk7CisKKyAgQWRkUmVsb2NhdGlvbigweGYwMGQyMDI4LCAxMDQyVSwgMCwgJnJlbG9jYXRpb25zKTsKKyAgQWRkUmVsb2NhdGlvbigweGYwMGQyMDMwLCAzNDQyVSwgMCwgJnJlbG9jYXRpb25zKTsKKworICBwYWNrZWQuY2xlYXIoKTsKKyAgY29kZWMuRW5jb2RlKHJlbG9jYXRpb25zLCAmcGFja2VkKTsKKworICBuZHggPSAwOworICBFWFBFQ1RfRVEoMjZVLCBwYWNrZWQuc2l6ZSgpKTsKKyAgLy8gVG90YWwgbnVtYmVyIG9mIHJlbG9jcworICBFWFBFQ1RfRVEoOFUsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoMHhmMDBjZmZmYywgcGFja2VkW25keCsrXSk7CisgIC8vIDIgaW4gZmlyc3QgZ3JvdXAKKyAgRVhQRUNUX0VRKDJVLCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKDExVSwgcGFja2VkW25keCsrXSk7IC8vZmxhZ3MKKyAgRVhQRUNUX0VRKDRVLCBwYWNrZWRbbmR4KytdKTsgLy8gZ3JvdXAgb2Zmc2V0IGRlbHRhCisgIEVYUEVDVF9FUSgxMVUsIHBhY2tlZFtuZHgrK10pOyAvLyBpbmZvCisKKyAgLy8gSW5pdGlhbCByZWxvY2F0aW9uLgorICBFWFBFQ1RfRVEoMTAwMDBVLCBwYWNrZWRbbmR4KytdKTsgLy8gYWRkZW5kIGRlbHRhCisgIC8vIFR3byByZWxvY2F0aW9ucywgNCBieXRlIG9mZnNldCBkZWx0YXMsIDEyIGJ5dGUgYWRkZW5kIGRlbHRhcy4KKyAgRVhQRUNUX0VRKDEyVSwgcGFja2VkW25keCsrXSk7IC8vIGFkZGVuZCBkZWx0YQorCisgIC8vIHNlY29uZCBncm91cCBoYXMgb25seSBvbmUgcmVsb2MKKyAgRVhQRUNUX0VRKDFVLCBwYWNrZWRbbmR4KytdKTsgLy8gY291bnQKKyAgRVhQRUNUX0VRKDhVLCBwYWNrZWRbbmR4KytdKTsgLy8gZmxhZ3MKKworICBFWFBFQ1RfRVEoNFUsIHBhY2tlZFtuZHgrK10pOyAvLyBvZmZzZXQgZGVsdGEKKyAgRVhQRUNUX0VRKDQxVSwgcGFja2VkW25keCsrXSk7IC8vIGluZm8KKyAgRVhQRUNUX0VRKDEyVSwgcGFja2VkW25keCsrXSk7IC8vIGFkZGVuZCBkZWx0YQorCisgIC8vIG5leHQgLSAzIHJlbG9jcyBncm91cGVkIGJ5IGluZm8KKyAgRVhQRUNUX0VRKDNVLCBwYWNrZWRbbmR4KytdKTsgLy8gY291bnQKKyAgRVhQRUNUX0VRKDExVSwgcGFja2VkW25keCsrXSk7IC8vIGZsYWdzCisgIEVYUEVDVF9FUSg4VSwgcGFja2VkW25keCsrXSk7IC8vIGdyb3VwIG9mZnNldCBkZWx0YQorICBFWFBFQ1RfRVEoNDJVLCBwYWNrZWRbbmR4KytdKTsgLy8gaW5mbworICAvLyBUaHJlZSByZWxvY2F0aW9ucywgOCBieXRlIG9mZnNldCBkZWx0YXMsIC0yNCBieXRlIGFkZGVuZCBkZWx0YXMuCisgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx0eXBlbmFtZSBFTEY6OkFkZHI+KC0yNCksIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dHlwZW5hbWUgRUxGOjpBZGRyPigtMjQpLCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHR5cGVuYW1lIEVMRjo6QWRkcj4oLTI0KSwgcGFja2VkW25keCsrXSk7CisKKyAgLy8gYW5kIGxhc3QgLSAyIHJlbG9jYXRpb25zIHdpdGhvdXQgYWRkZW5kCisgIEVYUEVDVF9FUSgyVSwgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgwVSwgcGFja2VkW25keCsrXSk7IC8vIGZsYWdzCisgIC8vIG9mZnNldF9kZWx0YXMgYW5kIHJfaW5mb3MgZm9yIG5leHQgMiByZWxvY2F0aW9ucworICBFWFBFQ1RfRVEoMHgyMDA4VSwgcGFja2VkW25keCsrXSk7IC8vIG9mZnNldCBkZWx0YQorICBFWFBFQ1RfRVEoMTA0MlUsIHBhY2tlZFtuZHgrK10pOyAvLyByX2luZm8KKyAgRVhQRUNUX0VRKDB4OFUsIHBhY2tlZFtuZHgrK10pOyAvLyBvZmZzZXQgZGVsdGEKKyAgRVhQRUNUX0VRKDM0NDJVLCBwYWNrZWRbbmR4KytdKTsgLy8gcl9pbmZvCisKKyAgRVhQRUNUX0VRKHBhY2tlZC5zaXplKCksIG5keCk7Cit9CisKK1RFU1QoRGVsdGEsIEVuY29kZTMyKSB7CisgIGVuY29kZTxFTEYzMl90cmFpdHM+KCk7Cit9CisKK1RFU1QoRGVsdGEsIEVuY29kZTY0KSB7CisgIGVuY29kZTxFTEY2NF90cmFpdHM+KCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitzdGF0aWMgdm9pZCBkZWNvZGUoKSB7CisgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6QWRkcj4gcGFja2VkOworICBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OlJlbGE+IHJlbG9jYXRpb25zOworCisgIFJlbG9jYXRpb25EZWx0YUNvZGVjPEVMRj4gY29kZWM7CisgIGNvZGVjLkRlY29kZShwYWNrZWQsICZyZWxvY2F0aW9ucyk7CisKKyAgRVhQRUNUX0VRKDBVLCByZWxvY2F0aW9ucy5zaXplKCkpOworCisgIC8vIFNpeCBwYWlycy4KKyAgcGFja2VkLnB1c2hfYmFjayg2VSk7IC8vIGNvdW50CisgIHBhY2tlZC5wdXNoX2JhY2soMHhjMGRkZmZmYyk7IC8vIGJhc2Ugb2Zmc2V0CisgIHBhY2tlZC5wdXNoX2JhY2soM1UpOyAvLyBncm91cCBjb3VudAorICBwYWNrZWQucHVzaF9iYWNrKDExVSk7IC8vIGZsYWdzCisgIHBhY2tlZC5wdXNoX2JhY2soNFUpOyAvLyBvZmZzZXQgZGVsdGEKKyAgcGFja2VkLnB1c2hfYmFjaygxMVUpOyAvLyBpbmZvCisgIC8vIEluaXRpYWwgcmVsb2NhdGlvbi4KKyAgcGFja2VkLnB1c2hfYmFjaygxMDAwMFUpOworICAvLyBUd28gcmVsb2NhdGlvbnMsIDQgYnl0ZSBvZmZzZXQgZGVsdGFzLCAxMiBieXRlIGFkZGVuZCBkZWx0YXMuCisgIHBhY2tlZC5wdXNoX2JhY2soMTJVKTsgLy8gYWRkZW5kCisgIHBhY2tlZC5wdXNoX2JhY2soMTJVKTsgLy8gYWRkZW5kCisKKyAgLy8gVGhyZWUgcmVsb2NhdGlvbnMsIDggYnl0ZSBvZmZzZXQgZGVsdGFzLCAtMjQgYnl0ZSBhZGRlbmQgZGVsdGFzLgorICBwYWNrZWQucHVzaF9iYWNrKDFVKTsgLy8gZ3JvdXAgY291bnQKKyAgcGFja2VkLnB1c2hfYmFjayg5VSk7IC8vIGZsYWdzCisgIHBhY2tlZC5wdXNoX2JhY2soMTFVKTsgLy8gaW5mbworCisgIHBhY2tlZC5wdXNoX2JhY2soOFUpOworICBwYWNrZWQucHVzaF9iYWNrKHN0YXRpY19jYXN0PHR5cGVuYW1lIEVMRjo6QWRkcj4oLTI0KSk7CisgIC8vIG5leHQgZ3JvdXAgd2l0aCAyIHJlbG9jcworICBwYWNrZWQucHVzaF9iYWNrKDJVKTsgLy8gZ3JvdXAgY291bnQKKyAgcGFja2VkLnB1c2hfYmFjaygxMVUpOyAvLyBmbGFncworICBwYWNrZWQucHVzaF9iYWNrKDhVKTsgLy8gb2Zmc2V0CisgIHBhY2tlZC5wdXNoX2JhY2soNDJVKTsgLy8gaW5mbworCisgIHBhY2tlZC5wdXNoX2JhY2soc3RhdGljX2Nhc3Q8dHlwZW5hbWUgRUxGOjpBZGRyPigtMjQpKTsgLy8gYWRkZW5kCisgIHBhY2tlZC5wdXNoX2JhY2soc3RhdGljX2Nhc3Q8dHlwZW5hbWUgRUxGOjpBZGRyPigtMjQpKTsgLy8gYWRkZW5kCisKKyAgcmVsb2NhdGlvbnMuY2xlYXIoKTsKKyAgY29kZWMuRGVjb2RlKHBhY2tlZCwgJnJlbG9jYXRpb25zKTsKKworICBFWFBFQ1RfRVEoNlUsIHJlbG9jYXRpb25zLnNpemUoKSk7CisgIC8vIEluaXRpYWwgcmVsb2NhdGlvbi4KKyAgRVhQRUNUX1RSVUUoQ2hlY2tSZWxvY2F0aW9uKDB4YzBkZTAwMDAsIDExVSwgMTAwMDAsIHJlbG9jYXRpb25zWzBdKSk7CisgIC8vIFR3byByZWxvY2F0aW9ucywgNCBieXRlIG9mZnNldCBkZWx0YXMsIDEyIGJ5dGUgYWRkZW5kIGRlbHRhcy4KKyAgRVhQRUNUX1RSVUUoQ2hlY2tSZWxvY2F0aW9uKDB4YzBkZTAwMDQsIDExVSwgMTAwMTIsIHJlbG9jYXRpb25zWzFdKSk7CisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbigweGMwZGUwMDA4LCAxMVUsIDEwMDI0LCByZWxvY2F0aW9uc1syXSkpOworICAvLyBUaHJlZSByZWxvY2F0aW9ucywgOCBieXRlIG9mZnNldCBkZWx0YXMsIC0yNCBieXRlIGFkZGVuZCBkZWx0YXMuCisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbigweGMwZGUwMDEwLCAxMVUsIDEwMDAwLCByZWxvY2F0aW9uc1szXSkpOworICBFWFBFQ1RfVFJVRShDaGVja1JlbG9jYXRpb24oMHhjMGRlMDAxOCwgNDJVLCA5OTc2LCByZWxvY2F0aW9uc1s0XSkpOworICBFWFBFQ1RfVFJVRShDaGVja1JlbG9jYXRpb24oMHhjMGRlMDAyMCwgNDJVLCA5OTUyLCByZWxvY2F0aW9uc1s1XSkpOworfQorCitURVNUKERlbHRhLCBEZWNvZGUzMikgeworICBkZWNvZGU8RUxGMzJfdHJhaXRzPigpOworfQorCitURVNUKERlbHRhLCBEZWNvZGU2NCkgeworICBkZWNvZGU8RUxGNjRfdHJhaXRzPigpOworfQorCisvLyBUT0RPIChkaW1pdHJ5KTogYWRkIG1vcmUgdGVzdHMgKGZpeCBieSAxOSBKYW51YXJ5IDIwMzggMDM6MTQ6MDcgVVRDKQorLy8gVE9ETyAoZGltdGlyeSk6IDEuIEluY29ycmVjdCBwYWNrZWQgYXJyYXkgZm9yIGRlY29kZQorLy8gVE9ETyAoZGltdGlyeSk6IDIuIFRyeSB0byBjYXRjaCBzaXR1YXRpb24gd2hlcmUgaXQgaXMgbGlrZWx5IHRvIGdldCBzZXJpZXMgb2YgZ3JvdXBzIHdpdGggc2l6ZSAxCisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2VsZl9maWxlLmNjIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2VsZl9maWxlLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZGRkZTYKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZWxmX2ZpbGUuY2MKQEAgLTAsMCArMSw4OTcgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLy8gSW1wbGVtZW50YXRpb24gbm90ZXM6CisvLworLy8gV2UgbmVlZCB0byByZW1vdmUgYSBwaWVjZSBmcm9tIHRoZSBFTEYgc2hhcmVkIGxpYnJhcnkuICBIb3dldmVyLCB3ZSBhbHNvCisvLyB3YW50IHRvIGF2b2lkIGZpeGluZyBEV0FSRiBjZmkgZGF0YSBhbmQgcmVsYXRpdmUgcmVsb2NhdGlvbiBhZGRyZXNzZXMuCisvLyBTbyBhZnRlciBwYWNraW5nIHdlIHNoaWZ0IG9mZmV0cyBhbmQgc3RhcnRpbmcgYWRkcmVzcyBvZiB0aGUgUlggc2VnbWVudAorLy8gd2hpbGUgcHJlc2VydmluZyBjb2RlL2RhdGEgdmFkZHJzIGxvY2F0aW9uLgorLy8gVGhpcyByZXF1aXJlcyBzb21lIGZpeHVwcyBmb3Igc3ltdGFiL2hhc2gvZ251X2hhc2ggZHluYW1pYyBzZWN0aW9uIGFkZHJlc3Nlcy4KKworI2luY2x1ZGUgImVsZl9maWxlLmgiCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxhbGdvcml0aG0+CisjaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPHZlY3Rvcj4KKworI2luY2x1ZGUgImRlYnVnLmgiCisjaW5jbHVkZSAiZWxmX3RyYWl0cy5oIgorI2luY2x1ZGUgImxpYmVsZi5oIgorI2luY2x1ZGUgInBhY2tlci5oIgorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCisvLyBPdXQtb2YtYmFuZCBkeW5hbWljIHRhZ3MgdXNlZCB0byBpbmRpY2F0ZSB0aGUgb2Zmc2V0IGFuZCBzaXplIG9mIHRoZQorLy8gYW5kcm9pZCBwYWNrZWQgcmVsb2NhdGlvbnMgc2VjdGlvbi4KK3N0YXRpYyBjb25zdGV4cHIgaW50MzJfdCBEVF9BTkRST0lEX1JFTCA9IERUX0xPT1MgKyAyOworc3RhdGljIGNvbnN0ZXhwciBpbnQzMl90IERUX0FORFJPSURfUkVMU1ogPSBEVF9MT09TICsgMzsKKworc3RhdGljIGNvbnN0ZXhwciBpbnQzMl90IERUX0FORFJPSURfUkVMQSA9IERUX0xPT1MgKyA0Oworc3RhdGljIGNvbnN0ZXhwciBpbnQzMl90IERUX0FORFJPSURfUkVMQVNaID0gRFRfTE9PUyArIDU7CisKK3N0YXRpYyBjb25zdGV4cHIgdWludDMyX3QgU0hUX0FORFJPSURfUkVMID0gU0hUX0xPT1MgKyAxOworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBTSFRfQU5EUk9JRF9SRUxBID0gU0hUX0xPT1MgKyAyOworCisvLyBBbGlnbm1lbnQgdG8gcHJlc2VydmUsIGluIGJ5dGVzLiAgVGhpcyBtdXN0IGJlIGF0IGxlYXN0IGFzIGxhcmdlIGFzIHRoZQorLy8gbGFyZ2VzdCBkX2FsaWduIGFuZCBzaF9hZGRyYWxpZ24gdmFsdWVzIGZvdW5kIGluIHRoZSBsb2FkZWQgZmlsZS4KKy8vIE91dCBvZiBjYXV0aW9uIGZvciBSRUxSTyBwYWdlIGFsaWdubWVudCwgd2UgcHJlc2VydmUgdG8gYSBjb21wbGV0ZSB0YXJnZXQKKy8vIHBhZ2UuICBTZWUgaHR0cDovL3d3dy5haXJzLmNvbS9ibG9nL2FyY2hpdmVzLzE4OS4KK3N0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGtQcmVzZXJ2ZUFsaWdubWVudCA9IDQwOTY7CisKKy8vIEdldCBzZWN0aW9uIGRhdGEuICBDaGVja3MgdGhhdCB0aGUgc2VjdGlvbiBoYXMgZXhhY3RseSBvbmUgZGF0YSBlbnRyeSwKKy8vIHNvIHRoYXQgdGhlIHNlY3Rpb24gc2l6ZSBhbmQgdGhlIGRhdGEgc2l6ZSBhcmUgdGhlIHNhbWUuICBUcnVlIGluCisvLyBwcmFjdGljZSBmb3IgYWxsIHNlY3Rpb25zIHdlIHJlc2l6ZSB3aGVuIHBhY2tpbmcgb3IgdW5wYWNraW5nLiAgRG9uZQorLy8gYnkgZW5zdXJpbmcgdGhhdCBhIGNhbGwgdG8gZWxmX2dldGRhdGEoc2VjdGlvbiwgZGF0YSkgcmV0dXJucyBOVUxMIGFzCisvLyB0aGUgbmV4dCBkYXRhIGVudHJ5Lgorc3RhdGljIEVsZl9EYXRhKiBHZXRTZWN0aW9uRGF0YShFbGZfU2NuKiBzZWN0aW9uKSB7CisgIEVsZl9EYXRhKiBkYXRhID0gZWxmX2dldGRhdGEoc2VjdGlvbiwgTlVMTCk7CisgIENIRUNLKGRhdGEgJiYgZWxmX2dldGRhdGEoc2VjdGlvbiwgZGF0YSkgPT0gTlVMTCk7CisgIHJldHVybiBkYXRhOworfQorCisvLyBSZXdyaXRlIHNlY3Rpb24gZGF0YS4gIEFsbG9jYXRlcyBuZXcgZGF0YSBhbmQgbWFrZXMgaXQgdGhlIGRhdGEgZWxlbWVudCdzCisvLyBidWZmZXIuICBSZWxpZXMgb24gcHJvZ3JhbSBleGl0IHRvIGZyZWUgYWxsb2NhdGVkIGRhdGEuCitzdGF0aWMgdm9pZCBSZXdyaXRlU2VjdGlvbkRhdGEoRWxmX1Njbiogc2VjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkKiBzZWN0aW9uX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpIHsKKyAgRWxmX0RhdGEqIGRhdGEgPSBHZXRTZWN0aW9uRGF0YShzZWN0aW9uKTsKKyAgQ0hFQ0soc2l6ZSA9PSBkYXRhLT5kX3NpemUpOworICB1aW50OF90KiBhcmVhID0gbmV3IHVpbnQ4X3Rbc2l6ZV07CisgIG1lbWNweShhcmVhLCBzZWN0aW9uX2RhdGEsIHNpemUpOworICBkYXRhLT5kX2J1ZiA9IGFyZWE7Cit9CisKKy8vIFZlcmJvc2UgRUxGIGhlYWRlciBsb2dnaW5nLgordGVtcGxhdGUgPHR5cGVuYW1lIEVoZHI+CitzdGF0aWMgdm9pZCBWZXJib3NlTG9nRWxmSGVhZGVyKGNvbnN0IEVoZHIqIGVsZl9oZWFkZXIpIHsKKyAgVkxPRygxKSA8PCAiZV9waG9mZiA9ICIgPDwgZWxmX2hlYWRlci0+ZV9waG9mZjsKKyAgVkxPRygxKSA8PCAiZV9zaG9mZiA9ICIgPDwgZWxmX2hlYWRlci0+ZV9zaG9mZjsKKyAgVkxPRygxKSA8PCAiZV9laHNpemUgPSAiIDw8IGVsZl9oZWFkZXItPmVfZWhzaXplOworICBWTE9HKDEpIDw8ICJlX3BoZW50c2l6ZSA9ICIgPDwgZWxmX2hlYWRlci0+ZV9waGVudHNpemU7CisgIFZMT0coMSkgPDwgImVfcGhudW0gPSAiIDw8IGVsZl9oZWFkZXItPmVfcGhudW07CisgIFZMT0coMSkgPDwgImVfc2hudW0gPSAiIDw8IGVsZl9oZWFkZXItPmVfc2hudW07CisgIFZMT0coMSkgPDwgImVfc2hzdHJuZHggPSAiIDw8IGVsZl9oZWFkZXItPmVfc2hzdHJuZHg7Cit9CisKKy8vIFZlcmJvc2UgRUxGIHByb2dyYW0gaGVhZGVyIGxvZ2dpbmcuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUGhkcj4KK3N0YXRpYyB2b2lkIFZlcmJvc2VMb2dQcm9ncmFtSGVhZGVyKHNpemVfdCBwcm9ncmFtX2hlYWRlcl9pbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUGhkciogcHJvZ3JhbV9oZWFkZXIpIHsKKyAgc3RkOjpzdHJpbmcgdHlwZTsKKyAgc3dpdGNoIChwcm9ncmFtX2hlYWRlci0+cF90eXBlKSB7CisgICAgY2FzZSBQVF9OVUxMOiB0eXBlID0gIk5VTEwiOyBicmVhazsKKyAgICBjYXNlIFBUX0xPQUQ6IHR5cGUgPSAiTE9BRCI7IGJyZWFrOworICAgIGNhc2UgUFRfRFlOQU1JQzogdHlwZSA9ICJEWU5BTUlDIjsgYnJlYWs7CisgICAgY2FzZSBQVF9JTlRFUlA6IHR5cGUgPSAiSU5URVJQIjsgYnJlYWs7CisgICAgY2FzZSBQVF9QSERSOiB0eXBlID0gIlBIRFIiOyBicmVhazsKKyAgICBjYXNlIFBUX0dOVV9SRUxSTzogdHlwZSA9ICJHTlVfUkVMUk8iOyBicmVhazsKKyAgICBjYXNlIFBUX0dOVV9TVEFDSzogdHlwZSA9ICJHTlVfU1RBQ0siOyBicmVhazsKKyAgICBjYXNlIFBUX0FSTV9FWElEWDogdHlwZSA9ICJFWElEWCI7IGJyZWFrOworICAgIGRlZmF1bHQ6IHR5cGUgPSAiKE9USEVSKSI7IGJyZWFrOworICB9CisgIFZMT0coMSkgPDwgInBoZHJbIiA8PCBwcm9ncmFtX2hlYWRlcl9pbmRleCA8PCAiXSA6ICIgPDwgdHlwZTsKKyAgVkxPRygxKSA8PCAiICBwX29mZnNldCA9ICIgPDwgcHJvZ3JhbV9oZWFkZXItPnBfb2Zmc2V0OworICBWTE9HKDEpIDw8ICIgIHBfdmFkZHIgPSAiIDw8IHByb2dyYW1faGVhZGVyLT5wX3ZhZGRyOworICBWTE9HKDEpIDw8ICIgIHBfcGFkZHIgPSAiIDw8IHByb2dyYW1faGVhZGVyLT5wX3BhZGRyOworICBWTE9HKDEpIDw8ICIgIHBfZmlsZXN6ID0gIiA8PCBwcm9ncmFtX2hlYWRlci0+cF9maWxlc3o7CisgIFZMT0coMSkgPDwgIiAgcF9tZW1zeiA9ICIgPDwgcHJvZ3JhbV9oZWFkZXItPnBfbWVtc3o7CisgIFZMT0coMSkgPDwgIiAgcF9mbGFncyA9ICIgPDwgcHJvZ3JhbV9oZWFkZXItPnBfZmxhZ3M7CisgIFZMT0coMSkgPDwgIiAgcF9hbGlnbiA9ICIgPDwgcHJvZ3JhbV9oZWFkZXItPnBfYWxpZ247Cit9CisKKy8vIFZlcmJvc2UgRUxGIHNlY3Rpb24gaGVhZGVyIGxvZ2dpbmcuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgU2hkcj4KK3N0YXRpYyB2b2lkIFZlcmJvc2VMb2dTZWN0aW9uSGVhZGVyKGNvbnN0IHN0ZDo6c3RyaW5nJiBzZWN0aW9uX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNoZHIqIHNlY3Rpb25faGVhZGVyKSB7CisgIFZMT0coMSkgPDwgInNlY3Rpb24gIiA8PCBzZWN0aW9uX25hbWU7CisgIFZMT0coMSkgPDwgIiAgc2hfYWRkciA9ICIgPDwgc2VjdGlvbl9oZWFkZXItPnNoX2FkZHI7CisgIFZMT0coMSkgPDwgIiAgc2hfb2Zmc2V0ID0gIiA8PCBzZWN0aW9uX2hlYWRlci0+c2hfb2Zmc2V0OworICBWTE9HKDEpIDw8ICIgIHNoX3NpemUgPSAiIDw8IHNlY3Rpb25faGVhZGVyLT5zaF9zaXplOworICBWTE9HKDEpIDw8ICIgIHNoX2VudHNpemUgPSAiIDw8IHNlY3Rpb25faGVhZGVyLT5zaF9lbnRzaXplOworICBWTE9HKDEpIDw8ICIgIHNoX2FkZHJhbGlnbiA9ICIgPDwgc2VjdGlvbl9oZWFkZXItPnNoX2FkZHJhbGlnbjsKK30KKworLy8gVmVyYm9zZSBFTEYgc2VjdGlvbiBkYXRhIGxvZ2dpbmcuCitzdGF0aWMgdm9pZCBWZXJib3NlTG9nU2VjdGlvbkRhdGEoY29uc3QgRWxmX0RhdGEqIGRhdGEpIHsKKyAgVkxPRygxKSA8PCAiICBkYXRhIjsKKyAgVkxPRygxKSA8PCAiICAgIGRfYnVmID0gIiA8PCBkYXRhLT5kX2J1ZjsKKyAgVkxPRygxKSA8PCAiICAgIGRfb2ZmID0gIiA8PCBkYXRhLT5kX29mZjsKKyAgVkxPRygxKSA8PCAiICAgIGRfc2l6ZSA9ICIgPDwgZGF0YS0+ZF9zaXplOworICBWTE9HKDEpIDw8ICIgICAgZF9hbGlnbiA9ICIgPDwgZGF0YS0+ZF9hbGlnbjsKK30KKworLy8gTG9hZCB0aGUgY29tcGxldGUgRUxGIGZpbGUgaW50byBhIG1lbW9yeSBpbWFnZSBpbiBsaWJlbGYsIGFuZCBpZGVudGlmeQorLy8gdGhlIC5yZWwuZHluIG9yIC5yZWxhLmR5biwgLmR5bmFtaWMsIGFuZCAuYW5kcm9pZC5yZWwuZHluIG9yCisvLyAuYW5kcm9pZC5yZWxhLmR5biBzZWN0aW9ucy4gIE5vLW9wIGlmIHRoZSBFTEYgZmlsZSBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZC4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+Citib29sIEVsZkZpbGU8RUxGPjo6TG9hZCgpIHsKKyAgaWYgKGVsZl8pCisgICAgcmV0dXJuIHRydWU7CisKKyAgRWxmKiBlbGYgPSBlbGZfYmVnaW4oZmRfLCBFTEZfQ19SRFdSLCBOVUxMKTsKKyAgQ0hFQ0soZWxmKTsKKworICBpZiAoZWxmX2tpbmQoZWxmKSAhPSBFTEZfS19FTEYpIHsKKyAgICBMT0coRVJST1IpIDw8ICJGaWxlIG5vdCBpbiBFTEYgZm9ybWF0IjsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBhdXRvIGVsZl9oZWFkZXIgPSBFTEY6OmdldGVoZHIoZWxmKTsKKyAgaWYgKCFlbGZfaGVhZGVyKSB7CisgICAgTE9HKEVSUk9SKSA8PCAiRmFpbGVkIHRvIGxvYWQgRUxGIGhlYWRlcjogIiA8PCBlbGZfZXJybXNnKGVsZl9lcnJubygpKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBpZiAoZWxmX2hlYWRlci0+ZV90eXBlICE9IEVUX0RZTikgeworICAgIExPRyhFUlJPUikgPDwgIkVMRiBmaWxlIGlzIG5vdCBhIHNoYXJlZCBvYmplY3QiOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIC8vIFJlcXVpcmUgdGhhdCBvdXIgZW5kaWFubmVzcyBtYXRjaGVzIHRoYXQgb2YgdGhlIHRhcmdldCwgYW5kIHRoYXQgYm90aAorICAvLyBhcmUgbGl0dGxlLWVuZGlhbi4gIFNhZmUgZm9yIGFsbCBjdXJyZW50IGJ1aWxkL3RhcmdldCBjb21iaW5hdGlvbnMuCisgIGNvbnN0IGludCBlbmRpYW4gPSBlbGZfaGVhZGVyLT5lX2lkZW50W0VJX0RBVEFdOworICBDSEVDSyhlbmRpYW4gPT0gRUxGREFUQTJMU0IpOworICBDSEVDSyhfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXyk7CisKKyAgY29uc3QgaW50IGZpbGVfY2xhc3MgPSBlbGZfaGVhZGVyLT5lX2lkZW50W0VJX0NMQVNTXTsKKyAgVkxPRygxKSA8PCAiZW5kaWFuID0gIiA8PCBlbmRpYW4gPDwgIiwgZmlsZSBjbGFzcyA9ICIgPDwgZmlsZV9jbGFzczsKKyAgVmVyYm9zZUxvZ0VsZkhlYWRlcihlbGZfaGVhZGVyKTsKKworICBhdXRvIGVsZl9wcm9ncmFtX2hlYWRlciA9IEVMRjo6Z2V0cGhkcihlbGYpOworICBDSEVDSyhlbGZfcHJvZ3JhbV9oZWFkZXIgIT0gbnVsbHB0cik7CisKKyAgY29uc3QgdHlwZW5hbWUgRUxGOjpQaGRyKiBkeW5hbWljX3Byb2dyYW1faGVhZGVyID0gTlVMTDsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlbGZfaGVhZGVyLT5lX3BobnVtOyArK2kpIHsKKyAgICBhdXRvIHByb2dyYW1faGVhZGVyID0gJmVsZl9wcm9ncmFtX2hlYWRlcltpXTsKKyAgICBWZXJib3NlTG9nUHJvZ3JhbUhlYWRlcihpLCBwcm9ncmFtX2hlYWRlcik7CisKKyAgICBpZiAocHJvZ3JhbV9oZWFkZXItPnBfdHlwZSA9PSBQVF9EWU5BTUlDKSB7CisgICAgICBDSEVDSyhkeW5hbWljX3Byb2dyYW1faGVhZGVyID09IE5VTEwpOworICAgICAgZHluYW1pY19wcm9ncmFtX2hlYWRlciA9IHByb2dyYW1faGVhZGVyOworICAgIH0KKyAgfQorICBDSEVDSyhkeW5hbWljX3Byb2dyYW1faGVhZGVyICE9IG51bGxwdHIpOworCisgIHNpemVfdCBzdHJpbmdfaW5kZXg7CisgIGVsZl9nZXRzaGRyc3RybmR4KGVsZiwgJnN0cmluZ19pbmRleCk7CisKKyAgLy8gTm90ZXMgb2YgdGhlIGR5bmFtaWMgcmVsb2NhdGlvbnMsIHBhY2tlZCByZWxvY2F0aW9ucywgYW5kIC5keW5hbWljCisgIC8vIHNlY3Rpb25zLiAgRm91bmQgd2hpbGUgaXRlcmF0aW5nIHNlY3Rpb25zLCBhbmQgbGF0ZXIgc3RvcmVkIGluIGNsYXNzCisgIC8vIGF0dHJpYnV0ZXMuCisgIEVsZl9TY24qIGZvdW5kX3JlbG9jYXRpb25zX3NlY3Rpb24gPSBudWxscHRyOworICBFbGZfU2NuKiBmb3VuZF9keW5hbWljX3NlY3Rpb24gPSBudWxscHRyOworCisgIC8vIE5vdGVzIG9mIHJlbG9jYXRpb24gc2VjdGlvbiB0eXBlcyBzZWVuLiAgV2UgcmVxdWlyZSBvbmUgb3IgdGhlIG90aGVyIG9mCisgIC8vIHRoZXNlOyBib3RoIGlzIHVuc3VwcG9ydGVkLgorICBib29sIGhhc19yZWxfcmVsb2NhdGlvbnMgPSBmYWxzZTsKKyAgYm9vbCBoYXNfcmVsYV9yZWxvY2F0aW9ucyA9IGZhbHNlOworICBib29sIGhhc19hbmRyb2lkX3JlbG9jYXRpb25zID0gZmFsc2U7CisKKyAgRWxmX1Njbiogc2VjdGlvbiA9IE5VTEw7CisgIHdoaWxlICgoc2VjdGlvbiA9IGVsZl9uZXh0c2NuKGVsZiwgc2VjdGlvbikpICE9IG51bGxwdHIpIHsKKyAgICBhdXRvIHNlY3Rpb25faGVhZGVyID0gRUxGOjpnZXRzaGRyKHNlY3Rpb24pOworICAgIHN0ZDo6c3RyaW5nIG5hbWUgPSBlbGZfc3RycHRyKGVsZiwgc3RyaW5nX2luZGV4LCBzZWN0aW9uX2hlYWRlci0+c2hfbmFtZSk7CisgICAgVmVyYm9zZUxvZ1NlY3Rpb25IZWFkZXIobmFtZSwgc2VjdGlvbl9oZWFkZXIpOworCisgICAgLy8gTm90ZSByZWxvY2F0aW9uIHNlY3Rpb24gdHlwZXMuCisgICAgaWYgKHNlY3Rpb25faGVhZGVyLT5zaF90eXBlID09IFNIVF9SRUwgfHwgc2VjdGlvbl9oZWFkZXItPnNoX3R5cGUgPT0gU0hUX0FORFJPSURfUkVMKSB7CisgICAgICBoYXNfcmVsX3JlbG9jYXRpb25zID0gdHJ1ZTsKKyAgICB9CisgICAgaWYgKHNlY3Rpb25faGVhZGVyLT5zaF90eXBlID09IFNIVF9SRUxBIHx8IHNlY3Rpb25faGVhZGVyLT5zaF90eXBlID09IFNIVF9BTkRST0lEX1JFTEEpIHsKKyAgICAgIGhhc19yZWxhX3JlbG9jYXRpb25zID0gdHJ1ZTsKKyAgICB9CisKKyAgICAvLyBOb3RlIHNwZWNpYWwgc2VjdGlvbnMgYXMgd2UgZW5jb3VudGVyIHRoZW0uCisgICAgaWYgKChuYW1lID09ICIucmVsLmR5biIgfHwgbmFtZSA9PSAiLnJlbGEuZHluIikgJiYKKyAgICAgICAgc2VjdGlvbl9oZWFkZXItPnNoX3NpemUgPiAwKSB7CisgICAgICBmb3VuZF9yZWxvY2F0aW9uc19zZWN0aW9uID0gc2VjdGlvbjsKKworICAgICAgLy8gTm90ZSBpZiByZWxvY2F0aW9uIHNlY3Rpb24gaXMgYWxyZWFkeSBwYWNrZWQKKyAgICAgIGhhc19hbmRyb2lkX3JlbG9jYXRpb25zID0KKyAgICAgICAgICBzZWN0aW9uX2hlYWRlci0+c2hfdHlwZSA9PSBTSFRfQU5EUk9JRF9SRUwgfHwKKyAgICAgICAgICBzZWN0aW9uX2hlYWRlci0+c2hfdHlwZSA9PSBTSFRfQU5EUk9JRF9SRUxBOworICAgIH0KKworICAgIGlmIChzZWN0aW9uX2hlYWRlci0+c2hfb2Zmc2V0ID09IGR5bmFtaWNfcHJvZ3JhbV9oZWFkZXItPnBfb2Zmc2V0KSB7CisgICAgICBmb3VuZF9keW5hbWljX3NlY3Rpb24gPSBzZWN0aW9uOworICAgIH0KKworICAgIC8vIEVuc3VyZSB3ZSBwcmVzZXJ2ZSBhbGlnbm1lbnQsIHJlcGVhdGVkIGxhdGVyIGZvciB0aGUgZGF0YSBibG9jayhzKS4KKyAgICBDSEVDSyhzZWN0aW9uX2hlYWRlci0+c2hfYWRkcmFsaWduIDw9IGtQcmVzZXJ2ZUFsaWdubWVudCk7CisKKyAgICBFbGZfRGF0YSogZGF0YSA9IE5VTEw7CisgICAgd2hpbGUgKChkYXRhID0gZWxmX2dldGRhdGEoc2VjdGlvbiwgZGF0YSkpICE9IE5VTEwpIHsKKyAgICAgIENIRUNLKGRhdGEtPmRfYWxpZ24gPD0ga1ByZXNlcnZlQWxpZ25tZW50KTsKKyAgICAgIFZlcmJvc2VMb2dTZWN0aW9uRGF0YShkYXRhKTsKKyAgICB9CisgIH0KKworICAvLyBMb2FkaW5nIGZhaWxlZCBpZiB3ZSBkaWQgbm90IGZpbmQgdGhlIHJlcXVpcmVkIHNwZWNpYWwgc2VjdGlvbnMuCisgIGlmICghZm91bmRfcmVsb2NhdGlvbnNfc2VjdGlvbikgeworICAgIExPRyhFUlJPUikgPDwgIk1pc3Npbmcgb3IgZW1wdHkgLnJlbC5keW4gb3IgLnJlbGEuZHluIHNlY3Rpb24iOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICBpZiAoIWZvdW5kX2R5bmFtaWNfc2VjdGlvbikgeworICAgIExPRyhFUlJPUikgPDwgIk1pc3NpbmcgLmR5bmFtaWMgc2VjdGlvbiI7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgLy8gTG9hZGluZyBmYWlsZWQgaWYgd2UgY291bGQgbm90IGlkZW50aWZ5IHRoZSByZWxvY2F0aW9ucyB0eXBlLgorICBpZiAoIWhhc19yZWxfcmVsb2NhdGlvbnMgJiYgIWhhc19yZWxhX3JlbG9jYXRpb25zKSB7CisgICAgTE9HKEVSUk9SKSA8PCAiTm8gcmVsb2NhdGlvbnMgc2VjdGlvbnMgZm91bmQiOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICBpZiAoaGFzX3JlbF9yZWxvY2F0aW9ucyAmJiBoYXNfcmVsYV9yZWxvY2F0aW9ucykgeworICAgIExPRyhFUlJPUikgPDwgIk11bHRpcGxlIHJlbG9jYXRpb25zIHNlY3Rpb25zIHdpdGggZGlmZmVyZW50IHR5cGVzIGZvdW5kLCAiCisgICAgICAgICAgICAgICA8PCAibm90IGN1cnJlbnRseSBzdXBwb3J0ZWQiOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIGVsZl8gPSBlbGY7CisgIHJlbG9jYXRpb25zX3NlY3Rpb25fID0gZm91bmRfcmVsb2NhdGlvbnNfc2VjdGlvbjsKKyAgZHluYW1pY19zZWN0aW9uXyA9IGZvdW5kX2R5bmFtaWNfc2VjdGlvbjsKKyAgcmVsb2NhdGlvbnNfdHlwZV8gPSBoYXNfcmVsX3JlbG9jYXRpb25zID8gUkVMIDogUkVMQTsKKyAgaGFzX2FuZHJvaWRfcmVsb2NhdGlvbnNfID0gaGFzX2FuZHJvaWRfcmVsb2NhdGlvbnM7CisgIHJldHVybiB0cnVlOworfQorCisvLyBIZWxwZXIgZm9yIFJlc2l6ZVNlY3Rpb24oKS4gIEFkanVzdCB0aGUgbWFpbiBFTEYgaGVhZGVyIGZvciB0aGUgaG9sZS4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitzdGF0aWMgdm9pZCBBZGp1c3RFbGZIZWFkZXJGb3JIb2xlKHR5cGVuYW1lIEVMRjo6RWhkciogZWxmX2hlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgRUxGOjpPZmYgaG9sZV9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NpemVfdCBob2xlX3NpemUpIHsKKyAgaWYgKGVsZl9oZWFkZXItPmVfcGhvZmYgPiBob2xlX3N0YXJ0KSB7CisgICAgZWxmX2hlYWRlci0+ZV9waG9mZiArPSBob2xlX3NpemU7CisgICAgVkxPRygxKSA8PCAiZV9waG9mZiBhZGp1c3RlZCB0byAiIDw8IGVsZl9oZWFkZXItPmVfcGhvZmY7CisgIH0KKyAgaWYgKGVsZl9oZWFkZXItPmVfc2hvZmYgPiBob2xlX3N0YXJ0KSB7CisgICAgZWxmX2hlYWRlci0+ZV9zaG9mZiArPSBob2xlX3NpemU7CisgICAgVkxPRygxKSA8PCAiZV9zaG9mZiBhZGp1c3RlZCB0byAiIDw8IGVsZl9oZWFkZXItPmVfc2hvZmY7CisgIH0KK30KKworLy8gSGVscGVyIGZvciBSZXNpemVTZWN0aW9uKCkuICBBZGp1c3QgYWxsIHNlY3Rpb24gaGVhZGVycyBmb3IgdGhlIGhvbGUuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIHZvaWQgQWRqdXN0U2VjdGlvbkhlYWRlcnNGb3JIb2xlKEVsZiogZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEVMRjo6T2ZmIGhvbGVfc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NpemVfdCBob2xlX3NpemUpIHsKKyAgc2l6ZV90IHN0cmluZ19pbmRleDsKKyAgZWxmX2dldHNoZHJzdHJuZHgoZWxmLCAmc3RyaW5nX2luZGV4KTsKKworICBFbGZfU2NuKiBzZWN0aW9uID0gTlVMTDsKKyAgd2hpbGUgKChzZWN0aW9uID0gZWxmX25leHRzY24oZWxmLCBzZWN0aW9uKSkgIT0gTlVMTCkgeworICAgIGF1dG8gc2VjdGlvbl9oZWFkZXIgPSBFTEY6OmdldHNoZHIoc2VjdGlvbik7CisgICAgc3RkOjpzdHJpbmcgbmFtZSA9IGVsZl9zdHJwdHIoZWxmLCBzdHJpbmdfaW5kZXgsIHNlY3Rpb25faGVhZGVyLT5zaF9uYW1lKTsKKworICAgIGlmIChzZWN0aW9uX2hlYWRlci0+c2hfb2Zmc2V0ID4gaG9sZV9zdGFydCkgeworICAgICAgc2VjdGlvbl9oZWFkZXItPnNoX29mZnNldCArPSBob2xlX3NpemU7CisgICAgICBWTE9HKDEpIDw8ICJzZWN0aW9uICIgPDwgbmFtZQorICAgICAgICAgICAgICA8PCAiIHNoX29mZnNldCBhZGp1c3RlZCB0byAiIDw8IHNlY3Rpb25faGVhZGVyLT5zaF9vZmZzZXQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHNlY3Rpb25faGVhZGVyLT5zaF9hZGRyIC09IGhvbGVfc2l6ZTsKKyAgICAgIFZMT0coMSkgPDwgInNlY3Rpb24gIiA8PCBuYW1lCisgICAgICAgICAgICAgIDw8ICIgc2hfYWRkciBhZGp1c3RlZCB0byAiIDw8IHNlY3Rpb25faGVhZGVyLT5zaF9hZGRyOworICAgIH0KKyAgfQorfQorCisvLyBIZWxwZXIgZm9yIFJlc2l6ZVNlY3Rpb24oKS4gIEFkanVzdCB0aGUgb2Zmc2V0cyBvZiBhbnkgcHJvZ3JhbSBoZWFkZXJzCisvLyB0aGF0IGhhdmUgb2Zmc2V0cyBjdXJyZW50bHkgYmV5b25kIHRoZSBob2xlIHN0YXJ0LgordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK3N0YXRpYyB2b2lkIEFkanVzdFByb2dyYW1IZWFkZXJPZmZzZXRzKHR5cGVuYW1lIEVMRjo6UGhkciogcHJvZ3JhbV9oZWFkZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgRUxGOjpPZmYgaG9sZV9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaXplX3QgaG9sZV9zaXplKSB7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgeworICAgIHR5cGVuYW1lIEVMRjo6UGhkciogcHJvZ3JhbV9oZWFkZXIgPSAmcHJvZ3JhbV9oZWFkZXJzW2ldOworCisgICAgaWYgKHByb2dyYW1faGVhZGVyLT5wX29mZnNldCA+IGhvbGVfc3RhcnQpIHsKKyAgICAgIC8vIFRoZSBob2xlIHN0YXJ0IGlzIHBhc3QgdGhpcyBzZWdtZW50LCBzbyBhZGp1c3Qgb2Zmc2V0LgorICAgICAgcHJvZ3JhbV9oZWFkZXItPnBfb2Zmc2V0ICs9IGhvbGVfc2l6ZTsKKyAgICAgIFZMT0coMSkgPDwgInBoZHJbIiA8PCBpCisgICAgICAgICAgICAgIDw8ICJdIHBfb2Zmc2V0IGFkanVzdGVkIHRvICI8PCBwcm9ncmFtX2hlYWRlci0+cF9vZmZzZXQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHByb2dyYW1faGVhZGVyLT5wX3ZhZGRyIC09IGhvbGVfc2l6ZTsKKyAgICAgIHByb2dyYW1faGVhZGVyLT5wX3BhZGRyIC09IGhvbGVfc2l6ZTsKKyAgICAgIFZMT0coMSkgPDwgInBoZHJbIiA8PCBpCisgICAgICAgICAgICAgIDw8ICJdIHBfdmFkZHIgYWRqdXN0ZWQgdG8gIjw8IHByb2dyYW1faGVhZGVyLT5wX3ZhZGRyCisgICAgICAgICAgICAgIDw8ICI7IHBfcGFkZHIgYWRqdXN0ZWQgdG8gIjw8IHByb2dyYW1faGVhZGVyLT5wX3BhZGRyOworICAgIH0KKyAgfQorfQorCisvLyBIZWxwZXIgZm9yIFJlc2l6ZVNlY3Rpb24oKS4gIEZpbmQgdGhlIGZpcnN0IGxvYWRhYmxlIHNlZ21lbnQgaW4gdGhlCisvLyBmaWxlLiAgV2UgZXhwZWN0IGl0IHRvIG1hcCBmcm9tIGZpbGUgb2Zmc2V0IHplcm8uCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIHR5cGVuYW1lIEVMRjo6UGhkciogRmluZExvYWRTZWdtZW50Rm9ySG9sZSh0eXBlbmFtZSBFTEY6OlBoZHIqIHByb2dyYW1faGVhZGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBFTEY6Ok9mZiBob2xlX3N0YXJ0KSB7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgeworICAgIHR5cGVuYW1lIEVMRjo6UGhkciogcHJvZ3JhbV9oZWFkZXIgPSAmcHJvZ3JhbV9oZWFkZXJzW2ldOworCisgICAgaWYgKHByb2dyYW1faGVhZGVyLT5wX3R5cGUgPT0gUFRfTE9BRCAmJgorICAgICAgICBwcm9ncmFtX2hlYWRlci0+cF9vZmZzZXQgPD0gaG9sZV9zdGFydCAmJgorICAgICAgICAocHJvZ3JhbV9oZWFkZXItPnBfb2Zmc2V0ICsgcHJvZ3JhbV9oZWFkZXItPnBfZmlsZXN6KSA+PSBob2xlX3N0YXJ0ICkgeworICAgICAgcmV0dXJuIHByb2dyYW1faGVhZGVyOworICAgIH0KKyAgfQorICBMT0coRkFUQUwpIDw8ICJDYW5ub3QgbG9jYXRlIGEgTE9BRCBzZWdtZW50IHdpdGggaG9sZV9zdGFydD0weCIgPDwgc3RkOjpoZXggPDwgaG9sZV9zdGFydDsKKyAgTk9UUkVBQ0hFRCgpOworCisgIHJldHVybiBudWxscHRyOworfQorCisvLyBIZWxwZXIgZm9yIFJlc2l6ZVNlY3Rpb24oKS4gIFJld3JpdGUgcHJvZ3JhbSBoZWFkZXJzLgordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK3N0YXRpYyB2b2lkIFJld3JpdGVQcm9ncmFtSGVhZGVyc0ZvckhvbGUoRWxmKiBlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEVMRjo6T2ZmIGhvbGVfc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaXplX3QgaG9sZV9zaXplKSB7CisgIGNvbnN0IHR5cGVuYW1lIEVMRjo6RWhkciogZWxmX2hlYWRlciA9IEVMRjo6Z2V0ZWhkcihlbGYpOworICBDSEVDSyhlbGZfaGVhZGVyKTsKKworICB0eXBlbmFtZSBFTEY6OlBoZHIqIGVsZl9wcm9ncmFtX2hlYWRlciA9IEVMRjo6Z2V0cGhkcihlbGYpOworICBDSEVDSyhlbGZfcHJvZ3JhbV9oZWFkZXIpOworCisgIGNvbnN0IHNpemVfdCBwcm9ncmFtX2hlYWRlcl9jb3VudCA9IGVsZl9oZWFkZXItPmVfcGhudW07CisKKyAgLy8gTG9jYXRlIHRoZSBzZWdtZW50IHRoYXQgd2UgY2FuIG92ZXJ3cml0ZSB0byBmb3JtIHRoZSBuZXcgTE9BRCBlbnRyeSwKKyAgLy8gYW5kIHRoZSBzZWdtZW50IHRoYXQgd2UgYXJlIGdvaW5nIHRvIHNwbGl0IGludG8gdHdvIHBhcnRzLgorICB0eXBlbmFtZSBFTEY6OlBoZHIqIHRhcmdldF9sb2FkX2hlYWRlciA9CisgICAgICBGaW5kTG9hZFNlZ21lbnRGb3JIb2xlPEVMRj4oZWxmX3Byb2dyYW1faGVhZGVyLCBwcm9ncmFtX2hlYWRlcl9jb3VudCwgaG9sZV9zdGFydCk7CisKKyAgVkxPRygxKSA8PCAicGhkclsiIDw8IHRhcmdldF9sb2FkX2hlYWRlciAtIGVsZl9wcm9ncmFtX2hlYWRlciA8PCAiXSBhZGp1c3QiOworICAvLyBBZGp1c3QgUFRfTE9BRCBwcm9ncmFtIGhlYWRlciBtZW1zeiBhbmQgZmlsZXN6CisgIHRhcmdldF9sb2FkX2hlYWRlci0+cF9maWxlc3ogKz0gaG9sZV9zaXplOworICB0YXJnZXRfbG9hZF9oZWFkZXItPnBfbWVtc3ogKz0gaG9sZV9zaXplOworCisgIC8vIEFkanVzdCB0aGUgb2Zmc2V0cyBhbmQgcF92YWRkcnMKKyAgQWRqdXN0UHJvZ3JhbUhlYWRlck9mZnNldHM8RUxGPihlbGZfcHJvZ3JhbV9oZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbV9oZWFkZXJfY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9sZV9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob2xlX3NpemUpOworfQorCisvLyBIZWxwZXIgZm9yIFJlc2l6ZVNlY3Rpb24oKS4gIExvY2F0ZSBhbmQgcmV0dXJuIHRoZSBkeW5hbWljIHNlY3Rpb24uCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIEVsZl9TY24qIEdldER5bmFtaWNTZWN0aW9uKEVsZiogZWxmKSB7CisgIGNvbnN0IHR5cGVuYW1lIEVMRjo6RWhkciogZWxmX2hlYWRlciA9IEVMRjo6Z2V0ZWhkcihlbGYpOworICBDSEVDSyhlbGZfaGVhZGVyKTsKKworICBjb25zdCB0eXBlbmFtZSBFTEY6OlBoZHIqIGVsZl9wcm9ncmFtX2hlYWRlciA9IEVMRjo6Z2V0cGhkcihlbGYpOworICBDSEVDSyhlbGZfcHJvZ3JhbV9oZWFkZXIpOworCisgIC8vIEZpbmQgdGhlIHByb2dyYW0gaGVhZGVyIHRoYXQgZGVzY3JpYmVzIHRoZSBkeW5hbWljIHNlY3Rpb24uCisgIGNvbnN0IHR5cGVuYW1lIEVMRjo6UGhkciogZHluYW1pY19wcm9ncmFtX2hlYWRlciA9IE5VTEw7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWxmX2hlYWRlci0+ZV9waG51bTsgKytpKSB7CisgICAgY29uc3QgdHlwZW5hbWUgRUxGOjpQaGRyKiBwcm9ncmFtX2hlYWRlciA9ICZlbGZfcHJvZ3JhbV9oZWFkZXJbaV07CisKKyAgICBpZiAocHJvZ3JhbV9oZWFkZXItPnBfdHlwZSA9PSBQVF9EWU5BTUlDKSB7CisgICAgICBkeW5hbWljX3Byb2dyYW1faGVhZGVyID0gcHJvZ3JhbV9oZWFkZXI7CisgICAgfQorICB9CisgIENIRUNLKGR5bmFtaWNfcHJvZ3JhbV9oZWFkZXIpOworCisgIC8vIE5vdyBmaW5kIHRoZSBzZWN0aW9uIHdpdGggdGhlIHNhbWUgb2Zmc2V0IGFzIHRoaXMgcHJvZ3JhbSBoZWFkZXIuCisgIEVsZl9TY24qIGR5bmFtaWNfc2VjdGlvbiA9IE5VTEw7CisgIEVsZl9TY24qIHNlY3Rpb24gPSBOVUxMOworICB3aGlsZSAoKHNlY3Rpb24gPSBlbGZfbmV4dHNjbihlbGYsIHNlY3Rpb24pKSAhPSBOVUxMKSB7CisgICAgdHlwZW5hbWUgRUxGOjpTaGRyKiBzZWN0aW9uX2hlYWRlciA9IEVMRjo6Z2V0c2hkcihzZWN0aW9uKTsKKworICAgIGlmIChzZWN0aW9uX2hlYWRlci0+c2hfb2Zmc2V0ID09IGR5bmFtaWNfcHJvZ3JhbV9oZWFkZXItPnBfb2Zmc2V0KSB7CisgICAgICBkeW5hbWljX3NlY3Rpb24gPSBzZWN0aW9uOworICAgIH0KKyAgfQorICBDSEVDSyhkeW5hbWljX3NlY3Rpb24gIT0gTlVMTCk7CisKKyAgcmV0dXJuIGR5bmFtaWNfc2VjdGlvbjsKK30KKworLy8gSGVscGVyIGZvciBSZXNpemVTZWN0aW9uKCkuICBBZGp1c3QgdGhlIC5keW5hbWljIHNlY3Rpb24gZm9yIHRoZSBob2xlLgordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK3ZvaWQgRWxmRmlsZTxFTEY+OjpBZGp1c3REeW5hbWljU2VjdGlvbkZvckhvbGUoRWxmX1NjbiogZHluYW1pY19zZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBFTEY6Ok9mZiBob2xlX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2l6ZV90IGhvbGVfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2NhdGlvbnNfdHlwZV90IHJlbG9jYXRpb25zX3R5cGUpIHsKKyAgQ0hFQ0socmVsb2NhdGlvbnNfdHlwZSAhPSBOT05FKTsKKyAgRWxmX0RhdGEqIGRhdGEgPSBHZXRTZWN0aW9uRGF0YShkeW5hbWljX3NlY3Rpb24pOworCisgIGF1dG8gZHluYW1pY19iYXNlID0gcmVpbnRlcnByZXRfY2FzdDx0eXBlbmFtZSBFTEY6OkR5bio+KGRhdGEtPmRfYnVmKTsKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpEeW4+IGR5bmFtaWNzKAorICAgICAgZHluYW1pY19iYXNlLAorICAgICAgZHluYW1pY19iYXNlICsgZGF0YS0+ZF9zaXplIC8gc2l6ZW9mKGR5bmFtaWNzWzBdKSk7CisKKyAgaWYgKGhvbGVfc2l6ZSA+IDApIHsgLy8gZXhwYW5kaW5nCisgICAgaG9sZV9zdGFydCArPSBob2xlX3NpemU7CisgIH0KKworICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGR5bmFtaWNzLnNpemUoKTsgKytpKSB7CisgICAgdHlwZW5hbWUgRUxGOjpEeW4qIGR5bmFtaWMgPSAmZHluYW1pY3NbaV07CisgICAgY29uc3QgdHlwZW5hbWUgRUxGOjpTd29yZCB0YWcgPSBkeW5hbWljLT5kX3RhZzsKKworICAgIC8vIEFueSB0YWdzIHRoYXQgaG9sZCBvZmZzZXRzIGFyZSBhZGp1c3RtZW50IGNhbmRpZGF0ZXMuCisgICAgY29uc3QgYm9vbCBpc19hZGp1c3RhYmxlID0gKHRhZyA9PSBEVF9QTFRHT1QgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnID09IERUX0hBU0ggfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnID09IERUX0dOVV9IQVNIIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZyA9PSBEVF9TVFJUQUIgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnID09IERUX1NZTVRBQiB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT0gRFRfUkVMQSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT0gRFRfSU5JVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT0gRFRfRklOSSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT0gRFRfUkVMIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZyA9PSBEVF9KTVBSRUwgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnID09IERUX0lOSVRfQVJSQVkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnID09IERUX0ZJTklfQVJSQVkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnID09IERUX1ZFUlNZTSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT0gRFRfVkVSTkVFRCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT0gRFRfVkVSREVGIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZyA9PSBEVF9BTkRST0lEX1JFTHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZyA9PSBEVF9BTkRST0lEX1JFTEEpOworCisgICAgaWYgKGlzX2FkanVzdGFibGUgJiYgZHluYW1pYy0+ZF91bi5kX3B0ciA8PSBob2xlX3N0YXJ0KSB7CisgICAgICBkeW5hbWljLT5kX3VuLmRfcHRyIC09IGhvbGVfc2l6ZTsKKyAgICAgIFZMT0coMSkgPDwgImR5bmFtaWNbIiA8PCBpIDw8ICJdICIgPDwgZHluYW1pYy0+ZF90YWcKKyAgICAgICAgICAgICAgPDwgIiBkX3B0ciBhZGp1c3RlZCB0byAiIDw8IGR5bmFtaWMtPmRfdW4uZF9wdHI7CisgICAgfQorCisgICAgLy8gRFRfUkVMU1ogb3IgRFRfUkVMQVNaIGluZGljYXRlIHRoZSBvdmVyYWxsIHNpemUgb2YgcmVsb2NhdGlvbnMuCisgICAgLy8gT25seSBvbmUgd2lsbCBiZSBwcmVzZW50LiAgQWRqdXN0IGJ5IGhvbGUgc2l6ZS4KKyAgICBpZiAodGFnID09IERUX1JFTFNaIHx8IHRhZyA9PSBEVF9SRUxBU1ogfHwgdGFnID09IERUX0FORFJPSURfUkVMU1ogfHwgdGFnID09IERUX0FORFJPSURfUkVMQVNaKSB7CisgICAgICBkeW5hbWljLT5kX3VuLmRfdmFsICs9IGhvbGVfc2l6ZTsKKyAgICAgIFZMT0coMSkgPDwgImR5bmFtaWNbIiA8PCBpIDw8ICJdICIgPDwgZHluYW1pYy0+ZF90YWcKKyAgICAgICAgICAgICAgPDwgIiBkX3ZhbCBhZGp1c3RlZCB0byAiIDw8IGR5bmFtaWMtPmRfdW4uZF92YWw7CisgICAgfQorCisgICAgLy8gSWdub3JlIERUX1JFTENPVU5UIGFuZCBEVF9SRUxBQ09VTlQ6ICgxKSBub2JvZHkgdXNlcyB0aGVtIGFuZAorICAgIC8vIHRlY2huaWNhbGx5ICgyKSB0aGUgcmVsYXRpdmUgcmVsb2NhdGlvbiBjb3VudCBpcyBub3QgY2hhbmdlZC4KKworICAgIC8vIERUX1JFTEVOVCBhbmQgRFRfUkVMQUVOVCBkb24ndCBjaGFuZ2UsIGlnbm9yZSB0aGVtIGFzIHdlbGwuCisgIH0KKworICB2b2lkKiBzZWN0aW9uX2RhdGEgPSAmZHluYW1pY3NbMF07CisgIHNpemVfdCBieXRlcyA9IGR5bmFtaWNzLnNpemUoKSAqIHNpemVvZihkeW5hbWljc1swXSk7CisgIFJld3JpdGVTZWN0aW9uRGF0YShkeW5hbWljX3NlY3Rpb24sIHNlY3Rpb25fZGF0YSwgYnl0ZXMpOworfQorCisvLyBSZXNpemUgYSBzZWN0aW9uLiAgSWYgdGhlIG5ldyBzaXplIGlzIGxhcmdlciB0aGFuIHRoZSBjdXJyZW50IHNpemUsIG9wZW4KKy8vIHVwIGEgaG9sZSBieSBpbmNyZWFzaW5nIGZpbGUgb2Zmc2V0cyB0aGF0IGNvbWUgYWZ0ZXIgdGhlIGhvbGUuICBJZiBzbWFsbGVyCisvLyB0aGFuIHRoZSBjdXJyZW50IHNpemUsIHJlbW92ZSB0aGUgaG9sZSBieSBkZWNyZWFzaW5nIHRob3NlIG9mZnNldHMuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgordm9pZCBFbGZGaWxlPEVMRj46OlJlc2l6ZVNlY3Rpb24oRWxmKiBlbGYsIEVsZl9TY24qIHNlY3Rpb24sIHNpemVfdCBuZXdfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEVMRjo6V29yZCBuZXdfc2hfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbG9jYXRpb25zX3R5cGVfdCByZWxvY2F0aW9uc190eXBlKSB7CisKKyAgc2l6ZV90IHN0cmluZ19pbmRleDsKKyAgZWxmX2dldHNoZHJzdHJuZHgoZWxmLCAmc3RyaW5nX2luZGV4KTsKKyAgYXV0byBzZWN0aW9uX2hlYWRlciA9IEVMRjo6Z2V0c2hkcihzZWN0aW9uKTsKKyAgc3RkOjpzdHJpbmcgbmFtZSA9IGVsZl9zdHJwdHIoZWxmLCBzdHJpbmdfaW5kZXgsIHNlY3Rpb25faGVhZGVyLT5zaF9uYW1lKTsKKworICBpZiAoc2VjdGlvbl9oZWFkZXItPnNoX3NpemUgPT0gbmV3X3NpemUpIHsKKyAgICByZXR1cm47CisgIH0KKworICAvLyBSZXF1aXJlIHRoYXQgdGhlIHNlY3Rpb24gc2l6ZSBhbmQgdGhlIGRhdGEgc2l6ZSBhcmUgdGhlIHNhbWUuICBUcnVlCisgIC8vIGluIHByYWN0aWNlIGZvciBhbGwgc2VjdGlvbnMgd2UgcmVzaXplIHdoZW4gcGFja2luZyBvciB1bnBhY2tpbmcuCisgIEVsZl9EYXRhKiBkYXRhID0gR2V0U2VjdGlvbkRhdGEoc2VjdGlvbik7CisgIENIRUNLKGRhdGEtPmRfb2ZmID09IDAgJiYgZGF0YS0+ZF9zaXplID09IHNlY3Rpb25faGVhZGVyLT5zaF9zaXplKTsKKworICAvLyBSZXF1aXJlIHRoYXQgdGhlIHNlY3Rpb24gaXMgbm90IHplcm8tbGVuZ3RoICh0aGF0IGlzLCBoYXMgYWxsb2NhdGVkCisgIC8vIGRhdGEgdGhhdCB3ZSBjYW4gdmFsaWRseSBleHBhbmQpLgorICBDSEVDSyhkYXRhLT5kX3NpemUgJiYgZGF0YS0+ZF9idWYpOworCisgIGNvbnN0IGF1dG8gaG9sZV9zdGFydCA9IHNlY3Rpb25faGVhZGVyLT5zaF9vZmZzZXQ7CisgIGNvbnN0IHNzaXplX3QgaG9sZV9zaXplID0gbmV3X3NpemUgLSBkYXRhLT5kX3NpemU7CisKKyAgVkxPR19JRigxLCAoaG9sZV9zaXplID4gMCkpIDw8ICJleHBhbmQgc2VjdGlvbiAoIiA8PCBuYW1lIDw8ICIpIHNpemU6ICIgPDwKKyAgICAgIGRhdGEtPmRfc2l6ZSA8PCAiIC0+ICIgPDwgKGRhdGEtPmRfc2l6ZSArIGhvbGVfc2l6ZSk7CisgIFZMT0dfSUYoMSwgKGhvbGVfc2l6ZSA8IDApKSA8PCAic2hyaW5rIHNlY3Rpb24gKCIgPDwgbmFtZSA8PCAiKSBzaXplOiAiIDw8CisgICAgICBkYXRhLT5kX3NpemUgPDwgIiAtPiAiIDw8IChkYXRhLT5kX3NpemUgKyBob2xlX3NpemUpOworCisgIC8vIGxpYmVsZiBvdmVycmlkZXMgc2hfZW50c2l6ZSBmb3Iga25vd24gc2hfdHlwZXMsIHNvIGl0IGRvZXMgbm90IG1hdHRlciB3aGF0IHdlIHNldAorICAvLyBmb3IgU0hUX1JFTC9TSFRfUkVMQS4KKyAgdHlwZW5hbWUgRUxGOjpYd29yZCBuZXdfZW50c2l6ZSA9CisgICAgICAobmV3X3NoX3R5cGUgPT0gU0hUX0FORFJPSURfUkVMIHx8IG5ld19zaF90eXBlID09IFNIVF9BTkRST0lEX1JFTEEpID8gMSA6IDA7CisKKyAgVkxPRygxKSA8PCAiVXBkYXRlIHNlY3Rpb24gKCIgPDwgbmFtZSA8PCAiKSBlbnRyeSBzaXplOiAiIDw8CisgICAgICBzZWN0aW9uX2hlYWRlci0+c2hfZW50c2l6ZSA8PCAiIC0+ICIgPDwgbmV3X2VudHNpemU7CisKKyAgLy8gUmVzaXplIHRoZSBkYXRhIGFuZCB0aGUgc2VjdGlvbiBoZWFkZXIuCisgIGRhdGEtPmRfc2l6ZSArPSBob2xlX3NpemU7CisgIHNlY3Rpb25faGVhZGVyLT5zaF9zaXplICs9IGhvbGVfc2l6ZTsKKyAgc2VjdGlvbl9oZWFkZXItPnNoX2VudHNpemUgPSBuZXdfZW50c2l6ZTsKKyAgc2VjdGlvbl9oZWFkZXItPnNoX3R5cGUgPSBuZXdfc2hfdHlwZTsKKworICAvLyBBZGQgdGhlIGhvbGUgc2l6ZSB0byBhbGwgb2Zmc2V0cyBpbiB0aGUgRUxGIGZpbGUgdGhhdCBhcmUgYWZ0ZXIgdGhlCisgIC8vIHN0YXJ0IG9mIHRoZSBob2xlLiAgSWYgdGhlIGhvbGUgc2l6ZSBpcyBwb3NpdGl2ZSB3ZSBhcmUgZXhwYW5kaW5nIHRoZQorICAvLyBzZWN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBob2xlOyBpZiBuZWdhdGl2ZSwgd2UgYXJlIGNsb3NpbmcgdXAgYSBob2xlLgorCisgIC8vIFN0YXJ0IHdpdGggdGhlIG1haW4gRUxGIGhlYWRlci4KKyAgdHlwZW5hbWUgRUxGOjpFaGRyKiBlbGZfaGVhZGVyID0gRUxGOjpnZXRlaGRyKGVsZik7CisgIEFkanVzdEVsZkhlYWRlckZvckhvbGU8RUxGPihlbGZfaGVhZGVyLCBob2xlX3N0YXJ0LCBob2xlX3NpemUpOworCisgIC8vIEFkanVzdCBhbGwgc2VjdGlvbiBoZWFkZXJzLgorICBBZGp1c3RTZWN0aW9uSGVhZGVyc0ZvckhvbGU8RUxGPihlbGYsIGhvbGVfc3RhcnQsIGhvbGVfc2l6ZSk7CisKKyAgLy8gUmV3cml0ZSB0aGUgcHJvZ3JhbSBoZWFkZXJzIHRvIGVpdGhlciBzcGxpdCBvciBjb2FsZXNjZSBzZWdtZW50cywKKyAgLy8gYW5kIGFkanVzdCBkeW5hbWljIGVudHJpZXMgdG8gbWF0Y2guCisgIFJld3JpdGVQcm9ncmFtSGVhZGVyc0ZvckhvbGU8RUxGPihlbGYsIGhvbGVfc3RhcnQsIGhvbGVfc2l6ZSk7CisKKyAgRWxmX1NjbiogZHluYW1pY19zZWN0aW9uID0gR2V0RHluYW1pY1NlY3Rpb248RUxGPihlbGYpOworICBBZGp1c3REeW5hbWljU2VjdGlvbkZvckhvbGUoZHluYW1pY19zZWN0aW9uLCBob2xlX3N0YXJ0LCBob2xlX3NpemUsIHJlbG9jYXRpb25zX3R5cGUpOworfQorCisvLyBGaW5kIHRoZSBmaXJzdCBzbG90IGluIGEgZHluYW1pY3MgYXJyYXkgd2l0aCB0aGUgZ2l2ZW4gdGFnLiAgVGhlIGFycmF5CisvLyBhbHdheXMgZW5kcyB3aXRoIGEgZnJlZSAodW51c2VkKSBlbGVtZW50LCBhbmQgd2hpY2ggd2UgZXhjbHVkZSBmcm9tIHRoZQorLy8gc2VhcmNoLiAgUmV0dXJucyBkeW5hbWljcy0+c2l6ZSgpIGlmIG5vdCBmb3VuZC4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitzdGF0aWMgc2l6ZV90IEZpbmREeW5hbWljRW50cnkodHlwZW5hbWUgRUxGOjpTd29yZCB0YWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpEeW4+KiBkeW5hbWljcykgeworICAvLyBMb29wIHVudGlsIHRoZSBwZW51bHRpbWF0ZSBlbnRyeS4gIFdlIGV4Y2x1ZGUgdGhlIGVuZCBzZW50aW5lbC4KKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkeW5hbWljcy0+c2l6ZSgpIC0gMTsgKytpKSB7CisgICAgaWYgKGR5bmFtaWNzLT5hdChpKS5kX3RhZyA9PSB0YWcpIHsKKyAgICAgIHJldHVybiBpOworICAgIH0KKyAgfQorCisgIC8vIFRoZSB0YWcgd2FzIG5vdCBmb3VuZC4KKyAgcmV0dXJuIGR5bmFtaWNzLT5zaXplKCk7Cit9CisKKy8vIFJlcGxhY2UgZHluYW1pYyBlbnRyeS4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitzdGF0aWMgdm9pZCBSZXBsYWNlRHluYW1pY0VudHJ5KHR5cGVuYW1lIEVMRjo6U3dvcmQgdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlbmFtZSBFTEY6OkR5biYgZHluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OkR5bj4qIGR5bmFtaWNzKSB7CisgIGNvbnN0IHNpemVfdCBzbG90ID0gRmluZER5bmFtaWNFbnRyeTxFTEY+KHRhZywgZHluYW1pY3MpOworICBpZiAoc2xvdCA9PSBkeW5hbWljcy0+c2l6ZSgpKSB7CisgICAgTE9HKEZBVEFMKSA8PCAiRHluYW1pYyBzbG90IGlzIG5vdCBmb3VuZCBmb3IgdGFnPSIgPDwgdGFnOworICB9CisKKyAgLy8gUmVwbGFjZSB0aGlzIGVudHJ5IHdpdGggdGhlIG9uZSBzdXBwbGllZC4KKyAgZHluYW1pY3MtPmF0KHNsb3QpID0gZHluOworICBWTE9HKDEpIDw8ICJkeW5hbWljWyIgPDwgc2xvdCA8PCAiXSBvdmVyd3JpdHRlbiB3aXRoICIgPDwgZHluLmRfdGFnOworfQorCisvLyBSZW1vdmUgcmVsYXRpdmUgZW50cmllcyBmcm9tIGR5bmFtaWMgcmVsb2NhdGlvbnMgYW5kIHdyaXRlIGFzIHBhY2tlZAorLy8gZGF0YSBpbnRvIGFuZHJvaWQgcGFja2VkIHJlbG9jYXRpb25zLgordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK2Jvb2wgRWxmRmlsZTxFTEY+OjpQYWNrUmVsb2NhdGlvbnMoKSB7CisgIC8vIExvYWQgdGhlIEVMRiBmaWxlIGludG8gbGliZWxmLgorICBpZiAoIUxvYWQoKSkgeworICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBsb2FkIGFzIEVMRiI7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgLy8gUmV0cmlldmUgdGhlIGN1cnJlbnQgZHluYW1pYyByZWxvY2F0aW9ucyBzZWN0aW9uIGRhdGEuCisgIEVsZl9EYXRhKiBkYXRhID0gR2V0U2VjdGlvbkRhdGEocmVsb2NhdGlvbnNfc2VjdGlvbl8pOworICAvLyB3ZSBhbHdheXMgcGFjayByZWxhLCBiZWNhdXNlIHBhY2tlZCBmb3JtYXQgaXMgcHJldHR5IG11Y2ggdGhlIHNhbWUKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiByZWxvY2F0aW9uczsKKworICBpZiAocmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMKSB7CisgICAgLy8gQ29udmVydCBkYXRhIHRvIGEgdmVjdG9yIG9mIHJlbG9jYXRpb25zLgorICAgIGNvbnN0IHR5cGVuYW1lIEVMRjo6UmVsKiByZWxvY2F0aW9uc19iYXNlID0gcmVpbnRlcnByZXRfY2FzdDx0eXBlbmFtZSBFTEY6OlJlbCo+KGRhdGEtPmRfYnVmKTsKKyAgICBDb252ZXJ0UmVsQXJyYXlUb1JlbGFWZWN0b3IocmVsb2NhdGlvbnNfYmFzZSwKKyAgICAgICAgZGF0YS0+ZF9zaXplIC8gc2l6ZW9mKHR5cGVuYW1lIEVMRjo6UmVsKSwgJnJlbG9jYXRpb25zKTsKKyAgICBWTE9HKDEpIDw8ICJSZWxvY2F0aW9ucyAgIDogUkVMIjsKKyAgfSBlbHNlIGlmIChyZWxvY2F0aW9uc190eXBlXyA9PSBSRUxBKSB7CisgICAgLy8gQ29udmVydCBkYXRhIHRvIGEgdmVjdG9yIG9mIHJlbG9jYXRpb25zIHdpdGggYWRkZW5kcy4KKyAgICBjb25zdCB0eXBlbmFtZSBFTEY6OlJlbGEqIHJlbG9jYXRpb25zX2Jhc2UgPSByZWludGVycHJldF9jYXN0PHR5cGVuYW1lIEVMRjo6UmVsYSo+KGRhdGEtPmRfYnVmKTsKKyAgICByZWxvY2F0aW9ucyA9IHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4oCisgICAgICAgIHJlbG9jYXRpb25zX2Jhc2UsCisgICAgICAgIHJlbG9jYXRpb25zX2Jhc2UgKyBkYXRhLT5kX3NpemUgLyBzaXplb2YocmVsb2NhdGlvbnNbMF0pKTsKKworICAgIFZMT0coMSkgPDwgIlJlbG9jYXRpb25zICAgOiBSRUxBIjsKKyAgfSBlbHNlIHsKKyAgICBOT1RSRUFDSEVEKCk7CisgIH0KKworICByZXR1cm4gUGFja1R5cGVkUmVsb2NhdGlvbnMoJnJlbG9jYXRpb25zKTsKK30KKworLy8gSGVscGVyIGZvciBQYWNrUmVsb2NhdGlvbnMoKS4gIFJlbCB0eXBlIGlzIG9uZSBvZiBFTEY6OlJlbCBvciBFTEY6OlJlbGEuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorYm9vbCBFbGZGaWxlPEVMRj46OlBhY2tUeXBlZFJlbG9jYXRpb25zKHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4qIHJlbG9jYXRpb25zKSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgRUxGOjpSZWxhIFJlbGE7CisKKyAgaWYgKGhhc19hbmRyb2lkX3JlbG9jYXRpb25zXykgeworICAgIExPRyhJTkZPKSA8PCAiUmVsb2NhdGlvbiB0YWJsZSBpcyBhbHJlYWR5IHBhY2tlZCI7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICAvLyBJZiBubyByZWxvY2F0aW9ucyB0aGVuIHdlIGhhdmUgbm90aGluZyBwYWNrYWJsZS4gIFBlcmhhcHMKKyAgLy8gdGhlIHNoYXJlZCBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiBwYWNrZWQ/CisgIGlmIChyZWxvY2F0aW9ucy0+ZW1wdHkoKSkgeworICAgIExPRyhFUlJPUikgPDwgIk5vIHJlbG9jYXRpb25zIGZvdW5kIjsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBjb25zdCBzaXplX3QgcmVsX3NpemUgPQorICAgICAgcmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMQSA/IHNpemVvZih0eXBlbmFtZSBFTEY6OlJlbGEpIDogc2l6ZW9mKHR5cGVuYW1lIEVMRjo6UmVsKTsKKyAgY29uc3Qgc2l6ZV90IGluaXRpYWxfYnl0ZXMgPSByZWxvY2F0aW9ucy0+c2l6ZSgpICogcmVsX3NpemU7CisKKyAgVkxPRygxKSA8PCAiVW5wYWNrZWQgICAgICAgICAgICAgICAgICAgOiAiIDw8IGluaXRpYWxfYnl0ZXMgPDwgIiBieXRlcyI7CisgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IHBhY2tlZDsKKyAgUmVsb2NhdGlvblBhY2tlcjxFTEY+IHBhY2tlcjsKKworICAvLyBQYWNrIHJlbG9jYXRpb25zOiBkcnkgcnVuIHRvIGVzdGltYXRlIG1lbW9yeSBzYXZpbmdzLgorICBwYWNrZXIuUGFja1JlbG9jYXRpb25zKCpyZWxvY2F0aW9ucywgJnBhY2tlZCk7CisgIGNvbnN0IHNpemVfdCBwYWNrZWRfYnl0ZXNfZXN0aW1hdGUgPSBwYWNrZWQuc2l6ZSgpICogc2l6ZW9mKHBhY2tlZFswXSk7CisgIFZMT0coMSkgPDwgIlBhY2tlZCAgICAgICAgIChubyBwYWRkaW5nKTogIiA8PCBwYWNrZWRfYnl0ZXNfZXN0aW1hdGUgPDwgIiBieXRlcyI7CisKKyAgaWYgKHBhY2tlZC5lbXB0eSgpKSB7CisgICAgTE9HKElORk8pIDw8ICJUb28gZmV3IHJlbG9jYXRpb25zIHRvIHBhY2siOworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgLy8gUHJlLWNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaG9sZSB3ZSB3aWxsIGNsb3NlIHVwIHdoZW4gd2UgcmV3cml0ZQorICAvLyBkeW5hbWljIHJlbG9jYXRpb25zLiAgV2UgaGF2ZSB0byBhZGp1c3QgcmVsb2NhdGlvbiBhZGRyZXNzZXMgdG8KKyAgLy8gYWNjb3VudCBmb3IgdGhpcy4KKyAgdHlwZW5hbWUgRUxGOjpTaGRyKiBzZWN0aW9uX2hlYWRlciA9IEVMRjo6Z2V0c2hkcihyZWxvY2F0aW9uc19zZWN0aW9uXyk7CisgIHNzaXplX3QgaG9sZV9zaXplID0gaW5pdGlhbF9ieXRlcyAtIHBhY2tlZF9ieXRlc19lc3RpbWF0ZTsKKworICAvLyBob2xlX3NpemUgbmVlZHMgdG8gYmUgcGFnZV9hbGlnbmVkLgorICBob2xlX3NpemUgLT0gaG9sZV9zaXplICUga1ByZXNlcnZlQWxpZ25tZW50OworCisgIExPRyhJTkZPKSA8PCAiQ29tcGFjdGlvbiAgICAgICAgICAgICAgICAgOiAiIDw8IGhvbGVfc2l6ZSA8PCAiIGJ5dGVzIjsKKworICAvLyBBZGp1c3RpbmcgZm9yIGFsaWdubWVudCBtYXkgaGF2ZSByZW1vdmVkIGFueSBwYWNraW5nIGJlbmVmaXQuCisgIGlmIChob2xlX3NpemUgPT0gMCkgeworICAgIExPRyhJTkZPKSA8PCAiVG9vIGZldyByZWxvY2F0aW9ucyB0byBwYWNrIGFmdGVyIGFsaWdubWVudCI7CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBpZiAoaG9sZV9zaXplIDw9IDApIHsKKyAgICBMT0coSU5GTykgPDwgIlBhY2tpbmcgcmVsb2NhdGlvbnMgc2F2ZXMgbm8gc3BhY2UiOworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgc2l6ZV90IGRhdGFfcGFkZGluZ19ieXRlcyA9IGlzX3BhZGRpbmdfcmVsb2NhdGlvbnNfID8KKyAgICAgIGluaXRpYWxfYnl0ZXMgLSBwYWNrZWRfYnl0ZXNfZXN0aW1hdGUgOgorICAgICAgaW5pdGlhbF9ieXRlcyAtIGhvbGVfc2l6ZSAtIHBhY2tlZF9ieXRlc19lc3RpbWF0ZTsKKworICAvLyBwYWQgZGF0YQorICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBwYWRkaW5nKGRhdGFfcGFkZGluZ19ieXRlcywgMCk7CisgIHBhY2tlZC5pbnNlcnQocGFja2VkLmVuZCgpLCBwYWRkaW5nLmJlZ2luKCksIHBhZGRpbmcuZW5kKCkpOworCisgIGNvbnN0IHZvaWQqIHBhY2tlZF9kYXRhID0gJnBhY2tlZFswXTsKKworICAvLyBSdW4gYSBsb29wYmFjayBzZWxmLXRlc3QgYXMgYSBjaGVjayB0aGF0IHBhY2tpbmcgaXMgbG9zc2xlc3MuCisgIHN0ZDo6dmVjdG9yPFJlbGE+IHVucGFja2VkOworICBwYWNrZXIuVW5wYWNrUmVsb2NhdGlvbnMocGFja2VkLCAmdW5wYWNrZWQpOworICBDSEVDSyh1bnBhY2tlZC5zaXplKCkgPT0gcmVsb2NhdGlvbnMtPnNpemUoKSk7CisgIENIRUNLKCFtZW1jbXAoJnVucGFja2VkWzBdLAorICAgICAgICAgICAgICAgICZyZWxvY2F0aW9ucy0+YXQoMCksCisgICAgICAgICAgICAgICAgdW5wYWNrZWQuc2l6ZSgpICogc2l6ZW9mKHVucGFja2VkWzBdKSkpOworCisgIC8vIFJld3JpdGUgdGhlIGN1cnJlbnQgZHluYW1pYyByZWxvY2F0aW9ucyBzZWN0aW9uIHdpdGggcGFja2VkIG9uZSB0aGVuIHNocmluayBpdCB0byBzaXplLgorICBjb25zdCBzaXplX3QgYnl0ZXMgPSBwYWNrZWQuc2l6ZSgpICogc2l6ZW9mKHBhY2tlZFswXSk7CisgIFJlc2l6ZVNlY3Rpb24oZWxmXywgcmVsb2NhdGlvbnNfc2VjdGlvbl8sIGJ5dGVzLAorICAgICAgcmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMID8gU0hUX0FORFJPSURfUkVMIDogU0hUX0FORFJPSURfUkVMQSwgcmVsb2NhdGlvbnNfdHlwZV8pOworICBSZXdyaXRlU2VjdGlvbkRhdGEocmVsb2NhdGlvbnNfc2VjdGlvbl8sIHBhY2tlZF9kYXRhLCBieXRlcyk7CisKKyAgLy8gVE9ETyAoZGltaXRyeSk6IGZpeCBzdHJpbmcgdGFibGUgYW5kIHJlcGxhY2UgLnJlbC5keW4vcGx0IHdpdGggLmFuZHJvaWQucmVsLmR5bi9wbHQKKworICAvLyBSZXdyaXRlIC5keW5hbWljIGFuZCByZW5hbWUgcmVsb2NhdGlvbiB0YWdzIGRlc2NyaWJpbmcgdGhlIHBhY2tlZCBhbmRyb2lkCisgIC8vIHJlbG9jYXRpb25zLgorICBFbGZfRGF0YSogZGF0YSA9IEdldFNlY3Rpb25EYXRhKGR5bmFtaWNfc2VjdGlvbl8pOworICBjb25zdCB0eXBlbmFtZSBFTEY6OkR5biogZHluYW1pY19iYXNlID0gcmVpbnRlcnByZXRfY2FzdDx0eXBlbmFtZSBFTEY6OkR5bio+KGRhdGEtPmRfYnVmKTsKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpEeW4+IGR5bmFtaWNzKAorICAgICAgZHluYW1pY19iYXNlLAorICAgICAgZHluYW1pY19iYXNlICsgZGF0YS0+ZF9zaXplIC8gc2l6ZW9mKGR5bmFtaWNzWzBdKSk7CisgIHNlY3Rpb25faGVhZGVyID0gRUxGOjpnZXRzaGRyKHJlbG9jYXRpb25zX3NlY3Rpb25fKTsKKyAgeworICAgIHR5cGVuYW1lIEVMRjo6RHluIGR5bjsKKyAgICBkeW4uZF90YWcgPSByZWxvY2F0aW9uc190eXBlXyA9PSBSRUwgPyBEVF9BTkRST0lEX1JFTCA6IERUX0FORFJPSURfUkVMQTsKKyAgICBkeW4uZF91bi5kX3B0ciA9IHNlY3Rpb25faGVhZGVyLT5zaF9hZGRyOworICAgIFJlcGxhY2VEeW5hbWljRW50cnk8RUxGPihyZWxvY2F0aW9uc190eXBlXyA9PSBSRUwgPyBEVF9SRUwgOiBEVF9SRUxBLCBkeW4sICZkeW5hbWljcyk7CisgIH0KKyAgeworICAgIHR5cGVuYW1lIEVMRjo6RHluIGR5bjsKKyAgICBkeW4uZF90YWcgPSByZWxvY2F0aW9uc190eXBlXyA9PSBSRUwgPyBEVF9BTkRST0lEX1JFTFNaIDogRFRfQU5EUk9JRF9SRUxBU1o7CisgICAgZHluLmRfdW4uZF92YWwgPSBzZWN0aW9uX2hlYWRlci0+c2hfc2l6ZTsKKyAgICBSZXBsYWNlRHluYW1pY0VudHJ5PEVMRj4ocmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMID8gRFRfUkVMU1ogOiBEVF9SRUxBU1osIGR5biwgJmR5bmFtaWNzKTsKKyAgfQorCisgIGNvbnN0IHZvaWQqIGR5bmFtaWNzX2RhdGEgPSAmZHluYW1pY3NbMF07CisgIGNvbnN0IHNpemVfdCBkeW5hbWljc19ieXRlcyA9IGR5bmFtaWNzLnNpemUoKSAqIHNpemVvZihkeW5hbWljc1swXSk7CisgIFJld3JpdGVTZWN0aW9uRGF0YShkeW5hbWljX3NlY3Rpb25fLCBkeW5hbWljc19kYXRhLCBkeW5hbWljc19ieXRlcyk7CisKKyAgRmx1c2goKTsKKyAgcmV0dXJuIHRydWU7Cit9CisKKy8vIEZpbmQgcGFja2VkIHJlbGF0aXZlIHJlbG9jYXRpb25zIGluIHRoZSBwYWNrZWQgYW5kcm9pZCByZWxvY2F0aW9ucworLy8gc2VjdGlvbiwgdW5wYWNrIHRoZW0sIGFuZCByZXdyaXRlIHRoZSBkeW5hbWljIHJlbG9jYXRpb25zIHNlY3Rpb24gdG8KKy8vIGNvbnRhaW4gdW5wYWNrZWQgZGF0YS4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+Citib29sIEVsZkZpbGU8RUxGPjo6VW5wYWNrUmVsb2NhdGlvbnMoKSB7CisgIC8vIExvYWQgdGhlIEVMRiBmaWxlIGludG8gbGliZWxmLgorICBpZiAoIUxvYWQoKSkgeworICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBsb2FkIGFzIEVMRiI7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgdHlwZW5hbWUgRUxGOjpTaGRyKiBzZWN0aW9uX2hlYWRlciA9IEVMRjo6Z2V0c2hkcihyZWxvY2F0aW9uc19zZWN0aW9uXyk7CisgIC8vIFJldHJpZXZlIHRoZSBjdXJyZW50IHBhY2tlZCBhbmRyb2lkIHJlbG9jYXRpb25zIHNlY3Rpb24gZGF0YS4KKyAgRWxmX0RhdGEqIGRhdGEgPSBHZXRTZWN0aW9uRGF0YShyZWxvY2F0aW9uc19zZWN0aW9uXyk7CisKKyAgLy8gQ29udmVydCBkYXRhIHRvIGEgdmVjdG9yIG9mIGJ5dGVzLgorICBjb25zdCB1aW50OF90KiBwYWNrZWRfYmFzZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGRhdGEtPmRfYnVmKTsKKyAgc3RkOjp2ZWN0b3I8dWludDhfdD4gcGFja2VkKAorICAgICAgcGFja2VkX2Jhc2UsCisgICAgICBwYWNrZWRfYmFzZSArIGRhdGEtPmRfc2l6ZSAvIHNpemVvZihwYWNrZWRbMF0pKTsKKworICBpZiAoKHNlY3Rpb25faGVhZGVyLT5zaF90eXBlID09IFNIVF9BTkRST0lEX1JFTEEgfHwgc2VjdGlvbl9oZWFkZXItPnNoX3R5cGUgPT0gU0hUX0FORFJPSURfUkVMKSAmJgorICAgICAgcGFja2VkLnNpemUoKSA+IDMgJiYKKyAgICAgIHBhY2tlZFswXSA9PSAnQScgJiYKKyAgICAgIHBhY2tlZFsxXSA9PSAnUCcgJiYKKyAgICAgIHBhY2tlZFsyXSA9PSAnUycgJiYKKyAgICAgIHBhY2tlZFszXSA9PSAnMicpIHsKKyAgICBMT0coSU5GTykgPDwgIlJlbG9jYXRpb25zICAgOiAiIDw8IChyZWxvY2F0aW9uc190eXBlXyA9PSBSRUwgPyAiUkVMIiA6ICJSRUxBIik7CisgIH0gZWxzZSB7CisgICAgTE9HKEVSUk9SKSA8PCAiUGFja2VkIHJlbG9jYXRpb25zIG5vdCBmb3VuZCAobm90IHBhY2tlZD8pIjsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICByZXR1cm4gVW5wYWNrVHlwZWRSZWxvY2F0aW9ucyhwYWNrZWQpOworfQorCisvLyBIZWxwZXIgZm9yIFVucGFja1JlbG9jYXRpb25zKCkuICBSZWwgdHlwZSBpcyBvbmUgb2YgRUxGOjpSZWwgb3IgRUxGOjpSZWxhLgordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK2Jvb2wgRWxmRmlsZTxFTEY+OjpVbnBhY2tUeXBlZFJlbG9jYXRpb25zKGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+JiBwYWNrZWQpIHsKKyAgLy8gVW5wYWNrIHRoZSBkYXRhIHRvIHJlLW1hdGVyaWFsaXplIHRoZSByZWxhdGl2ZSByZWxvY2F0aW9ucy4KKyAgY29uc3Qgc2l6ZV90IHBhY2tlZF9ieXRlcyA9IHBhY2tlZC5zaXplKCkgKiBzaXplb2YocGFja2VkWzBdKTsKKyAgTE9HKElORk8pIDw8ICJQYWNrZWQgICAgICAgICAgIDogIiA8PCBwYWNrZWRfYnl0ZXMgPDwgIiBieXRlcyI7CisgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4gdW5wYWNrZWRfcmVsb2NhdGlvbnM7CisgIFJlbG9jYXRpb25QYWNrZXI8RUxGPiBwYWNrZXI7CisgIHBhY2tlci5VbnBhY2tSZWxvY2F0aW9ucyhwYWNrZWQsICZ1bnBhY2tlZF9yZWxvY2F0aW9ucyk7CisKKyAgY29uc3Qgc2l6ZV90IHJlbG9jYXRpb25fZW50cnlfc2l6ZSA9CisgICAgICByZWxvY2F0aW9uc190eXBlXyA9PSBSRUwgPyBzaXplb2YodHlwZW5hbWUgRUxGOjpSZWwpIDogc2l6ZW9mKHR5cGVuYW1lIEVMRjo6UmVsYSk7CisgIGNvbnN0IHNpemVfdCB1bnBhY2tlZF9ieXRlcyA9IHVucGFja2VkX3JlbG9jYXRpb25zLnNpemUoKSAqIHJlbG9jYXRpb25fZW50cnlfc2l6ZTsKKyAgTE9HKElORk8pIDw8ICJVbnBhY2tlZCAgICAgICAgIDogIiA8PCB1bnBhY2tlZF9ieXRlcyA8PCAiIGJ5dGVzIjsKKworICAvLyBSZXRyaWV2ZSB0aGUgY3VycmVudCBkeW5hbWljIHJlbG9jYXRpb25zIHNlY3Rpb24gZGF0YS4KKyAgRWxmX0RhdGEqIGRhdGEgPSBHZXRTZWN0aW9uRGF0YShyZWxvY2F0aW9uc19zZWN0aW9uXyk7CisKKyAgTE9HKElORk8pIDw8ICJSZWxvY2F0aW9ucyAgICAgIDogIiA8PCB1bnBhY2tlZF9yZWxvY2F0aW9ucy5zaXplKCkgPDwgIiBlbnRyaWVzIjsKKworICAvLyBJZiB3ZSBmb3VuZCB0aGUgc2FtZSBudW1iZXIgb2YgbnVsbCByZWxvY2F0aW9uIGVudHJpZXMgaW4gdGhlIGR5bmFtaWMKKyAgLy8gcmVsb2NhdGlvbnMgc2VjdGlvbiBhcyB3ZSBob2xkIGFzIHVucGFja2VkIHJlbGF0aXZlIHJlbG9jYXRpb25zLCB0aGVuCisgIC8vIHRoaXMgaXMgYSBwYWRkZWQgZmlsZS4KKworICBjb25zdCBib29sIGlzX3BhZGRlZCA9IHBhY2tlZF9ieXRlcyA9PSB1bnBhY2tlZF9ieXRlczsKKworICAvLyBVbmxlc3MgcGFkZGVkLCBwcmUtYXBwbHkgcmVsYXRpdmUgcmVsb2NhdGlvbnMgdG8gYWNjb3VudCBmb3IgdGhlCisgIC8vIGhvbGUsIGFuZCBwcmUtYWRqdXN0IGFsbCByZWxvY2F0aW9uIG9mZnNldHMgYWNjb3JkaW5nbHkuCisgIHR5cGVuYW1lIEVMRjo6U2hkciogc2VjdGlvbl9oZWFkZXIgPSBFTEY6OmdldHNoZHIocmVsb2NhdGlvbnNfc2VjdGlvbl8pOworCisgIGlmICghaXNfcGFkZGVkKSB7CisgICAgTE9HKElORk8pIDw8ICJFeHBhbnNpb24gICAgIDogIiA8PCB1bnBhY2tlZF9ieXRlcyAtIHBhY2tlZF9ieXRlcyA8PCAiIGJ5dGVzIjsKKyAgfQorCisgIC8vIFJld3JpdGUgdGhlIGN1cnJlbnQgZHluYW1pYyByZWxvY2F0aW9ucyBzZWN0aW9uIHdpdGggdW5wYWNrZWQgdmVyc2lvbiBvZgorICAvLyByZWxvY2F0aW9ucy4KKyAgY29uc3Qgdm9pZCogc2VjdGlvbl9kYXRhID0gbnVsbHB0cjsKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWw+IHVucGFja2VkX3JlbF9yZWxvY2F0aW9uczsKKyAgaWYgKHJlbG9jYXRpb25zX3R5cGVfID09IFJFTEEpIHsKKyAgICBzZWN0aW9uX2RhdGEgPSAmdW5wYWNrZWRfcmVsb2NhdGlvbnNbMF07CisgIH0gZWxzZSBpZiAocmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMKSB7CisgICAgQ29udmVydFJlbGFWZWN0b3JUb1JlbFZlY3Rvcih1bnBhY2tlZF9yZWxvY2F0aW9ucywgJnVucGFja2VkX3JlbF9yZWxvY2F0aW9ucyk7CisgICAgc2VjdGlvbl9kYXRhID0gJnVucGFja2VkX3JlbF9yZWxvY2F0aW9uc1swXTsKKyAgfSBlbHNlIHsKKyAgICBOT1RSRUFDSEVEKCk7CisgIH0KKworICBSZXNpemVTZWN0aW9uKGVsZl8sIHJlbG9jYXRpb25zX3NlY3Rpb25fLCB1bnBhY2tlZF9ieXRlcywKKyAgICAgIHJlbG9jYXRpb25zX3R5cGVfID09IFJFTCA/IFNIVF9SRUwgOiBTSFRfUkVMQSwgcmVsb2NhdGlvbnNfdHlwZV8pOworICBSZXdyaXRlU2VjdGlvbkRhdGEocmVsb2NhdGlvbnNfc2VjdGlvbl8sIHNlY3Rpb25fZGF0YSwgdW5wYWNrZWRfYnl0ZXMpOworCisgIC8vIFJld3JpdGUgLmR5bmFtaWMgdG8gcmVtb3ZlIHR3byB0YWdzIGRlc2NyaWJpbmcgcGFja2VkIGFuZHJvaWQgcmVsb2NhdGlvbnMuCisgIGRhdGEgPSBHZXRTZWN0aW9uRGF0YShkeW5hbWljX3NlY3Rpb25fKTsKKyAgY29uc3QgdHlwZW5hbWUgRUxGOjpEeW4qIGR5bmFtaWNfYmFzZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dHlwZW5hbWUgRUxGOjpEeW4qPihkYXRhLT5kX2J1Zik7CisgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6RHluPiBkeW5hbWljcygKKyAgICAgIGR5bmFtaWNfYmFzZSwKKyAgICAgIGR5bmFtaWNfYmFzZSArIGRhdGEtPmRfc2l6ZSAvIHNpemVvZihkeW5hbWljc1swXSkpOworICB7CisgICAgdHlwZW5hbWUgRUxGOjpEeW4gZHluOworICAgIGR5bi5kX3RhZyA9IHJlbG9jYXRpb25zX3R5cGVfID09IFJFTCA/IERUX1JFTCA6IERUX1JFTEE7CisgICAgZHluLmRfdW4uZF9wdHIgPSBzZWN0aW9uX2hlYWRlci0+c2hfYWRkcjsKKyAgICBSZXBsYWNlRHluYW1pY0VudHJ5PEVMRj4ocmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMID8gRFRfQU5EUk9JRF9SRUwgOiBEVF9BTkRST0lEX1JFTEEsCisgICAgICAgIGR5biwgJmR5bmFtaWNzKTsKKyAgfQorCisgIHsKKyAgICB0eXBlbmFtZSBFTEY6OkR5biBkeW47CisgICAgZHluLmRfdGFnID0gcmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMID8gRFRfUkVMU1ogOiBEVF9SRUxBU1o7CisgICAgZHluLmRfdW4uZF92YWwgPSBzZWN0aW9uX2hlYWRlci0+c2hfc2l6ZTsKKyAgICBSZXBsYWNlRHluYW1pY0VudHJ5PEVMRj4ocmVsb2NhdGlvbnNfdHlwZV8gPT0gUkVMID8gRFRfQU5EUk9JRF9SRUxTWiA6IERUX0FORFJPSURfUkVMQVNaLAorICAgICAgICBkeW4sICZkeW5hbWljcyk7CisgIH0KKworICBjb25zdCB2b2lkKiBkeW5hbWljc19kYXRhID0gJmR5bmFtaWNzWzBdOworICBjb25zdCBzaXplX3QgZHluYW1pY3NfYnl0ZXMgPSBkeW5hbWljcy5zaXplKCkgKiBzaXplb2YoZHluYW1pY3NbMF0pOworICBSZXdyaXRlU2VjdGlvbkRhdGEoZHluYW1pY19zZWN0aW9uXywgZHluYW1pY3NfZGF0YSwgZHluYW1pY3NfYnl0ZXMpOworCisgIEZsdXNoKCk7CisgIHJldHVybiB0cnVlOworfQorCisvLyBGbHVzaCByZXdyaXR0ZW4gc2hhcmVkIG9iamVjdCBmaWxlIGRhdGEuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgordm9pZCBFbGZGaWxlPEVMRj46OkZsdXNoKCkgeworICAvLyBGbGFnIGFsbCBFTEYgZGF0YSBoZWxkIGluIG1lbW9yeSBhcyBuZWVkaW5nIHRvIGJlIHdyaXR0ZW4gYmFjayB0byB0aGUKKyAgLy8gZmlsZSwgYW5kIHRlbGwgbGliZWxmIHRoYXQgd2UgaGF2ZSBjb250cm9sbGVkIHRoZSBmaWxlIGxheW91dC4KKyAgZWxmX2ZsYWdlbGYoZWxmXywgRUxGX0NfU0VULCBFTEZfRl9ESVJUWSk7CisgIGVsZl9mbGFnZWxmKGVsZl8sIEVMRl9DX1NFVCwgRUxGX0ZfTEFZT1VUKTsKKworICAvLyBXcml0ZSBFTEYgZGF0YSBiYWNrIHRvIGRpc2suCisgIGNvbnN0IG9mZl90IGZpbGVfYnl0ZXMgPSBlbGZfdXBkYXRlKGVsZl8sIEVMRl9DX1dSSVRFKTsKKyAgaWYgKGZpbGVfYnl0ZXMgPT0gLTEpIHsKKyAgICBMT0coRVJST1IpIDw8ICJlbGZfdXBkYXRlIGZhaWxlZDogIiA8PCBlbGZfZXJybXNnKGVsZl9lcnJubygpKTsKKyAgfQorCisgIENIRUNLKGZpbGVfYnl0ZXMgPiAwKTsKKyAgVkxPRygxKSA8PCAiZWxmX3VwZGF0ZSByZXR1cm5lZDogIiA8PCBmaWxlX2J5dGVzOworCisgIC8vIENsZWFuIHVwIGxpYmVsZiwgYW5kIHRydW5jYXRlIHRoZSBvdXRwdXQgZmlsZSB0byB0aGUgbnVtYmVyIG9mIGJ5dGVzCisgIC8vIHdyaXR0ZW4gYnkgZWxmX3VwZGF0ZSgpLgorICBlbGZfZW5kKGVsZl8pOworICBlbGZfID0gTlVMTDsKKyAgY29uc3QgaW50IHRydW5jYXRlID0gZnRydW5jYXRlKGZkXywgZmlsZV9ieXRlcyk7CisgIENIRUNLKHRydW5jYXRlID09IDApOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgordm9pZCBFbGZGaWxlPEVMRj46OkNvbnZlcnRSZWxBcnJheVRvUmVsYVZlY3Rvcihjb25zdCB0eXBlbmFtZSBFTEY6OlJlbCogcmVsX2FycmF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgcmVsX2FycmF5X3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4qIHJlbGFfdmVjdG9yKSB7CisgIGZvciAoc2l6ZV90IGkgPSAwOyBpPHJlbF9hcnJheV9zaXplOyArK2kpIHsKKyAgICB0eXBlbmFtZSBFTEY6OlJlbGEgcmVsYTsKKyAgICByZWxhLnJfb2Zmc2V0ID0gcmVsX2FycmF5W2ldLnJfb2Zmc2V0OworICAgIHJlbGEucl9pbmZvID0gcmVsX2FycmF5W2ldLnJfaW5mbzsKKyAgICByZWxhLnJfYWRkZW5kID0gMDsKKyAgICByZWxhX3ZlY3Rvci0+cHVzaF9iYWNrKHJlbGEpOworICB9Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+Cit2b2lkIEVsZkZpbGU8RUxGPjo6Q29udmVydFJlbGFWZWN0b3JUb1JlbFZlY3Rvcihjb25zdCBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OlJlbGE+JiByZWxhX3ZlY3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsPiogcmVsX3ZlY3RvcikgeworICBmb3IgKGF1dG8gcmVsYSA6IHJlbGFfdmVjdG9yKSB7CisgICAgdHlwZW5hbWUgRUxGOjpSZWwgcmVsOworICAgIHJlbC5yX29mZnNldCA9IHJlbGEucl9vZmZzZXQ7CisgICAgcmVsLnJfaW5mbyA9IHJlbGEucl9pbmZvOworICAgIENIRUNLKHJlbGEucl9hZGRlbmQgPT0gMCk7CisgICAgcmVsX3ZlY3Rvci0+cHVzaF9iYWNrKHJlbCk7CisgIH0KK30KKwordGVtcGxhdGUgY2xhc3MgRWxmRmlsZTxFTEYzMl90cmFpdHM+OwordGVtcGxhdGUgY2xhc3MgRWxmRmlsZTxFTEY2NF90cmFpdHM+OworCit9ICAvLyBuYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9lbGZfZmlsZS5oIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2VsZl9maWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZhY2M3NgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9lbGZfZmlsZS5oCkBAIC0wLDAgKzEsMTIxIEBACisvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIEVMRiBzaGFyZWQgb2JqZWN0IGZpbGUgdXBkYXRlcyBoYW5kbGVyLgorLy8KKy8vIFByb3ZpZGVzIGZ1bmN0aW9ucyB0byBwYWNrIHJlbG9jYXRpb25zIGluIHRoZSAucmVsLmR5biBvciAucmVsYS5keW4KKy8vIHNlY3Rpb25zLCBhbmQgdW5wYWNrIHRvIHJldHVybiB0aGUgZmlsZSB0byBpdHMgcHJlLXBhY2tlZCBzdGF0ZS4KKy8vCisvLyBTZXRQYWRkaW5nKCkgY2F1c2VzIFBhY2tSZWxvY2F0aW9ucygpIHRvIHBhZCAucmVsLmR5biBvciAucmVsYS5keW4gd2l0aAorLy8gTk9ORS10eXBlIGVudHJpZXMgcmF0aGVyIHRoYW4gY3V0dGluZyBhIGhvbGUgb3V0IG9mIHRoZSBzaGFyZWQgb2JqZWN0CisvLyBmaWxlLiAgVGhpcyBrZWVwcyBhbGwgbG9hZCBhZGRyZXNzZXMgYW5kIG9mZnNldHMgY29uc3RhbnQsIGFuZCBlbmFibGVzCisvLyBlYXNpZXIgZGVidWdnaW5nIGFuZCB0ZXN0aW5nLgorLy8KKy8vIEEgcGFja2VkIHNoYXJlZCBvYmplY3QgZmlsZSBpcyBzaG9ydGVyIHRoYW4gaXRzIG5vbi1wYWNrZWQgb3JpZ2luYWwuCisvLyBVbnBhY2tpbmcgYSBwYWNrZWQgZmlsZSByZXN0b3JlcyB0aGUgZmlsZSB0byBpdHMgbm9uLXBhY2tlZCBzdGF0ZS4KKworI2lmbmRlZiBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfRUxGX0ZJTEVfSF8KKyNkZWZpbmUgVE9PTFNfUkVMT0NBVElPTl9QQUNLRVJfU1JDX0VMRl9GSUxFX0hfCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKKyNpbmNsdWRlICJlbGYuaCIKKyNpbmNsdWRlICJsaWJlbGYuaCIKKyNpbmNsdWRlICJwYWNrZXIuaCIKKworbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyIHsKKworLy8gQW4gRWxmRmlsZSByZWFkcyBzaGFyZWQgb2JqZWN0cywgYW5kIHNodXR0bGVzIHJlbGF0aXZlIHJlbG9jYXRpb25zCisvLyBiZXR3ZWVuIC5yZWwuZHluIG9yIC5yZWxhLmR5biBhbmQgLmFuZHJvaWQucmVsLmR5biBvciAuYW5kcm9pZC5yZWxhLmR5bgorLy8gc2VjdGlvbnMuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorY2xhc3MgRWxmRmlsZSB7CisgcHVibGljOgorICBleHBsaWNpdCBFbGZGaWxlKGludCBmZCkKKyAgICAgIDogZmRfKGZkKSwgaXNfcGFkZGluZ19yZWxvY2F0aW9uc18oZmFsc2UpLCBlbGZfKE5VTEwpLAorICAgICAgICByZWxvY2F0aW9uc19zZWN0aW9uXyhOVUxMKSwgZHluYW1pY19zZWN0aW9uXyhOVUxMKSwKKyAgICAgICAgcmVsb2NhdGlvbnNfdHlwZV8oTk9ORSksIGhhc19hbmRyb2lkX3JlbG9jYXRpb25zXyhmYWxzZSkge30KKyAgfkVsZkZpbGUoKSB7fQorCisgIC8vIFNldCBwYWRkaW5nIG1vZGUuICBXaGVuIHBhZGRpbmcsIFBhY2tSZWxvY2F0aW9ucygpIHdpbGwgbm90IHNocmluaworICAvLyB0aGUgLnJlbC5keW4gb3IgLnJlbGEuZHluIHNlY3Rpb24sIGJ1dCBpbnN0ZWFkIHJlcGxhY2UgcmVsYXRpdmUgd2l0aAorICAvLyBOT05FLXR5cGUgZW50cmllcy4KKyAgLy8gfGZsYWd8IGlzIHRydWUgdG8gcGFkIC5yZWwuZHluIG9yIC5yZWxhLmR5biwgZmFsc2UgdG8gc2hyaW5rIGl0LgorICBpbmxpbmUgdm9pZCBTZXRQYWRkaW5nKGJvb2wgZmxhZykgeyBpc19wYWRkaW5nX3JlbG9jYXRpb25zXyA9IGZsYWc7IH0KKworICAvLyBUcmFuc2ZlciByZWxhdGl2ZSByZWxvY2F0aW9ucyBmcm9tIC5yZWwuZHluIG9yIC5yZWxhLmR5biB0byBhIHBhY2tlZAorICAvLyByZXByZXNlbnRhdGlvbiBpbiAuYW5kcm9pZC5yZWwuZHluIG9yIC5hbmRyb2lkLnJlbGEuZHluLiAgUmV0dXJucyB0cnVlCisgIC8vIG9uIHN1Y2Nlc3MuCisgIGJvb2wgUGFja1JlbG9jYXRpb25zKCk7CisKKyAgLy8gVHJhbnNmZXIgcmVsYXRpdmUgcmVsb2NhdGlvbnMgZnJvbSBhIHBhY2tlZCByZXByZXNlbnRhdGlvbiBpbgorICAvLyAuYW5kcm9pZC5yZWwuZHluIG9yIC5hbmRyb2lkLnJlbGEuZHluIHRvIC5yZWwuZHluIG9yIC5yZWxhLmR5bi4gIFJldHVybnMKKyAgLy8gdHJ1ZSBvbiBzdWNjZXNzLgorICBib29sIFVucGFja1JlbG9jYXRpb25zKCk7CisKKyBwcml2YXRlOgorICBlbnVtIHJlbG9jYXRpb25zX3R5cGVfdCB7CisgICAgTk9ORSA9IDAsIFJFTCwgUkVMQQorICB9OworCisgIC8vIExvYWQgYSBuZXcgRWxmRmlsZSBmcm9tIGEgZmlsZWRlc2NyaXB0b3IuICBJZiBmbHVzaGluZywgdGhlIGZpbGUgbXVzdAorICAvLyBiZSBvcGVuIGZvciByZWFkL3dyaXRlLiAgUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3NmdWwgRUxGIGZpbGUgbG9hZC4KKyAgLy8gfGZkfCBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvciBmb3IgdGhlIHNoYXJlZCBvYmplY3QuCisgIGJvb2wgTG9hZCgpOworCisgIC8vIFRlbXBsYXRlZCBwYWNrZXIsIGhlbHBlciBmb3IgUGFja1JlbG9jYXRpb25zKCkuICBSZWwgdHlwZSBpcyBvbmUgb2YKKyAgLy8gRUxGOjpSZWwgb3IgRUxGOjpSZWxhLgorICBib29sIFBhY2tUeXBlZFJlbG9jYXRpb25zKHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4qIHJlbG9jYXRpb25zKTsKKworICAvLyBUZW1wbGF0ZWQgdW5wYWNrZXIsIGhlbHBlciBmb3IgVW5wYWNrUmVsb2NhdGlvbnMoKS4gIFJlbCB0eXBlIGlzIG9uZSBvZgorICAvLyBFTEY6OlJlbCBvciBFTEY6OlJlbGEuCisgIGJvb2wgVW5wYWNrVHlwZWRSZWxvY2F0aW9ucyhjb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiYgcGFja2VkKTsKKworICAvLyBXcml0ZSBFTEYgZmlsZSBjaGFuZ2VzLgorICB2b2lkIEZsdXNoKCk7CisKKyAgdm9pZCBBZGp1c3RSZWxhdGl2ZVJlbG9jYXRpb25UYXJnZXRzKHR5cGVuYW1lIEVMRjo6T2ZmIGhvbGVfc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2l6ZV90IGhvbGVfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4qIHJlbG9jYXRpb25zKTsKKworICBzdGF0aWMgdm9pZCBSZXNpemVTZWN0aW9uKEVsZiogZWxmLCBFbGZfU2NuKiBzZWN0aW9uLCBzaXplX3QgbmV3X3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgRUxGOjpXb3JkIG5ld19zaF90eXBlLCByZWxvY2F0aW9uc190eXBlX3QgcmVsb2NhdGlvbnNfdHlwZSk7CisKKyAgc3RhdGljIHZvaWQgQWRqdXN0RHluYW1pY1NlY3Rpb25Gb3JIb2xlKEVsZl9TY24qIGR5bmFtaWNfc2VjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEVMRjo6T2ZmIGhvbGVfc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2l6ZV90IGhvbGVfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbG9jYXRpb25zX3R5cGVfdCByZWxvY2F0aW9uc190eXBlKTsKKworICBzdGF0aWMgdm9pZCBDb252ZXJ0UmVsQXJyYXlUb1JlbGFWZWN0b3IoY29uc3QgdHlwZW5hbWUgRUxGOjpSZWwqIHJlbF9hcnJheSwgc2l6ZV90IHJlbF9hcnJheV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiogcmVsYV92ZWN0b3IpOworCisgIHN0YXRpYyB2b2lkIENvbnZlcnRSZWxhVmVjdG9yVG9SZWxWZWN0b3IoY29uc3Qgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiYgcmVsYV92ZWN0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWw+KiByZWxfdmVjdG9yKTsKKworCisgIC8vIEZpbGUgZGVzY3JpcHRvciBvcGVuZWQgb24gdGhlIHNoYXJlZCBvYmplY3QuCisgIGludCBmZF87CisKKyAgLy8gSWYgc2V0LCBwYWQgcmF0aGVyIHRoYW4gc2hyaW5rIC5yZWwuZHluIG9yIC5yZWxhLmR5bi4gIFByaW1hcmlseSBmb3IKKyAgLy8gZGVidWdnaW5nLCBhbGxvd3MgcGFja2luZyB0byBiZSBjaGVja2VkIHdpdGhvdXQgYWZmZWN0aW5nIGxvYWQgYWRkcmVzc2VzLgorICBib29sIGlzX3BhZGRpbmdfcmVsb2NhdGlvbnNfOworCisgIC8vIExpYmVsZiBoYW5kbGUsIGFzc2lnbmVkIGJ5IExvYWQoKS4KKyAgRWxmKiBlbGZfOworCisgIC8vIFNlY3Rpb25zIHRoYXQgd2UgbWFuaXB1bGF0ZSwgYXNzaWduZWQgYnkgTG9hZCgpLgorICBFbGZfU2NuKiByZWxvY2F0aW9uc19zZWN0aW9uXzsKKyAgRWxmX1NjbiogZHluYW1pY19zZWN0aW9uXzsKKworICAvLyBSZWxvY2F0aW9uIHR5cGUgZm91bmQsIGFzc2lnbmVkIGJ5IExvYWQoKS4KKyAgcmVsb2NhdGlvbnNfdHlwZV90IHJlbG9jYXRpb25zX3R5cGVfOworCisgIC8vIEVsZi1maWxlIGhhcyBhbmRyb2lkIHJlbG9jYXRpb25zIHNlY3Rpb24KKyAgYm9vbCBoYXNfYW5kcm9pZF9yZWxvY2F0aW9uc187Cit9OworCit9ICAvLyBuYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIKKworI2VuZGlmICAvLyBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfRUxGX0ZJTEVfSF8KZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9lbGZfZmlsZV91bml0dGVzdC5jYyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9lbGZfZmlsZV91bml0dGVzdC5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmY3OTY4Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2VsZl9maWxlX3VuaXR0ZXN0LmNjCkBAIC0wLDAgKzEsMTk0IEBACisvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKyNpbmNsdWRlICJlbGZfZmlsZS5oIgorCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmc+CisjaW5jbHVkZSA8dmVjdG9yPgorI2luY2x1ZGUgImRlYnVnLmgiCisjaW5jbHVkZSAiZWxmX3RyYWl0cy5oIgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LmgiCisKK25hbWVzcGFjZSB7CisKK3ZvaWQgR2V0RGF0YUZpbGVQYXRoKGNvbnN0IGNoYXIqIG5hbWUsIHN0ZDo6c3RyaW5nKiBwYXRoKSB7CisgIHN0ZDo6c3RyaW5nIGRhdGFfZGlyOworCisgIGNvbnN0IGNoYXIqIGJpbmRpciA9IGdldGVudigiYmluZGlyIik7CisgIGlmIChiaW5kaXIpIHsKKyAgICBkYXRhX2RpciA9IHN0ZDo6c3RyaW5nKGJpbmRpcik7CisgIH0gZWxzZSB7CisgICAgY2hhciBwYXRoW1BBVEhfTUFYXTsKKyAgICBtZW1zZXQocGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBBU1NFUlRfTkUoLTEsIHJlYWRsaW5rKCIvcHJvYy9zZWxmL2V4ZSIsIHBhdGgsIHNpemVvZihwYXRoKSAtIDEpKTsKKworICAgIGRhdGFfZGlyID0gc3RkOjpzdHJpbmcocGF0aCk7CisgICAgc2l6ZV90IHBvcyA9IGRhdGFfZGlyLnJmaW5kKCcvJyk7CisgICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLCBwb3MpOworCisgICAgZGF0YV9kaXIuZXJhc2UocG9zKTsKKyAgfQorCisgICpwYXRoID0gZGF0YV9kaXIgKyAiLyIgKyBuYW1lOworfQorCit2b2lkIE9wZW5SZWxvY3NUZXN0RmlsZShjb25zdCBjaGFyKiBuYW1lLCBGSUxFKiogc3RyZWFtKSB7CisgIHN0ZDo6c3RyaW5nIHBhdGg7CisgIEdldERhdGFGaWxlUGF0aChuYW1lLCAmcGF0aCk7CisKKyAgRklMRSogdGVzdGZpbGUgPSBmb3BlbihwYXRoLmNfc3RyKCksICJyYiIpOworICBBU1NFUlRfRkFMU0UodGVzdGZpbGUgPT0gTlVMTCkgPDwgIkVycm9yIG9wZW5pbmcgJyIgPDwgcGF0aCA8PCAiJyI7CisKKyAgRklMRSogdGVtcG9yYXJ5ID0gdG1wZmlsZSgpOworICBBU1NFUlRfRkFMU0UodGVtcG9yYXJ5ID09IE5VTEwpOworCisgIHN0YXRpYyBjb25zdCBzaXplX3QgYnVmZmVyX3NpemUgPSA0MDk2OworICB1bnNpZ25lZCBjaGFyIGJ1ZmZlcltidWZmZXJfc2l6ZV07CisKKyAgc2l6ZV90IGJ5dGVzOworICBkbyB7CisgICAgYnl0ZXMgPSBmcmVhZChidWZmZXIsIDEsIHNpemVvZihidWZmZXIpLCB0ZXN0ZmlsZSk7CisgICAgQVNTRVJUX0VRKGJ5dGVzLCBmd3JpdGUoYnVmZmVyLCAxLCBieXRlcywgdGVtcG9yYXJ5KSk7CisgIH0gd2hpbGUgKGJ5dGVzID4gMCk7CisKKyAgQVNTRVJUX0VRKDAsIGZjbG9zZSh0ZXN0ZmlsZSkpOworICBBU1NFUlRfRVEoMCwgZnNlZWsodGVtcG9yYXJ5LCAwLCBTRUVLX1NFVCkpOworICBBU1NFUlRfRVEoMCwgbHNlZWsoZmlsZW5vKHRlbXBvcmFyeSksIDAsIFNFRUtfU0VUKSk7CisKKyAgKnN0cmVhbSA9IHRlbXBvcmFyeTsKK30KKwordm9pZCBPcGVuUmVsb2NzVGVzdEZpbGVzKGNvbnN0IHN0ZDo6c3RyaW5nJiBhcmNoLCBGSUxFKiogcmVsb2NzX3NvLCBGSUxFKiogcGFja2VkX3JlbG9jc19zbykgeworICBjb25zdCBzdGQ6OnN0cmluZyBiYXNlID0gc3RkOjpzdHJpbmcoImVsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc18iKSArIGFyY2g7CisgIGNvbnN0IHN0ZDo6c3RyaW5nIHJlbG9jcyA9IGJhc2UgKyAiLnNvIjsKKyAgY29uc3Qgc3RkOjpzdHJpbmcgcGFja2VkX3JlbG9jcyA9IGJhc2UgKyAiX3BhY2tlZC5zbyI7CisKKyAgT3BlblJlbG9jc1Rlc3RGaWxlKHJlbG9jcy5jX3N0cigpLCByZWxvY3Nfc28pOworICBPcGVuUmVsb2NzVGVzdEZpbGUocGFja2VkX3JlbG9jcy5jX3N0cigpLCBwYWNrZWRfcmVsb2NzX3NvKTsKK30KKwordm9pZCBDbG9zZVJlbG9jc1Rlc3RGaWxlKEZJTEUqIHRlbXBvcmFyeSkgeworICBmY2xvc2UodGVtcG9yYXJ5KTsKK30KKwordm9pZCBDbG9zZVJlbG9jc1Rlc3RGaWxlcyhGSUxFKiByZWxvY3Nfc28sIEZJTEUqIHBhY2tlZF9yZWxvY3Nfc28pIHsKKyAgQ2xvc2VSZWxvY3NUZXN0RmlsZShyZWxvY3Nfc28pOworICBDbG9zZVJlbG9jc1Rlc3RGaWxlKHBhY2tlZF9yZWxvY3Nfc28pOworfQorCit2b2lkIENoZWNrRmlsZUNvbnRlbnRzRXF1YWwoRklMRSogZmlyc3QsIEZJTEUqIHNlY29uZCkgeworICBBU1NFUlRfRVEoMCwgZnNlZWsoZmlyc3QsIDAsIFNFRUtfU0VUKSk7CisgIEFTU0VSVF9FUSgwLCBmc2VlayhzZWNvbmQsIDAsIFNFRUtfU0VUKSk7CisKKyAgc3RhdGljIGNvbnN0IHNpemVfdCBidWZmZXJfc2l6ZSA9IDQwOTY7CisgIHVuc2lnbmVkIGNoYXIgZmlyc3RfYnVmZmVyW2J1ZmZlcl9zaXplXTsKKyAgdW5zaWduZWQgY2hhciBzZWNvbmRfYnVmZmVyW2J1ZmZlcl9zaXplXTsKKworICBkbyB7CisgICAgc2l6ZV90IGZpcnN0X3JlYWQgPSBmcmVhZChmaXJzdF9idWZmZXIsIDEsIHNpemVvZihmaXJzdF9idWZmZXIpLCBmaXJzdCk7CisgICAgc2l6ZV90IHNlY29uZF9yZWFkID0gZnJlYWQoc2Vjb25kX2J1ZmZlciwgMSwgc2l6ZW9mKHNlY29uZF9idWZmZXIpLCBzZWNvbmQpOworCisgICAgRVhQRUNUX0VRKGZpcnN0X3JlYWQsIHNlY29uZF9yZWFkKTsKKyAgICBFWFBFQ1RfRVEoMCwgbWVtY21wKGZpcnN0X2J1ZmZlciwgc2Vjb25kX2J1ZmZlciwgZmlyc3RfcmVhZCkpOworICB9IHdoaWxlICghZmVvZihmaXJzdCkgJiYgIWZlb2Yoc2Vjb25kKSk7CisKKyAgRVhQRUNUX1RSVUUoZmVvZihmaXJzdCkgJiYgZmVvZihzZWNvbmQpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK3N0YXRpYyB2b2lkIFByb2Nlc3NVbnBhY2soRklMRSogcmVsb2NzX3NvLCBGSUxFKiBwYWNrZWRfcmVsb2NzX3NvKSB7CisgIHJlbG9jYXRpb25fcGFja2VyOjpFbGZGaWxlPEVMRj4gZWxmX2ZpbGUoZmlsZW5vKHBhY2tlZF9yZWxvY3Nfc28pKTsKKworICAvLyBFbnN1cmUgcGFja2luZyBhbHJlYWR5IHBhY2tlZCBlbGYtZmlsZSBkb2VzIG5vdCBmYWlsIHRoZSBidWlsZC4KKyAgRVhQRUNUX1RSVUUoZWxmX2ZpbGUuUGFja1JlbG9jYXRpb25zKCkpOworCisgIC8vIFVucGFjayBnb2xkZW4gcmVsb2NhdGlvbnMsIGFuZCBjaGVjayBmaWxlcyBhcmUgbm93IGlkZW50aWNhbC4KKyAgRVhQRUNUX1RSVUUoZWxmX2ZpbGUuVW5wYWNrUmVsb2NhdGlvbnMoKSk7CisgIENoZWNrRmlsZUNvbnRlbnRzRXF1YWwocGFja2VkX3JlbG9jc19zbywgcmVsb2NzX3NvKTsKKworICBDbG9zZVJlbG9jc1Rlc3RGaWxlcyhyZWxvY3Nfc28sIHBhY2tlZF9yZWxvY3Nfc28pOworfQorCitzdGF0aWMgdm9pZCBSdW5VbnBhY2tSZWxvY2F0aW9uc1Rlc3RGb3IoY29uc3Qgc3RkOjpzdHJpbmcmIGFyY2gpIHsKKyAgQVNTRVJUX05FKHN0YXRpY19jYXN0PHVpbnQzMl90PihFVl9OT05FKSwgZWxmX3ZlcnNpb24oRVZfQ1VSUkVOVCkpOworCisgIEZJTEUqIHJlbG9jc19zbyA9IE5VTEw7CisgIEZJTEUqIHBhY2tlZF9yZWxvY3Nfc28gPSBOVUxMOworICBPcGVuUmVsb2NzVGVzdEZpbGVzKGFyY2gsICZyZWxvY3Nfc28sICZwYWNrZWRfcmVsb2NzX3NvKTsKKworICBpZiAocmVsb2NzX3NvICE9IE5VTEwgJiYgcGFja2VkX3JlbG9jc19zbyAhPSBOVUxMKSB7CisgICAgLy8gbGV0cyBkZXRlY3QgZWxmIGNsYXNzCisgICAgQVNTRVJUX0VRKDAsIGZzZWVrKHJlbG9jc19zbywgRUlfQ0xBU1MsIFNFRUtfU0VUKSkKKyAgICAgICAgPDwgIkludmFsaWQgZmlsZSBsZW5ndGg6ICIgPDwgc3RyZXJyb3IoZXJybm8pOworICAgIHVpbnQ4X3QgZWxmX2NsYXNzID0gMDsKKyAgICBBU1NFUlRfRVEoMVUsIGZyZWFkKCZlbGZfY2xhc3MsIDEsIDEsIHJlbG9jc19zbykpOworICAgIEFTU0VSVF9FUSgwLCBmc2VlayhyZWxvY3Nfc28sIDAsIFNFRUtfU0VUKSk7CisgICAgaWYgKGVsZl9jbGFzcyA9PSBFTEZDTEFTUzMyKSB7CisgICAgICBQcm9jZXNzVW5wYWNrPEVMRjMyX3RyYWl0cz4ocmVsb2NzX3NvLCBwYWNrZWRfcmVsb2NzX3NvKTsKKyAgICB9IGVsc2UgeworICAgICAgUHJvY2Vzc1VucGFjazxFTEY2NF90cmFpdHM+KHJlbG9jc19zbywgcGFja2VkX3JlbG9jc19zbyk7CisgICAgfQorICB9Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitzdGF0aWMgdm9pZCBQcm9jZXNzUGFjayhGSUxFKiByZWxvY3Nfc28sIEZJTEUqIHBhY2tlZF9yZWxvY3Nfc28pIHsKKyAgcmVsb2NhdGlvbl9wYWNrZXI6OkVsZkZpbGU8RUxGPiBlbGZfZmlsZShmaWxlbm8ocmVsb2NzX3NvKSk7CisKKyAgLy8gRW5zdXJlIHVucGFja2luZyBmYWlscyAobm90IHBhY2tlZCkuCisgIEVYUEVDVF9GQUxTRShlbGZfZmlsZS5VbnBhY2tSZWxvY2F0aW9ucygpKTsKKworICAvLyBQYWNrIHJlbG9jYXRpb25zLCBhbmQgY2hlY2sgZmlsZXMgYXJlIG5vdyBpZGVudGljYWwuCisgIEVYUEVDVF9UUlVFKGVsZl9maWxlLlBhY2tSZWxvY2F0aW9ucygpKTsKKyAgQ2hlY2tGaWxlQ29udGVudHNFcXVhbChyZWxvY3Nfc28sIHBhY2tlZF9yZWxvY3Nfc28pOworCisgIENsb3NlUmVsb2NzVGVzdEZpbGVzKHJlbG9jc19zbywgcGFja2VkX3JlbG9jc19zbyk7Cit9CisKK3N0YXRpYyB2b2lkIFJ1blBhY2tSZWxvY2F0aW9uc1Rlc3RGb3IoY29uc3Qgc3RkOjpzdHJpbmcmIGFyY2gpIHsKKyAgQVNTRVJUX05FKHN0YXRpY19jYXN0PHVpbnQzMl90PihFVl9OT05FKSwgZWxmX3ZlcnNpb24oRVZfQ1VSUkVOVCkpOworCisgIEZJTEUqIHJlbG9jc19zbyA9IE5VTEw7CisgIEZJTEUqIHBhY2tlZF9yZWxvY3Nfc28gPSBOVUxMOworICBPcGVuUmVsb2NzVGVzdEZpbGVzKGFyY2gsICZyZWxvY3Nfc28sICZwYWNrZWRfcmVsb2NzX3NvKTsKKworICBpZiAocmVsb2NzX3NvICE9IE5VTEwgJiYgcGFja2VkX3JlbG9jc19zbyAhPSBOVUxMKSB7CisgICAgLy8gbGV0cyBkZXRlY3QgZWxmIGNsYXNzCisgICAgQVNTRVJUX0VRKDAsIGZzZWVrKHBhY2tlZF9yZWxvY3Nfc28sIEVJX0NMQVNTLCBTRUVLX1NFVCkpCisgICAgICAgIDw8ICJJbnZhbGlkIGZpbGUgbGVuZ3RoOiAiIDw8IHN0cmVycm9yKGVycm5vKTsKKyAgICB1aW50OF90IGVsZl9jbGFzcyA9IDA7CisgICAgQVNTRVJUX0VRKDFVLCBmcmVhZCgmZWxmX2NsYXNzLCAxLCAxLCBwYWNrZWRfcmVsb2NzX3NvKSk7CisgICAgZnNlZWsocGFja2VkX3JlbG9jc19zbywgMCwgU0VFS19TRVQpOworICAgIGlmIChlbGZfY2xhc3MgPT0gRUxGQ0xBU1MzMikgeworICAgICAgUHJvY2Vzc1BhY2s8RUxGMzJfdHJhaXRzPihyZWxvY3Nfc28sIHBhY2tlZF9yZWxvY3Nfc28pOworICAgIH0gZWxzZSB7CisgICAgICBQcm9jZXNzUGFjazxFTEY2NF90cmFpdHM+KHJlbG9jc19zbywgcGFja2VkX3JlbG9jc19zbyk7CisgICAgfQorICB9Cit9CisKK30gIC8vIG5hbWVzcGFjZQorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCitURVNUKEVsZkZpbGUsIFBhY2tSZWxvY2F0aW9uc0FybTMyKSB7CisgIFJ1blBhY2tSZWxvY2F0aW9uc1Rlc3RGb3IoImFybTMyIik7Cit9CisKK1RFU1QoRWxmRmlsZSwgUGFja1JlbG9jYXRpb25zQXJtNjQpIHsKKyAgUnVuUGFja1JlbG9jYXRpb25zVGVzdEZvcigiYXJtNjQiKTsKK30KKworVEVTVChFbGZGaWxlLCBVbnBhY2tSZWxvY2F0aW9uc0FybTMyKSB7CisgIFJ1blVucGFja1JlbG9jYXRpb25zVGVzdEZvcigiYXJtMzIiKTsKK30KKworVEVTVChFbGZGaWxlLCBVbnBhY2tSZWxvY2F0aW9uc0FybTY0KSB7CisgIFJ1blVucGFja1JlbG9jYXRpb25zVGVzdEZvcigiYXJtNjQiKTsKK30KKworfSAgLy8gbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyCmRpZmYgLS1naXQgYS90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvZWxmX3RyYWl0cy5oIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2VsZl90cmFpdHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWIwNmM4Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL2VsZl90cmFpdHMuaApAQCAtMCwwICsxLDY0IEBACisvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIFRhcmdldC1zcGVjaWZpYyBFTEYgdHlwZSB0cmFpdHMuCisKKyNpZm5kZWYgVE9PTFNfUkVMT0NBVElPTl9QQUNLRVJfU1JDX0VMRl9UUkFJVFNfSF8KKyNkZWZpbmUgVE9PTFNfUkVMT0NBVElPTl9QQUNLRVJfU1JDX0VMRl9UUkFJVFNfSF8KKworI2luY2x1ZGUgImVsZi5oIgorI2luY2x1ZGUgImxpYmVsZi5oIgorCisvLyBFTEYgaXMgYSB0cmFpdHMgc3RydWN0dXJlIHVzZWQgdG8gcHJvdmlkZSBjb252ZW5pZW50IGFsaWFzZXMgZm9yCisvLyAzMi82NCBiaXQgRWxmIHR5cGVzIGFuZCBmdW5jdGlvbnMsIGRlcGVuZGluZyBvbiB0aGUgdGFyZ2V0IGZpbGUuCisKK3N0cnVjdCBFTEYzMl90cmFpdHMgeworICB0eXBlZGVmIEVsZjMyX0FkZHIgQWRkcjsKKyAgdHlwZWRlZiBFbGYzMl9EeW4gRHluOworICB0eXBlZGVmIEVsZjMyX0VoZHIgRWhkcjsKKyAgdHlwZWRlZiBFbGYzMl9PZmYgT2ZmOworICB0eXBlZGVmIEVsZjMyX1BoZHIgUGhkcjsKKyAgdHlwZWRlZiBFbGYzMl9SZWwgUmVsOworICB0eXBlZGVmIEVsZjMyX1JlbGEgUmVsYTsKKyAgdHlwZWRlZiBFbGYzMl9TaGRyIFNoZHI7CisgIHR5cGVkZWYgRWxmMzJfU3dvcmQgU3dvcmQ7CisgIHR5cGVkZWYgRWxmMzJfU3h3b3JkIFN4d29yZDsKKyAgdHlwZWRlZiBFbGYzMl9TeW0gU3ltOworICB0eXBlZGVmIEVsZjMyX1dvcmQgV29yZDsKKyAgdHlwZWRlZiBFbGYzMl9Yd29yZCBYd29yZDsKKyAgdHlwZWRlZiBFbGYzMl9IYWxmIEhhbGY7CisKKyAgc3RhdGljIGlubGluZSBFaGRyKiBnZXRlaGRyKEVsZiogZWxmKSB7IHJldHVybiBlbGYzMl9nZXRlaGRyKGVsZik7IH0KKyAgc3RhdGljIGlubGluZSBQaGRyKiBnZXRwaGRyKEVsZiogZWxmKSB7IHJldHVybiBlbGYzMl9nZXRwaGRyKGVsZik7IH0KKyAgc3RhdGljIGlubGluZSBTaGRyKiBnZXRzaGRyKEVsZl9TY24qIHNjbikgeyByZXR1cm4gZWxmMzJfZ2V0c2hkcihzY24pOyB9CisgIHN0YXRpYyBpbmxpbmUgV29yZCBlbGZfcl90eXBlKFdvcmQgaW5mbykgeyByZXR1cm4gRUxGMzJfUl9UWVBFKGluZm8pOyB9CisgIHN0YXRpYyBpbmxpbmUgaW50IGVsZl9zdF90eXBlKHVpbnQ4X3QgaW5mbykgeyByZXR1cm4gRUxGMzJfU1RfVFlQRShpbmZvKTsgfQorICBzdGF0aWMgaW5saW5lIFdvcmQgZWxmX3Jfc3ltKFdvcmQgaW5mbykgeyByZXR1cm4gRUxGMzJfUl9TWU0oaW5mbyk7IH0KK307CisKK3N0cnVjdCBFTEY2NF90cmFpdHMgeworICB0eXBlZGVmIEVsZjY0X0FkZHIgQWRkcjsKKyAgdHlwZWRlZiBFbGY2NF9EeW4gRHluOworICB0eXBlZGVmIEVsZjY0X0VoZHIgRWhkcjsKKyAgdHlwZWRlZiBFbGY2NF9PZmYgT2ZmOworICB0eXBlZGVmIEVsZjY0X1BoZHIgUGhkcjsKKyAgdHlwZWRlZiBFbGY2NF9SZWwgUmVsOworICB0eXBlZGVmIEVsZjY0X1JlbGEgUmVsYTsKKyAgdHlwZWRlZiBFbGY2NF9TaGRyIFNoZHI7CisgIHR5cGVkZWYgRWxmNjRfU3dvcmQgU3dvcmQ7CisgIHR5cGVkZWYgRWxmNjRfU3h3b3JkIFN4d29yZDsKKyAgdHlwZWRlZiBFbGY2NF9TeW0gU3ltOworICB0eXBlZGVmIEVsZjY0X1dvcmQgV29yZDsKKyAgdHlwZWRlZiBFbGY2NF9Yd29yZCBYd29yZDsKKyAgdHlwZWRlZiBFbGY2NF9IYWxmIEhhbGY7CisKKyAgc3RhdGljIGlubGluZSBFaGRyKiBnZXRlaGRyKEVsZiogZWxmKSB7IHJldHVybiBlbGY2NF9nZXRlaGRyKGVsZik7IH0KKyAgc3RhdGljIGlubGluZSBQaGRyKiBnZXRwaGRyKEVsZiogZWxmKSB7IHJldHVybiBlbGY2NF9nZXRwaGRyKGVsZik7IH0KKyAgc3RhdGljIGlubGluZSBTaGRyKiBnZXRzaGRyKEVsZl9TY24qIHNjbikgeyByZXR1cm4gZWxmNjRfZ2V0c2hkcihzY24pOyB9CisgIHN0YXRpYyBpbmxpbmUgWHdvcmQgZWxmX3JfdHlwZShYd29yZCBpbmZvKSB7IHJldHVybiBFTEY2NF9SX1RZUEUoaW5mbyk7IH0KKyAgc3RhdGljIGlubGluZSBpbnQgZWxmX3N0X3R5cGUodWludDhfdCBpbmZvKSB7IHJldHVybiBFTEY2NF9TVF9UWVBFKGluZm8pOyB9CisgIHN0YXRpYyBpbmxpbmUgV29yZCBlbGZfcl9zeW0oWHdvcmQgaW5mbykgeyByZXR1cm4gRUxGNjRfUl9TWU0oaW5mbyk7IH0KK307CisKKyNlbmRpZiAgLy8gVE9PTFNfUkVMT0NBVElPTl9QQUNLRVJfU1JDX0VMRl9UUkFJVFNfSF8KZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9tYWluLmNjIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL21haW4uY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU5ZGU2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9tYWluLmNjCkBAIC0wLDAgKzEsMTUwIEBACisvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIFRvb2wgdG8gcGFjayBhbmQgdW5wYWNrIHJlbGF0aXZlIHJlbG9jYXRpb25zIGluIGEgc2hhcmVkIGxpYnJhcnkuCisvLworLy8gSW52b2tlIHdpdGggLXYgdG8gdHJhY2UgYWN0aW9ucyB0YWtlbiB3aGVuIHBhY2tpbmcgb3IgdW5wYWNraW5nLgorLy8gSW52b2tlIHdpdGggLXAgdG8gcGFkIHJlbW92ZWQgcmVsb2NhdGlvbnMgd2l0aCBSXypfTk9ORS4gIFN1cHByZXNzZXMKKy8vIHNocmlua2luZyBvZiAucmVsLmR5bi4KKy8vIFNlZSBQcmludFVzYWdlKCkgYmVsb3cgZm9yIGZ1bGwgdXNhZ2UgZGV0YWlscy4KKy8vCisvLyBOT1RFOiBCcmVha3Mgd2l0aCBsaWJlbGYgMC4xNTIsIHdoaWNoIGlzIGJ1Z2d5LiAgbGliZWxmIDAuMTU4IHdvcmtzLgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nPgorCisjaW5jbHVkZSAiZGVidWcuaCIKKyNpbmNsdWRlICJlbGZfZmlsZS5oIgorI2luY2x1ZGUgImVsZl90cmFpdHMuaCIKKyNpbmNsdWRlICJsaWJlbGYuaCIKKworI2luY2x1ZGUgIm5hdGl2ZWhlbHBlci9TY29wZWRGZC5oIgorCitzdGF0aWMgdm9pZCBQcmludFVzYWdlKGNvbnN0IGNoYXIqIGFyZ3YwKSB7CisgIHN0ZDo6c3RyaW5nIHRlbXBvcmFyeSA9IGFyZ3YwOworICBjb25zdCBzaXplX3QgbGFzdF9zbGFzaCA9IHRlbXBvcmFyeS5maW5kX2xhc3Rfb2YoIi8iKTsKKyAgaWYgKGxhc3Rfc2xhc2ggIT0gdGVtcG9yYXJ5Lm5wb3MpIHsKKyAgICB0ZW1wb3JhcnkuZXJhc2UoMCwgbGFzdF9zbGFzaCArIDEpOworICB9CisgIGNvbnN0IGNoYXIqIGJhc2VuYW1lID0gdGVtcG9yYXJ5LmNfc3RyKCk7CisKKyAgcHJpbnRmKAorICAgICAgIlVzYWdlOiAlcyBbLXVdIFstdl0gWy1wXSBmaWxlXG5cbiIKKyAgICAgICJQYWNrIG9yIHVucGFjayByZWxhdGl2ZSByZWxvY2F0aW9ucyBpbiBhIHNoYXJlZCBsaWJyYXJ5LlxuXG4iCisgICAgICAiICAtdSwgLS11bnBhY2sgICB1bnBhY2sgcHJldmlvdXNseSBwYWNrZWQgcmVsYXRpdmUgcmVsb2NhdGlvbnNcbiIKKyAgICAgICIgIC12LCAtLXZlcmJvc2UgIHRyYWNlIG9iamVjdCBmaWxlIG1vZGlmaWNhdGlvbnMgKGZvciBkZWJ1Z2dpbmcpXG4iCisgICAgICAiICAtcCwgLS1wYWQgICAgICBkbyBub3Qgc2hyaW5rIHJlbG9jYXRpb25zLCBidXQgcGFkIChmb3IgZGVidWdnaW5nKVxuXG4iLAorICAgICAgYmFzZW5hbWUpOworCisgIHByaW50ZigKKyAgICAgICJEZWJ1ZyBzZWN0aW9ucyBhcmUgbm90IGhhbmRsZWQsIHNvIHBhY2tpbmcgc2hvdWxkIG5vdCBiZSB1c2VkIG9uXG4iCisgICAgICAic2hhcmVkIGxpYnJhcmllcyBjb21waWxlZCBmb3IgZGVidWdnaW5nIG9yIG90aGVyd2lzZSB1bnN0cmlwcGVkLlxuIik7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKKyAgYm9vbCBpc191bnBhY2tpbmcgPSBmYWxzZTsKKyAgYm9vbCBpc192ZXJib3NlID0gZmFsc2U7CisgIGJvb2wgaXNfcGFkZGluZyA9IGZhbHNlOworCisgIHN0YXRpYyBjb25zdCBvcHRpb24gb3B0aW9uc1tdID0geworICAgIHsidW5wYWNrIiwgMCwgMCwgJ3UnfSwgeyJ2ZXJib3NlIiwgMCwgMCwgJ3YnfSwgeyJwYWQiLCAwLCAwLCAncCd9LAorICAgIHsiaGVscCIsIDAsIDAsICdoJ30sIHtOVUxMLCAwLCAwLCAwfQorICB9OworICBib29sIGhhc19vcHRpb25zID0gdHJ1ZTsKKyAgd2hpbGUgKGhhc19vcHRpb25zKSB7CisgICAgaW50IGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAidXZwaCIsIG9wdGlvbnMsIE5VTEwpOworICAgIHN3aXRjaCAoYykgeworICAgICAgY2FzZSAndSc6CisgICAgICAgIGlzX3VucGFja2luZyA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAndic6CisgICAgICAgIGlzX3ZlcmJvc2UgPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ3AnOgorICAgICAgICBpc19wYWRkaW5nID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdoJzoKKyAgICAgICAgUHJpbnRVc2FnZShhcmd2WzBdKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgICBjYXNlICc/JzoKKyAgICAgICAgTE9HKElORk8pIDw8ICJUcnkgJyIgPDwgYXJndlswXSA8PCAiIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIjsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgICBjYXNlIC0xOgorICAgICAgICBoYXNfb3B0aW9ucyA9IGZhbHNlOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIE5PVFJFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICB9CisgIGlmIChvcHRpbmQgIT0gYXJnYyAtIDEpIHsKKyAgICBMT0coSU5GTykgPDwgIlRyeSAnIiA8PCBhcmd2WzBdIDw8ICIgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iOworICAgIHJldHVybiAxOworICB9CisKKyAgaWYgKGVsZl92ZXJzaW9uKEVWX0NVUlJFTlQpID09IEVWX05PTkUpIHsKKyAgICBMT0coV0FSTklORykgPDwgIkVsZiBMaWJyYXJ5IGlzIG91dCBvZiBkYXRlISI7CisgIH0KKworICBjb25zdCBjaGFyKiBmaWxlID0gYXJndlthcmdjIC0gMV07CisgIFNjb3BlZEZkIGZkKG9wZW4oZmlsZSwgT19SRFdSKSk7CisgIGlmIChmZC5nZXQoKSA9PSAtMSkgeworICAgIExPRyhFUlJPUikgPDwgZmlsZSA8PCAiOiAiIDw8IHN0cmVycm9yKGVycm5vKTsKKyAgICByZXR1cm4gMTsKKyAgfQorCisgIGlmIChpc192ZXJib3NlKQorICAgIHJlbG9jYXRpb25fcGFja2VyOjpMb2dnZXI6OlNldFZlcmJvc2UoMSk7CisKKyAgLy8gV2UgbmVlZCB0byBkZXRlY3QgZWxmIGNsYXNzIGluIG9yZGVyIHRvIGNyZWF0ZQorICAvLyBjb3JyZWN0IGltcGxlbWVudGF0aW9uCisgIHVpbnQ4X3QgZV9pZGVudFtFSV9OSURFTlRdOworICBpZiAoVEVNUF9GQUlMVVJFX1JFVFJZKHJlYWQoZmQuZ2V0KCksIGVfaWRlbnQsIEVJX05JREVOVCkgIT0gRUlfTklERU5UKSkgeworICAgIExPRyhFUlJPUikgPDwgZmlsZSA8PCAiOiBmYWlsZWQgdG8gcmVhZCBlbGYgaGVhZGVyOiIgPDwgc3RyZXJyb3IoZXJybm8pOworICAgIHJldHVybiAxOworICB9CisKKyAgaWYgKFRFTVBfRkFJTFVSRV9SRVRSWShsc2VlayhmZC5nZXQoKSwgMCwgU0VFS19TRVQpKSAhPSAwKSB7CisgICAgTE9HKEVSUk9SKSA8PCBmaWxlIDw8ICI6IGxzZWVrIHRvIDAgZmFpbGVkOiIgPDwgc3RyZXJyb3IoZXJybm8pOworICAgIHJldHVybiAxOworICB9CisKKyAgYm9vbCBzdGF0dXMgPSBmYWxzZTsKKworICBpZiAoZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGQ0xBU1MzMikgeworICAgIHJlbG9jYXRpb25fcGFja2VyOjpFbGZGaWxlPEVMRjMyX3RyYWl0cz4gZWxmX2ZpbGUoZmQuZ2V0KCkpOworICAgIGVsZl9maWxlLlNldFBhZGRpbmcoaXNfcGFkZGluZyk7CisKKyAgICBpZiAoaXNfdW5wYWNraW5nKSB7CisgICAgICBzdGF0dXMgPSBlbGZfZmlsZS5VbnBhY2tSZWxvY2F0aW9ucygpOworICAgIH0gZWxzZSB7CisgICAgICBzdGF0dXMgPSBlbGZfZmlsZS5QYWNrUmVsb2NhdGlvbnMoKTsKKyAgICB9CisgIH0gZWxzZSBpZiAoZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGQ0xBU1M2NCkgeworICAgIHJlbG9jYXRpb25fcGFja2VyOjpFbGZGaWxlPEVMRjY0X3RyYWl0cz4gZWxmX2ZpbGUoZmQuZ2V0KCkpOworICAgIGVsZl9maWxlLlNldFBhZGRpbmcoaXNfcGFkZGluZyk7CisKKyAgICBpZiAoaXNfdW5wYWNraW5nKSB7CisgICAgICBzdGF0dXMgPSBlbGZfZmlsZS5VbnBhY2tSZWxvY2F0aW9ucygpOworICAgIH0gZWxzZSB7CisgICAgICBzdGF0dXMgPSBlbGZfZmlsZS5QYWNrUmVsb2NhdGlvbnMoKTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgTE9HKEVSUk9SKSA8PCBmaWxlIDw8ICI6IHVua25vd24gRUxGQ0xBU1M6ICIgPDwgZV9pZGVudFtFSV9DTEFTU107CisgICAgcmV0dXJuIDE7CisgIH0KKworICBpZiAoIXN0YXR1cykgeworICAgIExPRyhFUlJPUikgPDwgZmlsZSA8PCAiOiBmYWlsZWQgdG8gcGFjay91bnBhY2sgZmlsZSI7CisgICAgcmV0dXJuIDE7CisgIH0KKworICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9wYWNrZXIuY2MgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvcGFja2VyLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMzYxMWYKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvcGFja2VyLmNjCkBAIC0wLDAgKzEsNjcgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgInBhY2tlci5oIgorCisjaW5jbHVkZSA8dmVjdG9yPgorCisjaW5jbHVkZSAiZGVidWcuaCIKKyNpbmNsdWRlICJkZWx0YV9lbmNvZGVyLmgiCisjaW5jbHVkZSAiZWxmX3RyYWl0cy5oIgorI2luY2x1ZGUgInNsZWIxMjguaCIKKworbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyIHsKKworLy8gUGFjayByZWxvY2F0aW9ucyBpbnRvIGEgZ3JvdXAgZW5jb2RlZCBwYWNrZWQgcmVwcmVzZW50YXRpb24uCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgordm9pZCBSZWxvY2F0aW9uUGFja2VyPEVMRj46OlBhY2tSZWxvY2F0aW9ucyhjb25zdCBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OlJlbGE+JiByZWxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8dWludDhfdD4qIHBhY2tlZCkgeworICAvLyBSdW4tbGVuZ3RoIGVuY29kZS4KKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpBZGRyPiBwYWNrZWRfd29yZHM7CisgIFJlbG9jYXRpb25EZWx0YUNvZGVjPEVMRj4gY29kZWM7CisgIGNvZGVjLkVuY29kZShyZWxvY2F0aW9ucywgJnBhY2tlZF93b3Jkcyk7CisKKyAgLy8gSWYgaW5zdWZmaWNpZW50IGRhdGEgZG8gbm90aGluZy4KKyAgaWYgKHBhY2tlZF93b3Jkcy5lbXB0eSgpKQorICAgIHJldHVybjsKKworICBTbGViMTI4RW5jb2Rlcjx0eXBlbmFtZSBFTEY6OkFkZHI+IHNsZWIxMjhfZW5jb2RlcjsKKworICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBzbGViMTI4X3BhY2tlZDsKKworICBzbGViMTI4X2VuY29kZXIuRW5xdWV1ZUFsbChwYWNrZWRfd29yZHMpOworICBzbGViMTI4X2VuY29kZXIuR2V0RW5jb2RpbmcoJnNsZWIxMjhfcGFja2VkKTsKKworICBwYWNrZWQtPnB1c2hfYmFjaygnQScpOworICBwYWNrZWQtPnB1c2hfYmFjaygnUCcpOworICBwYWNrZWQtPnB1c2hfYmFjaygnUycpOworICBwYWNrZWQtPnB1c2hfYmFjaygnMicpOworICBwYWNrZWQtPmluc2VydChwYWNrZWQtPmVuZCgpLCBzbGViMTI4X3BhY2tlZC5iZWdpbigpLCBzbGViMTI4X3BhY2tlZC5lbmQoKSk7Cit9CisKKy8vIFVucGFjayByZWxhdGl2ZSByZWxvY2F0aW9ucyBmcm9tIGEgcnVuLWxlbmd0aCBlbmNvZGVkIHBhY2tlZAorLy8gcmVwcmVzZW50YXRpb24uCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgordm9pZCBSZWxvY2F0aW9uUGFja2VyPEVMRj46OlVucGFja1JlbG9jYXRpb25zKAorICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+JiBwYWNrZWQsCisgICAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiogcmVsb2NhdGlvbnMpIHsKKworICBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OkFkZHI+IHBhY2tlZF93b3JkczsKKyAgQ0hFQ0socGFja2VkLnNpemUoKSA+IDQgJiYKKyAgICAgICAgcGFja2VkWzBdID09ICdBJyAmJgorICAgICAgICBwYWNrZWRbMV0gPT0gJ1AnICYmCisgICAgICAgIHBhY2tlZFsyXSA9PSAnUycgJiYKKyAgICAgICAgcGFja2VkWzNdID09ICcyJyk7CisKKyAgU2xlYjEyOERlY29kZXI8dHlwZW5hbWUgRUxGOjpBZGRyPiBkZWNvZGVyKHBhY2tlZCwgNCk7CisgIGRlY29kZXIuRGVxdWV1ZUFsbCgmcGFja2VkX3dvcmRzKTsKKworICBSZWxvY2F0aW9uRGVsdGFDb2RlYzxFTEY+IGNvZGVjOworICBjb2RlYy5EZWNvZGUocGFja2VkX3dvcmRzLCByZWxvY2F0aW9ucyk7Cit9CisKK3RlbXBsYXRlIGNsYXNzIFJlbG9jYXRpb25QYWNrZXI8RUxGMzJfdHJhaXRzPjsKK3RlbXBsYXRlIGNsYXNzIFJlbG9jYXRpb25QYWNrZXI8RUxGNjRfdHJhaXRzPjsKKworfSAgLy8gbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyCmRpZmYgLS1naXQgYS90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvcGFja2VyLmggYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvcGFja2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNmNTBlMgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9wYWNrZXIuaApAQCAtMCwwICsxLDM3IEBACisvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vIFBhY2sgcmVsYXRpdmUgcmVsb2NhdGlvbnMgaW50byBhIG1vcmUgY29tcGFjdCBmb3JtLgorCisjaWZuZGVmIFRPT0xTX1JFTE9DQVRJT05fUEFDS0VSX1NSQ19QQUNLRVJfSF8KKyNkZWZpbmUgVE9PTFNfUkVMT0NBVElPTl9QQUNLRVJfU1JDX1BBQ0tFUl9IXworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8dmVjdG9yPgorCisjaW5jbHVkZSAiZWxmLmgiCisKK25hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlciB7CisKKy8vIEEgUmVsb2NhdGlvblBhY2tlciBwYWNrcyB2ZWN0b3JzIG9mIHJlbG9jYXRpb25zIGludG8gbW9yZQorLy8gY29tcGFjdCBmb3JtcywgYW5kIHVucGFja3MgdGhlbSB0byByZXByb2R1Y2UgdGhlIHByZS1wYWNrZWQgZGF0YS4KK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitjbGFzcyBSZWxvY2F0aW9uUGFja2VyIHsKKyBwdWJsaWM6CisgIC8vIFBhY2sgcmVsb2NhdGlvbnMgaW50byBhIG1vcmUgY29tcGFjdCBmb3JtLgorICAvLyB8cmVsb2NhdGlvbnN8IGlzIGEgdmVjdG9yIG9mIHJlbG9jYXRpb24gc3RydWN0cy4KKyAgLy8gfHBhY2tlZHwgaXMgdGhlIHZlY3RvciBvZiBwYWNrZWQgYnl0ZXMgaW50byB3aGljaCByZWxvY2F0aW9ucyBhcmUgcGFja2VkLgorICBzdGF0aWMgdm9pZCBQYWNrUmVsb2NhdGlvbnMoY29uc3Qgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiYgcmVsb2NhdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx1aW50OF90PiogcGFja2VkKTsKKworICAvLyBVbnBhY2sgcmVsb2NhdGlvbnMgZnJvbSB0aGVpciBtb3JlIGNvbXBhY3QgZm9ybS4KKyAgLy8gfHBhY2tlZHwgaXMgdGhlIHZlY3RvciBvZiBwYWNrZWQgcmVsb2NhdGlvbnMuCisgIC8vIHxyZWxvY2F0aW9uc3wgaXMgYSB2ZWN0b3Igb2YgdW5wYWNrZWQgcmVsb2NhdGlvbiBzdHJ1Y3RzLgorICBzdGF0aWMgdm9pZCBVbnBhY2tSZWxvY2F0aW9ucyhjb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiYgcGFja2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OlJlbGE+KiByZWxvY2F0aW9ucyk7Cit9OworCit9ICAvLyBuYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIKKworI2VuZGlmICAvLyBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfUEFDS0VSX0hfCmRpZmYgLS1naXQgYS90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvcGFja2VyX3VuaXR0ZXN0LmNjIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL3BhY2tlcl91bml0dGVzdC5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjRiOTJjCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL3BhY2tlcl91bml0dGVzdC5jYwpAQCAtMCwwICsxLDMwMCBAQAorLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisjaW5jbHVkZSAicGFja2VyLmgiCisKKyNpbmNsdWRlIDx2ZWN0b3I+CisjaW5jbHVkZSAiZWxmLmgiCisjaW5jbHVkZSAiZWxmX3RyYWl0cy5oIgorI2luY2x1ZGUgImd0ZXN0L2d0ZXN0LmgiCisKKwordGVtcGxhdGUgPHR5cGVuYW1lIEVMRj4KK3N0YXRpYyB2b2lkIEFkZFJlbG9jYXRpb24odHlwZW5hbWUgRUxGOjpBZGRyIGFkZHIsCisgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgRUxGOjpYd29yZCBpbmZvLAorICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIEVMRjo6U3h3b3JkIGFkZGVuZCwKKyAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OlJlbGE+KiByZWxvY2F0aW9ucykgeworICB0eXBlbmFtZSBFTEY6OlJlbGEgcmVsb2NhdGlvbjsKKyAgcmVsb2NhdGlvbi5yX29mZnNldCA9IGFkZHI7CisgIHJlbG9jYXRpb24ucl9pbmZvID0gaW5mbzsKKyAgcmVsb2NhdGlvbi5yX2FkZGVuZCA9IGFkZGVuZDsKKworICByZWxvY2F0aW9ucy0+cHVzaF9iYWNrKHJlbG9jYXRpb24pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIGJvb2wgQ2hlY2tSZWxvY2F0aW9uKHR5cGVuYW1lIEVMRjo6QWRkciBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgRUxGOjpYd29yZCBpbmZvLAorICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgRUxGOjpTeHdvcmQgYWRkZW5kLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW5hbWUgRUxGOjpSZWxhJiByZWxvY2F0aW9uKSB7CisgIHJldHVybiByZWxvY2F0aW9uLnJfb2Zmc2V0ID09IGFkZHIgJiYKKyAgICAgIHJlbG9jYXRpb24ucl9pbmZvID09IGluZm8gJiYKKyAgICAgIHJlbG9jYXRpb24ucl9hZGRlbmQgPT0gYWRkZW5kOworfQorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIHZvaWQgRG9QYWNrTm9BZGRlbmQoKSB7CisgIHN0ZDo6dmVjdG9yPHR5cGVuYW1lIEVMRjo6UmVsYT4gcmVsb2NhdGlvbnM7CisgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IHBhY2tlZDsKKyAgYm9vbCBpc18zMiA9IHNpemVvZih0eXBlbmFtZSBFTEY6OkFkZHIpID09IDQ7CisgIC8vIEluaXRpYWwgcmVsb2NhdGlvbi4KKyAgQWRkUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMDAsIDB4MTEsIDAsICZyZWxvY2F0aW9ucyk7CisgIC8vIFR3byBtb3JlIHJlbG9jYXRpb25zLCA0IGJ5dGUgZGVsdGFzLgorICBBZGRSZWxvY2F0aW9uPEVMRj4oMHhkMWNlMDAwNCwgMHgxMSwgMCwgJnJlbG9jYXRpb25zKTsKKyAgQWRkUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMDgsIDB4MTEsIDAsICZyZWxvY2F0aW9ucyk7CisgIC8vIFRocmVlIG1vcmUgcmVsb2NhdGlvbnMsIDggYnl0ZSBkZWx0YXMuCisgIEFkZFJlbG9jYXRpb248RUxGPigweGQxY2UwMDEwLCAweDExLCAwLCAmcmVsb2NhdGlvbnMpOworICBBZGRSZWxvY2F0aW9uPEVMRj4oMHhkMWNlMDAxOCwgMHgxMSwgMCwgJnJlbG9jYXRpb25zKTsKKyAgQWRkUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMjAsIDB4MTEsIDAsICZyZWxvY2F0aW9ucyk7CisKKyAgUmVsb2NhdGlvblBhY2tlcjxFTEY+IHBhY2tlcjsKKworICBwYWNrZWQuY2xlYXIoKTsKKyAgcGFja2VyLlBhY2tSZWxvY2F0aW9ucyhyZWxvY2F0aW9ucywgJnBhY2tlZCk7CisKKyAgQVNTRVJUX0VRKDE4VSwgcGFja2VkLnNpemUoKSk7CisgIC8vIElkZW50aWZpZXIuCisgIHNpemVfdCBuZHggPSAwOworICBFWFBFQ1RfRVEoJ0EnLCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKCdQJywgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgnUycsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoJzInLCBwYWNrZWRbbmR4KytdKTsKKyAgLy8gcmVsb2NhdGlvbiBjb3VudAorICBFWFBFQ1RfRVEoNiwgcGFja2VkW25keCsrXSk7CisgIC8vIGJhc2UgcmVsb2NhdGlvbiA9IDB4ZDFjZGZmZmMgLT4gZmMsIGZmLCBiNywgOGUsIDdkLzBkICgzMi82NGJpdCkKKyAgRVhQRUNUX0VRKDB4ZmMsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoMHhmZiwgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgweGI3LCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKDB4OGUsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoaXNfMzIgPyAweDdkIDogMHgwZCwgcGFja2VkW25keCsrXSk7CisgIC8vIGZpcnN0IGdyb3VwCisgIEVYUEVDVF9FUSgzLCBwYWNrZWRbbmR4KytdKTsgIC8vIHNpemUKKyAgRVhQRUNUX0VRKDMsIHBhY2tlZFtuZHgrK10pOyAvLyBmbGFncworICBFWFBFQ1RfRVEoNCwgcGFja2VkW25keCsrXSk7IC8vIHJfb2Zmc2V0X2RlbHRhCisgIEVYUEVDVF9FUSgweDExLCBwYWNrZWRbbmR4KytdKTsgLy8gcl9pbmZvCisgIC8vIHNlY29uZCBncm91cAorICBFWFBFQ1RfRVEoMywgcGFja2VkW25keCsrXSk7ICAvLyBzaXplCisgIEVYUEVDVF9FUSgzLCBwYWNrZWRbbmR4KytdKTsgLy8gZmxhZ3MKKyAgRVhQRUNUX0VRKDgsIHBhY2tlZFtuZHgrK10pOyAvLyByX29mZnNldF9kZWx0YQorICBFWFBFQ1RfRVEoMHgxMSwgcGFja2VkW25keCsrXSk7IC8vIHJfaW5mbworCisgIEVYUEVDVF9FUShuZHgsIHBhY2tlZC5zaXplKCkpOworfQorCitURVNUKFBhY2tlciwgUGFja05vQWRkZW5kMzIpIHsKKyAgRG9QYWNrTm9BZGRlbmQ8RUxGMzJfdHJhaXRzPigpOworfQorCitURVNUKFBhY2tlciwgUGFja05vQWRkZW5kNjQpIHsKKyAgRG9QYWNrTm9BZGRlbmQ8RUxGNjRfdHJhaXRzPigpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIHZvaWQgRG9VbnBhY2tOb0FkZGVuZCgpIHsKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiByZWxvY2F0aW9uczsKKyAgc3RkOjp2ZWN0b3I8dWludDhfdD4gcGFja2VkOworICBib29sIGlzXzMyID0gc2l6ZW9mKHR5cGVuYW1lIEVMRjo6QWRkcikgPT0gNDsKKyAgcGFja2VkLnB1c2hfYmFjaygnQScpOworICBwYWNrZWQucHVzaF9iYWNrKCdQJyk7CisgIHBhY2tlZC5wdXNoX2JhY2soJ1MnKTsKKyAgcGFja2VkLnB1c2hfYmFjaygnMicpOworICAvLyByZWxvY2F0aW9uIGNvdW50CisgIHBhY2tlZC5wdXNoX2JhY2soNik7CisgIC8vIGJhc2UgcmVsb2NhdGlvbiA9IDB4ZDFjZGZmZmMgLT4gZmMsIGZmLCBiNywgOGUsIDdkLzBkICgzMi82NGJpdCkKKyAgcGFja2VkLnB1c2hfYmFjaygweGZjKTsKKyAgcGFja2VkLnB1c2hfYmFjaygweGZmKTsKKyAgcGFja2VkLnB1c2hfYmFjaygweGI3KTsKKyAgcGFja2VkLnB1c2hfYmFjaygweDhlKTsKKyAgcGFja2VkLnB1c2hfYmFjayhpc18zMiA/IDB4N2QgOiAweDBkKTsKKyAgLy8gZmlyc3QgZ3JvdXAKKyAgcGFja2VkLnB1c2hfYmFjaygzKTsgIC8vIHNpemUKKyAgcGFja2VkLnB1c2hfYmFjaygzKTsgLy8gZmxhZ3MKKyAgcGFja2VkLnB1c2hfYmFjayg0KTsgLy8gcl9vZmZzZXRfZGVsdGEKKyAgcGFja2VkLnB1c2hfYmFjaygweDExKTsgLy8gcl9pbmZvCisgIC8vIHNlY29uZCBncm91cAorICBwYWNrZWQucHVzaF9iYWNrKDMpOyAgLy8gc2l6ZQorICBwYWNrZWQucHVzaF9iYWNrKDMpOyAvLyBmbGFncworICBwYWNrZWQucHVzaF9iYWNrKDgpOyAvLyByX29mZnNldF9kZWx0YQorICBwYWNrZWQucHVzaF9iYWNrKDB4MTEpOyAvLyByX2luZm8KKworICBSZWxvY2F0aW9uUGFja2VyPEVMRj4gcGFja2VyOworICBwYWNrZXIuVW5wYWNrUmVsb2NhdGlvbnMocGFja2VkLCAmcmVsb2NhdGlvbnMpOworCisgIHNpemVfdCBuZHggPSAwOworICBFWFBFQ1RfRVEoNlUsIHJlbG9jYXRpb25zLnNpemUoKSk7CisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMDAsIDB4MTEsIDAsIHJlbG9jYXRpb25zW25keCsrXSkpOworICBFWFBFQ1RfVFJVRShDaGVja1JlbG9jYXRpb248RUxGPigweGQxY2UwMDA0LCAweDExLCAwLCByZWxvY2F0aW9uc1tuZHgrK10pKTsKKyAgRVhQRUNUX1RSVUUoQ2hlY2tSZWxvY2F0aW9uPEVMRj4oMHhkMWNlMDAwOCwgMHgxMSwgMCwgcmVsb2NhdGlvbnNbbmR4KytdKSk7CisKKyAgRVhQRUNUX1RSVUUoQ2hlY2tSZWxvY2F0aW9uPEVMRj4oMHhkMWNlMDAxMCwgMHgxMSwgMCwgcmVsb2NhdGlvbnNbbmR4KytdKSk7CisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMTgsIDB4MTEsIDAsIHJlbG9jYXRpb25zW25keCsrXSkpOworICBFWFBFQ1RfVFJVRShDaGVja1JlbG9jYXRpb248RUxGPigweGQxY2UwMDIwLCAweDExLCAwLCByZWxvY2F0aW9uc1tuZHgrK10pKTsKKworICBFWFBFQ1RfRVEobmR4LCByZWxvY2F0aW9ucy5zaXplKCkpOworfQorCitURVNUKFBhY2tlciwgVW5wYWNrTm9BZGRlbmQzMikgeworICBEb1VucGFja05vQWRkZW5kPEVMRjMyX3RyYWl0cz4oKTsKK30KKworVEVTVChQYWNrZXIsIFVucGFja05vQWRkZW5kNjQpIHsKKyAgRG9VbnBhY2tOb0FkZGVuZDxFTEY2NF90cmFpdHM+KCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBFTEY+CitzdGF0aWMgdm9pZCBEb1BhY2tXaXRoQWRkZW5kKCkgeworICBzdGQ6OnZlY3Rvcjx0eXBlbmFtZSBFTEY6OlJlbGE+IHJlbG9jYXRpb25zOworCisgIC8vIEluaXRpYWwgcmVsb2NhdGlvbi4KKyAgQWRkUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMDAsIDB4MDEsIDEwMDI0LCAmcmVsb2NhdGlvbnMpOworICAvLyBUd28gbW9yZSByZWxvY2F0aW9ucywgNCBieXRlIG9mZnNldCBkZWx0YXMsIDEyIGJ5dGUgYWRkZW5kIGRlbHRhcy4KKyAgQWRkUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMDQsIDB4MDEsIDEwMDEyLCAmcmVsb2NhdGlvbnMpOworICBBZGRSZWxvY2F0aW9uPEVMRj4oMHhkMWNlMDAwOCwgMHgwMSwgMTAwMjQsICZyZWxvY2F0aW9ucyk7CisgIC8vIFRocmVlIG1vcmUgcmVsb2NhdGlvbnMsIDggYnl0ZSBkZWx0YXMsIC0yNCBieXRlIGFkZGVuZCBkZWx0YXMuCisgIEFkZFJlbG9jYXRpb248RUxGPigweGQxY2UwMDEwLCAweDAxLCAxMDAwMCwgJnJlbG9jYXRpb25zKTsKKyAgQWRkUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMTgsIDB4MDEsIDk5NzYsICZyZWxvY2F0aW9ucyk7CisgIEFkZFJlbG9jYXRpb248RUxGPigweGQxY2UwMDIwLCAweDAxLCA5OTUyLCAmcmVsb2NhdGlvbnMpOworCisgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IHBhY2tlZDsKKworICBSZWxvY2F0aW9uUGFja2VyPEVMRj4gcGFja2VyOworCisgIHBhY2tlZC5jbGVhcigpOworICBwYWNrZXIuUGFja1JlbG9jYXRpb25zKHJlbG9jYXRpb25zLCAmcGFja2VkKTsKKworICBFWFBFQ1RfRVEoMjZVLCBwYWNrZWQuc2l6ZSgpKTsKKyAgc2l6ZV90IG5keCA9IDA7CisgIC8vIElkZW50aWZpZXIuCisgIEVYUEVDVF9FUSgnQScsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoJ1AnLCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKCdTJywgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgnMicsIHBhY2tlZFtuZHgrK10pOworICAvLyBSZWxvY2F0aW9uIGNvdW50CisgIEVYUEVDVF9FUSg2VSwgcGFja2VkW25keCsrXSk7CisgIC8vIGJhc2UgcmVsb2NhdGlvbiA9IDB4ZDFjZGZmZmMgLT4gZmMsIGZmLCBiNywgOGUsIDBkLzdkIChkZXBlbmRpbmcgb24gRUxGOjpBZGRyKQorICBFWFBFQ1RfRVEoMHhmYywgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgweGZmLCBwYWNrZWRbbmR4KytdKTsKKyAgRVhQRUNUX0VRKDB4YjcsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoMHg4ZSwgcGFja2VkW25keCsrXSk7CisgIGlmIChzaXplb2YodHlwZW5hbWUgRUxGOjpBZGRyKSA9PSA4KSB7CisgICAgLy8gcG9zaXRpdmUgZm9yIHVpbnQ2NF90CisgICAgRVhQRUNUX0VRKDB4MGQsIHBhY2tlZFtuZHgrK10pOworICB9IGVsc2UgeworICAgIC8vIG5lZ2F0aXZlIGZvciB1aW50MzJfdAorICAgIEVYUEVDVF9FUSgweDdkLCBwYWNrZWRbbmR4KytdKTsKKyAgfQorICAvLyBncm91cCAxCisgIEVYUEVDVF9FUSgweDAzLCBwYWNrZWRbbmR4KytdKTsgLy8gc2l6ZQorICBFWFBFQ1RfRVEoMHgwYiwgcGFja2VkW25keCsrXSk7IC8vIGZsYWdzCisgIEVYUEVDVF9FUSgweDA0LCBwYWNrZWRbbmR4KytdKTsgLy8gcl9vZmZzZXRfZGVsdGEKKyAgRVhQRUNUX0VRKDB4MDEsIHBhY2tlZFtuZHgrK10pOyAvLyByX2luZm8KKyAgLy8gZ3JvdXAgMSAtIGFkZGVuZCAxOiAxMDAyNCA9IDB4YTgsIDB4Y2UsIDB4ODAKKyAgRVhQRUNUX0VRKDB4YTgsIHBhY2tlZFtuZHgrK10pOworICBFWFBFQ1RfRVEoMHhjZSwgcGFja2VkW25keCsrXSk7CisgIEVYUEVDVF9FUSgweDAwLCBwYWNrZWRbbmR4KytdKTsKKyAgLy8gZ3JvdXAgMSAtIGFkZGVuZCAyOiAtMTIgPSAweDc0CisgIEVYUEVDVF9FUSgweDc0LCBwYWNrZWRbbmR4KytdKTsKKyAgLy8gZ3JvdXAgMSAtIGFkZGVuZCAzOiArMTIgPSAweDBjCisgIEVYUEVDVF9FUSgweDBjLCBwYWNrZWRbbmR4KytdKTsKKworICAvLyBncm91cCAyCisgIEVYUEVDVF9FUSgweDAzLCBwYWNrZWRbbmR4KytdKTsgLy8gc2l6ZQorICBFWFBFQ1RfRVEoMHgwYiwgcGFja2VkW25keCsrXSk7IC8vIGZsYWdzCisgIEVYUEVDVF9FUSgweDA4LCBwYWNrZWRbbmR4KytdKTsgLy8gcl9vZmZzZXRfZGVsdGEKKyAgRVhQRUNUX0VRKDB4MDEsIHBhY2tlZFtuZHgrK10pOyAvLyByX2luZm8KKworICAvLyBncm91cCAyIC0gYWRkZW5kIDE6IC0yNCA9IDB4NjgKKyAgRVhQRUNUX0VRKDB4NjgsIHBhY2tlZFtuZHgrK10pOworICAvLyBncm91cCAyIC0gYWRkZW5kIDI6IC0yNCA9IDB4NjgKKyAgRVhQRUNUX0VRKDB4NjgsIHBhY2tlZFtuZHgrK10pOworICAvLyBncm91cCAyIC0gYWRkZW5kIDM6IC0yNCA9IDB4NjgKKyAgRVhQRUNUX0VRKDB4NjgsIHBhY2tlZFtuZHgrK10pOworCisgIEVYUEVDVF9FUShuZHgsIHBhY2tlZC5zaXplKCkpOworfQorCitURVNUKFBhY2tlciwgUGFja1dpdGhBZGRlbmQpIHsKKyAgRG9QYWNrV2l0aEFkZGVuZDxFTEYzMl90cmFpdHM+KCk7CisgIERvUGFja1dpdGhBZGRlbmQ8RUxGNjRfdHJhaXRzPigpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgRUxGPgorc3RhdGljIHZvaWQgRG9VbnBhY2tXaXRoQWRkZW5kKCkgeworICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBwYWNrZWQ7CisgIC8vIElkZW50aWZpZXIuCisgIHBhY2tlZC5wdXNoX2JhY2soJ0EnKTsKKyAgcGFja2VkLnB1c2hfYmFjaygnUCcpOworICBwYWNrZWQucHVzaF9iYWNrKCdTJyk7CisgIHBhY2tlZC5wdXNoX2JhY2soJzInKTsKKyAgLy8gUmVsb2NhdGlvbiBjb3VudAorICBwYWNrZWQucHVzaF9iYWNrKDZVKTsKKyAgLy8gYmFzZSByZWxvY2F0aW9uID0gMHhkMWNkZmZmYyAtPiBmYywgZmYsIGI3LCA4ZSwgMGQKKyAgcGFja2VkLnB1c2hfYmFjaygweGZjKTsKKyAgcGFja2VkLnB1c2hfYmFjaygweGZmKTsKKyAgcGFja2VkLnB1c2hfYmFjaygweGI3KTsKKyAgcGFja2VkLnB1c2hfYmFjaygweDhlKTsKKyAgaWYgKHNpemVvZih0eXBlbmFtZSBFTEY6OkFkZHIpID09IDgpIHsKKyAgICAvLyBwb3NpdGl2ZSBmb3IgdWludDY0X3QKKyAgICBwYWNrZWQucHVzaF9iYWNrKDB4MGQpOworICB9IGVsc2UgeworICAgIC8vIG5lZ2F0aXZlIGZvciB1aW50MzJfdAorICAgIHBhY2tlZC5wdXNoX2JhY2soMHg3ZCk7CisgIH0KKyAgLy8gZ3JvdXAgMQorICBwYWNrZWQucHVzaF9iYWNrKDB4MDMpOyAvLyBzaXplCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwYik7IC8vIGZsYWdzCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwNCk7IC8vIHJfb2Zmc2V0X2RlbHRhCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwMSk7IC8vIHJfaW5mbworICAvLyBncm91cCAxIC0gYWRkZW5kIDE6IDEwMDI0ID0gMHhhOCwgMHhjZSwgMHg4MAorICBwYWNrZWQucHVzaF9iYWNrKDB4YTgpOworICBwYWNrZWQucHVzaF9iYWNrKDB4Y2UpOworICBwYWNrZWQucHVzaF9iYWNrKDB4MDApOworICAvLyBncm91cCAxIC0gYWRkZW5kIDI6IC0xMiA9IDB4NzQKKyAgcGFja2VkLnB1c2hfYmFjaygweDc0KTsKKyAgLy8gZ3JvdXAgMSAtIGFkZGVuZCAzOiArMTIgPSAweDBjCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwYyk7CisKKyAgLy8gZ3JvdXAgMgorICBwYWNrZWQucHVzaF9iYWNrKDB4MDMpOyAvLyBzaXplCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwYik7IC8vIGZsYWdzCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwOCk7IC8vIHJfb2Zmc2V0X2RlbHRhCisgIHBhY2tlZC5wdXNoX2JhY2soMHgwMSk7IC8vIHJfaW5mbworCisgIC8vIGdyb3VwIDIgLSBhZGRlbmQgMTogLTI0ID0gMHg2OAorICBwYWNrZWQucHVzaF9iYWNrKDB4NjgpOworICAvLyBncm91cCAyIC0gYWRkZW5kIDI6IC0yNCA9IDB4NjgKKyAgcGFja2VkLnB1c2hfYmFjaygweDY4KTsKKyAgLy8gZ3JvdXAgMiAtIGFkZGVuZCAzOiAtMjQgPSAweDY4CisgIHBhY2tlZC5wdXNoX2JhY2soMHg2OCk7CisKKyAgc3RkOjp2ZWN0b3I8dHlwZW5hbWUgRUxGOjpSZWxhPiByZWxvY2F0aW9uczsKKworICBSZWxvY2F0aW9uUGFja2VyPEVMRj4gcGFja2VyOworCisgIHJlbG9jYXRpb25zLmNsZWFyKCk7CisgIHBhY2tlci5VbnBhY2tSZWxvY2F0aW9ucyhwYWNrZWQsICZyZWxvY2F0aW9ucyk7CisKKyAgRVhQRUNUX0VRKDZVLCByZWxvY2F0aW9ucy5zaXplKCkpOworICBzaXplX3QgbmR4ID0gMDsKKyAgLy8gSW5pdGlhbCByZWxvY2F0aW9uLgorICBFWFBFQ1RfVFJVRShDaGVja1JlbG9jYXRpb248RUxGPigweGQxY2UwMDAwLCAweDAxLCAxMDAyNCwgcmVsb2NhdGlvbnNbbmR4KytdKSk7CisgIC8vIFR3byBtb3JlIHJlbG9jYXRpb25zLCA0IGJ5dGUgb2Zmc2V0IGRlbHRhcywgMTIgYnl0ZSBhZGRlbmQgZGVsdGFzLgorICBFWFBFQ1RfVFJVRShDaGVja1JlbG9jYXRpb248RUxGPigweGQxY2UwMDA0LCAweDAxLCAxMDAxMiwgcmVsb2NhdGlvbnNbbmR4KytdKSk7CisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMDgsIDB4MDEsIDEwMDI0LCByZWxvY2F0aW9uc1tuZHgrK10pKTsKKyAgLy8gVGhyZWUgbW9yZSByZWxvY2F0aW9ucywgOCBieXRlIG9mZnNldCBkZWx0YXMsIC0yNCBieXRlIGFkZGVuZCBkZWx0YXMuCisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMTAsIDB4MDEsIDEwMDAwLCByZWxvY2F0aW9uc1tuZHgrK10pKTsKKyAgRVhQRUNUX1RSVUUoQ2hlY2tSZWxvY2F0aW9uPEVMRj4oMHhkMWNlMDAxOCwgMHgwMSwgOTk3NiwgcmVsb2NhdGlvbnNbbmR4KytdKSk7CisgIEVYUEVDVF9UUlVFKENoZWNrUmVsb2NhdGlvbjxFTEY+KDB4ZDFjZTAwMjAsIDB4MDEsIDk5NTIsIHJlbG9jYXRpb25zW25keCsrXSkpOworCisgIEVYUEVDVF9FUShuZHgsIHJlbG9jYXRpb25zLnNpemUoKSk7Cit9CisKK1RFU1QoUGFja2VyLCBVbnBhY2tXaXRoQWRkZW5kKSB7CisgIERvVW5wYWNrV2l0aEFkZGVuZDxFTEYzMl90cmFpdHM+KCk7CisgIERvVW5wYWNrV2l0aEFkZGVuZDxFTEY2NF90cmFpdHM+KCk7Cit9CisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL3NsZWIxMjguY2MgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvc2xlYjEyOC5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmMyMWUzCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvc3JjL3NsZWIxMjguY2MKQEAgLTAsMCArMSwxMzEgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgInNsZWIxMjguaCIKKworI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHZlY3Rvcj4KKworI2luY2x1ZGUgImVsZl90cmFpdHMuaCIKKworbmFtZXNwYWNlIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitjbGFzcyB1aW50X3RyYWl0cyB7fTsKKwordGVtcGxhdGUgPD4KK2NsYXNzIHVpbnRfdHJhaXRzPHVpbnQ2NF90PiB7CisgcHVibGljOgorICB0eXBlZGVmIGludDY0X3QgaW50X3Q7Cit9OworCit0ZW1wbGF0ZSA8PgorY2xhc3MgdWludF90cmFpdHM8dWludDMyX3Q+IHsKKyBwdWJsaWM6CisgIHR5cGVkZWYgaW50MzJfdCBpbnRfdDsKK307CisKK30KKworbmFtZXNwYWNlIHJlbG9jYXRpb25fcGFja2VyIHsKKworLy8gRW1wdHkgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgdG8gc2lsZW5jZSBjaHJvbWl1bS1zdHlsZS4KK3RlbXBsYXRlIDx0eXBlbmFtZSB1aW50X3Q+CitTbGViMTI4RW5jb2Rlcjx1aW50X3Q+OjpTbGViMTI4RW5jb2RlcigpIHsgfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgdWludF90PgorU2xlYjEyOEVuY29kZXI8dWludF90Pjo6flNsZWIxMjhFbmNvZGVyKCkgeyB9CisKKy8vIEFkZCBhIHNpbmdsZSB2YWx1ZSB0byB0aGUgZW5jb2RpbmcuICBWYWx1ZXMgYXJlIGVuY29kZWQgd2l0aCB2YXJpYWJsZQorLy8gbGVuZ3RoLiAgVGhlIGxlYXN0IHNpZ25pZmljYW50IDcgYml0cyBvZiBlYWNoIGJ5dGUgaG9sZCA3IGJpdHMgb2YgZGF0YSwKKy8vIGFuZCB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaXMgc2V0IG9uIGVhY2ggYnl0ZSBleGNlcHQgdGhlIGxhc3QuICBUaGUKKy8vIHZhbHVlIGlzIHNpZ24gZXh0ZW5kZWQgdXAgdG8gYSBtdWx0aXBsZSBvZiA3IGJpdHMgKGVuc3VyaW5nIHRoYXQgdGhlCisvLyBtb3N0IHNpZ25pZmljYW50IGJpdCBpcyB6ZXJvIGZvciBhIHBvc2l0aXZlIG51bWJlciBhbmQgb25lIGZvciBhCisvLyBuZWdhdGl2ZSBudW1iZXIpLgordGVtcGxhdGUgPHR5cGVuYW1lIHVpbnRfdD4KK3ZvaWQgU2xlYjEyOEVuY29kZXI8dWludF90Pjo6RW5xdWV1ZSh1aW50X3QgdmFsdWUpIHsKKyAgdHlwZWRlZiB0eXBlbmFtZSB1aW50X3RyYWl0czx1aW50X3Q+OjppbnRfdCBpbnRfdDsKKyAgc3RhdGljIGNvbnN0IHNpemVfdCBzaXplID0gQ0hBUl9CSVQgKiBzaXplb2YodmFsdWUpOworCisgIGJvb2wgbW9yZSA9IHRydWU7CisgIGNvbnN0IGJvb2wgbmVnYXRpdmUgPSBzdGF0aWNfY2FzdDxpbnRfdD4odmFsdWUpIDwgMDsKKworICB3aGlsZSAobW9yZSkgeworICAgIHVpbnQ4X3QgYnl0ZSA9IHZhbHVlICYgMTI3OworICAgIHZhbHVlID4+PSA3OworCisgICAgLy8gU2lnbiBleHRlbmQgaWYgZW5jb2RpbmcgYSAtdmUgdmFsdWUuCisgICAgaWYgKG5lZ2F0aXZlKQorICAgICAgdmFsdWUgfD0gLShzdGF0aWNfY2FzdDx1aW50X3Q+KDEpIDw8IChzaXplIC0gNykpOworCisgICAgLy8gVGhlIHNpZ24gYml0IG9mIGJ5dGUgaXMgc2Vjb25kIGhpZ2ggb3JkZXIgYml0LgorICAgIGNvbnN0IGJvb2wgc2lnbl9iaXQgPSBieXRlICYgNjQ7CisgICAgaWYgKCh2YWx1ZSA9PSAwICYmICFzaWduX2JpdCkgfHwgKHZhbHVlID09IHN0YXRpY19jYXN0PHVpbnRfdD4oLTEpICYmIHNpZ25fYml0KSkKKyAgICAgIG1vcmUgPSBmYWxzZTsKKyAgICBlbHNlCisgICAgICBieXRlIHw9IDEyODsKKyAgICBlbmNvZGluZ18ucHVzaF9iYWNrKGJ5dGUpOworICB9Cit9CisKKy8vIEFkZCBhIHZlY3RvciBvZiB2YWx1ZXMgdG8gdGhlIGVuY29kaW5nLgordGVtcGxhdGUgPHR5cGVuYW1lIHVpbnRfdD4KK3ZvaWQgU2xlYjEyOEVuY29kZXI8dWludF90Pjo6RW5xdWV1ZUFsbChjb25zdCBzdGQ6OnZlY3Rvcjx1aW50X3Q+JiB2YWx1ZXMpIHsKKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB2YWx1ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICBFbnF1ZXVlKHZhbHVlc1tpXSk7CisgIH0KK30KKworLy8gQ3JlYXRlIGEgbmV3IGRlY29kZXIgZm9yIHRoZSBnaXZlbiBlbmNvZGVkIHN0cmVhbS4KK3RlbXBsYXRlIDx0eXBlbmFtZSB1aW50X3Q+CitTbGViMTI4RGVjb2Rlcjx1aW50X3Q+OjpTbGViMTI4RGVjb2Rlcihjb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiYgZW5jb2RpbmcsIHNpemVfdCBzdGFydF93aXRoKSB7CisgIGVuY29kaW5nXyA9IGVuY29kaW5nOworICBjdXJzb3JfID0gc3RhcnRfd2l0aDsKK30KKworLy8gRW1wdHkgZGVzdHJ1Y3RvciB0byBzaWxlbmNlIGNocm9taXVtLXN0eWxlLgordGVtcGxhdGUgPHR5cGVuYW1lIHVpbnRfdD4KK1NsZWIxMjhEZWNvZGVyPHVpbnRfdD46On5TbGViMTI4RGVjb2RlcigpIHsgfQorCisvLyBEZWNvZGUgYW5kIHJldHJpZXZlIGEgc2luZ2xlIHZhbHVlIGZyb20gdGhlIGVuY29kaW5nLiAgQ29uc3VtZSBieXRlcworLy8gdW50aWwgb25lIHdpdGhvdXQgaXRzIG1vc3Qgc2lnbmlmaWNhbnQgYml0IGlzIGZvdW5kLCBhbmQgcmUtZm9ybSB0aGUKKy8vIHZhbHVlIGZyb20gdGhlIDcgYml0IGZpZWxkcyBvZiB0aGUgYnl0ZXMgY29uc3VtZWQuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgdWludF90PgordWludF90IFNsZWIxMjhEZWNvZGVyPHVpbnRfdD46OkRlcXVldWUoKSB7CisgIHVpbnRfdCB2YWx1ZSA9IDA7CisgIHN0YXRpYyBjb25zdCBzaXplX3Qgc2l6ZSA9IENIQVJfQklUICogc2l6ZW9mKHZhbHVlKTsKKworICBzaXplX3Qgc2hpZnQgPSAwOworICB1aW50OF90IGJ5dGU7CisKKyAgLy8gTG9vcCB1bnRpbCB3ZSByZWFjaCBhIGJ5dGUgd2l0aCBpdHMgaGlnaCBvcmRlciBiaXQgY2xlYXIuCisgIGRvIHsKKyAgICBieXRlID0gZW5jb2RpbmdfW2N1cnNvcl8rK107CisgICAgdmFsdWUgfD0gKHN0YXRpY19jYXN0PHVpbnRfdD4oYnl0ZSAmIDEyNykgPDwgc2hpZnQpOworICAgIHNoaWZ0ICs9IDc7CisgIH0gd2hpbGUgKGJ5dGUgJiAxMjgpOworCisgIC8vIFRoZSBzaWduIGJpdCBpcyBzZWNvbmQgaGlnaCBvcmRlciBiaXQgb2YgdGhlIGZpbmFsIGJ5dGUgZGVjb2RlZC4KKyAgLy8gU2lnbiBleHRlbmQgaWYgdmFsdWUgaXMgLXZlIGFuZCB3ZSBkaWQgbm90IHNoaWZ0IGFsbCBvZiBpdC4KKyAgaWYgKHNoaWZ0IDwgc2l6ZSAmJiAoYnl0ZSAmIDY0KSkKKyAgICB2YWx1ZSB8PSAtKHN0YXRpY19jYXN0PHVpbnRfdD4oMSkgPDwgc2hpZnQpOworCisgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50X3Q+KHZhbHVlKTsKK30KKworLy8gRGVjb2RlIGFuZCByZXRyaWV2ZSBhbGwgcmVtYWluaW5nIHZhbHVlcyBmcm9tIHRoZSBlbmNvZGluZy4KK3RlbXBsYXRlIDx0eXBlbmFtZSB1aW50X3Q+Cit2b2lkIFNsZWIxMjhEZWNvZGVyPHVpbnRfdD46OkRlcXVldWVBbGwoc3RkOjp2ZWN0b3I8dWludF90PiogdmFsdWVzKSB7CisgIHdoaWxlIChjdXJzb3JfIDwgZW5jb2RpbmdfLnNpemUoKSkgeworICAgIHZhbHVlcy0+cHVzaF9iYWNrKERlcXVldWUoKSk7CisgIH0KK30KKwordGVtcGxhdGUgY2xhc3MgU2xlYjEyOEVuY29kZXI8dWludDMyX3Q+OwordGVtcGxhdGUgY2xhc3MgU2xlYjEyOEVuY29kZXI8dWludDY0X3Q+OwordGVtcGxhdGUgY2xhc3MgU2xlYjEyOERlY29kZXI8dWludDMyX3Q+OwordGVtcGxhdGUgY2xhc3MgU2xlYjEyOERlY29kZXI8dWludDY0X3Q+OworCit9ICAvLyBuYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9zbGViMTI4LmggYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvc2xlYjEyOC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNjNmNjYKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvc2xlYjEyOC5oCkBAIC0wLDAgKzEsNzYgQEAKKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLy8gU0xFQjEyOCBlbmNvZGVyIGFuZCBkZWNvZGVyIGZvciBwYWNrZWQgcmVsYXRpdmUgcmVsb2NhdGlvbnMuCisvLworLy8gUGFja2VkIHJlbG9jYXRpb25zIGNvbnNpc3Qgb2YgYSBsYXJnZSBudW1iZXIgb2YgcmVsYXRpdmVseSBzbWFsbAorLy8gaW50ZWdlciB2YWx1ZXMuICBFbmNvZGluZyB0aGVzZSBhcyBMRUIxMjggc2F2ZXMgc3BhY2UuCisvLworLy8gRm9yIG1vcmUgb24gTEVCMTI4IHNlZSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xFQjEyOC4KKworI2lmbmRlZiBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfU0xFQjEyOF9IXworI2RlZmluZSBUT09MU19SRUxPQ0FUSU9OX1BBQ0tFUl9TUkNfU0xFQjEyOF9IXworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8dmVjdG9yPgorCisjaW5jbHVkZSAiZWxmX3RyYWl0cy5oIgorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCisvLyBFbmNvZGUgcGFja2VkIHdvcmRzIGFzIGEgc2lnbmVkIExFQjEyOCBieXRlIHN0cmVhbS4KK3RlbXBsYXRlPHR5cGVuYW1lIGludF90PgorY2xhc3MgU2xlYjEyOEVuY29kZXIgeworIHB1YmxpYzoKKyAgLy8gRXhwbGljaXQgKGJ1dCBlbXB0eSkgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IsIGZvciBjaHJvbWl1bS1zdHlsZS4KKyAgU2xlYjEyOEVuY29kZXIoKTsKKyAgflNsZWIxMjhFbmNvZGVyKCk7CisKKyAgLy8gQWRkIGEgdmFsdWUgdG8gdGhlIGVuY29kaW5nIHN0cmVhbS4KKyAgLy8gfHZhbHVlfCBpcyB0aGUgc2lnbmVkIGludCB0byBhZGQuCisgIHZvaWQgRW5xdWV1ZShpbnRfdCB2YWx1ZSk7CisKKyAgLy8gQWRkIGEgdmVjdG9yIG9mIHZhbHVlcyB0byB0aGUgZW5jb2Rpbmcgc3RyZWFtLgorICAvLyB8dmFsdWVzfCBpcyB0aGUgdmVjdG9yIG9mIHNpZ25lZCBpbnRzIHRvIGFkZC4KKyAgdm9pZCBFbnF1ZXVlQWxsKGNvbnN0IHN0ZDo6dmVjdG9yPGludF90PiYgdmFsdWVzKTsKKworICAvLyBSZXRyaWV2ZSB0aGUgZW5jb2RlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmFsdWVzLgorICAvLyB8ZW5jb2Rpbmd8IGlzIHRoZSByZXR1cm5lZCB2ZWN0b3Igb2YgZW5jb2RlZCBkYXRhLgorICB2b2lkIEdldEVuY29kaW5nKHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+KiBlbmNvZGluZykgeyAqZW5jb2RpbmcgPSBlbmNvZGluZ187IH0KKworIHByaXZhdGU6CisgIC8vIEdyb3dhYmxlIHZlY3RvciBob2xkaW5nIHRoZSBlbmNvZGVkIExFQjEyOCBzdHJlYW0uCisgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IGVuY29kaW5nXzsKK307CisKKy8vIERlY29kZSBhIExFQjEyOCBieXRlIHN0cmVhbSB0byBwcm9kdWNlIHBhY2tlZCB3b3Jkcy4KK3RlbXBsYXRlIDx0eXBlbmFtZSBpbnRfdD4KK2NsYXNzIFNsZWIxMjhEZWNvZGVyIHsKKyBwdWJsaWM6CisgIC8vIENyZWF0ZSBhIG5ldyBkZWNvZGVyIGZvciB0aGUgZ2l2ZW4gZW5jb2RlZCBzdHJlYW0uCisgIC8vIHxlbmNvZGluZ3wgaXMgdGhlIHZlY3RvciBvZiBlbmNvZGVkIGRhdGEuCisgIGV4cGxpY2l0IFNsZWIxMjhEZWNvZGVyKGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+JiBlbmNvZGluZywgc2l6ZV90IHN0YXJ0X3dpdGgpOworCisgIC8vIEV4cGxpY2l0IChidXQgZW1wdHkpIGRlc3RydWN0b3IsIGZvciBjaHJvbWl1bS1zdHlsZS4KKyAgflNsZWIxMjhEZWNvZGVyKCk7CisKKyAgLy8gUmV0cmlldmUgdGhlIG5leHQgdmFsdWUgZnJvbSB0aGUgZW5jb2RlZCBzdHJlYW0uCisgIGludF90IERlcXVldWUoKTsKKworICAvLyBSZXRyaWV2ZSBhbGwgcmVtYWluaW5nIHZhbHVlcyBmcm9tIHRoZSBlbmNvZGVkIHN0cmVhbS4KKyAgLy8gfHZhbHVlc3wgaXMgdGhlIHZlY3RvciBvZiBkZWNvZGVkIGRhdGEuCisgIHZvaWQgRGVxdWV1ZUFsbChzdGQ6OnZlY3RvcjxpbnRfdD4qIHZhbHVlcyk7CisKKyBwcml2YXRlOgorICAvLyBFbmNvZGVkIExFQjEyOCBzdHJlYW0uCisgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IGVuY29kaW5nXzsKKworICAvLyBDdXJzb3IgaW5kaWNhdGluZyB0aGUgY3VycmVudCBzdHJlYW0gcmV0cmlldmFsIHBvaW50LgorICBzaXplX3QgY3Vyc29yXzsKK307CisKK30gIC8vIG5hbWVzcGFjZSByZWxvY2F0aW9uX3BhY2tlcgorCisjZW5kaWYgIC8vIFRPT0xTX1JFTE9DQVRJT05fUEFDS0VSX1NSQ19TTEVCMTI4X0hfCmRpZmYgLS1naXQgYS90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvc2xlYjEyOF91bml0dGVzdC5jYyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3NyYy9zbGViMTI4X3VuaXR0ZXN0LmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YTU1M2MKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci9zcmMvc2xlYjEyOF91bml0dGVzdC5jYwpAQCAtMCwwICsxLDE2NiBAQAorLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisjaW5jbHVkZSAic2xlYjEyOC5oIgorCisjaW5jbHVkZSA8dmVjdG9yPgorI2luY2x1ZGUgImVsZl90cmFpdHMuaCIKKyNpbmNsdWRlICJndGVzdC9ndGVzdC5oIgorCituYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIgeworCitURVNUKFNsZWIxMjgsIEVuY29kZXI2NCkgeworICBzdGQ6OnZlY3Rvcjx1aW50NjRfdD4gdmFsdWVzOworICB2YWx1ZXMucHVzaF9iYWNrKDYyNDQ4NVUpOworICB2YWx1ZXMucHVzaF9iYWNrKDBVKTsKKyAgdmFsdWVzLnB1c2hfYmFjaygxVSk7CisgIHZhbHVlcy5wdXNoX2JhY2soNjNVKTsKKyAgdmFsdWVzLnB1c2hfYmFjayg2NFUpOworICB2YWx1ZXMucHVzaF9iYWNrKHN0YXRpY19jYXN0PHVpbnQ2NF90PigtMSkpOworICB2YWx1ZXMucHVzaF9iYWNrKHN0YXRpY19jYXN0PHVpbnQ2NF90PigtNjI0NDg1KSk7CisKKyAgU2xlYjEyOEVuY29kZXI8dWludDY0X3Q+IGVuY29kZXI7CisgIGVuY29kZXIuRW5xdWV1ZUFsbCh2YWx1ZXMpOworCisgIGVuY29kZXIuRW5xdWV1ZSgyMTQ3NDgzNjQ3VSk7CisgIGVuY29kZXIuRW5xdWV1ZShzdGF0aWNfY2FzdDx1aW50NjRfdD4oLTIxNDc0ODM2NDgpKTsKKyAgZW5jb2Rlci5FbnF1ZXVlKDkyMjMzNzIwMzY4NTQ3NzU4MDdVTEwpOworICBlbmNvZGVyLkVucXVldWUoc3RhdGljX2Nhc3Q8dWludDY0X3Q+KC05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgLSAxKSk7CisKKyAgc3RkOjp2ZWN0b3I8dWludDhfdD4gZW5jb2Rpbmc7CisgIGVuY29kZXIuR2V0RW5jb2RpbmcoJmVuY29kaW5nKTsKKworICBFWFBFQ1RfRVEoNDJ1LCBlbmNvZGluZy5zaXplKCkpOworICAvLyA2MjQ0ODUKKyAgRVhQRUNUX0VRKDB4ZTUsIGVuY29kaW5nWzBdKTsKKyAgRVhQRUNUX0VRKDB4OGUsIGVuY29kaW5nWzFdKTsKKyAgRVhQRUNUX0VRKDB4MjYsIGVuY29kaW5nWzJdKTsKKyAgLy8gMAorICBFWFBFQ1RfRVEoMHgwMCwgZW5jb2RpbmdbM10pOworICAvLyAxCisgIEVYUEVDVF9FUSgweDAxLCBlbmNvZGluZ1s0XSk7CisgIC8vIDYzCisgIEVYUEVDVF9FUSgweDNmLCBlbmNvZGluZ1s1XSk7CisgIC8vIDY0CisgIEVYUEVDVF9FUSgweGMwLCBlbmNvZGluZ1s2XSk7CisgIEVYUEVDVF9FUSgweDAwLCBlbmNvZGluZ1s3XSk7CisgIC8vIC0xCisgIEVYUEVDVF9FUSgweDdmLCBlbmNvZGluZ1s4XSk7CisgIC8vIC02MjQ0ODUKKyAgRVhQRUNUX0VRKDB4OWIsIGVuY29kaW5nWzldKTsKKyAgRVhQRUNUX0VRKDB4ZjEsIGVuY29kaW5nWzEwXSk7CisgIEVYUEVDVF9FUSgweDU5LCBlbmNvZGluZ1sxMV0pOworICAvLyAyMTQ3NDgzNjQ3CisgIEVYUEVDVF9FUSgweGZmLCBlbmNvZGluZ1sxMl0pOworICBFWFBFQ1RfRVEoMHhmZiwgZW5jb2RpbmdbMTNdKTsKKyAgRVhQRUNUX0VRKDB4ZmYsIGVuY29kaW5nWzE0XSk7CisgIEVYUEVDVF9FUSgweGZmLCBlbmNvZGluZ1sxNV0pOworICBFWFBFQ1RfRVEoMHgwNywgZW5jb2RpbmdbMTZdKTsKKyAgLy8gLTIxNDc0ODM2NDgKKyAgRVhQRUNUX0VRKDB4ODAsIGVuY29kaW5nWzE3XSk7CisgIEVYUEVDVF9FUSgweDgwLCBlbmNvZGluZ1sxOF0pOworICBFWFBFQ1RfRVEoMHg4MCwgZW5jb2RpbmdbMTldKTsKKyAgRVhQRUNUX0VRKDB4ODAsIGVuY29kaW5nWzIwXSk7CisgIEVYUEVDVF9FUSgweDc4LCBlbmNvZGluZ1syMV0pOworICAvLyA5MjIzMzcyMDM2ODU0Nzc1ODA3CisgIEVYUEVDVF9FUSgweGZmLCBlbmNvZGluZ1syMl0pOworICBFWFBFQ1RfRVEoMHhmZiwgZW5jb2RpbmdbMjNdKTsKKyAgRVhQRUNUX0VRKDB4ZmYsIGVuY29kaW5nWzI0XSk7CisgIEVYUEVDVF9FUSgweGZmLCBlbmNvZGluZ1syNV0pOworICBFWFBFQ1RfRVEoMHhmZiwgZW5jb2RpbmdbMjZdKTsKKyAgRVhQRUNUX0VRKDB4ZmYsIGVuY29kaW5nWzI3XSk7CisgIEVYUEVDVF9FUSgweGZmLCBlbmNvZGluZ1syOF0pOworICBFWFBFQ1RfRVEoMHhmZiwgZW5jb2RpbmdbMjldKTsKKyAgRVhQRUNUX0VRKDB4ZmYsIGVuY29kaW5nWzMwXSk7CisgIEVYUEVDVF9FUSgweDAwLCBlbmNvZGluZ1szMV0pOworICAvLyAtOTIyMzM3MjAzNjg1NDc3NTgwOAorICBFWFBFQ1RfRVEoMHg4MCwgZW5jb2RpbmdbMzJdKTsKKyAgRVhQRUNUX0VRKDB4ODAsIGVuY29kaW5nWzMzXSk7CisgIEVYUEVDVF9FUSgweDgwLCBlbmNvZGluZ1szNF0pOworICBFWFBFQ1RfRVEoMHg4MCwgZW5jb2RpbmdbMzVdKTsKKyAgRVhQRUNUX0VRKDB4ODAsIGVuY29kaW5nWzM2XSk7CisgIEVYUEVDVF9FUSgweDgwLCBlbmNvZGluZ1szN10pOworICBFWFBFQ1RfRVEoMHg4MCwgZW5jb2RpbmdbMzhdKTsKKyAgRVhQRUNUX0VRKDB4ODAsIGVuY29kaW5nWzM5XSk7CisgIEVYUEVDVF9FUSgweDgwLCBlbmNvZGluZ1s0MF0pOworICBFWFBFQ1RfRVEoMHg3ZiwgZW5jb2RpbmdbNDFdKTsKK30KKworVEVTVChTbGViMTI4LCBEZWNvZGVyKSB7CisgIHN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IGVuY29kaW5nOworICAvLyA2MjQ0ODUKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ZTUpOworICBlbmNvZGluZy5wdXNoX2JhY2soMHg4ZSk7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDI2KTsKKyAgLy8gMAorICBlbmNvZGluZy5wdXNoX2JhY2soMHgwMCk7CisgIC8vIDEKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4MDEpOworICAvLyA2MworICBlbmNvZGluZy5wdXNoX2JhY2soMHgzZik7CisgIC8vIDY0CisgIGVuY29kaW5nLnB1c2hfYmFjaygweGMwKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4MDApOworICAvLyAtMQorICBlbmNvZGluZy5wdXNoX2JhY2soMHg3Zik7CisgIC8vIC02MjQ0ODUKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4OWIpOworICBlbmNvZGluZy5wdXNoX2JhY2soMHhmMSk7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDU5KTsKKyAgLy8gMjE0NzQ4MzY0NworICBlbmNvZGluZy5wdXNoX2JhY2soMHhmZik7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweGZmKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ZmYpOworICBlbmNvZGluZy5wdXNoX2JhY2soMHhmZik7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDA3KTsKKyAgLy8gLTIxNDc0ODM2NDgKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ODApOworICBlbmNvZGluZy5wdXNoX2JhY2soMHg4MCk7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDgwKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ODApOworICBlbmNvZGluZy5wdXNoX2JhY2soMHg3OCk7CisgIC8vIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ZmYpOworICBlbmNvZGluZy5wdXNoX2JhY2soMHhmZik7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweGZmKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ZmYpOworICBlbmNvZGluZy5wdXNoX2JhY2soMHhmZik7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweGZmKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ZmYpOworICBlbmNvZGluZy5wdXNoX2JhY2soMHhmZik7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweGZmKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4MDApOworICAvLyAtOTIyMzM3MjAzNjg1NDc3NTgwOAorICBlbmNvZGluZy5wdXNoX2JhY2soMHg4MCk7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDgwKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ODApOworICBlbmNvZGluZy5wdXNoX2JhY2soMHg4MCk7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDgwKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ODApOworICBlbmNvZGluZy5wdXNoX2JhY2soMHg4MCk7CisgIGVuY29kaW5nLnB1c2hfYmFjaygweDgwKTsKKyAgZW5jb2RpbmcucHVzaF9iYWNrKDB4ODApOworICBlbmNvZGluZy5wdXNoX2JhY2soMHg3Zik7CisKKyAgU2xlYjEyOERlY29kZXI8dWludDY0X3Q+IGRlY29kZXIoZW5jb2RpbmcsIDApOworCisgIEVYUEVDVF9FUSg2MjQ0ODVVLCBkZWNvZGVyLkRlcXVldWUoKSk7CisKKyAgc3RkOjp2ZWN0b3I8dWludDY0X3Q+IGRlcXVldWVkOworICBkZWNvZGVyLkRlcXVldWVBbGwoJmRlcXVldWVkKTsKKworICBFWFBFQ1RfRVEoMTBVLCBkZXF1ZXVlZC5zaXplKCkpOworICBFWFBFQ1RfRVEoMFUsIGRlcXVldWVkWzBdKTsKKyAgRVhQRUNUX0VRKDFVLCBkZXF1ZXVlZFsxXSk7CisgIEVYUEVDVF9FUSg2M1UsIGRlcXVldWVkWzJdKTsKKyAgRVhQRUNUX0VRKDY0VSwgZGVxdWV1ZWRbM10pOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDY0X3Q+KC0xKSwgZGVxdWV1ZWRbNF0pOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDY0X3Q+KC02MjQ0ODUpLCBkZXF1ZXVlZFs1XSk7CisgIEVYUEVDVF9FUSgyMTQ3NDgzNjQ3VSwgZGVxdWV1ZWRbNl0pOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDY0X3Q+KC0yMTQ3NDgzNjQ4KSwgZGVxdWV1ZWRbN10pOworICBFWFBFQ1RfRVEoOTIyMzM3MjAzNjg1NDc3NTgwN1VMTCwgZGVxdWV1ZWRbOF0pOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDY0X3Q+KC05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgLSAxKSwgZGVxdWV1ZWRbOV0pOworfQorCit9ICAvLyBuYW1lc3BhY2UgcmVsb2NhdGlvbl9wYWNrZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3Rlc3RfZGF0YS9lbGZfZmlsZV91bml0dGVzdF9yZWxvY3MuY2MgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci90ZXN0X2RhdGEvZWxmX2ZpbGVfdW5pdHRlc3RfcmVsb2NzLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMWZhNzQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci90ZXN0X2RhdGEvZWxmX2ZpbGVfdW5pdHRlc3RfcmVsb2NzLmNjCkBAIC0wLDAgKzEsMTAxNCBAQAorLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvLyBUZXN0IGRhdGEgZm9yIHBhY2tpbmcvdW5wYWNraW5nLiAgV2hlbiBjb21waWxlZCwgY3JlYXRlcyBhIHJ1biBvZgorLy8gcmVsYXRpdmUgcmVsb2NhdGlvbnMuCisvLworLy8gU2VlIGdlbmVyYXRlX2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jcy5zaCBmb3IgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBidWlsZAorLy8gdW5pdCB0ZXN0IGRhdGEgZnJvbSB0aGlzIHNvdXJjZSBmaWxlLgorCitjb25zdCBpbnQgaSA9IDA7CisKKy8vIEdlbmVyYXRvcjoKKy8vIHB5dGhvbiAtYyAnZm9yIGkgaW4geHJhbmdlKDAsMTAwMCk6cHJpbnQiY29uc3Qgdm9pZCogcG9pbnRlcl8lZCA9ICZpOyIlaScKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMDAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTAxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEwMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMDMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTA0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEwNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMDYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTA3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEwOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMDkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTEwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzExMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTEzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzExNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTE2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzExNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTE5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEyMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMjEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTIyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEyMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMjQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTI1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEyNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMjcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTI4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEyOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMzAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTMxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEzMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMzMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTM0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEzNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMzYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTM3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzEzOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xMzkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTQwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE0MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNDIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTQzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE0NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNDUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTQ2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE0NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNDggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTQ5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE1MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTUyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE1MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTU1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE1NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTU4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE1OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNjAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTYxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE2MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNjMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTY0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE2NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNjYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTY3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE2OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNjkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTcwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE3MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTczID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE3NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTc2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE3NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xNzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTc5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE4MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xODEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTgyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE4MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xODQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTg1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE4NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xODcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTg4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE4OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xOTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTkxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE5MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xOTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTk0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE5NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xOTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMTk3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzE5OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8xOTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjAwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIwMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMDIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjAzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIwNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMDUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjA2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIwNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMDggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjA5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIxMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjEyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIxMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjE1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIxNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjE4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIxOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMjAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjIxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIyMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMjMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjI0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIyNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMjYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjI3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIyOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMjkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjMwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIzMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjMzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIzNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjM2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzIzNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yMzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjM5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI0MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNDEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjQyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI0MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNDQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjQ1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI0NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNDcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjQ4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI0OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjUxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI1MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjU0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI1NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjU3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI1OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjYwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI2MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNjIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjYzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI2NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNjUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjY2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI2NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNjggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjY5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI3MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNzEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjcyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI3MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNzQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjc1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI3NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yNzcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjc4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI3OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yODAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjgxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI4MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yODMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjg0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI4NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yODYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjg3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI4OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yODkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjkwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI5MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yOTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjkzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI5NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yOTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjk2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzI5NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8yOTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMjk5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMwMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMDEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzAyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMwMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMDQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzA1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMwNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMDcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzA4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMwOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzExID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMxMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzE0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMxNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzE3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMxOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzIwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMyMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMjIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzIzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMyNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMjUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzI2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMyNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMjggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzI5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMzMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMzEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzMyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMzMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMzQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzM1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMzNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zMzcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzM4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzMzOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNDAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzQxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM0MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNDMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzQ0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM0NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNDYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzQ3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM0OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNDkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzUwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM1MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzUzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM1NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzU2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM1NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzU5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM2MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNjEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzYyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM2MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNjQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzY1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM2NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNjcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzY4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM2OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNzAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzcxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM3MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNzMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzc0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM3NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNzYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzc3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM3OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zNzkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzgwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM4MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zODIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzgzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM4NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zODUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzg2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM4NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zODggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzg5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM5MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zOTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzkyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM5MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zOTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzk1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM5NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl8zOTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfMzk4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzM5OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MDAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDAxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQwMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MDMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDA0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQwNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MDYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDA3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQwOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MDkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDEwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQxMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDEzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQxNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDE2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQxNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDE5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQyMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MjEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDIyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQyMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MjQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDI1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQyNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MjcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDI4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQyOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MzAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDMxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQzMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MzMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDM0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQzNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MzYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDM3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQzOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80MzkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDQwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ0MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NDIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDQzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ0NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NDUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDQ2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ0NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NDggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDQ5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ1MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDUyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ1MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDU1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ1NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDU4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ1OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NjAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDYxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ2MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NjMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDY0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ2NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NjYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDY3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ2OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NjkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDcwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ3MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDczID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ3NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDc2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ3NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80NzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDc5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ4MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80ODEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDgyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ4MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80ODQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDg1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ4NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80ODcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDg4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ4OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80OTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDkxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ5MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80OTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDk0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ5NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80OTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNDk3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzQ5OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl80OTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTAwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUwMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MDIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTAzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUwNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MDUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTA2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUwNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MDggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTA5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUxMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTEyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUxMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTE1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUxNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTE4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUxOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MjAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTIxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUyMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MjMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTI0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUyNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MjYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTI3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUyOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MjkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTMwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUzMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTMzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUzNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTM2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzUzNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81MzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTM5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU0MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NDEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTQyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU0MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NDQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTQ1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU0NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NDcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTQ4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU0OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTUxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU1MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTU0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU1NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTU3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU1OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTYwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU2MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NjIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTYzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU2NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NjUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTY2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU2NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NjggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTY5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU3MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NzEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTcyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU3MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NzQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTc1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU3NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81NzcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTc4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU3OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81ODAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTgxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU4MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81ODMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTg0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU4NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81ODYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTg3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU4OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81ODkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTkwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU5MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81OTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTkzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU5NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81OTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTk2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzU5NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl81OTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNTk5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYwMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MDEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjAyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYwMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MDQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjA1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYwNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MDcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjA4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYwOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjExID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYxMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjE0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYxNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjE3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYxOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjIwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYyMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MjIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjIzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYyNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MjUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjI2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYyNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MjggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjI5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYzMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MzEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjMyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYzMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MzQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjM1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYzNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82MzcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjM4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzYzOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NDAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjQxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY0MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NDMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjQ0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY0NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NDYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjQ3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY0OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NDkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjUwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY1MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjUzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY1NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjU2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY1NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjU5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY2MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NjEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjYyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY2MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NjQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjY1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY2NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NjcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjY4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY2OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NzAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjcxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY3MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NzMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjc0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY3NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NzYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjc3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY3OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82NzkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjgwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY4MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82ODIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjgzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY4NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82ODUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjg2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY4NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82ODggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjg5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY5MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82OTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjkyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY5MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82OTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjk1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY5NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl82OTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNjk4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzY5OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MDAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzAxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcwMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MDMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzA0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcwNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MDYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzA3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcwOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MDkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzEwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcxMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzEzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcxNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzE2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcxNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzE5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcyMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MjEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzIyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcyMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MjQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzI1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcyNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MjcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzI4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzcyOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MzAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzMxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzczMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MzMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzM0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzczNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MzYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzM3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzczOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83MzkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzQwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc0MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NDIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzQzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc0NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NDUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzQ2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc0NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NDggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzQ5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc1MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzUyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc1MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzU1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc1NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzU4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc1OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NjAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzYxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc2MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NjMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzY0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc2NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NjYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzY3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc2OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NjkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzcwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc3MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzczID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc3NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzc2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc3NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83NzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzc5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc4MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83ODEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzgyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc4MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83ODQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzg1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc4NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83ODcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzg4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc4OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83OTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzkxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc5MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83OTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzk0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc5NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83OTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfNzk3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzc5OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl83OTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODAwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgwMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MDIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODAzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgwNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MDUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODA2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgwNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MDggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODA5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgxMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODEyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgxMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODE1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgxNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODE4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgxOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MjAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODIxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgyMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MjMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODI0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgyNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MjYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODI3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgyOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MjkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODMwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgzMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MzIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODMzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgzNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MzUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODM2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzgzNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84MzggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODM5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg0MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NDEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODQyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg0MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NDQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODQ1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg0NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NDcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODQ4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg0OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODUxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg1MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODU0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg1NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODU3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg1OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODYwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg2MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NjIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODYzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg2NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NjUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODY2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg2NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NjggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODY5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg3MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NzEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODcyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg3MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NzQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODc1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg3NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84NzcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODc4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg3OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84ODAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODgxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg4MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84ODMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODg0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg4NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84ODYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODg3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg4OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84ODkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODkwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg5MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84OTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODkzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg5NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84OTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODk2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzg5NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl84OTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfODk5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkwMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MDEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTAyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkwMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MDQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTA1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkwNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MDcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTA4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkwOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MTAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTExID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkxMiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MTMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTE0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkxNSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MTYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTE3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkxOCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MTkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTIwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkyMSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MjIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTIzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkyNCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MjUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTI2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkyNyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MjggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTI5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkzMCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MzEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTMyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkzMyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MzQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTM1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkzNiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85MzcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTM4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzkzOSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NDAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTQxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk0MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NDMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTQ0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk0NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NDYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTQ3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk0OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NDkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTUwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk1MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NTIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTUzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk1NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NTUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTU2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk1NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NTggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTU5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk2MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NjEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTYyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk2MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NjQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTY1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk2NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NjcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTY4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk2OSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NzAgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTcxID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk3MiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NzMgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTc0ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk3NSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NzYgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTc3ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk3OCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85NzkgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTgwID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk4MSA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85ODIgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTgzID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk4NCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85ODUgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTg2ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk4NyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85ODggPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTg5ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk5MCA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85OTEgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTkyID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk5MyA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85OTQgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTk1ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk5NiA9ICZpOworY29uc3Qgdm9pZCogcG9pbnRlcl85OTcgPSAmaTsKK2NvbnN0IHZvaWQqIHBvaW50ZXJfOTk4ID0gJmk7Citjb25zdCB2b2lkKiBwb2ludGVyXzk5OSA9ICZpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvdGVzdF9kYXRhL2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm0zMi5zbyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3Rlc3RfZGF0YS9lbGZfZmlsZV91bml0dGVzdF9yZWxvY3NfYXJtMzIuc28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmNlNmQwYwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3Rlc3RfZGF0YS9lbGZfZmlsZV91bml0dGVzdF9yZWxvY3NfYXJtMzIuc28KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvdGVzdF9kYXRhL2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm0zMl9wYWNrZWQuc28gYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci90ZXN0X2RhdGEvZWxmX2ZpbGVfdW5pdHRlc3RfcmVsb2NzX2FybTMyX3BhY2tlZC5zbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YWMyZWVmCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvdGVzdF9kYXRhL2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm0zMl9wYWNrZWQuc28KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvdGVzdF9kYXRhL2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm02NC5zbyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3Rlc3RfZGF0YS9lbGZfZmlsZV91bml0dGVzdF9yZWxvY3NfYXJtNjQuc28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTQ1YjQ1MAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3JlbG9jYXRpb25fcGFja2VyL3Rlc3RfZGF0YS9lbGZfZmlsZV91bml0dGVzdF9yZWxvY3NfYXJtNjQuc28KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvdGVzdF9kYXRhL2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm02NF9wYWNrZWQuc28gYi90b29scy9yZWxvY2F0aW9uX3BhY2tlci90ZXN0X2RhdGEvZWxmX2ZpbGVfdW5pdHRlc3RfcmVsb2NzX2FybTY0X3BhY2tlZC5zbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMmIwMDM5Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvcmVsb2NhdGlvbl9wYWNrZXIvdGVzdF9kYXRhL2VsZl9maWxlX3VuaXR0ZXN0X3JlbG9jc19hcm02NF9wYWNrZWQuc28KQmluYXJ5IGZpbGVzIGRpZmZlcgo=